
import { createRequire as _createRequire } from 'module';
import { fileURLToPath as _fileURLToPath } from 'url';
import { dirname as _dirname } from 'path';
const __filename = _fileURLToPath(import.meta.url);
const __dirname = _dirname(__filename);
const _originalRequire = _createRequire(import.meta.url);
const require = (moduleName) => {
  if (moduleName === 'pako') return global.pako;
  return _originalRequire(moduleName);
};

import { createRequire } from "node:module";
import crypto$1, { createHash } from "crypto";
import path, { join, sep } from "path";
import url, { fileURLToPath, pathToFileURL } from "url";
import fs, { access, constants, createReadStream, createWriteStream, existsSync, mkdirSync, readFileSync, unlinkSync, watch, writeFileSync } from "fs";
import fs$1, { mkdir, open, readFile, rename, stat, unlink, writeFile } from "fs/promises";
import { exec, execFile } from "child_process";
import http from "http";
import https from "https";
import { EventEmitter } from "events";
import stream, { PassThrough, Readable, Writable } from "stream";
import * as realZlib from "zlib";
import zlib, { createGzip } from "zlib";
import { Buffer as Buffer$1 } from "buffer";
import vm from "vm";
import assert from "assert";
import { EventEmitter as EventEmitter$1 } from "node:events";
import Stream, { Transform, Writable as Writable$1, finished } from "node:stream";
import { StringDecoder } from "node:string_decoder";
import util, { TextDecoder as TextDecoder$1, promisify } from "util";
import process$1 from "node:process";
import os from "node:os";
import tty from "node:tty";
import util$1 from "node:util";
import { createRequire as createRequire$1 } from "module";
import { setTimeout as setTimeout$1 } from "timers";
import { pipeline } from "stream/promises";
import diagnosticsChannel from "diagnostics_channel";

//#region \0rolldown/runtime.js
var __create = Object.create;
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", {
	value,
	configurable: true
});
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __esm = (fn, res) => function() {
	return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
};
var __esmMin = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
var __commonJS = (cb, mod) => function() {
	return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
var __exportAll = (all, no_symbols) => {
	let target = {};
	for (var name in all) {
		__defProp(target, name, {
			get: all[name],
			enumerable: true
		});
	}
	if (!no_symbols) {
		__defProp(target, Symbol.toStringTag, { value: "Module" });
	}
	return target;
};
var __copyProps = (to, from, except, desc) => {
	if (from && typeof from === "object" || typeof from === "function") {
		for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
			key = keys[i];
			if (!__hasOwnProp.call(to, key) && key !== except) {
				__defProp(to, key, {
					get: ((k) => from[k]).bind(null, key),
					enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
				});
			}
		}
	}
	return to;
};
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
	value: mod,
	enumerable: true
}) : target, mod));
var __toCommonJS = (mod) => __hasOwnProp.call(mod, "module.exports") ? mod["module.exports"] : __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var __toBinaryNode = (base64) => new Uint8Array(Buffer.from(base64, "base64"));
var __toBinary = /* @__PURE__ */ (() => {
	var table = new Uint8Array(128);
	for (var i = 0; i < 64; i++) {
		table[i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i * 4 - 205] = i;
	}
	return (base64) => {
		var n = base64.length, bytes = new Uint8Array((n - (base64[n - 1] == "=") - (base64[n - 2] == "=")) * 3 / 4 | 0);
		for (var i = 0, j = 0; i < n;) {
			var c0 = table[base64.charCodeAt(i++)], c1 = table[base64.charCodeAt(i++)];
			var c2 = table[base64.charCodeAt(i++)], c3 = table[base64.charCodeAt(i++)];
			bytes[j++] = c0 << 2 | c1 >> 4;
			bytes[j++] = c1 << 4 | c2 >> 2;
			bytes[j++] = c2 << 6 | c3;
		}
		return bytes;
	};
})();
var __require = /* @__PURE__ */ createRequire(import.meta.url);

//#endregion
//#region ../libs_drpy/pako.min.js
var require_pako_min = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	!function(t) {
		if ("object" == typeof exports && "undefined" != typeof module) module.exports = t();
		else if ("function" == typeof define && define.amd) define([], t);
		else {
			("undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this).pako = t();
		}
	}(function() {
		return function r(s, o, l) {
			function h(e, t) {
				if (!o[e]) {
					if (!s[e]) {
						var a = "function" == typeof __require && __require;
						if (!t && a) return a(e, !0);
						if (d) return d(e, !0);
						var i = new Error("Cannot find module '" + e + "'");
						throw i.code = "MODULE_NOT_FOUND", i;
					}
					var n = o[e] = { exports: {} };
					s[e][0].call(n.exports, function(t) {
						return h(s[e][1][t] || t);
					}, n, n.exports, r, s, o, l);
				}
				return o[e].exports;
			}
			for (var d = "function" == typeof __require && __require, t = 0; t < l.length; t++) h(l[t]);
			return h;
		}({
			1: [function(t, e, a) {
				"use strict";
				var s = t("./zlib/deflate"), o = t("./utils/common"), l = t("./utils/strings"), n = t("./zlib/messages"), r = t("./zlib/zstream"), h = Object.prototype.toString, d = 0, f = -1, _ = 0, u = 8;
				function c(t) {
					if (!(this instanceof c)) return new c(t);
					this.options = o.assign({
						level: f,
						method: u,
						chunkSize: 16384,
						windowBits: 15,
						memLevel: 8,
						strategy: _,
						to: ""
					}, t || {});
					var e = this.options;
					e.raw && 0 < e.windowBits ? e.windowBits = -e.windowBits : e.gzip && 0 < e.windowBits && e.windowBits < 16 && (e.windowBits += 16), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new r(), this.strm.avail_out = 0;
					var a = s.deflateInit2(this.strm, e.level, e.method, e.windowBits, e.memLevel, e.strategy);
					if (a !== d) throw new Error(n[a]);
					if (e.header && s.deflateSetHeader(this.strm, e.header), e.dictionary) {
						var i;
						if (i = "string" == typeof e.dictionary ? l.string2buf(e.dictionary) : "[object ArrayBuffer]" === h.call(e.dictionary) ? new Uint8Array(e.dictionary) : e.dictionary, (a = s.deflateSetDictionary(this.strm, i)) !== d) throw new Error(n[a]);
						this._dict_set = !0;
					}
				}
				function i(t, e) {
					var a = new c(e);
					if (a.push(t, !0), a.err) throw a.msg || n[a.err];
					return a.result;
				}
				c.prototype.push = function(t, e) {
					var a, i, n = this.strm, r = this.options.chunkSize;
					if (this.ended) return !1;
					i = e === ~~e ? e : !0 === e ? 4 : 0, "string" == typeof t ? n.input = l.string2buf(t) : "[object ArrayBuffer]" === h.call(t) ? n.input = new Uint8Array(t) : n.input = t, n.next_in = 0, n.avail_in = n.input.length;
					do {
						if (0 === n.avail_out && (n.output = new o.Buf8(r), n.next_out = 0, n.avail_out = r), 1 !== (a = s.deflate(n, i)) && a !== d) return this.onEnd(a), !(this.ended = !0);
						0 !== n.avail_out && (0 !== n.avail_in || 4 !== i && 2 !== i) || ("string" === this.options.to ? this.onData(l.buf2binstring(o.shrinkBuf(n.output, n.next_out))) : this.onData(o.shrinkBuf(n.output, n.next_out)));
					} while ((0 < n.avail_in || 0 === n.avail_out) && 1 !== a);
					return 4 === i ? (a = s.deflateEnd(this.strm), this.onEnd(a), this.ended = !0, a === d) : 2 !== i || (this.onEnd(d), !(n.avail_out = 0));
				}, c.prototype.onData = function(t) {
					this.chunks.push(t);
				}, c.prototype.onEnd = function(t) {
					t === d && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = o.flattenChunks(this.chunks)), this.chunks = [], this.err = t, this.msg = this.strm.msg;
				}, a.Deflate = c, a.deflate = i, a.deflateRaw = function(t, e) {
					return (e = e || {}).raw = !0, i(t, e);
				}, a.gzip = function(t, e) {
					return (e = e || {}).gzip = !0, i(t, e);
				};
			}, {
				"./utils/common": 3,
				"./utils/strings": 4,
				"./zlib/deflate": 8,
				"./zlib/messages": 13,
				"./zlib/zstream": 15
			}],
			2: [function(t, e, a) {
				"use strict";
				var f = t("./zlib/inflate"), _ = t("./utils/common"), u = t("./utils/strings"), c = t("./zlib/constants"), i = t("./zlib/messages"), n = t("./zlib/zstream"), r = t("./zlib/gzheader"), b = Object.prototype.toString;
				function s(t) {
					if (!(this instanceof s)) return new s(t);
					this.options = _.assign({
						chunkSize: 16384,
						windowBits: 0,
						to: ""
					}, t || {});
					var e = this.options;
					e.raw && 0 <= e.windowBits && e.windowBits < 16 && (e.windowBits = -e.windowBits, 0 === e.windowBits && (e.windowBits = -15)), !(0 <= e.windowBits && e.windowBits < 16) || t && t.windowBits || (e.windowBits += 32), 15 < e.windowBits && e.windowBits < 48 && 0 == (15 & e.windowBits) && (e.windowBits |= 15), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new n(), this.strm.avail_out = 0;
					var a = f.inflateInit2(this.strm, e.windowBits);
					if (a !== c.Z_OK) throw new Error(i[a]);
					if (this.header = new r(), f.inflateGetHeader(this.strm, this.header), e.dictionary && ("string" == typeof e.dictionary ? e.dictionary = u.string2buf(e.dictionary) : "[object ArrayBuffer]" === b.call(e.dictionary) && (e.dictionary = new Uint8Array(e.dictionary)), e.raw && (a = f.inflateSetDictionary(this.strm, e.dictionary)) !== c.Z_OK)) throw new Error(i[a]);
				}
				function o(t, e) {
					var a = new s(e);
					if (a.push(t, !0), a.err) throw a.msg || i[a.err];
					return a.result;
				}
				s.prototype.push = function(t, e) {
					var a, i, n, r, s, o = this.strm, l = this.options.chunkSize, h = this.options.dictionary, d = !1;
					if (this.ended) return !1;
					i = e === ~~e ? e : !0 === e ? c.Z_FINISH : c.Z_NO_FLUSH, "string" == typeof t ? o.input = u.binstring2buf(t) : "[object ArrayBuffer]" === b.call(t) ? o.input = new Uint8Array(t) : o.input = t, o.next_in = 0, o.avail_in = o.input.length;
					do {
						if (0 === o.avail_out && (o.output = new _.Buf8(l), o.next_out = 0, o.avail_out = l), (a = f.inflate(o, c.Z_NO_FLUSH)) === c.Z_NEED_DICT && h && (a = f.inflateSetDictionary(this.strm, h)), a === c.Z_BUF_ERROR && !0 === d && (a = c.Z_OK, d = !1), a !== c.Z_STREAM_END && a !== c.Z_OK) return this.onEnd(a), !(this.ended = !0);
						o.next_out && (0 !== o.avail_out && a !== c.Z_STREAM_END && (0 !== o.avail_in || i !== c.Z_FINISH && i !== c.Z_SYNC_FLUSH) || ("string" === this.options.to ? (n = u.utf8border(o.output, o.next_out), r = o.next_out - n, s = u.buf2string(o.output, n), o.next_out = r, o.avail_out = l - r, r && _.arraySet(o.output, o.output, n, r, 0), this.onData(s)) : this.onData(_.shrinkBuf(o.output, o.next_out)))), 0 === o.avail_in && 0 === o.avail_out && (d = !0);
					} while ((0 < o.avail_in || 0 === o.avail_out) && a !== c.Z_STREAM_END);
					return a === c.Z_STREAM_END && (i = c.Z_FINISH), i === c.Z_FINISH ? (a = f.inflateEnd(this.strm), this.onEnd(a), this.ended = !0, a === c.Z_OK) : i !== c.Z_SYNC_FLUSH || (this.onEnd(c.Z_OK), !(o.avail_out = 0));
				}, s.prototype.onData = function(t) {
					this.chunks.push(t);
				}, s.prototype.onEnd = function(t) {
					t === c.Z_OK && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = _.flattenChunks(this.chunks)), this.chunks = [], this.err = t, this.msg = this.strm.msg;
				}, a.Inflate = s, a.inflate = o, a.inflateRaw = function(t, e) {
					return (e = e || {}).raw = !0, o(t, e);
				}, a.ungzip = o;
			}, {
				"./utils/common": 3,
				"./utils/strings": 4,
				"./zlib/constants": 6,
				"./zlib/gzheader": 9,
				"./zlib/inflate": 11,
				"./zlib/messages": 13,
				"./zlib/zstream": 15
			}],
			3: [function(t, e, a) {
				"use strict";
				var i = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Int32Array;
				a.assign = function(t) {
					for (var e, a, i = Array.prototype.slice.call(arguments, 1); i.length;) {
						var n = i.shift();
						if (n) {
							if ("object" != typeof n) throw new TypeError(n + "must be non-object");
							for (var r in n) e = n, a = r, Object.prototype.hasOwnProperty.call(e, a) && (t[r] = n[r]);
						}
					}
					return t;
				}, a.shrinkBuf = function(t, e) {
					return t.length === e ? t : t.subarray ? t.subarray(0, e) : (t.length = e, t);
				};
				var n = {
					arraySet: function(t, e, a, i, n) {
						if (e.subarray && t.subarray) t.set(e.subarray(a, a + i), n);
						else for (var r = 0; r < i; r++) t[n + r] = e[a + r];
					},
					flattenChunks: function(t) {
						var e, a, i, n, r, s;
						for (e = i = 0, a = t.length; e < a; e++) i += t[e].length;
						for (s = new Uint8Array(i), e = n = 0, a = t.length; e < a; e++) r = t[e], s.set(r, n), n += r.length;
						return s;
					}
				}, r = {
					arraySet: function(t, e, a, i, n) {
						for (var r = 0; r < i; r++) t[n + r] = e[a + r];
					},
					flattenChunks: function(t) {
						return [].concat.apply([], t);
					}
				};
				a.setTyped = function(t) {
					t ? (a.Buf8 = Uint8Array, a.Buf16 = Uint16Array, a.Buf32 = Int32Array, a.assign(a, n)) : (a.Buf8 = Array, a.Buf16 = Array, a.Buf32 = Array, a.assign(a, r));
				}, a.setTyped(i);
			}, {}],
			4: [function(t, e, a) {
				"use strict";
				var l = t("./common"), n = !0, r = !0;
				try {
					String.fromCharCode.apply(null, [0]);
				} catch (t) {
					n = !1;
				}
				try {
					String.fromCharCode.apply(null, new Uint8Array(1));
				} catch (t) {
					r = !1;
				}
				for (var h = new l.Buf8(256), i = 0; i < 256; i++) h[i] = 252 <= i ? 6 : 248 <= i ? 5 : 240 <= i ? 4 : 224 <= i ? 3 : 192 <= i ? 2 : 1;
				function d(t, e) {
					if (e < 65534 && (t.subarray && r || !t.subarray && n)) return String.fromCharCode.apply(null, l.shrinkBuf(t, e));
					for (var a = "", i = 0; i < e; i++) a += String.fromCharCode(t[i]);
					return a;
				}
				h[254] = h[254] = 1, a.string2buf = function(t) {
					var e, a, i, n, r, s = t.length, o = 0;
					for (n = 0; n < s; n++) 55296 == (64512 & (a = t.charCodeAt(n))) && n + 1 < s && 56320 == (64512 & (i = t.charCodeAt(n + 1))) && (a = 65536 + (a - 55296 << 10) + (i - 56320), n++), o += a < 128 ? 1 : a < 2048 ? 2 : a < 65536 ? 3 : 4;
					for (e = new l.Buf8(o), n = r = 0; r < o; n++) 55296 == (64512 & (a = t.charCodeAt(n))) && n + 1 < s && 56320 == (64512 & (i = t.charCodeAt(n + 1))) && (a = 65536 + (a - 55296 << 10) + (i - 56320), n++), a < 128 ? e[r++] = a : (a < 2048 ? e[r++] = 192 | a >>> 6 : (a < 65536 ? e[r++] = 224 | a >>> 12 : (e[r++] = 240 | a >>> 18, e[r++] = 128 | a >>> 12 & 63), e[r++] = 128 | a >>> 6 & 63), e[r++] = 128 | 63 & a);
					return e;
				}, a.buf2binstring = function(t) {
					return d(t, t.length);
				}, a.binstring2buf = function(t) {
					for (var e = new l.Buf8(t.length), a = 0, i = e.length; a < i; a++) e[a] = t.charCodeAt(a);
					return e;
				}, a.buf2string = function(t, e) {
					var a, i, n, r, s = e || t.length, o = new Array(2 * s);
					for (a = i = 0; a < s;) if ((n = t[a++]) < 128) o[i++] = n;
					else if (4 < (r = h[n])) o[i++] = 65533, a += r - 1;
					else {
						for (n &= 2 === r ? 31 : 3 === r ? 15 : 7; 1 < r && a < s;) n = n << 6 | 63 & t[a++], r--;
						1 < r ? o[i++] = 65533 : n < 65536 ? o[i++] = n : (n -= 65536, o[i++] = 55296 | n >> 10 & 1023, o[i++] = 56320 | 1023 & n);
					}
					return d(o, i);
				}, a.utf8border = function(t, e) {
					var a;
					for ((e = e || t.length) > t.length && (e = t.length), a = e - 1; 0 <= a && 128 == (192 & t[a]);) a--;
					return a < 0 ? e : 0 === a ? e : a + h[t[a]] > e ? a : e;
				};
			}, { "./common": 3 }],
			5: [function(t, e, a) {
				"use strict";
				e.exports = function(t, e, a, i) {
					for (var n = 65535 & t | 0, r = t >>> 16 & 65535 | 0, s = 0; 0 !== a;) {
						for (a -= s = 2e3 < a ? 2e3 : a; r = r + (n = n + e[i++] | 0) | 0, --s;);
						n %= 65521, r %= 65521;
					}
					return n | r << 16 | 0;
				};
			}, {}],
			6: [function(t, e, a) {
				"use strict";
				e.exports = {
					Z_NO_FLUSH: 0,
					Z_PARTIAL_FLUSH: 1,
					Z_SYNC_FLUSH: 2,
					Z_FULL_FLUSH: 3,
					Z_FINISH: 4,
					Z_BLOCK: 5,
					Z_TREES: 6,
					Z_OK: 0,
					Z_STREAM_END: 1,
					Z_NEED_DICT: 2,
					Z_ERRNO: -1,
					Z_STREAM_ERROR: -2,
					Z_DATA_ERROR: -3,
					Z_BUF_ERROR: -5,
					Z_NO_COMPRESSION: 0,
					Z_BEST_SPEED: 1,
					Z_BEST_COMPRESSION: 9,
					Z_DEFAULT_COMPRESSION: -1,
					Z_FILTERED: 1,
					Z_HUFFMAN_ONLY: 2,
					Z_RLE: 3,
					Z_FIXED: 4,
					Z_DEFAULT_STRATEGY: 0,
					Z_BINARY: 0,
					Z_TEXT: 1,
					Z_UNKNOWN: 2,
					Z_DEFLATED: 8
				};
			}, {}],
			7: [function(t, e, a) {
				"use strict";
				var o = function() {
					for (var t, e = [], a = 0; a < 256; a++) {
						t = a;
						for (var i = 0; i < 8; i++) t = 1 & t ? 3988292384 ^ t >>> 1 : t >>> 1;
						e[a] = t;
					}
					return e;
				}();
				e.exports = function(t, e, a, i) {
					var n = o, r = i + a;
					t ^= -1;
					for (var s = i; s < r; s++) t = t >>> 8 ^ n[255 & (t ^ e[s])];
					return -1 ^ t;
				};
			}, {}],
			8: [function(t, e, a) {
				"use strict";
				var l, _ = t("../utils/common"), h = t("./trees"), u = t("./adler32"), c = t("./crc32"), i = t("./messages"), d = 0, f = 4, b = 0, g = -2, m = -1, w = 4, n = 2, p = 8, v = 9, r = 286, s = 30, o = 19, k = 2 * r + 1, y = 15, x = 3, z = 258, B = z + x + 1, S = 42, E = 113, A = 1, Z = 2, R = 3, C = 4;
				function N(t, e) {
					return t.msg = i[e], e;
				}
				function O(t) {
					return (t << 1) - (4 < t ? 9 : 0);
				}
				function D(t) {
					for (var e = t.length; 0 <= --e;) t[e] = 0;
				}
				function I(t) {
					var e = t.state, a = e.pending;
					a > t.avail_out && (a = t.avail_out), 0 !== a && (_.arraySet(t.output, e.pending_buf, e.pending_out, a, t.next_out), t.next_out += a, e.pending_out += a, t.total_out += a, t.avail_out -= a, e.pending -= a, 0 === e.pending && (e.pending_out = 0));
				}
				function U(t, e) {
					h._tr_flush_block(t, 0 <= t.block_start ? t.block_start : -1, t.strstart - t.block_start, e), t.block_start = t.strstart, I(t.strm);
				}
				function T(t, e) {
					t.pending_buf[t.pending++] = e;
				}
				function F(t, e) {
					t.pending_buf[t.pending++] = e >>> 8 & 255, t.pending_buf[t.pending++] = 255 & e;
				}
				function L(t, e) {
					var a, i, n = t.max_chain_length, r = t.strstart, s = t.prev_length, o = t.nice_match, l = t.strstart > t.w_size - B ? t.strstart - (t.w_size - B) : 0, h = t.window, d = t.w_mask, f = t.prev, _ = t.strstart + z, u = h[r + s - 1], c = h[r + s];
					t.prev_length >= t.good_match && (n >>= 2), o > t.lookahead && (o = t.lookahead);
					do {
						if (h[(a = e) + s] === c && h[a + s - 1] === u && h[a] === h[r] && h[++a] === h[r + 1]) {
							r += 2, a++;
							do {} while (h[++r] === h[++a] && h[++r] === h[++a] && h[++r] === h[++a] && h[++r] === h[++a] && h[++r] === h[++a] && h[++r] === h[++a] && h[++r] === h[++a] && h[++r] === h[++a] && r < _);
							if (i = z - (_ - r), r = _ - z, s < i) {
								if (t.match_start = e, o <= (s = i)) break;
								u = h[r + s - 1], c = h[r + s];
							}
						}
					} while ((e = f[e & d]) > l && 0 != --n);
					return s <= t.lookahead ? s : t.lookahead;
				}
				function H(t) {
					var e, a, i, n, r, s, o, l, h, d, f = t.w_size;
					do {
						if (n = t.window_size - t.lookahead - t.strstart, t.strstart >= f + (f - B)) {
							for (_.arraySet(t.window, t.window, f, f, 0), t.match_start -= f, t.strstart -= f, t.block_start -= f, e = a = t.hash_size; i = t.head[--e], t.head[e] = f <= i ? i - f : 0, --a;);
							for (e = a = f; i = t.prev[--e], t.prev[e] = f <= i ? i - f : 0, --a;);
							n += f;
						}
						if (0 === t.strm.avail_in) break;
						if (s = t.strm, o = t.window, l = t.strstart + t.lookahead, h = n, d = void 0, d = s.avail_in, h < d && (d = h), a = 0 === d ? 0 : (s.avail_in -= d, _.arraySet(o, s.input, s.next_in, d, l), 1 === s.state.wrap ? s.adler = u(s.adler, o, d, l) : 2 === s.state.wrap && (s.adler = c(s.adler, o, d, l)), s.next_in += d, s.total_in += d, d), t.lookahead += a, t.lookahead + t.insert >= x) for (r = t.strstart - t.insert, t.ins_h = t.window[r], t.ins_h = (t.ins_h << t.hash_shift ^ t.window[r + 1]) & t.hash_mask; t.insert && (t.ins_h = (t.ins_h << t.hash_shift ^ t.window[r + x - 1]) & t.hash_mask, t.prev[r & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = r, r++, t.insert--, !(t.lookahead + t.insert < x)););
					} while (t.lookahead < B && 0 !== t.strm.avail_in);
				}
				function j(t, e) {
					for (var a, i;;) {
						if (t.lookahead < B) {
							if (H(t), t.lookahead < B && e === d) return A;
							if (0 === t.lookahead) break;
						}
						if (a = 0, t.lookahead >= x && (t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + x - 1]) & t.hash_mask, a = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart), 0 !== a && t.strstart - a <= t.w_size - B && (t.match_length = L(t, a)), t.match_length >= x) if (i = h._tr_tally(t, t.strstart - t.match_start, t.match_length - x), t.lookahead -= t.match_length, t.match_length <= t.max_lazy_match && t.lookahead >= x) {
							for (t.match_length--; t.strstart++, t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + x - 1]) & t.hash_mask, a = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart, 0 != --t.match_length;);
							t.strstart++;
						} else t.strstart += t.match_length, t.match_length = 0, t.ins_h = t.window[t.strstart], t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + 1]) & t.hash_mask;
						else i = h._tr_tally(t, 0, t.window[t.strstart]), t.lookahead--, t.strstart++;
						if (i && (U(t, !1), 0 === t.strm.avail_out)) return A;
					}
					return t.insert = t.strstart < x - 1 ? t.strstart : x - 1, e === f ? (U(t, !0), 0 === t.strm.avail_out ? R : C) : t.last_lit && (U(t, !1), 0 === t.strm.avail_out) ? A : Z;
				}
				function K(t, e) {
					for (var a, i, n;;) {
						if (t.lookahead < B) {
							if (H(t), t.lookahead < B && e === d) return A;
							if (0 === t.lookahead) break;
						}
						if (a = 0, t.lookahead >= x && (t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + x - 1]) & t.hash_mask, a = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart), t.prev_length = t.match_length, t.prev_match = t.match_start, t.match_length = x - 1, 0 !== a && t.prev_length < t.max_lazy_match && t.strstart - a <= t.w_size - B && (t.match_length = L(t, a), t.match_length <= 5 && (1 === t.strategy || t.match_length === x && 4096 < t.strstart - t.match_start) && (t.match_length = x - 1)), t.prev_length >= x && t.match_length <= t.prev_length) {
							for (n = t.strstart + t.lookahead - x, i = h._tr_tally(t, t.strstart - 1 - t.prev_match, t.prev_length - x), t.lookahead -= t.prev_length - 1, t.prev_length -= 2; ++t.strstart <= n && (t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + x - 1]) & t.hash_mask, a = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart), 0 != --t.prev_length;);
							if (t.match_available = 0, t.match_length = x - 1, t.strstart++, i && (U(t, !1), 0 === t.strm.avail_out)) return A;
						} else if (t.match_available) {
							if ((i = h._tr_tally(t, 0, t.window[t.strstart - 1])) && U(t, !1), t.strstart++, t.lookahead--, 0 === t.strm.avail_out) return A;
						} else t.match_available = 1, t.strstart++, t.lookahead--;
					}
					return t.match_available && (i = h._tr_tally(t, 0, t.window[t.strstart - 1]), t.match_available = 0), t.insert = t.strstart < x - 1 ? t.strstart : x - 1, e === f ? (U(t, !0), 0 === t.strm.avail_out ? R : C) : t.last_lit && (U(t, !1), 0 === t.strm.avail_out) ? A : Z;
				}
				function M(t, e, a, i, n) {
					this.good_length = t, this.max_lazy = e, this.nice_length = a, this.max_chain = i, this.func = n;
				}
				function P() {
					this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = p, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new _.Buf16(2 * k), this.dyn_dtree = new _.Buf16(2 * (2 * s + 1)), this.bl_tree = new _.Buf16(2 * (2 * o + 1)), D(this.dyn_ltree), D(this.dyn_dtree), D(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new _.Buf16(y + 1), this.heap = new _.Buf16(2 * r + 1), D(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new _.Buf16(2 * r + 1), D(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0;
				}
				function Y(t) {
					var e;
					return t && t.state ? (t.total_in = t.total_out = 0, t.data_type = n, (e = t.state).pending = 0, e.pending_out = 0, e.wrap < 0 && (e.wrap = -e.wrap), e.status = e.wrap ? S : E, t.adler = 2 === e.wrap ? 0 : 1, e.last_flush = d, h._tr_init(e), b) : N(t, g);
				}
				function q(t) {
					var e, a = Y(t);
					return a === b && ((e = t.state).window_size = 2 * e.w_size, D(e.head), e.max_lazy_match = l[e.level].max_lazy, e.good_match = l[e.level].good_length, e.nice_match = l[e.level].nice_length, e.max_chain_length = l[e.level].max_chain, e.strstart = 0, e.block_start = 0, e.lookahead = 0, e.insert = 0, e.match_length = e.prev_length = x - 1, e.match_available = 0, e.ins_h = 0), a;
				}
				function G(t, e, a, i, n, r) {
					if (!t) return g;
					var s = 1;
					if (e === m && (e = 6), i < 0 ? (s = 0, i = -i) : 15 < i && (s = 2, i -= 16), n < 1 || v < n || a !== p || i < 8 || 15 < i || e < 0 || 9 < e || r < 0 || w < r) return N(t, g);
					8 === i && (i = 9);
					var o = new P();
					return (t.state = o).strm = t, o.wrap = s, o.gzhead = null, o.w_bits = i, o.w_size = 1 << o.w_bits, o.w_mask = o.w_size - 1, o.hash_bits = n + 7, o.hash_size = 1 << o.hash_bits, o.hash_mask = o.hash_size - 1, o.hash_shift = ~~((o.hash_bits + x - 1) / x), o.window = new _.Buf8(2 * o.w_size), o.head = new _.Buf16(o.hash_size), o.prev = new _.Buf16(o.w_size), o.lit_bufsize = 1 << n + 6, o.pending_buf_size = 4 * o.lit_bufsize, o.pending_buf = new _.Buf8(o.pending_buf_size), o.d_buf = 1 * o.lit_bufsize, o.l_buf = 3 * o.lit_bufsize, o.level = e, o.strategy = r, o.method = a, q(t);
				}
				l = [
					new M(0, 0, 0, 0, function(t, e) {
						var a = 65535;
						for (a > t.pending_buf_size - 5 && (a = t.pending_buf_size - 5);;) {
							if (t.lookahead <= 1) {
								if (H(t), 0 === t.lookahead && e === d) return A;
								if (0 === t.lookahead) break;
							}
							t.strstart += t.lookahead, t.lookahead = 0;
							var i = t.block_start + a;
							if ((0 === t.strstart || t.strstart >= i) && (t.lookahead = t.strstart - i, t.strstart = i, U(t, !1), 0 === t.strm.avail_out)) return A;
							if (t.strstart - t.block_start >= t.w_size - B && (U(t, !1), 0 === t.strm.avail_out)) return A;
						}
						return t.insert = 0, e === f ? (U(t, !0), 0 === t.strm.avail_out ? R : C) : (t.strstart > t.block_start && (U(t, !1), t.strm.avail_out), A);
					}),
					new M(4, 4, 8, 4, j),
					new M(4, 5, 16, 8, j),
					new M(4, 6, 32, 32, j),
					new M(4, 4, 16, 16, K),
					new M(8, 16, 32, 32, K),
					new M(8, 16, 128, 128, K),
					new M(8, 32, 128, 256, K),
					new M(32, 128, 258, 1024, K),
					new M(32, 258, 258, 4096, K)
				], a.deflateInit = function(t, e) {
					return G(t, e, p, 15, 8, 0);
				}, a.deflateInit2 = G, a.deflateReset = q, a.deflateResetKeep = Y, a.deflateSetHeader = function(t, e) {
					return t && t.state ? 2 !== t.state.wrap ? g : (t.state.gzhead = e, b) : g;
				}, a.deflate = function(t, e) {
					var a, i, n, r;
					if (!t || !t.state || 5 < e || e < 0) return t ? N(t, g) : g;
					if (i = t.state, !t.output || !t.input && 0 !== t.avail_in || 666 === i.status && e !== f) return N(t, 0 === t.avail_out ? -5 : g);
					if (i.strm = t, a = i.last_flush, i.last_flush = e, i.status === S) if (2 === i.wrap) t.adler = 0, T(i, 31), T(i, 139), T(i, 8), i.gzhead ? (T(i, (i.gzhead.text ? 1 : 0) + (i.gzhead.hcrc ? 2 : 0) + (i.gzhead.extra ? 4 : 0) + (i.gzhead.name ? 8 : 0) + (i.gzhead.comment ? 16 : 0)), T(i, 255 & i.gzhead.time), T(i, i.gzhead.time >> 8 & 255), T(i, i.gzhead.time >> 16 & 255), T(i, i.gzhead.time >> 24 & 255), T(i, 9 === i.level ? 2 : 2 <= i.strategy || i.level < 2 ? 4 : 0), T(i, 255 & i.gzhead.os), i.gzhead.extra && i.gzhead.extra.length && (T(i, 255 & i.gzhead.extra.length), T(i, i.gzhead.extra.length >> 8 & 255)), i.gzhead.hcrc && (t.adler = c(t.adler, i.pending_buf, i.pending, 0)), i.gzindex = 0, i.status = 69) : (T(i, 0), T(i, 0), T(i, 0), T(i, 0), T(i, 0), T(i, 9 === i.level ? 2 : 2 <= i.strategy || i.level < 2 ? 4 : 0), T(i, 3), i.status = E);
					else {
						var s = p + (i.w_bits - 8 << 4) << 8;
						s |= (2 <= i.strategy || i.level < 2 ? 0 : i.level < 6 ? 1 : 6 === i.level ? 2 : 3) << 6, 0 !== i.strstart && (s |= 32), s += 31 - s % 31, i.status = E, F(i, s), 0 !== i.strstart && (F(i, t.adler >>> 16), F(i, 65535 & t.adler)), t.adler = 1;
					}
					if (69 === i.status) if (i.gzhead.extra) {
						for (n = i.pending; i.gzindex < (65535 & i.gzhead.extra.length) && (i.pending !== i.pending_buf_size || (i.gzhead.hcrc && i.pending > n && (t.adler = c(t.adler, i.pending_buf, i.pending - n, n)), I(t), n = i.pending, i.pending !== i.pending_buf_size));) T(i, 255 & i.gzhead.extra[i.gzindex]), i.gzindex++;
						i.gzhead.hcrc && i.pending > n && (t.adler = c(t.adler, i.pending_buf, i.pending - n, n)), i.gzindex === i.gzhead.extra.length && (i.gzindex = 0, i.status = 73);
					} else i.status = 73;
					if (73 === i.status) if (i.gzhead.name) {
						n = i.pending;
						do {
							if (i.pending === i.pending_buf_size && (i.gzhead.hcrc && i.pending > n && (t.adler = c(t.adler, i.pending_buf, i.pending - n, n)), I(t), n = i.pending, i.pending === i.pending_buf_size)) {
								r = 1;
								break;
							}
							T(i, r = i.gzindex < i.gzhead.name.length ? 255 & i.gzhead.name.charCodeAt(i.gzindex++) : 0);
						} while (0 !== r);
						i.gzhead.hcrc && i.pending > n && (t.adler = c(t.adler, i.pending_buf, i.pending - n, n)), 0 === r && (i.gzindex = 0, i.status = 91);
					} else i.status = 91;
					if (91 === i.status) if (i.gzhead.comment) {
						n = i.pending;
						do {
							if (i.pending === i.pending_buf_size && (i.gzhead.hcrc && i.pending > n && (t.adler = c(t.adler, i.pending_buf, i.pending - n, n)), I(t), n = i.pending, i.pending === i.pending_buf_size)) {
								r = 1;
								break;
							}
							T(i, r = i.gzindex < i.gzhead.comment.length ? 255 & i.gzhead.comment.charCodeAt(i.gzindex++) : 0);
						} while (0 !== r);
						i.gzhead.hcrc && i.pending > n && (t.adler = c(t.adler, i.pending_buf, i.pending - n, n)), 0 === r && (i.status = 103);
					} else i.status = 103;
					if (103 === i.status && (i.gzhead.hcrc ? (i.pending + 2 > i.pending_buf_size && I(t), i.pending + 2 <= i.pending_buf_size && (T(i, 255 & t.adler), T(i, t.adler >> 8 & 255), t.adler = 0, i.status = E)) : i.status = E), 0 !== i.pending) {
						if (I(t), 0 === t.avail_out) return i.last_flush = -1, b;
					} else if (0 === t.avail_in && O(e) <= O(a) && e !== f) return N(t, -5);
					if (666 === i.status && 0 !== t.avail_in) return N(t, -5);
					if (0 !== t.avail_in || 0 !== i.lookahead || e !== d && 666 !== i.status) {
						var o = 2 === i.strategy ? function(t, e) {
							for (var a;;) {
								if (0 === t.lookahead && (H(t), 0 === t.lookahead)) {
									if (e === d) return A;
									break;
								}
								if (t.match_length = 0, a = h._tr_tally(t, 0, t.window[t.strstart]), t.lookahead--, t.strstart++, a && (U(t, !1), 0 === t.strm.avail_out)) return A;
							}
							return t.insert = 0, e === f ? (U(t, !0), 0 === t.strm.avail_out ? R : C) : t.last_lit && (U(t, !1), 0 === t.strm.avail_out) ? A : Z;
						}(i, e) : 3 === i.strategy ? function(t, e) {
							for (var a, i, n, r, s = t.window;;) {
								if (t.lookahead <= z) {
									if (H(t), t.lookahead <= z && e === d) return A;
									if (0 === t.lookahead) break;
								}
								if (t.match_length = 0, t.lookahead >= x && 0 < t.strstart && (i = s[n = t.strstart - 1]) === s[++n] && i === s[++n] && i === s[++n]) {
									r = t.strstart + z;
									do {} while (i === s[++n] && i === s[++n] && i === s[++n] && i === s[++n] && i === s[++n] && i === s[++n] && i === s[++n] && i === s[++n] && n < r);
									t.match_length = z - (r - n), t.match_length > t.lookahead && (t.match_length = t.lookahead);
								}
								if (t.match_length >= x ? (a = h._tr_tally(t, 1, t.match_length - x), t.lookahead -= t.match_length, t.strstart += t.match_length, t.match_length = 0) : (a = h._tr_tally(t, 0, t.window[t.strstart]), t.lookahead--, t.strstart++), a && (U(t, !1), 0 === t.strm.avail_out)) return A;
							}
							return t.insert = 0, e === f ? (U(t, !0), 0 === t.strm.avail_out ? R : C) : t.last_lit && (U(t, !1), 0 === t.strm.avail_out) ? A : Z;
						}(i, e) : l[i.level].func(i, e);
						if (o !== R && o !== C || (i.status = 666), o === A || o === R) return 0 === t.avail_out && (i.last_flush = -1), b;
						if (o === Z && (1 === e ? h._tr_align(i) : 5 !== e && (h._tr_stored_block(i, 0, 0, !1), 3 === e && (D(i.head), 0 === i.lookahead && (i.strstart = 0, i.block_start = 0, i.insert = 0))), I(t), 0 === t.avail_out)) return i.last_flush = -1, b;
					}
					return e !== f ? b : i.wrap <= 0 ? 1 : (2 === i.wrap ? (T(i, 255 & t.adler), T(i, t.adler >> 8 & 255), T(i, t.adler >> 16 & 255), T(i, t.adler >> 24 & 255), T(i, 255 & t.total_in), T(i, t.total_in >> 8 & 255), T(i, t.total_in >> 16 & 255), T(i, t.total_in >> 24 & 255)) : (F(i, t.adler >>> 16), F(i, 65535 & t.adler)), I(t), 0 < i.wrap && (i.wrap = -i.wrap), 0 !== i.pending ? b : 1);
				}, a.deflateEnd = function(t) {
					var e;
					return t && t.state ? (e = t.state.status) !== S && 69 !== e && 73 !== e && 91 !== e && 103 !== e && e !== E && 666 !== e ? N(t, g) : (t.state = null, e === E ? N(t, -3) : b) : g;
				}, a.deflateSetDictionary = function(t, e) {
					var a, i, n, r, s, o, l, h, d = e.length;
					if (!t || !t.state) return g;
					if (2 === (r = (a = t.state).wrap) || 1 === r && a.status !== S || a.lookahead) return g;
					for (1 === r && (t.adler = u(t.adler, e, d, 0)), a.wrap = 0, d >= a.w_size && (0 === r && (D(a.head), a.strstart = 0, a.block_start = 0, a.insert = 0), h = new _.Buf8(a.w_size), _.arraySet(h, e, d - a.w_size, a.w_size, 0), e = h, d = a.w_size), s = t.avail_in, o = t.next_in, l = t.input, t.avail_in = d, t.next_in = 0, t.input = e, H(a); a.lookahead >= x;) {
						for (i = a.strstart, n = a.lookahead - (x - 1); a.ins_h = (a.ins_h << a.hash_shift ^ a.window[i + x - 1]) & a.hash_mask, a.prev[i & a.w_mask] = a.head[a.ins_h], a.head[a.ins_h] = i, i++, --n;);
						a.strstart = i, a.lookahead = x - 1, H(a);
					}
					return a.strstart += a.lookahead, a.block_start = a.strstart, a.insert = a.lookahead, a.lookahead = 0, a.match_length = a.prev_length = x - 1, a.match_available = 0, t.next_in = o, t.input = l, t.avail_in = s, a.wrap = r, b;
				}, a.deflateInfo = "pako deflate (from Nodeca project)";
			}, {
				"../utils/common": 3,
				"./adler32": 5,
				"./crc32": 7,
				"./messages": 13,
				"./trees": 14
			}],
			9: [function(t, e, a) {
				"use strict";
				e.exports = function() {
					this.text = 0, this.time = 0, this.xflags = 0, this.os = 0, this.extra = null, this.extra_len = 0, this.name = "", this.comment = "", this.hcrc = 0, this.done = !1;
				};
			}, {}],
			10: [function(t, e, a) {
				"use strict";
				e.exports = function(t, e) {
					var a, i, n, r, s, o, l, h, d, f, _, u, c, b, g, m, w, p, v, k, y, x, z, B, S;
					a = t.state, i = t.next_in, B = t.input, n = i + (t.avail_in - 5), r = t.next_out, S = t.output, s = r - (e - t.avail_out), o = r + (t.avail_out - 257), l = a.dmax, h = a.wsize, d = a.whave, f = a.wnext, _ = a.window, u = a.hold, c = a.bits, b = a.lencode, g = a.distcode, m = (1 << a.lenbits) - 1, w = (1 << a.distbits) - 1;
					t: do {
						c < 15 && (u += B[i++] << c, c += 8, u += B[i++] << c, c += 8), p = b[u & m];
						e: for (;;) {
							if (u >>>= v = p >>> 24, c -= v, 0 === (v = p >>> 16 & 255)) S[r++] = 65535 & p;
							else {
								if (!(16 & v)) {
									if (0 == (64 & v)) {
										p = b[(65535 & p) + (u & (1 << v) - 1)];
										continue e;
									}
									if (32 & v) {
										a.mode = 12;
										break t;
									}
									t.msg = "invalid literal/length code", a.mode = 30;
									break t;
								}
								k = 65535 & p, (v &= 15) && (c < v && (u += B[i++] << c, c += 8), k += u & (1 << v) - 1, u >>>= v, c -= v), c < 15 && (u += B[i++] << c, c += 8, u += B[i++] << c, c += 8), p = g[u & w];
								a: for (;;) {
									if (u >>>= v = p >>> 24, c -= v, !(16 & (v = p >>> 16 & 255))) {
										if (0 == (64 & v)) {
											p = g[(65535 & p) + (u & (1 << v) - 1)];
											continue a;
										}
										t.msg = "invalid distance code", a.mode = 30;
										break t;
									}
									if (y = 65535 & p, c < (v &= 15) && (u += B[i++] << c, (c += 8) < v && (u += B[i++] << c, c += 8)), l < (y += u & (1 << v) - 1)) {
										t.msg = "invalid distance too far back", a.mode = 30;
										break t;
									}
									if (u >>>= v, c -= v, (v = r - s) < y) {
										if (d < (v = y - v) && a.sane) {
											t.msg = "invalid distance too far back", a.mode = 30;
											break t;
										}
										if (z = _, (x = 0) === f) {
											if (x += h - v, v < k) {
												for (k -= v; S[r++] = _[x++], --v;);
												x = r - y, z = S;
											}
										} else if (f < v) {
											if (x += h + f - v, (v -= f) < k) {
												for (k -= v; S[r++] = _[x++], --v;);
												if (x = 0, f < k) {
													for (k -= v = f; S[r++] = _[x++], --v;);
													x = r - y, z = S;
												}
											}
										} else if (x += f - v, v < k) {
											for (k -= v; S[r++] = _[x++], --v;);
											x = r - y, z = S;
										}
										for (; 2 < k;) S[r++] = z[x++], S[r++] = z[x++], S[r++] = z[x++], k -= 3;
										k && (S[r++] = z[x++], 1 < k && (S[r++] = z[x++]));
									} else {
										for (x = r - y; S[r++] = S[x++], S[r++] = S[x++], S[r++] = S[x++], 2 < (k -= 3););
										k && (S[r++] = S[x++], 1 < k && (S[r++] = S[x++]));
									}
									break;
								}
							}
							break;
						}
					} while (i < n && r < o);
					i -= k = c >> 3, u &= (1 << (c -= k << 3)) - 1, t.next_in = i, t.next_out = r, t.avail_in = i < n ? n - i + 5 : 5 - (i - n), t.avail_out = r < o ? o - r + 257 : 257 - (r - o), a.hold = u, a.bits = c;
				};
			}, {}],
			11: [function(t, e, a) {
				"use strict";
				var Z = t("../utils/common"), R = t("./adler32"), C = t("./crc32"), N = t("./inffast"), O = t("./inftrees"), D = 1, I = 2, U = 0, T = -2, F = 1, i = 852, n = 592;
				function L(t) {
					return (t >>> 24 & 255) + (t >>> 8 & 65280) + ((65280 & t) << 8) + ((255 & t) << 24);
				}
				function r() {
					this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new Z.Buf16(320), this.work = new Z.Buf16(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0;
				}
				function s(t) {
					var e;
					return t && t.state ? (e = t.state, t.total_in = t.total_out = e.total = 0, t.msg = "", e.wrap && (t.adler = 1 & e.wrap), e.mode = F, e.last = 0, e.havedict = 0, e.dmax = 32768, e.head = null, e.hold = 0, e.bits = 0, e.lencode = e.lendyn = new Z.Buf32(i), e.distcode = e.distdyn = new Z.Buf32(n), e.sane = 1, e.back = -1, U) : T;
				}
				function o(t) {
					var e;
					return t && t.state ? ((e = t.state).wsize = 0, e.whave = 0, e.wnext = 0, s(t)) : T;
				}
				function l(t, e) {
					var a, i;
					return t && t.state ? (i = t.state, e < 0 ? (a = 0, e = -e) : (a = 1 + (e >> 4), e < 48 && (e &= 15)), e && (e < 8 || 15 < e) ? T : (null !== i.window && i.wbits !== e && (i.window = null), i.wrap = a, i.wbits = e, o(t))) : T;
				}
				function h(t, e) {
					var a, i;
					return t ? (i = new r(), (t.state = i).window = null, (a = l(t, e)) !== U && (t.state = null), a) : T;
				}
				var d, f, _ = !0;
				function H(t) {
					if (_) {
						var e;
						for (d = new Z.Buf32(512), f = new Z.Buf32(32), e = 0; e < 144;) t.lens[e++] = 8;
						for (; e < 256;) t.lens[e++] = 9;
						for (; e < 280;) t.lens[e++] = 7;
						for (; e < 288;) t.lens[e++] = 8;
						for (O(D, t.lens, 0, 288, d, 0, t.work, { bits: 9 }), e = 0; e < 32;) t.lens[e++] = 5;
						O(I, t.lens, 0, 32, f, 0, t.work, { bits: 5 }), _ = !1;
					}
					t.lencode = d, t.lenbits = 9, t.distcode = f, t.distbits = 5;
				}
				function j(t, e, a, i) {
					var n, r = t.state;
					return null === r.window && (r.wsize = 1 << r.wbits, r.wnext = 0, r.whave = 0, r.window = new Z.Buf8(r.wsize)), i >= r.wsize ? (Z.arraySet(r.window, e, a - r.wsize, r.wsize, 0), r.wnext = 0, r.whave = r.wsize) : (i < (n = r.wsize - r.wnext) && (n = i), Z.arraySet(r.window, e, a - i, n, r.wnext), (i -= n) ? (Z.arraySet(r.window, e, a - i, i, 0), r.wnext = i, r.whave = r.wsize) : (r.wnext += n, r.wnext === r.wsize && (r.wnext = 0), r.whave < r.wsize && (r.whave += n))), 0;
				}
				a.inflateReset = o, a.inflateReset2 = l, a.inflateResetKeep = s, a.inflateInit = function(t) {
					return h(t, 15);
				}, a.inflateInit2 = h, a.inflate = function(t, e) {
					var a, i, n, r, s, o, l, h, d, f, _, u, c, b, g, m, w, p, v, k, y, x, z, B, S = 0, E = new Z.Buf8(4), A = [
						16,
						17,
						18,
						0,
						8,
						7,
						9,
						6,
						10,
						5,
						11,
						4,
						12,
						3,
						13,
						2,
						14,
						1,
						15
					];
					if (!t || !t.state || !t.output || !t.input && 0 !== t.avail_in) return T;
					12 === (a = t.state).mode && (a.mode = 13), s = t.next_out, n = t.output, l = t.avail_out, r = t.next_in, i = t.input, o = t.avail_in, h = a.hold, d = a.bits, f = o, _ = l, x = U;
					t: for (;;) switch (a.mode) {
						case F:
							if (0 === a.wrap) {
								a.mode = 13;
								break;
							}
							for (; d < 16;) {
								if (0 === o) break t;
								o--, h += i[r++] << d, d += 8;
							}
							if (2 & a.wrap && 35615 === h) {
								E[a.check = 0] = 255 & h, E[1] = h >>> 8 & 255, a.check = C(a.check, E, 2, 0), d = h = 0, a.mode = 2;
								break;
							}
							if (a.flags = 0, a.head && (a.head.done = !1), !(1 & a.wrap) || (((255 & h) << 8) + (h >> 8)) % 31) {
								t.msg = "incorrect header check", a.mode = 30;
								break;
							}
							if (8 != (15 & h)) {
								t.msg = "unknown compression method", a.mode = 30;
								break;
							}
							if (d -= 4, y = 8 + (15 & (h >>>= 4)), 0 === a.wbits) a.wbits = y;
							else if (y > a.wbits) {
								t.msg = "invalid window size", a.mode = 30;
								break;
							}
							a.dmax = 1 << y, t.adler = a.check = 1, a.mode = 512 & h ? 10 : 12, d = h = 0;
							break;
						case 2:
							for (; d < 16;) {
								if (0 === o) break t;
								o--, h += i[r++] << d, d += 8;
							}
							if (a.flags = h, 8 != (255 & a.flags)) {
								t.msg = "unknown compression method", a.mode = 30;
								break;
							}
							if (57344 & a.flags) {
								t.msg = "unknown header flags set", a.mode = 30;
								break;
							}
							a.head && (a.head.text = h >> 8 & 1), 512 & a.flags && (E[0] = 255 & h, E[1] = h >>> 8 & 255, a.check = C(a.check, E, 2, 0)), d = h = 0, a.mode = 3;
						case 3:
							for (; d < 32;) {
								if (0 === o) break t;
								o--, h += i[r++] << d, d += 8;
							}
							a.head && (a.head.time = h), 512 & a.flags && (E[0] = 255 & h, E[1] = h >>> 8 & 255, E[2] = h >>> 16 & 255, E[3] = h >>> 24 & 255, a.check = C(a.check, E, 4, 0)), d = h = 0, a.mode = 4;
						case 4:
							for (; d < 16;) {
								if (0 === o) break t;
								o--, h += i[r++] << d, d += 8;
							}
							a.head && (a.head.xflags = 255 & h, a.head.os = h >> 8), 512 & a.flags && (E[0] = 255 & h, E[1] = h >>> 8 & 255, a.check = C(a.check, E, 2, 0)), d = h = 0, a.mode = 5;
						case 5:
							if (1024 & a.flags) {
								for (; d < 16;) {
									if (0 === o) break t;
									o--, h += i[r++] << d, d += 8;
								}
								a.length = h, a.head && (a.head.extra_len = h), 512 & a.flags && (E[0] = 255 & h, E[1] = h >>> 8 & 255, a.check = C(a.check, E, 2, 0)), d = h = 0;
							} else a.head && (a.head.extra = null);
							a.mode = 6;
						case 6:
							if (1024 & a.flags && (o < (u = a.length) && (u = o), u && (a.head && (y = a.head.extra_len - a.length, a.head.extra || (a.head.extra = new Array(a.head.extra_len)), Z.arraySet(a.head.extra, i, r, u, y)), 512 & a.flags && (a.check = C(a.check, i, u, r)), o -= u, r += u, a.length -= u), a.length)) break t;
							a.length = 0, a.mode = 7;
						case 7:
							if (2048 & a.flags) {
								if (0 === o) break t;
								for (u = 0; y = i[r + u++], a.head && y && a.length < 65536 && (a.head.name += String.fromCharCode(y)), y && u < o;);
								if (512 & a.flags && (a.check = C(a.check, i, u, r)), o -= u, r += u, y) break t;
							} else a.head && (a.head.name = null);
							a.length = 0, a.mode = 8;
						case 8:
							if (4096 & a.flags) {
								if (0 === o) break t;
								for (u = 0; y = i[r + u++], a.head && y && a.length < 65536 && (a.head.comment += String.fromCharCode(y)), y && u < o;);
								if (512 & a.flags && (a.check = C(a.check, i, u, r)), o -= u, r += u, y) break t;
							} else a.head && (a.head.comment = null);
							a.mode = 9;
						case 9:
							if (512 & a.flags) {
								for (; d < 16;) {
									if (0 === o) break t;
									o--, h += i[r++] << d, d += 8;
								}
								if (h !== (65535 & a.check)) {
									t.msg = "header crc mismatch", a.mode = 30;
									break;
								}
								d = h = 0;
							}
							a.head && (a.head.hcrc = a.flags >> 9 & 1, a.head.done = !0), t.adler = a.check = 0, a.mode = 12;
							break;
						case 10:
							for (; d < 32;) {
								if (0 === o) break t;
								o--, h += i[r++] << d, d += 8;
							}
							t.adler = a.check = L(h), d = h = 0, a.mode = 11;
						case 11:
							if (0 === a.havedict) return t.next_out = s, t.avail_out = l, t.next_in = r, t.avail_in = o, a.hold = h, a.bits = d, 2;
							t.adler = a.check = 1, a.mode = 12;
						case 12: if (5 === e || 6 === e) break t;
						case 13:
							if (a.last) {
								h >>>= 7 & d, d -= 7 & d, a.mode = 27;
								break;
							}
							for (; d < 3;) {
								if (0 === o) break t;
								o--, h += i[r++] << d, d += 8;
							}
							switch (a.last = 1 & h, d -= 1, 3 & (h >>>= 1)) {
								case 0:
									a.mode = 14;
									break;
								case 1:
									if (H(a), a.mode = 20, 6 !== e) break;
									h >>>= 2, d -= 2;
									break t;
								case 2:
									a.mode = 17;
									break;
								case 3: t.msg = "invalid block type", a.mode = 30;
							}
							h >>>= 2, d -= 2;
							break;
						case 14:
							for (h >>>= 7 & d, d -= 7 & d; d < 32;) {
								if (0 === o) break t;
								o--, h += i[r++] << d, d += 8;
							}
							if ((65535 & h) != (h >>> 16 ^ 65535)) {
								t.msg = "invalid stored block lengths", a.mode = 30;
								break;
							}
							if (a.length = 65535 & h, d = h = 0, a.mode = 15, 6 === e) break t;
						case 15: a.mode = 16;
						case 16:
							if (u = a.length) {
								if (o < u && (u = o), l < u && (u = l), 0 === u) break t;
								Z.arraySet(n, i, r, u, s), o -= u, r += u, l -= u, s += u, a.length -= u;
								break;
							}
							a.mode = 12;
							break;
						case 17:
							for (; d < 14;) {
								if (0 === o) break t;
								o--, h += i[r++] << d, d += 8;
							}
							if (a.nlen = 257 + (31 & h), h >>>= 5, d -= 5, a.ndist = 1 + (31 & h), h >>>= 5, d -= 5, a.ncode = 4 + (15 & h), h >>>= 4, d -= 4, 286 < a.nlen || 30 < a.ndist) {
								t.msg = "too many length or distance symbols", a.mode = 30;
								break;
							}
							a.have = 0, a.mode = 18;
						case 18:
							for (; a.have < a.ncode;) {
								for (; d < 3;) {
									if (0 === o) break t;
									o--, h += i[r++] << d, d += 8;
								}
								a.lens[A[a.have++]] = 7 & h, h >>>= 3, d -= 3;
							}
							for (; a.have < 19;) a.lens[A[a.have++]] = 0;
							if (a.lencode = a.lendyn, a.lenbits = 7, z = { bits: a.lenbits }, x = O(0, a.lens, 0, 19, a.lencode, 0, a.work, z), a.lenbits = z.bits, x) {
								t.msg = "invalid code lengths set", a.mode = 30;
								break;
							}
							a.have = 0, a.mode = 19;
						case 19:
							for (; a.have < a.nlen + a.ndist;) {
								for (; m = (S = a.lencode[h & (1 << a.lenbits) - 1]) >>> 16 & 255, w = 65535 & S, !((g = S >>> 24) <= d);) {
									if (0 === o) break t;
									o--, h += i[r++] << d, d += 8;
								}
								if (w < 16) h >>>= g, d -= g, a.lens[a.have++] = w;
								else {
									if (16 === w) {
										for (B = g + 2; d < B;) {
											if (0 === o) break t;
											o--, h += i[r++] << d, d += 8;
										}
										if (h >>>= g, d -= g, 0 === a.have) {
											t.msg = "invalid bit length repeat", a.mode = 30;
											break;
										}
										y = a.lens[a.have - 1], u = 3 + (3 & h), h >>>= 2, d -= 2;
									} else if (17 === w) {
										for (B = g + 3; d < B;) {
											if (0 === o) break t;
											o--, h += i[r++] << d, d += 8;
										}
										d -= g, y = 0, u = 3 + (7 & (h >>>= g)), h >>>= 3, d -= 3;
									} else {
										for (B = g + 7; d < B;) {
											if (0 === o) break t;
											o--, h += i[r++] << d, d += 8;
										}
										d -= g, y = 0, u = 11 + (127 & (h >>>= g)), h >>>= 7, d -= 7;
									}
									if (a.have + u > a.nlen + a.ndist) {
										t.msg = "invalid bit length repeat", a.mode = 30;
										break;
									}
									for (; u--;) a.lens[a.have++] = y;
								}
							}
							if (30 === a.mode) break;
							if (0 === a.lens[256]) {
								t.msg = "invalid code -- missing end-of-block", a.mode = 30;
								break;
							}
							if (a.lenbits = 9, z = { bits: a.lenbits }, x = O(D, a.lens, 0, a.nlen, a.lencode, 0, a.work, z), a.lenbits = z.bits, x) {
								t.msg = "invalid literal/lengths set", a.mode = 30;
								break;
							}
							if (a.distbits = 6, a.distcode = a.distdyn, z = { bits: a.distbits }, x = O(I, a.lens, a.nlen, a.ndist, a.distcode, 0, a.work, z), a.distbits = z.bits, x) {
								t.msg = "invalid distances set", a.mode = 30;
								break;
							}
							if (a.mode = 20, 6 === e) break t;
						case 20: a.mode = 21;
						case 21:
							if (6 <= o && 258 <= l) {
								t.next_out = s, t.avail_out = l, t.next_in = r, t.avail_in = o, a.hold = h, a.bits = d, N(t, _), s = t.next_out, n = t.output, l = t.avail_out, r = t.next_in, i = t.input, o = t.avail_in, h = a.hold, d = a.bits, 12 === a.mode && (a.back = -1);
								break;
							}
							for (a.back = 0; m = (S = a.lencode[h & (1 << a.lenbits) - 1]) >>> 16 & 255, w = 65535 & S, !((g = S >>> 24) <= d);) {
								if (0 === o) break t;
								o--, h += i[r++] << d, d += 8;
							}
							if (m && 0 == (240 & m)) {
								for (p = g, v = m, k = w; m = (S = a.lencode[k + ((h & (1 << p + v) - 1) >> p)]) >>> 16 & 255, w = 65535 & S, !(p + (g = S >>> 24) <= d);) {
									if (0 === o) break t;
									o--, h += i[r++] << d, d += 8;
								}
								h >>>= p, d -= p, a.back += p;
							}
							if (h >>>= g, d -= g, a.back += g, a.length = w, 0 === m) {
								a.mode = 26;
								break;
							}
							if (32 & m) {
								a.back = -1, a.mode = 12;
								break;
							}
							if (64 & m) {
								t.msg = "invalid literal/length code", a.mode = 30;
								break;
							}
							a.extra = 15 & m, a.mode = 22;
						case 22:
							if (a.extra) {
								for (B = a.extra; d < B;) {
									if (0 === o) break t;
									o--, h += i[r++] << d, d += 8;
								}
								a.length += h & (1 << a.extra) - 1, h >>>= a.extra, d -= a.extra, a.back += a.extra;
							}
							a.was = a.length, a.mode = 23;
						case 23:
							for (; m = (S = a.distcode[h & (1 << a.distbits) - 1]) >>> 16 & 255, w = 65535 & S, !((g = S >>> 24) <= d);) {
								if (0 === o) break t;
								o--, h += i[r++] << d, d += 8;
							}
							if (0 == (240 & m)) {
								for (p = g, v = m, k = w; m = (S = a.distcode[k + ((h & (1 << p + v) - 1) >> p)]) >>> 16 & 255, w = 65535 & S, !(p + (g = S >>> 24) <= d);) {
									if (0 === o) break t;
									o--, h += i[r++] << d, d += 8;
								}
								h >>>= p, d -= p, a.back += p;
							}
							if (h >>>= g, d -= g, a.back += g, 64 & m) {
								t.msg = "invalid distance code", a.mode = 30;
								break;
							}
							a.offset = w, a.extra = 15 & m, a.mode = 24;
						case 24:
							if (a.extra) {
								for (B = a.extra; d < B;) {
									if (0 === o) break t;
									o--, h += i[r++] << d, d += 8;
								}
								a.offset += h & (1 << a.extra) - 1, h >>>= a.extra, d -= a.extra, a.back += a.extra;
							}
							if (a.offset > a.dmax) {
								t.msg = "invalid distance too far back", a.mode = 30;
								break;
							}
							a.mode = 25;
						case 25:
							if (0 === l) break t;
							if (u = _ - l, a.offset > u) {
								if ((u = a.offset - u) > a.whave && a.sane) {
									t.msg = "invalid distance too far back", a.mode = 30;
									break;
								}
								u > a.wnext ? (u -= a.wnext, c = a.wsize - u) : c = a.wnext - u, u > a.length && (u = a.length), b = a.window;
							} else b = n, c = s - a.offset, u = a.length;
							for (l < u && (u = l), l -= u, a.length -= u; n[s++] = b[c++], --u;);
							0 === a.length && (a.mode = 21);
							break;
						case 26:
							if (0 === l) break t;
							n[s++] = a.length, l--, a.mode = 21;
							break;
						case 27:
							if (a.wrap) {
								for (; d < 32;) {
									if (0 === o) break t;
									o--, h |= i[r++] << d, d += 8;
								}
								if (_ -= l, t.total_out += _, a.total += _, _ && (t.adler = a.check = a.flags ? C(a.check, n, _, s - _) : R(a.check, n, _, s - _)), _ = l, (a.flags ? h : L(h)) !== a.check) {
									t.msg = "incorrect data check", a.mode = 30;
									break;
								}
								d = h = 0;
							}
							a.mode = 28;
						case 28:
							if (a.wrap && a.flags) {
								for (; d < 32;) {
									if (0 === o) break t;
									o--, h += i[r++] << d, d += 8;
								}
								if (h !== (4294967295 & a.total)) {
									t.msg = "incorrect length check", a.mode = 30;
									break;
								}
								d = h = 0;
							}
							a.mode = 29;
						case 29:
							x = 1;
							break t;
						case 30:
							x = -3;
							break t;
						case 31: return -4;
						case 32:
						default: return T;
					}
					return t.next_out = s, t.avail_out = l, t.next_in = r, t.avail_in = o, a.hold = h, a.bits = d, (a.wsize || _ !== t.avail_out && a.mode < 30 && (a.mode < 27 || 4 !== e)) && j(t, t.output, t.next_out, _ - t.avail_out) ? (a.mode = 31, -4) : (f -= t.avail_in, _ -= t.avail_out, t.total_in += f, t.total_out += _, a.total += _, a.wrap && _ && (t.adler = a.check = a.flags ? C(a.check, n, _, t.next_out - _) : R(a.check, n, _, t.next_out - _)), t.data_type = a.bits + (a.last ? 64 : 0) + (12 === a.mode ? 128 : 0) + (20 === a.mode || 15 === a.mode ? 256 : 0), (0 === f && 0 === _ || 4 === e) && x === U && (x = -5), x);
				}, a.inflateEnd = function(t) {
					if (!t || !t.state) return T;
					var e = t.state;
					return e.window && (e.window = null), t.state = null, U;
				}, a.inflateGetHeader = function(t, e) {
					var a;
					return t && t.state ? 0 == (2 & (a = t.state).wrap) ? T : ((a.head = e).done = !1, U) : T;
				}, a.inflateSetDictionary = function(t, e) {
					var a, i = e.length;
					return t && t.state ? 0 !== (a = t.state).wrap && 11 !== a.mode ? T : 11 === a.mode && R(1, e, i, 0) !== a.check ? -3 : j(t, e, i, i) ? (a.mode = 31, -4) : (a.havedict = 1, U) : T;
				}, a.inflateInfo = "pako inflate (from Nodeca project)";
			}, {
				"../utils/common": 3,
				"./adler32": 5,
				"./crc32": 7,
				"./inffast": 10,
				"./inftrees": 12
			}],
			12: [function(t, e, a) {
				"use strict";
				var D = t("../utils/common"), I = [
					3,
					4,
					5,
					6,
					7,
					8,
					9,
					10,
					11,
					13,
					15,
					17,
					19,
					23,
					27,
					31,
					35,
					43,
					51,
					59,
					67,
					83,
					99,
					115,
					131,
					163,
					195,
					227,
					258,
					0,
					0
				], U = [
					16,
					16,
					16,
					16,
					16,
					16,
					16,
					16,
					17,
					17,
					17,
					17,
					18,
					18,
					18,
					18,
					19,
					19,
					19,
					19,
					20,
					20,
					20,
					20,
					21,
					21,
					21,
					21,
					16,
					72,
					78
				], T = [
					1,
					2,
					3,
					4,
					5,
					7,
					9,
					13,
					17,
					25,
					33,
					49,
					65,
					97,
					129,
					193,
					257,
					385,
					513,
					769,
					1025,
					1537,
					2049,
					3073,
					4097,
					6145,
					8193,
					12289,
					16385,
					24577,
					0,
					0
				], F = [
					16,
					16,
					16,
					16,
					17,
					17,
					18,
					18,
					19,
					19,
					20,
					20,
					21,
					21,
					22,
					22,
					23,
					23,
					24,
					24,
					25,
					25,
					26,
					26,
					27,
					27,
					28,
					28,
					29,
					29,
					64,
					64
				];
				e.exports = function(t, e, a, i, n, r, s, o) {
					var l, h, d, f, _, u, c, b, g, m = o.bits, w = 0, p = 0, v = 0, k = 0, y = 0, x = 0, z = 0, B = 0, S = 0, E = 0, A = null, Z = 0, R = new D.Buf16(16), C = new D.Buf16(16), N = null, O = 0;
					for (w = 0; w <= 15; w++) R[w] = 0;
					for (p = 0; p < i; p++) R[e[a + p]]++;
					for (y = m, k = 15; 1 <= k && 0 === R[k]; k--);
					if (k < y && (y = k), 0 === k) return n[r++] = 20971520, n[r++] = 20971520, o.bits = 1, 0;
					for (v = 1; v < k && 0 === R[v]; v++);
					for (y < v && (y = v), w = B = 1; w <= 15; w++) if (B <<= 1, (B -= R[w]) < 0) return -1;
					if (0 < B && (0 === t || 1 !== k)) return -1;
					for (C[1] = 0, w = 1; w < 15; w++) C[w + 1] = C[w] + R[w];
					for (p = 0; p < i; p++) 0 !== e[a + p] && (s[C[e[a + p]]++] = p);
					if (0 === t ? (A = N = s, u = 19) : 1 === t ? (A = I, Z -= 257, N = U, O -= 257, u = 256) : (A = T, N = F, u = -1), w = v, _ = r, z = p = E = 0, d = -1, f = (S = 1 << (x = y)) - 1, 1 === t && 852 < S || 2 === t && 592 < S) return 1;
					for (;;) {
						for (c = w - z, s[p] < u ? (b = 0, g = s[p]) : s[p] > u ? (b = N[O + s[p]], g = A[Z + s[p]]) : (b = 96, g = 0), l = 1 << w - z, v = h = 1 << x; n[_ + (E >> z) + (h -= l)] = c << 24 | b << 16 | g | 0, 0 !== h;);
						for (l = 1 << w - 1; E & l;) l >>= 1;
						if (0 !== l ? (E &= l - 1, E += l) : E = 0, p++, 0 == --R[w]) {
							if (w === k) break;
							w = e[a + s[p]];
						}
						if (y < w && (E & f) !== d) {
							for (0 === z && (z = y), _ += v, B = 1 << (x = w - z); x + z < k && !((B -= R[x + z]) <= 0);) x++, B <<= 1;
							if (S += 1 << x, 1 === t && 852 < S || 2 === t && 592 < S) return 1;
							n[d = E & f] = y << 24 | x << 16 | _ - r | 0;
						}
					}
					return 0 !== E && (n[_ + E] = w - z << 24 | 64 << 16 | 0), o.bits = y, 0;
				};
			}, { "../utils/common": 3 }],
			13: [function(t, e, a) {
				"use strict";
				e.exports = {
					2: "need dictionary",
					1: "stream end",
					0: "",
					"-1": "file error",
					"-2": "stream error",
					"-3": "data error",
					"-4": "insufficient memory",
					"-5": "buffer error",
					"-6": "incompatible version"
				};
			}, {}],
			14: [function(t, e, a) {
				"use strict";
				var l = t("../utils/common"), o = 0, h = 1;
				function i(t) {
					for (var e = t.length; 0 <= --e;) t[e] = 0;
				}
				var d = 0, s = 29, f = 256, _ = f + 1 + s, u = 30, c = 19, g = 2 * _ + 1, m = 15, n = 16, b = 7, w = 256, p = 16, v = 17, k = 18, y = [
					0,
					0,
					0,
					0,
					0,
					0,
					0,
					0,
					1,
					1,
					1,
					1,
					2,
					2,
					2,
					2,
					3,
					3,
					3,
					3,
					4,
					4,
					4,
					4,
					5,
					5,
					5,
					5,
					0
				], x = [
					0,
					0,
					0,
					0,
					1,
					1,
					2,
					2,
					3,
					3,
					4,
					4,
					5,
					5,
					6,
					6,
					7,
					7,
					8,
					8,
					9,
					9,
					10,
					10,
					11,
					11,
					12,
					12,
					13,
					13
				], z = [
					0,
					0,
					0,
					0,
					0,
					0,
					0,
					0,
					0,
					0,
					0,
					0,
					0,
					0,
					0,
					0,
					2,
					3,
					7
				], B = [
					16,
					17,
					18,
					0,
					8,
					7,
					9,
					6,
					10,
					5,
					11,
					4,
					12,
					3,
					13,
					2,
					14,
					1,
					15
				], S = new Array(2 * (_ + 2));
				i(S);
				var E = new Array(2 * u);
				i(E);
				var A = new Array(512);
				i(A);
				var Z = new Array(256);
				i(Z);
				var R = new Array(s);
				i(R);
				var C, N, O, D = new Array(u);
				function I(t, e, a, i, n) {
					this.static_tree = t, this.extra_bits = e, this.extra_base = a, this.elems = i, this.max_length = n, this.has_stree = t && t.length;
				}
				function r(t, e) {
					this.dyn_tree = t, this.max_code = 0, this.stat_desc = e;
				}
				function U(t) {
					return t < 256 ? A[t] : A[256 + (t >>> 7)];
				}
				function T(t, e) {
					t.pending_buf[t.pending++] = 255 & e, t.pending_buf[t.pending++] = e >>> 8 & 255;
				}
				function F(t, e, a) {
					t.bi_valid > n - a ? (t.bi_buf |= e << t.bi_valid & 65535, T(t, t.bi_buf), t.bi_buf = e >> n - t.bi_valid, t.bi_valid += a - n) : (t.bi_buf |= e << t.bi_valid & 65535, t.bi_valid += a);
				}
				function L(t, e, a) {
					F(t, a[2 * e], a[2 * e + 1]);
				}
				function H(t, e) {
					for (var a = 0; a |= 1 & t, t >>>= 1, a <<= 1, 0 < --e;);
					return a >>> 1;
				}
				function j(t, e, a) {
					var i, n, r = new Array(m + 1), s = 0;
					for (i = 1; i <= m; i++) r[i] = s = s + a[i - 1] << 1;
					for (n = 0; n <= e; n++) {
						var o = t[2 * n + 1];
						0 !== o && (t[2 * n] = H(r[o]++, o));
					}
				}
				function K(t) {
					var e;
					for (e = 0; e < _; e++) t.dyn_ltree[2 * e] = 0;
					for (e = 0; e < u; e++) t.dyn_dtree[2 * e] = 0;
					for (e = 0; e < c; e++) t.bl_tree[2 * e] = 0;
					t.dyn_ltree[2 * w] = 1, t.opt_len = t.static_len = 0, t.last_lit = t.matches = 0;
				}
				function M(t) {
					8 < t.bi_valid ? T(t, t.bi_buf) : 0 < t.bi_valid && (t.pending_buf[t.pending++] = t.bi_buf), t.bi_buf = 0, t.bi_valid = 0;
				}
				function P(t, e, a, i) {
					var n = 2 * e, r = 2 * a;
					return t[n] < t[r] || t[n] === t[r] && i[e] <= i[a];
				}
				function Y(t, e, a) {
					for (var i = t.heap[a], n = a << 1; n <= t.heap_len && (n < t.heap_len && P(e, t.heap[n + 1], t.heap[n], t.depth) && n++, !P(e, i, t.heap[n], t.depth));) t.heap[a] = t.heap[n], a = n, n <<= 1;
					t.heap[a] = i;
				}
				function q(t, e, a) {
					var i, n, r, s, o = 0;
					if (0 !== t.last_lit) for (; i = t.pending_buf[t.d_buf + 2 * o] << 8 | t.pending_buf[t.d_buf + 2 * o + 1], n = t.pending_buf[t.l_buf + o], o++, 0 === i ? L(t, n, e) : (L(t, (r = Z[n]) + f + 1, e), 0 !== (s = y[r]) && F(t, n -= R[r], s), L(t, r = U(--i), a), 0 !== (s = x[r]) && F(t, i -= D[r], s)), o < t.last_lit;);
					L(t, w, e);
				}
				function G(t, e) {
					var a, i, n, r = e.dyn_tree, s = e.stat_desc.static_tree, o = e.stat_desc.has_stree, l = e.stat_desc.elems, h = -1;
					for (t.heap_len = 0, t.heap_max = g, a = 0; a < l; a++) 0 !== r[2 * a] ? (t.heap[++t.heap_len] = h = a, t.depth[a] = 0) : r[2 * a + 1] = 0;
					for (; t.heap_len < 2;) r[2 * (n = t.heap[++t.heap_len] = h < 2 ? ++h : 0)] = 1, t.depth[n] = 0, t.opt_len--, o && (t.static_len -= s[2 * n + 1]);
					for (e.max_code = h, a = t.heap_len >> 1; 1 <= a; a--) Y(t, r, a);
					for (n = l; a = t.heap[1], t.heap[1] = t.heap[t.heap_len--], Y(t, r, 1), i = t.heap[1], t.heap[--t.heap_max] = a, t.heap[--t.heap_max] = i, r[2 * n] = r[2 * a] + r[2 * i], t.depth[n] = (t.depth[a] >= t.depth[i] ? t.depth[a] : t.depth[i]) + 1, r[2 * a + 1] = r[2 * i + 1] = n, t.heap[1] = n++, Y(t, r, 1), 2 <= t.heap_len;);
					t.heap[--t.heap_max] = t.heap[1], function(t, e) {
						var a, i, n, r, s, o, l = e.dyn_tree, h = e.max_code, d = e.stat_desc.static_tree, f = e.stat_desc.has_stree, _ = e.stat_desc.extra_bits, u = e.stat_desc.extra_base, c = e.stat_desc.max_length, b = 0;
						for (r = 0; r <= m; r++) t.bl_count[r] = 0;
						for (l[2 * t.heap[t.heap_max] + 1] = 0, a = t.heap_max + 1; a < g; a++) c < (r = l[2 * l[2 * (i = t.heap[a]) + 1] + 1] + 1) && (r = c, b++), l[2 * i + 1] = r, h < i || (t.bl_count[r]++, s = 0, u <= i && (s = _[i - u]), o = l[2 * i], t.opt_len += o * (r + s), f && (t.static_len += o * (d[2 * i + 1] + s)));
						if (0 !== b) {
							do {
								for (r = c - 1; 0 === t.bl_count[r];) r--;
								t.bl_count[r]--, t.bl_count[r + 1] += 2, t.bl_count[c]--, b -= 2;
							} while (0 < b);
							for (r = c; 0 !== r; r--) for (i = t.bl_count[r]; 0 !== i;) h < (n = t.heap[--a]) || (l[2 * n + 1] !== r && (t.opt_len += (r - l[2 * n + 1]) * l[2 * n], l[2 * n + 1] = r), i--);
						}
					}(t, e), j(r, h, t.bl_count);
				}
				function X(t, e, a) {
					var i, n, r = -1, s = e[1], o = 0, l = 7, h = 4;
					for (0 === s && (l = 138, h = 3), e[2 * (a + 1) + 1] = 65535, i = 0; i <= a; i++) n = s, s = e[2 * (i + 1) + 1], ++o < l && n === s || (o < h ? t.bl_tree[2 * n] += o : 0 !== n ? (n !== r && t.bl_tree[2 * n]++, t.bl_tree[2 * p]++) : o <= 10 ? t.bl_tree[2 * v]++ : t.bl_tree[2 * k]++, r = n, (o = 0) === s ? (l = 138, h = 3) : n === s ? (l = 6, h = 3) : (l = 7, h = 4));
				}
				function W(t, e, a) {
					var i, n, r = -1, s = e[1], o = 0, l = 7, h = 4;
					for (0 === s && (l = 138, h = 3), i = 0; i <= a; i++) if (n = s, s = e[2 * (i + 1) + 1], !(++o < l && n === s)) {
						if (o < h) for (; L(t, n, t.bl_tree), 0 != --o;);
						else 0 !== n ? (n !== r && (L(t, n, t.bl_tree), o--), L(t, p, t.bl_tree), F(t, o - 3, 2)) : o <= 10 ? (L(t, v, t.bl_tree), F(t, o - 3, 3)) : (L(t, k, t.bl_tree), F(t, o - 11, 7));
						r = n, (o = 0) === s ? (l = 138, h = 3) : n === s ? (l = 6, h = 3) : (l = 7, h = 4);
					}
				}
				i(D);
				var J = !1;
				function Q(t, e, a, i) {
					var n, r, s, o;
					F(t, (d << 1) + (i ? 1 : 0), 3), r = e, s = a, o = !0, M(n = t), o && (T(n, s), T(n, ~s)), l.arraySet(n.pending_buf, n.window, r, s, n.pending), n.pending += s;
				}
				a._tr_init = function(t) {
					J || (function() {
						var t, e, a, i, n, r = new Array(m + 1);
						for (i = a = 0; i < s - 1; i++) for (R[i] = a, t = 0; t < 1 << y[i]; t++) Z[a++] = i;
						for (Z[a - 1] = i, i = n = 0; i < 16; i++) for (D[i] = n, t = 0; t < 1 << x[i]; t++) A[n++] = i;
						for (n >>= 7; i < u; i++) for (D[i] = n << 7, t = 0; t < 1 << x[i] - 7; t++) A[256 + n++] = i;
						for (e = 0; e <= m; e++) r[e] = 0;
						for (t = 0; t <= 143;) S[2 * t + 1] = 8, t++, r[8]++;
						for (; t <= 255;) S[2 * t + 1] = 9, t++, r[9]++;
						for (; t <= 279;) S[2 * t + 1] = 7, t++, r[7]++;
						for (; t <= 287;) S[2 * t + 1] = 8, t++, r[8]++;
						for (j(S, _ + 1, r), t = 0; t < u; t++) E[2 * t + 1] = 5, E[2 * t] = H(t, 5);
						C = new I(S, y, f + 1, _, m), N = new I(E, x, 0, u, m), O = new I(new Array(0), z, 0, c, b);
					}(), J = !0), t.l_desc = new r(t.dyn_ltree, C), t.d_desc = new r(t.dyn_dtree, N), t.bl_desc = new r(t.bl_tree, O), t.bi_buf = 0, t.bi_valid = 0, K(t);
				}, a._tr_stored_block = Q, a._tr_flush_block = function(t, e, a, i) {
					var n, r, s = 0;
					0 < t.level ? (2 === t.strm.data_type && (t.strm.data_type = function(t) {
						var e, a = 4093624447;
						for (e = 0; e <= 31; e++, a >>>= 1) if (1 & a && 0 !== t.dyn_ltree[2 * e]) return o;
						if (0 !== t.dyn_ltree[18] || 0 !== t.dyn_ltree[20] || 0 !== t.dyn_ltree[26]) return h;
						for (e = 32; e < f; e++) if (0 !== t.dyn_ltree[2 * e]) return h;
						return o;
					}(t)), G(t, t.l_desc), G(t, t.d_desc), s = function(t) {
						var e;
						for (X(t, t.dyn_ltree, t.l_desc.max_code), X(t, t.dyn_dtree, t.d_desc.max_code), G(t, t.bl_desc), e = c - 1; 3 <= e && 0 === t.bl_tree[2 * B[e] + 1]; e--);
						return t.opt_len += 3 * (e + 1) + 5 + 5 + 4, e;
					}(t), n = t.opt_len + 3 + 7 >>> 3, (r = t.static_len + 3 + 7 >>> 3) <= n && (n = r)) : n = r = a + 5, a + 4 <= n && -1 !== e ? Q(t, e, a, i) : 4 === t.strategy || r === n ? (F(t, 2 + (i ? 1 : 0), 3), q(t, S, E)) : (F(t, 4 + (i ? 1 : 0), 3), function(t, e, a, i) {
						var n;
						for (F(t, e - 257, 5), F(t, a - 1, 5), F(t, i - 4, 4), n = 0; n < i; n++) F(t, t.bl_tree[2 * B[n] + 1], 3);
						W(t, t.dyn_ltree, e - 1), W(t, t.dyn_dtree, a - 1);
					}(t, t.l_desc.max_code + 1, t.d_desc.max_code + 1, s + 1), q(t, t.dyn_ltree, t.dyn_dtree)), K(t), i && M(t);
				}, a._tr_tally = function(t, e, a) {
					return t.pending_buf[t.d_buf + 2 * t.last_lit] = e >>> 8 & 255, t.pending_buf[t.d_buf + 2 * t.last_lit + 1] = 255 & e, t.pending_buf[t.l_buf + t.last_lit] = 255 & a, t.last_lit++, 0 === e ? t.dyn_ltree[2 * a]++ : (t.matches++, e--, t.dyn_ltree[2 * (Z[a] + f + 1)]++, t.dyn_dtree[2 * U(e)]++), t.last_lit === t.lit_bufsize - 1;
				}, a._tr_align = function(t) {
					var e;
					F(t, 2, 3), L(t, w, S), 16 === (e = t).bi_valid ? (T(e, e.bi_buf), e.bi_buf = 0, e.bi_valid = 0) : 8 <= e.bi_valid && (e.pending_buf[e.pending++] = 255 & e.bi_buf, e.bi_buf >>= 8, e.bi_valid -= 8);
				};
			}, { "../utils/common": 3 }],
			15: [function(t, e, a) {
				"use strict";
				e.exports = function() {
					this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, this.data_type = 2, this.adler = 0;
				};
			}, {}],
			"/": [function(t, e, a) {
				"use strict";
				var i = {};
				(0, t("./lib/utils/common").assign)(i, t("./lib/deflate"), t("./lib/inflate"), t("./lib/zlib/constants")), e.exports = i;
			}, {
				"./lib/deflate": 1,
				"./lib/inflate": 2,
				"./lib/utils/common": 3,
				"./lib/zlib/constants": 6
			}]
		}, {}, [])("/");
	});
}));

//#endregion
//#region ../libs_drpy/crypto-js.js
var require_crypto_js$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory) {
		if (typeof exports === "object") {
			module.exports = exports = factory();
		} else if (typeof define === "function" && define.amd) {
			define([], factory);
		} else {
			globalThis.CryptoJS = factory();
		}
	})(exports, function() {
		/**
		* CryptoJS core components.
		*/
		var CryptoJS = CryptoJS || function(Math, undefined) {
			var crypto;
			if (typeof window !== "undefined" && window.crypto) {
				crypto = window.crypto;
			}
			if (typeof self !== "undefined" && self.crypto) {
				crypto = self.crypto;
			}
			if (typeof globalThis !== "undefined" && globalThis.crypto) {
				crypto = globalThis.crypto;
			}
			if (!crypto && typeof window !== "undefined" && window.msCrypto) {
				crypto = window.msCrypto;
			}
			if (!crypto && typeof global !== "undefined" && global.crypto) {
				crypto = global.crypto;
			}
			if (!crypto && typeof __require === "function") {
				try {
					crypto = __require("crypto");
				} catch (err) {}
			}
			var cryptoSecureRandomInt = function() {
				if (crypto) {
					if (typeof crypto.getRandomValues === "function") {
						try {
							return crypto.getRandomValues(new Uint32Array(1))[0];
						} catch (err) {}
					}
					if (typeof crypto.randomBytes === "function") {
						try {
							return crypto.randomBytes(4).readInt32LE();
						} catch (err) {}
					}
				}
				throw new Error("Native crypto module could not be used to get secure random number.");
			};
			var create = Object.create || function() {
				function F() {}
				return function(obj) {
					var subtype;
					F.prototype = obj;
					subtype = new F();
					F.prototype = null;
					return subtype;
				};
			}();
			/**
			* CryptoJS namespace.
			*/
			var C = {};
			/**
			* Library namespace.
			*/
			var C_lib = C.lib = {};
			/**
			* Base object for prototypal inheritance.
			*/
			var Base = C_lib.Base = function() {
				return {
					extend: function(overrides) {
						var subtype = create(this);
						if (overrides) {
							subtype.mixIn(overrides);
						}
						if (!subtype.hasOwnProperty("init") || this.init === subtype.init) {
							subtype.init = function() {
								subtype.$super.init.apply(this, arguments);
							};
						}
						subtype.init.prototype = subtype;
						subtype.$super = this;
						return subtype;
					},
					create: function() {
						var instance = this.extend();
						instance.init.apply(instance, arguments);
						return instance;
					},
					init: function() {},
					mixIn: function(properties) {
						for (var propertyName in properties) {
							if (properties.hasOwnProperty(propertyName)) {
								this[propertyName] = properties[propertyName];
							}
						}
						if (properties.hasOwnProperty("toString")) {
							this.toString = properties.toString;
						}
					},
					clone: function() {
						return this.init.prototype.extend(this);
					}
				};
			}();
			/**
			* An array of 32-bit words.
			*
			* @property {Array} words The array of 32-bit words.
			* @property {number} sigBytes The number of significant bytes in this word array.
			*/
			var WordArray = C_lib.WordArray = Base.extend({
				init: function(words, sigBytes) {
					words = this.words = words || [];
					if (sigBytes != undefined) {
						this.sigBytes = sigBytes;
					} else {
						this.sigBytes = words.length * 4;
					}
				},
				toString: function(encoder) {
					return (encoder || Hex).stringify(this);
				},
				concat: function(wordArray) {
					var thisWords = this.words;
					var thatWords = wordArray.words;
					var thisSigBytes = this.sigBytes;
					var thatSigBytes = wordArray.sigBytes;
					this.clamp();
					if (thisSigBytes % 4) {
						for (var i = 0; i < thatSigBytes; i++) {
							var thatByte = thatWords[i >>> 2] >>> 24 - i % 4 * 8 & 255;
							thisWords[thisSigBytes + i >>> 2] |= thatByte << 24 - (thisSigBytes + i) % 4 * 8;
						}
					} else {
						for (var j = 0; j < thatSigBytes; j += 4) {
							thisWords[thisSigBytes + j >>> 2] = thatWords[j >>> 2];
						}
					}
					this.sigBytes += thatSigBytes;
					return this;
				},
				clamp: function() {
					var words = this.words;
					var sigBytes = this.sigBytes;
					words[sigBytes >>> 2] &= 4294967295 << 32 - sigBytes % 4 * 8;
					words.length = Math.ceil(sigBytes / 4);
				},
				clone: function() {
					var clone = Base.clone.call(this);
					clone.words = this.words.slice(0);
					return clone;
				},
				random: function(nBytes) {
					var words = [];
					for (var i = 0; i < nBytes; i += 4) {
						words.push(cryptoSecureRandomInt());
					}
					return new WordArray.init(words, nBytes);
				}
			});
			/**
			* Encoder namespace.
			*/
			var C_enc = C.enc = {};
			/**
			* Hex encoding strategy.
			*/
			var Hex = C_enc.Hex = {
				stringify: function(wordArray) {
					var words = wordArray.words;
					var sigBytes = wordArray.sigBytes;
					var hexChars = [];
					for (var i = 0; i < sigBytes; i++) {
						var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 255;
						hexChars.push((bite >>> 4).toString(16));
						hexChars.push((bite & 15).toString(16));
					}
					return hexChars.join("");
				},
				parse: function(hexStr) {
					var hexStrLength = hexStr.length;
					var words = [];
					for (var i = 0; i < hexStrLength; i += 2) {
						words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << 24 - i % 8 * 4;
					}
					return new WordArray.init(words, hexStrLength / 2);
				}
			};
			/**
			* Latin1 encoding strategy.
			*/
			var Latin1 = C_enc.Latin1 = {
				stringify: function(wordArray) {
					var words = wordArray.words;
					var sigBytes = wordArray.sigBytes;
					var latin1Chars = [];
					for (var i = 0; i < sigBytes; i++) {
						var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 255;
						latin1Chars.push(String.fromCharCode(bite));
					}
					return latin1Chars.join("");
				},
				parse: function(latin1Str) {
					var latin1StrLength = latin1Str.length;
					var words = [];
					for (var i = 0; i < latin1StrLength; i++) {
						words[i >>> 2] |= (latin1Str.charCodeAt(i) & 255) << 24 - i % 4 * 8;
					}
					return new WordArray.init(words, latin1StrLength);
				}
			};
			/**
			* UTF-8 encoding strategy.
			*/
			var Utf8 = C_enc.Utf8 = {
				stringify: function(wordArray) {
					try {
						return decodeURIComponent(escape(Latin1.stringify(wordArray)));
					} catch (e) {
						throw new Error("Malformed UTF-8 data");
					}
				},
				parse: function(utf8Str) {
					return Latin1.parse(unescape(encodeURIComponent(utf8Str)));
				}
			};
			/**
			* Abstract buffered block algorithm template.
			*
			* The property blockSize must be implemented in a concrete subtype.
			*
			* @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0
			*/
			var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({
				reset: function() {
					this._data = new WordArray.init();
					this._nDataBytes = 0;
				},
				_append: function(data) {
					if (typeof data == "string") {
						data = Utf8.parse(data);
					}
					this._data.concat(data);
					this._nDataBytes += data.sigBytes;
				},
				_process: function(doFlush) {
					var processedWords;
					var data = this._data;
					var dataWords = data.words;
					var dataSigBytes = data.sigBytes;
					var blockSize = this.blockSize;
					var blockSizeBytes = blockSize * 4;
					var nBlocksReady = dataSigBytes / blockSizeBytes;
					if (doFlush) {
						nBlocksReady = Math.ceil(nBlocksReady);
					} else {
						nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);
					}
					var nWordsReady = nBlocksReady * blockSize;
					var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);
					if (nWordsReady) {
						for (var offset = 0; offset < nWordsReady; offset += blockSize) {
							this._doProcessBlock(dataWords, offset);
						}
						processedWords = dataWords.splice(0, nWordsReady);
						data.sigBytes -= nBytesReady;
					}
					return new WordArray.init(processedWords, nBytesReady);
				},
				clone: function() {
					var clone = Base.clone.call(this);
					clone._data = this._data.clone();
					return clone;
				},
				_minBufferSize: 0
			});
			/**
			* Abstract hasher template.
			*
			* @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)
			*/
			var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({
				cfg: Base.extend(),
				init: function(cfg) {
					this.cfg = this.cfg.extend(cfg);
					this.reset();
				},
				reset: function() {
					BufferedBlockAlgorithm.reset.call(this);
					this._doReset();
				},
				update: function(messageUpdate) {
					this._append(messageUpdate);
					this._process();
					return this;
				},
				finalize: function(messageUpdate) {
					if (messageUpdate) {
						this._append(messageUpdate);
					}
					var hash = this._doFinalize();
					return hash;
				},
				blockSize: 512 / 32,
				_createHelper: function(hasher) {
					return function(message, cfg) {
						return new hasher.init(cfg).finalize(message);
					};
				},
				_createHmacHelper: function(hasher) {
					return function(message, key) {
						return new C_algo.HMAC.init(hasher, key).finalize(message);
					};
				}
			});
			/**
			* Algorithm namespace.
			*/
			var C_algo = C.algo = {};
			return C;
		}(Math);
		(function(undefined) {
			var C = CryptoJS;
			var C_lib = C.lib;
			var Base = C_lib.Base;
			var X32WordArray = C_lib.WordArray;
			/**
			* x64 namespace.
			*/
			var C_x64 = C.x64 = {};
			/**
			* A 64-bit word.
			*/
			var X64Word = C_x64.Word = Base.extend({ init: function(high, low) {
				this.high = high;
				this.low = low;
			} });
			/**
			* An array of 64-bit words.
			*
			* @property {Array} words The array of CryptoJS.x64.Word objects.
			* @property {number} sigBytes The number of significant bytes in this word array.
			*/
			var X64WordArray = C_x64.WordArray = Base.extend({
				init: function(words, sigBytes) {
					words = this.words = words || [];
					if (sigBytes != undefined) {
						this.sigBytes = sigBytes;
					} else {
						this.sigBytes = words.length * 8;
					}
				},
				toX32: function() {
					var x64Words = this.words;
					var x64WordsLength = x64Words.length;
					var x32Words = [];
					for (var i = 0; i < x64WordsLength; i++) {
						var x64Word = x64Words[i];
						x32Words.push(x64Word.high);
						x32Words.push(x64Word.low);
					}
					return X32WordArray.create(x32Words, this.sigBytes);
				},
				clone: function() {
					var clone = Base.clone.call(this);
					var words = clone.words = this.words.slice(0);
					var wordsLength = words.length;
					for (var i = 0; i < wordsLength; i++) {
						words[i] = words[i].clone();
					}
					return clone;
				}
			});
		})();
		(function() {
			if (typeof ArrayBuffer != "function") {
				return;
			}
			var C = CryptoJS;
			var C_lib = C.lib;
			var WordArray = C_lib.WordArray;
			var superInit = WordArray.init;
			var subInit = WordArray.init = function(typedArray) {
				if (typedArray instanceof ArrayBuffer) {
					typedArray = new Uint8Array(typedArray);
				}
				if (typedArray instanceof Int8Array || typeof Uint8ClampedArray !== "undefined" && typedArray instanceof Uint8ClampedArray || typedArray instanceof Int16Array || typedArray instanceof Uint16Array || typedArray instanceof Int32Array || typedArray instanceof Uint32Array || typedArray instanceof Float32Array || typedArray instanceof Float64Array) {
					typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength);
				}
				if (typedArray instanceof Uint8Array) {
					var typedArrayByteLength = typedArray.byteLength;
					var words = [];
					for (var i = 0; i < typedArrayByteLength; i++) {
						words[i >>> 2] |= typedArray[i] << 24 - i % 4 * 8;
					}
					superInit.call(this, words, typedArrayByteLength);
				} else {
					superInit.apply(this, arguments);
				}
			};
			subInit.prototype = WordArray;
		})();
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var WordArray = C_lib.WordArray;
			var C_enc = C.enc;
			/**
			* UTF-16 BE encoding strategy.
			*/
			var Utf16BE = C_enc.Utf16 = C_enc.Utf16BE = {
				stringify: function(wordArray) {
					var words = wordArray.words;
					var sigBytes = wordArray.sigBytes;
					var utf16Chars = [];
					for (var i = 0; i < sigBytes; i += 2) {
						var codePoint = words[i >>> 2] >>> 16 - i % 4 * 8 & 65535;
						utf16Chars.push(String.fromCharCode(codePoint));
					}
					return utf16Chars.join("");
				},
				parse: function(utf16Str) {
					var utf16StrLength = utf16Str.length;
					var words = [];
					for (var i = 0; i < utf16StrLength; i++) {
						words[i >>> 1] |= utf16Str.charCodeAt(i) << 16 - i % 2 * 16;
					}
					return WordArray.create(words, utf16StrLength * 2);
				}
			};
			/**
			* UTF-16 LE encoding strategy.
			*/
			C_enc.Utf16LE = {
				stringify: function(wordArray) {
					var words = wordArray.words;
					var sigBytes = wordArray.sigBytes;
					var utf16Chars = [];
					for (var i = 0; i < sigBytes; i += 2) {
						var codePoint = swapEndian(words[i >>> 2] >>> 16 - i % 4 * 8 & 65535);
						utf16Chars.push(String.fromCharCode(codePoint));
					}
					return utf16Chars.join("");
				},
				parse: function(utf16Str) {
					var utf16StrLength = utf16Str.length;
					var words = [];
					for (var i = 0; i < utf16StrLength; i++) {
						words[i >>> 1] |= swapEndian(utf16Str.charCodeAt(i) << 16 - i % 2 * 16);
					}
					return WordArray.create(words, utf16StrLength * 2);
				}
			};
			function swapEndian(word) {
				return word << 8 & 4278255360 | word >>> 8 & 16711935;
			}
		})();
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var WordArray = C_lib.WordArray;
			var C_enc = C.enc;
			/**
			* Base64 encoding strategy.
			*/
			var Base64 = C_enc.Base64 = {
				stringify: function(wordArray) {
					var words = wordArray.words;
					var sigBytes = wordArray.sigBytes;
					var map = this._map;
					wordArray.clamp();
					var base64Chars = [];
					for (var i = 0; i < sigBytes; i += 3) {
						var byte1 = words[i >>> 2] >>> 24 - i % 4 * 8 & 255;
						var byte2 = words[i + 1 >>> 2] >>> 24 - (i + 1) % 4 * 8 & 255;
						var byte3 = words[i + 2 >>> 2] >>> 24 - (i + 2) % 4 * 8 & 255;
						var triplet = byte1 << 16 | byte2 << 8 | byte3;
						for (var j = 0; j < 4 && i + j * .75 < sigBytes; j++) {
							base64Chars.push(map.charAt(triplet >>> 6 * (3 - j) & 63));
						}
					}
					var paddingChar = map.charAt(64);
					if (paddingChar) {
						while (base64Chars.length % 4) {
							base64Chars.push(paddingChar);
						}
					}
					return base64Chars.join("");
				},
				parse: function(base64Str) {
					var base64StrLength = base64Str.length;
					var map = this._map;
					var reverseMap = this._reverseMap;
					if (!reverseMap) {
						reverseMap = this._reverseMap = [];
						for (var j = 0; j < map.length; j++) {
							reverseMap[map.charCodeAt(j)] = j;
						}
					}
					var paddingChar = map.charAt(64);
					if (paddingChar) {
						var paddingIndex = base64Str.indexOf(paddingChar);
						if (paddingIndex !== -1) {
							base64StrLength = paddingIndex;
						}
					}
					return parseLoop(base64Str, base64StrLength, reverseMap);
				},
				_map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
			};
			function parseLoop(base64Str, base64StrLength, reverseMap) {
				var words = [];
				var nBytes = 0;
				for (var i = 0; i < base64StrLength; i++) {
					if (i % 4) {
						var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << i % 4 * 2;
						var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> 6 - i % 4 * 2;
						var bitsCombined = bits1 | bits2;
						words[nBytes >>> 2] |= bitsCombined << 24 - nBytes % 4 * 8;
						nBytes++;
					}
				}
				return WordArray.create(words, nBytes);
			}
		})();
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var WordArray = C_lib.WordArray;
			var C_enc = C.enc;
			/**
			* Base64url encoding strategy.
			*/
			var Base64url = C_enc.Base64url = {
				stringify: function(wordArray, urlSafe = true) {
					var words = wordArray.words;
					var sigBytes = wordArray.sigBytes;
					var map = urlSafe ? this._safe_map : this._map;
					wordArray.clamp();
					var base64Chars = [];
					for (var i = 0; i < sigBytes; i += 3) {
						var byte1 = words[i >>> 2] >>> 24 - i % 4 * 8 & 255;
						var byte2 = words[i + 1 >>> 2] >>> 24 - (i + 1) % 4 * 8 & 255;
						var byte3 = words[i + 2 >>> 2] >>> 24 - (i + 2) % 4 * 8 & 255;
						var triplet = byte1 << 16 | byte2 << 8 | byte3;
						for (var j = 0; j < 4 && i + j * .75 < sigBytes; j++) {
							base64Chars.push(map.charAt(triplet >>> 6 * (3 - j) & 63));
						}
					}
					var paddingChar = map.charAt(64);
					if (paddingChar) {
						while (base64Chars.length % 4) {
							base64Chars.push(paddingChar);
						}
					}
					return base64Chars.join("");
				},
				parse: function(base64Str, urlSafe = true) {
					var base64StrLength = base64Str.length;
					var map = urlSafe ? this._safe_map : this._map;
					var reverseMap = this._reverseMap;
					if (!reverseMap) {
						reverseMap = this._reverseMap = [];
						for (var j = 0; j < map.length; j++) {
							reverseMap[map.charCodeAt(j)] = j;
						}
					}
					var paddingChar = map.charAt(64);
					if (paddingChar) {
						var paddingIndex = base64Str.indexOf(paddingChar);
						if (paddingIndex !== -1) {
							base64StrLength = paddingIndex;
						}
					}
					return parseLoop(base64Str, base64StrLength, reverseMap);
				},
				_map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
				_safe_map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"
			};
			function parseLoop(base64Str, base64StrLength, reverseMap) {
				var words = [];
				var nBytes = 0;
				for (var i = 0; i < base64StrLength; i++) {
					if (i % 4) {
						var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << i % 4 * 2;
						var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> 6 - i % 4 * 2;
						var bitsCombined = bits1 | bits2;
						words[nBytes >>> 2] |= bitsCombined << 24 - nBytes % 4 * 8;
						nBytes++;
					}
				}
				return WordArray.create(words, nBytes);
			}
		})();
		(function(Math) {
			var C = CryptoJS;
			var C_lib = C.lib;
			var WordArray = C_lib.WordArray;
			var Hasher = C_lib.Hasher;
			var C_algo = C.algo;
			var T = [];
			(function() {
				for (var i = 0; i < 64; i++) {
					T[i] = Math.abs(Math.sin(i + 1)) * 4294967296 | 0;
				}
			})();
			/**
			* MD5 hash algorithm.
			*/
			var MD5 = C_algo.MD5 = Hasher.extend({
				_doReset: function() {
					this._hash = new WordArray.init([
						1732584193,
						4023233417,
						2562383102,
						271733878
					]);
				},
				_doProcessBlock: function(M, offset) {
					for (var i = 0; i < 16; i++) {
						var offset_i = offset + i;
						var M_offset_i = M[offset_i];
						M[offset_i] = (M_offset_i << 8 | M_offset_i >>> 24) & 16711935 | (M_offset_i << 24 | M_offset_i >>> 8) & 4278255360;
					}
					var H = this._hash.words;
					var M_offset_0 = M[offset + 0];
					var M_offset_1 = M[offset + 1];
					var M_offset_2 = M[offset + 2];
					var M_offset_3 = M[offset + 3];
					var M_offset_4 = M[offset + 4];
					var M_offset_5 = M[offset + 5];
					var M_offset_6 = M[offset + 6];
					var M_offset_7 = M[offset + 7];
					var M_offset_8 = M[offset + 8];
					var M_offset_9 = M[offset + 9];
					var M_offset_10 = M[offset + 10];
					var M_offset_11 = M[offset + 11];
					var M_offset_12 = M[offset + 12];
					var M_offset_13 = M[offset + 13];
					var M_offset_14 = M[offset + 14];
					var M_offset_15 = M[offset + 15];
					var a = H[0];
					var b = H[1];
					var c = H[2];
					var d = H[3];
					a = FF(a, b, c, d, M_offset_0, 7, T[0]);
					d = FF(d, a, b, c, M_offset_1, 12, T[1]);
					c = FF(c, d, a, b, M_offset_2, 17, T[2]);
					b = FF(b, c, d, a, M_offset_3, 22, T[3]);
					a = FF(a, b, c, d, M_offset_4, 7, T[4]);
					d = FF(d, a, b, c, M_offset_5, 12, T[5]);
					c = FF(c, d, a, b, M_offset_6, 17, T[6]);
					b = FF(b, c, d, a, M_offset_7, 22, T[7]);
					a = FF(a, b, c, d, M_offset_8, 7, T[8]);
					d = FF(d, a, b, c, M_offset_9, 12, T[9]);
					c = FF(c, d, a, b, M_offset_10, 17, T[10]);
					b = FF(b, c, d, a, M_offset_11, 22, T[11]);
					a = FF(a, b, c, d, M_offset_12, 7, T[12]);
					d = FF(d, a, b, c, M_offset_13, 12, T[13]);
					c = FF(c, d, a, b, M_offset_14, 17, T[14]);
					b = FF(b, c, d, a, M_offset_15, 22, T[15]);
					a = GG(a, b, c, d, M_offset_1, 5, T[16]);
					d = GG(d, a, b, c, M_offset_6, 9, T[17]);
					c = GG(c, d, a, b, M_offset_11, 14, T[18]);
					b = GG(b, c, d, a, M_offset_0, 20, T[19]);
					a = GG(a, b, c, d, M_offset_5, 5, T[20]);
					d = GG(d, a, b, c, M_offset_10, 9, T[21]);
					c = GG(c, d, a, b, M_offset_15, 14, T[22]);
					b = GG(b, c, d, a, M_offset_4, 20, T[23]);
					a = GG(a, b, c, d, M_offset_9, 5, T[24]);
					d = GG(d, a, b, c, M_offset_14, 9, T[25]);
					c = GG(c, d, a, b, M_offset_3, 14, T[26]);
					b = GG(b, c, d, a, M_offset_8, 20, T[27]);
					a = GG(a, b, c, d, M_offset_13, 5, T[28]);
					d = GG(d, a, b, c, M_offset_2, 9, T[29]);
					c = GG(c, d, a, b, M_offset_7, 14, T[30]);
					b = GG(b, c, d, a, M_offset_12, 20, T[31]);
					a = HH(a, b, c, d, M_offset_5, 4, T[32]);
					d = HH(d, a, b, c, M_offset_8, 11, T[33]);
					c = HH(c, d, a, b, M_offset_11, 16, T[34]);
					b = HH(b, c, d, a, M_offset_14, 23, T[35]);
					a = HH(a, b, c, d, M_offset_1, 4, T[36]);
					d = HH(d, a, b, c, M_offset_4, 11, T[37]);
					c = HH(c, d, a, b, M_offset_7, 16, T[38]);
					b = HH(b, c, d, a, M_offset_10, 23, T[39]);
					a = HH(a, b, c, d, M_offset_13, 4, T[40]);
					d = HH(d, a, b, c, M_offset_0, 11, T[41]);
					c = HH(c, d, a, b, M_offset_3, 16, T[42]);
					b = HH(b, c, d, a, M_offset_6, 23, T[43]);
					a = HH(a, b, c, d, M_offset_9, 4, T[44]);
					d = HH(d, a, b, c, M_offset_12, 11, T[45]);
					c = HH(c, d, a, b, M_offset_15, 16, T[46]);
					b = HH(b, c, d, a, M_offset_2, 23, T[47]);
					a = II(a, b, c, d, M_offset_0, 6, T[48]);
					d = II(d, a, b, c, M_offset_7, 10, T[49]);
					c = II(c, d, a, b, M_offset_14, 15, T[50]);
					b = II(b, c, d, a, M_offset_5, 21, T[51]);
					a = II(a, b, c, d, M_offset_12, 6, T[52]);
					d = II(d, a, b, c, M_offset_3, 10, T[53]);
					c = II(c, d, a, b, M_offset_10, 15, T[54]);
					b = II(b, c, d, a, M_offset_1, 21, T[55]);
					a = II(a, b, c, d, M_offset_8, 6, T[56]);
					d = II(d, a, b, c, M_offset_15, 10, T[57]);
					c = II(c, d, a, b, M_offset_6, 15, T[58]);
					b = II(b, c, d, a, M_offset_13, 21, T[59]);
					a = II(a, b, c, d, M_offset_4, 6, T[60]);
					d = II(d, a, b, c, M_offset_11, 10, T[61]);
					c = II(c, d, a, b, M_offset_2, 15, T[62]);
					b = II(b, c, d, a, M_offset_9, 21, T[63]);
					H[0] = H[0] + a | 0;
					H[1] = H[1] + b | 0;
					H[2] = H[2] + c | 0;
					H[3] = H[3] + d | 0;
				},
				_doFinalize: function() {
					var data = this._data;
					var dataWords = data.words;
					var nBitsTotal = this._nDataBytes * 8;
					var nBitsLeft = data.sigBytes * 8;
					dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32;
					var nBitsTotalH = Math.floor(nBitsTotal / 4294967296);
					var nBitsTotalL = nBitsTotal;
					dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = (nBitsTotalH << 8 | nBitsTotalH >>> 24) & 16711935 | (nBitsTotalH << 24 | nBitsTotalH >>> 8) & 4278255360;
					dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = (nBitsTotalL << 8 | nBitsTotalL >>> 24) & 16711935 | (nBitsTotalL << 24 | nBitsTotalL >>> 8) & 4278255360;
					data.sigBytes = (dataWords.length + 1) * 4;
					this._process();
					var hash = this._hash;
					var H = hash.words;
					for (var i = 0; i < 4; i++) {
						var H_i = H[i];
						H[i] = (H_i << 8 | H_i >>> 24) & 16711935 | (H_i << 24 | H_i >>> 8) & 4278255360;
					}
					return hash;
				},
				clone: function() {
					var clone = Hasher.clone.call(this);
					clone._hash = this._hash.clone();
					return clone;
				}
			});
			function FF(a, b, c, d, x, s, t) {
				var n = a + (b & c | ~b & d) + x + t;
				return (n << s | n >>> 32 - s) + b;
			}
			function GG(a, b, c, d, x, s, t) {
				var n = a + (b & d | c & ~d) + x + t;
				return (n << s | n >>> 32 - s) + b;
			}
			function HH(a, b, c, d, x, s, t) {
				var n = a + (b ^ c ^ d) + x + t;
				return (n << s | n >>> 32 - s) + b;
			}
			function II(a, b, c, d, x, s, t) {
				var n = a + (c ^ (b | ~d)) + x + t;
				return (n << s | n >>> 32 - s) + b;
			}
			/**
			* Shortcut function to the hasher's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			*
			* @return {WordArray} The hash.
			*
			* @static
			*
			* @example
			*
			*     var hash = CryptoJS.MD5('message');
			*     var hash = CryptoJS.MD5(wordArray);
			*/
			C.MD5 = Hasher._createHelper(MD5);
			/**
			* Shortcut function to the HMAC's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			* @param {WordArray|string} key The secret key.
			*
			* @return {WordArray} The HMAC.
			*
			* @static
			*
			* @example
			*
			*     var hmac = CryptoJS.HmacMD5(message, key);
			*/
			C.HmacMD5 = Hasher._createHmacHelper(MD5);
		})(Math);
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var WordArray = C_lib.WordArray;
			var Hasher = C_lib.Hasher;
			var C_algo = C.algo;
			var W = [];
			/**
			* SHA-1 hash algorithm.
			*/
			var SHA1 = C_algo.SHA1 = Hasher.extend({
				_doReset: function() {
					this._hash = new WordArray.init([
						1732584193,
						4023233417,
						2562383102,
						271733878,
						3285377520
					]);
				},
				_doProcessBlock: function(M, offset) {
					var H = this._hash.words;
					var a = H[0];
					var b = H[1];
					var c = H[2];
					var d = H[3];
					var e = H[4];
					for (var i = 0; i < 80; i++) {
						if (i < 16) {
							W[i] = M[offset + i] | 0;
						} else {
							var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];
							W[i] = n << 1 | n >>> 31;
						}
						var t = (a << 5 | a >>> 27) + e + W[i];
						if (i < 20) {
							t += (b & c | ~b & d) + 1518500249;
						} else if (i < 40) {
							t += (b ^ c ^ d) + 1859775393;
						} else if (i < 60) {
							t += (b & c | b & d | c & d) - 1894007588;
						} else {
							t += (b ^ c ^ d) - 899497514;
						}
						e = d;
						d = c;
						c = b << 30 | b >>> 2;
						b = a;
						a = t;
					}
					H[0] = H[0] + a | 0;
					H[1] = H[1] + b | 0;
					H[2] = H[2] + c | 0;
					H[3] = H[3] + d | 0;
					H[4] = H[4] + e | 0;
				},
				_doFinalize: function() {
					var data = this._data;
					var dataWords = data.words;
					var nBitsTotal = this._nDataBytes * 8;
					var nBitsLeft = data.sigBytes * 8;
					dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32;
					dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = Math.floor(nBitsTotal / 4294967296);
					dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = nBitsTotal;
					data.sigBytes = dataWords.length * 4;
					this._process();
					return this._hash;
				},
				clone: function() {
					var clone = Hasher.clone.call(this);
					clone._hash = this._hash.clone();
					return clone;
				}
			});
			/**
			* Shortcut function to the hasher's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			*
			* @return {WordArray} The hash.
			*
			* @static
			*
			* @example
			*
			*     var hash = CryptoJS.SHA1('message');
			*     var hash = CryptoJS.SHA1(wordArray);
			*/
			C.SHA1 = Hasher._createHelper(SHA1);
			/**
			* Shortcut function to the HMAC's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			* @param {WordArray|string} key The secret key.
			*
			* @return {WordArray} The HMAC.
			*
			* @static
			*
			* @example
			*
			*     var hmac = CryptoJS.HmacSHA1(message, key);
			*/
			C.HmacSHA1 = Hasher._createHmacHelper(SHA1);
		})();
		(function(Math) {
			var C = CryptoJS;
			var C_lib = C.lib;
			var WordArray = C_lib.WordArray;
			var Hasher = C_lib.Hasher;
			var C_algo = C.algo;
			var H = [];
			var K = [];
			(function() {
				function isPrime(n) {
					var sqrtN = Math.sqrt(n);
					for (var factor = 2; factor <= sqrtN; factor++) {
						if (!(n % factor)) {
							return false;
						}
					}
					return true;
				}
				function getFractionalBits(n) {
					return (n - (n | 0)) * 4294967296 | 0;
				}
				var n = 2;
				var nPrime = 0;
				while (nPrime < 64) {
					if (isPrime(n)) {
						if (nPrime < 8) {
							H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2));
						}
						K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3));
						nPrime++;
					}
					n++;
				}
			})();
			var W = [];
			/**
			* SHA-256 hash algorithm.
			*/
			var SHA256 = C_algo.SHA256 = Hasher.extend({
				_doReset: function() {
					this._hash = new WordArray.init(H.slice(0));
				},
				_doProcessBlock: function(M, offset) {
					var H = this._hash.words;
					var a = H[0];
					var b = H[1];
					var c = H[2];
					var d = H[3];
					var e = H[4];
					var f = H[5];
					var g = H[6];
					var h = H[7];
					for (var i = 0; i < 64; i++) {
						if (i < 16) {
							W[i] = M[offset + i] | 0;
						} else {
							var gamma0x = W[i - 15];
							var gamma0 = (gamma0x << 25 | gamma0x >>> 7) ^ (gamma0x << 14 | gamma0x >>> 18) ^ gamma0x >>> 3;
							var gamma1x = W[i - 2];
							var gamma1 = (gamma1x << 15 | gamma1x >>> 17) ^ (gamma1x << 13 | gamma1x >>> 19) ^ gamma1x >>> 10;
							W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];
						}
						var ch = e & f ^ ~e & g;
						var maj = a & b ^ a & c ^ b & c;
						var sigma0 = (a << 30 | a >>> 2) ^ (a << 19 | a >>> 13) ^ (a << 10 | a >>> 22);
						var sigma1 = (e << 26 | e >>> 6) ^ (e << 21 | e >>> 11) ^ (e << 7 | e >>> 25);
						var t1 = h + sigma1 + ch + K[i] + W[i];
						var t2 = sigma0 + maj;
						h = g;
						g = f;
						f = e;
						e = d + t1 | 0;
						d = c;
						c = b;
						b = a;
						a = t1 + t2 | 0;
					}
					H[0] = H[0] + a | 0;
					H[1] = H[1] + b | 0;
					H[2] = H[2] + c | 0;
					H[3] = H[3] + d | 0;
					H[4] = H[4] + e | 0;
					H[5] = H[5] + f | 0;
					H[6] = H[6] + g | 0;
					H[7] = H[7] + h | 0;
				},
				_doFinalize: function() {
					var data = this._data;
					var dataWords = data.words;
					var nBitsTotal = this._nDataBytes * 8;
					var nBitsLeft = data.sigBytes * 8;
					dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32;
					dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = Math.floor(nBitsTotal / 4294967296);
					dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = nBitsTotal;
					data.sigBytes = dataWords.length * 4;
					this._process();
					return this._hash;
				},
				clone: function() {
					var clone = Hasher.clone.call(this);
					clone._hash = this._hash.clone();
					return clone;
				}
			});
			/**
			* Shortcut function to the hasher's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			*
			* @return {WordArray} The hash.
			*
			* @static
			*
			* @example
			*
			*     var hash = CryptoJS.SHA256('message');
			*     var hash = CryptoJS.SHA256(wordArray);
			*/
			C.SHA256 = Hasher._createHelper(SHA256);
			/**
			* Shortcut function to the HMAC's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			* @param {WordArray|string} key The secret key.
			*
			* @return {WordArray} The HMAC.
			*
			* @static
			*
			* @example
			*
			*     var hmac = CryptoJS.HmacSHA256(message, key);
			*/
			C.HmacSHA256 = Hasher._createHmacHelper(SHA256);
		})(Math);
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var WordArray = C_lib.WordArray;
			var C_algo = C.algo;
			var SHA256 = C_algo.SHA256;
			/**
			* SHA-224 hash algorithm.
			*/
			var SHA224 = C_algo.SHA224 = SHA256.extend({
				_doReset: function() {
					this._hash = new WordArray.init([
						3238371032,
						914150663,
						812702999,
						4144912697,
						4290775857,
						1750603025,
						1694076839,
						3204075428
					]);
				},
				_doFinalize: function() {
					var hash = SHA256._doFinalize.call(this);
					hash.sigBytes -= 4;
					return hash;
				}
			});
			/**
			* Shortcut function to the hasher's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			*
			* @return {WordArray} The hash.
			*
			* @static
			*
			* @example
			*
			*     var hash = CryptoJS.SHA224('message');
			*     var hash = CryptoJS.SHA224(wordArray);
			*/
			C.SHA224 = SHA256._createHelper(SHA224);
			/**
			* Shortcut function to the HMAC's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			* @param {WordArray|string} key The secret key.
			*
			* @return {WordArray} The HMAC.
			*
			* @static
			*
			* @example
			*
			*     var hmac = CryptoJS.HmacSHA224(message, key);
			*/
			C.HmacSHA224 = SHA256._createHmacHelper(SHA224);
		})();
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var Hasher = C_lib.Hasher;
			var C_x64 = C.x64;
			var X64Word = C_x64.Word;
			var X64WordArray = C_x64.WordArray;
			var C_algo = C.algo;
			function X64Word_create() {
				return X64Word.create.apply(X64Word, arguments);
			}
			var K = [
				X64Word_create(1116352408, 3609767458),
				X64Word_create(1899447441, 602891725),
				X64Word_create(3049323471, 3964484399),
				X64Word_create(3921009573, 2173295548),
				X64Word_create(961987163, 4081628472),
				X64Word_create(1508970993, 3053834265),
				X64Word_create(2453635748, 2937671579),
				X64Word_create(2870763221, 3664609560),
				X64Word_create(3624381080, 2734883394),
				X64Word_create(310598401, 1164996542),
				X64Word_create(607225278, 1323610764),
				X64Word_create(1426881987, 3590304994),
				X64Word_create(1925078388, 4068182383),
				X64Word_create(2162078206, 991336113),
				X64Word_create(2614888103, 633803317),
				X64Word_create(3248222580, 3479774868),
				X64Word_create(3835390401, 2666613458),
				X64Word_create(4022224774, 944711139),
				X64Word_create(264347078, 2341262773),
				X64Word_create(604807628, 2007800933),
				X64Word_create(770255983, 1495990901),
				X64Word_create(1249150122, 1856431235),
				X64Word_create(1555081692, 3175218132),
				X64Word_create(1996064986, 2198950837),
				X64Word_create(2554220882, 3999719339),
				X64Word_create(2821834349, 766784016),
				X64Word_create(2952996808, 2566594879),
				X64Word_create(3210313671, 3203337956),
				X64Word_create(3336571891, 1034457026),
				X64Word_create(3584528711, 2466948901),
				X64Word_create(113926993, 3758326383),
				X64Word_create(338241895, 168717936),
				X64Word_create(666307205, 1188179964),
				X64Word_create(773529912, 1546045734),
				X64Word_create(1294757372, 1522805485),
				X64Word_create(1396182291, 2643833823),
				X64Word_create(1695183700, 2343527390),
				X64Word_create(1986661051, 1014477480),
				X64Word_create(2177026350, 1206759142),
				X64Word_create(2456956037, 344077627),
				X64Word_create(2730485921, 1290863460),
				X64Word_create(2820302411, 3158454273),
				X64Word_create(3259730800, 3505952657),
				X64Word_create(3345764771, 106217008),
				X64Word_create(3516065817, 3606008344),
				X64Word_create(3600352804, 1432725776),
				X64Word_create(4094571909, 1467031594),
				X64Word_create(275423344, 851169720),
				X64Word_create(430227734, 3100823752),
				X64Word_create(506948616, 1363258195),
				X64Word_create(659060556, 3750685593),
				X64Word_create(883997877, 3785050280),
				X64Word_create(958139571, 3318307427),
				X64Word_create(1322822218, 3812723403),
				X64Word_create(1537002063, 2003034995),
				X64Word_create(1747873779, 3602036899),
				X64Word_create(1955562222, 1575990012),
				X64Word_create(2024104815, 1125592928),
				X64Word_create(2227730452, 2716904306),
				X64Word_create(2361852424, 442776044),
				X64Word_create(2428436474, 593698344),
				X64Word_create(2756734187, 3733110249),
				X64Word_create(3204031479, 2999351573),
				X64Word_create(3329325298, 3815920427),
				X64Word_create(3391569614, 3928383900),
				X64Word_create(3515267271, 566280711),
				X64Word_create(3940187606, 3454069534),
				X64Word_create(4118630271, 4000239992),
				X64Word_create(116418474, 1914138554),
				X64Word_create(174292421, 2731055270),
				X64Word_create(289380356, 3203993006),
				X64Word_create(460393269, 320620315),
				X64Word_create(685471733, 587496836),
				X64Word_create(852142971, 1086792851),
				X64Word_create(1017036298, 365543100),
				X64Word_create(1126000580, 2618297676),
				X64Word_create(1288033470, 3409855158),
				X64Word_create(1501505948, 4234509866),
				X64Word_create(1607167915, 987167468),
				X64Word_create(1816402316, 1246189591)
			];
			var W = [];
			(function() {
				for (var i = 0; i < 80; i++) {
					W[i] = X64Word_create();
				}
			})();
			/**
			* SHA-512 hash algorithm.
			*/
			var SHA512 = C_algo.SHA512 = Hasher.extend({
				_doReset: function() {
					this._hash = new X64WordArray.init([
						new X64Word.init(1779033703, 4089235720),
						new X64Word.init(3144134277, 2227873595),
						new X64Word.init(1013904242, 4271175723),
						new X64Word.init(2773480762, 1595750129),
						new X64Word.init(1359893119, 2917565137),
						new X64Word.init(2600822924, 725511199),
						new X64Word.init(528734635, 4215389547),
						new X64Word.init(1541459225, 327033209)
					]);
				},
				_doProcessBlock: function(M, offset) {
					var H = this._hash.words;
					var H0 = H[0];
					var H1 = H[1];
					var H2 = H[2];
					var H3 = H[3];
					var H4 = H[4];
					var H5 = H[5];
					var H6 = H[6];
					var H7 = H[7];
					var H0h = H0.high;
					var H0l = H0.low;
					var H1h = H1.high;
					var H1l = H1.low;
					var H2h = H2.high;
					var H2l = H2.low;
					var H3h = H3.high;
					var H3l = H3.low;
					var H4h = H4.high;
					var H4l = H4.low;
					var H5h = H5.high;
					var H5l = H5.low;
					var H6h = H6.high;
					var H6l = H6.low;
					var H7h = H7.high;
					var H7l = H7.low;
					var ah = H0h;
					var al = H0l;
					var bh = H1h;
					var bl = H1l;
					var ch = H2h;
					var cl = H2l;
					var dh = H3h;
					var dl = H3l;
					var eh = H4h;
					var el = H4l;
					var fh = H5h;
					var fl = H5l;
					var gh = H6h;
					var gl = H6l;
					var hh = H7h;
					var hl = H7l;
					for (var i = 0; i < 80; i++) {
						var Wil;
						var Wih;
						var Wi = W[i];
						if (i < 16) {
							Wih = Wi.high = M[offset + i * 2] | 0;
							Wil = Wi.low = M[offset + i * 2 + 1] | 0;
						} else {
							var gamma0x = W[i - 15];
							var gamma0xh = gamma0x.high;
							var gamma0xl = gamma0x.low;
							var gamma0h = (gamma0xh >>> 1 | gamma0xl << 31) ^ (gamma0xh >>> 8 | gamma0xl << 24) ^ gamma0xh >>> 7;
							var gamma0l = (gamma0xl >>> 1 | gamma0xh << 31) ^ (gamma0xl >>> 8 | gamma0xh << 24) ^ (gamma0xl >>> 7 | gamma0xh << 25);
							var gamma1x = W[i - 2];
							var gamma1xh = gamma1x.high;
							var gamma1xl = gamma1x.low;
							var gamma1h = (gamma1xh >>> 19 | gamma1xl << 13) ^ (gamma1xh << 3 | gamma1xl >>> 29) ^ gamma1xh >>> 6;
							var gamma1l = (gamma1xl >>> 19 | gamma1xh << 13) ^ (gamma1xl << 3 | gamma1xh >>> 29) ^ (gamma1xl >>> 6 | gamma1xh << 26);
							var Wi7 = W[i - 7];
							var Wi7h = Wi7.high;
							var Wi7l = Wi7.low;
							var Wi16 = W[i - 16];
							var Wi16h = Wi16.high;
							var Wi16l = Wi16.low;
							Wil = gamma0l + Wi7l;
							Wih = gamma0h + Wi7h + (Wil >>> 0 < gamma0l >>> 0 ? 1 : 0);
							Wil = Wil + gamma1l;
							Wih = Wih + gamma1h + (Wil >>> 0 < gamma1l >>> 0 ? 1 : 0);
							Wil = Wil + Wi16l;
							Wih = Wih + Wi16h + (Wil >>> 0 < Wi16l >>> 0 ? 1 : 0);
							Wi.high = Wih;
							Wi.low = Wil;
						}
						var chh = eh & fh ^ ~eh & gh;
						var chl = el & fl ^ ~el & gl;
						var majh = ah & bh ^ ah & ch ^ bh & ch;
						var majl = al & bl ^ al & cl ^ bl & cl;
						var sigma0h = (ah >>> 28 | al << 4) ^ (ah << 30 | al >>> 2) ^ (ah << 25 | al >>> 7);
						var sigma0l = (al >>> 28 | ah << 4) ^ (al << 30 | ah >>> 2) ^ (al << 25 | ah >>> 7);
						var sigma1h = (eh >>> 14 | el << 18) ^ (eh >>> 18 | el << 14) ^ (eh << 23 | el >>> 9);
						var sigma1l = (el >>> 14 | eh << 18) ^ (el >>> 18 | eh << 14) ^ (el << 23 | eh >>> 9);
						var Ki = K[i];
						var Kih = Ki.high;
						var Kil = Ki.low;
						var t1l = hl + sigma1l;
						var t1h = hh + sigma1h + (t1l >>> 0 < hl >>> 0 ? 1 : 0);
						var t1l = t1l + chl;
						var t1h = t1h + chh + (t1l >>> 0 < chl >>> 0 ? 1 : 0);
						var t1l = t1l + Kil;
						var t1h = t1h + Kih + (t1l >>> 0 < Kil >>> 0 ? 1 : 0);
						var t1l = t1l + Wil;
						var t1h = t1h + Wih + (t1l >>> 0 < Wil >>> 0 ? 1 : 0);
						var t2l = sigma0l + majl;
						var t2h = sigma0h + majh + (t2l >>> 0 < sigma0l >>> 0 ? 1 : 0);
						hh = gh;
						hl = gl;
						gh = fh;
						gl = fl;
						fh = eh;
						fl = el;
						el = dl + t1l | 0;
						eh = dh + t1h + (el >>> 0 < dl >>> 0 ? 1 : 0) | 0;
						dh = ch;
						dl = cl;
						ch = bh;
						cl = bl;
						bh = ah;
						bl = al;
						al = t1l + t2l | 0;
						ah = t1h + t2h + (al >>> 0 < t1l >>> 0 ? 1 : 0) | 0;
					}
					H0l = H0.low = H0l + al;
					H0.high = H0h + ah + (H0l >>> 0 < al >>> 0 ? 1 : 0);
					H1l = H1.low = H1l + bl;
					H1.high = H1h + bh + (H1l >>> 0 < bl >>> 0 ? 1 : 0);
					H2l = H2.low = H2l + cl;
					H2.high = H2h + ch + (H2l >>> 0 < cl >>> 0 ? 1 : 0);
					H3l = H3.low = H3l + dl;
					H3.high = H3h + dh + (H3l >>> 0 < dl >>> 0 ? 1 : 0);
					H4l = H4.low = H4l + el;
					H4.high = H4h + eh + (H4l >>> 0 < el >>> 0 ? 1 : 0);
					H5l = H5.low = H5l + fl;
					H5.high = H5h + fh + (H5l >>> 0 < fl >>> 0 ? 1 : 0);
					H6l = H6.low = H6l + gl;
					H6.high = H6h + gh + (H6l >>> 0 < gl >>> 0 ? 1 : 0);
					H7l = H7.low = H7l + hl;
					H7.high = H7h + hh + (H7l >>> 0 < hl >>> 0 ? 1 : 0);
				},
				_doFinalize: function() {
					var data = this._data;
					var dataWords = data.words;
					var nBitsTotal = this._nDataBytes * 8;
					var nBitsLeft = data.sigBytes * 8;
					dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32;
					dataWords[(nBitsLeft + 128 >>> 10 << 5) + 30] = Math.floor(nBitsTotal / 4294967296);
					dataWords[(nBitsLeft + 128 >>> 10 << 5) + 31] = nBitsTotal;
					data.sigBytes = dataWords.length * 4;
					this._process();
					var hash = this._hash.toX32();
					return hash;
				},
				clone: function() {
					var clone = Hasher.clone.call(this);
					clone._hash = this._hash.clone();
					return clone;
				},
				blockSize: 1024 / 32
			});
			/**
			* Shortcut function to the hasher's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			*
			* @return {WordArray} The hash.
			*
			* @static
			*
			* @example
			*
			*     var hash = CryptoJS.SHA512('message');
			*     var hash = CryptoJS.SHA512(wordArray);
			*/
			C.SHA512 = Hasher._createHelper(SHA512);
			/**
			* Shortcut function to the HMAC's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			* @param {WordArray|string} key The secret key.
			*
			* @return {WordArray} The HMAC.
			*
			* @static
			*
			* @example
			*
			*     var hmac = CryptoJS.HmacSHA512(message, key);
			*/
			C.HmacSHA512 = Hasher._createHmacHelper(SHA512);
		})();
		(function() {
			var C = CryptoJS;
			var C_x64 = C.x64;
			var X64Word = C_x64.Word;
			var X64WordArray = C_x64.WordArray;
			var C_algo = C.algo;
			var SHA512 = C_algo.SHA512;
			/**
			* SHA-384 hash algorithm.
			*/
			var SHA384 = C_algo.SHA384 = SHA512.extend({
				_doReset: function() {
					this._hash = new X64WordArray.init([
						new X64Word.init(3418070365, 3238371032),
						new X64Word.init(1654270250, 914150663),
						new X64Word.init(2438529370, 812702999),
						new X64Word.init(355462360, 4144912697),
						new X64Word.init(1731405415, 4290775857),
						new X64Word.init(2394180231, 1750603025),
						new X64Word.init(3675008525, 1694076839),
						new X64Word.init(1203062813, 3204075428)
					]);
				},
				_doFinalize: function() {
					var hash = SHA512._doFinalize.call(this);
					hash.sigBytes -= 16;
					return hash;
				}
			});
			/**
			* Shortcut function to the hasher's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			*
			* @return {WordArray} The hash.
			*
			* @static
			*
			* @example
			*
			*     var hash = CryptoJS.SHA384('message');
			*     var hash = CryptoJS.SHA384(wordArray);
			*/
			C.SHA384 = SHA512._createHelper(SHA384);
			/**
			* Shortcut function to the HMAC's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			* @param {WordArray|string} key The secret key.
			*
			* @return {WordArray} The HMAC.
			*
			* @static
			*
			* @example
			*
			*     var hmac = CryptoJS.HmacSHA384(message, key);
			*/
			C.HmacSHA384 = SHA512._createHmacHelper(SHA384);
		})();
		(function(Math) {
			var C = CryptoJS;
			var C_lib = C.lib;
			var WordArray = C_lib.WordArray;
			var Hasher = C_lib.Hasher;
			var C_x64 = C.x64;
			var X64Word = C_x64.Word;
			var C_algo = C.algo;
			var RHO_OFFSETS = [];
			var PI_INDEXES = [];
			var ROUND_CONSTANTS = [];
			(function() {
				var x = 1, y = 0;
				for (var t = 0; t < 24; t++) {
					RHO_OFFSETS[x + 5 * y] = (t + 1) * (t + 2) / 2 % 64;
					var newX = y % 5;
					var newY = (2 * x + 3 * y) % 5;
					x = newX;
					y = newY;
				}
				for (var x = 0; x < 5; x++) {
					for (var y = 0; y < 5; y++) {
						PI_INDEXES[x + 5 * y] = y + (2 * x + 3 * y) % 5 * 5;
					}
				}
				var LFSR = 1;
				for (var i = 0; i < 24; i++) {
					var roundConstantMsw = 0;
					var roundConstantLsw = 0;
					for (var j = 0; j < 7; j++) {
						if (LFSR & 1) {
							var bitPosition = (1 << j) - 1;
							if (bitPosition < 32) {
								roundConstantLsw ^= 1 << bitPosition;
							} else {
								roundConstantMsw ^= 1 << bitPosition - 32;
							}
						}
						if (LFSR & 128) {
							LFSR = LFSR << 1 ^ 113;
						} else {
							LFSR <<= 1;
						}
					}
					ROUND_CONSTANTS[i] = X64Word.create(roundConstantMsw, roundConstantLsw);
				}
			})();
			var T = [];
			(function() {
				for (var i = 0; i < 25; i++) {
					T[i] = X64Word.create();
				}
			})();
			/**
			* SHA-3 hash algorithm.
			*/
			var SHA3 = C_algo.SHA3 = Hasher.extend({
				cfg: Hasher.cfg.extend({ outputLength: 512 }),
				_doReset: function() {
					var state = this._state = [];
					for (var i = 0; i < 25; i++) {
						state[i] = new X64Word.init();
					}
					this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32;
				},
				_doProcessBlock: function(M, offset) {
					var state = this._state;
					var nBlockSizeLanes = this.blockSize / 2;
					for (var i = 0; i < nBlockSizeLanes; i++) {
						var M2i = M[offset + 2 * i];
						var M2i1 = M[offset + 2 * i + 1];
						M2i = (M2i << 8 | M2i >>> 24) & 16711935 | (M2i << 24 | M2i >>> 8) & 4278255360;
						M2i1 = (M2i1 << 8 | M2i1 >>> 24) & 16711935 | (M2i1 << 24 | M2i1 >>> 8) & 4278255360;
						var lane = state[i];
						lane.high ^= M2i1;
						lane.low ^= M2i;
					}
					for (var round = 0; round < 24; round++) {
						for (var x = 0; x < 5; x++) {
							var tMsw = 0, tLsw = 0;
							for (var y = 0; y < 5; y++) {
								var lane = state[x + 5 * y];
								tMsw ^= lane.high;
								tLsw ^= lane.low;
							}
							var Tx = T[x];
							Tx.high = tMsw;
							Tx.low = tLsw;
						}
						for (var x = 0; x < 5; x++) {
							var Tx4 = T[(x + 4) % 5];
							var Tx1 = T[(x + 1) % 5];
							var Tx1Msw = Tx1.high;
							var Tx1Lsw = Tx1.low;
							var tMsw = Tx4.high ^ (Tx1Msw << 1 | Tx1Lsw >>> 31);
							var tLsw = Tx4.low ^ (Tx1Lsw << 1 | Tx1Msw >>> 31);
							for (var y = 0; y < 5; y++) {
								var lane = state[x + 5 * y];
								lane.high ^= tMsw;
								lane.low ^= tLsw;
							}
						}
						for (var laneIndex = 1; laneIndex < 25; laneIndex++) {
							var tMsw;
							var tLsw;
							var lane = state[laneIndex];
							var laneMsw = lane.high;
							var laneLsw = lane.low;
							var rhoOffset = RHO_OFFSETS[laneIndex];
							if (rhoOffset < 32) {
								tMsw = laneMsw << rhoOffset | laneLsw >>> 32 - rhoOffset;
								tLsw = laneLsw << rhoOffset | laneMsw >>> 32 - rhoOffset;
							} else {
								tMsw = laneLsw << rhoOffset - 32 | laneMsw >>> 64 - rhoOffset;
								tLsw = laneMsw << rhoOffset - 32 | laneLsw >>> 64 - rhoOffset;
							}
							var TPiLane = T[PI_INDEXES[laneIndex]];
							TPiLane.high = tMsw;
							TPiLane.low = tLsw;
						}
						var T0 = T[0];
						var state0 = state[0];
						T0.high = state0.high;
						T0.low = state0.low;
						for (var x = 0; x < 5; x++) {
							for (var y = 0; y < 5; y++) {
								var laneIndex = x + 5 * y;
								var lane = state[laneIndex];
								var TLane = T[laneIndex];
								var Tx1Lane = T[(x + 1) % 5 + 5 * y];
								var Tx2Lane = T[(x + 2) % 5 + 5 * y];
								lane.high = TLane.high ^ ~Tx1Lane.high & Tx2Lane.high;
								lane.low = TLane.low ^ ~Tx1Lane.low & Tx2Lane.low;
							}
						}
						var lane = state[0];
						var roundConstant = ROUND_CONSTANTS[round];
						lane.high ^= roundConstant.high;
						lane.low ^= roundConstant.low;
					}
				},
				_doFinalize: function() {
					var data = this._data;
					var dataWords = data.words;
					var nBitsTotal = this._nDataBytes * 8;
					var nBitsLeft = data.sigBytes * 8;
					var blockSizeBits = this.blockSize * 32;
					dataWords[nBitsLeft >>> 5] |= 1 << 24 - nBitsLeft % 32;
					dataWords[(Math.ceil((nBitsLeft + 1) / blockSizeBits) * blockSizeBits >>> 5) - 1] |= 128;
					data.sigBytes = dataWords.length * 4;
					this._process();
					var state = this._state;
					var outputLengthBytes = this.cfg.outputLength / 8;
					var outputLengthLanes = outputLengthBytes / 8;
					var hashWords = [];
					for (var i = 0; i < outputLengthLanes; i++) {
						var lane = state[i];
						var laneMsw = lane.high;
						var laneLsw = lane.low;
						laneMsw = (laneMsw << 8 | laneMsw >>> 24) & 16711935 | (laneMsw << 24 | laneMsw >>> 8) & 4278255360;
						laneLsw = (laneLsw << 8 | laneLsw >>> 24) & 16711935 | (laneLsw << 24 | laneLsw >>> 8) & 4278255360;
						hashWords.push(laneLsw);
						hashWords.push(laneMsw);
					}
					return new WordArray.init(hashWords, outputLengthBytes);
				},
				clone: function() {
					var clone = Hasher.clone.call(this);
					var state = clone._state = this._state.slice(0);
					for (var i = 0; i < 25; i++) {
						state[i] = state[i].clone();
					}
					return clone;
				}
			});
			/**
			* Shortcut function to the hasher's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			*
			* @return {WordArray} The hash.
			*
			* @static
			*
			* @example
			*
			*     var hash = CryptoJS.SHA3('message');
			*     var hash = CryptoJS.SHA3(wordArray);
			*/
			C.SHA3 = Hasher._createHelper(SHA3);
			/**
			* Shortcut function to the HMAC's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			* @param {WordArray|string} key The secret key.
			*
			* @return {WordArray} The HMAC.
			*
			* @static
			*
			* @example
			*
			*     var hmac = CryptoJS.HmacSHA3(message, key);
			*/
			C.HmacSHA3 = Hasher._createHmacHelper(SHA3);
		})(Math);
		/** @preserve
		(c) 2012 by Cédric Mesnil. All rights reserved.
		
		Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
		
		- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
		- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
		
		THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
		*/
		(function(Math) {
			var C = CryptoJS;
			var C_lib = C.lib;
			var WordArray = C_lib.WordArray;
			var Hasher = C_lib.Hasher;
			var C_algo = C.algo;
			var _zl = WordArray.create([
				0,
				1,
				2,
				3,
				4,
				5,
				6,
				7,
				8,
				9,
				10,
				11,
				12,
				13,
				14,
				15,
				7,
				4,
				13,
				1,
				10,
				6,
				15,
				3,
				12,
				0,
				9,
				5,
				2,
				14,
				11,
				8,
				3,
				10,
				14,
				4,
				9,
				15,
				8,
				1,
				2,
				7,
				0,
				6,
				13,
				11,
				5,
				12,
				1,
				9,
				11,
				10,
				0,
				8,
				12,
				4,
				13,
				3,
				7,
				15,
				14,
				5,
				6,
				2,
				4,
				0,
				5,
				9,
				7,
				12,
				2,
				10,
				14,
				1,
				3,
				8,
				11,
				6,
				15,
				13
			]);
			var _zr = WordArray.create([
				5,
				14,
				7,
				0,
				9,
				2,
				11,
				4,
				13,
				6,
				15,
				8,
				1,
				10,
				3,
				12,
				6,
				11,
				3,
				7,
				0,
				13,
				5,
				10,
				14,
				15,
				8,
				12,
				4,
				9,
				1,
				2,
				15,
				5,
				1,
				3,
				7,
				14,
				6,
				9,
				11,
				8,
				12,
				2,
				10,
				0,
				4,
				13,
				8,
				6,
				4,
				1,
				3,
				11,
				15,
				0,
				5,
				12,
				2,
				13,
				9,
				7,
				10,
				14,
				12,
				15,
				10,
				4,
				1,
				5,
				8,
				7,
				6,
				2,
				13,
				14,
				0,
				3,
				9,
				11
			]);
			var _sl = WordArray.create([
				11,
				14,
				15,
				12,
				5,
				8,
				7,
				9,
				11,
				13,
				14,
				15,
				6,
				7,
				9,
				8,
				7,
				6,
				8,
				13,
				11,
				9,
				7,
				15,
				7,
				12,
				15,
				9,
				11,
				7,
				13,
				12,
				11,
				13,
				6,
				7,
				14,
				9,
				13,
				15,
				14,
				8,
				13,
				6,
				5,
				12,
				7,
				5,
				11,
				12,
				14,
				15,
				14,
				15,
				9,
				8,
				9,
				14,
				5,
				6,
				8,
				6,
				5,
				12,
				9,
				15,
				5,
				11,
				6,
				8,
				13,
				12,
				5,
				12,
				13,
				14,
				11,
				8,
				5,
				6
			]);
			var _sr = WordArray.create([
				8,
				9,
				9,
				11,
				13,
				15,
				15,
				5,
				7,
				7,
				8,
				11,
				14,
				14,
				12,
				6,
				9,
				13,
				15,
				7,
				12,
				8,
				9,
				11,
				7,
				7,
				12,
				7,
				6,
				15,
				13,
				11,
				9,
				7,
				15,
				11,
				8,
				6,
				6,
				14,
				12,
				13,
				5,
				14,
				13,
				13,
				7,
				5,
				15,
				5,
				8,
				11,
				14,
				14,
				6,
				14,
				6,
				9,
				12,
				9,
				12,
				5,
				15,
				8,
				8,
				5,
				12,
				9,
				12,
				5,
				14,
				6,
				8,
				13,
				6,
				5,
				15,
				13,
				11,
				11
			]);
			var _hl = WordArray.create([
				0,
				1518500249,
				1859775393,
				2400959708,
				2840853838
			]);
			var _hr = WordArray.create([
				1352829926,
				1548603684,
				1836072691,
				2053994217,
				0
			]);
			/**
			* RIPEMD160 hash algorithm.
			*/
			var RIPEMD160 = C_algo.RIPEMD160 = Hasher.extend({
				_doReset: function() {
					this._hash = WordArray.create([
						1732584193,
						4023233417,
						2562383102,
						271733878,
						3285377520
					]);
				},
				_doProcessBlock: function(M, offset) {
					for (var i = 0; i < 16; i++) {
						var offset_i = offset + i;
						var M_offset_i = M[offset_i];
						M[offset_i] = (M_offset_i << 8 | M_offset_i >>> 24) & 16711935 | (M_offset_i << 24 | M_offset_i >>> 8) & 4278255360;
					}
					var H = this._hash.words;
					var hl = _hl.words;
					var hr = _hr.words;
					var zl = _zl.words;
					var zr = _zr.words;
					var sl = _sl.words;
					var sr = _sr.words;
					var al, bl, cl, dl, el;
					var ar, br, cr, dr, er;
					ar = al = H[0];
					br = bl = H[1];
					cr = cl = H[2];
					dr = dl = H[3];
					er = el = H[4];
					var t;
					for (var i = 0; i < 80; i += 1) {
						t = al + M[offset + zl[i]] | 0;
						if (i < 16) {
							t += f1(bl, cl, dl) + hl[0];
						} else if (i < 32) {
							t += f2(bl, cl, dl) + hl[1];
						} else if (i < 48) {
							t += f3(bl, cl, dl) + hl[2];
						} else if (i < 64) {
							t += f4(bl, cl, dl) + hl[3];
						} else {
							t += f5(bl, cl, dl) + hl[4];
						}
						t = t | 0;
						t = rotl(t, sl[i]);
						t = t + el | 0;
						al = el;
						el = dl;
						dl = rotl(cl, 10);
						cl = bl;
						bl = t;
						t = ar + M[offset + zr[i]] | 0;
						if (i < 16) {
							t += f5(br, cr, dr) + hr[0];
						} else if (i < 32) {
							t += f4(br, cr, dr) + hr[1];
						} else if (i < 48) {
							t += f3(br, cr, dr) + hr[2];
						} else if (i < 64) {
							t += f2(br, cr, dr) + hr[3];
						} else {
							t += f1(br, cr, dr) + hr[4];
						}
						t = t | 0;
						t = rotl(t, sr[i]);
						t = t + er | 0;
						ar = er;
						er = dr;
						dr = rotl(cr, 10);
						cr = br;
						br = t;
					}
					t = H[1] + cl + dr | 0;
					H[1] = H[2] + dl + er | 0;
					H[2] = H[3] + el + ar | 0;
					H[3] = H[4] + al + br | 0;
					H[4] = H[0] + bl + cr | 0;
					H[0] = t;
				},
				_doFinalize: function() {
					var data = this._data;
					var dataWords = data.words;
					var nBitsTotal = this._nDataBytes * 8;
					var nBitsLeft = data.sigBytes * 8;
					dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32;
					dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = (nBitsTotal << 8 | nBitsTotal >>> 24) & 16711935 | (nBitsTotal << 24 | nBitsTotal >>> 8) & 4278255360;
					data.sigBytes = (dataWords.length + 1) * 4;
					this._process();
					var hash = this._hash;
					var H = hash.words;
					for (var i = 0; i < 5; i++) {
						var H_i = H[i];
						H[i] = (H_i << 8 | H_i >>> 24) & 16711935 | (H_i << 24 | H_i >>> 8) & 4278255360;
					}
					return hash;
				},
				clone: function() {
					var clone = Hasher.clone.call(this);
					clone._hash = this._hash.clone();
					return clone;
				}
			});
			function f1(x, y, z) {
				return x ^ y ^ z;
			}
			function f2(x, y, z) {
				return x & y | ~x & z;
			}
			function f3(x, y, z) {
				return (x | ~y) ^ z;
			}
			function f4(x, y, z) {
				return x & z | y & ~z;
			}
			function f5(x, y, z) {
				return x ^ (y | ~z);
			}
			function rotl(x, n) {
				return x << n | x >>> 32 - n;
			}
			/**
			* Shortcut function to the hasher's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			*
			* @return {WordArray} The hash.
			*
			* @static
			*
			* @example
			*
			*     var hash = CryptoJS.RIPEMD160('message');
			*     var hash = CryptoJS.RIPEMD160(wordArray);
			*/
			C.RIPEMD160 = Hasher._createHelper(RIPEMD160);
			/**
			* Shortcut function to the HMAC's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			* @param {WordArray|string} key The secret key.
			*
			* @return {WordArray} The HMAC.
			*
			* @static
			*
			* @example
			*
			*     var hmac = CryptoJS.HmacRIPEMD160(message, key);
			*/
			C.HmacRIPEMD160 = Hasher._createHmacHelper(RIPEMD160);
		})(Math);
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var Base = C_lib.Base;
			var C_enc = C.enc;
			var Utf8 = C_enc.Utf8;
			var C_algo = C.algo;
			/**
			* HMAC algorithm.
			*/
			var HMAC = C_algo.HMAC = Base.extend({
				init: function(hasher, key) {
					hasher = this._hasher = new hasher.init();
					if (typeof key == "string") {
						key = Utf8.parse(key);
					}
					var hasherBlockSize = hasher.blockSize;
					var hasherBlockSizeBytes = hasherBlockSize * 4;
					if (key.sigBytes > hasherBlockSizeBytes) {
						key = hasher.finalize(key);
					}
					key.clamp();
					var oKey = this._oKey = key.clone();
					var iKey = this._iKey = key.clone();
					var oKeyWords = oKey.words;
					var iKeyWords = iKey.words;
					for (var i = 0; i < hasherBlockSize; i++) {
						oKeyWords[i] ^= 1549556828;
						iKeyWords[i] ^= 909522486;
					}
					oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes;
					this.reset();
				},
				reset: function() {
					var hasher = this._hasher;
					hasher.reset();
					hasher.update(this._iKey);
				},
				update: function(messageUpdate) {
					this._hasher.update(messageUpdate);
					return this;
				},
				finalize: function(messageUpdate) {
					var hasher = this._hasher;
					var innerHash = hasher.finalize(messageUpdate);
					hasher.reset();
					var hmac = hasher.finalize(this._oKey.clone().concat(innerHash));
					return hmac;
				}
			});
		})();
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var Base = C_lib.Base;
			var WordArray = C_lib.WordArray;
			var C_algo = C.algo;
			var SHA1 = C_algo.SHA1;
			var HMAC = C_algo.HMAC;
			/**
			* Password-Based Key Derivation Function 2 algorithm.
			*/
			var PBKDF2 = C_algo.PBKDF2 = Base.extend({
				cfg: Base.extend({
					keySize: 128 / 32,
					hasher: SHA1,
					iterations: 1
				}),
				init: function(cfg) {
					this.cfg = this.cfg.extend(cfg);
				},
				compute: function(password, salt) {
					var cfg = this.cfg;
					var hmac = HMAC.create(cfg.hasher, password);
					var derivedKey = WordArray.create();
					var blockIndex = WordArray.create([1]);
					var derivedKeyWords = derivedKey.words;
					var blockIndexWords = blockIndex.words;
					var keySize = cfg.keySize;
					var iterations = cfg.iterations;
					while (derivedKeyWords.length < keySize) {
						var block = hmac.update(salt).finalize(blockIndex);
						hmac.reset();
						var blockWords = block.words;
						var blockWordsLength = blockWords.length;
						var intermediate = block;
						for (var i = 1; i < iterations; i++) {
							intermediate = hmac.finalize(intermediate);
							hmac.reset();
							var intermediateWords = intermediate.words;
							for (var j = 0; j < blockWordsLength; j++) {
								blockWords[j] ^= intermediateWords[j];
							}
						}
						derivedKey.concat(block);
						blockIndexWords[0]++;
					}
					derivedKey.sigBytes = keySize * 4;
					return derivedKey;
				}
			});
			/**
			* Computes the Password-Based Key Derivation Function 2.
			*
			* @param {WordArray|string} password The password.
			* @param {WordArray|string} salt A salt.
			* @param {Object} cfg (Optional) The configuration options to use for this computation.
			*
			* @return {WordArray} The derived key.
			*
			* @static
			*
			* @example
			*
			*     var key = CryptoJS.PBKDF2(password, salt);
			*     var key = CryptoJS.PBKDF2(password, salt, { keySize: 8 });
			*     var key = CryptoJS.PBKDF2(password, salt, { keySize: 8, iterations: 1000 });
			*/
			C.PBKDF2 = function(password, salt, cfg) {
				return PBKDF2.create(cfg).compute(password, salt);
			};
		})();
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var Base = C_lib.Base;
			var WordArray = C_lib.WordArray;
			var C_algo = C.algo;
			var MD5 = C_algo.MD5;
			/**
			* This key derivation function is meant to conform with EVP_BytesToKey.
			* www.openssl.org/docs/crypto/EVP_BytesToKey.html
			*/
			var EvpKDF = C_algo.EvpKDF = Base.extend({
				cfg: Base.extend({
					keySize: 128 / 32,
					hasher: MD5,
					iterations: 1
				}),
				init: function(cfg) {
					this.cfg = this.cfg.extend(cfg);
				},
				compute: function(password, salt) {
					var block;
					var cfg = this.cfg;
					var hasher = cfg.hasher.create();
					var derivedKey = WordArray.create();
					var derivedKeyWords = derivedKey.words;
					var keySize = cfg.keySize;
					var iterations = cfg.iterations;
					while (derivedKeyWords.length < keySize) {
						if (block) {
							hasher.update(block);
						}
						block = hasher.update(password).finalize(salt);
						hasher.reset();
						for (var i = 1; i < iterations; i++) {
							block = hasher.finalize(block);
							hasher.reset();
						}
						derivedKey.concat(block);
					}
					derivedKey.sigBytes = keySize * 4;
					return derivedKey;
				}
			});
			/**
			* Derives a key from a password.
			*
			* @param {WordArray|string} password The password.
			* @param {WordArray|string} salt A salt.
			* @param {Object} cfg (Optional) The configuration options to use for this computation.
			*
			* @return {WordArray} The derived key.
			*
			* @static
			*
			* @example
			*
			*     var key = CryptoJS.EvpKDF(password, salt);
			*     var key = CryptoJS.EvpKDF(password, salt, { keySize: 8 });
			*     var key = CryptoJS.EvpKDF(password, salt, { keySize: 8, iterations: 1000 });
			*/
			C.EvpKDF = function(password, salt, cfg) {
				return EvpKDF.create(cfg).compute(password, salt);
			};
		})();
		/**
		* Cipher core components.
		*/
		CryptoJS.lib.Cipher || function(undefined) {
			var C = CryptoJS;
			var C_lib = C.lib;
			var Base = C_lib.Base;
			var WordArray = C_lib.WordArray;
			var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm;
			var C_enc = C.enc;
			var Utf8 = C_enc.Utf8;
			var Base64 = C_enc.Base64;
			var C_algo = C.algo;
			var EvpKDF = C_algo.EvpKDF;
			/**
			* Abstract base cipher template.
			*
			* @property {number} keySize This cipher's key size. Default: 4 (128 bits)
			* @property {number} ivSize This cipher's IV size. Default: 4 (128 bits)
			* @property {number} _ENC_XFORM_MODE A constant representing encryption mode.
			* @property {number} _DEC_XFORM_MODE A constant representing decryption mode.
			*/
			var Cipher = C_lib.Cipher = BufferedBlockAlgorithm.extend({
				cfg: Base.extend(),
				createEncryptor: function(key, cfg) {
					return this.create(this._ENC_XFORM_MODE, key, cfg);
				},
				createDecryptor: function(key, cfg) {
					return this.create(this._DEC_XFORM_MODE, key, cfg);
				},
				init: function(xformMode, key, cfg) {
					this.cfg = this.cfg.extend(cfg);
					this._xformMode = xformMode;
					this._key = key;
					this.reset();
				},
				reset: function() {
					BufferedBlockAlgorithm.reset.call(this);
					this._doReset();
				},
				process: function(dataUpdate) {
					this._append(dataUpdate);
					return this._process();
				},
				finalize: function(dataUpdate) {
					if (dataUpdate) {
						this._append(dataUpdate);
					}
					var finalProcessedData = this._doFinalize();
					return finalProcessedData;
				},
				keySize: 128 / 32,
				ivSize: 128 / 32,
				_ENC_XFORM_MODE: 1,
				_DEC_XFORM_MODE: 2,
				_createHelper: function() {
					function selectCipherStrategy(key) {
						if (typeof key == "string") {
							return PasswordBasedCipher;
						} else {
							return SerializableCipher;
						}
					}
					return function(cipher) {
						return {
							encrypt: function(message, key, cfg) {
								return selectCipherStrategy(key).encrypt(cipher, message, key, cfg);
							},
							decrypt: function(ciphertext, key, cfg) {
								return selectCipherStrategy(key).decrypt(cipher, ciphertext, key, cfg);
							}
						};
					};
				}()
			});
			/**
			* Abstract base stream cipher template.
			*
			* @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 1 (32 bits)
			*/
			var StreamCipher = C_lib.StreamCipher = Cipher.extend({
				_doFinalize: function() {
					var finalProcessedBlocks = this._process(!!"flush");
					return finalProcessedBlocks;
				},
				blockSize: 1
			});
			/**
			* Mode namespace.
			*/
			var C_mode = C.mode = {};
			/**
			* Abstract base block cipher mode template.
			*/
			var BlockCipherMode = C_lib.BlockCipherMode = Base.extend({
				createEncryptor: function(cipher, iv) {
					return this.Encryptor.create(cipher, iv);
				},
				createDecryptor: function(cipher, iv) {
					return this.Decryptor.create(cipher, iv);
				},
				init: function(cipher, iv) {
					this._cipher = cipher;
					this._iv = iv;
				}
			});
			/**
			* Cipher Block Chaining mode.
			*/
			var CBC = C_mode.CBC = function() {
				/**
				* Abstract base CBC mode.
				*/
				var CBC = BlockCipherMode.extend();
				/**
				* CBC encryptor.
				*/
				CBC.Encryptor = CBC.extend({ processBlock: function(words, offset) {
					var cipher = this._cipher;
					var blockSize = cipher.blockSize;
					xorBlock.call(this, words, offset, blockSize);
					cipher.encryptBlock(words, offset);
					this._prevBlock = words.slice(offset, offset + blockSize);
				} });
				/**
				* CBC decryptor.
				*/
				CBC.Decryptor = CBC.extend({ processBlock: function(words, offset) {
					var cipher = this._cipher;
					var blockSize = cipher.blockSize;
					var thisBlock = words.slice(offset, offset + blockSize);
					cipher.decryptBlock(words, offset);
					xorBlock.call(this, words, offset, blockSize);
					this._prevBlock = thisBlock;
				} });
				function xorBlock(words, offset, blockSize) {
					var block;
					var iv = this._iv;
					if (iv) {
						block = iv;
						this._iv = undefined;
					} else {
						block = this._prevBlock;
					}
					for (var i = 0; i < blockSize; i++) {
						words[offset + i] ^= block[i];
					}
				}
				return CBC;
			}();
			/**
			* Padding namespace.
			*/
			var C_pad = C.pad = {};
			/**
			* PKCS #5/7 padding strategy.
			*/
			var Pkcs7 = C_pad.Pkcs7 = {
				pad: function(data, blockSize) {
					var blockSizeBytes = blockSize * 4;
					var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;
					var paddingWord = nPaddingBytes << 24 | nPaddingBytes << 16 | nPaddingBytes << 8 | nPaddingBytes;
					var paddingWords = [];
					for (var i = 0; i < nPaddingBytes; i += 4) {
						paddingWords.push(paddingWord);
					}
					var padding = WordArray.create(paddingWords, nPaddingBytes);
					data.concat(padding);
				},
				unpad: function(data) {
					var nPaddingBytes = data.words[data.sigBytes - 1 >>> 2] & 255;
					data.sigBytes -= nPaddingBytes;
				}
			};
			/**
			* Abstract base block cipher template.
			*
			* @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 4 (128 bits)
			*/
			var BlockCipher = C_lib.BlockCipher = Cipher.extend({
				cfg: Cipher.cfg.extend({
					mode: CBC,
					padding: Pkcs7
				}),
				reset: function() {
					var modeCreator;
					Cipher.reset.call(this);
					var cfg = this.cfg;
					var iv = cfg.iv;
					var mode = cfg.mode;
					if (this._xformMode == this._ENC_XFORM_MODE) {
						modeCreator = mode.createEncryptor;
					} else {
						modeCreator = mode.createDecryptor;
						this._minBufferSize = 1;
					}
					if (this._mode && this._mode.__creator == modeCreator) {
						this._mode.init(this, iv && iv.words);
					} else {
						this._mode = modeCreator.call(mode, this, iv && iv.words);
						this._mode.__creator = modeCreator;
					}
				},
				_doProcessBlock: function(words, offset) {
					this._mode.processBlock(words, offset);
				},
				_doFinalize: function() {
					var finalProcessedBlocks;
					var padding = this.cfg.padding;
					if (this._xformMode == this._ENC_XFORM_MODE) {
						padding.pad(this._data, this.blockSize);
						finalProcessedBlocks = this._process(!!"flush");
					} else {
						finalProcessedBlocks = this._process(!!"flush");
						padding.unpad(finalProcessedBlocks);
					}
					return finalProcessedBlocks;
				},
				blockSize: 128 / 32
			});
			/**
			* A collection of cipher parameters.
			*
			* @property {WordArray} ciphertext The raw ciphertext.
			* @property {WordArray} key The key to this ciphertext.
			* @property {WordArray} iv The IV used in the ciphering operation.
			* @property {WordArray} salt The salt used with a key derivation function.
			* @property {Cipher} algorithm The cipher algorithm.
			* @property {Mode} mode The block mode used in the ciphering operation.
			* @property {Padding} padding The padding scheme used in the ciphering operation.
			* @property {number} blockSize The block size of the cipher.
			* @property {Format} formatter The default formatting strategy to convert this cipher params object to a string.
			*/
			var CipherParams = C_lib.CipherParams = Base.extend({
				init: function(cipherParams) {
					this.mixIn(cipherParams);
				},
				toString: function(formatter) {
					return (formatter || this.formatter).stringify(this);
				}
			});
			/**
			* Format namespace.
			*/
			var C_format = C.format = {};
			/**
			* OpenSSL formatting strategy.
			*/
			var OpenSSLFormatter = C_format.OpenSSL = {
				stringify: function(cipherParams) {
					var wordArray;
					var ciphertext = cipherParams.ciphertext;
					var salt = cipherParams.salt;
					if (salt) {
						wordArray = WordArray.create([1398893684, 1701076831]).concat(salt).concat(ciphertext);
					} else {
						wordArray = ciphertext;
					}
					return wordArray.toString(Base64);
				},
				parse: function(openSSLStr) {
					var salt;
					var ciphertext = Base64.parse(openSSLStr);
					var ciphertextWords = ciphertext.words;
					if (ciphertextWords[0] == 1398893684 && ciphertextWords[1] == 1701076831) {
						salt = WordArray.create(ciphertextWords.slice(2, 4));
						ciphertextWords.splice(0, 4);
						ciphertext.sigBytes -= 16;
					}
					return CipherParams.create({
						ciphertext,
						salt
					});
				}
			};
			/**
			* A cipher wrapper that returns ciphertext as a serializable cipher params object.
			*/
			var SerializableCipher = C_lib.SerializableCipher = Base.extend({
				cfg: Base.extend({ format: OpenSSLFormatter }),
				encrypt: function(cipher, message, key, cfg) {
					cfg = this.cfg.extend(cfg);
					var encryptor = cipher.createEncryptor(key, cfg);
					var ciphertext = encryptor.finalize(message);
					var cipherCfg = encryptor.cfg;
					return CipherParams.create({
						ciphertext,
						key,
						iv: cipherCfg.iv,
						algorithm: cipher,
						mode: cipherCfg.mode,
						padding: cipherCfg.padding,
						blockSize: cipher.blockSize,
						formatter: cfg.format
					});
				},
				decrypt: function(cipher, ciphertext, key, cfg) {
					cfg = this.cfg.extend(cfg);
					ciphertext = this._parse(ciphertext, cfg.format);
					var plaintext = cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext);
					return plaintext;
				},
				_parse: function(ciphertext, format) {
					if (typeof ciphertext == "string") {
						return format.parse(ciphertext, this);
					} else {
						return ciphertext;
					}
				}
			});
			/**
			* Key derivation function namespace.
			*/
			var C_kdf = C.kdf = {};
			/**
			* OpenSSL key derivation function.
			*/
			var OpenSSLKdf = C_kdf.OpenSSL = { execute: function(password, keySize, ivSize, salt) {
				if (!salt) {
					salt = WordArray.random(64 / 8);
				}
				var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt);
				var iv = WordArray.create(key.words.slice(keySize), ivSize * 4);
				key.sigBytes = keySize * 4;
				return CipherParams.create({
					key,
					iv,
					salt
				});
			} };
			/**
			* A serializable cipher wrapper that derives the key from a password,
			* and returns ciphertext as a serializable cipher params object.
			*/
			var PasswordBasedCipher = C_lib.PasswordBasedCipher = SerializableCipher.extend({
				cfg: SerializableCipher.cfg.extend({ kdf: OpenSSLKdf }),
				encrypt: function(cipher, message, password, cfg) {
					cfg = this.cfg.extend(cfg);
					var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize);
					cfg.iv = derivedParams.iv;
					var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg);
					ciphertext.mixIn(derivedParams);
					return ciphertext;
				},
				decrypt: function(cipher, ciphertext, password, cfg) {
					cfg = this.cfg.extend(cfg);
					ciphertext = this._parse(ciphertext, cfg.format);
					var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt);
					cfg.iv = derivedParams.iv;
					var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg);
					return plaintext;
				}
			});
		}();
		/**
		* Cipher Feedback block mode.
		*/
		CryptoJS.mode.CFB = function() {
			var CFB = CryptoJS.lib.BlockCipherMode.extend();
			CFB.Encryptor = CFB.extend({ processBlock: function(words, offset) {
				var cipher = this._cipher;
				var blockSize = cipher.blockSize;
				generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);
				this._prevBlock = words.slice(offset, offset + blockSize);
			} });
			CFB.Decryptor = CFB.extend({ processBlock: function(words, offset) {
				var cipher = this._cipher;
				var blockSize = cipher.blockSize;
				var thisBlock = words.slice(offset, offset + blockSize);
				generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);
				this._prevBlock = thisBlock;
			} });
			function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) {
				var keystream;
				var iv = this._iv;
				if (iv) {
					keystream = iv.slice(0);
					this._iv = undefined;
				} else {
					keystream = this._prevBlock;
				}
				cipher.encryptBlock(keystream, 0);
				for (var i = 0; i < blockSize; i++) {
					words[offset + i] ^= keystream[i];
				}
			}
			return CFB;
		}();
		/**
		* Counter block mode.
		*/
		CryptoJS.mode.CTR = function() {
			var CTR = CryptoJS.lib.BlockCipherMode.extend();
			var Encryptor = CTR.Encryptor = CTR.extend({ processBlock: function(words, offset) {
				var cipher = this._cipher;
				var blockSize = cipher.blockSize;
				var iv = this._iv;
				var counter = this._counter;
				if (iv) {
					counter = this._counter = iv.slice(0);
					this._iv = undefined;
				}
				var keystream = counter.slice(0);
				cipher.encryptBlock(keystream, 0);
				counter[blockSize - 1] = counter[blockSize - 1] + 1 | 0;
				for (var i = 0; i < blockSize; i++) {
					words[offset + i] ^= keystream[i];
				}
			} });
			CTR.Decryptor = Encryptor;
			return CTR;
		}();
		/** @preserve
		* Counter block mode compatible with  Dr Brian Gladman fileenc.c
		* derived from CryptoJS.mode.CTR
		* Jan Hruby jhruby.web@gmail.com
		*/
		CryptoJS.mode.CTRGladman = function() {
			var CTRGladman = CryptoJS.lib.BlockCipherMode.extend();
			function incWord(word) {
				if ((word >> 24 & 255) === 255) {
					var b1 = word >> 16 & 255;
					var b2 = word >> 8 & 255;
					var b3 = word & 255;
					if (b1 === 255) {
						b1 = 0;
						if (b2 === 255) {
							b2 = 0;
							if (b3 === 255) {
								b3 = 0;
							} else {
								++b3;
							}
						} else {
							++b2;
						}
					} else {
						++b1;
					}
					word = 0;
					word += b1 << 16;
					word += b2 << 8;
					word += b3;
				} else {
					word += 1 << 24;
				}
				return word;
			}
			function incCounter(counter) {
				if ((counter[0] = incWord(counter[0])) === 0) {
					counter[1] = incWord(counter[1]);
				}
				return counter;
			}
			var Encryptor = CTRGladman.Encryptor = CTRGladman.extend({ processBlock: function(words, offset) {
				var cipher = this._cipher;
				var blockSize = cipher.blockSize;
				var iv = this._iv;
				var counter = this._counter;
				if (iv) {
					counter = this._counter = iv.slice(0);
					this._iv = undefined;
				}
				incCounter(counter);
				var keystream = counter.slice(0);
				cipher.encryptBlock(keystream, 0);
				for (var i = 0; i < blockSize; i++) {
					words[offset + i] ^= keystream[i];
				}
			} });
			CTRGladman.Decryptor = Encryptor;
			return CTRGladman;
		}();
		/**
		* Output Feedback block mode.
		*/
		CryptoJS.mode.OFB = function() {
			var OFB = CryptoJS.lib.BlockCipherMode.extend();
			var Encryptor = OFB.Encryptor = OFB.extend({ processBlock: function(words, offset) {
				var cipher = this._cipher;
				var blockSize = cipher.blockSize;
				var iv = this._iv;
				var keystream = this._keystream;
				if (iv) {
					keystream = this._keystream = iv.slice(0);
					this._iv = undefined;
				}
				cipher.encryptBlock(keystream, 0);
				for (var i = 0; i < blockSize; i++) {
					words[offset + i] ^= keystream[i];
				}
			} });
			OFB.Decryptor = Encryptor;
			return OFB;
		}();
		/**
		* Electronic Codebook block mode.
		*/
		CryptoJS.mode.ECB = function() {
			var ECB = CryptoJS.lib.BlockCipherMode.extend();
			ECB.Encryptor = ECB.extend({ processBlock: function(words, offset) {
				this._cipher.encryptBlock(words, offset);
			} });
			ECB.Decryptor = ECB.extend({ processBlock: function(words, offset) {
				this._cipher.decryptBlock(words, offset);
			} });
			return ECB;
		}();
		/**
		* ANSI X.923 padding strategy.
		*/
		CryptoJS.pad.AnsiX923 = {
			pad: function(data, blockSize) {
				var dataSigBytes = data.sigBytes;
				var blockSizeBytes = blockSize * 4;
				var nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes;
				var lastBytePos = dataSigBytes + nPaddingBytes - 1;
				data.clamp();
				data.words[lastBytePos >>> 2] |= nPaddingBytes << 24 - lastBytePos % 4 * 8;
				data.sigBytes += nPaddingBytes;
			},
			unpad: function(data) {
				var nPaddingBytes = data.words[data.sigBytes - 1 >>> 2] & 255;
				data.sigBytes -= nPaddingBytes;
			}
		};
		/**
		* ISO 10126 padding strategy.
		*/
		CryptoJS.pad.Iso10126 = {
			pad: function(data, blockSize) {
				var blockSizeBytes = blockSize * 4;
				var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;
				data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)).concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1));
			},
			unpad: function(data) {
				var nPaddingBytes = data.words[data.sigBytes - 1 >>> 2] & 255;
				data.sigBytes -= nPaddingBytes;
			}
		};
		/**
		* ISO/IEC 9797-1 Padding Method 2.
		*/
		CryptoJS.pad.Iso97971 = {
			pad: function(data, blockSize) {
				data.concat(CryptoJS.lib.WordArray.create([2147483648], 1));
				CryptoJS.pad.ZeroPadding.pad(data, blockSize);
			},
			unpad: function(data) {
				CryptoJS.pad.ZeroPadding.unpad(data);
				data.sigBytes--;
			}
		};
		/**
		* Zero padding strategy.
		*/
		CryptoJS.pad.ZeroPadding = {
			pad: function(data, blockSize) {
				var blockSizeBytes = blockSize * 4;
				data.clamp();
				data.sigBytes += blockSizeBytes - (data.sigBytes % blockSizeBytes || blockSizeBytes);
			},
			unpad: function(data) {
				var dataWords = data.words;
				var i = data.sigBytes - 1;
				for (var i = data.sigBytes - 1; i >= 0; i--) {
					if (dataWords[i >>> 2] >>> 24 - i % 4 * 8 & 255) {
						data.sigBytes = i + 1;
						break;
					}
				}
			}
		};
		/**
		* A noop padding strategy.
		*/
		CryptoJS.pad.NoPadding = {
			pad: function() {},
			unpad: function() {}
		};
		(function(undefined) {
			var C = CryptoJS;
			var C_lib = C.lib;
			var CipherParams = C_lib.CipherParams;
			var C_enc = C.enc;
			var Hex = C_enc.Hex;
			var C_format = C.format;
			var HexFormatter = C_format.Hex = {
				stringify: function(cipherParams) {
					return cipherParams.ciphertext.toString(Hex);
				},
				parse: function(input) {
					var ciphertext = Hex.parse(input);
					return CipherParams.create({ ciphertext });
				}
			};
		})();
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var BlockCipher = C_lib.BlockCipher;
			var C_algo = C.algo;
			var SBOX = [];
			var INV_SBOX = [];
			var SUB_MIX_0 = [];
			var SUB_MIX_1 = [];
			var SUB_MIX_2 = [];
			var SUB_MIX_3 = [];
			var INV_SUB_MIX_0 = [];
			var INV_SUB_MIX_1 = [];
			var INV_SUB_MIX_2 = [];
			var INV_SUB_MIX_3 = [];
			(function() {
				var d = [];
				for (var i = 0; i < 256; i++) {
					if (i < 128) {
						d[i] = i << 1;
					} else {
						d[i] = i << 1 ^ 283;
					}
				}
				var x = 0;
				var xi = 0;
				for (var i = 0; i < 256; i++) {
					var sx = xi ^ xi << 1 ^ xi << 2 ^ xi << 3 ^ xi << 4;
					sx = sx >>> 8 ^ sx & 255 ^ 99;
					SBOX[x] = sx;
					INV_SBOX[sx] = x;
					var x2 = d[x];
					var x4 = d[x2];
					var x8 = d[x4];
					var t = d[sx] * 257 ^ sx * 16843008;
					SUB_MIX_0[x] = t << 24 | t >>> 8;
					SUB_MIX_1[x] = t << 16 | t >>> 16;
					SUB_MIX_2[x] = t << 8 | t >>> 24;
					SUB_MIX_3[x] = t;
					var t = x8 * 16843009 ^ x4 * 65537 ^ x2 * 257 ^ x * 16843008;
					INV_SUB_MIX_0[sx] = t << 24 | t >>> 8;
					INV_SUB_MIX_1[sx] = t << 16 | t >>> 16;
					INV_SUB_MIX_2[sx] = t << 8 | t >>> 24;
					INV_SUB_MIX_3[sx] = t;
					if (!x) {
						x = xi = 1;
					} else {
						x = x2 ^ d[d[d[x8 ^ x2]]];
						xi ^= d[d[xi]];
					}
				}
			})();
			var RCON = [
				0,
				1,
				2,
				4,
				8,
				16,
				32,
				64,
				128,
				27,
				54
			];
			/**
			* AES block cipher algorithm.
			*/
			var AES = C_algo.AES = BlockCipher.extend({
				_doReset: function() {
					var t;
					if (this._nRounds && this._keyPriorReset === this._key) {
						return;
					}
					var key = this._keyPriorReset = this._key;
					var keyWords = key.words;
					var keySize = key.sigBytes / 4;
					var nRounds = this._nRounds = keySize + 6;
					var ksRows = (nRounds + 1) * 4;
					var keySchedule = this._keySchedule = [];
					for (var ksRow = 0; ksRow < ksRows; ksRow++) {
						if (ksRow < keySize) {
							keySchedule[ksRow] = keyWords[ksRow];
						} else {
							t = keySchedule[ksRow - 1];
							if (!(ksRow % keySize)) {
								t = t << 8 | t >>> 24;
								t = SBOX[t >>> 24] << 24 | SBOX[t >>> 16 & 255] << 16 | SBOX[t >>> 8 & 255] << 8 | SBOX[t & 255];
								t ^= RCON[ksRow / keySize | 0] << 24;
							} else if (keySize > 6 && ksRow % keySize == 4) {
								t = SBOX[t >>> 24] << 24 | SBOX[t >>> 16 & 255] << 16 | SBOX[t >>> 8 & 255] << 8 | SBOX[t & 255];
							}
							keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t;
						}
					}
					var invKeySchedule = this._invKeySchedule = [];
					for (var invKsRow = 0; invKsRow < ksRows; invKsRow++) {
						var ksRow = ksRows - invKsRow;
						if (invKsRow % 4) {
							var t = keySchedule[ksRow];
						} else {
							var t = keySchedule[ksRow - 4];
						}
						if (invKsRow < 4 || ksRow <= 4) {
							invKeySchedule[invKsRow] = t;
						} else {
							invKeySchedule[invKsRow] = INV_SUB_MIX_0[SBOX[t >>> 24]] ^ INV_SUB_MIX_1[SBOX[t >>> 16 & 255]] ^ INV_SUB_MIX_2[SBOX[t >>> 8 & 255]] ^ INV_SUB_MIX_3[SBOX[t & 255]];
						}
					}
				},
				encryptBlock: function(M, offset) {
					this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX);
				},
				decryptBlock: function(M, offset) {
					var t = M[offset + 1];
					M[offset + 1] = M[offset + 3];
					M[offset + 3] = t;
					this._doCryptBlock(M, offset, this._invKeySchedule, INV_SUB_MIX_0, INV_SUB_MIX_1, INV_SUB_MIX_2, INV_SUB_MIX_3, INV_SBOX);
					var t = M[offset + 1];
					M[offset + 1] = M[offset + 3];
					M[offset + 3] = t;
				},
				_doCryptBlock: function(M, offset, keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX) {
					var nRounds = this._nRounds;
					var s0 = M[offset] ^ keySchedule[0];
					var s1 = M[offset + 1] ^ keySchedule[1];
					var s2 = M[offset + 2] ^ keySchedule[2];
					var s3 = M[offset + 3] ^ keySchedule[3];
					var ksRow = 4;
					for (var round = 1; round < nRounds; round++) {
						var t0 = SUB_MIX_0[s0 >>> 24] ^ SUB_MIX_1[s1 >>> 16 & 255] ^ SUB_MIX_2[s2 >>> 8 & 255] ^ SUB_MIX_3[s3 & 255] ^ keySchedule[ksRow++];
						var t1 = SUB_MIX_0[s1 >>> 24] ^ SUB_MIX_1[s2 >>> 16 & 255] ^ SUB_MIX_2[s3 >>> 8 & 255] ^ SUB_MIX_3[s0 & 255] ^ keySchedule[ksRow++];
						var t2 = SUB_MIX_0[s2 >>> 24] ^ SUB_MIX_1[s3 >>> 16 & 255] ^ SUB_MIX_2[s0 >>> 8 & 255] ^ SUB_MIX_3[s1 & 255] ^ keySchedule[ksRow++];
						var t3 = SUB_MIX_0[s3 >>> 24] ^ SUB_MIX_1[s0 >>> 16 & 255] ^ SUB_MIX_2[s1 >>> 8 & 255] ^ SUB_MIX_3[s2 & 255] ^ keySchedule[ksRow++];
						s0 = t0;
						s1 = t1;
						s2 = t2;
						s3 = t3;
					}
					var t0 = (SBOX[s0 >>> 24] << 24 | SBOX[s1 >>> 16 & 255] << 16 | SBOX[s2 >>> 8 & 255] << 8 | SBOX[s3 & 255]) ^ keySchedule[ksRow++];
					var t1 = (SBOX[s1 >>> 24] << 24 | SBOX[s2 >>> 16 & 255] << 16 | SBOX[s3 >>> 8 & 255] << 8 | SBOX[s0 & 255]) ^ keySchedule[ksRow++];
					var t2 = (SBOX[s2 >>> 24] << 24 | SBOX[s3 >>> 16 & 255] << 16 | SBOX[s0 >>> 8 & 255] << 8 | SBOX[s1 & 255]) ^ keySchedule[ksRow++];
					var t3 = (SBOX[s3 >>> 24] << 24 | SBOX[s0 >>> 16 & 255] << 16 | SBOX[s1 >>> 8 & 255] << 8 | SBOX[s2 & 255]) ^ keySchedule[ksRow++];
					M[offset] = t0;
					M[offset + 1] = t1;
					M[offset + 2] = t2;
					M[offset + 3] = t3;
				},
				keySize: 256 / 32
			});
			/**
			* Shortcut functions to the cipher's object interface.
			*
			* @example
			*
			*     var ciphertext = CryptoJS.AES.encrypt(message, key, cfg);
			*     var plaintext  = CryptoJS.AES.decrypt(ciphertext, key, cfg);
			*/
			C.AES = BlockCipher._createHelper(AES);
		})();
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var WordArray = C_lib.WordArray;
			var BlockCipher = C_lib.BlockCipher;
			var C_algo = C.algo;
			var PC1 = [
				57,
				49,
				41,
				33,
				25,
				17,
				9,
				1,
				58,
				50,
				42,
				34,
				26,
				18,
				10,
				2,
				59,
				51,
				43,
				35,
				27,
				19,
				11,
				3,
				60,
				52,
				44,
				36,
				63,
				55,
				47,
				39,
				31,
				23,
				15,
				7,
				62,
				54,
				46,
				38,
				30,
				22,
				14,
				6,
				61,
				53,
				45,
				37,
				29,
				21,
				13,
				5,
				28,
				20,
				12,
				4
			];
			var PC2 = [
				14,
				17,
				11,
				24,
				1,
				5,
				3,
				28,
				15,
				6,
				21,
				10,
				23,
				19,
				12,
				4,
				26,
				8,
				16,
				7,
				27,
				20,
				13,
				2,
				41,
				52,
				31,
				37,
				47,
				55,
				30,
				40,
				51,
				45,
				33,
				48,
				44,
				49,
				39,
				56,
				34,
				53,
				46,
				42,
				50,
				36,
				29,
				32
			];
			var BIT_SHIFTS = [
				1,
				2,
				4,
				6,
				8,
				10,
				12,
				14,
				15,
				17,
				19,
				21,
				23,
				25,
				27,
				28
			];
			var SBOX_P = [
				{
					0: 8421888,
					268435456: 32768,
					536870912: 8421378,
					805306368: 2,
					1073741824: 512,
					1342177280: 8421890,
					1610612736: 8389122,
					1879048192: 8388608,
					2147483648: 514,
					2415919104: 8389120,
					2684354560: 33280,
					2952790016: 8421376,
					3221225472: 32770,
					3489660928: 8388610,
					3758096384: 0,
					4026531840: 33282,
					134217728: 0,
					402653184: 8421890,
					671088640: 33282,
					939524096: 32768,
					1207959552: 8421888,
					1476395008: 512,
					1744830464: 8421378,
					2013265920: 2,
					2281701376: 8389120,
					2550136832: 33280,
					2818572288: 8421376,
					3087007744: 8389122,
					3355443200: 8388610,
					3623878656: 32770,
					3892314112: 514,
					4160749568: 8388608,
					1: 32768,
					268435457: 2,
					536870913: 8421888,
					805306369: 8388608,
					1073741825: 8421378,
					1342177281: 33280,
					1610612737: 512,
					1879048193: 8389122,
					2147483649: 8421890,
					2415919105: 8421376,
					2684354561: 8388610,
					2952790017: 33282,
					3221225473: 514,
					3489660929: 8389120,
					3758096385: 32770,
					4026531841: 0,
					134217729: 8421890,
					402653185: 8421376,
					671088641: 8388608,
					939524097: 512,
					1207959553: 32768,
					1476395009: 8388610,
					1744830465: 2,
					2013265921: 33282,
					2281701377: 32770,
					2550136833: 8389122,
					2818572289: 514,
					3087007745: 8421888,
					3355443201: 8389120,
					3623878657: 0,
					3892314113: 33280,
					4160749569: 8421378
				},
				{
					0: 1074282512,
					16777216: 16384,
					33554432: 524288,
					50331648: 1074266128,
					67108864: 1073741840,
					83886080: 1074282496,
					100663296: 1073758208,
					117440512: 16,
					134217728: 540672,
					150994944: 1073758224,
					167772160: 1073741824,
					184549376: 540688,
					201326592: 524304,
					218103808: 0,
					234881024: 16400,
					251658240: 1074266112,
					8388608: 1073758208,
					25165824: 540688,
					41943040: 16,
					58720256: 1073758224,
					75497472: 1074282512,
					92274688: 1073741824,
					109051904: 524288,
					125829120: 1074266128,
					142606336: 524304,
					159383552: 0,
					176160768: 16384,
					192937984: 1074266112,
					209715200: 1073741840,
					226492416: 540672,
					243269632: 1074282496,
					260046848: 16400,
					268435456: 0,
					285212672: 1074266128,
					301989888: 1073758224,
					318767104: 1074282496,
					335544320: 1074266112,
					352321536: 16,
					369098752: 540688,
					385875968: 16384,
					402653184: 16400,
					419430400: 524288,
					436207616: 524304,
					452984832: 1073741840,
					469762048: 540672,
					486539264: 1073758208,
					503316480: 1073741824,
					520093696: 1074282512,
					276824064: 540688,
					293601280: 524288,
					310378496: 1074266112,
					327155712: 16384,
					343932928: 1073758208,
					360710144: 1074282512,
					377487360: 16,
					394264576: 1073741824,
					411041792: 1074282496,
					427819008: 1073741840,
					444596224: 1073758224,
					461373440: 524304,
					478150656: 0,
					494927872: 16400,
					511705088: 1074266128,
					528482304: 540672
				},
				{
					0: 260,
					1048576: 0,
					2097152: 67109120,
					3145728: 65796,
					4194304: 65540,
					5242880: 67108868,
					6291456: 67174660,
					7340032: 67174400,
					8388608: 67108864,
					9437184: 67174656,
					10485760: 65792,
					11534336: 67174404,
					12582912: 67109124,
					13631488: 65536,
					14680064: 4,
					15728640: 256,
					524288: 67174656,
					1572864: 67174404,
					2621440: 0,
					3670016: 67109120,
					4718592: 67108868,
					5767168: 65536,
					6815744: 65540,
					7864320: 260,
					8912896: 4,
					9961472: 256,
					11010048: 67174400,
					12058624: 65796,
					13107200: 65792,
					14155776: 67109124,
					15204352: 67174660,
					16252928: 67108864,
					16777216: 67174656,
					17825792: 65540,
					18874368: 65536,
					19922944: 67109120,
					20971520: 256,
					22020096: 67174660,
					23068672: 67108868,
					24117248: 0,
					25165824: 67109124,
					26214400: 67108864,
					27262976: 4,
					28311552: 65792,
					29360128: 67174400,
					30408704: 260,
					31457280: 65796,
					32505856: 67174404,
					17301504: 67108864,
					18350080: 260,
					19398656: 67174656,
					20447232: 0,
					21495808: 65540,
					22544384: 67109120,
					23592960: 256,
					24641536: 67174404,
					25690112: 65536,
					26738688: 67174660,
					27787264: 65796,
					28835840: 67108868,
					29884416: 67109124,
					30932992: 67174400,
					31981568: 4,
					33030144: 65792
				},
				{
					0: 2151682048,
					65536: 2147487808,
					131072: 4198464,
					196608: 2151677952,
					262144: 0,
					327680: 4198400,
					393216: 2147483712,
					458752: 4194368,
					524288: 2147483648,
					589824: 4194304,
					655360: 64,
					720896: 2147487744,
					786432: 2151678016,
					851968: 4160,
					917504: 4096,
					983040: 2151682112,
					32768: 2147487808,
					98304: 64,
					163840: 2151678016,
					229376: 2147487744,
					294912: 4198400,
					360448: 2151682112,
					425984: 0,
					491520: 2151677952,
					557056: 4096,
					622592: 2151682048,
					688128: 4194304,
					753664: 4160,
					819200: 2147483648,
					884736: 4194368,
					950272: 4198464,
					1015808: 2147483712,
					1048576: 4194368,
					1114112: 4198400,
					1179648: 2147483712,
					1245184: 0,
					1310720: 4160,
					1376256: 2151678016,
					1441792: 2151682048,
					1507328: 2147487808,
					1572864: 2151682112,
					1638400: 2147483648,
					1703936: 2151677952,
					1769472: 4198464,
					1835008: 2147487744,
					1900544: 4194304,
					1966080: 64,
					2031616: 4096,
					1081344: 2151677952,
					1146880: 2151682112,
					1212416: 0,
					1277952: 4198400,
					1343488: 4194368,
					1409024: 2147483648,
					1474560: 2147487808,
					1540096: 64,
					1605632: 2147483712,
					1671168: 4096,
					1736704: 2147487744,
					1802240: 2151678016,
					1867776: 4160,
					1933312: 2151682048,
					1998848: 4194304,
					2064384: 4198464
				},
				{
					0: 128,
					4096: 17039360,
					8192: 262144,
					12288: 536870912,
					16384: 537133184,
					20480: 16777344,
					24576: 553648256,
					28672: 262272,
					32768: 16777216,
					36864: 537133056,
					40960: 536871040,
					45056: 553910400,
					49152: 553910272,
					53248: 0,
					57344: 17039488,
					61440: 553648128,
					2048: 17039488,
					6144: 553648256,
					10240: 128,
					14336: 17039360,
					18432: 262144,
					22528: 537133184,
					26624: 553910272,
					30720: 536870912,
					34816: 537133056,
					38912: 0,
					43008: 553910400,
					47104: 16777344,
					51200: 536871040,
					55296: 553648128,
					59392: 16777216,
					63488: 262272,
					65536: 262144,
					69632: 128,
					73728: 536870912,
					77824: 553648256,
					81920: 16777344,
					86016: 553910272,
					90112: 537133184,
					94208: 16777216,
					98304: 553910400,
					102400: 553648128,
					106496: 17039360,
					110592: 537133056,
					114688: 262272,
					118784: 536871040,
					122880: 0,
					126976: 17039488,
					67584: 553648256,
					71680: 16777216,
					75776: 17039360,
					79872: 537133184,
					83968: 536870912,
					88064: 17039488,
					92160: 128,
					96256: 553910272,
					100352: 262272,
					104448: 553910400,
					108544: 0,
					112640: 553648128,
					116736: 16777344,
					120832: 262144,
					124928: 537133056,
					129024: 536871040
				},
				{
					0: 268435464,
					256: 8192,
					512: 270532608,
					768: 270540808,
					1024: 268443648,
					1280: 2097152,
					1536: 2097160,
					1792: 268435456,
					2048: 0,
					2304: 268443656,
					2560: 2105344,
					2816: 8,
					3072: 270532616,
					3328: 2105352,
					3584: 8200,
					3840: 270540800,
					128: 270532608,
					384: 270540808,
					640: 8,
					896: 2097152,
					1152: 2105352,
					1408: 268435464,
					1664: 268443648,
					1920: 8200,
					2176: 2097160,
					2432: 8192,
					2688: 268443656,
					2944: 270532616,
					3200: 0,
					3456: 270540800,
					3712: 2105344,
					3968: 268435456,
					4096: 268443648,
					4352: 270532616,
					4608: 270540808,
					4864: 8200,
					5120: 2097152,
					5376: 268435456,
					5632: 268435464,
					5888: 2105344,
					6144: 2105352,
					6400: 0,
					6656: 8,
					6912: 270532608,
					7168: 8192,
					7424: 268443656,
					7680: 270540800,
					7936: 2097160,
					4224: 8,
					4480: 2105344,
					4736: 2097152,
					4992: 268435464,
					5248: 268443648,
					5504: 8200,
					5760: 270540808,
					6016: 270532608,
					6272: 270540800,
					6528: 270532616,
					6784: 8192,
					7040: 2105352,
					7296: 2097160,
					7552: 0,
					7808: 268435456,
					8064: 268443656
				},
				{
					0: 1048576,
					16: 33555457,
					32: 1024,
					48: 1049601,
					64: 34604033,
					80: 0,
					96: 1,
					112: 34603009,
					128: 33555456,
					144: 1048577,
					160: 33554433,
					176: 34604032,
					192: 34603008,
					208: 1025,
					224: 1049600,
					240: 33554432,
					8: 34603009,
					24: 0,
					40: 33555457,
					56: 34604032,
					72: 1048576,
					88: 33554433,
					104: 33554432,
					120: 1025,
					136: 1049601,
					152: 33555456,
					168: 34603008,
					184: 1048577,
					200: 1024,
					216: 34604033,
					232: 1,
					248: 1049600,
					256: 33554432,
					272: 1048576,
					288: 33555457,
					304: 34603009,
					320: 1048577,
					336: 33555456,
					352: 34604032,
					368: 1049601,
					384: 1025,
					400: 34604033,
					416: 1049600,
					432: 1,
					448: 0,
					464: 34603008,
					480: 33554433,
					496: 1024,
					264: 1049600,
					280: 33555457,
					296: 34603009,
					312: 1,
					328: 33554432,
					344: 1048576,
					360: 1025,
					376: 34604032,
					392: 33554433,
					408: 34603008,
					424: 0,
					440: 34604033,
					456: 1049601,
					472: 1024,
					488: 33555456,
					504: 1048577
				},
				{
					0: 134219808,
					1: 131072,
					2: 134217728,
					3: 32,
					4: 131104,
					5: 134350880,
					6: 134350848,
					7: 2048,
					8: 134348800,
					9: 134219776,
					10: 133120,
					11: 134348832,
					12: 2080,
					13: 0,
					14: 134217760,
					15: 133152,
					2147483648: 2048,
					2147483649: 134350880,
					2147483650: 134219808,
					2147483651: 134217728,
					2147483652: 134348800,
					2147483653: 133120,
					2147483654: 133152,
					2147483655: 32,
					2147483656: 134217760,
					2147483657: 2080,
					2147483658: 131104,
					2147483659: 134350848,
					2147483660: 0,
					2147483661: 134348832,
					2147483662: 134219776,
					2147483663: 131072,
					16: 133152,
					17: 134350848,
					18: 32,
					19: 2048,
					20: 134219776,
					21: 134217760,
					22: 134348832,
					23: 131072,
					24: 0,
					25: 131104,
					26: 134348800,
					27: 134219808,
					28: 134350880,
					29: 133120,
					30: 2080,
					31: 134217728,
					2147483664: 131072,
					2147483665: 2048,
					2147483666: 134348832,
					2147483667: 133152,
					2147483668: 32,
					2147483669: 134348800,
					2147483670: 134217728,
					2147483671: 134219808,
					2147483672: 134350880,
					2147483673: 134217760,
					2147483674: 134219776,
					2147483675: 0,
					2147483676: 133120,
					2147483677: 2080,
					2147483678: 131104,
					2147483679: 134350848
				}
			];
			var SBOX_MASK = [
				4160749569,
				528482304,
				33030144,
				2064384,
				129024,
				8064,
				504,
				2147483679
			];
			/**
			* DES block cipher algorithm.
			*/
			var DES = C_algo.DES = BlockCipher.extend({
				_doReset: function() {
					var key = this._key;
					var keyWords = key.words;
					var keyBits = [];
					for (var i = 0; i < 56; i++) {
						var keyBitPos = PC1[i] - 1;
						keyBits[i] = keyWords[keyBitPos >>> 5] >>> 31 - keyBitPos % 32 & 1;
					}
					var subKeys = this._subKeys = [];
					for (var nSubKey = 0; nSubKey < 16; nSubKey++) {
						var subKey = subKeys[nSubKey] = [];
						var bitShift = BIT_SHIFTS[nSubKey];
						for (var i = 0; i < 24; i++) {
							subKey[i / 6 | 0] |= keyBits[(PC2[i] - 1 + bitShift) % 28] << 31 - i % 6;
							subKey[4 + (i / 6 | 0)] |= keyBits[28 + (PC2[i + 24] - 1 + bitShift) % 28] << 31 - i % 6;
						}
						subKey[0] = subKey[0] << 1 | subKey[0] >>> 31;
						for (var i = 1; i < 7; i++) {
							subKey[i] = subKey[i] >>> (i - 1) * 4 + 3;
						}
						subKey[7] = subKey[7] << 5 | subKey[7] >>> 27;
					}
					var invSubKeys = this._invSubKeys = [];
					for (var i = 0; i < 16; i++) {
						invSubKeys[i] = subKeys[15 - i];
					}
				},
				encryptBlock: function(M, offset) {
					this._doCryptBlock(M, offset, this._subKeys);
				},
				decryptBlock: function(M, offset) {
					this._doCryptBlock(M, offset, this._invSubKeys);
				},
				_doCryptBlock: function(M, offset, subKeys) {
					this._lBlock = M[offset];
					this._rBlock = M[offset + 1];
					exchangeLR.call(this, 4, 252645135);
					exchangeLR.call(this, 16, 65535);
					exchangeRL.call(this, 2, 858993459);
					exchangeRL.call(this, 8, 16711935);
					exchangeLR.call(this, 1, 1431655765);
					for (var round = 0; round < 16; round++) {
						var subKey = subKeys[round];
						var lBlock = this._lBlock;
						var rBlock = this._rBlock;
						var f = 0;
						for (var i = 0; i < 8; i++) {
							f |= SBOX_P[i][((rBlock ^ subKey[i]) & SBOX_MASK[i]) >>> 0];
						}
						this._lBlock = rBlock;
						this._rBlock = lBlock ^ f;
					}
					var t = this._lBlock;
					this._lBlock = this._rBlock;
					this._rBlock = t;
					exchangeLR.call(this, 1, 1431655765);
					exchangeRL.call(this, 8, 16711935);
					exchangeRL.call(this, 2, 858993459);
					exchangeLR.call(this, 16, 65535);
					exchangeLR.call(this, 4, 252645135);
					M[offset] = this._lBlock;
					M[offset + 1] = this._rBlock;
				},
				keySize: 64 / 32,
				ivSize: 64 / 32,
				blockSize: 64 / 32
			});
			function exchangeLR(offset, mask) {
				var t = (this._lBlock >>> offset ^ this._rBlock) & mask;
				this._rBlock ^= t;
				this._lBlock ^= t << offset;
			}
			function exchangeRL(offset, mask) {
				var t = (this._rBlock >>> offset ^ this._lBlock) & mask;
				this._lBlock ^= t;
				this._rBlock ^= t << offset;
			}
			/**
			* Shortcut functions to the cipher's object interface.
			*
			* @example
			*
			*     var ciphertext = CryptoJS.DES.encrypt(message, key, cfg);
			*     var plaintext  = CryptoJS.DES.decrypt(ciphertext, key, cfg);
			*/
			C.DES = BlockCipher._createHelper(DES);
			/**
			* Triple-DES block cipher algorithm.
			*/
			var TripleDES = C_algo.TripleDES = BlockCipher.extend({
				_doReset: function() {
					var key = this._key;
					var keyWords = key.words;
					if (keyWords.length !== 2 && keyWords.length !== 4 && keyWords.length < 6) {
						throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");
					}
					var key1 = keyWords.slice(0, 2);
					var key2 = keyWords.length < 4 ? keyWords.slice(0, 2) : keyWords.slice(2, 4);
					var key3 = keyWords.length < 6 ? keyWords.slice(0, 2) : keyWords.slice(4, 6);
					this._des1 = DES.createEncryptor(WordArray.create(key1));
					this._des2 = DES.createEncryptor(WordArray.create(key2));
					this._des3 = DES.createEncryptor(WordArray.create(key3));
				},
				encryptBlock: function(M, offset) {
					this._des1.encryptBlock(M, offset);
					this._des2.decryptBlock(M, offset);
					this._des3.encryptBlock(M, offset);
				},
				decryptBlock: function(M, offset) {
					this._des3.decryptBlock(M, offset);
					this._des2.encryptBlock(M, offset);
					this._des1.decryptBlock(M, offset);
				},
				keySize: 192 / 32,
				ivSize: 64 / 32,
				blockSize: 64 / 32
			});
			/**
			* Shortcut functions to the cipher's object interface.
			*
			* @example
			*
			*     var ciphertext = CryptoJS.TripleDES.encrypt(message, key, cfg);
			*     var plaintext  = CryptoJS.TripleDES.decrypt(ciphertext, key, cfg);
			*/
			C.TripleDES = BlockCipher._createHelper(TripleDES);
		})();
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var StreamCipher = C_lib.StreamCipher;
			var C_algo = C.algo;
			/**
			* RC4 stream cipher algorithm.
			*/
			var RC4 = C_algo.RC4 = StreamCipher.extend({
				_doReset: function() {
					var key = this._key;
					var keyWords = key.words;
					var keySigBytes = key.sigBytes;
					var S = this._S = [];
					for (var i = 0; i < 256; i++) {
						S[i] = i;
					}
					for (var i = 0, j = 0; i < 256; i++) {
						var keyByteIndex = i % keySigBytes;
						var keyByte = keyWords[keyByteIndex >>> 2] >>> 24 - keyByteIndex % 4 * 8 & 255;
						j = (j + S[i] + keyByte) % 256;
						var t = S[i];
						S[i] = S[j];
						S[j] = t;
					}
					this._i = this._j = 0;
				},
				_doProcessBlock: function(M, offset) {
					M[offset] ^= generateKeystreamWord.call(this);
				},
				keySize: 256 / 32,
				ivSize: 0
			});
			function generateKeystreamWord() {
				var S = this._S;
				var i = this._i;
				var j = this._j;
				var keystreamWord = 0;
				for (var n = 0; n < 4; n++) {
					i = (i + 1) % 256;
					j = (j + S[i]) % 256;
					var t = S[i];
					S[i] = S[j];
					S[j] = t;
					keystreamWord |= S[(S[i] + S[j]) % 256] << 24 - n * 8;
				}
				this._i = i;
				this._j = j;
				return keystreamWord;
			}
			/**
			* Shortcut functions to the cipher's object interface.
			*
			* @example
			*
			*     var ciphertext = CryptoJS.RC4.encrypt(message, key, cfg);
			*     var plaintext  = CryptoJS.RC4.decrypt(ciphertext, key, cfg);
			*/
			C.RC4 = StreamCipher._createHelper(RC4);
			/**
			* Modified RC4 stream cipher algorithm.
			*/
			var RC4Drop = C_algo.RC4Drop = RC4.extend({
				cfg: RC4.cfg.extend({ drop: 192 }),
				_doReset: function() {
					RC4._doReset.call(this);
					for (var i = this.cfg.drop; i > 0; i--) {
						generateKeystreamWord.call(this);
					}
				}
			});
			/**
			* Shortcut functions to the cipher's object interface.
			*
			* @example
			*
			*     var ciphertext = CryptoJS.RC4Drop.encrypt(message, key, cfg);
			*     var plaintext  = CryptoJS.RC4Drop.decrypt(ciphertext, key, cfg);
			*/
			C.RC4Drop = StreamCipher._createHelper(RC4Drop);
		})();
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var StreamCipher = C_lib.StreamCipher;
			var C_algo = C.algo;
			var S = [];
			var C_ = [];
			var G = [];
			/**
			* Rabbit stream cipher algorithm
			*/
			var Rabbit = C_algo.Rabbit = StreamCipher.extend({
				_doReset: function() {
					var K = this._key.words;
					var iv = this.cfg.iv;
					for (var i = 0; i < 4; i++) {
						K[i] = (K[i] << 8 | K[i] >>> 24) & 16711935 | (K[i] << 24 | K[i] >>> 8) & 4278255360;
					}
					var X = this._X = [
						K[0],
						K[3] << 16 | K[2] >>> 16,
						K[1],
						K[0] << 16 | K[3] >>> 16,
						K[2],
						K[1] << 16 | K[0] >>> 16,
						K[3],
						K[2] << 16 | K[1] >>> 16
					];
					var C = this._C = [
						K[2] << 16 | K[2] >>> 16,
						K[0] & 4294901760 | K[1] & 65535,
						K[3] << 16 | K[3] >>> 16,
						K[1] & 4294901760 | K[2] & 65535,
						K[0] << 16 | K[0] >>> 16,
						K[2] & 4294901760 | K[3] & 65535,
						K[1] << 16 | K[1] >>> 16,
						K[3] & 4294901760 | K[0] & 65535
					];
					this._b = 0;
					for (var i = 0; i < 4; i++) {
						nextState.call(this);
					}
					for (var i = 0; i < 8; i++) {
						C[i] ^= X[i + 4 & 7];
					}
					if (iv) {
						var IV = iv.words;
						var IV_0 = IV[0];
						var IV_1 = IV[1];
						var i0 = (IV_0 << 8 | IV_0 >>> 24) & 16711935 | (IV_0 << 24 | IV_0 >>> 8) & 4278255360;
						var i2 = (IV_1 << 8 | IV_1 >>> 24) & 16711935 | (IV_1 << 24 | IV_1 >>> 8) & 4278255360;
						var i1 = i0 >>> 16 | i2 & 4294901760;
						var i3 = i2 << 16 | i0 & 65535;
						C[0] ^= i0;
						C[1] ^= i1;
						C[2] ^= i2;
						C[3] ^= i3;
						C[4] ^= i0;
						C[5] ^= i1;
						C[6] ^= i2;
						C[7] ^= i3;
						for (var i = 0; i < 4; i++) {
							nextState.call(this);
						}
					}
				},
				_doProcessBlock: function(M, offset) {
					var X = this._X;
					nextState.call(this);
					S[0] = X[0] ^ X[5] >>> 16 ^ X[3] << 16;
					S[1] = X[2] ^ X[7] >>> 16 ^ X[5] << 16;
					S[2] = X[4] ^ X[1] >>> 16 ^ X[7] << 16;
					S[3] = X[6] ^ X[3] >>> 16 ^ X[1] << 16;
					for (var i = 0; i < 4; i++) {
						S[i] = (S[i] << 8 | S[i] >>> 24) & 16711935 | (S[i] << 24 | S[i] >>> 8) & 4278255360;
						M[offset + i] ^= S[i];
					}
				},
				blockSize: 128 / 32,
				ivSize: 64 / 32
			});
			function nextState() {
				var X = this._X;
				var C = this._C;
				for (var i = 0; i < 8; i++) {
					C_[i] = C[i];
				}
				C[0] = C[0] + 1295307597 + this._b | 0;
				C[1] = C[1] + 3545052371 + (C[0] >>> 0 < C_[0] >>> 0 ? 1 : 0) | 0;
				C[2] = C[2] + 886263092 + (C[1] >>> 0 < C_[1] >>> 0 ? 1 : 0) | 0;
				C[3] = C[3] + 1295307597 + (C[2] >>> 0 < C_[2] >>> 0 ? 1 : 0) | 0;
				C[4] = C[4] + 3545052371 + (C[3] >>> 0 < C_[3] >>> 0 ? 1 : 0) | 0;
				C[5] = C[5] + 886263092 + (C[4] >>> 0 < C_[4] >>> 0 ? 1 : 0) | 0;
				C[6] = C[6] + 1295307597 + (C[5] >>> 0 < C_[5] >>> 0 ? 1 : 0) | 0;
				C[7] = C[7] + 3545052371 + (C[6] >>> 0 < C_[6] >>> 0 ? 1 : 0) | 0;
				this._b = C[7] >>> 0 < C_[7] >>> 0 ? 1 : 0;
				for (var i = 0; i < 8; i++) {
					var gx = X[i] + C[i];
					var ga = gx & 65535;
					var gb = gx >>> 16;
					var gh = ((ga * ga >>> 17) + ga * gb >>> 15) + gb * gb;
					var gl = ((gx & 4294901760) * gx | 0) + ((gx & 65535) * gx | 0);
					G[i] = gh ^ gl;
				}
				X[0] = G[0] + (G[7] << 16 | G[7] >>> 16) + (G[6] << 16 | G[6] >>> 16) | 0;
				X[1] = G[1] + (G[0] << 8 | G[0] >>> 24) + G[7] | 0;
				X[2] = G[2] + (G[1] << 16 | G[1] >>> 16) + (G[0] << 16 | G[0] >>> 16) | 0;
				X[3] = G[3] + (G[2] << 8 | G[2] >>> 24) + G[1] | 0;
				X[4] = G[4] + (G[3] << 16 | G[3] >>> 16) + (G[2] << 16 | G[2] >>> 16) | 0;
				X[5] = G[5] + (G[4] << 8 | G[4] >>> 24) + G[3] | 0;
				X[6] = G[6] + (G[5] << 16 | G[5] >>> 16) + (G[4] << 16 | G[4] >>> 16) | 0;
				X[7] = G[7] + (G[6] << 8 | G[6] >>> 24) + G[5] | 0;
			}
			/**
			* Shortcut functions to the cipher's object interface.
			*
			* @example
			*
			*     var ciphertext = CryptoJS.Rabbit.encrypt(message, key, cfg);
			*     var plaintext  = CryptoJS.Rabbit.decrypt(ciphertext, key, cfg);
			*/
			C.Rabbit = StreamCipher._createHelper(Rabbit);
		})();
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var StreamCipher = C_lib.StreamCipher;
			var C_algo = C.algo;
			var S = [];
			var C_ = [];
			var G = [];
			/**
			* Rabbit stream cipher algorithm.
			*
			* This is a legacy version that neglected to convert the key to little-endian.
			* This error doesn't affect the cipher's security,
			* but it does affect its compatibility with other implementations.
			*/
			var RabbitLegacy = C_algo.RabbitLegacy = StreamCipher.extend({
				_doReset: function() {
					var K = this._key.words;
					var iv = this.cfg.iv;
					var X = this._X = [
						K[0],
						K[3] << 16 | K[2] >>> 16,
						K[1],
						K[0] << 16 | K[3] >>> 16,
						K[2],
						K[1] << 16 | K[0] >>> 16,
						K[3],
						K[2] << 16 | K[1] >>> 16
					];
					var C = this._C = [
						K[2] << 16 | K[2] >>> 16,
						K[0] & 4294901760 | K[1] & 65535,
						K[3] << 16 | K[3] >>> 16,
						K[1] & 4294901760 | K[2] & 65535,
						K[0] << 16 | K[0] >>> 16,
						K[2] & 4294901760 | K[3] & 65535,
						K[1] << 16 | K[1] >>> 16,
						K[3] & 4294901760 | K[0] & 65535
					];
					this._b = 0;
					for (var i = 0; i < 4; i++) {
						nextState.call(this);
					}
					for (var i = 0; i < 8; i++) {
						C[i] ^= X[i + 4 & 7];
					}
					if (iv) {
						var IV = iv.words;
						var IV_0 = IV[0];
						var IV_1 = IV[1];
						var i0 = (IV_0 << 8 | IV_0 >>> 24) & 16711935 | (IV_0 << 24 | IV_0 >>> 8) & 4278255360;
						var i2 = (IV_1 << 8 | IV_1 >>> 24) & 16711935 | (IV_1 << 24 | IV_1 >>> 8) & 4278255360;
						var i1 = i0 >>> 16 | i2 & 4294901760;
						var i3 = i2 << 16 | i0 & 65535;
						C[0] ^= i0;
						C[1] ^= i1;
						C[2] ^= i2;
						C[3] ^= i3;
						C[4] ^= i0;
						C[5] ^= i1;
						C[6] ^= i2;
						C[7] ^= i3;
						for (var i = 0; i < 4; i++) {
							nextState.call(this);
						}
					}
				},
				_doProcessBlock: function(M, offset) {
					var X = this._X;
					nextState.call(this);
					S[0] = X[0] ^ X[5] >>> 16 ^ X[3] << 16;
					S[1] = X[2] ^ X[7] >>> 16 ^ X[5] << 16;
					S[2] = X[4] ^ X[1] >>> 16 ^ X[7] << 16;
					S[3] = X[6] ^ X[3] >>> 16 ^ X[1] << 16;
					for (var i = 0; i < 4; i++) {
						S[i] = (S[i] << 8 | S[i] >>> 24) & 16711935 | (S[i] << 24 | S[i] >>> 8) & 4278255360;
						M[offset + i] ^= S[i];
					}
				},
				blockSize: 128 / 32,
				ivSize: 64 / 32
			});
			function nextState() {
				var X = this._X;
				var C = this._C;
				for (var i = 0; i < 8; i++) {
					C_[i] = C[i];
				}
				C[0] = C[0] + 1295307597 + this._b | 0;
				C[1] = C[1] + 3545052371 + (C[0] >>> 0 < C_[0] >>> 0 ? 1 : 0) | 0;
				C[2] = C[2] + 886263092 + (C[1] >>> 0 < C_[1] >>> 0 ? 1 : 0) | 0;
				C[3] = C[3] + 1295307597 + (C[2] >>> 0 < C_[2] >>> 0 ? 1 : 0) | 0;
				C[4] = C[4] + 3545052371 + (C[3] >>> 0 < C_[3] >>> 0 ? 1 : 0) | 0;
				C[5] = C[5] + 886263092 + (C[4] >>> 0 < C_[4] >>> 0 ? 1 : 0) | 0;
				C[6] = C[6] + 1295307597 + (C[5] >>> 0 < C_[5] >>> 0 ? 1 : 0) | 0;
				C[7] = C[7] + 3545052371 + (C[6] >>> 0 < C_[6] >>> 0 ? 1 : 0) | 0;
				this._b = C[7] >>> 0 < C_[7] >>> 0 ? 1 : 0;
				for (var i = 0; i < 8; i++) {
					var gx = X[i] + C[i];
					var ga = gx & 65535;
					var gb = gx >>> 16;
					var gh = ((ga * ga >>> 17) + ga * gb >>> 15) + gb * gb;
					var gl = ((gx & 4294901760) * gx | 0) + ((gx & 65535) * gx | 0);
					G[i] = gh ^ gl;
				}
				X[0] = G[0] + (G[7] << 16 | G[7] >>> 16) + (G[6] << 16 | G[6] >>> 16) | 0;
				X[1] = G[1] + (G[0] << 8 | G[0] >>> 24) + G[7] | 0;
				X[2] = G[2] + (G[1] << 16 | G[1] >>> 16) + (G[0] << 16 | G[0] >>> 16) | 0;
				X[3] = G[3] + (G[2] << 8 | G[2] >>> 24) + G[1] | 0;
				X[4] = G[4] + (G[3] << 16 | G[3] >>> 16) + (G[2] << 16 | G[2] >>> 16) | 0;
				X[5] = G[5] + (G[4] << 8 | G[4] >>> 24) + G[3] | 0;
				X[6] = G[6] + (G[5] << 16 | G[5] >>> 16) + (G[4] << 16 | G[4] >>> 16) | 0;
				X[7] = G[7] + (G[6] << 8 | G[6] >>> 24) + G[5] | 0;
			}
			/**
			* Shortcut functions to the cipher's object interface.
			*
			* @example
			*
			*     var ciphertext = CryptoJS.RabbitLegacy.encrypt(message, key, cfg);
			*     var plaintext  = CryptoJS.RabbitLegacy.decrypt(ciphertext, key, cfg);
			*/
			C.RabbitLegacy = StreamCipher._createHelper(RabbitLegacy);
		})();
		return CryptoJS;
	});
}));

//#endregion
//#region ../utils/random-http-ua.js
var require_random_http_ua = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	function _objectSpread(target) {
		for (var i = 1; i < arguments.length; i++) {
			var source = arguments[i] != null ? arguments[i] : {};
			var ownKeys = Object.keys(source);
			if (typeof Object.getOwnPropertySymbols === "function") {
				ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
					return Object.getOwnPropertyDescriptor(source, sym).enumerable;
				}));
			}
			ownKeys.forEach(function(key) {
				_defineProperty(target, key, source[key]);
			});
		}
		return target;
	}
	function _defineProperty(obj, key, value) {
		if (key in obj) {
			Object.defineProperty(obj, key, {
				value,
				enumerable: true,
				configurable: true,
				writable: true
			});
		} else {
			obj[key] = value;
		}
		return obj;
	}
	/**
	* 随机生成http的user-agent
	* NPM NAME : random-http-ua
	* vervison : v1.0.1
	* Github : https://github.com/seasidesun/random-http-ua
	* Author : seasidesun
	* Email : seasidetank@gmail.com
	*/
	(function() {
		/**
		* 根据所给概率返回此次随机是否落在概率区间
		* @param {Number} rate 概率 0-10
		* @return {Boolean} 是否概率落在区间
		*/
		var rMP = function rMP(rate) {
			var seed = parseInt(Math.random().toString().slice(2, 4));
			return seed < rate;
		};
		/**
		* 根据所给概率返回此次随机是否有值
		* @param {String} data 概率^有效值
		* @return {String} 有效值
		*/
		var rMPR = function rMPR(data) {
			data = data.split("^");
			if (!data[1]) return data[0];
			return rMP(data[0]) ? data[1] : "";
		};
		/**
		* 随机输出数组内的元素
		* @param {Array || String} list 供随机的数据
		* @return {String} 随机出的数据
		*/
		var rML = function rML(list) {
			if (!Array.isArray(list)) list = [list];
			var listNoRate = [];
			var listWithRate = [];
			list.forEach(function(data) {
				if (data.indexOf("^") !== -1) listWithRate.push(data);
				else listNoRate.push(data);
			});
			if (listWithRate.length) {
				var rateResult = null;
				for (var n = 0; n < listWithRate.length; n++) {
					var curRandomValue = rMPR(listWithRate[n]);
					if (curRandomValue) {
						rateResult = curRandomValue;
						break;
					}
				}
				if (rateResult) return rateResult;
			}
			if (!listNoRate.length) listNoRate = listWithRate;
			var seed = parseInt(Math.random().toString().slice(-3).split("").reverse().join(""));
			var index = seed % listNoRate.length;
			return listNoRate[index].replace(/^[0-9]{1,3}\^/, "");
		};
		/**
		* 随机26字母
		* @param {Number} num 字母的长度
		* @return {String} 随机出的字母
		*/
		var rMW = function rMW() {
			var num = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
			var ret = "";
			for (var n = 0; n < num; n++) {
				ret += rML([
					"A",
					"B",
					"C",
					"D",
					"E",
					"F",
					"G",
					"H",
					"I",
					"J",
					"K",
					"L",
					"M",
					"N",
					"O",
					"P",
					"Q",
					"R",
					"S",
					"T",
					"U",
					"V",
					"W",
					"X",
					"Y",
					"Z"
				]);
			}
			return ret;
		};
		/**
		* 随机输出区间内的一个数字
		* @param {Number || String} from 最小值
		* @param {Number || String} to 最大值
		* @return {String} 随机出的数字
		*/
		var rMR = function rMR(from, to) {
			from = parseInt(from);
			to = parseInt(to);
			if (isNaN(from)) return "";
			if (isNaN(to)) to = 0;
			if (from === to) return from;
			var base = Math.min(from, to);
			var range = Math.abs(from - to) + 1;
			var randomRange = range.toString().length + 1;
			var seed = parseInt(Math.random().toString().slice(-randomRange).split("").reverse().join(""));
			var jump = seed % range;
			return base + jump;
		};
		/**
		* 将数组里的元素拼成一个字符串，['', ';']过滤掉
		* @param {Array || String} list
		* @return {String} ua的一部分
		*/
		var cL = function cL(list) {
			if (!Array.isArray(list)) list = [list];
			return list.filter(function(item) {
				return ["", ";"].indexOf(item) === -1;
			}).join(" ");
		};
		/**
		* 供随机的数据
		* device: 设备类型 mobile || pc
		*
		* pcOs: pc端操作系统
		* mobileOs: 移动端操作系统
		*
		* windowsVer: windows系统版本
		* windowsBit: windows系统Bit位
		* windowsApp: windows系统下的浏览器应用 eg.ie、chrome
		*
		* macosVer: macos系统版本
		* macosApp: macos系统下的浏览器应用 eg.safari、chrome
		*
		* iosVer: ios版本
		* iosApp: ios浏览器应用
		*
		* androidVer: 安卓版本
		* androidBrand: 安卓机型 eg.samsung、huawei、mi
		* androidApp: 安卓浏览器应用 eg.uc、wechat
		*
		* UA中的部分字符串随机：
		* engineVer: ua中浏览引擎版本
		* versionVer: ua中浏览引擎版本加号版本
		* chromeVer: ua中chrome版本
		* safariVer: ua中safari版本
		* mobileVer: ua中Mobile版本
		* networwVer: ua中网络类型
		* netVer: ua中'.net'版本，重要是ie中使用到
		* ieVer: ie版本
		* tridentVer: trident版本，主要ie中使用到
		* qbVer: qq浏览器版本
		* qbcoreVer: qq浏览器core版本
		* edgeVer: egde浏览器版本
		* firefoxVer: firefox浏览器版本
		*
		* 只有customMap中的字段支持自定义
		*/
		var customDefault = {
			"device": ["mobile", "pc"],
			"pcOs": ["windows", "macos"],
			"mobileOs": ["android", "ios"],
			"windowsApp": [
				"ie",
				"edge",
				"qb",
				"chrome",
				"firfox",
				"360"
			],
			"macosApp": [
				"safari",
				"chrome",
				"firfox"
			],
			"iosApp": [
				"safari",
				"qb",
				"wechat"
			],
			"androidBrand": [
				"huawei",
				"mi",
				"vivo",
				"oppo",
				"samsung"
			],
			"androidApp": [
				"wechat",
				"uc",
				"baidu",
				"qb",
				"native"
			]
		};
		var rD = {
			"device": function device() {
				return rML(customDefault["device"]);
			},
			"pcOs": function pcOs() {
				return rML(customDefault["pcOs"]);
			},
			"mobileOs": function mobileOs() {
				return rML(customDefault["mobileOs"]);
			},
			"windowsVer": function windowsVer() {
				return rML([
					"5.1",
					"6.1",
					"10.0"
				]);
			},
			"windowsBit": function windowsBit() {
				return rML(["WOW64", "Win64; x64"]);
			},
			"windowsApp": function windowsApp() {
				return rML(customDefault["windowsApp"]);
			},
			"macosVer": function macosVer() {
				return rML([
					"10_13_1",
					"10_13_2",
					"10_13_3",
					"10_13_4",
					"10_13_5",
					"10_13_6",
					"10_14_1",
					"10_14_2",
					"10_14_3"
				]);
			},
			"macosApp": function macosApp() {
				return rML(customDefault["macosApp"]);
			},
			"iosVer": function iosVer() {
				return rML([
					`10_${rMR(1, 2)}`,
					`11_${rMR(1, 4)}_${rMR(1, 4)}`,
					`12_${rMR(1, 2)}_${rMR(1, 4)}`
				]);
			},
			"iosApp": function iosApp() {
				return rML(customDefault["iosApp"]);
			},
			"androidVer": function androidVer() {
				return `${rMR(7, 9)}.${rMR(0, 5)}${rMPR(`80^.${rMR(0, 5)}`)}`;
			},
			"androidBrand": function androidBrand() {
				return rML(customDefault["androidBrand"]);
			},
			"androidApp": function androidApp() {
				return rML(customDefault["androidApp"]);
			},
			"engineVer": function engineVer() {
				return `${rMR(412, 605)}.${rMR(1, 10)}${rMPR(`80^.${rMR(1, 60)}`)}`;
			},
			"versionVer": function versionVer() {
				return `${rMR(4, 12)}.${rMR(0, 5)}`;
			},
			"chromeVer": function chromeVer() {
				return `${rMR(50, 73)}.0.${rMR(2500, 3500)}.${rMR(1, 100)}`;
			},
			"safariVer": function safariVer() {
				return `${rMR(537, 605)}.${rMR(1, 36)}${rMPR(`80^.${rMR(1, 20)}`)}`;
			},
			"mobileVer": function mobileVer() {
				return `${rMR(11, 14)}${rMW()}${rMR(1, 60)}${rMR(1, 60)}${rMPR(`80^${rMW()}`)}`;
			},
			"networwVer": function networwVer() {
				return rML([
					"5^3G",
					"4G",
					"WIFI"
				]);
			},
			"netVer": function netVer() {
				return `${rMR(2, 4)}.${rMR(0, 5)}${rMPR(`80^.${rMR(30729, 50727)}`)}`;
			},
			"ieVer": function ieVer() {
				return rML([
					"8.0",
					"9.0",
					"10.0"
				]);
			},
			"tridentVer": function tridentVer() {
				return rML([
					"4.0",
					"5.0",
					"6.0"
				]);
			},
			"qbVer": function qbVer() {
				return `${rMR(8, 10)}.${rMR(0, 5)}.${rMR(2500, 3200)}.${rML([
					"100",
					"200",
					"300",
					"400"
				])}`;
			},
			"qbcoreVer": function qbcoreVer() {
				return `${rMR(1, 3)}.${rMR(50, 75)}.${rMR(500, 3500)}.${rML([
					"100",
					"200",
					"300",
					"400"
				])}`;
			},
			"edgeVer": function edgeVer() {
				return `${rMR(11, 17)}.${rMR(11e3, 17e3)}`;
			},
			"firefoxVer": function firefoxVer() {
				return `${rMR(55, 65)}.${rMR(0, 10)}`;
			}
		};
		var osHandlerOfpc = {
			"windows": function windows() {
				return `Windows NT ${rD.windowsVer()}; ${rD.windowsBit()}`;
			},
			"windows-ie": function windowsIe() {
				return cL([
					`compatible; MSIE ${rD.ieVer()};`,
					`Windows NT ${rD.windowsVer()};`,
					`${rMPR(`50^${rD.windowsBit()}`)};`,
					`Trident/${rD.tridentVer()};`,
					`${rMPR(`50^SLCC2`)};`,
					`${rMPR(`50^${`.NET CLR ${rD.netVer()}`}`)};`,
					`${rMPR(`50^Tablet PC 2.0`)};`
				]);
			},
			"macos": function macos() {
				return `Macintosh; Intel Mac OS X ${rD.macosVer()}`;
			},
			"macos-firefox": function macosFirefox() {
				return `Macintosh; Intel Mac OS X ${rD.macosVer()} rv:${rMR(60, 65)}.0`;
			},
			"ios": function ios() {
				return `iPhone; CPU iPhone OS ${rD.iosVer()} like Mac OS X`;
			},
			"android": function android() {
				return `Linux; Android ${rD.androidVer()}; wv`;
			},
			"android-huawei": function androidHuawei() {
				var tag = `${rML([`95^${rMW(3)}`, "EDISON"])}-${rML(["AL", "UL"])}${rMR(0, 2)}${rMR(0, 2)}`;
				return `Linux; Android ${rD.androidVer()}; ${tag} Build/HUAWEI${tag}; wv`;
			},
			"android-mi": function androidMi() {
				var miVerList = [
					"4LTE",
					"5",
					"5X",
					"5C",
					"5s",
					"5s Plus",
					"6",
					"6X",
					"8",
					"8 UD",
					"8 SE",
					"8 Lite",
					"9",
					"MAX",
					"MAX 2",
					"MAX 3",
					"PAD",
					"PAD 4",
					"NOTE",
					"NOTE LTE"
				];
				var miVer = rML([`MI ${rML(miVerList)}`, `MIX ${rML([
					"2",
					"2s",
					"3"
				])}`]);
				var suf1 = `Build/${rML([
					"OPM1",
					"PKQ1",
					"OPR1"
				])}.${rMR(17e4, 180729)}.${rMR(17e4, 180729)}`;
				var suf2 = `Build/${rMW(3)}${rMR(10, 30)}${rMW(1)}`;
				var suf = rML([`${suf1}`, `${suf2}`]);
				return `Linux; Android ${rD.androidVer()}; ${miVer} ${suf}; wv`;
			},
			"android-oppo": function androidOppo() {
				var oppoVerList = [
					"r9 plustm a",
					"A57t",
					"R9m",
					"R9t",
					"A79t",
					"R11t",
					"A57",
					"A37m",
					"R11",
					"A59s",
					"R9sk",
					"A73t",
					"A83",
					"R9 Plustm A",
					"R9s",
					"R9tm",
					"R11s",
					"A77",
					"A79k",
					"R11st",
					"A77t",
					"A33",
					"A53",
					"A59m",
					"R11 Plus",
					"R9s Plus",
					"A83t",
					"R9",
					"A59t",
					"R9skt",
					"A37t",
					"A53m",
					"A73",
					"R7sm",
					"R7s",
					"R9st",
					"r7s",
					"r9",
					"a37m",
					"r9m",
					"R11 Plusk",
					"r9 plusm a"
				];
				var tag = `OPPO ${rML(oppoVerList)} Build/${rMW(3)}${rMR(10, 30)}${rMW(1)}`;
				return `Linux; Android ${rD.androidVer()}; ${tag}; wv`;
			},
			"android-vivo": function androidVivo() {
				var vivoVerList = [
					"X21i A",
					"X9Plus",
					"Y66L",
					"Y66",
					"X20",
					"V3Max A",
					"X7",
					"NEX A",
					"Y31",
					"X9i",
					"Y85A",
					"Y75A",
					"X9s",
					"Xplay6",
					"Y83A",
					"X7Plus",
					"X9s Plus",
					"X9s L",
					"X9",
					"X9L",
					"X6Plus D",
					"Y71",
					"X21UD A",
					"Y51A",
					"X6Plus L",
					"Y71A",
					"X20A",
					"Y66i A",
					"X6A",
					"X21",
					"X9Plus L",
					"Y53L",
					"V3M A",
					"X6D",
					"X21A",
					"V3",
					"Y66i",
					"X6S A",
					"Z1",
					"X3V",
					"Y67L",
					"X20Plus A",
					"Xplay5A",
					"Z1i",
					"NEX S"
				];
				var tag = `vivo ${rML(vivoVerList)} Build/${rML([
					"OPM1",
					"PKQ1",
					"OPR1"
				])}.${rMR(17e3, 180128)}.0${rMR(1, 99)}`;
				return `Linux; Android ${rD.androidVer()}; ${tag}; wv`;
			},
			"android-samsung": function androidSamsung() {
				var samsungVerList = [
					"G9550",
					"C7000",
					"G9500",
					"C5000",
					"G9600",
					"N9500",
					"G9200",
					"G9508",
					"G6100",
					"G9287",
					"N9600",
					"C7010",
					"G9350",
					"G9280",
					"N9006",
					"G9300",
					"J3109",
					"C9000",
					"G935F",
					"N950N",
					"G9650",
					"A500FU",
					"C5010",
					"J5008",
					"A5000",
					"G955F",
					"A9100",
					"E7009",
					"G8508S",
					"W2018",
					"J3110",
					"G955U",
					"G5700",
					"A7100",
					"A7000",
					"G9608",
					"G8850",
					"G8750",
					"A600N",
					"A8000",
					"J7008",
					"G950U",
					"N9508",
					"G5108Q",
					"N9108V",
					"G9008V",
					"N920I",
					"G610F",
					"A6050",
					"W2016",
					"C9008",
					"G9750",
					"G3606",
					"A5108",
					"J5108",
					"P585Y",
					"G928V",
					"T331C",
					"N9005",
					"N960F",
					"G7105",
					"N9200",
					"G1600",
					"J250F",
					"N9008V",
					"G8870"
				];
				var tag = `SM-${rML(samsungVerList)} Build/${rMW(`${rMR(1, 3)}`)}${rMR(0, 99)}${rMW(1)}`;
				return `Linux; Android ${rD.androidVer()}; ${tag}; wv`;
			}
		};
		var appSufHandlerOfpc = {
			"windows": function windows() {
				return ``;
			},
			"windows-qb": function windowsQb() {
				return `QBCore/${rD.qbVer()} QQBrowser/${rD.qbcoreVer()}`;
			},
			"windows-edge": function windowsEdge() {
				return `edge/${rD.edgeVer()}`;
			},
			"windows-360": function windows360() {
				return `QIHU 360SE`;
			},
			"windows-firefox": function windowsFirefox() {
				return `Gecko/20${rMR(13, 17)}${rMR(1, 12)}${rMR(1, 30)} Firefox/${rD.firefoxVer()}`;
			},
			"macos": function macos() {
				return ``;
			},
			"macos-firefox": function macosFirefox() {
				return `Gecko/20${rMR(13, 17)}${rMR(1, 12)}${rMR(1, 30)} Firefox/${rD.firefoxVer()}`;
			},
			"ios": function ios() {
				return `Safari/${rD.safariVer()}`;
			},
			"ios-qb": function iosQb() {
				return `MQQBrowser/${rMR(8, 10)}.${rMR(0, 5)}.${rMR(1, 5)} Safari/${rD.safariVer()} MttCustomUA/${rMR(1, 3)} QBWebViewType/${rMR(2, 5)} WKType/`;
			},
			"ios-wechat": function iosWechat() {
				return `MicroMessenger/${rMR(5, 7)}.${rMR(0, 3)}.${rMR(1, 5)}(0x${rMR(15e6, 23e6)}) NetType/${rD.networwVer()} Language/zh_CN`;
			},
			"android-native": function androidNative() {
				return `Mobile Safari/${rD.safariVer()}`;
			},
			"android-wechat": function androidWechat() {
				return `Mobile Safari/${rD.safariVer()} MicroMessenger/${rMR(5, 7)}.${rMR(0, 3)}.${rMR(1, 5)}(0x${rMR(15e6, 23e6)}) NetType/${rD.networwVer()} Language/zh_CN`;
			},
			"android-baidu": function androidBaidu() {
				return `Mobile Safari/${rD.safariVer()}${rML(["2^ ", ` T7/${rMR(6, 9)}.${rMR(1, 9)} `])}baidubrowser/${rMR(1, 9)}.${rMR(10, 19)}.${rMR(10, 19)}.0 (Baidu; P1 ${rMR(1, 9)}.${rMR(0, 9)}.${rMR(0, 9)})`;
			},
			"android-uc": function androidUc() {
				return `UCBrowser/${rMR(10, 12)}.${rMR(0, 5)}.${rMR(0, 9)}.${rMR(100, 983)} Mobile Safari/${rD.safariVer()}`;
			},
			"android-qb": function androidQb() {
				return `MQQBrowser/${rMR(6, 8)}.${rMR(1, 9)} TBS/0${rMR(41e3, 45e3)} Mobile Safari/${rD.safariVer()}`;
			}
		};
		var genOneUaOfpc = function genOneUaOfpc(opts) {
			var foundation = "Mozilla/5.0";
			var tag = `${opts.os}-${opts.app}`;
			var osHandler = osHandlerOfpc[`${tag}`] || osHandlerOfpc[`${opts.os}`];
			var osInfo = osHandler();
			var engine = `AppleWebKit/${rD.engineVer()} (KHTML\, like Gecko)`;
			var version = `Version/${rD.versionVer()}`;
			var chrome = `Chrome/${rD.chromeVer()}`;
			var safari = `Safari/${rD.safariVer()}`;
			var prefix = rML([`50^${version}`, `${chrome}`]);
			var suffix = cL([`${prefix}`, `${safari}`]);
			var ua = "";
			switch (tag) {
				case "windows-ie":
					ua = `${foundation} (${osInfo})`;
					break;
				case "windows-":
					ua = `${foundation} (${osInfo}) ${engine} ${suffix}`;
					break;
				case "macos-":
					ua = `${foundation} (${osInfo}) ${engine} ${suffix}`;
					break;
				default:
					var appSuf = appSufHandlerOfpc[`${tag}`] || appSufHandlerOfpc[`${opts.os}`];
					ua = cL([
						`${foundation}`,
						`(${osInfo})`,
						`${engine}`,
						`${suffix}`,
						`${appSuf()}`
					]);
					break;
			}
			return ua;
		};
		/**
		* 生成一个mobile user-agent
		* @param {Object} opts
		* @return {String} ua
		*/
		var genOneUaOfmobile = function genOneUaOfmobile(opts) {
			var foundation = "Mozilla/5.0";
			var osInfo = "";
			if (opts.os === "ios") {
				var _tag = `${opts.os}-${opts.app}`;
				var osHandler = osHandlerOfpc[`${_tag}`] || osHandlerOfpc[`${opts.os}`];
				osInfo = osHandler();
			} else {
				var deviceTag = `${opts.os}-${opts.brand}`;
				var _osHandler = osHandlerOfpc[`${deviceTag}`] || osHandlerOfpc[`${opts.os}`];
				osInfo = _osHandler();
			}
			var engine = `AppleWebKit/${rD.engineVer()} (KHTML\, like Gecko)`;
			var prefix = "";
			var version = `Version/${rD.versionVer()}`;
			if (opts.os === "ios") {
				var mobile = `Mobile/${rD.mobileVer()}`;
				prefix = rML([`50^${version}`, `${mobile}`]);
			} else {
				var chrome = `Chrome/${rD.chromeVer()}`;
				prefix = rML([`50^${version}`, `${chrome}`]);
			}
			var ua = "";
			var tag = `${opts.os}-${opts.app}`;
			var appSuf = appSufHandlerOfpc[`${tag}`] || appSufHandlerOfpc[`${opts.os}`];
			switch (tag) {
				case "ios-":
					ua = `${foundation} (${osInfo}) ${engine} ${prefix} ${appSuf()}`;
					break;
				default:
					ua = `${foundation} (${osInfo}) ${engine} ${prefix} ${appSuf()}`;
					break;
			}
			return ua;
		};
		/**
		* 生成一个ua
		* @param {Object} opts 浏览器系统环境
		* @return {String} ua
		*/
		var genOneUa = function genOneUa(opts) {
			switch (opts.device) {
				case "pc": return genOneUaOfpc(opts);
				case "mobile": return genOneUaOfmobile(opts);
				default: break;
			}
		};
		/**
		* 随机生成一个浏览器的系统环境
		* @return {Object} 浏览器系统环境
		* device: pc | mobile
		* os: windows | macos | andriod | ios
		* app: safari | wechat | chrome | qb
		* brand: huawei | mi | oppo | vivo | samsung
		*/
		var genUaType = function genUaType() {
			var device = rD.device();
			var os = rD[`${device}Os`]();
			var app = rD[`${os}App`]();
			var brand = `${device}${os}` === "mobileandroid" ? rD.androidBrand() : "";
			return {
				device,
				os,
				app,
				brand
			};
		};
		/**
		* 随机生成浏览器的ua
		* @param {String | Number} ua的数量
		* @param {Object} ua的类型
		* @return {String | Array} 浏览器ua
		* customMap 为可自定义的ua参数
		*/
		var customMap = [
			"device",
			"pcOs",
			"mobileOs",
			"windowsApp",
			"macosApp",
			"iosApp",
			"androidBrand",
			"androidApp"
		];
		var generateUa = function generateUa() {
			var num = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
			var opt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
			num = parseInt(num);
			if (isNaN(num) || num < 1) num = 1;
			var config = _objectSpread({}, customDefault, opt);
			customMap.forEach(function(key) {
				rD[key] = function() {
					return rML(config[key]);
				};
			});
			var ret = [];
			for (var n = 0; n < num; n++) {
				ret.push(genOneUa(genUaType()));
			}
			return ret[1] ? ret : ret[0];
		};
		var randomUa = { generateUa };
		if (typeof exports === "object") {
			module.exports = randomUa;
		} else if (typeof define === "function") {
			define(function() {
				return randomUa;
			});
		} else {
			globalThis.randomUa = randomUa;
		}
	})();
}));

//#endregion
//#region ../libs_drpy/jinja.js
var require_jinja = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/*!
	* Jinja Templating for JavaScript v0.1.8
	* https://github.com/sstur/jinja-js
	*
	* This is a slimmed-down Jinja2 implementation [http://jinja.pocoo.org/]
	*
	* In the interest of simplicity, it deviates from Jinja2 as follows:
	* - Line statements, cycle, super, macro tags and block nesting are not implemented
	* - auto escapes html by default (the filter is "html" not "e")
	* - Only "html" and "safe" filters are built in
	* - Filters are not valid in expressions; `foo|length > 1` is not valid
	* - Expression Tests (`if num is odd`) not implemented (`is` translates to `==` and `isnot` to `!=`)
	*
	* Notes:
	* - if property is not found, but method '_get' exists, it will be called with the property name (and cached)
	* - `{% for n in obj %}` iterates the object's keys; get the value with `{% for n in obj %}{{ obj[n] }}{% endfor %}`
	* - subscript notation `a[0]` takes literals or simple variables but not `a[item.key]`
	* - `.2` is not a valid number literal; use `0.2`
	*
	*/
	(function(global, factory) {
		typeof exports === "object" && typeof module !== "undefined" ? factory(exports) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.jinja = {}));
	})(exports, (function(jinja) {
		"use strict";
		var STRINGS = /'(\\.|[^'])*'|"(\\.|[^"'"])*"/g;
		var IDENTS_AND_NUMS = /([$_a-z][$\w]*)|([+-]?\d+(\.\d+)?)/g;
		var NUMBER = /^[+-]?\d+(\.\d+)?$/;
		var NON_PRIMITIVES = /\[[@#~](,[@#~])*\]|\[\]|\{([@i]:[@#~])(,[@i]:[@#~])*\}|\{\}/g;
		var IDENTIFIERS = /[$_a-z][$\w]*/gi;
		var VARIABLES = /i(\.i|\[[@#i]\])*/g;
		var ACCESSOR = /(\.i|\[[@#i]\])/g;
		var OPERATORS = /(===?|!==?|>=?|<=?|&&|\|\||[+\-\*\/%])/g;
		var EOPS = /(^|[^$\w])(and|or|not|is|isnot)([^$\w]|$)/g;
		var LEADING_SPACE = /^\s+/;
		var TRAILING_SPACE = /\s+$/;
		var START_TOKEN = /\{\{\{|\{\{|\{%|\{#/;
		var TAGS = {
			"{{{": /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?\}\}\}/,
			"{{": /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?\}\}/,
			"{%": /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?%\}/,
			"{#": /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?#\}/
		};
		var delimeters = {
			"{%": "directive",
			"{{": "output",
			"{#": "comment"
		};
		var operators = {
			and: "&&",
			or: "||",
			not: "!",
			is: "==",
			isnot: "!="
		};
		var constants = {
			"true": true,
			"false": false,
			"null": null
		};
		function Parser() {
			this.nest = [];
			this.compiled = [];
			this.childBlocks = 0;
			this.parentBlocks = 0;
			this.isSilent = false;
		}
		Parser.prototype.push = function(line) {
			if (!this.isSilent) {
				this.compiled.push(line);
			}
		};
		Parser.prototype.parse = function(src) {
			this.tokenize(src);
			return this.compiled;
		};
		Parser.prototype.tokenize = function(src) {
			var lastEnd = 0, parser = this, trimLeading = false;
			matchAll(src, START_TOKEN, function(open, index, src) {
				var match = src.slice(index + open.length).match(TAGS[open]);
				match = match ? match[0] : "";
				var simplified = match.replace(STRINGS, "@");
				if (!match || ~simplified.indexOf(open)) {
					return index + 1;
				}
				var inner = match.slice(0, 0 - open.length);
				if (inner.charAt(0) === "-") var wsCollapseLeft = true;
				if (inner.slice(-1) === "-") var wsCollapseRight = true;
				inner = inner.replace(/^-|-$/g, "").trim();
				if (parser.rawMode && open + inner !== "{%endraw") {
					return index + 1;
				}
				var text = src.slice(lastEnd, index);
				lastEnd = index + open.length + match.length;
				if (trimLeading) text = trimLeft(text);
				if (wsCollapseLeft) text = trimRight(text);
				if (wsCollapseRight) trimLeading = true;
				if (open === "{{{") {
					open = "{{";
					inner += "|safe";
				}
				parser.textHandler(text);
				parser.tokenHandler(open, inner);
			});
			var text = src.slice(lastEnd);
			if (trimLeading) text = trimLeft(text);
			this.textHandler(text);
		};
		Parser.prototype.textHandler = function(text) {
			this.push("write(" + JSON.stringify(text) + ");");
		};
		Parser.prototype.tokenHandler = function(open, inner) {
			var type = delimeters[open];
			if (type === "directive") {
				this.compileTag(inner);
			} else if (type === "output") {
				var extracted = this.extractEnt(inner, STRINGS, "@");
				extracted.src = extracted.src.replace(/\|\|/g, "~").split("|");
				extracted.src = extracted.src.map(function(part) {
					return part.split("~").join("||");
				});
				var parts = this.injectEnt(extracted, "@");
				if (parts.length > 1) {
					var filters = parts.slice(1).map(this.parseFilter.bind(this));
					this.push("filter(" + this.parseExpr(parts[0]) + "," + filters.join(",") + ");");
				} else {
					this.push("filter(" + this.parseExpr(parts[0]) + ");");
				}
			}
		};
		Parser.prototype.compileTag = function(str) {
			var directive = str.split(" ")[0];
			var handler = tagHandlers[directive];
			if (!handler) {
				throw new Error("Invalid tag: " + str);
			}
			handler.call(this, str.slice(directive.length).trim());
		};
		Parser.prototype.parseFilter = function(src) {
			src = src.trim();
			var match = src.match(/[:(]/);
			var i = match ? match.index : -1;
			if (i < 0) return JSON.stringify([src]);
			var name = src.slice(0, i);
			var args = src.charAt(i) === ":" ? src.slice(i + 1) : src.slice(i + 1, -1);
			args = this.parseExpr(args, { terms: true });
			return "[" + JSON.stringify(name) + "," + args + "]";
		};
		Parser.prototype.extractEnt = function(src, regex, placeholder) {
			var subs = [], isFunc = typeof placeholder == "function";
			src = src.replace(regex, function(str) {
				var replacement = isFunc ? placeholder(str) : placeholder;
				if (replacement) {
					subs.push(str);
					return replacement;
				}
				return str;
			});
			return {
				src,
				subs
			};
		};
		Parser.prototype.injectEnt = function(extracted, placeholder) {
			var src = extracted.src, subs = extracted.subs, isArr = Array.isArray(src);
			var arr = isArr ? src : [src];
			var re = new RegExp("[" + placeholder + "]", "g"), i = 0;
			arr.forEach(function(src, index) {
				arr[index] = src.replace(re, function() {
					return subs[i++];
				});
			});
			return isArr ? arr : arr[0];
		};
		Parser.prototype.replaceComplex = function(s) {
			var parsed = this.extractEnt(s, /i(\.i|\[[@#i]\])+/g, "v");
			parsed.src = parsed.src.replace(NON_PRIMITIVES, "~");
			return this.injectEnt(parsed, "v");
		};
		Parser.prototype.parseExpr = function(src, opts) {
			opts = opts || {};
			var parsed1 = this.extractEnt(src, STRINGS, "@");
			parsed1.src = parsed1.src.replace(EOPS, function(s, before, op, after) {
				return op in operators ? before + operators[op] + after : s;
			});
			var parsed2 = this.extractEnt(parsed1.src, IDENTS_AND_NUMS, function(s) {
				return s in constants || NUMBER.test(s) ? "#" : null;
			});
			var parsed3 = this.extractEnt(parsed2.src, IDENTIFIERS, "i");
			parsed3.src = parsed3.src.replace(/\s+/g, "");
			var simplified = parsed3.src;
			while (simplified !== (simplified = this.replaceComplex(simplified)));
			while (simplified !== (simplified = simplified.replace(/i(\.i|\[[@#i]\])+/, "v")));
			simplified = simplified.replace(/[iv]\[v?\]/g, "x");
			simplified = simplified.replace(/[@#~v]/g, "i");
			simplified = simplified.replace(OPERATORS, "%");
			simplified = simplified.replace(/!+[i]/g, "i");
			var terms = opts.terms ? simplified.split(",") : [simplified];
			terms.forEach(function(term) {
				while (term !== (term = term.replace(/\(i(%i)*\)/g, "i")));
				if (!term.match(/^i(%i)*/)) {
					throw new Error("Invalid expression: " + src + " " + term);
				}
			});
			parsed3.src = parsed3.src.replace(VARIABLES, this.parseVar.bind(this));
			parsed2.src = this.injectEnt(parsed3, "i");
			parsed1.src = this.injectEnt(parsed2, "#");
			return this.injectEnt(parsed1, "@");
		};
		Parser.prototype.parseVar = function(src) {
			var args = Array.prototype.slice.call(arguments);
			var str = args.pop(), index = args.pop();
			if (src === "i" && str.charAt(index + 1) === ":") {
				return "\"i\"";
			}
			var parts = ["\"i\""];
			src.replace(ACCESSOR, function(part) {
				if (part === ".i") {
					parts.push("\"i\"");
				} else if (part === "[i]") {
					parts.push("get(\"i\")");
				} else {
					parts.push(part.slice(1, -1));
				}
			});
			return "get(" + parts.join(",") + ")";
		};
		Parser.prototype.escName = function(str) {
			return str.replace(/\W/g, function(s) {
				return "$" + s.charCodeAt(0).toString(16);
			});
		};
		Parser.prototype.parseQuoted = function(str) {
			if (str.charAt(0) === "'") {
				str = str.slice(1, -1).replace(/\\.|"/, function(s) {
					if (s === "\\'") return "'";
					return s.charAt(0) === "\\" ? s : "\\" + s;
				});
				str = "\"" + str + "\"";
			}
			return JSON.parse(str);
		};
		var tagHandlers = {
			"if": function(expr) {
				this.push("if (" + this.parseExpr(expr) + ") {");
				this.nest.unshift("if");
			},
			"else": function() {
				if (this.nest[0] === "for") {
					this.push("}, function() {");
				} else {
					this.push("} else {");
				}
			},
			"elseif": function(expr) {
				this.push("} else if (" + this.parseExpr(expr) + ") {");
			},
			"endif": function() {
				this.nest.shift();
				this.push("}");
			},
			"for": function(str) {
				var i = str.indexOf(" in ");
				var name = str.slice(0, i).trim();
				var expr = str.slice(i + 4).trim();
				this.push("each(" + this.parseExpr(expr) + "," + JSON.stringify(name) + ",function() {");
				this.nest.unshift("for");
			},
			"endfor": function() {
				this.nest.shift();
				this.push("});");
			},
			"raw": function() {
				this.rawMode = true;
			},
			"endraw": function() {
				this.rawMode = false;
			},
			"set": function(stmt) {
				var i = stmt.indexOf("=");
				var name = stmt.slice(0, i).trim();
				var expr = stmt.slice(i + 1).trim();
				this.push("set(" + JSON.stringify(name) + "," + this.parseExpr(expr) + ");");
			},
			"block": function(name) {
				if (this.isParent) {
					++this.parentBlocks;
					var blockName = "block_" + (this.escName(name) || this.parentBlocks);
					this.push("block(typeof " + blockName + " == \"function\" ? " + blockName + " : function() {");
				} else if (this.hasParent) {
					this.isSilent = false;
					++this.childBlocks;
					blockName = "block_" + (this.escName(name) || this.childBlocks);
					this.push("function " + blockName + "() {");
				}
				this.nest.unshift("block");
			},
			"endblock": function() {
				this.nest.shift();
				if (this.isParent) {
					this.push("});");
				} else if (this.hasParent) {
					this.push("}");
					this.isSilent = true;
				}
			},
			"extends": function(name) {
				name = this.parseQuoted(name);
				var parentSrc = this.readTemplateFile(name);
				this.isParent = true;
				this.tokenize(parentSrc);
				this.isParent = false;
				this.hasParent = true;
				this.isSilent = true;
			},
			"include": function(name) {
				name = this.parseQuoted(name);
				var incSrc = this.readTemplateFile(name);
				this.isInclude = true;
				this.tokenize(incSrc);
				this.isInclude = false;
			}
		};
		tagHandlers.assign = tagHandlers.set;
		tagHandlers.elif = tagHandlers.elseif;
		var getRuntime = function runtime(data, opts) {
			var defaults = { autoEscape: "toJson" };
			var _toString = Object.prototype.toString;
			var _hasOwnProperty = Object.prototype.hasOwnProperty;
			var getKeys = Object.keys || function(obj) {
				var keys = [];
				for (var n in obj) if (_hasOwnProperty.call(obj, n)) keys.push(n);
				return keys;
			};
			var isArray = Array.isArray || function(obj) {
				return _toString.call(obj) === "[object Array]";
			};
			var create = Object.create || function(obj) {
				function F() {}
				F.prototype = obj;
				return new F();
			};
			var toString = function(val) {
				if (val == null) return "";
				return typeof val.toString == "function" ? val.toString() : _toString.call(val);
			};
			var extend = function(dest, src) {
				var keys = getKeys(src);
				for (var i = 0, len = keys.length; i < len; i++) {
					var key = keys[i];
					dest[key] = src[key];
				}
				return dest;
			};
			var get = function() {
				var val, n = arguments[0], c = stack.length;
				while (c--) {
					val = stack[c][n];
					if (typeof val != "undefined") break;
				}
				for (var i = 1, len = arguments.length; i < len; i++) {
					if (val == null) continue;
					n = arguments[i];
					val = _hasOwnProperty.call(val, n) ? val[n] : typeof val._get == "function" ? val[n] = val._get(n) : null;
				}
				return val == null ? "" : val;
			};
			var set = function(n, val) {
				stack[stack.length - 1][n] = val;
			};
			var push = function(ctx) {
				stack.push(ctx || {});
			};
			var pop = function() {
				stack.pop();
			};
			var write = function(str) {
				output.push(str);
			};
			var filter = function(val) {
				for (var i = 1, len = arguments.length; i < len; i++) {
					var arr = arguments[i], name = arr[0], filter = filters[name];
					if (filter) {
						arr[0] = val;
						val = filter.apply(data, arr);
					} else {
						throw new Error("Invalid filter: " + name);
					}
				}
				if (opts.autoEscape && name !== opts.autoEscape && name !== "safe") {
					val = filters[opts.autoEscape].call(data, val);
				}
				output.push(val);
			};
			var each = function(obj, loopvar, fn1, fn2) {
				if (obj == null) return;
				var arr = isArray(obj) ? obj : getKeys(obj), len = arr.length;
				var ctx = { loop: {
					length: len,
					first: arr[0],
					last: arr[len - 1]
				} };
				push(ctx);
				for (var i = 0; i < len; i++) {
					extend(ctx.loop, {
						index: i + 1,
						index0: i
					});
					fn1(ctx[loopvar] = arr[i]);
				}
				if (len === 0 && fn2) fn2();
				pop();
			};
			var block = function(fn) {
				push();
				fn();
				pop();
			};
			var render = function() {
				return output.join("");
			};
			data = data || {};
			opts = extend(defaults, opts || {});
			var filters = extend({
				html: function(val) {
					return toString(val).split("&").join("&amp;").split("<").join("&lt;").split(">").join("&gt;").split("\"").join("&quot;");
				},
				safe: function(val) {
					return val;
				},
				toJson: function(val) {
					if (typeof val === "object") {
						return JSON.stringify(val);
					}
					return toString(val);
				}
			}, opts.filters || {});
			var stack = [create(data || {})], output = [];
			return {
				get,
				set,
				push,
				pop,
				write,
				filter,
				each,
				block,
				render
			};
		};
		var runtime;
		jinja.compile = function(markup, opts) {
			opts = opts || {};
			var parser = new Parser();
			parser.readTemplateFile = this.readTemplateFile;
			var code = [];
			code.push("function render($) {");
			code.push("var get = $.get, set = $.set, push = $.push, pop = $.pop, write = $.write, filter = $.filter, each = $.each, block = $.block;");
			code.push.apply(code, parser.parse(markup));
			code.push("return $.render();");
			code.push("}");
			code = code.join("\n");
			if (opts.runtime === false) {
				var fn = new Function("data", "options", "return (" + code + ")(runtime(data, options))");
			} else {
				runtime = runtime || (runtime = getRuntime.toString());
				fn = new Function("data", "options", "return (" + code + ")((" + runtime + ")(data, options))");
			}
			return { render: fn };
		};
		jinja.render = function(markup, data, opts) {
			var tmpl = jinja.compile(markup);
			return tmpl.render(data, opts);
		};
		jinja.templateFiles = [];
		jinja.readTemplateFile = function(name) {
			var templateFiles = this.templateFiles || [];
			var templateFile = templateFiles[name];
			if (templateFile == null) {
				throw new Error("Template file not found: " + name);
			}
			return templateFile;
		};
		/*!
		* Helpers
		*/
		function trimLeft(str) {
			return str.replace(LEADING_SPACE, "");
		}
		function trimRight(str) {
			return str.replace(TRAILING_SPACE, "");
		}
		function matchAll(str, reg, fn) {
			reg = new RegExp(reg.source, "g" + (reg.ignoreCase ? "i" : "") + (reg.multiline ? "m" : ""));
			var match;
			while (match = reg.exec(str)) {
				var result = fn(match[0], match.index, str);
				if (typeof result == "number") {
					reg.lastIndex = result;
				}
			}
		}
	}));
}));

//#endregion
//#region ../libs_drpy/jsencrypt.js
var require_jsencrypt = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	(function webpackUniversalModuleDefinition(root, factory) {
		if (typeof exports === "object" && typeof module === "object") {
			module.exports = exports = factory();
		} else if (typeof define === "function" && define.amd) {
			define([], factory);
		} else {
			globalThis.JSEncrypt = factory();
		}
	})(exports, () => {
		return (() => {
			var __webpack_modules__ = {
				"./lib/JSEncrypt.js": ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
					"use strict";
					eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"JSEncrypt\": () => (/* binding */ JSEncrypt)\n/* harmony export */ });\n/* harmony import */ var _lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/jsbn/base64 */ \"./lib/lib/jsbn/base64.js\");\n/* harmony import */ var _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./JSEncryptRSAKey */ \"./lib/JSEncryptRSAKey.js\");\n/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"./node_modules/process/browser.js\");\nvar _a;\n\n\nvar version = typeof process !== 'undefined'\n    ? (_a = process.env) === null || _a === void 0 ? void 0 : \"3.3.2\"\n    : undefined;\n/**\n *\n * @param {Object} [options = {}] - An object to customize JSEncrypt behaviour\n * possible parameters are:\n * - default_key_size        {number}  default: 1024 the key size in bit\n * - default_public_exponent {string}  default: '010001' the hexadecimal representation of the public exponent\n * - log                     {boolean} default: false whether log warn/error or not\n * @constructor\n */\nvar JSEncrypt = /** @class */ (function () {\n    function JSEncrypt(options) {\n        if (options === void 0) { options = {}; }\n        options = options || {};\n        this.default_key_size = options.default_key_size\n            ? parseInt(options.default_key_size, 10)\n            : 1024;\n        this.default_public_exponent = options.default_public_exponent || \"010001\"; // 65537 default openssl public exponent for rsa key type\n        this.log = options.log || false;\n        // The private and public key.\n        this.key = null;\n    }\n    /**\n     * Method to set the rsa key parameter (one method is enough to set both the public\n     * and the private key, since the private key contains the public key paramenters)\n     * Log a warning if logs are enabled\n     * @param {Object|string} key the pem encoded string or an object (with or without header/footer)\n     * @public\n     */\n    JSEncrypt.prototype.setKey = function (key) {\n        if (this.log && this.key) {\n            console.warn(\"A key was already set, overriding existing.\");\n        }\n        this.key = new _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__.JSEncryptRSAKey(key);\n    };\n    /**\n     * Proxy method for setKey, for api compatibility\n     * @see setKey\n     * @public\n     */\n    JSEncrypt.prototype.setPrivateKey = function (privkey) {\n        // Create the key.\n        this.setKey(privkey);\n    };\n    /**\n     * Proxy method for setKey, for api compatibility\n     * @see setKey\n     * @public\n     */\n    JSEncrypt.prototype.setPublicKey = function (pubkey) {\n        // Sets the public key.\n        this.setKey(pubkey);\n    };\n    /**\n     * Proxy method for RSAKey object's decrypt, decrypt the string using the private\n     * components of the rsa key object. Note that if the object was not set will be created\n     * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor\n     * @param {string} str base64 encoded crypted string to decrypt\n     * @return {string} the decrypted string\n     * @public\n     */\n    JSEncrypt.prototype.decrypt = function (str) {\n        // Return the decrypted string.\n        try {\n            return this.getKey().decrypt((0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.b64tohex)(str));\n        }\n        catch (ex) {\n            return false;\n        }\n    };\n    /**\n     * Proxy method for RSAKey object's encrypt, encrypt the string using the public\n     * components of the rsa key object. Note that if the object was not set will be created\n     * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor\n     * @param {string} str the string to encrypt\n     * @return {string} the encrypted string encoded in base64\n     * @public\n     */\n    JSEncrypt.prototype.encrypt = function (str) {\n        // Return the encrypted string.\n        try {\n            return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getKey().encrypt(str));\n        }\n        catch (ex) {\n            return false;\n        }\n    };\n    /**\n     * Proxy method for RSAKey object's sign.\n     * @param {string} str the string to sign\n     * @param {function} digestMethod hash method\n     * @param {string} digestName the name of the hash algorithm\n     * @return {string} the signature encoded in base64\n     * @public\n     */\n    JSEncrypt.prototype.sign = function (str, digestMethod, digestName) {\n        // return the RSA signature of 'str' in 'hex' format.\n        try {\n            return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getKey().sign(str, digestMethod, digestName));\n        }\n        catch (ex) {\n            return false;\n        }\n    };\n    /**\n     * Proxy method for RSAKey object's verify.\n     * @param {string} str the string to verify\n     * @param {string} signature the signature encoded in base64 to compare the string to\n     * @param {function} digestMethod hash method\n     * @return {boolean} whether the data and signature match\n     * @public\n     */\n    JSEncrypt.prototype.verify = function (str, signature, digestMethod) {\n        // Return the decrypted 'digest' of the signature.\n        try {\n            return this.getKey().verify(str, (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.b64tohex)(signature), digestMethod);\n        }\n        catch (ex) {\n            return false;\n        }\n    };\n    /**\n     * Getter for the current JSEncryptRSAKey object. If it doesn't exists a new object\n     * will be created and returned\n     * @param {callback} [cb] the callback to be called if we want the key to be generated\n     * in an async fashion\n     * @returns {JSEncryptRSAKey} the JSEncryptRSAKey object\n     * @public\n     */\n    JSEncrypt.prototype.getKey = function (cb) {\n        // Only create new if it does not exist.\n        if (!this.key) {\n            // Get a new private key.\n            this.key = new _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__.JSEncryptRSAKey();\n            if (cb && {}.toString.call(cb) === \"[object Function]\") {\n                this.key.generateAsync(this.default_key_size, this.default_public_exponent, cb);\n                return;\n            }\n            // Generate the key.\n            this.key.generate(this.default_key_size, this.default_public_exponent);\n        }\n        return this.key;\n    };\n    /**\n     * Returns the pem encoded representation of the private key\n     * If the key doesn't exists a new key will be created\n     * @returns {string} pem encoded representation of the private key WITH header and footer\n     * @public\n     */\n    JSEncrypt.prototype.getPrivateKey = function () {\n        // Return the private representation of this key.\n        return this.getKey().getPrivateKey();\n    };\n    /**\n     * Returns the pem encoded representation of the private key\n     * If the key doesn't exists a new key will be created\n     * @returns {string} pem encoded representation of the private key WITHOUT header and footer\n     * @public\n     */\n    JSEncrypt.prototype.getPrivateKeyB64 = function () {\n        // Return the private representation of this key.\n        return this.getKey().getPrivateBaseKeyB64();\n    };\n    /**\n     * Returns the pem encoded representation of the public key\n     * If the key doesn't exists a new key will be created\n     * @returns {string} pem encoded representation of the public key WITH header and footer\n     * @public\n     */\n    JSEncrypt.prototype.getPublicKey = function () {\n        // Return the private representation of this key.\n        return this.getKey().getPublicKey();\n    };\n    /**\n     * Returns the pem encoded representation of the public key\n     * If the key doesn't exists a new key will be created\n     * @returns {string} pem encoded representation of the public key WITHOUT header and footer\n     * @public\n     */\n    JSEncrypt.prototype.getPublicKeyB64 = function () {\n        // Return the private representation of this key.\n        return this.getKey().getPublicBaseKeyB64();\n    };\nvar b64map=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";var b64pad=\"=\";var base64DecodeChars=new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1);function btoa(str){var out,i,len;var c1,c2,c3;len=str.length;i=0;out=\"\";while(i<len){c1=str.charCodeAt(i++)&255;if(i==len){out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4);out+=\"==\";break}c2=str.charCodeAt(i++);if(i==len){out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4|(c2&240)>>4);out+=b64map.charAt((c2&15)<<2);out+=\"=\";break}c3=str.charCodeAt(i++);out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4|(c2&240)>>4);out+=b64map.charAt((c2&15)<<2|(c3&192)>>6);out+=b64map.charAt(c3&63)}return out}function atob(str){var c1,c2,c3,c4;var i,len,out;len=str.length;i=0;out=\"\";while(i<len){do{c1=base64DecodeChars[str.charCodeAt(i++)&255]}while(i<len&&c1==-1);if(c1==-1)break;do{c2=base64DecodeChars[str.charCodeAt(i++)&255]}while(i<len&&c2==-1);if(c2==-1)break;out+=String.fromCharCode(c1<<2|(c2&48)>>4);do{c3=str.charCodeAt(i++)&255;if(c3==61)return out;c3=base64DecodeChars[c3]}while(i<len&&c3==-1);if(c3==-1)break;out+=String.fromCharCode((c2&15)<<4|(c3&60)>>2);do{c4=str.charCodeAt(i++)&255;if(c4==61)return out;c4=base64DecodeChars[c4]}while(i<len&&c4==-1);if(c4==-1)break;out+=String.fromCharCode((c3&3)<<6|c4)}return out}function hex2b64(h){var i;var c;var ret=\"\";for(i=0;i+3<=h.length;i+=3){c=parseInt(h.substring(i,i+3),16);ret+=b64map.charAt(c>>6)+b64map.charAt(c&63)}if(i+1==h.length){c=parseInt(h.substring(i,i+1),16);ret+=b64map.charAt(c<<2)}else if(i+2==h.length){c=parseInt(h.substring(i,i+2),16);ret+=b64map.charAt(c>>2)+b64map.charAt((c&3)<<4)}while((ret.length&3)>0)ret+=b64pad;return ret}function hexToBytes(hex){for(var bytes=[],c=0;c<hex.length;c+=2)bytes.push(parseInt(hex.substr(c,2),16));return bytes}function bytesToHex(bytes){for(var hex=[],i=0;i<bytes.length;i++){hex.push((bytes[i]>>>4).toString(16));hex.push((bytes[i]&15).toString(16))}return hex.join(\"\")}function b64tohex(str){for(var i=0,bin=atob(str.replace(/[ \\r\\n]+$/,\"\")),hex=[];i<bin.length;++i){var tmp=bin.charCodeAt(i).toString(16);if(tmp.length===1)tmp=\"0\"+tmp;hex[hex.length]=tmp}return hex.join(\"\")}function addPreZero(num,length){var t=(num+\"\").length,s=\"\";for(var i=0;i<length-t;i++){s+=\"0\"}return s+num}JSEncrypt.prototype.getkeylength=function(){return this.key.n.bitLength()+7>>3};JSEncrypt.prototype.decryptUnicodeLong=function(string){var k=this.getKey();var maxLength=(k.n.bitLength()+7>>3)*2;try{var hexString=b64tohex(string);var decryptedString=\"\";var rexStr=\".{1,\"+maxLength+\"}\";var rex=new RegExp(rexStr,\"g\");var subStrArray=hexString.match(rex);if(subStrArray){subStrArray.forEach(function(entry){decryptedString+=k.decrypt(entry)});return decryptedString}}catch(ex){console.log(\"加密错误:\"+ex.message);return false}};JSEncrypt.prototype.encryptUnicodeLong=function(string){var k=this.getKey();var maxLength=(k.n.bitLength()+7>>3)-11;try{var subStr=\"\",encryptedString=\"\";var subStart=0,subEnd=0;var bitLen=0,tmpPoint=0;for(var i=0,len=string.length;i<len;i++){var charCode=string.charCodeAt(i);if(charCode<=127){bitLen+=1}else if(charCode<=2047){bitLen+=2}else if(charCode<=65535){bitLen+=3}else{bitLen+=4}if(bitLen>maxLength){subStr=string.substring(subStart,subEnd);encryptedString+=k.encrypt(subStr);subStart=subEnd;bitLen=bitLen-tmpPoint}else{subEnd=i;tmpPoint=bitLen}}subStr=string.substring(subStart,len);encryptedString+=k.encrypt(subStr);return hex2b64(encryptedString)}catch(ex){console.log(\"解密错误:\"+ex.message);return false}};    JSEncrypt.version = version;\n    return JSEncrypt;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/JSEncrypt.js?");
				}),
				"./lib/JSEncryptRSAKey.js": ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
					"use strict";
					eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"JSEncryptRSAKey\": () => (/* binding */ JSEncryptRSAKey)\n/* harmony export */ });\n/* harmony import */ var _lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/jsbn/base64 */ \"./lib/lib/jsbn/base64.js\");\n/* harmony import */ var _lib_asn1js_hex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/asn1js/hex */ \"./lib/lib/asn1js/hex.js\");\n/* harmony import */ var _lib_asn1js_base64__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/asn1js/base64 */ \"./lib/lib/asn1js/base64.js\");\n/* harmony import */ var _lib_asn1js_asn1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lib/asn1js/asn1 */ \"./lib/lib/asn1js/asn1.js\");\n/* harmony import */ var _lib_jsbn_rsa__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lib/jsbn/rsa */ \"./lib/lib/jsbn/rsa.js\");\n/* harmony import */ var _lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./lib/jsbn/jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./lib/jsrsasign/asn1-1.0 */ \"./lib/lib/jsrsasign/asn1-1.0.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        if (typeof b !== \"function\" && b !== null)\n            throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\n\n\n\n\n\n\n\n/**\n * Create a new JSEncryptRSAKey that extends Tom Wu's RSA key object.\n * This object is just a decorator for parsing the key parameter\n * @param {string|Object} key - The key in string format, or an object containing\n * the parameters needed to build a RSAKey object.\n * @constructor\n */\nvar JSEncryptRSAKey = /** @class */ (function (_super) {\n    __extends(JSEncryptRSAKey, _super);\n    function JSEncryptRSAKey(key) {\n        var _this = _super.call(this) || this;\n        // Call the super constructor.\n        //  RSAKey.call(this);\n        // If a key key was provided.\n        if (key) {\n            // If this is a string...\n            if (typeof key === \"string\") {\n                _this.parseKey(key);\n            }\n            else if (JSEncryptRSAKey.hasPrivateKeyProperty(key) ||\n                JSEncryptRSAKey.hasPublicKeyProperty(key)) {\n                // Set the values for the key.\n                _this.parsePropertiesFrom(key);\n            }\n        }\n        return _this;\n    }\n    /**\n     * Method to parse a pem encoded string containing both a public or private key.\n     * The method will translate the pem encoded string in a der encoded string and\n     * will parse private key and public key parameters. This method accepts public key\n     * in the rsaencryption pkcs #1 format (oid: 1.2.840.113549.1.1.1).\n     *\n     * @todo Check how many rsa formats use the same format of pkcs #1.\n     *\n     * The format is defined as:\n     * PublicKeyInfo ::= SEQUENCE {\n     *   algorithm       AlgorithmIdentifier,\n     *   PublicKey       BIT STRING\n     * }\n     * Where AlgorithmIdentifier is:\n     * AlgorithmIdentifier ::= SEQUENCE {\n     *   algorithm       OBJECT IDENTIFIER,     the OID of the enc algorithm\n     *   parameters      ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1)\n     * }\n     * and PublicKey is a SEQUENCE encapsulated in a BIT STRING\n     * RSAPublicKey ::= SEQUENCE {\n     *   modulus           INTEGER,  -- n\n     *   publicExponent    INTEGER   -- e\n     * }\n     * it's possible to examine the structure of the keys obtained from openssl using\n     * an asn.1 dumper as the one used here to parse the components: http://lapo.it/asn1js/\n     * @argument {string} pem the pem encoded string, can include the BEGIN/END header/footer\n     * @private\n     */\n    JSEncryptRSAKey.prototype.parseKey = function (pem) {\n        try {\n            var modulus = 0;\n            var public_exponent = 0;\n            var reHex = /^\\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\\s*)+$/;\n            var der = reHex.test(pem) ? _lib_asn1js_hex__WEBPACK_IMPORTED_MODULE_1__.Hex.decode(pem) : _lib_asn1js_base64__WEBPACK_IMPORTED_MODULE_2__.Base64.unarmor(pem);\n            var asn1 = _lib_asn1js_asn1__WEBPACK_IMPORTED_MODULE_3__.ASN1.decode(der);\n            // Fixes a bug with OpenSSL 1.0+ private keys\n            if (asn1.sub.length === 3) {\n                asn1 = asn1.sub[2].sub[0];\n            }\n            if (asn1.sub.length === 9) {\n                // Parse the private key.\n                modulus = asn1.sub[1].getHexStringValue(); // bigint\n                this.n = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(modulus, 16);\n                public_exponent = asn1.sub[2].getHexStringValue(); // int\n                this.e = parseInt(public_exponent, 16);\n                var private_exponent = asn1.sub[3].getHexStringValue(); // bigint\n                this.d = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(private_exponent, 16);\n                var prime1 = asn1.sub[4].getHexStringValue(); // bigint\n                this.p = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(prime1, 16);\n                var prime2 = asn1.sub[5].getHexStringValue(); // bigint\n                this.q = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(prime2, 16);\n                var exponent1 = asn1.sub[6].getHexStringValue(); // bigint\n                this.dmp1 = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(exponent1, 16);\n                var exponent2 = asn1.sub[7].getHexStringValue(); // bigint\n                this.dmq1 = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(exponent2, 16);\n                var coefficient = asn1.sub[8].getHexStringValue(); // bigint\n                this.coeff = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(coefficient, 16);\n            }\n            else if (asn1.sub.length === 2) {\n                if (asn1.sub[0].sub) {\n                    // Parse ASN.1 SubjectPublicKeyInfo type as defined by X.509\n                    var bit_string = asn1.sub[1];\n                    var sequence = bit_string.sub[0];\n                    modulus = sequence.sub[0].getHexStringValue();\n                    this.n = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(modulus, 16);\n                    public_exponent = sequence.sub[1].getHexStringValue();\n                    this.e = parseInt(public_exponent, 16);\n                }\n                else {\n                    // Parse ASN.1 RSAPublicKey type as defined by PKCS #1\n                    modulus = asn1.sub[0].getHexStringValue();\n                    this.n = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(modulus, 16);\n                    public_exponent = asn1.sub[1].getHexStringValue();\n                    this.e = parseInt(public_exponent, 16);\n                }\n            }\n            else {\n                return false;\n            }\n            return true;\n        }\n        catch (ex) {\n            return false;\n        }\n    };\n    /**\n     * Translate rsa parameters in a hex encoded string representing the rsa key.\n     *\n     * The translation follow the ASN.1 notation :\n     * RSAPrivateKey ::= SEQUENCE {\n     *   version           Version,\n     *   modulus           INTEGER,  -- n\n     *   publicExponent    INTEGER,  -- e\n     *   privateExponent   INTEGER,  -- d\n     *   prime1            INTEGER,  -- p\n     *   prime2            INTEGER,  -- q\n     *   exponent1         INTEGER,  -- d mod (p1)\n     *   exponent2         INTEGER,  -- d mod (q-1)\n     *   coefficient       INTEGER,  -- (inverse of q) mod p\n     * }\n     * @returns {string}  DER Encoded String representing the rsa private key\n     * @private\n     */\n    JSEncryptRSAKey.prototype.getPrivateBaseKey = function () {\n        var options = {\n            array: [\n                new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ int: 0 }),\n                new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.n }),\n                new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ int: this.e }),\n                new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.d }),\n                new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.p }),\n                new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.q }),\n                new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.dmp1 }),\n                new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.dmq1 }),\n                new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.coeff }),\n            ],\n        };\n        var seq = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERSequence(options);\n        return seq.getEncodedHex();\n    };\n    /**\n     * base64 (pem) encoded version of the DER encoded representation\n     * @returns {string} pem encoded representation without header and footer\n     * @public\n     */\n    JSEncryptRSAKey.prototype.getPrivateBaseKeyB64 = function () {\n        return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getPrivateBaseKey());\n    };\n    /**\n     * Translate rsa parameters in a hex encoded string representing the rsa public key.\n     * The representation follow the ASN.1 notation :\n     * PublicKeyInfo ::= SEQUENCE {\n     *   algorithm       AlgorithmIdentifier,\n     *   PublicKey       BIT STRING\n     * }\n     * Where AlgorithmIdentifier is:\n     * AlgorithmIdentifier ::= SEQUENCE {\n     *   algorithm       OBJECT IDENTIFIER,     the OID of the enc algorithm\n     *   parameters      ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1)\n     * }\n     * and PublicKey is a SEQUENCE encapsulated in a BIT STRING\n     * RSAPublicKey ::= SEQUENCE {\n     *   modulus           INTEGER,  -- n\n     *   publicExponent    INTEGER   -- e\n     * }\n     * @returns {string} DER Encoded String representing the rsa public key\n     * @private\n     */\n    JSEncryptRSAKey.prototype.getPublicBaseKey = function () {\n        var first_sequence = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERSequence({\n            array: [\n                new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERObjectIdentifier({ oid: \"1.2.840.113549.1.1.1\" }),\n                new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERNull(),\n            ],\n        });\n        var second_sequence = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERSequence({\n            array: [\n                new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.n }),\n                new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ int: this.e }),\n            ],\n        });\n        var bit_string = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERBitString({\n            hex: \"00\" + second_sequence.getEncodedHex(),\n        });\n        var seq = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERSequence({\n            array: [first_sequence, bit_string],\n        });\n        return seq.getEncodedHex();\n    };\n    /**\n     * base64 (pem) encoded version of the DER encoded representation\n     * @returns {string} pem encoded representation without header and footer\n     * @public\n     */\n    JSEncryptRSAKey.prototype.getPublicBaseKeyB64 = function () {\n        return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getPublicBaseKey());\n    };\n    /**\n     * wrap the string in block of width chars. The default value for rsa keys is 64\n     * characters.\n     * @param {string} str the pem encoded string without header and footer\n     * @param {Number} [width=64] - the length the string has to be wrapped at\n     * @returns {string}\n     * @private\n     */\n    JSEncryptRSAKey.wordwrap = function (str, width) {\n        width = width || 64;\n        if (!str) {\n            return str;\n        }\n        var regex = \"(.{1,\" + width + \"})( +|$\\n?)|(.{1,\" + width + \"})\";\n        return str.match(RegExp(regex, \"g\")).join(\"\\n\");\n    };\n    /**\n     * Retrieve the pem encoded private key\n     * @returns {string} the pem encoded private key with header/footer\n     * @public\n     */\n    JSEncryptRSAKey.prototype.getPrivateKey = function () {\n        var key = \"-----BEGIN RSA PRIVATE KEY-----\\n\";\n        key += JSEncryptRSAKey.wordwrap(this.getPrivateBaseKeyB64()) + \"\\n\";\n        key += \"-----END RSA PRIVATE KEY-----\";\n        return key;\n    };\n    /**\n     * Retrieve the pem encoded public key\n     * @returns {string} the pem encoded public key with header/footer\n     * @public\n     */\n    JSEncryptRSAKey.prototype.getPublicKey = function () {\n        var key = \"-----BEGIN PUBLIC KEY-----\\n\";\n        key += JSEncryptRSAKey.wordwrap(this.getPublicBaseKeyB64()) + \"\\n\";\n        key += \"-----END PUBLIC KEY-----\";\n        return key;\n    };\n    /**\n     * Check if the object contains the necessary parameters to populate the rsa modulus\n     * and public exponent parameters.\n     * @param {Object} [obj={}] - An object that may contain the two public key\n     * parameters\n     * @returns {boolean} true if the object contains both the modulus and the public exponent\n     * properties (n and e)\n     * @todo check for types of n and e. N should be a parseable bigInt object, E should\n     * be a parseable integer number\n     * @private\n     */\n    JSEncryptRSAKey.hasPublicKeyProperty = function (obj) {\n        obj = obj || {};\n        return obj.hasOwnProperty(\"n\") && obj.hasOwnProperty(\"e\");\n    };\n    /**\n     * Check if the object contains ALL the parameters of an RSA key.\n     * @param {Object} [obj={}] - An object that may contain nine rsa key\n     * parameters\n     * @returns {boolean} true if the object contains all the parameters needed\n     * @todo check for types of the parameters all the parameters but the public exponent\n     * should be parseable bigint objects, the public exponent should be a parseable integer number\n     * @private\n     */\n    JSEncryptRSAKey.hasPrivateKeyProperty = function (obj) {\n        obj = obj || {};\n        return (obj.hasOwnProperty(\"n\") &&\n            obj.hasOwnProperty(\"e\") &&\n            obj.hasOwnProperty(\"d\") &&\n            obj.hasOwnProperty(\"p\") &&\n            obj.hasOwnProperty(\"q\") &&\n            obj.hasOwnProperty(\"dmp1\") &&\n            obj.hasOwnProperty(\"dmq1\") &&\n            obj.hasOwnProperty(\"coeff\"));\n    };\n    /**\n     * Parse the properties of obj in the current rsa object. Obj should AT LEAST\n     * include the modulus and public exponent (n, e) parameters.\n     * @param {Object} obj - the object containing rsa parameters\n     * @private\n     */\n    JSEncryptRSAKey.prototype.parsePropertiesFrom = function (obj) {\n        this.n = obj.n;\n        this.e = obj.e;\n        if (obj.hasOwnProperty(\"d\")) {\n            this.d = obj.d;\n            this.p = obj.p;\n            this.q = obj.q;\n            this.dmp1 = obj.dmp1;\n            this.dmq1 = obj.dmq1;\n            this.coeff = obj.coeff;\n        }\n    };\n    return JSEncryptRSAKey;\n}(_lib_jsbn_rsa__WEBPACK_IMPORTED_MODULE_4__.RSAKey));\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/JSEncryptRSAKey.js?");
				}),
				"./lib/index.js": ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
					"use strict";
					eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"JSEncrypt\": () => (/* reexport safe */ _JSEncrypt__WEBPACK_IMPORTED_MODULE_0__.JSEncrypt),\n/* harmony export */   \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _JSEncrypt__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./JSEncrypt */ \"./lib/JSEncrypt.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_JSEncrypt__WEBPACK_IMPORTED_MODULE_0__.JSEncrypt);\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/index.js?");
				}),
				"./lib/lib/asn1js/asn1.js": ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
					"use strict";
					eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"ASN1\": () => (/* binding */ ASN1),\n/* harmony export */   \"ASN1Tag\": () => (/* binding */ ASN1Tag),\n/* harmony export */   \"Stream\": () => (/* binding */ Stream)\n/* harmony export */ });\n/* harmony import */ var _int10__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./int10 */ \"./lib/lib/asn1js/int10.js\");\n// ASN.1 JavaScript decoder\n// Copyright (c) 2008-2014 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\n/*global oids */\n\nvar ellipsis = \"\\u2026\";\nvar reTimeS = /^(\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nvar reTimeL = /^(\\d\\d\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nfunction stringCut(str, len) {\n    if (str.length > len) {\n        str = str.substring(0, len) + ellipsis;\n    }\n    return str;\n}\nvar Stream = /** @class */ (function () {\n    function Stream(enc, pos) {\n        this.hexDigits = \"0123456789ABCDEF\";\n        if (enc instanceof Stream) {\n            this.enc = enc.enc;\n            this.pos = enc.pos;\n        }\n        else {\n            // enc should be an array or a binary string\n            this.enc = enc;\n            this.pos = pos;\n        }\n    }\n    Stream.prototype.get = function (pos) {\n        if (pos === undefined) {\n            pos = this.pos++;\n        }\n        if (pos >= this.enc.length) {\n            throw new Error(\"Requesting byte offset \".concat(pos, \" on a stream of length \").concat(this.enc.length));\n        }\n        return (\"string\" === typeof this.enc) ? this.enc.charCodeAt(pos) : this.enc[pos];\n    };\n    Stream.prototype.hexByte = function (b) {\n        return this.hexDigits.charAt((b >> 4) & 0xF) + this.hexDigits.charAt(b & 0xF);\n    };\n    Stream.prototype.hexDump = function (start, end, raw) {\n        var s = \"\";\n        for (var i = start; i < end; ++i) {\n            s += this.hexByte(this.get(i));\n            if (raw !== true) {\n                switch (i & 0xF) {\n                    case 0x7:\n                        s += \"  \";\n                        break;\n                    case 0xF:\n                        s += \"\\n\";\n                        break;\n                    default:\n                        s += \" \";\n                }\n            }\n        }\n        return s;\n    };\n    Stream.prototype.isASCII = function (start, end) {\n        for (var i = start; i < end; ++i) {\n            var c = this.get(i);\n            if (c < 32 || c > 176) {\n                return false;\n            }\n        }\n        return true;\n    };\n    Stream.prototype.parseStringISO = function (start, end) {\n        var s = \"\";\n        for (var i = start; i < end; ++i) {\n            s += String.fromCharCode(this.get(i));\n        }\n        return s;\n    };\n    Stream.prototype.parseStringUTF = function (start, end) {\n        var s = \"\";\n        for (var i = start; i < end;) {\n            var c = this.get(i++);\n            if (c < 128) {\n                s += String.fromCharCode(c);\n            }\n            else if ((c > 191) && (c < 224)) {\n                s += String.fromCharCode(((c & 0x1F) << 6) | (this.get(i++) & 0x3F));\n            }\n            else {\n                s += String.fromCharCode(((c & 0x0F) << 12) | ((this.get(i++) & 0x3F) << 6) | (this.get(i++) & 0x3F));\n            }\n        }\n        return s;\n    };\n    Stream.prototype.parseStringBMP = function (start, end) {\n        var str = \"\";\n        var hi;\n        var lo;\n        for (var i = start; i < end;) {\n            hi = this.get(i++);\n            lo = this.get(i++);\n            str += String.fromCharCode((hi << 8) | lo);\n        }\n        return str;\n    };\n    Stream.prototype.parseTime = function (start, end, shortYear) {\n        var s = this.parseStringISO(start, end);\n        var m = (shortYear ? reTimeS : reTimeL).exec(s);\n        if (!m) {\n            return \"Unrecognized time: \" + s;\n        }\n        if (shortYear) {\n            // to avoid querying the timer, use the fixed range [1970, 2069]\n            // it will conform with ITU X.400 [-10, +40] sliding window until 2030\n            m[1] = +m[1];\n            m[1] += (+m[1] < 70) ? 2000 : 1900;\n        }\n        s = m[1] + \"-\" + m[2] + \"-\" + m[3] + \" \" + m[4];\n        if (m[5]) {\n            s += \":\" + m[5];\n            if (m[6]) {\n                s += \":\" + m[6];\n                if (m[7]) {\n                    s += \".\" + m[7];\n                }\n            }\n        }\n        if (m[8]) {\n            s += \" UTC\";\n            if (m[8] != \"Z\") {\n                s += m[8];\n                if (m[9]) {\n                    s += \":\" + m[9];\n                }\n            }\n        }\n        return s;\n    };\n    Stream.prototype.parseInteger = function (start, end) {\n        var v = this.get(start);\n        var neg = (v > 127);\n        var pad = neg ? 255 : 0;\n        var len;\n        var s = \"\";\n        // skip unuseful bits (not allowed in DER)\n        while (v == pad && ++start < end) {\n            v = this.get(start);\n        }\n        len = end - start;\n        if (len === 0) {\n            return neg ? -1 : 0;\n        }\n        // show bit length of huge integers\n        if (len > 4) {\n            s = v;\n            len <<= 3;\n            while (((+s ^ pad) & 0x80) == 0) {\n                s = +s << 1;\n                --len;\n            }\n            s = \"(\" + len + \" bit)\\n\";\n        }\n        // decode the integer\n        if (neg) {\n            v = v - 256;\n        }\n        var n = new _int10__WEBPACK_IMPORTED_MODULE_0__.Int10(v);\n        for (var i = start + 1; i < end; ++i) {\n            n.mulAdd(256, this.get(i));\n        }\n        return s + n.toString();\n    };\n    Stream.prototype.parseBitString = function (start, end, maxLength) {\n        var unusedBit = this.get(start);\n        var lenBit = ((end - start - 1) << 3) - unusedBit;\n        var intro = \"(\" + lenBit + \" bit)\\n\";\n        var s = \"\";\n        for (var i = start + 1; i < end; ++i) {\n            var b = this.get(i);\n            var skip = (i == end - 1) ? unusedBit : 0;\n            for (var j = 7; j >= skip; --j) {\n                s += (b >> j) & 1 ? \"1\" : \"0\";\n            }\n            if (s.length > maxLength) {\n                return intro + stringCut(s, maxLength);\n            }\n        }\n        return intro + s;\n    };\n    Stream.prototype.parseOctetString = function (start, end, maxLength) {\n        if (this.isASCII(start, end)) {\n            return stringCut(this.parseStringISO(start, end), maxLength);\n        }\n        var len = end - start;\n        var s = \"(\" + len + \" byte)\\n\";\n        maxLength /= 2; // we work in bytes\n        if (len > maxLength) {\n            end = start + maxLength;\n        }\n        for (var i = start; i < end; ++i) {\n            s += this.hexByte(this.get(i));\n        }\n        if (len > maxLength) {\n            s += ellipsis;\n        }\n        return s;\n    };\n    Stream.prototype.parseOID = function (start, end, maxLength) {\n        var s = \"\";\n        var n = new _int10__WEBPACK_IMPORTED_MODULE_0__.Int10();\n        var bits = 0;\n        for (var i = start; i < end; ++i) {\n            var v = this.get(i);\n            n.mulAdd(128, v & 0x7F);\n            bits += 7;\n            if (!(v & 0x80)) { // finished\n                if (s === \"\") {\n                    n = n.simplify();\n                    if (n instanceof _int10__WEBPACK_IMPORTED_MODULE_0__.Int10) {\n                        n.sub(80);\n                        s = \"2.\" + n.toString();\n                    }\n                    else {\n                        var m = n < 80 ? n < 40 ? 0 : 1 : 2;\n                        s = m + \".\" + (n - m * 40);\n                    }\n                }\n                else {\n                    s += \".\" + n.toString();\n                }\n                if (s.length > maxLength) {\n                    return stringCut(s, maxLength);\n                }\n                n = new _int10__WEBPACK_IMPORTED_MODULE_0__.Int10();\n                bits = 0;\n            }\n        }\n        if (bits > 0) {\n            s += \".incomplete\";\n        }\n        return s;\n    };\n    return Stream;\n}());\n\nvar ASN1 = /** @class */ (function () {\n    function ASN1(stream, header, length, tag, sub) {\n        if (!(tag instanceof ASN1Tag)) {\n            throw new Error(\"Invalid tag value.\");\n        }\n        this.stream = stream;\n        this.header = header;\n        this.length = length;\n        this.tag = tag;\n        this.sub = sub;\n    }\n    ASN1.prototype.typeName = function () {\n        switch (this.tag.tagClass) {\n            case 0: // universal\n                switch (this.tag.tagNumber) {\n                    case 0x00:\n                        return \"EOC\";\n                    case 0x01:\n                        return \"BOOLEAN\";\n                    case 0x02:\n                        return \"INTEGER\";\n                    case 0x03:\n                        return \"BIT_STRING\";\n                    case 0x04:\n                        return \"OCTET_STRING\";\n                    case 0x05:\n                        return \"NULL\";\n                    case 0x06:\n                        return \"OBJECT_IDENTIFIER\";\n                    case 0x07:\n                        return \"ObjectDescriptor\";\n                    case 0x08:\n                        return \"EXTERNAL\";\n                    case 0x09:\n                        return \"REAL\";\n                    case 0x0A:\n                        return \"ENUMERATED\";\n                    case 0x0B:\n                        return \"EMBEDDED_PDV\";\n                    case 0x0C:\n                        return \"UTF8String\";\n                    case 0x10:\n                        return \"SEQUENCE\";\n                    case 0x11:\n                        return \"SET\";\n                    case 0x12:\n                        return \"NumericString\";\n                    case 0x13:\n                        return \"PrintableString\"; // ASCII subset\n                    case 0x14:\n                        return \"TeletexString\"; // aka T61String\n                    case 0x15:\n                        return \"VideotexString\";\n                    case 0x16:\n                        return \"IA5String\"; // ASCII\n                    case 0x17:\n                        return \"UTCTime\";\n                    case 0x18:\n                        return \"GeneralizedTime\";\n                    case 0x19:\n                        return \"GraphicString\";\n                    case 0x1A:\n                        return \"VisibleString\"; // ASCII subset\n                    case 0x1B:\n                        return \"GeneralString\";\n                    case 0x1C:\n                        return \"UniversalString\";\n                    case 0x1E:\n                        return \"BMPString\";\n                }\n                return \"Universal_\" + this.tag.tagNumber.toString();\n            case 1:\n                return \"Application_\" + this.tag.tagNumber.toString();\n            case 2:\n                return \"[\" + this.tag.tagNumber.toString() + \"]\"; // Context\n            case 3:\n                return \"Private_\" + this.tag.tagNumber.toString();\n        }\n    };\n    ASN1.prototype.content = function (maxLength) {\n        if (this.tag === undefined) {\n            return null;\n        }\n        if (maxLength === undefined) {\n            maxLength = Infinity;\n        }\n        var content = this.posContent();\n        var len = Math.abs(this.length);\n        if (!this.tag.isUniversal()) {\n            if (this.sub !== null) {\n                return \"(\" + this.sub.length + \" elem)\";\n            }\n            return this.stream.parseOctetString(content, content + len, maxLength);\n        }\n        switch (this.tag.tagNumber) {\n            case 0x01: // BOOLEAN\n                return (this.stream.get(content) === 0) ? \"false\" : \"true\";\n            case 0x02: // INTEGER\n                return this.stream.parseInteger(content, content + len);\n            case 0x03: // BIT_STRING\n                return this.sub ? \"(\" + this.sub.length + \" elem)\" :\n                    this.stream.parseBitString(content, content + len, maxLength);\n            case 0x04: // OCTET_STRING\n                return this.sub ? \"(\" + this.sub.length + \" elem)\" :\n                    this.stream.parseOctetString(content, content + len, maxLength);\n            // case 0x05: // NULL\n            case 0x06: // OBJECT_IDENTIFIER\n                return this.stream.parseOID(content, content + len, maxLength);\n            // case 0x07: // ObjectDescriptor\n            // case 0x08: // EXTERNAL\n            // case 0x09: // REAL\n            // case 0x0A: // ENUMERATED\n            // case 0x0B: // EMBEDDED_PDV\n            case 0x10: // SEQUENCE\n            case 0x11: // SET\n                if (this.sub !== null) {\n                    return \"(\" + this.sub.length + \" elem)\";\n                }\n                else {\n                    return \"(no elem)\";\n                }\n            case 0x0C: // UTF8String\n                return stringCut(this.stream.parseStringUTF(content, content + len), maxLength);\n            case 0x12: // NumericString\n            case 0x13: // PrintableString\n            case 0x14: // TeletexString\n            case 0x15: // VideotexString\n            case 0x16: // IA5String\n            // case 0x19: // GraphicString\n            case 0x1A: // VisibleString\n                // case 0x1B: // GeneralString\n                // case 0x1C: // UniversalString\n                return stringCut(this.stream.parseStringISO(content, content + len), maxLength);\n            case 0x1E: // BMPString\n                return stringCut(this.stream.parseStringBMP(content, content + len), maxLength);\n            case 0x17: // UTCTime\n            case 0x18: // GeneralizedTime\n                return this.stream.parseTime(content, content + len, (this.tag.tagNumber == 0x17));\n        }\n        return null;\n    };\n    ASN1.prototype.toString = function () {\n        return this.typeName() + \"@\" + this.stream.pos + \"[header:\" + this.header + \",length:\" + this.length + \",sub:\" + ((this.sub === null) ? \"null\" : this.sub.length) + \"]\";\n    };\n    ASN1.prototype.toPrettyString = function (indent) {\n        if (indent === undefined) {\n            indent = \"\";\n        }\n        var s = indent + this.typeName() + \" @\" + this.stream.pos;\n        if (this.length >= 0) {\n            s += \"+\";\n        }\n        s += this.length;\n        if (this.tag.tagConstructed) {\n            s += \" (constructed)\";\n        }\n        else if ((this.tag.isUniversal() && ((this.tag.tagNumber == 0x03) || (this.tag.tagNumber == 0x04))) && (this.sub !== null)) {\n            s += \" (encapsulates)\";\n        }\n        s += \"\\n\";\n        if (this.sub !== null) {\n            indent += \"  \";\n            for (var i = 0, max = this.sub.length; i < max; ++i) {\n                s += this.sub[i].toPrettyString(indent);\n            }\n        }\n        return s;\n    };\n    ASN1.prototype.posStart = function () {\n        return this.stream.pos;\n    };\n    ASN1.prototype.posContent = function () {\n        return this.stream.pos + this.header;\n    };\n    ASN1.prototype.posEnd = function () {\n        return this.stream.pos + this.header + Math.abs(this.length);\n    };\n    ASN1.prototype.toHexString = function () {\n        return this.stream.hexDump(this.posStart(), this.posEnd(), true);\n    };\n    ASN1.decodeLength = function (stream) {\n        var buf = stream.get();\n        var len = buf & 0x7F;\n        if (len == buf) {\n            return len;\n        }\n        // no reason to use Int10, as it would be a huge buffer anyways\n        if (len > 6) {\n            throw new Error(\"Length over 48 bits not supported at position \" + (stream.pos - 1));\n        }\n        if (len === 0) {\n            return null;\n        } // undefined\n        buf = 0;\n        for (var i = 0; i < len; ++i) {\n            buf = (buf * 256) + stream.get();\n        }\n        return buf;\n    };\n    /**\n     * Retrieve the hexadecimal value (as a string) of the current ASN.1 element\n     * @returns {string}\n     * @public\n     */\n    ASN1.prototype.getHexStringValue = function () {\n        var hexString = this.toHexString();\n        var offset = this.header * 2;\n        var length = this.length * 2;\n        return hexString.substr(offset, length);\n    };\n    ASN1.decode = function (str) {\n        var stream;\n        if (!(str instanceof Stream)) {\n            stream = new Stream(str, 0);\n        }\n        else {\n            stream = str;\n        }\n        var streamStart = new Stream(stream);\n        var tag = new ASN1Tag(stream);\n        var len = ASN1.decodeLength(stream);\n        var start = stream.pos;\n        var header = start - streamStart.pos;\n        var sub = null;\n        var getSub = function () {\n            var ret = [];\n            if (len !== null) {\n                // definite length\n                var end = start + len;\n                while (stream.pos < end) {\n                    ret[ret.length] = ASN1.decode(stream);\n                }\n                if (stream.pos != end) {\n                    throw new Error(\"Content size is not correct for container starting at offset \" + start);\n                }\n            }\n            else {\n                // undefined length\n                try {\n                    for (;;) {\n                        var s = ASN1.decode(stream);\n                        if (s.tag.isEOC()) {\n                            break;\n                        }\n                        ret[ret.length] = s;\n                    }\n                    len = start - stream.pos; // undefined lengths are represented as negative values\n                }\n                catch (e) {\n                    throw new Error(\"Exception while decoding undefined length content: \" + e);\n                }\n            }\n            return ret;\n        };\n        if (tag.tagConstructed) {\n            // must have valid content\n            sub = getSub();\n        }\n        else if (tag.isUniversal() && ((tag.tagNumber == 0x03) || (tag.tagNumber == 0x04))) {\n            // sometimes BitString and OctetString are used to encapsulate ASN.1\n            try {\n                if (tag.tagNumber == 0x03) {\n                    if (stream.get() != 0) {\n                        throw new Error(\"BIT STRINGs with unused bits cannot encapsulate.\");\n                    }\n                }\n                sub = getSub();\n                for (var i = 0; i < sub.length; ++i) {\n                    if (sub[i].tag.isEOC()) {\n                        throw new Error(\"EOC is not supposed to be actual content.\");\n                    }\n                }\n            }\n            catch (e) {\n                // but silently ignore when they don't\n                sub = null;\n            }\n        }\n        if (sub === null) {\n            if (len === null) {\n                throw new Error(\"We can't skip over an invalid tag with undefined length at offset \" + start);\n            }\n            stream.pos = start + Math.abs(len);\n        }\n        return new ASN1(streamStart, header, len, tag, sub);\n    };\n    return ASN1;\n}());\n\nvar ASN1Tag = /** @class */ (function () {\n    function ASN1Tag(stream) {\n        var buf = stream.get();\n        this.tagClass = buf >> 6;\n        this.tagConstructed = ((buf & 0x20) !== 0);\n        this.tagNumber = buf & 0x1F;\n        if (this.tagNumber == 0x1F) { // long tag\n            var n = new _int10__WEBPACK_IMPORTED_MODULE_0__.Int10();\n            do {\n                buf = stream.get();\n                n.mulAdd(128, buf & 0x7F);\n            } while (buf & 0x80);\n            this.tagNumber = n.simplify();\n        }\n    }\n    ASN1Tag.prototype.isUniversal = function () {\n        return this.tagClass === 0x00;\n    };\n    ASN1Tag.prototype.isEOC = function () {\n        return this.tagClass === 0x00 && this.tagNumber === 0x00;\n    };\n    return ASN1Tag;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/asn1.js?");
				}),
				"./lib/lib/asn1js/base64.js": ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
					"use strict";
					eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"Base64\": () => (/* binding */ Base64)\n/* harmony export */ });\n// Base64 JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nvar Base64 = {\n    decode: function (a) {\n        var i;\n        if (decoder === undefined) {\n            var b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n            var ignore = \"= \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n            decoder = Object.create(null);\n            for (i = 0; i < 64; ++i) {\n                decoder[b64.charAt(i)] = i;\n            }\n            decoder['-'] = 62; //+\n            decoder['_'] = 63; //-\n            for (i = 0; i < ignore.length; ++i) {\n                decoder[ignore.charAt(i)] = -1;\n            }\n        }\n        var out = [];\n        var bits = 0;\n        var char_count = 0;\n        for (i = 0; i < a.length; ++i) {\n            var c = a.charAt(i);\n            if (c == \"=\") {\n                break;\n            }\n            c = decoder[c];\n            if (c == -1) {\n                continue;\n            }\n            if (c === undefined) {\n                throw new Error(\"Illegal character at offset \" + i);\n            }\n            bits |= c;\n            if (++char_count >= 4) {\n                out[out.length] = (bits >> 16);\n                out[out.length] = (bits >> 8) & 0xFF;\n                out[out.length] = bits & 0xFF;\n                bits = 0;\n                char_count = 0;\n            }\n            else {\n                bits <<= 6;\n            }\n        }\n        switch (char_count) {\n            case 1:\n                throw new Error(\"Base64 encoding incomplete: at least 2 bits missing\");\n            case 2:\n                out[out.length] = (bits >> 10);\n                break;\n            case 3:\n                out[out.length] = (bits >> 16);\n                out[out.length] = (bits >> 8) & 0xFF;\n                break;\n        }\n        return out;\n    },\n    re: /-----BEGIN [^-]+-----([A-Za-z0-9+\\/=\\s]+)-----END [^-]+-----|begin-base64[^\\n]+\\n([A-Za-z0-9+\\/=\\s]+)====/,\n    unarmor: function (a) {\n        var m = Base64.re.exec(a);\n        if (m) {\n            if (m[1]) {\n                a = m[1];\n            }\n            else if (m[2]) {\n                a = m[2];\n            }\n            else {\n                throw new Error(\"RegExp out of sync\");\n            }\n        }\n        return Base64.decode(a);\n    }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/base64.js?");
				}),
				"./lib/lib/asn1js/hex.js": ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
					"use strict";
					eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"Hex\": () => (/* binding */ Hex)\n/* harmony export */ });\n// Hex JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nvar Hex = {\n    decode: function (a) {\n        var i;\n        if (decoder === undefined) {\n            var hex = \"0123456789ABCDEF\";\n            var ignore = \" \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n            decoder = {};\n            for (i = 0; i < 16; ++i) {\n                decoder[hex.charAt(i)] = i;\n            }\n            hex = hex.toLowerCase();\n            for (i = 10; i < 16; ++i) {\n                decoder[hex.charAt(i)] = i;\n            }\n            for (i = 0; i < ignore.length; ++i) {\n                decoder[ignore.charAt(i)] = -1;\n            }\n        }\n        var out = [];\n        var bits = 0;\n        var char_count = 0;\n        for (i = 0; i < a.length; ++i) {\n            var c = a.charAt(i);\n            if (c == \"=\") {\n                break;\n            }\n            c = decoder[c];\n            if (c == -1) {\n                continue;\n            }\n            if (c === undefined) {\n                throw new Error(\"Illegal character at offset \" + i);\n            }\n            bits |= c;\n            if (++char_count >= 2) {\n                out[out.length] = bits;\n                bits = 0;\n                char_count = 0;\n            }\n            else {\n                bits <<= 4;\n            }\n        }\n        if (char_count) {\n            throw new Error(\"Hex encoding incomplete: 4 bits missing\");\n        }\n        return out;\n    }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/hex.js?");
				}),
				"./lib/lib/asn1js/int10.js": ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
					"use strict";
					eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"Int10\": () => (/* binding */ Int10)\n/* harmony export */ });\n// Big integer base-10 printing library\n// Copyright (c) 2014 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar max = 10000000000000; // biggest integer that can still fit 2^53 when multiplied by 256\nvar Int10 = /** @class */ (function () {\n    function Int10(value) {\n        this.buf = [+value || 0];\n    }\n    Int10.prototype.mulAdd = function (m, c) {\n        // assert(m <= 256)\n        var b = this.buf;\n        var l = b.length;\n        var i;\n        var t;\n        for (i = 0; i < l; ++i) {\n            t = b[i] * m + c;\n            if (t < max) {\n                c = 0;\n            }\n            else {\n                c = 0 | (t / max);\n                t -= c * max;\n            }\n            b[i] = t;\n        }\n        if (c > 0) {\n            b[i] = c;\n        }\n    };\n    Int10.prototype.sub = function (c) {\n        // assert(m <= 256)\n        var b = this.buf;\n        var l = b.length;\n        var i;\n        var t;\n        for (i = 0; i < l; ++i) {\n            t = b[i] - c;\n            if (t < 0) {\n                t += max;\n                c = 1;\n            }\n            else {\n                c = 0;\n            }\n            b[i] = t;\n        }\n        while (b[b.length - 1] === 0) {\n            b.pop();\n        }\n    };\n    Int10.prototype.toString = function (base) {\n        if ((base || 10) != 10) {\n            throw new Error(\"only base 10 is supported\");\n        }\n        var b = this.buf;\n        var s = b[b.length - 1].toString();\n        for (var i = b.length - 2; i >= 0; --i) {\n            s += (max + b[i]).toString().substring(1);\n        }\n        return s;\n    };\n    Int10.prototype.valueOf = function () {\n        var b = this.buf;\n        var v = 0;\n        for (var i = b.length - 1; i >= 0; --i) {\n            v = v * max + b[i];\n        }\n        return v;\n    };\n    Int10.prototype.simplify = function () {\n        var b = this.buf;\n        return (b.length == 1) ? b[0] : this;\n    };\n    return Int10;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/int10.js?");
				}),
				"./lib/lib/jsbn/base64.js": ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
					"use strict";
					eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"b64toBA\": () => (/* binding */ b64toBA),\n/* harmony export */   \"b64tohex\": () => (/* binding */ b64tohex),\n/* harmony export */   \"hex2b64\": () => (/* binding */ hex2b64)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./lib/lib/jsbn/util.js\");\n\nvar b64map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar b64pad = \"=\";\nfunction hex2b64(h) {\n    var i;\n    var c;\n    var ret = \"\";\n    for (i = 0; i + 3 <= h.length; i += 3) {\n        c = parseInt(h.substring(i, i + 3), 16);\n        ret += b64map.charAt(c >> 6) + b64map.charAt(c & 63);\n    }\n    if (i + 1 == h.length) {\n        c = parseInt(h.substring(i, i + 1), 16);\n        ret += b64map.charAt(c << 2);\n    }\n    else if (i + 2 == h.length) {\n        c = parseInt(h.substring(i, i + 2), 16);\n        ret += b64map.charAt(c >> 2) + b64map.charAt((c & 3) << 4);\n    }\n    while ((ret.length & 3) > 0) {\n        ret += b64pad;\n    }\n    return ret;\n}\n// convert a base64 string to hex\nfunction b64tohex(s) {\n    var ret = \"\";\n    var i;\n    var k = 0; // b64 state, 0-3\n    var slop = 0;\n    for (i = 0; i < s.length; ++i) {\n        if (s.charAt(i) == b64pad) {\n            break;\n        }\n        var v = b64map.indexOf(s.charAt(i));\n        if (v < 0) {\n            continue;\n        }\n        if (k == 0) {\n            ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v >> 2);\n            slop = v & 3;\n            k = 1;\n        }\n        else if (k == 1) {\n            ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)((slop << 2) | (v >> 4));\n            slop = v & 0xf;\n            k = 2;\n        }\n        else if (k == 2) {\n            ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(slop);\n            ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v >> 2);\n            slop = v & 3;\n            k = 3;\n        }\n        else {\n            ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)((slop << 2) | (v >> 4));\n            ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v & 0xf);\n            k = 0;\n        }\n    }\n    if (k == 1) {\n        ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(slop << 2);\n    }\n    return ret;\n}\n// convert a base64 string to a byte/number array\nfunction b64toBA(s) {\n    // piggyback on b64tohex for now, optimize later\n    var h = b64tohex(s);\n    var i;\n    var a = [];\n    for (i = 0; 2 * i < h.length; ++i) {\n        a[i] = parseInt(h.substring(2 * i, 2 * i + 2), 16);\n    }\n    return a;\n}\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/base64.js?");
				}),
				"./lib/lib/jsbn/jsbn.js": ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
					"use strict";
					eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"BigInteger\": () => (/* binding */ BigInteger),\n/* harmony export */   \"intAt\": () => (/* binding */ intAt),\n/* harmony export */   \"nbi\": () => (/* binding */ nbi),\n/* harmony export */   \"nbits\": () => (/* binding */ nbits),\n/* harmony export */   \"nbv\": () => (/* binding */ nbv),\n/* harmony export */   \"parseBigInt\": () => (/* binding */ parseBigInt)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./lib/lib/jsbn/util.js\");\n// Copyright (c) 2005  Tom Wu\n// All Rights Reserved.\n// See \"LICENSE\" for details.\n// Basic JavaScript BN library - subset useful for RSA encryption.\n\n// Bits per digit\nvar dbits;\n// JavaScript engine analysis\nvar canary = 0xdeadbeefcafe;\nvar j_lm = ((canary & 0xffffff) == 0xefcafe);\n//#region\nvar lowprimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997];\nvar lplim = (1 << 26) / lowprimes[lowprimes.length - 1];\n//#endregion\n// (public) Constructor\nvar BigInteger = /** @class */ (function () {\n    function BigInteger(a, b, c) {\n        if (a != null) {\n            if (\"number\" == typeof a) {\n                this.fromNumber(a, b, c);\n            }\n            else if (b == null && \"string\" != typeof a) {\n                this.fromString(a, 256);\n            }\n            else {\n                this.fromString(a, b);\n            }\n        }\n    }\n    //#region PUBLIC\n    // BigInteger.prototype.toString = bnToString;\n    // (public) return string representation in given radix\n    BigInteger.prototype.toString = function (b) {\n        if (this.s < 0) {\n            return \"-\" + this.negate().toString(b);\n        }\n        var k;\n        if (b == 16) {\n            k = 4;\n        }\n        else if (b == 8) {\n            k = 3;\n        }\n        else if (b == 2) {\n            k = 1;\n        }\n        else if (b == 32) {\n            k = 5;\n        }\n        else if (b == 4) {\n            k = 2;\n        }\n        else {\n            return this.toRadix(b);\n        }\n        var km = (1 << k) - 1;\n        var d;\n        var m = false;\n        var r = \"\";\n        var i = this.t;\n        var p = this.DB - (i * this.DB) % k;\n        if (i-- > 0) {\n            if (p < this.DB && (d = this[i] >> p) > 0) {\n                m = true;\n                r = (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(d);\n            }\n            while (i >= 0) {\n                if (p < k) {\n                    d = (this[i] & ((1 << p) - 1)) << (k - p);\n                    d |= this[--i] >> (p += this.DB - k);\n                }\n                else {\n                    d = (this[i] >> (p -= k)) & km;\n                    if (p <= 0) {\n                        p += this.DB;\n                        --i;\n                    }\n                }\n                if (d > 0) {\n                    m = true;\n                }\n                if (m) {\n                    r += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(d);\n                }\n            }\n        }\n        return m ? r : \"0\";\n    };\n    // BigInteger.prototype.negate = bnNegate;\n    // (public) -this\n    BigInteger.prototype.negate = function () {\n        var r = nbi();\n        BigInteger.ZERO.subTo(this, r);\n        return r;\n    };\n    // BigInteger.prototype.abs = bnAbs;\n    // (public) |this|\n    BigInteger.prototype.abs = function () {\n        return (this.s < 0) ? this.negate() : this;\n    };\n    // BigInteger.prototype.compareTo = bnCompareTo;\n    // (public) return + if this > a, - if this < a, 0 if equal\n    BigInteger.prototype.compareTo = function (a) {\n        var r = this.s - a.s;\n        if (r != 0) {\n            return r;\n        }\n        var i = this.t;\n        r = i - a.t;\n        if (r != 0) {\n            return (this.s < 0) ? -r : r;\n        }\n        while (--i >= 0) {\n            if ((r = this[i] - a[i]) != 0) {\n                return r;\n            }\n        }\n        return 0;\n    };\n    // BigInteger.prototype.bitLength = bnBitLength;\n    // (public) return the number of bits in \"this\"\n    BigInteger.prototype.bitLength = function () {\n        if (this.t <= 0) {\n            return 0;\n        }\n        return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM));\n    };\n    // BigInteger.prototype.mod = bnMod;\n    // (public) this mod a\n    BigInteger.prototype.mod = function (a) {\n        var r = nbi();\n        this.abs().divRemTo(a, null, r);\n        if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) {\n            a.subTo(r, r);\n        }\n        return r;\n    };\n    // BigInteger.prototype.modPowInt = bnModPowInt;\n    // (public) this^e % m, 0 <= e < 2^32\n    BigInteger.prototype.modPowInt = function (e, m) {\n        var z;\n        if (e < 256 || m.isEven()) {\n            z = new Classic(m);\n        }\n        else {\n            z = new Montgomery(m);\n        }\n        return this.exp(e, z);\n    };\n    // BigInteger.prototype.clone = bnClone;\n    // (public)\n    BigInteger.prototype.clone = function () {\n        var r = nbi();\n        this.copyTo(r);\n        return r;\n    };\n    // BigInteger.prototype.intValue = bnIntValue;\n    // (public) return value as integer\n    BigInteger.prototype.intValue = function () {\n        if (this.s < 0) {\n            if (this.t == 1) {\n                return this[0] - this.DV;\n            }\n            else if (this.t == 0) {\n                return -1;\n            }\n        }\n        else if (this.t == 1) {\n            return this[0];\n        }\n        else if (this.t == 0) {\n            return 0;\n        }\n        // assumes 16 < DB < 32\n        return ((this[1] & ((1 << (32 - this.DB)) - 1)) << this.DB) | this[0];\n    };\n    // BigInteger.prototype.byteValue = bnByteValue;\n    // (public) return value as byte\n    BigInteger.prototype.byteValue = function () {\n        return (this.t == 0) ? this.s : (this[0] << 24) >> 24;\n    };\n    // BigInteger.prototype.shortValue = bnShortValue;\n    // (public) return value as short (assumes DB>=16)\n    BigInteger.prototype.shortValue = function () {\n        return (this.t == 0) ? this.s : (this[0] << 16) >> 16;\n    };\n    // BigInteger.prototype.signum = bnSigNum;\n    // (public) 0 if this == 0, 1 if this > 0\n    BigInteger.prototype.signum = function () {\n        if (this.s < 0) {\n            return -1;\n        }\n        else if (this.t <= 0 || (this.t == 1 && this[0] <= 0)) {\n            return 0;\n        }\n        else {\n            return 1;\n        }\n    };\n    // BigInteger.prototype.toByteArray = bnToByteArray;\n    // (public) convert to bigendian byte array\n    BigInteger.prototype.toByteArray = function () {\n        var i = this.t;\n        var r = [];\n        r[0] = this.s;\n        var p = this.DB - (i * this.DB) % 8;\n        var d;\n        var k = 0;\n        if (i-- > 0) {\n            if (p < this.DB && (d = this[i] >> p) != (this.s & this.DM) >> p) {\n                r[k++] = d | (this.s << (this.DB - p));\n            }\n            while (i >= 0) {\n                if (p < 8) {\n                    d = (this[i] & ((1 << p) - 1)) << (8 - p);\n                    d |= this[--i] >> (p += this.DB - 8);\n                }\n                else {\n                    d = (this[i] >> (p -= 8)) & 0xff;\n                    if (p <= 0) {\n                        p += this.DB;\n                        --i;\n                    }\n                }\n                if ((d & 0x80) != 0) {\n                    d |= -256;\n                }\n                if (k == 0 && (this.s & 0x80) != (d & 0x80)) {\n                    ++k;\n                }\n                if (k > 0 || d != this.s) {\n                    r[k++] = d;\n                }\n            }\n        }\n        return r;\n    };\n    // BigInteger.prototype.equals = bnEquals;\n    BigInteger.prototype.equals = function (a) {\n        return (this.compareTo(a) == 0);\n    };\n    // BigInteger.prototype.min = bnMin;\n    BigInteger.prototype.min = function (a) {\n        return (this.compareTo(a) < 0) ? this : a;\n    };\n    // BigInteger.prototype.max = bnMax;\n    BigInteger.prototype.max = function (a) {\n        return (this.compareTo(a) > 0) ? this : a;\n    };\n    // BigInteger.prototype.and = bnAnd;\n    BigInteger.prototype.and = function (a) {\n        var r = nbi();\n        this.bitwiseTo(a, _util__WEBPACK_IMPORTED_MODULE_0__.op_and, r);\n        return r;\n    };\n    // BigInteger.prototype.or = bnOr;\n    BigInteger.prototype.or = function (a) {\n        var r = nbi();\n        this.bitwiseTo(a, _util__WEBPACK_IMPORTED_MODULE_0__.op_or, r);\n        return r;\n    };\n    // BigInteger.prototype.xor = bnXor;\n    BigInteger.prototype.xor = function (a) {\n        var r = nbi();\n        this.bitwiseTo(a, _util__WEBPACK_IMPORTED_MODULE_0__.op_xor, r);\n        return r;\n    };\n    // BigInteger.prototype.andNot = bnAndNot;\n    BigInteger.prototype.andNot = function (a) {\n        var r = nbi();\n        this.bitwiseTo(a, _util__WEBPACK_IMPORTED_MODULE_0__.op_andnot, r);\n        return r;\n    };\n    // BigInteger.prototype.not = bnNot;\n    // (public) ~this\n    BigInteger.prototype.not = function () {\n        var r = nbi();\n        for (var i = 0; i < this.t; ++i) {\n            r[i] = this.DM & ~this[i];\n        }\n        r.t = this.t;\n        r.s = ~this.s;\n        return r;\n    };\n    // BigInteger.prototype.shiftLeft = bnShiftLeft;\n    // (public) this << n\n    BigInteger.prototype.shiftLeft = function (n) {\n        var r = nbi();\n        if (n < 0) {\n            this.rShiftTo(-n, r);\n        }\n        else {\n            this.lShiftTo(n, r);\n        }\n        return r;\n    };\n    // BigInteger.prototype.shiftRight = bnShiftRight;\n    // (public) this >> n\n    BigInteger.prototype.shiftRight = function (n) {\n        var r = nbi();\n        if (n < 0) {\n            this.lShiftTo(-n, r);\n        }\n        else {\n            this.rShiftTo(n, r);\n        }\n        return r;\n    };\n    // BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit;\n    // (public) returns index of lowest 1-bit (or -1 if none)\n    BigInteger.prototype.getLowestSetBit = function () {\n        for (var i = 0; i < this.t; ++i) {\n            if (this[i] != 0) {\n                return i * this.DB + (0,_util__WEBPACK_IMPORTED_MODULE_0__.lbit)(this[i]);\n            }\n        }\n        if (this.s < 0) {\n            return this.t * this.DB;\n        }\n        return -1;\n    };\n    // BigInteger.prototype.bitCount = bnBitCount;\n    // (public) return number of set bits\n    BigInteger.prototype.bitCount = function () {\n        var r = 0;\n        var x = this.s & this.DM;\n        for (var i = 0; i < this.t; ++i) {\n            r += (0,_util__WEBPACK_IMPORTED_MODULE_0__.cbit)(this[i] ^ x);\n        }\n        return r;\n    };\n    // BigInteger.prototype.testBit = bnTestBit;\n    // (public) true iff nth bit is set\n    BigInteger.prototype.testBit = function (n) {\n        var j = Math.floor(n / this.DB);\n        if (j >= this.t) {\n            return (this.s != 0);\n        }\n        return ((this[j] & (1 << (n % this.DB))) != 0);\n    };\n    // BigInteger.prototype.setBit = bnSetBit;\n    // (public) this | (1<<n)\n    BigInteger.prototype.setBit = function (n) {\n        return this.changeBit(n, _util__WEBPACK_IMPORTED_MODULE_0__.op_or);\n    };\n    // BigInteger.prototype.clearBit = bnClearBit;\n    // (public) this & ~(1<<n)\n    BigInteger.prototype.clearBit = function (n) {\n        return this.changeBit(n, _util__WEBPACK_IMPORTED_MODULE_0__.op_andnot);\n    };\n    // BigInteger.prototype.flipBit = bnFlipBit;\n    // (public) this ^ (1<<n)\n    BigInteger.prototype.flipBit = function (n) {\n        return this.changeBit(n, _util__WEBPACK_IMPORTED_MODULE_0__.op_xor);\n    };\n    // BigInteger.prototype.add = bnAdd;\n    // (public) this + a\n    BigInteger.prototype.add = function (a) {\n        var r = nbi();\n        this.addTo(a, r);\n        return r;\n    };\n    // BigInteger.prototype.subtract = bnSubtract;\n    // (public) this - a\n    BigInteger.prototype.subtract = function (a) {\n        var r = nbi();\n        this.subTo(a, r);\n        return r;\n    };\n    // BigInteger.prototype.multiply = bnMultiply;\n    // (public) this * a\n    BigInteger.prototype.multiply = function (a) {\n        var r = nbi();\n        this.multiplyTo(a, r);\n        return r;\n    };\n    // BigInteger.prototype.divide = bnDivide;\n    // (public) this / a\n    BigInteger.prototype.divide = function (a) {\n        var r = nbi();\n        this.divRemTo(a, r, null);\n        return r;\n    };\n    // BigInteger.prototype.remainder = bnRemainder;\n    // (public) this % a\n    BigInteger.prototype.remainder = function (a) {\n        var r = nbi();\n        this.divRemTo(a, null, r);\n        return r;\n    };\n    // BigInteger.prototype.divideAndRemainder = bnDivideAndRemainder;\n    // (public) [this/a,this%a]\n    BigInteger.prototype.divideAndRemainder = function (a) {\n        var q = nbi();\n        var r = nbi();\n        this.divRemTo(a, q, r);\n        return [q, r];\n    };\n    // BigInteger.prototype.modPow = bnModPow;\n    // (public) this^e % m (HAC 14.85)\n    BigInteger.prototype.modPow = function (e, m) {\n        var i = e.bitLength();\n        var k;\n        var r = nbv(1);\n        var z;\n        if (i <= 0) {\n            return r;\n        }\n        else if (i < 18) {\n            k = 1;\n        }\n        else if (i < 48) {\n            k = 3;\n        }\n        else if (i < 144) {\n            k = 4;\n        }\n        else if (i < 768) {\n            k = 5;\n        }\n        else {\n            k = 6;\n        }\n        if (i < 8) {\n            z = new Classic(m);\n        }\n        else if (m.isEven()) {\n            z = new Barrett(m);\n        }\n        else {\n            z = new Montgomery(m);\n        }\n        // precomputation\n        var g = [];\n        var n = 3;\n        var k1 = k - 1;\n        var km = (1 << k) - 1;\n        g[1] = z.convert(this);\n        if (k > 1) {\n            var g2 = nbi();\n            z.sqrTo(g[1], g2);\n            while (n <= km) {\n                g[n] = nbi();\n                z.mulTo(g2, g[n - 2], g[n]);\n                n += 2;\n            }\n        }\n        var j = e.t - 1;\n        var w;\n        var is1 = true;\n        var r2 = nbi();\n        var t;\n        i = nbits(e[j]) - 1;\n        while (j >= 0) {\n            if (i >= k1) {\n                w = (e[j] >> (i - k1)) & km;\n            }\n            else {\n                w = (e[j] & ((1 << (i + 1)) - 1)) << (k1 - i);\n                if (j > 0) {\n                    w |= e[j - 1] >> (this.DB + i - k1);\n                }\n            }\n            n = k;\n            while ((w & 1) == 0) {\n                w >>= 1;\n                --n;\n            }\n            if ((i -= n) < 0) {\n                i += this.DB;\n                --j;\n            }\n            if (is1) { // ret == 1, don't bother squaring or multiplying it\n                g[w].copyTo(r);\n                is1 = false;\n            }\n            else {\n                while (n > 1) {\n                    z.sqrTo(r, r2);\n                    z.sqrTo(r2, r);\n                    n -= 2;\n                }\n                if (n > 0) {\n                    z.sqrTo(r, r2);\n                }\n                else {\n                    t = r;\n                    r = r2;\n                    r2 = t;\n                }\n                z.mulTo(r2, g[w], r);\n            }\n            while (j >= 0 && (e[j] & (1 << i)) == 0) {\n                z.sqrTo(r, r2);\n                t = r;\n                r = r2;\n                r2 = t;\n                if (--i < 0) {\n                    i = this.DB - 1;\n                    --j;\n                }\n            }\n        }\n        return z.revert(r);\n    };\n    // BigInteger.prototype.modInverse = bnModInverse;\n    // (public) 1/this % m (HAC 14.61)\n    BigInteger.prototype.modInverse = function (m) {\n        var ac = m.isEven();\n        if ((this.isEven() && ac) || m.signum() == 0) {\n            return BigInteger.ZERO;\n        }\n        var u = m.clone();\n        var v = this.clone();\n        var a = nbv(1);\n        var b = nbv(0);\n        var c = nbv(0);\n        var d = nbv(1);\n        while (u.signum() != 0) {\n            while (u.isEven()) {\n                u.rShiftTo(1, u);\n                if (ac) {\n                    if (!a.isEven() || !b.isEven()) {\n                        a.addTo(this, a);\n                        b.subTo(m, b);\n                    }\n                    a.rShiftTo(1, a);\n                }\n                else if (!b.isEven()) {\n                    b.subTo(m, b);\n                }\n                b.rShiftTo(1, b);\n            }\n            while (v.isEven()) {\n                v.rShiftTo(1, v);\n                if (ac) {\n                    if (!c.isEven() || !d.isEven()) {\n                        c.addTo(this, c);\n                        d.subTo(m, d);\n                    }\n                    c.rShiftTo(1, c);\n                }\n                else if (!d.isEven()) {\n                    d.subTo(m, d);\n                }\n                d.rShiftTo(1, d);\n            }\n            if (u.compareTo(v) >= 0) {\n                u.subTo(v, u);\n                if (ac) {\n                    a.subTo(c, a);\n                }\n                b.subTo(d, b);\n            }\n            else {\n                v.subTo(u, v);\n                if (ac) {\n                    c.subTo(a, c);\n                }\n                d.subTo(b, d);\n            }\n        }\n        if (v.compareTo(BigInteger.ONE) != 0) {\n            return BigInteger.ZERO;\n        }\n        if (d.compareTo(m) >= 0) {\n            return d.subtract(m);\n        }\n        if (d.signum() < 0) {\n            d.addTo(m, d);\n        }\n        else {\n            return d;\n        }\n        if (d.signum() < 0) {\n            return d.add(m);\n        }\n        else {\n            return d;\n        }\n    };\n    // BigInteger.prototype.pow = bnPow;\n    // (public) this^e\n    BigInteger.prototype.pow = function (e) {\n        return this.exp(e, new NullExp());\n    };\n    // BigInteger.prototype.gcd = bnGCD;\n    // (public) gcd(this,a) (HAC 14.54)\n    BigInteger.prototype.gcd = function (a) {\n        var x = (this.s < 0) ? this.negate() : this.clone();\n        var y = (a.s < 0) ? a.negate() : a.clone();\n        if (x.compareTo(y) < 0) {\n            var t = x;\n            x = y;\n            y = t;\n        }\n        var i = x.getLowestSetBit();\n        var g = y.getLowestSetBit();\n        if (g < 0) {\n            return x;\n        }\n        if (i < g) {\n            g = i;\n        }\n        if (g > 0) {\n            x.rShiftTo(g, x);\n            y.rShiftTo(g, y);\n        }\n        while (x.signum() > 0) {\n            if ((i = x.getLowestSetBit()) > 0) {\n                x.rShiftTo(i, x);\n            }\n            if ((i = y.getLowestSetBit()) > 0) {\n                y.rShiftTo(i, y);\n            }\n            if (x.compareTo(y) >= 0) {\n                x.subTo(y, x);\n                x.rShiftTo(1, x);\n            }\n            else {\n                y.subTo(x, y);\n                y.rShiftTo(1, y);\n            }\n        }\n        if (g > 0) {\n            y.lShiftTo(g, y);\n        }\n        return y;\n    };\n    // BigInteger.prototype.isProbablePrime = bnIsProbablePrime;\n    // (public) test primality with certainty >= 1-.5^t\n    BigInteger.prototype.isProbablePrime = function (t) {\n        var i;\n        var x = this.abs();\n        if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) {\n            for (i = 0; i < lowprimes.length; ++i) {\n                if (x[0] == lowprimes[i]) {\n                    return true;\n                }\n            }\n            return false;\n        }\n        if (x.isEven()) {\n            return false;\n        }\n        i = 1;\n        while (i < lowprimes.length) {\n            var m = lowprimes[i];\n            var j = i + 1;\n            while (j < lowprimes.length && m < lplim) {\n                m *= lowprimes[j++];\n            }\n            m = x.modInt(m);\n            while (i < j) {\n                if (m % lowprimes[i++] == 0) {\n                    return false;\n                }\n            }\n        }\n        return x.millerRabin(t);\n    };\n    //#endregion PUBLIC\n    //#region PROTECTED\n    // BigInteger.prototype.copyTo = bnpCopyTo;\n    // (protected) copy this to r\n    BigInteger.prototype.copyTo = function (r) {\n        for (var i = this.t - 1; i >= 0; --i) {\n            r[i] = this[i];\n        }\n        r.t = this.t;\n        r.s = this.s;\n    };\n    // BigInteger.prototype.fromInt = bnpFromInt;\n    // (protected) set from integer value x, -DV <= x < DV\n    BigInteger.prototype.fromInt = function (x) {\n        this.t = 1;\n        this.s = (x < 0) ? -1 : 0;\n        if (x > 0) {\n            this[0] = x;\n        }\n        else if (x < -1) {\n            this[0] = x + this.DV;\n        }\n        else {\n            this.t = 0;\n        }\n    };\n    // BigInteger.prototype.fromString = bnpFromString;\n    // (protected) set from string and radix\n    BigInteger.prototype.fromString = function (s, b) {\n        var k;\n        if (b == 16) {\n            k = 4;\n        }\n        else if (b == 8) {\n            k = 3;\n        }\n        else if (b == 256) {\n            k = 8;\n            /* byte array */\n        }\n        else if (b == 2) {\n            k = 1;\n        }\n        else if (b == 32) {\n            k = 5;\n        }\n        else if (b == 4) {\n            k = 2;\n        }\n        else {\n            this.fromRadix(s, b);\n            return;\n        }\n        this.t = 0;\n        this.s = 0;\n        var i = s.length;\n        var mi = false;\n        var sh = 0;\n        while (--i >= 0) {\n            var x = (k == 8) ? (+s[i]) & 0xff : intAt(s, i);\n            if (x < 0) {\n                if (s.charAt(i) == \"-\") {\n                    mi = true;\n                }\n                continue;\n            }\n            mi = false;\n            if (sh == 0) {\n                this[this.t++] = x;\n            }\n            else if (sh + k > this.DB) {\n                this[this.t - 1] |= (x & ((1 << (this.DB - sh)) - 1)) << sh;\n                this[this.t++] = (x >> (this.DB - sh));\n            }\n            else {\n                this[this.t - 1] |= x << sh;\n            }\n            sh += k;\n            if (sh >= this.DB) {\n                sh -= this.DB;\n            }\n        }\n        if (k == 8 && ((+s[0]) & 0x80) != 0) {\n            this.s = -1;\n            if (sh > 0) {\n                this[this.t - 1] |= ((1 << (this.DB - sh)) - 1) << sh;\n            }\n        }\n        this.clamp();\n        if (mi) {\n            BigInteger.ZERO.subTo(this, this);\n        }\n    };\n    // BigInteger.prototype.clamp = bnpClamp;\n    // (protected) clamp off excess high words\n    BigInteger.prototype.clamp = function () {\n        var c = this.s & this.DM;\n        while (this.t > 0 && this[this.t - 1] == c) {\n            --this.t;\n        }\n    };\n    // BigInteger.prototype.dlShiftTo = bnpDLShiftTo;\n    // (protected) r = this << n*DB\n    BigInteger.prototype.dlShiftTo = function (n, r) {\n        var i;\n        for (i = this.t - 1; i >= 0; --i) {\n            r[i + n] = this[i];\n        }\n        for (i = n - 1; i >= 0; --i) {\n            r[i] = 0;\n        }\n        r.t = this.t + n;\n        r.s = this.s;\n    };\n    // BigInteger.prototype.drShiftTo = bnpDRShiftTo;\n    // (protected) r = this >> n*DB\n    BigInteger.prototype.drShiftTo = function (n, r) {\n        for (var i = n; i < this.t; ++i) {\n            r[i - n] = this[i];\n        }\n        r.t = Math.max(this.t - n, 0);\n        r.s = this.s;\n    };\n    // BigInteger.prototype.lShiftTo = bnpLShiftTo;\n    // (protected) r = this << n\n    BigInteger.prototype.lShiftTo = function (n, r) {\n        var bs = n % this.DB;\n        var cbs = this.DB - bs;\n        var bm = (1 << cbs) - 1;\n        var ds = Math.floor(n / this.DB);\n        var c = (this.s << bs) & this.DM;\n        for (var i = this.t - 1; i >= 0; --i) {\n            r[i + ds + 1] = (this[i] >> cbs) | c;\n            c = (this[i] & bm) << bs;\n        }\n        for (var i = ds - 1; i >= 0; --i) {\n            r[i] = 0;\n        }\n        r[ds] = c;\n        r.t = this.t + ds + 1;\n        r.s = this.s;\n        r.clamp();\n    };\n    // BigInteger.prototype.rShiftTo = bnpRShiftTo;\n    // (protected) r = this >> n\n    BigInteger.prototype.rShiftTo = function (n, r) {\n        r.s = this.s;\n        var ds = Math.floor(n / this.DB);\n        if (ds >= this.t) {\n            r.t = 0;\n            return;\n        }\n        var bs = n % this.DB;\n        var cbs = this.DB - bs;\n        var bm = (1 << bs) - 1;\n        r[0] = this[ds] >> bs;\n        for (var i = ds + 1; i < this.t; ++i) {\n            r[i - ds - 1] |= (this[i] & bm) << cbs;\n            r[i - ds] = this[i] >> bs;\n        }\n        if (bs > 0) {\n            r[this.t - ds - 1] |= (this.s & bm) << cbs;\n        }\n        r.t = this.t - ds;\n        r.clamp();\n    };\n    // BigInteger.prototype.subTo = bnpSubTo;\n    // (protected) r = this - a\n    BigInteger.prototype.subTo = function (a, r) {\n        var i = 0;\n        var c = 0;\n        var m = Math.min(a.t, this.t);\n        while (i < m) {\n            c += this[i] - a[i];\n            r[i++] = c & this.DM;\n            c >>= this.DB;\n        }\n        if (a.t < this.t) {\n            c -= a.s;\n            while (i < this.t) {\n                c += this[i];\n                r[i++] = c & this.DM;\n                c >>= this.DB;\n            }\n            c += this.s;\n        }\n        else {\n            c += this.s;\n            while (i < a.t) {\n                c -= a[i];\n                r[i++] = c & this.DM;\n                c >>= this.DB;\n            }\n            c -= a.s;\n        }\n        r.s = (c < 0) ? -1 : 0;\n        if (c < -1) {\n            r[i++] = this.DV + c;\n        }\n        else if (c > 0) {\n            r[i++] = c;\n        }\n        r.t = i;\n        r.clamp();\n    };\n    // BigInteger.prototype.multiplyTo = bnpMultiplyTo;\n    // (protected) r = this * a, r != this,a (HAC 14.12)\n    // \"this\" should be the larger one if appropriate.\n    BigInteger.prototype.multiplyTo = function (a, r) {\n        var x = this.abs();\n        var y = a.abs();\n        var i = x.t;\n        r.t = i + y.t;\n        while (--i >= 0) {\n            r[i] = 0;\n        }\n        for (i = 0; i < y.t; ++i) {\n            r[i + x.t] = x.am(0, y[i], r, i, 0, x.t);\n        }\n        r.s = 0;\n        r.clamp();\n        if (this.s != a.s) {\n            BigInteger.ZERO.subTo(r, r);\n        }\n    };\n    // BigInteger.prototype.squareTo = bnpSquareTo;\n    // (protected) r = this^2, r != this (HAC 14.16)\n    BigInteger.prototype.squareTo = function (r) {\n        var x = this.abs();\n        var i = r.t = 2 * x.t;\n        while (--i >= 0) {\n            r[i] = 0;\n        }\n        for (i = 0; i < x.t - 1; ++i) {\n            var c = x.am(i, x[i], r, 2 * i, 0, 1);\n            if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {\n                r[i + x.t] -= x.DV;\n                r[i + x.t + 1] = 1;\n            }\n        }\n        if (r.t > 0) {\n            r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1);\n        }\n        r.s = 0;\n        r.clamp();\n    };\n    // BigInteger.prototype.divRemTo = bnpDivRemTo;\n    // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)\n    // r != q, this != m.  q or r may be null.\n    BigInteger.prototype.divRemTo = function (m, q, r) {\n        var pm = m.abs();\n        if (pm.t <= 0) {\n            return;\n        }\n        var pt = this.abs();\n        if (pt.t < pm.t) {\n            if (q != null) {\n                q.fromInt(0);\n            }\n            if (r != null) {\n                this.copyTo(r);\n            }\n            return;\n        }\n        if (r == null) {\n            r = nbi();\n        }\n        var y = nbi();\n        var ts = this.s;\n        var ms = m.s;\n        var nsh = this.DB - nbits(pm[pm.t - 1]); // normalize modulus\n        if (nsh > 0) {\n            pm.lShiftTo(nsh, y);\n            pt.lShiftTo(nsh, r);\n        }\n        else {\n            pm.copyTo(y);\n            pt.copyTo(r);\n        }\n        var ys = y.t;\n        var y0 = y[ys - 1];\n        if (y0 == 0) {\n            return;\n        }\n        var yt = y0 * (1 << this.F1) + ((ys > 1) ? y[ys - 2] >> this.F2 : 0);\n        var d1 = this.FV / yt;\n        var d2 = (1 << this.F1) / yt;\n        var e = 1 << this.F2;\n        var i = r.t;\n        var j = i - ys;\n        var t = (q == null) ? nbi() : q;\n        y.dlShiftTo(j, t);\n        if (r.compareTo(t) >= 0) {\n            r[r.t++] = 1;\n            r.subTo(t, r);\n        }\n        BigInteger.ONE.dlShiftTo(ys, t);\n        t.subTo(y, y); // \"negative\" y so we can replace sub with am later\n        while (y.t < ys) {\n            y[y.t++] = 0;\n        }\n        while (--j >= 0) {\n            // Estimate quotient digit\n            var qd = (r[--i] == y0) ? this.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2);\n            if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) { // Try it out\n                y.dlShiftTo(j, t);\n                r.subTo(t, r);\n                while (r[i] < --qd) {\n                    r.subTo(t, r);\n                }\n            }\n        }\n        if (q != null) {\n            r.drShiftTo(ys, q);\n            if (ts != ms) {\n                BigInteger.ZERO.subTo(q, q);\n            }\n        }\n        r.t = ys;\n        r.clamp();\n        if (nsh > 0) {\n            r.rShiftTo(nsh, r);\n        } // Denormalize remainder\n        if (ts < 0) {\n            BigInteger.ZERO.subTo(r, r);\n        }\n    };\n    // BigInteger.prototype.invDigit = bnpInvDigit;\n    // (protected) return \"-1/this % 2^DB\"; useful for Mont. reduction\n    // justification:\n    //         xy == 1 (mod m)\n    //         xy =  1+km\n    //   xy(2-xy) = (1+km)(1-km)\n    // x[y(2-xy)] = 1-k^2m^2\n    // x[y(2-xy)] == 1 (mod m^2)\n    // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2\n    // should reduce x and y(2-xy) by m^2 at each step to keep size bounded.\n    // JS multiply \"overflows\" differently from C/C++, so care is needed here.\n    BigInteger.prototype.invDigit = function () {\n        if (this.t < 1) {\n            return 0;\n        }\n        var x = this[0];\n        if ((x & 1) == 0) {\n            return 0;\n        }\n        var y = x & 3; // y == 1/x mod 2^2\n        y = (y * (2 - (x & 0xf) * y)) & 0xf; // y == 1/x mod 2^4\n        y = (y * (2 - (x & 0xff) * y)) & 0xff; // y == 1/x mod 2^8\n        y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff; // y == 1/x mod 2^16\n        // last step - calculate inverse mod DV directly;\n        // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints\n        y = (y * (2 - x * y % this.DV)) % this.DV; // y == 1/x mod 2^dbits\n        // we really want the negative inverse, and -DV < y < DV\n        return (y > 0) ? this.DV - y : -y;\n    };\n    // BigInteger.prototype.isEven = bnpIsEven;\n    // (protected) true iff this is even\n    BigInteger.prototype.isEven = function () {\n        return ((this.t > 0) ? (this[0] & 1) : this.s) == 0;\n    };\n    // BigInteger.prototype.exp = bnpExp;\n    // (protected) this^e, e < 2^32, doing sqr and mul with \"r\" (HAC 14.79)\n    BigInteger.prototype.exp = function (e, z) {\n        if (e > 0xffffffff || e < 1) {\n            return BigInteger.ONE;\n        }\n        var r = nbi();\n        var r2 = nbi();\n        var g = z.convert(this);\n        var i = nbits(e) - 1;\n        g.copyTo(r);\n        while (--i >= 0) {\n            z.sqrTo(r, r2);\n            if ((e & (1 << i)) > 0) {\n                z.mulTo(r2, g, r);\n            }\n            else {\n                var t = r;\n                r = r2;\n                r2 = t;\n            }\n        }\n        return z.revert(r);\n    };\n    // BigInteger.prototype.chunkSize = bnpChunkSize;\n    // (protected) return x s.t. r^x < DV\n    BigInteger.prototype.chunkSize = function (r) {\n        return Math.floor(Math.LN2 * this.DB / Math.log(r));\n    };\n    // BigInteger.prototype.toRadix = bnpToRadix;\n    // (protected) convert to radix string\n    BigInteger.prototype.toRadix = function (b) {\n        if (b == null) {\n            b = 10;\n        }\n        if (this.signum() == 0 || b < 2 || b > 36) {\n            return \"0\";\n        }\n        var cs = this.chunkSize(b);\n        var a = Math.pow(b, cs);\n        var d = nbv(a);\n        var y = nbi();\n        var z = nbi();\n        var r = \"\";\n        this.divRemTo(d, y, z);\n        while (y.signum() > 0) {\n            r = (a + z.intValue()).toString(b).substr(1) + r;\n            y.divRemTo(d, y, z);\n        }\n        return z.intValue().toString(b) + r;\n    };\n    // BigInteger.prototype.fromRadix = bnpFromRadix;\n    // (protected) convert from radix string\n    BigInteger.prototype.fromRadix = function (s, b) {\n        this.fromInt(0);\n        if (b == null) {\n            b = 10;\n        }\n        var cs = this.chunkSize(b);\n        var d = Math.pow(b, cs);\n        var mi = false;\n        var j = 0;\n        var w = 0;\n        for (var i = 0; i < s.length; ++i) {\n            var x = intAt(s, i);\n            if (x < 0) {\n                if (s.charAt(i) == \"-\" && this.signum() == 0) {\n                    mi = true;\n                }\n                continue;\n            }\n            w = b * w + x;\n            if (++j >= cs) {\n                this.dMultiply(d);\n                this.dAddOffset(w, 0);\n                j = 0;\n                w = 0;\n            }\n        }\n        if (j > 0) {\n            this.dMultiply(Math.pow(b, j));\n            this.dAddOffset(w, 0);\n        }\n        if (mi) {\n            BigInteger.ZERO.subTo(this, this);\n        }\n    };\n    // BigInteger.prototype.fromNumber = bnpFromNumber;\n    // (protected) alternate constructor\n    BigInteger.prototype.fromNumber = function (a, b, c) {\n        if (\"number\" == typeof b) {\n            // new BigInteger(int,int,RNG)\n            if (a < 2) {\n                this.fromInt(1);\n            }\n            else {\n                this.fromNumber(a, c);\n                if (!this.testBit(a - 1)) {\n                    // force MSB set\n                    this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), _util__WEBPACK_IMPORTED_MODULE_0__.op_or, this);\n                }\n                if (this.isEven()) {\n                    this.dAddOffset(1, 0);\n                } // force odd\n                while (!this.isProbablePrime(b)) {\n                    this.dAddOffset(2, 0);\n                    if (this.bitLength() > a) {\n                        this.subTo(BigInteger.ONE.shiftLeft(a - 1), this);\n                    }\n                }\n            }\n        }\n        else {\n            // new BigInteger(int,RNG)\n            var x = [];\n            var t = a & 7;\n            x.length = (a >> 3) + 1;\n            b.nextBytes(x);\n            if (t > 0) {\n                x[0] &= ((1 << t) - 1);\n            }\n            else {\n                x[0] = 0;\n            }\n            this.fromString(x, 256);\n        }\n    };\n    // BigInteger.prototype.bitwiseTo = bnpBitwiseTo;\n    // (protected) r = this op a (bitwise)\n    BigInteger.prototype.bitwiseTo = function (a, op, r) {\n        var i;\n        var f;\n        var m = Math.min(a.t, this.t);\n        for (i = 0; i < m; ++i) {\n            r[i] = op(this[i], a[i]);\n        }\n        if (a.t < this.t) {\n            f = a.s & this.DM;\n            for (i = m; i < this.t; ++i) {\n                r[i] = op(this[i], f);\n            }\n            r.t = this.t;\n        }\n        else {\n            f = this.s & this.DM;\n            for (i = m; i < a.t; ++i) {\n                r[i] = op(f, a[i]);\n            }\n            r.t = a.t;\n        }\n        r.s = op(this.s, a.s);\n        r.clamp();\n    };\n    // BigInteger.prototype.changeBit = bnpChangeBit;\n    // (protected) this op (1<<n)\n    BigInteger.prototype.changeBit = function (n, op) {\n        var r = BigInteger.ONE.shiftLeft(n);\n        this.bitwiseTo(r, op, r);\n        return r;\n    };\n    // BigInteger.prototype.addTo = bnpAddTo;\n    // (protected) r = this + a\n    BigInteger.prototype.addTo = function (a, r) {\n        var i = 0;\n        var c = 0;\n        var m = Math.min(a.t, this.t);\n        while (i < m) {\n            c += this[i] + a[i];\n            r[i++] = c & this.DM;\n            c >>= this.DB;\n        }\n        if (a.t < this.t) {\n            c += a.s;\n            while (i < this.t) {\n                c += this[i];\n                r[i++] = c & this.DM;\n                c >>= this.DB;\n            }\n            c += this.s;\n        }\n        else {\n            c += this.s;\n            while (i < a.t) {\n                c += a[i];\n                r[i++] = c & this.DM;\n                c >>= this.DB;\n            }\n            c += a.s;\n        }\n        r.s = (c < 0) ? -1 : 0;\n        if (c > 0) {\n            r[i++] = c;\n        }\n        else if (c < -1) {\n            r[i++] = this.DV + c;\n        }\n        r.t = i;\n        r.clamp();\n    };\n    // BigInteger.prototype.dMultiply = bnpDMultiply;\n    // (protected) this *= n, this >= 0, 1 < n < DV\n    BigInteger.prototype.dMultiply = function (n) {\n        this[this.t] = this.am(0, n - 1, this, 0, 0, this.t);\n        ++this.t;\n        this.clamp();\n    };\n    // BigInteger.prototype.dAddOffset = bnpDAddOffset;\n    // (protected) this += n << w words, this >= 0\n    BigInteger.prototype.dAddOffset = function (n, w) {\n        if (n == 0) {\n            return;\n        }\n        while (this.t <= w) {\n            this[this.t++] = 0;\n        }\n        this[w] += n;\n        while (this[w] >= this.DV) {\n            this[w] -= this.DV;\n            if (++w >= this.t) {\n                this[this.t++] = 0;\n            }\n            ++this[w];\n        }\n    };\n    // BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo;\n    // (protected) r = lower n words of \"this * a\", a.t <= n\n    // \"this\" should be the larger one if appropriate.\n    BigInteger.prototype.multiplyLowerTo = function (a, n, r) {\n        var i = Math.min(this.t + a.t, n);\n        r.s = 0; // assumes a,this >= 0\n        r.t = i;\n        while (i > 0) {\n            r[--i] = 0;\n        }\n        for (var j = r.t - this.t; i < j; ++i) {\n            r[i + this.t] = this.am(0, a[i], r, i, 0, this.t);\n        }\n        for (var j = Math.min(a.t, n); i < j; ++i) {\n            this.am(0, a[i], r, i, 0, n - i);\n        }\n        r.clamp();\n    };\n    // BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo;\n    // (protected) r = \"this * a\" without lower n words, n > 0\n    // \"this\" should be the larger one if appropriate.\n    BigInteger.prototype.multiplyUpperTo = function (a, n, r) {\n        --n;\n        var i = r.t = this.t + a.t - n;\n        r.s = 0; // assumes a,this >= 0\n        while (--i >= 0) {\n            r[i] = 0;\n        }\n        for (i = Math.max(n - this.t, 0); i < a.t; ++i) {\n            r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n);\n        }\n        r.clamp();\n        r.drShiftTo(1, r);\n    };\n    // BigInteger.prototype.modInt = bnpModInt;\n    // (protected) this % n, n < 2^26\n    BigInteger.prototype.modInt = function (n) {\n        if (n <= 0) {\n            return 0;\n        }\n        var d = this.DV % n;\n        var r = (this.s < 0) ? n - 1 : 0;\n        if (this.t > 0) {\n            if (d == 0) {\n                r = this[0] % n;\n            }\n            else {\n                for (var i = this.t - 1; i >= 0; --i) {\n                    r = (d * r + this[i]) % n;\n                }\n            }\n        }\n        return r;\n    };\n    // BigInteger.prototype.millerRabin = bnpMillerRabin;\n    // (protected) true if probably prime (HAC 4.24, Miller-Rabin)\n    BigInteger.prototype.millerRabin = function (t) {\n        var n1 = this.subtract(BigInteger.ONE);\n        var k = n1.getLowestSetBit();\n        if (k <= 0) {\n            return false;\n        }\n        var r = n1.shiftRight(k);\n        t = (t + 1) >> 1;\n        if (t > lowprimes.length) {\n            t = lowprimes.length;\n        }\n        var a = nbi();\n        for (var i = 0; i < t; ++i) {\n            // Pick bases at random, instead of starting at 2\n            a.fromInt(lowprimes[Math.floor(Math.random() * lowprimes.length)]);\n            var y = a.modPow(r, this);\n            if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {\n                var j = 1;\n                while (j++ < k && y.compareTo(n1) != 0) {\n                    y = y.modPowInt(2, this);\n                    if (y.compareTo(BigInteger.ONE) == 0) {\n                        return false;\n                    }\n                }\n                if (y.compareTo(n1) != 0) {\n                    return false;\n                }\n            }\n        }\n        return true;\n    };\n    // BigInteger.prototype.square = bnSquare;\n    // (public) this^2\n    BigInteger.prototype.square = function () {\n        var r = nbi();\n        this.squareTo(r);\n        return r;\n    };\n    //#region ASYNC\n    // Public API method\n    BigInteger.prototype.gcda = function (a, callback) {\n        var x = (this.s < 0) ? this.negate() : this.clone();\n        var y = (a.s < 0) ? a.negate() : a.clone();\n        if (x.compareTo(y) < 0) {\n            var t = x;\n            x = y;\n            y = t;\n        }\n        var i = x.getLowestSetBit();\n        var g = y.getLowestSetBit();\n        if (g < 0) {\n            callback(x);\n            return;\n        }\n        if (i < g) {\n            g = i;\n        }\n        if (g > 0) {\n            x.rShiftTo(g, x);\n            y.rShiftTo(g, y);\n        }\n        // Workhorse of the algorithm, gets called 200 - 800 times per 512 bit keygen.\n        var gcda1 = function () {\n            if ((i = x.getLowestSetBit()) > 0) {\n                x.rShiftTo(i, x);\n            }\n            if ((i = y.getLowestSetBit()) > 0) {\n                y.rShiftTo(i, y);\n            }\n            if (x.compareTo(y) >= 0) {\n                x.subTo(y, x);\n                x.rShiftTo(1, x);\n            }\n            else {\n                y.subTo(x, y);\n                y.rShiftTo(1, y);\n            }\n            if (!(x.signum() > 0)) {\n                if (g > 0) {\n                    y.lShiftTo(g, y);\n                }\n                setTimeout(function () { callback(y); }, 0); // escape\n            }\n            else {\n                setTimeout(gcda1, 0);\n            }\n        };\n        setTimeout(gcda1, 10);\n    };\n    // (protected) alternate constructor\n    BigInteger.prototype.fromNumberAsync = function (a, b, c, callback) {\n        if (\"number\" == typeof b) {\n            if (a < 2) {\n                this.fromInt(1);\n            }\n            else {\n                this.fromNumber(a, c);\n                if (!this.testBit(a - 1)) {\n                    this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), _util__WEBPACK_IMPORTED_MODULE_0__.op_or, this);\n                }\n                if (this.isEven()) {\n                    this.dAddOffset(1, 0);\n                }\n                var bnp_1 = this;\n                var bnpfn1_1 = function () {\n                    bnp_1.dAddOffset(2, 0);\n                    if (bnp_1.bitLength() > a) {\n                        bnp_1.subTo(BigInteger.ONE.shiftLeft(a - 1), bnp_1);\n                    }\n                    if (bnp_1.isProbablePrime(b)) {\n                        setTimeout(function () { callback(); }, 0); // escape\n                    }\n                    else {\n                        setTimeout(bnpfn1_1, 0);\n                    }\n                };\n                setTimeout(bnpfn1_1, 0);\n            }\n        }\n        else {\n            var x = [];\n            var t = a & 7;\n            x.length = (a >> 3) + 1;\n            b.nextBytes(x);\n            if (t > 0) {\n                x[0] &= ((1 << t) - 1);\n            }\n            else {\n                x[0] = 0;\n            }\n            this.fromString(x, 256);\n        }\n    };\n    return BigInteger;\n}());\n\n//#region REDUCERS\n//#region NullExp\nvar NullExp = /** @class */ (function () {\n    function NullExp() {\n    }\n    // NullExp.prototype.convert = nNop;\n    NullExp.prototype.convert = function (x) {\n        return x;\n    };\n    // NullExp.prototype.revert = nNop;\n    NullExp.prototype.revert = function (x) {\n        return x;\n    };\n    // NullExp.prototype.mulTo = nMulTo;\n    NullExp.prototype.mulTo = function (x, y, r) {\n        x.multiplyTo(y, r);\n    };\n    // NullExp.prototype.sqrTo = nSqrTo;\n    NullExp.prototype.sqrTo = function (x, r) {\n        x.squareTo(r);\n    };\n    return NullExp;\n}());\n// Modular reduction using \"classic\" algorithm\nvar Classic = /** @class */ (function () {\n    function Classic(m) {\n        this.m = m;\n    }\n    // Classic.prototype.convert = cConvert;\n    Classic.prototype.convert = function (x) {\n        if (x.s < 0 || x.compareTo(this.m) >= 0) {\n            return x.mod(this.m);\n        }\n        else {\n            return x;\n        }\n    };\n    // Classic.prototype.revert = cRevert;\n    Classic.prototype.revert = function (x) {\n        return x;\n    };\n    // Classic.prototype.reduce = cReduce;\n    Classic.prototype.reduce = function (x) {\n        x.divRemTo(this.m, null, x);\n    };\n    // Classic.prototype.mulTo = cMulTo;\n    Classic.prototype.mulTo = function (x, y, r) {\n        x.multiplyTo(y, r);\n        this.reduce(r);\n    };\n    // Classic.prototype.sqrTo = cSqrTo;\n    Classic.prototype.sqrTo = function (x, r) {\n        x.squareTo(r);\n        this.reduce(r);\n    };\n    return Classic;\n}());\n//#endregion\n//#region Montgomery\n// Montgomery reduction\nvar Montgomery = /** @class */ (function () {\n    function Montgomery(m) {\n        this.m = m;\n        this.mp = m.invDigit();\n        this.mpl = this.mp & 0x7fff;\n        this.mph = this.mp >> 15;\n        this.um = (1 << (m.DB - 15)) - 1;\n        this.mt2 = 2 * m.t;\n    }\n    // Montgomery.prototype.convert = montConvert;\n    // xR mod m\n    Montgomery.prototype.convert = function (x) {\n        var r = nbi();\n        x.abs().dlShiftTo(this.m.t, r);\n        r.divRemTo(this.m, null, r);\n        if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) {\n            this.m.subTo(r, r);\n        }\n        return r;\n    };\n    // Montgomery.prototype.revert = montRevert;\n    // x/R mod m\n    Montgomery.prototype.revert = function (x) {\n        var r = nbi();\n        x.copyTo(r);\n        this.reduce(r);\n        return r;\n    };\n    // Montgomery.prototype.reduce = montReduce;\n    // x = x/R mod m (HAC 14.32)\n    Montgomery.prototype.reduce = function (x) {\n        while (x.t <= this.mt2) {\n            // pad x so am has enough room later\n            x[x.t++] = 0;\n        }\n        for (var i = 0; i < this.m.t; ++i) {\n            // faster way of calculating u0 = x[i]*mp mod DV\n            var j = x[i] & 0x7fff;\n            var u0 = (j * this.mpl + (((j * this.mph + (x[i] >> 15) * this.mpl) & this.um) << 15)) & x.DM;\n            // use am to combine the multiply-shift-add into one call\n            j = i + this.m.t;\n            x[j] += this.m.am(0, u0, x, i, 0, this.m.t);\n            // propagate carry\n            while (x[j] >= x.DV) {\n                x[j] -= x.DV;\n                x[++j]++;\n            }\n        }\n        x.clamp();\n        x.drShiftTo(this.m.t, x);\n        if (x.compareTo(this.m) >= 0) {\n            x.subTo(this.m, x);\n        }\n    };\n    // Montgomery.prototype.mulTo = montMulTo;\n    // r = \"xy/R mod m\"; x,y != r\n    Montgomery.prototype.mulTo = function (x, y, r) {\n        x.multiplyTo(y, r);\n        this.reduce(r);\n    };\n    // Montgomery.prototype.sqrTo = montSqrTo;\n    // r = \"x^2/R mod m\"; x != r\n    Montgomery.prototype.sqrTo = function (x, r) {\n        x.squareTo(r);\n        this.reduce(r);\n    };\n    return Montgomery;\n}());\n//#endregion Montgomery\n//#region Barrett\n// Barrett modular reduction\nvar Barrett = /** @class */ (function () {\n    function Barrett(m) {\n        this.m = m;\n        // setup Barrett\n        this.r2 = nbi();\n        this.q3 = nbi();\n        BigInteger.ONE.dlShiftTo(2 * m.t, this.r2);\n        this.mu = this.r2.divide(m);\n    }\n    // Barrett.prototype.convert = barrettConvert;\n    Barrett.prototype.convert = function (x) {\n        if (x.s < 0 || x.t > 2 * this.m.t) {\n            return x.mod(this.m);\n        }\n        else if (x.compareTo(this.m) < 0) {\n            return x;\n        }\n        else {\n            var r = nbi();\n            x.copyTo(r);\n            this.reduce(r);\n            return r;\n        }\n    };\n    // Barrett.prototype.revert = barrettRevert;\n    Barrett.prototype.revert = function (x) {\n        return x;\n    };\n    // Barrett.prototype.reduce = barrettReduce;\n    // x = x mod m (HAC 14.42)\n    Barrett.prototype.reduce = function (x) {\n        x.drShiftTo(this.m.t - 1, this.r2);\n        if (x.t > this.m.t + 1) {\n            x.t = this.m.t + 1;\n            x.clamp();\n        }\n        this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3);\n        this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2);\n        while (x.compareTo(this.r2) < 0) {\n            x.dAddOffset(1, this.m.t + 1);\n        }\n        x.subTo(this.r2, x);\n        while (x.compareTo(this.m) >= 0) {\n            x.subTo(this.m, x);\n        }\n    };\n    // Barrett.prototype.mulTo = barrettMulTo;\n    // r = x*y mod m; x,y != r\n    Barrett.prototype.mulTo = function (x, y, r) {\n        x.multiplyTo(y, r);\n        this.reduce(r);\n    };\n    // Barrett.prototype.sqrTo = barrettSqrTo;\n    // r = x^2 mod m; x != r\n    Barrett.prototype.sqrTo = function (x, r) {\n        x.squareTo(r);\n        this.reduce(r);\n    };\n    return Barrett;\n}());\n//#endregion\n//#endregion REDUCERS\n// return new, unset BigInteger\nfunction nbi() { return new BigInteger(null); }\nfunction parseBigInt(str, r) {\n    return new BigInteger(str, r);\n}\n// am: Compute w_j += (x*this_i), propagate carries,\n// c is initial carry, returns final carry.\n// c < 3*dvalue, x < 2*dvalue, this_i < dvalue\n// We need to select the fastest one that works in this environment.\nvar inBrowser = typeof navigator !== \"undefined\";\nif (inBrowser && j_lm && (navigator.appName == \"Microsoft Internet Explorer\")) {\n    // am2 avoids a big mult-and-extract completely.\n    // Max digit bits should be <= 30 because we do bitwise ops\n    // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)\n    BigInteger.prototype.am = function am2(i, x, w, j, c, n) {\n        var xl = x & 0x7fff;\n        var xh = x >> 15;\n        while (--n >= 0) {\n            var l = this[i] & 0x7fff;\n            var h = this[i++] >> 15;\n            var m = xh * l + h * xl;\n            l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff);\n            c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30);\n            w[j++] = l & 0x3fffffff;\n        }\n        return c;\n    };\n    dbits = 30;\n}\nelse if (inBrowser && j_lm && (navigator.appName != \"Netscape\")) {\n    // am1: use a single mult and divide to get the high bits,\n    // max digit bits should be 26 because\n    // max internal value = 2*dvalue^2-2*dvalue (< 2^53)\n    BigInteger.prototype.am = function am1(i, x, w, j, c, n) {\n        while (--n >= 0) {\n            var v = x * this[i++] + w[j] + c;\n            c = Math.floor(v / 0x4000000);\n            w[j++] = v & 0x3ffffff;\n        }\n        return c;\n    };\n    dbits = 26;\n}\nelse { // Mozilla/Netscape seems to prefer am3\n    // Alternately, set max digit bits to 28 since some\n    // browsers slow down when dealing with 32-bit numbers.\n    BigInteger.prototype.am = function am3(i, x, w, j, c, n) {\n        var xl = x & 0x3fff;\n        var xh = x >> 14;\n        while (--n >= 0) {\n            var l = this[i] & 0x3fff;\n            var h = this[i++] >> 14;\n            var m = xh * l + h * xl;\n            l = xl * l + ((m & 0x3fff) << 14) + w[j] + c;\n            c = (l >> 28) + (m >> 14) + xh * h;\n            w[j++] = l & 0xfffffff;\n        }\n        return c;\n    };\n    dbits = 28;\n}\nBigInteger.prototype.DB = dbits;\nBigInteger.prototype.DM = ((1 << dbits) - 1);\nBigInteger.prototype.DV = (1 << dbits);\nvar BI_FP = 52;\nBigInteger.prototype.FV = Math.pow(2, BI_FP);\nBigInteger.prototype.F1 = BI_FP - dbits;\nBigInteger.prototype.F2 = 2 * dbits - BI_FP;\n// Digit conversions\nvar BI_RC = [];\nvar rr;\nvar vv;\nrr = \"0\".charCodeAt(0);\nfor (vv = 0; vv <= 9; ++vv) {\n    BI_RC[rr++] = vv;\n}\nrr = \"a\".charCodeAt(0);\nfor (vv = 10; vv < 36; ++vv) {\n    BI_RC[rr++] = vv;\n}\nrr = \"A\".charCodeAt(0);\nfor (vv = 10; vv < 36; ++vv) {\n    BI_RC[rr++] = vv;\n}\nfunction intAt(s, i) {\n    var c = BI_RC[s.charCodeAt(i)];\n    return (c == null) ? -1 : c;\n}\n// return bigint initialized to value\nfunction nbv(i) {\n    var r = nbi();\n    r.fromInt(i);\n    return r;\n}\n// returns bit length of the integer x\nfunction nbits(x) {\n    var r = 1;\n    var t;\n    if ((t = x >>> 16) != 0) {\n        x = t;\n        r += 16;\n    }\n    if ((t = x >> 8) != 0) {\n        x = t;\n        r += 8;\n    }\n    if ((t = x >> 4) != 0) {\n        x = t;\n        r += 4;\n    }\n    if ((t = x >> 2) != 0) {\n        x = t;\n        r += 2;\n    }\n    if ((t = x >> 1) != 0) {\n        x = t;\n        r += 1;\n    }\n    return r;\n}\n// \"constants\"\nBigInteger.ZERO = nbv(0);\nBigInteger.ONE = nbv(1);\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/jsbn.js?");
				}),
				"./lib/lib/jsbn/prng4.js": ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
					"use strict";
					eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"Arcfour\": () => (/* binding */ Arcfour),\n/* harmony export */   \"prng_newstate\": () => (/* binding */ prng_newstate),\n/* harmony export */   \"rng_psize\": () => (/* binding */ rng_psize)\n/* harmony export */ });\n// prng4.js - uses Arcfour as a PRNG\nvar Arcfour = /** @class */ (function () {\n    function Arcfour() {\n        this.i = 0;\n        this.j = 0;\n        this.S = [];\n    }\n    // Arcfour.prototype.init = ARC4init;\n    // Initialize arcfour context from key, an array of ints, each from [0..255]\n    Arcfour.prototype.init = function (key) {\n        var i;\n        var j;\n        var t;\n        for (i = 0; i < 256; ++i) {\n            this.S[i] = i;\n        }\n        j = 0;\n        for (i = 0; i < 256; ++i) {\n            j = (j + this.S[i] + key[i % key.length]) & 255;\n            t = this.S[i];\n            this.S[i] = this.S[j];\n            this.S[j] = t;\n        }\n        this.i = 0;\n        this.j = 0;\n    };\n    // Arcfour.prototype.next = ARC4next;\n    Arcfour.prototype.next = function () {\n        var t;\n        this.i = (this.i + 1) & 255;\n        this.j = (this.j + this.S[this.i]) & 255;\n        t = this.S[this.i];\n        this.S[this.i] = this.S[this.j];\n        this.S[this.j] = t;\n        return this.S[(t + this.S[this.i]) & 255];\n    };\n    return Arcfour;\n}());\n\n// Plug in your RNG constructor here\nfunction prng_newstate() {\n    return new Arcfour();\n}\n// Pool size must be a multiple of 4 and greater than 32.\n// An array of bytes the size of the pool will be passed to init()\nvar rng_psize = 256;\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/prng4.js?");
				}),
				"./lib/lib/jsbn/rng.js": ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
					"use strict";
					eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"SecureRandom\": () => (/* binding */ SecureRandom)\n/* harmony export */ });\n/* harmony import */ var _prng4__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./prng4 */ \"./lib/lib/jsbn/prng4.js\");\n// Random number generator - requires a PRNG backend, e.g. prng4.js\n\nvar rng_state;\nvar rng_pool = null;\nvar rng_pptr;\n// Initialize the pool with junk if needed.\nif (rng_pool == null) {\n    rng_pool = [];\n    rng_pptr = 0;\n    var t = void 0;\n    if (typeof window !== 'undefined' && window.crypto && window.crypto.getRandomValues) {\n        // Extract entropy (2048 bits) from RNG if available\n        var z = new Uint32Array(256);\n        window.crypto.getRandomValues(z);\n        for (t = 0; t < z.length; ++t) {\n            rng_pool[rng_pptr++] = z[t] & 255;\n        }\n    }\n    // Use mouse events for entropy, if we do not have enough entropy by the time\n    // we need it, entropy will be generated by Math.random.\n    var count = 0;\n    var onMouseMoveListener_1 = function (ev) {\n        count = count || 0;\n        if (count >= 256 || rng_pptr >= _prng4__WEBPACK_IMPORTED_MODULE_0__.rng_psize) {\n            if (window.removeEventListener) {\n                window.removeEventListener(\"mousemove\", onMouseMoveListener_1, false);\n            }\n            else if (window.detachEvent) {\n                window.detachEvent(\"onmousemove\", onMouseMoveListener_1);\n            }\n            return;\n        }\n        try {\n            var mouseCoordinates = ev.x + ev.y;\n            rng_pool[rng_pptr++] = mouseCoordinates & 255;\n            count += 1;\n        }\n        catch (e) {\n            // Sometimes Firefox will deny permission to access event properties for some reason. Ignore.\n        }\n    };\n    if (typeof window !== 'undefined') {\n        if (window.addEventListener) {\n            window.addEventListener(\"mousemove\", onMouseMoveListener_1, false);\n        }\n        else if (window.attachEvent) {\n            window.attachEvent(\"onmousemove\", onMouseMoveListener_1);\n        }\n    }\n}\nfunction rng_get_byte() {\n    if (rng_state == null) {\n        rng_state = (0,_prng4__WEBPACK_IMPORTED_MODULE_0__.prng_newstate)();\n        // At this point, we may not have collected enough entropy.  If not, fall back to Math.random\n        while (rng_pptr < _prng4__WEBPACK_IMPORTED_MODULE_0__.rng_psize) {\n            var random = Math.floor(65536 * Math.random());\n            rng_pool[rng_pptr++] = random & 255;\n        }\n        rng_state.init(rng_pool);\n        for (rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) {\n            rng_pool[rng_pptr] = 0;\n        }\n        rng_pptr = 0;\n    }\n    // TODO: allow reseeding after first request\n    return rng_state.next();\n}\nvar SecureRandom = /** @class */ (function () {\n    function SecureRandom() {\n    }\n    SecureRandom.prototype.nextBytes = function (ba) {\n        for (var i = 0; i < ba.length; ++i) {\n            ba[i] = rng_get_byte();\n        }\n    };\n    return SecureRandom;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/rng.js?");
				}),
				"./lib/lib/jsbn/rsa.js": ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
					"use strict";
					eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"RSAKey\": () => (/* binding */ RSAKey)\n/* harmony export */ });\n/* harmony import */ var _jsbn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _rng__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./rng */ \"./lib/lib/jsbn/rng.js\");\n// Depends on jsbn.js and rng.js\n// Version 1.1: support utf-8 encoding in pkcs1pad2\n// convert a (hex) string to a bignum object\n\n\n// function linebrk(s,n) {\n//   var ret = \"\";\n//   var i = 0;\n//   while(i + n < s.length) {\n//     ret += s.substring(i,i+n) + \"\\n\";\n//     i += n;\n//   }\n//   return ret + s.substring(i,s.length);\n// }\n// function byte2Hex(b) {\n//   if(b < 0x10)\n//     return \"0\" + b.toString(16);\n//   else\n//     return b.toString(16);\n// }\nfunction pkcs1pad1(s, n) {\n    if (n < s.length + 22) {\n        console.error(\"Message too long for RSA\");\n        return null;\n    }\n    var len = n - s.length - 6;\n    var filler = \"\";\n    for (var f = 0; f < len; f += 2) {\n        filler += \"ff\";\n    }\n    var m = \"0001\" + filler + \"00\" + s;\n    return (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(m, 16);\n}\n// PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint\nfunction pkcs1pad2(s, n) {\n    if (n < s.length + 11) { // TODO: fix for utf-8\n        console.error(\"Message too long for RSA\");\n        return null;\n    }\n    var ba = [];\n    var i = s.length - 1;\n    while (i >= 0 && n > 0) {\n        var c = s.charCodeAt(i--);\n        if (c < 128) { // encode using utf-8\n            ba[--n] = c;\n        }\n        else if ((c > 127) && (c < 2048)) {\n            ba[--n] = (c & 63) | 128;\n            ba[--n] = (c >> 6) | 192;\n        }\n        else {\n            ba[--n] = (c & 63) | 128;\n            ba[--n] = ((c >> 6) & 63) | 128;\n            ba[--n] = (c >> 12) | 224;\n        }\n    }\n    ba[--n] = 0;\n    var rng = new _rng__WEBPACK_IMPORTED_MODULE_1__.SecureRandom();\n    var x = [];\n    while (n > 2) { // random non-zero pad\n        x[0] = 0;\n        while (x[0] == 0) {\n            rng.nextBytes(x);\n        }\n        ba[--n] = x[0];\n    }\n    ba[--n] = 2;\n    ba[--n] = 0;\n    return new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(ba);\n}\n// \"empty\" RSA key constructor\nvar RSAKey = /** @class */ (function () {\n    function RSAKey() {\n        this.n = null;\n        this.e = 0;\n        this.d = null;\n        this.p = null;\n        this.q = null;\n        this.dmp1 = null;\n        this.dmq1 = null;\n        this.coeff = null;\n    }\n    //#region PROTECTED\n    // protected\n    // RSAKey.prototype.doPublic = RSADoPublic;\n    // Perform raw public operation on \"x\": return x^e (mod n)\n    RSAKey.prototype.doPublic = function (x) {\n        return x.modPowInt(this.e, this.n);\n    };\n    // RSAKey.prototype.doPrivate = RSADoPrivate;\n    // Perform raw private operation on \"x\": return x^d (mod n)\n    RSAKey.prototype.doPrivate = function (x) {\n        if (this.p == null || this.q == null) {\n            return x.modPow(this.d, this.n);\n        }\n        // TODO: re-calculate any missing CRT params\n        var xp = x.mod(this.p).modPow(this.dmp1, this.p);\n        var xq = x.mod(this.q).modPow(this.dmq1, this.q);\n        while (xp.compareTo(xq) < 0) {\n            xp = xp.add(this.p);\n        }\n        return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq);\n    };\n    //#endregion PROTECTED\n    //#region PUBLIC\n    // RSAKey.prototype.setPublic = RSASetPublic;\n    // Set the public key fields N and e from hex strings\n    RSAKey.prototype.setPublic = function (N, E) {\n        if (N != null && E != null && N.length > 0 && E.length > 0) {\n            this.n = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(N, 16);\n            this.e = parseInt(E, 16);\n        }\n        else {\n            console.error(\"Invalid RSA public key\");\n        }\n    };\n    // RSAKey.prototype.encrypt = RSAEncrypt;\n    // Return the PKCS#1 RSA encryption of \"text\" as an even-length hex string\n    RSAKey.prototype.encrypt = function (text) {\n        var maxLength = (this.n.bitLength() + 7) >> 3;\n        var m = pkcs1pad2(text, maxLength);\n        if (m == null) {\n            return null;\n        }\n        var c = this.doPublic(m);\n        if (c == null) {\n            return null;\n        }\n        var h = c.toString(16);\n        var length = h.length;\n        // fix zero before result\n        for (var i = 0; i < maxLength * 2 - length; i++) {\n            h = \"0\" + h;\n        }\n        return h;\n    };\n    // RSAKey.prototype.setPrivate = RSASetPrivate;\n    // Set the private key fields N, e, and d from hex strings\n    RSAKey.prototype.setPrivate = function (N, E, D) {\n        if (N != null && E != null && N.length > 0 && E.length > 0) {\n            this.n = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(N, 16);\n            this.e = parseInt(E, 16);\n            this.d = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(D, 16);\n        }\n        else {\n            console.error(\"Invalid RSA private key\");\n        }\n    };\n    // RSAKey.prototype.setPrivateEx = RSASetPrivateEx;\n    // Set the private key fields N, e, d and CRT params from hex strings\n    RSAKey.prototype.setPrivateEx = function (N, E, D, P, Q, DP, DQ, C) {\n        if (N != null && E != null && N.length > 0 && E.length > 0) {\n            this.n = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(N, 16);\n            this.e = parseInt(E, 16);\n            this.d = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(D, 16);\n            this.p = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(P, 16);\n            this.q = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(Q, 16);\n            this.dmp1 = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(DP, 16);\n            this.dmq1 = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(DQ, 16);\n            this.coeff = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(C, 16);\n        }\n        else {\n            console.error(\"Invalid RSA private key\");\n        }\n    };\n    // RSAKey.prototype.generate = RSAGenerate;\n    // Generate a new random private key B bits long, using public expt E\n    RSAKey.prototype.generate = function (B, E) {\n        var rng = new _rng__WEBPACK_IMPORTED_MODULE_1__.SecureRandom();\n        var qs = B >> 1;\n        this.e = parseInt(E, 16);\n        var ee = new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(E, 16);\n        for (;;) {\n            for (;;) {\n                this.p = new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(B - qs, 1, rng);\n                if (this.p.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE).gcd(ee).compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0 && this.p.isProbablePrime(10)) {\n                    break;\n                }\n            }\n            for (;;) {\n                this.q = new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(qs, 1, rng);\n                if (this.q.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE).gcd(ee).compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0 && this.q.isProbablePrime(10)) {\n                    break;\n                }\n            }\n            if (this.p.compareTo(this.q) <= 0) {\n                var t = this.p;\n                this.p = this.q;\n                this.q = t;\n            }\n            var p1 = this.p.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n            var q1 = this.q.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n            var phi = p1.multiply(q1);\n            if (phi.gcd(ee).compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0) {\n                this.n = this.p.multiply(this.q);\n                this.d = ee.modInverse(phi);\n                this.dmp1 = this.d.mod(p1);\n                this.dmq1 = this.d.mod(q1);\n                this.coeff = this.q.modInverse(this.p);\n                break;\n            }\n        }\n    };\n    // RSAKey.prototype.decrypt = RSADecrypt;\n    // Return the PKCS#1 RSA decryption of \"ctext\".\n    // \"ctext\" is an even-length hex string and the output is a plain string.\n    RSAKey.prototype.decrypt = function (ctext) {\n        var c = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(ctext, 16);\n        var m = this.doPrivate(c);\n        if (m == null) {\n            return null;\n        }\n        return pkcs1unpad2(m, (this.n.bitLength() + 7) >> 3);\n    };\n    // Generate a new random private key B bits long, using public expt E\n    RSAKey.prototype.generateAsync = function (B, E, callback) {\n        var rng = new _rng__WEBPACK_IMPORTED_MODULE_1__.SecureRandom();\n        var qs = B >> 1;\n        this.e = parseInt(E, 16);\n        var ee = new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(E, 16);\n        var rsa = this;\n        // These functions have non-descript names because they were originally for(;;) loops.\n        // I don't know about cryptography to give them better names than loop1-4.\n        var loop1 = function () {\n            var loop4 = function () {\n                if (rsa.p.compareTo(rsa.q) <= 0) {\n                    var t = rsa.p;\n                    rsa.p = rsa.q;\n                    rsa.q = t;\n                }\n                var p1 = rsa.p.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n                var q1 = rsa.q.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n                var phi = p1.multiply(q1);\n                if (phi.gcd(ee).compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0) {\n                    rsa.n = rsa.p.multiply(rsa.q);\n                    rsa.d = ee.modInverse(phi);\n                    rsa.dmp1 = rsa.d.mod(p1);\n                    rsa.dmq1 = rsa.d.mod(q1);\n                    rsa.coeff = rsa.q.modInverse(rsa.p);\n                    setTimeout(function () { callback(); }, 0); // escape\n                }\n                else {\n                    setTimeout(loop1, 0);\n                }\n            };\n            var loop3 = function () {\n                rsa.q = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.nbi)();\n                rsa.q.fromNumberAsync(qs, 1, rng, function () {\n                    rsa.q.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE).gcda(ee, function (r) {\n                        if (r.compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0 && rsa.q.isProbablePrime(10)) {\n                            setTimeout(loop4, 0);\n                        }\n                        else {\n                            setTimeout(loop3, 0);\n                        }\n                    });\n                });\n            };\n            var loop2 = function () {\n                rsa.p = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.nbi)();\n                rsa.p.fromNumberAsync(B - qs, 1, rng, function () {\n                    rsa.p.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE).gcda(ee, function (r) {\n                        if (r.compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0 && rsa.p.isProbablePrime(10)) {\n                            setTimeout(loop3, 0);\n                        }\n                        else {\n                            setTimeout(loop2, 0);\n                        }\n                    });\n                });\n            };\n            setTimeout(loop2, 0);\n        };\n        setTimeout(loop1, 0);\n    };\n    RSAKey.prototype.sign = function (text, digestMethod, digestName) {\n        var header = getDigestHeader(digestName);\n        var digest = header + digestMethod(text).toString();\n        var m = pkcs1pad1(digest, this.n.bitLength() / 4);\n        if (m == null) {\n            return null;\n        }\n        var c = this.doPrivate(m);\n        if (c == null) {\n            return null;\n        }\n        var h = c.toString(16);\n        if ((h.length & 1) == 0) {\n            return h;\n        }\n        else {\n            return \"0\" + h;\n        }\n    };\n    RSAKey.prototype.verify = function (text, signature, digestMethod) {\n        var c = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(signature, 16);\n        var m = this.doPublic(c);\n        if (m == null) {\n            return null;\n        }\n        var unpadded = m.toString(16).replace(/^1f+00/, \"\");\n        var digest = removeDigestHeader(unpadded);\n        return digest == digestMethod(text).toString();\n    };\n    return RSAKey;\n}());\n\n// Undo PKCS#1 (type 2, random) padding and, if valid, return the plaintext\nfunction pkcs1unpad2(d, n) {\n    var b = d.toByteArray();\n    var i = 0;\n    while (i < b.length && b[i] == 0) {\n        ++i;\n    }\n    if (b.length - i != n - 1 || b[i] != 2) {\n        return null;\n    }\n    ++i;\n    while (b[i] != 0) {\n        if (++i >= b.length) {\n            return null;\n        }\n    }\n    var ret = \"\";\n    while (++i < b.length) {\n        var c = b[i] & 255;\n        if (c < 128) { // utf-8 decode\n            ret += String.fromCharCode(c);\n        }\n        else if ((c > 191) && (c < 224)) {\n            ret += String.fromCharCode(((c & 31) << 6) | (b[i + 1] & 63));\n            ++i;\n        }\n        else {\n            ret += String.fromCharCode(((c & 15) << 12) | ((b[i + 1] & 63) << 6) | (b[i + 2] & 63));\n            i += 2;\n        }\n    }\n    return ret;\n}\n// https://tools.ietf.org/html/rfc3447#page-43\nvar DIGEST_HEADERS = {\n    md2: \"3020300c06082a864886f70d020205000410\",\n    md5: \"3020300c06082a864886f70d020505000410\",\n    sha1: \"3021300906052b0e03021a05000414\",\n    sha224: \"302d300d06096086480165030402040500041c\",\n    sha256: \"3031300d060960864801650304020105000420\",\n    sha384: \"3041300d060960864801650304020205000430\",\n    sha512: \"3051300d060960864801650304020305000440\",\n    ripemd160: \"3021300906052b2403020105000414\"\n};\nfunction getDigestHeader(name) {\n    return DIGEST_HEADERS[name] || \"\";\n}\nfunction removeDigestHeader(str) {\n    for (var name_1 in DIGEST_HEADERS) {\n        if (DIGEST_HEADERS.hasOwnProperty(name_1)) {\n            var header = DIGEST_HEADERS[name_1];\n            var len = header.length;\n            if (str.substr(0, len) == header) {\n                return str.substr(len);\n            }\n        }\n    }\n    return str;\n}\n// Return the PKCS#1 RSA encryption of \"text\" as a Base64-encoded string\n// function RSAEncryptB64(text) {\n//  var h = this.encrypt(text);\n//  if(h) return hex2b64(h); else return null;\n// }\n// public\n// RSAKey.prototype.encrypt_b64 = RSAEncryptB64;\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/rsa.js?");
				}),
				"./lib/lib/jsbn/util.js": ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
					"use strict";
					eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"cbit\": () => (/* binding */ cbit),\n/* harmony export */   \"int2char\": () => (/* binding */ int2char),\n/* harmony export */   \"lbit\": () => (/* binding */ lbit),\n/* harmony export */   \"op_and\": () => (/* binding */ op_and),\n/* harmony export */   \"op_andnot\": () => (/* binding */ op_andnot),\n/* harmony export */   \"op_or\": () => (/* binding */ op_or),\n/* harmony export */   \"op_xor\": () => (/* binding */ op_xor)\n/* harmony export */ });\nvar BI_RM = \"0123456789abcdefghijklmnopqrstuvwxyz\";\nfunction int2char(n) {\n    return BI_RM.charAt(n);\n}\n//#region BIT_OPERATIONS\n// (public) this & a\nfunction op_and(x, y) {\n    return x & y;\n}\n// (public) this | a\nfunction op_or(x, y) {\n    return x | y;\n}\n// (public) this ^ a\nfunction op_xor(x, y) {\n    return x ^ y;\n}\n// (public) this & ~a\nfunction op_andnot(x, y) {\n    return x & ~y;\n}\n// return index of lowest 1-bit in x, x < 2^31\nfunction lbit(x) {\n    if (x == 0) {\n        return -1;\n    }\n    var r = 0;\n    if ((x & 0xffff) == 0) {\n        x >>= 16;\n        r += 16;\n    }\n    if ((x & 0xff) == 0) {\n        x >>= 8;\n        r += 8;\n    }\n    if ((x & 0xf) == 0) {\n        x >>= 4;\n        r += 4;\n    }\n    if ((x & 3) == 0) {\n        x >>= 2;\n        r += 2;\n    }\n    if ((x & 1) == 0) {\n        ++r;\n    }\n    return r;\n}\n// return number of 1 bits in x\nfunction cbit(x) {\n    var r = 0;\n    while (x != 0) {\n        x &= x - 1;\n        ++r;\n    }\n    return r;\n}\n//#endregion BIT_OPERATIONS\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/util.js?");
				}),
				"./lib/lib/jsrsasign/asn1-1.0.js": ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
					"use strict";
					eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"KJUR\": () => (/* binding */ KJUR)\n/* harmony export */ });\n/* harmony import */ var _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../jsbn/jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _yahoo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./yahoo */ \"./lib/lib/jsrsasign/yahoo.js\");\n/* asn1-1.0.13.js (c) 2013-2017 Kenji Urushima | kjur.github.com/jsrsasign/license\n */\n/*\n * asn1.js - ASN.1 DER encoder classes\n *\n * Copyright (c) 2013-2017 Kenji Urushima (kenji.urushima@gmail.com)\n *\n * This software is licensed under the terms of the MIT License.\n * https://kjur.github.io/jsrsasign/license\n *\n * The above copyright and license notice shall be\n * included in all copies or substantial portions of the Software.\n */\n\n\n/**\n * @fileOverview\n * @name asn1-1.0.js\n * @author Kenji Urushima kenji.urushima@gmail.com\n * @version asn1 1.0.13 (2017-Jun-02)\n * @since jsrsasign 2.1\n * @license <a href=\"https://kjur.github.io/jsrsasign/license/\">MIT License</a>\n */\n/**\n * kjur's class library name space\n * <p>\n * This name space provides following name spaces:\n * <ul>\n * <li>{@link KJUR.asn1} - ASN.1 primitive hexadecimal encoder</li>\n * <li>{@link KJUR.asn1.x509} - ASN.1 structure for X.509 certificate and CRL</li>\n * <li>{@link KJUR.crypto} - Java Cryptographic Extension(JCE) style MessageDigest/Signature\n * class and utilities</li>\n * </ul>\n * </p>\n * NOTE: Please ignore method summary and document of this namespace. This caused by a bug of jsdoc2.\n * @name KJUR\n * @namespace kjur's class library name space\n */\nvar KJUR = {};\n/**\n * kjur's ASN.1 class library name space\n * <p>\n * This is ITU-T X.690 ASN.1 DER encoder class library and\n * class structure and methods is very similar to\n * org.bouncycastle.asn1 package of\n * well known BouncyCaslte Cryptography Library.\n * <h4>PROVIDING ASN.1 PRIMITIVES</h4>\n * Here are ASN.1 DER primitive classes.\n * <ul>\n * <li>0x01 {@link KJUR.asn1.DERBoolean}</li>\n * <li>0x02 {@link KJUR.asn1.DERInteger}</li>\n * <li>0x03 {@link KJUR.asn1.DERBitString}</li>\n * <li>0x04 {@link KJUR.asn1.DEROctetString}</li>\n * <li>0x05 {@link KJUR.asn1.DERNull}</li>\n * <li>0x06 {@link KJUR.asn1.DERObjectIdentifier}</li>\n * <li>0x0a {@link KJUR.asn1.DEREnumerated}</li>\n * <li>0x0c {@link KJUR.asn1.DERUTF8String}</li>\n * <li>0x12 {@link KJUR.asn1.DERNumericString}</li>\n * <li>0x13 {@link KJUR.asn1.DERPrintableString}</li>\n * <li>0x14 {@link KJUR.asn1.DERTeletexString}</li>\n * <li>0x16 {@link KJUR.asn1.DERIA5String}</li>\n * <li>0x17 {@link KJUR.asn1.DERUTCTime}</li>\n * <li>0x18 {@link KJUR.asn1.DERGeneralizedTime}</li>\n * <li>0x30 {@link KJUR.asn1.DERSequence}</li>\n * <li>0x31 {@link KJUR.asn1.DERSet}</li>\n * </ul>\n * <h4>OTHER ASN.1 CLASSES</h4>\n * <ul>\n * <li>{@link KJUR.asn1.ASN1Object}</li>\n * <li>{@link KJUR.asn1.DERAbstractString}</li>\n * <li>{@link KJUR.asn1.DERAbstractTime}</li>\n * <li>{@link KJUR.asn1.DERAbstractStructured}</li>\n * <li>{@link KJUR.asn1.DERTaggedObject}</li>\n * </ul>\n * <h4>SUB NAME SPACES</h4>\n * <ul>\n * <li>{@link KJUR.asn1.cades} - CAdES long term signature format</li>\n * <li>{@link KJUR.asn1.cms} - Cryptographic Message Syntax</li>\n * <li>{@link KJUR.asn1.csr} - Certificate Signing Request (CSR/PKCS#10)</li>\n * <li>{@link KJUR.asn1.tsp} - RFC 3161 Timestamping Protocol Format</li>\n * <li>{@link KJUR.asn1.x509} - RFC 5280 X.509 certificate and CRL</li>\n * </ul>\n * </p>\n * NOTE: Please ignore method summary and document of this namespace.\n * This caused by a bug of jsdoc2.\n * @name KJUR.asn1\n * @namespace\n */\nif (typeof KJUR.asn1 == \"undefined\" || !KJUR.asn1)\n    KJUR.asn1 = {};\n/**\n * ASN1 utilities class\n * @name KJUR.asn1.ASN1Util\n * @class ASN1 utilities class\n * @since asn1 1.0.2\n */\nKJUR.asn1.ASN1Util = new function () {\n    this.integerToByteHex = function (i) {\n        var h = i.toString(16);\n        if ((h.length % 2) == 1)\n            h = '0' + h;\n        return h;\n    };\n    this.bigIntToMinTwosComplementsHex = function (bigIntegerValue) {\n        var h = bigIntegerValue.toString(16);\n        if (h.substr(0, 1) != '-') {\n            if (h.length % 2 == 1) {\n                h = '0' + h;\n            }\n            else {\n                if (!h.match(/^[0-7]/)) {\n                    h = '00' + h;\n                }\n            }\n        }\n        else {\n            var hPos = h.substr(1);\n            var xorLen = hPos.length;\n            if (xorLen % 2 == 1) {\n                xorLen += 1;\n            }\n            else {\n                if (!h.match(/^[0-7]/)) {\n                    xorLen += 2;\n                }\n            }\n            var hMask = '';\n            for (var i = 0; i < xorLen; i++) {\n                hMask += 'f';\n            }\n            var biMask = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(hMask, 16);\n            var biNeg = biMask.xor(bigIntegerValue).add(_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n            h = biNeg.toString(16).replace(/^-/, '');\n        }\n        return h;\n    };\n    /**\n     * get PEM string from hexadecimal data and header string\n     * @name getPEMStringFromHex\n     * @memberOf KJUR.asn1.ASN1Util\n     * @function\n     * @param {String} dataHex hexadecimal string of PEM body\n     * @param {String} pemHeader PEM header string (ex. 'RSA PRIVATE KEY')\n     * @return {String} PEM formatted string of input data\n     * @description\n     * This method converts a hexadecimal string to a PEM string with\n     * a specified header. Its line break will be CRLF(\"\\r\\n\").\n     * @example\n     * var pem  = KJUR.asn1.ASN1Util.getPEMStringFromHex('616161', 'RSA PRIVATE KEY');\n     * // value of pem will be:\n     * -----BEGIN PRIVATE KEY-----\n     * YWFh\n     * -----END PRIVATE KEY-----\n     */\n    this.getPEMStringFromHex = function (dataHex, pemHeader) {\n        return hextopem(dataHex, pemHeader);\n    };\n    /**\n     * generate ASN1Object specifed by JSON parameters\n     * @name newObject\n     * @memberOf KJUR.asn1.ASN1Util\n     * @function\n     * @param {Array} param JSON parameter to generate ASN1Object\n     * @return {KJUR.asn1.ASN1Object} generated object\n     * @since asn1 1.0.3\n     * @description\n     * generate any ASN1Object specified by JSON param\n     * including ASN.1 primitive or structured.\n     * Generally 'param' can be described as follows:\n     * <blockquote>\n     * {TYPE-OF-ASNOBJ: ASN1OBJ-PARAMETER}\n     * </blockquote>\n     * 'TYPE-OF-ASN1OBJ' can be one of following symbols:\n     * <ul>\n     * <li>'bool' - DERBoolean</li>\n     * <li>'int' - DERInteger</li>\n     * <li>'bitstr' - DERBitString</li>\n     * <li>'octstr' - DEROctetString</li>\n     * <li>'null' - DERNull</li>\n     * <li>'oid' - DERObjectIdentifier</li>\n     * <li>'enum' - DEREnumerated</li>\n     * <li>'utf8str' - DERUTF8String</li>\n     * <li>'numstr' - DERNumericString</li>\n     * <li>'prnstr' - DERPrintableString</li>\n     * <li>'telstr' - DERTeletexString</li>\n     * <li>'ia5str' - DERIA5String</li>\n     * <li>'utctime' - DERUTCTime</li>\n     * <li>'gentime' - DERGeneralizedTime</li>\n     * <li>'seq' - DERSequence</li>\n     * <li>'set' - DERSet</li>\n     * <li>'tag' - DERTaggedObject</li>\n     * </ul>\n     * @example\n     * newObject({'prnstr': 'aaa'});\n     * newObject({'seq': [{'int': 3}, {'prnstr': 'aaa'}]})\n     * // ASN.1 Tagged Object\n     * newObject({'tag': {'tag': 'a1',\n     *                    'explicit': true,\n     *                    'obj': {'seq': [{'int': 3}, {'prnstr': 'aaa'}]}}});\n     * // more simple representation of ASN.1 Tagged Object\n     * newObject({'tag': ['a1',\n     *                    true,\n     *                    {'seq': [\n     *                      {'int': 3},\n     *                      {'prnstr': 'aaa'}]}\n     *                   ]});\n     */\n    this.newObject = function (param) {\n        var _KJUR = KJUR, _KJUR_asn1 = _KJUR.asn1, _DERBoolean = _KJUR_asn1.DERBoolean, _DERInteger = _KJUR_asn1.DERInteger, _DERBitString = _KJUR_asn1.DERBitString, _DEROctetString = _KJUR_asn1.DEROctetString, _DERNull = _KJUR_asn1.DERNull, _DERObjectIdentifier = _KJUR_asn1.DERObjectIdentifier, _DEREnumerated = _KJUR_asn1.DEREnumerated, _DERUTF8String = _KJUR_asn1.DERUTF8String, _DERNumericString = _KJUR_asn1.DERNumericString, _DERPrintableString = _KJUR_asn1.DERPrintableString, _DERTeletexString = _KJUR_asn1.DERTeletexString, _DERIA5String = _KJUR_asn1.DERIA5String, _DERUTCTime = _KJUR_asn1.DERUTCTime, _DERGeneralizedTime = _KJUR_asn1.DERGeneralizedTime, _DERSequence = _KJUR_asn1.DERSequence, _DERSet = _KJUR_asn1.DERSet, _DERTaggedObject = _KJUR_asn1.DERTaggedObject, _newObject = _KJUR_asn1.ASN1Util.newObject;\n        var keys = Object.keys(param);\n        if (keys.length != 1)\n            throw \"key of param shall be only one.\";\n        var key = keys[0];\n        if (\":bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:seq:set:tag:\".indexOf(\":\" + key + \":\") == -1)\n            throw \"undefined key: \" + key;\n        if (key == \"bool\")\n            return new _DERBoolean(param[key]);\n        if (key == \"int\")\n            return new _DERInteger(param[key]);\n        if (key == \"bitstr\")\n            return new _DERBitString(param[key]);\n        if (key == \"octstr\")\n            return new _DEROctetString(param[key]);\n        if (key == \"null\")\n            return new _DERNull(param[key]);\n        if (key == \"oid\")\n            return new _DERObjectIdentifier(param[key]);\n        if (key == \"enum\")\n            return new _DEREnumerated(param[key]);\n        if (key == \"utf8str\")\n            return new _DERUTF8String(param[key]);\n        if (key == \"numstr\")\n            return new _DERNumericString(param[key]);\n        if (key == \"prnstr\")\n            return new _DERPrintableString(param[key]);\n        if (key == \"telstr\")\n            return new _DERTeletexString(param[key]);\n        if (key == \"ia5str\")\n            return new _DERIA5String(param[key]);\n        if (key == \"utctime\")\n            return new _DERUTCTime(param[key]);\n        if (key == \"gentime\")\n            return new _DERGeneralizedTime(param[key]);\n        if (key == \"seq\") {\n            var paramList = param[key];\n            var a = [];\n            for (var i = 0; i < paramList.length; i++) {\n                var asn1Obj = _newObject(paramList[i]);\n                a.push(asn1Obj);\n            }\n            return new _DERSequence({ 'array': a });\n        }\n        if (key == \"set\") {\n            var paramList = param[key];\n            var a = [];\n            for (var i = 0; i < paramList.length; i++) {\n                var asn1Obj = _newObject(paramList[i]);\n                a.push(asn1Obj);\n            }\n            return new _DERSet({ 'array': a });\n        }\n        if (key == \"tag\") {\n            var tagParam = param[key];\n            if (Object.prototype.toString.call(tagParam) === '[object Array]' &&\n                tagParam.length == 3) {\n                var obj = _newObject(tagParam[2]);\n                return new _DERTaggedObject({ tag: tagParam[0],\n                    explicit: tagParam[1],\n                    obj: obj });\n            }\n            else {\n                var newParam = {};\n                if (tagParam.explicit !== undefined)\n                    newParam.explicit = tagParam.explicit;\n                if (tagParam.tag !== undefined)\n                    newParam.tag = tagParam.tag;\n                if (tagParam.obj === undefined)\n                    throw \"obj shall be specified for 'tag'.\";\n                newParam.obj = _newObject(tagParam.obj);\n                return new _DERTaggedObject(newParam);\n            }\n        }\n    };\n    /**\n     * get encoded hexadecimal string of ASN1Object specifed by JSON parameters\n     * @name jsonToASN1HEX\n     * @memberOf KJUR.asn1.ASN1Util\n     * @function\n     * @param {Array} param JSON parameter to generate ASN1Object\n     * @return hexadecimal string of ASN1Object\n     * @since asn1 1.0.4\n     * @description\n     * As for ASN.1 object representation of JSON object,\n     * please see {@link newObject}.\n     * @example\n     * jsonToASN1HEX({'prnstr': 'aaa'});\n     */\n    this.jsonToASN1HEX = function (param) {\n        var asn1Obj = this.newObject(param);\n        return asn1Obj.getEncodedHex();\n    };\n};\n/**\n * get dot noted oid number string from hexadecimal value of OID\n * @name oidHexToInt\n * @memberOf KJUR.asn1.ASN1Util\n * @function\n * @param {String} hex hexadecimal value of object identifier\n * @return {String} dot noted string of object identifier\n * @since jsrsasign 4.8.3 asn1 1.0.7\n * @description\n * This static method converts from hexadecimal string representation of\n * ASN.1 value of object identifier to oid number string.\n * @example\n * KJUR.asn1.ASN1Util.oidHexToInt('550406') &rarr; \"2.5.4.6\"\n */\nKJUR.asn1.ASN1Util.oidHexToInt = function (hex) {\n    var s = \"\";\n    var i01 = parseInt(hex.substr(0, 2), 16);\n    var i0 = Math.floor(i01 / 40);\n    var i1 = i01 % 40;\n    var s = i0 + \".\" + i1;\n    var binbuf = \"\";\n    for (var i = 2; i < hex.length; i += 2) {\n        var value = parseInt(hex.substr(i, 2), 16);\n        var bin = (\"00000000\" + value.toString(2)).slice(-8);\n        binbuf = binbuf + bin.substr(1, 7);\n        if (bin.substr(0, 1) == \"0\") {\n            var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(binbuf, 2);\n            s = s + \".\" + bi.toString(10);\n            binbuf = \"\";\n        }\n    }\n    ;\n    return s;\n};\n/**\n * get hexadecimal value of object identifier from dot noted oid value\n * @name oidIntToHex\n * @memberOf KJUR.asn1.ASN1Util\n * @function\n * @param {String} oidString dot noted string of object identifier\n * @return {String} hexadecimal value of object identifier\n * @since jsrsasign 4.8.3 asn1 1.0.7\n * @description\n * This static method converts from object identifier value string.\n * to hexadecimal string representation of it.\n * @example\n * KJUR.asn1.ASN1Util.oidIntToHex(\"2.5.4.6\") &rarr; \"550406\"\n */\nKJUR.asn1.ASN1Util.oidIntToHex = function (oidString) {\n    var itox = function (i) {\n        var h = i.toString(16);\n        if (h.length == 1)\n            h = '0' + h;\n        return h;\n    };\n    var roidtox = function (roid) {\n        var h = '';\n        var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(roid, 10);\n        var b = bi.toString(2);\n        var padLen = 7 - b.length % 7;\n        if (padLen == 7)\n            padLen = 0;\n        var bPad = '';\n        for (var i = 0; i < padLen; i++)\n            bPad += '0';\n        b = bPad + b;\n        for (var i = 0; i < b.length - 1; i += 7) {\n            var b8 = b.substr(i, 7);\n            if (i != b.length - 7)\n                b8 = '1' + b8;\n            h += itox(parseInt(b8, 2));\n        }\n        return h;\n    };\n    if (!oidString.match(/^[0-9.]+$/)) {\n        throw \"malformed oid string: \" + oidString;\n    }\n    var h = '';\n    var a = oidString.split('.');\n    var i0 = parseInt(a[0]) * 40 + parseInt(a[1]);\n    h += itox(i0);\n    a.splice(0, 2);\n    for (var i = 0; i < a.length; i++) {\n        h += roidtox(a[i]);\n    }\n    return h;\n};\n// ********************************************************************\n//  Abstract ASN.1 Classes\n// ********************************************************************\n// ********************************************************************\n/**\n * base class for ASN.1 DER encoder object\n * @name KJUR.asn1.ASN1Object\n * @class base class for ASN.1 DER encoder object\n * @property {Boolean} isModified flag whether internal data was changed\n * @property {String} hTLV hexadecimal string of ASN.1 TLV\n * @property {String} hT hexadecimal string of ASN.1 TLV tag(T)\n * @property {String} hL hexadecimal string of ASN.1 TLV length(L)\n * @property {String} hV hexadecimal string of ASN.1 TLV value(V)\n * @description\n */\nKJUR.asn1.ASN1Object = function () {\n    var isModified = true;\n    var hTLV = null;\n    var hT = '00';\n    var hL = '00';\n    var hV = '';\n    /**\n     * get hexadecimal ASN.1 TLV length(L) bytes from TLV value(V)\n     * @name getLengthHexFromValue\n     * @memberOf KJUR.asn1.ASN1Object#\n     * @function\n     * @return {String} hexadecimal string of ASN.1 TLV length(L)\n     */\n    this.getLengthHexFromValue = function () {\n        if (typeof this.hV == \"undefined\" || this.hV == null) {\n            throw \"this.hV is null or undefined.\";\n        }\n        if (this.hV.length % 2 == 1) {\n            throw \"value hex must be even length: n=\" + hV.length + \",v=\" + this.hV;\n        }\n        var n = this.hV.length / 2;\n        var hN = n.toString(16);\n        if (hN.length % 2 == 1) {\n            hN = \"0\" + hN;\n        }\n        if (n < 128) {\n            return hN;\n        }\n        else {\n            var hNlen = hN.length / 2;\n            if (hNlen > 15) {\n                throw \"ASN.1 length too long to represent by 8x: n = \" + n.toString(16);\n            }\n            var head = 128 + hNlen;\n            return head.toString(16) + hN;\n        }\n    };\n    /**\n     * get hexadecimal string of ASN.1 TLV bytes\n     * @name getEncodedHex\n     * @memberOf KJUR.asn1.ASN1Object#\n     * @function\n     * @return {String} hexadecimal string of ASN.1 TLV\n     */\n    this.getEncodedHex = function () {\n        if (this.hTLV == null || this.isModified) {\n            this.hV = this.getFreshValueHex();\n            this.hL = this.getLengthHexFromValue();\n            this.hTLV = this.hT + this.hL + this.hV;\n            this.isModified = false;\n            //alert(\"first time: \" + this.hTLV);\n        }\n        return this.hTLV;\n    };\n    /**\n     * get hexadecimal string of ASN.1 TLV value(V) bytes\n     * @name getValueHex\n     * @memberOf KJUR.asn1.ASN1Object#\n     * @function\n     * @return {String} hexadecimal string of ASN.1 TLV value(V) bytes\n     */\n    this.getValueHex = function () {\n        this.getEncodedHex();\n        return this.hV;\n    };\n    this.getFreshValueHex = function () {\n        return '';\n    };\n};\n// == BEGIN DERAbstractString ================================================\n/**\n * base class for ASN.1 DER string classes\n * @name KJUR.asn1.DERAbstractString\n * @class base class for ASN.1 DER string classes\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @property {String} s internal string of value\n * @extends KJUR.asn1.ASN1Object\n * @description\n * <br/>\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n * <ul>\n * <li>str - specify initial ASN.1 value(V) by a string</li>\n * <li>hex - specify initial ASN.1 value(V) by a hexadecimal string</li>\n * </ul>\n * NOTE: 'params' can be omitted.\n */\nKJUR.asn1.DERAbstractString = function (params) {\n    KJUR.asn1.DERAbstractString.superclass.constructor.call(this);\n    var s = null;\n    var hV = null;\n    /**\n     * get string value of this string object\n     * @name getString\n     * @memberOf KJUR.asn1.DERAbstractString#\n     * @function\n     * @return {String} string value of this string object\n     */\n    this.getString = function () {\n        return this.s;\n    };\n    /**\n     * set value by a string\n     * @name setString\n     * @memberOf KJUR.asn1.DERAbstractString#\n     * @function\n     * @param {String} newS value by a string to set\n     */\n    this.setString = function (newS) {\n        this.hTLV = null;\n        this.isModified = true;\n        this.s = newS;\n        this.hV = stohex(this.s);\n    };\n    /**\n     * set value by a hexadecimal string\n     * @name setStringHex\n     * @memberOf KJUR.asn1.DERAbstractString#\n     * @function\n     * @param {String} newHexString value by a hexadecimal string to set\n     */\n    this.setStringHex = function (newHexString) {\n        this.hTLV = null;\n        this.isModified = true;\n        this.s = null;\n        this.hV = newHexString;\n    };\n    this.getFreshValueHex = function () {\n        return this.hV;\n    };\n    if (typeof params != \"undefined\") {\n        if (typeof params == \"string\") {\n            this.setString(params);\n        }\n        else if (typeof params['str'] != \"undefined\") {\n            this.setString(params['str']);\n        }\n        else if (typeof params['hex'] != \"undefined\") {\n            this.setStringHex(params['hex']);\n        }\n    }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERAbstractString, KJUR.asn1.ASN1Object);\n// == END   DERAbstractString ================================================\n// == BEGIN DERAbstractTime ==================================================\n/**\n * base class for ASN.1 DER Generalized/UTCTime class\n * @name KJUR.asn1.DERAbstractTime\n * @class base class for ASN.1 DER Generalized/UTCTime class\n * @param {Array} params associative array of parameters (ex. {'str': '130430235959Z'})\n * @extends KJUR.asn1.ASN1Object\n * @description\n * @see KJUR.asn1.ASN1Object - superclass\n */\nKJUR.asn1.DERAbstractTime = function (params) {\n    KJUR.asn1.DERAbstractTime.superclass.constructor.call(this);\n    var s = null;\n    var date = null;\n    // --- PRIVATE METHODS --------------------\n    this.localDateToUTC = function (d) {\n        utc = d.getTime() + (d.getTimezoneOffset() * 60000);\n        var utcDate = new Date(utc);\n        return utcDate;\n    };\n    /*\n     * format date string by Data object\n     * @name formatDate\n     * @memberOf KJUR.asn1.AbstractTime;\n     * @param {Date} dateObject\n     * @param {string} type 'utc' or 'gen'\n     * @param {boolean} withMillis flag for with millisections or not\n     * @description\n     * 'withMillis' flag is supported from asn1 1.0.6.\n     */\n    this.formatDate = function (dateObject, type, withMillis) {\n        var pad = this.zeroPadding;\n        var d = this.localDateToUTC(dateObject);\n        var year = String(d.getFullYear());\n        if (type == 'utc')\n            year = year.substr(2, 2);\n        var month = pad(String(d.getMonth() + 1), 2);\n        var day = pad(String(d.getDate()), 2);\n        var hour = pad(String(d.getHours()), 2);\n        var min = pad(String(d.getMinutes()), 2);\n        var sec = pad(String(d.getSeconds()), 2);\n        var s = year + month + day + hour + min + sec;\n        if (withMillis === true) {\n            var millis = d.getMilliseconds();\n            if (millis != 0) {\n                var sMillis = pad(String(millis), 3);\n                sMillis = sMillis.replace(/[0]+$/, \"\");\n                s = s + \".\" + sMillis;\n            }\n        }\n        return s + \"Z\";\n    };\n    this.zeroPadding = function (s, len) {\n        if (s.length >= len)\n            return s;\n        return new Array(len - s.length + 1).join('0') + s;\n    };\n    // --- PUBLIC METHODS --------------------\n    /**\n     * get string value of this string object\n     * @name getString\n     * @memberOf KJUR.asn1.DERAbstractTime#\n     * @function\n     * @return {String} string value of this time object\n     */\n    this.getString = function () {\n        return this.s;\n    };\n    /**\n     * set value by a string\n     * @name setString\n     * @memberOf KJUR.asn1.DERAbstractTime#\n     * @function\n     * @param {String} newS value by a string to set such like \"130430235959Z\"\n     */\n    this.setString = function (newS) {\n        this.hTLV = null;\n        this.isModified = true;\n        this.s = newS;\n        this.hV = stohex(newS);\n    };\n    /**\n     * set value by a Date object\n     * @name setByDateValue\n     * @memberOf KJUR.asn1.DERAbstractTime#\n     * @function\n     * @param {Integer} year year of date (ex. 2013)\n     * @param {Integer} month month of date between 1 and 12 (ex. 12)\n     * @param {Integer} day day of month\n     * @param {Integer} hour hours of date\n     * @param {Integer} min minutes of date\n     * @param {Integer} sec seconds of date\n     */\n    this.setByDateValue = function (year, month, day, hour, min, sec) {\n        var dateObject = new Date(Date.UTC(year, month - 1, day, hour, min, sec, 0));\n        this.setByDate(dateObject);\n    };\n    this.getFreshValueHex = function () {\n        return this.hV;\n    };\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERAbstractTime, KJUR.asn1.ASN1Object);\n// == END   DERAbstractTime ==================================================\n// == BEGIN DERAbstractStructured ============================================\n/**\n * base class for ASN.1 DER structured class\n * @name KJUR.asn1.DERAbstractStructured\n * @class base class for ASN.1 DER structured class\n * @property {Array} asn1Array internal array of ASN1Object\n * @extends KJUR.asn1.ASN1Object\n * @description\n * @see KJUR.asn1.ASN1Object - superclass\n */\nKJUR.asn1.DERAbstractStructured = function (params) {\n    KJUR.asn1.DERAbstractString.superclass.constructor.call(this);\n    var asn1Array = null;\n    /**\n     * set value by array of ASN1Object\n     * @name setByASN1ObjectArray\n     * @memberOf KJUR.asn1.DERAbstractStructured#\n     * @function\n     * @param {array} asn1ObjectArray array of ASN1Object to set\n     */\n    this.setByASN1ObjectArray = function (asn1ObjectArray) {\n        this.hTLV = null;\n        this.isModified = true;\n        this.asn1Array = asn1ObjectArray;\n    };\n    /**\n     * append an ASN1Object to internal array\n     * @name appendASN1Object\n     * @memberOf KJUR.asn1.DERAbstractStructured#\n     * @function\n     * @param {ASN1Object} asn1Object to add\n     */\n    this.appendASN1Object = function (asn1Object) {\n        this.hTLV = null;\n        this.isModified = true;\n        this.asn1Array.push(asn1Object);\n    };\n    this.asn1Array = new Array();\n    if (typeof params != \"undefined\") {\n        if (typeof params['array'] != \"undefined\") {\n            this.asn1Array = params['array'];\n        }\n    }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERAbstractStructured, KJUR.asn1.ASN1Object);\n// ********************************************************************\n//  ASN.1 Object Classes\n// ********************************************************************\n// ********************************************************************\n/**\n * class for ASN.1 DER Boolean\n * @name KJUR.asn1.DERBoolean\n * @class class for ASN.1 DER Boolean\n * @extends KJUR.asn1.ASN1Object\n * @description\n * @see KJUR.asn1.ASN1Object - superclass\n */\nKJUR.asn1.DERBoolean = function () {\n    KJUR.asn1.DERBoolean.superclass.constructor.call(this);\n    this.hT = \"01\";\n    this.hTLV = \"0101ff\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERBoolean, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER Integer\n * @name KJUR.asn1.DERInteger\n * @class class for ASN.1 DER Integer\n * @extends KJUR.asn1.ASN1Object\n * @description\n * <br/>\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n * <ul>\n * <li>int - specify initial ASN.1 value(V) by integer value</li>\n * <li>bigint - specify initial ASN.1 value(V) by BigInteger object</li>\n * <li>hex - specify initial ASN.1 value(V) by a hexadecimal string</li>\n * </ul>\n * NOTE: 'params' can be omitted.\n */\nKJUR.asn1.DERInteger = function (params) {\n    KJUR.asn1.DERInteger.superclass.constructor.call(this);\n    this.hT = \"02\";\n    /**\n     * set value by Tom Wu's BigInteger object\n     * @name setByBigInteger\n     * @memberOf KJUR.asn1.DERInteger#\n     * @function\n     * @param {BigInteger} bigIntegerValue to set\n     */\n    this.setByBigInteger = function (bigIntegerValue) {\n        this.hTLV = null;\n        this.isModified = true;\n        this.hV = KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(bigIntegerValue);\n    };\n    /**\n     * set value by integer value\n     * @name setByInteger\n     * @memberOf KJUR.asn1.DERInteger\n     * @function\n     * @param {Integer} integer value to set\n     */\n    this.setByInteger = function (intValue) {\n        var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(String(intValue), 10);\n        this.setByBigInteger(bi);\n    };\n    /**\n     * set value by integer value\n     * @name setValueHex\n     * @memberOf KJUR.asn1.DERInteger#\n     * @function\n     * @param {String} hexadecimal string of integer value\n     * @description\n     * <br/>\n     * NOTE: Value shall be represented by minimum octet length of\n     * two's complement representation.\n     * @example\n     * new KJUR.asn1.DERInteger(123);\n     * new KJUR.asn1.DERInteger({'int': 123});\n     * new KJUR.asn1.DERInteger({'hex': '1fad'});\n     */\n    this.setValueHex = function (newHexString) {\n        this.hV = newHexString;\n    };\n    this.getFreshValueHex = function () {\n        return this.hV;\n    };\n    if (typeof params != \"undefined\") {\n        if (typeof params['bigint'] != \"undefined\") {\n            this.setByBigInteger(params['bigint']);\n        }\n        else if (typeof params['int'] != \"undefined\") {\n            this.setByInteger(params['int']);\n        }\n        else if (typeof params == \"number\") {\n            this.setByInteger(params);\n        }\n        else if (typeof params['hex'] != \"undefined\") {\n            this.setValueHex(params['hex']);\n        }\n    }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERInteger, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER encoded BitString primitive\n * @name KJUR.asn1.DERBitString\n * @class class for ASN.1 DER encoded BitString primitive\n * @extends KJUR.asn1.ASN1Object\n * @description\n * <br/>\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n * <ul>\n * <li>bin - specify binary string (ex. '10111')</li>\n * <li>array - specify array of boolean (ex. [true,false,true,true])</li>\n * <li>hex - specify hexadecimal string of ASN.1 value(V) including unused bits</li>\n * <li>obj - specify {@link KJUR.asn1.ASN1Util.newObject}\n * argument for \"BitString encapsulates\" structure.</li>\n * </ul>\n * NOTE1: 'params' can be omitted.<br/>\n * NOTE2: 'obj' parameter have been supported since\n * asn1 1.0.11, jsrsasign 6.1.1 (2016-Sep-25).<br/>\n * @example\n * // default constructor\n * o = new KJUR.asn1.DERBitString();\n * // initialize with binary string\n * o = new KJUR.asn1.DERBitString({bin: \"1011\"});\n * // initialize with boolean array\n * o = new KJUR.asn1.DERBitString({array: [true,false,true,true]});\n * // initialize with hexadecimal string (04 is unused bits)\n * o = new KJUR.asn1.DEROctetString({hex: \"04bac0\"});\n * // initialize with ASN1Util.newObject argument for encapsulated\n * o = new KJUR.asn1.DERBitString({obj: {seq: [{int: 3}, {prnstr: 'aaa'}]}});\n * // above generates a ASN.1 data like this:\n * // BIT STRING, encapsulates {\n * //   SEQUENCE {\n * //     INTEGER 3\n * //     PrintableString 'aaa'\n * //     }\n * //   }\n */\nKJUR.asn1.DERBitString = function (params) {\n    if (params !== undefined && typeof params.obj !== \"undefined\") {\n        var o = KJUR.asn1.ASN1Util.newObject(params.obj);\n        params.hex = \"00\" + o.getEncodedHex();\n    }\n    KJUR.asn1.DERBitString.superclass.constructor.call(this);\n    this.hT = \"03\";\n    /**\n     * set ASN.1 value(V) by a hexadecimal string including unused bits\n     * @name setHexValueIncludingUnusedBits\n     * @memberOf KJUR.asn1.DERBitString#\n     * @function\n     * @param {String} newHexStringIncludingUnusedBits\n     */\n    this.setHexValueIncludingUnusedBits = function (newHexStringIncludingUnusedBits) {\n        this.hTLV = null;\n        this.isModified = true;\n        this.hV = newHexStringIncludingUnusedBits;\n    };\n    /**\n     * set ASN.1 value(V) by unused bit and hexadecimal string of value\n     * @name setUnusedBitsAndHexValue\n     * @memberOf KJUR.asn1.DERBitString#\n     * @function\n     * @param {Integer} unusedBits\n     * @param {String} hValue\n     */\n    this.setUnusedBitsAndHexValue = function (unusedBits, hValue) {\n        if (unusedBits < 0 || 7 < unusedBits) {\n            throw \"unused bits shall be from 0 to 7: u = \" + unusedBits;\n        }\n        var hUnusedBits = \"0\" + unusedBits;\n        this.hTLV = null;\n        this.isModified = true;\n        this.hV = hUnusedBits + hValue;\n    };\n    /**\n     * set ASN.1 DER BitString by binary string<br/>\n     * @name setByBinaryString\n     * @memberOf KJUR.asn1.DERBitString#\n     * @function\n     * @param {String} binaryString binary value string (i.e. '10111')\n     * @description\n     * Its unused bits will be calculated automatically by length of\n     * 'binaryValue'. <br/>\n     * NOTE: Trailing zeros '0' will be ignored.\n     * @example\n     * o = new KJUR.asn1.DERBitString();\n     * o.setByBooleanArray(\"01011\");\n     */\n    this.setByBinaryString = function (binaryString) {\n        binaryString = binaryString.replace(/0+$/, '');\n        var unusedBits = 8 - binaryString.length % 8;\n        if (unusedBits == 8)\n            unusedBits = 0;\n        for (var i = 0; i <= unusedBits; i++) {\n            binaryString += '0';\n        }\n        var h = '';\n        for (var i = 0; i < binaryString.length - 1; i += 8) {\n            var b = binaryString.substr(i, 8);\n            var x = parseInt(b, 2).toString(16);\n            if (x.length == 1)\n                x = '0' + x;\n            h += x;\n        }\n        this.hTLV = null;\n        this.isModified = true;\n        this.hV = '0' + unusedBits + h;\n    };\n    /**\n     * set ASN.1 TLV value(V) by an array of boolean<br/>\n     * @name setByBooleanArray\n     * @memberOf KJUR.asn1.DERBitString#\n     * @function\n     * @param {array} booleanArray array of boolean (ex. [true, false, true])\n     * @description\n     * NOTE: Trailing falses will be ignored in the ASN.1 DER Object.\n     * @example\n     * o = new KJUR.asn1.DERBitString();\n     * o.setByBooleanArray([false, true, false, true, true]);\n     */\n    this.setByBooleanArray = function (booleanArray) {\n        var s = '';\n        for (var i = 0; i < booleanArray.length; i++) {\n            if (booleanArray[i] == true) {\n                s += '1';\n            }\n            else {\n                s += '0';\n            }\n        }\n        this.setByBinaryString(s);\n    };\n    /**\n     * generate an array of falses with specified length<br/>\n     * @name newFalseArray\n     * @memberOf KJUR.asn1.DERBitString\n     * @function\n     * @param {Integer} nLength length of array to generate\n     * @return {array} array of boolean falses\n     * @description\n     * This static method may be useful to initialize boolean array.\n     * @example\n     * o = new KJUR.asn1.DERBitString();\n     * o.newFalseArray(3) &rarr; [false, false, false]\n     */\n    this.newFalseArray = function (nLength) {\n        var a = new Array(nLength);\n        for (var i = 0; i < nLength; i++) {\n            a[i] = false;\n        }\n        return a;\n    };\n    this.getFreshValueHex = function () {\n        return this.hV;\n    };\n    if (typeof params != \"undefined\") {\n        if (typeof params == \"string\" && params.toLowerCase().match(/^[0-9a-f]+$/)) {\n            this.setHexValueIncludingUnusedBits(params);\n        }\n        else if (typeof params['hex'] != \"undefined\") {\n            this.setHexValueIncludingUnusedBits(params['hex']);\n        }\n        else if (typeof params['bin'] != \"undefined\") {\n            this.setByBinaryString(params['bin']);\n        }\n        else if (typeof params['array'] != \"undefined\") {\n            this.setByBooleanArray(params['array']);\n        }\n    }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERBitString, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER OctetString<br/>\n * @name KJUR.asn1.DEROctetString\n * @class class for ASN.1 DER OctetString\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * This class provides ASN.1 OctetString simple type.<br/>\n * Supported \"params\" attributes are:\n * <ul>\n * <li>str - to set a string as a value</li>\n * <li>hex - to set a hexadecimal string as a value</li>\n * <li>obj - to set a encapsulated ASN.1 value by JSON object\n * which is defined in {@link KJUR.asn1.ASN1Util.newObject}</li>\n * </ul>\n * NOTE: A parameter 'obj' have been supported\n * for \"OCTET STRING, encapsulates\" structure.\n * since asn1 1.0.11, jsrsasign 6.1.1 (2016-Sep-25).\n * @see KJUR.asn1.DERAbstractString - superclass\n * @example\n * // default constructor\n * o = new KJUR.asn1.DEROctetString();\n * // initialize with string\n * o = new KJUR.asn1.DEROctetString({str: \"aaa\"});\n * // initialize with hexadecimal string\n * o = new KJUR.asn1.DEROctetString({hex: \"616161\"});\n * // initialize with ASN1Util.newObject argument\n * o = new KJUR.asn1.DEROctetString({obj: {seq: [{int: 3}, {prnstr: 'aaa'}]}});\n * // above generates a ASN.1 data like this:\n * // OCTET STRING, encapsulates {\n * //   SEQUENCE {\n * //     INTEGER 3\n * //     PrintableString 'aaa'\n * //     }\n * //   }\n */\nKJUR.asn1.DEROctetString = function (params) {\n    if (params !== undefined && typeof params.obj !== \"undefined\") {\n        var o = KJUR.asn1.ASN1Util.newObject(params.obj);\n        params.hex = o.getEncodedHex();\n    }\n    KJUR.asn1.DEROctetString.superclass.constructor.call(this, params);\n    this.hT = \"04\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DEROctetString, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER Null\n * @name KJUR.asn1.DERNull\n * @class class for ASN.1 DER Null\n * @extends KJUR.asn1.ASN1Object\n * @description\n * @see KJUR.asn1.ASN1Object - superclass\n */\nKJUR.asn1.DERNull = function () {\n    KJUR.asn1.DERNull.superclass.constructor.call(this);\n    this.hT = \"05\";\n    this.hTLV = \"0500\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERNull, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER ObjectIdentifier\n * @name KJUR.asn1.DERObjectIdentifier\n * @class class for ASN.1 DER ObjectIdentifier\n * @param {Array} params associative array of parameters (ex. {'oid': '2.5.4.5'})\n * @extends KJUR.asn1.ASN1Object\n * @description\n * <br/>\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n * <ul>\n * <li>oid - specify initial ASN.1 value(V) by a oid string (ex. 2.5.4.13)</li>\n * <li>hex - specify initial ASN.1 value(V) by a hexadecimal string</li>\n * </ul>\n * NOTE: 'params' can be omitted.\n */\nKJUR.asn1.DERObjectIdentifier = function (params) {\n    var itox = function (i) {\n        var h = i.toString(16);\n        if (h.length == 1)\n            h = '0' + h;\n        return h;\n    };\n    var roidtox = function (roid) {\n        var h = '';\n        var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(roid, 10);\n        var b = bi.toString(2);\n        var padLen = 7 - b.length % 7;\n        if (padLen == 7)\n            padLen = 0;\n        var bPad = '';\n        for (var i = 0; i < padLen; i++)\n            bPad += '0';\n        b = bPad + b;\n        for (var i = 0; i < b.length - 1; i += 7) {\n            var b8 = b.substr(i, 7);\n            if (i != b.length - 7)\n                b8 = '1' + b8;\n            h += itox(parseInt(b8, 2));\n        }\n        return h;\n    };\n    KJUR.asn1.DERObjectIdentifier.superclass.constructor.call(this);\n    this.hT = \"06\";\n    /**\n     * set value by a hexadecimal string\n     * @name setValueHex\n     * @memberOf KJUR.asn1.DERObjectIdentifier#\n     * @function\n     * @param {String} newHexString hexadecimal value of OID bytes\n     */\n    this.setValueHex = function (newHexString) {\n        this.hTLV = null;\n        this.isModified = true;\n        this.s = null;\n        this.hV = newHexString;\n    };\n    /**\n     * set value by a OID string<br/>\n     * @name setValueOidString\n     * @memberOf KJUR.asn1.DERObjectIdentifier#\n     * @function\n     * @param {String} oidString OID string (ex. 2.5.4.13)\n     * @example\n     * o = new KJUR.asn1.DERObjectIdentifier();\n     * o.setValueOidString(\"2.5.4.13\");\n     */\n    this.setValueOidString = function (oidString) {\n        if (!oidString.match(/^[0-9.]+$/)) {\n            throw \"malformed oid string: \" + oidString;\n        }\n        var h = '';\n        var a = oidString.split('.');\n        var i0 = parseInt(a[0]) * 40 + parseInt(a[1]);\n        h += itox(i0);\n        a.splice(0, 2);\n        for (var i = 0; i < a.length; i++) {\n            h += roidtox(a[i]);\n        }\n        this.hTLV = null;\n        this.isModified = true;\n        this.s = null;\n        this.hV = h;\n    };\n    /**\n     * set value by a OID name\n     * @name setValueName\n     * @memberOf KJUR.asn1.DERObjectIdentifier#\n     * @function\n     * @param {String} oidName OID name (ex. 'serverAuth')\n     * @since 1.0.1\n     * @description\n     * OID name shall be defined in 'KJUR.asn1.x509.OID.name2oidList'.\n     * Otherwise raise error.\n     * @example\n     * o = new KJUR.asn1.DERObjectIdentifier();\n     * o.setValueName(\"serverAuth\");\n     */\n    this.setValueName = function (oidName) {\n        var oid = KJUR.asn1.x509.OID.name2oid(oidName);\n        if (oid !== '') {\n            this.setValueOidString(oid);\n        }\n        else {\n            throw \"DERObjectIdentifier oidName undefined: \" + oidName;\n        }\n    };\n    this.getFreshValueHex = function () {\n        return this.hV;\n    };\n    if (params !== undefined) {\n        if (typeof params === \"string\") {\n            if (params.match(/^[0-2].[0-9.]+$/)) {\n                this.setValueOidString(params);\n            }\n            else {\n                this.setValueName(params);\n            }\n        }\n        else if (params.oid !== undefined) {\n            this.setValueOidString(params.oid);\n        }\n        else if (params.hex !== undefined) {\n            this.setValueHex(params.hex);\n        }\n        else if (params.name !== undefined) {\n            this.setValueName(params.name);\n        }\n    }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERObjectIdentifier, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER Enumerated\n * @name KJUR.asn1.DEREnumerated\n * @class class for ASN.1 DER Enumerated\n * @extends KJUR.asn1.ASN1Object\n * @description\n * <br/>\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n * <ul>\n * <li>int - specify initial ASN.1 value(V) by integer value</li>\n * <li>hex - specify initial ASN.1 value(V) by a hexadecimal string</li>\n * </ul>\n * NOTE: 'params' can be omitted.\n * @example\n * new KJUR.asn1.DEREnumerated(123);\n * new KJUR.asn1.DEREnumerated({int: 123});\n * new KJUR.asn1.DEREnumerated({hex: '1fad'});\n */\nKJUR.asn1.DEREnumerated = function (params) {\n    KJUR.asn1.DEREnumerated.superclass.constructor.call(this);\n    this.hT = \"0a\";\n    /**\n     * set value by Tom Wu's BigInteger object\n     * @name setByBigInteger\n     * @memberOf KJUR.asn1.DEREnumerated#\n     * @function\n     * @param {BigInteger} bigIntegerValue to set\n     */\n    this.setByBigInteger = function (bigIntegerValue) {\n        this.hTLV = null;\n        this.isModified = true;\n        this.hV = KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(bigIntegerValue);\n    };\n    /**\n     * set value by integer value\n     * @name setByInteger\n     * @memberOf KJUR.asn1.DEREnumerated#\n     * @function\n     * @param {Integer} integer value to set\n     */\n    this.setByInteger = function (intValue) {\n        var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(String(intValue), 10);\n        this.setByBigInteger(bi);\n    };\n    /**\n     * set value by integer value\n     * @name setValueHex\n     * @memberOf KJUR.asn1.DEREnumerated#\n     * @function\n     * @param {String} hexadecimal string of integer value\n     * @description\n     * <br/>\n     * NOTE: Value shall be represented by minimum octet length of\n     * two's complement representation.\n     */\n    this.setValueHex = function (newHexString) {\n        this.hV = newHexString;\n    };\n    this.getFreshValueHex = function () {\n        return this.hV;\n    };\n    if (typeof params != \"undefined\") {\n        if (typeof params['int'] != \"undefined\") {\n            this.setByInteger(params['int']);\n        }\n        else if (typeof params == \"number\") {\n            this.setByInteger(params);\n        }\n        else if (typeof params['hex'] != \"undefined\") {\n            this.setValueHex(params['hex']);\n        }\n    }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DEREnumerated, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER UTF8String\n * @name KJUR.asn1.DERUTF8String\n * @class class for ASN.1 DER UTF8String\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERUTF8String = function (params) {\n    KJUR.asn1.DERUTF8String.superclass.constructor.call(this, params);\n    this.hT = \"0c\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERUTF8String, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER NumericString\n * @name KJUR.asn1.DERNumericString\n * @class class for ASN.1 DER NumericString\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERNumericString = function (params) {\n    KJUR.asn1.DERNumericString.superclass.constructor.call(this, params);\n    this.hT = \"12\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERNumericString, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER PrintableString\n * @name KJUR.asn1.DERPrintableString\n * @class class for ASN.1 DER PrintableString\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERPrintableString = function (params) {\n    KJUR.asn1.DERPrintableString.superclass.constructor.call(this, params);\n    this.hT = \"13\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERPrintableString, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER TeletexString\n * @name KJUR.asn1.DERTeletexString\n * @class class for ASN.1 DER TeletexString\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERTeletexString = function (params) {\n    KJUR.asn1.DERTeletexString.superclass.constructor.call(this, params);\n    this.hT = \"14\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERTeletexString, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER IA5String\n * @name KJUR.asn1.DERIA5String\n * @class class for ASN.1 DER IA5String\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERIA5String = function (params) {\n    KJUR.asn1.DERIA5String.superclass.constructor.call(this, params);\n    this.hT = \"16\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERIA5String, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER UTCTime\n * @name KJUR.asn1.DERUTCTime\n * @class class for ASN.1 DER UTCTime\n * @param {Array} params associative array of parameters (ex. {'str': '130430235959Z'})\n * @extends KJUR.asn1.DERAbstractTime\n * @description\n * <br/>\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n * <ul>\n * <li>str - specify initial ASN.1 value(V) by a string (ex.'130430235959Z')</li>\n * <li>hex - specify initial ASN.1 value(V) by a hexadecimal string</li>\n * <li>date - specify Date object.</li>\n * </ul>\n * NOTE: 'params' can be omitted.\n * <h4>EXAMPLES</h4>\n * @example\n * d1 = new KJUR.asn1.DERUTCTime();\n * d1.setString('130430125959Z');\n *\n * d2 = new KJUR.asn1.DERUTCTime({'str': '130430125959Z'});\n * d3 = new KJUR.asn1.DERUTCTime({'date': new Date(Date.UTC(2015, 0, 31, 0, 0, 0, 0))});\n * d4 = new KJUR.asn1.DERUTCTime('130430125959Z');\n */\nKJUR.asn1.DERUTCTime = function (params) {\n    KJUR.asn1.DERUTCTime.superclass.constructor.call(this, params);\n    this.hT = \"17\";\n    /**\n     * set value by a Date object<br/>\n     * @name setByDate\n     * @memberOf KJUR.asn1.DERUTCTime#\n     * @function\n     * @param {Date} dateObject Date object to set ASN.1 value(V)\n     * @example\n     * o = new KJUR.asn1.DERUTCTime();\n     * o.setByDate(new Date(\"2016/12/31\"));\n     */\n    this.setByDate = function (dateObject) {\n        this.hTLV = null;\n        this.isModified = true;\n        this.date = dateObject;\n        this.s = this.formatDate(this.date, 'utc');\n        this.hV = stohex(this.s);\n    };\n    this.getFreshValueHex = function () {\n        if (typeof this.date == \"undefined\" && typeof this.s == \"undefined\") {\n            this.date = new Date();\n            this.s = this.formatDate(this.date, 'utc');\n            this.hV = stohex(this.s);\n        }\n        return this.hV;\n    };\n    if (params !== undefined) {\n        if (params.str !== undefined) {\n            this.setString(params.str);\n        }\n        else if (typeof params == \"string\" && params.match(/^[0-9]{12}Z$/)) {\n            this.setString(params);\n        }\n        else if (params.hex !== undefined) {\n            this.setStringHex(params.hex);\n        }\n        else if (params.date !== undefined) {\n            this.setByDate(params.date);\n        }\n    }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERUTCTime, KJUR.asn1.DERAbstractTime);\n// ********************************************************************\n/**\n * class for ASN.1 DER GeneralizedTime\n * @name KJUR.asn1.DERGeneralizedTime\n * @class class for ASN.1 DER GeneralizedTime\n * @param {Array} params associative array of parameters (ex. {'str': '20130430235959Z'})\n * @property {Boolean} withMillis flag to show milliseconds or not\n * @extends KJUR.asn1.DERAbstractTime\n * @description\n * <br/>\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n * <ul>\n * <li>str - specify initial ASN.1 value(V) by a string (ex.'20130430235959Z')</li>\n * <li>hex - specify initial ASN.1 value(V) by a hexadecimal string</li>\n * <li>date - specify Date object.</li>\n * <li>millis - specify flag to show milliseconds (from 1.0.6)</li>\n * </ul>\n * NOTE1: 'params' can be omitted.\n * NOTE2: 'withMillis' property is supported from asn1 1.0.6.\n */\nKJUR.asn1.DERGeneralizedTime = function (params) {\n    KJUR.asn1.DERGeneralizedTime.superclass.constructor.call(this, params);\n    this.hT = \"18\";\n    this.withMillis = false;\n    /**\n     * set value by a Date object\n     * @name setByDate\n     * @memberOf KJUR.asn1.DERGeneralizedTime#\n     * @function\n     * @param {Date} dateObject Date object to set ASN.1 value(V)\n     * @example\n     * When you specify UTC time, use 'Date.UTC' method like this:<br/>\n     * o1 = new DERUTCTime();\n     * o1.setByDate(date);\n     *\n     * date = new Date(Date.UTC(2015, 0, 31, 23, 59, 59, 0)); #2015JAN31 23:59:59\n     */\n    this.setByDate = function (dateObject) {\n        this.hTLV = null;\n        this.isModified = true;\n        this.date = dateObject;\n        this.s = this.formatDate(this.date, 'gen', this.withMillis);\n        this.hV = stohex(this.s);\n    };\n    this.getFreshValueHex = function () {\n        if (this.date === undefined && this.s === undefined) {\n            this.date = new Date();\n            this.s = this.formatDate(this.date, 'gen', this.withMillis);\n            this.hV = stohex(this.s);\n        }\n        return this.hV;\n    };\n    if (params !== undefined) {\n        if (params.str !== undefined) {\n            this.setString(params.str);\n        }\n        else if (typeof params == \"string\" && params.match(/^[0-9]{14}Z$/)) {\n            this.setString(params);\n        }\n        else if (params.hex !== undefined) {\n            this.setStringHex(params.hex);\n        }\n        else if (params.date !== undefined) {\n            this.setByDate(params.date);\n        }\n        if (params.millis === true) {\n            this.withMillis = true;\n        }\n    }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERGeneralizedTime, KJUR.asn1.DERAbstractTime);\n// ********************************************************************\n/**\n * class for ASN.1 DER Sequence\n * @name KJUR.asn1.DERSequence\n * @class class for ASN.1 DER Sequence\n * @extends KJUR.asn1.DERAbstractStructured\n * @description\n * <br/>\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n * <ul>\n * <li>array - specify array of ASN1Object to set elements of content</li>\n * </ul>\n * NOTE: 'params' can be omitted.\n */\nKJUR.asn1.DERSequence = function (params) {\n    KJUR.asn1.DERSequence.superclass.constructor.call(this, params);\n    this.hT = \"30\";\n    this.getFreshValueHex = function () {\n        var h = '';\n        for (var i = 0; i < this.asn1Array.length; i++) {\n            var asn1Obj = this.asn1Array[i];\n            h += asn1Obj.getEncodedHex();\n        }\n        this.hV = h;\n        return this.hV;\n    };\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERSequence, KJUR.asn1.DERAbstractStructured);\n// ********************************************************************\n/**\n * class for ASN.1 DER Set\n * @name KJUR.asn1.DERSet\n * @class class for ASN.1 DER Set\n * @extends KJUR.asn1.DERAbstractStructured\n * @description\n * <br/>\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n * <ul>\n * <li>array - specify array of ASN1Object to set elements of content</li>\n * <li>sortflag - flag for sort (default: true). ASN.1 BER is not sorted in 'SET OF'.</li>\n * </ul>\n * NOTE1: 'params' can be omitted.<br/>\n * NOTE2: sortflag is supported since 1.0.5.\n */\nKJUR.asn1.DERSet = function (params) {\n    KJUR.asn1.DERSet.superclass.constructor.call(this, params);\n    this.hT = \"31\";\n    this.sortFlag = true; // item shall be sorted only in ASN.1 DER\n    this.getFreshValueHex = function () {\n        var a = new Array();\n        for (var i = 0; i < this.asn1Array.length; i++) {\n            var asn1Obj = this.asn1Array[i];\n            a.push(asn1Obj.getEncodedHex());\n        }\n        if (this.sortFlag == true)\n            a.sort();\n        this.hV = a.join('');\n        return this.hV;\n    };\n    if (typeof params != \"undefined\") {\n        if (typeof params.sortflag != \"undefined\" &&\n            params.sortflag == false)\n            this.sortFlag = false;\n    }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERSet, KJUR.asn1.DERAbstractStructured);\n// ********************************************************************\n/**\n * class for ASN.1 DER TaggedObject\n * @name KJUR.asn1.DERTaggedObject\n * @class class for ASN.1 DER TaggedObject\n * @extends KJUR.asn1.ASN1Object\n * @description\n * <br/>\n * Parameter 'tagNoNex' is ASN.1 tag(T) value for this object.\n * For example, if you find '[1]' tag in a ASN.1 dump,\n * 'tagNoHex' will be 'a1'.\n * <br/>\n * As for optional argument 'params' for constructor, you can specify *ANY* of\n * following properties:\n * <ul>\n * <li>explicit - specify true if this is explicit tag otherwise false\n *     (default is 'true').</li>\n * <li>tag - specify tag (default is 'a0' which means [0])</li>\n * <li>obj - specify ASN1Object which is tagged</li>\n * </ul>\n * @example\n * d1 = new KJUR.asn1.DERUTF8String({'str':'a'});\n * d2 = new KJUR.asn1.DERTaggedObject({'obj': d1});\n * hex = d2.getEncodedHex();\n */\nKJUR.asn1.DERTaggedObject = function (params) {\n    KJUR.asn1.DERTaggedObject.superclass.constructor.call(this);\n    this.hT = \"a0\";\n    this.hV = '';\n    this.isExplicit = true;\n    this.asn1Object = null;\n    /**\n     * set value by an ASN1Object\n     * @name setString\n     * @memberOf KJUR.asn1.DERTaggedObject#\n     * @function\n     * @param {Boolean} isExplicitFlag flag for explicit/implicit tag\n     * @param {Integer} tagNoHex hexadecimal string of ASN.1 tag\n     * @param {ASN1Object} asn1Object ASN.1 to encapsulate\n     */\n    this.setASN1Object = function (isExplicitFlag, tagNoHex, asn1Object) {\n        this.hT = tagNoHex;\n        this.isExplicit = isExplicitFlag;\n        this.asn1Object = asn1Object;\n        if (this.isExplicit) {\n            this.hV = this.asn1Object.getEncodedHex();\n            this.hTLV = null;\n            this.isModified = true;\n        }\n        else {\n            this.hV = null;\n            this.hTLV = asn1Object.getEncodedHex();\n            this.hTLV = this.hTLV.replace(/^../, tagNoHex);\n            this.isModified = false;\n        }\n    };\n    this.getFreshValueHex = function () {\n        return this.hV;\n    };\n    if (typeof params != \"undefined\") {\n        if (typeof params['tag'] != \"undefined\") {\n            this.hT = params['tag'];\n        }\n        if (typeof params['explicit'] != \"undefined\") {\n            this.isExplicit = params['explicit'];\n        }\n        if (typeof params['obj'] != \"undefined\") {\n            this.asn1Object = params['obj'];\n            this.setASN1Object(this.isExplicit, this.hT, this.asn1Object);\n        }\n    }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERTaggedObject, KJUR.asn1.ASN1Object);\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsrsasign/asn1-1.0.js?");
				}),
				"./lib/lib/jsrsasign/yahoo.js": ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
					"use strict";
					eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"YAHOO\": () => (/* binding */ YAHOO)\n/* harmony export */ });\n/*!\nCopyright (c) 2011, Yahoo! Inc. All rights reserved.\nCode licensed under the BSD License:\nhttp://developer.yahoo.com/yui/license.html\nversion: 2.9.0\n*/\nvar YAHOO = {};\nYAHOO.lang = {\n    /**\n     * Utility to set up the prototype, constructor and superclass properties to\n     * support an inheritance strategy that can chain constructors and methods.\n     * Static members will not be inherited.\n     *\n     * @method extend\n     * @static\n     * @param {Function} subc   the object to modify\n     * @param {Function} superc the object to inherit\n     * @param {Object} overrides  additional properties/methods to add to the\n     *                              subclass prototype.  These will override the\n     *                              matching items obtained from the superclass\n     *                              if present.\n     */\n    extend: function (subc, superc, overrides) {\n        if (!superc || !subc) {\n            throw new Error(\"YAHOO.lang.extend failed, please check that \" +\n                \"all dependencies are included.\");\n        }\n        var F = function () { };\n        F.prototype = superc.prototype;\n        subc.prototype = new F();\n        subc.prototype.constructor = subc;\n        subc.superclass = superc.prototype;\n        if (superc.prototype.constructor == Object.prototype.constructor) {\n            superc.prototype.constructor = superc;\n        }\n        if (overrides) {\n            var i;\n            for (i in overrides) {\n                subc.prototype[i] = overrides[i];\n            }\n            /*\n             * IE will not enumerate native functions in a derived object even if the\n             * function was overridden.  This is a workaround for specific functions\n             * we care about on the Object prototype.\n             * @property _IEEnumFix\n             * @param {Function} r  the object to receive the augmentation\n             * @param {Function} s  the object that supplies the properties to augment\n             * @static\n             * @private\n             */\n            var _IEEnumFix = function () { }, ADD = [\"toString\", \"valueOf\"];\n            try {\n                if (/MSIE/.test(navigator.userAgent)) {\n                    _IEEnumFix = function (r, s) {\n                        for (i = 0; i < ADD.length; i = i + 1) {\n                            var fname = ADD[i], f = s[fname];\n                            if (typeof f === 'function' && f != Object.prototype[fname]) {\n                                r[fname] = f;\n                            }\n                        }\n                    };\n                }\n            }\n            catch (ex) { }\n            ;\n            _IEEnumFix(subc.prototype, overrides);\n        }\n    }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsrsasign/yahoo.js?");
				}),
				"./node_modules/process/browser.js": ((module$13) => {
					eval("// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n//# sourceURL=webpack://JSEncrypt/./node_modules/process/browser.js?");
				})
			};
			var __webpack_module_cache__ = {};
			function __webpack_require__(moduleId) {
				var cachedModule = __webpack_module_cache__[moduleId];
				if (cachedModule !== undefined) {
					return cachedModule.exports;
				}
				var module$14 = __webpack_module_cache__[moduleId] = { exports: {} };
				__webpack_modules__[moduleId](module$14, module$14.exports, __webpack_require__);
				return module$14.exports;
			}
			(() => {
				__webpack_require__.d = (exports$9, definition) => {
					for (var key in definition) {
						if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports$9, key)) {
							Object.defineProperty(exports$9, key, {
								enumerable: true,
								get: definition[key]
							});
						}
					}
				};
			})();
			(() => {
				__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);
			})();
			(() => {
				__webpack_require__.r = (exports$10) => {
					if (typeof Symbol !== "undefined" && Symbol.toStringTag) {
						Object.defineProperty(exports$10, Symbol.toStringTag, { value: "Module" });
					}
					Object.defineProperty(exports$10, "__esModule", { value: true });
				};
			})();
			var __webpack_exports__ = __webpack_require__("./lib/index.js");
			__webpack_exports__ = __webpack_exports__["default"];
			return __webpack_exports__;
		})();
	});
}));

//#endregion
//#region ../libs_drpy/_dist/json5.js
var require_json5 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	(function(global, factory) {
		typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, global.JSON5 = factory());
	})(exports, (function() {
		"use strict";
		function createCommonjsModule(fn, module$8) {
			return module$8 = { exports: {} }, fn(module$8, module$8.exports), module$8.exports;
		}
		var _global = createCommonjsModule(function(module$9) {
			var global = module$9.exports = typeof window != "undefined" && window.Math == Math ? window : typeof self != "undefined" && self.Math == Math ? self : Function("return this")();
			if (typeof __g == "number") {
				__g = global;
			}
		});
		var _core = createCommonjsModule(function(module$10) {
			var core = module$10.exports = { version: "2.6.5" };
			if (typeof __e == "number") {
				__e = core;
			}
		});
		var _core_1 = _core.version;
		var _isObject = function(it) {
			return typeof it === "object" ? it !== null : typeof it === "function";
		};
		var _anObject = function(it) {
			if (!_isObject(it)) {
				throw TypeError(it + " is not an object!");
			}
			return it;
		};
		var _fails = function(exec) {
			try {
				return !!exec();
			} catch (e) {
				return true;
			}
		};
		var _descriptors = !_fails(function() {
			return Object.defineProperty({}, "a", { get: function() {
				return 7;
			} }).a != 7;
		});
		var document = _global.document;
		var is = _isObject(document) && _isObject(document.createElement);
		var _domCreate = function(it) {
			return is ? document.createElement(it) : {};
		};
		var _ie8DomDefine = !_descriptors && !_fails(function() {
			return Object.defineProperty(_domCreate("div"), "a", { get: function() {
				return 7;
			} }).a != 7;
		});
		var _toPrimitive = function(it, S) {
			if (!_isObject(it)) {
				return it;
			}
			var fn, val;
			if (S && typeof (fn = it.toString) == "function" && !_isObject(val = fn.call(it))) {
				return val;
			}
			if (typeof (fn = it.valueOf) == "function" && !_isObject(val = fn.call(it))) {
				return val;
			}
			if (!S && typeof (fn = it.toString) == "function" && !_isObject(val = fn.call(it))) {
				return val;
			}
			throw TypeError("Can't convert object to primitive value");
		};
		var dP = Object.defineProperty;
		var f = _descriptors ? Object.defineProperty : function defineProperty(O, P, Attributes) {
			_anObject(O);
			P = _toPrimitive(P, true);
			_anObject(Attributes);
			if (_ie8DomDefine) {
				try {
					return dP(O, P, Attributes);
				} catch (e) {}
			}
			if ("get" in Attributes || "set" in Attributes) {
				throw TypeError("Accessors not supported!");
			}
			if ("value" in Attributes) {
				O[P] = Attributes.value;
			}
			return O;
		};
		var _objectDp = { f };
		var _propertyDesc = function(bitmap, value) {
			return {
				enumerable: !(bitmap & 1),
				configurable: !(bitmap & 2),
				writable: !(bitmap & 4),
				value
			};
		};
		var _hide = _descriptors ? function(object, key, value) {
			return _objectDp.f(object, key, _propertyDesc(1, value));
		} : function(object, key, value) {
			object[key] = value;
			return object;
		};
		var hasOwnProperty = {}.hasOwnProperty;
		var _has = function(it, key) {
			return hasOwnProperty.call(it, key);
		};
		var id = 0;
		var px = Math.random();
		var _uid = function(key) {
			return "Symbol(".concat(key === undefined ? "" : key, ")_", (++id + px).toString(36));
		};
		var _library = false;
		var _shared = createCommonjsModule(function(module$11) {
			var SHARED = "__core-js_shared__";
			var store = _global[SHARED] || (_global[SHARED] = {});
			(module$11.exports = function(key, value) {
				return store[key] || (store[key] = value !== undefined ? value : {});
			})("versions", []).push({
				version: _core.version,
				mode: _library ? "pure" : "global",
				copyright: "© 2019 Denis Pushkarev (zloirock.ru)"
			});
		});
		var _functionToString = _shared("native-function-to-string", Function.toString);
		var _redefine = createCommonjsModule(function(module$12) {
			var SRC = _uid("src");
			var TO_STRING = "toString";
			var TPL = ("" + _functionToString).split(TO_STRING);
			_core.inspectSource = function(it) {
				return _functionToString.call(it);
			};
			(module$12.exports = function(O, key, val, safe) {
				var isFunction = typeof val == "function";
				if (isFunction) {
					_has(val, "name") || _hide(val, "name", key);
				}
				if (O[key] === val) {
					return;
				}
				if (isFunction) {
					_has(val, SRC) || _hide(val, SRC, O[key] ? "" + O[key] : TPL.join(String(key)));
				}
				if (O === _global) {
					O[key] = val;
				} else if (!safe) {
					delete O[key];
					_hide(O, key, val);
				} else if (O[key]) {
					O[key] = val;
				} else {
					_hide(O, key, val);
				}
			})(Function.prototype, TO_STRING, function toString() {
				return typeof this == "function" && this[SRC] || _functionToString.call(this);
			});
		});
		var _aFunction = function(it) {
			if (typeof it != "function") {
				throw TypeError(it + " is not a function!");
			}
			return it;
		};
		var _ctx = function(fn, that, length) {
			_aFunction(fn);
			if (that === undefined) {
				return fn;
			}
			switch (length) {
				case 1: return function(a) {
					return fn.call(that, a);
				};
				case 2: return function(a, b) {
					return fn.call(that, a, b);
				};
				case 3: return function(a, b, c) {
					return fn.call(that, a, b, c);
				};
			}
			return function() {
				return fn.apply(that, arguments);
			};
		};
		var PROTOTYPE = "prototype";
		var $export = function(type, name, source) {
			var IS_FORCED = type & $export.F;
			var IS_GLOBAL = type & $export.G;
			var IS_STATIC = type & $export.S;
			var IS_PROTO = type & $export.P;
			var IS_BIND = type & $export.B;
			var target = IS_GLOBAL ? _global : IS_STATIC ? _global[name] || (_global[name] = {}) : (_global[name] || {})[PROTOTYPE];
			var exports$8 = IS_GLOBAL ? _core : _core[name] || (_core[name] = {});
			var expProto = exports$8[PROTOTYPE] || (exports$8[PROTOTYPE] = {});
			var key, own, out, exp;
			if (IS_GLOBAL) {
				source = name;
			}
			for (key in source) {
				own = !IS_FORCED && target && target[key] !== undefined;
				out = (own ? target : source)[key];
				exp = IS_BIND && own ? _ctx(out, _global) : IS_PROTO && typeof out == "function" ? _ctx(Function.call, out) : out;
				if (target) {
					_redefine(target, key, out, type & $export.U);
				}
				if (exports$8[key] != out) {
					_hide(exports$8, key, exp);
				}
				if (IS_PROTO && expProto[key] != out) {
					expProto[key] = out;
				}
			}
		};
		_global.core = _core;
		$export.F = 1;
		$export.G = 2;
		$export.S = 4;
		$export.P = 8;
		$export.B = 16;
		$export.W = 32;
		$export.U = 64;
		$export.R = 128;
		var _export = $export;
		var ceil = Math.ceil;
		var floor = Math.floor;
		var _toInteger = function(it) {
			return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
		};
		var _defined = function(it) {
			if (it == undefined) {
				throw TypeError("Can't call method on  " + it);
			}
			return it;
		};
		var _stringAt = function(TO_STRING) {
			return function(that, pos) {
				var s = String(_defined(that));
				var i = _toInteger(pos);
				var l = s.length;
				var a, b;
				if (i < 0 || i >= l) {
					return TO_STRING ? "" : undefined;
				}
				a = s.charCodeAt(i);
				return a < 55296 || a > 56319 || i + 1 === l || (b = s.charCodeAt(i + 1)) < 56320 || b > 57343 ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 55296 << 10) + (b - 56320) + 65536;
			};
		};
		var $at = _stringAt(false);
		_export(_export.P, "String", { codePointAt: function codePointAt(pos) {
			return $at(this, pos);
		} });
		var codePointAt = _core.String.codePointAt;
		var max = Math.max;
		var min = Math.min;
		var _toAbsoluteIndex = function(index, length) {
			index = _toInteger(index);
			return index < 0 ? max(index + length, 0) : min(index, length);
		};
		var fromCharCode = String.fromCharCode;
		var $fromCodePoint = String.fromCodePoint;
		_export(_export.S + _export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), "String", { fromCodePoint: function fromCodePoint(x) {
			var arguments$1 = arguments;
			var res = [];
			var aLen = arguments.length;
			var i = 0;
			var code;
			while (aLen > i) {
				code = +arguments$1[i++];
				if (_toAbsoluteIndex(code, 1114111) !== code) {
					throw RangeError(code + " is not a valid code point");
				}
				res.push(code < 65536 ? fromCharCode(code) : fromCharCode(((code -= 65536) >> 10) + 55296, code % 1024 + 56320));
			}
			return res.join("");
		} });
		var fromCodePoint = _core.String.fromCodePoint;
		var Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/;
		var ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;
		var ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/;
		var unicode = {
			Space_Separator,
			ID_Start,
			ID_Continue
		};
		var util = {
			isSpaceSeparator: function isSpaceSeparator(c) {
				return typeof c === "string" && unicode.Space_Separator.test(c);
			},
			isIdStartChar: function isIdStartChar(c) {
				return typeof c === "string" && (c >= "a" && c <= "z" || c >= "A" && c <= "Z" || c === "$" || c === "_" || unicode.ID_Start.test(c));
			},
			isIdContinueChar: function isIdContinueChar(c) {
				return typeof c === "string" && (c >= "a" && c <= "z" || c >= "A" && c <= "Z" || c >= "0" && c <= "9" || c === "$" || c === "_" || c === "‌" || c === "‍" || unicode.ID_Continue.test(c));
			},
			isDigit: function isDigit(c) {
				return typeof c === "string" && /[0-9]/.test(c);
			},
			isHexDigit: function isHexDigit(c) {
				return typeof c === "string" && /[0-9A-Fa-f]/.test(c);
			}
		};
		var source;
		var parseState;
		var stack;
		var pos;
		var line;
		var column;
		var token;
		var key;
		var root;
		var parse = function parse(text, reviver) {
			source = String(text);
			parseState = "start";
			stack = [];
			pos = 0;
			line = 1;
			column = 0;
			token = undefined;
			key = undefined;
			root = undefined;
			do {
				token = lex();
				parseStates[parseState]();
			} while (token.type !== "eof");
			if (typeof reviver === "function") {
				return internalize({ "": root }, "", reviver);
			}
			return root;
		};
		function internalize(holder, name, reviver) {
			var value = holder[name];
			if (value != null && typeof value === "object") {
				if (Array.isArray(value)) {
					for (var i = 0; i < value.length; i++) {
						var key = String(i);
						var replacement = internalize(value, key, reviver);
						if (replacement === undefined) {
							delete value[key];
						} else {
							Object.defineProperty(value, key, {
								value: replacement,
								writable: true,
								enumerable: true,
								configurable: true
							});
						}
					}
				} else {
					for (var key$1 in value) {
						var replacement$1 = internalize(value, key$1, reviver);
						if (replacement$1 === undefined) {
							delete value[key$1];
						} else {
							Object.defineProperty(value, key$1, {
								value: replacement$1,
								writable: true,
								enumerable: true,
								configurable: true
							});
						}
					}
				}
			}
			return reviver.call(holder, name, value);
		}
		var lexState;
		var buffer;
		var doubleQuote;
		var sign;
		var c;
		function lex() {
			lexState = "default";
			buffer = "";
			doubleQuote = false;
			sign = 1;
			for (;;) {
				c = peek();
				var token = lexStates[lexState]();
				if (token) {
					return token;
				}
			}
		}
		function peek() {
			if (source[pos]) {
				return String.fromCodePoint(source.codePointAt(pos));
			}
		}
		function read() {
			var c = peek();
			if (c === "\n") {
				line++;
				column = 0;
			} else if (c) {
				column += c.length;
			} else {
				column++;
			}
			if (c) {
				pos += c.length;
			}
			return c;
		}
		var lexStates = {
			default: function default$1() {
				switch (c) {
					case "	":
					case "\v":
					case "\f":
					case " ":
					case "\xA0":
					case "﻿":
					case "\n":
					case "\r":
					case "\u2028":
					case "\u2029":
						read();
						return;
					case "/":
						read();
						lexState = "comment";
						return;
					case undefined:
						read();
						return newToken("eof");
				}
				if (util.isSpaceSeparator(c)) {
					read();
					return;
				}
				return lexStates[parseState]();
			},
			comment: function comment() {
				switch (c) {
					case "*":
						read();
						lexState = "multiLineComment";
						return;
					case "/":
						read();
						lexState = "singleLineComment";
						return;
				}
				throw invalidChar(read());
			},
			multiLineComment: function multiLineComment() {
				switch (c) {
					case "*":
						read();
						lexState = "multiLineCommentAsterisk";
						return;
					case undefined: throw invalidChar(read());
				}
				read();
			},
			multiLineCommentAsterisk: function multiLineCommentAsterisk() {
				switch (c) {
					case "*":
						read();
						return;
					case "/":
						read();
						lexState = "default";
						return;
					case undefined: throw invalidChar(read());
				}
				read();
				lexState = "multiLineComment";
			},
			singleLineComment: function singleLineComment() {
				switch (c) {
					case "\n":
					case "\r":
					case "\u2028":
					case "\u2029":
						read();
						lexState = "default";
						return;
					case undefined:
						read();
						return newToken("eof");
				}
				read();
			},
			value: function value() {
				switch (c) {
					case "{":
					case "[": return newToken("punctuator", read());
					case "n":
						read();
						literal("ull");
						return newToken("null", null);
					case "t":
						read();
						literal("rue");
						return newToken("boolean", true);
					case "f":
						read();
						literal("alse");
						return newToken("boolean", false);
					case "-":
					case "+":
						if (read() === "-") {
							sign = -1;
						}
						lexState = "sign";
						return;
					case ".":
						buffer = read();
						lexState = "decimalPointLeading";
						return;
					case "0":
						buffer = read();
						lexState = "zero";
						return;
					case "1":
					case "2":
					case "3":
					case "4":
					case "5":
					case "6":
					case "7":
					case "8":
					case "9":
						buffer = read();
						lexState = "decimalInteger";
						return;
					case "I":
						read();
						literal("nfinity");
						return newToken("numeric", Infinity);
					case "N":
						read();
						literal("aN");
						return newToken("numeric", NaN);
					case "\"":
					case "'":
						doubleQuote = read() === "\"";
						buffer = "";
						lexState = "string";
						return;
				}
				throw invalidChar(read());
			},
			identifierNameStartEscape: function identifierNameStartEscape() {
				if (c !== "u") {
					throw invalidChar(read());
				}
				read();
				var u = unicodeEscape();
				switch (u) {
					case "$":
					case "_": break;
					default:
						if (!util.isIdStartChar(u)) {
							throw invalidIdentifier();
						}
						break;
				}
				buffer += u;
				lexState = "identifierName";
			},
			identifierName: function identifierName() {
				switch (c) {
					case "$":
					case "_":
					case "‌":
					case "‍":
						buffer += read();
						return;
					case "\\":
						read();
						lexState = "identifierNameEscape";
						return;
				}
				if (util.isIdContinueChar(c)) {
					buffer += read();
					return;
				}
				return newToken("identifier", buffer);
			},
			identifierNameEscape: function identifierNameEscape() {
				if (c !== "u") {
					throw invalidChar(read());
				}
				read();
				var u = unicodeEscape();
				switch (u) {
					case "$":
					case "_":
					case "‌":
					case "‍": break;
					default:
						if (!util.isIdContinueChar(u)) {
							throw invalidIdentifier();
						}
						break;
				}
				buffer += u;
				lexState = "identifierName";
			},
			sign: function sign$1() {
				switch (c) {
					case ".":
						buffer = read();
						lexState = "decimalPointLeading";
						return;
					case "0":
						buffer = read();
						lexState = "zero";
						return;
					case "1":
					case "2":
					case "3":
					case "4":
					case "5":
					case "6":
					case "7":
					case "8":
					case "9":
						buffer = read();
						lexState = "decimalInteger";
						return;
					case "I":
						read();
						literal("nfinity");
						return newToken("numeric", sign * Infinity);
					case "N":
						read();
						literal("aN");
						return newToken("numeric", NaN);
				}
				throw invalidChar(read());
			},
			zero: function zero() {
				switch (c) {
					case ".":
						buffer += read();
						lexState = "decimalPoint";
						return;
					case "e":
					case "E":
						buffer += read();
						lexState = "decimalExponent";
						return;
					case "x":
					case "X":
						buffer += read();
						lexState = "hexadecimal";
						return;
				}
				return newToken("numeric", sign * 0);
			},
			decimalInteger: function decimalInteger() {
				switch (c) {
					case ".":
						buffer += read();
						lexState = "decimalPoint";
						return;
					case "e":
					case "E":
						buffer += read();
						lexState = "decimalExponent";
						return;
				}
				if (util.isDigit(c)) {
					buffer += read();
					return;
				}
				return newToken("numeric", sign * Number(buffer));
			},
			decimalPointLeading: function decimalPointLeading() {
				if (util.isDigit(c)) {
					buffer += read();
					lexState = "decimalFraction";
					return;
				}
				throw invalidChar(read());
			},
			decimalPoint: function decimalPoint() {
				switch (c) {
					case "e":
					case "E":
						buffer += read();
						lexState = "decimalExponent";
						return;
				}
				if (util.isDigit(c)) {
					buffer += read();
					lexState = "decimalFraction";
					return;
				}
				return newToken("numeric", sign * Number(buffer));
			},
			decimalFraction: function decimalFraction() {
				switch (c) {
					case "e":
					case "E":
						buffer += read();
						lexState = "decimalExponent";
						return;
				}
				if (util.isDigit(c)) {
					buffer += read();
					return;
				}
				return newToken("numeric", sign * Number(buffer));
			},
			decimalExponent: function decimalExponent() {
				switch (c) {
					case "+":
					case "-":
						buffer += read();
						lexState = "decimalExponentSign";
						return;
				}
				if (util.isDigit(c)) {
					buffer += read();
					lexState = "decimalExponentInteger";
					return;
				}
				throw invalidChar(read());
			},
			decimalExponentSign: function decimalExponentSign() {
				if (util.isDigit(c)) {
					buffer += read();
					lexState = "decimalExponentInteger";
					return;
				}
				throw invalidChar(read());
			},
			decimalExponentInteger: function decimalExponentInteger() {
				if (util.isDigit(c)) {
					buffer += read();
					return;
				}
				return newToken("numeric", sign * Number(buffer));
			},
			hexadecimal: function hexadecimal() {
				if (util.isHexDigit(c)) {
					buffer += read();
					lexState = "hexadecimalInteger";
					return;
				}
				throw invalidChar(read());
			},
			hexadecimalInteger: function hexadecimalInteger() {
				if (util.isHexDigit(c)) {
					buffer += read();
					return;
				}
				return newToken("numeric", sign * Number(buffer));
			},
			string: function string() {
				switch (c) {
					case "\\":
						read();
						buffer += escape();
						return;
					case "\"":
						if (doubleQuote) {
							read();
							return newToken("string", buffer);
						}
						buffer += read();
						return;
					case "'":
						if (!doubleQuote) {
							read();
							return newToken("string", buffer);
						}
						buffer += read();
						return;
					case "\n":
					case "\r": throw invalidChar(read());
					case "\u2028":
					case "\u2029":
						separatorChar(c);
						break;
					case undefined: throw invalidChar(read());
				}
				buffer += read();
			},
			start: function start() {
				switch (c) {
					case "{":
					case "[": return newToken("punctuator", read());
				}
				lexState = "value";
			},
			beforePropertyName: function beforePropertyName() {
				switch (c) {
					case "$":
					case "_":
						buffer = read();
						lexState = "identifierName";
						return;
					case "\\":
						read();
						lexState = "identifierNameStartEscape";
						return;
					case "}": return newToken("punctuator", read());
					case "\"":
					case "'":
						doubleQuote = read() === "\"";
						lexState = "string";
						return;
				}
				if (util.isIdStartChar(c)) {
					buffer += read();
					lexState = "identifierName";
					return;
				}
				throw invalidChar(read());
			},
			afterPropertyName: function afterPropertyName() {
				if (c === ":") {
					return newToken("punctuator", read());
				}
				throw invalidChar(read());
			},
			beforePropertyValue: function beforePropertyValue() {
				lexState = "value";
			},
			afterPropertyValue: function afterPropertyValue() {
				switch (c) {
					case ",":
					case "}": return newToken("punctuator", read());
				}
				throw invalidChar(read());
			},
			beforeArrayValue: function beforeArrayValue() {
				if (c === "]") {
					return newToken("punctuator", read());
				}
				lexState = "value";
			},
			afterArrayValue: function afterArrayValue() {
				switch (c) {
					case ",":
					case "]": return newToken("punctuator", read());
				}
				throw invalidChar(read());
			},
			end: function end() {
				throw invalidChar(read());
			}
		};
		function newToken(type, value) {
			return {
				type,
				value,
				line,
				column
			};
		}
		function literal(s) {
			for (var i = 0, list = s; i < list.length; i += 1) {
				var c = list[i];
				var p = peek();
				if (p !== c) {
					throw invalidChar(read());
				}
				read();
			}
		}
		function escape() {
			var c = peek();
			switch (c) {
				case "b":
					read();
					return "\b";
				case "f":
					read();
					return "\f";
				case "n":
					read();
					return "\n";
				case "r":
					read();
					return "\r";
				case "t":
					read();
					return "	";
				case "v":
					read();
					return "\v";
				case "0":
					read();
					if (util.isDigit(peek())) {
						throw invalidChar(read());
					}
					return "\0";
				case "x":
					read();
					return hexEscape();
				case "u":
					read();
					return unicodeEscape();
				case "\n":
				case "\u2028":
				case "\u2029":
					read();
					return "";
				case "\r":
					read();
					if (peek() === "\n") {
						read();
					}
					return "";
				case "1":
				case "2":
				case "3":
				case "4":
				case "5":
				case "6":
				case "7":
				case "8":
				case "9": throw invalidChar(read());
				case undefined: throw invalidChar(read());
			}
			return read();
		}
		function hexEscape() {
			var buffer = "";
			var c = peek();
			if (!util.isHexDigit(c)) {
				throw invalidChar(read());
			}
			buffer += read();
			c = peek();
			if (!util.isHexDigit(c)) {
				throw invalidChar(read());
			}
			buffer += read();
			return String.fromCodePoint(parseInt(buffer, 16));
		}
		function unicodeEscape() {
			var buffer = "";
			var count = 4;
			while (count-- > 0) {
				var c = peek();
				if (!util.isHexDigit(c)) {
					throw invalidChar(read());
				}
				buffer += read();
			}
			return String.fromCodePoint(parseInt(buffer, 16));
		}
		var parseStates = {
			start: function start() {
				if (token.type === "eof") {
					throw invalidEOF();
				}
				push();
			},
			beforePropertyName: function beforePropertyName() {
				switch (token.type) {
					case "identifier":
					case "string":
						key = token.value;
						parseState = "afterPropertyName";
						return;
					case "punctuator":
						pop();
						return;
					case "eof": throw invalidEOF();
				}
			},
			afterPropertyName: function afterPropertyName() {
				if (token.type === "eof") {
					throw invalidEOF();
				}
				parseState = "beforePropertyValue";
			},
			beforePropertyValue: function beforePropertyValue() {
				if (token.type === "eof") {
					throw invalidEOF();
				}
				push();
			},
			beforeArrayValue: function beforeArrayValue() {
				if (token.type === "eof") {
					throw invalidEOF();
				}
				if (token.type === "punctuator" && token.value === "]") {
					pop();
					return;
				}
				push();
			},
			afterPropertyValue: function afterPropertyValue() {
				if (token.type === "eof") {
					throw invalidEOF();
				}
				switch (token.value) {
					case ",":
						parseState = "beforePropertyName";
						return;
					case "}": pop();
				}
			},
			afterArrayValue: function afterArrayValue() {
				if (token.type === "eof") {
					throw invalidEOF();
				}
				switch (token.value) {
					case ",":
						parseState = "beforeArrayValue";
						return;
					case "]": pop();
				}
			},
			end: function end() {}
		};
		function push() {
			var value;
			switch (token.type) {
				case "punctuator":
					switch (token.value) {
						case "{":
							value = {};
							break;
						case "[":
							value = [];
							break;
					}
					break;
				case "null":
				case "boolean":
				case "numeric":
				case "string":
					value = token.value;
					break;
			}
			if (root === undefined) {
				root = value;
			} else {
				var parent = stack[stack.length - 1];
				if (Array.isArray(parent)) {
					parent.push(value);
				} else {
					Object.defineProperty(parent, key, {
						value,
						writable: true,
						enumerable: true,
						configurable: true
					});
				}
			}
			if (value !== null && typeof value === "object") {
				stack.push(value);
				if (Array.isArray(value)) {
					parseState = "beforeArrayValue";
				} else {
					parseState = "beforePropertyName";
				}
			} else {
				var current = stack[stack.length - 1];
				if (current == null) {
					parseState = "end";
				} else if (Array.isArray(current)) {
					parseState = "afterArrayValue";
				} else {
					parseState = "afterPropertyValue";
				}
			}
		}
		function pop() {
			stack.pop();
			var current = stack[stack.length - 1];
			if (current == null) {
				parseState = "end";
			} else if (Array.isArray(current)) {
				parseState = "afterArrayValue";
			} else {
				parseState = "afterPropertyValue";
			}
		}
		function invalidChar(c) {
			if (c === undefined) {
				return syntaxError("JSON5: invalid end of input at " + line + ":" + column);
			}
			return syntaxError("JSON5: invalid character '" + formatChar(c) + "' at " + line + ":" + column);
		}
		function invalidEOF() {
			return syntaxError("JSON5: invalid end of input at " + line + ":" + column);
		}
		function invalidIdentifier() {
			column -= 5;
			return syntaxError("JSON5: invalid identifier character at " + line + ":" + column);
		}
		function separatorChar(c) {
			console.warn("JSON5: '" + formatChar(c) + "' in strings is not valid ECMAScript; consider escaping");
		}
		function formatChar(c) {
			var replacements = {
				"'": "\\'",
				"\"": "\\\"",
				"\\": "\\\\",
				"\b": "\\b",
				"\f": "\\f",
				"\n": "\\n",
				"\r": "\\r",
				"	": "\\t",
				"\v": "\\v",
				"\0": "\\0",
				"\u2028": "\\u2028",
				"\u2029": "\\u2029"
			};
			if (replacements[c]) {
				return replacements[c];
			}
			if (c < " ") {
				var hexString = c.charCodeAt(0).toString(16);
				return "\\x" + ("00" + hexString).substring(hexString.length);
			}
			return c;
		}
		function syntaxError(message) {
			var err = new SyntaxError(message);
			err.lineNumber = line;
			err.columnNumber = column;
			return err;
		}
		var stringify = function stringify(value, replacer, space) {
			var stack = [];
			var indent = "";
			var propertyList;
			var replacerFunc;
			var gap = "";
			var quote;
			if (replacer != null && typeof replacer === "object" && !Array.isArray(replacer)) {
				space = replacer.space;
				quote = replacer.quote;
				replacer = replacer.replacer;
			}
			if (typeof replacer === "function") {
				replacerFunc = replacer;
			} else if (Array.isArray(replacer)) {
				propertyList = [];
				for (var i = 0, list = replacer; i < list.length; i += 1) {
					var v = list[i];
					var item = void 0;
					if (typeof v === "string") {
						item = v;
					} else if (typeof v === "number" || v instanceof String || v instanceof Number) {
						item = String(v);
					}
					if (item !== undefined && propertyList.indexOf(item) < 0) {
						propertyList.push(item);
					}
				}
			}
			if (space instanceof Number) {
				space = Number(space);
			} else if (space instanceof String) {
				space = String(space);
			}
			if (typeof space === "number") {
				if (space > 0) {
					space = Math.min(10, Math.floor(space));
					gap = "          ".substr(0, space);
				}
			} else if (typeof space === "string") {
				gap = space.substr(0, 10);
			}
			return serializeProperty("", { "": value });
			function serializeProperty(key, holder) {
				var value = holder[key];
				if (value != null) {
					if (typeof value.toJSON5 === "function") {
						value = value.toJSON5(key);
					} else if (typeof value.toJSON === "function") {
						value = value.toJSON(key);
					}
				}
				if (replacerFunc) {
					value = replacerFunc.call(holder, key, value);
				}
				if (value instanceof Number) {
					value = Number(value);
				} else if (value instanceof String) {
					value = String(value);
				} else if (value instanceof Boolean) {
					value = value.valueOf();
				}
				switch (value) {
					case null: return "null";
					case true: return "true";
					case false: return "false";
				}
				if (typeof value === "string") {
					return quoteString(value, false);
				}
				if (typeof value === "number") {
					return String(value);
				}
				if (typeof value === "object") {
					return Array.isArray(value) ? serializeArray(value) : serializeObject(value);
				}
				return undefined;
			}
			function quoteString(value) {
				var quotes = {
					"'": .1,
					"\"": .2
				};
				var replacements = {
					"'": "\\'",
					"\"": "\\\"",
					"\\": "\\\\",
					"\b": "\\b",
					"\f": "\\f",
					"\n": "\\n",
					"\r": "\\r",
					"	": "\\t",
					"\v": "\\v",
					"\0": "\\0",
					"\u2028": "\\u2028",
					"\u2029": "\\u2029"
				};
				var product = "";
				for (var i = 0; i < value.length; i++) {
					var c = value[i];
					switch (c) {
						case "'":
						case "\"":
							quotes[c]++;
							product += c;
							continue;
						case "\0": if (util.isDigit(value[i + 1])) {
							product += "\\x00";
							continue;
						}
					}
					if (replacements[c]) {
						product += replacements[c];
						continue;
					}
					if (c < " ") {
						var hexString = c.charCodeAt(0).toString(16);
						product += "\\x" + ("00" + hexString).substring(hexString.length);
						continue;
					}
					product += c;
				}
				var quoteChar = quote || Object.keys(quotes).reduce(function(a, b) {
					return quotes[a] < quotes[b] ? a : b;
				});
				product = product.replace(new RegExp(quoteChar, "g"), replacements[quoteChar]);
				return quoteChar + product + quoteChar;
			}
			function serializeObject(value) {
				if (stack.indexOf(value) >= 0) {
					throw TypeError("Converting circular structure to JSON5");
				}
				stack.push(value);
				var stepback = indent;
				indent = indent + gap;
				var keys = propertyList || Object.keys(value);
				var partial = [];
				for (var i = 0, list = keys; i < list.length; i += 1) {
					var key = list[i];
					var propertyString = serializeProperty(key, value);
					if (propertyString !== undefined) {
						var member = serializeKey(key) + ":";
						if (gap !== "") {
							member += " ";
						}
						member += propertyString;
						partial.push(member);
					}
				}
				var final;
				if (partial.length === 0) {
					final = "{}";
				} else {
					var properties;
					if (gap === "") {
						properties = partial.join(",");
						final = "{" + properties + "}";
					} else {
						var separator = ",\n" + indent;
						properties = partial.join(separator);
						final = "{\n" + indent + properties + ",\n" + stepback + "}";
					}
				}
				stack.pop();
				indent = stepback;
				return final;
			}
			function serializeKey(key) {
				if (key.length === 0) {
					return quoteString(key, true);
				}
				var firstChar = String.fromCodePoint(key.codePointAt(0));
				if (!util.isIdStartChar(firstChar)) {
					return quoteString(key, true);
				}
				for (var i = firstChar.length; i < key.length; i++) {
					if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) {
						return quoteString(key, true);
					}
				}
				return key;
			}
			function serializeArray(value) {
				if (stack.indexOf(value) >= 0) {
					throw TypeError("Converting circular structure to JSON5");
				}
				stack.push(value);
				var stepback = indent;
				indent = indent + gap;
				var partial = [];
				for (var i = 0; i < value.length; i++) {
					var propertyString = serializeProperty(String(i), value);
					partial.push(propertyString !== undefined ? propertyString : "null");
				}
				var final;
				if (partial.length === 0) {
					final = "[]";
				} else {
					if (gap === "") {
						var properties = partial.join(",");
						final = "[" + properties + "]";
					} else {
						var separator = ",\n" + indent;
						var properties$1 = partial.join(separator);
						final = "[\n" + indent + properties$1 + ",\n" + stepback + "]";
					}
				}
				stack.pop();
				indent = stepback;
				return final;
			}
		};
		var JSON5 = {
			parse,
			stringify
		};
		var lib = JSON5;
		var es5 = lib;
		return es5;
	}));
}));

//#endregion
//#region ../libs_drpy/_dist/gb18030.js
var require_gb18030 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* GB18030编码转换模块
	* 提供GB18030字符编码的解码功能，支持CommonJS、AMD和全局环境
	* GB18030是中华人民共和国国家标准，是中文编码的扩展标准
	*/
	;
	(function(root, factory) {
		if (typeof exports === "object") {
			module.exports = exports = factory();
		} else if (typeof define === "function" && define.amd) {
			define([], factory);
		} else {
			globalThis.gbkTool = factory();
		}
	})(exports, function() {
		/**
		* 处理压缩的编码映射数据
		* @param {string} zipData - 压缩的十六进制编码数据字符串
		* @returns {string} 处理后的编码数据
		*/
		var data = function(zipData) {
			var re = zipData.replace(/#(\d+)\$/g, function(a, b) {
				return Array(+b + 3).join("#");
			}).replace(/#/g, "####").replace(/(\w\w):([\w#]+)(?:,|$)/g, function(a, hd, dt) {
				return dt.replace(/../g, function(a) {
					if (a != "##") {
						return hd + a;
					} else {
						return a;
					}
				});
			});
			return re;
		}("4e:020405060f12171f20212326292e2f313335373c40414244464a5155575a5b6263646567686a6b6c6d6e6f727475767778797a7b7c7d7f808182838485878a#909697999c9d9ea3aaafb0b1b4b6b7b8b9bcbdbec8cccfd0d2dadbdce0e2e6e7e9edeeeff1f4f8f9fafcfe,4f:00020304050607080b0c12131415161c1d212328292c2d2e31333537393b3e3f40414244454748494a4b4c525456616266686a6b6d6e7172757778797a7d8081828586878a8c8e909293959698999a9c9e9fa1a2a4abadb0b1b2b3b4b6b7b8b9babbbcbdbec0c1c2c6c7c8c9cbcccdd2d3d4d5d6d9dbe0e2e4e5e7ebecf0f2f4f5f6f7f9fbfcfdff,50:000102030405060708090a#0b0e1011131516171b1d1e20222324272b2f303132333435363738393b3d3f404142444546494a4b4d5051525354565758595b5d5e5f6061626364666768696a6b6d6e6f70717273747578797a7c7d818283848687898a8b8c8e8f909192939495969798999a9b9c9d9e9fa0a1a2a4a6aaabadaeafb0b1b3b4b5b6b7b8b9bcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdced0d1d2d3d4d5d7d8d9dbdcdddedfe0e1e2e3e4e5e8e9eaebeff0f1f2f4f6f7f8f9fafcfdfeff,51:00010203040508#090a0c0d0e0f1011131415161718191a1b1c1d1e1f2022232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e42474a4c4e4f5052535758595b5d5e5f606163646667696a6f727a7e7f838486878a8b8e8f90919394989a9d9e9fa1a3a6a7a8a9aaadaeb4b8b9babebfc1c2c3c5c8cacdced0d2d3d4d5d6d7d8d9dadcdedfe2e3e5e6e7e8e9eaeceef1f2f4f7fe,52:0405090b0c0f101314151c1e1f2122232526272a2c2f313234353c3e4445464748494b4e4f5253555758#595a5b5d5f6062636466686b6c6d6e7071737475767778797a7b7c7e808384858687898a8b8c8d8e8f91929495969798999a9ca4a5a6a7aeafb0b4b5b6b7b8b9babbbcbdc0c1c2c4c5c6c8cacccdcecfd1d3d4d5d7d9dadbdcdddee0e1e2e3e5e6e7e8e9eaebecedeeeff1f2f3f4f5f6f7f8fbfcfd,53:0102030407090a0b0c0e11121314181b1c1e1f2224252728292b2c2d2f3031323334353637383c3d404244464b4c4d505458595b5d65686a6c6d7276797b7c7d7e80818387888a8e8f#90919293949697999b9c9ea0a1a4a7aaabacadafb0b1b2b3b4b5b7b8b9babcbdbec0c3c4c5c6c7cecfd0d2d3d5dadcdddee1e2e7f4fafeff,54:000205070b1418191a1c2224252a303336373a3d3f4142444547494c4d4e4f515a5d5e5f6061636567696a6b6c6d6e6f7074797a7e7f8183858788898a8d919397989c9e9fa0a1a2a5aeb0b2b5b6b7b9babcbec3c5cacbd6d8dbe0e1e2e3e4ebeceff0f1f4f5f6f7f8f9fbfe,55:0002030405080a0b0c0d0e121315161718191a1c1d1e1f212526#28292b2d3234353638393a3b3d40424547484b4c4d4e4f515253545758595a5b5d5e5f60626368696b6f7071727374797a7d7f85868c8d8e9092939596979a9b9ea0a1a2a3a4a5a6a8a9aaabacadaeafb0b2b4b6b8babcbfc0c1c2c3c6c7c8cacbcecfd0d5d7d8d9dadbdee0e2e7e9edeef0f1f4f6f8f9fafbfcff,56:0203040506070a0b0d1011121314151617191a1c1d202122252628292a2b2e2f30333537383a3c3d3e404142434445464748494a4b4f5051525355565a5b5d5e5f6061#636566676d6e6f70727374757778797a7d7e7f80818283848788898a8b8c8d9091929495969798999a9b9c9d9e9fa0a1a2a4a5a6a7a8a9aaabacadaeb0b1b2b3b4b5b6b8b9babbbdbebfc0c1c2c3c4c5c6c7c8c9cbcccdcecfd0d1d2d3d5d6d8d9dce3e5e6e7e8e9eaeceeeff2f3f6f7f8fbfc,57:00010205070b0c0d0e0f101112131415161718191a1b1d1e202122242526272b313234353637383c3d3f414344454648494b52535455565859626365676c6e707172747578797a7d7e7f80#818788898a8d8e8f90919495969798999a9c9d9e9fa5a8aaacafb0b1b3b5b6b7b9babbbcbdbebfc0c1c4c5c6c7c8c9cacccdd0d1d3d6d7dbdcdee1e2e3e5e6e7e8e9eaebeceef0f1f2f3f5f6f7fbfcfeff,58:0103040508090a0c0e0f101213141617181a1b1c1d1f222325262728292b2c2d2e2f31323334363738393a3b3c3d3e3f4041424345464748494a4b4e4f505253555657595a5b5c5d5f6061626364666768696a6d6e6f707172737475767778797a7b7c7d7f82848687888a8b8c#8d8e8f909194959697989b9c9da0a1a2a3a4a5a6a7aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbdbebfc0c2c3c4c6c7c8c9cacbcccdcecfd0d2d3d4d6d7d8d9dadbdcdddedfe0e1e2e3e5e6e7e8e9eaedeff1f2f4f5f7f8fafbfcfdfeff,59:000103050608090a0b0c0e1011121317181b1d1e2021222326282c30323335363b3d3e3f404345464a4c4d505253595b5c5d5e5f616364666768696a6b6c6d6e6f70717275777a7b7c7e7f8085898b8c8e8f90919495989a9b9c9d9fa0a1a2a6#a7acadb0b1b3b4b5b6b7b8babcbdbfc0c1c2c3c4c5c7c8c9cccdcecfd5d6d9dbdedfe0e1e2e4e6e7e9eaebedeeeff0f1f2f3f4f5f6f7f8fafcfdfe,5a:00020a0b0d0e0f101214151617191a1b1d1e2122242627282a2b2c2d2e2f3033353738393a3b3d3e3f414243444547484b4c4d4e4f5051525354565758595b5c5d5e5f60616364656668696b6c6d6e6f7071727378797b7c7d7e808182838485868788898a8b8c8d8e8f9091939495969798999c9d9e9fa0a1a2a3a4a5a6a7a8a9abac#adaeafb0b1b4b6b7b9babbbcbdbfc0c3c4c5c6c7c8cacbcdcecfd0d1d3d5d7d9dadbdddedfe2e4e5e7e8eaecedeeeff0f2f3f4f5f6f7f8f9fafbfcfdfeff,5b:0001020304050607080a0b0c0d0e0f10111213141518191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303133353638393a3b3c3d3e3f4142434445464748494a4b4c4d4e4f52565e606167686b6d6e6f7274767778797b7c7e7f82868a8d8e90919294969fa7a8a9acadaeafb1b2b7babbbcc0c1c3c8c9cacbcdcecf#d1d4d5d6d7d8d9dadbdce0e2e3e6e7e9eaebecedeff1f2f3f4f5f6f7fdfe,5c:0002030507080b0c0d0e10121317191b1e1f2021232628292a2b2d2e2f303233353637434446474c4d5253545657585a5b5c5d5f62646768696a6b6c6d70727374757677787b7c7d7e808384858687898a8b8e8f9293959d9e9fa0a1a4a5a6a7a8aaaeafb0b2b4b6b9babbbcbec0c2c3c5c6c7c8c9cacccdcecfd0d1d3d4d5d6d7d8dadbdcdddedfe0e2e3e7e9ebeceeeff1f2f3f4f5f6f7f8f9fafcfdfeff,5d:00#01040508090a0b0c0d0f10111213151718191a1c1d1f2021222325282a2b2c2f3031323335363738393a3b3c3f4041424344454648494d4e4f5051525354555657595a5c5e5f6061626364656667686a6d6e7071727375767778797a7b7c7d7e7f8081838485868788898a8b8c8d8e8f9091929394959697989a9b9c9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b8b9babbbcbdbebfc0c1c2c3c4c6c7c8c9cacbcccecfd0d1d2d3d4d5d6d7d8d9dadcdfe0e3e4eaeced#f0f5f6f8f9fafbfcff,5e:000407090a0b0d0e1213171e1f20212223242528292a2b2c2f303233343536393a3e3f404143464748494a4b4d4e4f50515253565758595a5c5d5f60636465666768696a6b6c6d6e6f70717577797e8182838588898c8d8e92989b9da1a2a3a4a8a9aaabacaeafb0b1b2b4babbbcbdbfc0c1c2c3c4c5c6c7c8cbcccdcecfd0d4d5d7d8d9dadcdddedfe0e1e2e3e4e5e6e7e9ebecedeeeff0f1f2f3f5f8f9fbfcfd,5f:050607090c0d0e10121416191a1c1d1e21222324#282b2c2e30323334353637383b3d3e3f4142434445464748494a4b4c4d4e4f5154595a5b5c5e5f60636567686b6e6f72747576787a7d7e7f83868d8e8f919394969a9b9d9e9fa0a2a3a4a5a6a7a9abacafb0b1b2b3b4b6b8b9babbbebfc0c1c2c7c8cacbced3d4d5dadbdcdedfe2e3e5e6e8e9eceff0f2f3f4f6f7f9fafc,60:0708090b0c10111317181a1e1f2223242c2d2e3031323334363738393a3d3e404445464748494a4c4e4f5153545657585b5c5e5f606165666e71727475777e80#8182858687888a8b8e8f909193959798999c9ea1a2a4a5a7a9aaaeb0b3b5b6b7b9babdbebfc0c1c2c3c4c7c8c9cccdcecfd0d2d3d4d6d7d9dbdee1e2e3e4e5eaf1f2f5f7f8fbfcfdfeff,61:02030405070a0b0c1011121314161718191b1c1d1e21222528292a2c2d2e2f303132333435363738393a3b3c3d3e4041424344454647494b4d4f50525354565758595a5b5c5e5f606163646566696a6b6c6d6e6f717273747678797a7b7c7d7e7f808182838485868788898a8c8d8f9091929395#969798999a9b9c9e9fa0a1a2a3a4a5a6aaabadaeafb0b1b2b3b4b5b6b8b9babbbcbdbfc0c1c3c4c5c6c7c9cccdcecfd0d3d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e7e8e9eaebecedeeeff0f1f2f3f4f6f7f8f9fafbfcfdfe,62:00010203040507091314191c1d1e2023262728292b2d2f303132353638393a3b3c424445464a4f50555657595a5c5d5e5f6061626465687172747577787a7b7d818283858687888b8c8d8e8f9094999c9d9ea3a6a7a9aaadaeafb0b2b3b4b6b7b8babec0c1#c3cbcfd1d5dddee0e1e4eaebf0f2f5f8f9fafb,63:00030405060a0b0c0d0f10121314151718191c2627292c2d2e30313334353637383b3c3e3f40414447484a51525354565758595a5b5c5d60646566686a6b6c6f707273747578797c7d7e7f81838485868b8d9193949597999a9b9c9d9e9fa1a4a6abafb1b2b5b6b9bbbdbfc0c1c2c3c5c7c8cacbccd1d3d4d5d7d8d9dadbdcdddfe2e4e5e6e7e8ebeceeeff0f1f3f5f7f9fafbfcfe,64:0304060708090a0d0e111215161718191a1d1f222324#252728292b2e2f3031323335363738393b3c3e404243494b4c4d4e4f505153555657595a5b5c5d5f60616263646566686a6b6c6e6f70717273747576777b7c7d7e7f8081838688898a8b8c8d8e8f90939497989a9b9c9d9fa0a1a2a3a5a6a7a8aaabafb1b2b3b4b6b9bbbdbebfc1c3c4c6c7c8c9cacbcccfd1d3d4d5d6d9dadbdcdddfe0e1e3e5e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,65:01020304050607080a0b0c0d0e0f10111314151617191a1b1c1d1e1f2021#222324262728292a2c2d30313233373a3c3d404142434446474a4b4d4e5052535457585a5c5f606164656768696a6d6e6f7173757678797a7b7c7d7e7f8081828384858688898a8d8e8f92949596989a9d9ea0a2a3a6a8aaacaeb1b2b3b4b5b6b7b8babbbebfc0c2c7c8c9cacdd0d1d3d4d5d8d9dadbdcdddedfe1e3e4eaebf2f3f4f5f8f9fbfcfdfeff,66:0104050708090b0d1011121617181a1b1c1e2122232426292a2b2c2e3032333738393a3b3d3f40424445464748494a4d4e505158#595b5c5d5e6062636567696a6b6c6d7172737578797b7c7d7f808183858688898a8b8d8e8f909293949598999a9b9c9e9fa0a1a2a3a4a5a6a9aaabacadafb0b1b2b3b5b6b7b8babbbcbdbfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8dadedfe0e1e2e3e4e5e7e8eaebecedeeeff1f5f6f8fafbfd,67:010203040506070c0e0f1112131618191a1c1e20212223242527292e303233363738393b3c3e3f414445474a4b4d5254555758595a5b5d62636466676b6c6e717476#78797a7b7d8082838586888a8c8d8e8f9192939496999b9fa0a1a4a6a9acaeb1b2b4b9babbbcbdbebfc0c2c5c6c7c8c9cacbcccdced5d6d7dbdfe1e3e4e6e7e8eaebedeef2f5f6f7f8f9fafbfcfe,68:01020304060d1012141518191a1b1c1e1f20222324252627282b2c2d2e2f30313435363a3b3f474b4d4f52565758595a5b5c5d5e5f6a6c6d6e6f707172737578797a7b7c7d7e7f8082848788898a8b8c8d8e90919294959698999a9b9c9d9e9fa0a1a3a4a5a9aaabacaeb1b2b4b6b7b8#b9babbbcbdbebfc1c3c4c5c6c7c8cacccecfd0d1d3d4d6d7d9dbdcdddedfe1e2e4e5e6e7e8e9eaebecedeff2f3f4f6f7f8fbfdfeff,69:00020304060708090a0c0f11131415161718191a1b1c1d1e21222325262728292a2b2c2e2f313233353637383a3b3c3e4041434445464748494a4b4c4d4e4f50515253555658595b5c5f616264656768696a6c6d6f7072737475767a7b7d7e7f8183858a8b8c8e8f909192939697999a9d9e9fa0a1a2a3a4a5a6a9aaacaeafb0b2b3b5b6b8b9babcbd#bebfc0c2c3c4c5c6c7c8c9cbcdcfd1d2d3d5d6d7d8d9dadcdddee1e2e3e4e5e6e7e8e9eaebeceeeff0f1f3f4f5f6f7f8f9fafbfcfe,6a:000102030405060708090b0c0d0e0f10111213141516191a1b1c1d1e20222324252627292b2c2d2e30323334363738393a3b3c3f40414243454648494a4b4c4d4e4f515253545556575a5c5d5e5f60626364666768696a6b6c6d6e6f70727374757677787a7b7d7e7f81828385868788898a8b8c8d8f929394959698999a9b9c9d9e9fa1a2a3a4a5a6#a7a8aaadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,6b:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f252628292a2b2c2d2e2f303133343536383b3c3d3f4041424445484a4b4d4e4f5051525354555657585a5b5c5d5e5f606168696b6c6d6e6f7071727374757677787a7d7e7f808588#8c8e8f909194959798999c9d9e9fa0a2a3a4a5a6a7a8a9abacadaeafb0b1b2b6b8b9babbbcbdbec0c3c4c6c7c8c9caccced0d1d8dadcdddedfe0e2e3e4e5e6e7e8e9ecedeef0f1f2f4f6f7f8fafbfcfeff,6c:000102030408090a0b0c0e12171c1d1e2023252b2c2d31333637393a3b3c3e3f434445484b4c4d4e4f5152535658595a62636566676b6c6d6e6f71737577787a7b7c7f8084878a8b8d8e9192959697989a9c9d9ea0a2a8acafb0b4b5b6b7bac0c1c2c3c6c7c8cbcdcecfd1d2d8#d9dadcdddfe4e6e7e9ecedf2f4f9ff,6d:000203050608090a0d0f101113141516181c1d1f20212223242628292c2d2f30343637383a3f404244494c50555657585b5d5f6162646567686b6c6d707172737576797a7b7d7e7f8081838486878a8b8d8f9092969798999a9ca2a5acadb0b1b3b4b6b7b9babbbcbdbec1c2c3c8c9cacdcecfd0d2d3d4d5d7dadbdcdfe2e3e5e7e8e9eaedeff0f2f4f5f6f8fafdfeff,6e:0001020304060708090b0f12131518191b1c1e1f222627282a2c2e30313335#3637393b3c3d3e3f40414245464748494a4b4c4f5051525557595a5c5d5e606162636465666768696a6c6d6f707172737475767778797a7b7c7d8081828487888a8b8c8d8e91929394959697999a9b9d9ea0a1a3a4a6a8a9abacadaeb0b3b5b8b9bcbebfc0c3c4c5c6c8c9cacccdced0d2d6d8d9dbdcdde3e7eaebecedeeeff0f1f2f3f5f6f7f8fafbfcfdfeff,6f:000103040507080a0b0c0d0e101112161718191a1b1c1d1e1f212223252627282c2e303234353738393a3b3c3d3f404142#43444548494a4c4e4f5051525354555657595a5b5d5f60616364656768696a6b6c6f707173757677797b7d7e7f808182838586878a8b8f909192939495969798999a9b9d9e9fa0a2a3a4a5a6a8a9aaabacadaeafb0b1b2b4b5b7b8babbbcbdbebfc1c3c4c5c6c7c8cacbcccdcecfd0d3d4d5d6d7d8d9dadbdcdddfe2e3e4e5e6e7e8e9eaebecedf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,70:000102030405060708090a0b0c0d0e0f1012131415161718191c1d1e1f2021222425262728292a#2b2c2d2e2f30313233343637383a3b3c3d3e3f404142434445464748494a4b4d4e505152535455565758595a5b5c5d5f606162636465666768696a6e7172737477797a7b7d818283848687888b8c8d8f90919397989a9b9e9fa0a1a2a3a4a5a6a7a8a9aab0b2b4b5b6babebfc4c5c6c7c9cbcccdcecfd0d1d2d3d4d5d6d7dadcdddee0e1e2e3e5eaeef0f1f2f3f4f5f6f8fafbfcfeff,71:0001020304050607080b0c0d0e0f111214171b1c1d1e1f2021222324252728292a2b2c2d2e323334#353738393a3b3c3d3e3f4041424344464748494b4d4f505152535455565758595a5b5d5f6061626365696a6b6c6d6f707174757677797b7c7e7f8081828385868788898b8c8d8e909192939596979a9b9c9d9ea1a2a3a4a5a6a7a9aaabadaeafb0b1b2b4b6b7b8babbbcbdbebfc0c1c2c4c5c6c7c8c9cacbcccdcfd0d1d2d3d6d7d8d9dadbdcdddedfe1e2e3e4e6e8e9eaebecedeff0f1f2f3f4f5f6f7f8fafbfcfdfeff,72:0001020304050708090a0b0c0d0e0f101112131415161718191a#1b1c1e1f2021222324252627292b2d2e2f3233343a3c3e40414243444546494a4b4e4f505153545557585a5c5e60636465686a6b6c6d707173747677787b7c7d828385868788898c8e9091939495969798999a9b9c9d9ea0a1a2a3a4a5a6a7a8a9aaabaeb1b2b3b5babbbcbdbebfc0c5c6c7c9cacbcccfd1d3d4d5d6d8dadb#95$,30:000102,00b702:c9c7,00a830:0305,2014ff5e20:162618191c1d,30:141508090a0b0c0d0e0f16171011,00:b1d7f7,22:362728110f2a2908371aa52520,231222:992b2e614c483d1d606e6f64651e3534,26:4240,00b020:3233,2103ff0400a4ff:e0e1,203000a7211626:0605,25:cbcfcec7c6a1a0b3b2,203b21:92909193,30:13#95$,21:70717273747576777879#4$,24:88898a8b8c8d8e8f909192939495969798999a9b7475767778797a7b7c7d7e7f808182838485868760616263646566676869##,32:20212223242526272829##,21:606162636465666768696a6b#97$,ff:010203e505060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5de3#95$,30:4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f90919293#106$a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6#103$,03:9192939495969798999a9b9c9d9e9fa0a1a3a4a5a6a7a8a9#6$b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c3c4c5c6c7c8c9#5$,fe:3536393a3f403d3e41424344##3b3c373831#3334#104$,04:10111213141501161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f#13$30313233343551363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f#11$,02:cacbd9,20:13152535,21:050996979899,22:151f23526667bf,25:505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727381828384858687#88898a8b8c8d8e8f939495bcbde2e3e4e5,2609229530:121d1e#9$,010100e101ce00e0011300e9011b00e8012b00ed01d000ec014d00f301d200f2016b00fa01d400f901:d6d8dadc,00:fcea,0251e7c701:4448,e7c802:61#2$,31:05060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223242526272829#19$,30:212223242526272829,32a333:8e8f9c9d9ea1c4ced1d2d5,fe30ff:e2e4#,212132:31#,20:10#1$,30:fc9b9cfdfe069d9e,fe:494a4b4c4d4e4f50515254555657595a5b5c5d5e5f6061#626364656668696a6b,e7:e7e8e9eaebecedeeeff0f1f2f3,30:07#11$,25:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b#13$,72:dcdddfe2e3e4e5e6e7eaebf5f6f9fdfeff,73:00020405060708090b0c0d0f1011121418191a1f2023242627282d2f30323335363a3b3c3d404142434445464748#494a4b4c4e4f515354555658595a5b5c5d5e5f6162636465666768696a6b6e7071#92$72737475767778797a7b7c7d7f808182838586888a8c8d8f90929394959798999a9c9d9ea0a1a3a4a5a6a7a8aaacadb1b4b5b6b8b9bcbdbebfc1c3c4c5c6c7#cbccced2d3d4d5d6d7d8dadbdcdddfe1e2e3e4e6e8eaebeceeeff0f1f3f4f5f6f7#92$f8f9fafbfcfdfeff,74:0001020407080b0c0d0e1112131415161718191c1d1e1f2021232427292b2d2f31323738393a3b3d3e3f4042434445464748494a4b4c4d#4e4f505152535456585d606162636465666768696a6b6c6e6f717273747578797a#92$7b7c7d7f8284858688898a8c8d8f9192939495969798999a9b9d9fa0a1a2a3a4a5a6aaabacadaeafb0b1b2b3b4b5b6b7b8b9bbbcbdbebfc0c1c2c3c4c5c6c7#c8c9cacbcccdcecfd0d1d3d4d5d6d7d8d9dadbdddfe1e5e7e8e9eaebecedf0f1f2#92$f3f5f8f9fafbfcfdfe,75:0001020305060708090a0b0c0e1012141516171b1d1e202122232426272a2e3436393c3d3f414243444647494a4d5051525355565758#5d5e5f60616263646768696b6c6d6e6f7071737576777a7b7c7d7e808182848587#92$88898a8c8d8e909395989b9c9ea2a6a7a8a9aaadb6b7babbbfc0c1c6cbcccecfd0d1d3d7d9dadcdddfe0e1e5e9ecedeeeff2f3f5f6f7f8fafbfdfe,76:02040607#08090b0d0e0f11121314161a1c1d1e212327282c2e2f31323637393a3b3d414244#92$45464748494a4b4e4f50515253555758595a5b5d5f6061626465666768696a6c6d6e7071727374757677797a7c7f80818385898a8c8d8f9092949597989a9b#9c9d9e9fa0a1a2a3a5a6a7a8a9aaabacadafb0b3b5b6b7b8b9babbbcbdbec0c1c3,554a963f57c3632854ce550954c076:914c,853c77ee827e788d72319698978d6c285b894ffa630966975cb880fa684880ae660276ce51f9655671ac7ff1888450b2596561ca6fb382ad634c625253ed54277b06516b75a45df462d48dcb9776628a8019575d97387f627238767d67cf767e64464f708d2562dc7a17659173ed642c6273822c9881677f724862:6ecc,4f3474e3534a529e7eca90a65e2e6886699c81807ed168d278c5868c9551508d8c2482de80de53058912526576:c4c7c9cbccd3d5d9dadcdddee0e1e2e3e4e6e7e8e9eaebecedf0f3f5f6f7fafbfdff,77:00020305060a0c0e0f1011121314151617181b1c1d1e21232425272a2b#2c2e3031323334393b3d3e3f4244454648494a4b4c4d4e4f52535455565758595c,858496f94fdd582199715b9d62:b1a5,66b48c799c8d7206676f789160b253:5117,8f8880cc8d1d94a1500d72c8590760eb711988ab595482ef672c7b285d297ef7752d6cf58e668ff8903c9f3b6bd491197b145f7c78a784d6853d6b:d5d9d6,5e:0187,75f995ed655d5f:0ac5,8f9f58c181c2907f965b97ad8fb97f168d2c62414fbf53:d85e,8f:a8a9ab,904d68075f6a819888689cd6618b522b762a5f6c658c6fd26ee85bbe644851:75b0,67c44e1979c9997c70b377:5d5e5f606467696a6d6e6f7071727374757677787a7b7c818283868788898a8b8f90939495969798999a9b9c9d9ea1a3a4a6a8abadaeafb1b2b4b6b7b8b9ba#bcbec0c1c2c3c4c5c6c7c8c9cacbcccecfd0d1d2d3d4d5d6d8d9dadddedfe0e1e4,75c55e7673bb83e064ad62e894b56ce2535a52c3640f94c27b944f2f5e1b823681:168a,6e246cca9a736355535c54fa886557e04e0d5e036b657c3f90e8601664e6731c88c16750624d8d22776c8e2991c75f6983dc8521991053c286956b8b60:ede8,707f82:cd31,4ed36ca785cf64cd7cd969fd66f9834953957b564fa7518c6d4b5c428e6d63d253c983:2c36,67e578b4643d5bdf5c945dee8be762c667f48c7a640063ba8749998b8c177f2094f24ea7961098a4660c731677:e6e8eaeff0f1f2f4f5f7f9fafbfc,78:0304050607080a0b0e0f101315191b1e20212224282a2b2e2f31323335363d3f414243444648494a4b4d4f51535458595a#5b5c5e5f606162636465666768696f7071727374757678797a7b7d7e7f80818283,573a5c1d5e38957f507f80a05382655e7545553150218d856284949e671d56326f6e5de2543570928f66626f64a463a35f7b6f8890f481e38fb05c1866685ff16c8996488d81886c649179f057ce6a59621054484e587a0b60e96f848bda627f901e9a8b79e4540375f4630153196c608fdf5f1b9a70803b9f7f4f885c3a8d647fc565a570bd51:45b2,866b5d075ba062bd916c75748e0c7a2061017b794ec77ef877854e1181ed521d51fa6a7153a88e87950496cf6ec19664695a78:848586888a8b8f9092949596999d9ea0a2a4a6a8a9aaabacadaeafb5b6b7b8babbbcbdbfc0c2c3c4c6c7c8cccdcecfd1d2d3d6d7d8dadbdcdddedfe0e1e2e3#e4e5e6e7e9eaebedeeeff0f1f3f5f6f8f9fbfcfdfeff,79:00020304060708090a0b0c,784050a877d7641089e6590463e35ddd7a7f693d4f20823955984e3275ae7a975e:628a,95ef521b5439708a6376952457826625693f918755076df37eaf882262337ef075b5832878c196cc8f9e614874f78bcd6b64523a8d506b21806a847156f153064e:ce1b,51d17c97918b7c074fc38e7f7be17a9c64675d1450ac810676017cb96dec7fe067515b:58f8,78cb64:ae13,63:aa2b,9519642d8fbe7b5476296253592754466b7950a362345e266b864ee38d37888b5f85902e79:0d0e0f1011121415161718191a1b1c1d1f2021222325262728292a2b2c2d2e2f3031323335363738393d3f42434445474a4b4c4d4e4f505152545558596163#6466696a6b6c6e70717273747576797b7c7d7e7f8283868788898b8c8d8e909192,6020803d62c54e39535590f863b880c665e66c2e4f4660ee6de18bde5f3986cb5f536321515a83616863520063638e4850125c9b79775bfc52307a3b60bc905376d75f:b797,76848e6c706f767b7b4977aa51f3909358244f4e6ef48fea654c7b1b72c46da47fdf5ae162b55e95573084827b2c5e1d5f1f90127f1498a063826ec7789870b95178975b57ab75354f4375385e9760e659606dc06bbf788953fc96d551cb52016389540a94938c038dcc7239789f87768fed8c0d53e079:939495969798999b9c9d9e9fa0a1a2a3a4a5a6a8a9aaabacadaeafb0b1b2b4b5b6b7b8bcbfc2c4c5c7c8cacccecfd0d3d4d6d7d9dadbdcdddee0e1e2e5e8ea#eceef1f2f3f4f5f6f7f9fafcfeff,7a:0104050708090a0c0f10111213151618191b1c,4e0176ef53ee948998769f0e952d5b9a8ba24e:221c,51ac846361c252a8680b4f97606b51bb6d1e515c6296659796618c46901775d890fd77636bd272:8aec,8bfb583577798d4c675c9540809a5ea66e2159927aef77ed953b6bb565ad7f0e58065151961f5bf958a954288e726566987f56e4949d76fe9041638754c659:1a3a,579b8eb267358dfa8235524160f0581586fe5ce89e454fc4989d8bb95a2560765384627c904f9102997f6069800c513f80335c1499756d314e8c7a:1d1f21222425262728292a2b2c2d2e2f303132343536383a3e4041424344454748494a4b4c4d4e4f50525354555658595a5b5c5d5e5f606162636465666768#696a6b6c6d6e6f717273757b7c7d7e828587898a8b8c8e8f909394999a9b9ea1a2,8d3053d17f5a7b4f4f104e4f96006cd573d085e95e06756a7ffb6a0a77fe94927e4151e170e653cd8fd483038d2972af996d6cdb574a82b365b980aa623f963259a84eff8bbf7eba653e83f2975e556198de80a5532a8bfd542080ba5e9f6cb88d3982ac915a54296c1b52067eb7575f711a6c7e7c89594b4efd5fff61247caa4e305c0167ab87025cf0950b98ce75af70fd902251af7f1d8bbd594951e44f5b5426592b657780a45b7562:76c2,8f905e456c1f7b264f:0fd8,670d7a:a3a4a7a9aaabaeafb0b1b2b4b5b6b7b8b9babbbcbdbec0c1c2c3c4c5c6c7c8c9cacccdcecfd0d1d2d3d4d5d7d8dadbdcdde1e2e4e7e8e9eaebeceef0f1f2f3#f4f5f6f7f8fbfcfe,7b:0001020507090c0d0e1012131617181a1c1d1f21222327292d,6d:6eaa,798f88b15f17752b629a8f854fef91dc65a781:2f51,5e9c81508d74526f89868d4b590d50854ed8961c723681798d1f5bcc8ba3964459877f1a549056:760e,8be565396982949976d66e895e72751867:46d1,7aff809d8d76611f79c665628d635188521a94a27f38809b7eb25c976e2f67607bd9768b9ad8818f7f947cd5641e95507a3f54:4ae5,6b4c640162089e3d80f3759952729769845b683c86e496:0194,94ec4e2a54047ed968398ddf801566f45e9a7fb97b:2f303234353637393b3d3f404142434446484a4d4e535557595c5e5f61636465666768696a6b6c6d6f70737476787a7c7d7f81828384868788898a8b8c8e8f#9192939698999a9b9e9fa0a3a4a5aeafb0b2b3b5b6b7b9babbbcbdbebfc0c2c3c4,57c2803f68975de5653b529f606d9f9a4f9b8eac516c5bab5f135de96c5e62f18d21517194a952fe6c9f82df72d757a267848d2d591f8f9c83c754957b8d4f306cbd5b6459d19f1353e486ca9aa88c3780a16545987e56fa96c7522e74dc52505be1630289024e5662d0602a68fa51735b9851a089c27ba199867f5060ef704c8d2f51495e7f901b747089c4572d78455f529f9f95fa8f689b3c8be17678684267dc8d:ea35,523d8f8a6eda68cd950590ed56fd679c88f98fc754c87b:c5c8c9cacbcdcecfd0d2d4d5d6d7d8dbdcdedfe0e2e3e4e7e8e9ebecedeff0f2f3f4f5f6f8f9fafbfdff,7c:0001020304050608090a0d0e101112131415171819#1a1b1c1d1e20212223242528292b2c2d2e2f3031323334353637393a3b3c3d3e42,9ab85b696d776c264ea55bb39a87916361a890af97e9542b6db55bd251fd558a7f:55f0,64bc634d65f161be608d710a6c:5749,592f676d822a58d5568e8c6a6beb90dd597d801753f76d695475559d83:77cf,683879be548c4f55540876d28c8996026cb36db88d6b89109e648d3a563f9ed175d55f8872e0606854fc4ea86a2a886160528f7054c470d886799e3f6d2a5b8f5f187ea255894faf7334543c539a501954:0e7c,4e4e5ffd745a58f6846b80e1877472d07cca6e567c:434445464748494a4b4c4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f70717275767778797a7e7f8081828384858687#888a8b8c8d8e8f90939496999a9ba0a1a3a6a7a8a9abacadafb0b4b5b6b7b8babb,5f27864e552c62a44e926caa623782b154d7534e733e6ed1753b521253168bdd69d05f8a60006dee574f6b2273af68538fd87f13636260a3552475ea8c6271156da35ba65e7b8352614c9ec478fa87577c27768751f060f6714c66435e4c604d8c0e707063258f895fbd606286d456de6bc160946167534960e066668d3f79fd4f1a70e96c478b:b3f2,7ed88364660f5a5a9b426d:51f7,8c416d3b4f19706b83b7621660d1970d8d27797851fb57:3efa,673a75787a3d79ef7b957c:bfc0c2c3c4c6c9cbcecfd0d1d2d3d4d8dadbdddee1e2e3e4e5e6e7e9eaebecedeef0f1f2f3f4f5f6f7f9fafcfdfeff,7d:000102030405060708090b0c0d0e0f10#1112131415161718191a1b1c1d1e1f212324252628292a2c2d2e30313233343536,808c99658ff96fc08ba59e2159ec7ee97f095409678168d88f917c4d96c653ca602575be6c7253735ac97ea7632451e0810a5df184df628051805b634f0e796d524260b86d4e5b:c4c2,8b:a1b0,65e25fcc964559937e:e7aa,560967b759394f735bb652a0835a988a8d3e753294be50477a3c4ef767b69a7e5ac16b7c76d1575a5c167b3a95f4714e517c80a9827059787f04832768c067ec78:b177,62e363617b804fed526a51cf835069db92748d:f531,89c1952e7bad4ef67d:3738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6f70717273747576#78797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798,506582305251996f6e:1085,6da75efa50f559dc5c066d466c5f7586848b686859568bb253209171964d854969127901712680f64ea490ca6d479a845a0756bc640594f077eb4fa5811a72e189d2997a7f347ede527f655991758f:7f83,53eb7a9663:eda5,768679f888579636622a52ab8282685467706377776b7aed6d017ed389e359d0621285c982a5754c501f4ecb75a58beb5c4a5dfe7b4b65a491d14eca6d25895f7d2795264ec58c288fdb9773664b79818fd170ec6d787d:999a9b9c9d9e9fa0a1a2a3a4a5a7a8a9aaabacadafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9#dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fa,5c3d52b283465162830e775b66769cb84eac60ca7c:beb3,7ecf4e958b66666f988897595883656c955c5f8475c997567a:dfde,51c070af7a9863ea7a767ea0739697ed4e4570784e5d915253a965:51e7,81fc8205548e5c31759a97a062d872d975bd5c459a7983ca5c40548077e94e3e6cae805a62d2636e5de851778ddd8e1e952f4ff153e560e770ac526763509e435a1f5026773753777ee26485652b628963985014723589c951b38bc07edd574783cc94a7519b541b5cfb7d:fbfcfdfeff,7e:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233343536373839#3a3c3d3e3f40424344454648494a4b4c4d4e4f505152535455565758595a5b5c5d,4fca7ae36d5a90e19a8f55805496536154af5f0063e9697751ef6168520a582a52d8574e780d770b5eb761777ce062:5b97,4ea27095800362f770e49760577782db67ef68f578d5989779d158f354b353ef6e34514b523b5ba28bfe80af554357a660735751542d7a7a60505b5463a762a053e362635bc767af54ed7a9f82e691775e9388e4593857ae630e8de880ef57577b774fa95feb5bbd6b3e53217b5072c2684677:ff36,65f751b54e8f76d45cbf7aa58475594e9b4150807e:5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081838485868788898a8b8c8d8e8f909192939495969798999a9c9d9e#aeb4bbbcd6e4ecf9,7f:0a101e37393b3c3d3e3f404143464748494a4b4c4d4e4f5253,998861276e8357646606634656f062:ec69,5ed39614578362c955878721814a8fa3556683b167658d5684dd5a6a680f62e67bee961151706f9c8c3063fd89c861d27f0670c26ee57405699472fc5eca90ce67176d6a635e52b3726280014f6c59e5916a70d96d9d52d24e5096f7956d857e78ca7d2f5121579264c2808b7c7b6cea68f1695e51b7539868a872819ece7bf172f879bb6f137406674e91cc9ca4793c83:8954,540f68174e3d538952b1783e5386522950884f:8bd0,7f:56595b5c5d5e6063646566676b6c6d6f7073757677787a7b7c7d7f8082838485868788898b8d8f9091929395969798999b9ca0a2a3a5a6a8a9aaabacadaeb1#b3b4b5b6b7babbbec0c2c3c4c6c7c8c9cbcdcfd0d1d2d3d6d7d9dadbdcdddee2e3,75e27acb7c926ca596b6529b748354e94fe9805483b28fde95705ec9601c6d9f5e18655b813894fe604b70bc7ec37cae51c968817cb1826f4e248f8691cf667e4eae8c0564a9804a50da759771ce5be58fbd6f664e86648295635ed66599521788c270c852a3730e7433679778f797164e3490bb9cde6dcb51db8d41541d62ce73b283f196f69f8494c34f367f9a51cc707596755cad988653e64ee46e9c740969b4786b998f7559521876246d4167f3516d9f99804b54997b3c7abf7f:e4e7e8eaebecedeff2f4f5f6f7f8f9fafdfeff,80:020708090a0e0f11131a1b1d1e1f2123242b2c2d2e2f303234393a3c3e404144454748494e4f505153555657#595b5c5d5e5f6061626364656667686b6c6d6e6f7072737475767778797a7b7c7d,9686578462e29647697c5a0464027bd36f0f964b82a6536298855e90708963b35364864f9c819e93788c97328d:ef42,9e7f6f5e79845f559646622e9a74541594dd4fa365c55c:6561,7f1586516c2f5f8b73876ee47eff5ce6631b5b6a6ee653754e7163a0756562a18f6e4f264ed16ca67eb68bba841d87ba7f57903b95237ba99aa188f8843d6d1b9a867edc59889ebb739b780186829a:6c82,561b541757cb4e709ea653568fc881097792999286ee6ee1851366fc61626f2b80:7e818285888a8d8e8f909192949597999ea3a6a7a8acb0b3b5b6b8b9bbc5c7c8c9cacbcfd0d1d2d3d4d5d8dfe0e2e3e6eef5f7f9fbfeff,81:000103040507080b#0c1517191b1c1d1f202122232425262728292a2b2d2e3033343537393a3b3c3d3f,8c298292832b76f26c135fd983bd732b8305951a6bdb77db94c6536f830251925e3d8c8c8d384e4873ab679a68859176970971646ca177095a9295416bcf7f8e66275bd059b95a9a95:e8f7,4eec84:0c99,6aac76df9530731b68a65b5f772f919a97617cdc8ff78c1c5f257c7379d889c56ccc871c5bc65e4268c977207ef551:954d,52c95a297f05976282d763cf778485d079d26e3a5e9959998511706d6c1162bf76bf654f60af95fd660e879f9e2394ed54:0d7d,8c2c647881:40414243444547494d4e4f525657585b5c5d5e5f6162636466686a6b6c6f727375767778818384858687898b8c8d8e90929394959697999a9e9fa0a1a2a4a5#a7a9abacadaeafb0b1b2b4b5b6b7b8b9bcbdbebfc4c5c7c8c9cbcdcecfd0d1d2d3,647986116a21819c78e864699b5462b9672b83ab58a89ed86cab6f205bde964c8c0b725f67d062c772614ea959c66bcd589366ae5e5552df6155672876ee776672677a4662ff54:ea50,94a090a35a1c7eb36c164e435976801059485357753796be56ca63208111607c95f96dd65462998151855ae980fd59ae9713502a6ce55c3c62df4f60533f817b90066eba852b62c85e7478be64b5637b5ff55a18917f9e1f5c3f634f80425b7d556e95:4a4d,6d8560a867e072de51dd5b8181:d4d5d6d7d8d9dadbdcdddedfe0e1e2e4e5e6e8e9ebeeeff0f1f2f5f6f7f8f9fafdff,82:030708090a0b0e0f111315161718191a1d2024252627292e323a3c3d3f#404142434546484a4c4d4e5051525354555657595b5c5d5e606162636465666769,62e76cde725b626d94ae7ebd81136d53519c5f04597452aa6012597366968650759f632a61e67cef8bfa54e66b279e256bb485d5545550766ca4556a8db4722c5e156015743662cd6392724c5f986e436d3e65006f5876d878d076fc7554522453db4e535e9e65c180:2ad6,629b5486522870ae888d8dd16ce1547880da57f988f48d54966a914d4f696c9b55b776c6783062a870f96f8e5f6d84ec68da787c7bf781a8670b9e4f636778b0576f7812973962:79ab,528874356bd782:6a6b6c6d71757677787b7c808183858687898c90939495969a9b9ea0a2a3a7b2b5b6babbbcbfc0c2c3c5c6c9d0d6d9dadde2e7e8e9eaecedeef0f2f3f5f6f8#fafcfdfeff,83:000a0b0d1012131618191d1e1f20212223242526292a2e3032373b3d,5564813e75b276ae533975de50fb5c418b6c7bc7504f72479a9798d86f0274e27968648777a562fc98918d2b54c180584e52576a82f9840d5e7351ed74f68bc45c4f57616cfc98875a4678349b448feb7c955256625194fa4ec68386846183e984b257d467345703666e6d668c3166dd7011671f6b3a6816621a59bb4e0351c46f0667d26c8f517668cb59476b6775665d0e81109f5065d779:4841,9a918d775c824e5e4f01542f5951780c56686c148fc45f036c:7de3,8bab639083:3e3f41424445484a4b4c4d4e5355565758595d6270717273747576797a7e7f808182838487888a8b8c8d8f909194959697999a9d9fa1a2a3a4a5a6a7acadae#afb5bbbebfc2c3c4c6c8c9cbcdced0d1d2d3d5d7d9dadbdee2e3e4e6e7e8ebeced,60706d3d7275626694:8ec5,53438fc17b7e4edf8c264e7e9ed494:b1b3,524d6f5c90636d458c3458115d4c6b:2049,67aa545b81547f8c589985375f3a62a26a47953965726084686577a74e544fa85de7979864ac7fd85ced4fcf7a8d520783044e14602f7a8394a64fb54eb279e6743452e482b964d279bd5bdd6c8197528f7b6c22503e537f6e0564ce66746c3060c598778bf75e86743c7a7779cb4e1890b174036c4256da914b6cc58d8b533a86c666f28eaf5c489a716e2083:eeeff3f4f5f6f7fafbfcfeff,84:0002050708090a10121314151617191a1b1e1f20212223292a2b2c2d2e2f30323334353637393a3b3e3f404142434445474849#4a4b4c4d4e4f505253545556585d5e5f606264656667686a6e6f70727477797b7c,53d65a369f8b8da353bb570898a76743919b6cc9516875ca62f372ac52:389d,7f3a7094763853749e4a69b7786e96c088d97fa471:36c3,518967d374e458e4651856b78ba9997662707ed560f970ed58ec4e:c1ba,5fcd97e74efb8ba45203598a7eab62544ecd65e5620e833884c98363878d71946eb65bb97ed2519763c967d480898339881551125b7a59828fb14e736c5d516589258f6f962e854a745e95:10f0,6da682e55f3164926d128428816e9cc3585e8d5b4e0953c184:7d7e7f8081838485868a8d8f90919293949596989a9b9d9e9fa0a2a3a4a5a6a7a8a9aaabacadaeb0b1b3b5b6b7bbbcbec0c2c3c5c6c7c8cbcccecfd2d4d5d7#d8d9dadbdcdee1e2e4e7e8e9eaebedeeeff1f2f3f4f5f6f7f8f9fafbfdfe,85:000102,4f1e6563685155d34e2764149a9a626b5ac2745f82726da968ee50e7838e7802674052396c997eb150bb5565715e7b5b665273ca82eb67495c715220717d886b95ea965564c58d6181b355846c5562477f2e58924f2455468d4f664c4e0a5c1a88f368a2634e7a0d70e7828d52fa97f65c1154e890b57ecd59628d4a86c782:0c0d,8d6664445c0461516d89793e8bbe78377533547b4f388eab6df15a207ec5795e6c885ba15a76751a80be614e6e1758f075:1f25,727253477ef385:030405060708090a0b0d0e0f101214151618191b1c1d1e2022232425262728292a2d2e2f303132333435363e3f404142444546474b4c4d4e4f505152535455#57585a5b5c5d5f60616263656667696a6b6c6d6e6f707173757677787c7d7f8081,770176db526980dc57235e08593172ee65bd6e7f8bd75c388671534177f362fe65f64ec098df86805b9e8bc653f277e24f7f5c4e9a7659cb5f0f793a58eb4e1667ff4e8b62ed8a93901d52bf662f55dc566c90024ed54f8d91ca99706c0f5e0260435ba489c68bd56536624b99965b:88ff,6388552e53d77626517d852c67a268b36b8a62928f9353d482126dd1758f4e668d4e5b70719f85af66:91d9,7f7287009ecd9f205c5e672f8ff06811675f620d7ad658855eb665706f3185:82838688898a8b8c8d8e909192939495969798999a9d9e9fa0a1a2a3a5a6a7a9abacadb1b2b3b4b5b6b8babbbcbdbebfc0c2c3c4c5c6c7c8cacbcccdced1d2#d4d6d7d8d9dadbdddedfe0e1e2e3e5e6e7e8eaebecedeeeff0f1f2f3f4f5f6f7f8,60555237800d6454887075295e05681362f4971c53cc723d8c016c3477617a0e542e77ac987a821c8bf47855671470c165af64955636601d79c153f84e1d6b7b80865bfa55e356db4f:3a3c,99725df3677e80386002988290015b8b8b:bcf5,641c825864de55fd82cf91654fd77d20901f7c9f50f358516eaf5bbf8bc980839178849c7b97867d96:8b8f,7ee59ad3788e5c817a57904296a7795f5b59635f7b0b84d168ad55067f2974107d2295016240584c4ed65b835979585485:f9fafcfdfe,86:0001020304060708090a0b0c0d0e0f10121314151718191a1b1c1d1e1f20212223242526282a2b2c2d2e2f3031323334353637393a3b3d3e3f40#4142434445464748494a4b4c525355565758595b5c5d5f6061636465666768696a,736d631e8e:4b0f,80ce82d462ac53f06cf0915e592a60016c70574d644a8d2a762b6ee9575b6a8075f06f6d8c:2d08,57666bef889278b363a253f970ad6c645858642a580268e0819b55107cd650188eba6dcc8d9f70eb638f6d9b6ed47ee68404684390036dd896768ba85957727985e4817e75bc8a8a68af52548e22951163d098988e44557c4f5366ff568f60d56d9552435c4959296dfb586b75:301c,606c82148146631167618fe2773a8d:f334,94c15e165385542c70c386:6d6f7072737475767778838485868788898e8f90919294969798999a9b9e9fa0a1a2a5a6abadaeb2b3b7b8b9bbbcbdbebfc1c2c3c5c8cccdd2d3d5d6d7dadc#dde0e1e2e3e5e6e7e8eaebeceff5f6f7fafbfcfdff,87:010405060b0c0e0f10111416,6c405ef7505c4ead5ead633a8247901a6850916e77b3540c94dc5f647ae5687663457b527edf75db507762955934900f51f879c37a8156fe5f9290146d825c60571f541051546e4d56e263a89893817f8715892a9000541e5c6f81c062:d658,81319e3596409a:6e7c,692d59a562d3553e631654c786d96d3c5a0374e6889c6b6a59168c4c5f2f6e7e73a9987d4e3870f75b8c7897633d665a769660cb5b9b5a494e0781556c6a738b4ea167897f515f8065fa671b5fd859845a0187:191b1d1f20242627282a2b2c2d2f303233353638393a3c3d404142434445464a4b4d4f505152545556585a5b5c5d5e5f6162666768696a6b6c6d6f71727375#7778797a7f8081848687898a8c8e8f90919294959698999a9b9c9d9ea0a1a2a3a4,5dcd5fae537197e68fdd684556f4552f60df4e3a6f4d7ef482c7840e59d44f:1f2a,5c3e7eac672a851a5473754f80c355829b4f4f4d6e2d8c135c096170536b761f6e29868a658795fb7eb9543b7a337d0a95ee55e17fc174ee631d87176da17a9d621165a1536763e16c835deb545c94a84e4c6c618bec5c4b65e0829c68a754:3e34,6b:cb66,4e9463425348821e4f:0dae,575e620a96fe6664726952:ffa1,609f8bef661471996790897f785277fd6670563b54389521727a87:a5a6a7a9aaaeb0b1b2b4b6b7b8b9bbbcbebfc1c2c3c4c5c7c8c9cccdcecfd0d4d5d6d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedeff0f1f2f3f4f5f6f7f8#fafbfcfdff,88:0001020405060708090b0c0d0e0f101112141718191a1c1d1e1f2023,7a00606f5e0c6089819d591560dc718470ef6eaa6c5072806a8488ad5e2d4e605ab3559c94e36d177cfb9699620f7ec6778e867e5323971e8f9666875ce14fa072ed4e0b53a6590f54136380952851484ed99c9c7ea454b88d248854823795f26d8e5f265acc663e966973:b02e,53bf817a99857fa15baa96:7750,7ebf76f853a2957699997bb189446e584e617fd479658be660f354cd4eab98795df76a6150cf54118c618427785d9704524a54ee56a395006d885bb56dc6665388:2425262728292a2b2c2d2e2f30313334353637383a3b3d3e3f414243464748494a4b4e4f505152535556585a5b5c5d5e5f6066676a6d6f717374757678797a#7b7c80838687898a8c8e8f90919394959798999a9b9d9e9fa0a1a3a5a6a7a8a9aa,5c0f5b5d6821809655787b11654869544e9b6b47874e978b534f631f643a90aa659c80c18c10519968b0537887f961c86c:c4fb,8c225c5185aa82af950c6b238f9b65b05f:fbc3,4fe18845661f8165732960fa51745211578b5f6290a2884c91925e78674f602759d351:44f6,80f853086c7996c4718a4f:11ee,7f9e673d55c5950879c088967ee3589f620c9700865a5618987b5f908bb884c4915753d965ed5e8f755c60647d6e5a7f7e:eaed,8f6955a75ba360ac65cb738488:acaeafb0b2b3b4b5b6b8b9babbbdbebfc0c3c4c7c8cacbcccdcfd0d1d3d6d7dadbdcdddee0e1e6e7e9eaebecedeeeff2f5f6f7fafbfdff,89:0001030405060708#090b0c0d0e0f1114151617181c1d1e1f20222324262728292c2d2e2f3132333537,9009766377297eda9774859b5b667a7496ea884052cb718f5faa65ec8be25bfb9a6f5de16b896c5b8b:adaf,900a8fc5538b62bc9e:262d,54404e2b82bd7259869c5d1688596daf96c554d14e9a8bb6710954bd960970df6df976d04e25781487125ca95ef68a00989c960e708e6cbf594463a9773c884d6f148273583071d5538c781a96c155015f6671305bb48c1a9a8c6b83592e9e2f79e76768626c4f6f75a17f8a6d0b96336c274ef075d2517b68376f3e908081705996747689:38393a3b3c3d3e3f40424345464748494a4b4c4d4e4f505152535455565758595a5b5c5d6061626364656768696a6b6c6d6e6f707172737475767778797a7c#7d7e808284858788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1,64475c2790657a918c2359da54ac8200836f898180006930564e8036723791ce51b64e5f987563964e1a53f666f3814b591c6db24e0058f9533b63d694f14f:9d0a,886398905937905779fb4eea80f075916c825b9c59e85f5d69058681501a5df24e5977e34ee5827a6291661390915c794ebf5f7981c69038808475ab4ea688d4610f6bc55fc64e4976ca6ea28b:e3ae,8c0a8bd15f027f:fccc,7ece83:356b,56e06bb797f3963459fb541f94f66deb5bc5996e5c395f15969089:a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c3cdd3d4d5d7d8d9dbdddfe0e1e2e4e7e8e9eaecedeef0f1f2f4f5f6f7f8f9fa#fbfcfdfeff,8a:01020304050608090a0b0c0d0e0f101112131415161718191a1b1c1d,537082f16a315a749e705e947f2883b984:2425,836787478fce8d6276c85f719896786c662054df62e54f6381c375c85eb896cd8e0a86f9548f6cf36d8c6c38607f52c775285e7d4f1860a05fe75c24753190ae94c072b96cb96e389149670953:cbf3,4f5191c98bf153c85e7c8fc26de44e8e76c26986865e611a82064f:59de,903e9c7c61096e:1d14,96854e885a3196e84e0e5c7f79b95b878bed7fbd738957df828b90c15401904755bb5cea5fa161086b3272f180b28a:891e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3f4041424344454647494a4b4c4d4e4f505152535455565758595a5b5c5d5e#5f606162636465666768696a6b6c6d6e6f7071727374757677787a7b7c7d7e7f80,6d745bd388d598848c6b9a6d9e336e0a51:a443,57a38881539f63f48f9556ed54585706733f6e907f188fdc82d1613f6028966266f07ea68d:8ac3,94a55cb37ca4670860a6960580184e9190e75300966851418fd08574915d665597f55b55531d78386742683d54c9707e5bb08f7d518d572854b1651266828d:5e43,810f846c906d7cdf51ff85fb67a365e96fa186a48e81566a90207682707671e58d2362e952196cfd8d3c600e589e618e66fe8d60624e55b36e23672d8f678a:81828384858687888b8c8d8e8f9091929495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2#c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3,94e195f87728680569a8548b4e4d70b88bc86458658b5b857a84503a5be877bb6be18a797c986cbe76cf65a98f975d2d5c5586386808536062187ad96e5b7efd6a1f7ae05f706f335f20638c6da867564e085e108d264ed780c07634969c62db662d627e6cbc8d7571677f695146808753ec906e629854f286f08f998005951785178fd96d5973cd659f771f7504782781fb8d1e94884fa6679575b98bca9707632f9547963584b8632377415f8172f04e896014657462ef6b63653f8a:e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8b:0001020304050608090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223#24252728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445,5e2775c790d18bc1829d679d652f5431871877e580a281026c414e4b7ec7804c76f4690d6b966267503c4f84574063076b628dbe53ea65e87eb85fd763:1ab7,81:f3f4,7f6e5e1c5cd95236667a79e97a1a8d28709975d46ede6cbb7a924e2d76c55fe0949f88777ec879cd80bf91cd4ef24f17821f54685dde6d328bcc7ca58f7480985e1a549276b15b99663c9aa473e0682a86db6731732a8b:f8db,90107af970db716e62c477a956314e3b845767f152a986c08d2e94f87b518b:464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656768696a6b6d6e6f707172737475767778797a7b7c7d7e7f80818283848586#8788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9facb1bbc7d0ea,8c:091e,4f4f6ce8795d9a7b6293722a62fd4e1378168f6c64b08d5a7bc668695e8488c55986649e58ee72b6690e95258ffd8d5857607f008c0651c6634962d95353684c74228301914c55447740707c6d4a517954a88d4459ff6ecb6dc45b5c7d2b4ed47c7d6ed35b5081ea6e0d5b579b0368d58e2a5b977efc603b7eb590b98d70594f63cd79df8db3535265cf79568bc5963b7ec494bb7e825634918967007f6a5c0a907566285de64f5067de505a4f5c57505e:a7#3$,8c:38393a3b3c3d3e3f4042434445484a4b4d4e4f5051525354565758595b5c5d5e5f60636465666768696c6d6e6f707172747576777b7c7d7e7f808183848687#888b8d8e8f90919293959697999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacad,4e:8d0c,51404e105eff53454e:15981e,9b325b6c56694e2879ba4e3f53154e47592d723b536e6c1056df80e499976bd3777e9f174e:369f,9f104e:5c6993,82885b5b556c560f4ec453:8d9da3a5ae,97658d5d53:1af5262e3e,8d5c53:6663,52:02080e2d333f404c5e615c,84af52:7d82819093,51827f544e:bbc3c9c2e8e1ebde,4f1b4ef34f:2264,4ef54f:2527092b5e67,65384f:5a5d,8c:aeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebec#edeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8d:000102030405060708090a0b0c0d,4f:5f57323d76749189838f7e7baa7cac94e6e8eac5dae3dcd1dff8,50:294c,4ff350:2c0f2e2d,4ffe50:1c0c25287e4355484e6c7ba5a7a9bad6,510650:edece6ee,51:070b,4edd6c3d4f:5865ce,9fa06c467c74516e5dfd9ec999985181591452f9530d8a07531051eb591951554ea051564eb388:6ea4,4eb5811488d279805b3488037fb851:abb1bdbc,8d:0e0f101112131415161718191a1b1c205152575f6568696a6c6e6f717278797a7b7c7d7e7f808283868788898c8d8e8f90929395969798999a9b9c9d9ea0a1#a2a4a5a6a7a8a9aaabacadaeafb0b2b6b7b9bbbdc0c1c2c5c7c8c9cacdd0d2d3d4,51:c796a2a5,8b:a0a6a7aab4b5b7c2c3cbcfced2d3d4d6d8d9dcdfe0e4e8e9eef0f3f6f9fcff,8c:000204070c0f1112141516191b181d1f202125272a2b2e2f32333536,53:697a,96:1d2221312a3d3c4249545f676c7274888d97b0,90:979b9d99aca1b4b3b6ba,8d:d5d8d9dce0e1e2e5e6e7e9edeef0f1f2f4f6fcfeff,8e:00010203040607080b0d0e1011121315161718191a1b1c202124252627282b2d303233343637383b3c3e#3f4345464c4d4e4f505354555657585a5b5c5d5e5f60616263646567686a6b6e71,90:b8b0cfc5bed0c4c7d3e6e2dcd7dbebeffe,91:04221e23312f394346,520d594252:a2acadbe,54ff52:d0d6f0,53df71ee77cd5ef451:f5fc,9b2f53b65f01755a5def57:4ca9a1,58:7ebcc5d1,57:292c2a33392e2f5c3b4269856b867c7b686d7673ada48cb2cfa7b493a0d5d8dad9d2b8f4eff8e4dd,8e:73757778797a7b7d7e808283848688898a8b8c8d8e91929395969798999a9b9d9fa0a1a2a3a4a5a6a7a8a9aaadaeb0b1b3b4b5b6b7b8b9bbbcbdbebfc0c1c2#c3c4c5c6c7c8c9cacbcccdcfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4,58:0b0d,57:fded,58:001e194420656c81899a80,99a89f1961ff82:797d7f8f8aa8848e919799abb8beb0c8cae398b7aecbccc1a9b4a1aa9fc4cea4e1,830982:f7e4,83:0f07,82:dcf4d2d8,830c82:fbd3,83:111a061415,82:e0d5,83:1c515b5c08923c34319b5e2f4f47435f4017602d3a336665,8e:e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8f:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223#2425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041424344,83:681b696c6a6d6eb078b3b4a0aa939c857cb6a97db87b989ea8babcc1,840183:e5d8,580784:180b,83:ddfdd6,84:1c381106,83:d4df,84:0f03,83:f8f9eac5c0,842683:f0e1,84:5c515a597387887a89783c4669768c8e316dc1cdd0e6bdd3cabfbae0a1b9b497e5e3,850c750d853884f085:391f3a,8f:45464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656a808c929da0a1a2a4a5a6a7aaacadaeafb2b3b4b5b7b8babbbcbfc0c3c6#c9cacbcccdcfd2d6d7dae0e1e3e7eceff1f2f4f5f6fafbfcfeff,90:07080c0e131518,85:563b,84:fffc,85:594868645e7a,77a285:43727ba4a8878f79ae9c85b9b7b0d3c1dcff,86:270529163c,5efe5f0859:3c41,803759:555a58,530f5c:22252c34,62:4c6a9fbbcadad7ee,632262f663:394b43adf6717a8eb46dac8a69aebcf2f8e0ffc4dece,645263:c6be,64:45410b1b200c26215e846d96,90:191c2324252728292a2b2c303132333437393a3d3f4043454648494a4b4c4e545556595a5c5d5e5f6061646667696a6b6c6f70717273767778797a7b7c7e81#84858687898a8c8d8e8f90929496989a9c9e9fa0a4a5a7a8a9abadb2b7bcbdbfc0,64:7ab7b899bac0d0d7e4e2,65:09252e,5f:0bd2,75195f1153:5ff1fde9e8fb,54:1216064b5253545643215759233282947771649a9b8476669dd0adc2b4d2a7a6d3d472a3d5bbbfccd9dadca9aaa4ddcfde,551b54e7552054fd551454f355:22230f11272a678fb5496d41553f503c,90:c2c3c6c8c9cbcccdd2d4d5d6d8d9dadedfe0e3e4e5e9eaeceef0f1f2f3f5f6f7f9fafbfcff,91:00010305060708090a0b0c0d0e0f1011121314151617181a1b1c#1d1f20212425262728292a2b2c2d2e30323334353637383a3b3c3d3e3f40414244,55:375675767733305c8bd283b1b988819f7ed6917bdfbdbe9499eaf7c9,561f55:d1ebecd4e6ddc4efe5f2f3cccde8f5e4,8f9456:1e080c012423,55fe56:00272d5839572c4d62595c4c548664716b7b7c8593afd4d7dde1f5ebf9ff,57:040a091c,5e:0f191411313b3c,91:454748515354555658595b5c5f606667686b6d737a7b7c808182838486888a8e8f939495969798999c9d9e9fa0a1a4a5a6a7a8a9abacb0b1b2b3b6b7b8b9bb#bcbdbebfc0c1c2c3c4c5c6c8cbd0d2d3d4d5d6d7d8d9dadbdddedfe0e1e2e3e4e5,5e:3744545b5e61,5c:8c7a8d9096889899919a9cb5a2bdacabb1a3c1b7c4d2e4cbe5,5d:020327262e241e061b583e343d6c5b6f5d6b4b4a697482999d,8c735d:b7c5,5f:73778287898c95999ca8adb5bc,88625f6172:adb0b4b7b8c3c1cecdd2e8efe9f2f4f7,730172f3730372fa91:e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,92:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324#25262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445,72fb73:1713210a1e1d152239252c3831504d57606c6f7e,821b592598e759:2402,99:636768696a6b6c74777d8084878a8d9091939495,5e:80918b96a5a0b9b5beb3,8d535e:d2d1dbe8ea,81ba5f:c4c9d6cf,60035fee60045f:e1e4fe,60:0506,5f:eaedf8,60:1935261b0f0d292b0a3f2178797b7a42,92:464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727375767778797a7b7c7d7e7f808182838485#868788898a8b8c8d8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7,60:6a7d969aad9d83928c9becbbb1ddd8c6dab4,61:20261523,60f461:000e2b4a75ac94a7b7d4f5,5fdd96b395:e9ebf1f3f5f6fcfe,96:030406080a0b0c0d0f12151617191a,4e2c723f62156c:35545c4aa38590948c6869747686a9d0d4adf7f8f1d7b2e0d6faebeeb1d3effe,92:a8a9aaabacadafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8#e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,93:00010203040506070809,6d:39270c43480704190e2b4d2e351a4f525433916f9ea05e93945c607c63,6e1a6d:c7c5de,6e0e6d:bfe0,6e116d:e6ddd9,6e166dab6e0c6dae6e:2b6e4e6bb25f865354322544dfb198e0,6f2d6e:e2a5a7bdbbb7d7b4cf8fc29f,6f:6246472415,6ef96f:2f364b742a0929898d8c78727c7ad1,93:0a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3f40414243444546474849#4a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696b,6f:c9a7b9b6c2e1eedee0ef,70:1a231b39354f5e,5b:80849593a5b8,752f9a9e64345b:e4ee,89305bf08e478b078f:b6d3d5e5eee4e9e6f3e8,90:05040b26110d162135362d2f445152506858625b,66b990:747d8288838b,5f:50575658,5c3b54ab5c:5059,5b715c:6366,7fbc5f:2a292d,82745f3c9b3b5c6e59:81838da9aaa3,93:6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaab#acadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cbcccd,59:97caab9ea4d2b2afd7be,5a:0506,59dd5a0859:e3d8f9,5a:0c09323411231340674a553c6275,80ec5a:aa9b777abeebb2d2d4b8e0e3f1d6e6d8dc,5b:091716323740,5c:151c,5b:5a6573515362,9a:7577787a7f7d808185888a90929396989b9c9d9fa0a2a3a5a7,7e:9fa1a3a5a8a9,93:cecfd0d1d2d3d4d5d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,94:000102030405060708090a0b0c0d#0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e,7e:adb0bec0c1c2c9cbccd0d4d7dbe0e1e8ebeeeff1f2,7f0d7e:f6fafbfe,7f:01020307080b0c0f111217191c1b1f212223242526272a2b2c2d2f3031323335,5e7a757f5ddb753e909573:8e91aea29fcfc2d1b7b3c0c9c8e5d9,987c740a73:e9e7debaf2,74:0f2a5b262528302e2c,94:2f303132333435363738393a3b3c3d3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6c6d6e6f#707172737475767778797a7b7c7d7e7f8081828384919698c7cfd3d4dae6fb,95:1c20,74:1b1a415c575559776d7e9c8e8081878b9ea8a990a7d2ba,97:eaebec,67:4c535e4869a5876a7398a775a89ead8b777cf0,680967d8680a67:e9b0,680c67:d9b5dab3dd,680067:c3b8e2,680e67:c1fd,68:323360614e624464831d55664167403e4a4929b58f7477936bc2,696e68fc69:1f20,68f995:27333d43484b555a606e74757778797a7b7c7d7e808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aa#abacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacb,692468f069:0b0157,68e369:10713960425d846b80987834cc8788ce896663799ba7bbabadd4b1c1cadf95e08dff,6a2f69ed6a:171865,69f26a:443ea0505b358e793d28587c9190a997ab,73:3752,6b:8182878492938d9a9ba1aa,8f:6b6d71727375767877797a7c7e818284878b,95:cccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7ecff,96:0713181b1e20232425262728292b2c2d2f303738393a3e41434a4e4f5152535657#58595a5c5d5e606365666b6d6e6f70717378797a7b7c7d7e7f808182838487898a,8f:8d8e8f989a,8ece62:0b171b1f222125242c,81e774:eff4ff,75:0f1113,65:34eeeff0,66:0a19,677266:031500,708566:f71d34313635,800666:5f54414f56615777848ca79dbedbdce6e9,8d:3233363b3d4045464849474d5559,89:c7cacbcccecfd0d1,72:6e9f5d666f7e7f848b8d8f92,63:0832b0,96:8c8e91929395969a9b9d9e9fa0a1a2a3a4a5a6a8a9aaabacadaeafb1b2b4b5b7b8babbbfc2c3c8cacbd0d1d3d4d6d7d8d9dadbdcdddedfe1e2e3e4e5e6e7eb#ecedeef0f1f2f4f5f8fafbfcfdff,97:0203050a0b0c10111214151718191a1b1d1f20,64:3fd8,80046b:eaf3fdf5f9,6c:0507060d1518191a2129242a32,65:35556b,72:4d525630,8662521680:9f9c93bc,670a80:bdb1abadb4b7e7e8e9eadbc2c4d9cdd7,671080:ddebf1f4ed,81:0d0e,80:f2fc,671581128c5a81:361e2c1832484c5374595a7160697c7d6d67,584d5ab581:888291,6ed581:a3aacc,672681:cabb,97:2122232425262728292b2c2e2f3133343536373a3b3c3d3f404142434445464748494a4b4c4d4e4f5051545557585a5c5d5f63646667686a6b6c6d6e6f7071#72757778797a7b7d7e7f8081828384868788898a8c8e8f9093959697999a9b9c9d,81:c1a6,6b:243739434659,98:d1d2d3d5d9da,6bb35f406bc289f365909f5165:93bcc6c4c3ccced2d6,70:809c969dbbc0b7abb1e8ca,71:1013162f31735c6845724a787a98b3b5a8a0e0d4e7f9,72:1d28,706c71:1866b9,62:3e3d434849,79:3b4046495b5c535a6257606f677a858a9aa7b3,5f:d1d0,97:9e9fa1a2a4a5a6a7a8a9aaacaeb0b1b3b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3#e4e5e8eeeff0f1f2f4f7f8f9fafbfcfdfeff,98:000102030405060708090a0b0c0d0e,60:3c5d5a67415963ab,61:060d5da99dcbd1,620680:807f,6c:93f6,6dfc77:f6f8,78:0009171811,65ab78:2d1c1d393a3b1f3c252c23294e6d56572650474c6a9b939a879ca1a3b2b9a5d4d9c9ecf2,790578f479:13241e34,9f9b9e:f9fbfc,76f177:040d,76f977:07081a22192d263538505147435a68,98:0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d#4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e,77:62657f8d7d808c919fa0b0b5bd,75:3a404e4b485b727983,7f:58615f,8a487f:68747179817e,76:cde5,883294:8586878b8a8c8d8f909497959a9b9ca3a4abaaadacafb0b2b4b6b7b8b9babcbdbfc4c8c9cacbcccdced0d1d2d5d6d7d9d8dbdedfe0e2e4e5e7e8ea,98:6f70717273748b8e929599a3a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcfd0d4d6d7dbdcdde0e1e2e3e4#e5e6e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,99:0001020304050607,94:e9ebeeeff3f4f5f7f9fcfdff,95:03020607090a0d0e0f1213141516181b1d1e1f222a2b292c3132343637383c3e3f4235444546494c4e4f525354565758595b5e5f5d61626465666768696a6b6c6f7172733a,77:e7ec,96c979:d5ede3eb,7a065d477a:03021e14,99:08090a0b0c0e0f1112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2f303132333435363738393a3b3c3d3e3f40414243444546474849#4a4b4c4d4e4f50515253565758595a5b5c5d5e5f60616264667378797b7e828389,7a:393751,9ecf99a57a7076:888e9399a4,74:dee0,752c9e:202228292a2b2c3231363837393a3e414244464748494b4c4e5155575a5b5c5e63666768696a6b6c716d73,75:929496a09daca3b3b4b8c4b1b0c3c2d6cde3e8e6e4ebe7,760375:f1fcff,76:1000050c170a25181519,99:8c8e9a9b9c9d9e9fa0a1a2a3a4a6a7a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8#d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9,76:1b3c2220402d303f35433e334d5e545c566b6f,7fca7a:e6787980868895a6a0aca8adb3,88:6469727d7f82a2c6b7bcc9e2cee3e5f1,891a88:fce8fef0,89:2119131b0a342b3641667b,758b80e576:b2b4,77dc80:1214161c20222526272928310b3543464d526971,898398:788083,99:fafbfcfdfeff,9a:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738#393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f50515253545556575859,98:898c8d8f949a9b9e9fa1a2a5a6,86:4d546c6e7f7a7c7ba88d8bac9da7a3aa93a9b6c4b5ceb0bab1afc9cfb4e9f1f2edf3d0,871386:def4dfd8d1,87:0307,86f887:080a0d09233b1e252e1a3e48343129373f82227d7e7b60704c6e8b53637c64596593afa8d2,9a:5a5b5c5d5e5f606162636465666768696a6b7283898d8e949599a6a9aaabacadaeafb2b3b4b5b9bbbdbebfc3c4c6c7c8c9cacdcecfd0d2d4d5d6d7d9dadbdc#dddee0e2e3e4e5e7e8e9eaeceef0f1f2f3f4f5f6f7f8fafcfdfeff,9b:000102040506,87:c68885ad9783abe5acb5b3cbd3bdd1c0cadbeae0ee,88:1613,87fe88:0a1b21393c,7f:36424445,82107a:fafd,7b:080304150a2b0f47382a192e31202524333e1e585a45754c5d606e7b62727190a6a7b8ac9da885aa9ca2abb4d1c1ccdddae5e6ea,7c0c7b:fefc,7c:0f160b,9b:07090a0b0c0d0e1011121415161718191a1b1c1d1e2021222425262728292a2b2c2d2e3031333435363738393a3d3e3f40464a4b4c4e50525355565758595a#5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b,7c:1f2a26384140,81fe82:010204,81ec884482:2122232d2f282b383b33343e44494b4f5a5f68,88:7e8588d8df,895e7f:9d9fa7afb0b2,7c7c65497c:919d9c9ea2b2bcbdc1c7cccdc8c5d7e8,826e66a87f:bfced5e5e1e6e9eef3,7cf87d:77a6ae,7e:479b,9e:b8b4,8d:73849491b1676d,8c:4749,91:4a504e4f64,9b:7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9ba#bbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadb,91:626170696f7d7e7274798c85908d91a2a3aaadaeafb5b4ba,8c559e7e8d:b8eb,8e:055969,8d:b5bfbcbac4d6d7dadececfdbc6ecf7f8e3f9fbe4,8e098dfd8e:141d1f2c2e232f3a4039353d3149414251524a70767c6f74858f94909c9e,8c:78828a859894,659b89:d6dedadc,9b:dcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9c:000102030405060708090a0b0c0d0e0f101112131415161718191a#1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b,89:e5ebef,8a3e8b26975396:e9f3ef,97:0601080f0e2a2d303e,9f:808385868788898a8c,9efe9f:0b0d,96:b9bcbdced2,77bf96e092:8eaec8,93:3e6aca8f,94:3e6b,9c:7f8285868788,7a239c:8b8e90919294959a9b9e9fa0a1a2a3a5a6a7a8a9abadaeb0b1b2b3b4b5b6b7babbbcbdc4c5c6c7cacb3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a#7b7d7e808384898a8c8f93969798999daaacafb9bebfc0c1c2c8c9d1d2dadbe0e1cccdcecfd0d3d4d5d7d8d9dcdddfe2,97:7c85919294afaba3b2b4,9a:b1b0b7,9e589a:b6babcc1c0c5c2cbccd1,9b:45434749484d51,98e899:0d2e5554,9a:dfe1e6efebfbedf9,9b:080f131f23,9e:bdbe,7e3b9e:8287888b92,93d69e:9d9fdbdcdde0dfe2e9e7e5eaef,9f:222c2f39373d3e44,9c:e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9d:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021#22232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142#92$434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081#82838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2#92$a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1#e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9e:000102#92$030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e24272e30343b3c404d5052535456595d5f606162656e6f727475767778797a7b7c7d80#8183848586898a8c8d8e8f90919495969798999a9b9c9ea0a1a2a3a4a5a7a8a9aa#92$abacadaeafb0b1b2b3b5b6b7b9babcbfc0c1c2c3c5c6c7c8cacbccd0d2d3d5d6d7d9dadee1e3e4e6e8ebecedeef0f1f2f3f4f5f6f7f8fafdff,9f:000102030405#060708090a0c0f1112141516181a1b1c1d1e1f21232425262728292a2b2d2e3031#92$3233343536383a3c3f4041424345464748494a4b4c4d4e4f52535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778#797a7b7c7d7e81828d8e8f9091929394959697989c9d9ea1a2a3a4a5,f9:2c7995e7f1#92$,fa:0c0d0e0f111314181f20212324272829,e8:15161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f40414243#4445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364"), U2Ghash = {}, G2Uhash = {};
		!function(data) {
			var k = 0;
			data = data.match(/..../g);
			for (var i = 129; i <= 254; i++) {
				for (var j = 64; j <= 254; j++) {
					U2Ghash[data[k++]] = ("%" + i.toString(16) + "%" + j.toString(16)).toUpperCase();
				}
			}
			for (var key in U2Ghash) {
				G2Uhash[U2Ghash[key]] = key;
			}
		}(data);
		function isAscii(unicode) {
			return unicode == 8364 || unicode <= 127 && unicode >= 0;
		}
		return {
			encode: function(str) {
				return str.replace(/./g, function(a) {
					var code = a.charCodeAt(0);
					if (isAscii(code)) {
						return encodeURIComponent(a);
					} else {
						var key = code.toString(16);
						if (key.length != 4) key = ("000" + key).match(/....$/)[0];
						return U2Ghash[key] || a;
					}
				});
			},
			decode: function(str) {
				return str.replace(/%[0-9A-F]{2}%[0-9A-F]{2}/g, function(a) {
					if (a in G2Uhash) {
						return String.fromCharCode("0x" + G2Uhash[a]);
					} else {
						return a;
					}
				}).replace(/%[\w]{2}/g, function(a) {
					return decodeURIComponent(a);
				});
			}
		};
	});
}));

//#endregion
//#region ../libs_drpy/_dist/node-rsa.js
var require_node_rsa = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Node-RSA 加密库
	* 提供RSA加密、解密、签名和验证功能
	* 这是一个打包压缩后的库文件，包含完整的RSA加密实现
	* 
	* 主要功能：
	* - RSA密钥生成和管理
	* - 数据加密和解密
	* - 数字签名和验证
	* - 支持多种密钥格式（PEM、DER等）
	* - ASN.1编码解码支持
	*/
	/*! For license information please see node-rsa.bundle.js.LICENSE.txt */ !function(t, e) {
		"object" == typeof exports && "object" == typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define([], e) : "object" == typeof exports ? exports.NODERSA = e() : t.NODERSA = e();
	}(globalThis, (() => (() => {
		var t = {
			6395: (t) => {
				t.exports = { newInvalidAsn1Error: function(t) {
					var e = new Error();
					return e.name = "InvalidAsn1Error", e.message = t || "", e;
				} };
			},
			5670: (t, e, r) => {
				var n = r(6395), i = r(6299), o = r(3319), s = r(1431);
				for (var a in t.exports = {
					Reader: o,
					Writer: s
				}, i) i.hasOwnProperty(a) && (t.exports[a] = i[a]);
				for (var f in n) n.hasOwnProperty(f) && (t.exports[f] = n[f]);
			},
			3319: (t, e, r) => {
				var n = r(4529), i = r(4774).Buffer, o = r(6299), s = r(6395).newInvalidAsn1Error;
				function a(t) {
					if (!t || !i.isBuffer(t)) throw new TypeError("data must be a node Buffer");
					this._buf = t, this._size = t.length, this._len = 0, this._offset = 0;
				}
				Object.defineProperty(a.prototype, "length", {
					enumerable: !0,
					get: function() {
						return this._len;
					}
				}), Object.defineProperty(a.prototype, "offset", {
					enumerable: !0,
					get: function() {
						return this._offset;
					}
				}), Object.defineProperty(a.prototype, "remain", { get: function() {
					return this._size - this._offset;
				} }), Object.defineProperty(a.prototype, "buffer", { get: function() {
					return this._buf.slice(this._offset);
				} }), a.prototype.readByte = function(t) {
					if (this._size - this._offset < 1) return null;
					var e = 255 & this._buf[this._offset];
					return t || (this._offset += 1), e;
				}, a.prototype.peek = function() {
					return this.readByte(!0);
				}, a.prototype.readLength = function(t) {
					if (void 0 === t && (t = this._offset), t >= this._size) return null;
					var e = 255 & this._buf[t++];
					if (null === e) return null;
					if (128 & ~e) this._len = e;
					else {
						if (0 == (e &= 127)) throw s("Indefinite length not supported");
						if (e > 4) throw s("encoding too long");
						if (this._size - t < e) return null;
						this._len = 0;
						for (var r = 0; r < e; r++) this._len = (this._len << 8) + (255 & this._buf[t++]);
					}
					return t;
				}, a.prototype.readSequence = function(t) {
					var e = this.peek();
					if (null === e) return null;
					if (void 0 !== t && t !== e) throw s("Expected 0x" + t.toString(16) + ": got 0x" + e.toString(16));
					var r = this.readLength(this._offset + 1);
					return null === r ? null : (this._offset = r, e);
				}, a.prototype.readInt = function() {
					return this._readTag(o.Integer);
				}, a.prototype.readBoolean = function() {
					return 0 !== this._readTag(o.Boolean);
				}, a.prototype.readEnumeration = function() {
					return this._readTag(o.Enumeration);
				}, a.prototype.readString = function(t, e) {
					t || (t = o.OctetString);
					var r = this.peek();
					if (null === r) return null;
					if (r !== t) throw s("Expected 0x" + t.toString(16) + ": got 0x" + r.toString(16));
					var n = this.readLength(this._offset + 1);
					if (null === n) return null;
					if (this.length > this._size - n) return null;
					if (this._offset = n, 0 === this.length) return e ? i.alloc(0) : "";
					var a = this._buf.slice(this._offset, this._offset + this.length);
					return this._offset += this.length, e ? a : a.toString("utf8");
				}, a.prototype.readOID = function(t) {
					t || (t = o.OID);
					var e = this.readString(t, !0);
					if (null === e) return null;
					for (var r = [], n = 0, i = 0; i < e.length; i++) {
						var s = 255 & e[i];
						n <<= 7, n += 127 & s, 128 & s || (r.push(n), n = 0);
					}
					return n = r.shift(), r.unshift(n % 40), r.unshift(n / 40 | 0), r.join(".");
				}, a.prototype._readTag = function(t) {
					n.ok(void 0 !== t);
					var e = this.peek();
					if (null === e) return null;
					if (e !== t) throw s("Expected 0x" + t.toString(16) + ": got 0x" + e.toString(16));
					var r = this.readLength(this._offset + 1);
					if (null === r) return null;
					if (this.length > 4) throw s("Integer too long: " + this.length);
					if (this.length > this._size - r) return null;
					this._offset = r;
					for (var i = this._buf[this._offset], o = 0, a = 0; a < this.length; a++) o <<= 8, o |= 255 & this._buf[this._offset++];
					return 128 & ~i || 4 === a || (o -= 1 << 8 * a), 0 | o;
				}, t.exports = a;
			},
			6299: (t) => {
				t.exports = {
					EOC: 0,
					Boolean: 1,
					Integer: 2,
					BitString: 3,
					OctetString: 4,
					Null: 5,
					OID: 6,
					ObjectDescriptor: 7,
					External: 8,
					Real: 9,
					Enumeration: 10,
					PDV: 11,
					Utf8String: 12,
					RelativeOID: 13,
					Sequence: 16,
					Set: 17,
					NumericString: 18,
					PrintableString: 19,
					T61String: 20,
					VideotexString: 21,
					IA5String: 22,
					UTCTime: 23,
					GeneralizedTime: 24,
					GraphicString: 25,
					VisibleString: 26,
					GeneralString: 28,
					UniversalString: 29,
					CharacterString: 30,
					BMPString: 31,
					Constructor: 32,
					Context: 128
				};
			},
			1431: (t, e, r) => {
				var n = r(4529), i = r(4774).Buffer, o = r(6299), s = r(6395).newInvalidAsn1Error, a = {
					size: 1024,
					growthFactor: 8
				};
				function f(t) {
					var e, r;
					e = a, r = t || {}, n.ok(e), n.equal(typeof e, "object"), n.ok(r), n.equal(typeof r, "object"), Object.getOwnPropertyNames(e).forEach((function(t) {
						if (!r[t]) {
							var n = Object.getOwnPropertyDescriptor(e, t);
							Object.defineProperty(r, t, n);
						}
					})), t = r, this._buf = i.alloc(t.size || 1024), this._size = this._buf.length, this._offset = 0, this._options = t, this._seq = [];
				}
				Object.defineProperty(f.prototype, "buffer", { get: function() {
					if (this._seq.length) throw s(this._seq.length + " unended sequence(s)");
					return this._buf.slice(0, this._offset);
				} }), f.prototype.writeByte = function(t) {
					if ("number" != typeof t) throw new TypeError("argument must be a Number");
					this._ensure(1), this._buf[this._offset++] = t;
				}, f.prototype.writeInt = function(t, e) {
					if ("number" != typeof t) throw new TypeError("argument must be a Number");
					"number" != typeof e && (e = o.Integer);
					for (var r = 4; (!(4286578688 & t) || -8388608 == (4286578688 & t)) && r > 1;) r--, t <<= 8;
					if (r > 4) throw s("BER ints cannot be > 0xffffffff");
					for (this._ensure(2 + r), this._buf[this._offset++] = e, this._buf[this._offset++] = r; r-- > 0;) this._buf[this._offset++] = (4278190080 & t) >>> 24, t <<= 8;
				}, f.prototype.writeNull = function() {
					this.writeByte(o.Null), this.writeByte(0);
				}, f.prototype.writeEnumeration = function(t, e) {
					if ("number" != typeof t) throw new TypeError("argument must be a Number");
					return "number" != typeof e && (e = o.Enumeration), this.writeInt(t, e);
				}, f.prototype.writeBoolean = function(t, e) {
					if ("boolean" != typeof t) throw new TypeError("argument must be a Boolean");
					"number" != typeof e && (e = o.Boolean), this._ensure(3), this._buf[this._offset++] = e, this._buf[this._offset++] = 1, this._buf[this._offset++] = t ? 255 : 0;
				}, f.prototype.writeString = function(t, e) {
					if ("string" != typeof t) throw new TypeError("argument must be a string (was: " + typeof t + ")");
					"number" != typeof e && (e = o.OctetString);
					var r = i.byteLength(t);
					this.writeByte(e), this.writeLength(r), r && (this._ensure(r), this._buf.write(t, this._offset), this._offset += r);
				}, f.prototype.writeBuffer = function(t, e) {
					if ("number" != typeof e) throw new TypeError("tag must be a number");
					if (!i.isBuffer(t)) throw new TypeError("argument must be a buffer");
					this.writeByte(e), this.writeLength(t.length), this._ensure(t.length), t.copy(this._buf, this._offset, 0, t.length), this._offset += t.length;
				}, f.prototype.writeStringArray = function(t) {
					if (!t instanceof Array) throw new TypeError("argument must be an Array[String]");
					var e = this;
					t.forEach((function(t) {
						e.writeString(t);
					}));
				}, f.prototype.writeOID = function(t, e) {
					if ("string" != typeof t) throw new TypeError("argument must be a string");
					if ("number" != typeof e && (e = o.OID), !/^([0-9]+\.){3,}[0-9]+$/.test(t)) throw new Error("argument is not a valid OID string");
					var r = t.split("."), n = [];
					n.push(40 * parseInt(r[0], 10) + parseInt(r[1], 10)), r.slice(2).forEach((function(t) {
						!function(t, e) {
							e < 128 ? t.push(e) : e < 16384 ? (t.push(e >>> 7 | 128), t.push(127 & e)) : e < 2097152 ? (t.push(e >>> 14 | 128), t.push(e >>> 7 & 255 | 128), t.push(127 & e)) : e < 268435456 ? (t.push(e >>> 21 | 128), t.push(e >>> 14 & 255 | 128), t.push(e >>> 7 & 255 | 128), t.push(127 & e)) : (t.push(e >>> 28 & 255 | 128), t.push(e >>> 21 & 255 | 128), t.push(e >>> 14 & 255 | 128), t.push(e >>> 7 & 255 | 128), t.push(127 & e));
						}(n, parseInt(t, 10));
					}));
					var i = this;
					this._ensure(2 + n.length), this.writeByte(e), this.writeLength(n.length), n.forEach((function(t) {
						i.writeByte(t);
					}));
				}, f.prototype.writeLength = function(t) {
					if ("number" != typeof t) throw new TypeError("argument must be a Number");
					if (this._ensure(4), t <= 127) this._buf[this._offset++] = t;
					else if (t <= 255) this._buf[this._offset++] = 129, this._buf[this._offset++] = t;
					else if (t <= 65535) this._buf[this._offset++] = 130, this._buf[this._offset++] = t >> 8, this._buf[this._offset++] = t;
					else {
						if (!(t <= 16777215)) throw s("Length too long (> 4 bytes)");
						this._buf[this._offset++] = 131, this._buf[this._offset++] = t >> 16, this._buf[this._offset++] = t >> 8, this._buf[this._offset++] = t;
					}
				}, f.prototype.startSequence = function(t) {
					"number" != typeof t && (t = o.Sequence | o.Constructor), this.writeByte(t), this._seq.push(this._offset), this._ensure(3), this._offset += 3;
				}, f.prototype.endSequence = function() {
					var t = this._seq.pop(), e = t + 3, r = this._offset - e;
					if (r <= 127) this._shift(e, r, -2), this._buf[t] = r;
					else if (r <= 255) this._shift(e, r, -1), this._buf[t] = 129, this._buf[t + 1] = r;
					else if (r <= 65535) this._buf[t] = 130, this._buf[t + 1] = r >> 8, this._buf[t + 2] = r;
					else {
						if (!(r <= 16777215)) throw s("Sequence too long");
						this._shift(e, r, 1), this._buf[t] = 131, this._buf[t + 1] = r >> 16, this._buf[t + 2] = r >> 8, this._buf[t + 3] = r;
					}
				}, f.prototype._shift = function(t, e, r) {
					n.ok(void 0 !== t), n.ok(void 0 !== e), n.ok(r), this._buf.copy(this._buf, t + r, t, t + e), this._offset += r;
				}, f.prototype._ensure = function(t) {
					if (n.ok(t), this._size - this._offset < t) {
						var e = this._size * this._options.growthFactor;
						e - this._offset < t && (e += t);
						var r = i.alloc(e);
						this._buf.copy(r, 0, 0, this._offset), this._buf = r, this._size = e;
					}
				}, t.exports = f;
			},
			3100: (t, e, r) => {
				var n = r(5670);
				t.exports = {
					Ber: n,
					BerReader: n.Reader,
					BerWriter: n.Writer
				};
			},
			4529: (t, e, r) => {
				"use strict";
				var n = r(1514)();
				function i(t, e) {
					if (t === e) return 0;
					for (var r = t.length, n = e.length, i = 0, o = Math.min(r, n); i < o; ++i) if (t[i] !== e[i]) {
						r = t[i], n = e[i];
						break;
					}
					return r < n ? -1 : n < r ? 1 : 0;
				}
				function o(t) {
					return r.g.Buffer && "function" == typeof r.g.Buffer.isBuffer ? r.g.Buffer.isBuffer(t) : !(null == t || !t._isBuffer);
				}
				var s = r(4591), a = Object.prototype.hasOwnProperty, f = Array.prototype.slice, u = "foo" === function() {}.name;
				function c(t) {
					return Object.prototype.toString.call(t);
				}
				function h(t) {
					return !o(t) && "function" == typeof r.g.ArrayBuffer && ("function" == typeof ArrayBuffer.isView ? ArrayBuffer.isView(t) : !!t && (t instanceof DataView || !!(t.buffer && t.buffer instanceof ArrayBuffer)));
				}
				var p = t.exports = m, l = /\s*function\s+([^\(\s]*)\s*/;
				function y(t) {
					if (s.isFunction(t)) {
						if (u) return t.name;
						var e = t.toString().match(l);
						return e && e[1];
					}
				}
				function g(t, e) {
					return "string" == typeof t ? t.length < e ? t : t.slice(0, e) : t;
				}
				function d(t) {
					if (u || !s.isFunction(t)) return s.inspect(t);
					var e = y(t);
					return "[Function" + (e ? ": " + e : "") + "]";
				}
				function v(t, e, r, n, i) {
					throw new p.AssertionError({
						message: r,
						actual: t,
						expected: e,
						operator: n,
						stackStartFunction: i
					});
				}
				function m(t, e) {
					t || v(t, !0, e, "==", p.ok);
				}
				function S(t, e, r, n) {
					if (t === e) return !0;
					if (o(t) && o(e)) return 0 === i(t, e);
					if (s.isDate(t) && s.isDate(e)) return t.getTime() === e.getTime();
					if (s.isRegExp(t) && s.isRegExp(e)) return t.source === e.source && t.global === e.global && t.multiline === e.multiline && t.lastIndex === e.lastIndex && t.ignoreCase === e.ignoreCase;
					if (null !== t && "object" == typeof t || null !== e && "object" == typeof e) {
						if (h(t) && h(e) && c(t) === c(e) && !(t instanceof Float32Array || t instanceof Float64Array)) return 0 === i(new Uint8Array(t.buffer), new Uint8Array(e.buffer));
						if (o(t) !== o(e)) return !1;
						var a = (n = n || {
							actual: [],
							expected: []
						}).actual.indexOf(t);
						return -1 !== a && a === n.expected.indexOf(e) || (n.actual.push(t), n.expected.push(e), function(t, e, r, n) {
							if (null == t || null == e) return !1;
							if (s.isPrimitive(t) || s.isPrimitive(e)) return t === e;
							if (r && Object.getPrototypeOf(t) !== Object.getPrototypeOf(e)) return !1;
							var i = _(t), o = _(e);
							if (i && !o || !i && o) return !1;
							if (i) return S(t = f.call(t), e = f.call(e), r);
							var a, u, c = w(t), h = w(e);
							if (c.length !== h.length) return !1;
							for (c.sort(), h.sort(), u = c.length - 1; u >= 0; u--) if (c[u] !== h[u]) return !1;
							for (u = c.length - 1; u >= 0; u--) if (!S(t[a = c[u]], e[a], r, n)) return !1;
							return !0;
						}(t, e, r, n));
					}
					return r ? t === e : t == e;
				}
				function _(t) {
					return "[object Arguments]" == Object.prototype.toString.call(t);
				}
				function b(t, e) {
					if (!t || !e) return !1;
					if ("[object RegExp]" == Object.prototype.toString.call(e)) return e.test(t);
					try {
						if (t instanceof e) return !0;
					} catch (t) {}
					return !Error.isPrototypeOf(e) && !0 === e.call({}, t);
				}
				function E(t, e, r, n) {
					var i;
					if ("function" != typeof e) throw new TypeError("\"block\" argument must be a function");
					"string" == typeof r && (n = r, r = null), i = function(t) {
						var e;
						try {
							t();
						} catch (t) {
							e = t;
						}
						return e;
					}(e), n = (r && r.name ? " (" + r.name + ")." : ".") + (n ? " " + n : "."), t && !i && v(i, r, "Missing expected exception" + n);
					var o = "string" == typeof n, a = !t && i && !r;
					if ((!t && s.isError(i) && o && b(i, r) || a) && v(i, r, "Got unwanted exception" + n), t && i && r && !b(i, r) || !t && i) throw i;
				}
				p.AssertionError = function(t) {
					this.name = "AssertionError", this.actual = t.actual, this.expected = t.expected, this.operator = t.operator, t.message ? (this.message = t.message, this.generatedMessage = !1) : (this.message = g(d(this.actual), 128) + " " + this.operator + " " + g(d(this.expected), 128), this.generatedMessage = !0);
					var e = t.stackStartFunction || v;
					if (Error.captureStackTrace) Error.captureStackTrace(this, e);
					else {
						var r = new Error();
						if (r.stack) {
							var n = r.stack, i = y(e), o = n.indexOf("\n" + i);
							if (o >= 0) {
								var s = n.indexOf("\n", o + 1);
								n = n.substring(s + 1);
							}
							this.stack = n;
						}
					}
				}, s.inherits(p.AssertionError, Error), p.fail = v, p.ok = m, p.equal = function(t, e, r) {
					t != e && v(t, e, r, "==", p.equal);
				}, p.notEqual = function(t, e, r) {
					t == e && v(t, e, r, "!=", p.notEqual);
				}, p.deepEqual = function(t, e, r) {
					S(t, e, !1) || v(t, e, r, "deepEqual", p.deepEqual);
				}, p.deepStrictEqual = function(t, e, r) {
					S(t, e, !0) || v(t, e, r, "deepStrictEqual", p.deepStrictEqual);
				}, p.notDeepEqual = function(t, e, r) {
					S(t, e, !1) && v(t, e, r, "notDeepEqual", p.notDeepEqual);
				}, p.notDeepStrictEqual = function t(e, r, n) {
					S(e, r, !0) && v(e, r, n, "notDeepStrictEqual", t);
				}, p.strictEqual = function(t, e, r) {
					t !== e && v(t, e, r, "===", p.strictEqual);
				}, p.notStrictEqual = function(t, e, r) {
					t === e && v(t, e, r, "!==", p.notStrictEqual);
				}, p.throws = function(t, e, r) {
					E(!0, t, e, r);
				}, p.doesNotThrow = function(t, e, r) {
					E(!1, t, e, r);
				}, p.ifError = function(t) {
					if (t) throw t;
				}, p.strict = n((function t(e, r) {
					e || v(e, !0, r, "==", t);
				}), p, {
					equal: p.strictEqual,
					deepEqual: p.deepStrictEqual,
					notEqual: p.notStrictEqual,
					notDeepEqual: p.notDeepStrictEqual
				}), p.strict.strict = p.strict;
				var w = Object.keys || function(t) {
					var e = [];
					for (var r in t) a.call(t, r) && e.push(r);
					return e;
				};
			},
			6100: (t) => {
				"function" == typeof Object.create ? t.exports = function(t, e) {
					t.super_ = e, t.prototype = Object.create(e.prototype, { constructor: {
						value: t,
						enumerable: !1,
						writable: !0,
						configurable: !0
					} });
				} : t.exports = function(t, e) {
					t.super_ = e;
					var r = function() {};
					r.prototype = e.prototype, t.prototype = new r(), t.prototype.constructor = t;
				};
			},
			3845: (t) => {
				t.exports = function(t) {
					return t && "object" == typeof t && "function" == typeof t.copy && "function" == typeof t.fill && "function" == typeof t.readUInt8;
				};
			},
			4591: (t, e, r) => {
				var n = r(5606), i = /%[sdj%]/g;
				e.format = function(t) {
					if (!v(t)) {
						for (var e = [], r = 0; r < arguments.length; r++) e.push(a(arguments[r]));
						return e.join(" ");
					}
					r = 1;
					for (var n = arguments, o = n.length, s = String(t).replace(i, (function(t) {
						if ("%%" === t) return "%";
						if (r >= o) return t;
						switch (t) {
							case "%s": return String(n[r++]);
							case "%d": return Number(n[r++]);
							case "%j": try {
								return JSON.stringify(n[r++]);
							} catch (t) {
								return "[Circular]";
							}
							default: return t;
						}
					})), f = n[r]; r < o; f = n[++r]) g(f) || !_(f) ? s += " " + f : s += " " + a(f);
					return s;
				}, e.deprecate = function(t, i) {
					if (m(r.g.process)) return function() {
						return e.deprecate(t, i).apply(this, arguments);
					};
					if (!0 === n.noDeprecation) return t;
					var o = !1;
					return function() {
						if (!o) {
							if (n.throwDeprecation) throw new Error(i);
							n.traceDeprecation ? console.trace(i) : console.error(i), o = !0;
						}
						return t.apply(this, arguments);
					};
				};
				var o, s = {};
				function a(t, r) {
					var n = {
						seen: [],
						stylize: u
					};
					return arguments.length >= 3 && (n.depth = arguments[2]), arguments.length >= 4 && (n.colors = arguments[3]), y(r) ? n.showHidden = r : r && e._extend(n, r), m(n.showHidden) && (n.showHidden = !1), m(n.depth) && (n.depth = 2), m(n.colors) && (n.colors = !1), m(n.customInspect) && (n.customInspect = !0), n.colors && (n.stylize = f), c(n, t, n.depth);
				}
				function f(t, e) {
					var r = a.styles[e];
					return r ? "\x1B[" + a.colors[r][0] + "m" + t + "\x1B[" + a.colors[r][1] + "m" : t;
				}
				function u(t, e) {
					return t;
				}
				function c(t, r, n) {
					if (t.customInspect && r && w(r.inspect) && r.inspect !== e.inspect && (!r.constructor || r.constructor.prototype !== r)) {
						var i = r.inspect(n, t);
						return v(i) || (i = c(t, i, n)), i;
					}
					var o = function(t, e) {
						if (m(e)) return t.stylize("undefined", "undefined");
						if (v(e)) {
							var r = "'" + JSON.stringify(e).replace(/^"|"$/g, "").replace(/'/g, "\\'").replace(/\\"/g, "\"") + "'";
							return t.stylize(r, "string");
						}
						return d(e) ? t.stylize("" + e, "number") : y(e) ? t.stylize("" + e, "boolean") : g(e) ? t.stylize("null", "null") : void 0;
					}(t, r);
					if (o) return o;
					var s = Object.keys(r), a = function(t) {
						var e = {};
						return t.forEach((function(t, r) {
							e[t] = !0;
						})), e;
					}(s);
					if (t.showHidden && (s = Object.getOwnPropertyNames(r)), E(r) && (s.indexOf("message") >= 0 || s.indexOf("description") >= 0)) return h(r);
					if (0 === s.length) {
						if (w(r)) {
							var f = r.name ? ": " + r.name : "";
							return t.stylize("[Function" + f + "]", "special");
						}
						if (S(r)) return t.stylize(RegExp.prototype.toString.call(r), "regexp");
						if (b(r)) return t.stylize(Date.prototype.toString.call(r), "date");
						if (E(r)) return h(r);
					}
					var u, _ = "", O = !1, B = ["{", "}"];
					return l(r) && (O = !0, B = ["[", "]"]), w(r) && (_ = " [Function" + (r.name ? ": " + r.name : "") + "]"), S(r) && (_ = " " + RegExp.prototype.toString.call(r)), b(r) && (_ = " " + Date.prototype.toUTCString.call(r)), E(r) && (_ = " " + h(r)), 0 !== s.length || O && 0 != r.length ? n < 0 ? S(r) ? t.stylize(RegExp.prototype.toString.call(r), "regexp") : t.stylize("[Object]", "special") : (t.seen.push(r), u = O ? function(t, e, r, n, i) {
						for (var o = [], s = 0, a = e.length; s < a; ++s) x(e, String(s)) ? o.push(p(t, e, r, n, String(s), !0)) : o.push("");
						return i.forEach((function(i) {
							i.match(/^\d+$/) || o.push(p(t, e, r, n, i, !0));
						})), o;
					}(t, r, n, a, s) : s.map((function(e) {
						return p(t, r, n, a, e, O);
					})), t.seen.pop(), function(t, e, r) {
						return t.reduce((function(t, e) {
							return e.indexOf("\n"), t + e.replace(/\u001b\[\d\d?m/g, "").length + 1;
						}), 0) > 60 ? r[0] + ("" === e ? "" : e + "\n ") + " " + t.join(",\n  ") + " " + r[1] : r[0] + e + " " + t.join(", ") + " " + r[1];
					}(u, _, B)) : B[0] + _ + B[1];
				}
				function h(t) {
					return "[" + Error.prototype.toString.call(t) + "]";
				}
				function p(t, e, r, n, i, o) {
					var s, a, f;
					if ((f = Object.getOwnPropertyDescriptor(e, i) || { value: e[i] }).get ? a = f.set ? t.stylize("[Getter/Setter]", "special") : t.stylize("[Getter]", "special") : f.set && (a = t.stylize("[Setter]", "special")), x(n, i) || (s = "[" + i + "]"), a || (t.seen.indexOf(f.value) < 0 ? (a = g(r) ? c(t, f.value, null) : c(t, f.value, r - 1)).indexOf("\n") > -1 && (a = o ? a.split("\n").map((function(t) {
						return "  " + t;
					})).join("\n").substr(2) : "\n" + a.split("\n").map((function(t) {
						return "   " + t;
					})).join("\n")) : a = t.stylize("[Circular]", "special")), m(s)) {
						if (o && i.match(/^\d+$/)) return a;
						(s = JSON.stringify("" + i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/) ? (s = s.substr(1, s.length - 2), s = t.stylize(s, "name")) : (s = s.replace(/'/g, "\\'").replace(/\\"/g, "\"").replace(/(^"|"$)/g, "'"), s = t.stylize(s, "string"));
					}
					return s + ": " + a;
				}
				function l(t) {
					return Array.isArray(t);
				}
				function y(t) {
					return "boolean" == typeof t;
				}
				function g(t) {
					return null === t;
				}
				function d(t) {
					return "number" == typeof t;
				}
				function v(t) {
					return "string" == typeof t;
				}
				function m(t) {
					return void 0 === t;
				}
				function S(t) {
					return _(t) && "[object RegExp]" === O(t);
				}
				function _(t) {
					return "object" == typeof t && null !== t;
				}
				function b(t) {
					return _(t) && "[object Date]" === O(t);
				}
				function E(t) {
					return _(t) && ("[object Error]" === O(t) || t instanceof Error);
				}
				function w(t) {
					return "function" == typeof t;
				}
				function O(t) {
					return Object.prototype.toString.call(t);
				}
				function B(t) {
					return t < 10 ? "0" + t.toString(10) : t.toString(10);
				}
				e.debuglog = function(t) {
					if (m(o) && (o = n.env.NODE_DEBUG || ""), t = t.toUpperCase(), !s[t]) if (new RegExp("\\b" + t + "\\b", "i").test(o)) {
						var r = n.pid;
						s[t] = function() {
							var n = e.format.apply(e, arguments);
							console.error("%s %d: %s", t, r, n);
						};
					} else s[t] = function() {};
					return s[t];
				}, e.inspect = a, a.colors = {
					bold: [1, 22],
					italic: [3, 23],
					underline: [4, 24],
					inverse: [7, 27],
					white: [37, 39],
					grey: [90, 39],
					black: [30, 39],
					blue: [34, 39],
					cyan: [36, 39],
					green: [32, 39],
					magenta: [35, 39],
					red: [31, 39],
					yellow: [33, 39]
				}, a.styles = {
					special: "cyan",
					number: "yellow",
					boolean: "yellow",
					undefined: "grey",
					null: "bold",
					string: "green",
					date: "magenta",
					regexp: "red"
				}, e.isArray = l, e.isBoolean = y, e.isNull = g, e.isNullOrUndefined = function(t) {
					return null == t;
				}, e.isNumber = d, e.isString = v, e.isSymbol = function(t) {
					return "symbol" == typeof t;
				}, e.isUndefined = m, e.isRegExp = S, e.isObject = _, e.isDate = b, e.isError = E, e.isFunction = w, e.isPrimitive = function(t) {
					return null === t || "boolean" == typeof t || "number" == typeof t || "string" == typeof t || "symbol" == typeof t || void 0 === t;
				}, e.isBuffer = r(3845);
				var A = [
					"Jan",
					"Feb",
					"Mar",
					"Apr",
					"May",
					"Jun",
					"Jul",
					"Aug",
					"Sep",
					"Oct",
					"Nov",
					"Dec"
				];
				function x(t, e) {
					return Object.prototype.hasOwnProperty.call(t, e);
				}
				e.log = function() {
					var t, r;
					console.log("%s - %s", (r = [
						B((t = new Date()).getHours()),
						B(t.getMinutes()),
						B(t.getSeconds())
					].join(":"), [
						t.getDate(),
						A[t.getMonth()],
						r
					].join(" ")), e.format.apply(e, arguments));
				}, e.inherits = r(6100), e._extend = function(t, e) {
					if (!e || !_(e)) return t;
					for (var r = Object.keys(e), n = r.length; n--;) t[r[n]] = e[r[n]];
					return t;
				};
			},
			7526: (t, e) => {
				"use strict";
				e.byteLength = function(t) {
					var e = a(t), r = e[0], n = e[1];
					return 3 * (r + n) / 4 - n;
				}, e.toByteArray = function(t) {
					var e, r, o = a(t), s = o[0], f = o[1], u = new i(function(t, e, r) {
						return 3 * (e + r) / 4 - r;
					}(0, s, f)), c = 0, h = f > 0 ? s - 4 : s;
					for (r = 0; r < h; r += 4) e = n[t.charCodeAt(r)] << 18 | n[t.charCodeAt(r + 1)] << 12 | n[t.charCodeAt(r + 2)] << 6 | n[t.charCodeAt(r + 3)], u[c++] = e >> 16 & 255, u[c++] = e >> 8 & 255, u[c++] = 255 & e;
					return 2 === f && (e = n[t.charCodeAt(r)] << 2 | n[t.charCodeAt(r + 1)] >> 4, u[c++] = 255 & e), 1 === f && (e = n[t.charCodeAt(r)] << 10 | n[t.charCodeAt(r + 1)] << 4 | n[t.charCodeAt(r + 2)] >> 2, u[c++] = e >> 8 & 255, u[c++] = 255 & e), u;
				}, e.fromByteArray = function(t) {
					for (var e, n = t.length, i = n % 3, o = [], s = 16383, a = 0, u = n - i; a < u; a += s) o.push(f(t, a, a + s > u ? u : a + s));
					return 1 === i ? (e = t[n - 1], o.push(r[e >> 2] + r[e << 4 & 63] + "==")) : 2 === i && (e = (t[n - 2] << 8) + t[n - 1], o.push(r[e >> 10] + r[e >> 4 & 63] + r[e << 2 & 63] + "=")), o.join("");
				};
				for (var r = [], n = [], i = "undefined" != typeof Uint8Array ? Uint8Array : Array, o = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", s = 0; s < 64; ++s) r[s] = o[s], n[o.charCodeAt(s)] = s;
				function a(t) {
					var e = t.length;
					if (e % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4");
					var r = t.indexOf("=");
					return -1 === r && (r = e), [r, r === e ? 0 : 4 - r % 4];
				}
				function f(t, e, n) {
					for (var i, o, s = [], a = e; a < n; a += 3) i = (t[a] << 16 & 16711680) + (t[a + 1] << 8 & 65280) + (255 & t[a + 2]), s.push(r[(o = i) >> 18 & 63] + r[o >> 12 & 63] + r[o >> 6 & 63] + r[63 & o]);
					return s.join("");
				}
				n["-".charCodeAt(0)] = 62, n["_".charCodeAt(0)] = 63;
			},
			8287: (t, e, r) => {
				"use strict";
				var n = r(7526), i = r(251);
				e.Buffer = a, e.SlowBuffer = function(t) {
					return +t != t && (t = 0), a.alloc(+t);
				}, e.INSPECT_MAX_BYTES = 50;
				var o = 2147483647;
				function s(t) {
					if (t > o) throw new RangeError("The value \"" + t + "\" is invalid for option \"size\"");
					var e = new Uint8Array(t);
					return e.__proto__ = a.prototype, e;
				}
				function a(t, e, r) {
					if ("number" == typeof t) {
						if ("string" == typeof e) throw new TypeError("The \"string\" argument must be of type string. Received type number");
						return c(t);
					}
					return f(t, e, r);
				}
				function f(t, e, r) {
					if ("string" == typeof t) return function(t, e) {
						if ("string" == typeof e && "" !== e || (e = "utf8"), !a.isEncoding(e)) throw new TypeError("Unknown encoding: " + e);
						var r = 0 | l(t, e), n = s(r), i = n.write(t, e);
						return i !== r && (n = n.slice(0, i)), n;
					}(t, e);
					if (ArrayBuffer.isView(t)) return h(t);
					if (null == t) throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof t);
					if (H(t, ArrayBuffer) || t && H(t.buffer, ArrayBuffer)) return function(t, e, r) {
						if (e < 0 || t.byteLength < e) throw new RangeError("\"offset\" is outside of buffer bounds");
						if (t.byteLength < e + (r || 0)) throw new RangeError("\"length\" is outside of buffer bounds");
						var n;
						return (n = void 0 === e && void 0 === r ? new Uint8Array(t) : void 0 === r ? new Uint8Array(t, e) : new Uint8Array(t, e, r)).__proto__ = a.prototype, n;
					}(t, e, r);
					if ("number" == typeof t) throw new TypeError("The \"value\" argument must not be of type number. Received type number");
					var n = t.valueOf && t.valueOf();
					if (null != n && n !== t) return a.from(n, e, r);
					var i = function(t) {
						if (a.isBuffer(t)) {
							var e = 0 | p(t.length), r = s(e);
							return 0 === r.length || t.copy(r, 0, 0, e), r;
						}
						return void 0 !== t.length ? "number" != typeof t.length || F(t.length) ? s(0) : h(t) : "Buffer" === t.type && Array.isArray(t.data) ? h(t.data) : void 0;
					}(t);
					if (i) return i;
					if ("undefined" != typeof Symbol && null != Symbol.toPrimitive && "function" == typeof t[Symbol.toPrimitive]) return a.from(t[Symbol.toPrimitive]("string"), e, r);
					throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof t);
				}
				function u(t) {
					if ("number" != typeof t) throw new TypeError("\"size\" argument must be of type number");
					if (t < 0) throw new RangeError("The value \"" + t + "\" is invalid for option \"size\"");
				}
				function c(t) {
					return u(t), s(t < 0 ? 0 : 0 | p(t));
				}
				function h(t) {
					for (var e = t.length < 0 ? 0 : 0 | p(t.length), r = s(e), n = 0; n < e; n += 1) r[n] = 255 & t[n];
					return r;
				}
				function p(t) {
					if (t >= o) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + o.toString(16) + " bytes");
					return 0 | t;
				}
				function l(t, e) {
					if (a.isBuffer(t)) return t.length;
					if (ArrayBuffer.isView(t) || H(t, ArrayBuffer)) return t.byteLength;
					if ("string" != typeof t) throw new TypeError("The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type " + typeof t);
					var r = t.length, n = arguments.length > 2 && !0 === arguments[2];
					if (!n && 0 === r) return 0;
					for (var i = !1;;) switch (e) {
						case "ascii":
						case "latin1":
						case "binary": return r;
						case "utf8":
						case "utf-8": return U(t).length;
						case "ucs2":
						case "ucs-2":
						case "utf16le":
						case "utf-16le": return 2 * r;
						case "hex": return r >>> 1;
						case "base64": return M(t).length;
						default:
							if (i) return n ? -1 : U(t).length;
							e = ("" + e).toLowerCase(), i = !0;
					}
				}
				function y(t, e, r) {
					var n = !1;
					if ((void 0 === e || e < 0) && (e = 0), e > this.length) return "";
					if ((void 0 === r || r > this.length) && (r = this.length), r <= 0) return "";
					if ((r >>>= 0) <= (e >>>= 0)) return "";
					for (t || (t = "utf8");;) switch (t) {
						case "hex": return T(this, e, r);
						case "utf8":
						case "utf-8": return B(this, e, r);
						case "ascii": return x(this, e, r);
						case "latin1":
						case "binary": return P(this, e, r);
						case "base64": return O(this, e, r);
						case "ucs2":
						case "ucs-2":
						case "utf16le":
						case "utf-16le": return I(this, e, r);
						default:
							if (n) throw new TypeError("Unknown encoding: " + t);
							t = (t + "").toLowerCase(), n = !0;
					}
				}
				function g(t, e, r) {
					var n = t[e];
					t[e] = t[r], t[r] = n;
				}
				function d(t, e, r, n, i) {
					if (0 === t.length) return -1;
					if ("string" == typeof r ? (n = r, r = 0) : r > 2147483647 ? r = 2147483647 : r < -2147483648 && (r = -2147483648), F(r = +r) && (r = i ? 0 : t.length - 1), r < 0 && (r = t.length + r), r >= t.length) {
						if (i) return -1;
						r = t.length - 1;
					} else if (r < 0) {
						if (!i) return -1;
						r = 0;
					}
					if ("string" == typeof e && (e = a.from(e, n)), a.isBuffer(e)) return 0 === e.length ? -1 : v(t, e, r, n, i);
					if ("number" == typeof e) return e &= 255, "function" == typeof Uint8Array.prototype.indexOf ? i ? Uint8Array.prototype.indexOf.call(t, e, r) : Uint8Array.prototype.lastIndexOf.call(t, e, r) : v(t, [e], r, n, i);
					throw new TypeError("val must be string, number or Buffer");
				}
				function v(t, e, r, n, i) {
					var o, s = 1, a = t.length, f = e.length;
					if (void 0 !== n && ("ucs2" === (n = String(n).toLowerCase()) || "ucs-2" === n || "utf16le" === n || "utf-16le" === n)) {
						if (t.length < 2 || e.length < 2) return -1;
						s = 2, a /= 2, f /= 2, r /= 2;
					}
					function u(t, e) {
						return 1 === s ? t[e] : t.readUInt16BE(e * s);
					}
					if (i) {
						var c = -1;
						for (o = r; o < a; o++) if (u(t, o) === u(e, -1 === c ? 0 : o - c)) {
							if (-1 === c && (c = o), o - c + 1 === f) return c * s;
						} else -1 !== c && (o -= o - c), c = -1;
					} else for (r + f > a && (r = a - f), o = r; o >= 0; o--) {
						for (var h = !0, p = 0; p < f; p++) if (u(t, o + p) !== u(e, p)) {
							h = !1;
							break;
						}
						if (h) return o;
					}
					return -1;
				}
				function m(t, e, r, n) {
					r = Number(r) || 0;
					var i = t.length - r;
					n ? (n = Number(n)) > i && (n = i) : n = i;
					var o = e.length;
					n > o / 2 && (n = o / 2);
					for (var s = 0; s < n; ++s) {
						var a = parseInt(e.substr(2 * s, 2), 16);
						if (F(a)) return s;
						t[r + s] = a;
					}
					return s;
				}
				function S(t, e, r, n) {
					return j(U(e, t.length - r), t, r, n);
				}
				function _(t, e, r, n) {
					return j(function(t) {
						for (var e = [], r = 0; r < t.length; ++r) e.push(255 & t.charCodeAt(r));
						return e;
					}(e), t, r, n);
				}
				function b(t, e, r, n) {
					return _(t, e, r, n);
				}
				function E(t, e, r, n) {
					return j(M(e), t, r, n);
				}
				function w(t, e, r, n) {
					return j(function(t, e) {
						for (var r, n, i, o = [], s = 0; s < t.length && !((e -= 2) < 0); ++s) n = (r = t.charCodeAt(s)) >> 8, i = r % 256, o.push(i), o.push(n);
						return o;
					}(e, t.length - r), t, r, n);
				}
				function O(t, e, r) {
					return 0 === e && r === t.length ? n.fromByteArray(t) : n.fromByteArray(t.slice(e, r));
				}
				function B(t, e, r) {
					r = Math.min(t.length, r);
					for (var n = [], i = e; i < r;) {
						var o, s, a, f, u = t[i], c = null, h = u > 239 ? 4 : u > 223 ? 3 : u > 191 ? 2 : 1;
						if (i + h <= r) switch (h) {
							case 1:
								u < 128 && (c = u);
								break;
							case 2:
								128 == (192 & (o = t[i + 1])) && (f = (31 & u) << 6 | 63 & o) > 127 && (c = f);
								break;
							case 3:
								o = t[i + 1], s = t[i + 2], 128 == (192 & o) && 128 == (192 & s) && (f = (15 & u) << 12 | (63 & o) << 6 | 63 & s) > 2047 && (f < 55296 || f > 57343) && (c = f);
								break;
							case 4: o = t[i + 1], s = t[i + 2], a = t[i + 3], 128 == (192 & o) && 128 == (192 & s) && 128 == (192 & a) && (f = (15 & u) << 18 | (63 & o) << 12 | (63 & s) << 6 | 63 & a) > 65535 && f < 1114112 && (c = f);
						}
						null === c ? (c = 65533, h = 1) : c > 65535 && (c -= 65536, n.push(c >>> 10 & 1023 | 55296), c = 56320 | 1023 & c), n.push(c), i += h;
					}
					return function(t) {
						var e = t.length;
						if (e <= A) return String.fromCharCode.apply(String, t);
						for (var r = "", n = 0; n < e;) r += String.fromCharCode.apply(String, t.slice(n, n += A));
						return r;
					}(n);
				}
				e.kMaxLength = o, a.TYPED_ARRAY_SUPPORT = function() {
					try {
						var t = new Uint8Array(1);
						return t.__proto__ = {
							__proto__: Uint8Array.prototype,
							foo: function() {
								return 42;
							}
						}, 42 === t.foo();
					} catch (t) {
						return !1;
					}
				}(), a.TYPED_ARRAY_SUPPORT || "undefined" == typeof console || "function" != typeof console.error || console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."), Object.defineProperty(a.prototype, "parent", {
					enumerable: !0,
					get: function() {
						if (a.isBuffer(this)) return this.buffer;
					}
				}), Object.defineProperty(a.prototype, "offset", {
					enumerable: !0,
					get: function() {
						if (a.isBuffer(this)) return this.byteOffset;
					}
				}), "undefined" != typeof Symbol && null != Symbol.species && a[Symbol.species] === a && Object.defineProperty(a, Symbol.species, {
					value: null,
					configurable: !0,
					enumerable: !1,
					writable: !1
				}), a.poolSize = 8192, a.from = function(t, e, r) {
					return f(t, e, r);
				}, a.prototype.__proto__ = Uint8Array.prototype, a.__proto__ = Uint8Array, a.alloc = function(t, e, r) {
					return function(t, e, r) {
						return u(t), t <= 0 ? s(t) : void 0 !== e ? "string" == typeof r ? s(t).fill(e, r) : s(t).fill(e) : s(t);
					}(t, e, r);
				}, a.allocUnsafe = function(t) {
					return c(t);
				}, a.allocUnsafeSlow = function(t) {
					return c(t);
				}, a.isBuffer = function(t) {
					return null != t && !0 === t._isBuffer && t !== a.prototype;
				}, a.compare = function(t, e) {
					if (H(t, Uint8Array) && (t = a.from(t, t.offset, t.byteLength)), H(e, Uint8Array) && (e = a.from(e, e.offset, e.byteLength)), !a.isBuffer(t) || !a.isBuffer(e)) throw new TypeError("The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array");
					if (t === e) return 0;
					for (var r = t.length, n = e.length, i = 0, o = Math.min(r, n); i < o; ++i) if (t[i] !== e[i]) {
						r = t[i], n = e[i];
						break;
					}
					return r < n ? -1 : n < r ? 1 : 0;
				}, a.isEncoding = function(t) {
					switch (String(t).toLowerCase()) {
						case "hex":
						case "utf8":
						case "utf-8":
						case "ascii":
						case "latin1":
						case "binary":
						case "base64":
						case "ucs2":
						case "ucs-2":
						case "utf16le":
						case "utf-16le": return !0;
						default: return !1;
					}
				}, a.concat = function(t, e) {
					if (!Array.isArray(t)) throw new TypeError("\"list\" argument must be an Array of Buffers");
					if (0 === t.length) return a.alloc(0);
					var r;
					if (void 0 === e) for (e = 0, r = 0; r < t.length; ++r) e += t[r].length;
					var n = a.allocUnsafe(e), i = 0;
					for (r = 0; r < t.length; ++r) {
						var o = t[r];
						if (H(o, Uint8Array) && (o = a.from(o)), !a.isBuffer(o)) throw new TypeError("\"list\" argument must be an Array of Buffers");
						o.copy(n, i), i += o.length;
					}
					return n;
				}, a.byteLength = l, a.prototype._isBuffer = !0, a.prototype.swap16 = function() {
					var t = this.length;
					if (t % 2 != 0) throw new RangeError("Buffer size must be a multiple of 16-bits");
					for (var e = 0; e < t; e += 2) g(this, e, e + 1);
					return this;
				}, a.prototype.swap32 = function() {
					var t = this.length;
					if (t % 4 != 0) throw new RangeError("Buffer size must be a multiple of 32-bits");
					for (var e = 0; e < t; e += 4) g(this, e, e + 3), g(this, e + 1, e + 2);
					return this;
				}, a.prototype.swap64 = function() {
					var t = this.length;
					if (t % 8 != 0) throw new RangeError("Buffer size must be a multiple of 64-bits");
					for (var e = 0; e < t; e += 8) g(this, e, e + 7), g(this, e + 1, e + 6), g(this, e + 2, e + 5), g(this, e + 3, e + 4);
					return this;
				}, a.prototype.toString = function() {
					var t = this.length;
					return 0 === t ? "" : 0 === arguments.length ? B(this, 0, t) : y.apply(this, arguments);
				}, a.prototype.toLocaleString = a.prototype.toString, a.prototype.equals = function(t) {
					if (!a.isBuffer(t)) throw new TypeError("Argument must be a Buffer");
					return this === t || 0 === a.compare(this, t);
				}, a.prototype.inspect = function() {
					var t = "", r = e.INSPECT_MAX_BYTES;
					return t = this.toString("hex", 0, r).replace(/(.{2})/g, "$1 ").trim(), this.length > r && (t += " ... "), "<Buffer " + t + ">";
				}, a.prototype.compare = function(t, e, r, n, i) {
					if (H(t, Uint8Array) && (t = a.from(t, t.offset, t.byteLength)), !a.isBuffer(t)) throw new TypeError("The \"target\" argument must be one of type Buffer or Uint8Array. Received type " + typeof t);
					if (void 0 === e && (e = 0), void 0 === r && (r = t ? t.length : 0), void 0 === n && (n = 0), void 0 === i && (i = this.length), e < 0 || r > t.length || n < 0 || i > this.length) throw new RangeError("out of range index");
					if (n >= i && e >= r) return 0;
					if (n >= i) return -1;
					if (e >= r) return 1;
					if (this === t) return 0;
					for (var o = (i >>>= 0) - (n >>>= 0), s = (r >>>= 0) - (e >>>= 0), f = Math.min(o, s), u = this.slice(n, i), c = t.slice(e, r), h = 0; h < f; ++h) if (u[h] !== c[h]) {
						o = u[h], s = c[h];
						break;
					}
					return o < s ? -1 : s < o ? 1 : 0;
				}, a.prototype.includes = function(t, e, r) {
					return -1 !== this.indexOf(t, e, r);
				}, a.prototype.indexOf = function(t, e, r) {
					return d(this, t, e, r, !0);
				}, a.prototype.lastIndexOf = function(t, e, r) {
					return d(this, t, e, r, !1);
				}, a.prototype.write = function(t, e, r, n) {
					if (void 0 === e) n = "utf8", r = this.length, e = 0;
					else if (void 0 === r && "string" == typeof e) n = e, r = this.length, e = 0;
					else {
						if (!isFinite(e)) throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");
						e >>>= 0, isFinite(r) ? (r >>>= 0, void 0 === n && (n = "utf8")) : (n = r, r = void 0);
					}
					var i = this.length - e;
					if ((void 0 === r || r > i) && (r = i), t.length > 0 && (r < 0 || e < 0) || e > this.length) throw new RangeError("Attempt to write outside buffer bounds");
					n || (n = "utf8");
					for (var o = !1;;) switch (n) {
						case "hex": return m(this, t, e, r);
						case "utf8":
						case "utf-8": return S(this, t, e, r);
						case "ascii": return _(this, t, e, r);
						case "latin1":
						case "binary": return b(this, t, e, r);
						case "base64": return E(this, t, e, r);
						case "ucs2":
						case "ucs-2":
						case "utf16le":
						case "utf-16le": return w(this, t, e, r);
						default:
							if (o) throw new TypeError("Unknown encoding: " + n);
							n = ("" + n).toLowerCase(), o = !0;
					}
				}, a.prototype.toJSON = function() {
					return {
						type: "Buffer",
						data: Array.prototype.slice.call(this._arr || this, 0)
					};
				};
				var A = 4096;
				function x(t, e, r) {
					var n = "";
					r = Math.min(t.length, r);
					for (var i = e; i < r; ++i) n += String.fromCharCode(127 & t[i]);
					return n;
				}
				function P(t, e, r) {
					var n = "";
					r = Math.min(t.length, r);
					for (var i = e; i < r; ++i) n += String.fromCharCode(t[i]);
					return n;
				}
				function T(t, e, r) {
					var n, i = t.length;
					(!e || e < 0) && (e = 0), (!r || r < 0 || r > i) && (r = i);
					for (var o = "", s = e; s < r; ++s) o += (n = t[s]) < 16 ? "0" + n.toString(16) : n.toString(16);
					return o;
				}
				function I(t, e, r) {
					for (var n = t.slice(e, r), i = "", o = 0; o < n.length; o += 2) i += String.fromCharCode(n[o] + 256 * n[o + 1]);
					return i;
				}
				function k(t, e, r) {
					if (t % 1 != 0 || t < 0) throw new RangeError("offset is not uint");
					if (t + e > r) throw new RangeError("Trying to access beyond buffer length");
				}
				function D(t, e, r, n, i, o) {
					if (!a.isBuffer(t)) throw new TypeError("\"buffer\" argument must be a Buffer instance");
					if (e > i || e < o) throw new RangeError("\"value\" argument is out of bounds");
					if (r + n > t.length) throw new RangeError("Index out of range");
				}
				function R(t, e, r, n, i, o) {
					if (r + n > t.length) throw new RangeError("Index out of range");
					if (r < 0) throw new RangeError("Index out of range");
				}
				function N(t, e, r, n, o) {
					return e = +e, r >>>= 0, o || R(t, 0, r, 4), i.write(t, e, r, n, 23, 4), r + 4;
				}
				function L(t, e, r, n, o) {
					return e = +e, r >>>= 0, o || R(t, 0, r, 8), i.write(t, e, r, n, 52, 8), r + 8;
				}
				a.prototype.slice = function(t, e) {
					var r = this.length;
					(t = ~~t) < 0 ? (t += r) < 0 && (t = 0) : t > r && (t = r), (e = void 0 === e ? r : ~~e) < 0 ? (e += r) < 0 && (e = 0) : e > r && (e = r), e < t && (e = t);
					var n = this.subarray(t, e);
					return n.__proto__ = a.prototype, n;
				}, a.prototype.readUIntLE = function(t, e, r) {
					t >>>= 0, e >>>= 0, r || k(t, e, this.length);
					for (var n = this[t], i = 1, o = 0; ++o < e && (i *= 256);) n += this[t + o] * i;
					return n;
				}, a.prototype.readUIntBE = function(t, e, r) {
					t >>>= 0, e >>>= 0, r || k(t, e, this.length);
					for (var n = this[t + --e], i = 1; e > 0 && (i *= 256);) n += this[t + --e] * i;
					return n;
				}, a.prototype.readUInt8 = function(t, e) {
					return t >>>= 0, e || k(t, 1, this.length), this[t];
				}, a.prototype.readUInt16LE = function(t, e) {
					return t >>>= 0, e || k(t, 2, this.length), this[t] | this[t + 1] << 8;
				}, a.prototype.readUInt16BE = function(t, e) {
					return t >>>= 0, e || k(t, 2, this.length), this[t] << 8 | this[t + 1];
				}, a.prototype.readUInt32LE = function(t, e) {
					return t >>>= 0, e || k(t, 4, this.length), (this[t] | this[t + 1] << 8 | this[t + 2] << 16) + 16777216 * this[t + 3];
				}, a.prototype.readUInt32BE = function(t, e) {
					return t >>>= 0, e || k(t, 4, this.length), 16777216 * this[t] + (this[t + 1] << 16 | this[t + 2] << 8 | this[t + 3]);
				}, a.prototype.readIntLE = function(t, e, r) {
					t >>>= 0, e >>>= 0, r || k(t, e, this.length);
					for (var n = this[t], i = 1, o = 0; ++o < e && (i *= 256);) n += this[t + o] * i;
					return n >= (i *= 128) && (n -= Math.pow(2, 8 * e)), n;
				}, a.prototype.readIntBE = function(t, e, r) {
					t >>>= 0, e >>>= 0, r || k(t, e, this.length);
					for (var n = e, i = 1, o = this[t + --n]; n > 0 && (i *= 256);) o += this[t + --n] * i;
					return o >= (i *= 128) && (o -= Math.pow(2, 8 * e)), o;
				}, a.prototype.readInt8 = function(t, e) {
					return t >>>= 0, e || k(t, 1, this.length), 128 & this[t] ? -1 * (255 - this[t] + 1) : this[t];
				}, a.prototype.readInt16LE = function(t, e) {
					t >>>= 0, e || k(t, 2, this.length);
					var r = this[t] | this[t + 1] << 8;
					return 32768 & r ? 4294901760 | r : r;
				}, a.prototype.readInt16BE = function(t, e) {
					t >>>= 0, e || k(t, 2, this.length);
					var r = this[t + 1] | this[t] << 8;
					return 32768 & r ? 4294901760 | r : r;
				}, a.prototype.readInt32LE = function(t, e) {
					return t >>>= 0, e || k(t, 4, this.length), this[t] | this[t + 1] << 8 | this[t + 2] << 16 | this[t + 3] << 24;
				}, a.prototype.readInt32BE = function(t, e) {
					return t >>>= 0, e || k(t, 4, this.length), this[t] << 24 | this[t + 1] << 16 | this[t + 2] << 8 | this[t + 3];
				}, a.prototype.readFloatLE = function(t, e) {
					return t >>>= 0, e || k(t, 4, this.length), i.read(this, t, !0, 23, 4);
				}, a.prototype.readFloatBE = function(t, e) {
					return t >>>= 0, e || k(t, 4, this.length), i.read(this, t, !1, 23, 4);
				}, a.prototype.readDoubleLE = function(t, e) {
					return t >>>= 0, e || k(t, 8, this.length), i.read(this, t, !0, 52, 8);
				}, a.prototype.readDoubleBE = function(t, e) {
					return t >>>= 0, e || k(t, 8, this.length), i.read(this, t, !1, 52, 8);
				}, a.prototype.writeUIntLE = function(t, e, r, n) {
					t = +t, e >>>= 0, r >>>= 0, n || D(this, t, e, r, Math.pow(2, 8 * r) - 1, 0);
					var i = 1, o = 0;
					for (this[e] = 255 & t; ++o < r && (i *= 256);) this[e + o] = t / i & 255;
					return e + r;
				}, a.prototype.writeUIntBE = function(t, e, r, n) {
					t = +t, e >>>= 0, r >>>= 0, n || D(this, t, e, r, Math.pow(2, 8 * r) - 1, 0);
					var i = r - 1, o = 1;
					for (this[e + i] = 255 & t; --i >= 0 && (o *= 256);) this[e + i] = t / o & 255;
					return e + r;
				}, a.prototype.writeUInt8 = function(t, e, r) {
					return t = +t, e >>>= 0, r || D(this, t, e, 1, 255, 0), this[e] = 255 & t, e + 1;
				}, a.prototype.writeUInt16LE = function(t, e, r) {
					return t = +t, e >>>= 0, r || D(this, t, e, 2, 65535, 0), this[e] = 255 & t, this[e + 1] = t >>> 8, e + 2;
				}, a.prototype.writeUInt16BE = function(t, e, r) {
					return t = +t, e >>>= 0, r || D(this, t, e, 2, 65535, 0), this[e] = t >>> 8, this[e + 1] = 255 & t, e + 2;
				}, a.prototype.writeUInt32LE = function(t, e, r) {
					return t = +t, e >>>= 0, r || D(this, t, e, 4, 4294967295, 0), this[e + 3] = t >>> 24, this[e + 2] = t >>> 16, this[e + 1] = t >>> 8, this[e] = 255 & t, e + 4;
				}, a.prototype.writeUInt32BE = function(t, e, r) {
					return t = +t, e >>>= 0, r || D(this, t, e, 4, 4294967295, 0), this[e] = t >>> 24, this[e + 1] = t >>> 16, this[e + 2] = t >>> 8, this[e + 3] = 255 & t, e + 4;
				}, a.prototype.writeIntLE = function(t, e, r, n) {
					if (t = +t, e >>>= 0, !n) {
						var i = Math.pow(2, 8 * r - 1);
						D(this, t, e, r, i - 1, -i);
					}
					var o = 0, s = 1, a = 0;
					for (this[e] = 255 & t; ++o < r && (s *= 256);) t < 0 && 0 === a && 0 !== this[e + o - 1] && (a = 1), this[e + o] = (t / s | 0) - a & 255;
					return e + r;
				}, a.prototype.writeIntBE = function(t, e, r, n) {
					if (t = +t, e >>>= 0, !n) {
						var i = Math.pow(2, 8 * r - 1);
						D(this, t, e, r, i - 1, -i);
					}
					var o = r - 1, s = 1, a = 0;
					for (this[e + o] = 255 & t; --o >= 0 && (s *= 256);) t < 0 && 0 === a && 0 !== this[e + o + 1] && (a = 1), this[e + o] = (t / s | 0) - a & 255;
					return e + r;
				}, a.prototype.writeInt8 = function(t, e, r) {
					return t = +t, e >>>= 0, r || D(this, t, e, 1, 127, -128), t < 0 && (t = 255 + t + 1), this[e] = 255 & t, e + 1;
				}, a.prototype.writeInt16LE = function(t, e, r) {
					return t = +t, e >>>= 0, r || D(this, t, e, 2, 32767, -32768), this[e] = 255 & t, this[e + 1] = t >>> 8, e + 2;
				}, a.prototype.writeInt16BE = function(t, e, r) {
					return t = +t, e >>>= 0, r || D(this, t, e, 2, 32767, -32768), this[e] = t >>> 8, this[e + 1] = 255 & t, e + 2;
				}, a.prototype.writeInt32LE = function(t, e, r) {
					return t = +t, e >>>= 0, r || D(this, t, e, 4, 2147483647, -2147483648), this[e] = 255 & t, this[e + 1] = t >>> 8, this[e + 2] = t >>> 16, this[e + 3] = t >>> 24, e + 4;
				}, a.prototype.writeInt32BE = function(t, e, r) {
					return t = +t, e >>>= 0, r || D(this, t, e, 4, 2147483647, -2147483648), t < 0 && (t = 4294967295 + t + 1), this[e] = t >>> 24, this[e + 1] = t >>> 16, this[e + 2] = t >>> 8, this[e + 3] = 255 & t, e + 4;
				}, a.prototype.writeFloatLE = function(t, e, r) {
					return N(this, t, e, !0, r);
				}, a.prototype.writeFloatBE = function(t, e, r) {
					return N(this, t, e, !1, r);
				}, a.prototype.writeDoubleLE = function(t, e, r) {
					return L(this, t, e, !0, r);
				}, a.prototype.writeDoubleBE = function(t, e, r) {
					return L(this, t, e, !1, r);
				}, a.prototype.copy = function(t, e, r, n) {
					if (!a.isBuffer(t)) throw new TypeError("argument should be a Buffer");
					if (r || (r = 0), n || 0 === n || (n = this.length), e >= t.length && (e = t.length), e || (e = 0), n > 0 && n < r && (n = r), n === r) return 0;
					if (0 === t.length || 0 === this.length) return 0;
					if (e < 0) throw new RangeError("targetStart out of bounds");
					if (r < 0 || r >= this.length) throw new RangeError("Index out of range");
					if (n < 0) throw new RangeError("sourceEnd out of bounds");
					n > this.length && (n = this.length), t.length - e < n - r && (n = t.length - e + r);
					var i = n - r;
					if (this === t && "function" == typeof Uint8Array.prototype.copyWithin) this.copyWithin(e, r, n);
					else if (this === t && r < e && e < n) for (var o = i - 1; o >= 0; --o) t[o + e] = this[o + r];
					else Uint8Array.prototype.set.call(t, this.subarray(r, n), e);
					return i;
				}, a.prototype.fill = function(t, e, r, n) {
					if ("string" == typeof t) {
						if ("string" == typeof e ? (n = e, e = 0, r = this.length) : "string" == typeof r && (n = r, r = this.length), void 0 !== n && "string" != typeof n) throw new TypeError("encoding must be a string");
						if ("string" == typeof n && !a.isEncoding(n)) throw new TypeError("Unknown encoding: " + n);
						if (1 === t.length) {
							var i = t.charCodeAt(0);
							("utf8" === n && i < 128 || "latin1" === n) && (t = i);
						}
					} else "number" == typeof t && (t &= 255);
					if (e < 0 || this.length < e || this.length < r) throw new RangeError("Out of range index");
					if (r <= e) return this;
					var o;
					if (e >>>= 0, r = void 0 === r ? this.length : r >>> 0, t || (t = 0), "number" == typeof t) for (o = e; o < r; ++o) this[o] = t;
					else {
						var s = a.isBuffer(t) ? t : a.from(t, n), f = s.length;
						if (0 === f) throw new TypeError("The value \"" + t + "\" is invalid for argument \"value\"");
						for (o = 0; o < r - e; ++o) this[o + e] = s[o % f];
					}
					return this;
				};
				var C = /[^+/0-9A-Za-z-_]/g;
				function U(t, e) {
					var r;
					e = e || 1 / 0;
					for (var n = t.length, i = null, o = [], s = 0; s < n; ++s) {
						if ((r = t.charCodeAt(s)) > 55295 && r < 57344) {
							if (!i) {
								if (r > 56319) {
									(e -= 3) > -1 && o.push(239, 191, 189);
									continue;
								}
								if (s + 1 === n) {
									(e -= 3) > -1 && o.push(239, 191, 189);
									continue;
								}
								i = r;
								continue;
							}
							if (r < 56320) {
								(e -= 3) > -1 && o.push(239, 191, 189), i = r;
								continue;
							}
							r = 65536 + (i - 55296 << 10 | r - 56320);
						} else i && (e -= 3) > -1 && o.push(239, 191, 189);
						if (i = null, r < 128) {
							if ((e -= 1) < 0) break;
							o.push(r);
						} else if (r < 2048) {
							if ((e -= 2) < 0) break;
							o.push(r >> 6 | 192, 63 & r | 128);
						} else if (r < 65536) {
							if ((e -= 3) < 0) break;
							o.push(r >> 12 | 224, r >> 6 & 63 | 128, 63 & r | 128);
						} else {
							if (!(r < 1114112)) throw new Error("Invalid code point");
							if ((e -= 4) < 0) break;
							o.push(r >> 18 | 240, r >> 12 & 63 | 128, r >> 6 & 63 | 128, 63 & r | 128);
						}
					}
					return o;
				}
				function M(t) {
					return n.toByteArray(function(t) {
						if ((t = (t = t.split("=")[0]).trim().replace(C, "")).length < 2) return "";
						for (; t.length % 4 != 0;) t += "=";
						return t;
					}(t));
				}
				function j(t, e, r, n) {
					for (var i = 0; i < n && !(i + r >= e.length || i >= t.length); ++i) e[i + r] = t[i];
					return i;
				}
				function H(t, e) {
					return t instanceof e || null != t && null != t.constructor && null != t.constructor.name && t.constructor.name === e.name;
				}
				function F(t) {
					return t != t;
				}
			},
			8075: (t, e, r) => {
				"use strict";
				var n = r(453), i = r(487), o = i(n("String.prototype.indexOf"));
				t.exports = function(t, e) {
					var r = n(t, !!e);
					return "function" == typeof r && o(t, ".prototype.") > -1 ? i(r) : r;
				};
			},
			487: (t, e, r) => {
				"use strict";
				var n = r(6743), i = r(453), o = r(6897), s = r(9675), a = i("%Function.prototype.apply%"), f = i("%Function.prototype.call%"), u = i("%Reflect.apply%", !0) || n.call(f, a), c = r(655), h = i("%Math.max%");
				t.exports = function(t) {
					if ("function" != typeof t) throw new s("a function is required");
					var e = u(n, f, arguments);
					return o(e, 1 + h(0, t.length - (arguments.length - 1)), !0);
				};
				var p = function() {
					return u(n, a, arguments);
				};
				c ? c(t.exports, "apply", { value: p }) : t.exports.apply = p;
			},
			955: function(t, e, r) {
				var n;
				t.exports = (n = r(9021), r(754), r(4636), r(9506), r(7165), function() {
					var t = n, e = t.lib.BlockCipher, r = t.algo, i = [], o = [], s = [], a = [], f = [], u = [], c = [], h = [], p = [], l = [];
					!function() {
						for (var t = [], e = 0; e < 256; e++) t[e] = e < 128 ? e << 1 : e << 1 ^ 283;
						var r = 0, n = 0;
						for (e = 0; e < 256; e++) {
							var y = n ^ n << 1 ^ n << 2 ^ n << 3 ^ n << 4;
							y = y >>> 8 ^ 255 & y ^ 99, i[r] = y, o[y] = r;
							var g = t[r], d = t[g], v = t[d], m = 257 * t[y] ^ 16843008 * y;
							s[r] = m << 24 | m >>> 8, a[r] = m << 16 | m >>> 16, f[r] = m << 8 | m >>> 24, u[r] = m, m = 16843009 * v ^ 65537 * d ^ 257 * g ^ 16843008 * r, c[y] = m << 24 | m >>> 8, h[y] = m << 16 | m >>> 16, p[y] = m << 8 | m >>> 24, l[y] = m, r ? (r = g ^ t[t[t[v ^ g]]], n ^= t[t[n]]) : r = n = 1;
						}
					}();
					var y = [
						0,
						1,
						2,
						4,
						8,
						16,
						32,
						64,
						128,
						27,
						54
					], g = r.AES = e.extend({
						_doReset: function() {
							if (!this._nRounds || this._keyPriorReset !== this._key) {
								for (var t = this._keyPriorReset = this._key, e = t.words, r = t.sigBytes / 4, n = 4 * ((this._nRounds = r + 6) + 1), o = this._keySchedule = [], s = 0; s < n; s++) if (s < r) o[s] = e[s];
								else {
									var a = o[s - 1];
									s % r ? r > 6 && s % r == 4 && (a = i[a >>> 24] << 24 | i[a >>> 16 & 255] << 16 | i[a >>> 8 & 255] << 8 | i[255 & a]) : (a = i[(a = a << 8 | a >>> 24) >>> 24] << 24 | i[a >>> 16 & 255] << 16 | i[a >>> 8 & 255] << 8 | i[255 & a], a ^= y[s / r | 0] << 24), o[s] = o[s - r] ^ a;
								}
								for (var f = this._invKeySchedule = [], u = 0; u < n; u++) s = n - u, a = u % 4 ? o[s] : o[s - 4], f[u] = u < 4 || s <= 4 ? a : c[i[a >>> 24]] ^ h[i[a >>> 16 & 255]] ^ p[i[a >>> 8 & 255]] ^ l[i[255 & a]];
							}
						},
						encryptBlock: function(t, e) {
							this._doCryptBlock(t, e, this._keySchedule, s, a, f, u, i);
						},
						decryptBlock: function(t, e) {
							var r = t[e + 1];
							t[e + 1] = t[e + 3], t[e + 3] = r, this._doCryptBlock(t, e, this._invKeySchedule, c, h, p, l, o), r = t[e + 1], t[e + 1] = t[e + 3], t[e + 3] = r;
						},
						_doCryptBlock: function(t, e, r, n, i, o, s, a) {
							for (var f = this._nRounds, u = t[e] ^ r[0], c = t[e + 1] ^ r[1], h = t[e + 2] ^ r[2], p = t[e + 3] ^ r[3], l = 4, y = 1; y < f; y++) {
								var g = n[u >>> 24] ^ i[c >>> 16 & 255] ^ o[h >>> 8 & 255] ^ s[255 & p] ^ r[l++], d = n[c >>> 24] ^ i[h >>> 16 & 255] ^ o[p >>> 8 & 255] ^ s[255 & u] ^ r[l++], v = n[h >>> 24] ^ i[p >>> 16 & 255] ^ o[u >>> 8 & 255] ^ s[255 & c] ^ r[l++], m = n[p >>> 24] ^ i[u >>> 16 & 255] ^ o[c >>> 8 & 255] ^ s[255 & h] ^ r[l++];
								u = g, c = d, h = v, p = m;
							}
							g = (a[u >>> 24] << 24 | a[c >>> 16 & 255] << 16 | a[h >>> 8 & 255] << 8 | a[255 & p]) ^ r[l++], d = (a[c >>> 24] << 24 | a[h >>> 16 & 255] << 16 | a[p >>> 8 & 255] << 8 | a[255 & u]) ^ r[l++], v = (a[h >>> 24] << 24 | a[p >>> 16 & 255] << 16 | a[u >>> 8 & 255] << 8 | a[255 & c]) ^ r[l++], m = (a[p >>> 24] << 24 | a[u >>> 16 & 255] << 16 | a[c >>> 8 & 255] << 8 | a[255 & h]) ^ r[l++], t[e] = g, t[e + 1] = d, t[e + 2] = v, t[e + 3] = m;
						},
						keySize: 8
					});
					t.AES = e._createHelper(g);
				}(), n.AES);
			},
			7165: function(t, e, r) {
				var n, i, o, s, a, f, u, c, h, p, l, y, g, d, v, m, S, _, b;
				t.exports = (n = r(9021), r(9506), void (n.lib.Cipher || (i = n, o = i.lib, s = o.Base, a = o.WordArray, f = o.BufferedBlockAlgorithm, u = i.enc, u.Utf8, c = u.Base64, h = i.algo.EvpKDF, p = o.Cipher = f.extend({
					cfg: s.extend(),
					createEncryptor: function(t, e) {
						return this.create(this._ENC_XFORM_MODE, t, e);
					},
					createDecryptor: function(t, e) {
						return this.create(this._DEC_XFORM_MODE, t, e);
					},
					init: function(t, e, r) {
						this.cfg = this.cfg.extend(r), this._xformMode = t, this._key = e, this.reset();
					},
					reset: function() {
						f.reset.call(this), this._doReset();
					},
					process: function(t) {
						return this._append(t), this._process();
					},
					finalize: function(t) {
						return t && this._append(t), this._doFinalize();
					},
					keySize: 4,
					ivSize: 4,
					_ENC_XFORM_MODE: 1,
					_DEC_XFORM_MODE: 2,
					_createHelper: function() {
						function t(t) {
							return "string" == typeof t ? b : S;
						}
						return function(e) {
							return {
								encrypt: function(r, n, i) {
									return t(n).encrypt(e, r, n, i);
								},
								decrypt: function(r, n, i) {
									return t(n).decrypt(e, r, n, i);
								}
							};
						};
					}()
				}), o.StreamCipher = p.extend({
					_doFinalize: function() {
						return this._process(!0);
					},
					blockSize: 1
				}), l = i.mode = {}, y = o.BlockCipherMode = s.extend({
					createEncryptor: function(t, e) {
						return this.Encryptor.create(t, e);
					},
					createDecryptor: function(t, e) {
						return this.Decryptor.create(t, e);
					},
					init: function(t, e) {
						this._cipher = t, this._iv = e;
					}
				}), g = l.CBC = function() {
					var t = y.extend();
					function e(t, e, r) {
						var n = this._iv;
						if (n) {
							var i = n;
							this._iv = void 0;
						} else i = this._prevBlock;
						for (var o = 0; o < r; o++) t[e + o] ^= i[o];
					}
					return t.Encryptor = t.extend({ processBlock: function(t, r) {
						var n = this._cipher, i = n.blockSize;
						e.call(this, t, r, i), n.encryptBlock(t, r), this._prevBlock = t.slice(r, r + i);
					} }), t.Decryptor = t.extend({ processBlock: function(t, r) {
						var n = this._cipher, i = n.blockSize, o = t.slice(r, r + i);
						n.decryptBlock(t, r), e.call(this, t, r, i), this._prevBlock = o;
					} }), t;
				}(), d = (i.pad = {}).Pkcs7 = {
					pad: function(t, e) {
						for (var r = 4 * e, n = r - t.sigBytes % r, i = n << 24 | n << 16 | n << 8 | n, o = [], s = 0; s < n; s += 4) o.push(i);
						var f = a.create(o, n);
						t.concat(f);
					},
					unpad: function(t) {
						var e = 255 & t.words[t.sigBytes - 1 >>> 2];
						t.sigBytes -= e;
					}
				}, o.BlockCipher = p.extend({
					cfg: p.cfg.extend({
						mode: g,
						padding: d
					}),
					reset: function() {
						p.reset.call(this);
						var t = this.cfg, e = t.iv, r = t.mode;
						if (this._xformMode == this._ENC_XFORM_MODE) var n = r.createEncryptor;
						else n = r.createDecryptor, this._minBufferSize = 1;
						this._mode && this._mode.__creator == n ? this._mode.init(this, e && e.words) : (this._mode = n.call(r, this, e && e.words), this._mode.__creator = n);
					},
					_doProcessBlock: function(t, e) {
						this._mode.processBlock(t, e);
					},
					_doFinalize: function() {
						var t = this.cfg.padding;
						if (this._xformMode == this._ENC_XFORM_MODE) {
							t.pad(this._data, this.blockSize);
							var e = this._process(!0);
						} else e = this._process(!0), t.unpad(e);
						return e;
					},
					blockSize: 4
				}), v = o.CipherParams = s.extend({
					init: function(t) {
						this.mixIn(t);
					},
					toString: function(t) {
						return (t || this.formatter).stringify(this);
					}
				}), m = (i.format = {}).OpenSSL = {
					stringify: function(t) {
						var e = t.ciphertext, r = t.salt;
						if (r) var n = a.create([1398893684, 1701076831]).concat(r).concat(e);
						else n = e;
						return n.toString(c);
					},
					parse: function(t) {
						var e = c.parse(t), r = e.words;
						if (1398893684 == r[0] && 1701076831 == r[1]) {
							var n = a.create(r.slice(2, 4));
							r.splice(0, 4), e.sigBytes -= 16;
						}
						return v.create({
							ciphertext: e,
							salt: n
						});
					}
				}, S = o.SerializableCipher = s.extend({
					cfg: s.extend({ format: m }),
					encrypt: function(t, e, r, n) {
						n = this.cfg.extend(n);
						var i = t.createEncryptor(r, n), o = i.finalize(e), s = i.cfg;
						return v.create({
							ciphertext: o,
							key: r,
							iv: s.iv,
							algorithm: t,
							mode: s.mode,
							padding: s.padding,
							blockSize: t.blockSize,
							formatter: n.format
						});
					},
					decrypt: function(t, e, r, n) {
						return n = this.cfg.extend(n), e = this._parse(e, n.format), t.createDecryptor(r, n).finalize(e.ciphertext);
					},
					_parse: function(t, e) {
						return "string" == typeof t ? e.parse(t, this) : t;
					}
				}), _ = (i.kdf = {}).OpenSSL = { execute: function(t, e, r, n) {
					n || (n = a.random(8));
					var i = h.create({ keySize: e + r }).compute(t, n), o = a.create(i.words.slice(e), 4 * r);
					return i.sigBytes = 4 * e, v.create({
						key: i,
						iv: o,
						salt: n
					});
				} }, b = o.PasswordBasedCipher = S.extend({
					cfg: S.cfg.extend({ kdf: _ }),
					encrypt: function(t, e, r, n) {
						var i = (n = this.cfg.extend(n)).kdf.execute(r, t.keySize, t.ivSize);
						n.iv = i.iv;
						var o = S.encrypt.call(this, t, e, i.key, n);
						return o.mixIn(i), o;
					},
					decrypt: function(t, e, r, n) {
						n = this.cfg.extend(n), e = this._parse(e, n.format);
						var i = n.kdf.execute(r, t.keySize, t.ivSize, e.salt);
						return n.iv = i.iv, S.decrypt.call(this, t, e, i.key, n);
					}
				}))));
			},
			9021: function(t, e) {
				var r;
				t.exports = (r = r || function(t, e) {
					var r = Object.create || function() {
						function t() {}
						return function(e) {
							var r;
							return t.prototype = e, r = new t(), t.prototype = null, r;
						};
					}(), n = {}, i = n.lib = {}, o = i.Base = {
						extend: function(t) {
							var e = r(this);
							return t && e.mixIn(t), e.hasOwnProperty("init") && this.init !== e.init || (e.init = function() {
								e.$super.init.apply(this, arguments);
							}), e.init.prototype = e, e.$super = this, e;
						},
						create: function() {
							var t = this.extend();
							return t.init.apply(t, arguments), t;
						},
						init: function() {},
						mixIn: function(t) {
							for (var e in t) t.hasOwnProperty(e) && (this[e] = t[e]);
							t.hasOwnProperty("toString") && (this.toString = t.toString);
						},
						clone: function() {
							return this.init.prototype.extend(this);
						}
					}, s = i.WordArray = o.extend({
						init: function(t, e) {
							t = this.words = t || [], this.sigBytes = null != e ? e : 4 * t.length;
						},
						toString: function(t) {
							return (t || f).stringify(this);
						},
						concat: function(t) {
							var e = this.words, r = t.words, n = this.sigBytes, i = t.sigBytes;
							if (this.clamp(), n % 4) for (var o = 0; o < i; o++) {
								var s = r[o >>> 2] >>> 24 - o % 4 * 8 & 255;
								e[n + o >>> 2] |= s << 24 - (n + o) % 4 * 8;
							}
							else for (o = 0; o < i; o += 4) e[n + o >>> 2] = r[o >>> 2];
							return this.sigBytes += i, this;
						},
						clamp: function() {
							var e = this.words, r = this.sigBytes;
							e[r >>> 2] &= 4294967295 << 32 - r % 4 * 8, e.length = t.ceil(r / 4);
						},
						clone: function() {
							var t = o.clone.call(this);
							return t.words = this.words.slice(0), t;
						},
						random: function(e) {
							for (var r, n = [], i = function(e) {
								var r = 987654321, n = 4294967295;
								return function() {
									var i = ((r = 36969 * (65535 & r) + (r >> 16) & n) << 16) + (e = 18e3 * (65535 & e) + (e >> 16) & n) & n;
									return i /= 4294967296, (i += .5) * (t.random() > .5 ? 1 : -1);
								};
							}, o = 0; o < e; o += 4) {
								var a = i(4294967296 * (r || t.random()));
								r = 987654071 * a(), n.push(4294967296 * a() | 0);
							}
							return new s.init(n, e);
						}
					}), a = n.enc = {}, f = a.Hex = {
						stringify: function(t) {
							for (var e = t.words, r = t.sigBytes, n = [], i = 0; i < r; i++) {
								var o = e[i >>> 2] >>> 24 - i % 4 * 8 & 255;
								n.push((o >>> 4).toString(16)), n.push((15 & o).toString(16));
							}
							return n.join("");
						},
						parse: function(t) {
							for (var e = t.length, r = [], n = 0; n < e; n += 2) r[n >>> 3] |= parseInt(t.substr(n, 2), 16) << 24 - n % 8 * 4;
							return new s.init(r, e / 2);
						}
					}, u = a.Latin1 = {
						stringify: function(t) {
							for (var e = t.words, r = t.sigBytes, n = [], i = 0; i < r; i++) {
								var o = e[i >>> 2] >>> 24 - i % 4 * 8 & 255;
								n.push(String.fromCharCode(o));
							}
							return n.join("");
						},
						parse: function(t) {
							for (var e = t.length, r = [], n = 0; n < e; n++) r[n >>> 2] |= (255 & t.charCodeAt(n)) << 24 - n % 4 * 8;
							return new s.init(r, e);
						}
					}, c = a.Utf8 = {
						stringify: function(t) {
							try {
								return decodeURIComponent(escape(u.stringify(t)));
							} catch (t) {
								throw new Error("Malformed UTF-8 data");
							}
						},
						parse: function(t) {
							return u.parse(unescape(encodeURIComponent(t)));
						}
					}, h = i.BufferedBlockAlgorithm = o.extend({
						reset: function() {
							this._data = new s.init(), this._nDataBytes = 0;
						},
						_append: function(t) {
							"string" == typeof t && (t = c.parse(t)), this._data.concat(t), this._nDataBytes += t.sigBytes;
						},
						_process: function(e) {
							var r = this._data, n = r.words, i = r.sigBytes, o = this.blockSize, a = i / (4 * o), f = (a = e ? t.ceil(a) : t.max((0 | a) - this._minBufferSize, 0)) * o, u = t.min(4 * f, i);
							if (f) {
								for (var c = 0; c < f; c += o) this._doProcessBlock(n, c);
								var h = n.splice(0, f);
								r.sigBytes -= u;
							}
							return new s.init(h, u);
						},
						clone: function() {
							var t = o.clone.call(this);
							return t._data = this._data.clone(), t;
						},
						_minBufferSize: 0
					}), p = (i.Hasher = h.extend({
						cfg: o.extend(),
						init: function(t) {
							this.cfg = this.cfg.extend(t), this.reset();
						},
						reset: function() {
							h.reset.call(this), this._doReset();
						},
						update: function(t) {
							return this._append(t), this._process(), this;
						},
						finalize: function(t) {
							return t && this._append(t), this._doFinalize();
						},
						blockSize: 16,
						_createHelper: function(t) {
							return function(e, r) {
								return new t.init(r).finalize(e);
							};
						},
						_createHmacHelper: function(t) {
							return function(e, r) {
								return new p.HMAC.init(t, r).finalize(e);
							};
						}
					}), n.algo = {});
					return n;
				}(Math), r);
			},
			754: function(t, e, r) {
				var n, i, o;
				t.exports = (n = r(9021), o = (i = n).lib.WordArray, i.enc.Base64 = {
					stringify: function(t) {
						var e = t.words, r = t.sigBytes, n = this._map;
						t.clamp();
						for (var i = [], o = 0; o < r; o += 3) for (var s = (e[o >>> 2] >>> 24 - o % 4 * 8 & 255) << 16 | (e[o + 1 >>> 2] >>> 24 - (o + 1) % 4 * 8 & 255) << 8 | e[o + 2 >>> 2] >>> 24 - (o + 2) % 4 * 8 & 255, a = 0; a < 4 && o + .75 * a < r; a++) i.push(n.charAt(s >>> 6 * (3 - a) & 63));
						var f = n.charAt(64);
						if (f) for (; i.length % 4;) i.push(f);
						return i.join("");
					},
					parse: function(t) {
						var e = t.length, r = this._map, n = this._reverseMap;
						if (!n) {
							n = this._reverseMap = [];
							for (var i = 0; i < r.length; i++) n[r.charCodeAt(i)] = i;
						}
						var s = r.charAt(64);
						if (s) {
							var a = t.indexOf(s);
							-1 !== a && (e = a);
						}
						return function(t, e, r) {
							for (var n = [], i = 0, s = 0; s < e; s++) if (s % 4) {
								var a = r[t.charCodeAt(s - 1)] << s % 4 * 2, f = r[t.charCodeAt(s)] >>> 6 - s % 4 * 2;
								n[i >>> 2] |= (a | f) << 24 - i % 4 * 8, i++;
							}
							return o.create(n, i);
						}(t, e, n);
					},
					_map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
				}, n.enc.Base64);
			},
			5503: function(t, e, r) {
				var n;
				t.exports = (n = r(9021), function() {
					var t = n, e = t.lib.WordArray, r = t.enc;
					function i(t) {
						return t << 8 & 4278255360 | t >>> 8 & 16711935;
					}
					r.Utf16 = r.Utf16BE = {
						stringify: function(t) {
							for (var e = t.words, r = t.sigBytes, n = [], i = 0; i < r; i += 2) {
								var o = e[i >>> 2] >>> 16 - i % 4 * 8 & 65535;
								n.push(String.fromCharCode(o));
							}
							return n.join("");
						},
						parse: function(t) {
							for (var r = t.length, n = [], i = 0; i < r; i++) n[i >>> 1] |= t.charCodeAt(i) << 16 - i % 2 * 16;
							return e.create(n, 2 * r);
						}
					}, r.Utf16LE = {
						stringify: function(t) {
							for (var e = t.words, r = t.sigBytes, n = [], o = 0; o < r; o += 2) {
								var s = i(e[o >>> 2] >>> 16 - o % 4 * 8 & 65535);
								n.push(String.fromCharCode(s));
							}
							return n.join("");
						},
						parse: function(t) {
							for (var r = t.length, n = [], o = 0; o < r; o++) n[o >>> 1] |= i(t.charCodeAt(o) << 16 - o % 2 * 16);
							return e.create(n, 2 * r);
						}
					};
				}(), n.enc.Utf16);
			},
			9506: function(t, e, r) {
				var n, i, o, s, a, f, u, c;
				t.exports = (c = r(9021), r(5471), r(1025), o = (i = (n = c).lib).Base, s = i.WordArray, f = (a = n.algo).MD5, u = a.EvpKDF = o.extend({
					cfg: o.extend({
						keySize: 4,
						hasher: f,
						iterations: 1
					}),
					init: function(t) {
						this.cfg = this.cfg.extend(t);
					},
					compute: function(t, e) {
						for (var r = this.cfg, n = r.hasher.create(), i = s.create(), o = i.words, a = r.keySize, f = r.iterations; o.length < a;) {
							u && n.update(u);
							var u = n.update(t).finalize(e);
							n.reset();
							for (var c = 1; c < f; c++) u = n.finalize(u), n.reset();
							i.concat(u);
						}
						return i.sigBytes = 4 * a, i;
					}
				}), n.EvpKDF = function(t, e, r) {
					return u.create(r).compute(t, e);
				}, c.EvpKDF);
			},
			25: function(t, e, r) {
				var n, i, o, s;
				t.exports = (s = r(9021), r(7165), i = (n = s).lib.CipherParams, o = n.enc.Hex, n.format.Hex = {
					stringify: function(t) {
						return t.ciphertext.toString(o);
					},
					parse: function(t) {
						var e = o.parse(t);
						return i.create({ ciphertext: e });
					}
				}, s.format.Hex);
			},
			1025: function(t, e, r) {
				var n, i, o;
				t.exports = (i = (n = r(9021)).lib.Base, o = n.enc.Utf8, void (n.algo.HMAC = i.extend({
					init: function(t, e) {
						t = this._hasher = new t.init(), "string" == typeof e && (e = o.parse(e));
						var r = t.blockSize, n = 4 * r;
						e.sigBytes > n && (e = t.finalize(e)), e.clamp();
						for (var i = this._oKey = e.clone(), s = this._iKey = e.clone(), a = i.words, f = s.words, u = 0; u < r; u++) a[u] ^= 1549556828, f[u] ^= 909522486;
						i.sigBytes = s.sigBytes = n, this.reset();
					},
					reset: function() {
						var t = this._hasher;
						t.reset(), t.update(this._iKey);
					},
					update: function(t) {
						return this._hasher.update(t), this;
					},
					finalize: function(t) {
						var e = this._hasher, r = e.finalize(t);
						return e.reset(), e.finalize(this._oKey.clone().concat(r));
					}
				})));
			},
			1396: function(t, e, r) {
				var n;
				t.exports = (n = r(9021), r(3240), r(6440), r(5503), r(754), r(4636), r(5471), r(3009), r(6308), r(1380), r(9557), r(5953), r(8056), r(1025), r(19), r(9506), r(7165), r(2169), r(6939), r(6372), r(3797), r(8454), r(2073), r(4905), r(482), r(2155), r(8124), r(25), r(955), r(7628), r(7193), r(6298), r(2696), n);
			},
			6440: function(t, e, r) {
				var n;
				t.exports = (n = r(9021), function() {
					if ("function" == typeof ArrayBuffer) {
						var t = n.lib.WordArray, e = t.init, r = t.init = function(t) {
							if (t instanceof ArrayBuffer && (t = new Uint8Array(t)), (t instanceof Int8Array || "undefined" != typeof Uint8ClampedArray && t instanceof Uint8ClampedArray || t instanceof Int16Array || t instanceof Uint16Array || t instanceof Int32Array || t instanceof Uint32Array || t instanceof Float32Array || t instanceof Float64Array) && (t = new Uint8Array(t.buffer, t.byteOffset, t.byteLength)), t instanceof Uint8Array) {
								for (var r = t.byteLength, n = [], i = 0; i < r; i++) n[i >>> 2] |= t[i] << 24 - i % 4 * 8;
								e.call(this, n, r);
							} else e.apply(this, arguments);
						};
						r.prototype = t;
					}
				}(), n.lib.WordArray);
			},
			4636: function(t, e, r) {
				var n;
				t.exports = (n = r(9021), function(t) {
					var e = n, r = e.lib, i = r.WordArray, o = r.Hasher, s = e.algo, a = [];
					!function() {
						for (var e = 0; e < 64; e++) a[e] = 4294967296 * t.abs(t.sin(e + 1)) | 0;
					}();
					var f = s.MD5 = o.extend({
						_doReset: function() {
							this._hash = new i.init([
								1732584193,
								4023233417,
								2562383102,
								271733878
							]);
						},
						_doProcessBlock: function(t, e) {
							for (var r = 0; r < 16; r++) {
								var n = e + r, i = t[n];
								t[n] = 16711935 & (i << 8 | i >>> 24) | 4278255360 & (i << 24 | i >>> 8);
							}
							var o = this._hash.words, s = t[e + 0], f = t[e + 1], l = t[e + 2], y = t[e + 3], g = t[e + 4], d = t[e + 5], v = t[e + 6], m = t[e + 7], S = t[e + 8], _ = t[e + 9], b = t[e + 10], E = t[e + 11], w = t[e + 12], O = t[e + 13], B = t[e + 14], A = t[e + 15], x = o[0], P = o[1], T = o[2], I = o[3];
							x = u(x, P, T, I, s, 7, a[0]), I = u(I, x, P, T, f, 12, a[1]), T = u(T, I, x, P, l, 17, a[2]), P = u(P, T, I, x, y, 22, a[3]), x = u(x, P, T, I, g, 7, a[4]), I = u(I, x, P, T, d, 12, a[5]), T = u(T, I, x, P, v, 17, a[6]), P = u(P, T, I, x, m, 22, a[7]), x = u(x, P, T, I, S, 7, a[8]), I = u(I, x, P, T, _, 12, a[9]), T = u(T, I, x, P, b, 17, a[10]), P = u(P, T, I, x, E, 22, a[11]), x = u(x, P, T, I, w, 7, a[12]), I = u(I, x, P, T, O, 12, a[13]), T = u(T, I, x, P, B, 17, a[14]), x = c(x, P = u(P, T, I, x, A, 22, a[15]), T, I, f, 5, a[16]), I = c(I, x, P, T, v, 9, a[17]), T = c(T, I, x, P, E, 14, a[18]), P = c(P, T, I, x, s, 20, a[19]), x = c(x, P, T, I, d, 5, a[20]), I = c(I, x, P, T, b, 9, a[21]), T = c(T, I, x, P, A, 14, a[22]), P = c(P, T, I, x, g, 20, a[23]), x = c(x, P, T, I, _, 5, a[24]), I = c(I, x, P, T, B, 9, a[25]), T = c(T, I, x, P, y, 14, a[26]), P = c(P, T, I, x, S, 20, a[27]), x = c(x, P, T, I, O, 5, a[28]), I = c(I, x, P, T, l, 9, a[29]), T = c(T, I, x, P, m, 14, a[30]), x = h(x, P = c(P, T, I, x, w, 20, a[31]), T, I, d, 4, a[32]), I = h(I, x, P, T, S, 11, a[33]), T = h(T, I, x, P, E, 16, a[34]), P = h(P, T, I, x, B, 23, a[35]), x = h(x, P, T, I, f, 4, a[36]), I = h(I, x, P, T, g, 11, a[37]), T = h(T, I, x, P, m, 16, a[38]), P = h(P, T, I, x, b, 23, a[39]), x = h(x, P, T, I, O, 4, a[40]), I = h(I, x, P, T, s, 11, a[41]), T = h(T, I, x, P, y, 16, a[42]), P = h(P, T, I, x, v, 23, a[43]), x = h(x, P, T, I, _, 4, a[44]), I = h(I, x, P, T, w, 11, a[45]), T = h(T, I, x, P, A, 16, a[46]), x = p(x, P = h(P, T, I, x, l, 23, a[47]), T, I, s, 6, a[48]), I = p(I, x, P, T, m, 10, a[49]), T = p(T, I, x, P, B, 15, a[50]), P = p(P, T, I, x, d, 21, a[51]), x = p(x, P, T, I, w, 6, a[52]), I = p(I, x, P, T, y, 10, a[53]), T = p(T, I, x, P, b, 15, a[54]), P = p(P, T, I, x, f, 21, a[55]), x = p(x, P, T, I, S, 6, a[56]), I = p(I, x, P, T, A, 10, a[57]), T = p(T, I, x, P, v, 15, a[58]), P = p(P, T, I, x, O, 21, a[59]), x = p(x, P, T, I, g, 6, a[60]), I = p(I, x, P, T, E, 10, a[61]), T = p(T, I, x, P, l, 15, a[62]), P = p(P, T, I, x, _, 21, a[63]), o[0] = o[0] + x | 0, o[1] = o[1] + P | 0, o[2] = o[2] + T | 0, o[3] = o[3] + I | 0;
						},
						_doFinalize: function() {
							var e = this._data, r = e.words, n = 8 * this._nDataBytes, i = 8 * e.sigBytes;
							r[i >>> 5] |= 128 << 24 - i % 32;
							var o = t.floor(n / 4294967296), s = n;
							r[15 + (i + 64 >>> 9 << 4)] = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), r[14 + (i + 64 >>> 9 << 4)] = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8), e.sigBytes = 4 * (r.length + 1), this._process();
							for (var a = this._hash, f = a.words, u = 0; u < 4; u++) {
								var c = f[u];
								f[u] = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8);
							}
							return a;
						},
						clone: function() {
							var t = o.clone.call(this);
							return t._hash = this._hash.clone(), t;
						}
					});
					function u(t, e, r, n, i, o, s) {
						var a = t + (e & r | ~e & n) + i + s;
						return (a << o | a >>> 32 - o) + e;
					}
					function c(t, e, r, n, i, o, s) {
						var a = t + (e & n | r & ~n) + i + s;
						return (a << o | a >>> 32 - o) + e;
					}
					function h(t, e, r, n, i, o, s) {
						var a = t + (e ^ r ^ n) + i + s;
						return (a << o | a >>> 32 - o) + e;
					}
					function p(t, e, r, n, i, o, s) {
						var a = t + (r ^ (e | ~n)) + i + s;
						return (a << o | a >>> 32 - o) + e;
					}
					e.MD5 = o._createHelper(f), e.HmacMD5 = o._createHmacHelper(f);
				}(Math), n.MD5);
			},
			2169: function(t, e, r) {
				var n;
				t.exports = (n = r(9021), r(7165), n.mode.CFB = function() {
					var t = n.lib.BlockCipherMode.extend();
					function e(t, e, r, n) {
						var i = this._iv;
						if (i) {
							var o = i.slice(0);
							this._iv = void 0;
						} else o = this._prevBlock;
						n.encryptBlock(o, 0);
						for (var s = 0; s < r; s++) t[e + s] ^= o[s];
					}
					return t.Encryptor = t.extend({ processBlock: function(t, r) {
						var n = this._cipher, i = n.blockSize;
						e.call(this, t, r, i, n), this._prevBlock = t.slice(r, r + i);
					} }), t.Decryptor = t.extend({ processBlock: function(t, r) {
						var n = this._cipher, i = n.blockSize, o = t.slice(r, r + i);
						e.call(this, t, r, i, n), this._prevBlock = o;
					} }), t;
				}(), n.mode.CFB);
			},
			6372: function(t, e, r) {
				var n;
				t.exports = (n = r(9021), r(7165), n.mode.CTRGladman = function() {
					var t = n.lib.BlockCipherMode.extend();
					function e(t) {
						if (255 & ~(t >> 24)) t += 1 << 24;
						else {
							var e = t >> 16 & 255, r = t >> 8 & 255, n = 255 & t;
							255 === e ? (e = 0, 255 === r ? (r = 0, 255 === n ? n = 0 : ++n) : ++r) : ++e, t = 0, t += e << 16, t += r << 8, t += n;
						}
						return t;
					}
					var r = t.Encryptor = t.extend({ processBlock: function(t, r) {
						var n = this._cipher, i = n.blockSize, o = this._iv, s = this._counter;
						o && (s = this._counter = o.slice(0), this._iv = void 0), function(t) {
							0 === (t[0] = e(t[0])) && (t[1] = e(t[1]));
						}(s);
						var a = s.slice(0);
						n.encryptBlock(a, 0);
						for (var f = 0; f < i; f++) t[r + f] ^= a[f];
					} });
					return t.Decryptor = r, t;
				}(), n.mode.CTRGladman);
			},
			6939: function(t, e, r) {
				var n, i, o;
				t.exports = (o = r(9021), r(7165), o.mode.CTR = (i = (n = o.lib.BlockCipherMode.extend()).Encryptor = n.extend({ processBlock: function(t, e) {
					var r = this._cipher, n = r.blockSize, i = this._iv, o = this._counter;
					i && (o = this._counter = i.slice(0), this._iv = void 0);
					var s = o.slice(0);
					r.encryptBlock(s, 0), o[n - 1] = o[n - 1] + 1 | 0;
					for (var a = 0; a < n; a++) t[e + a] ^= s[a];
				} }), n.Decryptor = i, n), o.mode.CTR);
			},
			8454: function(t, e, r) {
				var n, i;
				t.exports = (i = r(9021), r(7165), i.mode.ECB = ((n = i.lib.BlockCipherMode.extend()).Encryptor = n.extend({ processBlock: function(t, e) {
					this._cipher.encryptBlock(t, e);
				} }), n.Decryptor = n.extend({ processBlock: function(t, e) {
					this._cipher.decryptBlock(t, e);
				} }), n), i.mode.ECB);
			},
			3797: function(t, e, r) {
				var n, i, o;
				t.exports = (o = r(9021), r(7165), o.mode.OFB = (i = (n = o.lib.BlockCipherMode.extend()).Encryptor = n.extend({ processBlock: function(t, e) {
					var r = this._cipher, n = r.blockSize, i = this._iv, o = this._keystream;
					i && (o = this._keystream = i.slice(0), this._iv = void 0), r.encryptBlock(o, 0);
					for (var s = 0; s < n; s++) t[e + s] ^= o[s];
				} }), n.Decryptor = i, n), o.mode.OFB);
			},
			2073: function(t, e, r) {
				var n;
				t.exports = (n = r(9021), r(7165), n.pad.AnsiX923 = {
					pad: function(t, e) {
						var r = t.sigBytes, n = 4 * e, i = n - r % n, o = r + i - 1;
						t.clamp(), t.words[o >>> 2] |= i << 24 - o % 4 * 8, t.sigBytes += i;
					},
					unpad: function(t) {
						var e = 255 & t.words[t.sigBytes - 1 >>> 2];
						t.sigBytes -= e;
					}
				}, n.pad.Ansix923);
			},
			4905: function(t, e, r) {
				var n;
				t.exports = (n = r(9021), r(7165), n.pad.Iso10126 = {
					pad: function(t, e) {
						var r = 4 * e, i = r - t.sigBytes % r;
						t.concat(n.lib.WordArray.random(i - 1)).concat(n.lib.WordArray.create([i << 24], 1));
					},
					unpad: function(t) {
						var e = 255 & t.words[t.sigBytes - 1 >>> 2];
						t.sigBytes -= e;
					}
				}, n.pad.Iso10126);
			},
			482: function(t, e, r) {
				var n;
				t.exports = (n = r(9021), r(7165), n.pad.Iso97971 = {
					pad: function(t, e) {
						t.concat(n.lib.WordArray.create([2147483648], 1)), n.pad.ZeroPadding.pad(t, e);
					},
					unpad: function(t) {
						n.pad.ZeroPadding.unpad(t), t.sigBytes--;
					}
				}, n.pad.Iso97971);
			},
			8124: function(t, e, r) {
				var n;
				t.exports = (n = r(9021), r(7165), n.pad.NoPadding = {
					pad: function() {},
					unpad: function() {}
				}, n.pad.NoPadding);
			},
			2155: function(t, e, r) {
				var n;
				t.exports = (n = r(9021), r(7165), n.pad.ZeroPadding = {
					pad: function(t, e) {
						var r = 4 * e;
						t.clamp(), t.sigBytes += r - (t.sigBytes % r || r);
					},
					unpad: function(t) {
						for (var e = t.words, r = t.sigBytes - 1; !(e[r >>> 2] >>> 24 - r % 4 * 8 & 255);) r--;
						t.sigBytes = r + 1;
					}
				}, n.pad.ZeroPadding);
			},
			19: function(t, e, r) {
				var n, i, o, s, a, f, u, c, h;
				t.exports = (h = r(9021), r(5471), r(1025), o = (i = (n = h).lib).Base, s = i.WordArray, f = (a = n.algo).SHA1, u = a.HMAC, c = a.PBKDF2 = o.extend({
					cfg: o.extend({
						keySize: 4,
						hasher: f,
						iterations: 1
					}),
					init: function(t) {
						this.cfg = this.cfg.extend(t);
					},
					compute: function(t, e) {
						for (var r = this.cfg, n = u.create(r.hasher, t), i = s.create(), o = s.create([1]), a = i.words, f = o.words, c = r.keySize, h = r.iterations; a.length < c;) {
							var p = n.update(e).finalize(o);
							n.reset();
							for (var l = p.words, y = l.length, g = p, d = 1; d < h; d++) {
								g = n.finalize(g), n.reset();
								for (var v = g.words, m = 0; m < y; m++) l[m] ^= v[m];
							}
							i.concat(p), f[0]++;
						}
						return i.sigBytes = 4 * c, i;
					}
				}), n.PBKDF2 = function(t, e, r) {
					return c.create(r).compute(t, e);
				}, h.PBKDF2);
			},
			2696: function(t, e, r) {
				var n;
				t.exports = (n = r(9021), r(754), r(4636), r(9506), r(7165), function() {
					var t = n, e = t.lib.StreamCipher, r = t.algo, i = [], o = [], s = [], a = r.RabbitLegacy = e.extend({
						_doReset: function() {
							var t = this._key.words, e = this.cfg.iv, r = this._X = [
								t[0],
								t[3] << 16 | t[2] >>> 16,
								t[1],
								t[0] << 16 | t[3] >>> 16,
								t[2],
								t[1] << 16 | t[0] >>> 16,
								t[3],
								t[2] << 16 | t[1] >>> 16
							], n = this._C = [
								t[2] << 16 | t[2] >>> 16,
								4294901760 & t[0] | 65535 & t[1],
								t[3] << 16 | t[3] >>> 16,
								4294901760 & t[1] | 65535 & t[2],
								t[0] << 16 | t[0] >>> 16,
								4294901760 & t[2] | 65535 & t[3],
								t[1] << 16 | t[1] >>> 16,
								4294901760 & t[3] | 65535 & t[0]
							];
							this._b = 0;
							for (var i = 0; i < 4; i++) f.call(this);
							for (i = 0; i < 8; i++) n[i] ^= r[i + 4 & 7];
							if (e) {
								var o = e.words, s = o[0], a = o[1], u = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8), c = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), h = u >>> 16 | 4294901760 & c, p = c << 16 | 65535 & u;
								for (n[0] ^= u, n[1] ^= h, n[2] ^= c, n[3] ^= p, n[4] ^= u, n[5] ^= h, n[6] ^= c, n[7] ^= p, i = 0; i < 4; i++) f.call(this);
							}
						},
						_doProcessBlock: function(t, e) {
							var r = this._X;
							f.call(this), i[0] = r[0] ^ r[5] >>> 16 ^ r[3] << 16, i[1] = r[2] ^ r[7] >>> 16 ^ r[5] << 16, i[2] = r[4] ^ r[1] >>> 16 ^ r[7] << 16, i[3] = r[6] ^ r[3] >>> 16 ^ r[1] << 16;
							for (var n = 0; n < 4; n++) i[n] = 16711935 & (i[n] << 8 | i[n] >>> 24) | 4278255360 & (i[n] << 24 | i[n] >>> 8), t[e + n] ^= i[n];
						},
						blockSize: 4,
						ivSize: 2
					});
					function f() {
						for (var t = this._X, e = this._C, r = 0; r < 8; r++) o[r] = e[r];
						for (e[0] = e[0] + 1295307597 + this._b | 0, e[1] = e[1] + 3545052371 + (e[0] >>> 0 < o[0] >>> 0 ? 1 : 0) | 0, e[2] = e[2] + 886263092 + (e[1] >>> 0 < o[1] >>> 0 ? 1 : 0) | 0, e[3] = e[3] + 1295307597 + (e[2] >>> 0 < o[2] >>> 0 ? 1 : 0) | 0, e[4] = e[4] + 3545052371 + (e[3] >>> 0 < o[3] >>> 0 ? 1 : 0) | 0, e[5] = e[5] + 886263092 + (e[4] >>> 0 < o[4] >>> 0 ? 1 : 0) | 0, e[6] = e[6] + 1295307597 + (e[5] >>> 0 < o[5] >>> 0 ? 1 : 0) | 0, e[7] = e[7] + 3545052371 + (e[6] >>> 0 < o[6] >>> 0 ? 1 : 0) | 0, this._b = e[7] >>> 0 < o[7] >>> 0 ? 1 : 0, r = 0; r < 8; r++) {
							var n = t[r] + e[r], i = 65535 & n, a = n >>> 16, f = ((i * i >>> 17) + i * a >>> 15) + a * a, u = ((4294901760 & n) * n | 0) + ((65535 & n) * n | 0);
							s[r] = f ^ u;
						}
						t[0] = s[0] + (s[7] << 16 | s[7] >>> 16) + (s[6] << 16 | s[6] >>> 16) | 0, t[1] = s[1] + (s[0] << 8 | s[0] >>> 24) + s[7] | 0, t[2] = s[2] + (s[1] << 16 | s[1] >>> 16) + (s[0] << 16 | s[0] >>> 16) | 0, t[3] = s[3] + (s[2] << 8 | s[2] >>> 24) + s[1] | 0, t[4] = s[4] + (s[3] << 16 | s[3] >>> 16) + (s[2] << 16 | s[2] >>> 16) | 0, t[5] = s[5] + (s[4] << 8 | s[4] >>> 24) + s[3] | 0, t[6] = s[6] + (s[5] << 16 | s[5] >>> 16) + (s[4] << 16 | s[4] >>> 16) | 0, t[7] = s[7] + (s[6] << 8 | s[6] >>> 24) + s[5] | 0;
					}
					t.RabbitLegacy = e._createHelper(a);
				}(), n.RabbitLegacy);
			},
			6298: function(t, e, r) {
				var n;
				t.exports = (n = r(9021), r(754), r(4636), r(9506), r(7165), function() {
					var t = n, e = t.lib.StreamCipher, r = t.algo, i = [], o = [], s = [], a = r.Rabbit = e.extend({
						_doReset: function() {
							for (var t = this._key.words, e = this.cfg.iv, r = 0; r < 4; r++) t[r] = 16711935 & (t[r] << 8 | t[r] >>> 24) | 4278255360 & (t[r] << 24 | t[r] >>> 8);
							var n = this._X = [
								t[0],
								t[3] << 16 | t[2] >>> 16,
								t[1],
								t[0] << 16 | t[3] >>> 16,
								t[2],
								t[1] << 16 | t[0] >>> 16,
								t[3],
								t[2] << 16 | t[1] >>> 16
							], i = this._C = [
								t[2] << 16 | t[2] >>> 16,
								4294901760 & t[0] | 65535 & t[1],
								t[3] << 16 | t[3] >>> 16,
								4294901760 & t[1] | 65535 & t[2],
								t[0] << 16 | t[0] >>> 16,
								4294901760 & t[2] | 65535 & t[3],
								t[1] << 16 | t[1] >>> 16,
								4294901760 & t[3] | 65535 & t[0]
							];
							for (this._b = 0, r = 0; r < 4; r++) f.call(this);
							for (r = 0; r < 8; r++) i[r] ^= n[r + 4 & 7];
							if (e) {
								var o = e.words, s = o[0], a = o[1], u = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8), c = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), h = u >>> 16 | 4294901760 & c, p = c << 16 | 65535 & u;
								for (i[0] ^= u, i[1] ^= h, i[2] ^= c, i[3] ^= p, i[4] ^= u, i[5] ^= h, i[6] ^= c, i[7] ^= p, r = 0; r < 4; r++) f.call(this);
							}
						},
						_doProcessBlock: function(t, e) {
							var r = this._X;
							f.call(this), i[0] = r[0] ^ r[5] >>> 16 ^ r[3] << 16, i[1] = r[2] ^ r[7] >>> 16 ^ r[5] << 16, i[2] = r[4] ^ r[1] >>> 16 ^ r[7] << 16, i[3] = r[6] ^ r[3] >>> 16 ^ r[1] << 16;
							for (var n = 0; n < 4; n++) i[n] = 16711935 & (i[n] << 8 | i[n] >>> 24) | 4278255360 & (i[n] << 24 | i[n] >>> 8), t[e + n] ^= i[n];
						},
						blockSize: 4,
						ivSize: 2
					});
					function f() {
						for (var t = this._X, e = this._C, r = 0; r < 8; r++) o[r] = e[r];
						for (e[0] = e[0] + 1295307597 + this._b | 0, e[1] = e[1] + 3545052371 + (e[0] >>> 0 < o[0] >>> 0 ? 1 : 0) | 0, e[2] = e[2] + 886263092 + (e[1] >>> 0 < o[1] >>> 0 ? 1 : 0) | 0, e[3] = e[3] + 1295307597 + (e[2] >>> 0 < o[2] >>> 0 ? 1 : 0) | 0, e[4] = e[4] + 3545052371 + (e[3] >>> 0 < o[3] >>> 0 ? 1 : 0) | 0, e[5] = e[5] + 886263092 + (e[4] >>> 0 < o[4] >>> 0 ? 1 : 0) | 0, e[6] = e[6] + 1295307597 + (e[5] >>> 0 < o[5] >>> 0 ? 1 : 0) | 0, e[7] = e[7] + 3545052371 + (e[6] >>> 0 < o[6] >>> 0 ? 1 : 0) | 0, this._b = e[7] >>> 0 < o[7] >>> 0 ? 1 : 0, r = 0; r < 8; r++) {
							var n = t[r] + e[r], i = 65535 & n, a = n >>> 16, f = ((i * i >>> 17) + i * a >>> 15) + a * a, u = ((4294901760 & n) * n | 0) + ((65535 & n) * n | 0);
							s[r] = f ^ u;
						}
						t[0] = s[0] + (s[7] << 16 | s[7] >>> 16) + (s[6] << 16 | s[6] >>> 16) | 0, t[1] = s[1] + (s[0] << 8 | s[0] >>> 24) + s[7] | 0, t[2] = s[2] + (s[1] << 16 | s[1] >>> 16) + (s[0] << 16 | s[0] >>> 16) | 0, t[3] = s[3] + (s[2] << 8 | s[2] >>> 24) + s[1] | 0, t[4] = s[4] + (s[3] << 16 | s[3] >>> 16) + (s[2] << 16 | s[2] >>> 16) | 0, t[5] = s[5] + (s[4] << 8 | s[4] >>> 24) + s[3] | 0, t[6] = s[6] + (s[5] << 16 | s[5] >>> 16) + (s[4] << 16 | s[4] >>> 16) | 0, t[7] = s[7] + (s[6] << 8 | s[6] >>> 24) + s[5] | 0;
					}
					t.Rabbit = e._createHelper(a);
				}(), n.Rabbit);
			},
			7193: function(t, e, r) {
				var n;
				t.exports = (n = r(9021), r(754), r(4636), r(9506), r(7165), function() {
					var t = n, e = t.lib.StreamCipher, r = t.algo, i = r.RC4 = e.extend({
						_doReset: function() {
							for (var t = this._key, e = t.words, r = t.sigBytes, n = this._S = [], i = 0; i < 256; i++) n[i] = i;
							i = 0;
							for (var o = 0; i < 256; i++) {
								var s = i % r, a = e[s >>> 2] >>> 24 - s % 4 * 8 & 255;
								o = (o + n[i] + a) % 256;
								var f = n[i];
								n[i] = n[o], n[o] = f;
							}
							this._i = this._j = 0;
						},
						_doProcessBlock: function(t, e) {
							t[e] ^= o.call(this);
						},
						keySize: 8,
						ivSize: 0
					});
					function o() {
						for (var t = this._S, e = this._i, r = this._j, n = 0, i = 0; i < 4; i++) {
							r = (r + t[e = (e + 1) % 256]) % 256;
							var o = t[e];
							t[e] = t[r], t[r] = o, n |= t[(t[e] + t[r]) % 256] << 24 - 8 * i;
						}
						return this._i = e, this._j = r, n;
					}
					t.RC4 = e._createHelper(i);
					var s = r.RC4Drop = i.extend({
						cfg: i.cfg.extend({ drop: 192 }),
						_doReset: function() {
							i._doReset.call(this);
							for (var t = this.cfg.drop; t > 0; t--) o.call(this);
						}
					});
					t.RC4Drop = e._createHelper(s);
				}(), n.RC4);
			},
			8056: function(t, e, r) {
				var n;
				t.exports = (n = r(9021), function(t) {
					var e = n, r = e.lib, i = r.WordArray, o = r.Hasher, s = e.algo, a = i.create([
						0,
						1,
						2,
						3,
						4,
						5,
						6,
						7,
						8,
						9,
						10,
						11,
						12,
						13,
						14,
						15,
						7,
						4,
						13,
						1,
						10,
						6,
						15,
						3,
						12,
						0,
						9,
						5,
						2,
						14,
						11,
						8,
						3,
						10,
						14,
						4,
						9,
						15,
						8,
						1,
						2,
						7,
						0,
						6,
						13,
						11,
						5,
						12,
						1,
						9,
						11,
						10,
						0,
						8,
						12,
						4,
						13,
						3,
						7,
						15,
						14,
						5,
						6,
						2,
						4,
						0,
						5,
						9,
						7,
						12,
						2,
						10,
						14,
						1,
						3,
						8,
						11,
						6,
						15,
						13
					]), f = i.create([
						5,
						14,
						7,
						0,
						9,
						2,
						11,
						4,
						13,
						6,
						15,
						8,
						1,
						10,
						3,
						12,
						6,
						11,
						3,
						7,
						0,
						13,
						5,
						10,
						14,
						15,
						8,
						12,
						4,
						9,
						1,
						2,
						15,
						5,
						1,
						3,
						7,
						14,
						6,
						9,
						11,
						8,
						12,
						2,
						10,
						0,
						4,
						13,
						8,
						6,
						4,
						1,
						3,
						11,
						15,
						0,
						5,
						12,
						2,
						13,
						9,
						7,
						10,
						14,
						12,
						15,
						10,
						4,
						1,
						5,
						8,
						7,
						6,
						2,
						13,
						14,
						0,
						3,
						9,
						11
					]), u = i.create([
						11,
						14,
						15,
						12,
						5,
						8,
						7,
						9,
						11,
						13,
						14,
						15,
						6,
						7,
						9,
						8,
						7,
						6,
						8,
						13,
						11,
						9,
						7,
						15,
						7,
						12,
						15,
						9,
						11,
						7,
						13,
						12,
						11,
						13,
						6,
						7,
						14,
						9,
						13,
						15,
						14,
						8,
						13,
						6,
						5,
						12,
						7,
						5,
						11,
						12,
						14,
						15,
						14,
						15,
						9,
						8,
						9,
						14,
						5,
						6,
						8,
						6,
						5,
						12,
						9,
						15,
						5,
						11,
						6,
						8,
						13,
						12,
						5,
						12,
						13,
						14,
						11,
						8,
						5,
						6
					]), c = i.create([
						8,
						9,
						9,
						11,
						13,
						15,
						15,
						5,
						7,
						7,
						8,
						11,
						14,
						14,
						12,
						6,
						9,
						13,
						15,
						7,
						12,
						8,
						9,
						11,
						7,
						7,
						12,
						7,
						6,
						15,
						13,
						11,
						9,
						7,
						15,
						11,
						8,
						6,
						6,
						14,
						12,
						13,
						5,
						14,
						13,
						13,
						7,
						5,
						15,
						5,
						8,
						11,
						14,
						14,
						6,
						14,
						6,
						9,
						12,
						9,
						12,
						5,
						15,
						8,
						8,
						5,
						12,
						9,
						12,
						5,
						14,
						6,
						8,
						13,
						6,
						5,
						15,
						13,
						11,
						11
					]), h = i.create([
						0,
						1518500249,
						1859775393,
						2400959708,
						2840853838
					]), p = i.create([
						1352829926,
						1548603684,
						1836072691,
						2053994217,
						0
					]), l = s.RIPEMD160 = o.extend({
						_doReset: function() {
							this._hash = i.create([
								1732584193,
								4023233417,
								2562383102,
								271733878,
								3285377520
							]);
						},
						_doProcessBlock: function(t, e) {
							for (var r = 0; r < 16; r++) {
								var n = e + r, i = t[n];
								t[n] = 16711935 & (i << 8 | i >>> 24) | 4278255360 & (i << 24 | i >>> 8);
							}
							var o, s, l, _, b, E, w, O, B, A, x, P = this._hash.words, T = h.words, I = p.words, k = a.words, D = f.words, R = u.words, N = c.words;
							for (E = o = P[0], w = s = P[1], O = l = P[2], B = _ = P[3], A = b = P[4], r = 0; r < 80; r += 1) x = o + t[e + k[r]] | 0, x += r < 16 ? y(s, l, _) + T[0] : r < 32 ? g(s, l, _) + T[1] : r < 48 ? d(s, l, _) + T[2] : r < 64 ? v(s, l, _) + T[3] : m(s, l, _) + T[4], x = (x = S(x |= 0, R[r])) + b | 0, o = b, b = _, _ = S(l, 10), l = s, s = x, x = E + t[e + D[r]] | 0, x += r < 16 ? m(w, O, B) + I[0] : r < 32 ? v(w, O, B) + I[1] : r < 48 ? d(w, O, B) + I[2] : r < 64 ? g(w, O, B) + I[3] : y(w, O, B) + I[4], x = (x = S(x |= 0, N[r])) + A | 0, E = A, A = B, B = S(O, 10), O = w, w = x;
							x = P[1] + l + B | 0, P[1] = P[2] + _ + A | 0, P[2] = P[3] + b + E | 0, P[3] = P[4] + o + w | 0, P[4] = P[0] + s + O | 0, P[0] = x;
						},
						_doFinalize: function() {
							var t = this._data, e = t.words, r = 8 * this._nDataBytes, n = 8 * t.sigBytes;
							e[n >>> 5] |= 128 << 24 - n % 32, e[14 + (n + 64 >>> 9 << 4)] = 16711935 & (r << 8 | r >>> 24) | 4278255360 & (r << 24 | r >>> 8), t.sigBytes = 4 * (e.length + 1), this._process();
							for (var i = this._hash, o = i.words, s = 0; s < 5; s++) {
								var a = o[s];
								o[s] = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8);
							}
							return i;
						},
						clone: function() {
							var t = o.clone.call(this);
							return t._hash = this._hash.clone(), t;
						}
					});
					function y(t, e, r) {
						return t ^ e ^ r;
					}
					function g(t, e, r) {
						return t & e | ~t & r;
					}
					function d(t, e, r) {
						return (t | ~e) ^ r;
					}
					function v(t, e, r) {
						return t & r | e & ~r;
					}
					function m(t, e, r) {
						return t ^ (e | ~r);
					}
					function S(t, e) {
						return t << e | t >>> 32 - e;
					}
					e.RIPEMD160 = o._createHelper(l), e.HmacRIPEMD160 = o._createHmacHelper(l);
				}(Math), n.RIPEMD160);
			},
			5471: function(t, e, r) {
				var n, i, o, s, a, f, u, c;
				t.exports = (i = (n = c = r(9021)).lib, o = i.WordArray, s = i.Hasher, a = n.algo, f = [], u = a.SHA1 = s.extend({
					_doReset: function() {
						this._hash = new o.init([
							1732584193,
							4023233417,
							2562383102,
							271733878,
							3285377520
						]);
					},
					_doProcessBlock: function(t, e) {
						for (var r = this._hash.words, n = r[0], i = r[1], o = r[2], s = r[3], a = r[4], u = 0; u < 80; u++) {
							if (u < 16) f[u] = 0 | t[e + u];
							else {
								var c = f[u - 3] ^ f[u - 8] ^ f[u - 14] ^ f[u - 16];
								f[u] = c << 1 | c >>> 31;
							}
							var h = (n << 5 | n >>> 27) + a + f[u];
							h += u < 20 ? 1518500249 + (i & o | ~i & s) : u < 40 ? 1859775393 + (i ^ o ^ s) : u < 60 ? (i & o | i & s | o & s) - 1894007588 : (i ^ o ^ s) - 899497514, a = s, s = o, o = i << 30 | i >>> 2, i = n, n = h;
						}
						r[0] = r[0] + n | 0, r[1] = r[1] + i | 0, r[2] = r[2] + o | 0, r[3] = r[3] + s | 0, r[4] = r[4] + a | 0;
					},
					_doFinalize: function() {
						var t = this._data, e = t.words, r = 8 * this._nDataBytes, n = 8 * t.sigBytes;
						return e[n >>> 5] |= 128 << 24 - n % 32, e[14 + (n + 64 >>> 9 << 4)] = Math.floor(r / 4294967296), e[15 + (n + 64 >>> 9 << 4)] = r, t.sigBytes = 4 * e.length, this._process(), this._hash;
					},
					clone: function() {
						var t = s.clone.call(this);
						return t._hash = this._hash.clone(), t;
					}
				}), n.SHA1 = s._createHelper(u), n.HmacSHA1 = s._createHmacHelper(u), c.SHA1);
			},
			6308: function(t, e, r) {
				var n, i, o, s, a, f;
				t.exports = (f = r(9021), r(3009), i = (n = f).lib.WordArray, o = n.algo, s = o.SHA256, a = o.SHA224 = s.extend({
					_doReset: function() {
						this._hash = new i.init([
							3238371032,
							914150663,
							812702999,
							4144912697,
							4290775857,
							1750603025,
							1694076839,
							3204075428
						]);
					},
					_doFinalize: function() {
						var t = s._doFinalize.call(this);
						return t.sigBytes -= 4, t;
					}
				}), n.SHA224 = s._createHelper(a), n.HmacSHA224 = s._createHmacHelper(a), f.SHA224);
			},
			3009: function(t, e, r) {
				var n;
				t.exports = (n = r(9021), function(t) {
					var e = n, r = e.lib, i = r.WordArray, o = r.Hasher, s = e.algo, a = [], f = [];
					!function() {
						function e(e) {
							for (var r = t.sqrt(e), n = 2; n <= r; n++) if (!(e % n)) return !1;
							return !0;
						}
						function r(t) {
							return 4294967296 * (t - (0 | t)) | 0;
						}
						for (var n = 2, i = 0; i < 64;) e(n) && (i < 8 && (a[i] = r(t.pow(n, .5))), f[i] = r(t.pow(n, 1 / 3)), i++), n++;
					}();
					var u = [], c = s.SHA256 = o.extend({
						_doReset: function() {
							this._hash = new i.init(a.slice(0));
						},
						_doProcessBlock: function(t, e) {
							for (var r = this._hash.words, n = r[0], i = r[1], o = r[2], s = r[3], a = r[4], c = r[5], h = r[6], p = r[7], l = 0; l < 64; l++) {
								if (l < 16) u[l] = 0 | t[e + l];
								else {
									var y = u[l - 15], g = (y << 25 | y >>> 7) ^ (y << 14 | y >>> 18) ^ y >>> 3, d = u[l - 2], v = (d << 15 | d >>> 17) ^ (d << 13 | d >>> 19) ^ d >>> 10;
									u[l] = g + u[l - 7] + v + u[l - 16];
								}
								var m = n & i ^ n & o ^ i & o, S = (n << 30 | n >>> 2) ^ (n << 19 | n >>> 13) ^ (n << 10 | n >>> 22), _ = p + ((a << 26 | a >>> 6) ^ (a << 21 | a >>> 11) ^ (a << 7 | a >>> 25)) + (a & c ^ ~a & h) + f[l] + u[l];
								p = h, h = c, c = a, a = s + _ | 0, s = o, o = i, i = n, n = _ + (S + m) | 0;
							}
							r[0] = r[0] + n | 0, r[1] = r[1] + i | 0, r[2] = r[2] + o | 0, r[3] = r[3] + s | 0, r[4] = r[4] + a | 0, r[5] = r[5] + c | 0, r[6] = r[6] + h | 0, r[7] = r[7] + p | 0;
						},
						_doFinalize: function() {
							var e = this._data, r = e.words, n = 8 * this._nDataBytes, i = 8 * e.sigBytes;
							return r[i >>> 5] |= 128 << 24 - i % 32, r[14 + (i + 64 >>> 9 << 4)] = t.floor(n / 4294967296), r[15 + (i + 64 >>> 9 << 4)] = n, e.sigBytes = 4 * r.length, this._process(), this._hash;
						},
						clone: function() {
							var t = o.clone.call(this);
							return t._hash = this._hash.clone(), t;
						}
					});
					e.SHA256 = o._createHelper(c), e.HmacSHA256 = o._createHmacHelper(c);
				}(Math), n.SHA256);
			},
			5953: function(t, e, r) {
				var n;
				t.exports = (n = r(9021), r(3240), function(t) {
					var e = n, r = e.lib, i = r.WordArray, o = r.Hasher, s = e.x64.Word, a = e.algo, f = [], u = [], c = [];
					!function() {
						for (var t = 1, e = 0, r = 0; r < 24; r++) {
							f[t + 5 * e] = (r + 1) * (r + 2) / 2 % 64;
							var n = (2 * t + 3 * e) % 5;
							t = e % 5, e = n;
						}
						for (t = 0; t < 5; t++) for (e = 0; e < 5; e++) u[t + 5 * e] = e + (2 * t + 3 * e) % 5 * 5;
						for (var i = 1, o = 0; o < 24; o++) {
							for (var a = 0, h = 0, p = 0; p < 7; p++) {
								if (1 & i) {
									var l = (1 << p) - 1;
									l < 32 ? h ^= 1 << l : a ^= 1 << l - 32;
								}
								128 & i ? i = i << 1 ^ 113 : i <<= 1;
							}
							c[o] = s.create(a, h);
						}
					}();
					var h = [];
					!function() {
						for (var t = 0; t < 25; t++) h[t] = s.create();
					}();
					var p = a.SHA3 = o.extend({
						cfg: o.cfg.extend({ outputLength: 512 }),
						_doReset: function() {
							for (var t = this._state = [], e = 0; e < 25; e++) t[e] = new s.init();
							this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32;
						},
						_doProcessBlock: function(t, e) {
							for (var r = this._state, n = this.blockSize / 2, i = 0; i < n; i++) {
								var o = t[e + 2 * i], s = t[e + 2 * i + 1];
								o = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), s = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8), (P = r[i]).high ^= s, P.low ^= o;
							}
							for (var a = 0; a < 24; a++) {
								for (var p = 0; p < 5; p++) {
									for (var l = 0, y = 0, g = 0; g < 5; g++) l ^= (P = r[p + 5 * g]).high, y ^= P.low;
									var d = h[p];
									d.high = l, d.low = y;
								}
								for (p = 0; p < 5; p++) {
									var v = h[(p + 4) % 5], m = h[(p + 1) % 5], S = m.high, _ = m.low;
									for (l = v.high ^ (S << 1 | _ >>> 31), y = v.low ^ (_ << 1 | S >>> 31), g = 0; g < 5; g++) (P = r[p + 5 * g]).high ^= l, P.low ^= y;
								}
								for (var b = 1; b < 25; b++) {
									var E = (P = r[b]).high, w = P.low, O = f[b];
									O < 32 ? (l = E << O | w >>> 32 - O, y = w << O | E >>> 32 - O) : (l = w << O - 32 | E >>> 64 - O, y = E << O - 32 | w >>> 64 - O);
									var B = h[u[b]];
									B.high = l, B.low = y;
								}
								var A = h[0], x = r[0];
								for (A.high = x.high, A.low = x.low, p = 0; p < 5; p++) for (g = 0; g < 5; g++) {
									var P = r[b = p + 5 * g], T = h[b], I = h[(p + 1) % 5 + 5 * g], k = h[(p + 2) % 5 + 5 * g];
									P.high = T.high ^ ~I.high & k.high, P.low = T.low ^ ~I.low & k.low;
								}
								P = r[0];
								var D = c[a];
								P.high ^= D.high, P.low ^= D.low;
							}
						},
						_doFinalize: function() {
							var e = this._data, r = e.words, n = (this._nDataBytes, 8 * e.sigBytes), o = 32 * this.blockSize;
							r[n >>> 5] |= 1 << 24 - n % 32, r[(t.ceil((n + 1) / o) * o >>> 5) - 1] |= 128, e.sigBytes = 4 * r.length, this._process();
							for (var s = this._state, a = this.cfg.outputLength / 8, f = a / 8, u = [], c = 0; c < f; c++) {
								var h = s[c], p = h.high, l = h.low;
								p = 16711935 & (p << 8 | p >>> 24) | 4278255360 & (p << 24 | p >>> 8), l = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8), u.push(l), u.push(p);
							}
							return new i.init(u, a);
						},
						clone: function() {
							for (var t = o.clone.call(this), e = t._state = this._state.slice(0), r = 0; r < 25; r++) e[r] = e[r].clone();
							return t;
						}
					});
					e.SHA3 = o._createHelper(p), e.HmacSHA3 = o._createHmacHelper(p);
				}(Math), n.SHA3);
			},
			9557: function(t, e, r) {
				var n, i, o, s, a, f, u, c;
				t.exports = (c = r(9021), r(3240), r(1380), i = (n = c).x64, o = i.Word, s = i.WordArray, a = n.algo, f = a.SHA512, u = a.SHA384 = f.extend({
					_doReset: function() {
						this._hash = new s.init([
							new o.init(3418070365, 3238371032),
							new o.init(1654270250, 914150663),
							new o.init(2438529370, 812702999),
							new o.init(355462360, 4144912697),
							new o.init(1731405415, 4290775857),
							new o.init(2394180231, 1750603025),
							new o.init(3675008525, 1694076839),
							new o.init(1203062813, 3204075428)
						]);
					},
					_doFinalize: function() {
						var t = f._doFinalize.call(this);
						return t.sigBytes -= 16, t;
					}
				}), n.SHA384 = f._createHelper(u), n.HmacSHA384 = f._createHmacHelper(u), c.SHA384);
			},
			1380: function(t, e, r) {
				var n;
				t.exports = (n = r(9021), r(3240), function() {
					var t = n, e = t.lib.Hasher, r = t.x64, i = r.Word, o = r.WordArray, s = t.algo;
					function a() {
						return i.create.apply(i, arguments);
					}
					var f = [
						a(1116352408, 3609767458),
						a(1899447441, 602891725),
						a(3049323471, 3964484399),
						a(3921009573, 2173295548),
						a(961987163, 4081628472),
						a(1508970993, 3053834265),
						a(2453635748, 2937671579),
						a(2870763221, 3664609560),
						a(3624381080, 2734883394),
						a(310598401, 1164996542),
						a(607225278, 1323610764),
						a(1426881987, 3590304994),
						a(1925078388, 4068182383),
						a(2162078206, 991336113),
						a(2614888103, 633803317),
						a(3248222580, 3479774868),
						a(3835390401, 2666613458),
						a(4022224774, 944711139),
						a(264347078, 2341262773),
						a(604807628, 2007800933),
						a(770255983, 1495990901),
						a(1249150122, 1856431235),
						a(1555081692, 3175218132),
						a(1996064986, 2198950837),
						a(2554220882, 3999719339),
						a(2821834349, 766784016),
						a(2952996808, 2566594879),
						a(3210313671, 3203337956),
						a(3336571891, 1034457026),
						a(3584528711, 2466948901),
						a(113926993, 3758326383),
						a(338241895, 168717936),
						a(666307205, 1188179964),
						a(773529912, 1546045734),
						a(1294757372, 1522805485),
						a(1396182291, 2643833823),
						a(1695183700, 2343527390),
						a(1986661051, 1014477480),
						a(2177026350, 1206759142),
						a(2456956037, 344077627),
						a(2730485921, 1290863460),
						a(2820302411, 3158454273),
						a(3259730800, 3505952657),
						a(3345764771, 106217008),
						a(3516065817, 3606008344),
						a(3600352804, 1432725776),
						a(4094571909, 1467031594),
						a(275423344, 851169720),
						a(430227734, 3100823752),
						a(506948616, 1363258195),
						a(659060556, 3750685593),
						a(883997877, 3785050280),
						a(958139571, 3318307427),
						a(1322822218, 3812723403),
						a(1537002063, 2003034995),
						a(1747873779, 3602036899),
						a(1955562222, 1575990012),
						a(2024104815, 1125592928),
						a(2227730452, 2716904306),
						a(2361852424, 442776044),
						a(2428436474, 593698344),
						a(2756734187, 3733110249),
						a(3204031479, 2999351573),
						a(3329325298, 3815920427),
						a(3391569614, 3928383900),
						a(3515267271, 566280711),
						a(3940187606, 3454069534),
						a(4118630271, 4000239992),
						a(116418474, 1914138554),
						a(174292421, 2731055270),
						a(289380356, 3203993006),
						a(460393269, 320620315),
						a(685471733, 587496836),
						a(852142971, 1086792851),
						a(1017036298, 365543100),
						a(1126000580, 2618297676),
						a(1288033470, 3409855158),
						a(1501505948, 4234509866),
						a(1607167915, 987167468),
						a(1816402316, 1246189591)
					], u = [];
					!function() {
						for (var t = 0; t < 80; t++) u[t] = a();
					}();
					var c = s.SHA512 = e.extend({
						_doReset: function() {
							this._hash = new o.init([
								new i.init(1779033703, 4089235720),
								new i.init(3144134277, 2227873595),
								new i.init(1013904242, 4271175723),
								new i.init(2773480762, 1595750129),
								new i.init(1359893119, 2917565137),
								new i.init(2600822924, 725511199),
								new i.init(528734635, 4215389547),
								new i.init(1541459225, 327033209)
							]);
						},
						_doProcessBlock: function(t, e) {
							for (var r = this._hash.words, n = r[0], i = r[1], o = r[2], s = r[3], a = r[4], c = r[5], h = r[6], p = r[7], l = n.high, y = n.low, g = i.high, d = i.low, v = o.high, m = o.low, S = s.high, _ = s.low, b = a.high, E = a.low, w = c.high, O = c.low, B = h.high, A = h.low, x = p.high, P = p.low, T = l, I = y, k = g, D = d, R = v, N = m, L = S, C = _, U = b, M = E, j = w, H = O, F = B, z = A, G = x, q = P, $ = 0; $ < 80; $++) {
								var K = u[$];
								if ($ < 16) var W = K.high = 0 | t[e + 2 * $], V = K.low = 0 | t[e + 2 * $ + 1];
								else {
									var Y = u[$ - 15], X = Y.high, Z = Y.low, J = (X >>> 1 | Z << 31) ^ (X >>> 8 | Z << 24) ^ X >>> 7, Q = (Z >>> 1 | X << 31) ^ (Z >>> 8 | X << 24) ^ (Z >>> 7 | X << 25), tt = u[$ - 2], et = tt.high, rt = tt.low, nt = (et >>> 19 | rt << 13) ^ (et << 3 | rt >>> 29) ^ et >>> 6, it = (rt >>> 19 | et << 13) ^ (rt << 3 | et >>> 29) ^ (rt >>> 6 | et << 26), ot = u[$ - 7], st = ot.high, at = ot.low, ft = u[$ - 16], ut = ft.high, ct = ft.low;
									W = (W = (W = J + st + ((V = Q + at) >>> 0 < Q >>> 0 ? 1 : 0)) + nt + ((V += it) >>> 0 < it >>> 0 ? 1 : 0)) + ut + ((V += ct) >>> 0 < ct >>> 0 ? 1 : 0), K.high = W, K.low = V;
								}
								var ht, pt = U & j ^ ~U & F, lt = M & H ^ ~M & z, yt = T & k ^ T & R ^ k & R, gt = I & D ^ I & N ^ D & N, dt = (T >>> 28 | I << 4) ^ (T << 30 | I >>> 2) ^ (T << 25 | I >>> 7), vt = (I >>> 28 | T << 4) ^ (I << 30 | T >>> 2) ^ (I << 25 | T >>> 7), mt = (U >>> 14 | M << 18) ^ (U >>> 18 | M << 14) ^ (U << 23 | M >>> 9), St = (M >>> 14 | U << 18) ^ (M >>> 18 | U << 14) ^ (M << 23 | U >>> 9), _t = f[$], bt = _t.high, Et = _t.low, wt = G + mt + ((ht = q + St) >>> 0 < q >>> 0 ? 1 : 0), Ot = vt + gt;
								G = F, q = z, F = j, z = H, j = U, H = M, U = L + (wt = (wt = (wt = wt + pt + ((ht += lt) >>> 0 < lt >>> 0 ? 1 : 0)) + bt + ((ht += Et) >>> 0 < Et >>> 0 ? 1 : 0)) + W + ((ht += V) >>> 0 < V >>> 0 ? 1 : 0)) + ((M = C + ht | 0) >>> 0 < C >>> 0 ? 1 : 0) | 0, L = R, C = N, R = k, N = D, k = T, D = I, T = wt + (dt + yt + (Ot >>> 0 < vt >>> 0 ? 1 : 0)) + ((I = ht + Ot | 0) >>> 0 < ht >>> 0 ? 1 : 0) | 0;
							}
							y = n.low = y + I, n.high = l + T + (y >>> 0 < I >>> 0 ? 1 : 0), d = i.low = d + D, i.high = g + k + (d >>> 0 < D >>> 0 ? 1 : 0), m = o.low = m + N, o.high = v + R + (m >>> 0 < N >>> 0 ? 1 : 0), _ = s.low = _ + C, s.high = S + L + (_ >>> 0 < C >>> 0 ? 1 : 0), E = a.low = E + M, a.high = b + U + (E >>> 0 < M >>> 0 ? 1 : 0), O = c.low = O + H, c.high = w + j + (O >>> 0 < H >>> 0 ? 1 : 0), A = h.low = A + z, h.high = B + F + (A >>> 0 < z >>> 0 ? 1 : 0), P = p.low = P + q, p.high = x + G + (P >>> 0 < q >>> 0 ? 1 : 0);
						},
						_doFinalize: function() {
							var t = this._data, e = t.words, r = 8 * this._nDataBytes, n = 8 * t.sigBytes;
							return e[n >>> 5] |= 128 << 24 - n % 32, e[30 + (n + 128 >>> 10 << 5)] = Math.floor(r / 4294967296), e[31 + (n + 128 >>> 10 << 5)] = r, t.sigBytes = 4 * e.length, this._process(), this._hash.toX32();
						},
						clone: function() {
							var t = e.clone.call(this);
							return t._hash = this._hash.clone(), t;
						},
						blockSize: 32
					});
					t.SHA512 = e._createHelper(c), t.HmacSHA512 = e._createHmacHelper(c);
				}(), n.SHA512);
			},
			7628: function(t, e, r) {
				var n;
				t.exports = (n = r(9021), r(754), r(4636), r(9506), r(7165), function() {
					var t = n, e = t.lib, r = e.WordArray, i = e.BlockCipher, o = t.algo, s = [
						57,
						49,
						41,
						33,
						25,
						17,
						9,
						1,
						58,
						50,
						42,
						34,
						26,
						18,
						10,
						2,
						59,
						51,
						43,
						35,
						27,
						19,
						11,
						3,
						60,
						52,
						44,
						36,
						63,
						55,
						47,
						39,
						31,
						23,
						15,
						7,
						62,
						54,
						46,
						38,
						30,
						22,
						14,
						6,
						61,
						53,
						45,
						37,
						29,
						21,
						13,
						5,
						28,
						20,
						12,
						4
					], a = [
						14,
						17,
						11,
						24,
						1,
						5,
						3,
						28,
						15,
						6,
						21,
						10,
						23,
						19,
						12,
						4,
						26,
						8,
						16,
						7,
						27,
						20,
						13,
						2,
						41,
						52,
						31,
						37,
						47,
						55,
						30,
						40,
						51,
						45,
						33,
						48,
						44,
						49,
						39,
						56,
						34,
						53,
						46,
						42,
						50,
						36,
						29,
						32
					], f = [
						1,
						2,
						4,
						6,
						8,
						10,
						12,
						14,
						15,
						17,
						19,
						21,
						23,
						25,
						27,
						28
					], u = [
						{
							0: 8421888,
							268435456: 32768,
							536870912: 8421378,
							805306368: 2,
							1073741824: 512,
							1342177280: 8421890,
							1610612736: 8389122,
							1879048192: 8388608,
							2147483648: 514,
							2415919104: 8389120,
							2684354560: 33280,
							2952790016: 8421376,
							3221225472: 32770,
							3489660928: 8388610,
							3758096384: 0,
							4026531840: 33282,
							134217728: 0,
							402653184: 8421890,
							671088640: 33282,
							939524096: 32768,
							1207959552: 8421888,
							1476395008: 512,
							1744830464: 8421378,
							2013265920: 2,
							2281701376: 8389120,
							2550136832: 33280,
							2818572288: 8421376,
							3087007744: 8389122,
							3355443200: 8388610,
							3623878656: 32770,
							3892314112: 514,
							4160749568: 8388608,
							1: 32768,
							268435457: 2,
							536870913: 8421888,
							805306369: 8388608,
							1073741825: 8421378,
							1342177281: 33280,
							1610612737: 512,
							1879048193: 8389122,
							2147483649: 8421890,
							2415919105: 8421376,
							2684354561: 8388610,
							2952790017: 33282,
							3221225473: 514,
							3489660929: 8389120,
							3758096385: 32770,
							4026531841: 0,
							134217729: 8421890,
							402653185: 8421376,
							671088641: 8388608,
							939524097: 512,
							1207959553: 32768,
							1476395009: 8388610,
							1744830465: 2,
							2013265921: 33282,
							2281701377: 32770,
							2550136833: 8389122,
							2818572289: 514,
							3087007745: 8421888,
							3355443201: 8389120,
							3623878657: 0,
							3892314113: 33280,
							4160749569: 8421378
						},
						{
							0: 1074282512,
							16777216: 16384,
							33554432: 524288,
							50331648: 1074266128,
							67108864: 1073741840,
							83886080: 1074282496,
							100663296: 1073758208,
							117440512: 16,
							134217728: 540672,
							150994944: 1073758224,
							167772160: 1073741824,
							184549376: 540688,
							201326592: 524304,
							218103808: 0,
							234881024: 16400,
							251658240: 1074266112,
							8388608: 1073758208,
							25165824: 540688,
							41943040: 16,
							58720256: 1073758224,
							75497472: 1074282512,
							92274688: 1073741824,
							109051904: 524288,
							125829120: 1074266128,
							142606336: 524304,
							159383552: 0,
							176160768: 16384,
							192937984: 1074266112,
							209715200: 1073741840,
							226492416: 540672,
							243269632: 1074282496,
							260046848: 16400,
							268435456: 0,
							285212672: 1074266128,
							301989888: 1073758224,
							318767104: 1074282496,
							335544320: 1074266112,
							352321536: 16,
							369098752: 540688,
							385875968: 16384,
							402653184: 16400,
							419430400: 524288,
							436207616: 524304,
							452984832: 1073741840,
							469762048: 540672,
							486539264: 1073758208,
							503316480: 1073741824,
							520093696: 1074282512,
							276824064: 540688,
							293601280: 524288,
							310378496: 1074266112,
							327155712: 16384,
							343932928: 1073758208,
							360710144: 1074282512,
							377487360: 16,
							394264576: 1073741824,
							411041792: 1074282496,
							427819008: 1073741840,
							444596224: 1073758224,
							461373440: 524304,
							478150656: 0,
							494927872: 16400,
							511705088: 1074266128,
							528482304: 540672
						},
						{
							0: 260,
							1048576: 0,
							2097152: 67109120,
							3145728: 65796,
							4194304: 65540,
							5242880: 67108868,
							6291456: 67174660,
							7340032: 67174400,
							8388608: 67108864,
							9437184: 67174656,
							10485760: 65792,
							11534336: 67174404,
							12582912: 67109124,
							13631488: 65536,
							14680064: 4,
							15728640: 256,
							524288: 67174656,
							1572864: 67174404,
							2621440: 0,
							3670016: 67109120,
							4718592: 67108868,
							5767168: 65536,
							6815744: 65540,
							7864320: 260,
							8912896: 4,
							9961472: 256,
							11010048: 67174400,
							12058624: 65796,
							13107200: 65792,
							14155776: 67109124,
							15204352: 67174660,
							16252928: 67108864,
							16777216: 67174656,
							17825792: 65540,
							18874368: 65536,
							19922944: 67109120,
							20971520: 256,
							22020096: 67174660,
							23068672: 67108868,
							24117248: 0,
							25165824: 67109124,
							26214400: 67108864,
							27262976: 4,
							28311552: 65792,
							29360128: 67174400,
							30408704: 260,
							31457280: 65796,
							32505856: 67174404,
							17301504: 67108864,
							18350080: 260,
							19398656: 67174656,
							20447232: 0,
							21495808: 65540,
							22544384: 67109120,
							23592960: 256,
							24641536: 67174404,
							25690112: 65536,
							26738688: 67174660,
							27787264: 65796,
							28835840: 67108868,
							29884416: 67109124,
							30932992: 67174400,
							31981568: 4,
							33030144: 65792
						},
						{
							0: 2151682048,
							65536: 2147487808,
							131072: 4198464,
							196608: 2151677952,
							262144: 0,
							327680: 4198400,
							393216: 2147483712,
							458752: 4194368,
							524288: 2147483648,
							589824: 4194304,
							655360: 64,
							720896: 2147487744,
							786432: 2151678016,
							851968: 4160,
							917504: 4096,
							983040: 2151682112,
							32768: 2147487808,
							98304: 64,
							163840: 2151678016,
							229376: 2147487744,
							294912: 4198400,
							360448: 2151682112,
							425984: 0,
							491520: 2151677952,
							557056: 4096,
							622592: 2151682048,
							688128: 4194304,
							753664: 4160,
							819200: 2147483648,
							884736: 4194368,
							950272: 4198464,
							1015808: 2147483712,
							1048576: 4194368,
							1114112: 4198400,
							1179648: 2147483712,
							1245184: 0,
							1310720: 4160,
							1376256: 2151678016,
							1441792: 2151682048,
							1507328: 2147487808,
							1572864: 2151682112,
							1638400: 2147483648,
							1703936: 2151677952,
							1769472: 4198464,
							1835008: 2147487744,
							1900544: 4194304,
							1966080: 64,
							2031616: 4096,
							1081344: 2151677952,
							1146880: 2151682112,
							1212416: 0,
							1277952: 4198400,
							1343488: 4194368,
							1409024: 2147483648,
							1474560: 2147487808,
							1540096: 64,
							1605632: 2147483712,
							1671168: 4096,
							1736704: 2147487744,
							1802240: 2151678016,
							1867776: 4160,
							1933312: 2151682048,
							1998848: 4194304,
							2064384: 4198464
						},
						{
							0: 128,
							4096: 17039360,
							8192: 262144,
							12288: 536870912,
							16384: 537133184,
							20480: 16777344,
							24576: 553648256,
							28672: 262272,
							32768: 16777216,
							36864: 537133056,
							40960: 536871040,
							45056: 553910400,
							49152: 553910272,
							53248: 0,
							57344: 17039488,
							61440: 553648128,
							2048: 17039488,
							6144: 553648256,
							10240: 128,
							14336: 17039360,
							18432: 262144,
							22528: 537133184,
							26624: 553910272,
							30720: 536870912,
							34816: 537133056,
							38912: 0,
							43008: 553910400,
							47104: 16777344,
							51200: 536871040,
							55296: 553648128,
							59392: 16777216,
							63488: 262272,
							65536: 262144,
							69632: 128,
							73728: 536870912,
							77824: 553648256,
							81920: 16777344,
							86016: 553910272,
							90112: 537133184,
							94208: 16777216,
							98304: 553910400,
							102400: 553648128,
							106496: 17039360,
							110592: 537133056,
							114688: 262272,
							118784: 536871040,
							122880: 0,
							126976: 17039488,
							67584: 553648256,
							71680: 16777216,
							75776: 17039360,
							79872: 537133184,
							83968: 536870912,
							88064: 17039488,
							92160: 128,
							96256: 553910272,
							100352: 262272,
							104448: 553910400,
							108544: 0,
							112640: 553648128,
							116736: 16777344,
							120832: 262144,
							124928: 537133056,
							129024: 536871040
						},
						{
							0: 268435464,
							256: 8192,
							512: 270532608,
							768: 270540808,
							1024: 268443648,
							1280: 2097152,
							1536: 2097160,
							1792: 268435456,
							2048: 0,
							2304: 268443656,
							2560: 2105344,
							2816: 8,
							3072: 270532616,
							3328: 2105352,
							3584: 8200,
							3840: 270540800,
							128: 270532608,
							384: 270540808,
							640: 8,
							896: 2097152,
							1152: 2105352,
							1408: 268435464,
							1664: 268443648,
							1920: 8200,
							2176: 2097160,
							2432: 8192,
							2688: 268443656,
							2944: 270532616,
							3200: 0,
							3456: 270540800,
							3712: 2105344,
							3968: 268435456,
							4096: 268443648,
							4352: 270532616,
							4608: 270540808,
							4864: 8200,
							5120: 2097152,
							5376: 268435456,
							5632: 268435464,
							5888: 2105344,
							6144: 2105352,
							6400: 0,
							6656: 8,
							6912: 270532608,
							7168: 8192,
							7424: 268443656,
							7680: 270540800,
							7936: 2097160,
							4224: 8,
							4480: 2105344,
							4736: 2097152,
							4992: 268435464,
							5248: 268443648,
							5504: 8200,
							5760: 270540808,
							6016: 270532608,
							6272: 270540800,
							6528: 270532616,
							6784: 8192,
							7040: 2105352,
							7296: 2097160,
							7552: 0,
							7808: 268435456,
							8064: 268443656
						},
						{
							0: 1048576,
							16: 33555457,
							32: 1024,
							48: 1049601,
							64: 34604033,
							80: 0,
							96: 1,
							112: 34603009,
							128: 33555456,
							144: 1048577,
							160: 33554433,
							176: 34604032,
							192: 34603008,
							208: 1025,
							224: 1049600,
							240: 33554432,
							8: 34603009,
							24: 0,
							40: 33555457,
							56: 34604032,
							72: 1048576,
							88: 33554433,
							104: 33554432,
							120: 1025,
							136: 1049601,
							152: 33555456,
							168: 34603008,
							184: 1048577,
							200: 1024,
							216: 34604033,
							232: 1,
							248: 1049600,
							256: 33554432,
							272: 1048576,
							288: 33555457,
							304: 34603009,
							320: 1048577,
							336: 33555456,
							352: 34604032,
							368: 1049601,
							384: 1025,
							400: 34604033,
							416: 1049600,
							432: 1,
							448: 0,
							464: 34603008,
							480: 33554433,
							496: 1024,
							264: 1049600,
							280: 33555457,
							296: 34603009,
							312: 1,
							328: 33554432,
							344: 1048576,
							360: 1025,
							376: 34604032,
							392: 33554433,
							408: 34603008,
							424: 0,
							440: 34604033,
							456: 1049601,
							472: 1024,
							488: 33555456,
							504: 1048577
						},
						{
							0: 134219808,
							1: 131072,
							2: 134217728,
							3: 32,
							4: 131104,
							5: 134350880,
							6: 134350848,
							7: 2048,
							8: 134348800,
							9: 134219776,
							10: 133120,
							11: 134348832,
							12: 2080,
							13: 0,
							14: 134217760,
							15: 133152,
							2147483648: 2048,
							2147483649: 134350880,
							2147483650: 134219808,
							2147483651: 134217728,
							2147483652: 134348800,
							2147483653: 133120,
							2147483654: 133152,
							2147483655: 32,
							2147483656: 134217760,
							2147483657: 2080,
							2147483658: 131104,
							2147483659: 134350848,
							2147483660: 0,
							2147483661: 134348832,
							2147483662: 134219776,
							2147483663: 131072,
							16: 133152,
							17: 134350848,
							18: 32,
							19: 2048,
							20: 134219776,
							21: 134217760,
							22: 134348832,
							23: 131072,
							24: 0,
							25: 131104,
							26: 134348800,
							27: 134219808,
							28: 134350880,
							29: 133120,
							30: 2080,
							31: 134217728,
							2147483664: 131072,
							2147483665: 2048,
							2147483666: 134348832,
							2147483667: 133152,
							2147483668: 32,
							2147483669: 134348800,
							2147483670: 134217728,
							2147483671: 134219808,
							2147483672: 134350880,
							2147483673: 134217760,
							2147483674: 134219776,
							2147483675: 0,
							2147483676: 133120,
							2147483677: 2080,
							2147483678: 131104,
							2147483679: 134350848
						}
					], c = [
						4160749569,
						528482304,
						33030144,
						2064384,
						129024,
						8064,
						504,
						2147483679
					], h = o.DES = i.extend({
						_doReset: function() {
							for (var t = this._key.words, e = [], r = 0; r < 56; r++) {
								var n = s[r] - 1;
								e[r] = t[n >>> 5] >>> 31 - n % 32 & 1;
							}
							for (var i = this._subKeys = [], o = 0; o < 16; o++) {
								var u = i[o] = [], c = f[o];
								for (r = 0; r < 24; r++) u[r / 6 | 0] |= e[(a[r] - 1 + c) % 28] << 31 - r % 6, u[4 + (r / 6 | 0)] |= e[28 + (a[r + 24] - 1 + c) % 28] << 31 - r % 6;
								for (u[0] = u[0] << 1 | u[0] >>> 31, r = 1; r < 7; r++) u[r] = u[r] >>> 4 * (r - 1) + 3;
								u[7] = u[7] << 5 | u[7] >>> 27;
							}
							var h = this._invSubKeys = [];
							for (r = 0; r < 16; r++) h[r] = i[15 - r];
						},
						encryptBlock: function(t, e) {
							this._doCryptBlock(t, e, this._subKeys);
						},
						decryptBlock: function(t, e) {
							this._doCryptBlock(t, e, this._invSubKeys);
						},
						_doCryptBlock: function(t, e, r) {
							this._lBlock = t[e], this._rBlock = t[e + 1], p.call(this, 4, 252645135), p.call(this, 16, 65535), l.call(this, 2, 858993459), l.call(this, 8, 16711935), p.call(this, 1, 1431655765);
							for (var n = 0; n < 16; n++) {
								for (var i = r[n], o = this._lBlock, s = this._rBlock, a = 0, f = 0; f < 8; f++) a |= u[f][((s ^ i[f]) & c[f]) >>> 0];
								this._lBlock = s, this._rBlock = o ^ a;
							}
							var h = this._lBlock;
							this._lBlock = this._rBlock, this._rBlock = h, p.call(this, 1, 1431655765), l.call(this, 8, 16711935), l.call(this, 2, 858993459), p.call(this, 16, 65535), p.call(this, 4, 252645135), t[e] = this._lBlock, t[e + 1] = this._rBlock;
						},
						keySize: 2,
						ivSize: 2,
						blockSize: 2
					});
					function p(t, e) {
						var r = (this._lBlock >>> t ^ this._rBlock) & e;
						this._rBlock ^= r, this._lBlock ^= r << t;
					}
					function l(t, e) {
						var r = (this._rBlock >>> t ^ this._lBlock) & e;
						this._lBlock ^= r, this._rBlock ^= r << t;
					}
					t.DES = i._createHelper(h);
					var y = o.TripleDES = i.extend({
						_doReset: function() {
							var t = this._key.words;
							this._des1 = h.createEncryptor(r.create(t.slice(0, 2))), this._des2 = h.createEncryptor(r.create(t.slice(2, 4))), this._des3 = h.createEncryptor(r.create(t.slice(4, 6)));
						},
						encryptBlock: function(t, e) {
							this._des1.encryptBlock(t, e), this._des2.decryptBlock(t, e), this._des3.encryptBlock(t, e);
						},
						decryptBlock: function(t, e) {
							this._des3.decryptBlock(t, e), this._des2.encryptBlock(t, e), this._des1.decryptBlock(t, e);
						},
						keySize: 6,
						ivSize: 2,
						blockSize: 2
					});
					t.TripleDES = i._createHelper(y);
				}(), n.TripleDES);
			},
			3240: function(t, e, r) {
				var n, i, o, s, a, f;
				t.exports = (n = r(9021), o = (i = n).lib, s = o.Base, a = o.WordArray, (f = i.x64 = {}).Word = s.extend({ init: function(t, e) {
					this.high = t, this.low = e;
				} }), f.WordArray = s.extend({
					init: function(t, e) {
						t = this.words = t || [], this.sigBytes = null != e ? e : 8 * t.length;
					},
					toX32: function() {
						for (var t = this.words, e = t.length, r = [], n = 0; n < e; n++) {
							var i = t[n];
							r.push(i.high), r.push(i.low);
						}
						return a.create(r, this.sigBytes);
					},
					clone: function() {
						for (var t = s.clone.call(this), e = t.words = this.words.slice(0), r = e.length, n = 0; n < r; n++) e[n] = e[n].clone();
						return t;
					}
				}), n);
			},
			41: (t, e, r) => {
				"use strict";
				var n = r(655), i = r(8068), o = r(9675), s = r(5795);
				t.exports = function(t, e, r) {
					if (!t || "object" != typeof t && "function" != typeof t) throw new o("`obj` must be an object or a function`");
					if ("string" != typeof e && "symbol" != typeof e) throw new o("`property` must be a string or a symbol`");
					if (arguments.length > 3 && "boolean" != typeof arguments[3] && null !== arguments[3]) throw new o("`nonEnumerable`, if provided, must be a boolean or null");
					if (arguments.length > 4 && "boolean" != typeof arguments[4] && null !== arguments[4]) throw new o("`nonWritable`, if provided, must be a boolean or null");
					if (arguments.length > 5 && "boolean" != typeof arguments[5] && null !== arguments[5]) throw new o("`nonConfigurable`, if provided, must be a boolean or null");
					if (arguments.length > 6 && "boolean" != typeof arguments[6]) throw new o("`loose`, if provided, must be a boolean");
					var a = arguments.length > 3 ? arguments[3] : null, f = arguments.length > 4 ? arguments[4] : null, u = arguments.length > 5 ? arguments[5] : null, c = arguments.length > 6 && arguments[6], h = !!s && s(t, e);
					if (n) n(t, e, {
						configurable: null === u && h ? h.configurable : !u,
						enumerable: null === a && h ? h.enumerable : !a,
						value: r,
						writable: null === f && h ? h.writable : !f
					});
					else {
						if (!c && (a || f || u)) throw new i("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");
						t[e] = r;
					}
				};
			},
			655: (t, e, r) => {
				"use strict";
				var n = r(453)("%Object.defineProperty%", !0) || !1;
				if (n) try {
					n({}, "a", { value: 1 });
				} catch (t) {
					n = !1;
				}
				t.exports = n;
			},
			1237: (t) => {
				"use strict";
				t.exports = EvalError;
			},
			9383: (t) => {
				"use strict";
				t.exports = Error;
			},
			9290: (t) => {
				"use strict";
				t.exports = RangeError;
			},
			9538: (t) => {
				"use strict";
				t.exports = ReferenceError;
			},
			8068: (t) => {
				"use strict";
				t.exports = SyntaxError;
			},
			9675: (t) => {
				"use strict";
				t.exports = TypeError;
			},
			5345: (t) => {
				"use strict";
				t.exports = URIError;
			},
			9353: (t) => {
				"use strict";
				var e = Object.prototype.toString, r = Math.max, n = function(t, e) {
					for (var r = [], n = 0; n < t.length; n += 1) r[n] = t[n];
					for (var i = 0; i < e.length; i += 1) r[i + t.length] = e[i];
					return r;
				};
				t.exports = function(t) {
					var i = this;
					if ("function" != typeof i || "[object Function]" !== e.apply(i)) throw new TypeError("Function.prototype.bind called on incompatible " + i);
					for (var o, s = function(t, e) {
						for (var r = [], n = 1, i = 0; n < t.length; n += 1, i += 1) r[i] = t[n];
						return r;
					}(arguments), a = r(0, i.length - s.length), f = [], u = 0; u < a; u++) f[u] = "$" + u;
					if (o = Function("binder", "return function (" + function(t, e) {
						for (var r = "", n = 0; n < t.length; n += 1) r += t[n], n + 1 < t.length && (r += ",");
						return r;
					}(f) + "){ return binder.apply(this,arguments); }")((function() {
						if (this instanceof o) {
							var e = i.apply(this, n(s, arguments));
							return Object(e) === e ? e : this;
						}
						return i.apply(t, n(s, arguments));
					})), i.prototype) {
						var c = function() {};
						c.prototype = i.prototype, o.prototype = new c(), c.prototype = null;
					}
					return o;
				};
			},
			6743: (t, e, r) => {
				"use strict";
				var n = r(9353);
				t.exports = Function.prototype.bind || n;
			},
			453: (t, e, r) => {
				"use strict";
				var n, i = r(9383), o = r(1237), s = r(9290), a = r(9538), f = r(8068), u = r(9675), c = r(5345), h = Function, p = function(t) {
					try {
						return h("\"use strict\"; return (" + t + ").constructor;")();
					} catch (t) {}
				}, l = Object.getOwnPropertyDescriptor;
				if (l) try {
					l({}, "");
				} catch (t) {
					l = null;
				}
				var y = function() {
					throw new u();
				}, g = l ? function() {
					try {
						return y;
					} catch (t) {
						try {
							return l(arguments, "callee").get;
						} catch (t) {
							return y;
						}
					}
				}() : y, d = r(4039)(), v = r(24)(), m = Object.getPrototypeOf || (v ? function(t) {
					return t.__proto__;
				} : null), S = {}, _ = "undefined" != typeof Uint8Array && m ? m(Uint8Array) : n, b = {
					__proto__: null,
					"%AggregateError%": "undefined" == typeof AggregateError ? n : AggregateError,
					"%Array%": Array,
					"%ArrayBuffer%": "undefined" == typeof ArrayBuffer ? n : ArrayBuffer,
					"%ArrayIteratorPrototype%": d && m ? m([][Symbol.iterator]()) : n,
					"%AsyncFromSyncIteratorPrototype%": n,
					"%AsyncFunction%": S,
					"%AsyncGenerator%": S,
					"%AsyncGeneratorFunction%": S,
					"%AsyncIteratorPrototype%": S,
					"%Atomics%": "undefined" == typeof Atomics ? n : Atomics,
					"%BigInt%": "undefined" == typeof BigInt ? n : BigInt,
					"%BigInt64Array%": "undefined" == typeof BigInt64Array ? n : BigInt64Array,
					"%BigUint64Array%": "undefined" == typeof BigUint64Array ? n : BigUint64Array,
					"%Boolean%": Boolean,
					"%DataView%": "undefined" == typeof DataView ? n : DataView,
					"%Date%": Date,
					"%decodeURI%": decodeURI,
					"%decodeURIComponent%": decodeURIComponent,
					"%encodeURI%": encodeURI,
					"%encodeURIComponent%": encodeURIComponent,
					"%Error%": i,
					"%eval%": eval,
					"%EvalError%": o,
					"%Float32Array%": "undefined" == typeof Float32Array ? n : Float32Array,
					"%Float64Array%": "undefined" == typeof Float64Array ? n : Float64Array,
					"%FinalizationRegistry%": "undefined" == typeof FinalizationRegistry ? n : FinalizationRegistry,
					"%Function%": h,
					"%GeneratorFunction%": S,
					"%Int8Array%": "undefined" == typeof Int8Array ? n : Int8Array,
					"%Int16Array%": "undefined" == typeof Int16Array ? n : Int16Array,
					"%Int32Array%": "undefined" == typeof Int32Array ? n : Int32Array,
					"%isFinite%": isFinite,
					"%isNaN%": isNaN,
					"%IteratorPrototype%": d && m ? m(m([][Symbol.iterator]())) : n,
					"%JSON%": "object" == typeof JSON ? JSON : n,
					"%Map%": "undefined" == typeof Map ? n : Map,
					"%MapIteratorPrototype%": "undefined" != typeof Map && d && m ? m(new Map()[Symbol.iterator]()) : n,
					"%Math%": Math,
					"%Number%": Number,
					"%Object%": Object,
					"%parseFloat%": parseFloat,
					"%parseInt%": parseInt,
					"%Promise%": "undefined" == typeof Promise ? n : Promise,
					"%Proxy%": "undefined" == typeof Proxy ? n : Proxy,
					"%RangeError%": s,
					"%ReferenceError%": a,
					"%Reflect%": "undefined" == typeof Reflect ? n : Reflect,
					"%RegExp%": RegExp,
					"%Set%": "undefined" == typeof Set ? n : Set,
					"%SetIteratorPrototype%": "undefined" != typeof Set && d && m ? m(new Set()[Symbol.iterator]()) : n,
					"%SharedArrayBuffer%": "undefined" == typeof SharedArrayBuffer ? n : SharedArrayBuffer,
					"%String%": String,
					"%StringIteratorPrototype%": d && m ? m(""[Symbol.iterator]()) : n,
					"%Symbol%": d ? Symbol : n,
					"%SyntaxError%": f,
					"%ThrowTypeError%": g,
					"%TypedArray%": _,
					"%TypeError%": u,
					"%Uint8Array%": "undefined" == typeof Uint8Array ? n : Uint8Array,
					"%Uint8ClampedArray%": "undefined" == typeof Uint8ClampedArray ? n : Uint8ClampedArray,
					"%Uint16Array%": "undefined" == typeof Uint16Array ? n : Uint16Array,
					"%Uint32Array%": "undefined" == typeof Uint32Array ? n : Uint32Array,
					"%URIError%": c,
					"%WeakMap%": "undefined" == typeof WeakMap ? n : WeakMap,
					"%WeakRef%": "undefined" == typeof WeakRef ? n : WeakRef,
					"%WeakSet%": "undefined" == typeof WeakSet ? n : WeakSet
				};
				if (m) try {
					null.error;
				} catch (t) {
					var E = m(m(t));
					b["%Error.prototype%"] = E;
				}
				var w = function t(e) {
					var r;
					if ("%AsyncFunction%" === e) r = p("async function () {}");
					else if ("%GeneratorFunction%" === e) r = p("function* () {}");
					else if ("%AsyncGeneratorFunction%" === e) r = p("async function* () {}");
					else if ("%AsyncGenerator%" === e) {
						var n = t("%AsyncGeneratorFunction%");
						n && (r = n.prototype);
					} else if ("%AsyncIteratorPrototype%" === e) {
						var i = t("%AsyncGenerator%");
						i && m && (r = m(i.prototype));
					}
					return b[e] = r, r;
				}, O = {
					__proto__: null,
					"%ArrayBufferPrototype%": ["ArrayBuffer", "prototype"],
					"%ArrayPrototype%": ["Array", "prototype"],
					"%ArrayProto_entries%": [
						"Array",
						"prototype",
						"entries"
					],
					"%ArrayProto_forEach%": [
						"Array",
						"prototype",
						"forEach"
					],
					"%ArrayProto_keys%": [
						"Array",
						"prototype",
						"keys"
					],
					"%ArrayProto_values%": [
						"Array",
						"prototype",
						"values"
					],
					"%AsyncFunctionPrototype%": ["AsyncFunction", "prototype"],
					"%AsyncGenerator%": ["AsyncGeneratorFunction", "prototype"],
					"%AsyncGeneratorPrototype%": [
						"AsyncGeneratorFunction",
						"prototype",
						"prototype"
					],
					"%BooleanPrototype%": ["Boolean", "prototype"],
					"%DataViewPrototype%": ["DataView", "prototype"],
					"%DatePrototype%": ["Date", "prototype"],
					"%ErrorPrototype%": ["Error", "prototype"],
					"%EvalErrorPrototype%": ["EvalError", "prototype"],
					"%Float32ArrayPrototype%": ["Float32Array", "prototype"],
					"%Float64ArrayPrototype%": ["Float64Array", "prototype"],
					"%FunctionPrototype%": ["Function", "prototype"],
					"%Generator%": ["GeneratorFunction", "prototype"],
					"%GeneratorPrototype%": [
						"GeneratorFunction",
						"prototype",
						"prototype"
					],
					"%Int8ArrayPrototype%": ["Int8Array", "prototype"],
					"%Int16ArrayPrototype%": ["Int16Array", "prototype"],
					"%Int32ArrayPrototype%": ["Int32Array", "prototype"],
					"%JSONParse%": ["JSON", "parse"],
					"%JSONStringify%": ["JSON", "stringify"],
					"%MapPrototype%": ["Map", "prototype"],
					"%NumberPrototype%": ["Number", "prototype"],
					"%ObjectPrototype%": ["Object", "prototype"],
					"%ObjProto_toString%": [
						"Object",
						"prototype",
						"toString"
					],
					"%ObjProto_valueOf%": [
						"Object",
						"prototype",
						"valueOf"
					],
					"%PromisePrototype%": ["Promise", "prototype"],
					"%PromiseProto_then%": [
						"Promise",
						"prototype",
						"then"
					],
					"%Promise_all%": ["Promise", "all"],
					"%Promise_reject%": ["Promise", "reject"],
					"%Promise_resolve%": ["Promise", "resolve"],
					"%RangeErrorPrototype%": ["RangeError", "prototype"],
					"%ReferenceErrorPrototype%": ["ReferenceError", "prototype"],
					"%RegExpPrototype%": ["RegExp", "prototype"],
					"%SetPrototype%": ["Set", "prototype"],
					"%SharedArrayBufferPrototype%": ["SharedArrayBuffer", "prototype"],
					"%StringPrototype%": ["String", "prototype"],
					"%SymbolPrototype%": ["Symbol", "prototype"],
					"%SyntaxErrorPrototype%": ["SyntaxError", "prototype"],
					"%TypedArrayPrototype%": ["TypedArray", "prototype"],
					"%TypeErrorPrototype%": ["TypeError", "prototype"],
					"%Uint8ArrayPrototype%": ["Uint8Array", "prototype"],
					"%Uint8ClampedArrayPrototype%": ["Uint8ClampedArray", "prototype"],
					"%Uint16ArrayPrototype%": ["Uint16Array", "prototype"],
					"%Uint32ArrayPrototype%": ["Uint32Array", "prototype"],
					"%URIErrorPrototype%": ["URIError", "prototype"],
					"%WeakMapPrototype%": ["WeakMap", "prototype"],
					"%WeakSetPrototype%": ["WeakSet", "prototype"]
				}, B = r(6743), A = r(9957), x = B.call(Function.call, Array.prototype.concat), P = B.call(Function.apply, Array.prototype.splice), T = B.call(Function.call, String.prototype.replace), I = B.call(Function.call, String.prototype.slice), k = B.call(Function.call, RegExp.prototype.exec), D = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g, R = /\\(\\)?/g, N = function(t, e) {
					var r, n = t;
					if (A(O, n) && (n = "%" + (r = O[n])[0] + "%"), A(b, n)) {
						var i = b[n];
						if (i === S && (i = w(n)), void 0 === i && !e) throw new u("intrinsic " + t + " exists, but is not available. Please file an issue!");
						return {
							alias: r,
							name: n,
							value: i
						};
					}
					throw new f("intrinsic " + t + " does not exist!");
				};
				t.exports = function(t, e) {
					if ("string" != typeof t || 0 === t.length) throw new u("intrinsic name must be a non-empty string");
					if (arguments.length > 1 && "boolean" != typeof e) throw new u("\"allowMissing\" argument must be a boolean");
					if (null === k(/^%?[^%]*%?$/, t)) throw new f("`%` may not be present anywhere but at the beginning and end of the intrinsic name");
					var r = function(t) {
						var e = I(t, 0, 1), r = I(t, -1);
						if ("%" === e && "%" !== r) throw new f("invalid intrinsic syntax, expected closing `%`");
						if ("%" === r && "%" !== e) throw new f("invalid intrinsic syntax, expected opening `%`");
						var n = [];
						return T(t, D, (function(t, e, r, i) {
							n[n.length] = r ? T(i, R, "$1") : e || t;
						})), n;
					}(t), n = r.length > 0 ? r[0] : "", i = N("%" + n + "%", e), o = i.name, s = i.value, a = !1, c = i.alias;
					c && (n = c[0], P(r, x([0, 1], c)));
					for (var h = 1, p = !0; h < r.length; h += 1) {
						var y = r[h], g = I(y, 0, 1), d = I(y, -1);
						if (("\"" === g || "'" === g || "`" === g || "\"" === d || "'" === d || "`" === d) && g !== d) throw new f("property names with quotes must have matching quotes");
						if ("constructor" !== y && p || (a = !0), A(b, o = "%" + (n += "." + y) + "%")) s = b[o];
						else if (null != s) {
							if (!(y in s)) {
								if (!e) throw new u("base intrinsic for " + t + " exists, but the property is not available.");
								return;
							}
							if (l && h + 1 >= r.length) {
								var v = l(s, y);
								s = (p = !!v) && "get" in v && !("originalValue" in v.get) ? v.get : s[y];
							} else p = A(s, y), s = s[y];
							p && !a && (b[o] = s);
						}
					}
					return s;
				};
			},
			5795: (t, e, r) => {
				"use strict";
				var n = r(453)("%Object.getOwnPropertyDescriptor%", !0);
				if (n) try {
					n([], "length");
				} catch (t) {
					n = null;
				}
				t.exports = n;
			},
			592: (t, e, r) => {
				"use strict";
				var n = r(655), i = function() {
					return !!n;
				};
				i.hasArrayLengthDefineBug = function() {
					if (!n) return null;
					try {
						return 1 !== n([], "length", { value: 1 }).length;
					} catch (t) {
						return !0;
					}
				}, t.exports = i;
			},
			24: (t) => {
				"use strict";
				var e = {
					__proto__: null,
					foo: {}
				}, r = Object;
				t.exports = function() {
					return { __proto__: e }.foo === e.foo && !(e instanceof r);
				};
			},
			4039: (t, e, r) => {
				"use strict";
				var n = "undefined" != typeof Symbol && Symbol, i = r(1333);
				t.exports = function() {
					return "function" == typeof n && "function" == typeof Symbol && "symbol" == typeof n("foo") && "symbol" == typeof Symbol("bar") && i();
				};
			},
			1333: (t) => {
				"use strict";
				t.exports = function() {
					if ("function" != typeof Symbol || "function" != typeof Object.getOwnPropertySymbols) return !1;
					if ("symbol" == typeof Symbol.iterator) return !0;
					var t = {}, e = Symbol("test"), r = Object(e);
					if ("string" == typeof e) return !1;
					if ("[object Symbol]" !== Object.prototype.toString.call(e)) return !1;
					if ("[object Symbol]" !== Object.prototype.toString.call(r)) return !1;
					for (e in t[e] = 42, t) return !1;
					if ("function" == typeof Object.keys && 0 !== Object.keys(t).length) return !1;
					if ("function" == typeof Object.getOwnPropertyNames && 0 !== Object.getOwnPropertyNames(t).length) return !1;
					var n = Object.getOwnPropertySymbols(t);
					if (1 !== n.length || n[0] !== e) return !1;
					if (!Object.prototype.propertyIsEnumerable.call(t, e)) return !1;
					if ("function" == typeof Object.getOwnPropertyDescriptor) {
						var i = Object.getOwnPropertyDescriptor(t, e);
						if (42 !== i.value || !0 !== i.enumerable) return !1;
					}
					return !0;
				};
			},
			9957: (t, e, r) => {
				"use strict";
				var n = Function.prototype.call, i = Object.prototype.hasOwnProperty, o = r(6743);
				t.exports = o.call(n, i);
			},
			251: (t, e) => {
				e.read = function(t, e, r, n, i) {
					var o, s, a = 8 * i - n - 1, f = (1 << a) - 1, u = f >> 1, c = -7, h = r ? i - 1 : 0, p = r ? -1 : 1, l = t[e + h];
					for (h += p, o = l & (1 << -c) - 1, l >>= -c, c += a; c > 0; o = 256 * o + t[e + h], h += p, c -= 8);
					for (s = o & (1 << -c) - 1, o >>= -c, c += n; c > 0; s = 256 * s + t[e + h], h += p, c -= 8);
					if (0 === o) o = 1 - u;
					else {
						if (o === f) return s ? NaN : 1 / 0 * (l ? -1 : 1);
						s += Math.pow(2, n), o -= u;
					}
					return (l ? -1 : 1) * s * Math.pow(2, o - n);
				}, e.write = function(t, e, r, n, i, o) {
					var s, a, f, u = 8 * o - i - 1, c = (1 << u) - 1, h = c >> 1, p = 23 === i ? Math.pow(2, -24) - Math.pow(2, -77) : 0, l = n ? 0 : o - 1, y = n ? 1 : -1, g = e < 0 || 0 === e && 1 / e < 0 ? 1 : 0;
					for (e = Math.abs(e), isNaN(e) || e === 1 / 0 ? (a = isNaN(e) ? 1 : 0, s = c) : (s = Math.floor(Math.log(e) / Math.LN2), e * (f = Math.pow(2, -s)) < 1 && (s--, f *= 2), (e += s + h >= 1 ? p / f : p * Math.pow(2, 1 - h)) * f >= 2 && (s++, f /= 2), s + h >= c ? (a = 0, s = c) : s + h >= 1 ? (a = (e * f - 1) * Math.pow(2, i), s += h) : (a = e * Math.pow(2, h - 1) * Math.pow(2, i), s = 0)); i >= 8; t[r + l] = 255 & a, l += y, a /= 256, i -= 8);
					for (s = s << i | a, u += i; u > 0; t[r + l] = 255 & s, l += y, s /= 256, u -= 8);
					t[r + l - y] |= 128 * g;
				};
			},
			3229: (t, e, r) => {
				var n = r(8287).Buffer, i = r(7449), o = r(5682), s = (r(3200), r(3100).Ber, r(8226)._), a = r(8226), f = r(1768), u = r(7460);
				void 0 === i.RSA_NO_PADDING && (i.RSA_NO_PADDING = 3), t.exports = function() {
					var t = {
						node10: [
							"md4",
							"md5",
							"ripemd160",
							"sha1",
							"sha224",
							"sha256",
							"sha384",
							"sha512"
						],
						node: [
							"md4",
							"md5",
							"ripemd160",
							"sha1",
							"sha224",
							"sha256",
							"sha384",
							"sha512"
						],
						iojs: [
							"md4",
							"md5",
							"ripemd160",
							"sha1",
							"sha224",
							"sha256",
							"sha384",
							"sha512"
						],
						browser: [
							"md5",
							"ripemd160",
							"sha1",
							"sha256",
							"sha512"
						]
					}, e = "pkcs1_oaep", r = "pkcs1", i = {
						private: "pkcs1-private-pem",
						"private-der": "pkcs1-private-der",
						public: "pkcs8-public-pem",
						"public-der": "pkcs8-public-der"
					};
					function c(t, i, f) {
						if (!(this instanceof c)) return new c(t, i, f);
						s.isObject(i) && (f = i, i = void 0), this.$options = {
							signingScheme: r,
							signingSchemeOptions: {
								hash: "sha256",
								saltLength: null
							},
							encryptionScheme: e,
							encryptionSchemeOptions: {
								hash: "sha1",
								label: null
							},
							environment: a.detectEnvironment(),
							rsaUtils: this
						}, this.keyPair = new o.Key(), this.$cache = {}, n.isBuffer(t) || s.isString(t) ? this.importKey(t, i) : s.isObject(t) && this.generateKeyPair(t.b, t.e), this.setOptions(f);
					}
					return c.prototype.setOptions = function(n) {
						if ((n = n || {}).environment && (this.$options.environment = n.environment), n.signingScheme) {
							if (s.isString(n.signingScheme)) {
								var i = n.signingScheme.toLowerCase().split("-");
								1 == i.length ? t.node.indexOf(i[0]) > -1 ? (this.$options.signingSchemeOptions = { hash: i[0] }, this.$options.signingScheme = r) : (this.$options.signingScheme = i[0], this.$options.signingSchemeOptions = { hash: null }) : (this.$options.signingSchemeOptions = { hash: i[1] }, this.$options.signingScheme = i[0]);
							} else s.isObject(n.signingScheme) && (this.$options.signingScheme = n.signingScheme.scheme || r, this.$options.signingSchemeOptions = s.omit(n.signingScheme, "scheme"));
							if (!f.isSignature(this.$options.signingScheme)) throw Error("Unsupported signing scheme");
							if (this.$options.signingSchemeOptions.hash && -1 === t[this.$options.environment].indexOf(this.$options.signingSchemeOptions.hash)) throw Error("Unsupported hashing algorithm for " + this.$options.environment + " environment");
						}
						if (n.encryptionScheme) {
							if (s.isString(n.encryptionScheme) ? (this.$options.encryptionScheme = n.encryptionScheme.toLowerCase(), this.$options.encryptionSchemeOptions = {}) : s.isObject(n.encryptionScheme) && (this.$options.encryptionScheme = n.encryptionScheme.scheme || e, this.$options.encryptionSchemeOptions = s.omit(n.encryptionScheme, "scheme")), !f.isEncryption(this.$options.encryptionScheme)) throw Error("Unsupported encryption scheme");
							if (this.$options.encryptionSchemeOptions.hash && -1 === t[this.$options.environment].indexOf(this.$options.encryptionSchemeOptions.hash)) throw Error("Unsupported hashing algorithm for " + this.$options.environment + " environment");
						}
						this.keyPair.setOptions(this.$options);
					}, c.prototype.generateKeyPair = function(t, e) {
						if (e = e || 65537, (t = t || 2048) % 8 != 0) throw Error("Key size must be a multiple of 8.");
						return this.keyPair.generate(t, e.toString(16)), this.$cache = {}, this;
					}, c.prototype.importKey = function(t, e) {
						if (!t) throw Error("Empty key given");
						if (e && (e = i[e] || e), !u.detectAndImport(this.keyPair, t, e) && void 0 === e) throw Error("Key format must be specified");
						return this.$cache = {}, this;
					}, c.prototype.exportKey = function(t) {
						return t = i[t = t || "private"] || t, this.$cache[t] || (this.$cache[t] = u.detectAndExport(this.keyPair, t)), this.$cache[t];
					}, c.prototype.isPrivate = function() {
						return this.keyPair.isPrivate();
					}, c.prototype.isPublic = function(t) {
						return this.keyPair.isPublic(t);
					}, c.prototype.isEmpty = function(t) {
						return !(this.keyPair.n || this.keyPair.e || this.keyPair.d);
					}, c.prototype.encrypt = function(t, e, r) {
						return this.$$encryptKey(!1, t, e, r);
					}, c.prototype.decrypt = function(t, e) {
						return this.$$decryptKey(!1, t, e);
					}, c.prototype.encryptPrivate = function(t, e, r) {
						return this.$$encryptKey(!0, t, e, r);
					}, c.prototype.decryptPublic = function(t, e) {
						return this.$$decryptKey(!0, t, e);
					}, c.prototype.$$encryptKey = function(t, e, r, n) {
						try {
							var i = this.keyPair.encrypt(this.$getDataForEncrypt(e, n), t);
							return "buffer" != r && r ? i.toString(r) : i;
						} catch (t) {
							throw Error("Error during encryption. Original error: " + t);
						}
					}, c.prototype.$$decryptKey = function(t, e, r) {
						try {
							e = s.isString(e) ? n.from(e, "base64") : e;
							var i = this.keyPair.decrypt(e, t);
							if (null === i) throw Error("Key decrypt method returns null.");
							return this.$getDecryptedData(i, r);
						} catch (t) {
							throw Error("Error during decryption (probably incorrect key). Original error: " + t);
						}
					}, c.prototype.sign = function(t, e, r) {
						if (!this.isPrivate()) throw Error("This is not private key");
						var n = this.keyPair.sign(this.$getDataForEncrypt(t, r));
						return e && "buffer" != e && (n = n.toString(e)), n;
					}, c.prototype.verify = function(t, e, r, n) {
						if (!this.isPublic()) throw Error("This is not public key");
						return n = n && "buffer" != n ? n : null, this.keyPair.verify(this.$getDataForEncrypt(t, r), e, n);
					}, c.prototype.getKeySize = function() {
						return this.keyPair.keySize;
					}, c.prototype.getMaxMessageSize = function() {
						return this.keyPair.maxMessageLength;
					}, c.prototype.$getDataForEncrypt = function(t, e) {
						if (s.isString(t) || s.isNumber(t)) return n.from("" + t, e || "utf8");
						if (n.isBuffer(t)) return t;
						if (s.isObject(t)) return n.from(JSON.stringify(t));
						throw Error("Unexpected data type");
					}, c.prototype.$getDecryptedData = function(t, e) {
						return "buffer" == (e = e || "buffer") ? t : "json" == e ? JSON.parse(t.toString()) : t.toString(e);
					}, c;
				}();
			},
			4538: (t, e, r) => {
				var n = r(3200);
				t.exports = { getEngine: function(t, e) {
					var i = r(7469);
					return "node" === e.environment && "function" == typeof n.publicEncrypt && "function" == typeof n.privateDecrypt && (i = "function" == typeof n.privateEncrypt && "function" == typeof n.publicDecrypt ? r(2418) : r(1957)), i(t, e);
				} };
			},
			2418: (t, e, r) => {
				var n = r(3200), i = r(7449), o = r(1768);
				t.exports = function(t, e) {
					var r = o.pkcs1.makeScheme(t, e);
					return {
						encrypt: function(t, o) {
							var s;
							if (o) return s = i.RSA_PKCS1_PADDING, e.encryptionSchemeOptions && e.encryptionSchemeOptions.padding && (s = e.encryptionSchemeOptions.padding), n.privateEncrypt({
								key: e.rsaUtils.exportKey("private"),
								padding: s
							}, t);
							s = i.RSA_PKCS1_OAEP_PADDING, "pkcs1" === e.encryptionScheme && (s = i.RSA_PKCS1_PADDING), e.encryptionSchemeOptions && e.encryptionSchemeOptions.padding && (s = e.encryptionSchemeOptions.padding);
							var a = t;
							return s === i.RSA_NO_PADDING && (a = r.pkcs0pad(t)), n.publicEncrypt({
								key: e.rsaUtils.exportKey("public"),
								padding: s
							}, a);
						},
						decrypt: function(t, o) {
							var s;
							if (o) return s = i.RSA_PKCS1_PADDING, e.encryptionSchemeOptions && e.encryptionSchemeOptions.padding && (s = e.encryptionSchemeOptions.padding), n.publicDecrypt({
								key: e.rsaUtils.exportKey("public"),
								padding: s
							}, t);
							s = i.RSA_PKCS1_OAEP_PADDING, "pkcs1" === e.encryptionScheme && (s = i.RSA_PKCS1_PADDING), e.encryptionSchemeOptions && e.encryptionSchemeOptions.padding && (s = e.encryptionSchemeOptions.padding);
							var a = n.privateDecrypt({
								key: e.rsaUtils.exportKey("private"),
								padding: s
							}, t);
							return s === i.RSA_NO_PADDING ? r.pkcs0unpad(a) : a;
						}
					};
				};
			},
			7469: (t, e, r) => {
				var n = r(1973), i = r(1768);
				t.exports = function(t, e) {
					var r = i.pkcs1.makeScheme(t, e);
					return {
						encrypt: function(e, i) {
							var o, s;
							return i ? (o = new n(r.encPad(e, { type: 1 })), s = t.$doPrivate(o)) : (o = new n(t.encryptionScheme.encPad(e)), s = t.$doPublic(o)), s.toBuffer(t.encryptedDataLength);
						},
						decrypt: function(e, i) {
							var o, s = new n(e);
							return i ? (o = t.$doPublic(s), r.encUnPad(o.toBuffer(t.encryptedDataLength), { type: 1 })) : (o = t.$doPrivate(s), t.encryptionScheme.encUnPad(o.toBuffer(t.encryptedDataLength)));
						}
					};
				};
			},
			1957: (t, e, r) => {
				var n = r(3200), i = r(7449), o = r(1768);
				t.exports = function(t, e) {
					var s = r(7469)(t, e), a = o.pkcs1.makeScheme(t, e);
					return {
						encrypt: function(t, r) {
							if (r) return s.encrypt(t, r);
							var o = i.RSA_PKCS1_OAEP_PADDING;
							"pkcs1" === e.encryptionScheme && (o = i.RSA_PKCS1_PADDING), e.encryptionSchemeOptions && e.encryptionSchemeOptions.padding && (o = e.encryptionSchemeOptions.padding);
							var f = t;
							return o === i.RSA_NO_PADDING && (f = a.pkcs0pad(t)), n.publicEncrypt({
								key: e.rsaUtils.exportKey("public"),
								padding: o
							}, f);
						},
						decrypt: function(t, r) {
							if (r) return s.decrypt(t, r);
							var o = i.RSA_PKCS1_OAEP_PADDING;
							"pkcs1" === e.encryptionScheme && (o = i.RSA_PKCS1_PADDING), e.encryptionSchemeOptions && e.encryptionSchemeOptions.padding && (o = e.encryptionSchemeOptions.padding);
							var f = n.privateDecrypt({
								key: e.rsaUtils.exportKey("private"),
								padding: o
							}, t);
							return o === i.RSA_NO_PADDING ? a.pkcs0unpad(f) : f;
						}
					};
				};
			},
			3374: (t, e, r) => {
				r(8226)._, r(8226), t.exports = {
					privateExport: function(t, e) {
						return {
							n: t.n.toBuffer(),
							e: t.e,
							d: t.d.toBuffer(),
							p: t.p.toBuffer(),
							q: t.q.toBuffer(),
							dmp1: t.dmp1.toBuffer(),
							dmq1: t.dmq1.toBuffer(),
							coeff: t.coeff.toBuffer()
						};
					},
					privateImport: function(t, e, r) {
						if (!(e.n && e.e && e.d && e.p && e.q && e.dmp1 && e.dmq1 && e.coeff)) throw Error("Invalid key data");
						t.setPrivate(e.n, e.e, e.d, e.p, e.q, e.dmp1, e.dmq1, e.coeff);
					},
					publicExport: function(t, e) {
						return {
							n: t.n.toBuffer(),
							e: t.e
						};
					},
					publicImport: function(t, e, r) {
						if (!e.n || !e.e) throw Error("Invalid key data");
						t.setPublic(e.n, e.e);
					},
					autoImport: function(e, r) {
						return !(!r.n || !r.e || (r.d && r.p && r.q && r.dmp1 && r.dmq1 && r.coeff ? (t.exports.privateImport(e, r), 0) : (t.exports.publicImport(e, r), 0)));
					}
				};
			},
			7460: (t, e, r) => {
				function n(t) {
					t = t.split("-");
					for (var e = "private", r = { type: "default" }, n = 1; n < t.length; n++) if (t[n]) switch (t[n]) {
						case "public":
						case "private":
							e = t[n];
							break;
						case "pem":
						case "der": r.type = t[n];
					}
					return {
						scheme: t[0],
						keyType: e,
						keyOpt: r
					};
				}
				r(8226)._, t.exports = {
					pkcs1: r(6566),
					pkcs8: r(8573),
					components: r(3374),
					openssh: r(3194),
					isPrivateExport: function(e) {
						return t.exports[e] && "function" == typeof t.exports[e].privateExport;
					},
					isPrivateImport: function(e) {
						return t.exports[e] && "function" == typeof t.exports[e].privateImport;
					},
					isPublicExport: function(e) {
						return t.exports[e] && "function" == typeof t.exports[e].publicExport;
					},
					isPublicImport: function(e) {
						return t.exports[e] && "function" == typeof t.exports[e].publicImport;
					},
					detectAndImport: function(e, r, i) {
						if (void 0 === i) {
							for (var o in t.exports) if ("function" == typeof t.exports[o].autoImport && t.exports[o].autoImport(e, r)) return !0;
						} else if (i) {
							var s = n(i);
							if (!t.exports[s.scheme]) throw Error("Unsupported key format");
							"private" === s.keyType ? t.exports[s.scheme].privateImport(e, r, s.keyOpt) : t.exports[s.scheme].publicImport(e, r, s.keyOpt);
						}
						return !1;
					},
					detectAndExport: function(e, r) {
						if (r) {
							var i = n(r);
							if (t.exports[i.scheme]) {
								if ("private" === i.keyType) {
									if (!e.isPrivate()) throw Error("This is not private key");
									return t.exports[i.scheme].privateExport(e, i.keyOpt);
								}
								if (!e.isPublic()) throw Error("This is not public key");
								return t.exports[i.scheme].publicExport(e, i.keyOpt);
							}
							throw Error("Unsupported key format");
						}
					}
				};
			},
			3194: (t, e, r) => {
				var n = r(8287).Buffer, i = r(8226)._, o = r(8226), s = r(1973);
				const a = "-----BEGIN OPENSSH PRIVATE KEY-----", f = "-----END OPENSSH PRIVATE KEY-----";
				function u(t) {
					const e = t.buf.readInt32BE(t.off);
					t.off += 4;
					const r = t.buf.slice(t.off, t.off + e);
					return t.off += e, r;
				}
				function c(t, e) {
					t.buf.writeInt32BE(e.byteLength, t.off), t.off += 4, t.off += e.copy(t.buf, t.off);
				}
				t.exports = {
					privateExport: function(t, e) {
						const r = t.n.toBuffer();
						let i = n.alloc(4);
						for (i.writeUInt32BE(t.e, 0); 0 === i[0];) i = i.slice(1);
						const s = t.d.toBuffer(), u = t.coeff.toBuffer(), h = t.p.toBuffer(), p = t.q.toBuffer();
						let l;
						l = void 0 !== t.sshcomment ? n.from(t.sshcomment) : n.from([]);
						const y = 15 + i.byteLength + 4 + r.byteLength, g = 23 + r.byteLength + 4 + i.byteLength + 4 + s.byteLength + 4 + u.byteLength + 4 + h.byteLength + 4 + p.byteLength + 4 + l.byteLength;
						let d = 43 + y + 4 + g;
						d += 8 * Math.ceil(g / 8) - g;
						const v = n.alloc(d), m = {
							buf: v,
							off: 0
						};
						v.write("openssh-key-v1", "utf8"), v.writeUInt8(0, 14), m.off += 15, c(m, n.from("none")), c(m, n.from("none")), c(m, n.from("")), m.off = m.buf.writeUInt32BE(1, m.off), m.off = m.buf.writeUInt32BE(y, m.off), c(m, n.from("ssh-rsa")), c(m, i), c(m, r), m.off = m.buf.writeUInt32BE(d - 47 - y, m.off), m.off += 8, c(m, n.from("ssh-rsa")), c(m, r), c(m, i), c(m, s), c(m, u), c(m, h), c(m, p), c(m, l);
						let S = 1;
						for (; m.off < d;) m.off = m.buf.writeUInt8(S++, m.off);
						return "der" === e.type ? m.buf : a + "\n" + o.linebrk(v.toString("base64"), 70) + "\n" + f + "\n";
					},
					privateImport: function(t, e, r) {
						var c;
						if ("der" !== (r = r || {}).type) {
							if (n.isBuffer(e) && (e = e.toString("utf8")), !i.isString(e)) throw Error("Unsupported key format");
							var h = o.trimSurroundingText(e, a, f).replace(/\s+|\n\r|\n|\r$/gm, "");
							c = n.from(h, "base64");
						} else {
							if (!n.isBuffer(e)) throw Error("Unsupported key format");
							c = e;
						}
						const p = {
							buf: c,
							off: 0
						};
						if ("openssh-key-v1" !== c.slice(0, 14).toString("ascii")) throw "Invalid file format.";
						if (p.off += 15, "none" !== u(p).toString("ascii")) throw Error("Unsupported key type");
						if ("none" !== u(p).toString("ascii")) throw Error("Unsupported key type");
						if ("" !== u(p).toString("ascii")) throw Error("Unsupported key type");
						if (p.off += 4, p.off += 4, "ssh-rsa" !== u(p).toString("ascii")) throw Error("Unsupported key type");
						if (u(p), u(p), p.off += 12, "ssh-rsa" !== u(p).toString("ascii")) throw Error("Unsupported key type");
						const l = u(p), y = u(p), g = u(p), d = u(p), v = u(p), m = u(p), S = new s(g), _ = new s(m), b = new s(v), E = S.mod(b.subtract(s.ONE)), w = S.mod(_.subtract(s.ONE));
						t.setPrivate(l, y, g, v, m, E.toBuffer(), w.toBuffer(), d), t.sshcomment = u(p).toString("ascii");
					},
					publicExport: function(t, e) {
						let r = n.alloc(4);
						for (r.writeUInt32BE(t.e, 0); 0 === r[0];) r = r.slice(1);
						const i = t.n.toBuffer(), o = n.alloc(r.byteLength + 4 + i.byteLength + 4 + 7 + 4), s = {
							buf: o,
							off: 0
						};
						c(s, n.from("ssh-rsa")), c(s, r), c(s, i);
						let a = t.sshcomment || "";
						return "der" === e.type ? s.buf : "ssh-rsa " + o.toString("base64") + " " + a + "\n";
					},
					publicImport: function(t, e, r) {
						var o;
						if ("der" !== (r = r || {}).type) {
							if (n.isBuffer(e) && (e = e.toString("utf8")), !i.isString(e)) throw Error("Unsupported key format");
							{
								if ("ssh-rsa " !== e.substring(0, 8)) throw Error("Unsupported key format");
								let r = e.indexOf(" ", 8);
								-1 === r ? r = e.length : t.sshcomment = e.substring(r + 1).replace(/\s+|\n\r|\n|\r$/gm, "");
								const i = e.substring(8, r).replace(/\s+|\n\r|\n|\r$/gm, "");
								o = n.from(i, "base64");
							}
						} else {
							if (!n.isBuffer(e)) throw Error("Unsupported key format");
							o = e;
						}
						const s = {
							buf: o,
							off: 0
						}, a = u(s).toString("ascii");
						if ("ssh-rsa" !== a) throw Error("Invalid key type: " + a);
						const f = u(s), c = u(s);
						t.setPublic(c, f);
					},
					autoImport: function(e, r) {
						return /^[\S\s]*-----BEGIN OPENSSH PRIVATE KEY-----\s*(?=(([A-Za-z0-9+/=]+\s*)+))\1-----END OPENSSH PRIVATE KEY-----[\S\s]*$/g.test(r) ? (t.exports.privateImport(e, r), !0) : !!/^[\S\s]*ssh-rsa \s*(?=(([A-Za-z0-9+/=]+\s*)+))\1[\S\s]*$/g.test(r) && (t.exports.publicImport(e, r), !0);
					}
				};
			},
			6566: (t, e, r) => {
				var n = r(8287).Buffer, i = r(3100).Ber, o = r(8226)._, s = r(8226);
				const a = "-----BEGIN RSA PRIVATE KEY-----", f = "-----END RSA PRIVATE KEY-----", u = "-----BEGIN RSA PUBLIC KEY-----", c = "-----END RSA PUBLIC KEY-----";
				t.exports = {
					privateExport: function(t, e) {
						e = e || {};
						var r = t.n.toBuffer(), n = t.d.toBuffer(), o = t.p.toBuffer(), u = t.q.toBuffer(), c = t.dmp1.toBuffer(), h = t.dmq1.toBuffer(), p = t.coeff.toBuffer(), l = r.length + n.length + o.length + u.length + c.length + h.length + p.length + 512, y = new i.Writer({ size: l });
						return y.startSequence(), y.writeInt(0), y.writeBuffer(r, 2), y.writeInt(t.e), y.writeBuffer(n, 2), y.writeBuffer(o, 2), y.writeBuffer(u, 2), y.writeBuffer(c, 2), y.writeBuffer(h, 2), y.writeBuffer(p, 2), y.endSequence(), "der" === e.type ? y.buffer : a + "\n" + s.linebrk(y.buffer.toString("base64"), 64) + "\n" + f;
					},
					privateImport: function(t, e, r) {
						var u;
						if ("der" !== (r = r || {}).type) {
							if (n.isBuffer(e) && (e = e.toString("utf8")), !o.isString(e)) throw Error("Unsupported key format");
							var c = s.trimSurroundingText(e, a, f).replace(/\s+|\n\r|\n|\r$/gm, "");
							u = n.from(c, "base64");
						} else {
							if (!n.isBuffer(e)) throw Error("Unsupported key format");
							u = e;
						}
						var h = new i.Reader(u);
						h.readSequence(), h.readString(2, !0), t.setPrivate(h.readString(2, !0), h.readString(2, !0), h.readString(2, !0), h.readString(2, !0), h.readString(2, !0), h.readString(2, !0), h.readString(2, !0), h.readString(2, !0));
					},
					publicExport: function(t, e) {
						e = e || {};
						var r = t.n.toBuffer(), n = r.length + 512, o = new i.Writer({ size: n });
						return o.startSequence(), o.writeBuffer(r, 2), o.writeInt(t.e), o.endSequence(), "der" === e.type ? o.buffer : u + "\n" + s.linebrk(o.buffer.toString("base64"), 64) + "\n" + c;
					},
					publicImport: function(t, e, r) {
						var a;
						if ("der" !== (r = r || {}).type) {
							if (n.isBuffer(e) && (e = e.toString("utf8")), o.isString(e)) {
								var f = s.trimSurroundingText(e, u, c).replace(/\s+|\n\r|\n|\r$/gm, "");
								a = n.from(f, "base64");
							}
						} else {
							if (!n.isBuffer(e)) throw Error("Unsupported key format");
							a = e;
						}
						var h = new i.Reader(a);
						h.readSequence(), t.setPublic(h.readString(2, !0), h.readString(2, !0));
					},
					autoImport: function(e, r) {
						return /^[\S\s]*-----BEGIN RSA PRIVATE KEY-----\s*(?=(([A-Za-z0-9+/=]+\s*)+))\1-----END RSA PRIVATE KEY-----[\S\s]*$/g.test(r) ? (t.exports.privateImport(e, r), !0) : !!/^[\S\s]*-----BEGIN RSA PUBLIC KEY-----\s*(?=(([A-Za-z0-9+/=]+\s*)+))\1-----END RSA PUBLIC KEY-----[\S\s]*$/g.test(r) && (t.exports.publicImport(e, r), !0);
					}
				};
			},
			8573: (t, e, r) => {
				var n = r(8287).Buffer, i = r(3100).Ber, o = r(8226)._, s = "1.2.840.113549.1.1.1", a = r(8226);
				const f = "-----BEGIN PRIVATE KEY-----", u = "-----END PRIVATE KEY-----", c = "-----BEGIN PUBLIC KEY-----", h = "-----END PUBLIC KEY-----";
				t.exports = {
					privateExport: function(t, e) {
						e = e || {};
						var r = t.n.toBuffer(), n = t.d.toBuffer(), o = t.p.toBuffer(), c = t.q.toBuffer(), h = t.dmp1.toBuffer(), p = t.dmq1.toBuffer(), l = t.coeff.toBuffer(), y = r.length + n.length + o.length + c.length + h.length + p.length + l.length + 512, g = new i.Writer({ size: y });
						g.startSequence(), g.writeInt(0), g.writeBuffer(r, 2), g.writeInt(t.e), g.writeBuffer(n, 2), g.writeBuffer(o, 2), g.writeBuffer(c, 2), g.writeBuffer(h, 2), g.writeBuffer(p, 2), g.writeBuffer(l, 2), g.endSequence();
						var d = new i.Writer({ size: y });
						return d.startSequence(), d.writeInt(0), d.startSequence(), d.writeOID(s), d.writeNull(), d.endSequence(), d.writeBuffer(g.buffer, 4), d.endSequence(), "der" === e.type ? d.buffer : f + "\n" + a.linebrk(d.buffer.toString("base64"), 64) + "\n" + u;
					},
					privateImport: function(t, e, r) {
						var c;
						if ("der" !== (r = r || {}).type) {
							if (n.isBuffer(e) && (e = e.toString("utf8")), !o.isString(e)) throw Error("Unsupported key format");
							var h = a.trimSurroundingText(e, f, u).replace("-----END PRIVATE KEY-----", "").replace(/\s+|\n\r|\n|\r$/gm, "");
							c = n.from(h, "base64");
						} else {
							if (!n.isBuffer(e)) throw Error("Unsupported key format");
							c = e;
						}
						var p = new i.Reader(c);
						if (p.readSequence(), p.readInt(0), new i.Reader(p.readString(48, !0)).readOID(6, !0) !== s) throw Error("Invalid Public key format");
						var l = new i.Reader(p.readString(4, !0));
						l.readSequence(), l.readString(2, !0), t.setPrivate(l.readString(2, !0), l.readString(2, !0), l.readString(2, !0), l.readString(2, !0), l.readString(2, !0), l.readString(2, !0), l.readString(2, !0), l.readString(2, !0));
					},
					publicExport: function(t, e) {
						e = e || {};
						var r = t.n.toBuffer(), n = r.length + 512, o = new i.Writer({ size: n });
						o.writeByte(0), o.startSequence(), o.writeBuffer(r, 2), o.writeInt(t.e), o.endSequence();
						var f = new i.Writer({ size: n });
						return f.startSequence(), f.startSequence(), f.writeOID(s), f.writeNull(), f.endSequence(), f.writeBuffer(o.buffer, 3), f.endSequence(), "der" === e.type ? f.buffer : c + "\n" + a.linebrk(f.buffer.toString("base64"), 64) + "\n" + h;
					},
					publicImport: function(t, e, r) {
						var f;
						if ("der" !== (r = r || {}).type) {
							if (n.isBuffer(e) && (e = e.toString("utf8")), o.isString(e)) {
								var u = a.trimSurroundingText(e, c, h).replace(/\s+|\n\r|\n|\r$/gm, "");
								f = n.from(u, "base64");
							}
						} else {
							if (!n.isBuffer(e)) throw Error("Unsupported key format");
							f = e;
						}
						var p = new i.Reader(f);
						if (p.readSequence(), new i.Reader(p.readString(48, !0)).readOID(6, !0) !== s) throw Error("Invalid Public key format");
						var l = new i.Reader(p.readString(3, !0));
						l.readByte(), l.readSequence(), t.setPublic(l.readString(2, !0), l.readString(2, !0));
					},
					autoImport: function(e, r) {
						return /^[\S\s]*-----BEGIN PRIVATE KEY-----\s*(?=(([A-Za-z0-9+/=]+\s*)+))\1-----END PRIVATE KEY-----[\S\s]*$/g.test(r) ? (t.exports.privateImport(e, r), !0) : !!/^[\S\s]*-----BEGIN PUBLIC KEY-----\s*(?=(([A-Za-z0-9+/=]+\s*)+))\1-----END PUBLIC KEY-----[\S\s]*$/g.test(r) && (t.exports.publicImport(e, r), !0);
					}
				};
			},
			1973: (t, e, r) => {
				var n = r(8287).Buffer, i = r(3200), o = r(8226)._;
				function s(t, e) {
					null != t && ("number" == typeof t ? this.fromNumber(t, e) : n.isBuffer(t) ? this.fromBuffer(t) : null == e && "string" != typeof t ? this.fromByteArray(t) : this.fromString(t, e));
				}
				function a() {
					return new s(null);
				}
				s.prototype.am = function(t, e, r, n, i, o) {
					for (var s = 16383 & e, a = e >> 14; --o >= 0;) {
						var f = 16383 & this[t], u = this[t++] >> 14, c = a * f + u * s;
						i = ((f = s * f + ((16383 & c) << 14) + r[n] + i) >> 28) + (c >> 14) + a * u, r[n++] = 268435455 & f;
					}
					return i;
				}, s.prototype.DB = 28, s.prototype.DM = 268435455, s.prototype.DV = 1 << 28, s.prototype.FV = Math.pow(2, 52), s.prototype.F1 = 24, s.prototype.F2 = 4;
				var f, u, c = new Array();
				for (f = "0".charCodeAt(0), u = 0; u <= 9; ++u) c[f++] = u;
				for (f = "a".charCodeAt(0), u = 10; u < 36; ++u) c[f++] = u;
				for (f = "A".charCodeAt(0), u = 10; u < 36; ++u) c[f++] = u;
				function h(t) {
					return "0123456789abcdefghijklmnopqrstuvwxyz".charAt(t);
				}
				function p(t, e) {
					var r = c[t.charCodeAt(e)];
					return null == r ? -1 : r;
				}
				function l(t) {
					var e = a();
					return e.fromInt(t), e;
				}
				function y(t) {
					var e, r = 1;
					return 0 != (e = t >>> 16) && (t = e, r += 16), 0 != (e = t >> 8) && (t = e, r += 8), 0 != (e = t >> 4) && (t = e, r += 4), 0 != (e = t >> 2) && (t = e, r += 2), 0 != (e = t >> 1) && (t = e, r += 1), r;
				}
				function g(t) {
					this.m = t;
				}
				function d(t) {
					this.m = t, this.mp = t.invDigit(), this.mpl = 32767 & this.mp, this.mph = this.mp >> 15, this.um = (1 << t.DB - 15) - 1, this.mt2 = 2 * t.t;
				}
				function v(t, e) {
					return t & e;
				}
				function m(t, e) {
					return t | e;
				}
				function S(t, e) {
					return t ^ e;
				}
				function _(t, e) {
					return t & ~e;
				}
				function b(t) {
					if (0 === t) return -1;
					var e = 0;
					return 65535 & t || (t >>= 16, e += 16), 255 & t || (t >>= 8, e += 8), 15 & t || (t >>= 4, e += 4), 3 & t || (t >>= 2, e += 2), 1 & t || ++e, e;
				}
				function E(t) {
					for (var e = 0; 0 != t;) t &= t - 1, ++e;
					return e;
				}
				function w() {}
				function O(t) {
					return t;
				}
				function B(t) {
					this.r2 = a(), this.q3 = a(), s.ONE.dlShiftTo(2 * t.t, this.r2), this.mu = this.r2.divide(t), this.m = t;
				}
				g.prototype.convert = function(t) {
					return t.s < 0 || t.compareTo(this.m) >= 0 ? t.mod(this.m) : t;
				}, g.prototype.revert = function(t) {
					return t;
				}, g.prototype.reduce = function(t) {
					t.divRemTo(this.m, null, t);
				}, g.prototype.mulTo = function(t, e, r) {
					t.multiplyTo(e, r), this.reduce(r);
				}, g.prototype.sqrTo = function(t, e) {
					t.squareTo(e), this.reduce(e);
				}, d.prototype.convert = function(t) {
					var e = a();
					return t.abs().dlShiftTo(this.m.t, e), e.divRemTo(this.m, null, e), t.s < 0 && e.compareTo(s.ZERO) > 0 && this.m.subTo(e, e), e;
				}, d.prototype.revert = function(t) {
					var e = a();
					return t.copyTo(e), this.reduce(e), e;
				}, d.prototype.reduce = function(t) {
					for (; t.t <= this.mt2;) t[t.t++] = 0;
					for (var e = 0; e < this.m.t; ++e) {
						var r = 32767 & t[e], n = r * this.mpl + ((r * this.mph + (t[e] >> 15) * this.mpl & this.um) << 15) & t.DM;
						for (t[r = e + this.m.t] += this.m.am(0, n, t, e, 0, this.m.t); t[r] >= t.DV;) t[r] -= t.DV, t[++r]++;
					}
					t.clamp(), t.drShiftTo(this.m.t, t), t.compareTo(this.m) >= 0 && t.subTo(this.m, t);
				}, d.prototype.mulTo = function(t, e, r) {
					t.multiplyTo(e, r), this.reduce(r);
				}, d.prototype.sqrTo = function(t, e) {
					t.squareTo(e), this.reduce(e);
				}, w.prototype.convert = O, w.prototype.revert = O, w.prototype.mulTo = function(t, e, r) {
					t.multiplyTo(e, r);
				}, w.prototype.sqrTo = function(t, e) {
					t.squareTo(e);
				}, B.prototype.convert = function(t) {
					if (t.s < 0 || t.t > 2 * this.m.t) return t.mod(this.m);
					if (t.compareTo(this.m) < 0) return t;
					var e = a();
					return t.copyTo(e), this.reduce(e), e;
				}, B.prototype.revert = function(t) {
					return t;
				}, B.prototype.reduce = function(t) {
					for (t.drShiftTo(this.m.t - 1, this.r2), t.t > this.m.t + 1 && (t.t = this.m.t + 1, t.clamp()), this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3), this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2); t.compareTo(this.r2) < 0;) t.dAddOffset(1, this.m.t + 1);
					for (t.subTo(this.r2, t); t.compareTo(this.m) >= 0;) t.subTo(this.m, t);
				}, B.prototype.mulTo = function(t, e, r) {
					t.multiplyTo(e, r), this.reduce(r);
				}, B.prototype.sqrTo = function(t, e) {
					t.squareTo(e), this.reduce(e);
				};
				var A = [
					2,
					3,
					5,
					7,
					11,
					13,
					17,
					19,
					23,
					29,
					31,
					37,
					41,
					43,
					47,
					53,
					59,
					61,
					67,
					71,
					73,
					79,
					83,
					89,
					97,
					101,
					103,
					107,
					109,
					113,
					127,
					131,
					137,
					139,
					149,
					151,
					157,
					163,
					167,
					173,
					179,
					181,
					191,
					193,
					197,
					199,
					211,
					223,
					227,
					229,
					233,
					239,
					241,
					251,
					257,
					263,
					269,
					271,
					277,
					281,
					283,
					293,
					307,
					311,
					313,
					317,
					331,
					337,
					347,
					349,
					353,
					359,
					367,
					373,
					379,
					383,
					389,
					397,
					401,
					409,
					419,
					421,
					431,
					433,
					439,
					443,
					449,
					457,
					461,
					463,
					467,
					479,
					487,
					491,
					499,
					503,
					509,
					521,
					523,
					541,
					547,
					557,
					563,
					569,
					571,
					577,
					587,
					593,
					599,
					601,
					607,
					613,
					617,
					619,
					631,
					641,
					643,
					647,
					653,
					659,
					661,
					673,
					677,
					683,
					691,
					701,
					709,
					719,
					727,
					733,
					739,
					743,
					751,
					757,
					761,
					769,
					773,
					787,
					797,
					809,
					811,
					821,
					823,
					827,
					829,
					839,
					853,
					857,
					859,
					863,
					877,
					881,
					883,
					887,
					907,
					911,
					919,
					929,
					937,
					941,
					947,
					953,
					967,
					971,
					977,
					983,
					991,
					997
				], x = (1 << 26) / A[A.length - 1];
				s.prototype.copyTo = function(t) {
					for (var e = this.t - 1; e >= 0; --e) t[e] = this[e];
					t.t = this.t, t.s = this.s;
				}, s.prototype.fromInt = function(t) {
					this.t = 1, this.s = t < 0 ? -1 : 0, t > 0 ? this[0] = t : t < -1 ? this[0] = t + DV : this.t = 0;
				}, s.prototype.fromString = function(t, e, r) {
					var n;
					switch (e) {
						case 2:
							n = 1;
							break;
						case 4:
							n = 2;
							break;
						case 8:
							n = 3;
							break;
						case 16:
							n = 4;
							break;
						case 32:
							n = 5;
							break;
						case 256:
							n = 8;
							break;
						default: return void this.fromRadix(t, e);
					}
					this.t = 0, this.s = 0;
					for (var i = t.length, o = !1, a = 0; --i >= 0;) {
						var f = 8 == n ? 255 & t[i] : p(t, i);
						f < 0 ? "-" == t.charAt(i) && (o = !0) : (o = !1, 0 === a ? this[this.t++] = f : a + n > this.DB ? (this[this.t - 1] |= (f & (1 << this.DB - a) - 1) << a, this[this.t++] = f >> this.DB - a) : this[this.t - 1] |= f << a, (a += n) >= this.DB && (a -= this.DB));
					}
					!r && 8 == n && 128 & t[0] && (this.s = -1, a > 0 && (this[this.t - 1] |= (1 << this.DB - a) - 1 << a)), this.clamp(), o && s.ZERO.subTo(this, this);
				}, s.prototype.fromByteArray = function(t, e) {
					this.fromString(t, 256, e);
				}, s.prototype.fromBuffer = function(t) {
					this.fromString(t, 256, !0);
				}, s.prototype.clamp = function() {
					for (var t = this.s & this.DM; this.t > 0 && this[this.t - 1] == t;) --this.t;
				}, s.prototype.dlShiftTo = function(t, e) {
					var r;
					for (r = this.t - 1; r >= 0; --r) e[r + t] = this[r];
					for (r = t - 1; r >= 0; --r) e[r] = 0;
					e.t = this.t + t, e.s = this.s;
				}, s.prototype.drShiftTo = function(t, e) {
					for (var r = t; r < this.t; ++r) e[r - t] = this[r];
					e.t = Math.max(this.t - t, 0), e.s = this.s;
				}, s.prototype.lShiftTo = function(t, e) {
					var r, n = t % this.DB, i = this.DB - n, o = (1 << i) - 1, s = Math.floor(t / this.DB), a = this.s << n & this.DM;
					for (r = this.t - 1; r >= 0; --r) e[r + s + 1] = this[r] >> i | a, a = (this[r] & o) << n;
					for (r = s - 1; r >= 0; --r) e[r] = 0;
					e[s] = a, e.t = this.t + s + 1, e.s = this.s, e.clamp();
				}, s.prototype.rShiftTo = function(t, e) {
					e.s = this.s;
					var r = Math.floor(t / this.DB);
					if (r >= this.t) e.t = 0;
					else {
						var n = t % this.DB, i = this.DB - n, o = (1 << n) - 1;
						e[0] = this[r] >> n;
						for (var s = r + 1; s < this.t; ++s) e[s - r - 1] |= (this[s] & o) << i, e[s - r] = this[s] >> n;
						n > 0 && (e[this.t - r - 1] |= (this.s & o) << i), e.t = this.t - r, e.clamp();
					}
				}, s.prototype.subTo = function(t, e) {
					for (var r = 0, n = 0, i = Math.min(t.t, this.t); r < i;) n += this[r] - t[r], e[r++] = n & this.DM, n >>= this.DB;
					if (t.t < this.t) {
						for (n -= t.s; r < this.t;) n += this[r], e[r++] = n & this.DM, n >>= this.DB;
						n += this.s;
					} else {
						for (n += this.s; r < t.t;) n -= t[r], e[r++] = n & this.DM, n >>= this.DB;
						n -= t.s;
					}
					e.s = n < 0 ? -1 : 0, n < -1 ? e[r++] = this.DV + n : n > 0 && (e[r++] = n), e.t = r, e.clamp();
				}, s.prototype.multiplyTo = function(t, e) {
					var r = this.abs(), n = t.abs(), i = r.t;
					for (e.t = i + n.t; --i >= 0;) e[i] = 0;
					for (i = 0; i < n.t; ++i) e[i + r.t] = r.am(0, n[i], e, i, 0, r.t);
					e.s = 0, e.clamp(), this.s != t.s && s.ZERO.subTo(e, e);
				}, s.prototype.squareTo = function(t) {
					for (var e = this.abs(), r = t.t = 2 * e.t; --r >= 0;) t[r] = 0;
					for (r = 0; r < e.t - 1; ++r) {
						var n = e.am(r, e[r], t, 2 * r, 0, 1);
						(t[r + e.t] += e.am(r + 1, 2 * e[r], t, 2 * r + 1, n, e.t - r - 1)) >= e.DV && (t[r + e.t] -= e.DV, t[r + e.t + 1] = 1);
					}
					t.t > 0 && (t[t.t - 1] += e.am(r, e[r], t, 2 * r, 0, 1)), t.s = 0, t.clamp();
				}, s.prototype.divRemTo = function(t, e, r) {
					var n = t.abs();
					if (!(n.t <= 0)) {
						var i = this.abs();
						if (i.t < n.t) return null != e && e.fromInt(0), void (null != r && this.copyTo(r));
						null == r && (r = a());
						var o = a(), f = this.s, u = t.s, c = this.DB - y(n[n.t - 1]);
						c > 0 ? (n.lShiftTo(c, o), i.lShiftTo(c, r)) : (n.copyTo(o), i.copyTo(r));
						var h = o.t, p = o[h - 1];
						if (0 !== p) {
							var l = p * (1 << this.F1) + (h > 1 ? o[h - 2] >> this.F2 : 0), g = this.FV / l, d = (1 << this.F1) / l, v = 1 << this.F2, m = r.t, S = m - h, _ = null == e ? a() : e;
							for (o.dlShiftTo(S, _), r.compareTo(_) >= 0 && (r[r.t++] = 1, r.subTo(_, r)), s.ONE.dlShiftTo(h, _), _.subTo(o, o); o.t < h;) o[o.t++] = 0;
							for (; --S >= 0;) {
								var b = r[--m] == p ? this.DM : Math.floor(r[m] * g + (r[m - 1] + v) * d);
								if ((r[m] += o.am(0, b, r, S, 0, h)) < b) for (o.dlShiftTo(S, _), r.subTo(_, r); r[m] < --b;) r.subTo(_, r);
							}
							null != e && (r.drShiftTo(h, e), f != u && s.ZERO.subTo(e, e)), r.t = h, r.clamp(), c > 0 && r.rShiftTo(c, r), f < 0 && s.ZERO.subTo(r, r);
						}
					}
				}, s.prototype.invDigit = function() {
					if (this.t < 1) return 0;
					var t = this[0];
					if (!(1 & t)) return 0;
					var e = 3 & t;
					return (e = (e = (e = (e = e * (2 - (15 & t) * e) & 15) * (2 - (255 & t) * e) & 255) * (2 - ((65535 & t) * e & 65535)) & 65535) * (2 - t * e % this.DV) % this.DV) > 0 ? this.DV - e : -e;
				}, s.prototype.isEven = function() {
					return 0 === (this.t > 0 ? 1 & this[0] : this.s);
				}, s.prototype.exp = function(t, e) {
					if (t > 4294967295 || t < 1) return s.ONE;
					var r = a(), n = a(), i = e.convert(this), o = y(t) - 1;
					for (i.copyTo(r); --o >= 0;) if (e.sqrTo(r, n), (t & 1 << o) > 0) e.mulTo(n, i, r);
					else {
						var f = r;
						r = n, n = f;
					}
					return e.revert(r);
				}, s.prototype.chunkSize = function(t) {
					return Math.floor(Math.LN2 * this.DB / Math.log(t));
				}, s.prototype.toRadix = function(t) {
					if (null == t && (t = 10), 0 === this.signum() || t < 2 || t > 36) return "0";
					var e = this.chunkSize(t), r = Math.pow(t, e), n = l(r), i = a(), o = a(), s = "";
					for (this.divRemTo(n, i, o); i.signum() > 0;) s = (r + o.intValue()).toString(t).substr(1) + s, i.divRemTo(n, i, o);
					return o.intValue().toString(t) + s;
				}, s.prototype.fromRadix = function(t, e) {
					this.fromInt(0), null == e && (e = 10);
					for (var r = this.chunkSize(e), n = Math.pow(e, r), i = !1, o = 0, a = 0, f = 0; f < t.length; ++f) {
						var u = p(t, f);
						u < 0 ? "-" == t.charAt(f) && 0 === this.signum() && (i = !0) : (a = e * a + u, ++o >= r && (this.dMultiply(n), this.dAddOffset(a, 0), o = 0, a = 0));
					}
					o > 0 && (this.dMultiply(Math.pow(e, o)), this.dAddOffset(a, 0)), i && s.ZERO.subTo(this, this);
				}, s.prototype.fromNumber = function(t, e) {
					if ("number" == typeof e) if (t < 2) this.fromInt(1);
					else for (this.fromNumber(t), this.testBit(t - 1) || this.bitwiseTo(s.ONE.shiftLeft(t - 1), m, this), this.isEven() && this.dAddOffset(1, 0); !this.isProbablePrime(e);) this.dAddOffset(2, 0), this.bitLength() > t && this.subTo(s.ONE.shiftLeft(t - 1), this);
					else {
						var r = i.randomBytes(1 + (t >> 3)), n = 7 & t;
						n > 0 ? r[0] &= (1 << n) - 1 : r[0] = 0, this.fromByteArray(r);
					}
				}, s.prototype.bitwiseTo = function(t, e, r) {
					var n, i, o = Math.min(t.t, this.t);
					for (n = 0; n < o; ++n) r[n] = e(this[n], t[n]);
					if (t.t < this.t) {
						for (i = t.s & this.DM, n = o; n < this.t; ++n) r[n] = e(this[n], i);
						r.t = this.t;
					} else {
						for (i = this.s & this.DM, n = o; n < t.t; ++n) r[n] = e(i, t[n]);
						r.t = t.t;
					}
					r.s = e(this.s, t.s), r.clamp();
				}, s.prototype.changeBit = function(t, e) {
					var r = s.ONE.shiftLeft(t);
					return this.bitwiseTo(r, e, r), r;
				}, s.prototype.addTo = function(t, e) {
					for (var r = 0, n = 0, i = Math.min(t.t, this.t); r < i;) n += this[r] + t[r], e[r++] = n & this.DM, n >>= this.DB;
					if (t.t < this.t) {
						for (n += t.s; r < this.t;) n += this[r], e[r++] = n & this.DM, n >>= this.DB;
						n += this.s;
					} else {
						for (n += this.s; r < t.t;) n += t[r], e[r++] = n & this.DM, n >>= this.DB;
						n += t.s;
					}
					e.s = n < 0 ? -1 : 0, n > 0 ? e[r++] = n : n < -1 && (e[r++] = this.DV + n), e.t = r, e.clamp();
				}, s.prototype.dMultiply = function(t) {
					this[this.t] = this.am(0, t - 1, this, 0, 0, this.t), ++this.t, this.clamp();
				}, s.prototype.dAddOffset = function(t, e) {
					if (0 !== t) {
						for (; this.t <= e;) this[this.t++] = 0;
						for (this[e] += t; this[e] >= this.DV;) this[e] -= this.DV, ++e >= this.t && (this[this.t++] = 0), ++this[e];
					}
				}, s.prototype.multiplyLowerTo = function(t, e, r) {
					var n, i = Math.min(this.t + t.t, e);
					for (r.s = 0, r.t = i; i > 0;) r[--i] = 0;
					for (n = r.t - this.t; i < n; ++i) r[i + this.t] = this.am(0, t[i], r, i, 0, this.t);
					for (n = Math.min(t.t, e); i < n; ++i) this.am(0, t[i], r, i, 0, e - i);
					r.clamp();
				}, s.prototype.multiplyUpperTo = function(t, e, r) {
					--e;
					var n = r.t = this.t + t.t - e;
					for (r.s = 0; --n >= 0;) r[n] = 0;
					for (n = Math.max(e - this.t, 0); n < t.t; ++n) r[this.t + n - e] = this.am(e - n, t[n], r, 0, 0, this.t + n - e);
					r.clamp(), r.drShiftTo(1, r);
				}, s.prototype.modInt = function(t) {
					if (t <= 0) return 0;
					var e = this.DV % t, r = this.s < 0 ? t - 1 : 0;
					if (this.t > 0) if (0 === e) r = this[0] % t;
					else for (var n = this.t - 1; n >= 0; --n) r = (e * r + this[n]) % t;
					return r;
				}, s.prototype.millerRabin = function(t) {
					var e = this.subtract(s.ONE), r = e.getLowestSetBit();
					if (r <= 0) return !1;
					var n = e.shiftRight(r);
					(t = t + 1 >> 1) > A.length && (t = A.length);
					for (var i = a(), o = 0; o < t; ++o) {
						i.fromInt(A[Math.floor(Math.random() * A.length)]);
						var f = i.modPow(n, this);
						if (0 != f.compareTo(s.ONE) && 0 != f.compareTo(e)) {
							for (var u = 1; u++ < r && 0 != f.compareTo(e);) if (0 === (f = f.modPowInt(2, this)).compareTo(s.ONE)) return !1;
							if (0 != f.compareTo(e)) return !1;
						}
					}
					return !0;
				}, s.prototype.toString = function(t) {
					if (this.s < 0) return "-" + this.negate().toString(t);
					var e;
					if (16 == t) e = 4;
					else if (8 == t) e = 3;
					else if (2 == t) e = 1;
					else if (32 == t) e = 5;
					else {
						if (4 != t) return this.toRadix(t);
						e = 2;
					}
					var r, n = (1 << e) - 1, i = !1, o = "", s = this.t, a = this.DB - s * this.DB % e;
					if (s-- > 0) for (a < this.DB && (r = this[s] >> a) > 0 && (i = !0, o = h(r)); s >= 0;) a < e ? (r = (this[s] & (1 << a) - 1) << e - a, r |= this[--s] >> (a += this.DB - e)) : (r = this[s] >> (a -= e) & n, a <= 0 && (a += this.DB, --s)), r > 0 && (i = !0), i && (o += h(r));
					return i ? o : "0";
				}, s.prototype.negate = function() {
					var t = a();
					return s.ZERO.subTo(this, t), t;
				}, s.prototype.abs = function() {
					return this.s < 0 ? this.negate() : this;
				}, s.prototype.compareTo = function(t) {
					var e = this.s - t.s;
					if (0 != e) return e;
					var r = this.t;
					if (0 != (e = r - t.t)) return this.s < 0 ? -e : e;
					for (; --r >= 0;) if (0 != (e = this[r] - t[r])) return e;
					return 0;
				}, s.prototype.bitLength = function() {
					return this.t <= 0 ? 0 : this.DB * (this.t - 1) + y(this[this.t - 1] ^ this.s & this.DM);
				}, s.prototype.mod = function(t) {
					var e = a();
					return this.abs().divRemTo(t, null, e), this.s < 0 && e.compareTo(s.ZERO) > 0 && t.subTo(e, e), e;
				}, s.prototype.modPowInt = function(t, e) {
					var r;
					return r = t < 256 || e.isEven() ? new g(e) : new d(e), this.exp(t, r);
				}, s.prototype.clone = function() {
					var t = a();
					return this.copyTo(t), t;
				}, s.prototype.intValue = function() {
					if (this.s < 0) {
						if (1 == this.t) return this[0] - this.DV;
						if (0 === this.t) return -1;
					} else {
						if (1 == this.t) return this[0];
						if (0 === this.t) return 0;
					}
					return (this[1] & (1 << 32 - this.DB) - 1) << this.DB | this[0];
				}, s.prototype.byteValue = function() {
					return 0 == this.t ? this.s : this[0] << 24 >> 24;
				}, s.prototype.shortValue = function() {
					return 0 == this.t ? this.s : this[0] << 16 >> 16;
				}, s.prototype.signum = function() {
					return this.s < 0 ? -1 : this.t <= 0 || 1 == this.t && this[0] <= 0 ? 0 : 1;
				}, s.prototype.toByteArray = function() {
					var t = this.t, e = new Array();
					e[0] = this.s;
					var r, n = this.DB - t * this.DB % 8, i = 0;
					if (t-- > 0) for (n < this.DB && (r = this[t] >> n) != (this.s & this.DM) >> n && (e[i++] = r | this.s << this.DB - n); t >= 0;) n < 8 ? (r = (this[t] & (1 << n) - 1) << 8 - n, r |= this[--t] >> (n += this.DB - 8)) : (r = this[t] >> (n -= 8) & 255, n <= 0 && (n += this.DB, --t)), 128 & r && (r |= -256), 0 === i && (128 & this.s) != (128 & r) && ++i, (i > 0 || r != this.s) && (e[i++] = r);
					return e;
				}, s.prototype.toBuffer = function(t) {
					var e = n.from(this.toByteArray());
					if (!0 === t && 0 === e[0]) e = e.slice(1);
					else if (o.isNumber(t)) {
						if (e.length > t) {
							for (var r = 0; r < e.length - t; r++) if (0 !== e[r]) return null;
							return e.slice(e.length - t);
						}
						if (e.length < t) {
							var i = n.alloc(t);
							return i.fill(0, 0, t - e.length), e.copy(i, t - e.length), i;
						}
					}
					return e;
				}, s.prototype.equals = function(t) {
					return 0 == this.compareTo(t);
				}, s.prototype.min = function(t) {
					return this.compareTo(t) < 0 ? this : t;
				}, s.prototype.max = function(t) {
					return this.compareTo(t) > 0 ? this : t;
				}, s.prototype.and = function(t) {
					var e = a();
					return this.bitwiseTo(t, v, e), e;
				}, s.prototype.or = function(t) {
					var e = a();
					return this.bitwiseTo(t, m, e), e;
				}, s.prototype.xor = function(t) {
					var e = a();
					return this.bitwiseTo(t, S, e), e;
				}, s.prototype.andNot = function(t) {
					var e = a();
					return this.bitwiseTo(t, _, e), e;
				}, s.prototype.not = function() {
					for (var t = a(), e = 0; e < this.t; ++e) t[e] = this.DM & ~this[e];
					return t.t = this.t, t.s = ~this.s, t;
				}, s.prototype.shiftLeft = function(t) {
					var e = a();
					return t < 0 ? this.rShiftTo(-t, e) : this.lShiftTo(t, e), e;
				}, s.prototype.shiftRight = function(t) {
					var e = a();
					return t < 0 ? this.lShiftTo(-t, e) : this.rShiftTo(t, e), e;
				}, s.prototype.getLowestSetBit = function() {
					for (var t = 0; t < this.t; ++t) if (0 != this[t]) return t * this.DB + b(this[t]);
					return this.s < 0 ? this.t * this.DB : -1;
				}, s.prototype.bitCount = function() {
					for (var t = 0, e = this.s & this.DM, r = 0; r < this.t; ++r) t += E(this[r] ^ e);
					return t;
				}, s.prototype.testBit = function(t) {
					var e = Math.floor(t / this.DB);
					return e >= this.t ? 0 != this.s : !!(this[e] & 1 << t % this.DB);
				}, s.prototype.setBit = function(t) {
					return this.changeBit(t, m);
				}, s.prototype.clearBit = function(t) {
					return this.changeBit(t, _);
				}, s.prototype.flipBit = function(t) {
					return this.changeBit(t, S);
				}, s.prototype.add = function(t) {
					var e = a();
					return this.addTo(t, e), e;
				}, s.prototype.subtract = function(t) {
					var e = a();
					return this.subTo(t, e), e;
				}, s.prototype.multiply = function(t) {
					var e = a();
					return this.multiplyTo(t, e), e;
				}, s.prototype.divide = function(t) {
					var e = a();
					return this.divRemTo(t, e, null), e;
				}, s.prototype.remainder = function(t) {
					var e = a();
					return this.divRemTo(t, null, e), e;
				}, s.prototype.divideAndRemainder = function(t) {
					var e = a(), r = a();
					return this.divRemTo(t, e, r), new Array(e, r);
				}, s.prototype.modPow = function(t, e) {
					var r, n, i = t.bitLength(), o = l(1);
					if (i <= 0) return o;
					r = i < 18 ? 1 : i < 48 ? 3 : i < 144 ? 4 : i < 768 ? 5 : 6, n = i < 8 ? new g(e) : e.isEven() ? new B(e) : new d(e);
					var s = new Array(), f = 3, u = r - 1, c = (1 << r) - 1;
					if (s[1] = n.convert(this), r > 1) {
						var h = a();
						for (n.sqrTo(s[1], h); f <= c;) s[f] = a(), n.mulTo(h, s[f - 2], s[f]), f += 2;
					}
					var p, v, m = t.t - 1, S = !0, _ = a();
					for (i = y(t[m]) - 1; m >= 0;) {
						for (i >= u ? p = t[m] >> i - u & c : (p = (t[m] & (1 << i + 1) - 1) << u - i, m > 0 && (p |= t[m - 1] >> this.DB + i - u)), f = r; !(1 & p);) p >>= 1, --f;
						if ((i -= f) < 0 && (i += this.DB, --m), S) s[p].copyTo(o), S = !1;
						else {
							for (; f > 1;) n.sqrTo(o, _), n.sqrTo(_, o), f -= 2;
							f > 0 ? n.sqrTo(o, _) : (v = o, o = _, _ = v), n.mulTo(_, s[p], o);
						}
						for (; m >= 0 && !(t[m] & 1 << i);) n.sqrTo(o, _), v = o, o = _, _ = v, --i < 0 && (i = this.DB - 1, --m);
					}
					return n.revert(o);
				}, s.prototype.modInverse = function(t) {
					var e = t.isEven();
					if (this.isEven() && e || 0 === t.signum()) return s.ZERO;
					for (var r = t.clone(), n = this.clone(), i = l(1), o = l(0), a = l(0), f = l(1); 0 != r.signum();) {
						for (; r.isEven();) r.rShiftTo(1, r), e ? (i.isEven() && o.isEven() || (i.addTo(this, i), o.subTo(t, o)), i.rShiftTo(1, i)) : o.isEven() || o.subTo(t, o), o.rShiftTo(1, o);
						for (; n.isEven();) n.rShiftTo(1, n), e ? (a.isEven() && f.isEven() || (a.addTo(this, a), f.subTo(t, f)), a.rShiftTo(1, a)) : f.isEven() || f.subTo(t, f), f.rShiftTo(1, f);
						r.compareTo(n) >= 0 ? (r.subTo(n, r), e && i.subTo(a, i), o.subTo(f, o)) : (n.subTo(r, n), e && a.subTo(i, a), f.subTo(o, f));
					}
					return 0 != n.compareTo(s.ONE) ? s.ZERO : f.compareTo(t) >= 0 ? f.subtract(t) : f.signum() < 0 ? (f.addTo(t, f), f.signum() < 0 ? f.add(t) : f) : f;
				}, s.prototype.pow = function(t) {
					return this.exp(t, new w());
				}, s.prototype.gcd = function(t) {
					var e = this.s < 0 ? this.negate() : this.clone(), r = t.s < 0 ? t.negate() : t.clone();
					if (e.compareTo(r) < 0) {
						var n = e;
						e = r, r = n;
					}
					var i = e.getLowestSetBit(), o = r.getLowestSetBit();
					if (o < 0) return e;
					for (i < o && (o = i), o > 0 && (e.rShiftTo(o, e), r.rShiftTo(o, r)); e.signum() > 0;) (i = e.getLowestSetBit()) > 0 && e.rShiftTo(i, e), (i = r.getLowestSetBit()) > 0 && r.rShiftTo(i, r), e.compareTo(r) >= 0 ? (e.subTo(r, e), e.rShiftTo(1, e)) : (r.subTo(e, r), r.rShiftTo(1, r));
					return o > 0 && r.lShiftTo(o, r), r;
				}, s.prototype.isProbablePrime = function(t) {
					var e, r = this.abs();
					if (1 == r.t && r[0] <= A[A.length - 1]) {
						for (e = 0; e < A.length; ++e) if (r[0] == A[e]) return !0;
						return !1;
					}
					if (r.isEven()) return !1;
					for (e = 1; e < A.length;) {
						for (var n = A[e], i = e + 1; i < A.length && n < x;) n *= A[i++];
						for (n = r.modInt(n); e < i;) if (n % A[e++] == 0) return !1;
					}
					return r.millerRabin(t);
				}, s.int2char = h, s.ZERO = l(0), s.ONE = l(1), s.prototype.square = function() {
					var t = a();
					return this.squareTo(t), t;
				}, t.exports = s;
			},
			5682: (t, e, r) => {
				var n = r(8287).Buffer, i = r(8226)._, o = (r(3200), r(1973)), s = r(8226), a = r(1768), f = r(4538);
				e.BigInteger = o, t.exports.Key = function() {
					function t() {
						this.n = null, this.e = 0, this.d = null, this.p = null, this.q = null, this.dmp1 = null, this.dmq1 = null, this.coeff = null;
					}
					return t.prototype.setOptions = function(t) {
						var e = a[t.signingScheme], r = a[t.encryptionScheme];
						e === r ? this.signingScheme = this.encryptionScheme = r.makeScheme(this, t) : (this.encryptionScheme = r.makeScheme(this, t), this.signingScheme = e.makeScheme(this, t)), this.encryptEngine = f.getEngine(this, t);
					}, t.prototype.generate = function(t, e) {
						var r = t >> 1;
						this.e = parseInt(e, 16);
						for (var n = new o(e, 16);;) {
							for (; this.p = new o(t - r, 1), 0 !== this.p.subtract(o.ONE).gcd(n).compareTo(o.ONE) || !this.p.isProbablePrime(10););
							for (; this.q = new o(r, 1), 0 !== this.q.subtract(o.ONE).gcd(n).compareTo(o.ONE) || !this.q.isProbablePrime(10););
							if (this.p.compareTo(this.q) <= 0) {
								var i = this.p;
								this.p = this.q, this.q = i;
							}
							var s = this.p.subtract(o.ONE), a = this.q.subtract(o.ONE), f = s.multiply(a);
							if (0 === f.gcd(n).compareTo(o.ONE)) {
								if (this.n = this.p.multiply(this.q), this.n.bitLength() < t) continue;
								this.d = n.modInverse(f), this.dmp1 = this.d.mod(s), this.dmq1 = this.d.mod(a), this.coeff = this.q.modInverse(this.p);
								break;
							}
						}
						this.$$recalculateCache();
					}, t.prototype.setPrivate = function(t, e, r, n, a, f, u, c) {
						if (!(t && e && r && t.length > 0 && (i.isNumber(e) || e.length > 0) && r.length > 0)) throw Error("Invalid RSA private key");
						this.n = new o(t), this.e = i.isNumber(e) ? e : s.get32IntFromBuffer(e, 0), this.d = new o(r), n && a && f && u && c && (this.p = new o(n), this.q = new o(a), this.dmp1 = new o(f), this.dmq1 = new o(u), this.coeff = new o(c)), this.$$recalculateCache();
					}, t.prototype.setPublic = function(t, e) {
						if (!(t && e && t.length > 0 && (i.isNumber(e) || e.length > 0))) throw Error("Invalid RSA public key");
						this.n = new o(t), this.e = i.isNumber(e) ? e : s.get32IntFromBuffer(e, 0), this.$$recalculateCache();
					}, t.prototype.$doPrivate = function(t) {
						if (this.p || this.q) return t.modPow(this.d, this.n);
						for (var e = t.mod(this.p).modPow(this.dmp1, this.p), r = t.mod(this.q).modPow(this.dmq1, this.q); e.compareTo(r) < 0;) e = e.add(this.p);
						return e.subtract(r).multiply(this.coeff).mod(this.p).multiply(this.q).add(r);
					}, t.prototype.$doPublic = function(t) {
						return t.modPowInt(this.e, this.n);
					}, t.prototype.encrypt = function(t, e) {
						var r = [], i = [], o = t.length, s = Math.ceil(o / this.maxMessageLength) || 1, a = Math.ceil(o / s || 1);
						if (1 == s) r.push(t);
						else for (var f = 0; f < s; f++) r.push(t.slice(f * a, (f + 1) * a));
						for (var u = 0; u < r.length; u++) i.push(this.encryptEngine.encrypt(r[u], e));
						return n.concat(i);
					}, t.prototype.decrypt = function(t, e) {
						if (t.length % this.encryptedDataLength > 0) throw Error("Incorrect data or key");
						for (var r = [], i = 0, o = 0, s = t.length / this.encryptedDataLength, a = 0; a < s; a++) o = (i = a * this.encryptedDataLength) + this.encryptedDataLength, r.push(this.encryptEngine.decrypt(t.slice(i, Math.min(o, t.length)), e));
						return n.concat(r);
					}, t.prototype.sign = function(t) {
						return this.signingScheme.sign.apply(this.signingScheme, arguments);
					}, t.prototype.verify = function(t, e, r) {
						return this.signingScheme.verify.apply(this.signingScheme, arguments);
					}, t.prototype.isPrivate = function() {
						return !!(this.n && this.e && this.d);
					}, t.prototype.isPublic = function(t) {
						return this.n && this.e && !(t && this.d) || !1;
					}, Object.defineProperty(t.prototype, "keySize", { get: function() {
						return this.cache.keyBitLength;
					} }), Object.defineProperty(t.prototype, "encryptedDataLength", { get: function() {
						return this.cache.keyByteLength;
					} }), Object.defineProperty(t.prototype, "maxMessageLength", { get: function() {
						return this.encryptionScheme.maxMessageLength();
					} }), t.prototype.$$recalculateCache = function() {
						this.cache = this.cache || {}, this.cache.keyBitLength = this.n.bitLength(), this.cache.keyByteLength = this.cache.keyBitLength + 6 >> 3;
					}, t;
				}();
			},
			2487: (t, e, r) => {
				var n = r(8287).Buffer, i = (r(1973), r(3200));
				t.exports = {
					isEncryption: !0,
					isSignature: !1
				}, t.exports.digestLength = {
					md4: 16,
					md5: 16,
					ripemd160: 20,
					rmd160: 20,
					sha1: 20,
					sha224: 28,
					sha256: 32,
					sha384: 48,
					sha512: 64
				};
				var o = "sha1";
				t.exports.eme_oaep_mgf1 = function(e, r, s) {
					s = s || o;
					for (var a = t.exports.digestLength[s], f = Math.ceil(r / a), u = n.alloc(a * f), c = n.alloc(4), h = 0; h < f; ++h) {
						var p = i.createHash(s);
						p.update(e), c.writeUInt32BE(h, 0), p.update(c), p.digest().copy(u, h * a);
					}
					return u.slice(0, r);
				}, t.exports.makeScheme = function(e, r) {
					function s(t, e) {
						this.key = t, this.options = e;
					}
					return s.prototype.maxMessageLength = function() {
						return this.key.encryptedDataLength - 2 * t.exports.digestLength[this.options.encryptionSchemeOptions.hash || o] - 2;
					}, s.prototype.encPad = function(e) {
						var r = this.options.encryptionSchemeOptions.hash || o, s = this.options.encryptionSchemeOptions.mgf || t.exports.eme_oaep_mgf1, a = this.options.encryptionSchemeOptions.label || n.alloc(0), f = this.key.encryptedDataLength, u = t.exports.digestLength[r];
						if (e.length > f - 2 * u - 2) throw new Error("Message is too long to encode into an encoded message with a length of " + f + " bytes, increaseemLen to fix this error (minimum value for given parameters and options: " + (f - 2 * u - 2) + ")");
						var c = i.createHash(r);
						c.update(a), c = c.digest();
						var h = n.alloc(f - e.length - 2 * u - 1);
						h.fill(0), h[h.length - 1] = 1;
						for (var p = n.concat([
							c,
							h,
							e
						]), l = i.randomBytes(u), y = s(l, p.length, r), g = 0; g < p.length; g++) p[g] ^= y[g];
						for (y = s(p, u, r), g = 0; g < l.length; g++) l[g] ^= y[g];
						var d = n.alloc(1 + l.length + p.length);
						return d[0] = 0, l.copy(d, 1), p.copy(d, 1 + l.length), d;
					}, s.prototype.encUnPad = function(e) {
						var r = this.options.encryptionSchemeOptions.hash || o, s = this.options.encryptionSchemeOptions.mgf || t.exports.eme_oaep_mgf1, a = this.options.encryptionSchemeOptions.label || n.alloc(0), f = t.exports.digestLength[r];
						if (e.length < 2 * f + 2) throw new Error("Error decoding message, the supplied message is not long enough to be a valid OAEP encoded message");
						for (var u = e.slice(1, f + 1), c = e.slice(1 + f), h = s(c, f, r), p = 0; p < u.length; p++) u[p] ^= h[p];
						for (h = s(u, c.length, r), p = 0; p < c.length; p++) c[p] ^= h[p];
						var l = i.createHash(r);
						if (l.update(a), l = l.digest(), c.slice(0, f).toString("hex") != l.toString("hex")) throw new Error("Error decoding message, the lHash calculated from the label provided and the lHash in the encrypted data do not match.");
						for (p = f; 0 === c[p++] && p < c.length;);
						if (1 != c[p - 1]) throw new Error("Error decoding message, there is no padding message separator byte");
						return c.slice(p);
					}, new s(e, r);
				};
			},
			8290: (t, e, r) => {
				var n = r(8287).Buffer, i = r(1973), o = r(3200), s = r(7449), a = {
					md2: n.from("3020300c06082a864886f70d020205000410", "hex"),
					md5: n.from("3020300c06082a864886f70d020505000410", "hex"),
					sha1: n.from("3021300906052b0e03021a05000414", "hex"),
					sha224: n.from("302d300d06096086480165030402040500041c", "hex"),
					sha256: n.from("3031300d060960864801650304020105000420", "hex"),
					sha384: n.from("3041300d060960864801650304020205000430", "hex"),
					sha512: n.from("3051300d060960864801650304020305000440", "hex"),
					ripemd160: n.from("3021300906052b2403020105000414", "hex"),
					rmd160: n.from("3021300906052b2403020105000414", "hex")
				}, f = { ripemd160: "rmd160" }, u = "sha256";
				t.exports = {
					isEncryption: !0,
					isSignature: !0
				}, t.exports.makeScheme = function(t, e) {
					function r(t, e) {
						this.key = t, this.options = e;
					}
					return r.prototype.maxMessageLength = function() {
						return this.options.encryptionSchemeOptions && this.options.encryptionSchemeOptions.padding == s.RSA_NO_PADDING ? this.key.encryptedDataLength : this.key.encryptedDataLength - 11;
					}, r.prototype.encPad = function(t, e) {
						var r;
						if (e = e || {}, t.length > this.key.maxMessageLength) throw new Error("Message too long for RSA (n=" + this.key.encryptedDataLength + ", l=" + t.length + ")");
						if (this.options.encryptionSchemeOptions && this.options.encryptionSchemeOptions.padding == s.RSA_NO_PADDING) return (r = n.alloc(this.key.maxMessageLength - t.length)).fill(0), n.concat([r, t]);
						if (1 === e.type) return (r = n.alloc(this.key.encryptedDataLength - t.length - 1)).fill(255, 0, r.length - 1), r[0] = 1, r[r.length - 1] = 0, n.concat([r, t]);
						(r = n.alloc(this.key.encryptedDataLength - t.length))[0] = 0, r[1] = 2;
						for (var i = o.randomBytes(r.length - 3), a = 0; a < i.length; a++) {
							for (var f = i[a]; 0 === f;) f = o.randomBytes(1)[0];
							r[a + 2] = f;
						}
						return r[r.length - 1] = 0, n.concat([r, t]);
					}, r.prototype.encUnPad = function(t, e) {
						e = e || {};
						var r = 0;
						if (this.options.encryptionSchemeOptions && this.options.encryptionSchemeOptions.padding == s.RSA_NO_PADDING) return "function" == typeof t.lastIndexOf ? t.slice(t.lastIndexOf("\0") + 1, t.length) : t.slice(String.prototype.lastIndexOf.call(t, "\0") + 1, t.length);
						if (t.length < 4) return null;
						if (1 === e.type) {
							if (0 !== t[0] || 1 !== t[1]) return null;
							for (r = 3; 0 !== t[r];) if (255 != t[r] || ++r >= t.length) return null;
						} else {
							if (0 !== t[0] || 2 !== t[1]) return null;
							for (r = 3; 0 !== t[r];) if (++r >= t.length) return null;
						}
						return t.slice(r + 1, t.length);
					}, r.prototype.sign = function(t) {
						var e = this.options.signingSchemeOptions.hash || u;
						if ("browser" === this.options.environment) {
							e = f[e] || e;
							var r = o.createHash(e);
							r.update(t);
							var n = this.pkcs1pad(r.digest(), e);
							return this.key.$doPrivate(new i(n)).toBuffer(this.key.encryptedDataLength);
						}
						var s = o.createSign("RSA-" + e.toUpperCase());
						return s.update(t), s.sign(this.options.rsaUtils.exportKey("private"));
					}, r.prototype.verify = function(t, e, r) {
						if (this.options.encryptionSchemeOptions && this.options.encryptionSchemeOptions.padding == s.RSA_NO_PADDING) return !1;
						var a = this.options.signingSchemeOptions.hash || u;
						if ("browser" === this.options.environment) {
							a = f[a] || a, r && (e = n.from(e, r));
							var c = o.createHash(a);
							c.update(t);
							var h = this.pkcs1pad(c.digest(), a);
							return this.key.$doPublic(new i(e)).toBuffer().toString("hex") == h.toString("hex");
						}
						var p = o.createVerify("RSA-" + a.toUpperCase());
						return p.update(t), p.verify(this.options.rsaUtils.exportKey("public"), e, r);
					}, r.prototype.pkcs0pad = function(t) {
						var e = n.alloc(this.key.maxMessageLength - t.length);
						return e.fill(0), n.concat([e, t]);
					}, r.prototype.pkcs0unpad = function(t) {
						return "function" == typeof t.lastIndexOf ? t.slice(t.lastIndexOf("\0") + 1, t.length) : t.slice(String.prototype.lastIndexOf.call(t, "\0") + 1, t.length);
					}, r.prototype.pkcs1pad = function(t, e) {
						var r = a[e];
						if (!r) throw Error("Unsupported hash algorithm");
						var i = n.concat([r, t]);
						if (i.length + 10 > this.key.encryptedDataLength) throw Error("Key is too short for signing algorithm (" + e + ")");
						var o = n.alloc(this.key.encryptedDataLength - i.length - 1);
						return o.fill(255, 0, o.length - 1), o[0] = 1, o[o.length - 1] = 0, n.concat([o, i]);
					}, new r(t, e);
				};
			},
			4414: (t, e, r) => {
				var n = r(8287).Buffer, i = r(1973), o = r(3200);
				t.exports = {
					isEncryption: !1,
					isSignature: !0
				};
				var s = "sha1";
				t.exports.makeScheme = function(t, e) {
					var a = r(1768).pkcs1_oaep;
					function f(t, e) {
						this.key = t, this.options = e;
					}
					return f.prototype.sign = function(t) {
						var e = o.createHash(this.options.signingSchemeOptions.hash || s);
						e.update(t);
						var r = this.emsa_pss_encode(e.digest(), this.key.keySize - 1);
						return this.key.$doPrivate(new i(r)).toBuffer(this.key.encryptedDataLength);
					}, f.prototype.verify = function(t, e, r) {
						r && (e = n.from(e, r)), e = new i(e);
						var a = Math.ceil((this.key.keySize - 1) / 8), f = this.key.$doPublic(e).toBuffer(a), u = o.createHash(this.options.signingSchemeOptions.hash || s);
						return u.update(t), this.emsa_pss_verify(u.digest(), f, this.key.keySize - 1);
					}, f.prototype.emsa_pss_encode = function(t, e) {
						var r = this.options.signingSchemeOptions.hash || s, i = this.options.signingSchemeOptions.mgf || a.eme_oaep_mgf1, f = this.options.signingSchemeOptions.saltLength || 20, u = a.digestLength[r], c = Math.ceil(e / 8);
						if (c < u + f + 2) throw new Error("Output length passed to emBits(" + e + ") is too small for the options specified(" + r + ", " + f + "). To fix this issue increase the value of emBits. (minimum size: " + (8 * u + 8 * f + 9) + ")");
						var h = o.randomBytes(f), p = n.alloc(8 + u + f);
						p.fill(0, 0, 8), t.copy(p, 8), h.copy(p, 8 + t.length);
						var l = o.createHash(r);
						l.update(p), l = l.digest();
						var y = n.alloc(c - h.length - u - 2);
						y.fill(0);
						var g = n.alloc(y.length + 1 + h.length);
						y.copy(g), g[y.length] = 1, h.copy(g, y.length + 1);
						for (var d = i(l, g.length, r), v = n.alloc(g.length), m = 0; m < d.length; m++) v[m] = g[m] ^ d[m];
						var S = 8 * c - e, _ = 255 ^ 255 >> 8 - S << 8 - S;
						v[0] = v[0] & _;
						var b = n.alloc(v.length + l.length + 1);
						return v.copy(b, 0), l.copy(b, v.length), b[b.length - 1] = 188, b;
					}, f.prototype.emsa_pss_verify = function(t, e, r) {
						var i = this.options.signingSchemeOptions.hash || s, f = this.options.signingSchemeOptions.mgf || a.eme_oaep_mgf1, u = this.options.signingSchemeOptions.saltLength || 20, c = a.digestLength[i], h = Math.ceil(r / 8);
						if (h < c + u + 2 || 188 != e[e.length - 1]) return !1;
						var p = n.alloc(h - c - 1);
						e.copy(p, 0, 0, h - c - 1);
						for (var l = 0, y = 0, g = 8 * h - r; y < g; y++) l |= 1 << 7 - y;
						if (p[0] & l) return !1;
						var d = e.slice(h - c - 1, h - 1), v = f(d, p.length, i);
						for (y = 0; y < p.length; y++) p[y] ^= v[y];
						for (l = 255 ^ 255 >> 8 - (g = 8 * h - r) << 8 - g, p[0] = p[0] & l, y = 0; 0 === p[y] && y < p.length; y++);
						if (1 != p[y]) return !1;
						var m = p.slice(p.length - u), S = n.alloc(8 + c + u);
						S.fill(0, 0, 8), t.copy(S, 8), m.copy(S, 8 + t.length);
						var _ = o.createHash(i);
						return _.update(S), _ = _.digest(), d.toString("hex") === _.toString("hex");
					}, new f(t, e);
				};
			},
			1768: (t, e, r) => {
				t.exports = {
					pkcs1: r(8290),
					pkcs1_oaep: r(2487),
					pss: r(4414),
					isEncryption: function(e) {
						return t.exports[e] && t.exports[e].isEncryption;
					},
					isSignature: function(e) {
						return t.exports[e] && t.exports[e].isSignature;
					}
				};
			},
			8226: (t, e, r) => {
				var n = r(5606);
				r(3200), t.exports.linebrk = function(t, e) {
					for (var r = "", n = 0; n + e < t.length;) r += t.substring(n, n + e) + "\n", n += e;
					return r + t.substring(n, t.length);
				}, t.exports.detectEnvironment = function() {
					return "browser";
					"undefined" == typeof window || !window || n && "node" === n.title ? "node" : "browser";
				}, t.exports.get32IntFromBuffer = function(t, e) {
					var r;
					if (e = e || 0, (r = t.length - e) > 0) {
						if (r >= 4) return t.readUIntBE(e, r);
						for (var n = 0, i = e + r, o = 0; i > e; i--, o += 2) n += t[i - 1] * Math.pow(16, o);
						return n;
					}
					return NaN;
				}, t.exports._ = {
					isObject: function(t) {
						var e = typeof t;
						return !!t && ("object" == e || "function" == e);
					},
					isString: function(t) {
						return "string" == typeof t || t instanceof String;
					},
					isNumber: function(t) {
						return "number" == typeof t || !isNaN(parseFloat(t)) && isFinite(t);
					},
					omit: function(t, e) {
						var r = {};
						for (var n in t) t.hasOwnProperty(n) && n !== e && (r[n] = t[n]);
						return r;
					}
				}, t.exports.trimSurroundingText = function(t, e, r) {
					var n = 0, i = t.length, o = t.indexOf(e);
					o >= 0 && (n = o + e.length);
					var s = t.indexOf(r, o);
					return s >= 0 && (i = s), t.substring(n, i);
				};
			},
			8875: (t, e, r) => {
				"use strict";
				var n;
				if (!Object.keys) {
					var i = Object.prototype.hasOwnProperty, o = Object.prototype.toString, s = r(1093), a = Object.prototype.propertyIsEnumerable, f = !a.call({ toString: null }, "toString"), u = a.call((function() {}), "prototype"), c = [
						"toString",
						"toLocaleString",
						"valueOf",
						"hasOwnProperty",
						"isPrototypeOf",
						"propertyIsEnumerable",
						"constructor"
					], h = function(t) {
						var e = t.constructor;
						return e && e.prototype === t;
					}, p = {
						$applicationCache: !0,
						$console: !0,
						$external: !0,
						$frame: !0,
						$frameElement: !0,
						$frames: !0,
						$innerHeight: !0,
						$innerWidth: !0,
						$onmozfullscreenchange: !0,
						$onmozfullscreenerror: !0,
						$outerHeight: !0,
						$outerWidth: !0,
						$pageXOffset: !0,
						$pageYOffset: !0,
						$parent: !0,
						$scrollLeft: !0,
						$scrollTop: !0,
						$scrollX: !0,
						$scrollY: !0,
						$self: !0,
						$webkitIndexedDB: !0,
						$webkitStorageInfo: !0,
						$window: !0
					}, l = function() {
						if ("undefined" == typeof window) return !1;
						for (var t in window) try {
							if (!p["$" + t] && i.call(window, t) && null !== window[t] && "object" == typeof window[t]) try {
								h(window[t]);
							} catch (t) {
								return !0;
							}
						} catch (t) {
							return !0;
						}
						return !1;
					}();
					n = function(t) {
						var e = null !== t && "object" == typeof t, r = "[object Function]" === o.call(t), n = s(t), a = e && "[object String]" === o.call(t), p = [];
						if (!e && !r && !n) throw new TypeError("Object.keys called on a non-object");
						var y = u && r;
						if (a && t.length > 0 && !i.call(t, 0)) for (var g = 0; g < t.length; ++g) p.push(String(g));
						if (n && t.length > 0) for (var d = 0; d < t.length; ++d) p.push(String(d));
						else for (var v in t) y && "prototype" === v || !i.call(t, v) || p.push(String(v));
						if (f) for (var m = function(t) {
							if ("undefined" == typeof window || !l) return h(t);
							try {
								return h(t);
							} catch (t) {
								return !1;
							}
						}(t), S = 0; S < c.length; ++S) m && "constructor" === c[S] || !i.call(t, c[S]) || p.push(c[S]);
						return p;
					};
				}
				t.exports = n;
			},
			1189: (t, e, r) => {
				"use strict";
				var n = Array.prototype.slice, i = r(1093), o = Object.keys, s = o ? function(t) {
					return o(t);
				} : r(8875), a = Object.keys;
				s.shim = function() {
					if (Object.keys) {
						var t = function() {
							var t = Object.keys(arguments);
							return t && t.length === arguments.length;
						}(1, 2);
						t || (Object.keys = function(t) {
							return i(t) ? a(n.call(t)) : a(t);
						});
					} else Object.keys = s;
					return Object.keys || s;
				}, t.exports = s;
			},
			1093: (t) => {
				"use strict";
				var e = Object.prototype.toString;
				t.exports = function(t) {
					var r = e.call(t), n = "[object Arguments]" === r;
					return n || (n = "[object Array]" !== r && null !== t && "object" == typeof t && "number" == typeof t.length && t.length >= 0 && "[object Function]" === e.call(t.callee)), n;
				};
			},
			8403: (t, e, r) => {
				"use strict";
				var n = r(1189), i = r(1333)(), o = r(8075), s = Object, a = o("Array.prototype.push"), f = o("Object.prototype.propertyIsEnumerable"), u = i ? Object.getOwnPropertySymbols : null;
				t.exports = function(t, e) {
					if (null == t) throw new TypeError("target must be an object");
					var r = s(t);
					if (1 === arguments.length) return r;
					for (var o = 1; o < arguments.length; ++o) {
						var c = s(arguments[o]), h = n(c), p = i && (Object.getOwnPropertySymbols || u);
						if (p) for (var l = p(c), y = 0; y < l.length; ++y) {
							var g = l[y];
							f(c, g) && a(h, g);
						}
						for (var d = 0; d < h.length; ++d) {
							var v = h[d];
							if (f(c, v)) {
								var m = c[v];
								r[v] = m;
							}
						}
					}
					return r;
				};
			},
			1514: (t, e, r) => {
				"use strict";
				var n = r(8403);
				t.exports = function() {
					return Object.assign ? function() {
						if (!Object.assign) return !1;
						for (var t = "abcdefghijklmnopqrst", e = t.split(""), r = {}, n = 0; n < e.length; ++n) r[e[n]] = e[n];
						var i = Object.assign({}, r), o = "";
						for (var s in i) o += s;
						return t !== o;
					}() || function() {
						if (!Object.assign || !Object.preventExtensions) return !1;
						var t = Object.preventExtensions({ 1: 2 });
						try {
							Object.assign(t, "xy");
						} catch (e) {
							return "y" === t[1];
						}
						return !1;
					}() ? n : Object.assign : n;
				};
			},
			5606: (t) => {
				var e, r, n = t.exports = {};
				function i() {
					throw new Error("setTimeout has not been defined");
				}
				function o() {
					throw new Error("clearTimeout has not been defined");
				}
				function s(t) {
					if (e === setTimeout) return setTimeout(t, 0);
					if ((e === i || !e) && setTimeout) return e = setTimeout, setTimeout(t, 0);
					try {
						return e(t, 0);
					} catch (r) {
						try {
							return e.call(null, t, 0);
						} catch (r) {
							return e.call(this, t, 0);
						}
					}
				}
				!function() {
					try {
						e = "function" == typeof setTimeout ? setTimeout : i;
					} catch (t) {
						e = i;
					}
					try {
						r = "function" == typeof clearTimeout ? clearTimeout : o;
					} catch (t) {
						r = o;
					}
				}();
				var a, f = [], u = !1, c = -1;
				function h() {
					u && a && (u = !1, a.length ? f = a.concat(f) : c = -1, f.length && p());
				}
				function p() {
					if (!u) {
						var t = s(h);
						u = !0;
						for (var e = f.length; e;) {
							for (a = f, f = []; ++c < e;) a && a[c].run();
							c = -1, e = f.length;
						}
						a = null, u = !1, function(t) {
							if (r === clearTimeout) return clearTimeout(t);
							if ((r === o || !r) && clearTimeout) return r = clearTimeout, clearTimeout(t);
							try {
								return r(t);
							} catch (e) {
								try {
									return r.call(null, t);
								} catch (e) {
									return r.call(this, t);
								}
							}
						}(t);
					}
				}
				function l(t, e) {
					this.fun = t, this.array = e;
				}
				function y() {}
				n.nextTick = function(t) {
					var e = new Array(arguments.length - 1);
					if (arguments.length > 1) for (var r = 1; r < arguments.length; r++) e[r - 1] = arguments[r];
					f.push(new l(t, e)), 1 !== f.length || u || s(p);
				}, l.prototype.run = function() {
					this.fun.apply(null, this.array);
				}, n.title = "browser", n.browser = !0, n.env = {}, n.argv = [], n.version = "", n.versions = {}, n.on = y, n.addListener = y, n.once = y, n.off = y, n.removeListener = y, n.removeAllListeners = y, n.emit = y, n.prependListener = y, n.prependOnceListener = y, n.listeners = function(t) {
					return [];
				}, n.binding = function(t) {
					throw new Error("process.binding is not supported");
				}, n.cwd = function() {
					return "/";
				}, n.chdir = function(t) {
					throw new Error("process.chdir is not supported");
				}, n.umask = function() {
					return 0;
				};
			},
			4774: (t, e, r) => {
				"use strict";
				var n, i = r(5606), o = r(8287), s = o.Buffer, a = {};
				for (n in o) o.hasOwnProperty(n) && "SlowBuffer" !== n && "Buffer" !== n && (a[n] = o[n]);
				var f = a.Buffer = {};
				for (n in s) s.hasOwnProperty(n) && "allocUnsafe" !== n && "allocUnsafeSlow" !== n && (f[n] = s[n]);
				if (a.Buffer.prototype = s.prototype, f.from && f.from !== Uint8Array.from || (f.from = function(t, e, r) {
					if ("number" == typeof t) throw new TypeError("The \"value\" argument must not be of type number. Received type " + typeof t);
					if (t && void 0 === t.length) throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof t);
					return s(t, e, r);
				}), f.alloc || (f.alloc = function(t, e, r) {
					if ("number" != typeof t) throw new TypeError("The \"size\" argument must be of type number. Received type " + typeof t);
					if (t < 0 || t >= 2 * (1 << 30)) throw new RangeError("The value \"" + t + "\" is invalid for option \"size\"");
					var n = s(t);
					return e && 0 !== e.length ? "string" == typeof r ? n.fill(e, r) : n.fill(e) : n.fill(0), n;
				}), !a.kStringMaxLength) try {
					a.kStringMaxLength = i.binding("buffer").kStringMaxLength;
				} catch (t) {}
				a.constants || (a.constants = { MAX_LENGTH: a.kMaxLength }, a.kStringMaxLength && (a.constants.MAX_STRING_LENGTH = a.kStringMaxLength)), t.exports = a;
			},
			6897: (t, e, r) => {
				"use strict";
				var n = r(453), i = r(41), o = r(592)(), s = r(5795), a = r(9675), f = n("%Math.floor%");
				t.exports = function(t, e) {
					if ("function" != typeof t) throw new a("`fn` is not a function");
					if ("number" != typeof e || e < 0 || e > 4294967295 || f(e) !== e) throw new a("`length` must be a positive 32-bit integer");
					var r = arguments.length > 2 && !!arguments[2], n = !0, u = !0;
					if ("length" in t && s) {
						var c = s(t, "length");
						c && !c.configurable && (n = !1), c && !c.writable && (u = !1);
					}
					return (n || u || !r) && (o ? i(t, "length", e, !0, !0) : i(t, "length", e)), t;
				};
			},
			3200: (t, e, r) => {
				var n = r(8287).Buffer, i = r(1396), o = {
					randomBytes: function(t) {
						for (var e = [], r = 0; r < t; r++) e.push(Math.floor(256 * Math.random()));
						return n.from(e);
					},
					createHash(t) {
						let e = n.from([]);
						return {
							update: function(t) {
								return e = n.concat([e, t]), this;
							},
							digest: function() {
								let r = i[t.toUpperCase()](i.lib.WordArray.create(new Uint8Array(e))).toString();
								return n.from(r, "hex");
							}
						};
					}
				};
				t.exports = o;
			},
			7033: (t, e, r) => {
				var n = r(8287).Buffer;
				const i = r(3229);
				let o = {
					outputEncoding: "",
					PublicFormat: "pkcs1-public",
					PrivateFormat: "pkcs1-private",
					options: {
						environment: "browser",
						encryptionScheme: "pkcs1"
					}
				};
				t.exports = {
					NodeRSA: i,
					encryptRSAWithPublicKey: function(t, e, r) {
						r = r || {};
						return r = Object.assign({}, o, r), new i(e, r.PublicFormat, r.options).encrypt(t, r.outEncoding || "base64");
					},
					encryptRSAWithPrivateKey: function(t, e, r) {
						r = r || {};
						return r = Object.assign({}, o, r), new i(e, r.PrivateFormat, r.options).encryptPrivate(t, r.outputEncoding || "base64");
					},
					decryptRSAWithPublicKey: function(t, e, r) {
						r = r || {};
						return r = Object.assign({}, o, r), new i(e, r.PublicEncoding, r.options).decryptPublic(t, r.outEncoding || "utf8");
					},
					decryptRSAWithPrivateKey: function(t, e, r) {
						r = r || {};
						return r = Object.assign({}, o, r), new i(e, r.PrivateEncoding, r.options).decrypt(t, r.outEncoding || "utf8");
					},
					sign: function(t, e, r) {
						r = r || {};
						return r = Object.assign({}, o, r), new i(e, r.PrivateEncoding, r.options).sign(t, r.outEncoding || "base64");
					},
					verify: function(t, e, r, s) {
						s = s || {};
						return "string" == typeof e && e.match(/^([0-9a-fA-F]{2})*$/) ? e = n.from(e, "hex") : "string" == typeof e && (e = n.from(e, "base64")), s = Object.assign({}, o, s), new i(r, s.PublicEncoding, s.options).verify(t, e);
					}
				};
			},
			7449: (t) => {
				"use strict";
				t.exports = JSON.parse("{\"O_RDONLY\":0,\"O_WRONLY\":1,\"O_RDWR\":2,\"S_IFMT\":61440,\"S_IFREG\":32768,\"S_IFDIR\":16384,\"S_IFCHR\":8192,\"S_IFBLK\":24576,\"S_IFIFO\":4096,\"S_IFLNK\":40960,\"S_IFSOCK\":49152,\"O_CREAT\":512,\"O_EXCL\":2048,\"O_NOCTTY\":131072,\"O_TRUNC\":1024,\"O_APPEND\":8,\"O_DIRECTORY\":1048576,\"O_NOFOLLOW\":256,\"O_SYNC\":128,\"O_SYMLINK\":2097152,\"O_NONBLOCK\":4,\"S_IRWXU\":448,\"S_IRUSR\":256,\"S_IWUSR\":128,\"S_IXUSR\":64,\"S_IRWXG\":56,\"S_IRGRP\":32,\"S_IWGRP\":16,\"S_IXGRP\":8,\"S_IRWXO\":7,\"S_IROTH\":4,\"S_IWOTH\":2,\"S_IXOTH\":1,\"E2BIG\":7,\"EACCES\":13,\"EADDRINUSE\":48,\"EADDRNOTAVAIL\":49,\"EAFNOSUPPORT\":47,\"EAGAIN\":35,\"EALREADY\":37,\"EBADF\":9,\"EBADMSG\":94,\"EBUSY\":16,\"ECANCELED\":89,\"ECHILD\":10,\"ECONNABORTED\":53,\"ECONNREFUSED\":61,\"ECONNRESET\":54,\"EDEADLK\":11,\"EDESTADDRREQ\":39,\"EDOM\":33,\"EDQUOT\":69,\"EEXIST\":17,\"EFAULT\":14,\"EFBIG\":27,\"EHOSTUNREACH\":65,\"EIDRM\":90,\"EILSEQ\":92,\"EINPROGRESS\":36,\"EINTR\":4,\"EINVAL\":22,\"EIO\":5,\"EISCONN\":56,\"EISDIR\":21,\"ELOOP\":62,\"EMFILE\":24,\"EMLINK\":31,\"EMSGSIZE\":40,\"EMULTIHOP\":95,\"ENAMETOOLONG\":63,\"ENETDOWN\":50,\"ENETRESET\":52,\"ENETUNREACH\":51,\"ENFILE\":23,\"ENOBUFS\":55,\"ENODATA\":96,\"ENODEV\":19,\"ENOENT\":2,\"ENOEXEC\":8,\"ENOLCK\":77,\"ENOLINK\":97,\"ENOMEM\":12,\"ENOMSG\":91,\"ENOPROTOOPT\":42,\"ENOSPC\":28,\"ENOSR\":98,\"ENOSTR\":99,\"ENOSYS\":78,\"ENOTCONN\":57,\"ENOTDIR\":20,\"ENOTEMPTY\":66,\"ENOTSOCK\":38,\"ENOTSUP\":45,\"ENOTTY\":25,\"ENXIO\":6,\"EOPNOTSUPP\":102,\"EOVERFLOW\":84,\"EPERM\":1,\"EPIPE\":32,\"EPROTO\":100,\"EPROTONOSUPPORT\":43,\"EPROTOTYPE\":41,\"ERANGE\":34,\"EROFS\":30,\"ESPIPE\":29,\"ESRCH\":3,\"ESTALE\":70,\"ETIME\":101,\"ETIMEDOUT\":60,\"ETXTBSY\":26,\"EWOULDBLOCK\":35,\"EXDEV\":18,\"SIGHUP\":1,\"SIGINT\":2,\"SIGQUIT\":3,\"SIGILL\":4,\"SIGTRAP\":5,\"SIGABRT\":6,\"SIGIOT\":6,\"SIGBUS\":10,\"SIGFPE\":8,\"SIGKILL\":9,\"SIGUSR1\":30,\"SIGSEGV\":11,\"SIGUSR2\":31,\"SIGPIPE\":13,\"SIGALRM\":14,\"SIGTERM\":15,\"SIGCHLD\":20,\"SIGCONT\":19,\"SIGSTOP\":17,\"SIGTSTP\":18,\"SIGTTIN\":21,\"SIGTTOU\":22,\"SIGURG\":16,\"SIGXCPU\":24,\"SIGXFSZ\":25,\"SIGVTALRM\":26,\"SIGPROF\":27,\"SIGWINCH\":28,\"SIGIO\":23,\"SIGSYS\":12,\"SSL_OP_ALL\":2147486719,\"SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION\":262144,\"SSL_OP_CIPHER_SERVER_PREFERENCE\":4194304,\"SSL_OP_CISCO_ANYCONNECT\":32768,\"SSL_OP_COOKIE_EXCHANGE\":8192,\"SSL_OP_CRYPTOPRO_TLSEXT_BUG\":2147483648,\"SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS\":2048,\"SSL_OP_EPHEMERAL_RSA\":0,\"SSL_OP_LEGACY_SERVER_CONNECT\":4,\"SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER\":32,\"SSL_OP_MICROSOFT_SESS_ID_BUG\":1,\"SSL_OP_MSIE_SSLV2_RSA_PADDING\":0,\"SSL_OP_NETSCAPE_CA_DN_BUG\":536870912,\"SSL_OP_NETSCAPE_CHALLENGE_BUG\":2,\"SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG\":1073741824,\"SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG\":8,\"SSL_OP_NO_COMPRESSION\":131072,\"SSL_OP_NO_QUERY_MTU\":4096,\"SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION\":65536,\"SSL_OP_NO_SSLv2\":16777216,\"SSL_OP_NO_SSLv3\":33554432,\"SSL_OP_NO_TICKET\":16384,\"SSL_OP_NO_TLSv1\":67108864,\"SSL_OP_NO_TLSv1_1\":268435456,\"SSL_OP_NO_TLSv1_2\":134217728,\"SSL_OP_PKCS1_CHECK_1\":0,\"SSL_OP_PKCS1_CHECK_2\":0,\"SSL_OP_SINGLE_DH_USE\":1048576,\"SSL_OP_SINGLE_ECDH_USE\":524288,\"SSL_OP_SSLEAY_080_CLIENT_DH_BUG\":128,\"SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG\":0,\"SSL_OP_TLS_BLOCK_PADDING_BUG\":512,\"SSL_OP_TLS_D5_BUG\":256,\"SSL_OP_TLS_ROLLBACK_BUG\":8388608,\"ENGINE_METHOD_DSA\":2,\"ENGINE_METHOD_DH\":4,\"ENGINE_METHOD_RAND\":8,\"ENGINE_METHOD_ECDH\":16,\"ENGINE_METHOD_ECDSA\":32,\"ENGINE_METHOD_CIPHERS\":64,\"ENGINE_METHOD_DIGESTS\":128,\"ENGINE_METHOD_STORE\":256,\"ENGINE_METHOD_PKEY_METHS\":512,\"ENGINE_METHOD_PKEY_ASN1_METHS\":1024,\"ENGINE_METHOD_ALL\":65535,\"ENGINE_METHOD_NONE\":0,\"DH_CHECK_P_NOT_SAFE_PRIME\":2,\"DH_CHECK_P_NOT_PRIME\":1,\"DH_UNABLE_TO_CHECK_GENERATOR\":4,\"DH_NOT_SUITABLE_GENERATOR\":8,\"NPN_ENABLED\":1,\"RSA_PKCS1_PADDING\":1,\"RSA_SSLV23_PADDING\":2,\"RSA_NO_PADDING\":3,\"RSA_PKCS1_OAEP_PADDING\":4,\"RSA_X931_PADDING\":5,\"RSA_PKCS1_PSS_PADDING\":6,\"POINT_CONVERSION_COMPRESSED\":2,\"POINT_CONVERSION_UNCOMPRESSED\":4,\"POINT_CONVERSION_HYBRID\":6,\"F_OK\":0,\"R_OK\":4,\"W_OK\":2,\"X_OK\":1,\"UV_UDP_REUSEADDR\":4}");
			}
		}, e = {};
		function r(n) {
			var i = e[n];
			if (void 0 !== i) return i.exports;
			var o = e[n] = { exports: {} };
			return t[n].call(o.exports, o, o.exports, r), o.exports;
		}
		return r.g = function() {
			if ("object" == typeof globalThis) return globalThis;
			try {
				return this || new Function("return this")();
			} catch (t) {
				if ("object" == typeof window) return window;
			}
		}(), r(7033);
	})()));
}));

//#endregion
//#region ../libs_drpy/abba.js
var import_node_rsa = /* @__PURE__ */ __toESM(require_node_rsa(), 1);
var import_gb18030 = /* @__PURE__ */ __toESM(require_gb18030(), 1);
var import_json5 = /* @__PURE__ */ __toESM(require_json5(), 1);
var import_jsencrypt = /* @__PURE__ */ __toESM(require_jsencrypt(), 1);
var import_jinja = /* @__PURE__ */ __toESM(require_jinja(), 1);
var import_random_http_ua = /* @__PURE__ */ __toESM(require_random_http_ua(), 1);
var import_crypto_js$1 = /* @__PURE__ */ __toESM(require_crypto_js$1(), 1);
var import_pako_min = /* @__PURE__ */ __toESM(require_pako_min(), 1);
const keystr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
/**
* Implementation of atob() according to the HTML and Infra specs, except that
* instead of throwing INVALID_CHARACTER_ERR we return null.
*/
function atob$3(data) {
	if (arguments.length === 0) {
		throw new TypeError("1 argument required, but only 0 present.");
	}
	data = `${data}`;
	data = data.replace(/[ \t\n\f\r]/g, "");
	if (data.length % 4 === 0) {
		data = data.replace(/==?$/, "");
	}
	if (data.length % 4 === 1 || /[^+/0-9A-Za-z]/.test(data)) {
		throw new DOMException("Failed to decode base64: invalid character", "InvalidCharacterError");
	}
	let output = "";
	let buffer = 0;
	let accumulatedBits = 0;
	for (let i = 0; i < data.length; i++) {
		buffer <<= 6;
		buffer |= atobLookup(data[i]);
		accumulatedBits += 6;
		if (accumulatedBits === 24) {
			output += String.fromCharCode((buffer & 16711680) >> 16);
			output += String.fromCharCode((buffer & 65280) >> 8);
			output += String.fromCharCode(buffer & 255);
			buffer = accumulatedBits = 0;
		}
	}
	if (accumulatedBits === 12) {
		buffer >>= 4;
		output += String.fromCharCode(buffer);
	} else if (accumulatedBits === 18) {
		buffer >>= 2;
		output += String.fromCharCode((buffer & 65280) >> 8);
		output += String.fromCharCode(buffer & 255);
	}
	return output;
}
/**
* A lookup table for atob(), which converts an ASCII character to the
* corresponding six-bit number.
*/
function atobLookup(chr) {
	const index = keystr.indexOf(chr);
	return index < 0 ? undefined : index;
}
/**
* btoa() as defined by the HTML and Infra specs, which mostly just references
* RFC 4648.
*/
function btoa$3(s) {
	if (arguments.length === 0) {
		throw new TypeError("1 argument required, but only 0 present.");
	}
	let i;
	s = `${s}`;
	for (i = 0; i < s.length; i++) {
		if (s.charCodeAt(i) > 255) {
			throw new DOMException("The string to be encoded contains characters outside of the Latin1 range.", "InvalidCharacterError");
		}
	}
	let out = "";
	for (i = 0; i < s.length; i += 3) {
		const groupsOfSix = [
			undefined,
			undefined,
			undefined,
			undefined
		];
		groupsOfSix[0] = s.charCodeAt(i) >> 2;
		groupsOfSix[1] = (s.charCodeAt(i) & 3) << 4;
		if (s.length > i + 1) {
			groupsOfSix[1] |= s.charCodeAt(i + 1) >> 4;
			groupsOfSix[2] = (s.charCodeAt(i + 1) & 15) << 2;
		}
		if (s.length > i + 2) {
			groupsOfSix[2] |= s.charCodeAt(i + 2) >> 6;
			groupsOfSix[3] = s.charCodeAt(i + 2) & 63;
		}
		for (let j = 0; j < groupsOfSix.length; j++) {
			if (typeof groupsOfSix[j] === "undefined") {
				out += "=";
			} else {
				out += btoaLookup(groupsOfSix[j]);
			}
		}
	}
	return out;
}
/**
* Lookup table for btoa(), which converts a six-bit number into the
* corresponding ASCII character.
*/
function btoaLookup(index) {
	if (index >= 0 && index < 64) {
		return keystr[index];
	}
	return undefined;
}
globalThis.atob = atob$3;
globalThis.btoa = btoa$3;

//#endregion
//#region shim.js
global.pako = import_pako_min.default;
global.CryptoJS = import_crypto_js$1.default;
global.randomUa = import_random_http_ua.default;
global.jinja = import_jinja.render ? import_jinja : import_jinja.default || import_jinja;
global.JSEncrypt = import_jsencrypt.default;
global.JSON5 = import_json5.default;
global.gbkTool = import_gb18030.default;
global.NODERSA = import_node_rsa.default;
global.atob = atob$3;
global.btoa = btoa$3;

//#endregion
//#region ../utils/api_helper.js
/**
* API辅助工具模块
* 提供文件监听、引擎选择等API相关的辅助功能
* 支持热重载和多种引擎类型的动态选择
*/
let jsonWatcher = null;
let debounceTimers = new Map();
/**
* 启动JSON文件监听器
* 在开发环境下监听JSON文件变化，自动清除模块缓存实现热重载
* @param {Object} ENGINES - 引擎对象集合
* @param {string} jsonDir - 要监听的JSON文件目录路径
*/
function startJsonWatcher(ENGINES, jsonDir) {
	if (process.env.NODE_ENV !== "development") return;
	try {
		jsonWatcher = watch(jsonDir, { recursive: true }, (eventType, filename) => {
			if (filename && filename.endsWith(".json")) {
				if (debounceTimers.has(filename)) {
					clearTimeout(debounceTimers.get(filename));
				}
				const timer = setTimeout(() => {
					console.log(`[HotReload] ${filename} changed, clearing cache...`);
					ENGINES.drpyS.clearAllCache();
					debounceTimers.delete(filename);
				}, 100);
				debounceTimers.set(filename, timer);
			}
		});
	} catch (error) {
		console.error("start json file listening failed with error:", error);
	}
}
/**
* 根据适配器类型获取对应的API引擎
* 支持多种引擎类型：py(hipy)、cat(catvod)、xbpq、默认(drpyS)
* @param {Object} engines - 所有可用的引擎对象
* @param {string} moduleName - 模块名称
* @param {Object} query - 查询参数对象
* @param {Object} options - 配置选项，包含各种目录路径
* @returns {Object} 包含引擎、目录、扩展名和模块路径的对象
*/
function getApiEngine(engines, moduleName, query, options) {
	const adapt = query.do;
	let apiEngine;
	let moduleDir;
	let _ext;
	switch (adapt) {
		case "py":
			apiEngine = engines.hipy;
			moduleDir = options.pyDir;
			_ext = ".py";
			break;
		case "php":
			apiEngine = engines.php;
			moduleDir = options.phpDir;
			_ext = ".php";
			break;
		case "cat":
			apiEngine = engines.catvod;
			moduleDir = options.catDir;
			_ext = ".js";
			break;
		case "xbpq":
			apiEngine = engines.xbpq;
			moduleDir = options.xbpqDir;
			_ext = ".json";
			break;
		default:
			apiEngine = engines.drpyS;
			moduleDir = options.jsDir;
			_ext = ".js";
	}
	const modulePath = path.join(moduleDir, `${moduleName}${_ext}`);
	return {
		apiEngine,
		moduleDir,
		_ext,
		modulePath
	};
}

//#endregion
//#region ../node_modules/xmlhttprequest/lib/XMLHttpRequest.js
var require_XMLHttpRequest = /* @__PURE__ */ __commonJSMin(((exports) => {
	/**
	* Wrapper for built-in http.js to emulate the browser XMLHttpRequest object.
	*
	* This can be used with JS designed for browsers to improve reuse of code and
	* allow the use of existing libraries.
	*
	* Usage: include("XMLHttpRequest.js") and use XMLHttpRequest per W3C specs.
	*
	* @author Dan DeFelippi <dan@driverdan.com>
	* @contributor David Ellis <d.f.ellis@ieee.org>
	* @license MIT
	*/
	var Url = __require("url");
	var spawn = __require("child_process").spawn;
	var fs$6 = __require("fs");
	exports.XMLHttpRequest = function() {
		"use strict";
		/**
		* Private variables
		*/
		var self = this;
		var http = __require("http");
		var https = __require("https");
		var request;
		var response;
		var settings = {};
		var disableHeaderCheck = false;
		var defaultHeaders = {
			"User-Agent": "node-XMLHttpRequest",
			"Accept": "*/*"
		};
		var headers = {};
		var headersCase = {};
		var forbiddenRequestHeaders = [
			"accept-charset",
			"accept-encoding",
			"access-control-request-headers",
			"access-control-request-method",
			"connection",
			"content-length",
			"content-transfer-encoding",
			"cookie",
			"cookie2",
			"date",
			"expect",
			"host",
			"keep-alive",
			"origin",
			"referer",
			"te",
			"trailer",
			"transfer-encoding",
			"upgrade",
			"via"
		];
		var forbiddenRequestMethods = [
			"TRACE",
			"TRACK",
			"CONNECT"
		];
		var sendFlag = false;
		var errorFlag = false;
		var listeners = {};
		/**
		* Constants
		*/
		this.UNSENT = 0;
		this.OPENED = 1;
		this.HEADERS_RECEIVED = 2;
		this.LOADING = 3;
		this.DONE = 4;
		/**
		* Public vars
		*/
		this.readyState = this.UNSENT;
		this.onreadystatechange = null;
		this.responseText = "";
		this.responseXML = "";
		this.status = null;
		this.statusText = null;
		this.withCredentials = false;
		/**
		* Private methods
		*/
		/**
		* Check if the specified header is allowed.
		*
		* @param string header Header to validate
		* @return boolean False if not allowed, otherwise true
		*/
		var isAllowedHttpHeader = function(header) {
			return disableHeaderCheck || header && forbiddenRequestHeaders.indexOf(header.toLowerCase()) === -1;
		};
		/**
		* Check if the specified method is allowed.
		*
		* @param string method Request method to validate
		* @return boolean False if not allowed, otherwise true
		*/
		var isAllowedHttpMethod = function(method) {
			return method && forbiddenRequestMethods.indexOf(method) === -1;
		};
		/**
		* Public methods
		*/
		/**
		* Open the connection. Currently supports local server requests.
		*
		* @param string method Connection method (eg GET, POST)
		* @param string url URL for the connection.
		* @param boolean async Asynchronous connection. Default is true.
		* @param string user Username for basic authentication (optional)
		* @param string password Password for basic authentication (optional)
		*/
		this.open = function(method, url, async, user, password) {
			this.abort();
			errorFlag = false;
			if (!isAllowedHttpMethod(method)) {
				throw new Error("SecurityError: Request method not allowed");
			}
			settings = {
				"method": method,
				"url": url.toString(),
				"async": typeof async !== "boolean" ? true : async,
				"user": user || null,
				"password": password || null
			};
			setState(this.OPENED);
		};
		/**
		* Disables or enables isAllowedHttpHeader() check the request. Enabled by default.
		* This does not conform to the W3C spec.
		*
		* @param boolean state Enable or disable header checking.
		*/
		this.setDisableHeaderCheck = function(state) {
			disableHeaderCheck = state;
		};
		/**
		* Sets a header for the request or appends the value if one is already set.
		*
		* @param string header Header name
		* @param string value Header value
		*/
		this.setRequestHeader = function(header, value) {
			if (this.readyState !== this.OPENED) {
				throw new Error("INVALID_STATE_ERR: setRequestHeader can only be called when state is OPEN");
			}
			if (!isAllowedHttpHeader(header)) {
				console.warn("Refused to set unsafe header \"" + header + "\"");
				return;
			}
			if (sendFlag) {
				throw new Error("INVALID_STATE_ERR: send flag is true");
			}
			header = headersCase[header.toLowerCase()] || header;
			headersCase[header.toLowerCase()] = header;
			headers[header] = headers[header] ? headers[header] + ", " + value : value;
		};
		/**
		* Gets a header from the server response.
		*
		* @param string header Name of header to get.
		* @return string Text of the header or null if it doesn't exist.
		*/
		this.getResponseHeader = function(header) {
			if (typeof header === "string" && this.readyState > this.OPENED && response && response.headers && response.headers[header.toLowerCase()] && !errorFlag) {
				return response.headers[header.toLowerCase()];
			}
			return null;
		};
		/**
		* Gets all the response headers.
		*
		* @return string A string with all response headers separated by CR+LF
		*/
		this.getAllResponseHeaders = function() {
			if (this.readyState < this.HEADERS_RECEIVED || errorFlag) {
				return "";
			}
			var result = "";
			for (var i in response.headers) {
				if (i !== "set-cookie" && i !== "set-cookie2") {
					result += i + ": " + response.headers[i] + "\r\n";
				}
			}
			return result.substr(0, result.length - 2);
		};
		/**
		* Gets a request header
		*
		* @param string name Name of header to get
		* @return string Returns the request header or empty string if not set
		*/
		this.getRequestHeader = function(name) {
			if (typeof name === "string" && headersCase[name.toLowerCase()]) {
				return headers[headersCase[name.toLowerCase()]];
			}
			return "";
		};
		/**
		* Sends the request to the server.
		*
		* @param string data Optional data to send as request body.
		*/
		this.send = function(data) {
			if (this.readyState !== this.OPENED) {
				throw new Error("INVALID_STATE_ERR: connection must be opened before send() is called");
			}
			if (sendFlag) {
				throw new Error("INVALID_STATE_ERR: send has already been called");
			}
			var ssl = false, local = false;
			var url = Url.parse(settings.url);
			var host;
			switch (url.protocol) {
				case "https:": ssl = true;
				case "http:":
					host = url.hostname;
					break;
				case "file:":
					local = true;
					break;
				case undefined:
				case null:
				case "":
					host = "localhost";
					break;
				default: throw new Error("Protocol not supported.");
			}
			if (local) {
				if (settings.method !== "GET") {
					throw new Error("XMLHttpRequest: Only GET method is supported");
				}
				if (settings.async) {
					fs$6.readFile(url.pathname, "utf8", function(error, data) {
						if (error) {
							self.handleError(error);
						} else {
							self.status = 200;
							self.responseText = data;
							setState(self.DONE);
						}
					});
				} else {
					try {
						this.responseText = fs$6.readFileSync(url.pathname, "utf8");
						this.status = 200;
						setState(self.DONE);
					} catch (e) {
						this.handleError(e);
					}
				}
				return;
			}
			var port = url.port || (ssl ? 443 : 80);
			var uri = url.pathname + (url.search ? url.search : "");
			for (var name in defaultHeaders) {
				if (!headersCase[name.toLowerCase()]) {
					headers[name] = defaultHeaders[name];
				}
			}
			headers.Host = host;
			if (!(ssl && port === 443 || port === 80)) {
				headers.Host += ":" + url.port;
			}
			if (settings.user) {
				if (typeof settings.password === "undefined") {
					settings.password = "";
				}
				var authBuf = new Buffer(settings.user + ":" + settings.password);
				headers.Authorization = "Basic " + authBuf.toString("base64");
			}
			if (settings.method === "GET" || settings.method === "HEAD") {
				data = null;
			} else if (data) {
				headers["Content-Length"] = Buffer.isBuffer(data) ? data.length : Buffer.byteLength(data);
				if (!headers["Content-Type"]) {
					headers["Content-Type"] = "text/plain;charset=UTF-8";
				}
			} else if (settings.method === "POST") {
				headers["Content-Length"] = 0;
			}
			var options = {
				host,
				port,
				path: uri,
				method: settings.method,
				headers,
				agent: false,
				withCredentials: self.withCredentials
			};
			errorFlag = false;
			if (settings.async) {
				var doRequest = ssl ? https.request : http.request;
				sendFlag = true;
				self.dispatchEvent("readystatechange");
				var responseHandler = function responseHandler(resp) {
					response = resp;
					if (response.statusCode === 301 || response.statusCode === 302 || response.statusCode === 303 || response.statusCode === 307) {
						settings.url = response.headers.location;
						var url = Url.parse(settings.url);
						host = url.hostname;
						var newOptions = {
							hostname: url.hostname,
							port: url.port,
							path: url.path,
							method: response.statusCode === 303 ? "GET" : settings.method,
							headers,
							withCredentials: self.withCredentials
						};
						request = doRequest(newOptions, responseHandler).on("error", errorHandler);
						request.end();
						return;
					}
					response.setEncoding("utf8");
					setState(self.HEADERS_RECEIVED);
					self.status = response.statusCode;
					response.on("data", function(chunk) {
						if (chunk) {
							self.responseText += chunk;
						}
						if (sendFlag) {
							setState(self.LOADING);
						}
					});
					response.on("end", function() {
						if (sendFlag) {
							setState(self.DONE);
							sendFlag = false;
						}
					});
					response.on("error", function(error) {
						self.handleError(error);
					});
				};
				var errorHandler = function errorHandler(error) {
					self.handleError(error);
				};
				request = doRequest(options, responseHandler).on("error", errorHandler);
				if (data) {
					request.write(data);
				}
				request.end();
				self.dispatchEvent("loadstart");
			} else {
				var contentFile = ".node-xmlhttprequest-content-" + process.pid;
				var syncFile = ".node-xmlhttprequest-sync-" + process.pid;
				fs$6.writeFileSync(syncFile, "", "utf8");
				var execString = "var http = require('http'), https = require('https'), fs = require('fs');" + "var doRequest = http" + (ssl ? "s" : "") + ".request;" + "var options = " + JSON.stringify(options) + ";" + "var responseText = '';" + "var req = doRequest(options, function(response) {" + "response.setEncoding('utf8');" + "response.on('data', function(chunk) {" + "  responseText += chunk;" + "});" + "response.on('end', function() {" + "fs.writeFileSync('" + contentFile + "', JSON.stringify({err: null, data: {statusCode: response.statusCode, headers: response.headers, text: responseText}}), 'utf8');" + "fs.unlinkSync('" + syncFile + "');" + "});" + "response.on('error', function(error) {" + "fs.writeFileSync('" + contentFile + "', JSON.stringify({err: error}), 'utf8');" + "fs.unlinkSync('" + syncFile + "');" + "});" + "}).on('error', function(error) {" + "fs.writeFileSync('" + contentFile + "', JSON.stringify({err: error}), 'utf8');" + "fs.unlinkSync('" + syncFile + "');" + "});" + (data ? "req.write('" + JSON.stringify(data).slice(1, -1).replace(/'/g, "\\'") + "');" : "") + "req.end();";
				var syncProc = spawn(process.argv[0], ["-e", execString]);
				while (fs$6.existsSync(syncFile)) {}
				var resp = JSON.parse(fs$6.readFileSync(contentFile, "utf8"));
				syncProc.stdin.end();
				fs$6.unlinkSync(contentFile);
				if (resp.err) {
					self.handleError(resp.err);
				} else {
					response = resp.data;
					self.status = resp.data.statusCode;
					self.responseText = resp.data.text;
					setState(self.DONE);
				}
			}
		};
		/**
		* Called when an error is encountered to deal with it.
		*/
		this.handleError = function(error) {
			this.status = 0;
			this.statusText = error;
			this.responseText = error.stack;
			errorFlag = true;
			setState(this.DONE);
			this.dispatchEvent("error");
		};
		/**
		* Aborts a request.
		*/
		this.abort = function() {
			if (request) {
				request.abort();
				request = null;
			}
			headers = defaultHeaders;
			this.status = 0;
			this.responseText = "";
			this.responseXML = "";
			errorFlag = true;
			if (this.readyState !== this.UNSENT && (this.readyState !== this.OPENED || sendFlag) && this.readyState !== this.DONE) {
				sendFlag = false;
				setState(this.DONE);
			}
			this.readyState = this.UNSENT;
			this.dispatchEvent("abort");
		};
		/**
		* Adds an event listener. Preferred method of binding to events.
		*/
		this.addEventListener = function(event, callback) {
			if (!(event in listeners)) {
				listeners[event] = [];
			}
			listeners[event].push(callback);
		};
		/**
		* Remove an event callback that has already been bound.
		* Only works on the matching funciton, cannot be a copy.
		*/
		this.removeEventListener = function(event, callback) {
			if (event in listeners) {
				listeners[event] = listeners[event].filter(function(ev) {
					return ev !== callback;
				});
			}
		};
		/**
		* Dispatch any events, including both "on" methods and events attached using addEventListener.
		*/
		this.dispatchEvent = function(event) {
			if (typeof self["on" + event] === "function") {
				self["on" + event]();
			}
			if (event in listeners) {
				for (var i = 0, len = listeners[event].length; i < len; i++) {
					listeners[event][i].call(self);
				}
			}
		};
		/**
		* Changes readyState and calls onreadystatechange.
		*
		* @param int state New state
		*/
		var setState = function(state) {
			if (state == self.LOADING || self.readyState !== state) {
				self.readyState = state;
				if (settings.async || self.readyState < self.OPENED || self.readyState === self.DONE) {
					self.dispatchEvent("readystatechange");
				}
				if (self.readyState === self.DONE && !errorFlag) {
					self.dispatchEvent("load");
					self.dispatchEvent("loadend");
				}
			}
		};
	};
}));

//#endregion
//#region ../node_modules/ws/lib/constants.js
var require_constants$7 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const BINARY_TYPES = [
		"nodebuffer",
		"arraybuffer",
		"fragments"
	];
	const hasBlob = typeof Blob !== "undefined";
	if (hasBlob) BINARY_TYPES.push("blob");
	module.exports = {
		BINARY_TYPES,
		EMPTY_BUFFER: Buffer.alloc(0),
		GUID: "258EAFA5-E914-47DA-95CA-C5AB0DC85B11",
		hasBlob,
		kForOnEventAttribute: Symbol("kIsForOnEventAttribute"),
		kListener: Symbol("kListener"),
		kStatusCode: Symbol("status-code"),
		kWebSocket: Symbol("websocket"),
		NOOP: () => {}
	};
}));

//#endregion
//#region ../node_modules/ws/lib/buffer-util.js
var require_buffer_util = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { EMPTY_BUFFER } = require_constants$7();
	const FastBuffer = Buffer[Symbol.species];
	/**
	* Merges an array of buffers into a new buffer.
	*
	* @param {Buffer[]} list The array of buffers to concat
	* @param {Number} totalLength The total length of buffers in the list
	* @return {Buffer} The resulting buffer
	* @public
	*/
	function concat(list, totalLength) {
		if (list.length === 0) return EMPTY_BUFFER;
		if (list.length === 1) return list[0];
		const target = Buffer.allocUnsafe(totalLength);
		let offset = 0;
		for (let i = 0; i < list.length; i++) {
			const buf = list[i];
			target.set(buf, offset);
			offset += buf.length;
		}
		if (offset < totalLength) {
			return new FastBuffer(target.buffer, target.byteOffset, offset);
		}
		return target;
	}
	/**
	* Masks a buffer using the given mask.
	*
	* @param {Buffer} source The buffer to mask
	* @param {Buffer} mask The mask to use
	* @param {Buffer} output The buffer where to store the result
	* @param {Number} offset The offset at which to start writing
	* @param {Number} length The number of bytes to mask.
	* @public
	*/
	function _mask(source, mask, output, offset, length) {
		for (let i = 0; i < length; i++) {
			output[offset + i] = source[i] ^ mask[i & 3];
		}
	}
	/**
	* Unmasks a buffer using the given mask.
	*
	* @param {Buffer} buffer The buffer to unmask
	* @param {Buffer} mask The mask to use
	* @public
	*/
	function _unmask(buffer, mask) {
		for (let i = 0; i < buffer.length; i++) {
			buffer[i] ^= mask[i & 3];
		}
	}
	/**
	* Converts a buffer to an `ArrayBuffer`.
	*
	* @param {Buffer} buf The buffer to convert
	* @return {ArrayBuffer} Converted buffer
	* @public
	*/
	function toArrayBuffer(buf) {
		if (buf.length === buf.buffer.byteLength) {
			return buf.buffer;
		}
		return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.length);
	}
	/**
	* Converts `data` to a `Buffer`.
	*
	* @param {*} data The data to convert
	* @return {Buffer} The buffer
	* @throws {TypeError}
	* @public
	*/
	function toBuffer(data) {
		toBuffer.readOnly = true;
		if (Buffer.isBuffer(data)) return data;
		let buf;
		if (data instanceof ArrayBuffer) {
			buf = new FastBuffer(data);
		} else if (ArrayBuffer.isView(data)) {
			buf = new FastBuffer(data.buffer, data.byteOffset, data.byteLength);
		} else {
			buf = Buffer.from(data);
			toBuffer.readOnly = false;
		}
		return buf;
	}
	module.exports = {
		concat,
		mask: _mask,
		toArrayBuffer,
		toBuffer,
		unmask: _unmask
	};
	/* istanbul ignore else  */
	if (!process.env.WS_NO_BUFFER_UTIL) {
		try {
			const bufferUtil = __require("bufferutil");
			module.exports.mask = function(source, mask, output, offset, length) {
				if (length < 48) _mask(source, mask, output, offset, length);
				else bufferUtil.mask(source, mask, output, offset, length);
			};
			module.exports.unmask = function(buffer, mask) {
				if (buffer.length < 32) _unmask(buffer, mask);
				else bufferUtil.unmask(buffer, mask);
			};
		} catch (e) {}
	}
}));

//#endregion
//#region ../node_modules/ws/lib/limiter.js
var require_limiter = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const kDone = Symbol("kDone");
	const kRun = Symbol("kRun");
	/**
	* A very simple job queue with adjustable concurrency. Adapted from
	* https://github.com/STRML/async-limiter
	*/
	var Limiter = class {
		/**
		* Creates a new `Limiter`.
		*
		* @param {Number} [concurrency=Infinity] The maximum number of jobs allowed
		*     to run concurrently
		*/
		constructor(concurrency) {
			this[kDone] = () => {
				this.pending--;
				this[kRun]();
			};
			this.concurrency = concurrency || Infinity;
			this.jobs = [];
			this.pending = 0;
		}
		/**
		* Adds a job to the queue.
		*
		* @param {Function} job The job to run
		* @public
		*/
		add(job) {
			this.jobs.push(job);
			this[kRun]();
		}
		/**
		* Removes a job from the queue and runs it if possible.
		*
		* @private
		*/
		[kRun]() {
			if (this.pending === this.concurrency) return;
			if (this.jobs.length) {
				const job = this.jobs.shift();
				this.pending++;
				job(this[kDone]);
			}
		}
	};
	module.exports = Limiter;
}));

//#endregion
//#region ../node_modules/ws/lib/permessage-deflate.js
var require_permessage_deflate$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const zlib$3 = __require("zlib");
	const bufferUtil = require_buffer_util();
	const Limiter = require_limiter();
	const { kStatusCode } = require_constants$7();
	const FastBuffer = Buffer[Symbol.species];
	const TRAILER = Buffer.from([
		0,
		0,
		255,
		255
	]);
	const kPerMessageDeflate = Symbol("permessage-deflate");
	const kTotalLength = Symbol("total-length");
	const kCallback = Symbol("callback");
	const kBuffers = Symbol("buffers");
	const kError = Symbol("error");
	let zlibLimiter;
	/**
	* permessage-deflate implementation.
	*/
	var PerMessageDeflate = class {
		/**
		* Creates a PerMessageDeflate instance.
		*
		* @param {Object} [options] Configuration options
		* @param {(Boolean|Number)} [options.clientMaxWindowBits] Advertise support
		*     for, or request, a custom client window size
		* @param {Boolean} [options.clientNoContextTakeover=false] Advertise/
		*     acknowledge disabling of client context takeover
		* @param {Number} [options.concurrencyLimit=10] The number of concurrent
		*     calls to zlib
		* @param {(Boolean|Number)} [options.serverMaxWindowBits] Request/confirm the
		*     use of a custom server window size
		* @param {Boolean} [options.serverNoContextTakeover=false] Request/accept
		*     disabling of server context takeover
		* @param {Number} [options.threshold=1024] Size (in bytes) below which
		*     messages should not be compressed if context takeover is disabled
		* @param {Object} [options.zlibDeflateOptions] Options to pass to zlib on
		*     deflate
		* @param {Object} [options.zlibInflateOptions] Options to pass to zlib on
		*     inflate
		* @param {Boolean} [isServer=false] Create the instance in either server or
		*     client mode
		* @param {Number} [maxPayload=0] The maximum allowed message length
		*/
		constructor(options, isServer, maxPayload) {
			this._maxPayload = maxPayload | 0;
			this._options = options || {};
			this._threshold = this._options.threshold !== undefined ? this._options.threshold : 1024;
			this._isServer = !!isServer;
			this._deflate = null;
			this._inflate = null;
			this.params = null;
			if (!zlibLimiter) {
				const concurrency = this._options.concurrencyLimit !== undefined ? this._options.concurrencyLimit : 10;
				zlibLimiter = new Limiter(concurrency);
			}
		}
		/**
		* @type {String}
		*/
		static get extensionName() {
			return "permessage-deflate";
		}
		/**
		* Create an extension negotiation offer.
		*
		* @return {Object} Extension parameters
		* @public
		*/
		offer() {
			const params = {};
			if (this._options.serverNoContextTakeover) {
				params.server_no_context_takeover = true;
			}
			if (this._options.clientNoContextTakeover) {
				params.client_no_context_takeover = true;
			}
			if (this._options.serverMaxWindowBits) {
				params.server_max_window_bits = this._options.serverMaxWindowBits;
			}
			if (this._options.clientMaxWindowBits) {
				params.client_max_window_bits = this._options.clientMaxWindowBits;
			} else if (this._options.clientMaxWindowBits == null) {
				params.client_max_window_bits = true;
			}
			return params;
		}
		/**
		* Accept an extension negotiation offer/response.
		*
		* @param {Array} configurations The extension negotiation offers/reponse
		* @return {Object} Accepted configuration
		* @public
		*/
		accept(configurations) {
			configurations = this.normalizeParams(configurations);
			this.params = this._isServer ? this.acceptAsServer(configurations) : this.acceptAsClient(configurations);
			return this.params;
		}
		/**
		* Releases all resources used by the extension.
		*
		* @public
		*/
		cleanup() {
			if (this._inflate) {
				this._inflate.close();
				this._inflate = null;
			}
			if (this._deflate) {
				const callback = this._deflate[kCallback];
				this._deflate.close();
				this._deflate = null;
				if (callback) {
					callback(new Error("The deflate stream was closed while data was being processed"));
				}
			}
		}
		/**
		*  Accept an extension negotiation offer.
		*
		* @param {Array} offers The extension negotiation offers
		* @return {Object} Accepted configuration
		* @private
		*/
		acceptAsServer(offers) {
			const opts = this._options;
			const accepted = offers.find((params) => {
				if (opts.serverNoContextTakeover === false && params.server_no_context_takeover || params.server_max_window_bits && (opts.serverMaxWindowBits === false || typeof opts.serverMaxWindowBits === "number" && opts.serverMaxWindowBits > params.server_max_window_bits) || typeof opts.clientMaxWindowBits === "number" && !params.client_max_window_bits) {
					return false;
				}
				return true;
			});
			if (!accepted) {
				throw new Error("None of the extension offers can be accepted");
			}
			if (opts.serverNoContextTakeover) {
				accepted.server_no_context_takeover = true;
			}
			if (opts.clientNoContextTakeover) {
				accepted.client_no_context_takeover = true;
			}
			if (typeof opts.serverMaxWindowBits === "number") {
				accepted.server_max_window_bits = opts.serverMaxWindowBits;
			}
			if (typeof opts.clientMaxWindowBits === "number") {
				accepted.client_max_window_bits = opts.clientMaxWindowBits;
			} else if (accepted.client_max_window_bits === true || opts.clientMaxWindowBits === false) {
				delete accepted.client_max_window_bits;
			}
			return accepted;
		}
		/**
		* Accept the extension negotiation response.
		*
		* @param {Array} response The extension negotiation response
		* @return {Object} Accepted configuration
		* @private
		*/
		acceptAsClient(response) {
			const params = response[0];
			if (this._options.clientNoContextTakeover === false && params.client_no_context_takeover) {
				throw new Error("Unexpected parameter \"client_no_context_takeover\"");
			}
			if (!params.client_max_window_bits) {
				if (typeof this._options.clientMaxWindowBits === "number") {
					params.client_max_window_bits = this._options.clientMaxWindowBits;
				}
			} else if (this._options.clientMaxWindowBits === false || typeof this._options.clientMaxWindowBits === "number" && params.client_max_window_bits > this._options.clientMaxWindowBits) {
				throw new Error("Unexpected or invalid parameter \"client_max_window_bits\"");
			}
			return params;
		}
		/**
		* Normalize parameters.
		*
		* @param {Array} configurations The extension negotiation offers/reponse
		* @return {Array} The offers/response with normalized parameters
		* @private
		*/
		normalizeParams(configurations) {
			configurations.forEach((params) => {
				Object.keys(params).forEach((key) => {
					let value = params[key];
					if (value.length > 1) {
						throw new Error(`Parameter "${key}" must have only a single value`);
					}
					value = value[0];
					if (key === "client_max_window_bits") {
						if (value !== true) {
							const num = +value;
							if (!Number.isInteger(num) || num < 8 || num > 15) {
								throw new TypeError(`Invalid value for parameter "${key}": ${value}`);
							}
							value = num;
						} else if (!this._isServer) {
							throw new TypeError(`Invalid value for parameter "${key}": ${value}`);
						}
					} else if (key === "server_max_window_bits") {
						const num = +value;
						if (!Number.isInteger(num) || num < 8 || num > 15) {
							throw new TypeError(`Invalid value for parameter "${key}": ${value}`);
						}
						value = num;
					} else if (key === "client_no_context_takeover" || key === "server_no_context_takeover") {
						if (value !== true) {
							throw new TypeError(`Invalid value for parameter "${key}": ${value}`);
						}
					} else {
						throw new Error(`Unknown parameter "${key}"`);
					}
					params[key] = value;
				});
			});
			return configurations;
		}
		/**
		* Decompress data. Concurrency limited.
		*
		* @param {Buffer} data Compressed data
		* @param {Boolean} fin Specifies whether or not this is the last fragment
		* @param {Function} callback Callback
		* @public
		*/
		decompress(data, fin, callback) {
			zlibLimiter.add((done) => {
				this._decompress(data, fin, (err, result) => {
					done();
					callback(err, result);
				});
			});
		}
		/**
		* Compress data. Concurrency limited.
		*
		* @param {(Buffer|String)} data Data to compress
		* @param {Boolean} fin Specifies whether or not this is the last fragment
		* @param {Function} callback Callback
		* @public
		*/
		compress(data, fin, callback) {
			zlibLimiter.add((done) => {
				this._compress(data, fin, (err, result) => {
					done();
					callback(err, result);
				});
			});
		}
		/**
		* Decompress data.
		*
		* @param {Buffer} data Compressed data
		* @param {Boolean} fin Specifies whether or not this is the last fragment
		* @param {Function} callback Callback
		* @private
		*/
		_decompress(data, fin, callback) {
			const endpoint = this._isServer ? "client" : "server";
			if (!this._inflate) {
				const key = `${endpoint}_max_window_bits`;
				const windowBits = typeof this.params[key] !== "number" ? zlib$3.Z_DEFAULT_WINDOWBITS : this.params[key];
				this._inflate = zlib$3.createInflateRaw({
					...this._options.zlibInflateOptions,
					windowBits
				});
				this._inflate[kPerMessageDeflate] = this;
				this._inflate[kTotalLength] = 0;
				this._inflate[kBuffers] = [];
				this._inflate.on("error", inflateOnError);
				this._inflate.on("data", inflateOnData);
			}
			this._inflate[kCallback] = callback;
			this._inflate.write(data);
			if (fin) this._inflate.write(TRAILER);
			this._inflate.flush(() => {
				const err = this._inflate[kError];
				if (err) {
					this._inflate.close();
					this._inflate = null;
					callback(err);
					return;
				}
				const data = bufferUtil.concat(this._inflate[kBuffers], this._inflate[kTotalLength]);
				if (this._inflate._readableState.endEmitted) {
					this._inflate.close();
					this._inflate = null;
				} else {
					this._inflate[kTotalLength] = 0;
					this._inflate[kBuffers] = [];
					if (fin && this.params[`${endpoint}_no_context_takeover`]) {
						this._inflate.reset();
					}
				}
				callback(null, data);
			});
		}
		/**
		* Compress data.
		*
		* @param {(Buffer|String)} data Data to compress
		* @param {Boolean} fin Specifies whether or not this is the last fragment
		* @param {Function} callback Callback
		* @private
		*/
		_compress(data, fin, callback) {
			const endpoint = this._isServer ? "server" : "client";
			if (!this._deflate) {
				const key = `${endpoint}_max_window_bits`;
				const windowBits = typeof this.params[key] !== "number" ? zlib$3.Z_DEFAULT_WINDOWBITS : this.params[key];
				this._deflate = zlib$3.createDeflateRaw({
					...this._options.zlibDeflateOptions,
					windowBits
				});
				this._deflate[kTotalLength] = 0;
				this._deflate[kBuffers] = [];
				this._deflate.on("data", deflateOnData);
			}
			this._deflate[kCallback] = callback;
			this._deflate.write(data);
			this._deflate.flush(zlib$3.Z_SYNC_FLUSH, () => {
				if (!this._deflate) {
					return;
				}
				let data = bufferUtil.concat(this._deflate[kBuffers], this._deflate[kTotalLength]);
				if (fin) {
					data = new FastBuffer(data.buffer, data.byteOffset, data.length - 4);
				}
				this._deflate[kCallback] = null;
				this._deflate[kTotalLength] = 0;
				this._deflate[kBuffers] = [];
				if (fin && this.params[`${endpoint}_no_context_takeover`]) {
					this._deflate.reset();
				}
				callback(null, data);
			});
		}
	};
	module.exports = PerMessageDeflate;
	/**
	* The listener of the `zlib.DeflateRaw` stream `'data'` event.
	*
	* @param {Buffer} chunk A chunk of data
	* @private
	*/
	function deflateOnData(chunk) {
		this[kBuffers].push(chunk);
		this[kTotalLength] += chunk.length;
	}
	/**
	* The listener of the `zlib.InflateRaw` stream `'data'` event.
	*
	* @param {Buffer} chunk A chunk of data
	* @private
	*/
	function inflateOnData(chunk) {
		this[kTotalLength] += chunk.length;
		if (this[kPerMessageDeflate]._maxPayload < 1 || this[kTotalLength] <= this[kPerMessageDeflate]._maxPayload) {
			this[kBuffers].push(chunk);
			return;
		}
		this[kError] = new RangeError("Max payload size exceeded");
		this[kError].code = "WS_ERR_UNSUPPORTED_MESSAGE_LENGTH";
		this[kError][kStatusCode] = 1009;
		this.removeListener("data", inflateOnData);
		this.reset();
	}
	/**
	* The listener of the `zlib.InflateRaw` stream `'error'` event.
	*
	* @param {Error} err The emitted error
	* @private
	*/
	function inflateOnError(err) {
		this[kPerMessageDeflate]._inflate = null;
		if (this[kError]) {
			this[kCallback](this[kError]);
			return;
		}
		err[kStatusCode] = 1007;
		this[kCallback](err);
	}
}));

//#endregion
//#region ../node_modules/ws/lib/validation.js
var require_validation$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { isUtf8: isUtf8$1 } = __require("buffer");
	const { hasBlob } = require_constants$7();
	const tokenChars = [
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		1,
		0,
		1,
		1,
		1,
		1,
		1,
		0,
		0,
		1,
		1,
		0,
		1,
		1,
		0,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		0,
		0,
		0,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		0,
		1,
		0,
		1,
		0
	];
	/**
	* Checks if a status code is allowed in a close frame.
	*
	* @param {Number} code The status code
	* @return {Boolean} `true` if the status code is valid, else `false`
	* @public
	*/
	function isValidStatusCode(code) {
		return code >= 1e3 && code <= 1014 && code !== 1004 && code !== 1005 && code !== 1006 || code >= 3e3 && code <= 4999;
	}
	/**
	* Checks if a given buffer contains only correct UTF-8.
	* Ported from https://www.cl.cam.ac.uk/%7Emgk25/ucs/utf8_check.c by
	* Markus Kuhn.
	*
	* @param {Buffer} buf The buffer to check
	* @return {Boolean} `true` if `buf` contains only correct UTF-8, else `false`
	* @public
	*/
	function _isValidUTF8(buf) {
		const len = buf.length;
		let i = 0;
		while (i < len) {
			if ((buf[i] & 128) === 0) {
				i++;
			} else if ((buf[i] & 224) === 192) {
				if (i + 1 === len || (buf[i + 1] & 192) !== 128 || (buf[i] & 254) === 192) {
					return false;
				}
				i += 2;
			} else if ((buf[i] & 240) === 224) {
				if (i + 2 >= len || (buf[i + 1] & 192) !== 128 || (buf[i + 2] & 192) !== 128 || buf[i] === 224 && (buf[i + 1] & 224) === 128 || buf[i] === 237 && (buf[i + 1] & 224) === 160) {
					return false;
				}
				i += 3;
			} else if ((buf[i] & 248) === 240) {
				if (i + 3 >= len || (buf[i + 1] & 192) !== 128 || (buf[i + 2] & 192) !== 128 || (buf[i + 3] & 192) !== 128 || buf[i] === 240 && (buf[i + 1] & 240) === 128 || buf[i] === 244 && buf[i + 1] > 143 || buf[i] > 244) {
					return false;
				}
				i += 4;
			} else {
				return false;
			}
		}
		return true;
	}
	/**
	* Determines whether a value is a `Blob`.
	*
	* @param {*} value The value to be tested
	* @return {Boolean} `true` if `value` is a `Blob`, else `false`
	* @private
	*/
	function isBlob(value) {
		return hasBlob && typeof value === "object" && typeof value.arrayBuffer === "function" && typeof value.type === "string" && typeof value.stream === "function" && (value[Symbol.toStringTag] === "Blob" || value[Symbol.toStringTag] === "File");
	}
	module.exports = {
		isBlob,
		isValidStatusCode,
		isValidUTF8: _isValidUTF8,
		tokenChars
	};
	if (isUtf8$1) {
		module.exports.isValidUTF8 = function(buf) {
			return buf.length < 24 ? _isValidUTF8(buf) : isUtf8$1(buf);
		};
	} else if (!process.env.WS_NO_UTF_8_VALIDATE) {
		try {
			const isValidUTF8 = __require("utf-8-validate");
			module.exports.isValidUTF8 = function(buf) {
				return buf.length < 32 ? _isValidUTF8(buf) : isValidUTF8(buf);
			};
		} catch (e) {}
	}
}));

//#endregion
//#region ../node_modules/ws/lib/receiver.js
var require_receiver$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { Writable: Writable$7 } = __require("stream");
	const PerMessageDeflate = require_permessage_deflate$1();
	const { BINARY_TYPES, EMPTY_BUFFER, kStatusCode, kWebSocket } = require_constants$7();
	const { concat, toArrayBuffer, unmask } = require_buffer_util();
	const { isValidStatusCode, isValidUTF8 } = require_validation$2();
	const FastBuffer = Buffer[Symbol.species];
	const GET_INFO = 0;
	const GET_PAYLOAD_LENGTH_16 = 1;
	const GET_PAYLOAD_LENGTH_64 = 2;
	const GET_MASK = 3;
	const GET_DATA = 4;
	const INFLATING = 5;
	const DEFER_EVENT = 6;
	/**
	* HyBi Receiver implementation.
	*
	* @extends Writable
	*/
	var Receiver = class extends Writable$7 {
		/**
		* Creates a Receiver instance.
		*
		* @param {Object} [options] Options object
		* @param {Boolean} [options.allowSynchronousEvents=true] Specifies whether
		*     any of the `'message'`, `'ping'`, and `'pong'` events can be emitted
		*     multiple times in the same tick
		* @param {String} [options.binaryType=nodebuffer] The type for binary data
		* @param {Object} [options.extensions] An object containing the negotiated
		*     extensions
		* @param {Boolean} [options.isServer=false] Specifies whether to operate in
		*     client or server mode
		* @param {Number} [options.maxPayload=0] The maximum allowed message length
		* @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or
		*     not to skip UTF-8 validation for text and close messages
		*/
		constructor(options = {}) {
			super();
			this._allowSynchronousEvents = options.allowSynchronousEvents !== undefined ? options.allowSynchronousEvents : true;
			this._binaryType = options.binaryType || BINARY_TYPES[0];
			this._extensions = options.extensions || {};
			this._isServer = !!options.isServer;
			this._maxPayload = options.maxPayload | 0;
			this._skipUTF8Validation = !!options.skipUTF8Validation;
			this[kWebSocket] = undefined;
			this._bufferedBytes = 0;
			this._buffers = [];
			this._compressed = false;
			this._payloadLength = 0;
			this._mask = undefined;
			this._fragmented = 0;
			this._masked = false;
			this._fin = false;
			this._opcode = 0;
			this._totalPayloadLength = 0;
			this._messageLength = 0;
			this._fragments = [];
			this._errored = false;
			this._loop = false;
			this._state = GET_INFO;
		}
		/**
		* Implements `Writable.prototype._write()`.
		*
		* @param {Buffer} chunk The chunk of data to write
		* @param {String} encoding The character encoding of `chunk`
		* @param {Function} cb Callback
		* @private
		*/
		_write(chunk, encoding, cb) {
			if (this._opcode === 8 && this._state == GET_INFO) return cb();
			this._bufferedBytes += chunk.length;
			this._buffers.push(chunk);
			this.startLoop(cb);
		}
		/**
		* Consumes `n` bytes from the buffered data.
		*
		* @param {Number} n The number of bytes to consume
		* @return {Buffer} The consumed bytes
		* @private
		*/
		consume(n) {
			this._bufferedBytes -= n;
			if (n === this._buffers[0].length) return this._buffers.shift();
			if (n < this._buffers[0].length) {
				const buf = this._buffers[0];
				this._buffers[0] = new FastBuffer(buf.buffer, buf.byteOffset + n, buf.length - n);
				return new FastBuffer(buf.buffer, buf.byteOffset, n);
			}
			const dst = Buffer.allocUnsafe(n);
			do {
				const buf = this._buffers[0];
				const offset = dst.length - n;
				if (n >= buf.length) {
					dst.set(this._buffers.shift(), offset);
				} else {
					dst.set(new Uint8Array(buf.buffer, buf.byteOffset, n), offset);
					this._buffers[0] = new FastBuffer(buf.buffer, buf.byteOffset + n, buf.length - n);
				}
				n -= buf.length;
			} while (n > 0);
			return dst;
		}
		/**
		* Starts the parsing loop.
		*
		* @param {Function} cb Callback
		* @private
		*/
		startLoop(cb) {
			this._loop = true;
			do {
				switch (this._state) {
					case GET_INFO:
						this.getInfo(cb);
						break;
					case GET_PAYLOAD_LENGTH_16:
						this.getPayloadLength16(cb);
						break;
					case GET_PAYLOAD_LENGTH_64:
						this.getPayloadLength64(cb);
						break;
					case GET_MASK:
						this.getMask();
						break;
					case GET_DATA:
						this.getData(cb);
						break;
					case INFLATING:
					case DEFER_EVENT:
						this._loop = false;
						return;
				}
			} while (this._loop);
			if (!this._errored) cb();
		}
		/**
		* Reads the first two bytes of a frame.
		*
		* @param {Function} cb Callback
		* @private
		*/
		getInfo(cb) {
			if (this._bufferedBytes < 2) {
				this._loop = false;
				return;
			}
			const buf = this.consume(2);
			if ((buf[0] & 48) !== 0) {
				const error = this.createError(RangeError, "RSV2 and RSV3 must be clear", true, 1002, "WS_ERR_UNEXPECTED_RSV_2_3");
				cb(error);
				return;
			}
			const compressed = (buf[0] & 64) === 64;
			if (compressed && !this._extensions[PerMessageDeflate.extensionName]) {
				const error = this.createError(RangeError, "RSV1 must be clear", true, 1002, "WS_ERR_UNEXPECTED_RSV_1");
				cb(error);
				return;
			}
			this._fin = (buf[0] & 128) === 128;
			this._opcode = buf[0] & 15;
			this._payloadLength = buf[1] & 127;
			if (this._opcode === 0) {
				if (compressed) {
					const error = this.createError(RangeError, "RSV1 must be clear", true, 1002, "WS_ERR_UNEXPECTED_RSV_1");
					cb(error);
					return;
				}
				if (!this._fragmented) {
					const error = this.createError(RangeError, "invalid opcode 0", true, 1002, "WS_ERR_INVALID_OPCODE");
					cb(error);
					return;
				}
				this._opcode = this._fragmented;
			} else if (this._opcode === 1 || this._opcode === 2) {
				if (this._fragmented) {
					const error = this.createError(RangeError, `invalid opcode ${this._opcode}`, true, 1002, "WS_ERR_INVALID_OPCODE");
					cb(error);
					return;
				}
				this._compressed = compressed;
			} else if (this._opcode > 7 && this._opcode < 11) {
				if (!this._fin) {
					const error = this.createError(RangeError, "FIN must be set", true, 1002, "WS_ERR_EXPECTED_FIN");
					cb(error);
					return;
				}
				if (compressed) {
					const error = this.createError(RangeError, "RSV1 must be clear", true, 1002, "WS_ERR_UNEXPECTED_RSV_1");
					cb(error);
					return;
				}
				if (this._payloadLength > 125 || this._opcode === 8 && this._payloadLength === 1) {
					const error = this.createError(RangeError, `invalid payload length ${this._payloadLength}`, true, 1002, "WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");
					cb(error);
					return;
				}
			} else {
				const error = this.createError(RangeError, `invalid opcode ${this._opcode}`, true, 1002, "WS_ERR_INVALID_OPCODE");
				cb(error);
				return;
			}
			if (!this._fin && !this._fragmented) this._fragmented = this._opcode;
			this._masked = (buf[1] & 128) === 128;
			if (this._isServer) {
				if (!this._masked) {
					const error = this.createError(RangeError, "MASK must be set", true, 1002, "WS_ERR_EXPECTED_MASK");
					cb(error);
					return;
				}
			} else if (this._masked) {
				const error = this.createError(RangeError, "MASK must be clear", true, 1002, "WS_ERR_UNEXPECTED_MASK");
				cb(error);
				return;
			}
			if (this._payloadLength === 126) this._state = GET_PAYLOAD_LENGTH_16;
			else if (this._payloadLength === 127) this._state = GET_PAYLOAD_LENGTH_64;
			else this.haveLength(cb);
		}
		/**
		* Gets extended payload length (7+16).
		*
		* @param {Function} cb Callback
		* @private
		*/
		getPayloadLength16(cb) {
			if (this._bufferedBytes < 2) {
				this._loop = false;
				return;
			}
			this._payloadLength = this.consume(2).readUInt16BE(0);
			this.haveLength(cb);
		}
		/**
		* Gets extended payload length (7+64).
		*
		* @param {Function} cb Callback
		* @private
		*/
		getPayloadLength64(cb) {
			if (this._bufferedBytes < 8) {
				this._loop = false;
				return;
			}
			const buf = this.consume(8);
			const num = buf.readUInt32BE(0);
			if (num > Math.pow(2, 53 - 32) - 1) {
				const error = this.createError(RangeError, "Unsupported WebSocket frame: payload length > 2^53 - 1", false, 1009, "WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");
				cb(error);
				return;
			}
			this._payloadLength = num * Math.pow(2, 32) + buf.readUInt32BE(4);
			this.haveLength(cb);
		}
		/**
		* Payload length has been read.
		*
		* @param {Function} cb Callback
		* @private
		*/
		haveLength(cb) {
			if (this._payloadLength && this._opcode < 8) {
				this._totalPayloadLength += this._payloadLength;
				if (this._totalPayloadLength > this._maxPayload && this._maxPayload > 0) {
					const error = this.createError(RangeError, "Max payload size exceeded", false, 1009, "WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");
					cb(error);
					return;
				}
			}
			if (this._masked) this._state = GET_MASK;
			else this._state = GET_DATA;
		}
		/**
		* Reads mask bytes.
		*
		* @private
		*/
		getMask() {
			if (this._bufferedBytes < 4) {
				this._loop = false;
				return;
			}
			this._mask = this.consume(4);
			this._state = GET_DATA;
		}
		/**
		* Reads data bytes.
		*
		* @param {Function} cb Callback
		* @private
		*/
		getData(cb) {
			let data = EMPTY_BUFFER;
			if (this._payloadLength) {
				if (this._bufferedBytes < this._payloadLength) {
					this._loop = false;
					return;
				}
				data = this.consume(this._payloadLength);
				if (this._masked && (this._mask[0] | this._mask[1] | this._mask[2] | this._mask[3]) !== 0) {
					unmask(data, this._mask);
				}
			}
			if (this._opcode > 7) {
				this.controlMessage(data, cb);
				return;
			}
			if (this._compressed) {
				this._state = INFLATING;
				this.decompress(data, cb);
				return;
			}
			if (data.length) {
				this._messageLength = this._totalPayloadLength;
				this._fragments.push(data);
			}
			this.dataMessage(cb);
		}
		/**
		* Decompresses data.
		*
		* @param {Buffer} data Compressed data
		* @param {Function} cb Callback
		* @private
		*/
		decompress(data, cb) {
			const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];
			perMessageDeflate.decompress(data, this._fin, (err, buf) => {
				if (err) return cb(err);
				if (buf.length) {
					this._messageLength += buf.length;
					if (this._messageLength > this._maxPayload && this._maxPayload > 0) {
						const error = this.createError(RangeError, "Max payload size exceeded", false, 1009, "WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");
						cb(error);
						return;
					}
					this._fragments.push(buf);
				}
				this.dataMessage(cb);
				if (this._state === GET_INFO) this.startLoop(cb);
			});
		}
		/**
		* Handles a data message.
		*
		* @param {Function} cb Callback
		* @private
		*/
		dataMessage(cb) {
			if (!this._fin) {
				this._state = GET_INFO;
				return;
			}
			const messageLength = this._messageLength;
			const fragments = this._fragments;
			this._totalPayloadLength = 0;
			this._messageLength = 0;
			this._fragmented = 0;
			this._fragments = [];
			if (this._opcode === 2) {
				let data;
				if (this._binaryType === "nodebuffer") {
					data = concat(fragments, messageLength);
				} else if (this._binaryType === "arraybuffer") {
					data = toArrayBuffer(concat(fragments, messageLength));
				} else if (this._binaryType === "blob") {
					data = new Blob(fragments);
				} else {
					data = fragments;
				}
				if (this._allowSynchronousEvents) {
					this.emit("message", data, true);
					this._state = GET_INFO;
				} else {
					this._state = DEFER_EVENT;
					setImmediate(() => {
						this.emit("message", data, true);
						this._state = GET_INFO;
						this.startLoop(cb);
					});
				}
			} else {
				const buf = concat(fragments, messageLength);
				if (!this._skipUTF8Validation && !isValidUTF8(buf)) {
					const error = this.createError(Error, "invalid UTF-8 sequence", true, 1007, "WS_ERR_INVALID_UTF8");
					cb(error);
					return;
				}
				if (this._state === INFLATING || this._allowSynchronousEvents) {
					this.emit("message", buf, false);
					this._state = GET_INFO;
				} else {
					this._state = DEFER_EVENT;
					setImmediate(() => {
						this.emit("message", buf, false);
						this._state = GET_INFO;
						this.startLoop(cb);
					});
				}
			}
		}
		/**
		* Handles a control message.
		*
		* @param {Buffer} data Data to handle
		* @return {(Error|RangeError|undefined)} A possible error
		* @private
		*/
		controlMessage(data, cb) {
			if (this._opcode === 8) {
				if (data.length === 0) {
					this._loop = false;
					this.emit("conclude", 1005, EMPTY_BUFFER);
					this.end();
				} else {
					const code = data.readUInt16BE(0);
					if (!isValidStatusCode(code)) {
						const error = this.createError(RangeError, `invalid status code ${code}`, true, 1002, "WS_ERR_INVALID_CLOSE_CODE");
						cb(error);
						return;
					}
					const buf = new FastBuffer(data.buffer, data.byteOffset + 2, data.length - 2);
					if (!this._skipUTF8Validation && !isValidUTF8(buf)) {
						const error = this.createError(Error, "invalid UTF-8 sequence", true, 1007, "WS_ERR_INVALID_UTF8");
						cb(error);
						return;
					}
					this._loop = false;
					this.emit("conclude", code, buf);
					this.end();
				}
				this._state = GET_INFO;
				return;
			}
			if (this._allowSynchronousEvents) {
				this.emit(this._opcode === 9 ? "ping" : "pong", data);
				this._state = GET_INFO;
			} else {
				this._state = DEFER_EVENT;
				setImmediate(() => {
					this.emit(this._opcode === 9 ? "ping" : "pong", data);
					this._state = GET_INFO;
					this.startLoop(cb);
				});
			}
		}
		/**
		* Builds an error object.
		*
		* @param {function(new:Error|RangeError)} ErrorCtor The error constructor
		* @param {String} message The error message
		* @param {Boolean} prefix Specifies whether or not to add a default prefix to
		*     `message`
		* @param {Number} statusCode The status code
		* @param {String} errorCode The exposed error code
		* @return {(Error|RangeError)} The error
		* @private
		*/
		createError(ErrorCtor, message, prefix, statusCode, errorCode) {
			this._loop = false;
			this._errored = true;
			const err = new ErrorCtor(prefix ? `Invalid WebSocket frame: ${message}` : message);
			Error.captureStackTrace(err, this.createError);
			err.code = errorCode;
			err[kStatusCode] = statusCode;
			return err;
		}
	};
	module.exports = Receiver;
}));

//#endregion
//#region ../node_modules/ws/lib/sender.js
var require_sender$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { Duplex: Duplex$4 } = __require("stream");
	const { randomFillSync: randomFillSync$1 } = __require("crypto");
	const PerMessageDeflate = require_permessage_deflate$1();
	const { EMPTY_BUFFER, kWebSocket, NOOP } = require_constants$7();
	const { isBlob, isValidStatusCode } = require_validation$2();
	const { mask: applyMask, toBuffer } = require_buffer_util();
	const kByteLength = Symbol("kByteLength");
	const maskBuffer = Buffer.alloc(4);
	const RANDOM_POOL_SIZE = 8 * 1024;
	let randomPool;
	let randomPoolPointer = RANDOM_POOL_SIZE;
	const DEFAULT = 0;
	const DEFLATING = 1;
	const GET_BLOB_DATA = 2;
	/**
	* HyBi Sender implementation.
	*/
	var Sender = class Sender {
		/**
		* Creates a Sender instance.
		*
		* @param {Duplex} socket The connection socket
		* @param {Object} [extensions] An object containing the negotiated extensions
		* @param {Function} [generateMask] The function used to generate the masking
		*     key
		*/
		constructor(socket, extensions, generateMask) {
			this._extensions = extensions || {};
			if (generateMask) {
				this._generateMask = generateMask;
				this._maskBuffer = Buffer.alloc(4);
			}
			this._socket = socket;
			this._firstFragment = true;
			this._compress = false;
			this._bufferedBytes = 0;
			this._queue = [];
			this._state = DEFAULT;
			this.onerror = NOOP;
			this[kWebSocket] = undefined;
		}
		/**
		* Frames a piece of data according to the HyBi WebSocket protocol.
		*
		* @param {(Buffer|String)} data The data to frame
		* @param {Object} options Options object
		* @param {Boolean} [options.fin=false] Specifies whether or not to set the
		*     FIN bit
		* @param {Function} [options.generateMask] The function used to generate the
		*     masking key
		* @param {Boolean} [options.mask=false] Specifies whether or not to mask
		*     `data`
		* @param {Buffer} [options.maskBuffer] The buffer used to store the masking
		*     key
		* @param {Number} options.opcode The opcode
		* @param {Boolean} [options.readOnly=false] Specifies whether `data` can be
		*     modified
		* @param {Boolean} [options.rsv1=false] Specifies whether or not to set the
		*     RSV1 bit
		* @return {(Buffer|String)[]} The framed data
		* @public
		*/
		static frame(data, options) {
			let mask;
			let merge = false;
			let offset = 2;
			let skipMasking = false;
			if (options.mask) {
				mask = options.maskBuffer || maskBuffer;
				if (options.generateMask) {
					options.generateMask(mask);
				} else {
					if (randomPoolPointer === RANDOM_POOL_SIZE) {
						/* istanbul ignore else  */
						if (randomPool === undefined) {
							randomPool = Buffer.alloc(RANDOM_POOL_SIZE);
						}
						randomFillSync$1(randomPool, 0, RANDOM_POOL_SIZE);
						randomPoolPointer = 0;
					}
					mask[0] = randomPool[randomPoolPointer++];
					mask[1] = randomPool[randomPoolPointer++];
					mask[2] = randomPool[randomPoolPointer++];
					mask[3] = randomPool[randomPoolPointer++];
				}
				skipMasking = (mask[0] | mask[1] | mask[2] | mask[3]) === 0;
				offset = 6;
			}
			let dataLength;
			if (typeof data === "string") {
				if ((!options.mask || skipMasking) && options[kByteLength] !== undefined) {
					dataLength = options[kByteLength];
				} else {
					data = Buffer.from(data);
					dataLength = data.length;
				}
			} else {
				dataLength = data.length;
				merge = options.mask && options.readOnly && !skipMasking;
			}
			let payloadLength = dataLength;
			if (dataLength >= 65536) {
				offset += 8;
				payloadLength = 127;
			} else if (dataLength > 125) {
				offset += 2;
				payloadLength = 126;
			}
			const target = Buffer.allocUnsafe(merge ? dataLength + offset : offset);
			target[0] = options.fin ? options.opcode | 128 : options.opcode;
			if (options.rsv1) target[0] |= 64;
			target[1] = payloadLength;
			if (payloadLength === 126) {
				target.writeUInt16BE(dataLength, 2);
			} else if (payloadLength === 127) {
				target[2] = target[3] = 0;
				target.writeUIntBE(dataLength, 4, 6);
			}
			if (!options.mask) return [target, data];
			target[1] |= 128;
			target[offset - 4] = mask[0];
			target[offset - 3] = mask[1];
			target[offset - 2] = mask[2];
			target[offset - 1] = mask[3];
			if (skipMasking) return [target, data];
			if (merge) {
				applyMask(data, mask, target, offset, dataLength);
				return [target];
			}
			applyMask(data, mask, data, 0, dataLength);
			return [target, data];
		}
		/**
		* Sends a close message to the other peer.
		*
		* @param {Number} [code] The status code component of the body
		* @param {(String|Buffer)} [data] The message component of the body
		* @param {Boolean} [mask=false] Specifies whether or not to mask the message
		* @param {Function} [cb] Callback
		* @public
		*/
		close(code, data, mask, cb) {
			let buf;
			if (code === undefined) {
				buf = EMPTY_BUFFER;
			} else if (typeof code !== "number" || !isValidStatusCode(code)) {
				throw new TypeError("First argument must be a valid error code number");
			} else if (data === undefined || !data.length) {
				buf = Buffer.allocUnsafe(2);
				buf.writeUInt16BE(code, 0);
			} else {
				const length = Buffer.byteLength(data);
				if (length > 123) {
					throw new RangeError("The message must not be greater than 123 bytes");
				}
				buf = Buffer.allocUnsafe(2 + length);
				buf.writeUInt16BE(code, 0);
				if (typeof data === "string") {
					buf.write(data, 2);
				} else {
					buf.set(data, 2);
				}
			}
			const options = {
				[kByteLength]: buf.length,
				fin: true,
				generateMask: this._generateMask,
				mask,
				maskBuffer: this._maskBuffer,
				opcode: 8,
				readOnly: false,
				rsv1: false
			};
			if (this._state !== DEFAULT) {
				this.enqueue([
					this.dispatch,
					buf,
					false,
					options,
					cb
				]);
			} else {
				this.sendFrame(Sender.frame(buf, options), cb);
			}
		}
		/**
		* Sends a ping message to the other peer.
		*
		* @param {*} data The message to send
		* @param {Boolean} [mask=false] Specifies whether or not to mask `data`
		* @param {Function} [cb] Callback
		* @public
		*/
		ping(data, mask, cb) {
			let byteLength;
			let readOnly;
			if (typeof data === "string") {
				byteLength = Buffer.byteLength(data);
				readOnly = false;
			} else if (isBlob(data)) {
				byteLength = data.size;
				readOnly = false;
			} else {
				data = toBuffer(data);
				byteLength = data.length;
				readOnly = toBuffer.readOnly;
			}
			if (byteLength > 125) {
				throw new RangeError("The data size must not be greater than 125 bytes");
			}
			const options = {
				[kByteLength]: byteLength,
				fin: true,
				generateMask: this._generateMask,
				mask,
				maskBuffer: this._maskBuffer,
				opcode: 9,
				readOnly,
				rsv1: false
			};
			if (isBlob(data)) {
				if (this._state !== DEFAULT) {
					this.enqueue([
						this.getBlobData,
						data,
						false,
						options,
						cb
					]);
				} else {
					this.getBlobData(data, false, options, cb);
				}
			} else if (this._state !== DEFAULT) {
				this.enqueue([
					this.dispatch,
					data,
					false,
					options,
					cb
				]);
			} else {
				this.sendFrame(Sender.frame(data, options), cb);
			}
		}
		/**
		* Sends a pong message to the other peer.
		*
		* @param {*} data The message to send
		* @param {Boolean} [mask=false] Specifies whether or not to mask `data`
		* @param {Function} [cb] Callback
		* @public
		*/
		pong(data, mask, cb) {
			let byteLength;
			let readOnly;
			if (typeof data === "string") {
				byteLength = Buffer.byteLength(data);
				readOnly = false;
			} else if (isBlob(data)) {
				byteLength = data.size;
				readOnly = false;
			} else {
				data = toBuffer(data);
				byteLength = data.length;
				readOnly = toBuffer.readOnly;
			}
			if (byteLength > 125) {
				throw new RangeError("The data size must not be greater than 125 bytes");
			}
			const options = {
				[kByteLength]: byteLength,
				fin: true,
				generateMask: this._generateMask,
				mask,
				maskBuffer: this._maskBuffer,
				opcode: 10,
				readOnly,
				rsv1: false
			};
			if (isBlob(data)) {
				if (this._state !== DEFAULT) {
					this.enqueue([
						this.getBlobData,
						data,
						false,
						options,
						cb
					]);
				} else {
					this.getBlobData(data, false, options, cb);
				}
			} else if (this._state !== DEFAULT) {
				this.enqueue([
					this.dispatch,
					data,
					false,
					options,
					cb
				]);
			} else {
				this.sendFrame(Sender.frame(data, options), cb);
			}
		}
		/**
		* Sends a data message to the other peer.
		*
		* @param {*} data The message to send
		* @param {Object} options Options object
		* @param {Boolean} [options.binary=false] Specifies whether `data` is binary
		*     or text
		* @param {Boolean} [options.compress=false] Specifies whether or not to
		*     compress `data`
		* @param {Boolean} [options.fin=false] Specifies whether the fragment is the
		*     last one
		* @param {Boolean} [options.mask=false] Specifies whether or not to mask
		*     `data`
		* @param {Function} [cb] Callback
		* @public
		*/
		send(data, options, cb) {
			const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];
			let opcode = options.binary ? 2 : 1;
			let rsv1 = options.compress;
			let byteLength;
			let readOnly;
			if (typeof data === "string") {
				byteLength = Buffer.byteLength(data);
				readOnly = false;
			} else if (isBlob(data)) {
				byteLength = data.size;
				readOnly = false;
			} else {
				data = toBuffer(data);
				byteLength = data.length;
				readOnly = toBuffer.readOnly;
			}
			if (this._firstFragment) {
				this._firstFragment = false;
				if (rsv1 && perMessageDeflate && perMessageDeflate.params[perMessageDeflate._isServer ? "server_no_context_takeover" : "client_no_context_takeover"]) {
					rsv1 = byteLength >= perMessageDeflate._threshold;
				}
				this._compress = rsv1;
			} else {
				rsv1 = false;
				opcode = 0;
			}
			if (options.fin) this._firstFragment = true;
			const opts = {
				[kByteLength]: byteLength,
				fin: options.fin,
				generateMask: this._generateMask,
				mask: options.mask,
				maskBuffer: this._maskBuffer,
				opcode,
				readOnly,
				rsv1
			};
			if (isBlob(data)) {
				if (this._state !== DEFAULT) {
					this.enqueue([
						this.getBlobData,
						data,
						this._compress,
						opts,
						cb
					]);
				} else {
					this.getBlobData(data, this._compress, opts, cb);
				}
			} else if (this._state !== DEFAULT) {
				this.enqueue([
					this.dispatch,
					data,
					this._compress,
					opts,
					cb
				]);
			} else {
				this.dispatch(data, this._compress, opts, cb);
			}
		}
		/**
		* Gets the contents of a blob as binary data.
		*
		* @param {Blob} blob The blob
		* @param {Boolean} [compress=false] Specifies whether or not to compress
		*     the data
		* @param {Object} options Options object
		* @param {Boolean} [options.fin=false] Specifies whether or not to set the
		*     FIN bit
		* @param {Function} [options.generateMask] The function used to generate the
		*     masking key
		* @param {Boolean} [options.mask=false] Specifies whether or not to mask
		*     `data`
		* @param {Buffer} [options.maskBuffer] The buffer used to store the masking
		*     key
		* @param {Number} options.opcode The opcode
		* @param {Boolean} [options.readOnly=false] Specifies whether `data` can be
		*     modified
		* @param {Boolean} [options.rsv1=false] Specifies whether or not to set the
		*     RSV1 bit
		* @param {Function} [cb] Callback
		* @private
		*/
		getBlobData(blob, compress, options, cb) {
			this._bufferedBytes += options[kByteLength];
			this._state = GET_BLOB_DATA;
			blob.arrayBuffer().then((arrayBuffer) => {
				if (this._socket.destroyed) {
					const err = new Error("The socket was closed while the blob was being read");
					process.nextTick(callCallbacks, this, err, cb);
					return;
				}
				this._bufferedBytes -= options[kByteLength];
				const data = toBuffer(arrayBuffer);
				if (!compress) {
					this._state = DEFAULT;
					this.sendFrame(Sender.frame(data, options), cb);
					this.dequeue();
				} else {
					this.dispatch(data, compress, options, cb);
				}
			}).catch((err) => {
				process.nextTick(onError, this, err, cb);
			});
		}
		/**
		* Dispatches a message.
		*
		* @param {(Buffer|String)} data The message to send
		* @param {Boolean} [compress=false] Specifies whether or not to compress
		*     `data`
		* @param {Object} options Options object
		* @param {Boolean} [options.fin=false] Specifies whether or not to set the
		*     FIN bit
		* @param {Function} [options.generateMask] The function used to generate the
		*     masking key
		* @param {Boolean} [options.mask=false] Specifies whether or not to mask
		*     `data`
		* @param {Buffer} [options.maskBuffer] The buffer used to store the masking
		*     key
		* @param {Number} options.opcode The opcode
		* @param {Boolean} [options.readOnly=false] Specifies whether `data` can be
		*     modified
		* @param {Boolean} [options.rsv1=false] Specifies whether or not to set the
		*     RSV1 bit
		* @param {Function} [cb] Callback
		* @private
		*/
		dispatch(data, compress, options, cb) {
			if (!compress) {
				this.sendFrame(Sender.frame(data, options), cb);
				return;
			}
			const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];
			this._bufferedBytes += options[kByteLength];
			this._state = DEFLATING;
			perMessageDeflate.compress(data, options.fin, (_, buf) => {
				if (this._socket.destroyed) {
					const err = new Error("The socket was closed while data was being compressed");
					callCallbacks(this, err, cb);
					return;
				}
				this._bufferedBytes -= options[kByteLength];
				this._state = DEFAULT;
				options.readOnly = false;
				this.sendFrame(Sender.frame(buf, options), cb);
				this.dequeue();
			});
		}
		/**
		* Executes queued send operations.
		*
		* @private
		*/
		dequeue() {
			while (this._state === DEFAULT && this._queue.length) {
				const params = this._queue.shift();
				this._bufferedBytes -= params[3][kByteLength];
				Reflect.apply(params[0], this, params.slice(1));
			}
		}
		/**
		* Enqueues a send operation.
		*
		* @param {Array} params Send operation parameters.
		* @private
		*/
		enqueue(params) {
			this._bufferedBytes += params[3][kByteLength];
			this._queue.push(params);
		}
		/**
		* Sends a frame.
		*
		* @param {(Buffer | String)[]} list The frame to send
		* @param {Function} [cb] Callback
		* @private
		*/
		sendFrame(list, cb) {
			if (list.length === 2) {
				this._socket.cork();
				this._socket.write(list[0]);
				this._socket.write(list[1], cb);
				this._socket.uncork();
			} else {
				this._socket.write(list[0], cb);
			}
		}
	};
	module.exports = Sender;
	/**
	* Calls queued callbacks with an error.
	*
	* @param {Sender} sender The `Sender` instance
	* @param {Error} err The error to call the callbacks with
	* @param {Function} [cb] The first callback
	* @private
	*/
	function callCallbacks(sender, err, cb) {
		if (typeof cb === "function") cb(err);
		for (let i = 0; i < sender._queue.length; i++) {
			const params = sender._queue[i];
			const callback = params[params.length - 1];
			if (typeof callback === "function") callback(err);
		}
	}
	/**
	* Handles a `Sender` error.
	*
	* @param {Sender} sender The `Sender` instance
	* @param {Error} err The error
	* @param {Function} [cb] The first pending callback
	* @private
	*/
	function onError(sender, err, cb) {
		callCallbacks(sender, err, cb);
		sender.onerror(err);
	}
}));

//#endregion
//#region ../node_modules/ws/lib/event-target.js
var require_event_target = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { kForOnEventAttribute, kListener } = require_constants$7();
	const kCode = Symbol("kCode");
	const kData = Symbol("kData");
	const kError = Symbol("kError");
	const kMessage = Symbol("kMessage");
	const kReason = Symbol("kReason");
	const kTarget = Symbol("kTarget");
	const kType = Symbol("kType");
	const kWasClean = Symbol("kWasClean");
	/**
	* Class representing an event.
	*/
	var Event = class {
		/**
		* Create a new `Event`.
		*
		* @param {String} type The name of the event
		* @throws {TypeError} If the `type` argument is not specified
		*/
		constructor(type) {
			this[kTarget] = null;
			this[kType] = type;
		}
		/**
		* @type {*}
		*/
		get target() {
			return this[kTarget];
		}
		/**
		* @type {String}
		*/
		get type() {
			return this[kType];
		}
	};
	Object.defineProperty(Event.prototype, "target", { enumerable: true });
	Object.defineProperty(Event.prototype, "type", { enumerable: true });
	/**
	* Class representing a close event.
	*
	* @extends Event
	*/
	var CloseEvent = class extends Event {
		/**
		* Create a new `CloseEvent`.
		*
		* @param {String} type The name of the event
		* @param {Object} [options] A dictionary object that allows for setting
		*     attributes via object members of the same name
		* @param {Number} [options.code=0] The status code explaining why the
		*     connection was closed
		* @param {String} [options.reason=''] A human-readable string explaining why
		*     the connection was closed
		* @param {Boolean} [options.wasClean=false] Indicates whether or not the
		*     connection was cleanly closed
		*/
		constructor(type, options = {}) {
			super(type);
			this[kCode] = options.code === undefined ? 0 : options.code;
			this[kReason] = options.reason === undefined ? "" : options.reason;
			this[kWasClean] = options.wasClean === undefined ? false : options.wasClean;
		}
		/**
		* @type {Number}
		*/
		get code() {
			return this[kCode];
		}
		/**
		* @type {String}
		*/
		get reason() {
			return this[kReason];
		}
		/**
		* @type {Boolean}
		*/
		get wasClean() {
			return this[kWasClean];
		}
	};
	Object.defineProperty(CloseEvent.prototype, "code", { enumerable: true });
	Object.defineProperty(CloseEvent.prototype, "reason", { enumerable: true });
	Object.defineProperty(CloseEvent.prototype, "wasClean", { enumerable: true });
	/**
	* Class representing an error event.
	*
	* @extends Event
	*/
	var ErrorEvent = class extends Event {
		/**
		* Create a new `ErrorEvent`.
		*
		* @param {String} type The name of the event
		* @param {Object} [options] A dictionary object that allows for setting
		*     attributes via object members of the same name
		* @param {*} [options.error=null] The error that generated this event
		* @param {String} [options.message=''] The error message
		*/
		constructor(type, options = {}) {
			super(type);
			this[kError] = options.error === undefined ? null : options.error;
			this[kMessage] = options.message === undefined ? "" : options.message;
		}
		/**
		* @type {*}
		*/
		get error() {
			return this[kError];
		}
		/**
		* @type {String}
		*/
		get message() {
			return this[kMessage];
		}
	};
	Object.defineProperty(ErrorEvent.prototype, "error", { enumerable: true });
	Object.defineProperty(ErrorEvent.prototype, "message", { enumerable: true });
	/**
	* Class representing a message event.
	*
	* @extends Event
	*/
	var MessageEvent = class extends Event {
		/**
		* Create a new `MessageEvent`.
		*
		* @param {String} type The name of the event
		* @param {Object} [options] A dictionary object that allows for setting
		*     attributes via object members of the same name
		* @param {*} [options.data=null] The message content
		*/
		constructor(type, options = {}) {
			super(type);
			this[kData] = options.data === undefined ? null : options.data;
		}
		/**
		* @type {*}
		*/
		get data() {
			return this[kData];
		}
	};
	Object.defineProperty(MessageEvent.prototype, "data", { enumerable: true });
	/**
	* This provides methods for emulating the `EventTarget` interface. It's not
	* meant to be used directly.
	*
	* @mixin
	*/
	const EventTarget = {
		addEventListener(type, handler, options = {}) {
			for (const listener of this.listeners(type)) {
				if (!options[kForOnEventAttribute] && listener[kListener] === handler && !listener[kForOnEventAttribute]) {
					return;
				}
			}
			let wrapper;
			if (type === "message") {
				wrapper = function onMessage(data, isBinary) {
					const event = new MessageEvent("message", { data: isBinary ? data : data.toString() });
					event[kTarget] = this;
					callListener(handler, this, event);
				};
			} else if (type === "close") {
				wrapper = function onClose(code, message) {
					const event = new CloseEvent("close", {
						code,
						reason: message.toString(),
						wasClean: this._closeFrameReceived && this._closeFrameSent
					});
					event[kTarget] = this;
					callListener(handler, this, event);
				};
			} else if (type === "error") {
				wrapper = function onError(error) {
					const event = new ErrorEvent("error", {
						error,
						message: error.message
					});
					event[kTarget] = this;
					callListener(handler, this, event);
				};
			} else if (type === "open") {
				wrapper = function onOpen() {
					const event = new Event("open");
					event[kTarget] = this;
					callListener(handler, this, event);
				};
			} else {
				return;
			}
			wrapper[kForOnEventAttribute] = !!options[kForOnEventAttribute];
			wrapper[kListener] = handler;
			if (options.once) {
				this.once(type, wrapper);
			} else {
				this.on(type, wrapper);
			}
		},
		removeEventListener(type, handler) {
			for (const listener of this.listeners(type)) {
				if (listener[kListener] === handler && !listener[kForOnEventAttribute]) {
					this.removeListener(type, listener);
					break;
				}
			}
		}
	};
	module.exports = {
		CloseEvent,
		ErrorEvent,
		Event,
		EventTarget,
		MessageEvent
	};
	/**
	* Call an event listener
	*
	* @param {(Function|Object)} listener The listener to call
	* @param {*} thisArg The value to use as `this`` when calling the listener
	* @param {Event} event The event to pass to the listener
	* @private
	*/
	function callListener(listener, thisArg, event) {
		if (typeof listener === "object" && listener.handleEvent) {
			listener.handleEvent.call(listener, event);
		} else {
			listener.call(thisArg, event);
		}
	}
}));

//#endregion
//#region ../node_modules/ws/lib/extension.js
var require_extension = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { tokenChars } = require_validation$2();
	/**
	* Adds an offer to the map of extension offers or a parameter to the map of
	* parameters.
	*
	* @param {Object} dest The map of extension offers or parameters
	* @param {String} name The extension or parameter name
	* @param {(Object|Boolean|String)} elem The extension parameters or the
	*     parameter value
	* @private
	*/
	function push(dest, name, elem) {
		if (dest[name] === undefined) dest[name] = [elem];
		else dest[name].push(elem);
	}
	/**
	* Parses the `Sec-WebSocket-Extensions` header into an object.
	*
	* @param {String} header The field value of the header
	* @return {Object} The parsed object
	* @public
	*/
	function parse(header) {
		const offers = Object.create(null);
		let params = Object.create(null);
		let mustUnescape = false;
		let isEscaping = false;
		let inQuotes = false;
		let extensionName;
		let paramName;
		let start = -1;
		let code = -1;
		let end = -1;
		let i = 0;
		for (; i < header.length; i++) {
			code = header.charCodeAt(i);
			if (extensionName === undefined) {
				if (end === -1 && tokenChars[code] === 1) {
					if (start === -1) start = i;
				} else if (i !== 0 && (code === 32 || code === 9)) {
					if (end === -1 && start !== -1) end = i;
				} else if (code === 59 || code === 44) {
					if (start === -1) {
						throw new SyntaxError(`Unexpected character at index ${i}`);
					}
					if (end === -1) end = i;
					const name = header.slice(start, end);
					if (code === 44) {
						push(offers, name, params);
						params = Object.create(null);
					} else {
						extensionName = name;
					}
					start = end = -1;
				} else {
					throw new SyntaxError(`Unexpected character at index ${i}`);
				}
			} else if (paramName === undefined) {
				if (end === -1 && tokenChars[code] === 1) {
					if (start === -1) start = i;
				} else if (code === 32 || code === 9) {
					if (end === -1 && start !== -1) end = i;
				} else if (code === 59 || code === 44) {
					if (start === -1) {
						throw new SyntaxError(`Unexpected character at index ${i}`);
					}
					if (end === -1) end = i;
					push(params, header.slice(start, end), true);
					if (code === 44) {
						push(offers, extensionName, params);
						params = Object.create(null);
						extensionName = undefined;
					}
					start = end = -1;
				} else if (code === 61 && start !== -1 && end === -1) {
					paramName = header.slice(start, i);
					start = end = -1;
				} else {
					throw new SyntaxError(`Unexpected character at index ${i}`);
				}
			} else {
				if (isEscaping) {
					if (tokenChars[code] !== 1) {
						throw new SyntaxError(`Unexpected character at index ${i}`);
					}
					if (start === -1) start = i;
					else if (!mustUnescape) mustUnescape = true;
					isEscaping = false;
				} else if (inQuotes) {
					if (tokenChars[code] === 1) {
						if (start === -1) start = i;
					} else if (code === 34 && start !== -1) {
						inQuotes = false;
						end = i;
					} else if (code === 92) {
						isEscaping = true;
					} else {
						throw new SyntaxError(`Unexpected character at index ${i}`);
					}
				} else if (code === 34 && header.charCodeAt(i - 1) === 61) {
					inQuotes = true;
				} else if (end === -1 && tokenChars[code] === 1) {
					if (start === -1) start = i;
				} else if (start !== -1 && (code === 32 || code === 9)) {
					if (end === -1) end = i;
				} else if (code === 59 || code === 44) {
					if (start === -1) {
						throw new SyntaxError(`Unexpected character at index ${i}`);
					}
					if (end === -1) end = i;
					let value = header.slice(start, end);
					if (mustUnescape) {
						value = value.replace(/\\/g, "");
						mustUnescape = false;
					}
					push(params, paramName, value);
					if (code === 44) {
						push(offers, extensionName, params);
						params = Object.create(null);
						extensionName = undefined;
					}
					paramName = undefined;
					start = end = -1;
				} else {
					throw new SyntaxError(`Unexpected character at index ${i}`);
				}
			}
		}
		if (start === -1 || inQuotes || code === 32 || code === 9) {
			throw new SyntaxError("Unexpected end of input");
		}
		if (end === -1) end = i;
		const token = header.slice(start, end);
		if (extensionName === undefined) {
			push(offers, token, params);
		} else {
			if (paramName === undefined) {
				push(params, token, true);
			} else if (mustUnescape) {
				push(params, paramName, token.replace(/\\/g, ""));
			} else {
				push(params, paramName, token);
			}
			push(offers, extensionName, params);
		}
		return offers;
	}
	/**
	* Builds the `Sec-WebSocket-Extensions` header field value.
	*
	* @param {Object} extensions The map of extensions and parameters to format
	* @return {String} A string representing the given object
	* @public
	*/
	function format(extensions) {
		return Object.keys(extensions).map((extension) => {
			let configurations = extensions[extension];
			if (!Array.isArray(configurations)) configurations = [configurations];
			return configurations.map((params) => {
				return [extension].concat(Object.keys(params).map((k) => {
					let values = params[k];
					if (!Array.isArray(values)) values = [values];
					return values.map((v) => v === true ? k : `${k}=${v}`).join("; ");
				})).join("; ");
			}).join(", ");
		}).join(", ");
	}
	module.exports = {
		format,
		parse
	};
}));

//#endregion
//#region ../node_modules/ws/lib/websocket.js
var require_websocket$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const EventEmitter$10 = __require("events");
	const https$6 = __require("https");
	const http$12 = __require("http");
	const net$6 = __require("net");
	const tls$2 = __require("tls");
	const { randomBytes, createHash: createHash$2 } = __require("crypto");
	const { Duplex: Duplex$3, Readable: Readable$9 } = __require("stream");
	const { URL: URL$2 } = __require("url");
	const PerMessageDeflate = require_permessage_deflate$1();
	const Receiver = require_receiver$1();
	const Sender = require_sender$1();
	const { isBlob } = require_validation$2();
	const { BINARY_TYPES, EMPTY_BUFFER, GUID, kForOnEventAttribute, kListener, kStatusCode, kWebSocket, NOOP } = require_constants$7();
	const { EventTarget: { addEventListener, removeEventListener } } = require_event_target();
	const { format, parse } = require_extension();
	const { toBuffer } = require_buffer_util();
	const closeTimeout = 30 * 1e3;
	const kAborted = Symbol("kAborted");
	const protocolVersions = [8, 13];
	const readyStates = [
		"CONNECTING",
		"OPEN",
		"CLOSING",
		"CLOSED"
	];
	const subprotocolRegex = /^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;
	/**
	* Class representing a WebSocket.
	*
	* @extends EventEmitter
	*/
	var WebSocket = class WebSocket extends EventEmitter$10 {
		/**
		* Create a new `WebSocket`.
		*
		* @param {(String|URL)} address The URL to which to connect
		* @param {(String|String[])} [protocols] The subprotocols
		* @param {Object} [options] Connection options
		*/
		constructor(address, protocols, options) {
			super();
			this._binaryType = BINARY_TYPES[0];
			this._closeCode = 1006;
			this._closeFrameReceived = false;
			this._closeFrameSent = false;
			this._closeMessage = EMPTY_BUFFER;
			this._closeTimer = null;
			this._errorEmitted = false;
			this._extensions = {};
			this._paused = false;
			this._protocol = "";
			this._readyState = WebSocket.CONNECTING;
			this._receiver = null;
			this._sender = null;
			this._socket = null;
			if (address !== null) {
				this._bufferedAmount = 0;
				this._isServer = false;
				this._redirects = 0;
				if (protocols === undefined) {
					protocols = [];
				} else if (!Array.isArray(protocols)) {
					if (typeof protocols === "object" && protocols !== null) {
						options = protocols;
						protocols = [];
					} else {
						protocols = [protocols];
					}
				}
				initAsClient(this, address, protocols, options);
			} else {
				this._autoPong = options.autoPong;
				this._isServer = true;
			}
		}
		/**
		* For historical reasons, the custom "nodebuffer" type is used by the default
		* instead of "blob".
		*
		* @type {String}
		*/
		get binaryType() {
			return this._binaryType;
		}
		set binaryType(type) {
			if (!BINARY_TYPES.includes(type)) return;
			this._binaryType = type;
			if (this._receiver) this._receiver._binaryType = type;
		}
		/**
		* @type {Number}
		*/
		get bufferedAmount() {
			if (!this._socket) return this._bufferedAmount;
			return this._socket._writableState.length + this._sender._bufferedBytes;
		}
		/**
		* @type {String}
		*/
		get extensions() {
			return Object.keys(this._extensions).join();
		}
		/**
		* @type {Boolean}
		*/
		get isPaused() {
			return this._paused;
		}
		/**
		* @type {Function}
		*/
		/* istanbul ignore next */
		get onclose() {
			return null;
		}
		/**
		* @type {Function}
		*/
		/* istanbul ignore next */
		get onerror() {
			return null;
		}
		/**
		* @type {Function}
		*/
		/* istanbul ignore next */
		get onopen() {
			return null;
		}
		/**
		* @type {Function}
		*/
		/* istanbul ignore next */
		get onmessage() {
			return null;
		}
		/**
		* @type {String}
		*/
		get protocol() {
			return this._protocol;
		}
		/**
		* @type {Number}
		*/
		get readyState() {
			return this._readyState;
		}
		/**
		* @type {String}
		*/
		get url() {
			return this._url;
		}
		/**
		* Set up the socket and the internal resources.
		*
		* @param {Duplex} socket The network socket between the server and client
		* @param {Buffer} head The first packet of the upgraded stream
		* @param {Object} options Options object
		* @param {Boolean} [options.allowSynchronousEvents=false] Specifies whether
		*     any of the `'message'`, `'ping'`, and `'pong'` events can be emitted
		*     multiple times in the same tick
		* @param {Function} [options.generateMask] The function used to generate the
		*     masking key
		* @param {Number} [options.maxPayload=0] The maximum allowed message size
		* @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or
		*     not to skip UTF-8 validation for text and close messages
		* @private
		*/
		setSocket(socket, head, options) {
			const receiver = new Receiver({
				allowSynchronousEvents: options.allowSynchronousEvents,
				binaryType: this.binaryType,
				extensions: this._extensions,
				isServer: this._isServer,
				maxPayload: options.maxPayload,
				skipUTF8Validation: options.skipUTF8Validation
			});
			const sender = new Sender(socket, this._extensions, options.generateMask);
			this._receiver = receiver;
			this._sender = sender;
			this._socket = socket;
			receiver[kWebSocket] = this;
			sender[kWebSocket] = this;
			socket[kWebSocket] = this;
			receiver.on("conclude", receiverOnConclude);
			receiver.on("drain", receiverOnDrain);
			receiver.on("error", receiverOnError);
			receiver.on("message", receiverOnMessage);
			receiver.on("ping", receiverOnPing);
			receiver.on("pong", receiverOnPong);
			sender.onerror = senderOnError;
			if (socket.setTimeout) socket.setTimeout(0);
			if (socket.setNoDelay) socket.setNoDelay();
			if (head.length > 0) socket.unshift(head);
			socket.on("close", socketOnClose);
			socket.on("data", socketOnData);
			socket.on("end", socketOnEnd);
			socket.on("error", socketOnError);
			this._readyState = WebSocket.OPEN;
			this.emit("open");
		}
		/**
		* Emit the `'close'` event.
		*
		* @private
		*/
		emitClose() {
			if (!this._socket) {
				this._readyState = WebSocket.CLOSED;
				this.emit("close", this._closeCode, this._closeMessage);
				return;
			}
			if (this._extensions[PerMessageDeflate.extensionName]) {
				this._extensions[PerMessageDeflate.extensionName].cleanup();
			}
			this._receiver.removeAllListeners();
			this._readyState = WebSocket.CLOSED;
			this.emit("close", this._closeCode, this._closeMessage);
		}
		/**
		* Start a closing handshake.
		*
		*          +----------+   +-----------+   +----------+
		*     - - -|ws.close()|-->|close frame|-->|ws.close()|- - -
		*    |     +----------+   +-----------+   +----------+     |
		*          +----------+   +-----------+         |
		* CLOSING  |ws.close()|<--|close frame|<--+-----+       CLOSING
		*          +----------+   +-----------+   |
		*    |           |                        |   +---+        |
		*                +------------------------+-->|fin| - - - -
		*    |         +---+                      |   +---+
		*     - - - - -|fin|<---------------------+
		*              +---+
		*
		* @param {Number} [code] Status code explaining why the connection is closing
		* @param {(String|Buffer)} [data] The reason why the connection is
		*     closing
		* @public
		*/
		close(code, data) {
			if (this.readyState === WebSocket.CLOSED) return;
			if (this.readyState === WebSocket.CONNECTING) {
				const msg = "WebSocket was closed before the connection was established";
				abortHandshake(this, this._req, msg);
				return;
			}
			if (this.readyState === WebSocket.CLOSING) {
				if (this._closeFrameSent && (this._closeFrameReceived || this._receiver._writableState.errorEmitted)) {
					this._socket.end();
				}
				return;
			}
			this._readyState = WebSocket.CLOSING;
			this._sender.close(code, data, !this._isServer, (err) => {
				if (err) return;
				this._closeFrameSent = true;
				if (this._closeFrameReceived || this._receiver._writableState.errorEmitted) {
					this._socket.end();
				}
			});
			setCloseTimer(this);
		}
		/**
		* Pause the socket.
		*
		* @public
		*/
		pause() {
			if (this.readyState === WebSocket.CONNECTING || this.readyState === WebSocket.CLOSED) {
				return;
			}
			this._paused = true;
			this._socket.pause();
		}
		/**
		* Send a ping.
		*
		* @param {*} [data] The data to send
		* @param {Boolean} [mask] Indicates whether or not to mask `data`
		* @param {Function} [cb] Callback which is executed when the ping is sent
		* @public
		*/
		ping(data, mask, cb) {
			if (this.readyState === WebSocket.CONNECTING) {
				throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");
			}
			if (typeof data === "function") {
				cb = data;
				data = mask = undefined;
			} else if (typeof mask === "function") {
				cb = mask;
				mask = undefined;
			}
			if (typeof data === "number") data = data.toString();
			if (this.readyState !== WebSocket.OPEN) {
				sendAfterClose(this, data, cb);
				return;
			}
			if (mask === undefined) mask = !this._isServer;
			this._sender.ping(data || EMPTY_BUFFER, mask, cb);
		}
		/**
		* Send a pong.
		*
		* @param {*} [data] The data to send
		* @param {Boolean} [mask] Indicates whether or not to mask `data`
		* @param {Function} [cb] Callback which is executed when the pong is sent
		* @public
		*/
		pong(data, mask, cb) {
			if (this.readyState === WebSocket.CONNECTING) {
				throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");
			}
			if (typeof data === "function") {
				cb = data;
				data = mask = undefined;
			} else if (typeof mask === "function") {
				cb = mask;
				mask = undefined;
			}
			if (typeof data === "number") data = data.toString();
			if (this.readyState !== WebSocket.OPEN) {
				sendAfterClose(this, data, cb);
				return;
			}
			if (mask === undefined) mask = !this._isServer;
			this._sender.pong(data || EMPTY_BUFFER, mask, cb);
		}
		/**
		* Resume the socket.
		*
		* @public
		*/
		resume() {
			if (this.readyState === WebSocket.CONNECTING || this.readyState === WebSocket.CLOSED) {
				return;
			}
			this._paused = false;
			if (!this._receiver._writableState.needDrain) this._socket.resume();
		}
		/**
		* Send a data message.
		*
		* @param {*} data The message to send
		* @param {Object} [options] Options object
		* @param {Boolean} [options.binary] Specifies whether `data` is binary or
		*     text
		* @param {Boolean} [options.compress] Specifies whether or not to compress
		*     `data`
		* @param {Boolean} [options.fin=true] Specifies whether the fragment is the
		*     last one
		* @param {Boolean} [options.mask] Specifies whether or not to mask `data`
		* @param {Function} [cb] Callback which is executed when data is written out
		* @public
		*/
		send(data, options, cb) {
			if (this.readyState === WebSocket.CONNECTING) {
				throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");
			}
			if (typeof options === "function") {
				cb = options;
				options = {};
			}
			if (typeof data === "number") data = data.toString();
			if (this.readyState !== WebSocket.OPEN) {
				sendAfterClose(this, data, cb);
				return;
			}
			const opts = {
				binary: typeof data !== "string",
				mask: !this._isServer,
				compress: true,
				fin: true,
				...options
			};
			if (!this._extensions[PerMessageDeflate.extensionName]) {
				opts.compress = false;
			}
			this._sender.send(data || EMPTY_BUFFER, opts, cb);
		}
		/**
		* Forcibly close the connection.
		*
		* @public
		*/
		terminate() {
			if (this.readyState === WebSocket.CLOSED) return;
			if (this.readyState === WebSocket.CONNECTING) {
				const msg = "WebSocket was closed before the connection was established";
				abortHandshake(this, this._req, msg);
				return;
			}
			if (this._socket) {
				this._readyState = WebSocket.CLOSING;
				this._socket.destroy();
			}
		}
	};
	/**
	* @constant {Number} CONNECTING
	* @memberof WebSocket
	*/
	Object.defineProperty(WebSocket, "CONNECTING", {
		enumerable: true,
		value: readyStates.indexOf("CONNECTING")
	});
	/**
	* @constant {Number} CONNECTING
	* @memberof WebSocket.prototype
	*/
	Object.defineProperty(WebSocket.prototype, "CONNECTING", {
		enumerable: true,
		value: readyStates.indexOf("CONNECTING")
	});
	/**
	* @constant {Number} OPEN
	* @memberof WebSocket
	*/
	Object.defineProperty(WebSocket, "OPEN", {
		enumerable: true,
		value: readyStates.indexOf("OPEN")
	});
	/**
	* @constant {Number} OPEN
	* @memberof WebSocket.prototype
	*/
	Object.defineProperty(WebSocket.prototype, "OPEN", {
		enumerable: true,
		value: readyStates.indexOf("OPEN")
	});
	/**
	* @constant {Number} CLOSING
	* @memberof WebSocket
	*/
	Object.defineProperty(WebSocket, "CLOSING", {
		enumerable: true,
		value: readyStates.indexOf("CLOSING")
	});
	/**
	* @constant {Number} CLOSING
	* @memberof WebSocket.prototype
	*/
	Object.defineProperty(WebSocket.prototype, "CLOSING", {
		enumerable: true,
		value: readyStates.indexOf("CLOSING")
	});
	/**
	* @constant {Number} CLOSED
	* @memberof WebSocket
	*/
	Object.defineProperty(WebSocket, "CLOSED", {
		enumerable: true,
		value: readyStates.indexOf("CLOSED")
	});
	/**
	* @constant {Number} CLOSED
	* @memberof WebSocket.prototype
	*/
	Object.defineProperty(WebSocket.prototype, "CLOSED", {
		enumerable: true,
		value: readyStates.indexOf("CLOSED")
	});
	[
		"binaryType",
		"bufferedAmount",
		"extensions",
		"isPaused",
		"protocol",
		"readyState",
		"url"
	].forEach((property) => {
		Object.defineProperty(WebSocket.prototype, property, { enumerable: true });
	});
	[
		"open",
		"error",
		"close",
		"message"
	].forEach((method) => {
		Object.defineProperty(WebSocket.prototype, `on${method}`, {
			enumerable: true,
			get() {
				for (const listener of this.listeners(method)) {
					if (listener[kForOnEventAttribute]) return listener[kListener];
				}
				return null;
			},
			set(handler) {
				for (const listener of this.listeners(method)) {
					if (listener[kForOnEventAttribute]) {
						this.removeListener(method, listener);
						break;
					}
				}
				if (typeof handler !== "function") return;
				this.addEventListener(method, handler, { [kForOnEventAttribute]: true });
			}
		});
	});
	WebSocket.prototype.addEventListener = addEventListener;
	WebSocket.prototype.removeEventListener = removeEventListener;
	module.exports = WebSocket;
	/**
	* Initialize a WebSocket client.
	*
	* @param {WebSocket} websocket The client to initialize
	* @param {(String|URL)} address The URL to which to connect
	* @param {Array} protocols The subprotocols
	* @param {Object} [options] Connection options
	* @param {Boolean} [options.allowSynchronousEvents=true] Specifies whether any
	*     of the `'message'`, `'ping'`, and `'pong'` events can be emitted multiple
	*     times in the same tick
	* @param {Boolean} [options.autoPong=true] Specifies whether or not to
	*     automatically send a pong in response to a ping
	* @param {Function} [options.finishRequest] A function which can be used to
	*     customize the headers of each http request before it is sent
	* @param {Boolean} [options.followRedirects=false] Whether or not to follow
	*     redirects
	* @param {Function} [options.generateMask] The function used to generate the
	*     masking key
	* @param {Number} [options.handshakeTimeout] Timeout in milliseconds for the
	*     handshake request
	* @param {Number} [options.maxPayload=104857600] The maximum allowed message
	*     size
	* @param {Number} [options.maxRedirects=10] The maximum number of redirects
	*     allowed
	* @param {String} [options.origin] Value of the `Origin` or
	*     `Sec-WebSocket-Origin` header
	* @param {(Boolean|Object)} [options.perMessageDeflate=true] Enable/disable
	*     permessage-deflate
	* @param {Number} [options.protocolVersion=13] Value of the
	*     `Sec-WebSocket-Version` header
	* @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or
	*     not to skip UTF-8 validation for text and close messages
	* @private
	*/
	function initAsClient(websocket, address, protocols, options) {
		const opts = {
			allowSynchronousEvents: true,
			autoPong: true,
			protocolVersion: protocolVersions[1],
			maxPayload: 100 * 1024 * 1024,
			skipUTF8Validation: false,
			perMessageDeflate: true,
			followRedirects: false,
			maxRedirects: 10,
			...options,
			socketPath: undefined,
			hostname: undefined,
			protocol: undefined,
			timeout: undefined,
			method: "GET",
			host: undefined,
			path: undefined,
			port: undefined
		};
		websocket._autoPong = opts.autoPong;
		if (!protocolVersions.includes(opts.protocolVersion)) {
			throw new RangeError(`Unsupported protocol version: ${opts.protocolVersion} ` + `(supported versions: ${protocolVersions.join(", ")})`);
		}
		let parsedUrl;
		if (address instanceof URL$2) {
			parsedUrl = address;
		} else {
			try {
				parsedUrl = new URL$2(address);
			} catch (e) {
				throw new SyntaxError(`Invalid URL: ${address}`);
			}
		}
		if (parsedUrl.protocol === "http:") {
			parsedUrl.protocol = "ws:";
		} else if (parsedUrl.protocol === "https:") {
			parsedUrl.protocol = "wss:";
		}
		websocket._url = parsedUrl.href;
		const isSecure = parsedUrl.protocol === "wss:";
		const isIpcUrl = parsedUrl.protocol === "ws+unix:";
		let invalidUrlMessage;
		if (parsedUrl.protocol !== "ws:" && !isSecure && !isIpcUrl) {
			invalidUrlMessage = "The URL's protocol must be one of \"ws:\", \"wss:\", " + "\"http:\", \"https:\", or \"ws+unix:\"";
		} else if (isIpcUrl && !parsedUrl.pathname) {
			invalidUrlMessage = "The URL's pathname is empty";
		} else if (parsedUrl.hash) {
			invalidUrlMessage = "The URL contains a fragment identifier";
		}
		if (invalidUrlMessage) {
			const err = new SyntaxError(invalidUrlMessage);
			if (websocket._redirects === 0) {
				throw err;
			} else {
				emitErrorAndClose(websocket, err);
				return;
			}
		}
		const defaultPort = isSecure ? 443 : 80;
		const key = randomBytes(16).toString("base64");
		const request = isSecure ? https$6.request : http$12.request;
		const protocolSet = new Set();
		let perMessageDeflate;
		opts.createConnection = opts.createConnection || (isSecure ? tlsConnect : netConnect);
		opts.defaultPort = opts.defaultPort || defaultPort;
		opts.port = parsedUrl.port || defaultPort;
		opts.host = parsedUrl.hostname.startsWith("[") ? parsedUrl.hostname.slice(1, -1) : parsedUrl.hostname;
		opts.headers = {
			...opts.headers,
			"Sec-WebSocket-Version": opts.protocolVersion,
			"Sec-WebSocket-Key": key,
			Connection: "Upgrade",
			Upgrade: "websocket"
		};
		opts.path = parsedUrl.pathname + parsedUrl.search;
		opts.timeout = opts.handshakeTimeout;
		if (opts.perMessageDeflate) {
			perMessageDeflate = new PerMessageDeflate(opts.perMessageDeflate !== true ? opts.perMessageDeflate : {}, false, opts.maxPayload);
			opts.headers["Sec-WebSocket-Extensions"] = format({ [PerMessageDeflate.extensionName]: perMessageDeflate.offer() });
		}
		if (protocols.length) {
			for (const protocol of protocols) {
				if (typeof protocol !== "string" || !subprotocolRegex.test(protocol) || protocolSet.has(protocol)) {
					throw new SyntaxError("An invalid or duplicated subprotocol was specified");
				}
				protocolSet.add(protocol);
			}
			opts.headers["Sec-WebSocket-Protocol"] = protocols.join(",");
		}
		if (opts.origin) {
			if (opts.protocolVersion < 13) {
				opts.headers["Sec-WebSocket-Origin"] = opts.origin;
			} else {
				opts.headers.Origin = opts.origin;
			}
		}
		if (parsedUrl.username || parsedUrl.password) {
			opts.auth = `${parsedUrl.username}:${parsedUrl.password}`;
		}
		if (isIpcUrl) {
			const parts = opts.path.split(":");
			opts.socketPath = parts[0];
			opts.path = parts[1];
		}
		let req;
		if (opts.followRedirects) {
			if (websocket._redirects === 0) {
				websocket._originalIpc = isIpcUrl;
				websocket._originalSecure = isSecure;
				websocket._originalHostOrSocketPath = isIpcUrl ? opts.socketPath : parsedUrl.host;
				const headers = options && options.headers;
				options = {
					...options,
					headers: {}
				};
				if (headers) {
					for (const [key, value] of Object.entries(headers)) {
						options.headers[key.toLowerCase()] = value;
					}
				}
			} else if (websocket.listenerCount("redirect") === 0) {
				const isSameHost = isIpcUrl ? websocket._originalIpc ? opts.socketPath === websocket._originalHostOrSocketPath : false : websocket._originalIpc ? false : parsedUrl.host === websocket._originalHostOrSocketPath;
				if (!isSameHost || websocket._originalSecure && !isSecure) {
					delete opts.headers.authorization;
					delete opts.headers.cookie;
					if (!isSameHost) delete opts.headers.host;
					opts.auth = undefined;
				}
			}
			if (opts.auth && !options.headers.authorization) {
				options.headers.authorization = "Basic " + Buffer.from(opts.auth).toString("base64");
			}
			req = websocket._req = request(opts);
			if (websocket._redirects) {
				websocket.emit("redirect", websocket.url, req);
			}
		} else {
			req = websocket._req = request(opts);
		}
		if (opts.timeout) {
			req.on("timeout", () => {
				abortHandshake(websocket, req, "Opening handshake has timed out");
			});
		}
		req.on("error", (err) => {
			if (req === null || req[kAborted]) return;
			req = websocket._req = null;
			emitErrorAndClose(websocket, err);
		});
		req.on("response", (res) => {
			const location = res.headers.location;
			const statusCode = res.statusCode;
			if (location && opts.followRedirects && statusCode >= 300 && statusCode < 400) {
				if (++websocket._redirects > opts.maxRedirects) {
					abortHandshake(websocket, req, "Maximum redirects exceeded");
					return;
				}
				req.abort();
				let addr;
				try {
					addr = new URL$2(location, address);
				} catch (e) {
					const err = new SyntaxError(`Invalid URL: ${location}`);
					emitErrorAndClose(websocket, err);
					return;
				}
				initAsClient(websocket, addr, protocols, options);
			} else if (!websocket.emit("unexpected-response", req, res)) {
				abortHandshake(websocket, req, `Unexpected server response: ${res.statusCode}`);
			}
		});
		req.on("upgrade", (res, socket, head) => {
			websocket.emit("upgrade", res);
			if (websocket.readyState !== WebSocket.CONNECTING) return;
			req = websocket._req = null;
			const upgrade = res.headers.upgrade;
			if (upgrade === undefined || upgrade.toLowerCase() !== "websocket") {
				abortHandshake(websocket, socket, "Invalid Upgrade header");
				return;
			}
			const digest = createHash$2("sha1").update(key + GUID).digest("base64");
			if (res.headers["sec-websocket-accept"] !== digest) {
				abortHandshake(websocket, socket, "Invalid Sec-WebSocket-Accept header");
				return;
			}
			const serverProt = res.headers["sec-websocket-protocol"];
			let protError;
			if (serverProt !== undefined) {
				if (!protocolSet.size) {
					protError = "Server sent a subprotocol but none was requested";
				} else if (!protocolSet.has(serverProt)) {
					protError = "Server sent an invalid subprotocol";
				}
			} else if (protocolSet.size) {
				protError = "Server sent no subprotocol";
			}
			if (protError) {
				abortHandshake(websocket, socket, protError);
				return;
			}
			if (serverProt) websocket._protocol = serverProt;
			const secWebSocketExtensions = res.headers["sec-websocket-extensions"];
			if (secWebSocketExtensions !== undefined) {
				if (!perMessageDeflate) {
					const message = "Server sent a Sec-WebSocket-Extensions header but no extension " + "was requested";
					abortHandshake(websocket, socket, message);
					return;
				}
				let extensions;
				try {
					extensions = parse(secWebSocketExtensions);
				} catch (err) {
					const message = "Invalid Sec-WebSocket-Extensions header";
					abortHandshake(websocket, socket, message);
					return;
				}
				const extensionNames = Object.keys(extensions);
				if (extensionNames.length !== 1 || extensionNames[0] !== PerMessageDeflate.extensionName) {
					const message = "Server indicated an extension that was not requested";
					abortHandshake(websocket, socket, message);
					return;
				}
				try {
					perMessageDeflate.accept(extensions[PerMessageDeflate.extensionName]);
				} catch (err) {
					const message = "Invalid Sec-WebSocket-Extensions header";
					abortHandshake(websocket, socket, message);
					return;
				}
				websocket._extensions[PerMessageDeflate.extensionName] = perMessageDeflate;
			}
			websocket.setSocket(socket, head, {
				allowSynchronousEvents: opts.allowSynchronousEvents,
				generateMask: opts.generateMask,
				maxPayload: opts.maxPayload,
				skipUTF8Validation: opts.skipUTF8Validation
			});
		});
		if (opts.finishRequest) {
			opts.finishRequest(req, websocket);
		} else {
			req.end();
		}
	}
	/**
	* Emit the `'error'` and `'close'` events.
	*
	* @param {WebSocket} websocket The WebSocket instance
	* @param {Error} The error to emit
	* @private
	*/
	function emitErrorAndClose(websocket, err) {
		websocket._readyState = WebSocket.CLOSING;
		websocket._errorEmitted = true;
		websocket.emit("error", err);
		websocket.emitClose();
	}
	/**
	* Create a `net.Socket` and initiate a connection.
	*
	* @param {Object} options Connection options
	* @return {net.Socket} The newly created socket used to start the connection
	* @private
	*/
	function netConnect(options) {
		options.path = options.socketPath;
		return net$6.connect(options);
	}
	/**
	* Create a `tls.TLSSocket` and initiate a connection.
	*
	* @param {Object} options Connection options
	* @return {tls.TLSSocket} The newly created socket used to start the connection
	* @private
	*/
	function tlsConnect(options) {
		options.path = undefined;
		if (!options.servername && options.servername !== "") {
			options.servername = net$6.isIP(options.host) ? "" : options.host;
		}
		return tls$2.connect(options);
	}
	/**
	* Abort the handshake and emit an error.
	*
	* @param {WebSocket} websocket The WebSocket instance
	* @param {(http.ClientRequest|net.Socket|tls.Socket)} stream The request to
	*     abort or the socket to destroy
	* @param {String} message The error message
	* @private
	*/
	function abortHandshake(websocket, stream, message) {
		websocket._readyState = WebSocket.CLOSING;
		const err = new Error(message);
		Error.captureStackTrace(err, abortHandshake);
		if (stream.setHeader) {
			stream[kAborted] = true;
			stream.abort();
			if (stream.socket && !stream.socket.destroyed) {
				stream.socket.destroy();
			}
			process.nextTick(emitErrorAndClose, websocket, err);
		} else {
			stream.destroy(err);
			stream.once("error", websocket.emit.bind(websocket, "error"));
			stream.once("close", websocket.emitClose.bind(websocket));
		}
	}
	/**
	* Handle cases where the `ping()`, `pong()`, or `send()` methods are called
	* when the `readyState` attribute is `CLOSING` or `CLOSED`.
	*
	* @param {WebSocket} websocket The WebSocket instance
	* @param {*} [data] The data to send
	* @param {Function} [cb] Callback
	* @private
	*/
	function sendAfterClose(websocket, data, cb) {
		if (data) {
			const length = isBlob(data) ? data.size : toBuffer(data).length;
			if (websocket._socket) websocket._sender._bufferedBytes += length;
			else websocket._bufferedAmount += length;
		}
		if (cb) {
			const err = new Error(`WebSocket is not open: readyState ${websocket.readyState} ` + `(${readyStates[websocket.readyState]})`);
			process.nextTick(cb, err);
		}
	}
	/**
	* The listener of the `Receiver` `'conclude'` event.
	*
	* @param {Number} code The status code
	* @param {Buffer} reason The reason for closing
	* @private
	*/
	function receiverOnConclude(code, reason) {
		const websocket = this[kWebSocket];
		websocket._closeFrameReceived = true;
		websocket._closeMessage = reason;
		websocket._closeCode = code;
		if (websocket._socket[kWebSocket] === undefined) return;
		websocket._socket.removeListener("data", socketOnData);
		process.nextTick(resume, websocket._socket);
		if (code === 1005) websocket.close();
		else websocket.close(code, reason);
	}
	/**
	* The listener of the `Receiver` `'drain'` event.
	*
	* @private
	*/
	function receiverOnDrain() {
		const websocket = this[kWebSocket];
		if (!websocket.isPaused) websocket._socket.resume();
	}
	/**
	* The listener of the `Receiver` `'error'` event.
	*
	* @param {(RangeError|Error)} err The emitted error
	* @private
	*/
	function receiverOnError(err) {
		const websocket = this[kWebSocket];
		if (websocket._socket[kWebSocket] !== undefined) {
			websocket._socket.removeListener("data", socketOnData);
			process.nextTick(resume, websocket._socket);
			websocket.close(err[kStatusCode]);
		}
		if (!websocket._errorEmitted) {
			websocket._errorEmitted = true;
			websocket.emit("error", err);
		}
	}
	/**
	* The listener of the `Receiver` `'finish'` event.
	*
	* @private
	*/
	function receiverOnFinish() {
		this[kWebSocket].emitClose();
	}
	/**
	* The listener of the `Receiver` `'message'` event.
	*
	* @param {Buffer|ArrayBuffer|Buffer[])} data The message
	* @param {Boolean} isBinary Specifies whether the message is binary or not
	* @private
	*/
	function receiverOnMessage(data, isBinary) {
		this[kWebSocket].emit("message", data, isBinary);
	}
	/**
	* The listener of the `Receiver` `'ping'` event.
	*
	* @param {Buffer} data The data included in the ping frame
	* @private
	*/
	function receiverOnPing(data) {
		const websocket = this[kWebSocket];
		if (websocket._autoPong) websocket.pong(data, !this._isServer, NOOP);
		websocket.emit("ping", data);
	}
	/**
	* The listener of the `Receiver` `'pong'` event.
	*
	* @param {Buffer} data The data included in the pong frame
	* @private
	*/
	function receiverOnPong(data) {
		this[kWebSocket].emit("pong", data);
	}
	/**
	* Resume a readable stream
	*
	* @param {Readable} stream The readable stream
	* @private
	*/
	function resume(stream) {
		stream.resume();
	}
	/**
	* The `Sender` error event handler.
	*
	* @param {Error} The error
	* @private
	*/
	function senderOnError(err) {
		const websocket = this[kWebSocket];
		if (websocket.readyState === WebSocket.CLOSED) return;
		if (websocket.readyState === WebSocket.OPEN) {
			websocket._readyState = WebSocket.CLOSING;
			setCloseTimer(websocket);
		}
		this._socket.end();
		if (!websocket._errorEmitted) {
			websocket._errorEmitted = true;
			websocket.emit("error", err);
		}
	}
	/**
	* Set a timer to destroy the underlying raw socket of a WebSocket.
	*
	* @param {WebSocket} websocket The WebSocket instance
	* @private
	*/
	function setCloseTimer(websocket) {
		websocket._closeTimer = setTimeout(websocket._socket.destroy.bind(websocket._socket), closeTimeout);
	}
	/**
	* The listener of the socket `'close'` event.
	*
	* @private
	*/
	function socketOnClose() {
		const websocket = this[kWebSocket];
		this.removeListener("close", socketOnClose);
		this.removeListener("data", socketOnData);
		this.removeListener("end", socketOnEnd);
		websocket._readyState = WebSocket.CLOSING;
		let chunk;
		if (!this._readableState.endEmitted && !websocket._closeFrameReceived && !websocket._receiver._writableState.errorEmitted && (chunk = websocket._socket.read()) !== null) {
			websocket._receiver.write(chunk);
		}
		websocket._receiver.end();
		this[kWebSocket] = undefined;
		clearTimeout(websocket._closeTimer);
		if (websocket._receiver._writableState.finished || websocket._receiver._writableState.errorEmitted) {
			websocket.emitClose();
		} else {
			websocket._receiver.on("error", receiverOnFinish);
			websocket._receiver.on("finish", receiverOnFinish);
		}
	}
	/**
	* The listener of the socket `'data'` event.
	*
	* @param {Buffer} chunk A chunk of data
	* @private
	*/
	function socketOnData(chunk) {
		if (!this[kWebSocket]._receiver.write(chunk)) {
			this.pause();
		}
	}
	/**
	* The listener of the socket `'end'` event.
	*
	* @private
	*/
	function socketOnEnd() {
		const websocket = this[kWebSocket];
		websocket._readyState = WebSocket.CLOSING;
		websocket._receiver.end();
		this.end();
	}
	/**
	* The listener of the socket `'error'` event.
	*
	* @private
	*/
	function socketOnError() {
		const websocket = this[kWebSocket];
		this.removeListener("error", socketOnError);
		this.on("error", NOOP);
		if (websocket) {
			websocket._readyState = WebSocket.CLOSING;
			this.destroy();
		}
	}
}));

//#endregion
//#region ../node_modules/ws/lib/stream.js
var require_stream = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const WebSocket = require_websocket$1();
	const { Duplex: Duplex$2 } = __require("stream");
	/**
	* Emits the `'close'` event on a stream.
	*
	* @param {Duplex} stream The stream.
	* @private
	*/
	function emitClose(stream) {
		stream.emit("close");
	}
	/**
	* The listener of the `'end'` event.
	*
	* @private
	*/
	function duplexOnEnd() {
		if (!this.destroyed && this._writableState.finished) {
			this.destroy();
		}
	}
	/**
	* The listener of the `'error'` event.
	*
	* @param {Error} err The error
	* @private
	*/
	function duplexOnError(err) {
		this.removeListener("error", duplexOnError);
		this.destroy();
		if (this.listenerCount("error") === 0) {
			this.emit("error", err);
		}
	}
	/**
	* Wraps a `WebSocket` in a duplex stream.
	*
	* @param {WebSocket} ws The `WebSocket` to wrap
	* @param {Object} [options] The options for the `Duplex` constructor
	* @return {Duplex} The duplex stream
	* @public
	*/
	function createWebSocketStream(ws, options) {
		let terminateOnDestroy = true;
		const duplex = new Duplex$2({
			...options,
			autoDestroy: false,
			emitClose: false,
			objectMode: false,
			writableObjectMode: false
		});
		ws.on("message", function message(msg, isBinary) {
			const data = !isBinary && duplex._readableState.objectMode ? msg.toString() : msg;
			if (!duplex.push(data)) ws.pause();
		});
		ws.once("error", function error(err) {
			if (duplex.destroyed) return;
			terminateOnDestroy = false;
			duplex.destroy(err);
		});
		ws.once("close", function close() {
			if (duplex.destroyed) return;
			duplex.push(null);
		});
		duplex._destroy = function(err, callback) {
			if (ws.readyState === ws.CLOSED) {
				callback(err);
				process.nextTick(emitClose, duplex);
				return;
			}
			let called = false;
			ws.once("error", function error(err) {
				called = true;
				callback(err);
			});
			ws.once("close", function close() {
				if (!called) callback(err);
				process.nextTick(emitClose, duplex);
			});
			if (terminateOnDestroy) ws.terminate();
		};
		duplex._final = function(callback) {
			if (ws.readyState === ws.CONNECTING) {
				ws.once("open", function open() {
					duplex._final(callback);
				});
				return;
			}
			if (ws._socket === null) return;
			if (ws._socket._writableState.finished) {
				callback();
				if (duplex._readableState.endEmitted) duplex.destroy();
			} else {
				ws._socket.once("finish", function finish() {
					callback();
				});
				ws.close();
			}
		};
		duplex._read = function() {
			if (ws.isPaused) ws.resume();
		};
		duplex._write = function(chunk, encoding, callback) {
			if (ws.readyState === ws.CONNECTING) {
				ws.once("open", function open() {
					duplex._write(chunk, encoding, callback);
				});
				return;
			}
			ws.send(chunk, callback);
		};
		duplex.on("end", duplexOnEnd);
		duplex.on("error", duplexOnError);
		return duplex;
	}
	module.exports = createWebSocketStream;
}));

//#endregion
//#region ../node_modules/ws/lib/subprotocol.js
var require_subprotocol = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { tokenChars } = require_validation$2();
	/**
	* Parses the `Sec-WebSocket-Protocol` header into a set of subprotocol names.
	*
	* @param {String} header The field value of the header
	* @return {Set} The subprotocol names
	* @public
	*/
	function parse(header) {
		const protocols = new Set();
		let start = -1;
		let end = -1;
		let i = 0;
		for (i; i < header.length; i++) {
			const code = header.charCodeAt(i);
			if (end === -1 && tokenChars[code] === 1) {
				if (start === -1) start = i;
			} else if (i !== 0 && (code === 32 || code === 9)) {
				if (end === -1 && start !== -1) end = i;
			} else if (code === 44) {
				if (start === -1) {
					throw new SyntaxError(`Unexpected character at index ${i}`);
				}
				if (end === -1) end = i;
				const protocol = header.slice(start, end);
				if (protocols.has(protocol)) {
					throw new SyntaxError(`The "${protocol}" subprotocol is duplicated`);
				}
				protocols.add(protocol);
				start = end = -1;
			} else {
				throw new SyntaxError(`Unexpected character at index ${i}`);
			}
		}
		if (start === -1 || end !== -1) {
			throw new SyntaxError("Unexpected end of input");
		}
		const protocol = header.slice(start, i);
		if (protocols.has(protocol)) {
			throw new SyntaxError(`The "${protocol}" subprotocol is duplicated`);
		}
		protocols.add(protocol);
		return protocols;
	}
	module.exports = { parse };
}));

//#endregion
//#region ../node_modules/ws/lib/websocket-server.js
var require_websocket_server = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const EventEmitter$9 = __require("events");
	const http$11 = __require("http");
	const { Duplex: Duplex$1 } = __require("stream");
	const { createHash: createHash$1 } = __require("crypto");
	const extension = require_extension();
	const PerMessageDeflate = require_permessage_deflate$1();
	const subprotocol = require_subprotocol();
	const WebSocket = require_websocket$1();
	const { GUID, kWebSocket } = require_constants$7();
	const keyRegex = /^[+/0-9A-Za-z]{22}==$/;
	const RUNNING = 0;
	const CLOSING = 1;
	const CLOSED = 2;
	/**
	* Class representing a WebSocket server.
	*
	* @extends EventEmitter
	*/
	var WebSocketServer = class extends EventEmitter$9 {
		/**
		* Create a `WebSocketServer` instance.
		*
		* @param {Object} options Configuration options
		* @param {Boolean} [options.allowSynchronousEvents=true] Specifies whether
		*     any of the `'message'`, `'ping'`, and `'pong'` events can be emitted
		*     multiple times in the same tick
		* @param {Boolean} [options.autoPong=true] Specifies whether or not to
		*     automatically send a pong in response to a ping
		* @param {Number} [options.backlog=511] The maximum length of the queue of
		*     pending connections
		* @param {Boolean} [options.clientTracking=true] Specifies whether or not to
		*     track clients
		* @param {Function} [options.handleProtocols] A hook to handle protocols
		* @param {String} [options.host] The hostname where to bind the server
		* @param {Number} [options.maxPayload=104857600] The maximum allowed message
		*     size
		* @param {Boolean} [options.noServer=false] Enable no server mode
		* @param {String} [options.path] Accept only connections matching this path
		* @param {(Boolean|Object)} [options.perMessageDeflate=false] Enable/disable
		*     permessage-deflate
		* @param {Number} [options.port] The port where to bind the server
		* @param {(http.Server|https.Server)} [options.server] A pre-created HTTP/S
		*     server to use
		* @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or
		*     not to skip UTF-8 validation for text and close messages
		* @param {Function} [options.verifyClient] A hook to reject connections
		* @param {Function} [options.WebSocket=WebSocket] Specifies the `WebSocket`
		*     class to use. It must be the `WebSocket` class or class that extends it
		* @param {Function} [callback] A listener for the `listening` event
		*/
		constructor(options, callback) {
			super();
			options = {
				allowSynchronousEvents: true,
				autoPong: true,
				maxPayload: 100 * 1024 * 1024,
				skipUTF8Validation: false,
				perMessageDeflate: false,
				handleProtocols: null,
				clientTracking: true,
				verifyClient: null,
				noServer: false,
				backlog: null,
				server: null,
				host: null,
				path: null,
				port: null,
				WebSocket,
				...options
			};
			if (options.port == null && !options.server && !options.noServer || options.port != null && (options.server || options.noServer) || options.server && options.noServer) {
				throw new TypeError("One and only one of the \"port\", \"server\", or \"noServer\" options " + "must be specified");
			}
			if (options.port != null) {
				this._server = http$11.createServer((req, res) => {
					const body = http$11.STATUS_CODES[426];
					res.writeHead(426, {
						"Content-Length": body.length,
						"Content-Type": "text/plain"
					});
					res.end(body);
				});
				this._server.listen(options.port, options.host, options.backlog, callback);
			} else if (options.server) {
				this._server = options.server;
			}
			if (this._server) {
				const emitConnection = this.emit.bind(this, "connection");
				this._removeListeners = addListeners(this._server, {
					listening: this.emit.bind(this, "listening"),
					error: this.emit.bind(this, "error"),
					upgrade: (req, socket, head) => {
						this.handleUpgrade(req, socket, head, emitConnection);
					}
				});
			}
			if (options.perMessageDeflate === true) options.perMessageDeflate = {};
			if (options.clientTracking) {
				this.clients = new Set();
				this._shouldEmitClose = false;
			}
			this.options = options;
			this._state = RUNNING;
		}
		/**
		* Returns the bound address, the address family name, and port of the server
		* as reported by the operating system if listening on an IP socket.
		* If the server is listening on a pipe or UNIX domain socket, the name is
		* returned as a string.
		*
		* @return {(Object|String|null)} The address of the server
		* @public
		*/
		address() {
			if (this.options.noServer) {
				throw new Error("The server is operating in \"noServer\" mode");
			}
			if (!this._server) return null;
			return this._server.address();
		}
		/**
		* Stop the server from accepting new connections and emit the `'close'` event
		* when all existing connections are closed.
		*
		* @param {Function} [cb] A one-time listener for the `'close'` event
		* @public
		*/
		close(cb) {
			if (this._state === CLOSED) {
				if (cb) {
					this.once("close", () => {
						cb(new Error("The server is not running"));
					});
				}
				process.nextTick(emitClose, this);
				return;
			}
			if (cb) this.once("close", cb);
			if (this._state === CLOSING) return;
			this._state = CLOSING;
			if (this.options.noServer || this.options.server) {
				if (this._server) {
					this._removeListeners();
					this._removeListeners = this._server = null;
				}
				if (this.clients) {
					if (!this.clients.size) {
						process.nextTick(emitClose, this);
					} else {
						this._shouldEmitClose = true;
					}
				} else {
					process.nextTick(emitClose, this);
				}
			} else {
				const server = this._server;
				this._removeListeners();
				this._removeListeners = this._server = null;
				server.close(() => {
					emitClose(this);
				});
			}
		}
		/**
		* See if a given request should be handled by this server instance.
		*
		* @param {http.IncomingMessage} req Request object to inspect
		* @return {Boolean} `true` if the request is valid, else `false`
		* @public
		*/
		shouldHandle(req) {
			if (this.options.path) {
				const index = req.url.indexOf("?");
				const pathname = index !== -1 ? req.url.slice(0, index) : req.url;
				if (pathname !== this.options.path) return false;
			}
			return true;
		}
		/**
		* Handle a HTTP Upgrade request.
		*
		* @param {http.IncomingMessage} req The request object
		* @param {Duplex} socket The network socket between the server and client
		* @param {Buffer} head The first packet of the upgraded stream
		* @param {Function} cb Callback
		* @public
		*/
		handleUpgrade(req, socket, head, cb) {
			socket.on("error", socketOnError);
			const key = req.headers["sec-websocket-key"];
			const upgrade = req.headers.upgrade;
			const version = +req.headers["sec-websocket-version"];
			if (req.method !== "GET") {
				const message = "Invalid HTTP method";
				abortHandshakeOrEmitwsClientError(this, req, socket, 405, message);
				return;
			}
			if (upgrade === undefined || upgrade.toLowerCase() !== "websocket") {
				const message = "Invalid Upgrade header";
				abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
				return;
			}
			if (key === undefined || !keyRegex.test(key)) {
				const message = "Missing or invalid Sec-WebSocket-Key header";
				abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
				return;
			}
			if (version !== 13 && version !== 8) {
				const message = "Missing or invalid Sec-WebSocket-Version header";
				abortHandshakeOrEmitwsClientError(this, req, socket, 400, message, { "Sec-WebSocket-Version": "13, 8" });
				return;
			}
			if (!this.shouldHandle(req)) {
				abortHandshake(socket, 400);
				return;
			}
			const secWebSocketProtocol = req.headers["sec-websocket-protocol"];
			let protocols = new Set();
			if (secWebSocketProtocol !== undefined) {
				try {
					protocols = subprotocol.parse(secWebSocketProtocol);
				} catch (err) {
					const message = "Invalid Sec-WebSocket-Protocol header";
					abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
					return;
				}
			}
			const secWebSocketExtensions = req.headers["sec-websocket-extensions"];
			const extensions = {};
			if (this.options.perMessageDeflate && secWebSocketExtensions !== undefined) {
				const perMessageDeflate = new PerMessageDeflate(this.options.perMessageDeflate, true, this.options.maxPayload);
				try {
					const offers = extension.parse(secWebSocketExtensions);
					if (offers[PerMessageDeflate.extensionName]) {
						perMessageDeflate.accept(offers[PerMessageDeflate.extensionName]);
						extensions[PerMessageDeflate.extensionName] = perMessageDeflate;
					}
				} catch (err) {
					const message = "Invalid or unacceptable Sec-WebSocket-Extensions header";
					abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
					return;
				}
			}
			if (this.options.verifyClient) {
				const info = {
					origin: req.headers[`${version === 8 ? "sec-websocket-origin" : "origin"}`],
					secure: !!(req.socket.authorized || req.socket.encrypted),
					req
				};
				if (this.options.verifyClient.length === 2) {
					this.options.verifyClient(info, (verified, code, message, headers) => {
						if (!verified) {
							return abortHandshake(socket, code || 401, message, headers);
						}
						this.completeUpgrade(extensions, key, protocols, req, socket, head, cb);
					});
					return;
				}
				if (!this.options.verifyClient(info)) return abortHandshake(socket, 401);
			}
			this.completeUpgrade(extensions, key, protocols, req, socket, head, cb);
		}
		/**
		* Upgrade the connection to WebSocket.
		*
		* @param {Object} extensions The accepted extensions
		* @param {String} key The value of the `Sec-WebSocket-Key` header
		* @param {Set} protocols The subprotocols
		* @param {http.IncomingMessage} req The request object
		* @param {Duplex} socket The network socket between the server and client
		* @param {Buffer} head The first packet of the upgraded stream
		* @param {Function} cb Callback
		* @throws {Error} If called more than once with the same socket
		* @private
		*/
		completeUpgrade(extensions, key, protocols, req, socket, head, cb) {
			if (!socket.readable || !socket.writable) return socket.destroy();
			if (socket[kWebSocket]) {
				throw new Error("server.handleUpgrade() was called more than once with the same " + "socket, possibly due to a misconfiguration");
			}
			if (this._state > RUNNING) return abortHandshake(socket, 503);
			const digest = createHash$1("sha1").update(key + GUID).digest("base64");
			const headers = [
				"HTTP/1.1 101 Switching Protocols",
				"Upgrade: websocket",
				"Connection: Upgrade",
				`Sec-WebSocket-Accept: ${digest}`
			];
			const ws = new this.options.WebSocket(null, undefined, this.options);
			if (protocols.size) {
				const protocol = this.options.handleProtocols ? this.options.handleProtocols(protocols, req) : protocols.values().next().value;
				if (protocol) {
					headers.push(`Sec-WebSocket-Protocol: ${protocol}`);
					ws._protocol = protocol;
				}
			}
			if (extensions[PerMessageDeflate.extensionName]) {
				const params = extensions[PerMessageDeflate.extensionName].params;
				const value = extension.format({ [PerMessageDeflate.extensionName]: [params] });
				headers.push(`Sec-WebSocket-Extensions: ${value}`);
				ws._extensions = extensions;
			}
			this.emit("headers", headers, req);
			socket.write(headers.concat("\r\n").join("\r\n"));
			socket.removeListener("error", socketOnError);
			ws.setSocket(socket, head, {
				allowSynchronousEvents: this.options.allowSynchronousEvents,
				maxPayload: this.options.maxPayload,
				skipUTF8Validation: this.options.skipUTF8Validation
			});
			if (this.clients) {
				this.clients.add(ws);
				ws.on("close", () => {
					this.clients.delete(ws);
					if (this._shouldEmitClose && !this.clients.size) {
						process.nextTick(emitClose, this);
					}
				});
			}
			cb(ws, req);
		}
	};
	module.exports = WebSocketServer;
	/**
	* Add event listeners on an `EventEmitter` using a map of <event, listener>
	* pairs.
	*
	* @param {EventEmitter} server The event emitter
	* @param {Object.<String, Function>} map The listeners to add
	* @return {Function} A function that will remove the added listeners when
	*     called
	* @private
	*/
	function addListeners(server, map) {
		for (const event of Object.keys(map)) server.on(event, map[event]);
		return function removeListeners() {
			for (const event of Object.keys(map)) {
				server.removeListener(event, map[event]);
			}
		};
	}
	/**
	* Emit a `'close'` event on an `EventEmitter`.
	*
	* @param {EventEmitter} server The event emitter
	* @private
	*/
	function emitClose(server) {
		server._state = CLOSED;
		server.emit("close");
	}
	/**
	* Handle socket errors.
	*
	* @private
	*/
	function socketOnError() {
		this.destroy();
	}
	/**
	* Close the connection when preconditions are not fulfilled.
	*
	* @param {Duplex} socket The socket of the upgrade request
	* @param {Number} code The HTTP response status code
	* @param {String} [message] The HTTP response body
	* @param {Object} [headers] Additional HTTP response headers
	* @private
	*/
	function abortHandshake(socket, code, message, headers) {
		message = message || http$11.STATUS_CODES[code];
		headers = {
			Connection: "close",
			"Content-Type": "text/html",
			"Content-Length": Buffer.byteLength(message),
			...headers
		};
		socket.once("finish", socket.destroy);
		socket.end(`HTTP/1.1 ${code} ${http$11.STATUS_CODES[code]}\r\n` + Object.keys(headers).map((h) => `${h}: ${headers[h]}`).join("\r\n") + "\r\n\r\n" + message);
	}
	/**
	* Emit a `'wsClientError'` event on a `WebSocketServer` if there is at least
	* one listener for it, otherwise call `abortHandshake()`.
	*
	* @param {WebSocketServer} server The WebSocket server
	* @param {http.IncomingMessage} req The request object
	* @param {Duplex} socket The socket of the upgrade request
	* @param {Number} code The HTTP response status code
	* @param {String} message The HTTP response body
	* @param {Object} [headers] The HTTP response headers
	* @private
	*/
	function abortHandshakeOrEmitwsClientError(server, req, socket, code, message, headers) {
		if (server.listenerCount("wsClientError")) {
			const err = new Error(message);
			Error.captureStackTrace(err, abortHandshakeOrEmitwsClientError);
			server.emit("wsClientError", err, socket, req);
		} else {
			abortHandshake(socket, code, message, headers);
		}
	}
}));

//#endregion
//#region ../node_modules/ws/wrapper.mjs
var import_XMLHttpRequest = require_XMLHttpRequest();
var import_stream = /* @__PURE__ */ __toESM(require_stream(), 1);
var import_receiver = /* @__PURE__ */ __toESM(require_receiver$1(), 1);
var import_sender = /* @__PURE__ */ __toESM(require_sender$1(), 1);
var import_websocket = /* @__PURE__ */ __toESM(require_websocket$1(), 1);
var import_websocket_server = /* @__PURE__ */ __toESM(require_websocket_server(), 1);
var wrapper_default = import_websocket.default;

//#endregion
//#region ../node_modules/bignumber.js/bignumber.mjs
var bignumber_exports = /* @__PURE__ */ __exportAll({
	BigNumber: () => BigNumber,
	default: () => BigNumber
});
function clone$2(configObject) {
	var div, convertBase, parseNumeric, P = BigNumber.prototype = {
		constructor: BigNumber,
		toString: null,
		valueOf: null
	}, ONE = new BigNumber(1), DECIMAL_PLACES = 20, ROUNDING_MODE = 4, TO_EXP_NEG = -7, TO_EXP_POS = 21, MIN_EXP = -1e7, MAX_EXP = 1e7, CRYPTO = false, MODULO_MODE = 1, POW_PRECISION = 0, FORMAT = {
		prefix: "",
		groupSize: 3,
		secondaryGroupSize: 0,
		groupSeparator: ",",
		decimalSeparator: ".",
		fractionGroupSize: 0,
		fractionGroupSeparator: "\xA0",
		suffix: ""
	}, ALPHABET = "0123456789abcdefghijklmnopqrstuvwxyz", alphabetHasNormalDecimalDigits = true;
	function BigNumber(v, b) {
		var alphabet, c, caseChanged, e, i, isNum, len, str, x = this;
		if (!(x instanceof BigNumber)) return new BigNumber(v, b);
		if (b == null) {
			if (v && v._isBigNumber === true) {
				x.s = v.s;
				if (!v.c || v.e > MAX_EXP) {
					x.c = x.e = null;
				} else if (v.e < MIN_EXP) {
					x.c = [x.e = 0];
				} else {
					x.e = v.e;
					x.c = v.c.slice();
				}
				return;
			}
			if ((isNum = typeof v == "number") && v * 0 == 0) {
				x.s = 1 / v < 0 ? (v = -v, -1) : 1;
				if (v === ~~v) {
					for (e = 0, i = v; i >= 10; i /= 10, e++);
					if (e > MAX_EXP) {
						x.c = x.e = null;
					} else {
						x.e = e;
						x.c = [v];
					}
					return;
				}
				str = String(v);
			} else {
				if (!isNumeric.test(str = String(v))) return parseNumeric(x, str, isNum);
				x.s = str.charCodeAt(0) == 45 ? (str = str.slice(1), -1) : 1;
			}
			if ((e = str.indexOf(".")) > -1) str = str.replace(".", "");
			if ((i = str.search(/e/i)) > 0) {
				if (e < 0) e = i;
				e += +str.slice(i + 1);
				str = str.substring(0, i);
			} else if (e < 0) {
				e = str.length;
			}
		} else {
			intCheck(b, 2, ALPHABET.length, "Base");
			if (b == 10 && alphabetHasNormalDecimalDigits) {
				x = new BigNumber(v);
				return round(x, DECIMAL_PLACES + x.e + 1, ROUNDING_MODE);
			}
			str = String(v);
			if (isNum = typeof v == "number") {
				if (v * 0 != 0) return parseNumeric(x, str, isNum, b);
				x.s = 1 / v < 0 ? (str = str.slice(1), -1) : 1;
				if (BigNumber.DEBUG && str.replace(/^0\.0*|\./, "").length > 15) {
					throw Error(tooManyDigits + v);
				}
			} else {
				x.s = str.charCodeAt(0) === 45 ? (str = str.slice(1), -1) : 1;
			}
			alphabet = ALPHABET.slice(0, b);
			e = i = 0;
			for (len = str.length; i < len; i++) {
				if (alphabet.indexOf(c = str.charAt(i)) < 0) {
					if (c == ".") {
						if (i > e) {
							e = len;
							continue;
						}
					} else if (!caseChanged) {
						if (str == str.toUpperCase() && (str = str.toLowerCase()) || str == str.toLowerCase() && (str = str.toUpperCase())) {
							caseChanged = true;
							i = -1;
							e = 0;
							continue;
						}
					}
					return parseNumeric(x, String(v), isNum, b);
				}
			}
			isNum = false;
			str = convertBase(str, b, 10, x.s);
			if ((e = str.indexOf(".")) > -1) str = str.replace(".", "");
			else e = str.length;
		}
		for (i = 0; str.charCodeAt(i) === 48; i++);
		for (len = str.length; str.charCodeAt(--len) === 48;);
		if (str = str.slice(i, ++len)) {
			len -= i;
			if (isNum && BigNumber.DEBUG && len > 15 && (v > MAX_SAFE_INTEGER || v !== mathfloor(v))) {
				throw Error(tooManyDigits + x.s * v);
			}
			if ((e = e - i - 1) > MAX_EXP) {
				x.c = x.e = null;
			} else if (e < MIN_EXP) {
				x.c = [x.e = 0];
			} else {
				x.e = e;
				x.c = [];
				i = (e + 1) % LOG_BASE;
				if (e < 0) i += LOG_BASE;
				if (i < len) {
					if (i) x.c.push(+str.slice(0, i));
					for (len -= LOG_BASE; i < len;) {
						x.c.push(+str.slice(i, i += LOG_BASE));
					}
					i = LOG_BASE - (str = str.slice(i)).length;
				} else {
					i -= len;
				}
				for (; i--; str += "0");
				x.c.push(+str);
			}
		} else {
			x.c = [x.e = 0];
		}
	}
	BigNumber.clone = clone$2;
	BigNumber.ROUND_UP = 0;
	BigNumber.ROUND_DOWN = 1;
	BigNumber.ROUND_CEIL = 2;
	BigNumber.ROUND_FLOOR = 3;
	BigNumber.ROUND_HALF_UP = 4;
	BigNumber.ROUND_HALF_DOWN = 5;
	BigNumber.ROUND_HALF_EVEN = 6;
	BigNumber.ROUND_HALF_CEIL = 7;
	BigNumber.ROUND_HALF_FLOOR = 8;
	BigNumber.EUCLID = 9;
	BigNumber.config = BigNumber.set = function(obj) {
		var p, v;
		if (obj != null) {
			if (typeof obj == "object") {
				if (obj.hasOwnProperty(p = "DECIMAL_PLACES")) {
					v = obj[p];
					intCheck(v, 0, MAX, p);
					DECIMAL_PLACES = v;
				}
				if (obj.hasOwnProperty(p = "ROUNDING_MODE")) {
					v = obj[p];
					intCheck(v, 0, 8, p);
					ROUNDING_MODE = v;
				}
				if (obj.hasOwnProperty(p = "EXPONENTIAL_AT")) {
					v = obj[p];
					if (v && v.pop) {
						intCheck(v[0], -MAX, 0, p);
						intCheck(v[1], 0, MAX, p);
						TO_EXP_NEG = v[0];
						TO_EXP_POS = v[1];
					} else {
						intCheck(v, -MAX, MAX, p);
						TO_EXP_NEG = -(TO_EXP_POS = v < 0 ? -v : v);
					}
				}
				if (obj.hasOwnProperty(p = "RANGE")) {
					v = obj[p];
					if (v && v.pop) {
						intCheck(v[0], -MAX, -1, p);
						intCheck(v[1], 1, MAX, p);
						MIN_EXP = v[0];
						MAX_EXP = v[1];
					} else {
						intCheck(v, -MAX, MAX, p);
						if (v) {
							MIN_EXP = -(MAX_EXP = v < 0 ? -v : v);
						} else {
							throw Error(bignumberError + p + " cannot be zero: " + v);
						}
					}
				}
				if (obj.hasOwnProperty(p = "CRYPTO")) {
					v = obj[p];
					if (v === !!v) {
						if (v) {
							if (typeof crypto != "undefined" && crypto && (crypto.getRandomValues || crypto.randomBytes)) {
								CRYPTO = v;
							} else {
								CRYPTO = !v;
								throw Error(bignumberError + "crypto unavailable");
							}
						} else {
							CRYPTO = v;
						}
					} else {
						throw Error(bignumberError + p + " not true or false: " + v);
					}
				}
				if (obj.hasOwnProperty(p = "MODULO_MODE")) {
					v = obj[p];
					intCheck(v, 0, 9, p);
					MODULO_MODE = v;
				}
				if (obj.hasOwnProperty(p = "POW_PRECISION")) {
					v = obj[p];
					intCheck(v, 0, MAX, p);
					POW_PRECISION = v;
				}
				if (obj.hasOwnProperty(p = "FORMAT")) {
					v = obj[p];
					if (typeof v == "object") FORMAT = v;
					else throw Error(bignumberError + p + " not an object: " + v);
				}
				if (obj.hasOwnProperty(p = "ALPHABET")) {
					v = obj[p];
					if (typeof v == "string" && !/^.?$|[+\-.\s]|(.).*\1/.test(v)) {
						alphabetHasNormalDecimalDigits = v.slice(0, 10) == "0123456789";
						ALPHABET = v;
					} else {
						throw Error(bignumberError + p + " invalid: " + v);
					}
				}
			} else {
				throw Error(bignumberError + "Object expected: " + obj);
			}
		}
		return {
			DECIMAL_PLACES,
			ROUNDING_MODE,
			EXPONENTIAL_AT: [TO_EXP_NEG, TO_EXP_POS],
			RANGE: [MIN_EXP, MAX_EXP],
			CRYPTO,
			MODULO_MODE,
			POW_PRECISION,
			FORMAT,
			ALPHABET
		};
	};
	BigNumber.isBigNumber = function(v) {
		if (!v || v._isBigNumber !== true) return false;
		if (!BigNumber.DEBUG) return true;
		var i, n, c = v.c, e = v.e, s = v.s;
		out: if ({}.toString.call(c) == "[object Array]") {
			if ((s === 1 || s === -1) && e >= -MAX && e <= MAX && e === mathfloor(e)) {
				if (c[0] === 0) {
					if (e === 0 && c.length === 1) return true;
					break out;
				}
				i = (e + 1) % LOG_BASE;
				if (i < 1) i += LOG_BASE;
				if (String(c[0]).length == i) {
					for (i = 0; i < c.length; i++) {
						n = c[i];
						if (n < 0 || n >= BASE || n !== mathfloor(n)) break out;
					}
					if (n !== 0) return true;
				}
			}
		} else if (c === null && e === null && (s === null || s === 1 || s === -1)) {
			return true;
		}
		throw Error(bignumberError + "Invalid BigNumber: " + v);
	};
	BigNumber.maximum = BigNumber.max = function() {
		return maxOrMin(arguments, -1);
	};
	BigNumber.minimum = BigNumber.min = function() {
		return maxOrMin(arguments, 1);
	};
	BigNumber.random = (function() {
		var pow2_53 = 9007199254740992;
		var random53bitInt = Math.random() * pow2_53 & 2097151 ? function() {
			return mathfloor(Math.random() * pow2_53);
		} : function() {
			return (Math.random() * 1073741824 | 0) * 8388608 + (Math.random() * 8388608 | 0);
		};
		return function(dp) {
			var a, b, e, k, v, i = 0, c = [], rand = new BigNumber(ONE);
			if (dp == null) dp = DECIMAL_PLACES;
			else intCheck(dp, 0, MAX);
			k = mathceil(dp / LOG_BASE);
			if (CRYPTO) {
				if (crypto.getRandomValues) {
					a = crypto.getRandomValues(new Uint32Array(k *= 2));
					for (; i < k;) {
						v = a[i] * 131072 + (a[i + 1] >>> 11);
						if (v >= 9e15) {
							b = crypto.getRandomValues(new Uint32Array(2));
							a[i] = b[0];
							a[i + 1] = b[1];
						} else {
							c.push(v % 0x5af3107a4000);
							i += 2;
						}
					}
					i = k / 2;
				} else if (crypto.randomBytes) {
					a = crypto.randomBytes(k *= 7);
					for (; i < k;) {
						v = (a[i] & 31) * 281474976710656 + a[i + 1] * 1099511627776 + a[i + 2] * 4294967296 + a[i + 3] * 16777216 + (a[i + 4] << 16) + (a[i + 5] << 8) + a[i + 6];
						if (v >= 9e15) {
							crypto.randomBytes(7).copy(a, i);
						} else {
							c.push(v % 0x5af3107a4000);
							i += 7;
						}
					}
					i = k / 7;
				} else {
					CRYPTO = false;
					throw Error(bignumberError + "crypto unavailable");
				}
			}
			if (!CRYPTO) {
				for (; i < k;) {
					v = random53bitInt();
					if (v < 9e15) c[i++] = v % 0x5af3107a4000;
				}
			}
			k = c[--i];
			dp %= LOG_BASE;
			if (k && dp) {
				v = POWS_TEN[LOG_BASE - dp];
				c[i] = mathfloor(k / v) * v;
			}
			for (; c[i] === 0; c.pop(), i--);
			if (i < 0) {
				c = [e = 0];
			} else {
				for (e = -1; c[0] === 0; c.splice(0, 1), e -= LOG_BASE);
				for (i = 1, v = c[0]; v >= 10; v /= 10, i++);
				if (i < LOG_BASE) e -= LOG_BASE - i;
			}
			rand.e = e;
			rand.c = c;
			return rand;
		};
	})();
	BigNumber.sum = function() {
		var i = 1, args = arguments, sum = new BigNumber(args[0]);
		for (; i < args.length;) sum = sum.plus(args[i++]);
		return sum;
	};
	convertBase = (function() {
		var decimal = "0123456789";
		function toBaseOut(str, baseIn, baseOut, alphabet) {
			var j, arr = [0], arrL, i = 0, len = str.length;
			for (; i < len;) {
				for (arrL = arr.length; arrL--; arr[arrL] *= baseIn);
				arr[0] += alphabet.indexOf(str.charAt(i++));
				for (j = 0; j < arr.length; j++) {
					if (arr[j] > baseOut - 1) {
						if (arr[j + 1] == null) arr[j + 1] = 0;
						arr[j + 1] += arr[j] / baseOut | 0;
						arr[j] %= baseOut;
					}
				}
			}
			return arr.reverse();
		}
		return function(str, baseIn, baseOut, sign, callerIsToString) {
			var alphabet, d, e, k, r, x, xc, y, i = str.indexOf("."), dp = DECIMAL_PLACES, rm = ROUNDING_MODE;
			if (i >= 0) {
				k = POW_PRECISION;
				POW_PRECISION = 0;
				str = str.replace(".", "");
				y = new BigNumber(baseIn);
				x = y.pow(str.length - i);
				POW_PRECISION = k;
				y.c = toBaseOut(toFixedPoint(coeffToString(x.c), x.e, "0"), 10, baseOut, decimal);
				y.e = y.c.length;
			}
			xc = toBaseOut(str, baseIn, baseOut, callerIsToString ? (alphabet = ALPHABET, decimal) : (alphabet = decimal, ALPHABET));
			e = k = xc.length;
			for (; xc[--k] == 0; xc.pop());
			if (!xc[0]) return alphabet.charAt(0);
			if (i < 0) {
				--e;
			} else {
				x.c = xc;
				x.e = e;
				x.s = sign;
				x = div(x, y, dp, rm, baseOut);
				xc = x.c;
				r = x.r;
				e = x.e;
			}
			d = e + dp + 1;
			i = xc[d];
			k = baseOut / 2;
			r = r || d < 0 || xc[d + 1] != null;
			r = rm < 4 ? (i != null || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2)) : i > k || i == k && (rm == 4 || r || rm == 6 && xc[d - 1] & 1 || rm == (x.s < 0 ? 8 : 7));
			if (d < 1 || !xc[0]) {
				str = r ? toFixedPoint(alphabet.charAt(1), -dp, alphabet.charAt(0)) : alphabet.charAt(0);
			} else {
				xc.length = d;
				if (r) {
					for (--baseOut; ++xc[--d] > baseOut;) {
						xc[d] = 0;
						if (!d) {
							++e;
							xc = [1].concat(xc);
						}
					}
				}
				for (k = xc.length; !xc[--k];);
				for (i = 0, str = ""; i <= k; str += alphabet.charAt(xc[i++]));
				str = toFixedPoint(str, e, alphabet.charAt(0));
			}
			return str;
		};
	})();
	div = (function() {
		function multiply(x, k, base) {
			var m, temp, xlo, xhi, carry = 0, i = x.length, klo = k % SQRT_BASE, khi = k / SQRT_BASE | 0;
			for (x = x.slice(); i--;) {
				xlo = x[i] % SQRT_BASE;
				xhi = x[i] / SQRT_BASE | 0;
				m = khi * xlo + xhi * klo;
				temp = klo * xlo + m % SQRT_BASE * SQRT_BASE + carry;
				carry = (temp / base | 0) + (m / SQRT_BASE | 0) + khi * xhi;
				x[i] = temp % base;
			}
			if (carry) x = [carry].concat(x);
			return x;
		}
		function compare(a, b, aL, bL) {
			var i, cmp;
			if (aL != bL) {
				cmp = aL > bL ? 1 : -1;
			} else {
				for (i = cmp = 0; i < aL; i++) {
					if (a[i] != b[i]) {
						cmp = a[i] > b[i] ? 1 : -1;
						break;
					}
				}
			}
			return cmp;
		}
		function subtract(a, b, aL, base) {
			var i = 0;
			for (; aL--;) {
				a[aL] -= i;
				i = a[aL] < b[aL] ? 1 : 0;
				a[aL] = i * base + a[aL] - b[aL];
			}
			for (; !a[0] && a.length > 1; a.splice(0, 1));
		}
		return function(x, y, dp, rm, base) {
			var cmp, e, i, more, n, prod, prodL, q, qc, rem, remL, rem0, xi, xL, yc0, yL, yz, s = x.s == y.s ? 1 : -1, xc = x.c, yc = y.c;
			if (!xc || !xc[0] || !yc || !yc[0]) {
				return new BigNumber(!x.s || !y.s || (xc ? yc && xc[0] == yc[0] : !yc) ? NaN : xc && xc[0] == 0 || !yc ? s * 0 : s / 0);
			}
			q = new BigNumber(s);
			qc = q.c = [];
			e = x.e - y.e;
			s = dp + e + 1;
			if (!base) {
				base = BASE;
				e = bitFloor(x.e / LOG_BASE) - bitFloor(y.e / LOG_BASE);
				s = s / LOG_BASE | 0;
			}
			for (i = 0; yc[i] == (xc[i] || 0); i++);
			if (yc[i] > (xc[i] || 0)) e--;
			if (s < 0) {
				qc.push(1);
				more = true;
			} else {
				xL = xc.length;
				yL = yc.length;
				i = 0;
				s += 2;
				n = mathfloor(base / (yc[0] + 1));
				if (n > 1) {
					yc = multiply(yc, n, base);
					xc = multiply(xc, n, base);
					yL = yc.length;
					xL = xc.length;
				}
				xi = yL;
				rem = xc.slice(0, yL);
				remL = rem.length;
				for (; remL < yL; rem[remL++] = 0);
				yz = yc.slice();
				yz = [0].concat(yz);
				yc0 = yc[0];
				if (yc[1] >= base / 2) yc0++;
				do {
					n = 0;
					cmp = compare(yc, rem, yL, remL);
					if (cmp < 0) {
						rem0 = rem[0];
						if (yL != remL) rem0 = rem0 * base + (rem[1] || 0);
						n = mathfloor(rem0 / yc0);
						if (n > 1) {
							if (n >= base) n = base - 1;
							prod = multiply(yc, n, base);
							prodL = prod.length;
							remL = rem.length;
							while (compare(prod, rem, prodL, remL) == 1) {
								n--;
								subtract(prod, yL < prodL ? yz : yc, prodL, base);
								prodL = prod.length;
								cmp = 1;
							}
						} else {
							if (n == 0) {
								cmp = n = 1;
							}
							prod = yc.slice();
							prodL = prod.length;
						}
						if (prodL < remL) prod = [0].concat(prod);
						subtract(rem, prod, remL, base);
						remL = rem.length;
						if (cmp == -1) {
							while (compare(yc, rem, yL, remL) < 1) {
								n++;
								subtract(rem, yL < remL ? yz : yc, remL, base);
								remL = rem.length;
							}
						}
					} else if (cmp === 0) {
						n++;
						rem = [0];
					}
					qc[i++] = n;
					if (rem[0]) {
						rem[remL++] = xc[xi] || 0;
					} else {
						rem = [xc[xi]];
						remL = 1;
					}
				} while ((xi++ < xL || rem[0] != null) && s--);
				more = rem[0] != null;
				if (!qc[0]) qc.splice(0, 1);
			}
			if (base == BASE) {
				for (i = 1, s = qc[0]; s >= 10; s /= 10, i++);
				round(q, dp + (q.e = i + e * LOG_BASE - 1) + 1, rm, more);
			} else {
				q.e = e;
				q.r = +more;
			}
			return q;
		};
	})();
	function format(n, i, rm, id) {
		var c0, e, ne, len, str;
		if (rm == null) rm = ROUNDING_MODE;
		else intCheck(rm, 0, 8);
		if (!n.c) return n.toString();
		c0 = n.c[0];
		ne = n.e;
		if (i == null) {
			str = coeffToString(n.c);
			str = id == 1 || id == 2 && (ne <= TO_EXP_NEG || ne >= TO_EXP_POS) ? toExponential(str, ne) : toFixedPoint(str, ne, "0");
		} else {
			n = round(new BigNumber(n), i, rm);
			e = n.e;
			str = coeffToString(n.c);
			len = str.length;
			if (id == 1 || id == 2 && (i <= e || e <= TO_EXP_NEG)) {
				for (; len < i; str += "0", len++);
				str = toExponential(str, e);
			} else {
				i -= ne + (id === 2 && e > ne);
				str = toFixedPoint(str, e, "0");
				if (e + 1 > len) {
					if (--i > 0) for (str += "."; i--; str += "0");
				} else {
					i += e - len;
					if (i > 0) {
						if (e + 1 == len) str += ".";
						for (; i--; str += "0");
					}
				}
			}
		}
		return n.s < 0 && c0 ? "-" + str : str;
	}
	function maxOrMin(args, n) {
		var k, y, i = 1, x = new BigNumber(args[0]);
		for (; i < args.length; i++) {
			y = new BigNumber(args[i]);
			if (!y.s || (k = compare(x, y)) === n || k === 0 && x.s === n) {
				x = y;
			}
		}
		return x;
	}
	function normalise(n, c, e) {
		var i = 1, j = c.length;
		for (; !c[--j]; c.pop());
		for (j = c[0]; j >= 10; j /= 10, i++);
		if ((e = i + e * LOG_BASE - 1) > MAX_EXP) {
			n.c = n.e = null;
		} else if (e < MIN_EXP) {
			n.c = [n.e = 0];
		} else {
			n.e = e;
			n.c = c;
		}
		return n;
	}
	parseNumeric = (function() {
		var basePrefix = /^(-?)0([xbo])(?=\w[\w.]*$)/i, dotAfter = /^([^.]+)\.$/, dotBefore = /^\.([^.]+)$/, isInfinityOrNaN = /^-?(Infinity|NaN)$/, whitespaceOrPlus = /^\s*\+(?=[\w.])|^\s+|\s+$/g;
		return function(x, str, isNum, b) {
			var base, s = isNum ? str : str.replace(whitespaceOrPlus, "");
			if (isInfinityOrNaN.test(s)) {
				x.s = isNaN(s) ? null : s < 0 ? -1 : 1;
			} else {
				if (!isNum) {
					s = s.replace(basePrefix, function(m, p1, p2) {
						base = (p2 = p2.toLowerCase()) == "x" ? 16 : p2 == "b" ? 2 : 8;
						return !b || b == base ? p1 : m;
					});
					if (b) {
						base = b;
						s = s.replace(dotAfter, "$1").replace(dotBefore, "0.$1");
					}
					if (str != s) return new BigNumber(s, base);
				}
				if (BigNumber.DEBUG) {
					throw Error(bignumberError + "Not a" + (b ? " base " + b : "") + " number: " + str);
				}
				x.s = null;
			}
			x.c = x.e = null;
		};
	})();
	function round(x, sd, rm, r) {
		var d, i, j, k, n, ni, rd, xc = x.c, pows10 = POWS_TEN;
		if (xc) {
			out: {
				for (d = 1, k = xc[0]; k >= 10; k /= 10, d++);
				i = sd - d;
				if (i < 0) {
					i += LOG_BASE;
					j = sd;
					n = xc[ni = 0];
					rd = mathfloor(n / pows10[d - j - 1] % 10);
				} else {
					ni = mathceil((i + 1) / LOG_BASE);
					if (ni >= xc.length) {
						if (r) {
							for (; xc.length <= ni; xc.push(0));
							n = rd = 0;
							d = 1;
							i %= LOG_BASE;
							j = i - LOG_BASE + 1;
						} else {
							break out;
						}
					} else {
						n = k = xc[ni];
						for (d = 1; k >= 10; k /= 10, d++);
						i %= LOG_BASE;
						j = i - LOG_BASE + d;
						rd = j < 0 ? 0 : mathfloor(n / pows10[d - j - 1] % 10);
					}
				}
				r = r || sd < 0 || xc[ni + 1] != null || (j < 0 ? n : n % pows10[d - j - 1]);
				r = rm < 4 ? (rd || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2)) : rd > 5 || rd == 5 && (rm == 4 || r || rm == 6 && (i > 0 ? j > 0 ? n / pows10[d - j] : 0 : xc[ni - 1]) % 10 & 1 || rm == (x.s < 0 ? 8 : 7));
				if (sd < 1 || !xc[0]) {
					xc.length = 0;
					if (r) {
						sd -= x.e + 1;
						xc[0] = pows10[(LOG_BASE - sd % LOG_BASE) % LOG_BASE];
						x.e = -sd || 0;
					} else {
						xc[0] = x.e = 0;
					}
					return x;
				}
				if (i == 0) {
					xc.length = ni;
					k = 1;
					ni--;
				} else {
					xc.length = ni + 1;
					k = pows10[LOG_BASE - i];
					xc[ni] = j > 0 ? mathfloor(n / pows10[d - j] % pows10[j]) * k : 0;
				}
				if (r) {
					for (;;) {
						if (ni == 0) {
							for (i = 1, j = xc[0]; j >= 10; j /= 10, i++);
							j = xc[0] += k;
							for (k = 1; j >= 10; j /= 10, k++);
							if (i != k) {
								x.e++;
								if (xc[0] == BASE) xc[0] = 1;
							}
							break;
						} else {
							xc[ni] += k;
							if (xc[ni] != BASE) break;
							xc[ni--] = 0;
							k = 1;
						}
					}
				}
				for (i = xc.length; xc[--i] === 0; xc.pop());
			}
			if (x.e > MAX_EXP) {
				x.c = x.e = null;
			} else if (x.e < MIN_EXP) {
				x.c = [x.e = 0];
			}
		}
		return x;
	}
	function valueOf(n) {
		var str, e = n.e;
		if (e === null) return n.toString();
		str = coeffToString(n.c);
		str = e <= TO_EXP_NEG || e >= TO_EXP_POS ? toExponential(str, e) : toFixedPoint(str, e, "0");
		return n.s < 0 ? "-" + str : str;
	}
	P.absoluteValue = P.abs = function() {
		var x = new BigNumber(this);
		if (x.s < 0) x.s = 1;
		return x;
	};
	P.comparedTo = function(y, b) {
		return compare(this, new BigNumber(y, b));
	};
	P.decimalPlaces = P.dp = function(dp, rm) {
		var c, n, v, x = this;
		if (dp != null) {
			intCheck(dp, 0, MAX);
			if (rm == null) rm = ROUNDING_MODE;
			else intCheck(rm, 0, 8);
			return round(new BigNumber(x), dp + x.e + 1, rm);
		}
		if (!(c = x.c)) return null;
		n = ((v = c.length - 1) - bitFloor(this.e / LOG_BASE)) * LOG_BASE;
		if (v = c[v]) for (; v % 10 == 0; v /= 10, n--);
		if (n < 0) n = 0;
		return n;
	};
	P.dividedBy = P.div = function(y, b) {
		return div(this, new BigNumber(y, b), DECIMAL_PLACES, ROUNDING_MODE);
	};
	P.dividedToIntegerBy = P.idiv = function(y, b) {
		return div(this, new BigNumber(y, b), 0, 1);
	};
	P.exponentiatedBy = P.pow = function(n, m) {
		var half, isModExp, i, k, more, nIsBig, nIsNeg, nIsOdd, y, x = this;
		n = new BigNumber(n);
		if (n.c && !n.isInteger()) {
			throw Error(bignumberError + "Exponent not an integer: " + valueOf(n));
		}
		if (m != null) m = new BigNumber(m);
		nIsBig = n.e > 14;
		if (!x.c || !x.c[0] || x.c[0] == 1 && !x.e && x.c.length == 1 || !n.c || !n.c[0]) {
			y = new BigNumber(Math.pow(+valueOf(x), nIsBig ? n.s * (2 - isOdd(n)) : +valueOf(n)));
			return m ? y.mod(m) : y;
		}
		nIsNeg = n.s < 0;
		if (m) {
			if (m.c ? !m.c[0] : !m.s) return new BigNumber(NaN);
			isModExp = !nIsNeg && x.isInteger() && m.isInteger();
			if (isModExp) x = x.mod(m);
		} else if (n.e > 9 && (x.e > 0 || x.e < -1 || (x.e == 0 ? x.c[0] > 1 || nIsBig && x.c[1] >= 24e7 : x.c[0] < 8e13 || nIsBig && x.c[0] <= 9999975e7))) {
			k = x.s < 0 && isOdd(n) ? -0 : 0;
			if (x.e > -1) k = 1 / k;
			return new BigNumber(nIsNeg ? 1 / k : k);
		} else if (POW_PRECISION) {
			k = mathceil(POW_PRECISION / LOG_BASE + 2);
		}
		if (nIsBig) {
			half = new BigNumber(.5);
			if (nIsNeg) n.s = 1;
			nIsOdd = isOdd(n);
		} else {
			i = Math.abs(+valueOf(n));
			nIsOdd = i % 2;
		}
		y = new BigNumber(ONE);
		for (;;) {
			if (nIsOdd) {
				y = y.times(x);
				if (!y.c) break;
				if (k) {
					if (y.c.length > k) y.c.length = k;
				} else if (isModExp) {
					y = y.mod(m);
				}
			}
			if (i) {
				i = mathfloor(i / 2);
				if (i === 0) break;
				nIsOdd = i % 2;
			} else {
				n = n.times(half);
				round(n, n.e + 1, 1);
				if (n.e > 14) {
					nIsOdd = isOdd(n);
				} else {
					i = +valueOf(n);
					if (i === 0) break;
					nIsOdd = i % 2;
				}
			}
			x = x.times(x);
			if (k) {
				if (x.c && x.c.length > k) x.c.length = k;
			} else if (isModExp) {
				x = x.mod(m);
			}
		}
		if (isModExp) return y;
		if (nIsNeg) y = ONE.div(y);
		return m ? y.mod(m) : k ? round(y, POW_PRECISION, ROUNDING_MODE, more) : y;
	};
	P.integerValue = function(rm) {
		var n = new BigNumber(this);
		if (rm == null) rm = ROUNDING_MODE;
		else intCheck(rm, 0, 8);
		return round(n, n.e + 1, rm);
	};
	P.isEqualTo = P.eq = function(y, b) {
		return compare(this, new BigNumber(y, b)) === 0;
	};
	P.isFinite = function() {
		return !!this.c;
	};
	P.isGreaterThan = P.gt = function(y, b) {
		return compare(this, new BigNumber(y, b)) > 0;
	};
	P.isGreaterThanOrEqualTo = P.gte = function(y, b) {
		return (b = compare(this, new BigNumber(y, b))) === 1 || b === 0;
	};
	P.isInteger = function() {
		return !!this.c && bitFloor(this.e / LOG_BASE) > this.c.length - 2;
	};
	P.isLessThan = P.lt = function(y, b) {
		return compare(this, new BigNumber(y, b)) < 0;
	};
	P.isLessThanOrEqualTo = P.lte = function(y, b) {
		return (b = compare(this, new BigNumber(y, b))) === -1 || b === 0;
	};
	P.isNaN = function() {
		return !this.s;
	};
	P.isNegative = function() {
		return this.s < 0;
	};
	P.isPositive = function() {
		return this.s > 0;
	};
	P.isZero = function() {
		return !!this.c && this.c[0] == 0;
	};
	P.minus = function(y, b) {
		var i, j, t, xLTy, x = this, a = x.s;
		y = new BigNumber(y, b);
		b = y.s;
		if (!a || !b) return new BigNumber(NaN);
		if (a != b) {
			y.s = -b;
			return x.plus(y);
		}
		var xe = x.e / LOG_BASE, ye = y.e / LOG_BASE, xc = x.c, yc = y.c;
		if (!xe || !ye) {
			if (!xc || !yc) return xc ? (y.s = -b, y) : new BigNumber(yc ? x : NaN);
			if (!xc[0] || !yc[0]) {
				return yc[0] ? (y.s = -b, y) : new BigNumber(xc[0] ? x : ROUNDING_MODE == 3 ? -0 : 0);
			}
		}
		xe = bitFloor(xe);
		ye = bitFloor(ye);
		xc = xc.slice();
		if (a = xe - ye) {
			if (xLTy = a < 0) {
				a = -a;
				t = xc;
			} else {
				ye = xe;
				t = yc;
			}
			t.reverse();
			for (b = a; b--; t.push(0));
			t.reverse();
		} else {
			j = (xLTy = (a = xc.length) < (b = yc.length)) ? a : b;
			for (a = b = 0; b < j; b++) {
				if (xc[b] != yc[b]) {
					xLTy = xc[b] < yc[b];
					break;
				}
			}
		}
		if (xLTy) {
			t = xc;
			xc = yc;
			yc = t;
			y.s = -y.s;
		}
		b = (j = yc.length) - (i = xc.length);
		if (b > 0) for (; b--; xc[i++] = 0);
		b = BASE - 1;
		for (; j > a;) {
			if (xc[--j] < yc[j]) {
				for (i = j; i && !xc[--i]; xc[i] = b);
				--xc[i];
				xc[j] += BASE;
			}
			xc[j] -= yc[j];
		}
		for (; xc[0] == 0; xc.splice(0, 1), --ye);
		if (!xc[0]) {
			y.s = ROUNDING_MODE == 3 ? -1 : 1;
			y.c = [y.e = 0];
			return y;
		}
		return normalise(y, xc, ye);
	};
	P.modulo = P.mod = function(y, b) {
		var q, s, x = this;
		y = new BigNumber(y, b);
		if (!x.c || !y.s || y.c && !y.c[0]) {
			return new BigNumber(NaN);
		} else if (!y.c || x.c && !x.c[0]) {
			return new BigNumber(x);
		}
		if (MODULO_MODE == 9) {
			s = y.s;
			y.s = 1;
			q = div(x, y, 0, 3);
			y.s = s;
			q.s *= s;
		} else {
			q = div(x, y, 0, MODULO_MODE);
		}
		y = x.minus(q.times(y));
		if (!y.c[0] && MODULO_MODE == 1) y.s = x.s;
		return y;
	};
	P.multipliedBy = P.times = function(y, b) {
		var c, e, i, j, k, m, xcL, xlo, xhi, ycL, ylo, yhi, zc, base, sqrtBase, x = this, xc = x.c, yc = (y = new BigNumber(y, b)).c;
		if (!xc || !yc || !xc[0] || !yc[0]) {
			if (!x.s || !y.s || xc && !xc[0] && !yc || yc && !yc[0] && !xc) {
				y.c = y.e = y.s = null;
			} else {
				y.s *= x.s;
				if (!xc || !yc) {
					y.c = y.e = null;
				} else {
					y.c = [0];
					y.e = 0;
				}
			}
			return y;
		}
		e = bitFloor(x.e / LOG_BASE) + bitFloor(y.e / LOG_BASE);
		y.s *= x.s;
		xcL = xc.length;
		ycL = yc.length;
		if (xcL < ycL) {
			zc = xc;
			xc = yc;
			yc = zc;
			i = xcL;
			xcL = ycL;
			ycL = i;
		}
		for (i = xcL + ycL, zc = []; i--; zc.push(0));
		base = BASE;
		sqrtBase = SQRT_BASE;
		for (i = ycL; --i >= 0;) {
			c = 0;
			ylo = yc[i] % sqrtBase;
			yhi = yc[i] / sqrtBase | 0;
			for (k = xcL, j = i + k; j > i;) {
				xlo = xc[--k] % sqrtBase;
				xhi = xc[k] / sqrtBase | 0;
				m = yhi * xlo + xhi * ylo;
				xlo = ylo * xlo + m % sqrtBase * sqrtBase + zc[j] + c;
				c = (xlo / base | 0) + (m / sqrtBase | 0) + yhi * xhi;
				zc[j--] = xlo % base;
			}
			zc[j] = c;
		}
		if (c) {
			++e;
		} else {
			zc.splice(0, 1);
		}
		return normalise(y, zc, e);
	};
	P.negated = function() {
		var x = new BigNumber(this);
		x.s = -x.s || null;
		return x;
	};
	P.plus = function(y, b) {
		var t, x = this, a = x.s;
		y = new BigNumber(y, b);
		b = y.s;
		if (!a || !b) return new BigNumber(NaN);
		if (a != b) {
			y.s = -b;
			return x.minus(y);
		}
		var xe = x.e / LOG_BASE, ye = y.e / LOG_BASE, xc = x.c, yc = y.c;
		if (!xe || !ye) {
			if (!xc || !yc) return new BigNumber(a / 0);
			if (!xc[0] || !yc[0]) return yc[0] ? y : new BigNumber(xc[0] ? x : a * 0);
		}
		xe = bitFloor(xe);
		ye = bitFloor(ye);
		xc = xc.slice();
		if (a = xe - ye) {
			if (a > 0) {
				ye = xe;
				t = yc;
			} else {
				a = -a;
				t = xc;
			}
			t.reverse();
			for (; a--; t.push(0));
			t.reverse();
		}
		a = xc.length;
		b = yc.length;
		if (a - b < 0) {
			t = yc;
			yc = xc;
			xc = t;
			b = a;
		}
		for (a = 0; b;) {
			a = (xc[--b] = xc[b] + yc[b] + a) / BASE | 0;
			xc[b] = BASE === xc[b] ? 0 : xc[b] % BASE;
		}
		if (a) {
			xc = [a].concat(xc);
			++ye;
		}
		return normalise(y, xc, ye);
	};
	P.precision = P.sd = function(sd, rm) {
		var c, n, v, x = this;
		if (sd != null && sd !== !!sd) {
			intCheck(sd, 1, MAX);
			if (rm == null) rm = ROUNDING_MODE;
			else intCheck(rm, 0, 8);
			return round(new BigNumber(x), sd, rm);
		}
		if (!(c = x.c)) return null;
		v = c.length - 1;
		n = v * LOG_BASE + 1;
		if (v = c[v]) {
			for (; v % 10 == 0; v /= 10, n--);
			for (v = c[0]; v >= 10; v /= 10, n++);
		}
		if (sd && x.e + 1 > n) n = x.e + 1;
		return n;
	};
	P.shiftedBy = function(k) {
		intCheck(k, -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER);
		return this.times("1e" + k);
	};
	P.squareRoot = P.sqrt = function() {
		var m, n, r, rep, t, x = this, c = x.c, s = x.s, e = x.e, dp = DECIMAL_PLACES + 4, half = new BigNumber("0.5");
		if (s !== 1 || !c || !c[0]) {
			return new BigNumber(!s || s < 0 && (!c || c[0]) ? NaN : c ? x : 1 / 0);
		}
		s = Math.sqrt(+valueOf(x));
		if (s == 0 || s == 1 / 0) {
			n = coeffToString(c);
			if ((n.length + e) % 2 == 0) n += "0";
			s = Math.sqrt(+n);
			e = bitFloor((e + 1) / 2) - (e < 0 || e % 2);
			if (s == 1 / 0) {
				n = "5e" + e;
			} else {
				n = s.toExponential();
				n = n.slice(0, n.indexOf("e") + 1) + e;
			}
			r = new BigNumber(n);
		} else {
			r = new BigNumber(s + "");
		}
		if (r.c[0]) {
			e = r.e;
			s = e + dp;
			if (s < 3) s = 0;
			for (;;) {
				t = r;
				r = half.times(t.plus(div(x, t, dp, 1)));
				if (coeffToString(t.c).slice(0, s) === (n = coeffToString(r.c)).slice(0, s)) {
					if (r.e < e) --s;
					n = n.slice(s - 3, s + 1);
					if (n == "9999" || !rep && n == "4999") {
						if (!rep) {
							round(t, t.e + DECIMAL_PLACES + 2, 0);
							if (t.times(t).eq(x)) {
								r = t;
								break;
							}
						}
						dp += 4;
						s += 4;
						rep = 1;
					} else {
						if (!+n || !+n.slice(1) && n.charAt(0) == "5") {
							round(r, r.e + DECIMAL_PLACES + 2, 1);
							m = !r.times(r).eq(x);
						}
						break;
					}
				}
			}
		}
		return round(r, r.e + DECIMAL_PLACES + 1, ROUNDING_MODE, m);
	};
	P.toExponential = function(dp, rm) {
		if (dp != null) {
			intCheck(dp, 0, MAX);
			dp++;
		}
		return format(this, dp, rm, 1);
	};
	P.toFixed = function(dp, rm) {
		if (dp != null) {
			intCheck(dp, 0, MAX);
			dp = dp + this.e + 1;
		}
		return format(this, dp, rm);
	};
	P.toFormat = function(dp, rm, format) {
		var str, x = this;
		if (format == null) {
			if (dp != null && rm && typeof rm == "object") {
				format = rm;
				rm = null;
			} else if (dp && typeof dp == "object") {
				format = dp;
				dp = rm = null;
			} else {
				format = FORMAT;
			}
		} else if (typeof format != "object") {
			throw Error(bignumberError + "Argument not an object: " + format);
		}
		str = x.toFixed(dp, rm);
		if (x.c) {
			var i, arr = str.split("."), g1 = +format.groupSize, g2 = +format.secondaryGroupSize, groupSeparator = format.groupSeparator || "", intPart = arr[0], fractionPart = arr[1], isNeg = x.s < 0, intDigits = isNeg ? intPart.slice(1) : intPart, len = intDigits.length;
			if (g2) {
				i = g1;
				g1 = g2;
				g2 = i;
				len -= i;
			}
			if (g1 > 0 && len > 0) {
				i = len % g1 || g1;
				intPart = intDigits.substr(0, i);
				for (; i < len; i += g1) intPart += groupSeparator + intDigits.substr(i, g1);
				if (g2 > 0) intPart += groupSeparator + intDigits.slice(i);
				if (isNeg) intPart = "-" + intPart;
			}
			str = fractionPart ? intPart + (format.decimalSeparator || "") + ((g2 = +format.fractionGroupSize) ? fractionPart.replace(new RegExp("\\d{" + g2 + "}\\B", "g"), "$&" + (format.fractionGroupSeparator || "")) : fractionPart) : intPart;
		}
		return (format.prefix || "") + str + (format.suffix || "");
	};
	P.toFraction = function(md) {
		var d, d0, d1, d2, e, exp, n, n0, n1, q, r, s, x = this, xc = x.c;
		if (md != null) {
			n = new BigNumber(md);
			if (!n.isInteger() && (n.c || n.s !== 1) || n.lt(ONE)) {
				throw Error(bignumberError + "Argument " + (n.isInteger() ? "out of range: " : "not an integer: ") + valueOf(n));
			}
		}
		if (!xc) return new BigNumber(x);
		d = new BigNumber(ONE);
		n1 = d0 = new BigNumber(ONE);
		d1 = n0 = new BigNumber(ONE);
		s = coeffToString(xc);
		e = d.e = s.length - x.e - 1;
		d.c[0] = POWS_TEN[(exp = e % LOG_BASE) < 0 ? LOG_BASE + exp : exp];
		md = !md || n.comparedTo(d) > 0 ? e > 0 ? d : n1 : n;
		exp = MAX_EXP;
		MAX_EXP = 1 / 0;
		n = new BigNumber(s);
		n0.c[0] = 0;
		for (;;) {
			q = div(n, d, 0, 1);
			d2 = d0.plus(q.times(d1));
			if (d2.comparedTo(md) == 1) break;
			d0 = d1;
			d1 = d2;
			n1 = n0.plus(q.times(d2 = n1));
			n0 = d2;
			d = n.minus(q.times(d2 = d));
			n = d2;
		}
		d2 = div(md.minus(d0), d1, 0, 1);
		n0 = n0.plus(d2.times(n1));
		d0 = d0.plus(d2.times(d1));
		n0.s = n1.s = x.s;
		e = e * 2;
		r = div(n1, d1, e, ROUNDING_MODE).minus(x).abs().comparedTo(div(n0, d0, e, ROUNDING_MODE).minus(x).abs()) < 1 ? [n1, d1] : [n0, d0];
		MAX_EXP = exp;
		return r;
	};
	P.toNumber = function() {
		return +valueOf(this);
	};
	P.toPrecision = function(sd, rm) {
		if (sd != null) intCheck(sd, 1, MAX);
		return format(this, sd, rm, 2);
	};
	P.toString = function(b) {
		var str, n = this, s = n.s, e = n.e;
		if (e === null) {
			if (s) {
				str = "Infinity";
				if (s < 0) str = "-" + str;
			} else {
				str = "NaN";
			}
		} else {
			if (b == null) {
				str = e <= TO_EXP_NEG || e >= TO_EXP_POS ? toExponential(coeffToString(n.c), e) : toFixedPoint(coeffToString(n.c), e, "0");
			} else if (b === 10 && alphabetHasNormalDecimalDigits) {
				n = round(new BigNumber(n), DECIMAL_PLACES + e + 1, ROUNDING_MODE);
				str = toFixedPoint(coeffToString(n.c), n.e, "0");
			} else {
				intCheck(b, 2, ALPHABET.length, "Base");
				str = convertBase(toFixedPoint(coeffToString(n.c), e, "0"), 10, b, s, true);
			}
			if (s < 0 && n.c[0]) str = "-" + str;
		}
		return str;
	};
	P.valueOf = P.toJSON = function() {
		return valueOf(this);
	};
	P._isBigNumber = true;
	P[Symbol.toStringTag] = "BigNumber";
	P[Symbol.for("nodejs.util.inspect.custom")] = P.valueOf;
	if (configObject != null) BigNumber.set(configObject);
	return BigNumber;
}
function bitFloor(n) {
	var i = n | 0;
	return n > 0 || n === i ? i : i - 1;
}
function coeffToString(a) {
	var s, z, i = 1, j = a.length, r = a[0] + "";
	for (; i < j;) {
		s = a[i++] + "";
		z = LOG_BASE - s.length;
		for (; z--; s = "0" + s);
		r += s;
	}
	for (j = r.length; r.charCodeAt(--j) === 48;);
	return r.slice(0, j + 1 || 1);
}
function compare(x, y) {
	var a, b, xc = x.c, yc = y.c, i = x.s, j = y.s, k = x.e, l = y.e;
	if (!i || !j) return null;
	a = xc && !xc[0];
	b = yc && !yc[0];
	if (a || b) return a ? b ? 0 : -j : i;
	if (i != j) return i;
	a = i < 0;
	b = k == l;
	if (!xc || !yc) return b ? 0 : !xc ^ a ? 1 : -1;
	if (!b) return k > l ^ a ? 1 : -1;
	j = (k = xc.length) < (l = yc.length) ? k : l;
	for (i = 0; i < j; i++) if (xc[i] != yc[i]) return xc[i] > yc[i] ^ a ? 1 : -1;
	return k == l ? 0 : k > l ^ a ? 1 : -1;
}
function intCheck(n, min, max, name) {
	if (n < min || n > max || n !== mathfloor(n)) {
		throw Error(bignumberError + (name || "Argument") + (typeof n == "number" ? n < min || n > max ? " out of range: " : " not an integer: " : " not a primitive number: ") + String(n));
	}
}
function isOdd(n) {
	var k = n.c.length - 1;
	return bitFloor(n.e / LOG_BASE) == k && n.c[k] % 2 != 0;
}
function toExponential(str, e) {
	return (str.length > 1 ? str.charAt(0) + "." + str.slice(1) : str) + (e < 0 ? "e" : "e+") + e;
}
function toFixedPoint(str, e, z) {
	var len, zs;
	if (e < 0) {
		for (zs = z + "."; ++e; zs += z);
		str = zs + str;
	} else {
		len = str.length;
		if (++e > len) {
			for (zs = z, e -= len; --e; zs += z);
			str += zs;
		} else if (e < len) {
			str = str.slice(0, e) + "." + str.slice(e);
		}
	}
	return str;
}
var isNumeric, mathceil, mathfloor, bignumberError, tooManyDigits, BASE, LOG_BASE, MAX_SAFE_INTEGER, POWS_TEN, SQRT_BASE, MAX, BigNumber;
var init_bignumber = __esmMin((() => {
	isNumeric = /^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i, mathceil = Math.ceil, mathfloor = Math.floor, bignumberError = "[BigNumber Error] ", tooManyDigits = bignumberError + "Number primitive has more than 15 significant digits: ", BASE = 0x5af3107a4000, LOG_BASE = 14, MAX_SAFE_INTEGER = 9007199254740991, POWS_TEN = [
		1,
		10,
		100,
		1e3,
		1e4,
		1e5,
		1e6,
		1e7,
		1e8,
		1e9,
		1e10,
		1e11,
		0xe8d4a51000,
		0x9184e72a000
	], SQRT_BASE = 1e7, MAX = 1e9;
	BigNumber = clone$2();
}));

//#endregion
//#region ../node_modules/json-bigint/lib/stringify.js
var require_stringify$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var BigNumber = (init_bignumber(), __toCommonJS(bignumber_exports));
	var JSON = module.exports;
	(function() {
		"use strict";
		function f(n) {
			return n < 10 ? "0" + n : n;
		}
		var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, gap, indent, meta = {
			"\b": "\\b",
			"	": "\\t",
			"\n": "\\n",
			"\f": "\\f",
			"\r": "\\r",
			"\"": "\\\"",
			"\\": "\\\\"
		}, rep;
		function quote(string) {
			escapable.lastIndex = 0;
			return escapable.test(string) ? "\"" + string.replace(escapable, function(a) {
				var c = meta[a];
				return typeof c === "string" ? c : "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4);
			}) + "\"" : "\"" + string + "\"";
		}
		function str(key, holder) {
			var i, k, v, length, mind = gap, partial, value = holder[key], isBigNumber = value != null && (value instanceof BigNumber || BigNumber.isBigNumber(value));
			if (value && typeof value === "object" && typeof value.toJSON === "function") {
				value = value.toJSON(key);
			}
			if (typeof rep === "function") {
				value = rep.call(holder, key, value);
			}
			switch (typeof value) {
				case "string": if (isBigNumber) {
					return value;
				} else {
					return quote(value);
				}
				case "number": return isFinite(value) ? String(value) : "null";
				case "boolean":
				case "null":
				case "bigint": return String(value);
				case "object":
					if (!value) {
						return "null";
					}
					gap += indent;
					partial = [];
					if (Object.prototype.toString.apply(value) === "[object Array]") {
						length = value.length;
						for (i = 0; i < length; i += 1) {
							partial[i] = str(i, value) || "null";
						}
						v = partial.length === 0 ? "[]" : gap ? "[\n" + gap + partial.join(",\n" + gap) + "\n" + mind + "]" : "[" + partial.join(",") + "]";
						gap = mind;
						return v;
					}
					if (rep && typeof rep === "object") {
						length = rep.length;
						for (i = 0; i < length; i += 1) {
							if (typeof rep[i] === "string") {
								k = rep[i];
								v = str(k, value);
								if (v) {
									partial.push(quote(k) + (gap ? ": " : ":") + v);
								}
							}
						}
					} else {
						Object.keys(value).forEach(function(k) {
							var v = str(k, value);
							if (v) {
								partial.push(quote(k) + (gap ? ": " : ":") + v);
							}
						});
					}
					v = partial.length === 0 ? "{}" : gap ? "{\n" + gap + partial.join(",\n" + gap) + "\n" + mind + "}" : "{" + partial.join(",") + "}";
					gap = mind;
					return v;
			}
		}
		if (typeof JSON.stringify !== "function") {
			JSON.stringify = function(value, replacer, space) {
				var i;
				gap = "";
				indent = "";
				if (typeof space === "number") {
					for (i = 0; i < space; i += 1) {
						indent += " ";
					}
				} else if (typeof space === "string") {
					indent = space;
				}
				rep = replacer;
				if (replacer && typeof replacer !== "function" && (typeof replacer !== "object" || typeof replacer.length !== "number")) {
					throw new Error("JSON.stringify");
				}
				return str("", { "": value });
			};
		}
	})();
}));

//#endregion
//#region ../node_modules/json-bigint/lib/parse.js
var require_parse$6 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var BigNumber = null;
	const suspectProtoRx = /(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/;
	const suspectConstructorRx = /(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/;
	var json_parse = function(options) {
		"use strict";
		var _options = {
			strict: false,
			storeAsString: false,
			alwaysParseAsBig: false,
			useNativeBigInt: false,
			protoAction: "error",
			constructorAction: "error"
		};
		if (options !== undefined && options !== null) {
			if (options.strict === true) {
				_options.strict = true;
			}
			if (options.storeAsString === true) {
				_options.storeAsString = true;
			}
			_options.alwaysParseAsBig = options.alwaysParseAsBig === true ? options.alwaysParseAsBig : false;
			_options.useNativeBigInt = options.useNativeBigInt === true ? options.useNativeBigInt : false;
			if (typeof options.constructorAction !== "undefined") {
				if (options.constructorAction === "error" || options.constructorAction === "ignore" || options.constructorAction === "preserve") {
					_options.constructorAction = options.constructorAction;
				} else {
					throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${options.constructorAction}`);
				}
			}
			if (typeof options.protoAction !== "undefined") {
				if (options.protoAction === "error" || options.protoAction === "ignore" || options.protoAction === "preserve") {
					_options.protoAction = options.protoAction;
				} else {
					throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${options.protoAction}`);
				}
			}
		}
		var at, ch, escapee = {
			"\"": "\"",
			"\\": "\\",
			"/": "/",
			b: "\b",
			f: "\f",
			n: "\n",
			r: "\r",
			t: "	"
		}, text, error = function(m) {
			throw {
				name: "SyntaxError",
				message: m,
				at,
				text
			};
		}, next = function(c) {
			if (c && c !== ch) {
				error("Expected '" + c + "' instead of '" + ch + "'");
			}
			ch = text.charAt(at);
			at += 1;
			return ch;
		}, number = function() {
			var number, string = "";
			if (ch === "-") {
				string = "-";
				next("-");
			}
			while (ch >= "0" && ch <= "9") {
				string += ch;
				next();
			}
			if (ch === ".") {
				string += ".";
				while (next() && ch >= "0" && ch <= "9") {
					string += ch;
				}
			}
			if (ch === "e" || ch === "E") {
				string += ch;
				next();
				if (ch === "-" || ch === "+") {
					string += ch;
					next();
				}
				while (ch >= "0" && ch <= "9") {
					string += ch;
					next();
				}
			}
			number = +string;
			if (!isFinite(number)) {
				error("Bad number");
			} else {
				if (BigNumber == null) BigNumber = (init_bignumber(), __toCommonJS(bignumber_exports));
				if (string.length > 15) return _options.storeAsString ? string : _options.useNativeBigInt ? BigInt(string) : new BigNumber(string);
				else return !_options.alwaysParseAsBig ? number : _options.useNativeBigInt ? BigInt(number) : new BigNumber(number);
			}
		}, string = function() {
			var hex, i, string = "", uffff;
			if (ch === "\"") {
				var startAt = at;
				while (next()) {
					if (ch === "\"") {
						if (at - 1 > startAt) string += text.substring(startAt, at - 1);
						next();
						return string;
					}
					if (ch === "\\") {
						if (at - 1 > startAt) string += text.substring(startAt, at - 1);
						next();
						if (ch === "u") {
							uffff = 0;
							for (i = 0; i < 4; i += 1) {
								hex = parseInt(next(), 16);
								if (!isFinite(hex)) {
									break;
								}
								uffff = uffff * 16 + hex;
							}
							string += String.fromCharCode(uffff);
						} else if (typeof escapee[ch] === "string") {
							string += escapee[ch];
						} else {
							break;
						}
						startAt = at;
					}
				}
			}
			error("Bad string");
		}, white = function() {
			while (ch && ch <= " ") {
				next();
			}
		}, word = function() {
			switch (ch) {
				case "t":
					next("t");
					next("r");
					next("u");
					next("e");
					return true;
				case "f":
					next("f");
					next("a");
					next("l");
					next("s");
					next("e");
					return false;
				case "n":
					next("n");
					next("u");
					next("l");
					next("l");
					return null;
			}
			error("Unexpected '" + ch + "'");
		}, value, array = function() {
			var array = [];
			if (ch === "[") {
				next("[");
				white();
				if (ch === "]") {
					next("]");
					return array;
				}
				while (ch) {
					array.push(value());
					white();
					if (ch === "]") {
						next("]");
						return array;
					}
					next(",");
					white();
				}
			}
			error("Bad array");
		}, object = function() {
			var key, object = Object.create(null);
			if (ch === "{") {
				next("{");
				white();
				if (ch === "}") {
					next("}");
					return object;
				}
				while (ch) {
					key = string();
					white();
					next(":");
					if (_options.strict === true && Object.hasOwnProperty.call(object, key)) {
						error("Duplicate key \"" + key + "\"");
					}
					if (suspectProtoRx.test(key) === true) {
						if (_options.protoAction === "error") {
							error("Object contains forbidden prototype property");
						} else if (_options.protoAction === "ignore") {
							value();
						} else {
							object[key] = value();
						}
					} else if (suspectConstructorRx.test(key) === true) {
						if (_options.constructorAction === "error") {
							error("Object contains forbidden constructor property");
						} else if (_options.constructorAction === "ignore") {
							value();
						} else {
							object[key] = value();
						}
					} else {
						object[key] = value();
					}
					white();
					if (ch === "}") {
						next("}");
						return object;
					}
					next(",");
					white();
				}
			}
			error("Bad object");
		};
		value = function() {
			white();
			switch (ch) {
				case "{": return object();
				case "[": return array();
				case "\"": return string();
				case "-": return number();
				default: return ch >= "0" && ch <= "9" ? number() : word();
			}
		};
		return function(source, reviver) {
			var result;
			text = source + "";
			at = 0;
			ch = " ";
			result = value();
			white();
			if (ch) {
				error("Syntax error");
			}
			return typeof reviver === "function" ? (function walk(holder, key) {
				var k, v, value = holder[key];
				if (value && typeof value === "object") {
					Object.keys(value).forEach(function(k) {
						v = walk(value, k);
						if (v !== undefined) {
							value[k] = v;
						} else {
							delete value[k];
						}
					});
				}
				return reviver.call(holder, key, value);
			})({ "": result }, "") : result;
		};
	};
	module.exports = json_parse;
}));

//#endregion
//#region ../node_modules/json-bigint/index.js
var require_json_bigint = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var json_stringify = require_stringify$3().stringify;
	var json_parse = require_parse$6();
	module.exports = function(options) {
		return {
			parse: json_parse(options),
			stringify: json_stringify
		};
	};
	module.exports.parse = json_parse();
	module.exports.stringify = json_stringify;
}));

//#endregion
//#region ../node_modules/node-forge/lib/forge.js
var require_forge = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Node.js module for Forge.
	*
	* @author Dave Longley
	*
	* Copyright 2011-2016 Digital Bazaar, Inc.
	*/
	module.exports = { options: { usePureJavaScript: false } };
}));

//#endregion
//#region ../node_modules/node-forge/lib/baseN.js
var require_baseN = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Base-N/Base-X encoding/decoding functions.
	*
	* Original implementation from base-x:
	* https://github.com/cryptocoinjs/base-x
	*
	* Which is MIT licensed:
	*
	* The MIT License (MIT)
	*
	* Copyright base-x contributors (c) 2016
	*
	* Permission is hereby granted, free of charge, to any person obtaining a copy
	* of this software and associated documentation files (the "Software"), to deal
	* in the Software without restriction, including without limitation the rights
	* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
	* copies of the Software, and to permit persons to whom the Software is
	* furnished to do so, subject to the following conditions:
	*
	* The above copyright notice and this permission notice shall be included in
	* all copies or substantial portions of the Software.
	*
	* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
	* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
	* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
	* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
	* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
	* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
	* DEALINGS IN THE SOFTWARE.
	*/
	var api = {};
	module.exports = api;
	var _reverseAlphabets = {};
	/**
	* BaseN-encodes a Uint8Array using the given alphabet.
	*
	* @param input the Uint8Array to encode.
	* @param maxline the maximum number of encoded characters per line to use,
	*          defaults to none.
	*
	* @return the baseN-encoded output string.
	*/
	api.encode = function(input, alphabet, maxline) {
		if (typeof alphabet !== "string") {
			throw new TypeError("\"alphabet\" must be a string.");
		}
		if (maxline !== undefined && typeof maxline !== "number") {
			throw new TypeError("\"maxline\" must be a number.");
		}
		var output = "";
		if (!(input instanceof Uint8Array)) {
			output = _encodeWithByteBuffer(input, alphabet);
		} else {
			var i = 0;
			var base = alphabet.length;
			var first = alphabet.charAt(0);
			var digits = [0];
			for (i = 0; i < input.length; ++i) {
				for (var j = 0, carry = input[i]; j < digits.length; ++j) {
					carry += digits[j] << 8;
					digits[j] = carry % base;
					carry = carry / base | 0;
				}
				while (carry > 0) {
					digits.push(carry % base);
					carry = carry / base | 0;
				}
			}
			for (i = 0; input[i] === 0 && i < input.length - 1; ++i) {
				output += first;
			}
			for (i = digits.length - 1; i >= 0; --i) {
				output += alphabet[digits[i]];
			}
		}
		if (maxline) {
			var regex = new RegExp(".{1," + maxline + "}", "g");
			output = output.match(regex).join("\r\n");
		}
		return output;
	};
	/**
	* Decodes a baseN-encoded (using the given alphabet) string to a
	* Uint8Array.
	*
	* @param input the baseN-encoded input string.
	*
	* @return the Uint8Array.
	*/
	api.decode = function(input, alphabet) {
		if (typeof input !== "string") {
			throw new TypeError("\"input\" must be a string.");
		}
		if (typeof alphabet !== "string") {
			throw new TypeError("\"alphabet\" must be a string.");
		}
		var table = _reverseAlphabets[alphabet];
		if (!table) {
			table = _reverseAlphabets[alphabet] = [];
			for (var i = 0; i < alphabet.length; ++i) {
				table[alphabet.charCodeAt(i)] = i;
			}
		}
		input = input.replace(/\s/g, "");
		var base = alphabet.length;
		var first = alphabet.charAt(0);
		var bytes = [0];
		for (var i = 0; i < input.length; i++) {
			var value = table[input.charCodeAt(i)];
			if (value === undefined) {
				return;
			}
			for (var j = 0, carry = value; j < bytes.length; ++j) {
				carry += bytes[j] * base;
				bytes[j] = carry & 255;
				carry >>= 8;
			}
			while (carry > 0) {
				bytes.push(carry & 255);
				carry >>= 8;
			}
		}
		for (var k = 0; input[k] === first && k < input.length - 1; ++k) {
			bytes.push(0);
		}
		if (typeof Buffer !== "undefined") {
			return Buffer.from(bytes.reverse());
		}
		return new Uint8Array(bytes.reverse());
	};
	function _encodeWithByteBuffer(input, alphabet) {
		var i = 0;
		var base = alphabet.length;
		var first = alphabet.charAt(0);
		var digits = [0];
		for (i = 0; i < input.length(); ++i) {
			for (var j = 0, carry = input.at(i); j < digits.length; ++j) {
				carry += digits[j] << 8;
				digits[j] = carry % base;
				carry = carry / base | 0;
			}
			while (carry > 0) {
				digits.push(carry % base);
				carry = carry / base | 0;
			}
		}
		var output = "";
		for (i = 0; input.at(i) === 0 && i < input.length() - 1; ++i) {
			output += first;
		}
		for (i = digits.length - 1; i >= 0; --i) {
			output += alphabet[digits[i]];
		}
		return output;
	}
}));

//#endregion
//#region ../node_modules/node-forge/lib/util.js
var require_util$8 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Utility functions for web applications.
	*
	* @author Dave Longley
	*
	* Copyright (c) 2010-2018 Digital Bazaar, Inc.
	*/
	var forge = require_forge();
	var baseN = require_baseN();
	var util = module.exports = forge.util = forge.util || {};
	(function() {
		if (typeof process !== "undefined" && process.nextTick && !process.browser) {
			util.nextTick = process.nextTick;
			if (typeof setImmediate === "function") {
				util.setImmediate = setImmediate;
			} else {
				util.setImmediate = util.nextTick;
			}
			return;
		}
		if (typeof setImmediate === "function") {
			util.setImmediate = function() {
				return setImmediate.apply(undefined, arguments);
			};
			util.nextTick = function(callback) {
				return setImmediate(callback);
			};
			return;
		}
		util.setImmediate = function(callback) {
			setTimeout(callback, 0);
		};
		if (typeof window !== "undefined" && typeof window.postMessage === "function") {
			var msg = "forge.setImmediate";
			var callbacks = [];
			util.setImmediate = function(callback) {
				callbacks.push(callback);
				if (callbacks.length === 1) {
					window.postMessage(msg, "*");
				}
			};
			function handler(event) {
				if (event.source === window && event.data === msg) {
					event.stopPropagation();
					var copy = callbacks.slice();
					callbacks.length = 0;
					copy.forEach(function(callback) {
						callback();
					});
				}
			}
			window.addEventListener("message", handler, true);
		}
		if (typeof MutationObserver !== "undefined") {
			var now = Date.now();
			var attr = true;
			var div = document.createElement("div");
			var callbacks = [];
			new MutationObserver(function() {
				var copy = callbacks.slice();
				callbacks.length = 0;
				copy.forEach(function(callback) {
					callback();
				});
			}).observe(div, { attributes: true });
			var oldSetImmediate = util.setImmediate;
			util.setImmediate = function(callback) {
				if (Date.now() - now > 15) {
					now = Date.now();
					oldSetImmediate(callback);
				} else {
					callbacks.push(callback);
					if (callbacks.length === 1) {
						div.setAttribute("a", attr = !attr);
					}
				}
			};
		}
		util.nextTick = util.setImmediate;
	})();
	util.isNodejs = typeof process !== "undefined" && process.versions && process.versions.node;
	util.globalScope = (function() {
		if (util.isNodejs) {
			return global;
		}
		return typeof self === "undefined" ? window : self;
	})();
	util.isArray = Array.isArray || function(x) {
		return Object.prototype.toString.call(x) === "[object Array]";
	};
	util.isArrayBuffer = function(x) {
		return typeof ArrayBuffer !== "undefined" && x instanceof ArrayBuffer;
	};
	util.isArrayBufferView = function(x) {
		return x && util.isArrayBuffer(x.buffer) && x.byteLength !== undefined;
	};
	/**
	* Ensure a bits param is 8, 16, 24, or 32. Used to validate input for
	* algorithms where bit manipulation, JavaScript limitations, and/or algorithm
	* design only allow for byte operations of a limited size.
	*
	* @param n number of bits.
	*
	* Throw Error if n invalid.
	*/
	function _checkBitsParam(n) {
		if (!(n === 8 || n === 16 || n === 24 || n === 32)) {
			throw new Error("Only 8, 16, 24, or 32 bits supported: " + n);
		}
	}
	util.ByteBuffer = ByteStringBuffer;
	/** Buffer w/BinaryString backing */
	/**
	* Constructor for a binary string backed byte buffer.
	*
	* @param [b] the bytes to wrap (either encoded as string, one byte per
	*          character, or as an ArrayBuffer or Typed Array).
	*/
	function ByteStringBuffer(b) {
		this.data = "";
		this.read = 0;
		if (typeof b === "string") {
			this.data = b;
		} else if (util.isArrayBuffer(b) || util.isArrayBufferView(b)) {
			if (typeof Buffer !== "undefined" && b instanceof Buffer) {
				this.data = b.toString("binary");
			} else {
				var arr = new Uint8Array(b);
				try {
					this.data = String.fromCharCode.apply(null, arr);
				} catch (e) {
					for (var i = 0; i < arr.length; ++i) {
						this.putByte(arr[i]);
					}
				}
			}
		} else if (b instanceof ByteStringBuffer || typeof b === "object" && typeof b.data === "string" && typeof b.read === "number") {
			this.data = b.data;
			this.read = b.read;
		}
		this._constructedStringLength = 0;
	}
	util.ByteStringBuffer = ByteStringBuffer;
	var _MAX_CONSTRUCTED_STRING_LENGTH = 4096;
	util.ByteStringBuffer.prototype._optimizeConstructedString = function(x) {
		this._constructedStringLength += x;
		if (this._constructedStringLength > _MAX_CONSTRUCTED_STRING_LENGTH) {
			this.data.substr(0, 1);
			this._constructedStringLength = 0;
		}
	};
	/**
	* Gets the number of bytes in this buffer.
	*
	* @return the number of bytes in this buffer.
	*/
	util.ByteStringBuffer.prototype.length = function() {
		return this.data.length - this.read;
	};
	/**
	* Gets whether or not this buffer is empty.
	*
	* @return true if this buffer is empty, false if not.
	*/
	util.ByteStringBuffer.prototype.isEmpty = function() {
		return this.length() <= 0;
	};
	/**
	* Puts a byte in this buffer.
	*
	* @param b the byte to put.
	*
	* @return this buffer.
	*/
	util.ByteStringBuffer.prototype.putByte = function(b) {
		return this.putBytes(String.fromCharCode(b));
	};
	/**
	* Puts a byte in this buffer N times.
	*
	* @param b the byte to put.
	* @param n the number of bytes of value b to put.
	*
	* @return this buffer.
	*/
	util.ByteStringBuffer.prototype.fillWithByte = function(b, n) {
		b = String.fromCharCode(b);
		var d = this.data;
		while (n > 0) {
			if (n & 1) {
				d += b;
			}
			n >>>= 1;
			if (n > 0) {
				b += b;
			}
		}
		this.data = d;
		this._optimizeConstructedString(n);
		return this;
	};
	/**
	* Puts bytes in this buffer.
	*
	* @param bytes the bytes (as a binary encoded string) to put.
	*
	* @return this buffer.
	*/
	util.ByteStringBuffer.prototype.putBytes = function(bytes) {
		this.data += bytes;
		this._optimizeConstructedString(bytes.length);
		return this;
	};
	/**
	* Puts a UTF-16 encoded string into this buffer.
	*
	* @param str the string to put.
	*
	* @return this buffer.
	*/
	util.ByteStringBuffer.prototype.putString = function(str) {
		return this.putBytes(util.encodeUtf8(str));
	};
	/**
	* Puts a 16-bit integer in this buffer in big-endian order.
	*
	* @param i the 16-bit integer.
	*
	* @return this buffer.
	*/
	util.ByteStringBuffer.prototype.putInt16 = function(i) {
		return this.putBytes(String.fromCharCode(i >> 8 & 255) + String.fromCharCode(i & 255));
	};
	/**
	* Puts a 24-bit integer in this buffer in big-endian order.
	*
	* @param i the 24-bit integer.
	*
	* @return this buffer.
	*/
	util.ByteStringBuffer.prototype.putInt24 = function(i) {
		return this.putBytes(String.fromCharCode(i >> 16 & 255) + String.fromCharCode(i >> 8 & 255) + String.fromCharCode(i & 255));
	};
	/**
	* Puts a 32-bit integer in this buffer in big-endian order.
	*
	* @param i the 32-bit integer.
	*
	* @return this buffer.
	*/
	util.ByteStringBuffer.prototype.putInt32 = function(i) {
		return this.putBytes(String.fromCharCode(i >> 24 & 255) + String.fromCharCode(i >> 16 & 255) + String.fromCharCode(i >> 8 & 255) + String.fromCharCode(i & 255));
	};
	/**
	* Puts a 16-bit integer in this buffer in little-endian order.
	*
	* @param i the 16-bit integer.
	*
	* @return this buffer.
	*/
	util.ByteStringBuffer.prototype.putInt16Le = function(i) {
		return this.putBytes(String.fromCharCode(i & 255) + String.fromCharCode(i >> 8 & 255));
	};
	/**
	* Puts a 24-bit integer in this buffer in little-endian order.
	*
	* @param i the 24-bit integer.
	*
	* @return this buffer.
	*/
	util.ByteStringBuffer.prototype.putInt24Le = function(i) {
		return this.putBytes(String.fromCharCode(i & 255) + String.fromCharCode(i >> 8 & 255) + String.fromCharCode(i >> 16 & 255));
	};
	/**
	* Puts a 32-bit integer in this buffer in little-endian order.
	*
	* @param i the 32-bit integer.
	*
	* @return this buffer.
	*/
	util.ByteStringBuffer.prototype.putInt32Le = function(i) {
		return this.putBytes(String.fromCharCode(i & 255) + String.fromCharCode(i >> 8 & 255) + String.fromCharCode(i >> 16 & 255) + String.fromCharCode(i >> 24 & 255));
	};
	/**
	* Puts an n-bit integer in this buffer in big-endian order.
	*
	* @param i the n-bit integer.
	* @param n the number of bits in the integer (8, 16, 24, or 32).
	*
	* @return this buffer.
	*/
	util.ByteStringBuffer.prototype.putInt = function(i, n) {
		_checkBitsParam(n);
		var bytes = "";
		do {
			n -= 8;
			bytes += String.fromCharCode(i >> n & 255);
		} while (n > 0);
		return this.putBytes(bytes);
	};
	/**
	* Puts a signed n-bit integer in this buffer in big-endian order. Two's
	* complement representation is used.
	*
	* @param i the n-bit integer.
	* @param n the number of bits in the integer (8, 16, 24, or 32).
	*
	* @return this buffer.
	*/
	util.ByteStringBuffer.prototype.putSignedInt = function(i, n) {
		if (i < 0) {
			i += 2 << n - 1;
		}
		return this.putInt(i, n);
	};
	/**
	* Puts the given buffer into this buffer.
	*
	* @param buffer the buffer to put into this one.
	*
	* @return this buffer.
	*/
	util.ByteStringBuffer.prototype.putBuffer = function(buffer) {
		return this.putBytes(buffer.getBytes());
	};
	/**
	* Gets a byte from this buffer and advances the read pointer by 1.
	*
	* @return the byte.
	*/
	util.ByteStringBuffer.prototype.getByte = function() {
		return this.data.charCodeAt(this.read++);
	};
	/**
	* Gets a uint16 from this buffer in big-endian order and advances the read
	* pointer by 2.
	*
	* @return the uint16.
	*/
	util.ByteStringBuffer.prototype.getInt16 = function() {
		var rval = this.data.charCodeAt(this.read) << 8 ^ this.data.charCodeAt(this.read + 1);
		this.read += 2;
		return rval;
	};
	/**
	* Gets a uint24 from this buffer in big-endian order and advances the read
	* pointer by 3.
	*
	* @return the uint24.
	*/
	util.ByteStringBuffer.prototype.getInt24 = function() {
		var rval = this.data.charCodeAt(this.read) << 16 ^ this.data.charCodeAt(this.read + 1) << 8 ^ this.data.charCodeAt(this.read + 2);
		this.read += 3;
		return rval;
	};
	/**
	* Gets a uint32 from this buffer in big-endian order and advances the read
	* pointer by 4.
	*
	* @return the word.
	*/
	util.ByteStringBuffer.prototype.getInt32 = function() {
		var rval = this.data.charCodeAt(this.read) << 24 ^ this.data.charCodeAt(this.read + 1) << 16 ^ this.data.charCodeAt(this.read + 2) << 8 ^ this.data.charCodeAt(this.read + 3);
		this.read += 4;
		return rval;
	};
	/**
	* Gets a uint16 from this buffer in little-endian order and advances the read
	* pointer by 2.
	*
	* @return the uint16.
	*/
	util.ByteStringBuffer.prototype.getInt16Le = function() {
		var rval = this.data.charCodeAt(this.read) ^ this.data.charCodeAt(this.read + 1) << 8;
		this.read += 2;
		return rval;
	};
	/**
	* Gets a uint24 from this buffer in little-endian order and advances the read
	* pointer by 3.
	*
	* @return the uint24.
	*/
	util.ByteStringBuffer.prototype.getInt24Le = function() {
		var rval = this.data.charCodeAt(this.read) ^ this.data.charCodeAt(this.read + 1) << 8 ^ this.data.charCodeAt(this.read + 2) << 16;
		this.read += 3;
		return rval;
	};
	/**
	* Gets a uint32 from this buffer in little-endian order and advances the read
	* pointer by 4.
	*
	* @return the word.
	*/
	util.ByteStringBuffer.prototype.getInt32Le = function() {
		var rval = this.data.charCodeAt(this.read) ^ this.data.charCodeAt(this.read + 1) << 8 ^ this.data.charCodeAt(this.read + 2) << 16 ^ this.data.charCodeAt(this.read + 3) << 24;
		this.read += 4;
		return rval;
	};
	/**
	* Gets an n-bit integer from this buffer in big-endian order and advances the
	* read pointer by ceil(n/8).
	*
	* @param n the number of bits in the integer (8, 16, 24, or 32).
	*
	* @return the integer.
	*/
	util.ByteStringBuffer.prototype.getInt = function(n) {
		_checkBitsParam(n);
		var rval = 0;
		do {
			rval = (rval << 8) + this.data.charCodeAt(this.read++);
			n -= 8;
		} while (n > 0);
		return rval;
	};
	/**
	* Gets a signed n-bit integer from this buffer in big-endian order, using
	* two's complement, and advances the read pointer by n/8.
	*
	* @param n the number of bits in the integer (8, 16, 24, or 32).
	*
	* @return the integer.
	*/
	util.ByteStringBuffer.prototype.getSignedInt = function(n) {
		var x = this.getInt(n);
		var max = 2 << n - 2;
		if (x >= max) {
			x -= max << 1;
		}
		return x;
	};
	/**
	* Reads bytes out as a binary encoded string and clears them from the
	* buffer. Note that the resulting string is binary encoded (in node.js this
	* encoding is referred to as `binary`, it is *not* `utf8`).
	*
	* @param count the number of bytes to read, undefined or null for all.
	*
	* @return a binary encoded string of bytes.
	*/
	util.ByteStringBuffer.prototype.getBytes = function(count) {
		var rval;
		if (count) {
			count = Math.min(this.length(), count);
			rval = this.data.slice(this.read, this.read + count);
			this.read += count;
		} else if (count === 0) {
			rval = "";
		} else {
			rval = this.read === 0 ? this.data : this.data.slice(this.read);
			this.clear();
		}
		return rval;
	};
	/**
	* Gets a binary encoded string of the bytes from this buffer without
	* modifying the read pointer.
	*
	* @param count the number of bytes to get, omit to get all.
	*
	* @return a string full of binary encoded characters.
	*/
	util.ByteStringBuffer.prototype.bytes = function(count) {
		return typeof count === "undefined" ? this.data.slice(this.read) : this.data.slice(this.read, this.read + count);
	};
	/**
	* Gets a byte at the given index without modifying the read pointer.
	*
	* @param i the byte index.
	*
	* @return the byte.
	*/
	util.ByteStringBuffer.prototype.at = function(i) {
		return this.data.charCodeAt(this.read + i);
	};
	/**
	* Puts a byte at the given index without modifying the read pointer.
	*
	* @param i the byte index.
	* @param b the byte to put.
	*
	* @return this buffer.
	*/
	util.ByteStringBuffer.prototype.setAt = function(i, b) {
		this.data = this.data.substr(0, this.read + i) + String.fromCharCode(b) + this.data.substr(this.read + i + 1);
		return this;
	};
	/**
	* Gets the last byte without modifying the read pointer.
	*
	* @return the last byte.
	*/
	util.ByteStringBuffer.prototype.last = function() {
		return this.data.charCodeAt(this.data.length - 1);
	};
	/**
	* Creates a copy of this buffer.
	*
	* @return the copy.
	*/
	util.ByteStringBuffer.prototype.copy = function() {
		var c = util.createBuffer(this.data);
		c.read = this.read;
		return c;
	};
	/**
	* Compacts this buffer.
	*
	* @return this buffer.
	*/
	util.ByteStringBuffer.prototype.compact = function() {
		if (this.read > 0) {
			this.data = this.data.slice(this.read);
			this.read = 0;
		}
		return this;
	};
	/**
	* Clears this buffer.
	*
	* @return this buffer.
	*/
	util.ByteStringBuffer.prototype.clear = function() {
		this.data = "";
		this.read = 0;
		return this;
	};
	/**
	* Shortens this buffer by triming bytes off of the end of this buffer.
	*
	* @param count the number of bytes to trim off.
	*
	* @return this buffer.
	*/
	util.ByteStringBuffer.prototype.truncate = function(count) {
		var len = Math.max(0, this.length() - count);
		this.data = this.data.substr(this.read, len);
		this.read = 0;
		return this;
	};
	/**
	* Converts this buffer to a hexadecimal string.
	*
	* @return a hexadecimal string.
	*/
	util.ByteStringBuffer.prototype.toHex = function() {
		var rval = "";
		for (var i = this.read; i < this.data.length; ++i) {
			var b = this.data.charCodeAt(i);
			if (b < 16) {
				rval += "0";
			}
			rval += b.toString(16);
		}
		return rval;
	};
	/**
	* Converts this buffer to a UTF-16 string (standard JavaScript string).
	*
	* @return a UTF-16 string.
	*/
	util.ByteStringBuffer.prototype.toString = function() {
		return util.decodeUtf8(this.bytes());
	};
	/** End Buffer w/BinaryString backing */
	/** Buffer w/UInt8Array backing */
	/**
	* FIXME: Experimental. Do not use yet.
	*
	* Constructor for an ArrayBuffer-backed byte buffer.
	*
	* The buffer may be constructed from a string, an ArrayBuffer, DataView, or a
	* TypedArray.
	*
	* If a string is given, its encoding should be provided as an option,
	* otherwise it will default to 'binary'. A 'binary' string is encoded such
	* that each character is one byte in length and size.
	*
	* If an ArrayBuffer, DataView, or TypedArray is given, it will be used
	* *directly* without any copying. Note that, if a write to the buffer requires
	* more space, the buffer will allocate a new backing ArrayBuffer to
	* accommodate. The starting read and write offsets for the buffer may be
	* given as options.
	*
	* @param [b] the initial bytes for this buffer.
	* @param options the options to use:
	*          [readOffset] the starting read offset to use (default: 0).
	*          [writeOffset] the starting write offset to use (default: the
	*            length of the first parameter).
	*          [growSize] the minimum amount, in bytes, to grow the buffer by to
	*            accommodate writes (default: 1024).
	*          [encoding] the encoding ('binary', 'utf8', 'utf16', 'hex') for the
	*            first parameter, if it is a string (default: 'binary').
	*/
	function DataBuffer(b, options) {
		options = options || {};
		this.read = options.readOffset || 0;
		this.growSize = options.growSize || 1024;
		var isArrayBuffer = util.isArrayBuffer(b);
		var isArrayBufferView = util.isArrayBufferView(b);
		if (isArrayBuffer || isArrayBufferView) {
			if (isArrayBuffer) {
				this.data = new DataView(b);
			} else {
				this.data = new DataView(b.buffer, b.byteOffset, b.byteLength);
			}
			this.write = "writeOffset" in options ? options.writeOffset : this.data.byteLength;
			return;
		}
		this.data = new DataView(new ArrayBuffer(0));
		this.write = 0;
		if (b !== null && b !== undefined) {
			this.putBytes(b);
		}
		if ("writeOffset" in options) {
			this.write = options.writeOffset;
		}
	}
	util.DataBuffer = DataBuffer;
	/**
	* Gets the number of bytes in this buffer.
	*
	* @return the number of bytes in this buffer.
	*/
	util.DataBuffer.prototype.length = function() {
		return this.write - this.read;
	};
	/**
	* Gets whether or not this buffer is empty.
	*
	* @return true if this buffer is empty, false if not.
	*/
	util.DataBuffer.prototype.isEmpty = function() {
		return this.length() <= 0;
	};
	/**
	* Ensures this buffer has enough empty space to accommodate the given number
	* of bytes. An optional parameter may be given that indicates a minimum
	* amount to grow the buffer if necessary. If the parameter is not given,
	* the buffer will be grown by some previously-specified default amount
	* or heuristic.
	*
	* @param amount the number of bytes to accommodate.
	* @param [growSize] the minimum amount, in bytes, to grow the buffer by if
	*          necessary.
	*/
	util.DataBuffer.prototype.accommodate = function(amount, growSize) {
		if (this.length() >= amount) {
			return this;
		}
		growSize = Math.max(growSize || this.growSize, amount);
		var src = new Uint8Array(this.data.buffer, this.data.byteOffset, this.data.byteLength);
		var dst = new Uint8Array(this.length() + growSize);
		dst.set(src);
		this.data = new DataView(dst.buffer);
		return this;
	};
	/**
	* Puts a byte in this buffer.
	*
	* @param b the byte to put.
	*
	* @return this buffer.
	*/
	util.DataBuffer.prototype.putByte = function(b) {
		this.accommodate(1);
		this.data.setUint8(this.write++, b);
		return this;
	};
	/**
	* Puts a byte in this buffer N times.
	*
	* @param b the byte to put.
	* @param n the number of bytes of value b to put.
	*
	* @return this buffer.
	*/
	util.DataBuffer.prototype.fillWithByte = function(b, n) {
		this.accommodate(n);
		for (var i = 0; i < n; ++i) {
			this.data.setUint8(b);
		}
		return this;
	};
	/**
	* Puts bytes in this buffer. The bytes may be given as a string, an
	* ArrayBuffer, a DataView, or a TypedArray.
	*
	* @param bytes the bytes to put.
	* @param [encoding] the encoding for the first parameter ('binary', 'utf8',
	*          'utf16', 'hex'), if it is a string (default: 'binary').
	*
	* @return this buffer.
	*/
	util.DataBuffer.prototype.putBytes = function(bytes, encoding) {
		if (util.isArrayBufferView(bytes)) {
			var src = new Uint8Array(bytes.buffer, bytes.byteOffset, bytes.byteLength);
			var len = src.byteLength - src.byteOffset;
			this.accommodate(len);
			var dst = new Uint8Array(this.data.buffer, this.write);
			dst.set(src);
			this.write += len;
			return this;
		}
		if (util.isArrayBuffer(bytes)) {
			var src = new Uint8Array(bytes);
			this.accommodate(src.byteLength);
			var dst = new Uint8Array(this.data.buffer);
			dst.set(src, this.write);
			this.write += src.byteLength;
			return this;
		}
		if (bytes instanceof util.DataBuffer || typeof bytes === "object" && typeof bytes.read === "number" && typeof bytes.write === "number" && util.isArrayBufferView(bytes.data)) {
			var src = new Uint8Array(bytes.data.byteLength, bytes.read, bytes.length());
			this.accommodate(src.byteLength);
			var dst = new Uint8Array(bytes.data.byteLength, this.write);
			dst.set(src);
			this.write += src.byteLength;
			return this;
		}
		if (bytes instanceof util.ByteStringBuffer) {
			bytes = bytes.data;
			encoding = "binary";
		}
		encoding = encoding || "binary";
		if (typeof bytes === "string") {
			var view;
			if (encoding === "hex") {
				this.accommodate(Math.ceil(bytes.length / 2));
				view = new Uint8Array(this.data.buffer, this.write);
				this.write += util.binary.hex.decode(bytes, view, this.write);
				return this;
			}
			if (encoding === "base64") {
				this.accommodate(Math.ceil(bytes.length / 4) * 3);
				view = new Uint8Array(this.data.buffer, this.write);
				this.write += util.binary.base64.decode(bytes, view, this.write);
				return this;
			}
			if (encoding === "utf8") {
				bytes = util.encodeUtf8(bytes);
				encoding = "binary";
			}
			if (encoding === "binary" || encoding === "raw") {
				this.accommodate(bytes.length);
				view = new Uint8Array(this.data.buffer, this.write);
				this.write += util.binary.raw.decode(view);
				return this;
			}
			if (encoding === "utf16") {
				this.accommodate(bytes.length * 2);
				view = new Uint16Array(this.data.buffer, this.write);
				this.write += util.text.utf16.encode(view);
				return this;
			}
			throw new Error("Invalid encoding: " + encoding);
		}
		throw Error("Invalid parameter: " + bytes);
	};
	/**
	* Puts the given buffer into this buffer.
	*
	* @param buffer the buffer to put into this one.
	*
	* @return this buffer.
	*/
	util.DataBuffer.prototype.putBuffer = function(buffer) {
		this.putBytes(buffer);
		buffer.clear();
		return this;
	};
	/**
	* Puts a string into this buffer.
	*
	* @param str the string to put.
	* @param [encoding] the encoding for the string (default: 'utf16').
	*
	* @return this buffer.
	*/
	util.DataBuffer.prototype.putString = function(str) {
		return this.putBytes(str, "utf16");
	};
	/**
	* Puts a 16-bit integer in this buffer in big-endian order.
	*
	* @param i the 16-bit integer.
	*
	* @return this buffer.
	*/
	util.DataBuffer.prototype.putInt16 = function(i) {
		this.accommodate(2);
		this.data.setInt16(this.write, i);
		this.write += 2;
		return this;
	};
	/**
	* Puts a 24-bit integer in this buffer in big-endian order.
	*
	* @param i the 24-bit integer.
	*
	* @return this buffer.
	*/
	util.DataBuffer.prototype.putInt24 = function(i) {
		this.accommodate(3);
		this.data.setInt16(this.write, i >> 8 & 65535);
		this.data.setInt8(this.write, i >> 16 & 255);
		this.write += 3;
		return this;
	};
	/**
	* Puts a 32-bit integer in this buffer in big-endian order.
	*
	* @param i the 32-bit integer.
	*
	* @return this buffer.
	*/
	util.DataBuffer.prototype.putInt32 = function(i) {
		this.accommodate(4);
		this.data.setInt32(this.write, i);
		this.write += 4;
		return this;
	};
	/**
	* Puts a 16-bit integer in this buffer in little-endian order.
	*
	* @param i the 16-bit integer.
	*
	* @return this buffer.
	*/
	util.DataBuffer.prototype.putInt16Le = function(i) {
		this.accommodate(2);
		this.data.setInt16(this.write, i, true);
		this.write += 2;
		return this;
	};
	/**
	* Puts a 24-bit integer in this buffer in little-endian order.
	*
	* @param i the 24-bit integer.
	*
	* @return this buffer.
	*/
	util.DataBuffer.prototype.putInt24Le = function(i) {
		this.accommodate(3);
		this.data.setInt8(this.write, i >> 16 & 255);
		this.data.setInt16(this.write, i >> 8 & 65535, true);
		this.write += 3;
		return this;
	};
	/**
	* Puts a 32-bit integer in this buffer in little-endian order.
	*
	* @param i the 32-bit integer.
	*
	* @return this buffer.
	*/
	util.DataBuffer.prototype.putInt32Le = function(i) {
		this.accommodate(4);
		this.data.setInt32(this.write, i, true);
		this.write += 4;
		return this;
	};
	/**
	* Puts an n-bit integer in this buffer in big-endian order.
	*
	* @param i the n-bit integer.
	* @param n the number of bits in the integer (8, 16, 24, or 32).
	*
	* @return this buffer.
	*/
	util.DataBuffer.prototype.putInt = function(i, n) {
		_checkBitsParam(n);
		this.accommodate(n / 8);
		do {
			n -= 8;
			this.data.setInt8(this.write++, i >> n & 255);
		} while (n > 0);
		return this;
	};
	/**
	* Puts a signed n-bit integer in this buffer in big-endian order. Two's
	* complement representation is used.
	*
	* @param i the n-bit integer.
	* @param n the number of bits in the integer.
	*
	* @return this buffer.
	*/
	util.DataBuffer.prototype.putSignedInt = function(i, n) {
		_checkBitsParam(n);
		this.accommodate(n / 8);
		if (i < 0) {
			i += 2 << n - 1;
		}
		return this.putInt(i, n);
	};
	/**
	* Gets a byte from this buffer and advances the read pointer by 1.
	*
	* @return the byte.
	*/
	util.DataBuffer.prototype.getByte = function() {
		return this.data.getInt8(this.read++);
	};
	/**
	* Gets a uint16 from this buffer in big-endian order and advances the read
	* pointer by 2.
	*
	* @return the uint16.
	*/
	util.DataBuffer.prototype.getInt16 = function() {
		var rval = this.data.getInt16(this.read);
		this.read += 2;
		return rval;
	};
	/**
	* Gets a uint24 from this buffer in big-endian order and advances the read
	* pointer by 3.
	*
	* @return the uint24.
	*/
	util.DataBuffer.prototype.getInt24 = function() {
		var rval = this.data.getInt16(this.read) << 8 ^ this.data.getInt8(this.read + 2);
		this.read += 3;
		return rval;
	};
	/**
	* Gets a uint32 from this buffer in big-endian order and advances the read
	* pointer by 4.
	*
	* @return the word.
	*/
	util.DataBuffer.prototype.getInt32 = function() {
		var rval = this.data.getInt32(this.read);
		this.read += 4;
		return rval;
	};
	/**
	* Gets a uint16 from this buffer in little-endian order and advances the read
	* pointer by 2.
	*
	* @return the uint16.
	*/
	util.DataBuffer.prototype.getInt16Le = function() {
		var rval = this.data.getInt16(this.read, true);
		this.read += 2;
		return rval;
	};
	/**
	* Gets a uint24 from this buffer in little-endian order and advances the read
	* pointer by 3.
	*
	* @return the uint24.
	*/
	util.DataBuffer.prototype.getInt24Le = function() {
		var rval = this.data.getInt8(this.read) ^ this.data.getInt16(this.read + 1, true) << 8;
		this.read += 3;
		return rval;
	};
	/**
	* Gets a uint32 from this buffer in little-endian order and advances the read
	* pointer by 4.
	*
	* @return the word.
	*/
	util.DataBuffer.prototype.getInt32Le = function() {
		var rval = this.data.getInt32(this.read, true);
		this.read += 4;
		return rval;
	};
	/**
	* Gets an n-bit integer from this buffer in big-endian order and advances the
	* read pointer by n/8.
	*
	* @param n the number of bits in the integer (8, 16, 24, or 32).
	*
	* @return the integer.
	*/
	util.DataBuffer.prototype.getInt = function(n) {
		_checkBitsParam(n);
		var rval = 0;
		do {
			rval = (rval << 8) + this.data.getInt8(this.read++);
			n -= 8;
		} while (n > 0);
		return rval;
	};
	/**
	* Gets a signed n-bit integer from this buffer in big-endian order, using
	* two's complement, and advances the read pointer by n/8.
	*
	* @param n the number of bits in the integer (8, 16, 24, or 32).
	*
	* @return the integer.
	*/
	util.DataBuffer.prototype.getSignedInt = function(n) {
		var x = this.getInt(n);
		var max = 2 << n - 2;
		if (x >= max) {
			x -= max << 1;
		}
		return x;
	};
	/**
	* Reads bytes out as a binary encoded string and clears them from the
	* buffer.
	*
	* @param count the number of bytes to read, undefined or null for all.
	*
	* @return a binary encoded string of bytes.
	*/
	util.DataBuffer.prototype.getBytes = function(count) {
		var rval;
		if (count) {
			count = Math.min(this.length(), count);
			rval = this.data.slice(this.read, this.read + count);
			this.read += count;
		} else if (count === 0) {
			rval = "";
		} else {
			rval = this.read === 0 ? this.data : this.data.slice(this.read);
			this.clear();
		}
		return rval;
	};
	/**
	* Gets a binary encoded string of the bytes from this buffer without
	* modifying the read pointer.
	*
	* @param count the number of bytes to get, omit to get all.
	*
	* @return a string full of binary encoded characters.
	*/
	util.DataBuffer.prototype.bytes = function(count) {
		return typeof count === "undefined" ? this.data.slice(this.read) : this.data.slice(this.read, this.read + count);
	};
	/**
	* Gets a byte at the given index without modifying the read pointer.
	*
	* @param i the byte index.
	*
	* @return the byte.
	*/
	util.DataBuffer.prototype.at = function(i) {
		return this.data.getUint8(this.read + i);
	};
	/**
	* Puts a byte at the given index without modifying the read pointer.
	*
	* @param i the byte index.
	* @param b the byte to put.
	*
	* @return this buffer.
	*/
	util.DataBuffer.prototype.setAt = function(i, b) {
		this.data.setUint8(i, b);
		return this;
	};
	/**
	* Gets the last byte without modifying the read pointer.
	*
	* @return the last byte.
	*/
	util.DataBuffer.prototype.last = function() {
		return this.data.getUint8(this.write - 1);
	};
	/**
	* Creates a copy of this buffer.
	*
	* @return the copy.
	*/
	util.DataBuffer.prototype.copy = function() {
		return new util.DataBuffer(this);
	};
	/**
	* Compacts this buffer.
	*
	* @return this buffer.
	*/
	util.DataBuffer.prototype.compact = function() {
		if (this.read > 0) {
			var src = new Uint8Array(this.data.buffer, this.read);
			var dst = new Uint8Array(src.byteLength);
			dst.set(src);
			this.data = new DataView(dst);
			this.write -= this.read;
			this.read = 0;
		}
		return this;
	};
	/**
	* Clears this buffer.
	*
	* @return this buffer.
	*/
	util.DataBuffer.prototype.clear = function() {
		this.data = new DataView(new ArrayBuffer(0));
		this.read = this.write = 0;
		return this;
	};
	/**
	* Shortens this buffer by triming bytes off of the end of this buffer.
	*
	* @param count the number of bytes to trim off.
	*
	* @return this buffer.
	*/
	util.DataBuffer.prototype.truncate = function(count) {
		this.write = Math.max(0, this.length() - count);
		this.read = Math.min(this.read, this.write);
		return this;
	};
	/**
	* Converts this buffer to a hexadecimal string.
	*
	* @return a hexadecimal string.
	*/
	util.DataBuffer.prototype.toHex = function() {
		var rval = "";
		for (var i = this.read; i < this.data.byteLength; ++i) {
			var b = this.data.getUint8(i);
			if (b < 16) {
				rval += "0";
			}
			rval += b.toString(16);
		}
		return rval;
	};
	/**
	* Converts this buffer to a string, using the given encoding. If no
	* encoding is given, 'utf8' (UTF-8) is used.
	*
	* @param [encoding] the encoding to use: 'binary', 'utf8', 'utf16', 'hex',
	*          'base64' (default: 'utf8').
	*
	* @return a string representation of the bytes in this buffer.
	*/
	util.DataBuffer.prototype.toString = function(encoding) {
		var view = new Uint8Array(this.data, this.read, this.length());
		encoding = encoding || "utf8";
		if (encoding === "binary" || encoding === "raw") {
			return util.binary.raw.encode(view);
		}
		if (encoding === "hex") {
			return util.binary.hex.encode(view);
		}
		if (encoding === "base64") {
			return util.binary.base64.encode(view);
		}
		if (encoding === "utf8") {
			return util.text.utf8.decode(view);
		}
		if (encoding === "utf16") {
			return util.text.utf16.decode(view);
		}
		throw new Error("Invalid encoding: " + encoding);
	};
	/** End Buffer w/UInt8Array backing */
	/**
	* Creates a buffer that stores bytes. A value may be given to populate the
	* buffer with data. This value can either be string of encoded bytes or a
	* regular string of characters. When passing a string of binary encoded
	* bytes, the encoding `raw` should be given. This is also the default. When
	* passing a string of characters, the encoding `utf8` should be given.
	*
	* @param [input] a string with encoded bytes to store in the buffer.
	* @param [encoding] (default: 'raw', other: 'utf8').
	*/
	util.createBuffer = function(input, encoding) {
		encoding = encoding || "raw";
		if (input !== undefined && encoding === "utf8") {
			input = util.encodeUtf8(input);
		}
		return new util.ByteBuffer(input);
	};
	/**
	* Fills a string with a particular value. If you want the string to be a byte
	* string, pass in String.fromCharCode(theByte).
	*
	* @param c the character to fill the string with, use String.fromCharCode
	*          to fill the string with a byte value.
	* @param n the number of characters of value c to fill with.
	*
	* @return the filled string.
	*/
	util.fillString = function(c, n) {
		var s = "";
		while (n > 0) {
			if (n & 1) {
				s += c;
			}
			n >>>= 1;
			if (n > 0) {
				c += c;
			}
		}
		return s;
	};
	/**
	* Performs a per byte XOR between two byte strings and returns the result as a
	* string of bytes.
	*
	* @param s1 first string of bytes.
	* @param s2 second string of bytes.
	* @param n the number of bytes to XOR.
	*
	* @return the XOR'd result.
	*/
	util.xorBytes = function(s1, s2, n) {
		var s3 = "";
		var b = "";
		var t = "";
		var i = 0;
		var c = 0;
		for (; n > 0; --n, ++i) {
			b = s1.charCodeAt(i) ^ s2.charCodeAt(i);
			if (c >= 10) {
				s3 += t;
				t = "";
				c = 0;
			}
			t += String.fromCharCode(b);
			++c;
		}
		s3 += t;
		return s3;
	};
	/**
	* Converts a hex string into a 'binary' encoded string of bytes.
	*
	* @param hex the hexadecimal string to convert.
	*
	* @return the binary-encoded string of bytes.
	*/
	util.hexToBytes = function(hex) {
		var rval = "";
		var i = 0;
		if (hex.length & 1 == 1) {
			i = 1;
			rval += String.fromCharCode(parseInt(hex[0], 16));
		}
		for (; i < hex.length; i += 2) {
			rval += String.fromCharCode(parseInt(hex.substr(i, 2), 16));
		}
		return rval;
	};
	/**
	* Converts a 'binary' encoded string of bytes to hex.
	*
	* @param bytes the byte string to convert.
	*
	* @return the string of hexadecimal characters.
	*/
	util.bytesToHex = function(bytes) {
		return util.createBuffer(bytes).toHex();
	};
	/**
	* Converts an 32-bit integer to 4-big-endian byte string.
	*
	* @param i the integer.
	*
	* @return the byte string.
	*/
	util.int32ToBytes = function(i) {
		return String.fromCharCode(i >> 24 & 255) + String.fromCharCode(i >> 16 & 255) + String.fromCharCode(i >> 8 & 255) + String.fromCharCode(i & 255);
	};
	var _base64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
	var _base64Idx = [
		62,
		-1,
		-1,
		-1,
		63,
		52,
		53,
		54,
		55,
		56,
		57,
		58,
		59,
		60,
		61,
		-1,
		-1,
		-1,
		64,
		-1,
		-1,
		-1,
		0,
		1,
		2,
		3,
		4,
		5,
		6,
		7,
		8,
		9,
		10,
		11,
		12,
		13,
		14,
		15,
		16,
		17,
		18,
		19,
		20,
		21,
		22,
		23,
		24,
		25,
		-1,
		-1,
		-1,
		-1,
		-1,
		-1,
		26,
		27,
		28,
		29,
		30,
		31,
		32,
		33,
		34,
		35,
		36,
		37,
		38,
		39,
		40,
		41,
		42,
		43,
		44,
		45,
		46,
		47,
		48,
		49,
		50,
		51
	];
	var _base58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
	/**
	* Base64 encodes a 'binary' encoded string of bytes.
	*
	* @param input the binary encoded string of bytes to base64-encode.
	* @param maxline the maximum number of encoded characters per line to use,
	*          defaults to none.
	*
	* @return the base64-encoded output.
	*/
	util.encode64 = function(input, maxline) {
		var line = "";
		var output = "";
		var chr1, chr2, chr3;
		var i = 0;
		while (i < input.length) {
			chr1 = input.charCodeAt(i++);
			chr2 = input.charCodeAt(i++);
			chr3 = input.charCodeAt(i++);
			line += _base64.charAt(chr1 >> 2);
			line += _base64.charAt((chr1 & 3) << 4 | chr2 >> 4);
			if (isNaN(chr2)) {
				line += "==";
			} else {
				line += _base64.charAt((chr2 & 15) << 2 | chr3 >> 6);
				line += isNaN(chr3) ? "=" : _base64.charAt(chr3 & 63);
			}
			if (maxline && line.length > maxline) {
				output += line.substr(0, maxline) + "\r\n";
				line = line.substr(maxline);
			}
		}
		output += line;
		return output;
	};
	/**
	* Base64 decodes a string into a 'binary' encoded string of bytes.
	*
	* @param input the base64-encoded input.
	*
	* @return the binary encoded string.
	*/
	util.decode64 = function(input) {
		input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
		var output = "";
		var enc1, enc2, enc3, enc4;
		var i = 0;
		while (i < input.length) {
			enc1 = _base64Idx[input.charCodeAt(i++) - 43];
			enc2 = _base64Idx[input.charCodeAt(i++) - 43];
			enc3 = _base64Idx[input.charCodeAt(i++) - 43];
			enc4 = _base64Idx[input.charCodeAt(i++) - 43];
			output += String.fromCharCode(enc1 << 2 | enc2 >> 4);
			if (enc3 !== 64) {
				output += String.fromCharCode((enc2 & 15) << 4 | enc3 >> 2);
				if (enc4 !== 64) {
					output += String.fromCharCode((enc3 & 3) << 6 | enc4);
				}
			}
		}
		return output;
	};
	/**
	* Encodes the given string of characters (a standard JavaScript
	* string) as a binary encoded string where the bytes represent
	* a UTF-8 encoded string of characters. Non-ASCII characters will be
	* encoded as multiple bytes according to UTF-8.
	*
	* @param str a standard string of characters to encode.
	*
	* @return the binary encoded string.
	*/
	util.encodeUtf8 = function(str) {
		return unescape(encodeURIComponent(str));
	};
	/**
	* Decodes a binary encoded string that contains bytes that
	* represent a UTF-8 encoded string of characters -- into a
	* string of characters (a standard JavaScript string).
	*
	* @param str the binary encoded string to decode.
	*
	* @return the resulting standard string of characters.
	*/
	util.decodeUtf8 = function(str) {
		return decodeURIComponent(escape(str));
	};
	util.binary = {
		raw: {},
		hex: {},
		base64: {},
		base58: {},
		baseN: {
			encode: baseN.encode,
			decode: baseN.decode
		}
	};
	/**
	* Encodes a Uint8Array as a binary-encoded string. This encoding uses
	* a value between 0 and 255 for each character.
	*
	* @param bytes the Uint8Array to encode.
	*
	* @return the binary-encoded string.
	*/
	util.binary.raw.encode = function(bytes) {
		return String.fromCharCode.apply(null, bytes);
	};
	/**
	* Decodes a binary-encoded string to a Uint8Array. This encoding uses
	* a value between 0 and 255 for each character.
	*
	* @param str the binary-encoded string to decode.
	* @param [output] an optional Uint8Array to write the output to; if it
	*          is too small, an exception will be thrown.
	* @param [offset] the start offset for writing to the output (default: 0).
	*
	* @return the Uint8Array or the number of bytes written if output was given.
	*/
	util.binary.raw.decode = function(str, output, offset) {
		var out = output;
		if (!out) {
			out = new Uint8Array(str.length);
		}
		offset = offset || 0;
		var j = offset;
		for (var i = 0; i < str.length; ++i) {
			out[j++] = str.charCodeAt(i);
		}
		return output ? j - offset : out;
	};
	/**
	* Encodes a 'binary' string, ArrayBuffer, DataView, TypedArray, or
	* ByteBuffer as a string of hexadecimal characters.
	*
	* @param bytes the bytes to convert.
	*
	* @return the string of hexadecimal characters.
	*/
	util.binary.hex.encode = util.bytesToHex;
	/**
	* Decodes a hex-encoded string to a Uint8Array.
	*
	* @param hex the hexadecimal string to convert.
	* @param [output] an optional Uint8Array to write the output to; if it
	*          is too small, an exception will be thrown.
	* @param [offset] the start offset for writing to the output (default: 0).
	*
	* @return the Uint8Array or the number of bytes written if output was given.
	*/
	util.binary.hex.decode = function(hex, output, offset) {
		var out = output;
		if (!out) {
			out = new Uint8Array(Math.ceil(hex.length / 2));
		}
		offset = offset || 0;
		var i = 0, j = offset;
		if (hex.length & 1) {
			i = 1;
			out[j++] = parseInt(hex[0], 16);
		}
		for (; i < hex.length; i += 2) {
			out[j++] = parseInt(hex.substr(i, 2), 16);
		}
		return output ? j - offset : out;
	};
	/**
	* Base64-encodes a Uint8Array.
	*
	* @param input the Uint8Array to encode.
	* @param maxline the maximum number of encoded characters per line to use,
	*          defaults to none.
	*
	* @return the base64-encoded output string.
	*/
	util.binary.base64.encode = function(input, maxline) {
		var line = "";
		var output = "";
		var chr1, chr2, chr3;
		var i = 0;
		while (i < input.byteLength) {
			chr1 = input[i++];
			chr2 = input[i++];
			chr3 = input[i++];
			line += _base64.charAt(chr1 >> 2);
			line += _base64.charAt((chr1 & 3) << 4 | chr2 >> 4);
			if (isNaN(chr2)) {
				line += "==";
			} else {
				line += _base64.charAt((chr2 & 15) << 2 | chr3 >> 6);
				line += isNaN(chr3) ? "=" : _base64.charAt(chr3 & 63);
			}
			if (maxline && line.length > maxline) {
				output += line.substr(0, maxline) + "\r\n";
				line = line.substr(maxline);
			}
		}
		output += line;
		return output;
	};
	/**
	* Decodes a base64-encoded string to a Uint8Array.
	*
	* @param input the base64-encoded input string.
	* @param [output] an optional Uint8Array to write the output to; if it
	*          is too small, an exception will be thrown.
	* @param [offset] the start offset for writing to the output (default: 0).
	*
	* @return the Uint8Array or the number of bytes written if output was given.
	*/
	util.binary.base64.decode = function(input, output, offset) {
		var out = output;
		if (!out) {
			out = new Uint8Array(Math.ceil(input.length / 4) * 3);
		}
		input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
		offset = offset || 0;
		var enc1, enc2, enc3, enc4;
		var i = 0, j = offset;
		while (i < input.length) {
			enc1 = _base64Idx[input.charCodeAt(i++) - 43];
			enc2 = _base64Idx[input.charCodeAt(i++) - 43];
			enc3 = _base64Idx[input.charCodeAt(i++) - 43];
			enc4 = _base64Idx[input.charCodeAt(i++) - 43];
			out[j++] = enc1 << 2 | enc2 >> 4;
			if (enc3 !== 64) {
				out[j++] = (enc2 & 15) << 4 | enc3 >> 2;
				if (enc4 !== 64) {
					out[j++] = (enc3 & 3) << 6 | enc4;
				}
			}
		}
		return output ? j - offset : out.subarray(0, j);
	};
	util.binary.base58.encode = function(input, maxline) {
		return util.binary.baseN.encode(input, _base58, maxline);
	};
	util.binary.base58.decode = function(input, maxline) {
		return util.binary.baseN.decode(input, _base58, maxline);
	};
	util.text = {
		utf8: {},
		utf16: {}
	};
	/**
	* Encodes the given string as UTF-8 in a Uint8Array.
	*
	* @param str the string to encode.
	* @param [output] an optional Uint8Array to write the output to; if it
	*          is too small, an exception will be thrown.
	* @param [offset] the start offset for writing to the output (default: 0).
	*
	* @return the Uint8Array or the number of bytes written if output was given.
	*/
	util.text.utf8.encode = function(str, output, offset) {
		str = util.encodeUtf8(str);
		var out = output;
		if (!out) {
			out = new Uint8Array(str.length);
		}
		offset = offset || 0;
		var j = offset;
		for (var i = 0; i < str.length; ++i) {
			out[j++] = str.charCodeAt(i);
		}
		return output ? j - offset : out;
	};
	/**
	* Decodes the UTF-8 contents from a Uint8Array.
	*
	* @param bytes the Uint8Array to decode.
	*
	* @return the resulting string.
	*/
	util.text.utf8.decode = function(bytes) {
		return util.decodeUtf8(String.fromCharCode.apply(null, bytes));
	};
	/**
	* Encodes the given string as UTF-16 in a Uint8Array.
	*
	* @param str the string to encode.
	* @param [output] an optional Uint8Array to write the output to; if it
	*          is too small, an exception will be thrown.
	* @param [offset] the start offset for writing to the output (default: 0).
	*
	* @return the Uint8Array or the number of bytes written if output was given.
	*/
	util.text.utf16.encode = function(str, output, offset) {
		var out = output;
		if (!out) {
			out = new Uint8Array(str.length * 2);
		}
		var view = new Uint16Array(out.buffer);
		offset = offset || 0;
		var j = offset;
		var k = offset;
		for (var i = 0; i < str.length; ++i) {
			view[k++] = str.charCodeAt(i);
			j += 2;
		}
		return output ? j - offset : out;
	};
	/**
	* Decodes the UTF-16 contents from a Uint8Array.
	*
	* @param bytes the Uint8Array to decode.
	*
	* @return the resulting string.
	*/
	util.text.utf16.decode = function(bytes) {
		return String.fromCharCode.apply(null, new Uint16Array(bytes.buffer));
	};
	/**
	* Deflates the given data using a flash interface.
	*
	* @param api the flash interface.
	* @param bytes the data.
	* @param raw true to return only raw deflate data, false to include zlib
	*          header and trailer.
	*
	* @return the deflated data as a string.
	*/
	util.deflate = function(api, bytes, raw) {
		bytes = util.decode64(api.deflate(util.encode64(bytes)).rval);
		if (raw) {
			var start = 2;
			var flg = bytes.charCodeAt(1);
			if (flg & 32) {
				start = 6;
			}
			bytes = bytes.substring(start, bytes.length - 4);
		}
		return bytes;
	};
	/**
	* Inflates the given data using a flash interface.
	*
	* @param api the flash interface.
	* @param bytes the data.
	* @param raw true if the incoming data has no zlib header or trailer and is
	*          raw DEFLATE data.
	*
	* @return the inflated data as a string, null on error.
	*/
	util.inflate = function(api, bytes, raw) {
		var rval = api.inflate(util.encode64(bytes)).rval;
		return rval === null ? null : util.decode64(rval);
	};
	/**
	* Sets a storage object.
	*
	* @param api the storage interface.
	* @param id the storage ID to use.
	* @param obj the storage object, null to remove.
	*/
	var _setStorageObject = function(api, id, obj) {
		if (!api) {
			throw new Error("WebStorage not available.");
		}
		var rval;
		if (obj === null) {
			rval = api.removeItem(id);
		} else {
			obj = util.encode64(JSON.stringify(obj));
			rval = api.setItem(id, obj);
		}
		if (typeof rval !== "undefined" && rval.rval !== true) {
			var error = new Error(rval.error.message);
			error.id = rval.error.id;
			error.name = rval.error.name;
			throw error;
		}
	};
	/**
	* Gets a storage object.
	*
	* @param api the storage interface.
	* @param id the storage ID to use.
	*
	* @return the storage object entry or null if none exists.
	*/
	var _getStorageObject = function(api, id) {
		if (!api) {
			throw new Error("WebStorage not available.");
		}
		var rval = api.getItem(id);
		if (api.init) {
			if (rval.rval === null) {
				if (rval.error) {
					var error = new Error(rval.error.message);
					error.id = rval.error.id;
					error.name = rval.error.name;
					throw error;
				}
				rval = null;
			} else {
				rval = rval.rval;
			}
		}
		if (rval !== null) {
			rval = JSON.parse(util.decode64(rval));
		}
		return rval;
	};
	/**
	* Stores an item in local storage.
	*
	* @param api the storage interface.
	* @param id the storage ID to use.
	* @param key the key for the item.
	* @param data the data for the item (any javascript object/primitive).
	*/
	var _setItem = function(api, id, key, data) {
		var obj = _getStorageObject(api, id);
		if (obj === null) {
			obj = {};
		}
		obj[key] = data;
		_setStorageObject(api, id, obj);
	};
	/**
	* Gets an item from local storage.
	*
	* @param api the storage interface.
	* @param id the storage ID to use.
	* @param key the key for the item.
	*
	* @return the item.
	*/
	var _getItem = function(api, id, key) {
		var rval = _getStorageObject(api, id);
		if (rval !== null) {
			rval = key in rval ? rval[key] : null;
		}
		return rval;
	};
	/**
	* Removes an item from local storage.
	*
	* @param api the storage interface.
	* @param id the storage ID to use.
	* @param key the key for the item.
	*/
	var _removeItem = function(api, id, key) {
		var obj = _getStorageObject(api, id);
		if (obj !== null && key in obj) {
			delete obj[key];
			var empty = true;
			for (var prop in obj) {
				empty = false;
				break;
			}
			if (empty) {
				obj = null;
			}
			_setStorageObject(api, id, obj);
		}
	};
	/**
	* Clears the local disk storage identified by the given ID.
	*
	* @param api the storage interface.
	* @param id the storage ID to use.
	*/
	var _clearItems = function(api, id) {
		_setStorageObject(api, id, null);
	};
	/**
	* Calls a storage function.
	*
	* @param func the function to call.
	* @param args the arguments for the function.
	* @param location the location argument.
	*
	* @return the return value from the function.
	*/
	var _callStorageFunction = function(func, args, location) {
		var rval = null;
		if (typeof location === "undefined") {
			location = ["web", "flash"];
		}
		var type;
		var done = false;
		var exception = null;
		for (var idx in location) {
			type = location[idx];
			try {
				if (type === "flash" || type === "both") {
					if (args[0] === null) {
						throw new Error("Flash local storage not available.");
					}
					rval = func.apply(this, args);
					done = type === "flash";
				}
				if (type === "web" || type === "both") {
					args[0] = localStorage;
					rval = func.apply(this, args);
					done = true;
				}
			} catch (ex) {
				exception = ex;
			}
			if (done) {
				break;
			}
		}
		if (!done) {
			throw exception;
		}
		return rval;
	};
	/**
	* Stores an item on local disk.
	*
	* The available types of local storage include 'flash', 'web', and 'both'.
	*
	* The type 'flash' refers to flash local storage (SharedObject). In order
	* to use flash local storage, the 'api' parameter must be valid. The type
	* 'web' refers to WebStorage, if supported by the browser. The type 'both'
	* refers to storing using both 'flash' and 'web', not just one or the
	* other.
	*
	* The location array should list the storage types to use in order of
	* preference:
	*
	* ['flash']: flash only storage
	* ['web']: web only storage
	* ['both']: try to store in both
	* ['flash','web']: store in flash first, but if not available, 'web'
	* ['web','flash']: store in web first, but if not available, 'flash'
	*
	* The location array defaults to: ['web', 'flash']
	*
	* @param api the flash interface, null to use only WebStorage.
	* @param id the storage ID to use.
	* @param key the key for the item.
	* @param data the data for the item (any javascript object/primitive).
	* @param location an array with the preferred types of storage to use.
	*/
	util.setItem = function(api, id, key, data, location) {
		_callStorageFunction(_setItem, arguments, location);
	};
	/**
	* Gets an item on local disk.
	*
	* Set setItem() for details on storage types.
	*
	* @param api the flash interface, null to use only WebStorage.
	* @param id the storage ID to use.
	* @param key the key for the item.
	* @param location an array with the preferred types of storage to use.
	*
	* @return the item.
	*/
	util.getItem = function(api, id, key, location) {
		return _callStorageFunction(_getItem, arguments, location);
	};
	/**
	* Removes an item on local disk.
	*
	* Set setItem() for details on storage types.
	*
	* @param api the flash interface.
	* @param id the storage ID to use.
	* @param key the key for the item.
	* @param location an array with the preferred types of storage to use.
	*/
	util.removeItem = function(api, id, key, location) {
		_callStorageFunction(_removeItem, arguments, location);
	};
	/**
	* Clears the local disk storage identified by the given ID.
	*
	* Set setItem() for details on storage types.
	*
	* @param api the flash interface if flash is available.
	* @param id the storage ID to use.
	* @param location an array with the preferred types of storage to use.
	*/
	util.clearItems = function(api, id, location) {
		_callStorageFunction(_clearItems, arguments, location);
	};
	/**
	* Check if an object is empty.
	*
	* Taken from:
	* http://stackoverflow.com/questions/679915/how-do-i-test-for-an-empty-javascript-object-from-json/679937#679937
	*
	* @param object the object to check.
	*/
	util.isEmpty = function(obj) {
		for (var prop in obj) {
			if (obj.hasOwnProperty(prop)) {
				return false;
			}
		}
		return true;
	};
	/**
	* Format with simple printf-style interpolation.
	*
	* %%: literal '%'
	* %s,%o: convert next argument into a string.
	*
	* @param format the string to format.
	* @param ... arguments to interpolate into the format string.
	*/
	util.format = function(format) {
		var re = /%./g;
		var match;
		var part;
		var argi = 0;
		var parts = [];
		var last = 0;
		while (match = re.exec(format)) {
			part = format.substring(last, re.lastIndex - 2);
			if (part.length > 0) {
				parts.push(part);
			}
			last = re.lastIndex;
			var code = match[0][1];
			switch (code) {
				case "s":
				case "o":
					if (argi < arguments.length) {
						parts.push(arguments[argi++ + 1]);
					} else {
						parts.push("<?>");
					}
					break;
				case "%":
					parts.push("%");
					break;
				default: parts.push("<%" + code + "?>");
			}
		}
		parts.push(format.substring(last));
		return parts.join("");
	};
	/**
	* Formats a number.
	*
	* http://snipplr.com/view/5945/javascript-numberformat--ported-from-php/
	*/
	util.formatNumber = function(number, decimals, dec_point, thousands_sep) {
		var n = number, c = isNaN(decimals = Math.abs(decimals)) ? 2 : decimals;
		var d = dec_point === undefined ? "," : dec_point;
		var t = thousands_sep === undefined ? "." : thousands_sep, s = n < 0 ? "-" : "";
		var i = parseInt(n = Math.abs(+n || 0).toFixed(c), 10) + "";
		var j = i.length > 3 ? i.length % 3 : 0;
		return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
	};
	/**
	* Formats a byte size.
	*
	* http://snipplr.com/view/5949/format-humanize-file-byte-size-presentation-in-javascript/
	*/
	util.formatSize = function(size) {
		if (size >= 1073741824) {
			size = util.formatNumber(size / 1073741824, 2, ".", "") + " GiB";
		} else if (size >= 1048576) {
			size = util.formatNumber(size / 1048576, 2, ".", "") + " MiB";
		} else if (size >= 1024) {
			size = util.formatNumber(size / 1024, 0) + " KiB";
		} else {
			size = util.formatNumber(size, 0) + " bytes";
		}
		return size;
	};
	/**
	* Converts an IPv4 or IPv6 string representation into bytes (in network order).
	*
	* @param ip the IPv4 or IPv6 address to convert.
	*
	* @return the 4-byte IPv6 or 16-byte IPv6 address or null if the address can't
	*         be parsed.
	*/
	util.bytesFromIP = function(ip) {
		if (ip.indexOf(".") !== -1) {
			return util.bytesFromIPv4(ip);
		}
		if (ip.indexOf(":") !== -1) {
			return util.bytesFromIPv6(ip);
		}
		return null;
	};
	/**
	* Converts an IPv4 string representation into bytes (in network order).
	*
	* @param ip the IPv4 address to convert.
	*
	* @return the 4-byte address or null if the address can't be parsed.
	*/
	util.bytesFromIPv4 = function(ip) {
		ip = ip.split(".");
		if (ip.length !== 4) {
			return null;
		}
		var b = util.createBuffer();
		for (var i = 0; i < ip.length; ++i) {
			var num = parseInt(ip[i], 10);
			if (isNaN(num)) {
				return null;
			}
			b.putByte(num);
		}
		return b.getBytes();
	};
	/**
	* Converts an IPv6 string representation into bytes (in network order).
	*
	* @param ip the IPv6 address to convert.
	*
	* @return the 16-byte address or null if the address can't be parsed.
	*/
	util.bytesFromIPv6 = function(ip) {
		var blanks = 0;
		ip = ip.split(":").filter(function(e) {
			if (e.length === 0) ++blanks;
			return true;
		});
		var zeros = (8 - ip.length + blanks) * 2;
		var b = util.createBuffer();
		for (var i = 0; i < 8; ++i) {
			if (!ip[i] || ip[i].length === 0) {
				b.fillWithByte(0, zeros);
				zeros = 0;
				continue;
			}
			var bytes = util.hexToBytes(ip[i]);
			if (bytes.length < 2) {
				b.putByte(0);
			}
			b.putBytes(bytes);
		}
		return b.getBytes();
	};
	/**
	* Converts 4-bytes into an IPv4 string representation or 16-bytes into
	* an IPv6 string representation. The bytes must be in network order.
	*
	* @param bytes the bytes to convert.
	*
	* @return the IPv4 or IPv6 string representation if 4 or 16 bytes,
	*         respectively, are given, otherwise null.
	*/
	util.bytesToIP = function(bytes) {
		if (bytes.length === 4) {
			return util.bytesToIPv4(bytes);
		}
		if (bytes.length === 16) {
			return util.bytesToIPv6(bytes);
		}
		return null;
	};
	/**
	* Converts 4-bytes into an IPv4 string representation. The bytes must be
	* in network order.
	*
	* @param bytes the bytes to convert.
	*
	* @return the IPv4 string representation or null for an invalid # of bytes.
	*/
	util.bytesToIPv4 = function(bytes) {
		if (bytes.length !== 4) {
			return null;
		}
		var ip = [];
		for (var i = 0; i < bytes.length; ++i) {
			ip.push(bytes.charCodeAt(i));
		}
		return ip.join(".");
	};
	/**
	* Converts 16-bytes into an IPv16 string representation. The bytes must be
	* in network order.
	*
	* @param bytes the bytes to convert.
	*
	* @return the IPv16 string representation or null for an invalid # of bytes.
	*/
	util.bytesToIPv6 = function(bytes) {
		if (bytes.length !== 16) {
			return null;
		}
		var ip = [];
		var zeroGroups = [];
		var zeroMaxGroup = 0;
		for (var i = 0; i < bytes.length; i += 2) {
			var hex = util.bytesToHex(bytes[i] + bytes[i + 1]);
			while (hex[0] === "0" && hex !== "0") {
				hex = hex.substr(1);
			}
			if (hex === "0") {
				var last = zeroGroups[zeroGroups.length - 1];
				var idx = ip.length;
				if (!last || idx !== last.end + 1) {
					zeroGroups.push({
						start: idx,
						end: idx
					});
				} else {
					last.end = idx;
					if (last.end - last.start > zeroGroups[zeroMaxGroup].end - zeroGroups[zeroMaxGroup].start) {
						zeroMaxGroup = zeroGroups.length - 1;
					}
				}
			}
			ip.push(hex);
		}
		if (zeroGroups.length > 0) {
			var group = zeroGroups[zeroMaxGroup];
			if (group.end - group.start > 0) {
				ip.splice(group.start, group.end - group.start + 1, "");
				if (group.start === 0) {
					ip.unshift("");
				}
				if (group.end === 7) {
					ip.push("");
				}
			}
		}
		return ip.join(":");
	};
	/**
	* Estimates the number of processes that can be run concurrently. If
	* creating Web Workers, keep in mind that the main JavaScript process needs
	* its own core.
	*
	* @param options the options to use:
	*          update true to force an update (not use the cached value).
	* @param callback(err, max) called once the operation completes.
	*/
	util.estimateCores = function(options, callback) {
		if (typeof options === "function") {
			callback = options;
			options = {};
		}
		options = options || {};
		if ("cores" in util && !options.update) {
			return callback(null, util.cores);
		}
		if (typeof navigator !== "undefined" && "hardwareConcurrency" in navigator && navigator.hardwareConcurrency > 0) {
			util.cores = navigator.hardwareConcurrency;
			return callback(null, util.cores);
		}
		if (typeof Worker === "undefined") {
			util.cores = 1;
			return callback(null, util.cores);
		}
		if (typeof Blob === "undefined") {
			util.cores = 2;
			return callback(null, util.cores);
		}
		var blobUrl = URL.createObjectURL(new Blob([
			"(",
			function() {
				self.addEventListener("message", function(e) {
					var st = Date.now();
					var et = st + 4;
					while (Date.now() < et);
					self.postMessage({
						st,
						et
					});
				});
			}.toString(),
			")()"
		], { type: "application/javascript" }));
		sample([], 5, 16);
		function sample(max, samples, numWorkers) {
			if (samples === 0) {
				var avg = Math.floor(max.reduce(function(avg, x) {
					return avg + x;
				}, 0) / max.length);
				util.cores = Math.max(1, avg);
				URL.revokeObjectURL(blobUrl);
				return callback(null, util.cores);
			}
			map(numWorkers, function(err, results) {
				max.push(reduce(numWorkers, results));
				sample(max, samples - 1, numWorkers);
			});
		}
		function map(numWorkers, callback) {
			var workers = [];
			var results = [];
			for (var i = 0; i < numWorkers; ++i) {
				var worker = new Worker(blobUrl);
				worker.addEventListener("message", function(e) {
					results.push(e.data);
					if (results.length === numWorkers) {
						for (var i = 0; i < numWorkers; ++i) {
							workers[i].terminate();
						}
						callback(null, results);
					}
				});
				workers.push(worker);
			}
			for (var i = 0; i < numWorkers; ++i) {
				workers[i].postMessage(i);
			}
		}
		function reduce(numWorkers, results) {
			var overlaps = [];
			for (var n = 0; n < numWorkers; ++n) {
				var r1 = results[n];
				var overlap = overlaps[n] = [];
				for (var i = 0; i < numWorkers; ++i) {
					if (n === i) {
						continue;
					}
					var r2 = results[i];
					if (r1.st > r2.st && r1.st < r2.et || r2.st > r1.st && r2.st < r1.et) {
						overlap.push(i);
					}
				}
			}
			return overlaps.reduce(function(max, overlap) {
				return Math.max(max, overlap.length);
			}, 0);
		}
	};
}));

//#endregion
//#region ../node_modules/node-forge/lib/cipher.js
var require_cipher = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Cipher base API.
	*
	* @author Dave Longley
	*
	* Copyright (c) 2010-2014 Digital Bazaar, Inc.
	*/
	var forge = require_forge();
	require_util$8();
	module.exports = forge.cipher = forge.cipher || {};
	forge.cipher.algorithms = forge.cipher.algorithms || {};
	/**
	* Creates a cipher object that can be used to encrypt data using the given
	* algorithm and key. The algorithm may be provided as a string value for a
	* previously registered algorithm or it may be given as a cipher algorithm
	* API object.
	*
	* @param algorithm the algorithm to use, either a string or an algorithm API
	*          object.
	* @param key the key to use, as a binary-encoded string of bytes or a
	*          byte buffer.
	*
	* @return the cipher.
	*/
	forge.cipher.createCipher = function(algorithm, key) {
		var api = algorithm;
		if (typeof api === "string") {
			api = forge.cipher.getAlgorithm(api);
			if (api) {
				api = api();
			}
		}
		if (!api) {
			throw new Error("Unsupported algorithm: " + algorithm);
		}
		return new forge.cipher.BlockCipher({
			algorithm: api,
			key,
			decrypt: false
		});
	};
	/**
	* Creates a decipher object that can be used to decrypt data using the given
	* algorithm and key. The algorithm may be provided as a string value for a
	* previously registered algorithm or it may be given as a cipher algorithm
	* API object.
	*
	* @param algorithm the algorithm to use, either a string or an algorithm API
	*          object.
	* @param key the key to use, as a binary-encoded string of bytes or a
	*          byte buffer.
	*
	* @return the cipher.
	*/
	forge.cipher.createDecipher = function(algorithm, key) {
		var api = algorithm;
		if (typeof api === "string") {
			api = forge.cipher.getAlgorithm(api);
			if (api) {
				api = api();
			}
		}
		if (!api) {
			throw new Error("Unsupported algorithm: " + algorithm);
		}
		return new forge.cipher.BlockCipher({
			algorithm: api,
			key,
			decrypt: true
		});
	};
	/**
	* Registers an algorithm by name. If the name was already registered, the
	* algorithm API object will be overwritten.
	*
	* @param name the name of the algorithm.
	* @param algorithm the algorithm API object.
	*/
	forge.cipher.registerAlgorithm = function(name, algorithm) {
		name = name.toUpperCase();
		forge.cipher.algorithms[name] = algorithm;
	};
	/**
	* Gets a registered algorithm by name.
	*
	* @param name the name of the algorithm.
	*
	* @return the algorithm, if found, null if not.
	*/
	forge.cipher.getAlgorithm = function(name) {
		name = name.toUpperCase();
		if (name in forge.cipher.algorithms) {
			return forge.cipher.algorithms[name];
		}
		return null;
	};
	var BlockCipher = forge.cipher.BlockCipher = function(options) {
		this.algorithm = options.algorithm;
		this.mode = this.algorithm.mode;
		this.blockSize = this.mode.blockSize;
		this._finish = false;
		this._input = null;
		this.output = null;
		this._op = options.decrypt ? this.mode.decrypt : this.mode.encrypt;
		this._decrypt = options.decrypt;
		this.algorithm.initialize(options);
	};
	/**
	* Starts or restarts the encryption or decryption process, whichever
	* was previously configured.
	*
	* For non-GCM mode, the IV may be a binary-encoded string of bytes, an array
	* of bytes, a byte buffer, or an array of 32-bit integers. If the IV is in
	* bytes, then it must be Nb (16) bytes in length. If the IV is given in as
	* 32-bit integers, then it must be 4 integers long.
	*
	* Note: an IV is not required or used in ECB mode.
	*
	* For GCM-mode, the IV must be given as a binary-encoded string of bytes or
	* a byte buffer. The number of bytes should be 12 (96 bits) as recommended
	* by NIST SP-800-38D but another length may be given.
	*
	* @param options the options to use:
	*          iv the initialization vector to use as a binary-encoded string of
	*            bytes, null to reuse the last ciphered block from a previous
	*            update() (this "residue" method is for legacy support only).
	*          additionalData additional authentication data as a binary-encoded
	*            string of bytes, for 'GCM' mode, (default: none).
	*          tagLength desired length of authentication tag, in bits, for
	*            'GCM' mode (0-128, default: 128).
	*          tag the authentication tag to check if decrypting, as a
	*             binary-encoded string of bytes.
	*          output the output the buffer to write to, null to create one.
	*/
	BlockCipher.prototype.start = function(options) {
		options = options || {};
		var opts = {};
		for (var key in options) {
			opts[key] = options[key];
		}
		opts.decrypt = this._decrypt;
		this._finish = false;
		this._input = forge.util.createBuffer();
		this.output = options.output || forge.util.createBuffer();
		this.mode.start(opts);
	};
	/**
	* Updates the next block according to the cipher mode.
	*
	* @param input the buffer to read from.
	*/
	BlockCipher.prototype.update = function(input) {
		if (input) {
			this._input.putBuffer(input);
		}
		while (!this._op.call(this.mode, this._input, this.output, this._finish) && !this._finish) {}
		this._input.compact();
	};
	/**
	* Finishes encrypting or decrypting.
	*
	* @param pad a padding function to use in CBC mode, null for default,
	*          signature(blockSize, buffer, decrypt).
	*
	* @return true if successful, false on error.
	*/
	BlockCipher.prototype.finish = function(pad) {
		if (pad && (this.mode.name === "ECB" || this.mode.name === "CBC")) {
			this.mode.pad = function(input) {
				return pad(this.blockSize, input, false);
			};
			this.mode.unpad = function(output) {
				return pad(this.blockSize, output, true);
			};
		}
		var options = {};
		options.decrypt = this._decrypt;
		options.overflow = this._input.length() % this.blockSize;
		if (!this._decrypt && this.mode.pad) {
			if (!this.mode.pad(this._input, options)) {
				return false;
			}
		}
		this._finish = true;
		this.update();
		if (this._decrypt && this.mode.unpad) {
			if (!this.mode.unpad(this.output, options)) {
				return false;
			}
		}
		if (this.mode.afterFinish) {
			if (!this.mode.afterFinish(this.output, options)) {
				return false;
			}
		}
		return true;
	};
}));

//#endregion
//#region ../node_modules/node-forge/lib/cipherModes.js
var require_cipherModes = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Supported cipher modes.
	*
	* @author Dave Longley
	*
	* Copyright (c) 2010-2014 Digital Bazaar, Inc.
	*/
	var forge = require_forge();
	require_util$8();
	forge.cipher = forge.cipher || {};
	var modes = module.exports = forge.cipher.modes = forge.cipher.modes || {};
	/** Electronic codebook (ECB) (Don't use this; it's not secure) **/
	modes.ecb = function(options) {
		options = options || {};
		this.name = "ECB";
		this.cipher = options.cipher;
		this.blockSize = options.blockSize || 16;
		this._ints = this.blockSize / 4;
		this._inBlock = new Array(this._ints);
		this._outBlock = new Array(this._ints);
	};
	modes.ecb.prototype.start = function(options) {};
	modes.ecb.prototype.encrypt = function(input, output, finish) {
		if (input.length() < this.blockSize && !(finish && input.length() > 0)) {
			return true;
		}
		for (var i = 0; i < this._ints; ++i) {
			this._inBlock[i] = input.getInt32();
		}
		this.cipher.encrypt(this._inBlock, this._outBlock);
		for (var i = 0; i < this._ints; ++i) {
			output.putInt32(this._outBlock[i]);
		}
	};
	modes.ecb.prototype.decrypt = function(input, output, finish) {
		if (input.length() < this.blockSize && !(finish && input.length() > 0)) {
			return true;
		}
		for (var i = 0; i < this._ints; ++i) {
			this._inBlock[i] = input.getInt32();
		}
		this.cipher.decrypt(this._inBlock, this._outBlock);
		for (var i = 0; i < this._ints; ++i) {
			output.putInt32(this._outBlock[i]);
		}
	};
	modes.ecb.prototype.pad = function(input, options) {
		var padding = input.length() === this.blockSize ? this.blockSize : this.blockSize - input.length();
		input.fillWithByte(padding, padding);
		return true;
	};
	modes.ecb.prototype.unpad = function(output, options) {
		if (options.overflow > 0) {
			return false;
		}
		var len = output.length();
		var count = output.at(len - 1);
		if (count > this.blockSize << 2) {
			return false;
		}
		output.truncate(count);
		return true;
	};
	/** Cipher-block Chaining (CBC) **/
	modes.cbc = function(options) {
		options = options || {};
		this.name = "CBC";
		this.cipher = options.cipher;
		this.blockSize = options.blockSize || 16;
		this._ints = this.blockSize / 4;
		this._inBlock = new Array(this._ints);
		this._outBlock = new Array(this._ints);
	};
	modes.cbc.prototype.start = function(options) {
		if (options.iv === null) {
			if (!this._prev) {
				throw new Error("Invalid IV parameter.");
			}
			this._iv = this._prev.slice(0);
		} else if (!("iv" in options)) {
			throw new Error("Invalid IV parameter.");
		} else {
			this._iv = transformIV(options.iv, this.blockSize);
			this._prev = this._iv.slice(0);
		}
	};
	modes.cbc.prototype.encrypt = function(input, output, finish) {
		if (input.length() < this.blockSize && !(finish && input.length() > 0)) {
			return true;
		}
		for (var i = 0; i < this._ints; ++i) {
			this._inBlock[i] = this._prev[i] ^ input.getInt32();
		}
		this.cipher.encrypt(this._inBlock, this._outBlock);
		for (var i = 0; i < this._ints; ++i) {
			output.putInt32(this._outBlock[i]);
		}
		this._prev = this._outBlock;
	};
	modes.cbc.prototype.decrypt = function(input, output, finish) {
		if (input.length() < this.blockSize && !(finish && input.length() > 0)) {
			return true;
		}
		for (var i = 0; i < this._ints; ++i) {
			this._inBlock[i] = input.getInt32();
		}
		this.cipher.decrypt(this._inBlock, this._outBlock);
		for (var i = 0; i < this._ints; ++i) {
			output.putInt32(this._prev[i] ^ this._outBlock[i]);
		}
		this._prev = this._inBlock.slice(0);
	};
	modes.cbc.prototype.pad = function(input, options) {
		var padding = input.length() === this.blockSize ? this.blockSize : this.blockSize - input.length();
		input.fillWithByte(padding, padding);
		return true;
	};
	modes.cbc.prototype.unpad = function(output, options) {
		if (options.overflow > 0) {
			return false;
		}
		var len = output.length();
		var count = output.at(len - 1);
		if (count > this.blockSize << 2) {
			return false;
		}
		output.truncate(count);
		return true;
	};
	/** Cipher feedback (CFB) **/
	modes.cfb = function(options) {
		options = options || {};
		this.name = "CFB";
		this.cipher = options.cipher;
		this.blockSize = options.blockSize || 16;
		this._ints = this.blockSize / 4;
		this._inBlock = null;
		this._outBlock = new Array(this._ints);
		this._partialBlock = new Array(this._ints);
		this._partialOutput = forge.util.createBuffer();
		this._partialBytes = 0;
	};
	modes.cfb.prototype.start = function(options) {
		if (!("iv" in options)) {
			throw new Error("Invalid IV parameter.");
		}
		this._iv = transformIV(options.iv, this.blockSize);
		this._inBlock = this._iv.slice(0);
		this._partialBytes = 0;
	};
	modes.cfb.prototype.encrypt = function(input, output, finish) {
		var inputLength = input.length();
		if (inputLength === 0) {
			return true;
		}
		this.cipher.encrypt(this._inBlock, this._outBlock);
		if (this._partialBytes === 0 && inputLength >= this.blockSize) {
			for (var i = 0; i < this._ints; ++i) {
				this._inBlock[i] = input.getInt32() ^ this._outBlock[i];
				output.putInt32(this._inBlock[i]);
			}
			return;
		}
		var partialBytes = (this.blockSize - inputLength) % this.blockSize;
		if (partialBytes > 0) {
			partialBytes = this.blockSize - partialBytes;
		}
		this._partialOutput.clear();
		for (var i = 0; i < this._ints; ++i) {
			this._partialBlock[i] = input.getInt32() ^ this._outBlock[i];
			this._partialOutput.putInt32(this._partialBlock[i]);
		}
		if (partialBytes > 0) {
			input.read -= this.blockSize;
		} else {
			for (var i = 0; i < this._ints; ++i) {
				this._inBlock[i] = this._partialBlock[i];
			}
		}
		if (this._partialBytes > 0) {
			this._partialOutput.getBytes(this._partialBytes);
		}
		if (partialBytes > 0 && !finish) {
			output.putBytes(this._partialOutput.getBytes(partialBytes - this._partialBytes));
			this._partialBytes = partialBytes;
			return true;
		}
		output.putBytes(this._partialOutput.getBytes(inputLength - this._partialBytes));
		this._partialBytes = 0;
	};
	modes.cfb.prototype.decrypt = function(input, output, finish) {
		var inputLength = input.length();
		if (inputLength === 0) {
			return true;
		}
		this.cipher.encrypt(this._inBlock, this._outBlock);
		if (this._partialBytes === 0 && inputLength >= this.blockSize) {
			for (var i = 0; i < this._ints; ++i) {
				this._inBlock[i] = input.getInt32();
				output.putInt32(this._inBlock[i] ^ this._outBlock[i]);
			}
			return;
		}
		var partialBytes = (this.blockSize - inputLength) % this.blockSize;
		if (partialBytes > 0) {
			partialBytes = this.blockSize - partialBytes;
		}
		this._partialOutput.clear();
		for (var i = 0; i < this._ints; ++i) {
			this._partialBlock[i] = input.getInt32();
			this._partialOutput.putInt32(this._partialBlock[i] ^ this._outBlock[i]);
		}
		if (partialBytes > 0) {
			input.read -= this.blockSize;
		} else {
			for (var i = 0; i < this._ints; ++i) {
				this._inBlock[i] = this._partialBlock[i];
			}
		}
		if (this._partialBytes > 0) {
			this._partialOutput.getBytes(this._partialBytes);
		}
		if (partialBytes > 0 && !finish) {
			output.putBytes(this._partialOutput.getBytes(partialBytes - this._partialBytes));
			this._partialBytes = partialBytes;
			return true;
		}
		output.putBytes(this._partialOutput.getBytes(inputLength - this._partialBytes));
		this._partialBytes = 0;
	};
	/** Output feedback (OFB) **/
	modes.ofb = function(options) {
		options = options || {};
		this.name = "OFB";
		this.cipher = options.cipher;
		this.blockSize = options.blockSize || 16;
		this._ints = this.blockSize / 4;
		this._inBlock = null;
		this._outBlock = new Array(this._ints);
		this._partialOutput = forge.util.createBuffer();
		this._partialBytes = 0;
	};
	modes.ofb.prototype.start = function(options) {
		if (!("iv" in options)) {
			throw new Error("Invalid IV parameter.");
		}
		this._iv = transformIV(options.iv, this.blockSize);
		this._inBlock = this._iv.slice(0);
		this._partialBytes = 0;
	};
	modes.ofb.prototype.encrypt = function(input, output, finish) {
		var inputLength = input.length();
		if (input.length() === 0) {
			return true;
		}
		this.cipher.encrypt(this._inBlock, this._outBlock);
		if (this._partialBytes === 0 && inputLength >= this.blockSize) {
			for (var i = 0; i < this._ints; ++i) {
				output.putInt32(input.getInt32() ^ this._outBlock[i]);
				this._inBlock[i] = this._outBlock[i];
			}
			return;
		}
		var partialBytes = (this.blockSize - inputLength) % this.blockSize;
		if (partialBytes > 0) {
			partialBytes = this.blockSize - partialBytes;
		}
		this._partialOutput.clear();
		for (var i = 0; i < this._ints; ++i) {
			this._partialOutput.putInt32(input.getInt32() ^ this._outBlock[i]);
		}
		if (partialBytes > 0) {
			input.read -= this.blockSize;
		} else {
			for (var i = 0; i < this._ints; ++i) {
				this._inBlock[i] = this._outBlock[i];
			}
		}
		if (this._partialBytes > 0) {
			this._partialOutput.getBytes(this._partialBytes);
		}
		if (partialBytes > 0 && !finish) {
			output.putBytes(this._partialOutput.getBytes(partialBytes - this._partialBytes));
			this._partialBytes = partialBytes;
			return true;
		}
		output.putBytes(this._partialOutput.getBytes(inputLength - this._partialBytes));
		this._partialBytes = 0;
	};
	modes.ofb.prototype.decrypt = modes.ofb.prototype.encrypt;
	/** Counter (CTR) **/
	modes.ctr = function(options) {
		options = options || {};
		this.name = "CTR";
		this.cipher = options.cipher;
		this.blockSize = options.blockSize || 16;
		this._ints = this.blockSize / 4;
		this._inBlock = null;
		this._outBlock = new Array(this._ints);
		this._partialOutput = forge.util.createBuffer();
		this._partialBytes = 0;
	};
	modes.ctr.prototype.start = function(options) {
		if (!("iv" in options)) {
			throw new Error("Invalid IV parameter.");
		}
		this._iv = transformIV(options.iv, this.blockSize);
		this._inBlock = this._iv.slice(0);
		this._partialBytes = 0;
	};
	modes.ctr.prototype.encrypt = function(input, output, finish) {
		var inputLength = input.length();
		if (inputLength === 0) {
			return true;
		}
		this.cipher.encrypt(this._inBlock, this._outBlock);
		if (this._partialBytes === 0 && inputLength >= this.blockSize) {
			for (var i = 0; i < this._ints; ++i) {
				output.putInt32(input.getInt32() ^ this._outBlock[i]);
			}
		} else {
			var partialBytes = (this.blockSize - inputLength) % this.blockSize;
			if (partialBytes > 0) {
				partialBytes = this.blockSize - partialBytes;
			}
			this._partialOutput.clear();
			for (var i = 0; i < this._ints; ++i) {
				this._partialOutput.putInt32(input.getInt32() ^ this._outBlock[i]);
			}
			if (partialBytes > 0) {
				input.read -= this.blockSize;
			}
			if (this._partialBytes > 0) {
				this._partialOutput.getBytes(this._partialBytes);
			}
			if (partialBytes > 0 && !finish) {
				output.putBytes(this._partialOutput.getBytes(partialBytes - this._partialBytes));
				this._partialBytes = partialBytes;
				return true;
			}
			output.putBytes(this._partialOutput.getBytes(inputLength - this._partialBytes));
			this._partialBytes = 0;
		}
		inc32(this._inBlock);
	};
	modes.ctr.prototype.decrypt = modes.ctr.prototype.encrypt;
	/** Galois/Counter Mode (GCM) **/
	modes.gcm = function(options) {
		options = options || {};
		this.name = "GCM";
		this.cipher = options.cipher;
		this.blockSize = options.blockSize || 16;
		this._ints = this.blockSize / 4;
		this._inBlock = new Array(this._ints);
		this._outBlock = new Array(this._ints);
		this._partialOutput = forge.util.createBuffer();
		this._partialBytes = 0;
		this._R = 3774873600;
	};
	modes.gcm.prototype.start = function(options) {
		if (!("iv" in options)) {
			throw new Error("Invalid IV parameter.");
		}
		var iv = forge.util.createBuffer(options.iv);
		this._cipherLength = 0;
		var additionalData;
		if ("additionalData" in options) {
			additionalData = forge.util.createBuffer(options.additionalData);
		} else {
			additionalData = forge.util.createBuffer();
		}
		if ("tagLength" in options) {
			this._tagLength = options.tagLength;
		} else {
			this._tagLength = 128;
		}
		this._tag = null;
		if (options.decrypt) {
			this._tag = forge.util.createBuffer(options.tag).getBytes();
			if (this._tag.length !== this._tagLength / 8) {
				throw new Error("Authentication tag does not match tag length.");
			}
		}
		this._hashBlock = new Array(this._ints);
		this.tag = null;
		this._hashSubkey = new Array(this._ints);
		this.cipher.encrypt([
			0,
			0,
			0,
			0
		], this._hashSubkey);
		this.componentBits = 4;
		this._m = this.generateHashTable(this._hashSubkey, this.componentBits);
		var ivLength = iv.length();
		if (ivLength === 12) {
			this._j0 = [
				iv.getInt32(),
				iv.getInt32(),
				iv.getInt32(),
				1
			];
		} else {
			this._j0 = [
				0,
				0,
				0,
				0
			];
			while (iv.length() > 0) {
				this._j0 = this.ghash(this._hashSubkey, this._j0, [
					iv.getInt32(),
					iv.getInt32(),
					iv.getInt32(),
					iv.getInt32()
				]);
			}
			this._j0 = this.ghash(this._hashSubkey, this._j0, [0, 0].concat(from64To32(ivLength * 8)));
		}
		this._inBlock = this._j0.slice(0);
		inc32(this._inBlock);
		this._partialBytes = 0;
		additionalData = forge.util.createBuffer(additionalData);
		this._aDataLength = from64To32(additionalData.length() * 8);
		var overflow = additionalData.length() % this.blockSize;
		if (overflow) {
			additionalData.fillWithByte(0, this.blockSize - overflow);
		}
		this._s = [
			0,
			0,
			0,
			0
		];
		while (additionalData.length() > 0) {
			this._s = this.ghash(this._hashSubkey, this._s, [
				additionalData.getInt32(),
				additionalData.getInt32(),
				additionalData.getInt32(),
				additionalData.getInt32()
			]);
		}
	};
	modes.gcm.prototype.encrypt = function(input, output, finish) {
		var inputLength = input.length();
		if (inputLength === 0) {
			return true;
		}
		this.cipher.encrypt(this._inBlock, this._outBlock);
		if (this._partialBytes === 0 && inputLength >= this.blockSize) {
			for (var i = 0; i < this._ints; ++i) {
				output.putInt32(this._outBlock[i] ^= input.getInt32());
			}
			this._cipherLength += this.blockSize;
		} else {
			var partialBytes = (this.blockSize - inputLength) % this.blockSize;
			if (partialBytes > 0) {
				partialBytes = this.blockSize - partialBytes;
			}
			this._partialOutput.clear();
			for (var i = 0; i < this._ints; ++i) {
				this._partialOutput.putInt32(input.getInt32() ^ this._outBlock[i]);
			}
			if (partialBytes <= 0 || finish) {
				if (finish) {
					var overflow = inputLength % this.blockSize;
					this._cipherLength += overflow;
					this._partialOutput.truncate(this.blockSize - overflow);
				} else {
					this._cipherLength += this.blockSize;
				}
				for (var i = 0; i < this._ints; ++i) {
					this._outBlock[i] = this._partialOutput.getInt32();
				}
				this._partialOutput.read -= this.blockSize;
			}
			if (this._partialBytes > 0) {
				this._partialOutput.getBytes(this._partialBytes);
			}
			if (partialBytes > 0 && !finish) {
				input.read -= this.blockSize;
				output.putBytes(this._partialOutput.getBytes(partialBytes - this._partialBytes));
				this._partialBytes = partialBytes;
				return true;
			}
			output.putBytes(this._partialOutput.getBytes(inputLength - this._partialBytes));
			this._partialBytes = 0;
		}
		this._s = this.ghash(this._hashSubkey, this._s, this._outBlock);
		inc32(this._inBlock);
	};
	modes.gcm.prototype.decrypt = function(input, output, finish) {
		var inputLength = input.length();
		if (inputLength < this.blockSize && !(finish && inputLength > 0)) {
			return true;
		}
		this.cipher.encrypt(this._inBlock, this._outBlock);
		inc32(this._inBlock);
		this._hashBlock[0] = input.getInt32();
		this._hashBlock[1] = input.getInt32();
		this._hashBlock[2] = input.getInt32();
		this._hashBlock[3] = input.getInt32();
		this._s = this.ghash(this._hashSubkey, this._s, this._hashBlock);
		for (var i = 0; i < this._ints; ++i) {
			output.putInt32(this._outBlock[i] ^ this._hashBlock[i]);
		}
		if (inputLength < this.blockSize) {
			this._cipherLength += inputLength % this.blockSize;
		} else {
			this._cipherLength += this.blockSize;
		}
	};
	modes.gcm.prototype.afterFinish = function(output, options) {
		var rval = true;
		if (options.decrypt && options.overflow) {
			output.truncate(this.blockSize - options.overflow);
		}
		this.tag = forge.util.createBuffer();
		var lengths = this._aDataLength.concat(from64To32(this._cipherLength * 8));
		this._s = this.ghash(this._hashSubkey, this._s, lengths);
		var tag = [];
		this.cipher.encrypt(this._j0, tag);
		for (var i = 0; i < this._ints; ++i) {
			this.tag.putInt32(this._s[i] ^ tag[i]);
		}
		this.tag.truncate(this.tag.length() % (this._tagLength / 8));
		if (options.decrypt && this.tag.bytes() !== this._tag) {
			rval = false;
		}
		return rval;
	};
	/**
	* See NIST SP-800-38D 6.3 (Algorithm 1). This function performs Galois
	* field multiplication. The field, GF(2^128), is defined by the polynomial:
	*
	* x^128 + x^7 + x^2 + x + 1
	*
	* Which is represented in little-endian binary form as: 11100001 (0xe1). When
	* the value of a coefficient is 1, a bit is set. The value R, is the
	* concatenation of this value and 120 zero bits, yielding a 128-bit value
	* which matches the block size.
	*
	* This function will multiply two elements (vectors of bytes), X and Y, in
	* the field GF(2^128). The result is initialized to zero. For each bit of
	* X (out of 128), x_i, if x_i is set, then the result is multiplied (XOR'd)
	* by the current value of Y. For each bit, the value of Y will be raised by
	* a power of x (multiplied by the polynomial x). This can be achieved by
	* shifting Y once to the right. If the current value of Y, prior to being
	* multiplied by x, has 0 as its LSB, then it is a 127th degree polynomial.
	* Otherwise, we must divide by R after shifting to find the remainder.
	*
	* @param x the first block to multiply by the second.
	* @param y the second block to multiply by the first.
	*
	* @return the block result of the multiplication.
	*/
	modes.gcm.prototype.multiply = function(x, y) {
		var z_i = [
			0,
			0,
			0,
			0
		];
		var v_i = y.slice(0);
		for (var i = 0; i < 128; ++i) {
			var x_i = x[i / 32 | 0] & 1 << 31 - i % 32;
			if (x_i) {
				z_i[0] ^= v_i[0];
				z_i[1] ^= v_i[1];
				z_i[2] ^= v_i[2];
				z_i[3] ^= v_i[3];
			}
			this.pow(v_i, v_i);
		}
		return z_i;
	};
	modes.gcm.prototype.pow = function(x, out) {
		var lsb = x[3] & 1;
		for (var i = 3; i > 0; --i) {
			out[i] = x[i] >>> 1 | (x[i - 1] & 1) << 31;
		}
		out[0] = x[0] >>> 1;
		if (lsb) {
			out[0] ^= this._R;
		}
	};
	modes.gcm.prototype.tableMultiply = function(x) {
		var z = [
			0,
			0,
			0,
			0
		];
		for (var i = 0; i < 32; ++i) {
			var idx = i / 8 | 0;
			var x_i = x[idx] >>> (7 - i % 8) * 4 & 15;
			var ah = this._m[i][x_i];
			z[0] ^= ah[0];
			z[1] ^= ah[1];
			z[2] ^= ah[2];
			z[3] ^= ah[3];
		}
		return z;
	};
	/**
	* A continuing version of the GHASH algorithm that operates on a single
	* block. The hash block, last hash value (Ym) and the new block to hash
	* are given.
	*
	* @param h the hash block.
	* @param y the previous value for Ym, use [0, 0, 0, 0] for a new hash.
	* @param x the block to hash.
	*
	* @return the hashed value (Ym).
	*/
	modes.gcm.prototype.ghash = function(h, y, x) {
		y[0] ^= x[0];
		y[1] ^= x[1];
		y[2] ^= x[2];
		y[3] ^= x[3];
		return this.tableMultiply(y);
	};
	/**
	* Precomputes a table for multiplying against the hash subkey. This
	* mechanism provides a substantial speed increase over multiplication
	* performed without a table. The table-based multiplication this table is
	* for solves X * H by multiplying each component of X by H and then
	* composing the results together using XOR.
	*
	* This function can be used to generate tables with different bit sizes
	* for the components, however, this implementation assumes there are
	* 32 components of X (which is a 16 byte vector), therefore each component
	* takes 4-bits (so the table is constructed with bits=4).
	*
	* @param h the hash subkey.
	* @param bits the bit size for a component.
	*/
	modes.gcm.prototype.generateHashTable = function(h, bits) {
		var multiplier = 8 / bits;
		var perInt = 4 * multiplier;
		var size = 16 * multiplier;
		var m = new Array(size);
		for (var i = 0; i < size; ++i) {
			var tmp = [
				0,
				0,
				0,
				0
			];
			var idx = i / perInt | 0;
			var shft = (perInt - 1 - i % perInt) * bits;
			tmp[idx] = 1 << bits - 1 << shft;
			m[i] = this.generateSubHashTable(this.multiply(tmp, h), bits);
		}
		return m;
	};
	/**
	* Generates a table for multiplying against the hash subkey for one
	* particular component (out of all possible component values).
	*
	* @param mid the pre-multiplied value for the middle key of the table.
	* @param bits the bit size for a component.
	*/
	modes.gcm.prototype.generateSubHashTable = function(mid, bits) {
		var size = 1 << bits;
		var half = size >>> 1;
		var m = new Array(size);
		m[half] = mid.slice(0);
		var i = half >>> 1;
		while (i > 0) {
			this.pow(m[2 * i], m[i] = []);
			i >>= 1;
		}
		i = 2;
		while (i < half) {
			for (var j = 1; j < i; ++j) {
				var m_i = m[i];
				var m_j = m[j];
				m[i + j] = [
					m_i[0] ^ m_j[0],
					m_i[1] ^ m_j[1],
					m_i[2] ^ m_j[2],
					m_i[3] ^ m_j[3]
				];
			}
			i *= 2;
		}
		m[0] = [
			0,
			0,
			0,
			0
		];
		for (i = half + 1; i < size; ++i) {
			var c = m[i ^ half];
			m[i] = [
				mid[0] ^ c[0],
				mid[1] ^ c[1],
				mid[2] ^ c[2],
				mid[3] ^ c[3]
			];
		}
		return m;
	};
	/** Utility functions */
	function transformIV(iv, blockSize) {
		if (typeof iv === "string") {
			iv = forge.util.createBuffer(iv);
		}
		if (forge.util.isArray(iv) && iv.length > 4) {
			var tmp = iv;
			iv = forge.util.createBuffer();
			for (var i = 0; i < tmp.length; ++i) {
				iv.putByte(tmp[i]);
			}
		}
		if (iv.length() < blockSize) {
			throw new Error("Invalid IV length; got " + iv.length() + " bytes and expected " + blockSize + " bytes.");
		}
		if (!forge.util.isArray(iv)) {
			var ints = [];
			var blocks = blockSize / 4;
			for (var i = 0; i < blocks; ++i) {
				ints.push(iv.getInt32());
			}
			iv = ints;
		}
		return iv;
	}
	function inc32(block) {
		block[block.length - 1] = block[block.length - 1] + 1 & 4294967295;
	}
	function from64To32(num) {
		return [num / 4294967296 | 0, num & 4294967295];
	}
}));

//#endregion
//#region ../node_modules/node-forge/lib/aes.js
var require_aes$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Advanced Encryption Standard (AES) implementation.
	*
	* This implementation is based on the public domain library 'jscrypto' which
	* was written by:
	*
	* Emily Stark (estark@stanford.edu)
	* Mike Hamburg (mhamburg@stanford.edu)
	* Dan Boneh (dabo@cs.stanford.edu)
	*
	* Parts of this code are based on the OpenSSL implementation of AES:
	* http://www.openssl.org
	*
	* @author Dave Longley
	*
	* Copyright (c) 2010-2014 Digital Bazaar, Inc.
	*/
	var forge = require_forge();
	require_cipher();
	require_cipherModes();
	require_util$8();
	module.exports = forge.aes = forge.aes || {};
	/**
	* Deprecated. Instead, use:
	*
	* var cipher = forge.cipher.createCipher('AES-<mode>', key);
	* cipher.start({iv: iv});
	*
	* Creates an AES cipher object to encrypt data using the given symmetric key.
	* The output will be stored in the 'output' member of the returned cipher.
	*
	* The key and iv may be given as a string of bytes, an array of bytes,
	* a byte buffer, or an array of 32-bit words.
	*
	* @param key the symmetric key to use.
	* @param iv the initialization vector to use.
	* @param output the buffer to write to, null to create one.
	* @param mode the cipher mode to use (default: 'CBC').
	*
	* @return the cipher.
	*/
	forge.aes.startEncrypting = function(key, iv, output, mode) {
		var cipher = _createCipher({
			key,
			output,
			decrypt: false,
			mode
		});
		cipher.start(iv);
		return cipher;
	};
	/**
	* Deprecated. Instead, use:
	*
	* var cipher = forge.cipher.createCipher('AES-<mode>', key);
	*
	* Creates an AES cipher object to encrypt data using the given symmetric key.
	*
	* The key may be given as a string of bytes, an array of bytes, a
	* byte buffer, or an array of 32-bit words.
	*
	* @param key the symmetric key to use.
	* @param mode the cipher mode to use (default: 'CBC').
	*
	* @return the cipher.
	*/
	forge.aes.createEncryptionCipher = function(key, mode) {
		return _createCipher({
			key,
			output: null,
			decrypt: false,
			mode
		});
	};
	/**
	* Deprecated. Instead, use:
	*
	* var decipher = forge.cipher.createDecipher('AES-<mode>', key);
	* decipher.start({iv: iv});
	*
	* Creates an AES cipher object to decrypt data using the given symmetric key.
	* The output will be stored in the 'output' member of the returned cipher.
	*
	* The key and iv may be given as a string of bytes, an array of bytes,
	* a byte buffer, or an array of 32-bit words.
	*
	* @param key the symmetric key to use.
	* @param iv the initialization vector to use.
	* @param output the buffer to write to, null to create one.
	* @param mode the cipher mode to use (default: 'CBC').
	*
	* @return the cipher.
	*/
	forge.aes.startDecrypting = function(key, iv, output, mode) {
		var cipher = _createCipher({
			key,
			output,
			decrypt: true,
			mode
		});
		cipher.start(iv);
		return cipher;
	};
	/**
	* Deprecated. Instead, use:
	*
	* var decipher = forge.cipher.createDecipher('AES-<mode>', key);
	*
	* Creates an AES cipher object to decrypt data using the given symmetric key.
	*
	* The key may be given as a string of bytes, an array of bytes, a
	* byte buffer, or an array of 32-bit words.
	*
	* @param key the symmetric key to use.
	* @param mode the cipher mode to use (default: 'CBC').
	*
	* @return the cipher.
	*/
	forge.aes.createDecryptionCipher = function(key, mode) {
		return _createCipher({
			key,
			output: null,
			decrypt: true,
			mode
		});
	};
	/**
	* Creates a new AES cipher algorithm object.
	*
	* @param name the name of the algorithm.
	* @param mode the mode factory function.
	*
	* @return the AES algorithm object.
	*/
	forge.aes.Algorithm = function(name, mode) {
		if (!init) {
			initialize();
		}
		var self = this;
		self.name = name;
		self.mode = new mode({
			blockSize: 16,
			cipher: {
				encrypt: function(inBlock, outBlock) {
					return _updateBlock(self._w, inBlock, outBlock, false);
				},
				decrypt: function(inBlock, outBlock) {
					return _updateBlock(self._w, inBlock, outBlock, true);
				}
			}
		});
		self._init = false;
	};
	/**
	* Initializes this AES algorithm by expanding its key.
	*
	* @param options the options to use.
	*          key the key to use with this algorithm.
	*          decrypt true if the algorithm should be initialized for decryption,
	*            false for encryption.
	*/
	forge.aes.Algorithm.prototype.initialize = function(options) {
		if (this._init) {
			return;
		}
		var key = options.key;
		var tmp;
		if (typeof key === "string" && (key.length === 16 || key.length === 24 || key.length === 32)) {
			key = forge.util.createBuffer(key);
		} else if (forge.util.isArray(key) && (key.length === 16 || key.length === 24 || key.length === 32)) {
			tmp = key;
			key = forge.util.createBuffer();
			for (var i = 0; i < tmp.length; ++i) {
				key.putByte(tmp[i]);
			}
		}
		if (!forge.util.isArray(key)) {
			tmp = key;
			key = [];
			var len = tmp.length();
			if (len === 16 || len === 24 || len === 32) {
				len = len >>> 2;
				for (var i = 0; i < len; ++i) {
					key.push(tmp.getInt32());
				}
			}
		}
		if (!forge.util.isArray(key) || !(key.length === 4 || key.length === 6 || key.length === 8)) {
			throw new Error("Invalid key parameter.");
		}
		var mode = this.mode.name;
		var encryptOp = [
			"CFB",
			"OFB",
			"CTR",
			"GCM"
		].indexOf(mode) !== -1;
		this._w = _expandKey(key, options.decrypt && !encryptOp);
		this._init = true;
	};
	/**
	* Expands a key. Typically only used for testing.
	*
	* @param key the symmetric key to expand, as an array of 32-bit words.
	* @param decrypt true to expand for decryption, false for encryption.
	*
	* @return the expanded key.
	*/
	forge.aes._expandKey = function(key, decrypt) {
		if (!init) {
			initialize();
		}
		return _expandKey(key, decrypt);
	};
	/**
	* Updates a single block. Typically only used for testing.
	*
	* @param w the expanded key to use.
	* @param input an array of block-size 32-bit words.
	* @param output an array of block-size 32-bit words.
	* @param decrypt true to decrypt, false to encrypt.
	*/
	forge.aes._updateBlock = _updateBlock;
	/** Register AES algorithms **/
	registerAlgorithm("AES-ECB", forge.cipher.modes.ecb);
	registerAlgorithm("AES-CBC", forge.cipher.modes.cbc);
	registerAlgorithm("AES-CFB", forge.cipher.modes.cfb);
	registerAlgorithm("AES-OFB", forge.cipher.modes.ofb);
	registerAlgorithm("AES-CTR", forge.cipher.modes.ctr);
	registerAlgorithm("AES-GCM", forge.cipher.modes.gcm);
	function registerAlgorithm(name, mode) {
		var factory = function() {
			return new forge.aes.Algorithm(name, mode);
		};
		forge.cipher.registerAlgorithm(name, factory);
	}
	/** AES implementation **/
	var init = false;
	var Nb = 4;
	var sbox;
	var isbox;
	var rcon;
	var mix;
	var imix;
	/**
	* Performs initialization, ie: precomputes tables to optimize for speed.
	*
	* One way to understand how AES works is to imagine that 'addition' and
	* 'multiplication' are interfaces that require certain mathematical
	* properties to hold true (ie: they are associative) but they might have
	* different implementations and produce different kinds of results ...
	* provided that their mathematical properties remain true. AES defines
	* its own methods of addition and multiplication but keeps some important
	* properties the same, ie: associativity and distributivity. The
	* explanation below tries to shed some light on how AES defines addition
	* and multiplication of bytes and 32-bit words in order to perform its
	* encryption and decryption algorithms.
	*
	* The basics:
	*
	* The AES algorithm views bytes as binary representations of polynomials
	* that have either 1 or 0 as the coefficients. It defines the addition
	* or subtraction of two bytes as the XOR operation. It also defines the
	* multiplication of two bytes as a finite field referred to as GF(2^8)
	* (Note: 'GF' means "Galois Field" which is a field that contains a finite
	* number of elements so GF(2^8) has 256 elements).
	*
	* This means that any two bytes can be represented as binary polynomials;
	* when they multiplied together and modularly reduced by an irreducible
	* polynomial of the 8th degree, the results are the field GF(2^8). The
	* specific irreducible polynomial that AES uses in hexadecimal is 0x11b.
	* This multiplication is associative with 0x01 as the identity:
	*
	* (b * 0x01 = GF(b, 0x01) = b).
	*
	* The operation GF(b, 0x02) can be performed at the byte level by left
	* shifting b once and then XOR'ing it (to perform the modular reduction)
	* with 0x11b if b is >= 128. Repeated application of the multiplication
	* of 0x02 can be used to implement the multiplication of any two bytes.
	*
	* For instance, multiplying 0x57 and 0x13, denoted as GF(0x57, 0x13), can
	* be performed by factoring 0x13 into 0x01, 0x02, and 0x10. Then these
	* factors can each be multiplied by 0x57 and then added together. To do
	* the multiplication, values for 0x57 multiplied by each of these 3 factors
	* can be precomputed and stored in a table. To add them, the values from
	* the table are XOR'd together.
	*
	* AES also defines addition and multiplication of words, that is 4-byte
	* numbers represented as polynomials of 3 degrees where the coefficients
	* are the values of the bytes.
	*
	* The word [a0, a1, a2, a3] is a polynomial a3x^3 + a2x^2 + a1x + a0.
	*
	* Addition is performed by XOR'ing like powers of x. Multiplication
	* is performed in two steps, the first is an algebriac expansion as
	* you would do normally (where addition is XOR). But the result is
	* a polynomial larger than 3 degrees and thus it cannot fit in a word. So
	* next the result is modularly reduced by an AES-specific polynomial of
	* degree 4 which will always produce a polynomial of less than 4 degrees
	* such that it will fit in a word. In AES, this polynomial is x^4 + 1.
	*
	* The modular product of two polynomials 'a' and 'b' is thus:
	*
	* d(x) = d3x^3 + d2x^2 + d1x + d0
	* with
	* d0 = GF(a0, b0) ^ GF(a3, b1) ^ GF(a2, b2) ^ GF(a1, b3)
	* d1 = GF(a1, b0) ^ GF(a0, b1) ^ GF(a3, b2) ^ GF(a2, b3)
	* d2 = GF(a2, b0) ^ GF(a1, b1) ^ GF(a0, b2) ^ GF(a3, b3)
	* d3 = GF(a3, b0) ^ GF(a2, b1) ^ GF(a1, b2) ^ GF(a0, b3)
	*
	* As a matrix:
	*
	* [d0] = [a0 a3 a2 a1][b0]
	* [d1]   [a1 a0 a3 a2][b1]
	* [d2]   [a2 a1 a0 a3][b2]
	* [d3]   [a3 a2 a1 a0][b3]
	*
	* Special polynomials defined by AES (0x02 == {02}):
	* a(x)    = {03}x^3 + {01}x^2 + {01}x + {02}
	* a^-1(x) = {0b}x^3 + {0d}x^2 + {09}x + {0e}.
	*
	* These polynomials are used in the MixColumns() and InverseMixColumns()
	* operations, respectively, to cause each element in the state to affect
	* the output (referred to as diffusing).
	*
	* RotWord() uses: a0 = a1 = a2 = {00} and a3 = {01}, which is the
	* polynomial x3.
	*
	* The ShiftRows() method modifies the last 3 rows in the state (where
	* the state is 4 words with 4 bytes per word) by shifting bytes cyclically.
	* The 1st byte in the second row is moved to the end of the row. The 1st
	* and 2nd bytes in the third row are moved to the end of the row. The 1st,
	* 2nd, and 3rd bytes are moved in the fourth row.
	*
	* More details on how AES arithmetic works:
	*
	* In the polynomial representation of binary numbers, XOR performs addition
	* and subtraction and multiplication in GF(2^8) denoted as GF(a, b)
	* corresponds with the multiplication of polynomials modulo an irreducible
	* polynomial of degree 8. In other words, for AES, GF(a, b) will multiply
	* polynomial 'a' with polynomial 'b' and then do a modular reduction by
	* an AES-specific irreducible polynomial of degree 8.
	*
	* A polynomial is irreducible if its only divisors are one and itself. For
	* the AES algorithm, this irreducible polynomial is:
	*
	* m(x) = x^8 + x^4 + x^3 + x + 1,
	*
	* or {01}{1b} in hexadecimal notation, where each coefficient is a bit:
	* 100011011 = 283 = 0x11b.
	*
	* For example, GF(0x57, 0x83) = 0xc1 because
	*
	* 0x57 = 87  = 01010111 = x^6 + x^4 + x^2 + x + 1
	* 0x85 = 131 = 10000101 = x^7 + x + 1
	*
	* (x^6 + x^4 + x^2 + x + 1) * (x^7 + x + 1)
	* =  x^13 + x^11 + x^9 + x^8 + x^7 +
	*    x^7 + x^5 + x^3 + x^2 + x +
	*    x^6 + x^4 + x^2 + x + 1
	* =  x^13 + x^11 + x^9 + x^8 + x^6 + x^5 + x^4 + x^3 + 1 = y
	*    y modulo (x^8 + x^4 + x^3 + x + 1)
	* =  x^7 + x^6 + 1.
	*
	* The modular reduction by m(x) guarantees the result will be a binary
	* polynomial of less than degree 8, so that it can fit in a byte.
	*
	* The operation to multiply a binary polynomial b with x (the polynomial
	* x in binary representation is 00000010) is:
	*
	* b_7x^8 + b_6x^7 + b_5x^6 + b_4x^5 + b_3x^4 + b_2x^3 + b_1x^2 + b_0x^1
	*
	* To get GF(b, x) we must reduce that by m(x). If b_7 is 0 (that is the
	* most significant bit is 0 in b) then the result is already reduced. If
	* it is 1, then we can reduce it by subtracting m(x) via an XOR.
	*
	* It follows that multiplication by x (00000010 or 0x02) can be implemented
	* by performing a left shift followed by a conditional bitwise XOR with
	* 0x1b. This operation on bytes is denoted by xtime(). Multiplication by
	* higher powers of x can be implemented by repeated application of xtime().
	*
	* By adding intermediate results, multiplication by any constant can be
	* implemented. For instance:
	*
	* GF(0x57, 0x13) = 0xfe because:
	*
	* xtime(b) = (b & 128) ? (b << 1 ^ 0x11b) : (b << 1)
	*
	* Note: We XOR with 0x11b instead of 0x1b because in javascript our
	* datatype for b can be larger than 1 byte, so a left shift will not
	* automatically eliminate bits that overflow a byte ... by XOR'ing the
	* overflow bit with 1 (the extra one from 0x11b) we zero it out.
	*
	* GF(0x57, 0x02) = xtime(0x57) = 0xae
	* GF(0x57, 0x04) = xtime(0xae) = 0x47
	* GF(0x57, 0x08) = xtime(0x47) = 0x8e
	* GF(0x57, 0x10) = xtime(0x8e) = 0x07
	*
	* GF(0x57, 0x13) = GF(0x57, (0x01 ^ 0x02 ^ 0x10))
	*
	* And by the distributive property (since XOR is addition and GF() is
	* multiplication):
	*
	* = GF(0x57, 0x01) ^ GF(0x57, 0x02) ^ GF(0x57, 0x10)
	* = 0x57 ^ 0xae ^ 0x07
	* = 0xfe.
	*/
	function initialize() {
		init = true;
		rcon = [
			0,
			1,
			2,
			4,
			8,
			16,
			32,
			64,
			128,
			27,
			54
		];
		var xtime = new Array(256);
		for (var i = 0; i < 128; ++i) {
			xtime[i] = i << 1;
			xtime[i + 128] = i + 128 << 1 ^ 283;
		}
		sbox = new Array(256);
		isbox = new Array(256);
		mix = new Array(4);
		imix = new Array(4);
		for (var i = 0; i < 4; ++i) {
			mix[i] = new Array(256);
			imix[i] = new Array(256);
		}
		var e = 0, ei = 0, e2, e4, e8, sx, sx2, me, ime;
		for (var i = 0; i < 256; ++i) {
			sx = ei ^ ei << 1 ^ ei << 2 ^ ei << 3 ^ ei << 4;
			sx = sx >> 8 ^ sx & 255 ^ 99;
			sbox[e] = sx;
			isbox[sx] = e;
			sx2 = xtime[sx];
			e2 = xtime[e];
			e4 = xtime[e2];
			e8 = xtime[e4];
			me = sx2 << 24 ^ sx << 16 ^ sx << 8 ^ (sx ^ sx2);
			ime = (e2 ^ e4 ^ e8) << 24 ^ (e ^ e8) << 16 ^ (e ^ e4 ^ e8) << 8 ^ (e ^ e2 ^ e8);
			for (var n = 0; n < 4; ++n) {
				mix[n][e] = me;
				imix[n][sx] = ime;
				me = me << 24 | me >>> 8;
				ime = ime << 24 | ime >>> 8;
			}
			if (e === 0) {
				e = ei = 1;
			} else {
				e = e2 ^ xtime[xtime[xtime[e2 ^ e8]]];
				ei ^= xtime[xtime[ei]];
			}
		}
	}
	/**
	* Generates a key schedule using the AES key expansion algorithm.
	*
	* The AES algorithm takes the Cipher Key, K, and performs a Key Expansion
	* routine to generate a key schedule. The Key Expansion generates a total
	* of Nb*(Nr + 1) words: the algorithm requires an initial set of Nb words,
	* and each of the Nr rounds requires Nb words of key data. The resulting
	* key schedule consists of a linear array of 4-byte words, denoted [wi ],
	* with i in the range 0 <= i < Nb(Nr + 1).
	*
	* KeyExpansion(byte key[4*Nk], word w[Nb*(Nr+1)], Nk)
	* AES-128 (Nb=4, Nk=4, Nr=10)
	* AES-192 (Nb=4, Nk=6, Nr=12)
	* AES-256 (Nb=4, Nk=8, Nr=14)
	* Note: Nr=Nk+6.
	*
	* Nb is the number of columns (32-bit words) comprising the State (or
	* number of bytes in a block). For AES, Nb=4.
	*
	* @param key the key to schedule (as an array of 32-bit words).
	* @param decrypt true to modify the key schedule to decrypt, false not to.
	*
	* @return the generated key schedule.
	*/
	function _expandKey(key, decrypt) {
		var w = key.slice(0);
		var temp, iNk = 1;
		var Nk = w.length;
		var Nr1 = Nk + 6 + 1;
		var end = Nb * Nr1;
		for (var i = Nk; i < end; ++i) {
			temp = w[i - 1];
			if (i % Nk === 0) {
				temp = sbox[temp >>> 16 & 255] << 24 ^ sbox[temp >>> 8 & 255] << 16 ^ sbox[temp & 255] << 8 ^ sbox[temp >>> 24] ^ rcon[iNk] << 24;
				iNk++;
			} else if (Nk > 6 && i % Nk === 4) {
				temp = sbox[temp >>> 24] << 24 ^ sbox[temp >>> 16 & 255] << 16 ^ sbox[temp >>> 8 & 255] << 8 ^ sbox[temp & 255];
			}
			w[i] = w[i - Nk] ^ temp;
		}
		if (decrypt) {
			var tmp;
			var m0 = imix[0];
			var m1 = imix[1];
			var m2 = imix[2];
			var m3 = imix[3];
			var wnew = w.slice(0);
			end = w.length;
			for (var i = 0, wi = end - Nb; i < end; i += Nb, wi -= Nb) {
				if (i === 0 || i === end - Nb) {
					wnew[i] = w[wi];
					wnew[i + 1] = w[wi + 3];
					wnew[i + 2] = w[wi + 2];
					wnew[i + 3] = w[wi + 1];
				} else {
					for (var n = 0; n < Nb; ++n) {
						tmp = w[wi + n];
						wnew[i + (3 & -n)] = m0[sbox[tmp >>> 24]] ^ m1[sbox[tmp >>> 16 & 255]] ^ m2[sbox[tmp >>> 8 & 255]] ^ m3[sbox[tmp & 255]];
					}
				}
			}
			w = wnew;
		}
		return w;
	}
	/**
	* Updates a single block (16 bytes) using AES. The update will either
	* encrypt or decrypt the block.
	*
	* @param w the key schedule.
	* @param input the input block (an array of 32-bit words).
	* @param output the updated output block.
	* @param decrypt true to decrypt the block, false to encrypt it.
	*/
	function _updateBlock(w, input, output, decrypt) {
		var Nr = w.length / 4 - 1;
		var m0, m1, m2, m3, sub;
		if (decrypt) {
			m0 = imix[0];
			m1 = imix[1];
			m2 = imix[2];
			m3 = imix[3];
			sub = isbox;
		} else {
			m0 = mix[0];
			m1 = mix[1];
			m2 = mix[2];
			m3 = mix[3];
			sub = sbox;
		}
		var a, b, c, d, a2, b2, c2;
		a = input[0] ^ w[0];
		b = input[decrypt ? 3 : 1] ^ w[1];
		c = input[2] ^ w[2];
		d = input[decrypt ? 1 : 3] ^ w[3];
		var i = 3;
		for (var round = 1; round < Nr; ++round) {
			a2 = m0[a >>> 24] ^ m1[b >>> 16 & 255] ^ m2[c >>> 8 & 255] ^ m3[d & 255] ^ w[++i];
			b2 = m0[b >>> 24] ^ m1[c >>> 16 & 255] ^ m2[d >>> 8 & 255] ^ m3[a & 255] ^ w[++i];
			c2 = m0[c >>> 24] ^ m1[d >>> 16 & 255] ^ m2[a >>> 8 & 255] ^ m3[b & 255] ^ w[++i];
			d = m0[d >>> 24] ^ m1[a >>> 16 & 255] ^ m2[b >>> 8 & 255] ^ m3[c & 255] ^ w[++i];
			a = a2;
			b = b2;
			c = c2;
		}
		output[0] = sub[a >>> 24] << 24 ^ sub[b >>> 16 & 255] << 16 ^ sub[c >>> 8 & 255] << 8 ^ sub[d & 255] ^ w[++i];
		output[decrypt ? 3 : 1] = sub[b >>> 24] << 24 ^ sub[c >>> 16 & 255] << 16 ^ sub[d >>> 8 & 255] << 8 ^ sub[a & 255] ^ w[++i];
		output[2] = sub[c >>> 24] << 24 ^ sub[d >>> 16 & 255] << 16 ^ sub[a >>> 8 & 255] << 8 ^ sub[b & 255] ^ w[++i];
		output[decrypt ? 1 : 3] = sub[d >>> 24] << 24 ^ sub[a >>> 16 & 255] << 16 ^ sub[b >>> 8 & 255] << 8 ^ sub[c & 255] ^ w[++i];
	}
	/**
	* Deprecated. Instead, use:
	*
	* forge.cipher.createCipher('AES-<mode>', key);
	* forge.cipher.createDecipher('AES-<mode>', key);
	*
	* Creates a deprecated AES cipher object. This object's mode will default to
	* CBC (cipher-block-chaining).
	*
	* The key and iv may be given as a string of bytes, an array of bytes, a
	* byte buffer, or an array of 32-bit words.
	*
	* @param options the options to use.
	*          key the symmetric key to use.
	*          output the buffer to write to.
	*          decrypt true for decryption, false for encryption.
	*          mode the cipher mode to use (default: 'CBC').
	*
	* @return the cipher.
	*/
	function _createCipher(options) {
		options = options || {};
		var mode = (options.mode || "CBC").toUpperCase();
		var algorithm = "AES-" + mode;
		var cipher;
		if (options.decrypt) {
			cipher = forge.cipher.createDecipher(algorithm, options.key);
		} else {
			cipher = forge.cipher.createCipher(algorithm, options.key);
		}
		var start = cipher.start;
		cipher.start = function(iv, options) {
			var output = null;
			if (options instanceof forge.util.ByteBuffer) {
				output = options;
				options = {};
			}
			options = options || {};
			options.output = output;
			options.iv = iv;
			start.call(cipher, options);
		};
		return cipher;
	}
}));

//#endregion
//#region ../node_modules/node-forge/lib/oids.js
var require_oids = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Object IDs for ASN.1.
	*
	* @author Dave Longley
	*
	* Copyright (c) 2010-2013 Digital Bazaar, Inc.
	*/
	var forge = require_forge();
	forge.pki = forge.pki || {};
	var oids = module.exports = forge.pki.oids = forge.oids = forge.oids || {};
	function _IN(id, name) {
		oids[id] = name;
		oids[name] = id;
	}
	function _I_(id, name) {
		oids[id] = name;
	}
	_IN("1.2.840.113549.1.1.1", "rsaEncryption");
	_IN("1.2.840.113549.1.1.4", "md5WithRSAEncryption");
	_IN("1.2.840.113549.1.1.5", "sha1WithRSAEncryption");
	_IN("1.2.840.113549.1.1.7", "RSAES-OAEP");
	_IN("1.2.840.113549.1.1.8", "mgf1");
	_IN("1.2.840.113549.1.1.9", "pSpecified");
	_IN("1.2.840.113549.1.1.10", "RSASSA-PSS");
	_IN("1.2.840.113549.1.1.11", "sha256WithRSAEncryption");
	_IN("1.2.840.113549.1.1.12", "sha384WithRSAEncryption");
	_IN("1.2.840.113549.1.1.13", "sha512WithRSAEncryption");
	_IN("1.3.101.112", "EdDSA25519");
	_IN("1.2.840.10040.4.3", "dsa-with-sha1");
	_IN("1.3.14.3.2.7", "desCBC");
	_IN("1.3.14.3.2.26", "sha1");
	_IN("1.3.14.3.2.29", "sha1WithRSASignature");
	_IN("2.16.840.1.101.3.4.2.1", "sha256");
	_IN("2.16.840.1.101.3.4.2.2", "sha384");
	_IN("2.16.840.1.101.3.4.2.3", "sha512");
	_IN("2.16.840.1.101.3.4.2.4", "sha224");
	_IN("2.16.840.1.101.3.4.2.5", "sha512-224");
	_IN("2.16.840.1.101.3.4.2.6", "sha512-256");
	_IN("1.2.840.113549.2.2", "md2");
	_IN("1.2.840.113549.2.5", "md5");
	_IN("1.2.840.113549.1.7.1", "data");
	_IN("1.2.840.113549.1.7.2", "signedData");
	_IN("1.2.840.113549.1.7.3", "envelopedData");
	_IN("1.2.840.113549.1.7.4", "signedAndEnvelopedData");
	_IN("1.2.840.113549.1.7.5", "digestedData");
	_IN("1.2.840.113549.1.7.6", "encryptedData");
	_IN("1.2.840.113549.1.9.1", "emailAddress");
	_IN("1.2.840.113549.1.9.2", "unstructuredName");
	_IN("1.2.840.113549.1.9.3", "contentType");
	_IN("1.2.840.113549.1.9.4", "messageDigest");
	_IN("1.2.840.113549.1.9.5", "signingTime");
	_IN("1.2.840.113549.1.9.6", "counterSignature");
	_IN("1.2.840.113549.1.9.7", "challengePassword");
	_IN("1.2.840.113549.1.9.8", "unstructuredAddress");
	_IN("1.2.840.113549.1.9.14", "extensionRequest");
	_IN("1.2.840.113549.1.9.20", "friendlyName");
	_IN("1.2.840.113549.1.9.21", "localKeyId");
	_IN("1.2.840.113549.1.9.22.1", "x509Certificate");
	_IN("1.2.840.113549.1.12.10.1.1", "keyBag");
	_IN("1.2.840.113549.1.12.10.1.2", "pkcs8ShroudedKeyBag");
	_IN("1.2.840.113549.1.12.10.1.3", "certBag");
	_IN("1.2.840.113549.1.12.10.1.4", "crlBag");
	_IN("1.2.840.113549.1.12.10.1.5", "secretBag");
	_IN("1.2.840.113549.1.12.10.1.6", "safeContentsBag");
	_IN("1.2.840.113549.1.5.13", "pkcs5PBES2");
	_IN("1.2.840.113549.1.5.12", "pkcs5PBKDF2");
	_IN("1.2.840.113549.1.12.1.1", "pbeWithSHAAnd128BitRC4");
	_IN("1.2.840.113549.1.12.1.2", "pbeWithSHAAnd40BitRC4");
	_IN("1.2.840.113549.1.12.1.3", "pbeWithSHAAnd3-KeyTripleDES-CBC");
	_IN("1.2.840.113549.1.12.1.4", "pbeWithSHAAnd2-KeyTripleDES-CBC");
	_IN("1.2.840.113549.1.12.1.5", "pbeWithSHAAnd128BitRC2-CBC");
	_IN("1.2.840.113549.1.12.1.6", "pbewithSHAAnd40BitRC2-CBC");
	_IN("1.2.840.113549.2.7", "hmacWithSHA1");
	_IN("1.2.840.113549.2.8", "hmacWithSHA224");
	_IN("1.2.840.113549.2.9", "hmacWithSHA256");
	_IN("1.2.840.113549.2.10", "hmacWithSHA384");
	_IN("1.2.840.113549.2.11", "hmacWithSHA512");
	_IN("1.2.840.113549.3.7", "des-EDE3-CBC");
	_IN("2.16.840.1.101.3.4.1.2", "aes128-CBC");
	_IN("2.16.840.1.101.3.4.1.22", "aes192-CBC");
	_IN("2.16.840.1.101.3.4.1.42", "aes256-CBC");
	_IN("2.5.4.3", "commonName");
	_IN("2.5.4.4", "surname");
	_IN("2.5.4.5", "serialNumber");
	_IN("2.5.4.6", "countryName");
	_IN("2.5.4.7", "localityName");
	_IN("2.5.4.8", "stateOrProvinceName");
	_IN("2.5.4.9", "streetAddress");
	_IN("2.5.4.10", "organizationName");
	_IN("2.5.4.11", "organizationalUnitName");
	_IN("2.5.4.12", "title");
	_IN("2.5.4.13", "description");
	_IN("2.5.4.15", "businessCategory");
	_IN("2.5.4.17", "postalCode");
	_IN("2.5.4.42", "givenName");
	_IN("1.3.6.1.4.1.311.60.2.1.2", "jurisdictionOfIncorporationStateOrProvinceName");
	_IN("1.3.6.1.4.1.311.60.2.1.3", "jurisdictionOfIncorporationCountryName");
	_IN("2.16.840.1.113730.1.1", "nsCertType");
	_IN("2.16.840.1.113730.1.13", "nsComment");
	_I_("2.5.29.1", "authorityKeyIdentifier");
	_I_("2.5.29.2", "keyAttributes");
	_I_("2.5.29.3", "certificatePolicies");
	_I_("2.5.29.4", "keyUsageRestriction");
	_I_("2.5.29.5", "policyMapping");
	_I_("2.5.29.6", "subtreesConstraint");
	_I_("2.5.29.7", "subjectAltName");
	_I_("2.5.29.8", "issuerAltName");
	_I_("2.5.29.9", "subjectDirectoryAttributes");
	_I_("2.5.29.10", "basicConstraints");
	_I_("2.5.29.11", "nameConstraints");
	_I_("2.5.29.12", "policyConstraints");
	_I_("2.5.29.13", "basicConstraints");
	_IN("2.5.29.14", "subjectKeyIdentifier");
	_IN("2.5.29.15", "keyUsage");
	_I_("2.5.29.16", "privateKeyUsagePeriod");
	_IN("2.5.29.17", "subjectAltName");
	_IN("2.5.29.18", "issuerAltName");
	_IN("2.5.29.19", "basicConstraints");
	_I_("2.5.29.20", "cRLNumber");
	_I_("2.5.29.21", "cRLReason");
	_I_("2.5.29.22", "expirationDate");
	_I_("2.5.29.23", "instructionCode");
	_I_("2.5.29.24", "invalidityDate");
	_I_("2.5.29.25", "cRLDistributionPoints");
	_I_("2.5.29.26", "issuingDistributionPoint");
	_I_("2.5.29.27", "deltaCRLIndicator");
	_I_("2.5.29.28", "issuingDistributionPoint");
	_I_("2.5.29.29", "certificateIssuer");
	_I_("2.5.29.30", "nameConstraints");
	_IN("2.5.29.31", "cRLDistributionPoints");
	_IN("2.5.29.32", "certificatePolicies");
	_I_("2.5.29.33", "policyMappings");
	_I_("2.5.29.34", "policyConstraints");
	_IN("2.5.29.35", "authorityKeyIdentifier");
	_I_("2.5.29.36", "policyConstraints");
	_IN("2.5.29.37", "extKeyUsage");
	_I_("2.5.29.46", "freshestCRL");
	_I_("2.5.29.54", "inhibitAnyPolicy");
	_IN("1.3.6.1.4.1.11129.2.4.2", "timestampList");
	_IN("1.3.6.1.5.5.7.1.1", "authorityInfoAccess");
	_IN("1.3.6.1.5.5.7.3.1", "serverAuth");
	_IN("1.3.6.1.5.5.7.3.2", "clientAuth");
	_IN("1.3.6.1.5.5.7.3.3", "codeSigning");
	_IN("1.3.6.1.5.5.7.3.4", "emailProtection");
	_IN("1.3.6.1.5.5.7.3.8", "timeStamping");
}));

//#endregion
//#region ../node_modules/node-forge/lib/asn1.js
var require_asn1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Javascript implementation of Abstract Syntax Notation Number One.
	*
	* @author Dave Longley
	*
	* Copyright (c) 2010-2015 Digital Bazaar, Inc.
	*
	* An API for storing data using the Abstract Syntax Notation Number One
	* format using DER (Distinguished Encoding Rules) encoding. This encoding is
	* commonly used to store data for PKI, i.e. X.509 Certificates, and this
	* implementation exists for that purpose.
	*
	* Abstract Syntax Notation Number One (ASN.1) is used to define the abstract
	* syntax of information without restricting the way the information is encoded
	* for transmission. It provides a standard that allows for open systems
	* communication. ASN.1 defines the syntax of information data and a number of
	* simple data types as well as a notation for describing them and specifying
	* values for them.
	*
	* The RSA algorithm creates public and private keys that are often stored in
	* X.509 or PKCS#X formats -- which use ASN.1 (encoded in DER format). This
	* class provides the most basic functionality required to store and load DSA
	* keys that are encoded according to ASN.1.
	*
	* The most common binary encodings for ASN.1 are BER (Basic Encoding Rules)
	* and DER (Distinguished Encoding Rules). DER is just a subset of BER that
	* has stricter requirements for how data must be encoded.
	*
	* Each ASN.1 structure has a tag (a byte identifying the ASN.1 structure type)
	* and a byte array for the value of this ASN1 structure which may be data or a
	* list of ASN.1 structures.
	*
	* Each ASN.1 structure using BER is (Tag-Length-Value):
	*
	* | byte 0 | bytes X | bytes Y |
	* |--------|---------|----------
	* |  tag   | length  |  value  |
	*
	* ASN.1 allows for tags to be of "High-tag-number form" which allows a tag to
	* be two or more octets, but that is not supported by this class. A tag is
	* only 1 byte. Bits 1-5 give the tag number (ie the data type within a
	* particular 'class'), 6 indicates whether or not the ASN.1 value is
	* constructed from other ASN.1 values, and bits 7 and 8 give the 'class'. If
	* bits 7 and 8 are both zero, the class is UNIVERSAL. If only bit 7 is set,
	* then the class is APPLICATION. If only bit 8 is set, then the class is
	* CONTEXT_SPECIFIC. If both bits 7 and 8 are set, then the class is PRIVATE.
	* The tag numbers for the data types for the class UNIVERSAL are listed below:
	*
	* UNIVERSAL 0 Reserved for use by the encoding rules
	* UNIVERSAL 1 Boolean type
	* UNIVERSAL 2 Integer type
	* UNIVERSAL 3 Bitstring type
	* UNIVERSAL 4 Octetstring type
	* UNIVERSAL 5 Null type
	* UNIVERSAL 6 Object identifier type
	* UNIVERSAL 7 Object descriptor type
	* UNIVERSAL 8 External type and Instance-of type
	* UNIVERSAL 9 Real type
	* UNIVERSAL 10 Enumerated type
	* UNIVERSAL 11 Embedded-pdv type
	* UNIVERSAL 12 UTF8String type
	* UNIVERSAL 13 Relative object identifier type
	* UNIVERSAL 14-15 Reserved for future editions
	* UNIVERSAL 16 Sequence and Sequence-of types
	* UNIVERSAL 17 Set and Set-of types
	* UNIVERSAL 18-22, 25-30 Character string types
	* UNIVERSAL 23-24 Time types
	*
	* The length of an ASN.1 structure is specified after the tag identifier.
	* There is a definite form and an indefinite form. The indefinite form may
	* be used if the encoding is constructed and not all immediately available.
	* The indefinite form is encoded using a length byte with only the 8th bit
	* set. The end of the constructed object is marked using end-of-contents
	* octets (two zero bytes).
	*
	* The definite form looks like this:
	*
	* The length may take up 1 or more bytes, it depends on the length of the
	* value of the ASN.1 structure. DER encoding requires that if the ASN.1
	* structure has a value that has a length greater than 127, more than 1 byte
	* will be used to store its length, otherwise just one byte will be used.
	* This is strict.
	*
	* In the case that the length of the ASN.1 value is less than 127, 1 octet
	* (byte) is used to store the "short form" length. The 8th bit has a value of
	* 0 indicating the length is "short form" and not "long form" and bits 7-1
	* give the length of the data. (The 8th bit is the left-most, most significant
	* bit: also known as big endian or network format).
	*
	* In the case that the length of the ASN.1 value is greater than 127, 2 to
	* 127 octets (bytes) are used to store the "long form" length. The first
	* byte's 8th bit is set to 1 to indicate the length is "long form." Bits 7-1
	* give the number of additional octets. All following octets are in base 256
	* with the most significant digit first (typical big-endian binary unsigned
	* integer storage). So, for instance, if the length of a value was 257, the
	* first byte would be set to:
	*
	* 10000010 = 130 = 0x82.
	*
	* This indicates there are 2 octets (base 256) for the length. The second and
	* third bytes (the octets just mentioned) would store the length in base 256:
	*
	* octet 2: 00000001 = 1 * 256^1 = 256
	* octet 3: 00000001 = 1 * 256^0 = 1
	* total = 257
	*
	* The algorithm for converting a js integer value of 257 to base-256 is:
	*
	* var value = 257;
	* var bytes = [];
	* bytes[0] = (value >>> 8) & 0xFF; // most significant byte first
	* bytes[1] = value & 0xFF;        // least significant byte last
	*
	* On the ASN.1 UNIVERSAL Object Identifier (OID) type:
	*
	* An OID can be written like: "value1.value2.value3...valueN"
	*
	* The DER encoding rules:
	*
	* The first byte has the value 40 * value1 + value2.
	* The following bytes, if any, encode the remaining values. Each value is
	* encoded in base 128, most significant digit first (big endian), with as
	* few digits as possible, and the most significant bit of each byte set
	* to 1 except the last in each value's encoding. For example: Given the
	* OID "1.2.840.113549", its DER encoding is (remember each byte except the
	* last one in each encoding is OR'd with 0x80):
	*
	* byte 1: 40 * 1 + 2 = 42 = 0x2A.
	* bytes 2-3: 128 * 6 + 72 = 840 = 6 72 = 6 72 = 0x0648 = 0x8648
	* bytes 4-6: 16384 * 6 + 128 * 119 + 13 = 6 119 13 = 0x06770D = 0x86F70D
	*
	* The final value is: 0x2A864886F70D.
	* The full OID (including ASN.1 tag and length of 6 bytes) is:
	* 0x06062A864886F70D
	*/
	var forge = require_forge();
	require_util$8();
	require_oids();
	var asn1 = module.exports = forge.asn1 = forge.asn1 || {};
	/**
	* ASN.1 classes.
	*/
	asn1.Class = {
		UNIVERSAL: 0,
		APPLICATION: 64,
		CONTEXT_SPECIFIC: 128,
		PRIVATE: 192
	};
	/**
	* ASN.1 types. Not all types are supported by this implementation, only
	* those necessary to implement a simple PKI are implemented.
	*/
	asn1.Type = {
		NONE: 0,
		BOOLEAN: 1,
		INTEGER: 2,
		BITSTRING: 3,
		OCTETSTRING: 4,
		NULL: 5,
		OID: 6,
		ODESC: 7,
		EXTERNAL: 8,
		REAL: 9,
		ENUMERATED: 10,
		EMBEDDED: 11,
		UTF8: 12,
		ROID: 13,
		SEQUENCE: 16,
		SET: 17,
		PRINTABLESTRING: 19,
		IA5STRING: 22,
		UTCTIME: 23,
		GENERALIZEDTIME: 24,
		BMPSTRING: 30
	};
	/**
	* Creates a new asn1 object.
	*
	* @param tagClass the tag class for the object.
	* @param type the data type (tag number) for the object.
	* @param constructed true if the asn1 object is in constructed form.
	* @param value the value for the object, if it is not constructed.
	* @param [options] the options to use:
	*          [bitStringContents] the plain BIT STRING content including padding
	*            byte.
	*
	* @return the asn1 object.
	*/
	asn1.create = function(tagClass, type, constructed, value, options) {
		if (forge.util.isArray(value)) {
			var tmp = [];
			for (var i = 0; i < value.length; ++i) {
				if (value[i] !== undefined) {
					tmp.push(value[i]);
				}
			}
			value = tmp;
		}
		var obj = {
			tagClass,
			type,
			constructed,
			composed: constructed || forge.util.isArray(value),
			value
		};
		if (options && "bitStringContents" in options) {
			obj.bitStringContents = options.bitStringContents;
			obj.original = asn1.copy(obj);
		}
		return obj;
	};
	/**
	* Copies an asn1 object.
	*
	* @param obj the asn1 object.
	* @param [options] copy options:
	*          [excludeBitStringContents] true to not copy bitStringContents
	*
	* @return the a copy of the asn1 object.
	*/
	asn1.copy = function(obj, options) {
		var copy;
		if (forge.util.isArray(obj)) {
			copy = [];
			for (var i = 0; i < obj.length; ++i) {
				copy.push(asn1.copy(obj[i], options));
			}
			return copy;
		}
		if (typeof obj === "string") {
			return obj;
		}
		copy = {
			tagClass: obj.tagClass,
			type: obj.type,
			constructed: obj.constructed,
			composed: obj.composed,
			value: asn1.copy(obj.value, options)
		};
		if (options && !options.excludeBitStringContents) {
			copy.bitStringContents = obj.bitStringContents;
		}
		return copy;
	};
	/**
	* Compares asn1 objects for equality.
	*
	* Note this function does not run in constant time.
	*
	* @param obj1 the first asn1 object.
	* @param obj2 the second asn1 object.
	* @param [options] compare options:
	*          [includeBitStringContents] true to compare bitStringContents
	*
	* @return true if the asn1 objects are equal.
	*/
	asn1.equals = function(obj1, obj2, options) {
		if (forge.util.isArray(obj1)) {
			if (!forge.util.isArray(obj2)) {
				return false;
			}
			if (obj1.length !== obj2.length) {
				return false;
			}
			for (var i = 0; i < obj1.length; ++i) {
				if (!asn1.equals(obj1[i], obj2[i])) {
					return false;
				}
			}
			return true;
		}
		if (typeof obj1 !== typeof obj2) {
			return false;
		}
		if (typeof obj1 === "string") {
			return obj1 === obj2;
		}
		var equal = obj1.tagClass === obj2.tagClass && obj1.type === obj2.type && obj1.constructed === obj2.constructed && obj1.composed === obj2.composed && asn1.equals(obj1.value, obj2.value);
		if (options && options.includeBitStringContents) {
			equal = equal && obj1.bitStringContents === obj2.bitStringContents;
		}
		return equal;
	};
	/**
	* Gets the length of a BER-encoded ASN.1 value.
	*
	* In case the length is not specified, undefined is returned.
	*
	* @param b the BER-encoded ASN.1 byte buffer, starting with the first
	*          length byte.
	*
	* @return the length of the BER-encoded ASN.1 value or undefined.
	*/
	asn1.getBerValueLength = function(b) {
		var b2 = b.getByte();
		if (b2 === 128) {
			return undefined;
		}
		var length;
		var longForm = b2 & 128;
		if (!longForm) {
			length = b2;
		} else {
			length = b.getInt((b2 & 127) << 3);
		}
		return length;
	};
	/**
	* Check if the byte buffer has enough bytes. Throws an Error if not.
	*
	* @param bytes the byte buffer to parse from.
	* @param remaining the bytes remaining in the current parsing state.
	* @param n the number of bytes the buffer must have.
	*/
	function _checkBufferLength(bytes, remaining, n) {
		if (n > remaining) {
			var error = new Error("Too few bytes to parse DER.");
			error.available = bytes.length();
			error.remaining = remaining;
			error.requested = n;
			throw error;
		}
	}
	/**
	* Gets the length of a BER-encoded ASN.1 value.
	*
	* In case the length is not specified, undefined is returned.
	*
	* @param bytes the byte buffer to parse from.
	* @param remaining the bytes remaining in the current parsing state.
	*
	* @return the length of the BER-encoded ASN.1 value or undefined.
	*/
	var _getValueLength = function(bytes, remaining) {
		var b2 = bytes.getByte();
		remaining--;
		if (b2 === 128) {
			return undefined;
		}
		var length;
		var longForm = b2 & 128;
		if (!longForm) {
			length = b2;
		} else {
			var longFormBytes = b2 & 127;
			_checkBufferLength(bytes, remaining, longFormBytes);
			length = bytes.getInt(longFormBytes << 3);
		}
		if (length < 0) {
			throw new Error("Negative length: " + length);
		}
		return length;
	};
	/**
	* Parses an asn1 object from a byte buffer in DER format.
	*
	* @param bytes the byte buffer to parse from.
	* @param [strict] true to be strict when checking value lengths, false to
	*          allow truncated values (default: true).
	* @param [options] object with options or boolean strict flag
	*          [strict] true to be strict when checking value lengths, false to
	*            allow truncated values (default: true).
	*          [parseAllBytes] true to ensure all bytes are parsed
	*            (default: true)
	*          [decodeBitStrings] true to attempt to decode the content of
	*            BIT STRINGs (not OCTET STRINGs) using strict mode. Note that
	*            without schema support to understand the data context this can
	*            erroneously decode values that happen to be valid ASN.1. This
	*            flag will be deprecated or removed as soon as schema support is
	*            available. (default: true)
	*
	* @throws Will throw an error for various malformed input conditions.
	*
	* @return the parsed asn1 object.
	*/
	asn1.fromDer = function(bytes, options) {
		if (options === undefined) {
			options = {
				strict: true,
				parseAllBytes: true,
				decodeBitStrings: true
			};
		}
		if (typeof options === "boolean") {
			options = {
				strict: options,
				parseAllBytes: true,
				decodeBitStrings: true
			};
		}
		if (!("strict" in options)) {
			options.strict = true;
		}
		if (!("parseAllBytes" in options)) {
			options.parseAllBytes = true;
		}
		if (!("decodeBitStrings" in options)) {
			options.decodeBitStrings = true;
		}
		if (typeof bytes === "string") {
			bytes = forge.util.createBuffer(bytes);
		}
		var byteCount = bytes.length();
		var value = _fromDer(bytes, bytes.length(), 0, options);
		if (options.parseAllBytes && bytes.length() !== 0) {
			var error = new Error("Unparsed DER bytes remain after ASN.1 parsing.");
			error.byteCount = byteCount;
			error.remaining = bytes.length();
			throw error;
		}
		return value;
	};
	/**
	* Internal function to parse an asn1 object from a byte buffer in DER format.
	*
	* @param bytes the byte buffer to parse from.
	* @param remaining the number of bytes remaining for this chunk.
	* @param depth the current parsing depth.
	* @param options object with same options as fromDer().
	*
	* @return the parsed asn1 object.
	*/
	function _fromDer(bytes, remaining, depth, options) {
		var start;
		_checkBufferLength(bytes, remaining, 2);
		var b1 = bytes.getByte();
		remaining--;
		var tagClass = b1 & 192;
		var type = b1 & 31;
		start = bytes.length();
		var length = _getValueLength(bytes, remaining);
		remaining -= start - bytes.length();
		if (length !== undefined && length > remaining) {
			if (options.strict) {
				var error = new Error("Too few bytes to read ASN.1 value.");
				error.available = bytes.length();
				error.remaining = remaining;
				error.requested = length;
				throw error;
			}
			length = remaining;
		}
		var value;
		var bitStringContents;
		var constructed = (b1 & 32) === 32;
		if (constructed) {
			value = [];
			if (length === undefined) {
				for (;;) {
					_checkBufferLength(bytes, remaining, 2);
					if (bytes.bytes(2) === String.fromCharCode(0, 0)) {
						bytes.getBytes(2);
						remaining -= 2;
						break;
					}
					start = bytes.length();
					value.push(_fromDer(bytes, remaining, depth + 1, options));
					remaining -= start - bytes.length();
				}
			} else {
				while (length > 0) {
					start = bytes.length();
					value.push(_fromDer(bytes, length, depth + 1, options));
					remaining -= start - bytes.length();
					length -= start - bytes.length();
				}
			}
		}
		if (value === undefined && tagClass === asn1.Class.UNIVERSAL && type === asn1.Type.BITSTRING) {
			bitStringContents = bytes.bytes(length);
		}
		if (value === undefined && options.decodeBitStrings && tagClass === asn1.Class.UNIVERSAL && type === asn1.Type.BITSTRING && length > 1) {
			var savedRead = bytes.read;
			var savedRemaining = remaining;
			var unused = 0;
			if (type === asn1.Type.BITSTRING) {
				_checkBufferLength(bytes, remaining, 1);
				unused = bytes.getByte();
				remaining--;
			}
			if (unused === 0) {
				try {
					start = bytes.length();
					var subOptions = {
						strict: true,
						decodeBitStrings: true
					};
					var composed = _fromDer(bytes, remaining, depth + 1, subOptions);
					var used = start - bytes.length();
					remaining -= used;
					if (type == asn1.Type.BITSTRING) {
						used++;
					}
					var tc = composed.tagClass;
					if (used === length && (tc === asn1.Class.UNIVERSAL || tc === asn1.Class.CONTEXT_SPECIFIC)) {
						value = [composed];
					}
				} catch (ex) {}
			}
			if (value === undefined) {
				bytes.read = savedRead;
				remaining = savedRemaining;
			}
		}
		if (value === undefined) {
			if (length === undefined) {
				if (options.strict) {
					throw new Error("Non-constructed ASN.1 object of indefinite length.");
				}
				length = remaining;
			}
			if (type === asn1.Type.BMPSTRING) {
				value = "";
				for (; length > 0; length -= 2) {
					_checkBufferLength(bytes, remaining, 2);
					value += String.fromCharCode(bytes.getInt16());
					remaining -= 2;
				}
			} else {
				value = bytes.getBytes(length);
				remaining -= length;
			}
		}
		var asn1Options = bitStringContents === undefined ? null : { bitStringContents };
		return asn1.create(tagClass, type, constructed, value, asn1Options);
	}
	/**
	* Converts the given asn1 object to a buffer of bytes in DER format.
	*
	* @param asn1 the asn1 object to convert to bytes.
	*
	* @return the buffer of bytes.
	*/
	asn1.toDer = function(obj) {
		var bytes = forge.util.createBuffer();
		var b1 = obj.tagClass | obj.type;
		var value = forge.util.createBuffer();
		var useBitStringContents = false;
		if ("bitStringContents" in obj) {
			useBitStringContents = true;
			if (obj.original) {
				useBitStringContents = asn1.equals(obj, obj.original);
			}
		}
		if (useBitStringContents) {
			value.putBytes(obj.bitStringContents);
		} else if (obj.composed) {
			if (obj.constructed) {
				b1 |= 32;
			} else {
				value.putByte(0);
			}
			for (var i = 0; i < obj.value.length; ++i) {
				if (obj.value[i] !== undefined) {
					value.putBuffer(asn1.toDer(obj.value[i]));
				}
			}
		} else {
			if (obj.type === asn1.Type.BMPSTRING) {
				for (var i = 0; i < obj.value.length; ++i) {
					value.putInt16(obj.value.charCodeAt(i));
				}
			} else {
				if (obj.type === asn1.Type.INTEGER && obj.value.length > 1 && (obj.value.charCodeAt(0) === 0 && (obj.value.charCodeAt(1) & 128) === 0 || obj.value.charCodeAt(0) === 255 && (obj.value.charCodeAt(1) & 128) === 128)) {
					value.putBytes(obj.value.substr(1));
				} else {
					value.putBytes(obj.value);
				}
			}
		}
		bytes.putByte(b1);
		if (value.length() <= 127) {
			bytes.putByte(value.length() & 127);
		} else {
			var len = value.length();
			var lenBytes = "";
			do {
				lenBytes += String.fromCharCode(len & 255);
				len = len >>> 8;
			} while (len > 0);
			bytes.putByte(lenBytes.length | 128);
			for (var i = lenBytes.length - 1; i >= 0; --i) {
				bytes.putByte(lenBytes.charCodeAt(i));
			}
		}
		bytes.putBuffer(value);
		return bytes;
	};
	/**
	* Converts an OID dot-separated string to a byte buffer. The byte buffer
	* contains only the DER-encoded value, not any tag or length bytes.
	*
	* @param oid the OID dot-separated string.
	*
	* @return the byte buffer.
	*/
	asn1.oidToDer = function(oid) {
		var values = oid.split(".");
		var bytes = forge.util.createBuffer();
		bytes.putByte(40 * parseInt(values[0], 10) + parseInt(values[1], 10));
		var last, valueBytes, value, b;
		for (var i = 2; i < values.length; ++i) {
			last = true;
			valueBytes = [];
			value = parseInt(values[i], 10);
			do {
				b = value & 127;
				value = value >>> 7;
				if (!last) {
					b |= 128;
				}
				valueBytes.push(b);
				last = false;
			} while (value > 0);
			for (var n = valueBytes.length - 1; n >= 0; --n) {
				bytes.putByte(valueBytes[n]);
			}
		}
		return bytes;
	};
	/**
	* Converts a DER-encoded byte buffer to an OID dot-separated string. The
	* byte buffer should contain only the DER-encoded value, not any tag or
	* length bytes.
	*
	* @param bytes the byte buffer.
	*
	* @return the OID dot-separated string.
	*/
	asn1.derToOid = function(bytes) {
		var oid;
		if (typeof bytes === "string") {
			bytes = forge.util.createBuffer(bytes);
		}
		var b = bytes.getByte();
		oid = Math.floor(b / 40) + "." + b % 40;
		var value = 0;
		while (bytes.length() > 0) {
			b = bytes.getByte();
			value = value << 7;
			if (b & 128) {
				value += b & 127;
			} else {
				oid += "." + (value + b);
				value = 0;
			}
		}
		return oid;
	};
	/**
	* Converts a UTCTime value to a date.
	*
	* Note: GeneralizedTime has 4 digits for the year and is used for X.509
	* dates past 2049. Parsing that structure hasn't been implemented yet.
	*
	* @param utc the UTCTime value to convert.
	*
	* @return the date.
	*/
	asn1.utcTimeToDate = function(utc) {
		var date = new Date();
		var year = parseInt(utc.substr(0, 2), 10);
		year = year >= 50 ? 1900 + year : 2e3 + year;
		var MM = parseInt(utc.substr(2, 2), 10) - 1;
		var DD = parseInt(utc.substr(4, 2), 10);
		var hh = parseInt(utc.substr(6, 2), 10);
		var mm = parseInt(utc.substr(8, 2), 10);
		var ss = 0;
		if (utc.length > 11) {
			var c = utc.charAt(10);
			var end = 10;
			if (c !== "+" && c !== "-") {
				ss = parseInt(utc.substr(10, 2), 10);
				end += 2;
			}
		}
		date.setUTCFullYear(year, MM, DD);
		date.setUTCHours(hh, mm, ss, 0);
		if (end) {
			c = utc.charAt(end);
			if (c === "+" || c === "-") {
				var hhoffset = parseInt(utc.substr(end + 1, 2), 10);
				var mmoffset = parseInt(utc.substr(end + 4, 2), 10);
				var offset = hhoffset * 60 + mmoffset;
				offset *= 6e4;
				if (c === "+") {
					date.setTime(+date - offset);
				} else {
					date.setTime(+date + offset);
				}
			}
		}
		return date;
	};
	/**
	* Converts a GeneralizedTime value to a date.
	*
	* @param gentime the GeneralizedTime value to convert.
	*
	* @return the date.
	*/
	asn1.generalizedTimeToDate = function(gentime) {
		var date = new Date();
		var YYYY = parseInt(gentime.substr(0, 4), 10);
		var MM = parseInt(gentime.substr(4, 2), 10) - 1;
		var DD = parseInt(gentime.substr(6, 2), 10);
		var hh = parseInt(gentime.substr(8, 2), 10);
		var mm = parseInt(gentime.substr(10, 2), 10);
		var ss = parseInt(gentime.substr(12, 2), 10);
		var fff = 0;
		var offset = 0;
		var isUTC = false;
		if (gentime.charAt(gentime.length - 1) === "Z") {
			isUTC = true;
		}
		var end = gentime.length - 5, c = gentime.charAt(end);
		if (c === "+" || c === "-") {
			var hhoffset = parseInt(gentime.substr(end + 1, 2), 10);
			var mmoffset = parseInt(gentime.substr(end + 4, 2), 10);
			offset = hhoffset * 60 + mmoffset;
			offset *= 6e4;
			if (c === "+") {
				offset *= -1;
			}
			isUTC = true;
		}
		if (gentime.charAt(14) === ".") {
			fff = parseFloat(gentime.substr(14), 10) * 1e3;
		}
		if (isUTC) {
			date.setUTCFullYear(YYYY, MM, DD);
			date.setUTCHours(hh, mm, ss, fff);
			date.setTime(+date + offset);
		} else {
			date.setFullYear(YYYY, MM, DD);
			date.setHours(hh, mm, ss, fff);
		}
		return date;
	};
	/**
	* Converts a date to a UTCTime value.
	*
	* Note: GeneralizedTime has 4 digits for the year and is used for X.509
	* dates past 2049. Converting to a GeneralizedTime hasn't been
	* implemented yet.
	*
	* @param date the date to convert.
	*
	* @return the UTCTime value.
	*/
	asn1.dateToUtcTime = function(date) {
		if (typeof date === "string") {
			return date;
		}
		var rval = "";
		var format = [];
		format.push(("" + date.getUTCFullYear()).substr(2));
		format.push("" + (date.getUTCMonth() + 1));
		format.push("" + date.getUTCDate());
		format.push("" + date.getUTCHours());
		format.push("" + date.getUTCMinutes());
		format.push("" + date.getUTCSeconds());
		for (var i = 0; i < format.length; ++i) {
			if (format[i].length < 2) {
				rval += "0";
			}
			rval += format[i];
		}
		rval += "Z";
		return rval;
	};
	/**
	* Converts a date to a GeneralizedTime value.
	*
	* @param date the date to convert.
	*
	* @return the GeneralizedTime value as a string.
	*/
	asn1.dateToGeneralizedTime = function(date) {
		if (typeof date === "string") {
			return date;
		}
		var rval = "";
		var format = [];
		format.push("" + date.getUTCFullYear());
		format.push("" + (date.getUTCMonth() + 1));
		format.push("" + date.getUTCDate());
		format.push("" + date.getUTCHours());
		format.push("" + date.getUTCMinutes());
		format.push("" + date.getUTCSeconds());
		for (var i = 0; i < format.length; ++i) {
			if (format[i].length < 2) {
				rval += "0";
			}
			rval += format[i];
		}
		rval += "Z";
		return rval;
	};
	/**
	* Converts a javascript integer to a DER-encoded byte buffer to be used
	* as the value for an INTEGER type.
	*
	* @param x the integer.
	*
	* @return the byte buffer.
	*/
	asn1.integerToDer = function(x) {
		var rval = forge.util.createBuffer();
		if (x >= -128 && x < 128) {
			return rval.putSignedInt(x, 8);
		}
		if (x >= -32768 && x < 32768) {
			return rval.putSignedInt(x, 16);
		}
		if (x >= -8388608 && x < 8388608) {
			return rval.putSignedInt(x, 24);
		}
		if (x >= -2147483648 && x < 2147483648) {
			return rval.putSignedInt(x, 32);
		}
		var error = new Error("Integer too large; max is 32-bits.");
		error.integer = x;
		throw error;
	};
	/**
	* Converts a DER-encoded byte buffer to a javascript integer. This is
	* typically used to decode the value of an INTEGER type.
	*
	* @param bytes the byte buffer.
	*
	* @return the integer.
	*/
	asn1.derToInteger = function(bytes) {
		if (typeof bytes === "string") {
			bytes = forge.util.createBuffer(bytes);
		}
		var n = bytes.length() * 8;
		if (n > 32) {
			throw new Error("Integer too large; max is 32-bits.");
		}
		return bytes.getSignedInt(n);
	};
	/**
	* Validates that the given ASN.1 object is at least a super set of the
	* given ASN.1 structure. Only tag classes and types are checked. An
	* optional map may also be provided to capture ASN.1 values while the
	* structure is checked.
	*
	* To capture an ASN.1 value, set an object in the validator's 'capture'
	* parameter to the key to use in the capture map. To capture the full
	* ASN.1 object, specify 'captureAsn1'. To capture BIT STRING bytes, including
	* the leading unused bits counter byte, specify 'captureBitStringContents'.
	* To capture BIT STRING bytes, without the leading unused bits counter byte,
	* specify 'captureBitStringValue'.
	*
	* Objects in the validator may set a field 'optional' to true to indicate
	* that it isn't necessary to pass validation.
	*
	* @param obj the ASN.1 object to validate.
	* @param v the ASN.1 structure validator.
	* @param capture an optional map to capture values in.
	* @param errors an optional array for storing validation errors.
	*
	* @return true on success, false on failure.
	*/
	asn1.validate = function(obj, v, capture, errors) {
		var rval = false;
		if ((obj.tagClass === v.tagClass || typeof v.tagClass === "undefined") && (obj.type === v.type || typeof v.type === "undefined")) {
			if (obj.constructed === v.constructed || typeof v.constructed === "undefined") {
				rval = true;
				if (v.value && forge.util.isArray(v.value)) {
					var j = 0;
					for (var i = 0; rval && i < v.value.length; ++i) {
						rval = v.value[i].optional || false;
						if (obj.value[j]) {
							rval = asn1.validate(obj.value[j], v.value[i], capture, errors);
							if (rval) {
								++j;
							} else if (v.value[i].optional) {
								rval = true;
							}
						}
						if (!rval && errors) {
							errors.push("[" + v.name + "] " + "Tag class \"" + v.tagClass + "\", type \"" + v.type + "\" expected value length \"" + v.value.length + "\", got \"" + obj.value.length + "\"");
						}
					}
				}
				if (rval && capture) {
					if (v.capture) {
						capture[v.capture] = obj.value;
					}
					if (v.captureAsn1) {
						capture[v.captureAsn1] = obj;
					}
					if (v.captureBitStringContents && "bitStringContents" in obj) {
						capture[v.captureBitStringContents] = obj.bitStringContents;
					}
					if (v.captureBitStringValue && "bitStringContents" in obj) {
						var value;
						if (obj.bitStringContents.length < 2) {
							capture[v.captureBitStringValue] = "";
						} else {
							var unused = obj.bitStringContents.charCodeAt(0);
							if (unused !== 0) {
								throw new Error("captureBitStringValue only supported for zero unused bits");
							}
							capture[v.captureBitStringValue] = obj.bitStringContents.slice(1);
						}
					}
				}
			} else if (errors) {
				errors.push("[" + v.name + "] " + "Expected constructed \"" + v.constructed + "\", got \"" + obj.constructed + "\"");
			}
		} else if (errors) {
			if (obj.tagClass !== v.tagClass) {
				errors.push("[" + v.name + "] " + "Expected tag class \"" + v.tagClass + "\", got \"" + obj.tagClass + "\"");
			}
			if (obj.type !== v.type) {
				errors.push("[" + v.name + "] " + "Expected type \"" + v.type + "\", got \"" + obj.type + "\"");
			}
		}
		return rval;
	};
	var _nonLatinRegex = /[^\\u0000-\\u00ff]/;
	/**
	* Pretty prints an ASN.1 object to a string.
	*
	* @param obj the object to write out.
	* @param level the level in the tree.
	* @param indentation the indentation to use.
	*
	* @return the string.
	*/
	asn1.prettyPrint = function(obj, level, indentation) {
		var rval = "";
		level = level || 0;
		indentation = indentation || 2;
		if (level > 0) {
			rval += "\n";
		}
		var indent = "";
		for (var i = 0; i < level * indentation; ++i) {
			indent += " ";
		}
		rval += indent + "Tag: ";
		switch (obj.tagClass) {
			case asn1.Class.UNIVERSAL:
				rval += "Universal:";
				break;
			case asn1.Class.APPLICATION:
				rval += "Application:";
				break;
			case asn1.Class.CONTEXT_SPECIFIC:
				rval += "Context-Specific:";
				break;
			case asn1.Class.PRIVATE:
				rval += "Private:";
				break;
		}
		if (obj.tagClass === asn1.Class.UNIVERSAL) {
			rval += obj.type;
			switch (obj.type) {
				case asn1.Type.NONE:
					rval += " (None)";
					break;
				case asn1.Type.BOOLEAN:
					rval += " (Boolean)";
					break;
				case asn1.Type.INTEGER:
					rval += " (Integer)";
					break;
				case asn1.Type.BITSTRING:
					rval += " (Bit string)";
					break;
				case asn1.Type.OCTETSTRING:
					rval += " (Octet string)";
					break;
				case asn1.Type.NULL:
					rval += " (Null)";
					break;
				case asn1.Type.OID:
					rval += " (Object Identifier)";
					break;
				case asn1.Type.ODESC:
					rval += " (Object Descriptor)";
					break;
				case asn1.Type.EXTERNAL:
					rval += " (External or Instance of)";
					break;
				case asn1.Type.REAL:
					rval += " (Real)";
					break;
				case asn1.Type.ENUMERATED:
					rval += " (Enumerated)";
					break;
				case asn1.Type.EMBEDDED:
					rval += " (Embedded PDV)";
					break;
				case asn1.Type.UTF8:
					rval += " (UTF8)";
					break;
				case asn1.Type.ROID:
					rval += " (Relative Object Identifier)";
					break;
				case asn1.Type.SEQUENCE:
					rval += " (Sequence)";
					break;
				case asn1.Type.SET:
					rval += " (Set)";
					break;
				case asn1.Type.PRINTABLESTRING:
					rval += " (Printable String)";
					break;
				case asn1.Type.IA5String:
					rval += " (IA5String (ASCII))";
					break;
				case asn1.Type.UTCTIME:
					rval += " (UTC time)";
					break;
				case asn1.Type.GENERALIZEDTIME:
					rval += " (Generalized time)";
					break;
				case asn1.Type.BMPSTRING:
					rval += " (BMP String)";
					break;
			}
		} else {
			rval += obj.type;
		}
		rval += "\n";
		rval += indent + "Constructed: " + obj.constructed + "\n";
		if (obj.composed) {
			var subvalues = 0;
			var sub = "";
			for (var i = 0; i < obj.value.length; ++i) {
				if (obj.value[i] !== undefined) {
					subvalues += 1;
					sub += asn1.prettyPrint(obj.value[i], level + 1, indentation);
					if (i + 1 < obj.value.length) {
						sub += ",";
					}
				}
			}
			rval += indent + "Sub values: " + subvalues + sub;
		} else {
			rval += indent + "Value: ";
			if (obj.type === asn1.Type.OID) {
				var oid = asn1.derToOid(obj.value);
				rval += oid;
				if (forge.pki && forge.pki.oids) {
					if (oid in forge.pki.oids) {
						rval += " (" + forge.pki.oids[oid] + ") ";
					}
				}
			}
			if (obj.type === asn1.Type.INTEGER) {
				try {
					rval += asn1.derToInteger(obj.value);
				} catch (ex) {
					rval += "0x" + forge.util.bytesToHex(obj.value);
				}
			} else if (obj.type === asn1.Type.BITSTRING) {
				if (obj.value.length > 1) {
					rval += "0x" + forge.util.bytesToHex(obj.value.slice(1));
				} else {
					rval += "(none)";
				}
				if (obj.value.length > 0) {
					var unused = obj.value.charCodeAt(0);
					if (unused == 1) {
						rval += " (1 unused bit shown)";
					} else if (unused > 1) {
						rval += " (" + unused + " unused bits shown)";
					}
				}
			} else if (obj.type === asn1.Type.OCTETSTRING) {
				if (!_nonLatinRegex.test(obj.value)) {
					rval += "(" + obj.value + ") ";
				}
				rval += "0x" + forge.util.bytesToHex(obj.value);
			} else if (obj.type === asn1.Type.UTF8) {
				try {
					rval += forge.util.decodeUtf8(obj.value);
				} catch (e) {
					if (e.message === "URI malformed") {
						rval += "0x" + forge.util.bytesToHex(obj.value) + " (malformed UTF8)";
					} else {
						throw e;
					}
				}
			} else if (obj.type === asn1.Type.PRINTABLESTRING || obj.type === asn1.Type.IA5String) {
				rval += obj.value;
			} else if (_nonLatinRegex.test(obj.value)) {
				rval += "0x" + forge.util.bytesToHex(obj.value);
			} else if (obj.value.length === 0) {
				rval += "[null]";
			} else {
				rval += obj.value;
			}
		}
		return rval;
	};
}));

//#endregion
//#region ../node_modules/node-forge/lib/md.js
var require_md = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Node.js module for Forge message digests.
	*
	* @author Dave Longley
	*
	* Copyright 2011-2017 Digital Bazaar, Inc.
	*/
	var forge = require_forge();
	module.exports = forge.md = forge.md || {};
	forge.md.algorithms = forge.md.algorithms || {};
}));

//#endregion
//#region ../node_modules/node-forge/lib/hmac.js
var require_hmac$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Hash-based Message Authentication Code implementation. Requires a message
	* digest object that can be obtained, for example, from forge.md.sha1 or
	* forge.md.md5.
	*
	* @author Dave Longley
	*
	* Copyright (c) 2010-2012 Digital Bazaar, Inc. All rights reserved.
	*/
	var forge = require_forge();
	require_md();
	require_util$8();
	var hmac = module.exports = forge.hmac = forge.hmac || {};
	/**
	* Creates an HMAC object that uses the given message digest object.
	*
	* @return an HMAC object.
	*/
	hmac.create = function() {
		var _key = null;
		var _md = null;
		var _ipadding = null;
		var _opadding = null;
		var ctx = {};
		/**
		* Starts or restarts the HMAC with the given key and message digest.
		*
		* @param md the message digest to use, null to reuse the previous one,
		*           a string to use builtin 'sha1', 'md5', 'sha256'.
		* @param key the key to use as a string, array of bytes, byte buffer,
		*           or null to reuse the previous key.
		*/
		ctx.start = function(md, key) {
			if (md !== null) {
				if (typeof md === "string") {
					md = md.toLowerCase();
					if (md in forge.md.algorithms) {
						_md = forge.md.algorithms[md].create();
					} else {
						throw new Error("Unknown hash algorithm \"" + md + "\"");
					}
				} else {
					_md = md;
				}
			}
			if (key === null) {
				key = _key;
			} else {
				if (typeof key === "string") {
					key = forge.util.createBuffer(key);
				} else if (forge.util.isArray(key)) {
					var tmp = key;
					key = forge.util.createBuffer();
					for (var i = 0; i < tmp.length; ++i) {
						key.putByte(tmp[i]);
					}
				}
				var keylen = key.length();
				if (keylen > _md.blockLength) {
					_md.start();
					_md.update(key.bytes());
					key = _md.digest();
				}
				_ipadding = forge.util.createBuffer();
				_opadding = forge.util.createBuffer();
				keylen = key.length();
				for (var i = 0; i < keylen; ++i) {
					var tmp = key.at(i);
					_ipadding.putByte(54 ^ tmp);
					_opadding.putByte(92 ^ tmp);
				}
				if (keylen < _md.blockLength) {
					var tmp = _md.blockLength - keylen;
					for (var i = 0; i < tmp; ++i) {
						_ipadding.putByte(54);
						_opadding.putByte(92);
					}
				}
				_key = key;
				_ipadding = _ipadding.bytes();
				_opadding = _opadding.bytes();
			}
			_md.start();
			_md.update(_ipadding);
		};
		/**
		* Updates the HMAC with the given message bytes.
		*
		* @param bytes the bytes to update with.
		*/
		ctx.update = function(bytes) {
			_md.update(bytes);
		};
		/**
		* Produces the Message Authentication Code (MAC).
		*
		* @return a byte buffer containing the digest value.
		*/
		ctx.getMac = function() {
			var inner = _md.digest().bytes();
			_md.start();
			_md.update(_opadding);
			_md.update(inner);
			return _md.digest();
		};
		ctx.digest = ctx.getMac;
		return ctx;
	};
}));

//#endregion
//#region ../node_modules/node-forge/lib/md5.js
var require_md5$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Message Digest Algorithm 5 with 128-bit digest (MD5) implementation.
	*
	* @author Dave Longley
	*
	* Copyright (c) 2010-2014 Digital Bazaar, Inc.
	*/
	var forge = require_forge();
	require_md();
	require_util$8();
	var md5 = module.exports = forge.md5 = forge.md5 || {};
	forge.md.md5 = forge.md.algorithms.md5 = md5;
	/**
	* Creates an MD5 message digest object.
	*
	* @return a message digest object.
	*/
	md5.create = function() {
		if (!_initialized) {
			_init();
		}
		var _state = null;
		var _input = forge.util.createBuffer();
		var _w = new Array(16);
		var md = {
			algorithm: "md5",
			blockLength: 64,
			digestLength: 16,
			messageLength: 0,
			fullMessageLength: null,
			messageLengthSize: 8
		};
		/**
		* Starts the digest.
		*
		* @return this digest object.
		*/
		md.start = function() {
			md.messageLength = 0;
			md.fullMessageLength = md.messageLength64 = [];
			var int32s = md.messageLengthSize / 4;
			for (var i = 0; i < int32s; ++i) {
				md.fullMessageLength.push(0);
			}
			_input = forge.util.createBuffer();
			_state = {
				h0: 1732584193,
				h1: 4023233417,
				h2: 2562383102,
				h3: 271733878
			};
			return md;
		};
		md.start();
		/**
		* Updates the digest with the given message input. The given input can
		* treated as raw input (no encoding will be applied) or an encoding of
		* 'utf8' maybe given to encode the input using UTF-8.
		*
		* @param msg the message input to update with.
		* @param encoding the encoding to use (default: 'raw', other: 'utf8').
		*
		* @return this digest object.
		*/
		md.update = function(msg, encoding) {
			if (encoding === "utf8") {
				msg = forge.util.encodeUtf8(msg);
			}
			var len = msg.length;
			md.messageLength += len;
			len = [len / 4294967296 >>> 0, len >>> 0];
			for (var i = md.fullMessageLength.length - 1; i >= 0; --i) {
				md.fullMessageLength[i] += len[1];
				len[1] = len[0] + (md.fullMessageLength[i] / 4294967296 >>> 0);
				md.fullMessageLength[i] = md.fullMessageLength[i] >>> 0;
				len[0] = len[1] / 4294967296 >>> 0;
			}
			_input.putBytes(msg);
			_update(_state, _w, _input);
			if (_input.read > 2048 || _input.length() === 0) {
				_input.compact();
			}
			return md;
		};
		/**
		* Produces the digest.
		*
		* @return a byte buffer containing the digest value.
		*/
		md.digest = function() {
			var finalBlock = forge.util.createBuffer();
			finalBlock.putBytes(_input.bytes());
			var remaining = md.fullMessageLength[md.fullMessageLength.length - 1] + md.messageLengthSize;
			var overflow = remaining & md.blockLength - 1;
			finalBlock.putBytes(_padding.substr(0, md.blockLength - overflow));
			var bits, carry = 0;
			for (var i = md.fullMessageLength.length - 1; i >= 0; --i) {
				bits = md.fullMessageLength[i] * 8 + carry;
				carry = bits / 4294967296 >>> 0;
				finalBlock.putInt32Le(bits >>> 0);
			}
			var s2 = {
				h0: _state.h0,
				h1: _state.h1,
				h2: _state.h2,
				h3: _state.h3
			};
			_update(s2, _w, finalBlock);
			var rval = forge.util.createBuffer();
			rval.putInt32Le(s2.h0);
			rval.putInt32Le(s2.h1);
			rval.putInt32Le(s2.h2);
			rval.putInt32Le(s2.h3);
			return rval;
		};
		return md;
	};
	var _padding = null;
	var _g = null;
	var _r = null;
	var _k = null;
	var _initialized = false;
	/**
	* Initializes the constant tables.
	*/
	function _init() {
		_padding = String.fromCharCode(128);
		_padding += forge.util.fillString(String.fromCharCode(0), 64);
		_g = [
			0,
			1,
			2,
			3,
			4,
			5,
			6,
			7,
			8,
			9,
			10,
			11,
			12,
			13,
			14,
			15,
			1,
			6,
			11,
			0,
			5,
			10,
			15,
			4,
			9,
			14,
			3,
			8,
			13,
			2,
			7,
			12,
			5,
			8,
			11,
			14,
			1,
			4,
			7,
			10,
			13,
			0,
			3,
			6,
			9,
			12,
			15,
			2,
			0,
			7,
			14,
			5,
			12,
			3,
			10,
			1,
			8,
			15,
			6,
			13,
			4,
			11,
			2,
			9
		];
		_r = [
			7,
			12,
			17,
			22,
			7,
			12,
			17,
			22,
			7,
			12,
			17,
			22,
			7,
			12,
			17,
			22,
			5,
			9,
			14,
			20,
			5,
			9,
			14,
			20,
			5,
			9,
			14,
			20,
			5,
			9,
			14,
			20,
			4,
			11,
			16,
			23,
			4,
			11,
			16,
			23,
			4,
			11,
			16,
			23,
			4,
			11,
			16,
			23,
			6,
			10,
			15,
			21,
			6,
			10,
			15,
			21,
			6,
			10,
			15,
			21,
			6,
			10,
			15,
			21
		];
		_k = new Array(64);
		for (var i = 0; i < 64; ++i) {
			_k[i] = Math.floor(Math.abs(Math.sin(i + 1)) * 4294967296);
		}
		_initialized = true;
	}
	/**
	* Updates an MD5 state with the given byte buffer.
	*
	* @param s the MD5 state to update.
	* @param w the array to use to store words.
	* @param bytes the byte buffer to update with.
	*/
	function _update(s, w, bytes) {
		var t, a, b, c, d, f, r, i;
		var len = bytes.length();
		while (len >= 64) {
			a = s.h0;
			b = s.h1;
			c = s.h2;
			d = s.h3;
			for (i = 0; i < 16; ++i) {
				w[i] = bytes.getInt32Le();
				f = d ^ b & (c ^ d);
				t = a + f + _k[i] + w[i];
				r = _r[i];
				a = d;
				d = c;
				c = b;
				b += t << r | t >>> 32 - r;
			}
			for (; i < 32; ++i) {
				f = c ^ d & (b ^ c);
				t = a + f + _k[i] + w[_g[i]];
				r = _r[i];
				a = d;
				d = c;
				c = b;
				b += t << r | t >>> 32 - r;
			}
			for (; i < 48; ++i) {
				f = b ^ c ^ d;
				t = a + f + _k[i] + w[_g[i]];
				r = _r[i];
				a = d;
				d = c;
				c = b;
				b += t << r | t >>> 32 - r;
			}
			for (; i < 64; ++i) {
				f = c ^ (b | ~d);
				t = a + f + _k[i] + w[_g[i]];
				r = _r[i];
				a = d;
				d = c;
				c = b;
				b += t << r | t >>> 32 - r;
			}
			s.h0 = s.h0 + a | 0;
			s.h1 = s.h1 + b | 0;
			s.h2 = s.h2 + c | 0;
			s.h3 = s.h3 + d | 0;
			len -= 64;
		}
	}
}));

//#endregion
//#region ../node_modules/node-forge/lib/pem.js
var require_pem = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Javascript implementation of basic PEM (Privacy Enhanced Mail) algorithms.
	*
	* See: RFC 1421.
	*
	* @author Dave Longley
	*
	* Copyright (c) 2013-2014 Digital Bazaar, Inc.
	*
	* A Forge PEM object has the following fields:
	*
	* type: identifies the type of message (eg: "RSA PRIVATE KEY").
	*
	* procType: identifies the type of processing performed on the message,
	*   it has two subfields: version and type, eg: 4,ENCRYPTED.
	*
	* contentDomain: identifies the type of content in the message, typically
	*   only uses the value: "RFC822".
	*
	* dekInfo: identifies the message encryption algorithm and mode and includes
	*   any parameters for the algorithm, it has two subfields: algorithm and
	*   parameters, eg: DES-CBC,F8143EDE5960C597.
	*
	* headers: contains all other PEM encapsulated headers -- where order is
	*   significant (for pairing data like recipient ID + key info).
	*
	* body: the binary-encoded body.
	*/
	var forge = require_forge();
	require_util$8();
	var pem = module.exports = forge.pem = forge.pem || {};
	/**
	* Encodes (serializes) the given PEM object.
	*
	* @param msg the PEM message object to encode.
	* @param options the options to use:
	*          maxline the maximum characters per line for the body, (default: 64).
	*
	* @return the PEM-formatted string.
	*/
	pem.encode = function(msg, options) {
		options = options || {};
		var rval = "-----BEGIN " + msg.type + "-----\r\n";
		var header;
		if (msg.procType) {
			header = {
				name: "Proc-Type",
				values: [String(msg.procType.version), msg.procType.type]
			};
			rval += foldHeader(header);
		}
		if (msg.contentDomain) {
			header = {
				name: "Content-Domain",
				values: [msg.contentDomain]
			};
			rval += foldHeader(header);
		}
		if (msg.dekInfo) {
			header = {
				name: "DEK-Info",
				values: [msg.dekInfo.algorithm]
			};
			if (msg.dekInfo.parameters) {
				header.values.push(msg.dekInfo.parameters);
			}
			rval += foldHeader(header);
		}
		if (msg.headers) {
			for (var i = 0; i < msg.headers.length; ++i) {
				rval += foldHeader(msg.headers[i]);
			}
		}
		if (msg.procType) {
			rval += "\r\n";
		}
		rval += forge.util.encode64(msg.body, options.maxline || 64) + "\r\n";
		rval += "-----END " + msg.type + "-----\r\n";
		return rval;
	};
	/**
	* Decodes (deserializes) all PEM messages found in the given string.
	*
	* @param str the PEM-formatted string to decode.
	*
	* @return the PEM message objects in an array.
	*/
	pem.decode = function(str) {
		var rval = [];
		var rMessage = /\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g;
		var rHeader = /([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/;
		var rCRLF = /\r?\n/;
		var match;
		while (true) {
			match = rMessage.exec(str);
			if (!match) {
				break;
			}
			var type = match[1];
			if (type === "NEW CERTIFICATE REQUEST") {
				type = "CERTIFICATE REQUEST";
			}
			var msg = {
				type,
				procType: null,
				contentDomain: null,
				dekInfo: null,
				headers: [],
				body: forge.util.decode64(match[3])
			};
			rval.push(msg);
			if (!match[2]) {
				continue;
			}
			var lines = match[2].split(rCRLF);
			var li = 0;
			while (match && li < lines.length) {
				var line = lines[li].replace(/\s+$/, "");
				for (var nl = li + 1; nl < lines.length; ++nl) {
					var next = lines[nl];
					if (!/\s/.test(next[0])) {
						break;
					}
					line += next;
					li = nl;
				}
				match = line.match(rHeader);
				if (match) {
					var header = {
						name: match[1],
						values: []
					};
					var values = match[2].split(",");
					for (var vi = 0; vi < values.length; ++vi) {
						header.values.push(ltrim(values[vi]));
					}
					if (!msg.procType) {
						if (header.name !== "Proc-Type") {
							throw new Error("Invalid PEM formatted message. The first " + "encapsulated header must be \"Proc-Type\".");
						} else if (header.values.length !== 2) {
							throw new Error("Invalid PEM formatted message. The \"Proc-Type\" " + "header must have two subfields.");
						}
						msg.procType = {
							version: values[0],
							type: values[1]
						};
					} else if (!msg.contentDomain && header.name === "Content-Domain") {
						msg.contentDomain = values[0] || "";
					} else if (!msg.dekInfo && header.name === "DEK-Info") {
						if (header.values.length === 0) {
							throw new Error("Invalid PEM formatted message. The \"DEK-Info\" " + "header must have at least one subfield.");
						}
						msg.dekInfo = {
							algorithm: values[0],
							parameters: values[1] || null
						};
					} else {
						msg.headers.push(header);
					}
				}
				++li;
			}
			if (msg.procType === "ENCRYPTED" && !msg.dekInfo) {
				throw new Error("Invalid PEM formatted message. The \"DEK-Info\" " + "header must be present if \"Proc-Type\" is \"ENCRYPTED\".");
			}
		}
		if (rval.length === 0) {
			throw new Error("Invalid PEM formatted message.");
		}
		return rval;
	};
	function foldHeader(header) {
		var rval = header.name + ": ";
		var values = [];
		var insertSpace = function(match, $1) {
			return " " + $1;
		};
		for (var i = 0; i < header.values.length; ++i) {
			values.push(header.values[i].replace(/^(\S+\r\n)/, insertSpace));
		}
		rval += values.join(",") + "\r\n";
		var length = 0;
		var candidate = -1;
		for (var i = 0; i < rval.length; ++i, ++length) {
			if (length > 65 && candidate !== -1) {
				var insert = rval[candidate];
				if (insert === ",") {
					++candidate;
					rval = rval.substr(0, candidate) + "\r\n " + rval.substr(candidate);
				} else {
					rval = rval.substr(0, candidate) + "\r\n" + insert + rval.substr(candidate + 1);
				}
				length = i - candidate - 1;
				candidate = -1;
				++i;
			} else if (rval[i] === " " || rval[i] === "	" || rval[i] === ",") {
				candidate = i;
			}
		}
		return rval;
	}
	function ltrim(str) {
		return str.replace(/^\s+/, "");
	}
}));

//#endregion
//#region ../node_modules/node-forge/lib/des.js
var require_des = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* DES (Data Encryption Standard) implementation.
	*
	* This implementation supports DES as well as 3DES-EDE in ECB and CBC mode.
	* It is based on the BSD-licensed implementation by Paul Tero:
	*
	* Paul Tero, July 2001
	* http://www.tero.co.uk/des/
	*
	* Optimised for performance with large blocks by
	* Michael Hayworth, November 2001
	* http://www.netdealing.com
	*
	* THIS SOFTWARE IS PROVIDED "AS IS" AND
	* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
	* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
	* ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
	* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
	* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
	* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
	* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
	* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
	* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
	* SUCH DAMAGE.
	*
	* @author Stefan Siegl
	* @author Dave Longley
	*
	* Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
	* Copyright (c) 2012-2014 Digital Bazaar, Inc.
	*/
	var forge = require_forge();
	require_cipher();
	require_cipherModes();
	require_util$8();
	module.exports = forge.des = forge.des || {};
	/**
	* Deprecated. Instead, use:
	*
	* var cipher = forge.cipher.createCipher('DES-<mode>', key);
	* cipher.start({iv: iv});
	*
	* Creates an DES cipher object to encrypt data using the given symmetric key.
	* The output will be stored in the 'output' member of the returned cipher.
	*
	* The key and iv may be given as binary-encoded strings of bytes or
	* byte buffers.
	*
	* @param key the symmetric key to use (64 or 192 bits).
	* @param iv the initialization vector to use.
	* @param output the buffer to write to, null to create one.
	* @param mode the cipher mode to use (default: 'CBC' if IV is
	*          given, 'ECB' if null).
	*
	* @return the cipher.
	*/
	forge.des.startEncrypting = function(key, iv, output, mode) {
		var cipher = _createCipher({
			key,
			output,
			decrypt: false,
			mode: mode || (iv === null ? "ECB" : "CBC")
		});
		cipher.start(iv);
		return cipher;
	};
	/**
	* Deprecated. Instead, use:
	*
	* var cipher = forge.cipher.createCipher('DES-<mode>', key);
	*
	* Creates an DES cipher object to encrypt data using the given symmetric key.
	*
	* The key may be given as a binary-encoded string of bytes or a byte buffer.
	*
	* @param key the symmetric key to use (64 or 192 bits).
	* @param mode the cipher mode to use (default: 'CBC').
	*
	* @return the cipher.
	*/
	forge.des.createEncryptionCipher = function(key, mode) {
		return _createCipher({
			key,
			output: null,
			decrypt: false,
			mode
		});
	};
	/**
	* Deprecated. Instead, use:
	*
	* var decipher = forge.cipher.createDecipher('DES-<mode>', key);
	* decipher.start({iv: iv});
	*
	* Creates an DES cipher object to decrypt data using the given symmetric key.
	* The output will be stored in the 'output' member of the returned cipher.
	*
	* The key and iv may be given as binary-encoded strings of bytes or
	* byte buffers.
	*
	* @param key the symmetric key to use (64 or 192 bits).
	* @param iv the initialization vector to use.
	* @param output the buffer to write to, null to create one.
	* @param mode the cipher mode to use (default: 'CBC' if IV is
	*          given, 'ECB' if null).
	*
	* @return the cipher.
	*/
	forge.des.startDecrypting = function(key, iv, output, mode) {
		var cipher = _createCipher({
			key,
			output,
			decrypt: true,
			mode: mode || (iv === null ? "ECB" : "CBC")
		});
		cipher.start(iv);
		return cipher;
	};
	/**
	* Deprecated. Instead, use:
	*
	* var decipher = forge.cipher.createDecipher('DES-<mode>', key);
	*
	* Creates an DES cipher object to decrypt data using the given symmetric key.
	*
	* The key may be given as a binary-encoded string of bytes or a byte buffer.
	*
	* @param key the symmetric key to use (64 or 192 bits).
	* @param mode the cipher mode to use (default: 'CBC').
	*
	* @return the cipher.
	*/
	forge.des.createDecryptionCipher = function(key, mode) {
		return _createCipher({
			key,
			output: null,
			decrypt: true,
			mode
		});
	};
	/**
	* Creates a new DES cipher algorithm object.
	*
	* @param name the name of the algorithm.
	* @param mode the mode factory function.
	*
	* @return the DES algorithm object.
	*/
	forge.des.Algorithm = function(name, mode) {
		var self = this;
		self.name = name;
		self.mode = new mode({
			blockSize: 8,
			cipher: {
				encrypt: function(inBlock, outBlock) {
					return _updateBlock(self._keys, inBlock, outBlock, false);
				},
				decrypt: function(inBlock, outBlock) {
					return _updateBlock(self._keys, inBlock, outBlock, true);
				}
			}
		});
		self._init = false;
	};
	/**
	* Initializes this DES algorithm by expanding its key.
	*
	* @param options the options to use.
	*          key the key to use with this algorithm.
	*          decrypt true if the algorithm should be initialized for decryption,
	*            false for encryption.
	*/
	forge.des.Algorithm.prototype.initialize = function(options) {
		if (this._init) {
			return;
		}
		var key = forge.util.createBuffer(options.key);
		if (this.name.indexOf("3DES") === 0) {
			if (key.length() !== 24) {
				throw new Error("Invalid Triple-DES key size: " + key.length() * 8);
			}
		}
		this._keys = _createKeys(key);
		this._init = true;
	};
	/** Register DES algorithms **/
	registerAlgorithm("DES-ECB", forge.cipher.modes.ecb);
	registerAlgorithm("DES-CBC", forge.cipher.modes.cbc);
	registerAlgorithm("DES-CFB", forge.cipher.modes.cfb);
	registerAlgorithm("DES-OFB", forge.cipher.modes.ofb);
	registerAlgorithm("DES-CTR", forge.cipher.modes.ctr);
	registerAlgorithm("3DES-ECB", forge.cipher.modes.ecb);
	registerAlgorithm("3DES-CBC", forge.cipher.modes.cbc);
	registerAlgorithm("3DES-CFB", forge.cipher.modes.cfb);
	registerAlgorithm("3DES-OFB", forge.cipher.modes.ofb);
	registerAlgorithm("3DES-CTR", forge.cipher.modes.ctr);
	function registerAlgorithm(name, mode) {
		var factory = function() {
			return new forge.des.Algorithm(name, mode);
		};
		forge.cipher.registerAlgorithm(name, factory);
	}
	/** DES implementation **/
	var spfunction1 = [
		16843776,
		0,
		65536,
		16843780,
		16842756,
		66564,
		4,
		65536,
		1024,
		16843776,
		16843780,
		1024,
		16778244,
		16842756,
		16777216,
		4,
		1028,
		16778240,
		16778240,
		66560,
		66560,
		16842752,
		16842752,
		16778244,
		65540,
		16777220,
		16777220,
		65540,
		0,
		1028,
		66564,
		16777216,
		65536,
		16843780,
		4,
		16842752,
		16843776,
		16777216,
		16777216,
		1024,
		16842756,
		65536,
		66560,
		16777220,
		1024,
		4,
		16778244,
		66564,
		16843780,
		65540,
		16842752,
		16778244,
		16777220,
		1028,
		66564,
		16843776,
		1028,
		16778240,
		16778240,
		0,
		65540,
		66560,
		0,
		16842756
	];
	var spfunction2 = [
		-2146402272,
		-2147450880,
		32768,
		1081376,
		1048576,
		32,
		-2146435040,
		-2147450848,
		-2147483616,
		-2146402272,
		-2146402304,
		-2147483648,
		-2147450880,
		1048576,
		32,
		-2146435040,
		1081344,
		1048608,
		-2147450848,
		0,
		-2147483648,
		32768,
		1081376,
		-2146435072,
		1048608,
		-2147483616,
		0,
		1081344,
		32800,
		-2146402304,
		-2146435072,
		32800,
		0,
		1081376,
		-2146435040,
		1048576,
		-2147450848,
		-2146435072,
		-2146402304,
		32768,
		-2146435072,
		-2147450880,
		32,
		-2146402272,
		1081376,
		32,
		32768,
		-2147483648,
		32800,
		-2146402304,
		1048576,
		-2147483616,
		1048608,
		-2147450848,
		-2147483616,
		1048608,
		1081344,
		0,
		-2147450880,
		32800,
		-2147483648,
		-2146435040,
		-2146402272,
		1081344
	];
	var spfunction3 = [
		520,
		134349312,
		0,
		134348808,
		134218240,
		0,
		131592,
		134218240,
		131080,
		134217736,
		134217736,
		131072,
		134349320,
		131080,
		134348800,
		520,
		134217728,
		8,
		134349312,
		512,
		131584,
		134348800,
		134348808,
		131592,
		134218248,
		131584,
		131072,
		134218248,
		8,
		134349320,
		512,
		134217728,
		134349312,
		134217728,
		131080,
		520,
		131072,
		134349312,
		134218240,
		0,
		512,
		131080,
		134349320,
		134218240,
		134217736,
		512,
		0,
		134348808,
		134218248,
		131072,
		134217728,
		134349320,
		8,
		131592,
		131584,
		134217736,
		134348800,
		134218248,
		520,
		134348800,
		131592,
		8,
		134348808,
		131584
	];
	var spfunction4 = [
		8396801,
		8321,
		8321,
		128,
		8396928,
		8388737,
		8388609,
		8193,
		0,
		8396800,
		8396800,
		8396929,
		129,
		0,
		8388736,
		8388609,
		1,
		8192,
		8388608,
		8396801,
		128,
		8388608,
		8193,
		8320,
		8388737,
		1,
		8320,
		8388736,
		8192,
		8396928,
		8396929,
		129,
		8388736,
		8388609,
		8396800,
		8396929,
		129,
		0,
		0,
		8396800,
		8320,
		8388736,
		8388737,
		1,
		8396801,
		8321,
		8321,
		128,
		8396929,
		129,
		1,
		8192,
		8388609,
		8193,
		8396928,
		8388737,
		8193,
		8320,
		8388608,
		8396801,
		128,
		8388608,
		8192,
		8396928
	];
	var spfunction5 = [
		256,
		34078976,
		34078720,
		1107296512,
		524288,
		256,
		1073741824,
		34078720,
		1074266368,
		524288,
		33554688,
		1074266368,
		1107296512,
		1107820544,
		524544,
		1073741824,
		33554432,
		1074266112,
		1074266112,
		0,
		1073742080,
		1107820800,
		1107820800,
		33554688,
		1107820544,
		1073742080,
		0,
		1107296256,
		34078976,
		33554432,
		1107296256,
		524544,
		524288,
		1107296512,
		256,
		33554432,
		1073741824,
		34078720,
		1107296512,
		1074266368,
		33554688,
		1073741824,
		1107820544,
		34078976,
		1074266368,
		256,
		33554432,
		1107820544,
		1107820800,
		524544,
		1107296256,
		1107820800,
		34078720,
		0,
		1074266112,
		1107296256,
		524544,
		33554688,
		1073742080,
		524288,
		0,
		1074266112,
		34078976,
		1073742080
	];
	var spfunction6 = [
		536870928,
		541065216,
		16384,
		541081616,
		541065216,
		16,
		541081616,
		4194304,
		536887296,
		4210704,
		4194304,
		536870928,
		4194320,
		536887296,
		536870912,
		16400,
		0,
		4194320,
		536887312,
		16384,
		4210688,
		536887312,
		16,
		541065232,
		541065232,
		0,
		4210704,
		541081600,
		16400,
		4210688,
		541081600,
		536870912,
		536887296,
		16,
		541065232,
		4210688,
		541081616,
		4194304,
		16400,
		536870928,
		4194304,
		536887296,
		536870912,
		16400,
		536870928,
		541081616,
		4210688,
		541065216,
		4210704,
		541081600,
		0,
		541065232,
		16,
		16384,
		541065216,
		4210704,
		16384,
		4194320,
		536887312,
		0,
		541081600,
		536870912,
		4194320,
		536887312
	];
	var spfunction7 = [
		2097152,
		69206018,
		67110914,
		0,
		2048,
		67110914,
		2099202,
		69208064,
		69208066,
		2097152,
		0,
		67108866,
		2,
		67108864,
		69206018,
		2050,
		67110912,
		2099202,
		2097154,
		67110912,
		67108866,
		69206016,
		69208064,
		2097154,
		69206016,
		2048,
		2050,
		69208066,
		2099200,
		2,
		67108864,
		2099200,
		67108864,
		2099200,
		2097152,
		67110914,
		67110914,
		69206018,
		69206018,
		2,
		2097154,
		67108864,
		67110912,
		2097152,
		69208064,
		2050,
		2099202,
		69208064,
		2050,
		67108866,
		69208066,
		69206016,
		2099200,
		0,
		2,
		69208066,
		0,
		2099202,
		69206016,
		2048,
		67108866,
		67110912,
		2048,
		2097154
	];
	var spfunction8 = [
		268439616,
		4096,
		262144,
		268701760,
		268435456,
		268439616,
		64,
		268435456,
		262208,
		268697600,
		268701760,
		266240,
		268701696,
		266304,
		4096,
		64,
		268697600,
		268435520,
		268439552,
		4160,
		266240,
		262208,
		268697664,
		268701696,
		4160,
		0,
		0,
		268697664,
		268435520,
		268439552,
		266304,
		262144,
		266304,
		262144,
		268701696,
		4096,
		64,
		268697664,
		4096,
		266304,
		268439552,
		64,
		268435520,
		268697600,
		268697664,
		268435456,
		262144,
		268439616,
		0,
		268701760,
		262208,
		268435520,
		268697600,
		268439552,
		268439616,
		0,
		268701760,
		266240,
		266240,
		4160,
		4160,
		262208,
		268435456,
		268701696
	];
	/**
	* Create necessary sub keys.
	*
	* @param key the 64-bit or 192-bit key.
	*
	* @return the expanded keys.
	*/
	function _createKeys(key) {
		var pc2bytes0 = [
			0,
			4,
			536870912,
			536870916,
			65536,
			65540,
			536936448,
			536936452,
			512,
			516,
			536871424,
			536871428,
			66048,
			66052,
			536936960,
			536936964
		], pc2bytes1 = [
			0,
			1,
			1048576,
			1048577,
			67108864,
			67108865,
			68157440,
			68157441,
			256,
			257,
			1048832,
			1048833,
			67109120,
			67109121,
			68157696,
			68157697
		], pc2bytes2 = [
			0,
			8,
			2048,
			2056,
			16777216,
			16777224,
			16779264,
			16779272,
			0,
			8,
			2048,
			2056,
			16777216,
			16777224,
			16779264,
			16779272
		], pc2bytes3 = [
			0,
			2097152,
			134217728,
			136314880,
			8192,
			2105344,
			134225920,
			136323072,
			131072,
			2228224,
			134348800,
			136445952,
			139264,
			2236416,
			134356992,
			136454144
		], pc2bytes4 = [
			0,
			262144,
			16,
			262160,
			0,
			262144,
			16,
			262160,
			4096,
			266240,
			4112,
			266256,
			4096,
			266240,
			4112,
			266256
		], pc2bytes5 = [
			0,
			1024,
			32,
			1056,
			0,
			1024,
			32,
			1056,
			33554432,
			33555456,
			33554464,
			33555488,
			33554432,
			33555456,
			33554464,
			33555488
		], pc2bytes6 = [
			0,
			268435456,
			524288,
			268959744,
			2,
			268435458,
			524290,
			268959746,
			0,
			268435456,
			524288,
			268959744,
			2,
			268435458,
			524290,
			268959746
		], pc2bytes7 = [
			0,
			65536,
			2048,
			67584,
			536870912,
			536936448,
			536872960,
			536938496,
			131072,
			196608,
			133120,
			198656,
			537001984,
			537067520,
			537004032,
			537069568
		], pc2bytes8 = [
			0,
			262144,
			0,
			262144,
			2,
			262146,
			2,
			262146,
			33554432,
			33816576,
			33554432,
			33816576,
			33554434,
			33816578,
			33554434,
			33816578
		], pc2bytes9 = [
			0,
			268435456,
			8,
			268435464,
			0,
			268435456,
			8,
			268435464,
			1024,
			268436480,
			1032,
			268436488,
			1024,
			268436480,
			1032,
			268436488
		], pc2bytes10 = [
			0,
			32,
			0,
			32,
			1048576,
			1048608,
			1048576,
			1048608,
			8192,
			8224,
			8192,
			8224,
			1056768,
			1056800,
			1056768,
			1056800
		], pc2bytes11 = [
			0,
			16777216,
			512,
			16777728,
			2097152,
			18874368,
			2097664,
			18874880,
			67108864,
			83886080,
			67109376,
			83886592,
			69206016,
			85983232,
			69206528,
			85983744
		], pc2bytes12 = [
			0,
			4096,
			134217728,
			134221824,
			524288,
			528384,
			134742016,
			134746112,
			16,
			4112,
			134217744,
			134221840,
			524304,
			528400,
			134742032,
			134746128
		], pc2bytes13 = [
			0,
			4,
			256,
			260,
			0,
			4,
			256,
			260,
			1,
			5,
			257,
			261,
			1,
			5,
			257,
			261
		];
		var iterations = key.length() > 8 ? 3 : 1;
		var keys = [];
		var shifts = [
			0,
			0,
			1,
			1,
			1,
			1,
			1,
			1,
			0,
			1,
			1,
			1,
			1,
			1,
			1,
			0
		];
		var n = 0, tmp;
		for (var j = 0; j < iterations; j++) {
			var left = key.getInt32();
			var right = key.getInt32();
			tmp = (left >>> 4 ^ right) & 252645135;
			right ^= tmp;
			left ^= tmp << 4;
			tmp = (right >>> -16 ^ left) & 65535;
			left ^= tmp;
			right ^= tmp << -16;
			tmp = (left >>> 2 ^ right) & 858993459;
			right ^= tmp;
			left ^= tmp << 2;
			tmp = (right >>> -16 ^ left) & 65535;
			left ^= tmp;
			right ^= tmp << -16;
			tmp = (left >>> 1 ^ right) & 1431655765;
			right ^= tmp;
			left ^= tmp << 1;
			tmp = (right >>> 8 ^ left) & 16711935;
			left ^= tmp;
			right ^= tmp << 8;
			tmp = (left >>> 1 ^ right) & 1431655765;
			right ^= tmp;
			left ^= tmp << 1;
			tmp = left << 8 | right >>> 20 & 240;
			left = right << 24 | right << 8 & 16711680 | right >>> 8 & 65280 | right >>> 24 & 240;
			right = tmp;
			for (var i = 0; i < shifts.length; ++i) {
				if (shifts[i]) {
					left = left << 2 | left >>> 26;
					right = right << 2 | right >>> 26;
				} else {
					left = left << 1 | left >>> 27;
					right = right << 1 | right >>> 27;
				}
				left &= -15;
				right &= -15;
				var lefttmp = pc2bytes0[left >>> 28] | pc2bytes1[left >>> 24 & 15] | pc2bytes2[left >>> 20 & 15] | pc2bytes3[left >>> 16 & 15] | pc2bytes4[left >>> 12 & 15] | pc2bytes5[left >>> 8 & 15] | pc2bytes6[left >>> 4 & 15];
				var righttmp = pc2bytes7[right >>> 28] | pc2bytes8[right >>> 24 & 15] | pc2bytes9[right >>> 20 & 15] | pc2bytes10[right >>> 16 & 15] | pc2bytes11[right >>> 12 & 15] | pc2bytes12[right >>> 8 & 15] | pc2bytes13[right >>> 4 & 15];
				tmp = (righttmp >>> 16 ^ lefttmp) & 65535;
				keys[n++] = lefttmp ^ tmp;
				keys[n++] = righttmp ^ tmp << 16;
			}
		}
		return keys;
	}
	/**
	* Updates a single block (1 byte) using DES. The update will either
	* encrypt or decrypt the block.
	*
	* @param keys the expanded keys.
	* @param input the input block (an array of 32-bit words).
	* @param output the updated output block.
	* @param decrypt true to decrypt the block, false to encrypt it.
	*/
	function _updateBlock(keys, input, output, decrypt) {
		var iterations = keys.length === 32 ? 3 : 9;
		var looping;
		if (iterations === 3) {
			looping = decrypt ? [
				30,
				-2,
				-2
			] : [
				0,
				32,
				2
			];
		} else {
			looping = decrypt ? [
				94,
				62,
				-2,
				32,
				64,
				2,
				30,
				-2,
				-2
			] : [
				0,
				32,
				2,
				62,
				30,
				-2,
				64,
				96,
				2
			];
		}
		var tmp;
		var left = input[0];
		var right = input[1];
		tmp = (left >>> 4 ^ right) & 252645135;
		right ^= tmp;
		left ^= tmp << 4;
		tmp = (left >>> 16 ^ right) & 65535;
		right ^= tmp;
		left ^= tmp << 16;
		tmp = (right >>> 2 ^ left) & 858993459;
		left ^= tmp;
		right ^= tmp << 2;
		tmp = (right >>> 8 ^ left) & 16711935;
		left ^= tmp;
		right ^= tmp << 8;
		tmp = (left >>> 1 ^ right) & 1431655765;
		right ^= tmp;
		left ^= tmp << 1;
		left = left << 1 | left >>> 31;
		right = right << 1 | right >>> 31;
		for (var j = 0; j < iterations; j += 3) {
			var endloop = looping[j + 1];
			var loopinc = looping[j + 2];
			for (var i = looping[j]; i != endloop; i += loopinc) {
				var right1 = right ^ keys[i];
				var right2 = (right >>> 4 | right << 28) ^ keys[i + 1];
				tmp = left;
				left = right;
				right = tmp ^ (spfunction2[right1 >>> 24 & 63] | spfunction4[right1 >>> 16 & 63] | spfunction6[right1 >>> 8 & 63] | spfunction8[right1 & 63] | spfunction1[right2 >>> 24 & 63] | spfunction3[right2 >>> 16 & 63] | spfunction5[right2 >>> 8 & 63] | spfunction7[right2 & 63]);
			}
			tmp = left;
			left = right;
			right = tmp;
		}
		left = left >>> 1 | left << 31;
		right = right >>> 1 | right << 31;
		tmp = (left >>> 1 ^ right) & 1431655765;
		right ^= tmp;
		left ^= tmp << 1;
		tmp = (right >>> 8 ^ left) & 16711935;
		left ^= tmp;
		right ^= tmp << 8;
		tmp = (right >>> 2 ^ left) & 858993459;
		left ^= tmp;
		right ^= tmp << 2;
		tmp = (left >>> 16 ^ right) & 65535;
		right ^= tmp;
		left ^= tmp << 16;
		tmp = (left >>> 4 ^ right) & 252645135;
		right ^= tmp;
		left ^= tmp << 4;
		output[0] = left;
		output[1] = right;
	}
	/**
	* Deprecated. Instead, use:
	*
	* forge.cipher.createCipher('DES-<mode>', key);
	* forge.cipher.createDecipher('DES-<mode>', key);
	*
	* Creates a deprecated DES cipher object. This object's mode will default to
	* CBC (cipher-block-chaining).
	*
	* The key may be given as a binary-encoded string of bytes or a byte buffer.
	*
	* @param options the options to use.
	*          key the symmetric key to use (64 or 192 bits).
	*          output the buffer to write to.
	*          decrypt true for decryption, false for encryption.
	*          mode the cipher mode to use (default: 'CBC').
	*
	* @return the cipher.
	*/
	function _createCipher(options) {
		options = options || {};
		var mode = (options.mode || "CBC").toUpperCase();
		var algorithm = "DES-" + mode;
		var cipher;
		if (options.decrypt) {
			cipher = forge.cipher.createDecipher(algorithm, options.key);
		} else {
			cipher = forge.cipher.createCipher(algorithm, options.key);
		}
		var start = cipher.start;
		cipher.start = function(iv, options) {
			var output = null;
			if (options instanceof forge.util.ByteBuffer) {
				output = options;
				options = {};
			}
			options = options || {};
			options.output = output;
			options.iv = iv;
			start.call(cipher, options);
		};
		return cipher;
	}
}));

//#endregion
//#region ../node_modules/node-forge/lib/pbkdf2.js
var require_pbkdf2$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Password-Based Key-Derivation Function #2 implementation.
	*
	* See RFC 2898 for details.
	*
	* @author Dave Longley
	*
	* Copyright (c) 2010-2013 Digital Bazaar, Inc.
	*/
	var forge = require_forge();
	require_hmac$1();
	require_md();
	require_util$8();
	var pkcs5 = forge.pkcs5 = forge.pkcs5 || {};
	var crypto;
	if (forge.util.isNodejs && !forge.options.usePureJavaScript) {
		crypto = __require("crypto");
	}
	/**
	* Derives a key from a password.
	*
	* @param p the password as a binary-encoded string of bytes.
	* @param s the salt as a binary-encoded string of bytes.
	* @param c the iteration count, a positive integer.
	* @param dkLen the intended length, in bytes, of the derived key,
	*          (max: 2^32 - 1) * hash length of the PRF.
	* @param [md] the message digest (or algorithm identifier as a string) to use
	*          in the PRF, defaults to SHA-1.
	* @param [callback(err, key)] presence triggers asynchronous version, called
	*          once the operation completes.
	*
	* @return the derived key, as a binary-encoded string of bytes, for the
	*           synchronous version (if no callback is specified).
	*/
	module.exports = forge.pbkdf2 = pkcs5.pbkdf2 = function(p, s, c, dkLen, md, callback) {
		if (typeof md === "function") {
			callback = md;
			md = null;
		}
		if (forge.util.isNodejs && !forge.options.usePureJavaScript && crypto.pbkdf2 && (md === null || typeof md !== "object") && (crypto.pbkdf2Sync.length > 4 || !md || md === "sha1")) {
			if (typeof md !== "string") {
				md = "sha1";
			}
			p = Buffer.from(p, "binary");
			s = Buffer.from(s, "binary");
			if (!callback) {
				if (crypto.pbkdf2Sync.length === 4) {
					return crypto.pbkdf2Sync(p, s, c, dkLen).toString("binary");
				}
				return crypto.pbkdf2Sync(p, s, c, dkLen, md).toString("binary");
			}
			if (crypto.pbkdf2Sync.length === 4) {
				return crypto.pbkdf2(p, s, c, dkLen, function(err, key) {
					if (err) {
						return callback(err);
					}
					callback(null, key.toString("binary"));
				});
			}
			return crypto.pbkdf2(p, s, c, dkLen, md, function(err, key) {
				if (err) {
					return callback(err);
				}
				callback(null, key.toString("binary"));
			});
		}
		if (typeof md === "undefined" || md === null) {
			md = "sha1";
		}
		if (typeof md === "string") {
			if (!(md in forge.md.algorithms)) {
				throw new Error("Unknown hash algorithm: " + md);
			}
			md = forge.md[md].create();
		}
		var hLen = md.digestLength;
		if (dkLen > 4294967295 * hLen) {
			var err = new Error("Derived key is too long.");
			if (callback) {
				return callback(err);
			}
			throw err;
		}
		var len = Math.ceil(dkLen / hLen);
		var r = dkLen - (len - 1) * hLen;
		var prf = forge.hmac.create();
		prf.start(md, p);
		var dk = "";
		var xor, u_c, u_c1;
		if (!callback) {
			for (var i = 1; i <= len; ++i) {
				prf.start(null, null);
				prf.update(s);
				prf.update(forge.util.int32ToBytes(i));
				xor = u_c1 = prf.digest().getBytes();
				for (var j = 2; j <= c; ++j) {
					prf.start(null, null);
					prf.update(u_c1);
					u_c = prf.digest().getBytes();
					xor = forge.util.xorBytes(xor, u_c, hLen);
					u_c1 = u_c;
				}
				dk += i < len ? xor : xor.substr(0, r);
			}
			return dk;
		}
		var i = 1, j;
		function outer() {
			if (i > len) {
				return callback(null, dk);
			}
			prf.start(null, null);
			prf.update(s);
			prf.update(forge.util.int32ToBytes(i));
			xor = u_c1 = prf.digest().getBytes();
			j = 2;
			inner();
		}
		function inner() {
			if (j <= c) {
				prf.start(null, null);
				prf.update(u_c1);
				u_c = prf.digest().getBytes();
				xor = forge.util.xorBytes(xor, u_c, hLen);
				u_c1 = u_c;
				++j;
				return forge.util.setImmediate(inner);
			}
			dk += i < len ? xor : xor.substr(0, r);
			++i;
			outer();
		}
		outer();
	};
}));

//#endregion
//#region ../node_modules/node-forge/lib/sha256.js
var require_sha256$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Secure Hash Algorithm with 256-bit digest (SHA-256) implementation.
	*
	* See FIPS 180-2 for details.
	*
	* @author Dave Longley
	*
	* Copyright (c) 2010-2015 Digital Bazaar, Inc.
	*/
	var forge = require_forge();
	require_md();
	require_util$8();
	var sha256 = module.exports = forge.sha256 = forge.sha256 || {};
	forge.md.sha256 = forge.md.algorithms.sha256 = sha256;
	/**
	* Creates a SHA-256 message digest object.
	*
	* @return a message digest object.
	*/
	sha256.create = function() {
		if (!_initialized) {
			_init();
		}
		var _state = null;
		var _input = forge.util.createBuffer();
		var _w = new Array(64);
		var md = {
			algorithm: "sha256",
			blockLength: 64,
			digestLength: 32,
			messageLength: 0,
			fullMessageLength: null,
			messageLengthSize: 8
		};
		/**
		* Starts the digest.
		*
		* @return this digest object.
		*/
		md.start = function() {
			md.messageLength = 0;
			md.fullMessageLength = md.messageLength64 = [];
			var int32s = md.messageLengthSize / 4;
			for (var i = 0; i < int32s; ++i) {
				md.fullMessageLength.push(0);
			}
			_input = forge.util.createBuffer();
			_state = {
				h0: 1779033703,
				h1: 3144134277,
				h2: 1013904242,
				h3: 2773480762,
				h4: 1359893119,
				h5: 2600822924,
				h6: 528734635,
				h7: 1541459225
			};
			return md;
		};
		md.start();
		/**
		* Updates the digest with the given message input. The given input can
		* treated as raw input (no encoding will be applied) or an encoding of
		* 'utf8' maybe given to encode the input using UTF-8.
		*
		* @param msg the message input to update with.
		* @param encoding the encoding to use (default: 'raw', other: 'utf8').
		*
		* @return this digest object.
		*/
		md.update = function(msg, encoding) {
			if (encoding === "utf8") {
				msg = forge.util.encodeUtf8(msg);
			}
			var len = msg.length;
			md.messageLength += len;
			len = [len / 4294967296 >>> 0, len >>> 0];
			for (var i = md.fullMessageLength.length - 1; i >= 0; --i) {
				md.fullMessageLength[i] += len[1];
				len[1] = len[0] + (md.fullMessageLength[i] / 4294967296 >>> 0);
				md.fullMessageLength[i] = md.fullMessageLength[i] >>> 0;
				len[0] = len[1] / 4294967296 >>> 0;
			}
			_input.putBytes(msg);
			_update(_state, _w, _input);
			if (_input.read > 2048 || _input.length() === 0) {
				_input.compact();
			}
			return md;
		};
		/**
		* Produces the digest.
		*
		* @return a byte buffer containing the digest value.
		*/
		md.digest = function() {
			var finalBlock = forge.util.createBuffer();
			finalBlock.putBytes(_input.bytes());
			var remaining = md.fullMessageLength[md.fullMessageLength.length - 1] + md.messageLengthSize;
			var overflow = remaining & md.blockLength - 1;
			finalBlock.putBytes(_padding.substr(0, md.blockLength - overflow));
			var next, carry;
			var bits = md.fullMessageLength[0] * 8;
			for (var i = 0; i < md.fullMessageLength.length - 1; ++i) {
				next = md.fullMessageLength[i + 1] * 8;
				carry = next / 4294967296 >>> 0;
				bits += carry;
				finalBlock.putInt32(bits >>> 0);
				bits = next >>> 0;
			}
			finalBlock.putInt32(bits);
			var s2 = {
				h0: _state.h0,
				h1: _state.h1,
				h2: _state.h2,
				h3: _state.h3,
				h4: _state.h4,
				h5: _state.h5,
				h6: _state.h6,
				h7: _state.h7
			};
			_update(s2, _w, finalBlock);
			var rval = forge.util.createBuffer();
			rval.putInt32(s2.h0);
			rval.putInt32(s2.h1);
			rval.putInt32(s2.h2);
			rval.putInt32(s2.h3);
			rval.putInt32(s2.h4);
			rval.putInt32(s2.h5);
			rval.putInt32(s2.h6);
			rval.putInt32(s2.h7);
			return rval;
		};
		return md;
	};
	var _padding = null;
	var _initialized = false;
	var _k = null;
	/**
	* Initializes the constant tables.
	*/
	function _init() {
		_padding = String.fromCharCode(128);
		_padding += forge.util.fillString(String.fromCharCode(0), 64);
		_k = [
			1116352408,
			1899447441,
			3049323471,
			3921009573,
			961987163,
			1508970993,
			2453635748,
			2870763221,
			3624381080,
			310598401,
			607225278,
			1426881987,
			1925078388,
			2162078206,
			2614888103,
			3248222580,
			3835390401,
			4022224774,
			264347078,
			604807628,
			770255983,
			1249150122,
			1555081692,
			1996064986,
			2554220882,
			2821834349,
			2952996808,
			3210313671,
			3336571891,
			3584528711,
			113926993,
			338241895,
			666307205,
			773529912,
			1294757372,
			1396182291,
			1695183700,
			1986661051,
			2177026350,
			2456956037,
			2730485921,
			2820302411,
			3259730800,
			3345764771,
			3516065817,
			3600352804,
			4094571909,
			275423344,
			430227734,
			506948616,
			659060556,
			883997877,
			958139571,
			1322822218,
			1537002063,
			1747873779,
			1955562222,
			2024104815,
			2227730452,
			2361852424,
			2428436474,
			2756734187,
			3204031479,
			3329325298
		];
		_initialized = true;
	}
	/**
	* Updates a SHA-256 state with the given byte buffer.
	*
	* @param s the SHA-256 state to update.
	* @param w the array to use to store words.
	* @param bytes the byte buffer to update with.
	*/
	function _update(s, w, bytes) {
		var t1, t2, s0, s1, ch, maj, i, a, b, c, d, e, f, g, h;
		var len = bytes.length();
		while (len >= 64) {
			for (i = 0; i < 16; ++i) {
				w[i] = bytes.getInt32();
			}
			for (; i < 64; ++i) {
				t1 = w[i - 2];
				t1 = (t1 >>> 17 | t1 << 15) ^ (t1 >>> 19 | t1 << 13) ^ t1 >>> 10;
				t2 = w[i - 15];
				t2 = (t2 >>> 7 | t2 << 25) ^ (t2 >>> 18 | t2 << 14) ^ t2 >>> 3;
				w[i] = t1 + w[i - 7] + t2 + w[i - 16] | 0;
			}
			a = s.h0;
			b = s.h1;
			c = s.h2;
			d = s.h3;
			e = s.h4;
			f = s.h5;
			g = s.h6;
			h = s.h7;
			for (i = 0; i < 64; ++i) {
				s1 = (e >>> 6 | e << 26) ^ (e >>> 11 | e << 21) ^ (e >>> 25 | e << 7);
				ch = g ^ e & (f ^ g);
				s0 = (a >>> 2 | a << 30) ^ (a >>> 13 | a << 19) ^ (a >>> 22 | a << 10);
				maj = a & b | c & (a ^ b);
				t1 = h + s1 + ch + _k[i] + w[i];
				t2 = s0 + maj;
				h = g;
				g = f;
				f = e;
				e = d + t1 >>> 0;
				d = c;
				c = b;
				b = a;
				a = t1 + t2 >>> 0;
			}
			s.h0 = s.h0 + a | 0;
			s.h1 = s.h1 + b | 0;
			s.h2 = s.h2 + c | 0;
			s.h3 = s.h3 + d | 0;
			s.h4 = s.h4 + e | 0;
			s.h5 = s.h5 + f | 0;
			s.h6 = s.h6 + g | 0;
			s.h7 = s.h7 + h | 0;
			len -= 64;
		}
	}
}));

//#endregion
//#region ../node_modules/node-forge/lib/prng.js
var require_prng = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* A javascript implementation of a cryptographically-secure
	* Pseudo Random Number Generator (PRNG). The Fortuna algorithm is followed
	* here though the use of SHA-256 is not enforced; when generating an
	* a PRNG context, the hashing algorithm and block cipher used for
	* the generator are specified via a plugin.
	*
	* @author Dave Longley
	*
	* Copyright (c) 2010-2014 Digital Bazaar, Inc.
	*/
	var forge = require_forge();
	require_util$8();
	var _crypto = null;
	if (forge.util.isNodejs && !forge.options.usePureJavaScript && !process.versions["node-webkit"]) {
		_crypto = __require("crypto");
	}
	var prng = module.exports = forge.prng = forge.prng || {};
	/**
	* Creates a new PRNG context.
	*
	* A PRNG plugin must be passed in that will provide:
	*
	* 1. A function that initializes the key and seed of a PRNG context. It
	*   will be given a 16 byte key and a 16 byte seed. Any key expansion
	*   or transformation of the seed from a byte string into an array of
	*   integers (or similar) should be performed.
	* 2. The cryptographic function used by the generator. It takes a key and
	*   a seed.
	* 3. A seed increment function. It takes the seed and returns seed + 1.
	* 4. An api to create a message digest.
	*
	* For an example, see random.js.
	*
	* @param plugin the PRNG plugin to use.
	*/
	prng.create = function(plugin) {
		var ctx = {
			plugin,
			key: null,
			seed: null,
			time: null,
			reseeds: 0,
			generated: 0,
			keyBytes: ""
		};
		var md = plugin.md;
		var pools = new Array(32);
		for (var i = 0; i < 32; ++i) {
			pools[i] = md.create();
		}
		ctx.pools = pools;
		ctx.pool = 0;
		/**
		* Generates random bytes. The bytes may be generated synchronously or
		* asynchronously. Web workers must use the asynchronous interface or
		* else the behavior is undefined.
		*
		* @param count the number of random bytes to generate.
		* @param [callback(err, bytes)] called once the operation completes.
		*
		* @return count random bytes as a string.
		*/
		ctx.generate = function(count, callback) {
			if (!callback) {
				return ctx.generateSync(count);
			}
			var cipher = ctx.plugin.cipher;
			var increment = ctx.plugin.increment;
			var formatKey = ctx.plugin.formatKey;
			var formatSeed = ctx.plugin.formatSeed;
			var b = forge.util.createBuffer();
			ctx.key = null;
			generate();
			function generate(err) {
				if (err) {
					return callback(err);
				}
				if (b.length() >= count) {
					return callback(null, b.getBytes(count));
				}
				if (ctx.generated > 1048575) {
					ctx.key = null;
				}
				if (ctx.key === null) {
					return forge.util.nextTick(function() {
						_reseed(generate);
					});
				}
				var bytes = cipher(ctx.key, ctx.seed);
				ctx.generated += bytes.length;
				b.putBytes(bytes);
				ctx.key = formatKey(cipher(ctx.key, increment(ctx.seed)));
				ctx.seed = formatSeed(cipher(ctx.key, ctx.seed));
				forge.util.setImmediate(generate);
			}
		};
		/**
		* Generates random bytes synchronously.
		*
		* @param count the number of random bytes to generate.
		*
		* @return count random bytes as a string.
		*/
		ctx.generateSync = function(count) {
			var cipher = ctx.plugin.cipher;
			var increment = ctx.plugin.increment;
			var formatKey = ctx.plugin.formatKey;
			var formatSeed = ctx.plugin.formatSeed;
			ctx.key = null;
			var b = forge.util.createBuffer();
			while (b.length() < count) {
				if (ctx.generated > 1048575) {
					ctx.key = null;
				}
				if (ctx.key === null) {
					_reseedSync();
				}
				var bytes = cipher(ctx.key, ctx.seed);
				ctx.generated += bytes.length;
				b.putBytes(bytes);
				ctx.key = formatKey(cipher(ctx.key, increment(ctx.seed)));
				ctx.seed = formatSeed(cipher(ctx.key, ctx.seed));
			}
			return b.getBytes(count);
		};
		/**
		* Private function that asynchronously reseeds a generator.
		*
		* @param callback(err) called once the operation completes.
		*/
		function _reseed(callback) {
			if (ctx.pools[0].messageLength >= 32) {
				_seed();
				return callback();
			}
			var needed = 32 - ctx.pools[0].messageLength << 5;
			ctx.seedFile(needed, function(err, bytes) {
				if (err) {
					return callback(err);
				}
				ctx.collect(bytes);
				_seed();
				callback();
			});
		}
		/**
		* Private function that synchronously reseeds a generator.
		*/
		function _reseedSync() {
			if (ctx.pools[0].messageLength >= 32) {
				return _seed();
			}
			var needed = 32 - ctx.pools[0].messageLength << 5;
			ctx.collect(ctx.seedFileSync(needed));
			_seed();
		}
		/**
		* Private function that seeds a generator once enough bytes are available.
		*/
		function _seed() {
			ctx.reseeds = ctx.reseeds === 4294967295 ? 0 : ctx.reseeds + 1;
			var md = ctx.plugin.md.create();
			md.update(ctx.keyBytes);
			var _2powK = 1;
			for (var k = 0; k < 32; ++k) {
				if (ctx.reseeds % _2powK === 0) {
					md.update(ctx.pools[k].digest().getBytes());
					ctx.pools[k].start();
				}
				_2powK = _2powK << 1;
			}
			ctx.keyBytes = md.digest().getBytes();
			md.start();
			md.update(ctx.keyBytes);
			var seedBytes = md.digest().getBytes();
			ctx.key = ctx.plugin.formatKey(ctx.keyBytes);
			ctx.seed = ctx.plugin.formatSeed(seedBytes);
			ctx.generated = 0;
		}
		/**
		* The built-in default seedFile. This seedFile is used when entropy
		* is needed immediately.
		*
		* @param needed the number of bytes that are needed.
		*
		* @return the random bytes.
		*/
		function defaultSeedFile(needed) {
			var getRandomValues = null;
			var globalScope = forge.util.globalScope;
			var _crypto = globalScope.crypto || globalScope.msCrypto;
			if (_crypto && _crypto.getRandomValues) {
				getRandomValues = function(arr) {
					return _crypto.getRandomValues(arr);
				};
			}
			var b = forge.util.createBuffer();
			if (getRandomValues) {
				while (b.length() < needed) {
					var count = Math.max(1, Math.min(needed - b.length(), 65536) / 4);
					var entropy = new Uint32Array(Math.floor(count));
					try {
						getRandomValues(entropy);
						for (var i = 0; i < entropy.length; ++i) {
							b.putInt32(entropy[i]);
						}
					} catch (e) {
						if (!(typeof QuotaExceededError !== "undefined" && e instanceof QuotaExceededError)) {
							throw e;
						}
					}
				}
			}
			if (b.length() < needed) {
				var hi, lo, next;
				var seed = Math.floor(Math.random() * 65536);
				while (b.length() < needed) {
					lo = 16807 * (seed & 65535);
					hi = 16807 * (seed >> 16);
					lo += (hi & 32767) << 16;
					lo += hi >> 15;
					lo = (lo & 2147483647) + (lo >> 31);
					seed = lo & 4294967295;
					for (var i = 0; i < 3; ++i) {
						next = seed >>> (i << 3);
						next ^= Math.floor(Math.random() * 256);
						b.putByte(next & 255);
					}
				}
			}
			return b.getBytes(needed);
		}
		if (_crypto) {
			ctx.seedFile = function(needed, callback) {
				_crypto.randomBytes(needed, function(err, bytes) {
					if (err) {
						return callback(err);
					}
					callback(null, bytes.toString());
				});
			};
			ctx.seedFileSync = function(needed) {
				return _crypto.randomBytes(needed).toString();
			};
		} else {
			ctx.seedFile = function(needed, callback) {
				try {
					callback(null, defaultSeedFile(needed));
				} catch (e) {
					callback(e);
				}
			};
			ctx.seedFileSync = defaultSeedFile;
		}
		/**
		* Adds entropy to a prng ctx's accumulator.
		*
		* @param bytes the bytes of entropy as a string.
		*/
		ctx.collect = function(bytes) {
			var count = bytes.length;
			for (var i = 0; i < count; ++i) {
				ctx.pools[ctx.pool].update(bytes.substr(i, 1));
				ctx.pool = ctx.pool === 31 ? 0 : ctx.pool + 1;
			}
		};
		/**
		* Collects an integer of n bits.
		*
		* @param i the integer entropy.
		* @param n the number of bits in the integer.
		*/
		ctx.collectInt = function(i, n) {
			var bytes = "";
			for (var x = 0; x < n; x += 8) {
				bytes += String.fromCharCode(i >> x & 255);
			}
			ctx.collect(bytes);
		};
		/**
		* Registers a Web Worker to receive immediate entropy from the main thread.
		* This method is required until Web Workers can access the native crypto
		* API. This method should be called twice for each created worker, once in
		* the main thread, and once in the worker itself.
		*
		* @param worker the worker to register.
		*/
		ctx.registerWorker = function(worker) {
			if (worker === self) {
				ctx.seedFile = function(needed, callback) {
					function listener(e) {
						var data = e.data;
						if (data.forge && data.forge.prng) {
							self.removeEventListener("message", listener);
							callback(data.forge.prng.err, data.forge.prng.bytes);
						}
					}
					self.addEventListener("message", listener);
					self.postMessage({ forge: { prng: { needed } } });
				};
			} else {
				var listener = function(e) {
					var data = e.data;
					if (data.forge && data.forge.prng) {
						ctx.seedFile(data.forge.prng.needed, function(err, bytes) {
							worker.postMessage({ forge: { prng: {
								err,
								bytes
							} } });
						});
					}
				};
				worker.addEventListener("message", listener);
			}
		};
		return ctx;
	};
}));

//#endregion
//#region ../node_modules/node-forge/lib/random.js
var require_random = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* An API for getting cryptographically-secure random bytes. The bytes are
	* generated using the Fortuna algorithm devised by Bruce Schneier and
	* Niels Ferguson.
	*
	* Getting strong random bytes is not yet easy to do in javascript. The only
	* truish random entropy that can be collected is from the mouse, keyboard, or
	* from timing with respect to page loads, etc. This generator makes a poor
	* attempt at providing random bytes when those sources haven't yet provided
	* enough entropy to initially seed or to reseed the PRNG.
	*
	* @author Dave Longley
	*
	* Copyright (c) 2009-2014 Digital Bazaar, Inc.
	*/
	var forge = require_forge();
	require_aes$1();
	require_sha256$1();
	require_prng();
	require_util$8();
	(function() {
		if (forge.random && forge.random.getBytes) {
			module.exports = forge.random;
			return;
		}
		(function(jQuery) {
			var prng_aes = {};
			var _prng_aes_output = new Array(4);
			var _prng_aes_buffer = forge.util.createBuffer();
			prng_aes.formatKey = function(key) {
				var tmp = forge.util.createBuffer(key);
				key = new Array(4);
				key[0] = tmp.getInt32();
				key[1] = tmp.getInt32();
				key[2] = tmp.getInt32();
				key[3] = tmp.getInt32();
				return forge.aes._expandKey(key, false);
			};
			prng_aes.formatSeed = function(seed) {
				var tmp = forge.util.createBuffer(seed);
				seed = new Array(4);
				seed[0] = tmp.getInt32();
				seed[1] = tmp.getInt32();
				seed[2] = tmp.getInt32();
				seed[3] = tmp.getInt32();
				return seed;
			};
			prng_aes.cipher = function(key, seed) {
				forge.aes._updateBlock(key, seed, _prng_aes_output, false);
				_prng_aes_buffer.putInt32(_prng_aes_output[0]);
				_prng_aes_buffer.putInt32(_prng_aes_output[1]);
				_prng_aes_buffer.putInt32(_prng_aes_output[2]);
				_prng_aes_buffer.putInt32(_prng_aes_output[3]);
				return _prng_aes_buffer.getBytes();
			};
			prng_aes.increment = function(seed) {
				++seed[3];
				return seed;
			};
			prng_aes.md = forge.md.sha256;
			/**
			* Creates a new PRNG.
			*/
			function spawnPrng() {
				var ctx = forge.prng.create(prng_aes);
				/**
				* Gets random bytes. If a native secure crypto API is unavailable, this
				* method tries to make the bytes more unpredictable by drawing from data that
				* can be collected from the user of the browser, eg: mouse movement.
				*
				* If a callback is given, this method will be called asynchronously.
				*
				* @param count the number of random bytes to get.
				* @param [callback(err, bytes)] called once the operation completes.
				*
				* @return the random bytes in a string.
				*/
				ctx.getBytes = function(count, callback) {
					return ctx.generate(count, callback);
				};
				/**
				* Gets random bytes asynchronously. If a native secure crypto API is
				* unavailable, this method tries to make the bytes more unpredictable by
				* drawing from data that can be collected from the user of the browser,
				* eg: mouse movement.
				*
				* @param count the number of random bytes to get.
				*
				* @return the random bytes in a string.
				*/
				ctx.getBytesSync = function(count) {
					return ctx.generate(count);
				};
				return ctx;
			}
			var _ctx = spawnPrng();
			var getRandomValues = null;
			var globalScope = forge.util.globalScope;
			var _crypto = globalScope.crypto || globalScope.msCrypto;
			if (_crypto && _crypto.getRandomValues) {
				getRandomValues = function(arr) {
					return _crypto.getRandomValues(arr);
				};
			}
			if (forge.options.usePureJavaScript || !forge.util.isNodejs && !getRandomValues) {
				if (typeof window === "undefined" || window.document === undefined) {}
				_ctx.collectInt(+new Date(), 32);
				if (typeof navigator !== "undefined") {
					var _navBytes = "";
					for (var key in navigator) {
						try {
							if (typeof navigator[key] == "string") {
								_navBytes += navigator[key];
							}
						} catch (e) {}
					}
					_ctx.collect(_navBytes);
					_navBytes = null;
				}
				if (jQuery) {
					jQuery().mousemove(function(e) {
						_ctx.collectInt(e.clientX, 16);
						_ctx.collectInt(e.clientY, 16);
					});
					jQuery().keypress(function(e) {
						_ctx.collectInt(e.charCode, 8);
					});
				}
			}
			if (!forge.random) {
				forge.random = _ctx;
			} else {
				for (var key in _ctx) {
					forge.random[key] = _ctx[key];
				}
			}
			forge.random.createInstance = spawnPrng;
			module.exports = forge.random;
		})(typeof jQuery !== "undefined" ? jQuery : null);
	})();
}));

//#endregion
//#region ../node_modules/node-forge/lib/rc2.js
var require_rc2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* RC2 implementation.
	*
	* @author Stefan Siegl
	*
	* Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
	*
	* Information on the RC2 cipher is available from RFC #2268,
	* http://www.ietf.org/rfc/rfc2268.txt
	*/
	var forge = require_forge();
	require_util$8();
	var piTable = [
		217,
		120,
		249,
		196,
		25,
		221,
		181,
		237,
		40,
		233,
		253,
		121,
		74,
		160,
		216,
		157,
		198,
		126,
		55,
		131,
		43,
		118,
		83,
		142,
		98,
		76,
		100,
		136,
		68,
		139,
		251,
		162,
		23,
		154,
		89,
		245,
		135,
		179,
		79,
		19,
		97,
		69,
		109,
		141,
		9,
		129,
		125,
		50,
		189,
		143,
		64,
		235,
		134,
		183,
		123,
		11,
		240,
		149,
		33,
		34,
		92,
		107,
		78,
		130,
		84,
		214,
		101,
		147,
		206,
		96,
		178,
		28,
		115,
		86,
		192,
		20,
		167,
		140,
		241,
		220,
		18,
		117,
		202,
		31,
		59,
		190,
		228,
		209,
		66,
		61,
		212,
		48,
		163,
		60,
		182,
		38,
		111,
		191,
		14,
		218,
		70,
		105,
		7,
		87,
		39,
		242,
		29,
		155,
		188,
		148,
		67,
		3,
		248,
		17,
		199,
		246,
		144,
		239,
		62,
		231,
		6,
		195,
		213,
		47,
		200,
		102,
		30,
		215,
		8,
		232,
		234,
		222,
		128,
		82,
		238,
		247,
		132,
		170,
		114,
		172,
		53,
		77,
		106,
		42,
		150,
		26,
		210,
		113,
		90,
		21,
		73,
		116,
		75,
		159,
		208,
		94,
		4,
		24,
		164,
		236,
		194,
		224,
		65,
		110,
		15,
		81,
		203,
		204,
		36,
		145,
		175,
		80,
		161,
		244,
		112,
		57,
		153,
		124,
		58,
		133,
		35,
		184,
		180,
		122,
		252,
		2,
		54,
		91,
		37,
		85,
		151,
		49,
		45,
		93,
		250,
		152,
		227,
		138,
		146,
		174,
		5,
		223,
		41,
		16,
		103,
		108,
		186,
		201,
		211,
		0,
		230,
		207,
		225,
		158,
		168,
		44,
		99,
		22,
		1,
		63,
		88,
		226,
		137,
		169,
		13,
		56,
		52,
		27,
		171,
		51,
		255,
		176,
		187,
		72,
		12,
		95,
		185,
		177,
		205,
		46,
		197,
		243,
		219,
		71,
		229,
		165,
		156,
		119,
		10,
		166,
		32,
		104,
		254,
		127,
		193,
		173
	];
	var s = [
		1,
		2,
		3,
		5
	];
	/**
	* Rotate a word left by given number of bits.
	*
	* Bits that are shifted out on the left are put back in on the right
	* hand side.
	*
	* @param word The word to shift left.
	* @param bits The number of bits to shift by.
	* @return The rotated word.
	*/
	var rol = function(word, bits) {
		return word << bits & 65535 | (word & 65535) >> 16 - bits;
	};
	/**
	* Rotate a word right by given number of bits.
	*
	* Bits that are shifted out on the right are put back in on the left
	* hand side.
	*
	* @param word The word to shift right.
	* @param bits The number of bits to shift by.
	* @return The rotated word.
	*/
	var ror = function(word, bits) {
		return (word & 65535) >> bits | word << 16 - bits & 65535;
	};
	module.exports = forge.rc2 = forge.rc2 || {};
	/**
	* Perform RC2 key expansion as per RFC #2268, section 2.
	*
	* @param key variable-length user key (between 1 and 128 bytes)
	* @param effKeyBits number of effective key bits (default: 128)
	* @return the expanded RC2 key (ByteBuffer of 128 bytes)
	*/
	forge.rc2.expandKey = function(key, effKeyBits) {
		if (typeof key === "string") {
			key = forge.util.createBuffer(key);
		}
		effKeyBits = effKeyBits || 128;
		var L = key;
		var T = key.length();
		var T1 = effKeyBits;
		var T8 = Math.ceil(T1 / 8);
		var TM = 255 >> (T1 & 7);
		var i;
		for (i = T; i < 128; i++) {
			L.putByte(piTable[L.at(i - 1) + L.at(i - T) & 255]);
		}
		L.setAt(128 - T8, piTable[L.at(128 - T8) & TM]);
		for (i = 127 - T8; i >= 0; i--) {
			L.setAt(i, piTable[L.at(i + 1) ^ L.at(i + T8)]);
		}
		return L;
	};
	/**
	* Creates a RC2 cipher object.
	*
	* @param key the symmetric key to use (as base for key generation).
	* @param bits the number of effective key bits.
	* @param encrypt false for decryption, true for encryption.
	*
	* @return the cipher.
	*/
	var createCipher = function(key, bits, encrypt) {
		var _finish = false, _input = null, _output = null, _iv = null;
		var mixRound, mashRound;
		var i, j, K = [];
		key = forge.rc2.expandKey(key, bits);
		for (i = 0; i < 64; i++) {
			K.push(key.getInt16Le());
		}
		if (encrypt) {
			/**
			* Perform one mixing round "in place".
			*
			* @param R Array of four words to perform mixing on.
			*/
			mixRound = function(R) {
				for (i = 0; i < 4; i++) {
					R[i] += K[j] + (R[(i + 3) % 4] & R[(i + 2) % 4]) + (~R[(i + 3) % 4] & R[(i + 1) % 4]);
					R[i] = rol(R[i], s[i]);
					j++;
				}
			};
			/**
			* Perform one mashing round "in place".
			*
			* @param R Array of four words to perform mashing on.
			*/
			mashRound = function(R) {
				for (i = 0; i < 4; i++) {
					R[i] += K[R[(i + 3) % 4] & 63];
				}
			};
		} else {
			/**
			* Perform one r-mixing round "in place".
			*
			* @param R Array of four words to perform mixing on.
			*/
			mixRound = function(R) {
				for (i = 3; i >= 0; i--) {
					R[i] = ror(R[i], s[i]);
					R[i] -= K[j] + (R[(i + 3) % 4] & R[(i + 2) % 4]) + (~R[(i + 3) % 4] & R[(i + 1) % 4]);
					j--;
				}
			};
			/**
			* Perform one r-mashing round "in place".
			*
			* @param R Array of four words to perform mashing on.
			*/
			mashRound = function(R) {
				for (i = 3; i >= 0; i--) {
					R[i] -= K[R[(i + 3) % 4] & 63];
				}
			};
		}
		/**
		* Run the specified cipher execution plan.
		*
		* This function takes four words from the input buffer, applies the IV on
		* it (if requested) and runs the provided execution plan.
		*
		* The plan must be put together in form of a array of arrays.  Where the
		* outer one is simply a list of steps to perform and the inner one needs
		* to have two elements: the first one telling how many rounds to perform,
		* the second one telling what to do (i.e. the function to call).
		*
		* @param {Array} plan The plan to execute.
		*/
		var runPlan = function(plan) {
			var R = [];
			for (i = 0; i < 4; i++) {
				var val = _input.getInt16Le();
				if (_iv !== null) {
					if (encrypt) {
						val ^= _iv.getInt16Le();
					} else {
						_iv.putInt16Le(val);
					}
				}
				R.push(val & 65535);
			}
			j = encrypt ? 0 : 63;
			for (var ptr = 0; ptr < plan.length; ptr++) {
				for (var ctr = 0; ctr < plan[ptr][0]; ctr++) {
					plan[ptr][1](R);
				}
			}
			for (i = 0; i < 4; i++) {
				if (_iv !== null) {
					if (encrypt) {
						_iv.putInt16Le(R[i]);
					} else {
						R[i] ^= _iv.getInt16Le();
					}
				}
				_output.putInt16Le(R[i]);
			}
		};
		var cipher = null;
		cipher = {
			start: function(iv, output) {
				if (iv) {
					if (typeof iv === "string") {
						iv = forge.util.createBuffer(iv);
					}
				}
				_finish = false;
				_input = forge.util.createBuffer();
				_output = output || new forge.util.createBuffer();
				_iv = iv;
				cipher.output = _output;
			},
			update: function(input) {
				if (!_finish) {
					_input.putBuffer(input);
				}
				while (_input.length() >= 8) {
					runPlan([
						[5, mixRound],
						[1, mashRound],
						[6, mixRound],
						[1, mashRound],
						[5, mixRound]
					]);
				}
			},
			finish: function(pad) {
				var rval = true;
				if (encrypt) {
					if (pad) {
						rval = pad(8, _input, !encrypt);
					} else {
						var padding = _input.length() === 8 ? 8 : 8 - _input.length();
						_input.fillWithByte(padding, padding);
					}
				}
				if (rval) {
					_finish = true;
					cipher.update();
				}
				if (!encrypt) {
					rval = _input.length() === 0;
					if (rval) {
						if (pad) {
							rval = pad(8, _output, !encrypt);
						} else {
							var len = _output.length();
							var count = _output.at(len - 1);
							if (count > len) {
								rval = false;
							} else {
								_output.truncate(count);
							}
						}
					}
				}
				return rval;
			}
		};
		return cipher;
	};
	/**
	* Creates an RC2 cipher object to encrypt data in ECB or CBC mode using the
	* given symmetric key. The output will be stored in the 'output' member
	* of the returned cipher.
	*
	* The key and iv may be given as a string of bytes or a byte buffer.
	* The cipher is initialized to use 128 effective key bits.
	*
	* @param key the symmetric key to use.
	* @param iv the initialization vector to use.
	* @param output the buffer to write to, null to create one.
	*
	* @return the cipher.
	*/
	forge.rc2.startEncrypting = function(key, iv, output) {
		var cipher = forge.rc2.createEncryptionCipher(key, 128);
		cipher.start(iv, output);
		return cipher;
	};
	/**
	* Creates an RC2 cipher object to encrypt data in ECB or CBC mode using the
	* given symmetric key.
	*
	* The key may be given as a string of bytes or a byte buffer.
	*
	* To start encrypting call start() on the cipher with an iv and optional
	* output buffer.
	*
	* @param key the symmetric key to use.
	*
	* @return the cipher.
	*/
	forge.rc2.createEncryptionCipher = function(key, bits) {
		return createCipher(key, bits, true);
	};
	/**
	* Creates an RC2 cipher object to decrypt data in ECB or CBC mode using the
	* given symmetric key. The output will be stored in the 'output' member
	* of the returned cipher.
	*
	* The key and iv may be given as a string of bytes or a byte buffer.
	* The cipher is initialized to use 128 effective key bits.
	*
	* @param key the symmetric key to use.
	* @param iv the initialization vector to use.
	* @param output the buffer to write to, null to create one.
	*
	* @return the cipher.
	*/
	forge.rc2.startDecrypting = function(key, iv, output) {
		var cipher = forge.rc2.createDecryptionCipher(key, 128);
		cipher.start(iv, output);
		return cipher;
	};
	/**
	* Creates an RC2 cipher object to decrypt data in ECB or CBC mode using the
	* given symmetric key.
	*
	* The key may be given as a string of bytes or a byte buffer.
	*
	* To start decrypting call start() on the cipher with an iv and optional
	* output buffer.
	*
	* @param key the symmetric key to use.
	*
	* @return the cipher.
	*/
	forge.rc2.createDecryptionCipher = function(key, bits) {
		return createCipher(key, bits, false);
	};
}));

//#endregion
//#region ../node_modules/node-forge/lib/jsbn.js
var require_jsbn = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var forge = require_forge();
	module.exports = forge.jsbn = forge.jsbn || {};
	var dbits;
	var canary = 0xdeadbeefcafe;
	var j_lm = (canary & 16777215) == 15715070;
	function BigInteger(a, b, c) {
		this.data = [];
		if (a != null) if ("number" == typeof a) this.fromNumber(a, b, c);
		else if (b == null && "string" != typeof a) this.fromString(a, 256);
		else this.fromString(a, b);
	}
	forge.jsbn.BigInteger = BigInteger;
	function nbi() {
		return new BigInteger(null);
	}
	function am1(i, x, w, j, c, n) {
		while (--n >= 0) {
			var v = x * this.data[i++] + w.data[j] + c;
			c = Math.floor(v / 67108864);
			w.data[j++] = v & 67108863;
		}
		return c;
	}
	function am2(i, x, w, j, c, n) {
		var xl = x & 32767, xh = x >> 15;
		while (--n >= 0) {
			var l = this.data[i] & 32767;
			var h = this.data[i++] >> 15;
			var m = xh * l + h * xl;
			l = xl * l + ((m & 32767) << 15) + w.data[j] + (c & 1073741823);
			c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30);
			w.data[j++] = l & 1073741823;
		}
		return c;
	}
	function am3(i, x, w, j, c, n) {
		var xl = x & 16383, xh = x >> 14;
		while (--n >= 0) {
			var l = this.data[i] & 16383;
			var h = this.data[i++] >> 14;
			var m = xh * l + h * xl;
			l = xl * l + ((m & 16383) << 14) + w.data[j] + c;
			c = (l >> 28) + (m >> 14) + xh * h;
			w.data[j++] = l & 268435455;
		}
		return c;
	}
	if (typeof navigator === "undefined") {
		BigInteger.prototype.am = am3;
		dbits = 28;
	} else if (j_lm && navigator.appName == "Microsoft Internet Explorer") {
		BigInteger.prototype.am = am2;
		dbits = 30;
	} else if (j_lm && navigator.appName != "Netscape") {
		BigInteger.prototype.am = am1;
		dbits = 26;
	} else {
		BigInteger.prototype.am = am3;
		dbits = 28;
	}
	BigInteger.prototype.DB = dbits;
	BigInteger.prototype.DM = (1 << dbits) - 1;
	BigInteger.prototype.DV = 1 << dbits;
	var BI_FP = 52;
	BigInteger.prototype.FV = Math.pow(2, BI_FP);
	BigInteger.prototype.F1 = BI_FP - dbits;
	BigInteger.prototype.F2 = 2 * dbits - BI_FP;
	var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz";
	var BI_RC = new Array();
	var rr, vv;
	rr = "0".charCodeAt(0);
	for (vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv;
	rr = "a".charCodeAt(0);
	for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
	rr = "A".charCodeAt(0);
	for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
	function int2char(n) {
		return BI_RM.charAt(n);
	}
	function intAt(s, i) {
		var c = BI_RC[s.charCodeAt(i)];
		return c == null ? -1 : c;
	}
	function bnpCopyTo(r) {
		for (var i = this.t - 1; i >= 0; --i) r.data[i] = this.data[i];
		r.t = this.t;
		r.s = this.s;
	}
	function bnpFromInt(x) {
		this.t = 1;
		this.s = x < 0 ? -1 : 0;
		if (x > 0) this.data[0] = x;
		else if (x < -1) this.data[0] = x + this.DV;
		else this.t = 0;
	}
	function nbv(i) {
		var r = nbi();
		r.fromInt(i);
		return r;
	}
	function bnpFromString(s, b) {
		var k;
		if (b == 16) k = 4;
		else if (b == 8) k = 3;
		else if (b == 256) k = 8;
		else if (b == 2) k = 1;
		else if (b == 32) k = 5;
		else if (b == 4) k = 2;
		else {
			this.fromRadix(s, b);
			return;
		}
		this.t = 0;
		this.s = 0;
		var i = s.length, mi = false, sh = 0;
		while (--i >= 0) {
			var x = k == 8 ? s[i] & 255 : intAt(s, i);
			if (x < 0) {
				if (s.charAt(i) == "-") mi = true;
				continue;
			}
			mi = false;
			if (sh == 0) this.data[this.t++] = x;
			else if (sh + k > this.DB) {
				this.data[this.t - 1] |= (x & (1 << this.DB - sh) - 1) << sh;
				this.data[this.t++] = x >> this.DB - sh;
			} else this.data[this.t - 1] |= x << sh;
			sh += k;
			if (sh >= this.DB) sh -= this.DB;
		}
		if (k == 8 && (s[0] & 128) != 0) {
			this.s = -1;
			if (sh > 0) this.data[this.t - 1] |= (1 << this.DB - sh) - 1 << sh;
		}
		this.clamp();
		if (mi) BigInteger.ZERO.subTo(this, this);
	}
	function bnpClamp() {
		var c = this.s & this.DM;
		while (this.t > 0 && this.data[this.t - 1] == c) --this.t;
	}
	function bnToString(b) {
		if (this.s < 0) return "-" + this.negate().toString(b);
		var k;
		if (b == 16) k = 4;
		else if (b == 8) k = 3;
		else if (b == 2) k = 1;
		else if (b == 32) k = 5;
		else if (b == 4) k = 2;
		else return this.toRadix(b);
		var km = (1 << k) - 1, d, m = false, r = "", i = this.t;
		var p = this.DB - i * this.DB % k;
		if (i-- > 0) {
			if (p < this.DB && (d = this.data[i] >> p) > 0) {
				m = true;
				r = int2char(d);
			}
			while (i >= 0) {
				if (p < k) {
					d = (this.data[i] & (1 << p) - 1) << k - p;
					d |= this.data[--i] >> (p += this.DB - k);
				} else {
					d = this.data[i] >> (p -= k) & km;
					if (p <= 0) {
						p += this.DB;
						--i;
					}
				}
				if (d > 0) m = true;
				if (m) r += int2char(d);
			}
		}
		return m ? r : "0";
	}
	function bnNegate() {
		var r = nbi();
		BigInteger.ZERO.subTo(this, r);
		return r;
	}
	function bnAbs() {
		return this.s < 0 ? this.negate() : this;
	}
	function bnCompareTo(a) {
		var r = this.s - a.s;
		if (r != 0) return r;
		var i = this.t;
		r = i - a.t;
		if (r != 0) return this.s < 0 ? -r : r;
		while (--i >= 0) if ((r = this.data[i] - a.data[i]) != 0) return r;
		return 0;
	}
	function nbits(x) {
		var r = 1, t;
		if ((t = x >>> 16) != 0) {
			x = t;
			r += 16;
		}
		if ((t = x >> 8) != 0) {
			x = t;
			r += 8;
		}
		if ((t = x >> 4) != 0) {
			x = t;
			r += 4;
		}
		if ((t = x >> 2) != 0) {
			x = t;
			r += 2;
		}
		if ((t = x >> 1) != 0) {
			x = t;
			r += 1;
		}
		return r;
	}
	function bnBitLength() {
		if (this.t <= 0) return 0;
		return this.DB * (this.t - 1) + nbits(this.data[this.t - 1] ^ this.s & this.DM);
	}
	function bnpDLShiftTo(n, r) {
		var i;
		for (i = this.t - 1; i >= 0; --i) r.data[i + n] = this.data[i];
		for (i = n - 1; i >= 0; --i) r.data[i] = 0;
		r.t = this.t + n;
		r.s = this.s;
	}
	function bnpDRShiftTo(n, r) {
		for (var i = n; i < this.t; ++i) r.data[i - n] = this.data[i];
		r.t = Math.max(this.t - n, 0);
		r.s = this.s;
	}
	function bnpLShiftTo(n, r) {
		var bs = n % this.DB;
		var cbs = this.DB - bs;
		var bm = (1 << cbs) - 1;
		var ds = Math.floor(n / this.DB), c = this.s << bs & this.DM, i;
		for (i = this.t - 1; i >= 0; --i) {
			r.data[i + ds + 1] = this.data[i] >> cbs | c;
			c = (this.data[i] & bm) << bs;
		}
		for (i = ds - 1; i >= 0; --i) r.data[i] = 0;
		r.data[ds] = c;
		r.t = this.t + ds + 1;
		r.s = this.s;
		r.clamp();
	}
	function bnpRShiftTo(n, r) {
		r.s = this.s;
		var ds = Math.floor(n / this.DB);
		if (ds >= this.t) {
			r.t = 0;
			return;
		}
		var bs = n % this.DB;
		var cbs = this.DB - bs;
		var bm = (1 << bs) - 1;
		r.data[0] = this.data[ds] >> bs;
		for (var i = ds + 1; i < this.t; ++i) {
			r.data[i - ds - 1] |= (this.data[i] & bm) << cbs;
			r.data[i - ds] = this.data[i] >> bs;
		}
		if (bs > 0) r.data[this.t - ds - 1] |= (this.s & bm) << cbs;
		r.t = this.t - ds;
		r.clamp();
	}
	function bnpSubTo(a, r) {
		var i = 0, c = 0, m = Math.min(a.t, this.t);
		while (i < m) {
			c += this.data[i] - a.data[i];
			r.data[i++] = c & this.DM;
			c >>= this.DB;
		}
		if (a.t < this.t) {
			c -= a.s;
			while (i < this.t) {
				c += this.data[i];
				r.data[i++] = c & this.DM;
				c >>= this.DB;
			}
			c += this.s;
		} else {
			c += this.s;
			while (i < a.t) {
				c -= a.data[i];
				r.data[i++] = c & this.DM;
				c >>= this.DB;
			}
			c -= a.s;
		}
		r.s = c < 0 ? -1 : 0;
		if (c < -1) r.data[i++] = this.DV + c;
		else if (c > 0) r.data[i++] = c;
		r.t = i;
		r.clamp();
	}
	function bnpMultiplyTo(a, r) {
		var x = this.abs(), y = a.abs();
		var i = x.t;
		r.t = i + y.t;
		while (--i >= 0) r.data[i] = 0;
		for (i = 0; i < y.t; ++i) r.data[i + x.t] = x.am(0, y.data[i], r, i, 0, x.t);
		r.s = 0;
		r.clamp();
		if (this.s != a.s) BigInteger.ZERO.subTo(r, r);
	}
	function bnpSquareTo(r) {
		var x = this.abs();
		var i = r.t = 2 * x.t;
		while (--i >= 0) r.data[i] = 0;
		for (i = 0; i < x.t - 1; ++i) {
			var c = x.am(i, x.data[i], r, 2 * i, 0, 1);
			if ((r.data[i + x.t] += x.am(i + 1, 2 * x.data[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {
				r.data[i + x.t] -= x.DV;
				r.data[i + x.t + 1] = 1;
			}
		}
		if (r.t > 0) r.data[r.t - 1] += x.am(i, x.data[i], r, 2 * i, 0, 1);
		r.s = 0;
		r.clamp();
	}
	function bnpDivRemTo(m, q, r) {
		var pm = m.abs();
		if (pm.t <= 0) return;
		var pt = this.abs();
		if (pt.t < pm.t) {
			if (q != null) q.fromInt(0);
			if (r != null) this.copyTo(r);
			return;
		}
		if (r == null) r = nbi();
		var y = nbi(), ts = this.s, ms = m.s;
		var nsh = this.DB - nbits(pm.data[pm.t - 1]);
		if (nsh > 0) {
			pm.lShiftTo(nsh, y);
			pt.lShiftTo(nsh, r);
		} else {
			pm.copyTo(y);
			pt.copyTo(r);
		}
		var ys = y.t;
		var y0 = y.data[ys - 1];
		if (y0 == 0) return;
		var yt = y0 * (1 << this.F1) + (ys > 1 ? y.data[ys - 2] >> this.F2 : 0);
		var d1 = this.FV / yt, d2 = (1 << this.F1) / yt, e = 1 << this.F2;
		var i = r.t, j = i - ys, t = q == null ? nbi() : q;
		y.dlShiftTo(j, t);
		if (r.compareTo(t) >= 0) {
			r.data[r.t++] = 1;
			r.subTo(t, r);
		}
		BigInteger.ONE.dlShiftTo(ys, t);
		t.subTo(y, y);
		while (y.t < ys) y.data[y.t++] = 0;
		while (--j >= 0) {
			var qd = r.data[--i] == y0 ? this.DM : Math.floor(r.data[i] * d1 + (r.data[i - 1] + e) * d2);
			if ((r.data[i] += y.am(0, qd, r, j, 0, ys)) < qd) {
				y.dlShiftTo(j, t);
				r.subTo(t, r);
				while (r.data[i] < --qd) r.subTo(t, r);
			}
		}
		if (q != null) {
			r.drShiftTo(ys, q);
			if (ts != ms) BigInteger.ZERO.subTo(q, q);
		}
		r.t = ys;
		r.clamp();
		if (nsh > 0) r.rShiftTo(nsh, r);
		if (ts < 0) BigInteger.ZERO.subTo(r, r);
	}
	function bnMod(a) {
		var r = nbi();
		this.abs().divRemTo(a, null, r);
		if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r);
		return r;
	}
	function Classic(m) {
		this.m = m;
	}
	function cConvert(x) {
		if (x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m);
		else return x;
	}
	function cRevert(x) {
		return x;
	}
	function cReduce(x) {
		x.divRemTo(this.m, null, x);
	}
	function cMulTo(x, y, r) {
		x.multiplyTo(y, r);
		this.reduce(r);
	}
	function cSqrTo(x, r) {
		x.squareTo(r);
		this.reduce(r);
	}
	Classic.prototype.convert = cConvert;
	Classic.prototype.revert = cRevert;
	Classic.prototype.reduce = cReduce;
	Classic.prototype.mulTo = cMulTo;
	Classic.prototype.sqrTo = cSqrTo;
	function bnpInvDigit() {
		if (this.t < 1) return 0;
		var x = this.data[0];
		if ((x & 1) == 0) return 0;
		var y = x & 3;
		y = y * (2 - (x & 15) * y) & 15;
		y = y * (2 - (x & 255) * y) & 255;
		y = y * (2 - ((x & 65535) * y & 65535)) & 65535;
		y = y * (2 - x * y % this.DV) % this.DV;
		return y > 0 ? this.DV - y : -y;
	}
	function Montgomery(m) {
		this.m = m;
		this.mp = m.invDigit();
		this.mpl = this.mp & 32767;
		this.mph = this.mp >> 15;
		this.um = (1 << m.DB - 15) - 1;
		this.mt2 = 2 * m.t;
	}
	function montConvert(x) {
		var r = nbi();
		x.abs().dlShiftTo(this.m.t, r);
		r.divRemTo(this.m, null, r);
		if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r);
		return r;
	}
	function montRevert(x) {
		var r = nbi();
		x.copyTo(r);
		this.reduce(r);
		return r;
	}
	function montReduce(x) {
		while (x.t <= this.mt2) x.data[x.t++] = 0;
		for (var i = 0; i < this.m.t; ++i) {
			var j = x.data[i] & 32767;
			var u0 = j * this.mpl + ((j * this.mph + (x.data[i] >> 15) * this.mpl & this.um) << 15) & x.DM;
			j = i + this.m.t;
			x.data[j] += this.m.am(0, u0, x, i, 0, this.m.t);
			while (x.data[j] >= x.DV) {
				x.data[j] -= x.DV;
				x.data[++j]++;
			}
		}
		x.clamp();
		x.drShiftTo(this.m.t, x);
		if (x.compareTo(this.m) >= 0) x.subTo(this.m, x);
	}
	function montSqrTo(x, r) {
		x.squareTo(r);
		this.reduce(r);
	}
	function montMulTo(x, y, r) {
		x.multiplyTo(y, r);
		this.reduce(r);
	}
	Montgomery.prototype.convert = montConvert;
	Montgomery.prototype.revert = montRevert;
	Montgomery.prototype.reduce = montReduce;
	Montgomery.prototype.mulTo = montMulTo;
	Montgomery.prototype.sqrTo = montSqrTo;
	function bnpIsEven() {
		return (this.t > 0 ? this.data[0] & 1 : this.s) == 0;
	}
	function bnpExp(e, z) {
		if (e > 4294967295 || e < 1) return BigInteger.ONE;
		var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e) - 1;
		g.copyTo(r);
		while (--i >= 0) {
			z.sqrTo(r, r2);
			if ((e & 1 << i) > 0) z.mulTo(r2, g, r);
			else {
				var t = r;
				r = r2;
				r2 = t;
			}
		}
		return z.revert(r);
	}
	function bnModPowInt(e, m) {
		var z;
		if (e < 256 || m.isEven()) z = new Classic(m);
		else z = new Montgomery(m);
		return this.exp(e, z);
	}
	BigInteger.prototype.copyTo = bnpCopyTo;
	BigInteger.prototype.fromInt = bnpFromInt;
	BigInteger.prototype.fromString = bnpFromString;
	BigInteger.prototype.clamp = bnpClamp;
	BigInteger.prototype.dlShiftTo = bnpDLShiftTo;
	BigInteger.prototype.drShiftTo = bnpDRShiftTo;
	BigInteger.prototype.lShiftTo = bnpLShiftTo;
	BigInteger.prototype.rShiftTo = bnpRShiftTo;
	BigInteger.prototype.subTo = bnpSubTo;
	BigInteger.prototype.multiplyTo = bnpMultiplyTo;
	BigInteger.prototype.squareTo = bnpSquareTo;
	BigInteger.prototype.divRemTo = bnpDivRemTo;
	BigInteger.prototype.invDigit = bnpInvDigit;
	BigInteger.prototype.isEven = bnpIsEven;
	BigInteger.prototype.exp = bnpExp;
	BigInteger.prototype.toString = bnToString;
	BigInteger.prototype.negate = bnNegate;
	BigInteger.prototype.abs = bnAbs;
	BigInteger.prototype.compareTo = bnCompareTo;
	BigInteger.prototype.bitLength = bnBitLength;
	BigInteger.prototype.mod = bnMod;
	BigInteger.prototype.modPowInt = bnModPowInt;
	BigInteger.ZERO = nbv(0);
	BigInteger.ONE = nbv(1);
	function bnClone() {
		var r = nbi();
		this.copyTo(r);
		return r;
	}
	function bnIntValue() {
		if (this.s < 0) {
			if (this.t == 1) return this.data[0] - this.DV;
			else if (this.t == 0) return -1;
		} else if (this.t == 1) return this.data[0];
		else if (this.t == 0) return 0;
		return (this.data[1] & (1 << 32 - this.DB) - 1) << this.DB | this.data[0];
	}
	function bnByteValue() {
		return this.t == 0 ? this.s : this.data[0] << 24 >> 24;
	}
	function bnShortValue() {
		return this.t == 0 ? this.s : this.data[0] << 16 >> 16;
	}
	function bnpChunkSize(r) {
		return Math.floor(Math.LN2 * this.DB / Math.log(r));
	}
	function bnSigNum() {
		if (this.s < 0) return -1;
		else if (this.t <= 0 || this.t == 1 && this.data[0] <= 0) return 0;
		else return 1;
	}
	function bnpToRadix(b) {
		if (b == null) b = 10;
		if (this.signum() == 0 || b < 2 || b > 36) return "0";
		var cs = this.chunkSize(b);
		var a = Math.pow(b, cs);
		var d = nbv(a), y = nbi(), z = nbi(), r = "";
		this.divRemTo(d, y, z);
		while (y.signum() > 0) {
			r = (a + z.intValue()).toString(b).substr(1) + r;
			y.divRemTo(d, y, z);
		}
		return z.intValue().toString(b) + r;
	}
	function bnpFromRadix(s, b) {
		this.fromInt(0);
		if (b == null) b = 10;
		var cs = this.chunkSize(b);
		var d = Math.pow(b, cs), mi = false, j = 0, w = 0;
		for (var i = 0; i < s.length; ++i) {
			var x = intAt(s, i);
			if (x < 0) {
				if (s.charAt(i) == "-" && this.signum() == 0) mi = true;
				continue;
			}
			w = b * w + x;
			if (++j >= cs) {
				this.dMultiply(d);
				this.dAddOffset(w, 0);
				j = 0;
				w = 0;
			}
		}
		if (j > 0) {
			this.dMultiply(Math.pow(b, j));
			this.dAddOffset(w, 0);
		}
		if (mi) BigInteger.ZERO.subTo(this, this);
	}
	function bnpFromNumber(a, b, c) {
		if ("number" == typeof b) {
			if (a < 2) this.fromInt(1);
			else {
				this.fromNumber(a, c);
				if (!this.testBit(a - 1)) this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, this);
				if (this.isEven()) this.dAddOffset(1, 0);
				while (!this.isProbablePrime(b)) {
					this.dAddOffset(2, 0);
					if (this.bitLength() > a) this.subTo(BigInteger.ONE.shiftLeft(a - 1), this);
				}
			}
		} else {
			var x = new Array(), t = a & 7;
			x.length = (a >> 3) + 1;
			b.nextBytes(x);
			if (t > 0) x[0] &= (1 << t) - 1;
			else x[0] = 0;
			this.fromString(x, 256);
		}
	}
	function bnToByteArray() {
		var i = this.t, r = new Array();
		r[0] = this.s;
		var p = this.DB - i * this.DB % 8, d, k = 0;
		if (i-- > 0) {
			if (p < this.DB && (d = this.data[i] >> p) != (this.s & this.DM) >> p) r[k++] = d | this.s << this.DB - p;
			while (i >= 0) {
				if (p < 8) {
					d = (this.data[i] & (1 << p) - 1) << 8 - p;
					d |= this.data[--i] >> (p += this.DB - 8);
				} else {
					d = this.data[i] >> (p -= 8) & 255;
					if (p <= 0) {
						p += this.DB;
						--i;
					}
				}
				if ((d & 128) != 0) d |= -256;
				if (k == 0 && (this.s & 128) != (d & 128)) ++k;
				if (k > 0 || d != this.s) r[k++] = d;
			}
		}
		return r;
	}
	function bnEquals(a) {
		return this.compareTo(a) == 0;
	}
	function bnMin(a) {
		return this.compareTo(a) < 0 ? this : a;
	}
	function bnMax(a) {
		return this.compareTo(a) > 0 ? this : a;
	}
	function bnpBitwiseTo(a, op, r) {
		var i, f, m = Math.min(a.t, this.t);
		for (i = 0; i < m; ++i) r.data[i] = op(this.data[i], a.data[i]);
		if (a.t < this.t) {
			f = a.s & this.DM;
			for (i = m; i < this.t; ++i) r.data[i] = op(this.data[i], f);
			r.t = this.t;
		} else {
			f = this.s & this.DM;
			for (i = m; i < a.t; ++i) r.data[i] = op(f, a.data[i]);
			r.t = a.t;
		}
		r.s = op(this.s, a.s);
		r.clamp();
	}
	function op_and(x, y) {
		return x & y;
	}
	function bnAnd(a) {
		var r = nbi();
		this.bitwiseTo(a, op_and, r);
		return r;
	}
	function op_or(x, y) {
		return x | y;
	}
	function bnOr(a) {
		var r = nbi();
		this.bitwiseTo(a, op_or, r);
		return r;
	}
	function op_xor(x, y) {
		return x ^ y;
	}
	function bnXor(a) {
		var r = nbi();
		this.bitwiseTo(a, op_xor, r);
		return r;
	}
	function op_andnot(x, y) {
		return x & ~y;
	}
	function bnAndNot(a) {
		var r = nbi();
		this.bitwiseTo(a, op_andnot, r);
		return r;
	}
	function bnNot() {
		var r = nbi();
		for (var i = 0; i < this.t; ++i) r.data[i] = this.DM & ~this.data[i];
		r.t = this.t;
		r.s = ~this.s;
		return r;
	}
	function bnShiftLeft(n) {
		var r = nbi();
		if (n < 0) this.rShiftTo(-n, r);
		else this.lShiftTo(n, r);
		return r;
	}
	function bnShiftRight(n) {
		var r = nbi();
		if (n < 0) this.lShiftTo(-n, r);
		else this.rShiftTo(n, r);
		return r;
	}
	function lbit(x) {
		if (x == 0) return -1;
		var r = 0;
		if ((x & 65535) == 0) {
			x >>= 16;
			r += 16;
		}
		if ((x & 255) == 0) {
			x >>= 8;
			r += 8;
		}
		if ((x & 15) == 0) {
			x >>= 4;
			r += 4;
		}
		if ((x & 3) == 0) {
			x >>= 2;
			r += 2;
		}
		if ((x & 1) == 0) ++r;
		return r;
	}
	function bnGetLowestSetBit() {
		for (var i = 0; i < this.t; ++i) if (this.data[i] != 0) return i * this.DB + lbit(this.data[i]);
		if (this.s < 0) return this.t * this.DB;
		return -1;
	}
	function cbit(x) {
		var r = 0;
		while (x != 0) {
			x &= x - 1;
			++r;
		}
		return r;
	}
	function bnBitCount() {
		var r = 0, x = this.s & this.DM;
		for (var i = 0; i < this.t; ++i) r += cbit(this.data[i] ^ x);
		return r;
	}
	function bnTestBit(n) {
		var j = Math.floor(n / this.DB);
		if (j >= this.t) return this.s != 0;
		return (this.data[j] & 1 << n % this.DB) != 0;
	}
	function bnpChangeBit(n, op) {
		var r = BigInteger.ONE.shiftLeft(n);
		this.bitwiseTo(r, op, r);
		return r;
	}
	function bnSetBit(n) {
		return this.changeBit(n, op_or);
	}
	function bnClearBit(n) {
		return this.changeBit(n, op_andnot);
	}
	function bnFlipBit(n) {
		return this.changeBit(n, op_xor);
	}
	function bnpAddTo(a, r) {
		var i = 0, c = 0, m = Math.min(a.t, this.t);
		while (i < m) {
			c += this.data[i] + a.data[i];
			r.data[i++] = c & this.DM;
			c >>= this.DB;
		}
		if (a.t < this.t) {
			c += a.s;
			while (i < this.t) {
				c += this.data[i];
				r.data[i++] = c & this.DM;
				c >>= this.DB;
			}
			c += this.s;
		} else {
			c += this.s;
			while (i < a.t) {
				c += a.data[i];
				r.data[i++] = c & this.DM;
				c >>= this.DB;
			}
			c += a.s;
		}
		r.s = c < 0 ? -1 : 0;
		if (c > 0) r.data[i++] = c;
		else if (c < -1) r.data[i++] = this.DV + c;
		r.t = i;
		r.clamp();
	}
	function bnAdd(a) {
		var r = nbi();
		this.addTo(a, r);
		return r;
	}
	function bnSubtract(a) {
		var r = nbi();
		this.subTo(a, r);
		return r;
	}
	function bnMultiply(a) {
		var r = nbi();
		this.multiplyTo(a, r);
		return r;
	}
	function bnDivide(a) {
		var r = nbi();
		this.divRemTo(a, r, null);
		return r;
	}
	function bnRemainder(a) {
		var r = nbi();
		this.divRemTo(a, null, r);
		return r;
	}
	function bnDivideAndRemainder(a) {
		var q = nbi(), r = nbi();
		this.divRemTo(a, q, r);
		return new Array(q, r);
	}
	function bnpDMultiply(n) {
		this.data[this.t] = this.am(0, n - 1, this, 0, 0, this.t);
		++this.t;
		this.clamp();
	}
	function bnpDAddOffset(n, w) {
		if (n == 0) return;
		while (this.t <= w) this.data[this.t++] = 0;
		this.data[w] += n;
		while (this.data[w] >= this.DV) {
			this.data[w] -= this.DV;
			if (++w >= this.t) this.data[this.t++] = 0;
			++this.data[w];
		}
	}
	function NullExp() {}
	function nNop(x) {
		return x;
	}
	function nMulTo(x, y, r) {
		x.multiplyTo(y, r);
	}
	function nSqrTo(x, r) {
		x.squareTo(r);
	}
	NullExp.prototype.convert = nNop;
	NullExp.prototype.revert = nNop;
	NullExp.prototype.mulTo = nMulTo;
	NullExp.prototype.sqrTo = nSqrTo;
	function bnPow(e) {
		return this.exp(e, new NullExp());
	}
	function bnpMultiplyLowerTo(a, n, r) {
		var i = Math.min(this.t + a.t, n);
		r.s = 0;
		r.t = i;
		while (i > 0) r.data[--i] = 0;
		var j;
		for (j = r.t - this.t; i < j; ++i) r.data[i + this.t] = this.am(0, a.data[i], r, i, 0, this.t);
		for (j = Math.min(a.t, n); i < j; ++i) this.am(0, a.data[i], r, i, 0, n - i);
		r.clamp();
	}
	function bnpMultiplyUpperTo(a, n, r) {
		--n;
		var i = r.t = this.t + a.t - n;
		r.s = 0;
		while (--i >= 0) r.data[i] = 0;
		for (i = Math.max(n - this.t, 0); i < a.t; ++i) r.data[this.t + i - n] = this.am(n - i, a.data[i], r, 0, 0, this.t + i - n);
		r.clamp();
		r.drShiftTo(1, r);
	}
	function Barrett(m) {
		this.r2 = nbi();
		this.q3 = nbi();
		BigInteger.ONE.dlShiftTo(2 * m.t, this.r2);
		this.mu = this.r2.divide(m);
		this.m = m;
	}
	function barrettConvert(x) {
		if (x.s < 0 || x.t > 2 * this.m.t) return x.mod(this.m);
		else if (x.compareTo(this.m) < 0) return x;
		else {
			var r = nbi();
			x.copyTo(r);
			this.reduce(r);
			return r;
		}
	}
	function barrettRevert(x) {
		return x;
	}
	function barrettReduce(x) {
		x.drShiftTo(this.m.t - 1, this.r2);
		if (x.t > this.m.t + 1) {
			x.t = this.m.t + 1;
			x.clamp();
		}
		this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3);
		this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2);
		while (x.compareTo(this.r2) < 0) x.dAddOffset(1, this.m.t + 1);
		x.subTo(this.r2, x);
		while (x.compareTo(this.m) >= 0) x.subTo(this.m, x);
	}
	function barrettSqrTo(x, r) {
		x.squareTo(r);
		this.reduce(r);
	}
	function barrettMulTo(x, y, r) {
		x.multiplyTo(y, r);
		this.reduce(r);
	}
	Barrett.prototype.convert = barrettConvert;
	Barrett.prototype.revert = barrettRevert;
	Barrett.prototype.reduce = barrettReduce;
	Barrett.prototype.mulTo = barrettMulTo;
	Barrett.prototype.sqrTo = barrettSqrTo;
	function bnModPow(e, m) {
		var i = e.bitLength(), k, r = nbv(1), z;
		if (i <= 0) return r;
		else if (i < 18) k = 1;
		else if (i < 48) k = 3;
		else if (i < 144) k = 4;
		else if (i < 768) k = 5;
		else k = 6;
		if (i < 8) z = new Classic(m);
		else if (m.isEven()) z = new Barrett(m);
		else z = new Montgomery(m);
		var g = new Array(), n = 3, k1 = k - 1, km = (1 << k) - 1;
		g[1] = z.convert(this);
		if (k > 1) {
			var g2 = nbi();
			z.sqrTo(g[1], g2);
			while (n <= km) {
				g[n] = nbi();
				z.mulTo(g2, g[n - 2], g[n]);
				n += 2;
			}
		}
		var j = e.t - 1, w, is1 = true, r2 = nbi(), t;
		i = nbits(e.data[j]) - 1;
		while (j >= 0) {
			if (i >= k1) w = e.data[j] >> i - k1 & km;
			else {
				w = (e.data[j] & (1 << i + 1) - 1) << k1 - i;
				if (j > 0) w |= e.data[j - 1] >> this.DB + i - k1;
			}
			n = k;
			while ((w & 1) == 0) {
				w >>= 1;
				--n;
			}
			if ((i -= n) < 0) {
				i += this.DB;
				--j;
			}
			if (is1) {
				g[w].copyTo(r);
				is1 = false;
			} else {
				while (n > 1) {
					z.sqrTo(r, r2);
					z.sqrTo(r2, r);
					n -= 2;
				}
				if (n > 0) z.sqrTo(r, r2);
				else {
					t = r;
					r = r2;
					r2 = t;
				}
				z.mulTo(r2, g[w], r);
			}
			while (j >= 0 && (e.data[j] & 1 << i) == 0) {
				z.sqrTo(r, r2);
				t = r;
				r = r2;
				r2 = t;
				if (--i < 0) {
					i = this.DB - 1;
					--j;
				}
			}
		}
		return z.revert(r);
	}
	function bnGCD(a) {
		var x = this.s < 0 ? this.negate() : this.clone();
		var y = a.s < 0 ? a.negate() : a.clone();
		if (x.compareTo(y) < 0) {
			var t = x;
			x = y;
			y = t;
		}
		var i = x.getLowestSetBit(), g = y.getLowestSetBit();
		if (g < 0) return x;
		if (i < g) g = i;
		if (g > 0) {
			x.rShiftTo(g, x);
			y.rShiftTo(g, y);
		}
		while (x.signum() > 0) {
			if ((i = x.getLowestSetBit()) > 0) x.rShiftTo(i, x);
			if ((i = y.getLowestSetBit()) > 0) y.rShiftTo(i, y);
			if (x.compareTo(y) >= 0) {
				x.subTo(y, x);
				x.rShiftTo(1, x);
			} else {
				y.subTo(x, y);
				y.rShiftTo(1, y);
			}
		}
		if (g > 0) y.lShiftTo(g, y);
		return y;
	}
	function bnpModInt(n) {
		if (n <= 0) return 0;
		var d = this.DV % n, r = this.s < 0 ? n - 1 : 0;
		if (this.t > 0) if (d == 0) r = this.data[0] % n;
		else for (var i = this.t - 1; i >= 0; --i) r = (d * r + this.data[i]) % n;
		return r;
	}
	function bnModInverse(m) {
		var ac = m.isEven();
		if (this.isEven() && ac || m.signum() == 0) return BigInteger.ZERO;
		var u = m.clone(), v = this.clone();
		var a = nbv(1), b = nbv(0), c = nbv(0), d = nbv(1);
		while (u.signum() != 0) {
			while (u.isEven()) {
				u.rShiftTo(1, u);
				if (ac) {
					if (!a.isEven() || !b.isEven()) {
						a.addTo(this, a);
						b.subTo(m, b);
					}
					a.rShiftTo(1, a);
				} else if (!b.isEven()) b.subTo(m, b);
				b.rShiftTo(1, b);
			}
			while (v.isEven()) {
				v.rShiftTo(1, v);
				if (ac) {
					if (!c.isEven() || !d.isEven()) {
						c.addTo(this, c);
						d.subTo(m, d);
					}
					c.rShiftTo(1, c);
				} else if (!d.isEven()) d.subTo(m, d);
				d.rShiftTo(1, d);
			}
			if (u.compareTo(v) >= 0) {
				u.subTo(v, u);
				if (ac) a.subTo(c, a);
				b.subTo(d, b);
			} else {
				v.subTo(u, v);
				if (ac) c.subTo(a, c);
				d.subTo(b, d);
			}
		}
		if (v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO;
		if (d.compareTo(m) >= 0) return d.subtract(m);
		if (d.signum() < 0) d.addTo(m, d);
		else return d;
		if (d.signum() < 0) return d.add(m);
		else return d;
	}
	var lowprimes = [
		2,
		3,
		5,
		7,
		11,
		13,
		17,
		19,
		23,
		29,
		31,
		37,
		41,
		43,
		47,
		53,
		59,
		61,
		67,
		71,
		73,
		79,
		83,
		89,
		97,
		101,
		103,
		107,
		109,
		113,
		127,
		131,
		137,
		139,
		149,
		151,
		157,
		163,
		167,
		173,
		179,
		181,
		191,
		193,
		197,
		199,
		211,
		223,
		227,
		229,
		233,
		239,
		241,
		251,
		257,
		263,
		269,
		271,
		277,
		281,
		283,
		293,
		307,
		311,
		313,
		317,
		331,
		337,
		347,
		349,
		353,
		359,
		367,
		373,
		379,
		383,
		389,
		397,
		401,
		409,
		419,
		421,
		431,
		433,
		439,
		443,
		449,
		457,
		461,
		463,
		467,
		479,
		487,
		491,
		499,
		503,
		509
	];
	var lplim = (1 << 26) / lowprimes[lowprimes.length - 1];
	function bnIsProbablePrime(t) {
		var i, x = this.abs();
		if (x.t == 1 && x.data[0] <= lowprimes[lowprimes.length - 1]) {
			for (i = 0; i < lowprimes.length; ++i) if (x.data[0] == lowprimes[i]) return true;
			return false;
		}
		if (x.isEven()) return false;
		i = 1;
		while (i < lowprimes.length) {
			var m = lowprimes[i], j = i + 1;
			while (j < lowprimes.length && m < lplim) m *= lowprimes[j++];
			m = x.modInt(m);
			while (i < j) if (m % lowprimes[i++] == 0) return false;
		}
		return x.millerRabin(t);
	}
	function bnpMillerRabin(t) {
		var n1 = this.subtract(BigInteger.ONE);
		var k = n1.getLowestSetBit();
		if (k <= 0) return false;
		var r = n1.shiftRight(k);
		var prng = bnGetPrng();
		var a;
		for (var i = 0; i < t; ++i) {
			do {
				a = new BigInteger(this.bitLength(), prng);
			} while (a.compareTo(BigInteger.ONE) <= 0 || a.compareTo(n1) >= 0);
			var y = a.modPow(r, this);
			if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {
				var j = 1;
				while (j++ < k && y.compareTo(n1) != 0) {
					y = y.modPowInt(2, this);
					if (y.compareTo(BigInteger.ONE) == 0) return false;
				}
				if (y.compareTo(n1) != 0) return false;
			}
		}
		return true;
	}
	function bnGetPrng() {
		return { nextBytes: function(x) {
			for (var i = 0; i < x.length; ++i) {
				x[i] = Math.floor(Math.random() * 256);
			}
		} };
	}
	BigInteger.prototype.chunkSize = bnpChunkSize;
	BigInteger.prototype.toRadix = bnpToRadix;
	BigInteger.prototype.fromRadix = bnpFromRadix;
	BigInteger.prototype.fromNumber = bnpFromNumber;
	BigInteger.prototype.bitwiseTo = bnpBitwiseTo;
	BigInteger.prototype.changeBit = bnpChangeBit;
	BigInteger.prototype.addTo = bnpAddTo;
	BigInteger.prototype.dMultiply = bnpDMultiply;
	BigInteger.prototype.dAddOffset = bnpDAddOffset;
	BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo;
	BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo;
	BigInteger.prototype.modInt = bnpModInt;
	BigInteger.prototype.millerRabin = bnpMillerRabin;
	BigInteger.prototype.clone = bnClone;
	BigInteger.prototype.intValue = bnIntValue;
	BigInteger.prototype.byteValue = bnByteValue;
	BigInteger.prototype.shortValue = bnShortValue;
	BigInteger.prototype.signum = bnSigNum;
	BigInteger.prototype.toByteArray = bnToByteArray;
	BigInteger.prototype.equals = bnEquals;
	BigInteger.prototype.min = bnMin;
	BigInteger.prototype.max = bnMax;
	BigInteger.prototype.and = bnAnd;
	BigInteger.prototype.or = bnOr;
	BigInteger.prototype.xor = bnXor;
	BigInteger.prototype.andNot = bnAndNot;
	BigInteger.prototype.not = bnNot;
	BigInteger.prototype.shiftLeft = bnShiftLeft;
	BigInteger.prototype.shiftRight = bnShiftRight;
	BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit;
	BigInteger.prototype.bitCount = bnBitCount;
	BigInteger.prototype.testBit = bnTestBit;
	BigInteger.prototype.setBit = bnSetBit;
	BigInteger.prototype.clearBit = bnClearBit;
	BigInteger.prototype.flipBit = bnFlipBit;
	BigInteger.prototype.add = bnAdd;
	BigInteger.prototype.subtract = bnSubtract;
	BigInteger.prototype.multiply = bnMultiply;
	BigInteger.prototype.divide = bnDivide;
	BigInteger.prototype.remainder = bnRemainder;
	BigInteger.prototype.divideAndRemainder = bnDivideAndRemainder;
	BigInteger.prototype.modPow = bnModPow;
	BigInteger.prototype.modInverse = bnModInverse;
	BigInteger.prototype.pow = bnPow;
	BigInteger.prototype.gcd = bnGCD;
	BigInteger.prototype.isProbablePrime = bnIsProbablePrime;
}));

//#endregion
//#region ../node_modules/node-forge/lib/sha1.js
var require_sha1$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Secure Hash Algorithm with 160-bit digest (SHA-1) implementation.
	*
	* @author Dave Longley
	*
	* Copyright (c) 2010-2015 Digital Bazaar, Inc.
	*/
	var forge = require_forge();
	require_md();
	require_util$8();
	var sha1 = module.exports = forge.sha1 = forge.sha1 || {};
	forge.md.sha1 = forge.md.algorithms.sha1 = sha1;
	/**
	* Creates a SHA-1 message digest object.
	*
	* @return a message digest object.
	*/
	sha1.create = function() {
		if (!_initialized) {
			_init();
		}
		var _state = null;
		var _input = forge.util.createBuffer();
		var _w = new Array(80);
		var md = {
			algorithm: "sha1",
			blockLength: 64,
			digestLength: 20,
			messageLength: 0,
			fullMessageLength: null,
			messageLengthSize: 8
		};
		/**
		* Starts the digest.
		*
		* @return this digest object.
		*/
		md.start = function() {
			md.messageLength = 0;
			md.fullMessageLength = md.messageLength64 = [];
			var int32s = md.messageLengthSize / 4;
			for (var i = 0; i < int32s; ++i) {
				md.fullMessageLength.push(0);
			}
			_input = forge.util.createBuffer();
			_state = {
				h0: 1732584193,
				h1: 4023233417,
				h2: 2562383102,
				h3: 271733878,
				h4: 3285377520
			};
			return md;
		};
		md.start();
		/**
		* Updates the digest with the given message input. The given input can
		* treated as raw input (no encoding will be applied) or an encoding of
		* 'utf8' maybe given to encode the input using UTF-8.
		*
		* @param msg the message input to update with.
		* @param encoding the encoding to use (default: 'raw', other: 'utf8').
		*
		* @return this digest object.
		*/
		md.update = function(msg, encoding) {
			if (encoding === "utf8") {
				msg = forge.util.encodeUtf8(msg);
			}
			var len = msg.length;
			md.messageLength += len;
			len = [len / 4294967296 >>> 0, len >>> 0];
			for (var i = md.fullMessageLength.length - 1; i >= 0; --i) {
				md.fullMessageLength[i] += len[1];
				len[1] = len[0] + (md.fullMessageLength[i] / 4294967296 >>> 0);
				md.fullMessageLength[i] = md.fullMessageLength[i] >>> 0;
				len[0] = len[1] / 4294967296 >>> 0;
			}
			_input.putBytes(msg);
			_update(_state, _w, _input);
			if (_input.read > 2048 || _input.length() === 0) {
				_input.compact();
			}
			return md;
		};
		/**
		* Produces the digest.
		*
		* @return a byte buffer containing the digest value.
		*/
		md.digest = function() {
			var finalBlock = forge.util.createBuffer();
			finalBlock.putBytes(_input.bytes());
			var remaining = md.fullMessageLength[md.fullMessageLength.length - 1] + md.messageLengthSize;
			var overflow = remaining & md.blockLength - 1;
			finalBlock.putBytes(_padding.substr(0, md.blockLength - overflow));
			var next, carry;
			var bits = md.fullMessageLength[0] * 8;
			for (var i = 0; i < md.fullMessageLength.length - 1; ++i) {
				next = md.fullMessageLength[i + 1] * 8;
				carry = next / 4294967296 >>> 0;
				bits += carry;
				finalBlock.putInt32(bits >>> 0);
				bits = next >>> 0;
			}
			finalBlock.putInt32(bits);
			var s2 = {
				h0: _state.h0,
				h1: _state.h1,
				h2: _state.h2,
				h3: _state.h3,
				h4: _state.h4
			};
			_update(s2, _w, finalBlock);
			var rval = forge.util.createBuffer();
			rval.putInt32(s2.h0);
			rval.putInt32(s2.h1);
			rval.putInt32(s2.h2);
			rval.putInt32(s2.h3);
			rval.putInt32(s2.h4);
			return rval;
		};
		return md;
	};
	var _padding = null;
	var _initialized = false;
	/**
	* Initializes the constant tables.
	*/
	function _init() {
		_padding = String.fromCharCode(128);
		_padding += forge.util.fillString(String.fromCharCode(0), 64);
		_initialized = true;
	}
	/**
	* Updates a SHA-1 state with the given byte buffer.
	*
	* @param s the SHA-1 state to update.
	* @param w the array to use to store words.
	* @param bytes the byte buffer to update with.
	*/
	function _update(s, w, bytes) {
		var t, a, b, c, d, e, f, i;
		var len = bytes.length();
		while (len >= 64) {
			a = s.h0;
			b = s.h1;
			c = s.h2;
			d = s.h3;
			e = s.h4;
			for (i = 0; i < 16; ++i) {
				t = bytes.getInt32();
				w[i] = t;
				f = d ^ b & (c ^ d);
				t = (a << 5 | a >>> 27) + f + e + 1518500249 + t;
				e = d;
				d = c;
				c = (b << 30 | b >>> 2) >>> 0;
				b = a;
				a = t;
			}
			for (; i < 20; ++i) {
				t = w[i - 3] ^ w[i - 8] ^ w[i - 14] ^ w[i - 16];
				t = t << 1 | t >>> 31;
				w[i] = t;
				f = d ^ b & (c ^ d);
				t = (a << 5 | a >>> 27) + f + e + 1518500249 + t;
				e = d;
				d = c;
				c = (b << 30 | b >>> 2) >>> 0;
				b = a;
				a = t;
			}
			for (; i < 32; ++i) {
				t = w[i - 3] ^ w[i - 8] ^ w[i - 14] ^ w[i - 16];
				t = t << 1 | t >>> 31;
				w[i] = t;
				f = b ^ c ^ d;
				t = (a << 5 | a >>> 27) + f + e + 1859775393 + t;
				e = d;
				d = c;
				c = (b << 30 | b >>> 2) >>> 0;
				b = a;
				a = t;
			}
			for (; i < 40; ++i) {
				t = w[i - 6] ^ w[i - 16] ^ w[i - 28] ^ w[i - 32];
				t = t << 2 | t >>> 30;
				w[i] = t;
				f = b ^ c ^ d;
				t = (a << 5 | a >>> 27) + f + e + 1859775393 + t;
				e = d;
				d = c;
				c = (b << 30 | b >>> 2) >>> 0;
				b = a;
				a = t;
			}
			for (; i < 60; ++i) {
				t = w[i - 6] ^ w[i - 16] ^ w[i - 28] ^ w[i - 32];
				t = t << 2 | t >>> 30;
				w[i] = t;
				f = b & c | d & (b ^ c);
				t = (a << 5 | a >>> 27) + f + e + 2400959708 + t;
				e = d;
				d = c;
				c = (b << 30 | b >>> 2) >>> 0;
				b = a;
				a = t;
			}
			for (; i < 80; ++i) {
				t = w[i - 6] ^ w[i - 16] ^ w[i - 28] ^ w[i - 32];
				t = t << 2 | t >>> 30;
				w[i] = t;
				f = b ^ c ^ d;
				t = (a << 5 | a >>> 27) + f + e + 3395469782 + t;
				e = d;
				d = c;
				c = (b << 30 | b >>> 2) >>> 0;
				b = a;
				a = t;
			}
			s.h0 = s.h0 + a | 0;
			s.h1 = s.h1 + b | 0;
			s.h2 = s.h2 + c | 0;
			s.h3 = s.h3 + d | 0;
			s.h4 = s.h4 + e | 0;
			len -= 64;
		}
	}
}));

//#endregion
//#region ../node_modules/node-forge/lib/pkcs1.js
var require_pkcs1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Partial implementation of PKCS#1 v2.2: RSA-OEAP
	*
	* Modified but based on the following MIT and BSD licensed code:
	*
	* https://github.com/kjur/jsjws/blob/master/rsa.js:
	*
	* The 'jsjws'(JSON Web Signature JavaScript Library) License
	*
	* Copyright (c) 2012 Kenji Urushima
	*
	* Permission is hereby granted, free of charge, to any person obtaining a copy
	* of this software and associated documentation files (the "Software"), to deal
	* in the Software without restriction, including without limitation the rights
	* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
	* copies of the Software, and to permit persons to whom the Software is
	* furnished to do so, subject to the following conditions:
	*
	* The above copyright notice and this permission notice shall be included in
	* all copies or substantial portions of the Software.
	*
	* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
	* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
	* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
	* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
	* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
	* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
	* THE SOFTWARE.
	*
	* http://webrsa.cvs.sourceforge.net/viewvc/webrsa/Client/RSAES-OAEP.js?content-type=text%2Fplain:
	*
	* RSAES-OAEP.js
	* $Id: RSAES-OAEP.js,v 1.1.1.1 2003/03/19 15:37:20 ellispritchard Exp $
	* JavaScript Implementation of PKCS #1 v2.1 RSA CRYPTOGRAPHY STANDARD (RSA Laboratories, June 14, 2002)
	* Copyright (C) Ellis Pritchard, Guardian Unlimited 2003.
	* Contact: ellis@nukinetics.com
	* Distributed under the BSD License.
	*
	* Official documentation: http://www.rsa.com/rsalabs/node.asp?id=2125
	*
	* @author Evan Jones (http://evanjones.ca/)
	* @author Dave Longley
	*
	* Copyright (c) 2013-2014 Digital Bazaar, Inc.
	*/
	var forge = require_forge();
	require_util$8();
	require_random();
	require_sha1$1();
	var pkcs1 = module.exports = forge.pkcs1 = forge.pkcs1 || {};
	/**
	* Encode the given RSAES-OAEP message (M) using key, with optional label (L)
	* and seed.
	*
	* This method does not perform RSA encryption, it only encodes the message
	* using RSAES-OAEP.
	*
	* @param key the RSA key to use.
	* @param message the message to encode.
	* @param options the options to use:
	*          label an optional label to use.
	*          seed the seed to use.
	*          md the message digest object to use, undefined for SHA-1.
	*          mgf1 optional mgf1 parameters:
	*            md the message digest object to use for MGF1.
	*
	* @return the encoded message bytes.
	*/
	pkcs1.encode_rsa_oaep = function(key, message, options) {
		var label;
		var seed;
		var md;
		var mgf1Md;
		if (typeof options === "string") {
			label = options;
			seed = arguments[3] || undefined;
			md = arguments[4] || undefined;
		} else if (options) {
			label = options.label || undefined;
			seed = options.seed || undefined;
			md = options.md || undefined;
			if (options.mgf1 && options.mgf1.md) {
				mgf1Md = options.mgf1.md;
			}
		}
		if (!md) {
			md = forge.md.sha1.create();
		} else {
			md.start();
		}
		if (!mgf1Md) {
			mgf1Md = md;
		}
		var keyLength = Math.ceil(key.n.bitLength() / 8);
		var maxLength = keyLength - 2 * md.digestLength - 2;
		if (message.length > maxLength) {
			var error = new Error("RSAES-OAEP input message length is too long.");
			error.length = message.length;
			error.maxLength = maxLength;
			throw error;
		}
		if (!label) {
			label = "";
		}
		md.update(label, "raw");
		var lHash = md.digest();
		var PS = "";
		var PS_length = maxLength - message.length;
		for (var i = 0; i < PS_length; i++) {
			PS += "\0";
		}
		var DB = lHash.getBytes() + PS + "" + message;
		if (!seed) {
			seed = forge.random.getBytes(md.digestLength);
		} else if (seed.length !== md.digestLength) {
			var error = new Error("Invalid RSAES-OAEP seed. The seed length must " + "match the digest length.");
			error.seedLength = seed.length;
			error.digestLength = md.digestLength;
			throw error;
		}
		var dbMask = rsa_mgf1(seed, keyLength - md.digestLength - 1, mgf1Md);
		var maskedDB = forge.util.xorBytes(DB, dbMask, DB.length);
		var seedMask = rsa_mgf1(maskedDB, md.digestLength, mgf1Md);
		var maskedSeed = forge.util.xorBytes(seed, seedMask, seed.length);
		return "\0" + maskedSeed + maskedDB;
	};
	/**
	* Decode the given RSAES-OAEP encoded message (EM) using key, with optional
	* label (L).
	*
	* This method does not perform RSA decryption, it only decodes the message
	* using RSAES-OAEP.
	*
	* @param key the RSA key to use.
	* @param em the encoded message to decode.
	* @param options the options to use:
	*          label an optional label to use.
	*          md the message digest object to use for OAEP, undefined for SHA-1.
	*          mgf1 optional mgf1 parameters:
	*            md the message digest object to use for MGF1.
	*
	* @return the decoded message bytes.
	*/
	pkcs1.decode_rsa_oaep = function(key, em, options) {
		var label;
		var md;
		var mgf1Md;
		if (typeof options === "string") {
			label = options;
			md = arguments[3] || undefined;
		} else if (options) {
			label = options.label || undefined;
			md = options.md || undefined;
			if (options.mgf1 && options.mgf1.md) {
				mgf1Md = options.mgf1.md;
			}
		}
		var keyLength = Math.ceil(key.n.bitLength() / 8);
		if (em.length !== keyLength) {
			var error = new Error("RSAES-OAEP encoded message length is invalid.");
			error.length = em.length;
			error.expectedLength = keyLength;
			throw error;
		}
		if (md === undefined) {
			md = forge.md.sha1.create();
		} else {
			md.start();
		}
		if (!mgf1Md) {
			mgf1Md = md;
		}
		if (keyLength < 2 * md.digestLength + 2) {
			throw new Error("RSAES-OAEP key is too short for the hash function.");
		}
		if (!label) {
			label = "";
		}
		md.update(label, "raw");
		var lHash = md.digest().getBytes();
		var y = em.charAt(0);
		var maskedSeed = em.substring(1, md.digestLength + 1);
		var maskedDB = em.substring(1 + md.digestLength);
		var seedMask = rsa_mgf1(maskedDB, md.digestLength, mgf1Md);
		var seed = forge.util.xorBytes(maskedSeed, seedMask, maskedSeed.length);
		var dbMask = rsa_mgf1(seed, keyLength - md.digestLength - 1, mgf1Md);
		var db = forge.util.xorBytes(maskedDB, dbMask, maskedDB.length);
		var lHashPrime = db.substring(0, md.digestLength);
		var error = y !== "\0";
		for (var i = 0; i < md.digestLength; ++i) {
			error |= lHash.charAt(i) !== lHashPrime.charAt(i);
		}
		var in_ps = 1;
		var index = md.digestLength;
		for (var j = md.digestLength; j < db.length; j++) {
			var code = db.charCodeAt(j);
			var is_0 = code & 1 ^ 1;
			var error_mask = in_ps ? 65534 : 0;
			error |= code & error_mask;
			in_ps = in_ps & is_0;
			index += in_ps;
		}
		if (error || db.charCodeAt(index) !== 1) {
			throw new Error("Invalid RSAES-OAEP padding.");
		}
		return db.substring(index + 1);
	};
	function rsa_mgf1(seed, maskLength, hash) {
		if (!hash) {
			hash = forge.md.sha1.create();
		}
		var t = "";
		var count = Math.ceil(maskLength / hash.digestLength);
		for (var i = 0; i < count; ++i) {
			var c = String.fromCharCode(i >> 24 & 255, i >> 16 & 255, i >> 8 & 255, i & 255);
			hash.start();
			hash.update(seed + c);
			t += hash.digest().getBytes();
		}
		return t.substring(0, maskLength);
	}
}));

//#endregion
//#region ../node_modules/node-forge/lib/prime.js
var require_prime = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Prime number generation API.
	*
	* @author Dave Longley
	*
	* Copyright (c) 2014 Digital Bazaar, Inc.
	*/
	var forge = require_forge();
	require_util$8();
	require_jsbn();
	require_random();
	(function() {
		if (forge.prime) {
			module.exports = forge.prime;
			return;
		}
		var prime = module.exports = forge.prime = forge.prime || {};
		var BigInteger = forge.jsbn.BigInteger;
		var GCD_30_DELTA = [
			6,
			4,
			2,
			4,
			2,
			4,
			6,
			2
		];
		var THIRTY = new BigInteger(null);
		THIRTY.fromInt(30);
		var op_or = function(x, y) {
			return x | y;
		};
		/**
		* Generates a random probable prime with the given number of bits.
		*
		* Alternative algorithms can be specified by name as a string or as an
		* object with custom options like so:
		*
		* {
		*   name: 'PRIMEINC',
		*   options: {
		*     maxBlockTime: <the maximum amount of time to block the main
		*       thread before allowing I/O other JS to run>,
		*     millerRabinTests: <the number of miller-rabin tests to run>,
		*     workerScript: <the worker script URL>,
		*     workers: <the number of web workers (if supported) to use,
		*       -1 to use estimated cores minus one>.
		*     workLoad: the size of the work load, ie: number of possible prime
		*       numbers for each web worker to check per work assignment,
		*       (default: 100).
		*   }
		* }
		*
		* @param bits the number of bits for the prime number.
		* @param options the options to use.
		*          [algorithm] the algorithm to use (default: 'PRIMEINC').
		*          [prng] a custom crypto-secure pseudo-random number generator to use,
		*            that must define "getBytesSync".
		*
		* @return callback(err, num) called once the operation completes.
		*/
		prime.generateProbablePrime = function(bits, options, callback) {
			if (typeof options === "function") {
				callback = options;
				options = {};
			}
			options = options || {};
			var algorithm = options.algorithm || "PRIMEINC";
			if (typeof algorithm === "string") {
				algorithm = { name: algorithm };
			}
			algorithm.options = algorithm.options || {};
			var prng = options.prng || forge.random;
			var rng = { nextBytes: function(x) {
				var b = prng.getBytesSync(x.length);
				for (var i = 0; i < x.length; ++i) {
					x[i] = b.charCodeAt(i);
				}
			} };
			if (algorithm.name === "PRIMEINC") {
				return primeincFindPrime(bits, rng, algorithm.options, callback);
			}
			throw new Error("Invalid prime generation algorithm: " + algorithm.name);
		};
		function primeincFindPrime(bits, rng, options, callback) {
			if ("workers" in options) {
				return primeincFindPrimeWithWorkers(bits, rng, options, callback);
			}
			return primeincFindPrimeWithoutWorkers(bits, rng, options, callback);
		}
		function primeincFindPrimeWithoutWorkers(bits, rng, options, callback) {
			var num = generateRandom(bits, rng);
			var deltaIdx = 0;
			var mrTests = getMillerRabinTests(num.bitLength());
			if ("millerRabinTests" in options) {
				mrTests = options.millerRabinTests;
			}
			var maxBlockTime = 10;
			if ("maxBlockTime" in options) {
				maxBlockTime = options.maxBlockTime;
			}
			_primeinc(num, bits, rng, deltaIdx, mrTests, maxBlockTime, callback);
		}
		function _primeinc(num, bits, rng, deltaIdx, mrTests, maxBlockTime, callback) {
			var start = +new Date();
			do {
				if (num.bitLength() > bits) {
					num = generateRandom(bits, rng);
				}
				if (num.isProbablePrime(mrTests)) {
					return callback(null, num);
				}
				num.dAddOffset(GCD_30_DELTA[deltaIdx++ % 8], 0);
			} while (maxBlockTime < 0 || +new Date() - start < maxBlockTime);
			forge.util.setImmediate(function() {
				_primeinc(num, bits, rng, deltaIdx, mrTests, maxBlockTime, callback);
			});
		}
		function primeincFindPrimeWithWorkers(bits, rng, options, callback) {
			if (typeof Worker === "undefined") {
				return primeincFindPrimeWithoutWorkers(bits, rng, options, callback);
			}
			var num = generateRandom(bits, rng);
			var numWorkers = options.workers;
			var workLoad = options.workLoad || 100;
			var range = workLoad * 30 / 8;
			var workerScript = options.workerScript || "forge/prime.worker.js";
			if (numWorkers === -1) {
				return forge.util.estimateCores(function(err, cores) {
					if (err) {
						cores = 2;
					}
					numWorkers = cores - 1;
					generate();
				});
			}
			generate();
			function generate() {
				numWorkers = Math.max(1, numWorkers);
				var workers = [];
				for (var i = 0; i < numWorkers; ++i) {
					workers[i] = new Worker(workerScript);
				}
				var running = numWorkers;
				for (var i = 0; i < numWorkers; ++i) {
					workers[i].addEventListener("message", workerMessage);
				}
				var found = false;
				function workerMessage(e) {
					if (found) {
						return;
					}
					--running;
					var data = e.data;
					if (data.found) {
						for (var i = 0; i < workers.length; ++i) {
							workers[i].terminate();
						}
						found = true;
						return callback(null, new BigInteger(data.prime, 16));
					}
					if (num.bitLength() > bits) {
						num = generateRandom(bits, rng);
					}
					var hex = num.toString(16);
					e.target.postMessage({
						hex,
						workLoad
					});
					num.dAddOffset(range, 0);
				}
			}
		}
		/**
		* Generates a random number using the given number of bits and RNG.
		*
		* @param bits the number of bits for the number.
		* @param rng the random number generator to use.
		*
		* @return the random number.
		*/
		function generateRandom(bits, rng) {
			var num = new BigInteger(bits, rng);
			var bits1 = bits - 1;
			if (!num.testBit(bits1)) {
				num.bitwiseTo(BigInteger.ONE.shiftLeft(bits1), op_or, num);
			}
			num.dAddOffset(31 - num.mod(THIRTY).byteValue(), 0);
			return num;
		}
		/**
		* Returns the required number of Miller-Rabin tests to generate a
		* prime with an error probability of (1/2)^80.
		*
		* See Handbook of Applied Cryptography Chapter 4, Table 4.4.
		*
		* @param bits the bit size.
		*
		* @return the required number of iterations.
		*/
		function getMillerRabinTests(bits) {
			if (bits <= 100) return 27;
			if (bits <= 150) return 18;
			if (bits <= 200) return 15;
			if (bits <= 250) return 12;
			if (bits <= 300) return 9;
			if (bits <= 350) return 8;
			if (bits <= 400) return 7;
			if (bits <= 500) return 6;
			if (bits <= 600) return 5;
			if (bits <= 800) return 4;
			if (bits <= 1250) return 3;
			return 2;
		}
	})();
}));

//#endregion
//#region ../node_modules/node-forge/lib/rsa.js
var require_rsa = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Javascript implementation of basic RSA algorithms.
	*
	* @author Dave Longley
	*
	* Copyright (c) 2010-2014 Digital Bazaar, Inc.
	*
	* The only algorithm currently supported for PKI is RSA.
	*
	* An RSA key is often stored in ASN.1 DER format. The SubjectPublicKeyInfo
	* ASN.1 structure is composed of an algorithm of type AlgorithmIdentifier
	* and a subjectPublicKey of type bit string.
	*
	* The AlgorithmIdentifier contains an Object Identifier (OID) and parameters
	* for the algorithm, if any. In the case of RSA, there aren't any.
	*
	* SubjectPublicKeyInfo ::= SEQUENCE {
	*   algorithm AlgorithmIdentifier,
	*   subjectPublicKey BIT STRING
	* }
	*
	* AlgorithmIdentifer ::= SEQUENCE {
	*   algorithm OBJECT IDENTIFIER,
	*   parameters ANY DEFINED BY algorithm OPTIONAL
	* }
	*
	* For an RSA public key, the subjectPublicKey is:
	*
	* RSAPublicKey ::= SEQUENCE {
	*   modulus            INTEGER,    -- n
	*   publicExponent     INTEGER     -- e
	* }
	*
	* PrivateKeyInfo ::= SEQUENCE {
	*   version                   Version,
	*   privateKeyAlgorithm       PrivateKeyAlgorithmIdentifier,
	*   privateKey                PrivateKey,
	*   attributes           [0]  IMPLICIT Attributes OPTIONAL
	* }
	*
	* Version ::= INTEGER
	* PrivateKeyAlgorithmIdentifier ::= AlgorithmIdentifier
	* PrivateKey ::= OCTET STRING
	* Attributes ::= SET OF Attribute
	*
	* An RSA private key as the following structure:
	*
	* RSAPrivateKey ::= SEQUENCE {
	*   version Version,
	*   modulus INTEGER, -- n
	*   publicExponent INTEGER, -- e
	*   privateExponent INTEGER, -- d
	*   prime1 INTEGER, -- p
	*   prime2 INTEGER, -- q
	*   exponent1 INTEGER, -- d mod (p-1)
	*   exponent2 INTEGER, -- d mod (q-1)
	*   coefficient INTEGER -- (inverse of q) mod p
	* }
	*
	* Version ::= INTEGER
	*
	* The OID for the RSA key algorithm is: 1.2.840.113549.1.1.1
	*/
	var forge = require_forge();
	require_asn1();
	require_jsbn();
	require_oids();
	require_pkcs1();
	require_prime();
	require_random();
	require_util$8();
	if (typeof BigInteger === "undefined") {
		var BigInteger = forge.jsbn.BigInteger;
	}
	var _crypto = forge.util.isNodejs ? __require("crypto") : null;
	var asn1 = forge.asn1;
	var util = forge.util;
	forge.pki = forge.pki || {};
	module.exports = forge.pki.rsa = forge.rsa = forge.rsa || {};
	var pki = forge.pki;
	var GCD_30_DELTA = [
		6,
		4,
		2,
		4,
		2,
		4,
		6,
		2
	];
	var privateKeyValidator = {
		name: "PrivateKeyInfo",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		value: [
			{
				name: "PrivateKeyInfo.version",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.INTEGER,
				constructed: false,
				capture: "privateKeyVersion"
			},
			{
				name: "PrivateKeyInfo.privateKeyAlgorithm",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.SEQUENCE,
				constructed: true,
				value: [{
					name: "AlgorithmIdentifier.algorithm",
					tagClass: asn1.Class.UNIVERSAL,
					type: asn1.Type.OID,
					constructed: false,
					capture: "privateKeyOid"
				}]
			},
			{
				name: "PrivateKeyInfo",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.OCTETSTRING,
				constructed: false,
				capture: "privateKey"
			}
		]
	};
	var rsaPrivateKeyValidator = {
		name: "RSAPrivateKey",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		value: [
			{
				name: "RSAPrivateKey.version",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.INTEGER,
				constructed: false,
				capture: "privateKeyVersion"
			},
			{
				name: "RSAPrivateKey.modulus",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.INTEGER,
				constructed: false,
				capture: "privateKeyModulus"
			},
			{
				name: "RSAPrivateKey.publicExponent",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.INTEGER,
				constructed: false,
				capture: "privateKeyPublicExponent"
			},
			{
				name: "RSAPrivateKey.privateExponent",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.INTEGER,
				constructed: false,
				capture: "privateKeyPrivateExponent"
			},
			{
				name: "RSAPrivateKey.prime1",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.INTEGER,
				constructed: false,
				capture: "privateKeyPrime1"
			},
			{
				name: "RSAPrivateKey.prime2",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.INTEGER,
				constructed: false,
				capture: "privateKeyPrime2"
			},
			{
				name: "RSAPrivateKey.exponent1",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.INTEGER,
				constructed: false,
				capture: "privateKeyExponent1"
			},
			{
				name: "RSAPrivateKey.exponent2",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.INTEGER,
				constructed: false,
				capture: "privateKeyExponent2"
			},
			{
				name: "RSAPrivateKey.coefficient",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.INTEGER,
				constructed: false,
				capture: "privateKeyCoefficient"
			}
		]
	};
	var rsaPublicKeyValidator = {
		name: "RSAPublicKey",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		value: [{
			name: "RSAPublicKey.modulus",
			tagClass: asn1.Class.UNIVERSAL,
			type: asn1.Type.INTEGER,
			constructed: false,
			capture: "publicKeyModulus"
		}, {
			name: "RSAPublicKey.exponent",
			tagClass: asn1.Class.UNIVERSAL,
			type: asn1.Type.INTEGER,
			constructed: false,
			capture: "publicKeyExponent"
		}]
	};
	var publicKeyValidator = forge.pki.rsa.publicKeyValidator = {
		name: "SubjectPublicKeyInfo",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		captureAsn1: "subjectPublicKeyInfo",
		value: [{
			name: "SubjectPublicKeyInfo.AlgorithmIdentifier",
			tagClass: asn1.Class.UNIVERSAL,
			type: asn1.Type.SEQUENCE,
			constructed: true,
			value: [{
				name: "AlgorithmIdentifier.algorithm",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.OID,
				constructed: false,
				capture: "publicKeyOid"
			}]
		}, {
			name: "SubjectPublicKeyInfo.subjectPublicKey",
			tagClass: asn1.Class.UNIVERSAL,
			type: asn1.Type.BITSTRING,
			constructed: false,
			value: [{
				name: "SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.SEQUENCE,
				constructed: true,
				optional: true,
				captureAsn1: "rsaPublicKey"
			}]
		}]
	};
	var digestInfoValidator = {
		name: "DigestInfo",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		value: [{
			name: "DigestInfo.DigestAlgorithm",
			tagClass: asn1.Class.UNIVERSAL,
			type: asn1.Type.SEQUENCE,
			constructed: true,
			value: [{
				name: "DigestInfo.DigestAlgorithm.algorithmIdentifier",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.OID,
				constructed: false,
				capture: "algorithmIdentifier"
			}, {
				name: "DigestInfo.DigestAlgorithm.parameters",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.NULL,
				capture: "parameters",
				optional: true,
				constructed: false
			}]
		}, {
			name: "DigestInfo.digest",
			tagClass: asn1.Class.UNIVERSAL,
			type: asn1.Type.OCTETSTRING,
			constructed: false,
			capture: "digest"
		}]
	};
	/**
	* Wrap digest in DigestInfo object.
	*
	* This function implements EMSA-PKCS1-v1_5-ENCODE as per RFC 3447.
	*
	* DigestInfo ::= SEQUENCE {
	*   digestAlgorithm DigestAlgorithmIdentifier,
	*   digest Digest
	* }
	*
	* DigestAlgorithmIdentifier ::= AlgorithmIdentifier
	* Digest ::= OCTET STRING
	*
	* @param md the message digest object with the hash to sign.
	*
	* @return the encoded message (ready for RSA encrytion)
	*/
	var emsaPkcs1v15encode = function(md) {
		var oid;
		if (md.algorithm in pki.oids) {
			oid = pki.oids[md.algorithm];
		} else {
			var error = new Error("Unknown message digest algorithm.");
			error.algorithm = md.algorithm;
			throw error;
		}
		var oidBytes = asn1.oidToDer(oid).getBytes();
		var digestInfo = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []);
		var digestAlgorithm = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []);
		digestAlgorithm.value.push(asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, oidBytes));
		digestAlgorithm.value.push(asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, ""));
		var digest = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, md.digest().getBytes());
		digestInfo.value.push(digestAlgorithm);
		digestInfo.value.push(digest);
		return asn1.toDer(digestInfo).getBytes();
	};
	/**
	* Performs x^c mod n (RSA encryption or decryption operation).
	*
	* @param x the number to raise and mod.
	* @param key the key to use.
	* @param pub true if the key is public, false if private.
	*
	* @return the result of x^c mod n.
	*/
	var _modPow = function(x, key, pub) {
		if (pub) {
			return x.modPow(key.e, key.n);
		}
		if (!key.p || !key.q) {
			return x.modPow(key.d, key.n);
		}
		if (!key.dP) {
			key.dP = key.d.mod(key.p.subtract(BigInteger.ONE));
		}
		if (!key.dQ) {
			key.dQ = key.d.mod(key.q.subtract(BigInteger.ONE));
		}
		if (!key.qInv) {
			key.qInv = key.q.modInverse(key.p);
		}
		var r;
		do {
			r = new BigInteger(forge.util.bytesToHex(forge.random.getBytes(key.n.bitLength() / 8)), 16);
		} while (r.compareTo(key.n) >= 0 || !r.gcd(key.n).equals(BigInteger.ONE));
		x = x.multiply(r.modPow(key.e, key.n)).mod(key.n);
		var xp = x.mod(key.p).modPow(key.dP, key.p);
		var xq = x.mod(key.q).modPow(key.dQ, key.q);
		while (xp.compareTo(xq) < 0) {
			xp = xp.add(key.p);
		}
		var y = xp.subtract(xq).multiply(key.qInv).mod(key.p).multiply(key.q).add(xq);
		y = y.multiply(r.modInverse(key.n)).mod(key.n);
		return y;
	};
	/**
	* NOTE: THIS METHOD IS DEPRECATED, use 'sign' on a private key object or
	* 'encrypt' on a public key object instead.
	*
	* Performs RSA encryption.
	*
	* The parameter bt controls whether to put padding bytes before the
	* message passed in. Set bt to either true or false to disable padding
	* completely (in order to handle e.g. EMSA-PSS encoding seperately before),
	* signaling whether the encryption operation is a public key operation
	* (i.e. encrypting data) or not, i.e. private key operation (data signing).
	*
	* For PKCS#1 v1.5 padding pass in the block type to use, i.e. either 0x01
	* (for signing) or 0x02 (for encryption). The key operation mode (private
	* or public) is derived from this flag in that case).
	*
	* @param m the message to encrypt as a byte string.
	* @param key the RSA key to use.
	* @param bt for PKCS#1 v1.5 padding, the block type to use
	*   (0x01 for private key, 0x02 for public),
	*   to disable padding: true = public key, false = private key.
	*
	* @return the encrypted bytes as a string.
	*/
	pki.rsa.encrypt = function(m, key, bt) {
		var pub = bt;
		var eb;
		var k = Math.ceil(key.n.bitLength() / 8);
		if (bt !== false && bt !== true) {
			pub = bt === 2;
			eb = _encodePkcs1_v1_5(m, key, bt);
		} else {
			eb = forge.util.createBuffer();
			eb.putBytes(m);
		}
		var x = new BigInteger(eb.toHex(), 16);
		var y = _modPow(x, key, pub);
		var yhex = y.toString(16);
		var ed = forge.util.createBuffer();
		var zeros = k - Math.ceil(yhex.length / 2);
		while (zeros > 0) {
			ed.putByte(0);
			--zeros;
		}
		ed.putBytes(forge.util.hexToBytes(yhex));
		return ed.getBytes();
	};
	/**
	* NOTE: THIS METHOD IS DEPRECATED, use 'decrypt' on a private key object or
	* 'verify' on a public key object instead.
	*
	* Performs RSA decryption.
	*
	* The parameter ml controls whether to apply PKCS#1 v1.5 padding
	* or not.  Set ml = false to disable padding removal completely
	* (in order to handle e.g. EMSA-PSS later on) and simply pass back
	* the RSA encryption block.
	*
	* @param ed the encrypted data to decrypt in as a byte string.
	* @param key the RSA key to use.
	* @param pub true for a public key operation, false for private.
	* @param ml the message length, if known, false to disable padding.
	*
	* @return the decrypted message as a byte string.
	*/
	pki.rsa.decrypt = function(ed, key, pub, ml) {
		var k = Math.ceil(key.n.bitLength() / 8);
		if (ed.length !== k) {
			var error = new Error("Encrypted message length is invalid.");
			error.length = ed.length;
			error.expected = k;
			throw error;
		}
		var y = new BigInteger(forge.util.createBuffer(ed).toHex(), 16);
		if (y.compareTo(key.n) >= 0) {
			throw new Error("Encrypted message is invalid.");
		}
		var x = _modPow(y, key, pub);
		var xhex = x.toString(16);
		var eb = forge.util.createBuffer();
		var zeros = k - Math.ceil(xhex.length / 2);
		while (zeros > 0) {
			eb.putByte(0);
			--zeros;
		}
		eb.putBytes(forge.util.hexToBytes(xhex));
		if (ml !== false) {
			return _decodePkcs1_v1_5(eb.getBytes(), key, pub);
		}
		return eb.getBytes();
	};
	/**
	* Creates an RSA key-pair generation state object. It is used to allow
	* key-generation to be performed in steps. It also allows for a UI to
	* display progress updates.
	*
	* @param bits the size for the private key in bits, defaults to 2048.
	* @param e the public exponent to use, defaults to 65537 (0x10001).
	* @param [options] the options to use.
	*          prng a custom crypto-secure pseudo-random number generator to use,
	*            that must define "getBytesSync".
	*          algorithm the algorithm to use (default: 'PRIMEINC').
	*
	* @return the state object to use to generate the key-pair.
	*/
	pki.rsa.createKeyPairGenerationState = function(bits, e, options) {
		if (typeof bits === "string") {
			bits = parseInt(bits, 10);
		}
		bits = bits || 2048;
		options = options || {};
		var prng = options.prng || forge.random;
		var rng = { nextBytes: function(x) {
			var b = prng.getBytesSync(x.length);
			for (var i = 0; i < x.length; ++i) {
				x[i] = b.charCodeAt(i);
			}
		} };
		var algorithm = options.algorithm || "PRIMEINC";
		var rval;
		if (algorithm === "PRIMEINC") {
			rval = {
				algorithm,
				state: 0,
				bits,
				rng,
				eInt: e || 65537,
				e: new BigInteger(null),
				p: null,
				q: null,
				qBits: bits >> 1,
				pBits: bits - (bits >> 1),
				pqState: 0,
				num: null,
				keys: null
			};
			rval.e.fromInt(rval.eInt);
		} else {
			throw new Error("Invalid key generation algorithm: " + algorithm);
		}
		return rval;
	};
	/**
	* Attempts to runs the key-generation algorithm for at most n seconds
	* (approximately) using the given state. When key-generation has completed,
	* the keys will be stored in state.keys.
	*
	* To use this function to update a UI while generating a key or to prevent
	* causing browser lockups/warnings, set "n" to a value other than 0. A
	* simple pattern for generating a key and showing a progress indicator is:
	*
	* var state = pki.rsa.createKeyPairGenerationState(2048);
	* var step = function() {
	*   // step key-generation, run algorithm for 100 ms, repeat
	*   if(!forge.pki.rsa.stepKeyPairGenerationState(state, 100)) {
	*     setTimeout(step, 1);
	*   } else {
	*     // key-generation complete
	*     // TODO: turn off progress indicator here
	*     // TODO: use the generated key-pair in "state.keys"
	*   }
	* };
	* // TODO: turn on progress indicator here
	* setTimeout(step, 0);
	*
	* @param state the state to use.
	* @param n the maximum number of milliseconds to run the algorithm for, 0
	*          to run the algorithm to completion.
	*
	* @return true if the key-generation completed, false if not.
	*/
	pki.rsa.stepKeyPairGenerationState = function(state, n) {
		if (!("algorithm" in state)) {
			state.algorithm = "PRIMEINC";
		}
		var THIRTY = new BigInteger(null);
		THIRTY.fromInt(30);
		var deltaIdx = 0;
		var op_or = function(x, y) {
			return x | y;
		};
		var t1 = +new Date();
		var t2;
		var total = 0;
		while (state.keys === null && (n <= 0 || total < n)) {
			if (state.state === 0) {
				var bits = state.p === null ? state.pBits : state.qBits;
				var bits1 = bits - 1;
				if (state.pqState === 0) {
					state.num = new BigInteger(bits, state.rng);
					if (!state.num.testBit(bits1)) {
						state.num.bitwiseTo(BigInteger.ONE.shiftLeft(bits1), op_or, state.num);
					}
					state.num.dAddOffset(31 - state.num.mod(THIRTY).byteValue(), 0);
					deltaIdx = 0;
					++state.pqState;
				} else if (state.pqState === 1) {
					if (state.num.bitLength() > bits) {
						state.pqState = 0;
					} else if (state.num.isProbablePrime(_getMillerRabinTests(state.num.bitLength()))) {
						++state.pqState;
					} else {
						state.num.dAddOffset(GCD_30_DELTA[deltaIdx++ % 8], 0);
					}
				} else if (state.pqState === 2) {
					state.pqState = state.num.subtract(BigInteger.ONE).gcd(state.e).compareTo(BigInteger.ONE) === 0 ? 3 : 0;
				} else if (state.pqState === 3) {
					state.pqState = 0;
					if (state.p === null) {
						state.p = state.num;
					} else {
						state.q = state.num;
					}
					if (state.p !== null && state.q !== null) {
						++state.state;
					}
					state.num = null;
				}
			} else if (state.state === 1) {
				if (state.p.compareTo(state.q) < 0) {
					state.num = state.p;
					state.p = state.q;
					state.q = state.num;
				}
				++state.state;
			} else if (state.state === 2) {
				state.p1 = state.p.subtract(BigInteger.ONE);
				state.q1 = state.q.subtract(BigInteger.ONE);
				state.phi = state.p1.multiply(state.q1);
				++state.state;
			} else if (state.state === 3) {
				if (state.phi.gcd(state.e).compareTo(BigInteger.ONE) === 0) {
					++state.state;
				} else {
					state.p = null;
					state.q = null;
					state.state = 0;
				}
			} else if (state.state === 4) {
				state.n = state.p.multiply(state.q);
				if (state.n.bitLength() === state.bits) {
					++state.state;
				} else {
					state.q = null;
					state.state = 0;
				}
			} else if (state.state === 5) {
				var d = state.e.modInverse(state.phi);
				state.keys = {
					privateKey: pki.rsa.setPrivateKey(state.n, state.e, d, state.p, state.q, d.mod(state.p1), d.mod(state.q1), state.q.modInverse(state.p)),
					publicKey: pki.rsa.setPublicKey(state.n, state.e)
				};
			}
			t2 = +new Date();
			total += t2 - t1;
			t1 = t2;
		}
		return state.keys !== null;
	};
	/**
	* Generates an RSA public-private key pair in a single call.
	*
	* To generate a key-pair in steps (to allow for progress updates and to
	* prevent blocking or warnings in slow browsers) then use the key-pair
	* generation state functions.
	*
	* To generate a key-pair asynchronously (either through web-workers, if
	* available, or by breaking up the work on the main thread), pass a
	* callback function.
	*
	* @param [bits] the size for the private key in bits, defaults to 2048.
	* @param [e] the public exponent to use, defaults to 65537.
	* @param [options] options for key-pair generation, if given then 'bits'
	*            and 'e' must *not* be given:
	*          bits the size for the private key in bits, (default: 2048).
	*          e the public exponent to use, (default: 65537 (0x10001)).
	*          workerScript the worker script URL.
	*          workers the number of web workers (if supported) to use,
	*            (default: 2).
	*          workLoad the size of the work load, ie: number of possible prime
	*            numbers for each web worker to check per work assignment,
	*            (default: 100).
	*          prng a custom crypto-secure pseudo-random number generator to use,
	*            that must define "getBytesSync". Disables use of native APIs.
	*          algorithm the algorithm to use (default: 'PRIMEINC').
	* @param [callback(err, keypair)] called once the operation completes.
	*
	* @return an object with privateKey and publicKey properties.
	*/
	pki.rsa.generateKeyPair = function(bits, e, options, callback) {
		if (arguments.length === 1) {
			if (typeof bits === "object") {
				options = bits;
				bits = undefined;
			} else if (typeof bits === "function") {
				callback = bits;
				bits = undefined;
			}
		} else if (arguments.length === 2) {
			if (typeof bits === "number") {
				if (typeof e === "function") {
					callback = e;
					e = undefined;
				} else if (typeof e !== "number") {
					options = e;
					e = undefined;
				}
			} else {
				options = bits;
				callback = e;
				bits = undefined;
				e = undefined;
			}
		} else if (arguments.length === 3) {
			if (typeof e === "number") {
				if (typeof options === "function") {
					callback = options;
					options = undefined;
				}
			} else {
				callback = options;
				options = e;
				e = undefined;
			}
		}
		options = options || {};
		if (bits === undefined) {
			bits = options.bits || 2048;
		}
		if (e === undefined) {
			e = options.e || 65537;
		}
		if (!forge.options.usePureJavaScript && !options.prng && bits >= 256 && bits <= 16384 && (e === 65537 || e === 3)) {
			if (callback) {
				if (_detectNodeCrypto("generateKeyPair")) {
					return _crypto.generateKeyPair("rsa", {
						modulusLength: bits,
						publicExponent: e,
						publicKeyEncoding: {
							type: "spki",
							format: "pem"
						},
						privateKeyEncoding: {
							type: "pkcs8",
							format: "pem"
						}
					}, function(err, pub, priv) {
						if (err) {
							return callback(err);
						}
						callback(null, {
							privateKey: pki.privateKeyFromPem(priv),
							publicKey: pki.publicKeyFromPem(pub)
						});
					});
				}
				if (_detectSubtleCrypto("generateKey") && _detectSubtleCrypto("exportKey")) {
					return util.globalScope.crypto.subtle.generateKey({
						name: "RSASSA-PKCS1-v1_5",
						modulusLength: bits,
						publicExponent: _intToUint8Array(e),
						hash: { name: "SHA-256" }
					}, true, ["sign", "verify"]).then(function(pair) {
						return util.globalScope.crypto.subtle.exportKey("pkcs8", pair.privateKey);
					}).then(undefined, function(err) {
						callback(err);
					}).then(function(pkcs8) {
						if (pkcs8) {
							var privateKey = pki.privateKeyFromAsn1(asn1.fromDer(forge.util.createBuffer(pkcs8)));
							callback(null, {
								privateKey,
								publicKey: pki.setRsaPublicKey(privateKey.n, privateKey.e)
							});
						}
					});
				}
				if (_detectSubtleMsCrypto("generateKey") && _detectSubtleMsCrypto("exportKey")) {
					var genOp = util.globalScope.msCrypto.subtle.generateKey({
						name: "RSASSA-PKCS1-v1_5",
						modulusLength: bits,
						publicExponent: _intToUint8Array(e),
						hash: { name: "SHA-256" }
					}, true, ["sign", "verify"]);
					genOp.oncomplete = function(e) {
						var pair = e.target.result;
						var exportOp = util.globalScope.msCrypto.subtle.exportKey("pkcs8", pair.privateKey);
						exportOp.oncomplete = function(e) {
							var pkcs8 = e.target.result;
							var privateKey = pki.privateKeyFromAsn1(asn1.fromDer(forge.util.createBuffer(pkcs8)));
							callback(null, {
								privateKey,
								publicKey: pki.setRsaPublicKey(privateKey.n, privateKey.e)
							});
						};
						exportOp.onerror = function(err) {
							callback(err);
						};
					};
					genOp.onerror = function(err) {
						callback(err);
					};
					return;
				}
			} else {
				if (_detectNodeCrypto("generateKeyPairSync")) {
					var keypair = _crypto.generateKeyPairSync("rsa", {
						modulusLength: bits,
						publicExponent: e,
						publicKeyEncoding: {
							type: "spki",
							format: "pem"
						},
						privateKeyEncoding: {
							type: "pkcs8",
							format: "pem"
						}
					});
					return {
						privateKey: pki.privateKeyFromPem(keypair.privateKey),
						publicKey: pki.publicKeyFromPem(keypair.publicKey)
					};
				}
			}
		}
		var state = pki.rsa.createKeyPairGenerationState(bits, e, options);
		if (!callback) {
			pki.rsa.stepKeyPairGenerationState(state, 0);
			return state.keys;
		}
		_generateKeyPair(state, options, callback);
	};
	/**
	* Sets an RSA public key from BigIntegers modulus and exponent.
	*
	* @param n the modulus.
	* @param e the exponent.
	*
	* @return the public key.
	*/
	pki.setRsaPublicKey = pki.rsa.setPublicKey = function(n, e) {
		var key = {
			n,
			e
		};
		/**
		* Encrypts the given data with this public key. Newer applications
		* should use the 'RSA-OAEP' decryption scheme, 'RSAES-PKCS1-V1_5' is for
		* legacy applications.
		*
		* @param data the byte string to encrypt.
		* @param scheme the encryption scheme to use:
		*          'RSAES-PKCS1-V1_5' (default),
		*          'RSA-OAEP',
		*          'RAW', 'NONE', or null to perform raw RSA encryption,
		*          an object with an 'encode' property set to a function
		*          with the signature 'function(data, key)' that returns
		*          a binary-encoded string representing the encoded data.
		* @param schemeOptions any scheme-specific options.
		*
		* @return the encrypted byte string.
		*/
		key.encrypt = function(data, scheme, schemeOptions) {
			if (typeof scheme === "string") {
				scheme = scheme.toUpperCase();
			} else if (scheme === undefined) {
				scheme = "RSAES-PKCS1-V1_5";
			}
			if (scheme === "RSAES-PKCS1-V1_5") {
				scheme = { encode: function(m, key, pub) {
					return _encodePkcs1_v1_5(m, key, 2).getBytes();
				} };
			} else if (scheme === "RSA-OAEP" || scheme === "RSAES-OAEP") {
				scheme = { encode: function(m, key) {
					return forge.pkcs1.encode_rsa_oaep(key, m, schemeOptions);
				} };
			} else if ([
				"RAW",
				"NONE",
				"NULL",
				null
			].indexOf(scheme) !== -1) {
				scheme = { encode: function(e) {
					return e;
				} };
			} else if (typeof scheme === "string") {
				throw new Error("Unsupported encryption scheme: \"" + scheme + "\".");
			}
			var e = scheme.encode(data, key, true);
			return pki.rsa.encrypt(e, key, true);
		};
		/**
		* Verifies the given signature against the given digest.
		*
		* PKCS#1 supports multiple (currently two) signature schemes:
		* RSASSA-PKCS1-V1_5 and RSASSA-PSS.
		*
		* By default this implementation uses the "old scheme", i.e.
		* RSASSA-PKCS1-V1_5, in which case once RSA-decrypted, the
		* signature is an OCTET STRING that holds a DigestInfo.
		*
		* DigestInfo ::= SEQUENCE {
		*   digestAlgorithm DigestAlgorithmIdentifier,
		*   digest Digest
		* }
		* DigestAlgorithmIdentifier ::= AlgorithmIdentifier
		* Digest ::= OCTET STRING
		*
		* To perform PSS signature verification, provide an instance
		* of Forge PSS object as the scheme parameter.
		*
		* @param digest the message digest hash to compare against the signature,
		*          as a binary-encoded string.
		* @param signature the signature to verify, as a binary-encoded string.
		* @param scheme signature verification scheme to use:
		*          'RSASSA-PKCS1-V1_5' or undefined for RSASSA PKCS#1 v1.5,
		*          a Forge PSS object for RSASSA-PSS,
		*          'NONE' or null for none, DigestInfo will not be expected, but
		*            PKCS#1 v1.5 padding will still be used.
		* @param options optional verify options
		*          _parseAllDigestBytes testing flag to control parsing of all
		*            digest bytes. Unsupported and not for general usage.
		*            (default: true)
		*
		* @return true if the signature was verified, false if not.
		*/
		key.verify = function(digest, signature, scheme, options) {
			if (typeof scheme === "string") {
				scheme = scheme.toUpperCase();
			} else if (scheme === undefined) {
				scheme = "RSASSA-PKCS1-V1_5";
			}
			if (options === undefined) {
				options = { _parseAllDigestBytes: true };
			}
			if (!("_parseAllDigestBytes" in options)) {
				options._parseAllDigestBytes = true;
			}
			if (scheme === "RSASSA-PKCS1-V1_5") {
				scheme = { verify: function(digest, d) {
					d = _decodePkcs1_v1_5(d, key, true);
					var obj = asn1.fromDer(d, { parseAllBytes: options._parseAllDigestBytes });
					var capture = {};
					var errors = [];
					if (!asn1.validate(obj, digestInfoValidator, capture, errors)) {
						var error = new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 " + "DigestInfo value.");
						error.errors = errors;
						throw error;
					}
					var oid = asn1.derToOid(capture.algorithmIdentifier);
					if (!(oid === forge.oids.md2 || oid === forge.oids.md5 || oid === forge.oids.sha1 || oid === forge.oids.sha224 || oid === forge.oids.sha256 || oid === forge.oids.sha384 || oid === forge.oids.sha512 || oid === forge.oids["sha512-224"] || oid === forge.oids["sha512-256"])) {
						var error = new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");
						error.oid = oid;
						throw error;
					}
					if (oid === forge.oids.md2 || oid === forge.oids.md5) {
						if (!("parameters" in capture)) {
							throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 " + "DigestInfo value. " + "Missing algorithm identifer NULL parameters.");
						}
					}
					return digest === capture.digest;
				} };
			} else if (scheme === "NONE" || scheme === "NULL" || scheme === null) {
				scheme = { verify: function(digest, d) {
					d = _decodePkcs1_v1_5(d, key, true);
					return digest === d;
				} };
			}
			var d = pki.rsa.decrypt(signature, key, true, false);
			return scheme.verify(digest, d, key.n.bitLength());
		};
		return key;
	};
	/**
	* Sets an RSA private key from BigIntegers modulus, exponent, primes,
	* prime exponents, and modular multiplicative inverse.
	*
	* @param n the modulus.
	* @param e the public exponent.
	* @param d the private exponent ((inverse of e) mod n).
	* @param p the first prime.
	* @param q the second prime.
	* @param dP exponent1 (d mod (p-1)).
	* @param dQ exponent2 (d mod (q-1)).
	* @param qInv ((inverse of q) mod p)
	*
	* @return the private key.
	*/
	pki.setRsaPrivateKey = pki.rsa.setPrivateKey = function(n, e, d, p, q, dP, dQ, qInv) {
		var key = {
			n,
			e,
			d,
			p,
			q,
			dP,
			dQ,
			qInv
		};
		/**
		* Decrypts the given data with this private key. The decryption scheme
		* must match the one used to encrypt the data.
		*
		* @param data the byte string to decrypt.
		* @param scheme the decryption scheme to use:
		*          'RSAES-PKCS1-V1_5' (default),
		*          'RSA-OAEP',
		*          'RAW', 'NONE', or null to perform raw RSA decryption.
		* @param schemeOptions any scheme-specific options.
		*
		* @return the decrypted byte string.
		*/
		key.decrypt = function(data, scheme, schemeOptions) {
			if (typeof scheme === "string") {
				scheme = scheme.toUpperCase();
			} else if (scheme === undefined) {
				scheme = "RSAES-PKCS1-V1_5";
			}
			var d = pki.rsa.decrypt(data, key, false, false);
			if (scheme === "RSAES-PKCS1-V1_5") {
				scheme = { decode: _decodePkcs1_v1_5 };
			} else if (scheme === "RSA-OAEP" || scheme === "RSAES-OAEP") {
				scheme = { decode: function(d, key) {
					return forge.pkcs1.decode_rsa_oaep(key, d, schemeOptions);
				} };
			} else if ([
				"RAW",
				"NONE",
				"NULL",
				null
			].indexOf(scheme) !== -1) {
				scheme = { decode: function(d) {
					return d;
				} };
			} else {
				throw new Error("Unsupported encryption scheme: \"" + scheme + "\".");
			}
			return scheme.decode(d, key, false);
		};
		/**
		* Signs the given digest, producing a signature.
		*
		* PKCS#1 supports multiple (currently two) signature schemes:
		* RSASSA-PKCS1-V1_5 and RSASSA-PSS.
		*
		* By default this implementation uses the "old scheme", i.e.
		* RSASSA-PKCS1-V1_5. In order to generate a PSS signature, provide
		* an instance of Forge PSS object as the scheme parameter.
		*
		* @param md the message digest object with the hash to sign.
		* @param scheme the signature scheme to use:
		*          'RSASSA-PKCS1-V1_5' or undefined for RSASSA PKCS#1 v1.5,
		*          a Forge PSS object for RSASSA-PSS,
		*          'NONE' or null for none, DigestInfo will not be used but
		*            PKCS#1 v1.5 padding will still be used.
		*
		* @return the signature as a byte string.
		*/
		key.sign = function(md, scheme) {
			var bt = false;
			if (typeof scheme === "string") {
				scheme = scheme.toUpperCase();
			}
			if (scheme === undefined || scheme === "RSASSA-PKCS1-V1_5") {
				scheme = { encode: emsaPkcs1v15encode };
				bt = 1;
			} else if (scheme === "NONE" || scheme === "NULL" || scheme === null) {
				scheme = { encode: function() {
					return md;
				} };
				bt = 1;
			}
			var d = scheme.encode(md, key.n.bitLength());
			return pki.rsa.encrypt(d, key, bt);
		};
		return key;
	};
	/**
	* Wraps an RSAPrivateKey ASN.1 object in an ASN.1 PrivateKeyInfo object.
	*
	* @param rsaKey the ASN.1 RSAPrivateKey.
	*
	* @return the ASN.1 PrivateKeyInfo.
	*/
	pki.wrapRsaPrivateKey = function(rsaKey) {
		return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, asn1.integerToDer(0).getBytes()),
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(pki.oids.rsaEncryption).getBytes()), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, "")]),
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, asn1.toDer(rsaKey).getBytes())
		]);
	};
	/**
	* Converts a private key from an ASN.1 object.
	*
	* @param obj the ASN.1 representation of a PrivateKeyInfo containing an
	*          RSAPrivateKey or an RSAPrivateKey.
	*
	* @return the private key.
	*/
	pki.privateKeyFromAsn1 = function(obj) {
		var capture = {};
		var errors = [];
		if (asn1.validate(obj, privateKeyValidator, capture, errors)) {
			obj = asn1.fromDer(forge.util.createBuffer(capture.privateKey));
		}
		capture = {};
		errors = [];
		if (!asn1.validate(obj, rsaPrivateKeyValidator, capture, errors)) {
			var error = new Error("Cannot read private key. " + "ASN.1 object does not contain an RSAPrivateKey.");
			error.errors = errors;
			throw error;
		}
		var n, e, d, p, q, dP, dQ, qInv;
		n = forge.util.createBuffer(capture.privateKeyModulus).toHex();
		e = forge.util.createBuffer(capture.privateKeyPublicExponent).toHex();
		d = forge.util.createBuffer(capture.privateKeyPrivateExponent).toHex();
		p = forge.util.createBuffer(capture.privateKeyPrime1).toHex();
		q = forge.util.createBuffer(capture.privateKeyPrime2).toHex();
		dP = forge.util.createBuffer(capture.privateKeyExponent1).toHex();
		dQ = forge.util.createBuffer(capture.privateKeyExponent2).toHex();
		qInv = forge.util.createBuffer(capture.privateKeyCoefficient).toHex();
		return pki.setRsaPrivateKey(new BigInteger(n, 16), new BigInteger(e, 16), new BigInteger(d, 16), new BigInteger(p, 16), new BigInteger(q, 16), new BigInteger(dP, 16), new BigInteger(dQ, 16), new BigInteger(qInv, 16));
	};
	/**
	* Converts a private key to an ASN.1 RSAPrivateKey.
	*
	* @param key the private key.
	*
	* @return the ASN.1 representation of an RSAPrivateKey.
	*/
	pki.privateKeyToAsn1 = pki.privateKeyToRSAPrivateKey = function(key) {
		return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, asn1.integerToDer(0).getBytes()),
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, _bnToBytes(key.n)),
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, _bnToBytes(key.e)),
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, _bnToBytes(key.d)),
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, _bnToBytes(key.p)),
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, _bnToBytes(key.q)),
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, _bnToBytes(key.dP)),
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, _bnToBytes(key.dQ)),
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, _bnToBytes(key.qInv))
		]);
	};
	/**
	* Converts a public key from an ASN.1 SubjectPublicKeyInfo or RSAPublicKey.
	*
	* @param obj the asn1 representation of a SubjectPublicKeyInfo or RSAPublicKey.
	*
	* @return the public key.
	*/
	pki.publicKeyFromAsn1 = function(obj) {
		var capture = {};
		var errors = [];
		if (asn1.validate(obj, publicKeyValidator, capture, errors)) {
			var oid = asn1.derToOid(capture.publicKeyOid);
			if (oid !== pki.oids.rsaEncryption) {
				var error = new Error("Cannot read public key. Unknown OID.");
				error.oid = oid;
				throw error;
			}
			obj = capture.rsaPublicKey;
		}
		errors = [];
		if (!asn1.validate(obj, rsaPublicKeyValidator, capture, errors)) {
			var error = new Error("Cannot read public key. " + "ASN.1 object does not contain an RSAPublicKey.");
			error.errors = errors;
			throw error;
		}
		var n = forge.util.createBuffer(capture.publicKeyModulus).toHex();
		var e = forge.util.createBuffer(capture.publicKeyExponent).toHex();
		return pki.setRsaPublicKey(new BigInteger(n, 16), new BigInteger(e, 16));
	};
	/**
	* Converts a public key to an ASN.1 SubjectPublicKeyInfo.
	*
	* @param key the public key.
	*
	* @return the asn1 representation of a SubjectPublicKeyInfo.
	*/
	pki.publicKeyToAsn1 = pki.publicKeyToSubjectPublicKeyInfo = function(key) {
		return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(pki.oids.rsaEncryption).getBytes()), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, "")]), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.BITSTRING, false, [pki.publicKeyToRSAPublicKey(key)])]);
	};
	/**
	* Converts a public key to an ASN.1 RSAPublicKey.
	*
	* @param key the public key.
	*
	* @return the asn1 representation of a RSAPublicKey.
	*/
	pki.publicKeyToRSAPublicKey = function(key) {
		return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, _bnToBytes(key.n)), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, _bnToBytes(key.e))]);
	};
	/**
	* Encodes a message using PKCS#1 v1.5 padding.
	*
	* @param m the message to encode.
	* @param key the RSA key to use.
	* @param bt the block type to use, i.e. either 0x01 (for signing) or 0x02
	*          (for encryption).
	*
	* @return the padded byte buffer.
	*/
	function _encodePkcs1_v1_5(m, key, bt) {
		var eb = forge.util.createBuffer();
		var k = Math.ceil(key.n.bitLength() / 8);
		if (m.length > k - 11) {
			var error = new Error("Message is too long for PKCS#1 v1.5 padding.");
			error.length = m.length;
			error.max = k - 11;
			throw error;
		}
		eb.putByte(0);
		eb.putByte(bt);
		var padNum = k - 3 - m.length;
		var padByte;
		if (bt === 0 || bt === 1) {
			padByte = bt === 0 ? 0 : 255;
			for (var i = 0; i < padNum; ++i) {
				eb.putByte(padByte);
			}
		} else {
			while (padNum > 0) {
				var numZeros = 0;
				var padBytes = forge.random.getBytes(padNum);
				for (var i = 0; i < padNum; ++i) {
					padByte = padBytes.charCodeAt(i);
					if (padByte === 0) {
						++numZeros;
					} else {
						eb.putByte(padByte);
					}
				}
				padNum = numZeros;
			}
		}
		eb.putByte(0);
		eb.putBytes(m);
		return eb;
	}
	/**
	* Decodes a message using PKCS#1 v1.5 padding.
	*
	* @param em the message to decode.
	* @param key the RSA key to use.
	* @param pub true if the key is a public key, false if it is private.
	* @param ml the message length, if specified.
	*
	* @return the decoded bytes.
	*/
	function _decodePkcs1_v1_5(em, key, pub, ml) {
		var k = Math.ceil(key.n.bitLength() / 8);
		var eb = forge.util.createBuffer(em);
		var first = eb.getByte();
		var bt = eb.getByte();
		if (first !== 0 || pub && bt !== 0 && bt !== 1 || !pub && bt != 2 || pub && bt === 0 && typeof ml === "undefined") {
			throw new Error("Encryption block is invalid.");
		}
		var padNum = 0;
		if (bt === 0) {
			padNum = k - 3 - ml;
			for (var i = 0; i < padNum; ++i) {
				if (eb.getByte() !== 0) {
					throw new Error("Encryption block is invalid.");
				}
			}
		} else if (bt === 1) {
			padNum = 0;
			while (eb.length() > 1) {
				if (eb.getByte() !== 255) {
					--eb.read;
					break;
				}
				++padNum;
			}
		} else if (bt === 2) {
			padNum = 0;
			while (eb.length() > 1) {
				if (eb.getByte() === 0) {
					--eb.read;
					break;
				}
				++padNum;
			}
		}
		var zero = eb.getByte();
		if (zero !== 0 || padNum !== k - 3 - eb.length()) {
			throw new Error("Encryption block is invalid.");
		}
		return eb.getBytes();
	}
	/**
	* Runs the key-generation algorithm asynchronously, either in the background
	* via Web Workers, or using the main thread and setImmediate.
	*
	* @param state the key-pair generation state.
	* @param [options] options for key-pair generation:
	*          workerScript the worker script URL.
	*          workers the number of web workers (if supported) to use,
	*            (default: 2, -1 to use estimated cores minus one).
	*          workLoad the size of the work load, ie: number of possible prime
	*            numbers for each web worker to check per work assignment,
	*            (default: 100).
	* @param callback(err, keypair) called once the operation completes.
	*/
	function _generateKeyPair(state, options, callback) {
		if (typeof options === "function") {
			callback = options;
			options = {};
		}
		options = options || {};
		var opts = { algorithm: {
			name: options.algorithm || "PRIMEINC",
			options: {
				workers: options.workers || 2,
				workLoad: options.workLoad || 100,
				workerScript: options.workerScript
			}
		} };
		if ("prng" in options) {
			opts.prng = options.prng;
		}
		generate();
		function generate() {
			getPrime(state.pBits, function(err, num) {
				if (err) {
					return callback(err);
				}
				state.p = num;
				if (state.q !== null) {
					return finish(err, state.q);
				}
				getPrime(state.qBits, finish);
			});
		}
		function getPrime(bits, callback) {
			forge.prime.generateProbablePrime(bits, opts, callback);
		}
		function finish(err, num) {
			if (err) {
				return callback(err);
			}
			state.q = num;
			if (state.p.compareTo(state.q) < 0) {
				var tmp = state.p;
				state.p = state.q;
				state.q = tmp;
			}
			if (state.p.subtract(BigInteger.ONE).gcd(state.e).compareTo(BigInteger.ONE) !== 0) {
				state.p = null;
				generate();
				return;
			}
			if (state.q.subtract(BigInteger.ONE).gcd(state.e).compareTo(BigInteger.ONE) !== 0) {
				state.q = null;
				getPrime(state.qBits, finish);
				return;
			}
			state.p1 = state.p.subtract(BigInteger.ONE);
			state.q1 = state.q.subtract(BigInteger.ONE);
			state.phi = state.p1.multiply(state.q1);
			if (state.phi.gcd(state.e).compareTo(BigInteger.ONE) !== 0) {
				state.p = state.q = null;
				generate();
				return;
			}
			state.n = state.p.multiply(state.q);
			if (state.n.bitLength() !== state.bits) {
				state.q = null;
				getPrime(state.qBits, finish);
				return;
			}
			var d = state.e.modInverse(state.phi);
			state.keys = {
				privateKey: pki.rsa.setPrivateKey(state.n, state.e, d, state.p, state.q, d.mod(state.p1), d.mod(state.q1), state.q.modInverse(state.p)),
				publicKey: pki.rsa.setPublicKey(state.n, state.e)
			};
			callback(null, state.keys);
		}
	}
	/**
	* Converts a positive BigInteger into 2's-complement big-endian bytes.
	*
	* @param b the big integer to convert.
	*
	* @return the bytes.
	*/
	function _bnToBytes(b) {
		var hex = b.toString(16);
		if (hex[0] >= "8") {
			hex = "00" + hex;
		}
		var bytes = forge.util.hexToBytes(hex);
		if (bytes.length > 1 && (bytes.charCodeAt(0) === 0 && (bytes.charCodeAt(1) & 128) === 0 || bytes.charCodeAt(0) === 255 && (bytes.charCodeAt(1) & 128) === 128)) {
			return bytes.substr(1);
		}
		return bytes;
	}
	/**
	* Returns the required number of Miller-Rabin tests to generate a
	* prime with an error probability of (1/2)^80.
	*
	* See Handbook of Applied Cryptography Chapter 4, Table 4.4.
	*
	* @param bits the bit size.
	*
	* @return the required number of iterations.
	*/
	function _getMillerRabinTests(bits) {
		if (bits <= 100) return 27;
		if (bits <= 150) return 18;
		if (bits <= 200) return 15;
		if (bits <= 250) return 12;
		if (bits <= 300) return 9;
		if (bits <= 350) return 8;
		if (bits <= 400) return 7;
		if (bits <= 500) return 6;
		if (bits <= 600) return 5;
		if (bits <= 800) return 4;
		if (bits <= 1250) return 3;
		return 2;
	}
	/**
	* Performs feature detection on the Node crypto interface.
	*
	* @param fn the feature (function) to detect.
	*
	* @return true if detected, false if not.
	*/
	function _detectNodeCrypto(fn) {
		return forge.util.isNodejs && typeof _crypto[fn] === "function";
	}
	/**
	* Performs feature detection on the SubtleCrypto interface.
	*
	* @param fn the feature (function) to detect.
	*
	* @return true if detected, false if not.
	*/
	function _detectSubtleCrypto(fn) {
		return typeof util.globalScope !== "undefined" && typeof util.globalScope.crypto === "object" && typeof util.globalScope.crypto.subtle === "object" && typeof util.globalScope.crypto.subtle[fn] === "function";
	}
	/**
	* Performs feature detection on the deprecated Microsoft Internet Explorer
	* outdated SubtleCrypto interface. This function should only be used after
	* checking for the modern, standard SubtleCrypto interface.
	*
	* @param fn the feature (function) to detect.
	*
	* @return true if detected, false if not.
	*/
	function _detectSubtleMsCrypto(fn) {
		return typeof util.globalScope !== "undefined" && typeof util.globalScope.msCrypto === "object" && typeof util.globalScope.msCrypto.subtle === "object" && typeof util.globalScope.msCrypto.subtle[fn] === "function";
	}
	function _intToUint8Array(x) {
		var bytes = forge.util.hexToBytes(x.toString(16));
		var buffer = new Uint8Array(bytes.length);
		for (var i = 0; i < bytes.length; ++i) {
			buffer[i] = bytes.charCodeAt(i);
		}
		return buffer;
	}
	function _privateKeyFromJwk(jwk) {
		if (jwk.kty !== "RSA") {
			throw new Error("Unsupported key algorithm \"" + jwk.kty + "\"; algorithm must be \"RSA\".");
		}
		return pki.setRsaPrivateKey(_base64ToBigInt(jwk.n), _base64ToBigInt(jwk.e), _base64ToBigInt(jwk.d), _base64ToBigInt(jwk.p), _base64ToBigInt(jwk.q), _base64ToBigInt(jwk.dp), _base64ToBigInt(jwk.dq), _base64ToBigInt(jwk.qi));
	}
	function _publicKeyFromJwk(jwk) {
		if (jwk.kty !== "RSA") {
			throw new Error("Key algorithm must be \"RSA\".");
		}
		return pki.setRsaPublicKey(_base64ToBigInt(jwk.n), _base64ToBigInt(jwk.e));
	}
	function _base64ToBigInt(b64) {
		return new BigInteger(forge.util.bytesToHex(forge.util.decode64(b64)), 16);
	}
}));

//#endregion
//#region ../node_modules/node-forge/lib/pbe.js
var require_pbe = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Password-based encryption functions.
	*
	* @author Dave Longley
	* @author Stefan Siegl <stesie@brokenpipe.de>
	*
	* Copyright (c) 2010-2013 Digital Bazaar, Inc.
	* Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
	*
	* An EncryptedPrivateKeyInfo:
	*
	* EncryptedPrivateKeyInfo ::= SEQUENCE {
	*   encryptionAlgorithm  EncryptionAlgorithmIdentifier,
	*   encryptedData        EncryptedData }
	*
	* EncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
	*
	* EncryptedData ::= OCTET STRING
	*/
	var forge = require_forge();
	require_aes$1();
	require_asn1();
	require_des();
	require_md();
	require_oids();
	require_pbkdf2$1();
	require_pem();
	require_random();
	require_rc2();
	require_rsa();
	require_util$8();
	if (typeof BigInteger === "undefined") {
		var BigInteger = forge.jsbn.BigInteger;
	}
	var asn1 = forge.asn1;
	var pki = forge.pki = forge.pki || {};
	module.exports = pki.pbe = forge.pbe = forge.pbe || {};
	var oids = pki.oids;
	var encryptedPrivateKeyValidator = {
		name: "EncryptedPrivateKeyInfo",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		value: [{
			name: "EncryptedPrivateKeyInfo.encryptionAlgorithm",
			tagClass: asn1.Class.UNIVERSAL,
			type: asn1.Type.SEQUENCE,
			constructed: true,
			value: [{
				name: "AlgorithmIdentifier.algorithm",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.OID,
				constructed: false,
				capture: "encryptionOid"
			}, {
				name: "AlgorithmIdentifier.parameters",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.SEQUENCE,
				constructed: true,
				captureAsn1: "encryptionParams"
			}]
		}, {
			name: "EncryptedPrivateKeyInfo.encryptedData",
			tagClass: asn1.Class.UNIVERSAL,
			type: asn1.Type.OCTETSTRING,
			constructed: false,
			capture: "encryptedData"
		}]
	};
	var PBES2AlgorithmsValidator = {
		name: "PBES2Algorithms",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		value: [{
			name: "PBES2Algorithms.keyDerivationFunc",
			tagClass: asn1.Class.UNIVERSAL,
			type: asn1.Type.SEQUENCE,
			constructed: true,
			value: [{
				name: "PBES2Algorithms.keyDerivationFunc.oid",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.OID,
				constructed: false,
				capture: "kdfOid"
			}, {
				name: "PBES2Algorithms.params",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.SEQUENCE,
				constructed: true,
				value: [
					{
						name: "PBES2Algorithms.params.salt",
						tagClass: asn1.Class.UNIVERSAL,
						type: asn1.Type.OCTETSTRING,
						constructed: false,
						capture: "kdfSalt"
					},
					{
						name: "PBES2Algorithms.params.iterationCount",
						tagClass: asn1.Class.UNIVERSAL,
						type: asn1.Type.INTEGER,
						constructed: false,
						capture: "kdfIterationCount"
					},
					{
						name: "PBES2Algorithms.params.keyLength",
						tagClass: asn1.Class.UNIVERSAL,
						type: asn1.Type.INTEGER,
						constructed: false,
						optional: true,
						capture: "keyLength"
					},
					{
						name: "PBES2Algorithms.params.prf",
						tagClass: asn1.Class.UNIVERSAL,
						type: asn1.Type.SEQUENCE,
						constructed: true,
						optional: true,
						value: [{
							name: "PBES2Algorithms.params.prf.algorithm",
							tagClass: asn1.Class.UNIVERSAL,
							type: asn1.Type.OID,
							constructed: false,
							capture: "prfOid"
						}]
					}
				]
			}]
		}, {
			name: "PBES2Algorithms.encryptionScheme",
			tagClass: asn1.Class.UNIVERSAL,
			type: asn1.Type.SEQUENCE,
			constructed: true,
			value: [{
				name: "PBES2Algorithms.encryptionScheme.oid",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.OID,
				constructed: false,
				capture: "encOid"
			}, {
				name: "PBES2Algorithms.encryptionScheme.iv",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.OCTETSTRING,
				constructed: false,
				capture: "encIv"
			}]
		}]
	};
	var pkcs12PbeParamsValidator = {
		name: "pkcs-12PbeParams",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		value: [{
			name: "pkcs-12PbeParams.salt",
			tagClass: asn1.Class.UNIVERSAL,
			type: asn1.Type.OCTETSTRING,
			constructed: false,
			capture: "salt"
		}, {
			name: "pkcs-12PbeParams.iterations",
			tagClass: asn1.Class.UNIVERSAL,
			type: asn1.Type.INTEGER,
			constructed: false,
			capture: "iterations"
		}]
	};
	/**
	* Encrypts a ASN.1 PrivateKeyInfo object, producing an EncryptedPrivateKeyInfo.
	*
	* PBES2Algorithms ALGORITHM-IDENTIFIER ::=
	*   { {PBES2-params IDENTIFIED BY id-PBES2}, ...}
	*
	* id-PBES2 OBJECT IDENTIFIER ::= {pkcs-5 13}
	*
	* PBES2-params ::= SEQUENCE {
	*   keyDerivationFunc AlgorithmIdentifier {{PBES2-KDFs}},
	*   encryptionScheme AlgorithmIdentifier {{PBES2-Encs}}
	* }
	*
	* PBES2-KDFs ALGORITHM-IDENTIFIER ::=
	*   { {PBKDF2-params IDENTIFIED BY id-PBKDF2}, ... }
	*
	* PBES2-Encs ALGORITHM-IDENTIFIER ::= { ... }
	*
	* PBKDF2-params ::= SEQUENCE {
	*   salt CHOICE {
	*     specified OCTET STRING,
	*     otherSource AlgorithmIdentifier {{PBKDF2-SaltSources}}
	*   },
	*   iterationCount INTEGER (1..MAX),
	*   keyLength INTEGER (1..MAX) OPTIONAL,
	*   prf AlgorithmIdentifier {{PBKDF2-PRFs}} DEFAULT algid-hmacWithSHA1
	* }
	*
	* @param obj the ASN.1 PrivateKeyInfo object.
	* @param password the password to encrypt with.
	* @param options:
	*          algorithm the encryption algorithm to use
	*            ('aes128', 'aes192', 'aes256', '3des'), defaults to 'aes128'.
	*          count the iteration count to use.
	*          saltSize the salt size to use.
	*          prfAlgorithm the PRF message digest algorithm to use
	*            ('sha1', 'sha224', 'sha256', 'sha384', 'sha512')
	*
	* @return the ASN.1 EncryptedPrivateKeyInfo.
	*/
	pki.encryptPrivateKeyInfo = function(obj, password, options) {
		options = options || {};
		options.saltSize = options.saltSize || 8;
		options.count = options.count || 2048;
		options.algorithm = options.algorithm || "aes128";
		options.prfAlgorithm = options.prfAlgorithm || "sha1";
		var salt = forge.random.getBytesSync(options.saltSize);
		var count = options.count;
		var countBytes = asn1.integerToDer(count);
		var dkLen;
		var encryptionAlgorithm;
		var encryptedData;
		if (options.algorithm.indexOf("aes") === 0 || options.algorithm === "des") {
			var ivLen, encOid, cipherFn;
			switch (options.algorithm) {
				case "aes128":
					dkLen = 16;
					ivLen = 16;
					encOid = oids["aes128-CBC"];
					cipherFn = forge.aes.createEncryptionCipher;
					break;
				case "aes192":
					dkLen = 24;
					ivLen = 16;
					encOid = oids["aes192-CBC"];
					cipherFn = forge.aes.createEncryptionCipher;
					break;
				case "aes256":
					dkLen = 32;
					ivLen = 16;
					encOid = oids["aes256-CBC"];
					cipherFn = forge.aes.createEncryptionCipher;
					break;
				case "des":
					dkLen = 8;
					ivLen = 8;
					encOid = oids["desCBC"];
					cipherFn = forge.des.createEncryptionCipher;
					break;
				default:
					var error = new Error("Cannot encrypt private key. Unknown encryption algorithm.");
					error.algorithm = options.algorithm;
					throw error;
			}
			var prfAlgorithm = "hmacWith" + options.prfAlgorithm.toUpperCase();
			var md = prfAlgorithmToMessageDigest(prfAlgorithm);
			var dk = forge.pkcs5.pbkdf2(password, salt, count, dkLen, md);
			var iv = forge.random.getBytesSync(ivLen);
			var cipher = cipherFn(dk);
			cipher.start(iv);
			cipher.update(asn1.toDer(obj));
			cipher.finish();
			encryptedData = cipher.output.getBytes();
			var params = createPbkdf2Params(salt, countBytes, dkLen, prfAlgorithm);
			encryptionAlgorithm = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(oids["pkcs5PBES2"]).getBytes()), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(oids["pkcs5PBKDF2"]).getBytes()), params]), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(encOid).getBytes()), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, iv)])])]);
		} else if (options.algorithm === "3des") {
			dkLen = 24;
			var saltBytes = new forge.util.ByteBuffer(salt);
			var dk = pki.pbe.generatePkcs12Key(password, saltBytes, 1, count, dkLen);
			var iv = pki.pbe.generatePkcs12Key(password, saltBytes, 2, count, dkLen);
			var cipher = forge.des.createEncryptionCipher(dk);
			cipher.start(iv);
			cipher.update(asn1.toDer(obj));
			cipher.finish();
			encryptedData = cipher.output.getBytes();
			encryptionAlgorithm = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, salt), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, countBytes.getBytes())])]);
		} else {
			var error = new Error("Cannot encrypt private key. Unknown encryption algorithm.");
			error.algorithm = options.algorithm;
			throw error;
		}
		var rval = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [encryptionAlgorithm, asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, encryptedData)]);
		return rval;
	};
	/**
	* Decrypts a ASN.1 PrivateKeyInfo object.
	*
	* @param obj the ASN.1 EncryptedPrivateKeyInfo object.
	* @param password the password to decrypt with.
	*
	* @return the ASN.1 PrivateKeyInfo on success, null on failure.
	*/
	pki.decryptPrivateKeyInfo = function(obj, password) {
		var rval = null;
		var capture = {};
		var errors = [];
		if (!asn1.validate(obj, encryptedPrivateKeyValidator, capture, errors)) {
			var error = new Error("Cannot read encrypted private key. " + "ASN.1 object is not a supported EncryptedPrivateKeyInfo.");
			error.errors = errors;
			throw error;
		}
		var oid = asn1.derToOid(capture.encryptionOid);
		var cipher = pki.pbe.getCipher(oid, capture.encryptionParams, password);
		var encrypted = forge.util.createBuffer(capture.encryptedData);
		cipher.update(encrypted);
		if (cipher.finish()) {
			rval = asn1.fromDer(cipher.output);
		}
		return rval;
	};
	/**
	* Converts a EncryptedPrivateKeyInfo to PEM format.
	*
	* @param epki the EncryptedPrivateKeyInfo.
	* @param maxline the maximum characters per line, defaults to 64.
	*
	* @return the PEM-formatted encrypted private key.
	*/
	pki.encryptedPrivateKeyToPem = function(epki, maxline) {
		var msg = {
			type: "ENCRYPTED PRIVATE KEY",
			body: asn1.toDer(epki).getBytes()
		};
		return forge.pem.encode(msg, { maxline });
	};
	/**
	* Converts a PEM-encoded EncryptedPrivateKeyInfo to ASN.1 format. Decryption
	* is not performed.
	*
	* @param pem the EncryptedPrivateKeyInfo in PEM-format.
	*
	* @return the ASN.1 EncryptedPrivateKeyInfo.
	*/
	pki.encryptedPrivateKeyFromPem = function(pem) {
		var msg = forge.pem.decode(pem)[0];
		if (msg.type !== "ENCRYPTED PRIVATE KEY") {
			var error = new Error("Could not convert encrypted private key from PEM; " + "PEM header type is \"ENCRYPTED PRIVATE KEY\".");
			error.headerType = msg.type;
			throw error;
		}
		if (msg.procType && msg.procType.type === "ENCRYPTED") {
			throw new Error("Could not convert encrypted private key from PEM; " + "PEM is encrypted.");
		}
		return asn1.fromDer(msg.body);
	};
	/**
	* Encrypts an RSA private key. By default, the key will be wrapped in
	* a PrivateKeyInfo and encrypted to produce a PKCS#8 EncryptedPrivateKeyInfo.
	* This is the standard, preferred way to encrypt a private key.
	*
	* To produce a non-standard PEM-encrypted private key that uses encapsulated
	* headers to indicate the encryption algorithm (old-style non-PKCS#8 OpenSSL
	* private key encryption), set the 'legacy' option to true. Note: Using this
	* option will cause the iteration count to be forced to 1.
	*
	* Note: The 'des' algorithm is supported, but it is not considered to be
	* secure because it only uses a single 56-bit key. If possible, it is highly
	* recommended that a different algorithm be used.
	*
	* @param rsaKey the RSA key to encrypt.
	* @param password the password to use.
	* @param options:
	*          algorithm: the encryption algorithm to use
	*            ('aes128', 'aes192', 'aes256', '3des', 'des').
	*          count: the iteration count to use.
	*          saltSize: the salt size to use.
	*          legacy: output an old non-PKCS#8 PEM-encrypted+encapsulated
	*            headers (DEK-Info) private key.
	*
	* @return the PEM-encoded ASN.1 EncryptedPrivateKeyInfo.
	*/
	pki.encryptRsaPrivateKey = function(rsaKey, password, options) {
		options = options || {};
		if (!options.legacy) {
			var rval = pki.wrapRsaPrivateKey(pki.privateKeyToAsn1(rsaKey));
			rval = pki.encryptPrivateKeyInfo(rval, password, options);
			return pki.encryptedPrivateKeyToPem(rval);
		}
		var algorithm;
		var iv;
		var dkLen;
		var cipherFn;
		switch (options.algorithm) {
			case "aes128":
				algorithm = "AES-128-CBC";
				dkLen = 16;
				iv = forge.random.getBytesSync(16);
				cipherFn = forge.aes.createEncryptionCipher;
				break;
			case "aes192":
				algorithm = "AES-192-CBC";
				dkLen = 24;
				iv = forge.random.getBytesSync(16);
				cipherFn = forge.aes.createEncryptionCipher;
				break;
			case "aes256":
				algorithm = "AES-256-CBC";
				dkLen = 32;
				iv = forge.random.getBytesSync(16);
				cipherFn = forge.aes.createEncryptionCipher;
				break;
			case "3des":
				algorithm = "DES-EDE3-CBC";
				dkLen = 24;
				iv = forge.random.getBytesSync(8);
				cipherFn = forge.des.createEncryptionCipher;
				break;
			case "des":
				algorithm = "DES-CBC";
				dkLen = 8;
				iv = forge.random.getBytesSync(8);
				cipherFn = forge.des.createEncryptionCipher;
				break;
			default:
				var error = new Error("Could not encrypt RSA private key; unsupported " + "encryption algorithm \"" + options.algorithm + "\".");
				error.algorithm = options.algorithm;
				throw error;
		}
		var dk = forge.pbe.opensslDeriveBytes(password, iv.substr(0, 8), dkLen);
		var cipher = cipherFn(dk);
		cipher.start(iv);
		cipher.update(asn1.toDer(pki.privateKeyToAsn1(rsaKey)));
		cipher.finish();
		var msg = {
			type: "RSA PRIVATE KEY",
			procType: {
				version: "4",
				type: "ENCRYPTED"
			},
			dekInfo: {
				algorithm,
				parameters: forge.util.bytesToHex(iv).toUpperCase()
			},
			body: cipher.output.getBytes()
		};
		return forge.pem.encode(msg);
	};
	/**
	* Decrypts an RSA private key.
	*
	* @param pem the PEM-formatted EncryptedPrivateKeyInfo to decrypt.
	* @param password the password to use.
	*
	* @return the RSA key on success, null on failure.
	*/
	pki.decryptRsaPrivateKey = function(pem, password) {
		var rval = null;
		var msg = forge.pem.decode(pem)[0];
		if (msg.type !== "ENCRYPTED PRIVATE KEY" && msg.type !== "PRIVATE KEY" && msg.type !== "RSA PRIVATE KEY") {
			var error = new Error("Could not convert private key from PEM; PEM header type " + "is not \"ENCRYPTED PRIVATE KEY\", \"PRIVATE KEY\", or \"RSA PRIVATE KEY\".");
			error.headerType = error;
			throw error;
		}
		if (msg.procType && msg.procType.type === "ENCRYPTED") {
			var dkLen;
			var cipherFn;
			switch (msg.dekInfo.algorithm) {
				case "DES-CBC":
					dkLen = 8;
					cipherFn = forge.des.createDecryptionCipher;
					break;
				case "DES-EDE3-CBC":
					dkLen = 24;
					cipherFn = forge.des.createDecryptionCipher;
					break;
				case "AES-128-CBC":
					dkLen = 16;
					cipherFn = forge.aes.createDecryptionCipher;
					break;
				case "AES-192-CBC":
					dkLen = 24;
					cipherFn = forge.aes.createDecryptionCipher;
					break;
				case "AES-256-CBC":
					dkLen = 32;
					cipherFn = forge.aes.createDecryptionCipher;
					break;
				case "RC2-40-CBC":
					dkLen = 5;
					cipherFn = function(key) {
						return forge.rc2.createDecryptionCipher(key, 40);
					};
					break;
				case "RC2-64-CBC":
					dkLen = 8;
					cipherFn = function(key) {
						return forge.rc2.createDecryptionCipher(key, 64);
					};
					break;
				case "RC2-128-CBC":
					dkLen = 16;
					cipherFn = function(key) {
						return forge.rc2.createDecryptionCipher(key, 128);
					};
					break;
				default:
					var error = new Error("Could not decrypt private key; unsupported " + "encryption algorithm \"" + msg.dekInfo.algorithm + "\".");
					error.algorithm = msg.dekInfo.algorithm;
					throw error;
			}
			var iv = forge.util.hexToBytes(msg.dekInfo.parameters);
			var dk = forge.pbe.opensslDeriveBytes(password, iv.substr(0, 8), dkLen);
			var cipher = cipherFn(dk);
			cipher.start(iv);
			cipher.update(forge.util.createBuffer(msg.body));
			if (cipher.finish()) {
				rval = cipher.output.getBytes();
			} else {
				return rval;
			}
		} else {
			rval = msg.body;
		}
		if (msg.type === "ENCRYPTED PRIVATE KEY") {
			rval = pki.decryptPrivateKeyInfo(asn1.fromDer(rval), password);
		} else {
			rval = asn1.fromDer(rval);
		}
		if (rval !== null) {
			rval = pki.privateKeyFromAsn1(rval);
		}
		return rval;
	};
	/**
	* Derives a PKCS#12 key.
	*
	* @param password the password to derive the key material from, null or
	*          undefined for none.
	* @param salt the salt, as a ByteBuffer, to use.
	* @param id the PKCS#12 ID byte (1 = key material, 2 = IV, 3 = MAC).
	* @param iter the iteration count.
	* @param n the number of bytes to derive from the password.
	* @param md the message digest to use, defaults to SHA-1.
	*
	* @return a ByteBuffer with the bytes derived from the password.
	*/
	pki.pbe.generatePkcs12Key = function(password, salt, id, iter, n, md) {
		var j, l;
		if (typeof md === "undefined" || md === null) {
			if (!("sha1" in forge.md)) {
				throw new Error("\"sha1\" hash algorithm unavailable.");
			}
			md = forge.md.sha1.create();
		}
		var u = md.digestLength;
		var v = md.blockLength;
		var result = new forge.util.ByteBuffer();
		var passBuf = new forge.util.ByteBuffer();
		if (password !== null && password !== undefined) {
			for (l = 0; l < password.length; l++) {
				passBuf.putInt16(password.charCodeAt(l));
			}
			passBuf.putInt16(0);
		}
		var p = passBuf.length();
		var s = salt.length();
		var D = new forge.util.ByteBuffer();
		D.fillWithByte(id, v);
		var Slen = v * Math.ceil(s / v);
		var S = new forge.util.ByteBuffer();
		for (l = 0; l < Slen; l++) {
			S.putByte(salt.at(l % s));
		}
		var Plen = v * Math.ceil(p / v);
		var P = new forge.util.ByteBuffer();
		for (l = 0; l < Plen; l++) {
			P.putByte(passBuf.at(l % p));
		}
		var I = S;
		I.putBuffer(P);
		var c = Math.ceil(n / u);
		for (var i = 1; i <= c; i++) {
			var buf = new forge.util.ByteBuffer();
			buf.putBytes(D.bytes());
			buf.putBytes(I.bytes());
			for (var round = 0; round < iter; round++) {
				md.start();
				md.update(buf.getBytes());
				buf = md.digest();
			}
			var B = new forge.util.ByteBuffer();
			for (l = 0; l < v; l++) {
				B.putByte(buf.at(l % u));
			}
			var k = Math.ceil(s / v) + Math.ceil(p / v);
			var Inew = new forge.util.ByteBuffer();
			for (j = 0; j < k; j++) {
				var chunk = new forge.util.ByteBuffer(I.getBytes(v));
				var x = 511;
				for (l = B.length() - 1; l >= 0; l--) {
					x = x >> 8;
					x += B.at(l) + chunk.at(l);
					chunk.setAt(l, x & 255);
				}
				Inew.putBuffer(chunk);
			}
			I = Inew;
			result.putBuffer(buf);
		}
		result.truncate(result.length() - n);
		return result;
	};
	/**
	* Get new Forge cipher object instance.
	*
	* @param oid the OID (in string notation).
	* @param params the ASN.1 params object.
	* @param password the password to decrypt with.
	*
	* @return new cipher object instance.
	*/
	pki.pbe.getCipher = function(oid, params, password) {
		switch (oid) {
			case pki.oids["pkcs5PBES2"]: return pki.pbe.getCipherForPBES2(oid, params, password);
			case pki.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:
			case pki.oids["pbewithSHAAnd40BitRC2-CBC"]: return pki.pbe.getCipherForPKCS12PBE(oid, params, password);
			default:
				var error = new Error("Cannot read encrypted PBE data block. Unsupported OID.");
				error.oid = oid;
				error.supportedOids = [
					"pkcs5PBES2",
					"pbeWithSHAAnd3-KeyTripleDES-CBC",
					"pbewithSHAAnd40BitRC2-CBC"
				];
				throw error;
		}
	};
	/**
	* Get new Forge cipher object instance according to PBES2 params block.
	*
	* The returned cipher instance is already started using the IV
	* from PBES2 parameter block.
	*
	* @param oid the PKCS#5 PBKDF2 OID (in string notation).
	* @param params the ASN.1 PBES2-params object.
	* @param password the password to decrypt with.
	*
	* @return new cipher object instance.
	*/
	pki.pbe.getCipherForPBES2 = function(oid, params, password) {
		var capture = {};
		var errors = [];
		if (!asn1.validate(params, PBES2AlgorithmsValidator, capture, errors)) {
			var error = new Error("Cannot read password-based-encryption algorithm " + "parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");
			error.errors = errors;
			throw error;
		}
		oid = asn1.derToOid(capture.kdfOid);
		if (oid !== pki.oids["pkcs5PBKDF2"]) {
			var error = new Error("Cannot read encrypted private key. " + "Unsupported key derivation function OID.");
			error.oid = oid;
			error.supportedOids = ["pkcs5PBKDF2"];
			throw error;
		}
		oid = asn1.derToOid(capture.encOid);
		if (oid !== pki.oids["aes128-CBC"] && oid !== pki.oids["aes192-CBC"] && oid !== pki.oids["aes256-CBC"] && oid !== pki.oids["des-EDE3-CBC"] && oid !== pki.oids["desCBC"]) {
			var error = new Error("Cannot read encrypted private key. " + "Unsupported encryption scheme OID.");
			error.oid = oid;
			error.supportedOids = [
				"aes128-CBC",
				"aes192-CBC",
				"aes256-CBC",
				"des-EDE3-CBC",
				"desCBC"
			];
			throw error;
		}
		var salt = capture.kdfSalt;
		var count = forge.util.createBuffer(capture.kdfIterationCount);
		count = count.getInt(count.length() << 3);
		var dkLen;
		var cipherFn;
		switch (pki.oids[oid]) {
			case "aes128-CBC":
				dkLen = 16;
				cipherFn = forge.aes.createDecryptionCipher;
				break;
			case "aes192-CBC":
				dkLen = 24;
				cipherFn = forge.aes.createDecryptionCipher;
				break;
			case "aes256-CBC":
				dkLen = 32;
				cipherFn = forge.aes.createDecryptionCipher;
				break;
			case "des-EDE3-CBC":
				dkLen = 24;
				cipherFn = forge.des.createDecryptionCipher;
				break;
			case "desCBC":
				dkLen = 8;
				cipherFn = forge.des.createDecryptionCipher;
				break;
		}
		var md = prfOidToMessageDigest(capture.prfOid);
		var dk = forge.pkcs5.pbkdf2(password, salt, count, dkLen, md);
		var iv = capture.encIv;
		var cipher = cipherFn(dk);
		cipher.start(iv);
		return cipher;
	};
	/**
	* Get new Forge cipher object instance for PKCS#12 PBE.
	*
	* The returned cipher instance is already started using the key & IV
	* derived from the provided password and PKCS#12 PBE salt.
	*
	* @param oid The PKCS#12 PBE OID (in string notation).
	* @param params The ASN.1 PKCS#12 PBE-params object.
	* @param password The password to decrypt with.
	*
	* @return the new cipher object instance.
	*/
	pki.pbe.getCipherForPKCS12PBE = function(oid, params, password) {
		var capture = {};
		var errors = [];
		if (!asn1.validate(params, pkcs12PbeParamsValidator, capture, errors)) {
			var error = new Error("Cannot read password-based-encryption algorithm " + "parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");
			error.errors = errors;
			throw error;
		}
		var salt = forge.util.createBuffer(capture.salt);
		var count = forge.util.createBuffer(capture.iterations);
		count = count.getInt(count.length() << 3);
		var dkLen, dIvLen, cipherFn;
		switch (oid) {
			case pki.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:
				dkLen = 24;
				dIvLen = 8;
				cipherFn = forge.des.startDecrypting;
				break;
			case pki.oids["pbewithSHAAnd40BitRC2-CBC"]:
				dkLen = 5;
				dIvLen = 8;
				cipherFn = function(key, iv) {
					var cipher = forge.rc2.createDecryptionCipher(key, 40);
					cipher.start(iv, null);
					return cipher;
				};
				break;
			default:
				var error = new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");
				error.oid = oid;
				throw error;
		}
		var md = prfOidToMessageDigest(capture.prfOid);
		var key = pki.pbe.generatePkcs12Key(password, salt, 1, count, dkLen, md);
		md.start();
		var iv = pki.pbe.generatePkcs12Key(password, salt, 2, count, dIvLen, md);
		return cipherFn(key, iv);
	};
	/**
	* OpenSSL's legacy key derivation function.
	*
	* See: http://www.openssl.org/docs/crypto/EVP_BytesToKey.html
	*
	* @param password the password to derive the key from.
	* @param salt the salt to use, null for none.
	* @param dkLen the number of bytes needed for the derived key.
	* @param [options] the options to use:
	*          [md] an optional message digest object to use.
	*/
	pki.pbe.opensslDeriveBytes = function(password, salt, dkLen, md) {
		if (typeof md === "undefined" || md === null) {
			if (!("md5" in forge.md)) {
				throw new Error("\"md5\" hash algorithm unavailable.");
			}
			md = forge.md.md5.create();
		}
		if (salt === null) {
			salt = "";
		}
		var digests = [hash(md, password + salt)];
		for (var length = 16, i = 1; length < dkLen; ++i, length += 16) {
			digests.push(hash(md, digests[i - 1] + password + salt));
		}
		return digests.join("").substr(0, dkLen);
	};
	function hash(md, bytes) {
		return md.start().update(bytes).digest().getBytes();
	}
	function prfOidToMessageDigest(prfOid) {
		var prfAlgorithm;
		if (!prfOid) {
			prfAlgorithm = "hmacWithSHA1";
		} else {
			prfAlgorithm = pki.oids[asn1.derToOid(prfOid)];
			if (!prfAlgorithm) {
				var error = new Error("Unsupported PRF OID.");
				error.oid = prfOid;
				error.supported = [
					"hmacWithSHA1",
					"hmacWithSHA224",
					"hmacWithSHA256",
					"hmacWithSHA384",
					"hmacWithSHA512"
				];
				throw error;
			}
		}
		return prfAlgorithmToMessageDigest(prfAlgorithm);
	}
	function prfAlgorithmToMessageDigest(prfAlgorithm) {
		var factory = forge.md;
		switch (prfAlgorithm) {
			case "hmacWithSHA224": factory = forge.md.sha512;
			case "hmacWithSHA1":
			case "hmacWithSHA256":
			case "hmacWithSHA384":
			case "hmacWithSHA512":
				prfAlgorithm = prfAlgorithm.substr(8).toLowerCase();
				break;
			default:
				var error = new Error("Unsupported PRF algorithm.");
				error.algorithm = prfAlgorithm;
				error.supported = [
					"hmacWithSHA1",
					"hmacWithSHA224",
					"hmacWithSHA256",
					"hmacWithSHA384",
					"hmacWithSHA512"
				];
				throw error;
		}
		if (!factory || !(prfAlgorithm in factory)) {
			throw new Error("Unknown hash algorithm: " + prfAlgorithm);
		}
		return factory[prfAlgorithm].create();
	}
	function createPbkdf2Params(salt, countBytes, dkLen, prfAlgorithm) {
		var params = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, salt), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, countBytes.getBytes())]);
		if (prfAlgorithm !== "hmacWithSHA1") {
			params.value.push(asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, forge.util.hexToBytes(dkLen.toString(16))), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(pki.oids[prfAlgorithm]).getBytes()), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, "")]));
		}
		return params;
	}
}));

//#endregion
//#region ../node_modules/node-forge/lib/pkcs7asn1.js
var require_pkcs7asn1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Javascript implementation of ASN.1 validators for PKCS#7 v1.5.
	*
	* @author Dave Longley
	* @author Stefan Siegl
	*
	* Copyright (c) 2012-2015 Digital Bazaar, Inc.
	* Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
	*
	* The ASN.1 representation of PKCS#7 is as follows
	* (see RFC #2315 for details, http://www.ietf.org/rfc/rfc2315.txt):
	*
	* A PKCS#7 message consists of a ContentInfo on root level, which may
	* contain any number of further ContentInfo nested into it.
	*
	* ContentInfo ::= SEQUENCE {
	*   contentType                ContentType,
	*   content               [0]  EXPLICIT ANY DEFINED BY contentType OPTIONAL
	* }
	*
	* ContentType ::= OBJECT IDENTIFIER
	*
	* EnvelopedData ::= SEQUENCE {
	*   version                    Version,
	*   recipientInfos             RecipientInfos,
	*   encryptedContentInfo       EncryptedContentInfo
	* }
	*
	* EncryptedData ::= SEQUENCE {
	*   version                    Version,
	*   encryptedContentInfo       EncryptedContentInfo
	* }
	*
	* id-signedData OBJECT IDENTIFIER ::= { iso(1) member-body(2)
	*   us(840) rsadsi(113549) pkcs(1) pkcs7(7) 2 }
	*
	* SignedData ::= SEQUENCE {
	*   version           INTEGER,
	*   digestAlgorithms  DigestAlgorithmIdentifiers,
	*   contentInfo       ContentInfo,
	*   certificates      [0] IMPLICIT Certificates OPTIONAL,
	*   crls              [1] IMPLICIT CertificateRevocationLists OPTIONAL,
	*   signerInfos       SignerInfos
	* }
	*
	* SignerInfos ::= SET OF SignerInfo
	*
	* SignerInfo ::= SEQUENCE {
	*   version                    Version,
	*   issuerAndSerialNumber      IssuerAndSerialNumber,
	*   digestAlgorithm            DigestAlgorithmIdentifier,
	*   authenticatedAttributes    [0] IMPLICIT Attributes OPTIONAL,
	*   digestEncryptionAlgorithm  DigestEncryptionAlgorithmIdentifier,
	*   encryptedDigest            EncryptedDigest,
	*   unauthenticatedAttributes  [1] IMPLICIT Attributes OPTIONAL
	* }
	*
	* EncryptedDigest ::= OCTET STRING
	*
	* Attributes ::= SET OF Attribute
	*
	* Attribute ::= SEQUENCE {
	*   attrType    OBJECT IDENTIFIER,
	*   attrValues  SET OF AttributeValue
	* }
	*
	* AttributeValue ::= ANY
	*
	* Version ::= INTEGER
	*
	* RecipientInfos ::= SET OF RecipientInfo
	*
	* EncryptedContentInfo ::= SEQUENCE {
	*   contentType                 ContentType,
	*   contentEncryptionAlgorithm  ContentEncryptionAlgorithmIdentifier,
	*   encryptedContent       [0]  IMPLICIT EncryptedContent OPTIONAL
	* }
	*
	* ContentEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
	*
	* The AlgorithmIdentifier contains an Object Identifier (OID) and parameters
	* for the algorithm, if any. In the case of AES and DES3, there is only one,
	* the IV.
	*
	* AlgorithmIdentifer ::= SEQUENCE {
	*    algorithm OBJECT IDENTIFIER,
	*    parameters ANY DEFINED BY algorithm OPTIONAL
	* }
	*
	* EncryptedContent ::= OCTET STRING
	*
	* RecipientInfo ::= SEQUENCE {
	*   version                     Version,
	*   issuerAndSerialNumber       IssuerAndSerialNumber,
	*   keyEncryptionAlgorithm      KeyEncryptionAlgorithmIdentifier,
	*   encryptedKey                EncryptedKey
	* }
	*
	* IssuerAndSerialNumber ::= SEQUENCE {
	*   issuer                      Name,
	*   serialNumber                CertificateSerialNumber
	* }
	*
	* CertificateSerialNumber ::= INTEGER
	*
	* KeyEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
	*
	* EncryptedKey ::= OCTET STRING
	*/
	var forge = require_forge();
	require_asn1();
	require_util$8();
	var asn1 = forge.asn1;
	var p7v = module.exports = forge.pkcs7asn1 = forge.pkcs7asn1 || {};
	forge.pkcs7 = forge.pkcs7 || {};
	forge.pkcs7.asn1 = p7v;
	var contentInfoValidator = {
		name: "ContentInfo",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		value: [{
			name: "ContentInfo.ContentType",
			tagClass: asn1.Class.UNIVERSAL,
			type: asn1.Type.OID,
			constructed: false,
			capture: "contentType"
		}, {
			name: "ContentInfo.content",
			tagClass: asn1.Class.CONTEXT_SPECIFIC,
			type: 0,
			constructed: true,
			optional: true,
			captureAsn1: "content"
		}]
	};
	p7v.contentInfoValidator = contentInfoValidator;
	var encryptedContentInfoValidator = {
		name: "EncryptedContentInfo",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		value: [
			{
				name: "EncryptedContentInfo.contentType",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.OID,
				constructed: false,
				capture: "contentType"
			},
			{
				name: "EncryptedContentInfo.contentEncryptionAlgorithm",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.SEQUENCE,
				constructed: true,
				value: [{
					name: "EncryptedContentInfo.contentEncryptionAlgorithm.algorithm",
					tagClass: asn1.Class.UNIVERSAL,
					type: asn1.Type.OID,
					constructed: false,
					capture: "encAlgorithm"
				}, {
					name: "EncryptedContentInfo.contentEncryptionAlgorithm.parameter",
					tagClass: asn1.Class.UNIVERSAL,
					captureAsn1: "encParameter"
				}]
			},
			{
				name: "EncryptedContentInfo.encryptedContent",
				tagClass: asn1.Class.CONTEXT_SPECIFIC,
				type: 0,
				capture: "encryptedContent",
				captureAsn1: "encryptedContentAsn1"
			}
		]
	};
	p7v.envelopedDataValidator = {
		name: "EnvelopedData",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		value: [{
			name: "EnvelopedData.Version",
			tagClass: asn1.Class.UNIVERSAL,
			type: asn1.Type.INTEGER,
			constructed: false,
			capture: "version"
		}, {
			name: "EnvelopedData.RecipientInfos",
			tagClass: asn1.Class.UNIVERSAL,
			type: asn1.Type.SET,
			constructed: true,
			captureAsn1: "recipientInfos"
		}].concat(encryptedContentInfoValidator)
	};
	p7v.encryptedDataValidator = {
		name: "EncryptedData",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		value: [{
			name: "EncryptedData.Version",
			tagClass: asn1.Class.UNIVERSAL,
			type: asn1.Type.INTEGER,
			constructed: false,
			capture: "version"
		}].concat(encryptedContentInfoValidator)
	};
	var signerValidator = {
		name: "SignerInfo",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		value: [
			{
				name: "SignerInfo.version",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.INTEGER,
				constructed: false
			},
			{
				name: "SignerInfo.issuerAndSerialNumber",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.SEQUENCE,
				constructed: true,
				value: [{
					name: "SignerInfo.issuerAndSerialNumber.issuer",
					tagClass: asn1.Class.UNIVERSAL,
					type: asn1.Type.SEQUENCE,
					constructed: true,
					captureAsn1: "issuer"
				}, {
					name: "SignerInfo.issuerAndSerialNumber.serialNumber",
					tagClass: asn1.Class.UNIVERSAL,
					type: asn1.Type.INTEGER,
					constructed: false,
					capture: "serial"
				}]
			},
			{
				name: "SignerInfo.digestAlgorithm",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.SEQUENCE,
				constructed: true,
				value: [{
					name: "SignerInfo.digestAlgorithm.algorithm",
					tagClass: asn1.Class.UNIVERSAL,
					type: asn1.Type.OID,
					constructed: false,
					capture: "digestAlgorithm"
				}, {
					name: "SignerInfo.digestAlgorithm.parameter",
					tagClass: asn1.Class.UNIVERSAL,
					constructed: false,
					captureAsn1: "digestParameter",
					optional: true
				}]
			},
			{
				name: "SignerInfo.authenticatedAttributes",
				tagClass: asn1.Class.CONTEXT_SPECIFIC,
				type: 0,
				constructed: true,
				optional: true,
				capture: "authenticatedAttributes"
			},
			{
				name: "SignerInfo.digestEncryptionAlgorithm",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.SEQUENCE,
				constructed: true,
				capture: "signatureAlgorithm"
			},
			{
				name: "SignerInfo.encryptedDigest",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.OCTETSTRING,
				constructed: false,
				capture: "signature"
			},
			{
				name: "SignerInfo.unauthenticatedAttributes",
				tagClass: asn1.Class.CONTEXT_SPECIFIC,
				type: 1,
				constructed: true,
				optional: true,
				capture: "unauthenticatedAttributes"
			}
		]
	};
	p7v.signedDataValidator = {
		name: "SignedData",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		value: [
			{
				name: "SignedData.Version",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.INTEGER,
				constructed: false,
				capture: "version"
			},
			{
				name: "SignedData.DigestAlgorithms",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.SET,
				constructed: true,
				captureAsn1: "digestAlgorithms"
			},
			contentInfoValidator,
			{
				name: "SignedData.Certificates",
				tagClass: asn1.Class.CONTEXT_SPECIFIC,
				type: 0,
				optional: true,
				captureAsn1: "certificates"
			},
			{
				name: "SignedData.CertificateRevocationLists",
				tagClass: asn1.Class.CONTEXT_SPECIFIC,
				type: 1,
				optional: true,
				captureAsn1: "crls"
			},
			{
				name: "SignedData.SignerInfos",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.SET,
				capture: "signerInfos",
				optional: true,
				value: [signerValidator]
			}
		]
	};
	p7v.recipientInfoValidator = {
		name: "RecipientInfo",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		value: [
			{
				name: "RecipientInfo.version",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.INTEGER,
				constructed: false,
				capture: "version"
			},
			{
				name: "RecipientInfo.issuerAndSerial",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.SEQUENCE,
				constructed: true,
				value: [{
					name: "RecipientInfo.issuerAndSerial.issuer",
					tagClass: asn1.Class.UNIVERSAL,
					type: asn1.Type.SEQUENCE,
					constructed: true,
					captureAsn1: "issuer"
				}, {
					name: "RecipientInfo.issuerAndSerial.serialNumber",
					tagClass: asn1.Class.UNIVERSAL,
					type: asn1.Type.INTEGER,
					constructed: false,
					capture: "serial"
				}]
			},
			{
				name: "RecipientInfo.keyEncryptionAlgorithm",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.SEQUENCE,
				constructed: true,
				value: [{
					name: "RecipientInfo.keyEncryptionAlgorithm.algorithm",
					tagClass: asn1.Class.UNIVERSAL,
					type: asn1.Type.OID,
					constructed: false,
					capture: "encAlgorithm"
				}, {
					name: "RecipientInfo.keyEncryptionAlgorithm.parameter",
					tagClass: asn1.Class.UNIVERSAL,
					constructed: false,
					captureAsn1: "encParameter",
					optional: true
				}]
			},
			{
				name: "RecipientInfo.encryptedKey",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.OCTETSTRING,
				constructed: false,
				capture: "encKey"
			}
		]
	};
}));

//#endregion
//#region ../node_modules/node-forge/lib/mgf1.js
var require_mgf1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Javascript implementation of mask generation function MGF1.
	*
	* @author Stefan Siegl
	* @author Dave Longley
	*
	* Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
	* Copyright (c) 2014 Digital Bazaar, Inc.
	*/
	var forge = require_forge();
	require_util$8();
	forge.mgf = forge.mgf || {};
	var mgf1 = module.exports = forge.mgf.mgf1 = forge.mgf1 = forge.mgf1 || {};
	/**
	* Creates a MGF1 mask generation function object.
	*
	* @param md the message digest API to use (eg: forge.md.sha1.create()).
	*
	* @return a mask generation function object.
	*/
	mgf1.create = function(md) {
		var mgf = { generate: function(seed, maskLen) {
			var t = new forge.util.ByteBuffer();
			var len = Math.ceil(maskLen / md.digestLength);
			for (var i = 0; i < len; i++) {
				var c = new forge.util.ByteBuffer();
				c.putInt32(i);
				md.start();
				md.update(seed + c.getBytes());
				t.putBuffer(md.digest());
			}
			t.truncate(t.length() - maskLen);
			return t.getBytes();
		} };
		return mgf;
	};
}));

//#endregion
//#region ../node_modules/node-forge/lib/mgf.js
var require_mgf = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Node.js module for Forge mask generation functions.
	*
	* @author Stefan Siegl
	*
	* Copyright 2012 Stefan Siegl <stesie@brokenpipe.de>
	*/
	var forge = require_forge();
	require_mgf1();
	module.exports = forge.mgf = forge.mgf || {};
	forge.mgf.mgf1 = forge.mgf1;
}));

//#endregion
//#region ../node_modules/node-forge/lib/pss.js
var require_pss = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Javascript implementation of PKCS#1 PSS signature padding.
	*
	* @author Stefan Siegl
	*
	* Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
	*/
	var forge = require_forge();
	require_random();
	require_util$8();
	var pss = module.exports = forge.pss = forge.pss || {};
	/**
	* Creates a PSS signature scheme object.
	*
	* There are several ways to provide a salt for encoding:
	*
	* 1. Specify the saltLength only and the built-in PRNG will generate it.
	* 2. Specify the saltLength and a custom PRNG with 'getBytesSync' defined that
	*   will be used.
	* 3. Specify the salt itself as a forge.util.ByteBuffer.
	*
	* @param options the options to use:
	*          md the message digest object to use, a forge md instance.
	*          mgf the mask generation function to use, a forge mgf instance.
	*          [saltLength] the length of the salt in octets.
	*          [prng] the pseudo-random number generator to use to produce a salt.
	*          [salt] the salt to use when encoding.
	*
	* @return a signature scheme object.
	*/
	pss.create = function(options) {
		if (arguments.length === 3) {
			options = {
				md: arguments[0],
				mgf: arguments[1],
				saltLength: arguments[2]
			};
		}
		var hash = options.md;
		var mgf = options.mgf;
		var hLen = hash.digestLength;
		var salt_ = options.salt || null;
		if (typeof salt_ === "string") {
			salt_ = forge.util.createBuffer(salt_);
		}
		var sLen;
		if ("saltLength" in options) {
			sLen = options.saltLength;
		} else if (salt_ !== null) {
			sLen = salt_.length();
		} else {
			throw new Error("Salt length not specified or specific salt not given.");
		}
		if (salt_ !== null && salt_.length() !== sLen) {
			throw new Error("Given salt length does not match length of given salt.");
		}
		var prng = options.prng || forge.random;
		var pssobj = {};
		/**
		* Encodes a PSS signature.
		*
		* This function implements EMSA-PSS-ENCODE as per RFC 3447, section 9.1.1.
		*
		* @param md the message digest object with the hash to sign.
		* @param modsBits the length of the RSA modulus in bits.
		*
		* @return the encoded message as a binary-encoded string of length
		*           ceil((modBits - 1) / 8).
		*/
		pssobj.encode = function(md, modBits) {
			var i;
			var emBits = modBits - 1;
			var emLen = Math.ceil(emBits / 8);
			var mHash = md.digest().getBytes();
			if (emLen < hLen + sLen + 2) {
				throw new Error("Message is too long to encrypt.");
			}
			var salt;
			if (salt_ === null) {
				salt = prng.getBytesSync(sLen);
			} else {
				salt = salt_.bytes();
			}
			var m_ = new forge.util.ByteBuffer();
			m_.fillWithByte(0, 8);
			m_.putBytes(mHash);
			m_.putBytes(salt);
			hash.start();
			hash.update(m_.getBytes());
			var h = hash.digest().getBytes();
			var ps = new forge.util.ByteBuffer();
			ps.fillWithByte(0, emLen - sLen - hLen - 2);
			ps.putByte(1);
			ps.putBytes(salt);
			var db = ps.getBytes();
			var maskLen = emLen - hLen - 1;
			var dbMask = mgf.generate(h, maskLen);
			var maskedDB = "";
			for (i = 0; i < maskLen; i++) {
				maskedDB += String.fromCharCode(db.charCodeAt(i) ^ dbMask.charCodeAt(i));
			}
			var mask = 65280 >> 8 * emLen - emBits & 255;
			maskedDB = String.fromCharCode(maskedDB.charCodeAt(0) & ~mask) + maskedDB.substr(1);
			return maskedDB + h + String.fromCharCode(188);
		};
		/**
		* Verifies a PSS signature.
		*
		* This function implements EMSA-PSS-VERIFY as per RFC 3447, section 9.1.2.
		*
		* @param mHash the message digest hash, as a binary-encoded string, to
		*         compare against the signature.
		* @param em the encoded message, as a binary-encoded string
		*          (RSA decryption result).
		* @param modsBits the length of the RSA modulus in bits.
		*
		* @return true if the signature was verified, false if not.
		*/
		pssobj.verify = function(mHash, em, modBits) {
			var i;
			var emBits = modBits - 1;
			var emLen = Math.ceil(emBits / 8);
			em = em.substr(-emLen);
			if (emLen < hLen + sLen + 2) {
				throw new Error("Inconsistent parameters to PSS signature verification.");
			}
			if (em.charCodeAt(emLen - 1) !== 188) {
				throw new Error("Encoded message does not end in 0xBC.");
			}
			var maskLen = emLen - hLen - 1;
			var maskedDB = em.substr(0, maskLen);
			var h = em.substr(maskLen, hLen);
			var mask = 65280 >> 8 * emLen - emBits & 255;
			if ((maskedDB.charCodeAt(0) & mask) !== 0) {
				throw new Error("Bits beyond keysize not zero as expected.");
			}
			var dbMask = mgf.generate(h, maskLen);
			var db = "";
			for (i = 0; i < maskLen; i++) {
				db += String.fromCharCode(maskedDB.charCodeAt(i) ^ dbMask.charCodeAt(i));
			}
			db = String.fromCharCode(db.charCodeAt(0) & ~mask) + db.substr(1);
			var checkLen = emLen - hLen - sLen - 2;
			for (i = 0; i < checkLen; i++) {
				if (db.charCodeAt(i) !== 0) {
					throw new Error("Leftmost octets not zero as expected");
				}
			}
			if (db.charCodeAt(checkLen) !== 1) {
				throw new Error("Inconsistent PSS signature, 0x01 marker not found");
			}
			var salt = db.substr(-sLen);
			var m_ = new forge.util.ByteBuffer();
			m_.fillWithByte(0, 8);
			m_.putBytes(mHash);
			m_.putBytes(salt);
			hash.start();
			hash.update(m_.getBytes());
			var h_ = hash.digest().getBytes();
			return h === h_;
		};
		return pssobj;
	};
}));

//#endregion
//#region ../node_modules/node-forge/lib/x509.js
var require_x509 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Javascript implementation of X.509 and related components (such as
	* Certification Signing Requests) of a Public Key Infrastructure.
	*
	* @author Dave Longley
	*
	* Copyright (c) 2010-2014 Digital Bazaar, Inc.
	*
	* The ASN.1 representation of an X.509v3 certificate is as follows
	* (see RFC 2459):
	*
	* Certificate ::= SEQUENCE {
	*   tbsCertificate       TBSCertificate,
	*   signatureAlgorithm   AlgorithmIdentifier,
	*   signatureValue       BIT STRING
	* }
	*
	* TBSCertificate ::= SEQUENCE {
	*   version         [0]  EXPLICIT Version DEFAULT v1,
	*   serialNumber         CertificateSerialNumber,
	*   signature            AlgorithmIdentifier,
	*   issuer               Name,
	*   validity             Validity,
	*   subject              Name,
	*   subjectPublicKeyInfo SubjectPublicKeyInfo,
	*   issuerUniqueID  [1]  IMPLICIT UniqueIdentifier OPTIONAL,
	*                        -- If present, version shall be v2 or v3
	*   subjectUniqueID [2]  IMPLICIT UniqueIdentifier OPTIONAL,
	*                        -- If present, version shall be v2 or v3
	*   extensions      [3]  EXPLICIT Extensions OPTIONAL
	*                        -- If present, version shall be v3
	* }
	*
	* Version ::= INTEGER  { v1(0), v2(1), v3(2) }
	*
	* CertificateSerialNumber ::= INTEGER
	*
	* Name ::= CHOICE {
	*   // only one possible choice for now
	*   RDNSequence
	* }
	*
	* RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
	*
	* RelativeDistinguishedName ::= SET OF AttributeTypeAndValue
	*
	* AttributeTypeAndValue ::= SEQUENCE {
	*   type     AttributeType,
	*   value    AttributeValue
	* }
	* AttributeType ::= OBJECT IDENTIFIER
	* AttributeValue ::= ANY DEFINED BY AttributeType
	*
	* Validity ::= SEQUENCE {
	*   notBefore      Time,
	*   notAfter       Time
	* }
	*
	* Time ::= CHOICE {
	*   utcTime        UTCTime,
	*   generalTime    GeneralizedTime
	* }
	*
	* UniqueIdentifier ::= BIT STRING
	*
	* SubjectPublicKeyInfo ::= SEQUENCE {
	*   algorithm            AlgorithmIdentifier,
	*   subjectPublicKey     BIT STRING
	* }
	*
	* Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension
	*
	* Extension ::= SEQUENCE {
	*   extnID      OBJECT IDENTIFIER,
	*   critical    BOOLEAN DEFAULT FALSE,
	*   extnValue   OCTET STRING
	* }
	*
	* The only key algorithm currently supported for PKI is RSA.
	*
	* RSASSA-PSS signatures are described in RFC 3447 and RFC 4055.
	*
	* PKCS#10 v1.7 describes certificate signing requests:
	*
	* CertificationRequestInfo:
	*
	* CertificationRequestInfo ::= SEQUENCE {
	*   version       INTEGER { v1(0) } (v1,...),
	*   subject       Name,
	*   subjectPKInfo SubjectPublicKeyInfo{{ PKInfoAlgorithms }},
	*   attributes    [0] Attributes{{ CRIAttributes }}
	* }
	*
	* Attributes { ATTRIBUTE:IOSet } ::= SET OF Attribute{{ IOSet }}
	*
	* CRIAttributes  ATTRIBUTE  ::= {
	*   ... -- add any locally defined attributes here -- }
	*
	* Attribute { ATTRIBUTE:IOSet } ::= SEQUENCE {
	*   type   ATTRIBUTE.&id({IOSet}),
	*   values SET SIZE(1..MAX) OF ATTRIBUTE.&Type({IOSet}{@type})
	* }
	*
	* CertificationRequest ::= SEQUENCE {
	*   certificationRequestInfo CertificationRequestInfo,
	*   signatureAlgorithm AlgorithmIdentifier{{ SignatureAlgorithms }},
	*   signature          BIT STRING
	* }
	*/
	var forge = require_forge();
	require_aes$1();
	require_asn1();
	require_des();
	require_md();
	require_mgf();
	require_oids();
	require_pem();
	require_pss();
	require_rsa();
	require_util$8();
	var asn1 = forge.asn1;
	var pki = module.exports = forge.pki = forge.pki || {};
	var oids = pki.oids;
	var _shortNames = {};
	_shortNames["CN"] = oids["commonName"];
	_shortNames["commonName"] = "CN";
	_shortNames["C"] = oids["countryName"];
	_shortNames["countryName"] = "C";
	_shortNames["L"] = oids["localityName"];
	_shortNames["localityName"] = "L";
	_shortNames["ST"] = oids["stateOrProvinceName"];
	_shortNames["stateOrProvinceName"] = "ST";
	_shortNames["O"] = oids["organizationName"];
	_shortNames["organizationName"] = "O";
	_shortNames["OU"] = oids["organizationalUnitName"];
	_shortNames["organizationalUnitName"] = "OU";
	_shortNames["E"] = oids["emailAddress"];
	_shortNames["emailAddress"] = "E";
	var publicKeyValidator = forge.pki.rsa.publicKeyValidator;
	var x509CertificateValidator = {
		name: "Certificate",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		value: [
			{
				name: "Certificate.TBSCertificate",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.SEQUENCE,
				constructed: true,
				captureAsn1: "tbsCertificate",
				value: [
					{
						name: "Certificate.TBSCertificate.version",
						tagClass: asn1.Class.CONTEXT_SPECIFIC,
						type: 0,
						constructed: true,
						optional: true,
						value: [{
							name: "Certificate.TBSCertificate.version.integer",
							tagClass: asn1.Class.UNIVERSAL,
							type: asn1.Type.INTEGER,
							constructed: false,
							capture: "certVersion"
						}]
					},
					{
						name: "Certificate.TBSCertificate.serialNumber",
						tagClass: asn1.Class.UNIVERSAL,
						type: asn1.Type.INTEGER,
						constructed: false,
						capture: "certSerialNumber"
					},
					{
						name: "Certificate.TBSCertificate.signature",
						tagClass: asn1.Class.UNIVERSAL,
						type: asn1.Type.SEQUENCE,
						constructed: true,
						value: [{
							name: "Certificate.TBSCertificate.signature.algorithm",
							tagClass: asn1.Class.UNIVERSAL,
							type: asn1.Type.OID,
							constructed: false,
							capture: "certinfoSignatureOid"
						}, {
							name: "Certificate.TBSCertificate.signature.parameters",
							tagClass: asn1.Class.UNIVERSAL,
							optional: true,
							captureAsn1: "certinfoSignatureParams"
						}]
					},
					{
						name: "Certificate.TBSCertificate.issuer",
						tagClass: asn1.Class.UNIVERSAL,
						type: asn1.Type.SEQUENCE,
						constructed: true,
						captureAsn1: "certIssuer"
					},
					{
						name: "Certificate.TBSCertificate.validity",
						tagClass: asn1.Class.UNIVERSAL,
						type: asn1.Type.SEQUENCE,
						constructed: true,
						value: [
							{
								name: "Certificate.TBSCertificate.validity.notBefore (utc)",
								tagClass: asn1.Class.UNIVERSAL,
								type: asn1.Type.UTCTIME,
								constructed: false,
								optional: true,
								capture: "certValidity1UTCTime"
							},
							{
								name: "Certificate.TBSCertificate.validity.notBefore (generalized)",
								tagClass: asn1.Class.UNIVERSAL,
								type: asn1.Type.GENERALIZEDTIME,
								constructed: false,
								optional: true,
								capture: "certValidity2GeneralizedTime"
							},
							{
								name: "Certificate.TBSCertificate.validity.notAfter (utc)",
								tagClass: asn1.Class.UNIVERSAL,
								type: asn1.Type.UTCTIME,
								constructed: false,
								optional: true,
								capture: "certValidity3UTCTime"
							},
							{
								name: "Certificate.TBSCertificate.validity.notAfter (generalized)",
								tagClass: asn1.Class.UNIVERSAL,
								type: asn1.Type.GENERALIZEDTIME,
								constructed: false,
								optional: true,
								capture: "certValidity4GeneralizedTime"
							}
						]
					},
					{
						name: "Certificate.TBSCertificate.subject",
						tagClass: asn1.Class.UNIVERSAL,
						type: asn1.Type.SEQUENCE,
						constructed: true,
						captureAsn1: "certSubject"
					},
					publicKeyValidator,
					{
						name: "Certificate.TBSCertificate.issuerUniqueID",
						tagClass: asn1.Class.CONTEXT_SPECIFIC,
						type: 1,
						constructed: true,
						optional: true,
						value: [{
							name: "Certificate.TBSCertificate.issuerUniqueID.id",
							tagClass: asn1.Class.UNIVERSAL,
							type: asn1.Type.BITSTRING,
							constructed: false,
							captureBitStringValue: "certIssuerUniqueId"
						}]
					},
					{
						name: "Certificate.TBSCertificate.subjectUniqueID",
						tagClass: asn1.Class.CONTEXT_SPECIFIC,
						type: 2,
						constructed: true,
						optional: true,
						value: [{
							name: "Certificate.TBSCertificate.subjectUniqueID.id",
							tagClass: asn1.Class.UNIVERSAL,
							type: asn1.Type.BITSTRING,
							constructed: false,
							captureBitStringValue: "certSubjectUniqueId"
						}]
					},
					{
						name: "Certificate.TBSCertificate.extensions",
						tagClass: asn1.Class.CONTEXT_SPECIFIC,
						type: 3,
						constructed: true,
						captureAsn1: "certExtensions",
						optional: true
					}
				]
			},
			{
				name: "Certificate.signatureAlgorithm",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.SEQUENCE,
				constructed: true,
				value: [{
					name: "Certificate.signatureAlgorithm.algorithm",
					tagClass: asn1.Class.UNIVERSAL,
					type: asn1.Type.OID,
					constructed: false,
					capture: "certSignatureOid"
				}, {
					name: "Certificate.TBSCertificate.signature.parameters",
					tagClass: asn1.Class.UNIVERSAL,
					optional: true,
					captureAsn1: "certSignatureParams"
				}]
			},
			{
				name: "Certificate.signatureValue",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.BITSTRING,
				constructed: false,
				captureBitStringValue: "certSignature"
			}
		]
	};
	var rsassaPssParameterValidator = {
		name: "rsapss",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		value: [
			{
				name: "rsapss.hashAlgorithm",
				tagClass: asn1.Class.CONTEXT_SPECIFIC,
				type: 0,
				constructed: true,
				value: [{
					name: "rsapss.hashAlgorithm.AlgorithmIdentifier",
					tagClass: asn1.Class.UNIVERSAL,
					type: asn1.Class.SEQUENCE,
					constructed: true,
					optional: true,
					value: [{
						name: "rsapss.hashAlgorithm.AlgorithmIdentifier.algorithm",
						tagClass: asn1.Class.UNIVERSAL,
						type: asn1.Type.OID,
						constructed: false,
						capture: "hashOid"
					}]
				}]
			},
			{
				name: "rsapss.maskGenAlgorithm",
				tagClass: asn1.Class.CONTEXT_SPECIFIC,
				type: 1,
				constructed: true,
				value: [{
					name: "rsapss.maskGenAlgorithm.AlgorithmIdentifier",
					tagClass: asn1.Class.UNIVERSAL,
					type: asn1.Class.SEQUENCE,
					constructed: true,
					optional: true,
					value: [{
						name: "rsapss.maskGenAlgorithm.AlgorithmIdentifier.algorithm",
						tagClass: asn1.Class.UNIVERSAL,
						type: asn1.Type.OID,
						constructed: false,
						capture: "maskGenOid"
					}, {
						name: "rsapss.maskGenAlgorithm.AlgorithmIdentifier.params",
						tagClass: asn1.Class.UNIVERSAL,
						type: asn1.Type.SEQUENCE,
						constructed: true,
						value: [{
							name: "rsapss.maskGenAlgorithm.AlgorithmIdentifier.params.algorithm",
							tagClass: asn1.Class.UNIVERSAL,
							type: asn1.Type.OID,
							constructed: false,
							capture: "maskGenHashOid"
						}]
					}]
				}]
			},
			{
				name: "rsapss.saltLength",
				tagClass: asn1.Class.CONTEXT_SPECIFIC,
				type: 2,
				optional: true,
				value: [{
					name: "rsapss.saltLength.saltLength",
					tagClass: asn1.Class.UNIVERSAL,
					type: asn1.Class.INTEGER,
					constructed: false,
					capture: "saltLength"
				}]
			},
			{
				name: "rsapss.trailerField",
				tagClass: asn1.Class.CONTEXT_SPECIFIC,
				type: 3,
				optional: true,
				value: [{
					name: "rsapss.trailer.trailer",
					tagClass: asn1.Class.UNIVERSAL,
					type: asn1.Class.INTEGER,
					constructed: false,
					capture: "trailer"
				}]
			}
		]
	};
	var certificationRequestInfoValidator = {
		name: "CertificationRequestInfo",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		captureAsn1: "certificationRequestInfo",
		value: [
			{
				name: "CertificationRequestInfo.integer",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.INTEGER,
				constructed: false,
				capture: "certificationRequestInfoVersion"
			},
			{
				name: "CertificationRequestInfo.subject",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.SEQUENCE,
				constructed: true,
				captureAsn1: "certificationRequestInfoSubject"
			},
			publicKeyValidator,
			{
				name: "CertificationRequestInfo.attributes",
				tagClass: asn1.Class.CONTEXT_SPECIFIC,
				type: 0,
				constructed: true,
				optional: true,
				capture: "certificationRequestInfoAttributes",
				value: [{
					name: "CertificationRequestInfo.attributes",
					tagClass: asn1.Class.UNIVERSAL,
					type: asn1.Type.SEQUENCE,
					constructed: true,
					value: [{
						name: "CertificationRequestInfo.attributes.type",
						tagClass: asn1.Class.UNIVERSAL,
						type: asn1.Type.OID,
						constructed: false
					}, {
						name: "CertificationRequestInfo.attributes.value",
						tagClass: asn1.Class.UNIVERSAL,
						type: asn1.Type.SET,
						constructed: true
					}]
				}]
			}
		]
	};
	var certificationRequestValidator = {
		name: "CertificationRequest",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		captureAsn1: "csr",
		value: [
			certificationRequestInfoValidator,
			{
				name: "CertificationRequest.signatureAlgorithm",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.SEQUENCE,
				constructed: true,
				value: [{
					name: "CertificationRequest.signatureAlgorithm.algorithm",
					tagClass: asn1.Class.UNIVERSAL,
					type: asn1.Type.OID,
					constructed: false,
					capture: "csrSignatureOid"
				}, {
					name: "CertificationRequest.signatureAlgorithm.parameters",
					tagClass: asn1.Class.UNIVERSAL,
					optional: true,
					captureAsn1: "csrSignatureParams"
				}]
			},
			{
				name: "CertificationRequest.signature",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.BITSTRING,
				constructed: false,
				captureBitStringValue: "csrSignature"
			}
		]
	};
	/**
	* Converts an RDNSequence of ASN.1 DER-encoded RelativeDistinguishedName
	* sets into an array with objects that have type and value properties.
	*
	* @param rdn the RDNSequence to convert.
	* @param md a message digest to append type and value to if provided.
	*/
	pki.RDNAttributesAsArray = function(rdn, md) {
		var rval = [];
		var set, attr, obj;
		for (var si = 0; si < rdn.value.length; ++si) {
			set = rdn.value[si];
			for (var i = 0; i < set.value.length; ++i) {
				obj = {};
				attr = set.value[i];
				obj.type = asn1.derToOid(attr.value[0].value);
				obj.value = attr.value[1].value;
				obj.valueTagClass = attr.value[1].type;
				if (obj.type in oids) {
					obj.name = oids[obj.type];
					if (obj.name in _shortNames) {
						obj.shortName = _shortNames[obj.name];
					}
				}
				if (md) {
					md.update(obj.type);
					md.update(obj.value);
				}
				rval.push(obj);
			}
		}
		return rval;
	};
	/**
	* Converts ASN.1 CRIAttributes into an array with objects that have type and
	* value properties.
	*
	* @param attributes the CRIAttributes to convert.
	*/
	pki.CRIAttributesAsArray = function(attributes) {
		var rval = [];
		for (var si = 0; si < attributes.length; ++si) {
			var seq = attributes[si];
			var type = asn1.derToOid(seq.value[0].value);
			var values = seq.value[1].value;
			for (var vi = 0; vi < values.length; ++vi) {
				var obj = {};
				obj.type = type;
				obj.value = values[vi].value;
				obj.valueTagClass = values[vi].type;
				if (obj.type in oids) {
					obj.name = oids[obj.type];
					if (obj.name in _shortNames) {
						obj.shortName = _shortNames[obj.name];
					}
				}
				if (obj.type === oids.extensionRequest) {
					obj.extensions = [];
					for (var ei = 0; ei < obj.value.length; ++ei) {
						obj.extensions.push(pki.certificateExtensionFromAsn1(obj.value[ei]));
					}
				}
				rval.push(obj);
			}
		}
		return rval;
	};
	/**
	* Gets an issuer or subject attribute from its name, type, or short name.
	*
	* @param obj the issuer or subject object.
	* @param options a short name string or an object with:
	*          shortName the short name for the attribute.
	*          name the name for the attribute.
	*          type the type for the attribute.
	*
	* @return the attribute.
	*/
	function _getAttribute(obj, options) {
		if (typeof options === "string") {
			options = { shortName: options };
		}
		var rval = null;
		var attr;
		for (var i = 0; rval === null && i < obj.attributes.length; ++i) {
			attr = obj.attributes[i];
			if (options.type && options.type === attr.type) {
				rval = attr;
			} else if (options.name && options.name === attr.name) {
				rval = attr;
			} else if (options.shortName && options.shortName === attr.shortName) {
				rval = attr;
			}
		}
		return rval;
	}
	/**
	* Converts signature parameters from ASN.1 structure.
	*
	* Currently only RSASSA-PSS supported.  The PKCS#1 v1.5 signature scheme had
	* no parameters.
	*
	* RSASSA-PSS-params  ::=  SEQUENCE  {
	*   hashAlgorithm      [0] HashAlgorithm DEFAULT
	*                             sha1Identifier,
	*   maskGenAlgorithm   [1] MaskGenAlgorithm DEFAULT
	*                             mgf1SHA1Identifier,
	*   saltLength         [2] INTEGER DEFAULT 20,
	*   trailerField       [3] INTEGER DEFAULT 1
	* }
	*
	* HashAlgorithm  ::=  AlgorithmIdentifier
	*
	* MaskGenAlgorithm  ::=  AlgorithmIdentifier
	*
	* AlgorithmIdentifer ::= SEQUENCE {
	*   algorithm OBJECT IDENTIFIER,
	*   parameters ANY DEFINED BY algorithm OPTIONAL
	* }
	*
	* @param oid The OID specifying the signature algorithm
	* @param obj The ASN.1 structure holding the parameters
	* @param fillDefaults Whether to use return default values where omitted
	* @return signature parameter object
	*/
	var _readSignatureParameters = function(oid, obj, fillDefaults) {
		var params = {};
		if (oid !== oids["RSASSA-PSS"]) {
			return params;
		}
		if (fillDefaults) {
			params = {
				hash: { algorithmOid: oids["sha1"] },
				mgf: {
					algorithmOid: oids["mgf1"],
					hash: { algorithmOid: oids["sha1"] }
				},
				saltLength: 20
			};
		}
		var capture = {};
		var errors = [];
		if (!asn1.validate(obj, rsassaPssParameterValidator, capture, errors)) {
			var error = new Error("Cannot read RSASSA-PSS parameter block.");
			error.errors = errors;
			throw error;
		}
		if (capture.hashOid !== undefined) {
			params.hash = params.hash || {};
			params.hash.algorithmOid = asn1.derToOid(capture.hashOid);
		}
		if (capture.maskGenOid !== undefined) {
			params.mgf = params.mgf || {};
			params.mgf.algorithmOid = asn1.derToOid(capture.maskGenOid);
			params.mgf.hash = params.mgf.hash || {};
			params.mgf.hash.algorithmOid = asn1.derToOid(capture.maskGenHashOid);
		}
		if (capture.saltLength !== undefined) {
			params.saltLength = capture.saltLength.charCodeAt(0);
		}
		return params;
	};
	/**
	* Create signature digest for OID.
	*
	* @param options
	*   signatureOid: the OID specifying the signature algorithm.
	*   type: a human readable type for error messages
	* @return a created md instance. throws if unknown oid.
	*/
	var _createSignatureDigest = function(options) {
		switch (oids[options.signatureOid]) {
			case "sha1WithRSAEncryption":
			case "sha1WithRSASignature": return forge.md.sha1.create();
			case "md5WithRSAEncryption": return forge.md.md5.create();
			case "sha256WithRSAEncryption": return forge.md.sha256.create();
			case "sha384WithRSAEncryption": return forge.md.sha384.create();
			case "sha512WithRSAEncryption": return forge.md.sha512.create();
			case "RSASSA-PSS": return forge.md.sha256.create();
			default:
				var error = new Error("Could not compute " + options.type + " digest. " + "Unknown signature OID.");
				error.signatureOid = options.signatureOid;
				throw error;
		}
	};
	/**
	* Verify signature on certificate or CSR.
	*
	* @param options:
	*   certificate the certificate or CSR to verify.
	*   md the signature digest.
	*   signature the signature
	* @return a created md instance. throws if unknown oid.
	*/
	var _verifySignature = function(options) {
		var cert = options.certificate;
		var scheme;
		switch (cert.signatureOid) {
			case oids.sha1WithRSAEncryption:
			case oids.sha1WithRSASignature: break;
			case oids["RSASSA-PSS"]:
				var hash, mgf;
				hash = oids[cert.signatureParameters.mgf.hash.algorithmOid];
				if (hash === undefined || forge.md[hash] === undefined) {
					var error = new Error("Unsupported MGF hash function.");
					error.oid = cert.signatureParameters.mgf.hash.algorithmOid;
					error.name = hash;
					throw error;
				}
				mgf = oids[cert.signatureParameters.mgf.algorithmOid];
				if (mgf === undefined || forge.mgf[mgf] === undefined) {
					var error = new Error("Unsupported MGF function.");
					error.oid = cert.signatureParameters.mgf.algorithmOid;
					error.name = mgf;
					throw error;
				}
				mgf = forge.mgf[mgf].create(forge.md[hash].create());
				hash = oids[cert.signatureParameters.hash.algorithmOid];
				if (hash === undefined || forge.md[hash] === undefined) {
					var error = new Error("Unsupported RSASSA-PSS hash function.");
					error.oid = cert.signatureParameters.hash.algorithmOid;
					error.name = hash;
					throw error;
				}
				scheme = forge.pss.create(forge.md[hash].create(), mgf, cert.signatureParameters.saltLength);
				break;
		}
		return cert.publicKey.verify(options.md.digest().getBytes(), options.signature, scheme);
	};
	/**
	* Converts an X.509 certificate from PEM format.
	*
	* Note: If the certificate is to be verified then compute hash should
	* be set to true. This will scan the TBSCertificate part of the ASN.1
	* object while it is converted so it doesn't need to be converted back
	* to ASN.1-DER-encoding later.
	*
	* @param pem the PEM-formatted certificate.
	* @param computeHash true to compute the hash for verification.
	* @param strict true to be strict when checking ASN.1 value lengths, false to
	*          allow truncated values (default: true).
	*
	* @return the certificate.
	*/
	pki.certificateFromPem = function(pem, computeHash, strict) {
		var msg = forge.pem.decode(pem)[0];
		if (msg.type !== "CERTIFICATE" && msg.type !== "X509 CERTIFICATE" && msg.type !== "TRUSTED CERTIFICATE") {
			var error = new Error("Could not convert certificate from PEM; PEM header type " + "is not \"CERTIFICATE\", \"X509 CERTIFICATE\", or \"TRUSTED CERTIFICATE\".");
			error.headerType = msg.type;
			throw error;
		}
		if (msg.procType && msg.procType.type === "ENCRYPTED") {
			throw new Error("Could not convert certificate from PEM; PEM is encrypted.");
		}
		var obj = asn1.fromDer(msg.body, strict);
		return pki.certificateFromAsn1(obj, computeHash);
	};
	/**
	* Converts an X.509 certificate to PEM format.
	*
	* @param cert the certificate.
	* @param maxline the maximum characters per line, defaults to 64.
	*
	* @return the PEM-formatted certificate.
	*/
	pki.certificateToPem = function(cert, maxline) {
		var msg = {
			type: "CERTIFICATE",
			body: asn1.toDer(pki.certificateToAsn1(cert)).getBytes()
		};
		return forge.pem.encode(msg, { maxline });
	};
	/**
	* Converts an RSA public key from PEM format.
	*
	* @param pem the PEM-formatted public key.
	*
	* @return the public key.
	*/
	pki.publicKeyFromPem = function(pem) {
		var msg = forge.pem.decode(pem)[0];
		if (msg.type !== "PUBLIC KEY" && msg.type !== "RSA PUBLIC KEY") {
			var error = new Error("Could not convert public key from PEM; PEM header " + "type is not \"PUBLIC KEY\" or \"RSA PUBLIC KEY\".");
			error.headerType = msg.type;
			throw error;
		}
		if (msg.procType && msg.procType.type === "ENCRYPTED") {
			throw new Error("Could not convert public key from PEM; PEM is encrypted.");
		}
		var obj = asn1.fromDer(msg.body);
		return pki.publicKeyFromAsn1(obj);
	};
	/**
	* Converts an RSA public key to PEM format (using a SubjectPublicKeyInfo).
	*
	* @param key the public key.
	* @param maxline the maximum characters per line, defaults to 64.
	*
	* @return the PEM-formatted public key.
	*/
	pki.publicKeyToPem = function(key, maxline) {
		var msg = {
			type: "PUBLIC KEY",
			body: asn1.toDer(pki.publicKeyToAsn1(key)).getBytes()
		};
		return forge.pem.encode(msg, { maxline });
	};
	/**
	* Converts an RSA public key to PEM format (using an RSAPublicKey).
	*
	* @param key the public key.
	* @param maxline the maximum characters per line, defaults to 64.
	*
	* @return the PEM-formatted public key.
	*/
	pki.publicKeyToRSAPublicKeyPem = function(key, maxline) {
		var msg = {
			type: "RSA PUBLIC KEY",
			body: asn1.toDer(pki.publicKeyToRSAPublicKey(key)).getBytes()
		};
		return forge.pem.encode(msg, { maxline });
	};
	/**
	* Gets a fingerprint for the given public key.
	*
	* @param options the options to use.
	*          [md] the message digest object to use (defaults to forge.md.sha1).
	*          [type] the type of fingerprint, such as 'RSAPublicKey',
	*            'SubjectPublicKeyInfo' (defaults to 'RSAPublicKey').
	*          [encoding] an alternative output encoding, such as 'hex'
	*            (defaults to none, outputs a byte buffer).
	*          [delimiter] the delimiter to use between bytes for 'hex' encoded
	*            output, eg: ':' (defaults to none).
	*
	* @return the fingerprint as a byte buffer or other encoding based on options.
	*/
	pki.getPublicKeyFingerprint = function(key, options) {
		options = options || {};
		var md = options.md || forge.md.sha1.create();
		var type = options.type || "RSAPublicKey";
		var bytes;
		switch (type) {
			case "RSAPublicKey":
				bytes = asn1.toDer(pki.publicKeyToRSAPublicKey(key)).getBytes();
				break;
			case "SubjectPublicKeyInfo":
				bytes = asn1.toDer(pki.publicKeyToAsn1(key)).getBytes();
				break;
			default: throw new Error("Unknown fingerprint type \"" + options.type + "\".");
		}
		md.start();
		md.update(bytes);
		var digest = md.digest();
		if (options.encoding === "hex") {
			var hex = digest.toHex();
			if (options.delimiter) {
				return hex.match(/.{2}/g).join(options.delimiter);
			}
			return hex;
		} else if (options.encoding === "binary") {
			return digest.getBytes();
		} else if (options.encoding) {
			throw new Error("Unknown encoding \"" + options.encoding + "\".");
		}
		return digest;
	};
	/**
	* Converts a PKCS#10 certification request (CSR) from PEM format.
	*
	* Note: If the certification request is to be verified then compute hash
	* should be set to true. This will scan the CertificationRequestInfo part of
	* the ASN.1 object while it is converted so it doesn't need to be converted
	* back to ASN.1-DER-encoding later.
	*
	* @param pem the PEM-formatted certificate.
	* @param computeHash true to compute the hash for verification.
	* @param strict true to be strict when checking ASN.1 value lengths, false to
	*          allow truncated values (default: true).
	*
	* @return the certification request (CSR).
	*/
	pki.certificationRequestFromPem = function(pem, computeHash, strict) {
		var msg = forge.pem.decode(pem)[0];
		if (msg.type !== "CERTIFICATE REQUEST") {
			var error = new Error("Could not convert certification request from PEM; " + "PEM header type is not \"CERTIFICATE REQUEST\".");
			error.headerType = msg.type;
			throw error;
		}
		if (msg.procType && msg.procType.type === "ENCRYPTED") {
			throw new Error("Could not convert certification request from PEM; " + "PEM is encrypted.");
		}
		var obj = asn1.fromDer(msg.body, strict);
		return pki.certificationRequestFromAsn1(obj, computeHash);
	};
	/**
	* Converts a PKCS#10 certification request (CSR) to PEM format.
	*
	* @param csr the certification request.
	* @param maxline the maximum characters per line, defaults to 64.
	*
	* @return the PEM-formatted certification request.
	*/
	pki.certificationRequestToPem = function(csr, maxline) {
		var msg = {
			type: "CERTIFICATE REQUEST",
			body: asn1.toDer(pki.certificationRequestToAsn1(csr)).getBytes()
		};
		return forge.pem.encode(msg, { maxline });
	};
	/**
	* Creates an empty X.509v3 RSA certificate.
	*
	* @return the certificate.
	*/
	pki.createCertificate = function() {
		var cert = {};
		cert.version = 2;
		cert.serialNumber = "00";
		cert.signatureOid = null;
		cert.signature = null;
		cert.siginfo = {};
		cert.siginfo.algorithmOid = null;
		cert.validity = {};
		cert.validity.notBefore = new Date();
		cert.validity.notAfter = new Date();
		cert.issuer = {};
		cert.issuer.getField = function(sn) {
			return _getAttribute(cert.issuer, sn);
		};
		cert.issuer.addField = function(attr) {
			_fillMissingFields([attr]);
			cert.issuer.attributes.push(attr);
		};
		cert.issuer.attributes = [];
		cert.issuer.hash = null;
		cert.subject = {};
		cert.subject.getField = function(sn) {
			return _getAttribute(cert.subject, sn);
		};
		cert.subject.addField = function(attr) {
			_fillMissingFields([attr]);
			cert.subject.attributes.push(attr);
		};
		cert.subject.attributes = [];
		cert.subject.hash = null;
		cert.extensions = [];
		cert.publicKey = null;
		cert.md = null;
		/**
		* Sets the subject of this certificate.
		*
		* @param attrs the array of subject attributes to use.
		* @param uniqueId an optional a unique ID to use.
		*/
		cert.setSubject = function(attrs, uniqueId) {
			_fillMissingFields(attrs);
			cert.subject.attributes = attrs;
			delete cert.subject.uniqueId;
			if (uniqueId) {
				cert.subject.uniqueId = uniqueId;
			}
			cert.subject.hash = null;
		};
		/**
		* Sets the issuer of this certificate.
		*
		* @param attrs the array of issuer attributes to use.
		* @param uniqueId an optional a unique ID to use.
		*/
		cert.setIssuer = function(attrs, uniqueId) {
			_fillMissingFields(attrs);
			cert.issuer.attributes = attrs;
			delete cert.issuer.uniqueId;
			if (uniqueId) {
				cert.issuer.uniqueId = uniqueId;
			}
			cert.issuer.hash = null;
		};
		/**
		* Sets the extensions of this certificate.
		*
		* @param exts the array of extensions to use.
		*/
		cert.setExtensions = function(exts) {
			for (var i = 0; i < exts.length; ++i) {
				_fillMissingExtensionFields(exts[i], { cert });
			}
			cert.extensions = exts;
		};
		/**
		* Gets an extension by its name or id.
		*
		* @param options the name to use or an object with:
		*          name the name to use.
		*          id the id to use.
		*
		* @return the extension or null if not found.
		*/
		cert.getExtension = function(options) {
			if (typeof options === "string") {
				options = { name: options };
			}
			var rval = null;
			var ext;
			for (var i = 0; rval === null && i < cert.extensions.length; ++i) {
				ext = cert.extensions[i];
				if (options.id && ext.id === options.id) {
					rval = ext;
				} else if (options.name && ext.name === options.name) {
					rval = ext;
				}
			}
			return rval;
		};
		/**
		* Signs this certificate using the given private key.
		*
		* @param key the private key to sign with.
		* @param md the message digest object to use (defaults to forge.md.sha1).
		*/
		cert.sign = function(key, md) {
			cert.md = md || forge.md.sha1.create();
			var algorithmOid = oids[cert.md.algorithm + "WithRSAEncryption"];
			if (!algorithmOid) {
				var error = new Error("Could not compute certificate digest. " + "Unknown message digest algorithm OID.");
				error.algorithm = cert.md.algorithm;
				throw error;
			}
			cert.signatureOid = cert.siginfo.algorithmOid = algorithmOid;
			cert.tbsCertificate = pki.getTBSCertificate(cert);
			var bytes = asn1.toDer(cert.tbsCertificate);
			cert.md.update(bytes.getBytes());
			cert.signature = key.sign(cert.md);
		};
		/**
		* Attempts verify the signature on the passed certificate using this
		* certificate's public key.
		*
		* @param child the certificate to verify.
		*
		* @return true if verified, false if not.
		*/
		cert.verify = function(child) {
			var rval = false;
			if (!cert.issued(child)) {
				var issuer = child.issuer;
				var subject = cert.subject;
				var error = new Error("The parent certificate did not issue the given child " + "certificate; the child certificate's issuer does not match the " + "parent's subject.");
				error.expectedIssuer = subject.attributes;
				error.actualIssuer = issuer.attributes;
				throw error;
			}
			var md = child.md;
			if (md === null) {
				md = _createSignatureDigest({
					signatureOid: child.signatureOid,
					type: "certificate"
				});
				var tbsCertificate = child.tbsCertificate || pki.getTBSCertificate(child);
				var bytes = asn1.toDer(tbsCertificate);
				md.update(bytes.getBytes());
			}
			if (md !== null) {
				rval = _verifySignature({
					certificate: cert,
					md,
					signature: child.signature
				});
			}
			return rval;
		};
		/**
		* Returns true if this certificate's issuer matches the passed
		* certificate's subject. Note that no signature check is performed.
		*
		* @param parent the certificate to check.
		*
		* @return true if this certificate's issuer matches the passed certificate's
		*         subject.
		*/
		cert.isIssuer = function(parent) {
			var rval = false;
			var i = cert.issuer;
			var s = parent.subject;
			if (i.hash && s.hash) {
				rval = i.hash === s.hash;
			} else if (i.attributes.length === s.attributes.length) {
				rval = true;
				var iattr, sattr;
				for (var n = 0; rval && n < i.attributes.length; ++n) {
					iattr = i.attributes[n];
					sattr = s.attributes[n];
					if (iattr.type !== sattr.type || iattr.value !== sattr.value) {
						rval = false;
					}
				}
			}
			return rval;
		};
		/**
		* Returns true if this certificate's subject matches the issuer of the
		* given certificate). Note that not signature check is performed.
		*
		* @param child the certificate to check.
		*
		* @return true if this certificate's subject matches the passed
		*         certificate's issuer.
		*/
		cert.issued = function(child) {
			return child.isIssuer(cert);
		};
		/**
		* Generates the subjectKeyIdentifier for this certificate as byte buffer.
		*
		* @return the subjectKeyIdentifier for this certificate as byte buffer.
		*/
		cert.generateSubjectKeyIdentifier = function() {
			return pki.getPublicKeyFingerprint(cert.publicKey, { type: "RSAPublicKey" });
		};
		/**
		* Verifies the subjectKeyIdentifier extension value for this certificate
		* against its public key. If no extension is found, false will be
		* returned.
		*
		* @return true if verified, false if not.
		*/
		cert.verifySubjectKeyIdentifier = function() {
			var oid = oids["subjectKeyIdentifier"];
			for (var i = 0; i < cert.extensions.length; ++i) {
				var ext = cert.extensions[i];
				if (ext.id === oid) {
					var ski = cert.generateSubjectKeyIdentifier().getBytes();
					return forge.util.hexToBytes(ext.subjectKeyIdentifier) === ski;
				}
			}
			return false;
		};
		return cert;
	};
	/**
	* Converts an X.509v3 RSA certificate from an ASN.1 object.
	*
	* Note: If the certificate is to be verified then compute hash should
	* be set to true. There is currently no implementation for converting
	* a certificate back to ASN.1 so the TBSCertificate part of the ASN.1
	* object needs to be scanned before the cert object is created.
	*
	* @param obj the asn1 representation of an X.509v3 RSA certificate.
	* @param computeHash true to compute the hash for verification.
	*
	* @return the certificate.
	*/
	pki.certificateFromAsn1 = function(obj, computeHash) {
		var capture = {};
		var errors = [];
		if (!asn1.validate(obj, x509CertificateValidator, capture, errors)) {
			var error = new Error("Cannot read X.509 certificate. " + "ASN.1 object is not an X509v3 Certificate.");
			error.errors = errors;
			throw error;
		}
		var oid = asn1.derToOid(capture.publicKeyOid);
		if (oid !== pki.oids.rsaEncryption) {
			throw new Error("Cannot read public key. OID is not RSA.");
		}
		var cert = pki.createCertificate();
		cert.version = capture.certVersion ? capture.certVersion.charCodeAt(0) : 0;
		var serial = forge.util.createBuffer(capture.certSerialNumber);
		cert.serialNumber = serial.toHex();
		cert.signatureOid = forge.asn1.derToOid(capture.certSignatureOid);
		cert.signatureParameters = _readSignatureParameters(cert.signatureOid, capture.certSignatureParams, true);
		cert.siginfo.algorithmOid = forge.asn1.derToOid(capture.certinfoSignatureOid);
		cert.siginfo.parameters = _readSignatureParameters(cert.siginfo.algorithmOid, capture.certinfoSignatureParams, false);
		cert.signature = capture.certSignature;
		var validity = [];
		if (capture.certValidity1UTCTime !== undefined) {
			validity.push(asn1.utcTimeToDate(capture.certValidity1UTCTime));
		}
		if (capture.certValidity2GeneralizedTime !== undefined) {
			validity.push(asn1.generalizedTimeToDate(capture.certValidity2GeneralizedTime));
		}
		if (capture.certValidity3UTCTime !== undefined) {
			validity.push(asn1.utcTimeToDate(capture.certValidity3UTCTime));
		}
		if (capture.certValidity4GeneralizedTime !== undefined) {
			validity.push(asn1.generalizedTimeToDate(capture.certValidity4GeneralizedTime));
		}
		if (validity.length > 2) {
			throw new Error("Cannot read notBefore/notAfter validity times; more " + "than two times were provided in the certificate.");
		}
		if (validity.length < 2) {
			throw new Error("Cannot read notBefore/notAfter validity times; they " + "were not provided as either UTCTime or GeneralizedTime.");
		}
		cert.validity.notBefore = validity[0];
		cert.validity.notAfter = validity[1];
		cert.tbsCertificate = capture.tbsCertificate;
		if (computeHash) {
			cert.md = _createSignatureDigest({
				signatureOid: cert.signatureOid,
				type: "certificate"
			});
			var bytes = asn1.toDer(cert.tbsCertificate);
			cert.md.update(bytes.getBytes());
		}
		var imd = forge.md.sha1.create();
		var ibytes = asn1.toDer(capture.certIssuer);
		imd.update(ibytes.getBytes());
		cert.issuer.getField = function(sn) {
			return _getAttribute(cert.issuer, sn);
		};
		cert.issuer.addField = function(attr) {
			_fillMissingFields([attr]);
			cert.issuer.attributes.push(attr);
		};
		cert.issuer.attributes = pki.RDNAttributesAsArray(capture.certIssuer);
		if (capture.certIssuerUniqueId) {
			cert.issuer.uniqueId = capture.certIssuerUniqueId;
		}
		cert.issuer.hash = imd.digest().toHex();
		var smd = forge.md.sha1.create();
		var sbytes = asn1.toDer(capture.certSubject);
		smd.update(sbytes.getBytes());
		cert.subject.getField = function(sn) {
			return _getAttribute(cert.subject, sn);
		};
		cert.subject.addField = function(attr) {
			_fillMissingFields([attr]);
			cert.subject.attributes.push(attr);
		};
		cert.subject.attributes = pki.RDNAttributesAsArray(capture.certSubject);
		if (capture.certSubjectUniqueId) {
			cert.subject.uniqueId = capture.certSubjectUniqueId;
		}
		cert.subject.hash = smd.digest().toHex();
		if (capture.certExtensions) {
			cert.extensions = pki.certificateExtensionsFromAsn1(capture.certExtensions);
		} else {
			cert.extensions = [];
		}
		cert.publicKey = pki.publicKeyFromAsn1(capture.subjectPublicKeyInfo);
		return cert;
	};
	/**
	* Converts an ASN.1 extensions object (with extension sequences as its
	* values) into an array of extension objects with types and values.
	*
	* Supported extensions:
	*
	* id-ce-keyUsage OBJECT IDENTIFIER ::=  { id-ce 15 }
	* KeyUsage ::= BIT STRING {
	*   digitalSignature        (0),
	*   nonRepudiation          (1),
	*   keyEncipherment         (2),
	*   dataEncipherment        (3),
	*   keyAgreement            (4),
	*   keyCertSign             (5),
	*   cRLSign                 (6),
	*   encipherOnly            (7),
	*   decipherOnly            (8)
	* }
	*
	* id-ce-basicConstraints OBJECT IDENTIFIER ::=  { id-ce 19 }
	* BasicConstraints ::= SEQUENCE {
	*   cA                      BOOLEAN DEFAULT FALSE,
	*   pathLenConstraint       INTEGER (0..MAX) OPTIONAL
	* }
	*
	* subjectAltName EXTENSION ::= {
	*   SYNTAX GeneralNames
	*   IDENTIFIED BY id-ce-subjectAltName
	* }
	*
	* GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
	*
	* GeneralName ::= CHOICE {
	*   otherName      [0] INSTANCE OF OTHER-NAME,
	*   rfc822Name     [1] IA5String,
	*   dNSName        [2] IA5String,
	*   x400Address    [3] ORAddress,
	*   directoryName  [4] Name,
	*   ediPartyName   [5] EDIPartyName,
	*   uniformResourceIdentifier [6] IA5String,
	*   IPAddress      [7] OCTET STRING,
	*   registeredID   [8] OBJECT IDENTIFIER
	* }
	*
	* OTHER-NAME ::= TYPE-IDENTIFIER
	*
	* EDIPartyName ::= SEQUENCE {
	*   nameAssigner [0] DirectoryString {ub-name} OPTIONAL,
	*   partyName    [1] DirectoryString {ub-name}
	* }
	*
	* @param exts the extensions ASN.1 with extension sequences to parse.
	*
	* @return the array.
	*/
	pki.certificateExtensionsFromAsn1 = function(exts) {
		var rval = [];
		for (var i = 0; i < exts.value.length; ++i) {
			var extseq = exts.value[i];
			for (var ei = 0; ei < extseq.value.length; ++ei) {
				rval.push(pki.certificateExtensionFromAsn1(extseq.value[ei]));
			}
		}
		return rval;
	};
	/**
	* Parses a single certificate extension from ASN.1.
	*
	* @param ext the extension in ASN.1 format.
	*
	* @return the parsed extension as an object.
	*/
	pki.certificateExtensionFromAsn1 = function(ext) {
		var e = {};
		e.id = asn1.derToOid(ext.value[0].value);
		e.critical = false;
		if (ext.value[1].type === asn1.Type.BOOLEAN) {
			e.critical = ext.value[1].value.charCodeAt(0) !== 0;
			e.value = ext.value[2].value;
		} else {
			e.value = ext.value[1].value;
		}
		if (e.id in oids) {
			e.name = oids[e.id];
			if (e.name === "keyUsage") {
				var ev = asn1.fromDer(e.value);
				var b2 = 0;
				var b3 = 0;
				if (ev.value.length > 1) {
					b2 = ev.value.charCodeAt(1);
					b3 = ev.value.length > 2 ? ev.value.charCodeAt(2) : 0;
				}
				e.digitalSignature = (b2 & 128) === 128;
				e.nonRepudiation = (b2 & 64) === 64;
				e.keyEncipherment = (b2 & 32) === 32;
				e.dataEncipherment = (b2 & 16) === 16;
				e.keyAgreement = (b2 & 8) === 8;
				e.keyCertSign = (b2 & 4) === 4;
				e.cRLSign = (b2 & 2) === 2;
				e.encipherOnly = (b2 & 1) === 1;
				e.decipherOnly = (b3 & 128) === 128;
			} else if (e.name === "basicConstraints") {
				var ev = asn1.fromDer(e.value);
				if (ev.value.length > 0 && ev.value[0].type === asn1.Type.BOOLEAN) {
					e.cA = ev.value[0].value.charCodeAt(0) !== 0;
				} else {
					e.cA = false;
				}
				var value = null;
				if (ev.value.length > 0 && ev.value[0].type === asn1.Type.INTEGER) {
					value = ev.value[0].value;
				} else if (ev.value.length > 1) {
					value = ev.value[1].value;
				}
				if (value !== null) {
					e.pathLenConstraint = asn1.derToInteger(value);
				}
			} else if (e.name === "extKeyUsage") {
				var ev = asn1.fromDer(e.value);
				for (var vi = 0; vi < ev.value.length; ++vi) {
					var oid = asn1.derToOid(ev.value[vi].value);
					if (oid in oids) {
						e[oids[oid]] = true;
					} else {
						e[oid] = true;
					}
				}
			} else if (e.name === "nsCertType") {
				var ev = asn1.fromDer(e.value);
				var b2 = 0;
				if (ev.value.length > 1) {
					b2 = ev.value.charCodeAt(1);
				}
				e.client = (b2 & 128) === 128;
				e.server = (b2 & 64) === 64;
				e.email = (b2 & 32) === 32;
				e.objsign = (b2 & 16) === 16;
				e.reserved = (b2 & 8) === 8;
				e.sslCA = (b2 & 4) === 4;
				e.emailCA = (b2 & 2) === 2;
				e.objCA = (b2 & 1) === 1;
			} else if (e.name === "subjectAltName" || e.name === "issuerAltName") {
				e.altNames = [];
				var gn;
				var ev = asn1.fromDer(e.value);
				for (var n = 0; n < ev.value.length; ++n) {
					gn = ev.value[n];
					var altName = {
						type: gn.type,
						value: gn.value
					};
					e.altNames.push(altName);
					switch (gn.type) {
						case 1:
						case 2:
						case 6: break;
						case 7:
							altName.ip = forge.util.bytesToIP(gn.value);
							break;
						case 8:
							altName.oid = asn1.derToOid(gn.value);
							break;
						default:
					}
				}
			} else if (e.name === "subjectKeyIdentifier") {
				var ev = asn1.fromDer(e.value);
				e.subjectKeyIdentifier = forge.util.bytesToHex(ev.value);
			}
		}
		return e;
	};
	/**
	* Converts a PKCS#10 certification request (CSR) from an ASN.1 object.
	*
	* Note: If the certification request is to be verified then compute hash
	* should be set to true. There is currently no implementation for converting
	* a certificate back to ASN.1 so the CertificationRequestInfo part of the
	* ASN.1 object needs to be scanned before the csr object is created.
	*
	* @param obj the asn1 representation of a PKCS#10 certification request (CSR).
	* @param computeHash true to compute the hash for verification.
	*
	* @return the certification request (CSR).
	*/
	pki.certificationRequestFromAsn1 = function(obj, computeHash) {
		var capture = {};
		var errors = [];
		if (!asn1.validate(obj, certificationRequestValidator, capture, errors)) {
			var error = new Error("Cannot read PKCS#10 certificate request. " + "ASN.1 object is not a PKCS#10 CertificationRequest.");
			error.errors = errors;
			throw error;
		}
		var oid = asn1.derToOid(capture.publicKeyOid);
		if (oid !== pki.oids.rsaEncryption) {
			throw new Error("Cannot read public key. OID is not RSA.");
		}
		var csr = pki.createCertificationRequest();
		csr.version = capture.csrVersion ? capture.csrVersion.charCodeAt(0) : 0;
		csr.signatureOid = forge.asn1.derToOid(capture.csrSignatureOid);
		csr.signatureParameters = _readSignatureParameters(csr.signatureOid, capture.csrSignatureParams, true);
		csr.siginfo.algorithmOid = forge.asn1.derToOid(capture.csrSignatureOid);
		csr.siginfo.parameters = _readSignatureParameters(csr.siginfo.algorithmOid, capture.csrSignatureParams, false);
		csr.signature = capture.csrSignature;
		csr.certificationRequestInfo = capture.certificationRequestInfo;
		if (computeHash) {
			csr.md = _createSignatureDigest({
				signatureOid: csr.signatureOid,
				type: "certification request"
			});
			var bytes = asn1.toDer(csr.certificationRequestInfo);
			csr.md.update(bytes.getBytes());
		}
		var smd = forge.md.sha1.create();
		csr.subject.getField = function(sn) {
			return _getAttribute(csr.subject, sn);
		};
		csr.subject.addField = function(attr) {
			_fillMissingFields([attr]);
			csr.subject.attributes.push(attr);
		};
		csr.subject.attributes = pki.RDNAttributesAsArray(capture.certificationRequestInfoSubject, smd);
		csr.subject.hash = smd.digest().toHex();
		csr.publicKey = pki.publicKeyFromAsn1(capture.subjectPublicKeyInfo);
		csr.getAttribute = function(sn) {
			return _getAttribute(csr, sn);
		};
		csr.addAttribute = function(attr) {
			_fillMissingFields([attr]);
			csr.attributes.push(attr);
		};
		csr.attributes = pki.CRIAttributesAsArray(capture.certificationRequestInfoAttributes || []);
		return csr;
	};
	/**
	* Creates an empty certification request (a CSR or certificate signing
	* request). Once created, its public key and attributes can be set and then
	* it can be signed.
	*
	* @return the empty certification request.
	*/
	pki.createCertificationRequest = function() {
		var csr = {};
		csr.version = 0;
		csr.signatureOid = null;
		csr.signature = null;
		csr.siginfo = {};
		csr.siginfo.algorithmOid = null;
		csr.subject = {};
		csr.subject.getField = function(sn) {
			return _getAttribute(csr.subject, sn);
		};
		csr.subject.addField = function(attr) {
			_fillMissingFields([attr]);
			csr.subject.attributes.push(attr);
		};
		csr.subject.attributes = [];
		csr.subject.hash = null;
		csr.publicKey = null;
		csr.attributes = [];
		csr.getAttribute = function(sn) {
			return _getAttribute(csr, sn);
		};
		csr.addAttribute = function(attr) {
			_fillMissingFields([attr]);
			csr.attributes.push(attr);
		};
		csr.md = null;
		/**
		* Sets the subject of this certification request.
		*
		* @param attrs the array of subject attributes to use.
		*/
		csr.setSubject = function(attrs) {
			_fillMissingFields(attrs);
			csr.subject.attributes = attrs;
			csr.subject.hash = null;
		};
		/**
		* Sets the attributes of this certification request.
		*
		* @param attrs the array of attributes to use.
		*/
		csr.setAttributes = function(attrs) {
			_fillMissingFields(attrs);
			csr.attributes = attrs;
		};
		/**
		* Signs this certification request using the given private key.
		*
		* @param key the private key to sign with.
		* @param md the message digest object to use (defaults to forge.md.sha1).
		*/
		csr.sign = function(key, md) {
			csr.md = md || forge.md.sha1.create();
			var algorithmOid = oids[csr.md.algorithm + "WithRSAEncryption"];
			if (!algorithmOid) {
				var error = new Error("Could not compute certification request digest. " + "Unknown message digest algorithm OID.");
				error.algorithm = csr.md.algorithm;
				throw error;
			}
			csr.signatureOid = csr.siginfo.algorithmOid = algorithmOid;
			csr.certificationRequestInfo = pki.getCertificationRequestInfo(csr);
			var bytes = asn1.toDer(csr.certificationRequestInfo);
			csr.md.update(bytes.getBytes());
			csr.signature = key.sign(csr.md);
		};
		/**
		* Attempts verify the signature on the passed certification request using
		* its public key.
		*
		* A CSR that has been exported to a file in PEM format can be verified using
		* OpenSSL using this command:
		*
		* openssl req -in <the-csr-pem-file> -verify -noout -text
		*
		* @return true if verified, false if not.
		*/
		csr.verify = function() {
			var rval = false;
			var md = csr.md;
			if (md === null) {
				md = _createSignatureDigest({
					signatureOid: csr.signatureOid,
					type: "certification request"
				});
				var cri = csr.certificationRequestInfo || pki.getCertificationRequestInfo(csr);
				var bytes = asn1.toDer(cri);
				md.update(bytes.getBytes());
			}
			if (md !== null) {
				rval = _verifySignature({
					certificate: csr,
					md,
					signature: csr.signature
				});
			}
			return rval;
		};
		return csr;
	};
	/**
	* Converts an X.509 subject or issuer to an ASN.1 RDNSequence.
	*
	* @param obj the subject or issuer (distinguished name).
	*
	* @return the ASN.1 RDNSequence.
	*/
	function _dnToAsn1(obj) {
		var rval = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []);
		var attr, set;
		var attrs = obj.attributes;
		for (var i = 0; i < attrs.length; ++i) {
			attr = attrs[i];
			var value = attr.value;
			var valueTagClass = asn1.Type.PRINTABLESTRING;
			if ("valueTagClass" in attr) {
				valueTagClass = attr.valueTagClass;
				if (valueTagClass === asn1.Type.UTF8) {
					value = forge.util.encodeUtf8(value);
				}
			}
			set = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SET, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(attr.type).getBytes()), asn1.create(asn1.Class.UNIVERSAL, valueTagClass, false, value)])]);
			rval.value.push(set);
		}
		return rval;
	}
	/**
	* Gets all printable attributes (typically of an issuer or subject) in a
	* simplified JSON format for display.
	*
	* @param attrs the attributes.
	*
	* @return the JSON for display.
	*/
	function _getAttributesAsJson(attrs) {
		var rval = {};
		for (var i = 0; i < attrs.length; ++i) {
			var attr = attrs[i];
			if (attr.shortName && (attr.valueTagClass === asn1.Type.UTF8 || attr.valueTagClass === asn1.Type.PRINTABLESTRING || attr.valueTagClass === asn1.Type.IA5STRING)) {
				var value = attr.value;
				if (attr.valueTagClass === asn1.Type.UTF8) {
					value = forge.util.encodeUtf8(attr.value);
				}
				if (!(attr.shortName in rval)) {
					rval[attr.shortName] = value;
				} else if (forge.util.isArray(rval[attr.shortName])) {
					rval[attr.shortName].push(value);
				} else {
					rval[attr.shortName] = [rval[attr.shortName], value];
				}
			}
		}
		return rval;
	}
	/**
	* Fills in missing fields in attributes.
	*
	* @param attrs the attributes to fill missing fields in.
	*/
	function _fillMissingFields(attrs) {
		var attr;
		for (var i = 0; i < attrs.length; ++i) {
			attr = attrs[i];
			if (typeof attr.name === "undefined") {
				if (attr.type && attr.type in pki.oids) {
					attr.name = pki.oids[attr.type];
				} else if (attr.shortName && attr.shortName in _shortNames) {
					attr.name = pki.oids[_shortNames[attr.shortName]];
				}
			}
			if (typeof attr.type === "undefined") {
				if (attr.name && attr.name in pki.oids) {
					attr.type = pki.oids[attr.name];
				} else {
					var error = new Error("Attribute type not specified.");
					error.attribute = attr;
					throw error;
				}
			}
			if (typeof attr.shortName === "undefined") {
				if (attr.name && attr.name in _shortNames) {
					attr.shortName = _shortNames[attr.name];
				}
			}
			if (attr.type === oids.extensionRequest) {
				attr.valueConstructed = true;
				attr.valueTagClass = asn1.Type.SEQUENCE;
				if (!attr.value && attr.extensions) {
					attr.value = [];
					for (var ei = 0; ei < attr.extensions.length; ++ei) {
						attr.value.push(pki.certificateExtensionToAsn1(_fillMissingExtensionFields(attr.extensions[ei])));
					}
				}
			}
			if (typeof attr.value === "undefined") {
				var error = new Error("Attribute value not specified.");
				error.attribute = attr;
				throw error;
			}
		}
	}
	/**
	* Fills in missing fields in certificate extensions.
	*
	* @param e the extension.
	* @param [options] the options to use.
	*          [cert] the certificate the extensions are for.
	*
	* @return the extension.
	*/
	function _fillMissingExtensionFields(e, options) {
		options = options || {};
		if (typeof e.name === "undefined") {
			if (e.id && e.id in pki.oids) {
				e.name = pki.oids[e.id];
			}
		}
		if (typeof e.id === "undefined") {
			if (e.name && e.name in pki.oids) {
				e.id = pki.oids[e.name];
			} else {
				var error = new Error("Extension ID not specified.");
				error.extension = e;
				throw error;
			}
		}
		if (typeof e.value !== "undefined") {
			return e;
		}
		if (e.name === "keyUsage") {
			var unused = 0;
			var b2 = 0;
			var b3 = 0;
			if (e.digitalSignature) {
				b2 |= 128;
				unused = 7;
			}
			if (e.nonRepudiation) {
				b2 |= 64;
				unused = 6;
			}
			if (e.keyEncipherment) {
				b2 |= 32;
				unused = 5;
			}
			if (e.dataEncipherment) {
				b2 |= 16;
				unused = 4;
			}
			if (e.keyAgreement) {
				b2 |= 8;
				unused = 3;
			}
			if (e.keyCertSign) {
				b2 |= 4;
				unused = 2;
			}
			if (e.cRLSign) {
				b2 |= 2;
				unused = 1;
			}
			if (e.encipherOnly) {
				b2 |= 1;
				unused = 0;
			}
			if (e.decipherOnly) {
				b3 |= 128;
				unused = 7;
			}
			var value = String.fromCharCode(unused);
			if (b3 !== 0) {
				value += String.fromCharCode(b2) + String.fromCharCode(b3);
			} else if (b2 !== 0) {
				value += String.fromCharCode(b2);
			}
			e.value = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.BITSTRING, false, value);
		} else if (e.name === "basicConstraints") {
			e.value = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []);
			if (e.cA) {
				e.value.value.push(asn1.create(asn1.Class.UNIVERSAL, asn1.Type.BOOLEAN, false, String.fromCharCode(255)));
			}
			if ("pathLenConstraint" in e) {
				e.value.value.push(asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, asn1.integerToDer(e.pathLenConstraint).getBytes()));
			}
		} else if (e.name === "extKeyUsage") {
			e.value = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []);
			var seq = e.value.value;
			for (var key in e) {
				if (e[key] !== true) {
					continue;
				}
				if (key in oids) {
					seq.push(asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(oids[key]).getBytes()));
				} else if (key.indexOf(".") !== -1) {
					seq.push(asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(key).getBytes()));
				}
			}
		} else if (e.name === "nsCertType") {
			var unused = 0;
			var b2 = 0;
			if (e.client) {
				b2 |= 128;
				unused = 7;
			}
			if (e.server) {
				b2 |= 64;
				unused = 6;
			}
			if (e.email) {
				b2 |= 32;
				unused = 5;
			}
			if (e.objsign) {
				b2 |= 16;
				unused = 4;
			}
			if (e.reserved) {
				b2 |= 8;
				unused = 3;
			}
			if (e.sslCA) {
				b2 |= 4;
				unused = 2;
			}
			if (e.emailCA) {
				b2 |= 2;
				unused = 1;
			}
			if (e.objCA) {
				b2 |= 1;
				unused = 0;
			}
			var value = String.fromCharCode(unused);
			if (b2 !== 0) {
				value += String.fromCharCode(b2);
			}
			e.value = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.BITSTRING, false, value);
		} else if (e.name === "subjectAltName" || e.name === "issuerAltName") {
			e.value = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []);
			var altName;
			for (var n = 0; n < e.altNames.length; ++n) {
				altName = e.altNames[n];
				var value = altName.value;
				if (altName.type === 7 && altName.ip) {
					value = forge.util.bytesFromIP(altName.ip);
					if (value === null) {
						var error = new Error("Extension \"ip\" value is not a valid IPv4 or IPv6 address.");
						error.extension = e;
						throw error;
					}
				} else if (altName.type === 8) {
					if (altName.oid) {
						value = asn1.oidToDer(asn1.oidToDer(altName.oid));
					} else {
						value = asn1.oidToDer(value);
					}
				}
				e.value.value.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC, altName.type, false, value));
			}
		} else if (e.name === "nsComment" && options.cert) {
			if (!/^[\x00-\x7F]*$/.test(e.comment) || e.comment.length < 1 || e.comment.length > 128) {
				throw new Error("Invalid \"nsComment\" content.");
			}
			e.value = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.IA5STRING, false, e.comment);
		} else if (e.name === "subjectKeyIdentifier" && options.cert) {
			var ski = options.cert.generateSubjectKeyIdentifier();
			e.subjectKeyIdentifier = ski.toHex();
			e.value = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, ski.getBytes());
		} else if (e.name === "authorityKeyIdentifier" && options.cert) {
			e.value = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []);
			var seq = e.value.value;
			if (e.keyIdentifier) {
				var keyIdentifier = e.keyIdentifier === true ? options.cert.generateSubjectKeyIdentifier().getBytes() : e.keyIdentifier;
				seq.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, false, keyIdentifier));
			}
			if (e.authorityCertIssuer) {
				var authorityCertIssuer = [asn1.create(asn1.Class.CONTEXT_SPECIFIC, 4, true, [_dnToAsn1(e.authorityCertIssuer === true ? options.cert.issuer : e.authorityCertIssuer)])];
				seq.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC, 1, true, authorityCertIssuer));
			}
			if (e.serialNumber) {
				var serialNumber = forge.util.hexToBytes(e.serialNumber === true ? options.cert.serialNumber : e.serialNumber);
				seq.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC, 2, false, serialNumber));
			}
		} else if (e.name === "cRLDistributionPoints") {
			e.value = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []);
			var seq = e.value.value;
			var subSeq = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []);
			var fullNameGeneralNames = asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, []);
			var altName;
			for (var n = 0; n < e.altNames.length; ++n) {
				altName = e.altNames[n];
				var value = altName.value;
				if (altName.type === 7 && altName.ip) {
					value = forge.util.bytesFromIP(altName.ip);
					if (value === null) {
						var error = new Error("Extension \"ip\" value is not a valid IPv4 or IPv6 address.");
						error.extension = e;
						throw error;
					}
				} else if (altName.type === 8) {
					if (altName.oid) {
						value = asn1.oidToDer(asn1.oidToDer(altName.oid));
					} else {
						value = asn1.oidToDer(value);
					}
				}
				fullNameGeneralNames.value.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC, altName.type, false, value));
			}
			subSeq.value.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [fullNameGeneralNames]));
			seq.push(subSeq);
		}
		if (typeof e.value === "undefined") {
			var error = new Error("Extension value not specified.");
			error.extension = e;
			throw error;
		}
		return e;
	}
	/**
	* Convert signature parameters object to ASN.1
	*
	* @param {String} oid Signature algorithm OID
	* @param params The signature parametrs object
	* @return ASN.1 object representing signature parameters
	*/
	function _signatureParametersToAsn1(oid, params) {
		switch (oid) {
			case oids["RSASSA-PSS"]:
				var parts = [];
				if (params.hash.algorithmOid !== undefined) {
					parts.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(params.hash.algorithmOid).getBytes()), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, "")])]));
				}
				if (params.mgf.algorithmOid !== undefined) {
					parts.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC, 1, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(params.mgf.algorithmOid).getBytes()), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(params.mgf.hash.algorithmOid).getBytes()), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, "")])])]));
				}
				if (params.saltLength !== undefined) {
					parts.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC, 2, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, asn1.integerToDer(params.saltLength).getBytes())]));
				}
				return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, parts);
			default: return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, "");
		}
	}
	/**
	* Converts a certification request's attributes to an ASN.1 set of
	* CRIAttributes.
	*
	* @param csr certification request.
	*
	* @return the ASN.1 set of CRIAttributes.
	*/
	function _CRIAttributesToAsn1(csr) {
		var rval = asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, []);
		if (csr.attributes.length === 0) {
			return rval;
		}
		var attrs = csr.attributes;
		for (var i = 0; i < attrs.length; ++i) {
			var attr = attrs[i];
			var value = attr.value;
			var valueTagClass = asn1.Type.UTF8;
			if ("valueTagClass" in attr) {
				valueTagClass = attr.valueTagClass;
			}
			if (valueTagClass === asn1.Type.UTF8) {
				value = forge.util.encodeUtf8(value);
			}
			var valueConstructed = false;
			if ("valueConstructed" in attr) {
				valueConstructed = attr.valueConstructed;
			}
			var seq = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(attr.type).getBytes()), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SET, true, [asn1.create(asn1.Class.UNIVERSAL, valueTagClass, valueConstructed, value)])]);
			rval.value.push(seq);
		}
		return rval;
	}
	var jan_1_1950 = new Date("1950-01-01T00:00:00Z");
	var jan_1_2050 = new Date("2050-01-01T00:00:00Z");
	/**
	* Converts a Date object to ASN.1
	* Handles the different format before and after 1st January 2050
	*
	* @param date date object.
	*
	* @return the ASN.1 object representing the date.
	*/
	function _dateToAsn1(date) {
		if (date >= jan_1_1950 && date < jan_1_2050) {
			return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.UTCTIME, false, asn1.dateToUtcTime(date));
		} else {
			return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.GENERALIZEDTIME, false, asn1.dateToGeneralizedTime(date));
		}
	}
	/**
	* Gets the ASN.1 TBSCertificate part of an X.509v3 certificate.
	*
	* @param cert the certificate.
	*
	* @return the asn1 TBSCertificate.
	*/
	pki.getTBSCertificate = function(cert) {
		var notBefore = _dateToAsn1(cert.validity.notBefore);
		var notAfter = _dateToAsn1(cert.validity.notAfter);
		var tbs = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
			asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, asn1.integerToDer(cert.version).getBytes())]),
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, forge.util.hexToBytes(cert.serialNumber)),
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(cert.siginfo.algorithmOid).getBytes()), _signatureParametersToAsn1(cert.siginfo.algorithmOid, cert.siginfo.parameters)]),
			_dnToAsn1(cert.issuer),
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [notBefore, notAfter]),
			_dnToAsn1(cert.subject),
			pki.publicKeyToAsn1(cert.publicKey)
		]);
		if (cert.issuer.uniqueId) {
			tbs.value.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC, 1, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.BITSTRING, false, String.fromCharCode(0) + cert.issuer.uniqueId)]));
		}
		if (cert.subject.uniqueId) {
			tbs.value.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC, 2, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.BITSTRING, false, String.fromCharCode(0) + cert.subject.uniqueId)]));
		}
		if (cert.extensions.length > 0) {
			tbs.value.push(pki.certificateExtensionsToAsn1(cert.extensions));
		}
		return tbs;
	};
	/**
	* Gets the ASN.1 CertificationRequestInfo part of a
	* PKCS#10 CertificationRequest.
	*
	* @param csr the certification request.
	*
	* @return the asn1 CertificationRequestInfo.
	*/
	pki.getCertificationRequestInfo = function(csr) {
		var cri = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, asn1.integerToDer(csr.version).getBytes()),
			_dnToAsn1(csr.subject),
			pki.publicKeyToAsn1(csr.publicKey),
			_CRIAttributesToAsn1(csr)
		]);
		return cri;
	};
	/**
	* Converts a DistinguishedName (subject or issuer) to an ASN.1 object.
	*
	* @param dn the DistinguishedName.
	*
	* @return the asn1 representation of a DistinguishedName.
	*/
	pki.distinguishedNameToAsn1 = function(dn) {
		return _dnToAsn1(dn);
	};
	/**
	* Converts an X.509v3 RSA certificate to an ASN.1 object.
	*
	* @param cert the certificate.
	*
	* @return the asn1 representation of an X.509v3 RSA certificate.
	*/
	pki.certificateToAsn1 = function(cert) {
		var tbsCertificate = cert.tbsCertificate || pki.getTBSCertificate(cert);
		return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
			tbsCertificate,
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(cert.signatureOid).getBytes()), _signatureParametersToAsn1(cert.signatureOid, cert.signatureParameters)]),
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.BITSTRING, false, String.fromCharCode(0) + cert.signature)
		]);
	};
	/**
	* Converts X.509v3 certificate extensions to ASN.1.
	*
	* @param exts the extensions to convert.
	*
	* @return the extensions in ASN.1 format.
	*/
	pki.certificateExtensionsToAsn1 = function(exts) {
		var rval = asn1.create(asn1.Class.CONTEXT_SPECIFIC, 3, true, []);
		var seq = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []);
		rval.value.push(seq);
		for (var i = 0; i < exts.length; ++i) {
			seq.value.push(pki.certificateExtensionToAsn1(exts[i]));
		}
		return rval;
	};
	/**
	* Converts a single certificate extension to ASN.1.
	*
	* @param ext the extension to convert.
	*
	* @return the extension in ASN.1 format.
	*/
	pki.certificateExtensionToAsn1 = function(ext) {
		var extseq = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, []);
		extseq.value.push(asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(ext.id).getBytes()));
		if (ext.critical) {
			extseq.value.push(asn1.create(asn1.Class.UNIVERSAL, asn1.Type.BOOLEAN, false, String.fromCharCode(255)));
		}
		var value = ext.value;
		if (typeof ext.value !== "string") {
			value = asn1.toDer(value).getBytes();
		}
		extseq.value.push(asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, value));
		return extseq;
	};
	/**
	* Converts a PKCS#10 certification request to an ASN.1 object.
	*
	* @param csr the certification request.
	*
	* @return the asn1 representation of a certification request.
	*/
	pki.certificationRequestToAsn1 = function(csr) {
		var cri = csr.certificationRequestInfo || pki.getCertificationRequestInfo(csr);
		return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
			cri,
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(csr.signatureOid).getBytes()), _signatureParametersToAsn1(csr.signatureOid, csr.signatureParameters)]),
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.BITSTRING, false, String.fromCharCode(0) + csr.signature)
		]);
	};
	/**
	* Creates a CA store.
	*
	* @param certs an optional array of certificate objects or PEM-formatted
	*          certificate strings to add to the CA store.
	*
	* @return the CA store.
	*/
	pki.createCaStore = function(certs) {
		var caStore = { certs: {} };
		/**
		* Gets the certificate that issued the passed certificate or its
		* 'parent'.
		*
		* @param cert the certificate to get the parent for.
		*
		* @return the parent certificate or null if none was found.
		*/
		caStore.getIssuer = function(cert) {
			var rval = getBySubject(cert.issuer);
			return rval;
		};
		/**
		* Adds a trusted certificate to the store.
		*
		* @param cert the certificate to add as a trusted certificate (either a
		*          pki.certificate object or a PEM-formatted certificate).
		*/
		caStore.addCertificate = function(cert) {
			if (typeof cert === "string") {
				cert = forge.pki.certificateFromPem(cert);
			}
			ensureSubjectHasHash(cert.subject);
			if (!caStore.hasCertificate(cert)) {
				if (cert.subject.hash in caStore.certs) {
					var tmp = caStore.certs[cert.subject.hash];
					if (!forge.util.isArray(tmp)) {
						tmp = [tmp];
					}
					tmp.push(cert);
					caStore.certs[cert.subject.hash] = tmp;
				} else {
					caStore.certs[cert.subject.hash] = cert;
				}
			}
		};
		/**
		* Checks to see if the given certificate is in the store.
		*
		* @param cert the certificate to check (either a pki.certificate or a
		*          PEM-formatted certificate).
		*
		* @return true if the certificate is in the store, false if not.
		*/
		caStore.hasCertificate = function(cert) {
			if (typeof cert === "string") {
				cert = forge.pki.certificateFromPem(cert);
			}
			var match = getBySubject(cert.subject);
			if (!match) {
				return false;
			}
			if (!forge.util.isArray(match)) {
				match = [match];
			}
			var der1 = asn1.toDer(pki.certificateToAsn1(cert)).getBytes();
			for (var i = 0; i < match.length; ++i) {
				var der2 = asn1.toDer(pki.certificateToAsn1(match[i])).getBytes();
				if (der1 === der2) {
					return true;
				}
			}
			return false;
		};
		/**
		* Lists all of the certificates kept in the store.
		*
		* @return an array of all of the pki.certificate objects in the store.
		*/
		caStore.listAllCertificates = function() {
			var certList = [];
			for (var hash in caStore.certs) {
				if (caStore.certs.hasOwnProperty(hash)) {
					var value = caStore.certs[hash];
					if (!forge.util.isArray(value)) {
						certList.push(value);
					} else {
						for (var i = 0; i < value.length; ++i) {
							certList.push(value[i]);
						}
					}
				}
			}
			return certList;
		};
		/**
		* Removes a certificate from the store.
		*
		* @param cert the certificate to remove (either a pki.certificate or a
		*          PEM-formatted certificate).
		*
		* @return the certificate that was removed or null if the certificate
		*           wasn't in store.
		*/
		caStore.removeCertificate = function(cert) {
			var result;
			if (typeof cert === "string") {
				cert = forge.pki.certificateFromPem(cert);
			}
			ensureSubjectHasHash(cert.subject);
			if (!caStore.hasCertificate(cert)) {
				return null;
			}
			var match = getBySubject(cert.subject);
			if (!forge.util.isArray(match)) {
				result = caStore.certs[cert.subject.hash];
				delete caStore.certs[cert.subject.hash];
				return result;
			}
			var der1 = asn1.toDer(pki.certificateToAsn1(cert)).getBytes();
			for (var i = 0; i < match.length; ++i) {
				var der2 = asn1.toDer(pki.certificateToAsn1(match[i])).getBytes();
				if (der1 === der2) {
					result = match[i];
					match.splice(i, 1);
				}
			}
			if (match.length === 0) {
				delete caStore.certs[cert.subject.hash];
			}
			return result;
		};
		function getBySubject(subject) {
			ensureSubjectHasHash(subject);
			return caStore.certs[subject.hash] || null;
		}
		function ensureSubjectHasHash(subject) {
			if (!subject.hash) {
				var md = forge.md.sha1.create();
				subject.attributes = pki.RDNAttributesAsArray(_dnToAsn1(subject), md);
				subject.hash = md.digest().toHex();
			}
		}
		if (certs) {
			for (var i = 0; i < certs.length; ++i) {
				var cert = certs[i];
				caStore.addCertificate(cert);
			}
		}
		return caStore;
	};
	/**
	* Certificate verification errors, based on TLS.
	*/
	pki.certificateError = {
		bad_certificate: "forge.pki.BadCertificate",
		unsupported_certificate: "forge.pki.UnsupportedCertificate",
		certificate_revoked: "forge.pki.CertificateRevoked",
		certificate_expired: "forge.pki.CertificateExpired",
		certificate_unknown: "forge.pki.CertificateUnknown",
		unknown_ca: "forge.pki.UnknownCertificateAuthority"
	};
	/**
	* Verifies a certificate chain against the given Certificate Authority store
	* with an optional custom verify callback.
	*
	* @param caStore a certificate store to verify against.
	* @param chain the certificate chain to verify, with the root or highest
	*          authority at the end (an array of certificates).
	* @param options a callback to be called for every certificate in the chain or
	*                  an object with:
	*                  verify a callback to be called for every certificate in the
	*                    chain
	*                  validityCheckDate the date against which the certificate
	*                    validity period should be checked. Pass null to not check
	*                    the validity period. By default, the current date is used.
	*
	* The verify callback has the following signature:
	*
	* verified - Set to true if certificate was verified, otherwise the
	*   pki.certificateError for why the certificate failed.
	* depth - The current index in the chain, where 0 is the end point's cert.
	* certs - The certificate chain, *NOTE* an empty chain indicates an anonymous
	*   end point.
	*
	* The function returns true on success and on failure either the appropriate
	* pki.certificateError or an object with 'error' set to the appropriate
	* pki.certificateError and 'message' set to a custom error message.
	*
	* @return true if successful, error thrown if not.
	*/
	pki.verifyCertificateChain = function(caStore, chain, options) {
		if (typeof options === "function") {
			options = { verify: options };
		}
		options = options || {};
		chain = chain.slice(0);
		var certs = chain.slice(0);
		var validityCheckDate = options.validityCheckDate;
		if (typeof validityCheckDate === "undefined") {
			validityCheckDate = new Date();
		}
		var first = true;
		var error = null;
		var depth = 0;
		do {
			var cert = chain.shift();
			var parent = null;
			var selfSigned = false;
			if (validityCheckDate) {
				if (validityCheckDate < cert.validity.notBefore || validityCheckDate > cert.validity.notAfter) {
					error = {
						message: "Certificate is not valid yet or has expired.",
						error: pki.certificateError.certificate_expired,
						notBefore: cert.validity.notBefore,
						notAfter: cert.validity.notAfter,
						now: validityCheckDate
					};
				}
			}
			if (error === null) {
				parent = chain[0] || caStore.getIssuer(cert);
				if (parent === null) {
					if (cert.isIssuer(cert)) {
						selfSigned = true;
						parent = cert;
					}
				}
				if (parent) {
					var parents = parent;
					if (!forge.util.isArray(parents)) {
						parents = [parents];
					}
					var verified = false;
					while (!verified && parents.length > 0) {
						parent = parents.shift();
						try {
							verified = parent.verify(cert);
						} catch (ex) {}
					}
					if (!verified) {
						error = {
							message: "Certificate signature is invalid.",
							error: pki.certificateError.bad_certificate
						};
					}
				}
				if (error === null && (!parent || selfSigned) && !caStore.hasCertificate(cert)) {
					error = {
						message: "Certificate is not trusted.",
						error: pki.certificateError.unknown_ca
					};
				}
			}
			if (error === null && parent && !cert.isIssuer(parent)) {
				error = {
					message: "Certificate issuer is invalid.",
					error: pki.certificateError.bad_certificate
				};
			}
			if (error === null) {
				var se = {
					keyUsage: true,
					basicConstraints: true
				};
				for (var i = 0; error === null && i < cert.extensions.length; ++i) {
					var ext = cert.extensions[i];
					if (ext.critical && !(ext.name in se)) {
						error = {
							message: "Certificate has an unsupported critical extension.",
							error: pki.certificateError.unsupported_certificate
						};
					}
				}
			}
			if (error === null && (!first || chain.length === 0 && (!parent || selfSigned))) {
				var bcExt = cert.getExtension("basicConstraints");
				var keyUsageExt = cert.getExtension("keyUsage");
				if (keyUsageExt !== null) {
					if (!keyUsageExt.keyCertSign || bcExt === null) {
						error = {
							message: "Certificate keyUsage or basicConstraints conflict " + "or indicate that the certificate is not a CA. " + "If the certificate is the only one in the chain or " + "isn't the first then the certificate must be a " + "valid CA.",
							error: pki.certificateError.bad_certificate
						};
					}
				}
				if (error === null && bcExt !== null && !bcExt.cA) {
					error = {
						message: "Certificate basicConstraints indicates the certificate " + "is not a CA.",
						error: pki.certificateError.bad_certificate
					};
				}
				if (error === null && keyUsageExt !== null && "pathLenConstraint" in bcExt) {
					var pathLen = depth - 1;
					if (pathLen > bcExt.pathLenConstraint) {
						error = {
							message: "Certificate basicConstraints pathLenConstraint violated.",
							error: pki.certificateError.bad_certificate
						};
					}
				}
			}
			var vfd = error === null ? true : error.error;
			var ret = options.verify ? options.verify(vfd, depth, certs) : vfd;
			if (ret === true) {
				error = null;
			} else {
				if (vfd === true) {
					error = {
						message: "The application rejected the certificate.",
						error: pki.certificateError.bad_certificate
					};
				}
				if (ret || ret === 0) {
					if (typeof ret === "object" && !forge.util.isArray(ret)) {
						if (ret.message) {
							error.message = ret.message;
						}
						if (ret.error) {
							error.error = ret.error;
						}
					} else if (typeof ret === "string") {
						error.error = ret;
					}
				}
				throw error;
			}
			first = false;
			++depth;
		} while (chain.length > 0);
		return true;
	};
}));

//#endregion
//#region ../node_modules/node-forge/lib/pkcs12.js
var require_pkcs12 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Javascript implementation of PKCS#12.
	*
	* @author Dave Longley
	* @author Stefan Siegl <stesie@brokenpipe.de>
	*
	* Copyright (c) 2010-2014 Digital Bazaar, Inc.
	* Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
	*
	* The ASN.1 representation of PKCS#12 is as follows
	* (see ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-12/pkcs-12-tc1.pdf for details)
	*
	* PFX ::= SEQUENCE {
	*   version  INTEGER {v3(3)}(v3,...),
	*   authSafe ContentInfo,
	*   macData  MacData OPTIONAL
	* }
	*
	* MacData ::= SEQUENCE {
	*   mac DigestInfo,
	*   macSalt OCTET STRING,
	*   iterations INTEGER DEFAULT 1
	* }
	* Note: The iterations default is for historical reasons and its use is
	* deprecated. A higher value, like 1024, is recommended.
	*
	* DigestInfo is defined in PKCS#7 as follows:
	*
	* DigestInfo ::= SEQUENCE {
	*   digestAlgorithm DigestAlgorithmIdentifier,
	*   digest Digest
	* }
	*
	* DigestAlgorithmIdentifier ::= AlgorithmIdentifier
	*
	* The AlgorithmIdentifier contains an Object Identifier (OID) and parameters
	* for the algorithm, if any. In the case of SHA1 there is none.
	*
	* AlgorithmIdentifer ::= SEQUENCE {
	*    algorithm OBJECT IDENTIFIER,
	*    parameters ANY DEFINED BY algorithm OPTIONAL
	* }
	*
	* Digest ::= OCTET STRING
	*
	*
	* ContentInfo ::= SEQUENCE {
	*   contentType ContentType,
	*   content     [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL
	* }
	*
	* ContentType ::= OBJECT IDENTIFIER
	*
	* AuthenticatedSafe ::= SEQUENCE OF ContentInfo
	* -- Data if unencrypted
	* -- EncryptedData if password-encrypted
	* -- EnvelopedData if public key-encrypted
	*
	*
	* SafeContents ::= SEQUENCE OF SafeBag
	*
	* SafeBag ::= SEQUENCE {
	*   bagId     BAG-TYPE.&id ({PKCS12BagSet})
	*   bagValue  [0] EXPLICIT BAG-TYPE.&Type({PKCS12BagSet}{@bagId}),
	*   bagAttributes SET OF PKCS12Attribute OPTIONAL
	* }
	*
	* PKCS12Attribute ::= SEQUENCE {
	*   attrId ATTRIBUTE.&id ({PKCS12AttrSet}),
	*   attrValues SET OF ATTRIBUTE.&Type ({PKCS12AttrSet}{@attrId})
	* } -- This type is compatible with the X.500 type 'Attribute'
	*
	* PKCS12AttrSet ATTRIBUTE ::= {
	*   friendlyName | -- from PKCS #9
	*   localKeyId, -- from PKCS #9
	*   ... -- Other attributes are allowed
	* }
	*
	* CertBag ::= SEQUENCE {
	*   certId    BAG-TYPE.&id   ({CertTypes}),
	*   certValue [0] EXPLICIT BAG-TYPE.&Type ({CertTypes}{@certId})
	* }
	*
	* x509Certificate BAG-TYPE ::= {OCTET STRING IDENTIFIED BY {certTypes 1}}
	*   -- DER-encoded X.509 certificate stored in OCTET STRING
	*
	* sdsiCertificate BAG-TYPE ::= {IA5String IDENTIFIED BY {certTypes 2}}
	* -- Base64-encoded SDSI certificate stored in IA5String
	*
	* CertTypes BAG-TYPE ::= {
	*   x509Certificate |
	*   sdsiCertificate,
	*   ... -- For future extensions
	* }
	*/
	var forge = require_forge();
	require_asn1();
	require_hmac$1();
	require_oids();
	require_pkcs7asn1();
	require_pbe();
	require_random();
	require_rsa();
	require_sha1$1();
	require_util$8();
	require_x509();
	var asn1 = forge.asn1;
	var pki = forge.pki;
	var p12 = module.exports = forge.pkcs12 = forge.pkcs12 || {};
	var contentInfoValidator = {
		name: "ContentInfo",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		value: [{
			name: "ContentInfo.contentType",
			tagClass: asn1.Class.UNIVERSAL,
			type: asn1.Type.OID,
			constructed: false,
			capture: "contentType"
		}, {
			name: "ContentInfo.content",
			tagClass: asn1.Class.CONTEXT_SPECIFIC,
			constructed: true,
			captureAsn1: "content"
		}]
	};
	var pfxValidator = {
		name: "PFX",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		value: [
			{
				name: "PFX.version",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.INTEGER,
				constructed: false,
				capture: "version"
			},
			contentInfoValidator,
			{
				name: "PFX.macData",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.SEQUENCE,
				constructed: true,
				optional: true,
				captureAsn1: "mac",
				value: [
					{
						name: "PFX.macData.mac",
						tagClass: asn1.Class.UNIVERSAL,
						type: asn1.Type.SEQUENCE,
						constructed: true,
						value: [{
							name: "PFX.macData.mac.digestAlgorithm",
							tagClass: asn1.Class.UNIVERSAL,
							type: asn1.Type.SEQUENCE,
							constructed: true,
							value: [{
								name: "PFX.macData.mac.digestAlgorithm.algorithm",
								tagClass: asn1.Class.UNIVERSAL,
								type: asn1.Type.OID,
								constructed: false,
								capture: "macAlgorithm"
							}, {
								name: "PFX.macData.mac.digestAlgorithm.parameters",
								tagClass: asn1.Class.UNIVERSAL,
								captureAsn1: "macAlgorithmParameters"
							}]
						}, {
							name: "PFX.macData.mac.digest",
							tagClass: asn1.Class.UNIVERSAL,
							type: asn1.Type.OCTETSTRING,
							constructed: false,
							capture: "macDigest"
						}]
					},
					{
						name: "PFX.macData.macSalt",
						tagClass: asn1.Class.UNIVERSAL,
						type: asn1.Type.OCTETSTRING,
						constructed: false,
						capture: "macSalt"
					},
					{
						name: "PFX.macData.iterations",
						tagClass: asn1.Class.UNIVERSAL,
						type: asn1.Type.INTEGER,
						constructed: false,
						optional: true,
						capture: "macIterations"
					}
				]
			}
		]
	};
	var safeBagValidator = {
		name: "SafeBag",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		value: [
			{
				name: "SafeBag.bagId",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.OID,
				constructed: false,
				capture: "bagId"
			},
			{
				name: "SafeBag.bagValue",
				tagClass: asn1.Class.CONTEXT_SPECIFIC,
				constructed: true,
				captureAsn1: "bagValue"
			},
			{
				name: "SafeBag.bagAttributes",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.SET,
				constructed: true,
				optional: true,
				capture: "bagAttributes"
			}
		]
	};
	var attributeValidator = {
		name: "Attribute",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		value: [{
			name: "Attribute.attrId",
			tagClass: asn1.Class.UNIVERSAL,
			type: asn1.Type.OID,
			constructed: false,
			capture: "oid"
		}, {
			name: "Attribute.attrValues",
			tagClass: asn1.Class.UNIVERSAL,
			type: asn1.Type.SET,
			constructed: true,
			capture: "values"
		}]
	};
	var certBagValidator = {
		name: "CertBag",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		value: [{
			name: "CertBag.certId",
			tagClass: asn1.Class.UNIVERSAL,
			type: asn1.Type.OID,
			constructed: false,
			capture: "certId"
		}, {
			name: "CertBag.certValue",
			tagClass: asn1.Class.CONTEXT_SPECIFIC,
			constructed: true,
			value: [{
				name: "CertBag.certValue[0]",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Class.OCTETSTRING,
				constructed: false,
				capture: "cert"
			}]
		}]
	};
	/**
	* Search SafeContents structure for bags with matching attributes.
	*
	* The search can optionally be narrowed by a certain bag type.
	*
	* @param safeContents the SafeContents structure to search in.
	* @param attrName the name of the attribute to compare against.
	* @param attrValue the attribute value to search for.
	* @param [bagType] bag type to narrow search by.
	*
	* @return an array of matching bags.
	*/
	function _getBagsByAttribute(safeContents, attrName, attrValue, bagType) {
		var result = [];
		for (var i = 0; i < safeContents.length; i++) {
			for (var j = 0; j < safeContents[i].safeBags.length; j++) {
				var bag = safeContents[i].safeBags[j];
				if (bagType !== undefined && bag.type !== bagType) {
					continue;
				}
				if (attrName === null) {
					result.push(bag);
					continue;
				}
				if (bag.attributes[attrName] !== undefined && bag.attributes[attrName].indexOf(attrValue) >= 0) {
					result.push(bag);
				}
			}
		}
		return result;
	}
	/**
	* Converts a PKCS#12 PFX in ASN.1 notation into a PFX object.
	*
	* @param obj The PKCS#12 PFX in ASN.1 notation.
	* @param strict true to use strict DER decoding, false not to (default: true).
	* @param {String} password Password to decrypt with (optional).
	*
	* @return PKCS#12 PFX object.
	*/
	p12.pkcs12FromAsn1 = function(obj, strict, password) {
		if (typeof strict === "string") {
			password = strict;
			strict = true;
		} else if (strict === undefined) {
			strict = true;
		}
		var capture = {};
		var errors = [];
		if (!asn1.validate(obj, pfxValidator, capture, errors)) {
			var error = new Error("Cannot read PKCS#12 PFX. " + "ASN.1 object is not an PKCS#12 PFX.");
			error.errors = error;
			throw error;
		}
		var pfx = {
			version: capture.version.charCodeAt(0),
			safeContents: [],
			getBags: function(filter) {
				var rval = {};
				var localKeyId;
				if ("localKeyId" in filter) {
					localKeyId = filter.localKeyId;
				} else if ("localKeyIdHex" in filter) {
					localKeyId = forge.util.hexToBytes(filter.localKeyIdHex);
				}
				if (localKeyId === undefined && !("friendlyName" in filter) && "bagType" in filter) {
					rval[filter.bagType] = _getBagsByAttribute(pfx.safeContents, null, null, filter.bagType);
				}
				if (localKeyId !== undefined) {
					rval.localKeyId = _getBagsByAttribute(pfx.safeContents, "localKeyId", localKeyId, filter.bagType);
				}
				if ("friendlyName" in filter) {
					rval.friendlyName = _getBagsByAttribute(pfx.safeContents, "friendlyName", filter.friendlyName, filter.bagType);
				}
				return rval;
			},
			getBagsByFriendlyName: function(friendlyName, bagType) {
				return _getBagsByAttribute(pfx.safeContents, "friendlyName", friendlyName, bagType);
			},
			getBagsByLocalKeyId: function(localKeyId, bagType) {
				return _getBagsByAttribute(pfx.safeContents, "localKeyId", localKeyId, bagType);
			}
		};
		if (capture.version.charCodeAt(0) !== 3) {
			var error = new Error("PKCS#12 PFX of version other than 3 not supported.");
			error.version = capture.version.charCodeAt(0);
			throw error;
		}
		if (asn1.derToOid(capture.contentType) !== pki.oids.data) {
			var error = new Error("Only PKCS#12 PFX in password integrity mode supported.");
			error.oid = asn1.derToOid(capture.contentType);
			throw error;
		}
		var data = capture.content.value[0];
		if (data.tagClass !== asn1.Class.UNIVERSAL || data.type !== asn1.Type.OCTETSTRING) {
			throw new Error("PKCS#12 authSafe content data is not an OCTET STRING.");
		}
		data = _decodePkcs7Data(data);
		if (capture.mac) {
			var md = null;
			var macKeyBytes = 0;
			var macAlgorithm = asn1.derToOid(capture.macAlgorithm);
			switch (macAlgorithm) {
				case pki.oids.sha1:
					md = forge.md.sha1.create();
					macKeyBytes = 20;
					break;
				case pki.oids.sha256:
					md = forge.md.sha256.create();
					macKeyBytes = 32;
					break;
				case pki.oids.sha384:
					md = forge.md.sha384.create();
					macKeyBytes = 48;
					break;
				case pki.oids.sha512:
					md = forge.md.sha512.create();
					macKeyBytes = 64;
					break;
				case pki.oids.md5:
					md = forge.md.md5.create();
					macKeyBytes = 16;
					break;
			}
			if (md === null) {
				throw new Error("PKCS#12 uses unsupported MAC algorithm: " + macAlgorithm);
			}
			var macSalt = new forge.util.ByteBuffer(capture.macSalt);
			var macIterations = "macIterations" in capture ? parseInt(forge.util.bytesToHex(capture.macIterations), 16) : 1;
			var macKey = p12.generateKey(password, macSalt, 3, macIterations, macKeyBytes, md);
			var mac = forge.hmac.create();
			mac.start(md, macKey);
			mac.update(data.value);
			var macValue = mac.getMac();
			if (macValue.getBytes() !== capture.macDigest) {
				throw new Error("PKCS#12 MAC could not be verified. Invalid password?");
			}
		}
		_decodeAuthenticatedSafe(pfx, data.value, strict, password);
		return pfx;
	};
	/**
	* Decodes PKCS#7 Data. PKCS#7 (RFC 2315) defines "Data" as an OCTET STRING,
	* but it is sometimes an OCTET STRING that is composed/constructed of chunks,
	* each its own OCTET STRING. This is BER-encoding vs. DER-encoding. This
	* function transforms this corner-case into the usual simple,
	* non-composed/constructed OCTET STRING.
	*
	* This function may be moved to ASN.1 at some point to better deal with
	* more BER-encoding issues, should they arise.
	*
	* @param data the ASN.1 Data object to transform.
	*/
	function _decodePkcs7Data(data) {
		if (data.composed || data.constructed) {
			var value = forge.util.createBuffer();
			for (var i = 0; i < data.value.length; ++i) {
				value.putBytes(data.value[i].value);
			}
			data.composed = data.constructed = false;
			data.value = value.getBytes();
		}
		return data;
	}
	/**
	* Decode PKCS#12 AuthenticatedSafe (BER encoded) into PFX object.
	*
	* The AuthenticatedSafe is a BER-encoded SEQUENCE OF ContentInfo.
	*
	* @param pfx The PKCS#12 PFX object to fill.
	* @param {String} authSafe BER-encoded AuthenticatedSafe.
	* @param strict true to use strict DER decoding, false not to.
	* @param {String} password Password to decrypt with (optional).
	*/
	function _decodeAuthenticatedSafe(pfx, authSafe, strict, password) {
		authSafe = asn1.fromDer(authSafe, strict);
		if (authSafe.tagClass !== asn1.Class.UNIVERSAL || authSafe.type !== asn1.Type.SEQUENCE || authSafe.constructed !== true) {
			throw new Error("PKCS#12 AuthenticatedSafe expected to be a " + "SEQUENCE OF ContentInfo");
		}
		for (var i = 0; i < authSafe.value.length; i++) {
			var contentInfo = authSafe.value[i];
			var capture = {};
			var errors = [];
			if (!asn1.validate(contentInfo, contentInfoValidator, capture, errors)) {
				var error = new Error("Cannot read ContentInfo.");
				error.errors = errors;
				throw error;
			}
			var obj = { encrypted: false };
			var safeContents = null;
			var data = capture.content.value[0];
			switch (asn1.derToOid(capture.contentType)) {
				case pki.oids.data:
					if (data.tagClass !== asn1.Class.UNIVERSAL || data.type !== asn1.Type.OCTETSTRING) {
						throw new Error("PKCS#12 SafeContents Data is not an OCTET STRING.");
					}
					safeContents = _decodePkcs7Data(data).value;
					break;
				case pki.oids.encryptedData:
					safeContents = _decryptSafeContents(data, password);
					obj.encrypted = true;
					break;
				default:
					var error = new Error("Unsupported PKCS#12 contentType.");
					error.contentType = asn1.derToOid(capture.contentType);
					throw error;
			}
			obj.safeBags = _decodeSafeContents(safeContents, strict, password);
			pfx.safeContents.push(obj);
		}
	}
	/**
	* Decrypt PKCS#7 EncryptedData structure.
	*
	* @param data ASN.1 encoded EncryptedContentInfo object.
	* @param password The user-provided password.
	*
	* @return The decrypted SafeContents (ASN.1 object).
	*/
	function _decryptSafeContents(data, password) {
		var capture = {};
		var errors = [];
		if (!asn1.validate(data, forge.pkcs7.asn1.encryptedDataValidator, capture, errors)) {
			var error = new Error("Cannot read EncryptedContentInfo.");
			error.errors = errors;
			throw error;
		}
		var oid = asn1.derToOid(capture.contentType);
		if (oid !== pki.oids.data) {
			var error = new Error("PKCS#12 EncryptedContentInfo ContentType is not Data.");
			error.oid = oid;
			throw error;
		}
		oid = asn1.derToOid(capture.encAlgorithm);
		var cipher = pki.pbe.getCipher(oid, capture.encParameter, password);
		var encryptedContentAsn1 = _decodePkcs7Data(capture.encryptedContentAsn1);
		var encrypted = forge.util.createBuffer(encryptedContentAsn1.value);
		cipher.update(encrypted);
		if (!cipher.finish()) {
			throw new Error("Failed to decrypt PKCS#12 SafeContents.");
		}
		return cipher.output.getBytes();
	}
	/**
	* Decode PKCS#12 SafeContents (BER-encoded) into array of Bag objects.
	*
	* The safeContents is a BER-encoded SEQUENCE OF SafeBag.
	*
	* @param {String} safeContents BER-encoded safeContents.
	* @param strict true to use strict DER decoding, false not to.
	* @param {String} password Password to decrypt with (optional).
	*
	* @return {Array} Array of Bag objects.
	*/
	function _decodeSafeContents(safeContents, strict, password) {
		if (!strict && safeContents.length === 0) {
			return [];
		}
		safeContents = asn1.fromDer(safeContents, strict);
		if (safeContents.tagClass !== asn1.Class.UNIVERSAL || safeContents.type !== asn1.Type.SEQUENCE || safeContents.constructed !== true) {
			throw new Error("PKCS#12 SafeContents expected to be a SEQUENCE OF SafeBag.");
		}
		var res = [];
		for (var i = 0; i < safeContents.value.length; i++) {
			var safeBag = safeContents.value[i];
			var capture = {};
			var errors = [];
			if (!asn1.validate(safeBag, safeBagValidator, capture, errors)) {
				var error = new Error("Cannot read SafeBag.");
				error.errors = errors;
				throw error;
			}
			var bag = {
				type: asn1.derToOid(capture.bagId),
				attributes: _decodeBagAttributes(capture.bagAttributes)
			};
			res.push(bag);
			var validator, decoder;
			var bagAsn1 = capture.bagValue.value[0];
			switch (bag.type) {
				case pki.oids.pkcs8ShroudedKeyBag:
					bagAsn1 = pki.decryptPrivateKeyInfo(bagAsn1, password);
					if (bagAsn1 === null) {
						throw new Error("Unable to decrypt PKCS#8 ShroudedKeyBag, wrong password?");
					}
				case pki.oids.keyBag:
					try {
						bag.key = pki.privateKeyFromAsn1(bagAsn1);
					} catch (e) {
						bag.key = null;
						bag.asn1 = bagAsn1;
					}
					continue;
				case pki.oids.certBag:
					validator = certBagValidator;
					decoder = function() {
						if (asn1.derToOid(capture.certId) !== pki.oids.x509Certificate) {
							var error = new Error("Unsupported certificate type, only X.509 supported.");
							error.oid = asn1.derToOid(capture.certId);
							throw error;
						}
						var certAsn1 = asn1.fromDer(capture.cert, strict);
						try {
							bag.cert = pki.certificateFromAsn1(certAsn1, true);
						} catch (e) {
							bag.cert = null;
							bag.asn1 = certAsn1;
						}
					};
					break;
				default:
					var error = new Error("Unsupported PKCS#12 SafeBag type.");
					error.oid = bag.type;
					throw error;
			}
			if (validator !== undefined && !asn1.validate(bagAsn1, validator, capture, errors)) {
				var error = new Error("Cannot read PKCS#12 " + validator.name);
				error.errors = errors;
				throw error;
			}
			decoder();
		}
		return res;
	}
	/**
	* Decode PKCS#12 SET OF PKCS12Attribute into JavaScript object.
	*
	* @param attributes SET OF PKCS12Attribute (ASN.1 object).
	*
	* @return the decoded attributes.
	*/
	function _decodeBagAttributes(attributes) {
		var decodedAttrs = {};
		if (attributes !== undefined) {
			for (var i = 0; i < attributes.length; ++i) {
				var capture = {};
				var errors = [];
				if (!asn1.validate(attributes[i], attributeValidator, capture, errors)) {
					var error = new Error("Cannot read PKCS#12 BagAttribute.");
					error.errors = errors;
					throw error;
				}
				var oid = asn1.derToOid(capture.oid);
				if (pki.oids[oid] === undefined) {
					continue;
				}
				decodedAttrs[pki.oids[oid]] = [];
				for (var j = 0; j < capture.values.length; ++j) {
					decodedAttrs[pki.oids[oid]].push(capture.values[j].value);
				}
			}
		}
		return decodedAttrs;
	}
	/**
	* Wraps a private key and certificate in a PKCS#12 PFX wrapper. If a
	* password is provided then the private key will be encrypted.
	*
	* An entire certificate chain may also be included. To do this, pass
	* an array for the "cert" parameter where the first certificate is
	* the one that is paired with the private key and each subsequent one
	* verifies the previous one. The certificates may be in PEM format or
	* have been already parsed by Forge.
	*
	* @todo implement password-based-encryption for the whole package
	*
	* @param key the private key.
	* @param cert the certificate (may be an array of certificates in order
	*          to specify a certificate chain).
	* @param password the password to use, null for none.
	* @param options:
	*          algorithm the encryption algorithm to use
	*            ('aes128', 'aes192', 'aes256', '3des'), defaults to 'aes128'.
	*          count the iteration count to use.
	*          saltSize the salt size to use.
	*          useMac true to include a MAC, false not to, defaults to true.
	*          localKeyId the local key ID to use, in hex.
	*          friendlyName the friendly name to use.
	*          generateLocalKeyId true to generate a random local key ID,
	*            false not to, defaults to true.
	*
	* @return the PKCS#12 PFX ASN.1 object.
	*/
	p12.toPkcs12Asn1 = function(key, cert, password, options) {
		options = options || {};
		options.saltSize = options.saltSize || 8;
		options.count = options.count || 2048;
		options.algorithm = options.algorithm || options.encAlgorithm || "aes128";
		if (!("useMac" in options)) {
			options.useMac = true;
		}
		if (!("localKeyId" in options)) {
			options.localKeyId = null;
		}
		if (!("generateLocalKeyId" in options)) {
			options.generateLocalKeyId = true;
		}
		var localKeyId = options.localKeyId;
		var bagAttrs;
		if (localKeyId !== null) {
			localKeyId = forge.util.hexToBytes(localKeyId);
		} else if (options.generateLocalKeyId) {
			if (cert) {
				var pairedCert = forge.util.isArray(cert) ? cert[0] : cert;
				if (typeof pairedCert === "string") {
					pairedCert = pki.certificateFromPem(pairedCert);
				}
				var sha1 = forge.md.sha1.create();
				sha1.update(asn1.toDer(pki.certificateToAsn1(pairedCert)).getBytes());
				localKeyId = sha1.digest().getBytes();
			} else {
				localKeyId = forge.random.getBytes(20);
			}
		}
		var attrs = [];
		if (localKeyId !== null) {
			attrs.push(asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(pki.oids.localKeyId).getBytes()), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SET, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, localKeyId)])]));
		}
		if ("friendlyName" in options) {
			attrs.push(asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(pki.oids.friendlyName).getBytes()), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SET, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.BMPSTRING, false, options.friendlyName)])]));
		}
		if (attrs.length > 0) {
			bagAttrs = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SET, true, attrs);
		}
		var contents = [];
		var chain = [];
		if (cert !== null) {
			if (forge.util.isArray(cert)) {
				chain = cert;
			} else {
				chain = [cert];
			}
		}
		var certSafeBags = [];
		for (var i = 0; i < chain.length; ++i) {
			cert = chain[i];
			if (typeof cert === "string") {
				cert = pki.certificateFromPem(cert);
			}
			var certBagAttrs = i === 0 ? bagAttrs : undefined;
			var certAsn1 = pki.certificateToAsn1(cert);
			var certSafeBag = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
				asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(pki.oids.certBag).getBytes()),
				asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(pki.oids.x509Certificate).getBytes()), asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, asn1.toDer(certAsn1).getBytes())])])]),
				certBagAttrs
			]);
			certSafeBags.push(certSafeBag);
		}
		if (certSafeBags.length > 0) {
			var certSafeContents = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, certSafeBags);
			var certCI = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(pki.oids.data).getBytes()), asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, asn1.toDer(certSafeContents).getBytes())])]);
			contents.push(certCI);
		}
		var keyBag = null;
		if (key !== null) {
			var pkAsn1 = pki.wrapRsaPrivateKey(pki.privateKeyToAsn1(key));
			if (password === null) {
				keyBag = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
					asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(pki.oids.keyBag).getBytes()),
					asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [pkAsn1]),
					bagAttrs
				]);
			} else {
				keyBag = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
					asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(pki.oids.pkcs8ShroudedKeyBag).getBytes()),
					asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [pki.encryptPrivateKeyInfo(pkAsn1, password, options)]),
					bagAttrs
				]);
			}
			var keySafeContents = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [keyBag]);
			var keyCI = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(pki.oids.data).getBytes()), asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, asn1.toDer(keySafeContents).getBytes())])]);
			contents.push(keyCI);
		}
		var safe = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, contents);
		var macData;
		if (options.useMac) {
			var sha1 = forge.md.sha1.create();
			var macSalt = new forge.util.ByteBuffer(forge.random.getBytes(options.saltSize));
			var count = options.count;
			var key = p12.generateKey(password, macSalt, 3, count, 20);
			var mac = forge.hmac.create();
			mac.start(sha1, key);
			mac.update(asn1.toDer(safe).getBytes());
			var macValue = mac.getMac();
			macData = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
				asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(pki.oids.sha1).getBytes()), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, "")]), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, macValue.getBytes())]),
				asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, macSalt.getBytes()),
				asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, asn1.integerToDer(count).getBytes())
			]);
		}
		return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, asn1.integerToDer(3).getBytes()),
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(pki.oids.data).getBytes()), asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, asn1.toDer(safe).getBytes())])]),
			macData
		]);
	};
	/**
	* Derives a PKCS#12 key.
	*
	* @param password the password to derive the key material from, null or
	*          undefined for none.
	* @param salt the salt, as a ByteBuffer, to use.
	* @param id the PKCS#12 ID byte (1 = key material, 2 = IV, 3 = MAC).
	* @param iter the iteration count.
	* @param n the number of bytes to derive from the password.
	* @param md the message digest to use, defaults to SHA-1.
	*
	* @return a ByteBuffer with the bytes derived from the password.
	*/
	p12.generateKey = forge.pbe.generatePkcs12Key;
}));

//#endregion
//#region ../node_modules/node-forge/lib/pki.js
var require_pki = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Javascript implementation of a basic Public Key Infrastructure, including
	* support for RSA public and private keys.
	*
	* @author Dave Longley
	*
	* Copyright (c) 2010-2013 Digital Bazaar, Inc.
	*/
	var forge = require_forge();
	require_asn1();
	require_oids();
	require_pbe();
	require_pem();
	require_pbkdf2$1();
	require_pkcs12();
	require_pss();
	require_rsa();
	require_util$8();
	require_x509();
	var asn1 = forge.asn1;
	var pki = module.exports = forge.pki = forge.pki || {};
	/**
	* NOTE: THIS METHOD IS DEPRECATED. Use pem.decode() instead.
	*
	* Converts PEM-formatted data to DER.
	*
	* @param pem the PEM-formatted data.
	*
	* @return the DER-formatted data.
	*/
	pki.pemToDer = function(pem) {
		var msg = forge.pem.decode(pem)[0];
		if (msg.procType && msg.procType.type === "ENCRYPTED") {
			throw new Error("Could not convert PEM to DER; PEM is encrypted.");
		}
		return forge.util.createBuffer(msg.body);
	};
	/**
	* Converts an RSA private key from PEM format.
	*
	* @param pem the PEM-formatted private key.
	*
	* @return the private key.
	*/
	pki.privateKeyFromPem = function(pem) {
		var msg = forge.pem.decode(pem)[0];
		if (msg.type !== "PRIVATE KEY" && msg.type !== "RSA PRIVATE KEY") {
			var error = new Error("Could not convert private key from PEM; PEM " + "header type is not \"PRIVATE KEY\" or \"RSA PRIVATE KEY\".");
			error.headerType = msg.type;
			throw error;
		}
		if (msg.procType && msg.procType.type === "ENCRYPTED") {
			throw new Error("Could not convert private key from PEM; PEM is encrypted.");
		}
		var obj = asn1.fromDer(msg.body);
		return pki.privateKeyFromAsn1(obj);
	};
	/**
	* Converts an RSA private key to PEM format.
	*
	* @param key the private key.
	* @param maxline the maximum characters per line, defaults to 64.
	*
	* @return the PEM-formatted private key.
	*/
	pki.privateKeyToPem = function(key, maxline) {
		var msg = {
			type: "RSA PRIVATE KEY",
			body: asn1.toDer(pki.privateKeyToAsn1(key)).getBytes()
		};
		return forge.pem.encode(msg, { maxline });
	};
	/**
	* Converts a PrivateKeyInfo to PEM format.
	*
	* @param pki the PrivateKeyInfo.
	* @param maxline the maximum characters per line, defaults to 64.
	*
	* @return the PEM-formatted private key.
	*/
	pki.privateKeyInfoToPem = function(pki, maxline) {
		var msg = {
			type: "PRIVATE KEY",
			body: asn1.toDer(pki).getBytes()
		};
		return forge.pem.encode(msg, { maxline });
	};
}));

//#endregion
//#region ../node_modules/node-forge/lib/tls.js
var require_tls = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* A Javascript implementation of Transport Layer Security (TLS).
	*
	* @author Dave Longley
	*
	* Copyright (c) 2009-2014 Digital Bazaar, Inc.
	*
	* The TLS Handshake Protocol involves the following steps:
	*
	* - Exchange hello messages to agree on algorithms, exchange random values,
	* and check for session resumption.
	*
	* - Exchange the necessary cryptographic parameters to allow the client and
	* server to agree on a premaster secret.
	*
	* - Exchange certificates and cryptographic information to allow the client
	* and server to authenticate themselves.
	*
	* - Generate a master secret from the premaster secret and exchanged random
	* values.
	*
	* - Provide security parameters to the record layer.
	*
	* - Allow the client and server to verify that their peer has calculated the
	* same security parameters and that the handshake occurred without tampering
	* by an attacker.
	*
	* Up to 4 different messages may be sent during a key exchange. The server
	* certificate, the server key exchange, the client certificate, and the
	* client key exchange.
	*
	* A typical handshake (from the client's perspective).
	*
	* 1. Client sends ClientHello.
	* 2. Client receives ServerHello.
	* 3. Client receives optional Certificate.
	* 4. Client receives optional ServerKeyExchange.
	* 5. Client receives ServerHelloDone.
	* 6. Client sends optional Certificate.
	* 7. Client sends ClientKeyExchange.
	* 8. Client sends optional CertificateVerify.
	* 9. Client sends ChangeCipherSpec.
	* 10. Client sends Finished.
	* 11. Client receives ChangeCipherSpec.
	* 12. Client receives Finished.
	* 13. Client sends/receives application data.
	*
	* To reuse an existing session:
	*
	* 1. Client sends ClientHello with session ID for reuse.
	* 2. Client receives ServerHello with same session ID if reusing.
	* 3. Client receives ChangeCipherSpec message if reusing.
	* 4. Client receives Finished.
	* 5. Client sends ChangeCipherSpec.
	* 6. Client sends Finished.
	*
	* Note: Client ignores HelloRequest if in the middle of a handshake.
	*
	* Record Layer:
	*
	* The record layer fragments information blocks into TLSPlaintext records
	* carrying data in chunks of 2^14 bytes or less. Client message boundaries are
	* not preserved in the record layer (i.e., multiple client messages of the
	* same ContentType MAY be coalesced into a single TLSPlaintext record, or a
	* single message MAY be fragmented across several records).
	*
	* struct {
	*   uint8 major;
	*   uint8 minor;
	* } ProtocolVersion;
	*
	* struct {
	*   ContentType type;
	*   ProtocolVersion version;
	*   uint16 length;
	*   opaque fragment[TLSPlaintext.length];
	* } TLSPlaintext;
	*
	* type:
	*   The higher-level protocol used to process the enclosed fragment.
	*
	* version:
	*   The version of the protocol being employed. TLS Version 1.2 uses version
	*   {3, 3}. TLS Version 1.0 uses version {3, 1}. Note that a client that
	*   supports multiple versions of TLS may not know what version will be
	*   employed before it receives the ServerHello.
	*
	* length:
	*   The length (in bytes) of the following TLSPlaintext.fragment. The length
	*   MUST NOT exceed 2^14 = 16384 bytes.
	*
	* fragment:
	*   The application data. This data is transparent and treated as an
	*   independent block to be dealt with by the higher-level protocol specified
	*   by the type field.
	*
	* Implementations MUST NOT send zero-length fragments of Handshake, Alert, or
	* ChangeCipherSpec content types. Zero-length fragments of Application data
	* MAY be sent as they are potentially useful as a traffic analysis
	* countermeasure.
	*
	* Note: Data of different TLS record layer content types MAY be interleaved.
	* Application data is generally of lower precedence for transmission than
	* other content types. However, records MUST be delivered to the network in
	* the same order as they are protected by the record layer. Recipients MUST
	* receive and process interleaved application layer traffic during handshakes
	* subsequent to the first one on a connection.
	*
	* struct {
	*   ContentType type;       // same as TLSPlaintext.type
	*   ProtocolVersion version;// same as TLSPlaintext.version
	*   uint16 length;
	*   opaque fragment[TLSCompressed.length];
	* } TLSCompressed;
	*
	* length:
	*   The length (in bytes) of the following TLSCompressed.fragment.
	*   The length MUST NOT exceed 2^14 + 1024.
	*
	* fragment:
	*   The compressed form of TLSPlaintext.fragment.
	*
	* Note: A CompressionMethod.null operation is an identity operation; no fields
	* are altered. In this implementation, since no compression is supported,
	* uncompressed records are always the same as compressed records.
	*
	* Encryption Information:
	*
	* The encryption and MAC functions translate a TLSCompressed structure into a
	* TLSCiphertext. The decryption functions reverse the process. The MAC of the
	* record also includes a sequence number so that missing, extra, or repeated
	* messages are detectable.
	*
	* struct {
	*   ContentType type;
	*   ProtocolVersion version;
	*   uint16 length;
	*   select (SecurityParameters.cipher_type) {
	*     case stream: GenericStreamCipher;
	*     case block:  GenericBlockCipher;
	*     case aead:   GenericAEADCipher;
	*   } fragment;
	* } TLSCiphertext;
	*
	* type:
	*   The type field is identical to TLSCompressed.type.
	*
	* version:
	*   The version field is identical to TLSCompressed.version.
	*
	* length:
	*   The length (in bytes) of the following TLSCiphertext.fragment.
	*   The length MUST NOT exceed 2^14 + 2048.
	*
	* fragment:
	*   The encrypted form of TLSCompressed.fragment, with the MAC.
	*
	* Note: Only CBC Block Ciphers are supported by this implementation.
	*
	* The TLSCompressed.fragment structures are converted to/from block
	* TLSCiphertext.fragment structures.
	*
	* struct {
	*   opaque IV[SecurityParameters.record_iv_length];
	*   block-ciphered struct {
	*     opaque content[TLSCompressed.length];
	*     opaque MAC[SecurityParameters.mac_length];
	*     uint8 padding[GenericBlockCipher.padding_length];
	*     uint8 padding_length;
	*   };
	* } GenericBlockCipher;
	*
	* The MAC is generated as described in Section 6.2.3.1.
	*
	* IV:
	*   The Initialization Vector (IV) SHOULD be chosen at random, and MUST be
	*   unpredictable. Note that in versions of TLS prior to 1.1, there was no
	*   IV field, and the last ciphertext block of the previous record (the "CBC
	*   residue") was used as the IV. This was changed to prevent the attacks
	*   described in [CBCATT]. For block ciphers, the IV length is of length
	*   SecurityParameters.record_iv_length, which is equal to the
	*   SecurityParameters.block_size.
	*
	* padding:
	*   Padding that is added to force the length of the plaintext to be an
	*   integral multiple of the block cipher's block length. The padding MAY be
	*   any length up to 255 bytes, as long as it results in the
	*   TLSCiphertext.length being an integral multiple of the block length.
	*   Lengths longer than necessary might be desirable to frustrate attacks on
	*   a protocol that are based on analysis of the lengths of exchanged
	*   messages. Each uint8 in the padding data vector MUST be filled with the
	*   padding length value. The receiver MUST check this padding and MUST use
	*   the bad_record_mac alert to indicate padding errors.
	*
	* padding_length:
	*   The padding length MUST be such that the total size of the
	*   GenericBlockCipher structure is a multiple of the cipher's block length.
	*   Legal values range from zero to 255, inclusive. This length specifies the
	*   length of the padding field exclusive of the padding_length field itself.
	*
	* The encrypted data length (TLSCiphertext.length) is one more than the sum of
	* SecurityParameters.block_length, TLSCompressed.length,
	* SecurityParameters.mac_length, and padding_length.
	*
	* Example: If the block length is 8 bytes, the content length
	* (TLSCompressed.length) is 61 bytes, and the MAC length is 20 bytes, then the
	* length before padding is 82 bytes (this does not include the IV. Thus, the
	* padding length modulo 8 must be equal to 6 in order to make the total length
	* an even multiple of 8 bytes (the block length). The padding length can be
	* 6, 14, 22, and so on, through 254. If the padding length were the minimum
	* necessary, 6, the padding would be 6 bytes, each containing the value 6.
	* Thus, the last 8 octets of the GenericBlockCipher before block encryption
	* would be xx 06 06 06 06 06 06 06, where xx is the last octet of the MAC.
	*
	* Note: With block ciphers in CBC mode (Cipher Block Chaining), it is critical
	* that the entire plaintext of the record be known before any ciphertext is
	* transmitted. Otherwise, it is possible for the attacker to mount the attack
	* described in [CBCATT].
	*
	* Implementation note: Canvel et al. [CBCTIME] have demonstrated a timing
	* attack on CBC padding based on the time required to compute the MAC. In
	* order to defend against this attack, implementations MUST ensure that
	* record processing time is essentially the same whether or not the padding
	* is correct. In general, the best way to do this is to compute the MAC even
	* if the padding is incorrect, and only then reject the packet. For instance,
	* if the pad appears to be incorrect, the implementation might assume a
	* zero-length pad and then compute the MAC. This leaves a small timing
	* channel, since MAC performance depends, to some extent, on the size of the
	* data fragment, but it is not believed to be large enough to be exploitable,
	* due to the large block size of existing MACs and the small size of the
	* timing signal.
	*/
	var forge = require_forge();
	require_asn1();
	require_hmac$1();
	require_md5$1();
	require_pem();
	require_pki();
	require_random();
	require_sha1$1();
	require_util$8();
	/**
	* Generates pseudo random bytes by mixing the result of two hash functions,
	* MD5 and SHA-1.
	*
	* prf_TLS1(secret, label, seed) =
	*   P_MD5(S1, label + seed) XOR P_SHA-1(S2, label + seed);
	*
	* Each P_hash function functions as follows:
	*
	* P_hash(secret, seed) = HMAC_hash(secret, A(1) + seed) +
	*                        HMAC_hash(secret, A(2) + seed) +
	*                        HMAC_hash(secret, A(3) + seed) + ...
	* A() is defined as:
	*   A(0) = seed
	*   A(i) = HMAC_hash(secret, A(i-1))
	*
	* The '+' operator denotes concatenation.
	*
	* As many iterations A(N) as are needed are performed to generate enough
	* pseudo random byte output. If an iteration creates more data than is
	* necessary, then it is truncated.
	*
	* Therefore:
	* A(1) = HMAC_hash(secret, A(0))
	*      = HMAC_hash(secret, seed)
	* A(2) = HMAC_hash(secret, A(1))
	*      = HMAC_hash(secret, HMAC_hash(secret, seed))
	*
	* Therefore:
	* P_hash(secret, seed) =
	*   HMAC_hash(secret, HMAC_hash(secret, A(0)) + seed) +
	*   HMAC_hash(secret, HMAC_hash(secret, A(1)) + seed) +
	*   ...
	*
	* Therefore:
	* P_hash(secret, seed) =
	*   HMAC_hash(secret, HMAC_hash(secret, seed) + seed) +
	*   HMAC_hash(secret, HMAC_hash(secret, HMAC_hash(secret, seed)) + seed) +
	*   ...
	*
	* @param secret the secret to use.
	* @param label the label to use.
	* @param seed the seed value to use.
	* @param length the number of bytes to generate.
	*
	* @return the pseudo random bytes in a byte buffer.
	*/
	var prf_TLS1 = function(secret, label, seed, length) {
		var rval = forge.util.createBuffer();
		var idx = secret.length >> 1;
		var slen = idx + (secret.length & 1);
		var s1 = secret.substr(0, slen);
		var s2 = secret.substr(idx, slen);
		var ai = forge.util.createBuffer();
		var hmac = forge.hmac.create();
		seed = label + seed;
		var md5itr = Math.ceil(length / 16);
		var sha1itr = Math.ceil(length / 20);
		hmac.start("MD5", s1);
		var md5bytes = forge.util.createBuffer();
		ai.putBytes(seed);
		for (var i = 0; i < md5itr; ++i) {
			hmac.start(null, null);
			hmac.update(ai.getBytes());
			ai.putBuffer(hmac.digest());
			hmac.start(null, null);
			hmac.update(ai.bytes() + seed);
			md5bytes.putBuffer(hmac.digest());
		}
		hmac.start("SHA1", s2);
		var sha1bytes = forge.util.createBuffer();
		ai.clear();
		ai.putBytes(seed);
		for (var i = 0; i < sha1itr; ++i) {
			hmac.start(null, null);
			hmac.update(ai.getBytes());
			ai.putBuffer(hmac.digest());
			hmac.start(null, null);
			hmac.update(ai.bytes() + seed);
			sha1bytes.putBuffer(hmac.digest());
		}
		rval.putBytes(forge.util.xorBytes(md5bytes.getBytes(), sha1bytes.getBytes(), length));
		return rval;
	};
	/**
	* Generates pseudo random bytes using a SHA256 algorithm. For TLS 1.2.
	*
	* @param secret the secret to use.
	* @param label the label to use.
	* @param seed the seed value to use.
	* @param length the number of bytes to generate.
	*
	* @return the pseudo random bytes in a byte buffer.
	*/
	var prf_sha256 = function(secret, label, seed, length) {};
	/**
	* Gets a MAC for a record using the SHA-1 hash algorithm.
	*
	* @param key the mac key.
	* @param state the sequence number (array of two 32-bit integers).
	* @param record the record.
	*
	* @return the sha-1 hash (20 bytes) for the given record.
	*/
	var hmac_sha1 = function(key, seqNum, record) {
		var hmac = forge.hmac.create();
		hmac.start("SHA1", key);
		var b = forge.util.createBuffer();
		b.putInt32(seqNum[0]);
		b.putInt32(seqNum[1]);
		b.putByte(record.type);
		b.putByte(record.version.major);
		b.putByte(record.version.minor);
		b.putInt16(record.length);
		b.putBytes(record.fragment.bytes());
		hmac.update(b.getBytes());
		return hmac.digest().getBytes();
	};
	/**
	* Compresses the TLSPlaintext record into a TLSCompressed record using the
	* deflate algorithm.
	*
	* @param c the TLS connection.
	* @param record the TLSPlaintext record to compress.
	* @param s the ConnectionState to use.
	*
	* @return true on success, false on failure.
	*/
	var deflate = function(c, record, s) {
		var rval = false;
		try {
			var bytes = c.deflate(record.fragment.getBytes());
			record.fragment = forge.util.createBuffer(bytes);
			record.length = bytes.length;
			rval = true;
		} catch (ex) {}
		return rval;
	};
	/**
	* Decompresses the TLSCompressed record into a TLSPlaintext record using the
	* deflate algorithm.
	*
	* @param c the TLS connection.
	* @param record the TLSCompressed record to decompress.
	* @param s the ConnectionState to use.
	*
	* @return true on success, false on failure.
	*/
	var inflate = function(c, record, s) {
		var rval = false;
		try {
			var bytes = c.inflate(record.fragment.getBytes());
			record.fragment = forge.util.createBuffer(bytes);
			record.length = bytes.length;
			rval = true;
		} catch (ex) {}
		return rval;
	};
	/**
	* Reads a TLS variable-length vector from a byte buffer.
	*
	* Variable-length vectors are defined by specifying a subrange of legal
	* lengths, inclusively, using the notation <floor..ceiling>. When these are
	* encoded, the actual length precedes the vector's contents in the byte
	* stream. The length will be in the form of a number consuming as many bytes
	* as required to hold the vector's specified maximum (ceiling) length. A
	* variable-length vector with an actual length field of zero is referred to
	* as an empty vector.
	*
	* @param b the byte buffer.
	* @param lenBytes the number of bytes required to store the length.
	*
	* @return the resulting byte buffer.
	*/
	var readVector = function(b, lenBytes) {
		var len = 0;
		switch (lenBytes) {
			case 1:
				len = b.getByte();
				break;
			case 2:
				len = b.getInt16();
				break;
			case 3:
				len = b.getInt24();
				break;
			case 4:
				len = b.getInt32();
				break;
		}
		return forge.util.createBuffer(b.getBytes(len));
	};
	/**
	* Writes a TLS variable-length vector to a byte buffer.
	*
	* @param b the byte buffer.
	* @param lenBytes the number of bytes required to store the length.
	* @param v the byte buffer vector.
	*/
	var writeVector = function(b, lenBytes, v) {
		b.putInt(v.length(), lenBytes << 3);
		b.putBuffer(v);
	};
	/**
	* The tls implementation.
	*/
	var tls = {};
	/**
	* Version: TLS 1.2 = 3.3, TLS 1.1 = 3.2, TLS 1.0 = 3.1. Both TLS 1.1 and
	* TLS 1.2 were still too new (ie: openSSL didn't implement them) at the time
	* of this implementation so TLS 1.0 was implemented instead.
	*/
	tls.Versions = {
		TLS_1_0: {
			major: 3,
			minor: 1
		},
		TLS_1_1: {
			major: 3,
			minor: 2
		},
		TLS_1_2: {
			major: 3,
			minor: 3
		}
	};
	tls.SupportedVersions = [tls.Versions.TLS_1_1, tls.Versions.TLS_1_0];
	tls.Version = tls.SupportedVersions[0];
	/**
	* Maximum fragment size. True maximum is 16384, but we fragment before that
	* to allow for unusual small increases during compression.
	*/
	tls.MaxFragment = 16384 - 1024;
	/**
	* Whether this entity is considered the "client" or "server".
	* enum { server, client } ConnectionEnd;
	*/
	tls.ConnectionEnd = {
		server: 0,
		client: 1
	};
	/**
	* Pseudo-random function algorithm used to generate keys from the master
	* secret.
	* enum { tls_prf_sha256 } PRFAlgorithm;
	*/
	tls.PRFAlgorithm = { tls_prf_sha256: 0 };
	/**
	* Bulk encryption algorithms.
	* enum { null, rc4, des3, aes } BulkCipherAlgorithm;
	*/
	tls.BulkCipherAlgorithm = {
		none: null,
		rc4: 0,
		des3: 1,
		aes: 2
	};
	/**
	* Cipher types.
	* enum { stream, block, aead } CipherType;
	*/
	tls.CipherType = {
		stream: 0,
		block: 1,
		aead: 2
	};
	/**
	* MAC (Message Authentication Code) algorithms.
	* enum { null, hmac_md5, hmac_sha1, hmac_sha256,
	*   hmac_sha384, hmac_sha512} MACAlgorithm;
	*/
	tls.MACAlgorithm = {
		none: null,
		hmac_md5: 0,
		hmac_sha1: 1,
		hmac_sha256: 2,
		hmac_sha384: 3,
		hmac_sha512: 4
	};
	/**
	* Compression algorithms.
	* enum { null(0), deflate(1), (255) } CompressionMethod;
	*/
	tls.CompressionMethod = {
		none: 0,
		deflate: 1
	};
	/**
	* TLS record content types.
	* enum {
	*   change_cipher_spec(20), alert(21), handshake(22),
	*   application_data(23), (255)
	* } ContentType;
	*/
	tls.ContentType = {
		change_cipher_spec: 20,
		alert: 21,
		handshake: 22,
		application_data: 23,
		heartbeat: 24
	};
	/**
	* TLS handshake types.
	* enum {
	*   hello_request(0), client_hello(1), server_hello(2),
	*   certificate(11), server_key_exchange (12),
	*   certificate_request(13), server_hello_done(14),
	*   certificate_verify(15), client_key_exchange(16),
	*   finished(20), (255)
	* } HandshakeType;
	*/
	tls.HandshakeType = {
		hello_request: 0,
		client_hello: 1,
		server_hello: 2,
		certificate: 11,
		server_key_exchange: 12,
		certificate_request: 13,
		server_hello_done: 14,
		certificate_verify: 15,
		client_key_exchange: 16,
		finished: 20
	};
	/**
	* TLS Alert Protocol.
	*
	* enum { warning(1), fatal(2), (255) } AlertLevel;
	*
	* enum {
	*   close_notify(0),
	*   unexpected_message(10),
	*   bad_record_mac(20),
	*   decryption_failed(21),
	*   record_overflow(22),
	*   decompression_failure(30),
	*   handshake_failure(40),
	*   bad_certificate(42),
	*   unsupported_certificate(43),
	*   certificate_revoked(44),
	*   certificate_expired(45),
	*   certificate_unknown(46),
	*   illegal_parameter(47),
	*   unknown_ca(48),
	*   access_denied(49),
	*   decode_error(50),
	*   decrypt_error(51),
	*   export_restriction(60),
	*   protocol_version(70),
	*   insufficient_security(71),
	*   internal_error(80),
	*   user_canceled(90),
	*   no_renegotiation(100),
	*   (255)
	* } AlertDescription;
	*
	* struct {
	*   AlertLevel level;
	*   AlertDescription description;
	* } Alert;
	*/
	tls.Alert = {};
	tls.Alert.Level = {
		warning: 1,
		fatal: 2
	};
	tls.Alert.Description = {
		close_notify: 0,
		unexpected_message: 10,
		bad_record_mac: 20,
		decryption_failed: 21,
		record_overflow: 22,
		decompression_failure: 30,
		handshake_failure: 40,
		bad_certificate: 42,
		unsupported_certificate: 43,
		certificate_revoked: 44,
		certificate_expired: 45,
		certificate_unknown: 46,
		illegal_parameter: 47,
		unknown_ca: 48,
		access_denied: 49,
		decode_error: 50,
		decrypt_error: 51,
		export_restriction: 60,
		protocol_version: 70,
		insufficient_security: 71,
		internal_error: 80,
		user_canceled: 90,
		no_renegotiation: 100
	};
	/**
	* TLS Heartbeat Message types.
	* enum {
	*   heartbeat_request(1),
	*   heartbeat_response(2),
	*   (255)
	* } HeartbeatMessageType;
	*/
	tls.HeartbeatMessageType = {
		heartbeat_request: 1,
		heartbeat_response: 2
	};
	/**
	* Supported cipher suites.
	*/
	tls.CipherSuites = {};
	/**
	* Gets a supported cipher suite from its 2 byte ID.
	*
	* @param twoBytes two bytes in a string.
	*
	* @return the matching supported cipher suite or null.
	*/
	tls.getCipherSuite = function(twoBytes) {
		var rval = null;
		for (var key in tls.CipherSuites) {
			var cs = tls.CipherSuites[key];
			if (cs.id[0] === twoBytes.charCodeAt(0) && cs.id[1] === twoBytes.charCodeAt(1)) {
				rval = cs;
				break;
			}
		}
		return rval;
	};
	/**
	* Called when an unexpected record is encountered.
	*
	* @param c the connection.
	* @param record the record.
	*/
	tls.handleUnexpected = function(c, record) {
		var ignore = !c.open && c.entity === tls.ConnectionEnd.client;
		if (!ignore) {
			c.error(c, {
				message: "Unexpected message. Received TLS record out of order.",
				send: true,
				alert: {
					level: tls.Alert.Level.fatal,
					description: tls.Alert.Description.unexpected_message
				}
			});
		}
	};
	/**
	* Called when a client receives a HelloRequest record.
	*
	* @param c the connection.
	* @param record the record.
	* @param length the length of the handshake message.
	*/
	tls.handleHelloRequest = function(c, record, length) {
		if (!c.handshaking && c.handshakes > 0) {
			tls.queue(c, tls.createAlert(c, {
				level: tls.Alert.Level.warning,
				description: tls.Alert.Description.no_renegotiation
			}));
			tls.flush(c);
		}
		c.process();
	};
	/**
	* Parses a hello message from a ClientHello or ServerHello record.
	*
	* @param record the record to parse.
	*
	* @return the parsed message.
	*/
	tls.parseHelloMessage = function(c, record, length) {
		var msg = null;
		var client = c.entity === tls.ConnectionEnd.client;
		if (length < 38) {
			c.error(c, {
				message: client ? "Invalid ServerHello message. Message too short." : "Invalid ClientHello message. Message too short.",
				send: true,
				alert: {
					level: tls.Alert.Level.fatal,
					description: tls.Alert.Description.illegal_parameter
				}
			});
		} else {
			var b = record.fragment;
			var remaining = b.length();
			msg = {
				version: {
					major: b.getByte(),
					minor: b.getByte()
				},
				random: forge.util.createBuffer(b.getBytes(32)),
				session_id: readVector(b, 1),
				extensions: []
			};
			if (client) {
				msg.cipher_suite = b.getBytes(2);
				msg.compression_method = b.getByte();
			} else {
				msg.cipher_suites = readVector(b, 2);
				msg.compression_methods = readVector(b, 1);
			}
			remaining = length - (remaining - b.length());
			if (remaining > 0) {
				var exts = readVector(b, 2);
				while (exts.length() > 0) {
					msg.extensions.push({
						type: [exts.getByte(), exts.getByte()],
						data: readVector(exts, 2)
					});
				}
				if (!client) {
					for (var i = 0; i < msg.extensions.length; ++i) {
						var ext = msg.extensions[i];
						if (ext.type[0] === 0 && ext.type[1] === 0) {
							var snl = readVector(ext.data, 2);
							while (snl.length() > 0) {
								var snType = snl.getByte();
								if (snType !== 0) {
									break;
								}
								c.session.extensions.server_name.serverNameList.push(readVector(snl, 2).getBytes());
							}
						}
					}
				}
			}
			if (c.session.version) {
				if (msg.version.major !== c.session.version.major || msg.version.minor !== c.session.version.minor) {
					return c.error(c, {
						message: "TLS version change is disallowed during renegotiation.",
						send: true,
						alert: {
							level: tls.Alert.Level.fatal,
							description: tls.Alert.Description.protocol_version
						}
					});
				}
			}
			if (client) {
				c.session.cipherSuite = tls.getCipherSuite(msg.cipher_suite);
			} else {
				var tmp = forge.util.createBuffer(msg.cipher_suites.bytes());
				while (tmp.length() > 0) {
					c.session.cipherSuite = tls.getCipherSuite(tmp.getBytes(2));
					if (c.session.cipherSuite !== null) {
						break;
					}
				}
			}
			if (c.session.cipherSuite === null) {
				return c.error(c, {
					message: "No cipher suites in common.",
					send: true,
					alert: {
						level: tls.Alert.Level.fatal,
						description: tls.Alert.Description.handshake_failure
					},
					cipherSuite: forge.util.bytesToHex(msg.cipher_suite)
				});
			}
			if (client) {
				c.session.compressionMethod = msg.compression_method;
			} else {
				c.session.compressionMethod = tls.CompressionMethod.none;
			}
		}
		return msg;
	};
	/**
	* Creates security parameters for the given connection based on the given
	* hello message.
	*
	* @param c the TLS connection.
	* @param msg the hello message.
	*/
	tls.createSecurityParameters = function(c, msg) {
		var client = c.entity === tls.ConnectionEnd.client;
		var msgRandom = msg.random.bytes();
		var cRandom = client ? c.session.sp.client_random : msgRandom;
		var sRandom = client ? msgRandom : tls.createRandom().getBytes();
		c.session.sp = {
			entity: c.entity,
			prf_algorithm: tls.PRFAlgorithm.tls_prf_sha256,
			bulk_cipher_algorithm: null,
			cipher_type: null,
			enc_key_length: null,
			block_length: null,
			fixed_iv_length: null,
			record_iv_length: null,
			mac_algorithm: null,
			mac_length: null,
			mac_key_length: null,
			compression_algorithm: c.session.compressionMethod,
			pre_master_secret: null,
			master_secret: null,
			client_random: cRandom,
			server_random: sRandom
		};
	};
	/**
	* Called when a client receives a ServerHello record.
	*
	* When a ServerHello message will be sent:
	*   The server will send this message in response to a client hello message
	*   when it was able to find an acceptable set of algorithms. If it cannot
	*   find such a match, it will respond with a handshake failure alert.
	*
	* uint24 length;
	* struct {
	*   ProtocolVersion server_version;
	*   Random random;
	*   SessionID session_id;
	*   CipherSuite cipher_suite;
	*   CompressionMethod compression_method;
	*   select(extensions_present) {
	*     case false:
	*       struct {};
	*     case true:
	*       Extension extensions<0..2^16-1>;
	*   };
	* } ServerHello;
	*
	* @param c the connection.
	* @param record the record.
	* @param length the length of the handshake message.
	*/
	tls.handleServerHello = function(c, record, length) {
		var msg = tls.parseHelloMessage(c, record, length);
		if (c.fail) {
			return;
		}
		if (msg.version.minor <= c.version.minor) {
			c.version.minor = msg.version.minor;
		} else {
			return c.error(c, {
				message: "Incompatible TLS version.",
				send: true,
				alert: {
					level: tls.Alert.Level.fatal,
					description: tls.Alert.Description.protocol_version
				}
			});
		}
		c.session.version = c.version;
		var sessionId = msg.session_id.bytes();
		if (sessionId.length > 0 && sessionId === c.session.id) {
			c.expect = SCC;
			c.session.resuming = true;
			c.session.sp.server_random = msg.random.bytes();
		} else {
			c.expect = SCE;
			c.session.resuming = false;
			tls.createSecurityParameters(c, msg);
		}
		c.session.id = sessionId;
		c.process();
	};
	/**
	* Called when a server receives a ClientHello record.
	*
	* When a ClientHello message will be sent:
	*   When a client first connects to a server it is required to send the
	*   client hello as its first message. The client can also send a client
	*   hello in response to a hello request or on its own initiative in order
	*   to renegotiate the security parameters in an existing connection.
	*
	* @param c the connection.
	* @param record the record.
	* @param length the length of the handshake message.
	*/
	tls.handleClientHello = function(c, record, length) {
		var msg = tls.parseHelloMessage(c, record, length);
		if (c.fail) {
			return;
		}
		var sessionId = msg.session_id.bytes();
		var session = null;
		if (c.sessionCache) {
			session = c.sessionCache.getSession(sessionId);
			if (session === null) {
				sessionId = "";
			} else if (session.version.major !== msg.version.major || session.version.minor > msg.version.minor) {
				session = null;
				sessionId = "";
			}
		}
		if (sessionId.length === 0) {
			sessionId = forge.random.getBytes(32);
		}
		c.session.id = sessionId;
		c.session.clientHelloVersion = msg.version;
		c.session.sp = {};
		if (session) {
			c.version = c.session.version = session.version;
			c.session.sp = session.sp;
		} else {
			var version;
			for (var i = 1; i < tls.SupportedVersions.length; ++i) {
				version = tls.SupportedVersions[i];
				if (version.minor <= msg.version.minor) {
					break;
				}
			}
			c.version = {
				major: version.major,
				minor: version.minor
			};
			c.session.version = c.version;
		}
		if (session !== null) {
			c.expect = CCC;
			c.session.resuming = true;
			c.session.sp.client_random = msg.random.bytes();
		} else {
			c.expect = c.verifyClient !== false ? CCE : CKE;
			c.session.resuming = false;
			tls.createSecurityParameters(c, msg);
		}
		c.open = true;
		tls.queue(c, tls.createRecord(c, {
			type: tls.ContentType.handshake,
			data: tls.createServerHello(c)
		}));
		if (c.session.resuming) {
			tls.queue(c, tls.createRecord(c, {
				type: tls.ContentType.change_cipher_spec,
				data: tls.createChangeCipherSpec()
			}));
			c.state.pending = tls.createConnectionState(c);
			c.state.current.write = c.state.pending.write;
			tls.queue(c, tls.createRecord(c, {
				type: tls.ContentType.handshake,
				data: tls.createFinished(c)
			}));
		} else {
			tls.queue(c, tls.createRecord(c, {
				type: tls.ContentType.handshake,
				data: tls.createCertificate(c)
			}));
			if (!c.fail) {
				tls.queue(c, tls.createRecord(c, {
					type: tls.ContentType.handshake,
					data: tls.createServerKeyExchange(c)
				}));
				if (c.verifyClient !== false) {
					tls.queue(c, tls.createRecord(c, {
						type: tls.ContentType.handshake,
						data: tls.createCertificateRequest(c)
					}));
				}
				tls.queue(c, tls.createRecord(c, {
					type: tls.ContentType.handshake,
					data: tls.createServerHelloDone(c)
				}));
			}
		}
		tls.flush(c);
		c.process();
	};
	/**
	* Called when a client receives a Certificate record.
	*
	* When this message will be sent:
	*   The server must send a certificate whenever the agreed-upon key exchange
	*   method is not an anonymous one. This message will always immediately
	*   follow the server hello message.
	*
	* Meaning of this message:
	*   The certificate type must be appropriate for the selected cipher suite's
	*   key exchange algorithm, and is generally an X.509v3 certificate. It must
	*   contain a key which matches the key exchange method, as follows. Unless
	*   otherwise specified, the signing algorithm for the certificate must be
	*   the same as the algorithm for the certificate key. Unless otherwise
	*   specified, the public key may be of any length.
	*
	* opaque ASN.1Cert<1..2^24-1>;
	* struct {
	*   ASN.1Cert certificate_list<1..2^24-1>;
	* } Certificate;
	*
	* @param c the connection.
	* @param record the record.
	* @param length the length of the handshake message.
	*/
	tls.handleCertificate = function(c, record, length) {
		if (length < 3) {
			return c.error(c, {
				message: "Invalid Certificate message. Message too short.",
				send: true,
				alert: {
					level: tls.Alert.Level.fatal,
					description: tls.Alert.Description.illegal_parameter
				}
			});
		}
		var b = record.fragment;
		var msg = { certificate_list: readVector(b, 3) };
		var cert, asn1;
		var certs = [];
		try {
			while (msg.certificate_list.length() > 0) {
				cert = readVector(msg.certificate_list, 3);
				asn1 = forge.asn1.fromDer(cert);
				cert = forge.pki.certificateFromAsn1(asn1, true);
				certs.push(cert);
			}
		} catch (ex) {
			return c.error(c, {
				message: "Could not parse certificate list.",
				cause: ex,
				send: true,
				alert: {
					level: tls.Alert.Level.fatal,
					description: tls.Alert.Description.bad_certificate
				}
			});
		}
		var client = c.entity === tls.ConnectionEnd.client;
		if ((client || c.verifyClient === true) && certs.length === 0) {
			c.error(c, {
				message: client ? "No server certificate provided." : "No client certificate provided.",
				send: true,
				alert: {
					level: tls.Alert.Level.fatal,
					description: tls.Alert.Description.illegal_parameter
				}
			});
		} else if (certs.length === 0) {
			c.expect = client ? SKE : CKE;
		} else {
			if (client) {
				c.session.serverCertificate = certs[0];
			} else {
				c.session.clientCertificate = certs[0];
			}
			if (tls.verifyCertificateChain(c, certs)) {
				c.expect = client ? SKE : CKE;
			}
		}
		c.process();
	};
	/**
	* Called when a client receives a ServerKeyExchange record.
	*
	* When this message will be sent:
	*   This message will be sent immediately after the server certificate
	*   message (or the server hello message, if this is an anonymous
	*   negotiation).
	*
	*   The server key exchange message is sent by the server only when the
	*   server certificate message (if sent) does not contain enough data to
	*   allow the client to exchange a premaster secret.
	*
	* Meaning of this message:
	*   This message conveys cryptographic information to allow the client to
	*   communicate the premaster secret: either an RSA public key to encrypt
	*   the premaster secret with, or a Diffie-Hellman public key with which the
	*   client can complete a key exchange (with the result being the premaster
	*   secret.)
	*
	* enum {
	*   dhe_dss, dhe_rsa, dh_anon, rsa, dh_dss, dh_rsa
	* } KeyExchangeAlgorithm;
	*
	* struct {
	*   opaque dh_p<1..2^16-1>;
	*   opaque dh_g<1..2^16-1>;
	*   opaque dh_Ys<1..2^16-1>;
	* } ServerDHParams;
	*
	* struct {
	*   select(KeyExchangeAlgorithm) {
	*     case dh_anon:
	*       ServerDHParams params;
	*     case dhe_dss:
	*     case dhe_rsa:
	*       ServerDHParams params;
	*       digitally-signed struct {
	*         opaque client_random[32];
	*         opaque server_random[32];
	*         ServerDHParams params;
	*       } signed_params;
	*     case rsa:
	*     case dh_dss:
	*     case dh_rsa:
	*       struct {};
	*   };
	* } ServerKeyExchange;
	*
	* @param c the connection.
	* @param record the record.
	* @param length the length of the handshake message.
	*/
	tls.handleServerKeyExchange = function(c, record, length) {
		if (length > 0) {
			return c.error(c, {
				message: "Invalid key parameters. Only RSA is supported.",
				send: true,
				alert: {
					level: tls.Alert.Level.fatal,
					description: tls.Alert.Description.unsupported_certificate
				}
			});
		}
		c.expect = SCR;
		c.process();
	};
	/**
	* Called when a client receives a ClientKeyExchange record.
	*
	* @param c the connection.
	* @param record the record.
	* @param length the length of the handshake message.
	*/
	tls.handleClientKeyExchange = function(c, record, length) {
		if (length < 48) {
			return c.error(c, {
				message: "Invalid key parameters. Only RSA is supported.",
				send: true,
				alert: {
					level: tls.Alert.Level.fatal,
					description: tls.Alert.Description.unsupported_certificate
				}
			});
		}
		var b = record.fragment;
		var msg = { enc_pre_master_secret: readVector(b, 2).getBytes() };
		var privateKey = null;
		if (c.getPrivateKey) {
			try {
				privateKey = c.getPrivateKey(c, c.session.serverCertificate);
				privateKey = forge.pki.privateKeyFromPem(privateKey);
			} catch (ex) {
				c.error(c, {
					message: "Could not get private key.",
					cause: ex,
					send: true,
					alert: {
						level: tls.Alert.Level.fatal,
						description: tls.Alert.Description.internal_error
					}
				});
			}
		}
		if (privateKey === null) {
			return c.error(c, {
				message: "No private key set.",
				send: true,
				alert: {
					level: tls.Alert.Level.fatal,
					description: tls.Alert.Description.internal_error
				}
			});
		}
		try {
			var sp = c.session.sp;
			sp.pre_master_secret = privateKey.decrypt(msg.enc_pre_master_secret);
			var version = c.session.clientHelloVersion;
			if (version.major !== sp.pre_master_secret.charCodeAt(0) || version.minor !== sp.pre_master_secret.charCodeAt(1)) {
				throw new Error("TLS version rollback attack detected.");
			}
		} catch (ex) {
			sp.pre_master_secret = forge.random.getBytes(48);
		}
		c.expect = CCC;
		if (c.session.clientCertificate !== null) {
			c.expect = CCV;
		}
		c.process();
	};
	/**
	* Called when a client receives a CertificateRequest record.
	*
	* When this message will be sent:
	*   A non-anonymous server can optionally request a certificate from the
	*   client, if appropriate for the selected cipher suite. This message, if
	*   sent, will immediately follow the Server Key Exchange message (if it is
	*   sent; otherwise, the Server Certificate message).
	*
	* enum {
	*   rsa_sign(1), dss_sign(2), rsa_fixed_dh(3), dss_fixed_dh(4),
	*   rsa_ephemeral_dh_RESERVED(5), dss_ephemeral_dh_RESERVED(6),
	*   fortezza_dms_RESERVED(20), (255)
	* } ClientCertificateType;
	*
	* opaque DistinguishedName<1..2^16-1>;
	*
	* struct {
	*   ClientCertificateType certificate_types<1..2^8-1>;
	*   SignatureAndHashAlgorithm supported_signature_algorithms<2^16-1>;
	*   DistinguishedName certificate_authorities<0..2^16-1>;
	* } CertificateRequest;
	*
	* @param c the connection.
	* @param record the record.
	* @param length the length of the handshake message.
	*/
	tls.handleCertificateRequest = function(c, record, length) {
		if (length < 3) {
			return c.error(c, {
				message: "Invalid CertificateRequest. Message too short.",
				send: true,
				alert: {
					level: tls.Alert.Level.fatal,
					description: tls.Alert.Description.illegal_parameter
				}
			});
		}
		var b = record.fragment;
		var msg = {
			certificate_types: readVector(b, 1),
			certificate_authorities: readVector(b, 2)
		};
		c.session.certificateRequest = msg;
		c.expect = SHD;
		c.process();
	};
	/**
	* Called when a server receives a CertificateVerify record.
	*
	* @param c the connection.
	* @param record the record.
	* @param length the length of the handshake message.
	*/
	tls.handleCertificateVerify = function(c, record, length) {
		if (length < 2) {
			return c.error(c, {
				message: "Invalid CertificateVerify. Message too short.",
				send: true,
				alert: {
					level: tls.Alert.Level.fatal,
					description: tls.Alert.Description.illegal_parameter
				}
			});
		}
		var b = record.fragment;
		b.read -= 4;
		var msgBytes = b.bytes();
		b.read += 4;
		var msg = { signature: readVector(b, 2).getBytes() };
		var verify = forge.util.createBuffer();
		verify.putBuffer(c.session.md5.digest());
		verify.putBuffer(c.session.sha1.digest());
		verify = verify.getBytes();
		try {
			var cert = c.session.clientCertificate;
			if (!cert.publicKey.verify(verify, msg.signature, "NONE")) {
				throw new Error("CertificateVerify signature does not match.");
			}
			c.session.md5.update(msgBytes);
			c.session.sha1.update(msgBytes);
		} catch (ex) {
			return c.error(c, {
				message: "Bad signature in CertificateVerify.",
				send: true,
				alert: {
					level: tls.Alert.Level.fatal,
					description: tls.Alert.Description.handshake_failure
				}
			});
		}
		c.expect = CCC;
		c.process();
	};
	/**
	* Called when a client receives a ServerHelloDone record.
	*
	* When this message will be sent:
	*   The server hello done message is sent by the server to indicate the end
	*   of the server hello and associated messages. After sending this message
	*   the server will wait for a client response.
	*
	* Meaning of this message:
	*   This message means that the server is done sending messages to support
	*   the key exchange, and the client can proceed with its phase of the key
	*   exchange.
	*
	*   Upon receipt of the server hello done message the client should verify
	*   that the server provided a valid certificate if required and check that
	*   the server hello parameters are acceptable.
	*
	* struct {} ServerHelloDone;
	*
	* @param c the connection.
	* @param record the record.
	* @param length the length of the handshake message.
	*/
	tls.handleServerHelloDone = function(c, record, length) {
		if (length > 0) {
			return c.error(c, {
				message: "Invalid ServerHelloDone message. Invalid length.",
				send: true,
				alert: {
					level: tls.Alert.Level.fatal,
					description: tls.Alert.Description.record_overflow
				}
			});
		}
		if (c.serverCertificate === null) {
			var error = {
				message: "No server certificate provided. Not enough security.",
				send: true,
				alert: {
					level: tls.Alert.Level.fatal,
					description: tls.Alert.Description.insufficient_security
				}
			};
			var depth = 0;
			var ret = c.verify(c, error.alert.description, depth, []);
			if (ret !== true) {
				if (ret || ret === 0) {
					if (typeof ret === "object" && !forge.util.isArray(ret)) {
						if (ret.message) {
							error.message = ret.message;
						}
						if (ret.alert) {
							error.alert.description = ret.alert;
						}
					} else if (typeof ret === "number") {
						error.alert.description = ret;
					}
				}
				return c.error(c, error);
			}
		}
		if (c.session.certificateRequest !== null) {
			record = tls.createRecord(c, {
				type: tls.ContentType.handshake,
				data: tls.createCertificate(c)
			});
			tls.queue(c, record);
		}
		record = tls.createRecord(c, {
			type: tls.ContentType.handshake,
			data: tls.createClientKeyExchange(c)
		});
		tls.queue(c, record);
		c.expect = SER;
		var callback = function(c, signature) {
			if (c.session.certificateRequest !== null && c.session.clientCertificate !== null) {
				tls.queue(c, tls.createRecord(c, {
					type: tls.ContentType.handshake,
					data: tls.createCertificateVerify(c, signature)
				}));
			}
			tls.queue(c, tls.createRecord(c, {
				type: tls.ContentType.change_cipher_spec,
				data: tls.createChangeCipherSpec()
			}));
			c.state.pending = tls.createConnectionState(c);
			c.state.current.write = c.state.pending.write;
			tls.queue(c, tls.createRecord(c, {
				type: tls.ContentType.handshake,
				data: tls.createFinished(c)
			}));
			c.expect = SCC;
			tls.flush(c);
			c.process();
		};
		if (c.session.certificateRequest === null || c.session.clientCertificate === null) {
			return callback(c, null);
		}
		tls.getClientSignature(c, callback);
	};
	/**
	* Called when a ChangeCipherSpec record is received.
	*
	* @param c the connection.
	* @param record the record.
	*/
	tls.handleChangeCipherSpec = function(c, record) {
		if (record.fragment.getByte() !== 1) {
			return c.error(c, {
				message: "Invalid ChangeCipherSpec message received.",
				send: true,
				alert: {
					level: tls.Alert.Level.fatal,
					description: tls.Alert.Description.illegal_parameter
				}
			});
		}
		var client = c.entity === tls.ConnectionEnd.client;
		if (c.session.resuming && client || !c.session.resuming && !client) {
			c.state.pending = tls.createConnectionState(c);
		}
		c.state.current.read = c.state.pending.read;
		if (!c.session.resuming && client || c.session.resuming && !client) {
			c.state.pending = null;
		}
		c.expect = client ? SFI : CFI;
		c.process();
	};
	/**
	* Called when a Finished record is received.
	*
	* When this message will be sent:
	*   A finished message is always sent immediately after a change
	*   cipher spec message to verify that the key exchange and
	*   authentication processes were successful. It is essential that a
	*   change cipher spec message be received between the other
	*   handshake messages and the Finished message.
	*
	* Meaning of this message:
	*   The finished message is the first protected with the just-
	*   negotiated algorithms, keys, and secrets. Recipients of finished
	*   messages must verify that the contents are correct.  Once a side
	*   has sent its Finished message and received and validated the
	*   Finished message from its peer, it may begin to send and receive
	*   application data over the connection.
	*
	* struct {
	*   opaque verify_data[verify_data_length];
	* } Finished;
	*
	* verify_data
	*   PRF(master_secret, finished_label, Hash(handshake_messages))
	*     [0..verify_data_length-1];
	*
	* finished_label
	*   For Finished messages sent by the client, the string
	*   "client finished". For Finished messages sent by the server, the
	*   string "server finished".
	*
	* verify_data_length depends on the cipher suite. If it is not specified
	* by the cipher suite, then it is 12. Versions of TLS < 1.2 always used
	* 12 bytes.
	*
	* @param c the connection.
	* @param record the record.
	* @param length the length of the handshake message.
	*/
	tls.handleFinished = function(c, record, length) {
		var b = record.fragment;
		b.read -= 4;
		var msgBytes = b.bytes();
		b.read += 4;
		var vd = record.fragment.getBytes();
		b = forge.util.createBuffer();
		b.putBuffer(c.session.md5.digest());
		b.putBuffer(c.session.sha1.digest());
		var client = c.entity === tls.ConnectionEnd.client;
		var label = client ? "server finished" : "client finished";
		var sp = c.session.sp;
		var vdl = 12;
		var prf = prf_TLS1;
		b = prf(sp.master_secret, label, b.getBytes(), vdl);
		if (b.getBytes() !== vd) {
			return c.error(c, {
				message: "Invalid verify_data in Finished message.",
				send: true,
				alert: {
					level: tls.Alert.Level.fatal,
					description: tls.Alert.Description.decrypt_error
				}
			});
		}
		c.session.md5.update(msgBytes);
		c.session.sha1.update(msgBytes);
		if (c.session.resuming && client || !c.session.resuming && !client) {
			tls.queue(c, tls.createRecord(c, {
				type: tls.ContentType.change_cipher_spec,
				data: tls.createChangeCipherSpec()
			}));
			c.state.current.write = c.state.pending.write;
			c.state.pending = null;
			tls.queue(c, tls.createRecord(c, {
				type: tls.ContentType.handshake,
				data: tls.createFinished(c)
			}));
		}
		c.expect = client ? SAD : CAD;
		c.handshaking = false;
		++c.handshakes;
		c.peerCertificate = client ? c.session.serverCertificate : c.session.clientCertificate;
		tls.flush(c);
		c.isConnected = true;
		c.connected(c);
		c.process();
	};
	/**
	* Called when an Alert record is received.
	*
	* @param c the connection.
	* @param record the record.
	*/
	tls.handleAlert = function(c, record) {
		var b = record.fragment;
		var alert = {
			level: b.getByte(),
			description: b.getByte()
		};
		var msg;
		switch (alert.description) {
			case tls.Alert.Description.close_notify:
				msg = "Connection closed.";
				break;
			case tls.Alert.Description.unexpected_message:
				msg = "Unexpected message.";
				break;
			case tls.Alert.Description.bad_record_mac:
				msg = "Bad record MAC.";
				break;
			case tls.Alert.Description.decryption_failed:
				msg = "Decryption failed.";
				break;
			case tls.Alert.Description.record_overflow:
				msg = "Record overflow.";
				break;
			case tls.Alert.Description.decompression_failure:
				msg = "Decompression failed.";
				break;
			case tls.Alert.Description.handshake_failure:
				msg = "Handshake failure.";
				break;
			case tls.Alert.Description.bad_certificate:
				msg = "Bad certificate.";
				break;
			case tls.Alert.Description.unsupported_certificate:
				msg = "Unsupported certificate.";
				break;
			case tls.Alert.Description.certificate_revoked:
				msg = "Certificate revoked.";
				break;
			case tls.Alert.Description.certificate_expired:
				msg = "Certificate expired.";
				break;
			case tls.Alert.Description.certificate_unknown:
				msg = "Certificate unknown.";
				break;
			case tls.Alert.Description.illegal_parameter:
				msg = "Illegal parameter.";
				break;
			case tls.Alert.Description.unknown_ca:
				msg = "Unknown certificate authority.";
				break;
			case tls.Alert.Description.access_denied:
				msg = "Access denied.";
				break;
			case tls.Alert.Description.decode_error:
				msg = "Decode error.";
				break;
			case tls.Alert.Description.decrypt_error:
				msg = "Decrypt error.";
				break;
			case tls.Alert.Description.export_restriction:
				msg = "Export restriction.";
				break;
			case tls.Alert.Description.protocol_version:
				msg = "Unsupported protocol version.";
				break;
			case tls.Alert.Description.insufficient_security:
				msg = "Insufficient security.";
				break;
			case tls.Alert.Description.internal_error:
				msg = "Internal error.";
				break;
			case tls.Alert.Description.user_canceled:
				msg = "User canceled.";
				break;
			case tls.Alert.Description.no_renegotiation:
				msg = "Renegotiation not supported.";
				break;
			default:
				msg = "Unknown error.";
				break;
		}
		if (alert.description === tls.Alert.Description.close_notify) {
			return c.close();
		}
		c.error(c, {
			message: msg,
			send: false,
			origin: c.entity === tls.ConnectionEnd.client ? "server" : "client",
			alert
		});
		c.process();
	};
	/**
	* Called when a Handshake record is received.
	*
	* @param c the connection.
	* @param record the record.
	*/
	tls.handleHandshake = function(c, record) {
		var b = record.fragment;
		var type = b.getByte();
		var length = b.getInt24();
		if (length > b.length()) {
			c.fragmented = record;
			record.fragment = forge.util.createBuffer();
			b.read -= 4;
			return c.process();
		}
		c.fragmented = null;
		b.read -= 4;
		var bytes = b.bytes(length + 4);
		b.read += 4;
		if (type in hsTable[c.entity][c.expect]) {
			if (c.entity === tls.ConnectionEnd.server && !c.open && !c.fail) {
				c.handshaking = true;
				c.session = {
					version: null,
					extensions: { server_name: { serverNameList: [] } },
					cipherSuite: null,
					compressionMethod: null,
					serverCertificate: null,
					clientCertificate: null,
					md5: forge.md.md5.create(),
					sha1: forge.md.sha1.create()
				};
			}
			if (type !== tls.HandshakeType.hello_request && type !== tls.HandshakeType.certificate_verify && type !== tls.HandshakeType.finished) {
				c.session.md5.update(bytes);
				c.session.sha1.update(bytes);
			}
			hsTable[c.entity][c.expect][type](c, record, length);
		} else {
			tls.handleUnexpected(c, record);
		}
	};
	/**
	* Called when an ApplicationData record is received.
	*
	* @param c the connection.
	* @param record the record.
	*/
	tls.handleApplicationData = function(c, record) {
		c.data.putBuffer(record.fragment);
		c.dataReady(c);
		c.process();
	};
	/**
	* Called when a Heartbeat record is received.
	*
	* @param c the connection.
	* @param record the record.
	*/
	tls.handleHeartbeat = function(c, record) {
		var b = record.fragment;
		var type = b.getByte();
		var length = b.getInt16();
		var payload = b.getBytes(length);
		if (type === tls.HeartbeatMessageType.heartbeat_request) {
			if (c.handshaking || length > payload.length) {
				return c.process();
			}
			tls.queue(c, tls.createRecord(c, {
				type: tls.ContentType.heartbeat,
				data: tls.createHeartbeat(tls.HeartbeatMessageType.heartbeat_response, payload)
			}));
			tls.flush(c);
		} else if (type === tls.HeartbeatMessageType.heartbeat_response) {
			if (payload !== c.expectedHeartbeatPayload) {
				return c.process();
			}
			if (c.heartbeatReceived) {
				c.heartbeatReceived(c, forge.util.createBuffer(payload));
			}
		}
		c.process();
	};
	/**
	* The transistional state tables for receiving TLS records. It maps the
	* current TLS engine state and a received record to a function to handle the
	* record and update the state.
	*
	* For instance, if the current state is SHE, then the TLS engine is expecting
	* a ServerHello record. Once a record is received, the handler function is
	* looked up using the state SHE and the record's content type.
	*
	* The resulting function will either be an error handler or a record handler.
	* The function will take whatever action is appropriate and update the state
	* for the next record.
	*
	* The states are all based on possible server record types. Note that the
	* client will never specifically expect to receive a HelloRequest or an alert
	* from the server so there is no state that reflects this. These messages may
	* occur at any time.
	*
	* There are two tables for mapping states because there is a second tier of
	* types for handshake messages. Once a record with a content type of handshake
	* is received, the handshake record handler will look up the handshake type in
	* the secondary map to get its appropriate handler.
	*
	* Valid message orders are as follows:
	*
	* =======================FULL HANDSHAKE======================
	* Client                                               Server
	*
	* ClientHello                  -------->
	*                                                 ServerHello
	*                                                Certificate*
	*                                          ServerKeyExchange*
	*                                         CertificateRequest*
	*                              <--------      ServerHelloDone
	* Certificate*
	* ClientKeyExchange
	* CertificateVerify*
	* [ChangeCipherSpec]
	* Finished                     -------->
	*                                          [ChangeCipherSpec]
	*                              <--------             Finished
	* Application Data             <------->     Application Data
	*
	* =====================SESSION RESUMPTION=====================
	* Client                                                Server
	*
	* ClientHello                   -------->
	*                                                  ServerHello
	*                                           [ChangeCipherSpec]
	*                               <--------             Finished
	* [ChangeCipherSpec]
	* Finished                      -------->
	* Application Data              <------->     Application Data
	*/
	var SHE = 0;
	var SCE = 1;
	var SKE = 2;
	var SCR = 3;
	var SHD = 4;
	var SCC = 5;
	var SFI = 6;
	var SAD = 7;
	var SER = 8;
	var CHE = 0;
	var CCE = 1;
	var CKE = 2;
	var CCV = 3;
	var CCC = 4;
	var CFI = 5;
	var CAD = 6;
	var CER = 7;
	var __ = tls.handleUnexpected;
	var R0 = tls.handleChangeCipherSpec;
	var R1 = tls.handleAlert;
	var R2 = tls.handleHandshake;
	var R3 = tls.handleApplicationData;
	var R4 = tls.handleHeartbeat;
	var ctTable = [];
	ctTable[tls.ConnectionEnd.client] = [
		[
			__,
			R1,
			R2,
			__,
			R4
		],
		[
			__,
			R1,
			R2,
			__,
			R4
		],
		[
			__,
			R1,
			R2,
			__,
			R4
		],
		[
			__,
			R1,
			R2,
			__,
			R4
		],
		[
			__,
			R1,
			R2,
			__,
			R4
		],
		[
			R0,
			R1,
			__,
			__,
			R4
		],
		[
			__,
			R1,
			R2,
			__,
			R4
		],
		[
			__,
			R1,
			R2,
			R3,
			R4
		],
		[
			__,
			R1,
			R2,
			__,
			R4
		]
	];
	ctTable[tls.ConnectionEnd.server] = [
		[
			__,
			R1,
			R2,
			__,
			R4
		],
		[
			__,
			R1,
			R2,
			__,
			R4
		],
		[
			__,
			R1,
			R2,
			__,
			R4
		],
		[
			__,
			R1,
			R2,
			__,
			R4
		],
		[
			R0,
			R1,
			__,
			__,
			R4
		],
		[
			__,
			R1,
			R2,
			__,
			R4
		],
		[
			__,
			R1,
			R2,
			R3,
			R4
		],
		[
			__,
			R1,
			R2,
			__,
			R4
		]
	];
	var H0 = tls.handleHelloRequest;
	var H1 = tls.handleServerHello;
	var H2 = tls.handleCertificate;
	var H3 = tls.handleServerKeyExchange;
	var H4 = tls.handleCertificateRequest;
	var H5 = tls.handleServerHelloDone;
	var H6 = tls.handleFinished;
	var hsTable = [];
	hsTable[tls.ConnectionEnd.client] = [
		[
			__,
			__,
			H1,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__
		],
		[
			H0,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			H2,
			H3,
			H4,
			H5,
			__,
			__,
			__,
			__,
			__,
			__
		],
		[
			H0,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			H3,
			H4,
			H5,
			__,
			__,
			__,
			__,
			__,
			__
		],
		[
			H0,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			H4,
			H5,
			__,
			__,
			__,
			__,
			__,
			__
		],
		[
			H0,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			H5,
			__,
			__,
			__,
			__,
			__,
			__
		],
		[
			H0,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__
		],
		[
			H0,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			H6
		],
		[
			H0,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__
		],
		[
			H0,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__
		]
	];
	var H7 = tls.handleClientHello;
	var H8 = tls.handleClientKeyExchange;
	var H9 = tls.handleCertificateVerify;
	hsTable[tls.ConnectionEnd.server] = [
		[
			__,
			H7,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__
		],
		[
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			H2,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__
		],
		[
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			H8,
			__,
			__,
			__,
			__
		],
		[
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			H9,
			__,
			__,
			__,
			__,
			__
		],
		[
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__
		],
		[
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			H6
		],
		[
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__
		],
		[
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__,
			__
		]
	];
	/**
	* Generates the master_secret and keys using the given security parameters.
	*
	* The security parameters for a TLS connection state are defined as such:
	*
	* struct {
	*   ConnectionEnd          entity;
	*   PRFAlgorithm           prf_algorithm;
	*   BulkCipherAlgorithm    bulk_cipher_algorithm;
	*   CipherType             cipher_type;
	*   uint8                  enc_key_length;
	*   uint8                  block_length;
	*   uint8                  fixed_iv_length;
	*   uint8                  record_iv_length;
	*   MACAlgorithm           mac_algorithm;
	*   uint8                  mac_length;
	*   uint8                  mac_key_length;
	*   CompressionMethod      compression_algorithm;
	*   opaque                 master_secret[48];
	*   opaque                 client_random[32];
	*   opaque                 server_random[32];
	* } SecurityParameters;
	*
	* Note that this definition is from TLS 1.2. In TLS 1.0 some of these
	* parameters are ignored because, for instance, the PRFAlgorithm is a
	* builtin-fixed algorithm combining iterations of MD5 and SHA-1 in TLS 1.0.
	*
	* The Record Protocol requires an algorithm to generate keys required by the
	* current connection state.
	*
	* The master secret is expanded into a sequence of secure bytes, which is then
	* split to a client write MAC key, a server write MAC key, a client write
	* encryption key, and a server write encryption key. In TLS 1.0 a client write
	* IV and server write IV are also generated. Each of these is generated from
	* the byte sequence in that order. Unused values are empty. In TLS 1.2, some
	* AEAD ciphers may additionally require a client write IV and a server write
	* IV (see Section 6.2.3.3).
	*
	* When keys, MAC keys, and IVs are generated, the master secret is used as an
	* entropy source.
	*
	* To generate the key material, compute:
	*
	* master_secret = PRF(pre_master_secret, "master secret",
	*                     ClientHello.random + ServerHello.random)
	*
	* key_block = PRF(SecurityParameters.master_secret,
	*                 "key expansion",
	*                 SecurityParameters.server_random +
	*                 SecurityParameters.client_random);
	*
	* until enough output has been generated. Then, the key_block is
	* partitioned as follows:
	*
	* client_write_MAC_key[SecurityParameters.mac_key_length]
	* server_write_MAC_key[SecurityParameters.mac_key_length]
	* client_write_key[SecurityParameters.enc_key_length]
	* server_write_key[SecurityParameters.enc_key_length]
	* client_write_IV[SecurityParameters.fixed_iv_length]
	* server_write_IV[SecurityParameters.fixed_iv_length]
	*
	* In TLS 1.2, the client_write_IV and server_write_IV are only generated for
	* implicit nonce techniques as described in Section 3.2.1 of [AEAD]. This
	* implementation uses TLS 1.0 so IVs are generated.
	*
	* Implementation note: The currently defined cipher suite which requires the
	* most material is AES_256_CBC_SHA256. It requires 2 x 32 byte keys and 2 x 32
	* byte MAC keys, for a total 128 bytes of key material. In TLS 1.0 it also
	* requires 2 x 16 byte IVs, so it actually takes 160 bytes of key material.
	*
	* @param c the connection.
	* @param sp the security parameters to use.
	*
	* @return the security keys.
	*/
	tls.generateKeys = function(c, sp) {
		var prf = prf_TLS1;
		var random = sp.client_random + sp.server_random;
		if (!c.session.resuming) {
			sp.master_secret = prf(sp.pre_master_secret, "master secret", random, 48).bytes();
			sp.pre_master_secret = null;
		}
		random = sp.server_random + sp.client_random;
		var length = 2 * sp.mac_key_length + 2 * sp.enc_key_length;
		var tls10 = c.version.major === tls.Versions.TLS_1_0.major && c.version.minor === tls.Versions.TLS_1_0.minor;
		if (tls10) {
			length += 2 * sp.fixed_iv_length;
		}
		var km = prf(sp.master_secret, "key expansion", random, length);
		var rval = {
			client_write_MAC_key: km.getBytes(sp.mac_key_length),
			server_write_MAC_key: km.getBytes(sp.mac_key_length),
			client_write_key: km.getBytes(sp.enc_key_length),
			server_write_key: km.getBytes(sp.enc_key_length)
		};
		if (tls10) {
			rval.client_write_IV = km.getBytes(sp.fixed_iv_length);
			rval.server_write_IV = km.getBytes(sp.fixed_iv_length);
		}
		return rval;
	};
	/**
	* Creates a new initialized TLS connection state. A connection state has
	* a read mode and a write mode.
	*
	* compression state:
	*   The current state of the compression algorithm.
	*
	* cipher state:
	*   The current state of the encryption algorithm. This will consist of the
	*   scheduled key for that connection. For stream ciphers, this will also
	*   contain whatever state information is necessary to allow the stream to
	*   continue to encrypt or decrypt data.
	*
	* MAC key:
	*   The MAC key for the connection.
	*
	* sequence number:
	*   Each connection state contains a sequence number, which is maintained
	*   separately for read and write states. The sequence number MUST be set to
	*   zero whenever a connection state is made the active state. Sequence
	*   numbers are of type uint64 and may not exceed 2^64-1. Sequence numbers do
	*   not wrap. If a TLS implementation would need to wrap a sequence number,
	*   it must renegotiate instead. A sequence number is incremented after each
	*   record: specifically, the first record transmitted under a particular
	*   connection state MUST use sequence number 0.
	*
	* @param c the connection.
	*
	* @return the new initialized TLS connection state.
	*/
	tls.createConnectionState = function(c) {
		var client = c.entity === tls.ConnectionEnd.client;
		var createMode = function() {
			var mode = {
				sequenceNumber: [0, 0],
				macKey: null,
				macLength: 0,
				macFunction: null,
				cipherState: null,
				cipherFunction: function(record) {
					return true;
				},
				compressionState: null,
				compressFunction: function(record) {
					return true;
				},
				updateSequenceNumber: function() {
					if (mode.sequenceNumber[1] === 4294967295) {
						mode.sequenceNumber[1] = 0;
						++mode.sequenceNumber[0];
					} else {
						++mode.sequenceNumber[1];
					}
				}
			};
			return mode;
		};
		var state = {
			read: createMode(),
			write: createMode()
		};
		state.read.update = function(c, record) {
			if (!state.read.cipherFunction(record, state.read)) {
				c.error(c, {
					message: "Could not decrypt record or bad MAC.",
					send: true,
					alert: {
						level: tls.Alert.Level.fatal,
						description: tls.Alert.Description.bad_record_mac
					}
				});
			} else if (!state.read.compressFunction(c, record, state.read)) {
				c.error(c, {
					message: "Could not decompress record.",
					send: true,
					alert: {
						level: tls.Alert.Level.fatal,
						description: tls.Alert.Description.decompression_failure
					}
				});
			}
			return !c.fail;
		};
		state.write.update = function(c, record) {
			if (!state.write.compressFunction(c, record, state.write)) {
				c.error(c, {
					message: "Could not compress record.",
					send: false,
					alert: {
						level: tls.Alert.Level.fatal,
						description: tls.Alert.Description.internal_error
					}
				});
			} else if (!state.write.cipherFunction(record, state.write)) {
				c.error(c, {
					message: "Could not encrypt record.",
					send: false,
					alert: {
						level: tls.Alert.Level.fatal,
						description: tls.Alert.Description.internal_error
					}
				});
			}
			return !c.fail;
		};
		if (c.session) {
			var sp = c.session.sp;
			c.session.cipherSuite.initSecurityParameters(sp);
			sp.keys = tls.generateKeys(c, sp);
			state.read.macKey = client ? sp.keys.server_write_MAC_key : sp.keys.client_write_MAC_key;
			state.write.macKey = client ? sp.keys.client_write_MAC_key : sp.keys.server_write_MAC_key;
			c.session.cipherSuite.initConnectionState(state, c, sp);
			switch (sp.compression_algorithm) {
				case tls.CompressionMethod.none: break;
				case tls.CompressionMethod.deflate:
					state.read.compressFunction = inflate;
					state.write.compressFunction = deflate;
					break;
				default: throw new Error("Unsupported compression algorithm.");
			}
		}
		return state;
	};
	/**
	* Creates a Random structure.
	*
	* struct {
	*   uint32 gmt_unix_time;
	*   opaque random_bytes[28];
	* } Random;
	*
	* gmt_unix_time:
	*   The current time and date in standard UNIX 32-bit format (seconds since
	*   the midnight starting Jan 1, 1970, UTC, ignoring leap seconds) according
	*   to the sender's internal clock. Clocks are not required to be set
	*   correctly by the basic TLS protocol; higher-level or application
	*   protocols may define additional requirements. Note that, for historical
	*   reasons, the data element is named using GMT, the predecessor of the
	*   current worldwide time base, UTC.
	* random_bytes:
	*   28 bytes generated by a secure random number generator.
	*
	* @return the Random structure as a byte array.
	*/
	tls.createRandom = function() {
		var d = new Date();
		var utc = +d + d.getTimezoneOffset() * 6e4;
		var rval = forge.util.createBuffer();
		rval.putInt32(utc);
		rval.putBytes(forge.random.getBytes(28));
		return rval;
	};
	/**
	* Creates a TLS record with the given type and data.
	*
	* @param c the connection.
	* @param options:
	*   type: the record type.
	*   data: the plain text data in a byte buffer.
	*
	* @return the created record.
	*/
	tls.createRecord = function(c, options) {
		if (!options.data) {
			return null;
		}
		var record = {
			type: options.type,
			version: {
				major: c.version.major,
				minor: c.version.minor
			},
			length: options.data.length(),
			fragment: options.data
		};
		return record;
	};
	/**
	* Creates a TLS alert record.
	*
	* @param c the connection.
	* @param alert:
	*   level: the TLS alert level.
	*   description: the TLS alert description.
	*
	* @return the created alert record.
	*/
	tls.createAlert = function(c, alert) {
		var b = forge.util.createBuffer();
		b.putByte(alert.level);
		b.putByte(alert.description);
		return tls.createRecord(c, {
			type: tls.ContentType.alert,
			data: b
		});
	};
	/**
	* Creates a ClientHello message.
	*
	* opaque SessionID<0..32>;
	* enum { null(0), deflate(1), (255) } CompressionMethod;
	* uint8 CipherSuite[2];
	*
	* struct {
	*   ProtocolVersion client_version;
	*   Random random;
	*   SessionID session_id;
	*   CipherSuite cipher_suites<2..2^16-2>;
	*   CompressionMethod compression_methods<1..2^8-1>;
	*   select(extensions_present) {
	*     case false:
	*       struct {};
	*     case true:
	*       Extension extensions<0..2^16-1>;
	*   };
	* } ClientHello;
	*
	* The extension format for extended client hellos and server hellos is:
	*
	* struct {
	*   ExtensionType extension_type;
	*   opaque extension_data<0..2^16-1>;
	* } Extension;
	*
	* Here:
	*
	* - "extension_type" identifies the particular extension type.
	* - "extension_data" contains information specific to the particular
	* extension type.
	*
	* The extension types defined in this document are:
	*
	* enum {
	*   server_name(0), max_fragment_length(1),
	*   client_certificate_url(2), trusted_ca_keys(3),
	*   truncated_hmac(4), status_request(5), (65535)
	* } ExtensionType;
	*
	* @param c the connection.
	*
	* @return the ClientHello byte buffer.
	*/
	tls.createClientHello = function(c) {
		c.session.clientHelloVersion = {
			major: c.version.major,
			minor: c.version.minor
		};
		var cipherSuites = forge.util.createBuffer();
		for (var i = 0; i < c.cipherSuites.length; ++i) {
			var cs = c.cipherSuites[i];
			cipherSuites.putByte(cs.id[0]);
			cipherSuites.putByte(cs.id[1]);
		}
		var cSuites = cipherSuites.length();
		var compressionMethods = forge.util.createBuffer();
		compressionMethods.putByte(tls.CompressionMethod.none);
		var cMethods = compressionMethods.length();
		var extensions = forge.util.createBuffer();
		if (c.virtualHost) {
			var ext = forge.util.createBuffer();
			ext.putByte(0);
			ext.putByte(0);
			var serverName = forge.util.createBuffer();
			serverName.putByte(0);
			writeVector(serverName, 2, forge.util.createBuffer(c.virtualHost));
			var snList = forge.util.createBuffer();
			writeVector(snList, 2, serverName);
			writeVector(ext, 2, snList);
			extensions.putBuffer(ext);
		}
		var extLength = extensions.length();
		if (extLength > 0) {
			extLength += 2;
		}
		var sessionId = c.session.id;
		var length = sessionId.length + 1 + 2 + 4 + 28 + 2 + cSuites + 1 + cMethods + extLength;
		var rval = forge.util.createBuffer();
		rval.putByte(tls.HandshakeType.client_hello);
		rval.putInt24(length);
		rval.putByte(c.version.major);
		rval.putByte(c.version.minor);
		rval.putBytes(c.session.sp.client_random);
		writeVector(rval, 1, forge.util.createBuffer(sessionId));
		writeVector(rval, 2, cipherSuites);
		writeVector(rval, 1, compressionMethods);
		if (extLength > 0) {
			writeVector(rval, 2, extensions);
		}
		return rval;
	};
	/**
	* Creates a ServerHello message.
	*
	* @param c the connection.
	*
	* @return the ServerHello byte buffer.
	*/
	tls.createServerHello = function(c) {
		var sessionId = c.session.id;
		var length = sessionId.length + 1 + 2 + 4 + 28 + 2 + 1;
		var rval = forge.util.createBuffer();
		rval.putByte(tls.HandshakeType.server_hello);
		rval.putInt24(length);
		rval.putByte(c.version.major);
		rval.putByte(c.version.minor);
		rval.putBytes(c.session.sp.server_random);
		writeVector(rval, 1, forge.util.createBuffer(sessionId));
		rval.putByte(c.session.cipherSuite.id[0]);
		rval.putByte(c.session.cipherSuite.id[1]);
		rval.putByte(c.session.compressionMethod);
		return rval;
	};
	/**
	* Creates a Certificate message.
	*
	* When this message will be sent:
	*   This is the first message the client can send after receiving a server
	*   hello done message and the first message the server can send after
	*   sending a ServerHello. This client message is only sent if the server
	*   requests a certificate. If no suitable certificate is available, the
	*   client should send a certificate message containing no certificates. If
	*   client authentication is required by the server for the handshake to
	*   continue, it may respond with a fatal handshake failure alert.
	*
	* opaque ASN.1Cert<1..2^24-1>;
	*
	* struct {
	*   ASN.1Cert certificate_list<0..2^24-1>;
	* } Certificate;
	*
	* @param c the connection.
	*
	* @return the Certificate byte buffer.
	*/
	tls.createCertificate = function(c) {
		var client = c.entity === tls.ConnectionEnd.client;
		var cert = null;
		if (c.getCertificate) {
			var hint;
			if (client) {
				hint = c.session.certificateRequest;
			} else {
				hint = c.session.extensions.server_name.serverNameList;
			}
			cert = c.getCertificate(c, hint);
		}
		var certList = forge.util.createBuffer();
		if (cert !== null) {
			try {
				if (!forge.util.isArray(cert)) {
					cert = [cert];
				}
				var asn1 = null;
				for (var i = 0; i < cert.length; ++i) {
					var msg = forge.pem.decode(cert[i])[0];
					if (msg.type !== "CERTIFICATE" && msg.type !== "X509 CERTIFICATE" && msg.type !== "TRUSTED CERTIFICATE") {
						var error = new Error("Could not convert certificate from PEM; PEM " + "header type is not \"CERTIFICATE\", \"X509 CERTIFICATE\", or " + "\"TRUSTED CERTIFICATE\".");
						error.headerType = msg.type;
						throw error;
					}
					if (msg.procType && msg.procType.type === "ENCRYPTED") {
						throw new Error("Could not convert certificate from PEM; PEM is encrypted.");
					}
					var der = forge.util.createBuffer(msg.body);
					if (asn1 === null) {
						asn1 = forge.asn1.fromDer(der.bytes(), false);
					}
					var certBuffer = forge.util.createBuffer();
					writeVector(certBuffer, 3, der);
					certList.putBuffer(certBuffer);
				}
				cert = forge.pki.certificateFromAsn1(asn1);
				if (client) {
					c.session.clientCertificate = cert;
				} else {
					c.session.serverCertificate = cert;
				}
			} catch (ex) {
				return c.error(c, {
					message: "Could not send certificate list.",
					cause: ex,
					send: true,
					alert: {
						level: tls.Alert.Level.fatal,
						description: tls.Alert.Description.bad_certificate
					}
				});
			}
		}
		var length = 3 + certList.length();
		var rval = forge.util.createBuffer();
		rval.putByte(tls.HandshakeType.certificate);
		rval.putInt24(length);
		writeVector(rval, 3, certList);
		return rval;
	};
	/**
	* Creates a ClientKeyExchange message.
	*
	* When this message will be sent:
	*   This message is always sent by the client. It will immediately follow the
	*   client certificate message, if it is sent. Otherwise it will be the first
	*   message sent by the client after it receives the server hello done
	*   message.
	*
	* Meaning of this message:
	*   With this message, the premaster secret is set, either though direct
	*   transmission of the RSA-encrypted secret, or by the transmission of
	*   Diffie-Hellman parameters which will allow each side to agree upon the
	*   same premaster secret. When the key exchange method is DH_RSA or DH_DSS,
	*   client certification has been requested, and the client was able to
	*   respond with a certificate which contained a Diffie-Hellman public key
	*   whose parameters (group and generator) matched those specified by the
	*   server in its certificate, this message will not contain any data.
	*
	* Meaning of this message:
	*   If RSA is being used for key agreement and authentication, the client
	*   generates a 48-byte premaster secret, encrypts it using the public key
	*   from the server's certificate or the temporary RSA key provided in a
	*   server key exchange message, and sends the result in an encrypted
	*   premaster secret message. This structure is a variant of the client
	*   key exchange message, not a message in itself.
	*
	* struct {
	*   select(KeyExchangeAlgorithm) {
	*     case rsa: EncryptedPreMasterSecret;
	*     case diffie_hellman: ClientDiffieHellmanPublic;
	*   } exchange_keys;
	* } ClientKeyExchange;
	*
	* struct {
	*   ProtocolVersion client_version;
	*   opaque random[46];
	* } PreMasterSecret;
	*
	* struct {
	*   public-key-encrypted PreMasterSecret pre_master_secret;
	* } EncryptedPreMasterSecret;
	*
	* A public-key-encrypted element is encoded as a vector <0..2^16-1>.
	*
	* @param c the connection.
	*
	* @return the ClientKeyExchange byte buffer.
	*/
	tls.createClientKeyExchange = function(c) {
		var b = forge.util.createBuffer();
		b.putByte(c.session.clientHelloVersion.major);
		b.putByte(c.session.clientHelloVersion.minor);
		b.putBytes(forge.random.getBytes(46));
		var sp = c.session.sp;
		sp.pre_master_secret = b.getBytes();
		var key = c.session.serverCertificate.publicKey;
		b = key.encrypt(sp.pre_master_secret);
		var length = b.length + 2;
		var rval = forge.util.createBuffer();
		rval.putByte(tls.HandshakeType.client_key_exchange);
		rval.putInt24(length);
		rval.putInt16(b.length);
		rval.putBytes(b);
		return rval;
	};
	/**
	* Creates a ServerKeyExchange message.
	*
	* @param c the connection.
	*
	* @return the ServerKeyExchange byte buffer.
	*/
	tls.createServerKeyExchange = function(c) {
		var length = 0;
		var rval = forge.util.createBuffer();
		if (length > 0) {
			rval.putByte(tls.HandshakeType.server_key_exchange);
			rval.putInt24(length);
		}
		return rval;
	};
	/**
	* Gets the signed data used to verify a client-side certificate. See
	* tls.createCertificateVerify() for details.
	*
	* @param c the connection.
	* @param callback the callback to call once the signed data is ready.
	*/
	tls.getClientSignature = function(c, callback) {
		var b = forge.util.createBuffer();
		b.putBuffer(c.session.md5.digest());
		b.putBuffer(c.session.sha1.digest());
		b = b.getBytes();
		c.getSignature = c.getSignature || function(c, b, callback) {
			var privateKey = null;
			if (c.getPrivateKey) {
				try {
					privateKey = c.getPrivateKey(c, c.session.clientCertificate);
					privateKey = forge.pki.privateKeyFromPem(privateKey);
				} catch (ex) {
					c.error(c, {
						message: "Could not get private key.",
						cause: ex,
						send: true,
						alert: {
							level: tls.Alert.Level.fatal,
							description: tls.Alert.Description.internal_error
						}
					});
				}
			}
			if (privateKey === null) {
				c.error(c, {
					message: "No private key set.",
					send: true,
					alert: {
						level: tls.Alert.Level.fatal,
						description: tls.Alert.Description.internal_error
					}
				});
			} else {
				b = privateKey.sign(b, null);
			}
			callback(c, b);
		};
		c.getSignature(c, b, callback);
	};
	/**
	* Creates a CertificateVerify message.
	*
	* Meaning of this message:
	*   This structure conveys the client's Diffie-Hellman public value
	*   (Yc) if it was not already included in the client's certificate.
	*   The encoding used for Yc is determined by the enumerated
	*   PublicValueEncoding. This structure is a variant of the client
	*   key exchange message, not a message in itself.
	*
	* When this message will be sent:
	*   This message is used to provide explicit verification of a client
	*   certificate. This message is only sent following a client
	*   certificate that has signing capability (i.e. all certificates
	*   except those containing fixed Diffie-Hellman parameters). When
	*   sent, it will immediately follow the client key exchange message.
	*
	* struct {
	*   Signature signature;
	* } CertificateVerify;
	*
	* CertificateVerify.signature.md5_hash
	*   MD5(handshake_messages);
	*
	* Certificate.signature.sha_hash
	*   SHA(handshake_messages);
	*
	* Here handshake_messages refers to all handshake messages sent or
	* received starting at client hello up to but not including this
	* message, including the type and length fields of the handshake
	* messages.
	*
	* select(SignatureAlgorithm) {
	*   case anonymous: struct { };
	*   case rsa:
	*     digitally-signed struct {
	*       opaque md5_hash[16];
	*       opaque sha_hash[20];
	*     };
	*   case dsa:
	*     digitally-signed struct {
	*       opaque sha_hash[20];
	*     };
	* } Signature;
	*
	* In digital signing, one-way hash functions are used as input for a
	* signing algorithm. A digitally-signed element is encoded as an opaque
	* vector <0..2^16-1>, where the length is specified by the signing
	* algorithm and key.
	*
	* In RSA signing, a 36-byte structure of two hashes (one SHA and one
	* MD5) is signed (encrypted with the private key). It is encoded with
	* PKCS #1 block type 0 or type 1 as described in [PKCS1].
	*
	* In DSS, the 20 bytes of the SHA hash are run directly through the
	* Digital Signing Algorithm with no additional hashing.
	*
	* @param c the connection.
	* @param signature the signature to include in the message.
	*
	* @return the CertificateVerify byte buffer.
	*/
	tls.createCertificateVerify = function(c, signature) {
		var length = signature.length + 2;
		var rval = forge.util.createBuffer();
		rval.putByte(tls.HandshakeType.certificate_verify);
		rval.putInt24(length);
		rval.putInt16(signature.length);
		rval.putBytes(signature);
		return rval;
	};
	/**
	* Creates a CertificateRequest message.
	*
	* @param c the connection.
	*
	* @return the CertificateRequest byte buffer.
	*/
	tls.createCertificateRequest = function(c) {
		var certTypes = forge.util.createBuffer();
		certTypes.putByte(1);
		var cAs = forge.util.createBuffer();
		for (var key in c.caStore.certs) {
			var cert = c.caStore.certs[key];
			var dn = forge.pki.distinguishedNameToAsn1(cert.subject);
			var byteBuffer = forge.asn1.toDer(dn);
			cAs.putInt16(byteBuffer.length());
			cAs.putBuffer(byteBuffer);
		}
		var length = 1 + certTypes.length() + 2 + cAs.length();
		var rval = forge.util.createBuffer();
		rval.putByte(tls.HandshakeType.certificate_request);
		rval.putInt24(length);
		writeVector(rval, 1, certTypes);
		writeVector(rval, 2, cAs);
		return rval;
	};
	/**
	* Creates a ServerHelloDone message.
	*
	* @param c the connection.
	*
	* @return the ServerHelloDone byte buffer.
	*/
	tls.createServerHelloDone = function(c) {
		var rval = forge.util.createBuffer();
		rval.putByte(tls.HandshakeType.server_hello_done);
		rval.putInt24(0);
		return rval;
	};
	/**
	* Creates a ChangeCipherSpec message.
	*
	* The change cipher spec protocol exists to signal transitions in
	* ciphering strategies. The protocol consists of a single message,
	* which is encrypted and compressed under the current (not the pending)
	* connection state. The message consists of a single byte of value 1.
	*
	* struct {
	*   enum { change_cipher_spec(1), (255) } type;
	* } ChangeCipherSpec;
	*
	* @return the ChangeCipherSpec byte buffer.
	*/
	tls.createChangeCipherSpec = function() {
		var rval = forge.util.createBuffer();
		rval.putByte(1);
		return rval;
	};
	/**
	* Creates a Finished message.
	*
	* struct {
	*   opaque verify_data[12];
	* } Finished;
	*
	* verify_data
	*   PRF(master_secret, finished_label, MD5(handshake_messages) +
	*   SHA-1(handshake_messages)) [0..11];
	*
	* finished_label
	*   For Finished messages sent by the client, the string "client
	*   finished". For Finished messages sent by the server, the
	*   string "server finished".
	*
	* handshake_messages
	*   All of the data from all handshake messages up to but not
	*   including this message. This is only data visible at the
	*   handshake layer and does not include record layer headers.
	*   This is the concatenation of all the Handshake structures as
	*   defined in 7.4 exchanged thus far.
	*
	* @param c the connection.
	*
	* @return the Finished byte buffer.
	*/
	tls.createFinished = function(c) {
		var b = forge.util.createBuffer();
		b.putBuffer(c.session.md5.digest());
		b.putBuffer(c.session.sha1.digest());
		var client = c.entity === tls.ConnectionEnd.client;
		var sp = c.session.sp;
		var vdl = 12;
		var prf = prf_TLS1;
		var label = client ? "client finished" : "server finished";
		b = prf(sp.master_secret, label, b.getBytes(), vdl);
		var rval = forge.util.createBuffer();
		rval.putByte(tls.HandshakeType.finished);
		rval.putInt24(b.length());
		rval.putBuffer(b);
		return rval;
	};
	/**
	* Creates a HeartbeatMessage (See RFC 6520).
	*
	* struct {
	*   HeartbeatMessageType type;
	*   uint16 payload_length;
	*   opaque payload[HeartbeatMessage.payload_length];
	*   opaque padding[padding_length];
	* } HeartbeatMessage;
	*
	* The total length of a HeartbeatMessage MUST NOT exceed 2^14 or
	* max_fragment_length when negotiated as defined in [RFC6066].
	*
	* type: The message type, either heartbeat_request or heartbeat_response.
	*
	* payload_length: The length of the payload.
	*
	* payload: The payload consists of arbitrary content.
	*
	* padding: The padding is random content that MUST be ignored by the
	*   receiver. The length of a HeartbeatMessage is TLSPlaintext.length
	*   for TLS and DTLSPlaintext.length for DTLS. Furthermore, the
	*   length of the type field is 1 byte, and the length of the
	*   payload_length is 2. Therefore, the padding_length is
	*   TLSPlaintext.length - payload_length - 3 for TLS and
	*   DTLSPlaintext.length - payload_length - 3 for DTLS. The
	*   padding_length MUST be at least 16.
	*
	* The sender of a HeartbeatMessage MUST use a random padding of at
	* least 16 bytes. The padding of a received HeartbeatMessage message
	* MUST be ignored.
	*
	* If the payload_length of a received HeartbeatMessage is too large,
	* the received HeartbeatMessage MUST be discarded silently.
	*
	* @param c the connection.
	* @param type the tls.HeartbeatMessageType.
	* @param payload the heartbeat data to send as the payload.
	* @param [payloadLength] the payload length to use, defaults to the
	*          actual payload length.
	*
	* @return the HeartbeatRequest byte buffer.
	*/
	tls.createHeartbeat = function(type, payload, payloadLength) {
		if (typeof payloadLength === "undefined") {
			payloadLength = payload.length;
		}
		var rval = forge.util.createBuffer();
		rval.putByte(type);
		rval.putInt16(payloadLength);
		rval.putBytes(payload);
		var plaintextLength = rval.length();
		var paddingLength = Math.max(16, plaintextLength - payloadLength - 3);
		rval.putBytes(forge.random.getBytes(paddingLength));
		return rval;
	};
	/**
	* Fragments, compresses, encrypts, and queues a record for delivery.
	*
	* @param c the connection.
	* @param record the record to queue.
	*/
	tls.queue = function(c, record) {
		if (!record) {
			return;
		}
		if (record.fragment.length() === 0) {
			if (record.type === tls.ContentType.handshake || record.type === tls.ContentType.alert || record.type === tls.ContentType.change_cipher_spec) {
				return;
			}
		}
		if (record.type === tls.ContentType.handshake) {
			var bytes = record.fragment.bytes();
			c.session.md5.update(bytes);
			c.session.sha1.update(bytes);
			bytes = null;
		}
		var records;
		if (record.fragment.length() <= tls.MaxFragment) {
			records = [record];
		} else {
			records = [];
			var data = record.fragment.bytes();
			while (data.length > tls.MaxFragment) {
				records.push(tls.createRecord(c, {
					type: record.type,
					data: forge.util.createBuffer(data.slice(0, tls.MaxFragment))
				}));
				data = data.slice(tls.MaxFragment);
			}
			if (data.length > 0) {
				records.push(tls.createRecord(c, {
					type: record.type,
					data: forge.util.createBuffer(data)
				}));
			}
		}
		for (var i = 0; i < records.length && !c.fail; ++i) {
			var rec = records[i];
			var s = c.state.current.write;
			if (s.update(c, rec)) {
				c.records.push(rec);
			}
		}
	};
	/**
	* Flushes all queued records to the output buffer and calls the
	* tlsDataReady() handler on the given connection.
	*
	* @param c the connection.
	*
	* @return true on success, false on failure.
	*/
	tls.flush = function(c) {
		for (var i = 0; i < c.records.length; ++i) {
			var record = c.records[i];
			c.tlsData.putByte(record.type);
			c.tlsData.putByte(record.version.major);
			c.tlsData.putByte(record.version.minor);
			c.tlsData.putInt16(record.fragment.length());
			c.tlsData.putBuffer(c.records[i].fragment);
		}
		c.records = [];
		return c.tlsDataReady(c);
	};
	/**
	* Maps a pki.certificateError to a tls.Alert.Description.
	*
	* @param error the error to map.
	*
	* @return the alert description.
	*/
	var _certErrorToAlertDesc = function(error) {
		switch (error) {
			case true: return true;
			case forge.pki.certificateError.bad_certificate: return tls.Alert.Description.bad_certificate;
			case forge.pki.certificateError.unsupported_certificate: return tls.Alert.Description.unsupported_certificate;
			case forge.pki.certificateError.certificate_revoked: return tls.Alert.Description.certificate_revoked;
			case forge.pki.certificateError.certificate_expired: return tls.Alert.Description.certificate_expired;
			case forge.pki.certificateError.certificate_unknown: return tls.Alert.Description.certificate_unknown;
			case forge.pki.certificateError.unknown_ca: return tls.Alert.Description.unknown_ca;
			default: return tls.Alert.Description.bad_certificate;
		}
	};
	/**
	* Maps a tls.Alert.Description to a pki.certificateError.
	*
	* @param desc the alert description.
	*
	* @return the certificate error.
	*/
	var _alertDescToCertError = function(desc) {
		switch (desc) {
			case true: return true;
			case tls.Alert.Description.bad_certificate: return forge.pki.certificateError.bad_certificate;
			case tls.Alert.Description.unsupported_certificate: return forge.pki.certificateError.unsupported_certificate;
			case tls.Alert.Description.certificate_revoked: return forge.pki.certificateError.certificate_revoked;
			case tls.Alert.Description.certificate_expired: return forge.pki.certificateError.certificate_expired;
			case tls.Alert.Description.certificate_unknown: return forge.pki.certificateError.certificate_unknown;
			case tls.Alert.Description.unknown_ca: return forge.pki.certificateError.unknown_ca;
			default: return forge.pki.certificateError.bad_certificate;
		}
	};
	/**
	* Verifies a certificate chain against the given connection's
	* Certificate Authority store.
	*
	* @param c the TLS connection.
	* @param chain the certificate chain to verify, with the root or highest
	*          authority at the end.
	*
	* @return true if successful, false if not.
	*/
	tls.verifyCertificateChain = function(c, chain) {
		try {
			var options = {};
			for (var key in c.verifyOptions) {
				options[key] = c.verifyOptions[key];
			}
			options.verify = function(vfd, depth, chain) {
				var desc = _certErrorToAlertDesc(vfd);
				var ret = c.verify(c, vfd, depth, chain);
				if (ret !== true) {
					if (typeof ret === "object" && !forge.util.isArray(ret)) {
						var error = new Error("The application rejected the certificate.");
						error.send = true;
						error.alert = {
							level: tls.Alert.Level.fatal,
							description: tls.Alert.Description.bad_certificate
						};
						if (ret.message) {
							error.message = ret.message;
						}
						if (ret.alert) {
							error.alert.description = ret.alert;
						}
						throw error;
					}
					if (ret !== vfd) {
						ret = _alertDescToCertError(ret);
					}
				}
				return ret;
			};
			forge.pki.verifyCertificateChain(c.caStore, chain, options);
		} catch (ex) {
			var err = ex;
			if (typeof err !== "object" || forge.util.isArray(err)) {
				err = {
					send: true,
					alert: {
						level: tls.Alert.Level.fatal,
						description: _certErrorToAlertDesc(ex)
					}
				};
			}
			if (!("send" in err)) {
				err.send = true;
			}
			if (!("alert" in err)) {
				err.alert = {
					level: tls.Alert.Level.fatal,
					description: _certErrorToAlertDesc(err.error)
				};
			}
			c.error(c, err);
		}
		return !c.fail;
	};
	/**
	* Creates a new TLS session cache.
	*
	* @param cache optional map of session ID to cached session.
	* @param capacity the maximum size for the cache (default: 100).
	*
	* @return the new TLS session cache.
	*/
	tls.createSessionCache = function(cache, capacity) {
		var rval = null;
		if (cache && cache.getSession && cache.setSession && cache.order) {
			rval = cache;
		} else {
			rval = {};
			rval.cache = cache || {};
			rval.capacity = Math.max(capacity || 100, 1);
			rval.order = [];
			for (var key in cache) {
				if (rval.order.length <= capacity) {
					rval.order.push(key);
				} else {
					delete cache[key];
				}
			}
			rval.getSession = function(sessionId) {
				var session = null;
				var key = null;
				if (sessionId) {
					key = forge.util.bytesToHex(sessionId);
				} else if (rval.order.length > 0) {
					key = rval.order[0];
				}
				if (key !== null && key in rval.cache) {
					session = rval.cache[key];
					delete rval.cache[key];
					for (var i in rval.order) {
						if (rval.order[i] === key) {
							rval.order.splice(i, 1);
							break;
						}
					}
				}
				return session;
			};
			rval.setSession = function(sessionId, session) {
				if (rval.order.length === rval.capacity) {
					var key = rval.order.shift();
					delete rval.cache[key];
				}
				var key = forge.util.bytesToHex(sessionId);
				rval.order.push(key);
				rval.cache[key] = session;
			};
		}
		return rval;
	};
	/**
	* Creates a new TLS connection.
	*
	* See public createConnection() docs for more details.
	*
	* @param options the options for this connection.
	*
	* @return the new TLS connection.
	*/
	tls.createConnection = function(options) {
		var caStore = null;
		if (options.caStore) {
			if (forge.util.isArray(options.caStore)) {
				caStore = forge.pki.createCaStore(options.caStore);
			} else {
				caStore = options.caStore;
			}
		} else {
			caStore = forge.pki.createCaStore();
		}
		var cipherSuites = options.cipherSuites || null;
		if (cipherSuites === null) {
			cipherSuites = [];
			for (var key in tls.CipherSuites) {
				cipherSuites.push(tls.CipherSuites[key]);
			}
		}
		var entity = options.server || false ? tls.ConnectionEnd.server : tls.ConnectionEnd.client;
		var sessionCache = options.sessionCache ? tls.createSessionCache(options.sessionCache) : null;
		var c = {
			version: {
				major: tls.Version.major,
				minor: tls.Version.minor
			},
			entity,
			sessionId: options.sessionId,
			caStore,
			sessionCache,
			cipherSuites,
			connected: options.connected,
			virtualHost: options.virtualHost || null,
			verifyClient: options.verifyClient || false,
			verify: options.verify || function(cn, vfd, dpth, cts) {
				return vfd;
			},
			verifyOptions: options.verifyOptions || {},
			getCertificate: options.getCertificate || null,
			getPrivateKey: options.getPrivateKey || null,
			getSignature: options.getSignature || null,
			input: forge.util.createBuffer(),
			tlsData: forge.util.createBuffer(),
			data: forge.util.createBuffer(),
			tlsDataReady: options.tlsDataReady,
			dataReady: options.dataReady,
			heartbeatReceived: options.heartbeatReceived,
			closed: options.closed,
			error: function(c, ex) {
				ex.origin = ex.origin || (c.entity === tls.ConnectionEnd.client ? "client" : "server");
				if (ex.send) {
					tls.queue(c, tls.createAlert(c, ex.alert));
					tls.flush(c);
				}
				var fatal = ex.fatal !== false;
				if (fatal) {
					c.fail = true;
				}
				options.error(c, ex);
				if (fatal) {
					c.close(false);
				}
			},
			deflate: options.deflate || null,
			inflate: options.inflate || null
		};
		/**
		* Resets a closed TLS connection for reuse. Called in c.close().
		*
		* @param clearFail true to clear the fail flag (default: true).
		*/
		c.reset = function(clearFail) {
			c.version = {
				major: tls.Version.major,
				minor: tls.Version.minor
			};
			c.record = null;
			c.session = null;
			c.peerCertificate = null;
			c.state = {
				pending: null,
				current: null
			};
			c.expect = c.entity === tls.ConnectionEnd.client ? SHE : CHE;
			c.fragmented = null;
			c.records = [];
			c.open = false;
			c.handshakes = 0;
			c.handshaking = false;
			c.isConnected = false;
			c.fail = !(clearFail || typeof clearFail === "undefined");
			c.input.clear();
			c.tlsData.clear();
			c.data.clear();
			c.state.current = tls.createConnectionState(c);
		};
		c.reset();
		/**
		* Updates the current TLS engine state based on the given record.
		*
		* @param c the TLS connection.
		* @param record the TLS record to act on.
		*/
		var _update = function(c, record) {
			var aligned = record.type - tls.ContentType.change_cipher_spec;
			var handlers = ctTable[c.entity][c.expect];
			if (aligned in handlers) {
				handlers[aligned](c, record);
			} else {
				tls.handleUnexpected(c, record);
			}
		};
		/**
		* Reads the record header and initializes the next record on the given
		* connection.
		*
		* @param c the TLS connection with the next record.
		*
		* @return 0 if the input data could be processed, otherwise the
		*         number of bytes required for data to be processed.
		*/
		var _readRecordHeader = function(c) {
			var rval = 0;
			var b = c.input;
			var len = b.length();
			if (len < 5) {
				rval = 5 - len;
			} else {
				c.record = {
					type: b.getByte(),
					version: {
						major: b.getByte(),
						minor: b.getByte()
					},
					length: b.getInt16(),
					fragment: forge.util.createBuffer(),
					ready: false
				};
				var compatibleVersion = c.record.version.major === c.version.major;
				if (compatibleVersion && c.session && c.session.version) {
					compatibleVersion = c.record.version.minor === c.version.minor;
				}
				if (!compatibleVersion) {
					c.error(c, {
						message: "Incompatible TLS version.",
						send: true,
						alert: {
							level: tls.Alert.Level.fatal,
							description: tls.Alert.Description.protocol_version
						}
					});
				}
			}
			return rval;
		};
		/**
		* Reads the next record's contents and appends its message to any
		* previously fragmented message.
		*
		* @param c the TLS connection with the next record.
		*
		* @return 0 if the input data could be processed, otherwise the
		*         number of bytes required for data to be processed.
		*/
		var _readRecord = function(c) {
			var rval = 0;
			var b = c.input;
			var len = b.length();
			if (len < c.record.length) {
				rval = c.record.length - len;
			} else {
				c.record.fragment.putBytes(b.getBytes(c.record.length));
				b.compact();
				var s = c.state.current.read;
				if (s.update(c, c.record)) {
					if (c.fragmented !== null) {
						if (c.fragmented.type === c.record.type) {
							c.fragmented.fragment.putBuffer(c.record.fragment);
							c.record = c.fragmented;
						} else {
							c.error(c, {
								message: "Invalid fragmented record.",
								send: true,
								alert: {
									level: tls.Alert.Level.fatal,
									description: tls.Alert.Description.unexpected_message
								}
							});
						}
					}
					c.record.ready = true;
				}
			}
			return rval;
		};
		/**
		* Performs a handshake using the TLS Handshake Protocol, as a client.
		*
		* This method should only be called if the connection is in client mode.
		*
		* @param sessionId the session ID to use, null to start a new one.
		*/
		c.handshake = function(sessionId) {
			if (c.entity !== tls.ConnectionEnd.client) {
				c.error(c, {
					message: "Cannot initiate handshake as a server.",
					fatal: false
				});
			} else if (c.handshaking) {
				c.error(c, {
					message: "Handshake already in progress.",
					fatal: false
				});
			} else {
				if (c.fail && !c.open && c.handshakes === 0) {
					c.fail = false;
				}
				c.handshaking = true;
				sessionId = sessionId || "";
				var session = null;
				if (sessionId.length > 0) {
					if (c.sessionCache) {
						session = c.sessionCache.getSession(sessionId);
					}
					if (session === null) {
						sessionId = "";
					}
				}
				if (sessionId.length === 0 && c.sessionCache) {
					session = c.sessionCache.getSession();
					if (session !== null) {
						sessionId = session.id;
					}
				}
				c.session = {
					id: sessionId,
					version: null,
					cipherSuite: null,
					compressionMethod: null,
					serverCertificate: null,
					certificateRequest: null,
					clientCertificate: null,
					sp: {},
					md5: forge.md.md5.create(),
					sha1: forge.md.sha1.create()
				};
				if (session) {
					c.version = session.version;
					c.session.sp = session.sp;
				}
				c.session.sp.client_random = tls.createRandom().getBytes();
				c.open = true;
				tls.queue(c, tls.createRecord(c, {
					type: tls.ContentType.handshake,
					data: tls.createClientHello(c)
				}));
				tls.flush(c);
			}
		};
		/**
		* Called when TLS protocol data has been received from somewhere and should
		* be processed by the TLS engine.
		*
		* @param data the TLS protocol data, as a string, to process.
		*
		* @return 0 if the data could be processed, otherwise the number of bytes
		*         required for data to be processed.
		*/
		c.process = function(data) {
			var rval = 0;
			if (data) {
				c.input.putBytes(data);
			}
			if (!c.fail) {
				if (c.record !== null && c.record.ready && c.record.fragment.isEmpty()) {
					c.record = null;
				}
				if (c.record === null) {
					rval = _readRecordHeader(c);
				}
				if (!c.fail && c.record !== null && !c.record.ready) {
					rval = _readRecord(c);
				}
				if (!c.fail && c.record !== null && c.record.ready) {
					_update(c, c.record);
				}
			}
			return rval;
		};
		/**
		* Requests that application data be packaged into a TLS record. The
		* tlsDataReady handler will be called when the TLS record(s) have been
		* prepared.
		*
		* @param data the application data, as a raw 'binary' encoded string, to
		*          be sent; to send utf-16/utf-8 string data, use the return value
		*          of util.encodeUtf8(str).
		*
		* @return true on success, false on failure.
		*/
		c.prepare = function(data) {
			tls.queue(c, tls.createRecord(c, {
				type: tls.ContentType.application_data,
				data: forge.util.createBuffer(data)
			}));
			return tls.flush(c);
		};
		/**
		* Requests that a heartbeat request be packaged into a TLS record for
		* transmission. The tlsDataReady handler will be called when TLS record(s)
		* have been prepared.
		*
		* When a heartbeat response has been received, the heartbeatReceived
		* handler will be called with the matching payload. This handler can
		* be used to clear a retransmission timer, etc.
		*
		* @param payload the heartbeat data to send as the payload in the message.
		* @param [payloadLength] the payload length to use, defaults to the
		*          actual payload length.
		*
		* @return true on success, false on failure.
		*/
		c.prepareHeartbeatRequest = function(payload, payloadLength) {
			if (payload instanceof forge.util.ByteBuffer) {
				payload = payload.bytes();
			}
			if (typeof payloadLength === "undefined") {
				payloadLength = payload.length;
			}
			c.expectedHeartbeatPayload = payload;
			tls.queue(c, tls.createRecord(c, {
				type: tls.ContentType.heartbeat,
				data: tls.createHeartbeat(tls.HeartbeatMessageType.heartbeat_request, payload, payloadLength)
			}));
			return tls.flush(c);
		};
		/**
		* Closes the connection (sends a close_notify alert).
		*
		* @param clearFail true to clear the fail flag (default: true).
		*/
		c.close = function(clearFail) {
			if (!c.fail && c.sessionCache && c.session) {
				var session = {
					id: c.session.id,
					version: c.session.version,
					sp: c.session.sp
				};
				session.sp.keys = null;
				c.sessionCache.setSession(session.id, session);
			}
			if (c.open) {
				c.open = false;
				c.input.clear();
				if (c.isConnected || c.handshaking) {
					c.isConnected = c.handshaking = false;
					tls.queue(c, tls.createAlert(c, {
						level: tls.Alert.Level.warning,
						description: tls.Alert.Description.close_notify
					}));
					tls.flush(c);
				}
				c.closed(c);
			}
			c.reset(clearFail);
		};
		return c;
	};
	module.exports = forge.tls = forge.tls || {};
	for (var key in tls) {
		if (typeof tls[key] !== "function") {
			forge.tls[key] = tls[key];
		}
	}
	forge.tls.prf_tls1 = prf_TLS1;
	forge.tls.hmac_sha1 = hmac_sha1;
	forge.tls.createSessionCache = tls.createSessionCache;
	/**
	* Creates a new TLS connection. This does not make any assumptions about the
	* transport layer that TLS is working on top of, ie: it does not assume there
	* is a TCP/IP connection or establish one. A TLS connection is totally
	* abstracted away from the layer is runs on top of, it merely establishes a
	* secure channel between a client" and a "server".
	*
	* A TLS connection contains 4 connection states: pending read and write, and
	* current read and write.
	*
	* At initialization, the current read and write states will be null. Only once
	* the security parameters have been set and the keys have been generated can
	* the pending states be converted into current states. Current states will be
	* updated for each record processed.
	*
	* A custom certificate verify callback may be provided to check information
	* like the common name on the server's certificate. It will be called for
	* every certificate in the chain. It has the following signature:
	*
	* variable func(c, certs, index, preVerify)
	* Where:
	* c         The TLS connection
	* verified  Set to true if certificate was verified, otherwise the alert
	*           tls.Alert.Description for why the certificate failed.
	* depth     The current index in the chain, where 0 is the server's cert.
	* certs     The certificate chain, *NOTE* if the server was anonymous then
	*           the chain will be empty.
	*
	* The function returns true on success and on failure either the appropriate
	* tls.Alert.Description or an object with 'alert' set to the appropriate
	* tls.Alert.Description and 'message' set to a custom error message. If true
	* is not returned then the connection will abort using, in order of
	* availability, first the returned alert description, second the preVerify
	* alert description, and lastly the default 'bad_certificate'.
	*
	* There are three callbacks that can be used to make use of client-side
	* certificates where each takes the TLS connection as the first parameter:
	*
	* getCertificate(conn, hint)
	*   The second parameter is a hint as to which certificate should be
	*   returned. If the connection entity is a client, then the hint will be
	*   the CertificateRequest message from the server that is part of the
	*   TLS protocol. If the connection entity is a server, then it will be
	*   the servername list provided via an SNI extension the ClientHello, if
	*   one was provided (empty array if not). The hint can be examined to
	*   determine which certificate to use (advanced). Most implementations
	*   will just return a certificate. The return value must be a
	*   PEM-formatted certificate or an array of PEM-formatted certificates
	*   that constitute a certificate chain, with the first in the array/chain
	*   being the client's certificate.
	* getPrivateKey(conn, certificate)
	*   The second parameter is an forge.pki X.509 certificate object that
	*   is associated with the requested private key. The return value must
	*   be a PEM-formatted private key.
	* getSignature(conn, bytes, callback)
	*   This callback can be used instead of getPrivateKey if the private key
	*   is not directly accessible in javascript or should not be. For
	*   instance, a secure external web service could provide the signature
	*   in exchange for appropriate credentials. The second parameter is a
	*   string of bytes to be signed that are part of the TLS protocol. These
	*   bytes are used to verify that the private key for the previously
	*   provided client-side certificate is accessible to the client. The
	*   callback is a function that takes 2 parameters, the TLS connection
	*   and the RSA encrypted (signed) bytes as a string. This callback must
	*   be called once the signature is ready.
	*
	* @param options the options for this connection:
	*   server: true if the connection is server-side, false for client.
	*   sessionId: a session ID to reuse, null for a new connection.
	*   caStore: an array of certificates to trust.
	*   sessionCache: a session cache to use.
	*   cipherSuites: an optional array of cipher suites to use,
	*     see tls.CipherSuites.
	*   connected: function(conn) called when the first handshake completes.
	*   virtualHost: the virtual server name to use in a TLS SNI extension.
	*   verifyClient: true to require a client certificate in server mode,
	*     'optional' to request one, false not to (default: false).
	*   verify: a handler used to custom verify certificates in the chain.
	*   verifyOptions: an object with options for the certificate chain validation.
	*     See documentation of pki.verifyCertificateChain for possible options.
	*     verifyOptions.verify is ignored. If you wish to specify a verify handler
	*     use the verify key.
	*   getCertificate: an optional callback used to get a certificate or
	*     a chain of certificates (as an array).
	*   getPrivateKey: an optional callback used to get a private key.
	*   getSignature: an optional callback used to get a signature.
	*   tlsDataReady: function(conn) called when TLS protocol data has been
	*     prepared and is ready to be used (typically sent over a socket
	*     connection to its destination), read from conn.tlsData buffer.
	*   dataReady: function(conn) called when application data has
	*     been parsed from a TLS record and should be consumed by the
	*     application, read from conn.data buffer.
	*   closed: function(conn) called when the connection has been closed.
	*   error: function(conn, error) called when there was an error.
	*   deflate: function(inBytes) if provided, will deflate TLS records using
	*     the deflate algorithm if the server supports it.
	*   inflate: function(inBytes) if provided, will inflate TLS records using
	*     the deflate algorithm if the server supports it.
	*
	* @return the new TLS connection.
	*/
	forge.tls.createConnection = tls.createConnection;
}));

//#endregion
//#region ../node_modules/node-forge/lib/aesCipherSuites.js
var require_aesCipherSuites = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* A Javascript implementation of AES Cipher Suites for TLS.
	*
	* @author Dave Longley
	*
	* Copyright (c) 2009-2015 Digital Bazaar, Inc.
	*
	*/
	var forge = require_forge();
	require_aes$1();
	require_tls();
	var tls = module.exports = forge.tls;
	/**
	* Supported cipher suites.
	*/
	tls.CipherSuites["TLS_RSA_WITH_AES_128_CBC_SHA"] = {
		id: [0, 47],
		name: "TLS_RSA_WITH_AES_128_CBC_SHA",
		initSecurityParameters: function(sp) {
			sp.bulk_cipher_algorithm = tls.BulkCipherAlgorithm.aes;
			sp.cipher_type = tls.CipherType.block;
			sp.enc_key_length = 16;
			sp.block_length = 16;
			sp.fixed_iv_length = 16;
			sp.record_iv_length = 16;
			sp.mac_algorithm = tls.MACAlgorithm.hmac_sha1;
			sp.mac_length = 20;
			sp.mac_key_length = 20;
		},
		initConnectionState
	};
	tls.CipherSuites["TLS_RSA_WITH_AES_256_CBC_SHA"] = {
		id: [0, 53],
		name: "TLS_RSA_WITH_AES_256_CBC_SHA",
		initSecurityParameters: function(sp) {
			sp.bulk_cipher_algorithm = tls.BulkCipherAlgorithm.aes;
			sp.cipher_type = tls.CipherType.block;
			sp.enc_key_length = 32;
			sp.block_length = 16;
			sp.fixed_iv_length = 16;
			sp.record_iv_length = 16;
			sp.mac_algorithm = tls.MACAlgorithm.hmac_sha1;
			sp.mac_length = 20;
			sp.mac_key_length = 20;
		},
		initConnectionState
	};
	function initConnectionState(state, c, sp) {
		var client = c.entity === forge.tls.ConnectionEnd.client;
		state.read.cipherState = {
			init: false,
			cipher: forge.cipher.createDecipher("AES-CBC", client ? sp.keys.server_write_key : sp.keys.client_write_key),
			iv: client ? sp.keys.server_write_IV : sp.keys.client_write_IV
		};
		state.write.cipherState = {
			init: false,
			cipher: forge.cipher.createCipher("AES-CBC", client ? sp.keys.client_write_key : sp.keys.server_write_key),
			iv: client ? sp.keys.client_write_IV : sp.keys.server_write_IV
		};
		state.read.cipherFunction = decrypt_aes_cbc_sha1;
		state.write.cipherFunction = encrypt_aes_cbc_sha1;
		state.read.macLength = state.write.macLength = sp.mac_length;
		state.read.macFunction = state.write.macFunction = tls.hmac_sha1;
	}
	/**
	* Encrypts the TLSCompressed record into a TLSCipherText record using AES
	* in CBC mode.
	*
	* @param record the TLSCompressed record to encrypt.
	* @param s the ConnectionState to use.
	*
	* @return true on success, false on failure.
	*/
	function encrypt_aes_cbc_sha1(record, s) {
		var rval = false;
		var mac = s.macFunction(s.macKey, s.sequenceNumber, record);
		record.fragment.putBytes(mac);
		s.updateSequenceNumber();
		var iv;
		if (record.version.minor === tls.Versions.TLS_1_0.minor) {
			iv = s.cipherState.init ? null : s.cipherState.iv;
		} else {
			iv = forge.random.getBytesSync(16);
		}
		s.cipherState.init = true;
		var cipher = s.cipherState.cipher;
		cipher.start({ iv });
		if (record.version.minor >= tls.Versions.TLS_1_1.minor) {
			cipher.output.putBytes(iv);
		}
		cipher.update(record.fragment);
		if (cipher.finish(encrypt_aes_cbc_sha1_padding)) {
			record.fragment = cipher.output;
			record.length = record.fragment.length();
			rval = true;
		}
		return rval;
	}
	/**
	* Handles padding for aes_cbc_sha1 in encrypt mode.
	*
	* @param blockSize the block size.
	* @param input the input buffer.
	* @param decrypt true in decrypt mode, false in encrypt mode.
	*
	* @return true on success, false on failure.
	*/
	function encrypt_aes_cbc_sha1_padding(blockSize, input, decrypt) {
		if (!decrypt) {
			var padding = blockSize - input.length() % blockSize;
			input.fillWithByte(padding - 1, padding);
		}
		return true;
	}
	/**
	* Handles padding for aes_cbc_sha1 in decrypt mode.
	*
	* @param blockSize the block size.
	* @param output the output buffer.
	* @param decrypt true in decrypt mode, false in encrypt mode.
	*
	* @return true on success, false on failure.
	*/
	function decrypt_aes_cbc_sha1_padding(blockSize, output, decrypt) {
		var rval = true;
		if (decrypt) {
			var len = output.length();
			var paddingLength = output.last();
			for (var i = len - 1 - paddingLength; i < len - 1; ++i) {
				rval = rval && output.at(i) == paddingLength;
			}
			if (rval) {
				output.truncate(paddingLength + 1);
			}
		}
		return rval;
	}
	/**
	* Decrypts a TLSCipherText record into a TLSCompressed record using
	* AES in CBC mode.
	*
	* @param record the TLSCipherText record to decrypt.
	* @param s the ConnectionState to use.
	*
	* @return true on success, false on failure.
	*/
	function decrypt_aes_cbc_sha1(record, s) {
		var rval = false;
		var iv;
		if (record.version.minor === tls.Versions.TLS_1_0.minor) {
			iv = s.cipherState.init ? null : s.cipherState.iv;
		} else {
			iv = record.fragment.getBytes(16);
		}
		s.cipherState.init = true;
		var cipher = s.cipherState.cipher;
		cipher.start({ iv });
		cipher.update(record.fragment);
		rval = cipher.finish(decrypt_aes_cbc_sha1_padding);
		var macLen = s.macLength;
		var mac = forge.random.getBytesSync(macLen);
		var len = cipher.output.length();
		if (len >= macLen) {
			record.fragment = cipher.output.getBytes(len - macLen);
			mac = cipher.output.getBytes(macLen);
		} else {
			record.fragment = cipher.output.getBytes();
		}
		record.fragment = forge.util.createBuffer(record.fragment);
		record.length = record.fragment.length();
		var mac2 = s.macFunction(s.macKey, s.sequenceNumber, record);
		s.updateSequenceNumber();
		rval = compareMacs(s.macKey, mac, mac2) && rval;
		return rval;
	}
	/**
	* Safely compare two MACs. This function will compare two MACs in a way
	* that protects against timing attacks.
	*
	* TODO: Expose elsewhere as a utility API.
	*
	* See: https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2011/february/double-hmac-verification/
	*
	* @param key the MAC key to use.
	* @param mac1 as a binary-encoded string of bytes.
	* @param mac2 as a binary-encoded string of bytes.
	*
	* @return true if the MACs are the same, false if not.
	*/
	function compareMacs(key, mac1, mac2) {
		var hmac = forge.hmac.create();
		hmac.start("SHA1", key);
		hmac.update(mac1);
		mac1 = hmac.digest().getBytes();
		hmac.start(null, null);
		hmac.update(mac2);
		mac2 = hmac.digest().getBytes();
		return mac1 === mac2;
	}
}));

//#endregion
//#region ../node_modules/node-forge/lib/sha512.js
var require_sha512$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Secure Hash Algorithm with a 1024-bit block size implementation.
	*
	* This includes: SHA-512, SHA-384, SHA-512/224, and SHA-512/256. For
	* SHA-256 (block size 512 bits), see sha256.js.
	*
	* See FIPS 180-4 for details.
	*
	* @author Dave Longley
	*
	* Copyright (c) 2014-2015 Digital Bazaar, Inc.
	*/
	var forge = require_forge();
	require_md();
	require_util$8();
	var sha512 = module.exports = forge.sha512 = forge.sha512 || {};
	forge.md.sha512 = forge.md.algorithms.sha512 = sha512;
	var sha384 = forge.sha384 = forge.sha512.sha384 = forge.sha512.sha384 || {};
	sha384.create = function() {
		return sha512.create("SHA-384");
	};
	forge.md.sha384 = forge.md.algorithms.sha384 = sha384;
	forge.sha512.sha256 = forge.sha512.sha256 || { create: function() {
		return sha512.create("SHA-512/256");
	} };
	forge.md["sha512/256"] = forge.md.algorithms["sha512/256"] = forge.sha512.sha256;
	forge.sha512.sha224 = forge.sha512.sha224 || { create: function() {
		return sha512.create("SHA-512/224");
	} };
	forge.md["sha512/224"] = forge.md.algorithms["sha512/224"] = forge.sha512.sha224;
	/**
	* Creates a SHA-2 message digest object.
	*
	* @param algorithm the algorithm to use (SHA-512, SHA-384, SHA-512/224,
	*          SHA-512/256).
	*
	* @return a message digest object.
	*/
	sha512.create = function(algorithm) {
		if (!_initialized) {
			_init();
		}
		if (typeof algorithm === "undefined") {
			algorithm = "SHA-512";
		}
		if (!(algorithm in _states)) {
			throw new Error("Invalid SHA-512 algorithm: " + algorithm);
		}
		var _state = _states[algorithm];
		var _h = null;
		var _input = forge.util.createBuffer();
		var _w = new Array(80);
		for (var wi = 0; wi < 80; ++wi) {
			_w[wi] = new Array(2);
		}
		var digestLength = 64;
		switch (algorithm) {
			case "SHA-384":
				digestLength = 48;
				break;
			case "SHA-512/256":
				digestLength = 32;
				break;
			case "SHA-512/224":
				digestLength = 28;
				break;
		}
		var md = {
			algorithm: algorithm.replace("-", "").toLowerCase(),
			blockLength: 128,
			digestLength,
			messageLength: 0,
			fullMessageLength: null,
			messageLengthSize: 16
		};
		/**
		* Starts the digest.
		*
		* @return this digest object.
		*/
		md.start = function() {
			md.messageLength = 0;
			md.fullMessageLength = md.messageLength128 = [];
			var int32s = md.messageLengthSize / 4;
			for (var i = 0; i < int32s; ++i) {
				md.fullMessageLength.push(0);
			}
			_input = forge.util.createBuffer();
			_h = new Array(_state.length);
			for (var i = 0; i < _state.length; ++i) {
				_h[i] = _state[i].slice(0);
			}
			return md;
		};
		md.start();
		/**
		* Updates the digest with the given message input. The given input can
		* treated as raw input (no encoding will be applied) or an encoding of
		* 'utf8' maybe given to encode the input using UTF-8.
		*
		* @param msg the message input to update with.
		* @param encoding the encoding to use (default: 'raw', other: 'utf8').
		*
		* @return this digest object.
		*/
		md.update = function(msg, encoding) {
			if (encoding === "utf8") {
				msg = forge.util.encodeUtf8(msg);
			}
			var len = msg.length;
			md.messageLength += len;
			len = [len / 4294967296 >>> 0, len >>> 0];
			for (var i = md.fullMessageLength.length - 1; i >= 0; --i) {
				md.fullMessageLength[i] += len[1];
				len[1] = len[0] + (md.fullMessageLength[i] / 4294967296 >>> 0);
				md.fullMessageLength[i] = md.fullMessageLength[i] >>> 0;
				len[0] = len[1] / 4294967296 >>> 0;
			}
			_input.putBytes(msg);
			_update(_h, _w, _input);
			if (_input.read > 2048 || _input.length() === 0) {
				_input.compact();
			}
			return md;
		};
		/**
		* Produces the digest.
		*
		* @return a byte buffer containing the digest value.
		*/
		md.digest = function() {
			var finalBlock = forge.util.createBuffer();
			finalBlock.putBytes(_input.bytes());
			var remaining = md.fullMessageLength[md.fullMessageLength.length - 1] + md.messageLengthSize;
			var overflow = remaining & md.blockLength - 1;
			finalBlock.putBytes(_padding.substr(0, md.blockLength - overflow));
			var next, carry;
			var bits = md.fullMessageLength[0] * 8;
			for (var i = 0; i < md.fullMessageLength.length - 1; ++i) {
				next = md.fullMessageLength[i + 1] * 8;
				carry = next / 4294967296 >>> 0;
				bits += carry;
				finalBlock.putInt32(bits >>> 0);
				bits = next >>> 0;
			}
			finalBlock.putInt32(bits);
			var h = new Array(_h.length);
			for (var i = 0; i < _h.length; ++i) {
				h[i] = _h[i].slice(0);
			}
			_update(h, _w, finalBlock);
			var rval = forge.util.createBuffer();
			var hlen;
			if (algorithm === "SHA-512") {
				hlen = h.length;
			} else if (algorithm === "SHA-384") {
				hlen = h.length - 2;
			} else {
				hlen = h.length - 4;
			}
			for (var i = 0; i < hlen; ++i) {
				rval.putInt32(h[i][0]);
				if (i !== hlen - 1 || algorithm !== "SHA-512/224") {
					rval.putInt32(h[i][1]);
				}
			}
			return rval;
		};
		return md;
	};
	var _padding = null;
	var _initialized = false;
	var _k = null;
	var _states = null;
	/**
	* Initializes the constant tables.
	*/
	function _init() {
		_padding = String.fromCharCode(128);
		_padding += forge.util.fillString(String.fromCharCode(0), 128);
		_k = [
			[1116352408, 3609767458],
			[1899447441, 602891725],
			[3049323471, 3964484399],
			[3921009573, 2173295548],
			[961987163, 4081628472],
			[1508970993, 3053834265],
			[2453635748, 2937671579],
			[2870763221, 3664609560],
			[3624381080, 2734883394],
			[310598401, 1164996542],
			[607225278, 1323610764],
			[1426881987, 3590304994],
			[1925078388, 4068182383],
			[2162078206, 991336113],
			[2614888103, 633803317],
			[3248222580, 3479774868],
			[3835390401, 2666613458],
			[4022224774, 944711139],
			[264347078, 2341262773],
			[604807628, 2007800933],
			[770255983, 1495990901],
			[1249150122, 1856431235],
			[1555081692, 3175218132],
			[1996064986, 2198950837],
			[2554220882, 3999719339],
			[2821834349, 766784016],
			[2952996808, 2566594879],
			[3210313671, 3203337956],
			[3336571891, 1034457026],
			[3584528711, 2466948901],
			[113926993, 3758326383],
			[338241895, 168717936],
			[666307205, 1188179964],
			[773529912, 1546045734],
			[1294757372, 1522805485],
			[1396182291, 2643833823],
			[1695183700, 2343527390],
			[1986661051, 1014477480],
			[2177026350, 1206759142],
			[2456956037, 344077627],
			[2730485921, 1290863460],
			[2820302411, 3158454273],
			[3259730800, 3505952657],
			[3345764771, 106217008],
			[3516065817, 3606008344],
			[3600352804, 1432725776],
			[4094571909, 1467031594],
			[275423344, 851169720],
			[430227734, 3100823752],
			[506948616, 1363258195],
			[659060556, 3750685593],
			[883997877, 3785050280],
			[958139571, 3318307427],
			[1322822218, 3812723403],
			[1537002063, 2003034995],
			[1747873779, 3602036899],
			[1955562222, 1575990012],
			[2024104815, 1125592928],
			[2227730452, 2716904306],
			[2361852424, 442776044],
			[2428436474, 593698344],
			[2756734187, 3733110249],
			[3204031479, 2999351573],
			[3329325298, 3815920427],
			[3391569614, 3928383900],
			[3515267271, 566280711],
			[3940187606, 3454069534],
			[4118630271, 4000239992],
			[116418474, 1914138554],
			[174292421, 2731055270],
			[289380356, 3203993006],
			[460393269, 320620315],
			[685471733, 587496836],
			[852142971, 1086792851],
			[1017036298, 365543100],
			[1126000580, 2618297676],
			[1288033470, 3409855158],
			[1501505948, 4234509866],
			[1607167915, 987167468],
			[1816402316, 1246189591]
		];
		_states = {};
		_states["SHA-512"] = [
			[1779033703, 4089235720],
			[3144134277, 2227873595],
			[1013904242, 4271175723],
			[2773480762, 1595750129],
			[1359893119, 2917565137],
			[2600822924, 725511199],
			[528734635, 4215389547],
			[1541459225, 327033209]
		];
		_states["SHA-384"] = [
			[3418070365, 3238371032],
			[1654270250, 914150663],
			[2438529370, 812702999],
			[355462360, 4144912697],
			[1731405415, 4290775857],
			[2394180231, 1750603025],
			[3675008525, 1694076839],
			[1203062813, 3204075428]
		];
		_states["SHA-512/256"] = [
			[573645204, 4230739756],
			[2673172387, 3360449730],
			[596883563, 1867755857],
			[2520282905, 1497426621],
			[2519219938, 2827943907],
			[3193839141, 1401305490],
			[721525244, 746961066],
			[246885852, 2177182882]
		];
		_states["SHA-512/224"] = [
			[2352822216, 424955298],
			[1944164710, 2312950998],
			[502970286, 855612546],
			[1738396948, 1479516111],
			[258812777, 2077511080],
			[2011393907, 79989058],
			[1067287976, 1780299464],
			[286451373, 2446758561]
		];
		_initialized = true;
	}
	/**
	* Updates a SHA-512 state with the given byte buffer.
	*
	* @param s the SHA-512 state to update.
	* @param w the array to use to store words.
	* @param bytes the byte buffer to update with.
	*/
	function _update(s, w, bytes) {
		var t1_hi, t1_lo;
		var t2_hi, t2_lo;
		var s0_hi, s0_lo;
		var s1_hi, s1_lo;
		var ch_hi, ch_lo;
		var maj_hi, maj_lo;
		var a_hi, a_lo;
		var b_hi, b_lo;
		var c_hi, c_lo;
		var d_hi, d_lo;
		var e_hi, e_lo;
		var f_hi, f_lo;
		var g_hi, g_lo;
		var h_hi, h_lo;
		var i, hi, lo, w2, w7, w15, w16;
		var len = bytes.length();
		while (len >= 128) {
			for (i = 0; i < 16; ++i) {
				w[i][0] = bytes.getInt32() >>> 0;
				w[i][1] = bytes.getInt32() >>> 0;
			}
			for (; i < 80; ++i) {
				w2 = w[i - 2];
				hi = w2[0];
				lo = w2[1];
				t1_hi = ((hi >>> 19 | lo << 13) ^ (lo >>> 29 | hi << 3) ^ hi >>> 6) >>> 0;
				t1_lo = ((hi << 13 | lo >>> 19) ^ (lo << 3 | hi >>> 29) ^ (hi << 26 | lo >>> 6)) >>> 0;
				w15 = w[i - 15];
				hi = w15[0];
				lo = w15[1];
				t2_hi = ((hi >>> 1 | lo << 31) ^ (hi >>> 8 | lo << 24) ^ hi >>> 7) >>> 0;
				t2_lo = ((hi << 31 | lo >>> 1) ^ (hi << 24 | lo >>> 8) ^ (hi << 25 | lo >>> 7)) >>> 0;
				w7 = w[i - 7];
				w16 = w[i - 16];
				lo = t1_lo + w7[1] + t2_lo + w16[1];
				w[i][0] = t1_hi + w7[0] + t2_hi + w16[0] + (lo / 4294967296 >>> 0) >>> 0;
				w[i][1] = lo >>> 0;
			}
			a_hi = s[0][0];
			a_lo = s[0][1];
			b_hi = s[1][0];
			b_lo = s[1][1];
			c_hi = s[2][0];
			c_lo = s[2][1];
			d_hi = s[3][0];
			d_lo = s[3][1];
			e_hi = s[4][0];
			e_lo = s[4][1];
			f_hi = s[5][0];
			f_lo = s[5][1];
			g_hi = s[6][0];
			g_lo = s[6][1];
			h_hi = s[7][0];
			h_lo = s[7][1];
			for (i = 0; i < 80; ++i) {
				s1_hi = ((e_hi >>> 14 | e_lo << 18) ^ (e_hi >>> 18 | e_lo << 14) ^ (e_lo >>> 9 | e_hi << 23)) >>> 0;
				s1_lo = ((e_hi << 18 | e_lo >>> 14) ^ (e_hi << 14 | e_lo >>> 18) ^ (e_lo << 23 | e_hi >>> 9)) >>> 0;
				ch_hi = (g_hi ^ e_hi & (f_hi ^ g_hi)) >>> 0;
				ch_lo = (g_lo ^ e_lo & (f_lo ^ g_lo)) >>> 0;
				s0_hi = ((a_hi >>> 28 | a_lo << 4) ^ (a_lo >>> 2 | a_hi << 30) ^ (a_lo >>> 7 | a_hi << 25)) >>> 0;
				s0_lo = ((a_hi << 4 | a_lo >>> 28) ^ (a_lo << 30 | a_hi >>> 2) ^ (a_lo << 25 | a_hi >>> 7)) >>> 0;
				maj_hi = (a_hi & b_hi | c_hi & (a_hi ^ b_hi)) >>> 0;
				maj_lo = (a_lo & b_lo | c_lo & (a_lo ^ b_lo)) >>> 0;
				lo = h_lo + s1_lo + ch_lo + _k[i][1] + w[i][1];
				t1_hi = h_hi + s1_hi + ch_hi + _k[i][0] + w[i][0] + (lo / 4294967296 >>> 0) >>> 0;
				t1_lo = lo >>> 0;
				lo = s0_lo + maj_lo;
				t2_hi = s0_hi + maj_hi + (lo / 4294967296 >>> 0) >>> 0;
				t2_lo = lo >>> 0;
				h_hi = g_hi;
				h_lo = g_lo;
				g_hi = f_hi;
				g_lo = f_lo;
				f_hi = e_hi;
				f_lo = e_lo;
				lo = d_lo + t1_lo;
				e_hi = d_hi + t1_hi + (lo / 4294967296 >>> 0) >>> 0;
				e_lo = lo >>> 0;
				d_hi = c_hi;
				d_lo = c_lo;
				c_hi = b_hi;
				c_lo = b_lo;
				b_hi = a_hi;
				b_lo = a_lo;
				lo = t1_lo + t2_lo;
				a_hi = t1_hi + t2_hi + (lo / 4294967296 >>> 0) >>> 0;
				a_lo = lo >>> 0;
			}
			lo = s[0][1] + a_lo;
			s[0][0] = s[0][0] + a_hi + (lo / 4294967296 >>> 0) >>> 0;
			s[0][1] = lo >>> 0;
			lo = s[1][1] + b_lo;
			s[1][0] = s[1][0] + b_hi + (lo / 4294967296 >>> 0) >>> 0;
			s[1][1] = lo >>> 0;
			lo = s[2][1] + c_lo;
			s[2][0] = s[2][0] + c_hi + (lo / 4294967296 >>> 0) >>> 0;
			s[2][1] = lo >>> 0;
			lo = s[3][1] + d_lo;
			s[3][0] = s[3][0] + d_hi + (lo / 4294967296 >>> 0) >>> 0;
			s[3][1] = lo >>> 0;
			lo = s[4][1] + e_lo;
			s[4][0] = s[4][0] + e_hi + (lo / 4294967296 >>> 0) >>> 0;
			s[4][1] = lo >>> 0;
			lo = s[5][1] + f_lo;
			s[5][0] = s[5][0] + f_hi + (lo / 4294967296 >>> 0) >>> 0;
			s[5][1] = lo >>> 0;
			lo = s[6][1] + g_lo;
			s[6][0] = s[6][0] + g_hi + (lo / 4294967296 >>> 0) >>> 0;
			s[6][1] = lo >>> 0;
			lo = s[7][1] + h_lo;
			s[7][0] = s[7][0] + h_hi + (lo / 4294967296 >>> 0) >>> 0;
			s[7][1] = lo >>> 0;
			len -= 128;
		}
	}
}));

//#endregion
//#region ../node_modules/node-forge/lib/asn1-validator.js
var require_asn1_validator = /* @__PURE__ */ __commonJSMin(((exports) => {
	/**
	* Copyright (c) 2019 Digital Bazaar, Inc.
	*/
	var forge = require_forge();
	require_asn1();
	var asn1 = forge.asn1;
	exports.privateKeyValidator = {
		name: "PrivateKeyInfo",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		value: [
			{
				name: "PrivateKeyInfo.version",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.INTEGER,
				constructed: false,
				capture: "privateKeyVersion"
			},
			{
				name: "PrivateKeyInfo.privateKeyAlgorithm",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.SEQUENCE,
				constructed: true,
				value: [{
					name: "AlgorithmIdentifier.algorithm",
					tagClass: asn1.Class.UNIVERSAL,
					type: asn1.Type.OID,
					constructed: false,
					capture: "privateKeyOid"
				}]
			},
			{
				name: "PrivateKeyInfo",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.OCTETSTRING,
				constructed: false,
				capture: "privateKey"
			}
		]
	};
	exports.publicKeyValidator = {
		name: "SubjectPublicKeyInfo",
		tagClass: asn1.Class.UNIVERSAL,
		type: asn1.Type.SEQUENCE,
		constructed: true,
		captureAsn1: "subjectPublicKeyInfo",
		value: [{
			name: "SubjectPublicKeyInfo.AlgorithmIdentifier",
			tagClass: asn1.Class.UNIVERSAL,
			type: asn1.Type.SEQUENCE,
			constructed: true,
			value: [{
				name: "AlgorithmIdentifier.algorithm",
				tagClass: asn1.Class.UNIVERSAL,
				type: asn1.Type.OID,
				constructed: false,
				capture: "publicKeyOid"
			}]
		}, {
			tagClass: asn1.Class.UNIVERSAL,
			type: asn1.Type.BITSTRING,
			constructed: false,
			composed: true,
			captureBitStringValue: "ed25519PublicKey"
		}]
	};
}));

//#endregion
//#region ../node_modules/node-forge/lib/ed25519.js
var require_ed25519 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* JavaScript implementation of Ed25519.
	*
	* Copyright (c) 2017-2019 Digital Bazaar, Inc.
	*
	* This implementation is based on the most excellent TweetNaCl which is
	* in the public domain. Many thanks to its contributors:
	*
	* https://github.com/dchest/tweetnacl-js
	*/
	var forge = require_forge();
	require_jsbn();
	require_random();
	require_sha512$1();
	require_util$8();
	var asn1Validator = require_asn1_validator();
	var publicKeyValidator = asn1Validator.publicKeyValidator;
	var privateKeyValidator = asn1Validator.privateKeyValidator;
	if (typeof BigInteger === "undefined") {
		var BigInteger = forge.jsbn.BigInteger;
	}
	var ByteBuffer = forge.util.ByteBuffer;
	var NativeBuffer = typeof Buffer === "undefined" ? Uint8Array : Buffer;
	forge.pki = forge.pki || {};
	module.exports = forge.pki.ed25519 = forge.ed25519 = forge.ed25519 || {};
	var ed25519 = forge.ed25519;
	ed25519.constants = {};
	ed25519.constants.PUBLIC_KEY_BYTE_LENGTH = 32;
	ed25519.constants.PRIVATE_KEY_BYTE_LENGTH = 64;
	ed25519.constants.SEED_BYTE_LENGTH = 32;
	ed25519.constants.SIGN_BYTE_LENGTH = 64;
	ed25519.constants.HASH_BYTE_LENGTH = 64;
	ed25519.generateKeyPair = function(options) {
		options = options || {};
		var seed = options.seed;
		if (seed === undefined) {
			seed = forge.random.getBytesSync(ed25519.constants.SEED_BYTE_LENGTH);
		} else if (typeof seed === "string") {
			if (seed.length !== ed25519.constants.SEED_BYTE_LENGTH) {
				throw new TypeError("\"seed\" must be " + ed25519.constants.SEED_BYTE_LENGTH + " bytes in length.");
			}
		} else if (!(seed instanceof Uint8Array)) {
			throw new TypeError("\"seed\" must be a node.js Buffer, Uint8Array, or a binary string.");
		}
		seed = messageToNativeBuffer({
			message: seed,
			encoding: "binary"
		});
		var pk = new NativeBuffer(ed25519.constants.PUBLIC_KEY_BYTE_LENGTH);
		var sk = new NativeBuffer(ed25519.constants.PRIVATE_KEY_BYTE_LENGTH);
		for (var i = 0; i < 32; ++i) {
			sk[i] = seed[i];
		}
		crypto_sign_keypair(pk, sk);
		return {
			publicKey: pk,
			privateKey: sk
		};
	};
	/**
	* Converts a private key from a RFC8410 ASN.1 encoding.
	*
	* @param obj - The asn1 representation of a private key.
	*
	* @returns {Object} keyInfo - The key information.
	* @returns {Buffer|Uint8Array} keyInfo.privateKeyBytes - 32 private key bytes.
	*/
	ed25519.privateKeyFromAsn1 = function(obj) {
		var capture = {};
		var errors = [];
		var valid = forge.asn1.validate(obj, privateKeyValidator, capture, errors);
		if (!valid) {
			var error = new Error("Invalid Key.");
			error.errors = errors;
			throw error;
		}
		var oid = forge.asn1.derToOid(capture.privateKeyOid);
		var ed25519Oid = forge.oids.EdDSA25519;
		if (oid !== ed25519Oid) {
			throw new Error("Invalid OID \"" + oid + "\"; OID must be \"" + ed25519Oid + "\".");
		}
		var privateKey = capture.privateKey;
		var privateKeyBytes = messageToNativeBuffer({
			message: forge.asn1.fromDer(privateKey).value,
			encoding: "binary"
		});
		return { privateKeyBytes };
	};
	/**
	* Converts a public key from a RFC8410 ASN.1 encoding.
	*
	* @param obj - The asn1 representation of a public key.
	*
	* @return {Buffer|Uint8Array} - 32 public key bytes.
	*/
	ed25519.publicKeyFromAsn1 = function(obj) {
		var capture = {};
		var errors = [];
		var valid = forge.asn1.validate(obj, publicKeyValidator, capture, errors);
		if (!valid) {
			var error = new Error("Invalid Key.");
			error.errors = errors;
			throw error;
		}
		var oid = forge.asn1.derToOid(capture.publicKeyOid);
		var ed25519Oid = forge.oids.EdDSA25519;
		if (oid !== ed25519Oid) {
			throw new Error("Invalid OID \"" + oid + "\"; OID must be \"" + ed25519Oid + "\".");
		}
		var publicKeyBytes = capture.ed25519PublicKey;
		if (publicKeyBytes.length !== ed25519.constants.PUBLIC_KEY_BYTE_LENGTH) {
			throw new Error("Key length is invalid.");
		}
		return messageToNativeBuffer({
			message: publicKeyBytes,
			encoding: "binary"
		});
	};
	ed25519.publicKeyFromPrivateKey = function(options) {
		options = options || {};
		var privateKey = messageToNativeBuffer({
			message: options.privateKey,
			encoding: "binary"
		});
		if (privateKey.length !== ed25519.constants.PRIVATE_KEY_BYTE_LENGTH) {
			throw new TypeError("\"options.privateKey\" must have a byte length of " + ed25519.constants.PRIVATE_KEY_BYTE_LENGTH);
		}
		var pk = new NativeBuffer(ed25519.constants.PUBLIC_KEY_BYTE_LENGTH);
		for (var i = 0; i < pk.length; ++i) {
			pk[i] = privateKey[32 + i];
		}
		return pk;
	};
	ed25519.sign = function(options) {
		options = options || {};
		var msg = messageToNativeBuffer(options);
		var privateKey = messageToNativeBuffer({
			message: options.privateKey,
			encoding: "binary"
		});
		if (privateKey.length === ed25519.constants.SEED_BYTE_LENGTH) {
			var keyPair = ed25519.generateKeyPair({ seed: privateKey });
			privateKey = keyPair.privateKey;
		} else if (privateKey.length !== ed25519.constants.PRIVATE_KEY_BYTE_LENGTH) {
			throw new TypeError("\"options.privateKey\" must have a byte length of " + ed25519.constants.SEED_BYTE_LENGTH + " or " + ed25519.constants.PRIVATE_KEY_BYTE_LENGTH);
		}
		var signedMsg = new NativeBuffer(ed25519.constants.SIGN_BYTE_LENGTH + msg.length);
		crypto_sign(signedMsg, msg, msg.length, privateKey);
		var sig = new NativeBuffer(ed25519.constants.SIGN_BYTE_LENGTH);
		for (var i = 0; i < sig.length; ++i) {
			sig[i] = signedMsg[i];
		}
		return sig;
	};
	ed25519.verify = function(options) {
		options = options || {};
		var msg = messageToNativeBuffer(options);
		if (options.signature === undefined) {
			throw new TypeError("\"options.signature\" must be a node.js Buffer, a Uint8Array, a forge " + "ByteBuffer, or a binary string.");
		}
		var sig = messageToNativeBuffer({
			message: options.signature,
			encoding: "binary"
		});
		if (sig.length !== ed25519.constants.SIGN_BYTE_LENGTH) {
			throw new TypeError("\"options.signature\" must have a byte length of " + ed25519.constants.SIGN_BYTE_LENGTH);
		}
		var publicKey = messageToNativeBuffer({
			message: options.publicKey,
			encoding: "binary"
		});
		if (publicKey.length !== ed25519.constants.PUBLIC_KEY_BYTE_LENGTH) {
			throw new TypeError("\"options.publicKey\" must have a byte length of " + ed25519.constants.PUBLIC_KEY_BYTE_LENGTH);
		}
		var sm = new NativeBuffer(ed25519.constants.SIGN_BYTE_LENGTH + msg.length);
		var m = new NativeBuffer(ed25519.constants.SIGN_BYTE_LENGTH + msg.length);
		var i;
		for (i = 0; i < ed25519.constants.SIGN_BYTE_LENGTH; ++i) {
			sm[i] = sig[i];
		}
		for (i = 0; i < msg.length; ++i) {
			sm[i + ed25519.constants.SIGN_BYTE_LENGTH] = msg[i];
		}
		return crypto_sign_open(m, sm, sm.length, publicKey) >= 0;
	};
	function messageToNativeBuffer(options) {
		var message = options.message;
		if (message instanceof Uint8Array || message instanceof NativeBuffer) {
			return message;
		}
		var encoding = options.encoding;
		if (message === undefined) {
			if (options.md) {
				message = options.md.digest().getBytes();
				encoding = "binary";
			} else {
				throw new TypeError("\"options.message\" or \"options.md\" not specified.");
			}
		}
		if (typeof message === "string" && !encoding) {
			throw new TypeError("\"options.encoding\" must be \"binary\" or \"utf8\".");
		}
		if (typeof message === "string") {
			if (typeof Buffer !== "undefined") {
				return Buffer.from(message, encoding);
			}
			message = new ByteBuffer(message, encoding);
		} else if (!(message instanceof ByteBuffer)) {
			throw new TypeError("\"options.message\" must be a node.js Buffer, a Uint8Array, a forge " + "ByteBuffer, or a string with \"options.encoding\" specifying its " + "encoding.");
		}
		var buffer = new NativeBuffer(message.length());
		for (var i = 0; i < buffer.length; ++i) {
			buffer[i] = message.at(i);
		}
		return buffer;
	}
	var gf0 = gf();
	var gf1 = gf([1]);
	var D = gf([
		30883,
		4953,
		19914,
		30187,
		55467,
		16705,
		2637,
		112,
		59544,
		30585,
		16505,
		36039,
		65139,
		11119,
		27886,
		20995
	]);
	var D2 = gf([
		61785,
		9906,
		39828,
		60374,
		45398,
		33411,
		5274,
		224,
		53552,
		61171,
		33010,
		6542,
		64743,
		22239,
		55772,
		9222
	]);
	var X = gf([
		54554,
		36645,
		11616,
		51542,
		42930,
		38181,
		51040,
		26924,
		56412,
		64982,
		57905,
		49316,
		21502,
		52590,
		14035,
		8553
	]);
	var Y = gf([
		26200,
		26214,
		26214,
		26214,
		26214,
		26214,
		26214,
		26214,
		26214,
		26214,
		26214,
		26214,
		26214,
		26214,
		26214,
		26214
	]);
	var L = new Float64Array([
		237,
		211,
		245,
		92,
		26,
		99,
		18,
		88,
		214,
		156,
		247,
		162,
		222,
		249,
		222,
		20,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		16
	]);
	var I = gf([
		41136,
		18958,
		6951,
		50414,
		58488,
		44335,
		6150,
		12099,
		55207,
		15867,
		153,
		11085,
		57099,
		20417,
		9344,
		11139
	]);
	function sha512(msg, msgLen) {
		var md = forge.md.sha512.create();
		var buffer = new ByteBuffer(msg);
		md.update(buffer.getBytes(msgLen), "binary");
		var hash = md.digest().getBytes();
		if (typeof Buffer !== "undefined") {
			return Buffer.from(hash, "binary");
		}
		var out = new NativeBuffer(ed25519.constants.HASH_BYTE_LENGTH);
		for (var i = 0; i < 64; ++i) {
			out[i] = hash.charCodeAt(i);
		}
		return out;
	}
	function crypto_sign_keypair(pk, sk) {
		var p = [
			gf(),
			gf(),
			gf(),
			gf()
		];
		var i;
		var d = sha512(sk, 32);
		d[0] &= 248;
		d[31] &= 127;
		d[31] |= 64;
		scalarbase(p, d);
		pack(pk, p);
		for (i = 0; i < 32; ++i) {
			sk[i + 32] = pk[i];
		}
		return 0;
	}
	function crypto_sign(sm, m, n, sk) {
		var i, j, x = new Float64Array(64);
		var p = [
			gf(),
			gf(),
			gf(),
			gf()
		];
		var d = sha512(sk, 32);
		d[0] &= 248;
		d[31] &= 127;
		d[31] |= 64;
		var smlen = n + 64;
		for (i = 0; i < n; ++i) {
			sm[64 + i] = m[i];
		}
		for (i = 0; i < 32; ++i) {
			sm[32 + i] = d[32 + i];
		}
		var r = sha512(sm.subarray(32), n + 32);
		reduce(r);
		scalarbase(p, r);
		pack(sm, p);
		for (i = 32; i < 64; ++i) {
			sm[i] = sk[i];
		}
		var h = sha512(sm, n + 64);
		reduce(h);
		for (i = 32; i < 64; ++i) {
			x[i] = 0;
		}
		for (i = 0; i < 32; ++i) {
			x[i] = r[i];
		}
		for (i = 0; i < 32; ++i) {
			for (j = 0; j < 32; j++) {
				x[i + j] += h[i] * d[j];
			}
		}
		modL(sm.subarray(32), x);
		return smlen;
	}
	function crypto_sign_open(m, sm, n, pk) {
		var i, mlen;
		var t = new NativeBuffer(32);
		var p = [
			gf(),
			gf(),
			gf(),
			gf()
		], q = [
			gf(),
			gf(),
			gf(),
			gf()
		];
		mlen = -1;
		if (n < 64) {
			return -1;
		}
		if (unpackneg(q, pk)) {
			return -1;
		}
		for (i = 0; i < n; ++i) {
			m[i] = sm[i];
		}
		for (i = 0; i < 32; ++i) {
			m[i + 32] = pk[i];
		}
		var h = sha512(m, n);
		reduce(h);
		scalarmult(p, q, h);
		scalarbase(q, sm.subarray(32));
		add(p, q);
		pack(t, p);
		n -= 64;
		if (crypto_verify_32(sm, 0, t, 0)) {
			for (i = 0; i < n; ++i) {
				m[i] = 0;
			}
			return -1;
		}
		for (i = 0; i < n; ++i) {
			m[i] = sm[i + 64];
		}
		mlen = n;
		return mlen;
	}
	function modL(r, x) {
		var carry, i, j, k;
		for (i = 63; i >= 32; --i) {
			carry = 0;
			for (j = i - 32, k = i - 12; j < k; ++j) {
				x[j] += carry - 16 * x[i] * L[j - (i - 32)];
				carry = x[j] + 128 >> 8;
				x[j] -= carry * 256;
			}
			x[j] += carry;
			x[i] = 0;
		}
		carry = 0;
		for (j = 0; j < 32; ++j) {
			x[j] += carry - (x[31] >> 4) * L[j];
			carry = x[j] >> 8;
			x[j] &= 255;
		}
		for (j = 0; j < 32; ++j) {
			x[j] -= carry * L[j];
		}
		for (i = 0; i < 32; ++i) {
			x[i + 1] += x[i] >> 8;
			r[i] = x[i] & 255;
		}
	}
	function reduce(r) {
		var x = new Float64Array(64);
		for (var i = 0; i < 64; ++i) {
			x[i] = r[i];
			r[i] = 0;
		}
		modL(r, x);
	}
	function add(p, q) {
		var a = gf(), b = gf(), c = gf(), d = gf(), e = gf(), f = gf(), g = gf(), h = gf(), t = gf();
		Z(a, p[1], p[0]);
		Z(t, q[1], q[0]);
		M(a, a, t);
		A(b, p[0], p[1]);
		A(t, q[0], q[1]);
		M(b, b, t);
		M(c, p[3], q[3]);
		M(c, c, D2);
		M(d, p[2], q[2]);
		A(d, d, d);
		Z(e, b, a);
		Z(f, d, c);
		A(g, d, c);
		A(h, b, a);
		M(p[0], e, f);
		M(p[1], h, g);
		M(p[2], g, f);
		M(p[3], e, h);
	}
	function cswap(p, q, b) {
		for (var i = 0; i < 4; ++i) {
			sel25519(p[i], q[i], b);
		}
	}
	function pack(r, p) {
		var tx = gf(), ty = gf(), zi = gf();
		inv25519(zi, p[2]);
		M(tx, p[0], zi);
		M(ty, p[1], zi);
		pack25519(r, ty);
		r[31] ^= par25519(tx) << 7;
	}
	function pack25519(o, n) {
		var i, j, b;
		var m = gf(), t = gf();
		for (i = 0; i < 16; ++i) {
			t[i] = n[i];
		}
		car25519(t);
		car25519(t);
		car25519(t);
		for (j = 0; j < 2; ++j) {
			m[0] = t[0] - 65517;
			for (i = 1; i < 15; ++i) {
				m[i] = t[i] - 65535 - (m[i - 1] >> 16 & 1);
				m[i - 1] &= 65535;
			}
			m[15] = t[15] - 32767 - (m[14] >> 16 & 1);
			b = m[15] >> 16 & 1;
			m[14] &= 65535;
			sel25519(t, m, 1 - b);
		}
		for (i = 0; i < 16; i++) {
			o[2 * i] = t[i] & 255;
			o[2 * i + 1] = t[i] >> 8;
		}
	}
	function unpackneg(r, p) {
		var t = gf(), chk = gf(), num = gf(), den = gf(), den2 = gf(), den4 = gf(), den6 = gf();
		set25519(r[2], gf1);
		unpack25519(r[1], p);
		S(num, r[1]);
		M(den, num, D);
		Z(num, num, r[2]);
		A(den, r[2], den);
		S(den2, den);
		S(den4, den2);
		M(den6, den4, den2);
		M(t, den6, num);
		M(t, t, den);
		pow2523(t, t);
		M(t, t, num);
		M(t, t, den);
		M(t, t, den);
		M(r[0], t, den);
		S(chk, r[0]);
		M(chk, chk, den);
		if (neq25519(chk, num)) {
			M(r[0], r[0], I);
		}
		S(chk, r[0]);
		M(chk, chk, den);
		if (neq25519(chk, num)) {
			return -1;
		}
		if (par25519(r[0]) === p[31] >> 7) {
			Z(r[0], gf0, r[0]);
		}
		M(r[3], r[0], r[1]);
		return 0;
	}
	function unpack25519(o, n) {
		var i;
		for (i = 0; i < 16; ++i) {
			o[i] = n[2 * i] + (n[2 * i + 1] << 8);
		}
		o[15] &= 32767;
	}
	function pow2523(o, i) {
		var c = gf();
		var a;
		for (a = 0; a < 16; ++a) {
			c[a] = i[a];
		}
		for (a = 250; a >= 0; --a) {
			S(c, c);
			if (a !== 1) {
				M(c, c, i);
			}
		}
		for (a = 0; a < 16; ++a) {
			o[a] = c[a];
		}
	}
	function neq25519(a, b) {
		var c = new NativeBuffer(32);
		var d = new NativeBuffer(32);
		pack25519(c, a);
		pack25519(d, b);
		return crypto_verify_32(c, 0, d, 0);
	}
	function crypto_verify_32(x, xi, y, yi) {
		return vn(x, xi, y, yi, 32);
	}
	function vn(x, xi, y, yi, n) {
		var i, d = 0;
		for (i = 0; i < n; ++i) {
			d |= x[xi + i] ^ y[yi + i];
		}
		return (1 & d - 1 >>> 8) - 1;
	}
	function par25519(a) {
		var d = new NativeBuffer(32);
		pack25519(d, a);
		return d[0] & 1;
	}
	function scalarmult(p, q, s) {
		var b, i;
		set25519(p[0], gf0);
		set25519(p[1], gf1);
		set25519(p[2], gf1);
		set25519(p[3], gf0);
		for (i = 255; i >= 0; --i) {
			b = s[i / 8 | 0] >> (i & 7) & 1;
			cswap(p, q, b);
			add(q, p);
			add(p, p);
			cswap(p, q, b);
		}
	}
	function scalarbase(p, s) {
		var q = [
			gf(),
			gf(),
			gf(),
			gf()
		];
		set25519(q[0], X);
		set25519(q[1], Y);
		set25519(q[2], gf1);
		M(q[3], X, Y);
		scalarmult(p, q, s);
	}
	function set25519(r, a) {
		var i;
		for (i = 0; i < 16; i++) {
			r[i] = a[i] | 0;
		}
	}
	function inv25519(o, i) {
		var c = gf();
		var a;
		for (a = 0; a < 16; ++a) {
			c[a] = i[a];
		}
		for (a = 253; a >= 0; --a) {
			S(c, c);
			if (a !== 2 && a !== 4) {
				M(c, c, i);
			}
		}
		for (a = 0; a < 16; ++a) {
			o[a] = c[a];
		}
	}
	function car25519(o) {
		var i, v, c = 1;
		for (i = 0; i < 16; ++i) {
			v = o[i] + c + 65535;
			c = Math.floor(v / 65536);
			o[i] = v - c * 65536;
		}
		o[0] += c - 1 + 37 * (c - 1);
	}
	function sel25519(p, q, b) {
		var t, c = ~(b - 1);
		for (var i = 0; i < 16; ++i) {
			t = c & (p[i] ^ q[i]);
			p[i] ^= t;
			q[i] ^= t;
		}
	}
	function gf(init) {
		var i, r = new Float64Array(16);
		if (init) {
			for (i = 0; i < init.length; ++i) {
				r[i] = init[i];
			}
		}
		return r;
	}
	function A(o, a, b) {
		for (var i = 0; i < 16; ++i) {
			o[i] = a[i] + b[i];
		}
	}
	function Z(o, a, b) {
		for (var i = 0; i < 16; ++i) {
			o[i] = a[i] - b[i];
		}
	}
	function S(o, a) {
		M(o, a, a);
	}
	function M(o, a, b) {
		var v, c, t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0, t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0, t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0, t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0, b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3], b4 = b[4], b5 = b[5], b6 = b[6], b7 = b[7], b8 = b[8], b9 = b[9], b10 = b[10], b11 = b[11], b12 = b[12], b13 = b[13], b14 = b[14], b15 = b[15];
		v = a[0];
		t0 += v * b0;
		t1 += v * b1;
		t2 += v * b2;
		t3 += v * b3;
		t4 += v * b4;
		t5 += v * b5;
		t6 += v * b6;
		t7 += v * b7;
		t8 += v * b8;
		t9 += v * b9;
		t10 += v * b10;
		t11 += v * b11;
		t12 += v * b12;
		t13 += v * b13;
		t14 += v * b14;
		t15 += v * b15;
		v = a[1];
		t1 += v * b0;
		t2 += v * b1;
		t3 += v * b2;
		t4 += v * b3;
		t5 += v * b4;
		t6 += v * b5;
		t7 += v * b6;
		t8 += v * b7;
		t9 += v * b8;
		t10 += v * b9;
		t11 += v * b10;
		t12 += v * b11;
		t13 += v * b12;
		t14 += v * b13;
		t15 += v * b14;
		t16 += v * b15;
		v = a[2];
		t2 += v * b0;
		t3 += v * b1;
		t4 += v * b2;
		t5 += v * b3;
		t6 += v * b4;
		t7 += v * b5;
		t8 += v * b6;
		t9 += v * b7;
		t10 += v * b8;
		t11 += v * b9;
		t12 += v * b10;
		t13 += v * b11;
		t14 += v * b12;
		t15 += v * b13;
		t16 += v * b14;
		t17 += v * b15;
		v = a[3];
		t3 += v * b0;
		t4 += v * b1;
		t5 += v * b2;
		t6 += v * b3;
		t7 += v * b4;
		t8 += v * b5;
		t9 += v * b6;
		t10 += v * b7;
		t11 += v * b8;
		t12 += v * b9;
		t13 += v * b10;
		t14 += v * b11;
		t15 += v * b12;
		t16 += v * b13;
		t17 += v * b14;
		t18 += v * b15;
		v = a[4];
		t4 += v * b0;
		t5 += v * b1;
		t6 += v * b2;
		t7 += v * b3;
		t8 += v * b4;
		t9 += v * b5;
		t10 += v * b6;
		t11 += v * b7;
		t12 += v * b8;
		t13 += v * b9;
		t14 += v * b10;
		t15 += v * b11;
		t16 += v * b12;
		t17 += v * b13;
		t18 += v * b14;
		t19 += v * b15;
		v = a[5];
		t5 += v * b0;
		t6 += v * b1;
		t7 += v * b2;
		t8 += v * b3;
		t9 += v * b4;
		t10 += v * b5;
		t11 += v * b6;
		t12 += v * b7;
		t13 += v * b8;
		t14 += v * b9;
		t15 += v * b10;
		t16 += v * b11;
		t17 += v * b12;
		t18 += v * b13;
		t19 += v * b14;
		t20 += v * b15;
		v = a[6];
		t6 += v * b0;
		t7 += v * b1;
		t8 += v * b2;
		t9 += v * b3;
		t10 += v * b4;
		t11 += v * b5;
		t12 += v * b6;
		t13 += v * b7;
		t14 += v * b8;
		t15 += v * b9;
		t16 += v * b10;
		t17 += v * b11;
		t18 += v * b12;
		t19 += v * b13;
		t20 += v * b14;
		t21 += v * b15;
		v = a[7];
		t7 += v * b0;
		t8 += v * b1;
		t9 += v * b2;
		t10 += v * b3;
		t11 += v * b4;
		t12 += v * b5;
		t13 += v * b6;
		t14 += v * b7;
		t15 += v * b8;
		t16 += v * b9;
		t17 += v * b10;
		t18 += v * b11;
		t19 += v * b12;
		t20 += v * b13;
		t21 += v * b14;
		t22 += v * b15;
		v = a[8];
		t8 += v * b0;
		t9 += v * b1;
		t10 += v * b2;
		t11 += v * b3;
		t12 += v * b4;
		t13 += v * b5;
		t14 += v * b6;
		t15 += v * b7;
		t16 += v * b8;
		t17 += v * b9;
		t18 += v * b10;
		t19 += v * b11;
		t20 += v * b12;
		t21 += v * b13;
		t22 += v * b14;
		t23 += v * b15;
		v = a[9];
		t9 += v * b0;
		t10 += v * b1;
		t11 += v * b2;
		t12 += v * b3;
		t13 += v * b4;
		t14 += v * b5;
		t15 += v * b6;
		t16 += v * b7;
		t17 += v * b8;
		t18 += v * b9;
		t19 += v * b10;
		t20 += v * b11;
		t21 += v * b12;
		t22 += v * b13;
		t23 += v * b14;
		t24 += v * b15;
		v = a[10];
		t10 += v * b0;
		t11 += v * b1;
		t12 += v * b2;
		t13 += v * b3;
		t14 += v * b4;
		t15 += v * b5;
		t16 += v * b6;
		t17 += v * b7;
		t18 += v * b8;
		t19 += v * b9;
		t20 += v * b10;
		t21 += v * b11;
		t22 += v * b12;
		t23 += v * b13;
		t24 += v * b14;
		t25 += v * b15;
		v = a[11];
		t11 += v * b0;
		t12 += v * b1;
		t13 += v * b2;
		t14 += v * b3;
		t15 += v * b4;
		t16 += v * b5;
		t17 += v * b6;
		t18 += v * b7;
		t19 += v * b8;
		t20 += v * b9;
		t21 += v * b10;
		t22 += v * b11;
		t23 += v * b12;
		t24 += v * b13;
		t25 += v * b14;
		t26 += v * b15;
		v = a[12];
		t12 += v * b0;
		t13 += v * b1;
		t14 += v * b2;
		t15 += v * b3;
		t16 += v * b4;
		t17 += v * b5;
		t18 += v * b6;
		t19 += v * b7;
		t20 += v * b8;
		t21 += v * b9;
		t22 += v * b10;
		t23 += v * b11;
		t24 += v * b12;
		t25 += v * b13;
		t26 += v * b14;
		t27 += v * b15;
		v = a[13];
		t13 += v * b0;
		t14 += v * b1;
		t15 += v * b2;
		t16 += v * b3;
		t17 += v * b4;
		t18 += v * b5;
		t19 += v * b6;
		t20 += v * b7;
		t21 += v * b8;
		t22 += v * b9;
		t23 += v * b10;
		t24 += v * b11;
		t25 += v * b12;
		t26 += v * b13;
		t27 += v * b14;
		t28 += v * b15;
		v = a[14];
		t14 += v * b0;
		t15 += v * b1;
		t16 += v * b2;
		t17 += v * b3;
		t18 += v * b4;
		t19 += v * b5;
		t20 += v * b6;
		t21 += v * b7;
		t22 += v * b8;
		t23 += v * b9;
		t24 += v * b10;
		t25 += v * b11;
		t26 += v * b12;
		t27 += v * b13;
		t28 += v * b14;
		t29 += v * b15;
		v = a[15];
		t15 += v * b0;
		t16 += v * b1;
		t17 += v * b2;
		t18 += v * b3;
		t19 += v * b4;
		t20 += v * b5;
		t21 += v * b6;
		t22 += v * b7;
		t23 += v * b8;
		t24 += v * b9;
		t25 += v * b10;
		t26 += v * b11;
		t27 += v * b12;
		t28 += v * b13;
		t29 += v * b14;
		t30 += v * b15;
		t0 += 38 * t16;
		t1 += 38 * t17;
		t2 += 38 * t18;
		t3 += 38 * t19;
		t4 += 38 * t20;
		t5 += 38 * t21;
		t6 += 38 * t22;
		t7 += 38 * t23;
		t8 += 38 * t24;
		t9 += 38 * t25;
		t10 += 38 * t26;
		t11 += 38 * t27;
		t12 += 38 * t28;
		t13 += 38 * t29;
		t14 += 38 * t30;
		c = 1;
		v = t0 + c + 65535;
		c = Math.floor(v / 65536);
		t0 = v - c * 65536;
		v = t1 + c + 65535;
		c = Math.floor(v / 65536);
		t1 = v - c * 65536;
		v = t2 + c + 65535;
		c = Math.floor(v / 65536);
		t2 = v - c * 65536;
		v = t3 + c + 65535;
		c = Math.floor(v / 65536);
		t3 = v - c * 65536;
		v = t4 + c + 65535;
		c = Math.floor(v / 65536);
		t4 = v - c * 65536;
		v = t5 + c + 65535;
		c = Math.floor(v / 65536);
		t5 = v - c * 65536;
		v = t6 + c + 65535;
		c = Math.floor(v / 65536);
		t6 = v - c * 65536;
		v = t7 + c + 65535;
		c = Math.floor(v / 65536);
		t7 = v - c * 65536;
		v = t8 + c + 65535;
		c = Math.floor(v / 65536);
		t8 = v - c * 65536;
		v = t9 + c + 65535;
		c = Math.floor(v / 65536);
		t9 = v - c * 65536;
		v = t10 + c + 65535;
		c = Math.floor(v / 65536);
		t10 = v - c * 65536;
		v = t11 + c + 65535;
		c = Math.floor(v / 65536);
		t11 = v - c * 65536;
		v = t12 + c + 65535;
		c = Math.floor(v / 65536);
		t12 = v - c * 65536;
		v = t13 + c + 65535;
		c = Math.floor(v / 65536);
		t13 = v - c * 65536;
		v = t14 + c + 65535;
		c = Math.floor(v / 65536);
		t14 = v - c * 65536;
		v = t15 + c + 65535;
		c = Math.floor(v / 65536);
		t15 = v - c * 65536;
		t0 += c - 1 + 37 * (c - 1);
		c = 1;
		v = t0 + c + 65535;
		c = Math.floor(v / 65536);
		t0 = v - c * 65536;
		v = t1 + c + 65535;
		c = Math.floor(v / 65536);
		t1 = v - c * 65536;
		v = t2 + c + 65535;
		c = Math.floor(v / 65536);
		t2 = v - c * 65536;
		v = t3 + c + 65535;
		c = Math.floor(v / 65536);
		t3 = v - c * 65536;
		v = t4 + c + 65535;
		c = Math.floor(v / 65536);
		t4 = v - c * 65536;
		v = t5 + c + 65535;
		c = Math.floor(v / 65536);
		t5 = v - c * 65536;
		v = t6 + c + 65535;
		c = Math.floor(v / 65536);
		t6 = v - c * 65536;
		v = t7 + c + 65535;
		c = Math.floor(v / 65536);
		t7 = v - c * 65536;
		v = t8 + c + 65535;
		c = Math.floor(v / 65536);
		t8 = v - c * 65536;
		v = t9 + c + 65535;
		c = Math.floor(v / 65536);
		t9 = v - c * 65536;
		v = t10 + c + 65535;
		c = Math.floor(v / 65536);
		t10 = v - c * 65536;
		v = t11 + c + 65535;
		c = Math.floor(v / 65536);
		t11 = v - c * 65536;
		v = t12 + c + 65535;
		c = Math.floor(v / 65536);
		t12 = v - c * 65536;
		v = t13 + c + 65535;
		c = Math.floor(v / 65536);
		t13 = v - c * 65536;
		v = t14 + c + 65535;
		c = Math.floor(v / 65536);
		t14 = v - c * 65536;
		v = t15 + c + 65535;
		c = Math.floor(v / 65536);
		t15 = v - c * 65536;
		t0 += c - 1 + 37 * (c - 1);
		o[0] = t0;
		o[1] = t1;
		o[2] = t2;
		o[3] = t3;
		o[4] = t4;
		o[5] = t5;
		o[6] = t6;
		o[7] = t7;
		o[8] = t8;
		o[9] = t9;
		o[10] = t10;
		o[11] = t11;
		o[12] = t12;
		o[13] = t13;
		o[14] = t14;
		o[15] = t15;
	}
}));

//#endregion
//#region ../node_modules/node-forge/lib/kem.js
var require_kem = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Javascript implementation of RSA-KEM.
	*
	* @author Lautaro Cozzani Rodriguez
	* @author Dave Longley
	*
	* Copyright (c) 2014 Lautaro Cozzani <lautaro.cozzani@scytl.com>
	* Copyright (c) 2014 Digital Bazaar, Inc.
	*/
	var forge = require_forge();
	require_util$8();
	require_random();
	require_jsbn();
	module.exports = forge.kem = forge.kem || {};
	var BigInteger = forge.jsbn.BigInteger;
	/**
	* The API for the RSA Key Encapsulation Mechanism (RSA-KEM) from ISO 18033-2.
	*/
	forge.kem.rsa = {};
	/**
	* Creates an RSA KEM API object for generating a secret asymmetric key.
	*
	* The symmetric key may be generated via a call to 'encrypt', which will
	* produce a ciphertext to be transmitted to the recipient and a key to be
	* kept secret. The ciphertext is a parameter to be passed to 'decrypt' which
	* will produce the same secret key for the recipient to use to decrypt a
	* message that was encrypted with the secret key.
	*
	* @param kdf the KDF API to use (eg: new forge.kem.kdf1()).
	* @param options the options to use.
	*          [prng] a custom crypto-secure pseudo-random number generator to use,
	*            that must define "getBytesSync".
	*/
	forge.kem.rsa.create = function(kdf, options) {
		options = options || {};
		var prng = options.prng || forge.random;
		var kem = {};
		/**
		* Generates a secret key and its encapsulation.
		*
		* @param publicKey the RSA public key to encrypt with.
		* @param keyLength the length, in bytes, of the secret key to generate.
		*
		* @return an object with:
		*   encapsulation: the ciphertext for generating the secret key, as a
		*     binary-encoded string of bytes.
		*   key: the secret key to use for encrypting a message.
		*/
		kem.encrypt = function(publicKey, keyLength) {
			var byteLength = Math.ceil(publicKey.n.bitLength() / 8);
			var r;
			do {
				r = new BigInteger(forge.util.bytesToHex(prng.getBytesSync(byteLength)), 16).mod(publicKey.n);
			} while (r.compareTo(BigInteger.ONE) <= 0);
			r = forge.util.hexToBytes(r.toString(16));
			var zeros = byteLength - r.length;
			if (zeros > 0) {
				r = forge.util.fillString(String.fromCharCode(0), zeros) + r;
			}
			var encapsulation = publicKey.encrypt(r, "NONE");
			var key = kdf.generate(r, keyLength);
			return {
				encapsulation,
				key
			};
		};
		/**
		* Decrypts an encapsulated secret key.
		*
		* @param privateKey the RSA private key to decrypt with.
		* @param encapsulation the ciphertext for generating the secret key, as
		*          a binary-encoded string of bytes.
		* @param keyLength the length, in bytes, of the secret key to generate.
		*
		* @return the secret key as a binary-encoded string of bytes.
		*/
		kem.decrypt = function(privateKey, encapsulation, keyLength) {
			var r = privateKey.decrypt(encapsulation, "NONE");
			return kdf.generate(r, keyLength);
		};
		return kem;
	};
	/**
	* Creates a key derivation API object that implements KDF1 per ISO 18033-2.
	*
	* @param md the hash API to use.
	* @param [digestLength] an optional digest length that must be positive and
	*          less than or equal to md.digestLength.
	*
	* @return a KDF1 API object.
	*/
	forge.kem.kdf1 = function(md, digestLength) {
		_createKDF(this, md, 0, digestLength || md.digestLength);
	};
	/**
	* Creates a key derivation API object that implements KDF2 per ISO 18033-2.
	*
	* @param md the hash API to use.
	* @param [digestLength] an optional digest length that must be positive and
	*          less than or equal to md.digestLength.
	*
	* @return a KDF2 API object.
	*/
	forge.kem.kdf2 = function(md, digestLength) {
		_createKDF(this, md, 1, digestLength || md.digestLength);
	};
	/**
	* Creates a KDF1 or KDF2 API object.
	*
	* @param md the hash API to use.
	* @param counterStart the starting index for the counter.
	* @param digestLength the digest length to use.
	*
	* @return the KDF API object.
	*/
	function _createKDF(kdf, md, counterStart, digestLength) {
		/**
		* Generate a key of the specified length.
		*
		* @param x the binary-encoded byte string to generate a key from.
		* @param length the number of bytes to generate (the size of the key).
		*
		* @return the key as a binary-encoded string.
		*/
		kdf.generate = function(x, length) {
			var key = new forge.util.ByteBuffer();
			var k = Math.ceil(length / digestLength) + counterStart;
			var c = new forge.util.ByteBuffer();
			for (var i = counterStart; i < k; ++i) {
				c.putInt32(i);
				md.start();
				md.update(x + c.getBytes());
				var hash = md.digest();
				key.putBytes(hash.getBytes(digestLength));
			}
			key.truncate(key.length() - length);
			return key.getBytes();
		};
	}
}));

//#endregion
//#region ../node_modules/node-forge/lib/log.js
var require_log = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Cross-browser support for logging in a web application.
	*
	* @author David I. Lehn <dlehn@digitalbazaar.com>
	*
	* Copyright (c) 2008-2013 Digital Bazaar, Inc.
	*/
	var forge = require_forge();
	require_util$8();
	module.exports = forge.log = forge.log || {};
	/**
	* Application logging system.
	*
	* Each logger level available as it's own function of the form:
	*   forge.log.level(category, args...)
	* The category is an arbitrary string, and the args are the same as
	* Firebug's console.log API. By default the call will be output as:
	*   'LEVEL [category] <args[0]>, args[1], ...'
	* This enables proper % formatting via the first argument.
	* Each category is enabled by default but can be enabled or disabled with
	* the setCategoryEnabled() function.
	*/
	forge.log.levels = [
		"none",
		"error",
		"warning",
		"info",
		"debug",
		"verbose",
		"max"
	];
	var sLevelInfo = {};
	var sLoggers = [];
	/**
	* Standard console logger. If no console support is enabled this will
	* remain null. Check before using.
	*/
	var sConsoleLogger = null;
	/**
	* Lock the level at the current value. Used in cases where user config may
	* set the level such that only critical messages are seen but more verbose
	* messages are needed for debugging or other purposes.
	*/
	forge.log.LEVEL_LOCKED = 1 << 1;
	/**
	* Always call log function. By default, the logging system will check the
	* message level against logger.level before calling the log function. This
	* flag allows the function to do its own check.
	*/
	forge.log.NO_LEVEL_CHECK = 1 << 2;
	/**
	* Perform message interpolation with the passed arguments. "%" style
	* fields in log messages will be replaced by arguments as needed. Some
	* loggers, such as Firebug, may do this automatically. The original log
	* message will be available as 'message' and the interpolated version will
	* be available as 'fullMessage'.
	*/
	forge.log.INTERPOLATE = 1 << 3;
	for (var i = 0; i < forge.log.levels.length; ++i) {
		var level = forge.log.levels[i];
		sLevelInfo[level] = {
			index: i,
			name: level.toUpperCase()
		};
	}
	/**
	* Message logger. Will dispatch a message to registered loggers as needed.
	*
	* @param message message object
	*/
	forge.log.logMessage = function(message) {
		var messageLevelIndex = sLevelInfo[message.level].index;
		for (var i = 0; i < sLoggers.length; ++i) {
			var logger = sLoggers[i];
			if (logger.flags & forge.log.NO_LEVEL_CHECK) {
				logger.f(message);
			} else {
				var loggerLevelIndex = sLevelInfo[logger.level].index;
				if (messageLevelIndex <= loggerLevelIndex) {
					logger.f(logger, message);
				}
			}
		}
	};
	/**
	* Sets the 'standard' key on a message object to:
	* "LEVEL [category] " + message
	*
	* @param message a message log object
	*/
	forge.log.prepareStandard = function(message) {
		if (!("standard" in message)) {
			message.standard = sLevelInfo[message.level].name + " [" + message.category + "] " + message.message;
		}
	};
	/**
	* Sets the 'full' key on a message object to the original message
	* interpolated via % formatting with the message arguments.
	*
	* @param message a message log object.
	*/
	forge.log.prepareFull = function(message) {
		if (!("full" in message)) {
			var args = [message.message];
			args = args.concat([] || message["arguments"]);
			message.full = forge.util.format.apply(this, args);
		}
	};
	/**
	* Applies both preparseStandard() and prepareFull() to a message object and
	* store result in 'standardFull'.
	*
	* @param message a message log object.
	*/
	forge.log.prepareStandardFull = function(message) {
		if (!("standardFull" in message)) {
			forge.log.prepareStandard(message);
			message.standardFull = message.standard;
		}
	};
	if (true) {
		var levels = [
			"error",
			"warning",
			"info",
			"debug",
			"verbose"
		];
		for (var i = 0; i < levels.length; ++i) {
			(function(level) {
				forge.log[level] = function(category, message) {
					var args = Array.prototype.slice.call(arguments).slice(2);
					var msg = {
						timestamp: new Date(),
						level,
						category,
						message,
						"arguments": args
					};
					forge.log.logMessage(msg);
				};
			})(levels[i]);
		}
	}
	/**
	* Creates a new logger with specified custom logging function.
	*
	* The logging function has a signature of:
	*   function(logger, message)
	* logger: current logger
	* message: object:
	*   level: level id
	*   category: category
	*   message: string message
	*   arguments: Array of extra arguments
	*   fullMessage: interpolated message and arguments if INTERPOLATE flag set
	*
	* @param logFunction a logging function which takes a log message object
	*          as a parameter.
	*
	* @return a logger object.
	*/
	forge.log.makeLogger = function(logFunction) {
		var logger = {
			flags: 0,
			f: logFunction
		};
		forge.log.setLevel(logger, "none");
		return logger;
	};
	/**
	* Sets the current log level on a logger.
	*
	* @param logger the target logger.
	* @param level the new maximum log level as a string.
	*
	* @return true if set, false if not.
	*/
	forge.log.setLevel = function(logger, level) {
		var rval = false;
		if (logger && !(logger.flags & forge.log.LEVEL_LOCKED)) {
			for (var i = 0; i < forge.log.levels.length; ++i) {
				var aValidLevel = forge.log.levels[i];
				if (level == aValidLevel) {
					logger.level = level;
					rval = true;
					break;
				}
			}
		}
		return rval;
	};
	/**
	* Locks the log level at its current value.
	*
	* @param logger the target logger.
	* @param lock boolean lock value, default to true.
	*/
	forge.log.lock = function(logger, lock) {
		if (typeof lock === "undefined" || lock) {
			logger.flags |= forge.log.LEVEL_LOCKED;
		} else {
			logger.flags &= ~forge.log.LEVEL_LOCKED;
		}
	};
	/**
	* Adds a logger.
	*
	* @param logger the logger object.
	*/
	forge.log.addLogger = function(logger) {
		sLoggers.push(logger);
	};
	if (typeof console !== "undefined" && "log" in console) {
		var logger;
		if (console.error && console.warn && console.info && console.debug) {
			var levelHandlers = {
				error: console.error,
				warning: console.warn,
				info: console.info,
				debug: console.debug,
				verbose: console.debug
			};
			var f = function(logger, message) {
				forge.log.prepareStandard(message);
				var handler = levelHandlers[message.level];
				var args = [message.standard];
				args = args.concat(message["arguments"].slice());
				handler.apply(console, args);
			};
			logger = forge.log.makeLogger(f);
		} else {
			var f = function(logger, message) {
				forge.log.prepareStandardFull(message);
				console.log(message.standardFull);
			};
			logger = forge.log.makeLogger(f);
		}
		forge.log.setLevel(logger, "debug");
		forge.log.addLogger(logger);
		sConsoleLogger = logger;
	} else {
		console = { log: function() {} };
	}
	if (sConsoleLogger !== null && typeof window !== "undefined" && window.location) {
		var query = new URL(window.location.href).searchParams;
		if (query.has("console.level")) {
			forge.log.setLevel(sConsoleLogger, query.get("console.level").slice(-1)[0]);
		}
		if (query.has("console.lock")) {
			var lock = query.get("console.lock").slice(-1)[0];
			if (lock == "true") {
				forge.log.lock(sConsoleLogger);
			}
		}
	}
	forge.log.consoleLogger = sConsoleLogger;
}));

//#endregion
//#region ../node_modules/node-forge/lib/md.all.js
var require_md_all = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Node.js module for all known Forge message digests.
	*
	* @author Dave Longley
	*
	* Copyright 2011-2017 Digital Bazaar, Inc.
	*/
	module.exports = require_md();
	require_md5$1();
	require_sha1$1();
	require_sha256$1();
	require_sha512$1();
}));

//#endregion
//#region ../node_modules/node-forge/lib/pkcs7.js
var require_pkcs7 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Javascript implementation of PKCS#7 v1.5.
	*
	* @author Stefan Siegl
	* @author Dave Longley
	*
	* Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
	* Copyright (c) 2012-2015 Digital Bazaar, Inc.
	*
	* Currently this implementation only supports ContentType of EnvelopedData,
	* EncryptedData, or SignedData at the root level. The top level elements may
	* contain only a ContentInfo of ContentType Data, i.e. plain data. Further
	* nesting is not (yet) supported.
	*
	* The Forge validators for PKCS #7's ASN.1 structures are available from
	* a separate file pkcs7asn1.js, since those are referenced from other
	* PKCS standards like PKCS #12.
	*/
	var forge = require_forge();
	require_aes$1();
	require_asn1();
	require_des();
	require_oids();
	require_pem();
	require_pkcs7asn1();
	require_random();
	require_util$8();
	require_x509();
	var asn1 = forge.asn1;
	var p7 = module.exports = forge.pkcs7 = forge.pkcs7 || {};
	/**
	* Converts a PKCS#7 message from PEM format.
	*
	* @param pem the PEM-formatted PKCS#7 message.
	*
	* @return the PKCS#7 message.
	*/
	p7.messageFromPem = function(pem) {
		var msg = forge.pem.decode(pem)[0];
		if (msg.type !== "PKCS7") {
			var error = new Error("Could not convert PKCS#7 message from PEM; PEM " + "header type is not \"PKCS#7\".");
			error.headerType = msg.type;
			throw error;
		}
		if (msg.procType && msg.procType.type === "ENCRYPTED") {
			throw new Error("Could not convert PKCS#7 message from PEM; PEM is encrypted.");
		}
		var obj = asn1.fromDer(msg.body);
		return p7.messageFromAsn1(obj);
	};
	/**
	* Converts a PKCS#7 message to PEM format.
	*
	* @param msg The PKCS#7 message object
	* @param maxline The maximum characters per line, defaults to 64.
	*
	* @return The PEM-formatted PKCS#7 message.
	*/
	p7.messageToPem = function(msg, maxline) {
		var pemObj = {
			type: "PKCS7",
			body: asn1.toDer(msg.toAsn1()).getBytes()
		};
		return forge.pem.encode(pemObj, { maxline });
	};
	/**
	* Converts a PKCS#7 message from an ASN.1 object.
	*
	* @param obj the ASN.1 representation of a ContentInfo.
	*
	* @return the PKCS#7 message.
	*/
	p7.messageFromAsn1 = function(obj) {
		var capture = {};
		var errors = [];
		if (!asn1.validate(obj, p7.asn1.contentInfoValidator, capture, errors)) {
			var error = new Error("Cannot read PKCS#7 message. " + "ASN.1 object is not an PKCS#7 ContentInfo.");
			error.errors = errors;
			throw error;
		}
		var contentType = asn1.derToOid(capture.contentType);
		var msg;
		switch (contentType) {
			case forge.pki.oids.envelopedData:
				msg = p7.createEnvelopedData();
				break;
			case forge.pki.oids.encryptedData:
				msg = p7.createEncryptedData();
				break;
			case forge.pki.oids.signedData:
				msg = p7.createSignedData();
				break;
			default: throw new Error("Cannot read PKCS#7 message. ContentType with OID " + contentType + " is not (yet) supported.");
		}
		msg.fromAsn1(capture.content.value[0]);
		return msg;
	};
	p7.createSignedData = function() {
		var msg = null;
		msg = {
			type: forge.pki.oids.signedData,
			version: 1,
			certificates: [],
			crls: [],
			signers: [],
			digestAlgorithmIdentifiers: [],
			contentInfo: null,
			signerInfos: [],
			fromAsn1: function(obj) {
				_fromAsn1(msg, obj, p7.asn1.signedDataValidator);
				msg.certificates = [];
				msg.crls = [];
				msg.digestAlgorithmIdentifiers = [];
				msg.contentInfo = null;
				msg.signerInfos = [];
				if (msg.rawCapture.certificates) {
					var certs = msg.rawCapture.certificates.value;
					for (var i = 0; i < certs.length; ++i) {
						msg.certificates.push(forge.pki.certificateFromAsn1(certs[i]));
					}
				}
			},
			toAsn1: function() {
				if (!msg.contentInfo) {
					msg.sign();
				}
				var certs = [];
				for (var i = 0; i < msg.certificates.length; ++i) {
					certs.push(forge.pki.certificateToAsn1(msg.certificates[i]));
				}
				var crls = [];
				var signedData = asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
					asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, asn1.integerToDer(msg.version).getBytes()),
					asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SET, true, msg.digestAlgorithmIdentifiers),
					msg.contentInfo
				])]);
				if (certs.length > 0) {
					signedData.value[0].value.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, certs));
				}
				if (crls.length > 0) {
					signedData.value[0].value.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC, 1, true, crls));
				}
				signedData.value[0].value.push(asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SET, true, msg.signerInfos));
				return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(msg.type).getBytes()), signedData]);
			},
			addSigner: function(signer) {
				var issuer = signer.issuer;
				var serialNumber = signer.serialNumber;
				if (signer.certificate) {
					var cert = signer.certificate;
					if (typeof cert === "string") {
						cert = forge.pki.certificateFromPem(cert);
					}
					issuer = cert.issuer.attributes;
					serialNumber = cert.serialNumber;
				}
				var key = signer.key;
				if (!key) {
					throw new Error("Could not add PKCS#7 signer; no private key specified.");
				}
				if (typeof key === "string") {
					key = forge.pki.privateKeyFromPem(key);
				}
				var digestAlgorithm = signer.digestAlgorithm || forge.pki.oids.sha1;
				switch (digestAlgorithm) {
					case forge.pki.oids.sha1:
					case forge.pki.oids.sha256:
					case forge.pki.oids.sha384:
					case forge.pki.oids.sha512:
					case forge.pki.oids.md5: break;
					default: throw new Error("Could not add PKCS#7 signer; unknown message digest algorithm: " + digestAlgorithm);
				}
				var authenticatedAttributes = signer.authenticatedAttributes || [];
				if (authenticatedAttributes.length > 0) {
					var contentType = false;
					var messageDigest = false;
					for (var i = 0; i < authenticatedAttributes.length; ++i) {
						var attr = authenticatedAttributes[i];
						if (!contentType && attr.type === forge.pki.oids.contentType) {
							contentType = true;
							if (messageDigest) {
								break;
							}
							continue;
						}
						if (!messageDigest && attr.type === forge.pki.oids.messageDigest) {
							messageDigest = true;
							if (contentType) {
								break;
							}
							continue;
						}
					}
					if (!contentType || !messageDigest) {
						throw new Error("Invalid signer.authenticatedAttributes. If " + "signer.authenticatedAttributes is specified, then it must " + "contain at least two attributes, PKCS #9 content-type and " + "PKCS #9 message-digest.");
					}
				}
				msg.signers.push({
					key,
					version: 1,
					issuer,
					serialNumber,
					digestAlgorithm,
					signatureAlgorithm: forge.pki.oids.rsaEncryption,
					signature: null,
					authenticatedAttributes,
					unauthenticatedAttributes: []
				});
			},
			sign: function(options) {
				options = options || {};
				if (typeof msg.content !== "object" || msg.contentInfo === null) {
					msg.contentInfo = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(forge.pki.oids.data).getBytes())]);
					if ("content" in msg) {
						var content;
						if (msg.content instanceof forge.util.ByteBuffer) {
							content = msg.content.bytes();
						} else if (typeof msg.content === "string") {
							content = forge.util.encodeUtf8(msg.content);
						}
						if (options.detached) {
							msg.detachedContent = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, content);
						} else {
							msg.contentInfo.value.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, content)]));
						}
					}
				}
				if (msg.signers.length === 0) {
					return;
				}
				var mds = addDigestAlgorithmIds();
				addSignerInfos(mds);
			},
			verify: function() {
				throw new Error("PKCS#7 signature verification not yet implemented.");
			},
			addCertificate: function(cert) {
				if (typeof cert === "string") {
					cert = forge.pki.certificateFromPem(cert);
				}
				msg.certificates.push(cert);
			},
			addCertificateRevokationList: function(crl) {
				throw new Error("PKCS#7 CRL support not yet implemented.");
			}
		};
		return msg;
		function addDigestAlgorithmIds() {
			var mds = {};
			for (var i = 0; i < msg.signers.length; ++i) {
				var signer = msg.signers[i];
				var oid = signer.digestAlgorithm;
				if (!(oid in mds)) {
					mds[oid] = forge.md[forge.pki.oids[oid]].create();
				}
				if (signer.authenticatedAttributes.length === 0) {
					signer.md = mds[oid];
				} else {
					signer.md = forge.md[forge.pki.oids[oid]].create();
				}
			}
			msg.digestAlgorithmIdentifiers = [];
			for (var oid in mds) {
				msg.digestAlgorithmIdentifiers.push(asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(oid).getBytes()), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, "")]));
			}
			return mds;
		}
		function addSignerInfos(mds) {
			var content;
			if (msg.detachedContent) {
				content = msg.detachedContent;
			} else {
				content = msg.contentInfo.value[1];
				content = content.value[0];
			}
			if (!content) {
				throw new Error("Could not sign PKCS#7 message; there is no content to sign.");
			}
			var contentType = asn1.derToOid(msg.contentInfo.value[0].value);
			var bytes = asn1.toDer(content);
			bytes.getByte();
			asn1.getBerValueLength(bytes);
			bytes = bytes.getBytes();
			for (var oid in mds) {
				mds[oid].start().update(bytes);
			}
			var signingTime = new Date();
			for (var i = 0; i < msg.signers.length; ++i) {
				var signer = msg.signers[i];
				if (signer.authenticatedAttributes.length === 0) {
					if (contentType !== forge.pki.oids.data) {
						throw new Error("Invalid signer; authenticatedAttributes must be present " + "when the ContentInfo content type is not PKCS#7 Data.");
					}
				} else {
					signer.authenticatedAttributesAsn1 = asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, []);
					var attrsAsn1 = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SET, true, []);
					for (var ai = 0; ai < signer.authenticatedAttributes.length; ++ai) {
						var attr = signer.authenticatedAttributes[ai];
						if (attr.type === forge.pki.oids.messageDigest) {
							attr.value = mds[signer.digestAlgorithm].digest();
						} else if (attr.type === forge.pki.oids.signingTime) {
							if (!attr.value) {
								attr.value = signingTime;
							}
						}
						attrsAsn1.value.push(_attributeToAsn1(attr));
						signer.authenticatedAttributesAsn1.value.push(_attributeToAsn1(attr));
					}
					bytes = asn1.toDer(attrsAsn1).getBytes();
					signer.md.start().update(bytes);
				}
				signer.signature = signer.key.sign(signer.md, "RSASSA-PKCS1-V1_5");
			}
			msg.signerInfos = _signersToAsn1(msg.signers);
		}
	};
	/**
	* Creates an empty PKCS#7 message of type EncryptedData.
	*
	* @return the message.
	*/
	p7.createEncryptedData = function() {
		var msg = null;
		msg = {
			type: forge.pki.oids.encryptedData,
			version: 0,
			encryptedContent: { algorithm: forge.pki.oids["aes256-CBC"] },
			fromAsn1: function(obj) {
				_fromAsn1(msg, obj, p7.asn1.encryptedDataValidator);
			},
			decrypt: function(key) {
				if (key !== undefined) {
					msg.encryptedContent.key = key;
				}
				_decryptContent(msg);
			}
		};
		return msg;
	};
	/**
	* Creates an empty PKCS#7 message of type EnvelopedData.
	*
	* @return the message.
	*/
	p7.createEnvelopedData = function() {
		var msg = null;
		msg = {
			type: forge.pki.oids.envelopedData,
			version: 0,
			recipients: [],
			encryptedContent: { algorithm: forge.pki.oids["aes256-CBC"] },
			fromAsn1: function(obj) {
				var capture = _fromAsn1(msg, obj, p7.asn1.envelopedDataValidator);
				msg.recipients = _recipientsFromAsn1(capture.recipientInfos.value);
			},
			toAsn1: function() {
				return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(msg.type).getBytes()), asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
					asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, asn1.integerToDer(msg.version).getBytes()),
					asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SET, true, _recipientsToAsn1(msg.recipients)),
					asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, _encryptedContentToAsn1(msg.encryptedContent))
				])])]);
			},
			findRecipient: function(cert) {
				var sAttr = cert.issuer.attributes;
				for (var i = 0; i < msg.recipients.length; ++i) {
					var r = msg.recipients[i];
					var rAttr = r.issuer;
					if (r.serialNumber !== cert.serialNumber) {
						continue;
					}
					if (rAttr.length !== sAttr.length) {
						continue;
					}
					var match = true;
					for (var j = 0; j < sAttr.length; ++j) {
						if (rAttr[j].type !== sAttr[j].type || rAttr[j].value !== sAttr[j].value) {
							match = false;
							break;
						}
					}
					if (match) {
						return r;
					}
				}
				return null;
			},
			decrypt: function(recipient, privKey) {
				if (msg.encryptedContent.key === undefined && recipient !== undefined && privKey !== undefined) {
					switch (recipient.encryptedContent.algorithm) {
						case forge.pki.oids.rsaEncryption:
						case forge.pki.oids.desCBC:
							var key = privKey.decrypt(recipient.encryptedContent.content);
							msg.encryptedContent.key = forge.util.createBuffer(key);
							break;
						default: throw new Error("Unsupported asymmetric cipher, " + "OID " + recipient.encryptedContent.algorithm);
					}
				}
				_decryptContent(msg);
			},
			addRecipient: function(cert) {
				msg.recipients.push({
					version: 0,
					issuer: cert.issuer.attributes,
					serialNumber: cert.serialNumber,
					encryptedContent: {
						algorithm: forge.pki.oids.rsaEncryption,
						key: cert.publicKey
					}
				});
			},
			encrypt: function(key, cipher) {
				if (msg.encryptedContent.content === undefined) {
					cipher = cipher || msg.encryptedContent.algorithm;
					key = key || msg.encryptedContent.key;
					var keyLen, ivLen, ciphFn;
					switch (cipher) {
						case forge.pki.oids["aes128-CBC"]:
							keyLen = 16;
							ivLen = 16;
							ciphFn = forge.aes.createEncryptionCipher;
							break;
						case forge.pki.oids["aes192-CBC"]:
							keyLen = 24;
							ivLen = 16;
							ciphFn = forge.aes.createEncryptionCipher;
							break;
						case forge.pki.oids["aes256-CBC"]:
							keyLen = 32;
							ivLen = 16;
							ciphFn = forge.aes.createEncryptionCipher;
							break;
						case forge.pki.oids["des-EDE3-CBC"]:
							keyLen = 24;
							ivLen = 8;
							ciphFn = forge.des.createEncryptionCipher;
							break;
						default: throw new Error("Unsupported symmetric cipher, OID " + cipher);
					}
					if (key === undefined) {
						key = forge.util.createBuffer(forge.random.getBytes(keyLen));
					} else if (key.length() != keyLen) {
						throw new Error("Symmetric key has wrong length; " + "got " + key.length() + " bytes, expected " + keyLen + ".");
					}
					msg.encryptedContent.algorithm = cipher;
					msg.encryptedContent.key = key;
					msg.encryptedContent.parameter = forge.util.createBuffer(forge.random.getBytes(ivLen));
					var ciph = ciphFn(key);
					ciph.start(msg.encryptedContent.parameter.copy());
					ciph.update(msg.content);
					if (!ciph.finish()) {
						throw new Error("Symmetric encryption failed.");
					}
					msg.encryptedContent.content = ciph.output;
				}
				for (var i = 0; i < msg.recipients.length; ++i) {
					var recipient = msg.recipients[i];
					if (recipient.encryptedContent.content !== undefined) {
						continue;
					}
					switch (recipient.encryptedContent.algorithm) {
						case forge.pki.oids.rsaEncryption:
							recipient.encryptedContent.content = recipient.encryptedContent.key.encrypt(msg.encryptedContent.key.data);
							break;
						default: throw new Error("Unsupported asymmetric cipher, OID " + recipient.encryptedContent.algorithm);
					}
				}
			}
		};
		return msg;
	};
	/**
	* Converts a single recipient from an ASN.1 object.
	*
	* @param obj the ASN.1 RecipientInfo.
	*
	* @return the recipient object.
	*/
	function _recipientFromAsn1(obj) {
		var capture = {};
		var errors = [];
		if (!asn1.validate(obj, p7.asn1.recipientInfoValidator, capture, errors)) {
			var error = new Error("Cannot read PKCS#7 RecipientInfo. " + "ASN.1 object is not an PKCS#7 RecipientInfo.");
			error.errors = errors;
			throw error;
		}
		return {
			version: capture.version.charCodeAt(0),
			issuer: forge.pki.RDNAttributesAsArray(capture.issuer),
			serialNumber: forge.util.createBuffer(capture.serial).toHex(),
			encryptedContent: {
				algorithm: asn1.derToOid(capture.encAlgorithm),
				parameter: capture.encParameter ? capture.encParameter.value : undefined,
				content: capture.encKey
			}
		};
	}
	/**
	* Converts a single recipient object to an ASN.1 object.
	*
	* @param obj the recipient object.
	*
	* @return the ASN.1 RecipientInfo.
	*/
	function _recipientToAsn1(obj) {
		return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, asn1.integerToDer(obj.version).getBytes()),
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [forge.pki.distinguishedNameToAsn1({ attributes: obj.issuer }), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, forge.util.hexToBytes(obj.serialNumber))]),
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(obj.encryptedContent.algorithm).getBytes()), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, "")]),
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, obj.encryptedContent.content)
		]);
	}
	/**
	* Map a set of RecipientInfo ASN.1 objects to recipient objects.
	*
	* @param infos an array of ASN.1 representations RecipientInfo (i.e. SET OF).
	*
	* @return an array of recipient objects.
	*/
	function _recipientsFromAsn1(infos) {
		var ret = [];
		for (var i = 0; i < infos.length; ++i) {
			ret.push(_recipientFromAsn1(infos[i]));
		}
		return ret;
	}
	/**
	* Map an array of recipient objects to ASN.1 RecipientInfo objects.
	*
	* @param recipients an array of recipientInfo objects.
	*
	* @return an array of ASN.1 RecipientInfos.
	*/
	function _recipientsToAsn1(recipients) {
		var ret = [];
		for (var i = 0; i < recipients.length; ++i) {
			ret.push(_recipientToAsn1(recipients[i]));
		}
		return ret;
	}
	/**
	* Converts a single signer from an ASN.1 object.
	*
	* @param obj the ASN.1 representation of a SignerInfo.
	*
	* @return the signer object.
	*/
	function _signerFromAsn1(obj) {
		var capture = {};
		var errors = [];
		if (!asn1.validate(obj, p7.asn1.signerInfoValidator, capture, errors)) {
			var error = new Error("Cannot read PKCS#7 SignerInfo. " + "ASN.1 object is not an PKCS#7 SignerInfo.");
			error.errors = errors;
			throw error;
		}
		var rval = {
			version: capture.version.charCodeAt(0),
			issuer: forge.pki.RDNAttributesAsArray(capture.issuer),
			serialNumber: forge.util.createBuffer(capture.serial).toHex(),
			digestAlgorithm: asn1.derToOid(capture.digestAlgorithm),
			signatureAlgorithm: asn1.derToOid(capture.signatureAlgorithm),
			signature: capture.signature,
			authenticatedAttributes: [],
			unauthenticatedAttributes: []
		};
		var authenticatedAttributes = capture.authenticatedAttributes || [];
		var unauthenticatedAttributes = capture.unauthenticatedAttributes || [];
		return rval;
	}
	/**
	* Converts a single signerInfo object to an ASN.1 object.
	*
	* @param obj the signerInfo object.
	*
	* @return the ASN.1 representation of a SignerInfo.
	*/
	function _signerToAsn1(obj) {
		var rval = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, asn1.integerToDer(obj.version).getBytes()),
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [forge.pki.distinguishedNameToAsn1({ attributes: obj.issuer }), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.INTEGER, false, forge.util.hexToBytes(obj.serialNumber))]),
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(obj.digestAlgorithm).getBytes()), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, "")])
		]);
		if (obj.authenticatedAttributesAsn1) {
			rval.value.push(obj.authenticatedAttributesAsn1);
		}
		rval.value.push(asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(obj.signatureAlgorithm).getBytes()), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.NULL, false, "")]));
		rval.value.push(asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, obj.signature));
		if (obj.unauthenticatedAttributes.length > 0) {
			var attrsAsn1 = asn1.create(asn1.Class.CONTEXT_SPECIFIC, 1, true, []);
			for (var i = 0; i < obj.unauthenticatedAttributes.length; ++i) {
				var attr = obj.unauthenticatedAttributes[i];
				attrsAsn1.values.push(_attributeToAsn1(attr));
			}
			rval.value.push(attrsAsn1);
		}
		return rval;
	}
	/**
	* Map a set of SignerInfo ASN.1 objects to an array of signer objects.
	*
	* @param signerInfoAsn1s an array of ASN.1 SignerInfos (i.e. SET OF).
	*
	* @return an array of signers objects.
	*/
	function _signersFromAsn1(signerInfoAsn1s) {
		var ret = [];
		for (var i = 0; i < signerInfoAsn1s.length; ++i) {
			ret.push(_signerFromAsn1(signerInfoAsn1s[i]));
		}
		return ret;
	}
	/**
	* Map an array of signer objects to ASN.1 objects.
	*
	* @param signers an array of signer objects.
	*
	* @return an array of ASN.1 SignerInfos.
	*/
	function _signersToAsn1(signers) {
		var ret = [];
		for (var i = 0; i < signers.length; ++i) {
			ret.push(_signerToAsn1(signers[i]));
		}
		return ret;
	}
	/**
	* Convert an attribute object to an ASN.1 Attribute.
	*
	* @param attr the attribute object.
	*
	* @return the ASN.1 Attribute.
	*/
	function _attributeToAsn1(attr) {
		var value;
		if (attr.type === forge.pki.oids.contentType) {
			value = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(attr.value).getBytes());
		} else if (attr.type === forge.pki.oids.messageDigest) {
			value = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, attr.value.bytes());
		} else if (attr.type === forge.pki.oids.signingTime) {
			var jan_1_1950 = new Date("1950-01-01T00:00:00Z");
			var jan_1_2050 = new Date("2050-01-01T00:00:00Z");
			var date = attr.value;
			if (typeof date === "string") {
				var timestamp = Date.parse(date);
				if (!isNaN(timestamp)) {
					date = new Date(timestamp);
				} else if (date.length === 13) {
					date = asn1.utcTimeToDate(date);
				} else {
					date = asn1.generalizedTimeToDate(date);
				}
			}
			if (date >= jan_1_1950 && date < jan_1_2050) {
				value = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.UTCTIME, false, asn1.dateToUtcTime(date));
			} else {
				value = asn1.create(asn1.Class.UNIVERSAL, asn1.Type.GENERALIZEDTIME, false, asn1.dateToGeneralizedTime(date));
			}
		}
		return asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(attr.type).getBytes()), asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SET, true, [value])]);
	}
	/**
	* Map messages encrypted content to ASN.1 objects.
	*
	* @param ec The encryptedContent object of the message.
	*
	* @return ASN.1 representation of the encryptedContent object (SEQUENCE).
	*/
	function _encryptedContentToAsn1(ec) {
		return [
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(forge.pki.oids.data).getBytes()),
			asn1.create(asn1.Class.UNIVERSAL, asn1.Type.SEQUENCE, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OID, false, asn1.oidToDer(ec.algorithm).getBytes()), !ec.parameter ? undefined : asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, ec.parameter.getBytes())]),
			asn1.create(asn1.Class.CONTEXT_SPECIFIC, 0, true, [asn1.create(asn1.Class.UNIVERSAL, asn1.Type.OCTETSTRING, false, ec.content.getBytes())])
		];
	}
	/**
	* Reads the "common part" of an PKCS#7 content block (in ASN.1 format)
	*
	* This function reads the "common part" of the PKCS#7 content blocks
	* EncryptedData and EnvelopedData, i.e. version number and symmetrically
	* encrypted content block.
	*
	* The result of the ASN.1 validate and capture process is returned
	* to allow the caller to extract further data, e.g. the list of recipients
	* in case of a EnvelopedData object.
	*
	* @param msg the PKCS#7 object to read the data to.
	* @param obj the ASN.1 representation of the content block.
	* @param validator the ASN.1 structure validator object to use.
	*
	* @return the value map captured by validator object.
	*/
	function _fromAsn1(msg, obj, validator) {
		var capture = {};
		var errors = [];
		if (!asn1.validate(obj, validator, capture, errors)) {
			var error = new Error("Cannot read PKCS#7 message. " + "ASN.1 object is not a supported PKCS#7 message.");
			error.errors = error;
			throw error;
		}
		var contentType = asn1.derToOid(capture.contentType);
		if (contentType !== forge.pki.oids.data) {
			throw new Error("Unsupported PKCS#7 message. " + "Only wrapped ContentType Data supported.");
		}
		if (capture.encryptedContent) {
			var content = "";
			if (forge.util.isArray(capture.encryptedContent)) {
				for (var i = 0; i < capture.encryptedContent.length; ++i) {
					if (capture.encryptedContent[i].type !== asn1.Type.OCTETSTRING) {
						throw new Error("Malformed PKCS#7 message, expecting encrypted " + "content constructed of only OCTET STRING objects.");
					}
					content += capture.encryptedContent[i].value;
				}
			} else {
				content = capture.encryptedContent;
			}
			msg.encryptedContent = {
				algorithm: asn1.derToOid(capture.encAlgorithm),
				parameter: forge.util.createBuffer(capture.encParameter.value),
				content: forge.util.createBuffer(content)
			};
		}
		if (capture.content) {
			var content = "";
			if (forge.util.isArray(capture.content)) {
				for (var i = 0; i < capture.content.length; ++i) {
					if (capture.content[i].type !== asn1.Type.OCTETSTRING) {
						throw new Error("Malformed PKCS#7 message, expecting " + "content constructed of only OCTET STRING objects.");
					}
					content += capture.content[i].value;
				}
			} else {
				content = capture.content;
			}
			msg.content = forge.util.createBuffer(content);
		}
		msg.version = capture.version.charCodeAt(0);
		msg.rawCapture = capture;
		return capture;
	}
	/**
	* Decrypt the symmetrically encrypted content block of the PKCS#7 message.
	*
	* Decryption is skipped in case the PKCS#7 message object already has a
	* (decrypted) content attribute.  The algorithm, key and cipher parameters
	* (probably the iv) are taken from the encryptedContent attribute of the
	* message object.
	*
	* @param The PKCS#7 message object.
	*/
	function _decryptContent(msg) {
		if (msg.encryptedContent.key === undefined) {
			throw new Error("Symmetric key not available.");
		}
		if (msg.content === undefined) {
			var ciph;
			switch (msg.encryptedContent.algorithm) {
				case forge.pki.oids["aes128-CBC"]:
				case forge.pki.oids["aes192-CBC"]:
				case forge.pki.oids["aes256-CBC"]:
					ciph = forge.aes.createDecryptionCipher(msg.encryptedContent.key);
					break;
				case forge.pki.oids["desCBC"]:
				case forge.pki.oids["des-EDE3-CBC"]:
					ciph = forge.des.createDecryptionCipher(msg.encryptedContent.key);
					break;
				default: throw new Error("Unsupported symmetric cipher, OID " + msg.encryptedContent.algorithm);
			}
			ciph.start(msg.encryptedContent.parameter);
			ciph.update(msg.encryptedContent.content);
			if (!ciph.finish()) {
				throw new Error("Symmetric decryption failed.");
			}
			msg.content = ciph.output;
		}
	}
}));

//#endregion
//#region ../node_modules/node-forge/lib/ssh.js
var require_ssh = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Functions to output keys in SSH-friendly formats.
	*
	* This is part of the Forge project which may be used under the terms of
	* either the BSD License or the GNU General Public License (GPL) Version 2.
	*
	* See: https://github.com/digitalbazaar/forge/blob/cbebca3780658703d925b61b2caffb1d263a6c1d/LICENSE
	*
	* @author https://github.com/shellac
	*/
	var forge = require_forge();
	require_aes$1();
	require_hmac$1();
	require_md5$1();
	require_sha1$1();
	require_util$8();
	var ssh = module.exports = forge.ssh = forge.ssh || {};
	/**
	* Encodes (and optionally encrypts) a private RSA key as a Putty PPK file.
	*
	* @param privateKey the key.
	* @param passphrase a passphrase to protect the key (falsy for no encryption).
	* @param comment a comment to include in the key file.
	*
	* @return the PPK file as a string.
	*/
	ssh.privateKeyToPutty = function(privateKey, passphrase, comment) {
		comment = comment || "";
		passphrase = passphrase || "";
		var algorithm = "ssh-rsa";
		var encryptionAlgorithm = passphrase === "" ? "none" : "aes256-cbc";
		var ppk = "PuTTY-User-Key-File-2: " + algorithm + "\r\n";
		ppk += "Encryption: " + encryptionAlgorithm + "\r\n";
		ppk += "Comment: " + comment + "\r\n";
		var pubbuffer = forge.util.createBuffer();
		_addStringToBuffer(pubbuffer, algorithm);
		_addBigIntegerToBuffer(pubbuffer, privateKey.e);
		_addBigIntegerToBuffer(pubbuffer, privateKey.n);
		var pub = forge.util.encode64(pubbuffer.bytes(), 64);
		var length = Math.floor(pub.length / 66) + 1;
		ppk += "Public-Lines: " + length + "\r\n";
		ppk += pub;
		var privbuffer = forge.util.createBuffer();
		_addBigIntegerToBuffer(privbuffer, privateKey.d);
		_addBigIntegerToBuffer(privbuffer, privateKey.p);
		_addBigIntegerToBuffer(privbuffer, privateKey.q);
		_addBigIntegerToBuffer(privbuffer, privateKey.qInv);
		var priv;
		if (!passphrase) {
			priv = forge.util.encode64(privbuffer.bytes(), 64);
		} else {
			var encLen = privbuffer.length() + 16 - 1;
			encLen -= encLen % 16;
			var padding = _sha1(privbuffer.bytes());
			padding.truncate(padding.length() - encLen + privbuffer.length());
			privbuffer.putBuffer(padding);
			var aeskey = forge.util.createBuffer();
			aeskey.putBuffer(_sha1("\0\0\0\0", passphrase));
			aeskey.putBuffer(_sha1("\0\0\0", passphrase));
			var cipher = forge.aes.createEncryptionCipher(aeskey.truncate(8), "CBC");
			cipher.start(forge.util.createBuffer().fillWithByte(0, 16));
			cipher.update(privbuffer.copy());
			cipher.finish();
			var encrypted = cipher.output;
			encrypted.truncate(16);
			priv = forge.util.encode64(encrypted.bytes(), 64);
		}
		length = Math.floor(priv.length / 66) + 1;
		ppk += "\r\nPrivate-Lines: " + length + "\r\n";
		ppk += priv;
		var mackey = _sha1("putty-private-key-file-mac-key", passphrase);
		var macbuffer = forge.util.createBuffer();
		_addStringToBuffer(macbuffer, algorithm);
		_addStringToBuffer(macbuffer, encryptionAlgorithm);
		_addStringToBuffer(macbuffer, comment);
		macbuffer.putInt32(pubbuffer.length());
		macbuffer.putBuffer(pubbuffer);
		macbuffer.putInt32(privbuffer.length());
		macbuffer.putBuffer(privbuffer);
		var hmac = forge.hmac.create();
		hmac.start("sha1", mackey);
		hmac.update(macbuffer.bytes());
		ppk += "\r\nPrivate-MAC: " + hmac.digest().toHex() + "\r\n";
		return ppk;
	};
	/**
	* Encodes a public RSA key as an OpenSSH file.
	*
	* @param key the key.
	* @param comment a comment.
	*
	* @return the public key in OpenSSH format.
	*/
	ssh.publicKeyToOpenSSH = function(key, comment) {
		var type = "ssh-rsa";
		comment = comment || "";
		var buffer = forge.util.createBuffer();
		_addStringToBuffer(buffer, type);
		_addBigIntegerToBuffer(buffer, key.e);
		_addBigIntegerToBuffer(buffer, key.n);
		return type + " " + forge.util.encode64(buffer.bytes()) + " " + comment;
	};
	/**
	* Encodes a private RSA key as an OpenSSH file.
	*
	* @param key the key.
	* @param passphrase a passphrase to protect the key (falsy for no encryption).
	*
	* @return the public key in OpenSSH format.
	*/
	ssh.privateKeyToOpenSSH = function(privateKey, passphrase) {
		if (!passphrase) {
			return forge.pki.privateKeyToPem(privateKey);
		}
		return forge.pki.encryptRsaPrivateKey(privateKey, passphrase, {
			legacy: true,
			algorithm: "aes128"
		});
	};
	/**
	* Gets the SSH fingerprint for the given public key.
	*
	* @param options the options to use.
	*          [md] the message digest object to use (defaults to forge.md.md5).
	*          [encoding] an alternative output encoding, such as 'hex'
	*            (defaults to none, outputs a byte buffer).
	*          [delimiter] the delimiter to use between bytes for 'hex' encoded
	*            output, eg: ':' (defaults to none).
	*
	* @return the fingerprint as a byte buffer or other encoding based on options.
	*/
	ssh.getPublicKeyFingerprint = function(key, options) {
		options = options || {};
		var md = options.md || forge.md.md5.create();
		var type = "ssh-rsa";
		var buffer = forge.util.createBuffer();
		_addStringToBuffer(buffer, type);
		_addBigIntegerToBuffer(buffer, key.e);
		_addBigIntegerToBuffer(buffer, key.n);
		md.start();
		md.update(buffer.getBytes());
		var digest = md.digest();
		if (options.encoding === "hex") {
			var hex = digest.toHex();
			if (options.delimiter) {
				return hex.match(/.{2}/g).join(options.delimiter);
			}
			return hex;
		} else if (options.encoding === "binary") {
			return digest.getBytes();
		} else if (options.encoding) {
			throw new Error("Unknown encoding \"" + options.encoding + "\".");
		}
		return digest;
	};
	/**
	* Adds len(val) then val to a buffer.
	*
	* @param buffer the buffer to add to.
	* @param val a big integer.
	*/
	function _addBigIntegerToBuffer(buffer, val) {
		var hexVal = val.toString(16);
		if (hexVal[0] >= "8") {
			hexVal = "00" + hexVal;
		}
		var bytes = forge.util.hexToBytes(hexVal);
		buffer.putInt32(bytes.length);
		buffer.putBytes(bytes);
	}
	/**
	* Adds len(val) then val to a buffer.
	*
	* @param buffer the buffer to add to.
	* @param val a string.
	*/
	function _addStringToBuffer(buffer, val) {
		buffer.putInt32(val.length);
		buffer.putString(val);
	}
	/**
	* Hashes the arguments into one value using SHA-1.
	*
	* @return the sha1 hash of the provided arguments.
	*/
	function _sha1() {
		var sha = forge.md.sha1.create();
		var num = arguments.length;
		for (var i = 0; i < num; ++i) {
			sha.update(arguments[i]);
		}
		return sha.digest();
	}
}));

//#endregion
//#region ../node_modules/node-forge/lib/index.js
var require_lib$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Node.js module for Forge.
	*
	* @author Dave Longley
	*
	* Copyright 2011-2016 Digital Bazaar, Inc.
	*/
	module.exports = require_forge();
	require_aes$1();
	require_aesCipherSuites();
	require_asn1();
	require_cipher();
	require_des();
	require_ed25519();
	require_hmac$1();
	require_kem();
	require_log();
	require_md_all();
	require_mgf1();
	require_pbkdf2$1();
	require_pem();
	require_pkcs1();
	require_pkcs12();
	require_pkcs7();
	require_pki();
	require_prime();
	require_prng();
	require_pss();
	require_random();
	require_rc2();
	require_ssh();
	require_tls();
	require_util$8();
}));

//#endregion
//#region ../node_modules/minipass/dist/esm/index.js
var import_lib = /* @__PURE__ */ __toESM(require_lib$3(), 1);
var import_json_bigint = /* @__PURE__ */ __toESM(require_json_bigint(), 1);
const proc = typeof process === "object" && process ? process : {
	stdout: null,
	stderr: null
};
/**
* Return true if the argument is a Minipass stream, Node stream, or something
* else that Minipass can interact with.
*/
const isStream$1 = (s) => !!s && typeof s === "object" && (s instanceof Minipass || s instanceof Stream || isReadable$1(s) || isWritable(s));
/**
* Return true if the argument is a valid {@link Minipass.Readable}
*/
const isReadable$1 = (s) => !!s && typeof s === "object" && s instanceof EventEmitter$1 && typeof s.pipe === "function" && s.pipe !== Stream.Writable.prototype.pipe;
/**
* Return true if the argument is a valid {@link Minipass.Writable}
*/
const isWritable = (s) => !!s && typeof s === "object" && s instanceof EventEmitter$1 && typeof s.write === "function" && typeof s.end === "function";
const EOF = Symbol("EOF");
const MAYBE_EMIT_END = Symbol("maybeEmitEnd");
const EMITTED_END = Symbol("emittedEnd");
const EMITTING_END = Symbol("emittingEnd");
const EMITTED_ERROR = Symbol("emittedError");
const CLOSED = Symbol("closed");
const READ = Symbol("read");
const FLUSH = Symbol("flush");
const FLUSHCHUNK = Symbol("flushChunk");
const ENCODING = Symbol("encoding");
const DECODER = Symbol("decoder");
const FLOWING = Symbol("flowing");
const PAUSED = Symbol("paused");
const RESUME = Symbol("resume");
const BUFFER = Symbol("buffer");
const PIPES = Symbol("pipes");
const BUFFERLENGTH = Symbol("bufferLength");
const BUFFERPUSH = Symbol("bufferPush");
const BUFFERSHIFT = Symbol("bufferShift");
const OBJECTMODE = Symbol("objectMode");
const DESTROYED = Symbol("destroyed");
const ERROR = Symbol("error");
const EMITDATA = Symbol("emitData");
const EMITEND = Symbol("emitEnd");
const EMITEND2 = Symbol("emitEnd2");
const ASYNC = Symbol("async");
const ABORT = Symbol("abort");
const ABORTED = Symbol("aborted");
const SIGNAL = Symbol("signal");
const DATALISTENERS = Symbol("dataListeners");
const DISCARDED = Symbol("discarded");
const defer$1 = (fn) => Promise.resolve().then(fn);
const nodefer = (fn) => fn();
const isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
const isArrayBufferLike = (b) => b instanceof ArrayBuffer || !!b && typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
const isArrayBufferView$1 = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
/**
* Internal class representing a pipe to a destination stream.
*
* @internal
*/
var Pipe = class {
	src;
	dest;
	opts;
	ondrain;
	constructor(src, dest, opts) {
		this.src = src;
		this.dest = dest;
		this.opts = opts;
		this.ondrain = () => src[RESUME]();
		this.dest.on("drain", this.ondrain);
	}
	unpipe() {
		this.dest.removeListener("drain", this.ondrain);
	}
	/* c8 ignore start */
	proxyErrors(_er) {}
	/* c8 ignore stop */
	end() {
		this.unpipe();
		if (this.opts.end) this.dest.end();
	}
};
/**
* Internal class representing a pipe to a destination stream where
* errors are proxied.
*
* @internal
*/
var PipeProxyErrors = class extends Pipe {
	unpipe() {
		this.src.removeListener("error", this.proxyErrors);
		super.unpipe();
	}
	constructor(src, dest, opts) {
		super(src, dest, opts);
		this.proxyErrors = (er) => dest.emit("error", er);
		src.on("error", this.proxyErrors);
	}
};
const isObjectModeOptions = (o) => !!o.objectMode;
const isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== "buffer";
/**
* Main export, the Minipass class
*
* `RType` is the type of data emitted, defaults to Buffer
*
* `WType` is the type of data to be written, if RType is buffer or string,
* then any {@link Minipass.ContiguousData} is allowed.
*
* `Events` is the set of event handler signatures that this object
* will emit, see {@link Minipass.Events}
*/
var Minipass = class extends EventEmitter$1 {
	[FLOWING] = false;
	[PAUSED] = false;
	[PIPES] = [];
	[BUFFER] = [];
	[OBJECTMODE];
	[ENCODING];
	[ASYNC];
	[DECODER];
	[EOF] = false;
	[EMITTED_END] = false;
	[EMITTING_END] = false;
	[CLOSED] = false;
	[EMITTED_ERROR] = null;
	[BUFFERLENGTH] = 0;
	[DESTROYED] = false;
	[SIGNAL];
	[ABORTED] = false;
	[DATALISTENERS] = 0;
	[DISCARDED] = false;
	/**
	* true if the stream can be written
	*/
	writable = true;
	/**
	* true if the stream can be read
	*/
	readable = true;
	/**
	* If `RType` is Buffer, then options do not need to be provided.
	* Otherwise, an options object must be provided to specify either
	* {@link Minipass.SharedOptions.objectMode} or
	* {@link Minipass.SharedOptions.encoding}, as appropriate.
	*/
	constructor(...args) {
		const options = args[0] || {};
		super();
		if (options.objectMode && typeof options.encoding === "string") {
			throw new TypeError("Encoding and objectMode may not be used together");
		}
		if (isObjectModeOptions(options)) {
			this[OBJECTMODE] = true;
			this[ENCODING] = null;
		} else if (isEncodingOptions(options)) {
			this[ENCODING] = options.encoding;
			this[OBJECTMODE] = false;
		} else {
			this[OBJECTMODE] = false;
			this[ENCODING] = null;
		}
		this[ASYNC] = !!options.async;
		this[DECODER] = this[ENCODING] ? new StringDecoder(this[ENCODING]) : null;
		if (options && options.debugExposeBuffer === true) {
			Object.defineProperty(this, "buffer", { get: () => this[BUFFER] });
		}
		if (options && options.debugExposePipes === true) {
			Object.defineProperty(this, "pipes", { get: () => this[PIPES] });
		}
		const { signal } = options;
		if (signal) {
			this[SIGNAL] = signal;
			if (signal.aborted) {
				this[ABORT]();
			} else {
				signal.addEventListener("abort", () => this[ABORT]());
			}
		}
	}
	/**
	* The amount of data stored in the buffer waiting to be read.
	*
	* For Buffer strings, this will be the total byte length.
	* For string encoding streams, this will be the string character length,
	* according to JavaScript's `string.length` logic.
	* For objectMode streams, this is a count of the items waiting to be
	* emitted.
	*/
	get bufferLength() {
		return this[BUFFERLENGTH];
	}
	/**
	* The `BufferEncoding` currently in use, or `null`
	*/
	get encoding() {
		return this[ENCODING];
	}
	/**
	* @deprecated - This is a read only property
	*/
	set encoding(_enc) {
		throw new Error("Encoding must be set at instantiation time");
	}
	/**
	* @deprecated - Encoding may only be set at instantiation time
	*/
	setEncoding(_enc) {
		throw new Error("Encoding must be set at instantiation time");
	}
	/**
	* True if this is an objectMode stream
	*/
	get objectMode() {
		return this[OBJECTMODE];
	}
	/**
	* @deprecated - This is a read-only property
	*/
	set objectMode(_om) {
		throw new Error("objectMode must be set at instantiation time");
	}
	/**
	* true if this is an async stream
	*/
	get ["async"]() {
		return this[ASYNC];
	}
	/**
	* Set to true to make this stream async.
	*
	* Once set, it cannot be unset, as this would potentially cause incorrect
	* behavior.  Ie, a sync stream can be made async, but an async stream
	* cannot be safely made sync.
	*/
	set ["async"](a) {
		this[ASYNC] = this[ASYNC] || !!a;
	}
	[ABORT]() {
		this[ABORTED] = true;
		this.emit("abort", this[SIGNAL]?.reason);
		this.destroy(this[SIGNAL]?.reason);
	}
	/**
	* True if the stream has been aborted.
	*/
	get aborted() {
		return this[ABORTED];
	}
	/**
	* No-op setter. Stream aborted status is set via the AbortSignal provided
	* in the constructor options.
	*/
	set aborted(_) {}
	write(chunk, encoding, cb) {
		if (this[ABORTED]) return false;
		if (this[EOF]) throw new Error("write after end");
		if (this[DESTROYED]) {
			this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" }));
			return true;
		}
		if (typeof encoding === "function") {
			cb = encoding;
			encoding = "utf8";
		}
		if (!encoding) encoding = "utf8";
		const fn = this[ASYNC] ? defer$1 : nodefer;
		if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
			if (isArrayBufferView$1(chunk)) {
				chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
			} else if (isArrayBufferLike(chunk)) {
				chunk = Buffer.from(chunk);
			} else if (typeof chunk !== "string") {
				throw new Error("Non-contiguous data written to non-objectMode stream");
			}
		}
		if (this[OBJECTMODE]) {
			/* c8 ignore start */
			if (this[FLOWING] && this[BUFFERLENGTH] !== 0) this[FLUSH](true);
			/* c8 ignore stop */
			if (this[FLOWING]) this.emit("data", chunk);
			else this[BUFFERPUSH](chunk);
			if (this[BUFFERLENGTH] !== 0) this.emit("readable");
			if (cb) fn(cb);
			return this[FLOWING];
		}
		if (!chunk.length) {
			if (this[BUFFERLENGTH] !== 0) this.emit("readable");
			if (cb) fn(cb);
			return this[FLOWING];
		}
		if (typeof chunk === "string" && !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
			chunk = Buffer.from(chunk, encoding);
		}
		if (Buffer.isBuffer(chunk) && this[ENCODING]) {
			chunk = this[DECODER].write(chunk);
		}
		if (this[FLOWING] && this[BUFFERLENGTH] !== 0) this[FLUSH](true);
		if (this[FLOWING]) this.emit("data", chunk);
		else this[BUFFERPUSH](chunk);
		if (this[BUFFERLENGTH] !== 0) this.emit("readable");
		if (cb) fn(cb);
		return this[FLOWING];
	}
	/**
	* Low-level explicit read method.
	*
	* In objectMode, the argument is ignored, and one item is returned if
	* available.
	*
	* `n` is the number of bytes (or in the case of encoding streams,
	* characters) to consume. If `n` is not provided, then the entire buffer
	* is returned, or `null` is returned if no data is available.
	*
	* If `n` is greater that the amount of data in the internal buffer,
	* then `null` is returned.
	*/
	read(n) {
		if (this[DESTROYED]) return null;
		this[DISCARDED] = false;
		if (this[BUFFERLENGTH] === 0 || n === 0 || n && n > this[BUFFERLENGTH]) {
			this[MAYBE_EMIT_END]();
			return null;
		}
		if (this[OBJECTMODE]) n = null;
		if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
			this[BUFFER] = [this[ENCODING] ? this[BUFFER].join("") : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])];
		}
		const ret = this[READ](n || null, this[BUFFER][0]);
		this[MAYBE_EMIT_END]();
		return ret;
	}
	[READ](n, chunk) {
		if (this[OBJECTMODE]) this[BUFFERSHIFT]();
		else {
			const c = chunk;
			if (n === c.length || n === null) this[BUFFERSHIFT]();
			else if (typeof c === "string") {
				this[BUFFER][0] = c.slice(n);
				chunk = c.slice(0, n);
				this[BUFFERLENGTH] -= n;
			} else {
				this[BUFFER][0] = c.subarray(n);
				chunk = c.subarray(0, n);
				this[BUFFERLENGTH] -= n;
			}
		}
		this.emit("data", chunk);
		if (!this[BUFFER].length && !this[EOF]) this.emit("drain");
		return chunk;
	}
	end(chunk, encoding, cb) {
		if (typeof chunk === "function") {
			cb = chunk;
			chunk = undefined;
		}
		if (typeof encoding === "function") {
			cb = encoding;
			encoding = "utf8";
		}
		if (chunk !== undefined) this.write(chunk, encoding);
		if (cb) this.once("end", cb);
		this[EOF] = true;
		this.writable = false;
		if (this[FLOWING] || !this[PAUSED]) this[MAYBE_EMIT_END]();
		return this;
	}
	[RESUME]() {
		if (this[DESTROYED]) return;
		if (!this[DATALISTENERS] && !this[PIPES].length) {
			this[DISCARDED] = true;
		}
		this[PAUSED] = false;
		this[FLOWING] = true;
		this.emit("resume");
		if (this[BUFFER].length) this[FLUSH]();
		else if (this[EOF]) this[MAYBE_EMIT_END]();
		else this.emit("drain");
	}
	/**
	* Resume the stream if it is currently in a paused state
	*
	* If called when there are no pipe destinations or `data` event listeners,
	* this will place the stream in a "discarded" state, where all data will
	* be thrown away. The discarded state is removed if a pipe destination or
	* data handler is added, if pause() is called, or if any synchronous or
	* asynchronous iteration is started.
	*/
	resume() {
		return this[RESUME]();
	}
	/**
	* Pause the stream
	*/
	pause() {
		this[FLOWING] = false;
		this[PAUSED] = true;
		this[DISCARDED] = false;
	}
	/**
	* true if the stream has been forcibly destroyed
	*/
	get destroyed() {
		return this[DESTROYED];
	}
	/**
	* true if the stream is currently in a flowing state, meaning that
	* any writes will be immediately emitted.
	*/
	get flowing() {
		return this[FLOWING];
	}
	/**
	* true if the stream is currently in a paused state
	*/
	get paused() {
		return this[PAUSED];
	}
	[BUFFERPUSH](chunk) {
		if (this[OBJECTMODE]) this[BUFFERLENGTH] += 1;
		else this[BUFFERLENGTH] += chunk.length;
		this[BUFFER].push(chunk);
	}
	[BUFFERSHIFT]() {
		if (this[OBJECTMODE]) this[BUFFERLENGTH] -= 1;
		else this[BUFFERLENGTH] -= this[BUFFER][0].length;
		return this[BUFFER].shift();
	}
	[FLUSH](noDrain = false) {
		do {} while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length);
		if (!noDrain && !this[BUFFER].length && !this[EOF]) this.emit("drain");
	}
	[FLUSHCHUNK](chunk) {
		this.emit("data", chunk);
		return this[FLOWING];
	}
	/**
	* Pipe all data emitted by this stream into the destination provided.
	*
	* Triggers the flow of data.
	*/
	pipe(dest, opts) {
		if (this[DESTROYED]) return dest;
		this[DISCARDED] = false;
		const ended = this[EMITTED_END];
		opts = opts || {};
		if (dest === proc.stdout || dest === proc.stderr) opts.end = false;
		else opts.end = opts.end !== false;
		opts.proxyErrors = !!opts.proxyErrors;
		if (ended) {
			if (opts.end) dest.end();
		} else {
			this[PIPES].push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts));
			if (this[ASYNC]) defer$1(() => this[RESUME]());
			else this[RESUME]();
		}
		return dest;
	}
	/**
	* Fully unhook a piped destination stream.
	*
	* If the destination stream was the only consumer of this stream (ie,
	* there are no other piped destinations or `'data'` event listeners)
	* then the flow of data will stop until there is another consumer or
	* {@link Minipass#resume} is explicitly called.
	*/
	unpipe(dest) {
		const p = this[PIPES].find((p) => p.dest === dest);
		if (p) {
			if (this[PIPES].length === 1) {
				if (this[FLOWING] && this[DATALISTENERS] === 0) {
					this[FLOWING] = false;
				}
				this[PIPES] = [];
			} else this[PIPES].splice(this[PIPES].indexOf(p), 1);
			p.unpipe();
		}
	}
	/**
	* Alias for {@link Minipass#on}
	*/
	addListener(ev, handler) {
		return this.on(ev, handler);
	}
	/**
	* Mostly identical to `EventEmitter.on`, with the following
	* behavior differences to prevent data loss and unnecessary hangs:
	*
	* - Adding a 'data' event handler will trigger the flow of data
	*
	* - Adding a 'readable' event handler when there is data waiting to be read
	*   will cause 'readable' to be emitted immediately.
	*
	* - Adding an 'endish' event handler ('end', 'finish', etc.) which has
	*   already passed will cause the event to be emitted immediately and all
	*   handlers removed.
	*
	* - Adding an 'error' event handler after an error has been emitted will
	*   cause the event to be re-emitted immediately with the error previously
	*   raised.
	*/
	on(ev, handler) {
		const ret = super.on(ev, handler);
		if (ev === "data") {
			this[DISCARDED] = false;
			this[DATALISTENERS]++;
			if (!this[PIPES].length && !this[FLOWING]) {
				this[RESUME]();
			}
		} else if (ev === "readable" && this[BUFFERLENGTH] !== 0) {
			super.emit("readable");
		} else if (isEndish(ev) && this[EMITTED_END]) {
			super.emit(ev);
			this.removeAllListeners(ev);
		} else if (ev === "error" && this[EMITTED_ERROR]) {
			const h = handler;
			if (this[ASYNC]) defer$1(() => h.call(this, this[EMITTED_ERROR]));
			else h.call(this, this[EMITTED_ERROR]);
		}
		return ret;
	}
	/**
	* Alias for {@link Minipass#off}
	*/
	removeListener(ev, handler) {
		return this.off(ev, handler);
	}
	/**
	* Mostly identical to `EventEmitter.off`
	*
	* If a 'data' event handler is removed, and it was the last consumer
	* (ie, there are no pipe destinations or other 'data' event listeners),
	* then the flow of data will stop until there is another consumer or
	* {@link Minipass#resume} is explicitly called.
	*/
	off(ev, handler) {
		const ret = super.off(ev, handler);
		if (ev === "data") {
			this[DATALISTENERS] = this.listeners("data").length;
			if (this[DATALISTENERS] === 0 && !this[DISCARDED] && !this[PIPES].length) {
				this[FLOWING] = false;
			}
		}
		return ret;
	}
	/**
	* Mostly identical to `EventEmitter.removeAllListeners`
	*
	* If all 'data' event handlers are removed, and they were the last consumer
	* (ie, there are no pipe destinations), then the flow of data will stop
	* until there is another consumer or {@link Minipass#resume} is explicitly
	* called.
	*/
	removeAllListeners(ev) {
		const ret = super.removeAllListeners(ev);
		if (ev === "data" || ev === undefined) {
			this[DATALISTENERS] = 0;
			if (!this[DISCARDED] && !this[PIPES].length) {
				this[FLOWING] = false;
			}
		}
		return ret;
	}
	/**
	* true if the 'end' event has been emitted
	*/
	get emittedEnd() {
		return this[EMITTED_END];
	}
	[MAYBE_EMIT_END]() {
		if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF]) {
			this[EMITTING_END] = true;
			this.emit("end");
			this.emit("prefinish");
			this.emit("finish");
			if (this[CLOSED]) this.emit("close");
			this[EMITTING_END] = false;
		}
	}
	/**
	* Mostly identical to `EventEmitter.emit`, with the following
	* behavior differences to prevent data loss and unnecessary hangs:
	*
	* If the stream has been destroyed, and the event is something other
	* than 'close' or 'error', then `false` is returned and no handlers
	* are called.
	*
	* If the event is 'end', and has already been emitted, then the event
	* is ignored. If the stream is in a paused or non-flowing state, then
	* the event will be deferred until data flow resumes. If the stream is
	* async, then handlers will be called on the next tick rather than
	* immediately.
	*
	* If the event is 'close', and 'end' has not yet been emitted, then
	* the event will be deferred until after 'end' is emitted.
	*
	* If the event is 'error', and an AbortSignal was provided for the stream,
	* and there are no listeners, then the event is ignored, matching the
	* behavior of node core streams in the presense of an AbortSignal.
	*
	* If the event is 'finish' or 'prefinish', then all listeners will be
	* removed after emitting the event, to prevent double-firing.
	*/
	emit(ev, ...args) {
		const data = args[0];
		if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) {
			return false;
		} else if (ev === "data") {
			return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? (defer$1(() => this[EMITDATA](data)), true) : this[EMITDATA](data);
		} else if (ev === "end") {
			return this[EMITEND]();
		} else if (ev === "close") {
			this[CLOSED] = true;
			if (!this[EMITTED_END] && !this[DESTROYED]) return false;
			const ret = super.emit("close");
			this.removeAllListeners("close");
			return ret;
		} else if (ev === "error") {
			this[EMITTED_ERROR] = data;
			super.emit(ERROR, data);
			const ret = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false;
			this[MAYBE_EMIT_END]();
			return ret;
		} else if (ev === "resume") {
			const ret = super.emit("resume");
			this[MAYBE_EMIT_END]();
			return ret;
		} else if (ev === "finish" || ev === "prefinish") {
			const ret = super.emit(ev);
			this.removeAllListeners(ev);
			return ret;
		}
		const ret = super.emit(ev, ...args);
		this[MAYBE_EMIT_END]();
		return ret;
	}
	[EMITDATA](data) {
		for (const p of this[PIPES]) {
			if (p.dest.write(data) === false) this.pause();
		}
		const ret = this[DISCARDED] ? false : super.emit("data", data);
		this[MAYBE_EMIT_END]();
		return ret;
	}
	[EMITEND]() {
		if (this[EMITTED_END]) return false;
		this[EMITTED_END] = true;
		this.readable = false;
		return this[ASYNC] ? (defer$1(() => this[EMITEND2]()), true) : this[EMITEND2]();
	}
	[EMITEND2]() {
		if (this[DECODER]) {
			const data = this[DECODER].end();
			if (data) {
				for (const p of this[PIPES]) {
					p.dest.write(data);
				}
				if (!this[DISCARDED]) super.emit("data", data);
			}
		}
		for (const p of this[PIPES]) {
			p.end();
		}
		const ret = super.emit("end");
		this.removeAllListeners("end");
		return ret;
	}
	/**
	* Return a Promise that resolves to an array of all emitted data once
	* the stream ends.
	*/
	async collect() {
		const buf = Object.assign([], { dataLength: 0 });
		if (!this[OBJECTMODE]) buf.dataLength = 0;
		const p = this.promise();
		this.on("data", (c) => {
			buf.push(c);
			if (!this[OBJECTMODE]) buf.dataLength += c.length;
		});
		await p;
		return buf;
	}
	/**
	* Return a Promise that resolves to the concatenation of all emitted data
	* once the stream ends.
	*
	* Not allowed on objectMode streams.
	*/
	async concat() {
		if (this[OBJECTMODE]) {
			throw new Error("cannot concat in objectMode");
		}
		const buf = await this.collect();
		return this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength);
	}
	/**
	* Return a void Promise that resolves once the stream ends.
	*/
	async promise() {
		return new Promise((resolve, reject) => {
			this.on(DESTROYED, () => reject(new Error("stream destroyed")));
			this.on("error", (er) => reject(er));
			this.on("end", () => resolve());
		});
	}
	/**
	* Asynchronous `for await of` iteration.
	*
	* This will continue emitting all chunks until the stream terminates.
	*/
	[Symbol.asyncIterator]() {
		this[DISCARDED] = false;
		let stopped = false;
		const stop = async () => {
			this.pause();
			stopped = true;
			return {
				value: undefined,
				done: true
			};
		};
		const next = () => {
			if (stopped) return stop();
			const res = this.read();
			if (res !== null) return Promise.resolve({
				done: false,
				value: res
			});
			if (this[EOF]) return stop();
			let resolve;
			let reject;
			const onerr = (er) => {
				this.off("data", ondata);
				this.off("end", onend);
				this.off(DESTROYED, ondestroy);
				stop();
				reject(er);
			};
			const ondata = (value) => {
				this.off("error", onerr);
				this.off("end", onend);
				this.off(DESTROYED, ondestroy);
				this.pause();
				resolve({
					value,
					done: !!this[EOF]
				});
			};
			const onend = () => {
				this.off("error", onerr);
				this.off("data", ondata);
				this.off(DESTROYED, ondestroy);
				stop();
				resolve({
					done: true,
					value: undefined
				});
			};
			const ondestroy = () => onerr(new Error("stream destroyed"));
			return new Promise((res, rej) => {
				reject = rej;
				resolve = res;
				this.once(DESTROYED, ondestroy);
				this.once("error", onerr);
				this.once("end", onend);
				this.once("data", ondata);
			});
		};
		return {
			next,
			throw: stop,
			return: stop,
			[Symbol.asyncIterator]() {
				return this;
			}
		};
	}
	/**
	* Synchronous `for of` iteration.
	*
	* The iteration will terminate when the internal buffer runs out, even
	* if the stream has not yet terminated.
	*/
	[Symbol.iterator]() {
		this[DISCARDED] = false;
		let stopped = false;
		const stop = () => {
			this.pause();
			this.off(ERROR, stop);
			this.off(DESTROYED, stop);
			this.off("end", stop);
			stopped = true;
			return {
				done: true,
				value: undefined
			};
		};
		const next = () => {
			if (stopped) return stop();
			const value = this.read();
			return value === null ? stop() : {
				done: false,
				value
			};
		};
		this.once("end", stop);
		this.once(ERROR, stop);
		this.once(DESTROYED, stop);
		return {
			next,
			throw: stop,
			return: stop,
			[Symbol.iterator]() {
				return this;
			}
		};
	}
	/**
	* Destroy a stream, preventing it from being used for any further purpose.
	*
	* If the stream has a `close()` method, then it will be called on
	* destruction.
	*
	* After destruction, any attempt to write data, read data, or emit most
	* events will be ignored.
	*
	* If an error argument is provided, then it will be emitted in an
	* 'error' event.
	*/
	destroy(er) {
		if (this[DESTROYED]) {
			if (er) this.emit("error", er);
			else this.emit(DESTROYED);
			return this;
		}
		this[DESTROYED] = true;
		this[DISCARDED] = true;
		this[BUFFER].length = 0;
		this[BUFFERLENGTH] = 0;
		const wc = this;
		if (typeof wc.close === "function" && !this[CLOSED]) wc.close();
		if (er) this.emit("error", er);
		else this.emit(DESTROYED);
		return this;
	}
	/**
	* Alias for {@link isStream}
	*
	* Former export location, maintained for backwards compatibility.
	*
	* @deprecated
	*/
	static get isStream() {
		return isStream$1;
	}
};

//#endregion
//#region ../node_modules/minizlib/dist/esm/constants.js
/* c8 ignore start */
const realZlibConstants = zlib.constants || { ZLIB_VERNUM: 4736 };
/* c8 ignore stop */
const constants$1 = Object.freeze(Object.assign(Object.create(null), {
	Z_NO_FLUSH: 0,
	Z_PARTIAL_FLUSH: 1,
	Z_SYNC_FLUSH: 2,
	Z_FULL_FLUSH: 3,
	Z_FINISH: 4,
	Z_BLOCK: 5,
	Z_OK: 0,
	Z_STREAM_END: 1,
	Z_NEED_DICT: 2,
	Z_ERRNO: -1,
	Z_STREAM_ERROR: -2,
	Z_DATA_ERROR: -3,
	Z_MEM_ERROR: -4,
	Z_BUF_ERROR: -5,
	Z_VERSION_ERROR: -6,
	Z_NO_COMPRESSION: 0,
	Z_BEST_SPEED: 1,
	Z_BEST_COMPRESSION: 9,
	Z_DEFAULT_COMPRESSION: -1,
	Z_FILTERED: 1,
	Z_HUFFMAN_ONLY: 2,
	Z_RLE: 3,
	Z_FIXED: 4,
	Z_DEFAULT_STRATEGY: 0,
	DEFLATE: 1,
	INFLATE: 2,
	GZIP: 3,
	GUNZIP: 4,
	DEFLATERAW: 5,
	INFLATERAW: 6,
	UNZIP: 7,
	BROTLI_DECODE: 8,
	BROTLI_ENCODE: 9,
	Z_MIN_WINDOWBITS: 8,
	Z_MAX_WINDOWBITS: 15,
	Z_DEFAULT_WINDOWBITS: 15,
	Z_MIN_CHUNK: 64,
	Z_MAX_CHUNK: Infinity,
	Z_DEFAULT_CHUNK: 16384,
	Z_MIN_MEMLEVEL: 1,
	Z_MAX_MEMLEVEL: 9,
	Z_DEFAULT_MEMLEVEL: 8,
	Z_MIN_LEVEL: -1,
	Z_MAX_LEVEL: 9,
	Z_DEFAULT_LEVEL: -1,
	BROTLI_OPERATION_PROCESS: 0,
	BROTLI_OPERATION_FLUSH: 1,
	BROTLI_OPERATION_FINISH: 2,
	BROTLI_OPERATION_EMIT_METADATA: 3,
	BROTLI_MODE_GENERIC: 0,
	BROTLI_MODE_TEXT: 1,
	BROTLI_MODE_FONT: 2,
	BROTLI_DEFAULT_MODE: 0,
	BROTLI_MIN_QUALITY: 0,
	BROTLI_MAX_QUALITY: 11,
	BROTLI_DEFAULT_QUALITY: 11,
	BROTLI_MIN_WINDOW_BITS: 10,
	BROTLI_MAX_WINDOW_BITS: 24,
	BROTLI_LARGE_MAX_WINDOW_BITS: 30,
	BROTLI_DEFAULT_WINDOW: 22,
	BROTLI_MIN_INPUT_BLOCK_BITS: 16,
	BROTLI_MAX_INPUT_BLOCK_BITS: 24,
	BROTLI_PARAM_MODE: 0,
	BROTLI_PARAM_QUALITY: 1,
	BROTLI_PARAM_LGWIN: 2,
	BROTLI_PARAM_LGBLOCK: 3,
	BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING: 4,
	BROTLI_PARAM_SIZE_HINT: 5,
	BROTLI_PARAM_LARGE_WINDOW: 6,
	BROTLI_PARAM_NPOSTFIX: 7,
	BROTLI_PARAM_NDIRECT: 8,
	BROTLI_DECODER_RESULT_ERROR: 0,
	BROTLI_DECODER_RESULT_SUCCESS: 1,
	BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT: 2,
	BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT: 3,
	BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION: 0,
	BROTLI_DECODER_PARAM_LARGE_WINDOW: 1,
	BROTLI_DECODER_NO_ERROR: 0,
	BROTLI_DECODER_SUCCESS: 1,
	BROTLI_DECODER_NEEDS_MORE_INPUT: 2,
	BROTLI_DECODER_NEEDS_MORE_OUTPUT: 3,
	BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE: -1,
	BROTLI_DECODER_ERROR_FORMAT_RESERVED: -2,
	BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE: -3,
	BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET: -4,
	BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME: -5,
	BROTLI_DECODER_ERROR_FORMAT_CL_SPACE: -6,
	BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE: -7,
	BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT: -8,
	BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1: -9,
	BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2: -10,
	BROTLI_DECODER_ERROR_FORMAT_TRANSFORM: -11,
	BROTLI_DECODER_ERROR_FORMAT_DICTIONARY: -12,
	BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS: -13,
	BROTLI_DECODER_ERROR_FORMAT_PADDING_1: -14,
	BROTLI_DECODER_ERROR_FORMAT_PADDING_2: -15,
	BROTLI_DECODER_ERROR_FORMAT_DISTANCE: -16,
	BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET: -19,
	BROTLI_DECODER_ERROR_INVALID_ARGUMENTS: -20,
	BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES: -21,
	BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS: -22,
	BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP: -25,
	BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1: -26,
	BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2: -27,
	BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES: -30,
	BROTLI_DECODER_ERROR_UNREACHABLE: -31
}, realZlibConstants));

//#endregion
//#region ../node_modules/minizlib/dist/esm/index.js
var esm_exports$1 = /* @__PURE__ */ __exportAll({
	BrotliCompress: () => BrotliCompress,
	BrotliDecompress: () => BrotliDecompress,
	Deflate: () => Deflate,
	DeflateRaw: () => DeflateRaw,
	Gunzip: () => Gunzip,
	Gzip: () => Gzip,
	Inflate: () => Inflate,
	InflateRaw: () => InflateRaw,
	Unzip: () => Unzip,
	Zlib: () => Zlib,
	ZlibError: () => ZlibError,
	ZstdCompress: () => ZstdCompress,
	ZstdDecompress: () => ZstdDecompress,
	constants: () => constants$1
});
const OriginalBufferConcat = Buffer$1.concat;
const desc = Object.getOwnPropertyDescriptor(Buffer$1, "concat");
const noop$2 = (args) => args;
const passthroughBufferConcat = desc?.writable === true || desc?.set !== undefined ? (makeNoOp) => {
	Buffer$1.concat = makeNoOp ? noop$2 : OriginalBufferConcat;
} : (_) => {};
const _superWrite = Symbol("_superWrite");
var ZlibError = class extends Error {
	code;
	errno;
	constructor(err, origin) {
		super("zlib: " + err.message, { cause: err });
		this.code = err.code;
		this.errno = err.errno;
		/* c8 ignore next */
		if (!this.code) this.code = "ZLIB_ERROR";
		this.message = "zlib: " + err.message;
		Error.captureStackTrace(this, origin ?? this.constructor);
	}
	get name() {
		return "ZlibError";
	}
};
const _flushFlag = Symbol("flushFlag");
var ZlibBase = class extends Minipass {
	#sawError = false;
	#ended = false;
	#flushFlag;
	#finishFlushFlag;
	#fullFlushFlag;
	#handle;
	#onError;
	get sawError() {
		return this.#sawError;
	}
	get handle() {
		return this.#handle;
	}
	/* c8 ignore start */
	get flushFlag() {
		return this.#flushFlag;
	}
	/* c8 ignore stop */
	constructor(opts, mode) {
		if (!opts || typeof opts !== "object") throw new TypeError("invalid options for ZlibBase constructor");
		super(opts);
		/* c8 ignore start */
		this.#flushFlag = opts.flush ?? 0;
		this.#finishFlushFlag = opts.finishFlush ?? 0;
		this.#fullFlushFlag = opts.fullFlushFlag ?? 0;
		/* c8 ignore stop */
		if (typeof realZlib[mode] !== "function") {
			throw new TypeError("Compression method not supported: " + mode);
		}
		try {
			this.#handle = new realZlib[mode](opts);
		} catch (er) {
			throw new ZlibError(er, this.constructor);
		}
		this.#onError = (err) => {
			if (this.#sawError) return;
			this.#sawError = true;
			this.close();
			this.emit("error", err);
		};
		this.#handle?.on("error", (er) => this.#onError(new ZlibError(er)));
		this.once("end", () => this.close);
	}
	close() {
		if (this.#handle) {
			this.#handle.close();
			this.#handle = undefined;
			this.emit("close");
		}
	}
	reset() {
		if (!this.#sawError) {
			assert(this.#handle, "zlib binding closed");
			return this.#handle.reset?.();
		}
	}
	flush(flushFlag) {
		if (this.ended) return;
		if (typeof flushFlag !== "number") flushFlag = this.#fullFlushFlag;
		this.write(Object.assign(Buffer$1.alloc(0), { [_flushFlag]: flushFlag }));
	}
	end(chunk, encoding, cb) {
		/* c8 ignore start */
		if (typeof chunk === "function") {
			cb = chunk;
			encoding = undefined;
			chunk = undefined;
		}
		if (typeof encoding === "function") {
			cb = encoding;
			encoding = undefined;
		}
		/* c8 ignore stop */
		if (chunk) {
			if (encoding) this.write(chunk, encoding);
			else this.write(chunk);
		}
		this.flush(this.#finishFlushFlag);
		this.#ended = true;
		return super.end(cb);
	}
	get ended() {
		return this.#ended;
	}
	[_superWrite](data) {
		return super.write(data);
	}
	write(chunk, encoding, cb) {
		if (typeof encoding === "function") cb = encoding, encoding = "utf8";
		if (typeof chunk === "string") chunk = Buffer$1.from(chunk, encoding);
		if (this.#sawError) return;
		assert(this.#handle, "zlib binding closed");
		const nativeHandle = this.#handle._handle;
		const originalNativeClose = nativeHandle.close;
		nativeHandle.close = () => {};
		const originalClose = this.#handle.close;
		this.#handle.close = () => {};
		passthroughBufferConcat(true);
		let result = undefined;
		try {
			const flushFlag = typeof chunk[_flushFlag] === "number" ? chunk[_flushFlag] : this.#flushFlag;
			result = this.#handle._processChunk(chunk, flushFlag);
			passthroughBufferConcat(false);
		} catch (err) {
			passthroughBufferConcat(false);
			this.#onError(new ZlibError(err, this.write));
		} finally {
			if (this.#handle) {
				;
				this.#handle._handle = nativeHandle;
				nativeHandle.close = originalNativeClose;
				this.#handle.close = originalClose;
				this.#handle.removeAllListeners("error");
			}
		}
		if (this.#handle) this.#handle.on("error", (er) => this.#onError(new ZlibError(er, this.write)));
		let writeReturn;
		if (result) {
			if (Array.isArray(result) && result.length > 0) {
				const r = result[0];
				writeReturn = this[_superWrite](Buffer$1.from(r));
				for (let i = 1; i < result.length; i++) {
					writeReturn = this[_superWrite](result[i]);
				}
			} else {
				writeReturn = this[_superWrite](Buffer$1.from(result));
			}
		}
		if (cb) cb();
		return writeReturn;
	}
};
var Zlib = class extends ZlibBase {
	#level;
	#strategy;
	constructor(opts, mode) {
		opts = opts || {};
		opts.flush = opts.flush || constants$1.Z_NO_FLUSH;
		opts.finishFlush = opts.finishFlush || constants$1.Z_FINISH;
		opts.fullFlushFlag = constants$1.Z_FULL_FLUSH;
		super(opts, mode);
		this.#level = opts.level;
		this.#strategy = opts.strategy;
	}
	params(level, strategy) {
		if (this.sawError) return;
		if (!this.handle) throw new Error("cannot switch params when binding is closed");
		/* c8 ignore start */
		if (!this.handle.params) throw new Error("not supported in this implementation");
		/* c8 ignore stop */
		if (this.#level !== level || this.#strategy !== strategy) {
			this.flush(constants$1.Z_SYNC_FLUSH);
			assert(this.handle, "zlib binding closed");
			const origFlush = this.handle.flush;
			this.handle.flush = (flushFlag, cb) => {
				/* c8 ignore start */
				if (typeof flushFlag === "function") {
					cb = flushFlag;
					flushFlag = this.flushFlag;
				}
				/* c8 ignore stop */
				this.flush(flushFlag);
				cb?.();
			};
			try {
				;
				this.handle.params(level, strategy);
			} finally {
				this.handle.flush = origFlush;
			}
			/* c8 ignore start */
			if (this.handle) {
				this.#level = level;
				this.#strategy = strategy;
			}
		}
	}
};
var Deflate = class extends Zlib {
	constructor(opts) {
		super(opts, "Deflate");
	}
};
var Inflate = class extends Zlib {
	constructor(opts) {
		super(opts, "Inflate");
	}
};
var Gzip = class extends Zlib {
	#portable;
	constructor(opts) {
		super(opts, "Gzip");
		this.#portable = opts && !!opts.portable;
	}
	[_superWrite](data) {
		if (!this.#portable) return super[_superWrite](data);
		this.#portable = false;
		data[9] = 255;
		return super[_superWrite](data);
	}
};
var Gunzip = class extends Zlib {
	constructor(opts) {
		super(opts, "Gunzip");
	}
};
var DeflateRaw = class extends Zlib {
	constructor(opts) {
		super(opts, "DeflateRaw");
	}
};
var InflateRaw = class extends Zlib {
	constructor(opts) {
		super(opts, "InflateRaw");
	}
};
var Unzip = class extends Zlib {
	constructor(opts) {
		super(opts, "Unzip");
	}
};
var Brotli = class extends ZlibBase {
	constructor(opts, mode) {
		opts = opts || {};
		opts.flush = opts.flush || constants$1.BROTLI_OPERATION_PROCESS;
		opts.finishFlush = opts.finishFlush || constants$1.BROTLI_OPERATION_FINISH;
		opts.fullFlushFlag = constants$1.BROTLI_OPERATION_FLUSH;
		super(opts, mode);
	}
};
var BrotliCompress = class extends Brotli {
	constructor(opts) {
		super(opts, "BrotliCompress");
	}
};
var BrotliDecompress = class extends Brotli {
	constructor(opts) {
		super(opts, "BrotliDecompress");
	}
};
var Zstd = class extends ZlibBase {
	constructor(opts, mode) {
		opts = opts || {};
		opts.flush = opts.flush || constants$1.ZSTD_e_continue;
		opts.finishFlush = opts.finishFlush || constants$1.ZSTD_e_end;
		opts.fullFlushFlag = constants$1.ZSTD_e_flush;
		super(opts, mode);
	}
};
var ZstdCompress = class extends Zstd {
	constructor(opts) {
		super(opts, "ZstdCompress");
	}
};
var ZstdDecompress = class extends Zstd {
	constructor(opts) {
		super(opts, "ZstdDecompress");
	}
};

//#endregion
//#region ../node_modules/lodash/lodash.js
var require_lodash = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* @license
	* Lodash <https://lodash.com/>
	* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
	* Released under MIT license <https://lodash.com/license>
	* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
	* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
	*/
	;
	(function() {
		/** Used as a safe reference for `undefined` in pre-ES5 environments. */
		var undefined;
		/** Used as the semantic version number. */
		var VERSION = "4.17.21";
		/** Used as the size to enable large array optimizations. */
		var LARGE_ARRAY_SIZE = 200;
		/** Error message constants. */
		var CORE_ERROR_TEXT = "Unsupported core-js use. Try https://npms.io/search?q=ponyfill.", FUNC_ERROR_TEXT = "Expected a function", INVALID_TEMPL_VAR_ERROR_TEXT = "Invalid `variable` option passed into `_.template`";
		/** Used to stand-in for `undefined` hash values. */
		var HASH_UNDEFINED = "__lodash_hash_undefined__";
		/** Used as the maximum memoize cache size. */
		var MAX_MEMOIZE_SIZE = 500;
		/** Used as the internal argument placeholder. */
		var PLACEHOLDER = "__lodash_placeholder__";
		/** Used to compose bitmasks for cloning. */
		var CLONE_DEEP_FLAG = 1, CLONE_FLAT_FLAG = 2, CLONE_SYMBOLS_FLAG = 4;
		/** Used to compose bitmasks for value comparisons. */
		var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2;
		/** Used to compose bitmasks for function metadata. */
		var WRAP_BIND_FLAG = 1, WRAP_BIND_KEY_FLAG = 2, WRAP_CURRY_BOUND_FLAG = 4, WRAP_CURRY_FLAG = 8, WRAP_CURRY_RIGHT_FLAG = 16, WRAP_PARTIAL_FLAG = 32, WRAP_PARTIAL_RIGHT_FLAG = 64, WRAP_ARY_FLAG = 128, WRAP_REARG_FLAG = 256, WRAP_FLIP_FLAG = 512;
		/** Used as default options for `_.truncate`. */
		var DEFAULT_TRUNC_LENGTH = 30, DEFAULT_TRUNC_OMISSION = "...";
		/** Used to detect hot functions by number of calls within a span of milliseconds. */
		var HOT_COUNT = 800, HOT_SPAN = 16;
		/** Used to indicate the type of lazy iteratees. */
		var LAZY_FILTER_FLAG = 1, LAZY_MAP_FLAG = 2, LAZY_WHILE_FLAG = 3;
		/** Used as references for various `Number` constants. */
		var INFINITY = 1 / 0, MAX_SAFE_INTEGER = 9007199254740991, MAX_INTEGER = 17976931348623157e292, NAN = 0 / 0;
		/** Used as references for the maximum length and index of an array. */
		var MAX_ARRAY_LENGTH = 4294967295, MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1, HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;
		/** Used to associate wrap methods with their bit flags. */
		var wrapFlags = [
			["ary", WRAP_ARY_FLAG],
			["bind", WRAP_BIND_FLAG],
			["bindKey", WRAP_BIND_KEY_FLAG],
			["curry", WRAP_CURRY_FLAG],
			["curryRight", WRAP_CURRY_RIGHT_FLAG],
			["flip", WRAP_FLIP_FLAG],
			["partial", WRAP_PARTIAL_FLAG],
			["partialRight", WRAP_PARTIAL_RIGHT_FLAG],
			["rearg", WRAP_REARG_FLAG]
		];
		/** `Object#toString` result references. */
		var argsTag = "[object Arguments]", arrayTag = "[object Array]", asyncTag = "[object AsyncFunction]", boolTag = "[object Boolean]", dateTag = "[object Date]", domExcTag = "[object DOMException]", errorTag = "[object Error]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", mapTag = "[object Map]", numberTag = "[object Number]", nullTag = "[object Null]", objectTag = "[object Object]", promiseTag = "[object Promise]", proxyTag = "[object Proxy]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", symbolTag = "[object Symbol]", undefinedTag = "[object Undefined]", weakMapTag = "[object WeakMap]", weakSetTag = "[object WeakSet]";
		var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]";
		/** Used to match empty string literals in compiled template source. */
		var reEmptyStringLeading = /\b__p \+= '';/g, reEmptyStringMiddle = /\b(__p \+=) '' \+/g, reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g;
		/** Used to match HTML entities and HTML characters. */
		var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g, reUnescapedHtml = /[&<>"']/g, reHasEscapedHtml = RegExp(reEscapedHtml.source), reHasUnescapedHtml = RegExp(reUnescapedHtml.source);
		/** Used to match template delimiters. */
		var reEscape = /<%-([\s\S]+?)%>/g, reEvaluate = /<%([\s\S]+?)%>/g, reInterpolate = /<%=([\s\S]+?)%>/g;
		/** Used to match property names within property paths. */
		var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, reIsPlainProp = /^\w*$/, rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
		/**
		* Used to match `RegExp`
		* [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
		*/
		var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, reHasRegExpChar = RegExp(reRegExpChar.source);
		/** Used to match leading whitespace. */
		var reTrimStart = /^\s+/;
		/** Used to match a single whitespace character. */
		var reWhitespace = /\s/;
		/** Used to match wrap detail comments. */
		var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/, reSplitDetails = /,? & /;
		/** Used to match words composed of alphanumeric characters. */
		var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;
		/**
		* Used to validate the `validate` option in `_.template` variable.
		*
		* Forbids characters which could potentially change the meaning of the function argument definition:
		* - "()," (modification of function parameters)
		* - "=" (default value)
		* - "[]{}" (destructuring of function parameters)
		* - "/" (beginning of a comment)
		* - whitespace
		*/
		var reForbiddenIdentifierChars = /[()=,{}\[\]\/\s]/;
		/** Used to match backslashes in property paths. */
		var reEscapeChar = /\\(\\)?/g;
		/**
		* Used to match
		* [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).
		*/
		var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;
		/** Used to match `RegExp` flags from their coerced string values. */
		var reFlags = /\w*$/;
		/** Used to detect bad signed hexadecimal string values. */
		var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
		/** Used to detect binary string values. */
		var reIsBinary = /^0b[01]+$/i;
		/** Used to detect host constructors (Safari). */
		var reIsHostCtor = /^\[object .+?Constructor\]$/;
		/** Used to detect octal string values. */
		var reIsOctal = /^0o[0-7]+$/i;
		/** Used to detect unsigned integer values. */
		var reIsUint = /^(?:0|[1-9]\d*)$/;
		/** Used to match Latin Unicode letters (excluding mathematical operators). */
		var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;
		/** Used to ensure capturing order of template delimiters. */
		var reNoMatch = /($^)/;
		/** Used to match unescaped characters in compiled string literals. */
		var reUnescapedString = /['\n\r\u2028\u2029\\]/g;
		/** Used to compose unicode character classes. */
		var rsAstralRange = "\\ud800-\\udfff", rsComboMarksRange = "\\u0300-\\u036f", reComboHalfMarksRange = "\\ufe20-\\ufe2f", rsComboSymbolsRange = "\\u20d0-\\u20ff", rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, rsDingbatRange = "\\u2700-\\u27bf", rsLowerRange = "a-z\\xdf-\\xf6\\xf8-\\xff", rsMathOpRange = "\\xac\\xb1\\xd7\\xf7", rsNonCharRange = "\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf", rsPunctuationRange = "\\u2000-\\u206f", rsSpaceRange = " \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", rsUpperRange = "A-Z\\xc0-\\xd6\\xd8-\\xde", rsVarRange = "\\ufe0e\\ufe0f", rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;
		/** Used to compose unicode capture groups. */
		var rsApos = "['’]", rsAstral = "[" + rsAstralRange + "]", rsBreak = "[" + rsBreakRange + "]", rsCombo = "[" + rsComboRange + "]", rsDigits = "\\d+", rsDingbat = "[" + rsDingbatRange + "]", rsLower = "[" + rsLowerRange + "]", rsMisc = "[^" + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + "]", rsFitz = "\\ud83c[\\udffb-\\udfff]", rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")", rsNonAstral = "[^" + rsAstralRange + "]", rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}", rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]", rsUpper = "[" + rsUpperRange + "]", rsZWJ = "\\u200d";
		/** Used to compose unicode regexes. */
		var rsMiscLower = "(?:" + rsLower + "|" + rsMisc + ")", rsMiscUpper = "(?:" + rsUpper + "|" + rsMisc + ")", rsOptContrLower = "(?:" + rsApos + "(?:d|ll|m|re|s|t|ve))?", rsOptContrUpper = "(?:" + rsApos + "(?:D|LL|M|RE|S|T|VE))?", reOptMod = rsModifier + "?", rsOptVar = "[" + rsVarRange + "]?", rsOptJoin = "(?:" + rsZWJ + "(?:" + [
			rsNonAstral,
			rsRegional,
			rsSurrPair
		].join("|") + ")" + rsOptVar + reOptMod + ")*", rsOrdLower = "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", rsOrdUpper = "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", rsSeq = rsOptVar + reOptMod + rsOptJoin, rsEmoji = "(?:" + [
			rsDingbat,
			rsRegional,
			rsSurrPair
		].join("|") + ")" + rsSeq, rsSymbol = "(?:" + [
			rsNonAstral + rsCombo + "?",
			rsCombo,
			rsRegional,
			rsSurrPair,
			rsAstral
		].join("|") + ")";
		/** Used to match apostrophes. */
		var reApos = RegExp(rsApos, "g");
		/**
		* Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and
		* [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).
		*/
		var reComboMark = RegExp(rsCombo, "g");
		/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */
		var reUnicode = RegExp(rsFitz + "(?=" + rsFitz + ")|" + rsSymbol + rsSeq, "g");
		/** Used to match complex or compound words. */
		var reUnicodeWord = RegExp([
			rsUpper + "?" + rsLower + "+" + rsOptContrLower + "(?=" + [
				rsBreak,
				rsUpper,
				"$"
			].join("|") + ")",
			rsMiscUpper + "+" + rsOptContrUpper + "(?=" + [
				rsBreak,
				rsUpper + rsMiscLower,
				"$"
			].join("|") + ")",
			rsUpper + "?" + rsMiscLower + "+" + rsOptContrLower,
			rsUpper + "+" + rsOptContrUpper,
			rsOrdUpper,
			rsOrdLower,
			rsDigits,
			rsEmoji
		].join("|"), "g");
		/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */
		var reHasUnicode = RegExp("[" + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + "]");
		/** Used to detect strings that need a more robust regexp to match words. */
		var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;
		/** Used to assign default `context` object properties. */
		var contextProps = [
			"Array",
			"Buffer",
			"DataView",
			"Date",
			"Error",
			"Float32Array",
			"Float64Array",
			"Function",
			"Int8Array",
			"Int16Array",
			"Int32Array",
			"Map",
			"Math",
			"Object",
			"Promise",
			"RegExp",
			"Set",
			"String",
			"Symbol",
			"TypeError",
			"Uint8Array",
			"Uint8ClampedArray",
			"Uint16Array",
			"Uint32Array",
			"WeakMap",
			"_",
			"clearTimeout",
			"isFinite",
			"parseInt",
			"setTimeout"
		];
		/** Used to make template sourceURLs easier to identify. */
		var templateCounter = -1;
		/** Used to identify `toStringTag` values of typed arrays. */
		var typedArrayTags = {};
		typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
		typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
		/** Used to identify `toStringTag` values supported by `_.clone`. */
		var cloneableTags = {};
		cloneableTags[argsTag] = cloneableTags[arrayTag] = cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = cloneableTags[boolTag] = cloneableTags[dateTag] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag] = cloneableTags[numberTag] = cloneableTags[objectTag] = cloneableTags[regexpTag] = cloneableTags[setTag] = cloneableTags[stringTag] = cloneableTags[symbolTag] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
		cloneableTags[errorTag] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false;
		/** Used to map Latin Unicode letters to basic Latin letters. */
		var deburredLetters = {
			"À": "A",
			"Á": "A",
			"Â": "A",
			"Ã": "A",
			"Ä": "A",
			"Å": "A",
			"à": "a",
			"á": "a",
			"â": "a",
			"ã": "a",
			"ä": "a",
			"å": "a",
			"Ç": "C",
			"ç": "c",
			"Ð": "D",
			"ð": "d",
			"È": "E",
			"É": "E",
			"Ê": "E",
			"Ë": "E",
			"è": "e",
			"é": "e",
			"ê": "e",
			"ë": "e",
			"Ì": "I",
			"Í": "I",
			"Î": "I",
			"Ï": "I",
			"ì": "i",
			"í": "i",
			"î": "i",
			"ï": "i",
			"Ñ": "N",
			"ñ": "n",
			"Ò": "O",
			"Ó": "O",
			"Ô": "O",
			"Õ": "O",
			"Ö": "O",
			"Ø": "O",
			"ò": "o",
			"ó": "o",
			"ô": "o",
			"õ": "o",
			"ö": "o",
			"ø": "o",
			"Ù": "U",
			"Ú": "U",
			"Û": "U",
			"Ü": "U",
			"ù": "u",
			"ú": "u",
			"û": "u",
			"ü": "u",
			"Ý": "Y",
			"ý": "y",
			"ÿ": "y",
			"Æ": "Ae",
			"æ": "ae",
			"Þ": "Th",
			"þ": "th",
			"ß": "ss",
			"Ā": "A",
			"Ă": "A",
			"Ą": "A",
			"ā": "a",
			"ă": "a",
			"ą": "a",
			"Ć": "C",
			"Ĉ": "C",
			"Ċ": "C",
			"Č": "C",
			"ć": "c",
			"ĉ": "c",
			"ċ": "c",
			"č": "c",
			"Ď": "D",
			"Đ": "D",
			"ď": "d",
			"đ": "d",
			"Ē": "E",
			"Ĕ": "E",
			"Ė": "E",
			"Ę": "E",
			"Ě": "E",
			"ē": "e",
			"ĕ": "e",
			"ė": "e",
			"ę": "e",
			"ě": "e",
			"Ĝ": "G",
			"Ğ": "G",
			"Ġ": "G",
			"Ģ": "G",
			"ĝ": "g",
			"ğ": "g",
			"ġ": "g",
			"ģ": "g",
			"Ĥ": "H",
			"Ħ": "H",
			"ĥ": "h",
			"ħ": "h",
			"Ĩ": "I",
			"Ī": "I",
			"Ĭ": "I",
			"Į": "I",
			"İ": "I",
			"ĩ": "i",
			"ī": "i",
			"ĭ": "i",
			"į": "i",
			"ı": "i",
			"Ĵ": "J",
			"ĵ": "j",
			"Ķ": "K",
			"ķ": "k",
			"ĸ": "k",
			"Ĺ": "L",
			"Ļ": "L",
			"Ľ": "L",
			"Ŀ": "L",
			"Ł": "L",
			"ĺ": "l",
			"ļ": "l",
			"ľ": "l",
			"ŀ": "l",
			"ł": "l",
			"Ń": "N",
			"Ņ": "N",
			"Ň": "N",
			"Ŋ": "N",
			"ń": "n",
			"ņ": "n",
			"ň": "n",
			"ŋ": "n",
			"Ō": "O",
			"Ŏ": "O",
			"Ő": "O",
			"ō": "o",
			"ŏ": "o",
			"ő": "o",
			"Ŕ": "R",
			"Ŗ": "R",
			"Ř": "R",
			"ŕ": "r",
			"ŗ": "r",
			"ř": "r",
			"Ś": "S",
			"Ŝ": "S",
			"Ş": "S",
			"Š": "S",
			"ś": "s",
			"ŝ": "s",
			"ş": "s",
			"š": "s",
			"Ţ": "T",
			"Ť": "T",
			"Ŧ": "T",
			"ţ": "t",
			"ť": "t",
			"ŧ": "t",
			"Ũ": "U",
			"Ū": "U",
			"Ŭ": "U",
			"Ů": "U",
			"Ű": "U",
			"Ų": "U",
			"ũ": "u",
			"ū": "u",
			"ŭ": "u",
			"ů": "u",
			"ű": "u",
			"ų": "u",
			"Ŵ": "W",
			"ŵ": "w",
			"Ŷ": "Y",
			"ŷ": "y",
			"Ÿ": "Y",
			"Ź": "Z",
			"Ż": "Z",
			"Ž": "Z",
			"ź": "z",
			"ż": "z",
			"ž": "z",
			"Ĳ": "IJ",
			"ĳ": "ij",
			"Œ": "Oe",
			"œ": "oe",
			"ŉ": "'n",
			"ſ": "s"
		};
		/** Used to map characters to HTML entities. */
		var htmlEscapes = {
			"&": "&amp;",
			"<": "&lt;",
			">": "&gt;",
			"\"": "&quot;",
			"'": "&#39;"
		};
		/** Used to map HTML entities to characters. */
		var htmlUnescapes = {
			"&amp;": "&",
			"&lt;": "<",
			"&gt;": ">",
			"&quot;": "\"",
			"&#39;": "'"
		};
		/** Used to escape characters for inclusion in compiled string literals. */
		var stringEscapes = {
			"\\": "\\",
			"'": "'",
			"\n": "n",
			"\r": "r",
			"\u2028": "u2028",
			"\u2029": "u2029"
		};
		/** Built-in method references without a dependency on `root`. */
		var freeParseFloat = parseFloat, freeParseInt = parseInt;
		/** Detect free variable `global` from Node.js. */
		var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
		/** Detect free variable `self`. */
		var freeSelf = typeof self == "object" && self && self.Object === Object && self;
		/** Used as a reference to the global object. */
		var root = freeGlobal || freeSelf || Function("return this")();
		/** Detect free variable `exports`. */
		var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
		/** Detect free variable `module`. */
		var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module;
		/** Detect the popular CommonJS extension `module.exports`. */
		var moduleExports = freeModule && freeModule.exports === freeExports;
		/** Detect free variable `process` from Node.js. */
		var freeProcess = moduleExports && freeGlobal.process;
		/** Used to access faster Node.js helpers. */
		var nodeUtil = function() {
			try {
				var types = freeModule && freeModule.require && freeModule.require("util").types;
				if (types) {
					return types;
				}
				return freeProcess && freeProcess.binding && freeProcess.binding("util");
			} catch (e) {}
		}();
		var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer, nodeIsDate = nodeUtil && nodeUtil.isDate, nodeIsMap = nodeUtil && nodeUtil.isMap, nodeIsRegExp = nodeUtil && nodeUtil.isRegExp, nodeIsSet = nodeUtil && nodeUtil.isSet, nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
		/**
		* A faster alternative to `Function#apply`, this function invokes `func`
		* with the `this` binding of `thisArg` and the arguments of `args`.
		*
		* @private
		* @param {Function} func The function to invoke.
		* @param {*} thisArg The `this` binding of `func`.
		* @param {Array} args The arguments to invoke `func` with.
		* @returns {*} Returns the result of `func`.
		*/
		function apply(func, thisArg, args) {
			switch (args.length) {
				case 0: return func.call(thisArg);
				case 1: return func.call(thisArg, args[0]);
				case 2: return func.call(thisArg, args[0], args[1]);
				case 3: return func.call(thisArg, args[0], args[1], args[2]);
			}
			return func.apply(thisArg, args);
		}
		/**
		* A specialized version of `baseAggregator` for arrays.
		*
		* @private
		* @param {Array} [array] The array to iterate over.
		* @param {Function} setter The function to set `accumulator` values.
		* @param {Function} iteratee The iteratee to transform keys.
		* @param {Object} accumulator The initial aggregated object.
		* @returns {Function} Returns `accumulator`.
		*/
		function arrayAggregator(array, setter, iteratee, accumulator) {
			var index = -1, length = array == null ? 0 : array.length;
			while (++index < length) {
				var value = array[index];
				setter(accumulator, value, iteratee(value), array);
			}
			return accumulator;
		}
		/**
		* A specialized version of `_.forEach` for arrays without support for
		* iteratee shorthands.
		*
		* @private
		* @param {Array} [array] The array to iterate over.
		* @param {Function} iteratee The function invoked per iteration.
		* @returns {Array} Returns `array`.
		*/
		function arrayEach(array, iteratee) {
			var index = -1, length = array == null ? 0 : array.length;
			while (++index < length) {
				if (iteratee(array[index], index, array) === false) {
					break;
				}
			}
			return array;
		}
		/**
		* A specialized version of `_.forEachRight` for arrays without support for
		* iteratee shorthands.
		*
		* @private
		* @param {Array} [array] The array to iterate over.
		* @param {Function} iteratee The function invoked per iteration.
		* @returns {Array} Returns `array`.
		*/
		function arrayEachRight(array, iteratee) {
			var length = array == null ? 0 : array.length;
			while (length--) {
				if (iteratee(array[length], length, array) === false) {
					break;
				}
			}
			return array;
		}
		/**
		* A specialized version of `_.every` for arrays without support for
		* iteratee shorthands.
		*
		* @private
		* @param {Array} [array] The array to iterate over.
		* @param {Function} predicate The function invoked per iteration.
		* @returns {boolean} Returns `true` if all elements pass the predicate check,
		*  else `false`.
		*/
		function arrayEvery(array, predicate) {
			var index = -1, length = array == null ? 0 : array.length;
			while (++index < length) {
				if (!predicate(array[index], index, array)) {
					return false;
				}
			}
			return true;
		}
		/**
		* A specialized version of `_.filter` for arrays without support for
		* iteratee shorthands.
		*
		* @private
		* @param {Array} [array] The array to iterate over.
		* @param {Function} predicate The function invoked per iteration.
		* @returns {Array} Returns the new filtered array.
		*/
		function arrayFilter(array, predicate) {
			var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = [];
			while (++index < length) {
				var value = array[index];
				if (predicate(value, index, array)) {
					result[resIndex++] = value;
				}
			}
			return result;
		}
		/**
		* A specialized version of `_.includes` for arrays without support for
		* specifying an index to search from.
		*
		* @private
		* @param {Array} [array] The array to inspect.
		* @param {*} target The value to search for.
		* @returns {boolean} Returns `true` if `target` is found, else `false`.
		*/
		function arrayIncludes(array, value) {
			var length = array == null ? 0 : array.length;
			return !!length && baseIndexOf(array, value, 0) > -1;
		}
		/**
		* This function is like `arrayIncludes` except that it accepts a comparator.
		*
		* @private
		* @param {Array} [array] The array to inspect.
		* @param {*} target The value to search for.
		* @param {Function} comparator The comparator invoked per element.
		* @returns {boolean} Returns `true` if `target` is found, else `false`.
		*/
		function arrayIncludesWith(array, value, comparator) {
			var index = -1, length = array == null ? 0 : array.length;
			while (++index < length) {
				if (comparator(value, array[index])) {
					return true;
				}
			}
			return false;
		}
		/**
		* A specialized version of `_.map` for arrays without support for iteratee
		* shorthands.
		*
		* @private
		* @param {Array} [array] The array to iterate over.
		* @param {Function} iteratee The function invoked per iteration.
		* @returns {Array} Returns the new mapped array.
		*/
		function arrayMap(array, iteratee) {
			var index = -1, length = array == null ? 0 : array.length, result = Array(length);
			while (++index < length) {
				result[index] = iteratee(array[index], index, array);
			}
			return result;
		}
		/**
		* Appends the elements of `values` to `array`.
		*
		* @private
		* @param {Array} array The array to modify.
		* @param {Array} values The values to append.
		* @returns {Array} Returns `array`.
		*/
		function arrayPush(array, values) {
			var index = -1, length = values.length, offset = array.length;
			while (++index < length) {
				array[offset + index] = values[index];
			}
			return array;
		}
		/**
		* A specialized version of `_.reduce` for arrays without support for
		* iteratee shorthands.
		*
		* @private
		* @param {Array} [array] The array to iterate over.
		* @param {Function} iteratee The function invoked per iteration.
		* @param {*} [accumulator] The initial value.
		* @param {boolean} [initAccum] Specify using the first element of `array` as
		*  the initial value.
		* @returns {*} Returns the accumulated value.
		*/
		function arrayReduce(array, iteratee, accumulator, initAccum) {
			var index = -1, length = array == null ? 0 : array.length;
			if (initAccum && length) {
				accumulator = array[++index];
			}
			while (++index < length) {
				accumulator = iteratee(accumulator, array[index], index, array);
			}
			return accumulator;
		}
		/**
		* A specialized version of `_.reduceRight` for arrays without support for
		* iteratee shorthands.
		*
		* @private
		* @param {Array} [array] The array to iterate over.
		* @param {Function} iteratee The function invoked per iteration.
		* @param {*} [accumulator] The initial value.
		* @param {boolean} [initAccum] Specify using the last element of `array` as
		*  the initial value.
		* @returns {*} Returns the accumulated value.
		*/
		function arrayReduceRight(array, iteratee, accumulator, initAccum) {
			var length = array == null ? 0 : array.length;
			if (initAccum && length) {
				accumulator = array[--length];
			}
			while (length--) {
				accumulator = iteratee(accumulator, array[length], length, array);
			}
			return accumulator;
		}
		/**
		* A specialized version of `_.some` for arrays without support for iteratee
		* shorthands.
		*
		* @private
		* @param {Array} [array] The array to iterate over.
		* @param {Function} predicate The function invoked per iteration.
		* @returns {boolean} Returns `true` if any element passes the predicate check,
		*  else `false`.
		*/
		function arraySome(array, predicate) {
			var index = -1, length = array == null ? 0 : array.length;
			while (++index < length) {
				if (predicate(array[index], index, array)) {
					return true;
				}
			}
			return false;
		}
		/**
		* Gets the size of an ASCII `string`.
		*
		* @private
		* @param {string} string The string inspect.
		* @returns {number} Returns the string size.
		*/
		var asciiSize = baseProperty("length");
		/**
		* Converts an ASCII `string` to an array.
		*
		* @private
		* @param {string} string The string to convert.
		* @returns {Array} Returns the converted array.
		*/
		function asciiToArray(string) {
			return string.split("");
		}
		/**
		* Splits an ASCII `string` into an array of its words.
		*
		* @private
		* @param {string} The string to inspect.
		* @returns {Array} Returns the words of `string`.
		*/
		function asciiWords(string) {
			return string.match(reAsciiWord) || [];
		}
		/**
		* The base implementation of methods like `_.findKey` and `_.findLastKey`,
		* without support for iteratee shorthands, which iterates over `collection`
		* using `eachFunc`.
		*
		* @private
		* @param {Array|Object} collection The collection to inspect.
		* @param {Function} predicate The function invoked per iteration.
		* @param {Function} eachFunc The function to iterate over `collection`.
		* @returns {*} Returns the found element or its key, else `undefined`.
		*/
		function baseFindKey(collection, predicate, eachFunc) {
			var result;
			eachFunc(collection, function(value, key, collection) {
				if (predicate(value, key, collection)) {
					result = key;
					return false;
				}
			});
			return result;
		}
		/**
		* The base implementation of `_.findIndex` and `_.findLastIndex` without
		* support for iteratee shorthands.
		*
		* @private
		* @param {Array} array The array to inspect.
		* @param {Function} predicate The function invoked per iteration.
		* @param {number} fromIndex The index to search from.
		* @param {boolean} [fromRight] Specify iterating from right to left.
		* @returns {number} Returns the index of the matched value, else `-1`.
		*/
		function baseFindIndex(array, predicate, fromIndex, fromRight) {
			var length = array.length, index = fromIndex + (fromRight ? 1 : -1);
			while (fromRight ? index-- : ++index < length) {
				if (predicate(array[index], index, array)) {
					return index;
				}
			}
			return -1;
		}
		/**
		* The base implementation of `_.indexOf` without `fromIndex` bounds checks.
		*
		* @private
		* @param {Array} array The array to inspect.
		* @param {*} value The value to search for.
		* @param {number} fromIndex The index to search from.
		* @returns {number} Returns the index of the matched value, else `-1`.
		*/
		function baseIndexOf(array, value, fromIndex) {
			return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
		}
		/**
		* This function is like `baseIndexOf` except that it accepts a comparator.
		*
		* @private
		* @param {Array} array The array to inspect.
		* @param {*} value The value to search for.
		* @param {number} fromIndex The index to search from.
		* @param {Function} comparator The comparator invoked per element.
		* @returns {number} Returns the index of the matched value, else `-1`.
		*/
		function baseIndexOfWith(array, value, fromIndex, comparator) {
			var index = fromIndex - 1, length = array.length;
			while (++index < length) {
				if (comparator(array[index], value)) {
					return index;
				}
			}
			return -1;
		}
		/**
		* The base implementation of `_.isNaN` without support for number objects.
		*
		* @private
		* @param {*} value The value to check.
		* @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
		*/
		function baseIsNaN(value) {
			return value !== value;
		}
		/**
		* The base implementation of `_.mean` and `_.meanBy` without support for
		* iteratee shorthands.
		*
		* @private
		* @param {Array} array The array to iterate over.
		* @param {Function} iteratee The function invoked per iteration.
		* @returns {number} Returns the mean.
		*/
		function baseMean(array, iteratee) {
			var length = array == null ? 0 : array.length;
			return length ? baseSum(array, iteratee) / length : NAN;
		}
		/**
		* The base implementation of `_.property` without support for deep paths.
		*
		* @private
		* @param {string} key The key of the property to get.
		* @returns {Function} Returns the new accessor function.
		*/
		function baseProperty(key) {
			return function(object) {
				return object == null ? undefined : object[key];
			};
		}
		/**
		* The base implementation of `_.propertyOf` without support for deep paths.
		*
		* @private
		* @param {Object} object The object to query.
		* @returns {Function} Returns the new accessor function.
		*/
		function basePropertyOf(object) {
			return function(key) {
				return object == null ? undefined : object[key];
			};
		}
		/**
		* The base implementation of `_.reduce` and `_.reduceRight`, without support
		* for iteratee shorthands, which iterates over `collection` using `eachFunc`.
		*
		* @private
		* @param {Array|Object} collection The collection to iterate over.
		* @param {Function} iteratee The function invoked per iteration.
		* @param {*} accumulator The initial value.
		* @param {boolean} initAccum Specify using the first or last element of
		*  `collection` as the initial value.
		* @param {Function} eachFunc The function to iterate over `collection`.
		* @returns {*} Returns the accumulated value.
		*/
		function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {
			eachFunc(collection, function(value, index, collection) {
				accumulator = initAccum ? (initAccum = false, value) : iteratee(accumulator, value, index, collection);
			});
			return accumulator;
		}
		/**
		* The base implementation of `_.sortBy` which uses `comparer` to define the
		* sort order of `array` and replaces criteria objects with their corresponding
		* values.
		*
		* @private
		* @param {Array} array The array to sort.
		* @param {Function} comparer The function to define sort order.
		* @returns {Array} Returns `array`.
		*/
		function baseSortBy(array, comparer) {
			var length = array.length;
			array.sort(comparer);
			while (length--) {
				array[length] = array[length].value;
			}
			return array;
		}
		/**
		* The base implementation of `_.sum` and `_.sumBy` without support for
		* iteratee shorthands.
		*
		* @private
		* @param {Array} array The array to iterate over.
		* @param {Function} iteratee The function invoked per iteration.
		* @returns {number} Returns the sum.
		*/
		function baseSum(array, iteratee) {
			var result, index = -1, length = array.length;
			while (++index < length) {
				var current = iteratee(array[index]);
				if (current !== undefined) {
					result = result === undefined ? current : result + current;
				}
			}
			return result;
		}
		/**
		* The base implementation of `_.times` without support for iteratee shorthands
		* or max array length checks.
		*
		* @private
		* @param {number} n The number of times to invoke `iteratee`.
		* @param {Function} iteratee The function invoked per iteration.
		* @returns {Array} Returns the array of results.
		*/
		function baseTimes(n, iteratee) {
			var index = -1, result = Array(n);
			while (++index < n) {
				result[index] = iteratee(index);
			}
			return result;
		}
		/**
		* The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array
		* of key-value pairs for `object` corresponding to the property names of `props`.
		*
		* @private
		* @param {Object} object The object to query.
		* @param {Array} props The property names to get values for.
		* @returns {Object} Returns the key-value pairs.
		*/
		function baseToPairs(object, props) {
			return arrayMap(props, function(key) {
				return [key, object[key]];
			});
		}
		/**
		* The base implementation of `_.trim`.
		*
		* @private
		* @param {string} string The string to trim.
		* @returns {string} Returns the trimmed string.
		*/
		function baseTrim(string) {
			return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, "") : string;
		}
		/**
		* The base implementation of `_.unary` without support for storing metadata.
		*
		* @private
		* @param {Function} func The function to cap arguments for.
		* @returns {Function} Returns the new capped function.
		*/
		function baseUnary(func) {
			return function(value) {
				return func(value);
			};
		}
		/**
		* The base implementation of `_.values` and `_.valuesIn` which creates an
		* array of `object` property values corresponding to the property names
		* of `props`.
		*
		* @private
		* @param {Object} object The object to query.
		* @param {Array} props The property names to get values for.
		* @returns {Object} Returns the array of property values.
		*/
		function baseValues(object, props) {
			return arrayMap(props, function(key) {
				return object[key];
			});
		}
		/**
		* Checks if a `cache` value for `key` exists.
		*
		* @private
		* @param {Object} cache The cache to query.
		* @param {string} key The key of the entry to check.
		* @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
		*/
		function cacheHas(cache, key) {
			return cache.has(key);
		}
		/**
		* Used by `_.trim` and `_.trimStart` to get the index of the first string symbol
		* that is not found in the character symbols.
		*
		* @private
		* @param {Array} strSymbols The string symbols to inspect.
		* @param {Array} chrSymbols The character symbols to find.
		* @returns {number} Returns the index of the first unmatched string symbol.
		*/
		function charsStartIndex(strSymbols, chrSymbols) {
			var index = -1, length = strSymbols.length;
			while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}
			return index;
		}
		/**
		* Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol
		* that is not found in the character symbols.
		*
		* @private
		* @param {Array} strSymbols The string symbols to inspect.
		* @param {Array} chrSymbols The character symbols to find.
		* @returns {number} Returns the index of the last unmatched string symbol.
		*/
		function charsEndIndex(strSymbols, chrSymbols) {
			var index = strSymbols.length;
			while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}
			return index;
		}
		/**
		* Gets the number of `placeholder` occurrences in `array`.
		*
		* @private
		* @param {Array} array The array to inspect.
		* @param {*} placeholder The placeholder to search for.
		* @returns {number} Returns the placeholder count.
		*/
		function countHolders(array, placeholder) {
			var length = array.length, result = 0;
			while (length--) {
				if (array[length] === placeholder) {
					++result;
				}
			}
			return result;
		}
		/**
		* Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A
		* letters to basic Latin letters.
		*
		* @private
		* @param {string} letter The matched letter to deburr.
		* @returns {string} Returns the deburred letter.
		*/
		var deburrLetter = basePropertyOf(deburredLetters);
		/**
		* Used by `_.escape` to convert characters to HTML entities.
		*
		* @private
		* @param {string} chr The matched character to escape.
		* @returns {string} Returns the escaped character.
		*/
		var escapeHtmlChar = basePropertyOf(htmlEscapes);
		/**
		* Used by `_.template` to escape characters for inclusion in compiled string literals.
		*
		* @private
		* @param {string} chr The matched character to escape.
		* @returns {string} Returns the escaped character.
		*/
		function escapeStringChar(chr) {
			return "\\" + stringEscapes[chr];
		}
		/**
		* Gets the value at `key` of `object`.
		*
		* @private
		* @param {Object} [object] The object to query.
		* @param {string} key The key of the property to get.
		* @returns {*} Returns the property value.
		*/
		function getValue(object, key) {
			return object == null ? undefined : object[key];
		}
		/**
		* Checks if `string` contains Unicode symbols.
		*
		* @private
		* @param {string} string The string to inspect.
		* @returns {boolean} Returns `true` if a symbol is found, else `false`.
		*/
		function hasUnicode(string) {
			return reHasUnicode.test(string);
		}
		/**
		* Checks if `string` contains a word composed of Unicode symbols.
		*
		* @private
		* @param {string} string The string to inspect.
		* @returns {boolean} Returns `true` if a word is found, else `false`.
		*/
		function hasUnicodeWord(string) {
			return reHasUnicodeWord.test(string);
		}
		/**
		* Converts `iterator` to an array.
		*
		* @private
		* @param {Object} iterator The iterator to convert.
		* @returns {Array} Returns the converted array.
		*/
		function iteratorToArray(iterator) {
			var data, result = [];
			while (!(data = iterator.next()).done) {
				result.push(data.value);
			}
			return result;
		}
		/**
		* Converts `map` to its key-value pairs.
		*
		* @private
		* @param {Object} map The map to convert.
		* @returns {Array} Returns the key-value pairs.
		*/
		function mapToArray(map) {
			var index = -1, result = Array(map.size);
			map.forEach(function(value, key) {
				result[++index] = [key, value];
			});
			return result;
		}
		/**
		* Creates a unary function that invokes `func` with its argument transformed.
		*
		* @private
		* @param {Function} func The function to wrap.
		* @param {Function} transform The argument transform.
		* @returns {Function} Returns the new function.
		*/
		function overArg(func, transform) {
			return function(arg) {
				return func(transform(arg));
			};
		}
		/**
		* Replaces all `placeholder` elements in `array` with an internal placeholder
		* and returns an array of their indexes.
		*
		* @private
		* @param {Array} array The array to modify.
		* @param {*} placeholder The placeholder to replace.
		* @returns {Array} Returns the new array of placeholder indexes.
		*/
		function replaceHolders(array, placeholder) {
			var index = -1, length = array.length, resIndex = 0, result = [];
			while (++index < length) {
				var value = array[index];
				if (value === placeholder || value === PLACEHOLDER) {
					array[index] = PLACEHOLDER;
					result[resIndex++] = index;
				}
			}
			return result;
		}
		/**
		* Converts `set` to an array of its values.
		*
		* @private
		* @param {Object} set The set to convert.
		* @returns {Array} Returns the values.
		*/
		function setToArray(set) {
			var index = -1, result = Array(set.size);
			set.forEach(function(value) {
				result[++index] = value;
			});
			return result;
		}
		/**
		* Converts `set` to its value-value pairs.
		*
		* @private
		* @param {Object} set The set to convert.
		* @returns {Array} Returns the value-value pairs.
		*/
		function setToPairs(set) {
			var index = -1, result = Array(set.size);
			set.forEach(function(value) {
				result[++index] = [value, value];
			});
			return result;
		}
		/**
		* A specialized version of `_.indexOf` which performs strict equality
		* comparisons of values, i.e. `===`.
		*
		* @private
		* @param {Array} array The array to inspect.
		* @param {*} value The value to search for.
		* @param {number} fromIndex The index to search from.
		* @returns {number} Returns the index of the matched value, else `-1`.
		*/
		function strictIndexOf(array, value, fromIndex) {
			var index = fromIndex - 1, length = array.length;
			while (++index < length) {
				if (array[index] === value) {
					return index;
				}
			}
			return -1;
		}
		/**
		* A specialized version of `_.lastIndexOf` which performs strict equality
		* comparisons of values, i.e. `===`.
		*
		* @private
		* @param {Array} array The array to inspect.
		* @param {*} value The value to search for.
		* @param {number} fromIndex The index to search from.
		* @returns {number} Returns the index of the matched value, else `-1`.
		*/
		function strictLastIndexOf(array, value, fromIndex) {
			var index = fromIndex + 1;
			while (index--) {
				if (array[index] === value) {
					return index;
				}
			}
			return index;
		}
		/**
		* Gets the number of symbols in `string`.
		*
		* @private
		* @param {string} string The string to inspect.
		* @returns {number} Returns the string size.
		*/
		function stringSize(string) {
			return hasUnicode(string) ? unicodeSize(string) : asciiSize(string);
		}
		/**
		* Converts `string` to an array.
		*
		* @private
		* @param {string} string The string to convert.
		* @returns {Array} Returns the converted array.
		*/
		function stringToArray(string) {
			return hasUnicode(string) ? unicodeToArray(string) : asciiToArray(string);
		}
		/**
		* Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace
		* character of `string`.
		*
		* @private
		* @param {string} string The string to inspect.
		* @returns {number} Returns the index of the last non-whitespace character.
		*/
		function trimmedEndIndex(string) {
			var index = string.length;
			while (index-- && reWhitespace.test(string.charAt(index))) {}
			return index;
		}
		/**
		* Used by `_.unescape` to convert HTML entities to characters.
		*
		* @private
		* @param {string} chr The matched character to unescape.
		* @returns {string} Returns the unescaped character.
		*/
		var unescapeHtmlChar = basePropertyOf(htmlUnescapes);
		/**
		* Gets the size of a Unicode `string`.
		*
		* @private
		* @param {string} string The string inspect.
		* @returns {number} Returns the string size.
		*/
		function unicodeSize(string) {
			var result = reUnicode.lastIndex = 0;
			while (reUnicode.test(string)) {
				++result;
			}
			return result;
		}
		/**
		* Converts a Unicode `string` to an array.
		*
		* @private
		* @param {string} string The string to convert.
		* @returns {Array} Returns the converted array.
		*/
		function unicodeToArray(string) {
			return string.match(reUnicode) || [];
		}
		/**
		* Splits a Unicode `string` into an array of its words.
		*
		* @private
		* @param {string} The string to inspect.
		* @returns {Array} Returns the words of `string`.
		*/
		function unicodeWords(string) {
			return string.match(reUnicodeWord) || [];
		}
		/**
		* Create a new pristine `lodash` function using the `context` object.
		*
		* @static
		* @memberOf _
		* @since 1.1.0
		* @category Util
		* @param {Object} [context=root] The context object.
		* @returns {Function} Returns a new `lodash` function.
		* @example
		*
		* _.mixin({ 'foo': _.constant('foo') });
		*
		* var lodash = _.runInContext();
		* lodash.mixin({ 'bar': lodash.constant('bar') });
		*
		* _.isFunction(_.foo);
		* // => true
		* _.isFunction(_.bar);
		* // => false
		*
		* lodash.isFunction(lodash.foo);
		* // => false
		* lodash.isFunction(lodash.bar);
		* // => true
		*
		* // Create a suped-up `defer` in Node.js.
		* var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;
		*/
		var runInContext = (function runInContext(context) {
			context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps));
			/** Built-in constructor references. */
			var Array = context.Array, Date = context.Date, Error = context.Error, Function = context.Function, Math = context.Math, Object = context.Object, RegExp = context.RegExp, String = context.String, TypeError = context.TypeError;
			/** Used for built-in method references. */
			var arrayProto = Array.prototype, funcProto = Function.prototype, objectProto = Object.prototype;
			/** Used to detect overreaching core-js shims. */
			var coreJsData = context["__core-js_shared__"];
			/** Used to resolve the decompiled source of functions. */
			var funcToString = funcProto.toString;
			/** Used to check objects for own properties. */
			var hasOwnProperty = objectProto.hasOwnProperty;
			/** Used to generate unique IDs. */
			var idCounter = 0;
			/** Used to detect methods masquerading as native. */
			var maskSrcKey = function() {
				var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
				return uid ? "Symbol(src)_1." + uid : "";
			}();
			/**
			* Used to resolve the
			* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
			* of values.
			*/
			var nativeObjectToString = objectProto.toString;
			/** Used to infer the `Object` constructor. */
			var objectCtorString = funcToString.call(Object);
			/** Used to restore the original `_` reference in `_.noConflict`. */
			var oldDash = root._;
			/** Used to detect if a method is native. */
			var reIsNative = RegExp("^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
			/** Built-in value references. */
			var Buffer = moduleExports ? context.Buffer : undefined, Symbol = context.Symbol, Uint8Array = context.Uint8Array, allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined, getPrototype = overArg(Object.getPrototypeOf, Object), objectCreate = Object.create, propertyIsEnumerable = objectProto.propertyIsEnumerable, splice = arrayProto.splice, spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined, symIterator = Symbol ? Symbol.iterator : undefined, symToStringTag = Symbol ? Symbol.toStringTag : undefined;
			var defineProperty = function() {
				try {
					var func = getNative(Object, "defineProperty");
					func({}, "", {});
					return func;
				} catch (e) {}
			}();
			/** Mocked built-ins. */
			var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout, ctxNow = Date && Date.now !== root.Date.now && Date.now, ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;
			var nativeCeil = Math.ceil, nativeFloor = Math.floor, nativeGetSymbols = Object.getOwnPropertySymbols, nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined, nativeIsFinite = context.isFinite, nativeJoin = arrayProto.join, nativeKeys = overArg(Object.keys, Object), nativeMax = Math.max, nativeMin = Math.min, nativeNow = Date.now, nativeParseInt = context.parseInt, nativeRandom = Math.random, nativeReverse = arrayProto.reverse;
			var DataView = getNative(context, "DataView"), Map = getNative(context, "Map"), Promise = getNative(context, "Promise"), Set = getNative(context, "Set"), WeakMap = getNative(context, "WeakMap"), nativeCreate = getNative(Object, "create");
			/** Used to store function metadata. */
			var metaMap = WeakMap && new WeakMap();
			/** Used to lookup unminified function names. */
			var realNames = {};
			/** Used to detect maps, sets, and weakmaps. */
			var dataViewCtorString = toSource(DataView), mapCtorString = toSource(Map), promiseCtorString = toSource(Promise), setCtorString = toSource(Set), weakMapCtorString = toSource(WeakMap);
			/** Used to convert symbols to primitives and strings. */
			var symbolProto = Symbol ? Symbol.prototype : undefined, symbolValueOf = symbolProto ? symbolProto.valueOf : undefined, symbolToString = symbolProto ? symbolProto.toString : undefined;
			/**
			* Creates a `lodash` object which wraps `value` to enable implicit method
			* chain sequences. Methods that operate on and return arrays, collections,
			* and functions can be chained together. Methods that retrieve a single value
			* or may return a primitive value will automatically end the chain sequence
			* and return the unwrapped value. Otherwise, the value must be unwrapped
			* with `_#value`.
			*
			* Explicit chain sequences, which must be unwrapped with `_#value`, may be
			* enabled using `_.chain`.
			*
			* The execution of chained methods is lazy, that is, it's deferred until
			* `_#value` is implicitly or explicitly called.
			*
			* Lazy evaluation allows several methods to support shortcut fusion.
			* Shortcut fusion is an optimization to merge iteratee calls; this avoids
			* the creation of intermediate arrays and can greatly reduce the number of
			* iteratee executions. Sections of a chain sequence qualify for shortcut
			* fusion if the section is applied to an array and iteratees accept only
			* one argument. The heuristic for whether a section qualifies for shortcut
			* fusion is subject to change.
			*
			* Chaining is supported in custom builds as long as the `_#value` method is
			* directly or indirectly included in the build.
			*
			* In addition to lodash methods, wrappers have `Array` and `String` methods.
			*
			* The wrapper `Array` methods are:
			* `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`
			*
			* The wrapper `String` methods are:
			* `replace` and `split`
			*
			* The wrapper methods that support shortcut fusion are:
			* `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,
			* `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,
			* `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`
			*
			* The chainable wrapper methods are:
			* `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,
			* `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,
			* `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,
			* `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,
			* `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,
			* `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,
			* `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,
			* `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,
			* `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,
			* `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,
			* `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,
			* `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,
			* `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,
			* `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,
			* `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,
			* `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,
			* `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,
			* `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,
			* `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,
			* `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,
			* `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,
			* `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,
			* `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,
			* `zipObject`, `zipObjectDeep`, and `zipWith`
			*
			* The wrapper methods that are **not** chainable by default are:
			* `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,
			* `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,
			* `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,
			* `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,
			* `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,
			* `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,
			* `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,
			* `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,
			* `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,
			* `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,
			* `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,
			* `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,
			* `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,
			* `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,
			* `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,
			* `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,
			* `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,
			* `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,
			* `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,
			* `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,
			* `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,
			* `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,
			* `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,
			* `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,
			* `upperFirst`, `value`, and `words`
			*
			* @name _
			* @constructor
			* @category Seq
			* @param {*} value The value to wrap in a `lodash` instance.
			* @returns {Object} Returns the new `lodash` wrapper instance.
			* @example
			*
			* function square(n) {
			*   return n * n;
			* }
			*
			* var wrapped = _([1, 2, 3]);
			*
			* // Returns an unwrapped value.
			* wrapped.reduce(_.add);
			* // => 6
			*
			* // Returns a wrapped value.
			* var squares = wrapped.map(square);
			*
			* _.isArray(squares);
			* // => false
			*
			* _.isArray(squares.value());
			* // => true
			*/
			function lodash(value) {
				if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {
					if (value instanceof LodashWrapper) {
						return value;
					}
					if (hasOwnProperty.call(value, "__wrapped__")) {
						return wrapperClone(value);
					}
				}
				return new LodashWrapper(value);
			}
			/**
			* The base implementation of `_.create` without support for assigning
			* properties to the created object.
			*
			* @private
			* @param {Object} proto The object to inherit from.
			* @returns {Object} Returns the new object.
			*/
			var baseCreate = function() {
				function object() {}
				return function(proto) {
					if (!isObject(proto)) {
						return {};
					}
					if (objectCreate) {
						return objectCreate(proto);
					}
					object.prototype = proto;
					var result = new object();
					object.prototype = undefined;
					return result;
				};
			}();
			/**
			* The function whose prototype chain sequence wrappers inherit from.
			*
			* @private
			*/
			function baseLodash() {}
			/**
			* The base constructor for creating `lodash` wrapper objects.
			*
			* @private
			* @param {*} value The value to wrap.
			* @param {boolean} [chainAll] Enable explicit method chain sequences.
			*/
			function LodashWrapper(value, chainAll) {
				this.__wrapped__ = value;
				this.__actions__ = [];
				this.__chain__ = !!chainAll;
				this.__index__ = 0;
				this.__values__ = undefined;
			}
			/**
			* By default, the template delimiters used by lodash are like those in
			* embedded Ruby (ERB) as well as ES2015 template strings. Change the
			* following template settings to use alternative delimiters.
			*
			* @static
			* @memberOf _
			* @type {Object}
			*/
			lodash.templateSettings = {
				"escape": reEscape,
				"evaluate": reEvaluate,
				"interpolate": reInterpolate,
				"variable": "",
				"imports": { "_": lodash }
			};
			lodash.prototype = baseLodash.prototype;
			lodash.prototype.constructor = lodash;
			LodashWrapper.prototype = baseCreate(baseLodash.prototype);
			LodashWrapper.prototype.constructor = LodashWrapper;
			/**
			* Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.
			*
			* @private
			* @constructor
			* @param {*} value The value to wrap.
			*/
			function LazyWrapper(value) {
				this.__wrapped__ = value;
				this.__actions__ = [];
				this.__dir__ = 1;
				this.__filtered__ = false;
				this.__iteratees__ = [];
				this.__takeCount__ = MAX_ARRAY_LENGTH;
				this.__views__ = [];
			}
			/**
			* Creates a clone of the lazy wrapper object.
			*
			* @private
			* @name clone
			* @memberOf LazyWrapper
			* @returns {Object} Returns the cloned `LazyWrapper` object.
			*/
			function lazyClone() {
				var result = new LazyWrapper(this.__wrapped__);
				result.__actions__ = copyArray(this.__actions__);
				result.__dir__ = this.__dir__;
				result.__filtered__ = this.__filtered__;
				result.__iteratees__ = copyArray(this.__iteratees__);
				result.__takeCount__ = this.__takeCount__;
				result.__views__ = copyArray(this.__views__);
				return result;
			}
			/**
			* Reverses the direction of lazy iteration.
			*
			* @private
			* @name reverse
			* @memberOf LazyWrapper
			* @returns {Object} Returns the new reversed `LazyWrapper` object.
			*/
			function lazyReverse() {
				if (this.__filtered__) {
					var result = new LazyWrapper(this);
					result.__dir__ = -1;
					result.__filtered__ = true;
				} else {
					result = this.clone();
					result.__dir__ *= -1;
				}
				return result;
			}
			/**
			* Extracts the unwrapped value from its lazy wrapper.
			*
			* @private
			* @name value
			* @memberOf LazyWrapper
			* @returns {*} Returns the unwrapped value.
			*/
			function lazyValue() {
				var array = this.__wrapped__.value(), dir = this.__dir__, isArr = isArray(array), isRight = dir < 0, arrLength = isArr ? array.length : 0, view = getView(0, arrLength, this.__views__), start = view.start, end = view.end, length = end - start, index = isRight ? end : start - 1, iteratees = this.__iteratees__, iterLength = iteratees.length, resIndex = 0, takeCount = nativeMin(length, this.__takeCount__);
				if (!isArr || !isRight && arrLength == length && takeCount == length) {
					return baseWrapperValue(array, this.__actions__);
				}
				var result = [];
				outer: while (length-- && resIndex < takeCount) {
					index += dir;
					var iterIndex = -1, value = array[index];
					while (++iterIndex < iterLength) {
						var data = iteratees[iterIndex], iteratee = data.iteratee, type = data.type, computed = iteratee(value);
						if (type == LAZY_MAP_FLAG) {
							value = computed;
						} else if (!computed) {
							if (type == LAZY_FILTER_FLAG) {
								continue outer;
							} else {
								break outer;
							}
						}
					}
					result[resIndex++] = value;
				}
				return result;
			}
			LazyWrapper.prototype = baseCreate(baseLodash.prototype);
			LazyWrapper.prototype.constructor = LazyWrapper;
			/**
			* Creates a hash object.
			*
			* @private
			* @constructor
			* @param {Array} [entries] The key-value pairs to cache.
			*/
			function Hash(entries) {
				var index = -1, length = entries == null ? 0 : entries.length;
				this.clear();
				while (++index < length) {
					var entry = entries[index];
					this.set(entry[0], entry[1]);
				}
			}
			/**
			* Removes all key-value entries from the hash.
			*
			* @private
			* @name clear
			* @memberOf Hash
			*/
			function hashClear() {
				this.__data__ = nativeCreate ? nativeCreate(null) : {};
				this.size = 0;
			}
			/**
			* Removes `key` and its value from the hash.
			*
			* @private
			* @name delete
			* @memberOf Hash
			* @param {Object} hash The hash to modify.
			* @param {string} key The key of the value to remove.
			* @returns {boolean} Returns `true` if the entry was removed, else `false`.
			*/
			function hashDelete(key) {
				var result = this.has(key) && delete this.__data__[key];
				this.size -= result ? 1 : 0;
				return result;
			}
			/**
			* Gets the hash value for `key`.
			*
			* @private
			* @name get
			* @memberOf Hash
			* @param {string} key The key of the value to get.
			* @returns {*} Returns the entry value.
			*/
			function hashGet(key) {
				var data = this.__data__;
				if (nativeCreate) {
					var result = data[key];
					return result === HASH_UNDEFINED ? undefined : result;
				}
				return hasOwnProperty.call(data, key) ? data[key] : undefined;
			}
			/**
			* Checks if a hash value for `key` exists.
			*
			* @private
			* @name has
			* @memberOf Hash
			* @param {string} key The key of the entry to check.
			* @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
			*/
			function hashHas(key) {
				var data = this.__data__;
				return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);
			}
			/**
			* Sets the hash `key` to `value`.
			*
			* @private
			* @name set
			* @memberOf Hash
			* @param {string} key The key of the value to set.
			* @param {*} value The value to set.
			* @returns {Object} Returns the hash instance.
			*/
			function hashSet(key, value) {
				var data = this.__data__;
				this.size += this.has(key) ? 0 : 1;
				data[key] = nativeCreate && value === undefined ? HASH_UNDEFINED : value;
				return this;
			}
			Hash.prototype.clear = hashClear;
			Hash.prototype["delete"] = hashDelete;
			Hash.prototype.get = hashGet;
			Hash.prototype.has = hashHas;
			Hash.prototype.set = hashSet;
			/**
			* Creates an list cache object.
			*
			* @private
			* @constructor
			* @param {Array} [entries] The key-value pairs to cache.
			*/
			function ListCache(entries) {
				var index = -1, length = entries == null ? 0 : entries.length;
				this.clear();
				while (++index < length) {
					var entry = entries[index];
					this.set(entry[0], entry[1]);
				}
			}
			/**
			* Removes all key-value entries from the list cache.
			*
			* @private
			* @name clear
			* @memberOf ListCache
			*/
			function listCacheClear() {
				this.__data__ = [];
				this.size = 0;
			}
			/**
			* Removes `key` and its value from the list cache.
			*
			* @private
			* @name delete
			* @memberOf ListCache
			* @param {string} key The key of the value to remove.
			* @returns {boolean} Returns `true` if the entry was removed, else `false`.
			*/
			function listCacheDelete(key) {
				var data = this.__data__, index = assocIndexOf(data, key);
				if (index < 0) {
					return false;
				}
				var lastIndex = data.length - 1;
				if (index == lastIndex) {
					data.pop();
				} else {
					splice.call(data, index, 1);
				}
				--this.size;
				return true;
			}
			/**
			* Gets the list cache value for `key`.
			*
			* @private
			* @name get
			* @memberOf ListCache
			* @param {string} key The key of the value to get.
			* @returns {*} Returns the entry value.
			*/
			function listCacheGet(key) {
				var data = this.__data__, index = assocIndexOf(data, key);
				return index < 0 ? undefined : data[index][1];
			}
			/**
			* Checks if a list cache value for `key` exists.
			*
			* @private
			* @name has
			* @memberOf ListCache
			* @param {string} key The key of the entry to check.
			* @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
			*/
			function listCacheHas(key) {
				return assocIndexOf(this.__data__, key) > -1;
			}
			/**
			* Sets the list cache `key` to `value`.
			*
			* @private
			* @name set
			* @memberOf ListCache
			* @param {string} key The key of the value to set.
			* @param {*} value The value to set.
			* @returns {Object} Returns the list cache instance.
			*/
			function listCacheSet(key, value) {
				var data = this.__data__, index = assocIndexOf(data, key);
				if (index < 0) {
					++this.size;
					data.push([key, value]);
				} else {
					data[index][1] = value;
				}
				return this;
			}
			ListCache.prototype.clear = listCacheClear;
			ListCache.prototype["delete"] = listCacheDelete;
			ListCache.prototype.get = listCacheGet;
			ListCache.prototype.has = listCacheHas;
			ListCache.prototype.set = listCacheSet;
			/**
			* Creates a map cache object to store key-value pairs.
			*
			* @private
			* @constructor
			* @param {Array} [entries] The key-value pairs to cache.
			*/
			function MapCache(entries) {
				var index = -1, length = entries == null ? 0 : entries.length;
				this.clear();
				while (++index < length) {
					var entry = entries[index];
					this.set(entry[0], entry[1]);
				}
			}
			/**
			* Removes all key-value entries from the map.
			*
			* @private
			* @name clear
			* @memberOf MapCache
			*/
			function mapCacheClear() {
				this.size = 0;
				this.__data__ = {
					"hash": new Hash(),
					"map": new (Map || ListCache)(),
					"string": new Hash()
				};
			}
			/**
			* Removes `key` and its value from the map.
			*
			* @private
			* @name delete
			* @memberOf MapCache
			* @param {string} key The key of the value to remove.
			* @returns {boolean} Returns `true` if the entry was removed, else `false`.
			*/
			function mapCacheDelete(key) {
				var result = getMapData(this, key)["delete"](key);
				this.size -= result ? 1 : 0;
				return result;
			}
			/**
			* Gets the map value for `key`.
			*
			* @private
			* @name get
			* @memberOf MapCache
			* @param {string} key The key of the value to get.
			* @returns {*} Returns the entry value.
			*/
			function mapCacheGet(key) {
				return getMapData(this, key).get(key);
			}
			/**
			* Checks if a map value for `key` exists.
			*
			* @private
			* @name has
			* @memberOf MapCache
			* @param {string} key The key of the entry to check.
			* @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
			*/
			function mapCacheHas(key) {
				return getMapData(this, key).has(key);
			}
			/**
			* Sets the map `key` to `value`.
			*
			* @private
			* @name set
			* @memberOf MapCache
			* @param {string} key The key of the value to set.
			* @param {*} value The value to set.
			* @returns {Object} Returns the map cache instance.
			*/
			function mapCacheSet(key, value) {
				var data = getMapData(this, key), size = data.size;
				data.set(key, value);
				this.size += data.size == size ? 0 : 1;
				return this;
			}
			MapCache.prototype.clear = mapCacheClear;
			MapCache.prototype["delete"] = mapCacheDelete;
			MapCache.prototype.get = mapCacheGet;
			MapCache.prototype.has = mapCacheHas;
			MapCache.prototype.set = mapCacheSet;
			/**
			*
			* Creates an array cache object to store unique values.
			*
			* @private
			* @constructor
			* @param {Array} [values] The values to cache.
			*/
			function SetCache(values) {
				var index = -1, length = values == null ? 0 : values.length;
				this.__data__ = new MapCache();
				while (++index < length) {
					this.add(values[index]);
				}
			}
			/**
			* Adds `value` to the array cache.
			*
			* @private
			* @name add
			* @memberOf SetCache
			* @alias push
			* @param {*} value The value to cache.
			* @returns {Object} Returns the cache instance.
			*/
			function setCacheAdd(value) {
				this.__data__.set(value, HASH_UNDEFINED);
				return this;
			}
			/**
			* Checks if `value` is in the array cache.
			*
			* @private
			* @name has
			* @memberOf SetCache
			* @param {*} value The value to search for.
			* @returns {number} Returns `true` if `value` is found, else `false`.
			*/
			function setCacheHas(value) {
				return this.__data__.has(value);
			}
			SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
			SetCache.prototype.has = setCacheHas;
			/**
			* Creates a stack cache object to store key-value pairs.
			*
			* @private
			* @constructor
			* @param {Array} [entries] The key-value pairs to cache.
			*/
			function Stack(entries) {
				var data = this.__data__ = new ListCache(entries);
				this.size = data.size;
			}
			/**
			* Removes all key-value entries from the stack.
			*
			* @private
			* @name clear
			* @memberOf Stack
			*/
			function stackClear() {
				this.__data__ = new ListCache();
				this.size = 0;
			}
			/**
			* Removes `key` and its value from the stack.
			*
			* @private
			* @name delete
			* @memberOf Stack
			* @param {string} key The key of the value to remove.
			* @returns {boolean} Returns `true` if the entry was removed, else `false`.
			*/
			function stackDelete(key) {
				var data = this.__data__, result = data["delete"](key);
				this.size = data.size;
				return result;
			}
			/**
			* Gets the stack value for `key`.
			*
			* @private
			* @name get
			* @memberOf Stack
			* @param {string} key The key of the value to get.
			* @returns {*} Returns the entry value.
			*/
			function stackGet(key) {
				return this.__data__.get(key);
			}
			/**
			* Checks if a stack value for `key` exists.
			*
			* @private
			* @name has
			* @memberOf Stack
			* @param {string} key The key of the entry to check.
			* @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
			*/
			function stackHas(key) {
				return this.__data__.has(key);
			}
			/**
			* Sets the stack `key` to `value`.
			*
			* @private
			* @name set
			* @memberOf Stack
			* @param {string} key The key of the value to set.
			* @param {*} value The value to set.
			* @returns {Object} Returns the stack cache instance.
			*/
			function stackSet(key, value) {
				var data = this.__data__;
				if (data instanceof ListCache) {
					var pairs = data.__data__;
					if (!Map || pairs.length < LARGE_ARRAY_SIZE - 1) {
						pairs.push([key, value]);
						this.size = ++data.size;
						return this;
					}
					data = this.__data__ = new MapCache(pairs);
				}
				data.set(key, value);
				this.size = data.size;
				return this;
			}
			Stack.prototype.clear = stackClear;
			Stack.prototype["delete"] = stackDelete;
			Stack.prototype.get = stackGet;
			Stack.prototype.has = stackHas;
			Stack.prototype.set = stackSet;
			/**
			* Creates an array of the enumerable property names of the array-like `value`.
			*
			* @private
			* @param {*} value The value to query.
			* @param {boolean} inherited Specify returning inherited property names.
			* @returns {Array} Returns the array of property names.
			*/
			function arrayLikeKeys(value, inherited) {
				var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
				for (var key in value) {
					if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && (key == "length" || isBuff && (key == "offset" || key == "parent") || isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || isIndex(key, length)))) {
						result.push(key);
					}
				}
				return result;
			}
			/**
			* A specialized version of `_.sample` for arrays.
			*
			* @private
			* @param {Array} array The array to sample.
			* @returns {*} Returns the random element.
			*/
			function arraySample(array) {
				var length = array.length;
				return length ? array[baseRandom(0, length - 1)] : undefined;
			}
			/**
			* A specialized version of `_.sampleSize` for arrays.
			*
			* @private
			* @param {Array} array The array to sample.
			* @param {number} n The number of elements to sample.
			* @returns {Array} Returns the random elements.
			*/
			function arraySampleSize(array, n) {
				return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));
			}
			/**
			* A specialized version of `_.shuffle` for arrays.
			*
			* @private
			* @param {Array} array The array to shuffle.
			* @returns {Array} Returns the new shuffled array.
			*/
			function arrayShuffle(array) {
				return shuffleSelf(copyArray(array));
			}
			/**
			* This function is like `assignValue` except that it doesn't assign
			* `undefined` values.
			*
			* @private
			* @param {Object} object The object to modify.
			* @param {string} key The key of the property to assign.
			* @param {*} value The value to assign.
			*/
			function assignMergeValue(object, key, value) {
				if (value !== undefined && !eq(object[key], value) || value === undefined && !(key in object)) {
					baseAssignValue(object, key, value);
				}
			}
			/**
			* Assigns `value` to `key` of `object` if the existing value is not equivalent
			* using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
			* for equality comparisons.
			*
			* @private
			* @param {Object} object The object to modify.
			* @param {string} key The key of the property to assign.
			* @param {*} value The value to assign.
			*/
			function assignValue(object, key, value) {
				var objValue = object[key];
				if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || value === undefined && !(key in object)) {
					baseAssignValue(object, key, value);
				}
			}
			/**
			* Gets the index at which the `key` is found in `array` of key-value pairs.
			*
			* @private
			* @param {Array} array The array to inspect.
			* @param {*} key The key to search for.
			* @returns {number} Returns the index of the matched value, else `-1`.
			*/
			function assocIndexOf(array, key) {
				var length = array.length;
				while (length--) {
					if (eq(array[length][0], key)) {
						return length;
					}
				}
				return -1;
			}
			/**
			* Aggregates elements of `collection` on `accumulator` with keys transformed
			* by `iteratee` and values set by `setter`.
			*
			* @private
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Function} setter The function to set `accumulator` values.
			* @param {Function} iteratee The iteratee to transform keys.
			* @param {Object} accumulator The initial aggregated object.
			* @returns {Function} Returns `accumulator`.
			*/
			function baseAggregator(collection, setter, iteratee, accumulator) {
				baseEach(collection, function(value, key, collection) {
					setter(accumulator, value, iteratee(value), collection);
				});
				return accumulator;
			}
			/**
			* The base implementation of `_.assign` without support for multiple sources
			* or `customizer` functions.
			*
			* @private
			* @param {Object} object The destination object.
			* @param {Object} source The source object.
			* @returns {Object} Returns `object`.
			*/
			function baseAssign(object, source) {
				return object && copyObject(source, keys(source), object);
			}
			/**
			* The base implementation of `_.assignIn` without support for multiple sources
			* or `customizer` functions.
			*
			* @private
			* @param {Object} object The destination object.
			* @param {Object} source The source object.
			* @returns {Object} Returns `object`.
			*/
			function baseAssignIn(object, source) {
				return object && copyObject(source, keysIn(source), object);
			}
			/**
			* The base implementation of `assignValue` and `assignMergeValue` without
			* value checks.
			*
			* @private
			* @param {Object} object The object to modify.
			* @param {string} key The key of the property to assign.
			* @param {*} value The value to assign.
			*/
			function baseAssignValue(object, key, value) {
				if (key == "__proto__" && defineProperty) {
					defineProperty(object, key, {
						"configurable": true,
						"enumerable": true,
						"value": value,
						"writable": true
					});
				} else {
					object[key] = value;
				}
			}
			/**
			* The base implementation of `_.at` without support for individual paths.
			*
			* @private
			* @param {Object} object The object to iterate over.
			* @param {string[]} paths The property paths to pick.
			* @returns {Array} Returns the picked elements.
			*/
			function baseAt(object, paths) {
				var index = -1, length = paths.length, result = Array(length), skip = object == null;
				while (++index < length) {
					result[index] = skip ? undefined : get(object, paths[index]);
				}
				return result;
			}
			/**
			* The base implementation of `_.clamp` which doesn't coerce arguments.
			*
			* @private
			* @param {number} number The number to clamp.
			* @param {number} [lower] The lower bound.
			* @param {number} upper The upper bound.
			* @returns {number} Returns the clamped number.
			*/
			function baseClamp(number, lower, upper) {
				if (number === number) {
					if (upper !== undefined) {
						number = number <= upper ? number : upper;
					}
					if (lower !== undefined) {
						number = number >= lower ? number : lower;
					}
				}
				return number;
			}
			/**
			* The base implementation of `_.clone` and `_.cloneDeep` which tracks
			* traversed objects.
			*
			* @private
			* @param {*} value The value to clone.
			* @param {boolean} bitmask The bitmask flags.
			*  1 - Deep clone
			*  2 - Flatten inherited properties
			*  4 - Clone symbols
			* @param {Function} [customizer] The function to customize cloning.
			* @param {string} [key] The key of `value`.
			* @param {Object} [object] The parent object of `value`.
			* @param {Object} [stack] Tracks traversed objects and their clone counterparts.
			* @returns {*} Returns the cloned value.
			*/
			function baseClone(value, bitmask, customizer, key, object, stack) {
				var result, isDeep = bitmask & CLONE_DEEP_FLAG, isFlat = bitmask & CLONE_FLAT_FLAG, isFull = bitmask & CLONE_SYMBOLS_FLAG;
				if (customizer) {
					result = object ? customizer(value, key, object, stack) : customizer(value);
				}
				if (result !== undefined) {
					return result;
				}
				if (!isObject(value)) {
					return value;
				}
				var isArr = isArray(value);
				if (isArr) {
					result = initCloneArray(value);
					if (!isDeep) {
						return copyArray(value, result);
					}
				} else {
					var tag = getTag(value), isFunc = tag == funcTag || tag == genTag;
					if (isBuffer(value)) {
						return cloneBuffer(value, isDeep);
					}
					if (tag == objectTag || tag == argsTag || isFunc && !object) {
						result = isFlat || isFunc ? {} : initCloneObject(value);
						if (!isDeep) {
							return isFlat ? copySymbolsIn(value, baseAssignIn(result, value)) : copySymbols(value, baseAssign(result, value));
						}
					} else {
						if (!cloneableTags[tag]) {
							return object ? value : {};
						}
						result = initCloneByTag(value, tag, isDeep);
					}
				}
				stack || (stack = new Stack());
				var stacked = stack.get(value);
				if (stacked) {
					return stacked;
				}
				stack.set(value, result);
				if (isSet(value)) {
					value.forEach(function(subValue) {
						result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));
					});
				} else if (isMap(value)) {
					value.forEach(function(subValue, key) {
						result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));
					});
				}
				var keysFunc = isFull ? isFlat ? getAllKeysIn : getAllKeys : isFlat ? keysIn : keys;
				var props = isArr ? undefined : keysFunc(value);
				arrayEach(props || value, function(subValue, key) {
					if (props) {
						key = subValue;
						subValue = value[key];
					}
					assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));
				});
				return result;
			}
			/**
			* The base implementation of `_.conforms` which doesn't clone `source`.
			*
			* @private
			* @param {Object} source The object of property predicates to conform to.
			* @returns {Function} Returns the new spec function.
			*/
			function baseConforms(source) {
				var props = keys(source);
				return function(object) {
					return baseConformsTo(object, source, props);
				};
			}
			/**
			* The base implementation of `_.conformsTo` which accepts `props` to check.
			*
			* @private
			* @param {Object} object The object to inspect.
			* @param {Object} source The object of property predicates to conform to.
			* @returns {boolean} Returns `true` if `object` conforms, else `false`.
			*/
			function baseConformsTo(object, source, props) {
				var length = props.length;
				if (object == null) {
					return !length;
				}
				object = Object(object);
				while (length--) {
					var key = props[length], predicate = source[key], value = object[key];
					if (value === undefined && !(key in object) || !predicate(value)) {
						return false;
					}
				}
				return true;
			}
			/**
			* The base implementation of `_.delay` and `_.defer` which accepts `args`
			* to provide to `func`.
			*
			* @private
			* @param {Function} func The function to delay.
			* @param {number} wait The number of milliseconds to delay invocation.
			* @param {Array} args The arguments to provide to `func`.
			* @returns {number|Object} Returns the timer id or timeout object.
			*/
			function baseDelay(func, wait, args) {
				if (typeof func != "function") {
					throw new TypeError(FUNC_ERROR_TEXT);
				}
				return setTimeout(function() {
					func.apply(undefined, args);
				}, wait);
			}
			/**
			* The base implementation of methods like `_.difference` without support
			* for excluding multiple arrays or iteratee shorthands.
			*
			* @private
			* @param {Array} array The array to inspect.
			* @param {Array} values The values to exclude.
			* @param {Function} [iteratee] The iteratee invoked per element.
			* @param {Function} [comparator] The comparator invoked per element.
			* @returns {Array} Returns the new array of filtered values.
			*/
			function baseDifference(array, values, iteratee, comparator) {
				var index = -1, includes = arrayIncludes, isCommon = true, length = array.length, result = [], valuesLength = values.length;
				if (!length) {
					return result;
				}
				if (iteratee) {
					values = arrayMap(values, baseUnary(iteratee));
				}
				if (comparator) {
					includes = arrayIncludesWith;
					isCommon = false;
				} else if (values.length >= LARGE_ARRAY_SIZE) {
					includes = cacheHas;
					isCommon = false;
					values = new SetCache(values);
				}
				outer: while (++index < length) {
					var value = array[index], computed = iteratee == null ? value : iteratee(value);
					value = comparator || value !== 0 ? value : 0;
					if (isCommon && computed === computed) {
						var valuesIndex = valuesLength;
						while (valuesIndex--) {
							if (values[valuesIndex] === computed) {
								continue outer;
							}
						}
						result.push(value);
					} else if (!includes(values, computed, comparator)) {
						result.push(value);
					}
				}
				return result;
			}
			/**
			* The base implementation of `_.forEach` without support for iteratee shorthands.
			*
			* @private
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Function} iteratee The function invoked per iteration.
			* @returns {Array|Object} Returns `collection`.
			*/
			var baseEach = createBaseEach(baseForOwn);
			/**
			* The base implementation of `_.forEachRight` without support for iteratee shorthands.
			*
			* @private
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Function} iteratee The function invoked per iteration.
			* @returns {Array|Object} Returns `collection`.
			*/
			var baseEachRight = createBaseEach(baseForOwnRight, true);
			/**
			* The base implementation of `_.every` without support for iteratee shorthands.
			*
			* @private
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Function} predicate The function invoked per iteration.
			* @returns {boolean} Returns `true` if all elements pass the predicate check,
			*  else `false`
			*/
			function baseEvery(collection, predicate) {
				var result = true;
				baseEach(collection, function(value, index, collection) {
					result = !!predicate(value, index, collection);
					return result;
				});
				return result;
			}
			/**
			* The base implementation of methods like `_.max` and `_.min` which accepts a
			* `comparator` to determine the extremum value.
			*
			* @private
			* @param {Array} array The array to iterate over.
			* @param {Function} iteratee The iteratee invoked per iteration.
			* @param {Function} comparator The comparator used to compare values.
			* @returns {*} Returns the extremum value.
			*/
			function baseExtremum(array, iteratee, comparator) {
				var index = -1, length = array.length;
				while (++index < length) {
					var value = array[index], current = iteratee(value);
					if (current != null && (computed === undefined ? current === current && !isSymbol(current) : comparator(current, computed))) {
						var computed = current, result = value;
					}
				}
				return result;
			}
			/**
			* The base implementation of `_.fill` without an iteratee call guard.
			*
			* @private
			* @param {Array} array The array to fill.
			* @param {*} value The value to fill `array` with.
			* @param {number} [start=0] The start position.
			* @param {number} [end=array.length] The end position.
			* @returns {Array} Returns `array`.
			*/
			function baseFill(array, value, start, end) {
				var length = array.length;
				start = toInteger(start);
				if (start < 0) {
					start = -start > length ? 0 : length + start;
				}
				end = end === undefined || end > length ? length : toInteger(end);
				if (end < 0) {
					end += length;
				}
				end = start > end ? 0 : toLength(end);
				while (start < end) {
					array[start++] = value;
				}
				return array;
			}
			/**
			* The base implementation of `_.filter` without support for iteratee shorthands.
			*
			* @private
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Function} predicate The function invoked per iteration.
			* @returns {Array} Returns the new filtered array.
			*/
			function baseFilter(collection, predicate) {
				var result = [];
				baseEach(collection, function(value, index, collection) {
					if (predicate(value, index, collection)) {
						result.push(value);
					}
				});
				return result;
			}
			/**
			* The base implementation of `_.flatten` with support for restricting flattening.
			*
			* @private
			* @param {Array} array The array to flatten.
			* @param {number} depth The maximum recursion depth.
			* @param {boolean} [predicate=isFlattenable] The function invoked per iteration.
			* @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.
			* @param {Array} [result=[]] The initial result value.
			* @returns {Array} Returns the new flattened array.
			*/
			function baseFlatten(array, depth, predicate, isStrict, result) {
				var index = -1, length = array.length;
				predicate || (predicate = isFlattenable);
				result || (result = []);
				while (++index < length) {
					var value = array[index];
					if (depth > 0 && predicate(value)) {
						if (depth > 1) {
							baseFlatten(value, depth - 1, predicate, isStrict, result);
						} else {
							arrayPush(result, value);
						}
					} else if (!isStrict) {
						result[result.length] = value;
					}
				}
				return result;
			}
			/**
			* The base implementation of `baseForOwn` which iterates over `object`
			* properties returned by `keysFunc` and invokes `iteratee` for each property.
			* Iteratee functions may exit iteration early by explicitly returning `false`.
			*
			* @private
			* @param {Object} object The object to iterate over.
			* @param {Function} iteratee The function invoked per iteration.
			* @param {Function} keysFunc The function to get the keys of `object`.
			* @returns {Object} Returns `object`.
			*/
			var baseFor = createBaseFor();
			/**
			* This function is like `baseFor` except that it iterates over properties
			* in the opposite order.
			*
			* @private
			* @param {Object} object The object to iterate over.
			* @param {Function} iteratee The function invoked per iteration.
			* @param {Function} keysFunc The function to get the keys of `object`.
			* @returns {Object} Returns `object`.
			*/
			var baseForRight = createBaseFor(true);
			/**
			* The base implementation of `_.forOwn` without support for iteratee shorthands.
			*
			* @private
			* @param {Object} object The object to iterate over.
			* @param {Function} iteratee The function invoked per iteration.
			* @returns {Object} Returns `object`.
			*/
			function baseForOwn(object, iteratee) {
				return object && baseFor(object, iteratee, keys);
			}
			/**
			* The base implementation of `_.forOwnRight` without support for iteratee shorthands.
			*
			* @private
			* @param {Object} object The object to iterate over.
			* @param {Function} iteratee The function invoked per iteration.
			* @returns {Object} Returns `object`.
			*/
			function baseForOwnRight(object, iteratee) {
				return object && baseForRight(object, iteratee, keys);
			}
			/**
			* The base implementation of `_.functions` which creates an array of
			* `object` function property names filtered from `props`.
			*
			* @private
			* @param {Object} object The object to inspect.
			* @param {Array} props The property names to filter.
			* @returns {Array} Returns the function names.
			*/
			function baseFunctions(object, props) {
				return arrayFilter(props, function(key) {
					return isFunction(object[key]);
				});
			}
			/**
			* The base implementation of `_.get` without support for default values.
			*
			* @private
			* @param {Object} object The object to query.
			* @param {Array|string} path The path of the property to get.
			* @returns {*} Returns the resolved value.
			*/
			function baseGet(object, path) {
				path = castPath(path, object);
				var index = 0, length = path.length;
				while (object != null && index < length) {
					object = object[toKey(path[index++])];
				}
				return index && index == length ? object : undefined;
			}
			/**
			* The base implementation of `getAllKeys` and `getAllKeysIn` which uses
			* `keysFunc` and `symbolsFunc` to get the enumerable property names and
			* symbols of `object`.
			*
			* @private
			* @param {Object} object The object to query.
			* @param {Function} keysFunc The function to get the keys of `object`.
			* @param {Function} symbolsFunc The function to get the symbols of `object`.
			* @returns {Array} Returns the array of property names and symbols.
			*/
			function baseGetAllKeys(object, keysFunc, symbolsFunc) {
				var result = keysFunc(object);
				return isArray(object) ? result : arrayPush(result, symbolsFunc(object));
			}
			/**
			* The base implementation of `getTag` without fallbacks for buggy environments.
			*
			* @private
			* @param {*} value The value to query.
			* @returns {string} Returns the `toStringTag`.
			*/
			function baseGetTag(value) {
				if (value == null) {
					return value === undefined ? undefinedTag : nullTag;
				}
				return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
			}
			/**
			* The base implementation of `_.gt` which doesn't coerce arguments.
			*
			* @private
			* @param {*} value The value to compare.
			* @param {*} other The other value to compare.
			* @returns {boolean} Returns `true` if `value` is greater than `other`,
			*  else `false`.
			*/
			function baseGt(value, other) {
				return value > other;
			}
			/**
			* The base implementation of `_.has` without support for deep paths.
			*
			* @private
			* @param {Object} [object] The object to query.
			* @param {Array|string} key The key to check.
			* @returns {boolean} Returns `true` if `key` exists, else `false`.
			*/
			function baseHas(object, key) {
				return object != null && hasOwnProperty.call(object, key);
			}
			/**
			* The base implementation of `_.hasIn` without support for deep paths.
			*
			* @private
			* @param {Object} [object] The object to query.
			* @param {Array|string} key The key to check.
			* @returns {boolean} Returns `true` if `key` exists, else `false`.
			*/
			function baseHasIn(object, key) {
				return object != null && key in Object(object);
			}
			/**
			* The base implementation of `_.inRange` which doesn't coerce arguments.
			*
			* @private
			* @param {number} number The number to check.
			* @param {number} start The start of the range.
			* @param {number} end The end of the range.
			* @returns {boolean} Returns `true` if `number` is in the range, else `false`.
			*/
			function baseInRange(number, start, end) {
				return number >= nativeMin(start, end) && number < nativeMax(start, end);
			}
			/**
			* The base implementation of methods like `_.intersection`, without support
			* for iteratee shorthands, that accepts an array of arrays to inspect.
			*
			* @private
			* @param {Array} arrays The arrays to inspect.
			* @param {Function} [iteratee] The iteratee invoked per element.
			* @param {Function} [comparator] The comparator invoked per element.
			* @returns {Array} Returns the new array of shared values.
			*/
			function baseIntersection(arrays, iteratee, comparator) {
				var includes = comparator ? arrayIncludesWith : arrayIncludes, length = arrays[0].length, othLength = arrays.length, othIndex = othLength, caches = Array(othLength), maxLength = Infinity, result = [];
				while (othIndex--) {
					var array = arrays[othIndex];
					if (othIndex && iteratee) {
						array = arrayMap(array, baseUnary(iteratee));
					}
					maxLength = nativeMin(array.length, maxLength);
					caches[othIndex] = !comparator && (iteratee || length >= 120 && array.length >= 120) ? new SetCache(othIndex && array) : undefined;
				}
				array = arrays[0];
				var index = -1, seen = caches[0];
				outer: while (++index < length && result.length < maxLength) {
					var value = array[index], computed = iteratee ? iteratee(value) : value;
					value = comparator || value !== 0 ? value : 0;
					if (!(seen ? cacheHas(seen, computed) : includes(result, computed, comparator))) {
						othIndex = othLength;
						while (--othIndex) {
							var cache = caches[othIndex];
							if (!(cache ? cacheHas(cache, computed) : includes(arrays[othIndex], computed, comparator))) {
								continue outer;
							}
						}
						if (seen) {
							seen.push(computed);
						}
						result.push(value);
					}
				}
				return result;
			}
			/**
			* The base implementation of `_.invert` and `_.invertBy` which inverts
			* `object` with values transformed by `iteratee` and set by `setter`.
			*
			* @private
			* @param {Object} object The object to iterate over.
			* @param {Function} setter The function to set `accumulator` values.
			* @param {Function} iteratee The iteratee to transform values.
			* @param {Object} accumulator The initial inverted object.
			* @returns {Function} Returns `accumulator`.
			*/
			function baseInverter(object, setter, iteratee, accumulator) {
				baseForOwn(object, function(value, key, object) {
					setter(accumulator, iteratee(value), key, object);
				});
				return accumulator;
			}
			/**
			* The base implementation of `_.invoke` without support for individual
			* method arguments.
			*
			* @private
			* @param {Object} object The object to query.
			* @param {Array|string} path The path of the method to invoke.
			* @param {Array} args The arguments to invoke the method with.
			* @returns {*} Returns the result of the invoked method.
			*/
			function baseInvoke(object, path, args) {
				path = castPath(path, object);
				object = parent(object, path);
				var func = object == null ? object : object[toKey(last(path))];
				return func == null ? undefined : apply(func, object, args);
			}
			/**
			* The base implementation of `_.isArguments`.
			*
			* @private
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is an `arguments` object,
			*/
			function baseIsArguments(value) {
				return isObjectLike(value) && baseGetTag(value) == argsTag;
			}
			/**
			* The base implementation of `_.isArrayBuffer` without Node.js optimizations.
			*
			* @private
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.
			*/
			function baseIsArrayBuffer(value) {
				return isObjectLike(value) && baseGetTag(value) == arrayBufferTag;
			}
			/**
			* The base implementation of `_.isDate` without Node.js optimizations.
			*
			* @private
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a date object, else `false`.
			*/
			function baseIsDate(value) {
				return isObjectLike(value) && baseGetTag(value) == dateTag;
			}
			/**
			* The base implementation of `_.isEqual` which supports partial comparisons
			* and tracks traversed objects.
			*
			* @private
			* @param {*} value The value to compare.
			* @param {*} other The other value to compare.
			* @param {boolean} bitmask The bitmask flags.
			*  1 - Unordered comparison
			*  2 - Partial comparison
			* @param {Function} [customizer] The function to customize comparisons.
			* @param {Object} [stack] Tracks traversed `value` and `other` objects.
			* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
			*/
			function baseIsEqual(value, other, bitmask, customizer, stack) {
				if (value === other) {
					return true;
				}
				if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) {
					return value !== value && other !== other;
				}
				return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
			}
			/**
			* A specialized version of `baseIsEqual` for arrays and objects which performs
			* deep comparisons and tracks traversed objects enabling objects with circular
			* references to be compared.
			*
			* @private
			* @param {Object} object The object to compare.
			* @param {Object} other The other object to compare.
			* @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
			* @param {Function} customizer The function to customize comparisons.
			* @param {Function} equalFunc The function to determine equivalents of values.
			* @param {Object} [stack] Tracks traversed `object` and `other` objects.
			* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
			*/
			function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
				var objIsArr = isArray(object), othIsArr = isArray(other), objTag = objIsArr ? arrayTag : getTag(object), othTag = othIsArr ? arrayTag : getTag(other);
				objTag = objTag == argsTag ? objectTag : objTag;
				othTag = othTag == argsTag ? objectTag : othTag;
				var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag;
				if (isSameTag && isBuffer(object)) {
					if (!isBuffer(other)) {
						return false;
					}
					objIsArr = true;
					objIsObj = false;
				}
				if (isSameTag && !objIsObj) {
					stack || (stack = new Stack());
					return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
				}
				if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
					var objIsWrapped = objIsObj && hasOwnProperty.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty.call(other, "__wrapped__");
					if (objIsWrapped || othIsWrapped) {
						var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other;
						stack || (stack = new Stack());
						return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
					}
				}
				if (!isSameTag) {
					return false;
				}
				stack || (stack = new Stack());
				return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
			}
			/**
			* The base implementation of `_.isMap` without Node.js optimizations.
			*
			* @private
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a map, else `false`.
			*/
			function baseIsMap(value) {
				return isObjectLike(value) && getTag(value) == mapTag;
			}
			/**
			* The base implementation of `_.isMatch` without support for iteratee shorthands.
			*
			* @private
			* @param {Object} object The object to inspect.
			* @param {Object} source The object of property values to match.
			* @param {Array} matchData The property names, values, and compare flags to match.
			* @param {Function} [customizer] The function to customize comparisons.
			* @returns {boolean} Returns `true` if `object` is a match, else `false`.
			*/
			function baseIsMatch(object, source, matchData, customizer) {
				var index = matchData.length, length = index, noCustomizer = !customizer;
				if (object == null) {
					return !length;
				}
				object = Object(object);
				while (index--) {
					var data = matchData[index];
					if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) {
						return false;
					}
				}
				while (++index < length) {
					data = matchData[index];
					var key = data[0], objValue = object[key], srcValue = data[1];
					if (noCustomizer && data[2]) {
						if (objValue === undefined && !(key in object)) {
							return false;
						}
					} else {
						var stack = new Stack();
						if (customizer) {
							var result = customizer(objValue, srcValue, key, object, source, stack);
						}
						if (!(result === undefined ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) : result)) {
							return false;
						}
					}
				}
				return true;
			}
			/**
			* The base implementation of `_.isNative` without bad shim checks.
			*
			* @private
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a native function,
			*  else `false`.
			*/
			function baseIsNative(value) {
				if (!isObject(value) || isMasked(value)) {
					return false;
				}
				var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
				return pattern.test(toSource(value));
			}
			/**
			* The base implementation of `_.isRegExp` without Node.js optimizations.
			*
			* @private
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a regexp, else `false`.
			*/
			function baseIsRegExp(value) {
				return isObjectLike(value) && baseGetTag(value) == regexpTag;
			}
			/**
			* The base implementation of `_.isSet` without Node.js optimizations.
			*
			* @private
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a set, else `false`.
			*/
			function baseIsSet(value) {
				return isObjectLike(value) && getTag(value) == setTag;
			}
			/**
			* The base implementation of `_.isTypedArray` without Node.js optimizations.
			*
			* @private
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
			*/
			function baseIsTypedArray(value) {
				return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
			}
			/**
			* The base implementation of `_.iteratee`.
			*
			* @private
			* @param {*} [value=_.identity] The value to convert to an iteratee.
			* @returns {Function} Returns the iteratee.
			*/
			function baseIteratee(value) {
				if (typeof value == "function") {
					return value;
				}
				if (value == null) {
					return identity;
				}
				if (typeof value == "object") {
					return isArray(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value);
				}
				return property(value);
			}
			/**
			* The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
			*
			* @private
			* @param {Object} object The object to query.
			* @returns {Array} Returns the array of property names.
			*/
			function baseKeys(object) {
				if (!isPrototype(object)) {
					return nativeKeys(object);
				}
				var result = [];
				for (var key in Object(object)) {
					if (hasOwnProperty.call(object, key) && key != "constructor") {
						result.push(key);
					}
				}
				return result;
			}
			/**
			* The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.
			*
			* @private
			* @param {Object} object The object to query.
			* @returns {Array} Returns the array of property names.
			*/
			function baseKeysIn(object) {
				if (!isObject(object)) {
					return nativeKeysIn(object);
				}
				var isProto = isPrototype(object), result = [];
				for (var key in object) {
					if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) {
						result.push(key);
					}
				}
				return result;
			}
			/**
			* The base implementation of `_.lt` which doesn't coerce arguments.
			*
			* @private
			* @param {*} value The value to compare.
			* @param {*} other The other value to compare.
			* @returns {boolean} Returns `true` if `value` is less than `other`,
			*  else `false`.
			*/
			function baseLt(value, other) {
				return value < other;
			}
			/**
			* The base implementation of `_.map` without support for iteratee shorthands.
			*
			* @private
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Function} iteratee The function invoked per iteration.
			* @returns {Array} Returns the new mapped array.
			*/
			function baseMap(collection, iteratee) {
				var index = -1, result = isArrayLike(collection) ? Array(collection.length) : [];
				baseEach(collection, function(value, key, collection) {
					result[++index] = iteratee(value, key, collection);
				});
				return result;
			}
			/**
			* The base implementation of `_.matches` which doesn't clone `source`.
			*
			* @private
			* @param {Object} source The object of property values to match.
			* @returns {Function} Returns the new spec function.
			*/
			function baseMatches(source) {
				var matchData = getMatchData(source);
				if (matchData.length == 1 && matchData[0][2]) {
					return matchesStrictComparable(matchData[0][0], matchData[0][1]);
				}
				return function(object) {
					return object === source || baseIsMatch(object, source, matchData);
				};
			}
			/**
			* The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.
			*
			* @private
			* @param {string} path The path of the property to get.
			* @param {*} srcValue The value to match.
			* @returns {Function} Returns the new spec function.
			*/
			function baseMatchesProperty(path, srcValue) {
				if (isKey(path) && isStrictComparable(srcValue)) {
					return matchesStrictComparable(toKey(path), srcValue);
				}
				return function(object) {
					var objValue = get(object, path);
					return objValue === undefined && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
				};
			}
			/**
			* The base implementation of `_.merge` without support for multiple sources.
			*
			* @private
			* @param {Object} object The destination object.
			* @param {Object} source The source object.
			* @param {number} srcIndex The index of `source`.
			* @param {Function} [customizer] The function to customize merged values.
			* @param {Object} [stack] Tracks traversed source values and their merged
			*  counterparts.
			*/
			function baseMerge(object, source, srcIndex, customizer, stack) {
				if (object === source) {
					return;
				}
				baseFor(source, function(srcValue, key) {
					stack || (stack = new Stack());
					if (isObject(srcValue)) {
						baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);
					} else {
						var newValue = customizer ? customizer(safeGet(object, key), srcValue, key + "", object, source, stack) : undefined;
						if (newValue === undefined) {
							newValue = srcValue;
						}
						assignMergeValue(object, key, newValue);
					}
				}, keysIn);
			}
			/**
			* A specialized version of `baseMerge` for arrays and objects which performs
			* deep merges and tracks traversed objects enabling objects with circular
			* references to be merged.
			*
			* @private
			* @param {Object} object The destination object.
			* @param {Object} source The source object.
			* @param {string} key The key of the value to merge.
			* @param {number} srcIndex The index of `source`.
			* @param {Function} mergeFunc The function to merge values.
			* @param {Function} [customizer] The function to customize assigned values.
			* @param {Object} [stack] Tracks traversed source values and their merged
			*  counterparts.
			*/
			function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {
				var objValue = safeGet(object, key), srcValue = safeGet(source, key), stacked = stack.get(srcValue);
				if (stacked) {
					assignMergeValue(object, key, stacked);
					return;
				}
				var newValue = customizer ? customizer(objValue, srcValue, key + "", object, source, stack) : undefined;
				var isCommon = newValue === undefined;
				if (isCommon) {
					var isArr = isArray(srcValue), isBuff = !isArr && isBuffer(srcValue), isTyped = !isArr && !isBuff && isTypedArray(srcValue);
					newValue = srcValue;
					if (isArr || isBuff || isTyped) {
						if (isArray(objValue)) {
							newValue = objValue;
						} else if (isArrayLikeObject(objValue)) {
							newValue = copyArray(objValue);
						} else if (isBuff) {
							isCommon = false;
							newValue = cloneBuffer(srcValue, true);
						} else if (isTyped) {
							isCommon = false;
							newValue = cloneTypedArray(srcValue, true);
						} else {
							newValue = [];
						}
					} else if (isPlainObject(srcValue) || isArguments(srcValue)) {
						newValue = objValue;
						if (isArguments(objValue)) {
							newValue = toPlainObject(objValue);
						} else if (!isObject(objValue) || isFunction(objValue)) {
							newValue = initCloneObject(srcValue);
						}
					} else {
						isCommon = false;
					}
				}
				if (isCommon) {
					stack.set(srcValue, newValue);
					mergeFunc(newValue, srcValue, srcIndex, customizer, stack);
					stack["delete"](srcValue);
				}
				assignMergeValue(object, key, newValue);
			}
			/**
			* The base implementation of `_.nth` which doesn't coerce arguments.
			*
			* @private
			* @param {Array} array The array to query.
			* @param {number} n The index of the element to return.
			* @returns {*} Returns the nth element of `array`.
			*/
			function baseNth(array, n) {
				var length = array.length;
				if (!length) {
					return;
				}
				n += n < 0 ? length : 0;
				return isIndex(n, length) ? array[n] : undefined;
			}
			/**
			* The base implementation of `_.orderBy` without param guards.
			*
			* @private
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.
			* @param {string[]} orders The sort orders of `iteratees`.
			* @returns {Array} Returns the new sorted array.
			*/
			function baseOrderBy(collection, iteratees, orders) {
				if (iteratees.length) {
					iteratees = arrayMap(iteratees, function(iteratee) {
						if (isArray(iteratee)) {
							return function(value) {
								return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);
							};
						}
						return iteratee;
					});
				} else {
					iteratees = [identity];
				}
				var index = -1;
				iteratees = arrayMap(iteratees, baseUnary(getIteratee()));
				var result = baseMap(collection, function(value, key, collection) {
					var criteria = arrayMap(iteratees, function(iteratee) {
						return iteratee(value);
					});
					return {
						"criteria": criteria,
						"index": ++index,
						"value": value
					};
				});
				return baseSortBy(result, function(object, other) {
					return compareMultiple(object, other, orders);
				});
			}
			/**
			* The base implementation of `_.pick` without support for individual
			* property identifiers.
			*
			* @private
			* @param {Object} object The source object.
			* @param {string[]} paths The property paths to pick.
			* @returns {Object} Returns the new object.
			*/
			function basePick(object, paths) {
				return basePickBy(object, paths, function(value, path) {
					return hasIn(object, path);
				});
			}
			/**
			* The base implementation of  `_.pickBy` without support for iteratee shorthands.
			*
			* @private
			* @param {Object} object The source object.
			* @param {string[]} paths The property paths to pick.
			* @param {Function} predicate The function invoked per property.
			* @returns {Object} Returns the new object.
			*/
			function basePickBy(object, paths, predicate) {
				var index = -1, length = paths.length, result = {};
				while (++index < length) {
					var path = paths[index], value = baseGet(object, path);
					if (predicate(value, path)) {
						baseSet(result, castPath(path, object), value);
					}
				}
				return result;
			}
			/**
			* A specialized version of `baseProperty` which supports deep paths.
			*
			* @private
			* @param {Array|string} path The path of the property to get.
			* @returns {Function} Returns the new accessor function.
			*/
			function basePropertyDeep(path) {
				return function(object) {
					return baseGet(object, path);
				};
			}
			/**
			* The base implementation of `_.pullAllBy` without support for iteratee
			* shorthands.
			*
			* @private
			* @param {Array} array The array to modify.
			* @param {Array} values The values to remove.
			* @param {Function} [iteratee] The iteratee invoked per element.
			* @param {Function} [comparator] The comparator invoked per element.
			* @returns {Array} Returns `array`.
			*/
			function basePullAll(array, values, iteratee, comparator) {
				var indexOf = comparator ? baseIndexOfWith : baseIndexOf, index = -1, length = values.length, seen = array;
				if (array === values) {
					values = copyArray(values);
				}
				if (iteratee) {
					seen = arrayMap(array, baseUnary(iteratee));
				}
				while (++index < length) {
					var fromIndex = 0, value = values[index], computed = iteratee ? iteratee(value) : value;
					while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {
						if (seen !== array) {
							splice.call(seen, fromIndex, 1);
						}
						splice.call(array, fromIndex, 1);
					}
				}
				return array;
			}
			/**
			* The base implementation of `_.pullAt` without support for individual
			* indexes or capturing the removed elements.
			*
			* @private
			* @param {Array} array The array to modify.
			* @param {number[]} indexes The indexes of elements to remove.
			* @returns {Array} Returns `array`.
			*/
			function basePullAt(array, indexes) {
				var length = array ? indexes.length : 0, lastIndex = length - 1;
				while (length--) {
					var index = indexes[length];
					if (length == lastIndex || index !== previous) {
						var previous = index;
						if (isIndex(index)) {
							splice.call(array, index, 1);
						} else {
							baseUnset(array, index);
						}
					}
				}
				return array;
			}
			/**
			* The base implementation of `_.random` without support for returning
			* floating-point numbers.
			*
			* @private
			* @param {number} lower The lower bound.
			* @param {number} upper The upper bound.
			* @returns {number} Returns the random number.
			*/
			function baseRandom(lower, upper) {
				return lower + nativeFloor(nativeRandom() * (upper - lower + 1));
			}
			/**
			* The base implementation of `_.range` and `_.rangeRight` which doesn't
			* coerce arguments.
			*
			* @private
			* @param {number} start The start of the range.
			* @param {number} end The end of the range.
			* @param {number} step The value to increment or decrement by.
			* @param {boolean} [fromRight] Specify iterating from right to left.
			* @returns {Array} Returns the range of numbers.
			*/
			function baseRange(start, end, step, fromRight) {
				var index = -1, length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), result = Array(length);
				while (length--) {
					result[fromRight ? length : ++index] = start;
					start += step;
				}
				return result;
			}
			/**
			* The base implementation of `_.repeat` which doesn't coerce arguments.
			*
			* @private
			* @param {string} string The string to repeat.
			* @param {number} n The number of times to repeat the string.
			* @returns {string} Returns the repeated string.
			*/
			function baseRepeat(string, n) {
				var result = "";
				if (!string || n < 1 || n > MAX_SAFE_INTEGER) {
					return result;
				}
				do {
					if (n % 2) {
						result += string;
					}
					n = nativeFloor(n / 2);
					if (n) {
						string += string;
					}
				} while (n);
				return result;
			}
			/**
			* The base implementation of `_.rest` which doesn't validate or coerce arguments.
			*
			* @private
			* @param {Function} func The function to apply a rest parameter to.
			* @param {number} [start=func.length-1] The start position of the rest parameter.
			* @returns {Function} Returns the new function.
			*/
			function baseRest(func, start) {
				return setToString(overRest(func, start, identity), func + "");
			}
			/**
			* The base implementation of `_.sample`.
			*
			* @private
			* @param {Array|Object} collection The collection to sample.
			* @returns {*} Returns the random element.
			*/
			function baseSample(collection) {
				return arraySample(values(collection));
			}
			/**
			* The base implementation of `_.sampleSize` without param guards.
			*
			* @private
			* @param {Array|Object} collection The collection to sample.
			* @param {number} n The number of elements to sample.
			* @returns {Array} Returns the random elements.
			*/
			function baseSampleSize(collection, n) {
				var array = values(collection);
				return shuffleSelf(array, baseClamp(n, 0, array.length));
			}
			/**
			* The base implementation of `_.set`.
			*
			* @private
			* @param {Object} object The object to modify.
			* @param {Array|string} path The path of the property to set.
			* @param {*} value The value to set.
			* @param {Function} [customizer] The function to customize path creation.
			* @returns {Object} Returns `object`.
			*/
			function baseSet(object, path, value, customizer) {
				if (!isObject(object)) {
					return object;
				}
				path = castPath(path, object);
				var index = -1, length = path.length, lastIndex = length - 1, nested = object;
				while (nested != null && ++index < length) {
					var key = toKey(path[index]), newValue = value;
					if (key === "__proto__" || key === "constructor" || key === "prototype") {
						return object;
					}
					if (index != lastIndex) {
						var objValue = nested[key];
						newValue = customizer ? customizer(objValue, key, nested) : undefined;
						if (newValue === undefined) {
							newValue = isObject(objValue) ? objValue : isIndex(path[index + 1]) ? [] : {};
						}
					}
					assignValue(nested, key, newValue);
					nested = nested[key];
				}
				return object;
			}
			/**
			* The base implementation of `setData` without support for hot loop shorting.
			*
			* @private
			* @param {Function} func The function to associate metadata with.
			* @param {*} data The metadata.
			* @returns {Function} Returns `func`.
			*/
			var baseSetData = !metaMap ? identity : function(func, data) {
				metaMap.set(func, data);
				return func;
			};
			/**
			* The base implementation of `setToString` without support for hot loop shorting.
			*
			* @private
			* @param {Function} func The function to modify.
			* @param {Function} string The `toString` result.
			* @returns {Function} Returns `func`.
			*/
			var baseSetToString = !defineProperty ? identity : function(func, string) {
				return defineProperty(func, "toString", {
					"configurable": true,
					"enumerable": false,
					"value": constant(string),
					"writable": true
				});
			};
			/**
			* The base implementation of `_.shuffle`.
			*
			* @private
			* @param {Array|Object} collection The collection to shuffle.
			* @returns {Array} Returns the new shuffled array.
			*/
			function baseShuffle(collection) {
				return shuffleSelf(values(collection));
			}
			/**
			* The base implementation of `_.slice` without an iteratee call guard.
			*
			* @private
			* @param {Array} array The array to slice.
			* @param {number} [start=0] The start position.
			* @param {number} [end=array.length] The end position.
			* @returns {Array} Returns the slice of `array`.
			*/
			function baseSlice(array, start, end) {
				var index = -1, length = array.length;
				if (start < 0) {
					start = -start > length ? 0 : length + start;
				}
				end = end > length ? length : end;
				if (end < 0) {
					end += length;
				}
				length = start > end ? 0 : end - start >>> 0;
				start >>>= 0;
				var result = Array(length);
				while (++index < length) {
					result[index] = array[index + start];
				}
				return result;
			}
			/**
			* The base implementation of `_.some` without support for iteratee shorthands.
			*
			* @private
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Function} predicate The function invoked per iteration.
			* @returns {boolean} Returns `true` if any element passes the predicate check,
			*  else `false`.
			*/
			function baseSome(collection, predicate) {
				var result;
				baseEach(collection, function(value, index, collection) {
					result = predicate(value, index, collection);
					return !result;
				});
				return !!result;
			}
			/**
			* The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which
			* performs a binary search of `array` to determine the index at which `value`
			* should be inserted into `array` in order to maintain its sort order.
			*
			* @private
			* @param {Array} array The sorted array to inspect.
			* @param {*} value The value to evaluate.
			* @param {boolean} [retHighest] Specify returning the highest qualified index.
			* @returns {number} Returns the index at which `value` should be inserted
			*  into `array`.
			*/
			function baseSortedIndex(array, value, retHighest) {
				var low = 0, high = array == null ? low : array.length;
				if (typeof value == "number" && value === value && high <= HALF_MAX_ARRAY_LENGTH) {
					while (low < high) {
						var mid = low + high >>> 1, computed = array[mid];
						if (computed !== null && !isSymbol(computed) && (retHighest ? computed <= value : computed < value)) {
							low = mid + 1;
						} else {
							high = mid;
						}
					}
					return high;
				}
				return baseSortedIndexBy(array, value, identity, retHighest);
			}
			/**
			* The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`
			* which invokes `iteratee` for `value` and each element of `array` to compute
			* their sort ranking. The iteratee is invoked with one argument; (value).
			*
			* @private
			* @param {Array} array The sorted array to inspect.
			* @param {*} value The value to evaluate.
			* @param {Function} iteratee The iteratee invoked per element.
			* @param {boolean} [retHighest] Specify returning the highest qualified index.
			* @returns {number} Returns the index at which `value` should be inserted
			*  into `array`.
			*/
			function baseSortedIndexBy(array, value, iteratee, retHighest) {
				var low = 0, high = array == null ? 0 : array.length;
				if (high === 0) {
					return 0;
				}
				value = iteratee(value);
				var valIsNaN = value !== value, valIsNull = value === null, valIsSymbol = isSymbol(value), valIsUndefined = value === undefined;
				while (low < high) {
					var mid = nativeFloor((low + high) / 2), computed = iteratee(array[mid]), othIsDefined = computed !== undefined, othIsNull = computed === null, othIsReflexive = computed === computed, othIsSymbol = isSymbol(computed);
					if (valIsNaN) {
						var setLow = retHighest || othIsReflexive;
					} else if (valIsUndefined) {
						setLow = othIsReflexive && (retHighest || othIsDefined);
					} else if (valIsNull) {
						setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);
					} else if (valIsSymbol) {
						setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);
					} else if (othIsNull || othIsSymbol) {
						setLow = false;
					} else {
						setLow = retHighest ? computed <= value : computed < value;
					}
					if (setLow) {
						low = mid + 1;
					} else {
						high = mid;
					}
				}
				return nativeMin(high, MAX_ARRAY_INDEX);
			}
			/**
			* The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without
			* support for iteratee shorthands.
			*
			* @private
			* @param {Array} array The array to inspect.
			* @param {Function} [iteratee] The iteratee invoked per element.
			* @returns {Array} Returns the new duplicate free array.
			*/
			function baseSortedUniq(array, iteratee) {
				var index = -1, length = array.length, resIndex = 0, result = [];
				while (++index < length) {
					var value = array[index], computed = iteratee ? iteratee(value) : value;
					if (!index || !eq(computed, seen)) {
						var seen = computed;
						result[resIndex++] = value === 0 ? 0 : value;
					}
				}
				return result;
			}
			/**
			* The base implementation of `_.toNumber` which doesn't ensure correct
			* conversions of binary, hexadecimal, or octal string values.
			*
			* @private
			* @param {*} value The value to process.
			* @returns {number} Returns the number.
			*/
			function baseToNumber(value) {
				if (typeof value == "number") {
					return value;
				}
				if (isSymbol(value)) {
					return NAN;
				}
				return +value;
			}
			/**
			* The base implementation of `_.toString` which doesn't convert nullish
			* values to empty strings.
			*
			* @private
			* @param {*} value The value to process.
			* @returns {string} Returns the string.
			*/
			function baseToString(value) {
				if (typeof value == "string") {
					return value;
				}
				if (isArray(value)) {
					return arrayMap(value, baseToString) + "";
				}
				if (isSymbol(value)) {
					return symbolToString ? symbolToString.call(value) : "";
				}
				var result = value + "";
				return result == "0" && 1 / value == -INFINITY ? "-0" : result;
			}
			/**
			* The base implementation of `_.uniqBy` without support for iteratee shorthands.
			*
			* @private
			* @param {Array} array The array to inspect.
			* @param {Function} [iteratee] The iteratee invoked per element.
			* @param {Function} [comparator] The comparator invoked per element.
			* @returns {Array} Returns the new duplicate free array.
			*/
			function baseUniq(array, iteratee, comparator) {
				var index = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result;
				if (comparator) {
					isCommon = false;
					includes = arrayIncludesWith;
				} else if (length >= LARGE_ARRAY_SIZE) {
					var set = iteratee ? null : createSet(array);
					if (set) {
						return setToArray(set);
					}
					isCommon = false;
					includes = cacheHas;
					seen = new SetCache();
				} else {
					seen = iteratee ? [] : result;
				}
				outer: while (++index < length) {
					var value = array[index], computed = iteratee ? iteratee(value) : value;
					value = comparator || value !== 0 ? value : 0;
					if (isCommon && computed === computed) {
						var seenIndex = seen.length;
						while (seenIndex--) {
							if (seen[seenIndex] === computed) {
								continue outer;
							}
						}
						if (iteratee) {
							seen.push(computed);
						}
						result.push(value);
					} else if (!includes(seen, computed, comparator)) {
						if (seen !== result) {
							seen.push(computed);
						}
						result.push(value);
					}
				}
				return result;
			}
			/**
			* The base implementation of `_.unset`.
			*
			* @private
			* @param {Object} object The object to modify.
			* @param {Array|string} path The property path to unset.
			* @returns {boolean} Returns `true` if the property is deleted, else `false`.
			*/
			function baseUnset(object, path) {
				path = castPath(path, object);
				object = parent(object, path);
				return object == null || delete object[toKey(last(path))];
			}
			/**
			* The base implementation of `_.update`.
			*
			* @private
			* @param {Object} object The object to modify.
			* @param {Array|string} path The path of the property to update.
			* @param {Function} updater The function to produce the updated value.
			* @param {Function} [customizer] The function to customize path creation.
			* @returns {Object} Returns `object`.
			*/
			function baseUpdate(object, path, updater, customizer) {
				return baseSet(object, path, updater(baseGet(object, path)), customizer);
			}
			/**
			* The base implementation of methods like `_.dropWhile` and `_.takeWhile`
			* without support for iteratee shorthands.
			*
			* @private
			* @param {Array} array The array to query.
			* @param {Function} predicate The function invoked per iteration.
			* @param {boolean} [isDrop] Specify dropping elements instead of taking them.
			* @param {boolean} [fromRight] Specify iterating from right to left.
			* @returns {Array} Returns the slice of `array`.
			*/
			function baseWhile(array, predicate, isDrop, fromRight) {
				var length = array.length, index = fromRight ? length : -1;
				while ((fromRight ? index-- : ++index < length) && predicate(array[index], index, array)) {}
				return isDrop ? baseSlice(array, fromRight ? 0 : index, fromRight ? index + 1 : length) : baseSlice(array, fromRight ? index + 1 : 0, fromRight ? length : index);
			}
			/**
			* The base implementation of `wrapperValue` which returns the result of
			* performing a sequence of actions on the unwrapped `value`, where each
			* successive action is supplied the return value of the previous.
			*
			* @private
			* @param {*} value The unwrapped value.
			* @param {Array} actions Actions to perform to resolve the unwrapped value.
			* @returns {*} Returns the resolved value.
			*/
			function baseWrapperValue(value, actions) {
				var result = value;
				if (result instanceof LazyWrapper) {
					result = result.value();
				}
				return arrayReduce(actions, function(result, action) {
					return action.func.apply(action.thisArg, arrayPush([result], action.args));
				}, result);
			}
			/**
			* The base implementation of methods like `_.xor`, without support for
			* iteratee shorthands, that accepts an array of arrays to inspect.
			*
			* @private
			* @param {Array} arrays The arrays to inspect.
			* @param {Function} [iteratee] The iteratee invoked per element.
			* @param {Function} [comparator] The comparator invoked per element.
			* @returns {Array} Returns the new array of values.
			*/
			function baseXor(arrays, iteratee, comparator) {
				var length = arrays.length;
				if (length < 2) {
					return length ? baseUniq(arrays[0]) : [];
				}
				var index = -1, result = Array(length);
				while (++index < length) {
					var array = arrays[index], othIndex = -1;
					while (++othIndex < length) {
						if (othIndex != index) {
							result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);
						}
					}
				}
				return baseUniq(baseFlatten(result, 1), iteratee, comparator);
			}
			/**
			* This base implementation of `_.zipObject` which assigns values using `assignFunc`.
			*
			* @private
			* @param {Array} props The property identifiers.
			* @param {Array} values The property values.
			* @param {Function} assignFunc The function to assign values.
			* @returns {Object} Returns the new object.
			*/
			function baseZipObject(props, values, assignFunc) {
				var index = -1, length = props.length, valsLength = values.length, result = {};
				while (++index < length) {
					var value = index < valsLength ? values[index] : undefined;
					assignFunc(result, props[index], value);
				}
				return result;
			}
			/**
			* Casts `value` to an empty array if it's not an array like object.
			*
			* @private
			* @param {*} value The value to inspect.
			* @returns {Array|Object} Returns the cast array-like object.
			*/
			function castArrayLikeObject(value) {
				return isArrayLikeObject(value) ? value : [];
			}
			/**
			* Casts `value` to `identity` if it's not a function.
			*
			* @private
			* @param {*} value The value to inspect.
			* @returns {Function} Returns cast function.
			*/
			function castFunction(value) {
				return typeof value == "function" ? value : identity;
			}
			/**
			* Casts `value` to a path array if it's not one.
			*
			* @private
			* @param {*} value The value to inspect.
			* @param {Object} [object] The object to query keys on.
			* @returns {Array} Returns the cast property path array.
			*/
			function castPath(value, object) {
				if (isArray(value)) {
					return value;
				}
				return isKey(value, object) ? [value] : stringToPath(toString(value));
			}
			/**
			* A `baseRest` alias which can be replaced with `identity` by module
			* replacement plugins.
			*
			* @private
			* @type {Function}
			* @param {Function} func The function to apply a rest parameter to.
			* @returns {Function} Returns the new function.
			*/
			var castRest = baseRest;
			/**
			* Casts `array` to a slice if it's needed.
			*
			* @private
			* @param {Array} array The array to inspect.
			* @param {number} start The start position.
			* @param {number} [end=array.length] The end position.
			* @returns {Array} Returns the cast slice.
			*/
			function castSlice(array, start, end) {
				var length = array.length;
				end = end === undefined ? length : end;
				return !start && end >= length ? array : baseSlice(array, start, end);
			}
			/**
			* A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout).
			*
			* @private
			* @param {number|Object} id The timer id or timeout object of the timer to clear.
			*/
			var clearTimeout = ctxClearTimeout || function(id) {
				return root.clearTimeout(id);
			};
			/**
			* Creates a clone of  `buffer`.
			*
			* @private
			* @param {Buffer} buffer The buffer to clone.
			* @param {boolean} [isDeep] Specify a deep clone.
			* @returns {Buffer} Returns the cloned buffer.
			*/
			function cloneBuffer(buffer, isDeep) {
				if (isDeep) {
					return buffer.slice();
				}
				var length = buffer.length, result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
				buffer.copy(result);
				return result;
			}
			/**
			* Creates a clone of `arrayBuffer`.
			*
			* @private
			* @param {ArrayBuffer} arrayBuffer The array buffer to clone.
			* @returns {ArrayBuffer} Returns the cloned array buffer.
			*/
			function cloneArrayBuffer(arrayBuffer) {
				var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
				new Uint8Array(result).set(new Uint8Array(arrayBuffer));
				return result;
			}
			/**
			* Creates a clone of `dataView`.
			*
			* @private
			* @param {Object} dataView The data view to clone.
			* @param {boolean} [isDeep] Specify a deep clone.
			* @returns {Object} Returns the cloned data view.
			*/
			function cloneDataView(dataView, isDeep) {
				var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;
				return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
			}
			/**
			* Creates a clone of `regexp`.
			*
			* @private
			* @param {Object} regexp The regexp to clone.
			* @returns {Object} Returns the cloned regexp.
			*/
			function cloneRegExp(regexp) {
				var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));
				result.lastIndex = regexp.lastIndex;
				return result;
			}
			/**
			* Creates a clone of the `symbol` object.
			*
			* @private
			* @param {Object} symbol The symbol object to clone.
			* @returns {Object} Returns the cloned symbol object.
			*/
			function cloneSymbol(symbol) {
				return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};
			}
			/**
			* Creates a clone of `typedArray`.
			*
			* @private
			* @param {Object} typedArray The typed array to clone.
			* @param {boolean} [isDeep] Specify a deep clone.
			* @returns {Object} Returns the cloned typed array.
			*/
			function cloneTypedArray(typedArray, isDeep) {
				var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;
				return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
			}
			/**
			* Compares values to sort them in ascending order.
			*
			* @private
			* @param {*} value The value to compare.
			* @param {*} other The other value to compare.
			* @returns {number} Returns the sort order indicator for `value`.
			*/
			function compareAscending(value, other) {
				if (value !== other) {
					var valIsDefined = value !== undefined, valIsNull = value === null, valIsReflexive = value === value, valIsSymbol = isSymbol(value);
					var othIsDefined = other !== undefined, othIsNull = other === null, othIsReflexive = other === other, othIsSymbol = isSymbol(other);
					if (!othIsNull && !othIsSymbol && !valIsSymbol && value > other || valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol || valIsNull && othIsDefined && othIsReflexive || !valIsDefined && othIsReflexive || !valIsReflexive) {
						return 1;
					}
					if (!valIsNull && !valIsSymbol && !othIsSymbol && value < other || othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol || othIsNull && valIsDefined && valIsReflexive || !othIsDefined && valIsReflexive || !othIsReflexive) {
						return -1;
					}
				}
				return 0;
			}
			/**
			* Used by `_.orderBy` to compare multiple properties of a value to another
			* and stable sort them.
			*
			* If `orders` is unspecified, all values are sorted in ascending order. Otherwise,
			* specify an order of "desc" for descending or "asc" for ascending sort order
			* of corresponding values.
			*
			* @private
			* @param {Object} object The object to compare.
			* @param {Object} other The other object to compare.
			* @param {boolean[]|string[]} orders The order to sort by for each property.
			* @returns {number} Returns the sort order indicator for `object`.
			*/
			function compareMultiple(object, other, orders) {
				var index = -1, objCriteria = object.criteria, othCriteria = other.criteria, length = objCriteria.length, ordersLength = orders.length;
				while (++index < length) {
					var result = compareAscending(objCriteria[index], othCriteria[index]);
					if (result) {
						if (index >= ordersLength) {
							return result;
						}
						var order = orders[index];
						return result * (order == "desc" ? -1 : 1);
					}
				}
				return object.index - other.index;
			}
			/**
			* Creates an array that is the composition of partially applied arguments,
			* placeholders, and provided arguments into a single array of arguments.
			*
			* @private
			* @param {Array} args The provided arguments.
			* @param {Array} partials The arguments to prepend to those provided.
			* @param {Array} holders The `partials` placeholder indexes.
			* @params {boolean} [isCurried] Specify composing for a curried function.
			* @returns {Array} Returns the new array of composed arguments.
			*/
			function composeArgs(args, partials, holders, isCurried) {
				var argsIndex = -1, argsLength = args.length, holdersLength = holders.length, leftIndex = -1, leftLength = partials.length, rangeLength = nativeMax(argsLength - holdersLength, 0), result = Array(leftLength + rangeLength), isUncurried = !isCurried;
				while (++leftIndex < leftLength) {
					result[leftIndex] = partials[leftIndex];
				}
				while (++argsIndex < holdersLength) {
					if (isUncurried || argsIndex < argsLength) {
						result[holders[argsIndex]] = args[argsIndex];
					}
				}
				while (rangeLength--) {
					result[leftIndex++] = args[argsIndex++];
				}
				return result;
			}
			/**
			* This function is like `composeArgs` except that the arguments composition
			* is tailored for `_.partialRight`.
			*
			* @private
			* @param {Array} args The provided arguments.
			* @param {Array} partials The arguments to append to those provided.
			* @param {Array} holders The `partials` placeholder indexes.
			* @params {boolean} [isCurried] Specify composing for a curried function.
			* @returns {Array} Returns the new array of composed arguments.
			*/
			function composeArgsRight(args, partials, holders, isCurried) {
				var argsIndex = -1, argsLength = args.length, holdersIndex = -1, holdersLength = holders.length, rightIndex = -1, rightLength = partials.length, rangeLength = nativeMax(argsLength - holdersLength, 0), result = Array(rangeLength + rightLength), isUncurried = !isCurried;
				while (++argsIndex < rangeLength) {
					result[argsIndex] = args[argsIndex];
				}
				var offset = argsIndex;
				while (++rightIndex < rightLength) {
					result[offset + rightIndex] = partials[rightIndex];
				}
				while (++holdersIndex < holdersLength) {
					if (isUncurried || argsIndex < argsLength) {
						result[offset + holders[holdersIndex]] = args[argsIndex++];
					}
				}
				return result;
			}
			/**
			* Copies the values of `source` to `array`.
			*
			* @private
			* @param {Array} source The array to copy values from.
			* @param {Array} [array=[]] The array to copy values to.
			* @returns {Array} Returns `array`.
			*/
			function copyArray(source, array) {
				var index = -1, length = source.length;
				array || (array = Array(length));
				while (++index < length) {
					array[index] = source[index];
				}
				return array;
			}
			/**
			* Copies properties of `source` to `object`.
			*
			* @private
			* @param {Object} source The object to copy properties from.
			* @param {Array} props The property identifiers to copy.
			* @param {Object} [object={}] The object to copy properties to.
			* @param {Function} [customizer] The function to customize copied values.
			* @returns {Object} Returns `object`.
			*/
			function copyObject(source, props, object, customizer) {
				var isNew = !object;
				object || (object = {});
				var index = -1, length = props.length;
				while (++index < length) {
					var key = props[index];
					var newValue = customizer ? customizer(object[key], source[key], key, object, source) : undefined;
					if (newValue === undefined) {
						newValue = source[key];
					}
					if (isNew) {
						baseAssignValue(object, key, newValue);
					} else {
						assignValue(object, key, newValue);
					}
				}
				return object;
			}
			/**
			* Copies own symbols of `source` to `object`.
			*
			* @private
			* @param {Object} source The object to copy symbols from.
			* @param {Object} [object={}] The object to copy symbols to.
			* @returns {Object} Returns `object`.
			*/
			function copySymbols(source, object) {
				return copyObject(source, getSymbols(source), object);
			}
			/**
			* Copies own and inherited symbols of `source` to `object`.
			*
			* @private
			* @param {Object} source The object to copy symbols from.
			* @param {Object} [object={}] The object to copy symbols to.
			* @returns {Object} Returns `object`.
			*/
			function copySymbolsIn(source, object) {
				return copyObject(source, getSymbolsIn(source), object);
			}
			/**
			* Creates a function like `_.groupBy`.
			*
			* @private
			* @param {Function} setter The function to set accumulator values.
			* @param {Function} [initializer] The accumulator object initializer.
			* @returns {Function} Returns the new aggregator function.
			*/
			function createAggregator(setter, initializer) {
				return function(collection, iteratee) {
					var func = isArray(collection) ? arrayAggregator : baseAggregator, accumulator = initializer ? initializer() : {};
					return func(collection, setter, getIteratee(iteratee, 2), accumulator);
				};
			}
			/**
			* Creates a function like `_.assign`.
			*
			* @private
			* @param {Function} assigner The function to assign values.
			* @returns {Function} Returns the new assigner function.
			*/
			function createAssigner(assigner) {
				return baseRest(function(object, sources) {
					var index = -1, length = sources.length, customizer = length > 1 ? sources[length - 1] : undefined, guard = length > 2 ? sources[2] : undefined;
					customizer = assigner.length > 3 && typeof customizer == "function" ? (length--, customizer) : undefined;
					if (guard && isIterateeCall(sources[0], sources[1], guard)) {
						customizer = length < 3 ? undefined : customizer;
						length = 1;
					}
					object = Object(object);
					while (++index < length) {
						var source = sources[index];
						if (source) {
							assigner(object, source, index, customizer);
						}
					}
					return object;
				});
			}
			/**
			* Creates a `baseEach` or `baseEachRight` function.
			*
			* @private
			* @param {Function} eachFunc The function to iterate over a collection.
			* @param {boolean} [fromRight] Specify iterating from right to left.
			* @returns {Function} Returns the new base function.
			*/
			function createBaseEach(eachFunc, fromRight) {
				return function(collection, iteratee) {
					if (collection == null) {
						return collection;
					}
					if (!isArrayLike(collection)) {
						return eachFunc(collection, iteratee);
					}
					var length = collection.length, index = fromRight ? length : -1, iterable = Object(collection);
					while (fromRight ? index-- : ++index < length) {
						if (iteratee(iterable[index], index, iterable) === false) {
							break;
						}
					}
					return collection;
				};
			}
			/**
			* Creates a base function for methods like `_.forIn` and `_.forOwn`.
			*
			* @private
			* @param {boolean} [fromRight] Specify iterating from right to left.
			* @returns {Function} Returns the new base function.
			*/
			function createBaseFor(fromRight) {
				return function(object, iteratee, keysFunc) {
					var index = -1, iterable = Object(object), props = keysFunc(object), length = props.length;
					while (length--) {
						var key = props[fromRight ? length : ++index];
						if (iteratee(iterable[key], key, iterable) === false) {
							break;
						}
					}
					return object;
				};
			}
			/**
			* Creates a function that wraps `func` to invoke it with the optional `this`
			* binding of `thisArg`.
			*
			* @private
			* @param {Function} func The function to wrap.
			* @param {number} bitmask The bitmask flags. See `createWrap` for more details.
			* @param {*} [thisArg] The `this` binding of `func`.
			* @returns {Function} Returns the new wrapped function.
			*/
			function createBind(func, bitmask, thisArg) {
				var isBind = bitmask & WRAP_BIND_FLAG, Ctor = createCtor(func);
				function wrapper() {
					var fn = this && this !== root && this instanceof wrapper ? Ctor : func;
					return fn.apply(isBind ? thisArg : this, arguments);
				}
				return wrapper;
			}
			/**
			* Creates a function like `_.lowerFirst`.
			*
			* @private
			* @param {string} methodName The name of the `String` case method to use.
			* @returns {Function} Returns the new case function.
			*/
			function createCaseFirst(methodName) {
				return function(string) {
					string = toString(string);
					var strSymbols = hasUnicode(string) ? stringToArray(string) : undefined;
					var chr = strSymbols ? strSymbols[0] : string.charAt(0);
					var trailing = strSymbols ? castSlice(strSymbols, 1).join("") : string.slice(1);
					return chr[methodName]() + trailing;
				};
			}
			/**
			* Creates a function like `_.camelCase`.
			*
			* @private
			* @param {Function} callback The function to combine each word.
			* @returns {Function} Returns the new compounder function.
			*/
			function createCompounder(callback) {
				return function(string) {
					return arrayReduce(words(deburr(string).replace(reApos, "")), callback, "");
				};
			}
			/**
			* Creates a function that produces an instance of `Ctor` regardless of
			* whether it was invoked as part of a `new` expression or by `call` or `apply`.
			*
			* @private
			* @param {Function} Ctor The constructor to wrap.
			* @returns {Function} Returns the new wrapped function.
			*/
			function createCtor(Ctor) {
				return function() {
					var args = arguments;
					switch (args.length) {
						case 0: return new Ctor();
						case 1: return new Ctor(args[0]);
						case 2: return new Ctor(args[0], args[1]);
						case 3: return new Ctor(args[0], args[1], args[2]);
						case 4: return new Ctor(args[0], args[1], args[2], args[3]);
						case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);
						case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);
						case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
					}
					var thisBinding = baseCreate(Ctor.prototype), result = Ctor.apply(thisBinding, args);
					return isObject(result) ? result : thisBinding;
				};
			}
			/**
			* Creates a function that wraps `func` to enable currying.
			*
			* @private
			* @param {Function} func The function to wrap.
			* @param {number} bitmask The bitmask flags. See `createWrap` for more details.
			* @param {number} arity The arity of `func`.
			* @returns {Function} Returns the new wrapped function.
			*/
			function createCurry(func, bitmask, arity) {
				var Ctor = createCtor(func);
				function wrapper() {
					var length = arguments.length, args = Array(length), index = length, placeholder = getHolder(wrapper);
					while (index--) {
						args[index] = arguments[index];
					}
					var holders = length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder ? [] : replaceHolders(args, placeholder);
					length -= holders.length;
					if (length < arity) {
						return createRecurry(func, bitmask, createHybrid, wrapper.placeholder, undefined, args, holders, undefined, undefined, arity - length);
					}
					var fn = this && this !== root && this instanceof wrapper ? Ctor : func;
					return apply(fn, this, args);
				}
				return wrapper;
			}
			/**
			* Creates a `_.find` or `_.findLast` function.
			*
			* @private
			* @param {Function} findIndexFunc The function to find the collection index.
			* @returns {Function} Returns the new find function.
			*/
			function createFind(findIndexFunc) {
				return function(collection, predicate, fromIndex) {
					var iterable = Object(collection);
					if (!isArrayLike(collection)) {
						var iteratee = getIteratee(predicate, 3);
						collection = keys(collection);
						predicate = function(key) {
							return iteratee(iterable[key], key, iterable);
						};
					}
					var index = findIndexFunc(collection, predicate, fromIndex);
					return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;
				};
			}
			/**
			* Creates a `_.flow` or `_.flowRight` function.
			*
			* @private
			* @param {boolean} [fromRight] Specify iterating from right to left.
			* @returns {Function} Returns the new flow function.
			*/
			function createFlow(fromRight) {
				return flatRest(function(funcs) {
					var length = funcs.length, index = length, prereq = LodashWrapper.prototype.thru;
					if (fromRight) {
						funcs.reverse();
					}
					while (index--) {
						var func = funcs[index];
						if (typeof func != "function") {
							throw new TypeError(FUNC_ERROR_TEXT);
						}
						if (prereq && !wrapper && getFuncName(func) == "wrapper") {
							var wrapper = new LodashWrapper([], true);
						}
					}
					index = wrapper ? index : length;
					while (++index < length) {
						func = funcs[index];
						var funcName = getFuncName(func), data = funcName == "wrapper" ? getData(func) : undefined;
						if (data && isLaziable(data[0]) && data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && !data[4].length && data[9] == 1) {
							wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);
						} else {
							wrapper = func.length == 1 && isLaziable(func) ? wrapper[funcName]() : wrapper.thru(func);
						}
					}
					return function() {
						var args = arguments, value = args[0];
						if (wrapper && args.length == 1 && isArray(value)) {
							return wrapper.plant(value).value();
						}
						var index = 0, result = length ? funcs[index].apply(this, args) : value;
						while (++index < length) {
							result = funcs[index].call(this, result);
						}
						return result;
					};
				});
			}
			/**
			* Creates a function that wraps `func` to invoke it with optional `this`
			* binding of `thisArg`, partial application, and currying.
			*
			* @private
			* @param {Function|string} func The function or method name to wrap.
			* @param {number} bitmask The bitmask flags. See `createWrap` for more details.
			* @param {*} [thisArg] The `this` binding of `func`.
			* @param {Array} [partials] The arguments to prepend to those provided to
			*  the new function.
			* @param {Array} [holders] The `partials` placeholder indexes.
			* @param {Array} [partialsRight] The arguments to append to those provided
			*  to the new function.
			* @param {Array} [holdersRight] The `partialsRight` placeholder indexes.
			* @param {Array} [argPos] The argument positions of the new function.
			* @param {number} [ary] The arity cap of `func`.
			* @param {number} [arity] The arity of `func`.
			* @returns {Function} Returns the new wrapped function.
			*/
			function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {
				var isAry = bitmask & WRAP_ARY_FLAG, isBind = bitmask & WRAP_BIND_FLAG, isBindKey = bitmask & WRAP_BIND_KEY_FLAG, isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG), isFlip = bitmask & WRAP_FLIP_FLAG, Ctor = isBindKey ? undefined : createCtor(func);
				function wrapper() {
					var length = arguments.length, args = Array(length), index = length;
					while (index--) {
						args[index] = arguments[index];
					}
					if (isCurried) {
						var placeholder = getHolder(wrapper), holdersCount = countHolders(args, placeholder);
					}
					if (partials) {
						args = composeArgs(args, partials, holders, isCurried);
					}
					if (partialsRight) {
						args = composeArgsRight(args, partialsRight, holdersRight, isCurried);
					}
					length -= holdersCount;
					if (isCurried && length < arity) {
						var newHolders = replaceHolders(args, placeholder);
						return createRecurry(func, bitmask, createHybrid, wrapper.placeholder, thisArg, args, newHolders, argPos, ary, arity - length);
					}
					var thisBinding = isBind ? thisArg : this, fn = isBindKey ? thisBinding[func] : func;
					length = args.length;
					if (argPos) {
						args = reorder(args, argPos);
					} else if (isFlip && length > 1) {
						args.reverse();
					}
					if (isAry && ary < length) {
						args.length = ary;
					}
					if (this && this !== root && this instanceof wrapper) {
						fn = Ctor || createCtor(fn);
					}
					return fn.apply(thisBinding, args);
				}
				return wrapper;
			}
			/**
			* Creates a function like `_.invertBy`.
			*
			* @private
			* @param {Function} setter The function to set accumulator values.
			* @param {Function} toIteratee The function to resolve iteratees.
			* @returns {Function} Returns the new inverter function.
			*/
			function createInverter(setter, toIteratee) {
				return function(object, iteratee) {
					return baseInverter(object, setter, toIteratee(iteratee), {});
				};
			}
			/**
			* Creates a function that performs a mathematical operation on two values.
			*
			* @private
			* @param {Function} operator The function to perform the operation.
			* @param {number} [defaultValue] The value used for `undefined` arguments.
			* @returns {Function} Returns the new mathematical operation function.
			*/
			function createMathOperation(operator, defaultValue) {
				return function(value, other) {
					var result;
					if (value === undefined && other === undefined) {
						return defaultValue;
					}
					if (value !== undefined) {
						result = value;
					}
					if (other !== undefined) {
						if (result === undefined) {
							return other;
						}
						if (typeof value == "string" || typeof other == "string") {
							value = baseToString(value);
							other = baseToString(other);
						} else {
							value = baseToNumber(value);
							other = baseToNumber(other);
						}
						result = operator(value, other);
					}
					return result;
				};
			}
			/**
			* Creates a function like `_.over`.
			*
			* @private
			* @param {Function} arrayFunc The function to iterate over iteratees.
			* @returns {Function} Returns the new over function.
			*/
			function createOver(arrayFunc) {
				return flatRest(function(iteratees) {
					iteratees = arrayMap(iteratees, baseUnary(getIteratee()));
					return baseRest(function(args) {
						var thisArg = this;
						return arrayFunc(iteratees, function(iteratee) {
							return apply(iteratee, thisArg, args);
						});
					});
				});
			}
			/**
			* Creates the padding for `string` based on `length`. The `chars` string
			* is truncated if the number of characters exceeds `length`.
			*
			* @private
			* @param {number} length The padding length.
			* @param {string} [chars=' '] The string used as padding.
			* @returns {string} Returns the padding for `string`.
			*/
			function createPadding(length, chars) {
				chars = chars === undefined ? " " : baseToString(chars);
				var charsLength = chars.length;
				if (charsLength < 2) {
					return charsLength ? baseRepeat(chars, length) : chars;
				}
				var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));
				return hasUnicode(chars) ? castSlice(stringToArray(result), 0, length).join("") : result.slice(0, length);
			}
			/**
			* Creates a function that wraps `func` to invoke it with the `this` binding
			* of `thisArg` and `partials` prepended to the arguments it receives.
			*
			* @private
			* @param {Function} func The function to wrap.
			* @param {number} bitmask The bitmask flags. See `createWrap` for more details.
			* @param {*} thisArg The `this` binding of `func`.
			* @param {Array} partials The arguments to prepend to those provided to
			*  the new function.
			* @returns {Function} Returns the new wrapped function.
			*/
			function createPartial(func, bitmask, thisArg, partials) {
				var isBind = bitmask & WRAP_BIND_FLAG, Ctor = createCtor(func);
				function wrapper() {
					var argsIndex = -1, argsLength = arguments.length, leftIndex = -1, leftLength = partials.length, args = Array(leftLength + argsLength), fn = this && this !== root && this instanceof wrapper ? Ctor : func;
					while (++leftIndex < leftLength) {
						args[leftIndex] = partials[leftIndex];
					}
					while (argsLength--) {
						args[leftIndex++] = arguments[++argsIndex];
					}
					return apply(fn, isBind ? thisArg : this, args);
				}
				return wrapper;
			}
			/**
			* Creates a `_.range` or `_.rangeRight` function.
			*
			* @private
			* @param {boolean} [fromRight] Specify iterating from right to left.
			* @returns {Function} Returns the new range function.
			*/
			function createRange(fromRight) {
				return function(start, end, step) {
					if (step && typeof step != "number" && isIterateeCall(start, end, step)) {
						end = step = undefined;
					}
					start = toFinite(start);
					if (end === undefined) {
						end = start;
						start = 0;
					} else {
						end = toFinite(end);
					}
					step = step === undefined ? start < end ? 1 : -1 : toFinite(step);
					return baseRange(start, end, step, fromRight);
				};
			}
			/**
			* Creates a function that performs a relational operation on two values.
			*
			* @private
			* @param {Function} operator The function to perform the operation.
			* @returns {Function} Returns the new relational operation function.
			*/
			function createRelationalOperation(operator) {
				return function(value, other) {
					if (!(typeof value == "string" && typeof other == "string")) {
						value = toNumber(value);
						other = toNumber(other);
					}
					return operator(value, other);
				};
			}
			/**
			* Creates a function that wraps `func` to continue currying.
			*
			* @private
			* @param {Function} func The function to wrap.
			* @param {number} bitmask The bitmask flags. See `createWrap` for more details.
			* @param {Function} wrapFunc The function to create the `func` wrapper.
			* @param {*} placeholder The placeholder value.
			* @param {*} [thisArg] The `this` binding of `func`.
			* @param {Array} [partials] The arguments to prepend to those provided to
			*  the new function.
			* @param {Array} [holders] The `partials` placeholder indexes.
			* @param {Array} [argPos] The argument positions of the new function.
			* @param {number} [ary] The arity cap of `func`.
			* @param {number} [arity] The arity of `func`.
			* @returns {Function} Returns the new wrapped function.
			*/
			function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {
				var isCurry = bitmask & WRAP_CURRY_FLAG, newHolders = isCurry ? holders : undefined, newHoldersRight = isCurry ? undefined : holders, newPartials = isCurry ? partials : undefined, newPartialsRight = isCurry ? undefined : partials;
				bitmask |= isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG;
				bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);
				if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {
					bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);
				}
				var newData = [
					func,
					bitmask,
					thisArg,
					newPartials,
					newHolders,
					newPartialsRight,
					newHoldersRight,
					argPos,
					ary,
					arity
				];
				var result = wrapFunc.apply(undefined, newData);
				if (isLaziable(func)) {
					setData(result, newData);
				}
				result.placeholder = placeholder;
				return setWrapToString(result, func, bitmask);
			}
			/**
			* Creates a function like `_.round`.
			*
			* @private
			* @param {string} methodName The name of the `Math` method to use when rounding.
			* @returns {Function} Returns the new round function.
			*/
			function createRound(methodName) {
				var func = Math[methodName];
				return function(number, precision) {
					number = toNumber(number);
					precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);
					if (precision && nativeIsFinite(number)) {
						var pair = (toString(number) + "e").split("e"), value = func(pair[0] + "e" + (+pair[1] + precision));
						pair = (toString(value) + "e").split("e");
						return +(pair[0] + "e" + (+pair[1] - precision));
					}
					return func(number);
				};
			}
			/**
			* Creates a set object of `values`.
			*
			* @private
			* @param {Array} values The values to add to the set.
			* @returns {Object} Returns the new set.
			*/
			var createSet = !(Set && 1 / setToArray(new Set([, -0]))[1] == INFINITY) ? noop : function(values) {
				return new Set(values);
			};
			/**
			* Creates a `_.toPairs` or `_.toPairsIn` function.
			*
			* @private
			* @param {Function} keysFunc The function to get the keys of a given object.
			* @returns {Function} Returns the new pairs function.
			*/
			function createToPairs(keysFunc) {
				return function(object) {
					var tag = getTag(object);
					if (tag == mapTag) {
						return mapToArray(object);
					}
					if (tag == setTag) {
						return setToPairs(object);
					}
					return baseToPairs(object, keysFunc(object));
				};
			}
			/**
			* Creates a function that either curries or invokes `func` with optional
			* `this` binding and partially applied arguments.
			*
			* @private
			* @param {Function|string} func The function or method name to wrap.
			* @param {number} bitmask The bitmask flags.
			*    1 - `_.bind`
			*    2 - `_.bindKey`
			*    4 - `_.curry` or `_.curryRight` of a bound function
			*    8 - `_.curry`
			*   16 - `_.curryRight`
			*   32 - `_.partial`
			*   64 - `_.partialRight`
			*  128 - `_.rearg`
			*  256 - `_.ary`
			*  512 - `_.flip`
			* @param {*} [thisArg] The `this` binding of `func`.
			* @param {Array} [partials] The arguments to be partially applied.
			* @param {Array} [holders] The `partials` placeholder indexes.
			* @param {Array} [argPos] The argument positions of the new function.
			* @param {number} [ary] The arity cap of `func`.
			* @param {number} [arity] The arity of `func`.
			* @returns {Function} Returns the new wrapped function.
			*/
			function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {
				var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;
				if (!isBindKey && typeof func != "function") {
					throw new TypeError(FUNC_ERROR_TEXT);
				}
				var length = partials ? partials.length : 0;
				if (!length) {
					bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);
					partials = holders = undefined;
				}
				ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);
				arity = arity === undefined ? arity : toInteger(arity);
				length -= holders ? holders.length : 0;
				if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {
					var partialsRight = partials, holdersRight = holders;
					partials = holders = undefined;
				}
				var data = isBindKey ? undefined : getData(func);
				var newData = [
					func,
					bitmask,
					thisArg,
					partials,
					holders,
					partialsRight,
					holdersRight,
					argPos,
					ary,
					arity
				];
				if (data) {
					mergeData(newData, data);
				}
				func = newData[0];
				bitmask = newData[1];
				thisArg = newData[2];
				partials = newData[3];
				holders = newData[4];
				arity = newData[9] = newData[9] === undefined ? isBindKey ? 0 : func.length : nativeMax(newData[9] - length, 0);
				if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {
					bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);
				}
				if (!bitmask || bitmask == WRAP_BIND_FLAG) {
					var result = createBind(func, bitmask, thisArg);
				} else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {
					result = createCurry(func, bitmask, arity);
				} else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {
					result = createPartial(func, bitmask, thisArg, partials);
				} else {
					result = createHybrid.apply(undefined, newData);
				}
				var setter = data ? baseSetData : setData;
				return setWrapToString(setter(result, newData), func, bitmask);
			}
			/**
			* Used by `_.defaults` to customize its `_.assignIn` use to assign properties
			* of source objects to the destination object for all destination properties
			* that resolve to `undefined`.
			*
			* @private
			* @param {*} objValue The destination value.
			* @param {*} srcValue The source value.
			* @param {string} key The key of the property to assign.
			* @param {Object} object The parent object of `objValue`.
			* @returns {*} Returns the value to assign.
			*/
			function customDefaultsAssignIn(objValue, srcValue, key, object) {
				if (objValue === undefined || eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key)) {
					return srcValue;
				}
				return objValue;
			}
			/**
			* Used by `_.defaultsDeep` to customize its `_.merge` use to merge source
			* objects into destination objects that are passed thru.
			*
			* @private
			* @param {*} objValue The destination value.
			* @param {*} srcValue The source value.
			* @param {string} key The key of the property to merge.
			* @param {Object} object The parent object of `objValue`.
			* @param {Object} source The parent object of `srcValue`.
			* @param {Object} [stack] Tracks traversed source values and their merged
			*  counterparts.
			* @returns {*} Returns the value to assign.
			*/
			function customDefaultsMerge(objValue, srcValue, key, object, source, stack) {
				if (isObject(objValue) && isObject(srcValue)) {
					stack.set(srcValue, objValue);
					baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);
					stack["delete"](srcValue);
				}
				return objValue;
			}
			/**
			* Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain
			* objects.
			*
			* @private
			* @param {*} value The value to inspect.
			* @param {string} key The key of the property to inspect.
			* @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.
			*/
			function customOmitClone(value) {
				return isPlainObject(value) ? undefined : value;
			}
			/**
			* A specialized version of `baseIsEqualDeep` for arrays with support for
			* partial deep comparisons.
			*
			* @private
			* @param {Array} array The array to compare.
			* @param {Array} other The other array to compare.
			* @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
			* @param {Function} customizer The function to customize comparisons.
			* @param {Function} equalFunc The function to determine equivalents of values.
			* @param {Object} stack Tracks traversed `array` and `other` objects.
			* @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
			*/
			function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
				var isPartial = bitmask & COMPARE_PARTIAL_FLAG, arrLength = array.length, othLength = other.length;
				if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
					return false;
				}
				var arrStacked = stack.get(array);
				var othStacked = stack.get(other);
				if (arrStacked && othStacked) {
					return arrStacked == other && othStacked == array;
				}
				var index = -1, result = true, seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache() : undefined;
				stack.set(array, other);
				stack.set(other, array);
				while (++index < arrLength) {
					var arrValue = array[index], othValue = other[index];
					if (customizer) {
						var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack);
					}
					if (compared !== undefined) {
						if (compared) {
							continue;
						}
						result = false;
						break;
					}
					if (seen) {
						if (!arraySome(other, function(othValue, othIndex) {
							if (!cacheHas(seen, othIndex) && (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
								return seen.push(othIndex);
							}
						})) {
							result = false;
							break;
						}
					} else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
						result = false;
						break;
					}
				}
				stack["delete"](array);
				stack["delete"](other);
				return result;
			}
			/**
			* A specialized version of `baseIsEqualDeep` for comparing objects of
			* the same `toStringTag`.
			*
			* **Note:** This function only supports comparing values with tags of
			* `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
			*
			* @private
			* @param {Object} object The object to compare.
			* @param {Object} other The other object to compare.
			* @param {string} tag The `toStringTag` of the objects to compare.
			* @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
			* @param {Function} customizer The function to customize comparisons.
			* @param {Function} equalFunc The function to determine equivalents of values.
			* @param {Object} stack Tracks traversed `object` and `other` objects.
			* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
			*/
			function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
				switch (tag) {
					case dataViewTag:
						if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) {
							return false;
						}
						object = object.buffer;
						other = other.buffer;
					case arrayBufferTag:
						if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array(object), new Uint8Array(other))) {
							return false;
						}
						return true;
					case boolTag:
					case dateTag:
					case numberTag: return eq(+object, +other);
					case errorTag: return object.name == other.name && object.message == other.message;
					case regexpTag:
					case stringTag: return object == other + "";
					case mapTag: var convert = mapToArray;
					case setTag:
						var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
						convert || (convert = setToArray);
						if (object.size != other.size && !isPartial) {
							return false;
						}
						var stacked = stack.get(object);
						if (stacked) {
							return stacked == other;
						}
						bitmask |= COMPARE_UNORDERED_FLAG;
						stack.set(object, other);
						var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
						stack["delete"](object);
						return result;
					case symbolTag: if (symbolValueOf) {
						return symbolValueOf.call(object) == symbolValueOf.call(other);
					}
				}
				return false;
			}
			/**
			* A specialized version of `baseIsEqualDeep` for objects with support for
			* partial deep comparisons.
			*
			* @private
			* @param {Object} object The object to compare.
			* @param {Object} other The other object to compare.
			* @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
			* @param {Function} customizer The function to customize comparisons.
			* @param {Function} equalFunc The function to determine equivalents of values.
			* @param {Object} stack Tracks traversed `object` and `other` objects.
			* @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
			*/
			function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
				var isPartial = bitmask & COMPARE_PARTIAL_FLAG, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length;
				if (objLength != othLength && !isPartial) {
					return false;
				}
				var index = objLength;
				while (index--) {
					var key = objProps[index];
					if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
						return false;
					}
				}
				var objStacked = stack.get(object);
				var othStacked = stack.get(other);
				if (objStacked && othStacked) {
					return objStacked == other && othStacked == object;
				}
				var result = true;
				stack.set(object, other);
				stack.set(other, object);
				var skipCtor = isPartial;
				while (++index < objLength) {
					key = objProps[index];
					var objValue = object[key], othValue = other[key];
					if (customizer) {
						var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack);
					}
					if (!(compared === undefined ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) {
						result = false;
						break;
					}
					skipCtor || (skipCtor = key == "constructor");
				}
				if (result && !skipCtor) {
					var objCtor = object.constructor, othCtor = other.constructor;
					if (objCtor != othCtor && "constructor" in object && "constructor" in other && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) {
						result = false;
					}
				}
				stack["delete"](object);
				stack["delete"](other);
				return result;
			}
			/**
			* A specialized version of `baseRest` which flattens the rest array.
			*
			* @private
			* @param {Function} func The function to apply a rest parameter to.
			* @returns {Function} Returns the new function.
			*/
			function flatRest(func) {
				return setToString(overRest(func, undefined, flatten), func + "");
			}
			/**
			* Creates an array of own enumerable property names and symbols of `object`.
			*
			* @private
			* @param {Object} object The object to query.
			* @returns {Array} Returns the array of property names and symbols.
			*/
			function getAllKeys(object) {
				return baseGetAllKeys(object, keys, getSymbols);
			}
			/**
			* Creates an array of own and inherited enumerable property names and
			* symbols of `object`.
			*
			* @private
			* @param {Object} object The object to query.
			* @returns {Array} Returns the array of property names and symbols.
			*/
			function getAllKeysIn(object) {
				return baseGetAllKeys(object, keysIn, getSymbolsIn);
			}
			/**
			* Gets metadata for `func`.
			*
			* @private
			* @param {Function} func The function to query.
			* @returns {*} Returns the metadata for `func`.
			*/
			var getData = !metaMap ? noop : function(func) {
				return metaMap.get(func);
			};
			/**
			* Gets the name of `func`.
			*
			* @private
			* @param {Function} func The function to query.
			* @returns {string} Returns the function name.
			*/
			function getFuncName(func) {
				var result = func.name + "", array = realNames[result], length = hasOwnProperty.call(realNames, result) ? array.length : 0;
				while (length--) {
					var data = array[length], otherFunc = data.func;
					if (otherFunc == null || otherFunc == func) {
						return data.name;
					}
				}
				return result;
			}
			/**
			* Gets the argument placeholder value for `func`.
			*
			* @private
			* @param {Function} func The function to inspect.
			* @returns {*} Returns the placeholder value.
			*/
			function getHolder(func) {
				var object = hasOwnProperty.call(lodash, "placeholder") ? lodash : func;
				return object.placeholder;
			}
			/**
			* Gets the appropriate "iteratee" function. If `_.iteratee` is customized,
			* this function returns the custom method, otherwise it returns `baseIteratee`.
			* If arguments are provided, the chosen function is invoked with them and
			* its result is returned.
			*
			* @private
			* @param {*} [value] The value to convert to an iteratee.
			* @param {number} [arity] The arity of the created iteratee.
			* @returns {Function} Returns the chosen function or its result.
			*/
			function getIteratee() {
				var result = lodash.iteratee || iteratee;
				result = result === iteratee ? baseIteratee : result;
				return arguments.length ? result(arguments[0], arguments[1]) : result;
			}
			/**
			* Gets the data for `map`.
			*
			* @private
			* @param {Object} map The map to query.
			* @param {string} key The reference key.
			* @returns {*} Returns the map data.
			*/
			function getMapData(map, key) {
				var data = map.__data__;
				return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
			}
			/**
			* Gets the property names, values, and compare flags of `object`.
			*
			* @private
			* @param {Object} object The object to query.
			* @returns {Array} Returns the match data of `object`.
			*/
			function getMatchData(object) {
				var result = keys(object), length = result.length;
				while (length--) {
					var key = result[length], value = object[key];
					result[length] = [
						key,
						value,
						isStrictComparable(value)
					];
				}
				return result;
			}
			/**
			* Gets the native function at `key` of `object`.
			*
			* @private
			* @param {Object} object The object to query.
			* @param {string} key The key of the method to get.
			* @returns {*} Returns the function if it's native, else `undefined`.
			*/
			function getNative(object, key) {
				var value = getValue(object, key);
				return baseIsNative(value) ? value : undefined;
			}
			/**
			* A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
			*
			* @private
			* @param {*} value The value to query.
			* @returns {string} Returns the raw `toStringTag`.
			*/
			function getRawTag(value) {
				var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
				try {
					value[symToStringTag] = undefined;
					var unmasked = true;
				} catch (e) {}
				var result = nativeObjectToString.call(value);
				if (unmasked) {
					if (isOwn) {
						value[symToStringTag] = tag;
					} else {
						delete value[symToStringTag];
					}
				}
				return result;
			}
			/**
			* Creates an array of the own enumerable symbols of `object`.
			*
			* @private
			* @param {Object} object The object to query.
			* @returns {Array} Returns the array of symbols.
			*/
			var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
				if (object == null) {
					return [];
				}
				object = Object(object);
				return arrayFilter(nativeGetSymbols(object), function(symbol) {
					return propertyIsEnumerable.call(object, symbol);
				});
			};
			/**
			* Creates an array of the own and inherited enumerable symbols of `object`.
			*
			* @private
			* @param {Object} object The object to query.
			* @returns {Array} Returns the array of symbols.
			*/
			var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {
				var result = [];
				while (object) {
					arrayPush(result, getSymbols(object));
					object = getPrototype(object);
				}
				return result;
			};
			/**
			* Gets the `toStringTag` of `value`.
			*
			* @private
			* @param {*} value The value to query.
			* @returns {string} Returns the `toStringTag`.
			*/
			var getTag = baseGetTag;
			if (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag || Map && getTag(new Map()) != mapTag || Promise && getTag(Promise.resolve()) != promiseTag || Set && getTag(new Set()) != setTag || WeakMap && getTag(new WeakMap()) != weakMapTag) {
				getTag = function(value) {
					var result = baseGetTag(value), Ctor = result == objectTag ? value.constructor : undefined, ctorString = Ctor ? toSource(Ctor) : "";
					if (ctorString) {
						switch (ctorString) {
							case dataViewCtorString: return dataViewTag;
							case mapCtorString: return mapTag;
							case promiseCtorString: return promiseTag;
							case setCtorString: return setTag;
							case weakMapCtorString: return weakMapTag;
						}
					}
					return result;
				};
			}
			/**
			* Gets the view, applying any `transforms` to the `start` and `end` positions.
			*
			* @private
			* @param {number} start The start of the view.
			* @param {number} end The end of the view.
			* @param {Array} transforms The transformations to apply to the view.
			* @returns {Object} Returns an object containing the `start` and `end`
			*  positions of the view.
			*/
			function getView(start, end, transforms) {
				var index = -1, length = transforms.length;
				while (++index < length) {
					var data = transforms[index], size = data.size;
					switch (data.type) {
						case "drop":
							start += size;
							break;
						case "dropRight":
							end -= size;
							break;
						case "take":
							end = nativeMin(end, start + size);
							break;
						case "takeRight":
							start = nativeMax(start, end - size);
							break;
					}
				}
				return {
					"start": start,
					"end": end
				};
			}
			/**
			* Extracts wrapper details from the `source` body comment.
			*
			* @private
			* @param {string} source The source to inspect.
			* @returns {Array} Returns the wrapper details.
			*/
			function getWrapDetails(source) {
				var match = source.match(reWrapDetails);
				return match ? match[1].split(reSplitDetails) : [];
			}
			/**
			* Checks if `path` exists on `object`.
			*
			* @private
			* @param {Object} object The object to query.
			* @param {Array|string} path The path to check.
			* @param {Function} hasFunc The function to check properties.
			* @returns {boolean} Returns `true` if `path` exists, else `false`.
			*/
			function hasPath(object, path, hasFunc) {
				path = castPath(path, object);
				var index = -1, length = path.length, result = false;
				while (++index < length) {
					var key = toKey(path[index]);
					if (!(result = object != null && hasFunc(object, key))) {
						break;
					}
					object = object[key];
				}
				if (result || ++index != length) {
					return result;
				}
				length = object == null ? 0 : object.length;
				return !!length && isLength(length) && isIndex(key, length) && (isArray(object) || isArguments(object));
			}
			/**
			* Initializes an array clone.
			*
			* @private
			* @param {Array} array The array to clone.
			* @returns {Array} Returns the initialized clone.
			*/
			function initCloneArray(array) {
				var length = array.length, result = new array.constructor(length);
				if (length && typeof array[0] == "string" && hasOwnProperty.call(array, "index")) {
					result.index = array.index;
					result.input = array.input;
				}
				return result;
			}
			/**
			* Initializes an object clone.
			*
			* @private
			* @param {Object} object The object to clone.
			* @returns {Object} Returns the initialized clone.
			*/
			function initCloneObject(object) {
				return typeof object.constructor == "function" && !isPrototype(object) ? baseCreate(getPrototype(object)) : {};
			}
			/**
			* Initializes an object clone based on its `toStringTag`.
			*
			* **Note:** This function only supports cloning values with tags of
			* `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.
			*
			* @private
			* @param {Object} object The object to clone.
			* @param {string} tag The `toStringTag` of the object to clone.
			* @param {boolean} [isDeep] Specify a deep clone.
			* @returns {Object} Returns the initialized clone.
			*/
			function initCloneByTag(object, tag, isDeep) {
				var Ctor = object.constructor;
				switch (tag) {
					case arrayBufferTag: return cloneArrayBuffer(object);
					case boolTag:
					case dateTag: return new Ctor(+object);
					case dataViewTag: return cloneDataView(object, isDeep);
					case float32Tag:
					case float64Tag:
					case int8Tag:
					case int16Tag:
					case int32Tag:
					case uint8Tag:
					case uint8ClampedTag:
					case uint16Tag:
					case uint32Tag: return cloneTypedArray(object, isDeep);
					case mapTag: return new Ctor();
					case numberTag:
					case stringTag: return new Ctor(object);
					case regexpTag: return cloneRegExp(object);
					case setTag: return new Ctor();
					case symbolTag: return cloneSymbol(object);
				}
			}
			/**
			* Inserts wrapper `details` in a comment at the top of the `source` body.
			*
			* @private
			* @param {string} source The source to modify.
			* @returns {Array} details The details to insert.
			* @returns {string} Returns the modified source.
			*/
			function insertWrapDetails(source, details) {
				var length = details.length;
				if (!length) {
					return source;
				}
				var lastIndex = length - 1;
				details[lastIndex] = (length > 1 ? "& " : "") + details[lastIndex];
				details = details.join(length > 2 ? ", " : " ");
				return source.replace(reWrapComment, "{\n/* [wrapped with " + details + "] */\n");
			}
			/**
			* Checks if `value` is a flattenable `arguments` object or array.
			*
			* @private
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is flattenable, else `false`.
			*/
			function isFlattenable(value) {
				return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
			}
			/**
			* Checks if `value` is a valid array-like index.
			*
			* @private
			* @param {*} value The value to check.
			* @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
			* @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
			*/
			function isIndex(value, length) {
				var type = typeof value;
				length = length == null ? MAX_SAFE_INTEGER : length;
				return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;
			}
			/**
			* Checks if the given arguments are from an iteratee call.
			*
			* @private
			* @param {*} value The potential iteratee value argument.
			* @param {*} index The potential iteratee index or key argument.
			* @param {*} object The potential iteratee object argument.
			* @returns {boolean} Returns `true` if the arguments are from an iteratee call,
			*  else `false`.
			*/
			function isIterateeCall(value, index, object) {
				if (!isObject(object)) {
					return false;
				}
				var type = typeof index;
				if (type == "number" ? isArrayLike(object) && isIndex(index, object.length) : type == "string" && index in object) {
					return eq(object[index], value);
				}
				return false;
			}
			/**
			* Checks if `value` is a property name and not a property path.
			*
			* @private
			* @param {*} value The value to check.
			* @param {Object} [object] The object to query keys on.
			* @returns {boolean} Returns `true` if `value` is a property name, else `false`.
			*/
			function isKey(value, object) {
				if (isArray(value)) {
					return false;
				}
				var type = typeof value;
				if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol(value)) {
					return true;
				}
				return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);
			}
			/**
			* Checks if `value` is suitable for use as unique object key.
			*
			* @private
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is suitable, else `false`.
			*/
			function isKeyable(value) {
				var type = typeof value;
				return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null;
			}
			/**
			* Checks if `func` has a lazy counterpart.
			*
			* @private
			* @param {Function} func The function to check.
			* @returns {boolean} Returns `true` if `func` has a lazy counterpart,
			*  else `false`.
			*/
			function isLaziable(func) {
				var funcName = getFuncName(func), other = lodash[funcName];
				if (typeof other != "function" || !(funcName in LazyWrapper.prototype)) {
					return false;
				}
				if (func === other) {
					return true;
				}
				var data = getData(other);
				return !!data && func === data[0];
			}
			/**
			* Checks if `func` has its source masked.
			*
			* @private
			* @param {Function} func The function to check.
			* @returns {boolean} Returns `true` if `func` is masked, else `false`.
			*/
			function isMasked(func) {
				return !!maskSrcKey && maskSrcKey in func;
			}
			/**
			* Checks if `func` is capable of being masked.
			*
			* @private
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `func` is maskable, else `false`.
			*/
			var isMaskable = coreJsData ? isFunction : stubFalse;
			/**
			* Checks if `value` is likely a prototype object.
			*
			* @private
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
			*/
			function isPrototype(value) {
				var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
				return value === proto;
			}
			/**
			* Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
			*
			* @private
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` if suitable for strict
			*  equality comparisons, else `false`.
			*/
			function isStrictComparable(value) {
				return value === value && !isObject(value);
			}
			/**
			* A specialized version of `matchesProperty` for source values suitable
			* for strict equality comparisons, i.e. `===`.
			*
			* @private
			* @param {string} key The key of the property to get.
			* @param {*} srcValue The value to match.
			* @returns {Function} Returns the new spec function.
			*/
			function matchesStrictComparable(key, srcValue) {
				return function(object) {
					if (object == null) {
						return false;
					}
					return object[key] === srcValue && (srcValue !== undefined || key in Object(object));
				};
			}
			/**
			* A specialized version of `_.memoize` which clears the memoized function's
			* cache when it exceeds `MAX_MEMOIZE_SIZE`.
			*
			* @private
			* @param {Function} func The function to have its output memoized.
			* @returns {Function} Returns the new memoized function.
			*/
			function memoizeCapped(func) {
				var result = memoize(func, function(key) {
					if (cache.size === MAX_MEMOIZE_SIZE) {
						cache.clear();
					}
					return key;
				});
				var cache = result.cache;
				return result;
			}
			/**
			* Merges the function metadata of `source` into `data`.
			*
			* Merging metadata reduces the number of wrappers used to invoke a function.
			* This is possible because methods like `_.bind`, `_.curry`, and `_.partial`
			* may be applied regardless of execution order. Methods like `_.ary` and
			* `_.rearg` modify function arguments, making the order in which they are
			* executed important, preventing the merging of metadata. However, we make
			* an exception for a safe combined case where curried functions have `_.ary`
			* and or `_.rearg` applied.
			*
			* @private
			* @param {Array} data The destination metadata.
			* @param {Array} source The source metadata.
			* @returns {Array} Returns `data`.
			*/
			function mergeData(data, source) {
				var bitmask = data[1], srcBitmask = source[1], newBitmask = bitmask | srcBitmask, isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);
				var isCombo = srcBitmask == WRAP_ARY_FLAG && bitmask == WRAP_CURRY_FLAG || srcBitmask == WRAP_ARY_FLAG && bitmask == WRAP_REARG_FLAG && data[7].length <= source[8] || srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG) && source[7].length <= source[8] && bitmask == WRAP_CURRY_FLAG;
				if (!(isCommon || isCombo)) {
					return data;
				}
				if (srcBitmask & WRAP_BIND_FLAG) {
					data[2] = source[2];
					newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;
				}
				var value = source[3];
				if (value) {
					var partials = data[3];
					data[3] = partials ? composeArgs(partials, value, source[4]) : value;
					data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];
				}
				value = source[5];
				if (value) {
					partials = data[5];
					data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;
					data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];
				}
				value = source[7];
				if (value) {
					data[7] = value;
				}
				if (srcBitmask & WRAP_ARY_FLAG) {
					data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);
				}
				if (data[9] == null) {
					data[9] = source[9];
				}
				data[0] = source[0];
				data[1] = newBitmask;
				return data;
			}
			/**
			* This function is like
			* [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
			* except that it includes inherited enumerable properties.
			*
			* @private
			* @param {Object} object The object to query.
			* @returns {Array} Returns the array of property names.
			*/
			function nativeKeysIn(object) {
				var result = [];
				if (object != null) {
					for (var key in Object(object)) {
						result.push(key);
					}
				}
				return result;
			}
			/**
			* Converts `value` to a string using `Object.prototype.toString`.
			*
			* @private
			* @param {*} value The value to convert.
			* @returns {string} Returns the converted string.
			*/
			function objectToString(value) {
				return nativeObjectToString.call(value);
			}
			/**
			* A specialized version of `baseRest` which transforms the rest array.
			*
			* @private
			* @param {Function} func The function to apply a rest parameter to.
			* @param {number} [start=func.length-1] The start position of the rest parameter.
			* @param {Function} transform The rest array transform.
			* @returns {Function} Returns the new function.
			*/
			function overRest(func, start, transform) {
				start = nativeMax(start === undefined ? func.length - 1 : start, 0);
				return function() {
					var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length);
					while (++index < length) {
						array[index] = args[start + index];
					}
					index = -1;
					var otherArgs = Array(start + 1);
					while (++index < start) {
						otherArgs[index] = args[index];
					}
					otherArgs[start] = transform(array);
					return apply(func, this, otherArgs);
				};
			}
			/**
			* Gets the parent value at `path` of `object`.
			*
			* @private
			* @param {Object} object The object to query.
			* @param {Array} path The path to get the parent value of.
			* @returns {*} Returns the parent value.
			*/
			function parent(object, path) {
				return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));
			}
			/**
			* Reorder `array` according to the specified indexes where the element at
			* the first index is assigned as the first element, the element at
			* the second index is assigned as the second element, and so on.
			*
			* @private
			* @param {Array} array The array to reorder.
			* @param {Array} indexes The arranged array indexes.
			* @returns {Array} Returns `array`.
			*/
			function reorder(array, indexes) {
				var arrLength = array.length, length = nativeMin(indexes.length, arrLength), oldArray = copyArray(array);
				while (length--) {
					var index = indexes[length];
					array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;
				}
				return array;
			}
			/**
			* Gets the value at `key`, unless `key` is "__proto__" or "constructor".
			*
			* @private
			* @param {Object} object The object to query.
			* @param {string} key The key of the property to get.
			* @returns {*} Returns the property value.
			*/
			function safeGet(object, key) {
				if (key === "constructor" && typeof object[key] === "function") {
					return;
				}
				if (key == "__proto__") {
					return;
				}
				return object[key];
			}
			/**
			* Sets metadata for `func`.
			*
			* **Note:** If this function becomes hot, i.e. is invoked a lot in a short
			* period of time, it will trip its breaker and transition to an identity
			* function to avoid garbage collection pauses in V8. See
			* [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)
			* for more details.
			*
			* @private
			* @param {Function} func The function to associate metadata with.
			* @param {*} data The metadata.
			* @returns {Function} Returns `func`.
			*/
			var setData = shortOut(baseSetData);
			/**
			* A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout).
			*
			* @private
			* @param {Function} func The function to delay.
			* @param {number} wait The number of milliseconds to delay invocation.
			* @returns {number|Object} Returns the timer id or timeout object.
			*/
			var setTimeout = ctxSetTimeout || function(func, wait) {
				return root.setTimeout(func, wait);
			};
			/**
			* Sets the `toString` method of `func` to return `string`.
			*
			* @private
			* @param {Function} func The function to modify.
			* @param {Function} string The `toString` result.
			* @returns {Function} Returns `func`.
			*/
			var setToString = shortOut(baseSetToString);
			/**
			* Sets the `toString` method of `wrapper` to mimic the source of `reference`
			* with wrapper details in a comment at the top of the source body.
			*
			* @private
			* @param {Function} wrapper The function to modify.
			* @param {Function} reference The reference function.
			* @param {number} bitmask The bitmask flags. See `createWrap` for more details.
			* @returns {Function} Returns `wrapper`.
			*/
			function setWrapToString(wrapper, reference, bitmask) {
				var source = reference + "";
				return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));
			}
			/**
			* Creates a function that'll short out and invoke `identity` instead
			* of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`
			* milliseconds.
			*
			* @private
			* @param {Function} func The function to restrict.
			* @returns {Function} Returns the new shortable function.
			*/
			function shortOut(func) {
				var count = 0, lastCalled = 0;
				return function() {
					var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
					lastCalled = stamp;
					if (remaining > 0) {
						if (++count >= HOT_COUNT) {
							return arguments[0];
						}
					} else {
						count = 0;
					}
					return func.apply(undefined, arguments);
				};
			}
			/**
			* A specialized version of `_.shuffle` which mutates and sets the size of `array`.
			*
			* @private
			* @param {Array} array The array to shuffle.
			* @param {number} [size=array.length] The size of `array`.
			* @returns {Array} Returns `array`.
			*/
			function shuffleSelf(array, size) {
				var index = -1, length = array.length, lastIndex = length - 1;
				size = size === undefined ? length : size;
				while (++index < size) {
					var rand = baseRandom(index, lastIndex), value = array[rand];
					array[rand] = array[index];
					array[index] = value;
				}
				array.length = size;
				return array;
			}
			/**
			* Converts `string` to a property path array.
			*
			* @private
			* @param {string} string The string to convert.
			* @returns {Array} Returns the property path array.
			*/
			var stringToPath = memoizeCapped(function(string) {
				var result = [];
				if (string.charCodeAt(0) === 46) {
					result.push("");
				}
				string.replace(rePropName, function(match, number, quote, subString) {
					result.push(quote ? subString.replace(reEscapeChar, "$1") : number || match);
				});
				return result;
			});
			/**
			* Converts `value` to a string key if it's not a string or symbol.
			*
			* @private
			* @param {*} value The value to inspect.
			* @returns {string|symbol} Returns the key.
			*/
			function toKey(value) {
				if (typeof value == "string" || isSymbol(value)) {
					return value;
				}
				var result = value + "";
				return result == "0" && 1 / value == -INFINITY ? "-0" : result;
			}
			/**
			* Converts `func` to its source code.
			*
			* @private
			* @param {Function} func The function to convert.
			* @returns {string} Returns the source code.
			*/
			function toSource(func) {
				if (func != null) {
					try {
						return funcToString.call(func);
					} catch (e) {}
					try {
						return func + "";
					} catch (e) {}
				}
				return "";
			}
			/**
			* Updates wrapper `details` based on `bitmask` flags.
			*
			* @private
			* @returns {Array} details The details to modify.
			* @param {number} bitmask The bitmask flags. See `createWrap` for more details.
			* @returns {Array} Returns `details`.
			*/
			function updateWrapDetails(details, bitmask) {
				arrayEach(wrapFlags, function(pair) {
					var value = "_." + pair[0];
					if (bitmask & pair[1] && !arrayIncludes(details, value)) {
						details.push(value);
					}
				});
				return details.sort();
			}
			/**
			* Creates a clone of `wrapper`.
			*
			* @private
			* @param {Object} wrapper The wrapper to clone.
			* @returns {Object} Returns the cloned wrapper.
			*/
			function wrapperClone(wrapper) {
				if (wrapper instanceof LazyWrapper) {
					return wrapper.clone();
				}
				var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);
				result.__actions__ = copyArray(wrapper.__actions__);
				result.__index__ = wrapper.__index__;
				result.__values__ = wrapper.__values__;
				return result;
			}
			/**
			* Creates an array of elements split into groups the length of `size`.
			* If `array` can't be split evenly, the final chunk will be the remaining
			* elements.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Array
			* @param {Array} array The array to process.
			* @param {number} [size=1] The length of each chunk
			* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
			* @returns {Array} Returns the new array of chunks.
			* @example
			*
			* _.chunk(['a', 'b', 'c', 'd'], 2);
			* // => [['a', 'b'], ['c', 'd']]
			*
			* _.chunk(['a', 'b', 'c', 'd'], 3);
			* // => [['a', 'b', 'c'], ['d']]
			*/
			function chunk(array, size, guard) {
				if (guard ? isIterateeCall(array, size, guard) : size === undefined) {
					size = 1;
				} else {
					size = nativeMax(toInteger(size), 0);
				}
				var length = array == null ? 0 : array.length;
				if (!length || size < 1) {
					return [];
				}
				var index = 0, resIndex = 0, result = Array(nativeCeil(length / size));
				while (index < length) {
					result[resIndex++] = baseSlice(array, index, index += size);
				}
				return result;
			}
			/**
			* Creates an array with all falsey values removed. The values `false`, `null`,
			* `0`, `""`, `undefined`, and `NaN` are falsey.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Array
			* @param {Array} array The array to compact.
			* @returns {Array} Returns the new array of filtered values.
			* @example
			*
			* _.compact([0, 1, false, 2, '', 3]);
			* // => [1, 2, 3]
			*/
			function compact(array) {
				var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = [];
				while (++index < length) {
					var value = array[index];
					if (value) {
						result[resIndex++] = value;
					}
				}
				return result;
			}
			/**
			* Creates a new array concatenating `array` with any additional arrays
			* and/or values.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Array
			* @param {Array} array The array to concatenate.
			* @param {...*} [values] The values to concatenate.
			* @returns {Array} Returns the new concatenated array.
			* @example
			*
			* var array = [1];
			* var other = _.concat(array, 2, [3], [[4]]);
			*
			* console.log(other);
			* // => [1, 2, 3, [4]]
			*
			* console.log(array);
			* // => [1]
			*/
			function concat() {
				var length = arguments.length;
				if (!length) {
					return [];
				}
				var args = Array(length - 1), array = arguments[0], index = length;
				while (index--) {
					args[index - 1] = arguments[index];
				}
				return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));
			}
			/**
			* Creates an array of `array` values not included in the other given arrays
			* using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
			* for equality comparisons. The order and references of result values are
			* determined by the first array.
			*
			* **Note:** Unlike `_.pullAll`, this method returns a new array.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Array
			* @param {Array} array The array to inspect.
			* @param {...Array} [values] The values to exclude.
			* @returns {Array} Returns the new array of filtered values.
			* @see _.without, _.xor
			* @example
			*
			* _.difference([2, 1], [2, 3]);
			* // => [1]
			*/
			var difference = baseRest(function(array, values) {
				return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) : [];
			});
			/**
			* This method is like `_.difference` except that it accepts `iteratee` which
			* is invoked for each element of `array` and `values` to generate the criterion
			* by which they're compared. The order and references of result values are
			* determined by the first array. The iteratee is invoked with one argument:
			* (value).
			*
			* **Note:** Unlike `_.pullAllBy`, this method returns a new array.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Array
			* @param {Array} array The array to inspect.
			* @param {...Array} [values] The values to exclude.
			* @param {Function} [iteratee=_.identity] The iteratee invoked per element.
			* @returns {Array} Returns the new array of filtered values.
			* @example
			*
			* _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);
			* // => [1.2]
			*
			* // The `_.property` iteratee shorthand.
			* _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');
			* // => [{ 'x': 2 }]
			*/
			var differenceBy = baseRest(function(array, values) {
				var iteratee = last(values);
				if (isArrayLikeObject(iteratee)) {
					iteratee = undefined;
				}
				return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)) : [];
			});
			/**
			* This method is like `_.difference` except that it accepts `comparator`
			* which is invoked to compare elements of `array` to `values`. The order and
			* references of result values are determined by the first array. The comparator
			* is invoked with two arguments: (arrVal, othVal).
			*
			* **Note:** Unlike `_.pullAllWith`, this method returns a new array.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Array
			* @param {Array} array The array to inspect.
			* @param {...Array} [values] The values to exclude.
			* @param {Function} [comparator] The comparator invoked per element.
			* @returns {Array} Returns the new array of filtered values.
			* @example
			*
			* var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
			*
			* _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);
			* // => [{ 'x': 2, 'y': 1 }]
			*/
			var differenceWith = baseRest(function(array, values) {
				var comparator = last(values);
				if (isArrayLikeObject(comparator)) {
					comparator = undefined;
				}
				return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator) : [];
			});
			/**
			* Creates a slice of `array` with `n` elements dropped from the beginning.
			*
			* @static
			* @memberOf _
			* @since 0.5.0
			* @category Array
			* @param {Array} array The array to query.
			* @param {number} [n=1] The number of elements to drop.
			* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
			* @returns {Array} Returns the slice of `array`.
			* @example
			*
			* _.drop([1, 2, 3]);
			* // => [2, 3]
			*
			* _.drop([1, 2, 3], 2);
			* // => [3]
			*
			* _.drop([1, 2, 3], 5);
			* // => []
			*
			* _.drop([1, 2, 3], 0);
			* // => [1, 2, 3]
			*/
			function drop(array, n, guard) {
				var length = array == null ? 0 : array.length;
				if (!length) {
					return [];
				}
				n = guard || n === undefined ? 1 : toInteger(n);
				return baseSlice(array, n < 0 ? 0 : n, length);
			}
			/**
			* Creates a slice of `array` with `n` elements dropped from the end.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Array
			* @param {Array} array The array to query.
			* @param {number} [n=1] The number of elements to drop.
			* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
			* @returns {Array} Returns the slice of `array`.
			* @example
			*
			* _.dropRight([1, 2, 3]);
			* // => [1, 2]
			*
			* _.dropRight([1, 2, 3], 2);
			* // => [1]
			*
			* _.dropRight([1, 2, 3], 5);
			* // => []
			*
			* _.dropRight([1, 2, 3], 0);
			* // => [1, 2, 3]
			*/
			function dropRight(array, n, guard) {
				var length = array == null ? 0 : array.length;
				if (!length) {
					return [];
				}
				n = guard || n === undefined ? 1 : toInteger(n);
				n = length - n;
				return baseSlice(array, 0, n < 0 ? 0 : n);
			}
			/**
			* Creates a slice of `array` excluding elements dropped from the end.
			* Elements are dropped until `predicate` returns falsey. The predicate is
			* invoked with three arguments: (value, index, array).
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Array
			* @param {Array} array The array to query.
			* @param {Function} [predicate=_.identity] The function invoked per iteration.
			* @returns {Array} Returns the slice of `array`.
			* @example
			*
			* var users = [
			*   { 'user': 'barney',  'active': true },
			*   { 'user': 'fred',    'active': false },
			*   { 'user': 'pebbles', 'active': false }
			* ];
			*
			* _.dropRightWhile(users, function(o) { return !o.active; });
			* // => objects for ['barney']
			*
			* // The `_.matches` iteratee shorthand.
			* _.dropRightWhile(users, { 'user': 'pebbles', 'active': false });
			* // => objects for ['barney', 'fred']
			*
			* // The `_.matchesProperty` iteratee shorthand.
			* _.dropRightWhile(users, ['active', false]);
			* // => objects for ['barney']
			*
			* // The `_.property` iteratee shorthand.
			* _.dropRightWhile(users, 'active');
			* // => objects for ['barney', 'fred', 'pebbles']
			*/
			function dropRightWhile(array, predicate) {
				return array && array.length ? baseWhile(array, getIteratee(predicate, 3), true, true) : [];
			}
			/**
			* Creates a slice of `array` excluding elements dropped from the beginning.
			* Elements are dropped until `predicate` returns falsey. The predicate is
			* invoked with three arguments: (value, index, array).
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Array
			* @param {Array} array The array to query.
			* @param {Function} [predicate=_.identity] The function invoked per iteration.
			* @returns {Array} Returns the slice of `array`.
			* @example
			*
			* var users = [
			*   { 'user': 'barney',  'active': false },
			*   { 'user': 'fred',    'active': false },
			*   { 'user': 'pebbles', 'active': true }
			* ];
			*
			* _.dropWhile(users, function(o) { return !o.active; });
			* // => objects for ['pebbles']
			*
			* // The `_.matches` iteratee shorthand.
			* _.dropWhile(users, { 'user': 'barney', 'active': false });
			* // => objects for ['fred', 'pebbles']
			*
			* // The `_.matchesProperty` iteratee shorthand.
			* _.dropWhile(users, ['active', false]);
			* // => objects for ['pebbles']
			*
			* // The `_.property` iteratee shorthand.
			* _.dropWhile(users, 'active');
			* // => objects for ['barney', 'fred', 'pebbles']
			*/
			function dropWhile(array, predicate) {
				return array && array.length ? baseWhile(array, getIteratee(predicate, 3), true) : [];
			}
			/**
			* Fills elements of `array` with `value` from `start` up to, but not
			* including, `end`.
			*
			* **Note:** This method mutates `array`.
			*
			* @static
			* @memberOf _
			* @since 3.2.0
			* @category Array
			* @param {Array} array The array to fill.
			* @param {*} value The value to fill `array` with.
			* @param {number} [start=0] The start position.
			* @param {number} [end=array.length] The end position.
			* @returns {Array} Returns `array`.
			* @example
			*
			* var array = [1, 2, 3];
			*
			* _.fill(array, 'a');
			* console.log(array);
			* // => ['a', 'a', 'a']
			*
			* _.fill(Array(3), 2);
			* // => [2, 2, 2]
			*
			* _.fill([4, 6, 8, 10], '*', 1, 3);
			* // => [4, '*', '*', 10]
			*/
			function fill(array, value, start, end) {
				var length = array == null ? 0 : array.length;
				if (!length) {
					return [];
				}
				if (start && typeof start != "number" && isIterateeCall(array, value, start)) {
					start = 0;
					end = length;
				}
				return baseFill(array, value, start, end);
			}
			/**
			* This method is like `_.find` except that it returns the index of the first
			* element `predicate` returns truthy for instead of the element itself.
			*
			* @static
			* @memberOf _
			* @since 1.1.0
			* @category Array
			* @param {Array} array The array to inspect.
			* @param {Function} [predicate=_.identity] The function invoked per iteration.
			* @param {number} [fromIndex=0] The index to search from.
			* @returns {number} Returns the index of the found element, else `-1`.
			* @example
			*
			* var users = [
			*   { 'user': 'barney',  'active': false },
			*   { 'user': 'fred',    'active': false },
			*   { 'user': 'pebbles', 'active': true }
			* ];
			*
			* _.findIndex(users, function(o) { return o.user == 'barney'; });
			* // => 0
			*
			* // The `_.matches` iteratee shorthand.
			* _.findIndex(users, { 'user': 'fred', 'active': false });
			* // => 1
			*
			* // The `_.matchesProperty` iteratee shorthand.
			* _.findIndex(users, ['active', false]);
			* // => 0
			*
			* // The `_.property` iteratee shorthand.
			* _.findIndex(users, 'active');
			* // => 2
			*/
			function findIndex(array, predicate, fromIndex) {
				var length = array == null ? 0 : array.length;
				if (!length) {
					return -1;
				}
				var index = fromIndex == null ? 0 : toInteger(fromIndex);
				if (index < 0) {
					index = nativeMax(length + index, 0);
				}
				return baseFindIndex(array, getIteratee(predicate, 3), index);
			}
			/**
			* This method is like `_.findIndex` except that it iterates over elements
			* of `collection` from right to left.
			*
			* @static
			* @memberOf _
			* @since 2.0.0
			* @category Array
			* @param {Array} array The array to inspect.
			* @param {Function} [predicate=_.identity] The function invoked per iteration.
			* @param {number} [fromIndex=array.length-1] The index to search from.
			* @returns {number} Returns the index of the found element, else `-1`.
			* @example
			*
			* var users = [
			*   { 'user': 'barney',  'active': true },
			*   { 'user': 'fred',    'active': false },
			*   { 'user': 'pebbles', 'active': false }
			* ];
			*
			* _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });
			* // => 2
			*
			* // The `_.matches` iteratee shorthand.
			* _.findLastIndex(users, { 'user': 'barney', 'active': true });
			* // => 0
			*
			* // The `_.matchesProperty` iteratee shorthand.
			* _.findLastIndex(users, ['active', false]);
			* // => 2
			*
			* // The `_.property` iteratee shorthand.
			* _.findLastIndex(users, 'active');
			* // => 0
			*/
			function findLastIndex(array, predicate, fromIndex) {
				var length = array == null ? 0 : array.length;
				if (!length) {
					return -1;
				}
				var index = length - 1;
				if (fromIndex !== undefined) {
					index = toInteger(fromIndex);
					index = fromIndex < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);
				}
				return baseFindIndex(array, getIteratee(predicate, 3), index, true);
			}
			/**
			* Flattens `array` a single level deep.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Array
			* @param {Array} array The array to flatten.
			* @returns {Array} Returns the new flattened array.
			* @example
			*
			* _.flatten([1, [2, [3, [4]], 5]]);
			* // => [1, 2, [3, [4]], 5]
			*/
			function flatten(array) {
				var length = array == null ? 0 : array.length;
				return length ? baseFlatten(array, 1) : [];
			}
			/**
			* Recursively flattens `array`.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Array
			* @param {Array} array The array to flatten.
			* @returns {Array} Returns the new flattened array.
			* @example
			*
			* _.flattenDeep([1, [2, [3, [4]], 5]]);
			* // => [1, 2, 3, 4, 5]
			*/
			function flattenDeep(array) {
				var length = array == null ? 0 : array.length;
				return length ? baseFlatten(array, INFINITY) : [];
			}
			/**
			* Recursively flatten `array` up to `depth` times.
			*
			* @static
			* @memberOf _
			* @since 4.4.0
			* @category Array
			* @param {Array} array The array to flatten.
			* @param {number} [depth=1] The maximum recursion depth.
			* @returns {Array} Returns the new flattened array.
			* @example
			*
			* var array = [1, [2, [3, [4]], 5]];
			*
			* _.flattenDepth(array, 1);
			* // => [1, 2, [3, [4]], 5]
			*
			* _.flattenDepth(array, 2);
			* // => [1, 2, 3, [4], 5]
			*/
			function flattenDepth(array, depth) {
				var length = array == null ? 0 : array.length;
				if (!length) {
					return [];
				}
				depth = depth === undefined ? 1 : toInteger(depth);
				return baseFlatten(array, depth);
			}
			/**
			* The inverse of `_.toPairs`; this method returns an object composed
			* from key-value `pairs`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Array
			* @param {Array} pairs The key-value pairs.
			* @returns {Object} Returns the new object.
			* @example
			*
			* _.fromPairs([['a', 1], ['b', 2]]);
			* // => { 'a': 1, 'b': 2 }
			*/
			function fromPairs(pairs) {
				var index = -1, length = pairs == null ? 0 : pairs.length, result = {};
				while (++index < length) {
					var pair = pairs[index];
					result[pair[0]] = pair[1];
				}
				return result;
			}
			/**
			* Gets the first element of `array`.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @alias first
			* @category Array
			* @param {Array} array The array to query.
			* @returns {*} Returns the first element of `array`.
			* @example
			*
			* _.head([1, 2, 3]);
			* // => 1
			*
			* _.head([]);
			* // => undefined
			*/
			function head(array) {
				return array && array.length ? array[0] : undefined;
			}
			/**
			* Gets the index at which the first occurrence of `value` is found in `array`
			* using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
			* for equality comparisons. If `fromIndex` is negative, it's used as the
			* offset from the end of `array`.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Array
			* @param {Array} array The array to inspect.
			* @param {*} value The value to search for.
			* @param {number} [fromIndex=0] The index to search from.
			* @returns {number} Returns the index of the matched value, else `-1`.
			* @example
			*
			* _.indexOf([1, 2, 1, 2], 2);
			* // => 1
			*
			* // Search from the `fromIndex`.
			* _.indexOf([1, 2, 1, 2], 2, 2);
			* // => 3
			*/
			function indexOf(array, value, fromIndex) {
				var length = array == null ? 0 : array.length;
				if (!length) {
					return -1;
				}
				var index = fromIndex == null ? 0 : toInteger(fromIndex);
				if (index < 0) {
					index = nativeMax(length + index, 0);
				}
				return baseIndexOf(array, value, index);
			}
			/**
			* Gets all but the last element of `array`.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Array
			* @param {Array} array The array to query.
			* @returns {Array} Returns the slice of `array`.
			* @example
			*
			* _.initial([1, 2, 3]);
			* // => [1, 2]
			*/
			function initial(array) {
				var length = array == null ? 0 : array.length;
				return length ? baseSlice(array, 0, -1) : [];
			}
			/**
			* Creates an array of unique values that are included in all given arrays
			* using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
			* for equality comparisons. The order and references of result values are
			* determined by the first array.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Array
			* @param {...Array} [arrays] The arrays to inspect.
			* @returns {Array} Returns the new array of intersecting values.
			* @example
			*
			* _.intersection([2, 1], [2, 3]);
			* // => [2]
			*/
			var intersection = baseRest(function(arrays) {
				var mapped = arrayMap(arrays, castArrayLikeObject);
				return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped) : [];
			});
			/**
			* This method is like `_.intersection` except that it accepts `iteratee`
			* which is invoked for each element of each `arrays` to generate the criterion
			* by which they're compared. The order and references of result values are
			* determined by the first array. The iteratee is invoked with one argument:
			* (value).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Array
			* @param {...Array} [arrays] The arrays to inspect.
			* @param {Function} [iteratee=_.identity] The iteratee invoked per element.
			* @returns {Array} Returns the new array of intersecting values.
			* @example
			*
			* _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor);
			* // => [2.1]
			*
			* // The `_.property` iteratee shorthand.
			* _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');
			* // => [{ 'x': 1 }]
			*/
			var intersectionBy = baseRest(function(arrays) {
				var iteratee = last(arrays), mapped = arrayMap(arrays, castArrayLikeObject);
				if (iteratee === last(mapped)) {
					iteratee = undefined;
				} else {
					mapped.pop();
				}
				return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped, getIteratee(iteratee, 2)) : [];
			});
			/**
			* This method is like `_.intersection` except that it accepts `comparator`
			* which is invoked to compare elements of `arrays`. The order and references
			* of result values are determined by the first array. The comparator is
			* invoked with two arguments: (arrVal, othVal).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Array
			* @param {...Array} [arrays] The arrays to inspect.
			* @param {Function} [comparator] The comparator invoked per element.
			* @returns {Array} Returns the new array of intersecting values.
			* @example
			*
			* var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
			* var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];
			*
			* _.intersectionWith(objects, others, _.isEqual);
			* // => [{ 'x': 1, 'y': 2 }]
			*/
			var intersectionWith = baseRest(function(arrays) {
				var comparator = last(arrays), mapped = arrayMap(arrays, castArrayLikeObject);
				comparator = typeof comparator == "function" ? comparator : undefined;
				if (comparator) {
					mapped.pop();
				}
				return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped, undefined, comparator) : [];
			});
			/**
			* Converts all elements in `array` into a string separated by `separator`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Array
			* @param {Array} array The array to convert.
			* @param {string} [separator=','] The element separator.
			* @returns {string} Returns the joined string.
			* @example
			*
			* _.join(['a', 'b', 'c'], '~');
			* // => 'a~b~c'
			*/
			function join(array, separator) {
				return array == null ? "" : nativeJoin.call(array, separator);
			}
			/**
			* Gets the last element of `array`.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Array
			* @param {Array} array The array to query.
			* @returns {*} Returns the last element of `array`.
			* @example
			*
			* _.last([1, 2, 3]);
			* // => 3
			*/
			function last(array) {
				var length = array == null ? 0 : array.length;
				return length ? array[length - 1] : undefined;
			}
			/**
			* This method is like `_.indexOf` except that it iterates over elements of
			* `array` from right to left.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Array
			* @param {Array} array The array to inspect.
			* @param {*} value The value to search for.
			* @param {number} [fromIndex=array.length-1] The index to search from.
			* @returns {number} Returns the index of the matched value, else `-1`.
			* @example
			*
			* _.lastIndexOf([1, 2, 1, 2], 2);
			* // => 3
			*
			* // Search from the `fromIndex`.
			* _.lastIndexOf([1, 2, 1, 2], 2, 2);
			* // => 1
			*/
			function lastIndexOf(array, value, fromIndex) {
				var length = array == null ? 0 : array.length;
				if (!length) {
					return -1;
				}
				var index = length;
				if (fromIndex !== undefined) {
					index = toInteger(fromIndex);
					index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);
				}
				return value === value ? strictLastIndexOf(array, value, index) : baseFindIndex(array, baseIsNaN, index, true);
			}
			/**
			* Gets the element at index `n` of `array`. If `n` is negative, the nth
			* element from the end is returned.
			*
			* @static
			* @memberOf _
			* @since 4.11.0
			* @category Array
			* @param {Array} array The array to query.
			* @param {number} [n=0] The index of the element to return.
			* @returns {*} Returns the nth element of `array`.
			* @example
			*
			* var array = ['a', 'b', 'c', 'd'];
			*
			* _.nth(array, 1);
			* // => 'b'
			*
			* _.nth(array, -2);
			* // => 'c';
			*/
			function nth(array, n) {
				return array && array.length ? baseNth(array, toInteger(n)) : undefined;
			}
			/**
			* Removes all given values from `array` using
			* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
			* for equality comparisons.
			*
			* **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`
			* to remove elements from an array by predicate.
			*
			* @static
			* @memberOf _
			* @since 2.0.0
			* @category Array
			* @param {Array} array The array to modify.
			* @param {...*} [values] The values to remove.
			* @returns {Array} Returns `array`.
			* @example
			*
			* var array = ['a', 'b', 'c', 'a', 'b', 'c'];
			*
			* _.pull(array, 'a', 'c');
			* console.log(array);
			* // => ['b', 'b']
			*/
			var pull = baseRest(pullAll);
			/**
			* This method is like `_.pull` except that it accepts an array of values to remove.
			*
			* **Note:** Unlike `_.difference`, this method mutates `array`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Array
			* @param {Array} array The array to modify.
			* @param {Array} values The values to remove.
			* @returns {Array} Returns `array`.
			* @example
			*
			* var array = ['a', 'b', 'c', 'a', 'b', 'c'];
			*
			* _.pullAll(array, ['a', 'c']);
			* console.log(array);
			* // => ['b', 'b']
			*/
			function pullAll(array, values) {
				return array && array.length && values && values.length ? basePullAll(array, values) : array;
			}
			/**
			* This method is like `_.pullAll` except that it accepts `iteratee` which is
			* invoked for each element of `array` and `values` to generate the criterion
			* by which they're compared. The iteratee is invoked with one argument: (value).
			*
			* **Note:** Unlike `_.differenceBy`, this method mutates `array`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Array
			* @param {Array} array The array to modify.
			* @param {Array} values The values to remove.
			* @param {Function} [iteratee=_.identity] The iteratee invoked per element.
			* @returns {Array} Returns `array`.
			* @example
			*
			* var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];
			*
			* _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');
			* console.log(array);
			* // => [{ 'x': 2 }]
			*/
			function pullAllBy(array, values, iteratee) {
				return array && array.length && values && values.length ? basePullAll(array, values, getIteratee(iteratee, 2)) : array;
			}
			/**
			* This method is like `_.pullAll` except that it accepts `comparator` which
			* is invoked to compare elements of `array` to `values`. The comparator is
			* invoked with two arguments: (arrVal, othVal).
			*
			* **Note:** Unlike `_.differenceWith`, this method mutates `array`.
			*
			* @static
			* @memberOf _
			* @since 4.6.0
			* @category Array
			* @param {Array} array The array to modify.
			* @param {Array} values The values to remove.
			* @param {Function} [comparator] The comparator invoked per element.
			* @returns {Array} Returns `array`.
			* @example
			*
			* var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];
			*
			* _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);
			* console.log(array);
			* // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]
			*/
			function pullAllWith(array, values, comparator) {
				return array && array.length && values && values.length ? basePullAll(array, values, undefined, comparator) : array;
			}
			/**
			* Removes elements from `array` corresponding to `indexes` and returns an
			* array of removed elements.
			*
			* **Note:** Unlike `_.at`, this method mutates `array`.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Array
			* @param {Array} array The array to modify.
			* @param {...(number|number[])} [indexes] The indexes of elements to remove.
			* @returns {Array} Returns the new array of removed elements.
			* @example
			*
			* var array = ['a', 'b', 'c', 'd'];
			* var pulled = _.pullAt(array, [1, 3]);
			*
			* console.log(array);
			* // => ['a', 'c']
			*
			* console.log(pulled);
			* // => ['b', 'd']
			*/
			var pullAt = flatRest(function(array, indexes) {
				var length = array == null ? 0 : array.length, result = baseAt(array, indexes);
				basePullAt(array, arrayMap(indexes, function(index) {
					return isIndex(index, length) ? +index : index;
				}).sort(compareAscending));
				return result;
			});
			/**
			* Removes all elements from `array` that `predicate` returns truthy for
			* and returns an array of the removed elements. The predicate is invoked
			* with three arguments: (value, index, array).
			*
			* **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`
			* to pull elements from an array by value.
			*
			* @static
			* @memberOf _
			* @since 2.0.0
			* @category Array
			* @param {Array} array The array to modify.
			* @param {Function} [predicate=_.identity] The function invoked per iteration.
			* @returns {Array} Returns the new array of removed elements.
			* @example
			*
			* var array = [1, 2, 3, 4];
			* var evens = _.remove(array, function(n) {
			*   return n % 2 == 0;
			* });
			*
			* console.log(array);
			* // => [1, 3]
			*
			* console.log(evens);
			* // => [2, 4]
			*/
			function remove(array, predicate) {
				var result = [];
				if (!(array && array.length)) {
					return result;
				}
				var index = -1, indexes = [], length = array.length;
				predicate = getIteratee(predicate, 3);
				while (++index < length) {
					var value = array[index];
					if (predicate(value, index, array)) {
						result.push(value);
						indexes.push(index);
					}
				}
				basePullAt(array, indexes);
				return result;
			}
			/**
			* Reverses `array` so that the first element becomes the last, the second
			* element becomes the second to last, and so on.
			*
			* **Note:** This method mutates `array` and is based on
			* [`Array#reverse`](https://mdn.io/Array/reverse).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Array
			* @param {Array} array The array to modify.
			* @returns {Array} Returns `array`.
			* @example
			*
			* var array = [1, 2, 3];
			*
			* _.reverse(array);
			* // => [3, 2, 1]
			*
			* console.log(array);
			* // => [3, 2, 1]
			*/
			function reverse(array) {
				return array == null ? array : nativeReverse.call(array);
			}
			/**
			* Creates a slice of `array` from `start` up to, but not including, `end`.
			*
			* **Note:** This method is used instead of
			* [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are
			* returned.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Array
			* @param {Array} array The array to slice.
			* @param {number} [start=0] The start position.
			* @param {number} [end=array.length] The end position.
			* @returns {Array} Returns the slice of `array`.
			*/
			function slice(array, start, end) {
				var length = array == null ? 0 : array.length;
				if (!length) {
					return [];
				}
				if (end && typeof end != "number" && isIterateeCall(array, start, end)) {
					start = 0;
					end = length;
				} else {
					start = start == null ? 0 : toInteger(start);
					end = end === undefined ? length : toInteger(end);
				}
				return baseSlice(array, start, end);
			}
			/**
			* Uses a binary search to determine the lowest index at which `value`
			* should be inserted into `array` in order to maintain its sort order.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Array
			* @param {Array} array The sorted array to inspect.
			* @param {*} value The value to evaluate.
			* @returns {number} Returns the index at which `value` should be inserted
			*  into `array`.
			* @example
			*
			* _.sortedIndex([30, 50], 40);
			* // => 1
			*/
			function sortedIndex(array, value) {
				return baseSortedIndex(array, value);
			}
			/**
			* This method is like `_.sortedIndex` except that it accepts `iteratee`
			* which is invoked for `value` and each element of `array` to compute their
			* sort ranking. The iteratee is invoked with one argument: (value).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Array
			* @param {Array} array The sorted array to inspect.
			* @param {*} value The value to evaluate.
			* @param {Function} [iteratee=_.identity] The iteratee invoked per element.
			* @returns {number} Returns the index at which `value` should be inserted
			*  into `array`.
			* @example
			*
			* var objects = [{ 'x': 4 }, { 'x': 5 }];
			*
			* _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });
			* // => 0
			*
			* // The `_.property` iteratee shorthand.
			* _.sortedIndexBy(objects, { 'x': 4 }, 'x');
			* // => 0
			*/
			function sortedIndexBy(array, value, iteratee) {
				return baseSortedIndexBy(array, value, getIteratee(iteratee, 2));
			}
			/**
			* This method is like `_.indexOf` except that it performs a binary
			* search on a sorted `array`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Array
			* @param {Array} array The array to inspect.
			* @param {*} value The value to search for.
			* @returns {number} Returns the index of the matched value, else `-1`.
			* @example
			*
			* _.sortedIndexOf([4, 5, 5, 5, 6], 5);
			* // => 1
			*/
			function sortedIndexOf(array, value) {
				var length = array == null ? 0 : array.length;
				if (length) {
					var index = baseSortedIndex(array, value);
					if (index < length && eq(array[index], value)) {
						return index;
					}
				}
				return -1;
			}
			/**
			* This method is like `_.sortedIndex` except that it returns the highest
			* index at which `value` should be inserted into `array` in order to
			* maintain its sort order.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Array
			* @param {Array} array The sorted array to inspect.
			* @param {*} value The value to evaluate.
			* @returns {number} Returns the index at which `value` should be inserted
			*  into `array`.
			* @example
			*
			* _.sortedLastIndex([4, 5, 5, 5, 6], 5);
			* // => 4
			*/
			function sortedLastIndex(array, value) {
				return baseSortedIndex(array, value, true);
			}
			/**
			* This method is like `_.sortedLastIndex` except that it accepts `iteratee`
			* which is invoked for `value` and each element of `array` to compute their
			* sort ranking. The iteratee is invoked with one argument: (value).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Array
			* @param {Array} array The sorted array to inspect.
			* @param {*} value The value to evaluate.
			* @param {Function} [iteratee=_.identity] The iteratee invoked per element.
			* @returns {number} Returns the index at which `value` should be inserted
			*  into `array`.
			* @example
			*
			* var objects = [{ 'x': 4 }, { 'x': 5 }];
			*
			* _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });
			* // => 1
			*
			* // The `_.property` iteratee shorthand.
			* _.sortedLastIndexBy(objects, { 'x': 4 }, 'x');
			* // => 1
			*/
			function sortedLastIndexBy(array, value, iteratee) {
				return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true);
			}
			/**
			* This method is like `_.lastIndexOf` except that it performs a binary
			* search on a sorted `array`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Array
			* @param {Array} array The array to inspect.
			* @param {*} value The value to search for.
			* @returns {number} Returns the index of the matched value, else `-1`.
			* @example
			*
			* _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);
			* // => 3
			*/
			function sortedLastIndexOf(array, value) {
				var length = array == null ? 0 : array.length;
				if (length) {
					var index = baseSortedIndex(array, value, true) - 1;
					if (eq(array[index], value)) {
						return index;
					}
				}
				return -1;
			}
			/**
			* This method is like `_.uniq` except that it's designed and optimized
			* for sorted arrays.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Array
			* @param {Array} array The array to inspect.
			* @returns {Array} Returns the new duplicate free array.
			* @example
			*
			* _.sortedUniq([1, 1, 2]);
			* // => [1, 2]
			*/
			function sortedUniq(array) {
				return array && array.length ? baseSortedUniq(array) : [];
			}
			/**
			* This method is like `_.uniqBy` except that it's designed and optimized
			* for sorted arrays.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Array
			* @param {Array} array The array to inspect.
			* @param {Function} [iteratee] The iteratee invoked per element.
			* @returns {Array} Returns the new duplicate free array.
			* @example
			*
			* _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);
			* // => [1.1, 2.3]
			*/
			function sortedUniqBy(array, iteratee) {
				return array && array.length ? baseSortedUniq(array, getIteratee(iteratee, 2)) : [];
			}
			/**
			* Gets all but the first element of `array`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Array
			* @param {Array} array The array to query.
			* @returns {Array} Returns the slice of `array`.
			* @example
			*
			* _.tail([1, 2, 3]);
			* // => [2, 3]
			*/
			function tail(array) {
				var length = array == null ? 0 : array.length;
				return length ? baseSlice(array, 1, length) : [];
			}
			/**
			* Creates a slice of `array` with `n` elements taken from the beginning.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Array
			* @param {Array} array The array to query.
			* @param {number} [n=1] The number of elements to take.
			* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
			* @returns {Array} Returns the slice of `array`.
			* @example
			*
			* _.take([1, 2, 3]);
			* // => [1]
			*
			* _.take([1, 2, 3], 2);
			* // => [1, 2]
			*
			* _.take([1, 2, 3], 5);
			* // => [1, 2, 3]
			*
			* _.take([1, 2, 3], 0);
			* // => []
			*/
			function take(array, n, guard) {
				if (!(array && array.length)) {
					return [];
				}
				n = guard || n === undefined ? 1 : toInteger(n);
				return baseSlice(array, 0, n < 0 ? 0 : n);
			}
			/**
			* Creates a slice of `array` with `n` elements taken from the end.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Array
			* @param {Array} array The array to query.
			* @param {number} [n=1] The number of elements to take.
			* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
			* @returns {Array} Returns the slice of `array`.
			* @example
			*
			* _.takeRight([1, 2, 3]);
			* // => [3]
			*
			* _.takeRight([1, 2, 3], 2);
			* // => [2, 3]
			*
			* _.takeRight([1, 2, 3], 5);
			* // => [1, 2, 3]
			*
			* _.takeRight([1, 2, 3], 0);
			* // => []
			*/
			function takeRight(array, n, guard) {
				var length = array == null ? 0 : array.length;
				if (!length) {
					return [];
				}
				n = guard || n === undefined ? 1 : toInteger(n);
				n = length - n;
				return baseSlice(array, n < 0 ? 0 : n, length);
			}
			/**
			* Creates a slice of `array` with elements taken from the end. Elements are
			* taken until `predicate` returns falsey. The predicate is invoked with
			* three arguments: (value, index, array).
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Array
			* @param {Array} array The array to query.
			* @param {Function} [predicate=_.identity] The function invoked per iteration.
			* @returns {Array} Returns the slice of `array`.
			* @example
			*
			* var users = [
			*   { 'user': 'barney',  'active': true },
			*   { 'user': 'fred',    'active': false },
			*   { 'user': 'pebbles', 'active': false }
			* ];
			*
			* _.takeRightWhile(users, function(o) { return !o.active; });
			* // => objects for ['fred', 'pebbles']
			*
			* // The `_.matches` iteratee shorthand.
			* _.takeRightWhile(users, { 'user': 'pebbles', 'active': false });
			* // => objects for ['pebbles']
			*
			* // The `_.matchesProperty` iteratee shorthand.
			* _.takeRightWhile(users, ['active', false]);
			* // => objects for ['fred', 'pebbles']
			*
			* // The `_.property` iteratee shorthand.
			* _.takeRightWhile(users, 'active');
			* // => []
			*/
			function takeRightWhile(array, predicate) {
				return array && array.length ? baseWhile(array, getIteratee(predicate, 3), false, true) : [];
			}
			/**
			* Creates a slice of `array` with elements taken from the beginning. Elements
			* are taken until `predicate` returns falsey. The predicate is invoked with
			* three arguments: (value, index, array).
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Array
			* @param {Array} array The array to query.
			* @param {Function} [predicate=_.identity] The function invoked per iteration.
			* @returns {Array} Returns the slice of `array`.
			* @example
			*
			* var users = [
			*   { 'user': 'barney',  'active': false },
			*   { 'user': 'fred',    'active': false },
			*   { 'user': 'pebbles', 'active': true }
			* ];
			*
			* _.takeWhile(users, function(o) { return !o.active; });
			* // => objects for ['barney', 'fred']
			*
			* // The `_.matches` iteratee shorthand.
			* _.takeWhile(users, { 'user': 'barney', 'active': false });
			* // => objects for ['barney']
			*
			* // The `_.matchesProperty` iteratee shorthand.
			* _.takeWhile(users, ['active', false]);
			* // => objects for ['barney', 'fred']
			*
			* // The `_.property` iteratee shorthand.
			* _.takeWhile(users, 'active');
			* // => []
			*/
			function takeWhile(array, predicate) {
				return array && array.length ? baseWhile(array, getIteratee(predicate, 3)) : [];
			}
			/**
			* Creates an array of unique values, in order, from all given arrays using
			* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
			* for equality comparisons.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Array
			* @param {...Array} [arrays] The arrays to inspect.
			* @returns {Array} Returns the new array of combined values.
			* @example
			*
			* _.union([2], [1, 2]);
			* // => [2, 1]
			*/
			var union = baseRest(function(arrays) {
				return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
			});
			/**
			* This method is like `_.union` except that it accepts `iteratee` which is
			* invoked for each element of each `arrays` to generate the criterion by
			* which uniqueness is computed. Result values are chosen from the first
			* array in which the value occurs. The iteratee is invoked with one argument:
			* (value).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Array
			* @param {...Array} [arrays] The arrays to inspect.
			* @param {Function} [iteratee=_.identity] The iteratee invoked per element.
			* @returns {Array} Returns the new array of combined values.
			* @example
			*
			* _.unionBy([2.1], [1.2, 2.3], Math.floor);
			* // => [2.1, 1.2]
			*
			* // The `_.property` iteratee shorthand.
			* _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');
			* // => [{ 'x': 1 }, { 'x': 2 }]
			*/
			var unionBy = baseRest(function(arrays) {
				var iteratee = last(arrays);
				if (isArrayLikeObject(iteratee)) {
					iteratee = undefined;
				}
				return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2));
			});
			/**
			* This method is like `_.union` except that it accepts `comparator` which
			* is invoked to compare elements of `arrays`. Result values are chosen from
			* the first array in which the value occurs. The comparator is invoked
			* with two arguments: (arrVal, othVal).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Array
			* @param {...Array} [arrays] The arrays to inspect.
			* @param {Function} [comparator] The comparator invoked per element.
			* @returns {Array} Returns the new array of combined values.
			* @example
			*
			* var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
			* var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];
			*
			* _.unionWith(objects, others, _.isEqual);
			* // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]
			*/
			var unionWith = baseRest(function(arrays) {
				var comparator = last(arrays);
				comparator = typeof comparator == "function" ? comparator : undefined;
				return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator);
			});
			/**
			* Creates a duplicate-free version of an array, using
			* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
			* for equality comparisons, in which only the first occurrence of each element
			* is kept. The order of result values is determined by the order they occur
			* in the array.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Array
			* @param {Array} array The array to inspect.
			* @returns {Array} Returns the new duplicate free array.
			* @example
			*
			* _.uniq([2, 1, 2]);
			* // => [2, 1]
			*/
			function uniq(array) {
				return array && array.length ? baseUniq(array) : [];
			}
			/**
			* This method is like `_.uniq` except that it accepts `iteratee` which is
			* invoked for each element in `array` to generate the criterion by which
			* uniqueness is computed. The order of result values is determined by the
			* order they occur in the array. The iteratee is invoked with one argument:
			* (value).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Array
			* @param {Array} array The array to inspect.
			* @param {Function} [iteratee=_.identity] The iteratee invoked per element.
			* @returns {Array} Returns the new duplicate free array.
			* @example
			*
			* _.uniqBy([2.1, 1.2, 2.3], Math.floor);
			* // => [2.1, 1.2]
			*
			* // The `_.property` iteratee shorthand.
			* _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
			* // => [{ 'x': 1 }, { 'x': 2 }]
			*/
			function uniqBy(array, iteratee) {
				return array && array.length ? baseUniq(array, getIteratee(iteratee, 2)) : [];
			}
			/**
			* This method is like `_.uniq` except that it accepts `comparator` which
			* is invoked to compare elements of `array`. The order of result values is
			* determined by the order they occur in the array.The comparator is invoked
			* with two arguments: (arrVal, othVal).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Array
			* @param {Array} array The array to inspect.
			* @param {Function} [comparator] The comparator invoked per element.
			* @returns {Array} Returns the new duplicate free array.
			* @example
			*
			* var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];
			*
			* _.uniqWith(objects, _.isEqual);
			* // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]
			*/
			function uniqWith(array, comparator) {
				comparator = typeof comparator == "function" ? comparator : undefined;
				return array && array.length ? baseUniq(array, undefined, comparator) : [];
			}
			/**
			* This method is like `_.zip` except that it accepts an array of grouped
			* elements and creates an array regrouping the elements to their pre-zip
			* configuration.
			*
			* @static
			* @memberOf _
			* @since 1.2.0
			* @category Array
			* @param {Array} array The array of grouped elements to process.
			* @returns {Array} Returns the new array of regrouped elements.
			* @example
			*
			* var zipped = _.zip(['a', 'b'], [1, 2], [true, false]);
			* // => [['a', 1, true], ['b', 2, false]]
			*
			* _.unzip(zipped);
			* // => [['a', 'b'], [1, 2], [true, false]]
			*/
			function unzip(array) {
				if (!(array && array.length)) {
					return [];
				}
				var length = 0;
				array = arrayFilter(array, function(group) {
					if (isArrayLikeObject(group)) {
						length = nativeMax(group.length, length);
						return true;
					}
				});
				return baseTimes(length, function(index) {
					return arrayMap(array, baseProperty(index));
				});
			}
			/**
			* This method is like `_.unzip` except that it accepts `iteratee` to specify
			* how regrouped values should be combined. The iteratee is invoked with the
			* elements of each group: (...group).
			*
			* @static
			* @memberOf _
			* @since 3.8.0
			* @category Array
			* @param {Array} array The array of grouped elements to process.
			* @param {Function} [iteratee=_.identity] The function to combine
			*  regrouped values.
			* @returns {Array} Returns the new array of regrouped elements.
			* @example
			*
			* var zipped = _.zip([1, 2], [10, 20], [100, 200]);
			* // => [[1, 10, 100], [2, 20, 200]]
			*
			* _.unzipWith(zipped, _.add);
			* // => [3, 30, 300]
			*/
			function unzipWith(array, iteratee) {
				if (!(array && array.length)) {
					return [];
				}
				var result = unzip(array);
				if (iteratee == null) {
					return result;
				}
				return arrayMap(result, function(group) {
					return apply(iteratee, undefined, group);
				});
			}
			/**
			* Creates an array excluding all given values using
			* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
			* for equality comparisons.
			*
			* **Note:** Unlike `_.pull`, this method returns a new array.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Array
			* @param {Array} array The array to inspect.
			* @param {...*} [values] The values to exclude.
			* @returns {Array} Returns the new array of filtered values.
			* @see _.difference, _.xor
			* @example
			*
			* _.without([2, 1, 2, 3], 1, 2);
			* // => [3]
			*/
			var without = baseRest(function(array, values) {
				return isArrayLikeObject(array) ? baseDifference(array, values) : [];
			});
			/**
			* Creates an array of unique values that is the
			* [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)
			* of the given arrays. The order of result values is determined by the order
			* they occur in the arrays.
			*
			* @static
			* @memberOf _
			* @since 2.4.0
			* @category Array
			* @param {...Array} [arrays] The arrays to inspect.
			* @returns {Array} Returns the new array of filtered values.
			* @see _.difference, _.without
			* @example
			*
			* _.xor([2, 1], [2, 3]);
			* // => [1, 3]
			*/
			var xor = baseRest(function(arrays) {
				return baseXor(arrayFilter(arrays, isArrayLikeObject));
			});
			/**
			* This method is like `_.xor` except that it accepts `iteratee` which is
			* invoked for each element of each `arrays` to generate the criterion by
			* which by which they're compared. The order of result values is determined
			* by the order they occur in the arrays. The iteratee is invoked with one
			* argument: (value).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Array
			* @param {...Array} [arrays] The arrays to inspect.
			* @param {Function} [iteratee=_.identity] The iteratee invoked per element.
			* @returns {Array} Returns the new array of filtered values.
			* @example
			*
			* _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor);
			* // => [1.2, 3.4]
			*
			* // The `_.property` iteratee shorthand.
			* _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');
			* // => [{ 'x': 2 }]
			*/
			var xorBy = baseRest(function(arrays) {
				var iteratee = last(arrays);
				if (isArrayLikeObject(iteratee)) {
					iteratee = undefined;
				}
				return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2));
			});
			/**
			* This method is like `_.xor` except that it accepts `comparator` which is
			* invoked to compare elements of `arrays`. The order of result values is
			* determined by the order they occur in the arrays. The comparator is invoked
			* with two arguments: (arrVal, othVal).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Array
			* @param {...Array} [arrays] The arrays to inspect.
			* @param {Function} [comparator] The comparator invoked per element.
			* @returns {Array} Returns the new array of filtered values.
			* @example
			*
			* var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
			* var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];
			*
			* _.xorWith(objects, others, _.isEqual);
			* // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]
			*/
			var xorWith = baseRest(function(arrays) {
				var comparator = last(arrays);
				comparator = typeof comparator == "function" ? comparator : undefined;
				return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator);
			});
			/**
			* Creates an array of grouped elements, the first of which contains the
			* first elements of the given arrays, the second of which contains the
			* second elements of the given arrays, and so on.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Array
			* @param {...Array} [arrays] The arrays to process.
			* @returns {Array} Returns the new array of grouped elements.
			* @example
			*
			* _.zip(['a', 'b'], [1, 2], [true, false]);
			* // => [['a', 1, true], ['b', 2, false]]
			*/
			var zip = baseRest(unzip);
			/**
			* This method is like `_.fromPairs` except that it accepts two arrays,
			* one of property identifiers and one of corresponding values.
			*
			* @static
			* @memberOf _
			* @since 0.4.0
			* @category Array
			* @param {Array} [props=[]] The property identifiers.
			* @param {Array} [values=[]] The property values.
			* @returns {Object} Returns the new object.
			* @example
			*
			* _.zipObject(['a', 'b'], [1, 2]);
			* // => { 'a': 1, 'b': 2 }
			*/
			function zipObject(props, values) {
				return baseZipObject(props || [], values || [], assignValue);
			}
			/**
			* This method is like `_.zipObject` except that it supports property paths.
			*
			* @static
			* @memberOf _
			* @since 4.1.0
			* @category Array
			* @param {Array} [props=[]] The property identifiers.
			* @param {Array} [values=[]] The property values.
			* @returns {Object} Returns the new object.
			* @example
			*
			* _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);
			* // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }
			*/
			function zipObjectDeep(props, values) {
				return baseZipObject(props || [], values || [], baseSet);
			}
			/**
			* This method is like `_.zip` except that it accepts `iteratee` to specify
			* how grouped values should be combined. The iteratee is invoked with the
			* elements of each group: (...group).
			*
			* @static
			* @memberOf _
			* @since 3.8.0
			* @category Array
			* @param {...Array} [arrays] The arrays to process.
			* @param {Function} [iteratee=_.identity] The function to combine
			*  grouped values.
			* @returns {Array} Returns the new array of grouped elements.
			* @example
			*
			* _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) {
			*   return a + b + c;
			* });
			* // => [111, 222]
			*/
			var zipWith = baseRest(function(arrays) {
				var length = arrays.length, iteratee = length > 1 ? arrays[length - 1] : undefined;
				iteratee = typeof iteratee == "function" ? (arrays.pop(), iteratee) : undefined;
				return unzipWith(arrays, iteratee);
			});
			/**
			* Creates a `lodash` wrapper instance that wraps `value` with explicit method
			* chain sequences enabled. The result of such sequences must be unwrapped
			* with `_#value`.
			*
			* @static
			* @memberOf _
			* @since 1.3.0
			* @category Seq
			* @param {*} value The value to wrap.
			* @returns {Object} Returns the new `lodash` wrapper instance.
			* @example
			*
			* var users = [
			*   { 'user': 'barney',  'age': 36 },
			*   { 'user': 'fred',    'age': 40 },
			*   { 'user': 'pebbles', 'age': 1 }
			* ];
			*
			* var youngest = _
			*   .chain(users)
			*   .sortBy('age')
			*   .map(function(o) {
			*     return o.user + ' is ' + o.age;
			*   })
			*   .head()
			*   .value();
			* // => 'pebbles is 1'
			*/
			function chain(value) {
				var result = lodash(value);
				result.__chain__ = true;
				return result;
			}
			/**
			* This method invokes `interceptor` and returns `value`. The interceptor
			* is invoked with one argument; (value). The purpose of this method is to
			* "tap into" a method chain sequence in order to modify intermediate results.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Seq
			* @param {*} value The value to provide to `interceptor`.
			* @param {Function} interceptor The function to invoke.
			* @returns {*} Returns `value`.
			* @example
			*
			* _([1, 2, 3])
			*  .tap(function(array) {
			*    // Mutate input array.
			*    array.pop();
			*  })
			*  .reverse()
			*  .value();
			* // => [2, 1]
			*/
			function tap(value, interceptor) {
				interceptor(value);
				return value;
			}
			/**
			* This method is like `_.tap` except that it returns the result of `interceptor`.
			* The purpose of this method is to "pass thru" values replacing intermediate
			* results in a method chain sequence.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Seq
			* @param {*} value The value to provide to `interceptor`.
			* @param {Function} interceptor The function to invoke.
			* @returns {*} Returns the result of `interceptor`.
			* @example
			*
			* _('  abc  ')
			*  .chain()
			*  .trim()
			*  .thru(function(value) {
			*    return [value];
			*  })
			*  .value();
			* // => ['abc']
			*/
			function thru(value, interceptor) {
				return interceptor(value);
			}
			/**
			* This method is the wrapper version of `_.at`.
			*
			* @name at
			* @memberOf _
			* @since 1.0.0
			* @category Seq
			* @param {...(string|string[])} [paths] The property paths to pick.
			* @returns {Object} Returns the new `lodash` wrapper instance.
			* @example
			*
			* var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };
			*
			* _(object).at(['a[0].b.c', 'a[1]']).value();
			* // => [3, 4]
			*/
			var wrapperAt = flatRest(function(paths) {
				var length = paths.length, start = length ? paths[0] : 0, value = this.__wrapped__, interceptor = function(object) {
					return baseAt(object, paths);
				};
				if (length > 1 || this.__actions__.length || !(value instanceof LazyWrapper) || !isIndex(start)) {
					return this.thru(interceptor);
				}
				value = value.slice(start, +start + (length ? 1 : 0));
				value.__actions__.push({
					"func": thru,
					"args": [interceptor],
					"thisArg": undefined
				});
				return new LodashWrapper(value, this.__chain__).thru(function(array) {
					if (length && !array.length) {
						array.push(undefined);
					}
					return array;
				});
			});
			/**
			* Creates a `lodash` wrapper instance with explicit method chain sequences enabled.
			*
			* @name chain
			* @memberOf _
			* @since 0.1.0
			* @category Seq
			* @returns {Object} Returns the new `lodash` wrapper instance.
			* @example
			*
			* var users = [
			*   { 'user': 'barney', 'age': 36 },
			*   { 'user': 'fred',   'age': 40 }
			* ];
			*
			* // A sequence without explicit chaining.
			* _(users).head();
			* // => { 'user': 'barney', 'age': 36 }
			*
			* // A sequence with explicit chaining.
			* _(users)
			*   .chain()
			*   .head()
			*   .pick('user')
			*   .value();
			* // => { 'user': 'barney' }
			*/
			function wrapperChain() {
				return chain(this);
			}
			/**
			* Executes the chain sequence and returns the wrapped result.
			*
			* @name commit
			* @memberOf _
			* @since 3.2.0
			* @category Seq
			* @returns {Object} Returns the new `lodash` wrapper instance.
			* @example
			*
			* var array = [1, 2];
			* var wrapped = _(array).push(3);
			*
			* console.log(array);
			* // => [1, 2]
			*
			* wrapped = wrapped.commit();
			* console.log(array);
			* // => [1, 2, 3]
			*
			* wrapped.last();
			* // => 3
			*
			* console.log(array);
			* // => [1, 2, 3]
			*/
			function wrapperCommit() {
				return new LodashWrapper(this.value(), this.__chain__);
			}
			/**
			* Gets the next value on a wrapped object following the
			* [iterator protocol](https://mdn.io/iteration_protocols#iterator).
			*
			* @name next
			* @memberOf _
			* @since 4.0.0
			* @category Seq
			* @returns {Object} Returns the next iterator value.
			* @example
			*
			* var wrapped = _([1, 2]);
			*
			* wrapped.next();
			* // => { 'done': false, 'value': 1 }
			*
			* wrapped.next();
			* // => { 'done': false, 'value': 2 }
			*
			* wrapped.next();
			* // => { 'done': true, 'value': undefined }
			*/
			function wrapperNext() {
				if (this.__values__ === undefined) {
					this.__values__ = toArray(this.value());
				}
				var done = this.__index__ >= this.__values__.length, value = done ? undefined : this.__values__[this.__index__++];
				return {
					"done": done,
					"value": value
				};
			}
			/**
			* Enables the wrapper to be iterable.
			*
			* @name Symbol.iterator
			* @memberOf _
			* @since 4.0.0
			* @category Seq
			* @returns {Object} Returns the wrapper object.
			* @example
			*
			* var wrapped = _([1, 2]);
			*
			* wrapped[Symbol.iterator]() === wrapped;
			* // => true
			*
			* Array.from(wrapped);
			* // => [1, 2]
			*/
			function wrapperToIterator() {
				return this;
			}
			/**
			* Creates a clone of the chain sequence planting `value` as the wrapped value.
			*
			* @name plant
			* @memberOf _
			* @since 3.2.0
			* @category Seq
			* @param {*} value The value to plant.
			* @returns {Object} Returns the new `lodash` wrapper instance.
			* @example
			*
			* function square(n) {
			*   return n * n;
			* }
			*
			* var wrapped = _([1, 2]).map(square);
			* var other = wrapped.plant([3, 4]);
			*
			* other.value();
			* // => [9, 16]
			*
			* wrapped.value();
			* // => [1, 4]
			*/
			function wrapperPlant(value) {
				var result, parent = this;
				while (parent instanceof baseLodash) {
					var clone = wrapperClone(parent);
					clone.__index__ = 0;
					clone.__values__ = undefined;
					if (result) {
						previous.__wrapped__ = clone;
					} else {
						result = clone;
					}
					var previous = clone;
					parent = parent.__wrapped__;
				}
				previous.__wrapped__ = value;
				return result;
			}
			/**
			* This method is the wrapper version of `_.reverse`.
			*
			* **Note:** This method mutates the wrapped array.
			*
			* @name reverse
			* @memberOf _
			* @since 0.1.0
			* @category Seq
			* @returns {Object} Returns the new `lodash` wrapper instance.
			* @example
			*
			* var array = [1, 2, 3];
			*
			* _(array).reverse().value()
			* // => [3, 2, 1]
			*
			* console.log(array);
			* // => [3, 2, 1]
			*/
			function wrapperReverse() {
				var value = this.__wrapped__;
				if (value instanceof LazyWrapper) {
					var wrapped = value;
					if (this.__actions__.length) {
						wrapped = new LazyWrapper(this);
					}
					wrapped = wrapped.reverse();
					wrapped.__actions__.push({
						"func": thru,
						"args": [reverse],
						"thisArg": undefined
					});
					return new LodashWrapper(wrapped, this.__chain__);
				}
				return this.thru(reverse);
			}
			/**
			* Executes the chain sequence to resolve the unwrapped value.
			*
			* @name value
			* @memberOf _
			* @since 0.1.0
			* @alias toJSON, valueOf
			* @category Seq
			* @returns {*} Returns the resolved unwrapped value.
			* @example
			*
			* _([1, 2, 3]).value();
			* // => [1, 2, 3]
			*/
			function wrapperValue() {
				return baseWrapperValue(this.__wrapped__, this.__actions__);
			}
			/**
			* Creates an object composed of keys generated from the results of running
			* each element of `collection` thru `iteratee`. The corresponding value of
			* each key is the number of times the key was returned by `iteratee`. The
			* iteratee is invoked with one argument: (value).
			*
			* @static
			* @memberOf _
			* @since 0.5.0
			* @category Collection
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Function} [iteratee=_.identity] The iteratee to transform keys.
			* @returns {Object} Returns the composed aggregate object.
			* @example
			*
			* _.countBy([6.1, 4.2, 6.3], Math.floor);
			* // => { '4': 1, '6': 2 }
			*
			* // The `_.property` iteratee shorthand.
			* _.countBy(['one', 'two', 'three'], 'length');
			* // => { '3': 2, '5': 1 }
			*/
			var countBy = createAggregator(function(result, value, key) {
				if (hasOwnProperty.call(result, key)) {
					++result[key];
				} else {
					baseAssignValue(result, key, 1);
				}
			});
			/**
			* Checks if `predicate` returns truthy for **all** elements of `collection`.
			* Iteration is stopped once `predicate` returns falsey. The predicate is
			* invoked with three arguments: (value, index|key, collection).
			*
			* **Note:** This method returns `true` for
			* [empty collections](https://en.wikipedia.org/wiki/Empty_set) because
			* [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of
			* elements of empty collections.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Collection
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Function} [predicate=_.identity] The function invoked per iteration.
			* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
			* @returns {boolean} Returns `true` if all elements pass the predicate check,
			*  else `false`.
			* @example
			*
			* _.every([true, 1, null, 'yes'], Boolean);
			* // => false
			*
			* var users = [
			*   { 'user': 'barney', 'age': 36, 'active': false },
			*   { 'user': 'fred',   'age': 40, 'active': false }
			* ];
			*
			* // The `_.matches` iteratee shorthand.
			* _.every(users, { 'user': 'barney', 'active': false });
			* // => false
			*
			* // The `_.matchesProperty` iteratee shorthand.
			* _.every(users, ['active', false]);
			* // => true
			*
			* // The `_.property` iteratee shorthand.
			* _.every(users, 'active');
			* // => false
			*/
			function every(collection, predicate, guard) {
				var func = isArray(collection) ? arrayEvery : baseEvery;
				if (guard && isIterateeCall(collection, predicate, guard)) {
					predicate = undefined;
				}
				return func(collection, getIteratee(predicate, 3));
			}
			/**
			* Iterates over elements of `collection`, returning an array of all elements
			* `predicate` returns truthy for. The predicate is invoked with three
			* arguments: (value, index|key, collection).
			*
			* **Note:** Unlike `_.remove`, this method returns a new array.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Collection
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Function} [predicate=_.identity] The function invoked per iteration.
			* @returns {Array} Returns the new filtered array.
			* @see _.reject
			* @example
			*
			* var users = [
			*   { 'user': 'barney', 'age': 36, 'active': true },
			*   { 'user': 'fred',   'age': 40, 'active': false }
			* ];
			*
			* _.filter(users, function(o) { return !o.active; });
			* // => objects for ['fred']
			*
			* // The `_.matches` iteratee shorthand.
			* _.filter(users, { 'age': 36, 'active': true });
			* // => objects for ['barney']
			*
			* // The `_.matchesProperty` iteratee shorthand.
			* _.filter(users, ['active', false]);
			* // => objects for ['fred']
			*
			* // The `_.property` iteratee shorthand.
			* _.filter(users, 'active');
			* // => objects for ['barney']
			*
			* // Combining several predicates using `_.overEvery` or `_.overSome`.
			* _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));
			* // => objects for ['fred', 'barney']
			*/
			function filter(collection, predicate) {
				var func = isArray(collection) ? arrayFilter : baseFilter;
				return func(collection, getIteratee(predicate, 3));
			}
			/**
			* Iterates over elements of `collection`, returning the first element
			* `predicate` returns truthy for. The predicate is invoked with three
			* arguments: (value, index|key, collection).
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Collection
			* @param {Array|Object} collection The collection to inspect.
			* @param {Function} [predicate=_.identity] The function invoked per iteration.
			* @param {number} [fromIndex=0] The index to search from.
			* @returns {*} Returns the matched element, else `undefined`.
			* @example
			*
			* var users = [
			*   { 'user': 'barney',  'age': 36, 'active': true },
			*   { 'user': 'fred',    'age': 40, 'active': false },
			*   { 'user': 'pebbles', 'age': 1,  'active': true }
			* ];
			*
			* _.find(users, function(o) { return o.age < 40; });
			* // => object for 'barney'
			*
			* // The `_.matches` iteratee shorthand.
			* _.find(users, { 'age': 1, 'active': true });
			* // => object for 'pebbles'
			*
			* // The `_.matchesProperty` iteratee shorthand.
			* _.find(users, ['active', false]);
			* // => object for 'fred'
			*
			* // The `_.property` iteratee shorthand.
			* _.find(users, 'active');
			* // => object for 'barney'
			*/
			var find = createFind(findIndex);
			/**
			* This method is like `_.find` except that it iterates over elements of
			* `collection` from right to left.
			*
			* @static
			* @memberOf _
			* @since 2.0.0
			* @category Collection
			* @param {Array|Object} collection The collection to inspect.
			* @param {Function} [predicate=_.identity] The function invoked per iteration.
			* @param {number} [fromIndex=collection.length-1] The index to search from.
			* @returns {*} Returns the matched element, else `undefined`.
			* @example
			*
			* _.findLast([1, 2, 3, 4], function(n) {
			*   return n % 2 == 1;
			* });
			* // => 3
			*/
			var findLast = createFind(findLastIndex);
			/**
			* Creates a flattened array of values by running each element in `collection`
			* thru `iteratee` and flattening the mapped results. The iteratee is invoked
			* with three arguments: (value, index|key, collection).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Collection
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Function} [iteratee=_.identity] The function invoked per iteration.
			* @returns {Array} Returns the new flattened array.
			* @example
			*
			* function duplicate(n) {
			*   return [n, n];
			* }
			*
			* _.flatMap([1, 2], duplicate);
			* // => [1, 1, 2, 2]
			*/
			function flatMap(collection, iteratee) {
				return baseFlatten(map(collection, iteratee), 1);
			}
			/**
			* This method is like `_.flatMap` except that it recursively flattens the
			* mapped results.
			*
			* @static
			* @memberOf _
			* @since 4.7.0
			* @category Collection
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Function} [iteratee=_.identity] The function invoked per iteration.
			* @returns {Array} Returns the new flattened array.
			* @example
			*
			* function duplicate(n) {
			*   return [[[n, n]]];
			* }
			*
			* _.flatMapDeep([1, 2], duplicate);
			* // => [1, 1, 2, 2]
			*/
			function flatMapDeep(collection, iteratee) {
				return baseFlatten(map(collection, iteratee), INFINITY);
			}
			/**
			* This method is like `_.flatMap` except that it recursively flattens the
			* mapped results up to `depth` times.
			*
			* @static
			* @memberOf _
			* @since 4.7.0
			* @category Collection
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Function} [iteratee=_.identity] The function invoked per iteration.
			* @param {number} [depth=1] The maximum recursion depth.
			* @returns {Array} Returns the new flattened array.
			* @example
			*
			* function duplicate(n) {
			*   return [[[n, n]]];
			* }
			*
			* _.flatMapDepth([1, 2], duplicate, 2);
			* // => [[1, 1], [2, 2]]
			*/
			function flatMapDepth(collection, iteratee, depth) {
				depth = depth === undefined ? 1 : toInteger(depth);
				return baseFlatten(map(collection, iteratee), depth);
			}
			/**
			* Iterates over elements of `collection` and invokes `iteratee` for each element.
			* The iteratee is invoked with three arguments: (value, index|key, collection).
			* Iteratee functions may exit iteration early by explicitly returning `false`.
			*
			* **Note:** As with other "Collections" methods, objects with a "length"
			* property are iterated like arrays. To avoid this behavior use `_.forIn`
			* or `_.forOwn` for object iteration.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @alias each
			* @category Collection
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Function} [iteratee=_.identity] The function invoked per iteration.
			* @returns {Array|Object} Returns `collection`.
			* @see _.forEachRight
			* @example
			*
			* _.forEach([1, 2], function(value) {
			*   console.log(value);
			* });
			* // => Logs `1` then `2`.
			*
			* _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {
			*   console.log(key);
			* });
			* // => Logs 'a' then 'b' (iteration order is not guaranteed).
			*/
			function forEach(collection, iteratee) {
				var func = isArray(collection) ? arrayEach : baseEach;
				return func(collection, getIteratee(iteratee, 3));
			}
			/**
			* This method is like `_.forEach` except that it iterates over elements of
			* `collection` from right to left.
			*
			* @static
			* @memberOf _
			* @since 2.0.0
			* @alias eachRight
			* @category Collection
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Function} [iteratee=_.identity] The function invoked per iteration.
			* @returns {Array|Object} Returns `collection`.
			* @see _.forEach
			* @example
			*
			* _.forEachRight([1, 2], function(value) {
			*   console.log(value);
			* });
			* // => Logs `2` then `1`.
			*/
			function forEachRight(collection, iteratee) {
				var func = isArray(collection) ? arrayEachRight : baseEachRight;
				return func(collection, getIteratee(iteratee, 3));
			}
			/**
			* Creates an object composed of keys generated from the results of running
			* each element of `collection` thru `iteratee`. The order of grouped values
			* is determined by the order they occur in `collection`. The corresponding
			* value of each key is an array of elements responsible for generating the
			* key. The iteratee is invoked with one argument: (value).
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Collection
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Function} [iteratee=_.identity] The iteratee to transform keys.
			* @returns {Object} Returns the composed aggregate object.
			* @example
			*
			* _.groupBy([6.1, 4.2, 6.3], Math.floor);
			* // => { '4': [4.2], '6': [6.1, 6.3] }
			*
			* // The `_.property` iteratee shorthand.
			* _.groupBy(['one', 'two', 'three'], 'length');
			* // => { '3': ['one', 'two'], '5': ['three'] }
			*/
			var groupBy = createAggregator(function(result, value, key) {
				if (hasOwnProperty.call(result, key)) {
					result[key].push(value);
				} else {
					baseAssignValue(result, key, [value]);
				}
			});
			/**
			* Checks if `value` is in `collection`. If `collection` is a string, it's
			* checked for a substring of `value`, otherwise
			* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
			* is used for equality comparisons. If `fromIndex` is negative, it's used as
			* the offset from the end of `collection`.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Collection
			* @param {Array|Object|string} collection The collection to inspect.
			* @param {*} value The value to search for.
			* @param {number} [fromIndex=0] The index to search from.
			* @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.
			* @returns {boolean} Returns `true` if `value` is found, else `false`.
			* @example
			*
			* _.includes([1, 2, 3], 1);
			* // => true
			*
			* _.includes([1, 2, 3], 1, 2);
			* // => false
			*
			* _.includes({ 'a': 1, 'b': 2 }, 1);
			* // => true
			*
			* _.includes('abcd', 'bc');
			* // => true
			*/
			function includes(collection, value, fromIndex, guard) {
				collection = isArrayLike(collection) ? collection : values(collection);
				fromIndex = fromIndex && !guard ? toInteger(fromIndex) : 0;
				var length = collection.length;
				if (fromIndex < 0) {
					fromIndex = nativeMax(length + fromIndex, 0);
				}
				return isString(collection) ? fromIndex <= length && collection.indexOf(value, fromIndex) > -1 : !!length && baseIndexOf(collection, value, fromIndex) > -1;
			}
			/**
			* Invokes the method at `path` of each element in `collection`, returning
			* an array of the results of each invoked method. Any additional arguments
			* are provided to each invoked method. If `path` is a function, it's invoked
			* for, and `this` bound to, each element in `collection`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Collection
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Array|Function|string} path The path of the method to invoke or
			*  the function invoked per iteration.
			* @param {...*} [args] The arguments to invoke each method with.
			* @returns {Array} Returns the array of results.
			* @example
			*
			* _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');
			* // => [[1, 5, 7], [1, 2, 3]]
			*
			* _.invokeMap([123, 456], String.prototype.split, '');
			* // => [['1', '2', '3'], ['4', '5', '6']]
			*/
			var invokeMap = baseRest(function(collection, path, args) {
				var index = -1, isFunc = typeof path == "function", result = isArrayLike(collection) ? Array(collection.length) : [];
				baseEach(collection, function(value) {
					result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);
				});
				return result;
			});
			/**
			* Creates an object composed of keys generated from the results of running
			* each element of `collection` thru `iteratee`. The corresponding value of
			* each key is the last element responsible for generating the key. The
			* iteratee is invoked with one argument: (value).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Collection
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Function} [iteratee=_.identity] The iteratee to transform keys.
			* @returns {Object} Returns the composed aggregate object.
			* @example
			*
			* var array = [
			*   { 'dir': 'left', 'code': 97 },
			*   { 'dir': 'right', 'code': 100 }
			* ];
			*
			* _.keyBy(array, function(o) {
			*   return String.fromCharCode(o.code);
			* });
			* // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }
			*
			* _.keyBy(array, 'dir');
			* // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }
			*/
			var keyBy = createAggregator(function(result, value, key) {
				baseAssignValue(result, key, value);
			});
			/**
			* Creates an array of values by running each element in `collection` thru
			* `iteratee`. The iteratee is invoked with three arguments:
			* (value, index|key, collection).
			*
			* Many lodash methods are guarded to work as iteratees for methods like
			* `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.
			*
			* The guarded methods are:
			* `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,
			* `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,
			* `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,
			* `template`, `trim`, `trimEnd`, `trimStart`, and `words`
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Collection
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Function} [iteratee=_.identity] The function invoked per iteration.
			* @returns {Array} Returns the new mapped array.
			* @example
			*
			* function square(n) {
			*   return n * n;
			* }
			*
			* _.map([4, 8], square);
			* // => [16, 64]
			*
			* _.map({ 'a': 4, 'b': 8 }, square);
			* // => [16, 64] (iteration order is not guaranteed)
			*
			* var users = [
			*   { 'user': 'barney' },
			*   { 'user': 'fred' }
			* ];
			*
			* // The `_.property` iteratee shorthand.
			* _.map(users, 'user');
			* // => ['barney', 'fred']
			*/
			function map(collection, iteratee) {
				var func = isArray(collection) ? arrayMap : baseMap;
				return func(collection, getIteratee(iteratee, 3));
			}
			/**
			* This method is like `_.sortBy` except that it allows specifying the sort
			* orders of the iteratees to sort by. If `orders` is unspecified, all values
			* are sorted in ascending order. Otherwise, specify an order of "desc" for
			* descending or "asc" for ascending sort order of corresponding values.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Collection
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]
			*  The iteratees to sort by.
			* @param {string[]} [orders] The sort orders of `iteratees`.
			* @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.
			* @returns {Array} Returns the new sorted array.
			* @example
			*
			* var users = [
			*   { 'user': 'fred',   'age': 48 },
			*   { 'user': 'barney', 'age': 34 },
			*   { 'user': 'fred',   'age': 40 },
			*   { 'user': 'barney', 'age': 36 }
			* ];
			*
			* // Sort by `user` in ascending order and by `age` in descending order.
			* _.orderBy(users, ['user', 'age'], ['asc', 'desc']);
			* // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]
			*/
			function orderBy(collection, iteratees, orders, guard) {
				if (collection == null) {
					return [];
				}
				if (!isArray(iteratees)) {
					iteratees = iteratees == null ? [] : [iteratees];
				}
				orders = guard ? undefined : orders;
				if (!isArray(orders)) {
					orders = orders == null ? [] : [orders];
				}
				return baseOrderBy(collection, iteratees, orders);
			}
			/**
			* Creates an array of elements split into two groups, the first of which
			* contains elements `predicate` returns truthy for, the second of which
			* contains elements `predicate` returns falsey for. The predicate is
			* invoked with one argument: (value).
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Collection
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Function} [predicate=_.identity] The function invoked per iteration.
			* @returns {Array} Returns the array of grouped elements.
			* @example
			*
			* var users = [
			*   { 'user': 'barney',  'age': 36, 'active': false },
			*   { 'user': 'fred',    'age': 40, 'active': true },
			*   { 'user': 'pebbles', 'age': 1,  'active': false }
			* ];
			*
			* _.partition(users, function(o) { return o.active; });
			* // => objects for [['fred'], ['barney', 'pebbles']]
			*
			* // The `_.matches` iteratee shorthand.
			* _.partition(users, { 'age': 1, 'active': false });
			* // => objects for [['pebbles'], ['barney', 'fred']]
			*
			* // The `_.matchesProperty` iteratee shorthand.
			* _.partition(users, ['active', false]);
			* // => objects for [['barney', 'pebbles'], ['fred']]
			*
			* // The `_.property` iteratee shorthand.
			* _.partition(users, 'active');
			* // => objects for [['fred'], ['barney', 'pebbles']]
			*/
			var partition = createAggregator(function(result, value, key) {
				result[key ? 0 : 1].push(value);
			}, function() {
				return [[], []];
			});
			/**
			* Reduces `collection` to a value which is the accumulated result of running
			* each element in `collection` thru `iteratee`, where each successive
			* invocation is supplied the return value of the previous. If `accumulator`
			* is not given, the first element of `collection` is used as the initial
			* value. The iteratee is invoked with four arguments:
			* (accumulator, value, index|key, collection).
			*
			* Many lodash methods are guarded to work as iteratees for methods like
			* `_.reduce`, `_.reduceRight`, and `_.transform`.
			*
			* The guarded methods are:
			* `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,
			* and `sortBy`
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Collection
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Function} [iteratee=_.identity] The function invoked per iteration.
			* @param {*} [accumulator] The initial value.
			* @returns {*} Returns the accumulated value.
			* @see _.reduceRight
			* @example
			*
			* _.reduce([1, 2], function(sum, n) {
			*   return sum + n;
			* }, 0);
			* // => 3
			*
			* _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {
			*   (result[value] || (result[value] = [])).push(key);
			*   return result;
			* }, {});
			* // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)
			*/
			function reduce(collection, iteratee, accumulator) {
				var func = isArray(collection) ? arrayReduce : baseReduce, initAccum = arguments.length < 3;
				return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach);
			}
			/**
			* This method is like `_.reduce` except that it iterates over elements of
			* `collection` from right to left.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Collection
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Function} [iteratee=_.identity] The function invoked per iteration.
			* @param {*} [accumulator] The initial value.
			* @returns {*} Returns the accumulated value.
			* @see _.reduce
			* @example
			*
			* var array = [[0, 1], [2, 3], [4, 5]];
			*
			* _.reduceRight(array, function(flattened, other) {
			*   return flattened.concat(other);
			* }, []);
			* // => [4, 5, 2, 3, 0, 1]
			*/
			function reduceRight(collection, iteratee, accumulator) {
				var func = isArray(collection) ? arrayReduceRight : baseReduce, initAccum = arguments.length < 3;
				return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight);
			}
			/**
			* The opposite of `_.filter`; this method returns the elements of `collection`
			* that `predicate` does **not** return truthy for.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Collection
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Function} [predicate=_.identity] The function invoked per iteration.
			* @returns {Array} Returns the new filtered array.
			* @see _.filter
			* @example
			*
			* var users = [
			*   { 'user': 'barney', 'age': 36, 'active': false },
			*   { 'user': 'fred',   'age': 40, 'active': true }
			* ];
			*
			* _.reject(users, function(o) { return !o.active; });
			* // => objects for ['fred']
			*
			* // The `_.matches` iteratee shorthand.
			* _.reject(users, { 'age': 40, 'active': true });
			* // => objects for ['barney']
			*
			* // The `_.matchesProperty` iteratee shorthand.
			* _.reject(users, ['active', false]);
			* // => objects for ['fred']
			*
			* // The `_.property` iteratee shorthand.
			* _.reject(users, 'active');
			* // => objects for ['barney']
			*/
			function reject(collection, predicate) {
				var func = isArray(collection) ? arrayFilter : baseFilter;
				return func(collection, negate(getIteratee(predicate, 3)));
			}
			/**
			* Gets a random element from `collection`.
			*
			* @static
			* @memberOf _
			* @since 2.0.0
			* @category Collection
			* @param {Array|Object} collection The collection to sample.
			* @returns {*} Returns the random element.
			* @example
			*
			* _.sample([1, 2, 3, 4]);
			* // => 2
			*/
			function sample(collection) {
				var func = isArray(collection) ? arraySample : baseSample;
				return func(collection);
			}
			/**
			* Gets `n` random elements at unique keys from `collection` up to the
			* size of `collection`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Collection
			* @param {Array|Object} collection The collection to sample.
			* @param {number} [n=1] The number of elements to sample.
			* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
			* @returns {Array} Returns the random elements.
			* @example
			*
			* _.sampleSize([1, 2, 3], 2);
			* // => [3, 1]
			*
			* _.sampleSize([1, 2, 3], 4);
			* // => [2, 3, 1]
			*/
			function sampleSize(collection, n, guard) {
				if (guard ? isIterateeCall(collection, n, guard) : n === undefined) {
					n = 1;
				} else {
					n = toInteger(n);
				}
				var func = isArray(collection) ? arraySampleSize : baseSampleSize;
				return func(collection, n);
			}
			/**
			* Creates an array of shuffled values, using a version of the
			* [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Collection
			* @param {Array|Object} collection The collection to shuffle.
			* @returns {Array} Returns the new shuffled array.
			* @example
			*
			* _.shuffle([1, 2, 3, 4]);
			* // => [4, 1, 3, 2]
			*/
			function shuffle(collection) {
				var func = isArray(collection) ? arrayShuffle : baseShuffle;
				return func(collection);
			}
			/**
			* Gets the size of `collection` by returning its length for array-like
			* values or the number of own enumerable string keyed properties for objects.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Collection
			* @param {Array|Object|string} collection The collection to inspect.
			* @returns {number} Returns the collection size.
			* @example
			*
			* _.size([1, 2, 3]);
			* // => 3
			*
			* _.size({ 'a': 1, 'b': 2 });
			* // => 2
			*
			* _.size('pebbles');
			* // => 7
			*/
			function size(collection) {
				if (collection == null) {
					return 0;
				}
				if (isArrayLike(collection)) {
					return isString(collection) ? stringSize(collection) : collection.length;
				}
				var tag = getTag(collection);
				if (tag == mapTag || tag == setTag) {
					return collection.size;
				}
				return baseKeys(collection).length;
			}
			/**
			* Checks if `predicate` returns truthy for **any** element of `collection`.
			* Iteration is stopped once `predicate` returns truthy. The predicate is
			* invoked with three arguments: (value, index|key, collection).
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Collection
			* @param {Array|Object} collection The collection to iterate over.
			* @param {Function} [predicate=_.identity] The function invoked per iteration.
			* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
			* @returns {boolean} Returns `true` if any element passes the predicate check,
			*  else `false`.
			* @example
			*
			* _.some([null, 0, 'yes', false], Boolean);
			* // => true
			*
			* var users = [
			*   { 'user': 'barney', 'active': true },
			*   { 'user': 'fred',   'active': false }
			* ];
			*
			* // The `_.matches` iteratee shorthand.
			* _.some(users, { 'user': 'barney', 'active': false });
			* // => false
			*
			* // The `_.matchesProperty` iteratee shorthand.
			* _.some(users, ['active', false]);
			* // => true
			*
			* // The `_.property` iteratee shorthand.
			* _.some(users, 'active');
			* // => true
			*/
			function some(collection, predicate, guard) {
				var func = isArray(collection) ? arraySome : baseSome;
				if (guard && isIterateeCall(collection, predicate, guard)) {
					predicate = undefined;
				}
				return func(collection, getIteratee(predicate, 3));
			}
			/**
			* Creates an array of elements, sorted in ascending order by the results of
			* running each element in a collection thru each iteratee. This method
			* performs a stable sort, that is, it preserves the original sort order of
			* equal elements. The iteratees are invoked with one argument: (value).
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Collection
			* @param {Array|Object} collection The collection to iterate over.
			* @param {...(Function|Function[])} [iteratees=[_.identity]]
			*  The iteratees to sort by.
			* @returns {Array} Returns the new sorted array.
			* @example
			*
			* var users = [
			*   { 'user': 'fred',   'age': 48 },
			*   { 'user': 'barney', 'age': 36 },
			*   { 'user': 'fred',   'age': 30 },
			*   { 'user': 'barney', 'age': 34 }
			* ];
			*
			* _.sortBy(users, [function(o) { return o.user; }]);
			* // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]
			*
			* _.sortBy(users, ['user', 'age']);
			* // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]
			*/
			var sortBy = baseRest(function(collection, iteratees) {
				if (collection == null) {
					return [];
				}
				var length = iteratees.length;
				if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {
					iteratees = [];
				} else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {
					iteratees = [iteratees[0]];
				}
				return baseOrderBy(collection, baseFlatten(iteratees, 1), []);
			});
			/**
			* Gets the timestamp of the number of milliseconds that have elapsed since
			* the Unix epoch (1 January 1970 00:00:00 UTC).
			*
			* @static
			* @memberOf _
			* @since 2.4.0
			* @category Date
			* @returns {number} Returns the timestamp.
			* @example
			*
			* _.defer(function(stamp) {
			*   console.log(_.now() - stamp);
			* }, _.now());
			* // => Logs the number of milliseconds it took for the deferred invocation.
			*/
			var now = ctxNow || function() {
				return root.Date.now();
			};
			/**
			* The opposite of `_.before`; this method creates a function that invokes
			* `func` once it's called `n` or more times.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Function
			* @param {number} n The number of calls before `func` is invoked.
			* @param {Function} func The function to restrict.
			* @returns {Function} Returns the new restricted function.
			* @example
			*
			* var saves = ['profile', 'settings'];
			*
			* var done = _.after(saves.length, function() {
			*   console.log('done saving!');
			* });
			*
			* _.forEach(saves, function(type) {
			*   asyncSave({ 'type': type, 'complete': done });
			* });
			* // => Logs 'done saving!' after the two async saves have completed.
			*/
			function after(n, func) {
				if (typeof func != "function") {
					throw new TypeError(FUNC_ERROR_TEXT);
				}
				n = toInteger(n);
				return function() {
					if (--n < 1) {
						return func.apply(this, arguments);
					}
				};
			}
			/**
			* Creates a function that invokes `func`, with up to `n` arguments,
			* ignoring any additional arguments.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Function
			* @param {Function} func The function to cap arguments for.
			* @param {number} [n=func.length] The arity cap.
			* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
			* @returns {Function} Returns the new capped function.
			* @example
			*
			* _.map(['6', '8', '10'], _.ary(parseInt, 1));
			* // => [6, 8, 10]
			*/
			function ary(func, n, guard) {
				n = guard ? undefined : n;
				n = func && n == null ? func.length : n;
				return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);
			}
			/**
			* Creates a function that invokes `func`, with the `this` binding and arguments
			* of the created function, while it's called less than `n` times. Subsequent
			* calls to the created function return the result of the last `func` invocation.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Function
			* @param {number} n The number of calls at which `func` is no longer invoked.
			* @param {Function} func The function to restrict.
			* @returns {Function} Returns the new restricted function.
			* @example
			*
			* jQuery(element).on('click', _.before(5, addContactToList));
			* // => Allows adding up to 4 contacts to the list.
			*/
			function before(n, func) {
				var result;
				if (typeof func != "function") {
					throw new TypeError(FUNC_ERROR_TEXT);
				}
				n = toInteger(n);
				return function() {
					if (--n > 0) {
						result = func.apply(this, arguments);
					}
					if (n <= 1) {
						func = undefined;
					}
					return result;
				};
			}
			/**
			* Creates a function that invokes `func` with the `this` binding of `thisArg`
			* and `partials` prepended to the arguments it receives.
			*
			* The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,
			* may be used as a placeholder for partially applied arguments.
			*
			* **Note:** Unlike native `Function#bind`, this method doesn't set the "length"
			* property of bound functions.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Function
			* @param {Function} func The function to bind.
			* @param {*} thisArg The `this` binding of `func`.
			* @param {...*} [partials] The arguments to be partially applied.
			* @returns {Function} Returns the new bound function.
			* @example
			*
			* function greet(greeting, punctuation) {
			*   return greeting + ' ' + this.user + punctuation;
			* }
			*
			* var object = { 'user': 'fred' };
			*
			* var bound = _.bind(greet, object, 'hi');
			* bound('!');
			* // => 'hi fred!'
			*
			* // Bound with placeholders.
			* var bound = _.bind(greet, object, _, '!');
			* bound('hi');
			* // => 'hi fred!'
			*/
			var bind = baseRest(function(func, thisArg, partials) {
				var bitmask = WRAP_BIND_FLAG;
				if (partials.length) {
					var holders = replaceHolders(partials, getHolder(bind));
					bitmask |= WRAP_PARTIAL_FLAG;
				}
				return createWrap(func, bitmask, thisArg, partials, holders);
			});
			/**
			* Creates a function that invokes the method at `object[key]` with `partials`
			* prepended to the arguments it receives.
			*
			* This method differs from `_.bind` by allowing bound functions to reference
			* methods that may be redefined or don't yet exist. See
			* [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)
			* for more details.
			*
			* The `_.bindKey.placeholder` value, which defaults to `_` in monolithic
			* builds, may be used as a placeholder for partially applied arguments.
			*
			* @static
			* @memberOf _
			* @since 0.10.0
			* @category Function
			* @param {Object} object The object to invoke the method on.
			* @param {string} key The key of the method.
			* @param {...*} [partials] The arguments to be partially applied.
			* @returns {Function} Returns the new bound function.
			* @example
			*
			* var object = {
			*   'user': 'fred',
			*   'greet': function(greeting, punctuation) {
			*     return greeting + ' ' + this.user + punctuation;
			*   }
			* };
			*
			* var bound = _.bindKey(object, 'greet', 'hi');
			* bound('!');
			* // => 'hi fred!'
			*
			* object.greet = function(greeting, punctuation) {
			*   return greeting + 'ya ' + this.user + punctuation;
			* };
			*
			* bound('!');
			* // => 'hiya fred!'
			*
			* // Bound with placeholders.
			* var bound = _.bindKey(object, 'greet', _, '!');
			* bound('hi');
			* // => 'hiya fred!'
			*/
			var bindKey = baseRest(function(object, key, partials) {
				var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;
				if (partials.length) {
					var holders = replaceHolders(partials, getHolder(bindKey));
					bitmask |= WRAP_PARTIAL_FLAG;
				}
				return createWrap(key, bitmask, object, partials, holders);
			});
			/**
			* Creates a function that accepts arguments of `func` and either invokes
			* `func` returning its result, if at least `arity` number of arguments have
			* been provided, or returns a function that accepts the remaining `func`
			* arguments, and so on. The arity of `func` may be specified if `func.length`
			* is not sufficient.
			*
			* The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,
			* may be used as a placeholder for provided arguments.
			*
			* **Note:** This method doesn't set the "length" property of curried functions.
			*
			* @static
			* @memberOf _
			* @since 2.0.0
			* @category Function
			* @param {Function} func The function to curry.
			* @param {number} [arity=func.length] The arity of `func`.
			* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
			* @returns {Function} Returns the new curried function.
			* @example
			*
			* var abc = function(a, b, c) {
			*   return [a, b, c];
			* };
			*
			* var curried = _.curry(abc);
			*
			* curried(1)(2)(3);
			* // => [1, 2, 3]
			*
			* curried(1, 2)(3);
			* // => [1, 2, 3]
			*
			* curried(1, 2, 3);
			* // => [1, 2, 3]
			*
			* // Curried with placeholders.
			* curried(1)(_, 3)(2);
			* // => [1, 2, 3]
			*/
			function curry(func, arity, guard) {
				arity = guard ? undefined : arity;
				var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
				result.placeholder = curry.placeholder;
				return result;
			}
			/**
			* This method is like `_.curry` except that arguments are applied to `func`
			* in the manner of `_.partialRight` instead of `_.partial`.
			*
			* The `_.curryRight.placeholder` value, which defaults to `_` in monolithic
			* builds, may be used as a placeholder for provided arguments.
			*
			* **Note:** This method doesn't set the "length" property of curried functions.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Function
			* @param {Function} func The function to curry.
			* @param {number} [arity=func.length] The arity of `func`.
			* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
			* @returns {Function} Returns the new curried function.
			* @example
			*
			* var abc = function(a, b, c) {
			*   return [a, b, c];
			* };
			*
			* var curried = _.curryRight(abc);
			*
			* curried(3)(2)(1);
			* // => [1, 2, 3]
			*
			* curried(2, 3)(1);
			* // => [1, 2, 3]
			*
			* curried(1, 2, 3);
			* // => [1, 2, 3]
			*
			* // Curried with placeholders.
			* curried(3)(1, _)(2);
			* // => [1, 2, 3]
			*/
			function curryRight(func, arity, guard) {
				arity = guard ? undefined : arity;
				var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
				result.placeholder = curryRight.placeholder;
				return result;
			}
			/**
			* Creates a debounced function that delays invoking `func` until after `wait`
			* milliseconds have elapsed since the last time the debounced function was
			* invoked. The debounced function comes with a `cancel` method to cancel
			* delayed `func` invocations and a `flush` method to immediately invoke them.
			* Provide `options` to indicate whether `func` should be invoked on the
			* leading and/or trailing edge of the `wait` timeout. The `func` is invoked
			* with the last arguments provided to the debounced function. Subsequent
			* calls to the debounced function return the result of the last `func`
			* invocation.
			*
			* **Note:** If `leading` and `trailing` options are `true`, `func` is
			* invoked on the trailing edge of the timeout only if the debounced function
			* is invoked more than once during the `wait` timeout.
			*
			* If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
			* until to the next tick, similar to `setTimeout` with a timeout of `0`.
			*
			* See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
			* for details over the differences between `_.debounce` and `_.throttle`.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Function
			* @param {Function} func The function to debounce.
			* @param {number} [wait=0] The number of milliseconds to delay.
			* @param {Object} [options={}] The options object.
			* @param {boolean} [options.leading=false]
			*  Specify invoking on the leading edge of the timeout.
			* @param {number} [options.maxWait]
			*  The maximum time `func` is allowed to be delayed before it's invoked.
			* @param {boolean} [options.trailing=true]
			*  Specify invoking on the trailing edge of the timeout.
			* @returns {Function} Returns the new debounced function.
			* @example
			*
			* // Avoid costly calculations while the window size is in flux.
			* jQuery(window).on('resize', _.debounce(calculateLayout, 150));
			*
			* // Invoke `sendMail` when clicked, debouncing subsequent calls.
			* jQuery(element).on('click', _.debounce(sendMail, 300, {
			*   'leading': true,
			*   'trailing': false
			* }));
			*
			* // Ensure `batchLog` is invoked once after 1 second of debounced calls.
			* var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
			* var source = new EventSource('/stream');
			* jQuery(source).on('message', debounced);
			*
			* // Cancel the trailing debounced invocation.
			* jQuery(window).on('popstate', debounced.cancel);
			*/
			function debounce(func, wait, options) {
				var lastArgs, lastThis, maxWait, result, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;
				if (typeof func != "function") {
					throw new TypeError(FUNC_ERROR_TEXT);
				}
				wait = toNumber(wait) || 0;
				if (isObject(options)) {
					leading = !!options.leading;
					maxing = "maxWait" in options;
					maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
					trailing = "trailing" in options ? !!options.trailing : trailing;
				}
				function invokeFunc(time) {
					var args = lastArgs, thisArg = lastThis;
					lastArgs = lastThis = undefined;
					lastInvokeTime = time;
					result = func.apply(thisArg, args);
					return result;
				}
				function leadingEdge(time) {
					lastInvokeTime = time;
					timerId = setTimeout(timerExpired, wait);
					return leading ? invokeFunc(time) : result;
				}
				function remainingWait(time) {
					var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, timeWaiting = wait - timeSinceLastCall;
					return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;
				}
				function shouldInvoke(time) {
					var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime;
					return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
				}
				function timerExpired() {
					var time = now();
					if (shouldInvoke(time)) {
						return trailingEdge(time);
					}
					timerId = setTimeout(timerExpired, remainingWait(time));
				}
				function trailingEdge(time) {
					timerId = undefined;
					if (trailing && lastArgs) {
						return invokeFunc(time);
					}
					lastArgs = lastThis = undefined;
					return result;
				}
				function cancel() {
					if (timerId !== undefined) {
						clearTimeout(timerId);
					}
					lastInvokeTime = 0;
					lastArgs = lastCallTime = lastThis = timerId = undefined;
				}
				function flush() {
					return timerId === undefined ? result : trailingEdge(now());
				}
				function debounced() {
					var time = now(), isInvoking = shouldInvoke(time);
					lastArgs = arguments;
					lastThis = this;
					lastCallTime = time;
					if (isInvoking) {
						if (timerId === undefined) {
							return leadingEdge(lastCallTime);
						}
						if (maxing) {
							clearTimeout(timerId);
							timerId = setTimeout(timerExpired, wait);
							return invokeFunc(lastCallTime);
						}
					}
					if (timerId === undefined) {
						timerId = setTimeout(timerExpired, wait);
					}
					return result;
				}
				debounced.cancel = cancel;
				debounced.flush = flush;
				return debounced;
			}
			/**
			* Defers invoking the `func` until the current call stack has cleared. Any
			* additional arguments are provided to `func` when it's invoked.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Function
			* @param {Function} func The function to defer.
			* @param {...*} [args] The arguments to invoke `func` with.
			* @returns {number} Returns the timer id.
			* @example
			*
			* _.defer(function(text) {
			*   console.log(text);
			* }, 'deferred');
			* // => Logs 'deferred' after one millisecond.
			*/
			var defer = baseRest(function(func, args) {
				return baseDelay(func, 1, args);
			});
			/**
			* Invokes `func` after `wait` milliseconds. Any additional arguments are
			* provided to `func` when it's invoked.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Function
			* @param {Function} func The function to delay.
			* @param {number} wait The number of milliseconds to delay invocation.
			* @param {...*} [args] The arguments to invoke `func` with.
			* @returns {number} Returns the timer id.
			* @example
			*
			* _.delay(function(text) {
			*   console.log(text);
			* }, 1000, 'later');
			* // => Logs 'later' after one second.
			*/
			var delay = baseRest(function(func, wait, args) {
				return baseDelay(func, toNumber(wait) || 0, args);
			});
			/**
			* Creates a function that invokes `func` with arguments reversed.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Function
			* @param {Function} func The function to flip arguments for.
			* @returns {Function} Returns the new flipped function.
			* @example
			*
			* var flipped = _.flip(function() {
			*   return _.toArray(arguments);
			* });
			*
			* flipped('a', 'b', 'c', 'd');
			* // => ['d', 'c', 'b', 'a']
			*/
			function flip(func) {
				return createWrap(func, WRAP_FLIP_FLAG);
			}
			/**
			* Creates a function that memoizes the result of `func`. If `resolver` is
			* provided, it determines the cache key for storing the result based on the
			* arguments provided to the memoized function. By default, the first argument
			* provided to the memoized function is used as the map cache key. The `func`
			* is invoked with the `this` binding of the memoized function.
			*
			* **Note:** The cache is exposed as the `cache` property on the memoized
			* function. Its creation may be customized by replacing the `_.memoize.Cache`
			* constructor with one whose instances implement the
			* [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
			* method interface of `clear`, `delete`, `get`, `has`, and `set`.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Function
			* @param {Function} func The function to have its output memoized.
			* @param {Function} [resolver] The function to resolve the cache key.
			* @returns {Function} Returns the new memoized function.
			* @example
			*
			* var object = { 'a': 1, 'b': 2 };
			* var other = { 'c': 3, 'd': 4 };
			*
			* var values = _.memoize(_.values);
			* values(object);
			* // => [1, 2]
			*
			* values(other);
			* // => [3, 4]
			*
			* object.a = 2;
			* values(object);
			* // => [1, 2]
			*
			* // Modify the result cache.
			* values.cache.set(object, ['a', 'b']);
			* values(object);
			* // => ['a', 'b']
			*
			* // Replace `_.memoize.Cache`.
			* _.memoize.Cache = WeakMap;
			*/
			function memoize(func, resolver) {
				if (typeof func != "function" || resolver != null && typeof resolver != "function") {
					throw new TypeError(FUNC_ERROR_TEXT);
				}
				var memoized = function() {
					var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache;
					if (cache.has(key)) {
						return cache.get(key);
					}
					var result = func.apply(this, args);
					memoized.cache = cache.set(key, result) || cache;
					return result;
				};
				memoized.cache = new (memoize.Cache || MapCache)();
				return memoized;
			}
			memoize.Cache = MapCache;
			/**
			* Creates a function that negates the result of the predicate `func`. The
			* `func` predicate is invoked with the `this` binding and arguments of the
			* created function.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Function
			* @param {Function} predicate The predicate to negate.
			* @returns {Function} Returns the new negated function.
			* @example
			*
			* function isEven(n) {
			*   return n % 2 == 0;
			* }
			*
			* _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));
			* // => [1, 3, 5]
			*/
			function negate(predicate) {
				if (typeof predicate != "function") {
					throw new TypeError(FUNC_ERROR_TEXT);
				}
				return function() {
					var args = arguments;
					switch (args.length) {
						case 0: return !predicate.call(this);
						case 1: return !predicate.call(this, args[0]);
						case 2: return !predicate.call(this, args[0], args[1]);
						case 3: return !predicate.call(this, args[0], args[1], args[2]);
					}
					return !predicate.apply(this, args);
				};
			}
			/**
			* Creates a function that is restricted to invoking `func` once. Repeat calls
			* to the function return the value of the first invocation. The `func` is
			* invoked with the `this` binding and arguments of the created function.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Function
			* @param {Function} func The function to restrict.
			* @returns {Function} Returns the new restricted function.
			* @example
			*
			* var initialize = _.once(createApplication);
			* initialize();
			* initialize();
			* // => `createApplication` is invoked once
			*/
			function once(func) {
				return before(2, func);
			}
			/**
			* Creates a function that invokes `func` with its arguments transformed.
			*
			* @static
			* @since 4.0.0
			* @memberOf _
			* @category Function
			* @param {Function} func The function to wrap.
			* @param {...(Function|Function[])} [transforms=[_.identity]]
			*  The argument transforms.
			* @returns {Function} Returns the new function.
			* @example
			*
			* function doubled(n) {
			*   return n * 2;
			* }
			*
			* function square(n) {
			*   return n * n;
			* }
			*
			* var func = _.overArgs(function(x, y) {
			*   return [x, y];
			* }, [square, doubled]);
			*
			* func(9, 3);
			* // => [81, 6]
			*
			* func(10, 5);
			* // => [100, 10]
			*/
			var overArgs = castRest(function(func, transforms) {
				transforms = transforms.length == 1 && isArray(transforms[0]) ? arrayMap(transforms[0], baseUnary(getIteratee())) : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee()));
				var funcsLength = transforms.length;
				return baseRest(function(args) {
					var index = -1, length = nativeMin(args.length, funcsLength);
					while (++index < length) {
						args[index] = transforms[index].call(this, args[index]);
					}
					return apply(func, this, args);
				});
			});
			/**
			* Creates a function that invokes `func` with `partials` prepended to the
			* arguments it receives. This method is like `_.bind` except it does **not**
			* alter the `this` binding.
			*
			* The `_.partial.placeholder` value, which defaults to `_` in monolithic
			* builds, may be used as a placeholder for partially applied arguments.
			*
			* **Note:** This method doesn't set the "length" property of partially
			* applied functions.
			*
			* @static
			* @memberOf _
			* @since 0.2.0
			* @category Function
			* @param {Function} func The function to partially apply arguments to.
			* @param {...*} [partials] The arguments to be partially applied.
			* @returns {Function} Returns the new partially applied function.
			* @example
			*
			* function greet(greeting, name) {
			*   return greeting + ' ' + name;
			* }
			*
			* var sayHelloTo = _.partial(greet, 'hello');
			* sayHelloTo('fred');
			* // => 'hello fred'
			*
			* // Partially applied with placeholders.
			* var greetFred = _.partial(greet, _, 'fred');
			* greetFred('hi');
			* // => 'hi fred'
			*/
			var partial = baseRest(function(func, partials) {
				var holders = replaceHolders(partials, getHolder(partial));
				return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);
			});
			/**
			* This method is like `_.partial` except that partially applied arguments
			* are appended to the arguments it receives.
			*
			* The `_.partialRight.placeholder` value, which defaults to `_` in monolithic
			* builds, may be used as a placeholder for partially applied arguments.
			*
			* **Note:** This method doesn't set the "length" property of partially
			* applied functions.
			*
			* @static
			* @memberOf _
			* @since 1.0.0
			* @category Function
			* @param {Function} func The function to partially apply arguments to.
			* @param {...*} [partials] The arguments to be partially applied.
			* @returns {Function} Returns the new partially applied function.
			* @example
			*
			* function greet(greeting, name) {
			*   return greeting + ' ' + name;
			* }
			*
			* var greetFred = _.partialRight(greet, 'fred');
			* greetFred('hi');
			* // => 'hi fred'
			*
			* // Partially applied with placeholders.
			* var sayHelloTo = _.partialRight(greet, 'hello', _);
			* sayHelloTo('fred');
			* // => 'hello fred'
			*/
			var partialRight = baseRest(function(func, partials) {
				var holders = replaceHolders(partials, getHolder(partialRight));
				return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);
			});
			/**
			* Creates a function that invokes `func` with arguments arranged according
			* to the specified `indexes` where the argument value at the first index is
			* provided as the first argument, the argument value at the second index is
			* provided as the second argument, and so on.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Function
			* @param {Function} func The function to rearrange arguments for.
			* @param {...(number|number[])} indexes The arranged argument indexes.
			* @returns {Function} Returns the new function.
			* @example
			*
			* var rearged = _.rearg(function(a, b, c) {
			*   return [a, b, c];
			* }, [2, 0, 1]);
			*
			* rearged('b', 'c', 'a')
			* // => ['a', 'b', 'c']
			*/
			var rearg = flatRest(function(func, indexes) {
				return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);
			});
			/**
			* Creates a function that invokes `func` with the `this` binding of the
			* created function and arguments from `start` and beyond provided as
			* an array.
			*
			* **Note:** This method is based on the
			* [rest parameter](https://mdn.io/rest_parameters).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Function
			* @param {Function} func The function to apply a rest parameter to.
			* @param {number} [start=func.length-1] The start position of the rest parameter.
			* @returns {Function} Returns the new function.
			* @example
			*
			* var say = _.rest(function(what, names) {
			*   return what + ' ' + _.initial(names).join(', ') +
			*     (_.size(names) > 1 ? ', & ' : '') + _.last(names);
			* });
			*
			* say('hello', 'fred', 'barney', 'pebbles');
			* // => 'hello fred, barney, & pebbles'
			*/
			function rest(func, start) {
				if (typeof func != "function") {
					throw new TypeError(FUNC_ERROR_TEXT);
				}
				start = start === undefined ? start : toInteger(start);
				return baseRest(func, start);
			}
			/**
			* Creates a function that invokes `func` with the `this` binding of the
			* create function and an array of arguments much like
			* [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply).
			*
			* **Note:** This method is based on the
			* [spread operator](https://mdn.io/spread_operator).
			*
			* @static
			* @memberOf _
			* @since 3.2.0
			* @category Function
			* @param {Function} func The function to spread arguments over.
			* @param {number} [start=0] The start position of the spread.
			* @returns {Function} Returns the new function.
			* @example
			*
			* var say = _.spread(function(who, what) {
			*   return who + ' says ' + what;
			* });
			*
			* say(['fred', 'hello']);
			* // => 'fred says hello'
			*
			* var numbers = Promise.all([
			*   Promise.resolve(40),
			*   Promise.resolve(36)
			* ]);
			*
			* numbers.then(_.spread(function(x, y) {
			*   return x + y;
			* }));
			* // => a Promise of 76
			*/
			function spread(func, start) {
				if (typeof func != "function") {
					throw new TypeError(FUNC_ERROR_TEXT);
				}
				start = start == null ? 0 : nativeMax(toInteger(start), 0);
				return baseRest(function(args) {
					var array = args[start], otherArgs = castSlice(args, 0, start);
					if (array) {
						arrayPush(otherArgs, array);
					}
					return apply(func, this, otherArgs);
				});
			}
			/**
			* Creates a throttled function that only invokes `func` at most once per
			* every `wait` milliseconds. The throttled function comes with a `cancel`
			* method to cancel delayed `func` invocations and a `flush` method to
			* immediately invoke them. Provide `options` to indicate whether `func`
			* should be invoked on the leading and/or trailing edge of the `wait`
			* timeout. The `func` is invoked with the last arguments provided to the
			* throttled function. Subsequent calls to the throttled function return the
			* result of the last `func` invocation.
			*
			* **Note:** If `leading` and `trailing` options are `true`, `func` is
			* invoked on the trailing edge of the timeout only if the throttled function
			* is invoked more than once during the `wait` timeout.
			*
			* If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
			* until to the next tick, similar to `setTimeout` with a timeout of `0`.
			*
			* See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
			* for details over the differences between `_.throttle` and `_.debounce`.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Function
			* @param {Function} func The function to throttle.
			* @param {number} [wait=0] The number of milliseconds to throttle invocations to.
			* @param {Object} [options={}] The options object.
			* @param {boolean} [options.leading=true]
			*  Specify invoking on the leading edge of the timeout.
			* @param {boolean} [options.trailing=true]
			*  Specify invoking on the trailing edge of the timeout.
			* @returns {Function} Returns the new throttled function.
			* @example
			*
			* // Avoid excessively updating the position while scrolling.
			* jQuery(window).on('scroll', _.throttle(updatePosition, 100));
			*
			* // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.
			* var throttled = _.throttle(renewToken, 300000, { 'trailing': false });
			* jQuery(element).on('click', throttled);
			*
			* // Cancel the trailing throttled invocation.
			* jQuery(window).on('popstate', throttled.cancel);
			*/
			function throttle(func, wait, options) {
				var leading = true, trailing = true;
				if (typeof func != "function") {
					throw new TypeError(FUNC_ERROR_TEXT);
				}
				if (isObject(options)) {
					leading = "leading" in options ? !!options.leading : leading;
					trailing = "trailing" in options ? !!options.trailing : trailing;
				}
				return debounce(func, wait, {
					"leading": leading,
					"maxWait": wait,
					"trailing": trailing
				});
			}
			/**
			* Creates a function that accepts up to one argument, ignoring any
			* additional arguments.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Function
			* @param {Function} func The function to cap arguments for.
			* @returns {Function} Returns the new capped function.
			* @example
			*
			* _.map(['6', '8', '10'], _.unary(parseInt));
			* // => [6, 8, 10]
			*/
			function unary(func) {
				return ary(func, 1);
			}
			/**
			* Creates a function that provides `value` to `wrapper` as its first
			* argument. Any additional arguments provided to the function are appended
			* to those provided to the `wrapper`. The wrapper is invoked with the `this`
			* binding of the created function.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Function
			* @param {*} value The value to wrap.
			* @param {Function} [wrapper=identity] The wrapper function.
			* @returns {Function} Returns the new function.
			* @example
			*
			* var p = _.wrap(_.escape, function(func, text) {
			*   return '<p>' + func(text) + '</p>';
			* });
			*
			* p('fred, barney, & pebbles');
			* // => '<p>fred, barney, &amp; pebbles</p>'
			*/
			function wrap(value, wrapper) {
				return partial(castFunction(wrapper), value);
			}
			/**
			* Casts `value` as an array if it's not one.
			*
			* @static
			* @memberOf _
			* @since 4.4.0
			* @category Lang
			* @param {*} value The value to inspect.
			* @returns {Array} Returns the cast array.
			* @example
			*
			* _.castArray(1);
			* // => [1]
			*
			* _.castArray({ 'a': 1 });
			* // => [{ 'a': 1 }]
			*
			* _.castArray('abc');
			* // => ['abc']
			*
			* _.castArray(null);
			* // => [null]
			*
			* _.castArray(undefined);
			* // => [undefined]
			*
			* _.castArray();
			* // => []
			*
			* var array = [1, 2, 3];
			* console.log(_.castArray(array) === array);
			* // => true
			*/
			function castArray() {
				if (!arguments.length) {
					return [];
				}
				var value = arguments[0];
				return isArray(value) ? value : [value];
			}
			/**
			* Creates a shallow clone of `value`.
			*
			* **Note:** This method is loosely based on the
			* [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)
			* and supports cloning arrays, array buffers, booleans, date objects, maps,
			* numbers, `Object` objects, regexes, sets, strings, symbols, and typed
			* arrays. The own enumerable properties of `arguments` objects are cloned
			* as plain objects. An empty object is returned for uncloneable values such
			* as error objects, functions, DOM nodes, and WeakMaps.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Lang
			* @param {*} value The value to clone.
			* @returns {*} Returns the cloned value.
			* @see _.cloneDeep
			* @example
			*
			* var objects = [{ 'a': 1 }, { 'b': 2 }];
			*
			* var shallow = _.clone(objects);
			* console.log(shallow[0] === objects[0]);
			* // => true
			*/
			function clone(value) {
				return baseClone(value, CLONE_SYMBOLS_FLAG);
			}
			/**
			* This method is like `_.clone` except that it accepts `customizer` which
			* is invoked to produce the cloned value. If `customizer` returns `undefined`,
			* cloning is handled by the method instead. The `customizer` is invoked with
			* up to four arguments; (value [, index|key, object, stack]).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Lang
			* @param {*} value The value to clone.
			* @param {Function} [customizer] The function to customize cloning.
			* @returns {*} Returns the cloned value.
			* @see _.cloneDeepWith
			* @example
			*
			* function customizer(value) {
			*   if (_.isElement(value)) {
			*     return value.cloneNode(false);
			*   }
			* }
			*
			* var el = _.cloneWith(document.body, customizer);
			*
			* console.log(el === document.body);
			* // => false
			* console.log(el.nodeName);
			* // => 'BODY'
			* console.log(el.childNodes.length);
			* // => 0
			*/
			function cloneWith(value, customizer) {
				customizer = typeof customizer == "function" ? customizer : undefined;
				return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);
			}
			/**
			* This method is like `_.clone` except that it recursively clones `value`.
			*
			* @static
			* @memberOf _
			* @since 1.0.0
			* @category Lang
			* @param {*} value The value to recursively clone.
			* @returns {*} Returns the deep cloned value.
			* @see _.clone
			* @example
			*
			* var objects = [{ 'a': 1 }, { 'b': 2 }];
			*
			* var deep = _.cloneDeep(objects);
			* console.log(deep[0] === objects[0]);
			* // => false
			*/
			function cloneDeep(value) {
				return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
			}
			/**
			* This method is like `_.cloneWith` except that it recursively clones `value`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Lang
			* @param {*} value The value to recursively clone.
			* @param {Function} [customizer] The function to customize cloning.
			* @returns {*} Returns the deep cloned value.
			* @see _.cloneWith
			* @example
			*
			* function customizer(value) {
			*   if (_.isElement(value)) {
			*     return value.cloneNode(true);
			*   }
			* }
			*
			* var el = _.cloneDeepWith(document.body, customizer);
			*
			* console.log(el === document.body);
			* // => false
			* console.log(el.nodeName);
			* // => 'BODY'
			* console.log(el.childNodes.length);
			* // => 20
			*/
			function cloneDeepWith(value, customizer) {
				customizer = typeof customizer == "function" ? customizer : undefined;
				return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);
			}
			/**
			* Checks if `object` conforms to `source` by invoking the predicate
			* properties of `source` with the corresponding property values of `object`.
			*
			* **Note:** This method is equivalent to `_.conforms` when `source` is
			* partially applied.
			*
			* @static
			* @memberOf _
			* @since 4.14.0
			* @category Lang
			* @param {Object} object The object to inspect.
			* @param {Object} source The object of property predicates to conform to.
			* @returns {boolean} Returns `true` if `object` conforms, else `false`.
			* @example
			*
			* var object = { 'a': 1, 'b': 2 };
			*
			* _.conformsTo(object, { 'b': function(n) { return n > 1; } });
			* // => true
			*
			* _.conformsTo(object, { 'b': function(n) { return n > 2; } });
			* // => false
			*/
			function conformsTo(object, source) {
				return source == null || baseConformsTo(object, source, keys(source));
			}
			/**
			* Performs a
			* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
			* comparison between two values to determine if they are equivalent.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Lang
			* @param {*} value The value to compare.
			* @param {*} other The other value to compare.
			* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
			* @example
			*
			* var object = { 'a': 1 };
			* var other = { 'a': 1 };
			*
			* _.eq(object, object);
			* // => true
			*
			* _.eq(object, other);
			* // => false
			*
			* _.eq('a', 'a');
			* // => true
			*
			* _.eq('a', Object('a'));
			* // => false
			*
			* _.eq(NaN, NaN);
			* // => true
			*/
			function eq(value, other) {
				return value === other || value !== value && other !== other;
			}
			/**
			* Checks if `value` is greater than `other`.
			*
			* @static
			* @memberOf _
			* @since 3.9.0
			* @category Lang
			* @param {*} value The value to compare.
			* @param {*} other The other value to compare.
			* @returns {boolean} Returns `true` if `value` is greater than `other`,
			*  else `false`.
			* @see _.lt
			* @example
			*
			* _.gt(3, 1);
			* // => true
			*
			* _.gt(3, 3);
			* // => false
			*
			* _.gt(1, 3);
			* // => false
			*/
			var gt = createRelationalOperation(baseGt);
			/**
			* Checks if `value` is greater than or equal to `other`.
			*
			* @static
			* @memberOf _
			* @since 3.9.0
			* @category Lang
			* @param {*} value The value to compare.
			* @param {*} other The other value to compare.
			* @returns {boolean} Returns `true` if `value` is greater than or equal to
			*  `other`, else `false`.
			* @see _.lte
			* @example
			*
			* _.gte(3, 1);
			* // => true
			*
			* _.gte(3, 3);
			* // => true
			*
			* _.gte(1, 3);
			* // => false
			*/
			var gte = createRelationalOperation(function(value, other) {
				return value >= other;
			});
			/**
			* Checks if `value` is likely an `arguments` object.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is an `arguments` object,
			*  else `false`.
			* @example
			*
			* _.isArguments(function() { return arguments; }());
			* // => true
			*
			* _.isArguments([1, 2, 3]);
			* // => false
			*/
			var isArguments = baseIsArguments(function() {
				return arguments;
			}()) ? baseIsArguments : function(value) {
				return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
			};
			/**
			* Checks if `value` is classified as an `Array` object.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is an array, else `false`.
			* @example
			*
			* _.isArray([1, 2, 3]);
			* // => true
			*
			* _.isArray(document.body.children);
			* // => false
			*
			* _.isArray('abc');
			* // => false
			*
			* _.isArray(_.noop);
			* // => false
			*/
			var isArray = Array.isArray;
			/**
			* Checks if `value` is classified as an `ArrayBuffer` object.
			*
			* @static
			* @memberOf _
			* @since 4.3.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.
			* @example
			*
			* _.isArrayBuffer(new ArrayBuffer(2));
			* // => true
			*
			* _.isArrayBuffer(new Array(2));
			* // => false
			*/
			var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;
			/**
			* Checks if `value` is array-like. A value is considered array-like if it's
			* not a function and has a `value.length` that's an integer greater than or
			* equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is array-like, else `false`.
			* @example
			*
			* _.isArrayLike([1, 2, 3]);
			* // => true
			*
			* _.isArrayLike(document.body.children);
			* // => true
			*
			* _.isArrayLike('abc');
			* // => true
			*
			* _.isArrayLike(_.noop);
			* // => false
			*/
			function isArrayLike(value) {
				return value != null && isLength(value.length) && !isFunction(value);
			}
			/**
			* This method is like `_.isArrayLike` except that it also checks if `value`
			* is an object.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is an array-like object,
			*  else `false`.
			* @example
			*
			* _.isArrayLikeObject([1, 2, 3]);
			* // => true
			*
			* _.isArrayLikeObject(document.body.children);
			* // => true
			*
			* _.isArrayLikeObject('abc');
			* // => false
			*
			* _.isArrayLikeObject(_.noop);
			* // => false
			*/
			function isArrayLikeObject(value) {
				return isObjectLike(value) && isArrayLike(value);
			}
			/**
			* Checks if `value` is classified as a boolean primitive or object.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a boolean, else `false`.
			* @example
			*
			* _.isBoolean(false);
			* // => true
			*
			* _.isBoolean(null);
			* // => false
			*/
			function isBoolean(value) {
				return value === true || value === false || isObjectLike(value) && baseGetTag(value) == boolTag;
			}
			/**
			* Checks if `value` is a buffer.
			*
			* @static
			* @memberOf _
			* @since 4.3.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
			* @example
			*
			* _.isBuffer(new Buffer(2));
			* // => true
			*
			* _.isBuffer(new Uint8Array(2));
			* // => false
			*/
			var isBuffer = nativeIsBuffer || stubFalse;
			/**
			* Checks if `value` is classified as a `Date` object.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a date object, else `false`.
			* @example
			*
			* _.isDate(new Date);
			* // => true
			*
			* _.isDate('Mon April 23 2012');
			* // => false
			*/
			var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;
			/**
			* Checks if `value` is likely a DOM element.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.
			* @example
			*
			* _.isElement(document.body);
			* // => true
			*
			* _.isElement('<body>');
			* // => false
			*/
			function isElement(value) {
				return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);
			}
			/**
			* Checks if `value` is an empty object, collection, map, or set.
			*
			* Objects are considered empty if they have no own enumerable string keyed
			* properties.
			*
			* Array-like values such as `arguments` objects, arrays, buffers, strings, or
			* jQuery-like collections are considered empty if they have a `length` of `0`.
			* Similarly, maps and sets are considered empty if they have a `size` of `0`.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is empty, else `false`.
			* @example
			*
			* _.isEmpty(null);
			* // => true
			*
			* _.isEmpty(true);
			* // => true
			*
			* _.isEmpty(1);
			* // => true
			*
			* _.isEmpty([1, 2, 3]);
			* // => false
			*
			* _.isEmpty({ 'a': 1 });
			* // => false
			*/
			function isEmpty(value) {
				if (value == null) {
					return true;
				}
				if (isArrayLike(value) && (isArray(value) || typeof value == "string" || typeof value.splice == "function" || isBuffer(value) || isTypedArray(value) || isArguments(value))) {
					return !value.length;
				}
				var tag = getTag(value);
				if (tag == mapTag || tag == setTag) {
					return !value.size;
				}
				if (isPrototype(value)) {
					return !baseKeys(value).length;
				}
				for (var key in value) {
					if (hasOwnProperty.call(value, key)) {
						return false;
					}
				}
				return true;
			}
			/**
			* Performs a deep comparison between two values to determine if they are
			* equivalent.
			*
			* **Note:** This method supports comparing arrays, array buffers, booleans,
			* date objects, error objects, maps, numbers, `Object` objects, regexes,
			* sets, strings, symbols, and typed arrays. `Object` objects are compared
			* by their own, not inherited, enumerable properties. Functions and DOM
			* nodes are compared by strict equality, i.e. `===`.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Lang
			* @param {*} value The value to compare.
			* @param {*} other The other value to compare.
			* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
			* @example
			*
			* var object = { 'a': 1 };
			* var other = { 'a': 1 };
			*
			* _.isEqual(object, other);
			* // => true
			*
			* object === other;
			* // => false
			*/
			function isEqual(value, other) {
				return baseIsEqual(value, other);
			}
			/**
			* This method is like `_.isEqual` except that it accepts `customizer` which
			* is invoked to compare values. If `customizer` returns `undefined`, comparisons
			* are handled by the method instead. The `customizer` is invoked with up to
			* six arguments: (objValue, othValue [, index|key, object, other, stack]).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Lang
			* @param {*} value The value to compare.
			* @param {*} other The other value to compare.
			* @param {Function} [customizer] The function to customize comparisons.
			* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
			* @example
			*
			* function isGreeting(value) {
			*   return /^h(?:i|ello)$/.test(value);
			* }
			*
			* function customizer(objValue, othValue) {
			*   if (isGreeting(objValue) && isGreeting(othValue)) {
			*     return true;
			*   }
			* }
			*
			* var array = ['hello', 'goodbye'];
			* var other = ['hi', 'goodbye'];
			*
			* _.isEqualWith(array, other, customizer);
			* // => true
			*/
			function isEqualWith(value, other, customizer) {
				customizer = typeof customizer == "function" ? customizer : undefined;
				var result = customizer ? customizer(value, other) : undefined;
				return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;
			}
			/**
			* Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,
			* `SyntaxError`, `TypeError`, or `URIError` object.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is an error object, else `false`.
			* @example
			*
			* _.isError(new Error);
			* // => true
			*
			* _.isError(Error);
			* // => false
			*/
			function isError(value) {
				if (!isObjectLike(value)) {
					return false;
				}
				var tag = baseGetTag(value);
				return tag == errorTag || tag == domExcTag || typeof value.message == "string" && typeof value.name == "string" && !isPlainObject(value);
			}
			/**
			* Checks if `value` is a finite primitive number.
			*
			* **Note:** This method is based on
			* [`Number.isFinite`](https://mdn.io/Number/isFinite).
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a finite number, else `false`.
			* @example
			*
			* _.isFinite(3);
			* // => true
			*
			* _.isFinite(Number.MIN_VALUE);
			* // => true
			*
			* _.isFinite(Infinity);
			* // => false
			*
			* _.isFinite('3');
			* // => false
			*/
			function isFinite(value) {
				return typeof value == "number" && nativeIsFinite(value);
			}
			/**
			* Checks if `value` is classified as a `Function` object.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a function, else `false`.
			* @example
			*
			* _.isFunction(_);
			* // => true
			*
			* _.isFunction(/abc/);
			* // => false
			*/
			function isFunction(value) {
				if (!isObject(value)) {
					return false;
				}
				var tag = baseGetTag(value);
				return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
			}
			/**
			* Checks if `value` is an integer.
			*
			* **Note:** This method is based on
			* [`Number.isInteger`](https://mdn.io/Number/isInteger).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is an integer, else `false`.
			* @example
			*
			* _.isInteger(3);
			* // => true
			*
			* _.isInteger(Number.MIN_VALUE);
			* // => false
			*
			* _.isInteger(Infinity);
			* // => false
			*
			* _.isInteger('3');
			* // => false
			*/
			function isInteger(value) {
				return typeof value == "number" && value == toInteger(value);
			}
			/**
			* Checks if `value` is a valid array-like length.
			*
			* **Note:** This method is loosely based on
			* [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
			* @example
			*
			* _.isLength(3);
			* // => true
			*
			* _.isLength(Number.MIN_VALUE);
			* // => false
			*
			* _.isLength(Infinity);
			* // => false
			*
			* _.isLength('3');
			* // => false
			*/
			function isLength(value) {
				return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
			}
			/**
			* Checks if `value` is the
			* [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
			* of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is an object, else `false`.
			* @example
			*
			* _.isObject({});
			* // => true
			*
			* _.isObject([1, 2, 3]);
			* // => true
			*
			* _.isObject(_.noop);
			* // => true
			*
			* _.isObject(null);
			* // => false
			*/
			function isObject(value) {
				var type = typeof value;
				return value != null && (type == "object" || type == "function");
			}
			/**
			* Checks if `value` is object-like. A value is object-like if it's not `null`
			* and has a `typeof` result of "object".
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is object-like, else `false`.
			* @example
			*
			* _.isObjectLike({});
			* // => true
			*
			* _.isObjectLike([1, 2, 3]);
			* // => true
			*
			* _.isObjectLike(_.noop);
			* // => false
			*
			* _.isObjectLike(null);
			* // => false
			*/
			function isObjectLike(value) {
				return value != null && typeof value == "object";
			}
			/**
			* Checks if `value` is classified as a `Map` object.
			*
			* @static
			* @memberOf _
			* @since 4.3.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a map, else `false`.
			* @example
			*
			* _.isMap(new Map);
			* // => true
			*
			* _.isMap(new WeakMap);
			* // => false
			*/
			var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;
			/**
			* Performs a partial deep comparison between `object` and `source` to
			* determine if `object` contains equivalent property values.
			*
			* **Note:** This method is equivalent to `_.matches` when `source` is
			* partially applied.
			*
			* Partial comparisons will match empty array and empty object `source`
			* values against any array or object value, respectively. See `_.isEqual`
			* for a list of supported value comparisons.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Lang
			* @param {Object} object The object to inspect.
			* @param {Object} source The object of property values to match.
			* @returns {boolean} Returns `true` if `object` is a match, else `false`.
			* @example
			*
			* var object = { 'a': 1, 'b': 2 };
			*
			* _.isMatch(object, { 'b': 2 });
			* // => true
			*
			* _.isMatch(object, { 'b': 1 });
			* // => false
			*/
			function isMatch(object, source) {
				return object === source || baseIsMatch(object, source, getMatchData(source));
			}
			/**
			* This method is like `_.isMatch` except that it accepts `customizer` which
			* is invoked to compare values. If `customizer` returns `undefined`, comparisons
			* are handled by the method instead. The `customizer` is invoked with five
			* arguments: (objValue, srcValue, index|key, object, source).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Lang
			* @param {Object} object The object to inspect.
			* @param {Object} source The object of property values to match.
			* @param {Function} [customizer] The function to customize comparisons.
			* @returns {boolean} Returns `true` if `object` is a match, else `false`.
			* @example
			*
			* function isGreeting(value) {
			*   return /^h(?:i|ello)$/.test(value);
			* }
			*
			* function customizer(objValue, srcValue) {
			*   if (isGreeting(objValue) && isGreeting(srcValue)) {
			*     return true;
			*   }
			* }
			*
			* var object = { 'greeting': 'hello' };
			* var source = { 'greeting': 'hi' };
			*
			* _.isMatchWith(object, source, customizer);
			* // => true
			*/
			function isMatchWith(object, source, customizer) {
				customizer = typeof customizer == "function" ? customizer : undefined;
				return baseIsMatch(object, source, getMatchData(source), customizer);
			}
			/**
			* Checks if `value` is `NaN`.
			*
			* **Note:** This method is based on
			* [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as
			* global [`isNaN`](https://mdn.io/isNaN) which returns `true` for
			* `undefined` and other non-number values.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
			* @example
			*
			* _.isNaN(NaN);
			* // => true
			*
			* _.isNaN(new Number(NaN));
			* // => true
			*
			* isNaN(undefined);
			* // => true
			*
			* _.isNaN(undefined);
			* // => false
			*/
			function isNaN(value) {
				return isNumber(value) && value != +value;
			}
			/**
			* Checks if `value` is a pristine native function.
			*
			* **Note:** This method can't reliably detect native functions in the presence
			* of the core-js package because core-js circumvents this kind of detection.
			* Despite multiple requests, the core-js maintainer has made it clear: any
			* attempt to fix the detection will be obstructed. As a result, we're left
			* with little choice but to throw an error. Unfortunately, this also affects
			* packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),
			* which rely on core-js.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a native function,
			*  else `false`.
			* @example
			*
			* _.isNative(Array.prototype.push);
			* // => true
			*
			* _.isNative(_);
			* // => false
			*/
			function isNative(value) {
				if (isMaskable(value)) {
					throw new Error(CORE_ERROR_TEXT);
				}
				return baseIsNative(value);
			}
			/**
			* Checks if `value` is `null`.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is `null`, else `false`.
			* @example
			*
			* _.isNull(null);
			* // => true
			*
			* _.isNull(void 0);
			* // => false
			*/
			function isNull(value) {
				return value === null;
			}
			/**
			* Checks if `value` is `null` or `undefined`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is nullish, else `false`.
			* @example
			*
			* _.isNil(null);
			* // => true
			*
			* _.isNil(void 0);
			* // => true
			*
			* _.isNil(NaN);
			* // => false
			*/
			function isNil(value) {
				return value == null;
			}
			/**
			* Checks if `value` is classified as a `Number` primitive or object.
			*
			* **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are
			* classified as numbers, use the `_.isFinite` method.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a number, else `false`.
			* @example
			*
			* _.isNumber(3);
			* // => true
			*
			* _.isNumber(Number.MIN_VALUE);
			* // => true
			*
			* _.isNumber(Infinity);
			* // => true
			*
			* _.isNumber('3');
			* // => false
			*/
			function isNumber(value) {
				return typeof value == "number" || isObjectLike(value) && baseGetTag(value) == numberTag;
			}
			/**
			* Checks if `value` is a plain object, that is, an object created by the
			* `Object` constructor or one with a `[[Prototype]]` of `null`.
			*
			* @static
			* @memberOf _
			* @since 0.8.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
			* @example
			*
			* function Foo() {
			*   this.a = 1;
			* }
			*
			* _.isPlainObject(new Foo);
			* // => false
			*
			* _.isPlainObject([1, 2, 3]);
			* // => false
			*
			* _.isPlainObject({ 'x': 0, 'y': 0 });
			* // => true
			*
			* _.isPlainObject(Object.create(null));
			* // => true
			*/
			function isPlainObject(value) {
				if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
					return false;
				}
				var proto = getPrototype(value);
				if (proto === null) {
					return true;
				}
				var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
				return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
			}
			/**
			* Checks if `value` is classified as a `RegExp` object.
			*
			* @static
			* @memberOf _
			* @since 0.1.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a regexp, else `false`.
			* @example
			*
			* _.isRegExp(/abc/);
			* // => true
			*
			* _.isRegExp('/abc/');
			* // => false
			*/
			var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;
			/**
			* Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754
			* double precision number which isn't the result of a rounded unsafe integer.
			*
			* **Note:** This method is based on
			* [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a safe integer, else `false`.
			* @example
			*
			* _.isSafeInteger(3);
			* // => true
			*
			* _.isSafeInteger(Number.MIN_VALUE);
			* // => false
			*
			* _.isSafeInteger(Infinity);
			* // => false
			*
			* _.isSafeInteger('3');
			* // => false
			*/
			function isSafeInteger(value) {
				return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;
			}
			/**
			* Checks if `value` is classified as a `Set` object.
			*
			* @static
			* @memberOf _
			* @since 4.3.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a set, else `false`.
			* @example
			*
			* _.isSet(new Set);
			* // => true
			*
			* _.isSet(new WeakSet);
			* // => false
			*/
			var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;
			/**
			* Checks if `value` is classified as a `String` primitive or object.
			*
			* @static
			* @since 0.1.0
			* @memberOf _
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a string, else `false`.
			* @example
			*
			* _.isString('abc');
			* // => true
			*
			* _.isString(1);
			* // => false
			*/
			function isString(value) {
				return typeof value == "string" || !isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag;
			}
			/**
			* Checks if `value` is classified as a `Symbol` primitive or object.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
			* @example
			*
			* _.isSymbol(Symbol.iterator);
			* // => true
			*
			* _.isSymbol('abc');
			* // => false
			*/
			function isSymbol(value) {
				return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag;
			}
			/**
			* Checks if `value` is classified as a typed array.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
			* @example
			*
			* _.isTypedArray(new Uint8Array);
			* // => true
			*
			* _.isTypedArray([]);
			* // => false
			*/
			var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
			/**
			* Checks if `value` is `undefined`.
			*
			* @static
			* @since 0.1.0
			* @memberOf _
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.
			* @example
			*
			* _.isUndefined(void 0);
			* // => true
			*
			* _.isUndefined(null);
			* // => false
			*/
			function isUndefined(value) {
				return value === undefined;
			}
			/**
			* Checks if `value` is classified as a `WeakMap` object.
			*
			* @static
			* @memberOf _
			* @since 4.3.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a weak map, else `false`.
			* @example
			*
			* _.isWeakMap(new WeakMap);
			* // => true
			*
			* _.isWeakMap(new Map);
			* // => false
			*/
			function isWeakMap(value) {
				return isObjectLike(value) && getTag(value) == weakMapTag;
			}
			/**
			* Checks if `value` is classified as a `WeakSet` object.
			*
			* @static
			* @memberOf _
			* @since 4.3.0
			* @category Lang
			* @param {*} value The value to check.
			* @returns {boolean} Returns `true` if `value` is a weak set, else `false`.
			* @example
			*
			* _.isWeakSet(new WeakSet);
			* // => true
			*
			* _.isWeakSet(new Set);
			* // => false
			*/
			function isWeakSet(value) {
				return isObjectLike(value) && baseGetTag(value) == weakSetTag;
			}
			/**
			* Checks if `value` is less than `other`.
			*
			* @static
			* @memberOf _
			* @since 3.9.0
			* @category Lang
			* @param {*} value The value to compare.
			* @param {*} other The other value to compare.
			* @returns {boolean} Returns `true` if `value` is less than `other`,
			*  else `false`.
			* @see _.gt
			* @example
			*
			* _.lt(1, 3);
			* // => true
			*
			* _.lt(3, 3);
			* // => false
			*
			* _.lt(3, 1);
			* // => false
			*/
			var lt = createRelationalOperation(baseLt);
			/**
			* Checks if `value` is less than or equal to `other`.
			*
			* @static
			* @memberOf _
			* @since 3.9.0
			* @category Lang
			* @param {*} value The value to compare.
			* @param {*} other The other value to compare.
			* @returns {boolean} Returns `true` if `value` is less than or equal to
			*  `other`, else `false`.
			* @see _.gte
			* @example
			*
			* _.lte(1, 3);
			* // => true
			*
			* _.lte(3, 3);
			* // => true
			*
			* _.lte(3, 1);
			* // => false
			*/
			var lte = createRelationalOperation(function(value, other) {
				return value <= other;
			});
			/**
			* Converts `value` to an array.
			*
			* @static
			* @since 0.1.0
			* @memberOf _
			* @category Lang
			* @param {*} value The value to convert.
			* @returns {Array} Returns the converted array.
			* @example
			*
			* _.toArray({ 'a': 1, 'b': 2 });
			* // => [1, 2]
			*
			* _.toArray('abc');
			* // => ['a', 'b', 'c']
			*
			* _.toArray(1);
			* // => []
			*
			* _.toArray(null);
			* // => []
			*/
			function toArray(value) {
				if (!value) {
					return [];
				}
				if (isArrayLike(value)) {
					return isString(value) ? stringToArray(value) : copyArray(value);
				}
				if (symIterator && value[symIterator]) {
					return iteratorToArray(value[symIterator]());
				}
				var tag = getTag(value), func = tag == mapTag ? mapToArray : tag == setTag ? setToArray : values;
				return func(value);
			}
			/**
			* Converts `value` to a finite number.
			*
			* @static
			* @memberOf _
			* @since 4.12.0
			* @category Lang
			* @param {*} value The value to convert.
			* @returns {number} Returns the converted number.
			* @example
			*
			* _.toFinite(3.2);
			* // => 3.2
			*
			* _.toFinite(Number.MIN_VALUE);
			* // => 5e-324
			*
			* _.toFinite(Infinity);
			* // => 1.7976931348623157e+308
			*
			* _.toFinite('3.2');
			* // => 3.2
			*/
			function toFinite(value) {
				if (!value) {
					return value === 0 ? value : 0;
				}
				value = toNumber(value);
				if (value === INFINITY || value === -INFINITY) {
					var sign = value < 0 ? -1 : 1;
					return sign * MAX_INTEGER;
				}
				return value === value ? value : 0;
			}
			/**
			* Converts `value` to an integer.
			*
			* **Note:** This method is loosely based on
			* [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Lang
			* @param {*} value The value to convert.
			* @returns {number} Returns the converted integer.
			* @example
			*
			* _.toInteger(3.2);
			* // => 3
			*
			* _.toInteger(Number.MIN_VALUE);
			* // => 0
			*
			* _.toInteger(Infinity);
			* // => 1.7976931348623157e+308
			*
			* _.toInteger('3.2');
			* // => 3
			*/
			function toInteger(value) {
				var result = toFinite(value), remainder = result % 1;
				return result === result ? remainder ? result - remainder : result : 0;
			}
			/**
			* Converts `value` to an integer suitable for use as the length of an
			* array-like object.
			*
			* **Note:** This method is based on
			* [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Lang
			* @param {*} value The value to convert.
			* @returns {number} Returns the converted integer.
			* @example
			*
			* _.toLength(3.2);
			* // => 3
			*
			* _.toLength(Number.MIN_VALUE);
			* // => 0
			*
			* _.toLength(Infinity);
			* // => 4294967295
			*
			* _.toLength('3.2');
			* // => 3
			*/
			function toLength(value) {
				return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;
			}
			/**
			* Converts `value` to a number.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Lang
			* @param {*} value The value to process.
			* @returns {number} Returns the number.
			* @example
			*
			* _.toNumber(3.2);
			* // => 3.2
			*
			* _.toNumber(Number.MIN_VALUE);
			* // => 5e-324
			*
			* _.toNumber(Infinity);
			* // => Infinity
			*
			* _.toNumber('3.2');
			* // => 3.2
			*/
			function toNumber(value) {
				if (typeof value == "number") {
					return value;
				}
				if (isSymbol(value)) {
					return NAN;
				}
				if (isObject(value)) {
					var other = typeof value.valueOf == "function" ? value.valueOf() : value;
					value = isObject(other) ? other + "" : other;
				}
				if (typeof value != "string") {
					return value === 0 ? value : +value;
				}
				value = baseTrim(value);
				var isBinary = reIsBinary.test(value);
				return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
			}
			/**
			* Converts `value` to a plain object flattening inherited enumerable string
			* keyed properties of `value` to own properties of the plain object.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Lang
			* @param {*} value The value to convert.
			* @returns {Object} Returns the converted plain object.
			* @example
			*
			* function Foo() {
			*   this.b = 2;
			* }
			*
			* Foo.prototype.c = 3;
			*
			* _.assign({ 'a': 1 }, new Foo);
			* // => { 'a': 1, 'b': 2 }
			*
			* _.assign({ 'a': 1 }, _.toPlainObject(new Foo));
			* // => { 'a': 1, 'b': 2, 'c': 3 }
			*/
			function toPlainObject(value) {
				return copyObject(value, keysIn(value));
			}
			/**
			* Converts `value` to a safe integer. A safe integer can be compared and
			* represented correctly.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Lang
			* @param {*} value The value to convert.
			* @returns {number} Returns the converted integer.
			* @example
			*
			* _.toSafeInteger(3.2);
			* // => 3
			*
			* _.toSafeInteger(Number.MIN_VALUE);
			* // => 0
			*
			* _.toSafeInteger(Infinity);
			* // => 9007199254740991
			*
			* _.toSafeInteger('3.2');
			* // => 3
			*/
			function toSafeInteger(value) {
				return value ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER) : value === 0 ? value : 0;
			}
			/**
			* Converts `value` to a string. An empty string is returned for `null`
			* and `undefined` values. The sign of `-0` is preserved.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Lang
			* @param {*} value The value to convert.
			* @returns {string} Returns the converted string.
			* @example
			*
			* _.toString(null);
			* // => ''
			*
			* _.toString(-0);
			* // => '-0'
			*
			* _.toString([1, 2, 3]);
			* // => '1,2,3'
			*/
			function toString(value) {
				return value == null ? "" : baseToString(value);
			}
			/**
			* Assigns own enumerable string keyed properties of source objects to the
			* destination object. Source objects are applied from left to right.
			* Subsequent sources overwrite property assignments of previous sources.
			*
			* **Note:** This method mutates `object` and is loosely based on
			* [`Object.assign`](https://mdn.io/Object/assign).
			*
			* @static
			* @memberOf _
			* @since 0.10.0
			* @category Object
			* @param {Object} object The destination object.
			* @param {...Object} [sources] The source objects.
			* @returns {Object} Returns `object`.
			* @see _.assignIn
			* @example
			*
			* function Foo() {
			*   this.a = 1;
			* }
			*
			* function Bar() {
			*   this.c = 3;
			* }
			*
			* Foo.prototype.b = 2;
			* Bar.prototype.d = 4;
			*
			* _.assign({ 'a': 0 }, new Foo, new Bar);
			* // => { 'a': 1, 'c': 3 }
			*/
			var assign = createAssigner(function(object, source) {
				if (isPrototype(source) || isArrayLike(source)) {
					copyObject(source, keys(source), object);
					return;
				}
				for (var key in source) {
					if (hasOwnProperty.call(source, key)) {
						assignValue(object, key, source[key]);
					}
				}
			});
			/**
			* This method is like `_.assign` except that it iterates over own and
			* inherited source properties.
			*
			* **Note:** This method mutates `object`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @alias extend
			* @category Object
			* @param {Object} object The destination object.
			* @param {...Object} [sources] The source objects.
			* @returns {Object} Returns `object`.
			* @see _.assign
			* @example
			*
			* function Foo() {
			*   this.a = 1;
			* }
			*
			* function Bar() {
			*   this.c = 3;
			* }
			*
			* Foo.prototype.b = 2;
			* Bar.prototype.d = 4;
			*
			* _.assignIn({ 'a': 0 }, new Foo, new Bar);
			* // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }
			*/
			var assignIn = createAssigner(function(object, source) {
				copyObject(source, keysIn(source), object);
			});
			/**
			* This method is like `_.assignIn` except that it accepts `customizer`
			* which is invoked to produce the assigned values. If `customizer` returns
			* `undefined`, assignment is handled by the method instead. The `customizer`
			* is invoked with five arguments: (objValue, srcValue, key, object, source).
			*
			* **Note:** This method mutates `object`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @alias extendWith
			* @category Object
			* @param {Object} object The destination object.
			* @param {...Object} sources The source objects.
			* @param {Function} [customizer] The function to customize assigned values.
			* @returns {Object} Returns `object`.
			* @see _.assignWith
			* @example
			*
			* function customizer(objValue, srcValue) {
			*   return _.isUndefined(objValue) ? srcValue : objValue;
			* }
			*
			* var defaults = _.partialRight(_.assignInWith, customizer);
			*
			* defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
			* // => { 'a': 1, 'b': 2 }
			*/
			var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {
				copyObject(source, keysIn(source), object, customizer);
			});
			/**
			* This method is like `_.assign` except that it accepts `customizer`
			* which is invoked to produce the assigned values. If `customizer` returns
			* `undefined`, assignment is handled by the method instead. The `customizer`
			* is invoked with five arguments: (objValue, srcValue, key, object, source).
			*
			* **Note:** This method mutates `object`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Object
			* @param {Object} object The destination object.
			* @param {...Object} sources The source objects.
			* @param {Function} [customizer] The function to customize assigned values.
			* @returns {Object} Returns `object`.
			* @see _.assignInWith
			* @example
			*
			* function customizer(objValue, srcValue) {
			*   return _.isUndefined(objValue) ? srcValue : objValue;
			* }
			*
			* var defaults = _.partialRight(_.assignWith, customizer);
			*
			* defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
			* // => { 'a': 1, 'b': 2 }
			*/
			var assignWith = createAssigner(function(object, source, srcIndex, customizer) {
				copyObject(source, keys(source), object, customizer);
			});
			/**
			* Creates an array of values corresponding to `paths` of `object`.
			*
			* @static
			* @memberOf _
			* @since 1.0.0
			* @category Object
			* @param {Object} object The object to iterate over.
			* @param {...(string|string[])} [paths] The property paths to pick.
			* @returns {Array} Returns the picked values.
			* @example
			*
			* var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };
			*
			* _.at(object, ['a[0].b.c', 'a[1]']);
			* // => [3, 4]
			*/
			var at = flatRest(baseAt);
			/**
			* Creates an object that inherits from the `prototype` object. If a
			* `properties` object is given, its own enumerable string keyed properties
			* are assigned to the created object.
			*
			* @static
			* @memberOf _
			* @since 2.3.0
			* @category Object
			* @param {Object} prototype The object to inherit from.
			* @param {Object} [properties] The properties to assign to the object.
			* @returns {Object} Returns the new object.
			* @example
			*
			* function Shape() {
			*   this.x = 0;
			*   this.y = 0;
			* }
			*
			* function Circle() {
			*   Shape.call(this);
			* }
			*
			* Circle.prototype = _.create(Shape.prototype, {
			*   'constructor': Circle
			* });
			*
			* var circle = new Circle;
			* circle instanceof Circle;
			* // => true
			*
			* circle instanceof Shape;
			* // => true
			*/
			function create(prototype, properties) {
				var result = baseCreate(prototype);
				return properties == null ? result : baseAssign(result, properties);
			}
			/**
			* Assigns own and inherited enumerable string keyed properties of source
			* objects to the destination object for all destination properties that
			* resolve to `undefined`. Source objects are applied from left to right.
			* Once a property is set, additional values of the same property are ignored.
			*
			* **Note:** This method mutates `object`.
			*
			* @static
			* @since 0.1.0
			* @memberOf _
			* @category Object
			* @param {Object} object The destination object.
			* @param {...Object} [sources] The source objects.
			* @returns {Object} Returns `object`.
			* @see _.defaultsDeep
			* @example
			*
			* _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
			* // => { 'a': 1, 'b': 2 }
			*/
			var defaults = baseRest(function(object, sources) {
				object = Object(object);
				var index = -1;
				var length = sources.length;
				var guard = length > 2 ? sources[2] : undefined;
				if (guard && isIterateeCall(sources[0], sources[1], guard)) {
					length = 1;
				}
				while (++index < length) {
					var source = sources[index];
					var props = keysIn(source);
					var propsIndex = -1;
					var propsLength = props.length;
					while (++propsIndex < propsLength) {
						var key = props[propsIndex];
						var value = object[key];
						if (value === undefined || eq(value, objectProto[key]) && !hasOwnProperty.call(object, key)) {
							object[key] = source[key];
						}
					}
				}
				return object;
			});
			/**
			* This method is like `_.defaults` except that it recursively assigns
			* default properties.
			*
			* **Note:** This method mutates `object`.
			*
			* @static
			* @memberOf _
			* @since 3.10.0
			* @category Object
			* @param {Object} object The destination object.
			* @param {...Object} [sources] The source objects.
			* @returns {Object} Returns `object`.
			* @see _.defaults
			* @example
			*
			* _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });
			* // => { 'a': { 'b': 2, 'c': 3 } }
			*/
			var defaultsDeep = baseRest(function(args) {
				args.push(undefined, customDefaultsMerge);
				return apply(mergeWith, undefined, args);
			});
			/**
			* This method is like `_.find` except that it returns the key of the first
			* element `predicate` returns truthy for instead of the element itself.
			*
			* @static
			* @memberOf _
			* @since 1.1.0
			* @category Object
			* @param {Object} object The object to inspect.
			* @param {Function} [predicate=_.identity] The function invoked per iteration.
			* @returns {string|undefined} Returns the key of the matched element,
			*  else `undefined`.
			* @example
			*
			* var users = {
			*   'barney':  { 'age': 36, 'active': true },
			*   'fred':    { 'age': 40, 'active': false },
			*   'pebbles': { 'age': 1,  'active': true }
			* };
			*
			* _.findKey(users, function(o) { return o.age < 40; });
			* // => 'barney' (iteration order is not guaranteed)
			*
			* // The `_.matches` iteratee shorthand.
			* _.findKey(users, { 'age': 1, 'active': true });
			* // => 'pebbles'
			*
			* // The `_.matchesProperty` iteratee shorthand.
			* _.findKey(users, ['active', false]);
			* // => 'fred'
			*
			* // The `_.property` iteratee shorthand.
			* _.findKey(users, 'active');
			* // => 'barney'
			*/
			function findKey(object, predicate) {
				return baseFindKey(object, getIteratee(predicate, 3), baseForOwn);
			}
			/**
			* This method is like `_.findKey` except that it iterates over elements of
			* a collection in the opposite order.
			*
			* @static
			* @memberOf _
			* @since 2.0.0
			* @category Object
			* @param {Object} object The object to inspect.
			* @param {Function} [predicate=_.identity] The function invoked per iteration.
			* @returns {string|undefined} Returns the key of the matched element,
			*  else `undefined`.
			* @example
			*
			* var users = {
			*   'barney':  { 'age': 36, 'active': true },
			*   'fred':    { 'age': 40, 'active': false },
			*   'pebbles': { 'age': 1,  'active': true }
			* };
			*
			* _.findLastKey(users, function(o) { return o.age < 40; });
			* // => returns 'pebbles' assuming `_.findKey` returns 'barney'
			*
			* // The `_.matches` iteratee shorthand.
			* _.findLastKey(users, { 'age': 36, 'active': true });
			* // => 'barney'
			*
			* // The `_.matchesProperty` iteratee shorthand.
			* _.findLastKey(users, ['active', false]);
			* // => 'fred'
			*
			* // The `_.property` iteratee shorthand.
			* _.findLastKey(users, 'active');
			* // => 'pebbles'
			*/
			function findLastKey(object, predicate) {
				return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight);
			}
			/**
			* Iterates over own and inherited enumerable string keyed properties of an
			* object and invokes `iteratee` for each property. The iteratee is invoked
			* with three arguments: (value, key, object). Iteratee functions may exit
			* iteration early by explicitly returning `false`.
			*
			* @static
			* @memberOf _
			* @since 0.3.0
			* @category Object
			* @param {Object} object The object to iterate over.
			* @param {Function} [iteratee=_.identity] The function invoked per iteration.
			* @returns {Object} Returns `object`.
			* @see _.forInRight
			* @example
			*
			* function Foo() {
			*   this.a = 1;
			*   this.b = 2;
			* }
			*
			* Foo.prototype.c = 3;
			*
			* _.forIn(new Foo, function(value, key) {
			*   console.log(key);
			* });
			* // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).
			*/
			function forIn(object, iteratee) {
				return object == null ? object : baseFor(object, getIteratee(iteratee, 3), keysIn);
			}
			/**
			* This method is like `_.forIn` except that it iterates over properties of
			* `object` in the opposite order.
			*
			* @static
			* @memberOf _
			* @since 2.0.0
			* @category Object
			* @param {Object} object The object to iterate over.
			* @param {Function} [iteratee=_.identity] The function invoked per iteration.
			* @returns {Object} Returns `object`.
			* @see _.forIn
			* @example
			*
			* function Foo() {
			*   this.a = 1;
			*   this.b = 2;
			* }
			*
			* Foo.prototype.c = 3;
			*
			* _.forInRight(new Foo, function(value, key) {
			*   console.log(key);
			* });
			* // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.
			*/
			function forInRight(object, iteratee) {
				return object == null ? object : baseForRight(object, getIteratee(iteratee, 3), keysIn);
			}
			/**
			* Iterates over own enumerable string keyed properties of an object and
			* invokes `iteratee` for each property. The iteratee is invoked with three
			* arguments: (value, key, object). Iteratee functions may exit iteration
			* early by explicitly returning `false`.
			*
			* @static
			* @memberOf _
			* @since 0.3.0
			* @category Object
			* @param {Object} object The object to iterate over.
			* @param {Function} [iteratee=_.identity] The function invoked per iteration.
			* @returns {Object} Returns `object`.
			* @see _.forOwnRight
			* @example
			*
			* function Foo() {
			*   this.a = 1;
			*   this.b = 2;
			* }
			*
			* Foo.prototype.c = 3;
			*
			* _.forOwn(new Foo, function(value, key) {
			*   console.log(key);
			* });
			* // => Logs 'a' then 'b' (iteration order is not guaranteed).
			*/
			function forOwn(object, iteratee) {
				return object && baseForOwn(object, getIteratee(iteratee, 3));
			}
			/**
			* This method is like `_.forOwn` except that it iterates over properties of
			* `object` in the opposite order.
			*
			* @static
			* @memberOf _
			* @since 2.0.0
			* @category Object
			* @param {Object} object The object to iterate over.
			* @param {Function} [iteratee=_.identity] The function invoked per iteration.
			* @returns {Object} Returns `object`.
			* @see _.forOwn
			* @example
			*
			* function Foo() {
			*   this.a = 1;
			*   this.b = 2;
			* }
			*
			* Foo.prototype.c = 3;
			*
			* _.forOwnRight(new Foo, function(value, key) {
			*   console.log(key);
			* });
			* // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.
			*/
			function forOwnRight(object, iteratee) {
				return object && baseForOwnRight(object, getIteratee(iteratee, 3));
			}
			/**
			* Creates an array of function property names from own enumerable properties
			* of `object`.
			*
			* @static
			* @since 0.1.0
			* @memberOf _
			* @category Object
			* @param {Object} object The object to inspect.
			* @returns {Array} Returns the function names.
			* @see _.functionsIn
			* @example
			*
			* function Foo() {
			*   this.a = _.constant('a');
			*   this.b = _.constant('b');
			* }
			*
			* Foo.prototype.c = _.constant('c');
			*
			* _.functions(new Foo);
			* // => ['a', 'b']
			*/
			function functions(object) {
				return object == null ? [] : baseFunctions(object, keys(object));
			}
			/**
			* Creates an array of function property names from own and inherited
			* enumerable properties of `object`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Object
			* @param {Object} object The object to inspect.
			* @returns {Array} Returns the function names.
			* @see _.functions
			* @example
			*
			* function Foo() {
			*   this.a = _.constant('a');
			*   this.b = _.constant('b');
			* }
			*
			* Foo.prototype.c = _.constant('c');
			*
			* _.functionsIn(new Foo);
			* // => ['a', 'b', 'c']
			*/
			function functionsIn(object) {
				return object == null ? [] : baseFunctions(object, keysIn(object));
			}
			/**
			* Gets the value at `path` of `object`. If the resolved value is
			* `undefined`, the `defaultValue` is returned in its place.
			*
			* @static
			* @memberOf _
			* @since 3.7.0
			* @category Object
			* @param {Object} object The object to query.
			* @param {Array|string} path The path of the property to get.
			* @param {*} [defaultValue] The value returned for `undefined` resolved values.
			* @returns {*} Returns the resolved value.
			* @example
			*
			* var object = { 'a': [{ 'b': { 'c': 3 } }] };
			*
			* _.get(object, 'a[0].b.c');
			* // => 3
			*
			* _.get(object, ['a', '0', 'b', 'c']);
			* // => 3
			*
			* _.get(object, 'a.b.c', 'default');
			* // => 'default'
			*/
			function get(object, path, defaultValue) {
				var result = object == null ? undefined : baseGet(object, path);
				return result === undefined ? defaultValue : result;
			}
			/**
			* Checks if `path` is a direct property of `object`.
			*
			* @static
			* @since 0.1.0
			* @memberOf _
			* @category Object
			* @param {Object} object The object to query.
			* @param {Array|string} path The path to check.
			* @returns {boolean} Returns `true` if `path` exists, else `false`.
			* @example
			*
			* var object = { 'a': { 'b': 2 } };
			* var other = _.create({ 'a': _.create({ 'b': 2 }) });
			*
			* _.has(object, 'a');
			* // => true
			*
			* _.has(object, 'a.b');
			* // => true
			*
			* _.has(object, ['a', 'b']);
			* // => true
			*
			* _.has(other, 'a');
			* // => false
			*/
			function has(object, path) {
				return object != null && hasPath(object, path, baseHas);
			}
			/**
			* Checks if `path` is a direct or inherited property of `object`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Object
			* @param {Object} object The object to query.
			* @param {Array|string} path The path to check.
			* @returns {boolean} Returns `true` if `path` exists, else `false`.
			* @example
			*
			* var object = _.create({ 'a': _.create({ 'b': 2 }) });
			*
			* _.hasIn(object, 'a');
			* // => true
			*
			* _.hasIn(object, 'a.b');
			* // => true
			*
			* _.hasIn(object, ['a', 'b']);
			* // => true
			*
			* _.hasIn(object, 'b');
			* // => false
			*/
			function hasIn(object, path) {
				return object != null && hasPath(object, path, baseHasIn);
			}
			/**
			* Creates an object composed of the inverted keys and values of `object`.
			* If `object` contains duplicate values, subsequent values overwrite
			* property assignments of previous values.
			*
			* @static
			* @memberOf _
			* @since 0.7.0
			* @category Object
			* @param {Object} object The object to invert.
			* @returns {Object} Returns the new inverted object.
			* @example
			*
			* var object = { 'a': 1, 'b': 2, 'c': 1 };
			*
			* _.invert(object);
			* // => { '1': 'c', '2': 'b' }
			*/
			var invert = createInverter(function(result, value, key) {
				if (value != null && typeof value.toString != "function") {
					value = nativeObjectToString.call(value);
				}
				result[value] = key;
			}, constant(identity));
			/**
			* This method is like `_.invert` except that the inverted object is generated
			* from the results of running each element of `object` thru `iteratee`. The
			* corresponding inverted value of each inverted key is an array of keys
			* responsible for generating the inverted value. The iteratee is invoked
			* with one argument: (value).
			*
			* @static
			* @memberOf _
			* @since 4.1.0
			* @category Object
			* @param {Object} object The object to invert.
			* @param {Function} [iteratee=_.identity] The iteratee invoked per element.
			* @returns {Object} Returns the new inverted object.
			* @example
			*
			* var object = { 'a': 1, 'b': 2, 'c': 1 };
			*
			* _.invertBy(object);
			* // => { '1': ['a', 'c'], '2': ['b'] }
			*
			* _.invertBy(object, function(value) {
			*   return 'group' + value;
			* });
			* // => { 'group1': ['a', 'c'], 'group2': ['b'] }
			*/
			var invertBy = createInverter(function(result, value, key) {
				if (value != null && typeof value.toString != "function") {
					value = nativeObjectToString.call(value);
				}
				if (hasOwnProperty.call(result, value)) {
					result[value].push(key);
				} else {
					result[value] = [key];
				}
			}, getIteratee);
			/**
			* Invokes the method at `path` of `object`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Object
			* @param {Object} object The object to query.
			* @param {Array|string} path The path of the method to invoke.
			* @param {...*} [args] The arguments to invoke the method with.
			* @returns {*} Returns the result of the invoked method.
			* @example
			*
			* var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };
			*
			* _.invoke(object, 'a[0].b.c.slice', 1, 3);
			* // => [2, 3]
			*/
			var invoke = baseRest(baseInvoke);
			/**
			* Creates an array of the own enumerable property names of `object`.
			*
			* **Note:** Non-object values are coerced to objects. See the
			* [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
			* for more details.
			*
			* @static
			* @since 0.1.0
			* @memberOf _
			* @category Object
			* @param {Object} object The object to query.
			* @returns {Array} Returns the array of property names.
			* @example
			*
			* function Foo() {
			*   this.a = 1;
			*   this.b = 2;
			* }
			*
			* Foo.prototype.c = 3;
			*
			* _.keys(new Foo);
			* // => ['a', 'b'] (iteration order is not guaranteed)
			*
			* _.keys('hi');
			* // => ['0', '1']
			*/
			function keys(object) {
				return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
			}
			/**
			* Creates an array of the own and inherited enumerable property names of `object`.
			*
			* **Note:** Non-object values are coerced to objects.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Object
			* @param {Object} object The object to query.
			* @returns {Array} Returns the array of property names.
			* @example
			*
			* function Foo() {
			*   this.a = 1;
			*   this.b = 2;
			* }
			*
			* Foo.prototype.c = 3;
			*
			* _.keysIn(new Foo);
			* // => ['a', 'b', 'c'] (iteration order is not guaranteed)
			*/
			function keysIn(object) {
				return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
			}
			/**
			* The opposite of `_.mapValues`; this method creates an object with the
			* same values as `object` and keys generated by running each own enumerable
			* string keyed property of `object` thru `iteratee`. The iteratee is invoked
			* with three arguments: (value, key, object).
			*
			* @static
			* @memberOf _
			* @since 3.8.0
			* @category Object
			* @param {Object} object The object to iterate over.
			* @param {Function} [iteratee=_.identity] The function invoked per iteration.
			* @returns {Object} Returns the new mapped object.
			* @see _.mapValues
			* @example
			*
			* _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {
			*   return key + value;
			* });
			* // => { 'a1': 1, 'b2': 2 }
			*/
			function mapKeys(object, iteratee) {
				var result = {};
				iteratee = getIteratee(iteratee, 3);
				baseForOwn(object, function(value, key, object) {
					baseAssignValue(result, iteratee(value, key, object), value);
				});
				return result;
			}
			/**
			* Creates an object with the same keys as `object` and values generated
			* by running each own enumerable string keyed property of `object` thru
			* `iteratee`. The iteratee is invoked with three arguments:
			* (value, key, object).
			*
			* @static
			* @memberOf _
			* @since 2.4.0
			* @category Object
			* @param {Object} object The object to iterate over.
			* @param {Function} [iteratee=_.identity] The function invoked per iteration.
			* @returns {Object} Returns the new mapped object.
			* @see _.mapKeys
			* @example
			*
			* var users = {
			*   'fred':    { 'user': 'fred',    'age': 40 },
			*   'pebbles': { 'user': 'pebbles', 'age': 1 }
			* };
			*
			* _.mapValues(users, function(o) { return o.age; });
			* // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)
			*
			* // The `_.property` iteratee shorthand.
			* _.mapValues(users, 'age');
			* // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)
			*/
			function mapValues(object, iteratee) {
				var result = {};
				iteratee = getIteratee(iteratee, 3);
				baseForOwn(object, function(value, key, object) {
					baseAssignValue(result, key, iteratee(value, key, object));
				});
				return result;
			}
			/**
			* This method is like `_.assign` except that it recursively merges own and
			* inherited enumerable string keyed properties of source objects into the
			* destination object. Source properties that resolve to `undefined` are
			* skipped if a destination value exists. Array and plain object properties
			* are merged recursively. Other objects and value types are overridden by
			* assignment. Source objects are applied from left to right. Subsequent
			* sources overwrite property assignments of previous sources.
			*
			* **Note:** This method mutates `object`.
			*
			* @static
			* @memberOf _
			* @since 0.5.0
			* @category Object
			* @param {Object} object The destination object.
			* @param {...Object} [sources] The source objects.
			* @returns {Object} Returns `object`.
			* @example
			*
			* var object = {
			*   'a': [{ 'b': 2 }, { 'd': 4 }]
			* };
			*
			* var other = {
			*   'a': [{ 'c': 3 }, { 'e': 5 }]
			* };
			*
			* _.merge(object, other);
			* // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }
			*/
			var merge = createAssigner(function(object, source, srcIndex) {
				baseMerge(object, source, srcIndex);
			});
			/**
			* This method is like `_.merge` except that it accepts `customizer` which
			* is invoked to produce the merged values of the destination and source
			* properties. If `customizer` returns `undefined`, merging is handled by the
			* method instead. The `customizer` is invoked with six arguments:
			* (objValue, srcValue, key, object, source, stack).
			*
			* **Note:** This method mutates `object`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Object
			* @param {Object} object The destination object.
			* @param {...Object} sources The source objects.
			* @param {Function} customizer The function to customize assigned values.
			* @returns {Object} Returns `object`.
			* @example
			*
			* function customizer(objValue, srcValue) {
			*   if (_.isArray(objValue)) {
			*     return objValue.concat(srcValue);
			*   }
			* }
			*
			* var object = { 'a': [1], 'b': [2] };
			* var other = { 'a': [3], 'b': [4] };
			*
			* _.mergeWith(object, other, customizer);
			* // => { 'a': [1, 3], 'b': [2, 4] }
			*/
			var mergeWith = createAssigner(function(object, source, srcIndex, customizer) {
				baseMerge(object, source, srcIndex, customizer);
			});
			/**
			* The opposite of `_.pick`; this method creates an object composed of the
			* own and inherited enumerable property paths of `object` that are not omitted.
			*
			* **Note:** This method is considerably slower than `_.pick`.
			*
			* @static
			* @since 0.1.0
			* @memberOf _
			* @category Object
			* @param {Object} object The source object.
			* @param {...(string|string[])} [paths] The property paths to omit.
			* @returns {Object} Returns the new object.
			* @example
			*
			* var object = { 'a': 1, 'b': '2', 'c': 3 };
			*
			* _.omit(object, ['a', 'c']);
			* // => { 'b': '2' }
			*/
			var omit = flatRest(function(object, paths) {
				var result = {};
				if (object == null) {
					return result;
				}
				var isDeep = false;
				paths = arrayMap(paths, function(path) {
					path = castPath(path, object);
					isDeep || (isDeep = path.length > 1);
					return path;
				});
				copyObject(object, getAllKeysIn(object), result);
				if (isDeep) {
					result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);
				}
				var length = paths.length;
				while (length--) {
					baseUnset(result, paths[length]);
				}
				return result;
			});
			/**
			* The opposite of `_.pickBy`; this method creates an object composed of
			* the own and inherited enumerable string keyed properties of `object` that
			* `predicate` doesn't return truthy for. The predicate is invoked with two
			* arguments: (value, key).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Object
			* @param {Object} object The source object.
			* @param {Function} [predicate=_.identity] The function invoked per property.
			* @returns {Object} Returns the new object.
			* @example
			*
			* var object = { 'a': 1, 'b': '2', 'c': 3 };
			*
			* _.omitBy(object, _.isNumber);
			* // => { 'b': '2' }
			*/
			function omitBy(object, predicate) {
				return pickBy(object, negate(getIteratee(predicate)));
			}
			/**
			* Creates an object composed of the picked `object` properties.
			*
			* @static
			* @since 0.1.0
			* @memberOf _
			* @category Object
			* @param {Object} object The source object.
			* @param {...(string|string[])} [paths] The property paths to pick.
			* @returns {Object} Returns the new object.
			* @example
			*
			* var object = { 'a': 1, 'b': '2', 'c': 3 };
			*
			* _.pick(object, ['a', 'c']);
			* // => { 'a': 1, 'c': 3 }
			*/
			var pick = flatRest(function(object, paths) {
				return object == null ? {} : basePick(object, paths);
			});
			/**
			* Creates an object composed of the `object` properties `predicate` returns
			* truthy for. The predicate is invoked with two arguments: (value, key).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Object
			* @param {Object} object The source object.
			* @param {Function} [predicate=_.identity] The function invoked per property.
			* @returns {Object} Returns the new object.
			* @example
			*
			* var object = { 'a': 1, 'b': '2', 'c': 3 };
			*
			* _.pickBy(object, _.isNumber);
			* // => { 'a': 1, 'c': 3 }
			*/
			function pickBy(object, predicate) {
				if (object == null) {
					return {};
				}
				var props = arrayMap(getAllKeysIn(object), function(prop) {
					return [prop];
				});
				predicate = getIteratee(predicate);
				return basePickBy(object, props, function(value, path) {
					return predicate(value, path[0]);
				});
			}
			/**
			* This method is like `_.get` except that if the resolved value is a
			* function it's invoked with the `this` binding of its parent object and
			* its result is returned.
			*
			* @static
			* @since 0.1.0
			* @memberOf _
			* @category Object
			* @param {Object} object The object to query.
			* @param {Array|string} path The path of the property to resolve.
			* @param {*} [defaultValue] The value returned for `undefined` resolved values.
			* @returns {*} Returns the resolved value.
			* @example
			*
			* var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };
			*
			* _.result(object, 'a[0].b.c1');
			* // => 3
			*
			* _.result(object, 'a[0].b.c2');
			* // => 4
			*
			* _.result(object, 'a[0].b.c3', 'default');
			* // => 'default'
			*
			* _.result(object, 'a[0].b.c3', _.constant('default'));
			* // => 'default'
			*/
			function result(object, path, defaultValue) {
				path = castPath(path, object);
				var index = -1, length = path.length;
				if (!length) {
					length = 1;
					object = undefined;
				}
				while (++index < length) {
					var value = object == null ? undefined : object[toKey(path[index])];
					if (value === undefined) {
						index = length;
						value = defaultValue;
					}
					object = isFunction(value) ? value.call(object) : value;
				}
				return object;
			}
			/**
			* Sets the value at `path` of `object`. If a portion of `path` doesn't exist,
			* it's created. Arrays are created for missing index properties while objects
			* are created for all other missing properties. Use `_.setWith` to customize
			* `path` creation.
			*
			* **Note:** This method mutates `object`.
			*
			* @static
			* @memberOf _
			* @since 3.7.0
			* @category Object
			* @param {Object} object The object to modify.
			* @param {Array|string} path The path of the property to set.
			* @param {*} value The value to set.
			* @returns {Object} Returns `object`.
			* @example
			*
			* var object = { 'a': [{ 'b': { 'c': 3 } }] };
			*
			* _.set(object, 'a[0].b.c', 4);
			* console.log(object.a[0].b.c);
			* // => 4
			*
			* _.set(object, ['x', '0', 'y', 'z'], 5);
			* console.log(object.x[0].y.z);
			* // => 5
			*/
			function set(object, path, value) {
				return object == null ? object : baseSet(object, path, value);
			}
			/**
			* This method is like `_.set` except that it accepts `customizer` which is
			* invoked to produce the objects of `path`.  If `customizer` returns `undefined`
			* path creation is handled by the method instead. The `customizer` is invoked
			* with three arguments: (nsValue, key, nsObject).
			*
			* **Note:** This method mutates `object`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Object
			* @param {Object} object The object to modify.
			* @param {Array|string} path The path of the property to set.
			* @param {*} value The value to set.
			* @param {Function} [customizer] The function to customize assigned values.
			* @returns {Object} Returns `object`.
			* @example
			*
			* var object = {};
			*
			* _.setWith(object, '[0][1]', 'a', Object);
			* // => { '0': { '1': 'a' } }
			*/
			function setWith(object, path, value, customizer) {
				customizer = typeof customizer == "function" ? customizer : undefined;
				return object == null ? object : baseSet(object, path, value, customizer);
			}
			/**
			* Creates an array of own enumerable string keyed-value pairs for `object`
			* which can be consumed by `_.fromPairs`. If `object` is a map or set, its
			* entries are returned.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @alias entries
			* @category Object
			* @param {Object} object The object to query.
			* @returns {Array} Returns the key-value pairs.
			* @example
			*
			* function Foo() {
			*   this.a = 1;
			*   this.b = 2;
			* }
			*
			* Foo.prototype.c = 3;
			*
			* _.toPairs(new Foo);
			* // => [['a', 1], ['b', 2]] (iteration order is not guaranteed)
			*/
			var toPairs = createToPairs(keys);
			/**
			* Creates an array of own and inherited enumerable string keyed-value pairs
			* for `object` which can be consumed by `_.fromPairs`. If `object` is a map
			* or set, its entries are returned.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @alias entriesIn
			* @category Object
			* @param {Object} object The object to query.
			* @returns {Array} Returns the key-value pairs.
			* @example
			*
			* function Foo() {
			*   this.a = 1;
			*   this.b = 2;
			* }
			*
			* Foo.prototype.c = 3;
			*
			* _.toPairsIn(new Foo);
			* // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed)
			*/
			var toPairsIn = createToPairs(keysIn);
			/**
			* An alternative to `_.reduce`; this method transforms `object` to a new
			* `accumulator` object which is the result of running each of its own
			* enumerable string keyed properties thru `iteratee`, with each invocation
			* potentially mutating the `accumulator` object. If `accumulator` is not
			* provided, a new object with the same `[[Prototype]]` will be used. The
			* iteratee is invoked with four arguments: (accumulator, value, key, object).
			* Iteratee functions may exit iteration early by explicitly returning `false`.
			*
			* @static
			* @memberOf _
			* @since 1.3.0
			* @category Object
			* @param {Object} object The object to iterate over.
			* @param {Function} [iteratee=_.identity] The function invoked per iteration.
			* @param {*} [accumulator] The custom accumulator value.
			* @returns {*} Returns the accumulated value.
			* @example
			*
			* _.transform([2, 3, 4], function(result, n) {
			*   result.push(n *= n);
			*   return n % 2 == 0;
			* }, []);
			* // => [4, 9]
			*
			* _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {
			*   (result[value] || (result[value] = [])).push(key);
			* }, {});
			* // => { '1': ['a', 'c'], '2': ['b'] }
			*/
			function transform(object, iteratee, accumulator) {
				var isArr = isArray(object), isArrLike = isArr || isBuffer(object) || isTypedArray(object);
				iteratee = getIteratee(iteratee, 4);
				if (accumulator == null) {
					var Ctor = object && object.constructor;
					if (isArrLike) {
						accumulator = isArr ? new Ctor() : [];
					} else if (isObject(object)) {
						accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};
					} else {
						accumulator = {};
					}
				}
				(isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) {
					return iteratee(accumulator, value, index, object);
				});
				return accumulator;
			}
			/**
			* Removes the property at `path` of `object`.
			*
			* **Note:** This method mutates `object`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Object
			* @param {Object} object The object to modify.
			* @param {Array|string} path The path of the property to unset.
			* @returns {boolean} Returns `true` if the property is deleted, else `false`.
			* @example
			*
			* var object = { 'a': [{ 'b': { 'c': 7 } }] };
			* _.unset(object, 'a[0].b.c');
			* // => true
			*
			* console.log(object);
			* // => { 'a': [{ 'b': {} }] };
			*
			* _.unset(object, ['a', '0', 'b', 'c']);
			* // => true
			*
			* console.log(object);
			* // => { 'a': [{ 'b': {} }] };
			*/
			function unset(object, path) {
				return object == null ? true : baseUnset(object, path);
			}
			/**
			* This method is like `_.set` except that accepts `updater` to produce the
			* value to set. Use `_.updateWith` to customize `path` creation. The `updater`
			* is invoked with one argument: (value).
			*
			* **Note:** This method mutates `object`.
			*
			* @static
			* @memberOf _
			* @since 4.6.0
			* @category Object
			* @param {Object} object The object to modify.
			* @param {Array|string} path The path of the property to set.
			* @param {Function} updater The function to produce the updated value.
			* @returns {Object} Returns `object`.
			* @example
			*
			* var object = { 'a': [{ 'b': { 'c': 3 } }] };
			*
			* _.update(object, 'a[0].b.c', function(n) { return n * n; });
			* console.log(object.a[0].b.c);
			* // => 9
			*
			* _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; });
			* console.log(object.x[0].y.z);
			* // => 0
			*/
			function update(object, path, updater) {
				return object == null ? object : baseUpdate(object, path, castFunction(updater));
			}
			/**
			* This method is like `_.update` except that it accepts `customizer` which is
			* invoked to produce the objects of `path`.  If `customizer` returns `undefined`
			* path creation is handled by the method instead. The `customizer` is invoked
			* with three arguments: (nsValue, key, nsObject).
			*
			* **Note:** This method mutates `object`.
			*
			* @static
			* @memberOf _
			* @since 4.6.0
			* @category Object
			* @param {Object} object The object to modify.
			* @param {Array|string} path The path of the property to set.
			* @param {Function} updater The function to produce the updated value.
			* @param {Function} [customizer] The function to customize assigned values.
			* @returns {Object} Returns `object`.
			* @example
			*
			* var object = {};
			*
			* _.updateWith(object, '[0][1]', _.constant('a'), Object);
			* // => { '0': { '1': 'a' } }
			*/
			function updateWith(object, path, updater, customizer) {
				customizer = typeof customizer == "function" ? customizer : undefined;
				return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);
			}
			/**
			* Creates an array of the own enumerable string keyed property values of `object`.
			*
			* **Note:** Non-object values are coerced to objects.
			*
			* @static
			* @since 0.1.0
			* @memberOf _
			* @category Object
			* @param {Object} object The object to query.
			* @returns {Array} Returns the array of property values.
			* @example
			*
			* function Foo() {
			*   this.a = 1;
			*   this.b = 2;
			* }
			*
			* Foo.prototype.c = 3;
			*
			* _.values(new Foo);
			* // => [1, 2] (iteration order is not guaranteed)
			*
			* _.values('hi');
			* // => ['h', 'i']
			*/
			function values(object) {
				return object == null ? [] : baseValues(object, keys(object));
			}
			/**
			* Creates an array of the own and inherited enumerable string keyed property
			* values of `object`.
			*
			* **Note:** Non-object values are coerced to objects.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Object
			* @param {Object} object The object to query.
			* @returns {Array} Returns the array of property values.
			* @example
			*
			* function Foo() {
			*   this.a = 1;
			*   this.b = 2;
			* }
			*
			* Foo.prototype.c = 3;
			*
			* _.valuesIn(new Foo);
			* // => [1, 2, 3] (iteration order is not guaranteed)
			*/
			function valuesIn(object) {
				return object == null ? [] : baseValues(object, keysIn(object));
			}
			/**
			* Clamps `number` within the inclusive `lower` and `upper` bounds.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Number
			* @param {number} number The number to clamp.
			* @param {number} [lower] The lower bound.
			* @param {number} upper The upper bound.
			* @returns {number} Returns the clamped number.
			* @example
			*
			* _.clamp(-10, -5, 5);
			* // => -5
			*
			* _.clamp(10, -5, 5);
			* // => 5
			*/
			function clamp(number, lower, upper) {
				if (upper === undefined) {
					upper = lower;
					lower = undefined;
				}
				if (upper !== undefined) {
					upper = toNumber(upper);
					upper = upper === upper ? upper : 0;
				}
				if (lower !== undefined) {
					lower = toNumber(lower);
					lower = lower === lower ? lower : 0;
				}
				return baseClamp(toNumber(number), lower, upper);
			}
			/**
			* Checks if `n` is between `start` and up to, but not including, `end`. If
			* `end` is not specified, it's set to `start` with `start` then set to `0`.
			* If `start` is greater than `end` the params are swapped to support
			* negative ranges.
			*
			* @static
			* @memberOf _
			* @since 3.3.0
			* @category Number
			* @param {number} number The number to check.
			* @param {number} [start=0] The start of the range.
			* @param {number} end The end of the range.
			* @returns {boolean} Returns `true` if `number` is in the range, else `false`.
			* @see _.range, _.rangeRight
			* @example
			*
			* _.inRange(3, 2, 4);
			* // => true
			*
			* _.inRange(4, 8);
			* // => true
			*
			* _.inRange(4, 2);
			* // => false
			*
			* _.inRange(2, 2);
			* // => false
			*
			* _.inRange(1.2, 2);
			* // => true
			*
			* _.inRange(5.2, 4);
			* // => false
			*
			* _.inRange(-3, -2, -6);
			* // => true
			*/
			function inRange(number, start, end) {
				start = toFinite(start);
				if (end === undefined) {
					end = start;
					start = 0;
				} else {
					end = toFinite(end);
				}
				number = toNumber(number);
				return baseInRange(number, start, end);
			}
			/**
			* Produces a random number between the inclusive `lower` and `upper` bounds.
			* If only one argument is provided a number between `0` and the given number
			* is returned. If `floating` is `true`, or either `lower` or `upper` are
			* floats, a floating-point number is returned instead of an integer.
			*
			* **Note:** JavaScript follows the IEEE-754 standard for resolving
			* floating-point values which can produce unexpected results.
			*
			* @static
			* @memberOf _
			* @since 0.7.0
			* @category Number
			* @param {number} [lower=0] The lower bound.
			* @param {number} [upper=1] The upper bound.
			* @param {boolean} [floating] Specify returning a floating-point number.
			* @returns {number} Returns the random number.
			* @example
			*
			* _.random(0, 5);
			* // => an integer between 0 and 5
			*
			* _.random(5);
			* // => also an integer between 0 and 5
			*
			* _.random(5, true);
			* // => a floating-point number between 0 and 5
			*
			* _.random(1.2, 5.2);
			* // => a floating-point number between 1.2 and 5.2
			*/
			function random(lower, upper, floating) {
				if (floating && typeof floating != "boolean" && isIterateeCall(lower, upper, floating)) {
					upper = floating = undefined;
				}
				if (floating === undefined) {
					if (typeof upper == "boolean") {
						floating = upper;
						upper = undefined;
					} else if (typeof lower == "boolean") {
						floating = lower;
						lower = undefined;
					}
				}
				if (lower === undefined && upper === undefined) {
					lower = 0;
					upper = 1;
				} else {
					lower = toFinite(lower);
					if (upper === undefined) {
						upper = lower;
						lower = 0;
					} else {
						upper = toFinite(upper);
					}
				}
				if (lower > upper) {
					var temp = lower;
					lower = upper;
					upper = temp;
				}
				if (floating || lower % 1 || upper % 1) {
					var rand = nativeRandom();
					return nativeMin(lower + rand * (upper - lower + freeParseFloat("1e-" + ((rand + "").length - 1))), upper);
				}
				return baseRandom(lower, upper);
			}
			/**
			* Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category String
			* @param {string} [string=''] The string to convert.
			* @returns {string} Returns the camel cased string.
			* @example
			*
			* _.camelCase('Foo Bar');
			* // => 'fooBar'
			*
			* _.camelCase('--foo-bar--');
			* // => 'fooBar'
			*
			* _.camelCase('__FOO_BAR__');
			* // => 'fooBar'
			*/
			var camelCase = createCompounder(function(result, word, index) {
				word = word.toLowerCase();
				return result + (index ? capitalize(word) : word);
			});
			/**
			* Converts the first character of `string` to upper case and the remaining
			* to lower case.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category String
			* @param {string} [string=''] The string to capitalize.
			* @returns {string} Returns the capitalized string.
			* @example
			*
			* _.capitalize('FRED');
			* // => 'Fred'
			*/
			function capitalize(string) {
				return upperFirst(toString(string).toLowerCase());
			}
			/**
			* Deburrs `string` by converting
			* [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)
			* and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)
			* letters to basic Latin letters and removing
			* [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category String
			* @param {string} [string=''] The string to deburr.
			* @returns {string} Returns the deburred string.
			* @example
			*
			* _.deburr('déjà vu');
			* // => 'deja vu'
			*/
			function deburr(string) {
				string = toString(string);
				return string && string.replace(reLatin, deburrLetter).replace(reComboMark, "");
			}
			/**
			* Checks if `string` ends with the given target string.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category String
			* @param {string} [string=''] The string to inspect.
			* @param {string} [target] The string to search for.
			* @param {number} [position=string.length] The position to search up to.
			* @returns {boolean} Returns `true` if `string` ends with `target`,
			*  else `false`.
			* @example
			*
			* _.endsWith('abc', 'c');
			* // => true
			*
			* _.endsWith('abc', 'b');
			* // => false
			*
			* _.endsWith('abc', 'b', 2);
			* // => true
			*/
			function endsWith(string, target, position) {
				string = toString(string);
				target = baseToString(target);
				var length = string.length;
				position = position === undefined ? length : baseClamp(toInteger(position), 0, length);
				var end = position;
				position -= target.length;
				return position >= 0 && string.slice(position, end) == target;
			}
			/**
			* Converts the characters "&", "<", ">", '"', and "'" in `string` to their
			* corresponding HTML entities.
			*
			* **Note:** No other characters are escaped. To escape additional
			* characters use a third-party library like [_he_](https://mths.be/he).
			*
			* Though the ">" character is escaped for symmetry, characters like
			* ">" and "/" don't need escaping in HTML and have no special meaning
			* unless they're part of a tag or unquoted attribute value. See
			* [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)
			* (under "semi-related fun fact") for more details.
			*
			* When working with HTML you should always
			* [quote attribute values](http://wonko.com/post/html-escaping) to reduce
			* XSS vectors.
			*
			* @static
			* @since 0.1.0
			* @memberOf _
			* @category String
			* @param {string} [string=''] The string to escape.
			* @returns {string} Returns the escaped string.
			* @example
			*
			* _.escape('fred, barney, & pebbles');
			* // => 'fred, barney, &amp; pebbles'
			*/
			function escape(string) {
				string = toString(string);
				return string && reHasUnescapedHtml.test(string) ? string.replace(reUnescapedHtml, escapeHtmlChar) : string;
			}
			/**
			* Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+",
			* "?", "(", ")", "[", "]", "{", "}", and "|" in `string`.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category String
			* @param {string} [string=''] The string to escape.
			* @returns {string} Returns the escaped string.
			* @example
			*
			* _.escapeRegExp('[lodash](https://lodash.com/)');
			* // => '\[lodash\]\(https://lodash\.com/\)'
			*/
			function escapeRegExp(string) {
				string = toString(string);
				return string && reHasRegExpChar.test(string) ? string.replace(reRegExpChar, "\\$&") : string;
			}
			/**
			* Converts `string` to
			* [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category String
			* @param {string} [string=''] The string to convert.
			* @returns {string} Returns the kebab cased string.
			* @example
			*
			* _.kebabCase('Foo Bar');
			* // => 'foo-bar'
			*
			* _.kebabCase('fooBar');
			* // => 'foo-bar'
			*
			* _.kebabCase('__FOO_BAR__');
			* // => 'foo-bar'
			*/
			var kebabCase = createCompounder(function(result, word, index) {
				return result + (index ? "-" : "") + word.toLowerCase();
			});
			/**
			* Converts `string`, as space separated words, to lower case.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category String
			* @param {string} [string=''] The string to convert.
			* @returns {string} Returns the lower cased string.
			* @example
			*
			* _.lowerCase('--Foo-Bar--');
			* // => 'foo bar'
			*
			* _.lowerCase('fooBar');
			* // => 'foo bar'
			*
			* _.lowerCase('__FOO_BAR__');
			* // => 'foo bar'
			*/
			var lowerCase = createCompounder(function(result, word, index) {
				return result + (index ? " " : "") + word.toLowerCase();
			});
			/**
			* Converts the first character of `string` to lower case.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category String
			* @param {string} [string=''] The string to convert.
			* @returns {string} Returns the converted string.
			* @example
			*
			* _.lowerFirst('Fred');
			* // => 'fred'
			*
			* _.lowerFirst('FRED');
			* // => 'fRED'
			*/
			var lowerFirst = createCaseFirst("toLowerCase");
			/**
			* Pads `string` on the left and right sides if it's shorter than `length`.
			* Padding characters are truncated if they can't be evenly divided by `length`.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category String
			* @param {string} [string=''] The string to pad.
			* @param {number} [length=0] The padding length.
			* @param {string} [chars=' '] The string used as padding.
			* @returns {string} Returns the padded string.
			* @example
			*
			* _.pad('abc', 8);
			* // => '  abc   '
			*
			* _.pad('abc', 8, '_-');
			* // => '_-abc_-_'
			*
			* _.pad('abc', 3);
			* // => 'abc'
			*/
			function pad(string, length, chars) {
				string = toString(string);
				length = toInteger(length);
				var strLength = length ? stringSize(string) : 0;
				if (!length || strLength >= length) {
					return string;
				}
				var mid = (length - strLength) / 2;
				return createPadding(nativeFloor(mid), chars) + string + createPadding(nativeCeil(mid), chars);
			}
			/**
			* Pads `string` on the right side if it's shorter than `length`. Padding
			* characters are truncated if they exceed `length`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category String
			* @param {string} [string=''] The string to pad.
			* @param {number} [length=0] The padding length.
			* @param {string} [chars=' '] The string used as padding.
			* @returns {string} Returns the padded string.
			* @example
			*
			* _.padEnd('abc', 6);
			* // => 'abc   '
			*
			* _.padEnd('abc', 6, '_-');
			* // => 'abc_-_'
			*
			* _.padEnd('abc', 3);
			* // => 'abc'
			*/
			function padEnd(string, length, chars) {
				string = toString(string);
				length = toInteger(length);
				var strLength = length ? stringSize(string) : 0;
				return length && strLength < length ? string + createPadding(length - strLength, chars) : string;
			}
			/**
			* Pads `string` on the left side if it's shorter than `length`. Padding
			* characters are truncated if they exceed `length`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category String
			* @param {string} [string=''] The string to pad.
			* @param {number} [length=0] The padding length.
			* @param {string} [chars=' '] The string used as padding.
			* @returns {string} Returns the padded string.
			* @example
			*
			* _.padStart('abc', 6);
			* // => '   abc'
			*
			* _.padStart('abc', 6, '_-');
			* // => '_-_abc'
			*
			* _.padStart('abc', 3);
			* // => 'abc'
			*/
			function padStart(string, length, chars) {
				string = toString(string);
				length = toInteger(length);
				var strLength = length ? stringSize(string) : 0;
				return length && strLength < length ? createPadding(length - strLength, chars) + string : string;
			}
			/**
			* Converts `string` to an integer of the specified radix. If `radix` is
			* `undefined` or `0`, a `radix` of `10` is used unless `value` is a
			* hexadecimal, in which case a `radix` of `16` is used.
			*
			* **Note:** This method aligns with the
			* [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.
			*
			* @static
			* @memberOf _
			* @since 1.1.0
			* @category String
			* @param {string} string The string to convert.
			* @param {number} [radix=10] The radix to interpret `value` by.
			* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
			* @returns {number} Returns the converted integer.
			* @example
			*
			* _.parseInt('08');
			* // => 8
			*
			* _.map(['6', '08', '10'], _.parseInt);
			* // => [6, 8, 10]
			*/
			function parseInt(string, radix, guard) {
				if (guard || radix == null) {
					radix = 0;
				} else if (radix) {
					radix = +radix;
				}
				return nativeParseInt(toString(string).replace(reTrimStart, ""), radix || 0);
			}
			/**
			* Repeats the given string `n` times.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category String
			* @param {string} [string=''] The string to repeat.
			* @param {number} [n=1] The number of times to repeat the string.
			* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
			* @returns {string} Returns the repeated string.
			* @example
			*
			* _.repeat('*', 3);
			* // => '***'
			*
			* _.repeat('abc', 2);
			* // => 'abcabc'
			*
			* _.repeat('abc', 0);
			* // => ''
			*/
			function repeat(string, n, guard) {
				if (guard ? isIterateeCall(string, n, guard) : n === undefined) {
					n = 1;
				} else {
					n = toInteger(n);
				}
				return baseRepeat(toString(string), n);
			}
			/**
			* Replaces matches for `pattern` in `string` with `replacement`.
			*
			* **Note:** This method is based on
			* [`String#replace`](https://mdn.io/String/replace).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category String
			* @param {string} [string=''] The string to modify.
			* @param {RegExp|string} pattern The pattern to replace.
			* @param {Function|string} replacement The match replacement.
			* @returns {string} Returns the modified string.
			* @example
			*
			* _.replace('Hi Fred', 'Fred', 'Barney');
			* // => 'Hi Barney'
			*/
			function replace() {
				var args = arguments, string = toString(args[0]);
				return args.length < 3 ? string : string.replace(args[1], args[2]);
			}
			/**
			* Converts `string` to
			* [snake case](https://en.wikipedia.org/wiki/Snake_case).
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category String
			* @param {string} [string=''] The string to convert.
			* @returns {string} Returns the snake cased string.
			* @example
			*
			* _.snakeCase('Foo Bar');
			* // => 'foo_bar'
			*
			* _.snakeCase('fooBar');
			* // => 'foo_bar'
			*
			* _.snakeCase('--FOO-BAR--');
			* // => 'foo_bar'
			*/
			var snakeCase = createCompounder(function(result, word, index) {
				return result + (index ? "_" : "") + word.toLowerCase();
			});
			/**
			* Splits `string` by `separator`.
			*
			* **Note:** This method is based on
			* [`String#split`](https://mdn.io/String/split).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category String
			* @param {string} [string=''] The string to split.
			* @param {RegExp|string} separator The separator pattern to split by.
			* @param {number} [limit] The length to truncate results to.
			* @returns {Array} Returns the string segments.
			* @example
			*
			* _.split('a-b-c', '-', 2);
			* // => ['a', 'b']
			*/
			function split(string, separator, limit) {
				if (limit && typeof limit != "number" && isIterateeCall(string, separator, limit)) {
					separator = limit = undefined;
				}
				limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;
				if (!limit) {
					return [];
				}
				string = toString(string);
				if (string && (typeof separator == "string" || separator != null && !isRegExp(separator))) {
					separator = baseToString(separator);
					if (!separator && hasUnicode(string)) {
						return castSlice(stringToArray(string), 0, limit);
					}
				}
				return string.split(separator, limit);
			}
			/**
			* Converts `string` to
			* [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).
			*
			* @static
			* @memberOf _
			* @since 3.1.0
			* @category String
			* @param {string} [string=''] The string to convert.
			* @returns {string} Returns the start cased string.
			* @example
			*
			* _.startCase('--foo-bar--');
			* // => 'Foo Bar'
			*
			* _.startCase('fooBar');
			* // => 'Foo Bar'
			*
			* _.startCase('__FOO_BAR__');
			* // => 'FOO BAR'
			*/
			var startCase = createCompounder(function(result, word, index) {
				return result + (index ? " " : "") + upperFirst(word);
			});
			/**
			* Checks if `string` starts with the given target string.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category String
			* @param {string} [string=''] The string to inspect.
			* @param {string} [target] The string to search for.
			* @param {number} [position=0] The position to search from.
			* @returns {boolean} Returns `true` if `string` starts with `target`,
			*  else `false`.
			* @example
			*
			* _.startsWith('abc', 'a');
			* // => true
			*
			* _.startsWith('abc', 'b');
			* // => false
			*
			* _.startsWith('abc', 'b', 1);
			* // => true
			*/
			function startsWith(string, target, position) {
				string = toString(string);
				position = position == null ? 0 : baseClamp(toInteger(position), 0, string.length);
				target = baseToString(target);
				return string.slice(position, position + target.length) == target;
			}
			/**
			* Creates a compiled template function that can interpolate data properties
			* in "interpolate" delimiters, HTML-escape interpolated data properties in
			* "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data
			* properties may be accessed as free variables in the template. If a setting
			* object is given, it takes precedence over `_.templateSettings` values.
			*
			* **Note:** In the development build `_.template` utilizes
			* [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)
			* for easier debugging.
			*
			* For more information on precompiling templates see
			* [lodash's custom builds documentation](https://lodash.com/custom-builds).
			*
			* For more information on Chrome extension sandboxes see
			* [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).
			*
			* @static
			* @since 0.1.0
			* @memberOf _
			* @category String
			* @param {string} [string=''] The template string.
			* @param {Object} [options={}] The options object.
			* @param {RegExp} [options.escape=_.templateSettings.escape]
			*  The HTML "escape" delimiter.
			* @param {RegExp} [options.evaluate=_.templateSettings.evaluate]
			*  The "evaluate" delimiter.
			* @param {Object} [options.imports=_.templateSettings.imports]
			*  An object to import into the template as free variables.
			* @param {RegExp} [options.interpolate=_.templateSettings.interpolate]
			*  The "interpolate" delimiter.
			* @param {string} [options.sourceURL='lodash.templateSources[n]']
			*  The sourceURL of the compiled template.
			* @param {string} [options.variable='obj']
			*  The data object variable name.
			* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
			* @returns {Function} Returns the compiled template function.
			* @example
			*
			* // Use the "interpolate" delimiter to create a compiled template.
			* var compiled = _.template('hello <%= user %>!');
			* compiled({ 'user': 'fred' });
			* // => 'hello fred!'
			*
			* // Use the HTML "escape" delimiter to escape data property values.
			* var compiled = _.template('<b><%- value %></b>');
			* compiled({ 'value': '<script>' });
			* // => '<b>&lt;script&gt;</b>'
			*
			* // Use the "evaluate" delimiter to execute JavaScript and generate HTML.
			* var compiled = _.template('<% _.forEach(users, function(user) { %><li><%- user %></li><% }); %>');
			* compiled({ 'users': ['fred', 'barney'] });
			* // => '<li>fred</li><li>barney</li>'
			*
			* // Use the internal `print` function in "evaluate" delimiters.
			* var compiled = _.template('<% print("hello " + user); %>!');
			* compiled({ 'user': 'barney' });
			* // => 'hello barney!'
			*
			* // Use the ES template literal delimiter as an "interpolate" delimiter.
			* // Disable support by replacing the "interpolate" delimiter.
			* var compiled = _.template('hello ${ user }!');
			* compiled({ 'user': 'pebbles' });
			* // => 'hello pebbles!'
			*
			* // Use backslashes to treat delimiters as plain text.
			* var compiled = _.template('<%= "\\<%- value %\\>" %>');
			* compiled({ 'value': 'ignored' });
			* // => '<%- value %>'
			*
			* // Use the `imports` option to import `jQuery` as `jq`.
			* var text = '<% jq.each(users, function(user) { %><li><%- user %></li><% }); %>';
			* var compiled = _.template(text, { 'imports': { 'jq': jQuery } });
			* compiled({ 'users': ['fred', 'barney'] });
			* // => '<li>fred</li><li>barney</li>'
			*
			* // Use the `sourceURL` option to specify a custom sourceURL for the template.
			* var compiled = _.template('hello <%= user %>!', { 'sourceURL': '/basic/greeting.jst' });
			* compiled(data);
			* // => Find the source of "greeting.jst" under the Sources tab or Resources panel of the web inspector.
			*
			* // Use the `variable` option to ensure a with-statement isn't used in the compiled template.
			* var compiled = _.template('hi <%= data.user %>!', { 'variable': 'data' });
			* compiled.source;
			* // => function(data) {
			* //   var __t, __p = '';
			* //   __p += 'hi ' + ((__t = ( data.user )) == null ? '' : __t) + '!';
			* //   return __p;
			* // }
			*
			* // Use custom template delimiters.
			* _.templateSettings.interpolate = /{{([\s\S]+?)}}/g;
			* var compiled = _.template('hello {{ user }}!');
			* compiled({ 'user': 'mustache' });
			* // => 'hello mustache!'
			*
			* // Use the `source` property to inline compiled templates for meaningful
			* // line numbers in error messages and stack traces.
			* fs.writeFileSync(path.join(process.cwd(), 'jst.js'), '\
			*   var JST = {\
			*     "main": ' + _.template(mainText).source + '\
			*   };\
			* ');
			*/
			function template(string, options, guard) {
				var settings = lodash.templateSettings;
				if (guard && isIterateeCall(string, options, guard)) {
					options = undefined;
				}
				string = toString(string);
				options = assignInWith({}, options, settings, customDefaultsAssignIn);
				var imports = assignInWith({}, options.imports, settings.imports, customDefaultsAssignIn), importsKeys = keys(imports), importsValues = baseValues(imports, importsKeys);
				var isEscaping, isEvaluating, index = 0, interpolate = options.interpolate || reNoMatch, source = "__p += '";
				var reDelimiters = RegExp((options.escape || reNoMatch).source + "|" + interpolate.source + "|" + (interpolate === reInterpolate ? reEsTemplate : reNoMatch).source + "|" + (options.evaluate || reNoMatch).source + "|$", "g");
				var sourceURL = "//# sourceURL=" + (hasOwnProperty.call(options, "sourceURL") ? (options.sourceURL + "").replace(/\s/g, " ") : "lodash.templateSources[" + ++templateCounter + "]") + "\n";
				string.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) {
					interpolateValue || (interpolateValue = esTemplateValue);
					source += string.slice(index, offset).replace(reUnescapedString, escapeStringChar);
					if (escapeValue) {
						isEscaping = true;
						source += "' +\n__e(" + escapeValue + ") +\n'";
					}
					if (evaluateValue) {
						isEvaluating = true;
						source += "';\n" + evaluateValue + ";\n__p += '";
					}
					if (interpolateValue) {
						source += "' +\n((__t = (" + interpolateValue + ")) == null ? '' : __t) +\n'";
					}
					index = offset + match.length;
					return match;
				});
				source += "';\n";
				var variable = hasOwnProperty.call(options, "variable") && options.variable;
				if (!variable) {
					source = "with (obj) {\n" + source + "\n}\n";
				} else if (reForbiddenIdentifierChars.test(variable)) {
					throw new Error(INVALID_TEMPL_VAR_ERROR_TEXT);
				}
				source = (isEvaluating ? source.replace(reEmptyStringLeading, "") : source).replace(reEmptyStringMiddle, "$1").replace(reEmptyStringTrailing, "$1;");
				source = "function(" + (variable || "obj") + ") {\n" + (variable ? "" : "obj || (obj = {});\n") + "var __t, __p = ''" + (isEscaping ? ", __e = _.escape" : "") + (isEvaluating ? ", __j = Array.prototype.join;\n" + "function print() { __p += __j.call(arguments, '') }\n" : ";\n") + source + "return __p\n}";
				var result = attempt(function() {
					return Function(importsKeys, sourceURL + "return " + source).apply(undefined, importsValues);
				});
				result.source = source;
				if (isError(result)) {
					throw result;
				}
				return result;
			}
			/**
			* Converts `string`, as a whole, to lower case just like
			* [String#toLowerCase](https://mdn.io/toLowerCase).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category String
			* @param {string} [string=''] The string to convert.
			* @returns {string} Returns the lower cased string.
			* @example
			*
			* _.toLower('--Foo-Bar--');
			* // => '--foo-bar--'
			*
			* _.toLower('fooBar');
			* // => 'foobar'
			*
			* _.toLower('__FOO_BAR__');
			* // => '__foo_bar__'
			*/
			function toLower(value) {
				return toString(value).toLowerCase();
			}
			/**
			* Converts `string`, as a whole, to upper case just like
			* [String#toUpperCase](https://mdn.io/toUpperCase).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category String
			* @param {string} [string=''] The string to convert.
			* @returns {string} Returns the upper cased string.
			* @example
			*
			* _.toUpper('--foo-bar--');
			* // => '--FOO-BAR--'
			*
			* _.toUpper('fooBar');
			* // => 'FOOBAR'
			*
			* _.toUpper('__foo_bar__');
			* // => '__FOO_BAR__'
			*/
			function toUpper(value) {
				return toString(value).toUpperCase();
			}
			/**
			* Removes leading and trailing whitespace or specified characters from `string`.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category String
			* @param {string} [string=''] The string to trim.
			* @param {string} [chars=whitespace] The characters to trim.
			* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
			* @returns {string} Returns the trimmed string.
			* @example
			*
			* _.trim('  abc  ');
			* // => 'abc'
			*
			* _.trim('-_-abc-_-', '_-');
			* // => 'abc'
			*
			* _.map(['  foo  ', '  bar  '], _.trim);
			* // => ['foo', 'bar']
			*/
			function trim(string, chars, guard) {
				string = toString(string);
				if (string && (guard || chars === undefined)) {
					return baseTrim(string);
				}
				if (!string || !(chars = baseToString(chars))) {
					return string;
				}
				var strSymbols = stringToArray(string), chrSymbols = stringToArray(chars), start = charsStartIndex(strSymbols, chrSymbols), end = charsEndIndex(strSymbols, chrSymbols) + 1;
				return castSlice(strSymbols, start, end).join("");
			}
			/**
			* Removes trailing whitespace or specified characters from `string`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category String
			* @param {string} [string=''] The string to trim.
			* @param {string} [chars=whitespace] The characters to trim.
			* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
			* @returns {string} Returns the trimmed string.
			* @example
			*
			* _.trimEnd('  abc  ');
			* // => '  abc'
			*
			* _.trimEnd('-_-abc-_-', '_-');
			* // => '-_-abc'
			*/
			function trimEnd(string, chars, guard) {
				string = toString(string);
				if (string && (guard || chars === undefined)) {
					return string.slice(0, trimmedEndIndex(string) + 1);
				}
				if (!string || !(chars = baseToString(chars))) {
					return string;
				}
				var strSymbols = stringToArray(string), end = charsEndIndex(strSymbols, stringToArray(chars)) + 1;
				return castSlice(strSymbols, 0, end).join("");
			}
			/**
			* Removes leading whitespace or specified characters from `string`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category String
			* @param {string} [string=''] The string to trim.
			* @param {string} [chars=whitespace] The characters to trim.
			* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
			* @returns {string} Returns the trimmed string.
			* @example
			*
			* _.trimStart('  abc  ');
			* // => 'abc  '
			*
			* _.trimStart('-_-abc-_-', '_-');
			* // => 'abc-_-'
			*/
			function trimStart(string, chars, guard) {
				string = toString(string);
				if (string && (guard || chars === undefined)) {
					return string.replace(reTrimStart, "");
				}
				if (!string || !(chars = baseToString(chars))) {
					return string;
				}
				var strSymbols = stringToArray(string), start = charsStartIndex(strSymbols, stringToArray(chars));
				return castSlice(strSymbols, start).join("");
			}
			/**
			* Truncates `string` if it's longer than the given maximum string length.
			* The last characters of the truncated string are replaced with the omission
			* string which defaults to "...".
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category String
			* @param {string} [string=''] The string to truncate.
			* @param {Object} [options={}] The options object.
			* @param {number} [options.length=30] The maximum string length.
			* @param {string} [options.omission='...'] The string to indicate text is omitted.
			* @param {RegExp|string} [options.separator] The separator pattern to truncate to.
			* @returns {string} Returns the truncated string.
			* @example
			*
			* _.truncate('hi-diddly-ho there, neighborino');
			* // => 'hi-diddly-ho there, neighbo...'
			*
			* _.truncate('hi-diddly-ho there, neighborino', {
			*   'length': 24,
			*   'separator': ' '
			* });
			* // => 'hi-diddly-ho there,...'
			*
			* _.truncate('hi-diddly-ho there, neighborino', {
			*   'length': 24,
			*   'separator': /,? +/
			* });
			* // => 'hi-diddly-ho there...'
			*
			* _.truncate('hi-diddly-ho there, neighborino', {
			*   'omission': ' [...]'
			* });
			* // => 'hi-diddly-ho there, neig [...]'
			*/
			function truncate(string, options) {
				var length = DEFAULT_TRUNC_LENGTH, omission = DEFAULT_TRUNC_OMISSION;
				if (isObject(options)) {
					var separator = "separator" in options ? options.separator : separator;
					length = "length" in options ? toInteger(options.length) : length;
					omission = "omission" in options ? baseToString(options.omission) : omission;
				}
				string = toString(string);
				var strLength = string.length;
				if (hasUnicode(string)) {
					var strSymbols = stringToArray(string);
					strLength = strSymbols.length;
				}
				if (length >= strLength) {
					return string;
				}
				var end = length - stringSize(omission);
				if (end < 1) {
					return omission;
				}
				var result = strSymbols ? castSlice(strSymbols, 0, end).join("") : string.slice(0, end);
				if (separator === undefined) {
					return result + omission;
				}
				if (strSymbols) {
					end += result.length - end;
				}
				if (isRegExp(separator)) {
					if (string.slice(end).search(separator)) {
						var match, substring = result;
						if (!separator.global) {
							separator = RegExp(separator.source, toString(reFlags.exec(separator)) + "g");
						}
						separator.lastIndex = 0;
						while (match = separator.exec(substring)) {
							var newEnd = match.index;
						}
						result = result.slice(0, newEnd === undefined ? end : newEnd);
					}
				} else if (string.indexOf(baseToString(separator), end) != end) {
					var index = result.lastIndexOf(separator);
					if (index > -1) {
						result = result.slice(0, index);
					}
				}
				return result + omission;
			}
			/**
			* The inverse of `_.escape`; this method converts the HTML entities
			* `&amp;`, `&lt;`, `&gt;`, `&quot;`, and `&#39;` in `string` to
			* their corresponding characters.
			*
			* **Note:** No other HTML entities are unescaped. To unescape additional
			* HTML entities use a third-party library like [_he_](https://mths.be/he).
			*
			* @static
			* @memberOf _
			* @since 0.6.0
			* @category String
			* @param {string} [string=''] The string to unescape.
			* @returns {string} Returns the unescaped string.
			* @example
			*
			* _.unescape('fred, barney, &amp; pebbles');
			* // => 'fred, barney, & pebbles'
			*/
			function unescape(string) {
				string = toString(string);
				return string && reHasEscapedHtml.test(string) ? string.replace(reEscapedHtml, unescapeHtmlChar) : string;
			}
			/**
			* Converts `string`, as space separated words, to upper case.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category String
			* @param {string} [string=''] The string to convert.
			* @returns {string} Returns the upper cased string.
			* @example
			*
			* _.upperCase('--foo-bar');
			* // => 'FOO BAR'
			*
			* _.upperCase('fooBar');
			* // => 'FOO BAR'
			*
			* _.upperCase('__foo_bar__');
			* // => 'FOO BAR'
			*/
			var upperCase = createCompounder(function(result, word, index) {
				return result + (index ? " " : "") + word.toUpperCase();
			});
			/**
			* Converts the first character of `string` to upper case.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category String
			* @param {string} [string=''] The string to convert.
			* @returns {string} Returns the converted string.
			* @example
			*
			* _.upperFirst('fred');
			* // => 'Fred'
			*
			* _.upperFirst('FRED');
			* // => 'FRED'
			*/
			var upperFirst = createCaseFirst("toUpperCase");
			/**
			* Splits `string` into an array of its words.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category String
			* @param {string} [string=''] The string to inspect.
			* @param {RegExp|string} [pattern] The pattern to match words.
			* @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
			* @returns {Array} Returns the words of `string`.
			* @example
			*
			* _.words('fred, barney, & pebbles');
			* // => ['fred', 'barney', 'pebbles']
			*
			* _.words('fred, barney, & pebbles', /[^, ]+/g);
			* // => ['fred', 'barney', '&', 'pebbles']
			*/
			function words(string, pattern, guard) {
				string = toString(string);
				pattern = guard ? undefined : pattern;
				if (pattern === undefined) {
					return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);
				}
				return string.match(pattern) || [];
			}
			/**
			* Attempts to invoke `func`, returning either the result or the caught error
			* object. Any additional arguments are provided to `func` when it's invoked.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Util
			* @param {Function} func The function to attempt.
			* @param {...*} [args] The arguments to invoke `func` with.
			* @returns {*} Returns the `func` result or error object.
			* @example
			*
			* // Avoid throwing errors for invalid selectors.
			* var elements = _.attempt(function(selector) {
			*   return document.querySelectorAll(selector);
			* }, '>_>');
			*
			* if (_.isError(elements)) {
			*   elements = [];
			* }
			*/
			var attempt = baseRest(function(func, args) {
				try {
					return apply(func, undefined, args);
				} catch (e) {
					return isError(e) ? e : new Error(e);
				}
			});
			/**
			* Binds methods of an object to the object itself, overwriting the existing
			* method.
			*
			* **Note:** This method doesn't set the "length" property of bound functions.
			*
			* @static
			* @since 0.1.0
			* @memberOf _
			* @category Util
			* @param {Object} object The object to bind and assign the bound methods to.
			* @param {...(string|string[])} methodNames The object method names to bind.
			* @returns {Object} Returns `object`.
			* @example
			*
			* var view = {
			*   'label': 'docs',
			*   'click': function() {
			*     console.log('clicked ' + this.label);
			*   }
			* };
			*
			* _.bindAll(view, ['click']);
			* jQuery(element).on('click', view.click);
			* // => Logs 'clicked docs' when clicked.
			*/
			var bindAll = flatRest(function(object, methodNames) {
				arrayEach(methodNames, function(key) {
					key = toKey(key);
					baseAssignValue(object, key, bind(object[key], object));
				});
				return object;
			});
			/**
			* Creates a function that iterates over `pairs` and invokes the corresponding
			* function of the first predicate to return truthy. The predicate-function
			* pairs are invoked with the `this` binding and arguments of the created
			* function.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Util
			* @param {Array} pairs The predicate-function pairs.
			* @returns {Function} Returns the new composite function.
			* @example
			*
			* var func = _.cond([
			*   [_.matches({ 'a': 1 }),           _.constant('matches A')],
			*   [_.conforms({ 'b': _.isNumber }), _.constant('matches B')],
			*   [_.stubTrue,                      _.constant('no match')]
			* ]);
			*
			* func({ 'a': 1, 'b': 2 });
			* // => 'matches A'
			*
			* func({ 'a': 0, 'b': 1 });
			* // => 'matches B'
			*
			* func({ 'a': '1', 'b': '2' });
			* // => 'no match'
			*/
			function cond(pairs) {
				var length = pairs == null ? 0 : pairs.length, toIteratee = getIteratee();
				pairs = !length ? [] : arrayMap(pairs, function(pair) {
					if (typeof pair[1] != "function") {
						throw new TypeError(FUNC_ERROR_TEXT);
					}
					return [toIteratee(pair[0]), pair[1]];
				});
				return baseRest(function(args) {
					var index = -1;
					while (++index < length) {
						var pair = pairs[index];
						if (apply(pair[0], this, args)) {
							return apply(pair[1], this, args);
						}
					}
				});
			}
			/**
			* Creates a function that invokes the predicate properties of `source` with
			* the corresponding property values of a given object, returning `true` if
			* all predicates return truthy, else `false`.
			*
			* **Note:** The created function is equivalent to `_.conformsTo` with
			* `source` partially applied.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Util
			* @param {Object} source The object of property predicates to conform to.
			* @returns {Function} Returns the new spec function.
			* @example
			*
			* var objects = [
			*   { 'a': 2, 'b': 1 },
			*   { 'a': 1, 'b': 2 }
			* ];
			*
			* _.filter(objects, _.conforms({ 'b': function(n) { return n > 1; } }));
			* // => [{ 'a': 1, 'b': 2 }]
			*/
			function conforms(source) {
				return baseConforms(baseClone(source, CLONE_DEEP_FLAG));
			}
			/**
			* Creates a function that returns `value`.
			*
			* @static
			* @memberOf _
			* @since 2.4.0
			* @category Util
			* @param {*} value The value to return from the new function.
			* @returns {Function} Returns the new constant function.
			* @example
			*
			* var objects = _.times(2, _.constant({ 'a': 1 }));
			*
			* console.log(objects);
			* // => [{ 'a': 1 }, { 'a': 1 }]
			*
			* console.log(objects[0] === objects[1]);
			* // => true
			*/
			function constant(value) {
				return function() {
					return value;
				};
			}
			/**
			* Checks `value` to determine whether a default value should be returned in
			* its place. The `defaultValue` is returned if `value` is `NaN`, `null`,
			* or `undefined`.
			*
			* @static
			* @memberOf _
			* @since 4.14.0
			* @category Util
			* @param {*} value The value to check.
			* @param {*} defaultValue The default value.
			* @returns {*} Returns the resolved value.
			* @example
			*
			* _.defaultTo(1, 10);
			* // => 1
			*
			* _.defaultTo(undefined, 10);
			* // => 10
			*/
			function defaultTo(value, defaultValue) {
				return value == null || value !== value ? defaultValue : value;
			}
			/**
			* Creates a function that returns the result of invoking the given functions
			* with the `this` binding of the created function, where each successive
			* invocation is supplied the return value of the previous.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Util
			* @param {...(Function|Function[])} [funcs] The functions to invoke.
			* @returns {Function} Returns the new composite function.
			* @see _.flowRight
			* @example
			*
			* function square(n) {
			*   return n * n;
			* }
			*
			* var addSquare = _.flow([_.add, square]);
			* addSquare(1, 2);
			* // => 9
			*/
			var flow = createFlow();
			/**
			* This method is like `_.flow` except that it creates a function that
			* invokes the given functions from right to left.
			*
			* @static
			* @since 3.0.0
			* @memberOf _
			* @category Util
			* @param {...(Function|Function[])} [funcs] The functions to invoke.
			* @returns {Function} Returns the new composite function.
			* @see _.flow
			* @example
			*
			* function square(n) {
			*   return n * n;
			* }
			*
			* var addSquare = _.flowRight([square, _.add]);
			* addSquare(1, 2);
			* // => 9
			*/
			var flowRight = createFlow(true);
			/**
			* This method returns the first argument it receives.
			*
			* @static
			* @since 0.1.0
			* @memberOf _
			* @category Util
			* @param {*} value Any value.
			* @returns {*} Returns `value`.
			* @example
			*
			* var object = { 'a': 1 };
			*
			* console.log(_.identity(object) === object);
			* // => true
			*/
			function identity(value) {
				return value;
			}
			/**
			* Creates a function that invokes `func` with the arguments of the created
			* function. If `func` is a property name, the created function returns the
			* property value for a given element. If `func` is an array or object, the
			* created function returns `true` for elements that contain the equivalent
			* source properties, otherwise it returns `false`.
			*
			* @static
			* @since 4.0.0
			* @memberOf _
			* @category Util
			* @param {*} [func=_.identity] The value to convert to a callback.
			* @returns {Function} Returns the callback.
			* @example
			*
			* var users = [
			*   { 'user': 'barney', 'age': 36, 'active': true },
			*   { 'user': 'fred',   'age': 40, 'active': false }
			* ];
			*
			* // The `_.matches` iteratee shorthand.
			* _.filter(users, _.iteratee({ 'user': 'barney', 'active': true }));
			* // => [{ 'user': 'barney', 'age': 36, 'active': true }]
			*
			* // The `_.matchesProperty` iteratee shorthand.
			* _.filter(users, _.iteratee(['user', 'fred']));
			* // => [{ 'user': 'fred', 'age': 40 }]
			*
			* // The `_.property` iteratee shorthand.
			* _.map(users, _.iteratee('user'));
			* // => ['barney', 'fred']
			*
			* // Create custom iteratee shorthands.
			* _.iteratee = _.wrap(_.iteratee, function(iteratee, func) {
			*   return !_.isRegExp(func) ? iteratee(func) : function(string) {
			*     return func.test(string);
			*   };
			* });
			*
			* _.filter(['abc', 'def'], /ef/);
			* // => ['def']
			*/
			function iteratee(func) {
				return baseIteratee(typeof func == "function" ? func : baseClone(func, CLONE_DEEP_FLAG));
			}
			/**
			* Creates a function that performs a partial deep comparison between a given
			* object and `source`, returning `true` if the given object has equivalent
			* property values, else `false`.
			*
			* **Note:** The created function is equivalent to `_.isMatch` with `source`
			* partially applied.
			*
			* Partial comparisons will match empty array and empty object `source`
			* values against any array or object value, respectively. See `_.isEqual`
			* for a list of supported value comparisons.
			*
			* **Note:** Multiple values can be checked by combining several matchers
			* using `_.overSome`
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Util
			* @param {Object} source The object of property values to match.
			* @returns {Function} Returns the new spec function.
			* @example
			*
			* var objects = [
			*   { 'a': 1, 'b': 2, 'c': 3 },
			*   { 'a': 4, 'b': 5, 'c': 6 }
			* ];
			*
			* _.filter(objects, _.matches({ 'a': 4, 'c': 6 }));
			* // => [{ 'a': 4, 'b': 5, 'c': 6 }]
			*
			* // Checking for several possible values
			* _.filter(objects, _.overSome([_.matches({ 'a': 1 }), _.matches({ 'a': 4 })]));
			* // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }]
			*/
			function matches(source) {
				return baseMatches(baseClone(source, CLONE_DEEP_FLAG));
			}
			/**
			* Creates a function that performs a partial deep comparison between the
			* value at `path` of a given object to `srcValue`, returning `true` if the
			* object value is equivalent, else `false`.
			*
			* **Note:** Partial comparisons will match empty array and empty object
			* `srcValue` values against any array or object value, respectively. See
			* `_.isEqual` for a list of supported value comparisons.
			*
			* **Note:** Multiple values can be checked by combining several matchers
			* using `_.overSome`
			*
			* @static
			* @memberOf _
			* @since 3.2.0
			* @category Util
			* @param {Array|string} path The path of the property to get.
			* @param {*} srcValue The value to match.
			* @returns {Function} Returns the new spec function.
			* @example
			*
			* var objects = [
			*   { 'a': 1, 'b': 2, 'c': 3 },
			*   { 'a': 4, 'b': 5, 'c': 6 }
			* ];
			*
			* _.find(objects, _.matchesProperty('a', 4));
			* // => { 'a': 4, 'b': 5, 'c': 6 }
			*
			* // Checking for several possible values
			* _.filter(objects, _.overSome([_.matchesProperty('a', 1), _.matchesProperty('a', 4)]));
			* // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }]
			*/
			function matchesProperty(path, srcValue) {
				return baseMatchesProperty(path, baseClone(srcValue, CLONE_DEEP_FLAG));
			}
			/**
			* Creates a function that invokes the method at `path` of a given object.
			* Any additional arguments are provided to the invoked method.
			*
			* @static
			* @memberOf _
			* @since 3.7.0
			* @category Util
			* @param {Array|string} path The path of the method to invoke.
			* @param {...*} [args] The arguments to invoke the method with.
			* @returns {Function} Returns the new invoker function.
			* @example
			*
			* var objects = [
			*   { 'a': { 'b': _.constant(2) } },
			*   { 'a': { 'b': _.constant(1) } }
			* ];
			*
			* _.map(objects, _.method('a.b'));
			* // => [2, 1]
			*
			* _.map(objects, _.method(['a', 'b']));
			* // => [2, 1]
			*/
			var method = baseRest(function(path, args) {
				return function(object) {
					return baseInvoke(object, path, args);
				};
			});
			/**
			* The opposite of `_.method`; this method creates a function that invokes
			* the method at a given path of `object`. Any additional arguments are
			* provided to the invoked method.
			*
			* @static
			* @memberOf _
			* @since 3.7.0
			* @category Util
			* @param {Object} object The object to query.
			* @param {...*} [args] The arguments to invoke the method with.
			* @returns {Function} Returns the new invoker function.
			* @example
			*
			* var array = _.times(3, _.constant),
			*     object = { 'a': array, 'b': array, 'c': array };
			*
			* _.map(['a[2]', 'c[0]'], _.methodOf(object));
			* // => [2, 0]
			*
			* _.map([['a', '2'], ['c', '0']], _.methodOf(object));
			* // => [2, 0]
			*/
			var methodOf = baseRest(function(object, args) {
				return function(path) {
					return baseInvoke(object, path, args);
				};
			});
			/**
			* Adds all own enumerable string keyed function properties of a source
			* object to the destination object. If `object` is a function, then methods
			* are added to its prototype as well.
			*
			* **Note:** Use `_.runInContext` to create a pristine `lodash` function to
			* avoid conflicts caused by modifying the original.
			*
			* @static
			* @since 0.1.0
			* @memberOf _
			* @category Util
			* @param {Function|Object} [object=lodash] The destination object.
			* @param {Object} source The object of functions to add.
			* @param {Object} [options={}] The options object.
			* @param {boolean} [options.chain=true] Specify whether mixins are chainable.
			* @returns {Function|Object} Returns `object`.
			* @example
			*
			* function vowels(string) {
			*   return _.filter(string, function(v) {
			*     return /[aeiou]/i.test(v);
			*   });
			* }
			*
			* _.mixin({ 'vowels': vowels });
			* _.vowels('fred');
			* // => ['e']
			*
			* _('fred').vowels().value();
			* // => ['e']
			*
			* _.mixin({ 'vowels': vowels }, { 'chain': false });
			* _('fred').vowels();
			* // => ['e']
			*/
			function mixin(object, source, options) {
				var props = keys(source), methodNames = baseFunctions(source, props);
				if (options == null && !(isObject(source) && (methodNames.length || !props.length))) {
					options = source;
					source = object;
					object = this;
					methodNames = baseFunctions(source, keys(source));
				}
				var chain = !(isObject(options) && "chain" in options) || !!options.chain, isFunc = isFunction(object);
				arrayEach(methodNames, function(methodName) {
					var func = source[methodName];
					object[methodName] = func;
					if (isFunc) {
						object.prototype[methodName] = function() {
							var chainAll = this.__chain__;
							if (chain || chainAll) {
								var result = object(this.__wrapped__), actions = result.__actions__ = copyArray(this.__actions__);
								actions.push({
									"func": func,
									"args": arguments,
									"thisArg": object
								});
								result.__chain__ = chainAll;
								return result;
							}
							return func.apply(object, arrayPush([this.value()], arguments));
						};
					}
				});
				return object;
			}
			/**
			* Reverts the `_` variable to its previous value and returns a reference to
			* the `lodash` function.
			*
			* @static
			* @since 0.1.0
			* @memberOf _
			* @category Util
			* @returns {Function} Returns the `lodash` function.
			* @example
			*
			* var lodash = _.noConflict();
			*/
			function noConflict() {
				if (root._ === this) {
					root._ = oldDash;
				}
				return this;
			}
			/**
			* This method returns `undefined`.
			*
			* @static
			* @memberOf _
			* @since 2.3.0
			* @category Util
			* @example
			*
			* _.times(2, _.noop);
			* // => [undefined, undefined]
			*/
			function noop() {}
			/**
			* Creates a function that gets the argument at index `n`. If `n` is negative,
			* the nth argument from the end is returned.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Util
			* @param {number} [n=0] The index of the argument to return.
			* @returns {Function} Returns the new pass-thru function.
			* @example
			*
			* var func = _.nthArg(1);
			* func('a', 'b', 'c', 'd');
			* // => 'b'
			*
			* var func = _.nthArg(-2);
			* func('a', 'b', 'c', 'd');
			* // => 'c'
			*/
			function nthArg(n) {
				n = toInteger(n);
				return baseRest(function(args) {
					return baseNth(args, n);
				});
			}
			/**
			* Creates a function that invokes `iteratees` with the arguments it receives
			* and returns their results.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Util
			* @param {...(Function|Function[])} [iteratees=[_.identity]]
			*  The iteratees to invoke.
			* @returns {Function} Returns the new function.
			* @example
			*
			* var func = _.over([Math.max, Math.min]);
			*
			* func(1, 2, 3, 4);
			* // => [4, 1]
			*/
			var over = createOver(arrayMap);
			/**
			* Creates a function that checks if **all** of the `predicates` return
			* truthy when invoked with the arguments it receives.
			*
			* Following shorthands are possible for providing predicates.
			* Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate.
			* Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Util
			* @param {...(Function|Function[])} [predicates=[_.identity]]
			*  The predicates to check.
			* @returns {Function} Returns the new function.
			* @example
			*
			* var func = _.overEvery([Boolean, isFinite]);
			*
			* func('1');
			* // => true
			*
			* func(null);
			* // => false
			*
			* func(NaN);
			* // => false
			*/
			var overEvery = createOver(arrayEvery);
			/**
			* Creates a function that checks if **any** of the `predicates` return
			* truthy when invoked with the arguments it receives.
			*
			* Following shorthands are possible for providing predicates.
			* Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate.
			* Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Util
			* @param {...(Function|Function[])} [predicates=[_.identity]]
			*  The predicates to check.
			* @returns {Function} Returns the new function.
			* @example
			*
			* var func = _.overSome([Boolean, isFinite]);
			*
			* func('1');
			* // => true
			*
			* func(null);
			* // => true
			*
			* func(NaN);
			* // => false
			*
			* var matchesFunc = _.overSome([{ 'a': 1 }, { 'a': 2 }])
			* var matchesPropertyFunc = _.overSome([['a', 1], ['a', 2]])
			*/
			var overSome = createOver(arraySome);
			/**
			* Creates a function that returns the value at `path` of a given object.
			*
			* @static
			* @memberOf _
			* @since 2.4.0
			* @category Util
			* @param {Array|string} path The path of the property to get.
			* @returns {Function} Returns the new accessor function.
			* @example
			*
			* var objects = [
			*   { 'a': { 'b': 2 } },
			*   { 'a': { 'b': 1 } }
			* ];
			*
			* _.map(objects, _.property('a.b'));
			* // => [2, 1]
			*
			* _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');
			* // => [1, 2]
			*/
			function property(path) {
				return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);
			}
			/**
			* The opposite of `_.property`; this method creates a function that returns
			* the value at a given path of `object`.
			*
			* @static
			* @memberOf _
			* @since 3.0.0
			* @category Util
			* @param {Object} object The object to query.
			* @returns {Function} Returns the new accessor function.
			* @example
			*
			* var array = [0, 1, 2],
			*     object = { 'a': array, 'b': array, 'c': array };
			*
			* _.map(['a[2]', 'c[0]'], _.propertyOf(object));
			* // => [2, 0]
			*
			* _.map([['a', '2'], ['c', '0']], _.propertyOf(object));
			* // => [2, 0]
			*/
			function propertyOf(object) {
				return function(path) {
					return object == null ? undefined : baseGet(object, path);
				};
			}
			/**
			* Creates an array of numbers (positive and/or negative) progressing from
			* `start` up to, but not including, `end`. A step of `-1` is used if a negative
			* `start` is specified without an `end` or `step`. If `end` is not specified,
			* it's set to `start` with `start` then set to `0`.
			*
			* **Note:** JavaScript follows the IEEE-754 standard for resolving
			* floating-point values which can produce unexpected results.
			*
			* @static
			* @since 0.1.0
			* @memberOf _
			* @category Util
			* @param {number} [start=0] The start of the range.
			* @param {number} end The end of the range.
			* @param {number} [step=1] The value to increment or decrement by.
			* @returns {Array} Returns the range of numbers.
			* @see _.inRange, _.rangeRight
			* @example
			*
			* _.range(4);
			* // => [0, 1, 2, 3]
			*
			* _.range(-4);
			* // => [0, -1, -2, -3]
			*
			* _.range(1, 5);
			* // => [1, 2, 3, 4]
			*
			* _.range(0, 20, 5);
			* // => [0, 5, 10, 15]
			*
			* _.range(0, -4, -1);
			* // => [0, -1, -2, -3]
			*
			* _.range(1, 4, 0);
			* // => [1, 1, 1]
			*
			* _.range(0);
			* // => []
			*/
			var range = createRange();
			/**
			* This method is like `_.range` except that it populates values in
			* descending order.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Util
			* @param {number} [start=0] The start of the range.
			* @param {number} end The end of the range.
			* @param {number} [step=1] The value to increment or decrement by.
			* @returns {Array} Returns the range of numbers.
			* @see _.inRange, _.range
			* @example
			*
			* _.rangeRight(4);
			* // => [3, 2, 1, 0]
			*
			* _.rangeRight(-4);
			* // => [-3, -2, -1, 0]
			*
			* _.rangeRight(1, 5);
			* // => [4, 3, 2, 1]
			*
			* _.rangeRight(0, 20, 5);
			* // => [15, 10, 5, 0]
			*
			* _.rangeRight(0, -4, -1);
			* // => [-3, -2, -1, 0]
			*
			* _.rangeRight(1, 4, 0);
			* // => [1, 1, 1]
			*
			* _.rangeRight(0);
			* // => []
			*/
			var rangeRight = createRange(true);
			/**
			* This method returns a new empty array.
			*
			* @static
			* @memberOf _
			* @since 4.13.0
			* @category Util
			* @returns {Array} Returns the new empty array.
			* @example
			*
			* var arrays = _.times(2, _.stubArray);
			*
			* console.log(arrays);
			* // => [[], []]
			*
			* console.log(arrays[0] === arrays[1]);
			* // => false
			*/
			function stubArray() {
				return [];
			}
			/**
			* This method returns `false`.
			*
			* @static
			* @memberOf _
			* @since 4.13.0
			* @category Util
			* @returns {boolean} Returns `false`.
			* @example
			*
			* _.times(2, _.stubFalse);
			* // => [false, false]
			*/
			function stubFalse() {
				return false;
			}
			/**
			* This method returns a new empty object.
			*
			* @static
			* @memberOf _
			* @since 4.13.0
			* @category Util
			* @returns {Object} Returns the new empty object.
			* @example
			*
			* var objects = _.times(2, _.stubObject);
			*
			* console.log(objects);
			* // => [{}, {}]
			*
			* console.log(objects[0] === objects[1]);
			* // => false
			*/
			function stubObject() {
				return {};
			}
			/**
			* This method returns an empty string.
			*
			* @static
			* @memberOf _
			* @since 4.13.0
			* @category Util
			* @returns {string} Returns the empty string.
			* @example
			*
			* _.times(2, _.stubString);
			* // => ['', '']
			*/
			function stubString() {
				return "";
			}
			/**
			* This method returns `true`.
			*
			* @static
			* @memberOf _
			* @since 4.13.0
			* @category Util
			* @returns {boolean} Returns `true`.
			* @example
			*
			* _.times(2, _.stubTrue);
			* // => [true, true]
			*/
			function stubTrue() {
				return true;
			}
			/**
			* Invokes the iteratee `n` times, returning an array of the results of
			* each invocation. The iteratee is invoked with one argument; (index).
			*
			* @static
			* @since 0.1.0
			* @memberOf _
			* @category Util
			* @param {number} n The number of times to invoke `iteratee`.
			* @param {Function} [iteratee=_.identity] The function invoked per iteration.
			* @returns {Array} Returns the array of results.
			* @example
			*
			* _.times(3, String);
			* // => ['0', '1', '2']
			*
			*  _.times(4, _.constant(0));
			* // => [0, 0, 0, 0]
			*/
			function times(n, iteratee) {
				n = toInteger(n);
				if (n < 1 || n > MAX_SAFE_INTEGER) {
					return [];
				}
				var index = MAX_ARRAY_LENGTH, length = nativeMin(n, MAX_ARRAY_LENGTH);
				iteratee = getIteratee(iteratee);
				n -= MAX_ARRAY_LENGTH;
				var result = baseTimes(length, iteratee);
				while (++index < n) {
					iteratee(index);
				}
				return result;
			}
			/**
			* Converts `value` to a property path array.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Util
			* @param {*} value The value to convert.
			* @returns {Array} Returns the new property path array.
			* @example
			*
			* _.toPath('a.b.c');
			* // => ['a', 'b', 'c']
			*
			* _.toPath('a[0].b.c');
			* // => ['a', '0', 'b', 'c']
			*/
			function toPath(value) {
				if (isArray(value)) {
					return arrayMap(value, toKey);
				}
				return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value)));
			}
			/**
			* Generates a unique ID. If `prefix` is given, the ID is appended to it.
			*
			* @static
			* @since 0.1.0
			* @memberOf _
			* @category Util
			* @param {string} [prefix=''] The value to prefix the ID with.
			* @returns {string} Returns the unique ID.
			* @example
			*
			* _.uniqueId('contact_');
			* // => 'contact_104'
			*
			* _.uniqueId();
			* // => '105'
			*/
			function uniqueId(prefix) {
				var id = ++idCounter;
				return toString(prefix) + id;
			}
			/**
			* Adds two numbers.
			*
			* @static
			* @memberOf _
			* @since 3.4.0
			* @category Math
			* @param {number} augend The first number in an addition.
			* @param {number} addend The second number in an addition.
			* @returns {number} Returns the total.
			* @example
			*
			* _.add(6, 4);
			* // => 10
			*/
			var add = createMathOperation(function(augend, addend) {
				return augend + addend;
			}, 0);
			/**
			* Computes `number` rounded up to `precision`.
			*
			* @static
			* @memberOf _
			* @since 3.10.0
			* @category Math
			* @param {number} number The number to round up.
			* @param {number} [precision=0] The precision to round up to.
			* @returns {number} Returns the rounded up number.
			* @example
			*
			* _.ceil(4.006);
			* // => 5
			*
			* _.ceil(6.004, 2);
			* // => 6.01
			*
			* _.ceil(6040, -2);
			* // => 6100
			*/
			var ceil = createRound("ceil");
			/**
			* Divide two numbers.
			*
			* @static
			* @memberOf _
			* @since 4.7.0
			* @category Math
			* @param {number} dividend The first number in a division.
			* @param {number} divisor The second number in a division.
			* @returns {number} Returns the quotient.
			* @example
			*
			* _.divide(6, 4);
			* // => 1.5
			*/
			var divide = createMathOperation(function(dividend, divisor) {
				return dividend / divisor;
			}, 1);
			/**
			* Computes `number` rounded down to `precision`.
			*
			* @static
			* @memberOf _
			* @since 3.10.0
			* @category Math
			* @param {number} number The number to round down.
			* @param {number} [precision=0] The precision to round down to.
			* @returns {number} Returns the rounded down number.
			* @example
			*
			* _.floor(4.006);
			* // => 4
			*
			* _.floor(0.046, 2);
			* // => 0.04
			*
			* _.floor(4060, -2);
			* // => 4000
			*/
			var floor = createRound("floor");
			/**
			* Computes the maximum value of `array`. If `array` is empty or falsey,
			* `undefined` is returned.
			*
			* @static
			* @since 0.1.0
			* @memberOf _
			* @category Math
			* @param {Array} array The array to iterate over.
			* @returns {*} Returns the maximum value.
			* @example
			*
			* _.max([4, 2, 8, 6]);
			* // => 8
			*
			* _.max([]);
			* // => undefined
			*/
			function max(array) {
				return array && array.length ? baseExtremum(array, identity, baseGt) : undefined;
			}
			/**
			* This method is like `_.max` except that it accepts `iteratee` which is
			* invoked for each element in `array` to generate the criterion by which
			* the value is ranked. The iteratee is invoked with one argument: (value).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Math
			* @param {Array} array The array to iterate over.
			* @param {Function} [iteratee=_.identity] The iteratee invoked per element.
			* @returns {*} Returns the maximum value.
			* @example
			*
			* var objects = [{ 'n': 1 }, { 'n': 2 }];
			*
			* _.maxBy(objects, function(o) { return o.n; });
			* // => { 'n': 2 }
			*
			* // The `_.property` iteratee shorthand.
			* _.maxBy(objects, 'n');
			* // => { 'n': 2 }
			*/
			function maxBy(array, iteratee) {
				return array && array.length ? baseExtremum(array, getIteratee(iteratee, 2), baseGt) : undefined;
			}
			/**
			* Computes the mean of the values in `array`.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Math
			* @param {Array} array The array to iterate over.
			* @returns {number} Returns the mean.
			* @example
			*
			* _.mean([4, 2, 8, 6]);
			* // => 5
			*/
			function mean(array) {
				return baseMean(array, identity);
			}
			/**
			* This method is like `_.mean` except that it accepts `iteratee` which is
			* invoked for each element in `array` to generate the value to be averaged.
			* The iteratee is invoked with one argument: (value).
			*
			* @static
			* @memberOf _
			* @since 4.7.0
			* @category Math
			* @param {Array} array The array to iterate over.
			* @param {Function} [iteratee=_.identity] The iteratee invoked per element.
			* @returns {number} Returns the mean.
			* @example
			*
			* var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];
			*
			* _.meanBy(objects, function(o) { return o.n; });
			* // => 5
			*
			* // The `_.property` iteratee shorthand.
			* _.meanBy(objects, 'n');
			* // => 5
			*/
			function meanBy(array, iteratee) {
				return baseMean(array, getIteratee(iteratee, 2));
			}
			/**
			* Computes the minimum value of `array`. If `array` is empty or falsey,
			* `undefined` is returned.
			*
			* @static
			* @since 0.1.0
			* @memberOf _
			* @category Math
			* @param {Array} array The array to iterate over.
			* @returns {*} Returns the minimum value.
			* @example
			*
			* _.min([4, 2, 8, 6]);
			* // => 2
			*
			* _.min([]);
			* // => undefined
			*/
			function min(array) {
				return array && array.length ? baseExtremum(array, identity, baseLt) : undefined;
			}
			/**
			* This method is like `_.min` except that it accepts `iteratee` which is
			* invoked for each element in `array` to generate the criterion by which
			* the value is ranked. The iteratee is invoked with one argument: (value).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Math
			* @param {Array} array The array to iterate over.
			* @param {Function} [iteratee=_.identity] The iteratee invoked per element.
			* @returns {*} Returns the minimum value.
			* @example
			*
			* var objects = [{ 'n': 1 }, { 'n': 2 }];
			*
			* _.minBy(objects, function(o) { return o.n; });
			* // => { 'n': 1 }
			*
			* // The `_.property` iteratee shorthand.
			* _.minBy(objects, 'n');
			* // => { 'n': 1 }
			*/
			function minBy(array, iteratee) {
				return array && array.length ? baseExtremum(array, getIteratee(iteratee, 2), baseLt) : undefined;
			}
			/**
			* Multiply two numbers.
			*
			* @static
			* @memberOf _
			* @since 4.7.0
			* @category Math
			* @param {number} multiplier The first number in a multiplication.
			* @param {number} multiplicand The second number in a multiplication.
			* @returns {number} Returns the product.
			* @example
			*
			* _.multiply(6, 4);
			* // => 24
			*/
			var multiply = createMathOperation(function(multiplier, multiplicand) {
				return multiplier * multiplicand;
			}, 1);
			/**
			* Computes `number` rounded to `precision`.
			*
			* @static
			* @memberOf _
			* @since 3.10.0
			* @category Math
			* @param {number} number The number to round.
			* @param {number} [precision=0] The precision to round to.
			* @returns {number} Returns the rounded number.
			* @example
			*
			* _.round(4.006);
			* // => 4
			*
			* _.round(4.006, 2);
			* // => 4.01
			*
			* _.round(4060, -2);
			* // => 4100
			*/
			var round = createRound("round");
			/**
			* Subtract two numbers.
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Math
			* @param {number} minuend The first number in a subtraction.
			* @param {number} subtrahend The second number in a subtraction.
			* @returns {number} Returns the difference.
			* @example
			*
			* _.subtract(6, 4);
			* // => 2
			*/
			var subtract = createMathOperation(function(minuend, subtrahend) {
				return minuend - subtrahend;
			}, 0);
			/**
			* Computes the sum of the values in `array`.
			*
			* @static
			* @memberOf _
			* @since 3.4.0
			* @category Math
			* @param {Array} array The array to iterate over.
			* @returns {number} Returns the sum.
			* @example
			*
			* _.sum([4, 2, 8, 6]);
			* // => 20
			*/
			function sum(array) {
				return array && array.length ? baseSum(array, identity) : 0;
			}
			/**
			* This method is like `_.sum` except that it accepts `iteratee` which is
			* invoked for each element in `array` to generate the value to be summed.
			* The iteratee is invoked with one argument: (value).
			*
			* @static
			* @memberOf _
			* @since 4.0.0
			* @category Math
			* @param {Array} array The array to iterate over.
			* @param {Function} [iteratee=_.identity] The iteratee invoked per element.
			* @returns {number} Returns the sum.
			* @example
			*
			* var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];
			*
			* _.sumBy(objects, function(o) { return o.n; });
			* // => 20
			*
			* // The `_.property` iteratee shorthand.
			* _.sumBy(objects, 'n');
			* // => 20
			*/
			function sumBy(array, iteratee) {
				return array && array.length ? baseSum(array, getIteratee(iteratee, 2)) : 0;
			}
			lodash.after = after;
			lodash.ary = ary;
			lodash.assign = assign;
			lodash.assignIn = assignIn;
			lodash.assignInWith = assignInWith;
			lodash.assignWith = assignWith;
			lodash.at = at;
			lodash.before = before;
			lodash.bind = bind;
			lodash.bindAll = bindAll;
			lodash.bindKey = bindKey;
			lodash.castArray = castArray;
			lodash.chain = chain;
			lodash.chunk = chunk;
			lodash.compact = compact;
			lodash.concat = concat;
			lodash.cond = cond;
			lodash.conforms = conforms;
			lodash.constant = constant;
			lodash.countBy = countBy;
			lodash.create = create;
			lodash.curry = curry;
			lodash.curryRight = curryRight;
			lodash.debounce = debounce;
			lodash.defaults = defaults;
			lodash.defaultsDeep = defaultsDeep;
			lodash.defer = defer;
			lodash.delay = delay;
			lodash.difference = difference;
			lodash.differenceBy = differenceBy;
			lodash.differenceWith = differenceWith;
			lodash.drop = drop;
			lodash.dropRight = dropRight;
			lodash.dropRightWhile = dropRightWhile;
			lodash.dropWhile = dropWhile;
			lodash.fill = fill;
			lodash.filter = filter;
			lodash.flatMap = flatMap;
			lodash.flatMapDeep = flatMapDeep;
			lodash.flatMapDepth = flatMapDepth;
			lodash.flatten = flatten;
			lodash.flattenDeep = flattenDeep;
			lodash.flattenDepth = flattenDepth;
			lodash.flip = flip;
			lodash.flow = flow;
			lodash.flowRight = flowRight;
			lodash.fromPairs = fromPairs;
			lodash.functions = functions;
			lodash.functionsIn = functionsIn;
			lodash.groupBy = groupBy;
			lodash.initial = initial;
			lodash.intersection = intersection;
			lodash.intersectionBy = intersectionBy;
			lodash.intersectionWith = intersectionWith;
			lodash.invert = invert;
			lodash.invertBy = invertBy;
			lodash.invokeMap = invokeMap;
			lodash.iteratee = iteratee;
			lodash.keyBy = keyBy;
			lodash.keys = keys;
			lodash.keysIn = keysIn;
			lodash.map = map;
			lodash.mapKeys = mapKeys;
			lodash.mapValues = mapValues;
			lodash.matches = matches;
			lodash.matchesProperty = matchesProperty;
			lodash.memoize = memoize;
			lodash.merge = merge;
			lodash.mergeWith = mergeWith;
			lodash.method = method;
			lodash.methodOf = methodOf;
			lodash.mixin = mixin;
			lodash.negate = negate;
			lodash.nthArg = nthArg;
			lodash.omit = omit;
			lodash.omitBy = omitBy;
			lodash.once = once;
			lodash.orderBy = orderBy;
			lodash.over = over;
			lodash.overArgs = overArgs;
			lodash.overEvery = overEvery;
			lodash.overSome = overSome;
			lodash.partial = partial;
			lodash.partialRight = partialRight;
			lodash.partition = partition;
			lodash.pick = pick;
			lodash.pickBy = pickBy;
			lodash.property = property;
			lodash.propertyOf = propertyOf;
			lodash.pull = pull;
			lodash.pullAll = pullAll;
			lodash.pullAllBy = pullAllBy;
			lodash.pullAllWith = pullAllWith;
			lodash.pullAt = pullAt;
			lodash.range = range;
			lodash.rangeRight = rangeRight;
			lodash.rearg = rearg;
			lodash.reject = reject;
			lodash.remove = remove;
			lodash.rest = rest;
			lodash.reverse = reverse;
			lodash.sampleSize = sampleSize;
			lodash.set = set;
			lodash.setWith = setWith;
			lodash.shuffle = shuffle;
			lodash.slice = slice;
			lodash.sortBy = sortBy;
			lodash.sortedUniq = sortedUniq;
			lodash.sortedUniqBy = sortedUniqBy;
			lodash.split = split;
			lodash.spread = spread;
			lodash.tail = tail;
			lodash.take = take;
			lodash.takeRight = takeRight;
			lodash.takeRightWhile = takeRightWhile;
			lodash.takeWhile = takeWhile;
			lodash.tap = tap;
			lodash.throttle = throttle;
			lodash.thru = thru;
			lodash.toArray = toArray;
			lodash.toPairs = toPairs;
			lodash.toPairsIn = toPairsIn;
			lodash.toPath = toPath;
			lodash.toPlainObject = toPlainObject;
			lodash.transform = transform;
			lodash.unary = unary;
			lodash.union = union;
			lodash.unionBy = unionBy;
			lodash.unionWith = unionWith;
			lodash.uniq = uniq;
			lodash.uniqBy = uniqBy;
			lodash.uniqWith = uniqWith;
			lodash.unset = unset;
			lodash.unzip = unzip;
			lodash.unzipWith = unzipWith;
			lodash.update = update;
			lodash.updateWith = updateWith;
			lodash.values = values;
			lodash.valuesIn = valuesIn;
			lodash.without = without;
			lodash.words = words;
			lodash.wrap = wrap;
			lodash.xor = xor;
			lodash.xorBy = xorBy;
			lodash.xorWith = xorWith;
			lodash.zip = zip;
			lodash.zipObject = zipObject;
			lodash.zipObjectDeep = zipObjectDeep;
			lodash.zipWith = zipWith;
			lodash.entries = toPairs;
			lodash.entriesIn = toPairsIn;
			lodash.extend = assignIn;
			lodash.extendWith = assignInWith;
			mixin(lodash, lodash);
			lodash.add = add;
			lodash.attempt = attempt;
			lodash.camelCase = camelCase;
			lodash.capitalize = capitalize;
			lodash.ceil = ceil;
			lodash.clamp = clamp;
			lodash.clone = clone;
			lodash.cloneDeep = cloneDeep;
			lodash.cloneDeepWith = cloneDeepWith;
			lodash.cloneWith = cloneWith;
			lodash.conformsTo = conformsTo;
			lodash.deburr = deburr;
			lodash.defaultTo = defaultTo;
			lodash.divide = divide;
			lodash.endsWith = endsWith;
			lodash.eq = eq;
			lodash.escape = escape;
			lodash.escapeRegExp = escapeRegExp;
			lodash.every = every;
			lodash.find = find;
			lodash.findIndex = findIndex;
			lodash.findKey = findKey;
			lodash.findLast = findLast;
			lodash.findLastIndex = findLastIndex;
			lodash.findLastKey = findLastKey;
			lodash.floor = floor;
			lodash.forEach = forEach;
			lodash.forEachRight = forEachRight;
			lodash.forIn = forIn;
			lodash.forInRight = forInRight;
			lodash.forOwn = forOwn;
			lodash.forOwnRight = forOwnRight;
			lodash.get = get;
			lodash.gt = gt;
			lodash.gte = gte;
			lodash.has = has;
			lodash.hasIn = hasIn;
			lodash.head = head;
			lodash.identity = identity;
			lodash.includes = includes;
			lodash.indexOf = indexOf;
			lodash.inRange = inRange;
			lodash.invoke = invoke;
			lodash.isArguments = isArguments;
			lodash.isArray = isArray;
			lodash.isArrayBuffer = isArrayBuffer;
			lodash.isArrayLike = isArrayLike;
			lodash.isArrayLikeObject = isArrayLikeObject;
			lodash.isBoolean = isBoolean;
			lodash.isBuffer = isBuffer;
			lodash.isDate = isDate;
			lodash.isElement = isElement;
			lodash.isEmpty = isEmpty;
			lodash.isEqual = isEqual;
			lodash.isEqualWith = isEqualWith;
			lodash.isError = isError;
			lodash.isFinite = isFinite;
			lodash.isFunction = isFunction;
			lodash.isInteger = isInteger;
			lodash.isLength = isLength;
			lodash.isMap = isMap;
			lodash.isMatch = isMatch;
			lodash.isMatchWith = isMatchWith;
			lodash.isNaN = isNaN;
			lodash.isNative = isNative;
			lodash.isNil = isNil;
			lodash.isNull = isNull;
			lodash.isNumber = isNumber;
			lodash.isObject = isObject;
			lodash.isObjectLike = isObjectLike;
			lodash.isPlainObject = isPlainObject;
			lodash.isRegExp = isRegExp;
			lodash.isSafeInteger = isSafeInteger;
			lodash.isSet = isSet;
			lodash.isString = isString;
			lodash.isSymbol = isSymbol;
			lodash.isTypedArray = isTypedArray;
			lodash.isUndefined = isUndefined;
			lodash.isWeakMap = isWeakMap;
			lodash.isWeakSet = isWeakSet;
			lodash.join = join;
			lodash.kebabCase = kebabCase;
			lodash.last = last;
			lodash.lastIndexOf = lastIndexOf;
			lodash.lowerCase = lowerCase;
			lodash.lowerFirst = lowerFirst;
			lodash.lt = lt;
			lodash.lte = lte;
			lodash.max = max;
			lodash.maxBy = maxBy;
			lodash.mean = mean;
			lodash.meanBy = meanBy;
			lodash.min = min;
			lodash.minBy = minBy;
			lodash.stubArray = stubArray;
			lodash.stubFalse = stubFalse;
			lodash.stubObject = stubObject;
			lodash.stubString = stubString;
			lodash.stubTrue = stubTrue;
			lodash.multiply = multiply;
			lodash.nth = nth;
			lodash.noConflict = noConflict;
			lodash.noop = noop;
			lodash.now = now;
			lodash.pad = pad;
			lodash.padEnd = padEnd;
			lodash.padStart = padStart;
			lodash.parseInt = parseInt;
			lodash.random = random;
			lodash.reduce = reduce;
			lodash.reduceRight = reduceRight;
			lodash.repeat = repeat;
			lodash.replace = replace;
			lodash.result = result;
			lodash.round = round;
			lodash.runInContext = runInContext;
			lodash.sample = sample;
			lodash.size = size;
			lodash.snakeCase = snakeCase;
			lodash.some = some;
			lodash.sortedIndex = sortedIndex;
			lodash.sortedIndexBy = sortedIndexBy;
			lodash.sortedIndexOf = sortedIndexOf;
			lodash.sortedLastIndex = sortedLastIndex;
			lodash.sortedLastIndexBy = sortedLastIndexBy;
			lodash.sortedLastIndexOf = sortedLastIndexOf;
			lodash.startCase = startCase;
			lodash.startsWith = startsWith;
			lodash.subtract = subtract;
			lodash.sum = sum;
			lodash.sumBy = sumBy;
			lodash.template = template;
			lodash.times = times;
			lodash.toFinite = toFinite;
			lodash.toInteger = toInteger;
			lodash.toLength = toLength;
			lodash.toLower = toLower;
			lodash.toNumber = toNumber;
			lodash.toSafeInteger = toSafeInteger;
			lodash.toString = toString;
			lodash.toUpper = toUpper;
			lodash.trim = trim;
			lodash.trimEnd = trimEnd;
			lodash.trimStart = trimStart;
			lodash.truncate = truncate;
			lodash.unescape = unescape;
			lodash.uniqueId = uniqueId;
			lodash.upperCase = upperCase;
			lodash.upperFirst = upperFirst;
			lodash.each = forEach;
			lodash.eachRight = forEachRight;
			lodash.first = head;
			mixin(lodash, function() {
				var source = {};
				baseForOwn(lodash, function(func, methodName) {
					if (!hasOwnProperty.call(lodash.prototype, methodName)) {
						source[methodName] = func;
					}
				});
				return source;
			}(), { "chain": false });
			/**
			* The semantic version number.
			*
			* @static
			* @memberOf _
			* @type {string}
			*/
			lodash.VERSION = VERSION;
			arrayEach([
				"bind",
				"bindKey",
				"curry",
				"curryRight",
				"partial",
				"partialRight"
			], function(methodName) {
				lodash[methodName].placeholder = lodash;
			});
			arrayEach(["drop", "take"], function(methodName, index) {
				LazyWrapper.prototype[methodName] = function(n) {
					n = n === undefined ? 1 : nativeMax(toInteger(n), 0);
					var result = this.__filtered__ && !index ? new LazyWrapper(this) : this.clone();
					if (result.__filtered__) {
						result.__takeCount__ = nativeMin(n, result.__takeCount__);
					} else {
						result.__views__.push({
							"size": nativeMin(n, MAX_ARRAY_LENGTH),
							"type": methodName + (result.__dir__ < 0 ? "Right" : "")
						});
					}
					return result;
				};
				LazyWrapper.prototype[methodName + "Right"] = function(n) {
					return this.reverse()[methodName](n).reverse();
				};
			});
			arrayEach([
				"filter",
				"map",
				"takeWhile"
			], function(methodName, index) {
				var type = index + 1, isFilter = type == LAZY_FILTER_FLAG || type == LAZY_WHILE_FLAG;
				LazyWrapper.prototype[methodName] = function(iteratee) {
					var result = this.clone();
					result.__iteratees__.push({
						"iteratee": getIteratee(iteratee, 3),
						"type": type
					});
					result.__filtered__ = result.__filtered__ || isFilter;
					return result;
				};
			});
			arrayEach(["head", "last"], function(methodName, index) {
				var takeName = "take" + (index ? "Right" : "");
				LazyWrapper.prototype[methodName] = function() {
					return this[takeName](1).value()[0];
				};
			});
			arrayEach(["initial", "tail"], function(methodName, index) {
				var dropName = "drop" + (index ? "" : "Right");
				LazyWrapper.prototype[methodName] = function() {
					return this.__filtered__ ? new LazyWrapper(this) : this[dropName](1);
				};
			});
			LazyWrapper.prototype.compact = function() {
				return this.filter(identity);
			};
			LazyWrapper.prototype.find = function(predicate) {
				return this.filter(predicate).head();
			};
			LazyWrapper.prototype.findLast = function(predicate) {
				return this.reverse().find(predicate);
			};
			LazyWrapper.prototype.invokeMap = baseRest(function(path, args) {
				if (typeof path == "function") {
					return new LazyWrapper(this);
				}
				return this.map(function(value) {
					return baseInvoke(value, path, args);
				});
			});
			LazyWrapper.prototype.reject = function(predicate) {
				return this.filter(negate(getIteratee(predicate)));
			};
			LazyWrapper.prototype.slice = function(start, end) {
				start = toInteger(start);
				var result = this;
				if (result.__filtered__ && (start > 0 || end < 0)) {
					return new LazyWrapper(result);
				}
				if (start < 0) {
					result = result.takeRight(-start);
				} else if (start) {
					result = result.drop(start);
				}
				if (end !== undefined) {
					end = toInteger(end);
					result = end < 0 ? result.dropRight(-end) : result.take(end - start);
				}
				return result;
			};
			LazyWrapper.prototype.takeRightWhile = function(predicate) {
				return this.reverse().takeWhile(predicate).reverse();
			};
			LazyWrapper.prototype.toArray = function() {
				return this.take(MAX_ARRAY_LENGTH);
			};
			baseForOwn(LazyWrapper.prototype, function(func, methodName) {
				var checkIteratee = /^(?:filter|find|map|reject)|While$/.test(methodName), isTaker = /^(?:head|last)$/.test(methodName), lodashFunc = lodash[isTaker ? "take" + (methodName == "last" ? "Right" : "") : methodName], retUnwrapped = isTaker || /^find/.test(methodName);
				if (!lodashFunc) {
					return;
				}
				lodash.prototype[methodName] = function() {
					var value = this.__wrapped__, args = isTaker ? [1] : arguments, isLazy = value instanceof LazyWrapper, iteratee = args[0], useLazy = isLazy || isArray(value);
					var interceptor = function(value) {
						var result = lodashFunc.apply(lodash, arrayPush([value], args));
						return isTaker && chainAll ? result[0] : result;
					};
					if (useLazy && checkIteratee && typeof iteratee == "function" && iteratee.length != 1) {
						isLazy = useLazy = false;
					}
					var chainAll = this.__chain__, isHybrid = !!this.__actions__.length, isUnwrapped = retUnwrapped && !chainAll, onlyLazy = isLazy && !isHybrid;
					if (!retUnwrapped && useLazy) {
						value = onlyLazy ? value : new LazyWrapper(this);
						var result = func.apply(value, args);
						result.__actions__.push({
							"func": thru,
							"args": [interceptor],
							"thisArg": undefined
						});
						return new LodashWrapper(result, chainAll);
					}
					if (isUnwrapped && onlyLazy) {
						return func.apply(this, args);
					}
					result = this.thru(interceptor);
					return isUnwrapped ? isTaker ? result.value()[0] : result.value() : result;
				};
			});
			arrayEach([
				"pop",
				"push",
				"shift",
				"sort",
				"splice",
				"unshift"
			], function(methodName) {
				var func = arrayProto[methodName], chainName = /^(?:push|sort|unshift)$/.test(methodName) ? "tap" : "thru", retUnwrapped = /^(?:pop|shift)$/.test(methodName);
				lodash.prototype[methodName] = function() {
					var args = arguments;
					if (retUnwrapped && !this.__chain__) {
						var value = this.value();
						return func.apply(isArray(value) ? value : [], args);
					}
					return this[chainName](function(value) {
						return func.apply(isArray(value) ? value : [], args);
					});
				};
			});
			baseForOwn(LazyWrapper.prototype, function(func, methodName) {
				var lodashFunc = lodash[methodName];
				if (lodashFunc) {
					var key = lodashFunc.name + "";
					if (!hasOwnProperty.call(realNames, key)) {
						realNames[key] = [];
					}
					realNames[key].push({
						"name": methodName,
						"func": lodashFunc
					});
				}
			});
			realNames[createHybrid(undefined, WRAP_BIND_KEY_FLAG).name] = [{
				"name": "wrapper",
				"func": undefined
			}];
			LazyWrapper.prototype.clone = lazyClone;
			LazyWrapper.prototype.reverse = lazyReverse;
			LazyWrapper.prototype.value = lazyValue;
			lodash.prototype.at = wrapperAt;
			lodash.prototype.chain = wrapperChain;
			lodash.prototype.commit = wrapperCommit;
			lodash.prototype.next = wrapperNext;
			lodash.prototype.plant = wrapperPlant;
			lodash.prototype.reverse = wrapperReverse;
			lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue;
			lodash.prototype.first = lodash.prototype.head;
			if (symIterator) {
				lodash.prototype[symIterator] = wrapperToIterator;
			}
			return lodash;
		});
		var _ = runInContext();
		if (typeof define == "function" && typeof define.amd == "object" && define.amd) {
			root._ = _;
			define(function() {
				return _;
			});
		} else if (freeModule) {
			(freeModule.exports = _)._ = _;
			freeExports._ = _;
		} else {
			root._ = _;
		}
	}).call(exports);
}));

//#endregion
//#region ../utils/natsort.js
var import_lodash = /* @__PURE__ */ __toESM(require_lodash(), 1);
/**
* 自然排序比较函数模块
* 
* 提供智能的字符串比较功能，支持：
* - 数字的自然排序（如：file1.txt, file2.txt, file10.txt）
* - 日期格式的比较
* - 十六进制数字的比较
* - 大小写敏感/不敏感的比较
* - 中文字符的本地化比较
* 
* ESM Module: Natural Compare Function
*/
/**
* 自然比较函数工厂
* 创建一个自定义的字符串比较函数，支持多种排序选项
* 
* @param {Object} options - 比较选项
* @param {boolean} options.desc - 是否降序排列，默认false（升序）
* @param {boolean} options.insensitive - 是否忽略大小写，默认false（区分大小写）
* @returns {Function} 返回比较函数，用于Array.sort()等方法
*/
function naturalCompareFactory(options) {
	/**
	* 将字符串分割为token数组
	* 使用正则表达式将字符串分割为数字和非数字部分
	* 
	* @param {string} str - 要分割的字符串
	* @returns {Array} 分割后的token数组
	*/
	function splitString(str) {
		return str.replace(tokenRegex, "\0$1\0").replace(/\0$/, "").replace(/^\0/, "").split("\0");
	}
	/**
	* 解析token为数字或字符串
	* 尝试将token转换为数字，如果不能转换则返回处理后的字符串
	* 
	* @param {string} token - 要解析的token
	* @param {number} length - token数组的长度
	* @returns {number|string} 解析后的数字或字符串
	*/
	function parseToken(token, length) {
		return (!token.match(leadingZeroRegex) || length === 1) && parseFloat(token) || token.replace(whitespaceRegex, " ").replace(trimRegex, "") || 0;
	}
	options = options || {};
	const leadingZeroRegex = /^0/, whitespaceRegex = /\s+/g, trimRegex = /^\s+|\s+$/g, unicodeRegex = /[^\x00-\x80]/, hexRegex = /^0x[0-9a-f]+$/i, tokenRegex = /(0x[\da-fA-F]+|(^[\+\-]?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?(?=\D|\s|$))|\d+)/g, dateRegex = /(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/, toLowerCase = String.prototype.toLocaleLowerCase || String.prototype.toLowerCase, ascending = options.desc ? -1 : 1, descending = -ascending, preprocess = options.insensitive ? (str) => toLowerCase.call("" + str).replace(trimRegex, "") : (str) => ("" + str).replace(trimRegex, "");
	/**
	* 字符串比较函数
	* 实现自然排序的核心比较逻辑
	* 
	* @param {*} a - 第一个比较值
	* @param {*} b - 第二个比较值
	* @returns {number} 比较结果：-1(a<b), 0(a=b), 1(a>b)
	*/
	return function compareStrings(a, b) {
		const strA = preprocess(a);
		const strB = preprocess(b);
		if (!strA && !strB) return 0;
		if (!strA && strB) return descending;
		if (strA && !strB) return ascending;
		const tokensA = splitString(strA);
		const tokensB = splitString(strB);
		const hexMatchA = strA.match(hexRegex);
		const hexMatchB = strB.match(hexRegex);
		const parsedDateA = hexMatchA && hexMatchB ? parseInt(hexMatchA[0], 16) : tokensA.length > 1 ? Date.parse(strA) : null;
		const parsedDateB = hexMatchA && hexMatchB ? parseInt(hexMatchB[0], 16) : parsedDateA && strB.match(dateRegex) ? Date.parse(strB) : null;
		if (parsedDateA && parsedDateB) {
			if (parsedDateA === parsedDateB) return 0;
			return parsedDateA < parsedDateB ? descending : ascending;
		}
		const maxTokens = Math.max(tokensA.length, tokensB.length);
		for (let i = 0; i < maxTokens; i++) {
			const tokenA = parseToken(tokensA[i] || "", tokensA.length);
			const tokenB = parseToken(tokensB[i] || "", tokensB.length);
			if (isNaN(tokenA) !== isNaN(tokenB)) return isNaN(tokenA) ? ascending : descending;
			if (unicodeRegex.test(tokenA + tokenB) && tokenA.localeCompare) {
				const localeComparison = tokenA.localeCompare(tokenB, "zh-CN", {
					numeric: true,
					sensitivity: "base"
				});
				if (localeComparison !== 0) return localeComparison * ascending;
			}
			if (tokenA < tokenB) return descending;
			if (tokenA > tokenB) return ascending;
			if ("" + tokenA < "" + tokenB) return descending;
			if ("" + tokenA > "" + tokenB) return ascending;
		}
		return 0;
	};
}
/**
* 预配置的自然比较函数
* 使用升序排列和大小写不敏感的比较
* 
* @example
* const arr = ['file10.txt', 'file2.txt', 'file1.txt'];
* arr.sort(naturalCompare);
* // 结果: ['file1.txt', 'file2.txt', 'file10.txt']
*/
const naturalCompare = naturalCompareFactory({
	desc: false,
	insensitive: true
});

//#endregion
//#region ../utils/utils.js
var utils_exports$1 = /* @__PURE__ */ __exportAll({
	$js: () => $js$1,
	computeHash: () => computeHash$1,
	createBasicAuthHeaders: () => createBasicAuthHeaders$1,
	deepCopy: () => deepCopy$1,
	getNowTime: () => getNowTime$1,
	getTitleLength: () => getTitleLength,
	get_size: () => get_size$1,
	joinUrl: () => joinUrl$1,
	keysToLowerCase: () => keysToLowerCase$1,
	naturalSort: () => naturalSort$1,
	naturalSortAny: () => naturalSortAny,
	sleep: () => sleep$2,
	sleepSync: () => sleepSync$1,
	updateQueryString: () => updateQueryString,
	urljoin: () => urljoin$2,
	urljoin2: () => urljoin2$1
});
const { cloneDeep } = import_lodash.default;
function getTitleLength(title) {
	return title.length;
}
function getNowTime$1() {
	return new Date().getTime();
}
async function sleep$2(ms) {
	return new Promise((resolve) => {
		setTimeout(() => {
			resolve();
		}, ms);
	});
}
function sleepSync$1(ms) {
	const end = Date.now() + ms;
	while (Date.now() < end) {}
}
/**
* 计算文件内容的 hash 值
* @param {string} content - 文件内容
* @returns {string} - 文件内容的 hash 值
*/
function computeHash$1(content) {
	return crypto$1.createHash("sha256").update(content, "utf8").digest("hex");
}
/**
* 将obj所有key变小写
* @param obj
*/
function keysToLowerCase$1(obj) {
	return Object.keys(obj).reduce((result, key) => {
		const newKey = key.toLowerCase();
		result[newKey] = obj[key];
		return result;
	}, {});
}
const deepCopy$1 = cloneDeep;
const resolve$1 = (from, to) => {
	const resolvedUrl = new URL(to, new URL(from, "resolve://"));
	if (resolvedUrl.protocol === "resolve:") {
		const { pathname, search, hash } = resolvedUrl;
		return pathname + search + hash;
	}
	return resolvedUrl.href;
};
/**
*  url拼接
* @param fromPath 初始当前页面url
* @param nowPath 相对当前页面url
* @returns {*}
*/
const urljoin$2 = (fromPath, nowPath) => {
	fromPath = fromPath || "";
	nowPath = nowPath || "";
	return resolve$1(fromPath, nowPath);
};
const urljoin2$1 = urljoin$2;
const joinUrl$1 = urljoin$2;
const updateQueryString = (originalUrl, newQuery) => {
	const parsedUrl = new URL(originalUrl);
	if (newQuery === "" || newQuery === "?") {
		return parsedUrl.href;
	}
	const newQueryParams = new URLSearchParams(newQuery.slice(1));
	newQueryParams.forEach((value, key) => {
		parsedUrl.searchParams.append(key, value);
	});
	return decodeURIComponent(parsedUrl.href);
};
function naturalSort$1(arr, key, customOrder = []) {
	return arr.sort((a, b) => {
		const aValue = a[key];
		const bValue = b[key];
		const aIndex = customOrder.findIndex((item) => aValue.includes(item));
		const bIndex = customOrder.findIndex((item) => bValue.includes(item));
		if (aIndex !== -1 && bIndex !== -1) {
			return aIndex - bIndex;
		} else if (aIndex !== -1) {
			return -1;
		} else if (bIndex !== -1) {
			return 1;
		}
		return naturalCompare(aValue, bValue);
	});
}
function naturalSortAny(arr, key, customOrder = []) {
	return arr.sort((a, b) => {
		const EQUAL = 0;
		const GREATER = 1;
		const SMALLER = -1;
		const options = { caseSensitive: false };
		const re = /(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+$|[0-9]+)/gi;
		const sre = /(^[ ]*|[ ]*$)/g;
		const dre = /(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/;
		const hre = /^0x[0-9a-f]+$/i;
		const ore = /^0/;
		const normalize = function normalize(value) {
			const string = "" + value;
			return options.caseSensitive ? string : string.toLowerCase();
		};
		const x = normalize(a[key]).replace(sre, "") || "";
		const y = normalize(b[key]).replace(sre, "") || "";
		const xIndex = customOrder.findIndex((item) => x.includes(item));
		const yIndex = customOrder.findIndex((item) => y.includes(item));
		if (xIndex !== -1 || yIndex !== -1) {
			if (xIndex === -1) return GREATER;
			if (yIndex === -1) return SMALLER;
			return xIndex - yIndex;
		}
		const xN = x.replace(re, "\0$1\0").replace(/\0$/, "").replace(/^\0/, "").split("\0");
		const yN = y.replace(re, "\0$1\0").replace(/\0$/, "").replace(/^\0/, "").split("\0");
		if (!x && !y) return EQUAL;
		if (!x && y) return GREATER;
		if (x && !y) return SMALLER;
		const xD = parseInt(x.match(hre)) || xN.length != 1 && x.match(dre) && Date.parse(x);
		const yD = parseInt(y.match(hre)) || xD && y.match(dre) && Date.parse(y) || null;
		let oFxNcL, oFyNcL;
		if (yD) {
			if (xD < yD) return SMALLER;
			else if (xD > yD) return GREATER;
		}
		for (let cLoc = 0, numS = Math.max(xN.length, yN.length); cLoc < numS; cLoc++) {
			oFxNcL = !(xN[cLoc] || "").match(ore) && parseFloat(xN[cLoc]) || xN[cLoc] || 0;
			oFyNcL = !(yN[cLoc] || "").match(ore) && parseFloat(yN[cLoc]) || yN[cLoc] || 0;
			if (isNaN(oFxNcL) !== isNaN(oFyNcL)) return isNaN(oFxNcL) ? GREATER : SMALLER;
			else if (typeof oFxNcL !== typeof oFyNcL) {
				oFxNcL += "";
				oFyNcL += "";
			}
			if (oFxNcL < oFyNcL) return SMALLER;
			if (oFxNcL > oFyNcL) return GREATER;
		}
		return EQUAL;
	});
}
/**
* 构造Basic验证请求头
* @param {string} username - 用户名，如果不提供则从环境变量API_AUTH_NAME获取
* @param {string} password - 密码，如果不提供则从环境变量API_AUTH_CODE获取
* @returns {Object} - 包含Authorization头的对象
*/
function createBasicAuthHeaders$1(username, password) {
	const authName = username || process.env.API_AUTH_NAME;
	const authCode = password || process.env.API_AUTH_CODE;
	const credentials = Buffer.from(`${authName}:${authCode}`).toString("base64");
	return { "Authorization": `Basic ${credentials}` };
}
function get_size$1(sz) {
	if (sz <= 0) {
		return "";
	}
	let filesize = "";
	if (sz > 1024 * 1024 * 1024 * 1024) {
		sz /= 1024 * 1024 * 1024 * 1024;
		filesize = "TB";
	} else if (sz > 1024 * 1024 * 1024) {
		sz /= 1024 * 1024 * 1024;
		filesize = "GB";
	} else if (sz > 1024 * 1024) {
		sz /= 1024 * 1024;
		filesize = "MB";
	} else if (sz > 1024) {
		sz /= 1024;
		filesize = "KB";
	} else {
		filesize = "B";
	}
	let sizeStr = sz.toFixed(2) + filesize, index = sizeStr.indexOf("."), dou = sizeStr.substr(index + 1, 2);
	if (dou === "00") {
		return sizeStr.substring(0, index) + sizeStr.substr(index + 3, 2);
	} else {
		return sizeStr;
	}
}
const $js$1 = { toString(func) {
	let strfun = func.toString();
	strfun = strfun.replace(/^(async\s*)?\(\)(\s+)?=>(\s+)?\{/, "js:");
	strfun = strfun.replace(/\}$/, "");
	strfun = strfun.replace(/^js:\s*/, "js:").replace(/\s*$/, "");
	return strfun;
} };

//#endregion
//#region ../utils/misc.js
var misc_exports = /* @__PURE__ */ __exportAll({
	IOS_UA: () => IOS_UA$1,
	MAC_UA: () => MAC_UA,
	MOBILE_UA: () => MOBILE_UA$1,
	PC_UA: () => PC_UA$1,
	UA: () => UA$1,
	UC_UA: () => UC_UA$1,
	fixUrl: () => fixUrl,
	formatPlayUrl: () => formatPlayUrl,
	formatPlayUrl2: () => formatPlayUrl2,
	jsonParse: () => jsonParse,
	rand: () => rand,
	randDevice: () => randDevice,
	randDeviceWithId: () => randDeviceWithId,
	randMAC: () => randMAC,
	randStr: () => randStr$1,
	randUUID: () => randUUID,
	stripHtmlTag: () => stripHtmlTag
});
/**
* 杂项工具函数模块
* 
* 提供各种实用的工具函数，包括：
* - 随机数生成和字符串生成
* - 设备信息模拟
* - URL处理和格式化
* - 字符串处理和清理
* - JSON解析和处理
* 
* @author drpy-node
* @version 1.0.0
*/
var charStr$1 = "abacdefghjklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789";
/**
* 生成指定范围内的随机整数
* 
* @param {number} min - 最小值（包含）
* @param {number} max - 最大值（包含）
* @returns {number} 随机整数
* 
* @example
* rand(1, 10); // 返回1-10之间的随机整数
*/
function rand(min, max) {
	return Math.floor(Math.random() * (max - min + 1)) + min;
}
/**
* 生成指定长度的随机字符串
* 
* @param {number} len - 字符串长度
* @param {boolean} withNum - 是否包含数字，默认为true
* @param {boolean} onlyNum - 是否只包含数字，默认为false
* @returns {string} 随机字符串
* 
* @example
* randStr(8); // 生成8位包含字母和数字的随机字符串
* randStr(6, false); // 生成6位只包含字母的随机字符串
* randStr(4, true, true); // 生成4位只包含数字的随机字符串
*/
function randStr$1(len, withNum, onlyNum) {
	var _str = "";
	let containsNum = withNum === undefined ? true : withNum;
	for (var i = 0; i < len; i++) {
		let idx = onlyNum ? rand(charStr$1.length - 10, charStr$1.length - 1) : rand(0, containsNum ? charStr$1.length - 1 : charStr$1.length - 11);
		_str += charStr$1[idx];
	}
	return _str;
}
/**
* 生成随机UUID（格式：xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx）
* 
* @returns {string} 随机UUID字符串
* 
* @example
* randUUID(); // 返回类似 "a1b2c3d4-e5f6-7890-abcd-ef1234567890" 的UUID
*/
function randUUID() {
	return randStr$1(8).toLowerCase() + "-" + randStr$1(4).toLowerCase() + "-" + randStr$1(4).toLowerCase() + "-" + randStr$1(4).toLowerCase() + "-" + randStr$1(12).toLowerCase();
}
/**
* 生成随机MAC地址（格式：XX:XX:XX:XX:XX:XX）
* 
* @returns {string} 随机MAC地址字符串
* 
* @example
* randMAC(); // 返回类似 "A1:B2:C3:D4:E5:F6" 的MAC地址
*/
function randMAC() {
	return randStr$1(2).toUpperCase() + ":" + randStr$1(2).toUpperCase() + ":" + randStr$1(2).toUpperCase() + ":" + randStr$1(2).toUpperCase() + ":" + randStr$1(2).toUpperCase() + ":" + randStr$1(2).toUpperCase();
}
const deviceBrands = ["Huawei", "Xiaomi"];
const deviceModels = [[
	"MHA-AL00",
	"HUAWEI Mate 9",
	"MHA-TL00",
	"HUAWEI Mate 9",
	"LON-AL00",
	"HUAWEI Mate 9 Pro",
	"ALP-AL00",
	"HUAWEI Mate 10",
	"ALP-TL00",
	"HUAWEI Mate 10",
	"BLA-AL00",
	"HUAWEI Mate 10 Pro",
	"BLA-TL00",
	"HUAWEI Mate 10 Pro",
	"HMA-AL00",
	"HUAWEI Mate 20",
	"HMA-TL00",
	"HUAWEI Mate 20",
	"LYA-AL00",
	"HUAWEI Mate 20 Pro",
	"LYA-AL10",
	"HUAWEI Mate 20 Pro",
	"LYA-TL00",
	"HUAWEI Mate 20 Pro",
	"EVR-AL00",
	"HUAWEI Mate 20 X",
	"EVR-TL00",
	"HUAWEI Mate 20 X",
	"EVR-AN00",
	"HUAWEI Mate 20 X",
	"TAS-AL00",
	"HUAWEI Mate 30",
	"TAS-TL00",
	"HUAWEI Mate 30",
	"TAS-AN00",
	"HUAWEI Mate 30",
	"TAS-TN00",
	"HUAWEI Mate 30",
	"LIO-AL00",
	"HUAWEI Mate 30 Pro",
	"LIO-TL00",
	"HUAWEI Mate 30 Pro",
	"LIO-AN00",
	"HUAWEI Mate 30 Pro",
	"LIO-TN00",
	"HUAWEI Mate 30 Pro",
	"LIO-AN00m",
	"HUAWEI Mate 30E Pro",
	"OCE-AN10",
	"HUAWEI Mate 40",
	"OCE-AN50",
	"HUAWEI Mate 40E",
	"OCE-AL50",
	"HUAWEI Mate 40E",
	"NOH-AN00",
	"HUAWEI Mate 40 Pro",
	"NOH-AN01",
	"HUAWEI Mate 40 Pro",
	"NOH-AL00",
	"HUAWEI Mate 40 Pro",
	"NOH-AL10",
	"HUAWEI Mate 40 Pro",
	"NOH-AN50",
	"HUAWEI Mate 40E Pro",
	"NOP-AN00",
	"HUAWEI Mate 40 Pro",
	"CET-AL00",
	"HUAWEI Mate 50",
	"CET-AL60",
	"HUAWEI Mate 50E",
	"DCO-AL00",
	"HUAWEI Mate 50 Pro",
	"TAH-AN00",
	"HUAWEI Mate X",
	"TAH-AN00m",
	"HUAWEI Mate Xs",
	"TET-AN00",
	"HUAWEI Mate X2",
	"TET-AN10",
	"HUAWEI Mate X2",
	"TET-AN50",
	"HUAWEI Mate X2",
	"TET-AL00",
	"HUAWEI Mate X2",
	"PAL-AL00",
	"HUAWEI Mate Xs 2",
	"PAL-AL10",
	"HUAWEI Mate Xs 2",
	"EVA-AL00",
	"HUAWEI P9",
	"EVA-AL10",
	"HUAWEI P9",
	"EVA-TL00",
	"HUAWEI P9",
	"EVA-DL00",
	"HUAWEI P9",
	"EVA-CL00",
	"HUAWEI P9",
	"VIE-AL10",
	"HUAWEI P9 Plus",
	"VTR-AL00",
	"HUAWEI P10",
	"VTR-TL00",
	"HUAWEI P10",
	"VKY-AL00",
	"HUAWEI P10 Plus",
	"VKY-TL00",
	"HUAWEI P10 Plus",
	"EML-AL00",
	"HUAWEI P20",
	"EML-TL00",
	"HUAWEI P20",
	"CLT-AL00",
	"HUAWEI P20 Pro",
	"CLT-AL01",
	"HUAWEI P20 Pro",
	"CLT-AL00l",
	"HUAWEI P20 Pro",
	"CLT-TL00",
	"HUAWEI P20 Pro",
	"CLT-TL01",
	"HUAWEI P20 Pro",
	"ELE-AL00",
	"HUAWEI P30",
	"ELE-TL00",
	"HUAWEI P30",
	"VOG-AL00",
	"HUAWEI P30 Pro",
	"VOG-AL10",
	"HUAWEI P30 Pro",
	"VOG-TL00",
	"HUAWEI P30 Pro",
	"ANA-AL00",
	"HUAWEI P40",
	"ANA-AN00",
	"HUAWEI P40",
	"ANA-TN00",
	"HUAWEI P40",
	"ELS-AN00",
	"HUAWEI P40 Pro",
	"ELS-TN00",
	"HUAWEI P40 Pro",
	"ELS-AN10",
	"HUAWEI P40 Pro",
	"ELS-TN10",
	"HUAWEI P40 Pro",
	"ABR-AL00",
	"HUAWEI P50",
	"ABR-AL80",
	"HUAWEI P50",
	"ABR-AL60",
	"HUAWEI P50E",
	"ABR-AL90",
	"HUAWEI P50E",
	"JAD-AL00",
	"HUAWEI P50 Pro",
	"JAD-AL80",
	"HUAWEI P50 Pro",
	"JAD-AL50",
	"HUAWEI P50 Pro",
	"JAD-AL60",
	"HUAWEI P50 Pro",
	"BAL-AL00",
	"HUAWEI P50 Pocket",
	"BAL-AL60",
	"HUAWEI Pocket S",
	"PIC-AL00",
	"HUAWEI nova 2",
	"PIC-TL00",
	"HUAWEI nova 2",
	"BAC-AL00",
	"HUAWEI nova 2 Plus",
	"BAC-TL00",
	"HUAWEI nova 2 Plus",
	"HWI-AL00",
	"HUAWEI nova 2s",
	"HWI-TL00",
	"HUAWEI nova 2s",
	"ANE-AL00",
	"HUAWEI nova 3e",
	"ANE-TL00",
	"HUAWEI nova 3e",
	"PAR-AL00",
	"HUAWEI nova 3",
	"PAR-TL00",
	"HUAWEI nova 3",
	"INE-AL00",
	"HUAWEI nova 3i",
	"INE-TL00",
	"HUAWEI nova 3i",
	"VCE-AL00",
	"HUAWEI nova 4",
	"VCE-TL00",
	"HUAWEI nova 4",
	"MAR-AL00",
	"HUAWEI nova 4e",
	"MAR-TL00",
	"HUAWEI nova 4e",
	"SEA-AL00",
	"HUAWEI nova 5",
	"SEA-TL00",
	"HUAWEI nova 5",
	"SEA-AL10",
	"HUAWEI nova 5 Pro",
	"SEA-TL10",
	"HUAWEI nova 5 Pro",
	"GLK-AL00",
	"HUAWEI nova 5i",
	"GLK-TL00",
	"HUAWEI nova 5i",
	"GLK-LX1U",
	"HUAWEI nova 5i",
	"SPN-TL00",
	"HUAWEI nova 5i Pro",
	"SPN-AL00",
	"HUAWEI nova 5z",
	"WLZ-AL10",
	"HUAWEI nova 6",
	"WLZ-AN00",
	"HUAWEI nova 6",
	"JNY-AL10",
	"HUAWEI nova 6 SE",
	"JNY-TL10",
	"HUAWEI nova 6 SE",
	"JEF-AN00",
	"HUAWEI nova 7",
	"JEF-AN20",
	"HUAWEI nova 7",
	"JEF-TN00",
	"HUAWEI nova 7",
	"JEF-TN20",
	"HUAWEI nova 7",
	"JER-AN10",
	"HUAWEI nova 7 Pro",
	"JER-AN20",
	"HUAWEI nova 7 Pro",
	"JER-TN10",
	"HUAWEI nova 7 Pro",
	"JER-TN20",
	"HUAWEI nova 7 Pro",
	"CDY-AN00",
	"HUAWEI nova 7 SE",
	"CDY-AN20",
	"HUAWEI nova 7 SE",
	"CDY-TN00",
	"HUAWEI nova 7 SE",
	"CDY-TN20",
	"HUAWEI nova 7 SE",
	"ANG-AN00",
	"HUAWEI nova 8",
	"BRQ-AN00",
	"HUAWEI nova 8 Pro",
	"BRQ-AL00",
	"HUAWEI nova 8 Pro",
	"JSC-AN00",
	"HUAWEI nova 8 SE",
	"JSC-TN00",
	"HUAWEI nova 8 SE",
	"JSC-AL50",
	"HUAWEI nova 8 SE",
	"NAM-AL00",
	"HUAWEI nova 9",
	"RTE-AL00",
	"HUAWEI nova 9 Pro",
	"JLN-AL00",
	"HUAWEI nova 9 SE",
	"NCO-AL00",
	"HUAWEI nova 10",
	"GLA-AL00",
	"HUAWEI nova 10 Pro",
	"CHA-AL80",
	"HUAWEI nova 10z"
], [
	"M2001J2C",
	"Xiaomi 10",
	"M2001J2G",
	"Xiaomi 10",
	"M2001J2I",
	"Xiaomi 10",
	"M2011K2C",
	"Xiaomi 11",
	"M2011K2G",
	"Xiaomi 11",
	"2201123C",
	"Xiaomi 12",
	"2201123G",
	"Xiaomi 12",
	"2112123AC",
	"Xiaomi 12X",
	"2112123AG",
	"Xiaomi 12X",
	"2201122C",
	"Xiaomi 12 Pro",
	"2201122G",
	"Xiaomi 12 Pro"
]];
/**
* 生成随机设备信息
* 
* @returns {Object} 包含品牌、型号、系统版本和构建ID的设备信息对象
* @property {string} brand - 设备品牌
* @property {string} model - 设备型号
* @property {number} release - Android版本号
* @property {string} buildId - 构建ID
* 
* @example
* randDevice(); // 返回 {brand: "Huawei", model: "HUAWEI Mate 30", release: 10, buildId: "ABC12D"}
*/
function randDevice() {
	let brandIdx = rand(0, deviceBrands.length - 1);
	let brand = deviceBrands[brandIdx];
	let modelIdx = rand(0, deviceModels[brandIdx].length / 2 - 1);
	let model = deviceModels[brandIdx][modelIdx * 2 + 1];
	let release = rand(8, 13);
	let buildId = randStr$1(3, false).toUpperCase() + rand(11, 99) + randStr$1(1, false).toUpperCase();
	return {
		brand,
		model,
		release,
		buildId
	};
}
/**
* 生成带有随机ID的设备信息
* 
* @param {number} len - 设备ID的长度
* @returns {Object} 包含设备信息和随机ID的对象
* 
* @example
* randDeviceWithId(16); // 返回设备信息对象，额外包含16位随机ID
*/
function randDeviceWithId(len) {
	let device = randDevice();
	device["id"] = randStr$1(len);
	return device;
}
const MOBILE_UA$1 = "Mozilla/5.0 (Linux; Android 11; M2007J3SC Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045714 Mobile Safari/537.36";
const PC_UA$1 = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36";
const UA$1 = "Mozilla/5.0";
const UC_UA$1 = "Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36";
const IOS_UA$1 = "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";
const MAC_UA = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0";
/**
* 格式化播放URL名称
* 
* 清理播放URL名称，移除源URL和特殊字符
* 
* @param {string} src - 源URL
* @param {string} name - 播放名称
* @returns {string} 格式化后的播放名称
* 
* @example
* formatPlayUrl('http://example.com', '《电影名称》http://example.com'); // 返回 "电影名称"
*/
function formatPlayUrl(src, name) {
	if (src.trim() == name.trim()) {
		return name;
	}
	return name.trim().replaceAll(src, "").replace(/<|>|《|》/g, "").replace(/\$|#/g, " ").trim();
}
/**
* 格式化播放URL名称（保留$后的内容）
* 
* 类似formatPlayUrl，但保留$符号及其后的内容
* 
* @param {string} src - 源URL
* @param {string} name - 播放名称
* @returns {string} 格式化后的播放名称
* 
* @example
* formatPlayUrl2('http://example.com', '电影名称$高清'); // 返回 "电影名称$高清"
*/
function formatPlayUrl2(src, name) {
	var idx = name.indexOf("$");
	if (idx <= 0) {
		return formatPlayUrl(src, name);
	}
	return formatPlayUrl(src, name.substring(0, idx)) + name.substring(idx);
}
/**
* 清除HTML标签和实体
* 
* 移除字符串中的HTML标签、HTML实体和多余空格
* 
* @param {string} src - 包含HTML的源字符串
* @returns {string} 清理后的纯文本字符串
* 
* @example
* stripHtmlTag('<p>Hello &nbsp; World</p>'); // 返回 "Hello World"
*/
function stripHtmlTag(src) {
	return src.replace(/<\/?[^>]+(>|$)/g, "").replace(/&.{1,5};/g, "").replace(/\s{2,}/g, " ");
}
/**
* 修复相对URL为绝对URL
* 
* 将相对URL转换为基于base URL的绝对URL
* 
* @param {string} base - 基础URL
* @param {string} src - 需要修复的URL
* @returns {string} 修复后的绝对URL
* 
* @example
* fixUrl('https://example.com', '/path/to/resource'); // 返回 "https://example.com/path/to/resource"
* fixUrl('https://example.com', '//cdn.example.com/file'); // 返回 "https://cdn.example.com/file"
*/
function fixUrl(base, src) {
	try {
		if (src.startsWith("//")) {
			let parse = new URL(base);
			let host = src.substring(2, src.indexOf("/", 2));
			if (!host.includes(".")) {
				src = parse.protocol + "://" + parse.host + src.substring(1);
			} else {
				src = parse.protocol + ":" + src;
			}
		} else if (!src.includes("://")) {
			let parse = new URL(base);
			src = parse.protocol + "://" + parse.host + src;
		}
	} catch (error) {}
	return src;
}
/**
* 解析JSON配置并构建请求对象
* 
* 从JSON配置中提取URL和请求头信息
* 
* @param {*} input - 输入参数（未使用）
* @param {Object} json - JSON配置对象
* @param {string} json.url - 请求URL
* @param {Object} json.headers - 请求头对象
* @param {string} json['user-agent'] - User-Agent字符串
* @param {string} json.referer - Referer字符串
* @returns {Object} 包含header和url的请求对象
* 
* @example
* jsonParse(null, {
*   url: '//example.com/api',
*   'user-agent': 'Custom UA',
*   referer: 'https://example.com'
* }); // 返回 {header: {'User-Agent': 'Custom UA', 'Referer': 'https://example.com'}, url: 'https://example.com/api'}
*/
function jsonParse(input, json) {
	try {
		let url = json.url || "";
		if (url.startsWith("//")) {
			url = "https:" + url;
		}
		if (!url.startsWith("http")) {
			return {};
		}
		let headers = json["headers"] || {};
		let ua = (json["user-agent"] || "").trim();
		if (ua.length > 0) {
			headers["User-Agent"] = ua;
		}
		let referer = (json["referer"] || "").trim();
		if (referer.length > 0) {
			headers["Referer"] = referer;
		}
		return {
			header: headers,
			url
		};
	} catch (error) {
		console.log(error);
	}
	return {};
}

//#endregion
//#region ../utils/cookieManager.js
/**
* RegExp to match cookie-name in RFC 6265 sec 4.1.1
* This refers out to the obsoleted definition of token in RFC 2616 sec 2.2
* which has been replaced by the token definition in RFC 7230 appendix B.
*
* cookie-name       = token
* token             = 1*tchar
* tchar             = "!" / "#" / "$" / "%" / "&" / "'" /
*                     "*" / "+" / "-" / "." / "^" / "_" /
*                     "`" / "|" / "~" / DIGIT / ALPHA
*
* Note: Allowing more characters - https://github.com/jshttp/cookie/issues/191
* Allow same range as cookie value, except `=`, which delimits end of name.
*/
const cookieNameRegExp = /^[\u0021-\u003A\u003C\u003E-\u007E]+$/;
/**
* RegExp to match cookie-value in RFC 6265 sec 4.1.1
*
* cookie-value      = *cookie-octet / ( DQUOTE *cookie-octet DQUOTE )
* cookie-octet      = %x21 / %x23-2B / %x2D-3A / %x3C-5B / %x5D-7E
*                     ; US-ASCII characters excluding CTLs,
*                     ; whitespace DQUOTE, comma, semicolon,
*                     ; and backslash
*
* Allowing more characters: https://github.com/jshttp/cookie/issues/191
* Comma, backslash, and DQUOTE are not part of the parsing algorithm.
*/
const cookieValueRegExp = /^[\u0021-\u003A\u003C-\u007E]*$/;
/**
* RegExp to match domain-value in RFC 6265 sec 4.1.1
*
* domain-value      = <subdomain>
*                     ; defined in [RFC1034], Section 3.5, as
*                     ; enhanced by [RFC1123], Section 2.1
* <subdomain>       = <label> | <subdomain> "." <label>
* <label>           = <let-dig> [ [ <ldh-str> ] <let-dig> ]
*                     Labels must be 63 characters or less.
*                     'let-dig' not 'letter' in the first char, per RFC1123
* <ldh-str>         = <let-dig-hyp> | <let-dig-hyp> <ldh-str>
* <let-dig-hyp>     = <let-dig> | "-"
* <let-dig>         = <letter> | <digit>
* <letter>          = any one of the 52 alphabetic characters A through Z in
*                     upper case and a through z in lower case
* <digit>           = any one of the ten digits 0 through 9
*
* Keep support for leading dot: https://github.com/jshttp/cookie/issues/173
*
* > (Note that a leading %x2E ("."), if present, is ignored even though that
* character is not permitted, but a trailing %x2E ("."), if present, will
* cause the user agent to ignore the attribute.)
*/
const domainValueRegExp = /^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i;
/**
* RegExp to match path-value in RFC 6265 sec 4.1.1
*
* path-value        = <any CHAR except CTLs or ";">
* CHAR              = %x01-7F
*                     ; defined in RFC 5234 appendix B.1
*/
const pathValueRegExp = /^[\u0020-\u003A\u003D-\u007E]*$/;
const __toString = Object.prototype.toString;
const NullObject = (() => {
	const C = function() {};
	C.prototype = Object.create(null);
	return C;
})();
/**
* Parse a cookie header.
*
* Parse the given cookie header string into an object
* The object has the various cookies as keys(names) => values
*/
function parse$7(input, options) {
	const obj = new NullObject();
	const dec = options?.decode || decode$1;
	const headers = Array.isArray(input) ? input : [input];
	for (const str of headers) {
		const len = str.length;
		if (len < 2) continue;
		let index = 0;
		do {
			const eqIdx = str.indexOf("=", index);
			if (eqIdx === -1) break;
			const colonIdx = str.indexOf(";", index);
			const endIdx = colonIdx === -1 ? len : colonIdx;
			if (eqIdx > endIdx) {
				index = str.lastIndexOf(";", eqIdx - 1) + 1;
				continue;
			}
			const keyStartIdx = startIndex(str, index, eqIdx);
			const keyEndIdx = endIndex(str, eqIdx, keyStartIdx);
			const key = str.slice(keyStartIdx, keyEndIdx);
			let valStartIdx = startIndex(str, eqIdx + 1, endIdx);
			let valEndIdx = endIndex(str, endIdx, valStartIdx);
			const value = dec(str.slice(valStartIdx, valEndIdx));
			obj[key] = value;
			index = endIdx + 1;
		} while (index < len);
	}
	return obj;
}
function startIndex(str, index, max) {
	do {
		const code = str.charCodeAt(index);
		if (code !== 32 && code !== 9) return index;
	} while (++index < max);
	return max;
}
function endIndex(str, index, min) {
	while (index > min) {
		const code = str.charCodeAt(--index);
		if (code !== 32 && code !== 9) return index + 1;
	}
	return min;
}
/**
* Serialize data into a cookie header.
*
* Serialize a name value pair into a cookie string suitable for
* http headers. An optional options object specifies cookie parameters.
*/
function serialize$2(name, val, options) {
	const enc = options?.encode || encodeURIComponent;
	if (!cookieNameRegExp.test(name)) {
		throw new TypeError(`argument name is invalid: ${name}`);
	}
	const value = enc(val);
	if (!cookieValueRegExp.test(value)) {
		throw new TypeError(`argument val is invalid: ${val}`);
	}
	let str = name + "=" + value;
	if (!options) return str;
	if (options.maxAge !== undefined) {
		if (!Number.isInteger(options.maxAge)) {
			throw new TypeError(`option maxAge is invalid: ${options.maxAge}`);
		}
		str += "; Max-Age=" + options.maxAge;
	}
	if (options.domain) {
		if (!domainValueRegExp.test(options.domain)) {
			throw new TypeError(`option domain is invalid: ${options.domain}`);
		}
		str += "; Domain=" + options.domain;
	}
	if (options.path) {
		if (!pathValueRegExp.test(options.path)) {
			throw new TypeError(`option path is invalid: ${options.path}`);
		}
		str += "; Path=" + options.path;
	}
	if (options.expires) {
		if (!isDate$2(options.expires) || !Number.isFinite(options.expires.valueOf())) {
			throw new TypeError(`option expires is invalid: ${options.expires}`);
		}
		str += "; Expires=" + options.expires.toUTCString();
	}
	if (options.httpOnly) {
		str += "; HttpOnly";
	}
	if (options.secure) {
		str += "; Secure";
	}
	if (options.partitioned) {
		str += "; Partitioned";
	}
	if (options.priority) {
		const priority = typeof options.priority === "string" ? options.priority.toLowerCase() : undefined;
		switch (priority) {
			case "low":
				str += "; Priority=Low";
				break;
			case "medium":
				str += "; Priority=Medium";
				break;
			case "high":
				str += "; Priority=High";
				break;
			default: throw new TypeError(`option priority is invalid: ${options.priority}`);
		}
	}
	if (options.sameSite) {
		const sameSite = typeof options.sameSite === "string" ? options.sameSite.toLowerCase() : options.sameSite;
		switch (sameSite) {
			case true:
			case "strict":
				str += "; SameSite=Strict";
				break;
			case "lax":
				str += "; SameSite=Lax";
				break;
			case "none":
				str += "; SameSite=None";
				break;
			default: throw new TypeError(`option sameSite is invalid: ${options.sameSite}`);
		}
	}
	return str;
}
/**
* URL-decode string value. Optimized to skip native call when no %.
*/
function decode$1(str) {
	if (str.indexOf("%") === -1) return str;
	try {
		return decodeURIComponent(str);
	} catch (e) {
		return str;
	}
}
/**
* Determine if value is a Date.
*/
function isDate$2(val) {
	return __toString.call(val) === "[object Date]";
}
function stringify$4(obj, encode = 0) {
	return Object.entries(obj).map(([key, value]) => encode ? serialize$2(key, value) : decodeURIComponent(serialize$2(key, value))).join("; ");
}
const COOKIE = {
	parse: parse$7,
	serialize: serialize$2,
	stringify: stringify$4
};

//#endregion
//#region ../node_modules/axios/lib/helpers/bind.js
function bind$1(fn, thisArg) {
	return function wrap() {
		return fn.apply(thisArg, arguments);
	};
}

//#endregion
//#region ../node_modules/axios/lib/utils.js
const { toString: toString$3 } = Object.prototype;
const { getPrototypeOf } = Object;
const { iterator, toStringTag } = Symbol;
const kindOf = ((cache) => (thing) => {
	const str = toString$3.call(thing);
	return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());
})(Object.create(null));
const kindOfTest = (type) => {
	type = type.toLowerCase();
	return (thing) => kindOf(thing) === type;
};
const typeOfTest = (type) => (thing) => typeof thing === type;
/**
* Determine if a value is an Array
*
* @param {Object} val The value to test
*
* @returns {boolean} True if value is an Array, otherwise false
*/
const { isArray: isArray$1 } = Array;
/**
* Determine if a value is undefined
*
* @param {*} val The value to test
*
* @returns {boolean} True if the value is undefined, otherwise false
*/
const isUndefined$1 = typeOfTest("undefined");
/**
* Determine if a value is a Buffer
*
* @param {*} val The value to test
*
* @returns {boolean} True if value is a Buffer, otherwise false
*/
function isBuffer(val) {
	return val !== null && !isUndefined$1(val) && val.constructor !== null && !isUndefined$1(val.constructor) && isFunction$3(val.constructor.isBuffer) && val.constructor.isBuffer(val);
}
/**
* Determine if a value is an ArrayBuffer
*
* @param {*} val The value to test
*
* @returns {boolean} True if value is an ArrayBuffer, otherwise false
*/
const isArrayBuffer$2 = kindOfTest("ArrayBuffer");
/**
* Determine if a value is a view on an ArrayBuffer
*
* @param {*} val The value to test
*
* @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false
*/
function isArrayBufferView(val) {
	let result;
	if (typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView) {
		result = ArrayBuffer.isView(val);
	} else {
		result = val && val.buffer && isArrayBuffer$2(val.buffer);
	}
	return result;
}
/**
* Determine if a value is a String
*
* @param {*} val The value to test
*
* @returns {boolean} True if value is a String, otherwise false
*/
const isString$1 = typeOfTest("string");
/**
* Determine if a value is a Function
*
* @param {*} val The value to test
* @returns {boolean} True if value is a Function, otherwise false
*/
const isFunction$3 = typeOfTest("function");
/**
* Determine if a value is a Number
*
* @param {*} val The value to test
*
* @returns {boolean} True if value is a Number, otherwise false
*/
const isNumber$4 = typeOfTest("number");
/**
* Determine if a value is an Object
*
* @param {*} thing The value to test
*
* @returns {boolean} True if value is an Object, otherwise false
*/
const isObject$1 = (thing) => thing !== null && typeof thing === "object";
/**
* Determine if a value is a Boolean
*
* @param {*} thing The value to test
* @returns {boolean} True if value is a Boolean, otherwise false
*/
const isBoolean$1 = (thing) => thing === true || thing === false;
/**
* Determine if a value is a plain Object
*
* @param {*} val The value to test
*
* @returns {boolean} True if value is a plain Object, otherwise false
*/
const isPlainObject = (val) => {
	if (kindOf(val) !== "object") {
		return false;
	}
	const prototype = getPrototypeOf(val);
	return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);
};
/**
* Determine if a value is an empty object (safely handles Buffers)
*
* @param {*} val The value to test
*
* @returns {boolean} True if value is an empty object, otherwise false
*/
const isEmptyObject = (val) => {
	if (!isObject$1(val) || isBuffer(val)) {
		return false;
	}
	try {
		return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;
	} catch (e) {
		return false;
	}
};
/**
* Determine if a value is a Date
*
* @param {*} val The value to test
*
* @returns {boolean} True if value is a Date, otherwise false
*/
const isDate$1 = kindOfTest("Date");
/**
* Determine if a value is a File
*
* @param {*} val The value to test
*
* @returns {boolean} True if value is a File, otherwise false
*/
const isFile = kindOfTest("File");
/**
* Determine if a value is a Blob
*
* @param {*} val The value to test
*
* @returns {boolean} True if value is a Blob, otherwise false
*/
const isBlob = kindOfTest("Blob");
/**
* Determine if a value is a FileList
*
* @param {*} val The value to test
*
* @returns {boolean} True if value is a File, otherwise false
*/
const isFileList = kindOfTest("FileList");
/**
* Determine if a value is a Stream
*
* @param {*} val The value to test
*
* @returns {boolean} True if value is a Stream, otherwise false
*/
const isStream = (val) => isObject$1(val) && isFunction$3(val.pipe);
/**
* Determine if a value is a FormData
*
* @param {*} thing The value to test
*
* @returns {boolean} True if value is an FormData, otherwise false
*/
const isFormData = (thing) => {
	let kind;
	return thing && (typeof FormData === "function" && thing instanceof FormData || isFunction$3(thing.append) && ((kind = kindOf(thing)) === "formdata" || kind === "object" && isFunction$3(thing.toString) && thing.toString() === "[object FormData]"));
};
/**
* Determine if a value is a URLSearchParams object
*
* @param {*} val The value to test
*
* @returns {boolean} True if value is a URLSearchParams object, otherwise false
*/
const isURLSearchParams = kindOfTest("URLSearchParams");
const [isReadableStream, isRequest, isResponse, isHeaders] = [
	"ReadableStream",
	"Request",
	"Response",
	"Headers"
].map(kindOfTest);
/**
* Trim excess whitespace off the beginning and end of a string
*
* @param {String} str The String to trim
*
* @returns {String} The String freed of excess whitespace
*/
const trim = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
/**
* Iterate over an Array or an Object invoking a function for each item.
*
* If `obj` is an Array callback will be called passing
* the value, index, and complete array for each item.
*
* If 'obj' is an Object callback will be called passing
* the value, key, and complete object for each property.
*
* @param {Object|Array} obj The object to iterate
* @param {Function} fn The callback to invoke for each item
*
* @param {Boolean} [allOwnKeys = false]
* @returns {any}
*/
function forEach(obj, fn, { allOwnKeys = false } = {}) {
	if (obj === null || typeof obj === "undefined") {
		return;
	}
	let i;
	let l;
	if (typeof obj !== "object") {
		obj = [obj];
	}
	if (isArray$1(obj)) {
		for (i = 0, l = obj.length; i < l; i++) {
			fn.call(null, obj[i], i, obj);
		}
	} else {
		if (isBuffer(obj)) {
			return;
		}
		const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);
		const len = keys.length;
		let key;
		for (i = 0; i < len; i++) {
			key = keys[i];
			fn.call(null, obj[key], key, obj);
		}
	}
}
function findKey$1(obj, key) {
	if (isBuffer(obj)) {
		return null;
	}
	key = key.toLowerCase();
	const keys = Object.keys(obj);
	let i = keys.length;
	let _key;
	while (i-- > 0) {
		_key = keys[i];
		if (key === _key.toLowerCase()) {
			return _key;
		}
	}
	return null;
}
const _global = (() => {
	if (typeof globalThis !== "undefined") return globalThis;
	return typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : global;
})();
const isContextDefined = (context) => !isUndefined$1(context) && context !== _global;
/**
* Accepts varargs expecting each argument to be an object, then
* immutably merges the properties of each object and returns result.
*
* When multiple objects contain the same key the later object in
* the arguments list will take precedence.
*
* Example:
*
* ```js
* var result = merge({foo: 123}, {foo: 456});
* console.log(result.foo); // outputs 456
* ```
*
* @param {Object} obj1 Object to merge
*
* @returns {Object} Result of all merge properties
*/
function merge$1() {
	const { caseless, skipUndefined } = isContextDefined(this) && this || {};
	const result = {};
	const assignValue = (val, key) => {
		const targetKey = caseless && findKey$1(result, key) || key;
		if (isPlainObject(result[targetKey]) && isPlainObject(val)) {
			result[targetKey] = merge$1(result[targetKey], val);
		} else if (isPlainObject(val)) {
			result[targetKey] = merge$1({}, val);
		} else if (isArray$1(val)) {
			result[targetKey] = val.slice();
		} else if (!skipUndefined || !isUndefined$1(val)) {
			result[targetKey] = val;
		}
	};
	for (let i = 0, l = arguments.length; i < l; i++) {
		arguments[i] && forEach(arguments[i], assignValue);
	}
	return result;
}
/**
* Extends object a by mutably adding to it the properties of object b.
*
* @param {Object} a The object to be extended
* @param {Object} b The object to copy properties from
* @param {Object} thisArg The object to bind function to
*
* @param {Boolean} [allOwnKeys]
* @returns {Object} The resulting value of object a
*/
const extend$1 = (a, b, thisArg, { allOwnKeys } = {}) => {
	forEach(b, (val, key) => {
		if (thisArg && isFunction$3(val)) {
			a[key] = bind$1(val, thisArg);
		} else {
			a[key] = val;
		}
	}, { allOwnKeys });
	return a;
};
/**
* Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)
*
* @param {string} content with BOM
*
* @returns {string} content value without BOM
*/
const stripBOM = (content) => {
	if (content.charCodeAt(0) === 65279) {
		content = content.slice(1);
	}
	return content;
};
/**
* Inherit the prototype methods from one constructor into another
* @param {function} constructor
* @param {function} superConstructor
* @param {object} [props]
* @param {object} [descriptors]
*
* @returns {void}
*/
const inherits$3 = (constructor, superConstructor, props, descriptors) => {
	constructor.prototype = Object.create(superConstructor.prototype, descriptors);
	constructor.prototype.constructor = constructor;
	Object.defineProperty(constructor, "super", { value: superConstructor.prototype });
	props && Object.assign(constructor.prototype, props);
};
/**
* Resolve object with deep prototype chain to a flat object
* @param {Object} sourceObj source object
* @param {Object} [destObj]
* @param {Function|Boolean} [filter]
* @param {Function} [propFilter]
*
* @returns {Object}
*/
const toFlatObject = (sourceObj, destObj, filter, propFilter) => {
	let props;
	let i;
	let prop;
	const merged = {};
	destObj = destObj || {};
	if (sourceObj == null) return destObj;
	do {
		props = Object.getOwnPropertyNames(sourceObj);
		i = props.length;
		while (i-- > 0) {
			prop = props[i];
			if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {
				destObj[prop] = sourceObj[prop];
				merged[prop] = true;
			}
		}
		sourceObj = filter !== false && getPrototypeOf(sourceObj);
	} while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);
	return destObj;
};
/**
* Determines whether a string ends with the characters of a specified string
*
* @param {String} str
* @param {String} searchString
* @param {Number} [position= 0]
*
* @returns {boolean}
*/
const endsWith = (str, searchString, position) => {
	str = String(str);
	if (position === undefined || position > str.length) {
		position = str.length;
	}
	position -= searchString.length;
	const lastIndex = str.indexOf(searchString, position);
	return lastIndex !== -1 && lastIndex === position;
};
/**
* Returns new array from array like object or null if failed
*
* @param {*} [thing]
*
* @returns {?Array}
*/
const toArray$2 = (thing) => {
	if (!thing) return null;
	if (isArray$1(thing)) return thing;
	let i = thing.length;
	if (!isNumber$4(i)) return null;
	const arr = new Array(i);
	while (i-- > 0) {
		arr[i] = thing[i];
	}
	return arr;
};
/**
* Checking if the Uint8Array exists and if it does, it returns a function that checks if the
* thing passed in is an instance of Uint8Array
*
* @param {TypedArray}
*
* @returns {Array}
*/
const isTypedArray$2 = ((TypedArray) => {
	return (thing) => {
		return TypedArray && thing instanceof TypedArray;
	};
})(typeof Uint8Array !== "undefined" && getPrototypeOf(Uint8Array));
/**
* For each entry in the object, call the function with the key and value.
*
* @param {Object<any, any>} obj - The object to iterate over.
* @param {Function} fn - The function to call for each entry.
*
* @returns {void}
*/
const forEachEntry = (obj, fn) => {
	const generator = obj && obj[iterator];
	const _iterator = generator.call(obj);
	let result;
	while ((result = _iterator.next()) && !result.done) {
		const pair = result.value;
		fn.call(obj, pair[0], pair[1]);
	}
};
/**
* It takes a regular expression and a string, and returns an array of all the matches
*
* @param {string} regExp - The regular expression to match against.
* @param {string} str - The string to search.
*
* @returns {Array<boolean>}
*/
const matchAll = (regExp, str) => {
	let matches;
	const arr = [];
	while ((matches = regExp.exec(str)) !== null) {
		arr.push(matches);
	}
	return arr;
};
const isHTMLForm = kindOfTest("HTMLFormElement");
const toCamelCase = (str) => {
	return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function replacer(m, p1, p2) {
		return p1.toUpperCase() + p2;
	});
};
const hasOwnProperty$1 = (({ hasOwnProperty }) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);
/**
* Determine if a value is a RegExp object
*
* @param {*} val The value to test
*
* @returns {boolean} True if value is a RegExp object, otherwise false
*/
const isRegExp$1 = kindOfTest("RegExp");
const reduceDescriptors = (obj, reducer) => {
	const descriptors = Object.getOwnPropertyDescriptors(obj);
	const reducedDescriptors = {};
	forEach(descriptors, (descriptor, name) => {
		let ret;
		if ((ret = reducer(descriptor, name, obj)) !== false) {
			reducedDescriptors[name] = ret || descriptor;
		}
	});
	Object.defineProperties(obj, reducedDescriptors);
};
/**
* Makes all methods read-only
* @param {Object} obj
*/
const freezeMethods = (obj) => {
	reduceDescriptors(obj, (descriptor, name) => {
		if (isFunction$3(obj) && [
			"arguments",
			"caller",
			"callee"
		].indexOf(name) !== -1) {
			return false;
		}
		const value = obj[name];
		if (!isFunction$3(value)) return;
		descriptor.enumerable = false;
		if ("writable" in descriptor) {
			descriptor.writable = false;
			return;
		}
		if (!descriptor.set) {
			descriptor.set = () => {
				throw Error("Can not rewrite read-only method '" + name + "'");
			};
		}
	});
};
const toObjectSet = (arrayOrString, delimiter) => {
	const obj = {};
	const define = (arr) => {
		arr.forEach((value) => {
			obj[value] = true;
		});
	};
	isArray$1(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));
	return obj;
};
const noop$1 = () => {};
const toFiniteNumber = (value, defaultValue) => {
	return value != null && Number.isFinite(value = +value) ? value : defaultValue;
};
/**
* If the thing is a FormData object, return true, otherwise return false.
*
* @param {unknown} thing - The thing to check.
*
* @returns {boolean}
*/
function isSpecCompliantForm(thing) {
	return !!(thing && isFunction$3(thing.append) && thing[toStringTag] === "FormData" && thing[iterator]);
}
const toJSONObject = (obj) => {
	const stack = new Array(10);
	const visit = (source, i) => {
		if (isObject$1(source)) {
			if (stack.indexOf(source) >= 0) {
				return;
			}
			if (isBuffer(source)) {
				return source;
			}
			if (!("toJSON" in source)) {
				stack[i] = source;
				const target = isArray$1(source) ? [] : {};
				forEach(source, (value, key) => {
					const reducedValue = visit(value, i + 1);
					!isUndefined$1(reducedValue) && (target[key] = reducedValue);
				});
				stack[i] = undefined;
				return target;
			}
		}
		return source;
	};
	return visit(obj, 0);
};
const isAsyncFn = kindOfTest("AsyncFunction");
const isThenable = (thing) => thing && (isObject$1(thing) || isFunction$3(thing)) && isFunction$3(thing.then) && isFunction$3(thing.catch);
const _setImmediate = ((setImmediateSupported, postMessageSupported) => {
	if (setImmediateSupported) {
		return setImmediate;
	}
	return postMessageSupported ? ((token, callbacks) => {
		_global.addEventListener("message", ({ source, data }) => {
			if (source === _global && data === token) {
				callbacks.length && callbacks.shift()();
			}
		}, false);
		return (cb) => {
			callbacks.push(cb);
			_global.postMessage(token, "*");
		};
	})(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);
})(typeof setImmediate === "function", isFunction$3(_global.postMessage));
const asap = typeof queueMicrotask !== "undefined" ? queueMicrotask.bind(_global) : typeof process !== "undefined" && process.nextTick || _setImmediate;
const isIterable = (thing) => thing != null && isFunction$3(thing[iterator]);
var utils_default = {
	isArray: isArray$1,
	isArrayBuffer: isArrayBuffer$2,
	isBuffer,
	isFormData,
	isArrayBufferView,
	isString: isString$1,
	isNumber: isNumber$4,
	isBoolean: isBoolean$1,
	isObject: isObject$1,
	isPlainObject,
	isEmptyObject,
	isReadableStream,
	isRequest,
	isResponse,
	isHeaders,
	isUndefined: isUndefined$1,
	isDate: isDate$1,
	isFile,
	isBlob,
	isRegExp: isRegExp$1,
	isFunction: isFunction$3,
	isStream,
	isURLSearchParams,
	isTypedArray: isTypedArray$2,
	isFileList,
	forEach,
	merge: merge$1,
	extend: extend$1,
	trim,
	stripBOM,
	inherits: inherits$3,
	toFlatObject,
	kindOf,
	kindOfTest,
	endsWith,
	toArray: toArray$2,
	forEachEntry,
	matchAll,
	isHTMLForm,
	hasOwnProperty: hasOwnProperty$1,
	hasOwnProp: hasOwnProperty$1,
	reduceDescriptors,
	freezeMethods,
	toObjectSet,
	toCamelCase,
	noop: noop$1,
	toFiniteNumber,
	findKey: findKey$1,
	global: _global,
	isContextDefined,
	isSpecCompliantForm,
	toJSONObject,
	isAsyncFn,
	isThenable,
	setImmediate: _setImmediate,
	asap,
	isIterable
};

//#endregion
//#region ../node_modules/axios/lib/core/AxiosError.js
/**
* Create an Error with the specified message, config, error code, request and response.
*
* @param {string} message The error message.
* @param {string} [code] The error code (for example, 'ECONNABORTED').
* @param {Object} [config] The config.
* @param {Object} [request] The request.
* @param {Object} [response] The response.
*
* @returns {Error} The created error.
*/
function AxiosError$1(message, code, config, request, response) {
	Error.call(this);
	if (Error.captureStackTrace) {
		Error.captureStackTrace(this, this.constructor);
	} else {
		this.stack = new Error().stack;
	}
	this.message = message;
	this.name = "AxiosError";
	code && (this.code = code);
	config && (this.config = config);
	request && (this.request = request);
	if (response) {
		this.response = response;
		this.status = response.status ? response.status : null;
	}
}
utils_default.inherits(AxiosError$1, Error, { toJSON: function toJSON() {
	return {
		message: this.message,
		name: this.name,
		description: this.description,
		number: this.number,
		fileName: this.fileName,
		lineNumber: this.lineNumber,
		columnNumber: this.columnNumber,
		stack: this.stack,
		config: utils_default.toJSONObject(this.config),
		code: this.code,
		status: this.status
	};
} });
const prototype$1 = AxiosError$1.prototype;
const descriptors = {};
[
	"ERR_BAD_OPTION_VALUE",
	"ERR_BAD_OPTION",
	"ECONNABORTED",
	"ETIMEDOUT",
	"ERR_NETWORK",
	"ERR_FR_TOO_MANY_REDIRECTS",
	"ERR_DEPRECATED",
	"ERR_BAD_RESPONSE",
	"ERR_BAD_REQUEST",
	"ERR_CANCELED",
	"ERR_NOT_SUPPORT",
	"ERR_INVALID_URL"
].forEach((code) => {
	descriptors[code] = { value: code };
});
Object.defineProperties(AxiosError$1, descriptors);
Object.defineProperty(prototype$1, "isAxiosError", { value: true });
AxiosError$1.from = (error, code, config, request, response, customProps) => {
	const axiosError = Object.create(prototype$1);
	utils_default.toFlatObject(error, axiosError, function filter(obj) {
		return obj !== Error.prototype;
	}, (prop) => {
		return prop !== "isAxiosError";
	});
	const msg = error && error.message ? error.message : "Error";
	const errCode = code == null && error ? error.code : code;
	AxiosError$1.call(axiosError, msg, errCode, config, request, response);
	if (error && axiosError.cause == null) {
		Object.defineProperty(axiosError, "cause", {
			value: error,
			configurable: true
		});
	}
	axiosError.name = error && error.name || "Error";
	customProps && Object.assign(axiosError, customProps);
	return axiosError;
};

//#endregion
//#region ../node_modules/delayed-stream/lib/delayed_stream.js
var require_delayed_stream = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var Stream$4 = __require("stream").Stream;
	var util$12 = __require("util");
	module.exports = DelayedStream;
	function DelayedStream() {
		this.source = null;
		this.dataSize = 0;
		this.maxDataSize = 1024 * 1024;
		this.pauseStream = true;
		this._maxDataSizeExceeded = false;
		this._released = false;
		this._bufferedEvents = [];
	}
	util$12.inherits(DelayedStream, Stream$4);
	DelayedStream.create = function(source, options) {
		var delayedStream = new this();
		options = options || {};
		for (var option in options) {
			delayedStream[option] = options[option];
		}
		delayedStream.source = source;
		var realEmit = source.emit;
		source.emit = function() {
			delayedStream._handleEmit(arguments);
			return realEmit.apply(source, arguments);
		};
		source.on("error", function() {});
		if (delayedStream.pauseStream) {
			source.pause();
		}
		return delayedStream;
	};
	Object.defineProperty(DelayedStream.prototype, "readable", {
		configurable: true,
		enumerable: true,
		get: function() {
			return this.source.readable;
		}
	});
	DelayedStream.prototype.setEncoding = function() {
		return this.source.setEncoding.apply(this.source, arguments);
	};
	DelayedStream.prototype.resume = function() {
		if (!this._released) {
			this.release();
		}
		this.source.resume();
	};
	DelayedStream.prototype.pause = function() {
		this.source.pause();
	};
	DelayedStream.prototype.release = function() {
		this._released = true;
		this._bufferedEvents.forEach(function(args) {
			this.emit.apply(this, args);
		}.bind(this));
		this._bufferedEvents = [];
	};
	DelayedStream.prototype.pipe = function() {
		var r = Stream$4.prototype.pipe.apply(this, arguments);
		this.resume();
		return r;
	};
	DelayedStream.prototype._handleEmit = function(args) {
		if (this._released) {
			this.emit.apply(this, args);
			return;
		}
		if (args[0] === "data") {
			this.dataSize += args[1].length;
			this._checkIfMaxDataSizeExceeded();
		}
		this._bufferedEvents.push(args);
	};
	DelayedStream.prototype._checkIfMaxDataSizeExceeded = function() {
		if (this._maxDataSizeExceeded) {
			return;
		}
		if (this.dataSize <= this.maxDataSize) {
			return;
		}
		this._maxDataSizeExceeded = true;
		var message = "DelayedStream#maxDataSize of " + this.maxDataSize + " bytes exceeded.";
		this.emit("error", new Error(message));
	};
}));

//#endregion
//#region ../node_modules/combined-stream/lib/combined_stream.js
var require_combined_stream = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var util$11 = __require("util");
	var Stream$3 = __require("stream").Stream;
	var DelayedStream = require_delayed_stream();
	module.exports = CombinedStream;
	function CombinedStream() {
		this.writable = false;
		this.readable = true;
		this.dataSize = 0;
		this.maxDataSize = 2 * 1024 * 1024;
		this.pauseStreams = true;
		this._released = false;
		this._streams = [];
		this._currentStream = null;
		this._insideLoop = false;
		this._pendingNext = false;
	}
	util$11.inherits(CombinedStream, Stream$3);
	CombinedStream.create = function(options) {
		var combinedStream = new this();
		options = options || {};
		for (var option in options) {
			combinedStream[option] = options[option];
		}
		return combinedStream;
	};
	CombinedStream.isStreamLike = function(stream) {
		return typeof stream !== "function" && typeof stream !== "string" && typeof stream !== "boolean" && typeof stream !== "number" && !Buffer.isBuffer(stream);
	};
	CombinedStream.prototype.append = function(stream) {
		var isStreamLike = CombinedStream.isStreamLike(stream);
		if (isStreamLike) {
			if (!(stream instanceof DelayedStream)) {
				var newStream = DelayedStream.create(stream, {
					maxDataSize: Infinity,
					pauseStream: this.pauseStreams
				});
				stream.on("data", this._checkDataSize.bind(this));
				stream = newStream;
			}
			this._handleErrors(stream);
			if (this.pauseStreams) {
				stream.pause();
			}
		}
		this._streams.push(stream);
		return this;
	};
	CombinedStream.prototype.pipe = function(dest, options) {
		Stream$3.prototype.pipe.call(this, dest, options);
		this.resume();
		return dest;
	};
	CombinedStream.prototype._getNext = function() {
		this._currentStream = null;
		if (this._insideLoop) {
			this._pendingNext = true;
			return;
		}
		this._insideLoop = true;
		try {
			do {
				this._pendingNext = false;
				this._realGetNext();
			} while (this._pendingNext);
		} finally {
			this._insideLoop = false;
		}
	};
	CombinedStream.prototype._realGetNext = function() {
		var stream = this._streams.shift();
		if (typeof stream == "undefined") {
			this.end();
			return;
		}
		if (typeof stream !== "function") {
			this._pipeNext(stream);
			return;
		}
		var getStream = stream;
		getStream(function(stream) {
			var isStreamLike = CombinedStream.isStreamLike(stream);
			if (isStreamLike) {
				stream.on("data", this._checkDataSize.bind(this));
				this._handleErrors(stream);
			}
			this._pipeNext(stream);
		}.bind(this));
	};
	CombinedStream.prototype._pipeNext = function(stream) {
		this._currentStream = stream;
		var isStreamLike = CombinedStream.isStreamLike(stream);
		if (isStreamLike) {
			stream.on("end", this._getNext.bind(this));
			stream.pipe(this, { end: false });
			return;
		}
		var value = stream;
		this.write(value);
		this._getNext();
	};
	CombinedStream.prototype._handleErrors = function(stream) {
		var self = this;
		stream.on("error", function(err) {
			self._emitError(err);
		});
	};
	CombinedStream.prototype.write = function(data) {
		this.emit("data", data);
	};
	CombinedStream.prototype.pause = function() {
		if (!this.pauseStreams) {
			return;
		}
		if (this.pauseStreams && this._currentStream && typeof this._currentStream.pause == "function") this._currentStream.pause();
		this.emit("pause");
	};
	CombinedStream.prototype.resume = function() {
		if (!this._released) {
			this._released = true;
			this.writable = true;
			this._getNext();
		}
		if (this.pauseStreams && this._currentStream && typeof this._currentStream.resume == "function") this._currentStream.resume();
		this.emit("resume");
	};
	CombinedStream.prototype.end = function() {
		this._reset();
		this.emit("end");
	};
	CombinedStream.prototype.destroy = function() {
		this._reset();
		this.emit("close");
	};
	CombinedStream.prototype._reset = function() {
		this.writable = false;
		this._streams = [];
		this._currentStream = null;
	};
	CombinedStream.prototype._checkDataSize = function() {
		this._updateDataSize();
		if (this.dataSize <= this.maxDataSize) {
			return;
		}
		var message = "DelayedStream#maxDataSize of " + this.maxDataSize + " bytes exceeded.";
		this._emitError(new Error(message));
	};
	CombinedStream.prototype._updateDataSize = function() {
		this.dataSize = 0;
		var self = this;
		this._streams.forEach(function(stream) {
			if (!stream.dataSize) {
				return;
			}
			self.dataSize += stream.dataSize;
		});
		if (this._currentStream && this._currentStream.dataSize) {
			this.dataSize += this._currentStream.dataSize;
		}
	};
	CombinedStream.prototype._emitError = function(err) {
		this._reset();
		this.emit("error", err);
	};
}));

//#endregion
//#region ../node_modules/mime-db/db.json
var require_db = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = {
		"application/1d-interleaved-parityfec": { "source": "iana" },
		"application/3gpdash-qoe-report+xml": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true
		},
		"application/3gpp-ims+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/3gpphal+json": {
			"source": "iana",
			"compressible": true
		},
		"application/3gpphalforms+json": {
			"source": "iana",
			"compressible": true
		},
		"application/a2l": { "source": "iana" },
		"application/ace+cbor": { "source": "iana" },
		"application/activemessage": { "source": "iana" },
		"application/activity+json": {
			"source": "iana",
			"compressible": true
		},
		"application/alto-costmap+json": {
			"source": "iana",
			"compressible": true
		},
		"application/alto-costmapfilter+json": {
			"source": "iana",
			"compressible": true
		},
		"application/alto-directory+json": {
			"source": "iana",
			"compressible": true
		},
		"application/alto-endpointcost+json": {
			"source": "iana",
			"compressible": true
		},
		"application/alto-endpointcostparams+json": {
			"source": "iana",
			"compressible": true
		},
		"application/alto-endpointprop+json": {
			"source": "iana",
			"compressible": true
		},
		"application/alto-endpointpropparams+json": {
			"source": "iana",
			"compressible": true
		},
		"application/alto-error+json": {
			"source": "iana",
			"compressible": true
		},
		"application/alto-networkmap+json": {
			"source": "iana",
			"compressible": true
		},
		"application/alto-networkmapfilter+json": {
			"source": "iana",
			"compressible": true
		},
		"application/alto-updatestreamcontrol+json": {
			"source": "iana",
			"compressible": true
		},
		"application/alto-updatestreamparams+json": {
			"source": "iana",
			"compressible": true
		},
		"application/aml": { "source": "iana" },
		"application/andrew-inset": {
			"source": "iana",
			"extensions": ["ez"]
		},
		"application/applefile": { "source": "iana" },
		"application/applixware": {
			"source": "apache",
			"extensions": ["aw"]
		},
		"application/at+jwt": { "source": "iana" },
		"application/atf": { "source": "iana" },
		"application/atfx": { "source": "iana" },
		"application/atom+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["atom"]
		},
		"application/atomcat+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["atomcat"]
		},
		"application/atomdeleted+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["atomdeleted"]
		},
		"application/atomicmail": { "source": "iana" },
		"application/atomsvc+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["atomsvc"]
		},
		"application/atsc-dwd+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["dwd"]
		},
		"application/atsc-dynamic-event-message": { "source": "iana" },
		"application/atsc-held+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["held"]
		},
		"application/atsc-rdt+json": {
			"source": "iana",
			"compressible": true
		},
		"application/atsc-rsat+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["rsat"]
		},
		"application/atxml": { "source": "iana" },
		"application/auth-policy+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/bacnet-xdd+zip": {
			"source": "iana",
			"compressible": false
		},
		"application/batch-smtp": { "source": "iana" },
		"application/bdoc": {
			"compressible": false,
			"extensions": ["bdoc"]
		},
		"application/beep+xml": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true
		},
		"application/calendar+json": {
			"source": "iana",
			"compressible": true
		},
		"application/calendar+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["xcs"]
		},
		"application/call-completion": { "source": "iana" },
		"application/cals-1840": { "source": "iana" },
		"application/captive+json": {
			"source": "iana",
			"compressible": true
		},
		"application/cbor": { "source": "iana" },
		"application/cbor-seq": { "source": "iana" },
		"application/cccex": { "source": "iana" },
		"application/ccmp+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/ccxml+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["ccxml"]
		},
		"application/cdfx+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["cdfx"]
		},
		"application/cdmi-capability": {
			"source": "iana",
			"extensions": ["cdmia"]
		},
		"application/cdmi-container": {
			"source": "iana",
			"extensions": ["cdmic"]
		},
		"application/cdmi-domain": {
			"source": "iana",
			"extensions": ["cdmid"]
		},
		"application/cdmi-object": {
			"source": "iana",
			"extensions": ["cdmio"]
		},
		"application/cdmi-queue": {
			"source": "iana",
			"extensions": ["cdmiq"]
		},
		"application/cdni": { "source": "iana" },
		"application/cea": { "source": "iana" },
		"application/cea-2018+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/cellml+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/cfw": { "source": "iana" },
		"application/city+json": {
			"source": "iana",
			"compressible": true
		},
		"application/clr": { "source": "iana" },
		"application/clue+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/clue_info+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/cms": { "source": "iana" },
		"application/cnrp+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/coap-group+json": {
			"source": "iana",
			"compressible": true
		},
		"application/coap-payload": { "source": "iana" },
		"application/commonground": { "source": "iana" },
		"application/conference-info+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/cose": { "source": "iana" },
		"application/cose-key": { "source": "iana" },
		"application/cose-key-set": { "source": "iana" },
		"application/cpl+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["cpl"]
		},
		"application/csrattrs": { "source": "iana" },
		"application/csta+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/cstadata+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/csvm+json": {
			"source": "iana",
			"compressible": true
		},
		"application/cu-seeme": {
			"source": "apache",
			"extensions": ["cu"]
		},
		"application/cwt": { "source": "iana" },
		"application/cybercash": { "source": "iana" },
		"application/dart": { "compressible": true },
		"application/dash+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["mpd"]
		},
		"application/dash-patch+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["mpp"]
		},
		"application/dashdelta": { "source": "iana" },
		"application/davmount+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["davmount"]
		},
		"application/dca-rft": { "source": "iana" },
		"application/dcd": { "source": "iana" },
		"application/dec-dx": { "source": "iana" },
		"application/dialog-info+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/dicom": { "source": "iana" },
		"application/dicom+json": {
			"source": "iana",
			"compressible": true
		},
		"application/dicom+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/dii": { "source": "iana" },
		"application/dit": { "source": "iana" },
		"application/dns": { "source": "iana" },
		"application/dns+json": {
			"source": "iana",
			"compressible": true
		},
		"application/dns-message": { "source": "iana" },
		"application/docbook+xml": {
			"source": "apache",
			"compressible": true,
			"extensions": ["dbk"]
		},
		"application/dots+cbor": { "source": "iana" },
		"application/dskpp+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/dssc+der": {
			"source": "iana",
			"extensions": ["dssc"]
		},
		"application/dssc+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["xdssc"]
		},
		"application/dvcs": { "source": "iana" },
		"application/ecmascript": {
			"source": "iana",
			"compressible": true,
			"extensions": ["es", "ecma"]
		},
		"application/edi-consent": { "source": "iana" },
		"application/edi-x12": {
			"source": "iana",
			"compressible": false
		},
		"application/edifact": {
			"source": "iana",
			"compressible": false
		},
		"application/efi": { "source": "iana" },
		"application/elm+json": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true
		},
		"application/elm+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/emergencycalldata.cap+xml": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true
		},
		"application/emergencycalldata.comment+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/emergencycalldata.control+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/emergencycalldata.deviceinfo+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/emergencycalldata.ecall.msd": { "source": "iana" },
		"application/emergencycalldata.providerinfo+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/emergencycalldata.serviceinfo+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/emergencycalldata.subscriberinfo+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/emergencycalldata.veds+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/emma+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["emma"]
		},
		"application/emotionml+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["emotionml"]
		},
		"application/encaprtp": { "source": "iana" },
		"application/epp+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/epub+zip": {
			"source": "iana",
			"compressible": false,
			"extensions": ["epub"]
		},
		"application/eshop": { "source": "iana" },
		"application/exi": {
			"source": "iana",
			"extensions": ["exi"]
		},
		"application/expect-ct-report+json": {
			"source": "iana",
			"compressible": true
		},
		"application/express": {
			"source": "iana",
			"extensions": ["exp"]
		},
		"application/fastinfoset": { "source": "iana" },
		"application/fastsoap": { "source": "iana" },
		"application/fdt+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["fdt"]
		},
		"application/fhir+json": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true
		},
		"application/fhir+xml": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true
		},
		"application/fido.trusted-apps+json": { "compressible": true },
		"application/fits": { "source": "iana" },
		"application/flexfec": { "source": "iana" },
		"application/font-sfnt": { "source": "iana" },
		"application/font-tdpfr": {
			"source": "iana",
			"extensions": ["pfr"]
		},
		"application/font-woff": {
			"source": "iana",
			"compressible": false
		},
		"application/framework-attributes+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/geo+json": {
			"source": "iana",
			"compressible": true,
			"extensions": ["geojson"]
		},
		"application/geo+json-seq": { "source": "iana" },
		"application/geopackage+sqlite3": { "source": "iana" },
		"application/geoxacml+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/gltf-buffer": { "source": "iana" },
		"application/gml+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["gml"]
		},
		"application/gpx+xml": {
			"source": "apache",
			"compressible": true,
			"extensions": ["gpx"]
		},
		"application/gxf": {
			"source": "apache",
			"extensions": ["gxf"]
		},
		"application/gzip": {
			"source": "iana",
			"compressible": false,
			"extensions": ["gz"]
		},
		"application/h224": { "source": "iana" },
		"application/held+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/hjson": { "extensions": ["hjson"] },
		"application/http": { "source": "iana" },
		"application/hyperstudio": {
			"source": "iana",
			"extensions": ["stk"]
		},
		"application/ibe-key-request+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/ibe-pkg-reply+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/ibe-pp-data": { "source": "iana" },
		"application/iges": { "source": "iana" },
		"application/im-iscomposing+xml": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true
		},
		"application/index": { "source": "iana" },
		"application/index.cmd": { "source": "iana" },
		"application/index.obj": { "source": "iana" },
		"application/index.response": { "source": "iana" },
		"application/index.vnd": { "source": "iana" },
		"application/inkml+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["ink", "inkml"]
		},
		"application/iotp": { "source": "iana" },
		"application/ipfix": {
			"source": "iana",
			"extensions": ["ipfix"]
		},
		"application/ipp": { "source": "iana" },
		"application/isup": { "source": "iana" },
		"application/its+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["its"]
		},
		"application/java-archive": {
			"source": "apache",
			"compressible": false,
			"extensions": [
				"jar",
				"war",
				"ear"
			]
		},
		"application/java-serialized-object": {
			"source": "apache",
			"compressible": false,
			"extensions": ["ser"]
		},
		"application/java-vm": {
			"source": "apache",
			"compressible": false,
			"extensions": ["class"]
		},
		"application/javascript": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true,
			"extensions": ["js", "mjs"]
		},
		"application/jf2feed+json": {
			"source": "iana",
			"compressible": true
		},
		"application/jose": { "source": "iana" },
		"application/jose+json": {
			"source": "iana",
			"compressible": true
		},
		"application/jrd+json": {
			"source": "iana",
			"compressible": true
		},
		"application/jscalendar+json": {
			"source": "iana",
			"compressible": true
		},
		"application/json": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true,
			"extensions": ["json", "map"]
		},
		"application/json-patch+json": {
			"source": "iana",
			"compressible": true
		},
		"application/json-seq": { "source": "iana" },
		"application/json5": { "extensions": ["json5"] },
		"application/jsonml+json": {
			"source": "apache",
			"compressible": true,
			"extensions": ["jsonml"]
		},
		"application/jwk+json": {
			"source": "iana",
			"compressible": true
		},
		"application/jwk-set+json": {
			"source": "iana",
			"compressible": true
		},
		"application/jwt": { "source": "iana" },
		"application/kpml-request+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/kpml-response+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/ld+json": {
			"source": "iana",
			"compressible": true,
			"extensions": ["jsonld"]
		},
		"application/lgr+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["lgr"]
		},
		"application/link-format": { "source": "iana" },
		"application/load-control+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/lost+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["lostxml"]
		},
		"application/lostsync+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/lpf+zip": {
			"source": "iana",
			"compressible": false
		},
		"application/lxf": { "source": "iana" },
		"application/mac-binhex40": {
			"source": "iana",
			"extensions": ["hqx"]
		},
		"application/mac-compactpro": {
			"source": "apache",
			"extensions": ["cpt"]
		},
		"application/macwriteii": { "source": "iana" },
		"application/mads+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["mads"]
		},
		"application/manifest+json": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true,
			"extensions": ["webmanifest"]
		},
		"application/marc": {
			"source": "iana",
			"extensions": ["mrc"]
		},
		"application/marcxml+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["mrcx"]
		},
		"application/mathematica": {
			"source": "iana",
			"extensions": [
				"ma",
				"nb",
				"mb"
			]
		},
		"application/mathml+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["mathml"]
		},
		"application/mathml-content+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/mathml-presentation+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/mbms-associated-procedure-description+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/mbms-deregister+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/mbms-envelope+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/mbms-msk+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/mbms-msk-response+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/mbms-protection-description+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/mbms-reception-report+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/mbms-register+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/mbms-register-response+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/mbms-schedule+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/mbms-user-service-description+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/mbox": {
			"source": "iana",
			"extensions": ["mbox"]
		},
		"application/media-policy-dataset+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["mpf"]
		},
		"application/media_control+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/mediaservercontrol+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["mscml"]
		},
		"application/merge-patch+json": {
			"source": "iana",
			"compressible": true
		},
		"application/metalink+xml": {
			"source": "apache",
			"compressible": true,
			"extensions": ["metalink"]
		},
		"application/metalink4+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["meta4"]
		},
		"application/mets+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["mets"]
		},
		"application/mf4": { "source": "iana" },
		"application/mikey": { "source": "iana" },
		"application/mipc": { "source": "iana" },
		"application/missing-blocks+cbor-seq": { "source": "iana" },
		"application/mmt-aei+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["maei"]
		},
		"application/mmt-usd+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["musd"]
		},
		"application/mods+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["mods"]
		},
		"application/moss-keys": { "source": "iana" },
		"application/moss-signature": { "source": "iana" },
		"application/mosskey-data": { "source": "iana" },
		"application/mosskey-request": { "source": "iana" },
		"application/mp21": {
			"source": "iana",
			"extensions": ["m21", "mp21"]
		},
		"application/mp4": {
			"source": "iana",
			"extensions": ["mp4s", "m4p"]
		},
		"application/mpeg4-generic": { "source": "iana" },
		"application/mpeg4-iod": { "source": "iana" },
		"application/mpeg4-iod-xmt": { "source": "iana" },
		"application/mrb-consumer+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/mrb-publish+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/msc-ivr+xml": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true
		},
		"application/msc-mixer+xml": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true
		},
		"application/msword": {
			"source": "iana",
			"compressible": false,
			"extensions": ["doc", "dot"]
		},
		"application/mud+json": {
			"source": "iana",
			"compressible": true
		},
		"application/multipart-core": { "source": "iana" },
		"application/mxf": {
			"source": "iana",
			"extensions": ["mxf"]
		},
		"application/n-quads": {
			"source": "iana",
			"extensions": ["nq"]
		},
		"application/n-triples": {
			"source": "iana",
			"extensions": ["nt"]
		},
		"application/nasdata": { "source": "iana" },
		"application/news-checkgroups": {
			"source": "iana",
			"charset": "US-ASCII"
		},
		"application/news-groupinfo": {
			"source": "iana",
			"charset": "US-ASCII"
		},
		"application/news-transmission": { "source": "iana" },
		"application/nlsml+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/node": {
			"source": "iana",
			"extensions": ["cjs"]
		},
		"application/nss": { "source": "iana" },
		"application/oauth-authz-req+jwt": { "source": "iana" },
		"application/oblivious-dns-message": { "source": "iana" },
		"application/ocsp-request": { "source": "iana" },
		"application/ocsp-response": { "source": "iana" },
		"application/octet-stream": {
			"source": "iana",
			"compressible": false,
			"extensions": [
				"bin",
				"dms",
				"lrf",
				"mar",
				"so",
				"dist",
				"distz",
				"pkg",
				"bpk",
				"dump",
				"elc",
				"deploy",
				"exe",
				"dll",
				"deb",
				"dmg",
				"iso",
				"img",
				"msi",
				"msp",
				"msm",
				"buffer"
			]
		},
		"application/oda": {
			"source": "iana",
			"extensions": ["oda"]
		},
		"application/odm+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/odx": { "source": "iana" },
		"application/oebps-package+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["opf"]
		},
		"application/ogg": {
			"source": "iana",
			"compressible": false,
			"extensions": ["ogx"]
		},
		"application/omdoc+xml": {
			"source": "apache",
			"compressible": true,
			"extensions": ["omdoc"]
		},
		"application/onenote": {
			"source": "apache",
			"extensions": [
				"onetoc",
				"onetoc2",
				"onetmp",
				"onepkg"
			]
		},
		"application/opc-nodeset+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/oscore": { "source": "iana" },
		"application/oxps": {
			"source": "iana",
			"extensions": ["oxps"]
		},
		"application/p21": { "source": "iana" },
		"application/p21+zip": {
			"source": "iana",
			"compressible": false
		},
		"application/p2p-overlay+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["relo"]
		},
		"application/parityfec": { "source": "iana" },
		"application/passport": { "source": "iana" },
		"application/patch-ops-error+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["xer"]
		},
		"application/pdf": {
			"source": "iana",
			"compressible": false,
			"extensions": ["pdf"]
		},
		"application/pdx": { "source": "iana" },
		"application/pem-certificate-chain": { "source": "iana" },
		"application/pgp-encrypted": {
			"source": "iana",
			"compressible": false,
			"extensions": ["pgp"]
		},
		"application/pgp-keys": {
			"source": "iana",
			"extensions": ["asc"]
		},
		"application/pgp-signature": {
			"source": "iana",
			"extensions": ["asc", "sig"]
		},
		"application/pics-rules": {
			"source": "apache",
			"extensions": ["prf"]
		},
		"application/pidf+xml": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true
		},
		"application/pidf-diff+xml": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true
		},
		"application/pkcs10": {
			"source": "iana",
			"extensions": ["p10"]
		},
		"application/pkcs12": { "source": "iana" },
		"application/pkcs7-mime": {
			"source": "iana",
			"extensions": ["p7m", "p7c"]
		},
		"application/pkcs7-signature": {
			"source": "iana",
			"extensions": ["p7s"]
		},
		"application/pkcs8": {
			"source": "iana",
			"extensions": ["p8"]
		},
		"application/pkcs8-encrypted": { "source": "iana" },
		"application/pkix-attr-cert": {
			"source": "iana",
			"extensions": ["ac"]
		},
		"application/pkix-cert": {
			"source": "iana",
			"extensions": ["cer"]
		},
		"application/pkix-crl": {
			"source": "iana",
			"extensions": ["crl"]
		},
		"application/pkix-pkipath": {
			"source": "iana",
			"extensions": ["pkipath"]
		},
		"application/pkixcmp": {
			"source": "iana",
			"extensions": ["pki"]
		},
		"application/pls+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["pls"]
		},
		"application/poc-settings+xml": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true
		},
		"application/postscript": {
			"source": "iana",
			"compressible": true,
			"extensions": [
				"ai",
				"eps",
				"ps"
			]
		},
		"application/ppsp-tracker+json": {
			"source": "iana",
			"compressible": true
		},
		"application/problem+json": {
			"source": "iana",
			"compressible": true
		},
		"application/problem+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/provenance+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["provx"]
		},
		"application/prs.alvestrand.titrax-sheet": { "source": "iana" },
		"application/prs.cww": {
			"source": "iana",
			"extensions": ["cww"]
		},
		"application/prs.cyn": {
			"source": "iana",
			"charset": "7-BIT"
		},
		"application/prs.hpub+zip": {
			"source": "iana",
			"compressible": false
		},
		"application/prs.nprend": { "source": "iana" },
		"application/prs.plucker": { "source": "iana" },
		"application/prs.rdf-xml-crypt": { "source": "iana" },
		"application/prs.xsf+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/pskc+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["pskcxml"]
		},
		"application/pvd+json": {
			"source": "iana",
			"compressible": true
		},
		"application/qsig": { "source": "iana" },
		"application/raml+yaml": {
			"compressible": true,
			"extensions": ["raml"]
		},
		"application/raptorfec": { "source": "iana" },
		"application/rdap+json": {
			"source": "iana",
			"compressible": true
		},
		"application/rdf+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["rdf", "owl"]
		},
		"application/reginfo+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["rif"]
		},
		"application/relax-ng-compact-syntax": {
			"source": "iana",
			"extensions": ["rnc"]
		},
		"application/remote-printing": { "source": "iana" },
		"application/reputon+json": {
			"source": "iana",
			"compressible": true
		},
		"application/resource-lists+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["rl"]
		},
		"application/resource-lists-diff+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["rld"]
		},
		"application/rfc+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/riscos": { "source": "iana" },
		"application/rlmi+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/rls-services+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["rs"]
		},
		"application/route-apd+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["rapd"]
		},
		"application/route-s-tsid+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["sls"]
		},
		"application/route-usd+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["rusd"]
		},
		"application/rpki-ghostbusters": {
			"source": "iana",
			"extensions": ["gbr"]
		},
		"application/rpki-manifest": {
			"source": "iana",
			"extensions": ["mft"]
		},
		"application/rpki-publication": { "source": "iana" },
		"application/rpki-roa": {
			"source": "iana",
			"extensions": ["roa"]
		},
		"application/rpki-updown": { "source": "iana" },
		"application/rsd+xml": {
			"source": "apache",
			"compressible": true,
			"extensions": ["rsd"]
		},
		"application/rss+xml": {
			"source": "apache",
			"compressible": true,
			"extensions": ["rss"]
		},
		"application/rtf": {
			"source": "iana",
			"compressible": true,
			"extensions": ["rtf"]
		},
		"application/rtploopback": { "source": "iana" },
		"application/rtx": { "source": "iana" },
		"application/samlassertion+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/samlmetadata+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/sarif+json": {
			"source": "iana",
			"compressible": true
		},
		"application/sarif-external-properties+json": {
			"source": "iana",
			"compressible": true
		},
		"application/sbe": { "source": "iana" },
		"application/sbml+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["sbml"]
		},
		"application/scaip+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/scim+json": {
			"source": "iana",
			"compressible": true
		},
		"application/scvp-cv-request": {
			"source": "iana",
			"extensions": ["scq"]
		},
		"application/scvp-cv-response": {
			"source": "iana",
			"extensions": ["scs"]
		},
		"application/scvp-vp-request": {
			"source": "iana",
			"extensions": ["spq"]
		},
		"application/scvp-vp-response": {
			"source": "iana",
			"extensions": ["spp"]
		},
		"application/sdp": {
			"source": "iana",
			"extensions": ["sdp"]
		},
		"application/secevent+jwt": { "source": "iana" },
		"application/senml+cbor": { "source": "iana" },
		"application/senml+json": {
			"source": "iana",
			"compressible": true
		},
		"application/senml+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["senmlx"]
		},
		"application/senml-etch+cbor": { "source": "iana" },
		"application/senml-etch+json": {
			"source": "iana",
			"compressible": true
		},
		"application/senml-exi": { "source": "iana" },
		"application/sensml+cbor": { "source": "iana" },
		"application/sensml+json": {
			"source": "iana",
			"compressible": true
		},
		"application/sensml+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["sensmlx"]
		},
		"application/sensml-exi": { "source": "iana" },
		"application/sep+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/sep-exi": { "source": "iana" },
		"application/session-info": { "source": "iana" },
		"application/set-payment": { "source": "iana" },
		"application/set-payment-initiation": {
			"source": "iana",
			"extensions": ["setpay"]
		},
		"application/set-registration": { "source": "iana" },
		"application/set-registration-initiation": {
			"source": "iana",
			"extensions": ["setreg"]
		},
		"application/sgml": { "source": "iana" },
		"application/sgml-open-catalog": { "source": "iana" },
		"application/shf+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["shf"]
		},
		"application/sieve": {
			"source": "iana",
			"extensions": ["siv", "sieve"]
		},
		"application/simple-filter+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/simple-message-summary": { "source": "iana" },
		"application/simplesymbolcontainer": { "source": "iana" },
		"application/sipc": { "source": "iana" },
		"application/slate": { "source": "iana" },
		"application/smil": { "source": "iana" },
		"application/smil+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["smi", "smil"]
		},
		"application/smpte336m": { "source": "iana" },
		"application/soap+fastinfoset": { "source": "iana" },
		"application/soap+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/sparql-query": {
			"source": "iana",
			"extensions": ["rq"]
		},
		"application/sparql-results+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["srx"]
		},
		"application/spdx+json": {
			"source": "iana",
			"compressible": true
		},
		"application/spirits-event+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/sql": { "source": "iana" },
		"application/srgs": {
			"source": "iana",
			"extensions": ["gram"]
		},
		"application/srgs+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["grxml"]
		},
		"application/sru+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["sru"]
		},
		"application/ssdl+xml": {
			"source": "apache",
			"compressible": true,
			"extensions": ["ssdl"]
		},
		"application/ssml+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["ssml"]
		},
		"application/stix+json": {
			"source": "iana",
			"compressible": true
		},
		"application/swid+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["swidtag"]
		},
		"application/tamp-apex-update": { "source": "iana" },
		"application/tamp-apex-update-confirm": { "source": "iana" },
		"application/tamp-community-update": { "source": "iana" },
		"application/tamp-community-update-confirm": { "source": "iana" },
		"application/tamp-error": { "source": "iana" },
		"application/tamp-sequence-adjust": { "source": "iana" },
		"application/tamp-sequence-adjust-confirm": { "source": "iana" },
		"application/tamp-status-query": { "source": "iana" },
		"application/tamp-status-response": { "source": "iana" },
		"application/tamp-update": { "source": "iana" },
		"application/tamp-update-confirm": { "source": "iana" },
		"application/tar": { "compressible": true },
		"application/taxii+json": {
			"source": "iana",
			"compressible": true
		},
		"application/td+json": {
			"source": "iana",
			"compressible": true
		},
		"application/tei+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["tei", "teicorpus"]
		},
		"application/tetra_isi": { "source": "iana" },
		"application/thraud+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["tfi"]
		},
		"application/timestamp-query": { "source": "iana" },
		"application/timestamp-reply": { "source": "iana" },
		"application/timestamped-data": {
			"source": "iana",
			"extensions": ["tsd"]
		},
		"application/tlsrpt+gzip": { "source": "iana" },
		"application/tlsrpt+json": {
			"source": "iana",
			"compressible": true
		},
		"application/tnauthlist": { "source": "iana" },
		"application/token-introspection+jwt": { "source": "iana" },
		"application/toml": {
			"compressible": true,
			"extensions": ["toml"]
		},
		"application/trickle-ice-sdpfrag": { "source": "iana" },
		"application/trig": {
			"source": "iana",
			"extensions": ["trig"]
		},
		"application/ttml+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["ttml"]
		},
		"application/tve-trigger": { "source": "iana" },
		"application/tzif": { "source": "iana" },
		"application/tzif-leap": { "source": "iana" },
		"application/ubjson": {
			"compressible": false,
			"extensions": ["ubj"]
		},
		"application/ulpfec": { "source": "iana" },
		"application/urc-grpsheet+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/urc-ressheet+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["rsheet"]
		},
		"application/urc-targetdesc+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["td"]
		},
		"application/urc-uisocketdesc+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vcard+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vcard+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vemmi": { "source": "iana" },
		"application/vividence.scriptfile": { "source": "apache" },
		"application/vnd.1000minds.decision-model+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["1km"]
		},
		"application/vnd.3gpp-prose+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp-prose-pc3ch+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp-v2x-local-service-information": { "source": "iana" },
		"application/vnd.3gpp.5gnas": { "source": "iana" },
		"application/vnd.3gpp.access-transfer-events+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.bsf+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.gmop+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.gtpc": { "source": "iana" },
		"application/vnd.3gpp.interworking-data": { "source": "iana" },
		"application/vnd.3gpp.lpp": { "source": "iana" },
		"application/vnd.3gpp.mc-signalling-ear": { "source": "iana" },
		"application/vnd.3gpp.mcdata-affiliation-command+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.mcdata-info+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.mcdata-payload": { "source": "iana" },
		"application/vnd.3gpp.mcdata-service-config+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.mcdata-signalling": { "source": "iana" },
		"application/vnd.3gpp.mcdata-ue-config+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.mcdata-user-profile+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.mcptt-affiliation-command+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.mcptt-floor-request+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.mcptt-info+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.mcptt-location-info+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.mcptt-mbms-usage-info+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.mcptt-service-config+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.mcptt-signed+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.mcptt-ue-config+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.mcptt-ue-init-config+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.mcptt-user-profile+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.mcvideo-affiliation-command+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.mcvideo-affiliation-info+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.mcvideo-info+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.mcvideo-location-info+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.mcvideo-mbms-usage-info+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.mcvideo-service-config+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.mcvideo-transmission-request+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.mcvideo-ue-config+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.mcvideo-user-profile+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.mid-call+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.ngap": { "source": "iana" },
		"application/vnd.3gpp.pfcp": { "source": "iana" },
		"application/vnd.3gpp.pic-bw-large": {
			"source": "iana",
			"extensions": ["plb"]
		},
		"application/vnd.3gpp.pic-bw-small": {
			"source": "iana",
			"extensions": ["psb"]
		},
		"application/vnd.3gpp.pic-bw-var": {
			"source": "iana",
			"extensions": ["pvb"]
		},
		"application/vnd.3gpp.s1ap": { "source": "iana" },
		"application/vnd.3gpp.sms": { "source": "iana" },
		"application/vnd.3gpp.sms+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.srvcc-ext+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.srvcc-info+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.state-and-event-info+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp.ussd+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp2.bcmcsinfo+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.3gpp2.sms": { "source": "iana" },
		"application/vnd.3gpp2.tcap": {
			"source": "iana",
			"extensions": ["tcap"]
		},
		"application/vnd.3lightssoftware.imagescal": { "source": "iana" },
		"application/vnd.3m.post-it-notes": {
			"source": "iana",
			"extensions": ["pwn"]
		},
		"application/vnd.accpac.simply.aso": {
			"source": "iana",
			"extensions": ["aso"]
		},
		"application/vnd.accpac.simply.imp": {
			"source": "iana",
			"extensions": ["imp"]
		},
		"application/vnd.acucobol": {
			"source": "iana",
			"extensions": ["acu"]
		},
		"application/vnd.acucorp": {
			"source": "iana",
			"extensions": ["atc", "acutc"]
		},
		"application/vnd.adobe.air-application-installer-package+zip": {
			"source": "apache",
			"compressible": false,
			"extensions": ["air"]
		},
		"application/vnd.adobe.flash.movie": { "source": "iana" },
		"application/vnd.adobe.formscentral.fcdt": {
			"source": "iana",
			"extensions": ["fcdt"]
		},
		"application/vnd.adobe.fxp": {
			"source": "iana",
			"extensions": ["fxp", "fxpl"]
		},
		"application/vnd.adobe.partial-upload": { "source": "iana" },
		"application/vnd.adobe.xdp+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["xdp"]
		},
		"application/vnd.adobe.xfdf": {
			"source": "iana",
			"extensions": ["xfdf"]
		},
		"application/vnd.aether.imp": { "source": "iana" },
		"application/vnd.afpc.afplinedata": { "source": "iana" },
		"application/vnd.afpc.afplinedata-pagedef": { "source": "iana" },
		"application/vnd.afpc.cmoca-cmresource": { "source": "iana" },
		"application/vnd.afpc.foca-charset": { "source": "iana" },
		"application/vnd.afpc.foca-codedfont": { "source": "iana" },
		"application/vnd.afpc.foca-codepage": { "source": "iana" },
		"application/vnd.afpc.modca": { "source": "iana" },
		"application/vnd.afpc.modca-cmtable": { "source": "iana" },
		"application/vnd.afpc.modca-formdef": { "source": "iana" },
		"application/vnd.afpc.modca-mediummap": { "source": "iana" },
		"application/vnd.afpc.modca-objectcontainer": { "source": "iana" },
		"application/vnd.afpc.modca-overlay": { "source": "iana" },
		"application/vnd.afpc.modca-pagesegment": { "source": "iana" },
		"application/vnd.age": {
			"source": "iana",
			"extensions": ["age"]
		},
		"application/vnd.ah-barcode": { "source": "iana" },
		"application/vnd.ahead.space": {
			"source": "iana",
			"extensions": ["ahead"]
		},
		"application/vnd.airzip.filesecure.azf": {
			"source": "iana",
			"extensions": ["azf"]
		},
		"application/vnd.airzip.filesecure.azs": {
			"source": "iana",
			"extensions": ["azs"]
		},
		"application/vnd.amadeus+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.amazon.ebook": {
			"source": "apache",
			"extensions": ["azw"]
		},
		"application/vnd.amazon.mobi8-ebook": { "source": "iana" },
		"application/vnd.americandynamics.acc": {
			"source": "iana",
			"extensions": ["acc"]
		},
		"application/vnd.amiga.ami": {
			"source": "iana",
			"extensions": ["ami"]
		},
		"application/vnd.amundsen.maze+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.android.ota": { "source": "iana" },
		"application/vnd.android.package-archive": {
			"source": "apache",
			"compressible": false,
			"extensions": ["apk"]
		},
		"application/vnd.anki": { "source": "iana" },
		"application/vnd.anser-web-certificate-issue-initiation": {
			"source": "iana",
			"extensions": ["cii"]
		},
		"application/vnd.anser-web-funds-transfer-initiation": {
			"source": "apache",
			"extensions": ["fti"]
		},
		"application/vnd.antix.game-component": {
			"source": "iana",
			"extensions": ["atx"]
		},
		"application/vnd.apache.arrow.file": { "source": "iana" },
		"application/vnd.apache.arrow.stream": { "source": "iana" },
		"application/vnd.apache.thrift.binary": { "source": "iana" },
		"application/vnd.apache.thrift.compact": { "source": "iana" },
		"application/vnd.apache.thrift.json": { "source": "iana" },
		"application/vnd.api+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.aplextor.warrp+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.apothekende.reservation+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.apple.installer+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["mpkg"]
		},
		"application/vnd.apple.keynote": {
			"source": "iana",
			"extensions": ["key"]
		},
		"application/vnd.apple.mpegurl": {
			"source": "iana",
			"extensions": ["m3u8"]
		},
		"application/vnd.apple.numbers": {
			"source": "iana",
			"extensions": ["numbers"]
		},
		"application/vnd.apple.pages": {
			"source": "iana",
			"extensions": ["pages"]
		},
		"application/vnd.apple.pkpass": {
			"compressible": false,
			"extensions": ["pkpass"]
		},
		"application/vnd.arastra.swi": { "source": "iana" },
		"application/vnd.aristanetworks.swi": {
			"source": "iana",
			"extensions": ["swi"]
		},
		"application/vnd.artisan+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.artsquare": { "source": "iana" },
		"application/vnd.astraea-software.iota": {
			"source": "iana",
			"extensions": ["iota"]
		},
		"application/vnd.audiograph": {
			"source": "iana",
			"extensions": ["aep"]
		},
		"application/vnd.autopackage": { "source": "iana" },
		"application/vnd.avalon+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.avistar+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.balsamiq.bmml+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["bmml"]
		},
		"application/vnd.balsamiq.bmpr": { "source": "iana" },
		"application/vnd.banana-accounting": { "source": "iana" },
		"application/vnd.bbf.usp.error": { "source": "iana" },
		"application/vnd.bbf.usp.msg": { "source": "iana" },
		"application/vnd.bbf.usp.msg+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.bekitzur-stech+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.bint.med-content": { "source": "iana" },
		"application/vnd.biopax.rdf+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.blink-idb-value-wrapper": { "source": "iana" },
		"application/vnd.blueice.multipass": {
			"source": "iana",
			"extensions": ["mpm"]
		},
		"application/vnd.bluetooth.ep.oob": { "source": "iana" },
		"application/vnd.bluetooth.le.oob": { "source": "iana" },
		"application/vnd.bmi": {
			"source": "iana",
			"extensions": ["bmi"]
		},
		"application/vnd.bpf": { "source": "iana" },
		"application/vnd.bpf3": { "source": "iana" },
		"application/vnd.businessobjects": {
			"source": "iana",
			"extensions": ["rep"]
		},
		"application/vnd.byu.uapi+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.cab-jscript": { "source": "iana" },
		"application/vnd.canon-cpdl": { "source": "iana" },
		"application/vnd.canon-lips": { "source": "iana" },
		"application/vnd.capasystems-pg+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.cendio.thinlinc.clientconf": { "source": "iana" },
		"application/vnd.century-systems.tcp_stream": { "source": "iana" },
		"application/vnd.chemdraw+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["cdxml"]
		},
		"application/vnd.chess-pgn": { "source": "iana" },
		"application/vnd.chipnuts.karaoke-mmd": {
			"source": "iana",
			"extensions": ["mmd"]
		},
		"application/vnd.ciedi": { "source": "iana" },
		"application/vnd.cinderella": {
			"source": "iana",
			"extensions": ["cdy"]
		},
		"application/vnd.cirpack.isdn-ext": { "source": "iana" },
		"application/vnd.citationstyles.style+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["csl"]
		},
		"application/vnd.claymore": {
			"source": "iana",
			"extensions": ["cla"]
		},
		"application/vnd.cloanto.rp9": {
			"source": "iana",
			"extensions": ["rp9"]
		},
		"application/vnd.clonk.c4group": {
			"source": "iana",
			"extensions": [
				"c4g",
				"c4d",
				"c4f",
				"c4p",
				"c4u"
			]
		},
		"application/vnd.cluetrust.cartomobile-config": {
			"source": "iana",
			"extensions": ["c11amc"]
		},
		"application/vnd.cluetrust.cartomobile-config-pkg": {
			"source": "iana",
			"extensions": ["c11amz"]
		},
		"application/vnd.coffeescript": { "source": "iana" },
		"application/vnd.collabio.xodocuments.document": { "source": "iana" },
		"application/vnd.collabio.xodocuments.document-template": { "source": "iana" },
		"application/vnd.collabio.xodocuments.presentation": { "source": "iana" },
		"application/vnd.collabio.xodocuments.presentation-template": { "source": "iana" },
		"application/vnd.collabio.xodocuments.spreadsheet": { "source": "iana" },
		"application/vnd.collabio.xodocuments.spreadsheet-template": { "source": "iana" },
		"application/vnd.collection+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.collection.doc+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.collection.next+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.comicbook+zip": {
			"source": "iana",
			"compressible": false
		},
		"application/vnd.comicbook-rar": { "source": "iana" },
		"application/vnd.commerce-battelle": { "source": "iana" },
		"application/vnd.commonspace": {
			"source": "iana",
			"extensions": ["csp"]
		},
		"application/vnd.contact.cmsg": {
			"source": "iana",
			"extensions": ["cdbcmsg"]
		},
		"application/vnd.coreos.ignition+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.cosmocaller": {
			"source": "iana",
			"extensions": ["cmc"]
		},
		"application/vnd.crick.clicker": {
			"source": "iana",
			"extensions": ["clkx"]
		},
		"application/vnd.crick.clicker.keyboard": {
			"source": "iana",
			"extensions": ["clkk"]
		},
		"application/vnd.crick.clicker.palette": {
			"source": "iana",
			"extensions": ["clkp"]
		},
		"application/vnd.crick.clicker.template": {
			"source": "iana",
			"extensions": ["clkt"]
		},
		"application/vnd.crick.clicker.wordbank": {
			"source": "iana",
			"extensions": ["clkw"]
		},
		"application/vnd.criticaltools.wbs+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["wbs"]
		},
		"application/vnd.cryptii.pipe+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.crypto-shade-file": { "source": "iana" },
		"application/vnd.cryptomator.encrypted": { "source": "iana" },
		"application/vnd.cryptomator.vault": { "source": "iana" },
		"application/vnd.ctc-posml": {
			"source": "iana",
			"extensions": ["pml"]
		},
		"application/vnd.ctct.ws+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.cups-pdf": { "source": "iana" },
		"application/vnd.cups-postscript": { "source": "iana" },
		"application/vnd.cups-ppd": {
			"source": "iana",
			"extensions": ["ppd"]
		},
		"application/vnd.cups-raster": { "source": "iana" },
		"application/vnd.cups-raw": { "source": "iana" },
		"application/vnd.curl": { "source": "iana" },
		"application/vnd.curl.car": {
			"source": "apache",
			"extensions": ["car"]
		},
		"application/vnd.curl.pcurl": {
			"source": "apache",
			"extensions": ["pcurl"]
		},
		"application/vnd.cyan.dean.root+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.cybank": { "source": "iana" },
		"application/vnd.cyclonedx+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.cyclonedx+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.d2l.coursepackage1p0+zip": {
			"source": "iana",
			"compressible": false
		},
		"application/vnd.d3m-dataset": { "source": "iana" },
		"application/vnd.d3m-problem": { "source": "iana" },
		"application/vnd.dart": {
			"source": "iana",
			"compressible": true,
			"extensions": ["dart"]
		},
		"application/vnd.data-vision.rdz": {
			"source": "iana",
			"extensions": ["rdz"]
		},
		"application/vnd.datapackage+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.dataresource+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.dbf": {
			"source": "iana",
			"extensions": ["dbf"]
		},
		"application/vnd.debian.binary-package": { "source": "iana" },
		"application/vnd.dece.data": {
			"source": "iana",
			"extensions": [
				"uvf",
				"uvvf",
				"uvd",
				"uvvd"
			]
		},
		"application/vnd.dece.ttml+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["uvt", "uvvt"]
		},
		"application/vnd.dece.unspecified": {
			"source": "iana",
			"extensions": ["uvx", "uvvx"]
		},
		"application/vnd.dece.zip": {
			"source": "iana",
			"extensions": ["uvz", "uvvz"]
		},
		"application/vnd.denovo.fcselayout-link": {
			"source": "iana",
			"extensions": ["fe_launch"]
		},
		"application/vnd.desmume.movie": { "source": "iana" },
		"application/vnd.dir-bi.plate-dl-nosuffix": { "source": "iana" },
		"application/vnd.dm.delegation+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.dna": {
			"source": "iana",
			"extensions": ["dna"]
		},
		"application/vnd.document+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.dolby.mlp": {
			"source": "apache",
			"extensions": ["mlp"]
		},
		"application/vnd.dolby.mobile.1": { "source": "iana" },
		"application/vnd.dolby.mobile.2": { "source": "iana" },
		"application/vnd.doremir.scorecloud-binary-document": { "source": "iana" },
		"application/vnd.dpgraph": {
			"source": "iana",
			"extensions": ["dpg"]
		},
		"application/vnd.dreamfactory": {
			"source": "iana",
			"extensions": ["dfac"]
		},
		"application/vnd.drive+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.ds-keypoint": {
			"source": "apache",
			"extensions": ["kpxx"]
		},
		"application/vnd.dtg.local": { "source": "iana" },
		"application/vnd.dtg.local.flash": { "source": "iana" },
		"application/vnd.dtg.local.html": { "source": "iana" },
		"application/vnd.dvb.ait": {
			"source": "iana",
			"extensions": ["ait"]
		},
		"application/vnd.dvb.dvbisl+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.dvb.dvbj": { "source": "iana" },
		"application/vnd.dvb.esgcontainer": { "source": "iana" },
		"application/vnd.dvb.ipdcdftnotifaccess": { "source": "iana" },
		"application/vnd.dvb.ipdcesgaccess": { "source": "iana" },
		"application/vnd.dvb.ipdcesgaccess2": { "source": "iana" },
		"application/vnd.dvb.ipdcesgpdd": { "source": "iana" },
		"application/vnd.dvb.ipdcroaming": { "source": "iana" },
		"application/vnd.dvb.iptv.alfec-base": { "source": "iana" },
		"application/vnd.dvb.iptv.alfec-enhancement": { "source": "iana" },
		"application/vnd.dvb.notif-aggregate-root+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.dvb.notif-container+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.dvb.notif-generic+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.dvb.notif-ia-msglist+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.dvb.notif-ia-registration-request+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.dvb.notif-ia-registration-response+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.dvb.notif-init+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.dvb.pfr": { "source": "iana" },
		"application/vnd.dvb.service": {
			"source": "iana",
			"extensions": ["svc"]
		},
		"application/vnd.dxr": { "source": "iana" },
		"application/vnd.dynageo": {
			"source": "iana",
			"extensions": ["geo"]
		},
		"application/vnd.dzr": { "source": "iana" },
		"application/vnd.easykaraoke.cdgdownload": { "source": "iana" },
		"application/vnd.ecdis-update": { "source": "iana" },
		"application/vnd.ecip.rlp": { "source": "iana" },
		"application/vnd.eclipse.ditto+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.ecowin.chart": {
			"source": "iana",
			"extensions": ["mag"]
		},
		"application/vnd.ecowin.filerequest": { "source": "iana" },
		"application/vnd.ecowin.fileupdate": { "source": "iana" },
		"application/vnd.ecowin.series": { "source": "iana" },
		"application/vnd.ecowin.seriesrequest": { "source": "iana" },
		"application/vnd.ecowin.seriesupdate": { "source": "iana" },
		"application/vnd.efi.img": { "source": "iana" },
		"application/vnd.efi.iso": { "source": "iana" },
		"application/vnd.emclient.accessrequest+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.enliven": {
			"source": "iana",
			"extensions": ["nml"]
		},
		"application/vnd.enphase.envoy": { "source": "iana" },
		"application/vnd.eprints.data+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.epson.esf": {
			"source": "iana",
			"extensions": ["esf"]
		},
		"application/vnd.epson.msf": {
			"source": "iana",
			"extensions": ["msf"]
		},
		"application/vnd.epson.quickanime": {
			"source": "iana",
			"extensions": ["qam"]
		},
		"application/vnd.epson.salt": {
			"source": "iana",
			"extensions": ["slt"]
		},
		"application/vnd.epson.ssf": {
			"source": "iana",
			"extensions": ["ssf"]
		},
		"application/vnd.ericsson.quickcall": { "source": "iana" },
		"application/vnd.espass-espass+zip": {
			"source": "iana",
			"compressible": false
		},
		"application/vnd.eszigno3+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["es3", "et3"]
		},
		"application/vnd.etsi.aoc+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.etsi.asic-e+zip": {
			"source": "iana",
			"compressible": false
		},
		"application/vnd.etsi.asic-s+zip": {
			"source": "iana",
			"compressible": false
		},
		"application/vnd.etsi.cug+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.etsi.iptvcommand+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.etsi.iptvdiscovery+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.etsi.iptvprofile+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.etsi.iptvsad-bc+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.etsi.iptvsad-cod+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.etsi.iptvsad-npvr+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.etsi.iptvservice+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.etsi.iptvsync+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.etsi.iptvueprofile+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.etsi.mcid+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.etsi.mheg5": { "source": "iana" },
		"application/vnd.etsi.overload-control-policy-dataset+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.etsi.pstn+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.etsi.sci+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.etsi.simservs+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.etsi.timestamp-token": { "source": "iana" },
		"application/vnd.etsi.tsl+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.etsi.tsl.der": { "source": "iana" },
		"application/vnd.eu.kasparian.car+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.eudora.data": { "source": "iana" },
		"application/vnd.evolv.ecig.profile": { "source": "iana" },
		"application/vnd.evolv.ecig.settings": { "source": "iana" },
		"application/vnd.evolv.ecig.theme": { "source": "iana" },
		"application/vnd.exstream-empower+zip": {
			"source": "iana",
			"compressible": false
		},
		"application/vnd.exstream-package": { "source": "iana" },
		"application/vnd.ezpix-album": {
			"source": "iana",
			"extensions": ["ez2"]
		},
		"application/vnd.ezpix-package": {
			"source": "iana",
			"extensions": ["ez3"]
		},
		"application/vnd.f-secure.mobile": { "source": "iana" },
		"application/vnd.familysearch.gedcom+zip": {
			"source": "iana",
			"compressible": false
		},
		"application/vnd.fastcopy-disk-image": { "source": "iana" },
		"application/vnd.fdf": {
			"source": "iana",
			"extensions": ["fdf"]
		},
		"application/vnd.fdsn.mseed": {
			"source": "iana",
			"extensions": ["mseed"]
		},
		"application/vnd.fdsn.seed": {
			"source": "iana",
			"extensions": ["seed", "dataless"]
		},
		"application/vnd.ffsns": { "source": "iana" },
		"application/vnd.ficlab.flb+zip": {
			"source": "iana",
			"compressible": false
		},
		"application/vnd.filmit.zfc": { "source": "iana" },
		"application/vnd.fints": { "source": "iana" },
		"application/vnd.firemonkeys.cloudcell": { "source": "iana" },
		"application/vnd.flographit": {
			"source": "iana",
			"extensions": ["gph"]
		},
		"application/vnd.fluxtime.clip": {
			"source": "iana",
			"extensions": ["ftc"]
		},
		"application/vnd.font-fontforge-sfd": { "source": "iana" },
		"application/vnd.framemaker": {
			"source": "iana",
			"extensions": [
				"fm",
				"frame",
				"maker",
				"book"
			]
		},
		"application/vnd.frogans.fnc": {
			"source": "iana",
			"extensions": ["fnc"]
		},
		"application/vnd.frogans.ltf": {
			"source": "iana",
			"extensions": ["ltf"]
		},
		"application/vnd.fsc.weblaunch": {
			"source": "iana",
			"extensions": ["fsc"]
		},
		"application/vnd.fujifilm.fb.docuworks": { "source": "iana" },
		"application/vnd.fujifilm.fb.docuworks.binder": { "source": "iana" },
		"application/vnd.fujifilm.fb.docuworks.container": { "source": "iana" },
		"application/vnd.fujifilm.fb.jfi+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.fujitsu.oasys": {
			"source": "iana",
			"extensions": ["oas"]
		},
		"application/vnd.fujitsu.oasys2": {
			"source": "iana",
			"extensions": ["oa2"]
		},
		"application/vnd.fujitsu.oasys3": {
			"source": "iana",
			"extensions": ["oa3"]
		},
		"application/vnd.fujitsu.oasysgp": {
			"source": "iana",
			"extensions": ["fg5"]
		},
		"application/vnd.fujitsu.oasysprs": {
			"source": "iana",
			"extensions": ["bh2"]
		},
		"application/vnd.fujixerox.art-ex": { "source": "iana" },
		"application/vnd.fujixerox.art4": { "source": "iana" },
		"application/vnd.fujixerox.ddd": {
			"source": "iana",
			"extensions": ["ddd"]
		},
		"application/vnd.fujixerox.docuworks": {
			"source": "iana",
			"extensions": ["xdw"]
		},
		"application/vnd.fujixerox.docuworks.binder": {
			"source": "iana",
			"extensions": ["xbd"]
		},
		"application/vnd.fujixerox.docuworks.container": { "source": "iana" },
		"application/vnd.fujixerox.hbpl": { "source": "iana" },
		"application/vnd.fut-misnet": { "source": "iana" },
		"application/vnd.futoin+cbor": { "source": "iana" },
		"application/vnd.futoin+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.fuzzysheet": {
			"source": "iana",
			"extensions": ["fzs"]
		},
		"application/vnd.genomatix.tuxedo": {
			"source": "iana",
			"extensions": ["txd"]
		},
		"application/vnd.gentics.grd+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.geo+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.geocube+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.geogebra.file": {
			"source": "iana",
			"extensions": ["ggb"]
		},
		"application/vnd.geogebra.slides": { "source": "iana" },
		"application/vnd.geogebra.tool": {
			"source": "iana",
			"extensions": ["ggt"]
		},
		"application/vnd.geometry-explorer": {
			"source": "iana",
			"extensions": ["gex", "gre"]
		},
		"application/vnd.geonext": {
			"source": "iana",
			"extensions": ["gxt"]
		},
		"application/vnd.geoplan": {
			"source": "iana",
			"extensions": ["g2w"]
		},
		"application/vnd.geospace": {
			"source": "iana",
			"extensions": ["g3w"]
		},
		"application/vnd.gerber": { "source": "iana" },
		"application/vnd.globalplatform.card-content-mgt": { "source": "iana" },
		"application/vnd.globalplatform.card-content-mgt-response": { "source": "iana" },
		"application/vnd.gmx": {
			"source": "iana",
			"extensions": ["gmx"]
		},
		"application/vnd.google-apps.document": {
			"compressible": false,
			"extensions": ["gdoc"]
		},
		"application/vnd.google-apps.presentation": {
			"compressible": false,
			"extensions": ["gslides"]
		},
		"application/vnd.google-apps.spreadsheet": {
			"compressible": false,
			"extensions": ["gsheet"]
		},
		"application/vnd.google-earth.kml+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["kml"]
		},
		"application/vnd.google-earth.kmz": {
			"source": "iana",
			"compressible": false,
			"extensions": ["kmz"]
		},
		"application/vnd.gov.sk.e-form+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.gov.sk.e-form+zip": {
			"source": "iana",
			"compressible": false
		},
		"application/vnd.gov.sk.xmldatacontainer+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.grafeq": {
			"source": "iana",
			"extensions": ["gqf", "gqs"]
		},
		"application/vnd.gridmp": { "source": "iana" },
		"application/vnd.groove-account": {
			"source": "iana",
			"extensions": ["gac"]
		},
		"application/vnd.groove-help": {
			"source": "iana",
			"extensions": ["ghf"]
		},
		"application/vnd.groove-identity-message": {
			"source": "iana",
			"extensions": ["gim"]
		},
		"application/vnd.groove-injector": {
			"source": "iana",
			"extensions": ["grv"]
		},
		"application/vnd.groove-tool-message": {
			"source": "iana",
			"extensions": ["gtm"]
		},
		"application/vnd.groove-tool-template": {
			"source": "iana",
			"extensions": ["tpl"]
		},
		"application/vnd.groove-vcard": {
			"source": "iana",
			"extensions": ["vcg"]
		},
		"application/vnd.hal+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.hal+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["hal"]
		},
		"application/vnd.handheld-entertainment+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["zmm"]
		},
		"application/vnd.hbci": {
			"source": "iana",
			"extensions": ["hbci"]
		},
		"application/vnd.hc+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.hcl-bireports": { "source": "iana" },
		"application/vnd.hdt": { "source": "iana" },
		"application/vnd.heroku+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.hhe.lesson-player": {
			"source": "iana",
			"extensions": ["les"]
		},
		"application/vnd.hl7cda+xml": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true
		},
		"application/vnd.hl7v2+xml": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true
		},
		"application/vnd.hp-hpgl": {
			"source": "iana",
			"extensions": ["hpgl"]
		},
		"application/vnd.hp-hpid": {
			"source": "iana",
			"extensions": ["hpid"]
		},
		"application/vnd.hp-hps": {
			"source": "iana",
			"extensions": ["hps"]
		},
		"application/vnd.hp-jlyt": {
			"source": "iana",
			"extensions": ["jlt"]
		},
		"application/vnd.hp-pcl": {
			"source": "iana",
			"extensions": ["pcl"]
		},
		"application/vnd.hp-pclxl": {
			"source": "iana",
			"extensions": ["pclxl"]
		},
		"application/vnd.httphone": { "source": "iana" },
		"application/vnd.hydrostatix.sof-data": {
			"source": "iana",
			"extensions": ["sfd-hdstx"]
		},
		"application/vnd.hyper+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.hyper-item+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.hyperdrive+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.hzn-3d-crossword": { "source": "iana" },
		"application/vnd.ibm.afplinedata": { "source": "iana" },
		"application/vnd.ibm.electronic-media": { "source": "iana" },
		"application/vnd.ibm.minipay": {
			"source": "iana",
			"extensions": ["mpy"]
		},
		"application/vnd.ibm.modcap": {
			"source": "iana",
			"extensions": [
				"afp",
				"listafp",
				"list3820"
			]
		},
		"application/vnd.ibm.rights-management": {
			"source": "iana",
			"extensions": ["irm"]
		},
		"application/vnd.ibm.secure-container": {
			"source": "iana",
			"extensions": ["sc"]
		},
		"application/vnd.iccprofile": {
			"source": "iana",
			"extensions": ["icc", "icm"]
		},
		"application/vnd.ieee.1905": { "source": "iana" },
		"application/vnd.igloader": {
			"source": "iana",
			"extensions": ["igl"]
		},
		"application/vnd.imagemeter.folder+zip": {
			"source": "iana",
			"compressible": false
		},
		"application/vnd.imagemeter.image+zip": {
			"source": "iana",
			"compressible": false
		},
		"application/vnd.immervision-ivp": {
			"source": "iana",
			"extensions": ["ivp"]
		},
		"application/vnd.immervision-ivu": {
			"source": "iana",
			"extensions": ["ivu"]
		},
		"application/vnd.ims.imsccv1p1": { "source": "iana" },
		"application/vnd.ims.imsccv1p2": { "source": "iana" },
		"application/vnd.ims.imsccv1p3": { "source": "iana" },
		"application/vnd.ims.lis.v2.result+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.ims.lti.v2.toolconsumerprofile+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.ims.lti.v2.toolproxy+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.ims.lti.v2.toolproxy.id+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.ims.lti.v2.toolsettings+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.ims.lti.v2.toolsettings.simple+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.informedcontrol.rms+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.informix-visionary": { "source": "iana" },
		"application/vnd.infotech.project": { "source": "iana" },
		"application/vnd.infotech.project+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.innopath.wamp.notification": { "source": "iana" },
		"application/vnd.insors.igm": {
			"source": "iana",
			"extensions": ["igm"]
		},
		"application/vnd.intercon.formnet": {
			"source": "iana",
			"extensions": ["xpw", "xpx"]
		},
		"application/vnd.intergeo": {
			"source": "iana",
			"extensions": ["i2g"]
		},
		"application/vnd.intertrust.digibox": { "source": "iana" },
		"application/vnd.intertrust.nncp": { "source": "iana" },
		"application/vnd.intu.qbo": {
			"source": "iana",
			"extensions": ["qbo"]
		},
		"application/vnd.intu.qfx": {
			"source": "iana",
			"extensions": ["qfx"]
		},
		"application/vnd.iptc.g2.catalogitem+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.iptc.g2.conceptitem+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.iptc.g2.knowledgeitem+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.iptc.g2.newsitem+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.iptc.g2.newsmessage+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.iptc.g2.packageitem+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.iptc.g2.planningitem+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.ipunplugged.rcprofile": {
			"source": "iana",
			"extensions": ["rcprofile"]
		},
		"application/vnd.irepository.package+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["irp"]
		},
		"application/vnd.is-xpr": {
			"source": "iana",
			"extensions": ["xpr"]
		},
		"application/vnd.isac.fcs": {
			"source": "iana",
			"extensions": ["fcs"]
		},
		"application/vnd.iso11783-10+zip": {
			"source": "iana",
			"compressible": false
		},
		"application/vnd.jam": {
			"source": "iana",
			"extensions": ["jam"]
		},
		"application/vnd.japannet-directory-service": { "source": "iana" },
		"application/vnd.japannet-jpnstore-wakeup": { "source": "iana" },
		"application/vnd.japannet-payment-wakeup": { "source": "iana" },
		"application/vnd.japannet-registration": { "source": "iana" },
		"application/vnd.japannet-registration-wakeup": { "source": "iana" },
		"application/vnd.japannet-setstore-wakeup": { "source": "iana" },
		"application/vnd.japannet-verification": { "source": "iana" },
		"application/vnd.japannet-verification-wakeup": { "source": "iana" },
		"application/vnd.jcp.javame.midlet-rms": {
			"source": "iana",
			"extensions": ["rms"]
		},
		"application/vnd.jisp": {
			"source": "iana",
			"extensions": ["jisp"]
		},
		"application/vnd.joost.joda-archive": {
			"source": "iana",
			"extensions": ["joda"]
		},
		"application/vnd.jsk.isdn-ngn": { "source": "iana" },
		"application/vnd.kahootz": {
			"source": "iana",
			"extensions": ["ktz", "ktr"]
		},
		"application/vnd.kde.karbon": {
			"source": "iana",
			"extensions": ["karbon"]
		},
		"application/vnd.kde.kchart": {
			"source": "iana",
			"extensions": ["chrt"]
		},
		"application/vnd.kde.kformula": {
			"source": "iana",
			"extensions": ["kfo"]
		},
		"application/vnd.kde.kivio": {
			"source": "iana",
			"extensions": ["flw"]
		},
		"application/vnd.kde.kontour": {
			"source": "iana",
			"extensions": ["kon"]
		},
		"application/vnd.kde.kpresenter": {
			"source": "iana",
			"extensions": ["kpr", "kpt"]
		},
		"application/vnd.kde.kspread": {
			"source": "iana",
			"extensions": ["ksp"]
		},
		"application/vnd.kde.kword": {
			"source": "iana",
			"extensions": ["kwd", "kwt"]
		},
		"application/vnd.kenameaapp": {
			"source": "iana",
			"extensions": ["htke"]
		},
		"application/vnd.kidspiration": {
			"source": "iana",
			"extensions": ["kia"]
		},
		"application/vnd.kinar": {
			"source": "iana",
			"extensions": ["kne", "knp"]
		},
		"application/vnd.koan": {
			"source": "iana",
			"extensions": [
				"skp",
				"skd",
				"skt",
				"skm"
			]
		},
		"application/vnd.kodak-descriptor": {
			"source": "iana",
			"extensions": ["sse"]
		},
		"application/vnd.las": { "source": "iana" },
		"application/vnd.las.las+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.las.las+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["lasxml"]
		},
		"application/vnd.laszip": { "source": "iana" },
		"application/vnd.leap+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.liberty-request+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.llamagraphics.life-balance.desktop": {
			"source": "iana",
			"extensions": ["lbd"]
		},
		"application/vnd.llamagraphics.life-balance.exchange+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["lbe"]
		},
		"application/vnd.logipipe.circuit+zip": {
			"source": "iana",
			"compressible": false
		},
		"application/vnd.loom": { "source": "iana" },
		"application/vnd.lotus-1-2-3": {
			"source": "iana",
			"extensions": ["123"]
		},
		"application/vnd.lotus-approach": {
			"source": "iana",
			"extensions": ["apr"]
		},
		"application/vnd.lotus-freelance": {
			"source": "iana",
			"extensions": ["pre"]
		},
		"application/vnd.lotus-notes": {
			"source": "iana",
			"extensions": ["nsf"]
		},
		"application/vnd.lotus-organizer": {
			"source": "iana",
			"extensions": ["org"]
		},
		"application/vnd.lotus-screencam": {
			"source": "iana",
			"extensions": ["scm"]
		},
		"application/vnd.lotus-wordpro": {
			"source": "iana",
			"extensions": ["lwp"]
		},
		"application/vnd.macports.portpkg": {
			"source": "iana",
			"extensions": ["portpkg"]
		},
		"application/vnd.mapbox-vector-tile": {
			"source": "iana",
			"extensions": ["mvt"]
		},
		"application/vnd.marlin.drm.actiontoken+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.marlin.drm.conftoken+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.marlin.drm.license+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.marlin.drm.mdcf": { "source": "iana" },
		"application/vnd.mason+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.maxar.archive.3tz+zip": {
			"source": "iana",
			"compressible": false
		},
		"application/vnd.maxmind.maxmind-db": { "source": "iana" },
		"application/vnd.mcd": {
			"source": "iana",
			"extensions": ["mcd"]
		},
		"application/vnd.medcalcdata": {
			"source": "iana",
			"extensions": ["mc1"]
		},
		"application/vnd.mediastation.cdkey": {
			"source": "iana",
			"extensions": ["cdkey"]
		},
		"application/vnd.meridian-slingshot": { "source": "iana" },
		"application/vnd.mfer": {
			"source": "iana",
			"extensions": ["mwf"]
		},
		"application/vnd.mfmp": {
			"source": "iana",
			"extensions": ["mfm"]
		},
		"application/vnd.micro+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.micrografx.flo": {
			"source": "iana",
			"extensions": ["flo"]
		},
		"application/vnd.micrografx.igx": {
			"source": "iana",
			"extensions": ["igx"]
		},
		"application/vnd.microsoft.portable-executable": { "source": "iana" },
		"application/vnd.microsoft.windows.thumbnail-cache": { "source": "iana" },
		"application/vnd.miele+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.mif": {
			"source": "iana",
			"extensions": ["mif"]
		},
		"application/vnd.minisoft-hp3000-save": { "source": "iana" },
		"application/vnd.mitsubishi.misty-guard.trustweb": { "source": "iana" },
		"application/vnd.mobius.daf": {
			"source": "iana",
			"extensions": ["daf"]
		},
		"application/vnd.mobius.dis": {
			"source": "iana",
			"extensions": ["dis"]
		},
		"application/vnd.mobius.mbk": {
			"source": "iana",
			"extensions": ["mbk"]
		},
		"application/vnd.mobius.mqy": {
			"source": "iana",
			"extensions": ["mqy"]
		},
		"application/vnd.mobius.msl": {
			"source": "iana",
			"extensions": ["msl"]
		},
		"application/vnd.mobius.plc": {
			"source": "iana",
			"extensions": ["plc"]
		},
		"application/vnd.mobius.txf": {
			"source": "iana",
			"extensions": ["txf"]
		},
		"application/vnd.mophun.application": {
			"source": "iana",
			"extensions": ["mpn"]
		},
		"application/vnd.mophun.certificate": {
			"source": "iana",
			"extensions": ["mpc"]
		},
		"application/vnd.motorola.flexsuite": { "source": "iana" },
		"application/vnd.motorola.flexsuite.adsi": { "source": "iana" },
		"application/vnd.motorola.flexsuite.fis": { "source": "iana" },
		"application/vnd.motorola.flexsuite.gotap": { "source": "iana" },
		"application/vnd.motorola.flexsuite.kmr": { "source": "iana" },
		"application/vnd.motorola.flexsuite.ttc": { "source": "iana" },
		"application/vnd.motorola.flexsuite.wem": { "source": "iana" },
		"application/vnd.motorola.iprm": { "source": "iana" },
		"application/vnd.mozilla.xul+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["xul"]
		},
		"application/vnd.ms-3mfdocument": { "source": "iana" },
		"application/vnd.ms-artgalry": {
			"source": "iana",
			"extensions": ["cil"]
		},
		"application/vnd.ms-asf": { "source": "iana" },
		"application/vnd.ms-cab-compressed": {
			"source": "iana",
			"extensions": ["cab"]
		},
		"application/vnd.ms-color.iccprofile": { "source": "apache" },
		"application/vnd.ms-excel": {
			"source": "iana",
			"compressible": false,
			"extensions": [
				"xls",
				"xlm",
				"xla",
				"xlc",
				"xlt",
				"xlw"
			]
		},
		"application/vnd.ms-excel.addin.macroenabled.12": {
			"source": "iana",
			"extensions": ["xlam"]
		},
		"application/vnd.ms-excel.sheet.binary.macroenabled.12": {
			"source": "iana",
			"extensions": ["xlsb"]
		},
		"application/vnd.ms-excel.sheet.macroenabled.12": {
			"source": "iana",
			"extensions": ["xlsm"]
		},
		"application/vnd.ms-excel.template.macroenabled.12": {
			"source": "iana",
			"extensions": ["xltm"]
		},
		"application/vnd.ms-fontobject": {
			"source": "iana",
			"compressible": true,
			"extensions": ["eot"]
		},
		"application/vnd.ms-htmlhelp": {
			"source": "iana",
			"extensions": ["chm"]
		},
		"application/vnd.ms-ims": {
			"source": "iana",
			"extensions": ["ims"]
		},
		"application/vnd.ms-lrm": {
			"source": "iana",
			"extensions": ["lrm"]
		},
		"application/vnd.ms-office.activex+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.ms-officetheme": {
			"source": "iana",
			"extensions": ["thmx"]
		},
		"application/vnd.ms-opentype": {
			"source": "apache",
			"compressible": true
		},
		"application/vnd.ms-outlook": {
			"compressible": false,
			"extensions": ["msg"]
		},
		"application/vnd.ms-package.obfuscated-opentype": { "source": "apache" },
		"application/vnd.ms-pki.seccat": {
			"source": "apache",
			"extensions": ["cat"]
		},
		"application/vnd.ms-pki.stl": {
			"source": "apache",
			"extensions": ["stl"]
		},
		"application/vnd.ms-playready.initiator+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.ms-powerpoint": {
			"source": "iana",
			"compressible": false,
			"extensions": [
				"ppt",
				"pps",
				"pot"
			]
		},
		"application/vnd.ms-powerpoint.addin.macroenabled.12": {
			"source": "iana",
			"extensions": ["ppam"]
		},
		"application/vnd.ms-powerpoint.presentation.macroenabled.12": {
			"source": "iana",
			"extensions": ["pptm"]
		},
		"application/vnd.ms-powerpoint.slide.macroenabled.12": {
			"source": "iana",
			"extensions": ["sldm"]
		},
		"application/vnd.ms-powerpoint.slideshow.macroenabled.12": {
			"source": "iana",
			"extensions": ["ppsm"]
		},
		"application/vnd.ms-powerpoint.template.macroenabled.12": {
			"source": "iana",
			"extensions": ["potm"]
		},
		"application/vnd.ms-printdevicecapabilities+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.ms-printing.printticket+xml": {
			"source": "apache",
			"compressible": true
		},
		"application/vnd.ms-printschematicket+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.ms-project": {
			"source": "iana",
			"extensions": ["mpp", "mpt"]
		},
		"application/vnd.ms-tnef": { "source": "iana" },
		"application/vnd.ms-windows.devicepairing": { "source": "iana" },
		"application/vnd.ms-windows.nwprinting.oob": { "source": "iana" },
		"application/vnd.ms-windows.printerpairing": { "source": "iana" },
		"application/vnd.ms-windows.wsd.oob": { "source": "iana" },
		"application/vnd.ms-wmdrm.lic-chlg-req": { "source": "iana" },
		"application/vnd.ms-wmdrm.lic-resp": { "source": "iana" },
		"application/vnd.ms-wmdrm.meter-chlg-req": { "source": "iana" },
		"application/vnd.ms-wmdrm.meter-resp": { "source": "iana" },
		"application/vnd.ms-word.document.macroenabled.12": {
			"source": "iana",
			"extensions": ["docm"]
		},
		"application/vnd.ms-word.template.macroenabled.12": {
			"source": "iana",
			"extensions": ["dotm"]
		},
		"application/vnd.ms-works": {
			"source": "iana",
			"extensions": [
				"wps",
				"wks",
				"wcm",
				"wdb"
			]
		},
		"application/vnd.ms-wpl": {
			"source": "iana",
			"extensions": ["wpl"]
		},
		"application/vnd.ms-xpsdocument": {
			"source": "iana",
			"compressible": false,
			"extensions": ["xps"]
		},
		"application/vnd.msa-disk-image": { "source": "iana" },
		"application/vnd.mseq": {
			"source": "iana",
			"extensions": ["mseq"]
		},
		"application/vnd.msign": { "source": "iana" },
		"application/vnd.multiad.creator": { "source": "iana" },
		"application/vnd.multiad.creator.cif": { "source": "iana" },
		"application/vnd.music-niff": { "source": "iana" },
		"application/vnd.musician": {
			"source": "iana",
			"extensions": ["mus"]
		},
		"application/vnd.muvee.style": {
			"source": "iana",
			"extensions": ["msty"]
		},
		"application/vnd.mynfc": {
			"source": "iana",
			"extensions": ["taglet"]
		},
		"application/vnd.nacamar.ybrid+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.ncd.control": { "source": "iana" },
		"application/vnd.ncd.reference": { "source": "iana" },
		"application/vnd.nearst.inv+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.nebumind.line": { "source": "iana" },
		"application/vnd.nervana": { "source": "iana" },
		"application/vnd.netfpx": { "source": "iana" },
		"application/vnd.neurolanguage.nlu": {
			"source": "iana",
			"extensions": ["nlu"]
		},
		"application/vnd.nimn": { "source": "iana" },
		"application/vnd.nintendo.nitro.rom": { "source": "iana" },
		"application/vnd.nintendo.snes.rom": { "source": "iana" },
		"application/vnd.nitf": {
			"source": "iana",
			"extensions": ["ntf", "nitf"]
		},
		"application/vnd.noblenet-directory": {
			"source": "iana",
			"extensions": ["nnd"]
		},
		"application/vnd.noblenet-sealer": {
			"source": "iana",
			"extensions": ["nns"]
		},
		"application/vnd.noblenet-web": {
			"source": "iana",
			"extensions": ["nnw"]
		},
		"application/vnd.nokia.catalogs": { "source": "iana" },
		"application/vnd.nokia.conml+wbxml": { "source": "iana" },
		"application/vnd.nokia.conml+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.nokia.iptv.config+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.nokia.isds-radio-presets": { "source": "iana" },
		"application/vnd.nokia.landmark+wbxml": { "source": "iana" },
		"application/vnd.nokia.landmark+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.nokia.landmarkcollection+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.nokia.n-gage.ac+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["ac"]
		},
		"application/vnd.nokia.n-gage.data": {
			"source": "iana",
			"extensions": ["ngdat"]
		},
		"application/vnd.nokia.n-gage.symbian.install": {
			"source": "iana",
			"extensions": ["n-gage"]
		},
		"application/vnd.nokia.ncd": { "source": "iana" },
		"application/vnd.nokia.pcd+wbxml": { "source": "iana" },
		"application/vnd.nokia.pcd+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.nokia.radio-preset": {
			"source": "iana",
			"extensions": ["rpst"]
		},
		"application/vnd.nokia.radio-presets": {
			"source": "iana",
			"extensions": ["rpss"]
		},
		"application/vnd.novadigm.edm": {
			"source": "iana",
			"extensions": ["edm"]
		},
		"application/vnd.novadigm.edx": {
			"source": "iana",
			"extensions": ["edx"]
		},
		"application/vnd.novadigm.ext": {
			"source": "iana",
			"extensions": ["ext"]
		},
		"application/vnd.ntt-local.content-share": { "source": "iana" },
		"application/vnd.ntt-local.file-transfer": { "source": "iana" },
		"application/vnd.ntt-local.ogw_remote-access": { "source": "iana" },
		"application/vnd.ntt-local.sip-ta_remote": { "source": "iana" },
		"application/vnd.ntt-local.sip-ta_tcp_stream": { "source": "iana" },
		"application/vnd.oasis.opendocument.chart": {
			"source": "iana",
			"extensions": ["odc"]
		},
		"application/vnd.oasis.opendocument.chart-template": {
			"source": "iana",
			"extensions": ["otc"]
		},
		"application/vnd.oasis.opendocument.database": {
			"source": "iana",
			"extensions": ["odb"]
		},
		"application/vnd.oasis.opendocument.formula": {
			"source": "iana",
			"extensions": ["odf"]
		},
		"application/vnd.oasis.opendocument.formula-template": {
			"source": "iana",
			"extensions": ["odft"]
		},
		"application/vnd.oasis.opendocument.graphics": {
			"source": "iana",
			"compressible": false,
			"extensions": ["odg"]
		},
		"application/vnd.oasis.opendocument.graphics-template": {
			"source": "iana",
			"extensions": ["otg"]
		},
		"application/vnd.oasis.opendocument.image": {
			"source": "iana",
			"extensions": ["odi"]
		},
		"application/vnd.oasis.opendocument.image-template": {
			"source": "iana",
			"extensions": ["oti"]
		},
		"application/vnd.oasis.opendocument.presentation": {
			"source": "iana",
			"compressible": false,
			"extensions": ["odp"]
		},
		"application/vnd.oasis.opendocument.presentation-template": {
			"source": "iana",
			"extensions": ["otp"]
		},
		"application/vnd.oasis.opendocument.spreadsheet": {
			"source": "iana",
			"compressible": false,
			"extensions": ["ods"]
		},
		"application/vnd.oasis.opendocument.spreadsheet-template": {
			"source": "iana",
			"extensions": ["ots"]
		},
		"application/vnd.oasis.opendocument.text": {
			"source": "iana",
			"compressible": false,
			"extensions": ["odt"]
		},
		"application/vnd.oasis.opendocument.text-master": {
			"source": "iana",
			"extensions": ["odm"]
		},
		"application/vnd.oasis.opendocument.text-template": {
			"source": "iana",
			"extensions": ["ott"]
		},
		"application/vnd.oasis.opendocument.text-web": {
			"source": "iana",
			"extensions": ["oth"]
		},
		"application/vnd.obn": { "source": "iana" },
		"application/vnd.ocf+cbor": { "source": "iana" },
		"application/vnd.oci.image.manifest.v1+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oftn.l10n+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oipf.contentaccessdownload+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oipf.contentaccessstreaming+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oipf.cspg-hexbinary": { "source": "iana" },
		"application/vnd.oipf.dae.svg+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oipf.dae.xhtml+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oipf.mippvcontrolmessage+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oipf.pae.gem": { "source": "iana" },
		"application/vnd.oipf.spdiscovery+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oipf.spdlist+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oipf.ueprofile+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oipf.userprofile+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.olpc-sugar": {
			"source": "iana",
			"extensions": ["xo"]
		},
		"application/vnd.oma-scws-config": { "source": "iana" },
		"application/vnd.oma-scws-http-request": { "source": "iana" },
		"application/vnd.oma-scws-http-response": { "source": "iana" },
		"application/vnd.oma.bcast.associated-procedure-parameter+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oma.bcast.drm-trigger+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oma.bcast.imd+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oma.bcast.ltkm": { "source": "iana" },
		"application/vnd.oma.bcast.notification+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oma.bcast.provisioningtrigger": { "source": "iana" },
		"application/vnd.oma.bcast.sgboot": { "source": "iana" },
		"application/vnd.oma.bcast.sgdd+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oma.bcast.sgdu": { "source": "iana" },
		"application/vnd.oma.bcast.simple-symbol-container": { "source": "iana" },
		"application/vnd.oma.bcast.smartcard-trigger+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oma.bcast.sprov+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oma.bcast.stkm": { "source": "iana" },
		"application/vnd.oma.cab-address-book+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oma.cab-feature-handler+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oma.cab-pcc+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oma.cab-subs-invite+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oma.cab-user-prefs+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oma.dcd": { "source": "iana" },
		"application/vnd.oma.dcdc": { "source": "iana" },
		"application/vnd.oma.dd2+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["dd2"]
		},
		"application/vnd.oma.drm.risd+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oma.group-usage-list+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oma.lwm2m+cbor": { "source": "iana" },
		"application/vnd.oma.lwm2m+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oma.lwm2m+tlv": { "source": "iana" },
		"application/vnd.oma.pal+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oma.poc.detailed-progress-report+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oma.poc.final-report+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oma.poc.groups+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oma.poc.invocation-descriptor+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oma.poc.optimized-progress-report+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oma.push": { "source": "iana" },
		"application/vnd.oma.scidm.messages+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oma.xcap-directory+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.omads-email+xml": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true
		},
		"application/vnd.omads-file+xml": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true
		},
		"application/vnd.omads-folder+xml": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true
		},
		"application/vnd.omaloc-supl-init": { "source": "iana" },
		"application/vnd.onepager": { "source": "iana" },
		"application/vnd.onepagertamp": { "source": "iana" },
		"application/vnd.onepagertamx": { "source": "iana" },
		"application/vnd.onepagertat": { "source": "iana" },
		"application/vnd.onepagertatp": { "source": "iana" },
		"application/vnd.onepagertatx": { "source": "iana" },
		"application/vnd.openblox.game+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["obgx"]
		},
		"application/vnd.openblox.game-binary": { "source": "iana" },
		"application/vnd.openeye.oeb": { "source": "iana" },
		"application/vnd.openofficeorg.extension": {
			"source": "apache",
			"extensions": ["oxt"]
		},
		"application/vnd.openstreetmap.data+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["osm"]
		},
		"application/vnd.opentimestamps.ots": { "source": "iana" },
		"application/vnd.openxmlformats-officedocument.custom-properties+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.customxmlproperties+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.drawing+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.drawingml.chart+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.extended-properties+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.presentationml.comments+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.presentationml.presentation": {
			"source": "iana",
			"compressible": false,
			"extensions": ["pptx"]
		},
		"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.presentationml.slide": {
			"source": "iana",
			"extensions": ["sldx"]
		},
		"application/vnd.openxmlformats-officedocument.presentationml.slide+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.presentationml.slideshow": {
			"source": "iana",
			"extensions": ["ppsx"]
		},
		"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.presentationml.tags+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.presentationml.template": {
			"source": "iana",
			"extensions": ["potx"]
		},
		"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
			"source": "iana",
			"compressible": false,
			"extensions": ["xlsx"]
		},
		"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.spreadsheetml.template": {
			"source": "iana",
			"extensions": ["xltx"]
		},
		"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.theme+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.themeoverride+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.vmldrawing": { "source": "iana" },
		"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.wordprocessingml.document": {
			"source": "iana",
			"compressible": false,
			"extensions": ["docx"]
		},
		"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.wordprocessingml.template": {
			"source": "iana",
			"extensions": ["dotx"]
		},
		"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-package.core-properties+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.openxmlformats-package.relationships+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oracle.resource+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.orange.indata": { "source": "iana" },
		"application/vnd.osa.netdeploy": { "source": "iana" },
		"application/vnd.osgeo.mapguide.package": {
			"source": "iana",
			"extensions": ["mgp"]
		},
		"application/vnd.osgi.bundle": { "source": "iana" },
		"application/vnd.osgi.dp": {
			"source": "iana",
			"extensions": ["dp"]
		},
		"application/vnd.osgi.subsystem": {
			"source": "iana",
			"extensions": ["esa"]
		},
		"application/vnd.otps.ct-kip+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.oxli.countgraph": { "source": "iana" },
		"application/vnd.pagerduty+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.palm": {
			"source": "iana",
			"extensions": [
				"pdb",
				"pqa",
				"oprc"
			]
		},
		"application/vnd.panoply": { "source": "iana" },
		"application/vnd.paos.xml": { "source": "iana" },
		"application/vnd.patentdive": { "source": "iana" },
		"application/vnd.patientecommsdoc": { "source": "iana" },
		"application/vnd.pawaafile": {
			"source": "iana",
			"extensions": ["paw"]
		},
		"application/vnd.pcos": { "source": "iana" },
		"application/vnd.pg.format": {
			"source": "iana",
			"extensions": ["str"]
		},
		"application/vnd.pg.osasli": {
			"source": "iana",
			"extensions": ["ei6"]
		},
		"application/vnd.piaccess.application-licence": { "source": "iana" },
		"application/vnd.picsel": {
			"source": "iana",
			"extensions": ["efif"]
		},
		"application/vnd.pmi.widget": {
			"source": "iana",
			"extensions": ["wg"]
		},
		"application/vnd.poc.group-advertisement+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.pocketlearn": {
			"source": "iana",
			"extensions": ["plf"]
		},
		"application/vnd.powerbuilder6": {
			"source": "iana",
			"extensions": ["pbd"]
		},
		"application/vnd.powerbuilder6-s": { "source": "iana" },
		"application/vnd.powerbuilder7": { "source": "iana" },
		"application/vnd.powerbuilder7-s": { "source": "iana" },
		"application/vnd.powerbuilder75": { "source": "iana" },
		"application/vnd.powerbuilder75-s": { "source": "iana" },
		"application/vnd.preminet": { "source": "iana" },
		"application/vnd.previewsystems.box": {
			"source": "iana",
			"extensions": ["box"]
		},
		"application/vnd.proteus.magazine": {
			"source": "iana",
			"extensions": ["mgz"]
		},
		"application/vnd.psfs": { "source": "iana" },
		"application/vnd.publishare-delta-tree": {
			"source": "iana",
			"extensions": ["qps"]
		},
		"application/vnd.pvi.ptid1": {
			"source": "iana",
			"extensions": ["ptid"]
		},
		"application/vnd.pwg-multiplexed": { "source": "iana" },
		"application/vnd.pwg-xhtml-print+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.qualcomm.brew-app-res": { "source": "iana" },
		"application/vnd.quarantainenet": { "source": "iana" },
		"application/vnd.quark.quarkxpress": {
			"source": "iana",
			"extensions": [
				"qxd",
				"qxt",
				"qwd",
				"qwt",
				"qxl",
				"qxb"
			]
		},
		"application/vnd.quobject-quoxdocument": { "source": "iana" },
		"application/vnd.radisys.moml+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.radisys.msml+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.radisys.msml-audit+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.radisys.msml-audit-conf+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.radisys.msml-audit-conn+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.radisys.msml-audit-dialog+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.radisys.msml-audit-stream+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.radisys.msml-conf+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.radisys.msml-dialog+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.radisys.msml-dialog-base+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.radisys.msml-dialog-fax-detect+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.radisys.msml-dialog-fax-sendrecv+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.radisys.msml-dialog-group+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.radisys.msml-dialog-speech+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.radisys.msml-dialog-transform+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.rainstor.data": { "source": "iana" },
		"application/vnd.rapid": { "source": "iana" },
		"application/vnd.rar": {
			"source": "iana",
			"extensions": ["rar"]
		},
		"application/vnd.realvnc.bed": {
			"source": "iana",
			"extensions": ["bed"]
		},
		"application/vnd.recordare.musicxml": {
			"source": "iana",
			"extensions": ["mxl"]
		},
		"application/vnd.recordare.musicxml+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["musicxml"]
		},
		"application/vnd.renlearn.rlprint": { "source": "iana" },
		"application/vnd.resilient.logic": { "source": "iana" },
		"application/vnd.restful+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.rig.cryptonote": {
			"source": "iana",
			"extensions": ["cryptonote"]
		},
		"application/vnd.rim.cod": {
			"source": "apache",
			"extensions": ["cod"]
		},
		"application/vnd.rn-realmedia": {
			"source": "apache",
			"extensions": ["rm"]
		},
		"application/vnd.rn-realmedia-vbr": {
			"source": "apache",
			"extensions": ["rmvb"]
		},
		"application/vnd.route66.link66+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["link66"]
		},
		"application/vnd.rs-274x": { "source": "iana" },
		"application/vnd.ruckus.download": { "source": "iana" },
		"application/vnd.s3sms": { "source": "iana" },
		"application/vnd.sailingtracker.track": {
			"source": "iana",
			"extensions": ["st"]
		},
		"application/vnd.sar": { "source": "iana" },
		"application/vnd.sbm.cid": { "source": "iana" },
		"application/vnd.sbm.mid2": { "source": "iana" },
		"application/vnd.scribus": { "source": "iana" },
		"application/vnd.sealed.3df": { "source": "iana" },
		"application/vnd.sealed.csf": { "source": "iana" },
		"application/vnd.sealed.doc": { "source": "iana" },
		"application/vnd.sealed.eml": { "source": "iana" },
		"application/vnd.sealed.mht": { "source": "iana" },
		"application/vnd.sealed.net": { "source": "iana" },
		"application/vnd.sealed.ppt": { "source": "iana" },
		"application/vnd.sealed.tiff": { "source": "iana" },
		"application/vnd.sealed.xls": { "source": "iana" },
		"application/vnd.sealedmedia.softseal.html": { "source": "iana" },
		"application/vnd.sealedmedia.softseal.pdf": { "source": "iana" },
		"application/vnd.seemail": {
			"source": "iana",
			"extensions": ["see"]
		},
		"application/vnd.seis+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.sema": {
			"source": "iana",
			"extensions": ["sema"]
		},
		"application/vnd.semd": {
			"source": "iana",
			"extensions": ["semd"]
		},
		"application/vnd.semf": {
			"source": "iana",
			"extensions": ["semf"]
		},
		"application/vnd.shade-save-file": { "source": "iana" },
		"application/vnd.shana.informed.formdata": {
			"source": "iana",
			"extensions": ["ifm"]
		},
		"application/vnd.shana.informed.formtemplate": {
			"source": "iana",
			"extensions": ["itp"]
		},
		"application/vnd.shana.informed.interchange": {
			"source": "iana",
			"extensions": ["iif"]
		},
		"application/vnd.shana.informed.package": {
			"source": "iana",
			"extensions": ["ipk"]
		},
		"application/vnd.shootproof+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.shopkick+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.shp": { "source": "iana" },
		"application/vnd.shx": { "source": "iana" },
		"application/vnd.sigrok.session": { "source": "iana" },
		"application/vnd.simtech-mindmapper": {
			"source": "iana",
			"extensions": ["twd", "twds"]
		},
		"application/vnd.siren+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.smaf": {
			"source": "iana",
			"extensions": ["mmf"]
		},
		"application/vnd.smart.notebook": { "source": "iana" },
		"application/vnd.smart.teacher": {
			"source": "iana",
			"extensions": ["teacher"]
		},
		"application/vnd.snesdev-page-table": { "source": "iana" },
		"application/vnd.software602.filler.form+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["fo"]
		},
		"application/vnd.software602.filler.form-xml-zip": { "source": "iana" },
		"application/vnd.solent.sdkm+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["sdkm", "sdkd"]
		},
		"application/vnd.spotfire.dxp": {
			"source": "iana",
			"extensions": ["dxp"]
		},
		"application/vnd.spotfire.sfs": {
			"source": "iana",
			"extensions": ["sfs"]
		},
		"application/vnd.sqlite3": { "source": "iana" },
		"application/vnd.sss-cod": { "source": "iana" },
		"application/vnd.sss-dtf": { "source": "iana" },
		"application/vnd.sss-ntf": { "source": "iana" },
		"application/vnd.stardivision.calc": {
			"source": "apache",
			"extensions": ["sdc"]
		},
		"application/vnd.stardivision.draw": {
			"source": "apache",
			"extensions": ["sda"]
		},
		"application/vnd.stardivision.impress": {
			"source": "apache",
			"extensions": ["sdd"]
		},
		"application/vnd.stardivision.math": {
			"source": "apache",
			"extensions": ["smf"]
		},
		"application/vnd.stardivision.writer": {
			"source": "apache",
			"extensions": ["sdw", "vor"]
		},
		"application/vnd.stardivision.writer-global": {
			"source": "apache",
			"extensions": ["sgl"]
		},
		"application/vnd.stepmania.package": {
			"source": "iana",
			"extensions": ["smzip"]
		},
		"application/vnd.stepmania.stepchart": {
			"source": "iana",
			"extensions": ["sm"]
		},
		"application/vnd.street-stream": { "source": "iana" },
		"application/vnd.sun.wadl+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["wadl"]
		},
		"application/vnd.sun.xml.calc": {
			"source": "apache",
			"extensions": ["sxc"]
		},
		"application/vnd.sun.xml.calc.template": {
			"source": "apache",
			"extensions": ["stc"]
		},
		"application/vnd.sun.xml.draw": {
			"source": "apache",
			"extensions": ["sxd"]
		},
		"application/vnd.sun.xml.draw.template": {
			"source": "apache",
			"extensions": ["std"]
		},
		"application/vnd.sun.xml.impress": {
			"source": "apache",
			"extensions": ["sxi"]
		},
		"application/vnd.sun.xml.impress.template": {
			"source": "apache",
			"extensions": ["sti"]
		},
		"application/vnd.sun.xml.math": {
			"source": "apache",
			"extensions": ["sxm"]
		},
		"application/vnd.sun.xml.writer": {
			"source": "apache",
			"extensions": ["sxw"]
		},
		"application/vnd.sun.xml.writer.global": {
			"source": "apache",
			"extensions": ["sxg"]
		},
		"application/vnd.sun.xml.writer.template": {
			"source": "apache",
			"extensions": ["stw"]
		},
		"application/vnd.sus-calendar": {
			"source": "iana",
			"extensions": ["sus", "susp"]
		},
		"application/vnd.svd": {
			"source": "iana",
			"extensions": ["svd"]
		},
		"application/vnd.swiftview-ics": { "source": "iana" },
		"application/vnd.sycle+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.syft+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.symbian.install": {
			"source": "apache",
			"extensions": ["sis", "sisx"]
		},
		"application/vnd.syncml+xml": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true,
			"extensions": ["xsm"]
		},
		"application/vnd.syncml.dm+wbxml": {
			"source": "iana",
			"charset": "UTF-8",
			"extensions": ["bdm"]
		},
		"application/vnd.syncml.dm+xml": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true,
			"extensions": ["xdm"]
		},
		"application/vnd.syncml.dm.notification": { "source": "iana" },
		"application/vnd.syncml.dmddf+wbxml": { "source": "iana" },
		"application/vnd.syncml.dmddf+xml": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true,
			"extensions": ["ddf"]
		},
		"application/vnd.syncml.dmtnds+wbxml": { "source": "iana" },
		"application/vnd.syncml.dmtnds+xml": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true
		},
		"application/vnd.syncml.ds.notification": { "source": "iana" },
		"application/vnd.tableschema+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.tao.intent-module-archive": {
			"source": "iana",
			"extensions": ["tao"]
		},
		"application/vnd.tcpdump.pcap": {
			"source": "iana",
			"extensions": [
				"pcap",
				"cap",
				"dmp"
			]
		},
		"application/vnd.think-cell.ppttc+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.tmd.mediaflex.api+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.tml": { "source": "iana" },
		"application/vnd.tmobile-livetv": {
			"source": "iana",
			"extensions": ["tmo"]
		},
		"application/vnd.tri.onesource": { "source": "iana" },
		"application/vnd.trid.tpt": {
			"source": "iana",
			"extensions": ["tpt"]
		},
		"application/vnd.triscape.mxs": {
			"source": "iana",
			"extensions": ["mxs"]
		},
		"application/vnd.trueapp": {
			"source": "iana",
			"extensions": ["tra"]
		},
		"application/vnd.truedoc": { "source": "iana" },
		"application/vnd.ubisoft.webplayer": { "source": "iana" },
		"application/vnd.ufdl": {
			"source": "iana",
			"extensions": ["ufd", "ufdl"]
		},
		"application/vnd.uiq.theme": {
			"source": "iana",
			"extensions": ["utz"]
		},
		"application/vnd.umajin": {
			"source": "iana",
			"extensions": ["umj"]
		},
		"application/vnd.unity": {
			"source": "iana",
			"extensions": ["unityweb"]
		},
		"application/vnd.uoml+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["uoml"]
		},
		"application/vnd.uplanet.alert": { "source": "iana" },
		"application/vnd.uplanet.alert-wbxml": { "source": "iana" },
		"application/vnd.uplanet.bearer-choice": { "source": "iana" },
		"application/vnd.uplanet.bearer-choice-wbxml": { "source": "iana" },
		"application/vnd.uplanet.cacheop": { "source": "iana" },
		"application/vnd.uplanet.cacheop-wbxml": { "source": "iana" },
		"application/vnd.uplanet.channel": { "source": "iana" },
		"application/vnd.uplanet.channel-wbxml": { "source": "iana" },
		"application/vnd.uplanet.list": { "source": "iana" },
		"application/vnd.uplanet.list-wbxml": { "source": "iana" },
		"application/vnd.uplanet.listcmd": { "source": "iana" },
		"application/vnd.uplanet.listcmd-wbxml": { "source": "iana" },
		"application/vnd.uplanet.signal": { "source": "iana" },
		"application/vnd.uri-map": { "source": "iana" },
		"application/vnd.valve.source.material": { "source": "iana" },
		"application/vnd.vcx": {
			"source": "iana",
			"extensions": ["vcx"]
		},
		"application/vnd.vd-study": { "source": "iana" },
		"application/vnd.vectorworks": { "source": "iana" },
		"application/vnd.vel+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.verimatrix.vcas": { "source": "iana" },
		"application/vnd.veritone.aion+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.veryant.thin": { "source": "iana" },
		"application/vnd.ves.encrypted": { "source": "iana" },
		"application/vnd.vidsoft.vidconference": { "source": "iana" },
		"application/vnd.visio": {
			"source": "iana",
			"extensions": [
				"vsd",
				"vst",
				"vss",
				"vsw"
			]
		},
		"application/vnd.visionary": {
			"source": "iana",
			"extensions": ["vis"]
		},
		"application/vnd.vividence.scriptfile": { "source": "iana" },
		"application/vnd.vsf": {
			"source": "iana",
			"extensions": ["vsf"]
		},
		"application/vnd.wap.sic": { "source": "iana" },
		"application/vnd.wap.slc": { "source": "iana" },
		"application/vnd.wap.wbxml": {
			"source": "iana",
			"charset": "UTF-8",
			"extensions": ["wbxml"]
		},
		"application/vnd.wap.wmlc": {
			"source": "iana",
			"extensions": ["wmlc"]
		},
		"application/vnd.wap.wmlscriptc": {
			"source": "iana",
			"extensions": ["wmlsc"]
		},
		"application/vnd.webturbo": {
			"source": "iana",
			"extensions": ["wtb"]
		},
		"application/vnd.wfa.dpp": { "source": "iana" },
		"application/vnd.wfa.p2p": { "source": "iana" },
		"application/vnd.wfa.wsc": { "source": "iana" },
		"application/vnd.windows.devicepairing": { "source": "iana" },
		"application/vnd.wmc": { "source": "iana" },
		"application/vnd.wmf.bootstrap": { "source": "iana" },
		"application/vnd.wolfram.mathematica": { "source": "iana" },
		"application/vnd.wolfram.mathematica.package": { "source": "iana" },
		"application/vnd.wolfram.player": {
			"source": "iana",
			"extensions": ["nbp"]
		},
		"application/vnd.wordperfect": {
			"source": "iana",
			"extensions": ["wpd"]
		},
		"application/vnd.wqd": {
			"source": "iana",
			"extensions": ["wqd"]
		},
		"application/vnd.wrq-hp3000-labelled": { "source": "iana" },
		"application/vnd.wt.stf": {
			"source": "iana",
			"extensions": ["stf"]
		},
		"application/vnd.wv.csp+wbxml": { "source": "iana" },
		"application/vnd.wv.csp+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.wv.ssp+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.xacml+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.xara": {
			"source": "iana",
			"extensions": ["xar"]
		},
		"application/vnd.xfdl": {
			"source": "iana",
			"extensions": ["xfdl"]
		},
		"application/vnd.xfdl.webform": { "source": "iana" },
		"application/vnd.xmi+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/vnd.xmpie.cpkg": { "source": "iana" },
		"application/vnd.xmpie.dpkg": { "source": "iana" },
		"application/vnd.xmpie.plan": { "source": "iana" },
		"application/vnd.xmpie.ppkg": { "source": "iana" },
		"application/vnd.xmpie.xlim": { "source": "iana" },
		"application/vnd.yamaha.hv-dic": {
			"source": "iana",
			"extensions": ["hvd"]
		},
		"application/vnd.yamaha.hv-script": {
			"source": "iana",
			"extensions": ["hvs"]
		},
		"application/vnd.yamaha.hv-voice": {
			"source": "iana",
			"extensions": ["hvp"]
		},
		"application/vnd.yamaha.openscoreformat": {
			"source": "iana",
			"extensions": ["osf"]
		},
		"application/vnd.yamaha.openscoreformat.osfpvg+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["osfpvg"]
		},
		"application/vnd.yamaha.remote-setup": { "source": "iana" },
		"application/vnd.yamaha.smaf-audio": {
			"source": "iana",
			"extensions": ["saf"]
		},
		"application/vnd.yamaha.smaf-phrase": {
			"source": "iana",
			"extensions": ["spf"]
		},
		"application/vnd.yamaha.through-ngn": { "source": "iana" },
		"application/vnd.yamaha.tunnel-udpencap": { "source": "iana" },
		"application/vnd.yaoweme": { "source": "iana" },
		"application/vnd.yellowriver-custom-menu": {
			"source": "iana",
			"extensions": ["cmp"]
		},
		"application/vnd.youtube.yt": { "source": "iana" },
		"application/vnd.zul": {
			"source": "iana",
			"extensions": ["zir", "zirz"]
		},
		"application/vnd.zzazz.deck+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["zaz"]
		},
		"application/voicexml+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["vxml"]
		},
		"application/voucher-cms+json": {
			"source": "iana",
			"compressible": true
		},
		"application/vq-rtcpxr": { "source": "iana" },
		"application/wasm": {
			"source": "iana",
			"compressible": true,
			"extensions": ["wasm"]
		},
		"application/watcherinfo+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["wif"]
		},
		"application/webpush-options+json": {
			"source": "iana",
			"compressible": true
		},
		"application/whoispp-query": { "source": "iana" },
		"application/whoispp-response": { "source": "iana" },
		"application/widget": {
			"source": "iana",
			"extensions": ["wgt"]
		},
		"application/winhlp": {
			"source": "apache",
			"extensions": ["hlp"]
		},
		"application/wita": { "source": "iana" },
		"application/wordperfect5.1": { "source": "iana" },
		"application/wsdl+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["wsdl"]
		},
		"application/wspolicy+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["wspolicy"]
		},
		"application/x-7z-compressed": {
			"source": "apache",
			"compressible": false,
			"extensions": ["7z"]
		},
		"application/x-abiword": {
			"source": "apache",
			"extensions": ["abw"]
		},
		"application/x-ace-compressed": {
			"source": "apache",
			"extensions": ["ace"]
		},
		"application/x-amf": { "source": "apache" },
		"application/x-apple-diskimage": {
			"source": "apache",
			"extensions": ["dmg"]
		},
		"application/x-arj": {
			"compressible": false,
			"extensions": ["arj"]
		},
		"application/x-authorware-bin": {
			"source": "apache",
			"extensions": [
				"aab",
				"x32",
				"u32",
				"vox"
			]
		},
		"application/x-authorware-map": {
			"source": "apache",
			"extensions": ["aam"]
		},
		"application/x-authorware-seg": {
			"source": "apache",
			"extensions": ["aas"]
		},
		"application/x-bcpio": {
			"source": "apache",
			"extensions": ["bcpio"]
		},
		"application/x-bdoc": {
			"compressible": false,
			"extensions": ["bdoc"]
		},
		"application/x-bittorrent": {
			"source": "apache",
			"extensions": ["torrent"]
		},
		"application/x-blorb": {
			"source": "apache",
			"extensions": ["blb", "blorb"]
		},
		"application/x-bzip": {
			"source": "apache",
			"compressible": false,
			"extensions": ["bz"]
		},
		"application/x-bzip2": {
			"source": "apache",
			"compressible": false,
			"extensions": ["bz2", "boz"]
		},
		"application/x-cbr": {
			"source": "apache",
			"extensions": [
				"cbr",
				"cba",
				"cbt",
				"cbz",
				"cb7"
			]
		},
		"application/x-cdlink": {
			"source": "apache",
			"extensions": ["vcd"]
		},
		"application/x-cfs-compressed": {
			"source": "apache",
			"extensions": ["cfs"]
		},
		"application/x-chat": {
			"source": "apache",
			"extensions": ["chat"]
		},
		"application/x-chess-pgn": {
			"source": "apache",
			"extensions": ["pgn"]
		},
		"application/x-chrome-extension": { "extensions": ["crx"] },
		"application/x-cocoa": {
			"source": "nginx",
			"extensions": ["cco"]
		},
		"application/x-compress": { "source": "apache" },
		"application/x-conference": {
			"source": "apache",
			"extensions": ["nsc"]
		},
		"application/x-cpio": {
			"source": "apache",
			"extensions": ["cpio"]
		},
		"application/x-csh": {
			"source": "apache",
			"extensions": ["csh"]
		},
		"application/x-deb": { "compressible": false },
		"application/x-debian-package": {
			"source": "apache",
			"extensions": ["deb", "udeb"]
		},
		"application/x-dgc-compressed": {
			"source": "apache",
			"extensions": ["dgc"]
		},
		"application/x-director": {
			"source": "apache",
			"extensions": [
				"dir",
				"dcr",
				"dxr",
				"cst",
				"cct",
				"cxt",
				"w3d",
				"fgd",
				"swa"
			]
		},
		"application/x-doom": {
			"source": "apache",
			"extensions": ["wad"]
		},
		"application/x-dtbncx+xml": {
			"source": "apache",
			"compressible": true,
			"extensions": ["ncx"]
		},
		"application/x-dtbook+xml": {
			"source": "apache",
			"compressible": true,
			"extensions": ["dtb"]
		},
		"application/x-dtbresource+xml": {
			"source": "apache",
			"compressible": true,
			"extensions": ["res"]
		},
		"application/x-dvi": {
			"source": "apache",
			"compressible": false,
			"extensions": ["dvi"]
		},
		"application/x-envoy": {
			"source": "apache",
			"extensions": ["evy"]
		},
		"application/x-eva": {
			"source": "apache",
			"extensions": ["eva"]
		},
		"application/x-font-bdf": {
			"source": "apache",
			"extensions": ["bdf"]
		},
		"application/x-font-dos": { "source": "apache" },
		"application/x-font-framemaker": { "source": "apache" },
		"application/x-font-ghostscript": {
			"source": "apache",
			"extensions": ["gsf"]
		},
		"application/x-font-libgrx": { "source": "apache" },
		"application/x-font-linux-psf": {
			"source": "apache",
			"extensions": ["psf"]
		},
		"application/x-font-pcf": {
			"source": "apache",
			"extensions": ["pcf"]
		},
		"application/x-font-snf": {
			"source": "apache",
			"extensions": ["snf"]
		},
		"application/x-font-speedo": { "source": "apache" },
		"application/x-font-sunos-news": { "source": "apache" },
		"application/x-font-type1": {
			"source": "apache",
			"extensions": [
				"pfa",
				"pfb",
				"pfm",
				"afm"
			]
		},
		"application/x-font-vfont": { "source": "apache" },
		"application/x-freearc": {
			"source": "apache",
			"extensions": ["arc"]
		},
		"application/x-futuresplash": {
			"source": "apache",
			"extensions": ["spl"]
		},
		"application/x-gca-compressed": {
			"source": "apache",
			"extensions": ["gca"]
		},
		"application/x-glulx": {
			"source": "apache",
			"extensions": ["ulx"]
		},
		"application/x-gnumeric": {
			"source": "apache",
			"extensions": ["gnumeric"]
		},
		"application/x-gramps-xml": {
			"source": "apache",
			"extensions": ["gramps"]
		},
		"application/x-gtar": {
			"source": "apache",
			"extensions": ["gtar"]
		},
		"application/x-gzip": { "source": "apache" },
		"application/x-hdf": {
			"source": "apache",
			"extensions": ["hdf"]
		},
		"application/x-httpd-php": {
			"compressible": true,
			"extensions": ["php"]
		},
		"application/x-install-instructions": {
			"source": "apache",
			"extensions": ["install"]
		},
		"application/x-iso9660-image": {
			"source": "apache",
			"extensions": ["iso"]
		},
		"application/x-iwork-keynote-sffkey": { "extensions": ["key"] },
		"application/x-iwork-numbers-sffnumbers": { "extensions": ["numbers"] },
		"application/x-iwork-pages-sffpages": { "extensions": ["pages"] },
		"application/x-java-archive-diff": {
			"source": "nginx",
			"extensions": ["jardiff"]
		},
		"application/x-java-jnlp-file": {
			"source": "apache",
			"compressible": false,
			"extensions": ["jnlp"]
		},
		"application/x-javascript": { "compressible": true },
		"application/x-keepass2": { "extensions": ["kdbx"] },
		"application/x-latex": {
			"source": "apache",
			"compressible": false,
			"extensions": ["latex"]
		},
		"application/x-lua-bytecode": { "extensions": ["luac"] },
		"application/x-lzh-compressed": {
			"source": "apache",
			"extensions": ["lzh", "lha"]
		},
		"application/x-makeself": {
			"source": "nginx",
			"extensions": ["run"]
		},
		"application/x-mie": {
			"source": "apache",
			"extensions": ["mie"]
		},
		"application/x-mobipocket-ebook": {
			"source": "apache",
			"extensions": ["prc", "mobi"]
		},
		"application/x-mpegurl": { "compressible": false },
		"application/x-ms-application": {
			"source": "apache",
			"extensions": ["application"]
		},
		"application/x-ms-shortcut": {
			"source": "apache",
			"extensions": ["lnk"]
		},
		"application/x-ms-wmd": {
			"source": "apache",
			"extensions": ["wmd"]
		},
		"application/x-ms-wmz": {
			"source": "apache",
			"extensions": ["wmz"]
		},
		"application/x-ms-xbap": {
			"source": "apache",
			"extensions": ["xbap"]
		},
		"application/x-msaccess": {
			"source": "apache",
			"extensions": ["mdb"]
		},
		"application/x-msbinder": {
			"source": "apache",
			"extensions": ["obd"]
		},
		"application/x-mscardfile": {
			"source": "apache",
			"extensions": ["crd"]
		},
		"application/x-msclip": {
			"source": "apache",
			"extensions": ["clp"]
		},
		"application/x-msdos-program": { "extensions": ["exe"] },
		"application/x-msdownload": {
			"source": "apache",
			"extensions": [
				"exe",
				"dll",
				"com",
				"bat",
				"msi"
			]
		},
		"application/x-msmediaview": {
			"source": "apache",
			"extensions": [
				"mvb",
				"m13",
				"m14"
			]
		},
		"application/x-msmetafile": {
			"source": "apache",
			"extensions": [
				"wmf",
				"wmz",
				"emf",
				"emz"
			]
		},
		"application/x-msmoney": {
			"source": "apache",
			"extensions": ["mny"]
		},
		"application/x-mspublisher": {
			"source": "apache",
			"extensions": ["pub"]
		},
		"application/x-msschedule": {
			"source": "apache",
			"extensions": ["scd"]
		},
		"application/x-msterminal": {
			"source": "apache",
			"extensions": ["trm"]
		},
		"application/x-mswrite": {
			"source": "apache",
			"extensions": ["wri"]
		},
		"application/x-netcdf": {
			"source": "apache",
			"extensions": ["nc", "cdf"]
		},
		"application/x-ns-proxy-autoconfig": {
			"compressible": true,
			"extensions": ["pac"]
		},
		"application/x-nzb": {
			"source": "apache",
			"extensions": ["nzb"]
		},
		"application/x-perl": {
			"source": "nginx",
			"extensions": ["pl", "pm"]
		},
		"application/x-pilot": {
			"source": "nginx",
			"extensions": ["prc", "pdb"]
		},
		"application/x-pkcs12": {
			"source": "apache",
			"compressible": false,
			"extensions": ["p12", "pfx"]
		},
		"application/x-pkcs7-certificates": {
			"source": "apache",
			"extensions": ["p7b", "spc"]
		},
		"application/x-pkcs7-certreqresp": {
			"source": "apache",
			"extensions": ["p7r"]
		},
		"application/x-pki-message": { "source": "iana" },
		"application/x-rar-compressed": {
			"source": "apache",
			"compressible": false,
			"extensions": ["rar"]
		},
		"application/x-redhat-package-manager": {
			"source": "nginx",
			"extensions": ["rpm"]
		},
		"application/x-research-info-systems": {
			"source": "apache",
			"extensions": ["ris"]
		},
		"application/x-sea": {
			"source": "nginx",
			"extensions": ["sea"]
		},
		"application/x-sh": {
			"source": "apache",
			"compressible": true,
			"extensions": ["sh"]
		},
		"application/x-shar": {
			"source": "apache",
			"extensions": ["shar"]
		},
		"application/x-shockwave-flash": {
			"source": "apache",
			"compressible": false,
			"extensions": ["swf"]
		},
		"application/x-silverlight-app": {
			"source": "apache",
			"extensions": ["xap"]
		},
		"application/x-sql": {
			"source": "apache",
			"extensions": ["sql"]
		},
		"application/x-stuffit": {
			"source": "apache",
			"compressible": false,
			"extensions": ["sit"]
		},
		"application/x-stuffitx": {
			"source": "apache",
			"extensions": ["sitx"]
		},
		"application/x-subrip": {
			"source": "apache",
			"extensions": ["srt"]
		},
		"application/x-sv4cpio": {
			"source": "apache",
			"extensions": ["sv4cpio"]
		},
		"application/x-sv4crc": {
			"source": "apache",
			"extensions": ["sv4crc"]
		},
		"application/x-t3vm-image": {
			"source": "apache",
			"extensions": ["t3"]
		},
		"application/x-tads": {
			"source": "apache",
			"extensions": ["gam"]
		},
		"application/x-tar": {
			"source": "apache",
			"compressible": true,
			"extensions": ["tar"]
		},
		"application/x-tcl": {
			"source": "apache",
			"extensions": ["tcl", "tk"]
		},
		"application/x-tex": {
			"source": "apache",
			"extensions": ["tex"]
		},
		"application/x-tex-tfm": {
			"source": "apache",
			"extensions": ["tfm"]
		},
		"application/x-texinfo": {
			"source": "apache",
			"extensions": ["texinfo", "texi"]
		},
		"application/x-tgif": {
			"source": "apache",
			"extensions": ["obj"]
		},
		"application/x-ustar": {
			"source": "apache",
			"extensions": ["ustar"]
		},
		"application/x-virtualbox-hdd": {
			"compressible": true,
			"extensions": ["hdd"]
		},
		"application/x-virtualbox-ova": {
			"compressible": true,
			"extensions": ["ova"]
		},
		"application/x-virtualbox-ovf": {
			"compressible": true,
			"extensions": ["ovf"]
		},
		"application/x-virtualbox-vbox": {
			"compressible": true,
			"extensions": ["vbox"]
		},
		"application/x-virtualbox-vbox-extpack": {
			"compressible": false,
			"extensions": ["vbox-extpack"]
		},
		"application/x-virtualbox-vdi": {
			"compressible": true,
			"extensions": ["vdi"]
		},
		"application/x-virtualbox-vhd": {
			"compressible": true,
			"extensions": ["vhd"]
		},
		"application/x-virtualbox-vmdk": {
			"compressible": true,
			"extensions": ["vmdk"]
		},
		"application/x-wais-source": {
			"source": "apache",
			"extensions": ["src"]
		},
		"application/x-web-app-manifest+json": {
			"compressible": true,
			"extensions": ["webapp"]
		},
		"application/x-www-form-urlencoded": {
			"source": "iana",
			"compressible": true
		},
		"application/x-x509-ca-cert": {
			"source": "iana",
			"extensions": [
				"der",
				"crt",
				"pem"
			]
		},
		"application/x-x509-ca-ra-cert": { "source": "iana" },
		"application/x-x509-next-ca-cert": { "source": "iana" },
		"application/x-xfig": {
			"source": "apache",
			"extensions": ["fig"]
		},
		"application/x-xliff+xml": {
			"source": "apache",
			"compressible": true,
			"extensions": ["xlf"]
		},
		"application/x-xpinstall": {
			"source": "apache",
			"compressible": false,
			"extensions": ["xpi"]
		},
		"application/x-xz": {
			"source": "apache",
			"extensions": ["xz"]
		},
		"application/x-zmachine": {
			"source": "apache",
			"extensions": [
				"z1",
				"z2",
				"z3",
				"z4",
				"z5",
				"z6",
				"z7",
				"z8"
			]
		},
		"application/x400-bp": { "source": "iana" },
		"application/xacml+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/xaml+xml": {
			"source": "apache",
			"compressible": true,
			"extensions": ["xaml"]
		},
		"application/xcap-att+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["xav"]
		},
		"application/xcap-caps+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["xca"]
		},
		"application/xcap-diff+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["xdf"]
		},
		"application/xcap-el+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["xel"]
		},
		"application/xcap-error+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/xcap-ns+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["xns"]
		},
		"application/xcon-conference-info+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/xcon-conference-info-diff+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/xenc+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["xenc"]
		},
		"application/xhtml+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["xhtml", "xht"]
		},
		"application/xhtml-voice+xml": {
			"source": "apache",
			"compressible": true
		},
		"application/xliff+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["xlf"]
		},
		"application/xml": {
			"source": "iana",
			"compressible": true,
			"extensions": [
				"xml",
				"xsl",
				"xsd",
				"rng"
			]
		},
		"application/xml-dtd": {
			"source": "iana",
			"compressible": true,
			"extensions": ["dtd"]
		},
		"application/xml-external-parsed-entity": { "source": "iana" },
		"application/xml-patch+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/xmpp+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/xop+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["xop"]
		},
		"application/xproc+xml": {
			"source": "apache",
			"compressible": true,
			"extensions": ["xpl"]
		},
		"application/xslt+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["xsl", "xslt"]
		},
		"application/xspf+xml": {
			"source": "apache",
			"compressible": true,
			"extensions": ["xspf"]
		},
		"application/xv+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": [
				"mxml",
				"xhvml",
				"xvml",
				"xvm"
			]
		},
		"application/yang": {
			"source": "iana",
			"extensions": ["yang"]
		},
		"application/yang-data+json": {
			"source": "iana",
			"compressible": true
		},
		"application/yang-data+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/yang-patch+json": {
			"source": "iana",
			"compressible": true
		},
		"application/yang-patch+xml": {
			"source": "iana",
			"compressible": true
		},
		"application/yin+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["yin"]
		},
		"application/zip": {
			"source": "iana",
			"compressible": false,
			"extensions": ["zip"]
		},
		"application/zlib": { "source": "iana" },
		"application/zstd": { "source": "iana" },
		"audio/1d-interleaved-parityfec": { "source": "iana" },
		"audio/32kadpcm": { "source": "iana" },
		"audio/3gpp": {
			"source": "iana",
			"compressible": false,
			"extensions": ["3gpp"]
		},
		"audio/3gpp2": { "source": "iana" },
		"audio/aac": { "source": "iana" },
		"audio/ac3": { "source": "iana" },
		"audio/adpcm": {
			"source": "apache",
			"extensions": ["adp"]
		},
		"audio/amr": {
			"source": "iana",
			"extensions": ["amr"]
		},
		"audio/amr-wb": { "source": "iana" },
		"audio/amr-wb+": { "source": "iana" },
		"audio/aptx": { "source": "iana" },
		"audio/asc": { "source": "iana" },
		"audio/atrac-advanced-lossless": { "source": "iana" },
		"audio/atrac-x": { "source": "iana" },
		"audio/atrac3": { "source": "iana" },
		"audio/basic": {
			"source": "iana",
			"compressible": false,
			"extensions": ["au", "snd"]
		},
		"audio/bv16": { "source": "iana" },
		"audio/bv32": { "source": "iana" },
		"audio/clearmode": { "source": "iana" },
		"audio/cn": { "source": "iana" },
		"audio/dat12": { "source": "iana" },
		"audio/dls": { "source": "iana" },
		"audio/dsr-es201108": { "source": "iana" },
		"audio/dsr-es202050": { "source": "iana" },
		"audio/dsr-es202211": { "source": "iana" },
		"audio/dsr-es202212": { "source": "iana" },
		"audio/dv": { "source": "iana" },
		"audio/dvi4": { "source": "iana" },
		"audio/eac3": { "source": "iana" },
		"audio/encaprtp": { "source": "iana" },
		"audio/evrc": { "source": "iana" },
		"audio/evrc-qcp": { "source": "iana" },
		"audio/evrc0": { "source": "iana" },
		"audio/evrc1": { "source": "iana" },
		"audio/evrcb": { "source": "iana" },
		"audio/evrcb0": { "source": "iana" },
		"audio/evrcb1": { "source": "iana" },
		"audio/evrcnw": { "source": "iana" },
		"audio/evrcnw0": { "source": "iana" },
		"audio/evrcnw1": { "source": "iana" },
		"audio/evrcwb": { "source": "iana" },
		"audio/evrcwb0": { "source": "iana" },
		"audio/evrcwb1": { "source": "iana" },
		"audio/evs": { "source": "iana" },
		"audio/flexfec": { "source": "iana" },
		"audio/fwdred": { "source": "iana" },
		"audio/g711-0": { "source": "iana" },
		"audio/g719": { "source": "iana" },
		"audio/g722": { "source": "iana" },
		"audio/g7221": { "source": "iana" },
		"audio/g723": { "source": "iana" },
		"audio/g726-16": { "source": "iana" },
		"audio/g726-24": { "source": "iana" },
		"audio/g726-32": { "source": "iana" },
		"audio/g726-40": { "source": "iana" },
		"audio/g728": { "source": "iana" },
		"audio/g729": { "source": "iana" },
		"audio/g7291": { "source": "iana" },
		"audio/g729d": { "source": "iana" },
		"audio/g729e": { "source": "iana" },
		"audio/gsm": { "source": "iana" },
		"audio/gsm-efr": { "source": "iana" },
		"audio/gsm-hr-08": { "source": "iana" },
		"audio/ilbc": { "source": "iana" },
		"audio/ip-mr_v2.5": { "source": "iana" },
		"audio/isac": { "source": "apache" },
		"audio/l16": { "source": "iana" },
		"audio/l20": { "source": "iana" },
		"audio/l24": {
			"source": "iana",
			"compressible": false
		},
		"audio/l8": { "source": "iana" },
		"audio/lpc": { "source": "iana" },
		"audio/melp": { "source": "iana" },
		"audio/melp1200": { "source": "iana" },
		"audio/melp2400": { "source": "iana" },
		"audio/melp600": { "source": "iana" },
		"audio/mhas": { "source": "iana" },
		"audio/midi": {
			"source": "apache",
			"extensions": [
				"mid",
				"midi",
				"kar",
				"rmi"
			]
		},
		"audio/mobile-xmf": {
			"source": "iana",
			"extensions": ["mxmf"]
		},
		"audio/mp3": {
			"compressible": false,
			"extensions": ["mp3"]
		},
		"audio/mp4": {
			"source": "iana",
			"compressible": false,
			"extensions": ["m4a", "mp4a"]
		},
		"audio/mp4a-latm": { "source": "iana" },
		"audio/mpa": { "source": "iana" },
		"audio/mpa-robust": { "source": "iana" },
		"audio/mpeg": {
			"source": "iana",
			"compressible": false,
			"extensions": [
				"mpga",
				"mp2",
				"mp2a",
				"mp3",
				"m2a",
				"m3a"
			]
		},
		"audio/mpeg4-generic": { "source": "iana" },
		"audio/musepack": { "source": "apache" },
		"audio/ogg": {
			"source": "iana",
			"compressible": false,
			"extensions": [
				"oga",
				"ogg",
				"spx",
				"opus"
			]
		},
		"audio/opus": { "source": "iana" },
		"audio/parityfec": { "source": "iana" },
		"audio/pcma": { "source": "iana" },
		"audio/pcma-wb": { "source": "iana" },
		"audio/pcmu": { "source": "iana" },
		"audio/pcmu-wb": { "source": "iana" },
		"audio/prs.sid": { "source": "iana" },
		"audio/qcelp": { "source": "iana" },
		"audio/raptorfec": { "source": "iana" },
		"audio/red": { "source": "iana" },
		"audio/rtp-enc-aescm128": { "source": "iana" },
		"audio/rtp-midi": { "source": "iana" },
		"audio/rtploopback": { "source": "iana" },
		"audio/rtx": { "source": "iana" },
		"audio/s3m": {
			"source": "apache",
			"extensions": ["s3m"]
		},
		"audio/scip": { "source": "iana" },
		"audio/silk": {
			"source": "apache",
			"extensions": ["sil"]
		},
		"audio/smv": { "source": "iana" },
		"audio/smv-qcp": { "source": "iana" },
		"audio/smv0": { "source": "iana" },
		"audio/sofa": { "source": "iana" },
		"audio/sp-midi": { "source": "iana" },
		"audio/speex": { "source": "iana" },
		"audio/t140c": { "source": "iana" },
		"audio/t38": { "source": "iana" },
		"audio/telephone-event": { "source": "iana" },
		"audio/tetra_acelp": { "source": "iana" },
		"audio/tetra_acelp_bb": { "source": "iana" },
		"audio/tone": { "source": "iana" },
		"audio/tsvcis": { "source": "iana" },
		"audio/uemclip": { "source": "iana" },
		"audio/ulpfec": { "source": "iana" },
		"audio/usac": { "source": "iana" },
		"audio/vdvi": { "source": "iana" },
		"audio/vmr-wb": { "source": "iana" },
		"audio/vnd.3gpp.iufp": { "source": "iana" },
		"audio/vnd.4sb": { "source": "iana" },
		"audio/vnd.audiokoz": { "source": "iana" },
		"audio/vnd.celp": { "source": "iana" },
		"audio/vnd.cisco.nse": { "source": "iana" },
		"audio/vnd.cmles.radio-events": { "source": "iana" },
		"audio/vnd.cns.anp1": { "source": "iana" },
		"audio/vnd.cns.inf1": { "source": "iana" },
		"audio/vnd.dece.audio": {
			"source": "iana",
			"extensions": ["uva", "uvva"]
		},
		"audio/vnd.digital-winds": {
			"source": "iana",
			"extensions": ["eol"]
		},
		"audio/vnd.dlna.adts": { "source": "iana" },
		"audio/vnd.dolby.heaac.1": { "source": "iana" },
		"audio/vnd.dolby.heaac.2": { "source": "iana" },
		"audio/vnd.dolby.mlp": { "source": "iana" },
		"audio/vnd.dolby.mps": { "source": "iana" },
		"audio/vnd.dolby.pl2": { "source": "iana" },
		"audio/vnd.dolby.pl2x": { "source": "iana" },
		"audio/vnd.dolby.pl2z": { "source": "iana" },
		"audio/vnd.dolby.pulse.1": { "source": "iana" },
		"audio/vnd.dra": {
			"source": "iana",
			"extensions": ["dra"]
		},
		"audio/vnd.dts": {
			"source": "iana",
			"extensions": ["dts"]
		},
		"audio/vnd.dts.hd": {
			"source": "iana",
			"extensions": ["dtshd"]
		},
		"audio/vnd.dts.uhd": { "source": "iana" },
		"audio/vnd.dvb.file": { "source": "iana" },
		"audio/vnd.everad.plj": { "source": "iana" },
		"audio/vnd.hns.audio": { "source": "iana" },
		"audio/vnd.lucent.voice": {
			"source": "iana",
			"extensions": ["lvp"]
		},
		"audio/vnd.ms-playready.media.pya": {
			"source": "iana",
			"extensions": ["pya"]
		},
		"audio/vnd.nokia.mobile-xmf": { "source": "iana" },
		"audio/vnd.nortel.vbk": { "source": "iana" },
		"audio/vnd.nuera.ecelp4800": {
			"source": "iana",
			"extensions": ["ecelp4800"]
		},
		"audio/vnd.nuera.ecelp7470": {
			"source": "iana",
			"extensions": ["ecelp7470"]
		},
		"audio/vnd.nuera.ecelp9600": {
			"source": "iana",
			"extensions": ["ecelp9600"]
		},
		"audio/vnd.octel.sbc": { "source": "iana" },
		"audio/vnd.presonus.multitrack": { "source": "iana" },
		"audio/vnd.qcelp": { "source": "iana" },
		"audio/vnd.rhetorex.32kadpcm": { "source": "iana" },
		"audio/vnd.rip": {
			"source": "iana",
			"extensions": ["rip"]
		},
		"audio/vnd.rn-realaudio": { "compressible": false },
		"audio/vnd.sealedmedia.softseal.mpeg": { "source": "iana" },
		"audio/vnd.vmx.cvsd": { "source": "iana" },
		"audio/vnd.wave": { "compressible": false },
		"audio/vorbis": {
			"source": "iana",
			"compressible": false
		},
		"audio/vorbis-config": { "source": "iana" },
		"audio/wav": {
			"compressible": false,
			"extensions": ["wav"]
		},
		"audio/wave": {
			"compressible": false,
			"extensions": ["wav"]
		},
		"audio/webm": {
			"source": "apache",
			"compressible": false,
			"extensions": ["weba"]
		},
		"audio/x-aac": {
			"source": "apache",
			"compressible": false,
			"extensions": ["aac"]
		},
		"audio/x-aiff": {
			"source": "apache",
			"extensions": [
				"aif",
				"aiff",
				"aifc"
			]
		},
		"audio/x-caf": {
			"source": "apache",
			"compressible": false,
			"extensions": ["caf"]
		},
		"audio/x-flac": {
			"source": "apache",
			"extensions": ["flac"]
		},
		"audio/x-m4a": {
			"source": "nginx",
			"extensions": ["m4a"]
		},
		"audio/x-matroska": {
			"source": "apache",
			"extensions": ["mka"]
		},
		"audio/x-mpegurl": {
			"source": "apache",
			"extensions": ["m3u"]
		},
		"audio/x-ms-wax": {
			"source": "apache",
			"extensions": ["wax"]
		},
		"audio/x-ms-wma": {
			"source": "apache",
			"extensions": ["wma"]
		},
		"audio/x-pn-realaudio": {
			"source": "apache",
			"extensions": ["ram", "ra"]
		},
		"audio/x-pn-realaudio-plugin": {
			"source": "apache",
			"extensions": ["rmp"]
		},
		"audio/x-realaudio": {
			"source": "nginx",
			"extensions": ["ra"]
		},
		"audio/x-tta": { "source": "apache" },
		"audio/x-wav": {
			"source": "apache",
			"extensions": ["wav"]
		},
		"audio/xm": {
			"source": "apache",
			"extensions": ["xm"]
		},
		"chemical/x-cdx": {
			"source": "apache",
			"extensions": ["cdx"]
		},
		"chemical/x-cif": {
			"source": "apache",
			"extensions": ["cif"]
		},
		"chemical/x-cmdf": {
			"source": "apache",
			"extensions": ["cmdf"]
		},
		"chemical/x-cml": {
			"source": "apache",
			"extensions": ["cml"]
		},
		"chemical/x-csml": {
			"source": "apache",
			"extensions": ["csml"]
		},
		"chemical/x-pdb": { "source": "apache" },
		"chemical/x-xyz": {
			"source": "apache",
			"extensions": ["xyz"]
		},
		"font/collection": {
			"source": "iana",
			"extensions": ["ttc"]
		},
		"font/otf": {
			"source": "iana",
			"compressible": true,
			"extensions": ["otf"]
		},
		"font/sfnt": { "source": "iana" },
		"font/ttf": {
			"source": "iana",
			"compressible": true,
			"extensions": ["ttf"]
		},
		"font/woff": {
			"source": "iana",
			"extensions": ["woff"]
		},
		"font/woff2": {
			"source": "iana",
			"extensions": ["woff2"]
		},
		"image/aces": {
			"source": "iana",
			"extensions": ["exr"]
		},
		"image/apng": {
			"compressible": false,
			"extensions": ["apng"]
		},
		"image/avci": {
			"source": "iana",
			"extensions": ["avci"]
		},
		"image/avcs": {
			"source": "iana",
			"extensions": ["avcs"]
		},
		"image/avif": {
			"source": "iana",
			"compressible": false,
			"extensions": ["avif"]
		},
		"image/bmp": {
			"source": "iana",
			"compressible": true,
			"extensions": ["bmp"]
		},
		"image/cgm": {
			"source": "iana",
			"extensions": ["cgm"]
		},
		"image/dicom-rle": {
			"source": "iana",
			"extensions": ["drle"]
		},
		"image/emf": {
			"source": "iana",
			"extensions": ["emf"]
		},
		"image/fits": {
			"source": "iana",
			"extensions": ["fits"]
		},
		"image/g3fax": {
			"source": "iana",
			"extensions": ["g3"]
		},
		"image/gif": {
			"source": "iana",
			"compressible": false,
			"extensions": ["gif"]
		},
		"image/heic": {
			"source": "iana",
			"extensions": ["heic"]
		},
		"image/heic-sequence": {
			"source": "iana",
			"extensions": ["heics"]
		},
		"image/heif": {
			"source": "iana",
			"extensions": ["heif"]
		},
		"image/heif-sequence": {
			"source": "iana",
			"extensions": ["heifs"]
		},
		"image/hej2k": {
			"source": "iana",
			"extensions": ["hej2"]
		},
		"image/hsj2": {
			"source": "iana",
			"extensions": ["hsj2"]
		},
		"image/ief": {
			"source": "iana",
			"extensions": ["ief"]
		},
		"image/jls": {
			"source": "iana",
			"extensions": ["jls"]
		},
		"image/jp2": {
			"source": "iana",
			"compressible": false,
			"extensions": ["jp2", "jpg2"]
		},
		"image/jpeg": {
			"source": "iana",
			"compressible": false,
			"extensions": [
				"jpeg",
				"jpg",
				"jpe"
			]
		},
		"image/jph": {
			"source": "iana",
			"extensions": ["jph"]
		},
		"image/jphc": {
			"source": "iana",
			"extensions": ["jhc"]
		},
		"image/jpm": {
			"source": "iana",
			"compressible": false,
			"extensions": ["jpm"]
		},
		"image/jpx": {
			"source": "iana",
			"compressible": false,
			"extensions": ["jpx", "jpf"]
		},
		"image/jxr": {
			"source": "iana",
			"extensions": ["jxr"]
		},
		"image/jxra": {
			"source": "iana",
			"extensions": ["jxra"]
		},
		"image/jxrs": {
			"source": "iana",
			"extensions": ["jxrs"]
		},
		"image/jxs": {
			"source": "iana",
			"extensions": ["jxs"]
		},
		"image/jxsc": {
			"source": "iana",
			"extensions": ["jxsc"]
		},
		"image/jxsi": {
			"source": "iana",
			"extensions": ["jxsi"]
		},
		"image/jxss": {
			"source": "iana",
			"extensions": ["jxss"]
		},
		"image/ktx": {
			"source": "iana",
			"extensions": ["ktx"]
		},
		"image/ktx2": {
			"source": "iana",
			"extensions": ["ktx2"]
		},
		"image/naplps": { "source": "iana" },
		"image/pjpeg": { "compressible": false },
		"image/png": {
			"source": "iana",
			"compressible": false,
			"extensions": ["png"]
		},
		"image/prs.btif": {
			"source": "iana",
			"extensions": ["btif"]
		},
		"image/prs.pti": {
			"source": "iana",
			"extensions": ["pti"]
		},
		"image/pwg-raster": { "source": "iana" },
		"image/sgi": {
			"source": "apache",
			"extensions": ["sgi"]
		},
		"image/svg+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["svg", "svgz"]
		},
		"image/t38": {
			"source": "iana",
			"extensions": ["t38"]
		},
		"image/tiff": {
			"source": "iana",
			"compressible": false,
			"extensions": ["tif", "tiff"]
		},
		"image/tiff-fx": {
			"source": "iana",
			"extensions": ["tfx"]
		},
		"image/vnd.adobe.photoshop": {
			"source": "iana",
			"compressible": true,
			"extensions": ["psd"]
		},
		"image/vnd.airzip.accelerator.azv": {
			"source": "iana",
			"extensions": ["azv"]
		},
		"image/vnd.cns.inf2": { "source": "iana" },
		"image/vnd.dece.graphic": {
			"source": "iana",
			"extensions": [
				"uvi",
				"uvvi",
				"uvg",
				"uvvg"
			]
		},
		"image/vnd.djvu": {
			"source": "iana",
			"extensions": ["djvu", "djv"]
		},
		"image/vnd.dvb.subtitle": {
			"source": "iana",
			"extensions": ["sub"]
		},
		"image/vnd.dwg": {
			"source": "iana",
			"extensions": ["dwg"]
		},
		"image/vnd.dxf": {
			"source": "iana",
			"extensions": ["dxf"]
		},
		"image/vnd.fastbidsheet": {
			"source": "iana",
			"extensions": ["fbs"]
		},
		"image/vnd.fpx": {
			"source": "iana",
			"extensions": ["fpx"]
		},
		"image/vnd.fst": {
			"source": "iana",
			"extensions": ["fst"]
		},
		"image/vnd.fujixerox.edmics-mmr": {
			"source": "iana",
			"extensions": ["mmr"]
		},
		"image/vnd.fujixerox.edmics-rlc": {
			"source": "iana",
			"extensions": ["rlc"]
		},
		"image/vnd.globalgraphics.pgb": { "source": "iana" },
		"image/vnd.microsoft.icon": {
			"source": "iana",
			"compressible": true,
			"extensions": ["ico"]
		},
		"image/vnd.mix": { "source": "iana" },
		"image/vnd.mozilla.apng": { "source": "iana" },
		"image/vnd.ms-dds": {
			"compressible": true,
			"extensions": ["dds"]
		},
		"image/vnd.ms-modi": {
			"source": "iana",
			"extensions": ["mdi"]
		},
		"image/vnd.ms-photo": {
			"source": "apache",
			"extensions": ["wdp"]
		},
		"image/vnd.net-fpx": {
			"source": "iana",
			"extensions": ["npx"]
		},
		"image/vnd.pco.b16": {
			"source": "iana",
			"extensions": ["b16"]
		},
		"image/vnd.radiance": { "source": "iana" },
		"image/vnd.sealed.png": { "source": "iana" },
		"image/vnd.sealedmedia.softseal.gif": { "source": "iana" },
		"image/vnd.sealedmedia.softseal.jpg": { "source": "iana" },
		"image/vnd.svf": { "source": "iana" },
		"image/vnd.tencent.tap": {
			"source": "iana",
			"extensions": ["tap"]
		},
		"image/vnd.valve.source.texture": {
			"source": "iana",
			"extensions": ["vtf"]
		},
		"image/vnd.wap.wbmp": {
			"source": "iana",
			"extensions": ["wbmp"]
		},
		"image/vnd.xiff": {
			"source": "iana",
			"extensions": ["xif"]
		},
		"image/vnd.zbrush.pcx": {
			"source": "iana",
			"extensions": ["pcx"]
		},
		"image/webp": {
			"source": "apache",
			"extensions": ["webp"]
		},
		"image/wmf": {
			"source": "iana",
			"extensions": ["wmf"]
		},
		"image/x-3ds": {
			"source": "apache",
			"extensions": ["3ds"]
		},
		"image/x-cmu-raster": {
			"source": "apache",
			"extensions": ["ras"]
		},
		"image/x-cmx": {
			"source": "apache",
			"extensions": ["cmx"]
		},
		"image/x-freehand": {
			"source": "apache",
			"extensions": [
				"fh",
				"fhc",
				"fh4",
				"fh5",
				"fh7"
			]
		},
		"image/x-icon": {
			"source": "apache",
			"compressible": true,
			"extensions": ["ico"]
		},
		"image/x-jng": {
			"source": "nginx",
			"extensions": ["jng"]
		},
		"image/x-mrsid-image": {
			"source": "apache",
			"extensions": ["sid"]
		},
		"image/x-ms-bmp": {
			"source": "nginx",
			"compressible": true,
			"extensions": ["bmp"]
		},
		"image/x-pcx": {
			"source": "apache",
			"extensions": ["pcx"]
		},
		"image/x-pict": {
			"source": "apache",
			"extensions": ["pic", "pct"]
		},
		"image/x-portable-anymap": {
			"source": "apache",
			"extensions": ["pnm"]
		},
		"image/x-portable-bitmap": {
			"source": "apache",
			"extensions": ["pbm"]
		},
		"image/x-portable-graymap": {
			"source": "apache",
			"extensions": ["pgm"]
		},
		"image/x-portable-pixmap": {
			"source": "apache",
			"extensions": ["ppm"]
		},
		"image/x-rgb": {
			"source": "apache",
			"extensions": ["rgb"]
		},
		"image/x-tga": {
			"source": "apache",
			"extensions": ["tga"]
		},
		"image/x-xbitmap": {
			"source": "apache",
			"extensions": ["xbm"]
		},
		"image/x-xcf": { "compressible": false },
		"image/x-xpixmap": {
			"source": "apache",
			"extensions": ["xpm"]
		},
		"image/x-xwindowdump": {
			"source": "apache",
			"extensions": ["xwd"]
		},
		"message/cpim": { "source": "iana" },
		"message/delivery-status": { "source": "iana" },
		"message/disposition-notification": {
			"source": "iana",
			"extensions": ["disposition-notification"]
		},
		"message/external-body": { "source": "iana" },
		"message/feedback-report": { "source": "iana" },
		"message/global": {
			"source": "iana",
			"extensions": ["u8msg"]
		},
		"message/global-delivery-status": {
			"source": "iana",
			"extensions": ["u8dsn"]
		},
		"message/global-disposition-notification": {
			"source": "iana",
			"extensions": ["u8mdn"]
		},
		"message/global-headers": {
			"source": "iana",
			"extensions": ["u8hdr"]
		},
		"message/http": {
			"source": "iana",
			"compressible": false
		},
		"message/imdn+xml": {
			"source": "iana",
			"compressible": true
		},
		"message/news": { "source": "iana" },
		"message/partial": {
			"source": "iana",
			"compressible": false
		},
		"message/rfc822": {
			"source": "iana",
			"compressible": true,
			"extensions": ["eml", "mime"]
		},
		"message/s-http": { "source": "iana" },
		"message/sip": { "source": "iana" },
		"message/sipfrag": { "source": "iana" },
		"message/tracking-status": { "source": "iana" },
		"message/vnd.si.simp": { "source": "iana" },
		"message/vnd.wfa.wsc": {
			"source": "iana",
			"extensions": ["wsc"]
		},
		"model/3mf": {
			"source": "iana",
			"extensions": ["3mf"]
		},
		"model/e57": { "source": "iana" },
		"model/gltf+json": {
			"source": "iana",
			"compressible": true,
			"extensions": ["gltf"]
		},
		"model/gltf-binary": {
			"source": "iana",
			"compressible": true,
			"extensions": ["glb"]
		},
		"model/iges": {
			"source": "iana",
			"compressible": false,
			"extensions": ["igs", "iges"]
		},
		"model/mesh": {
			"source": "iana",
			"compressible": false,
			"extensions": [
				"msh",
				"mesh",
				"silo"
			]
		},
		"model/mtl": {
			"source": "iana",
			"extensions": ["mtl"]
		},
		"model/obj": {
			"source": "iana",
			"extensions": ["obj"]
		},
		"model/step": { "source": "iana" },
		"model/step+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["stpx"]
		},
		"model/step+zip": {
			"source": "iana",
			"compressible": false,
			"extensions": ["stpz"]
		},
		"model/step-xml+zip": {
			"source": "iana",
			"compressible": false,
			"extensions": ["stpxz"]
		},
		"model/stl": {
			"source": "iana",
			"extensions": ["stl"]
		},
		"model/vnd.collada+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["dae"]
		},
		"model/vnd.dwf": {
			"source": "iana",
			"extensions": ["dwf"]
		},
		"model/vnd.flatland.3dml": { "source": "iana" },
		"model/vnd.gdl": {
			"source": "iana",
			"extensions": ["gdl"]
		},
		"model/vnd.gs-gdl": { "source": "apache" },
		"model/vnd.gs.gdl": { "source": "iana" },
		"model/vnd.gtw": {
			"source": "iana",
			"extensions": ["gtw"]
		},
		"model/vnd.moml+xml": {
			"source": "iana",
			"compressible": true
		},
		"model/vnd.mts": {
			"source": "iana",
			"extensions": ["mts"]
		},
		"model/vnd.opengex": {
			"source": "iana",
			"extensions": ["ogex"]
		},
		"model/vnd.parasolid.transmit.binary": {
			"source": "iana",
			"extensions": ["x_b"]
		},
		"model/vnd.parasolid.transmit.text": {
			"source": "iana",
			"extensions": ["x_t"]
		},
		"model/vnd.pytha.pyox": { "source": "iana" },
		"model/vnd.rosette.annotated-data-model": { "source": "iana" },
		"model/vnd.sap.vds": {
			"source": "iana",
			"extensions": ["vds"]
		},
		"model/vnd.usdz+zip": {
			"source": "iana",
			"compressible": false,
			"extensions": ["usdz"]
		},
		"model/vnd.valve.source.compiled-map": {
			"source": "iana",
			"extensions": ["bsp"]
		},
		"model/vnd.vtu": {
			"source": "iana",
			"extensions": ["vtu"]
		},
		"model/vrml": {
			"source": "iana",
			"compressible": false,
			"extensions": ["wrl", "vrml"]
		},
		"model/x3d+binary": {
			"source": "apache",
			"compressible": false,
			"extensions": ["x3db", "x3dbz"]
		},
		"model/x3d+fastinfoset": {
			"source": "iana",
			"extensions": ["x3db"]
		},
		"model/x3d+vrml": {
			"source": "apache",
			"compressible": false,
			"extensions": ["x3dv", "x3dvz"]
		},
		"model/x3d+xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["x3d", "x3dz"]
		},
		"model/x3d-vrml": {
			"source": "iana",
			"extensions": ["x3dv"]
		},
		"multipart/alternative": {
			"source": "iana",
			"compressible": false
		},
		"multipart/appledouble": { "source": "iana" },
		"multipart/byteranges": { "source": "iana" },
		"multipart/digest": { "source": "iana" },
		"multipart/encrypted": {
			"source": "iana",
			"compressible": false
		},
		"multipart/form-data": {
			"source": "iana",
			"compressible": false
		},
		"multipart/header-set": { "source": "iana" },
		"multipart/mixed": { "source": "iana" },
		"multipart/multilingual": { "source": "iana" },
		"multipart/parallel": { "source": "iana" },
		"multipart/related": {
			"source": "iana",
			"compressible": false
		},
		"multipart/report": { "source": "iana" },
		"multipart/signed": {
			"source": "iana",
			"compressible": false
		},
		"multipart/vnd.bint.med-plus": { "source": "iana" },
		"multipart/voice-message": { "source": "iana" },
		"multipart/x-mixed-replace": { "source": "iana" },
		"text/1d-interleaved-parityfec": { "source": "iana" },
		"text/cache-manifest": {
			"source": "iana",
			"compressible": true,
			"extensions": ["appcache", "manifest"]
		},
		"text/calendar": {
			"source": "iana",
			"extensions": ["ics", "ifb"]
		},
		"text/calender": { "compressible": true },
		"text/cmd": { "compressible": true },
		"text/coffeescript": { "extensions": ["coffee", "litcoffee"] },
		"text/cql": { "source": "iana" },
		"text/cql-expression": { "source": "iana" },
		"text/cql-identifier": { "source": "iana" },
		"text/css": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true,
			"extensions": ["css"]
		},
		"text/csv": {
			"source": "iana",
			"compressible": true,
			"extensions": ["csv"]
		},
		"text/csv-schema": { "source": "iana" },
		"text/directory": { "source": "iana" },
		"text/dns": { "source": "iana" },
		"text/ecmascript": { "source": "iana" },
		"text/encaprtp": { "source": "iana" },
		"text/enriched": { "source": "iana" },
		"text/fhirpath": { "source": "iana" },
		"text/flexfec": { "source": "iana" },
		"text/fwdred": { "source": "iana" },
		"text/gff3": { "source": "iana" },
		"text/grammar-ref-list": { "source": "iana" },
		"text/html": {
			"source": "iana",
			"compressible": true,
			"extensions": [
				"html",
				"htm",
				"shtml"
			]
		},
		"text/jade": { "extensions": ["jade"] },
		"text/javascript": {
			"source": "iana",
			"compressible": true
		},
		"text/jcr-cnd": { "source": "iana" },
		"text/jsx": {
			"compressible": true,
			"extensions": ["jsx"]
		},
		"text/less": {
			"compressible": true,
			"extensions": ["less"]
		},
		"text/markdown": {
			"source": "iana",
			"compressible": true,
			"extensions": ["markdown", "md"]
		},
		"text/mathml": {
			"source": "nginx",
			"extensions": ["mml"]
		},
		"text/mdx": {
			"compressible": true,
			"extensions": ["mdx"]
		},
		"text/mizar": { "source": "iana" },
		"text/n3": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true,
			"extensions": ["n3"]
		},
		"text/parameters": {
			"source": "iana",
			"charset": "UTF-8"
		},
		"text/parityfec": { "source": "iana" },
		"text/plain": {
			"source": "iana",
			"compressible": true,
			"extensions": [
				"txt",
				"text",
				"conf",
				"def",
				"list",
				"log",
				"in",
				"ini"
			]
		},
		"text/provenance-notation": {
			"source": "iana",
			"charset": "UTF-8"
		},
		"text/prs.fallenstein.rst": { "source": "iana" },
		"text/prs.lines.tag": {
			"source": "iana",
			"extensions": ["dsc"]
		},
		"text/prs.prop.logic": { "source": "iana" },
		"text/raptorfec": { "source": "iana" },
		"text/red": { "source": "iana" },
		"text/rfc822-headers": { "source": "iana" },
		"text/richtext": {
			"source": "iana",
			"compressible": true,
			"extensions": ["rtx"]
		},
		"text/rtf": {
			"source": "iana",
			"compressible": true,
			"extensions": ["rtf"]
		},
		"text/rtp-enc-aescm128": { "source": "iana" },
		"text/rtploopback": { "source": "iana" },
		"text/rtx": { "source": "iana" },
		"text/sgml": {
			"source": "iana",
			"extensions": ["sgml", "sgm"]
		},
		"text/shaclc": { "source": "iana" },
		"text/shex": {
			"source": "iana",
			"extensions": ["shex"]
		},
		"text/slim": { "extensions": ["slim", "slm"] },
		"text/spdx": {
			"source": "iana",
			"extensions": ["spdx"]
		},
		"text/strings": { "source": "iana" },
		"text/stylus": { "extensions": ["stylus", "styl"] },
		"text/t140": { "source": "iana" },
		"text/tab-separated-values": {
			"source": "iana",
			"compressible": true,
			"extensions": ["tsv"]
		},
		"text/troff": {
			"source": "iana",
			"extensions": [
				"t",
				"tr",
				"roff",
				"man",
				"me",
				"ms"
			]
		},
		"text/turtle": {
			"source": "iana",
			"charset": "UTF-8",
			"extensions": ["ttl"]
		},
		"text/ulpfec": { "source": "iana" },
		"text/uri-list": {
			"source": "iana",
			"compressible": true,
			"extensions": [
				"uri",
				"uris",
				"urls"
			]
		},
		"text/vcard": {
			"source": "iana",
			"compressible": true,
			"extensions": ["vcard"]
		},
		"text/vnd.a": { "source": "iana" },
		"text/vnd.abc": { "source": "iana" },
		"text/vnd.ascii-art": { "source": "iana" },
		"text/vnd.curl": {
			"source": "iana",
			"extensions": ["curl"]
		},
		"text/vnd.curl.dcurl": {
			"source": "apache",
			"extensions": ["dcurl"]
		},
		"text/vnd.curl.mcurl": {
			"source": "apache",
			"extensions": ["mcurl"]
		},
		"text/vnd.curl.scurl": {
			"source": "apache",
			"extensions": ["scurl"]
		},
		"text/vnd.debian.copyright": {
			"source": "iana",
			"charset": "UTF-8"
		},
		"text/vnd.dmclientscript": { "source": "iana" },
		"text/vnd.dvb.subtitle": {
			"source": "iana",
			"extensions": ["sub"]
		},
		"text/vnd.esmertec.theme-descriptor": {
			"source": "iana",
			"charset": "UTF-8"
		},
		"text/vnd.familysearch.gedcom": {
			"source": "iana",
			"extensions": ["ged"]
		},
		"text/vnd.ficlab.flt": { "source": "iana" },
		"text/vnd.fly": {
			"source": "iana",
			"extensions": ["fly"]
		},
		"text/vnd.fmi.flexstor": {
			"source": "iana",
			"extensions": ["flx"]
		},
		"text/vnd.gml": { "source": "iana" },
		"text/vnd.graphviz": {
			"source": "iana",
			"extensions": ["gv"]
		},
		"text/vnd.hans": { "source": "iana" },
		"text/vnd.hgl": { "source": "iana" },
		"text/vnd.in3d.3dml": {
			"source": "iana",
			"extensions": ["3dml"]
		},
		"text/vnd.in3d.spot": {
			"source": "iana",
			"extensions": ["spot"]
		},
		"text/vnd.iptc.newsml": { "source": "iana" },
		"text/vnd.iptc.nitf": { "source": "iana" },
		"text/vnd.latex-z": { "source": "iana" },
		"text/vnd.motorola.reflex": { "source": "iana" },
		"text/vnd.ms-mediapackage": { "source": "iana" },
		"text/vnd.net2phone.commcenter.command": { "source": "iana" },
		"text/vnd.radisys.msml-basic-layout": { "source": "iana" },
		"text/vnd.senx.warpscript": { "source": "iana" },
		"text/vnd.si.uricatalogue": { "source": "iana" },
		"text/vnd.sosi": { "source": "iana" },
		"text/vnd.sun.j2me.app-descriptor": {
			"source": "iana",
			"charset": "UTF-8",
			"extensions": ["jad"]
		},
		"text/vnd.trolltech.linguist": {
			"source": "iana",
			"charset": "UTF-8"
		},
		"text/vnd.wap.si": { "source": "iana" },
		"text/vnd.wap.sl": { "source": "iana" },
		"text/vnd.wap.wml": {
			"source": "iana",
			"extensions": ["wml"]
		},
		"text/vnd.wap.wmlscript": {
			"source": "iana",
			"extensions": ["wmls"]
		},
		"text/vtt": {
			"source": "iana",
			"charset": "UTF-8",
			"compressible": true,
			"extensions": ["vtt"]
		},
		"text/x-asm": {
			"source": "apache",
			"extensions": ["s", "asm"]
		},
		"text/x-c": {
			"source": "apache",
			"extensions": [
				"c",
				"cc",
				"cxx",
				"cpp",
				"h",
				"hh",
				"dic"
			]
		},
		"text/x-component": {
			"source": "nginx",
			"extensions": ["htc"]
		},
		"text/x-fortran": {
			"source": "apache",
			"extensions": [
				"f",
				"for",
				"f77",
				"f90"
			]
		},
		"text/x-gwt-rpc": { "compressible": true },
		"text/x-handlebars-template": { "extensions": ["hbs"] },
		"text/x-java-source": {
			"source": "apache",
			"extensions": ["java"]
		},
		"text/x-jquery-tmpl": { "compressible": true },
		"text/x-lua": { "extensions": ["lua"] },
		"text/x-markdown": {
			"compressible": true,
			"extensions": ["mkd"]
		},
		"text/x-nfo": {
			"source": "apache",
			"extensions": ["nfo"]
		},
		"text/x-opml": {
			"source": "apache",
			"extensions": ["opml"]
		},
		"text/x-org": {
			"compressible": true,
			"extensions": ["org"]
		},
		"text/x-pascal": {
			"source": "apache",
			"extensions": ["p", "pas"]
		},
		"text/x-processing": {
			"compressible": true,
			"extensions": ["pde"]
		},
		"text/x-sass": { "extensions": ["sass"] },
		"text/x-scss": { "extensions": ["scss"] },
		"text/x-setext": {
			"source": "apache",
			"extensions": ["etx"]
		},
		"text/x-sfv": {
			"source": "apache",
			"extensions": ["sfv"]
		},
		"text/x-suse-ymp": {
			"compressible": true,
			"extensions": ["ymp"]
		},
		"text/x-uuencode": {
			"source": "apache",
			"extensions": ["uu"]
		},
		"text/x-vcalendar": {
			"source": "apache",
			"extensions": ["vcs"]
		},
		"text/x-vcard": {
			"source": "apache",
			"extensions": ["vcf"]
		},
		"text/xml": {
			"source": "iana",
			"compressible": true,
			"extensions": ["xml"]
		},
		"text/xml-external-parsed-entity": { "source": "iana" },
		"text/yaml": {
			"compressible": true,
			"extensions": ["yaml", "yml"]
		},
		"video/1d-interleaved-parityfec": { "source": "iana" },
		"video/3gpp": {
			"source": "iana",
			"extensions": ["3gp", "3gpp"]
		},
		"video/3gpp-tt": { "source": "iana" },
		"video/3gpp2": {
			"source": "iana",
			"extensions": ["3g2"]
		},
		"video/av1": { "source": "iana" },
		"video/bmpeg": { "source": "iana" },
		"video/bt656": { "source": "iana" },
		"video/celb": { "source": "iana" },
		"video/dv": { "source": "iana" },
		"video/encaprtp": { "source": "iana" },
		"video/ffv1": { "source": "iana" },
		"video/flexfec": { "source": "iana" },
		"video/h261": {
			"source": "iana",
			"extensions": ["h261"]
		},
		"video/h263": {
			"source": "iana",
			"extensions": ["h263"]
		},
		"video/h263-1998": { "source": "iana" },
		"video/h263-2000": { "source": "iana" },
		"video/h264": {
			"source": "iana",
			"extensions": ["h264"]
		},
		"video/h264-rcdo": { "source": "iana" },
		"video/h264-svc": { "source": "iana" },
		"video/h265": { "source": "iana" },
		"video/iso.segment": {
			"source": "iana",
			"extensions": ["m4s"]
		},
		"video/jpeg": {
			"source": "iana",
			"extensions": ["jpgv"]
		},
		"video/jpeg2000": { "source": "iana" },
		"video/jpm": {
			"source": "apache",
			"extensions": ["jpm", "jpgm"]
		},
		"video/jxsv": { "source": "iana" },
		"video/mj2": {
			"source": "iana",
			"extensions": ["mj2", "mjp2"]
		},
		"video/mp1s": { "source": "iana" },
		"video/mp2p": { "source": "iana" },
		"video/mp2t": {
			"source": "iana",
			"extensions": ["ts"]
		},
		"video/mp4": {
			"source": "iana",
			"compressible": false,
			"extensions": [
				"mp4",
				"mp4v",
				"mpg4"
			]
		},
		"video/mp4v-es": { "source": "iana" },
		"video/mpeg": {
			"source": "iana",
			"compressible": false,
			"extensions": [
				"mpeg",
				"mpg",
				"mpe",
				"m1v",
				"m2v"
			]
		},
		"video/mpeg4-generic": { "source": "iana" },
		"video/mpv": { "source": "iana" },
		"video/nv": { "source": "iana" },
		"video/ogg": {
			"source": "iana",
			"compressible": false,
			"extensions": ["ogv"]
		},
		"video/parityfec": { "source": "iana" },
		"video/pointer": { "source": "iana" },
		"video/quicktime": {
			"source": "iana",
			"compressible": false,
			"extensions": ["qt", "mov"]
		},
		"video/raptorfec": { "source": "iana" },
		"video/raw": { "source": "iana" },
		"video/rtp-enc-aescm128": { "source": "iana" },
		"video/rtploopback": { "source": "iana" },
		"video/rtx": { "source": "iana" },
		"video/scip": { "source": "iana" },
		"video/smpte291": { "source": "iana" },
		"video/smpte292m": { "source": "iana" },
		"video/ulpfec": { "source": "iana" },
		"video/vc1": { "source": "iana" },
		"video/vc2": { "source": "iana" },
		"video/vnd.cctv": { "source": "iana" },
		"video/vnd.dece.hd": {
			"source": "iana",
			"extensions": ["uvh", "uvvh"]
		},
		"video/vnd.dece.mobile": {
			"source": "iana",
			"extensions": ["uvm", "uvvm"]
		},
		"video/vnd.dece.mp4": { "source": "iana" },
		"video/vnd.dece.pd": {
			"source": "iana",
			"extensions": ["uvp", "uvvp"]
		},
		"video/vnd.dece.sd": {
			"source": "iana",
			"extensions": ["uvs", "uvvs"]
		},
		"video/vnd.dece.video": {
			"source": "iana",
			"extensions": ["uvv", "uvvv"]
		},
		"video/vnd.directv.mpeg": { "source": "iana" },
		"video/vnd.directv.mpeg-tts": { "source": "iana" },
		"video/vnd.dlna.mpeg-tts": { "source": "iana" },
		"video/vnd.dvb.file": {
			"source": "iana",
			"extensions": ["dvb"]
		},
		"video/vnd.fvt": {
			"source": "iana",
			"extensions": ["fvt"]
		},
		"video/vnd.hns.video": { "source": "iana" },
		"video/vnd.iptvforum.1dparityfec-1010": { "source": "iana" },
		"video/vnd.iptvforum.1dparityfec-2005": { "source": "iana" },
		"video/vnd.iptvforum.2dparityfec-1010": { "source": "iana" },
		"video/vnd.iptvforum.2dparityfec-2005": { "source": "iana" },
		"video/vnd.iptvforum.ttsavc": { "source": "iana" },
		"video/vnd.iptvforum.ttsmpeg2": { "source": "iana" },
		"video/vnd.motorola.video": { "source": "iana" },
		"video/vnd.motorola.videop": { "source": "iana" },
		"video/vnd.mpegurl": {
			"source": "iana",
			"extensions": ["mxu", "m4u"]
		},
		"video/vnd.ms-playready.media.pyv": {
			"source": "iana",
			"extensions": ["pyv"]
		},
		"video/vnd.nokia.interleaved-multimedia": { "source": "iana" },
		"video/vnd.nokia.mp4vr": { "source": "iana" },
		"video/vnd.nokia.videovoip": { "source": "iana" },
		"video/vnd.objectvideo": { "source": "iana" },
		"video/vnd.radgamettools.bink": { "source": "iana" },
		"video/vnd.radgamettools.smacker": { "source": "iana" },
		"video/vnd.sealed.mpeg1": { "source": "iana" },
		"video/vnd.sealed.mpeg4": { "source": "iana" },
		"video/vnd.sealed.swf": { "source": "iana" },
		"video/vnd.sealedmedia.softseal.mov": { "source": "iana" },
		"video/vnd.uvvu.mp4": {
			"source": "iana",
			"extensions": ["uvu", "uvvu"]
		},
		"video/vnd.vivo": {
			"source": "iana",
			"extensions": ["viv"]
		},
		"video/vnd.youtube.yt": { "source": "iana" },
		"video/vp8": { "source": "iana" },
		"video/vp9": { "source": "iana" },
		"video/webm": {
			"source": "apache",
			"compressible": false,
			"extensions": ["webm"]
		},
		"video/x-f4v": {
			"source": "apache",
			"extensions": ["f4v"]
		},
		"video/x-fli": {
			"source": "apache",
			"extensions": ["fli"]
		},
		"video/x-flv": {
			"source": "apache",
			"compressible": false,
			"extensions": ["flv"]
		},
		"video/x-m4v": {
			"source": "apache",
			"extensions": ["m4v"]
		},
		"video/x-matroska": {
			"source": "apache",
			"compressible": false,
			"extensions": [
				"mkv",
				"mk3d",
				"mks"
			]
		},
		"video/x-mng": {
			"source": "apache",
			"extensions": ["mng"]
		},
		"video/x-ms-asf": {
			"source": "apache",
			"extensions": ["asf", "asx"]
		},
		"video/x-ms-vob": {
			"source": "apache",
			"extensions": ["vob"]
		},
		"video/x-ms-wm": {
			"source": "apache",
			"extensions": ["wm"]
		},
		"video/x-ms-wmv": {
			"source": "apache",
			"compressible": false,
			"extensions": ["wmv"]
		},
		"video/x-ms-wmx": {
			"source": "apache",
			"extensions": ["wmx"]
		},
		"video/x-ms-wvx": {
			"source": "apache",
			"extensions": ["wvx"]
		},
		"video/x-msvideo": {
			"source": "apache",
			"extensions": ["avi"]
		},
		"video/x-sgi-movie": {
			"source": "apache",
			"extensions": ["movie"]
		},
		"video/x-smv": {
			"source": "apache",
			"extensions": ["smv"]
		},
		"x-conference/x-cooltalk": {
			"source": "apache",
			"extensions": ["ice"]
		},
		"x-shader/x-fragment": { "compressible": true },
		"x-shader/x-vertex": { "compressible": true }
	};
}));

//#endregion
//#region ../node_modules/mime-db/index.js
var require_mime_db = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/*!
	* mime-db
	* Copyright(c) 2014 Jonathan Ong
	* Copyright(c) 2015-2022 Douglas Christopher Wilson
	* MIT Licensed
	*/
	/**
	* Module exports.
	*/
	module.exports = require_db();
}));

//#endregion
//#region ../node_modules/mime-types/index.js
/*!
* mime-types
* Copyright(c) 2014 Jonathan Ong
* Copyright(c) 2015 Douglas Christopher Wilson
* MIT Licensed
*/
var require_mime_types = /* @__PURE__ */ __commonJSMin(((exports) => {
	/**
	* Module dependencies.
	* @private
	*/
	var db = require_mime_db();
	var extname = __require("path").extname;
	/**
	* Module variables.
	* @private
	*/
	var EXTRACT_TYPE_REGEXP = /^\s*([^;\s]*)(?:;|\s|$)/;
	var TEXT_TYPE_REGEXP = /^text\//i;
	/**
	* Module exports.
	* @public
	*/
	exports.charset = charset;
	exports.charsets = { lookup: charset };
	exports.contentType = contentType;
	exports.extension = extension;
	exports.extensions = Object.create(null);
	exports.lookup = lookup;
	exports.types = Object.create(null);
	populateMaps(exports.extensions, exports.types);
	/**
	* Get the default charset for a MIME type.
	*
	* @param {string} type
	* @return {boolean|string}
	*/
	function charset(type) {
		if (!type || typeof type !== "string") {
			return false;
		}
		var match = EXTRACT_TYPE_REGEXP.exec(type);
		var mime = match && db[match[1].toLowerCase()];
		if (mime && mime.charset) {
			return mime.charset;
		}
		if (match && TEXT_TYPE_REGEXP.test(match[1])) {
			return "UTF-8";
		}
		return false;
	}
	/**
	* Create a full Content-Type header given a MIME type or extension.
	*
	* @param {string} str
	* @return {boolean|string}
	*/
	function contentType(str) {
		if (!str || typeof str !== "string") {
			return false;
		}
		var mime = str.indexOf("/") === -1 ? exports.lookup(str) : str;
		if (!mime) {
			return false;
		}
		if (mime.indexOf("charset") === -1) {
			var charset = exports.charset(mime);
			if (charset) mime += "; charset=" + charset.toLowerCase();
		}
		return mime;
	}
	/**
	* Get the default extension for a MIME type.
	*
	* @param {string} type
	* @return {boolean|string}
	*/
	function extension(type) {
		if (!type || typeof type !== "string") {
			return false;
		}
		var match = EXTRACT_TYPE_REGEXP.exec(type);
		var exts = match && exports.extensions[match[1].toLowerCase()];
		if (!exts || !exts.length) {
			return false;
		}
		return exts[0];
	}
	/**
	* Lookup the MIME type for a file path/extension.
	*
	* @param {string} path
	* @return {boolean|string}
	*/
	function lookup(path) {
		if (!path || typeof path !== "string") {
			return false;
		}
		var extension = extname("x." + path).toLowerCase().substr(1);
		if (!extension) {
			return false;
		}
		return exports.types[extension] || false;
	}
	/**
	* Populate the extensions and types maps.
	* @private
	*/
	function populateMaps(extensions, types) {
		var preference = [
			"nginx",
			"apache",
			undefined,
			"iana"
		];
		Object.keys(db).forEach(function forEachMimeType(type) {
			var mime = db[type];
			var exts = mime.extensions;
			if (!exts || !exts.length) {
				return;
			}
			extensions[type] = exts;
			for (var i = 0; i < exts.length; i++) {
				var extension = exts[i];
				if (types[extension]) {
					var from = preference.indexOf(db[types[extension]].source);
					var to = preference.indexOf(mime.source);
					if (types[extension] !== "application/octet-stream" && (from > to || from === to && types[extension].substr(0, 12) === "application/")) {
						continue;
					}
				}
				types[extension] = type;
			}
		});
	}
}));

//#endregion
//#region ../node_modules/asynckit/lib/defer.js
var require_defer = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = defer;
	/**
	* Runs provided function on next iteration of the event loop
	*
	* @param {function} fn - function to run
	*/
	function defer(fn) {
		var nextTick = typeof setImmediate == "function" ? setImmediate : typeof process == "object" && typeof process.nextTick == "function" ? process.nextTick : null;
		if (nextTick) {
			nextTick(fn);
		} else {
			setTimeout(fn, 0);
		}
	}
}));

//#endregion
//#region ../node_modules/asynckit/lib/async.js
var require_async = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var defer = require_defer();
	module.exports = async;
	/**
	* Runs provided callback asynchronously
	* even if callback itself is not
	*
	* @param   {function} callback - callback to invoke
	* @returns {function} - augmented callback
	*/
	function async(callback) {
		var isAsync = false;
		defer(function() {
			isAsync = true;
		});
		return function async_callback(err, result) {
			if (isAsync) {
				callback(err, result);
			} else {
				defer(function nextTick_callback() {
					callback(err, result);
				});
			}
		};
	}
}));

//#endregion
//#region ../node_modules/asynckit/lib/abort.js
var require_abort = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = abort;
	/**
	* Aborts leftover active jobs
	*
	* @param {object} state - current state object
	*/
	function abort(state) {
		Object.keys(state.jobs).forEach(clean.bind(state));
		state.jobs = {};
	}
	/**
	* Cleans up leftover job by invoking abort function for the provided job id
	*
	* @this  state
	* @param {string|number} key - job id to abort
	*/
	function clean(key) {
		if (typeof this.jobs[key] == "function") {
			this.jobs[key]();
		}
	}
}));

//#endregion
//#region ../node_modules/asynckit/lib/iterate.js
var require_iterate = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var async = require_async(), abort = require_abort();
	module.exports = iterate;
	/**
	* Iterates over each job object
	*
	* @param {array|object} list - array or object (named list) to iterate over
	* @param {function} iterator - iterator to run
	* @param {object} state - current job status
	* @param {function} callback - invoked when all elements processed
	*/
	function iterate(list, iterator, state, callback) {
		var key = state["keyedList"] ? state["keyedList"][state.index] : state.index;
		state.jobs[key] = runJob(iterator, key, list[key], function(error, output) {
			if (!(key in state.jobs)) {
				return;
			}
			delete state.jobs[key];
			if (error) {
				abort(state);
			} else {
				state.results[key] = output;
			}
			callback(error, state.results);
		});
	}
	/**
	* Runs iterator over provided job element
	*
	* @param   {function} iterator - iterator to invoke
	* @param   {string|number} key - key/index of the element in the list of jobs
	* @param   {mixed} item - job description
	* @param   {function} callback - invoked after iterator is done with the job
	* @returns {function|mixed} - job abort function or something else
	*/
	function runJob(iterator, key, item, callback) {
		var aborter;
		if (iterator.length == 2) {
			aborter = iterator(item, async(callback));
		} else {
			aborter = iterator(item, key, async(callback));
		}
		return aborter;
	}
}));

//#endregion
//#region ../node_modules/asynckit/lib/state.js
var require_state = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = state;
	/**
	* Creates initial state object
	* for iteration over list
	*
	* @param   {array|object} list - list to iterate over
	* @param   {function|null} sortMethod - function to use for keys sort,
	*                                     or `null` to keep them as is
	* @returns {object} - initial state object
	*/
	function state(list, sortMethod) {
		var isNamedList = !Array.isArray(list), initState = {
			index: 0,
			keyedList: isNamedList || sortMethod ? Object.keys(list) : null,
			jobs: {},
			results: isNamedList ? {} : [],
			size: isNamedList ? Object.keys(list).length : list.length
		};
		if (sortMethod) {
			initState.keyedList.sort(isNamedList ? sortMethod : function(a, b) {
				return sortMethod(list[a], list[b]);
			});
		}
		return initState;
	}
}));

//#endregion
//#region ../node_modules/asynckit/lib/terminator.js
var require_terminator = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var abort = require_abort(), async = require_async();
	module.exports = terminator;
	/**
	* Terminates jobs in the attached state context
	*
	* @this  AsyncKitState#
	* @param {function} callback - final callback to invoke after termination
	*/
	function terminator(callback) {
		if (!Object.keys(this.jobs).length) {
			return;
		}
		this.index = this.size;
		abort(this);
		async(callback)(null, this.results);
	}
}));

//#endregion
//#region ../node_modules/asynckit/parallel.js
var require_parallel = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var iterate = require_iterate(), initState = require_state(), terminator = require_terminator();
	module.exports = parallel;
	/**
	* Runs iterator over provided array elements in parallel
	*
	* @param   {array|object} list - array or object (named list) to iterate over
	* @param   {function} iterator - iterator to run
	* @param   {function} callback - invoked when all elements processed
	* @returns {function} - jobs terminator
	*/
	function parallel(list, iterator, callback) {
		var state = initState(list);
		while (state.index < (state["keyedList"] || list).length) {
			iterate(list, iterator, state, function(error, result) {
				if (error) {
					callback(error, result);
					return;
				}
				if (Object.keys(state.jobs).length === 0) {
					callback(null, state.results);
					return;
				}
			});
			state.index++;
		}
		return terminator.bind(state, callback);
	}
}));

//#endregion
//#region ../node_modules/asynckit/serialOrdered.js
var require_serialOrdered = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var iterate = require_iterate(), initState = require_state(), terminator = require_terminator();
	module.exports = serialOrdered;
	module.exports.ascending = ascending;
	module.exports.descending = descending;
	/**
	* Runs iterator over provided sorted array elements in series
	*
	* @param   {array|object} list - array or object (named list) to iterate over
	* @param   {function} iterator - iterator to run
	* @param   {function} sortMethod - custom sort function
	* @param   {function} callback - invoked when all elements processed
	* @returns {function} - jobs terminator
	*/
	function serialOrdered(list, iterator, sortMethod, callback) {
		var state = initState(list, sortMethod);
		iterate(list, iterator, state, function iteratorHandler(error, result) {
			if (error) {
				callback(error, result);
				return;
			}
			state.index++;
			if (state.index < (state["keyedList"] || list).length) {
				iterate(list, iterator, state, iteratorHandler);
				return;
			}
			callback(null, state.results);
		});
		return terminator.bind(state, callback);
	}
	/**
	* sort helper to sort array elements in ascending order
	*
	* @param   {mixed} a - an item to compare
	* @param   {mixed} b - an item to compare
	* @returns {number} - comparison result
	*/
	function ascending(a, b) {
		return a < b ? -1 : a > b ? 1 : 0;
	}
	/**
	* sort helper to sort array elements in descending order
	*
	* @param   {mixed} a - an item to compare
	* @param   {mixed} b - an item to compare
	* @returns {number} - comparison result
	*/
	function descending(a, b) {
		return -1 * ascending(a, b);
	}
}));

//#endregion
//#region ../node_modules/asynckit/serial.js
var require_serial = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var serialOrdered = require_serialOrdered();
	module.exports = serial;
	/**
	* Runs iterator over provided array elements in series
	*
	* @param   {array|object} list - array or object (named list) to iterate over
	* @param   {function} iterator - iterator to run
	* @param   {function} callback - invoked when all elements processed
	* @returns {function} - jobs terminator
	*/
	function serial(list, iterator, callback) {
		return serialOrdered(list, iterator, null, callback);
	}
}));

//#endregion
//#region ../node_modules/asynckit/index.js
var require_asynckit = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = {
		parallel: require_parallel(),
		serial: require_serial(),
		serialOrdered: require_serialOrdered()
	};
}));

//#endregion
//#region ../node_modules/es-object-atoms/index.js
var require_es_object_atoms = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @type {import('.')} */
	module.exports = Object;
}));

//#endregion
//#region ../node_modules/es-errors/index.js
var require_es_errors = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @type {import('.')} */
	module.exports = Error;
}));

//#endregion
//#region ../node_modules/es-errors/eval.js
var require_eval = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @type {import('./eval')} */
	module.exports = EvalError;
}));

//#endregion
//#region ../node_modules/es-errors/range.js
var require_range$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @type {import('./range')} */
	module.exports = RangeError;
}));

//#endregion
//#region ../node_modules/es-errors/ref.js
var require_ref$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @type {import('./ref')} */
	module.exports = ReferenceError;
}));

//#endregion
//#region ../node_modules/es-errors/syntax.js
var require_syntax = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @type {import('./syntax')} */
	module.exports = SyntaxError;
}));

//#endregion
//#region ../node_modules/es-errors/type.js
var require_type$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @type {import('./type')} */
	module.exports = TypeError;
}));

//#endregion
//#region ../node_modules/es-errors/uri.js
var require_uri$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @type {import('./uri')} */
	module.exports = URIError;
}));

//#endregion
//#region ../node_modules/math-intrinsics/abs.js
var require_abs = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @type {import('./abs')} */
	module.exports = Math.abs;
}));

//#endregion
//#region ../node_modules/math-intrinsics/floor.js
var require_floor = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @type {import('./floor')} */
	module.exports = Math.floor;
}));

//#endregion
//#region ../node_modules/math-intrinsics/max.js
var require_max = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @type {import('./max')} */
	module.exports = Math.max;
}));

//#endregion
//#region ../node_modules/math-intrinsics/min.js
var require_min = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @type {import('./min')} */
	module.exports = Math.min;
}));

//#endregion
//#region ../node_modules/math-intrinsics/pow.js
var require_pow = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @type {import('./pow')} */
	module.exports = Math.pow;
}));

//#endregion
//#region ../node_modules/math-intrinsics/round.js
var require_round = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @type {import('./round')} */
	module.exports = Math.round;
}));

//#endregion
//#region ../node_modules/math-intrinsics/isNaN.js
var require_isNaN = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @type {import('./isNaN')} */
	module.exports = Number.isNaN || function isNaN(a) {
		return a !== a;
	};
}));

//#endregion
//#region ../node_modules/math-intrinsics/sign.js
var require_sign = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var $isNaN = require_isNaN();
	/** @type {import('./sign')} */
	module.exports = function sign(number) {
		if ($isNaN(number) || number === 0) {
			return number;
		}
		return number < 0 ? -1 : +1;
	};
}));

//#endregion
//#region ../node_modules/gopd/gOPD.js
var require_gOPD = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @type {import('./gOPD')} */
	module.exports = Object.getOwnPropertyDescriptor;
}));

//#endregion
//#region ../node_modules/gopd/index.js
var require_gopd = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @type {import('.')} */
	var $gOPD = require_gOPD();
	if ($gOPD) {
		try {
			$gOPD([], "length");
		} catch (e) {
			$gOPD = null;
		}
	}
	module.exports = $gOPD;
}));

//#endregion
//#region ../node_modules/es-define-property/index.js
var require_es_define_property = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @type {import('.')} */
	var $defineProperty = Object.defineProperty || false;
	if ($defineProperty) {
		try {
			$defineProperty({}, "a", { value: 1 });
		} catch (e) {
			$defineProperty = false;
		}
	}
	module.exports = $defineProperty;
}));

//#endregion
//#region ../node_modules/has-symbols/shams.js
var require_shams$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @type {import('./shams')} */
	module.exports = function hasSymbols() {
		if (typeof Symbol !== "function" || typeof Object.getOwnPropertySymbols !== "function") {
			return false;
		}
		if (typeof Symbol.iterator === "symbol") {
			return true;
		}
		/** @type {{ [k in symbol]?: unknown }} */
		var obj = {};
		var sym = Symbol("test");
		var symObj = Object(sym);
		if (typeof sym === "string") {
			return false;
		}
		if (Object.prototype.toString.call(sym) !== "[object Symbol]") {
			return false;
		}
		if (Object.prototype.toString.call(symObj) !== "[object Symbol]") {
			return false;
		}
		var symVal = 42;
		obj[sym] = symVal;
		for (var _ in obj) {
			return false;
		}
		if (typeof Object.keys === "function" && Object.keys(obj).length !== 0) {
			return false;
		}
		if (typeof Object.getOwnPropertyNames === "function" && Object.getOwnPropertyNames(obj).length !== 0) {
			return false;
		}
		var syms = Object.getOwnPropertySymbols(obj);
		if (syms.length !== 1 || syms[0] !== sym) {
			return false;
		}
		if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) {
			return false;
		}
		if (typeof Object.getOwnPropertyDescriptor === "function") {
			var descriptor = Object.getOwnPropertyDescriptor(obj, sym);
			if (descriptor.value !== symVal || descriptor.enumerable !== true) {
				return false;
			}
		}
		return true;
	};
}));

//#endregion
//#region ../node_modules/has-symbols/index.js
var require_has_symbols = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var origSymbol = typeof Symbol !== "undefined" && Symbol;
	var hasSymbolSham = require_shams$1();
	/** @type {import('.')} */
	module.exports = function hasNativeSymbols() {
		if (typeof origSymbol !== "function") {
			return false;
		}
		if (typeof Symbol !== "function") {
			return false;
		}
		if (typeof origSymbol("foo") !== "symbol") {
			return false;
		}
		if (typeof Symbol("bar") !== "symbol") {
			return false;
		}
		return hasSymbolSham();
	};
}));

//#endregion
//#region ../node_modules/get-proto/Reflect.getPrototypeOf.js
var require_Reflect_getPrototypeOf = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @type {import('./Reflect.getPrototypeOf')} */
	module.exports = typeof Reflect !== "undefined" && Reflect.getPrototypeOf || null;
}));

//#endregion
//#region ../node_modules/get-proto/Object.getPrototypeOf.js
var require_Object_getPrototypeOf = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var $Object = require_es_object_atoms();
	/** @type {import('./Object.getPrototypeOf')} */
	module.exports = $Object.getPrototypeOf || null;
}));

//#endregion
//#region ../node_modules/function-bind/implementation.js
var require_implementation = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var ERROR_MESSAGE = "Function.prototype.bind called on incompatible ";
	var toStr = Object.prototype.toString;
	var max = Math.max;
	var funcType = "[object Function]";
	var concatty = function concatty(a, b) {
		var arr = [];
		for (var i = 0; i < a.length; i += 1) {
			arr[i] = a[i];
		}
		for (var j = 0; j < b.length; j += 1) {
			arr[j + a.length] = b[j];
		}
		return arr;
	};
	var slicy = function slicy(arrLike, offset) {
		var arr = [];
		for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {
			arr[j] = arrLike[i];
		}
		return arr;
	};
	var joiny = function(arr, joiner) {
		var str = "";
		for (var i = 0; i < arr.length; i += 1) {
			str += arr[i];
			if (i + 1 < arr.length) {
				str += joiner;
			}
		}
		return str;
	};
	module.exports = function bind(that) {
		var target = this;
		if (typeof target !== "function" || toStr.apply(target) !== funcType) {
			throw new TypeError(ERROR_MESSAGE + target);
		}
		var args = slicy(arguments, 1);
		var bound;
		var binder = function() {
			if (this instanceof bound) {
				var result = target.apply(this, concatty(args, arguments));
				if (Object(result) === result) {
					return result;
				}
				return this;
			}
			return target.apply(that, concatty(args, arguments));
		};
		var boundLength = max(0, target.length - args.length);
		var boundArgs = [];
		for (var i = 0; i < boundLength; i++) {
			boundArgs[i] = "$" + i;
		}
		bound = Function("binder", "return function (" + joiny(boundArgs, ",") + "){ return binder.apply(this,arguments); }")(binder);
		if (target.prototype) {
			var Empty = function Empty() {};
			Empty.prototype = target.prototype;
			bound.prototype = new Empty();
			Empty.prototype = null;
		}
		return bound;
	};
}));

//#endregion
//#region ../node_modules/function-bind/index.js
var require_function_bind = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var implementation = require_implementation();
	module.exports = Function.prototype.bind || implementation;
}));

//#endregion
//#region ../node_modules/call-bind-apply-helpers/functionCall.js
var require_functionCall = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @type {import('./functionCall')} */
	module.exports = Function.prototype.call;
}));

//#endregion
//#region ../node_modules/call-bind-apply-helpers/functionApply.js
var require_functionApply = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @type {import('./functionApply')} */
	module.exports = Function.prototype.apply;
}));

//#endregion
//#region ../node_modules/call-bind-apply-helpers/reflectApply.js
var require_reflectApply = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @type {import('./reflectApply')} */
	module.exports = typeof Reflect !== "undefined" && Reflect && Reflect.apply;
}));

//#endregion
//#region ../node_modules/call-bind-apply-helpers/actualApply.js
var require_actualApply = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var bind = require_function_bind();
	var $apply = require_functionApply();
	var $call = require_functionCall();
	var $reflectApply = require_reflectApply();
	/** @type {import('./actualApply')} */
	module.exports = $reflectApply || bind.call($call, $apply);
}));

//#endregion
//#region ../node_modules/call-bind-apply-helpers/index.js
var require_call_bind_apply_helpers = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var bind = require_function_bind();
	var $TypeError = require_type$1();
	var $call = require_functionCall();
	var $actualApply = require_actualApply();
	/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */
	module.exports = function callBindBasic(args) {
		if (args.length < 1 || typeof args[0] !== "function") {
			throw new $TypeError("a function is required");
		}
		return $actualApply(bind, $call, args);
	};
}));

//#endregion
//#region ../node_modules/dunder-proto/get.js
var require_get = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var callBind = require_call_bind_apply_helpers();
	var gOPD = require_gopd();
	var hasProtoAccessor;
	try {
		hasProtoAccessor = [].__proto__ === Array.prototype;
	} catch (e) {
		if (!e || typeof e !== "object" || !("code" in e) || e.code !== "ERR_PROTO_ACCESS") {
			throw e;
		}
	}
	var desc = !!hasProtoAccessor && gOPD && gOPD(
		Object.prototype,
		/** @type {keyof typeof Object.prototype} */
		"__proto__"
	);
	var $Object = Object;
	var $getPrototypeOf = $Object.getPrototypeOf;
	/** @type {import('./get')} */
	module.exports = desc && typeof desc.get === "function" ? callBind([desc.get]) : typeof $getPrototypeOf === "function" ? function getDunder(value) {
		return $getPrototypeOf(value == null ? value : $Object(value));
	} : false;
}));

//#endregion
//#region ../node_modules/get-proto/index.js
var require_get_proto = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var reflectGetProto = require_Reflect_getPrototypeOf();
	var originalGetProto = require_Object_getPrototypeOf();
	var getDunderProto = require_get();
	/** @type {import('.')} */
	module.exports = reflectGetProto ? function getProto(O) {
		return reflectGetProto(O);
	} : originalGetProto ? function getProto(O) {
		if (!O || typeof O !== "object" && typeof O !== "function") {
			throw new TypeError("getProto: not an object");
		}
		return originalGetProto(O);
	} : getDunderProto ? function getProto(O) {
		return getDunderProto(O);
	} : null;
}));

//#endregion
//#region ../node_modules/hasown/index.js
var require_hasown = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var call = Function.prototype.call;
	var $hasOwn = Object.prototype.hasOwnProperty;
	var bind = require_function_bind();
	/** @type {import('.')} */
	module.exports = bind.call(call, $hasOwn);
}));

//#endregion
//#region ../node_modules/get-intrinsic/index.js
var require_get_intrinsic = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var undefined;
	var $Object = require_es_object_atoms();
	var $Error = require_es_errors();
	var $EvalError = require_eval();
	var $RangeError = require_range$1();
	var $ReferenceError = require_ref$2();
	var $SyntaxError = require_syntax();
	var $TypeError = require_type$1();
	var $URIError = require_uri$1();
	var abs = require_abs();
	var floor = require_floor();
	var max = require_max();
	var min = require_min();
	var pow = require_pow();
	var round = require_round();
	var sign = require_sign();
	var $Function = Function;
	var getEvalledConstructor = function(expressionSyntax) {
		try {
			return $Function("\"use strict\"; return (" + expressionSyntax + ").constructor;")();
		} catch (e) {}
	};
	var $gOPD = require_gopd();
	var $defineProperty = require_es_define_property();
	var throwTypeError = function() {
		throw new $TypeError();
	};
	var ThrowTypeError = $gOPD ? function() {
		try {
			arguments.callee;
			return throwTypeError;
		} catch (calleeThrows) {
			try {
				return $gOPD(arguments, "callee").get;
			} catch (gOPDthrows) {
				return throwTypeError;
			}
		}
	}() : throwTypeError;
	var hasSymbols = require_has_symbols()();
	var getProto = require_get_proto();
	var $ObjectGPO = require_Object_getPrototypeOf();
	var $ReflectGPO = require_Reflect_getPrototypeOf();
	var $apply = require_functionApply();
	var $call = require_functionCall();
	var needsEval = {};
	var TypedArray = typeof Uint8Array === "undefined" || !getProto ? undefined : getProto(Uint8Array);
	var INTRINSICS = {
		__proto__: null,
		"%AggregateError%": typeof AggregateError === "undefined" ? undefined : AggregateError,
		"%Array%": Array,
		"%ArrayBuffer%": typeof ArrayBuffer === "undefined" ? undefined : ArrayBuffer,
		"%ArrayIteratorPrototype%": hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,
		"%AsyncFromSyncIteratorPrototype%": undefined,
		"%AsyncFunction%": needsEval,
		"%AsyncGenerator%": needsEval,
		"%AsyncGeneratorFunction%": needsEval,
		"%AsyncIteratorPrototype%": needsEval,
		"%Atomics%": typeof Atomics === "undefined" ? undefined : Atomics,
		"%BigInt%": typeof BigInt === "undefined" ? undefined : BigInt,
		"%BigInt64Array%": typeof BigInt64Array === "undefined" ? undefined : BigInt64Array,
		"%BigUint64Array%": typeof BigUint64Array === "undefined" ? undefined : BigUint64Array,
		"%Boolean%": Boolean,
		"%DataView%": typeof DataView === "undefined" ? undefined : DataView,
		"%Date%": Date,
		"%decodeURI%": decodeURI,
		"%decodeURIComponent%": decodeURIComponent,
		"%encodeURI%": encodeURI,
		"%encodeURIComponent%": encodeURIComponent,
		"%Error%": $Error,
		"%eval%": eval,
		"%EvalError%": $EvalError,
		"%Float16Array%": typeof Float16Array === "undefined" ? undefined : Float16Array,
		"%Float32Array%": typeof Float32Array === "undefined" ? undefined : Float32Array,
		"%Float64Array%": typeof Float64Array === "undefined" ? undefined : Float64Array,
		"%FinalizationRegistry%": typeof FinalizationRegistry === "undefined" ? undefined : FinalizationRegistry,
		"%Function%": $Function,
		"%GeneratorFunction%": needsEval,
		"%Int8Array%": typeof Int8Array === "undefined" ? undefined : Int8Array,
		"%Int16Array%": typeof Int16Array === "undefined" ? undefined : Int16Array,
		"%Int32Array%": typeof Int32Array === "undefined" ? undefined : Int32Array,
		"%isFinite%": isFinite,
		"%isNaN%": isNaN,
		"%IteratorPrototype%": hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,
		"%JSON%": typeof JSON === "object" ? JSON : undefined,
		"%Map%": typeof Map === "undefined" ? undefined : Map,
		"%MapIteratorPrototype%": typeof Map === "undefined" || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),
		"%Math%": Math,
		"%Number%": Number,
		"%Object%": $Object,
		"%Object.getOwnPropertyDescriptor%": $gOPD,
		"%parseFloat%": parseFloat,
		"%parseInt%": parseInt,
		"%Promise%": typeof Promise === "undefined" ? undefined : Promise,
		"%Proxy%": typeof Proxy === "undefined" ? undefined : Proxy,
		"%RangeError%": $RangeError,
		"%ReferenceError%": $ReferenceError,
		"%Reflect%": typeof Reflect === "undefined" ? undefined : Reflect,
		"%RegExp%": RegExp,
		"%Set%": typeof Set === "undefined" ? undefined : Set,
		"%SetIteratorPrototype%": typeof Set === "undefined" || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),
		"%SharedArrayBuffer%": typeof SharedArrayBuffer === "undefined" ? undefined : SharedArrayBuffer,
		"%String%": String,
		"%StringIteratorPrototype%": hasSymbols && getProto ? getProto(""[Symbol.iterator]()) : undefined,
		"%Symbol%": hasSymbols ? Symbol : undefined,
		"%SyntaxError%": $SyntaxError,
		"%ThrowTypeError%": ThrowTypeError,
		"%TypedArray%": TypedArray,
		"%TypeError%": $TypeError,
		"%Uint8Array%": typeof Uint8Array === "undefined" ? undefined : Uint8Array,
		"%Uint8ClampedArray%": typeof Uint8ClampedArray === "undefined" ? undefined : Uint8ClampedArray,
		"%Uint16Array%": typeof Uint16Array === "undefined" ? undefined : Uint16Array,
		"%Uint32Array%": typeof Uint32Array === "undefined" ? undefined : Uint32Array,
		"%URIError%": $URIError,
		"%WeakMap%": typeof WeakMap === "undefined" ? undefined : WeakMap,
		"%WeakRef%": typeof WeakRef === "undefined" ? undefined : WeakRef,
		"%WeakSet%": typeof WeakSet === "undefined" ? undefined : WeakSet,
		"%Function.prototype.call%": $call,
		"%Function.prototype.apply%": $apply,
		"%Object.defineProperty%": $defineProperty,
		"%Object.getPrototypeOf%": $ObjectGPO,
		"%Math.abs%": abs,
		"%Math.floor%": floor,
		"%Math.max%": max,
		"%Math.min%": min,
		"%Math.pow%": pow,
		"%Math.round%": round,
		"%Math.sign%": sign,
		"%Reflect.getPrototypeOf%": $ReflectGPO
	};
	if (getProto) {
		try {
			null.error;
		} catch (e) {
			var errorProto = getProto(getProto(e));
			INTRINSICS["%Error.prototype%"] = errorProto;
		}
	}
	var doEval = function doEval(name) {
		var value;
		if (name === "%AsyncFunction%") {
			value = getEvalledConstructor("async function () {}");
		} else if (name === "%GeneratorFunction%") {
			value = getEvalledConstructor("function* () {}");
		} else if (name === "%AsyncGeneratorFunction%") {
			value = getEvalledConstructor("async function* () {}");
		} else if (name === "%AsyncGenerator%") {
			var fn = doEval("%AsyncGeneratorFunction%");
			if (fn) {
				value = fn.prototype;
			}
		} else if (name === "%AsyncIteratorPrototype%") {
			var gen = doEval("%AsyncGenerator%");
			if (gen && getProto) {
				value = getProto(gen.prototype);
			}
		}
		INTRINSICS[name] = value;
		return value;
	};
	var LEGACY_ALIASES = {
		__proto__: null,
		"%ArrayBufferPrototype%": ["ArrayBuffer", "prototype"],
		"%ArrayPrototype%": ["Array", "prototype"],
		"%ArrayProto_entries%": [
			"Array",
			"prototype",
			"entries"
		],
		"%ArrayProto_forEach%": [
			"Array",
			"prototype",
			"forEach"
		],
		"%ArrayProto_keys%": [
			"Array",
			"prototype",
			"keys"
		],
		"%ArrayProto_values%": [
			"Array",
			"prototype",
			"values"
		],
		"%AsyncFunctionPrototype%": ["AsyncFunction", "prototype"],
		"%AsyncGenerator%": ["AsyncGeneratorFunction", "prototype"],
		"%AsyncGeneratorPrototype%": [
			"AsyncGeneratorFunction",
			"prototype",
			"prototype"
		],
		"%BooleanPrototype%": ["Boolean", "prototype"],
		"%DataViewPrototype%": ["DataView", "prototype"],
		"%DatePrototype%": ["Date", "prototype"],
		"%ErrorPrototype%": ["Error", "prototype"],
		"%EvalErrorPrototype%": ["EvalError", "prototype"],
		"%Float32ArrayPrototype%": ["Float32Array", "prototype"],
		"%Float64ArrayPrototype%": ["Float64Array", "prototype"],
		"%FunctionPrototype%": ["Function", "prototype"],
		"%Generator%": ["GeneratorFunction", "prototype"],
		"%GeneratorPrototype%": [
			"GeneratorFunction",
			"prototype",
			"prototype"
		],
		"%Int8ArrayPrototype%": ["Int8Array", "prototype"],
		"%Int16ArrayPrototype%": ["Int16Array", "prototype"],
		"%Int32ArrayPrototype%": ["Int32Array", "prototype"],
		"%JSONParse%": ["JSON", "parse"],
		"%JSONStringify%": ["JSON", "stringify"],
		"%MapPrototype%": ["Map", "prototype"],
		"%NumberPrototype%": ["Number", "prototype"],
		"%ObjectPrototype%": ["Object", "prototype"],
		"%ObjProto_toString%": [
			"Object",
			"prototype",
			"toString"
		],
		"%ObjProto_valueOf%": [
			"Object",
			"prototype",
			"valueOf"
		],
		"%PromisePrototype%": ["Promise", "prototype"],
		"%PromiseProto_then%": [
			"Promise",
			"prototype",
			"then"
		],
		"%Promise_all%": ["Promise", "all"],
		"%Promise_reject%": ["Promise", "reject"],
		"%Promise_resolve%": ["Promise", "resolve"],
		"%RangeErrorPrototype%": ["RangeError", "prototype"],
		"%ReferenceErrorPrototype%": ["ReferenceError", "prototype"],
		"%RegExpPrototype%": ["RegExp", "prototype"],
		"%SetPrototype%": ["Set", "prototype"],
		"%SharedArrayBufferPrototype%": ["SharedArrayBuffer", "prototype"],
		"%StringPrototype%": ["String", "prototype"],
		"%SymbolPrototype%": ["Symbol", "prototype"],
		"%SyntaxErrorPrototype%": ["SyntaxError", "prototype"],
		"%TypedArrayPrototype%": ["TypedArray", "prototype"],
		"%TypeErrorPrototype%": ["TypeError", "prototype"],
		"%Uint8ArrayPrototype%": ["Uint8Array", "prototype"],
		"%Uint8ClampedArrayPrototype%": ["Uint8ClampedArray", "prototype"],
		"%Uint16ArrayPrototype%": ["Uint16Array", "prototype"],
		"%Uint32ArrayPrototype%": ["Uint32Array", "prototype"],
		"%URIErrorPrototype%": ["URIError", "prototype"],
		"%WeakMapPrototype%": ["WeakMap", "prototype"],
		"%WeakSetPrototype%": ["WeakSet", "prototype"]
	};
	var bind = require_function_bind();
	var hasOwn = require_hasown();
	var $concat = bind.call($call, Array.prototype.concat);
	var $spliceApply = bind.call($apply, Array.prototype.splice);
	var $replace = bind.call($call, String.prototype.replace);
	var $strSlice = bind.call($call, String.prototype.slice);
	var $exec = bind.call($call, RegExp.prototype.exec);
	var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;
	var reEscapeChar = /\\(\\)?/g;
	var stringToPath = function stringToPath(string) {
		var first = $strSlice(string, 0, 1);
		var last = $strSlice(string, -1);
		if (first === "%" && last !== "%") {
			throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`");
		} else if (last === "%" && first !== "%") {
			throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`");
		}
		var result = [];
		$replace(string, rePropName, function(match, number, quote, subString) {
			result[result.length] = quote ? $replace(subString, reEscapeChar, "$1") : number || match;
		});
		return result;
	};
	var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {
		var intrinsicName = name;
		var alias;
		if (hasOwn(LEGACY_ALIASES, intrinsicName)) {
			alias = LEGACY_ALIASES[intrinsicName];
			intrinsicName = "%" + alias[0] + "%";
		}
		if (hasOwn(INTRINSICS, intrinsicName)) {
			var value = INTRINSICS[intrinsicName];
			if (value === needsEval) {
				value = doEval(intrinsicName);
			}
			if (typeof value === "undefined" && !allowMissing) {
				throw new $TypeError("intrinsic " + name + " exists, but is not available. Please file an issue!");
			}
			return {
				alias,
				name: intrinsicName,
				value
			};
		}
		throw new $SyntaxError("intrinsic " + name + " does not exist!");
	};
	module.exports = function GetIntrinsic(name, allowMissing) {
		if (typeof name !== "string" || name.length === 0) {
			throw new $TypeError("intrinsic name must be a non-empty string");
		}
		if (arguments.length > 1 && typeof allowMissing !== "boolean") {
			throw new $TypeError("\"allowMissing\" argument must be a boolean");
		}
		if ($exec(/^%?[^%]*%?$/, name) === null) {
			throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name");
		}
		var parts = stringToPath(name);
		var intrinsicBaseName = parts.length > 0 ? parts[0] : "";
		var intrinsic = getBaseIntrinsic("%" + intrinsicBaseName + "%", allowMissing);
		var intrinsicRealName = intrinsic.name;
		var value = intrinsic.value;
		var skipFurtherCaching = false;
		var alias = intrinsic.alias;
		if (alias) {
			intrinsicBaseName = alias[0];
			$spliceApply(parts, $concat([0, 1], alias));
		}
		for (var i = 1, isOwn = true; i < parts.length; i += 1) {
			var part = parts[i];
			var first = $strSlice(part, 0, 1);
			var last = $strSlice(part, -1);
			if ((first === "\"" || first === "'" || first === "`" || last === "\"" || last === "'" || last === "`") && first !== last) {
				throw new $SyntaxError("property names with quotes must have matching quotes");
			}
			if (part === "constructor" || !isOwn) {
				skipFurtherCaching = true;
			}
			intrinsicBaseName += "." + part;
			intrinsicRealName = "%" + intrinsicBaseName + "%";
			if (hasOwn(INTRINSICS, intrinsicRealName)) {
				value = INTRINSICS[intrinsicRealName];
			} else if (value != null) {
				if (!(part in value)) {
					if (!allowMissing) {
						throw new $TypeError("base intrinsic for " + name + " exists, but the property is not available.");
					}
					return void undefined;
				}
				if ($gOPD && i + 1 >= parts.length) {
					var desc = $gOPD(value, part);
					isOwn = !!desc;
					if (isOwn && "get" in desc && !("originalValue" in desc.get)) {
						value = desc.get;
					} else {
						value = value[part];
					}
				} else {
					isOwn = hasOwn(value, part);
					value = value[part];
				}
				if (isOwn && !skipFurtherCaching) {
					INTRINSICS[intrinsicRealName] = value;
				}
			}
		}
		return value;
	};
}));

//#endregion
//#region ../node_modules/has-tostringtag/shams.js
var require_shams = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var hasSymbols = require_shams$1();
	/** @type {import('.')} */
	module.exports = function hasToStringTagShams() {
		return hasSymbols() && !!Symbol.toStringTag;
	};
}));

//#endregion
//#region ../node_modules/es-set-tostringtag/index.js
var require_es_set_tostringtag = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var GetIntrinsic = require_get_intrinsic();
	var $defineProperty = GetIntrinsic("%Object.defineProperty%", true);
	var hasToStringTag = require_shams()();
	var hasOwn = require_hasown();
	var $TypeError = require_type$1();
	var toStringTag = hasToStringTag ? Symbol.toStringTag : null;
	/** @type {import('.')} */
	module.exports = function setToStringTag(object, value) {
		var overrideIfSet = arguments.length > 2 && !!arguments[2] && arguments[2].force;
		var nonConfigurable = arguments.length > 2 && !!arguments[2] && arguments[2].nonConfigurable;
		if (typeof overrideIfSet !== "undefined" && typeof overrideIfSet !== "boolean" || typeof nonConfigurable !== "undefined" && typeof nonConfigurable !== "boolean") {
			throw new $TypeError("if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans");
		}
		if (toStringTag && (overrideIfSet || !hasOwn(object, toStringTag))) {
			if ($defineProperty) {
				$defineProperty(object, toStringTag, {
					configurable: !nonConfigurable,
					enumerable: false,
					value,
					writable: false
				});
			} else {
				object[toStringTag] = value;
			}
		}
	};
}));

//#endregion
//#region ../node_modules/form-data/lib/populate.js
var require_populate = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = function(dst, src) {
		Object.keys(src).forEach(function(prop) {
			dst[prop] = dst[prop] || src[prop];
		});
		return dst;
	};
}));

//#endregion
//#region ../node_modules/form-data/lib/form_data.js
var require_form_data$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var CombinedStream = require_combined_stream();
	var util$10 = __require("util");
	var path$6 = __require("path");
	var http$10 = __require("http");
	var https$5 = __require("https");
	var parseUrl$1 = __require("url").parse;
	var fs$5 = __require("fs");
	var Stream$2 = __require("stream").Stream;
	var crypto$6 = __require("crypto");
	var mime = require_mime_types();
	var asynckit = require_asynckit();
	var setToStringTag = require_es_set_tostringtag();
	var hasOwn = require_hasown();
	var populate = require_populate();
	/**
	* Create readable "multipart/form-data" streams.
	* Can be used to submit forms
	* and file uploads to other web applications.
	*
	* @constructor
	* @param {object} options - Properties to be added/overriden for FormData and CombinedStream
	*/
	function FormData(options) {
		if (!(this instanceof FormData)) {
			return new FormData(options);
		}
		this._overheadLength = 0;
		this._valueLength = 0;
		this._valuesToMeasure = [];
		CombinedStream.call(this);
		options = options || {};
		for (var option in options) {
			this[option] = options[option];
		}
	}
	util$10.inherits(FormData, CombinedStream);
	FormData.LINE_BREAK = "\r\n";
	FormData.DEFAULT_CONTENT_TYPE = "application/octet-stream";
	FormData.prototype.append = function(field, value, options) {
		options = options || {};
		if (typeof options === "string") {
			options = { filename: options };
		}
		var append = CombinedStream.prototype.append.bind(this);
		if (typeof value === "number" || value == null) {
			value = String(value);
		}
		if (Array.isArray(value)) {
			this._error(new Error("Arrays are not supported."));
			return;
		}
		var header = this._multiPartHeader(field, value, options);
		var footer = this._multiPartFooter();
		append(header);
		append(value);
		append(footer);
		this._trackLength(header, value, options);
	};
	FormData.prototype._trackLength = function(header, value, options) {
		var valueLength = 0;
		if (options.knownLength != null) {
			valueLength += Number(options.knownLength);
		} else if (Buffer.isBuffer(value)) {
			valueLength = value.length;
		} else if (typeof value === "string") {
			valueLength = Buffer.byteLength(value);
		}
		this._valueLength += valueLength;
		this._overheadLength += Buffer.byteLength(header) + FormData.LINE_BREAK.length;
		if (!value || !value.path && !(value.readable && hasOwn(value, "httpVersion")) && !(value instanceof Stream$2)) {
			return;
		}
		if (!options.knownLength) {
			this._valuesToMeasure.push(value);
		}
	};
	FormData.prototype._lengthRetriever = function(value, callback) {
		if (hasOwn(value, "fd")) {
			if (value.end != undefined && value.end != Infinity && value.start != undefined) {
				callback(null, value.end + 1 - (value.start ? value.start : 0));
			} else {
				fs$5.stat(value.path, function(err, stat) {
					if (err) {
						callback(err);
						return;
					}
					var fileSize = stat.size - (value.start ? value.start : 0);
					callback(null, fileSize);
				});
			}
		} else if (hasOwn(value, "httpVersion")) {
			callback(null, Number(value.headers["content-length"]));
		} else if (hasOwn(value, "httpModule")) {
			value.on("response", function(response) {
				value.pause();
				callback(null, Number(response.headers["content-length"]));
			});
			value.resume();
		} else {
			callback("Unknown stream");
		}
	};
	FormData.prototype._multiPartHeader = function(field, value, options) {
		if (typeof options.header === "string") {
			return options.header;
		}
		var contentDisposition = this._getContentDisposition(value, options);
		var contentType = this._getContentType(value, options);
		var contents = "";
		var headers = {
			"Content-Disposition": ["form-data", "name=\"" + field + "\""].concat(contentDisposition || []),
			"Content-Type": [].concat(contentType || [])
		};
		if (typeof options.header === "object") {
			populate(headers, options.header);
		}
		var header;
		for (var prop in headers) {
			if (hasOwn(headers, prop)) {
				header = headers[prop];
				if (header == null) {
					continue;
				}
				if (!Array.isArray(header)) {
					header = [header];
				}
				if (header.length) {
					contents += prop + ": " + header.join("; ") + FormData.LINE_BREAK;
				}
			}
		}
		return "--" + this.getBoundary() + FormData.LINE_BREAK + contents + FormData.LINE_BREAK;
	};
	FormData.prototype._getContentDisposition = function(value, options) {
		var filename;
		if (typeof options.filepath === "string") {
			filename = path$6.normalize(options.filepath).replace(/\\/g, "/");
		} else if (options.filename || value && (value.name || value.path)) {
			filename = path$6.basename(options.filename || value && (value.name || value.path));
		} else if (value && value.readable && hasOwn(value, "httpVersion")) {
			filename = path$6.basename(value.client._httpMessage.path || "");
		}
		if (filename) {
			return "filename=\"" + filename + "\"";
		}
	};
	FormData.prototype._getContentType = function(value, options) {
		var contentType = options.contentType;
		if (!contentType && value && value.name) {
			contentType = mime.lookup(value.name);
		}
		if (!contentType && value && value.path) {
			contentType = mime.lookup(value.path);
		}
		if (!contentType && value && value.readable && hasOwn(value, "httpVersion")) {
			contentType = value.headers["content-type"];
		}
		if (!contentType && (options.filepath || options.filename)) {
			contentType = mime.lookup(options.filepath || options.filename);
		}
		if (!contentType && value && typeof value === "object") {
			contentType = FormData.DEFAULT_CONTENT_TYPE;
		}
		return contentType;
	};
	FormData.prototype._multiPartFooter = function() {
		return function(next) {
			var footer = FormData.LINE_BREAK;
			var lastPart = this._streams.length === 0;
			if (lastPart) {
				footer += this._lastBoundary();
			}
			next(footer);
		}.bind(this);
	};
	FormData.prototype._lastBoundary = function() {
		return "--" + this.getBoundary() + "--" + FormData.LINE_BREAK;
	};
	FormData.prototype.getHeaders = function(userHeaders) {
		var header;
		var formHeaders = { "content-type": "multipart/form-data; boundary=" + this.getBoundary() };
		for (header in userHeaders) {
			if (hasOwn(userHeaders, header)) {
				formHeaders[header.toLowerCase()] = userHeaders[header];
			}
		}
		return formHeaders;
	};
	FormData.prototype.setBoundary = function(boundary) {
		if (typeof boundary !== "string") {
			throw new TypeError("FormData boundary must be a string");
		}
		this._boundary = boundary;
	};
	FormData.prototype.getBoundary = function() {
		if (!this._boundary) {
			this._generateBoundary();
		}
		return this._boundary;
	};
	FormData.prototype.getBuffer = function() {
		var dataBuffer = new Buffer.alloc(0);
		var boundary = this.getBoundary();
		for (var i = 0, len = this._streams.length; i < len; i++) {
			if (typeof this._streams[i] !== "function") {
				if (Buffer.isBuffer(this._streams[i])) {
					dataBuffer = Buffer.concat([dataBuffer, this._streams[i]]);
				} else {
					dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i])]);
				}
				if (typeof this._streams[i] !== "string" || this._streams[i].substring(2, boundary.length + 2) !== boundary) {
					dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData.LINE_BREAK)]);
				}
			}
		}
		return Buffer.concat([dataBuffer, Buffer.from(this._lastBoundary())]);
	};
	FormData.prototype._generateBoundary = function() {
		this._boundary = "--------------------------" + crypto$6.randomBytes(12).toString("hex");
	};
	FormData.prototype.getLengthSync = function() {
		var knownLength = this._overheadLength + this._valueLength;
		if (this._streams.length) {
			knownLength += this._lastBoundary().length;
		}
		if (!this.hasKnownLength()) {
			this._error(new Error("Cannot calculate proper length in synchronous way."));
		}
		return knownLength;
	};
	FormData.prototype.hasKnownLength = function() {
		var hasKnownLength = true;
		if (this._valuesToMeasure.length) {
			hasKnownLength = false;
		}
		return hasKnownLength;
	};
	FormData.prototype.getLength = function(cb) {
		var knownLength = this._overheadLength + this._valueLength;
		if (this._streams.length) {
			knownLength += this._lastBoundary().length;
		}
		if (!this._valuesToMeasure.length) {
			process.nextTick(cb.bind(this, null, knownLength));
			return;
		}
		asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function(err, values) {
			if (err) {
				cb(err);
				return;
			}
			values.forEach(function(length) {
				knownLength += length;
			});
			cb(null, knownLength);
		});
	};
	FormData.prototype.submit = function(params, cb) {
		var request;
		var options;
		var defaults = { method: "post" };
		if (typeof params === "string") {
			params = parseUrl$1(params);
			options = populate({
				port: params.port,
				path: params.pathname,
				host: params.hostname,
				protocol: params.protocol
			}, defaults);
		} else {
			options = populate(params, defaults);
			if (!options.port) {
				options.port = options.protocol === "https:" ? 443 : 80;
			}
		}
		options.headers = this.getHeaders(params.headers);
		if (options.protocol === "https:") {
			request = https$5.request(options);
		} else {
			request = http$10.request(options);
		}
		this.getLength(function(err, length) {
			if (err && err !== "Unknown stream") {
				this._error(err);
				return;
			}
			if (length) {
				request.setHeader("Content-Length", length);
			}
			this.pipe(request);
			if (cb) {
				var onResponse;
				var callback = function(error, responce) {
					request.removeListener("error", callback);
					request.removeListener("response", onResponse);
					return cb.call(this, error, responce);
				};
				onResponse = callback.bind(this, null);
				request.on("error", callback);
				request.on("response", onResponse);
			}
		}.bind(this));
		return request;
	};
	FormData.prototype._error = function(err) {
		if (!this.error) {
			this.error = err;
			this.pause();
			this.emit("error", err);
		}
	};
	FormData.prototype.toString = function() {
		return "[object FormData]";
	};
	setToStringTag(FormData, "FormData");
	module.exports = FormData;
}));

//#endregion
//#region ../node_modules/axios/lib/platform/node/classes/FormData.js
var import_form_data = /* @__PURE__ */ __toESM(require_form_data$1(), 1);
var FormData_default = import_form_data.default;

//#endregion
//#region ../node_modules/axios/lib/helpers/toFormData.js
/**
* Determines if the given thing is a array or js object.
*
* @param {string} thing - The object or array to be visited.
*
* @returns {boolean}
*/
function isVisitable(thing) {
	return utils_default.isPlainObject(thing) || utils_default.isArray(thing);
}
/**
* It removes the brackets from the end of a string
*
* @param {string} key - The key of the parameter.
*
* @returns {string} the key without the brackets.
*/
function removeBrackets(key) {
	return utils_default.endsWith(key, "[]") ? key.slice(0, -2) : key;
}
/**
* It takes a path, a key, and a boolean, and returns a string
*
* @param {string} path - The path to the current key.
* @param {string} key - The key of the current object being iterated over.
* @param {string} dots - If true, the key will be rendered with dots instead of brackets.
*
* @returns {string} The path to the current key.
*/
function renderKey(path, key, dots) {
	if (!path) return key;
	return path.concat(key).map(function each(token, i) {
		token = removeBrackets(token);
		return !dots && i ? "[" + token + "]" : token;
	}).join(dots ? "." : "");
}
/**
* If the array is an array and none of its elements are visitable, then it's a flat array.
*
* @param {Array<any>} arr - The array to check
*
* @returns {boolean}
*/
function isFlatArray(arr) {
	return utils_default.isArray(arr) && !arr.some(isVisitable);
}
const predicates = utils_default.toFlatObject(utils_default, {}, null, function filter(prop) {
	return /^is[A-Z]/.test(prop);
});
/**
* Convert a data object to FormData
*
* @param {Object} obj
* @param {?Object} [formData]
* @param {?Object} [options]
* @param {Function} [options.visitor]
* @param {Boolean} [options.metaTokens = true]
* @param {Boolean} [options.dots = false]
* @param {?Boolean} [options.indexes = false]
*
* @returns {Object}
**/
/**
* It converts an object into a FormData object
*
* @param {Object<any, any>} obj - The object to convert to form data.
* @param {string} formData - The FormData object to append to.
* @param {Object<string, any>} options
*
* @returns
*/
function toFormData$1(obj, formData, options) {
	if (!utils_default.isObject(obj)) {
		throw new TypeError("target must be an object");
	}
	formData = formData || new (FormData_default || FormData)();
	options = utils_default.toFlatObject(options, {
		metaTokens: true,
		dots: false,
		indexes: false
	}, false, function defined(option, source) {
		return !utils_default.isUndefined(source[option]);
	});
	const metaTokens = options.metaTokens;
	const visitor = options.visitor || defaultVisitor;
	const dots = options.dots;
	const indexes = options.indexes;
	const _Blob = options.Blob || typeof Blob !== "undefined" && Blob;
	const useBlob = _Blob && utils_default.isSpecCompliantForm(formData);
	if (!utils_default.isFunction(visitor)) {
		throw new TypeError("visitor must be a function");
	}
	function convertValue(value) {
		if (value === null) return "";
		if (utils_default.isDate(value)) {
			return value.toISOString();
		}
		if (utils_default.isBoolean(value)) {
			return value.toString();
		}
		if (!useBlob && utils_default.isBlob(value)) {
			throw new AxiosError$1("Blob is not supported. Use a Buffer instead.");
		}
		if (utils_default.isArrayBuffer(value) || utils_default.isTypedArray(value)) {
			return useBlob && typeof Blob === "function" ? new Blob([value]) : Buffer.from(value);
		}
		return value;
	}
	/**
	* Default visitor.
	*
	* @param {*} value
	* @param {String|Number} key
	* @param {Array<String|Number>} path
	* @this {FormData}
	*
	* @returns {boolean} return true to visit the each prop of the value recursively
	*/
	function defaultVisitor(value, key, path) {
		let arr = value;
		if (value && !path && typeof value === "object") {
			if (utils_default.endsWith(key, "{}")) {
				key = metaTokens ? key : key.slice(0, -2);
				value = JSON.stringify(value);
			} else if (utils_default.isArray(value) && isFlatArray(value) || (utils_default.isFileList(value) || utils_default.endsWith(key, "[]")) && (arr = utils_default.toArray(value))) {
				key = removeBrackets(key);
				arr.forEach(function each(el, index) {
					!(utils_default.isUndefined(el) || el === null) && formData.append(indexes === true ? renderKey([key], index, dots) : indexes === null ? key : key + "[]", convertValue(el));
				});
				return false;
			}
		}
		if (isVisitable(value)) {
			return true;
		}
		formData.append(renderKey(path, key, dots), convertValue(value));
		return false;
	}
	const stack = [];
	const exposedHelpers = Object.assign(predicates, {
		defaultVisitor,
		convertValue,
		isVisitable
	});
	function build(value, path) {
		if (utils_default.isUndefined(value)) return;
		if (stack.indexOf(value) !== -1) {
			throw Error("Circular reference detected in " + path.join("."));
		}
		stack.push(value);
		utils_default.forEach(value, function each(el, key) {
			const result = !(utils_default.isUndefined(el) || el === null) && visitor.call(formData, el, utils_default.isString(key) ? key.trim() : key, path, exposedHelpers);
			if (result === true) {
				build(el, path ? path.concat(key) : [key]);
			}
		});
		stack.pop();
	}
	if (!utils_default.isObject(obj)) {
		throw new TypeError("data must be an object");
	}
	build(obj);
	return formData;
}

//#endregion
//#region ../node_modules/axios/lib/helpers/AxiosURLSearchParams.js
/**
* It encodes a string by replacing all characters that are not in the unreserved set with
* their percent-encoded equivalents
*
* @param {string} str - The string to encode.
*
* @returns {string} The encoded string.
*/
function encode$2(str) {
	const charMap = {
		"!": "%21",
		"'": "%27",
		"(": "%28",
		")": "%29",
		"~": "%7E",
		"%20": "+",
		"%00": "\0"
	};
	return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {
		return charMap[match];
	});
}
/**
* It takes a params object and converts it to a FormData object
*
* @param {Object<string, any>} params - The parameters to be converted to a FormData object.
* @param {Object<string, any>} options - The options object passed to the Axios constructor.
*
* @returns {void}
*/
function AxiosURLSearchParams(params, options) {
	this._pairs = [];
	params && toFormData$1(params, this, options);
}
const prototype = AxiosURLSearchParams.prototype;
prototype.append = function append(name, value) {
	this._pairs.push([name, value]);
};
prototype.toString = function toString(encoder) {
	const _encode = encoder ? function(value) {
		return encoder.call(this, value, encode$2);
	} : encode$2;
	return this._pairs.map(function each(pair) {
		return _encode(pair[0]) + "=" + _encode(pair[1]);
	}, "").join("&");
};

//#endregion
//#region ../node_modules/axios/lib/helpers/buildURL.js
/**
* It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their
* URI encoded counterparts
*
* @param {string} val The value to be encoded.
*
* @returns {string} The encoded value.
*/
function encode$1(val) {
	return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+");
}
/**
* Build a URL by appending params to the end
*
* @param {string} url The base of the url (e.g., http://www.google.com)
* @param {object} [params] The params to be appended
* @param {?(object|Function)} options
*
* @returns {string} The formatted url
*/
function buildURL(url, params, options) {
	if (!params) {
		return url;
	}
	const _encode = options && options.encode || encode$1;
	if (utils_default.isFunction(options)) {
		options = { serialize: options };
	}
	const serializeFn = options && options.serialize;
	let serializedParams;
	if (serializeFn) {
		serializedParams = serializeFn(params, options);
	} else {
		serializedParams = utils_default.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams(params, options).toString(_encode);
	}
	if (serializedParams) {
		const hashmarkIndex = url.indexOf("#");
		if (hashmarkIndex !== -1) {
			url = url.slice(0, hashmarkIndex);
		}
		url += (url.indexOf("?") === -1 ? "?" : "&") + serializedParams;
	}
	return url;
}

//#endregion
//#region ../node_modules/axios/lib/core/InterceptorManager.js
var InterceptorManager = class {
	constructor() {
		this.handlers = [];
	}
	/**
	* Add a new interceptor to the stack
	*
	* @param {Function} fulfilled The function to handle `then` for a `Promise`
	* @param {Function} rejected The function to handle `reject` for a `Promise`
	*
	* @return {Number} An ID used to remove interceptor later
	*/
	use(fulfilled, rejected, options) {
		this.handlers.push({
			fulfilled,
			rejected,
			synchronous: options ? options.synchronous : false,
			runWhen: options ? options.runWhen : null
		});
		return this.handlers.length - 1;
	}
	/**
	* Remove an interceptor from the stack
	*
	* @param {Number} id The ID that was returned by `use`
	*
	* @returns {Boolean} `true` if the interceptor was removed, `false` otherwise
	*/
	eject(id) {
		if (this.handlers[id]) {
			this.handlers[id] = null;
		}
	}
	/**
	* Clear all interceptors from the stack
	*
	* @returns {void}
	*/
	clear() {
		if (this.handlers) {
			this.handlers = [];
		}
	}
	/**
	* Iterate over all the registered interceptors
	*
	* This method is particularly useful for skipping over any
	* interceptors that may have become `null` calling `eject`.
	*
	* @param {Function} fn The function to call for each interceptor
	*
	* @returns {void}
	*/
	forEach(fn) {
		utils_default.forEach(this.handlers, function forEachHandler(h) {
			if (h !== null) {
				fn(h);
			}
		});
	}
};

//#endregion
//#region ../node_modules/axios/lib/defaults/transitional.js
var transitional_default = {
	silentJSONParsing: true,
	forcedJSONParsing: true,
	clarifyTimeoutError: false
};

//#endregion
//#region ../node_modules/axios/lib/platform/node/classes/URLSearchParams.js
var URLSearchParams_default = url.URLSearchParams;

//#endregion
//#region ../node_modules/axios/lib/platform/node/index.js
const ALPHA = "abcdefghijklmnopqrstuvwxyz";
const DIGIT = "0123456789";
const ALPHABET = {
	DIGIT,
	ALPHA,
	ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT
};
const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {
	let str = "";
	const { length } = alphabet;
	const randomValues = new Uint32Array(size);
	crypto$1.randomFillSync(randomValues);
	for (let i = 0; i < size; i++) {
		str += alphabet[randomValues[i] % length];
	}
	return str;
};
var node_default$1 = {
	isNode: true,
	classes: {
		URLSearchParams: URLSearchParams_default,
		FormData: FormData_default,
		Blob: typeof Blob !== "undefined" && Blob || null
	},
	ALPHABET,
	generateString,
	protocols: [
		"http",
		"https",
		"file",
		"data"
	]
};

//#endregion
//#region ../node_modules/axios/lib/platform/common/utils.js
var utils_exports = /* @__PURE__ */ __exportAll({
	hasBrowserEnv: () => hasBrowserEnv,
	hasStandardBrowserEnv: () => hasStandardBrowserEnv,
	hasStandardBrowserWebWorkerEnv: () => hasStandardBrowserWebWorkerEnv,
	navigator: () => _navigator,
	origin: () => origin
});
const hasBrowserEnv = typeof window !== "undefined" && typeof document !== "undefined";
const _navigator = typeof navigator === "object" && navigator || undefined;
/**
* Determine if we're running in a standard browser environment
*
* This allows axios to run in a web worker, and react-native.
* Both environments support XMLHttpRequest, but not fully standard globals.
*
* web workers:
*  typeof window -> undefined
*  typeof document -> undefined
*
* react-native:
*  navigator.product -> 'ReactNative'
* nativescript
*  navigator.product -> 'NativeScript' or 'NS'
*
* @returns {boolean}
*/
const hasStandardBrowserEnv = hasBrowserEnv && (!_navigator || [
	"ReactNative",
	"NativeScript",
	"NS"
].indexOf(_navigator.product) < 0);
/**
* Determine if we're running in a standard browser webWorker environment
*
* Although the `isStandardBrowserEnv` method indicates that
* `allows axios to run in a web worker`, the WebWorker will still be
* filtered out due to its judgment standard
* `typeof window !== 'undefined' && typeof document !== 'undefined'`.
* This leads to a problem when axios post `FormData` in webWorker
*/
const hasStandardBrowserWebWorkerEnv = (() => {
	return typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope && typeof self.importScripts === "function";
})();
const origin = hasBrowserEnv && window.location.href || "http://localhost";

//#endregion
//#region ../node_modules/axios/lib/platform/index.js
var platform_default = {
	...utils_exports,
	...node_default$1
};

//#endregion
//#region ../node_modules/axios/lib/helpers/toURLEncodedForm.js
function toURLEncodedForm(data, options) {
	return toFormData$1(data, new platform_default.classes.URLSearchParams(), {
		visitor: function(value, key, path, helpers) {
			if (platform_default.isNode && utils_default.isBuffer(value)) {
				this.append(key, value.toString("base64"));
				return false;
			}
			return helpers.defaultVisitor.apply(this, arguments);
		},
		...options
	});
}

//#endregion
//#region ../node_modules/axios/lib/helpers/formDataToJSON.js
/**
* It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']
*
* @param {string} name - The name of the property to get.
*
* @returns An array of strings.
*/
function parsePropPath(name) {
	return utils_default.matchAll(/\w+|\[(\w*)]/g, name).map((match) => {
		return match[0] === "[]" ? "" : match[1] || match[0];
	});
}
/**
* Convert an array to an object.
*
* @param {Array<any>} arr - The array to convert to an object.
*
* @returns An object with the same keys and values as the array.
*/
function arrayToObject(arr) {
	const obj = {};
	const keys = Object.keys(arr);
	let i;
	const len = keys.length;
	let key;
	for (i = 0; i < len; i++) {
		key = keys[i];
		obj[key] = arr[key];
	}
	return obj;
}
/**
* It takes a FormData object and returns a JavaScript object
*
* @param {string} formData The FormData object to convert to JSON.
*
* @returns {Object<string, any> | null} The converted object.
*/
function formDataToJSON(formData) {
	function buildPath(path, value, target, index) {
		let name = path[index++];
		if (name === "__proto__") return true;
		const isNumericKey = Number.isFinite(+name);
		const isLast = index >= path.length;
		name = !name && utils_default.isArray(target) ? target.length : name;
		if (isLast) {
			if (utils_default.hasOwnProp(target, name)) {
				target[name] = [target[name], value];
			} else {
				target[name] = value;
			}
			return !isNumericKey;
		}
		if (!target[name] || !utils_default.isObject(target[name])) {
			target[name] = [];
		}
		const result = buildPath(path, value, target[name], index);
		if (result && utils_default.isArray(target[name])) {
			target[name] = arrayToObject(target[name]);
		}
		return !isNumericKey;
	}
	if (utils_default.isFormData(formData) && utils_default.isFunction(formData.entries)) {
		const obj = {};
		utils_default.forEachEntry(formData, (name, value) => {
			buildPath(parsePropPath(name), value, obj, 0);
		});
		return obj;
	}
	return null;
}

//#endregion
//#region ../node_modules/axios/lib/defaults/index.js
/**
* It takes a string, tries to parse it, and if it fails, it returns the stringified version
* of the input
*
* @param {any} rawValue - The value to be stringified.
* @param {Function} parser - A function that parses a string into a JavaScript object.
* @param {Function} encoder - A function that takes a value and returns a string.
*
* @returns {string} A stringified version of the rawValue.
*/
function stringifySafely(rawValue, parser, encoder) {
	if (utils_default.isString(rawValue)) {
		try {
			(parser || JSON.parse)(rawValue);
			return utils_default.trim(rawValue);
		} catch (e) {
			if (e.name !== "SyntaxError") {
				throw e;
			}
		}
	}
	return (encoder || JSON.stringify)(rawValue);
}
const defaults$1 = {
	transitional: transitional_default,
	adapter: [
		"xhr",
		"http",
		"fetch"
	],
	transformRequest: [function transformRequest(data, headers) {
		const contentType = headers.getContentType() || "";
		const hasJSONContentType = contentType.indexOf("application/json") > -1;
		const isObjectPayload = utils_default.isObject(data);
		if (isObjectPayload && utils_default.isHTMLForm(data)) {
			data = new FormData(data);
		}
		const isFormData = utils_default.isFormData(data);
		if (isFormData) {
			return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;
		}
		if (utils_default.isArrayBuffer(data) || utils_default.isBuffer(data) || utils_default.isStream(data) || utils_default.isFile(data) || utils_default.isBlob(data) || utils_default.isReadableStream(data)) {
			return data;
		}
		if (utils_default.isArrayBufferView(data)) {
			return data.buffer;
		}
		if (utils_default.isURLSearchParams(data)) {
			headers.setContentType("application/x-www-form-urlencoded;charset=utf-8", false);
			return data.toString();
		}
		let isFileList;
		if (isObjectPayload) {
			if (contentType.indexOf("application/x-www-form-urlencoded") > -1) {
				return toURLEncodedForm(data, this.formSerializer).toString();
			}
			if ((isFileList = utils_default.isFileList(data)) || contentType.indexOf("multipart/form-data") > -1) {
				const _FormData = this.env && this.env.FormData;
				return toFormData$1(isFileList ? { "files[]": data } : data, _FormData && new _FormData(), this.formSerializer);
			}
		}
		if (isObjectPayload || hasJSONContentType) {
			headers.setContentType("application/json", false);
			return stringifySafely(data);
		}
		return data;
	}],
	transformResponse: [function transformResponse(data) {
		const transitional = this.transitional || defaults$1.transitional;
		const forcedJSONParsing = transitional && transitional.forcedJSONParsing;
		const JSONRequested = this.responseType === "json";
		if (utils_default.isResponse(data) || utils_default.isReadableStream(data)) {
			return data;
		}
		if (data && utils_default.isString(data) && (forcedJSONParsing && !this.responseType || JSONRequested)) {
			const silentJSONParsing = transitional && transitional.silentJSONParsing;
			const strictJSONParsing = !silentJSONParsing && JSONRequested;
			try {
				return JSON.parse(data, this.parseReviver);
			} catch (e) {
				if (strictJSONParsing) {
					if (e.name === "SyntaxError") {
						throw AxiosError$1.from(e, AxiosError$1.ERR_BAD_RESPONSE, this, null, this.response);
					}
					throw e;
				}
			}
		}
		return data;
	}],
	timeout: 0,
	xsrfCookieName: "XSRF-TOKEN",
	xsrfHeaderName: "X-XSRF-TOKEN",
	maxContentLength: -1,
	maxBodyLength: -1,
	env: {
		FormData: platform_default.classes.FormData,
		Blob: platform_default.classes.Blob
	},
	validateStatus: function validateStatus(status) {
		return status >= 200 && status < 300;
	},
	headers: { common: {
		"Accept": "application/json, text/plain, */*",
		"Content-Type": undefined
	} }
};
utils_default.forEach([
	"delete",
	"get",
	"head",
	"post",
	"put",
	"patch"
], (method) => {
	defaults$1.headers[method] = {};
});

//#endregion
//#region ../node_modules/axios/lib/helpers/parseHeaders.js
const ignoreDuplicateOf = utils_default.toObjectSet([
	"age",
	"authorization",
	"content-length",
	"content-type",
	"etag",
	"expires",
	"from",
	"host",
	"if-modified-since",
	"if-unmodified-since",
	"last-modified",
	"location",
	"max-forwards",
	"proxy-authorization",
	"referer",
	"retry-after",
	"user-agent"
]);
/**
* Parse headers into an object
*
* ```
* Date: Wed, 27 Aug 2014 08:58:49 GMT
* Content-Type: application/json
* Connection: keep-alive
* Transfer-Encoding: chunked
* ```
*
* @param {String} rawHeaders Headers needing to be parsed
*
* @returns {Object} Headers parsed into an object
*/
var parseHeaders_default = (rawHeaders) => {
	const parsed = {};
	let key;
	let val;
	let i;
	rawHeaders && rawHeaders.split("\n").forEach(function parser(line) {
		i = line.indexOf(":");
		key = line.substring(0, i).trim().toLowerCase();
		val = line.substring(i + 1).trim();
		if (!key || parsed[key] && ignoreDuplicateOf[key]) {
			return;
		}
		if (key === "set-cookie") {
			if (parsed[key]) {
				parsed[key].push(val);
			} else {
				parsed[key] = [val];
			}
		} else {
			parsed[key] = parsed[key] ? parsed[key] + ", " + val : val;
		}
	});
	return parsed;
};

//#endregion
//#region ../node_modules/axios/lib/core/AxiosHeaders.js
const $internals = Symbol("internals");
function normalizeHeader(header) {
	return header && String(header).trim().toLowerCase();
}
function normalizeValue(value) {
	if (value === false || value == null) {
		return value;
	}
	return utils_default.isArray(value) ? value.map(normalizeValue) : String(value);
}
function parseTokens(str) {
	const tokens = Object.create(null);
	const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
	let match;
	while (match = tokensRE.exec(str)) {
		tokens[match[1]] = match[2];
	}
	return tokens;
}
const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());
function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {
	if (utils_default.isFunction(filter)) {
		return filter.call(this, value, header);
	}
	if (isHeaderNameFilter) {
		value = header;
	}
	if (!utils_default.isString(value)) return;
	if (utils_default.isString(filter)) {
		return value.indexOf(filter) !== -1;
	}
	if (utils_default.isRegExp(filter)) {
		return filter.test(value);
	}
}
function formatHeader(header) {
	return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => {
		return char.toUpperCase() + str;
	});
}
function buildAccessors(obj, header) {
	const accessorName = utils_default.toCamelCase(" " + header);
	[
		"get",
		"set",
		"has"
	].forEach((methodName) => {
		Object.defineProperty(obj, methodName + accessorName, {
			value: function(arg1, arg2, arg3) {
				return this[methodName].call(this, header, arg1, arg2, arg3);
			},
			configurable: true
		});
	});
}
var AxiosHeaders$1 = class {
	constructor(headers) {
		headers && this.set(headers);
	}
	set(header, valueOrRewrite, rewrite) {
		const self = this;
		function setHeader(_value, _header, _rewrite) {
			const lHeader = normalizeHeader(_header);
			if (!lHeader) {
				throw new Error("header name must be a non-empty string");
			}
			const key = utils_default.findKey(self, lHeader);
			if (!key || self[key] === undefined || _rewrite === true || _rewrite === undefined && self[key] !== false) {
				self[key || _header] = normalizeValue(_value);
			}
		}
		const setHeaders = (headers, _rewrite) => utils_default.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));
		if (utils_default.isPlainObject(header) || header instanceof this.constructor) {
			setHeaders(header, valueOrRewrite);
		} else if (utils_default.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {
			setHeaders(parseHeaders_default(header), valueOrRewrite);
		} else if (utils_default.isObject(header) && utils_default.isIterable(header)) {
			let obj = {}, dest, key;
			for (const entry of header) {
				if (!utils_default.isArray(entry)) {
					throw TypeError("Object iterator must return a key-value pair");
				}
				obj[key = entry[0]] = (dest = obj[key]) ? utils_default.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]] : entry[1];
			}
			setHeaders(obj, valueOrRewrite);
		} else {
			header != null && setHeader(valueOrRewrite, header, rewrite);
		}
		return this;
	}
	get(header, parser) {
		header = normalizeHeader(header);
		if (header) {
			const key = utils_default.findKey(this, header);
			if (key) {
				const value = this[key];
				if (!parser) {
					return value;
				}
				if (parser === true) {
					return parseTokens(value);
				}
				if (utils_default.isFunction(parser)) {
					return parser.call(this, value, key);
				}
				if (utils_default.isRegExp(parser)) {
					return parser.exec(value);
				}
				throw new TypeError("parser must be boolean|regexp|function");
			}
		}
	}
	has(header, matcher) {
		header = normalizeHeader(header);
		if (header) {
			const key = utils_default.findKey(this, header);
			return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));
		}
		return false;
	}
	delete(header, matcher) {
		const self = this;
		let deleted = false;
		function deleteHeader(_header) {
			_header = normalizeHeader(_header);
			if (_header) {
				const key = utils_default.findKey(self, _header);
				if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {
					delete self[key];
					deleted = true;
				}
			}
		}
		if (utils_default.isArray(header)) {
			header.forEach(deleteHeader);
		} else {
			deleteHeader(header);
		}
		return deleted;
	}
	clear(matcher) {
		const keys = Object.keys(this);
		let i = keys.length;
		let deleted = false;
		while (i--) {
			const key = keys[i];
			if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {
				delete this[key];
				deleted = true;
			}
		}
		return deleted;
	}
	normalize(format) {
		const self = this;
		const headers = {};
		utils_default.forEach(this, (value, header) => {
			const key = utils_default.findKey(headers, header);
			if (key) {
				self[key] = normalizeValue(value);
				delete self[header];
				return;
			}
			const normalized = format ? formatHeader(header) : String(header).trim();
			if (normalized !== header) {
				delete self[header];
			}
			self[normalized] = normalizeValue(value);
			headers[normalized] = true;
		});
		return this;
	}
	concat(...targets) {
		return this.constructor.concat(this, ...targets);
	}
	toJSON(asStrings) {
		const obj = Object.create(null);
		utils_default.forEach(this, (value, header) => {
			value != null && value !== false && (obj[header] = asStrings && utils_default.isArray(value) ? value.join(", ") : value);
		});
		return obj;
	}
	[Symbol.iterator]() {
		return Object.entries(this.toJSON())[Symbol.iterator]();
	}
	toString() {
		return Object.entries(this.toJSON()).map(([header, value]) => header + ": " + value).join("\n");
	}
	getSetCookie() {
		return this.get("set-cookie") || [];
	}
	get [Symbol.toStringTag]() {
		return "AxiosHeaders";
	}
	static from(thing) {
		return thing instanceof this ? thing : new this(thing);
	}
	static concat(first, ...targets) {
		const computed = new this(first);
		targets.forEach((target) => computed.set(target));
		return computed;
	}
	static accessor(header) {
		const internals = this[$internals] = this[$internals] = { accessors: {} };
		const accessors = internals.accessors;
		const prototype = this.prototype;
		function defineAccessor(_header) {
			const lHeader = normalizeHeader(_header);
			if (!accessors[lHeader]) {
				buildAccessors(prototype, _header);
				accessors[lHeader] = true;
			}
		}
		utils_default.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);
		return this;
	}
};
AxiosHeaders$1.accessor([
	"Content-Type",
	"Content-Length",
	"Accept",
	"Accept-Encoding",
	"User-Agent",
	"Authorization"
]);
utils_default.reduceDescriptors(AxiosHeaders$1.prototype, ({ value }, key) => {
	let mapped = key[0].toUpperCase() + key.slice(1);
	return {
		get: () => value,
		set(headerValue) {
			this[mapped] = headerValue;
		}
	};
});
utils_default.freezeMethods(AxiosHeaders$1);

//#endregion
//#region ../node_modules/axios/lib/core/transformData.js
/**
* Transform the data for a request or a response
*
* @param {Array|Function} fns A single function or Array of functions
* @param {?Object} response The response object
*
* @returns {*} The resulting transformed data
*/
function transformData(fns, response) {
	const config = this || defaults$1;
	const context = response || config;
	const headers = AxiosHeaders$1.from(context.headers);
	let data = context.data;
	utils_default.forEach(fns, function transform(fn) {
		data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);
	});
	headers.normalize();
	return data;
}

//#endregion
//#region ../node_modules/axios/lib/cancel/isCancel.js
function isCancel$1(value) {
	return !!(value && value.__CANCEL__);
}

//#endregion
//#region ../node_modules/axios/lib/cancel/CanceledError.js
/**
* A `CanceledError` is an object that is thrown when an operation is canceled.
*
* @param {string=} message The message.
* @param {Object=} config The config.
* @param {Object=} request The request.
*
* @returns {CanceledError} The created error.
*/
function CanceledError$1(message, config, request) {
	AxiosError$1.call(this, message == null ? "canceled" : message, AxiosError$1.ERR_CANCELED, config, request);
	this.name = "CanceledError";
}
utils_default.inherits(CanceledError$1, AxiosError$1, { __CANCEL__: true });

//#endregion
//#region ../node_modules/axios/lib/core/settle.js
/**
* Resolve or reject a Promise based on response status.
*
* @param {Function} resolve A function that resolves the promise.
* @param {Function} reject A function that rejects the promise.
* @param {object} response The response.
*
* @returns {object} The response.
*/
function settle(resolve, reject, response) {
	const validateStatus = response.config.validateStatus;
	if (!response.status || !validateStatus || validateStatus(response.status)) {
		resolve(response);
	} else {
		reject(new AxiosError$1("Request failed with status code " + response.status, [AxiosError$1.ERR_BAD_REQUEST, AxiosError$1.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], response.config, response.request, response));
	}
}

//#endregion
//#region ../node_modules/axios/lib/helpers/isAbsoluteURL.js
/**
* Determines whether the specified URL is absolute
*
* @param {string} url The URL to test
*
* @returns {boolean} True if the specified URL is absolute, otherwise false
*/
function isAbsoluteURL(url) {
	return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url);
}

//#endregion
//#region ../node_modules/axios/lib/helpers/combineURLs.js
/**
* Creates a new URL by combining the specified URLs
*
* @param {string} baseURL The base URL
* @param {string} relativeURL The relative URL
*
* @returns {string} The combined URL
*/
function combineURLs(baseURL, relativeURL) {
	return relativeURL ? baseURL.replace(/\/?\/$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL;
}

//#endregion
//#region ../node_modules/axios/lib/core/buildFullPath.js
/**
* Creates a new URL by combining the baseURL with the requestedURL,
* only when the requestedURL is not already an absolute URL.
* If the requestURL is absolute, this function returns the requestedURL untouched.
*
* @param {string} baseURL The base URL
* @param {string} requestedURL Absolute or relative URL to combine
*
* @returns {string} The combined full path
*/
function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {
	let isRelativeUrl = !isAbsoluteURL(requestedURL);
	if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {
		return combineURLs(baseURL, requestedURL);
	}
	return requestedURL;
}

//#endregion
//#region ../node_modules/proxy-from-env/index.js
var require_proxy_from_env = /* @__PURE__ */ __commonJSMin(((exports) => {
	var parseUrl = __require("url").parse;
	var DEFAULT_PORTS = {
		ftp: 21,
		gopher: 70,
		http: 80,
		https: 443,
		ws: 80,
		wss: 443
	};
	var stringEndsWith = String.prototype.endsWith || function(s) {
		return s.length <= this.length && this.indexOf(s, this.length - s.length) !== -1;
	};
	/**
	* @param {string|object} url - The URL, or the result from url.parse.
	* @return {string} The URL of the proxy that should handle the request to the
	*  given URL. If no proxy is set, this will be an empty string.
	*/
	function getProxyForUrl(url) {
		var parsedUrl = typeof url === "string" ? parseUrl(url) : url || {};
		var proto = parsedUrl.protocol;
		var hostname = parsedUrl.host;
		var port = parsedUrl.port;
		if (typeof hostname !== "string" || !hostname || typeof proto !== "string") {
			return "";
		}
		proto = proto.split(":", 1)[0];
		hostname = hostname.replace(/:\d*$/, "");
		port = parseInt(port) || DEFAULT_PORTS[proto] || 0;
		if (!shouldProxy(hostname, port)) {
			return "";
		}
		var proxy = getEnv("npm_config_" + proto + "_proxy") || getEnv(proto + "_proxy") || getEnv("npm_config_proxy") || getEnv("all_proxy");
		if (proxy && proxy.indexOf("://") === -1) {
			proxy = proto + "://" + proxy;
		}
		return proxy;
	}
	/**
	* Determines whether a given URL should be proxied.
	*
	* @param {string} hostname - The host name of the URL.
	* @param {number} port - The effective port of the URL.
	* @returns {boolean} Whether the given URL should be proxied.
	* @private
	*/
	function shouldProxy(hostname, port) {
		var NO_PROXY = (getEnv("npm_config_no_proxy") || getEnv("no_proxy")).toLowerCase();
		if (!NO_PROXY) {
			return true;
		}
		if (NO_PROXY === "*") {
			return false;
		}
		return NO_PROXY.split(/[,\s]/).every(function(proxy) {
			if (!proxy) {
				return true;
			}
			var parsedProxy = proxy.match(/^(.+):(\d+)$/);
			var parsedProxyHostname = parsedProxy ? parsedProxy[1] : proxy;
			var parsedProxyPort = parsedProxy ? parseInt(parsedProxy[2]) : 0;
			if (parsedProxyPort && parsedProxyPort !== port) {
				return true;
			}
			if (!/^[.*]/.test(parsedProxyHostname)) {
				return hostname !== parsedProxyHostname;
			}
			if (parsedProxyHostname.charAt(0) === "*") {
				parsedProxyHostname = parsedProxyHostname.slice(1);
			}
			return !stringEndsWith.call(hostname, parsedProxyHostname);
		});
	}
	/**
	* Get the value for an environment variable.
	*
	* @param {string} key - The name of the environment variable.
	* @return {string} The value of the environment variable.
	* @private
	*/
	function getEnv(key) {
		return process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || "";
	}
	exports.getProxyForUrl = getProxyForUrl;
}));

//#endregion
//#region ../node_modules/ms/index.js
var require_ms = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Helpers.
	*/
	var s = 1e3;
	var m = s * 60;
	var h = m * 60;
	var d = h * 24;
	var w = d * 7;
	var y = d * 365.25;
	/**
	* Parse or format the given `val`.
	*
	* Options:
	*
	*  - `long` verbose formatting [false]
	*
	* @param {String|Number} val
	* @param {Object} [options]
	* @throws {Error} throw an error if val is not a non-empty string or a number
	* @return {String|Number}
	* @api public
	*/
	module.exports = function(val, options) {
		options = options || {};
		var type = typeof val;
		if (type === "string" && val.length > 0) {
			return parse(val);
		} else if (type === "number" && isFinite(val)) {
			return options.long ? fmtLong(val) : fmtShort(val);
		}
		throw new Error("val is not a non-empty string or a valid number. val=" + JSON.stringify(val));
	};
	/**
	* Parse the given `str` and return milliseconds.
	*
	* @param {String} str
	* @return {Number}
	* @api private
	*/
	function parse(str) {
		str = String(str);
		if (str.length > 100) {
			return;
		}
		var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);
		if (!match) {
			return;
		}
		var n = parseFloat(match[1]);
		var type = (match[2] || "ms").toLowerCase();
		switch (type) {
			case "years":
			case "year":
			case "yrs":
			case "yr":
			case "y": return n * y;
			case "weeks":
			case "week":
			case "w": return n * w;
			case "days":
			case "day":
			case "d": return n * d;
			case "hours":
			case "hour":
			case "hrs":
			case "hr":
			case "h": return n * h;
			case "minutes":
			case "minute":
			case "mins":
			case "min":
			case "m": return n * m;
			case "seconds":
			case "second":
			case "secs":
			case "sec":
			case "s": return n * s;
			case "milliseconds":
			case "millisecond":
			case "msecs":
			case "msec":
			case "ms": return n;
			default: return undefined;
		}
	}
	/**
	* Short format for `ms`.
	*
	* @param {Number} ms
	* @return {String}
	* @api private
	*/
	function fmtShort(ms) {
		var msAbs = Math.abs(ms);
		if (msAbs >= d) {
			return Math.round(ms / d) + "d";
		}
		if (msAbs >= h) {
			return Math.round(ms / h) + "h";
		}
		if (msAbs >= m) {
			return Math.round(ms / m) + "m";
		}
		if (msAbs >= s) {
			return Math.round(ms / s) + "s";
		}
		return ms + "ms";
	}
	/**
	* Long format for `ms`.
	*
	* @param {Number} ms
	* @return {String}
	* @api private
	*/
	function fmtLong(ms) {
		var msAbs = Math.abs(ms);
		if (msAbs >= d) {
			return plural(ms, msAbs, d, "day");
		}
		if (msAbs >= h) {
			return plural(ms, msAbs, h, "hour");
		}
		if (msAbs >= m) {
			return plural(ms, msAbs, m, "minute");
		}
		if (msAbs >= s) {
			return plural(ms, msAbs, s, "second");
		}
		return ms + " ms";
	}
	/**
	* Pluralization helper.
	*/
	function plural(ms, msAbs, n, name) {
		var isPlural = msAbs >= n * 1.5;
		return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
	}
}));

//#endregion
//#region ../node_modules/debug/src/common.js
var require_common = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* This is the common logic for both the Node.js and web browser
	* implementations of `debug()`.
	*/
	function setup(env) {
		createDebug.debug = createDebug;
		createDebug.default = createDebug;
		createDebug.coerce = coerce;
		createDebug.disable = disable;
		createDebug.enable = enable;
		createDebug.enabled = enabled;
		createDebug.humanize = require_ms();
		createDebug.destroy = destroy;
		Object.keys(env).forEach((key) => {
			createDebug[key] = env[key];
		});
		/**
		* The currently active debug mode names, and names to skip.
		*/
		createDebug.names = [];
		createDebug.skips = [];
		/**
		* Map of special "%n" handling functions, for the debug "format" argument.
		*
		* Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
		*/
		createDebug.formatters = {};
		/**
		* Selects a color for a debug namespace
		* @param {String} namespace The namespace string for the debug instance to be colored
		* @return {Number|String} An ANSI color code for the given namespace
		* @api private
		*/
		function selectColor(namespace) {
			let hash = 0;
			for (let i = 0; i < namespace.length; i++) {
				hash = (hash << 5) - hash + namespace.charCodeAt(i);
				hash |= 0;
			}
			return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
		}
		createDebug.selectColor = selectColor;
		/**
		* Create a debugger with the given `namespace`.
		*
		* @param {String} namespace
		* @return {Function}
		* @api public
		*/
		function createDebug(namespace) {
			let prevTime;
			let enableOverride = null;
			let namespacesCache;
			let enabledCache;
			function debug(...args) {
				if (!debug.enabled) {
					return;
				}
				const self = debug;
				const curr = Number(new Date());
				const ms = curr - (prevTime || curr);
				self.diff = ms;
				self.prev = prevTime;
				self.curr = curr;
				prevTime = curr;
				args[0] = createDebug.coerce(args[0]);
				if (typeof args[0] !== "string") {
					args.unshift("%O");
				}
				let index = 0;
				args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
					if (match === "%%") {
						return "%";
					}
					index++;
					const formatter = createDebug.formatters[format];
					if (typeof formatter === "function") {
						const val = args[index];
						match = formatter.call(self, val);
						args.splice(index, 1);
						index--;
					}
					return match;
				});
				createDebug.formatArgs.call(self, args);
				const logFn = self.log || createDebug.log;
				logFn.apply(self, args);
			}
			debug.namespace = namespace;
			debug.useColors = createDebug.useColors();
			debug.color = createDebug.selectColor(namespace);
			debug.extend = extend;
			debug.destroy = createDebug.destroy;
			Object.defineProperty(debug, "enabled", {
				enumerable: true,
				configurable: false,
				get: () => {
					if (enableOverride !== null) {
						return enableOverride;
					}
					if (namespacesCache !== createDebug.namespaces) {
						namespacesCache = createDebug.namespaces;
						enabledCache = createDebug.enabled(namespace);
					}
					return enabledCache;
				},
				set: (v) => {
					enableOverride = v;
				}
			});
			if (typeof createDebug.init === "function") {
				createDebug.init(debug);
			}
			return debug;
		}
		function extend(namespace, delimiter) {
			const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
			newDebug.log = this.log;
			return newDebug;
		}
		/**
		* Enables a debug mode by namespaces. This can include modes
		* separated by a colon and wildcards.
		*
		* @param {String} namespaces
		* @api public
		*/
		function enable(namespaces) {
			createDebug.save(namespaces);
			createDebug.namespaces = namespaces;
			createDebug.names = [];
			createDebug.skips = [];
			const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean);
			for (const ns of split) {
				if (ns[0] === "-") {
					createDebug.skips.push(ns.slice(1));
				} else {
					createDebug.names.push(ns);
				}
			}
		}
		/**
		* Checks if the given string matches a namespace template, honoring
		* asterisks as wildcards.
		*
		* @param {String} search
		* @param {String} template
		* @return {Boolean}
		*/
		function matchesTemplate(search, template) {
			let searchIndex = 0;
			let templateIndex = 0;
			let starIndex = -1;
			let matchIndex = 0;
			while (searchIndex < search.length) {
				if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === "*")) {
					if (template[templateIndex] === "*") {
						starIndex = templateIndex;
						matchIndex = searchIndex;
						templateIndex++;
					} else {
						searchIndex++;
						templateIndex++;
					}
				} else if (starIndex !== -1) {
					templateIndex = starIndex + 1;
					matchIndex++;
					searchIndex = matchIndex;
				} else {
					return false;
				}
			}
			while (templateIndex < template.length && template[templateIndex] === "*") {
				templateIndex++;
			}
			return templateIndex === template.length;
		}
		/**
		* Disable debug output.
		*
		* @return {String} namespaces
		* @api public
		*/
		function disable() {
			const namespaces = [...createDebug.names, ...createDebug.skips.map((namespace) => "-" + namespace)].join(",");
			createDebug.enable("");
			return namespaces;
		}
		/**
		* Returns true if the given mode name is enabled, false otherwise.
		*
		* @param {String} name
		* @return {Boolean}
		* @api public
		*/
		function enabled(name) {
			for (const skip of createDebug.skips) {
				if (matchesTemplate(name, skip)) {
					return false;
				}
			}
			for (const ns of createDebug.names) {
				if (matchesTemplate(name, ns)) {
					return true;
				}
			}
			return false;
		}
		/**
		* Coerce `val`.
		*
		* @param {Mixed} val
		* @return {Mixed}
		* @api private
		*/
		function coerce(val) {
			if (val instanceof Error) {
				return val.stack || val.message;
			}
			return val;
		}
		/**
		* XXX DO NOT USE. This is a temporary stub function.
		* XXX It WILL be removed in the next major release.
		*/
		function destroy() {
			console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
		}
		createDebug.enable(createDebug.load());
		return createDebug;
	}
	module.exports = setup;
}));

//#endregion
//#region ../node_modules/debug/src/browser.js
var require_browser = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* This is the web browser implementation of `debug()`.
	*/
	exports.formatArgs = formatArgs;
	exports.save = save;
	exports.load = load;
	exports.useColors = useColors;
	exports.storage = localstorage();
	exports.destroy = (() => {
		let warned = false;
		return () => {
			if (!warned) {
				warned = true;
				console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
			}
		};
	})();
	/**
	* Colors.
	*/
	exports.colors = [
		"#0000CC",
		"#0000FF",
		"#0033CC",
		"#0033FF",
		"#0066CC",
		"#0066FF",
		"#0099CC",
		"#0099FF",
		"#00CC00",
		"#00CC33",
		"#00CC66",
		"#00CC99",
		"#00CCCC",
		"#00CCFF",
		"#3300CC",
		"#3300FF",
		"#3333CC",
		"#3333FF",
		"#3366CC",
		"#3366FF",
		"#3399CC",
		"#3399FF",
		"#33CC00",
		"#33CC33",
		"#33CC66",
		"#33CC99",
		"#33CCCC",
		"#33CCFF",
		"#6600CC",
		"#6600FF",
		"#6633CC",
		"#6633FF",
		"#66CC00",
		"#66CC33",
		"#9900CC",
		"#9900FF",
		"#9933CC",
		"#9933FF",
		"#99CC00",
		"#99CC33",
		"#CC0000",
		"#CC0033",
		"#CC0066",
		"#CC0099",
		"#CC00CC",
		"#CC00FF",
		"#CC3300",
		"#CC3333",
		"#CC3366",
		"#CC3399",
		"#CC33CC",
		"#CC33FF",
		"#CC6600",
		"#CC6633",
		"#CC9900",
		"#CC9933",
		"#CCCC00",
		"#CCCC33",
		"#FF0000",
		"#FF0033",
		"#FF0066",
		"#FF0099",
		"#FF00CC",
		"#FF00FF",
		"#FF3300",
		"#FF3333",
		"#FF3366",
		"#FF3399",
		"#FF33CC",
		"#FF33FF",
		"#FF6600",
		"#FF6633",
		"#FF9900",
		"#FF9933",
		"#FFCC00",
		"#FFCC33"
	];
	/**
	* Currently only WebKit-based Web Inspectors, Firefox >= v31,
	* and the Firebug extension (any Firefox version) are known
	* to support "%c" CSS customizations.
	*
	* TODO: add a `localStorage` variable to explicitly enable/disable colors
	*/
	function useColors() {
		if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) {
			return true;
		}
		if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
			return false;
		}
		let m;
		return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || typeof navigator !== "undefined" && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31 || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
	}
	/**
	* Colorize log arguments if enabled.
	*
	* @api public
	*/
	function formatArgs(args) {
		args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module.exports.humanize(this.diff);
		if (!this.useColors) {
			return;
		}
		const c = "color: " + this.color;
		args.splice(1, 0, c, "color: inherit");
		let index = 0;
		let lastC = 0;
		args[0].replace(/%[a-zA-Z%]/g, (match) => {
			if (match === "%%") {
				return;
			}
			index++;
			if (match === "%c") {
				lastC = index;
			}
		});
		args.splice(lastC, 0, c);
	}
	/**
	* Invokes `console.debug()` when available.
	* No-op when `console.debug` is not a "function".
	* If `console.debug` is not available, falls back
	* to `console.log`.
	*
	* @api public
	*/
	exports.log = console.debug || console.log || (() => {});
	/**
	* Save `namespaces`.
	*
	* @param {String} namespaces
	* @api private
	*/
	function save(namespaces) {
		try {
			if (namespaces) {
				exports.storage.setItem("debug", namespaces);
			} else {
				exports.storage.removeItem("debug");
			}
		} catch (error) {}
	}
	/**
	* Load `namespaces`.
	*
	* @return {String} returns the previously persisted debug modes
	* @api private
	*/
	function load() {
		let r;
		try {
			r = exports.storage.getItem("debug") || exports.storage.getItem("DEBUG");
		} catch (error) {}
		if (!r && typeof process !== "undefined" && "env" in process) {
			r = process.env.DEBUG;
		}
		return r;
	}
	/**
	* Localstorage attempts to return the localstorage.
	*
	* This is necessary because safari throws
	* when a user disables cookies/localstorage
	* and you attempt to access it.
	*
	* @return {LocalStorage}
	* @api private
	*/
	function localstorage() {
		try {
			return localStorage;
		} catch (error) {}
	}
	module.exports = require_common()(exports);
	const { formatters } = module.exports;
	/**
	* Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
	*/
	formatters.j = function(v) {
		try {
			return JSON.stringify(v);
		} catch (error) {
			return "[UnexpectedJSONParseError]: " + error.message;
		}
	};
}));

//#endregion
//#region ../node_modules/supports-color/index.js
var supports_color_exports = /* @__PURE__ */ __exportAll({
	createSupportsColor: () => createSupportsColor,
	default: () => supportsColor
});
function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process$1.argv) {
	const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
	const position = argv.indexOf(prefix + flag);
	const terminatorPosition = argv.indexOf("--");
	return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
}
function envForceColor() {
	if (!("FORCE_COLOR" in env)) {
		return;
	}
	if (env.FORCE_COLOR === "true") {
		return 1;
	}
	if (env.FORCE_COLOR === "false") {
		return 0;
	}
	if (env.FORCE_COLOR.length === 0) {
		return 1;
	}
	const level = Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
	if (![
		0,
		1,
		2,
		3
	].includes(level)) {
		return;
	}
	return level;
}
function translateLevel(level) {
	if (level === 0) {
		return false;
	}
	return {
		level,
		hasBasic: true,
		has256: level >= 2,
		has16m: level >= 3
	};
}
function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
	const noFlagForceColor = envForceColor();
	if (noFlagForceColor !== undefined) {
		flagForceColor = noFlagForceColor;
	}
	const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
	if (forceColor === 0) {
		return 0;
	}
	if (sniffFlags) {
		if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
			return 3;
		}
		if (hasFlag("color=256")) {
			return 2;
		}
	}
	if ("TF_BUILD" in env && "AGENT_NAME" in env) {
		return 1;
	}
	if (haveStream && !streamIsTTY && forceColor === undefined) {
		return 0;
	}
	const min = forceColor || 0;
	if (env.TERM === "dumb") {
		return min;
	}
	if (process$1.platform === "win32") {
		const osRelease = os.release().split(".");
		if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
			return Number(osRelease[2]) >= 14931 ? 3 : 2;
		}
		return 1;
	}
	if ("CI" in env) {
		if ([
			"GITHUB_ACTIONS",
			"GITEA_ACTIONS",
			"CIRCLECI"
		].some((key) => key in env)) {
			return 3;
		}
		if ([
			"TRAVIS",
			"APPVEYOR",
			"GITLAB_CI",
			"BUILDKITE",
			"DRONE"
		].some((sign) => sign in env) || env.CI_NAME === "codeship") {
			return 1;
		}
		return min;
	}
	if ("TEAMCITY_VERSION" in env) {
		return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
	}
	if (env.COLORTERM === "truecolor") {
		return 3;
	}
	if (env.TERM === "xterm-kitty") {
		return 3;
	}
	if (env.TERM === "xterm-ghostty") {
		return 3;
	}
	if (env.TERM === "wezterm") {
		return 3;
	}
	if ("TERM_PROGRAM" in env) {
		const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
		switch (env.TERM_PROGRAM) {
			case "iTerm.app": {
				return version >= 3 ? 3 : 2;
			}
			case "Apple_Terminal": {
				return 2;
			}
		}
	}
	if (/-256(color)?$/i.test(env.TERM)) {
		return 2;
	}
	if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
		return 1;
	}
	if ("COLORTERM" in env) {
		return 1;
	}
	return min;
}
function createSupportsColor(stream, options = {}) {
	const level = _supportsColor(stream, {
		streamIsTTY: stream && stream.isTTY,
		...options
	});
	return translateLevel(level);
}
var env, flagForceColor, supportsColor;
var init_supports_color = __esmMin((() => {
	({env} = process$1);
	;
	if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
		flagForceColor = 0;
	} else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
		flagForceColor = 1;
	}
	supportsColor = {
		stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
		stderr: createSupportsColor({ isTTY: tty.isatty(2) })
	};
}));

//#endregion
//#region ../node_modules/debug/src/node.js
var require_node$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Module dependencies.
	*/
	const tty$1 = __require("tty");
	const util$9 = __require("util");
	/**
	* This is the Node.js implementation of `debug()`.
	*/
	exports.init = init;
	exports.log = log;
	exports.formatArgs = formatArgs;
	exports.save = save;
	exports.load = load;
	exports.useColors = useColors;
	exports.destroy = util$9.deprecate(() => {}, "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
	/**
	* Colors.
	*/
	exports.colors = [
		6,
		2,
		3,
		4,
		5,
		1
	];
	try {
		const supportsColor = (init_supports_color(), __toCommonJS(supports_color_exports));
		if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
			exports.colors = [
				20,
				21,
				26,
				27,
				32,
				33,
				38,
				39,
				40,
				41,
				42,
				43,
				44,
				45,
				56,
				57,
				62,
				63,
				68,
				69,
				74,
				75,
				76,
				77,
				78,
				79,
				80,
				81,
				92,
				93,
				98,
				99,
				112,
				113,
				128,
				129,
				134,
				135,
				148,
				149,
				160,
				161,
				162,
				163,
				164,
				165,
				166,
				167,
				168,
				169,
				170,
				171,
				172,
				173,
				178,
				179,
				184,
				185,
				196,
				197,
				198,
				199,
				200,
				201,
				202,
				203,
				204,
				205,
				206,
				207,
				208,
				209,
				214,
				215,
				220,
				221
			];
		}
	} catch (error) {}
	/**
	* Build up the default `inspectOpts` object from the environment variables.
	*
	*   $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js
	*/
	exports.inspectOpts = Object.keys(process.env).filter((key) => {
		return /^debug_/i.test(key);
	}).reduce((obj, key) => {
		const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => {
			return k.toUpperCase();
		});
		let val = process.env[key];
		if (/^(yes|on|true|enabled)$/i.test(val)) {
			val = true;
		} else if (/^(no|off|false|disabled)$/i.test(val)) {
			val = false;
		} else if (val === "null") {
			val = null;
		} else {
			val = Number(val);
		}
		obj[prop] = val;
		return obj;
	}, {});
	/**
	* Is stdout a TTY? Colored output is enabled when `true`.
	*/
	function useColors() {
		return "colors" in exports.inspectOpts ? Boolean(exports.inspectOpts.colors) : tty$1.isatty(process.stderr.fd);
	}
	/**
	* Adds ANSI color escape codes if enabled.
	*
	* @api public
	*/
	function formatArgs(args) {
		const { namespace: name, useColors } = this;
		if (useColors) {
			const c = this.color;
			const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c);
			const prefix = `  ${colorCode};1m${name} \u001B[0m`;
			args[0] = prefix + args[0].split("\n").join("\n" + prefix);
			args.push(colorCode + "m+" + module.exports.humanize(this.diff) + "\x1B[0m");
		} else {
			args[0] = getDate() + name + " " + args[0];
		}
	}
	function getDate() {
		if (exports.inspectOpts.hideDate) {
			return "";
		}
		return new Date().toISOString() + " ";
	}
	/**
	* Invokes `util.formatWithOptions()` with the specified arguments and writes to stderr.
	*/
	function log(...args) {
		return process.stderr.write(util$9.formatWithOptions(exports.inspectOpts, ...args) + "\n");
	}
	/**
	* Save `namespaces`.
	*
	* @param {String} namespaces
	* @api private
	*/
	function save(namespaces) {
		if (namespaces) {
			process.env.DEBUG = namespaces;
		} else {
			delete process.env.DEBUG;
		}
	}
	/**
	* Load `namespaces`.
	*
	* @return {String} returns the previously persisted debug modes
	* @api private
	*/
	function load() {
		return process.env.DEBUG;
	}
	/**
	* Init logic for `debug` instances.
	*
	* Create a new `inspectOpts` object in case `useColors` is set
	* differently for a particular `debug` instance.
	*/
	function init(debug) {
		debug.inspectOpts = {};
		const keys = Object.keys(exports.inspectOpts);
		for (let i = 0; i < keys.length; i++) {
			debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];
		}
	}
	module.exports = require_common()(exports);
	const { formatters } = module.exports;
	/**
	* Map %o to `util.inspect()`, all on a single line.
	*/
	formatters.o = function(v) {
		this.inspectOpts.colors = this.useColors;
		return util$9.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" ");
	};
	/**
	* Map %O to `util.inspect()`, allowing multiple lines if needed.
	*/
	formatters.O = function(v) {
		this.inspectOpts.colors = this.useColors;
		return util$9.inspect(v, this.inspectOpts);
	};
}));

//#endregion
//#region ../node_modules/debug/src/index.js
var require_src = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Detect Electron renderer / nwjs process, which is node, but we should
	* treat as a browser.
	*/
	if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
		module.exports = require_browser();
	} else {
		module.exports = require_node$1();
	}
}));

//#endregion
//#region ../node_modules/follow-redirects/debug.js
var require_debug$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var debug;
	module.exports = function() {
		if (!debug) {
			try {
				debug = require_src()("follow-redirects");
			} catch (error) {}
			if (typeof debug !== "function") {
				debug = function() {};
			}
		}
		debug.apply(null, arguments);
	};
}));

//#endregion
//#region ../node_modules/follow-redirects/index.js
var require_follow_redirects = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var url$1 = __require("url");
	var URL = url$1.URL;
	var http$9 = __require("http");
	var https$4 = __require("https");
	var Writable$6 = __require("stream").Writable;
	var assert$44 = __require("assert");
	var debug = require_debug$2();
	// istanbul ignore next
	(function detectUnsupportedEnvironment() {
		var looksLikeNode = typeof process !== "undefined";
		var looksLikeBrowser = typeof window !== "undefined" && typeof document !== "undefined";
		var looksLikeV8 = isFunction(Error.captureStackTrace);
		if (!looksLikeNode && (looksLikeBrowser || !looksLikeV8)) {
			console.warn("The follow-redirects package should be excluded from browser builds.");
		}
	})();
	var useNativeURL = false;
	try {
		assert$44(new URL(""));
	} catch (error) {
		useNativeURL = error.code === "ERR_INVALID_URL";
	}
	var preservedUrlFields = [
		"auth",
		"host",
		"hostname",
		"href",
		"path",
		"pathname",
		"port",
		"protocol",
		"query",
		"search",
		"hash"
	];
	var events = [
		"abort",
		"aborted",
		"connect",
		"error",
		"socket",
		"timeout"
	];
	var eventHandlers = Object.create(null);
	events.forEach(function(event) {
		eventHandlers[event] = function(arg1, arg2, arg3) {
			this._redirectable.emit(event, arg1, arg2, arg3);
		};
	});
	var InvalidUrlError = createErrorType("ERR_INVALID_URL", "Invalid URL", TypeError);
	var RedirectionError = createErrorType("ERR_FR_REDIRECTION_FAILURE", "Redirected request failed");
	var TooManyRedirectsError = createErrorType("ERR_FR_TOO_MANY_REDIRECTS", "Maximum number of redirects exceeded", RedirectionError);
	var MaxBodyLengthExceededError = createErrorType("ERR_FR_MAX_BODY_LENGTH_EXCEEDED", "Request body larger than maxBodyLength limit");
	var WriteAfterEndError = createErrorType("ERR_STREAM_WRITE_AFTER_END", "write after end");
	// istanbul ignore next
	var destroy = Writable$6.prototype.destroy || noop;
	function RedirectableRequest(options, responseCallback) {
		Writable$6.call(this);
		this._sanitizeOptions(options);
		this._options = options;
		this._ended = false;
		this._ending = false;
		this._redirectCount = 0;
		this._redirects = [];
		this._requestBodyLength = 0;
		this._requestBodyBuffers = [];
		if (responseCallback) {
			this.on("response", responseCallback);
		}
		var self = this;
		this._onNativeResponse = function(response) {
			try {
				self._processResponse(response);
			} catch (cause) {
				self.emit("error", cause instanceof RedirectionError ? cause : new RedirectionError({ cause }));
			}
		};
		this._performRequest();
	}
	RedirectableRequest.prototype = Object.create(Writable$6.prototype);
	RedirectableRequest.prototype.abort = function() {
		destroyRequest(this._currentRequest);
		this._currentRequest.abort();
		this.emit("abort");
	};
	RedirectableRequest.prototype.destroy = function(error) {
		destroyRequest(this._currentRequest, error);
		destroy.call(this, error);
		return this;
	};
	RedirectableRequest.prototype.write = function(data, encoding, callback) {
		if (this._ending) {
			throw new WriteAfterEndError();
		}
		if (!isString(data) && !isBuffer(data)) {
			throw new TypeError("data should be a string, Buffer or Uint8Array");
		}
		if (isFunction(encoding)) {
			callback = encoding;
			encoding = null;
		}
		if (data.length === 0) {
			if (callback) {
				callback();
			}
			return;
		}
		if (this._requestBodyLength + data.length <= this._options.maxBodyLength) {
			this._requestBodyLength += data.length;
			this._requestBodyBuffers.push({
				data,
				encoding
			});
			this._currentRequest.write(data, encoding, callback);
		} else {
			this.emit("error", new MaxBodyLengthExceededError());
			this.abort();
		}
	};
	RedirectableRequest.prototype.end = function(data, encoding, callback) {
		if (isFunction(data)) {
			callback = data;
			data = encoding = null;
		} else if (isFunction(encoding)) {
			callback = encoding;
			encoding = null;
		}
		if (!data) {
			this._ended = this._ending = true;
			this._currentRequest.end(null, null, callback);
		} else {
			var self = this;
			var currentRequest = this._currentRequest;
			this.write(data, encoding, function() {
				self._ended = true;
				currentRequest.end(null, null, callback);
			});
			this._ending = true;
		}
	};
	RedirectableRequest.prototype.setHeader = function(name, value) {
		this._options.headers[name] = value;
		this._currentRequest.setHeader(name, value);
	};
	RedirectableRequest.prototype.removeHeader = function(name) {
		delete this._options.headers[name];
		this._currentRequest.removeHeader(name);
	};
	RedirectableRequest.prototype.setTimeout = function(msecs, callback) {
		var self = this;
		function destroyOnTimeout(socket) {
			socket.setTimeout(msecs);
			socket.removeListener("timeout", socket.destroy);
			socket.addListener("timeout", socket.destroy);
		}
		function startTimer(socket) {
			if (self._timeout) {
				clearTimeout(self._timeout);
			}
			self._timeout = setTimeout(function() {
				self.emit("timeout");
				clearTimer();
			}, msecs);
			destroyOnTimeout(socket);
		}
		function clearTimer() {
			if (self._timeout) {
				clearTimeout(self._timeout);
				self._timeout = null;
			}
			self.removeListener("abort", clearTimer);
			self.removeListener("error", clearTimer);
			self.removeListener("response", clearTimer);
			self.removeListener("close", clearTimer);
			if (callback) {
				self.removeListener("timeout", callback);
			}
			if (!self.socket) {
				self._currentRequest.removeListener("socket", startTimer);
			}
		}
		if (callback) {
			this.on("timeout", callback);
		}
		if (this.socket) {
			startTimer(this.socket);
		} else {
			this._currentRequest.once("socket", startTimer);
		}
		this.on("socket", destroyOnTimeout);
		this.on("abort", clearTimer);
		this.on("error", clearTimer);
		this.on("response", clearTimer);
		this.on("close", clearTimer);
		return this;
	};
	[
		"flushHeaders",
		"getHeader",
		"setNoDelay",
		"setSocketKeepAlive"
	].forEach(function(method) {
		RedirectableRequest.prototype[method] = function(a, b) {
			return this._currentRequest[method](a, b);
		};
	});
	[
		"aborted",
		"connection",
		"socket"
	].forEach(function(property) {
		Object.defineProperty(RedirectableRequest.prototype, property, { get: function() {
			return this._currentRequest[property];
		} });
	});
	RedirectableRequest.prototype._sanitizeOptions = function(options) {
		if (!options.headers) {
			options.headers = {};
		}
		if (options.host) {
			if (!options.hostname) {
				options.hostname = options.host;
			}
			delete options.host;
		}
		if (!options.pathname && options.path) {
			var searchPos = options.path.indexOf("?");
			if (searchPos < 0) {
				options.pathname = options.path;
			} else {
				options.pathname = options.path.substring(0, searchPos);
				options.search = options.path.substring(searchPos);
			}
		}
	};
	RedirectableRequest.prototype._performRequest = function() {
		var protocol = this._options.protocol;
		var nativeProtocol = this._options.nativeProtocols[protocol];
		if (!nativeProtocol) {
			throw new TypeError("Unsupported protocol " + protocol);
		}
		if (this._options.agents) {
			var scheme = protocol.slice(0, -1);
			this._options.agent = this._options.agents[scheme];
		}
		var request = this._currentRequest = nativeProtocol.request(this._options, this._onNativeResponse);
		request._redirectable = this;
		for (var event of events) {
			request.on(event, eventHandlers[event]);
		}
		this._currentUrl = /^\//.test(this._options.path) ? url$1.format(this._options) : this._options.path;
		if (this._isRedirect) {
			var i = 0;
			var self = this;
			var buffers = this._requestBodyBuffers;
			(function writeNext(error) {
				// istanbul ignore else
				if (request === self._currentRequest) {
					// istanbul ignore if
					if (error) {
						self.emit("error", error);
					} else if (i < buffers.length) {
						var buffer = buffers[i++];
						// istanbul ignore else
						if (!request.finished) {
							request.write(buffer.data, buffer.encoding, writeNext);
						}
					} else if (self._ended) {
						request.end();
					}
				}
			})();
		}
	};
	RedirectableRequest.prototype._processResponse = function(response) {
		var statusCode = response.statusCode;
		if (this._options.trackRedirects) {
			this._redirects.push({
				url: this._currentUrl,
				headers: response.headers,
				statusCode
			});
		}
		var location = response.headers.location;
		if (!location || this._options.followRedirects === false || statusCode < 300 || statusCode >= 400) {
			response.responseUrl = this._currentUrl;
			response.redirects = this._redirects;
			this.emit("response", response);
			this._requestBodyBuffers = [];
			return;
		}
		destroyRequest(this._currentRequest);
		response.destroy();
		if (++this._redirectCount > this._options.maxRedirects) {
			throw new TooManyRedirectsError();
		}
		var requestHeaders;
		var beforeRedirect = this._options.beforeRedirect;
		if (beforeRedirect) {
			requestHeaders = Object.assign({ Host: response.req.getHeader("host") }, this._options.headers);
		}
		var method = this._options.method;
		if ((statusCode === 301 || statusCode === 302) && this._options.method === "POST" || statusCode === 303 && !/^(?:GET|HEAD)$/.test(this._options.method)) {
			this._options.method = "GET";
			this._requestBodyBuffers = [];
			removeMatchingHeaders(/^content-/i, this._options.headers);
		}
		var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);
		var currentUrlParts = parseUrl(this._currentUrl);
		var currentHost = currentHostHeader || currentUrlParts.host;
		var currentUrl = /^\w+:/.test(location) ? this._currentUrl : url$1.format(Object.assign(currentUrlParts, { host: currentHost }));
		var redirectUrl = resolveUrl(location, currentUrl);
		debug("redirecting to", redirectUrl.href);
		this._isRedirect = true;
		spreadUrlObject(redirectUrl, this._options);
		if (redirectUrl.protocol !== currentUrlParts.protocol && redirectUrl.protocol !== "https:" || redirectUrl.host !== currentHost && !isSubdomain(redirectUrl.host, currentHost)) {
			removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers);
		}
		if (isFunction(beforeRedirect)) {
			var responseDetails = {
				headers: response.headers,
				statusCode
			};
			var requestDetails = {
				url: currentUrl,
				method,
				headers: requestHeaders
			};
			beforeRedirect(this._options, responseDetails, requestDetails);
			this._sanitizeOptions(this._options);
		}
		this._performRequest();
	};
	function wrap(protocols) {
		var exports$7 = {
			maxRedirects: 21,
			maxBodyLength: 10 * 1024 * 1024
		};
		var nativeProtocols = {};
		Object.keys(protocols).forEach(function(scheme) {
			var protocol = scheme + ":";
			var nativeProtocol = nativeProtocols[protocol] = protocols[scheme];
			var wrappedProtocol = exports$7[scheme] = Object.create(nativeProtocol);
			function request(input, options, callback) {
				if (isURL(input)) {
					input = spreadUrlObject(input);
				} else if (isString(input)) {
					input = spreadUrlObject(parseUrl(input));
				} else {
					callback = options;
					options = validateUrl(input);
					input = { protocol };
				}
				if (isFunction(options)) {
					callback = options;
					options = null;
				}
				options = Object.assign({
					maxRedirects: exports$7.maxRedirects,
					maxBodyLength: exports$7.maxBodyLength
				}, input, options);
				options.nativeProtocols = nativeProtocols;
				if (!isString(options.host) && !isString(options.hostname)) {
					options.hostname = "::1";
				}
				assert$44.equal(options.protocol, protocol, "protocol mismatch");
				debug("options", options);
				return new RedirectableRequest(options, callback);
			}
			function get(input, options, callback) {
				var wrappedRequest = wrappedProtocol.request(input, options, callback);
				wrappedRequest.end();
				return wrappedRequest;
			}
			Object.defineProperties(wrappedProtocol, {
				request: {
					value: request,
					configurable: true,
					enumerable: true,
					writable: true
				},
				get: {
					value: get,
					configurable: true,
					enumerable: true,
					writable: true
				}
			});
		});
		return exports$7;
	}
	function noop() {}
	function parseUrl(input) {
		var parsed;
		// istanbul ignore else
		if (useNativeURL) {
			parsed = new URL(input);
		} else {
			parsed = validateUrl(url$1.parse(input));
			if (!isString(parsed.protocol)) {
				throw new InvalidUrlError({ input });
			}
		}
		return parsed;
	}
	function resolveUrl(relative, base) {
		// istanbul ignore next
		return useNativeURL ? new URL(relative, base) : parseUrl(url$1.resolve(base, relative));
	}
	function validateUrl(input) {
		if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) {
			throw new InvalidUrlError({ input: input.href || input });
		}
		if (/^\[/.test(input.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host)) {
			throw new InvalidUrlError({ input: input.href || input });
		}
		return input;
	}
	function spreadUrlObject(urlObject, target) {
		var spread = target || {};
		for (var key of preservedUrlFields) {
			spread[key] = urlObject[key];
		}
		if (spread.hostname.startsWith("[")) {
			spread.hostname = spread.hostname.slice(1, -1);
		}
		if (spread.port !== "") {
			spread.port = Number(spread.port);
		}
		spread.path = spread.search ? spread.pathname + spread.search : spread.pathname;
		return spread;
	}
	function removeMatchingHeaders(regex, headers) {
		var lastValue;
		for (var header in headers) {
			if (regex.test(header)) {
				lastValue = headers[header];
				delete headers[header];
			}
		}
		return lastValue === null || typeof lastValue === "undefined" ? undefined : String(lastValue).trim();
	}
	function createErrorType(code, message, baseClass) {
		function CustomError(properties) {
			// istanbul ignore else
			if (isFunction(Error.captureStackTrace)) {
				Error.captureStackTrace(this, this.constructor);
			}
			Object.assign(this, properties || {});
			this.code = code;
			this.message = this.cause ? message + ": " + this.cause.message : message;
		}
		CustomError.prototype = new (baseClass || Error)();
		Object.defineProperties(CustomError.prototype, {
			constructor: {
				value: CustomError,
				enumerable: false
			},
			name: {
				value: "Error [" + code + "]",
				enumerable: false
			}
		});
		return CustomError;
	}
	function destroyRequest(request, error) {
		for (var event of events) {
			request.removeListener(event, eventHandlers[event]);
		}
		request.on("error", noop);
		request.destroy(error);
	}
	function isSubdomain(subdomain, domain) {
		assert$44(isString(subdomain) && isString(domain));
		var dot = subdomain.length - domain.length - 1;
		return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain);
	}
	function isString(value) {
		return typeof value === "string" || value instanceof String;
	}
	function isFunction(value) {
		return typeof value === "function";
	}
	function isBuffer(value) {
		return typeof value === "object" && "length" in value;
	}
	function isURL(value) {
		return URL && value instanceof URL;
	}
	module.exports = wrap({
		http: http$9,
		https: https$4
	});
	module.exports.wrap = wrap;
}));

//#endregion
//#region ../node_modules/axios/lib/env/data.js
var import_follow_redirects = /* @__PURE__ */ __toESM(require_follow_redirects(), 1);
var import_proxy_from_env = /* @__PURE__ */ __toESM(require_proxy_from_env(), 1);
const VERSION$2 = "1.12.2";

//#endregion
//#region ../node_modules/axios/lib/helpers/parseProtocol.js
function parseProtocol(url) {
	const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url);
	return match && match[1] || "";
}

//#endregion
//#region ../node_modules/axios/lib/helpers/fromDataURI.js
const DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;
/**
* Parse data uri to a Buffer or Blob
*
* @param {String} uri
* @param {?Boolean} asBlob
* @param {?Object} options
* @param {?Function} options.Blob
*
* @returns {Buffer|Blob}
*/
function fromDataURI(uri, asBlob, options) {
	const _Blob = options && options.Blob || platform_default.classes.Blob;
	const protocol = parseProtocol(uri);
	if (asBlob === undefined && _Blob) {
		asBlob = true;
	}
	if (protocol === "data") {
		uri = protocol.length ? uri.slice(protocol.length + 1) : uri;
		const match = DATA_URL_PATTERN.exec(uri);
		if (!match) {
			throw new AxiosError$1("Invalid URL", AxiosError$1.ERR_INVALID_URL);
		}
		const mime = match[1];
		const isBase64 = match[2];
		const body = match[3];
		const buffer = Buffer.from(decodeURIComponent(body), isBase64 ? "base64" : "utf8");
		if (asBlob) {
			if (!_Blob) {
				throw new AxiosError$1("Blob is not supported", AxiosError$1.ERR_NOT_SUPPORT);
			}
			return new _Blob([buffer], { type: mime });
		}
		return buffer;
	}
	throw new AxiosError$1("Unsupported protocol " + protocol, AxiosError$1.ERR_NOT_SUPPORT);
}

//#endregion
//#region ../node_modules/axios/lib/helpers/AxiosTransformStream.js
const kInternals = Symbol("internals");
var AxiosTransformStream = class extends stream.Transform {
	constructor(options) {
		options = utils_default.toFlatObject(options, {
			maxRate: 0,
			chunkSize: 64 * 1024,
			minChunkSize: 100,
			timeWindow: 500,
			ticksRate: 2,
			samplesCount: 15
		}, null, (prop, source) => {
			return !utils_default.isUndefined(source[prop]);
		});
		super({ readableHighWaterMark: options.chunkSize });
		const internals = this[kInternals] = {
			timeWindow: options.timeWindow,
			chunkSize: options.chunkSize,
			maxRate: options.maxRate,
			minChunkSize: options.minChunkSize,
			bytesSeen: 0,
			isCaptured: false,
			notifiedBytesLoaded: 0,
			ts: Date.now(),
			bytes: 0,
			onReadCallback: null
		};
		this.on("newListener", (event) => {
			if (event === "progress") {
				if (!internals.isCaptured) {
					internals.isCaptured = true;
				}
			}
		});
	}
	_read(size) {
		const internals = this[kInternals];
		if (internals.onReadCallback) {
			internals.onReadCallback();
		}
		return super._read(size);
	}
	_transform(chunk, encoding, callback) {
		const internals = this[kInternals];
		const maxRate = internals.maxRate;
		const readableHighWaterMark = this.readableHighWaterMark;
		const timeWindow = internals.timeWindow;
		const divider = 1e3 / timeWindow;
		const bytesThreshold = maxRate / divider;
		const minChunkSize = internals.minChunkSize !== false ? Math.max(internals.minChunkSize, bytesThreshold * .01) : 0;
		const pushChunk = (_chunk, _callback) => {
			const bytes = Buffer.byteLength(_chunk);
			internals.bytesSeen += bytes;
			internals.bytes += bytes;
			internals.isCaptured && this.emit("progress", internals.bytesSeen);
			if (this.push(_chunk)) {
				process.nextTick(_callback);
			} else {
				internals.onReadCallback = () => {
					internals.onReadCallback = null;
					process.nextTick(_callback);
				};
			}
		};
		const transformChunk = (_chunk, _callback) => {
			const chunkSize = Buffer.byteLength(_chunk);
			let chunkRemainder = null;
			let maxChunkSize = readableHighWaterMark;
			let bytesLeft;
			let passed = 0;
			if (maxRate) {
				const now = Date.now();
				if (!internals.ts || (passed = now - internals.ts) >= timeWindow) {
					internals.ts = now;
					bytesLeft = bytesThreshold - internals.bytes;
					internals.bytes = bytesLeft < 0 ? -bytesLeft : 0;
					passed = 0;
				}
				bytesLeft = bytesThreshold - internals.bytes;
			}
			if (maxRate) {
				if (bytesLeft <= 0) {
					return setTimeout(() => {
						_callback(null, _chunk);
					}, timeWindow - passed);
				}
				if (bytesLeft < maxChunkSize) {
					maxChunkSize = bytesLeft;
				}
			}
			if (maxChunkSize && chunkSize > maxChunkSize && chunkSize - maxChunkSize > minChunkSize) {
				chunkRemainder = _chunk.subarray(maxChunkSize);
				_chunk = _chunk.subarray(0, maxChunkSize);
			}
			pushChunk(_chunk, chunkRemainder ? () => {
				process.nextTick(_callback, null, chunkRemainder);
			} : _callback);
		};
		transformChunk(chunk, function transformNextChunk(err, _chunk) {
			if (err) {
				return callback(err);
			}
			if (_chunk) {
				transformChunk(_chunk, transformNextChunk);
			} else {
				callback(null);
			}
		});
	}
};

//#endregion
//#region ../node_modules/axios/lib/helpers/readBlob.js
const { asyncIterator } = Symbol;
const readBlob = async function* (blob) {
	if (blob.stream) {
		yield* blob.stream();
	} else if (blob.arrayBuffer) {
		yield await blob.arrayBuffer();
	} else if (blob[asyncIterator]) {
		yield* blob[asyncIterator]();
	} else {
		yield blob;
	}
};

//#endregion
//#region ../node_modules/axios/lib/helpers/formDataToStream.js
const BOUNDARY_ALPHABET = platform_default.ALPHABET.ALPHA_DIGIT + "-_";
const textEncoder = typeof TextEncoder === "function" ? new TextEncoder() : new util.TextEncoder();
const CRLF = "\r\n";
const CRLF_BYTES = textEncoder.encode(CRLF);
const CRLF_BYTES_COUNT = 2;
var FormDataPart = class {
	constructor(name, value) {
		const { escapeName } = this.constructor;
		const isStringValue = utils_default.isString(value);
		let headers = `Content-Disposition: form-data; name="${escapeName(name)}"${!isStringValue && value.name ? `; filename="${escapeName(value.name)}"` : ""}${CRLF}`;
		if (isStringValue) {
			value = textEncoder.encode(String(value).replace(/\r?\n|\r\n?/g, CRLF));
		} else {
			headers += `Content-Type: ${value.type || "application/octet-stream"}${CRLF}`;
		}
		this.headers = textEncoder.encode(headers + CRLF);
		this.contentLength = isStringValue ? value.byteLength : value.size;
		this.size = this.headers.byteLength + this.contentLength + CRLF_BYTES_COUNT;
		this.name = name;
		this.value = value;
	}
	async *encode() {
		yield this.headers;
		const { value } = this;
		if (utils_default.isTypedArray(value)) {
			yield value;
		} else {
			yield* readBlob(value);
		}
		yield CRLF_BYTES;
	}
	static escapeName(name) {
		return String(name).replace(/[\r\n"]/g, (match) => ({
			"\r": "%0D",
			"\n": "%0A",
			"\"": "%22"
		})[match]);
	}
};
const formDataToStream = (form, headersHandler, options) => {
	const { tag = "form-data-boundary", size = 25, boundary = tag + "-" + platform_default.generateString(size, BOUNDARY_ALPHABET) } = options || {};
	if (!utils_default.isFormData(form)) {
		throw TypeError("FormData instance required");
	}
	if (boundary.length < 1 || boundary.length > 70) {
		throw Error("boundary must be 10-70 characters long");
	}
	const boundaryBytes = textEncoder.encode("--" + boundary + CRLF);
	const footerBytes = textEncoder.encode("--" + boundary + "--" + CRLF);
	let contentLength = footerBytes.byteLength;
	const parts = Array.from(form.entries()).map(([name, value]) => {
		const part = new FormDataPart(name, value);
		contentLength += part.size;
		return part;
	});
	contentLength += boundaryBytes.byteLength * parts.length;
	contentLength = utils_default.toFiniteNumber(contentLength);
	const computedHeaders = { "Content-Type": `multipart/form-data; boundary=${boundary}` };
	if (Number.isFinite(contentLength)) {
		computedHeaders["Content-Length"] = contentLength;
	}
	headersHandler && headersHandler(computedHeaders);
	return Readable.from((async function* () {
		for (const part of parts) {
			yield boundaryBytes;
			yield* part.encode();
		}
		yield footerBytes;
	})());
};

//#endregion
//#region ../node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js
var ZlibHeaderTransformStream = class extends stream.Transform {
	__transform(chunk, encoding, callback) {
		this.push(chunk);
		callback();
	}
	_transform(chunk, encoding, callback) {
		if (chunk.length !== 0) {
			this._transform = this.__transform;
			if (chunk[0] !== 120) {
				const header = Buffer.alloc(2);
				header[0] = 120;
				header[1] = 156;
				this.push(header, encoding);
			}
		}
		this.__transform(chunk, encoding, callback);
	}
};

//#endregion
//#region ../node_modules/axios/lib/helpers/callbackify.js
const callbackify = (fn, reducer) => {
	return utils_default.isAsyncFn(fn) ? function(...args) {
		const cb = args.pop();
		fn.apply(this, args).then((value) => {
			try {
				reducer ? cb(null, ...reducer(value)) : cb(null, value);
			} catch (err) {
				cb(err);
			}
		}, cb);
	} : fn;
};

//#endregion
//#region ../node_modules/axios/lib/helpers/speedometer.js
/**
* Calculate data maxRate
* @param {Number} [samplesCount= 10]
* @param {Number} [min= 1000]
* @returns {Function}
*/
function speedometer(samplesCount, min) {
	samplesCount = samplesCount || 10;
	const bytes = new Array(samplesCount);
	const timestamps = new Array(samplesCount);
	let head = 0;
	let tail = 0;
	let firstSampleTS;
	min = min !== undefined ? min : 1e3;
	return function push(chunkLength) {
		const now = Date.now();
		const startedAt = timestamps[tail];
		if (!firstSampleTS) {
			firstSampleTS = now;
		}
		bytes[head] = chunkLength;
		timestamps[head] = now;
		let i = tail;
		let bytesCount = 0;
		while (i !== head) {
			bytesCount += bytes[i++];
			i = i % samplesCount;
		}
		head = (head + 1) % samplesCount;
		if (head === tail) {
			tail = (tail + 1) % samplesCount;
		}
		if (now - firstSampleTS < min) {
			return;
		}
		const passed = startedAt && now - startedAt;
		return passed ? Math.round(bytesCount * 1e3 / passed) : undefined;
	};
}

//#endregion
//#region ../node_modules/axios/lib/helpers/throttle.js
/**
* Throttle decorator
* @param {Function} fn
* @param {Number} freq
* @return {Function}
*/
function throttle$1(fn, freq) {
	let timestamp = 0;
	let threshold = 1e3 / freq;
	let lastArgs;
	let timer;
	const invoke = (args, now = Date.now()) => {
		timestamp = now;
		lastArgs = null;
		if (timer) {
			clearTimeout(timer);
			timer = null;
		}
		fn(...args);
	};
	const throttled = (...args) => {
		const now = Date.now();
		const passed = now - timestamp;
		if (passed >= threshold) {
			invoke(args, now);
		} else {
			lastArgs = args;
			if (!timer) {
				timer = setTimeout(() => {
					timer = null;
					invoke(lastArgs);
				}, threshold - passed);
			}
		}
	};
	const flush = () => lastArgs && invoke(lastArgs);
	return [throttled, flush];
}

//#endregion
//#region ../node_modules/axios/lib/helpers/progressEventReducer.js
const progressEventReducer = (listener, isDownloadStream, freq = 3) => {
	let bytesNotified = 0;
	const _speedometer = speedometer(50, 250);
	return throttle$1((e) => {
		const loaded = e.loaded;
		const total = e.lengthComputable ? e.total : undefined;
		const progressBytes = loaded - bytesNotified;
		const rate = _speedometer(progressBytes);
		const inRange = loaded <= total;
		bytesNotified = loaded;
		const data = {
			loaded,
			total,
			progress: total ? loaded / total : undefined,
			bytes: progressBytes,
			rate: rate ? rate : undefined,
			estimated: rate && total && inRange ? (total - loaded) / rate : undefined,
			event: e,
			lengthComputable: total != null,
			[isDownloadStream ? "download" : "upload"]: true
		};
		listener(data);
	}, freq);
};
const progressEventDecorator = (total, throttled) => {
	const lengthComputable = total != null;
	return [(loaded) => throttled[0]({
		lengthComputable,
		total,
		loaded
	}), throttled[1]];
};
const asyncDecorator = (fn) => (...args) => utils_default.asap(() => fn(...args));

//#endregion
//#region ../node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js
/**
* Estimate decoded byte length of a data:// URL *without* allocating large buffers.
* - For base64: compute exact decoded size using length and padding;
*               handle %XX at the character-count level (no string allocation).
* - For non-base64: use UTF-8 byteLength of the encoded body as a safe upper bound.
*
* @param {string} url
* @returns {number}
*/
function estimateDataURLDecodedBytes(url) {
	if (!url || typeof url !== "string") return 0;
	if (!url.startsWith("data:")) return 0;
	const comma = url.indexOf(",");
	if (comma < 0) return 0;
	const meta = url.slice(5, comma);
	const body = url.slice(comma + 1);
	const isBase64 = /;base64/i.test(meta);
	if (isBase64) {
		let effectiveLen = body.length;
		const len = body.length;
		for (let i = 0; i < len; i++) {
			if (body.charCodeAt(i) === 37 && i + 2 < len) {
				const a = body.charCodeAt(i + 1);
				const b = body.charCodeAt(i + 2);
				const isHex = (a >= 48 && a <= 57 || a >= 65 && a <= 70 || a >= 97 && a <= 102) && (b >= 48 && b <= 57 || b >= 65 && b <= 70 || b >= 97 && b <= 102);
				if (isHex) {
					effectiveLen -= 2;
					i += 2;
				}
			}
		}
		let pad = 0;
		let idx = len - 1;
		const tailIsPct3D = (j) => j >= 2 && body.charCodeAt(j - 2) === 37 && body.charCodeAt(j - 1) === 51 && (body.charCodeAt(j) === 68 || body.charCodeAt(j) === 100);
		if (idx >= 0) {
			if (body.charCodeAt(idx) === 61) {
				pad++;
				idx--;
			} else if (tailIsPct3D(idx)) {
				pad++;
				idx -= 3;
			}
		}
		if (pad === 1 && idx >= 0) {
			if (body.charCodeAt(idx) === 61) {
				pad++;
			} else if (tailIsPct3D(idx)) {
				pad++;
			}
		}
		const groups = Math.floor(effectiveLen / 4);
		const bytes = groups * 3 - (pad || 0);
		return bytes > 0 ? bytes : 0;
	}
	return Buffer.byteLength(body, "utf8");
}

//#endregion
//#region ../node_modules/axios/lib/adapters/http.js
const zlibOptions = {
	flush: zlib.constants.Z_SYNC_FLUSH,
	finishFlush: zlib.constants.Z_SYNC_FLUSH
};
const brotliOptions = {
	flush: zlib.constants.BROTLI_OPERATION_FLUSH,
	finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH
};
const isBrotliSupported = utils_default.isFunction(zlib.createBrotliDecompress);
const { http: httpFollow, https: httpsFollow } = import_follow_redirects.default;
const isHttps = /https:?/;
const supportedProtocols = platform_default.protocols.map((protocol) => {
	return protocol + ":";
});
const flushOnFinish = (stream, [throttled, flush]) => {
	stream.on("end", flush).on("error", flush);
	return throttled;
};
/**
* If the proxy or config beforeRedirects functions are defined, call them with the options
* object.
*
* @param {Object<string, any>} options - The options object that was passed to the request.
*
* @returns {Object<string, any>}
*/
function dispatchBeforeRedirect(options, responseDetails) {
	if (options.beforeRedirects.proxy) {
		options.beforeRedirects.proxy(options);
	}
	if (options.beforeRedirects.config) {
		options.beforeRedirects.config(options, responseDetails);
	}
}
/**
* If the proxy or config afterRedirects functions are defined, call them with the options
*
* @param {http.ClientRequestArgs} options
* @param {AxiosProxyConfig} configProxy configuration from Axios options object
* @param {string} location
*
* @returns {http.ClientRequestArgs}
*/
function setProxy(options, configProxy, location) {
	let proxy = configProxy;
	if (!proxy && proxy !== false) {
		const proxyUrl = import_proxy_from_env.getProxyForUrl(location);
		if (proxyUrl) {
			proxy = new URL(proxyUrl);
		}
	}
	if (proxy) {
		if (proxy.username) {
			proxy.auth = (proxy.username || "") + ":" + (proxy.password || "");
		}
		if (proxy.auth) {
			if (proxy.auth.username || proxy.auth.password) {
				proxy.auth = (proxy.auth.username || "") + ":" + (proxy.auth.password || "");
			}
			const base64 = Buffer.from(proxy.auth, "utf8").toString("base64");
			options.headers["Proxy-Authorization"] = "Basic " + base64;
		}
		options.headers.host = options.hostname + (options.port ? ":" + options.port : "");
		const proxyHost = proxy.hostname || proxy.host;
		options.hostname = proxyHost;
		options.host = proxyHost;
		options.port = proxy.port;
		options.path = location;
		if (proxy.protocol) {
			options.protocol = proxy.protocol.includes(":") ? proxy.protocol : `${proxy.protocol}:`;
		}
	}
	options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) {
		setProxy(redirectOptions, configProxy, redirectOptions.href);
	};
}
const isHttpAdapterSupported = typeof process !== "undefined" && utils_default.kindOf(process) === "process";
const wrapAsync = (asyncExecutor) => {
	return new Promise((resolve, reject) => {
		let onDone;
		let isDone;
		const done = (value, isRejected) => {
			if (isDone) return;
			isDone = true;
			onDone && onDone(value, isRejected);
		};
		const _resolve = (value) => {
			done(value);
			resolve(value);
		};
		const _reject = (reason) => {
			done(reason, true);
			reject(reason);
		};
		asyncExecutor(_resolve, _reject, (onDoneHandler) => onDone = onDoneHandler).catch(_reject);
	});
};
const resolveFamily = ({ address, family }) => {
	if (!utils_default.isString(address)) {
		throw TypeError("address must be a string");
	}
	return {
		address,
		family: family || (address.indexOf(".") < 0 ? 6 : 4)
	};
};
const buildAddressEntry = (address, family) => resolveFamily(utils_default.isObject(address) ? address : {
	address,
	family
});
var http_default = isHttpAdapterSupported && function httpAdapter(config) {
	return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) {
		let { data, lookup, family } = config;
		const { responseType, responseEncoding } = config;
		const method = config.method.toUpperCase();
		let isDone;
		let rejected = false;
		let req;
		if (lookup) {
			const _lookup = callbackify(lookup, (value) => utils_default.isArray(value) ? value : [value]);
			lookup = (hostname, opt, cb) => {
				_lookup(hostname, opt, (err, arg0, arg1) => {
					if (err) {
						return cb(err);
					}
					const addresses = utils_default.isArray(arg0) ? arg0.map((addr) => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)];
					opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family);
				});
			};
		}
		const emitter = new EventEmitter();
		const onFinished = () => {
			if (config.cancelToken) {
				config.cancelToken.unsubscribe(abort);
			}
			if (config.signal) {
				config.signal.removeEventListener("abort", abort);
			}
			emitter.removeAllListeners();
		};
		onDone((value, isRejected) => {
			isDone = true;
			if (isRejected) {
				rejected = true;
				onFinished();
			}
		});
		function abort(reason) {
			emitter.emit("abort", !reason || reason.type ? new CanceledError$1(null, config, req) : reason);
		}
		emitter.once("abort", reject);
		if (config.cancelToken || config.signal) {
			config.cancelToken && config.cancelToken.subscribe(abort);
			if (config.signal) {
				config.signal.aborted ? abort() : config.signal.addEventListener("abort", abort);
			}
		}
		const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);
		const parsed = new URL(fullPath, platform_default.hasBrowserEnv ? platform_default.origin : undefined);
		const protocol = parsed.protocol || supportedProtocols[0];
		if (protocol === "data:") {
			if (config.maxContentLength > -1) {
				const dataUrl = String(config.url || fullPath || "");
				const estimated = estimateDataURLDecodedBytes(dataUrl);
				if (estimated > config.maxContentLength) {
					return reject(new AxiosError$1("maxContentLength size of " + config.maxContentLength + " exceeded", AxiosError$1.ERR_BAD_RESPONSE, config));
				}
			}
			let convertedData;
			if (method !== "GET") {
				return settle(resolve, reject, {
					status: 405,
					statusText: "method not allowed",
					headers: {},
					config
				});
			}
			try {
				convertedData = fromDataURI(config.url, responseType === "blob", { Blob: config.env && config.env.Blob });
			} catch (err) {
				throw AxiosError$1.from(err, AxiosError$1.ERR_BAD_REQUEST, config);
			}
			if (responseType === "text") {
				convertedData = convertedData.toString(responseEncoding);
				if (!responseEncoding || responseEncoding === "utf8") {
					convertedData = utils_default.stripBOM(convertedData);
				}
			} else if (responseType === "stream") {
				convertedData = stream.Readable.from(convertedData);
			}
			return settle(resolve, reject, {
				data: convertedData,
				status: 200,
				statusText: "OK",
				headers: new AxiosHeaders$1(),
				config
			});
		}
		if (supportedProtocols.indexOf(protocol) === -1) {
			return reject(new AxiosError$1("Unsupported protocol " + protocol, AxiosError$1.ERR_BAD_REQUEST, config));
		}
		const headers = AxiosHeaders$1.from(config.headers).normalize();
		headers.set("User-Agent", "axios/" + VERSION$2, false);
		const { onUploadProgress, onDownloadProgress } = config;
		const maxRate = config.maxRate;
		let maxUploadRate = undefined;
		let maxDownloadRate = undefined;
		if (utils_default.isSpecCompliantForm(data)) {
			const userBoundary = headers.getContentType(/boundary=([-_\w\d]{10,70})/i);
			data = formDataToStream(data, (formHeaders) => {
				headers.set(formHeaders);
			}, {
				tag: `axios-${VERSION$2}-boundary`,
				boundary: userBoundary && userBoundary[1] || undefined
			});
		} else if (utils_default.isFormData(data) && utils_default.isFunction(data.getHeaders)) {
			headers.set(data.getHeaders());
			if (!headers.hasContentLength()) {
				try {
					const knownLength = await util.promisify(data.getLength).call(data);
					Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength);
				} catch (e) {}
			}
		} else if (utils_default.isBlob(data) || utils_default.isFile(data)) {
			data.size && headers.setContentType(data.type || "application/octet-stream");
			headers.setContentLength(data.size || 0);
			data = stream.Readable.from(readBlob(data));
		} else if (data && !utils_default.isStream(data)) {
			if (Buffer.isBuffer(data)) {} else if (utils_default.isArrayBuffer(data)) {
				data = Buffer.from(new Uint8Array(data));
			} else if (utils_default.isString(data)) {
				data = Buffer.from(data, "utf-8");
			} else {
				return reject(new AxiosError$1("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream", AxiosError$1.ERR_BAD_REQUEST, config));
			}
			headers.setContentLength(data.length, false);
			if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) {
				return reject(new AxiosError$1("Request body larger than maxBodyLength limit", AxiosError$1.ERR_BAD_REQUEST, config));
			}
		}
		const contentLength = utils_default.toFiniteNumber(headers.getContentLength());
		if (utils_default.isArray(maxRate)) {
			maxUploadRate = maxRate[0];
			maxDownloadRate = maxRate[1];
		} else {
			maxUploadRate = maxDownloadRate = maxRate;
		}
		if (data && (onUploadProgress || maxUploadRate)) {
			if (!utils_default.isStream(data)) {
				data = stream.Readable.from(data, { objectMode: false });
			}
			data = stream.pipeline([data, new AxiosTransformStream({ maxRate: utils_default.toFiniteNumber(maxUploadRate) })], utils_default.noop);
			onUploadProgress && data.on("progress", flushOnFinish(data, progressEventDecorator(contentLength, progressEventReducer(asyncDecorator(onUploadProgress), false, 3))));
		}
		let auth = undefined;
		if (config.auth) {
			const username = config.auth.username || "";
			const password = config.auth.password || "";
			auth = username + ":" + password;
		}
		if (!auth && parsed.username) {
			const urlUsername = parsed.username;
			const urlPassword = parsed.password;
			auth = urlUsername + ":" + urlPassword;
		}
		auth && headers.delete("authorization");
		let path;
		try {
			path = buildURL(parsed.pathname + parsed.search, config.params, config.paramsSerializer).replace(/^\?/, "");
		} catch (err) {
			const customErr = new Error(err.message);
			customErr.config = config;
			customErr.url = config.url;
			customErr.exists = true;
			return reject(customErr);
		}
		headers.set("Accept-Encoding", "gzip, compress, deflate" + (isBrotliSupported ? ", br" : ""), false);
		const options = {
			path,
			method,
			headers: headers.toJSON(),
			agents: {
				http: config.httpAgent,
				https: config.httpsAgent
			},
			auth,
			protocol,
			family,
			beforeRedirect: dispatchBeforeRedirect,
			beforeRedirects: {}
		};
		!utils_default.isUndefined(lookup) && (options.lookup = lookup);
		if (config.socketPath) {
			options.socketPath = config.socketPath;
		} else {
			options.hostname = parsed.hostname.startsWith("[") ? parsed.hostname.slice(1, -1) : parsed.hostname;
			options.port = parsed.port;
			setProxy(options, config.proxy, protocol + "//" + parsed.hostname + (parsed.port ? ":" + parsed.port : "") + options.path);
		}
		let transport;
		const isHttpsRequest = isHttps.test(options.protocol);
		options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;
		if (config.transport) {
			transport = config.transport;
		} else if (config.maxRedirects === 0) {
			transport = isHttpsRequest ? https : http;
		} else {
			if (config.maxRedirects) {
				options.maxRedirects = config.maxRedirects;
			}
			if (config.beforeRedirect) {
				options.beforeRedirects.config = config.beforeRedirect;
			}
			transport = isHttpsRequest ? httpsFollow : httpFollow;
		}
		if (config.maxBodyLength > -1) {
			options.maxBodyLength = config.maxBodyLength;
		} else {
			options.maxBodyLength = Infinity;
		}
		if (config.insecureHTTPParser) {
			options.insecureHTTPParser = config.insecureHTTPParser;
		}
		req = transport.request(options, function handleResponse(res) {
			if (req.destroyed) return;
			const streams = [res];
			const responseLength = +res.headers["content-length"];
			if (onDownloadProgress || maxDownloadRate) {
				const transformStream = new AxiosTransformStream({ maxRate: utils_default.toFiniteNumber(maxDownloadRate) });
				onDownloadProgress && transformStream.on("progress", flushOnFinish(transformStream, progressEventDecorator(responseLength, progressEventReducer(asyncDecorator(onDownloadProgress), true, 3))));
				streams.push(transformStream);
			}
			let responseStream = res;
			const lastRequest = res.req || req;
			if (config.decompress !== false && res.headers["content-encoding"]) {
				if (method === "HEAD" || res.statusCode === 204) {
					delete res.headers["content-encoding"];
				}
				switch ((res.headers["content-encoding"] || "").toLowerCase()) {
					case "gzip":
					case "x-gzip":
					case "compress":
					case "x-compress":
						streams.push(zlib.createUnzip(zlibOptions));
						delete res.headers["content-encoding"];
						break;
					case "deflate":
						streams.push(new ZlibHeaderTransformStream());
						streams.push(zlib.createUnzip(zlibOptions));
						delete res.headers["content-encoding"];
						break;
					case "br": if (isBrotliSupported) {
						streams.push(zlib.createBrotliDecompress(brotliOptions));
						delete res.headers["content-encoding"];
					}
				}
			}
			responseStream = streams.length > 1 ? stream.pipeline(streams, utils_default.noop) : streams[0];
			const offListeners = stream.finished(responseStream, () => {
				offListeners();
				onFinished();
			});
			const response = {
				status: res.statusCode,
				statusText: res.statusMessage,
				headers: new AxiosHeaders$1(res.headers),
				config,
				request: lastRequest
			};
			if (responseType === "stream") {
				response.data = responseStream;
				settle(resolve, reject, response);
			} else {
				const responseBuffer = [];
				let totalResponseBytes = 0;
				responseStream.on("data", function handleStreamData(chunk) {
					responseBuffer.push(chunk);
					totalResponseBytes += chunk.length;
					if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) {
						rejected = true;
						responseStream.destroy();
						reject(new AxiosError$1("maxContentLength size of " + config.maxContentLength + " exceeded", AxiosError$1.ERR_BAD_RESPONSE, config, lastRequest));
					}
				});
				responseStream.on("aborted", function handlerStreamAborted() {
					if (rejected) {
						return;
					}
					const err = new AxiosError$1("stream has been aborted", AxiosError$1.ERR_BAD_RESPONSE, config, lastRequest);
					responseStream.destroy(err);
					reject(err);
				});
				responseStream.on("error", function handleStreamError(err) {
					if (req.destroyed) return;
					reject(AxiosError$1.from(err, null, config, lastRequest));
				});
				responseStream.on("end", function handleStreamEnd() {
					try {
						let responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer);
						if (responseType !== "arraybuffer") {
							responseData = responseData.toString(responseEncoding);
							if (!responseEncoding || responseEncoding === "utf8") {
								responseData = utils_default.stripBOM(responseData);
							}
						}
						response.data = responseData;
					} catch (err) {
						return reject(AxiosError$1.from(err, null, config, response.request, response));
					}
					settle(resolve, reject, response);
				});
			}
			emitter.once("abort", (err) => {
				if (!responseStream.destroyed) {
					responseStream.emit("error", err);
					responseStream.destroy();
				}
			});
		});
		emitter.once("abort", (err) => {
			reject(err);
			req.destroy(err);
		});
		req.on("error", function handleRequestError(err) {
			reject(AxiosError$1.from(err, null, config, req));
		});
		req.on("socket", function handleRequestSocket(socket) {
			socket.setKeepAlive(true, 1e3 * 60);
		});
		if (config.timeout) {
			const timeout = parseInt(config.timeout, 10);
			if (Number.isNaN(timeout)) {
				reject(new AxiosError$1("error trying to parse `config.timeout` to int", AxiosError$1.ERR_BAD_OPTION_VALUE, config, req));
				return;
			}
			req.setTimeout(timeout, function handleRequestTimeout() {
				if (isDone) return;
				let timeoutErrorMessage = config.timeout ? "timeout of " + config.timeout + "ms exceeded" : "timeout exceeded";
				const transitional = config.transitional || transitional_default;
				if (config.timeoutErrorMessage) {
					timeoutErrorMessage = config.timeoutErrorMessage;
				}
				reject(new AxiosError$1(timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError$1.ETIMEDOUT : AxiosError$1.ECONNABORTED, config, req));
				abort();
			});
		}
		if (utils_default.isStream(data)) {
			let ended = false;
			let errored = false;
			data.on("end", () => {
				ended = true;
			});
			data.once("error", (err) => {
				errored = true;
				req.destroy(err);
			});
			data.on("close", () => {
				if (!ended && !errored) {
					abort(new CanceledError$1("Request stream has been aborted", config, req));
				}
			});
			data.pipe(req);
		} else {
			req.end(data);
		}
	});
};
const __setProxy = setProxy;

//#endregion
//#region ../node_modules/axios/lib/helpers/isURLSameOrigin.js
var isURLSameOrigin_default = platform_default.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {
	url = new URL(url, platform_default.origin);
	return origin.protocol === url.protocol && origin.host === url.host && (isMSIE || origin.port === url.port);
})(new URL(platform_default.origin), platform_default.navigator && /(msie|trident)/i.test(platform_default.navigator.userAgent)) : () => true;

//#endregion
//#region ../node_modules/axios/lib/helpers/cookies.js
var cookies_default = platform_default.hasStandardBrowserEnv ? {
	write(name, value, expires, path, domain, secure) {
		const cookie = [name + "=" + encodeURIComponent(value)];
		utils_default.isNumber(expires) && cookie.push("expires=" + new Date(expires).toGMTString());
		utils_default.isString(path) && cookie.push("path=" + path);
		utils_default.isString(domain) && cookie.push("domain=" + domain);
		secure === true && cookie.push("secure");
		document.cookie = cookie.join("; ");
	},
	read(name) {
		const match = document.cookie.match(new RegExp("(^|;\\s*)(" + name + ")=([^;]*)"));
		return match ? decodeURIComponent(match[3]) : null;
	},
	remove(name) {
		this.write(name, "", Date.now() - 864e5);
	}
} : {
	write() {},
	read() {
		return null;
	},
	remove() {}
};

//#endregion
//#region ../node_modules/axios/lib/core/mergeConfig.js
const headersToObject = (thing) => thing instanceof AxiosHeaders$1 ? { ...thing } : thing;
/**
* Config-specific merge-function which creates a new config-object
* by merging two configuration objects together.
*
* @param {Object} config1
* @param {Object} config2
*
* @returns {Object} New object resulting from merging config2 to config1
*/
function mergeConfig$1(config1, config2) {
	config2 = config2 || {};
	const config = {};
	function getMergedValue(target, source, prop, caseless) {
		if (utils_default.isPlainObject(target) && utils_default.isPlainObject(source)) {
			return utils_default.merge.call({ caseless }, target, source);
		} else if (utils_default.isPlainObject(source)) {
			return utils_default.merge({}, source);
		} else if (utils_default.isArray(source)) {
			return source.slice();
		}
		return source;
	}
	function mergeDeepProperties(a, b, prop, caseless) {
		if (!utils_default.isUndefined(b)) {
			return getMergedValue(a, b, prop, caseless);
		} else if (!utils_default.isUndefined(a)) {
			return getMergedValue(undefined, a, prop, caseless);
		}
	}
	function valueFromConfig2(a, b) {
		if (!utils_default.isUndefined(b)) {
			return getMergedValue(undefined, b);
		}
	}
	function defaultToConfig2(a, b) {
		if (!utils_default.isUndefined(b)) {
			return getMergedValue(undefined, b);
		} else if (!utils_default.isUndefined(a)) {
			return getMergedValue(undefined, a);
		}
	}
	function mergeDirectKeys(a, b, prop) {
		if (prop in config2) {
			return getMergedValue(a, b);
		} else if (prop in config1) {
			return getMergedValue(undefined, a);
		}
	}
	const mergeMap = {
		url: valueFromConfig2,
		method: valueFromConfig2,
		data: valueFromConfig2,
		baseURL: defaultToConfig2,
		transformRequest: defaultToConfig2,
		transformResponse: defaultToConfig2,
		paramsSerializer: defaultToConfig2,
		timeout: defaultToConfig2,
		timeoutMessage: defaultToConfig2,
		withCredentials: defaultToConfig2,
		withXSRFToken: defaultToConfig2,
		adapter: defaultToConfig2,
		responseType: defaultToConfig2,
		xsrfCookieName: defaultToConfig2,
		xsrfHeaderName: defaultToConfig2,
		onUploadProgress: defaultToConfig2,
		onDownloadProgress: defaultToConfig2,
		decompress: defaultToConfig2,
		maxContentLength: defaultToConfig2,
		maxBodyLength: defaultToConfig2,
		beforeRedirect: defaultToConfig2,
		transport: defaultToConfig2,
		httpAgent: defaultToConfig2,
		httpsAgent: defaultToConfig2,
		cancelToken: defaultToConfig2,
		socketPath: defaultToConfig2,
		responseEncoding: defaultToConfig2,
		validateStatus: mergeDirectKeys,
		headers: (a, b, prop) => mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true)
	};
	utils_default.forEach(Object.keys({
		...config1,
		...config2
	}), function computeConfigValue(prop) {
		const merge = mergeMap[prop] || mergeDeepProperties;
		const configValue = merge(config1[prop], config2[prop], prop);
		utils_default.isUndefined(configValue) && merge !== mergeDirectKeys || (config[prop] = configValue);
	});
	return config;
}

//#endregion
//#region ../node_modules/axios/lib/helpers/resolveConfig.js
var resolveConfig_default = (config) => {
	const newConfig = mergeConfig$1({}, config);
	let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;
	newConfig.headers = headers = AxiosHeaders$1.from(headers);
	newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);
	if (auth) {
		headers.set("Authorization", "Basic " + btoa((auth.username || "") + ":" + (auth.password ? unescape(encodeURIComponent(auth.password)) : "")));
	}
	if (utils_default.isFormData(data)) {
		if (platform_default.hasStandardBrowserEnv || platform_default.hasStandardBrowserWebWorkerEnv) {
			headers.setContentType(undefined);
		} else if (utils_default.isFunction(data.getHeaders)) {
			const formHeaders = data.getHeaders();
			const allowedHeaders = ["content-type", "content-length"];
			Object.entries(formHeaders).forEach(([key, val]) => {
				if (allowedHeaders.includes(key.toLowerCase())) {
					headers.set(key, val);
				}
			});
		}
	}
	if (platform_default.hasStandardBrowserEnv) {
		withXSRFToken && utils_default.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));
		if (withXSRFToken || withXSRFToken !== false && isURLSameOrigin_default(newConfig.url)) {
			const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies_default.read(xsrfCookieName);
			if (xsrfValue) {
				headers.set(xsrfHeaderName, xsrfValue);
			}
		}
	}
	return newConfig;
};

//#endregion
//#region ../node_modules/axios/lib/adapters/xhr.js
const isXHRAdapterSupported = typeof XMLHttpRequest !== "undefined";
var xhr_default = isXHRAdapterSupported && function(config) {
	return new Promise(function dispatchXhrRequest(resolve, reject) {
		const _config = resolveConfig_default(config);
		let requestData = _config.data;
		const requestHeaders = AxiosHeaders$1.from(_config.headers).normalize();
		let { responseType, onUploadProgress, onDownloadProgress } = _config;
		let onCanceled;
		let uploadThrottled, downloadThrottled;
		let flushUpload, flushDownload;
		function done() {
			flushUpload && flushUpload();
			flushDownload && flushDownload();
			_config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);
			_config.signal && _config.signal.removeEventListener("abort", onCanceled);
		}
		let request = new XMLHttpRequest();
		request.open(_config.method.toUpperCase(), _config.url, true);
		request.timeout = _config.timeout;
		function onloadend() {
			if (!request) {
				return;
			}
			const responseHeaders = AxiosHeaders$1.from("getAllResponseHeaders" in request && request.getAllResponseHeaders());
			const responseData = !responseType || responseType === "text" || responseType === "json" ? request.responseText : request.response;
			const response = {
				data: responseData,
				status: request.status,
				statusText: request.statusText,
				headers: responseHeaders,
				config,
				request
			};
			settle(function _resolve(value) {
				resolve(value);
				done();
			}, function _reject(err) {
				reject(err);
				done();
			}, response);
			request = null;
		}
		if ("onloadend" in request) {
			request.onloadend = onloadend;
		} else {
			request.onreadystatechange = function handleLoad() {
				if (!request || request.readyState !== 4) {
					return;
				}
				if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf("file:") === 0)) {
					return;
				}
				setTimeout(onloadend);
			};
		}
		request.onabort = function handleAbort() {
			if (!request) {
				return;
			}
			reject(new AxiosError$1("Request aborted", AxiosError$1.ECONNABORTED, config, request));
			request = null;
		};
		request.onerror = function handleError(event) {
			const msg = event && event.message ? event.message : "Network Error";
			const err = new AxiosError$1(msg, AxiosError$1.ERR_NETWORK, config, request);
			err.event = event || null;
			reject(err);
			request = null;
		};
		request.ontimeout = function handleTimeout() {
			let timeoutErrorMessage = _config.timeout ? "timeout of " + _config.timeout + "ms exceeded" : "timeout exceeded";
			const transitional = _config.transitional || transitional_default;
			if (_config.timeoutErrorMessage) {
				timeoutErrorMessage = _config.timeoutErrorMessage;
			}
			reject(new AxiosError$1(timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError$1.ETIMEDOUT : AxiosError$1.ECONNABORTED, config, request));
			request = null;
		};
		requestData === undefined && requestHeaders.setContentType(null);
		if ("setRequestHeader" in request) {
			utils_default.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {
				request.setRequestHeader(key, val);
			});
		}
		if (!utils_default.isUndefined(_config.withCredentials)) {
			request.withCredentials = !!_config.withCredentials;
		}
		if (responseType && responseType !== "json") {
			request.responseType = _config.responseType;
		}
		if (onDownloadProgress) {
			[downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true);
			request.addEventListener("progress", downloadThrottled);
		}
		if (onUploadProgress && request.upload) {
			[uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress);
			request.upload.addEventListener("progress", uploadThrottled);
			request.upload.addEventListener("loadend", flushUpload);
		}
		if (_config.cancelToken || _config.signal) {
			onCanceled = (cancel) => {
				if (!request) {
					return;
				}
				reject(!cancel || cancel.type ? new CanceledError$1(null, config, request) : cancel);
				request.abort();
				request = null;
			};
			_config.cancelToken && _config.cancelToken.subscribe(onCanceled);
			if (_config.signal) {
				_config.signal.aborted ? onCanceled() : _config.signal.addEventListener("abort", onCanceled);
			}
		}
		const protocol = parseProtocol(_config.url);
		if (protocol && platform_default.protocols.indexOf(protocol) === -1) {
			reject(new AxiosError$1("Unsupported protocol " + protocol + ":", AxiosError$1.ERR_BAD_REQUEST, config));
			return;
		}
		request.send(requestData || null);
	});
};

//#endregion
//#region ../node_modules/axios/lib/helpers/composeSignals.js
const composeSignals = (signals, timeout) => {
	const { length } = signals = signals ? signals.filter(Boolean) : [];
	if (timeout || length) {
		let controller = new AbortController();
		let aborted;
		const onabort = function(reason) {
			if (!aborted) {
				aborted = true;
				unsubscribe();
				const err = reason instanceof Error ? reason : this.reason;
				controller.abort(err instanceof AxiosError$1 ? err : new CanceledError$1(err instanceof Error ? err.message : err));
			}
		};
		let timer = timeout && setTimeout(() => {
			timer = null;
			onabort(new AxiosError$1(`timeout ${timeout} of ms exceeded`, AxiosError$1.ETIMEDOUT));
		}, timeout);
		const unsubscribe = () => {
			if (signals) {
				timer && clearTimeout(timer);
				timer = null;
				signals.forEach((signal) => {
					signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener("abort", onabort);
				});
				signals = null;
			}
		};
		signals.forEach((signal) => signal.addEventListener("abort", onabort));
		const { signal } = controller;
		signal.unsubscribe = () => utils_default.asap(unsubscribe);
		return signal;
	}
};

//#endregion
//#region ../node_modules/axios/lib/helpers/trackStream.js
const streamChunk = function* (chunk, chunkSize) {
	let len = chunk.byteLength;
	if (!chunkSize || len < chunkSize) {
		yield chunk;
		return;
	}
	let pos = 0;
	let end;
	while (pos < len) {
		end = pos + chunkSize;
		yield chunk.slice(pos, end);
		pos = end;
	}
};
const readBytes = async function* (iterable, chunkSize) {
	for await (const chunk of readStream(iterable)) {
		yield* streamChunk(chunk, chunkSize);
	}
};
const readStream = async function* (stream) {
	if (stream[Symbol.asyncIterator]) {
		yield* stream;
		return;
	}
	const reader = stream.getReader();
	try {
		for (;;) {
			const { done, value } = await reader.read();
			if (done) {
				break;
			}
			yield value;
		}
	} finally {
		await reader.cancel();
	}
};
const trackStream = (stream, chunkSize, onProgress, onFinish) => {
	const iterator = readBytes(stream, chunkSize);
	let bytes = 0;
	let done;
	let _onFinish = (e) => {
		if (!done) {
			done = true;
			onFinish && onFinish(e);
		}
	};
	return new ReadableStream({
		async pull(controller) {
			try {
				const { done, value } = await iterator.next();
				if (done) {
					_onFinish();
					controller.close();
					return;
				}
				let len = value.byteLength;
				if (onProgress) {
					let loadedBytes = bytes += len;
					onProgress(loadedBytes);
				}
				controller.enqueue(new Uint8Array(value));
			} catch (err) {
				_onFinish(err);
				throw err;
			}
		},
		cancel(reason) {
			_onFinish(reason);
			return iterator.return();
		}
	}, { highWaterMark: 2 });
};

//#endregion
//#region ../node_modules/axios/lib/adapters/fetch.js
const DEFAULT_CHUNK_SIZE = 64 * 1024;
const { isFunction: isFunction$2 } = utils_default;
const globalFetchAPI = (({ Request, Response }) => ({
	Request,
	Response
}))(utils_default.global);
const { ReadableStream: ReadableStream$1, TextEncoder: TextEncoder$2 } = utils_default.global;
const test = (fn, ...args) => {
	try {
		return !!fn(...args);
	} catch (e) {
		return false;
	}
};
const factory = (env) => {
	env = utils_default.merge.call({ skipUndefined: true }, globalFetchAPI, env);
	const { fetch: envFetch, Request, Response } = env;
	const isFetchSupported = envFetch ? isFunction$2(envFetch) : typeof fetch === "function";
	const isRequestSupported = isFunction$2(Request);
	const isResponseSupported = isFunction$2(Response);
	if (!isFetchSupported) {
		return false;
	}
	const isReadableStreamSupported = isFetchSupported && isFunction$2(ReadableStream$1);
	const encodeText = isFetchSupported && (typeof TextEncoder$2 === "function" ? ((encoder) => (str) => encoder.encode(str))(new TextEncoder$2()) : async (str) => new Uint8Array(await new Request(str).arrayBuffer()));
	const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(() => {
		let duplexAccessed = false;
		const hasContentType = new Request(platform_default.origin, {
			body: new ReadableStream$1(),
			method: "POST",
			get duplex() {
				duplexAccessed = true;
				return "half";
			}
		}).headers.has("Content-Type");
		return duplexAccessed && !hasContentType;
	});
	const supportsResponseStream = isResponseSupported && isReadableStreamSupported && test(() => utils_default.isReadableStream(new Response("").body));
	const resolvers = { stream: supportsResponseStream && ((res) => res.body) };
	isFetchSupported && (() => {
		[
			"text",
			"arrayBuffer",
			"blob",
			"formData",
			"stream"
		].forEach((type) => {
			!resolvers[type] && (resolvers[type] = (res, config) => {
				let method = res && res[type];
				if (method) {
					return method.call(res);
				}
				throw new AxiosError$1(`Response type '${type}' is not supported`, AxiosError$1.ERR_NOT_SUPPORT, config);
			});
		});
	})();
	const getBodyLength = async (body) => {
		if (body == null) {
			return 0;
		}
		if (utils_default.isBlob(body)) {
			return body.size;
		}
		if (utils_default.isSpecCompliantForm(body)) {
			const _request = new Request(platform_default.origin, {
				method: "POST",
				body
			});
			return (await _request.arrayBuffer()).byteLength;
		}
		if (utils_default.isArrayBufferView(body) || utils_default.isArrayBuffer(body)) {
			return body.byteLength;
		}
		if (utils_default.isURLSearchParams(body)) {
			body = body + "";
		}
		if (utils_default.isString(body)) {
			return (await encodeText(body)).byteLength;
		}
	};
	const resolveBodyLength = async (headers, body) => {
		const length = utils_default.toFiniteNumber(headers.getContentLength());
		return length == null ? getBodyLength(body) : length;
	};
	return async (config) => {
		let { url, method, data, signal, cancelToken, timeout, onDownloadProgress, onUploadProgress, responseType, headers, withCredentials = "same-origin", fetchOptions } = resolveConfig_default(config);
		let _fetch = envFetch || fetch;
		responseType = responseType ? (responseType + "").toLowerCase() : "text";
		let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);
		let request = null;
		const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {
			composedSignal.unsubscribe();
		});
		let requestContentLength;
		try {
			if (onUploadProgress && supportsRequestStream && method !== "get" && method !== "head" && (requestContentLength = await resolveBodyLength(headers, data)) !== 0) {
				let _request = new Request(url, {
					method: "POST",
					body: data,
					duplex: "half"
				});
				let contentTypeHeader;
				if (utils_default.isFormData(data) && (contentTypeHeader = _request.headers.get("content-type"))) {
					headers.setContentType(contentTypeHeader);
				}
				if (_request.body) {
					const [onProgress, flush] = progressEventDecorator(requestContentLength, progressEventReducer(asyncDecorator(onUploadProgress)));
					data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);
				}
			}
			if (!utils_default.isString(withCredentials)) {
				withCredentials = withCredentials ? "include" : "omit";
			}
			const isCredentialsSupported = isRequestSupported && "credentials" in Request.prototype;
			const resolvedOptions = {
				...fetchOptions,
				signal: composedSignal,
				method: method.toUpperCase(),
				headers: headers.normalize().toJSON(),
				body: data,
				duplex: "half",
				credentials: isCredentialsSupported ? withCredentials : undefined
			};
			request = isRequestSupported && new Request(url, resolvedOptions);
			let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url, resolvedOptions));
			const isStreamResponse = supportsResponseStream && (responseType === "stream" || responseType === "response");
			if (supportsResponseStream && (onDownloadProgress || isStreamResponse && unsubscribe)) {
				const options = {};
				[
					"status",
					"statusText",
					"headers"
				].forEach((prop) => {
					options[prop] = response[prop];
				});
				const responseContentLength = utils_default.toFiniteNumber(response.headers.get("content-length"));
				const [onProgress, flush] = onDownloadProgress && progressEventDecorator(responseContentLength, progressEventReducer(asyncDecorator(onDownloadProgress), true)) || [];
				response = new Response(trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {
					flush && flush();
					unsubscribe && unsubscribe();
				}), options);
			}
			responseType = responseType || "text";
			let responseData = await resolvers[utils_default.findKey(resolvers, responseType) || "text"](response, config);
			!isStreamResponse && unsubscribe && unsubscribe();
			return await new Promise((resolve, reject) => {
				settle(resolve, reject, {
					data: responseData,
					headers: AxiosHeaders$1.from(response.headers),
					status: response.status,
					statusText: response.statusText,
					config,
					request
				});
			});
		} catch (err) {
			unsubscribe && unsubscribe();
			if (err && err.name === "TypeError" && /Load failed|fetch/i.test(err.message)) {
				throw Object.assign(new AxiosError$1("Network Error", AxiosError$1.ERR_NETWORK, config, request), { cause: err.cause || err });
			}
			throw AxiosError$1.from(err, err && err.code, config, request);
		}
	};
};
const seedCache = new Map();
const getFetch = (config) => {
	let env = config ? config.env : {};
	const { fetch, Request, Response } = env;
	const seeds = [
		Request,
		Response,
		fetch
	];
	let len = seeds.length, i = len, seed, target, map = seedCache;
	while (i--) {
		seed = seeds[i];
		target = map.get(seed);
		target === undefined && map.set(seed, target = i ? new Map() : factory(env));
		map = target;
	}
	return target;
};
const adapter$1 = getFetch();

//#endregion
//#region ../node_modules/axios/lib/adapters/adapters.js
const knownAdapters = {
	http: http_default,
	xhr: xhr_default,
	fetch: { get: getFetch }
};
utils_default.forEach(knownAdapters, (fn, value) => {
	if (fn) {
		try {
			Object.defineProperty(fn, "name", { value });
		} catch (e) {}
		Object.defineProperty(fn, "adapterName", { value });
	}
});
const renderReason = (reason) => `- ${reason}`;
const isResolvedHandle = (adapter) => utils_default.isFunction(adapter) || adapter === null || adapter === false;
var adapters_default = {
	getAdapter: (adapters, config) => {
		adapters = utils_default.isArray(adapters) ? adapters : [adapters];
		const { length } = adapters;
		let nameOrAdapter;
		let adapter;
		const rejectedReasons = {};
		for (let i = 0; i < length; i++) {
			nameOrAdapter = adapters[i];
			let id;
			adapter = nameOrAdapter;
			if (!isResolvedHandle(nameOrAdapter)) {
				adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];
				if (adapter === undefined) {
					throw new AxiosError$1(`Unknown adapter '${id}'`);
				}
			}
			if (adapter && (utils_default.isFunction(adapter) || (adapter = adapter.get(config)))) {
				break;
			}
			rejectedReasons[id || "#" + i] = adapter;
		}
		if (!adapter) {
			const reasons = Object.entries(rejectedReasons).map(([id, state]) => `adapter ${id} ` + (state === false ? "is not supported by the environment" : "is not available in the build"));
			let s = length ? reasons.length > 1 ? "since :\n" + reasons.map(renderReason).join("\n") : " " + renderReason(reasons[0]) : "as no adapter specified";
			throw new AxiosError$1(`There is no suitable adapter to dispatch the request ` + s, "ERR_NOT_SUPPORT");
		}
		return adapter;
	},
	adapters: knownAdapters
};

//#endregion
//#region ../node_modules/axios/lib/core/dispatchRequest.js
/**
* Throws a `CanceledError` if cancellation has been requested.
*
* @param {Object} config The config that is to be used for the request
*
* @returns {void}
*/
function throwIfCancellationRequested(config) {
	if (config.cancelToken) {
		config.cancelToken.throwIfRequested();
	}
	if (config.signal && config.signal.aborted) {
		throw new CanceledError$1(null, config);
	}
}
/**
* Dispatch a request to the server using the configured adapter.
*
* @param {object} config The config that is to be used for the request
*
* @returns {Promise} The Promise to be fulfilled
*/
function dispatchRequest(config) {
	throwIfCancellationRequested(config);
	config.headers = AxiosHeaders$1.from(config.headers);
	config.data = transformData.call(config, config.transformRequest);
	if ([
		"post",
		"put",
		"patch"
	].indexOf(config.method) !== -1) {
		config.headers.setContentType("application/x-www-form-urlencoded", false);
	}
	const adapter = adapters_default.getAdapter(config.adapter || defaults$1.adapter, config);
	return adapter(config).then(function onAdapterResolution(response) {
		throwIfCancellationRequested(config);
		response.data = transformData.call(config, config.transformResponse, response);
		response.headers = AxiosHeaders$1.from(response.headers);
		return response;
	}, function onAdapterRejection(reason) {
		if (!isCancel$1(reason)) {
			throwIfCancellationRequested(config);
			if (reason && reason.response) {
				reason.response.data = transformData.call(config, config.transformResponse, reason.response);
				reason.response.headers = AxiosHeaders$1.from(reason.response.headers);
			}
		}
		return Promise.reject(reason);
	});
}

//#endregion
//#region ../node_modules/axios/lib/helpers/validator.js
const validators$1 = {};
[
	"object",
	"boolean",
	"number",
	"function",
	"string",
	"symbol"
].forEach((type, i) => {
	validators$1[type] = function validator(thing) {
		return typeof thing === type || "a" + (i < 1 ? "n " : " ") + type;
	};
});
const deprecatedWarnings = {};
/**
* Transitional option validator
*
* @param {function|boolean?} validator - set to false if the transitional option has been removed
* @param {string?} version - deprecated version / removed since version
* @param {string?} message - some message with additional info
*
* @returns {function}
*/
validators$1.transitional = function transitional(validator, version, message) {
	function formatMessage(opt, desc) {
		return "[Axios v" + VERSION$2 + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : "");
	}
	return (value, opt, opts) => {
		if (validator === false) {
			throw new AxiosError$1(formatMessage(opt, " has been removed" + (version ? " in " + version : "")), AxiosError$1.ERR_DEPRECATED);
		}
		if (version && !deprecatedWarnings[opt]) {
			deprecatedWarnings[opt] = true;
			console.warn(formatMessage(opt, " has been deprecated since v" + version + " and will be removed in the near future"));
		}
		return validator ? validator(value, opt, opts) : true;
	};
};
validators$1.spelling = function spelling(correctSpelling) {
	return (value, opt) => {
		console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);
		return true;
	};
};
/**
* Assert object's properties type
*
* @param {object} options
* @param {object} schema
* @param {boolean?} allowUnknown
*
* @returns {object}
*/
function assertOptions(options, schema, allowUnknown) {
	if (typeof options !== "object") {
		throw new AxiosError$1("options must be an object", AxiosError$1.ERR_BAD_OPTION_VALUE);
	}
	const keys = Object.keys(options);
	let i = keys.length;
	while (i-- > 0) {
		const opt = keys[i];
		const validator = schema[opt];
		if (validator) {
			const value = options[opt];
			const result = value === undefined || validator(value, opt, options);
			if (result !== true) {
				throw new AxiosError$1("option " + opt + " must be " + result, AxiosError$1.ERR_BAD_OPTION_VALUE);
			}
			continue;
		}
		if (allowUnknown !== true) {
			throw new AxiosError$1("Unknown option " + opt, AxiosError$1.ERR_BAD_OPTION);
		}
	}
}
var validator_default = {
	assertOptions,
	validators: validators$1
};

//#endregion
//#region ../node_modules/axios/lib/core/Axios.js
const validators = validator_default.validators;
/**
* Create a new instance of Axios
*
* @param {Object} instanceConfig The default config for the instance
*
* @return {Axios} A new instance of Axios
*/
var Axios$1 = class {
	constructor(instanceConfig) {
		this.defaults = instanceConfig || {};
		this.interceptors = {
			request: new InterceptorManager(),
			response: new InterceptorManager()
		};
	}
	/**
	* Dispatch a request
	*
	* @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)
	* @param {?Object} config
	*
	* @returns {Promise} The Promise to be fulfilled
	*/
	async request(configOrUrl, config) {
		try {
			return await this._request(configOrUrl, config);
		} catch (err) {
			if (err instanceof Error) {
				let dummy = {};
				Error.captureStackTrace ? Error.captureStackTrace(dummy) : dummy = new Error();
				const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, "") : "";
				try {
					if (!err.stack) {
						err.stack = stack;
					} else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ""))) {
						err.stack += "\n" + stack;
					}
				} catch (e) {}
			}
			throw err;
		}
	}
	_request(configOrUrl, config) {
		if (typeof configOrUrl === "string") {
			config = config || {};
			config.url = configOrUrl;
		} else {
			config = configOrUrl || {};
		}
		config = mergeConfig$1(this.defaults, config);
		const { transitional, paramsSerializer, headers } = config;
		if (transitional !== undefined) {
			validator_default.assertOptions(transitional, {
				silentJSONParsing: validators.transitional(validators.boolean),
				forcedJSONParsing: validators.transitional(validators.boolean),
				clarifyTimeoutError: validators.transitional(validators.boolean)
			}, false);
		}
		if (paramsSerializer != null) {
			if (utils_default.isFunction(paramsSerializer)) {
				config.paramsSerializer = { serialize: paramsSerializer };
			} else {
				validator_default.assertOptions(paramsSerializer, {
					encode: validators.function,
					serialize: validators.function
				}, true);
			}
		}
		if (config.allowAbsoluteUrls !== undefined) {} else if (this.defaults.allowAbsoluteUrls !== undefined) {
			config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;
		} else {
			config.allowAbsoluteUrls = true;
		}
		validator_default.assertOptions(config, {
			baseUrl: validators.spelling("baseURL"),
			withXsrfToken: validators.spelling("withXSRFToken")
		}, true);
		config.method = (config.method || this.defaults.method || "get").toLowerCase();
		let contextHeaders = headers && utils_default.merge(headers.common, headers[config.method]);
		headers && utils_default.forEach([
			"delete",
			"get",
			"head",
			"post",
			"put",
			"patch",
			"common"
		], (method) => {
			delete headers[method];
		});
		config.headers = AxiosHeaders$1.concat(contextHeaders, headers);
		const requestInterceptorChain = [];
		let synchronousRequestInterceptors = true;
		this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
			if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config) === false) {
				return;
			}
			synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;
			requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);
		});
		const responseInterceptorChain = [];
		this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
			responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
		});
		let promise;
		let i = 0;
		let len;
		if (!synchronousRequestInterceptors) {
			const chain = [dispatchRequest.bind(this), undefined];
			chain.unshift(...requestInterceptorChain);
			chain.push(...responseInterceptorChain);
			len = chain.length;
			promise = Promise.resolve(config);
			while (i < len) {
				promise = promise.then(chain[i++], chain[i++]);
			}
			return promise;
		}
		len = requestInterceptorChain.length;
		let newConfig = config;
		while (i < len) {
			const onFulfilled = requestInterceptorChain[i++];
			const onRejected = requestInterceptorChain[i++];
			try {
				newConfig = onFulfilled(newConfig);
			} catch (error) {
				onRejected.call(this, error);
				break;
			}
		}
		try {
			promise = dispatchRequest.call(this, newConfig);
		} catch (error) {
			return Promise.reject(error);
		}
		i = 0;
		len = responseInterceptorChain.length;
		while (i < len) {
			promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);
		}
		return promise;
	}
	getUri(config) {
		config = mergeConfig$1(this.defaults, config);
		const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);
		return buildURL(fullPath, config.params, config.paramsSerializer);
	}
};
utils_default.forEach([
	"delete",
	"get",
	"head",
	"options"
], function forEachMethodNoData(method) {
	Axios$1.prototype[method] = function(url, config) {
		return this.request(mergeConfig$1(config || {}, {
			method,
			url,
			data: (config || {}).data
		}));
	};
});
utils_default.forEach([
	"post",
	"put",
	"patch"
], function forEachMethodWithData(method) {
	function generateHTTPMethod(isForm) {
		return function httpMethod(url, data, config) {
			return this.request(mergeConfig$1(config || {}, {
				method,
				headers: isForm ? { "Content-Type": "multipart/form-data" } : {},
				url,
				data
			}));
		};
	}
	Axios$1.prototype[method] = generateHTTPMethod();
	Axios$1.prototype[method + "Form"] = generateHTTPMethod(true);
});

//#endregion
//#region ../node_modules/axios/lib/cancel/CancelToken.js
/**
* A `CancelToken` is an object that can be used to request cancellation of an operation.
*
* @param {Function} executor The executor function.
*
* @returns {CancelToken}
*/
var CancelToken$1 = class CancelToken$1 {
	constructor(executor) {
		if (typeof executor !== "function") {
			throw new TypeError("executor must be a function.");
		}
		let resolvePromise;
		this.promise = new Promise(function promiseExecutor(resolve) {
			resolvePromise = resolve;
		});
		const token = this;
		this.promise.then((cancel) => {
			if (!token._listeners) return;
			let i = token._listeners.length;
			while (i-- > 0) {
				token._listeners[i](cancel);
			}
			token._listeners = null;
		});
		this.promise.then = (onfulfilled) => {
			let _resolve;
			const promise = new Promise((resolve) => {
				token.subscribe(resolve);
				_resolve = resolve;
			}).then(onfulfilled);
			promise.cancel = function reject() {
				token.unsubscribe(_resolve);
			};
			return promise;
		};
		executor(function cancel(message, config, request) {
			if (token.reason) {
				return;
			}
			token.reason = new CanceledError$1(message, config, request);
			resolvePromise(token.reason);
		});
	}
	/**
	* Throws a `CanceledError` if cancellation has been requested.
	*/
	throwIfRequested() {
		if (this.reason) {
			throw this.reason;
		}
	}
	/**
	* Subscribe to the cancel signal
	*/
	subscribe(listener) {
		if (this.reason) {
			listener(this.reason);
			return;
		}
		if (this._listeners) {
			this._listeners.push(listener);
		} else {
			this._listeners = [listener];
		}
	}
	/**
	* Unsubscribe from the cancel signal
	*/
	unsubscribe(listener) {
		if (!this._listeners) {
			return;
		}
		const index = this._listeners.indexOf(listener);
		if (index !== -1) {
			this._listeners.splice(index, 1);
		}
	}
	toAbortSignal() {
		const controller = new AbortController();
		const abort = (err) => {
			controller.abort(err);
		};
		this.subscribe(abort);
		controller.signal.unsubscribe = () => this.unsubscribe(abort);
		return controller.signal;
	}
	/**
	* Returns an object that contains a new `CancelToken` and a function that, when called,
	* cancels the `CancelToken`.
	*/
	static source() {
		let cancel;
		const token = new CancelToken$1(function executor(c) {
			cancel = c;
		});
		return {
			token,
			cancel
		};
	}
};

//#endregion
//#region ../node_modules/axios/lib/helpers/spread.js
/**
* Syntactic sugar for invoking a function and expanding an array for arguments.
*
* Common use case would be to use `Function.prototype.apply`.
*
*  ```js
*  function f(x, y, z) {}
*  var args = [1, 2, 3];
*  f.apply(null, args);
*  ```
*
* With `spread` this example can be re-written.
*
*  ```js
*  spread(function(x, y, z) {})([1, 2, 3]);
*  ```
*
* @param {Function} callback
*
* @returns {Function}
*/
function spread$1(callback) {
	return function wrap(arr) {
		return callback.apply(null, arr);
	};
}

//#endregion
//#region ../node_modules/axios/lib/helpers/isAxiosError.js
/**
* Determines whether the payload is an error thrown by Axios
*
* @param {*} payload The value to test
*
* @returns {boolean} True if the payload is an error thrown by Axios, otherwise false
*/
function isAxiosError$1(payload) {
	return utils_default.isObject(payload) && payload.isAxiosError === true;
}

//#endregion
//#region ../node_modules/axios/lib/helpers/HttpStatusCode.js
const HttpStatusCode$1 = {
	Continue: 100,
	SwitchingProtocols: 101,
	Processing: 102,
	EarlyHints: 103,
	Ok: 200,
	Created: 201,
	Accepted: 202,
	NonAuthoritativeInformation: 203,
	NoContent: 204,
	ResetContent: 205,
	PartialContent: 206,
	MultiStatus: 207,
	AlreadyReported: 208,
	ImUsed: 226,
	MultipleChoices: 300,
	MovedPermanently: 301,
	Found: 302,
	SeeOther: 303,
	NotModified: 304,
	UseProxy: 305,
	Unused: 306,
	TemporaryRedirect: 307,
	PermanentRedirect: 308,
	BadRequest: 400,
	Unauthorized: 401,
	PaymentRequired: 402,
	Forbidden: 403,
	NotFound: 404,
	MethodNotAllowed: 405,
	NotAcceptable: 406,
	ProxyAuthenticationRequired: 407,
	RequestTimeout: 408,
	Conflict: 409,
	Gone: 410,
	LengthRequired: 411,
	PreconditionFailed: 412,
	PayloadTooLarge: 413,
	UriTooLong: 414,
	UnsupportedMediaType: 415,
	RangeNotSatisfiable: 416,
	ExpectationFailed: 417,
	ImATeapot: 418,
	MisdirectedRequest: 421,
	UnprocessableEntity: 422,
	Locked: 423,
	FailedDependency: 424,
	TooEarly: 425,
	UpgradeRequired: 426,
	PreconditionRequired: 428,
	TooManyRequests: 429,
	RequestHeaderFieldsTooLarge: 431,
	UnavailableForLegalReasons: 451,
	InternalServerError: 500,
	NotImplemented: 501,
	BadGateway: 502,
	ServiceUnavailable: 503,
	GatewayTimeout: 504,
	HttpVersionNotSupported: 505,
	VariantAlsoNegotiates: 506,
	InsufficientStorage: 507,
	LoopDetected: 508,
	NotExtended: 510,
	NetworkAuthenticationRequired: 511
};
Object.entries(HttpStatusCode$1).forEach(([key, value]) => {
	HttpStatusCode$1[value] = key;
});

//#endregion
//#region ../node_modules/axios/lib/axios.js
/**
* Create an instance of Axios
*
* @param {Object} defaultConfig The default config for the instance
*
* @returns {Axios} A new instance of Axios
*/
function createInstance$1(defaultConfig) {
	const context = new Axios$1(defaultConfig);
	const instance = bind$1(Axios$1.prototype.request, context);
	utils_default.extend(instance, Axios$1.prototype, context, { allOwnKeys: true });
	utils_default.extend(instance, context, null, { allOwnKeys: true });
	instance.create = function create(instanceConfig) {
		return createInstance$1(mergeConfig$1(defaultConfig, instanceConfig));
	};
	return instance;
}
const axios$1 = createInstance$1(defaults$1);
axios$1.Axios = Axios$1;
axios$1.CanceledError = CanceledError$1;
axios$1.CancelToken = CancelToken$1;
axios$1.isCancel = isCancel$1;
axios$1.VERSION = VERSION$2;
axios$1.toFormData = toFormData$1;
axios$1.AxiosError = AxiosError$1;
axios$1.Cancel = axios$1.CanceledError;
axios$1.all = function all(promises) {
	return Promise.all(promises);
};
axios$1.spread = spread$1;
axios$1.isAxiosError = isAxiosError$1;
axios$1.mergeConfig = mergeConfig$1;
axios$1.AxiosHeaders = AxiosHeaders$1;
axios$1.formToJSON = (thing) => formDataToJSON(utils_default.isHTMLForm(thing) ? new FormData(thing) : thing);
axios$1.getAdapter = adapters_default.getAdapter;
axios$1.HttpStatusCode = HttpStatusCode$1;
axios$1.default = axios$1;

//#endregion
//#region ../node_modules/axios/index.js
const { Axios, AxiosError, CanceledError, isCancel, CancelToken, VERSION: VERSION$1, all, Cancel, isAxiosError, spread, toFormData, AxiosHeaders, HttpStatusCode, formToJSON, getAdapter, mergeConfig } = axios$1;

//#endregion
//#region ../utils/ai/SparkAI.js
/**
* SparkAI 客户端 - 讯飞星火认知大模型接口封装
* 
* 功能说明：
* - 封装讯飞星火认知大模型的 API 调用
* - 支持多用户上下文管理
* - 自动维护对话历史记录
* - 提供简洁的问答接口
* 
* 相关链接：
* - 服务控制台: https://console.xfyun.cn/services/bm4
* - 私有数据集: https://xinghuo.xfyun.cn/botcenter/private-dataset
*/
/**
* SparkAI 客户端类
* 
* @class SparkAI
* @description 提供与讯飞星火认知大模型服务的交互接口，支持多用户上下文管理
*/
var SparkAI = class {
	/**
	* 构造函数
	* 
	* @param {Object} config - 配置对象
	* @param {string} config.authKey - 讯飞星火的认证密钥（必需）
	* @param {string} [config.baseURL='https://spark-api-open.xf-yun.com'] - API 基础地址
	* @throws {Error} 当缺少必需的 authKey 参数时抛出错误
	*/
	constructor({ authKey, baseURL }) {
		if (!authKey) {
			throw new Error("Missing required configuration parameters.");
		}
		/** @type {string} 认证密钥 */
		this.authKey = authKey;
		/** @type {string} API 基础地址 */
		this.baseURL = baseURL || "https://spark-api-open.xf-yun.com";
		/** @type {Object<string, Array>} 存储每个用户的对话上下文 */
		this.userContexts = {};
	}
	/**
	* 初始化用户上下文
	* 
	* @param {string} userId - 用户唯一标识符
	* @description 为新用户创建初始对话上下文，包含系统提示词
	*/
	initUserContext(userId) {
		if (!this.userContexts[userId]) {
			this.userContexts[userId] = [{
				role: "system",
				content: "你是一名优秀的AI助手，知道最新的互联网内容，善用搜索引擎和github并总结最贴切的结论来回答我提出的每一个问题"
			}];
		}
	}
	/**
	* 更新用户上下文
	* 
	* @param {string} userId - 用户唯一标识符
	* @param {Object} message - 要添加的消息对象
	* @param {string} message.role - 消息角色（'user' 或 'assistant'）
	* @param {string} message.content - 消息内容
	* @description 将新消息添加到用户上下文中，并自动管理上下文长度（最多保留20条消息）
	*/
	updateUserContext(userId, message) {
		this.userContexts[userId].push(message);
		if (this.userContexts[userId].length > 20) {
			const systemMessage = this.userContexts[userId][0];
			const recentMessages = this.userContexts[userId].slice(-19);
			this.userContexts[userId] = [systemMessage, ...recentMessages];
		}
	}
	/**
	* 向讯飞星火 AI 发送问题并获取回答
	* 
	* @param {string} userId - 用户唯一标识符
	* @param {string} prompt - 用户的问题或提示
	* @param {Object} [options={}] - 可选参数
	* @param {number} [options.temperature] - 回答的随机性（0-1）
	* @param {number} [options.max_tokens] - 最大回答长度
	* @param {string} [options.model] - 使用的模型名称
	* @param {number} [options.top_p] - 核采样参数
	* @returns {Promise<string>} AI 的回答内容
	* @throws {Error} 当 API 调用失败时抛出错误
	* 
	* @example
	* const sparkAI = new SparkAI({ authKey: 'your-auth-key' });
	* const answer = await sparkAI.ask('user123', '请介绍一下人工智能的发展历程');
	* console.log(answer);
	*/
	async ask(userId, prompt, options = {}) {
		this.initUserContext(userId);
		const payload = {
			model: options.model || "4.0Ultra",
			messages: this.userContexts[userId].concat([{
				role: "user",
				content: prompt
			}]),
			...options
		};
		console.log("SparkAI API Request Payload:", payload);
		try {
			const response = await axios$1.post(`${this.baseURL}/v1/chat/completions`, payload, { headers: {
				"Content-Type": "application/json",
				Authorization: `Bearer ${this.authKey}`
			} });
			if (response.data && response.data.choices && response.data.choices.length > 0) {
				const assistantMessage = response.data.choices[0].message;
				this.updateUserContext(userId, assistantMessage);
				return assistantMessage.content;
			} else {
				throw new Error(`Error from Spark AI: ${response.data.error || "No valid response received"}`);
			}
		} catch (error) {
			console.error("Error while communicating with Spark AI:", error.message);
			if (error.response) {
				const errorMsg = error.response.data?.error?.message || error.response.statusText;
				throw new Error(`Spark AI API Error (${error.response.status}): ${errorMsg}`);
			}
			throw error;
		}
	}
};

//#endregion
//#region ../utils/ai/DeepSeek.js
/**
* DeepSeek AI 客户端 - DeepSeek AI 接口封装
* 
* 功能说明：
* - 封装 DeepSeek AI 的 API 调用
* - 支持多用户上下文管理
* - 自动维护对话历史记录
* - 提供简洁的问答接口
* 
* 相关链接：
* - 使用统计: https://platform.deepseek.com/usage
* - API Keys: https://platform.deepseek.com/api_keys
*/
/**
* DeepSeek AI 客户端类
* 
* @class DeepSeek
* @description 提供与 DeepSeek AI 服务的交互接口，支持多用户上下文管理
*/
var DeepSeek = class {
	/**
	* 构造函数
	* 
	* @param {Object} config - 配置对象
	* @param {string} config.apiKey - DeepSeek AI 的 API 密钥（必需）
	* @param {string} [config.baseURL='https://api.deepseek.com'] - API 基础地址
	* @throws {Error} 当缺少必需的 apiKey 参数时抛出错误
	*/
	constructor({ apiKey, baseURL }) {
		if (!apiKey) {
			throw new Error("Missing required configuration parameters.");
		}
		/** @type {string} API 密钥 */
		this.apiKey = apiKey;
		/** @type {string} API 基础地址 */
		this.baseURL = baseURL || "https://api.deepseek.com";
		/** @type {Object<string, Array>} 存储每个用户的对话上下文 */
		this.userContexts = {};
	}
	/**
	* 初始化用户上下文
	* 
	* @param {string} userId - 用户唯一标识符
	* @description 为新用户创建初始对话上下文，包含系统提示词
	*/
	initUserContext(userId) {
		if (!this.userContexts[userId]) {
			this.userContexts[userId] = [{
				role: "system",
				content: "你是一名优秀的AI助手，知道最新的互联网内容，善用搜索引擎和github并总结最贴切的结论来回答我提出的每一个问题"
			}];
		}
	}
	/**
	* 更新用户上下文
	* 
	* @param {string} userId - 用户唯一标识符
	* @param {Object} message - 要添加的消息对象
	* @param {string} message.role - 消息角色（'user' 或 'assistant'）
	* @param {string} message.content - 消息内容
	* @description 将新消息添加到用户上下文中，并自动管理上下文长度（最多保留20条消息）
	*/
	updateUserContext(userId, message) {
		this.userContexts[userId].push(message);
		if (this.userContexts[userId].length > 20) {
			const systemMessage = this.userContexts[userId][0];
			const recentMessages = this.userContexts[userId].slice(-19);
			this.userContexts[userId] = [systemMessage, ...recentMessages];
		}
	}
	/**
	* 向 DeepSeek AI 发送问题并获取回答
	* 
	* @param {string} userId - 用户唯一标识符
	* @param {string} prompt - 用户的问题或提示
	* @param {Object} [options={}] - 可选参数
	* @param {number} [options.temperature] - 回答的随机性（0-2）
	* @param {number} [options.max_tokens] - 最大回答长度
	* @param {string} [options.model] - 使用的模型名称
	* @param {number} [options.top_p] - 核采样参数
	* @returns {Promise<string>} AI 的回答内容
	* @throws {Error} 当 API 调用失败时抛出错误
	* 
	* @example
	* const deepseek = new DeepSeek({ apiKey: 'your-api-key' });
	* const answer = await deepseek.ask('user123', '解释一下深度学习的原理');
	* console.log(answer);
	*/
	async ask(userId, prompt, options = {}) {
		this.initUserContext(userId);
		const payload = {
			model: options.model || "deepseek-chat",
			messages: this.userContexts[userId].concat([{
				role: "user",
				content: prompt
			}]),
			...options
		};
		console.log("DeepSeek API Request Payload:", payload);
		try {
			const response = await axios$1.post(`${this.baseURL}/chat/completions`, payload, { headers: {
				"Content-Type": "application/json",
				Authorization: `Bearer ${this.apiKey}`
			} });
			if (response.data && response.data.choices && response.data.choices.length > 0) {
				const assistantMessage = response.data.choices[0].message;
				this.updateUserContext(userId, assistantMessage);
				return assistantMessage.content;
			} else {
				throw new Error(`Error from DeepSeek AI: ${response.data.error || "No valid response received"}`);
			}
		} catch (error) {
			console.error("Error while communicating with DeepSeek AI:", error.message);
			if (error.response) {
				const errorMsg = error.response.data?.error?.message || error.response.statusText;
				throw new Error(`DeepSeek AI API Error (${error.response.status}): ${errorMsg}`);
			}
			throw error;
		}
	}
};

//#endregion
//#region ../utils/ai/SparkAIBot.js
var SparkAIBot = class {
	constructor(appId, uid, assistantId, apiKey) {
		if (!appId || !assistantId) {
			throw new Error("Missing required configuration parameters.");
		}
		this.appId = appId;
		this.uid = uid || "道长";
		this.assistantId = assistantId;
		this.apiKey = apiKey;
		this.wsUrl = `wss://spark-openapi.cn-huabei-1.xf-yun.com/v1/assistants/${assistantId}`;
		this.userContexts = {};
	}
	generateSignature() {
		const timestamp = Math.floor(Date.now() / 1e3);
		const signature = `${this.appId}${timestamp}${this.apiKey}`;
		const hash = crypto$1.createHash("sha256");
		hash.update(signature);
		return hash.digest("hex");
	}
	initUserContext(userId) {
		if (!this.userContexts[userId]) {
			this.userContexts[userId] = [{
				role: "system",
				content: "你是一名优秀的AI助手，知道最新的互联网内容，善用搜索引擎和github并总结最贴切的结论来回答我提出的每一个问题"
			}];
		}
	}
	updateUserContext(userId, message) {
		this.userContexts[userId].push(message);
		if (this.userContexts[userId].length > 20) {
			this.userContexts[userId] = this.userContexts[userId].slice(-20);
		}
	}
	connectToAssistant() {
		const ws = new wrapper_default(this.wsUrl, { headers: {
			"x-signature": this.generateSignature(),
			"x-app-id": this.appId
		} });
		ws.on("open", () => {});
		return ws;
	}
	sendMessage(ws, userId, prompt) {
		const requestPayload = {
			header: {
				app_id: this.appId,
				uid: userId
			},
			parameter: { chat: {
				domain: "general",
				temperature: .5,
				top_k: 4,
				max_tokens: 2028
			} },
			payload: { message: { text: this.userContexts[userId].concat([{
				role: "user",
				content: prompt
			}]) } }
		};
		ws.send(JSON.stringify(requestPayload));
	}
	ask(userId, prompt) {
		return new Promise((resolve, reject) => {
			this.initUserContext(userId);
			const ws = this.connectToAssistant();
			let fullResponse = "";
			ws.on("message", (data) => {
				const response = JSON.parse(data);
				if (response && response.payload && response.payload.choices) {
					response.payload.choices.text.forEach((choice) => {
						fullResponse += choice.content;
					});
				}
			});
			ws.on("open", () => {
				this.sendMessage(ws, userId, prompt);
			});
			ws.on("close", () => {
				this.updateUserContext(userId, {
					role: "assistant",
					content: fullResponse
				});
				resolve(fullResponse);
			});
			ws.on("error", (error) => {
				console.error("WebSocket error:", error);
				reject(error);
			});
		});
	}
};

//#endregion
//#region ../utils/ai/Kimi.js
/**
* Kimi AI 客户端 - 月之暗面 Moonshot AI 接口封装
* 
* 功能说明：
* - 封装 Moonshot AI (Kimi) 的 API 调用
* - 支持多用户上下文管理
* - 自动维护对话历史记录
* - 提供简洁的问答接口
* 
* 相关链接：
* - API Keys: https://platform.moonshot.cn/console/api-keys
* - 使用限制: https://platform.moonshot.cn/console/limits
*/
/**
* Kimi AI 客户端类
* 
* @class Kimi
* @description 提供与 Moonshot AI 服务的交互接口，支持多用户上下文管理
*/
var Kimi = class {
	/**
	* 构造函数
	* 
	* @param {Object} config - 配置对象
	* @param {string} config.apiKey - Moonshot AI 的 API 密钥（必需）
	* @param {string} [config.baseURL='https://api.moonshot.cn/v1'] - API 基础地址
	* @throws {Error} 当缺少必需的 apiKey 参数时抛出错误
	*/
	constructor({ apiKey, baseURL }) {
		if (!apiKey) {
			throw new Error("Missing required configuration parameters.");
		}
		/** @type {string} API 密钥 */
		this.apiKey = apiKey;
		/** @type {string} API 基础地址 */
		this.baseURL = baseURL || "https://api.moonshot.cn/v1";
		/** @type {Object<string, Array>} 存储每个用户的对话上下文 */
		this.userContexts = {};
	}
	/**
	* 初始化用户上下文
	* 
	* @param {string} userId - 用户唯一标识符
	* @description 为新用户创建初始对话上下文，包含系统提示词
	*/
	initUserContext(userId) {
		if (!this.userContexts[userId]) {
			this.userContexts[userId] = [{
				role: "system",
				content: "你是一名优秀的AI助手，知道最新的互联网内容，善用搜索引擎和github并总结最贴切的结论来回答我提出的每一个问题"
			}];
		}
	}
	/**
	* 更新用户上下文
	* 
	* @param {string} userId - 用户唯一标识符
	* @param {Object} message - 要添加的消息对象
	* @param {string} message.role - 消息角色（'user' 或 'assistant'）
	* @param {string} message.content - 消息内容
	* @description 将新消息添加到用户上下文中，并自动管理上下文长度（最多保留20条消息）
	*/
	updateUserContext(userId, message) {
		this.userContexts[userId].push(message);
		if (this.userContexts[userId].length > 20) {
			const systemMessage = this.userContexts[userId][0];
			const recentMessages = this.userContexts[userId].slice(-19);
			this.userContexts[userId] = [systemMessage, ...recentMessages];
		}
	}
	/**
	* 向 Kimi AI 发送问题并获取回答
	* 
	* @param {string} userId - 用户唯一标识符
	* @param {string} prompt - 用户的问题或提示
	* @param {Object} [options={}] - 可选参数
	* @param {number} [options.temperature] - 回答的随机性（0-1）
	* @param {number} [options.max_tokens] - 最大回答长度
	* @param {string} [options.model] - 使用的模型名称
	* @returns {Promise<string>} AI 的回答内容
	* @throws {Error} 当 API 调用失败时抛出错误
	* 
	* @example
	* const kimi = new Kimi({ apiKey: 'your-api-key' });
	* const answer = await kimi.ask('user123', '什么是人工智能？');
	* console.log(answer);
	*/
	async ask(userId, prompt, options = {}) {
		this.initUserContext(userId);
		const payload = {
			model: options.model || "moonshot-v1-8k",
			messages: this.userContexts[userId].concat([{
				role: "user",
				content: prompt
			}]),
			...options
		};
		console.log("Kimi API Request Payload:", payload);
		try {
			const response = await axios$1.post(`${this.baseURL}/chat/completions`, payload, { headers: {
				"Content-Type": "application/json",
				Authorization: `Bearer ${this.apiKey}`
			} });
			if (response.data && response.data.choices && response.data.choices.length > 0) {
				const assistantMessage = response.data.choices[0].message;
				this.updateUserContext(userId, assistantMessage);
				return assistantMessage.content;
			} else {
				throw new Error(`Error from Kimi AI: ${response.data.error || "No valid response received"}`);
			}
		} catch (error) {
			console.error("Error while communicating with Kimi AI:", error.message);
			if (error.response) {
				const errorMsg = error.response.data?.error?.message || error.response.statusText;
				throw new Error(`Kimi AI API Error (${error.response.status}): ${errorMsg}`);
			}
			throw error;
		}
	}
};

//#endregion
//#region ../utils/ais.js
/**
* AI服务模块集合
* 统一导入和导出各种AI服务提供商的实现
* 
* 支持的AI服务：
* - SparkAI: 讯飞星火AI服务
* - DeepSeek: DeepSeek AI服务
* - SparkAIBot: 讯飞星火AI机器人服务
* - Kimi: Kimi AI服务
* 
* @example
* import ais from './ais.js';
* const sparkAI = new ais.SparkAI(config);
* const response = await sparkAI.chat('你好');
*/
var ais_default = {
	SparkAI,
	DeepSeek,
	SparkAIBot,
	Kimi
};

//#endregion
//#region ../node_modules/dayjs/dayjs.min.js
var require_dayjs_min = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	!function(t, e) {
		"object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : (t = "undefined" != typeof globalThis ? globalThis : t || self).dayjs = e();
	}(exports, (function() {
		"use strict";
		var t = 1e3, e = 6e4, n = 36e5, r = "millisecond", i = "second", s = "minute", u = "hour", a = "day", o = "week", c = "month", f = "quarter", h = "year", d = "date", l = "Invalid Date", $ = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, y = /\[([^\]]+)]|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, M = {
			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(t) {
				var e = [
					"th",
					"st",
					"nd",
					"rd"
				], n = t % 100;
				return "[" + t + (e[(n - 20) % 10] || e[n] || e[0]) + "]";
			}
		}, m = function(t, e, n) {
			var r = String(t);
			return !r || r.length >= e ? t : "" + Array(e + 1 - r.length).join(n) + t;
		}, v = {
			s: m,
			z: function(t) {
				var e = -t.utcOffset(), n = Math.abs(e), r = Math.floor(n / 60), i = n % 60;
				return (e <= 0 ? "+" : "-") + m(r, 2, "0") + ":" + m(i, 2, "0");
			},
			m: function t(e, n) {
				if (e.date() < n.date()) return -t(n, e);
				var r = 12 * (n.year() - e.year()) + (n.month() - e.month()), i = e.clone().add(r, c), s = n - i < 0, u = e.clone().add(r + (s ? -1 : 1), c);
				return +(-(r + (n - i) / (s ? i - u : u - i)) || 0);
			},
			a: function(t) {
				return t < 0 ? Math.ceil(t) || 0 : Math.floor(t);
			},
			p: function(t) {
				return {
					M: c,
					y: h,
					w: o,
					d: a,
					D: d,
					h: u,
					m: s,
					s: i,
					ms: r,
					Q: f
				}[t] || String(t || "").toLowerCase().replace(/s$/, "");
			},
			u: function(t) {
				return void 0 === t;
			}
		}, g = "en", D = {};
		D[g] = M;
		var p = "$isDayjsObject", S = function(t) {
			return t instanceof _ || !(!t || !t[p]);
		}, w = function t(e, n, r) {
			var i;
			if (!e) return g;
			if ("string" == typeof e) {
				var s = e.toLowerCase();
				D[s] && (i = s), n && (D[s] = n, i = s);
				var u = e.split("-");
				if (!i && u.length > 1) return t(u[0]);
			} else {
				var a = e.name;
				D[a] = e, i = a;
			}
			return !r && i && (g = i), i || !r && g;
		}, O = function(t, e) {
			if (S(t)) return t.clone();
			var n = "object" == typeof e ? e : {};
			return n.date = t, n.args = arguments, new _(n);
		}, b = v;
		b.l = w, b.i = S, b.w = function(t, e) {
			return O(t, {
				locale: e.$L,
				utc: e.$u,
				x: e.$x,
				$offset: e.$offset
			});
		};
		var _ = function() {
			function M(t) {
				this.$L = w(t.locale, null, !0), this.parse(t), this.$x = this.$x || t.x || {}, this[p] = !0;
			}
			var m = M.prototype;
			return m.parse = function(t) {
				this.$d = function(t) {
					var e = t.date, n = t.utc;
					if (null === e) return new Date(NaN);
					if (b.u(e)) return new Date();
					if (e instanceof Date) return new Date(e);
					if ("string" == typeof e && !/Z$/i.test(e)) {
						var r = e.match($);
						if (r) {
							var i = r[2] - 1 || 0, s = (r[7] || "0").substring(0, 3);
							return n ? new Date(Date.UTC(r[1], i, r[3] || 1, r[4] || 0, r[5] || 0, r[6] || 0, s)) : new Date(r[1], i, r[3] || 1, r[4] || 0, r[5] || 0, r[6] || 0, s);
						}
					}
					return new Date(e);
				}(t), this.init();
			}, m.init = function() {
				var t = this.$d;
				this.$y = t.getFullYear(), this.$M = t.getMonth(), this.$D = t.getDate(), this.$W = t.getDay(), this.$H = t.getHours(), this.$m = t.getMinutes(), this.$s = t.getSeconds(), this.$ms = t.getMilliseconds();
			}, m.$utils = function() {
				return b;
			}, m.isValid = function() {
				return !(this.$d.toString() === l);
			}, m.isSame = function(t, e) {
				var n = O(t);
				return this.startOf(e) <= n && n <= this.endOf(e);
			}, m.isAfter = function(t, e) {
				return O(t) < this.startOf(e);
			}, m.isBefore = function(t, e) {
				return this.endOf(e) < O(t);
			}, m.$g = function(t, e, n) {
				return b.u(t) ? this[e] : this.set(n, t);
			}, m.unix = function() {
				return Math.floor(this.valueOf() / 1e3);
			}, m.valueOf = function() {
				return this.$d.getTime();
			}, m.startOf = function(t, e) {
				var n = this, r = !!b.u(e) || e, f = b.p(t), l = function(t, e) {
					var i = b.w(n.$u ? Date.UTC(n.$y, e, t) : new Date(n.$y, e, t), n);
					return r ? i : i.endOf(a);
				}, $ = function(t, e) {
					return b.w(n.toDate()[t].apply(n.toDate("s"), (r ? [
						0,
						0,
						0,
						0
					] : [
						23,
						59,
						59,
						999
					]).slice(e)), n);
				}, y = this.$W, M = this.$M, m = this.$D, v = "set" + (this.$u ? "UTC" : "");
				switch (f) {
					case h: return r ? l(1, 0) : l(31, 11);
					case c: return r ? l(1, M) : l(0, M + 1);
					case o:
						var g = this.$locale().weekStart || 0, D = (y < g ? y + 7 : y) - g;
						return l(r ? m - D : m + (6 - D), M);
					case a:
					case d: return $(v + "Hours", 0);
					case u: return $(v + "Minutes", 1);
					case s: return $(v + "Seconds", 2);
					case i: return $(v + "Milliseconds", 3);
					default: return this.clone();
				}
			}, m.endOf = function(t) {
				return this.startOf(t, !1);
			}, m.$set = function(t, e) {
				var n, o = b.p(t), f = "set" + (this.$u ? "UTC" : ""), l = (n = {}, n[a] = f + "Date", n[d] = f + "Date", n[c] = f + "Month", n[h] = f + "FullYear", n[u] = f + "Hours", n[s] = f + "Minutes", n[i] = f + "Seconds", n[r] = f + "Milliseconds", n)[o], $ = o === a ? this.$D + (e - this.$W) : e;
				if (o === c || o === h) {
					var y = this.clone().set(d, 1);
					y.$d[l]($), y.init(), this.$d = y.set(d, Math.min(this.$D, y.daysInMonth())).$d;
				} else l && this.$d[l]($);
				return this.init(), this;
			}, m.set = function(t, e) {
				return this.clone().$set(t, e);
			}, m.get = function(t) {
				return this[b.p(t)]();
			}, m.add = function(r, f) {
				var d, l = this;
				r = Number(r);
				var $ = b.p(f), y = function(t) {
					var e = O(l);
					return b.w(e.date(e.date() + Math.round(t * r)), l);
				};
				if ($ === c) return this.set(c, this.$M + r);
				if ($ === h) return this.set(h, this.$y + r);
				if ($ === a) return y(1);
				if ($ === o) return y(7);
				var M = (d = {}, d[s] = e, d[u] = n, d[i] = t, d)[$] || 1, m = this.$d.getTime() + r * M;
				return b.w(m, this);
			}, m.subtract = function(t, e) {
				return this.add(-1 * t, e);
			}, m.format = function(t) {
				var e = this, n = this.$locale();
				if (!this.isValid()) return n.invalidDate || l;
				var r = t || "YYYY-MM-DDTHH:mm:ssZ", i = b.z(this), s = this.$H, u = this.$m, a = this.$M, o = n.weekdays, c = n.months, f = n.meridiem, h = function(t, n, i, s) {
					return t && (t[n] || t(e, r)) || i[n].slice(0, s);
				}, d = function(t) {
					return b.s(s % 12 || 12, t, "0");
				}, $ = f || function(t, e, n) {
					var r = t < 12 ? "AM" : "PM";
					return n ? r.toLowerCase() : r;
				};
				return r.replace(y, (function(t, r) {
					return r || function(t) {
						switch (t) {
							case "YY": return String(e.$y).slice(-2);
							case "YYYY": return b.s(e.$y, 4, "0");
							case "M": return a + 1;
							case "MM": return b.s(a + 1, 2, "0");
							case "MMM": return h(n.monthsShort, a, c, 3);
							case "MMMM": return h(c, a);
							case "D": return e.$D;
							case "DD": return b.s(e.$D, 2, "0");
							case "d": return String(e.$W);
							case "dd": return h(n.weekdaysMin, e.$W, o, 2);
							case "ddd": return h(n.weekdaysShort, e.$W, o, 3);
							case "dddd": return o[e.$W];
							case "H": return String(s);
							case "HH": return b.s(s, 2, "0");
							case "h": return d(1);
							case "hh": return d(2);
							case "a": return $(s, u, !0);
							case "A": return $(s, u, !1);
							case "m": return String(u);
							case "mm": return b.s(u, 2, "0");
							case "s": return String(e.$s);
							case "ss": return b.s(e.$s, 2, "0");
							case "SSS": return b.s(e.$ms, 3, "0");
							case "Z": return i;
						}
						return null;
					}(t) || i.replace(":", "");
				}));
			}, m.utcOffset = function() {
				return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
			}, m.diff = function(r, d, l) {
				var $, y = this, M = b.p(d), m = O(r), v = (m.utcOffset() - this.utcOffset()) * e, g = this - m, D = function() {
					return b.m(y, m);
				};
				switch (M) {
					case h:
						$ = D() / 12;
						break;
					case c:
						$ = D();
						break;
					case f:
						$ = D() / 3;
						break;
					case o:
						$ = (g - v) / 6048e5;
						break;
					case a:
						$ = (g - v) / 864e5;
						break;
					case u:
						$ = g / n;
						break;
					case s:
						$ = g / e;
						break;
					case i:
						$ = g / t;
						break;
					default: $ = g;
				}
				return l ? $ : b.a($);
			}, m.daysInMonth = function() {
				return this.endOf(c).$D;
			}, m.$locale = function() {
				return D[this.$L];
			}, m.locale = function(t, e) {
				if (!t) return this.$L;
				var n = this.clone(), r = w(t, e, !0);
				return r && (n.$L = r), n;
			}, m.clone = function() {
				return b.w(this.$d, this);
			}, m.toDate = function() {
				return new Date(this.valueOf());
			}, m.toJSON = function() {
				return this.isValid() ? this.toISOString() : null;
			}, m.toISOString = function() {
				return this.$d.toISOString();
			}, m.toString = function() {
				return this.$d.toUTCString();
			}, M;
		}(), k = _.prototype;
		return O.prototype = k, [
			["$ms", r],
			["$s", i],
			["$m", s],
			["$H", u],
			["$W", a],
			["$M", c],
			["$y", h],
			["$D", d]
		].forEach((function(t) {
			k[t[1]] = function(e) {
				return this.$g(e, t[0], t[1]);
			};
		})), O.extend = function(t, e) {
			return t.$i || (t(e, _, O), t.$i = !0), O;
		}, O.locale = w, O.isDayjs = S, O.unix = function(t) {
			return O(1e3 * t);
		}, O.en = D[g], O.Ls = D, O.p = {}, O;
	}));
}));

//#endregion
//#region ../node_modules/quick-lru/index.js
var import_dayjs_min = /* @__PURE__ */ __toESM(require_dayjs_min(), 1);
var QuickLRU = class extends Map {
	#size = 0;
	#cache = new Map();
	#oldCache = new Map();
	#maxSize;
	#maxAge;
	#onEviction;
	constructor(options = {}) {
		super();
		if (!(options.maxSize && options.maxSize > 0)) {
			throw new TypeError("`maxSize` must be a number greater than 0");
		}
		if (typeof options.maxAge === "number" && options.maxAge === 0) {
			throw new TypeError("`maxAge` must be a number greater than 0");
		}
		this.#maxSize = options.maxSize;
		this.#maxAge = options.maxAge || Number.POSITIVE_INFINITY;
		this.#onEviction = options.onEviction;
	}
	get __oldCache() {
		return this.#oldCache;
	}
	#emitEvictions(cache) {
		if (typeof this.#onEviction !== "function") {
			return;
		}
		for (const [key, item] of cache) {
			this.#onEviction(key, item.value);
		}
	}
	#deleteIfExpired(key, item) {
		if (typeof item.expiry === "number" && item.expiry <= Date.now()) {
			if (typeof this.#onEviction === "function") {
				this.#onEviction(key, item.value);
			}
			return this.delete(key);
		}
		return false;
	}
	#getOrDeleteIfExpired(key, item) {
		const deleted = this.#deleteIfExpired(key, item);
		if (deleted === false) {
			return item.value;
		}
	}
	#getItemValue(key, item) {
		return item.expiry ? this.#getOrDeleteIfExpired(key, item) : item.value;
	}
	#peek(key, cache) {
		const item = cache.get(key);
		return this.#getItemValue(key, item);
	}
	#set(key, value) {
		this.#cache.set(key, value);
		this.#size++;
		if (this.#size >= this.#maxSize) {
			this.#size = 0;
			this.#emitEvictions(this.#oldCache);
			this.#oldCache = this.#cache;
			this.#cache = new Map();
		}
	}
	#moveToRecent(key, item) {
		this.#oldCache.delete(key);
		this.#set(key, item);
	}
	*#entriesAscending() {
		for (const item of this.#oldCache) {
			const [key, value] = item;
			if (!this.#cache.has(key)) {
				const deleted = this.#deleteIfExpired(key, value);
				if (deleted === false) {
					yield item;
				}
			}
		}
		for (const item of this.#cache) {
			const [key, value] = item;
			const deleted = this.#deleteIfExpired(key, value);
			if (deleted === false) {
				yield item;
			}
		}
	}
	get(key) {
		if (this.#cache.has(key)) {
			const item = this.#cache.get(key);
			return this.#getItemValue(key, item);
		}
		if (this.#oldCache.has(key)) {
			const item = this.#oldCache.get(key);
			if (this.#deleteIfExpired(key, item) === false) {
				this.#moveToRecent(key, item);
				return item.value;
			}
		}
	}
	set(key, value, { maxAge = this.#maxAge } = {}) {
		const expiry = typeof maxAge === "number" && maxAge !== Number.POSITIVE_INFINITY ? Date.now() + maxAge : undefined;
		if (this.#cache.has(key)) {
			this.#cache.set(key, {
				value,
				expiry
			});
		} else {
			this.#set(key, {
				value,
				expiry
			});
		}
		return this;
	}
	has(key) {
		if (this.#cache.has(key)) {
			return !this.#deleteIfExpired(key, this.#cache.get(key));
		}
		if (this.#oldCache.has(key)) {
			return !this.#deleteIfExpired(key, this.#oldCache.get(key));
		}
		return false;
	}
	peek(key) {
		if (this.#cache.has(key)) {
			return this.#peek(key, this.#cache);
		}
		if (this.#oldCache.has(key)) {
			return this.#peek(key, this.#oldCache);
		}
	}
	expiresIn(key) {
		const item = this.#cache.get(key) ?? this.#oldCache.get(key);
		if (item) {
			return item.expiry ? item.expiry - Date.now() : Number.POSITIVE_INFINITY;
		}
	}
	delete(key) {
		const deleted = this.#cache.delete(key);
		if (deleted) {
			this.#size--;
		}
		return this.#oldCache.delete(key) || deleted;
	}
	clear() {
		this.#cache.clear();
		this.#oldCache.clear();
		this.#size = 0;
	}
	resize(newSize) {
		if (!(newSize && newSize > 0)) {
			throw new TypeError("`maxSize` must be a number greater than 0");
		}
		const items = [...this.#entriesAscending()];
		const removeCount = items.length - newSize;
		if (removeCount < 0) {
			this.#cache = new Map(items);
			this.#oldCache = new Map();
			this.#size = items.length;
		} else {
			if (removeCount > 0) {
				this.#emitEvictions(items.slice(0, removeCount));
			}
			this.#oldCache = new Map(items.slice(removeCount));
			this.#cache = new Map();
			this.#size = 0;
		}
		this.#maxSize = newSize;
	}
	evict(count = 1) {
		const requested = Number(count);
		if (!requested || requested <= 0) {
			return;
		}
		const items = [...this.#entriesAscending()];
		const evictCount = Math.trunc(Math.min(requested, Math.max(items.length - 1, 0)));
		if (evictCount <= 0) {
			return;
		}
		this.#emitEvictions(items.slice(0, evictCount));
		this.#oldCache = new Map(items.slice(evictCount));
		this.#cache = new Map();
		this.#size = 0;
	}
	*keys() {
		for (const [key] of this) {
			yield key;
		}
	}
	*values() {
		for (const [, value] of this) {
			yield value;
		}
	}
	*[Symbol.iterator]() {
		for (const item of this.#cache) {
			const [key, value] = item;
			const deleted = this.#deleteIfExpired(key, value);
			if (deleted === false) {
				yield [key, value.value];
			}
		}
		for (const item of this.#oldCache) {
			const [key, value] = item;
			if (!this.#cache.has(key)) {
				const deleted = this.#deleteIfExpired(key, value);
				if (deleted === false) {
					yield [key, value.value];
				}
			}
		}
	}
	*entriesDescending() {
		let items = [...this.#cache];
		for (let i = items.length - 1; i >= 0; --i) {
			const item = items[i];
			const [key, value] = item;
			const deleted = this.#deleteIfExpired(key, value);
			if (deleted === false) {
				yield [key, value.value];
			}
		}
		items = [...this.#oldCache];
		for (let i = items.length - 1; i >= 0; --i) {
			const item = items[i];
			const [key, value] = item;
			if (!this.#cache.has(key)) {
				const deleted = this.#deleteIfExpired(key, value);
				if (deleted === false) {
					yield [key, value.value];
				}
			}
		}
	}
	*entriesAscending() {
		for (const [key, value] of this.#entriesAscending()) {
			yield [key, value.value];
		}
	}
	get size() {
		if (!this.#size) {
			return this.#oldCache.size;
		}
		let oldCacheSize = 0;
		for (const key of this.#oldCache.keys()) {
			if (!this.#cache.has(key)) {
				oldCacheSize++;
			}
		}
		return Math.min(this.#size + oldCacheSize, this.#maxSize);
	}
	get maxSize() {
		return this.#maxSize;
	}
	get maxAge() {
		return this.#maxAge;
	}
	entries() {
		return this.entriesAscending();
	}
	forEach(callbackFunction, thisArgument = this) {
		for (const [key, value] of this.entriesAscending()) {
			callbackFunction.call(thisArgument, value, key, this);
		}
	}
	get [Symbol.toStringTag]() {
		return "QuickLRU";
	}
	toString() {
		return `QuickLRU(${this.size}/${this.maxSize})`;
	}
	[Symbol.for("nodejs.util.inspect.custom")]() {
		return this.toString();
	}
};

//#endregion
//#region ../node_modules/weald/node_modules/ms/dist/index.js
const e$2 = 1e3, t$2 = e$2 * 60, n$1 = t$2 * 60, r$1 = n$1 * 24, i$1 = r$1 * 7, a$1 = r$1 * 365.25, o$1 = a$1 / 12;
function s$1(e, t) {
	if (typeof e == `string`) return l$1(e);
	if (typeof e == `number`) return p$1(e, t);
	throw Error(`Value provided to ms() must be a string or number. value=${JSON.stringify(e)}`);
}
var c$1 = s$1;
function l$1(s) {
	if (typeof s != `string` || s.length === 0 || s.length > 100) throw Error(`Value provided to ms.parse() must be a string with length between 1 and 99. value=${JSON.stringify(s)}`);
	let c = /^(?<value>-?\d*\.?\d+) *(?<unit>milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|months?|mo|years?|yrs?|y)?$/i.exec(s);
	if (!c?.groups) return NaN;
	let { value: l, unit: u = `ms` } = c.groups, d = parseFloat(l), f = u.toLowerCase();
	switch (f) {
		case `years`:
		case `year`:
		case `yrs`:
		case `yr`:
		case `y`: return d * a$1;
		case `months`:
		case `month`:
		case `mo`: return d * o$1;
		case `weeks`:
		case `week`:
		case `w`: return d * i$1;
		case `days`:
		case `day`:
		case `d`: return d * r$1;
		case `hours`:
		case `hour`:
		case `hrs`:
		case `hr`:
		case `h`: return d * n$1;
		case `minutes`:
		case `minute`:
		case `mins`:
		case `min`:
		case `m`: return d * t$2;
		case `seconds`:
		case `second`:
		case `secs`:
		case `sec`:
		case `s`: return d * e$2;
		case `milliseconds`:
		case `millisecond`:
		case `msecs`:
		case `msec`:
		case `ms`: return d;
		default: throw Error(`Unknown unit "${f}" provided to ms.parse(). value=${JSON.stringify(s)}`);
	}
}
function u$1(e) {
	return l$1(e);
}
function d$1(s) {
	let c = Math.abs(s);
	return c >= a$1 ? `${Math.round(s / a$1)}y` : c >= o$1 ? `${Math.round(s / o$1)}mo` : c >= i$1 ? `${Math.round(s / i$1)}w` : c >= r$1 ? `${Math.round(s / r$1)}d` : c >= n$1 ? `${Math.round(s / n$1)}h` : c >= t$2 ? `${Math.round(s / t$2)}m` : c >= e$2 ? `${Math.round(s / e$2)}s` : `${s}ms`;
}
function f$1(s) {
	let c = Math.abs(s);
	return c >= a$1 ? m$1(s, c, a$1, `year`) : c >= o$1 ? m$1(s, c, o$1, `month`) : c >= i$1 ? m$1(s, c, i$1, `week`) : c >= r$1 ? m$1(s, c, r$1, `day`) : c >= n$1 ? m$1(s, c, n$1, `hour`) : c >= t$2 ? m$1(s, c, t$2, `minute`) : c >= e$2 ? m$1(s, c, e$2, `second`) : `${s} ms`;
}
function p$1(e, t) {
	if (typeof e != `number` || !Number.isFinite(e)) throw Error(`Value provided to ms.format() must be of type number.`);
	return t?.long ? f$1(e) : d$1(e);
}
function m$1(e, t, n, r) {
	let i = t >= n * 1.5;
	return `${Math.round(e / n)} ${r}${i ? `s` : ``}`;
}

//#endregion
//#region ../node_modules/weald/dist/src/common.js
init_supports_color();
/**
* This is the common logic for both the Node.js and web browser
* implementations of `debug()`.
*/
function setup(env) {
	createDebug.debug = createDebug;
	createDebug.default = createDebug;
	createDebug.coerce = coerce;
	createDebug.disable = disable;
	createDebug.enable = enable;
	createDebug.enabled = enabled;
	createDebug.humanize = c$1;
	createDebug.destroy = destroy;
	Object.keys(env).forEach((key) => {
		createDebug[key] = env[key];
	});
	/**
	* The currently active debug mode names, and names to skip.
	*/
	createDebug.names = [];
	createDebug.skips = [];
	/**
	* Map of special "%n" handling functions, for the debug "format" argument.
	*
	* Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
	*/
	createDebug.formatters = {};
	/**
	* Selects a color for a debug namespace
	*
	* @param {string} namespace - The namespace string for the debug instance to be colored
	* @returns {number | string} An ANSI color code for the given namespace
	*/
	function selectColor(namespace) {
		let hash = 0;
		for (let i = 0; i < namespace.length; i++) {
			hash = (hash << 5) - hash + namespace.charCodeAt(i);
			hash |= 0;
		}
		return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
	}
	createDebug.selectColor = selectColor;
	/**
	* Create a debugger with the given `namespace`.
	*
	* @param {string} namespace
	* @returns {Function}
	*/
	function createDebug(namespace, options) {
		let prevTime;
		let enableOverride = null;
		let namespacesCache;
		let enabledCache;
		function debug(...args) {
			if (!debug.enabled) {
				return;
			}
			const self = debug;
			const curr = Number(new Date());
			const ms = curr - (prevTime || curr);
			self.diff = ms;
			self.prev = prevTime;
			self.curr = curr;
			prevTime = curr;
			args[0] = createDebug.coerce(args[0]);
			if (typeof args[0] !== "string") {
				args.unshift("%O");
			}
			let index = 0;
			args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
				if (match === "%%") {
					return "%";
				}
				index++;
				const formatter = createDebug.formatters[format];
				if (typeof formatter === "function") {
					const val = args[index];
					match = formatter.call(self, val);
					args.splice(index, 1);
					index--;
				}
				return match;
			});
			createDebug.formatArgs.call(self, args);
			if (options?.onLog != null) {
				options.onLog(...args);
			}
			const logFn = self.log || createDebug.log;
			logFn.apply(self, args);
		}
		debug.namespace = namespace;
		debug.useColors = createDebug.useColors();
		debug.color = createDebug.selectColor(namespace);
		debug.extend = extend;
		debug.destroy = createDebug.destroy;
		Object.defineProperty(debug, "enabled", {
			enumerable: true,
			configurable: false,
			get: () => {
				if (enableOverride !== null) {
					return enableOverride;
				}
				if (namespacesCache !== createDebug.namespaces) {
					namespacesCache = createDebug.namespaces;
					enabledCache = createDebug.enabled(namespace);
				}
				return enabledCache;
			},
			set: (v) => {
				enableOverride = v;
			}
		});
		if (typeof createDebug.init === "function") {
			createDebug.init(debug);
		}
		return debug;
	}
	function extend(namespace, delimiter) {
		const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
		newDebug.log = this.log;
		return newDebug;
	}
	/**
	* Enables a debug mode by namespaces. This can include modes
	* separated by a colon and wildcards.
	*
	* @param {string} namespaces
	*/
	function enable(namespaces) {
		createDebug.save(namespaces);
		createDebug.namespaces = namespaces;
		createDebug.names = [];
		createDebug.skips = [];
		let i;
		const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/);
		const len = split.length;
		for (i = 0; i < len; i++) {
			if (!split[i]) {
				continue;
			}
			namespaces = split[i].replace(/\*/g, ".*?");
			if (namespaces[0] === "-") {
				createDebug.skips.push(new RegExp("^" + namespaces.substr(1) + "$"));
			} else {
				createDebug.names.push(new RegExp("^" + namespaces + "$"));
			}
		}
	}
	/**
	* Disable debug output.
	*
	* @returns {string} namespaces
	*/
	function disable() {
		const namespaces = [...createDebug.names.map(toNamespace), ...createDebug.skips.map(toNamespace).map((namespace) => "-" + namespace)].join(",");
		createDebug.enable("");
		return namespaces;
	}
	/**
	* Returns true if the given mode name is enabled, false otherwise.
	*
	* @param {string} name
	* @returns {boolean}
	*/
	function enabled(name) {
		if (name[name.length - 1] === "*") {
			return true;
		}
		let i;
		let len;
		for (i = 0, len = createDebug.skips.length; i < len; i++) {
			if (createDebug.skips[i].test(name)) {
				return false;
			}
		}
		for (i = 0, len = createDebug.names.length; i < len; i++) {
			if (createDebug.names[i].test(name)) {
				return true;
			}
		}
		return false;
	}
	/**
	* Convert regexp to namespace
	*/
	function toNamespace(regexp) {
		return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, "*");
	}
	/**
	* Coerce `val`.
	*/
	function coerce(val) {
		if (val instanceof Error) {
			return val.stack ?? val.message;
		}
		return val;
	}
	/**
	* XXX DO NOT USE. This is a temporary stub function.
	* XXX It WILL be removed in the next major release.
	*/
	function destroy() {
		console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
	}
	createDebug.setupFormatters(createDebug.formatters);
	createDebug.enable(createDebug.load());
	return createDebug;
}

//#endregion
//#region ../node_modules/weald/dist/src/node.js
/**
* @packageDocumentation
*
* This module is a fork of the [debug](https://www.npmjs.com/package/debug) module. It has been converted to TypeScript and the output is ESM.
*
* It is API compatible with no extra features or bug fixes, it should only be used if you want a 100% ESM application.
*
* ESM should be arriving in `debug@5.x.x` so this module can be retired after that.
*
* Please see [debug](https://www.npmjs.com/package/debug) for API details.
*/
/**
* Module dependencies.
*/
/**
* This is the Node.js implementation of `debug()`.
*/
/**
* Colors.
*/
let colors = [
	6,
	2,
	3,
	4,
	5,
	1
];
if (supportsColor.stderr !== false && (supportsColor.stderr ?? supportsColor).level >= 2) {
	colors = [
		20,
		21,
		26,
		27,
		32,
		33,
		38,
		39,
		40,
		41,
		42,
		43,
		44,
		45,
		56,
		57,
		62,
		63,
		68,
		69,
		74,
		75,
		76,
		77,
		78,
		79,
		80,
		81,
		92,
		93,
		98,
		99,
		112,
		113,
		128,
		129,
		134,
		135,
		148,
		149,
		160,
		161,
		162,
		163,
		164,
		165,
		166,
		167,
		168,
		169,
		170,
		171,
		172,
		173,
		178,
		179,
		184,
		185,
		196,
		197,
		198,
		199,
		200,
		201,
		202,
		203,
		204,
		205,
		206,
		207,
		208,
		209,
		214,
		215,
		220,
		221
	];
}
/**
* Build up the default `inspectOpts` object from the environment variables.
*
* $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js
*/
const inspectOpts = Object.keys(process.env).filter((key) => {
	return /^debug_/i.test(key);
}).reduce((obj, key) => {
	const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => {
		return k.toUpperCase();
	});
	let val = process.env[key];
	if (/^(yes|on|true|enabled)$/i.test(val)) {
		val = true;
	} else if (/^(no|off|false|disabled)$/i.test(val)) {
		val = false;
	} else if (val === "null") {
		val = null;
	} else {
		val = Number(val);
	}
	obj[prop] = val;
	return obj;
}, {});
/**
* Is stdout a TTY? Colored output is enabled when `true`.
*/
function useColors() {
	return "colors" in inspectOpts ? Boolean(inspectOpts.colors) : tty.isatty(process.stderr.fd);
}
/**
* Adds ANSI color escape codes if enabled.
*/
function formatArgs(args) {
	const { namespace: name, useColors } = this;
	if (useColors === true) {
		const c = this.color;
		const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c);
		const prefix = `  ${colorCode};1m${name} \u001B[0m`;
		args[0] = prefix + args[0].split("\n").join("\n" + prefix);
		args.push(colorCode + "m+" + c$1(this.diff) + "\x1B[0m");
	} else {
		args[0] = getDate() + name + " " + args[0];
	}
}
function getDate() {
	if (inspectOpts.hideDate != null) {
		return "";
	}
	return new Date().toISOString() + " ";
}
/**
* Invokes `util.format()` with the specified arguments and writes to stderr.
*/
function log$2(...args) {
	return process.stderr.write(util$1.format(...args) + "\n");
}
/**
* Save `namespaces`.
*
* @param {string} namespaces
*/
function save(namespaces) {
	if (namespaces != null) {
		process.env.DEBUG = namespaces;
	} else {
		delete process.env.DEBUG;
	}
}
/**
* Load `namespaces`.
*
* @returns {string} returns the previously persisted debug modes
*/
function load$1() {
	return process.env.DEBUG;
}
/**
* Init logic for `debug` instances.
*
* Create a new `inspectOpts` object in case `useColors` is set
* differently for a particular `debug` instance.
*/
function init$3(debug) {
	debug.inspectOpts = {};
	const keys = Object.keys(inspectOpts);
	for (let i = 0; i < keys.length; i++) {
		debug.inspectOpts[keys[i]] = inspectOpts[keys[i]];
	}
}
function setupFormatters(formatters) {
	/**
	* Map %o to `util.inspect()`, all on a single line.
	*/
	formatters.o = function(v) {
		this.inspectOpts.colors = this.useColors;
		return util$1.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" ");
	};
	/**
	* Map %O to `util.inspect()`, allowing multiple lines if needed.
	*/
	formatters.O = function(v) {
		this.inspectOpts.colors = this.useColors;
		return util$1.inspect(v, this.inspectOpts);
	};
}
var node_default = setup({
	init: init$3,
	log: log$2,
	formatArgs,
	save,
	load: load$1,
	useColors,
	setupFormatters,
	colors,
	inspectOpts
});

//#endregion
//#region ../node_modules/weald/dist/src/index.js
/**
* @packageDocumentation
*
* This module is a fork of the [debug](https://www.npmjs.com/package/debug) module. It has been converted to TypeScript and the output is ESM.
*
* It is API compatible with no extra features or bug fixes, it should only be used if you want a 100% ESM application.
*
* ESM should be arriving in `debug@5.x.x` so this module can be retired after that.
*
* Please see [debug](https://www.npmjs.com/package/debug) for API details.
*/
/**
* Module dependencies.
*/
var src_default = node_default;

//#endregion
//#region ../node_modules/dns-over-http-resolver/dist/src/utils.js
/**
* Build fetch resource for request
*/
function buildResource(serverResolver, hostname, recordType) {
	return `${serverResolver}?name=${hostname}&type=${recordType}`;
}
/**
* Use fetch to find the record
*/
async function request$2(resource, signal) {
	const req = await fetch(resource, {
		headers: new Headers({ accept: "application/dns-json" }),
		signal
	});
	const res = await req.json();
	return res;
}
/**
* Creates cache key composed by recordType and hostname
*
* @param {string} hostname
* @param {string} recordType
*/
function getCacheKey(hostname, recordType) {
	return `${recordType}_${hostname}`;
}

//#endregion
//#region ../node_modules/dns-over-http-resolver/dist/src/index.js
const log$1 = Object.assign(src_default("dns-over-http-resolver"), { error: src_default("dns-over-http-resolver:error") });
/**
* DNS over HTTP resolver.
* Uses a list of servers to resolve DNS records with HTTP requests.
*/
var Resolver = class {
	_cache;
	_TXTcache;
	_servers;
	_request;
	_abortControllers;
	/**
	* @class
	* @param {object} [options]
	* @param {number} [options.maxCache = 100] - maximum number of cached dns records
	* @param {Request} [options.request] - function to return DNSJSON
	*/
	constructor(options = {}) {
		this._cache = new QuickLRU({ maxSize: options?.maxCache ?? 100 });
		this._TXTcache = new QuickLRU({ maxSize: options?.maxCache ?? 100 });
		this._servers = ["https://cloudflare-dns.com/dns-query", "https://dns.google/resolve"];
		this._request = options.request ?? request$2;
		this._abortControllers = [];
	}
	/**
	* Cancel all outstanding DNS queries made by this resolver. Any outstanding
	* requests will be aborted and promises rejected.
	*/
	cancel() {
		this._abortControllers.forEach((controller) => {
			controller.abort();
		});
	}
	/**
	* Get an array of the IP addresses currently configured for DNS resolution.
	* These addresses are formatted according to RFC 5952. It can include a custom port.
	*/
	getServers() {
		return this._servers;
	}
	/**
	* Get a shuffled array of the IP addresses currently configured for DNS resolution.
	* These addresses are formatted according to RFC 5952. It can include a custom port.
	*/
	_getShuffledServers() {
		const newServers = [...this._servers];
		for (let i = newServers.length - 1; i > 0; i--) {
			const j = Math.floor(Math.random() * i);
			const temp = newServers[i];
			newServers[i] = newServers[j];
			newServers[j] = temp;
		}
		return newServers;
	}
	/**
	* Sets the IP address and port of servers to be used when performing DNS resolution.
	*
	* @param {string[]} servers - array of RFC 5952 formatted addresses.
	*/
	setServers(servers) {
		this._servers = servers;
	}
	async resolve(hostname, rrType = "A") {
		switch (rrType) {
			case "A": return this.resolve4(hostname);
			case "AAAA": return this.resolve6(hostname);
			case "TXT": return this.resolveTxt(hostname);
			default: throw new Error(`${rrType} is not supported`);
		}
	}
	/**
	* Uses the DNS protocol to resolve the given host name into IPv4 addresses
	*
	* @param {string} hostname - host name to resolve
	*/
	async resolve4(hostname) {
		const recordType = "A";
		const cached = this._cache.get(getCacheKey(hostname, recordType));
		if (cached != null) {
			return cached;
		}
		let aborted = false;
		for (const server of this._getShuffledServers()) {
			const controller = new AbortController();
			this._abortControllers.push(controller);
			try {
				const response = await this._request(buildResource(server, hostname, recordType), controller.signal);
				const data = response.Answer.map((a) => a.data);
				const ttl = Math.min(...response.Answer.map((a) => a.TTL));
				this._cache.set(getCacheKey(hostname, recordType), data, { maxAge: ttl });
				return data;
			} catch (err) {
				if (controller.signal.aborted) {
					aborted = true;
				}
				log$1.error(`${server} could not resolve ${hostname} record ${recordType}`);
			} finally {
				this._abortControllers = this._abortControllers.filter((c) => c !== controller);
			}
		}
		if (aborted) {
			throw Object.assign(new Error("queryA ECANCELLED"), { code: "ECANCELLED" });
		}
		throw new Error(`Could not resolve ${hostname} record ${recordType}`);
	}
	/**
	* Uses the DNS protocol to resolve the given host name into IPv6 addresses
	*
	* @param {string} hostname - host name to resolve
	*/
	async resolve6(hostname) {
		const recordType = "AAAA";
		const cached = this._cache.get(getCacheKey(hostname, recordType));
		if (cached != null) {
			return cached;
		}
		let aborted = false;
		for (const server of this._getShuffledServers()) {
			const controller = new AbortController();
			this._abortControllers.push(controller);
			try {
				const response = await this._request(buildResource(server, hostname, recordType), controller.signal);
				const data = response.Answer.map((a) => a.data);
				const ttl = Math.min(...response.Answer.map((a) => a.TTL));
				this._cache.set(getCacheKey(hostname, recordType), data, { maxAge: ttl });
				return data;
			} catch (err) {
				if (controller.signal.aborted) {
					aborted = true;
				}
				log$1.error(`${server} could not resolve ${hostname} record ${recordType}`);
			} finally {
				this._abortControllers = this._abortControllers.filter((c) => c !== controller);
			}
		}
		if (aborted) {
			throw Object.assign(new Error("queryAaaa ECANCELLED"), { code: "ECANCELLED" });
		}
		throw new Error(`Could not resolve ${hostname} record ${recordType}`);
	}
	/**
	* Uses the DNS protocol to resolve the given host name into a Text record
	*
	* @param {string} hostname - host name to resolve
	*/
	async resolveTxt(hostname) {
		const recordType = "TXT";
		const cached = this._TXTcache.get(getCacheKey(hostname, recordType));
		if (cached != null) {
			return cached;
		}
		let aborted = false;
		for (const server of this._getShuffledServers()) {
			const controller = new AbortController();
			this._abortControllers.push(controller);
			try {
				const response = await this._request(buildResource(server, hostname, recordType), controller.signal);
				const data = response.Answer.map((a) => [a.data.replace(/['"]+/g, "")]);
				const ttl = Math.min(...response.Answer.map((a) => a.TTL));
				this._TXTcache.set(getCacheKey(hostname, recordType), data, { maxAge: ttl });
				return data;
			} catch (err) {
				if (controller.signal.aborted) {
					aborted = true;
				}
				log$1.error(`${server} could not resolve ${hostname} record ${recordType}`);
			} finally {
				this._abortControllers = this._abortControllers.filter((c) => c !== controller);
			}
		}
		if (aborted) {
			throw Object.assign(new Error("queryTxt ECANCELLED"), { code: "ECANCELLED" });
		}
		throw new Error(`Could not resolve ${hostname} record ${recordType}`);
	}
	clearCache() {
		this._cache.clear();
		this._TXTcache.clear();
	}
};

//#endregion
//#region ../node_modules/agent-base/dist/helpers.js
var require_helpers = /* @__PURE__ */ __commonJSMin(((exports) => {
	var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) {
		if (k2 === undefined) k2 = k;
		var desc = Object.getOwnPropertyDescriptor(m, k);
		if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
			desc = {
				enumerable: true,
				get: function() {
					return m[k];
				}
			};
		}
		Object.defineProperty(o, k2, desc);
	}) : (function(o, m, k, k2) {
		if (k2 === undefined) k2 = k;
		o[k2] = m[k];
	}));
	var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? (function(o, v) {
		Object.defineProperty(o, "default", {
			enumerable: true,
			value: v
		});
	}) : function(o, v) {
		o["default"] = v;
	});
	var __importStar = exports && exports.__importStar || function(mod) {
		if (mod && mod.__esModule) return mod;
		var result = {};
		if (mod != null) {
			for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
		}
		__setModuleDefault(result, mod);
		return result;
	};
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.req = exports.json = exports.toBuffer = void 0;
	const http$8 = __importStar(__require("http"));
	const https$3 = __importStar(__require("https"));
	async function toBuffer(stream) {
		let length = 0;
		const chunks = [];
		for await (const chunk of stream) {
			length += chunk.length;
			chunks.push(chunk);
		}
		return Buffer.concat(chunks, length);
	}
	exports.toBuffer = toBuffer;
	async function json(stream) {
		const buf = await toBuffer(stream);
		const str = buf.toString("utf8");
		try {
			return JSON.parse(str);
		} catch (_err) {
			const err = _err;
			err.message += ` (input: ${str})`;
			throw err;
		}
	}
	exports.json = json;
	function req(url, opts = {}) {
		const href = typeof url === "string" ? url : url.href;
		const req = (href.startsWith("https:") ? https$3 : http$8).request(url, opts);
		const promise = new Promise((resolve, reject) => {
			req.once("response", resolve).once("error", reject).end();
		});
		req.then = promise.then.bind(promise);
		return req;
	}
	exports.req = req;
}));

//#endregion
//#region ../node_modules/agent-base/dist/index.js
var require_dist$5 = /* @__PURE__ */ __commonJSMin(((exports) => {
	var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) {
		if (k2 === undefined) k2 = k;
		var desc = Object.getOwnPropertyDescriptor(m, k);
		if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
			desc = {
				enumerable: true,
				get: function() {
					return m[k];
				}
			};
		}
		Object.defineProperty(o, k2, desc);
	}) : (function(o, m, k, k2) {
		if (k2 === undefined) k2 = k;
		o[k2] = m[k];
	}));
	var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? (function(o, v) {
		Object.defineProperty(o, "default", {
			enumerable: true,
			value: v
		});
	}) : function(o, v) {
		o["default"] = v;
	});
	var __importStar = exports && exports.__importStar || function(mod) {
		if (mod && mod.__esModule) return mod;
		var result = {};
		if (mod != null) {
			for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
		}
		__setModuleDefault(result, mod);
		return result;
	};
	var __exportStar = exports && exports.__exportStar || function(m, exports$6) {
		for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports$6, p)) __createBinding(exports$6, m, p);
	};
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.Agent = void 0;
	const net$5 = __importStar(__require("net"));
	const http$7 = __importStar(__require("http"));
	const https_1 = __require("https");
	__exportStar(require_helpers(), exports);
	const INTERNAL = Symbol("AgentBaseInternalState");
	var Agent = class extends http$7.Agent {
		constructor(opts) {
			super(opts);
			this[INTERNAL] = {};
		}
		/**
		* Determine whether this is an `http` or `https` request.
		*/
		isSecureEndpoint(options) {
			if (options) {
				if (typeof options.secureEndpoint === "boolean") {
					return options.secureEndpoint;
				}
				if (typeof options.protocol === "string") {
					return options.protocol === "https:";
				}
			}
			const { stack } = new Error();
			if (typeof stack !== "string") return false;
			return stack.split("\n").some((l) => l.indexOf("(https.js:") !== -1 || l.indexOf("node:https:") !== -1);
		}
		incrementSockets(name) {
			if (this.maxSockets === Infinity && this.maxTotalSockets === Infinity) {
				return null;
			}
			if (!this.sockets[name]) {
				this.sockets[name] = [];
			}
			const fakeSocket = new net$5.Socket({ writable: false });
			this.sockets[name].push(fakeSocket);
			this.totalSocketCount++;
			return fakeSocket;
		}
		decrementSockets(name, socket) {
			if (!this.sockets[name] || socket === null) {
				return;
			}
			const sockets = this.sockets[name];
			const index = sockets.indexOf(socket);
			if (index !== -1) {
				sockets.splice(index, 1);
				this.totalSocketCount--;
				if (sockets.length === 0) {
					delete this.sockets[name];
				}
			}
		}
		getName(options) {
			const secureEndpoint = this.isSecureEndpoint(options);
			if (secureEndpoint) {
				return https_1.Agent.prototype.getName.call(this, options);
			}
			return super.getName(options);
		}
		createSocket(req, options, cb) {
			const connectOpts = {
				...options,
				secureEndpoint: this.isSecureEndpoint(options)
			};
			const name = this.getName(connectOpts);
			const fakeSocket = this.incrementSockets(name);
			Promise.resolve().then(() => this.connect(req, connectOpts)).then((socket) => {
				this.decrementSockets(name, fakeSocket);
				if (socket instanceof http$7.Agent) {
					try {
						return socket.addRequest(req, connectOpts);
					} catch (err) {
						return cb(err);
					}
				}
				this[INTERNAL].currentSocket = socket;
				super.createSocket(req, options, cb);
			}, (err) => {
				this.decrementSockets(name, fakeSocket);
				cb(err);
			});
		}
		createConnection() {
			const socket = this[INTERNAL].currentSocket;
			this[INTERNAL].currentSocket = undefined;
			if (!socket) {
				throw new Error("No socket was returned in the `connect()` function");
			}
			return socket;
		}
		get defaultPort() {
			return this[INTERNAL].defaultPort ?? (this.protocol === "https:" ? 443 : 80);
		}
		set defaultPort(v) {
			if (this[INTERNAL]) {
				this[INTERNAL].defaultPort = v;
			}
		}
		get protocol() {
			return this[INTERNAL].protocol ?? (this.isSecureEndpoint() ? "https:" : "http:");
		}
		set protocol(v) {
			if (this[INTERNAL]) {
				this[INTERNAL].protocol = v;
			}
		}
	};
	exports.Agent = Agent;
}));

//#endregion
//#region ../node_modules/https-proxy-agent/dist/parse-proxy-response.js
var require_parse_proxy_response = /* @__PURE__ */ __commonJSMin(((exports) => {
	var __importDefault = exports && exports.__importDefault || function(mod) {
		return mod && mod.__esModule ? mod : { "default": mod };
	};
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.parseProxyResponse = void 0;
	const debug_1 = __importDefault(require_src());
	const debug = (0, debug_1.default)("https-proxy-agent:parse-proxy-response");
	function parseProxyResponse(socket) {
		return new Promise((resolve, reject) => {
			let buffersLength = 0;
			const buffers = [];
			function read() {
				const b = socket.read();
				if (b) ondata(b);
				else socket.once("readable", read);
			}
			function cleanup() {
				socket.removeListener("end", onend);
				socket.removeListener("error", onerror);
				socket.removeListener("readable", read);
			}
			function onend() {
				cleanup();
				debug("onend");
				reject(new Error("Proxy connection ended before receiving CONNECT response"));
			}
			function onerror(err) {
				cleanup();
				debug("onerror %o", err);
				reject(err);
			}
			function ondata(b) {
				buffers.push(b);
				buffersLength += b.length;
				const buffered = Buffer.concat(buffers, buffersLength);
				const endOfHeaders = buffered.indexOf("\r\n\r\n");
				if (endOfHeaders === -1) {
					debug("have not received end of HTTP headers yet...");
					read();
					return;
				}
				const headerParts = buffered.slice(0, endOfHeaders).toString("ascii").split("\r\n");
				const firstLine = headerParts.shift();
				if (!firstLine) {
					socket.destroy();
					return reject(new Error("No header received from proxy CONNECT response"));
				}
				const firstLineParts = firstLine.split(" ");
				const statusCode = +firstLineParts[1];
				const statusText = firstLineParts.slice(2).join(" ");
				const headers = {};
				for (const header of headerParts) {
					if (!header) continue;
					const firstColon = header.indexOf(":");
					if (firstColon === -1) {
						socket.destroy();
						return reject(new Error(`Invalid header from proxy CONNECT response: "${header}"`));
					}
					const key = header.slice(0, firstColon).toLowerCase();
					const value = header.slice(firstColon + 1).trimStart();
					const current = headers[key];
					if (typeof current === "string") {
						headers[key] = [current, value];
					} else if (Array.isArray(current)) {
						current.push(value);
					} else {
						headers[key] = value;
					}
				}
				debug("got proxy server response: %o %o", firstLine, headers);
				cleanup();
				resolve({
					connect: {
						statusCode,
						statusText,
						headers
					},
					buffered
				});
			}
			socket.on("error", onerror);
			socket.on("end", onend);
			read();
		});
	}
	exports.parseProxyResponse = parseProxyResponse;
}));

//#endregion
//#region ../node_modules/https-proxy-agent/dist/index.js
var require_dist$4 = /* @__PURE__ */ __commonJSMin(((exports) => {
	var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) {
		if (k2 === undefined) k2 = k;
		var desc = Object.getOwnPropertyDescriptor(m, k);
		if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
			desc = {
				enumerable: true,
				get: function() {
					return m[k];
				}
			};
		}
		Object.defineProperty(o, k2, desc);
	}) : (function(o, m, k, k2) {
		if (k2 === undefined) k2 = k;
		o[k2] = m[k];
	}));
	var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? (function(o, v) {
		Object.defineProperty(o, "default", {
			enumerable: true,
			value: v
		});
	}) : function(o, v) {
		o["default"] = v;
	});
	var __importStar = exports && exports.__importStar || function(mod) {
		if (mod && mod.__esModule) return mod;
		var result = {};
		if (mod != null) {
			for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
		}
		__setModuleDefault(result, mod);
		return result;
	};
	var __importDefault = exports && exports.__importDefault || function(mod) {
		return mod && mod.__esModule ? mod : { "default": mod };
	};
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.HttpsProxyAgent = void 0;
	const net$4 = __importStar(__require("net"));
	const tls$1 = __importStar(__require("tls"));
	const assert_1 = __importDefault(__require("assert"));
	const debug_1 = __importDefault(require_src());
	const agent_base_1 = require_dist$5();
	const url_1 = __require("url");
	const parse_proxy_response_1 = require_parse_proxy_response();
	const debug = (0, debug_1.default)("https-proxy-agent");
	const setServernameFromNonIpHost = (options) => {
		if (options.servername === undefined && options.host && !net$4.isIP(options.host)) {
			return {
				...options,
				servername: options.host
			};
		}
		return options;
	};
	/**
	* The `HttpsProxyAgent` implements an HTTP Agent subclass that connects to
	* the specified "HTTP(s) proxy server" in order to proxy HTTPS requests.
	*
	* Outgoing HTTP requests are first tunneled through the proxy server using the
	* `CONNECT` HTTP request method to establish a connection to the proxy server,
	* and then the proxy server connects to the destination target and issues the
	* HTTP request from the proxy server.
	*
	* `https:` requests have their socket connection upgraded to TLS once
	* the connection to the proxy server has been established.
	*/
	var HttpsProxyAgent = class extends agent_base_1.Agent {
		constructor(proxy, opts) {
			super(opts);
			this.options = { path: undefined };
			this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy;
			this.proxyHeaders = opts?.headers ?? {};
			debug("Creating new HttpsProxyAgent instance: %o", this.proxy.href);
			const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
			const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
			this.connectOpts = {
				ALPNProtocols: ["http/1.1"],
				...opts ? omit(opts, "headers") : null,
				host,
				port
			};
		}
		/**
		* Called when the node-core HTTP client library is creating a
		* new HTTP request.
		*/
		async connect(req, opts) {
			const { proxy } = this;
			if (!opts.host) {
				throw new TypeError("No \"host\" provided");
			}
			let socket;
			if (proxy.protocol === "https:") {
				debug("Creating `tls.Socket`: %o", this.connectOpts);
				socket = tls$1.connect(setServernameFromNonIpHost(this.connectOpts));
			} else {
				debug("Creating `net.Socket`: %o", this.connectOpts);
				socket = net$4.connect(this.connectOpts);
			}
			const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
			const host = net$4.isIPv6(opts.host) ? `[${opts.host}]` : opts.host;
			let payload = `CONNECT ${host}:${opts.port} HTTP/1.1\r\n`;
			if (proxy.username || proxy.password) {
				const auth = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
				headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth).toString("base64")}`;
			}
			headers.Host = `${host}:${opts.port}`;
			if (!headers["Proxy-Connection"]) {
				headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
			}
			for (const name of Object.keys(headers)) {
				payload += `${name}: ${headers[name]}\r\n`;
			}
			const proxyResponsePromise = (0, parse_proxy_response_1.parseProxyResponse)(socket);
			socket.write(`${payload}\r\n`);
			const { connect, buffered } = await proxyResponsePromise;
			req.emit("proxyConnect", connect);
			this.emit("proxyConnect", connect, req);
			if (connect.statusCode === 200) {
				req.once("socket", resume);
				if (opts.secureEndpoint) {
					debug("Upgrading socket connection to TLS");
					return tls$1.connect({
						...omit(setServernameFromNonIpHost(opts), "host", "path", "port"),
						socket
					});
				}
				return socket;
			}
			socket.destroy();
			const fakeSocket = new net$4.Socket({ writable: false });
			fakeSocket.readable = true;
			req.once("socket", (s) => {
				debug("Replaying proxy buffer for failed request");
				(0, assert_1.default)(s.listenerCount("data") > 0);
				s.push(buffered);
				s.push(null);
			});
			return fakeSocket;
		}
	};
	HttpsProxyAgent.protocols = ["http", "https"];
	exports.HttpsProxyAgent = HttpsProxyAgent;
	function resume(socket) {
		socket.resume();
	}
	function omit(obj, ...keys) {
		const ret = {};
		let key;
		for (key in obj) {
			if (!keys.includes(key)) {
				ret[key] = obj[key];
			}
		}
		return ret;
	}
}));

//#endregion
//#region ../node_modules/lru-cache/dist/mjs/index.js
var import_dist$1 = require_dist$4();
/**
* @module LRUCache
*/
const perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date;
const warned = new Set();
/* c8 ignore start */
const PROCESS = typeof process === "object" && !!process ? process : {};
/* c8 ignore start */
const emitWarning = (msg, type, code, fn) => {
	typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type, code, fn) : console.error(`[${code}] ${type}: ${msg}`);
};
let AC = globalThis.AbortController;
let AS = globalThis.AbortSignal;
/* c8 ignore start */
if (typeof AC === "undefined") {
	AS = class AbortSignal {
		onabort;
		_onabort = [];
		reason;
		aborted = false;
		addEventListener(_, fn) {
			this._onabort.push(fn);
		}
	};
	AC = class AbortController {
		constructor() {
			warnACPolyfill();
		}
		signal = new AS();
		abort(reason) {
			if (this.signal.aborted) return;
			this.signal.reason = reason;
			this.signal.aborted = true;
			for (const fn of this.signal._onabort) {
				fn(reason);
			}
			this.signal.onabort?.(reason);
		}
	};
	let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
	const warnACPolyfill = () => {
		if (!printACPolyfillWarning) return;
		printACPolyfillWarning = false;
		emitWarning("AbortController is not defined. If using lru-cache in " + "node 14, load an AbortController polyfill from the " + "`node-abort-controller` package. A minimal polyfill is " + "provided for use by LRUCache.fetch(), but it should not be " + "relied upon in other contexts (eg, passing it to other APIs that " + "use AbortController/AbortSignal might have undesirable effects). " + "You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill);
	};
}
/* c8 ignore stop */
const shouldWarn = (code) => !warned.has(code);
const TYPE = Symbol("type");
const isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);
/* c8 ignore start */
const getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null;
/* c8 ignore stop */
var ZeroArray = class extends Array {
	constructor(size) {
		super(size);
		this.fill(0);
	}
};
var Stack = class Stack {
	heap;
	length;
	static #constructing = false;
	static create(max) {
		const HeapCls = getUintArray(max);
		if (!HeapCls) return [];
		Stack.#constructing = true;
		const s = new Stack(max, HeapCls);
		Stack.#constructing = false;
		return s;
	}
	constructor(max, HeapCls) {
		/* c8 ignore start */
		if (!Stack.#constructing) {
			throw new TypeError("instantiate Stack using Stack.create(n)");
		}
		/* c8 ignore stop */
		this.heap = new HeapCls(max);
		this.length = 0;
	}
	push(n) {
		this.heap[this.length++] = n;
	}
	pop() {
		return this.heap[--this.length];
	}
};
/**
* Default export, the thing you're using this module to get.
*
* All properties from the options object (with the exception of
* {@link OptionsBase.max} and {@link OptionsBase.maxSize}) are added as
* normal public members. (`max` and `maxBase` are read-only getters.)
* Changing any of these will alter the defaults for subsequent method calls,
* but is otherwise safe.
*/
var LRUCache = class LRUCache {
	#max;
	#maxSize;
	#dispose;
	#disposeAfter;
	#fetchMethod;
	/**
	* {@link LRUCache.OptionsBase.ttl}
	*/
	ttl;
	/**
	* {@link LRUCache.OptionsBase.ttlResolution}
	*/
	ttlResolution;
	/**
	* {@link LRUCache.OptionsBase.ttlAutopurge}
	*/
	ttlAutopurge;
	/**
	* {@link LRUCache.OptionsBase.updateAgeOnGet}
	*/
	updateAgeOnGet;
	/**
	* {@link LRUCache.OptionsBase.updateAgeOnHas}
	*/
	updateAgeOnHas;
	/**
	* {@link LRUCache.OptionsBase.allowStale}
	*/
	allowStale;
	/**
	* {@link LRUCache.OptionsBase.noDisposeOnSet}
	*/
	noDisposeOnSet;
	/**
	* {@link LRUCache.OptionsBase.noUpdateTTL}
	*/
	noUpdateTTL;
	/**
	* {@link LRUCache.OptionsBase.maxEntrySize}
	*/
	maxEntrySize;
	/**
	* {@link LRUCache.OptionsBase.sizeCalculation}
	*/
	sizeCalculation;
	/**
	* {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
	*/
	noDeleteOnFetchRejection;
	/**
	* {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
	*/
	noDeleteOnStaleGet;
	/**
	* {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
	*/
	allowStaleOnFetchAbort;
	/**
	* {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
	*/
	allowStaleOnFetchRejection;
	/**
	* {@link LRUCache.OptionsBase.ignoreFetchAbort}
	*/
	ignoreFetchAbort;
	#size;
	#calculatedSize;
	#keyMap;
	#keyList;
	#valList;
	#next;
	#prev;
	#head;
	#tail;
	#free;
	#disposed;
	#sizes;
	#starts;
	#ttls;
	#hasDispose;
	#hasFetchMethod;
	#hasDisposeAfter;
	/**
	* Do not call this method unless you need to inspect the
	* inner workings of the cache.  If anything returned by this
	* object is modified in any way, strange breakage may occur.
	*
	* These fields are private for a reason!
	*
	* @internal
	*/
	static unsafeExposeInternals(c) {
		return {
			starts: c.#starts,
			ttls: c.#ttls,
			sizes: c.#sizes,
			keyMap: c.#keyMap,
			keyList: c.#keyList,
			valList: c.#valList,
			next: c.#next,
			prev: c.#prev,
			get head() {
				return c.#head;
			},
			get tail() {
				return c.#tail;
			},
			free: c.#free,
			isBackgroundFetch: (p) => c.#isBackgroundFetch(p),
			backgroundFetch: (k, index, options, context) => c.#backgroundFetch(k, index, options, context),
			moveToTail: (index) => c.#moveToTail(index),
			indexes: (options) => c.#indexes(options),
			rindexes: (options) => c.#rindexes(options),
			isStale: (index) => c.#isStale(index)
		};
	}
	/**
	* {@link LRUCache.OptionsBase.max} (read-only)
	*/
	get max() {
		return this.#max;
	}
	/**
	* {@link LRUCache.OptionsBase.maxSize} (read-only)
	*/
	get maxSize() {
		return this.#maxSize;
	}
	/**
	* The total computed size of items in the cache (read-only)
	*/
	get calculatedSize() {
		return this.#calculatedSize;
	}
	/**
	* The number of items stored in the cache (read-only)
	*/
	get size() {
		return this.#size;
	}
	/**
	* {@link LRUCache.OptionsBase.fetchMethod} (read-only)
	*/
	get fetchMethod() {
		return this.#fetchMethod;
	}
	/**
	* {@link LRUCache.OptionsBase.dispose} (read-only)
	*/
	get dispose() {
		return this.#dispose;
	}
	/**
	* {@link LRUCache.OptionsBase.disposeAfter} (read-only)
	*/
	get disposeAfter() {
		return this.#disposeAfter;
	}
	constructor(options) {
		const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options;
		if (max !== 0 && !isPosInt(max)) {
			throw new TypeError("max option must be a nonnegative integer");
		}
		const UintArray = max ? getUintArray(max) : Array;
		if (!UintArray) {
			throw new Error("invalid max value: " + max);
		}
		this.#max = max;
		this.#maxSize = maxSize;
		this.maxEntrySize = maxEntrySize || this.#maxSize;
		this.sizeCalculation = sizeCalculation;
		if (this.sizeCalculation) {
			if (!this.#maxSize && !this.maxEntrySize) {
				throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
			}
			if (typeof this.sizeCalculation !== "function") {
				throw new TypeError("sizeCalculation set to non-function");
			}
		}
		if (fetchMethod !== undefined && typeof fetchMethod !== "function") {
			throw new TypeError("fetchMethod must be a function if specified");
		}
		this.#fetchMethod = fetchMethod;
		this.#hasFetchMethod = !!fetchMethod;
		this.#keyMap = new Map();
		this.#keyList = new Array(max).fill(undefined);
		this.#valList = new Array(max).fill(undefined);
		this.#next = new UintArray(max);
		this.#prev = new UintArray(max);
		this.#head = 0;
		this.#tail = 0;
		this.#free = Stack.create(max);
		this.#size = 0;
		this.#calculatedSize = 0;
		if (typeof dispose === "function") {
			this.#dispose = dispose;
		}
		if (typeof disposeAfter === "function") {
			this.#disposeAfter = disposeAfter;
			this.#disposed = [];
		} else {
			this.#disposeAfter = undefined;
			this.#disposed = undefined;
		}
		this.#hasDispose = !!this.#dispose;
		this.#hasDisposeAfter = !!this.#disposeAfter;
		this.noDisposeOnSet = !!noDisposeOnSet;
		this.noUpdateTTL = !!noUpdateTTL;
		this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
		this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
		this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
		this.ignoreFetchAbort = !!ignoreFetchAbort;
		if (this.maxEntrySize !== 0) {
			if (this.#maxSize !== 0) {
				if (!isPosInt(this.#maxSize)) {
					throw new TypeError("maxSize must be a positive integer if specified");
				}
			}
			if (!isPosInt(this.maxEntrySize)) {
				throw new TypeError("maxEntrySize must be a positive integer if specified");
			}
			this.#initializeSizeTracking();
		}
		this.allowStale = !!allowStale;
		this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
		this.updateAgeOnGet = !!updateAgeOnGet;
		this.updateAgeOnHas = !!updateAgeOnHas;
		this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1;
		this.ttlAutopurge = !!ttlAutopurge;
		this.ttl = ttl || 0;
		if (this.ttl) {
			if (!isPosInt(this.ttl)) {
				throw new TypeError("ttl must be a positive integer if specified");
			}
			this.#initializeTTLTracking();
		}
		if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {
			throw new TypeError("At least one of max, maxSize, or ttl is required");
		}
		if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {
			const code = "LRU_CACHE_UNBOUNDED";
			if (shouldWarn(code)) {
				warned.add(code);
				const msg = "TTL caching without ttlAutopurge, max, or maxSize can " + "result in unbounded memory consumption.";
				emitWarning(msg, "UnboundedCacheWarning", code, LRUCache);
			}
		}
	}
	/**
	* Return the remaining TTL time for a given entry key
	*/
	getRemainingTTL(key) {
		return this.#keyMap.has(key) ? Infinity : 0;
	}
	#initializeTTLTracking() {
		const ttls = new ZeroArray(this.#max);
		const starts = new ZeroArray(this.#max);
		this.#ttls = ttls;
		this.#starts = starts;
		this.#setItemTTL = (index, ttl, start = perf.now()) => {
			starts[index] = ttl !== 0 ? start : 0;
			ttls[index] = ttl;
			if (ttl !== 0 && this.ttlAutopurge) {
				const t = setTimeout(() => {
					if (this.#isStale(index)) {
						this.delete(this.#keyList[index]);
					}
				}, ttl + 1);
				/* c8 ignore start */
				if (t.unref) {
					t.unref();
				}
			}
		};
		this.#updateItemAge = (index) => {
			starts[index] = ttls[index] !== 0 ? perf.now() : 0;
		};
		this.#statusTTL = (status, index) => {
			if (ttls[index]) {
				const ttl = ttls[index];
				const start = starts[index];
				status.ttl = ttl;
				status.start = start;
				status.now = cachedNow || getNow();
				const age = status.now - start;
				status.remainingTTL = ttl - age;
			}
		};
		let cachedNow = 0;
		const getNow = () => {
			const n = perf.now();
			if (this.ttlResolution > 0) {
				cachedNow = n;
				const t = setTimeout(() => cachedNow = 0, this.ttlResolution);
				/* c8 ignore start */
				if (t.unref) {
					t.unref();
				}
			}
			return n;
		};
		this.getRemainingTTL = (key) => {
			const index = this.#keyMap.get(key);
			if (index === undefined) {
				return 0;
			}
			const ttl = ttls[index];
			const start = starts[index];
			if (ttl === 0 || start === 0) {
				return Infinity;
			}
			const age = (cachedNow || getNow()) - start;
			return ttl - age;
		};
		this.#isStale = (index) => {
			return ttls[index] !== 0 && starts[index] !== 0 && (cachedNow || getNow()) - starts[index] > ttls[index];
		};
	}
	#updateItemAge = () => {};
	#statusTTL = () => {};
	#setItemTTL = () => {};
	/* c8 ignore stop */
	#isStale = () => false;
	#initializeSizeTracking() {
		const sizes = new ZeroArray(this.#max);
		this.#calculatedSize = 0;
		this.#sizes = sizes;
		this.#removeItemSize = (index) => {
			this.#calculatedSize -= sizes[index];
			sizes[index] = 0;
		};
		this.#requireSize = (k, v, size, sizeCalculation) => {
			if (this.#isBackgroundFetch(v)) {
				return 0;
			}
			if (!isPosInt(size)) {
				if (sizeCalculation) {
					if (typeof sizeCalculation !== "function") {
						throw new TypeError("sizeCalculation must be a function");
					}
					size = sizeCalculation(v, k);
					if (!isPosInt(size)) {
						throw new TypeError("sizeCalculation return invalid (expect positive integer)");
					}
				} else {
					throw new TypeError("invalid size value (must be positive integer). " + "When maxSize or maxEntrySize is used, sizeCalculation " + "or size must be set.");
				}
			}
			return size;
		};
		this.#addItemSize = (index, size, status) => {
			sizes[index] = size;
			if (this.#maxSize) {
				const maxSize = this.#maxSize - sizes[index];
				while (this.#calculatedSize > maxSize) {
					this.#evict(true);
				}
			}
			this.#calculatedSize += sizes[index];
			if (status) {
				status.entrySize = size;
				status.totalCalculatedSize = this.#calculatedSize;
			}
		};
	}
	#removeItemSize = (_i) => {};
	#addItemSize = (_i, _s, _st) => {};
	#requireSize = (_k, _v, size, sizeCalculation) => {
		if (size || sizeCalculation) {
			throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
		}
		return 0;
	};
	*#indexes({ allowStale = this.allowStale } = {}) {
		if (this.#size) {
			for (let i = this.#tail; true;) {
				if (!this.#isValidIndex(i)) {
					break;
				}
				if (allowStale || !this.#isStale(i)) {
					yield i;
				}
				if (i === this.#head) {
					break;
				} else {
					i = this.#prev[i];
				}
			}
		}
	}
	*#rindexes({ allowStale = this.allowStale } = {}) {
		if (this.#size) {
			for (let i = this.#head; true;) {
				if (!this.#isValidIndex(i)) {
					break;
				}
				if (allowStale || !this.#isStale(i)) {
					yield i;
				}
				if (i === this.#tail) {
					break;
				} else {
					i = this.#next[i];
				}
			}
		}
	}
	#isValidIndex(index) {
		return index !== undefined && this.#keyMap.get(this.#keyList[index]) === index;
	}
	/**
	* Return a generator yielding `[key, value]` pairs,
	* in order from most recently used to least recently used.
	*/
	*entries() {
		for (const i of this.#indexes()) {
			if (this.#valList[i] !== undefined && this.#keyList[i] !== undefined && !this.#isBackgroundFetch(this.#valList[i])) {
				yield [this.#keyList[i], this.#valList[i]];
			}
		}
	}
	/**
	* Inverse order version of {@link LRUCache.entries}
	*
	* Return a generator yielding `[key, value]` pairs,
	* in order from least recently used to most recently used.
	*/
	*rentries() {
		for (const i of this.#rindexes()) {
			if (this.#valList[i] !== undefined && this.#keyList[i] !== undefined && !this.#isBackgroundFetch(this.#valList[i])) {
				yield [this.#keyList[i], this.#valList[i]];
			}
		}
	}
	/**
	* Return a generator yielding the keys in the cache,
	* in order from most recently used to least recently used.
	*/
	*keys() {
		for (const i of this.#indexes()) {
			const k = this.#keyList[i];
			if (k !== undefined && !this.#isBackgroundFetch(this.#valList[i])) {
				yield k;
			}
		}
	}
	/**
	* Inverse order version of {@link LRUCache.keys}
	*
	* Return a generator yielding the keys in the cache,
	* in order from least recently used to most recently used.
	*/
	*rkeys() {
		for (const i of this.#rindexes()) {
			const k = this.#keyList[i];
			if (k !== undefined && !this.#isBackgroundFetch(this.#valList[i])) {
				yield k;
			}
		}
	}
	/**
	* Return a generator yielding the values in the cache,
	* in order from most recently used to least recently used.
	*/
	*values() {
		for (const i of this.#indexes()) {
			const v = this.#valList[i];
			if (v !== undefined && !this.#isBackgroundFetch(this.#valList[i])) {
				yield this.#valList[i];
			}
		}
	}
	/**
	* Inverse order version of {@link LRUCache.values}
	*
	* Return a generator yielding the values in the cache,
	* in order from least recently used to most recently used.
	*/
	*rvalues() {
		for (const i of this.#rindexes()) {
			const v = this.#valList[i];
			if (v !== undefined && !this.#isBackgroundFetch(this.#valList[i])) {
				yield this.#valList[i];
			}
		}
	}
	/**
	* Iterating over the cache itself yields the same results as
	* {@link LRUCache.entries}
	*/
	[Symbol.iterator]() {
		return this.entries();
	}
	/**
	* Find a value for which the supplied fn method returns a truthy value,
	* similar to Array.find().  fn is called as fn(value, key, cache).
	*/
	find(fn, getOptions = {}) {
		for (const i of this.#indexes()) {
			const v = this.#valList[i];
			const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
			if (value === undefined) continue;
			if (fn(value, this.#keyList[i], this)) {
				return this.get(this.#keyList[i], getOptions);
			}
		}
	}
	/**
	* Call the supplied function on each item in the cache, in order from
	* most recently used to least recently used.  fn is called as
	* fn(value, key, cache).  Does not update age or recenty of use.
	* Does not iterate over stale values.
	*/
	forEach(fn, thisp = this) {
		for (const i of this.#indexes()) {
			const v = this.#valList[i];
			const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
			if (value === undefined) continue;
			fn.call(thisp, value, this.#keyList[i], this);
		}
	}
	/**
	* The same as {@link LRUCache.forEach} but items are iterated over in
	* reverse order.  (ie, less recently used items are iterated over first.)
	*/
	rforEach(fn, thisp = this) {
		for (const i of this.#rindexes()) {
			const v = this.#valList[i];
			const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
			if (value === undefined) continue;
			fn.call(thisp, value, this.#keyList[i], this);
		}
	}
	/**
	* Delete any stale entries. Returns true if anything was removed,
	* false otherwise.
	*/
	purgeStale() {
		let deleted = false;
		for (const i of this.#rindexes({ allowStale: true })) {
			if (this.#isStale(i)) {
				this.delete(this.#keyList[i]);
				deleted = true;
			}
		}
		return deleted;
	}
	/**
	* Return an array of [key, {@link LRUCache.Entry}] tuples which can be
	* passed to cache.load()
	*/
	dump() {
		const arr = [];
		for (const i of this.#indexes({ allowStale: true })) {
			const key = this.#keyList[i];
			const v = this.#valList[i];
			const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
			if (value === undefined || key === undefined) continue;
			const entry = { value };
			if (this.#ttls && this.#starts) {
				entry.ttl = this.#ttls[i];
				const age = perf.now() - this.#starts[i];
				entry.start = Math.floor(Date.now() - age);
			}
			if (this.#sizes) {
				entry.size = this.#sizes[i];
			}
			arr.unshift([key, entry]);
		}
		return arr;
	}
	/**
	* Reset the cache and load in the items in entries in the order listed.
	* Note that the shape of the resulting cache may be different if the
	* same options are not used in both caches.
	*/
	load(arr) {
		this.clear();
		for (const [key, entry] of arr) {
			if (entry.start) {
				const age = Date.now() - entry.start;
				entry.start = perf.now() - age;
			}
			this.set(key, entry.value, entry);
		}
	}
	/**
	* Add a value to the cache.
	*
	* Note: if `undefined` is specified as a value, this is an alias for
	* {@link LRUCache#delete}
	*/
	set(k, v, setOptions = {}) {
		if (v === undefined) {
			this.delete(k);
			return this;
		}
		const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions;
		let { noUpdateTTL = this.noUpdateTTL } = setOptions;
		const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);
		if (this.maxEntrySize && size > this.maxEntrySize) {
			if (status) {
				status.set = "miss";
				status.maxEntrySizeExceeded = true;
			}
			this.delete(k);
			return this;
		}
		let index = this.#size === 0 ? undefined : this.#keyMap.get(k);
		if (index === undefined) {
			index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size;
			this.#keyList[index] = k;
			this.#valList[index] = v;
			this.#keyMap.set(k, index);
			this.#next[this.#tail] = index;
			this.#prev[index] = this.#tail;
			this.#tail = index;
			this.#size++;
			this.#addItemSize(index, size, status);
			if (status) status.set = "add";
			noUpdateTTL = false;
		} else {
			this.#moveToTail(index);
			const oldVal = this.#valList[index];
			if (v !== oldVal) {
				if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
					oldVal.__abortController.abort(new Error("replaced"));
				} else if (!noDisposeOnSet) {
					if (this.#hasDispose) {
						this.#dispose?.(oldVal, k, "set");
					}
					if (this.#hasDisposeAfter) {
						this.#disposed?.push([
							oldVal,
							k,
							"set"
						]);
					}
				}
				this.#removeItemSize(index);
				this.#addItemSize(index, size, status);
				this.#valList[index] = v;
				if (status) {
					status.set = "replace";
					const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal;
					if (oldValue !== undefined) status.oldValue = oldValue;
				}
			} else if (status) {
				status.set = "update";
			}
		}
		if (ttl !== 0 && !this.#ttls) {
			this.#initializeTTLTracking();
		}
		if (this.#ttls) {
			if (!noUpdateTTL) {
				this.#setItemTTL(index, ttl, start);
			}
			if (status) this.#statusTTL(status, index);
		}
		if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
			const dt = this.#disposed;
			let task;
			while (task = dt?.shift()) {
				this.#disposeAfter?.(...task);
			}
		}
		return this;
	}
	/**
	* Evict the least recently used item, returning its value or
	* `undefined` if cache is empty.
	*/
	pop() {
		try {
			while (this.#size) {
				const val = this.#valList[this.#head];
				this.#evict(true);
				if (this.#isBackgroundFetch(val)) {
					if (val.__staleWhileFetching) {
						return val.__staleWhileFetching;
					}
				} else if (val !== undefined) {
					return val;
				}
			}
		} finally {
			if (this.#hasDisposeAfter && this.#disposed) {
				const dt = this.#disposed;
				let task;
				while (task = dt?.shift()) {
					this.#disposeAfter?.(...task);
				}
			}
		}
	}
	#evict(free) {
		const head = this.#head;
		const k = this.#keyList[head];
		const v = this.#valList[head];
		if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
			v.__abortController.abort(new Error("evicted"));
		} else if (this.#hasDispose || this.#hasDisposeAfter) {
			if (this.#hasDispose) {
				this.#dispose?.(v, k, "evict");
			}
			if (this.#hasDisposeAfter) {
				this.#disposed?.push([
					v,
					k,
					"evict"
				]);
			}
		}
		this.#removeItemSize(head);
		if (free) {
			this.#keyList[head] = undefined;
			this.#valList[head] = undefined;
			this.#free.push(head);
		}
		if (this.#size === 1) {
			this.#head = this.#tail = 0;
			this.#free.length = 0;
		} else {
			this.#head = this.#next[head];
		}
		this.#keyMap.delete(k);
		this.#size--;
		return head;
	}
	/**
	* Check if a key is in the cache, without updating the recency of use.
	* Will return false if the item is stale, even though it is technically
	* in the cache.
	*
	* Will not update item age unless
	* {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
	*/
	has(k, hasOptions = {}) {
		const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;
		const index = this.#keyMap.get(k);
		if (index !== undefined) {
			const v = this.#valList[index];
			if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === undefined) {
				return false;
			}
			if (!this.#isStale(index)) {
				if (updateAgeOnHas) {
					this.#updateItemAge(index);
				}
				if (status) {
					status.has = "hit";
					this.#statusTTL(status, index);
				}
				return true;
			} else if (status) {
				status.has = "stale";
				this.#statusTTL(status, index);
			}
		} else if (status) {
			status.has = "miss";
		}
		return false;
	}
	/**
	* Like {@link LRUCache#get} but doesn't update recency or delete stale
	* items.
	*
	* Returns `undefined` if the item is stale, unless
	* {@link LRUCache.OptionsBase.allowStale} is set.
	*/
	peek(k, peekOptions = {}) {
		const { allowStale = this.allowStale } = peekOptions;
		const index = this.#keyMap.get(k);
		if (index !== undefined && (allowStale || !this.#isStale(index))) {
			const v = this.#valList[index];
			return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
		}
	}
	#backgroundFetch(k, index, options, context) {
		const v = index === undefined ? undefined : this.#valList[index];
		if (this.#isBackgroundFetch(v)) {
			return v;
		}
		const ac = new AC();
		const { signal } = options;
		signal?.addEventListener("abort", () => ac.abort(signal.reason), { signal: ac.signal });
		const fetchOpts = {
			signal: ac.signal,
			options,
			context
		};
		const cb = (v, updateCache = false) => {
			const { aborted } = ac.signal;
			const ignoreAbort = options.ignoreFetchAbort && v !== undefined;
			if (options.status) {
				if (aborted && !updateCache) {
					options.status.fetchAborted = true;
					options.status.fetchError = ac.signal.reason;
					if (ignoreAbort) options.status.fetchAbortIgnored = true;
				} else {
					options.status.fetchResolved = true;
				}
			}
			if (aborted && !ignoreAbort && !updateCache) {
				return fetchFail(ac.signal.reason);
			}
			const bf = p;
			if (this.#valList[index] === p) {
				if (v === undefined) {
					if (bf.__staleWhileFetching) {
						this.#valList[index] = bf.__staleWhileFetching;
					} else {
						this.delete(k);
					}
				} else {
					if (options.status) options.status.fetchUpdated = true;
					this.set(k, v, fetchOpts.options);
				}
			}
			return v;
		};
		const eb = (er) => {
			if (options.status) {
				options.status.fetchRejected = true;
				options.status.fetchError = er;
			}
			return fetchFail(er);
		};
		const fetchFail = (er) => {
			const { aborted } = ac.signal;
			const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;
			const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
			const noDelete = allowStale || options.noDeleteOnFetchRejection;
			const bf = p;
			if (this.#valList[index] === p) {
				const del = !noDelete || bf.__staleWhileFetching === undefined;
				if (del) {
					this.delete(k);
				} else if (!allowStaleAborted) {
					this.#valList[index] = bf.__staleWhileFetching;
				}
			}
			if (allowStale) {
				if (options.status && bf.__staleWhileFetching !== undefined) {
					options.status.returnedStale = true;
				}
				return bf.__staleWhileFetching;
			} else if (bf.__returned === bf) {
				throw er;
			}
		};
		const pcall = (res, rej) => {
			const fmp = this.#fetchMethod?.(k, v, fetchOpts);
			if (fmp && fmp instanceof Promise) {
				fmp.then((v) => res(v), rej);
			}
			ac.signal.addEventListener("abort", () => {
				if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) {
					res();
					if (options.allowStaleOnFetchAbort) {
						res = (v) => cb(v, true);
					}
				}
			});
		};
		if (options.status) options.status.fetchDispatched = true;
		const p = new Promise(pcall).then(cb, eb);
		const bf = Object.assign(p, {
			__abortController: ac,
			__staleWhileFetching: v,
			__returned: undefined
		});
		if (index === undefined) {
			this.set(k, bf, {
				...fetchOpts.options,
				status: undefined
			});
			index = this.#keyMap.get(k);
		} else {
			this.#valList[index] = bf;
		}
		return bf;
	}
	#isBackgroundFetch(p) {
		if (!this.#hasFetchMethod) return false;
		const b = p;
		return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC;
	}
	async fetch(k, fetchOptions = {}) {
		const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, ttl = this.ttl, noDisposeOnSet = this.noDisposeOnSet, size = 0, sizeCalculation = this.sizeCalculation, noUpdateTTL = this.noUpdateTTL, noDeleteOnFetchRejection = this.noDeleteOnFetchRejection, allowStaleOnFetchRejection = this.allowStaleOnFetchRejection, ignoreFetchAbort = this.ignoreFetchAbort, allowStaleOnFetchAbort = this.allowStaleOnFetchAbort, context, forceRefresh = false, status, signal } = fetchOptions;
		if (!this.#hasFetchMethod) {
			if (status) status.fetch = "get";
			return this.get(k, {
				allowStale,
				updateAgeOnGet,
				noDeleteOnStaleGet,
				status
			});
		}
		const options = {
			allowStale,
			updateAgeOnGet,
			noDeleteOnStaleGet,
			ttl,
			noDisposeOnSet,
			size,
			sizeCalculation,
			noUpdateTTL,
			noDeleteOnFetchRejection,
			allowStaleOnFetchRejection,
			allowStaleOnFetchAbort,
			ignoreFetchAbort,
			status,
			signal
		};
		let index = this.#keyMap.get(k);
		if (index === undefined) {
			if (status) status.fetch = "miss";
			const p = this.#backgroundFetch(k, index, options, context);
			return p.__returned = p;
		} else {
			const v = this.#valList[index];
			if (this.#isBackgroundFetch(v)) {
				const stale = allowStale && v.__staleWhileFetching !== undefined;
				if (status) {
					status.fetch = "inflight";
					if (stale) status.returnedStale = true;
				}
				return stale ? v.__staleWhileFetching : v.__returned = v;
			}
			const isStale = this.#isStale(index);
			if (!forceRefresh && !isStale) {
				if (status) status.fetch = "hit";
				this.#moveToTail(index);
				if (updateAgeOnGet) {
					this.#updateItemAge(index);
				}
				if (status) this.#statusTTL(status, index);
				return v;
			}
			const p = this.#backgroundFetch(k, index, options, context);
			const hasStale = p.__staleWhileFetching !== undefined;
			const staleVal = hasStale && allowStale;
			if (status) {
				status.fetch = isStale ? "stale" : "refresh";
				if (staleVal && isStale) status.returnedStale = true;
			}
			return staleVal ? p.__staleWhileFetching : p.__returned = p;
		}
	}
	/**
	* Return a value from the cache. Will update the recency of the cache
	* entry found.
	*
	* If the key is not found, get() will return `undefined`.
	*/
	get(k, getOptions = {}) {
		const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions;
		const index = this.#keyMap.get(k);
		if (index !== undefined) {
			const value = this.#valList[index];
			const fetching = this.#isBackgroundFetch(value);
			if (status) this.#statusTTL(status, index);
			if (this.#isStale(index)) {
				if (status) status.get = "stale";
				if (!fetching) {
					if (!noDeleteOnStaleGet) {
						this.delete(k);
					}
					if (status && allowStale) status.returnedStale = true;
					return allowStale ? value : undefined;
				} else {
					if (status && allowStale && value.__staleWhileFetching !== undefined) {
						status.returnedStale = true;
					}
					return allowStale ? value.__staleWhileFetching : undefined;
				}
			} else {
				if (status) status.get = "hit";
				if (fetching) {
					return value.__staleWhileFetching;
				}
				this.#moveToTail(index);
				if (updateAgeOnGet) {
					this.#updateItemAge(index);
				}
				return value;
			}
		} else if (status) {
			status.get = "miss";
		}
	}
	#connect(p, n) {
		this.#prev[n] = p;
		this.#next[p] = n;
	}
	#moveToTail(index) {
		if (index !== this.#tail) {
			if (index === this.#head) {
				this.#head = this.#next[index];
			} else {
				this.#connect(this.#prev[index], this.#next[index]);
			}
			this.#connect(this.#tail, index);
			this.#tail = index;
		}
	}
	/**
	* Deletes a key out of the cache.
	* Returns true if the key was deleted, false otherwise.
	*/
	delete(k) {
		let deleted = false;
		if (this.#size !== 0) {
			const index = this.#keyMap.get(k);
			if (index !== undefined) {
				deleted = true;
				if (this.#size === 1) {
					this.clear();
				} else {
					this.#removeItemSize(index);
					const v = this.#valList[index];
					if (this.#isBackgroundFetch(v)) {
						v.__abortController.abort(new Error("deleted"));
					} else if (this.#hasDispose || this.#hasDisposeAfter) {
						if (this.#hasDispose) {
							this.#dispose?.(v, k, "delete");
						}
						if (this.#hasDisposeAfter) {
							this.#disposed?.push([
								v,
								k,
								"delete"
							]);
						}
					}
					this.#keyMap.delete(k);
					this.#keyList[index] = undefined;
					this.#valList[index] = undefined;
					if (index === this.#tail) {
						this.#tail = this.#prev[index];
					} else if (index === this.#head) {
						this.#head = this.#next[index];
					} else {
						this.#next[this.#prev[index]] = this.#next[index];
						this.#prev[this.#next[index]] = this.#prev[index];
					}
					this.#size--;
					this.#free.push(index);
				}
			}
		}
		if (this.#hasDisposeAfter && this.#disposed?.length) {
			const dt = this.#disposed;
			let task;
			while (task = dt?.shift()) {
				this.#disposeAfter?.(...task);
			}
		}
		return deleted;
	}
	/**
	* Clear the cache entirely, throwing away all values.
	*/
	clear() {
		for (const index of this.#rindexes({ allowStale: true })) {
			const v = this.#valList[index];
			if (this.#isBackgroundFetch(v)) {
				v.__abortController.abort(new Error("deleted"));
			} else {
				const k = this.#keyList[index];
				if (this.#hasDispose) {
					this.#dispose?.(v, k, "delete");
				}
				if (this.#hasDisposeAfter) {
					this.#disposed?.push([
						v,
						k,
						"delete"
					]);
				}
			}
		}
		this.#keyMap.clear();
		this.#valList.fill(undefined);
		this.#keyList.fill(undefined);
		if (this.#ttls && this.#starts) {
			this.#ttls.fill(0);
			this.#starts.fill(0);
		}
		if (this.#sizes) {
			this.#sizes.fill(0);
		}
		this.#head = 0;
		this.#tail = 0;
		this.#free.length = 0;
		this.#calculatedSize = 0;
		this.#size = 0;
		if (this.#hasDisposeAfter && this.#disposed) {
			const dt = this.#disposed;
			let task;
			while (task = dt?.shift()) {
				this.#disposeAfter?.(...task);
			}
		}
	}
};

//#endregion
//#region ../node_modules/pino-std-serializers/lib/err-helpers.js
var require_err_helpers = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const isErrorLike = (err) => {
		return err && typeof err.message === "string";
	};
	/**
	* @param {Error|{ cause?: unknown|(()=>err)}} err
	* @returns {Error|Object|undefined}
	*/
	const getErrorCause = (err) => {
		if (!err) return;
		/** @type {unknown} */
		const cause = err.cause;
		if (typeof cause === "function") {
			const causeResult = err.cause();
			return isErrorLike(causeResult) ? causeResult : undefined;
		} else {
			return isErrorLike(cause) ? cause : undefined;
		}
	};
	/**
	* Internal method that keeps a track of which error we have already added, to avoid circular recursion
	*
	* @private
	* @param {Error} err
	* @param {Set<Error>} seen
	* @returns {string}
	*/
	const _stackWithCauses = (err, seen) => {
		if (!isErrorLike(err)) return "";
		const stack = err.stack || "";
		if (seen.has(err)) {
			return stack + "\ncauses have become circular...";
		}
		const cause = getErrorCause(err);
		if (cause) {
			seen.add(err);
			return stack + "\ncaused by: " + _stackWithCauses(cause, seen);
		} else {
			return stack;
		}
	};
	/**
	* @param {Error} err
	* @returns {string}
	*/
	const stackWithCauses = (err) => _stackWithCauses(err, new Set());
	/**
	* Internal method that keeps a track of which error we have already added, to avoid circular recursion
	*
	* @private
	* @param {Error} err
	* @param {Set<Error>} seen
	* @param {boolean} [skip]
	* @returns {string}
	*/
	const _messageWithCauses = (err, seen, skip) => {
		if (!isErrorLike(err)) return "";
		const message = skip ? "" : err.message || "";
		if (seen.has(err)) {
			return message + ": ...";
		}
		const cause = getErrorCause(err);
		if (cause) {
			seen.add(err);
			const skipIfVErrorStyleCause = typeof err.cause === "function";
			return message + (skipIfVErrorStyleCause ? "" : ": ") + _messageWithCauses(cause, seen, skipIfVErrorStyleCause);
		} else {
			return message;
		}
	};
	/**
	* @param {Error} err
	* @returns {string}
	*/
	const messageWithCauses = (err) => _messageWithCauses(err, new Set());
	module.exports = {
		isErrorLike,
		getErrorCause,
		stackWithCauses,
		messageWithCauses
	};
}));

//#endregion
//#region ../node_modules/pino-std-serializers/lib/err-proto.js
var require_err_proto = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const seen = Symbol("circular-ref-tag");
	const rawSymbol = Symbol("pino-raw-err-ref");
	const pinoErrProto = Object.create({}, {
		type: {
			enumerable: true,
			writable: true,
			value: undefined
		},
		message: {
			enumerable: true,
			writable: true,
			value: undefined
		},
		stack: {
			enumerable: true,
			writable: true,
			value: undefined
		},
		aggregateErrors: {
			enumerable: true,
			writable: true,
			value: undefined
		},
		raw: {
			enumerable: false,
			get: function() {
				return this[rawSymbol];
			},
			set: function(val) {
				this[rawSymbol] = val;
			}
		}
	});
	Object.defineProperty(pinoErrProto, rawSymbol, {
		writable: true,
		value: {}
	});
	module.exports = {
		pinoErrProto,
		pinoErrorSymbols: {
			seen,
			rawSymbol
		}
	};
}));

//#endregion
//#region ../node_modules/pino-std-serializers/lib/err.js
var require_err = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = errSerializer;
	const { messageWithCauses, stackWithCauses, isErrorLike } = require_err_helpers();
	const { pinoErrProto, pinoErrorSymbols } = require_err_proto();
	const { seen } = pinoErrorSymbols;
	const { toString } = Object.prototype;
	function errSerializer(err) {
		if (!isErrorLike(err)) {
			return err;
		}
		err[seen] = undefined;
		const _err = Object.create(pinoErrProto);
		_err.type = toString.call(err.constructor) === "[object Function]" ? err.constructor.name : err.name;
		_err.message = messageWithCauses(err);
		_err.stack = stackWithCauses(err);
		if (Array.isArray(err.errors)) {
			_err.aggregateErrors = err.errors.map((err) => errSerializer(err));
		}
		for (const key in err) {
			if (_err[key] === undefined) {
				const val = err[key];
				if (isErrorLike(val)) {
					if (key !== "cause" && !Object.prototype.hasOwnProperty.call(val, seen)) {
						_err[key] = errSerializer(val);
					}
				} else {
					_err[key] = val;
				}
			}
		}
		delete err[seen];
		_err.raw = err;
		return _err;
	}
}));

//#endregion
//#region ../node_modules/pino-std-serializers/lib/err-with-cause.js
var require_err_with_cause = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = errWithCauseSerializer;
	const { isErrorLike } = require_err_helpers();
	const { pinoErrProto, pinoErrorSymbols } = require_err_proto();
	const { seen } = pinoErrorSymbols;
	const { toString } = Object.prototype;
	function errWithCauseSerializer(err) {
		if (!isErrorLike(err)) {
			return err;
		}
		err[seen] = undefined;
		const _err = Object.create(pinoErrProto);
		_err.type = toString.call(err.constructor) === "[object Function]" ? err.constructor.name : err.name;
		_err.message = err.message;
		_err.stack = err.stack;
		if (Array.isArray(err.errors)) {
			_err.aggregateErrors = err.errors.map((err) => errWithCauseSerializer(err));
		}
		if (isErrorLike(err.cause) && !Object.prototype.hasOwnProperty.call(err.cause, seen)) {
			_err.cause = errWithCauseSerializer(err.cause);
		}
		for (const key in err) {
			if (_err[key] === undefined) {
				const val = err[key];
				if (isErrorLike(val)) {
					if (!Object.prototype.hasOwnProperty.call(val, seen)) {
						_err[key] = errWithCauseSerializer(val);
					}
				} else {
					_err[key] = val;
				}
			}
		}
		delete err[seen];
		_err.raw = err;
		return _err;
	}
}));

//#endregion
//#region ../node_modules/pino-std-serializers/lib/req.js
var require_req = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = {
		mapHttpRequest,
		reqSerializer
	};
	const rawSymbol = Symbol("pino-raw-req-ref");
	const pinoReqProto = Object.create({}, {
		id: {
			enumerable: true,
			writable: true,
			value: ""
		},
		method: {
			enumerable: true,
			writable: true,
			value: ""
		},
		url: {
			enumerable: true,
			writable: true,
			value: ""
		},
		query: {
			enumerable: true,
			writable: true,
			value: ""
		},
		params: {
			enumerable: true,
			writable: true,
			value: ""
		},
		headers: {
			enumerable: true,
			writable: true,
			value: {}
		},
		remoteAddress: {
			enumerable: true,
			writable: true,
			value: ""
		},
		remotePort: {
			enumerable: true,
			writable: true,
			value: ""
		},
		raw: {
			enumerable: false,
			get: function() {
				return this[rawSymbol];
			},
			set: function(val) {
				this[rawSymbol] = val;
			}
		}
	});
	Object.defineProperty(pinoReqProto, rawSymbol, {
		writable: true,
		value: {}
	});
	function reqSerializer(req) {
		const connection = req.info || req.socket;
		const _req = Object.create(pinoReqProto);
		_req.id = typeof req.id === "function" ? req.id() : req.id || (req.info ? req.info.id : undefined);
		_req.method = req.method;
		if (req.originalUrl) {
			_req.url = req.originalUrl;
		} else {
			const path = req.path;
			_req.url = typeof path === "string" ? path : req.url ? req.url.path || req.url : undefined;
		}
		if (req.query) {
			_req.query = req.query;
		}
		if (req.params) {
			_req.params = req.params;
		}
		_req.headers = req.headers;
		_req.remoteAddress = connection && connection.remoteAddress;
		_req.remotePort = connection && connection.remotePort;
		_req.raw = req.raw || req;
		return _req;
	}
	function mapHttpRequest(req) {
		return { req: reqSerializer(req) };
	}
}));

//#endregion
//#region ../node_modules/pino-std-serializers/lib/res.js
var require_res = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = {
		mapHttpResponse,
		resSerializer
	};
	const rawSymbol = Symbol("pino-raw-res-ref");
	const pinoResProto = Object.create({}, {
		statusCode: {
			enumerable: true,
			writable: true,
			value: 0
		},
		headers: {
			enumerable: true,
			writable: true,
			value: ""
		},
		raw: {
			enumerable: false,
			get: function() {
				return this[rawSymbol];
			},
			set: function(val) {
				this[rawSymbol] = val;
			}
		}
	});
	Object.defineProperty(pinoResProto, rawSymbol, {
		writable: true,
		value: {}
	});
	function resSerializer(res) {
		const _res = Object.create(pinoResProto);
		_res.statusCode = res.headersSent ? res.statusCode : null;
		_res.headers = res.getHeaders ? res.getHeaders() : res._headers;
		_res.raw = res;
		return _res;
	}
	function mapHttpResponse(res) {
		return { res: resSerializer(res) };
	}
}));

//#endregion
//#region ../node_modules/pino-std-serializers/index.js
var require_pino_std_serializers = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const errSerializer = require_err();
	const errWithCauseSerializer = require_err_with_cause();
	const reqSerializers = require_req();
	const resSerializers = require_res();
	module.exports = {
		err: errSerializer,
		errWithCause: errWithCauseSerializer,
		mapHttpRequest: reqSerializers.mapHttpRequest,
		mapHttpResponse: resSerializers.mapHttpResponse,
		req: reqSerializers.reqSerializer,
		res: resSerializers.resSerializer,
		wrapErrorSerializer: function wrapErrorSerializer(customSerializer) {
			if (customSerializer === errSerializer) return customSerializer;
			return function wrapErrSerializer(err) {
				return customSerializer(errSerializer(err));
			};
		},
		wrapRequestSerializer: function wrapRequestSerializer(customSerializer) {
			if (customSerializer === reqSerializers.reqSerializer) return customSerializer;
			return function wrappedReqSerializer(req) {
				return customSerializer(reqSerializers.reqSerializer(req));
			};
		},
		wrapResponseSerializer: function wrapResponseSerializer(customSerializer) {
			if (customSerializer === resSerializers.resSerializer) return customSerializer;
			return function wrappedResSerializer(res) {
				return customSerializer(resSerializers.resSerializer(res));
			};
		}
	};
}));

//#endregion
//#region ../node_modules/pino/lib/caller.js
var require_caller = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	function noOpPrepareStackTrace(_, stack) {
		return stack;
	}
	module.exports = function getCallers() {
		const originalPrepare = Error.prepareStackTrace;
		Error.prepareStackTrace = noOpPrepareStackTrace;
		const stack = new Error().stack;
		Error.prepareStackTrace = originalPrepare;
		if (!Array.isArray(stack)) {
			return undefined;
		}
		const entries = stack.slice(2);
		const fileNames = [];
		for (const entry of entries) {
			if (!entry) {
				continue;
			}
			fileNames.push(entry.getFileName());
		}
		return fileNames;
	};
}));

//#endregion
//#region ../node_modules/@pinojs/redact/index.js
var require_redact = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	function deepClone(obj) {
		if (obj === null || typeof obj !== "object") {
			return obj;
		}
		if (obj instanceof Date) {
			return new Date(obj.getTime());
		}
		if (obj instanceof Array) {
			const cloned = [];
			for (let i = 0; i < obj.length; i++) {
				cloned[i] = deepClone(obj[i]);
			}
			return cloned;
		}
		if (typeof obj === "object") {
			const cloned = Object.create(Object.getPrototypeOf(obj));
			for (const key in obj) {
				if (Object.prototype.hasOwnProperty.call(obj, key)) {
					cloned[key] = deepClone(obj[key]);
				}
			}
			return cloned;
		}
		return obj;
	}
	function parsePath(path) {
		const parts = [];
		let current = "";
		let inBrackets = false;
		let inQuotes = false;
		let quoteChar = "";
		for (let i = 0; i < path.length; i++) {
			const char = path[i];
			if (!inBrackets && char === ".") {
				if (current) {
					parts.push(current);
					current = "";
				}
			} else if (char === "[") {
				if (current) {
					parts.push(current);
					current = "";
				}
				inBrackets = true;
			} else if (char === "]" && inBrackets) {
				parts.push(current);
				current = "";
				inBrackets = false;
				inQuotes = false;
			} else if ((char === "\"" || char === "'") && inBrackets) {
				if (!inQuotes) {
					inQuotes = true;
					quoteChar = char;
				} else if (char === quoteChar) {
					inQuotes = false;
					quoteChar = "";
				} else {
					current += char;
				}
			} else {
				current += char;
			}
		}
		if (current) {
			parts.push(current);
		}
		return parts;
	}
	function setValue(obj, parts, value) {
		let current = obj;
		for (let i = 0; i < parts.length - 1; i++) {
			const key = parts[i];
			if (typeof current !== "object" || current === null || !(key in current)) {
				return false;
			}
			if (typeof current[key] !== "object" || current[key] === null) {
				return false;
			}
			current = current[key];
		}
		const lastKey = parts[parts.length - 1];
		if (lastKey === "*") {
			if (Array.isArray(current)) {
				for (let i = 0; i < current.length; i++) {
					current[i] = value;
				}
			} else if (typeof current === "object" && current !== null) {
				for (const key in current) {
					if (Object.prototype.hasOwnProperty.call(current, key)) {
						current[key] = value;
					}
				}
			}
		} else {
			if (typeof current === "object" && current !== null && lastKey in current && Object.prototype.hasOwnProperty.call(current, lastKey)) {
				current[lastKey] = value;
			}
		}
		return true;
	}
	function removeKey(obj, parts) {
		let current = obj;
		for (let i = 0; i < parts.length - 1; i++) {
			const key = parts[i];
			if (typeof current !== "object" || current === null || !(key in current)) {
				return false;
			}
			if (typeof current[key] !== "object" || current[key] === null) {
				return false;
			}
			current = current[key];
		}
		const lastKey = parts[parts.length - 1];
		if (lastKey === "*") {
			if (Array.isArray(current)) {
				for (let i = 0; i < current.length; i++) {
					current[i] = undefined;
				}
			} else if (typeof current === "object" && current !== null) {
				for (const key in current) {
					if (Object.prototype.hasOwnProperty.call(current, key)) {
						delete current[key];
					}
				}
			}
		} else {
			if (typeof current === "object" && current !== null && lastKey in current && Object.prototype.hasOwnProperty.call(current, lastKey)) {
				delete current[lastKey];
			}
		}
		return true;
	}
	const PATH_NOT_FOUND = Symbol("PATH_NOT_FOUND");
	function getValueIfExists(obj, parts) {
		let current = obj;
		for (const part of parts) {
			if (current === null || current === undefined) {
				return PATH_NOT_FOUND;
			}
			if (typeof current !== "object" || current === null) {
				return PATH_NOT_FOUND;
			}
			if (!(part in current)) {
				return PATH_NOT_FOUND;
			}
			current = current[part];
		}
		return current;
	}
	function getValue(obj, parts) {
		let current = obj;
		for (const part of parts) {
			if (current === null || current === undefined) {
				return undefined;
			}
			if (typeof current !== "object" || current === null) {
				return undefined;
			}
			current = current[part];
		}
		return current;
	}
	function redactPaths(obj, paths, censor, remove = false) {
		for (const path of paths) {
			const parts = parsePath(path);
			if (parts.includes("*")) {
				redactWildcardPath(obj, parts, censor, path, remove);
			} else {
				if (remove) {
					removeKey(obj, parts);
				} else {
					const value = getValueIfExists(obj, parts);
					if (value === PATH_NOT_FOUND) {
						continue;
					}
					const actualCensor = typeof censor === "function" ? censor(value, parts) : censor;
					setValue(obj, parts, actualCensor);
				}
			}
		}
	}
	function redactWildcardPath(obj, parts, censor, originalPath, remove = false) {
		const wildcardIndex = parts.indexOf("*");
		if (wildcardIndex === parts.length - 1) {
			const parentParts = parts.slice(0, -1);
			let current = obj;
			for (const part of parentParts) {
				if (current === null || current === undefined) return;
				if (typeof current !== "object" || current === null) return;
				current = current[part];
			}
			if (Array.isArray(current)) {
				if (remove) {
					for (let i = 0; i < current.length; i++) {
						current[i] = undefined;
					}
				} else {
					for (let i = 0; i < current.length; i++) {
						const indexPath = [...parentParts, i.toString()];
						const actualCensor = typeof censor === "function" ? censor(current[i], indexPath) : censor;
						current[i] = actualCensor;
					}
				}
			} else if (typeof current === "object" && current !== null) {
				if (remove) {
					const keysToDelete = [];
					for (const key in current) {
						if (Object.prototype.hasOwnProperty.call(current, key)) {
							keysToDelete.push(key);
						}
					}
					for (const key of keysToDelete) {
						delete current[key];
					}
				} else {
					for (const key in current) {
						const keyPath = [...parentParts, key];
						const actualCensor = typeof censor === "function" ? censor(current[key], keyPath) : censor;
						current[key] = actualCensor;
					}
				}
			}
		} else {
			redactIntermediateWildcard(obj, parts, censor, wildcardIndex, originalPath, remove);
		}
	}
	function redactIntermediateWildcard(obj, parts, censor, wildcardIndex, originalPath, remove = false) {
		const beforeWildcard = parts.slice(0, wildcardIndex);
		const afterWildcard = parts.slice(wildcardIndex + 1);
		const pathArray = [];
		function traverse(current, pathLength) {
			if (pathLength === beforeWildcard.length) {
				if (Array.isArray(current)) {
					for (let i = 0; i < current.length; i++) {
						pathArray[pathLength] = i.toString();
						traverse(current[i], pathLength + 1);
					}
				} else if (typeof current === "object" && current !== null) {
					for (const key in current) {
						pathArray[pathLength] = key;
						traverse(current[key], pathLength + 1);
					}
				}
			} else if (pathLength < beforeWildcard.length) {
				const nextKey = beforeWildcard[pathLength];
				if (current && typeof current === "object" && current !== null && nextKey in current) {
					pathArray[pathLength] = nextKey;
					traverse(current[nextKey], pathLength + 1);
				}
			} else {
				if (afterWildcard.includes("*")) {
					const wrappedCensor = typeof censor === "function" ? (value, path) => {
						const fullPath = [...pathArray.slice(0, pathLength), ...path];
						return censor(value, fullPath);
					} : censor;
					redactWildcardPath(current, afterWildcard, wrappedCensor, originalPath, remove);
				} else {
					if (remove) {
						removeKey(current, afterWildcard);
					} else {
						const actualCensor = typeof censor === "function" ? censor(getValue(current, afterWildcard), [...pathArray.slice(0, pathLength), ...afterWildcard]) : censor;
						setValue(current, afterWildcard, actualCensor);
					}
				}
			}
		}
		if (beforeWildcard.length === 0) {
			traverse(obj, 0);
		} else {
			let current = obj;
			for (let i = 0; i < beforeWildcard.length; i++) {
				const part = beforeWildcard[i];
				if (current === null || current === undefined) return;
				if (typeof current !== "object" || current === null) return;
				current = current[part];
				pathArray[i] = part;
			}
			if (current !== null && current !== undefined) {
				traverse(current, beforeWildcard.length);
			}
		}
	}
	function buildPathStructure(pathsToClone) {
		if (pathsToClone.length === 0) {
			return null;
		}
		const pathStructure = new Map();
		for (const path of pathsToClone) {
			const parts = parsePath(path);
			let current = pathStructure;
			for (let i = 0; i < parts.length; i++) {
				const part = parts[i];
				if (!current.has(part)) {
					current.set(part, new Map());
				}
				current = current.get(part);
			}
		}
		return pathStructure;
	}
	function selectiveClone(obj, pathStructure) {
		if (!pathStructure) {
			return obj;
		}
		function cloneSelectively(source, pathMap, depth = 0) {
			if (!pathMap || pathMap.size === 0) {
				return source;
			}
			if (source === null || typeof source !== "object") {
				return source;
			}
			if (source instanceof Date) {
				return new Date(source.getTime());
			}
			if (Array.isArray(source)) {
				const cloned = [];
				for (let i = 0; i < source.length; i++) {
					const indexStr = i.toString();
					if (pathMap.has(indexStr) || pathMap.has("*")) {
						cloned[i] = cloneSelectively(source[i], pathMap.get(indexStr) || pathMap.get("*"));
					} else {
						cloned[i] = source[i];
					}
				}
				return cloned;
			}
			const cloned = Object.create(Object.getPrototypeOf(source));
			for (const key in source) {
				if (Object.prototype.hasOwnProperty.call(source, key)) {
					if (pathMap.has(key) || pathMap.has("*")) {
						cloned[key] = cloneSelectively(source[key], pathMap.get(key) || pathMap.get("*"));
					} else {
						cloned[key] = source[key];
					}
				}
			}
			return cloned;
		}
		return cloneSelectively(obj, pathStructure);
	}
	function validatePath(path) {
		if (typeof path !== "string") {
			throw new Error("Paths must be (non-empty) strings");
		}
		if (path === "") {
			throw new Error("Invalid redaction path ()");
		}
		if (path.includes("..")) {
			throw new Error(`Invalid redaction path (${path})`);
		}
		if (path.includes(",")) {
			throw new Error(`Invalid redaction path (${path})`);
		}
		let bracketCount = 0;
		let inQuotes = false;
		let quoteChar = "";
		for (let i = 0; i < path.length; i++) {
			const char = path[i];
			if ((char === "\"" || char === "'") && bracketCount > 0) {
				if (!inQuotes) {
					inQuotes = true;
					quoteChar = char;
				} else if (char === quoteChar) {
					inQuotes = false;
					quoteChar = "";
				}
			} else if (char === "[" && !inQuotes) {
				bracketCount++;
			} else if (char === "]" && !inQuotes) {
				bracketCount--;
				if (bracketCount < 0) {
					throw new Error(`Invalid redaction path (${path})`);
				}
			}
		}
		if (bracketCount !== 0) {
			throw new Error(`Invalid redaction path (${path})`);
		}
	}
	function validatePaths(paths) {
		if (!Array.isArray(paths)) {
			throw new TypeError("paths must be an array");
		}
		for (const path of paths) {
			validatePath(path);
		}
	}
	function slowRedact(options = {}) {
		const { paths = [], censor = "[REDACTED]", serialize = JSON.stringify, strict = true, remove = false } = options;
		validatePaths(paths);
		const pathStructure = buildPathStructure(paths);
		return function redact(obj) {
			if (strict && (obj === null || typeof obj !== "object")) {
				if (obj === null || obj === undefined) {
					return serialize ? serialize(obj) : obj;
				}
				if (typeof obj !== "object") {
					return serialize ? serialize(obj) : obj;
				}
			}
			const cloned = selectiveClone(obj, pathStructure);
			const original = obj;
			let actualCensor = censor;
			if (typeof censor === "function") {
				actualCensor = censor;
			}
			redactPaths(cloned, paths, actualCensor, remove);
			if (serialize === false) {
				cloned.restore = function() {
					return deepClone(original);
				};
				return cloned;
			}
			if (typeof serialize === "function") {
				return serialize(cloned);
			}
			return JSON.stringify(cloned);
		};
	}
	module.exports = slowRedact;
}));

//#endregion
//#region ../node_modules/pino/lib/symbols.js
var require_symbols$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const setLevelSym = Symbol("pino.setLevel");
	const getLevelSym = Symbol("pino.getLevel");
	const levelValSym = Symbol("pino.levelVal");
	const levelCompSym = Symbol("pino.levelComp");
	const useLevelLabelsSym = Symbol("pino.useLevelLabels");
	const useOnlyCustomLevelsSym = Symbol("pino.useOnlyCustomLevels");
	const mixinSym = Symbol("pino.mixin");
	const lsCacheSym = Symbol("pino.lsCache");
	const chindingsSym = Symbol("pino.chindings");
	const asJsonSym = Symbol("pino.asJson");
	const writeSym = Symbol("pino.write");
	const redactFmtSym = Symbol("pino.redactFmt");
	const timeSym = Symbol("pino.time");
	const timeSliceIndexSym = Symbol("pino.timeSliceIndex");
	const streamSym = Symbol("pino.stream");
	const stringifySym = Symbol("pino.stringify");
	const stringifySafeSym = Symbol("pino.stringifySafe");
	const stringifiersSym = Symbol("pino.stringifiers");
	const endSym = Symbol("pino.end");
	const formatOptsSym = Symbol("pino.formatOpts");
	const messageKeySym = Symbol("pino.messageKey");
	const errorKeySym = Symbol("pino.errorKey");
	const nestedKeySym = Symbol("pino.nestedKey");
	const nestedKeyStrSym = Symbol("pino.nestedKeyStr");
	const mixinMergeStrategySym = Symbol("pino.mixinMergeStrategy");
	const msgPrefixSym = Symbol("pino.msgPrefix");
	const wildcardFirstSym = Symbol("pino.wildcardFirst");
	const serializersSym = Symbol.for("pino.serializers");
	const formattersSym = Symbol.for("pino.formatters");
	const hooksSym = Symbol.for("pino.hooks");
	const needsMetadataGsym = Symbol.for("pino.metadata");
	module.exports = {
		setLevelSym,
		getLevelSym,
		levelValSym,
		levelCompSym,
		useLevelLabelsSym,
		mixinSym,
		lsCacheSym,
		chindingsSym,
		asJsonSym,
		writeSym,
		serializersSym,
		redactFmtSym,
		timeSym,
		timeSliceIndexSym,
		streamSym,
		stringifySym,
		stringifySafeSym,
		stringifiersSym,
		endSym,
		formatOptsSym,
		messageKeySym,
		errorKeySym,
		nestedKeySym,
		wildcardFirstSym,
		needsMetadataGsym,
		useOnlyCustomLevelsSym,
		formattersSym,
		hooksSym,
		nestedKeyStrSym,
		mixinMergeStrategySym,
		msgPrefixSym
	};
}));

//#endregion
//#region ../node_modules/pino/lib/redaction.js
var require_redaction = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const Redact = require_redact();
	const { redactFmtSym, wildcardFirstSym } = require_symbols$3();
	const rx = /[^.[\]]+|\[([^[\]]*?)\]/g;
	const CENSOR = "[Redacted]";
	const strict = false;
	function redaction(opts, serialize) {
		const { paths, censor, remove } = handle(opts);
		const shape = paths.reduce((o, str) => {
			rx.lastIndex = 0;
			const first = rx.exec(str);
			const next = rx.exec(str);
			let ns = first[1] !== undefined ? first[1].replace(/^(?:"|'|`)(.*)(?:"|'|`)$/, "$1") : first[0];
			if (ns === "*") {
				ns = wildcardFirstSym;
			}
			if (next === null) {
				o[ns] = null;
				return o;
			}
			if (o[ns] === null) {
				return o;
			}
			const { index } = next;
			const nextPath = `${str.substr(index, str.length - 1)}`;
			o[ns] = o[ns] || [];
			if (ns !== wildcardFirstSym && o[ns].length === 0) {
				o[ns].push(...o[wildcardFirstSym] || []);
			}
			if (ns === wildcardFirstSym) {
				Object.keys(o).forEach(function(k) {
					if (o[k]) {
						o[k].push(nextPath);
					}
				});
			}
			o[ns].push(nextPath);
			return o;
		}, {});
		const result = { [redactFmtSym]: Redact({
			paths,
			censor,
			serialize,
			strict,
			remove
		}) };
		const topCensor = (...args) => {
			return typeof censor === "function" ? serialize(censor(...args)) : serialize(censor);
		};
		return [...Object.keys(shape), ...Object.getOwnPropertySymbols(shape)].reduce((o, k) => {
			if (shape[k] === null) {
				o[k] = (value) => topCensor(value, [k]);
			} else {
				const wrappedCensor = typeof censor === "function" ? (value, path) => {
					return censor(value, [k, ...path]);
				} : censor;
				o[k] = Redact({
					paths: shape[k],
					censor: wrappedCensor,
					serialize,
					strict,
					remove
				});
			}
			return o;
		}, result);
	}
	function handle(opts) {
		if (Array.isArray(opts)) {
			opts = {
				paths: opts,
				censor: CENSOR
			};
			return opts;
		}
		let { paths, censor = CENSOR, remove } = opts;
		if (Array.isArray(paths) === false) {
			throw Error("pino – redact must contain an array of strings");
		}
		if (remove === true) censor = undefined;
		return {
			paths,
			censor,
			remove
		};
	}
	module.exports = redaction;
}));

//#endregion
//#region ../node_modules/pino/lib/time.js
var require_time = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const nullTime = () => "";
	const epochTime = () => `,"time":${Date.now()}`;
	const unixTime = () => `,"time":${Math.round(Date.now() / 1e3)}`;
	const isoTime = () => `,"time":"${new Date(Date.now()).toISOString()}"`;
	const NS_PER_MS = 1000000n;
	const NS_PER_SEC = 1000000000n;
	const startWallTimeNs = BigInt(Date.now()) * NS_PER_MS;
	const startHrTime = process.hrtime.bigint();
	const isoTimeNano = () => {
		const elapsedNs = process.hrtime.bigint() - startHrTime;
		const currentTimeNs = startWallTimeNs + elapsedNs;
		const secondsSinceEpoch = currentTimeNs / NS_PER_SEC;
		const nanosWithinSecond = currentTimeNs % NS_PER_SEC;
		const msSinceEpoch = Number(secondsSinceEpoch * 1000n + nanosWithinSecond / 1000000n);
		const date = new Date(msSinceEpoch);
		const year = date.getUTCFullYear();
		const month = (date.getUTCMonth() + 1).toString().padStart(2, "0");
		const day = date.getUTCDate().toString().padStart(2, "0");
		const hours = date.getUTCHours().toString().padStart(2, "0");
		const minutes = date.getUTCMinutes().toString().padStart(2, "0");
		const seconds = date.getUTCSeconds().toString().padStart(2, "0");
		return `,"time":"${year}-${month}-${day}T${hours}:${minutes}:${seconds}.${nanosWithinSecond.toString().padStart(9, "0")}Z"`;
	};
	module.exports = {
		nullTime,
		epochTime,
		unixTime,
		isoTime,
		isoTimeNano
	};
}));

//#endregion
//#region ../node_modules/quick-format-unescaped/index.js
var require_quick_format_unescaped = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	function tryStringify(o) {
		try {
			return JSON.stringify(o);
		} catch (e) {
			return "\"[Circular]\"";
		}
	}
	module.exports = format;
	function format(f, args, opts) {
		var ss = opts && opts.stringify || tryStringify;
		var offset = 1;
		if (typeof f === "object" && f !== null) {
			var len = args.length + offset;
			if (len === 1) return f;
			var objects = new Array(len);
			objects[0] = ss(f);
			for (var index = 1; index < len; index++) {
				objects[index] = ss(args[index]);
			}
			return objects.join(" ");
		}
		if (typeof f !== "string") {
			return f;
		}
		var argLen = args.length;
		if (argLen === 0) return f;
		var str = "";
		var a = 1 - offset;
		var lastPos = -1;
		var flen = f && f.length || 0;
		for (var i = 0; i < flen;) {
			if (f.charCodeAt(i) === 37 && i + 1 < flen) {
				lastPos = lastPos > -1 ? lastPos : 0;
				switch (f.charCodeAt(i + 1)) {
					case 100:
					case 102:
						if (a >= argLen) break;
						if (args[a] == null) break;
						if (lastPos < i) str += f.slice(lastPos, i);
						str += Number(args[a]);
						lastPos = i + 2;
						i++;
						break;
					case 105:
						if (a >= argLen) break;
						if (args[a] == null) break;
						if (lastPos < i) str += f.slice(lastPos, i);
						str += Math.floor(Number(args[a]));
						lastPos = i + 2;
						i++;
						break;
					case 79:
					case 111:
					case 106:
						if (a >= argLen) break;
						if (args[a] === undefined) break;
						if (lastPos < i) str += f.slice(lastPos, i);
						var type = typeof args[a];
						if (type === "string") {
							str += "'" + args[a] + "'";
							lastPos = i + 2;
							i++;
							break;
						}
						if (type === "function") {
							str += args[a].name || "<anonymous>";
							lastPos = i + 2;
							i++;
							break;
						}
						str += ss(args[a]);
						lastPos = i + 2;
						i++;
						break;
					case 115:
						if (a >= argLen) break;
						if (lastPos < i) str += f.slice(lastPos, i);
						str += String(args[a]);
						lastPos = i + 2;
						i++;
						break;
					case 37:
						if (lastPos < i) str += f.slice(lastPos, i);
						str += "%";
						lastPos = i + 2;
						i++;
						a--;
						break;
				}
				++a;
			}
			++i;
		}
		if (lastPos === -1) return f;
		else if (lastPos < flen) {
			str += f.slice(lastPos);
		}
		return str;
	}
}));

//#endregion
//#region ../node_modules/atomic-sleep/index.js
var require_atomic_sleep = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	if (typeof SharedArrayBuffer !== "undefined" && typeof Atomics !== "undefined") {
		const nil = new Int32Array(new SharedArrayBuffer(4));
		function sleep(ms) {
			const valid = ms > 0 && ms < Infinity;
			if (valid === false) {
				if (typeof ms !== "number" && typeof ms !== "bigint") {
					throw TypeError("sleep: ms must be a number");
				}
				throw RangeError("sleep: ms must be a number that is greater than 0 but less than Infinity");
			}
			Atomics.wait(nil, 0, 0, Number(ms));
		}
		module.exports = sleep;
	} else {
		function sleep(ms) {
			const valid = ms > 0 && ms < Infinity;
			if (valid === false) {
				if (typeof ms !== "number" && typeof ms !== "bigint") {
					throw TypeError("sleep: ms must be a number");
				}
				throw RangeError("sleep: ms must be a number that is greater than 0 but less than Infinity");
			}
			const target = Date.now() + Number(ms);
			while (target > Date.now()) {}
		}
		module.exports = sleep;
	}
}));

//#endregion
//#region ../node_modules/sonic-boom/index.js
var require_sonic_boom = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const fs$4 = __require("fs");
	const EventEmitter$8 = __require("events");
	const inherits$2 = __require("util").inherits;
	const path$5 = __require("path");
	const sleep = require_atomic_sleep();
	const assert$43 = __require("assert");
	const BUSY_WRITE_TIMEOUT = 100;
	const kEmptyBuffer = Buffer.allocUnsafe(0);
	const MAX_WRITE = 16 * 1024;
	const kContentModeBuffer = "buffer";
	const kContentModeUtf8 = "utf8";
	const [major, minor] = (process.versions.node || "0.0").split(".").map(Number);
	const kCopyBuffer = major >= 22 && minor >= 7;
	function openFile(file, sonic) {
		sonic._opening = true;
		sonic._writing = true;
		sonic._asyncDrainScheduled = false;
		function fileOpened(err, fd) {
			if (err) {
				sonic._reopening = false;
				sonic._writing = false;
				sonic._opening = false;
				if (sonic.sync) {
					process.nextTick(() => {
						if (sonic.listenerCount("error") > 0) {
							sonic.emit("error", err);
						}
					});
				} else {
					sonic.emit("error", err);
				}
				return;
			}
			const reopening = sonic._reopening;
			sonic.fd = fd;
			sonic.file = file;
			sonic._reopening = false;
			sonic._opening = false;
			sonic._writing = false;
			if (sonic.sync) {
				process.nextTick(() => sonic.emit("ready"));
			} else {
				sonic.emit("ready");
			}
			if (sonic.destroyed) {
				return;
			}
			if (!sonic._writing && sonic._len > sonic.minLength || sonic._flushPending) {
				sonic._actualWrite();
			} else if (reopening) {
				process.nextTick(() => sonic.emit("drain"));
			}
		}
		const flags = sonic.append ? "a" : "w";
		const mode = sonic.mode;
		if (sonic.sync) {
			try {
				if (sonic.mkdir) fs$4.mkdirSync(path$5.dirname(file), { recursive: true });
				const fd = fs$4.openSync(file, flags, mode);
				fileOpened(null, fd);
			} catch (err) {
				fileOpened(err);
				throw err;
			}
		} else if (sonic.mkdir) {
			fs$4.mkdir(path$5.dirname(file), { recursive: true }, (err) => {
				if (err) return fileOpened(err);
				fs$4.open(file, flags, mode, fileOpened);
			});
		} else {
			fs$4.open(file, flags, mode, fileOpened);
		}
	}
	function SonicBoom(opts) {
		if (!(this instanceof SonicBoom)) {
			return new SonicBoom(opts);
		}
		let { fd, dest, minLength, maxLength, maxWrite, periodicFlush, sync, append = true, mkdir, retryEAGAIN, fsync, contentMode, mode } = opts || {};
		fd = fd || dest;
		this._len = 0;
		this.fd = -1;
		this._bufs = [];
		this._lens = [];
		this._writing = false;
		this._ending = false;
		this._reopening = false;
		this._asyncDrainScheduled = false;
		this._flushPending = false;
		this._hwm = Math.max(minLength || 0, 16387);
		this.file = null;
		this.destroyed = false;
		this.minLength = minLength || 0;
		this.maxLength = maxLength || 0;
		this.maxWrite = maxWrite || MAX_WRITE;
		this._periodicFlush = periodicFlush || 0;
		this._periodicFlushTimer = undefined;
		this.sync = sync || false;
		this.writable = true;
		this._fsync = fsync || false;
		this.append = append || false;
		this.mode = mode;
		this.retryEAGAIN = retryEAGAIN || (() => true);
		this.mkdir = mkdir || false;
		let fsWriteSync;
		let fsWrite;
		if (contentMode === kContentModeBuffer) {
			this._writingBuf = kEmptyBuffer;
			this.write = writeBuffer;
			this.flush = flushBuffer;
			this.flushSync = flushBufferSync;
			this._actualWrite = actualWriteBuffer;
			fsWriteSync = () => fs$4.writeSync(this.fd, this._writingBuf);
			fsWrite = () => fs$4.write(this.fd, this._writingBuf, this.release);
		} else if (contentMode === undefined || contentMode === kContentModeUtf8) {
			this._writingBuf = "";
			this.write = write;
			this.flush = flush;
			this.flushSync = flushSync;
			this._actualWrite = actualWrite;
			fsWriteSync = () => fs$4.writeSync(this.fd, this._writingBuf, "utf8");
			fsWrite = () => fs$4.write(this.fd, this._writingBuf, "utf8", this.release);
		} else {
			throw new Error(`SonicBoom supports "${kContentModeUtf8}" and "${kContentModeBuffer}", but passed ${contentMode}`);
		}
		if (typeof fd === "number") {
			this.fd = fd;
			process.nextTick(() => this.emit("ready"));
		} else if (typeof fd === "string") {
			openFile(fd, this);
		} else {
			throw new Error("SonicBoom supports only file descriptors and files");
		}
		if (this.minLength >= this.maxWrite) {
			throw new Error(`minLength should be smaller than maxWrite (${this.maxWrite})`);
		}
		this.release = (err, n) => {
			if (err) {
				if ((err.code === "EAGAIN" || err.code === "EBUSY") && this.retryEAGAIN(err, this._writingBuf.length, this._len - this._writingBuf.length)) {
					if (this.sync) {
						try {
							sleep(BUSY_WRITE_TIMEOUT);
							this.release(undefined, 0);
						} catch (err) {
							this.release(err);
						}
					} else {
						setTimeout(fsWrite, BUSY_WRITE_TIMEOUT);
					}
				} else {
					this._writing = false;
					this.emit("error", err);
				}
				return;
			}
			this.emit("write", n);
			const releasedBufObj = releaseWritingBuf(this._writingBuf, this._len, n);
			this._len = releasedBufObj.len;
			this._writingBuf = releasedBufObj.writingBuf;
			if (this._writingBuf.length) {
				if (!this.sync) {
					fsWrite();
					return;
				}
				try {
					do {
						const n = fsWriteSync();
						const releasedBufObj = releaseWritingBuf(this._writingBuf, this._len, n);
						this._len = releasedBufObj.len;
						this._writingBuf = releasedBufObj.writingBuf;
					} while (this._writingBuf.length);
				} catch (err) {
					this.release(err);
					return;
				}
			}
			if (this._fsync) {
				fs$4.fsyncSync(this.fd);
			}
			const len = this._len;
			if (this._reopening) {
				this._writing = false;
				this._reopening = false;
				this.reopen();
			} else if (len > this.minLength) {
				this._actualWrite();
			} else if (this._ending) {
				if (len > 0) {
					this._actualWrite();
				} else {
					this._writing = false;
					actualClose(this);
				}
			} else {
				this._writing = false;
				if (this.sync) {
					if (!this._asyncDrainScheduled) {
						this._asyncDrainScheduled = true;
						process.nextTick(emitDrain, this);
					}
				} else {
					this.emit("drain");
				}
			}
		};
		this.on("newListener", function(name) {
			if (name === "drain") {
				this._asyncDrainScheduled = false;
			}
		});
		if (this._periodicFlush !== 0) {
			this._periodicFlushTimer = setInterval(() => this.flush(null), this._periodicFlush);
			this._periodicFlushTimer.unref();
		}
	}
	/**
	* Release the writingBuf after fs.write n bytes data
	* @param {string | Buffer} writingBuf - currently writing buffer, usually be instance._writingBuf.
	* @param {number} len - currently buffer length, usually be instance._len.
	* @param {number} n - number of bytes fs already written
	* @returns {{writingBuf: string | Buffer, len: number}} released writingBuf and length
	*/
	function releaseWritingBuf(writingBuf, len, n) {
		if (typeof writingBuf === "string" && Buffer.byteLength(writingBuf) !== n) {
			n = Buffer.from(writingBuf).subarray(0, n).toString().length;
		}
		len = Math.max(len - n, 0);
		writingBuf = writingBuf.slice(n);
		return {
			writingBuf,
			len
		};
	}
	function emitDrain(sonic) {
		const hasListeners = sonic.listenerCount("drain") > 0;
		if (!hasListeners) return;
		sonic._asyncDrainScheduled = false;
		sonic.emit("drain");
	}
	inherits$2(SonicBoom, EventEmitter$8);
	function mergeBuf(bufs, len) {
		if (bufs.length === 0) {
			return kEmptyBuffer;
		}
		if (bufs.length === 1) {
			return bufs[0];
		}
		return Buffer.concat(bufs, len);
	}
	function write(data) {
		if (this.destroyed) {
			throw new Error("SonicBoom destroyed");
		}
		const len = this._len + data.length;
		const bufs = this._bufs;
		if (this.maxLength && len > this.maxLength) {
			this.emit("drop", data);
			return this._len < this._hwm;
		}
		if (bufs.length === 0 || bufs[bufs.length - 1].length + data.length > this.maxWrite) {
			bufs.push("" + data);
		} else {
			bufs[bufs.length - 1] += data;
		}
		this._len = len;
		if (!this._writing && this._len >= this.minLength) {
			this._actualWrite();
		}
		return this._len < this._hwm;
	}
	function writeBuffer(data) {
		if (this.destroyed) {
			throw new Error("SonicBoom destroyed");
		}
		const len = this._len + data.length;
		const bufs = this._bufs;
		const lens = this._lens;
		if (this.maxLength && len > this.maxLength) {
			this.emit("drop", data);
			return this._len < this._hwm;
		}
		if (bufs.length === 0 || lens[lens.length - 1] + data.length > this.maxWrite) {
			bufs.push([data]);
			lens.push(data.length);
		} else {
			bufs[bufs.length - 1].push(data);
			lens[lens.length - 1] += data.length;
		}
		this._len = len;
		if (!this._writing && this._len >= this.minLength) {
			this._actualWrite();
		}
		return this._len < this._hwm;
	}
	function callFlushCallbackOnDrain(cb) {
		this._flushPending = true;
		const onDrain = () => {
			if (!this._fsync) {
				try {
					fs$4.fsync(this.fd, (err) => {
						this._flushPending = false;
						cb(err);
					});
				} catch (err) {
					cb(err);
				}
			} else {
				this._flushPending = false;
				cb();
			}
			this.off("error", onError);
		};
		const onError = (err) => {
			this._flushPending = false;
			cb(err);
			this.off("drain", onDrain);
		};
		this.once("drain", onDrain);
		this.once("error", onError);
	}
	function flush(cb) {
		if (cb != null && typeof cb !== "function") {
			throw new Error("flush cb must be a function");
		}
		if (this.destroyed) {
			const error = new Error("SonicBoom destroyed");
			if (cb) {
				cb(error);
				return;
			}
			throw error;
		}
		if (this.minLength <= 0) {
			cb?.();
			return;
		}
		if (cb) {
			callFlushCallbackOnDrain.call(this, cb);
		}
		if (this._writing) {
			return;
		}
		if (this._bufs.length === 0) {
			this._bufs.push("");
		}
		this._actualWrite();
	}
	function flushBuffer(cb) {
		if (cb != null && typeof cb !== "function") {
			throw new Error("flush cb must be a function");
		}
		if (this.destroyed) {
			const error = new Error("SonicBoom destroyed");
			if (cb) {
				cb(error);
				return;
			}
			throw error;
		}
		if (this.minLength <= 0) {
			cb?.();
			return;
		}
		if (cb) {
			callFlushCallbackOnDrain.call(this, cb);
		}
		if (this._writing) {
			return;
		}
		if (this._bufs.length === 0) {
			this._bufs.push([]);
			this._lens.push(0);
		}
		this._actualWrite();
	}
	SonicBoom.prototype.reopen = function(file) {
		if (this.destroyed) {
			throw new Error("SonicBoom destroyed");
		}
		if (this._opening) {
			this.once("ready", () => {
				this.reopen(file);
			});
			return;
		}
		if (this._ending) {
			return;
		}
		if (!this.file) {
			throw new Error("Unable to reopen a file descriptor, you must pass a file to SonicBoom");
		}
		if (file) {
			this.file = file;
		}
		this._reopening = true;
		if (this._writing) {
			return;
		}
		const fd = this.fd;
		this.once("ready", () => {
			if (fd !== this.fd) {
				fs$4.close(fd, (err) => {
					if (err) {
						return this.emit("error", err);
					}
				});
			}
		});
		openFile(this.file, this);
	};
	SonicBoom.prototype.end = function() {
		if (this.destroyed) {
			throw new Error("SonicBoom destroyed");
		}
		if (this._opening) {
			this.once("ready", () => {
				this.end();
			});
			return;
		}
		if (this._ending) {
			return;
		}
		this._ending = true;
		if (this._writing) {
			return;
		}
		if (this._len > 0 && this.fd >= 0) {
			this._actualWrite();
		} else {
			actualClose(this);
		}
	};
	function flushSync() {
		if (this.destroyed) {
			throw new Error("SonicBoom destroyed");
		}
		if (this.fd < 0) {
			throw new Error("sonic boom is not ready yet");
		}
		if (!this._writing && this._writingBuf.length > 0) {
			this._bufs.unshift(this._writingBuf);
			this._writingBuf = "";
		}
		let buf = "";
		while (this._bufs.length || buf) {
			if (buf.length <= 0) {
				buf = this._bufs[0];
			}
			try {
				const n = fs$4.writeSync(this.fd, buf, "utf8");
				const releasedBufObj = releaseWritingBuf(buf, this._len, n);
				buf = releasedBufObj.writingBuf;
				this._len = releasedBufObj.len;
				if (buf.length <= 0) {
					this._bufs.shift();
				}
			} catch (err) {
				const shouldRetry = err.code === "EAGAIN" || err.code === "EBUSY";
				if (shouldRetry && !this.retryEAGAIN(err, buf.length, this._len - buf.length)) {
					throw err;
				}
				sleep(BUSY_WRITE_TIMEOUT);
			}
		}
		try {
			fs$4.fsyncSync(this.fd);
		} catch {}
	}
	function flushBufferSync() {
		if (this.destroyed) {
			throw new Error("SonicBoom destroyed");
		}
		if (this.fd < 0) {
			throw new Error("sonic boom is not ready yet");
		}
		if (!this._writing && this._writingBuf.length > 0) {
			this._bufs.unshift([this._writingBuf]);
			this._writingBuf = kEmptyBuffer;
		}
		let buf = kEmptyBuffer;
		while (this._bufs.length || buf.length) {
			if (buf.length <= 0) {
				buf = mergeBuf(this._bufs[0], this._lens[0]);
			}
			try {
				const n = fs$4.writeSync(this.fd, buf);
				buf = buf.subarray(n);
				this._len = Math.max(this._len - n, 0);
				if (buf.length <= 0) {
					this._bufs.shift();
					this._lens.shift();
				}
			} catch (err) {
				const shouldRetry = err.code === "EAGAIN" || err.code === "EBUSY";
				if (shouldRetry && !this.retryEAGAIN(err, buf.length, this._len - buf.length)) {
					throw err;
				}
				sleep(BUSY_WRITE_TIMEOUT);
			}
		}
	}
	SonicBoom.prototype.destroy = function() {
		if (this.destroyed) {
			return;
		}
		actualClose(this);
	};
	function actualWrite() {
		const release = this.release;
		this._writing = true;
		this._writingBuf = this._writingBuf || this._bufs.shift() || "";
		if (this.sync) {
			try {
				const written = fs$4.writeSync(this.fd, this._writingBuf, "utf8");
				release(null, written);
			} catch (err) {
				release(err);
			}
		} else {
			fs$4.write(this.fd, this._writingBuf, "utf8", release);
		}
	}
	function actualWriteBuffer() {
		const release = this.release;
		this._writing = true;
		this._writingBuf = this._writingBuf.length ? this._writingBuf : mergeBuf(this._bufs.shift(), this._lens.shift());
		if (this.sync) {
			try {
				const written = fs$4.writeSync(this.fd, this._writingBuf);
				release(null, written);
			} catch (err) {
				release(err);
			}
		} else {
			if (kCopyBuffer) {
				this._writingBuf = Buffer.from(this._writingBuf);
			}
			fs$4.write(this.fd, this._writingBuf, release);
		}
	}
	function actualClose(sonic) {
		if (sonic.fd === -1) {
			sonic.once("ready", actualClose.bind(null, sonic));
			return;
		}
		if (sonic._periodicFlushTimer !== undefined) {
			clearInterval(sonic._periodicFlushTimer);
		}
		sonic.destroyed = true;
		sonic._bufs = [];
		sonic._lens = [];
		assert$43(typeof sonic.fd === "number", `sonic.fd must be a number, got ${typeof sonic.fd}`);
		try {
			fs$4.fsync(sonic.fd, closeWrapped);
		} catch {}
		function closeWrapped() {
			if (sonic.fd !== 1 && sonic.fd !== 2) {
				fs$4.close(sonic.fd, done);
			} else {
				done();
			}
		}
		function done(err) {
			if (err) {
				sonic.emit("error", err);
				return;
			}
			if (sonic._ending && !sonic._writing) {
				sonic.emit("finish");
			}
			sonic.emit("close");
		}
	}
	/**
	* These export configurations enable JS and TS developers
	* to consumer SonicBoom in whatever way best suits their needs.
	* Some examples of supported import syntax includes:
	* - `const SonicBoom = require('SonicBoom')`
	* - `const { SonicBoom } = require('SonicBoom')`
	* - `import * as SonicBoom from 'SonicBoom'`
	* - `import { SonicBoom } from 'SonicBoom'`
	* - `import SonicBoom from 'SonicBoom'`
	*/
	SonicBoom.SonicBoom = SonicBoom;
	SonicBoom.default = SonicBoom;
	module.exports = SonicBoom;
}));

//#endregion
//#region ../node_modules/on-exit-leak-free/index.js
var require_on_exit_leak_free = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const refs = {
		exit: [],
		beforeExit: []
	};
	const functions = {
		exit: onExit,
		beforeExit: onBeforeExit
	};
	let registry;
	function ensureRegistry() {
		if (registry === undefined) {
			registry = new FinalizationRegistry(clear);
		}
	}
	function install(event) {
		if (refs[event].length > 0) {
			return;
		}
		process.on(event, functions[event]);
	}
	function uninstall(event) {
		if (refs[event].length > 0) {
			return;
		}
		process.removeListener(event, functions[event]);
		if (refs.exit.length === 0 && refs.beforeExit.length === 0) {
			registry = undefined;
		}
	}
	function onExit() {
		callRefs("exit");
	}
	function onBeforeExit() {
		callRefs("beforeExit");
	}
	function callRefs(event) {
		for (const ref of refs[event]) {
			const obj = ref.deref();
			const fn = ref.fn;
			/* istanbul ignore else */
			if (obj !== undefined) {
				fn(obj, event);
			}
		}
		refs[event] = [];
	}
	function clear(ref) {
		for (const event of ["exit", "beforeExit"]) {
			const index = refs[event].indexOf(ref);
			refs[event].splice(index, index + 1);
			uninstall(event);
		}
	}
	function _register(event, obj, fn) {
		if (obj === undefined) {
			throw new Error("the object can't be undefined");
		}
		install(event);
		const ref = new WeakRef(obj);
		ref.fn = fn;
		ensureRegistry();
		registry.register(obj, ref);
		refs[event].push(ref);
	}
	function register(obj, fn) {
		_register("exit", obj, fn);
	}
	function registerBeforeExit(obj, fn) {
		_register("beforeExit", obj, fn);
	}
	function unregister(obj) {
		if (registry === undefined) {
			return;
		}
		registry.unregister(obj);
		for (const event of ["exit", "beforeExit"]) {
			refs[event] = refs[event].filter((ref) => {
				const _obj = ref.deref();
				return _obj && _obj !== obj;
			});
			uninstall(event);
		}
	}
	module.exports = {
		register,
		registerBeforeExit,
		unregister
	};
}));

//#endregion
//#region ../node_modules/thread-stream/package.json
var require_package$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = {
		"name": "thread-stream",
		"version": "3.1.0",
		"description": "A streaming way to send data to a Node.js Worker Thread",
		"main": "index.js",
		"types": "index.d.ts",
		"dependencies": { "real-require": "^0.2.0" },
		"devDependencies": {
			"@types/node": "^20.1.0",
			"@types/tap": "^15.0.0",
			"@yao-pkg/pkg": "^5.11.5",
			"desm": "^1.3.0",
			"fastbench": "^1.0.1",
			"husky": "^9.0.6",
			"pino-elasticsearch": "^8.0.0",
			"sonic-boom": "^4.0.1",
			"standard": "^17.0.0",
			"tap": "^16.2.0",
			"ts-node": "^10.8.0",
			"typescript": "^5.3.2",
			"why-is-node-running": "^2.2.2"
		},
		"scripts": {
			"build": "tsc --noEmit",
			"test": "standard && npm run build && npm run transpile && tap \"test/**/*.test.*js\" && tap --ts test/*.test.*ts",
			"test:ci": "standard && npm run transpile && npm run test:ci:js && npm run test:ci:ts",
			"test:ci:js": "tap --no-check-coverage --timeout=120 --coverage-report=lcovonly \"test/**/*.test.*js\"",
			"test:ci:ts": "tap --ts --no-check-coverage --coverage-report=lcovonly \"test/**/*.test.*ts\"",
			"test:yarn": "npm run transpile && tap \"test/**/*.test.js\" --no-check-coverage",
			"transpile": "sh ./test/ts/transpile.sh",
			"prepare": "husky install"
		},
		"standard": { "ignore": ["test/ts/**/*", "test/syntax-error.mjs"] },
		"repository": {
			"type": "git",
			"url": "git+https://github.com/mcollina/thread-stream.git"
		},
		"keywords": [
			"worker",
			"thread",
			"threads",
			"stream"
		],
		"author": "Matteo Collina <hello@matteocollina.com>",
		"license": "MIT",
		"bugs": { "url": "https://github.com/mcollina/thread-stream/issues" },
		"homepage": "https://github.com/mcollina/thread-stream#readme"
	};
}));

//#endregion
//#region ../node_modules/thread-stream/lib/wait.js
var require_wait = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const MAX_TIMEOUT = 1e3;
	function wait(state, index, expected, timeout, done) {
		const max = Date.now() + timeout;
		let current = Atomics.load(state, index);
		if (current === expected) {
			done(null, "ok");
			return;
		}
		let prior = current;
		const check = (backoff) => {
			if (Date.now() > max) {
				done(null, "timed-out");
			} else {
				setTimeout(() => {
					prior = current;
					current = Atomics.load(state, index);
					if (current === prior) {
						check(backoff >= MAX_TIMEOUT ? MAX_TIMEOUT : backoff * 2);
					} else {
						if (current === expected) done(null, "ok");
						else done(null, "not-equal");
					}
				}, backoff);
			}
		};
		check(1);
	}
	function waitDiff(state, index, expected, timeout, done) {
		const max = Date.now() + timeout;
		let current = Atomics.load(state, index);
		if (current !== expected) {
			done(null, "ok");
			return;
		}
		const check = (backoff) => {
			if (Date.now() > max) {
				done(null, "timed-out");
			} else {
				setTimeout(() => {
					current = Atomics.load(state, index);
					if (current !== expected) {
						done(null, "ok");
					} else {
						check(backoff >= MAX_TIMEOUT ? MAX_TIMEOUT : backoff * 2);
					}
				}, backoff);
			}
		};
		check(1);
	}
	module.exports = {
		wait,
		waitDiff
	};
}));

//#endregion
//#region ../node_modules/thread-stream/lib/indexes.js
var require_indexes = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const WRITE_INDEX = 4;
	const READ_INDEX = 8;
	module.exports = {
		WRITE_INDEX,
		READ_INDEX
	};
}));

//#endregion
//#region ../node_modules/thread-stream/index.js
var require_thread_stream = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { version } = require_package$1();
	const { EventEmitter: EventEmitter$7 } = __require("events");
	const { Worker: Worker$1 } = __require("worker_threads");
	const { join: join$2 } = __require("path");
	const { pathToFileURL: pathToFileURL$1 } = __require("url");
	const { wait } = require_wait();
	const { WRITE_INDEX, READ_INDEX } = require_indexes();
	const buffer$1 = __require("buffer");
	const assert$42 = __require("assert");
	const kImpl = Symbol("kImpl");
	const MAX_STRING = buffer$1.constants.MAX_STRING_LENGTH;
	var FakeWeakRef = class {
		constructor(value) {
			this._value = value;
		}
		deref() {
			return this._value;
		}
	};
	var FakeFinalizationRegistry = class {
		register() {}
		unregister() {}
	};
	const FinalizationRegistry = process.env.NODE_V8_COVERAGE ? FakeFinalizationRegistry : global.FinalizationRegistry || FakeFinalizationRegistry;
	const WeakRef = process.env.NODE_V8_COVERAGE ? FakeWeakRef : global.WeakRef || FakeWeakRef;
	const registry = new FinalizationRegistry((worker) => {
		if (worker.exited) {
			return;
		}
		worker.terminate();
	});
	function createWorker(stream, opts) {
		const { filename, workerData } = opts;
		const bundlerOverrides = "__bundlerPathsOverrides" in globalThis ? globalThis.__bundlerPathsOverrides : {};
		const toExecute = bundlerOverrides["thread-stream-worker"] || join$2(__dirname, "lib", "worker.js");
		const worker = new Worker$1(toExecute, {
			...opts.workerOpts,
			trackUnmanagedFds: false,
			workerData: {
				filename: filename.indexOf("file://") === 0 ? filename : pathToFileURL$1(filename).href,
				dataBuf: stream[kImpl].dataBuf,
				stateBuf: stream[kImpl].stateBuf,
				workerData: {
					$context: { threadStreamVersion: version },
					...workerData
				}
			}
		});
		worker.stream = new FakeWeakRef(stream);
		worker.on("message", onWorkerMessage);
		worker.on("exit", onWorkerExit);
		registry.register(stream, worker);
		return worker;
	}
	function drain(stream) {
		assert$42(!stream[kImpl].sync);
		if (stream[kImpl].needDrain) {
			stream[kImpl].needDrain = false;
			stream.emit("drain");
		}
	}
	function nextFlush(stream) {
		const writeIndex = Atomics.load(stream[kImpl].state, WRITE_INDEX);
		let leftover = stream[kImpl].data.length - writeIndex;
		if (leftover > 0) {
			if (stream[kImpl].buf.length === 0) {
				stream[kImpl].flushing = false;
				if (stream[kImpl].ending) {
					end(stream);
				} else if (stream[kImpl].needDrain) {
					process.nextTick(drain, stream);
				}
				return;
			}
			let toWrite = stream[kImpl].buf.slice(0, leftover);
			let toWriteBytes = Buffer.byteLength(toWrite);
			if (toWriteBytes <= leftover) {
				stream[kImpl].buf = stream[kImpl].buf.slice(leftover);
				write(stream, toWrite, nextFlush.bind(null, stream));
			} else {
				stream.flush(() => {
					if (stream.destroyed) {
						return;
					}
					Atomics.store(stream[kImpl].state, READ_INDEX, 0);
					Atomics.store(stream[kImpl].state, WRITE_INDEX, 0);
					while (toWriteBytes > stream[kImpl].data.length) {
						leftover = leftover / 2;
						toWrite = stream[kImpl].buf.slice(0, leftover);
						toWriteBytes = Buffer.byteLength(toWrite);
					}
					stream[kImpl].buf = stream[kImpl].buf.slice(leftover);
					write(stream, toWrite, nextFlush.bind(null, stream));
				});
			}
		} else if (leftover === 0) {
			if (writeIndex === 0 && stream[kImpl].buf.length === 0) {
				return;
			}
			stream.flush(() => {
				Atomics.store(stream[kImpl].state, READ_INDEX, 0);
				Atomics.store(stream[kImpl].state, WRITE_INDEX, 0);
				nextFlush(stream);
			});
		} else {
			destroy(stream, new Error("overwritten"));
		}
	}
	function onWorkerMessage(msg) {
		const stream = this.stream.deref();
		if (stream === undefined) {
			this.exited = true;
			this.terminate();
			return;
		}
		switch (msg.code) {
			case "READY":
				this.stream = new WeakRef(stream);
				stream.flush(() => {
					stream[kImpl].ready = true;
					stream.emit("ready");
				});
				break;
			case "ERROR":
				destroy(stream, msg.err);
				break;
			case "EVENT":
				if (Array.isArray(msg.args)) {
					stream.emit(msg.name, ...msg.args);
				} else {
					stream.emit(msg.name, msg.args);
				}
				break;
			case "WARNING":
				process.emitWarning(msg.err);
				break;
			default: destroy(stream, new Error("this should not happen: " + msg.code));
		}
	}
	function onWorkerExit(code) {
		const stream = this.stream.deref();
		if (stream === undefined) {
			return;
		}
		registry.unregister(stream);
		stream.worker.exited = true;
		stream.worker.off("exit", onWorkerExit);
		destroy(stream, code !== 0 ? new Error("the worker thread exited") : null);
	}
	var ThreadStream = class extends EventEmitter$7 {
		constructor(opts = {}) {
			super();
			if (opts.bufferSize < 4) {
				throw new Error("bufferSize must at least fit a 4-byte utf-8 char");
			}
			this[kImpl] = {};
			this[kImpl].stateBuf = new SharedArrayBuffer(128);
			this[kImpl].state = new Int32Array(this[kImpl].stateBuf);
			this[kImpl].dataBuf = new SharedArrayBuffer(opts.bufferSize || 4 * 1024 * 1024);
			this[kImpl].data = Buffer.from(this[kImpl].dataBuf);
			this[kImpl].sync = opts.sync || false;
			this[kImpl].ending = false;
			this[kImpl].ended = false;
			this[kImpl].needDrain = false;
			this[kImpl].destroyed = false;
			this[kImpl].flushing = false;
			this[kImpl].ready = false;
			this[kImpl].finished = false;
			this[kImpl].errored = null;
			this[kImpl].closed = false;
			this[kImpl].buf = "";
			this.worker = createWorker(this, opts);
			this.on("message", (message, transferList) => {
				this.worker.postMessage(message, transferList);
			});
		}
		write(data) {
			if (this[kImpl].destroyed) {
				error(this, new Error("the worker has exited"));
				return false;
			}
			if (this[kImpl].ending) {
				error(this, new Error("the worker is ending"));
				return false;
			}
			if (this[kImpl].flushing && this[kImpl].buf.length + data.length >= MAX_STRING) {
				try {
					writeSync(this);
					this[kImpl].flushing = true;
				} catch (err) {
					destroy(this, err);
					return false;
				}
			}
			this[kImpl].buf += data;
			if (this[kImpl].sync) {
				try {
					writeSync(this);
					return true;
				} catch (err) {
					destroy(this, err);
					return false;
				}
			}
			if (!this[kImpl].flushing) {
				this[kImpl].flushing = true;
				setImmediate(nextFlush, this);
			}
			this[kImpl].needDrain = this[kImpl].data.length - this[kImpl].buf.length - Atomics.load(this[kImpl].state, WRITE_INDEX) <= 0;
			return !this[kImpl].needDrain;
		}
		end() {
			if (this[kImpl].destroyed) {
				return;
			}
			this[kImpl].ending = true;
			end(this);
		}
		flush(cb) {
			if (this[kImpl].destroyed) {
				if (typeof cb === "function") {
					process.nextTick(cb, new Error("the worker has exited"));
				}
				return;
			}
			const writeIndex = Atomics.load(this[kImpl].state, WRITE_INDEX);
			wait(this[kImpl].state, READ_INDEX, writeIndex, Infinity, (err, res) => {
				if (err) {
					destroy(this, err);
					process.nextTick(cb, err);
					return;
				}
				if (res === "not-equal") {
					this.flush(cb);
					return;
				}
				process.nextTick(cb);
			});
		}
		flushSync() {
			if (this[kImpl].destroyed) {
				return;
			}
			writeSync(this);
			flushSync(this);
		}
		unref() {
			this.worker.unref();
		}
		ref() {
			this.worker.ref();
		}
		get ready() {
			return this[kImpl].ready;
		}
		get destroyed() {
			return this[kImpl].destroyed;
		}
		get closed() {
			return this[kImpl].closed;
		}
		get writable() {
			return !this[kImpl].destroyed && !this[kImpl].ending;
		}
		get writableEnded() {
			return this[kImpl].ending;
		}
		get writableFinished() {
			return this[kImpl].finished;
		}
		get writableNeedDrain() {
			return this[kImpl].needDrain;
		}
		get writableObjectMode() {
			return false;
		}
		get writableErrored() {
			return this[kImpl].errored;
		}
	};
	function error(stream, err) {
		setImmediate(() => {
			stream.emit("error", err);
		});
	}
	function destroy(stream, err) {
		if (stream[kImpl].destroyed) {
			return;
		}
		stream[kImpl].destroyed = true;
		if (err) {
			stream[kImpl].errored = err;
			error(stream, err);
		}
		if (!stream.worker.exited) {
			stream.worker.terminate().catch(() => {}).then(() => {
				stream[kImpl].closed = true;
				stream.emit("close");
			});
		} else {
			setImmediate(() => {
				stream[kImpl].closed = true;
				stream.emit("close");
			});
		}
	}
	function write(stream, data, cb) {
		const current = Atomics.load(stream[kImpl].state, WRITE_INDEX);
		const length = Buffer.byteLength(data);
		stream[kImpl].data.write(data, current);
		Atomics.store(stream[kImpl].state, WRITE_INDEX, current + length);
		Atomics.notify(stream[kImpl].state, WRITE_INDEX);
		cb();
		return true;
	}
	function end(stream) {
		if (stream[kImpl].ended || !stream[kImpl].ending || stream[kImpl].flushing) {
			return;
		}
		stream[kImpl].ended = true;
		try {
			stream.flushSync();
			let readIndex = Atomics.load(stream[kImpl].state, READ_INDEX);
			Atomics.store(stream[kImpl].state, WRITE_INDEX, -1);
			Atomics.notify(stream[kImpl].state, WRITE_INDEX);
			let spins = 0;
			while (readIndex !== -1) {
				Atomics.wait(stream[kImpl].state, READ_INDEX, readIndex, 1e3);
				readIndex = Atomics.load(stream[kImpl].state, READ_INDEX);
				if (readIndex === -2) {
					destroy(stream, new Error("end() failed"));
					return;
				}
				if (++spins === 10) {
					destroy(stream, new Error("end() took too long (10s)"));
					return;
				}
			}
			process.nextTick(() => {
				stream[kImpl].finished = true;
				stream.emit("finish");
			});
		} catch (err) {
			destroy(stream, err);
		}
	}
	function writeSync(stream) {
		const cb = () => {
			if (stream[kImpl].ending) {
				end(stream);
			} else if (stream[kImpl].needDrain) {
				process.nextTick(drain, stream);
			}
		};
		stream[kImpl].flushing = false;
		while (stream[kImpl].buf.length !== 0) {
			const writeIndex = Atomics.load(stream[kImpl].state, WRITE_INDEX);
			let leftover = stream[kImpl].data.length - writeIndex;
			if (leftover === 0) {
				flushSync(stream);
				Atomics.store(stream[kImpl].state, READ_INDEX, 0);
				Atomics.store(stream[kImpl].state, WRITE_INDEX, 0);
				continue;
			} else if (leftover < 0) {
				throw new Error("overwritten");
			}
			let toWrite = stream[kImpl].buf.slice(0, leftover);
			let toWriteBytes = Buffer.byteLength(toWrite);
			if (toWriteBytes <= leftover) {
				stream[kImpl].buf = stream[kImpl].buf.slice(leftover);
				write(stream, toWrite, cb);
			} else {
				flushSync(stream);
				Atomics.store(stream[kImpl].state, READ_INDEX, 0);
				Atomics.store(stream[kImpl].state, WRITE_INDEX, 0);
				while (toWriteBytes > stream[kImpl].buf.length) {
					leftover = leftover / 2;
					toWrite = stream[kImpl].buf.slice(0, leftover);
					toWriteBytes = Buffer.byteLength(toWrite);
				}
				stream[kImpl].buf = stream[kImpl].buf.slice(leftover);
				write(stream, toWrite, cb);
			}
		}
	}
	function flushSync(stream) {
		if (stream[kImpl].flushing) {
			throw new Error("unable to flush while flushing");
		}
		const writeIndex = Atomics.load(stream[kImpl].state, WRITE_INDEX);
		let spins = 0;
		while (true) {
			const readIndex = Atomics.load(stream[kImpl].state, READ_INDEX);
			if (readIndex === -2) {
				throw Error("_flushSync failed");
			}
			if (readIndex !== writeIndex) {
				Atomics.wait(stream[kImpl].state, READ_INDEX, readIndex, 1e3);
			} else {
				break;
			}
			if (++spins === 10) {
				throw new Error("_flushSync took too long (10s)");
			}
		}
	}
	module.exports = ThreadStream;
}));

//#endregion
//#region ../node_modules/pino/lib/transport.js
var require_transport = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { createRequire: createRequire$2 } = __require("module");
	const getCallers = require_caller();
	const { join: join$1, isAbsolute, sep: sep$1 } = __require("node:path");
	const sleep = require_atomic_sleep();
	const onExit = require_on_exit_leak_free();
	const ThreadStream = require_thread_stream();
	function setupOnExit(stream) {
		onExit.register(stream, autoEnd);
		onExit.registerBeforeExit(stream, flush);
		stream.on("close", function() {
			onExit.unregister(stream);
		});
	}
	function buildStream(filename, workerData, workerOpts, sync) {
		const stream = new ThreadStream({
			filename,
			workerData,
			workerOpts,
			sync
		});
		stream.on("ready", onReady);
		stream.on("close", function() {
			process.removeListener("exit", onExit);
		});
		process.on("exit", onExit);
		function onReady() {
			process.removeListener("exit", onExit);
			stream.unref();
			if (workerOpts.autoEnd !== false) {
				setupOnExit(stream);
			}
		}
		function onExit() {
			/* istanbul ignore next */
			if (stream.closed) {
				return;
			}
			stream.flushSync();
			sleep(100);
			stream.end();
		}
		return stream;
	}
	function autoEnd(stream) {
		stream.ref();
		stream.flushSync();
		stream.end();
		stream.once("close", function() {
			stream.unref();
		});
	}
	function flush(stream) {
		stream.flushSync();
	}
	function transport(fullOptions) {
		const { pipeline, targets, levels, dedupe, worker = {}, caller = getCallers(), sync = false } = fullOptions;
		const options = { ...fullOptions.options };
		const callers = typeof caller === "string" ? [caller] : caller;
		const bundlerOverrides = "__bundlerPathsOverrides" in globalThis ? globalThis.__bundlerPathsOverrides : {};
		let target = fullOptions.target;
		if (target && targets) {
			throw new Error("only one of target or targets can be specified");
		}
		if (targets) {
			target = bundlerOverrides["pino-worker"] || join$1(__dirname, "worker.js");
			options.targets = targets.filter((dest) => dest.target).map((dest) => {
				return {
					...dest,
					target: fixTarget(dest.target)
				};
			});
			options.pipelines = targets.filter((dest) => dest.pipeline).map((dest) => {
				return dest.pipeline.map((t) => {
					return {
						...t,
						level: dest.level,
						target: fixTarget(t.target)
					};
				});
			});
		} else if (pipeline) {
			target = bundlerOverrides["pino-worker"] || join$1(__dirname, "worker.js");
			options.pipelines = [pipeline.map((dest) => {
				return {
					...dest,
					target: fixTarget(dest.target)
				};
			})];
		}
		if (levels) {
			options.levels = levels;
		}
		if (dedupe) {
			options.dedupe = dedupe;
		}
		options.pinoWillSendConfig = true;
		return buildStream(fixTarget(target), options, worker, sync);
		function fixTarget(origin) {
			origin = bundlerOverrides[origin] || origin;
			if (isAbsolute(origin) || origin.indexOf("file://") === 0) {
				return origin;
			}
			if (origin === "pino/file") {
				return join$1(__dirname, "..", "file.js");
			}
			let fixTarget;
			for (const filePath of callers) {
				try {
					const context = filePath === "node:repl" ? process.cwd() + sep$1 : filePath;
					fixTarget = createRequire$2(context).resolve(origin);
					break;
				} catch (err) {
					continue;
				}
			}
			if (!fixTarget) {
				throw new Error(`unable to determine transport target for "${origin}"`);
			}
			return fixTarget;
		}
	}
	module.exports = transport;
}));

//#endregion
//#region ../node_modules/pino/lib/tools.js
var require_tools = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const diagChan = __require("node:diagnostics_channel");
	const format = require_quick_format_unescaped();
	const { mapHttpRequest, mapHttpResponse } = require_pino_std_serializers();
	const SonicBoom = require_sonic_boom();
	const onExit = require_on_exit_leak_free();
	const { lsCacheSym, chindingsSym, writeSym, serializersSym, formatOptsSym, endSym, stringifiersSym, stringifySym, stringifySafeSym, wildcardFirstSym, nestedKeySym, formattersSym, messageKeySym, errorKeySym, nestedKeyStrSym, msgPrefixSym } = require_symbols$3();
	const { isMainThread } = __require("worker_threads");
	const transport = require_transport();
	let asJsonChan;
	if (typeof diagChan.tracingChannel === "function") {
		asJsonChan = diagChan.tracingChannel("pino_asJson");
	} else {
		asJsonChan = {
			hasSubscribers: false,
			traceSync(fn, store, thisArg, ...args) {
				return fn.call(thisArg, ...args);
			}
		};
	}
	function noop() {}
	function genLog(level, hook) {
		if (!hook) return LOG;
		return function hookWrappedLog(...args) {
			hook.call(this, args, LOG, level);
		};
		function LOG(o, ...n) {
			if (typeof o === "object") {
				let msg = o;
				if (o !== null) {
					if (o.method && o.headers && o.socket) {
						o = mapHttpRequest(o);
					} else if (typeof o.setHeader === "function") {
						o = mapHttpResponse(o);
					}
				}
				let formatParams;
				if (msg === null && n.length === 0) {
					formatParams = [null];
				} else {
					msg = n.shift();
					formatParams = n;
				}
				if (typeof this[msgPrefixSym] === "string" && msg !== undefined && msg !== null) {
					msg = this[msgPrefixSym] + msg;
				}
				this[writeSym](o, format(msg, formatParams, this[formatOptsSym]), level);
			} else {
				let msg = o === undefined ? n.shift() : o;
				if (typeof this[msgPrefixSym] === "string" && msg !== undefined && msg !== null) {
					msg = this[msgPrefixSym] + msg;
				}
				this[writeSym](null, format(msg, n, this[formatOptsSym]), level);
			}
		}
	}
	function asString(str) {
		let result = "";
		let last = 0;
		let found = false;
		let point = 255;
		const l = str.length;
		if (l > 100) {
			return JSON.stringify(str);
		}
		for (var i = 0; i < l && point >= 32; i++) {
			point = str.charCodeAt(i);
			if (point === 34 || point === 92) {
				result += str.slice(last, i) + "\\";
				last = i;
				found = true;
			}
		}
		if (!found) {
			result = str;
		} else {
			result += str.slice(last);
		}
		return point < 32 ? JSON.stringify(str) : "\"" + result + "\"";
	}
	/**
	* `asJson` wraps `_asJson` in order to facilitate generating diagnostics.
	*
	* @param {object} obj The merging object passed to the log method.
	* @param {string} msg The log message passed to the log method.
	* @param {number} num The log level number.
	* @param {number} time The log time in milliseconds.
	*
	* @returns {string}
	*/
	function asJson(obj, msg, num, time) {
		if (asJsonChan.hasSubscribers === false) {
			return _asJson.call(this, obj, msg, num, time);
		}
		const store = {
			instance: this,
			arguments
		};
		return asJsonChan.traceSync(_asJson, store, this, obj, msg, num, time);
	}
	/**
	* `_asJson` parses all collected data and generates the finalized newline
	* delimited JSON string.
	*
	* @param {object} obj The merging object passed to the log method.
	* @param {string} msg The log message passed to the log method.
	* @param {number} num The log level number.
	* @param {number} time The log time in milliseconds.
	*
	* @returns {string} The finalized log string terminated with a newline.
	* @private
	*/
	function _asJson(obj, msg, num, time) {
		const stringify = this[stringifySym];
		const stringifySafe = this[stringifySafeSym];
		const stringifiers = this[stringifiersSym];
		const end = this[endSym];
		const chindings = this[chindingsSym];
		const serializers = this[serializersSym];
		const formatters = this[formattersSym];
		const messageKey = this[messageKeySym];
		const errorKey = this[errorKeySym];
		let data = this[lsCacheSym][num] + time;
		data = data + chindings;
		let value;
		if (formatters.log) {
			obj = formatters.log(obj);
		}
		const wildcardStringifier = stringifiers[wildcardFirstSym];
		let propStr = "";
		for (const key in obj) {
			value = obj[key];
			if (Object.prototype.hasOwnProperty.call(obj, key) && value !== undefined) {
				if (serializers[key]) {
					value = serializers[key](value);
				} else if (key === errorKey && serializers.err) {
					value = serializers.err(value);
				}
				const stringifier = stringifiers[key] || wildcardStringifier;
				switch (typeof value) {
					case "undefined":
					case "function": continue;
					case "number": if (Number.isFinite(value) === false) {
						value = null;
					}
					case "boolean":
						if (stringifier) value = stringifier(value);
						break;
					case "string":
						value = (stringifier || asString)(value);
						break;
					default: value = (stringifier || stringify)(value, stringifySafe);
				}
				if (value === undefined) continue;
				const strKey = asString(key);
				propStr += "," + strKey + ":" + value;
			}
		}
		let msgStr = "";
		if (msg !== undefined) {
			value = serializers[messageKey] ? serializers[messageKey](msg) : msg;
			const stringifier = stringifiers[messageKey] || wildcardStringifier;
			switch (typeof value) {
				case "function": break;
				case "number": if (Number.isFinite(value) === false) {
					value = null;
				}
				case "boolean":
					if (stringifier) value = stringifier(value);
					msgStr = ",\"" + messageKey + "\":" + value;
					break;
				case "string":
					value = (stringifier || asString)(value);
					msgStr = ",\"" + messageKey + "\":" + value;
					break;
				default:
					value = (stringifier || stringify)(value, stringifySafe);
					msgStr = ",\"" + messageKey + "\":" + value;
			}
		}
		if (this[nestedKeySym] && propStr) {
			return data + this[nestedKeyStrSym] + propStr.slice(1) + "}" + msgStr + end;
		} else {
			return data + propStr + msgStr + end;
		}
	}
	function asChindings(instance, bindings) {
		let value;
		let data = instance[chindingsSym];
		const stringify = instance[stringifySym];
		const stringifySafe = instance[stringifySafeSym];
		const stringifiers = instance[stringifiersSym];
		const wildcardStringifier = stringifiers[wildcardFirstSym];
		const serializers = instance[serializersSym];
		const formatter = instance[formattersSym].bindings;
		bindings = formatter(bindings);
		for (const key in bindings) {
			value = bindings[key];
			const valid = (key.length < 5 || key !== "level" && key !== "serializers" && key !== "formatters" && key !== "customLevels") && bindings.hasOwnProperty(key) && value !== undefined;
			if (valid === true) {
				value = serializers[key] ? serializers[key](value) : value;
				value = (stringifiers[key] || wildcardStringifier || stringify)(value, stringifySafe);
				if (value === undefined) continue;
				data += ",\"" + key + "\":" + value;
			}
		}
		return data;
	}
	function hasBeenTampered(stream) {
		return stream.write !== stream.constructor.prototype.write;
	}
	function buildSafeSonicBoom(opts) {
		const stream = new SonicBoom(opts);
		stream.on("error", filterBrokenPipe);
		if (!opts.sync && isMainThread) {
			onExit.register(stream, autoEnd);
			stream.on("close", function() {
				onExit.unregister(stream);
			});
		}
		return stream;
		function filterBrokenPipe(err) {
			/* istanbul ignore next */
			if (err.code === "EPIPE") {
				stream.write = noop;
				stream.end = noop;
				stream.flushSync = noop;
				stream.destroy = noop;
				return;
			}
			stream.removeListener("error", filterBrokenPipe);
			stream.emit("error", err);
		}
	}
	function autoEnd(stream, eventName) {
		/* istanbul ignore next */
		if (stream.destroyed) {
			return;
		}
		if (eventName === "beforeExit") {
			stream.flush();
			stream.on("drain", function() {
				stream.end();
			});
		} else {
			/* istanbul ignore next */
			stream.flushSync();
		}
	}
	function createArgsNormalizer(defaultOptions) {
		return function normalizeArgs(instance, caller, opts = {}, stream) {
			if (typeof opts === "string") {
				stream = buildSafeSonicBoom({ dest: opts });
				opts = {};
			} else if (typeof stream === "string") {
				if (opts && opts.transport) {
					throw Error("only one of option.transport or stream can be specified");
				}
				stream = buildSafeSonicBoom({ dest: stream });
			} else if (opts instanceof SonicBoom || opts.writable || opts._writableState) {
				stream = opts;
				opts = {};
			} else if (opts.transport) {
				if (opts.transport instanceof SonicBoom || opts.transport.writable || opts.transport._writableState) {
					throw Error("option.transport do not allow stream, please pass to option directly. e.g. pino(transport)");
				}
				if (opts.transport.targets && opts.transport.targets.length && opts.formatters && typeof opts.formatters.level === "function") {
					throw Error("option.transport.targets do not allow custom level formatters");
				}
				let customLevels;
				if (opts.customLevels) {
					customLevels = opts.useOnlyCustomLevels ? opts.customLevels : Object.assign({}, opts.levels, opts.customLevels);
				}
				stream = transport({
					caller,
					...opts.transport,
					levels: customLevels
				});
			}
			opts = Object.assign({}, defaultOptions, opts);
			opts.serializers = Object.assign({}, defaultOptions.serializers, opts.serializers);
			opts.formatters = Object.assign({}, defaultOptions.formatters, opts.formatters);
			if (opts.prettyPrint) {
				throw new Error("prettyPrint option is no longer supported, see the pino-pretty package (https://github.com/pinojs/pino-pretty)");
			}
			const { enabled, onChild } = opts;
			if (enabled === false) opts.level = "silent";
			if (!onChild) opts.onChild = noop;
			if (!stream) {
				if (!hasBeenTampered(process.stdout)) {
					stream = buildSafeSonicBoom({ fd: process.stdout.fd || 1 });
				} else {
					stream = process.stdout;
				}
			}
			return {
				opts,
				stream
			};
		};
	}
	function stringify(obj, stringifySafeFn) {
		try {
			return JSON.stringify(obj);
		} catch (_) {
			try {
				const stringify = stringifySafeFn || this[stringifySafeSym];
				return stringify(obj);
			} catch (_) {
				return "\"[unable to serialize, circular reference is too complex to analyze]\"";
			}
		}
	}
	function buildFormatters(level, bindings, log) {
		return {
			level,
			bindings,
			log
		};
	}
	/**
	* Convert a string integer file descriptor to a proper native integer
	* file descriptor.
	*
	* @param {string} destination The file descriptor string to attempt to convert.
	*
	* @returns {Number}
	*/
	function normalizeDestFileDescriptor(destination) {
		const fd = Number(destination);
		if (typeof destination === "string" && Number.isFinite(fd)) {
			return fd;
		}
		if (destination === undefined) {
			return 1;
		}
		return destination;
	}
	module.exports = {
		noop,
		buildSafeSonicBoom,
		asChindings,
		asJson,
		genLog,
		createArgsNormalizer,
		stringify,
		buildFormatters,
		normalizeDestFileDescriptor
	};
}));

//#endregion
//#region ../node_modules/pino/lib/constants.js
var require_constants$6 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Represents default log level values
	*
	* @enum {number}
	*/
	const DEFAULT_LEVELS = {
		trace: 10,
		debug: 20,
		info: 30,
		warn: 40,
		error: 50,
		fatal: 60
	};
	/**
	* Represents sort order direction: `ascending` or `descending`
	*
	* @enum {string}
	*/
	const SORTING_ORDER = {
		ASC: "ASC",
		DESC: "DESC"
	};
	module.exports = {
		DEFAULT_LEVELS,
		SORTING_ORDER
	};
}));

//#endregion
//#region ../node_modules/pino/lib/levels.js
var require_levels = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { lsCacheSym, levelValSym, useOnlyCustomLevelsSym, streamSym, formattersSym, hooksSym, levelCompSym } = require_symbols$3();
	const { noop, genLog } = require_tools();
	const { DEFAULT_LEVELS, SORTING_ORDER } = require_constants$6();
	const levelMethods = {
		fatal: (hook) => {
			const logFatal = genLog(DEFAULT_LEVELS.fatal, hook);
			return function(...args) {
				const stream = this[streamSym];
				logFatal.call(this, ...args);
				if (typeof stream.flushSync === "function") {
					try {
						stream.flushSync();
					} catch (e) {}
				}
			};
		},
		error: (hook) => genLog(DEFAULT_LEVELS.error, hook),
		warn: (hook) => genLog(DEFAULT_LEVELS.warn, hook),
		info: (hook) => genLog(DEFAULT_LEVELS.info, hook),
		debug: (hook) => genLog(DEFAULT_LEVELS.debug, hook),
		trace: (hook) => genLog(DEFAULT_LEVELS.trace, hook)
	};
	const nums = Object.keys(DEFAULT_LEVELS).reduce((o, k) => {
		o[DEFAULT_LEVELS[k]] = k;
		return o;
	}, {});
	const initialLsCache = Object.keys(nums).reduce((o, k) => {
		o[k] = "{\"level\":" + Number(k);
		return o;
	}, {});
	function genLsCache(instance) {
		const formatter = instance[formattersSym].level;
		const { labels } = instance.levels;
		const cache = {};
		for (const label in labels) {
			const level = formatter(labels[label], Number(label));
			cache[label] = JSON.stringify(level).slice(0, -1);
		}
		instance[lsCacheSym] = cache;
		return instance;
	}
	function isStandardLevel(level, useOnlyCustomLevels) {
		if (useOnlyCustomLevels) {
			return false;
		}
		switch (level) {
			case "fatal":
			case "error":
			case "warn":
			case "info":
			case "debug":
			case "trace": return true;
			default: return false;
		}
	}
	function setLevel(level) {
		const { labels, values } = this.levels;
		if (typeof level === "number") {
			if (labels[level] === undefined) throw Error("unknown level value" + level);
			level = labels[level];
		}
		if (values[level] === undefined) throw Error("unknown level " + level);
		const preLevelVal = this[levelValSym];
		const levelVal = this[levelValSym] = values[level];
		const useOnlyCustomLevelsVal = this[useOnlyCustomLevelsSym];
		const levelComparison = this[levelCompSym];
		const hook = this[hooksSym].logMethod;
		for (const key in values) {
			if (levelComparison(values[key], levelVal) === false) {
				this[key] = noop;
				continue;
			}
			this[key] = isStandardLevel(key, useOnlyCustomLevelsVal) ? levelMethods[key](hook) : genLog(values[key], hook);
		}
		this.emit("level-change", level, levelVal, labels[preLevelVal], preLevelVal, this);
	}
	function getLevel(level) {
		const { levels, levelVal } = this;
		return levels && levels.labels ? levels.labels[levelVal] : "";
	}
	function isLevelEnabled(logLevel) {
		const { values } = this.levels;
		const logLevelVal = values[logLevel];
		return logLevelVal !== undefined && this[levelCompSym](logLevelVal, this[levelValSym]);
	}
	/**
	* Determine if the given `current` level is enabled by comparing it
	* against the current threshold (`expected`).
	*
	* @param {SORTING_ORDER} direction comparison direction "ASC" or "DESC"
	* @param {number} current current log level number representation
	* @param {number} expected threshold value to compare with
	* @returns {boolean}
	*/
	function compareLevel(direction, current, expected) {
		if (direction === SORTING_ORDER.DESC) {
			return current <= expected;
		}
		return current >= expected;
	}
	/**
	* Create a level comparison function based on `levelComparison`
	* it could a default function which compares levels either in "ascending" or "descending" order or custom comparison function
	*
	* @param {SORTING_ORDER | Function} levelComparison sort levels order direction or custom comparison function
	* @returns Function
	*/
	function genLevelComparison(levelComparison) {
		if (typeof levelComparison === "string") {
			return compareLevel.bind(null, levelComparison);
		}
		return levelComparison;
	}
	function mappings(customLevels = null, useOnlyCustomLevels = false) {
		const customNums = customLevels ? Object.keys(customLevels).reduce((o, k) => {
			o[customLevels[k]] = k;
			return o;
		}, {}) : null;
		const labels = Object.assign(Object.create(Object.prototype, { Infinity: { value: "silent" } }), useOnlyCustomLevels ? null : nums, customNums);
		const values = Object.assign(Object.create(Object.prototype, { silent: { value: Infinity } }), useOnlyCustomLevels ? null : DEFAULT_LEVELS, customLevels);
		return {
			labels,
			values
		};
	}
	function assertDefaultLevelFound(defaultLevel, customLevels, useOnlyCustomLevels) {
		if (typeof defaultLevel === "number") {
			const values = [].concat(Object.keys(customLevels || {}).map((key) => customLevels[key]), useOnlyCustomLevels ? [] : Object.keys(nums).map((level) => +level), Infinity);
			if (!values.includes(defaultLevel)) {
				throw Error(`default level:${defaultLevel} must be included in custom levels`);
			}
			return;
		}
		const labels = Object.assign(Object.create(Object.prototype, { silent: { value: Infinity } }), useOnlyCustomLevels ? null : DEFAULT_LEVELS, customLevels);
		if (!(defaultLevel in labels)) {
			throw Error(`default level:${defaultLevel} must be included in custom levels`);
		}
	}
	function assertNoLevelCollisions(levels, customLevels) {
		const { labels, values } = levels;
		for (const k in customLevels) {
			if (k in values) {
				throw Error("levels cannot be overridden");
			}
			if (customLevels[k] in labels) {
				throw Error("pre-existing level values cannot be used for new levels");
			}
		}
	}
	/**
	* Validates whether `levelComparison` is correct
	*
	* @throws Error
	* @param {SORTING_ORDER | Function} levelComparison - value to validate
	* @returns
	*/
	function assertLevelComparison(levelComparison) {
		if (typeof levelComparison === "function") {
			return;
		}
		if (typeof levelComparison === "string" && Object.values(SORTING_ORDER).includes(levelComparison)) {
			return;
		}
		throw new Error("Levels comparison should be one of \"ASC\", \"DESC\" or \"function\" type");
	}
	module.exports = {
		initialLsCache,
		genLsCache,
		levelMethods,
		getLevel,
		setLevel,
		isLevelEnabled,
		mappings,
		assertNoLevelCollisions,
		assertDefaultLevelFound,
		genLevelComparison,
		assertLevelComparison
	};
}));

//#endregion
//#region ../node_modules/pino/lib/meta.js
var require_meta = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = { version: "9.14.0" };
}));

//#endregion
//#region ../node_modules/pino/lib/proto.js
var require_proto = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { EventEmitter: EventEmitter$6 } = __require("node:events");
	const { lsCacheSym, levelValSym, setLevelSym, getLevelSym, chindingsSym, parsedChindingsSym, mixinSym, asJsonSym, writeSym, mixinMergeStrategySym, timeSym, timeSliceIndexSym, streamSym, serializersSym, formattersSym, errorKeySym, messageKeySym, useOnlyCustomLevelsSym, needsMetadataGsym, redactFmtSym, stringifySym, formatOptsSym, stringifiersSym, msgPrefixSym, hooksSym } = require_symbols$3();
	const { getLevel, setLevel, isLevelEnabled, mappings, initialLsCache, genLsCache, assertNoLevelCollisions } = require_levels();
	const { asChindings, asJson, buildFormatters, stringify, noop } = require_tools();
	const { version } = require_meta();
	const redaction = require_redaction();
	const constructor = class Pino {};
	const prototype = {
		constructor,
		child,
		bindings,
		setBindings,
		flush,
		isLevelEnabled,
		version,
		get level() {
			return this[getLevelSym]();
		},
		set level(lvl) {
			this[setLevelSym](lvl);
		},
		get levelVal() {
			return this[levelValSym];
		},
		set levelVal(n) {
			throw Error("levelVal is read-only");
		},
		get msgPrefix() {
			return this[msgPrefixSym];
		},
		get [Symbol.toStringTag]() {
			return "Pino";
		},
		[lsCacheSym]: initialLsCache,
		[writeSym]: write,
		[asJsonSym]: asJson,
		[getLevelSym]: getLevel,
		[setLevelSym]: setLevel
	};
	Object.setPrototypeOf(prototype, EventEmitter$6.prototype);
	module.exports = function() {
		return Object.create(prototype);
	};
	const resetChildingsFormatter = (bindings) => bindings;
	function child(bindings, options) {
		if (!bindings) {
			throw Error("missing bindings for child Pino");
		}
		const serializers = this[serializersSym];
		const formatters = this[formattersSym];
		const instance = Object.create(this);
		if (options == null) {
			if (instance[formattersSym].bindings !== resetChildingsFormatter) {
				instance[formattersSym] = buildFormatters(formatters.level, resetChildingsFormatter, formatters.log);
			}
			instance[chindingsSym] = asChindings(instance, bindings);
			instance[setLevelSym](this.level);
			if (this.onChild !== noop) {
				this.onChild(instance);
			}
			return instance;
		}
		if (options.hasOwnProperty("serializers") === true) {
			instance[serializersSym] = Object.create(null);
			for (const k in serializers) {
				instance[serializersSym][k] = serializers[k];
			}
			const parentSymbols = Object.getOwnPropertySymbols(serializers);
			for (var i = 0; i < parentSymbols.length; i++) {
				const ks = parentSymbols[i];
				instance[serializersSym][ks] = serializers[ks];
			}
			for (const bk in options.serializers) {
				instance[serializersSym][bk] = options.serializers[bk];
			}
			const bindingsSymbols = Object.getOwnPropertySymbols(options.serializers);
			for (var bi = 0; bi < bindingsSymbols.length; bi++) {
				const bks = bindingsSymbols[bi];
				instance[serializersSym][bks] = options.serializers[bks];
			}
		} else instance[serializersSym] = serializers;
		if (options.hasOwnProperty("formatters")) {
			const { level, bindings: chindings, log } = options.formatters;
			instance[formattersSym] = buildFormatters(level || formatters.level, chindings || resetChildingsFormatter, log || formatters.log);
		} else {
			instance[formattersSym] = buildFormatters(formatters.level, resetChildingsFormatter, formatters.log);
		}
		if (options.hasOwnProperty("customLevels") === true) {
			assertNoLevelCollisions(this.levels, options.customLevels);
			instance.levels = mappings(options.customLevels, instance[useOnlyCustomLevelsSym]);
			genLsCache(instance);
		}
		if (typeof options.redact === "object" && options.redact !== null || Array.isArray(options.redact)) {
			instance.redact = options.redact;
			const stringifiers = redaction(instance.redact, stringify);
			const formatOpts = { stringify: stringifiers[redactFmtSym] };
			instance[stringifySym] = stringify;
			instance[stringifiersSym] = stringifiers;
			instance[formatOptsSym] = formatOpts;
		}
		if (typeof options.msgPrefix === "string") {
			instance[msgPrefixSym] = (this[msgPrefixSym] || "") + options.msgPrefix;
		}
		instance[chindingsSym] = asChindings(instance, bindings);
		const childLevel = options.level || this.level;
		instance[setLevelSym](childLevel);
		this.onChild(instance);
		return instance;
	}
	function bindings() {
		const chindings = this[chindingsSym];
		const chindingsJson = `{${chindings.substr(1)}}`;
		const bindingsFromJson = JSON.parse(chindingsJson);
		delete bindingsFromJson.pid;
		delete bindingsFromJson.hostname;
		return bindingsFromJson;
	}
	function setBindings(newBindings) {
		const chindings = asChindings(this, newBindings);
		this[chindingsSym] = chindings;
		delete this[parsedChindingsSym];
	}
	/**
	* Default strategy for creating `mergeObject` from arguments and the result from `mixin()`.
	* Fields from `mergeObject` have higher priority in this strategy.
	*
	* @param {Object} mergeObject The object a user has supplied to the logging function.
	* @param {Object} mixinObject The result of the `mixin` method.
	* @return {Object}
	*/
	function defaultMixinMergeStrategy(mergeObject, mixinObject) {
		return Object.assign(mixinObject, mergeObject);
	}
	function write(_obj, msg, num) {
		const t = this[timeSym]();
		const mixin = this[mixinSym];
		const errorKey = this[errorKeySym];
		const messageKey = this[messageKeySym];
		const mixinMergeStrategy = this[mixinMergeStrategySym] || defaultMixinMergeStrategy;
		let obj;
		const streamWriteHook = this[hooksSym].streamWrite;
		if (_obj === undefined || _obj === null) {
			obj = {};
		} else if (_obj instanceof Error) {
			obj = { [errorKey]: _obj };
			if (msg === undefined) {
				msg = _obj.message;
			}
		} else {
			obj = _obj;
			if (msg === undefined && _obj[messageKey] === undefined && _obj[errorKey]) {
				msg = _obj[errorKey].message;
			}
		}
		if (mixin) {
			obj = mixinMergeStrategy(obj, mixin(obj, num, this));
		}
		const s = this[asJsonSym](obj, msg, num, t);
		const stream = this[streamSym];
		if (stream[needsMetadataGsym] === true) {
			stream.lastLevel = num;
			stream.lastObj = obj;
			stream.lastMsg = msg;
			stream.lastTime = t.slice(this[timeSliceIndexSym]);
			stream.lastLogger = this;
		}
		stream.write(streamWriteHook ? streamWriteHook(s) : s);
	}
	function flush(cb) {
		if (cb != null && typeof cb !== "function") {
			throw Error("callback must be a function");
		}
		const stream = this[streamSym];
		if (typeof stream.flush === "function") {
			stream.flush(cb || noop);
		} else if (cb) cb();
	}
}));

//#endregion
//#region ../node_modules/safe-stable-stringify/index.js
var require_safe_stable_stringify = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { hasOwnProperty } = Object.prototype;
	const stringify = configure();
	stringify.configure = configure;
	stringify.stringify = stringify;
	stringify.default = stringify;
	exports.stringify = stringify;
	exports.configure = configure;
	module.exports = stringify;
	const strEscapeSequencesRegExp = /[\u0000-\u001f\u0022\u005c\ud800-\udfff]/;
	function strEscape(str) {
		if (str.length < 5e3 && !strEscapeSequencesRegExp.test(str)) {
			return `"${str}"`;
		}
		return JSON.stringify(str);
	}
	function sort(array, comparator) {
		if (array.length > 200 || comparator) {
			return array.sort(comparator);
		}
		for (let i = 1; i < array.length; i++) {
			const currentValue = array[i];
			let position = i;
			while (position !== 0 && array[position - 1] > currentValue) {
				array[position] = array[position - 1];
				position--;
			}
			array[position] = currentValue;
		}
		return array;
	}
	const typedArrayPrototypeGetSymbolToStringTag = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array())), Symbol.toStringTag).get;
	function isTypedArrayWithEntries(value) {
		return typedArrayPrototypeGetSymbolToStringTag.call(value) !== undefined && value.length !== 0;
	}
	function stringifyTypedArray(array, separator, maximumBreadth) {
		if (array.length < maximumBreadth) {
			maximumBreadth = array.length;
		}
		const whitespace = separator === "," ? "" : " ";
		let res = `"0":${whitespace}${array[0]}`;
		for (let i = 1; i < maximumBreadth; i++) {
			res += `${separator}"${i}":${whitespace}${array[i]}`;
		}
		return res;
	}
	function getCircularValueOption(options) {
		if (hasOwnProperty.call(options, "circularValue")) {
			const circularValue = options.circularValue;
			if (typeof circularValue === "string") {
				return `"${circularValue}"`;
			}
			if (circularValue == null) {
				return circularValue;
			}
			if (circularValue === Error || circularValue === TypeError) {
				return { toString() {
					throw new TypeError("Converting circular structure to JSON");
				} };
			}
			throw new TypeError("The \"circularValue\" argument must be of type string or the value null or undefined");
		}
		return "\"[Circular]\"";
	}
	function getDeterministicOption(options) {
		let value;
		if (hasOwnProperty.call(options, "deterministic")) {
			value = options.deterministic;
			if (typeof value !== "boolean" && typeof value !== "function") {
				throw new TypeError("The \"deterministic\" argument must be of type boolean or comparator function");
			}
		}
		return value === undefined ? true : value;
	}
	function getBooleanOption(options, key) {
		let value;
		if (hasOwnProperty.call(options, key)) {
			value = options[key];
			if (typeof value !== "boolean") {
				throw new TypeError(`The "${key}" argument must be of type boolean`);
			}
		}
		return value === undefined ? true : value;
	}
	function getPositiveIntegerOption(options, key) {
		let value;
		if (hasOwnProperty.call(options, key)) {
			value = options[key];
			if (typeof value !== "number") {
				throw new TypeError(`The "${key}" argument must be of type number`);
			}
			if (!Number.isInteger(value)) {
				throw new TypeError(`The "${key}" argument must be an integer`);
			}
			if (value < 1) {
				throw new RangeError(`The "${key}" argument must be >= 1`);
			}
		}
		return value === undefined ? Infinity : value;
	}
	function getItemCount(number) {
		if (number === 1) {
			return "1 item";
		}
		return `${number} items`;
	}
	function getUniqueReplacerSet(replacerArray) {
		const replacerSet = new Set();
		for (const value of replacerArray) {
			if (typeof value === "string" || typeof value === "number") {
				replacerSet.add(String(value));
			}
		}
		return replacerSet;
	}
	function getStrictOption(options) {
		if (hasOwnProperty.call(options, "strict")) {
			const value = options.strict;
			if (typeof value !== "boolean") {
				throw new TypeError("The \"strict\" argument must be of type boolean");
			}
			if (value) {
				return (value) => {
					let message = `Object can not safely be stringified. Received type ${typeof value}`;
					if (typeof value !== "function") message += ` (${value.toString()})`;
					throw new Error(message);
				};
			}
		}
	}
	function configure(options) {
		options = { ...options };
		const fail = getStrictOption(options);
		if (fail) {
			if (options.bigint === undefined) {
				options.bigint = false;
			}
			if (!("circularValue" in options)) {
				options.circularValue = Error;
			}
		}
		const circularValue = getCircularValueOption(options);
		const bigint = getBooleanOption(options, "bigint");
		const deterministic = getDeterministicOption(options);
		const comparator = typeof deterministic === "function" ? deterministic : undefined;
		const maximumDepth = getPositiveIntegerOption(options, "maximumDepth");
		const maximumBreadth = getPositiveIntegerOption(options, "maximumBreadth");
		function stringifyFnReplacer(key, parent, stack, replacer, spacer, indentation) {
			let value = parent[key];
			if (typeof value === "object" && value !== null && typeof value.toJSON === "function") {
				value = value.toJSON(key);
			}
			value = replacer.call(parent, key, value);
			switch (typeof value) {
				case "string": return strEscape(value);
				case "object": {
					if (value === null) {
						return "null";
					}
					if (stack.indexOf(value) !== -1) {
						return circularValue;
					}
					let res = "";
					let join = ",";
					const originalIndentation = indentation;
					if (Array.isArray(value)) {
						if (value.length === 0) {
							return "[]";
						}
						if (maximumDepth < stack.length + 1) {
							return "\"[Array]\"";
						}
						stack.push(value);
						if (spacer !== "") {
							indentation += spacer;
							res += `\n${indentation}`;
							join = `,\n${indentation}`;
						}
						const maximumValuesToStringify = Math.min(value.length, maximumBreadth);
						let i = 0;
						for (; i < maximumValuesToStringify - 1; i++) {
							const tmp = stringifyFnReplacer(String(i), value, stack, replacer, spacer, indentation);
							res += tmp !== undefined ? tmp : "null";
							res += join;
						}
						const tmp = stringifyFnReplacer(String(i), value, stack, replacer, spacer, indentation);
						res += tmp !== undefined ? tmp : "null";
						if (value.length - 1 > maximumBreadth) {
							const removedKeys = value.length - maximumBreadth - 1;
							res += `${join}"... ${getItemCount(removedKeys)} not stringified"`;
						}
						if (spacer !== "") {
							res += `\n${originalIndentation}`;
						}
						stack.pop();
						return `[${res}]`;
					}
					let keys = Object.keys(value);
					const keyLength = keys.length;
					if (keyLength === 0) {
						return "{}";
					}
					if (maximumDepth < stack.length + 1) {
						return "\"[Object]\"";
					}
					let whitespace = "";
					let separator = "";
					if (spacer !== "") {
						indentation += spacer;
						join = `,\n${indentation}`;
						whitespace = " ";
					}
					const maximumPropertiesToStringify = Math.min(keyLength, maximumBreadth);
					if (deterministic && !isTypedArrayWithEntries(value)) {
						keys = sort(keys, comparator);
					}
					stack.push(value);
					for (let i = 0; i < maximumPropertiesToStringify; i++) {
						const key = keys[i];
						const tmp = stringifyFnReplacer(key, value, stack, replacer, spacer, indentation);
						if (tmp !== undefined) {
							res += `${separator}${strEscape(key)}:${whitespace}${tmp}`;
							separator = join;
						}
					}
					if (keyLength > maximumBreadth) {
						const removedKeys = keyLength - maximumBreadth;
						res += `${separator}"...":${whitespace}"${getItemCount(removedKeys)} not stringified"`;
						separator = join;
					}
					if (spacer !== "" && separator.length > 1) {
						res = `\n${indentation}${res}\n${originalIndentation}`;
					}
					stack.pop();
					return `{${res}}`;
				}
				case "number": return isFinite(value) ? String(value) : fail ? fail(value) : "null";
				case "boolean": return value === true ? "true" : "false";
				case "undefined": return undefined;
				case "bigint": if (bigint) {
					return String(value);
				}
				default: return fail ? fail(value) : undefined;
			}
		}
		function stringifyArrayReplacer(key, value, stack, replacer, spacer, indentation) {
			if (typeof value === "object" && value !== null && typeof value.toJSON === "function") {
				value = value.toJSON(key);
			}
			switch (typeof value) {
				case "string": return strEscape(value);
				case "object": {
					if (value === null) {
						return "null";
					}
					if (stack.indexOf(value) !== -1) {
						return circularValue;
					}
					const originalIndentation = indentation;
					let res = "";
					let join = ",";
					if (Array.isArray(value)) {
						if (value.length === 0) {
							return "[]";
						}
						if (maximumDepth < stack.length + 1) {
							return "\"[Array]\"";
						}
						stack.push(value);
						if (spacer !== "") {
							indentation += spacer;
							res += `\n${indentation}`;
							join = `,\n${indentation}`;
						}
						const maximumValuesToStringify = Math.min(value.length, maximumBreadth);
						let i = 0;
						for (; i < maximumValuesToStringify - 1; i++) {
							const tmp = stringifyArrayReplacer(String(i), value[i], stack, replacer, spacer, indentation);
							res += tmp !== undefined ? tmp : "null";
							res += join;
						}
						const tmp = stringifyArrayReplacer(String(i), value[i], stack, replacer, spacer, indentation);
						res += tmp !== undefined ? tmp : "null";
						if (value.length - 1 > maximumBreadth) {
							const removedKeys = value.length - maximumBreadth - 1;
							res += `${join}"... ${getItemCount(removedKeys)} not stringified"`;
						}
						if (spacer !== "") {
							res += `\n${originalIndentation}`;
						}
						stack.pop();
						return `[${res}]`;
					}
					stack.push(value);
					let whitespace = "";
					if (spacer !== "") {
						indentation += spacer;
						join = `,\n${indentation}`;
						whitespace = " ";
					}
					let separator = "";
					for (const key of replacer) {
						const tmp = stringifyArrayReplacer(key, value[key], stack, replacer, spacer, indentation);
						if (tmp !== undefined) {
							res += `${separator}${strEscape(key)}:${whitespace}${tmp}`;
							separator = join;
						}
					}
					if (spacer !== "" && separator.length > 1) {
						res = `\n${indentation}${res}\n${originalIndentation}`;
					}
					stack.pop();
					return `{${res}}`;
				}
				case "number": return isFinite(value) ? String(value) : fail ? fail(value) : "null";
				case "boolean": return value === true ? "true" : "false";
				case "undefined": return undefined;
				case "bigint": if (bigint) {
					return String(value);
				}
				default: return fail ? fail(value) : undefined;
			}
		}
		function stringifyIndent(key, value, stack, spacer, indentation) {
			switch (typeof value) {
				case "string": return strEscape(value);
				case "object": {
					if (value === null) {
						return "null";
					}
					if (typeof value.toJSON === "function") {
						value = value.toJSON(key);
						if (typeof value !== "object") {
							return stringifyIndent(key, value, stack, spacer, indentation);
						}
						if (value === null) {
							return "null";
						}
					}
					if (stack.indexOf(value) !== -1) {
						return circularValue;
					}
					const originalIndentation = indentation;
					if (Array.isArray(value)) {
						if (value.length === 0) {
							return "[]";
						}
						if (maximumDepth < stack.length + 1) {
							return "\"[Array]\"";
						}
						stack.push(value);
						indentation += spacer;
						let res = `\n${indentation}`;
						const join = `,\n${indentation}`;
						const maximumValuesToStringify = Math.min(value.length, maximumBreadth);
						let i = 0;
						for (; i < maximumValuesToStringify - 1; i++) {
							const tmp = stringifyIndent(String(i), value[i], stack, spacer, indentation);
							res += tmp !== undefined ? tmp : "null";
							res += join;
						}
						const tmp = stringifyIndent(String(i), value[i], stack, spacer, indentation);
						res += tmp !== undefined ? tmp : "null";
						if (value.length - 1 > maximumBreadth) {
							const removedKeys = value.length - maximumBreadth - 1;
							res += `${join}"... ${getItemCount(removedKeys)} not stringified"`;
						}
						res += `\n${originalIndentation}`;
						stack.pop();
						return `[${res}]`;
					}
					let keys = Object.keys(value);
					const keyLength = keys.length;
					if (keyLength === 0) {
						return "{}";
					}
					if (maximumDepth < stack.length + 1) {
						return "\"[Object]\"";
					}
					indentation += spacer;
					const join = `,\n${indentation}`;
					let res = "";
					let separator = "";
					let maximumPropertiesToStringify = Math.min(keyLength, maximumBreadth);
					if (isTypedArrayWithEntries(value)) {
						res += stringifyTypedArray(value, join, maximumBreadth);
						keys = keys.slice(value.length);
						maximumPropertiesToStringify -= value.length;
						separator = join;
					}
					if (deterministic) {
						keys = sort(keys, comparator);
					}
					stack.push(value);
					for (let i = 0; i < maximumPropertiesToStringify; i++) {
						const key = keys[i];
						const tmp = stringifyIndent(key, value[key], stack, spacer, indentation);
						if (tmp !== undefined) {
							res += `${separator}${strEscape(key)}: ${tmp}`;
							separator = join;
						}
					}
					if (keyLength > maximumBreadth) {
						const removedKeys = keyLength - maximumBreadth;
						res += `${separator}"...": "${getItemCount(removedKeys)} not stringified"`;
						separator = join;
					}
					if (separator !== "") {
						res = `\n${indentation}${res}\n${originalIndentation}`;
					}
					stack.pop();
					return `{${res}}`;
				}
				case "number": return isFinite(value) ? String(value) : fail ? fail(value) : "null";
				case "boolean": return value === true ? "true" : "false";
				case "undefined": return undefined;
				case "bigint": if (bigint) {
					return String(value);
				}
				default: return fail ? fail(value) : undefined;
			}
		}
		function stringifySimple(key, value, stack) {
			switch (typeof value) {
				case "string": return strEscape(value);
				case "object": {
					if (value === null) {
						return "null";
					}
					if (typeof value.toJSON === "function") {
						value = value.toJSON(key);
						if (typeof value !== "object") {
							return stringifySimple(key, value, stack);
						}
						if (value === null) {
							return "null";
						}
					}
					if (stack.indexOf(value) !== -1) {
						return circularValue;
					}
					let res = "";
					const hasLength = value.length !== undefined;
					if (hasLength && Array.isArray(value)) {
						if (value.length === 0) {
							return "[]";
						}
						if (maximumDepth < stack.length + 1) {
							return "\"[Array]\"";
						}
						stack.push(value);
						const maximumValuesToStringify = Math.min(value.length, maximumBreadth);
						let i = 0;
						for (; i < maximumValuesToStringify - 1; i++) {
							const tmp = stringifySimple(String(i), value[i], stack);
							res += tmp !== undefined ? tmp : "null";
							res += ",";
						}
						const tmp = stringifySimple(String(i), value[i], stack);
						res += tmp !== undefined ? tmp : "null";
						if (value.length - 1 > maximumBreadth) {
							const removedKeys = value.length - maximumBreadth - 1;
							res += `,"... ${getItemCount(removedKeys)} not stringified"`;
						}
						stack.pop();
						return `[${res}]`;
					}
					let keys = Object.keys(value);
					const keyLength = keys.length;
					if (keyLength === 0) {
						return "{}";
					}
					if (maximumDepth < stack.length + 1) {
						return "\"[Object]\"";
					}
					let separator = "";
					let maximumPropertiesToStringify = Math.min(keyLength, maximumBreadth);
					if (hasLength && isTypedArrayWithEntries(value)) {
						res += stringifyTypedArray(value, ",", maximumBreadth);
						keys = keys.slice(value.length);
						maximumPropertiesToStringify -= value.length;
						separator = ",";
					}
					if (deterministic) {
						keys = sort(keys, comparator);
					}
					stack.push(value);
					for (let i = 0; i < maximumPropertiesToStringify; i++) {
						const key = keys[i];
						const tmp = stringifySimple(key, value[key], stack);
						if (tmp !== undefined) {
							res += `${separator}${strEscape(key)}:${tmp}`;
							separator = ",";
						}
					}
					if (keyLength > maximumBreadth) {
						const removedKeys = keyLength - maximumBreadth;
						res += `${separator}"...":"${getItemCount(removedKeys)} not stringified"`;
					}
					stack.pop();
					return `{${res}}`;
				}
				case "number": return isFinite(value) ? String(value) : fail ? fail(value) : "null";
				case "boolean": return value === true ? "true" : "false";
				case "undefined": return undefined;
				case "bigint": if (bigint) {
					return String(value);
				}
				default: return fail ? fail(value) : undefined;
			}
		}
		function stringify(value, replacer, space) {
			if (arguments.length > 1) {
				let spacer = "";
				if (typeof space === "number") {
					spacer = " ".repeat(Math.min(space, 10));
				} else if (typeof space === "string") {
					spacer = space.slice(0, 10);
				}
				if (replacer != null) {
					if (typeof replacer === "function") {
						return stringifyFnReplacer("", { "": value }, [], replacer, spacer, "");
					}
					if (Array.isArray(replacer)) {
						return stringifyArrayReplacer("", value, [], getUniqueReplacerSet(replacer), spacer, "");
					}
				}
				if (spacer.length !== 0) {
					return stringifyIndent("", value, [], spacer, "");
				}
			}
			return stringifySimple("", value, []);
		}
		return stringify;
	}
}));

//#endregion
//#region ../node_modules/pino/lib/multistream.js
var require_multistream = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const metadata = Symbol.for("pino.metadata");
	const { DEFAULT_LEVELS } = require_constants$6();
	const DEFAULT_INFO_LEVEL = DEFAULT_LEVELS.info;
	function multistream(streamsArray, opts) {
		streamsArray = streamsArray || [];
		opts = opts || { dedupe: false };
		const streamLevels = Object.create(DEFAULT_LEVELS);
		streamLevels.silent = Infinity;
		if (opts.levels && typeof opts.levels === "object") {
			Object.keys(opts.levels).forEach((i) => {
				streamLevels[i] = opts.levels[i];
			});
		}
		const res = {
			write,
			add,
			remove,
			emit,
			flushSync,
			end,
			minLevel: 0,
			lastId: 0,
			streams: [],
			clone,
			[metadata]: true,
			streamLevels
		};
		if (Array.isArray(streamsArray)) {
			streamsArray.forEach(add, res);
		} else {
			add.call(res, streamsArray);
		}
		streamsArray = null;
		return res;
		function write(data) {
			let dest;
			const level = this.lastLevel;
			const { streams } = this;
			let recordedLevel = 0;
			let stream;
			for (let i = initLoopVar(streams.length, opts.dedupe); checkLoopVar(i, streams.length, opts.dedupe); i = adjustLoopVar(i, opts.dedupe)) {
				dest = streams[i];
				if (dest.level <= level) {
					if (recordedLevel !== 0 && recordedLevel !== dest.level) {
						break;
					}
					stream = dest.stream;
					if (stream[metadata]) {
						const { lastTime, lastMsg, lastObj, lastLogger } = this;
						stream.lastLevel = level;
						stream.lastTime = lastTime;
						stream.lastMsg = lastMsg;
						stream.lastObj = lastObj;
						stream.lastLogger = lastLogger;
					}
					stream.write(data);
					if (opts.dedupe) {
						recordedLevel = dest.level;
					}
				} else if (!opts.dedupe) {
					break;
				}
			}
		}
		function emit(...args) {
			for (const { stream } of this.streams) {
				if (typeof stream.emit === "function") {
					stream.emit(...args);
				}
			}
		}
		function flushSync() {
			for (const { stream } of this.streams) {
				if (typeof stream.flushSync === "function") {
					stream.flushSync();
				}
			}
		}
		function add(dest) {
			if (!dest) {
				return res;
			}
			const isStream = typeof dest.write === "function" || dest.stream;
			const stream_ = dest.write ? dest : dest.stream;
			if (!isStream) {
				throw Error("stream object needs to implement either StreamEntry or DestinationStream interface");
			}
			const { streams, streamLevels } = this;
			let level;
			if (typeof dest.levelVal === "number") {
				level = dest.levelVal;
			} else if (typeof dest.level === "string") {
				level = streamLevels[dest.level];
			} else if (typeof dest.level === "number") {
				level = dest.level;
			} else {
				level = DEFAULT_INFO_LEVEL;
			}
			const dest_ = {
				stream: stream_,
				level,
				levelVal: undefined,
				id: ++res.lastId
			};
			streams.unshift(dest_);
			streams.sort(compareByLevel);
			this.minLevel = streams[0].level;
			return res;
		}
		function remove(id) {
			const { streams } = this;
			const index = streams.findIndex((s) => s.id === id);
			if (index >= 0) {
				streams.splice(index, 1);
				streams.sort(compareByLevel);
				this.minLevel = streams.length > 0 ? streams[0].level : -1;
			}
			return res;
		}
		function end() {
			for (const { stream } of this.streams) {
				if (typeof stream.flushSync === "function") {
					stream.flushSync();
				}
				stream.end();
			}
		}
		function clone(level) {
			const streams = new Array(this.streams.length);
			for (let i = 0; i < streams.length; i++) {
				streams[i] = {
					level,
					stream: this.streams[i].stream
				};
			}
			return {
				write,
				add,
				remove,
				minLevel: level,
				streams,
				clone,
				emit,
				flushSync,
				[metadata]: true
			};
		}
	}
	function compareByLevel(a, b) {
		return a.level - b.level;
	}
	function initLoopVar(length, dedupe) {
		return dedupe ? length - 1 : 0;
	}
	function adjustLoopVar(i, dedupe) {
		return dedupe ? i - 1 : i + 1;
	}
	function checkLoopVar(i, length, dedupe) {
		return dedupe ? i >= 0 : i < length;
	}
	module.exports = multistream;
}));

//#endregion
//#region ../node_modules/pino/pino.js
var require_pino = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const os$2 = __require("node:os");
	const stdSerializers = require_pino_std_serializers();
	const caller = require_caller();
	const redaction = require_redaction();
	const time = require_time();
	const proto = require_proto();
	const symbols = require_symbols$3();
	const { configure } = require_safe_stable_stringify();
	const { assertDefaultLevelFound, mappings, genLsCache, genLevelComparison, assertLevelComparison } = require_levels();
	const { DEFAULT_LEVELS, SORTING_ORDER } = require_constants$6();
	const { createArgsNormalizer, asChindings, buildSafeSonicBoom, buildFormatters, stringify, normalizeDestFileDescriptor, noop } = require_tools();
	const { version } = require_meta();
	const { chindingsSym, redactFmtSym, serializersSym, timeSym, timeSliceIndexSym, streamSym, stringifySym, stringifySafeSym, stringifiersSym, setLevelSym, endSym, formatOptsSym, messageKeySym, errorKeySym, nestedKeySym, mixinSym, levelCompSym, useOnlyCustomLevelsSym, formattersSym, hooksSym, nestedKeyStrSym, mixinMergeStrategySym, msgPrefixSym } = symbols;
	const { epochTime, nullTime } = time;
	const { pid } = process;
	const hostname = os$2.hostname();
	const defaultErrorSerializer = stdSerializers.err;
	const defaultOptions = {
		level: "info",
		levelComparison: SORTING_ORDER.ASC,
		levels: DEFAULT_LEVELS,
		messageKey: "msg",
		errorKey: "err",
		nestedKey: null,
		enabled: true,
		base: {
			pid,
			hostname
		},
		serializers: Object.assign(Object.create(null), { err: defaultErrorSerializer }),
		formatters: Object.assign(Object.create(null), {
			bindings(bindings) {
				return bindings;
			},
			level(label, number) {
				return { level: number };
			}
		}),
		hooks: {
			logMethod: undefined,
			streamWrite: undefined
		},
		timestamp: epochTime,
		name: undefined,
		redact: null,
		customLevels: null,
		useOnlyCustomLevels: false,
		depthLimit: 5,
		edgeLimit: 100
	};
	const normalize = createArgsNormalizer(defaultOptions);
	const serializers = Object.assign(Object.create(null), stdSerializers);
	function pino(...args) {
		const instance = {};
		const { opts, stream } = normalize(instance, caller(), ...args);
		if (opts.level && typeof opts.level === "string" && DEFAULT_LEVELS[opts.level.toLowerCase()] !== undefined) opts.level = opts.level.toLowerCase();
		const { redact, crlf, serializers, timestamp, messageKey, errorKey, nestedKey, base, name, level, customLevels, levelComparison, mixin, mixinMergeStrategy, useOnlyCustomLevels, formatters, hooks, depthLimit, edgeLimit, onChild, msgPrefix } = opts;
		const stringifySafe = configure({
			maximumDepth: depthLimit,
			maximumBreadth: edgeLimit
		});
		const allFormatters = buildFormatters(formatters.level, formatters.bindings, formatters.log);
		const stringifyFn = stringify.bind({ [stringifySafeSym]: stringifySafe });
		const stringifiers = redact ? redaction(redact, stringifyFn) : {};
		const formatOpts = redact ? { stringify: stringifiers[redactFmtSym] } : { stringify: stringifyFn };
		const end = "}" + (crlf ? "\r\n" : "\n");
		const coreChindings = asChindings.bind(null, {
			[chindingsSym]: "",
			[serializersSym]: serializers,
			[stringifiersSym]: stringifiers,
			[stringifySym]: stringify,
			[stringifySafeSym]: stringifySafe,
			[formattersSym]: allFormatters
		});
		let chindings = "";
		if (base !== null) {
			if (name === undefined) {
				chindings = coreChindings(base);
			} else {
				chindings = coreChindings(Object.assign({}, base, { name }));
			}
		}
		const time = timestamp instanceof Function ? timestamp : timestamp ? epochTime : nullTime;
		const timeSliceIndex = time().indexOf(":") + 1;
		if (useOnlyCustomLevels && !customLevels) throw Error("customLevels is required if useOnlyCustomLevels is set true");
		if (mixin && typeof mixin !== "function") throw Error(`Unknown mixin type "${typeof mixin}" - expected "function"`);
		if (msgPrefix && typeof msgPrefix !== "string") throw Error(`Unknown msgPrefix type "${typeof msgPrefix}" - expected "string"`);
		assertDefaultLevelFound(level, customLevels, useOnlyCustomLevels);
		const levels = mappings(customLevels, useOnlyCustomLevels);
		if (typeof stream.emit === "function") {
			stream.emit("message", {
				code: "PINO_CONFIG",
				config: {
					levels,
					messageKey,
					errorKey
				}
			});
		}
		assertLevelComparison(levelComparison);
		const levelCompFunc = genLevelComparison(levelComparison);
		Object.assign(instance, {
			levels,
			[levelCompSym]: levelCompFunc,
			[useOnlyCustomLevelsSym]: useOnlyCustomLevels,
			[streamSym]: stream,
			[timeSym]: time,
			[timeSliceIndexSym]: timeSliceIndex,
			[stringifySym]: stringify,
			[stringifySafeSym]: stringifySafe,
			[stringifiersSym]: stringifiers,
			[endSym]: end,
			[formatOptsSym]: formatOpts,
			[messageKeySym]: messageKey,
			[errorKeySym]: errorKey,
			[nestedKeySym]: nestedKey,
			[nestedKeyStrSym]: nestedKey ? `,${JSON.stringify(nestedKey)}:{` : "",
			[serializersSym]: serializers,
			[mixinSym]: mixin,
			[mixinMergeStrategySym]: mixinMergeStrategy,
			[chindingsSym]: chindings,
			[formattersSym]: allFormatters,
			[hooksSym]: hooks,
			silent: noop,
			onChild,
			[msgPrefixSym]: msgPrefix
		});
		Object.setPrototypeOf(instance, proto());
		genLsCache(instance);
		instance[setLevelSym](level);
		return instance;
	}
	module.exports = pino;
	module.exports.destination = (dest = process.stdout.fd) => {
		if (typeof dest === "object") {
			dest.dest = normalizeDestFileDescriptor(dest.dest || process.stdout.fd);
			return buildSafeSonicBoom(dest);
		} else {
			return buildSafeSonicBoom({
				dest: normalizeDestFileDescriptor(dest),
				minLength: 0
			});
		}
	};
	module.exports.transport = require_transport();
	module.exports.multistream = require_multistream();
	module.exports.levels = mappings();
	module.exports.stdSerializers = serializers;
	module.exports.stdTimeFunctions = Object.assign({}, time);
	module.exports.symbols = symbols;
	module.exports.version = version;
	module.exports.default = pino;
	module.exports.pino = pino;
}));

//#endregion
//#region ../node_modules/reusify/reusify.js
var require_reusify = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	function reusify(Constructor) {
		var head = new Constructor();
		var tail = head;
		function get() {
			var current = head;
			if (current.next) {
				head = current.next;
			} else {
				head = new Constructor();
				tail = head;
			}
			current.next = null;
			return current;
		}
		function release(obj) {
			tail.next = obj;
			tail = obj;
		}
		return {
			get,
			release
		};
	}
	module.exports = reusify;
}));

//#endregion
//#region ../node_modules/fastq/queue.js
var require_queue = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var reusify = require_reusify();
	function fastqueue(context, worker, _concurrency) {
		if (typeof context === "function") {
			_concurrency = worker;
			worker = context;
			context = null;
		}
		if (!(_concurrency >= 1)) {
			throw new Error("fastqueue concurrency must be equal to or greater than 1");
		}
		var cache = reusify(Task);
		var queueHead = null;
		var queueTail = null;
		var _running = 0;
		var errorHandler = null;
		var self = {
			push,
			drain: noop,
			saturated: noop,
			pause,
			paused: false,
			get concurrency() {
				return _concurrency;
			},
			set concurrency(value) {
				if (!(value >= 1)) {
					throw new Error("fastqueue concurrency must be equal to or greater than 1");
				}
				_concurrency = value;
				if (self.paused) return;
				for (; queueHead && _running < _concurrency;) {
					_running++;
					release();
				}
			},
			running,
			resume,
			idle,
			length,
			getQueue,
			unshift,
			empty: noop,
			kill,
			killAndDrain,
			error
		};
		return self;
		function running() {
			return _running;
		}
		function pause() {
			self.paused = true;
		}
		function length() {
			var current = queueHead;
			var counter = 0;
			while (current) {
				current = current.next;
				counter++;
			}
			return counter;
		}
		function getQueue() {
			var current = queueHead;
			var tasks = [];
			while (current) {
				tasks.push(current.value);
				current = current.next;
			}
			return tasks;
		}
		function resume() {
			if (!self.paused) return;
			self.paused = false;
			if (queueHead === null) {
				_running++;
				release();
				return;
			}
			for (; queueHead && _running < _concurrency;) {
				_running++;
				release();
			}
		}
		function idle() {
			return _running === 0 && self.length() === 0;
		}
		function push(value, done) {
			var current = cache.get();
			current.context = context;
			current.release = release;
			current.value = value;
			current.callback = done || noop;
			current.errorHandler = errorHandler;
			if (_running >= _concurrency || self.paused) {
				if (queueTail) {
					queueTail.next = current;
					queueTail = current;
				} else {
					queueHead = current;
					queueTail = current;
					self.saturated();
				}
			} else {
				_running++;
				worker.call(context, current.value, current.worked);
			}
		}
		function unshift(value, done) {
			var current = cache.get();
			current.context = context;
			current.release = release;
			current.value = value;
			current.callback = done || noop;
			current.errorHandler = errorHandler;
			if (_running >= _concurrency || self.paused) {
				if (queueHead) {
					current.next = queueHead;
					queueHead = current;
				} else {
					queueHead = current;
					queueTail = current;
					self.saturated();
				}
			} else {
				_running++;
				worker.call(context, current.value, current.worked);
			}
		}
		function release(holder) {
			if (holder) {
				cache.release(holder);
			}
			var next = queueHead;
			if (next && _running <= _concurrency) {
				if (!self.paused) {
					if (queueTail === queueHead) {
						queueTail = null;
					}
					queueHead = next.next;
					next.next = null;
					worker.call(context, next.value, next.worked);
					if (queueTail === null) {
						self.empty();
					}
				} else {
					_running--;
				}
			} else if (--_running === 0) {
				self.drain();
			}
		}
		function kill() {
			queueHead = null;
			queueTail = null;
			self.drain = noop;
		}
		function killAndDrain() {
			queueHead = null;
			queueTail = null;
			self.drain();
			self.drain = noop;
		}
		function error(handler) {
			errorHandler = handler;
		}
	}
	function noop() {}
	function Task() {
		this.value = null;
		this.callback = noop;
		this.next = null;
		this.release = noop;
		this.context = null;
		this.errorHandler = null;
		var self = this;
		this.worked = function worked(err, result) {
			var callback = self.callback;
			var errorHandler = self.errorHandler;
			var val = self.value;
			self.value = null;
			self.callback = noop;
			if (self.errorHandler) {
				errorHandler(err, val);
			}
			callback.call(self.context, err, result);
			self.release(self);
		};
	}
	function queueAsPromised(context, worker, _concurrency) {
		if (typeof context === "function") {
			_concurrency = worker;
			worker = context;
			context = null;
		}
		function asyncWrapper(arg, cb) {
			worker.call(this, arg).then(function(res) {
				cb(null, res);
			}, cb);
		}
		var queue = fastqueue(context, asyncWrapper, _concurrency);
		var pushCb = queue.push;
		var unshiftCb = queue.unshift;
		queue.push = push;
		queue.unshift = unshift;
		queue.drained = drained;
		return queue;
		function push(value) {
			var p = new Promise(function(resolve, reject) {
				pushCb(value, function(err, result) {
					if (err) {
						reject(err);
						return;
					}
					resolve(result);
				});
			});
			p.catch(noop);
			return p;
		}
		function unshift(value) {
			var p = new Promise(function(resolve, reject) {
				unshiftCb(value, function(err, result) {
					if (err) {
						reject(err);
						return;
					}
					resolve(result);
				});
			});
			p.catch(noop);
			return p;
		}
		function drained() {
			var p = new Promise(function(resolve) {
				process.nextTick(function() {
					if (queue.idle()) {
						resolve();
					} else {
						var previousDrain = queue.drain;
						queue.drain = function() {
							if (typeof previousDrain === "function") previousDrain();
							resolve();
							queue.drain = previousDrain;
						};
					}
				});
			});
			return p;
		}
	}
	module.exports = fastqueue;
	module.exports.promise = queueAsPromised;
}));

//#endregion
//#region ../node_modules/@fastify/error/index.js
var require_error$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { format: format$1 } = __require("node:util");
	function toString() {
		return `${this.name} [${this.code}]: ${this.message}`;
	}
	function createError(code, message, statusCode = 500, Base = Error) {
		if (!code) throw new Error("Fastify error code must not be empty");
		if (!message) throw new Error("Fastify error message must not be empty");
		code = code.toUpperCase();
		!statusCode && (statusCode = undefined);
		function FastifyError(...args) {
			if (!new.target) {
				return new FastifyError(...args);
			}
			this.code = code;
			this.name = "FastifyError";
			this.statusCode = statusCode;
			const lastElement = args.length - 1;
			if (lastElement !== -1 && args[lastElement] && typeof args[lastElement] === "object" && "cause" in args[lastElement]) {
				this.cause = args.pop().cause;
			}
			this.message = format$1(message, ...args);
			Error.stackTraceLimit !== 0 && Error.captureStackTrace(this, FastifyError);
		}
		FastifyError.prototype = Object.create(Base.prototype, { constructor: {
			value: FastifyError,
			enumerable: false,
			writable: true,
			configurable: true
		} });
		FastifyError.prototype[Symbol.toStringTag] = "Error";
		FastifyError.prototype.toString = toString;
		return FastifyError;
	}
	module.exports = createError;
	module.exports.default = createError;
	module.exports.createError = createError;
}));

//#endregion
//#region ../node_modules/avvio/lib/errors.js
var require_errors$4 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { createError } = require_error$2();
	module.exports = {
		AVV_ERR_EXPOSE_ALREADY_DEFINED: createError("AVV_ERR_EXPOSE_ALREADY_DEFINED", "'%s' is already defined, specify an expose option for '%s'"),
		AVV_ERR_ATTRIBUTE_ALREADY_DEFINED: createError("AVV_ERR_ATTRIBUTE_ALREADY_DEFINED", "'%s' is already defined"),
		AVV_ERR_CALLBACK_NOT_FN: createError("AVV_ERR_CALLBACK_NOT_FN", "Callback for '%s' hook is not a function. Received: '%s'"),
		AVV_ERR_PLUGIN_NOT_VALID: createError("AVV_ERR_PLUGIN_NOT_VALID", "Plugin must be a function or a promise. Received: '%s'"),
		AVV_ERR_ROOT_PLG_BOOTED: createError("AVV_ERR_ROOT_PLG_BOOTED", "Root plugin has already booted"),
		AVV_ERR_PARENT_PLG_LOADED: createError("AVV_ERR_PARENT_PLG_LOADED", "Impossible to load '%s' plugin because the parent '%s' was already loaded"),
		AVV_ERR_READY_TIMEOUT: createError("AVV_ERR_READY_TIMEOUT", "Plugin did not start in time: '%s'. You may have forgotten to call 'done' function or to resolve a Promise"),
		AVV_ERR_PLUGIN_EXEC_TIMEOUT: createError("AVV_ERR_PLUGIN_EXEC_TIMEOUT", "Plugin did not start in time: '%s'. You may have forgotten to call 'done' function or to resolve a Promise")
	};
}));

//#endregion
//#region ../node_modules/avvio/lib/symbols.js
var require_symbols$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const kAvvio = Symbol("avvio.Boot");
	const kIsOnCloseHandler = Symbol("isOnCloseHandler");
	const kThenifyDoNotWrap = Symbol("avvio.ThenifyDoNotWrap");
	const kUntrackNode = Symbol("avvio.TimeTree.untrackNode");
	const kTrackNode = Symbol("avvio.TimeTree.trackNode");
	const kGetParent = Symbol("avvio.TimeTree.getParent");
	const kGetNode = Symbol("avvio.TimeTree.getNode");
	const kAddNode = Symbol("avvio.TimeTree.addNode");
	const kPluginMeta = Symbol.for("plugin-meta");
	module.exports = {
		kAvvio,
		kIsOnCloseHandler,
		kThenifyDoNotWrap,
		kUntrackNode,
		kTrackNode,
		kGetParent,
		kGetNode,
		kAddNode,
		kPluginMeta
	};
}));

//#endregion
//#region ../node_modules/avvio/lib/time-tree.js
var require_time_tree = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { kUntrackNode, kTrackNode, kGetParent, kGetNode, kAddNode } = require_symbols$2();
	/**
	* Node of the TimeTree
	* @typedef {object} TimeTreeNode
	* @property {string} id
	* @property {string|null} parent
	* @property {string} label
	* @property {Array<TimeTreeNode>} nodes
	* @property {number} start
	* @property {number|undefined} stop
	* @property {number|undefined} diff
	*/
	var TimeTree = class {
		constructor() {
			/**
			* @type {TimeTreeNode|null} root
			* @public
			*/
			this.root = null;
			/**
			* @type {Map<string, TimeTreeNode>} tableId
			* @public
			*/
			this.tableId = new Map();
			/**
			* @type {Map<string, Array<TimeTreeNode>>} tableLabel
			* @public
			*/
			this.tableLabel = new Map();
		}
		/**
		* @param {TimeTreeNode} node
		*/
		[kTrackNode](node) {
			this.tableId.set(node.id, node);
			if (this.tableLabel.has(node.label)) {
				this.tableLabel.get(node.label).push(node);
			} else {
				this.tableLabel.set(node.label, [node]);
			}
		}
		/**
		* @param {TimeTreeNode} node
		*/
		[kUntrackNode](node) {
			this.tableId.delete(node.id);
			const labelNode = this.tableLabel.get(node.label);
			labelNode.pop();
			if (labelNode.length === 0) {
				this.tableLabel.delete(node.label);
			}
		}
		/**
		* @param {string} parent
		* @returns {TimeTreeNode}
		*/
		[kGetParent](parent) {
			if (parent === null) {
				return null;
			} else if (this.tableLabel.has(parent)) {
				const parentNode = this.tableLabel.get(parent);
				return parentNode[parentNode.length - 1];
			} else {
				return null;
			}
		}
		/**
		*
		* @param {string} nodeId
		* @returns {TimeTreeNode}
		*/
		[kGetNode](nodeId) {
			return this.tableId.get(nodeId);
		}
		/**
		* @param {string} parent
		* @param {string} label
		* @param {number} start
		* @returns {TimeTreeNode["id"]}
		*/
		[kAddNode](parent, label, start) {
			const parentNode = this[kGetParent](parent);
			const isRoot = parentNode === null;
			if (isRoot) {
				this.root = {
					parent: null,
					id: "root",
					label,
					nodes: [],
					start,
					stop: null,
					diff: -1
				};
				this[kTrackNode](this.root);
				return this.root.id;
			}
			const nodeId = `${label}-${Math.random()}`;
			/**
			* @type {TimeTreeNode}
			*/
			const childNode = {
				parent,
				id: nodeId,
				label,
				nodes: [],
				start,
				stop: null,
				diff: -1
			};
			parentNode.nodes.push(childNode);
			this[kTrackNode](childNode);
			return nodeId;
		}
		/**
		* @param {string} parent
		* @param {string} label
		* @param {number|undefined} start
		* @returns {TimeTreeNode["id"]}
		*/
		start(parent, label, start = Date.now()) {
			return this[kAddNode](parent, label, start);
		}
		/**
		* @param {string} nodeId
		* @param {number|undefined} stop
		*/
		stop(nodeId, stop = Date.now()) {
			const node = this[kGetNode](nodeId);
			if (node) {
				node.stop = stop;
				node.diff = node.stop - node.start || 0;
				this[kUntrackNode](node);
			}
		}
		/**
		* @returns {TimeTreeNode}
		*/
		toJSON() {
			return Object.assign({}, this.root);
		}
		/**
		* @returns {string}
		*/
		prettyPrint() {
			return prettyPrintTimeTree(this.toJSON());
		}
	};
	/**
	* @param {TimeTreeNode} obj
	* @param {string|undefined} prefix
	* @returns {string}
	*/
	function prettyPrintTimeTree(obj, prefix = "") {
		let result = prefix;
		const nodesCount = obj.nodes.length;
		const lastIndex = nodesCount - 1;
		result += `${obj.label} ${obj.diff} ms\n`;
		for (let i = 0; i < nodesCount; ++i) {
			const node = obj.nodes[i];
			const prefix_ = prefix + (i === lastIndex ? "  " : "│ ");
			result += prefix;
			result += i === lastIndex ? "└─" : "├─";
			result += node.nodes.length === 0 ? "─ " : "┬ ";
			result += prettyPrintTimeTree(node, prefix_).slice(prefix.length + 2);
		}
		return result;
	}
	module.exports = { TimeTree };
}));

//#endregion
//#region ../node_modules/avvio/lib/debug.js
var require_debug$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { debuglog } = __require("node:util");
	/**
	* @callback DebugLogger
	* @param {string} msg
	* @param {...unknown} param
	* @returns {void}
	*/
	/**
	* @type {DebugLogger}
	*/
	const debug = debuglog("avvio");
	module.exports = { debug };
}));

//#endregion
//#region ../node_modules/avvio/lib/create-promise.js
var require_create_promise = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* @callback PromiseResolve
	* @param {any|PromiseLike<any>} value
	* @returns {void}
	*/
	/**
	* @callback PromiseReject
	* @param {any} reason
	* @returns {void}
	*/
	/**
	* @typedef PromiseObject
	* @property {Promise} promise
	* @property {PromiseResolve} resolve
	* @property {PromiseReject} reject
	*/
	/**
	* @returns {PromiseObject}
	*/
	function createPromise() {
		/**
		* @type {PromiseObject}
		*/
		const obj = {
			resolve: null,
			reject: null,
			promise: null
		};
		obj.promise = new Promise((resolve, reject) => {
			obj.resolve = resolve;
			obj.reject = reject;
		});
		return obj;
	}
	module.exports = { createPromise };
}));

//#endregion
//#region ../node_modules/avvio/lib/get-plugin-name.js
var require_get_plugin_name = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { kPluginMeta } = require_symbols$2();
	/**
	* @param {function} plugin
	* @param {object} [options]
	* @param {string} [options.name]
	* @returns {string}
	*/
	function getPluginName(plugin, options) {
		if (plugin[kPluginMeta] && plugin[kPluginMeta].name) {
			return plugin[kPluginMeta].name;
		}
		if (options && options.name) {
			return options.name;
		}
		if (plugin.name) {
			return plugin.name;
		} else {
			return plugin.toString().split("\n").slice(0, 2).map((s) => s.trim()).join(" -- ");
		}
	}
	module.exports = { getPluginName };
}));

//#endregion
//#region ../node_modules/avvio/lib/is-promise-like.js
var require_is_promise_like = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* @param {any} maybePromiseLike
	* @returns {maybePromiseLike is PromiseLike}
	*/
	function isPromiseLike(maybePromiseLike) {
		return maybePromiseLike !== null && typeof maybePromiseLike === "object" && typeof maybePromiseLike.then === "function";
	}
	module.exports = { isPromiseLike };
}));

//#endregion
//#region ../node_modules/avvio/lib/plugin.js
var require_plugin = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { EventEmitter: EventEmitter$5 } = __require("node:events");
	const { inherits: inherits$1 } = __require("node:util");
	const { debug } = require_debug$1();
	const { createPromise } = require_create_promise();
	const { AVV_ERR_PLUGIN_EXEC_TIMEOUT } = require_errors$4();
	const { getPluginName } = require_get_plugin_name();
	const { isPromiseLike } = require_is_promise_like();
	/**
	* @param {*} queue
	* @param {*} func
	* @param {*} options
	* @param {boolean} isAfter
	* @param {number} [timeout]
	*/
	function Plugin(queue, func, options, isAfter, timeout) {
		this.queue = queue;
		this.func = func;
		this.options = options;
		/**
		* @type {boolean}
		*/
		this.isAfter = isAfter;
		/**
		* @type {number}
		*/
		this.timeout = timeout;
		/**
		* @type {boolean}
		*/
		this.started = false;
		/**
		* @type {string}
		*/
		this.name = getPluginName(func, options);
		this.queue.pause();
		/**
		* @type {Error|null}
		*/
		this._error = null;
		/**
		* @type {boolean}
		*/
		this.loaded = false;
		this._promise = null;
		this.startTime = null;
	}
	inherits$1(Plugin, EventEmitter$5);
	/**
	* @callback ExecCallback
	* @param {Error|null} execErr
	* @returns
	*/
	/**
	*
	* @param {*} server
	* @param {ExecCallback} callback
	* @returns
	*/
	Plugin.prototype.exec = function(server, callback) {
		debug("exec", this.name);
		this.server = server;
		const func = this.func;
		const name = this.name;
		let completed = false;
		this.options = typeof this.options === "function" ? this.options(this.server) : this.options;
		let timer = null;
		/**
		* @param {Error} [execErr]
		*/
		const done = (execErr) => {
			if (completed) {
				debug("loading complete", name);
				return;
			}
			this._error = execErr;
			if (execErr) {
				debug("exec errored", name);
			} else {
				debug("exec completed", name);
			}
			completed = true;
			if (timer) {
				clearTimeout(timer);
			}
			callback(execErr);
		};
		if (this.timeout > 0) {
			debug("setting up timeout", name, this.timeout);
			timer = setTimeout(function() {
				debug("timed out", name);
				timer = null;
				const readyTimeoutErr = new AVV_ERR_PLUGIN_EXEC_TIMEOUT(name);
				readyTimeoutErr.fn = func;
				done(readyTimeoutErr);
			}, this.timeout);
		}
		this.started = true;
		this.startTime = Date.now();
		this.emit("start", this.server ? this.server.name : null, this.name, Date.now());
		const maybePromiseLike = func(this.server, this.options, done);
		if (isPromiseLike(maybePromiseLike)) {
			debug("exec: resolving promise", name);
			maybePromiseLike.then(() => process.nextTick(done), (e) => process.nextTick(done, e));
		}
	};
	/**
	* @returns {Promise}
	*/
	Plugin.prototype.loadedSoFar = function() {
		debug("loadedSoFar", this.name);
		if (this.loaded) {
			return Promise.resolve();
		}
		const setup = () => {
			this.server.after((afterErr, callback) => {
				this._error = afterErr;
				this.queue.pause();
				if (this._promise) {
					if (afterErr) {
						debug("rejecting promise", this.name, afterErr);
						this._promise.reject(afterErr);
					} else {
						debug("resolving promise", this.name);
						this._promise.resolve();
					}
					this._promise = null;
				}
				process.nextTick(callback, afterErr);
			});
			this.queue.resume();
		};
		let res;
		if (!this._promise) {
			this._promise = createPromise();
			res = this._promise.promise;
			if (!this.server) {
				this.on("start", setup);
			} else {
				setup();
			}
		} else {
			res = Promise.resolve();
		}
		return res;
	};
	/**
	* @callback EnqueueCallback
	* @param {Error|null} enqueueErr
	* @param {Plugin} result
	*/
	/**
	*
	* @param {Plugin} plugin
	* @param {EnqueueCallback} callback
	*/
	Plugin.prototype.enqueue = function(plugin, callback) {
		debug("enqueue", this.name, plugin.name);
		this.emit("enqueue", this.server ? this.server.name : null, this.name, Date.now());
		this.queue.push(plugin, callback);
	};
	/**
	* @callback FinishCallback
	* @param {Error|null} finishErr
	* @returns
	*/
	/**
	*
	* @param {Error|null} err
	* @param {FinishCallback} callback
	* @returns
	*/
	Plugin.prototype.finish = function(err, callback) {
		debug("finish", this.name, err);
		const done = () => {
			if (this.loaded) {
				return;
			}
			debug("loaded", this.name);
			this.emit("loaded", this.server ? this.server.name : null, this.name, Date.now());
			this.loaded = true;
			callback(err);
		};
		if (err) {
			if (this._promise) {
				this._promise.reject(err);
				this._promise = null;
			}
			done();
			return;
		}
		const check = () => {
			debug("check", this.name, this.queue.length(), this.queue.running(), this._promise);
			if (this.queue.length() === 0 && this.queue.running() === 0) {
				if (this._promise) {
					const wrap = () => {
						debug("wrap");
						queueMicrotask(check);
					};
					this._promise.resolve();
					this._promise.promise.then(wrap, wrap);
					this._promise = null;
				} else {
					done();
				}
			} else {
				debug("delayed", this.name);
				this.queue.drain = () => {
					debug("drain", this.name);
					this.queue.drain = noop;
					queueMicrotask(check);
				};
			}
		};
		queueMicrotask(check);
		this.queue.resume();
	};
	function noop() {}
	module.exports = { Plugin };
}));

//#endregion
//#region ../node_modules/avvio/lib/validate-plugin.js
var require_validate_plugin = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { AVV_ERR_PLUGIN_NOT_VALID } = require_errors$4();
	/**
	* @param {any} maybePlugin
	* @throws {AVV_ERR_PLUGIN_NOT_VALID}
	*
	* @returns {asserts plugin is Function|PromiseLike}
	*/
	function validatePlugin(maybePlugin) {
		if (!(maybePlugin && (typeof maybePlugin === "function" || typeof maybePlugin.then === "function"))) {
			if (Array.isArray(maybePlugin)) {
				throw new AVV_ERR_PLUGIN_NOT_VALID("array");
			} else if (maybePlugin === null) {
				throw new AVV_ERR_PLUGIN_NOT_VALID("null");
			} else {
				throw new AVV_ERR_PLUGIN_NOT_VALID(typeof maybePlugin);
			}
		}
	}
	module.exports = { validatePlugin };
}));

//#endregion
//#region ../node_modules/avvio/lib/is-bundled-or-typescript-plugin.js
var require_is_bundled_or_typescript_plugin = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* bundled or typescript plugin
	* @typedef {object} BundledOrTypescriptPlugin
	* @property {function} default
	*/
	/**
	* @param {any} maybeBundledOrTypescriptPlugin
	* @returns {plugin is BundledOrTypescriptPlugin}
	*/
	function isBundledOrTypescriptPlugin(maybeBundledOrTypescriptPlugin) {
		return maybeBundledOrTypescriptPlugin !== null && typeof maybeBundledOrTypescriptPlugin === "object" && typeof maybeBundledOrTypescriptPlugin.default === "function";
	}
	module.exports = { isBundledOrTypescriptPlugin };
}));

//#endregion
//#region ../node_modules/avvio/lib/thenify.js
var require_thenify = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { debug } = require_debug$1();
	const { kThenifyDoNotWrap } = require_symbols$2();
	/**
	* @callback PromiseConstructorLikeResolve
	* @param {any} value
	* @returns {void}
	*/
	/**
	* @callback PromiseConstructorLikeReject
	* @param {reason} error
	* @returns {void}
	*/
	/**
	* @callback PromiseConstructorLike
	* @param {PromiseConstructorLikeResolve} resolve
	* @param {PromiseConstructorLikeReject} reject
	* @returns {void}
	*/
	/**
	* @returns {PromiseConstructorLike}
	*/
	function thenify() {
		if (this.booted) {
			debug("thenify returning undefined because we are already booted");
			return;
		}
		if (this[kThenifyDoNotWrap]) {
			this[kThenifyDoNotWrap] = false;
			return;
		}
		debug("thenify");
		return (resolve, reject) => {
			const p = this._loadRegistered();
			return p.then(() => {
				this[kThenifyDoNotWrap] = true;
				return resolve(this._server);
			}, reject);
		};
	}
	module.exports = { thenify };
}));

//#endregion
//#region ../node_modules/avvio/lib/execute-with-thenable.js
var require_execute_with_thenable = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { isPromiseLike } = require_is_promise_like();
	const { kAvvio } = require_symbols$2();
	/**
	* @callback ExecuteWithThenableCallback
	* @param {Error} error
	* @returns {void}
	*/
	/**
	* @param {Function} func
	* @param {Array<any>} args
	* @param {ExecuteWithThenableCallback} [callback]
	*/
	function executeWithThenable(func, args, callback) {
		const result = func.apply(func, args);
		if (isPromiseLike(result) && !result[kAvvio]) {
			result.then(() => process.nextTick(callback), (error) => process.nextTick(callback, error));
		} else if (callback) {
			process.nextTick(callback);
		}
	}
	module.exports = { executeWithThenable };
}));

//#endregion
//#region ../node_modules/avvio/boot.js
var require_boot = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const fastq = require_queue();
	const EE$3 = __require("node:events").EventEmitter;
	const inherits = __require("node:util").inherits;
	const { AVV_ERR_EXPOSE_ALREADY_DEFINED, AVV_ERR_CALLBACK_NOT_FN, AVV_ERR_ROOT_PLG_BOOTED, AVV_ERR_READY_TIMEOUT, AVV_ERR_ATTRIBUTE_ALREADY_DEFINED } = require_errors$4();
	const { kAvvio, kIsOnCloseHandler } = require_symbols$2();
	const { TimeTree } = require_time_tree();
	const { Plugin } = require_plugin();
	const { debug } = require_debug$1();
	const { validatePlugin } = require_validate_plugin();
	const { isBundledOrTypescriptPlugin } = require_is_bundled_or_typescript_plugin();
	const { isPromiseLike } = require_is_promise_like();
	const { thenify } = require_thenify();
	const { executeWithThenable } = require_execute_with_thenable();
	function Boot(server, opts, done) {
		if (typeof server === "function" && arguments.length === 1) {
			done = server;
			opts = {};
			server = null;
		}
		if (typeof opts === "function") {
			done = opts;
			opts = {};
		}
		opts = opts || {};
		opts.autostart = opts.autostart !== false;
		opts.timeout = Number(opts.timeout) || 0;
		opts.expose = opts.expose || {};
		if (!new.target) {
			return new Boot(server, opts, done);
		}
		this._server = server || this;
		this._opts = opts;
		if (server) {
			this._expose();
		}
		/**
		* @type {Array<Plugin>}
		*/
		this._current = [];
		this._error = null;
		this._lastUsed = null;
		this.setMaxListeners(0);
		if (done) {
			this.once("start", done);
		}
		this.started = false;
		this.booted = false;
		this.pluginTree = new TimeTree();
		this._readyQ = fastq(this, callWithCbOrNextTick, 1);
		this._readyQ.pause();
		this._readyQ.drain = () => {
			this.emit("start");
			this._readyQ.drain = noop;
		};
		this._closeQ = fastq(this, closeWithCbOrNextTick, 1);
		this._closeQ.pause();
		this._closeQ.drain = () => {
			this.emit("close");
			this._closeQ.drain = noop;
		};
		this._doStart = null;
		const instance = this;
		this._root = new Plugin(fastq(this, this._loadPluginNextTick, 1), function root(server, opts, done) {
			instance._doStart = done;
			opts.autostart && instance.start();
		}, opts, false, 0);
		this._trackPluginLoading(this._root);
		this._loadPlugin(this._root, (err) => {
			debug("root plugin ready");
			try {
				this.emit("preReady");
				this._root = null;
			} catch (preReadyError) {
				err = err || this._error || preReadyError;
			}
			if (err) {
				this._error = err;
				if (this._readyQ.length() === 0) {
					throw err;
				}
			} else {
				this.booted = true;
			}
			this._readyQ.resume();
		});
	}
	inherits(Boot, EE$3);
	Boot.prototype.start = function() {
		this.started = true;
		process.nextTick(this._doStart);
		return this;
	};
	Boot.prototype.override = function(server, func, opts) {
		return server;
	};
	Boot.prototype[kAvvio] = true;
	Boot.prototype.use = function(plugin, opts) {
		this._lastUsed = this._addPlugin(plugin, opts, false);
		return this;
	};
	Boot.prototype._loadRegistered = function() {
		const plugin = this._current[0];
		const weNeedToStart = !this.started && !this.booted;
		if (weNeedToStart) {
			process.nextTick(() => this._root.queue.resume());
		}
		if (!plugin) {
			return Promise.resolve();
		}
		return plugin.loadedSoFar();
	};
	Object.defineProperty(Boot.prototype, "then", { get: thenify });
	Boot.prototype._addPlugin = function(pluginFn, opts, isAfter) {
		if (isBundledOrTypescriptPlugin(pluginFn)) {
			pluginFn = pluginFn.default;
		}
		validatePlugin(pluginFn);
		opts = opts || {};
		if (this.booted) {
			throw new AVV_ERR_ROOT_PLG_BOOTED();
		}
		const current = this._current[0];
		let timeout = this._opts.timeout;
		if (!current.loaded && current.timeout > 0) {
			const delta = Date.now() - current.startTime;
			timeout = current.timeout - (delta + 3);
		}
		const plugin = new Plugin(fastq(this, this._loadPluginNextTick, 1), pluginFn, opts, isAfter, timeout);
		this._trackPluginLoading(plugin);
		if (current.loaded) {
			throw new Error(plugin.name, current.name);
		}
		current.enqueue(plugin, (err) => {
			err && (this._error = err);
		});
		return plugin;
	};
	Boot.prototype._expose = function _expose() {
		const instance = this;
		const server = instance._server;
		const { use: useKey = "use", after: afterKey = "after", ready: readyKey = "ready", onClose: onCloseKey = "onClose", close: closeKey = "close" } = this._opts.expose;
		if (server[useKey]) {
			throw new AVV_ERR_EXPOSE_ALREADY_DEFINED(useKey, "use");
		}
		server[useKey] = function(fn, opts) {
			instance.use(fn, opts);
			return this;
		};
		if (server[afterKey]) {
			throw new AVV_ERR_EXPOSE_ALREADY_DEFINED(afterKey, "after");
		}
		server[afterKey] = function(func) {
			if (typeof func !== "function") {
				return instance._loadRegistered();
			}
			instance.after(encapsulateThreeParam(func, this));
			return this;
		};
		if (server[readyKey]) {
			throw new AVV_ERR_EXPOSE_ALREADY_DEFINED(readyKey, "ready");
		}
		server[readyKey] = function(func) {
			if (func && typeof func !== "function") {
				throw new AVV_ERR_CALLBACK_NOT_FN(readyKey, typeof func);
			}
			return instance.ready(func ? encapsulateThreeParam(func, this) : undefined);
		};
		if (server[onCloseKey]) {
			throw new AVV_ERR_EXPOSE_ALREADY_DEFINED(onCloseKey, "onClose");
		}
		server[onCloseKey] = function(func) {
			if (typeof func !== "function") {
				throw new AVV_ERR_CALLBACK_NOT_FN(onCloseKey, typeof func);
			}
			instance.onClose(encapsulateTwoParam(func, this));
			return this;
		};
		if (server[closeKey]) {
			throw new AVV_ERR_EXPOSE_ALREADY_DEFINED(closeKey, "close");
		}
		server[closeKey] = function(func) {
			if (func && typeof func !== "function") {
				throw new AVV_ERR_CALLBACK_NOT_FN(closeKey, typeof func);
			}
			if (func) {
				instance.close(encapsulateThreeParam(func, this));
				return this;
			}
			return instance.close();
		};
		if (server.then) {
			throw new AVV_ERR_ATTRIBUTE_ALREADY_DEFINED("then");
		}
		Object.defineProperty(server, "then", { get: thenify.bind(instance) });
		server[kAvvio] = true;
	};
	Boot.prototype.after = function(func) {
		if (!func) {
			return this._loadRegistered();
		}
		this._addPlugin(_after.bind(this), {}, true);
		function _after(s, opts, done) {
			callWithCbOrNextTick.call(this, func, done);
		}
		return this;
	};
	Boot.prototype.onClose = function(func) {
		if (typeof func !== "function") {
			throw new AVV_ERR_CALLBACK_NOT_FN("onClose", typeof func);
		}
		func[kIsOnCloseHandler] = true;
		this._closeQ.unshift(func, (err) => {
			err && (this._error = err);
		});
		return this;
	};
	Boot.prototype.close = function(func) {
		let promise;
		if (func) {
			if (typeof func !== "function") {
				throw new AVV_ERR_CALLBACK_NOT_FN("close", typeof func);
			}
		} else {
			promise = new Promise(function(resolve, reject) {
				func = function(err) {
					if (err) {
						return reject(err);
					}
					resolve();
				};
			});
		}
		this.ready(() => {
			this._error = null;
			this._closeQ.push(func);
			process.nextTick(this._closeQ.resume.bind(this._closeQ));
		});
		return promise;
	};
	Boot.prototype.ready = function(func) {
		if (func) {
			if (typeof func !== "function") {
				throw new AVV_ERR_CALLBACK_NOT_FN("ready", typeof func);
			}
			this._readyQ.push(func);
			queueMicrotask(this.start.bind(this));
			return;
		}
		return new Promise((resolve, reject) => {
			this._readyQ.push(readyPromiseCB);
			this.start();
			/**
			* The `encapsulateThreeParam` let callback function
			* bind to the right server instance.
			* In promises we need to track the last server
			* instance loaded, the first one in the _current queue.
			*/
			const relativeContext = this._current[0].server;
			function readyPromiseCB(err, context, done) {
				if (err) {
					reject(err);
				} else {
					resolve(relativeContext);
				}
				process.nextTick(done);
			}
		});
	};
	/**
	* @param {Plugin} plugin
	* @returns {void}
	*/
	Boot.prototype._trackPluginLoading = function(plugin) {
		const parentName = this._current[0]?.name || null;
		plugin.once("start", (serverName, funcName, time) => {
			const nodeId = this.pluginTree.start(parentName || null, funcName, time);
			plugin.once("loaded", (serverName, funcName, time) => {
				this.pluginTree.stop(nodeId, time);
			});
		});
	};
	Boot.prototype.prettyPrint = function() {
		return this.pluginTree.prettyPrint();
	};
	Boot.prototype.toJSON = function() {
		return this.pluginTree.toJSON();
	};
	/**
	* @callback LoadPluginCallback
	* @param {Error} [err]
	*/
	/**
	* Load a plugin
	*
	* @param {Plugin} plugin
	* @param {LoadPluginCallback} callback
	*/
	Boot.prototype._loadPlugin = function(plugin, callback) {
		const instance = this;
		if (isPromiseLike(plugin.func)) {
			plugin.func.then((fn) => {
				if (typeof fn.default === "function") {
					fn = fn.default;
				}
				plugin.func = fn;
				this._loadPlugin(plugin, callback);
			}, callback);
			return;
		}
		const last = instance._current[0];
		instance._current.unshift(plugin);
		if (instance._error && !plugin.isAfter) {
			debug("skipping loading of plugin as instance errored and it is not an after", plugin.name);
			process.nextTick(execCallback);
			return;
		}
		let server = last && last.server || instance._server;
		if (!plugin.isAfter) {
			try {
				server = instance.override(server, plugin.func, plugin.options);
			} catch (overrideErr) {
				debug("override errored", plugin.name);
				return execCallback(overrideErr);
			}
		}
		plugin.exec(server, execCallback);
		function execCallback(err) {
			plugin.finish(err, (err) => {
				instance._current.shift();
				callback(err);
			});
		}
	};
	/**
	* Delays plugin loading until the next tick to ensure any bound `_after` callbacks have a chance
	* to run prior to executing the next plugin
	*/
	Boot.prototype._loadPluginNextTick = function(plugin, callback) {
		process.nextTick(this._loadPlugin.bind(this), plugin, callback);
	};
	function noop() {}
	function callWithCbOrNextTick(func, cb) {
		const context = this._server;
		const err = this._error;
		this._error = null;
		if (func.length === 0) {
			this._error = err;
			executeWithThenable(func, [], cb);
		} else if (func.length === 1) {
			executeWithThenable(func, [err], cb);
		} else {
			if (this._opts.timeout === 0) {
				const wrapCb = (err) => {
					this._error = err;
					cb(this._error);
				};
				if (func.length === 2) {
					func(err, wrapCb);
				} else {
					func(err, context, wrapCb);
				}
			} else {
				timeoutCall.call(this, func, err, context, cb);
			}
		}
	}
	function timeoutCall(func, rootErr, context, cb) {
		const name = func.unwrappedName ?? func.name;
		debug("setting up ready timeout", name, this._opts.timeout);
		let timer = setTimeout(() => {
			debug("timed out", name);
			timer = null;
			const toutErr = new AVV_ERR_READY_TIMEOUT(name);
			toutErr.fn = func;
			this._error = toutErr;
			cb(toutErr);
		}, this._opts.timeout);
		if (func.length === 2) {
			func(rootErr, timeoutCb.bind(this));
		} else {
			func(rootErr, context, timeoutCb.bind(this));
		}
		function timeoutCb(err) {
			if (timer) {
				clearTimeout(timer);
				this._error = err;
				cb(this._error);
			} else {}
		}
	}
	function closeWithCbOrNextTick(func, cb) {
		const context = this._server;
		const isOnCloseHandler = func[kIsOnCloseHandler];
		if (func.length === 0 || func.length === 1) {
			let promise;
			if (isOnCloseHandler) {
				promise = func(context);
			} else {
				promise = func(this._error);
			}
			if (promise && typeof promise.then === "function") {
				debug("resolving close/onClose promise");
				promise.then(() => process.nextTick(cb), (e) => process.nextTick(cb, e));
			} else {
				process.nextTick(cb);
			}
		} else if (func.length === 2) {
			if (isOnCloseHandler) {
				func(context, cb);
			} else {
				func(this._error, cb);
			}
		} else {
			if (isOnCloseHandler) {
				func(context, cb);
			} else {
				func(this._error, context, cb);
			}
		}
	}
	function encapsulateTwoParam(func, that) {
		return _encapsulateTwoParam.bind(that);
		function _encapsulateTwoParam(context, cb) {
			let res;
			if (func.length === 0) {
				res = func();
				if (res && res.then) {
					res.then(function() {
						process.nextTick(cb);
					}, cb);
				} else {
					process.nextTick(cb);
				}
			} else if (func.length === 1) {
				res = func(this);
				if (res && res.then) {
					res.then(function() {
						process.nextTick(cb);
					}, cb);
				} else {
					process.nextTick(cb);
				}
			} else {
				func(this, cb);
			}
		}
	}
	function encapsulateThreeParam(func, that) {
		const wrapped = _encapsulateThreeParam.bind(that);
		wrapped.unwrappedName = func.name;
		return wrapped;
		function _encapsulateThreeParam(err, cb) {
			let res;
			if (!func) {
				process.nextTick(cb);
			} else if (func.length === 0) {
				res = func();
				if (res && res.then) {
					res.then(function() {
						process.nextTick(cb, err);
					}, cb);
				} else {
					process.nextTick(cb, err);
				}
			} else if (func.length === 1) {
				res = func(err);
				if (res && res.then) {
					res.then(function() {
						process.nextTick(cb);
					}, cb);
				} else {
					process.nextTick(cb);
				}
			} else if (func.length === 2) {
				func(err, cb);
			} else {
				func(err, this, cb);
			}
		}
	}
	module.exports = Boot;
	module.exports.express = function(app) {
		return Boot(app, { expose: { use: "load" } });
	};
}));

//#endregion
//#region ../node_modules/fastify/lib/symbols.js
var require_symbols$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const keys = {
		kAvvioBoot: Symbol("fastify.avvioBoot"),
		kChildren: Symbol("fastify.children"),
		kServerBindings: Symbol("fastify.serverBindings"),
		kBodyLimit: Symbol("fastify.bodyLimit"),
		kRoutePrefix: Symbol("fastify.routePrefix"),
		kLogLevel: Symbol("fastify.logLevel"),
		kLogSerializers: Symbol("fastify.logSerializers"),
		kHooks: Symbol("fastify.hooks"),
		kContentTypeParser: Symbol("fastify.contentTypeParser"),
		kState: Symbol("fastify.state"),
		kOptions: Symbol("fastify.options"),
		kDisableRequestLogging: Symbol("fastify.disableRequestLogging"),
		kPluginNameChain: Symbol("fastify.pluginNameChain"),
		kRouteContext: Symbol("fastify.context"),
		kPublicRouteContext: Symbol("fastify.routeOptions"),
		kGenReqId: Symbol("fastify.genReqId"),
		kSchemaController: Symbol("fastify.schemaController"),
		kSchemaHeaders: Symbol("headers-schema"),
		kSchemaParams: Symbol("params-schema"),
		kSchemaQuerystring: Symbol("querystring-schema"),
		kSchemaBody: Symbol("body-schema"),
		kSchemaResponse: Symbol("response-schema"),
		kSchemaErrorFormatter: Symbol("fastify.schemaErrorFormatter"),
		kSchemaVisited: Symbol("fastify.schemas.visited"),
		kRequest: Symbol("fastify.Request"),
		kRequestPayloadStream: Symbol("fastify.RequestPayloadStream"),
		kRequestAcceptVersion: Symbol("fastify.RequestAcceptVersion"),
		kRequestCacheValidateFns: Symbol("fastify.request.cache.validateFns"),
		kRequestOriginalUrl: Symbol("fastify.request.originalUrl"),
		kFourOhFour: Symbol("fastify.404"),
		kCanSetNotFoundHandler: Symbol("fastify.canSetNotFoundHandler"),
		kFourOhFourLevelInstance: Symbol("fastify.404LogLevelInstance"),
		kFourOhFourContext: Symbol("fastify.404ContextKey"),
		kDefaultJsonParse: Symbol("fastify.defaultJSONParse"),
		kReply: Symbol("fastify.Reply"),
		kReplySerializer: Symbol("fastify.reply.serializer"),
		kReplyIsError: Symbol("fastify.reply.isError"),
		kReplyHeaders: Symbol("fastify.reply.headers"),
		kReplyTrailers: Symbol("fastify.reply.trailers"),
		kReplyHasStatusCode: Symbol("fastify.reply.hasStatusCode"),
		kReplyHijacked: Symbol("fastify.reply.hijacked"),
		kReplyStartTime: Symbol("fastify.reply.startTime"),
		kReplyNextErrorHandler: Symbol("fastify.reply.nextErrorHandler"),
		kReplyEndTime: Symbol("fastify.reply.endTime"),
		kReplyErrorHandlerCalled: Symbol("fastify.reply.errorHandlerCalled"),
		kReplyIsRunningOnErrorHook: Symbol("fastify.reply.isRunningOnErrorHook"),
		kReplySerializerDefault: Symbol("fastify.replySerializerDefault"),
		kReplyCacheSerializeFns: Symbol("fastify.reply.cache.serializeFns"),
		kTestInternals: Symbol("fastify.testInternals"),
		kErrorHandler: Symbol("fastify.errorHandler"),
		kChildLoggerFactory: Symbol("fastify.childLoggerFactory"),
		kHasBeenDecorated: Symbol("fastify.hasBeenDecorated"),
		kKeepAliveConnections: Symbol("fastify.keepAliveConnections"),
		kRouteByFastify: Symbol("fastify.routeByFastify")
	};
	module.exports = keys;
}));

//#endregion
//#region ../node_modules/process-warning/index.js
var require_process_warning = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { format } = __require("node:util");
	/**
	* @namespace processWarning
	*/
	/**
	* Represents a warning item with details.
	* @typedef {Function} WarningItem
	* @param {*} [a] Possible message interpolation value.
	* @param {*} [b] Possible message interpolation value.
	* @param {*} [c] Possible message interpolation value.
	* @property {string} name - The name of the warning.
	* @property {string} code - The code associated with the warning.
	* @property {string} message - The warning message.
	* @property {boolean} emitted - Indicates if the warning has been emitted.
	* @property {function} format - Formats the warning message.
	*/
	/**
	* Options for creating a process warning.
	* @typedef {Object} ProcessWarningOptions
	* @property {string} name - The name of the warning.
	* @property {string} code - The code associated with the warning.
	* @property {string} message - The warning message.
	* @property {boolean} [unlimited=false] - If true, allows unlimited emissions of the warning.
	*/
	/**
	* Represents the process warning functionality.
	* @typedef {Object} ProcessWarning
	* @property {function} createWarning - Creates a warning item.
	* @property {function} createDeprecation - Creates a deprecation warning item.
	*/
	/**
	* Creates a deprecation warning item.
	* @function
	* @memberof processWarning
	* @param {ProcessWarningOptions} params - Options for creating the warning.
	* @returns {WarningItem} The created deprecation warning item.
	*/
	function createDeprecation(params) {
		return createWarning({
			...params,
			name: "DeprecationWarning"
		});
	}
	/**
	* Creates a warning item.
	* @function
	* @memberof processWarning
	* @param {ProcessWarningOptions} params - Options for creating the warning.
	* @returns {WarningItem} The created warning item.
	* @throws {Error} Throws an error if name, code, or message is empty, or if opts.unlimited is not a boolean.
	*/
	function createWarning({ name, code, message, unlimited = false } = {}) {
		if (!name) throw new Error("Warning name must not be empty");
		if (!code) throw new Error("Warning code must not be empty");
		if (!message) throw new Error("Warning message must not be empty");
		if (typeof unlimited !== "boolean") throw new Error("Warning opts.unlimited must be a boolean");
		code = code.toUpperCase();
		let warningContainer = { [name]: function(a, b, c) {
			if (warning.emitted === true && warning.unlimited !== true) {
				return;
			}
			warning.emitted = true;
			process.emitWarning(warning.format(a, b, c), warning.name, warning.code);
		} };
		if (unlimited) {
			warningContainer = { [name]: function(a, b, c) {
				warning.emitted = true;
				process.emitWarning(warning.format(a, b, c), warning.name, warning.code);
			} };
		}
		const warning = warningContainer[name];
		warning.emitted = false;
		warning.message = message;
		warning.unlimited = unlimited;
		warning.code = code;
		/**
		* Formats the warning message.
		* @param {*} [a] Possible message interpolation value.
		* @param {*} [b] Possible message interpolation value.
		* @param {*} [c] Possible message interpolation value.
		* @returns {string} The formatted warning message.
		*/
		warning.format = function(a, b, c) {
			let formatted;
			if (a && b && c) {
				formatted = format(message, a, b, c);
			} else if (a && b) {
				formatted = format(message, a, b);
			} else if (a) {
				formatted = format(message, a);
			} else {
				formatted = message;
			}
			return formatted;
		};
		return warning;
	}
	/**
	* Module exports containing the process warning functionality.
	* @namespace
	* @property {function} createWarning - Creates a warning item.
	* @property {function} createDeprecation - Creates a deprecation warning item.
	* @property {ProcessWarning} processWarning - Represents the process warning functionality.
	*/
	const out = {
		createWarning,
		createDeprecation
	};
	module.exports = out;
	module.exports.default = out;
	module.exports.processWarning = out;
}));

//#endregion
//#region ../node_modules/fastify/lib/warnings.js
var require_warnings = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { createDeprecation, createWarning } = require_process_warning();
	const FSTDEP005 = createDeprecation({
		code: "FSTDEP005",
		message: "You are accessing the deprecated \"request.connection\" property. Use \"request.socket\" instead."
	});
	const FSTDEP006 = createDeprecation({
		code: "FSTDEP006",
		message: "You are decorating Request/Reply with a reference type. This reference is shared amongst all requests. Use onRequest hook instead. Property: %s"
	});
	const FSTDEP007 = createDeprecation({
		code: "FSTDEP007",
		message: "You are trying to set a HEAD route using \"exposeHeadRoute\" route flag when a sibling route is already set. See documentation for more info."
	});
	const FSTDEP008 = createDeprecation({
		code: "FSTDEP008",
		message: "You are using route constraints via the route { version: \"...\" } option, use { constraints: { version: \"...\" } } option instead."
	});
	const FSTDEP009 = createDeprecation({
		code: "FSTDEP009",
		message: "You are using a custom route versioning strategy via the server { versioning: \"...\" } option, use { constraints: { version: \"...\" } } option instead."
	});
	const FSTDEP010 = createDeprecation({
		code: "FSTDEP010",
		message: "Modifying the \"reply.sent\" property is deprecated. Use the \"reply.hijack()\" method instead."
	});
	const FSTDEP011 = createDeprecation({
		code: "FSTDEP011",
		message: "Variadic listen method is deprecated. Please use \".listen(optionsObject)\" instead. The variadic signature will be removed in `fastify@5`."
	});
	const FSTDEP012 = createDeprecation({
		code: "FSTDEP012",
		message: "request.context property access is deprecated. Please use \"request.routeOptions.config\" or \"request.routeOptions.schema\" instead for accessing Route settings. The \"request.context\" will be removed in `fastify@5`."
	});
	const FSTDEP013 = createDeprecation({
		code: "FSTDEP013",
		message: "Direct return of \"trailers\" function is deprecated. Please use \"callback\" or \"async-await\" for return value. The support of direct return will removed in `fastify@5`."
	});
	const FSTDEP014 = createDeprecation({
		code: "FSTDEP014",
		message: "You are trying to set/access the default route. This property is deprecated. Please, use setNotFoundHandler if you want to custom a 404 handler or the wildcard (*) to match all routes."
	});
	const FSTDEP015 = createDeprecation({
		code: "FSTDEP015",
		message: "You are accessing the deprecated \"request.routeSchema\" property. Use \"request.routeOptions.schema\" instead. Property \"req.routeSchema\" will be removed in `fastify@5`."
	});
	const FSTDEP016 = createDeprecation({
		code: "FSTDEP016",
		message: "You are accessing the deprecated \"request.routeConfig\" property. Use \"request.routeOptions.config\" instead. Property \"req.routeConfig\" will be removed in `fastify@5`."
	});
	const FSTDEP017 = createDeprecation({
		code: "FSTDEP017",
		message: "You are accessing the deprecated \"request.routerPath\" property. Use \"request.routeOptions.url\" instead. Property \"req.routerPath\" will be removed in `fastify@5`."
	});
	const FSTDEP018 = createDeprecation({
		code: "FSTDEP018",
		message: "You are accessing the deprecated \"request.routerMethod\" property. Use \"request.routeOptions.method\" instead. Property \"req.routerMethod\" will be removed in `fastify@5`."
	});
	const FSTDEP019 = createDeprecation({
		code: "FSTDEP019",
		message: "reply.context property access is deprecated. Please use \"request.routeOptions.config\" or \"request.routeOptions.schema\" instead for accessing Route settings. The \"reply.context\" will be removed in `fastify@5`."
	});
	const FSTDEP020 = createDeprecation({
		code: "FSTDEP020",
		message: "You are using the deprecated \"reply.getResponseTime()\" method. Use the \"reply.elapsedTime\" property instead. Method \"reply.getResponseTime()\" will be removed in `fastify@5`."
	});
	const FSTDEP021 = createDeprecation({
		code: "FSTDEP021",
		message: "The `reply.redirect()` method has a new signature: `reply.redirect(url: string, code?: number)`. It will be enforced in `fastify@v5`"
	});
	const FSTDEP022 = createDeprecation({
		code: "FSTDEP021",
		message: "You are using the deprecated json shorthand schema on route %s. Specify full object schema instead. It will be removed in `fastify@v5`"
	});
	const FSTWRN001 = createWarning({
		name: "FastifyWarning",
		code: "FSTWRN001",
		message: "The %s schema for %s: %s is missing. This may indicate the schema is not well specified.",
		unlimited: true
	});
	const FSTWRN002 = createWarning({
		name: "FastifyWarning",
		code: "FSTWRN002",
		message: "The %s plugin being registered mixes async and callback styles, which will result in an error in `fastify@5`",
		unlimited: true
	});
	module.exports = {
		FSTDEP005,
		FSTDEP006,
		FSTDEP007,
		FSTDEP008,
		FSTDEP009,
		FSTDEP010,
		FSTDEP011,
		FSTDEP012,
		FSTDEP013,
		FSTDEP014,
		FSTDEP015,
		FSTDEP016,
		FSTDEP017,
		FSTDEP018,
		FSTDEP019,
		FSTDEP020,
		FSTDEP021,
		FSTDEP022,
		FSTWRN001,
		FSTWRN002
	};
}));

//#endregion
//#region ../node_modules/fastify/lib/errors.js
var require_errors$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const createError = require_error$2();
	const codes = {
		FST_ERR_NOT_FOUND: createError("FST_ERR_NOT_FOUND", "Not Found", 404),
		FST_ERR_OPTIONS_NOT_OBJ: createError("FST_ERR_OPTIONS_NOT_OBJ", "Options must be an object", 500, TypeError),
		FST_ERR_QSP_NOT_FN: createError("FST_ERR_QSP_NOT_FN", "querystringParser option should be a function, instead got '%s'", 500, TypeError),
		FST_ERR_SCHEMA_CONTROLLER_BUCKET_OPT_NOT_FN: createError("FST_ERR_SCHEMA_CONTROLLER_BUCKET_OPT_NOT_FN", "schemaController.bucket option should be a function, instead got '%s'", 500, TypeError),
		FST_ERR_SCHEMA_ERROR_FORMATTER_NOT_FN: createError("FST_ERR_SCHEMA_ERROR_FORMATTER_NOT_FN", "schemaErrorFormatter option should be a non async function. Instead got '%s'.", 500, TypeError),
		FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_OBJ: createError("FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_OBJ", "ajv.customOptions option should be an object, instead got '%s'", 500, TypeError),
		FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_ARR: createError("FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_ARR", "ajv.plugins option should be an array, instead got '%s'", 500, TypeError),
		FST_ERR_VERSION_CONSTRAINT_NOT_STR: createError("FST_ERR_VERSION_CONSTRAINT_NOT_STR", "Version constraint should be a string.", 500, TypeError),
		FST_ERR_VALIDATION: createError("FST_ERR_VALIDATION", "%s", 400),
		FST_ERR_LISTEN_OPTIONS_INVALID: createError("FST_ERR_LISTEN_OPTIONS_INVALID", "Invalid listen options: '%s'", 500, TypeError),
		FST_ERR_ERROR_HANDLER_NOT_FN: createError("FST_ERR_ERROR_HANDLER_NOT_FN", "Error Handler must be a function", 500, TypeError),
		FST_ERR_CTP_ALREADY_PRESENT: createError("FST_ERR_CTP_ALREADY_PRESENT", "Content type parser '%s' already present."),
		FST_ERR_CTP_INVALID_TYPE: createError("FST_ERR_CTP_INVALID_TYPE", "The content type should be a string or a RegExp", 500, TypeError),
		FST_ERR_CTP_EMPTY_TYPE: createError("FST_ERR_CTP_EMPTY_TYPE", "The content type cannot be an empty string", 500, TypeError),
		FST_ERR_CTP_INVALID_HANDLER: createError("FST_ERR_CTP_INVALID_HANDLER", "The content type handler should be a function", 500, TypeError),
		FST_ERR_CTP_INVALID_PARSE_TYPE: createError("FST_ERR_CTP_INVALID_PARSE_TYPE", "The body parser can only parse your data as 'string' or 'buffer', you asked '%s' which is not supported.", 500, TypeError),
		FST_ERR_CTP_BODY_TOO_LARGE: createError("FST_ERR_CTP_BODY_TOO_LARGE", "Request body is too large", 413, RangeError),
		FST_ERR_CTP_INVALID_MEDIA_TYPE: createError("FST_ERR_CTP_INVALID_MEDIA_TYPE", "Unsupported Media Type: %s", 415),
		FST_ERR_CTP_INVALID_CONTENT_LENGTH: createError("FST_ERR_CTP_INVALID_CONTENT_LENGTH", "Request body size did not match Content-Length", 400, RangeError),
		FST_ERR_CTP_EMPTY_JSON_BODY: createError("FST_ERR_CTP_EMPTY_JSON_BODY", "Body cannot be empty when content-type is set to 'application/json'", 400),
		FST_ERR_CTP_INSTANCE_ALREADY_STARTED: createError("FST_ERR_CTP_INSTANCE_ALREADY_STARTED", "Cannot call \"%s\" when fastify instance is already started!", 400),
		FST_ERR_DEC_ALREADY_PRESENT: createError("FST_ERR_DEC_ALREADY_PRESENT", "The decorator '%s' has already been added!"),
		FST_ERR_DEC_DEPENDENCY_INVALID_TYPE: createError("FST_ERR_DEC_DEPENDENCY_INVALID_TYPE", "The dependencies of decorator '%s' must be of type Array.", 500, TypeError),
		FST_ERR_DEC_MISSING_DEPENDENCY: createError("FST_ERR_DEC_MISSING_DEPENDENCY", "The decorator is missing dependency '%s'."),
		FST_ERR_DEC_AFTER_START: createError("FST_ERR_DEC_AFTER_START", "The decorator '%s' has been added after start!"),
		FST_ERR_HOOK_INVALID_TYPE: createError("FST_ERR_HOOK_INVALID_TYPE", "The hook name must be a string", 500, TypeError),
		FST_ERR_HOOK_INVALID_HANDLER: createError("FST_ERR_HOOK_INVALID_HANDLER", "%s hook should be a function, instead got %s", 500, TypeError),
		FST_ERR_HOOK_INVALID_ASYNC_HANDLER: createError("FST_ERR_HOOK_INVALID_ASYNC_HANDLER", "Async function has too many arguments. Async hooks should not use the 'done' argument.", 500, TypeError),
		FST_ERR_HOOK_NOT_SUPPORTED: createError("FST_ERR_HOOK_NOT_SUPPORTED", "%s hook not supported!", 500, TypeError),
		FST_ERR_MISSING_MIDDLEWARE: createError("FST_ERR_MISSING_MIDDLEWARE", "You must register a plugin for handling middlewares, visit fastify.dev/docs/latest/Reference/Middleware/ for more info.", 500),
		FST_ERR_HOOK_TIMEOUT: createError("FST_ERR_HOOK_TIMEOUT", "A callback for '%s' hook timed out. You may have forgotten to call 'done' function or to resolve a Promise"),
		FST_ERR_LOG_INVALID_DESTINATION: createError("FST_ERR_LOG_INVALID_DESTINATION", "Cannot specify both logger.stream and logger.file options"),
		FST_ERR_LOG_INVALID_LOGGER: createError("FST_ERR_LOG_INVALID_LOGGER", "Invalid logger object provided. The logger instance should have these functions(s): '%s'.", 500, TypeError),
		FST_ERR_REP_INVALID_PAYLOAD_TYPE: createError("FST_ERR_REP_INVALID_PAYLOAD_TYPE", "Attempted to send payload of invalid type '%s'. Expected a string or Buffer.", 500, TypeError),
		FST_ERR_REP_RESPONSE_BODY_CONSUMED: createError("FST_ERR_REP_RESPONSE_BODY_CONSUMED", "Response.body is already consumed."),
		FST_ERR_REP_ALREADY_SENT: createError("FST_ERR_REP_ALREADY_SENT", "Reply was already sent, did you forget to \"return reply\" in \"%s\" (%s)?"),
		FST_ERR_REP_SENT_VALUE: createError("FST_ERR_REP_SENT_VALUE", "The only possible value for reply.sent is true.", 500, TypeError),
		FST_ERR_SEND_INSIDE_ONERR: createError("FST_ERR_SEND_INSIDE_ONERR", "You cannot use `send` inside the `onError` hook"),
		FST_ERR_SEND_UNDEFINED_ERR: createError("FST_ERR_SEND_UNDEFINED_ERR", "Undefined error has occurred"),
		FST_ERR_BAD_STATUS_CODE: createError("FST_ERR_BAD_STATUS_CODE", "Called reply with an invalid status code: %s"),
		FST_ERR_BAD_TRAILER_NAME: createError("FST_ERR_BAD_TRAILER_NAME", "Called reply.trailer with an invalid header name: %s"),
		FST_ERR_BAD_TRAILER_VALUE: createError("FST_ERR_BAD_TRAILER_VALUE", "Called reply.trailer('%s', fn) with an invalid type: %s. Expected a function."),
		FST_ERR_FAILED_ERROR_SERIALIZATION: createError("FST_ERR_FAILED_ERROR_SERIALIZATION", "Failed to serialize an error. Error: %s. Original error: %s"),
		FST_ERR_MISSING_SERIALIZATION_FN: createError("FST_ERR_MISSING_SERIALIZATION_FN", "Missing serialization function. Key \"%s\""),
		FST_ERR_MISSING_CONTENTTYPE_SERIALIZATION_FN: createError("FST_ERR_MISSING_CONTENTTYPE_SERIALIZATION_FN", "Missing serialization function. Key \"%s:%s\""),
		FST_ERR_REQ_INVALID_VALIDATION_INVOCATION: createError("FST_ERR_REQ_INVALID_VALIDATION_INVOCATION", "Invalid validation invocation. Missing validation function for HTTP part \"%s\" nor schema provided."),
		FST_ERR_SCH_MISSING_ID: createError("FST_ERR_SCH_MISSING_ID", "Missing schema $id property"),
		FST_ERR_SCH_ALREADY_PRESENT: createError("FST_ERR_SCH_ALREADY_PRESENT", "Schema with id '%s' already declared!"),
		FST_ERR_SCH_CONTENT_MISSING_SCHEMA: createError("FST_ERR_SCH_CONTENT_MISSING_SCHEMA", "Schema is missing for the content type '%s'"),
		FST_ERR_SCH_DUPLICATE: createError("FST_ERR_SCH_DUPLICATE", "Schema with '%s' already present!"),
		FST_ERR_SCH_VALIDATION_BUILD: createError("FST_ERR_SCH_VALIDATION_BUILD", "Failed building the validation schema for %s: %s, due to error %s"),
		FST_ERR_SCH_SERIALIZATION_BUILD: createError("FST_ERR_SCH_SERIALIZATION_BUILD", "Failed building the serialization schema for %s: %s, due to error %s"),
		FST_ERR_SCH_RESPONSE_SCHEMA_NOT_NESTED_2XX: createError("FST_ERR_SCH_RESPONSE_SCHEMA_NOT_NESTED_2XX", "response schemas should be nested under a valid status code, e.g { 2xx: { type: \"object\" } }"),
		FST_ERR_HTTP2_INVALID_VERSION: createError("FST_ERR_HTTP2_INVALID_VERSION", "HTTP2 is available only from node >= 8.8.1"),
		FST_ERR_INIT_OPTS_INVALID: createError("FST_ERR_INIT_OPTS_INVALID", "Invalid initialization options: '%s'"),
		FST_ERR_FORCE_CLOSE_CONNECTIONS_IDLE_NOT_AVAILABLE: createError("FST_ERR_FORCE_CLOSE_CONNECTIONS_IDLE_NOT_AVAILABLE", "Cannot set forceCloseConnections to 'idle' as your HTTP server does not support closeIdleConnections method"),
		FST_ERR_DUPLICATED_ROUTE: createError("FST_ERR_DUPLICATED_ROUTE", "Method '%s' already declared for route '%s'"),
		FST_ERR_BAD_URL: createError("FST_ERR_BAD_URL", "'%s' is not a valid url component", 400, URIError),
		FST_ERR_ASYNC_CONSTRAINT: createError("FST_ERR_ASYNC_CONSTRAINT", "Unexpected error from async constraint", 500),
		FST_ERR_DEFAULT_ROUTE_INVALID_TYPE: createError("FST_ERR_DEFAULT_ROUTE_INVALID_TYPE", "The defaultRoute type should be a function", 500, TypeError),
		FST_ERR_INVALID_URL: createError("FST_ERR_INVALID_URL", "URL must be a string. Received '%s'", 400, TypeError),
		FST_ERR_ROUTE_OPTIONS_NOT_OBJ: createError("FST_ERR_ROUTE_OPTIONS_NOT_OBJ", "Options for \"%s:%s\" route must be an object", 500, TypeError),
		FST_ERR_ROUTE_DUPLICATED_HANDLER: createError("FST_ERR_ROUTE_DUPLICATED_HANDLER", "Duplicate handler for \"%s:%s\" route is not allowed!", 500),
		FST_ERR_ROUTE_HANDLER_NOT_FN: createError("FST_ERR_ROUTE_HANDLER_NOT_FN", "Error Handler for %s:%s route, if defined, must be a function", 500, TypeError),
		FST_ERR_ROUTE_MISSING_HANDLER: createError("FST_ERR_ROUTE_MISSING_HANDLER", "Missing handler function for \"%s:%s\" route.", 500),
		FST_ERR_ROUTE_METHOD_INVALID: createError("FST_ERR_ROUTE_METHOD_INVALID", "Provided method is invalid!", 500, TypeError),
		FST_ERR_ROUTE_METHOD_NOT_SUPPORTED: createError("FST_ERR_ROUTE_METHOD_NOT_SUPPORTED", "%s method is not supported.", 500),
		FST_ERR_ROUTE_BODY_VALIDATION_SCHEMA_NOT_SUPPORTED: createError("FST_ERR_ROUTE_BODY_VALIDATION_SCHEMA_NOT_SUPPORTED", "Body validation schema for %s:%s route is not supported!", 500),
		FST_ERR_ROUTE_BODY_LIMIT_OPTION_NOT_INT: createError("FST_ERR_ROUTE_BODY_LIMIT_OPTION_NOT_INT", "'bodyLimit' option must be an integer > 0. Got '%s'", 500, TypeError),
		FST_ERR_ROUTE_REWRITE_NOT_STR: createError("FST_ERR_ROUTE_REWRITE_NOT_STR", "Rewrite url for \"%s\" needs to be of type \"string\" but received \"%s\"", 500, TypeError),
		FST_ERR_REOPENED_CLOSE_SERVER: createError("FST_ERR_REOPENED_CLOSE_SERVER", "Fastify has already been closed and cannot be reopened"),
		FST_ERR_REOPENED_SERVER: createError("FST_ERR_REOPENED_SERVER", "Fastify is already listening"),
		FST_ERR_INSTANCE_ALREADY_LISTENING: createError("FST_ERR_INSTANCE_ALREADY_LISTENING", "Fastify instance is already listening. %s"),
		FST_ERR_PLUGIN_VERSION_MISMATCH: createError("FST_ERR_PLUGIN_VERSION_MISMATCH", "fastify-plugin: %s - expected '%s' fastify version, '%s' is installed"),
		FST_ERR_PLUGIN_NOT_PRESENT_IN_INSTANCE: createError("FST_ERR_PLUGIN_NOT_PRESENT_IN_INSTANCE", "The decorator '%s'%s is not present in %s"),
		FST_ERR_PLUGIN_CALLBACK_NOT_FN: createError("FST_ERR_PLUGIN_CALLBACK_NOT_FN", "fastify-plugin: %s", 500, TypeError),
		FST_ERR_PLUGIN_NOT_VALID: createError("FST_ERR_PLUGIN_NOT_VALID", "fastify-plugin: %s"),
		FST_ERR_ROOT_PLG_BOOTED: createError("FST_ERR_ROOT_PLG_BOOTED", "fastify-plugin: %s"),
		FST_ERR_PARENT_PLUGIN_BOOTED: createError("FST_ERR_PARENT_PLUGIN_BOOTED", "fastify-plugin: %s"),
		FST_ERR_PLUGIN_TIMEOUT: createError("FST_ERR_PLUGIN_TIMEOUT", "fastify-plugin: %s")
	};
	function appendStackTrace(oldErr, newErr) {
		newErr.cause = oldErr;
		return newErr;
	}
	module.exports = codes;
	module.exports.appendStackTrace = appendStackTrace;
	module.exports.AVVIO_ERRORS_MAP = {
		AVV_ERR_CALLBACK_NOT_FN: codes.FST_ERR_PLUGIN_CALLBACK_NOT_FN,
		AVV_ERR_PLUGIN_NOT_VALID: codes.FST_ERR_PLUGIN_NOT_VALID,
		AVV_ERR_ROOT_PLG_BOOTED: codes.FST_ERR_ROOT_PLG_BOOTED,
		AVV_ERR_PARENT_PLG_LOADED: codes.FST_ERR_PARENT_PLUGIN_BOOTED,
		AVV_ERR_READY_TIMEOUT: codes.FST_ERR_PLUGIN_TIMEOUT,
		AVV_ERR_PLUGIN_EXEC_TIMEOUT: codes.FST_ERR_PLUGIN_TIMEOUT
	};
}));

//#endregion
//#region ../node_modules/fastify/lib/hooks.js
var require_hooks = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const applicationHooks = [
		"onRoute",
		"onRegister",
		"onReady",
		"onListen",
		"preClose",
		"onClose"
	];
	const lifecycleHooks = [
		"onTimeout",
		"onRequest",
		"preParsing",
		"preValidation",
		"preSerialization",
		"preHandler",
		"onSend",
		"onResponse",
		"onError",
		"onRequestAbort"
	];
	const supportedHooks = lifecycleHooks.concat(applicationHooks);
	const { FST_ERR_HOOK_INVALID_TYPE, FST_ERR_HOOK_INVALID_HANDLER, FST_ERR_SEND_UNDEFINED_ERR, FST_ERR_HOOK_TIMEOUT, FST_ERR_HOOK_NOT_SUPPORTED, AVVIO_ERRORS_MAP, appendStackTrace } = require_errors$3();
	const { kChildren, kHooks, kRequestPayloadStream } = require_symbols$1();
	function Hooks() {
		this.onRequest = [];
		this.preParsing = [];
		this.preValidation = [];
		this.preSerialization = [];
		this.preHandler = [];
		this.onResponse = [];
		this.onSend = [];
		this.onError = [];
		this.onRoute = [];
		this.onRegister = [];
		this.onReady = [];
		this.onListen = [];
		this.onTimeout = [];
		this.onRequestAbort = [];
		this.preClose = [];
	}
	Hooks.prototype = Object.create(null);
	Hooks.prototype.validate = function(hook, fn) {
		if (typeof hook !== "string") throw new FST_ERR_HOOK_INVALID_TYPE();
		if (Array.isArray(this[hook]) === false) {
			throw new FST_ERR_HOOK_NOT_SUPPORTED(hook);
		}
		if (typeof fn !== "function") throw new FST_ERR_HOOK_INVALID_HANDLER(hook, Object.prototype.toString.call(fn));
	};
	Hooks.prototype.add = function(hook, fn) {
		this.validate(hook, fn);
		this[hook].push(fn);
	};
	function buildHooks(h) {
		const hooks = new Hooks();
		hooks.onRequest = h.onRequest.slice();
		hooks.preParsing = h.preParsing.slice();
		hooks.preValidation = h.preValidation.slice();
		hooks.preSerialization = h.preSerialization.slice();
		hooks.preHandler = h.preHandler.slice();
		hooks.onSend = h.onSend.slice();
		hooks.onResponse = h.onResponse.slice();
		hooks.onError = h.onError.slice();
		hooks.onRoute = h.onRoute.slice();
		hooks.onRegister = h.onRegister.slice();
		hooks.onTimeout = h.onTimeout.slice();
		hooks.onRequestAbort = h.onRequestAbort.slice();
		hooks.onReady = [];
		hooks.onListen = [];
		hooks.preClose = [];
		return hooks;
	}
	function hookRunnerApplication(hookName, boot, server, cb) {
		const hooks = server[kHooks][hookName];
		let i = 0;
		let c = 0;
		next();
		function exit(err) {
			if (err) {
				if (err.code === "AVV_ERR_READY_TIMEOUT") {
					err = appendStackTrace(err, new FST_ERR_HOOK_TIMEOUT(hookName));
				} else {
					err = AVVIO_ERRORS_MAP[err.code] != null ? appendStackTrace(err, new AVVIO_ERRORS_MAP[err.code](err.message)) : err;
				}
				cb(err);
				return;
			}
			cb();
		}
		function next(err) {
			if (err) {
				exit(err);
				return;
			}
			if (i === hooks.length && c === server[kChildren].length) {
				if (i === 0 && c === 0) {
					exit();
				} else {
					boot(function manageTimeout(err, done) {
						exit(err);
						done(err);
					});
				}
				return;
			}
			if (i === hooks.length && c < server[kChildren].length) {
				const child = server[kChildren][c++];
				hookRunnerApplication(hookName, boot, child, next);
				return;
			}
			boot(wrap(hooks[i++], server));
			next();
		}
		function wrap(fn, server) {
			return function(err, done) {
				if (err) {
					done(err);
					return;
				}
				if (fn.length === 1) {
					try {
						fn.call(server, done);
					} catch (error) {
						done(error);
					}
					return;
				}
				try {
					const ret = fn.call(server);
					if (ret && typeof ret.then === "function") {
						ret.then(done, done);
						return;
					}
				} catch (error) {
					err = error;
				}
				done(err);
			};
		}
	}
	function onListenHookRunner(server) {
		const hooks = server[kHooks].onListen;
		const hooksLen = hooks.length;
		let i = 0;
		let c = 0;
		next();
		function next(err) {
			err && server.log.error(err);
			if (i === hooksLen) {
				while (c < server[kChildren].length) {
					const child = server[kChildren][c++];
					onListenHookRunner(child);
				}
				return;
			}
			wrap(hooks[i++], server, next);
		}
		async function wrap(fn, server, done) {
			if (fn.length === 1) {
				try {
					fn.call(server, done);
				} catch (e) {
					done(e);
				}
				return;
			}
			try {
				const ret = fn.call(server);
				if (ret && typeof ret.then === "function") {
					ret.then(done, done);
					return;
				}
				done();
			} catch (error) {
				done(error);
			}
		}
	}
	function hookRunnerGenerator(iterator) {
		return function hookRunner(functions, request, reply, cb) {
			let i = 0;
			function next(err) {
				if (err || i === functions.length) {
					cb(err, request, reply);
					return;
				}
				let result;
				try {
					result = iterator(functions[i++], request, reply, next);
				} catch (error) {
					cb(error, request, reply);
					return;
				}
				if (result && typeof result.then === "function") {
					result.then(handleResolve, handleReject);
				}
			}
			function handleResolve() {
				next();
			}
			function handleReject(err) {
				if (!err) {
					err = new FST_ERR_SEND_UNDEFINED_ERR();
				}
				cb(err, request, reply);
			}
			next();
		};
	}
	function onResponseHookIterator(fn, request, reply, next) {
		return fn(request, reply, next);
	}
	const onResponseHookRunner = hookRunnerGenerator(onResponseHookIterator);
	const preValidationHookRunner = hookRunnerGenerator(hookIterator);
	const preHandlerHookRunner = hookRunnerGenerator(hookIterator);
	const onTimeoutHookRunner = hookRunnerGenerator(hookIterator);
	const onRequestHookRunner = hookRunnerGenerator(hookIterator);
	function onSendHookRunner(functions, request, reply, payload, cb) {
		let i = 0;
		function next(err, newPayload) {
			if (err) {
				cb(err, request, reply, payload);
				return;
			}
			if (newPayload !== undefined) {
				payload = newPayload;
			}
			if (i === functions.length) {
				cb(null, request, reply, payload);
				return;
			}
			let result;
			try {
				result = functions[i++](request, reply, payload, next);
			} catch (error) {
				cb(error, request, reply);
				return;
			}
			if (result && typeof result.then === "function") {
				result.then(handleResolve, handleReject);
			}
		}
		function handleResolve(newPayload) {
			next(null, newPayload);
		}
		function handleReject(err) {
			if (!err) {
				err = new FST_ERR_SEND_UNDEFINED_ERR();
			}
			cb(err, request, reply, payload);
		}
		next();
	}
	const preSerializationHookRunner = onSendHookRunner;
	function preParsingHookRunner(functions, request, reply, cb) {
		let i = 0;
		function next(err, newPayload) {
			if (reply.sent) {
				return;
			}
			if (newPayload !== undefined) {
				request[kRequestPayloadStream] = newPayload;
			}
			if (err || i === functions.length) {
				cb(err, request, reply);
				return;
			}
			let result;
			try {
				result = functions[i++](request, reply, request[kRequestPayloadStream], next);
			} catch (error) {
				cb(error, request, reply);
				return;
			}
			if (result && typeof result.then === "function") {
				result.then(handleResolve, handleReject);
			}
		}
		function handleResolve(newPayload) {
			next(null, newPayload);
		}
		function handleReject(err) {
			if (!err) {
				err = new FST_ERR_SEND_UNDEFINED_ERR();
			}
			cb(err, request, reply);
		}
		next();
	}
	function onRequestAbortHookRunner(functions, request, cb) {
		let i = 0;
		function next(err) {
			if (err || i === functions.length) {
				cb(err, request);
				return;
			}
			let result;
			try {
				result = functions[i++](request, next);
			} catch (error) {
				cb(error, request);
				return;
			}
			if (result && typeof result.then === "function") {
				result.then(handleResolve, handleReject);
			}
		}
		function handleResolve() {
			next();
		}
		function handleReject(err) {
			if (!err) {
				err = new FST_ERR_SEND_UNDEFINED_ERR();
			}
			cb(err, request);
		}
		next();
	}
	function hookIterator(fn, request, reply, next) {
		if (reply.sent === true) return undefined;
		return fn(request, reply, next);
	}
	module.exports = {
		Hooks,
		buildHooks,
		hookRunnerGenerator,
		preParsingHookRunner,
		onResponseHookRunner,
		onSendHookRunner,
		preSerializationHookRunner,
		onRequestAbortHookRunner,
		hookIterator,
		hookRunnerApplication,
		onListenHookRunner,
		preHandlerHookRunner,
		preValidationHookRunner,
		onRequestHookRunner,
		onTimeoutHookRunner,
		lifecycleHooks,
		supportedHooks
	};
}));

//#endregion
//#region ../node_modules/fastify/lib/server.js
var require_server = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const http$6 = __require("node:http");
	const https$2 = __require("node:https");
	const dns = __require("node:dns");
	const { FSTDEP011 } = require_warnings();
	const { kState, kOptions, kServerBindings } = require_symbols$1();
	const { onListenHookRunner } = require_hooks();
	const { FST_ERR_HTTP2_INVALID_VERSION, FST_ERR_REOPENED_CLOSE_SERVER, FST_ERR_REOPENED_SERVER, FST_ERR_LISTEN_OPTIONS_INVALID } = require_errors$3();
	module.exports.createServer = createServer;
	module.exports.compileValidateHTTPVersion = compileValidateHTTPVersion;
	function defaultResolveServerListeningText(address) {
		return `Server listening at ${address}`;
	}
	function createServer(options, httpHandler) {
		const server = getServerInstance(options, httpHandler);
		function listen(listenOptions, ...args) {
			let cb = args.slice(-1).pop();
			const firstArgType = Object.prototype.toString.call(arguments[0]);
			if (arguments.length === 0) {
				listenOptions = normalizeListenArgs([]);
			} else if (arguments.length > 0 && firstArgType !== "[object Object]" && firstArgType !== "[object Function]") {
				FSTDEP011();
				listenOptions = normalizeListenArgs(Array.from(arguments));
				cb = listenOptions.cb;
			} else if (args.length > 1) {
				FSTDEP011();
				const hostPath = listenOptions.path ? [listenOptions.path] : [listenOptions.port ?? 0, listenOptions.host ?? "localhost"];
				Object.assign(listenOptions, normalizeListenArgs([...hostPath, ...args]));
			} else {
				listenOptions.cb = cb;
			}
			if (listenOptions.signal) {
				if (typeof listenOptions.signal.on !== "function" && typeof listenOptions.signal.addEventListener !== "function") {
					throw new FST_ERR_LISTEN_OPTIONS_INVALID("Invalid options.signal");
				}
				if (listenOptions.signal.aborted) {
					this.close();
				} else {
					const onAborted = () => {
						this.close();
					};
					listenOptions.signal.addEventListener("abort", onAborted, { once: true });
				}
			}
			let host;
			if (listenOptions.path == null) {
				host = listenOptions.host ?? "localhost";
			} else {
				host = listenOptions.host;
			}
			if (Object.prototype.hasOwnProperty.call(listenOptions, "host") === false || listenOptions.host == null) {
				listenOptions.host = host;
			}
			if (host === "localhost") {
				listenOptions.cb = (err, address) => {
					if (err) {
						cb(err, address);
						return;
					}
					multipleBindings.call(this, server, httpHandler, options, listenOptions, () => {
						this[kState].listening = true;
						cb(null, address);
						onListenHookRunner(this);
					});
				};
			} else {
				listenOptions.cb = (err, address) => {
					if (err) {
						cb(err, address);
						return;
					}
					this[kState].listening = true;
					cb(null, address);
					onListenHookRunner(this);
				};
			}
			if (cb === undefined) {
				const listening = listenPromise.call(this, server, listenOptions);
				/* istanbul ignore else */
				return listening.then((address) => {
					return new Promise((resolve, reject) => {
						if (host === "localhost") {
							multipleBindings.call(this, server, httpHandler, options, listenOptions, () => {
								this[kState].listening = true;
								resolve(address);
								onListenHookRunner(this);
							});
						} else {
							resolve(address);
							onListenHookRunner(this);
						}
					});
				});
			}
			this.ready(listenCallback.call(this, server, listenOptions));
		}
		return {
			server,
			listen
		};
	}
	function multipleBindings(mainServer, httpHandler, serverOpts, listenOptions, onListen) {
		this[kState].listening = false;
		dns.lookup(listenOptions.host, { all: true }, (dnsErr, addresses) => {
			if (dnsErr) {
				onListen();
				return;
			}
			const isMainServerListening = mainServer.listening && serverOpts.serverFactory;
			let binding = 0;
			let bound = 0;
			if (!isMainServerListening) {
				const primaryAddress = mainServer.address();
				for (const adr of addresses) {
					if (adr.address !== primaryAddress.address) {
						binding++;
						const secondaryOpts = Object.assign({}, listenOptions, {
							host: adr.address,
							port: primaryAddress.port,
							cb: (_ignoreErr) => {
								bound++;
								/* istanbul ignore next: the else won't be taken unless listening fails */
								if (!_ignoreErr) {
									this[kServerBindings].push(secondaryServer);
								}
								if (bound === binding) {
									onListen();
								}
							}
						});
						const secondaryServer = getServerInstance(serverOpts, httpHandler);
						const closeSecondary = () => {
							secondaryServer.close(() => {});
							if (serverOpts.forceCloseConnections === "idle") {
								secondaryServer.closeIdleConnections();
							} else if (typeof secondaryServer.closeAllConnections === "function" && serverOpts.forceCloseConnections) {
								secondaryServer.closeAllConnections();
							}
						};
						secondaryServer.on("upgrade", mainServer.emit.bind(mainServer, "upgrade"));
						mainServer.on("unref", closeSecondary);
						mainServer.on("close", closeSecondary);
						mainServer.on("error", closeSecondary);
						this[kState].listening = false;
						listenCallback.call(this, secondaryServer, secondaryOpts)();
					}
				}
			}
			if (binding === 0) {
				onListen();
				return;
			}
			const originUnref = mainServer.unref;
			/* c8 ignore next 4 */
			mainServer.unref = function() {
				originUnref.call(mainServer);
				mainServer.emit("unref");
			};
		});
	}
	function listenCallback(server, listenOptions) {
		const wrap = (err) => {
			server.removeListener("error", wrap);
			server.removeListener("listening", wrap);
			if (!err) {
				const address = logServerAddress.call(this, server, listenOptions.listenTextResolver || defaultResolveServerListeningText);
				listenOptions.cb(null, address);
			} else {
				this[kState].listening = false;
				listenOptions.cb(err, null);
			}
		};
		return (err) => {
			if (err != null) return listenOptions.cb(err);
			if (this[kState].listening && this[kState].closing) {
				return listenOptions.cb(new FST_ERR_REOPENED_CLOSE_SERVER(), null);
			} else if (this[kState].listening) {
				return listenOptions.cb(new FST_ERR_REOPENED_SERVER(), null);
			}
			server.once("error", wrap);
			if (!this[kState].closing) {
				server.once("listening", wrap);
				server.listen(listenOptions);
				this[kState].listening = true;
			}
		};
	}
	function listenPromise(server, listenOptions) {
		if (this[kState].listening && this[kState].closing) {
			return Promise.reject(new FST_ERR_REOPENED_CLOSE_SERVER());
		} else if (this[kState].listening) {
			return Promise.reject(new FST_ERR_REOPENED_SERVER());
		}
		return this.ready().then(() => {
			let errEventHandler;
			let listeningEventHandler;
			function cleanup() {
				server.removeListener("error", errEventHandler);
				server.removeListener("listening", listeningEventHandler);
			}
			const errEvent = new Promise((resolve, reject) => {
				errEventHandler = (err) => {
					cleanup();
					this[kState].listening = false;
					reject(err);
				};
				server.once("error", errEventHandler);
			});
			const listeningEvent = new Promise((resolve, reject) => {
				listeningEventHandler = () => {
					cleanup();
					this[kState].listening = true;
					resolve(logServerAddress.call(this, server, listenOptions.listenTextResolver || defaultResolveServerListeningText));
				};
				server.once("listening", listeningEventHandler);
			});
			server.listen(listenOptions);
			return Promise.race([errEvent, listeningEvent]);
		});
	}
	/**
	* Creates a function that, based upon initial configuration, will
	* verify that every incoming request conforms to allowed
	* HTTP versions for the Fastify instance, e.g. a Fastify HTTP/1.1
	* server will not serve HTTP/2 requests upon the result of the
	* verification function.
	*
	* @param {object} options fastify option
	* @param {function} [options.serverFactory] If present, the
	* validator function will skip all checks.
	* @param {boolean} [options.http2 = false] If true, the validator
	* function will allow HTTP/2 requests.
	* @param {object} [options.https = null] https server options
	* @param {boolean} [options.https.allowHTTP1] If true and use
	* with options.http2 the validator function will allow HTTP/1
	* request to http2 server.
	*
	* @returns {function} HTTP version validator function.
	*/
	function compileValidateHTTPVersion(options) {
		let bypass = false;
		const map = new Map();
		if (options.serverFactory) {
			bypass = true;
		}
		if (options.http2) {
			map.set("2.0", true);
			if (options.https && options.https.allowHTTP1 === true) {
				map.set("1.1", true);
				map.set("1.0", true);
			}
		} else {
			map.set("1.1", true);
			map.set("1.0", true);
		}
		return function validateHTTPVersion(httpVersion) {
			return bypass || map.has(httpVersion);
		};
	}
	function getServerInstance(options, httpHandler) {
		let server = null;
		const httpsOptions = options.https === true ? {} : options.https;
		if (options.serverFactory) {
			server = options.serverFactory(httpHandler, options);
		} else if (options.http2) {
			if (typeof httpsOptions === "object") {
				server = http2().createSecureServer(httpsOptions, httpHandler);
			} else {
				server = http2().createServer(httpHandler);
			}
			server.on("session", sessionTimeout(options.http2SessionTimeout));
		} else {
			if (httpsOptions) {
				server = https$2.createServer(httpsOptions, httpHandler);
			} else {
				server = http$6.createServer(options.http, httpHandler);
			}
			server.keepAliveTimeout = options.keepAliveTimeout;
			server.requestTimeout = options.requestTimeout;
			if (options.maxRequestsPerSocket > 0) {
				server.maxRequestsPerSocket = options.maxRequestsPerSocket;
			}
		}
		if (!options.serverFactory) {
			server.setTimeout(options.connectionTimeout);
		}
		return server;
	}
	function normalizeListenArgs(args) {
		if (args.length === 0) {
			return {
				port: 0,
				host: "localhost"
			};
		}
		const cb = typeof args[args.length - 1] === "function" ? args.pop() : undefined;
		const options = { cb };
		const firstArg = args[0];
		const argsLength = args.length;
		const lastArg = args[argsLength - 1];
		if (typeof firstArg === "string" && isNaN(firstArg)) {
			options.path = firstArg;
			options.backlog = argsLength > 1 ? lastArg : undefined;
		} else {
			options.port = argsLength >= 1 && Number.isInteger(firstArg) ? firstArg : normalizePort(firstArg);
			options.host = argsLength >= 2 && args[1] ? args[1] : "localhost";
			options.backlog = argsLength >= 3 ? args[2] : undefined;
		}
		return options;
	}
	function normalizePort(firstArg) {
		const port = Number(firstArg);
		return port >= 0 && !Number.isNaN(port) && Number.isInteger(port) ? port : 0;
	}
	function logServerAddress(server, listenTextResolver) {
		let address = server.address();
		const isUnixSocket = typeof address === "string";
		/* istanbul ignore next */
		if (!isUnixSocket) {
			if (address.address.indexOf(":") === -1) {
				address = address.address + ":" + address.port;
			} else {
				address = "[" + address.address + "]:" + address.port;
			}
		}
		/* istanbul ignore next */
		address = (isUnixSocket ? "" : "http" + (this[kOptions].https ? "s" : "") + "://") + address;
		const serverListeningText = listenTextResolver(address);
		this.log.info(serverListeningText);
		return address;
	}
	function http2() {
		try {
			return __require("node:http2");
		} catch (err) {
			throw new FST_ERR_HTTP2_INVALID_VERSION();
		}
	}
	function sessionTimeout(timeout) {
		return function(session) {
			session.setTimeout(timeout, close);
		};
	}
	function close() {
		this.close();
	}
}));

//#endregion
//#region ../node_modules/fastify/lib/validation.js
var require_validation$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { kSchemaHeaders: headersSchema, kSchemaParams: paramsSchema, kSchemaQuerystring: querystringSchema, kSchemaBody: bodySchema, kSchemaResponse: responseSchema } = require_symbols$1();
	const scChecker = /^[1-5]{1}[0-9]{2}$|^[1-5]xx$|^default$/;
	const { FST_ERR_SCH_RESPONSE_SCHEMA_NOT_NESTED_2XX } = require_errors$3();
	const { FSTWRN001 } = require_warnings();
	function compileSchemasForSerialization(context, compile) {
		if (!context.schema || !context.schema.response) {
			return;
		}
		const { method, url } = context.config || {};
		context[responseSchema] = Object.keys(context.schema.response).reduce(function(acc, statusCode) {
			const schema = context.schema.response[statusCode];
			statusCode = statusCode.toLowerCase();
			if (!scChecker.exec(statusCode)) {
				throw new FST_ERR_SCH_RESPONSE_SCHEMA_NOT_NESTED_2XX();
			}
			if (schema.content) {
				const contentTypesSchemas = {};
				for (const mediaName of Object.keys(schema.content)) {
					const contentSchema = schema.content[mediaName].schema;
					contentTypesSchemas[mediaName] = compile({
						schema: contentSchema,
						url,
						method,
						httpStatus: statusCode,
						contentType: mediaName
					});
				}
				acc[statusCode] = contentTypesSchemas;
			} else {
				acc[statusCode] = compile({
					schema,
					url,
					method,
					httpStatus: statusCode
				});
			}
			return acc;
		}, {});
	}
	function compileSchemasForValidation(context, compile, isCustom) {
		const { schema } = context;
		if (!schema) {
			return;
		}
		const { method, url } = context.config || {};
		const headers = schema.headers;
		if (headers && (isCustom || Object.getPrototypeOf(headers) !== Object.prototype)) {
			context[headersSchema] = compile({
				schema: headers,
				method,
				url,
				httpPart: "headers"
			});
		} else if (headers) {
			const headersSchemaLowerCase = {};
			Object.keys(headers).forEach((k) => {
				headersSchemaLowerCase[k] = headers[k];
			});
			if (headersSchemaLowerCase.required instanceof Array) {
				headersSchemaLowerCase.required = headersSchemaLowerCase.required.map((h) => h.toLowerCase());
			}
			if (headers.properties) {
				headersSchemaLowerCase.properties = {};
				Object.keys(headers.properties).forEach((k) => {
					headersSchemaLowerCase.properties[k.toLowerCase()] = headers.properties[k];
				});
			}
			context[headersSchema] = compile({
				schema: headersSchemaLowerCase,
				method,
				url,
				httpPart: "headers"
			});
		} else if (Object.prototype.hasOwnProperty.call(schema, "headers")) {
			FSTWRN001("headers", method, url);
		}
		if (schema.body) {
			const contentProperty = schema.body.content;
			if (contentProperty) {
				const contentTypeSchemas = {};
				for (const contentType of Object.keys(contentProperty)) {
					const contentSchema = contentProperty[contentType].schema;
					contentTypeSchemas[contentType] = compile({
						schema: contentSchema,
						method,
						url,
						httpPart: "body",
						contentType
					});
				}
				context[bodySchema] = contentTypeSchemas;
			} else {
				context[bodySchema] = compile({
					schema: schema.body,
					method,
					url,
					httpPart: "body"
				});
			}
		} else if (Object.prototype.hasOwnProperty.call(schema, "body")) {
			FSTWRN001("body", method, url);
		}
		if (schema.querystring) {
			context[querystringSchema] = compile({
				schema: schema.querystring,
				method,
				url,
				httpPart: "querystring"
			});
		} else if (Object.prototype.hasOwnProperty.call(schema, "querystring")) {
			FSTWRN001("querystring", method, url);
		}
		if (schema.params) {
			context[paramsSchema] = compile({
				schema: schema.params,
				method,
				url,
				httpPart: "params"
			});
		} else if (Object.prototype.hasOwnProperty.call(schema, "params")) {
			FSTWRN001("params", method, url);
		}
	}
	function validateParam(validatorFunction, request, paramName) {
		const isUndefined = request[paramName] === undefined;
		const ret = validatorFunction && validatorFunction(isUndefined ? null : request[paramName]);
		if (ret?.then) {
			return ret.then((res) => {
				return answer(res);
			}).catch((err) => {
				return err;
			});
		}
		return answer(ret);
		function answer(ret) {
			if (ret === false) return validatorFunction.errors;
			if (ret && ret.error) return ret.error;
			if (ret && ret.value) request[paramName] = ret.value;
			return false;
		}
	}
	function validate(context, request, execution) {
		const runExecution = execution === undefined;
		if (runExecution || !execution.skipParams) {
			const params = validateParam(context[paramsSchema], request, "params");
			if (params) {
				if (typeof params.then !== "function") {
					return wrapValidationError(params, "params", context.schemaErrorFormatter);
				} else {
					return validateAsyncParams(params, context, request);
				}
			}
		}
		if (runExecution || !execution.skipBody) {
			let validatorFunction = null;
			if (typeof context[bodySchema] === "function") {
				validatorFunction = context[bodySchema];
			} else if (context[bodySchema]) {
				const contentType = getEssenceMediaType(request.headers["content-type"]);
				const contentSchema = context[bodySchema][contentType];
				if (contentSchema) {
					validatorFunction = contentSchema;
				}
			}
			const body = validateParam(validatorFunction, request, "body");
			if (body) {
				if (typeof body.then !== "function") {
					return wrapValidationError(body, "body", context.schemaErrorFormatter);
				} else {
					return validateAsyncBody(body, context, request);
				}
			}
		}
		if (runExecution || !execution.skipQuery) {
			const query = validateParam(context[querystringSchema], request, "query");
			if (query) {
				if (typeof query.then !== "function") {
					return wrapValidationError(query, "querystring", context.schemaErrorFormatter);
				} else {
					return validateAsyncQuery(query, context, request);
				}
			}
		}
		const headers = validateParam(context[headersSchema], request, "headers");
		if (headers) {
			if (typeof headers.then !== "function") {
				return wrapValidationError(headers, "headers", context.schemaErrorFormatter);
			} else {
				return validateAsyncHeaders(headers, context, request);
			}
		}
		return false;
	}
	function validateAsyncParams(validatePromise, context, request) {
		return validatePromise.then((paramsResult) => {
			if (paramsResult) {
				return wrapValidationError(paramsResult, "params", context.schemaErrorFormatter);
			}
			return validate(context, request, { skipParams: true });
		});
	}
	function validateAsyncBody(validatePromise, context, request) {
		return validatePromise.then((bodyResult) => {
			if (bodyResult) {
				return wrapValidationError(bodyResult, "body", context.schemaErrorFormatter);
			}
			return validate(context, request, {
				skipParams: true,
				skipBody: true
			});
		});
	}
	function validateAsyncQuery(validatePromise, context, request) {
		return validatePromise.then((queryResult) => {
			if (queryResult) {
				return wrapValidationError(queryResult, "querystring", context.schemaErrorFormatter);
			}
			return validate(context, request, {
				skipParams: true,
				skipBody: true,
				skipQuery: true
			});
		});
	}
	function validateAsyncHeaders(validatePromise, context, request) {
		return validatePromise.then((headersResult) => {
			if (headersResult) {
				return wrapValidationError(headersResult, "headers", context.schemaErrorFormatter);
			}
			return false;
		});
	}
	function wrapValidationError(result, dataVar, schemaErrorFormatter) {
		if (result instanceof Error) {
			result.statusCode = result.statusCode || 400;
			result.code = result.code || "FST_ERR_VALIDATION";
			result.validationContext = result.validationContext || dataVar;
			return result;
		}
		const error = schemaErrorFormatter(result, dataVar);
		error.statusCode = error.statusCode || 400;
		error.code = error.code || "FST_ERR_VALIDATION";
		error.validation = result;
		error.validationContext = dataVar;
		return error;
	}
	/**
	* simple function to retrieve the essence media type
	* @param {string} header
	* @returns {string} Mimetype string.
	*/
	function getEssenceMediaType(header) {
		if (!header) return "";
		return header.split(/[ ;]/, 1)[0].trim().toLowerCase();
	}
	module.exports = {
		symbols: {
			bodySchema,
			querystringSchema,
			responseSchema,
			paramsSchema,
			headersSchema
		},
		compileSchemasForValidation,
		compileSchemasForSerialization,
		validate
	};
}));

//#endregion
//#region ../node_modules/fastify/lib/wrapThenable.js
var require_wrapThenable = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { kReplyIsError, kReplyHijacked } = require_symbols$1();
	function wrapThenable(thenable, reply) {
		thenable.then(function(payload) {
			if (reply[kReplyHijacked] === true) {
				return;
			}
			if (payload !== undefined || reply.sent === false && reply.raw.headersSent === false && reply.request.raw.aborted === false) {
				try {
					reply.send(payload);
				} catch (err) {
					reply[kReplyIsError] = true;
					reply.send(err);
				}
			}
		}, function(err) {
			if (reply.sent === true) {
				reply.log.error({ err }, "Promise errored, but reply.sent = true was set");
				return;
			}
			reply[kReplyIsError] = true;
			try {
				reply.send(err);
			} catch (err) {
				reply.send(err);
			}
		});
	}
	module.exports = wrapThenable;
}));

//#endregion
//#region ../node_modules/fastify/lib/handleRequest.js
var require_handleRequest = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { validate: validateSchema } = require_validation$1();
	const { preValidationHookRunner, preHandlerHookRunner } = require_hooks();
	const wrapThenable = require_wrapThenable();
	const { kReplyIsError, kRouteContext } = require_symbols$1();
	function handleRequest(err, request, reply) {
		if (reply.sent === true) return;
		if (err != null) {
			reply[kReplyIsError] = true;
			reply.send(err);
			return;
		}
		const method = request.raw.method;
		const headers = request.headers;
		const context = request[kRouteContext];
		if (method === "GET" || method === "HEAD") {
			handler(request, reply);
			return;
		}
		const contentType = headers["content-type"];
		if (method === "POST" || method === "PUT" || method === "PATCH" || method === "TRACE" || method === "SEARCH" || method === "PROPFIND" || method === "PROPPATCH" || method === "LOCK" || method === "COPY" || method === "MOVE" || method === "MKCOL" || method === "REPORT" || method === "MKCALENDAR") {
			if (contentType === undefined) {
				if (headers["transfer-encoding"] === undefined && (headers["content-length"] === "0" || headers["content-length"] === undefined)) {
					handler(request, reply);
				} else {
					context.contentTypeParser.run("", handler, request, reply);
				}
			} else {
				context.contentTypeParser.run(contentType, handler, request, reply);
			}
			return;
		}
		if (method === "OPTIONS" || method === "DELETE") {
			if (contentType !== undefined && (headers["transfer-encoding"] !== undefined || headers["content-length"] !== undefined)) {
				context.contentTypeParser.run(contentType, handler, request, reply);
			} else {
				handler(request, reply);
			}
			return;
		}
		handler(request, reply);
	}
	function handler(request, reply) {
		try {
			if (request[kRouteContext].preValidation !== null) {
				preValidationHookRunner(request[kRouteContext].preValidation, request, reply, preValidationCallback);
			} else {
				preValidationCallback(null, request, reply);
			}
		} catch (err) {
			preValidationCallback(err, request, reply);
		}
	}
	function preValidationCallback(err, request, reply) {
		if (reply.sent === true) return;
		if (err != null) {
			reply[kReplyIsError] = true;
			reply.send(err);
			return;
		}
		const validationErr = validateSchema(reply[kRouteContext], request);
		const isAsync = validationErr && typeof validationErr.then === "function" || false;
		if (isAsync) {
			const cb = validationCompleted.bind(null, request, reply);
			validationErr.then(cb, cb);
		} else {
			validationCompleted(request, reply, validationErr);
		}
	}
	function validationCompleted(request, reply, validationErr) {
		if (validationErr) {
			if (reply[kRouteContext].attachValidation === false) {
				reply.send(validationErr);
				return;
			}
			reply.request.validationError = validationErr;
		}
		if (request[kRouteContext].preHandler !== null) {
			preHandlerHookRunner(request[kRouteContext].preHandler, request, reply, preHandlerCallback);
		} else {
			preHandlerCallback(null, request, reply);
		}
	}
	function preHandlerCallback(err, request, reply) {
		if (reply.sent) return;
		if (err != null) {
			reply[kReplyIsError] = true;
			reply.send(err);
			return;
		}
		let result;
		try {
			result = request[kRouteContext].handler(request, reply);
		} catch (err) {
			reply[kReplyIsError] = true;
			reply.send(err);
			return;
		}
		if (result !== undefined) {
			if (result !== null && typeof result.then === "function") {
				wrapThenable(result, reply);
			} else {
				reply.send(result);
			}
		}
	}
	module.exports = handleRequest;
	module.exports[Symbol.for("internals")] = {
		handler,
		preHandlerCallback
	};
}));

//#endregion
//#region ../node_modules/abstract-logging/index.js
var require_abstract_logging = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	function noop() {}
	const proto = {
		fatal: noop,
		error: noop,
		warn: noop,
		info: noop,
		debug: noop,
		trace: noop
	};
	Object.defineProperty(module, "exports", { get() {
		return Object.create(proto);
	} });
}));

//#endregion
//#region ../node_modules/fastify/lib/logger.js
var require_logger = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Code imported from `pino-http`
	* Repo: https://github.com/pinojs/pino-http
	* License: MIT (https://raw.githubusercontent.com/pinojs/pino-http/master/LICENSE)
	*/
	const nullLogger = require_abstract_logging();
	const pino = require_pino();
	const { serializersSym } = pino.symbols;
	const { FST_ERR_LOG_INVALID_DESTINATION, FST_ERR_LOG_INVALID_LOGGER } = require_errors$3();
	function createPinoLogger(opts) {
		if (opts.stream && opts.file) {
			throw new FST_ERR_LOG_INVALID_DESTINATION();
		} else if (opts.file) {
			opts.stream = pino.destination(opts.file);
			delete opts.file;
		}
		const prevLogger = opts.logger;
		const prevGenReqId = opts.genReqId;
		let logger = null;
		if (prevLogger) {
			opts.logger = undefined;
			opts.genReqId = undefined;
			if (prevLogger[serializersSym]) {
				opts.serializers = Object.assign({}, opts.serializers, prevLogger[serializersSym]);
			}
			logger = prevLogger.child({}, opts);
			opts.logger = prevLogger;
			opts.genReqId = prevGenReqId;
		} else {
			logger = pino(opts, opts.stream);
		}
		return logger;
	}
	const serializers = {
		req: function asReqValue(req) {
			return {
				method: req.method,
				url: req.url,
				version: req.headers && req.headers["accept-version"],
				hostname: req.hostname,
				remoteAddress: req.ip,
				remotePort: req.socket ? req.socket.remotePort : undefined
			};
		},
		err: pino.stdSerializers.err,
		res: function asResValue(reply) {
			return { statusCode: reply.statusCode };
		}
	};
	function now() {
		const ts = process.hrtime();
		return ts[0] * 1e3 + ts[1] / 1e6;
	}
	function createLogger(options) {
		if (!options.logger) {
			const logger = nullLogger;
			logger.child = () => logger;
			return {
				logger,
				hasLogger: false
			};
		}
		if (validateLogger(options.logger)) {
			const logger = createPinoLogger({
				logger: options.logger,
				serializers: Object.assign({}, serializers, options.logger.serializers)
			});
			return {
				logger,
				hasLogger: true
			};
		}
		const localLoggerOptions = {};
		if (Object.prototype.toString.call(options.logger) === "[object Object]") {
			Reflect.ownKeys(options.logger).forEach((prop) => {
				Object.defineProperty(localLoggerOptions, prop, {
					value: options.logger[prop],
					writable: true,
					enumerable: true,
					configurable: true
				});
			});
		}
		localLoggerOptions.level = localLoggerOptions.level || "info";
		localLoggerOptions.serializers = Object.assign({}, serializers, localLoggerOptions.serializers);
		options.logger = localLoggerOptions;
		const logger = createPinoLogger(options.logger);
		return {
			logger,
			hasLogger: true
		};
	}
	/**
	* Determines if a provided logger object meets the requirements
	* of a Fastify compatible logger.
	*
	* @param {object} logger Object to validate.
	* @param {boolean?} strict `true` if the object must be a logger (always throw if any methods missing)
	*
	* @returns {boolean} `true` when the logger meets the requirements.
	*
	* @throws {FST_ERR_LOG_INVALID_LOGGER} When the logger object is
	* missing required methods.
	*/
	function validateLogger(logger, strict) {
		const methods = [
			"info",
			"error",
			"debug",
			"fatal",
			"warn",
			"trace",
			"child"
		];
		const missingMethods = logger ? methods.filter((method) => !logger[method] || typeof logger[method] !== "function") : methods;
		if (!missingMethods.length) {
			return true;
		} else if (missingMethods.length === methods.length && !strict) {
			return false;
		} else {
			throw FST_ERR_LOG_INVALID_LOGGER(missingMethods.join(","));
		}
	}
	/**
	* Utility for creating a child logger with the appropriate bindings, logger factory
	* and validation.
	* @param {object} context
	* @param {import('../fastify').FastifyBaseLogger} logger
	* @param {import('../fastify').RawRequestDefaultExpression<any>} req
	* @param {string} reqId
	* @param {import('../types/logger.js').ChildLoggerOptions?} loggerOpts
	*/
	function createChildLogger(context, logger, req, reqId, loggerOpts) {
		const loggerBindings = { [context.requestIdLogLabel]: reqId };
		const child = context.childLoggerFactory.call(context.server, logger, loggerBindings, loggerOpts || {}, req);
		if (context.childLoggerFactory !== defaultChildLoggerFactory) {
			validateLogger(child, true);
		}
		return child;
	}
	/**
	* @param {import('../fastify.js').FastifyBaseLogger} logger
	* @param {import('../types/logger.js').Bindings} bindings
	* @param {import('../types/logger.js').ChildLoggerOptions} opts
	*/
	function defaultChildLoggerFactory(logger, bindings, opts) {
		return logger.child(bindings, opts);
	}
	module.exports = {
		createLogger,
		createChildLogger,
		defaultChildLoggerFactory,
		serializers,
		now
	};
}));

//#endregion
//#region ../node_modules/rfdc/index.js
var require_rfdc = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = rfdc;
	function copyBuffer(cur) {
		if (cur instanceof Buffer) {
			return Buffer.from(cur);
		}
		return new cur.constructor(cur.buffer.slice(), cur.byteOffset, cur.length);
	}
	function rfdc(opts) {
		opts = opts || {};
		if (opts.circles) return rfdcCircles(opts);
		const constructorHandlers = new Map();
		constructorHandlers.set(Date, (o) => new Date(o));
		constructorHandlers.set(Map, (o, fn) => new Map(cloneArray(Array.from(o), fn)));
		constructorHandlers.set(Set, (o, fn) => new Set(cloneArray(Array.from(o), fn)));
		if (opts.constructorHandlers) {
			for (const handler of opts.constructorHandlers) {
				constructorHandlers.set(handler[0], handler[1]);
			}
		}
		let handler = null;
		return opts.proto ? cloneProto : clone;
		function cloneArray(a, fn) {
			const keys = Object.keys(a);
			const a2 = new Array(keys.length);
			for (let i = 0; i < keys.length; i++) {
				const k = keys[i];
				const cur = a[k];
				if (typeof cur !== "object" || cur === null) {
					a2[k] = cur;
				} else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) {
					a2[k] = handler(cur, fn);
				} else if (ArrayBuffer.isView(cur)) {
					a2[k] = copyBuffer(cur);
				} else {
					a2[k] = fn(cur);
				}
			}
			return a2;
		}
		function clone(o) {
			if (typeof o !== "object" || o === null) return o;
			if (Array.isArray(o)) return cloneArray(o, clone);
			if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) {
				return handler(o, clone);
			}
			const o2 = {};
			for (const k in o) {
				if (Object.hasOwnProperty.call(o, k) === false) continue;
				const cur = o[k];
				if (typeof cur !== "object" || cur === null) {
					o2[k] = cur;
				} else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) {
					o2[k] = handler(cur, clone);
				} else if (ArrayBuffer.isView(cur)) {
					o2[k] = copyBuffer(cur);
				} else {
					o2[k] = clone(cur);
				}
			}
			return o2;
		}
		function cloneProto(o) {
			if (typeof o !== "object" || o === null) return o;
			if (Array.isArray(o)) return cloneArray(o, cloneProto);
			if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) {
				return handler(o, cloneProto);
			}
			const o2 = {};
			for (const k in o) {
				const cur = o[k];
				if (typeof cur !== "object" || cur === null) {
					o2[k] = cur;
				} else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) {
					o2[k] = handler(cur, cloneProto);
				} else if (ArrayBuffer.isView(cur)) {
					o2[k] = copyBuffer(cur);
				} else {
					o2[k] = cloneProto(cur);
				}
			}
			return o2;
		}
	}
	function rfdcCircles(opts) {
		const refs = [];
		const refsNew = [];
		const constructorHandlers = new Map();
		constructorHandlers.set(Date, (o) => new Date(o));
		constructorHandlers.set(Map, (o, fn) => new Map(cloneArray(Array.from(o), fn)));
		constructorHandlers.set(Set, (o, fn) => new Set(cloneArray(Array.from(o), fn)));
		if (opts.constructorHandlers) {
			for (const handler of opts.constructorHandlers) {
				constructorHandlers.set(handler[0], handler[1]);
			}
		}
		let handler = null;
		return opts.proto ? cloneProto : clone;
		function cloneArray(a, fn) {
			const keys = Object.keys(a);
			const a2 = new Array(keys.length);
			for (let i = 0; i < keys.length; i++) {
				const k = keys[i];
				const cur = a[k];
				if (typeof cur !== "object" || cur === null) {
					a2[k] = cur;
				} else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) {
					a2[k] = handler(cur, fn);
				} else if (ArrayBuffer.isView(cur)) {
					a2[k] = copyBuffer(cur);
				} else {
					const index = refs.indexOf(cur);
					if (index !== -1) {
						a2[k] = refsNew[index];
					} else {
						a2[k] = fn(cur);
					}
				}
			}
			return a2;
		}
		function clone(o) {
			if (typeof o !== "object" || o === null) return o;
			if (Array.isArray(o)) return cloneArray(o, clone);
			if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) {
				return handler(o, clone);
			}
			const o2 = {};
			refs.push(o);
			refsNew.push(o2);
			for (const k in o) {
				if (Object.hasOwnProperty.call(o, k) === false) continue;
				const cur = o[k];
				if (typeof cur !== "object" || cur === null) {
					o2[k] = cur;
				} else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) {
					o2[k] = handler(cur, clone);
				} else if (ArrayBuffer.isView(cur)) {
					o2[k] = copyBuffer(cur);
				} else {
					const i = refs.indexOf(cur);
					if (i !== -1) {
						o2[k] = refsNew[i];
					} else {
						o2[k] = clone(cur);
					}
				}
			}
			refs.pop();
			refsNew.pop();
			return o2;
		}
		function cloneProto(o) {
			if (typeof o !== "object" || o === null) return o;
			if (Array.isArray(o)) return cloneArray(o, cloneProto);
			if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) {
				return handler(o, cloneProto);
			}
			const o2 = {};
			refs.push(o);
			refsNew.push(o2);
			for (const k in o) {
				const cur = o[k];
				if (typeof cur !== "object" || cur === null) {
					o2[k] = cur;
				} else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) {
					o2[k] = handler(cur, cloneProto);
				} else if (ArrayBuffer.isView(cur)) {
					o2[k] = copyBuffer(cur);
				} else {
					const i = refs.indexOf(cur);
					if (i !== -1) {
						o2[k] = refsNew[i];
					} else {
						o2[k] = cloneProto(cur);
					}
				}
			}
			refs.pop();
			refsNew.pop();
			return o2;
		}
	}
}));

//#endregion
//#region ../node_modules/fastify/lib/schemas.js
var require_schemas = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const fastClone = require_rfdc()({
		circles: false,
		proto: true
	});
	const { kSchemaVisited, kSchemaResponse } = require_symbols$1();
	const kFluentSchema = Symbol.for("fluent-schema-object");
	const { FSTDEP022 } = require_warnings();
	const { FST_ERR_SCH_MISSING_ID, FST_ERR_SCH_ALREADY_PRESENT, FST_ERR_SCH_DUPLICATE, FST_ERR_SCH_CONTENT_MISSING_SCHEMA } = require_errors$3();
	const SCHEMAS_SOURCE = [
		"params",
		"body",
		"querystring",
		"query",
		"headers"
	];
	function Schemas(initStore) {
		this.store = initStore || {};
	}
	Schemas.prototype.add = function(inputSchema) {
		const schema = fastClone(inputSchema.isFluentSchema || inputSchema.isFluentJSONSchema || inputSchema[kFluentSchema] ? inputSchema.valueOf() : inputSchema);
		const id = schema.$id;
		if (!id) {
			throw new FST_ERR_SCH_MISSING_ID();
		}
		if (this.store[id]) {
			throw new FST_ERR_SCH_ALREADY_PRESENT(id);
		}
		this.store[id] = schema;
	};
	Schemas.prototype.getSchemas = function() {
		return Object.assign({}, this.store);
	};
	Schemas.prototype.getSchema = function(schemaId) {
		return this.store[schemaId];
	};
	/**
	* Checks whether a schema is a non-plain object.
	*
	* @param {*} schema the schema to check
	* @returns {boolean} true if schema has a custom prototype
	*/
	function isCustomSchemaPrototype(schema) {
		return typeof schema === "object" && Object.getPrototypeOf(schema) !== Object.prototype;
	}
	function normalizeSchema(opts, routeSchemas, serverOptions) {
		if (routeSchemas[kSchemaVisited]) {
			return routeSchemas;
		}
		if (routeSchemas.query) {
			if (routeSchemas.querystring) {
				throw new FST_ERR_SCH_DUPLICATE("querystring");
			}
			routeSchemas.querystring = routeSchemas.query;
		}
		generateFluentSchema(routeSchemas);
		for (const key of SCHEMAS_SOURCE) {
			const schema = routeSchemas[key];
			if (schema && !isCustomSchemaPrototype(schema)) {
				if (key === "body" && schema.content) {
					const contentProperty = schema.content;
					const keys = Object.keys(contentProperty);
					for (let i = 0; i < keys.length; i++) {
						const contentType = keys[i];
						const contentSchema = contentProperty[contentType].schema;
						if (!contentSchema) {
							throw new FST_ERR_SCH_CONTENT_MISSING_SCHEMA(contentType);
						}
						routeSchemas.body.content[contentType].schema = getSchemaAnyway(opts.url, contentSchema, serverOptions.jsonShorthand);
					}
					continue;
				}
				routeSchemas[key] = getSchemaAnyway(opts.url, schema, serverOptions.jsonShorthand);
			}
		}
		if (routeSchemas.response) {
			const httpCodes = Object.keys(routeSchemas.response);
			for (const code of httpCodes) {
				if (isCustomSchemaPrototype(routeSchemas.response[code])) {
					continue;
				}
				const contentProperty = routeSchemas.response[code].content;
				let hasContentMultipleContentTypes = false;
				if (contentProperty) {
					const keys = Object.keys(contentProperty);
					for (let i = 0; i < keys.length; i++) {
						const mediaName = keys[i];
						if (!contentProperty[mediaName].schema) {
							if (keys.length === 1) {
								break;
							}
							throw new FST_ERR_SCH_CONTENT_MISSING_SCHEMA(mediaName);
						}
						routeSchemas.response[code].content[mediaName].schema = getSchemaAnyway(opts.url, contentProperty[mediaName].schema, serverOptions.jsonShorthand);
						if (i === keys.length - 1) {
							hasContentMultipleContentTypes = true;
						}
					}
				}
				if (!hasContentMultipleContentTypes) {
					routeSchemas.response[code] = getSchemaAnyway(opts.url, routeSchemas.response[code], serverOptions.jsonShorthand);
				}
			}
		}
		routeSchemas[kSchemaVisited] = true;
		return routeSchemas;
	}
	function generateFluentSchema(schema) {
		for (const key of SCHEMAS_SOURCE) {
			if (schema[key] && (schema[key].isFluentSchema || schema[key][kFluentSchema])) {
				schema[key] = schema[key].valueOf();
			}
		}
		if (schema.response) {
			const httpCodes = Object.keys(schema.response);
			for (const code of httpCodes) {
				if (schema.response[code].isFluentSchema || schema.response[code][kFluentSchema]) {
					schema.response[code] = schema.response[code].valueOf();
				}
			}
		}
	}
	function getSchemaAnyway(url, schema, jsonShorthand) {
		if (!jsonShorthand || schema.$ref || schema.oneOf || schema.allOf || schema.anyOf || schema.$merge || schema.$patch) return schema;
		if (!schema.type && !schema.properties) {
			FSTDEP022(url);
			return {
				type: "object",
				properties: schema
			};
		}
		return schema;
	}
	/**
	* Search for the right JSON schema compiled function in the request context
	* setup by the route configuration `schema.response`.
	* It will look for the exact match (eg 200) or generic (eg 2xx)
	*
	* @param {object} context the request context
	* @param {number} statusCode the http status code
	* @param {string} [contentType] the reply content type
	* @returns {function|false} the right JSON Schema function to serialize
	* the reply or false if it is not set
	*/
	function getSchemaSerializer(context, statusCode, contentType) {
		const responseSchemaDef = context[kSchemaResponse];
		if (!responseSchemaDef) {
			return false;
		}
		if (responseSchemaDef[statusCode]) {
			if (responseSchemaDef[statusCode].constructor === Object && contentType) {
				const mediaName = contentType.split(";", 1)[0];
				if (responseSchemaDef[statusCode][mediaName]) {
					return responseSchemaDef[statusCode][mediaName];
				}
				return false;
			}
			return responseSchemaDef[statusCode];
		}
		const fallbackStatusCode = (statusCode + "")[0] + "xx";
		if (responseSchemaDef[fallbackStatusCode]) {
			if (responseSchemaDef[fallbackStatusCode].constructor === Object && contentType) {
				const mediaName = contentType.split(";", 1)[0];
				if (responseSchemaDef[fallbackStatusCode][mediaName]) {
					return responseSchemaDef[fallbackStatusCode][mediaName];
				}
				return false;
			}
			return responseSchemaDef[fallbackStatusCode];
		}
		if (responseSchemaDef.default) {
			if (responseSchemaDef.default.constructor === Object && contentType) {
				const mediaName = contentType.split(";", 1)[0];
				if (responseSchemaDef.default[mediaName]) {
					return responseSchemaDef.default[mediaName];
				}
				return false;
			}
			return responseSchemaDef.default;
		}
		return false;
	}
	module.exports = {
		buildSchemas(initStore) {
			return new Schemas(initStore);
		},
		getSchemaSerializer,
		normalizeSchema
	};
}));

//#endregion
//#region ../node_modules/fast-json-stringify/lib/serializer.js
var require_serializer$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const STR_ESCAPE = /[\u0000-\u001f\u0022\u005c\ud800-\udfff]/;
	module.exports = class Serializer {
		constructor(options) {
			switch (options && options.rounding) {
				case "floor":
					this.parseInteger = Math.floor;
					break;
				case "ceil":
					this.parseInteger = Math.ceil;
					break;
				case "round":
					this.parseInteger = Math.round;
					break;
				case "trunc":
				default:
					this.parseInteger = Math.trunc;
					break;
			}
			this._options = options;
		}
		asInteger(i) {
			if (Number.isInteger(i)) {
				return "" + i;
			} else if (typeof i === "bigint") {
				return i.toString();
			}
			const integer = this.parseInteger(i);
			if (integer === Infinity || integer === -Infinity || integer !== integer) {
				throw new Error(`The value "${i}" cannot be converted to an integer.`);
			}
			return "" + integer;
		}
		asNumber(i) {
			const num = Number(i);
			if (num !== num) {
				throw new Error(`The value "${i}" cannot be converted to a number.`);
			} else if (num === Infinity || num === -Infinity) {
				return "null";
			} else {
				return "" + num;
			}
		}
		asBoolean(bool) {
			return bool && "true" || "false";
		}
		asDateTime(date) {
			if (date === null) return "\"\"";
			if (date instanceof Date) {
				return "\"" + date.toISOString() + "\"";
			}
			if (typeof date === "string") {
				return "\"" + date + "\"";
			}
			throw new Error(`The value "${date}" cannot be converted to a date-time.`);
		}
		asDate(date) {
			if (date === null) return "\"\"";
			if (date instanceof Date) {
				return "\"" + new Date(date.getTime() - date.getTimezoneOffset() * 6e4).toISOString().slice(0, 10) + "\"";
			}
			if (typeof date === "string") {
				return "\"" + date + "\"";
			}
			throw new Error(`The value "${date}" cannot be converted to a date.`);
		}
		asTime(date) {
			if (date === null) return "\"\"";
			if (date instanceof Date) {
				return "\"" + new Date(date.getTime() - date.getTimezoneOffset() * 6e4).toISOString().slice(11, 19) + "\"";
			}
			if (typeof date === "string") {
				return "\"" + date + "\"";
			}
			throw new Error(`The value "${date}" cannot be converted to a time.`);
		}
		asString(str) {
			const len = str.length;
			if (len < 42) {
				let result = "";
				let last = -1;
				let point = 255;
				for (var i = 0; i < len; i++) {
					point = str.charCodeAt(i);
					if (point === 34 || point === 92) {
						last === -1 && (last = 0);
						result += str.slice(last, i) + "\\";
						last = i;
					} else if (point < 32 || point >= 55296 && point <= 57343) {
						return JSON.stringify(str);
					}
				}
				return last === -1 && "\"" + str + "\"" || "\"" + result + str.slice(last) + "\"";
			} else if (len < 5e3 && STR_ESCAPE.test(str) === false) {
				return "\"" + str + "\"";
			} else {
				return JSON.stringify(str);
			}
		}
		asUnsafeString(str) {
			return "\"" + str + "\"";
		}
		getState() {
			return this._options;
		}
		static restoreFromState(state) {
			return new Serializer(state);
		}
	};
}));

//#endregion
//#region ../node_modules/fastify/lib/error-serializer.js
/* istanbul ignore file */
var require_error_serializer = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const Serializer = require_serializer$1();
	const serializerState = { "mode": "standalone" };
	const serializer = Serializer.restoreFromState(serializerState);
	const validator = null;
	module.exports = function anonymous(validator, serializer) {
		const JSON_STR_BEGIN_OBJECT = "{";
		const JSON_STR_END_OBJECT = "}";
		const JSON_STR_BEGIN_ARRAY = "[";
		const JSON_STR_END_ARRAY = "]";
		const JSON_STR_COMMA = ",";
		const JSON_STR_COLONS = ":";
		const JSON_STR_QUOTE = "\"";
		const JSON_STR_EMPTY_OBJECT = JSON_STR_BEGIN_OBJECT + JSON_STR_END_OBJECT;
		const JSON_STR_EMPTY_ARRAY = JSON_STR_BEGIN_ARRAY + JSON_STR_END_ARRAY;
		const JSON_STR_EMPTY_STRING = JSON_STR_QUOTE + JSON_STR_QUOTE;
		const JSON_STR_NULL = "null";
		function anonymous0(input) {
			const obj = input && typeof input.toJSON === "function" ? input.toJSON() : input;
			if (obj === null) return JSON_STR_EMPTY_OBJECT;
			let value;
			let json = JSON_STR_BEGIN_OBJECT;
			let addComma = false;
			value = obj["statusCode"];
			if (value !== undefined) {
				!addComma && (addComma = true) || (json += JSON_STR_COMMA);
				json += "\"statusCode\":";
				json += serializer.asNumber(value);
			}
			value = obj["code"];
			if (value !== undefined) {
				!addComma && (addComma = true) || (json += JSON_STR_COMMA);
				json += "\"code\":";
				if (typeof value !== "string") {
					if (value === null) {
						json += JSON_STR_EMPTY_STRING;
					} else if (value instanceof Date) {
						json += JSON_STR_QUOTE + value.toISOString() + JSON_STR_QUOTE;
					} else if (value instanceof RegExp) {
						json += serializer.asString(value.source);
					} else {
						json += serializer.asString(value.toString());
					}
				} else {
					json += serializer.asString(value);
				}
			}
			value = obj["error"];
			if (value !== undefined) {
				!addComma && (addComma = true) || (json += JSON_STR_COMMA);
				json += "\"error\":";
				if (typeof value !== "string") {
					if (value === null) {
						json += JSON_STR_EMPTY_STRING;
					} else if (value instanceof Date) {
						json += JSON_STR_QUOTE + value.toISOString() + JSON_STR_QUOTE;
					} else if (value instanceof RegExp) {
						json += serializer.asString(value.source);
					} else {
						json += serializer.asString(value.toString());
					}
				} else {
					json += serializer.asString(value);
				}
			}
			value = obj["message"];
			if (value !== undefined) {
				!addComma && (addComma = true) || (json += JSON_STR_COMMA);
				json += "\"message\":";
				if (typeof value !== "string") {
					if (value === null) {
						json += JSON_STR_EMPTY_STRING;
					} else if (value instanceof Date) {
						json += JSON_STR_QUOTE + value.toISOString() + JSON_STR_QUOTE;
					} else if (value instanceof RegExp) {
						json += serializer.asString(value.source);
					} else {
						json += serializer.asString(value.toString());
					}
				} else {
					json += serializer.asString(value);
				}
			}
			return json + JSON_STR_END_OBJECT;
		}
		const main = anonymous0;
		return main;
	}(validator, serializer);
}));

//#endregion
//#region ../node_modules/fastify/lib/error-handler.js
var require_error_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const statusCodes = __require("node:http").STATUS_CODES;
	const wrapThenable = require_wrapThenable();
	const { kReplyHeaders, kReplyNextErrorHandler, kReplyIsRunningOnErrorHook, kReplyHasStatusCode, kRouteContext, kDisableRequestLogging } = require_symbols$1();
	const { FST_ERR_REP_INVALID_PAYLOAD_TYPE, FST_ERR_FAILED_ERROR_SERIALIZATION } = require_errors$3();
	const { getSchemaSerializer } = require_schemas();
	const serializeError = require_error_serializer();
	const rootErrorHandler = {
		func: defaultErrorHandler,
		toJSON() {
			return this.func.name.toString() + "()";
		}
	};
	function handleError(reply, error, cb) {
		reply[kReplyIsRunningOnErrorHook] = false;
		const context = reply[kRouteContext];
		if (reply[kReplyNextErrorHandler] === false) {
			fallbackErrorHandler(error, reply, function(reply, payload) {
				try {
					reply.raw.writeHead(reply.raw.statusCode, reply[kReplyHeaders]);
				} catch (error) {
					if (!reply.log[kDisableRequestLogging]) {
						reply.log.warn({
							req: reply.request,
							res: reply,
							err: error
						}, error && error.message);
					}
					reply.raw.writeHead(reply.raw.statusCode);
				}
				reply.raw.end(payload);
			});
			return;
		}
		const errorHandler = reply[kReplyNextErrorHandler] || context.errorHandler;
		reply[kReplyNextErrorHandler] = Object.getPrototypeOf(errorHandler);
		delete reply[kReplyHeaders]["content-type"];
		delete reply[kReplyHeaders]["content-length"];
		const func = errorHandler.func;
		if (!func) {
			reply[kReplyNextErrorHandler] = false;
			fallbackErrorHandler(error, reply, cb);
			return;
		}
		try {
			const result = func(error, reply.request, reply);
			if (result !== undefined) {
				if (result !== null && typeof result.then === "function") {
					wrapThenable(result, reply);
				} else {
					reply.send(result);
				}
			}
		} catch (err) {
			reply.send(err);
		}
	}
	function defaultErrorHandler(error, request, reply) {
		setErrorHeaders(error, reply);
		if (!reply[kReplyHasStatusCode] || reply.statusCode === 200) {
			const statusCode = error.statusCode || error.status;
			reply.code(statusCode >= 400 ? statusCode : 500);
		}
		if (reply.statusCode < 500) {
			if (!reply.log[kDisableRequestLogging]) {
				reply.log.info({
					res: reply,
					err: error
				}, error && error.message);
			}
		} else {
			if (!reply.log[kDisableRequestLogging]) {
				reply.log.error({
					req: request,
					res: reply,
					err: error
				}, error && error.message);
			}
		}
		reply.send(error);
	}
	function fallbackErrorHandler(error, reply, cb) {
		const res = reply.raw;
		const statusCode = reply.statusCode;
		reply[kReplyHeaders]["content-type"] = reply[kReplyHeaders]["content-type"] ?? "application/json; charset=utf-8";
		let payload;
		try {
			const serializerFn = getSchemaSerializer(reply[kRouteContext], statusCode, reply[kReplyHeaders]["content-type"]);
			payload = serializerFn === false ? serializeError({
				error: statusCodes[statusCode + ""],
				code: error.code,
				message: error.message,
				statusCode
			}) : serializerFn(Object.create(error, {
				error: { value: statusCodes[statusCode + ""] },
				message: { value: error.message },
				statusCode: { value: statusCode }
			}));
		} catch (err) {
			if (!reply.log[kDisableRequestLogging]) {
				reply.log.error({
					err,
					statusCode: res.statusCode
				}, "The serializer for the given status code failed");
			}
			reply.code(500);
			payload = serializeError(new FST_ERR_FAILED_ERROR_SERIALIZATION(err.message, error.message));
		}
		if (typeof payload !== "string" && !Buffer.isBuffer(payload)) {
			payload = serializeError(new FST_ERR_REP_INVALID_PAYLOAD_TYPE(typeof payload));
		}
		reply[kReplyHeaders]["content-length"] = "" + Buffer.byteLength(payload);
		cb(reply, payload);
	}
	function buildErrorHandler(parent = rootErrorHandler, func) {
		if (!func) {
			return parent;
		}
		const errorHandler = Object.create(parent);
		errorHandler.func = func;
		return errorHandler;
	}
	function setErrorHeaders(error, reply) {
		const res = reply.raw;
		let statusCode = res.statusCode;
		statusCode = statusCode >= 400 ? statusCode : 500;
		if (error != null) {
			if (error.headers !== undefined) {
				reply.headers(error.headers);
			}
			if (error.status >= 400) {
				statusCode = error.status;
			} else if (error.statusCode >= 400) {
				statusCode = error.statusCode;
			}
		}
		res.statusCode = statusCode;
	}
	module.exports = {
		buildErrorHandler,
		handleError
	};
}));

//#endregion
//#region ../node_modules/fastify/lib/reply.js
var require_reply = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const eos = __require("node:stream").finished;
	const Readable$8 = __require("node:stream").Readable;
	const { kFourOhFourContext, kPublicRouteContext, kReplyErrorHandlerCalled, kReplyHijacked, kReplyStartTime, kReplyEndTime, kReplySerializer, kReplySerializerDefault, kReplyIsError, kReplyHeaders, kReplyTrailers, kReplyHasStatusCode, kReplyIsRunningOnErrorHook, kReplyNextErrorHandler, kDisableRequestLogging, kSchemaResponse, kReplyCacheSerializeFns, kSchemaController, kOptions, kRouteContext } = require_symbols$1();
	const { onSendHookRunner, onResponseHookRunner, preHandlerHookRunner, preSerializationHookRunner } = require_hooks();
	const internals = require_handleRequest()[Symbol.for("internals")];
	const loggerUtils = require_logger();
	const now = loggerUtils.now;
	const { handleError } = require_error_handler();
	const { getSchemaSerializer } = require_schemas();
	const CONTENT_TYPE = {
		JSON: "application/json; charset=utf-8",
		PLAIN: "text/plain; charset=utf-8",
		OCTET: "application/octet-stream"
	};
	const { FST_ERR_REP_INVALID_PAYLOAD_TYPE, FST_ERR_REP_RESPONSE_BODY_CONSUMED, FST_ERR_REP_ALREADY_SENT, FST_ERR_REP_SENT_VALUE, FST_ERR_SEND_INSIDE_ONERR, FST_ERR_BAD_STATUS_CODE, FST_ERR_BAD_TRAILER_NAME, FST_ERR_BAD_TRAILER_VALUE, FST_ERR_MISSING_SERIALIZATION_FN, FST_ERR_MISSING_CONTENTTYPE_SERIALIZATION_FN } = require_errors$3();
	const { FSTDEP010, FSTDEP013, FSTDEP019, FSTDEP020, FSTDEP021 } = require_warnings();
	const toString = Object.prototype.toString;
	function Reply(res, request, log) {
		this.raw = res;
		this[kReplySerializer] = null;
		this[kReplyErrorHandlerCalled] = false;
		this[kReplyIsError] = false;
		this[kReplyIsRunningOnErrorHook] = false;
		this.request = request;
		this[kReplyHeaders] = {};
		this[kReplyTrailers] = null;
		this[kReplyHasStatusCode] = false;
		this[kReplyStartTime] = undefined;
		this.log = log;
	}
	Reply.props = [];
	Object.defineProperties(Reply.prototype, {
		[kRouteContext]: { get() {
			return this.request[kRouteContext];
		} },
		context: { get() {
			FSTDEP019();
			return this.request[kRouteContext];
		} },
		elapsedTime: { get() {
			if (this[kReplyStartTime] === undefined) {
				return 0;
			}
			return (this[kReplyEndTime] || now()) - this[kReplyStartTime];
		} },
		server: { get() {
			return this.request[kRouteContext].server;
		} },
		sent: {
			enumerable: true,
			get() {
				return (this[kReplyHijacked] || this.raw.writableEnded) === true;
			},
			set(value) {
				FSTDEP010();
				if (value !== true) {
					throw new FST_ERR_REP_SENT_VALUE();
				}
				if (this.sent && this[kReplyHijacked]) {
					throw new FST_ERR_REP_ALREADY_SENT(this.request.url, this.request.method);
				}
				this[kReplyHijacked] = true;
			}
		},
		statusCode: {
			get() {
				return this.raw.statusCode;
			},
			set(value) {
				this.code(value);
			}
		},
		[kPublicRouteContext]: { get() {
			return this.request[kPublicRouteContext];
		} }
	});
	Reply.prototype.hijack = function() {
		this[kReplyHijacked] = true;
		return this;
	};
	Reply.prototype.send = function(payload) {
		if (this[kReplyIsRunningOnErrorHook] === true) {
			throw new FST_ERR_SEND_INSIDE_ONERR();
		}
		if (this.sent) {
			this.log.warn({ err: new FST_ERR_REP_ALREADY_SENT(this.request.url, this.request.method) });
			return this;
		}
		if (payload instanceof Error || this[kReplyIsError] === true) {
			this[kReplyIsError] = false;
			onErrorHook(this, payload, onSendHook);
			return this;
		}
		if (payload === undefined) {
			onSendHook(this, payload);
			return this;
		}
		const contentType = this.getHeader("content-type");
		const hasContentType = contentType !== undefined;
		if (payload !== null) {
			if (typeof payload.pipe === "function" || typeof payload.getReader === "function" || toString.call(payload) === "[object Response]") {
				onSendHook(this, payload);
				return this;
			}
			if (payload?.buffer instanceof ArrayBuffer) {
				if (hasContentType === false) {
					this[kReplyHeaders]["content-type"] = CONTENT_TYPE.OCTET;
				}
				const payloadToSend = Buffer.isBuffer(payload) ? payload : Buffer.from(payload.buffer, payload.byteOffset, payload.byteLength);
				onSendHook(this, payloadToSend);
				return this;
			}
			if (hasContentType === false && typeof payload === "string") {
				this[kReplyHeaders]["content-type"] = CONTENT_TYPE.PLAIN;
				onSendHook(this, payload);
				return this;
			}
		}
		if (this[kReplySerializer] !== null) {
			if (typeof payload !== "string") {
				preSerializationHook(this, payload);
				return this;
			} else {
				payload = this[kReplySerializer](payload);
			}
		} else if (hasContentType === false || contentType.indexOf("json") > -1) {
			if (hasContentType === false) {
				this[kReplyHeaders]["content-type"] = CONTENT_TYPE.JSON;
			} else {
				if (contentType.indexOf("charset") === -1) {
					const customContentType = contentType.trim();
					if (customContentType.endsWith(";")) {
						this[kReplyHeaders]["content-type"] = `${customContentType} charset=utf-8`;
					} else {
						this[kReplyHeaders]["content-type"] = `${customContentType}; charset=utf-8`;
					}
				}
			}
			if (typeof payload !== "string") {
				preSerializationHook(this, payload);
				return this;
			}
		}
		onSendHook(this, payload);
		return this;
	};
	Reply.prototype.getHeader = function(key) {
		key = key.toLowerCase();
		const res = this.raw;
		let value = this[kReplyHeaders][key];
		if (value === undefined && res.hasHeader(key)) {
			value = res.getHeader(key);
		}
		return value;
	};
	Reply.prototype.getHeaders = function() {
		return {
			...this.raw.getHeaders(),
			...this[kReplyHeaders]
		};
	};
	Reply.prototype.hasHeader = function(key) {
		key = key.toLowerCase();
		return this[kReplyHeaders][key] !== undefined || this.raw.hasHeader(key);
	};
	Reply.prototype.removeHeader = function(key) {
		delete this[kReplyHeaders][key.toLowerCase()];
		return this;
	};
	Reply.prototype.header = function(key, value = "") {
		key = key.toLowerCase();
		if (this[kReplyHeaders][key] && key === "set-cookie") {
			if (typeof this[kReplyHeaders][key] === "string") {
				this[kReplyHeaders][key] = [this[kReplyHeaders][key]];
			}
			if (Array.isArray(value)) {
				Array.prototype.push.apply(this[kReplyHeaders][key], value);
			} else {
				this[kReplyHeaders][key].push(value);
			}
		} else {
			this[kReplyHeaders][key] = value;
		}
		return this;
	};
	Reply.prototype.headers = function(headers) {
		const keys = Object.keys(headers);
		for (var i = 0; i !== keys.length; ++i) {
			const key = keys[i];
			this.header(key, headers[key]);
		}
		return this;
	};
	const INVALID_TRAILERS = new Set([
		"transfer-encoding",
		"content-length",
		"host",
		"cache-control",
		"max-forwards",
		"te",
		"authorization",
		"set-cookie",
		"content-encoding",
		"content-type",
		"content-range",
		"trailer"
	]);
	Reply.prototype.trailer = function(key, fn) {
		key = key.toLowerCase();
		if (INVALID_TRAILERS.has(key)) {
			throw new FST_ERR_BAD_TRAILER_NAME(key);
		}
		if (typeof fn !== "function") {
			throw new FST_ERR_BAD_TRAILER_VALUE(key, typeof fn);
		}
		if (this[kReplyTrailers] === null) this[kReplyTrailers] = {};
		this[kReplyTrailers][key] = fn;
		return this;
	};
	Reply.prototype.hasTrailer = function(key) {
		return this[kReplyTrailers]?.[key.toLowerCase()] !== undefined;
	};
	Reply.prototype.removeTrailer = function(key) {
		if (this[kReplyTrailers] === null) return this;
		this[kReplyTrailers][key.toLowerCase()] = undefined;
		return this;
	};
	Reply.prototype.code = function(code) {
		const intValue = Number(code);
		if (isNaN(intValue) || intValue < 100 || intValue > 599) {
			throw new FST_ERR_BAD_STATUS_CODE(code || String(code));
		}
		this.raw.statusCode = intValue;
		this[kReplyHasStatusCode] = true;
		return this;
	};
	Reply.prototype.status = Reply.prototype.code;
	Reply.prototype.getSerializationFunction = function(schemaOrStatus, contentType) {
		let serialize;
		if (typeof schemaOrStatus === "string" || typeof schemaOrStatus === "number") {
			if (typeof contentType === "string") {
				serialize = this[kRouteContext][kSchemaResponse]?.[schemaOrStatus]?.[contentType];
			} else {
				serialize = this[kRouteContext][kSchemaResponse]?.[schemaOrStatus];
			}
		} else if (typeof schemaOrStatus === "object") {
			serialize = this[kRouteContext][kReplyCacheSerializeFns]?.get(schemaOrStatus);
		}
		return serialize;
	};
	Reply.prototype.compileSerializationSchema = function(schema, httpStatus = null, contentType = null) {
		const { request } = this;
		const { method, url } = request;
		if (this[kRouteContext][kReplyCacheSerializeFns]?.has(schema)) {
			return this[kRouteContext][kReplyCacheSerializeFns].get(schema);
		}
		const serializerCompiler = this[kRouteContext].serializerCompiler || this.server[kSchemaController].serializerCompiler || this.server[kSchemaController].setupSerializer(this.server[kOptions]) || this.server[kSchemaController].serializerCompiler;
		const serializeFn = serializerCompiler({
			schema,
			method,
			url,
			httpStatus,
			contentType
		});
		if (this[kRouteContext][kReplyCacheSerializeFns] == null) {
			this[kRouteContext][kReplyCacheSerializeFns] = new WeakMap();
		}
		this[kRouteContext][kReplyCacheSerializeFns].set(schema, serializeFn);
		return serializeFn;
	};
	Reply.prototype.serializeInput = function(input, schema, httpStatus, contentType) {
		const possibleContentType = httpStatus;
		let serialize;
		httpStatus = typeof schema === "string" || typeof schema === "number" ? schema : httpStatus;
		contentType = httpStatus && possibleContentType !== httpStatus ? possibleContentType : contentType;
		if (httpStatus != null) {
			if (contentType != null) {
				serialize = this[kRouteContext][kSchemaResponse]?.[httpStatus]?.[contentType];
			} else {
				serialize = this[kRouteContext][kSchemaResponse]?.[httpStatus];
			}
			if (serialize == null) {
				if (contentType) throw new FST_ERR_MISSING_CONTENTTYPE_SERIALIZATION_FN(httpStatus, contentType);
				throw new FST_ERR_MISSING_SERIALIZATION_FN(httpStatus);
			}
		} else {
			if (this[kRouteContext][kReplyCacheSerializeFns]?.has(schema)) {
				serialize = this[kRouteContext][kReplyCacheSerializeFns].get(schema);
			} else {
				serialize = this.compileSerializationSchema(schema, httpStatus, contentType);
			}
		}
		return serialize(input);
	};
	Reply.prototype.serialize = function(payload) {
		if (this[kReplySerializer] !== null) {
			return this[kReplySerializer](payload);
		} else {
			if (this[kRouteContext] && this[kRouteContext][kReplySerializerDefault]) {
				return this[kRouteContext][kReplySerializerDefault](payload, this.raw.statusCode);
			} else {
				return serialize(this[kRouteContext], payload, this.raw.statusCode);
			}
		}
	};
	Reply.prototype.serializer = function(fn) {
		this[kReplySerializer] = fn;
		return this;
	};
	Reply.prototype.type = function(type) {
		this[kReplyHeaders]["content-type"] = type;
		return this;
	};
	Reply.prototype.redirect = function(url, code) {
		if (typeof url === "number") {
			FSTDEP021();
			const temp = code;
			code = url;
			url = temp;
		}
		if (!code) {
			code = this[kReplyHasStatusCode] ? this.raw.statusCode : 302;
		}
		return this.header("location", url).code(code).send();
	};
	Reply.prototype.callNotFound = function() {
		notFound(this);
		return this;
	};
	Reply.prototype.getResponseTime = function() {
		FSTDEP020();
		return this.elapsedTime;
	};
	Reply.prototype.then = function(fulfilled, rejected) {
		if (this.sent) {
			fulfilled();
			return;
		}
		eos(this.raw, (err) => {
			if (err && err.code !== "ERR_STREAM_PREMATURE_CLOSE") {
				if (rejected) {
					rejected(err);
				} else {
					this.log && this.log.warn("unhandled rejection on reply.then");
				}
			} else {
				fulfilled();
			}
		});
	};
	function preSerializationHook(reply, payload) {
		if (reply[kRouteContext].preSerialization !== null) {
			preSerializationHookRunner(reply[kRouteContext].preSerialization, reply.request, reply, payload, preSerializationHookEnd);
		} else {
			preSerializationHookEnd(null, reply.request, reply, payload);
		}
	}
	function preSerializationHookEnd(err, request, reply, payload) {
		if (err != null) {
			onErrorHook(reply, err);
			return;
		}
		try {
			if (reply[kReplySerializer] !== null) {
				payload = reply[kReplySerializer](payload);
			} else if (reply[kRouteContext] && reply[kRouteContext][kReplySerializerDefault]) {
				payload = reply[kRouteContext][kReplySerializerDefault](payload, reply.raw.statusCode);
			} else {
				payload = serialize(reply[kRouteContext], payload, reply.raw.statusCode, reply[kReplyHeaders]["content-type"]);
			}
		} catch (e) {
			wrapSerializationError(e, reply);
			onErrorHook(reply, e);
			return;
		}
		onSendHook(reply, payload);
	}
	function wrapSerializationError(error, reply) {
		error.serialization = reply[kRouteContext].config;
	}
	function onSendHook(reply, payload) {
		if (reply[kRouteContext].onSend !== null) {
			onSendHookRunner(reply[kRouteContext].onSend, reply.request, reply, payload, wrapOnSendEnd);
		} else {
			onSendEnd(reply, payload);
		}
	}
	function wrapOnSendEnd(err, request, reply, payload) {
		if (err != null) {
			onErrorHook(reply, err);
		} else {
			onSendEnd(reply, payload);
		}
	}
	function safeWriteHead(reply, statusCode) {
		const res = reply.raw;
		try {
			res.writeHead(statusCode, reply[kReplyHeaders]);
		} catch (err) {
			if (err.code === "ERR_HTTP_HEADERS_SENT") {
				reply.log.warn(`Reply was already sent, did you forget to "return reply" in the "${reply.request.raw.url}" (${reply.request.raw.method}) route?`);
			}
			throw err;
		}
	}
	function onSendEnd(reply, payload) {
		const res = reply.raw;
		const req = reply.request;
		if (reply[kReplyTrailers] !== null) {
			const trailerHeaders = Object.keys(reply[kReplyTrailers]);
			let header = "";
			for (const trailerName of trailerHeaders) {
				if (typeof reply[kReplyTrailers][trailerName] !== "function") continue;
				header += " ";
				header += trailerName;
			}
			reply.header("Transfer-Encoding", "chunked");
			reply.header("Trailer", header.trim());
		}
		if (toString.call(payload) === "[object Response]") {
			if (typeof payload.status === "number") {
				reply.code(payload.status);
			}
			if (typeof payload.headers === "object" && typeof payload.headers.forEach === "function") {
				for (const [headerName, headerValue] of payload.headers) {
					reply.header(headerName, headerValue);
				}
			}
			if (payload.body !== null) {
				if (payload.bodyUsed) {
					throw new FST_ERR_REP_RESPONSE_BODY_CONSUMED();
				}
			}
			payload = payload.body;
		}
		const statusCode = res.statusCode;
		if (payload === undefined || payload === null) {
			if (statusCode >= 200 && statusCode !== 204 && statusCode !== 304 && req.method !== "HEAD" && reply[kReplyTrailers] === null) {
				reply[kReplyHeaders]["content-length"] = "0";
			}
			safeWriteHead(reply, statusCode);
			sendTrailer(payload, res, reply);
			return;
		}
		if (statusCode >= 100 && statusCode < 200 || statusCode === 204) {
			reply.removeHeader("content-type");
			reply.removeHeader("content-length");
			safeWriteHead(reply, statusCode);
			sendTrailer(undefined, res, reply);
			if (typeof payload.resume === "function") {
				payload.on("error", noop);
				payload.resume();
			}
			return;
		}
		if (typeof payload.pipe === "function") {
			sendStream(payload, res, reply);
			return;
		}
		if (typeof payload.getReader === "function") {
			sendWebStream(payload, res, reply);
			return;
		}
		if (typeof payload !== "string" && !Buffer.isBuffer(payload)) {
			throw new FST_ERR_REP_INVALID_PAYLOAD_TYPE(typeof payload);
		}
		if (reply[kReplyTrailers] === null) {
			const contentLength = reply[kReplyHeaders]["content-length"];
			if (!contentLength || req.raw.method !== "HEAD" && Number(contentLength) !== Buffer.byteLength(payload)) {
				reply[kReplyHeaders]["content-length"] = "" + Buffer.byteLength(payload);
			}
		}
		safeWriteHead(reply, statusCode);
		res.write(payload);
		sendTrailer(payload, res, reply);
	}
	function logStreamError(logger, err, res) {
		if (err.code === "ERR_STREAM_PREMATURE_CLOSE") {
			if (!logger[kDisableRequestLogging]) {
				logger.info({ res }, "stream closed prematurely");
			}
		} else {
			logger.warn({ err }, "response terminated with an error with headers already sent");
		}
	}
	function sendWebStream(payload, res, reply) {
		const nodeStream = Readable$8.fromWeb(payload);
		sendStream(nodeStream, res, reply);
	}
	function sendStream(payload, res, reply) {
		let sourceOpen = true;
		let errorLogged = false;
		sendStreamTrailer(payload, res, reply);
		eos(payload, {
			readable: true,
			writable: false
		}, function(err) {
			sourceOpen = false;
			if (err != null) {
				if (res.headersSent || reply.request.raw.aborted === true) {
					if (!errorLogged) {
						errorLogged = true;
						logStreamError(reply.log, err, reply);
					}
					res.destroy();
				} else {
					onErrorHook(reply, err);
				}
			}
		});
		eos(res, function(err) {
			if (sourceOpen) {
				if (err != null && res.headersSent && !errorLogged) {
					errorLogged = true;
					logStreamError(reply.log, err, res);
				}
				if (typeof payload.destroy === "function") {
					payload.destroy();
				} else if (typeof payload.close === "function") {
					payload.close(noop);
				} else if (typeof payload.abort === "function") {
					payload.abort();
				} else {
					reply.log.warn("stream payload does not end properly");
				}
			}
		});
		if (!res.headersSent) {
			for (const key in reply[kReplyHeaders]) {
				res.setHeader(key, reply[kReplyHeaders][key]);
			}
		} else {
			reply.log.warn("response will send, but you shouldn't use res.writeHead in stream mode");
		}
		payload.pipe(res);
	}
	function sendTrailer(payload, res, reply) {
		if (reply[kReplyTrailers] === null) {
			res.end(null, null, null);
			return;
		}
		const trailerHeaders = Object.keys(reply[kReplyTrailers]);
		const trailers = {};
		let handled = 0;
		let skipped = true;
		function send() {
			/* istanbul ignore else */
			if (handled === 0) {
				res.addTrailers(trailers);
				res.end(null, null, null);
			}
		}
		for (const trailerName of trailerHeaders) {
			if (typeof reply[kReplyTrailers][trailerName] !== "function") continue;
			skipped = false;
			handled--;
			function cb(err, value) {
				handled++;
				if (err) reply.log.debug(err);
				else trailers[trailerName] = value;
				process.nextTick(send);
			}
			const result = reply[kReplyTrailers][trailerName](reply, payload, cb);
			if (typeof result === "object" && typeof result.then === "function") {
				result.then((v) => cb(null, v), cb);
			} else if (result !== null && result !== undefined) {
				FSTDEP013();
				cb(null, result);
			}
		}
		if (skipped) res.end(null, null, null);
	}
	function sendStreamTrailer(payload, res, reply) {
		if (reply[kReplyTrailers] === null) return;
		payload.on("end", () => sendTrailer(null, res, reply));
	}
	function onErrorHook(reply, error, cb) {
		if (reply[kRouteContext].onError !== null && !reply[kReplyNextErrorHandler]) {
			reply[kReplyIsRunningOnErrorHook] = true;
			onSendHookRunner(reply[kRouteContext].onError, reply.request, reply, error, () => handleError(reply, error, cb));
		} else {
			handleError(reply, error, cb);
		}
	}
	function setupResponseListeners(reply) {
		reply[kReplyStartTime] = now();
		const onResFinished = (err) => {
			reply[kReplyEndTime] = now();
			reply.raw.removeListener("finish", onResFinished);
			reply.raw.removeListener("error", onResFinished);
			const ctx = reply[kRouteContext];
			if (ctx && ctx.onResponse !== null) {
				onResponseHookRunner(ctx.onResponse, reply.request, reply, onResponseCallback);
			} else {
				onResponseCallback(err, reply.request, reply);
			}
		};
		reply.raw.on("finish", onResFinished);
		reply.raw.on("error", onResFinished);
	}
	function onResponseCallback(err, request, reply) {
		if (reply.log[kDisableRequestLogging]) {
			return;
		}
		const responseTime = reply.elapsedTime;
		if (err != null) {
			reply.log.error({
				res: reply,
				err,
				responseTime
			}, "request errored");
			return;
		}
		reply.log.info({
			res: reply,
			responseTime
		}, "request completed");
	}
	function buildReply(R) {
		const props = R.props.slice();
		function _Reply(res, request, log) {
			this.raw = res;
			this[kReplyIsError] = false;
			this[kReplyErrorHandlerCalled] = false;
			this[kReplyHijacked] = false;
			this[kReplySerializer] = null;
			this.request = request;
			this[kReplyHeaders] = {};
			this[kReplyTrailers] = null;
			this[kReplyStartTime] = undefined;
			this[kReplyEndTime] = undefined;
			this.log = log;
			var prop;
			for (var i = 0; i < props.length; i++) {
				prop = props[i];
				this[prop.key] = prop.value;
			}
		}
		Object.setPrototypeOf(_Reply.prototype, R.prototype);
		Object.setPrototypeOf(_Reply, R);
		_Reply.parent = R;
		_Reply.props = props;
		return _Reply;
	}
	function notFound(reply) {
		if (reply[kRouteContext][kFourOhFourContext] === null) {
			reply.log.warn("Trying to send a NotFound error inside a 404 handler. Sending basic 404 response.");
			reply.code(404).send("404 Not Found");
			return;
		}
		reply.request[kRouteContext] = reply[kRouteContext][kFourOhFourContext];
		if (reply[kRouteContext].preHandler !== null) {
			preHandlerHookRunner(reply[kRouteContext].preHandler, reply.request, reply, internals.preHandlerCallback);
		} else {
			internals.preHandlerCallback(null, reply.request, reply);
		}
	}
	/**
	* This function runs when a payload that is not a string|buffer|stream or null
	* should be serialized to be streamed to the response.
	* This is the default serializer that can be customized by the user using the replySerializer
	*
	* @param {object} context the request context
	* @param {object} data the JSON payload to serialize
	* @param {number} statusCode the http status code
	* @param {string} [contentType] the reply content type
	* @returns {string} the serialized payload
	*/
	function serialize(context, data, statusCode, contentType) {
		const fnSerialize = getSchemaSerializer(context, statusCode, contentType);
		if (fnSerialize) {
			return fnSerialize(data);
		}
		return JSON.stringify(data);
	}
	function noop() {}
	module.exports = Reply;
	module.exports.buildReply = buildReply;
	module.exports.setupResponseListeners = setupResponseListeners;
}));

//#endregion
//#region ../node_modules/forwarded/index.js
/*!
* forwarded
* Copyright(c) 2014-2017 Douglas Christopher Wilson
* MIT Licensed
*/
var require_forwarded = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Module exports.
	* @public
	*/
	module.exports = forwarded;
	/**
	* Get all addresses in the request, using the `X-Forwarded-For` header.
	*
	* @param {object} req
	* @return {array}
	* @public
	*/
	function forwarded(req) {
		if (!req) {
			throw new TypeError("argument req is required");
		}
		var proxyAddrs = parse(req.headers["x-forwarded-for"] || "");
		var socketAddr = getSocketAddr(req);
		var addrs = [socketAddr].concat(proxyAddrs);
		return addrs;
	}
	/**
	* Get the socket address for a request.
	*
	* @param {object} req
	* @return {string}
	* @private
	*/
	function getSocketAddr(req) {
		return req.socket ? req.socket.remoteAddress : req.connection.remoteAddress;
	}
	/**
	* Parse the X-Forwarded-For header.
	*
	* @param {string} header
	* @private
	*/
	function parse(header) {
		var end = header.length;
		var list = [];
		var start = header.length;
		for (var i = header.length - 1; i >= 0; i--) {
			switch (header.charCodeAt(i)) {
				case 32:
					if (start === end) {
						start = end = i;
					}
					break;
				case 44:
					if (start !== end) {
						list.push(header.substring(start, end));
					}
					start = end = i;
					break;
				default:
					start = i;
					break;
			}
		}
		if (start !== end) {
			list.push(header.substring(start, end));
		}
		return list;
	}
}));

//#endregion
//#region ../node_modules/ipaddr.js/lib/ipaddr.js
var require_ipaddr = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	(function() {
		var expandIPv6, ipaddr, ipv4Part, ipv4Regexes, ipv6Part, ipv6Regexes, matchCIDR, root, zoneIndex;
		ipaddr = {};
		root = this;
		if (typeof module !== "undefined" && module !== null && module.exports) {
			module.exports = ipaddr;
		} else {
			root["ipaddr"] = ipaddr;
		}
		matchCIDR = function(first, second, partSize, cidrBits) {
			var part, shift;
			if (first.length !== second.length) {
				throw new Error("ipaddr: cannot match CIDR for objects with different lengths");
			}
			part = 0;
			while (cidrBits > 0) {
				shift = partSize - cidrBits;
				if (shift < 0) {
					shift = 0;
				}
				if (first[part] >> shift !== second[part] >> shift) {
					return false;
				}
				cidrBits -= partSize;
				part += 1;
			}
			return true;
		};
		ipaddr.subnetMatch = function(address, rangeList, defaultName) {
			var k, len, rangeName, rangeSubnets, subnet;
			if (defaultName == null) {
				defaultName = "unicast";
			}
			for (rangeName in rangeList) {
				rangeSubnets = rangeList[rangeName];
				if (rangeSubnets[0] && !(rangeSubnets[0] instanceof Array)) {
					rangeSubnets = [rangeSubnets];
				}
				for (k = 0, len = rangeSubnets.length; k < len; k++) {
					subnet = rangeSubnets[k];
					if (address.kind() === subnet[0].kind()) {
						if (address.match.apply(address, subnet)) {
							return rangeName;
						}
					}
				}
			}
			return defaultName;
		};
		ipaddr.IPv4 = (function() {
			function IPv4(octets) {
				var k, len, octet;
				if (octets.length !== 4) {
					throw new Error("ipaddr: ipv4 octet count should be 4");
				}
				for (k = 0, len = octets.length; k < len; k++) {
					octet = octets[k];
					if (!(0 <= octet && octet <= 255)) {
						throw new Error("ipaddr: ipv4 octet should fit in 8 bits");
					}
				}
				this.octets = octets;
			}
			IPv4.prototype.kind = function() {
				return "ipv4";
			};
			IPv4.prototype.toString = function() {
				return this.octets.join(".");
			};
			IPv4.prototype.toNormalizedString = function() {
				return this.toString();
			};
			IPv4.prototype.toByteArray = function() {
				return this.octets.slice(0);
			};
			IPv4.prototype.match = function(other, cidrRange) {
				var ref;
				if (cidrRange === void 0) {
					ref = other, other = ref[0], cidrRange = ref[1];
				}
				if (other.kind() !== "ipv4") {
					throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");
				}
				return matchCIDR(this.octets, other.octets, 8, cidrRange);
			};
			IPv4.prototype.SpecialRanges = {
				unspecified: [[new IPv4([
					0,
					0,
					0,
					0
				]), 8]],
				broadcast: [[new IPv4([
					255,
					255,
					255,
					255
				]), 32]],
				multicast: [[new IPv4([
					224,
					0,
					0,
					0
				]), 4]],
				linkLocal: [[new IPv4([
					169,
					254,
					0,
					0
				]), 16]],
				loopback: [[new IPv4([
					127,
					0,
					0,
					0
				]), 8]],
				carrierGradeNat: [[new IPv4([
					100,
					64,
					0,
					0
				]), 10]],
				"private": [
					[new IPv4([
						10,
						0,
						0,
						0
					]), 8],
					[new IPv4([
						172,
						16,
						0,
						0
					]), 12],
					[new IPv4([
						192,
						168,
						0,
						0
					]), 16]
				],
				reserved: [
					[new IPv4([
						192,
						0,
						0,
						0
					]), 24],
					[new IPv4([
						192,
						0,
						2,
						0
					]), 24],
					[new IPv4([
						192,
						88,
						99,
						0
					]), 24],
					[new IPv4([
						198,
						51,
						100,
						0
					]), 24],
					[new IPv4([
						203,
						0,
						113,
						0
					]), 24],
					[new IPv4([
						240,
						0,
						0,
						0
					]), 4]
				]
			};
			IPv4.prototype.range = function() {
				return ipaddr.subnetMatch(this, this.SpecialRanges);
			};
			IPv4.prototype.toIPv4MappedAddress = function() {
				return ipaddr.IPv6.parse("::ffff:" + this.toString());
			};
			IPv4.prototype.prefixLengthFromSubnetMask = function() {
				var cidr, i, k, octet, stop, zeros, zerotable;
				zerotable = {
					0: 8,
					128: 7,
					192: 6,
					224: 5,
					240: 4,
					248: 3,
					252: 2,
					254: 1,
					255: 0
				};
				cidr = 0;
				stop = false;
				for (i = k = 3; k >= 0; i = k += -1) {
					octet = this.octets[i];
					if (octet in zerotable) {
						zeros = zerotable[octet];
						if (stop && zeros !== 0) {
							return null;
						}
						if (zeros !== 8) {
							stop = true;
						}
						cidr += zeros;
					} else {
						return null;
					}
				}
				return 32 - cidr;
			};
			return IPv4;
		})();
		ipv4Part = "(0?\\d+|0x[a-f0-9]+)";
		ipv4Regexes = {
			fourOctet: new RegExp("^" + ipv4Part + "\\." + ipv4Part + "\\." + ipv4Part + "\\." + ipv4Part + "$", "i"),
			longValue: new RegExp("^" + ipv4Part + "$", "i")
		};
		ipaddr.IPv4.parser = function(string) {
			var match, parseIntAuto, part, shift, value;
			parseIntAuto = function(string) {
				if (string[0] === "0" && string[1] !== "x") {
					return parseInt(string, 8);
				} else {
					return parseInt(string);
				}
			};
			if (match = string.match(ipv4Regexes.fourOctet)) {
				return (function() {
					var k, len, ref, results;
					ref = match.slice(1, 6);
					results = [];
					for (k = 0, len = ref.length; k < len; k++) {
						part = ref[k];
						results.push(parseIntAuto(part));
					}
					return results;
				})();
			} else if (match = string.match(ipv4Regexes.longValue)) {
				value = parseIntAuto(match[1]);
				if (value > 4294967295 || value < 0) {
					throw new Error("ipaddr: address outside defined range");
				}
				return (function() {
					var k, results;
					results = [];
					for (shift = k = 0; k <= 24; shift = k += 8) {
						results.push(value >> shift & 255);
					}
					return results;
				})().reverse();
			} else {
				return null;
			}
		};
		ipaddr.IPv6 = (function() {
			function IPv6(parts, zoneId) {
				var i, k, l, len, part, ref;
				if (parts.length === 16) {
					this.parts = [];
					for (i = k = 0; k <= 14; i = k += 2) {
						this.parts.push(parts[i] << 8 | parts[i + 1]);
					}
				} else if (parts.length === 8) {
					this.parts = parts;
				} else {
					throw new Error("ipaddr: ipv6 part count should be 8 or 16");
				}
				ref = this.parts;
				for (l = 0, len = ref.length; l < len; l++) {
					part = ref[l];
					if (!(0 <= part && part <= 65535)) {
						throw new Error("ipaddr: ipv6 part should fit in 16 bits");
					}
				}
				if (zoneId) {
					this.zoneId = zoneId;
				}
			}
			IPv6.prototype.kind = function() {
				return "ipv6";
			};
			IPv6.prototype.toString = function() {
				return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/, "::");
			};
			IPv6.prototype.toRFC5952String = function() {
				var bestMatchIndex, bestMatchLength, match, regex, string;
				regex = /((^|:)(0(:|$)){2,})/g;
				string = this.toNormalizedString();
				bestMatchIndex = 0;
				bestMatchLength = -1;
				while (match = regex.exec(string)) {
					if (match[0].length > bestMatchLength) {
						bestMatchIndex = match.index;
						bestMatchLength = match[0].length;
					}
				}
				if (bestMatchLength < 0) {
					return string;
				}
				return string.substring(0, bestMatchIndex) + "::" + string.substring(bestMatchIndex + bestMatchLength);
			};
			IPv6.prototype.toByteArray = function() {
				var bytes, k, len, part, ref;
				bytes = [];
				ref = this.parts;
				for (k = 0, len = ref.length; k < len; k++) {
					part = ref[k];
					bytes.push(part >> 8);
					bytes.push(part & 255);
				}
				return bytes;
			};
			IPv6.prototype.toNormalizedString = function() {
				var addr, part, suffix;
				addr = (function() {
					var k, len, ref, results;
					ref = this.parts;
					results = [];
					for (k = 0, len = ref.length; k < len; k++) {
						part = ref[k];
						results.push(part.toString(16));
					}
					return results;
				}).call(this).join(":");
				suffix = "";
				if (this.zoneId) {
					suffix = "%" + this.zoneId;
				}
				return addr + suffix;
			};
			IPv6.prototype.toFixedLengthString = function() {
				var addr, part, suffix;
				addr = (function() {
					var k, len, ref, results;
					ref = this.parts;
					results = [];
					for (k = 0, len = ref.length; k < len; k++) {
						part = ref[k];
						results.push(part.toString(16).padStart(4, "0"));
					}
					return results;
				}).call(this).join(":");
				suffix = "";
				if (this.zoneId) {
					suffix = "%" + this.zoneId;
				}
				return addr + suffix;
			};
			IPv6.prototype.match = function(other, cidrRange) {
				var ref;
				if (cidrRange === void 0) {
					ref = other, other = ref[0], cidrRange = ref[1];
				}
				if (other.kind() !== "ipv6") {
					throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");
				}
				return matchCIDR(this.parts, other.parts, 16, cidrRange);
			};
			IPv6.prototype.SpecialRanges = {
				unspecified: [new IPv6([
					0,
					0,
					0,
					0,
					0,
					0,
					0,
					0
				]), 128],
				linkLocal: [new IPv6([
					65152,
					0,
					0,
					0,
					0,
					0,
					0,
					0
				]), 10],
				multicast: [new IPv6([
					65280,
					0,
					0,
					0,
					0,
					0,
					0,
					0
				]), 8],
				loopback: [new IPv6([
					0,
					0,
					0,
					0,
					0,
					0,
					0,
					1
				]), 128],
				uniqueLocal: [new IPv6([
					64512,
					0,
					0,
					0,
					0,
					0,
					0,
					0
				]), 7],
				ipv4Mapped: [new IPv6([
					0,
					0,
					0,
					0,
					0,
					65535,
					0,
					0
				]), 96],
				rfc6145: [new IPv6([
					0,
					0,
					0,
					0,
					65535,
					0,
					0,
					0
				]), 96],
				rfc6052: [new IPv6([
					100,
					65435,
					0,
					0,
					0,
					0,
					0,
					0
				]), 96],
				"6to4": [new IPv6([
					8194,
					0,
					0,
					0,
					0,
					0,
					0,
					0
				]), 16],
				teredo: [new IPv6([
					8193,
					0,
					0,
					0,
					0,
					0,
					0,
					0
				]), 32],
				reserved: [[new IPv6([
					8193,
					3512,
					0,
					0,
					0,
					0,
					0,
					0
				]), 32]]
			};
			IPv6.prototype.range = function() {
				return ipaddr.subnetMatch(this, this.SpecialRanges);
			};
			IPv6.prototype.isIPv4MappedAddress = function() {
				return this.range() === "ipv4Mapped";
			};
			IPv6.prototype.toIPv4Address = function() {
				var high, low, ref;
				if (!this.isIPv4MappedAddress()) {
					throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");
				}
				ref = this.parts.slice(-2), high = ref[0], low = ref[1];
				return new ipaddr.IPv4([
					high >> 8,
					high & 255,
					low >> 8,
					low & 255
				]);
			};
			IPv6.prototype.prefixLengthFromSubnetMask = function() {
				var cidr, i, k, part, stop, zeros, zerotable;
				zerotable = {
					0: 16,
					32768: 15,
					49152: 14,
					57344: 13,
					61440: 12,
					63488: 11,
					64512: 10,
					65024: 9,
					65280: 8,
					65408: 7,
					65472: 6,
					65504: 5,
					65520: 4,
					65528: 3,
					65532: 2,
					65534: 1,
					65535: 0
				};
				cidr = 0;
				stop = false;
				for (i = k = 7; k >= 0; i = k += -1) {
					part = this.parts[i];
					if (part in zerotable) {
						zeros = zerotable[part];
						if (stop && zeros !== 0) {
							return null;
						}
						if (zeros !== 16) {
							stop = true;
						}
						cidr += zeros;
					} else {
						return null;
					}
				}
				return 128 - cidr;
			};
			return IPv6;
		})();
		ipv6Part = "(?:[0-9a-f]+::?)+";
		zoneIndex = "%[0-9a-z]{1,}";
		ipv6Regexes = {
			zoneIndex: new RegExp(zoneIndex, "i"),
			"native": new RegExp("^(::)?(" + ipv6Part + ")?([0-9a-f]+)?(::)?(" + zoneIndex + ")?$", "i"),
			transitional: new RegExp("^((?:" + ipv6Part + ")|(?:::)(?:" + ipv6Part + ")?)" + (ipv4Part + "\\." + ipv4Part + "\\." + ipv4Part + "\\." + ipv4Part) + ("(" + zoneIndex + ")?$"), "i")
		};
		expandIPv6 = function(string, parts) {
			var colonCount, lastColon, part, replacement, replacementCount, zoneId;
			if (string.indexOf("::") !== string.lastIndexOf("::")) {
				return null;
			}
			zoneId = (string.match(ipv6Regexes["zoneIndex"]) || [])[0];
			if (zoneId) {
				zoneId = zoneId.substring(1);
				string = string.replace(/%.+$/, "");
			}
			colonCount = 0;
			lastColon = -1;
			while ((lastColon = string.indexOf(":", lastColon + 1)) >= 0) {
				colonCount++;
			}
			if (string.substr(0, 2) === "::") {
				colonCount--;
			}
			if (string.substr(-2, 2) === "::") {
				colonCount--;
			}
			if (colonCount > parts) {
				return null;
			}
			replacementCount = parts - colonCount;
			replacement = ":";
			while (replacementCount--) {
				replacement += "0:";
			}
			string = string.replace("::", replacement);
			if (string[0] === ":") {
				string = string.slice(1);
			}
			if (string[string.length - 1] === ":") {
				string = string.slice(0, -1);
			}
			parts = (function() {
				var k, len, ref, results;
				ref = string.split(":");
				results = [];
				for (k = 0, len = ref.length; k < len; k++) {
					part = ref[k];
					results.push(parseInt(part, 16));
				}
				return results;
			})();
			return {
				parts,
				zoneId
			};
		};
		ipaddr.IPv6.parser = function(string) {
			var addr, k, len, match, octet, octets, zoneId;
			if (ipv6Regexes["native"].test(string)) {
				return expandIPv6(string, 8);
			} else if (match = string.match(ipv6Regexes["transitional"])) {
				zoneId = match[6] || "";
				addr = expandIPv6(match[1].slice(0, -1) + zoneId, 6);
				if (addr.parts) {
					octets = [
						parseInt(match[2]),
						parseInt(match[3]),
						parseInt(match[4]),
						parseInt(match[5])
					];
					for (k = 0, len = octets.length; k < len; k++) {
						octet = octets[k];
						if (!(0 <= octet && octet <= 255)) {
							return null;
						}
					}
					addr.parts.push(octets[0] << 8 | octets[1]);
					addr.parts.push(octets[2] << 8 | octets[3]);
					return {
						parts: addr.parts,
						zoneId: addr.zoneId
					};
				}
			}
			return null;
		};
		ipaddr.IPv4.isIPv4 = ipaddr.IPv6.isIPv6 = function(string) {
			return this.parser(string) !== null;
		};
		ipaddr.IPv4.isValid = function(string) {
			var e;
			try {
				new this(this.parser(string));
				return true;
			} catch (error1) {
				e = error1;
				return false;
			}
		};
		ipaddr.IPv4.isValidFourPartDecimal = function(string) {
			if (ipaddr.IPv4.isValid(string) && string.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/)) {
				return true;
			} else {
				return false;
			}
		};
		ipaddr.IPv6.isValid = function(string) {
			var addr, e;
			if (typeof string === "string" && string.indexOf(":") === -1) {
				return false;
			}
			try {
				addr = this.parser(string);
				new this(addr.parts, addr.zoneId);
				return true;
			} catch (error1) {
				e = error1;
				return false;
			}
		};
		ipaddr.IPv4.parse = function(string) {
			var parts;
			parts = this.parser(string);
			if (parts === null) {
				throw new Error("ipaddr: string is not formatted like ip address");
			}
			return new this(parts);
		};
		ipaddr.IPv6.parse = function(string) {
			var addr;
			addr = this.parser(string);
			if (addr.parts === null) {
				throw new Error("ipaddr: string is not formatted like ip address");
			}
			return new this(addr.parts, addr.zoneId);
		};
		ipaddr.IPv4.parseCIDR = function(string) {
			var maskLength, match, parsed;
			if (match = string.match(/^(.+)\/(\d+)$/)) {
				maskLength = parseInt(match[2]);
				if (maskLength >= 0 && maskLength <= 32) {
					parsed = [this.parse(match[1]), maskLength];
					Object.defineProperty(parsed, "toString", { value: function() {
						return this.join("/");
					} });
					return parsed;
				}
			}
			throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range");
		};
		ipaddr.IPv4.subnetMaskFromPrefixLength = function(prefix) {
			var filledOctetCount, j, octets;
			prefix = parseInt(prefix);
			if (prefix < 0 || prefix > 32) {
				throw new Error("ipaddr: invalid IPv4 prefix length");
			}
			octets = [
				0,
				0,
				0,
				0
			];
			j = 0;
			filledOctetCount = Math.floor(prefix / 8);
			while (j < filledOctetCount) {
				octets[j] = 255;
				j++;
			}
			if (filledOctetCount < 4) {
				octets[filledOctetCount] = Math.pow(2, prefix % 8) - 1 << 8 - prefix % 8;
			}
			return new this(octets);
		};
		ipaddr.IPv4.broadcastAddressFromCIDR = function(string) {
			var cidr, error, i, ipInterfaceOctets, octets, subnetMaskOctets;
			try {
				cidr = this.parseCIDR(string);
				ipInterfaceOctets = cidr[0].toByteArray();
				subnetMaskOctets = this.subnetMaskFromPrefixLength(cidr[1]).toByteArray();
				octets = [];
				i = 0;
				while (i < 4) {
					octets.push(parseInt(ipInterfaceOctets[i], 10) | parseInt(subnetMaskOctets[i], 10) ^ 255);
					i++;
				}
				return new this(octets);
			} catch (error1) {
				error = error1;
				throw new Error("ipaddr: the address does not have IPv4 CIDR format");
			}
		};
		ipaddr.IPv4.networkAddressFromCIDR = function(string) {
			var cidr, error, i, ipInterfaceOctets, octets, subnetMaskOctets;
			try {
				cidr = this.parseCIDR(string);
				ipInterfaceOctets = cidr[0].toByteArray();
				subnetMaskOctets = this.subnetMaskFromPrefixLength(cidr[1]).toByteArray();
				octets = [];
				i = 0;
				while (i < 4) {
					octets.push(parseInt(ipInterfaceOctets[i], 10) & parseInt(subnetMaskOctets[i], 10));
					i++;
				}
				return new this(octets);
			} catch (error1) {
				error = error1;
				throw new Error("ipaddr: the address does not have IPv4 CIDR format");
			}
		};
		ipaddr.IPv6.parseCIDR = function(string) {
			var maskLength, match, parsed;
			if (match = string.match(/^(.+)\/(\d+)$/)) {
				maskLength = parseInt(match[2]);
				if (maskLength >= 0 && maskLength <= 128) {
					parsed = [this.parse(match[1]), maskLength];
					Object.defineProperty(parsed, "toString", { value: function() {
						return this.join("/");
					} });
					return parsed;
				}
			}
			throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range");
		};
		ipaddr.isValid = function(string) {
			return ipaddr.IPv6.isValid(string) || ipaddr.IPv4.isValid(string);
		};
		ipaddr.parse = function(string) {
			if (ipaddr.IPv6.isValid(string)) {
				return ipaddr.IPv6.parse(string);
			} else if (ipaddr.IPv4.isValid(string)) {
				return ipaddr.IPv4.parse(string);
			} else {
				throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format");
			}
		};
		ipaddr.parseCIDR = function(string) {
			var e;
			try {
				return ipaddr.IPv6.parseCIDR(string);
			} catch (error1) {
				e = error1;
				try {
					return ipaddr.IPv4.parseCIDR(string);
				} catch (error1) {
					e = error1;
					throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format");
				}
			}
		};
		ipaddr.fromByteArray = function(bytes) {
			var length;
			length = bytes.length;
			if (length === 4) {
				return new ipaddr.IPv4(bytes);
			} else if (length === 16) {
				return new ipaddr.IPv6(bytes);
			} else {
				throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address");
			}
		};
		ipaddr.process = function(string) {
			var addr;
			addr = this.parse(string);
			if (addr.kind() === "ipv6" && addr.isIPv4MappedAddress()) {
				return addr.toIPv4Address();
			} else {
				return addr;
			}
		};
	}).call(exports);
}));

//#endregion
//#region ../node_modules/proxy-addr/index.js
/*!
* proxy-addr
* Copyright(c) 2014-2016 Douglas Christopher Wilson
* MIT Licensed
*/
var require_proxy_addr = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Module exports.
	* @public
	*/
	module.exports = proxyaddr;
	module.exports.all = alladdrs;
	module.exports.compile = compile;
	/**
	* Module dependencies.
	* @private
	*/
	var forwarded = require_forwarded();
	var ipaddr = require_ipaddr();
	/**
	* Variables.
	* @private
	*/
	var DIGIT_REGEXP = /^[0-9]+$/;
	var isip = ipaddr.isValid;
	var parseip = ipaddr.parse;
	/**
	* Pre-defined IP ranges.
	* @private
	*/
	var IP_RANGES = {
		linklocal: ["169.254.0.0/16", "fe80::/10"],
		loopback: ["127.0.0.1/8", "::1/128"],
		uniquelocal: [
			"10.0.0.0/8",
			"172.16.0.0/12",
			"192.168.0.0/16",
			"fc00::/7"
		]
	};
	/**
	* Get all addresses in the request, optionally stopping
	* at the first untrusted.
	*
	* @param {Object} request
	* @param {Function|Array|String} [trust]
	* @public
	*/
	function alladdrs(req, trust) {
		var addrs = forwarded(req);
		if (!trust) {
			return addrs;
		}
		if (typeof trust !== "function") {
			trust = compile(trust);
		}
		for (var i = 0; i < addrs.length - 1; i++) {
			if (trust(addrs[i], i)) continue;
			addrs.length = i + 1;
		}
		return addrs;
	}
	/**
	* Compile argument into trust function.
	*
	* @param {Array|String} val
	* @private
	*/
	function compile(val) {
		if (!val) {
			throw new TypeError("argument is required");
		}
		var trust;
		if (typeof val === "string") {
			trust = [val];
		} else if (Array.isArray(val)) {
			trust = val.slice();
		} else {
			throw new TypeError("unsupported trust argument");
		}
		for (var i = 0; i < trust.length; i++) {
			val = trust[i];
			if (!Object.prototype.hasOwnProperty.call(IP_RANGES, val)) {
				continue;
			}
			val = IP_RANGES[val];
			trust.splice.apply(trust, [i, 1].concat(val));
			i += val.length - 1;
		}
		return compileTrust(compileRangeSubnets(trust));
	}
	/**
	* Compile `arr` elements into range subnets.
	*
	* @param {Array} arr
	* @private
	*/
	function compileRangeSubnets(arr) {
		var rangeSubnets = new Array(arr.length);
		for (var i = 0; i < arr.length; i++) {
			rangeSubnets[i] = parseipNotation(arr[i]);
		}
		return rangeSubnets;
	}
	/**
	* Compile range subnet array into trust function.
	*
	* @param {Array} rangeSubnets
	* @private
	*/
	function compileTrust(rangeSubnets) {
		var len = rangeSubnets.length;
		return len === 0 ? trustNone : len === 1 ? trustSingle(rangeSubnets[0]) : trustMulti(rangeSubnets);
	}
	/**
	* Parse IP notation string into range subnet.
	*
	* @param {String} note
	* @private
	*/
	function parseipNotation(note) {
		var pos = note.lastIndexOf("/");
		var str = pos !== -1 ? note.substring(0, pos) : note;
		if (!isip(str)) {
			throw new TypeError("invalid IP address: " + str);
		}
		var ip = parseip(str);
		if (pos === -1 && ip.kind() === "ipv6" && ip.isIPv4MappedAddress()) {
			ip = ip.toIPv4Address();
		}
		var max = ip.kind() === "ipv6" ? 128 : 32;
		var range = pos !== -1 ? note.substring(pos + 1, note.length) : null;
		if (range === null) {
			range = max;
		} else if (DIGIT_REGEXP.test(range)) {
			range = parseInt(range, 10);
		} else if (ip.kind() === "ipv4" && isip(range)) {
			range = parseNetmask(range);
		} else {
			range = null;
		}
		if (range <= 0 || range > max) {
			throw new TypeError("invalid range on address: " + note);
		}
		return [ip, range];
	}
	/**
	* Parse netmask string into CIDR range.
	*
	* @param {String} netmask
	* @private
	*/
	function parseNetmask(netmask) {
		var ip = parseip(netmask);
		var kind = ip.kind();
		return kind === "ipv4" ? ip.prefixLengthFromSubnetMask() : null;
	}
	/**
	* Determine address of proxied request.
	*
	* @param {Object} request
	* @param {Function|Array|String} trust
	* @public
	*/
	function proxyaddr(req, trust) {
		if (!req) {
			throw new TypeError("req argument is required");
		}
		if (!trust) {
			throw new TypeError("trust argument is required");
		}
		var addrs = alladdrs(req, trust);
		var addr = addrs[addrs.length - 1];
		return addr;
	}
	/**
	* Static trust function to trust nothing.
	*
	* @private
	*/
	function trustNone() {
		return false;
	}
	/**
	* Compile trust function for multiple subnets.
	*
	* @param {Array} subnets
	* @private
	*/
	function trustMulti(subnets) {
		return function trust(addr) {
			if (!isip(addr)) return false;
			var ip = parseip(addr);
			var ipconv;
			var kind = ip.kind();
			for (var i = 0; i < subnets.length; i++) {
				var subnet = subnets[i];
				var subnetip = subnet[0];
				var subnetkind = subnetip.kind();
				var subnetrange = subnet[1];
				var trusted = ip;
				if (kind !== subnetkind) {
					if (subnetkind === "ipv4" && !ip.isIPv4MappedAddress()) {
						continue;
					}
					if (!ipconv) {
						ipconv = subnetkind === "ipv4" ? ip.toIPv4Address() : ip.toIPv4MappedAddress();
					}
					trusted = ipconv;
				}
				if (trusted.match(subnetip, subnetrange)) {
					return true;
				}
			}
			return false;
		};
	}
	/**
	* Compile trust function for single subnet.
	*
	* @param {Object} subnet
	* @private
	*/
	function trustSingle(subnet) {
		var subnetip = subnet[0];
		var subnetkind = subnetip.kind();
		var subnetisipv4 = subnetkind === "ipv4";
		var subnetrange = subnet[1];
		return function trust(addr) {
			if (!isip(addr)) return false;
			var ip = parseip(addr);
			var kind = ip.kind();
			if (kind !== subnetkind) {
				if (subnetisipv4 && !ip.isIPv4MappedAddress()) {
					return false;
				}
				ip = subnetisipv4 ? ip.toIPv4Address() : ip.toIPv4MappedAddress();
			}
			return ip.match(subnetip, subnetrange);
		};
	}
}));

//#endregion
//#region ../node_modules/semver/internal/constants.js
var require_constants$5 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const SEMVER_SPEC_VERSION = "2.0.0";
	const MAX_LENGTH = 256;
	const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
	const MAX_SAFE_COMPONENT_LENGTH = 16;
	const MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
	const RELEASE_TYPES = [
		"major",
		"premajor",
		"minor",
		"preminor",
		"patch",
		"prepatch",
		"prerelease"
	];
	module.exports = {
		MAX_LENGTH,
		MAX_SAFE_COMPONENT_LENGTH,
		MAX_SAFE_BUILD_LENGTH,
		MAX_SAFE_INTEGER,
		RELEASE_TYPES,
		SEMVER_SPEC_VERSION,
		FLAG_INCLUDE_PRERELEASE: 1,
		FLAG_LOOSE: 2
	};
}));

//#endregion
//#region ../node_modules/semver/internal/debug.js
var require_debug = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const debug = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {};
	module.exports = debug;
}));

//#endregion
//#region ../node_modules/semver/internal/re.js
var require_re = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { MAX_SAFE_COMPONENT_LENGTH, MAX_SAFE_BUILD_LENGTH, MAX_LENGTH } = require_constants$5();
	const debug = require_debug();
	exports = module.exports = {};
	const re = exports.re = [];
	const safeRe = exports.safeRe = [];
	const src = exports.src = [];
	const safeSrc = exports.safeSrc = [];
	const t = exports.t = {};
	let R = 0;
	const LETTERDASHNUMBER = "[a-zA-Z0-9-]";
	const safeRegexReplacements = [
		["\\s", 1],
		["\\d", MAX_LENGTH],
		[LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
	];
	const makeSafeRegex = (value) => {
		for (const [token, max] of safeRegexReplacements) {
			value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);
		}
		return value;
	};
	const createToken = (name, value, isGlobal) => {
		const safe = makeSafeRegex(value);
		const index = R++;
		debug(name, index, value);
		t[name] = index;
		src[index] = value;
		safeSrc[index] = safe;
		re[index] = new RegExp(value, isGlobal ? "g" : undefined);
		safeRe[index] = new RegExp(safe, isGlobal ? "g" : undefined);
	};
	createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
	createToken("NUMERICIDENTIFIERLOOSE", "\\d+");
	createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
	createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.` + `(${src[t.NUMERICIDENTIFIER]})\\.` + `(${src[t.NUMERICIDENTIFIER]})`);
	createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + `(${src[t.NUMERICIDENTIFIERLOOSE]})`);
	createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);
	createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);
	createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
	createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
	createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
	createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);
	createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);
	createToken("FULL", `^${src[t.FULLPLAIN]}$`);
	createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);
	createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`);
	createToken("GTLT", "((?:<|>)?=?)");
	createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);
	createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);
	createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})` + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + `(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?` + `)?)?`);
	createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?` + `)?)?`);
	createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);
	createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);
	createToken("COERCEPLAIN", `${"(^|[^\\d])" + "(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})` + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);
	createToken("COERCE", `${src[t.COERCEPLAIN]}(?:$|[^\\d])`);
	createToken("COERCEFULL", src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?` + `(?:${src[t.BUILD]})?` + `(?:$|[^\\d])`);
	createToken("COERCERTL", src[t.COERCE], true);
	createToken("COERCERTLFULL", src[t.COERCEFULL], true);
	createToken("LONETILDE", "(?:~>?)");
	createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true);
	exports.tildeTrimReplace = "$1~";
	createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);
	createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);
	createToken("LONECARET", "(?:\\^)");
	createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true);
	exports.caretTrimReplace = "$1^";
	createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);
	createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);
	createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);
	createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);
	createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);
	exports.comparatorTrimReplace = "$1$2$3";
	createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})` + `\\s+-\\s+` + `(${src[t.XRANGEPLAIN]})` + `\\s*$`);
	createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})` + `\\s+-\\s+` + `(${src[t.XRANGEPLAINLOOSE]})` + `\\s*$`);
	createToken("STAR", "(<|>)?=?\\s*\\*");
	createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$");
	createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
}));

//#endregion
//#region ../node_modules/semver/internal/parse-options.js
var require_parse_options = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const looseOption = Object.freeze({ loose: true });
	const emptyOpts = Object.freeze({});
	const parseOptions = (options) => {
		if (!options) {
			return emptyOpts;
		}
		if (typeof options !== "object") {
			return looseOption;
		}
		return options;
	};
	module.exports = parseOptions;
}));

//#endregion
//#region ../node_modules/semver/internal/identifiers.js
var require_identifiers = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const numeric = /^[0-9]+$/;
	const compareIdentifiers = (a, b) => {
		if (typeof a === "number" && typeof b === "number") {
			return a === b ? 0 : a < b ? -1 : 1;
		}
		const anum = numeric.test(a);
		const bnum = numeric.test(b);
		if (anum && bnum) {
			a = +a;
			b = +b;
		}
		return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
	};
	const rcompareIdentifiers = (a, b) => compareIdentifiers(b, a);
	module.exports = {
		compareIdentifiers,
		rcompareIdentifiers
	};
}));

//#endregion
//#region ../node_modules/semver/classes/semver.js
var require_semver$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const debug = require_debug();
	const { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants$5();
	const { safeRe: re, t } = require_re();
	const parseOptions = require_parse_options();
	const { compareIdentifiers } = require_identifiers();
	var SemVer = class SemVer {
		constructor(version, options) {
			options = parseOptions(options);
			if (version instanceof SemVer) {
				if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {
					return version;
				} else {
					version = version.version;
				}
			} else if (typeof version !== "string") {
				throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`);
			}
			if (version.length > MAX_LENGTH) {
				throw new TypeError(`version is longer than ${MAX_LENGTH} characters`);
			}
			debug("SemVer", version, options);
			this.options = options;
			this.loose = !!options.loose;
			this.includePrerelease = !!options.includePrerelease;
			const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
			if (!m) {
				throw new TypeError(`Invalid Version: ${version}`);
			}
			this.raw = version;
			this.major = +m[1];
			this.minor = +m[2];
			this.patch = +m[3];
			if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
				throw new TypeError("Invalid major version");
			}
			if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
				throw new TypeError("Invalid minor version");
			}
			if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
				throw new TypeError("Invalid patch version");
			}
			if (!m[4]) {
				this.prerelease = [];
			} else {
				this.prerelease = m[4].split(".").map((id) => {
					if (/^[0-9]+$/.test(id)) {
						const num = +id;
						if (num >= 0 && num < MAX_SAFE_INTEGER) {
							return num;
						}
					}
					return id;
				});
			}
			this.build = m[5] ? m[5].split(".") : [];
			this.format();
		}
		format() {
			this.version = `${this.major}.${this.minor}.${this.patch}`;
			if (this.prerelease.length) {
				this.version += `-${this.prerelease.join(".")}`;
			}
			return this.version;
		}
		toString() {
			return this.version;
		}
		compare(other) {
			debug("SemVer.compare", this.version, this.options, other);
			if (!(other instanceof SemVer)) {
				if (typeof other === "string" && other === this.version) {
					return 0;
				}
				other = new SemVer(other, this.options);
			}
			if (other.version === this.version) {
				return 0;
			}
			return this.compareMain(other) || this.comparePre(other);
		}
		compareMain(other) {
			if (!(other instanceof SemVer)) {
				other = new SemVer(other, this.options);
			}
			if (this.major < other.major) {
				return -1;
			}
			if (this.major > other.major) {
				return 1;
			}
			if (this.minor < other.minor) {
				return -1;
			}
			if (this.minor > other.minor) {
				return 1;
			}
			if (this.patch < other.patch) {
				return -1;
			}
			if (this.patch > other.patch) {
				return 1;
			}
			return 0;
		}
		comparePre(other) {
			if (!(other instanceof SemVer)) {
				other = new SemVer(other, this.options);
			}
			if (this.prerelease.length && !other.prerelease.length) {
				return -1;
			} else if (!this.prerelease.length && other.prerelease.length) {
				return 1;
			} else if (!this.prerelease.length && !other.prerelease.length) {
				return 0;
			}
			let i = 0;
			do {
				const a = this.prerelease[i];
				const b = other.prerelease[i];
				debug("prerelease compare", i, a, b);
				if (a === undefined && b === undefined) {
					return 0;
				} else if (b === undefined) {
					return 1;
				} else if (a === undefined) {
					return -1;
				} else if (a === b) {
					continue;
				} else {
					return compareIdentifiers(a, b);
				}
			} while (++i);
		}
		compareBuild(other) {
			if (!(other instanceof SemVer)) {
				other = new SemVer(other, this.options);
			}
			let i = 0;
			do {
				const a = this.build[i];
				const b = other.build[i];
				debug("build compare", i, a, b);
				if (a === undefined && b === undefined) {
					return 0;
				} else if (b === undefined) {
					return 1;
				} else if (a === undefined) {
					return -1;
				} else if (a === b) {
					continue;
				} else {
					return compareIdentifiers(a, b);
				}
			} while (++i);
		}
		inc(release, identifier, identifierBase) {
			if (release.startsWith("pre")) {
				if (!identifier && identifierBase === false) {
					throw new Error("invalid increment argument: identifier is empty");
				}
				if (identifier) {
					const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]);
					if (!match || match[1] !== identifier) {
						throw new Error(`invalid identifier: ${identifier}`);
					}
				}
			}
			switch (release) {
				case "premajor":
					this.prerelease.length = 0;
					this.patch = 0;
					this.minor = 0;
					this.major++;
					this.inc("pre", identifier, identifierBase);
					break;
				case "preminor":
					this.prerelease.length = 0;
					this.patch = 0;
					this.minor++;
					this.inc("pre", identifier, identifierBase);
					break;
				case "prepatch":
					this.prerelease.length = 0;
					this.inc("patch", identifier, identifierBase);
					this.inc("pre", identifier, identifierBase);
					break;
				case "prerelease":
					if (this.prerelease.length === 0) {
						this.inc("patch", identifier, identifierBase);
					}
					this.inc("pre", identifier, identifierBase);
					break;
				case "release":
					if (this.prerelease.length === 0) {
						throw new Error(`version ${this.raw} is not a prerelease`);
					}
					this.prerelease.length = 0;
					break;
				case "major":
					if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
						this.major++;
					}
					this.minor = 0;
					this.patch = 0;
					this.prerelease = [];
					break;
				case "minor":
					if (this.patch !== 0 || this.prerelease.length === 0) {
						this.minor++;
					}
					this.patch = 0;
					this.prerelease = [];
					break;
				case "patch":
					if (this.prerelease.length === 0) {
						this.patch++;
					}
					this.prerelease = [];
					break;
				case "pre": {
					const base = Number(identifierBase) ? 1 : 0;
					if (this.prerelease.length === 0) {
						this.prerelease = [base];
					} else {
						let i = this.prerelease.length;
						while (--i >= 0) {
							if (typeof this.prerelease[i] === "number") {
								this.prerelease[i]++;
								i = -2;
							}
						}
						if (i === -1) {
							if (identifier === this.prerelease.join(".") && identifierBase === false) {
								throw new Error("invalid increment argument: identifier already exists");
							}
							this.prerelease.push(base);
						}
					}
					if (identifier) {
						let prerelease = [identifier, base];
						if (identifierBase === false) {
							prerelease = [identifier];
						}
						if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
							if (isNaN(this.prerelease[1])) {
								this.prerelease = prerelease;
							}
						} else {
							this.prerelease = prerelease;
						}
					}
					break;
				}
				default: throw new Error(`invalid increment argument: ${release}`);
			}
			this.raw = this.format();
			if (this.build.length) {
				this.raw += `+${this.build.join(".")}`;
			}
			return this;
		}
	};
	module.exports = SemVer;
}));

//#endregion
//#region ../node_modules/semver/functions/parse.js
var require_parse$5 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const SemVer = require_semver$1();
	const parse = (version, options, throwErrors = false) => {
		if (version instanceof SemVer) {
			return version;
		}
		try {
			return new SemVer(version, options);
		} catch (er) {
			if (!throwErrors) {
				return null;
			}
			throw er;
		}
	};
	module.exports = parse;
}));

//#endregion
//#region ../node_modules/semver/functions/valid.js
var require_valid$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const parse = require_parse$5();
	const valid = (version, options) => {
		const v = parse(version, options);
		return v ? v.version : null;
	};
	module.exports = valid;
}));

//#endregion
//#region ../node_modules/semver/functions/clean.js
var require_clean = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const parse = require_parse$5();
	const clean = (version, options) => {
		const s = parse(version.trim().replace(/^[=v]+/, ""), options);
		return s ? s.version : null;
	};
	module.exports = clean;
}));

//#endregion
//#region ../node_modules/semver/functions/inc.js
var require_inc = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const SemVer = require_semver$1();
	const inc = (version, release, options, identifier, identifierBase) => {
		if (typeof options === "string") {
			identifierBase = identifier;
			identifier = options;
			options = undefined;
		}
		try {
			return new SemVer(version instanceof SemVer ? version.version : version, options).inc(release, identifier, identifierBase).version;
		} catch (er) {
			return null;
		}
	};
	module.exports = inc;
}));

//#endregion
//#region ../node_modules/semver/functions/diff.js
var require_diff = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const parse = require_parse$5();
	const diff = (version1, version2) => {
		const v1 = parse(version1, null, true);
		const v2 = parse(version2, null, true);
		const comparison = v1.compare(v2);
		if (comparison === 0) {
			return null;
		}
		const v1Higher = comparison > 0;
		const highVersion = v1Higher ? v1 : v2;
		const lowVersion = v1Higher ? v2 : v1;
		const highHasPre = !!highVersion.prerelease.length;
		const lowHasPre = !!lowVersion.prerelease.length;
		if (lowHasPre && !highHasPre) {
			if (!lowVersion.patch && !lowVersion.minor) {
				return "major";
			}
			if (lowVersion.compareMain(highVersion) === 0) {
				if (lowVersion.minor && !lowVersion.patch) {
					return "minor";
				}
				return "patch";
			}
		}
		const prefix = highHasPre ? "pre" : "";
		if (v1.major !== v2.major) {
			return prefix + "major";
		}
		if (v1.minor !== v2.minor) {
			return prefix + "minor";
		}
		if (v1.patch !== v2.patch) {
			return prefix + "patch";
		}
		return "prerelease";
	};
	module.exports = diff;
}));

//#endregion
//#region ../node_modules/semver/functions/major.js
var require_major = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const SemVer = require_semver$1();
	const major = (a, loose) => new SemVer(a, loose).major;
	module.exports = major;
}));

//#endregion
//#region ../node_modules/semver/functions/minor.js
var require_minor = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const SemVer = require_semver$1();
	const minor = (a, loose) => new SemVer(a, loose).minor;
	module.exports = minor;
}));

//#endregion
//#region ../node_modules/semver/functions/patch.js
var require_patch = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const SemVer = require_semver$1();
	const patch = (a, loose) => new SemVer(a, loose).patch;
	module.exports = patch;
}));

//#endregion
//#region ../node_modules/semver/functions/prerelease.js
var require_prerelease = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const parse = require_parse$5();
	const prerelease = (version, options) => {
		const parsed = parse(version, options);
		return parsed && parsed.prerelease.length ? parsed.prerelease : null;
	};
	module.exports = prerelease;
}));

//#endregion
//#region ../node_modules/semver/functions/compare.js
var require_compare = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const SemVer = require_semver$1();
	const compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
	module.exports = compare;
}));

//#endregion
//#region ../node_modules/semver/functions/rcompare.js
var require_rcompare = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const compare = require_compare();
	const rcompare = (a, b, loose) => compare(b, a, loose);
	module.exports = rcompare;
}));

//#endregion
//#region ../node_modules/semver/functions/compare-loose.js
var require_compare_loose = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const compare = require_compare();
	const compareLoose = (a, b) => compare(a, b, true);
	module.exports = compareLoose;
}));

//#endregion
//#region ../node_modules/semver/functions/compare-build.js
var require_compare_build = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const SemVer = require_semver$1();
	const compareBuild = (a, b, loose) => {
		const versionA = new SemVer(a, loose);
		const versionB = new SemVer(b, loose);
		return versionA.compare(versionB) || versionA.compareBuild(versionB);
	};
	module.exports = compareBuild;
}));

//#endregion
//#region ../node_modules/semver/functions/sort.js
var require_sort = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const compareBuild = require_compare_build();
	const sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
	module.exports = sort;
}));

//#endregion
//#region ../node_modules/semver/functions/rsort.js
var require_rsort = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const compareBuild = require_compare_build();
	const rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
	module.exports = rsort;
}));

//#endregion
//#region ../node_modules/semver/functions/gt.js
var require_gt = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const compare = require_compare();
	const gt = (a, b, loose) => compare(a, b, loose) > 0;
	module.exports = gt;
}));

//#endregion
//#region ../node_modules/semver/functions/lt.js
var require_lt = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const compare = require_compare();
	const lt = (a, b, loose) => compare(a, b, loose) < 0;
	module.exports = lt;
}));

//#endregion
//#region ../node_modules/semver/functions/eq.js
var require_eq = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const compare = require_compare();
	const eq = (a, b, loose) => compare(a, b, loose) === 0;
	module.exports = eq;
}));

//#endregion
//#region ../node_modules/semver/functions/neq.js
var require_neq = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const compare = require_compare();
	const neq = (a, b, loose) => compare(a, b, loose) !== 0;
	module.exports = neq;
}));

//#endregion
//#region ../node_modules/semver/functions/gte.js
var require_gte = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const compare = require_compare();
	const gte = (a, b, loose) => compare(a, b, loose) >= 0;
	module.exports = gte;
}));

//#endregion
//#region ../node_modules/semver/functions/lte.js
var require_lte = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const compare = require_compare();
	const lte = (a, b, loose) => compare(a, b, loose) <= 0;
	module.exports = lte;
}));

//#endregion
//#region ../node_modules/semver/functions/cmp.js
var require_cmp = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const eq = require_eq();
	const neq = require_neq();
	const gt = require_gt();
	const gte = require_gte();
	const lt = require_lt();
	const lte = require_lte();
	const cmp = (a, op, b, loose) => {
		switch (op) {
			case "===":
				if (typeof a === "object") {
					a = a.version;
				}
				if (typeof b === "object") {
					b = b.version;
				}
				return a === b;
			case "!==":
				if (typeof a === "object") {
					a = a.version;
				}
				if (typeof b === "object") {
					b = b.version;
				}
				return a !== b;
			case "":
			case "=":
			case "==": return eq(a, b, loose);
			case "!=": return neq(a, b, loose);
			case ">": return gt(a, b, loose);
			case ">=": return gte(a, b, loose);
			case "<": return lt(a, b, loose);
			case "<=": return lte(a, b, loose);
			default: throw new TypeError(`Invalid operator: ${op}`);
		}
	};
	module.exports = cmp;
}));

//#endregion
//#region ../node_modules/semver/functions/coerce.js
var require_coerce = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const SemVer = require_semver$1();
	const parse = require_parse$5();
	const { safeRe: re, t } = require_re();
	const coerce = (version, options) => {
		if (version instanceof SemVer) {
			return version;
		}
		if (typeof version === "number") {
			version = String(version);
		}
		if (typeof version !== "string") {
			return null;
		}
		options = options || {};
		let match = null;
		if (!options.rtl) {
			match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]);
		} else {
			const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL];
			let next;
			while ((next = coerceRtlRegex.exec(version)) && (!match || match.index + match[0].length !== version.length)) {
				if (!match || next.index + next[0].length !== match.index + match[0].length) {
					match = next;
				}
				coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length;
			}
			coerceRtlRegex.lastIndex = -1;
		}
		if (match === null) {
			return null;
		}
		const major = match[2];
		const minor = match[3] || "0";
		const patch = match[4] || "0";
		const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : "";
		const build = options.includePrerelease && match[6] ? `+${match[6]}` : "";
		return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options);
	};
	module.exports = coerce;
}));

//#endregion
//#region ../node_modules/semver/internal/lrucache.js
var require_lrucache = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var LRUCache = class {
		constructor() {
			this.max = 1e3;
			this.map = new Map();
		}
		get(key) {
			const value = this.map.get(key);
			if (value === undefined) {
				return undefined;
			} else {
				this.map.delete(key);
				this.map.set(key, value);
				return value;
			}
		}
		delete(key) {
			return this.map.delete(key);
		}
		set(key, value) {
			const deleted = this.delete(key);
			if (!deleted && value !== undefined) {
				if (this.map.size >= this.max) {
					const firstKey = this.map.keys().next().value;
					this.delete(firstKey);
				}
				this.map.set(key, value);
			}
			return this;
		}
	};
	module.exports = LRUCache;
}));

//#endregion
//#region ../node_modules/semver/classes/range.js
var require_range = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const SPACE_CHARACTERS = /\s+/g;
	var Range = class Range {
		constructor(range, options) {
			options = parseOptions(options);
			if (range instanceof Range) {
				if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
					return range;
				} else {
					return new Range(range.raw, options);
				}
			}
			if (range instanceof Comparator) {
				this.raw = range.value;
				this.set = [[range]];
				this.formatted = undefined;
				return this;
			}
			this.options = options;
			this.loose = !!options.loose;
			this.includePrerelease = !!options.includePrerelease;
			this.raw = range.trim().replace(SPACE_CHARACTERS, " ");
			this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length);
			if (!this.set.length) {
				throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
			}
			if (this.set.length > 1) {
				const first = this.set[0];
				this.set = this.set.filter((c) => !isNullSet(c[0]));
				if (this.set.length === 0) {
					this.set = [first];
				} else if (this.set.length > 1) {
					for (const c of this.set) {
						if (c.length === 1 && isAny(c[0])) {
							this.set = [c];
							break;
						}
					}
				}
			}
			this.formatted = undefined;
		}
		get range() {
			if (this.formatted === undefined) {
				this.formatted = "";
				for (let i = 0; i < this.set.length; i++) {
					if (i > 0) {
						this.formatted += "||";
					}
					const comps = this.set[i];
					for (let k = 0; k < comps.length; k++) {
						if (k > 0) {
							this.formatted += " ";
						}
						this.formatted += comps[k].toString().trim();
					}
				}
			}
			return this.formatted;
		}
		format() {
			return this.range;
		}
		toString() {
			return this.range;
		}
		parseRange(range) {
			const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
			const memoKey = memoOpts + ":" + range;
			const cached = cache.get(memoKey);
			if (cached) {
				return cached;
			}
			const loose = this.options.loose;
			const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
			range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
			debug("hyphen replace", range);
			range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
			debug("comparator trim", range);
			range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
			debug("tilde trim", range);
			range = range.replace(re[t.CARETTRIM], caretTrimReplace);
			debug("caret trim", range);
			let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
			if (loose) {
				rangeList = rangeList.filter((comp) => {
					debug("loose invalid filter", comp, this.options);
					return !!comp.match(re[t.COMPARATORLOOSE]);
				});
			}
			debug("range list", rangeList);
			const rangeMap = new Map();
			const comparators = rangeList.map((comp) => new Comparator(comp, this.options));
			for (const comp of comparators) {
				if (isNullSet(comp)) {
					return [comp];
				}
				rangeMap.set(comp.value, comp);
			}
			if (rangeMap.size > 1 && rangeMap.has("")) {
				rangeMap.delete("");
			}
			const result = [...rangeMap.values()];
			cache.set(memoKey, result);
			return result;
		}
		intersects(range, options) {
			if (!(range instanceof Range)) {
				throw new TypeError("a Range is required");
			}
			return this.set.some((thisComparators) => {
				return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => {
					return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => {
						return rangeComparators.every((rangeComparator) => {
							return thisComparator.intersects(rangeComparator, options);
						});
					});
				});
			});
		}
		test(version) {
			if (!version) {
				return false;
			}
			if (typeof version === "string") {
				try {
					version = new SemVer(version, this.options);
				} catch (er) {
					return false;
				}
			}
			for (let i = 0; i < this.set.length; i++) {
				if (testSet(this.set[i], version, this.options)) {
					return true;
				}
			}
			return false;
		}
	};
	module.exports = Range;
	const LRU = require_lrucache();
	const cache = new LRU();
	const parseOptions = require_parse_options();
	const Comparator = require_comparator();
	const debug = require_debug();
	const SemVer = require_semver$1();
	const { safeRe: re, t, comparatorTrimReplace, tildeTrimReplace, caretTrimReplace } = require_re();
	const { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants$5();
	const isNullSet = (c) => c.value === "<0.0.0-0";
	const isAny = (c) => c.value === "";
	const isSatisfiable = (comparators, options) => {
		let result = true;
		const remainingComparators = comparators.slice();
		let testComparator = remainingComparators.pop();
		while (result && remainingComparators.length) {
			result = remainingComparators.every((otherComparator) => {
				return testComparator.intersects(otherComparator, options);
			});
			testComparator = remainingComparators.pop();
		}
		return result;
	};
	const parseComparator = (comp, options) => {
		comp = comp.replace(re[t.BUILD], "");
		debug("comp", comp, options);
		comp = replaceCarets(comp, options);
		debug("caret", comp);
		comp = replaceTildes(comp, options);
		debug("tildes", comp);
		comp = replaceXRanges(comp, options);
		debug("xrange", comp);
		comp = replaceStars(comp, options);
		debug("stars", comp);
		return comp;
	};
	const isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
	const replaceTildes = (comp, options) => {
		return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" ");
	};
	const replaceTilde = (comp, options) => {
		const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
		return comp.replace(r, (_, M, m, p, pr) => {
			debug("tilde", comp, _, M, m, p, pr);
			let ret;
			if (isX(M)) {
				ret = "";
			} else if (isX(m)) {
				ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
			} else if (isX(p)) {
				ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
			} else if (pr) {
				debug("replaceTilde pr", pr);
				ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
			} else {
				ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
			}
			debug("tilde return", ret);
			return ret;
		});
	};
	const replaceCarets = (comp, options) => {
		return comp.trim().split(/\s+/).map((c) => replaceCaret(c, options)).join(" ");
	};
	const replaceCaret = (comp, options) => {
		debug("caret", comp, options);
		const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
		const z = options.includePrerelease ? "-0" : "";
		return comp.replace(r, (_, M, m, p, pr) => {
			debug("caret", comp, _, M, m, p, pr);
			let ret;
			if (isX(M)) {
				ret = "";
			} else if (isX(m)) {
				ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
			} else if (isX(p)) {
				if (M === "0") {
					ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
				} else {
					ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;
				}
			} else if (pr) {
				debug("replaceCaret pr", pr);
				if (M === "0") {
					if (m === "0") {
						ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`;
					} else {
						ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
					}
				} else {
					ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;
				}
			} else {
				debug("no pr");
				if (M === "0") {
					if (m === "0") {
						ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`;
					} else {
						ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`;
					}
				} else {
					ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
				}
			}
			debug("caret return", ret);
			return ret;
		});
	};
	const replaceXRanges = (comp, options) => {
		debug("replaceXRanges", comp, options);
		return comp.split(/\s+/).map((c) => replaceXRange(c, options)).join(" ");
	};
	const replaceXRange = (comp, options) => {
		comp = comp.trim();
		const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
		return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
			debug("xRange", comp, ret, gtlt, M, m, p, pr);
			const xM = isX(M);
			const xm = xM || isX(m);
			const xp = xm || isX(p);
			const anyX = xp;
			if (gtlt === "=" && anyX) {
				gtlt = "";
			}
			pr = options.includePrerelease ? "-0" : "";
			if (xM) {
				if (gtlt === ">" || gtlt === "<") {
					ret = "<0.0.0-0";
				} else {
					ret = "*";
				}
			} else if (gtlt && anyX) {
				if (xm) {
					m = 0;
				}
				p = 0;
				if (gtlt === ">") {
					gtlt = ">=";
					if (xm) {
						M = +M + 1;
						m = 0;
						p = 0;
					} else {
						m = +m + 1;
						p = 0;
					}
				} else if (gtlt === "<=") {
					gtlt = "<";
					if (xm) {
						M = +M + 1;
					} else {
						m = +m + 1;
					}
				}
				if (gtlt === "<") {
					pr = "-0";
				}
				ret = `${gtlt + M}.${m}.${p}${pr}`;
			} else if (xm) {
				ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
			} else if (xp) {
				ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;
			}
			debug("xRange return", ret);
			return ret;
		});
	};
	const replaceStars = (comp, options) => {
		debug("replaceStars", comp, options);
		return comp.trim().replace(re[t.STAR], "");
	};
	const replaceGTE0 = (comp, options) => {
		debug("replaceGTE0", comp, options);
		return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], "");
	};
	const hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => {
		if (isX(fM)) {
			from = "";
		} else if (isX(fm)) {
			from = `>=${fM}.0.0${incPr ? "-0" : ""}`;
		} else if (isX(fp)) {
			from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`;
		} else if (fpr) {
			from = `>=${from}`;
		} else {
			from = `>=${from}${incPr ? "-0" : ""}`;
		}
		if (isX(tM)) {
			to = "";
		} else if (isX(tm)) {
			to = `<${+tM + 1}.0.0-0`;
		} else if (isX(tp)) {
			to = `<${tM}.${+tm + 1}.0-0`;
		} else if (tpr) {
			to = `<=${tM}.${tm}.${tp}-${tpr}`;
		} else if (incPr) {
			to = `<${tM}.${tm}.${+tp + 1}-0`;
		} else {
			to = `<=${to}`;
		}
		return `${from} ${to}`.trim();
	};
	const testSet = (set, version, options) => {
		for (let i = 0; i < set.length; i++) {
			if (!set[i].test(version)) {
				return false;
			}
		}
		if (version.prerelease.length && !options.includePrerelease) {
			for (let i = 0; i < set.length; i++) {
				debug(set[i].semver);
				if (set[i].semver === Comparator.ANY) {
					continue;
				}
				if (set[i].semver.prerelease.length > 0) {
					const allowed = set[i].semver;
					if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
						return true;
					}
				}
			}
			return false;
		}
		return true;
	};
}));

//#endregion
//#region ../node_modules/semver/classes/comparator.js
var require_comparator = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const ANY = Symbol("SemVer ANY");
	var Comparator = class Comparator {
		static get ANY() {
			return ANY;
		}
		constructor(comp, options) {
			options = parseOptions(options);
			if (comp instanceof Comparator) {
				if (comp.loose === !!options.loose) {
					return comp;
				} else {
					comp = comp.value;
				}
			}
			comp = comp.trim().split(/\s+/).join(" ");
			debug("comparator", comp, options);
			this.options = options;
			this.loose = !!options.loose;
			this.parse(comp);
			if (this.semver === ANY) {
				this.value = "";
			} else {
				this.value = this.operator + this.semver.version;
			}
			debug("comp", this);
		}
		parse(comp) {
			const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
			const m = comp.match(r);
			if (!m) {
				throw new TypeError(`Invalid comparator: ${comp}`);
			}
			this.operator = m[1] !== undefined ? m[1] : "";
			if (this.operator === "=") {
				this.operator = "";
			}
			if (!m[2]) {
				this.semver = ANY;
			} else {
				this.semver = new SemVer(m[2], this.options.loose);
			}
		}
		toString() {
			return this.value;
		}
		test(version) {
			debug("Comparator.test", version, this.options.loose);
			if (this.semver === ANY || version === ANY) {
				return true;
			}
			if (typeof version === "string") {
				try {
					version = new SemVer(version, this.options);
				} catch (er) {
					return false;
				}
			}
			return cmp(version, this.operator, this.semver, this.options);
		}
		intersects(comp, options) {
			if (!(comp instanceof Comparator)) {
				throw new TypeError("a Comparator is required");
			}
			if (this.operator === "") {
				if (this.value === "") {
					return true;
				}
				return new Range(comp.value, options).test(this.value);
			} else if (comp.operator === "") {
				if (comp.value === "") {
					return true;
				}
				return new Range(this.value, options).test(comp.semver);
			}
			options = parseOptions(options);
			if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) {
				return false;
			}
			if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) {
				return false;
			}
			if (this.operator.startsWith(">") && comp.operator.startsWith(">")) {
				return true;
			}
			if (this.operator.startsWith("<") && comp.operator.startsWith("<")) {
				return true;
			}
			if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) {
				return true;
			}
			if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) {
				return true;
			}
			if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) {
				return true;
			}
			return false;
		}
	};
	module.exports = Comparator;
	const parseOptions = require_parse_options();
	const { safeRe: re, t } = require_re();
	const cmp = require_cmp();
	const debug = require_debug();
	const SemVer = require_semver$1();
	const Range = require_range();
}));

//#endregion
//#region ../node_modules/semver/functions/satisfies.js
var require_satisfies = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const Range = require_range();
	const satisfies = (version, range, options) => {
		try {
			range = new Range(range, options);
		} catch (er) {
			return false;
		}
		return range.test(version);
	};
	module.exports = satisfies;
}));

//#endregion
//#region ../node_modules/semver/ranges/to-comparators.js
var require_to_comparators = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const Range = require_range();
	const toComparators = (range, options) => new Range(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
	module.exports = toComparators;
}));

//#endregion
//#region ../node_modules/semver/ranges/max-satisfying.js
var require_max_satisfying = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const SemVer = require_semver$1();
	const Range = require_range();
	const maxSatisfying = (versions, range, options) => {
		let max = null;
		let maxSV = null;
		let rangeObj = null;
		try {
			rangeObj = new Range(range, options);
		} catch (er) {
			return null;
		}
		versions.forEach((v) => {
			if (rangeObj.test(v)) {
				if (!max || maxSV.compare(v) === -1) {
					max = v;
					maxSV = new SemVer(max, options);
				}
			}
		});
		return max;
	};
	module.exports = maxSatisfying;
}));

//#endregion
//#region ../node_modules/semver/ranges/min-satisfying.js
var require_min_satisfying = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const SemVer = require_semver$1();
	const Range = require_range();
	const minSatisfying = (versions, range, options) => {
		let min = null;
		let minSV = null;
		let rangeObj = null;
		try {
			rangeObj = new Range(range, options);
		} catch (er) {
			return null;
		}
		versions.forEach((v) => {
			if (rangeObj.test(v)) {
				if (!min || minSV.compare(v) === 1) {
					min = v;
					minSV = new SemVer(min, options);
				}
			}
		});
		return min;
	};
	module.exports = minSatisfying;
}));

//#endregion
//#region ../node_modules/semver/ranges/min-version.js
var require_min_version = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const SemVer = require_semver$1();
	const Range = require_range();
	const gt = require_gt();
	const minVersion = (range, loose) => {
		range = new Range(range, loose);
		let minver = new SemVer("0.0.0");
		if (range.test(minver)) {
			return minver;
		}
		minver = new SemVer("0.0.0-0");
		if (range.test(minver)) {
			return minver;
		}
		minver = null;
		for (let i = 0; i < range.set.length; ++i) {
			const comparators = range.set[i];
			let setMin = null;
			comparators.forEach((comparator) => {
				const compver = new SemVer(comparator.semver.version);
				switch (comparator.operator) {
					case ">":
						if (compver.prerelease.length === 0) {
							compver.patch++;
						} else {
							compver.prerelease.push(0);
						}
						compver.raw = compver.format();
					case "":
					case ">=":
						if (!setMin || gt(compver, setMin)) {
							setMin = compver;
						}
						break;
					case "<":
					case "<=": break;
					default: throw new Error(`Unexpected operation: ${comparator.operator}`);
				}
			});
			if (setMin && (!minver || gt(minver, setMin))) {
				minver = setMin;
			}
		}
		if (minver && range.test(minver)) {
			return minver;
		}
		return null;
	};
	module.exports = minVersion;
}));

//#endregion
//#region ../node_modules/semver/ranges/valid.js
var require_valid = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const Range = require_range();
	const validRange = (range, options) => {
		try {
			return new Range(range, options).range || "*";
		} catch (er) {
			return null;
		}
	};
	module.exports = validRange;
}));

//#endregion
//#region ../node_modules/semver/ranges/outside.js
var require_outside = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const SemVer = require_semver$1();
	const Comparator = require_comparator();
	const { ANY } = Comparator;
	const Range = require_range();
	const satisfies = require_satisfies();
	const gt = require_gt();
	const lt = require_lt();
	const lte = require_lte();
	const gte = require_gte();
	const outside = (version, range, hilo, options) => {
		version = new SemVer(version, options);
		range = new Range(range, options);
		let gtfn, ltefn, ltfn, comp, ecomp;
		switch (hilo) {
			case ">":
				gtfn = gt;
				ltefn = lte;
				ltfn = lt;
				comp = ">";
				ecomp = ">=";
				break;
			case "<":
				gtfn = lt;
				ltefn = gte;
				ltfn = gt;
				comp = "<";
				ecomp = "<=";
				break;
			default: throw new TypeError("Must provide a hilo val of \"<\" or \">\"");
		}
		if (satisfies(version, range, options)) {
			return false;
		}
		for (let i = 0; i < range.set.length; ++i) {
			const comparators = range.set[i];
			let high = null;
			let low = null;
			comparators.forEach((comparator) => {
				if (comparator.semver === ANY) {
					comparator = new Comparator(">=0.0.0");
				}
				high = high || comparator;
				low = low || comparator;
				if (gtfn(comparator.semver, high.semver, options)) {
					high = comparator;
				} else if (ltfn(comparator.semver, low.semver, options)) {
					low = comparator;
				}
			});
			if (high.operator === comp || high.operator === ecomp) {
				return false;
			}
			if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
				return false;
			} else if (low.operator === ecomp && ltfn(version, low.semver)) {
				return false;
			}
		}
		return true;
	};
	module.exports = outside;
}));

//#endregion
//#region ../node_modules/semver/ranges/gtr.js
var require_gtr = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const outside = require_outside();
	const gtr = (version, range, options) => outside(version, range, ">", options);
	module.exports = gtr;
}));

//#endregion
//#region ../node_modules/semver/ranges/ltr.js
var require_ltr = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const outside = require_outside();
	const ltr = (version, range, options) => outside(version, range, "<", options);
	module.exports = ltr;
}));

//#endregion
//#region ../node_modules/semver/ranges/intersects.js
var require_intersects = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const Range = require_range();
	const intersects = (r1, r2, options) => {
		r1 = new Range(r1, options);
		r2 = new Range(r2, options);
		return r1.intersects(r2, options);
	};
	module.exports = intersects;
}));

//#endregion
//#region ../node_modules/semver/ranges/simplify.js
var require_simplify = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const satisfies = require_satisfies();
	const compare = require_compare();
	module.exports = (versions, range, options) => {
		const set = [];
		let first = null;
		let prev = null;
		const v = versions.sort((a, b) => compare(a, b, options));
		for (const version of v) {
			const included = satisfies(version, range, options);
			if (included) {
				prev = version;
				if (!first) {
					first = version;
				}
			} else {
				if (prev) {
					set.push([first, prev]);
				}
				prev = null;
				first = null;
			}
		}
		if (first) {
			set.push([first, null]);
		}
		const ranges = [];
		for (const [min, max] of set) {
			if (min === max) {
				ranges.push(min);
			} else if (!max && min === v[0]) {
				ranges.push("*");
			} else if (!max) {
				ranges.push(`>=${min}`);
			} else if (min === v[0]) {
				ranges.push(`<=${max}`);
			} else {
				ranges.push(`${min} - ${max}`);
			}
		}
		const simplified = ranges.join(" || ");
		const original = typeof range.raw === "string" ? range.raw : String(range);
		return simplified.length < original.length ? simplified : range;
	};
}));

//#endregion
//#region ../node_modules/semver/ranges/subset.js
var require_subset = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const Range = require_range();
	const Comparator = require_comparator();
	const { ANY } = Comparator;
	const satisfies = require_satisfies();
	const compare = require_compare();
	const subset = (sub, dom, options = {}) => {
		if (sub === dom) {
			return true;
		}
		sub = new Range(sub, options);
		dom = new Range(dom, options);
		let sawNonNull = false;
		OUTER: for (const simpleSub of sub.set) {
			for (const simpleDom of dom.set) {
				const isSub = simpleSubset(simpleSub, simpleDom, options);
				sawNonNull = sawNonNull || isSub !== null;
				if (isSub) {
					continue OUTER;
				}
			}
			if (sawNonNull) {
				return false;
			}
		}
		return true;
	};
	const minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
	const minimumVersion = [new Comparator(">=0.0.0")];
	const simpleSubset = (sub, dom, options) => {
		if (sub === dom) {
			return true;
		}
		if (sub.length === 1 && sub[0].semver === ANY) {
			if (dom.length === 1 && dom[0].semver === ANY) {
				return true;
			} else if (options.includePrerelease) {
				sub = minimumVersionWithPreRelease;
			} else {
				sub = minimumVersion;
			}
		}
		if (dom.length === 1 && dom[0].semver === ANY) {
			if (options.includePrerelease) {
				return true;
			} else {
				dom = minimumVersion;
			}
		}
		const eqSet = new Set();
		let gt, lt;
		for (const c of sub) {
			if (c.operator === ">" || c.operator === ">=") {
				gt = higherGT(gt, c, options);
			} else if (c.operator === "<" || c.operator === "<=") {
				lt = lowerLT(lt, c, options);
			} else {
				eqSet.add(c.semver);
			}
		}
		if (eqSet.size > 1) {
			return null;
		}
		let gtltComp;
		if (gt && lt) {
			gtltComp = compare(gt.semver, lt.semver, options);
			if (gtltComp > 0) {
				return null;
			} else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
				return null;
			}
		}
		for (const eq of eqSet) {
			if (gt && !satisfies(eq, String(gt), options)) {
				return null;
			}
			if (lt && !satisfies(eq, String(lt), options)) {
				return null;
			}
			for (const c of dom) {
				if (!satisfies(eq, String(c), options)) {
					return false;
				}
			}
			return true;
		}
		let higher, lower;
		let hasDomLT, hasDomGT;
		let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
		let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
		if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
			needDomLTPre = false;
		}
		for (const c of dom) {
			hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">=";
			hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<=";
			if (gt) {
				if (needDomGTPre) {
					if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) {
						needDomGTPre = false;
					}
				}
				if (c.operator === ">" || c.operator === ">=") {
					higher = higherGT(gt, c, options);
					if (higher === c && higher !== gt) {
						return false;
					}
				} else if (gt.operator === ">=" && !satisfies(gt.semver, String(c), options)) {
					return false;
				}
			}
			if (lt) {
				if (needDomLTPre) {
					if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
						needDomLTPre = false;
					}
				}
				if (c.operator === "<" || c.operator === "<=") {
					lower = lowerLT(lt, c, options);
					if (lower === c && lower !== lt) {
						return false;
					}
				} else if (lt.operator === "<=" && !satisfies(lt.semver, String(c), options)) {
					return false;
				}
			}
			if (!c.operator && (lt || gt) && gtltComp !== 0) {
				return false;
			}
		}
		if (gt && hasDomLT && !lt && gtltComp !== 0) {
			return false;
		}
		if (lt && hasDomGT && !gt && gtltComp !== 0) {
			return false;
		}
		if (needDomGTPre || needDomLTPre) {
			return false;
		}
		return true;
	};
	const higherGT = (a, b, options) => {
		if (!a) {
			return b;
		}
		const comp = compare(a.semver, b.semver, options);
		return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a;
	};
	const lowerLT = (a, b, options) => {
		if (!a) {
			return b;
		}
		const comp = compare(a.semver, b.semver, options);
		return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a;
	};
	module.exports = subset;
}));

//#endregion
//#region ../node_modules/semver/index.js
var require_semver = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const internalRe = require_re();
	const constants = require_constants$5();
	const SemVer = require_semver$1();
	const identifiers = require_identifiers();
	const parse = require_parse$5();
	const valid = require_valid$1();
	const clean = require_clean();
	const inc = require_inc();
	const diff = require_diff();
	const major = require_major();
	const minor = require_minor();
	const patch = require_patch();
	const prerelease = require_prerelease();
	const compare = require_compare();
	const rcompare = require_rcompare();
	const compareLoose = require_compare_loose();
	const compareBuild = require_compare_build();
	const sort = require_sort();
	const rsort = require_rsort();
	const gt = require_gt();
	const lt = require_lt();
	const eq = require_eq();
	const neq = require_neq();
	const gte = require_gte();
	const lte = require_lte();
	const cmp = require_cmp();
	const coerce = require_coerce();
	const Comparator = require_comparator();
	const Range = require_range();
	const satisfies = require_satisfies();
	const toComparators = require_to_comparators();
	const maxSatisfying = require_max_satisfying();
	const minSatisfying = require_min_satisfying();
	const minVersion = require_min_version();
	const validRange = require_valid();
	const outside = require_outside();
	const gtr = require_gtr();
	const ltr = require_ltr();
	const intersects = require_intersects();
	const simplifyRange = require_simplify();
	const subset = require_subset();
	module.exports = {
		parse,
		valid,
		clean,
		inc,
		diff,
		major,
		minor,
		patch,
		prerelease,
		compare,
		rcompare,
		compareLoose,
		compareBuild,
		sort,
		rsort,
		gt,
		lt,
		eq,
		neq,
		gte,
		lte,
		cmp,
		coerce,
		Comparator,
		Range,
		satisfies,
		toComparators,
		maxSatisfying,
		minSatisfying,
		minVersion,
		validRange,
		outside,
		gtr,
		ltr,
		intersects,
		simplifyRange,
		subset,
		SemVer,
		re: internalRe.re,
		src: internalRe.src,
		tokens: internalRe.t,
		SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
		RELEASE_TYPES: constants.RELEASE_TYPES,
		compareIdentifiers: identifiers.compareIdentifiers,
		rcompareIdentifiers: identifiers.rcompareIdentifiers
	};
}));

//#endregion
//#region ../node_modules/fastify/lib/request.js
var require_request$4 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const proxyAddr = require_proxy_addr();
	const semver = require_semver();
	const { FSTDEP005, FSTDEP012, FSTDEP015, FSTDEP016, FSTDEP017, FSTDEP018 } = require_warnings();
	const { kHasBeenDecorated, kSchemaBody, kSchemaHeaders, kSchemaParams, kSchemaQuerystring, kSchemaController, kOptions, kRequestCacheValidateFns, kRouteContext, kPublicRouteContext, kRequestOriginalUrl } = require_symbols$1();
	const { FST_ERR_REQ_INVALID_VALIDATION_INVOCATION } = require_errors$3();
	const HTTP_PART_SYMBOL_MAP = {
		body: kSchemaBody,
		headers: kSchemaHeaders,
		params: kSchemaParams,
		querystring: kSchemaQuerystring,
		query: kSchemaQuerystring
	};
	function Request(id, params, req, query, log, context) {
		this.id = id;
		this[kRouteContext] = context;
		this.params = params;
		this.raw = req;
		this.query = query;
		this.log = log;
		this.body = undefined;
	}
	Request.props = [];
	function getTrustProxyFn(tp) {
		if (typeof tp === "function") {
			return tp;
		}
		if (tp === true) {
			return function() {
				return true;
			};
		}
		if (typeof tp === "number") {
			return function(a, i) {
				return i < tp;
			};
		}
		if (typeof tp === "string") {
			const values = tp.split(",").map((it) => it.trim());
			return proxyAddr.compile(values);
		}
		return proxyAddr.compile(tp);
	}
	function buildRequest(R, trustProxy) {
		if (trustProxy) {
			return buildRequestWithTrustProxy(R, trustProxy);
		}
		return buildRegularRequest(R);
	}
	function buildRegularRequest(R) {
		const props = R.props.slice();
		function _Request(id, params, req, query, log, context) {
			this.id = id;
			this[kRouteContext] = context;
			this.params = params;
			this.raw = req;
			this.query = query;
			this.log = log;
			this.body = undefined;
			var prop;
			for (var i = 0; i < props.length; i++) {
				prop = props[i];
				this[prop.key] = prop.value;
			}
		}
		Object.setPrototypeOf(_Request.prototype, R.prototype);
		Object.setPrototypeOf(_Request, R);
		_Request.props = props;
		_Request.parent = R;
		return _Request;
	}
	function getLastEntryInMultiHeaderValue(headerValue) {
		const lastIndex = headerValue.lastIndexOf(",");
		return lastIndex === -1 ? headerValue.trim() : headerValue.slice(lastIndex + 1).trim();
	}
	function buildRequestWithTrustProxy(R, trustProxy) {
		const _Request = buildRegularRequest(R);
		const proxyFn = getTrustProxyFn(trustProxy);
		_Request[kHasBeenDecorated] = true;
		Object.defineProperties(_Request.prototype, {
			ip: { get() {
				return proxyAddr(this.raw, proxyFn);
			} },
			ips: { get() {
				return proxyAddr.all(this.raw, proxyFn);
			} },
			hostname: { get() {
				if (this.ip !== undefined && this.headers["x-forwarded-host"]) {
					return getLastEntryInMultiHeaderValue(this.headers["x-forwarded-host"]);
				}
				return this.headers.host || this.headers[":authority"];
			} },
			protocol: { get() {
				if (this.headers["x-forwarded-proto"]) {
					return getLastEntryInMultiHeaderValue(this.headers["x-forwarded-proto"]);
				}
				if (this.socket) {
					return this.socket.encrypted ? "https" : "http";
				}
			} }
		});
		return _Request;
	}
	Object.defineProperties(Request.prototype, {
		server: { get() {
			return this[kRouteContext].server;
		} },
		url: { get() {
			return this.raw.url;
		} },
		originalUrl: { get() {
			/* istanbul ignore else */
			if (!this[kRequestOriginalUrl]) {
				this[kRequestOriginalUrl] = this.raw.originalUrl || this.raw.url;
			}
			return this[kRequestOriginalUrl];
		} },
		method: { get() {
			return this.raw.method;
		} },
		context: { get() {
			FSTDEP012();
			return this[kRouteContext];
		} },
		routerPath: { get() {
			FSTDEP017();
			return this[kRouteContext].config?.url;
		} },
		routeOptions: { get() {
			const context = this[kRouteContext];
			const routeLimit = context._parserOptions.limit;
			const serverLimit = context.server.initialConfig.bodyLimit;
			const version = context.server.hasConstraintStrategy("version") ? this.raw.headers["accept-version"] : undefined;
			const options = {
				method: context.config?.method,
				url: context.config?.url,
				bodyLimit: routeLimit || serverLimit,
				attachValidation: context.attachValidation,
				logLevel: context.logLevel,
				exposeHeadRoute: context.exposeHeadRoute,
				prefixTrailingSlash: context.prefixTrailingSlash,
				handler: context.handler,
				version
			};
			Object.defineProperties(options, {
				config: { get: () => context.config },
				schema: { get: () => context.schema }
			});
			return Object.freeze(options);
		} },
		routerMethod: { get() {
			FSTDEP018();
			return this[kRouteContext].config?.method;
		} },
		routeConfig: { get() {
			FSTDEP016();
			return this[kRouteContext][kPublicRouteContext]?.config;
		} },
		routeSchema: { get() {
			FSTDEP015();
			return this[kRouteContext][kPublicRouteContext].schema;
		} },
		is404: { get() {
			return this[kRouteContext].config?.url === undefined;
		} },
		connection: { get() {
			/* istanbul ignore next */
			if (semver.gte(process.versions.node, "13.0.0")) {
				FSTDEP005();
			}
			return this.raw.connection;
		} },
		socket: { get() {
			return this.raw.socket;
		} },
		ip: { get() {
			if (this.socket) {
				return this.socket.remoteAddress;
			}
		} },
		hostname: { get() {
			return this.raw.headers.host || this.raw.headers[":authority"];
		} },
		protocol: { get() {
			if (this.socket) {
				return this.socket.encrypted ? "https" : "http";
			}
		} },
		headers: {
			get() {
				if (this.additionalHeaders) {
					return Object.assign({}, this.raw.headers, this.additionalHeaders);
				}
				return this.raw.headers;
			},
			set(headers) {
				this.additionalHeaders = headers;
			}
		},
		getValidationFunction: { value: function(httpPartOrSchema) {
			if (typeof httpPartOrSchema === "string") {
				const symbol = HTTP_PART_SYMBOL_MAP[httpPartOrSchema];
				return this[kRouteContext][symbol];
			} else if (typeof httpPartOrSchema === "object") {
				return this[kRouteContext][kRequestCacheValidateFns]?.get(httpPartOrSchema);
			}
		} },
		compileValidationSchema: { value: function(schema, httpPart = null) {
			const { method, url } = this;
			if (this[kRouteContext][kRequestCacheValidateFns]?.has(schema)) {
				return this[kRouteContext][kRequestCacheValidateFns].get(schema);
			}
			const validatorCompiler = this[kRouteContext].validatorCompiler || this.server[kSchemaController].validatorCompiler || this.server[kSchemaController].setupValidator(this.server[kOptions]) || this.server[kSchemaController].validatorCompiler;
			const validateFn = validatorCompiler({
				schema,
				method,
				url,
				httpPart
			});
			if (this[kRouteContext][kRequestCacheValidateFns] == null) {
				this[kRouteContext][kRequestCacheValidateFns] = new WeakMap();
			}
			this[kRouteContext][kRequestCacheValidateFns].set(schema, validateFn);
			return validateFn;
		} },
		validateInput: { value: function(input, schema, httpPart) {
			httpPart = typeof schema === "string" ? schema : httpPart;
			const symbol = httpPart != null && typeof httpPart === "string" && HTTP_PART_SYMBOL_MAP[httpPart];
			let validate;
			if (symbol) {
				validate = this[kRouteContext][symbol];
			}
			if (validate == null && (schema == null || typeof schema !== "object" || Array.isArray(schema))) {
				throw new FST_ERR_REQ_INVALID_VALIDATION_INVOCATION(httpPart);
			}
			if (validate == null) {
				if (this[kRouteContext][kRequestCacheValidateFns]?.has(schema)) {
					validate = this[kRouteContext][kRequestCacheValidateFns].get(schema);
				} else {
					validate = this.compileValidationSchema(schema, httpPart);
				}
			}
			return validate(input);
		} }
	});
	module.exports = Request;
	module.exports.buildRequest = buildRequest;
}));

//#endregion
//#region ../node_modules/fastify/lib/context.js
var require_context = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { kFourOhFourContext, kReplySerializerDefault, kSchemaErrorFormatter, kErrorHandler, kChildLoggerFactory, kOptions, kReply, kRequest, kBodyLimit, kLogLevel, kContentTypeParser, kRouteByFastify, kRequestCacheValidateFns, kReplyCacheSerializeFns, kPublicRouteContext } = require_symbols$1();
	function Context({ schema, handler, config, requestIdLogLabel, childLoggerFactory, errorHandler, bodyLimit, logLevel, logSerializers, attachValidation, validatorCompiler, serializerCompiler, replySerializer, schemaErrorFormatter, exposeHeadRoute, prefixTrailingSlash, server, isFastify }) {
		this.schema = schema;
		this.handler = handler;
		this.Reply = server[kReply];
		this.Request = server[kRequest];
		this.contentTypeParser = server[kContentTypeParser];
		this.onRequest = null;
		this.onSend = null;
		this.onError = null;
		this.onTimeout = null;
		this.preHandler = null;
		this.onResponse = null;
		this.preSerialization = null;
		this.onRequestAbort = null;
		this.config = config;
		this.errorHandler = errorHandler || server[kErrorHandler];
		this.requestIdLogLabel = requestIdLogLabel || server[kOptions].requestIdLogLabel;
		this.childLoggerFactory = childLoggerFactory || server[kChildLoggerFactory];
		this._middie = null;
		this._parserOptions = { limit: bodyLimit || server[kBodyLimit] };
		this.exposeHeadRoute = exposeHeadRoute;
		this.prefixTrailingSlash = prefixTrailingSlash;
		this.logLevel = logLevel || server[kLogLevel];
		this.logSerializers = logSerializers;
		this[kFourOhFourContext] = null;
		this.attachValidation = attachValidation;
		this[kReplySerializerDefault] = replySerializer;
		this.schemaErrorFormatter = schemaErrorFormatter || server[kSchemaErrorFormatter] || defaultSchemaErrorFormatter;
		this[kRouteByFastify] = isFastify;
		this[kRequestCacheValidateFns] = null;
		this[kReplyCacheSerializeFns] = null;
		this.validatorCompiler = validatorCompiler || null;
		this.serializerCompiler = serializerCompiler || null;
		this[kPublicRouteContext] = getPublicRouteContext(this);
		this.server = server;
	}
	function getPublicRouteContext(context) {
		return Object.create(null, {
			schema: {
				enumerable: true,
				get() {
					return context.schema;
				}
			},
			config: {
				enumerable: true,
				get() {
					return context.config;
				}
			}
		});
	}
	function defaultSchemaErrorFormatter(errors, dataVar) {
		let text = "";
		const separator = ", ";
		for (var i = 0; i !== errors.length; ++i) {
			const e = errors[i];
			text += dataVar + (e.instancePath || "") + " " + e.message + separator;
		}
		return new Error(text.slice(0, -separator.length));
	}
	module.exports = Context;
}));

//#endregion
//#region ../node_modules/fastify/lib/httpMethods.js
var require_httpMethods = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = { supportedMethods: [
		"DELETE",
		"GET",
		"HEAD",
		"PATCH",
		"POST",
		"PUT",
		"OPTIONS",
		"PROPFIND",
		"PROPPATCH",
		"MKCOL",
		"COPY",
		"MOVE",
		"LOCK",
		"UNLOCK",
		"TRACE",
		"SEARCH",
		"REPORT",
		"MKCALENDAR"
	] };
}));

//#endregion
//#region ../node_modules/fastify/lib/decorate.js
var require_decorate = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { kReply, kRequest, kState, kHasBeenDecorated } = require_symbols$1();
	const { FST_ERR_DEC_ALREADY_PRESENT, FST_ERR_DEC_MISSING_DEPENDENCY, FST_ERR_DEC_AFTER_START, FST_ERR_DEC_DEPENDENCY_INVALID_TYPE } = require_errors$3();
	const { FSTDEP006 } = require_warnings();
	function decorate(instance, name, fn, dependencies) {
		if (Object.prototype.hasOwnProperty.call(instance, name)) {
			throw new FST_ERR_DEC_ALREADY_PRESENT(name);
		}
		checkDependencies(instance, name, dependencies);
		if (fn && (typeof fn.getter === "function" || typeof fn.setter === "function")) {
			Object.defineProperty(instance, name, {
				get: fn.getter,
				set: fn.setter
			});
		} else {
			instance[name] = fn;
		}
	}
	function decorateConstructor(konstructor, name, fn, dependencies) {
		const instance = konstructor.prototype;
		if (Object.prototype.hasOwnProperty.call(instance, name) || hasKey(konstructor, name)) {
			throw new FST_ERR_DEC_ALREADY_PRESENT(name);
		}
		konstructor[kHasBeenDecorated] = true;
		checkDependencies(konstructor, name, dependencies);
		if (fn && (typeof fn.getter === "function" || typeof fn.setter === "function")) {
			Object.defineProperty(instance, name, {
				get: fn.getter,
				set: fn.setter
			});
		} else if (typeof fn === "function") {
			instance[name] = fn;
		} else {
			konstructor.props.push({
				key: name,
				value: fn
			});
		}
	}
	function checkReferenceType(name, fn) {
		if (typeof fn === "object" && fn && !(typeof fn.getter === "function" || typeof fn.setter === "function")) {
			FSTDEP006(name);
		}
	}
	function decorateFastify(name, fn, dependencies) {
		assertNotStarted(this, name);
		decorate(this, name, fn, dependencies);
		return this;
	}
	function checkExistence(instance, name) {
		if (name) {
			return name in instance || instance.prototype && name in instance.prototype || hasKey(instance, name);
		}
		return instance in this;
	}
	function hasKey(fn, name) {
		if (fn.props) {
			return fn.props.find(({ key }) => key === name);
		}
		return false;
	}
	function checkRequestExistence(name) {
		if (name && hasKey(this[kRequest], name)) return true;
		return checkExistence(this[kRequest].prototype, name);
	}
	function checkReplyExistence(name) {
		if (name && hasKey(this[kReply], name)) return true;
		return checkExistence(this[kReply].prototype, name);
	}
	function checkDependencies(instance, name, deps) {
		if (deps === undefined || deps === null) {
			return;
		}
		if (!Array.isArray(deps)) {
			throw new FST_ERR_DEC_DEPENDENCY_INVALID_TYPE(name);
		}
		for (var i = 0; i !== deps.length; ++i) {
			if (!checkExistence(instance, deps[i])) {
				throw new FST_ERR_DEC_MISSING_DEPENDENCY(deps[i]);
			}
		}
	}
	function decorateReply(name, fn, dependencies) {
		assertNotStarted(this, name);
		checkReferenceType(name, fn);
		decorateConstructor(this[kReply], name, fn, dependencies);
		return this;
	}
	function decorateRequest(name, fn, dependencies) {
		assertNotStarted(this, name);
		checkReferenceType(name, fn);
		decorateConstructor(this[kRequest], name, fn, dependencies);
		return this;
	}
	function assertNotStarted(instance, name) {
		if (instance[kState].started) {
			throw new FST_ERR_DEC_AFTER_START(name);
		}
	}
	module.exports = {
		add: decorateFastify,
		exist: checkExistence,
		existRequest: checkRequestExistence,
		existReply: checkReplyExistence,
		dependencies: checkDependencies,
		decorateReply,
		decorateRequest
	};
}));

//#endregion
//#region ../node_modules/toad-cache/dist/toad-cache.mjs
var toad_cache_exports = /* @__PURE__ */ __exportAll({
	Fifo: () => FifoObject,
	FifoMap: () => FifoMap,
	FifoObject: () => FifoObject,
	HitStatisticsRecord: () => HitStatisticsRecord,
	Lru: () => LruObject,
	LruHitStatistics: () => LruObjectHitStatistics,
	LruMap: () => LruMap,
	LruObject: () => LruObject,
	LruObjectHitStatistics: () => LruObjectHitStatistics
});
function getTimestamp(date) {
	return `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, "0")}-${date.getDate().toString().padStart(2, "0")}`;
}
var FifoMap, LruMap, LruObject, HitStatisticsRecord, HitStatistics, LruObjectHitStatistics, FifoObject;
var init_toad_cache = __esmMin((() => {
	FifoMap = class {
		constructor(max = 1e3, ttlInMsecs = 0) {
			if (isNaN(max) || max < 0) {
				throw new Error("Invalid max value");
			}
			if (isNaN(ttlInMsecs) || ttlInMsecs < 0) {
				throw new Error("Invalid ttl value");
			}
			this.first = null;
			this.items = new Map();
			this.last = null;
			this.max = max;
			this.ttl = ttlInMsecs;
		}
		get size() {
			return this.items.size;
		}
		clear() {
			this.items = new Map();
			this.first = null;
			this.last = null;
		}
		delete(key) {
			if (this.items.has(key)) {
				const deletedItem = this.items.get(key);
				this.items.delete(key);
				if (deletedItem.prev !== null) {
					deletedItem.prev.next = deletedItem.next;
				}
				if (deletedItem.next !== null) {
					deletedItem.next.prev = deletedItem.prev;
				}
				if (this.first === deletedItem) {
					this.first = deletedItem.next;
				}
				if (this.last === deletedItem) {
					this.last = deletedItem.prev;
				}
			}
		}
		deleteMany(keys) {
			for (var i = 0; i < keys.length; i++) {
				this.delete(keys[i]);
			}
		}
		evict() {
			if (this.size > 0) {
				const item = this.first;
				this.items.delete(item.key);
				if (this.size === 0) {
					this.first = null;
					this.last = null;
				} else {
					this.first = item.next;
					this.first.prev = null;
				}
			}
		}
		expiresAt(key) {
			if (this.items.has(key)) {
				return this.items.get(key).expiry;
			}
		}
		get(key) {
			if (this.items.has(key)) {
				const item = this.items.get(key);
				if (this.ttl > 0 && item.expiry <= Date.now()) {
					this.delete(key);
					return;
				}
				return item.value;
			}
		}
		getMany(keys) {
			const result = [];
			for (var i = 0; i < keys.length; i++) {
				result.push(this.get(keys[i]));
			}
			return result;
		}
		keys() {
			return this.items.keys();
		}
		set(key, value) {
			if (this.items.has(key)) {
				const item = this.items.get(key);
				item.value = value;
				item.expiry = this.ttl > 0 ? Date.now() + this.ttl : this.ttl;
				return;
			}
			if (this.max > 0 && this.size === this.max) {
				this.evict();
			}
			const item = {
				expiry: this.ttl > 0 ? Date.now() + this.ttl : this.ttl,
				key,
				prev: this.last,
				next: null,
				value
			};
			this.items.set(key, item);
			if (this.size === 1) {
				this.first = item;
			} else {
				this.last.next = item;
			}
			this.last = item;
		}
	};
	LruMap = class {
		constructor(max = 1e3, ttlInMsecs = 0) {
			if (isNaN(max) || max < 0) {
				throw new Error("Invalid max value");
			}
			if (isNaN(ttlInMsecs) || ttlInMsecs < 0) {
				throw new Error("Invalid ttl value");
			}
			this.first = null;
			this.items = new Map();
			this.last = null;
			this.max = max;
			this.ttl = ttlInMsecs;
		}
		get size() {
			return this.items.size;
		}
		bumpLru(item) {
			if (this.last === item) {
				return;
			}
			const last = this.last;
			const next = item.next;
			const prev = item.prev;
			if (this.first === item) {
				this.first = next;
			}
			item.next = null;
			item.prev = last;
			last.next = item;
			if (prev !== null) {
				prev.next = next;
			}
			if (next !== null) {
				next.prev = prev;
			}
			this.last = item;
		}
		clear() {
			this.items = new Map();
			this.first = null;
			this.last = null;
		}
		delete(key) {
			if (this.items.has(key)) {
				const item = this.items.get(key);
				this.items.delete(key);
				if (item.prev !== null) {
					item.prev.next = item.next;
				}
				if (item.next !== null) {
					item.next.prev = item.prev;
				}
				if (this.first === item) {
					this.first = item.next;
				}
				if (this.last === item) {
					this.last = item.prev;
				}
			}
		}
		deleteMany(keys) {
			for (var i = 0; i < keys.length; i++) {
				this.delete(keys[i]);
			}
		}
		evict() {
			if (this.size > 0) {
				const item = this.first;
				this.items.delete(item.key);
				if (this.size === 0) {
					this.first = null;
					this.last = null;
				} else {
					this.first = item.next;
					this.first.prev = null;
				}
			}
		}
		expiresAt(key) {
			if (this.items.has(key)) {
				return this.items.get(key).expiry;
			}
		}
		get(key) {
			if (this.items.has(key)) {
				const item = this.items.get(key);
				if (this.ttl > 0 && item.expiry <= Date.now()) {
					this.delete(key);
					return;
				}
				this.bumpLru(item);
				return item.value;
			}
		}
		getMany(keys) {
			const result = [];
			for (var i = 0; i < keys.length; i++) {
				result.push(this.get(keys[i]));
			}
			return result;
		}
		keys() {
			return this.items.keys();
		}
		set(key, value) {
			if (this.items.has(key)) {
				const item = this.items.get(key);
				item.value = value;
				item.expiry = this.ttl > 0 ? Date.now() + this.ttl : this.ttl;
				if (this.last !== item) {
					this.bumpLru(item);
				}
				return;
			}
			if (this.max > 0 && this.size === this.max) {
				this.evict();
			}
			const item = {
				expiry: this.ttl > 0 ? Date.now() + this.ttl : this.ttl,
				key,
				prev: this.last,
				next: null,
				value
			};
			this.items.set(key, item);
			if (this.size === 1) {
				this.first = item;
			} else {
				this.last.next = item;
			}
			this.last = item;
		}
	};
	LruObject = class {
		constructor(max = 1e3, ttlInMsecs = 0) {
			if (isNaN(max) || max < 0) {
				throw new Error("Invalid max value");
			}
			if (isNaN(ttlInMsecs) || ttlInMsecs < 0) {
				throw new Error("Invalid ttl value");
			}
			this.first = null;
			this.items = Object.create(null);
			this.last = null;
			this.size = 0;
			this.max = max;
			this.ttl = ttlInMsecs;
		}
		bumpLru(item) {
			if (this.last === item) {
				return;
			}
			const last = this.last;
			const next = item.next;
			const prev = item.prev;
			if (this.first === item) {
				this.first = next;
			}
			item.next = null;
			item.prev = last;
			last.next = item;
			if (prev !== null) {
				prev.next = next;
			}
			if (next !== null) {
				next.prev = prev;
			}
			this.last = item;
		}
		clear() {
			this.items = Object.create(null);
			this.first = null;
			this.last = null;
			this.size = 0;
		}
		delete(key) {
			if (Object.prototype.hasOwnProperty.call(this.items, key)) {
				const item = this.items[key];
				delete this.items[key];
				this.size--;
				if (item.prev !== null) {
					item.prev.next = item.next;
				}
				if (item.next !== null) {
					item.next.prev = item.prev;
				}
				if (this.first === item) {
					this.first = item.next;
				}
				if (this.last === item) {
					this.last = item.prev;
				}
			}
		}
		deleteMany(keys) {
			for (var i = 0; i < keys.length; i++) {
				this.delete(keys[i]);
			}
		}
		evict() {
			if (this.size > 0) {
				const item = this.first;
				delete this.items[item.key];
				if (--this.size === 0) {
					this.first = null;
					this.last = null;
				} else {
					this.first = item.next;
					this.first.prev = null;
				}
			}
		}
		expiresAt(key) {
			if (Object.prototype.hasOwnProperty.call(this.items, key)) {
				return this.items[key].expiry;
			}
		}
		get(key) {
			if (Object.prototype.hasOwnProperty.call(this.items, key)) {
				const item = this.items[key];
				if (this.ttl > 0 && item.expiry <= Date.now()) {
					this.delete(key);
					return;
				}
				this.bumpLru(item);
				return item.value;
			}
		}
		getMany(keys) {
			const result = [];
			for (var i = 0; i < keys.length; i++) {
				result.push(this.get(keys[i]));
			}
			return result;
		}
		keys() {
			return Object.keys(this.items);
		}
		set(key, value) {
			if (Object.prototype.hasOwnProperty.call(this.items, key)) {
				const item = this.items[key];
				item.value = value;
				item.expiry = this.ttl > 0 ? Date.now() + this.ttl : this.ttl;
				if (this.last !== item) {
					this.bumpLru(item);
				}
				return;
			}
			if (this.max > 0 && this.size === this.max) {
				this.evict();
			}
			const item = {
				expiry: this.ttl > 0 ? Date.now() + this.ttl : this.ttl,
				key,
				prev: this.last,
				next: null,
				value
			};
			this.items[key] = item;
			if (++this.size === 1) {
				this.first = item;
			} else {
				this.last.next = item;
			}
			this.last = item;
		}
	};
	HitStatisticsRecord = class {
		constructor() {
			this.records = {};
		}
		initForCache(cacheId, currentTimeStamp) {
			this.records[cacheId] = { [currentTimeStamp]: {
				cacheSize: 0,
				hits: 0,
				falsyHits: 0,
				emptyHits: 0,
				misses: 0,
				expirations: 0,
				evictions: 0,
				invalidateOne: 0,
				invalidateAll: 0,
				sets: 0
			} };
		}
		resetForCache(cacheId) {
			for (let key of Object.keys(this.records[cacheId])) {
				this.records[cacheId][key] = {
					cacheSize: 0,
					hits: 0,
					falsyHits: 0,
					emptyHits: 0,
					misses: 0,
					expirations: 0,
					evictions: 0,
					invalidateOne: 0,
					invalidateAll: 0,
					sets: 0
				};
			}
		}
		getStatistics() {
			return this.records;
		}
	};
	HitStatistics = class {
		constructor(cacheId, statisticTtlInHours, globalStatisticsRecord) {
			this.cacheId = cacheId;
			this.statisticTtlInHours = statisticTtlInHours;
			this.collectionStart = new Date();
			this.currentTimeStamp = getTimestamp(this.collectionStart);
			this.records = globalStatisticsRecord || new HitStatisticsRecord();
			this.records.initForCache(this.cacheId, this.currentTimeStamp);
		}
		get currentRecord() {
			/* c8 ignore next 14 */
			if (!this.records.records[this.cacheId][this.currentTimeStamp]) {
				this.records.records[this.cacheId][this.currentTimeStamp] = {
					cacheSize: 0,
					hits: 0,
					falsyHits: 0,
					emptyHits: 0,
					misses: 0,
					expirations: 0,
					evictions: 0,
					sets: 0,
					invalidateOne: 0,
					invalidateAll: 0
				};
			}
			return this.records.records[this.cacheId][this.currentTimeStamp];
		}
		hoursPassed() {
			return (Date.now() - this.collectionStart) / 1e3 / 60 / 60;
		}
		addHit() {
			this.archiveIfNeeded();
			this.currentRecord.hits++;
		}
		addFalsyHit() {
			this.archiveIfNeeded();
			this.currentRecord.falsyHits++;
		}
		addEmptyHit() {
			this.archiveIfNeeded();
			this.currentRecord.emptyHits++;
		}
		addMiss() {
			this.archiveIfNeeded();
			this.currentRecord.misses++;
		}
		addEviction() {
			this.archiveIfNeeded();
			this.currentRecord.evictions++;
		}
		setCacheSize(currentSize) {
			this.archiveIfNeeded();
			this.currentRecord.cacheSize = currentSize;
		}
		addExpiration() {
			this.archiveIfNeeded();
			this.currentRecord.expirations++;
		}
		addSet() {
			this.archiveIfNeeded();
			this.currentRecord.sets++;
		}
		addInvalidateOne() {
			this.archiveIfNeeded();
			this.currentRecord.invalidateOne++;
		}
		addInvalidateAll() {
			this.archiveIfNeeded();
			this.currentRecord.invalidateAll++;
		}
		getStatistics() {
			return this.records.getStatistics();
		}
		archiveIfNeeded() {
			if (this.hoursPassed() >= this.statisticTtlInHours) {
				this.collectionStart = new Date();
				this.currentTimeStamp = getTimestamp(this.collectionStart);
				this.records.initForCache(this.cacheId, this.currentTimeStamp);
			}
		}
	};
	LruObjectHitStatistics = class extends LruObject {
		constructor(max, ttlInMsecs, cacheId, globalStatisticsRecord, statisticTtlInHours) {
			super(max || 1e3, ttlInMsecs || 0);
			if (!cacheId) {
				throw new Error("Cache id is mandatory");
			}
			this.hitStatistics = new HitStatistics(cacheId, statisticTtlInHours !== undefined ? statisticTtlInHours : 24, globalStatisticsRecord);
		}
		getStatistics() {
			return this.hitStatistics.getStatistics();
		}
		set(key, value) {
			super.set(key, value);
			this.hitStatistics.addSet();
			this.hitStatistics.setCacheSize(this.size);
		}
		evict() {
			super.evict();
			this.hitStatistics.addEviction();
			this.hitStatistics.setCacheSize(this.size);
		}
		delete(key, isExpiration = false) {
			super.delete(key);
			if (!isExpiration) {
				this.hitStatistics.addInvalidateOne();
			}
			this.hitStatistics.setCacheSize(this.size);
		}
		clear() {
			super.clear();
			this.hitStatistics.addInvalidateAll();
			this.hitStatistics.setCacheSize(this.size);
		}
		get(key) {
			if (Object.prototype.hasOwnProperty.call(this.items, key)) {
				const item = this.items[key];
				if (this.ttl > 0 && item.expiry <= Date.now()) {
					this.delete(key, true);
					this.hitStatistics.addExpiration();
					return;
				}
				this.bumpLru(item);
				if (!item.value) {
					this.hitStatistics.addFalsyHit();
				}
				if (item.value === undefined || item.value === null || item.value === "") {
					this.hitStatistics.addEmptyHit();
				}
				this.hitStatistics.addHit();
				return item.value;
			}
			this.hitStatistics.addMiss();
		}
	};
	FifoObject = class {
		constructor(max = 1e3, ttlInMsecs = 0) {
			if (isNaN(max) || max < 0) {
				throw new Error("Invalid max value");
			}
			if (isNaN(ttlInMsecs) || ttlInMsecs < 0) {
				throw new Error("Invalid ttl value");
			}
			this.first = null;
			this.items = Object.create(null);
			this.last = null;
			this.size = 0;
			this.max = max;
			this.ttl = ttlInMsecs;
		}
		clear() {
			this.items = Object.create(null);
			this.first = null;
			this.last = null;
			this.size = 0;
		}
		delete(key) {
			if (Object.prototype.hasOwnProperty.call(this.items, key)) {
				const deletedItem = this.items[key];
				delete this.items[key];
				this.size--;
				if (deletedItem.prev !== null) {
					deletedItem.prev.next = deletedItem.next;
				}
				if (deletedItem.next !== null) {
					deletedItem.next.prev = deletedItem.prev;
				}
				if (this.first === deletedItem) {
					this.first = deletedItem.next;
				}
				if (this.last === deletedItem) {
					this.last = deletedItem.prev;
				}
			}
		}
		deleteMany(keys) {
			for (var i = 0; i < keys.length; i++) {
				this.delete(keys[i]);
			}
		}
		evict() {
			if (this.size > 0) {
				const item = this.first;
				delete this.items[item.key];
				if (--this.size === 0) {
					this.first = null;
					this.last = null;
				} else {
					this.first = item.next;
					this.first.prev = null;
				}
			}
		}
		expiresAt(key) {
			if (Object.prototype.hasOwnProperty.call(this.items, key)) {
				return this.items[key].expiry;
			}
		}
		get(key) {
			if (Object.prototype.hasOwnProperty.call(this.items, key)) {
				const item = this.items[key];
				if (this.ttl > 0 && item.expiry <= Date.now()) {
					this.delete(key);
					return;
				}
				return item.value;
			}
		}
		getMany(keys) {
			const result = [];
			for (var i = 0; i < keys.length; i++) {
				result.push(this.get(keys[i]));
			}
			return result;
		}
		keys() {
			return Object.keys(this.items);
		}
		set(key, value) {
			if (Object.prototype.hasOwnProperty.call(this.items, key)) {
				const item = this.items[key];
				item.value = value;
				item.expiry = this.ttl > 0 ? Date.now() + this.ttl : this.ttl;
				return;
			}
			if (this.max > 0 && this.size === this.max) {
				this.evict();
			}
			const item = {
				expiry: this.ttl > 0 ? Date.now() + this.ttl : this.ttl,
				key,
				prev: this.last,
				next: null,
				value
			};
			this.items[key] = item;
			if (++this.size === 1) {
				this.first = item;
			} else {
				this.last.next = item;
			}
			this.last = item;
		}
	};
}));

//#endregion
//#region ../node_modules/fast-content-type-parse/index.js
var require_fast_content_type_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const NullObject = function NullObject() {};
	NullObject.prototype = Object.create(null);
	/**
	* RegExp to match *( ";" parameter ) in RFC 7231 sec 3.1.1.1
	*
	* parameter     = token "=" ( token / quoted-string )
	* token         = 1*tchar
	* tchar         = "!" / "#" / "$" / "%" / "&" / "'" / "*"
	*               / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~"
	*               / DIGIT / ALPHA
	*               ; any VCHAR, except delimiters
	* quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE
	* qdtext        = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text
	* obs-text      = %x80-FF
	* quoted-pair   = "\" ( HTAB / SP / VCHAR / obs-text )
	*/
	const paramRE = /; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu;
	/**
	* RegExp to match quoted-pair in RFC 7230 sec 3.2.6
	*
	* quoted-pair = "\" ( HTAB / SP / VCHAR / obs-text )
	* obs-text    = %x80-FF
	*/
	const quotedPairRE = /\\([\v\u0020-\u00ff])/gu;
	/**
	* RegExp to match type in RFC 7231 sec 3.1.1.1
	*
	* media-type = type "/" subtype
	* type       = token
	* subtype    = token
	*/
	const mediaTypeRE = /^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u;
	const defaultContentType = {
		type: "",
		parameters: new NullObject()
	};
	Object.freeze(defaultContentType.parameters);
	Object.freeze(defaultContentType);
	/**
	* Parse media type to object.
	*
	* @param {string|object} header
	* @return {Object}
	* @public
	*/
	function parse(header) {
		if (typeof header !== "string") {
			throw new TypeError("argument header is required and must be a string");
		}
		let index = header.indexOf(";");
		const type = index !== -1 ? header.slice(0, index).trim() : header.trim();
		if (mediaTypeRE.test(type) === false) {
			throw new TypeError("invalid media type");
		}
		const result = {
			type: type.toLowerCase(),
			parameters: new NullObject()
		};
		if (index === -1) {
			return result;
		}
		let key;
		let match;
		let value;
		paramRE.lastIndex = index;
		while (match = paramRE.exec(header)) {
			if (match.index !== index) {
				throw new TypeError("invalid parameter format");
			}
			index += match[0].length;
			key = match[1].toLowerCase();
			value = match[2];
			if (value[0] === "\"") {
				value = value.slice(1, value.length - 1);
				quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1"));
			}
			result.parameters[key] = value;
		}
		if (index !== header.length) {
			throw new TypeError("invalid parameter format");
		}
		return result;
	}
	function safeParse(header) {
		if (typeof header !== "string") {
			return defaultContentType;
		}
		let index = header.indexOf(";");
		const type = index !== -1 ? header.slice(0, index).trim() : header.trim();
		if (mediaTypeRE.test(type) === false) {
			return defaultContentType;
		}
		const result = {
			type: type.toLowerCase(),
			parameters: new NullObject()
		};
		if (index === -1) {
			return result;
		}
		let key;
		let match;
		let value;
		paramRE.lastIndex = index;
		while (match = paramRE.exec(header)) {
			if (match.index !== index) {
				return defaultContentType;
			}
			index += match[0].length;
			key = match[1].toLowerCase();
			value = match[2];
			if (value[0] === "\"") {
				value = value.slice(1, value.length - 1);
				quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1"));
			}
			result.parameters[key] = value;
		}
		if (index !== header.length) {
			return defaultContentType;
		}
		return result;
	}
	module.exports.default = {
		parse,
		safeParse
	};
	module.exports.parse = parse;
	module.exports.safeParse = safeParse;
	module.exports.defaultContentType = defaultContentType;
}));

//#endregion
//#region ../node_modules/secure-json-parse/index.js
var require_secure_json_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const hasBuffer = typeof Buffer !== "undefined";
	const suspectProtoRx = /"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/;
	const suspectConstructorRx = /"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;
	function _parse(text, reviver, options) {
		if (options == null) {
			if (reviver !== null && typeof reviver === "object") {
				options = reviver;
				reviver = undefined;
			}
		}
		if (hasBuffer && Buffer.isBuffer(text)) {
			text = text.toString();
		}
		if (text && text.charCodeAt(0) === 65279) {
			text = text.slice(1);
		}
		const obj = JSON.parse(text, reviver);
		if (obj === null || typeof obj !== "object") {
			return obj;
		}
		const protoAction = options && options.protoAction || "error";
		const constructorAction = options && options.constructorAction || "error";
		if (protoAction === "ignore" && constructorAction === "ignore") {
			return obj;
		}
		if (protoAction !== "ignore" && constructorAction !== "ignore") {
			if (suspectProtoRx.test(text) === false && suspectConstructorRx.test(text) === false) {
				return obj;
			}
		} else if (protoAction !== "ignore" && constructorAction === "ignore") {
			if (suspectProtoRx.test(text) === false) {
				return obj;
			}
		} else {
			if (suspectConstructorRx.test(text) === false) {
				return obj;
			}
		}
		return filter(obj, {
			protoAction,
			constructorAction,
			safe: options && options.safe
		});
	}
	function filter(obj, { protoAction = "error", constructorAction = "error", safe } = {}) {
		let next = [obj];
		while (next.length) {
			const nodes = next;
			next = [];
			for (const node of nodes) {
				if (protoAction !== "ignore" && Object.prototype.hasOwnProperty.call(node, "__proto__")) {
					if (safe === true) {
						return null;
					} else if (protoAction === "error") {
						throw new SyntaxError("Object contains forbidden prototype property");
					}
					delete node.__proto__;
				}
				if (constructorAction !== "ignore" && Object.prototype.hasOwnProperty.call(node, "constructor") && Object.prototype.hasOwnProperty.call(node.constructor, "prototype")) {
					if (safe === true) {
						return null;
					} else if (constructorAction === "error") {
						throw new SyntaxError("Object contains forbidden prototype property");
					}
					delete node.constructor;
				}
				for (const key in node) {
					const value = node[key];
					if (value && typeof value === "object") {
						next.push(value);
					}
				}
			}
		}
		return obj;
	}
	function parse(text, reviver, options) {
		const stackTraceLimit = Error.stackTraceLimit;
		Error.stackTraceLimit = 0;
		try {
			return _parse(text, reviver, options);
		} finally {
			Error.stackTraceLimit = stackTraceLimit;
		}
	}
	function safeParse(text, reviver) {
		const stackTraceLimit = Error.stackTraceLimit;
		Error.stackTraceLimit = 0;
		try {
			return _parse(text, reviver, { safe: true });
		} catch (_e) {
			return null;
		} finally {
			Error.stackTraceLimit = stackTraceLimit;
		}
	}
	module.exports = parse;
	module.exports.default = parse;
	module.exports.parse = parse;
	module.exports.safeParse = safeParse;
	module.exports.scan = filter;
}));

//#endregion
//#region ../node_modules/fastify/lib/contentTypeParser.js
var require_contentTypeParser = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { AsyncResource: AsyncResource$5 } = __require("node:async_hooks");
	const { FifoMap: Fifo } = (init_toad_cache(), __toCommonJS(toad_cache_exports));
	const { safeParse: safeParseContentType, defaultContentType } = require_fast_content_type_parse();
	const secureJson = require_secure_json_parse();
	const { kDefaultJsonParse, kContentTypeParser, kBodyLimit, kRequestPayloadStream, kState, kTestInternals, kReplyIsError, kRouteContext } = require_symbols$1();
	const { FST_ERR_CTP_INVALID_TYPE, FST_ERR_CTP_EMPTY_TYPE, FST_ERR_CTP_ALREADY_PRESENT, FST_ERR_CTP_INVALID_HANDLER, FST_ERR_CTP_INVALID_PARSE_TYPE, FST_ERR_CTP_BODY_TOO_LARGE, FST_ERR_CTP_INVALID_MEDIA_TYPE, FST_ERR_CTP_INVALID_CONTENT_LENGTH, FST_ERR_CTP_EMPTY_JSON_BODY, FST_ERR_CTP_INSTANCE_ALREADY_STARTED } = require_errors$3();
	function ContentTypeParser(bodyLimit, onProtoPoisoning, onConstructorPoisoning) {
		this[kDefaultJsonParse] = getDefaultJsonParser(onProtoPoisoning, onConstructorPoisoning);
		this.customParsers = new Map();
		this.customParsers.set("application/json", new Parser(true, false, bodyLimit, this[kDefaultJsonParse]));
		this.customParsers.set("text/plain", new Parser(true, false, bodyLimit, defaultPlainTextParser));
		this.parserList = [new ParserListItem("application/json"), new ParserListItem("text/plain")];
		this.parserRegExpList = [];
		this.cache = new Fifo(100);
	}
	ContentTypeParser.prototype.add = function(contentType, opts, parserFn) {
		const contentTypeIsString = typeof contentType === "string";
		if (!contentTypeIsString && !(contentType instanceof RegExp)) throw new FST_ERR_CTP_INVALID_TYPE();
		if (contentTypeIsString && contentType.length === 0) throw new FST_ERR_CTP_EMPTY_TYPE();
		if (typeof parserFn !== "function") throw new FST_ERR_CTP_INVALID_HANDLER();
		if (this.existingParser(contentType)) {
			throw new FST_ERR_CTP_ALREADY_PRESENT(contentType);
		}
		if (opts.parseAs !== undefined) {
			if (opts.parseAs !== "string" && opts.parseAs !== "buffer") {
				throw new FST_ERR_CTP_INVALID_PARSE_TYPE(opts.parseAs);
			}
		}
		const parser = new Parser(opts.parseAs === "string", opts.parseAs === "buffer", opts.bodyLimit, parserFn);
		if (contentTypeIsString && contentType === "*") {
			this.customParsers.set("", parser);
		} else {
			if (contentTypeIsString) {
				this.parserList.unshift(new ParserListItem(contentType));
			} else {
				contentType.isEssence = contentType.source.indexOf(";") === -1;
				this.parserRegExpList.unshift(contentType);
			}
			this.customParsers.set(contentType.toString(), parser);
		}
	};
	ContentTypeParser.prototype.hasParser = function(contentType) {
		return this.customParsers.has(typeof contentType === "string" ? contentType : contentType.toString());
	};
	ContentTypeParser.prototype.existingParser = function(contentType) {
		if (contentType === "application/json" && this.customParsers.has(contentType)) {
			return this.customParsers.get(contentType).fn !== this[kDefaultJsonParse];
		}
		if (contentType === "text/plain" && this.customParsers.has(contentType)) {
			return this.customParsers.get(contentType).fn !== defaultPlainTextParser;
		}
		return this.hasParser(contentType);
	};
	ContentTypeParser.prototype.getParser = function(contentType) {
		if (this.hasParser(contentType)) {
			return this.customParsers.get(contentType);
		}
		const parser = this.cache.get(contentType);
		if (parser !== undefined) return parser;
		const parsed = safeParseContentType(contentType);
		if (parsed === defaultContentType) {
			return this.customParsers.get("");
		}
		for (var i = 0; i !== this.parserList.length; ++i) {
			const parserListItem = this.parserList[i];
			if (compareContentType(parsed, parserListItem)) {
				const parser = this.customParsers.get(parserListItem.name);
				this.cache.set(contentType, parser);
				return parser;
			}
		}
		for (var j = 0; j !== this.parserRegExpList.length; ++j) {
			const parserRegExp = this.parserRegExpList[j];
			if (compareRegExpContentType(contentType, parsed.type, parserRegExp)) {
				const parser = this.customParsers.get(parserRegExp.toString());
				this.cache.set(contentType, parser);
				return parser;
			}
		}
		return this.customParsers.get("");
	};
	ContentTypeParser.prototype.removeAll = function() {
		this.customParsers = new Map();
		this.parserRegExpList = [];
		this.parserList = [];
		this.cache = new Fifo(100);
	};
	ContentTypeParser.prototype.remove = function(contentType) {
		if (!(typeof contentType === "string" || contentType instanceof RegExp)) throw new FST_ERR_CTP_INVALID_TYPE();
		const removed = this.customParsers.delete(contentType.toString());
		const parsers = typeof contentType === "string" ? this.parserList : this.parserRegExpList;
		const idx = parsers.findIndex((ct) => ct.toString() === contentType.toString());
		if (idx > -1) {
			parsers.splice(idx, 1);
		}
		return removed || idx > -1;
	};
	ContentTypeParser.prototype.run = function(contentType, handler, request, reply) {
		const parser = this.getParser(contentType);
		if (parser === undefined) {
			if (request.is404) {
				handler(request, reply);
			} else {
				reply.send(new FST_ERR_CTP_INVALID_MEDIA_TYPE(contentType || undefined));
			}
			return;
		}
		const resource = new AsyncResource$5("content-type-parser:run", request);
		if (parser.asString === true || parser.asBuffer === true) {
			rawBody(request, reply, reply[kRouteContext]._parserOptions, parser, done);
		} else {
			const result = parser.fn(request, request[kRequestPayloadStream], done);
			if (result && typeof result.then === "function") {
				result.then((body) => done(null, body), done);
			}
		}
		function done(error, body) {
			resource.runInAsyncScope(() => {
				resource.emitDestroy();
				if (error) {
					reply[kReplyIsError] = true;
					reply.send(error);
				} else {
					request.body = body;
					handler(request, reply);
				}
			});
		}
	};
	function rawBody(request, reply, options, parser, done) {
		const asString = parser.asString;
		const limit = options.limit === null ? parser.bodyLimit : options.limit;
		const contentLength = request.headers["content-length"] === undefined ? NaN : Number(request.headers["content-length"]);
		if (contentLength > limit) {
			reply.header("connection", "close");
			reply.send(new FST_ERR_CTP_BODY_TOO_LARGE());
			return;
		}
		let receivedLength = 0;
		let body = asString === true ? "" : [];
		const payload = request[kRequestPayloadStream] || request.raw;
		if (asString === true) {
			payload.setEncoding("utf8");
		}
		payload.on("data", onData);
		payload.on("end", onEnd);
		payload.on("error", onEnd);
		payload.resume();
		function onData(chunk) {
			receivedLength += chunk.length;
			const { receivedEncodedLength = 0 } = payload;
			if (receivedLength > limit || receivedEncodedLength > limit) {
				payload.removeListener("data", onData);
				payload.removeListener("end", onEnd);
				payload.removeListener("error", onEnd);
				reply.send(new FST_ERR_CTP_BODY_TOO_LARGE());
				return;
			}
			if (asString === true) {
				body += chunk;
			} else {
				body.push(chunk);
			}
		}
		function onEnd(err) {
			payload.removeListener("data", onData);
			payload.removeListener("end", onEnd);
			payload.removeListener("error", onEnd);
			if (err !== undefined) {
				if (!(typeof err.statusCode === "number" && err.statusCode >= 400)) {
					err.statusCode = 400;
				}
				reply[kReplyIsError] = true;
				reply.code(err.statusCode).send(err);
				return;
			}
			if (asString === true) {
				receivedLength = Buffer.byteLength(body);
			}
			if (!Number.isNaN(contentLength) && (payload.receivedEncodedLength || receivedLength) !== contentLength) {
				reply.header("connection", "close");
				reply.send(new FST_ERR_CTP_INVALID_CONTENT_LENGTH());
				return;
			}
			if (asString === false) {
				body = Buffer.concat(body);
			}
			const result = parser.fn(request, body, done);
			if (result && typeof result.then === "function") {
				result.then((body) => done(null, body), done);
			}
		}
	}
	function getDefaultJsonParser(onProtoPoisoning, onConstructorPoisoning) {
		return defaultJsonParser;
		function defaultJsonParser(req, body, done) {
			if (body === "" || body == null || Buffer.isBuffer(body) && body.length === 0) {
				return done(new FST_ERR_CTP_EMPTY_JSON_BODY(), undefined);
			}
			let json;
			try {
				json = secureJson.parse(body, {
					protoAction: onProtoPoisoning,
					constructorAction: onConstructorPoisoning
				});
			} catch (err) {
				err.statusCode = 400;
				return done(err, undefined);
			}
			done(null, json);
		}
	}
	function defaultPlainTextParser(req, body, done) {
		done(null, body);
	}
	function Parser(asString, asBuffer, bodyLimit, fn) {
		this.asString = asString;
		this.asBuffer = asBuffer;
		this.bodyLimit = bodyLimit;
		this.fn = fn;
	}
	function buildContentTypeParser(c) {
		const contentTypeParser = new ContentTypeParser();
		contentTypeParser[kDefaultJsonParse] = c[kDefaultJsonParse];
		contentTypeParser.customParsers = new Map(c.customParsers.entries());
		contentTypeParser.parserList = c.parserList.slice();
		contentTypeParser.parserRegExpList = c.parserRegExpList.slice();
		return contentTypeParser;
	}
	function addContentTypeParser(contentType, opts, parser) {
		if (this[kState].started) {
			throw new FST_ERR_CTP_INSTANCE_ALREADY_STARTED("addContentTypeParser");
		}
		if (typeof opts === "function") {
			parser = opts;
			opts = {};
		}
		if (!opts) opts = {};
		if (!opts.bodyLimit) opts.bodyLimit = this[kBodyLimit];
		if (Array.isArray(contentType)) {
			contentType.forEach((type) => this[kContentTypeParser].add(type, opts, parser));
		} else {
			this[kContentTypeParser].add(contentType, opts, parser);
		}
		return this;
	}
	function hasContentTypeParser(contentType) {
		return this[kContentTypeParser].hasParser(contentType);
	}
	function removeContentTypeParser(contentType) {
		if (this[kState].started) {
			throw new FST_ERR_CTP_INSTANCE_ALREADY_STARTED("removeContentTypeParser");
		}
		if (Array.isArray(contentType)) {
			for (const type of contentType) {
				this[kContentTypeParser].remove(type);
			}
		} else {
			this[kContentTypeParser].remove(contentType);
		}
	}
	function removeAllContentTypeParsers() {
		if (this[kState].started) {
			throw new FST_ERR_CTP_INSTANCE_ALREADY_STARTED("removeAllContentTypeParsers");
		}
		this[kContentTypeParser].removeAll();
	}
	function compareContentType(contentType, parserListItem) {
		if (parserListItem.isEssence) {
			return contentType.type.indexOf(parserListItem) !== -1;
		} else {
			if (contentType.type.indexOf(parserListItem.type) === -1) return false;
			for (const key of parserListItem.parameterKeys) {
				if (!(key in contentType.parameters)) return false;
				if (contentType.parameters[key] !== parserListItem.parameters[key]) return false;
			}
			return true;
		}
	}
	function compareRegExpContentType(contentType, essenceMIMEType, regexp) {
		if (regexp.isEssence) {
			return regexp.test(essenceMIMEType);
		} else {
			return regexp.test(contentType);
		}
	}
	function ParserListItem(contentType) {
		this.name = contentType;
		const parsed = safeParseContentType(contentType);
		this.isEssence = contentType.indexOf(";") === -1;
		if (this.isEssence === false && parsed.type === "") {
			const tmp = contentType.split(";", 1)[0];
			this.type = tmp === "" ? contentType : tmp;
		} else {
			this.type = parsed.type;
		}
		this.parameters = parsed.parameters;
		this.parameterKeys = Object.keys(parsed.parameters);
	}
	ParserListItem.prototype.toString = function() {
		return this.name;
	};
	module.exports = ContentTypeParser;
	module.exports.helpers = {
		buildContentTypeParser,
		addContentTypeParser,
		hasContentTypeParser,
		removeContentTypeParser,
		removeAllContentTypeParsers
	};
	module.exports.defaultParsers = {
		getDefaultJsonParser,
		defaultTextParser: defaultPlainTextParser
	};
	module.exports[kTestInternals] = { rawBody };
}));

//#endregion
//#region ../node_modules/fast-deep-equal/index.js
var require_fast_deep_equal = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = function equal(a, b) {
		if (a === b) return true;
		if (a && b && typeof a == "object" && typeof b == "object") {
			if (a.constructor !== b.constructor) return false;
			var length, i, keys;
			if (Array.isArray(a)) {
				length = a.length;
				if (length != b.length) return false;
				for (i = length; i-- !== 0;) if (!equal(a[i], b[i])) return false;
				return true;
			}
			if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;
			if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();
			if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();
			keys = Object.keys(a);
			length = keys.length;
			if (length !== Object.keys(b).length) return false;
			for (i = length; i-- !== 0;) if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
			for (i = length; i-- !== 0;) {
				var key = keys[i];
				if (!equal(a[key], b[key])) return false;
			}
			return true;
		}
		return a !== a && b !== b;
	};
}));

//#endregion
//#region ../node_modules/json-schema-ref-resolver/index.js
var require_json_schema_ref_resolver = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const deepEqual = require_fast_deep_equal();
	const jsonSchemaRefSymbol = Symbol.for("json-schema-ref");
	var RefResolver = class {
		#schemas;
		#derefSchemas;
		#insertRefSymbol;
		#allowEqualDuplicates;
		#cloneSchemaWithoutRefs;
		constructor(opts = {}) {
			this.#schemas = {};
			this.#derefSchemas = {};
			this.#insertRefSymbol = opts.insertRefSymbol ?? false;
			this.#allowEqualDuplicates = opts.allowEqualDuplicates ?? true;
			this.#cloneSchemaWithoutRefs = opts.cloneSchemaWithoutRefs ?? false;
		}
		addSchema(schema, schemaId) {
			if (schema.$id !== undefined && schema.$id.charAt(0) !== "#") {
				schemaId = schema.$id;
			} else {
				this.#insertSchemaBySchemaId(schema, schemaId);
			}
			this.#addSchema(schema, schemaId);
		}
		getSchema(schemaId, jsonPointer = "#") {
			const schema = this.#schemas[schemaId];
			if (schema === undefined) {
				throw new Error(`Cannot resolve ref "${schemaId}${jsonPointer}". Schema with id "${schemaId}" is not found.`);
			}
			if (schema.anchors[jsonPointer] !== undefined) {
				return schema.anchors[jsonPointer];
			}
			return getDataByJSONPointer(schema.schema, jsonPointer);
		}
		hasSchema(schemaId) {
			return this.#schemas[schemaId] !== undefined;
		}
		getSchemaRefs(schemaId) {
			const schema = this.#schemas[schemaId];
			if (schema === undefined) {
				throw new Error(`Schema with id "${schemaId}" is not found.`);
			}
			return schema.refs;
		}
		getSchemaDependencies(schemaId, dependencies = {}) {
			const schema = this.#schemas[schemaId];
			for (const ref of schema.refs) {
				const dependencySchemaId = ref.schemaId;
				if (dependencies[dependencySchemaId] !== undefined) continue;
				dependencies[dependencySchemaId] = this.getSchema(dependencySchemaId);
				this.getSchemaDependencies(dependencySchemaId, dependencies);
			}
			return dependencies;
		}
		derefSchema(schemaId) {
			if (this.#derefSchemas[schemaId] !== undefined) return;
			const schema = this.#schemas[schemaId];
			if (schema === undefined) {
				throw new Error(`Schema with id "${schemaId}" is not found.`);
			}
			if (!this.#cloneSchemaWithoutRefs && schema.refs.length === 0) {
				this.#derefSchemas[schemaId] = {
					schema: schema.schema,
					anchors: schema.anchors
				};
			}
			const refs = [];
			this.#addDerefSchema(schema.schema, schemaId, refs);
			const dependencies = this.getSchemaDependencies(schemaId);
			for (const schemaId in dependencies) {
				const schema = dependencies[schemaId];
				this.#addDerefSchema(schema, schemaId, refs);
			}
			for (const ref of refs) {
				const { refSchemaId, refJsonPointer } = this.#parseSchemaRef(ref.ref, ref.sourceSchemaId);
				const targetSchema = this.getDerefSchema(refSchemaId, refJsonPointer);
				if (targetSchema === null) {
					throw new Error(`Cannot resolve ref "${ref.ref}". Ref "${refJsonPointer}" is not found in schema "${refSchemaId}".`);
				}
				ref.targetSchema = targetSchema;
				ref.targetSchemaId = refSchemaId;
			}
			for (const ref of refs) {
				this.#resolveRef(ref, refs);
			}
		}
		getDerefSchema(schemaId, jsonPointer = "#") {
			let derefSchema = this.#derefSchemas[schemaId];
			if (derefSchema === undefined) {
				this.derefSchema(schemaId);
				derefSchema = this.#derefSchemas[schemaId];
			}
			if (derefSchema.anchors[jsonPointer] !== undefined) {
				return derefSchema.anchors[jsonPointer];
			}
			return getDataByJSONPointer(derefSchema.schema, jsonPointer);
		}
		#parseSchemaRef(ref, schemaId) {
			const sharpIndex = ref.indexOf("#");
			if (sharpIndex === -1) {
				return {
					refSchemaId: ref,
					refJsonPointer: "#"
				};
			}
			if (sharpIndex === 0) {
				return {
					refSchemaId: schemaId,
					refJsonPointer: ref
				};
			}
			return {
				refSchemaId: ref.slice(0, sharpIndex),
				refJsonPointer: ref.slice(sharpIndex)
			};
		}
		#addSchema(schema, rootSchemaId) {
			const schemaId = schema.$id;
			if (schemaId !== undefined && typeof schemaId === "string") {
				if (schemaId.charAt(0) === "#") {
					this.#insertSchemaByAnchor(schema, rootSchemaId, schemaId);
				} else {
					this.#insertSchemaBySchemaId(schema, schemaId);
					rootSchemaId = schemaId;
				}
			}
			const ref = schema.$ref;
			if (ref !== undefined && typeof ref === "string") {
				const { refSchemaId, refJsonPointer } = this.#parseSchemaRef(ref, rootSchemaId);
				this.#schemas[rootSchemaId].refs.push({
					schemaId: refSchemaId,
					jsonPointer: refJsonPointer
				});
			}
			for (const key in schema) {
				if (typeof schema[key] === "object" && schema[key] !== null) {
					this.#addSchema(schema[key], rootSchemaId);
				}
			}
		}
		#addDerefSchema(schema, rootSchemaId, refs = []) {
			const derefSchema = Array.isArray(schema) ? [...schema] : { ...schema };
			const schemaId = derefSchema.$id;
			if (schemaId !== undefined && typeof schemaId === "string") {
				if (schemaId.charAt(0) === "#") {
					this.#insertDerefSchemaByAnchor(derefSchema, rootSchemaId, schemaId);
				} else {
					this.#insertDerefSchemaBySchemaId(derefSchema, schemaId);
					rootSchemaId = schemaId;
				}
			}
			if (derefSchema.$ref !== undefined) {
				refs.push({
					ref: derefSchema.$ref,
					sourceSchemaId: rootSchemaId,
					sourceSchema: derefSchema
				});
			}
			for (const key in derefSchema) {
				const value = derefSchema[key];
				if (typeof value === "object" && value !== null) {
					derefSchema[key] = this.#addDerefSchema(value, rootSchemaId, refs);
				}
			}
			return derefSchema;
		}
		#resolveRef(ref, refs) {
			const { sourceSchema, targetSchema } = ref;
			if (!sourceSchema.$ref) return;
			if (this.#insertRefSymbol) {
				sourceSchema[jsonSchemaRefSymbol] = sourceSchema.$ref;
			}
			delete sourceSchema.$ref;
			if (targetSchema.$ref) {
				const targetSchemaRef = refs.find((ref) => ref.sourceSchema === targetSchema);
				this.#resolveRef(targetSchemaRef, refs);
			}
			for (const key in targetSchema) {
				if (key === "$id") continue;
				if (sourceSchema[key] !== undefined) {
					if (deepEqual(sourceSchema[key], targetSchema[key])) continue;
					throw new Error(`Cannot resolve ref "${ref.ref}". Property "${key}" is already exist in schema "${ref.sourceSchemaId}".`);
				}
				sourceSchema[key] = targetSchema[key];
			}
			ref.isResolved = true;
		}
		#insertSchemaBySchemaId(schema, schemaId) {
			const foundSchema = this.#schemas[schemaId];
			if (foundSchema !== undefined) {
				if (this.#allowEqualDuplicates && deepEqual(schema, foundSchema.schema)) return;
				throw new Error(`There is already another schema with id "${schemaId}".`);
			}
			this.#schemas[schemaId] = {
				schema,
				anchors: {},
				refs: []
			};
		}
		#insertSchemaByAnchor(schema, schemaId, anchor) {
			const { anchors } = this.#schemas[schemaId];
			if (anchors[anchor] !== undefined) {
				throw new Error(`There is already another anchor "${anchor}" in a schema "${schemaId}".`);
			}
			anchors[anchor] = schema;
		}
		#insertDerefSchemaBySchemaId(schema, schemaId) {
			const foundSchema = this.#derefSchemas[schemaId];
			if (foundSchema !== undefined) return;
			this.#derefSchemas[schemaId] = {
				schema,
				anchors: {}
			};
		}
		#insertDerefSchemaByAnchor(schema, schemaId, anchor) {
			const { anchors } = this.#derefSchemas[schemaId];
			anchors[anchor] = schema;
		}
	};
	function getDataByJSONPointer(data, jsonPointer) {
		const parts = jsonPointer.split("/");
		let current = data;
		for (const part of parts) {
			if (part === "" || part === "#") continue;
			if (typeof current !== "object" || current === null) {
				return null;
			}
			current = current[part];
		}
		return current ?? null;
	}
	module.exports = { RefResolver };
}));

//#endregion
//#region ../node_modules/ajv/dist/compile/codegen/code.js
var require_code$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.regexpCode = exports.getEsmExportName = exports.getProperty = exports.safeStringify = exports.stringify = exports.strConcat = exports.addCodeArg = exports.str = exports._ = exports.nil = exports._Code = exports.Name = exports.IDENTIFIER = exports._CodeOrName = void 0;
	var _CodeOrName = class {};
	exports._CodeOrName = _CodeOrName;
	exports.IDENTIFIER = /^[a-z$_][a-z$_0-9]*$/i;
	var Name = class extends _CodeOrName {
		constructor(s) {
			super();
			if (!exports.IDENTIFIER.test(s)) throw new Error("CodeGen: name must be a valid identifier");
			this.str = s;
		}
		toString() {
			return this.str;
		}
		emptyStr() {
			return false;
		}
		get names() {
			return { [this.str]: 1 };
		}
	};
	exports.Name = Name;
	var _Code = class extends _CodeOrName {
		constructor(code) {
			super();
			this._items = typeof code === "string" ? [code] : code;
		}
		toString() {
			return this.str;
		}
		emptyStr() {
			if (this._items.length > 1) return false;
			const item = this._items[0];
			return item === "" || item === "\"\"";
		}
		get str() {
			var _a;
			return (_a = this._str) !== null && _a !== void 0 ? _a : this._str = this._items.reduce((s, c) => `${s}${c}`, "");
		}
		get names() {
			var _a;
			return (_a = this._names) !== null && _a !== void 0 ? _a : this._names = this._items.reduce((names, c) => {
				if (c instanceof Name) names[c.str] = (names[c.str] || 0) + 1;
				return names;
			}, {});
		}
	};
	exports._Code = _Code;
	exports.nil = new _Code("");
	function _(strs, ...args) {
		const code = [strs[0]];
		let i = 0;
		while (i < args.length) {
			addCodeArg(code, args[i]);
			code.push(strs[++i]);
		}
		return new _Code(code);
	}
	exports._ = _;
	const plus = new _Code("+");
	function str(strs, ...args) {
		const expr = [safeStringify(strs[0])];
		let i = 0;
		while (i < args.length) {
			expr.push(plus);
			addCodeArg(expr, args[i]);
			expr.push(plus, safeStringify(strs[++i]));
		}
		optimize(expr);
		return new _Code(expr);
	}
	exports.str = str;
	function addCodeArg(code, arg) {
		if (arg instanceof _Code) code.push(...arg._items);
		else if (arg instanceof Name) code.push(arg);
		else code.push(interpolate(arg));
	}
	exports.addCodeArg = addCodeArg;
	function optimize(expr) {
		let i = 1;
		while (i < expr.length - 1) {
			if (expr[i] === plus) {
				const res = mergeExprItems(expr[i - 1], expr[i + 1]);
				if (res !== undefined) {
					expr.splice(i - 1, 3, res);
					continue;
				}
				expr[i++] = "+";
			}
			i++;
		}
	}
	function mergeExprItems(a, b) {
		if (b === "\"\"") return a;
		if (a === "\"\"") return b;
		if (typeof a == "string") {
			if (b instanceof Name || a[a.length - 1] !== "\"") return;
			if (typeof b != "string") return `${a.slice(0, -1)}${b}"`;
			if (b[0] === "\"") return a.slice(0, -1) + b.slice(1);
			return;
		}
		if (typeof b == "string" && b[0] === "\"" && !(a instanceof Name)) return `"${a}${b.slice(1)}`;
		return;
	}
	function strConcat(c1, c2) {
		return c2.emptyStr() ? c1 : c1.emptyStr() ? c2 : str`${c1}${c2}`;
	}
	exports.strConcat = strConcat;
	function interpolate(x) {
		return typeof x == "number" || typeof x == "boolean" || x === null ? x : safeStringify(Array.isArray(x) ? x.join(",") : x);
	}
	function stringify(x) {
		return new _Code(safeStringify(x));
	}
	exports.stringify = stringify;
	function safeStringify(x) {
		return JSON.stringify(x).replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029");
	}
	exports.safeStringify = safeStringify;
	function getProperty(key) {
		return typeof key == "string" && exports.IDENTIFIER.test(key) ? new _Code(`.${key}`) : _`[${key}]`;
	}
	exports.getProperty = getProperty;
	function getEsmExportName(key) {
		if (typeof key == "string" && exports.IDENTIFIER.test(key)) {
			return new _Code(`${key}`);
		}
		throw new Error(`CodeGen: invalid export name: ${key}, use explicit $id name mapping`);
	}
	exports.getEsmExportName = getEsmExportName;
	function regexpCode(rx) {
		return new _Code(rx.toString());
	}
	exports.regexpCode = regexpCode;
}));

//#endregion
//#region ../node_modules/ajv/dist/compile/codegen/scope.js
var require_scope = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.ValueScope = exports.ValueScopeName = exports.Scope = exports.varKinds = exports.UsedValueState = void 0;
	const code_1 = require_code$1();
	var ValueError = class extends Error {
		constructor(name) {
			super(`CodeGen: "code" for ${name} not defined`);
			this.value = name.value;
		}
	};
	var UsedValueState;
	(function(UsedValueState) {
		UsedValueState[UsedValueState["Started"] = 0] = "Started";
		UsedValueState[UsedValueState["Completed"] = 1] = "Completed";
	})(UsedValueState || (exports.UsedValueState = UsedValueState = {}));
	exports.varKinds = {
		const: new code_1.Name("const"),
		let: new code_1.Name("let"),
		var: new code_1.Name("var")
	};
	var Scope = class {
		constructor({ prefixes, parent } = {}) {
			this._names = {};
			this._prefixes = prefixes;
			this._parent = parent;
		}
		toName(nameOrPrefix) {
			return nameOrPrefix instanceof code_1.Name ? nameOrPrefix : this.name(nameOrPrefix);
		}
		name(prefix) {
			return new code_1.Name(this._newName(prefix));
		}
		_newName(prefix) {
			const ng = this._names[prefix] || this._nameGroup(prefix);
			return `${prefix}${ng.index++}`;
		}
		_nameGroup(prefix) {
			var _a, _b;
			if (((_b = (_a = this._parent) === null || _a === void 0 ? void 0 : _a._prefixes) === null || _b === void 0 ? void 0 : _b.has(prefix)) || this._prefixes && !this._prefixes.has(prefix)) {
				throw new Error(`CodeGen: prefix "${prefix}" is not allowed in this scope`);
			}
			return this._names[prefix] = {
				prefix,
				index: 0
			};
		}
	};
	exports.Scope = Scope;
	var ValueScopeName = class extends code_1.Name {
		constructor(prefix, nameStr) {
			super(nameStr);
			this.prefix = prefix;
		}
		setValue(value, { property, itemIndex }) {
			this.value = value;
			this.scopePath = (0, code_1._)`.${new code_1.Name(property)}[${itemIndex}]`;
		}
	};
	exports.ValueScopeName = ValueScopeName;
	const line = (0, code_1._)`\n`;
	var ValueScope = class extends Scope {
		constructor(opts) {
			super(opts);
			this._values = {};
			this._scope = opts.scope;
			this.opts = {
				...opts,
				_n: opts.lines ? line : code_1.nil
			};
		}
		get() {
			return this._scope;
		}
		name(prefix) {
			return new ValueScopeName(prefix, this._newName(prefix));
		}
		value(nameOrPrefix, value) {
			var _a;
			if (value.ref === undefined) throw new Error("CodeGen: ref must be passed in value");
			const name = this.toName(nameOrPrefix);
			const { prefix } = name;
			const valueKey = (_a = value.key) !== null && _a !== void 0 ? _a : value.ref;
			let vs = this._values[prefix];
			if (vs) {
				const _name = vs.get(valueKey);
				if (_name) return _name;
			} else {
				vs = this._values[prefix] = new Map();
			}
			vs.set(valueKey, name);
			const s = this._scope[prefix] || (this._scope[prefix] = []);
			const itemIndex = s.length;
			s[itemIndex] = value.ref;
			name.setValue(value, {
				property: prefix,
				itemIndex
			});
			return name;
		}
		getValue(prefix, keyOrRef) {
			const vs = this._values[prefix];
			if (!vs) return;
			return vs.get(keyOrRef);
		}
		scopeRefs(scopeName, values = this._values) {
			return this._reduceValues(values, (name) => {
				if (name.scopePath === undefined) throw new Error(`CodeGen: name "${name}" has no value`);
				return (0, code_1._)`${scopeName}${name.scopePath}`;
			});
		}
		scopeCode(values = this._values, usedValues, getCode) {
			return this._reduceValues(values, (name) => {
				if (name.value === undefined) throw new Error(`CodeGen: name "${name}" has no value`);
				return name.value.code;
			}, usedValues, getCode);
		}
		_reduceValues(values, valueCode, usedValues = {}, getCode) {
			let code = code_1.nil;
			for (const prefix in values) {
				const vs = values[prefix];
				if (!vs) continue;
				const nameSet = usedValues[prefix] = usedValues[prefix] || new Map();
				vs.forEach((name) => {
					if (nameSet.has(name)) return;
					nameSet.set(name, UsedValueState.Started);
					let c = valueCode(name);
					if (c) {
						const def = this.opts.es5 ? exports.varKinds.var : exports.varKinds.const;
						code = (0, code_1._)`${code}${def} ${name} = ${c};${this.opts._n}`;
					} else if (c = getCode === null || getCode === void 0 ? void 0 : getCode(name)) {
						code = (0, code_1._)`${code}${c}${this.opts._n}`;
					} else {
						throw new ValueError(name);
					}
					nameSet.set(name, UsedValueState.Completed);
				});
			}
			return code;
		}
	};
	exports.ValueScope = ValueScope;
}));

//#endregion
//#region ../node_modules/ajv/dist/compile/codegen/index.js
var require_codegen = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.or = exports.and = exports.not = exports.CodeGen = exports.operators = exports.varKinds = exports.ValueScopeName = exports.ValueScope = exports.Scope = exports.Name = exports.regexpCode = exports.stringify = exports.getProperty = exports.nil = exports.strConcat = exports.str = exports._ = void 0;
	const code_1 = require_code$1();
	const scope_1 = require_scope();
	var code_2 = require_code$1();
	Object.defineProperty(exports, "_", {
		enumerable: true,
		get: function() {
			return code_2._;
		}
	});
	Object.defineProperty(exports, "str", {
		enumerable: true,
		get: function() {
			return code_2.str;
		}
	});
	Object.defineProperty(exports, "strConcat", {
		enumerable: true,
		get: function() {
			return code_2.strConcat;
		}
	});
	Object.defineProperty(exports, "nil", {
		enumerable: true,
		get: function() {
			return code_2.nil;
		}
	});
	Object.defineProperty(exports, "getProperty", {
		enumerable: true,
		get: function() {
			return code_2.getProperty;
		}
	});
	Object.defineProperty(exports, "stringify", {
		enumerable: true,
		get: function() {
			return code_2.stringify;
		}
	});
	Object.defineProperty(exports, "regexpCode", {
		enumerable: true,
		get: function() {
			return code_2.regexpCode;
		}
	});
	Object.defineProperty(exports, "Name", {
		enumerable: true,
		get: function() {
			return code_2.Name;
		}
	});
	var scope_2 = require_scope();
	Object.defineProperty(exports, "Scope", {
		enumerable: true,
		get: function() {
			return scope_2.Scope;
		}
	});
	Object.defineProperty(exports, "ValueScope", {
		enumerable: true,
		get: function() {
			return scope_2.ValueScope;
		}
	});
	Object.defineProperty(exports, "ValueScopeName", {
		enumerable: true,
		get: function() {
			return scope_2.ValueScopeName;
		}
	});
	Object.defineProperty(exports, "varKinds", {
		enumerable: true,
		get: function() {
			return scope_2.varKinds;
		}
	});
	exports.operators = {
		GT: new code_1._Code(">"),
		GTE: new code_1._Code(">="),
		LT: new code_1._Code("<"),
		LTE: new code_1._Code("<="),
		EQ: new code_1._Code("==="),
		NEQ: new code_1._Code("!=="),
		NOT: new code_1._Code("!"),
		OR: new code_1._Code("||"),
		AND: new code_1._Code("&&"),
		ADD: new code_1._Code("+")
	};
	var Node = class {
		optimizeNodes() {
			return this;
		}
		optimizeNames(_names, _constants) {
			return this;
		}
	};
	var Def = class extends Node {
		constructor(varKind, name, rhs) {
			super();
			this.varKind = varKind;
			this.name = name;
			this.rhs = rhs;
		}
		render({ es5, _n }) {
			const varKind = es5 ? scope_1.varKinds.var : this.varKind;
			const rhs = this.rhs === undefined ? "" : ` = ${this.rhs}`;
			return `${varKind} ${this.name}${rhs};` + _n;
		}
		optimizeNames(names, constants) {
			if (!names[this.name.str]) return;
			if (this.rhs) this.rhs = optimizeExpr(this.rhs, names, constants);
			return this;
		}
		get names() {
			return this.rhs instanceof code_1._CodeOrName ? this.rhs.names : {};
		}
	};
	var Assign = class extends Node {
		constructor(lhs, rhs, sideEffects) {
			super();
			this.lhs = lhs;
			this.rhs = rhs;
			this.sideEffects = sideEffects;
		}
		render({ _n }) {
			return `${this.lhs} = ${this.rhs};` + _n;
		}
		optimizeNames(names, constants) {
			if (this.lhs instanceof code_1.Name && !names[this.lhs.str] && !this.sideEffects) return;
			this.rhs = optimizeExpr(this.rhs, names, constants);
			return this;
		}
		get names() {
			const names = this.lhs instanceof code_1.Name ? {} : { ...this.lhs.names };
			return addExprNames(names, this.rhs);
		}
	};
	var AssignOp = class extends Assign {
		constructor(lhs, op, rhs, sideEffects) {
			super(lhs, rhs, sideEffects);
			this.op = op;
		}
		render({ _n }) {
			return `${this.lhs} ${this.op}= ${this.rhs};` + _n;
		}
	};
	var Label = class extends Node {
		constructor(label) {
			super();
			this.label = label;
			this.names = {};
		}
		render({ _n }) {
			return `${this.label}:` + _n;
		}
	};
	var Break = class extends Node {
		constructor(label) {
			super();
			this.label = label;
			this.names = {};
		}
		render({ _n }) {
			const label = this.label ? ` ${this.label}` : "";
			return `break${label};` + _n;
		}
	};
	var Throw = class extends Node {
		constructor(error) {
			super();
			this.error = error;
		}
		render({ _n }) {
			return `throw ${this.error};` + _n;
		}
		get names() {
			return this.error.names;
		}
	};
	var AnyCode = class extends Node {
		constructor(code) {
			super();
			this.code = code;
		}
		render({ _n }) {
			return `${this.code};` + _n;
		}
		optimizeNodes() {
			return `${this.code}` ? this : undefined;
		}
		optimizeNames(names, constants) {
			this.code = optimizeExpr(this.code, names, constants);
			return this;
		}
		get names() {
			return this.code instanceof code_1._CodeOrName ? this.code.names : {};
		}
	};
	var ParentNode = class extends Node {
		constructor(nodes = []) {
			super();
			this.nodes = nodes;
		}
		render(opts) {
			return this.nodes.reduce((code, n) => code + n.render(opts), "");
		}
		optimizeNodes() {
			const { nodes } = this;
			let i = nodes.length;
			while (i--) {
				const n = nodes[i].optimizeNodes();
				if (Array.isArray(n)) nodes.splice(i, 1, ...n);
				else if (n) nodes[i] = n;
				else nodes.splice(i, 1);
			}
			return nodes.length > 0 ? this : undefined;
		}
		optimizeNames(names, constants) {
			const { nodes } = this;
			let i = nodes.length;
			while (i--) {
				const n = nodes[i];
				if (n.optimizeNames(names, constants)) continue;
				subtractNames(names, n.names);
				nodes.splice(i, 1);
			}
			return nodes.length > 0 ? this : undefined;
		}
		get names() {
			return this.nodes.reduce((names, n) => addNames(names, n.names), {});
		}
	};
	var BlockNode = class extends ParentNode {
		render(opts) {
			return "{" + opts._n + super.render(opts) + "}" + opts._n;
		}
	};
	var Root = class extends ParentNode {};
	var Else = class extends BlockNode {};
	Else.kind = "else";
	var If = class If extends BlockNode {
		constructor(condition, nodes) {
			super(nodes);
			this.condition = condition;
		}
		render(opts) {
			let code = `if(${this.condition})` + super.render(opts);
			if (this.else) code += "else " + this.else.render(opts);
			return code;
		}
		optimizeNodes() {
			super.optimizeNodes();
			const cond = this.condition;
			if (cond === true) return this.nodes;
			let e = this.else;
			if (e) {
				const ns = e.optimizeNodes();
				e = this.else = Array.isArray(ns) ? new Else(ns) : ns;
			}
			if (e) {
				if (cond === false) return e instanceof If ? e : e.nodes;
				if (this.nodes.length) return this;
				return new If(not(cond), e instanceof If ? [e] : e.nodes);
			}
			if (cond === false || !this.nodes.length) return undefined;
			return this;
		}
		optimizeNames(names, constants) {
			var _a;
			this.else = (_a = this.else) === null || _a === void 0 ? void 0 : _a.optimizeNames(names, constants);
			if (!(super.optimizeNames(names, constants) || this.else)) return;
			this.condition = optimizeExpr(this.condition, names, constants);
			return this;
		}
		get names() {
			const names = super.names;
			addExprNames(names, this.condition);
			if (this.else) addNames(names, this.else.names);
			return names;
		}
	};
	If.kind = "if";
	var For = class extends BlockNode {};
	For.kind = "for";
	var ForLoop = class extends For {
		constructor(iteration) {
			super();
			this.iteration = iteration;
		}
		render(opts) {
			return `for(${this.iteration})` + super.render(opts);
		}
		optimizeNames(names, constants) {
			if (!super.optimizeNames(names, constants)) return;
			this.iteration = optimizeExpr(this.iteration, names, constants);
			return this;
		}
		get names() {
			return addNames(super.names, this.iteration.names);
		}
	};
	var ForRange = class extends For {
		constructor(varKind, name, from, to) {
			super();
			this.varKind = varKind;
			this.name = name;
			this.from = from;
			this.to = to;
		}
		render(opts) {
			const varKind = opts.es5 ? scope_1.varKinds.var : this.varKind;
			const { name, from, to } = this;
			return `for(${varKind} ${name}=${from}; ${name}<${to}; ${name}++)` + super.render(opts);
		}
		get names() {
			const names = addExprNames(super.names, this.from);
			return addExprNames(names, this.to);
		}
	};
	var ForIter = class extends For {
		constructor(loop, varKind, name, iterable) {
			super();
			this.loop = loop;
			this.varKind = varKind;
			this.name = name;
			this.iterable = iterable;
		}
		render(opts) {
			return `for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})` + super.render(opts);
		}
		optimizeNames(names, constants) {
			if (!super.optimizeNames(names, constants)) return;
			this.iterable = optimizeExpr(this.iterable, names, constants);
			return this;
		}
		get names() {
			return addNames(super.names, this.iterable.names);
		}
	};
	var Func = class extends BlockNode {
		constructor(name, args, async) {
			super();
			this.name = name;
			this.args = args;
			this.async = async;
		}
		render(opts) {
			const _async = this.async ? "async " : "";
			return `${_async}function ${this.name}(${this.args})` + super.render(opts);
		}
	};
	Func.kind = "func";
	var Return = class extends ParentNode {
		render(opts) {
			return "return " + super.render(opts);
		}
	};
	Return.kind = "return";
	var Try = class extends BlockNode {
		render(opts) {
			let code = "try" + super.render(opts);
			if (this.catch) code += this.catch.render(opts);
			if (this.finally) code += this.finally.render(opts);
			return code;
		}
		optimizeNodes() {
			var _a, _b;
			super.optimizeNodes();
			(_a = this.catch) === null || _a === void 0 ? void 0 : _a.optimizeNodes();
			(_b = this.finally) === null || _b === void 0 ? void 0 : _b.optimizeNodes();
			return this;
		}
		optimizeNames(names, constants) {
			var _a, _b;
			super.optimizeNames(names, constants);
			(_a = this.catch) === null || _a === void 0 ? void 0 : _a.optimizeNames(names, constants);
			(_b = this.finally) === null || _b === void 0 ? void 0 : _b.optimizeNames(names, constants);
			return this;
		}
		get names() {
			const names = super.names;
			if (this.catch) addNames(names, this.catch.names);
			if (this.finally) addNames(names, this.finally.names);
			return names;
		}
	};
	var Catch = class extends BlockNode {
		constructor(error) {
			super();
			this.error = error;
		}
		render(opts) {
			return `catch(${this.error})` + super.render(opts);
		}
	};
	Catch.kind = "catch";
	var Finally = class extends BlockNode {
		render(opts) {
			return "finally" + super.render(opts);
		}
	};
	Finally.kind = "finally";
	var CodeGen = class {
		constructor(extScope, opts = {}) {
			this._values = {};
			this._blockStarts = [];
			this._constants = {};
			this.opts = {
				...opts,
				_n: opts.lines ? "\n" : ""
			};
			this._extScope = extScope;
			this._scope = new scope_1.Scope({ parent: extScope });
			this._nodes = [new Root()];
		}
		toString() {
			return this._root.render(this.opts);
		}
		name(prefix) {
			return this._scope.name(prefix);
		}
		scopeName(prefix) {
			return this._extScope.name(prefix);
		}
		scopeValue(prefixOrName, value) {
			const name = this._extScope.value(prefixOrName, value);
			const vs = this._values[name.prefix] || (this._values[name.prefix] = new Set());
			vs.add(name);
			return name;
		}
		getScopeValue(prefix, keyOrRef) {
			return this._extScope.getValue(prefix, keyOrRef);
		}
		scopeRefs(scopeName) {
			return this._extScope.scopeRefs(scopeName, this._values);
		}
		scopeCode() {
			return this._extScope.scopeCode(this._values);
		}
		_def(varKind, nameOrPrefix, rhs, constant) {
			const name = this._scope.toName(nameOrPrefix);
			if (rhs !== undefined && constant) this._constants[name.str] = rhs;
			this._leafNode(new Def(varKind, name, rhs));
			return name;
		}
		const(nameOrPrefix, rhs, _constant) {
			return this._def(scope_1.varKinds.const, nameOrPrefix, rhs, _constant);
		}
		let(nameOrPrefix, rhs, _constant) {
			return this._def(scope_1.varKinds.let, nameOrPrefix, rhs, _constant);
		}
		var(nameOrPrefix, rhs, _constant) {
			return this._def(scope_1.varKinds.var, nameOrPrefix, rhs, _constant);
		}
		assign(lhs, rhs, sideEffects) {
			return this._leafNode(new Assign(lhs, rhs, sideEffects));
		}
		add(lhs, rhs) {
			return this._leafNode(new AssignOp(lhs, exports.operators.ADD, rhs));
		}
		code(c) {
			if (typeof c == "function") c();
			else if (c !== code_1.nil) this._leafNode(new AnyCode(c));
			return this;
		}
		object(...keyValues) {
			const code = ["{"];
			for (const [key, value] of keyValues) {
				if (code.length > 1) code.push(",");
				code.push(key);
				if (key !== value || this.opts.es5) {
					code.push(":");
					(0, code_1.addCodeArg)(code, value);
				}
			}
			code.push("}");
			return new code_1._Code(code);
		}
		if(condition, thenBody, elseBody) {
			this._blockNode(new If(condition));
			if (thenBody && elseBody) {
				this.code(thenBody).else().code(elseBody).endIf();
			} else if (thenBody) {
				this.code(thenBody).endIf();
			} else if (elseBody) {
				throw new Error("CodeGen: \"else\" body without \"then\" body");
			}
			return this;
		}
		elseIf(condition) {
			return this._elseNode(new If(condition));
		}
		else() {
			return this._elseNode(new Else());
		}
		endIf() {
			return this._endBlockNode(If, Else);
		}
		_for(node, forBody) {
			this._blockNode(node);
			if (forBody) this.code(forBody).endFor();
			return this;
		}
		for(iteration, forBody) {
			return this._for(new ForLoop(iteration), forBody);
		}
		forRange(nameOrPrefix, from, to, forBody, varKind = this.opts.es5 ? scope_1.varKinds.var : scope_1.varKinds.let) {
			const name = this._scope.toName(nameOrPrefix);
			return this._for(new ForRange(varKind, name, from, to), () => forBody(name));
		}
		forOf(nameOrPrefix, iterable, forBody, varKind = scope_1.varKinds.const) {
			const name = this._scope.toName(nameOrPrefix);
			if (this.opts.es5) {
				const arr = iterable instanceof code_1.Name ? iterable : this.var("_arr", iterable);
				return this.forRange("_i", 0, (0, code_1._)`${arr}.length`, (i) => {
					this.var(name, (0, code_1._)`${arr}[${i}]`);
					forBody(name);
				});
			}
			return this._for(new ForIter("of", varKind, name, iterable), () => forBody(name));
		}
		forIn(nameOrPrefix, obj, forBody, varKind = this.opts.es5 ? scope_1.varKinds.var : scope_1.varKinds.const) {
			if (this.opts.ownProperties) {
				return this.forOf(nameOrPrefix, (0, code_1._)`Object.keys(${obj})`, forBody);
			}
			const name = this._scope.toName(nameOrPrefix);
			return this._for(new ForIter("in", varKind, name, obj), () => forBody(name));
		}
		endFor() {
			return this._endBlockNode(For);
		}
		label(label) {
			return this._leafNode(new Label(label));
		}
		break(label) {
			return this._leafNode(new Break(label));
		}
		return(value) {
			const node = new Return();
			this._blockNode(node);
			this.code(value);
			if (node.nodes.length !== 1) throw new Error("CodeGen: \"return\" should have one node");
			return this._endBlockNode(Return);
		}
		try(tryBody, catchCode, finallyCode) {
			if (!catchCode && !finallyCode) throw new Error("CodeGen: \"try\" without \"catch\" and \"finally\"");
			const node = new Try();
			this._blockNode(node);
			this.code(tryBody);
			if (catchCode) {
				const error = this.name("e");
				this._currNode = node.catch = new Catch(error);
				catchCode(error);
			}
			if (finallyCode) {
				this._currNode = node.finally = new Finally();
				this.code(finallyCode);
			}
			return this._endBlockNode(Catch, Finally);
		}
		throw(error) {
			return this._leafNode(new Throw(error));
		}
		block(body, nodeCount) {
			this._blockStarts.push(this._nodes.length);
			if (body) this.code(body).endBlock(nodeCount);
			return this;
		}
		endBlock(nodeCount) {
			const len = this._blockStarts.pop();
			if (len === undefined) throw new Error("CodeGen: not in self-balancing block");
			const toClose = this._nodes.length - len;
			if (toClose < 0 || nodeCount !== undefined && toClose !== nodeCount) {
				throw new Error(`CodeGen: wrong number of nodes: ${toClose} vs ${nodeCount} expected`);
			}
			this._nodes.length = len;
			return this;
		}
		func(name, args = code_1.nil, async, funcBody) {
			this._blockNode(new Func(name, args, async));
			if (funcBody) this.code(funcBody).endFunc();
			return this;
		}
		endFunc() {
			return this._endBlockNode(Func);
		}
		optimize(n = 1) {
			while (n-- > 0) {
				this._root.optimizeNodes();
				this._root.optimizeNames(this._root.names, this._constants);
			}
		}
		_leafNode(node) {
			this._currNode.nodes.push(node);
			return this;
		}
		_blockNode(node) {
			this._currNode.nodes.push(node);
			this._nodes.push(node);
		}
		_endBlockNode(N1, N2) {
			const n = this._currNode;
			if (n instanceof N1 || N2 && n instanceof N2) {
				this._nodes.pop();
				return this;
			}
			throw new Error(`CodeGen: not in block "${N2 ? `${N1.kind}/${N2.kind}` : N1.kind}"`);
		}
		_elseNode(node) {
			const n = this._currNode;
			if (!(n instanceof If)) {
				throw new Error("CodeGen: \"else\" without \"if\"");
			}
			this._currNode = n.else = node;
			return this;
		}
		get _root() {
			return this._nodes[0];
		}
		get _currNode() {
			const ns = this._nodes;
			return ns[ns.length - 1];
		}
		set _currNode(node) {
			const ns = this._nodes;
			ns[ns.length - 1] = node;
		}
	};
	exports.CodeGen = CodeGen;
	function addNames(names, from) {
		for (const n in from) names[n] = (names[n] || 0) + (from[n] || 0);
		return names;
	}
	function addExprNames(names, from) {
		return from instanceof code_1._CodeOrName ? addNames(names, from.names) : names;
	}
	function optimizeExpr(expr, names, constants) {
		if (expr instanceof code_1.Name) return replaceName(expr);
		if (!canOptimize(expr)) return expr;
		return new code_1._Code(expr._items.reduce((items, c) => {
			if (c instanceof code_1.Name) c = replaceName(c);
			if (c instanceof code_1._Code) items.push(...c._items);
			else items.push(c);
			return items;
		}, []));
		function replaceName(n) {
			const c = constants[n.str];
			if (c === undefined || names[n.str] !== 1) return n;
			delete names[n.str];
			return c;
		}
		function canOptimize(e) {
			return e instanceof code_1._Code && e._items.some((c) => c instanceof code_1.Name && names[c.str] === 1 && constants[c.str] !== undefined);
		}
	}
	function subtractNames(names, from) {
		for (const n in from) names[n] = (names[n] || 0) - (from[n] || 0);
	}
	function not(x) {
		return typeof x == "boolean" || typeof x == "number" || x === null ? !x : (0, code_1._)`!${par(x)}`;
	}
	exports.not = not;
	const andCode = mappend(exports.operators.AND);
	function and(...args) {
		return args.reduce(andCode);
	}
	exports.and = and;
	const orCode = mappend(exports.operators.OR);
	function or(...args) {
		return args.reduce(orCode);
	}
	exports.or = or;
	function mappend(op) {
		return (x, y) => x === code_1.nil ? y : y === code_1.nil ? x : (0, code_1._)`${par(x)} ${op} ${par(y)}`;
	}
	function par(x) {
		return x instanceof code_1.Name ? x : (0, code_1._)`(${x})`;
	}
}));

//#endregion
//#region ../node_modules/ajv/dist/compile/util.js
var require_util$7 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.checkStrictMode = exports.getErrorPath = exports.Type = exports.useFunc = exports.setEvaluated = exports.evaluatedPropsToName = exports.mergeEvaluated = exports.eachItem = exports.unescapeJsonPointer = exports.escapeJsonPointer = exports.escapeFragment = exports.unescapeFragment = exports.schemaRefOrVal = exports.schemaHasRulesButRef = exports.schemaHasRules = exports.checkUnknownRules = exports.alwaysValidSchema = exports.toHash = void 0;
	const codegen_1 = require_codegen();
	const code_1 = require_code$1();
	function toHash(arr) {
		const hash = {};
		for (const item of arr) hash[item] = true;
		return hash;
	}
	exports.toHash = toHash;
	function alwaysValidSchema(it, schema) {
		if (typeof schema == "boolean") return schema;
		if (Object.keys(schema).length === 0) return true;
		checkUnknownRules(it, schema);
		return !schemaHasRules(schema, it.self.RULES.all);
	}
	exports.alwaysValidSchema = alwaysValidSchema;
	function checkUnknownRules(it, schema = it.schema) {
		const { opts, self } = it;
		if (!opts.strictSchema) return;
		if (typeof schema === "boolean") return;
		const rules = self.RULES.keywords;
		for (const key in schema) {
			if (!rules[key]) checkStrictMode(it, `unknown keyword: "${key}"`);
		}
	}
	exports.checkUnknownRules = checkUnknownRules;
	function schemaHasRules(schema, rules) {
		if (typeof schema == "boolean") return !schema;
		for (const key in schema) if (rules[key]) return true;
		return false;
	}
	exports.schemaHasRules = schemaHasRules;
	function schemaHasRulesButRef(schema, RULES) {
		if (typeof schema == "boolean") return !schema;
		for (const key in schema) if (key !== "$ref" && RULES.all[key]) return true;
		return false;
	}
	exports.schemaHasRulesButRef = schemaHasRulesButRef;
	function schemaRefOrVal({ topSchemaRef, schemaPath }, schema, keyword, $data) {
		if (!$data) {
			if (typeof schema == "number" || typeof schema == "boolean") return schema;
			if (typeof schema == "string") return (0, codegen_1._)`${schema}`;
		}
		return (0, codegen_1._)`${topSchemaRef}${schemaPath}${(0, codegen_1.getProperty)(keyword)}`;
	}
	exports.schemaRefOrVal = schemaRefOrVal;
	function unescapeFragment(str) {
		return unescapeJsonPointer(decodeURIComponent(str));
	}
	exports.unescapeFragment = unescapeFragment;
	function escapeFragment(str) {
		return encodeURIComponent(escapeJsonPointer(str));
	}
	exports.escapeFragment = escapeFragment;
	function escapeJsonPointer(str) {
		if (typeof str == "number") return `${str}`;
		return str.replace(/~/g, "~0").replace(/\//g, "~1");
	}
	exports.escapeJsonPointer = escapeJsonPointer;
	function unescapeJsonPointer(str) {
		return str.replace(/~1/g, "/").replace(/~0/g, "~");
	}
	exports.unescapeJsonPointer = unescapeJsonPointer;
	function eachItem(xs, f) {
		if (Array.isArray(xs)) {
			for (const x of xs) f(x);
		} else {
			f(xs);
		}
	}
	exports.eachItem = eachItem;
	function makeMergeEvaluated({ mergeNames, mergeToName, mergeValues, resultToName }) {
		return (gen, from, to, toName) => {
			const res = to === undefined ? from : to instanceof codegen_1.Name ? (from instanceof codegen_1.Name ? mergeNames(gen, from, to) : mergeToName(gen, from, to), to) : from instanceof codegen_1.Name ? (mergeToName(gen, to, from), from) : mergeValues(from, to);
			return toName === codegen_1.Name && !(res instanceof codegen_1.Name) ? resultToName(gen, res) : res;
		};
	}
	exports.mergeEvaluated = {
		props: makeMergeEvaluated({
			mergeNames: (gen, from, to) => gen.if((0, codegen_1._)`${to} !== true && ${from} !== undefined`, () => {
				gen.if((0, codegen_1._)`${from} === true`, () => gen.assign(to, true), () => gen.assign(to, (0, codegen_1._)`${to} || {}`).code((0, codegen_1._)`Object.assign(${to}, ${from})`));
			}),
			mergeToName: (gen, from, to) => gen.if((0, codegen_1._)`${to} !== true`, () => {
				if (from === true) {
					gen.assign(to, true);
				} else {
					gen.assign(to, (0, codegen_1._)`${to} || {}`);
					setEvaluated(gen, to, from);
				}
			}),
			mergeValues: (from, to) => from === true ? true : {
				...from,
				...to
			},
			resultToName: evaluatedPropsToName
		}),
		items: makeMergeEvaluated({
			mergeNames: (gen, from, to) => gen.if((0, codegen_1._)`${to} !== true && ${from} !== undefined`, () => gen.assign(to, (0, codegen_1._)`${from} === true ? true : ${to} > ${from} ? ${to} : ${from}`)),
			mergeToName: (gen, from, to) => gen.if((0, codegen_1._)`${to} !== true`, () => gen.assign(to, from === true ? true : (0, codegen_1._)`${to} > ${from} ? ${to} : ${from}`)),
			mergeValues: (from, to) => from === true ? true : Math.max(from, to),
			resultToName: (gen, items) => gen.var("items", items)
		})
	};
	function evaluatedPropsToName(gen, ps) {
		if (ps === true) return gen.var("props", true);
		const props = gen.var("props", (0, codegen_1._)`{}`);
		if (ps !== undefined) setEvaluated(gen, props, ps);
		return props;
	}
	exports.evaluatedPropsToName = evaluatedPropsToName;
	function setEvaluated(gen, props, ps) {
		Object.keys(ps).forEach((p) => gen.assign((0, codegen_1._)`${props}${(0, codegen_1.getProperty)(p)}`, true));
	}
	exports.setEvaluated = setEvaluated;
	const snippets = {};
	function useFunc(gen, f) {
		return gen.scopeValue("func", {
			ref: f,
			code: snippets[f.code] || (snippets[f.code] = new code_1._Code(f.code))
		});
	}
	exports.useFunc = useFunc;
	var Type;
	(function(Type) {
		Type[Type["Num"] = 0] = "Num";
		Type[Type["Str"] = 1] = "Str";
	})(Type || (exports.Type = Type = {}));
	function getErrorPath(dataProp, dataPropType, jsPropertySyntax) {
		if (dataProp instanceof codegen_1.Name) {
			const isNumber = dataPropType === Type.Num;
			return jsPropertySyntax ? isNumber ? (0, codegen_1._)`"[" + ${dataProp} + "]"` : (0, codegen_1._)`"['" + ${dataProp} + "']"` : isNumber ? (0, codegen_1._)`"/" + ${dataProp}` : (0, codegen_1._)`"/" + ${dataProp}.replace(/~/g, "~0").replace(/\\//g, "~1")`;
		}
		return jsPropertySyntax ? (0, codegen_1.getProperty)(dataProp).toString() : "/" + escapeJsonPointer(dataProp);
	}
	exports.getErrorPath = getErrorPath;
	function checkStrictMode(it, msg, mode = it.opts.strictSchema) {
		if (!mode) return;
		msg = `strict mode: ${msg}`;
		if (mode === true) throw new Error(msg);
		it.self.logger.warn(msg);
	}
	exports.checkStrictMode = checkStrictMode;
}));

//#endregion
//#region ../node_modules/ajv/dist/compile/names.js
var require_names = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const codegen_1 = require_codegen();
	const names = {
		data: new codegen_1.Name("data"),
		valCxt: new codegen_1.Name("valCxt"),
		instancePath: new codegen_1.Name("instancePath"),
		parentData: new codegen_1.Name("parentData"),
		parentDataProperty: new codegen_1.Name("parentDataProperty"),
		rootData: new codegen_1.Name("rootData"),
		dynamicAnchors: new codegen_1.Name("dynamicAnchors"),
		vErrors: new codegen_1.Name("vErrors"),
		errors: new codegen_1.Name("errors"),
		this: new codegen_1.Name("this"),
		self: new codegen_1.Name("self"),
		scope: new codegen_1.Name("scope"),
		json: new codegen_1.Name("json"),
		jsonPos: new codegen_1.Name("jsonPos"),
		jsonLen: new codegen_1.Name("jsonLen"),
		jsonPart: new codegen_1.Name("jsonPart")
	};
	exports.default = names;
}));

//#endregion
//#region ../node_modules/ajv/dist/compile/errors.js
var require_errors$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.extendErrors = exports.resetErrorsCount = exports.reportExtraError = exports.reportError = exports.keyword$DataError = exports.keywordError = void 0;
	const codegen_1 = require_codegen();
	const util_1 = require_util$7();
	const names_1 = require_names();
	exports.keywordError = { message: ({ keyword }) => (0, codegen_1.str)`must pass "${keyword}" keyword validation` };
	exports.keyword$DataError = { message: ({ keyword, schemaType }) => schemaType ? (0, codegen_1.str)`"${keyword}" keyword must be ${schemaType} ($data)` : (0, codegen_1.str)`"${keyword}" keyword is invalid ($data)` };
	function reportError(cxt, error = exports.keywordError, errorPaths, overrideAllErrors) {
		const { it } = cxt;
		const { gen, compositeRule, allErrors } = it;
		const errObj = errorObjectCode(cxt, error, errorPaths);
		if (overrideAllErrors !== null && overrideAllErrors !== void 0 ? overrideAllErrors : compositeRule || allErrors) {
			addError(gen, errObj);
		} else {
			returnErrors(it, (0, codegen_1._)`[${errObj}]`);
		}
	}
	exports.reportError = reportError;
	function reportExtraError(cxt, error = exports.keywordError, errorPaths) {
		const { it } = cxt;
		const { gen, compositeRule, allErrors } = it;
		const errObj = errorObjectCode(cxt, error, errorPaths);
		addError(gen, errObj);
		if (!(compositeRule || allErrors)) {
			returnErrors(it, names_1.default.vErrors);
		}
	}
	exports.reportExtraError = reportExtraError;
	function resetErrorsCount(gen, errsCount) {
		gen.assign(names_1.default.errors, errsCount);
		gen.if((0, codegen_1._)`${names_1.default.vErrors} !== null`, () => gen.if(errsCount, () => gen.assign((0, codegen_1._)`${names_1.default.vErrors}.length`, errsCount), () => gen.assign(names_1.default.vErrors, null)));
	}
	exports.resetErrorsCount = resetErrorsCount;
	function extendErrors({ gen, keyword, schemaValue, data, errsCount, it }) {
		/* istanbul ignore if */
		if (errsCount === undefined) throw new Error("ajv implementation error");
		const err = gen.name("err");
		gen.forRange("i", errsCount, names_1.default.errors, (i) => {
			gen.const(err, (0, codegen_1._)`${names_1.default.vErrors}[${i}]`);
			gen.if((0, codegen_1._)`${err}.instancePath === undefined`, () => gen.assign((0, codegen_1._)`${err}.instancePath`, (0, codegen_1.strConcat)(names_1.default.instancePath, it.errorPath)));
			gen.assign((0, codegen_1._)`${err}.schemaPath`, (0, codegen_1.str)`${it.errSchemaPath}/${keyword}`);
			if (it.opts.verbose) {
				gen.assign((0, codegen_1._)`${err}.schema`, schemaValue);
				gen.assign((0, codegen_1._)`${err}.data`, data);
			}
		});
	}
	exports.extendErrors = extendErrors;
	function addError(gen, errObj) {
		const err = gen.const("err", errObj);
		gen.if((0, codegen_1._)`${names_1.default.vErrors} === null`, () => gen.assign(names_1.default.vErrors, (0, codegen_1._)`[${err}]`), (0, codegen_1._)`${names_1.default.vErrors}.push(${err})`);
		gen.code((0, codegen_1._)`${names_1.default.errors}++`);
	}
	function returnErrors(it, errs) {
		const { gen, validateName, schemaEnv } = it;
		if (schemaEnv.$async) {
			gen.throw((0, codegen_1._)`new ${it.ValidationError}(${errs})`);
		} else {
			gen.assign((0, codegen_1._)`${validateName}.errors`, errs);
			gen.return(false);
		}
	}
	const E = {
		keyword: new codegen_1.Name("keyword"),
		schemaPath: new codegen_1.Name("schemaPath"),
		params: new codegen_1.Name("params"),
		propertyName: new codegen_1.Name("propertyName"),
		message: new codegen_1.Name("message"),
		schema: new codegen_1.Name("schema"),
		parentSchema: new codegen_1.Name("parentSchema")
	};
	function errorObjectCode(cxt, error, errorPaths) {
		const { createErrors } = cxt.it;
		if (createErrors === false) return (0, codegen_1._)`{}`;
		return errorObject(cxt, error, errorPaths);
	}
	function errorObject(cxt, error, errorPaths = {}) {
		const { gen, it } = cxt;
		const keyValues = [errorInstancePath(it, errorPaths), errorSchemaPath(cxt, errorPaths)];
		extraErrorProps(cxt, error, keyValues);
		return gen.object(...keyValues);
	}
	function errorInstancePath({ errorPath }, { instancePath }) {
		const instPath = instancePath ? (0, codegen_1.str)`${errorPath}${(0, util_1.getErrorPath)(instancePath, util_1.Type.Str)}` : errorPath;
		return [names_1.default.instancePath, (0, codegen_1.strConcat)(names_1.default.instancePath, instPath)];
	}
	function errorSchemaPath({ keyword, it: { errSchemaPath } }, { schemaPath, parentSchema }) {
		let schPath = parentSchema ? errSchemaPath : (0, codegen_1.str)`${errSchemaPath}/${keyword}`;
		if (schemaPath) {
			schPath = (0, codegen_1.str)`${schPath}${(0, util_1.getErrorPath)(schemaPath, util_1.Type.Str)}`;
		}
		return [E.schemaPath, schPath];
	}
	function extraErrorProps(cxt, { params, message }, keyValues) {
		const { keyword, data, schemaValue, it } = cxt;
		const { opts, propertyName, topSchemaRef, schemaPath } = it;
		keyValues.push([E.keyword, keyword], [E.params, typeof params == "function" ? params(cxt) : params || (0, codegen_1._)`{}`]);
		if (opts.messages) {
			keyValues.push([E.message, typeof message == "function" ? message(cxt) : message]);
		}
		if (opts.verbose) {
			keyValues.push([E.schema, schemaValue], [E.parentSchema, (0, codegen_1._)`${topSchemaRef}${schemaPath}`], [names_1.default.data, data]);
		}
		if (propertyName) keyValues.push([E.propertyName, propertyName]);
	}
}));

//#endregion
//#region ../node_modules/ajv/dist/compile/validate/boolSchema.js
var require_boolSchema = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.boolOrEmptySchema = exports.topBoolOrEmptySchema = void 0;
	const errors_1 = require_errors$2();
	const codegen_1 = require_codegen();
	const names_1 = require_names();
	const boolError = { message: "boolean schema is false" };
	function topBoolOrEmptySchema(it) {
		const { gen, schema, validateName } = it;
		if (schema === false) {
			falseSchemaError(it, false);
		} else if (typeof schema == "object" && schema.$async === true) {
			gen.return(names_1.default.data);
		} else {
			gen.assign((0, codegen_1._)`${validateName}.errors`, null);
			gen.return(true);
		}
	}
	exports.topBoolOrEmptySchema = topBoolOrEmptySchema;
	function boolOrEmptySchema(it, valid) {
		const { gen, schema } = it;
		if (schema === false) {
			gen.var(valid, false);
			falseSchemaError(it);
		} else {
			gen.var(valid, true);
		}
	}
	exports.boolOrEmptySchema = boolOrEmptySchema;
	function falseSchemaError(it, overrideAllErrors) {
		const { gen, data } = it;
		const cxt = {
			gen,
			keyword: "false schema",
			data,
			schema: false,
			schemaCode: false,
			schemaValue: false,
			params: {},
			it
		};
		(0, errors_1.reportError)(cxt, boolError, undefined, overrideAllErrors);
	}
}));

//#endregion
//#region ../node_modules/ajv/dist/compile/rules.js
var require_rules = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.getRules = exports.isJSONType = void 0;
	const _jsonTypes = [
		"string",
		"number",
		"integer",
		"boolean",
		"null",
		"object",
		"array"
	];
	const jsonTypes = new Set(_jsonTypes);
	function isJSONType(x) {
		return typeof x == "string" && jsonTypes.has(x);
	}
	exports.isJSONType = isJSONType;
	function getRules() {
		const groups = {
			number: {
				type: "number",
				rules: []
			},
			string: {
				type: "string",
				rules: []
			},
			array: {
				type: "array",
				rules: []
			},
			object: {
				type: "object",
				rules: []
			}
		};
		return {
			types: {
				...groups,
				integer: true,
				boolean: true,
				null: true
			},
			rules: [
				{ rules: [] },
				groups.number,
				groups.string,
				groups.array,
				groups.object
			],
			post: { rules: [] },
			all: {},
			keywords: {}
		};
	}
	exports.getRules = getRules;
}));

//#endregion
//#region ../node_modules/ajv/dist/compile/validate/applicability.js
var require_applicability = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.shouldUseRule = exports.shouldUseGroup = exports.schemaHasRulesForType = void 0;
	function schemaHasRulesForType({ schema, self }, type) {
		const group = self.RULES.types[type];
		return group && group !== true && shouldUseGroup(schema, group);
	}
	exports.schemaHasRulesForType = schemaHasRulesForType;
	function shouldUseGroup(schema, group) {
		return group.rules.some((rule) => shouldUseRule(schema, rule));
	}
	exports.shouldUseGroup = shouldUseGroup;
	function shouldUseRule(schema, rule) {
		var _a;
		return schema[rule.keyword] !== undefined || ((_a = rule.definition.implements) === null || _a === void 0 ? void 0 : _a.some((kwd) => schema[kwd] !== undefined));
	}
	exports.shouldUseRule = shouldUseRule;
}));

//#endregion
//#region ../node_modules/ajv/dist/compile/validate/dataType.js
var require_dataType = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.reportTypeError = exports.checkDataTypes = exports.checkDataType = exports.coerceAndCheckDataType = exports.getJSONTypes = exports.getSchemaTypes = exports.DataType = void 0;
	const rules_1 = require_rules();
	const applicability_1 = require_applicability();
	const errors_1 = require_errors$2();
	const codegen_1 = require_codegen();
	const util_1 = require_util$7();
	var DataType;
	(function(DataType) {
		DataType[DataType["Correct"] = 0] = "Correct";
		DataType[DataType["Wrong"] = 1] = "Wrong";
	})(DataType || (exports.DataType = DataType = {}));
	function getSchemaTypes(schema) {
		const types = getJSONTypes(schema.type);
		const hasNull = types.includes("null");
		if (hasNull) {
			if (schema.nullable === false) throw new Error("type: null contradicts nullable: false");
		} else {
			if (!types.length && schema.nullable !== undefined) {
				throw new Error("\"nullable\" cannot be used without \"type\"");
			}
			if (schema.nullable === true) types.push("null");
		}
		return types;
	}
	exports.getSchemaTypes = getSchemaTypes;
	function getJSONTypes(ts) {
		const types = Array.isArray(ts) ? ts : ts ? [ts] : [];
		if (types.every(rules_1.isJSONType)) return types;
		throw new Error("type must be JSONType or JSONType[]: " + types.join(","));
	}
	exports.getJSONTypes = getJSONTypes;
	function coerceAndCheckDataType(it, types) {
		const { gen, data, opts } = it;
		const coerceTo = coerceToTypes(types, opts.coerceTypes);
		const checkTypes = types.length > 0 && !(coerceTo.length === 0 && types.length === 1 && (0, applicability_1.schemaHasRulesForType)(it, types[0]));
		if (checkTypes) {
			const wrongType = checkDataTypes(types, data, opts.strictNumbers, DataType.Wrong);
			gen.if(wrongType, () => {
				if (coerceTo.length) coerceData(it, types, coerceTo);
				else reportTypeError(it);
			});
		}
		return checkTypes;
	}
	exports.coerceAndCheckDataType = coerceAndCheckDataType;
	const COERCIBLE = new Set([
		"string",
		"number",
		"integer",
		"boolean",
		"null"
	]);
	function coerceToTypes(types, coerceTypes) {
		return coerceTypes ? types.filter((t) => COERCIBLE.has(t) || coerceTypes === "array" && t === "array") : [];
	}
	function coerceData(it, types, coerceTo) {
		const { gen, data, opts } = it;
		const dataType = gen.let("dataType", (0, codegen_1._)`typeof ${data}`);
		const coerced = gen.let("coerced", (0, codegen_1._)`undefined`);
		if (opts.coerceTypes === "array") {
			gen.if((0, codegen_1._)`${dataType} == 'object' && Array.isArray(${data}) && ${data}.length == 1`, () => gen.assign(data, (0, codegen_1._)`${data}[0]`).assign(dataType, (0, codegen_1._)`typeof ${data}`).if(checkDataTypes(types, data, opts.strictNumbers), () => gen.assign(coerced, data)));
		}
		gen.if((0, codegen_1._)`${coerced} !== undefined`);
		for (const t of coerceTo) {
			if (COERCIBLE.has(t) || t === "array" && opts.coerceTypes === "array") {
				coerceSpecificType(t);
			}
		}
		gen.else();
		reportTypeError(it);
		gen.endIf();
		gen.if((0, codegen_1._)`${coerced} !== undefined`, () => {
			gen.assign(data, coerced);
			assignParentData(it, coerced);
		});
		function coerceSpecificType(t) {
			switch (t) {
				case "string":
					gen.elseIf((0, codegen_1._)`${dataType} == "number" || ${dataType} == "boolean"`).assign(coerced, (0, codegen_1._)`"" + ${data}`).elseIf((0, codegen_1._)`${data} === null`).assign(coerced, (0, codegen_1._)`""`);
					return;
				case "number":
					gen.elseIf((0, codegen_1._)`${dataType} == "boolean" || ${data} === null
              || (${dataType} == "string" && ${data} && ${data} == +${data})`).assign(coerced, (0, codegen_1._)`+${data}`);
					return;
				case "integer":
					gen.elseIf((0, codegen_1._)`${dataType} === "boolean" || ${data} === null
              || (${dataType} === "string" && ${data} && ${data} == +${data} && !(${data} % 1))`).assign(coerced, (0, codegen_1._)`+${data}`);
					return;
				case "boolean":
					gen.elseIf((0, codegen_1._)`${data} === "false" || ${data} === 0 || ${data} === null`).assign(coerced, false).elseIf((0, codegen_1._)`${data} === "true" || ${data} === 1`).assign(coerced, true);
					return;
				case "null":
					gen.elseIf((0, codegen_1._)`${data} === "" || ${data} === 0 || ${data} === false`);
					gen.assign(coerced, null);
					return;
				case "array": gen.elseIf((0, codegen_1._)`${dataType} === "string" || ${dataType} === "number"
              || ${dataType} === "boolean" || ${data} === null`).assign(coerced, (0, codegen_1._)`[${data}]`);
			}
		}
	}
	function assignParentData({ gen, parentData, parentDataProperty }, expr) {
		gen.if((0, codegen_1._)`${parentData} !== undefined`, () => gen.assign((0, codegen_1._)`${parentData}[${parentDataProperty}]`, expr));
	}
	function checkDataType(dataType, data, strictNums, correct = DataType.Correct) {
		const EQ = correct === DataType.Correct ? codegen_1.operators.EQ : codegen_1.operators.NEQ;
		let cond;
		switch (dataType) {
			case "null": return (0, codegen_1._)`${data} ${EQ} null`;
			case "array":
				cond = (0, codegen_1._)`Array.isArray(${data})`;
				break;
			case "object":
				cond = (0, codegen_1._)`${data} && typeof ${data} == "object" && !Array.isArray(${data})`;
				break;
			case "integer":
				cond = numCond((0, codegen_1._)`!(${data} % 1) && !isNaN(${data})`);
				break;
			case "number":
				cond = numCond();
				break;
			default: return (0, codegen_1._)`typeof ${data} ${EQ} ${dataType}`;
		}
		return correct === DataType.Correct ? cond : (0, codegen_1.not)(cond);
		function numCond(_cond = codegen_1.nil) {
			return (0, codegen_1.and)((0, codegen_1._)`typeof ${data} == "number"`, _cond, strictNums ? (0, codegen_1._)`isFinite(${data})` : codegen_1.nil);
		}
	}
	exports.checkDataType = checkDataType;
	function checkDataTypes(dataTypes, data, strictNums, correct) {
		if (dataTypes.length === 1) {
			return checkDataType(dataTypes[0], data, strictNums, correct);
		}
		let cond;
		const types = (0, util_1.toHash)(dataTypes);
		if (types.array && types.object) {
			const notObj = (0, codegen_1._)`typeof ${data} != "object"`;
			cond = types.null ? notObj : (0, codegen_1._)`!${data} || ${notObj}`;
			delete types.null;
			delete types.array;
			delete types.object;
		} else {
			cond = codegen_1.nil;
		}
		if (types.number) delete types.integer;
		for (const t in types) cond = (0, codegen_1.and)(cond, checkDataType(t, data, strictNums, correct));
		return cond;
	}
	exports.checkDataTypes = checkDataTypes;
	const typeError = {
		message: ({ schema }) => `must be ${schema}`,
		params: ({ schema, schemaValue }) => typeof schema == "string" ? (0, codegen_1._)`{type: ${schema}}` : (0, codegen_1._)`{type: ${schemaValue}}`
	};
	function reportTypeError(it) {
		const cxt = getTypeErrorContext(it);
		(0, errors_1.reportError)(cxt, typeError);
	}
	exports.reportTypeError = reportTypeError;
	function getTypeErrorContext(it) {
		const { gen, data, schema } = it;
		const schemaCode = (0, util_1.schemaRefOrVal)(it, schema, "type");
		return {
			gen,
			keyword: "type",
			data,
			schema: schema.type,
			schemaCode,
			schemaValue: schemaCode,
			parentSchema: schema,
			params: {},
			it
		};
	}
}));

//#endregion
//#region ../node_modules/ajv/dist/compile/validate/defaults.js
var require_defaults = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.assignDefaults = void 0;
	const codegen_1 = require_codegen();
	const util_1 = require_util$7();
	function assignDefaults(it, ty) {
		const { properties, items } = it.schema;
		if (ty === "object" && properties) {
			for (const key in properties) {
				assignDefault(it, key, properties[key].default);
			}
		} else if (ty === "array" && Array.isArray(items)) {
			items.forEach((sch, i) => assignDefault(it, i, sch.default));
		}
	}
	exports.assignDefaults = assignDefaults;
	function assignDefault(it, prop, defaultValue) {
		const { gen, compositeRule, data, opts } = it;
		if (defaultValue === undefined) return;
		const childData = (0, codegen_1._)`${data}${(0, codegen_1.getProperty)(prop)}`;
		if (compositeRule) {
			(0, util_1.checkStrictMode)(it, `default is ignored for: ${childData}`);
			return;
		}
		let condition = (0, codegen_1._)`${childData} === undefined`;
		if (opts.useDefaults === "empty") {
			condition = (0, codegen_1._)`${condition} || ${childData} === null || ${childData} === ""`;
		}
		gen.if(condition, (0, codegen_1._)`${childData} = ${(0, codegen_1.stringify)(defaultValue)}`);
	}
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/code.js
var require_code = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.validateUnion = exports.validateArray = exports.usePattern = exports.callValidateCode = exports.schemaProperties = exports.allSchemaProperties = exports.noPropertyInData = exports.propertyInData = exports.isOwnProperty = exports.hasPropFunc = exports.reportMissingProp = exports.checkMissingProp = exports.checkReportMissingProp = void 0;
	const codegen_1 = require_codegen();
	const util_1 = require_util$7();
	const names_1 = require_names();
	const util_2 = require_util$7();
	function checkReportMissingProp(cxt, prop) {
		const { gen, data, it } = cxt;
		gen.if(noPropertyInData(gen, data, prop, it.opts.ownProperties), () => {
			cxt.setParams({ missingProperty: (0, codegen_1._)`${prop}` }, true);
			cxt.error();
		});
	}
	exports.checkReportMissingProp = checkReportMissingProp;
	function checkMissingProp({ gen, data, it: { opts } }, properties, missing) {
		return (0, codegen_1.or)(...properties.map((prop) => (0, codegen_1.and)(noPropertyInData(gen, data, prop, opts.ownProperties), (0, codegen_1._)`${missing} = ${prop}`)));
	}
	exports.checkMissingProp = checkMissingProp;
	function reportMissingProp(cxt, missing) {
		cxt.setParams({ missingProperty: missing }, true);
		cxt.error();
	}
	exports.reportMissingProp = reportMissingProp;
	function hasPropFunc(gen) {
		return gen.scopeValue("func", {
			ref: Object.prototype.hasOwnProperty,
			code: (0, codegen_1._)`Object.prototype.hasOwnProperty`
		});
	}
	exports.hasPropFunc = hasPropFunc;
	function isOwnProperty(gen, data, property) {
		return (0, codegen_1._)`${hasPropFunc(gen)}.call(${data}, ${property})`;
	}
	exports.isOwnProperty = isOwnProperty;
	function propertyInData(gen, data, property, ownProperties) {
		const cond = (0, codegen_1._)`${data}${(0, codegen_1.getProperty)(property)} !== undefined`;
		return ownProperties ? (0, codegen_1._)`${cond} && ${isOwnProperty(gen, data, property)}` : cond;
	}
	exports.propertyInData = propertyInData;
	function noPropertyInData(gen, data, property, ownProperties) {
		const cond = (0, codegen_1._)`${data}${(0, codegen_1.getProperty)(property)} === undefined`;
		return ownProperties ? (0, codegen_1.or)(cond, (0, codegen_1.not)(isOwnProperty(gen, data, property))) : cond;
	}
	exports.noPropertyInData = noPropertyInData;
	function allSchemaProperties(schemaMap) {
		return schemaMap ? Object.keys(schemaMap).filter((p) => p !== "__proto__") : [];
	}
	exports.allSchemaProperties = allSchemaProperties;
	function schemaProperties(it, schemaMap) {
		return allSchemaProperties(schemaMap).filter((p) => !(0, util_1.alwaysValidSchema)(it, schemaMap[p]));
	}
	exports.schemaProperties = schemaProperties;
	function callValidateCode({ schemaCode, data, it: { gen, topSchemaRef, schemaPath, errorPath }, it }, func, context, passSchema) {
		const dataAndSchema = passSchema ? (0, codegen_1._)`${schemaCode}, ${data}, ${topSchemaRef}${schemaPath}` : data;
		const valCxt = [
			[names_1.default.instancePath, (0, codegen_1.strConcat)(names_1.default.instancePath, errorPath)],
			[names_1.default.parentData, it.parentData],
			[names_1.default.parentDataProperty, it.parentDataProperty],
			[names_1.default.rootData, names_1.default.rootData]
		];
		if (it.opts.dynamicRef) valCxt.push([names_1.default.dynamicAnchors, names_1.default.dynamicAnchors]);
		const args = (0, codegen_1._)`${dataAndSchema}, ${gen.object(...valCxt)}`;
		return context !== codegen_1.nil ? (0, codegen_1._)`${func}.call(${context}, ${args})` : (0, codegen_1._)`${func}(${args})`;
	}
	exports.callValidateCode = callValidateCode;
	const newRegExp = (0, codegen_1._)`new RegExp`;
	function usePattern({ gen, it: { opts } }, pattern) {
		const u = opts.unicodeRegExp ? "u" : "";
		const { regExp } = opts.code;
		const rx = regExp(pattern, u);
		return gen.scopeValue("pattern", {
			key: rx.toString(),
			ref: rx,
			code: (0, codegen_1._)`${regExp.code === "new RegExp" ? newRegExp : (0, util_2.useFunc)(gen, regExp)}(${pattern}, ${u})`
		});
	}
	exports.usePattern = usePattern;
	function validateArray(cxt) {
		const { gen, data, keyword, it } = cxt;
		const valid = gen.name("valid");
		if (it.allErrors) {
			const validArr = gen.let("valid", true);
			validateItems(() => gen.assign(validArr, false));
			return validArr;
		}
		gen.var(valid, true);
		validateItems(() => gen.break());
		return valid;
		function validateItems(notValid) {
			const len = gen.const("len", (0, codegen_1._)`${data}.length`);
			gen.forRange("i", 0, len, (i) => {
				cxt.subschema({
					keyword,
					dataProp: i,
					dataPropType: util_1.Type.Num
				}, valid);
				gen.if((0, codegen_1.not)(valid), notValid);
			});
		}
	}
	exports.validateArray = validateArray;
	function validateUnion(cxt) {
		const { gen, schema, keyword, it } = cxt;
		/* istanbul ignore if */
		if (!Array.isArray(schema)) throw new Error("ajv implementation error");
		const alwaysValid = schema.some((sch) => (0, util_1.alwaysValidSchema)(it, sch));
		if (alwaysValid && !it.opts.unevaluated) return;
		const valid = gen.let("valid", false);
		const schValid = gen.name("_valid");
		gen.block(() => schema.forEach((_sch, i) => {
			const schCxt = cxt.subschema({
				keyword,
				schemaProp: i,
				compositeRule: true
			}, schValid);
			gen.assign(valid, (0, codegen_1._)`${valid} || ${schValid}`);
			const merged = cxt.mergeValidEvaluated(schCxt, schValid);
			if (!merged) gen.if((0, codegen_1.not)(valid));
		}));
		cxt.result(valid, () => cxt.reset(), () => cxt.error(true));
	}
	exports.validateUnion = validateUnion;
}));

//#endregion
//#region ../node_modules/ajv/dist/compile/validate/keyword.js
var require_keyword = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.validateKeywordUsage = exports.validSchemaType = exports.funcKeywordCode = exports.macroKeywordCode = void 0;
	const codegen_1 = require_codegen();
	const names_1 = require_names();
	const code_1 = require_code();
	const errors_1 = require_errors$2();
	function macroKeywordCode(cxt, def) {
		const { gen, keyword, schema, parentSchema, it } = cxt;
		const macroSchema = def.macro.call(it.self, schema, parentSchema, it);
		const schemaRef = useKeyword(gen, keyword, macroSchema);
		if (it.opts.validateSchema !== false) it.self.validateSchema(macroSchema, true);
		const valid = gen.name("valid");
		cxt.subschema({
			schema: macroSchema,
			schemaPath: codegen_1.nil,
			errSchemaPath: `${it.errSchemaPath}/${keyword}`,
			topSchemaRef: schemaRef,
			compositeRule: true
		}, valid);
		cxt.pass(valid, () => cxt.error(true));
	}
	exports.macroKeywordCode = macroKeywordCode;
	function funcKeywordCode(cxt, def) {
		var _a;
		const { gen, keyword, schema, parentSchema, $data, it } = cxt;
		checkAsyncKeyword(it, def);
		const validate = !$data && def.compile ? def.compile.call(it.self, schema, parentSchema, it) : def.validate;
		const validateRef = useKeyword(gen, keyword, validate);
		const valid = gen.let("valid");
		cxt.block$data(valid, validateKeyword);
		cxt.ok((_a = def.valid) !== null && _a !== void 0 ? _a : valid);
		function validateKeyword() {
			if (def.errors === false) {
				assignValid();
				if (def.modifying) modifyData(cxt);
				reportErrs(() => cxt.error());
			} else {
				const ruleErrs = def.async ? validateAsync() : validateSync();
				if (def.modifying) modifyData(cxt);
				reportErrs(() => addErrs(cxt, ruleErrs));
			}
		}
		function validateAsync() {
			const ruleErrs = gen.let("ruleErrs", null);
			gen.try(() => assignValid((0, codegen_1._)`await `), (e) => gen.assign(valid, false).if((0, codegen_1._)`${e} instanceof ${it.ValidationError}`, () => gen.assign(ruleErrs, (0, codegen_1._)`${e}.errors`), () => gen.throw(e)));
			return ruleErrs;
		}
		function validateSync() {
			const validateErrs = (0, codegen_1._)`${validateRef}.errors`;
			gen.assign(validateErrs, null);
			assignValid(codegen_1.nil);
			return validateErrs;
		}
		function assignValid(_await = def.async ? (0, codegen_1._)`await ` : codegen_1.nil) {
			const passCxt = it.opts.passContext ? names_1.default.this : names_1.default.self;
			const passSchema = !("compile" in def && !$data || def.schema === false);
			gen.assign(valid, (0, codegen_1._)`${_await}${(0, code_1.callValidateCode)(cxt, validateRef, passCxt, passSchema)}`, def.modifying);
		}
		function reportErrs(errors) {
			var _a;
			gen.if((0, codegen_1.not)((_a = def.valid) !== null && _a !== void 0 ? _a : valid), errors);
		}
	}
	exports.funcKeywordCode = funcKeywordCode;
	function modifyData(cxt) {
		const { gen, data, it } = cxt;
		gen.if(it.parentData, () => gen.assign(data, (0, codegen_1._)`${it.parentData}[${it.parentDataProperty}]`));
	}
	function addErrs(cxt, errs) {
		const { gen } = cxt;
		gen.if((0, codegen_1._)`Array.isArray(${errs})`, () => {
			gen.assign(names_1.default.vErrors, (0, codegen_1._)`${names_1.default.vErrors} === null ? ${errs} : ${names_1.default.vErrors}.concat(${errs})`).assign(names_1.default.errors, (0, codegen_1._)`${names_1.default.vErrors}.length`);
			(0, errors_1.extendErrors)(cxt);
		}, () => cxt.error());
	}
	function checkAsyncKeyword({ schemaEnv }, def) {
		if (def.async && !schemaEnv.$async) throw new Error("async keyword in sync schema");
	}
	function useKeyword(gen, keyword, result) {
		if (result === undefined) throw new Error(`keyword "${keyword}" failed to compile`);
		return gen.scopeValue("keyword", typeof result == "function" ? { ref: result } : {
			ref: result,
			code: (0, codegen_1.stringify)(result)
		});
	}
	function validSchemaType(schema, schemaType, allowUndefined = false) {
		return !schemaType.length || schemaType.some((st) => st === "array" ? Array.isArray(schema) : st === "object" ? schema && typeof schema == "object" && !Array.isArray(schema) : typeof schema == st || allowUndefined && typeof schema == "undefined");
	}
	exports.validSchemaType = validSchemaType;
	function validateKeywordUsage({ schema, opts, self, errSchemaPath }, def, keyword) {
		/* istanbul ignore if */
		if (Array.isArray(def.keyword) ? !def.keyword.includes(keyword) : def.keyword !== keyword) {
			throw new Error("ajv implementation error");
		}
		const deps = def.dependencies;
		if (deps === null || deps === void 0 ? void 0 : deps.some((kwd) => !Object.prototype.hasOwnProperty.call(schema, kwd))) {
			throw new Error(`parent schema must have dependencies of ${keyword}: ${deps.join(",")}`);
		}
		if (def.validateSchema) {
			const valid = def.validateSchema(schema[keyword]);
			if (!valid) {
				const msg = `keyword "${keyword}" value is invalid at path "${errSchemaPath}": ` + self.errorsText(def.validateSchema.errors);
				if (opts.validateSchema === "log") self.logger.error(msg);
				else throw new Error(msg);
			}
		}
	}
	exports.validateKeywordUsage = validateKeywordUsage;
}));

//#endregion
//#region ../node_modules/ajv/dist/compile/validate/subschema.js
var require_subschema = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.extendSubschemaMode = exports.extendSubschemaData = exports.getSubschema = void 0;
	const codegen_1 = require_codegen();
	const util_1 = require_util$7();
	function getSubschema(it, { keyword, schemaProp, schema, schemaPath, errSchemaPath, topSchemaRef }) {
		if (keyword !== undefined && schema !== undefined) {
			throw new Error("both \"keyword\" and \"schema\" passed, only one allowed");
		}
		if (keyword !== undefined) {
			const sch = it.schema[keyword];
			return schemaProp === undefined ? {
				schema: sch,
				schemaPath: (0, codegen_1._)`${it.schemaPath}${(0, codegen_1.getProperty)(keyword)}`,
				errSchemaPath: `${it.errSchemaPath}/${keyword}`
			} : {
				schema: sch[schemaProp],
				schemaPath: (0, codegen_1._)`${it.schemaPath}${(0, codegen_1.getProperty)(keyword)}${(0, codegen_1.getProperty)(schemaProp)}`,
				errSchemaPath: `${it.errSchemaPath}/${keyword}/${(0, util_1.escapeFragment)(schemaProp)}`
			};
		}
		if (schema !== undefined) {
			if (schemaPath === undefined || errSchemaPath === undefined || topSchemaRef === undefined) {
				throw new Error("\"schemaPath\", \"errSchemaPath\" and \"topSchemaRef\" are required with \"schema\"");
			}
			return {
				schema,
				schemaPath,
				topSchemaRef,
				errSchemaPath
			};
		}
		throw new Error("either \"keyword\" or \"schema\" must be passed");
	}
	exports.getSubschema = getSubschema;
	function extendSubschemaData(subschema, it, { dataProp, dataPropType: dpType, data, dataTypes, propertyName }) {
		if (data !== undefined && dataProp !== undefined) {
			throw new Error("both \"data\" and \"dataProp\" passed, only one allowed");
		}
		const { gen } = it;
		if (dataProp !== undefined) {
			const { errorPath, dataPathArr, opts } = it;
			const nextData = gen.let("data", (0, codegen_1._)`${it.data}${(0, codegen_1.getProperty)(dataProp)}`, true);
			dataContextProps(nextData);
			subschema.errorPath = (0, codegen_1.str)`${errorPath}${(0, util_1.getErrorPath)(dataProp, dpType, opts.jsPropertySyntax)}`;
			subschema.parentDataProperty = (0, codegen_1._)`${dataProp}`;
			subschema.dataPathArr = [...dataPathArr, subschema.parentDataProperty];
		}
		if (data !== undefined) {
			const nextData = data instanceof codegen_1.Name ? data : gen.let("data", data, true);
			dataContextProps(nextData);
			if (propertyName !== undefined) subschema.propertyName = propertyName;
		}
		if (dataTypes) subschema.dataTypes = dataTypes;
		function dataContextProps(_nextData) {
			subschema.data = _nextData;
			subschema.dataLevel = it.dataLevel + 1;
			subschema.dataTypes = [];
			it.definedProperties = new Set();
			subschema.parentData = it.data;
			subschema.dataNames = [...it.dataNames, _nextData];
		}
	}
	exports.extendSubschemaData = extendSubschemaData;
	function extendSubschemaMode(subschema, { jtdDiscriminator, jtdMetadata, compositeRule, createErrors, allErrors }) {
		if (compositeRule !== undefined) subschema.compositeRule = compositeRule;
		if (createErrors !== undefined) subschema.createErrors = createErrors;
		if (allErrors !== undefined) subschema.allErrors = allErrors;
		subschema.jtdDiscriminator = jtdDiscriminator;
		subschema.jtdMetadata = jtdMetadata;
	}
	exports.extendSubschemaMode = extendSubschemaMode;
}));

//#endregion
//#region ../node_modules/json-schema-traverse/index.js
var require_json_schema_traverse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var traverse = module.exports = function(schema, opts, cb) {
		if (typeof opts == "function") {
			cb = opts;
			opts = {};
		}
		cb = opts.cb || cb;
		var pre = typeof cb == "function" ? cb : cb.pre || function() {};
		var post = cb.post || function() {};
		_traverse(opts, pre, post, schema, "", schema);
	};
	traverse.keywords = {
		additionalItems: true,
		items: true,
		contains: true,
		additionalProperties: true,
		propertyNames: true,
		not: true,
		if: true,
		then: true,
		else: true
	};
	traverse.arrayKeywords = {
		items: true,
		allOf: true,
		anyOf: true,
		oneOf: true
	};
	traverse.propsKeywords = {
		$defs: true,
		definitions: true,
		properties: true,
		patternProperties: true,
		dependencies: true
	};
	traverse.skipKeywords = {
		default: true,
		enum: true,
		const: true,
		required: true,
		maximum: true,
		minimum: true,
		exclusiveMaximum: true,
		exclusiveMinimum: true,
		multipleOf: true,
		maxLength: true,
		minLength: true,
		pattern: true,
		format: true,
		maxItems: true,
		minItems: true,
		uniqueItems: true,
		maxProperties: true,
		minProperties: true
	};
	function _traverse(opts, pre, post, schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex) {
		if (schema && typeof schema == "object" && !Array.isArray(schema)) {
			pre(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex);
			for (var key in schema) {
				var sch = schema[key];
				if (Array.isArray(sch)) {
					if (key in traverse.arrayKeywords) {
						for (var i = 0; i < sch.length; i++) _traverse(opts, pre, post, sch[i], jsonPtr + "/" + key + "/" + i, rootSchema, jsonPtr, key, schema, i);
					}
				} else if (key in traverse.propsKeywords) {
					if (sch && typeof sch == "object") {
						for (var prop in sch) _traverse(opts, pre, post, sch[prop], jsonPtr + "/" + key + "/" + escapeJsonPtr(prop), rootSchema, jsonPtr, key, schema, prop);
					}
				} else if (key in traverse.keywords || opts.allKeys && !(key in traverse.skipKeywords)) {
					_traverse(opts, pre, post, sch, jsonPtr + "/" + key, rootSchema, jsonPtr, key, schema);
				}
			}
			post(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex);
		}
	}
	function escapeJsonPtr(str) {
		return str.replace(/~/g, "~0").replace(/\//g, "~1");
	}
}));

//#endregion
//#region ../node_modules/ajv/dist/compile/resolve.js
var require_resolve = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.getSchemaRefs = exports.resolveUrl = exports.normalizeId = exports._getFullPath = exports.getFullPath = exports.inlineRef = void 0;
	const util_1 = require_util$7();
	const equal = require_fast_deep_equal();
	const traverse = require_json_schema_traverse();
	const SIMPLE_INLINED = new Set([
		"type",
		"format",
		"pattern",
		"maxLength",
		"minLength",
		"maxProperties",
		"minProperties",
		"maxItems",
		"minItems",
		"maximum",
		"minimum",
		"uniqueItems",
		"multipleOf",
		"required",
		"enum",
		"const"
	]);
	function inlineRef(schema, limit = true) {
		if (typeof schema == "boolean") return true;
		if (limit === true) return !hasRef(schema);
		if (!limit) return false;
		return countKeys(schema) <= limit;
	}
	exports.inlineRef = inlineRef;
	const REF_KEYWORDS = new Set([
		"$ref",
		"$recursiveRef",
		"$recursiveAnchor",
		"$dynamicRef",
		"$dynamicAnchor"
	]);
	function hasRef(schema) {
		for (const key in schema) {
			if (REF_KEYWORDS.has(key)) return true;
			const sch = schema[key];
			if (Array.isArray(sch) && sch.some(hasRef)) return true;
			if (typeof sch == "object" && hasRef(sch)) return true;
		}
		return false;
	}
	function countKeys(schema) {
		let count = 0;
		for (const key in schema) {
			if (key === "$ref") return Infinity;
			count++;
			if (SIMPLE_INLINED.has(key)) continue;
			if (typeof schema[key] == "object") {
				(0, util_1.eachItem)(schema[key], (sch) => count += countKeys(sch));
			}
			if (count === Infinity) return Infinity;
		}
		return count;
	}
	function getFullPath(resolver, id = "", normalize) {
		if (normalize !== false) id = normalizeId(id);
		const p = resolver.parse(id);
		return _getFullPath(resolver, p);
	}
	exports.getFullPath = getFullPath;
	function _getFullPath(resolver, p) {
		const serialized = resolver.serialize(p);
		return serialized.split("#")[0] + "#";
	}
	exports._getFullPath = _getFullPath;
	const TRAILING_SLASH_HASH = /#\/?$/;
	function normalizeId(id) {
		return id ? id.replace(TRAILING_SLASH_HASH, "") : "";
	}
	exports.normalizeId = normalizeId;
	function resolveUrl(resolver, baseId, id) {
		id = normalizeId(id);
		return resolver.resolve(baseId, id);
	}
	exports.resolveUrl = resolveUrl;
	const ANCHOR = /^[a-z_][-a-z0-9._]*$/i;
	function getSchemaRefs(schema, baseId) {
		if (typeof schema == "boolean") return {};
		const { schemaId, uriResolver } = this.opts;
		const schId = normalizeId(schema[schemaId] || baseId);
		const baseIds = { "": schId };
		const pathPrefix = getFullPath(uriResolver, schId, false);
		const localRefs = {};
		const schemaRefs = new Set();
		traverse(schema, { allKeys: true }, (sch, jsonPtr, _, parentJsonPtr) => {
			if (parentJsonPtr === undefined) return;
			const fullPath = pathPrefix + jsonPtr;
			let innerBaseId = baseIds[parentJsonPtr];
			if (typeof sch[schemaId] == "string") innerBaseId = addRef.call(this, sch[schemaId]);
			addAnchor.call(this, sch.$anchor);
			addAnchor.call(this, sch.$dynamicAnchor);
			baseIds[jsonPtr] = innerBaseId;
			function addRef(ref) {
				const _resolve = this.opts.uriResolver.resolve;
				ref = normalizeId(innerBaseId ? _resolve(innerBaseId, ref) : ref);
				if (schemaRefs.has(ref)) throw ambiguos(ref);
				schemaRefs.add(ref);
				let schOrRef = this.refs[ref];
				if (typeof schOrRef == "string") schOrRef = this.refs[schOrRef];
				if (typeof schOrRef == "object") {
					checkAmbiguosRef(sch, schOrRef.schema, ref);
				} else if (ref !== normalizeId(fullPath)) {
					if (ref[0] === "#") {
						checkAmbiguosRef(sch, localRefs[ref], ref);
						localRefs[ref] = sch;
					} else {
						this.refs[ref] = fullPath;
					}
				}
				return ref;
			}
			function addAnchor(anchor) {
				if (typeof anchor == "string") {
					if (!ANCHOR.test(anchor)) throw new Error(`invalid anchor "${anchor}"`);
					addRef.call(this, `#${anchor}`);
				}
			}
		});
		return localRefs;
		function checkAmbiguosRef(sch1, sch2, ref) {
			if (sch2 !== undefined && !equal(sch1, sch2)) throw ambiguos(ref);
		}
		function ambiguos(ref) {
			return new Error(`reference "${ref}" resolves to more than one schema`);
		}
	}
	exports.getSchemaRefs = getSchemaRefs;
}));

//#endregion
//#region ../node_modules/ajv/dist/compile/validate/index.js
var require_validate = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.getData = exports.KeywordCxt = exports.validateFunctionCode = void 0;
	const boolSchema_1 = require_boolSchema();
	const dataType_1 = require_dataType();
	const applicability_1 = require_applicability();
	const dataType_2 = require_dataType();
	const defaults_1 = require_defaults();
	const keyword_1 = require_keyword();
	const subschema_1 = require_subschema();
	const codegen_1 = require_codegen();
	const names_1 = require_names();
	const resolve_1 = require_resolve();
	const util_1 = require_util$7();
	const errors_1 = require_errors$2();
	function validateFunctionCode(it) {
		if (isSchemaObj(it)) {
			checkKeywords(it);
			if (schemaCxtHasRules(it)) {
				topSchemaObjCode(it);
				return;
			}
		}
		validateFunction(it, () => (0, boolSchema_1.topBoolOrEmptySchema)(it));
	}
	exports.validateFunctionCode = validateFunctionCode;
	function validateFunction({ gen, validateName, schema, schemaEnv, opts }, body) {
		if (opts.code.es5) {
			gen.func(validateName, (0, codegen_1._)`${names_1.default.data}, ${names_1.default.valCxt}`, schemaEnv.$async, () => {
				gen.code((0, codegen_1._)`"use strict"; ${funcSourceUrl(schema, opts)}`);
				destructureValCxtES5(gen, opts);
				gen.code(body);
			});
		} else {
			gen.func(validateName, (0, codegen_1._)`${names_1.default.data}, ${destructureValCxt(opts)}`, schemaEnv.$async, () => gen.code(funcSourceUrl(schema, opts)).code(body));
		}
	}
	function destructureValCxt(opts) {
		return (0, codegen_1._)`{${names_1.default.instancePath}="", ${names_1.default.parentData}, ${names_1.default.parentDataProperty}, ${names_1.default.rootData}=${names_1.default.data}${opts.dynamicRef ? (0, codegen_1._)`, ${names_1.default.dynamicAnchors}={}` : codegen_1.nil}}={}`;
	}
	function destructureValCxtES5(gen, opts) {
		gen.if(names_1.default.valCxt, () => {
			gen.var(names_1.default.instancePath, (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.instancePath}`);
			gen.var(names_1.default.parentData, (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.parentData}`);
			gen.var(names_1.default.parentDataProperty, (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.parentDataProperty}`);
			gen.var(names_1.default.rootData, (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.rootData}`);
			if (opts.dynamicRef) gen.var(names_1.default.dynamicAnchors, (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.dynamicAnchors}`);
		}, () => {
			gen.var(names_1.default.instancePath, (0, codegen_1._)`""`);
			gen.var(names_1.default.parentData, (0, codegen_1._)`undefined`);
			gen.var(names_1.default.parentDataProperty, (0, codegen_1._)`undefined`);
			gen.var(names_1.default.rootData, names_1.default.data);
			if (opts.dynamicRef) gen.var(names_1.default.dynamicAnchors, (0, codegen_1._)`{}`);
		});
	}
	function topSchemaObjCode(it) {
		const { schema, opts, gen } = it;
		validateFunction(it, () => {
			if (opts.$comment && schema.$comment) commentKeyword(it);
			checkNoDefault(it);
			gen.let(names_1.default.vErrors, null);
			gen.let(names_1.default.errors, 0);
			if (opts.unevaluated) resetEvaluated(it);
			typeAndKeywords(it);
			returnResults(it);
		});
		return;
	}
	function resetEvaluated(it) {
		const { gen, validateName } = it;
		it.evaluated = gen.const("evaluated", (0, codegen_1._)`${validateName}.evaluated`);
		gen.if((0, codegen_1._)`${it.evaluated}.dynamicProps`, () => gen.assign((0, codegen_1._)`${it.evaluated}.props`, (0, codegen_1._)`undefined`));
		gen.if((0, codegen_1._)`${it.evaluated}.dynamicItems`, () => gen.assign((0, codegen_1._)`${it.evaluated}.items`, (0, codegen_1._)`undefined`));
	}
	function funcSourceUrl(schema, opts) {
		const schId = typeof schema == "object" && schema[opts.schemaId];
		return schId && (opts.code.source || opts.code.process) ? (0, codegen_1._)`/*# sourceURL=${schId} */` : codegen_1.nil;
	}
	function subschemaCode(it, valid) {
		if (isSchemaObj(it)) {
			checkKeywords(it);
			if (schemaCxtHasRules(it)) {
				subSchemaObjCode(it, valid);
				return;
			}
		}
		(0, boolSchema_1.boolOrEmptySchema)(it, valid);
	}
	function schemaCxtHasRules({ schema, self }) {
		if (typeof schema == "boolean") return !schema;
		for (const key in schema) if (self.RULES.all[key]) return true;
		return false;
	}
	function isSchemaObj(it) {
		return typeof it.schema != "boolean";
	}
	function subSchemaObjCode(it, valid) {
		const { schema, gen, opts } = it;
		if (opts.$comment && schema.$comment) commentKeyword(it);
		updateContext(it);
		checkAsyncSchema(it);
		const errsCount = gen.const("_errs", names_1.default.errors);
		typeAndKeywords(it, errsCount);
		gen.var(valid, (0, codegen_1._)`${errsCount} === ${names_1.default.errors}`);
	}
	function checkKeywords(it) {
		(0, util_1.checkUnknownRules)(it);
		checkRefsAndKeywords(it);
	}
	function typeAndKeywords(it, errsCount) {
		if (it.opts.jtd) return schemaKeywords(it, [], false, errsCount);
		const types = (0, dataType_1.getSchemaTypes)(it.schema);
		const checkedTypes = (0, dataType_1.coerceAndCheckDataType)(it, types);
		schemaKeywords(it, types, !checkedTypes, errsCount);
	}
	function checkRefsAndKeywords(it) {
		const { schema, errSchemaPath, opts, self } = it;
		if (schema.$ref && opts.ignoreKeywordsWithRef && (0, util_1.schemaHasRulesButRef)(schema, self.RULES)) {
			self.logger.warn(`$ref: keywords ignored in schema at path "${errSchemaPath}"`);
		}
	}
	function checkNoDefault(it) {
		const { schema, opts } = it;
		if (schema.default !== undefined && opts.useDefaults && opts.strictSchema) {
			(0, util_1.checkStrictMode)(it, "default is ignored in the schema root");
		}
	}
	function updateContext(it) {
		const schId = it.schema[it.opts.schemaId];
		if (schId) it.baseId = (0, resolve_1.resolveUrl)(it.opts.uriResolver, it.baseId, schId);
	}
	function checkAsyncSchema(it) {
		if (it.schema.$async && !it.schemaEnv.$async) throw new Error("async schema in sync schema");
	}
	function commentKeyword({ gen, schemaEnv, schema, errSchemaPath, opts }) {
		const msg = schema.$comment;
		if (opts.$comment === true) {
			gen.code((0, codegen_1._)`${names_1.default.self}.logger.log(${msg})`);
		} else if (typeof opts.$comment == "function") {
			const schemaPath = (0, codegen_1.str)`${errSchemaPath}/$comment`;
			const rootName = gen.scopeValue("root", { ref: schemaEnv.root });
			gen.code((0, codegen_1._)`${names_1.default.self}.opts.$comment(${msg}, ${schemaPath}, ${rootName}.schema)`);
		}
	}
	function returnResults(it) {
		const { gen, schemaEnv, validateName, ValidationError, opts } = it;
		if (schemaEnv.$async) {
			gen.if((0, codegen_1._)`${names_1.default.errors} === 0`, () => gen.return(names_1.default.data), () => gen.throw((0, codegen_1._)`new ${ValidationError}(${names_1.default.vErrors})`));
		} else {
			gen.assign((0, codegen_1._)`${validateName}.errors`, names_1.default.vErrors);
			if (opts.unevaluated) assignEvaluated(it);
			gen.return((0, codegen_1._)`${names_1.default.errors} === 0`);
		}
	}
	function assignEvaluated({ gen, evaluated, props, items }) {
		if (props instanceof codegen_1.Name) gen.assign((0, codegen_1._)`${evaluated}.props`, props);
		if (items instanceof codegen_1.Name) gen.assign((0, codegen_1._)`${evaluated}.items`, items);
	}
	function schemaKeywords(it, types, typeErrors, errsCount) {
		const { gen, schema, data, allErrors, opts, self } = it;
		const { RULES } = self;
		if (schema.$ref && (opts.ignoreKeywordsWithRef || !(0, util_1.schemaHasRulesButRef)(schema, RULES))) {
			gen.block(() => keywordCode(it, "$ref", RULES.all.$ref.definition));
			return;
		}
		if (!opts.jtd) checkStrictTypes(it, types);
		gen.block(() => {
			for (const group of RULES.rules) groupKeywords(group);
			groupKeywords(RULES.post);
		});
		function groupKeywords(group) {
			if (!(0, applicability_1.shouldUseGroup)(schema, group)) return;
			if (group.type) {
				gen.if((0, dataType_2.checkDataType)(group.type, data, opts.strictNumbers));
				iterateKeywords(it, group);
				if (types.length === 1 && types[0] === group.type && typeErrors) {
					gen.else();
					(0, dataType_2.reportTypeError)(it);
				}
				gen.endIf();
			} else {
				iterateKeywords(it, group);
			}
			if (!allErrors) gen.if((0, codegen_1._)`${names_1.default.errors} === ${errsCount || 0}`);
		}
	}
	function iterateKeywords(it, group) {
		const { gen, schema, opts: { useDefaults } } = it;
		if (useDefaults) (0, defaults_1.assignDefaults)(it, group.type);
		gen.block(() => {
			for (const rule of group.rules) {
				if ((0, applicability_1.shouldUseRule)(schema, rule)) {
					keywordCode(it, rule.keyword, rule.definition, group.type);
				}
			}
		});
	}
	function checkStrictTypes(it, types) {
		if (it.schemaEnv.meta || !it.opts.strictTypes) return;
		checkContextTypes(it, types);
		if (!it.opts.allowUnionTypes) checkMultipleTypes(it, types);
		checkKeywordTypes(it, it.dataTypes);
	}
	function checkContextTypes(it, types) {
		if (!types.length) return;
		if (!it.dataTypes.length) {
			it.dataTypes = types;
			return;
		}
		types.forEach((t) => {
			if (!includesType(it.dataTypes, t)) {
				strictTypesError(it, `type "${t}" not allowed by context "${it.dataTypes.join(",")}"`);
			}
		});
		narrowSchemaTypes(it, types);
	}
	function checkMultipleTypes(it, ts) {
		if (ts.length > 1 && !(ts.length === 2 && ts.includes("null"))) {
			strictTypesError(it, "use allowUnionTypes to allow union type keyword");
		}
	}
	function checkKeywordTypes(it, ts) {
		const rules = it.self.RULES.all;
		for (const keyword in rules) {
			const rule = rules[keyword];
			if (typeof rule == "object" && (0, applicability_1.shouldUseRule)(it.schema, rule)) {
				const { type } = rule.definition;
				if (type.length && !type.some((t) => hasApplicableType(ts, t))) {
					strictTypesError(it, `missing type "${type.join(",")}" for keyword "${keyword}"`);
				}
			}
		}
	}
	function hasApplicableType(schTs, kwdT) {
		return schTs.includes(kwdT) || kwdT === "number" && schTs.includes("integer");
	}
	function includesType(ts, t) {
		return ts.includes(t) || t === "integer" && ts.includes("number");
	}
	function narrowSchemaTypes(it, withTypes) {
		const ts = [];
		for (const t of it.dataTypes) {
			if (includesType(withTypes, t)) ts.push(t);
			else if (withTypes.includes("integer") && t === "number") ts.push("integer");
		}
		it.dataTypes = ts;
	}
	function strictTypesError(it, msg) {
		const schemaPath = it.schemaEnv.baseId + it.errSchemaPath;
		msg += ` at "${schemaPath}" (strictTypes)`;
		(0, util_1.checkStrictMode)(it, msg, it.opts.strictTypes);
	}
	var KeywordCxt = class {
		constructor(it, def, keyword) {
			(0, keyword_1.validateKeywordUsage)(it, def, keyword);
			this.gen = it.gen;
			this.allErrors = it.allErrors;
			this.keyword = keyword;
			this.data = it.data;
			this.schema = it.schema[keyword];
			this.$data = def.$data && it.opts.$data && this.schema && this.schema.$data;
			this.schemaValue = (0, util_1.schemaRefOrVal)(it, this.schema, keyword, this.$data);
			this.schemaType = def.schemaType;
			this.parentSchema = it.schema;
			this.params = {};
			this.it = it;
			this.def = def;
			if (this.$data) {
				this.schemaCode = it.gen.const("vSchema", getData(this.$data, it));
			} else {
				this.schemaCode = this.schemaValue;
				if (!(0, keyword_1.validSchemaType)(this.schema, def.schemaType, def.allowUndefined)) {
					throw new Error(`${keyword} value must be ${JSON.stringify(def.schemaType)}`);
				}
			}
			if ("code" in def ? def.trackErrors : def.errors !== false) {
				this.errsCount = it.gen.const("_errs", names_1.default.errors);
			}
		}
		result(condition, successAction, failAction) {
			this.failResult((0, codegen_1.not)(condition), successAction, failAction);
		}
		failResult(condition, successAction, failAction) {
			this.gen.if(condition);
			if (failAction) failAction();
			else this.error();
			if (successAction) {
				this.gen.else();
				successAction();
				if (this.allErrors) this.gen.endIf();
			} else {
				if (this.allErrors) this.gen.endIf();
				else this.gen.else();
			}
		}
		pass(condition, failAction) {
			this.failResult((0, codegen_1.not)(condition), undefined, failAction);
		}
		fail(condition) {
			if (condition === undefined) {
				this.error();
				if (!this.allErrors) this.gen.if(false);
				return;
			}
			this.gen.if(condition);
			this.error();
			if (this.allErrors) this.gen.endIf();
			else this.gen.else();
		}
		fail$data(condition) {
			if (!this.$data) return this.fail(condition);
			const { schemaCode } = this;
			this.fail((0, codegen_1._)`${schemaCode} !== undefined && (${(0, codegen_1.or)(this.invalid$data(), condition)})`);
		}
		error(append, errorParams, errorPaths) {
			if (errorParams) {
				this.setParams(errorParams);
				this._error(append, errorPaths);
				this.setParams({});
				return;
			}
			this._error(append, errorPaths);
		}
		_error(append, errorPaths) {
			;
			(append ? errors_1.reportExtraError : errors_1.reportError)(this, this.def.error, errorPaths);
		}
		$dataError() {
			(0, errors_1.reportError)(this, this.def.$dataError || errors_1.keyword$DataError);
		}
		reset() {
			if (this.errsCount === undefined) throw new Error("add \"trackErrors\" to keyword definition");
			(0, errors_1.resetErrorsCount)(this.gen, this.errsCount);
		}
		ok(cond) {
			if (!this.allErrors) this.gen.if(cond);
		}
		setParams(obj, assign) {
			if (assign) Object.assign(this.params, obj);
			else this.params = obj;
		}
		block$data(valid, codeBlock, $dataValid = codegen_1.nil) {
			this.gen.block(() => {
				this.check$data(valid, $dataValid);
				codeBlock();
			});
		}
		check$data(valid = codegen_1.nil, $dataValid = codegen_1.nil) {
			if (!this.$data) return;
			const { gen, schemaCode, schemaType, def } = this;
			gen.if((0, codegen_1.or)((0, codegen_1._)`${schemaCode} === undefined`, $dataValid));
			if (valid !== codegen_1.nil) gen.assign(valid, true);
			if (schemaType.length || def.validateSchema) {
				gen.elseIf(this.invalid$data());
				this.$dataError();
				if (valid !== codegen_1.nil) gen.assign(valid, false);
			}
			gen.else();
		}
		invalid$data() {
			const { gen, schemaCode, schemaType, def, it } = this;
			return (0, codegen_1.or)(wrong$DataType(), invalid$DataSchema());
			function wrong$DataType() {
				if (schemaType.length) {
					/* istanbul ignore if */
					if (!(schemaCode instanceof codegen_1.Name)) throw new Error("ajv implementation error");
					const st = Array.isArray(schemaType) ? schemaType : [schemaType];
					return (0, codegen_1._)`${(0, dataType_2.checkDataTypes)(st, schemaCode, it.opts.strictNumbers, dataType_2.DataType.Wrong)}`;
				}
				return codegen_1.nil;
			}
			function invalid$DataSchema() {
				if (def.validateSchema) {
					const validateSchemaRef = gen.scopeValue("validate$data", { ref: def.validateSchema });
					return (0, codegen_1._)`!${validateSchemaRef}(${schemaCode})`;
				}
				return codegen_1.nil;
			}
		}
		subschema(appl, valid) {
			const subschema = (0, subschema_1.getSubschema)(this.it, appl);
			(0, subschema_1.extendSubschemaData)(subschema, this.it, appl);
			(0, subschema_1.extendSubschemaMode)(subschema, appl);
			const nextContext = {
				...this.it,
				...subschema,
				items: undefined,
				props: undefined
			};
			subschemaCode(nextContext, valid);
			return nextContext;
		}
		mergeEvaluated(schemaCxt, toName) {
			const { it, gen } = this;
			if (!it.opts.unevaluated) return;
			if (it.props !== true && schemaCxt.props !== undefined) {
				it.props = util_1.mergeEvaluated.props(gen, schemaCxt.props, it.props, toName);
			}
			if (it.items !== true && schemaCxt.items !== undefined) {
				it.items = util_1.mergeEvaluated.items(gen, schemaCxt.items, it.items, toName);
			}
		}
		mergeValidEvaluated(schemaCxt, valid) {
			const { it, gen } = this;
			if (it.opts.unevaluated && (it.props !== true || it.items !== true)) {
				gen.if(valid, () => this.mergeEvaluated(schemaCxt, codegen_1.Name));
				return true;
			}
		}
	};
	exports.KeywordCxt = KeywordCxt;
	function keywordCode(it, keyword, def, ruleType) {
		const cxt = new KeywordCxt(it, def, keyword);
		if ("code" in def) {
			def.code(cxt, ruleType);
		} else if (cxt.$data && def.validate) {
			(0, keyword_1.funcKeywordCode)(cxt, def);
		} else if ("macro" in def) {
			(0, keyword_1.macroKeywordCode)(cxt, def);
		} else if (def.compile || def.validate) {
			(0, keyword_1.funcKeywordCode)(cxt, def);
		}
	}
	const JSON_POINTER = /^\/(?:[^~]|~0|~1)*$/;
	const RELATIVE_JSON_POINTER = /^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;
	function getData($data, { dataLevel, dataNames, dataPathArr }) {
		let jsonPointer;
		let data;
		if ($data === "") return names_1.default.rootData;
		if ($data[0] === "/") {
			if (!JSON_POINTER.test($data)) throw new Error(`Invalid JSON-pointer: ${$data}`);
			jsonPointer = $data;
			data = names_1.default.rootData;
		} else {
			const matches = RELATIVE_JSON_POINTER.exec($data);
			if (!matches) throw new Error(`Invalid JSON-pointer: ${$data}`);
			const up = +matches[1];
			jsonPointer = matches[2];
			if (jsonPointer === "#") {
				if (up >= dataLevel) throw new Error(errorMsg("property/index", up));
				return dataPathArr[dataLevel - up];
			}
			if (up > dataLevel) throw new Error(errorMsg("data", up));
			data = dataNames[dataLevel - up];
			if (!jsonPointer) return data;
		}
		let expr = data;
		const segments = jsonPointer.split("/");
		for (const segment of segments) {
			if (segment) {
				data = (0, codegen_1._)`${data}${(0, codegen_1.getProperty)((0, util_1.unescapeJsonPointer)(segment))}`;
				expr = (0, codegen_1._)`${expr} && ${data}`;
			}
		}
		return expr;
		function errorMsg(pointerType, up) {
			return `Cannot access ${pointerType} ${up} levels up, current level is ${dataLevel}`;
		}
	}
	exports.getData = getData;
}));

//#endregion
//#region ../node_modules/ajv/dist/runtime/validation_error.js
var require_validation_error = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	var ValidationError = class extends Error {
		constructor(errors) {
			super("validation failed");
			this.errors = errors;
			this.ajv = this.validation = true;
		}
	};
	exports.default = ValidationError;
}));

//#endregion
//#region ../node_modules/ajv/dist/compile/ref_error.js
var require_ref_error = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const resolve_1 = require_resolve();
	var MissingRefError = class extends Error {
		constructor(resolver, baseId, ref, msg) {
			super(msg || `can't resolve reference ${ref} from id ${baseId}`);
			this.missingRef = (0, resolve_1.resolveUrl)(resolver, baseId, ref);
			this.missingSchema = (0, resolve_1.normalizeId)((0, resolve_1.getFullPath)(resolver, this.missingRef));
		}
	};
	exports.default = MissingRefError;
}));

//#endregion
//#region ../node_modules/ajv/dist/compile/index.js
var require_compile = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.resolveSchema = exports.getCompilingSchema = exports.resolveRef = exports.compileSchema = exports.SchemaEnv = void 0;
	const codegen_1 = require_codegen();
	const validation_error_1 = require_validation_error();
	const names_1 = require_names();
	const resolve_1 = require_resolve();
	const util_1 = require_util$7();
	const validate_1 = require_validate();
	var SchemaEnv = class {
		constructor(env) {
			var _a;
			this.refs = {};
			this.dynamicAnchors = {};
			let schema;
			if (typeof env.schema == "object") schema = env.schema;
			this.schema = env.schema;
			this.schemaId = env.schemaId;
			this.root = env.root || this;
			this.baseId = (_a = env.baseId) !== null && _a !== void 0 ? _a : (0, resolve_1.normalizeId)(schema === null || schema === void 0 ? void 0 : schema[env.schemaId || "$id"]);
			this.schemaPath = env.schemaPath;
			this.localRefs = env.localRefs;
			this.meta = env.meta;
			this.$async = schema === null || schema === void 0 ? void 0 : schema.$async;
			this.refs = {};
		}
	};
	exports.SchemaEnv = SchemaEnv;
	function compileSchema(sch) {
		const _sch = getCompilingSchema.call(this, sch);
		if (_sch) return _sch;
		const rootId = (0, resolve_1.getFullPath)(this.opts.uriResolver, sch.root.baseId);
		const { es5, lines } = this.opts.code;
		const { ownProperties } = this.opts;
		const gen = new codegen_1.CodeGen(this.scope, {
			es5,
			lines,
			ownProperties
		});
		let _ValidationError;
		if (sch.$async) {
			_ValidationError = gen.scopeValue("Error", {
				ref: validation_error_1.default,
				code: (0, codegen_1._)`require("ajv/dist/runtime/validation_error").default`
			});
		}
		const validateName = gen.scopeName("validate");
		sch.validateName = validateName;
		const schemaCxt = {
			gen,
			allErrors: this.opts.allErrors,
			data: names_1.default.data,
			parentData: names_1.default.parentData,
			parentDataProperty: names_1.default.parentDataProperty,
			dataNames: [names_1.default.data],
			dataPathArr: [codegen_1.nil],
			dataLevel: 0,
			dataTypes: [],
			definedProperties: new Set(),
			topSchemaRef: gen.scopeValue("schema", this.opts.code.source === true ? {
				ref: sch.schema,
				code: (0, codegen_1.stringify)(sch.schema)
			} : { ref: sch.schema }),
			validateName,
			ValidationError: _ValidationError,
			schema: sch.schema,
			schemaEnv: sch,
			rootId,
			baseId: sch.baseId || rootId,
			schemaPath: codegen_1.nil,
			errSchemaPath: sch.schemaPath || (this.opts.jtd ? "" : "#"),
			errorPath: (0, codegen_1._)`""`,
			opts: this.opts,
			self: this
		};
		let sourceCode;
		try {
			this._compilations.add(sch);
			(0, validate_1.validateFunctionCode)(schemaCxt);
			gen.optimize(this.opts.code.optimize);
			const validateCode = gen.toString();
			sourceCode = `${gen.scopeRefs(names_1.default.scope)}return ${validateCode}`;
			if (this.opts.code.process) sourceCode = this.opts.code.process(sourceCode, sch);
			const makeValidate = new Function(`${names_1.default.self}`, `${names_1.default.scope}`, sourceCode);
			const validate = makeValidate(this, this.scope.get());
			this.scope.value(validateName, { ref: validate });
			validate.errors = null;
			validate.schema = sch.schema;
			validate.schemaEnv = sch;
			if (sch.$async) validate.$async = true;
			if (this.opts.code.source === true) {
				validate.source = {
					validateName,
					validateCode,
					scopeValues: gen._values
				};
			}
			if (this.opts.unevaluated) {
				const { props, items } = schemaCxt;
				validate.evaluated = {
					props: props instanceof codegen_1.Name ? undefined : props,
					items: items instanceof codegen_1.Name ? undefined : items,
					dynamicProps: props instanceof codegen_1.Name,
					dynamicItems: items instanceof codegen_1.Name
				};
				if (validate.source) validate.source.evaluated = (0, codegen_1.stringify)(validate.evaluated);
			}
			sch.validate = validate;
			return sch;
		} catch (e) {
			delete sch.validate;
			delete sch.validateName;
			if (sourceCode) this.logger.error("Error compiling schema, function code:", sourceCode);
			throw e;
		} finally {
			this._compilations.delete(sch);
		}
	}
	exports.compileSchema = compileSchema;
	function resolveRef(root, baseId, ref) {
		var _a;
		ref = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, ref);
		const schOrFunc = root.refs[ref];
		if (schOrFunc) return schOrFunc;
		let _sch = resolve.call(this, root, ref);
		if (_sch === undefined) {
			const schema = (_a = root.localRefs) === null || _a === void 0 ? void 0 : _a[ref];
			const { schemaId } = this.opts;
			if (schema) _sch = new SchemaEnv({
				schema,
				schemaId,
				root,
				baseId
			});
		}
		if (_sch === undefined) return;
		return root.refs[ref] = inlineOrCompile.call(this, _sch);
	}
	exports.resolveRef = resolveRef;
	function inlineOrCompile(sch) {
		if ((0, resolve_1.inlineRef)(sch.schema, this.opts.inlineRefs)) return sch.schema;
		return sch.validate ? sch : compileSchema.call(this, sch);
	}
	function getCompilingSchema(schEnv) {
		for (const sch of this._compilations) {
			if (sameSchemaEnv(sch, schEnv)) return sch;
		}
	}
	exports.getCompilingSchema = getCompilingSchema;
	function sameSchemaEnv(s1, s2) {
		return s1.schema === s2.schema && s1.root === s2.root && s1.baseId === s2.baseId;
	}
	function resolve(root, ref) {
		let sch;
		while (typeof (sch = this.refs[ref]) == "string") ref = sch;
		return sch || this.schemas[ref] || resolveSchema.call(this, root, ref);
	}
	function resolveSchema(root, ref) {
		const p = this.opts.uriResolver.parse(ref);
		const refPath = (0, resolve_1._getFullPath)(this.opts.uriResolver, p);
		let baseId = (0, resolve_1.getFullPath)(this.opts.uriResolver, root.baseId, undefined);
		if (Object.keys(root.schema).length > 0 && refPath === baseId) {
			return getJsonPointer.call(this, p, root);
		}
		const id = (0, resolve_1.normalizeId)(refPath);
		const schOrRef = this.refs[id] || this.schemas[id];
		if (typeof schOrRef == "string") {
			const sch = resolveSchema.call(this, root, schOrRef);
			if (typeof (sch === null || sch === void 0 ? void 0 : sch.schema) !== "object") return;
			return getJsonPointer.call(this, p, sch);
		}
		if (typeof (schOrRef === null || schOrRef === void 0 ? void 0 : schOrRef.schema) !== "object") return;
		if (!schOrRef.validate) compileSchema.call(this, schOrRef);
		if (id === (0, resolve_1.normalizeId)(ref)) {
			const { schema } = schOrRef;
			const { schemaId } = this.opts;
			const schId = schema[schemaId];
			if (schId) baseId = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schId);
			return new SchemaEnv({
				schema,
				schemaId,
				root,
				baseId
			});
		}
		return getJsonPointer.call(this, p, schOrRef);
	}
	exports.resolveSchema = resolveSchema;
	const PREVENT_SCOPE_CHANGE = new Set([
		"properties",
		"patternProperties",
		"enum",
		"dependencies",
		"definitions"
	]);
	function getJsonPointer(parsedRef, { baseId, schema, root }) {
		var _a;
		if (((_a = parsedRef.fragment) === null || _a === void 0 ? void 0 : _a[0]) !== "/") return;
		for (const part of parsedRef.fragment.slice(1).split("/")) {
			if (typeof schema === "boolean") return;
			const partSchema = schema[(0, util_1.unescapeFragment)(part)];
			if (partSchema === undefined) return;
			schema = partSchema;
			const schId = typeof schema === "object" && schema[this.opts.schemaId];
			if (!PREVENT_SCOPE_CHANGE.has(part) && schId) {
				baseId = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schId);
			}
		}
		let env;
		if (typeof schema != "boolean" && schema.$ref && !(0, util_1.schemaHasRulesButRef)(schema, this.RULES)) {
			const $ref = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schema.$ref);
			env = resolveSchema.call(this, root, $ref);
		}
		const { schemaId } = this.opts;
		env = env || new SchemaEnv({
			schema,
			schemaId,
			root,
			baseId
		});
		if (env.schema !== env.root.schema) return env;
		return undefined;
	}
}));

//#endregion
//#region ../node_modules/ajv/dist/refs/data.json
var require_data = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = {
		"$id": "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",
		"description": "Meta-schema for $data reference (JSON AnySchema extension proposal)",
		"type": "object",
		"required": ["$data"],
		"properties": { "$data": {
			"type": "string",
			"anyOf": [{ "format": "relative-json-pointer" }, { "format": "json-pointer" }]
		} },
		"additionalProperties": false
	};
}));

//#endregion
//#region ../node_modules/ajv/node_modules/fast-uri/lib/utils.js
var require_utils$4 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @type {(value: string) => boolean} */
	const isUUID = RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu);
	/** @type {(value: string) => boolean} */
	const isIPv4 = RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);
	/**
	* @param {Array<string>} input
	* @returns {string}
	*/
	function stringArrayToHexStripped(input) {
		let acc = "";
		let code = 0;
		let i = 0;
		for (i = 0; i < input.length; i++) {
			code = input[i].charCodeAt(0);
			if (code === 48) {
				continue;
			}
			if (!(code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102)) {
				return "";
			}
			acc += input[i];
			break;
		}
		for (i += 1; i < input.length; i++) {
			code = input[i].charCodeAt(0);
			if (!(code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102)) {
				return "";
			}
			acc += input[i];
		}
		return acc;
	}
	/**
	* @typedef {Object} GetIPV6Result
	* @property {boolean} error - Indicates if there was an error parsing the IPv6 address.
	* @property {string} address - The parsed IPv6 address.
	* @property {string} [zone] - The zone identifier, if present.
	*/
	/**
	* @param {string} value
	* @returns {boolean}
	*/
	const nonSimpleDomain = RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);
	/**
	* @param {Array<string>} buffer
	* @returns {boolean}
	*/
	function consumeIsZone(buffer) {
		buffer.length = 0;
		return true;
	}
	/**
	* @param {Array<string>} buffer
	* @param {Array<string>} address
	* @param {GetIPV6Result} output
	* @returns {boolean}
	*/
	function consumeHextets(buffer, address, output) {
		if (buffer.length) {
			const hex = stringArrayToHexStripped(buffer);
			if (hex !== "") {
				address.push(hex);
			} else {
				output.error = true;
				return false;
			}
			buffer.length = 0;
		}
		return true;
	}
	/**
	* @param {string} input
	* @returns {GetIPV6Result}
	*/
	function getIPV6(input) {
		let tokenCount = 0;
		const output = {
			error: false,
			address: "",
			zone: ""
		};
		/** @type {Array<string>} */
		const address = [];
		/** @type {Array<string>} */
		const buffer = [];
		let endipv6Encountered = false;
		let endIpv6 = false;
		let consume = consumeHextets;
		for (let i = 0; i < input.length; i++) {
			const cursor = input[i];
			if (cursor === "[" || cursor === "]") {
				continue;
			}
			if (cursor === ":") {
				if (endipv6Encountered === true) {
					endIpv6 = true;
				}
				if (!consume(buffer, address, output)) {
					break;
				}
				if (++tokenCount > 7) {
					output.error = true;
					break;
				}
				if (i > 0 && input[i - 1] === ":") {
					endipv6Encountered = true;
				}
				address.push(":");
				continue;
			} else if (cursor === "%") {
				if (!consume(buffer, address, output)) {
					break;
				}
				consume = consumeIsZone;
			} else {
				buffer.push(cursor);
				continue;
			}
		}
		if (buffer.length) {
			if (consume === consumeIsZone) {
				output.zone = buffer.join("");
			} else if (endIpv6) {
				address.push(buffer.join(""));
			} else {
				address.push(stringArrayToHexStripped(buffer));
			}
		}
		output.address = address.join("");
		return output;
	}
	/**
	* @typedef {Object} NormalizeIPv6Result
	* @property {string} host - The normalized host.
	* @property {string} [escapedHost] - The escaped host.
	* @property {boolean} isIPV6 - Indicates if the host is an IPv6 address.
	*/
	/**
	* @param {string} host
	* @returns {NormalizeIPv6Result}
	*/
	function normalizeIPv6(host) {
		if (findToken(host, ":") < 2) {
			return {
				host,
				isIPV6: false
			};
		}
		const ipv6 = getIPV6(host);
		if (!ipv6.error) {
			let newHost = ipv6.address;
			let escapedHost = ipv6.address;
			if (ipv6.zone) {
				newHost += "%" + ipv6.zone;
				escapedHost += "%25" + ipv6.zone;
			}
			return {
				host: newHost,
				isIPV6: true,
				escapedHost
			};
		} else {
			return {
				host,
				isIPV6: false
			};
		}
	}
	/**
	* @param {string} str
	* @param {string} token
	* @returns {number}
	*/
	function findToken(str, token) {
		let ind = 0;
		for (let i = 0; i < str.length; i++) {
			if (str[i] === token) ind++;
		}
		return ind;
	}
	/**
	* @param {string} path
	* @returns {string}
	*
	* @see https://datatracker.ietf.org/doc/html/rfc3986#section-5.2.4
	*/
	function removeDotSegments(path) {
		let input = path;
		const output = [];
		let nextSlash = -1;
		let len = 0;
		while (len = input.length) {
			if (len === 1) {
				if (input === ".") {
					break;
				} else if (input === "/") {
					output.push("/");
					break;
				} else {
					output.push(input);
					break;
				}
			} else if (len === 2) {
				if (input[0] === ".") {
					if (input[1] === ".") {
						break;
					} else if (input[1] === "/") {
						input = input.slice(2);
						continue;
					}
				} else if (input[0] === "/") {
					if (input[1] === "." || input[1] === "/") {
						output.push("/");
						break;
					}
				}
			} else if (len === 3) {
				if (input === "/..") {
					if (output.length !== 0) {
						output.pop();
					}
					output.push("/");
					break;
				}
			}
			if (input[0] === ".") {
				if (input[1] === ".") {
					if (input[2] === "/") {
						input = input.slice(3);
						continue;
					}
				} else if (input[1] === "/") {
					input = input.slice(2);
					continue;
				}
			} else if (input[0] === "/") {
				if (input[1] === ".") {
					if (input[2] === "/") {
						input = input.slice(2);
						continue;
					} else if (input[2] === ".") {
						if (input[3] === "/") {
							input = input.slice(3);
							if (output.length !== 0) {
								output.pop();
							}
							continue;
						}
					}
				}
			}
			if ((nextSlash = input.indexOf("/", 1)) === -1) {
				output.push(input);
				break;
			} else {
				output.push(input.slice(0, nextSlash));
				input = input.slice(nextSlash);
			}
		}
		return output.join("");
	}
	/**
	* @param {import('../types/index').URIComponent} component
	* @param {boolean} esc
	* @returns {import('../types/index').URIComponent}
	*/
	function normalizeComponentEncoding(component, esc) {
		const func = esc !== true ? escape : unescape;
		if (component.scheme !== undefined) {
			component.scheme = func(component.scheme);
		}
		if (component.userinfo !== undefined) {
			component.userinfo = func(component.userinfo);
		}
		if (component.host !== undefined) {
			component.host = func(component.host);
		}
		if (component.path !== undefined) {
			component.path = func(component.path);
		}
		if (component.query !== undefined) {
			component.query = func(component.query);
		}
		if (component.fragment !== undefined) {
			component.fragment = func(component.fragment);
		}
		return component;
	}
	/**
	* @param {import('../types/index').URIComponent} component
	* @returns {string|undefined}
	*/
	function recomposeAuthority(component) {
		const uriTokens = [];
		if (component.userinfo !== undefined) {
			uriTokens.push(component.userinfo);
			uriTokens.push("@");
		}
		if (component.host !== undefined) {
			let host = unescape(component.host);
			if (!isIPv4(host)) {
				const ipV6res = normalizeIPv6(host);
				if (ipV6res.isIPV6 === true) {
					host = `[${ipV6res.escapedHost}]`;
				} else {
					host = component.host;
				}
			}
			uriTokens.push(host);
		}
		if (typeof component.port === "number" || typeof component.port === "string") {
			uriTokens.push(":");
			uriTokens.push(String(component.port));
		}
		return uriTokens.length ? uriTokens.join("") : undefined;
	}
	;
	module.exports = {
		nonSimpleDomain,
		recomposeAuthority,
		normalizeComponentEncoding,
		removeDotSegments,
		isIPv4,
		isUUID,
		normalizeIPv6,
		stringArrayToHexStripped
	};
}));

//#endregion
//#region ../node_modules/ajv/node_modules/fast-uri/lib/schemes.js
var require_schemes$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { isUUID } = require_utils$4();
	const URN_REG = /([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;
	const supportedSchemeNames = [
		"http",
		"https",
		"ws",
		"wss",
		"urn",
		"urn:uuid"
	];
	/** @typedef {supportedSchemeNames[number]} SchemeName */
	/**
	* @param {string} name
	* @returns {name is SchemeName}
	*/
	function isValidSchemeName(name) {
		return supportedSchemeNames.indexOf(
			/** @type {*} */
			name
		) !== -1;
	}
	/**
	* @callback SchemeFn
	* @param {import('../types/index').URIComponent} component
	* @param {import('../types/index').Options} options
	* @returns {import('../types/index').URIComponent}
	*/
	/**
	* @typedef {Object} SchemeHandler
	* @property {SchemeName} scheme - The scheme name.
	* @property {boolean} [domainHost] - Indicates if the scheme supports domain hosts.
	* @property {SchemeFn} parse - Function to parse the URI component for this scheme.
	* @property {SchemeFn} serialize - Function to serialize the URI component for this scheme.
	* @property {boolean} [skipNormalize] - Indicates if normalization should be skipped for this scheme.
	* @property {boolean} [absolutePath] - Indicates if the scheme uses absolute paths.
	* @property {boolean} [unicodeSupport] - Indicates if the scheme supports Unicode.
	*/
	/**
	* @param {import('../types/index').URIComponent} wsComponent
	* @returns {boolean}
	*/
	function wsIsSecure(wsComponent) {
		if (wsComponent.secure === true) {
			return true;
		} else if (wsComponent.secure === false) {
			return false;
		} else if (wsComponent.scheme) {
			return wsComponent.scheme.length === 3 && (wsComponent.scheme[0] === "w" || wsComponent.scheme[0] === "W") && (wsComponent.scheme[1] === "s" || wsComponent.scheme[1] === "S") && (wsComponent.scheme[2] === "s" || wsComponent.scheme[2] === "S");
		} else {
			return false;
		}
	}
	/** @type {SchemeFn} */
	function httpParse(component) {
		if (!component.host) {
			component.error = component.error || "HTTP URIs must have a host.";
		}
		return component;
	}
	/** @type {SchemeFn} */
	function httpSerialize(component) {
		const secure = String(component.scheme).toLowerCase() === "https";
		if (component.port === (secure ? 443 : 80) || component.port === "") {
			component.port = undefined;
		}
		if (!component.path) {
			component.path = "/";
		}
		return component;
	}
	/** @type {SchemeFn} */
	function wsParse(wsComponent) {
		wsComponent.secure = wsIsSecure(wsComponent);
		wsComponent.resourceName = (wsComponent.path || "/") + (wsComponent.query ? "?" + wsComponent.query : "");
		wsComponent.path = undefined;
		wsComponent.query = undefined;
		return wsComponent;
	}
	/** @type {SchemeFn} */
	function wsSerialize(wsComponent) {
		if (wsComponent.port === (wsIsSecure(wsComponent) ? 443 : 80) || wsComponent.port === "") {
			wsComponent.port = undefined;
		}
		if (typeof wsComponent.secure === "boolean") {
			wsComponent.scheme = wsComponent.secure ? "wss" : "ws";
			wsComponent.secure = undefined;
		}
		if (wsComponent.resourceName) {
			const [path, query] = wsComponent.resourceName.split("?");
			wsComponent.path = path && path !== "/" ? path : undefined;
			wsComponent.query = query;
			wsComponent.resourceName = undefined;
		}
		wsComponent.fragment = undefined;
		return wsComponent;
	}
	/** @type {SchemeFn} */
	function urnParse(urnComponent, options) {
		if (!urnComponent.path) {
			urnComponent.error = "URN can not be parsed";
			return urnComponent;
		}
		const matches = urnComponent.path.match(URN_REG);
		if (matches) {
			const scheme = options.scheme || urnComponent.scheme || "urn";
			urnComponent.nid = matches[1].toLowerCase();
			urnComponent.nss = matches[2];
			const urnScheme = `${scheme}:${options.nid || urnComponent.nid}`;
			const schemeHandler = getSchemeHandler(urnScheme);
			urnComponent.path = undefined;
			if (schemeHandler) {
				urnComponent = schemeHandler.parse(urnComponent, options);
			}
		} else {
			urnComponent.error = urnComponent.error || "URN can not be parsed.";
		}
		return urnComponent;
	}
	/** @type {SchemeFn} */
	function urnSerialize(urnComponent, options) {
		if (urnComponent.nid === undefined) {
			throw new Error("URN without nid cannot be serialized");
		}
		const scheme = options.scheme || urnComponent.scheme || "urn";
		const nid = urnComponent.nid.toLowerCase();
		const urnScheme = `${scheme}:${options.nid || nid}`;
		const schemeHandler = getSchemeHandler(urnScheme);
		if (schemeHandler) {
			urnComponent = schemeHandler.serialize(urnComponent, options);
		}
		const uriComponent = urnComponent;
		const nss = urnComponent.nss;
		uriComponent.path = `${nid || options.nid}:${nss}`;
		options.skipEscape = true;
		return uriComponent;
	}
	/** @type {SchemeFn} */
	function urnuuidParse(urnComponent, options) {
		const uuidComponent = urnComponent;
		uuidComponent.uuid = uuidComponent.nss;
		uuidComponent.nss = undefined;
		if (!options.tolerant && (!uuidComponent.uuid || !isUUID(uuidComponent.uuid))) {
			uuidComponent.error = uuidComponent.error || "UUID is not valid.";
		}
		return uuidComponent;
	}
	/** @type {SchemeFn} */
	function urnuuidSerialize(uuidComponent) {
		const urnComponent = uuidComponent;
		urnComponent.nss = (uuidComponent.uuid || "").toLowerCase();
		return urnComponent;
	}
	const http = {
		scheme: "http",
		domainHost: true,
		parse: httpParse,
		serialize: httpSerialize
	};
	const https = {
		scheme: "https",
		domainHost: http.domainHost,
		parse: httpParse,
		serialize: httpSerialize
	};
	const ws = {
		scheme: "ws",
		domainHost: true,
		parse: wsParse,
		serialize: wsSerialize
	};
	const wss = {
		scheme: "wss",
		domainHost: ws.domainHost,
		parse: ws.parse,
		serialize: ws.serialize
	};
	const urn = {
		scheme: "urn",
		parse: urnParse,
		serialize: urnSerialize,
		skipNormalize: true
	};
	const urnuuid = {
		scheme: "urn:uuid",
		parse: urnuuidParse,
		serialize: urnuuidSerialize,
		skipNormalize: true
	};
	const SCHEMES = {
		http,
		https,
		ws,
		wss,
		urn,
		"urn:uuid": urnuuid
	};
	Object.setPrototypeOf(SCHEMES, null);
	/**
	* @param {string|undefined} scheme
	* @returns {SchemeHandler|undefined}
	*/
	function getSchemeHandler(scheme) {
		return scheme && (SCHEMES[scheme] || SCHEMES[scheme.toLowerCase()]) || undefined;
	}
	module.exports = {
		wsIsSecure,
		SCHEMES,
		isValidSchemeName,
		getSchemeHandler
	};
}));

//#endregion
//#region ../node_modules/ajv/node_modules/fast-uri/index.js
var require_fast_uri$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizeComponentEncoding, isIPv4, nonSimpleDomain } = require_utils$4();
	const { SCHEMES, getSchemeHandler } = require_schemes$1();
	/**
	* @template {import('./types/index').URIComponent|string} T
	* @param {T} uri
	* @param {import('./types/index').Options} [options]
	* @returns {T}
	*/
	function normalize(uri, options) {
		if (typeof uri === "string") {
			uri = serialize(parse(uri, options), options);
		} else if (typeof uri === "object") {
			uri = parse(serialize(uri, options), options);
		}
		return uri;
	}
	/**
	* @param {string} baseURI
	* @param {string} relativeURI
	* @param {import('./types/index').Options} [options]
	* @returns {string}
	*/
	function resolve(baseURI, relativeURI, options) {
		const schemelessOptions = options ? Object.assign({ scheme: "null" }, options) : { scheme: "null" };
		const resolved = resolveComponent(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true);
		schemelessOptions.skipEscape = true;
		return serialize(resolved, schemelessOptions);
	}
	/**
	* @param {import ('./types/index').URIComponent} base
	* @param {import ('./types/index').URIComponent} relative
	* @param {import('./types/index').Options} [options]
	* @param {boolean} [skipNormalization=false]
	* @returns {import ('./types/index').URIComponent}
	*/
	function resolveComponent(base, relative, options, skipNormalization) {
		/** @type {import('./types/index').URIComponent} */
		const target = {};
		if (!skipNormalization) {
			base = parse(serialize(base, options), options);
			relative = parse(serialize(relative, options), options);
		}
		options = options || {};
		if (!options.tolerant && relative.scheme) {
			target.scheme = relative.scheme;
			target.userinfo = relative.userinfo;
			target.host = relative.host;
			target.port = relative.port;
			target.path = removeDotSegments(relative.path || "");
			target.query = relative.query;
		} else {
			if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) {
				target.userinfo = relative.userinfo;
				target.host = relative.host;
				target.port = relative.port;
				target.path = removeDotSegments(relative.path || "");
				target.query = relative.query;
			} else {
				if (!relative.path) {
					target.path = base.path;
					if (relative.query !== undefined) {
						target.query = relative.query;
					} else {
						target.query = base.query;
					}
				} else {
					if (relative.path[0] === "/") {
						target.path = removeDotSegments(relative.path);
					} else {
						if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) {
							target.path = "/" + relative.path;
						} else if (!base.path) {
							target.path = relative.path;
						} else {
							target.path = base.path.slice(0, base.path.lastIndexOf("/") + 1) + relative.path;
						}
						target.path = removeDotSegments(target.path);
					}
					target.query = relative.query;
				}
				target.userinfo = base.userinfo;
				target.host = base.host;
				target.port = base.port;
			}
			target.scheme = base.scheme;
		}
		target.fragment = relative.fragment;
		return target;
	}
	/**
	* @param {import ('./types/index').URIComponent|string} uriA
	* @param {import ('./types/index').URIComponent|string} uriB
	* @param {import ('./types/index').Options} options
	* @returns {boolean}
	*/
	function equal(uriA, uriB, options) {
		if (typeof uriA === "string") {
			uriA = unescape(uriA);
			uriA = serialize(normalizeComponentEncoding(parse(uriA, options), true), {
				...options,
				skipEscape: true
			});
		} else if (typeof uriA === "object") {
			uriA = serialize(normalizeComponentEncoding(uriA, true), {
				...options,
				skipEscape: true
			});
		}
		if (typeof uriB === "string") {
			uriB = unescape(uriB);
			uriB = serialize(normalizeComponentEncoding(parse(uriB, options), true), {
				...options,
				skipEscape: true
			});
		} else if (typeof uriB === "object") {
			uriB = serialize(normalizeComponentEncoding(uriB, true), {
				...options,
				skipEscape: true
			});
		}
		return uriA.toLowerCase() === uriB.toLowerCase();
	}
	/**
	* @param {Readonly<import('./types/index').URIComponent>} cmpts
	* @param {import('./types/index').Options} [opts]
	* @returns {string}
	*/
	function serialize(cmpts, opts) {
		const component = {
			host: cmpts.host,
			scheme: cmpts.scheme,
			userinfo: cmpts.userinfo,
			port: cmpts.port,
			path: cmpts.path,
			query: cmpts.query,
			nid: cmpts.nid,
			nss: cmpts.nss,
			uuid: cmpts.uuid,
			fragment: cmpts.fragment,
			reference: cmpts.reference,
			resourceName: cmpts.resourceName,
			secure: cmpts.secure,
			error: ""
		};
		const options = Object.assign({}, opts);
		const uriTokens = [];
		const schemeHandler = getSchemeHandler(options.scheme || component.scheme);
		if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(component, options);
		if (component.path !== undefined) {
			if (!options.skipEscape) {
				component.path = escape(component.path);
				if (component.scheme !== undefined) {
					component.path = component.path.split("%3A").join(":");
				}
			} else {
				component.path = unescape(component.path);
			}
		}
		if (options.reference !== "suffix" && component.scheme) {
			uriTokens.push(component.scheme, ":");
		}
		const authority = recomposeAuthority(component);
		if (authority !== undefined) {
			if (options.reference !== "suffix") {
				uriTokens.push("//");
			}
			uriTokens.push(authority);
			if (component.path && component.path[0] !== "/") {
				uriTokens.push("/");
			}
		}
		if (component.path !== undefined) {
			let s = component.path;
			if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) {
				s = removeDotSegments(s);
			}
			if (authority === undefined && s[0] === "/" && s[1] === "/") {
				s = "/%2F" + s.slice(2);
			}
			uriTokens.push(s);
		}
		if (component.query !== undefined) {
			uriTokens.push("?", component.query);
		}
		if (component.fragment !== undefined) {
			uriTokens.push("#", component.fragment);
		}
		return uriTokens.join("");
	}
	const URI_PARSE = /^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;
	/**
	* @param {string} uri
	* @param {import('./types/index').Options} [opts]
	* @returns
	*/
	function parse(uri, opts) {
		const options = Object.assign({}, opts);
		/** @type {import('./types/index').URIComponent} */
		const parsed = {
			scheme: undefined,
			userinfo: undefined,
			host: "",
			port: undefined,
			path: "",
			query: undefined,
			fragment: undefined
		};
		let isIP = false;
		if (options.reference === "suffix") {
			if (options.scheme) {
				uri = options.scheme + ":" + uri;
			} else {
				uri = "//" + uri;
			}
		}
		const matches = uri.match(URI_PARSE);
		if (matches) {
			parsed.scheme = matches[1];
			parsed.userinfo = matches[3];
			parsed.host = matches[4];
			parsed.port = parseInt(matches[5], 10);
			parsed.path = matches[6] || "";
			parsed.query = matches[7];
			parsed.fragment = matches[8];
			if (isNaN(parsed.port)) {
				parsed.port = matches[5];
			}
			if (parsed.host) {
				const ipv4result = isIPv4(parsed.host);
				if (ipv4result === false) {
					const ipv6result = normalizeIPv6(parsed.host);
					parsed.host = ipv6result.host.toLowerCase();
					isIP = ipv6result.isIPV6;
				} else {
					isIP = true;
				}
			}
			if (parsed.scheme === undefined && parsed.userinfo === undefined && parsed.host === undefined && parsed.port === undefined && parsed.query === undefined && !parsed.path) {
				parsed.reference = "same-document";
			} else if (parsed.scheme === undefined) {
				parsed.reference = "relative";
			} else if (parsed.fragment === undefined) {
				parsed.reference = "absolute";
			} else {
				parsed.reference = "uri";
			}
			if (options.reference && options.reference !== "suffix" && options.reference !== parsed.reference) {
				parsed.error = parsed.error || "URI is not a " + options.reference + " reference.";
			}
			const schemeHandler = getSchemeHandler(options.scheme || parsed.scheme);
			if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {
				if (parsed.host && (options.domainHost || schemeHandler && schemeHandler.domainHost) && isIP === false && nonSimpleDomain(parsed.host)) {
					try {
						parsed.host = URL.domainToASCII(parsed.host.toLowerCase());
					} catch (e) {
						parsed.error = parsed.error || "Host's domain name can not be converted to ASCII: " + e;
					}
				}
			}
			if (!schemeHandler || schemeHandler && !schemeHandler.skipNormalize) {
				if (uri.indexOf("%") !== -1) {
					if (parsed.scheme !== undefined) {
						parsed.scheme = unescape(parsed.scheme);
					}
					if (parsed.host !== undefined) {
						parsed.host = unescape(parsed.host);
					}
				}
				if (parsed.path) {
					parsed.path = escape(unescape(parsed.path));
				}
				if (parsed.fragment) {
					parsed.fragment = encodeURI(decodeURIComponent(parsed.fragment));
				}
			}
			if (schemeHandler && schemeHandler.parse) {
				schemeHandler.parse(parsed, options);
			}
		} else {
			parsed.error = parsed.error || "URI can not be parsed.";
		}
		return parsed;
	}
	const fastUri = {
		SCHEMES,
		normalize,
		resolve,
		resolveComponent,
		equal,
		serialize,
		parse
	};
	module.exports = fastUri;
	module.exports.default = fastUri;
	module.exports.fastUri = fastUri;
}));

//#endregion
//#region ../node_modules/ajv/dist/runtime/uri.js
var require_uri = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const uri = require_fast_uri$1();
	uri.code = "require(\"ajv/dist/runtime/uri\").default";
	exports.default = uri;
}));

//#endregion
//#region ../node_modules/ajv/dist/core.js
var require_core$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = void 0;
	var validate_1 = require_validate();
	Object.defineProperty(exports, "KeywordCxt", {
		enumerable: true,
		get: function() {
			return validate_1.KeywordCxt;
		}
	});
	var codegen_1 = require_codegen();
	Object.defineProperty(exports, "_", {
		enumerable: true,
		get: function() {
			return codegen_1._;
		}
	});
	Object.defineProperty(exports, "str", {
		enumerable: true,
		get: function() {
			return codegen_1.str;
		}
	});
	Object.defineProperty(exports, "stringify", {
		enumerable: true,
		get: function() {
			return codegen_1.stringify;
		}
	});
	Object.defineProperty(exports, "nil", {
		enumerable: true,
		get: function() {
			return codegen_1.nil;
		}
	});
	Object.defineProperty(exports, "Name", {
		enumerable: true,
		get: function() {
			return codegen_1.Name;
		}
	});
	Object.defineProperty(exports, "CodeGen", {
		enumerable: true,
		get: function() {
			return codegen_1.CodeGen;
		}
	});
	const validation_error_1 = require_validation_error();
	const ref_error_1 = require_ref_error();
	const rules_1 = require_rules();
	const compile_1 = require_compile();
	const codegen_2 = require_codegen();
	const resolve_1 = require_resolve();
	const dataType_1 = require_dataType();
	const util_1 = require_util$7();
	const $dataRefSchema = require_data();
	const uri_1 = require_uri();
	const defaultRegExp = (str, flags) => new RegExp(str, flags);
	defaultRegExp.code = "new RegExp";
	const META_IGNORE_OPTIONS = [
		"removeAdditional",
		"useDefaults",
		"coerceTypes"
	];
	const EXT_SCOPE_NAMES = new Set([
		"validate",
		"serialize",
		"parse",
		"wrapper",
		"root",
		"schema",
		"keyword",
		"pattern",
		"formats",
		"validate$data",
		"func",
		"obj",
		"Error"
	]);
	const removedOptions = {
		errorDataPath: "",
		format: "`validateFormats: false` can be used instead.",
		nullable: "\"nullable\" keyword is supported by default.",
		jsonPointers: "Deprecated jsPropertySyntax can be used instead.",
		extendRefs: "Deprecated ignoreKeywordsWithRef can be used instead.",
		missingRefs: "Pass empty schema with $id that should be ignored to ajv.addSchema.",
		processCode: "Use option `code: {process: (code, schemaEnv: object) => string}`",
		sourceCode: "Use option `code: {source: true}`",
		strictDefaults: "It is default now, see option `strict`.",
		strictKeywords: "It is default now, see option `strict`.",
		uniqueItems: "\"uniqueItems\" keyword is always validated.",
		unknownFormats: "Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",
		cache: "Map is used as cache, schema object as key.",
		serialize: "Map is used as cache, schema object as key.",
		ajvErrors: "It is default now."
	};
	const deprecatedOptions = {
		ignoreKeywordsWithRef: "",
		jsPropertySyntax: "",
		unicode: "\"minLength\"/\"maxLength\" account for unicode characters by default."
	};
	const MAX_EXPRESSION = 200;
	function requiredOptions(o) {
		var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
		const s = o.strict;
		const _optz = (_a = o.code) === null || _a === void 0 ? void 0 : _a.optimize;
		const optimize = _optz === true || _optz === undefined ? 1 : _optz || 0;
		const regExp = (_c = (_b = o.code) === null || _b === void 0 ? void 0 : _b.regExp) !== null && _c !== void 0 ? _c : defaultRegExp;
		const uriResolver = (_d = o.uriResolver) !== null && _d !== void 0 ? _d : uri_1.default;
		return {
			strictSchema: (_f = (_e = o.strictSchema) !== null && _e !== void 0 ? _e : s) !== null && _f !== void 0 ? _f : true,
			strictNumbers: (_h = (_g = o.strictNumbers) !== null && _g !== void 0 ? _g : s) !== null && _h !== void 0 ? _h : true,
			strictTypes: (_k = (_j = o.strictTypes) !== null && _j !== void 0 ? _j : s) !== null && _k !== void 0 ? _k : "log",
			strictTuples: (_m = (_l = o.strictTuples) !== null && _l !== void 0 ? _l : s) !== null && _m !== void 0 ? _m : "log",
			strictRequired: (_p = (_o = o.strictRequired) !== null && _o !== void 0 ? _o : s) !== null && _p !== void 0 ? _p : false,
			code: o.code ? {
				...o.code,
				optimize,
				regExp
			} : {
				optimize,
				regExp
			},
			loopRequired: (_q = o.loopRequired) !== null && _q !== void 0 ? _q : MAX_EXPRESSION,
			loopEnum: (_r = o.loopEnum) !== null && _r !== void 0 ? _r : MAX_EXPRESSION,
			meta: (_s = o.meta) !== null && _s !== void 0 ? _s : true,
			messages: (_t = o.messages) !== null && _t !== void 0 ? _t : true,
			inlineRefs: (_u = o.inlineRefs) !== null && _u !== void 0 ? _u : true,
			schemaId: (_v = o.schemaId) !== null && _v !== void 0 ? _v : "$id",
			addUsedSchema: (_w = o.addUsedSchema) !== null && _w !== void 0 ? _w : true,
			validateSchema: (_x = o.validateSchema) !== null && _x !== void 0 ? _x : true,
			validateFormats: (_y = o.validateFormats) !== null && _y !== void 0 ? _y : true,
			unicodeRegExp: (_z = o.unicodeRegExp) !== null && _z !== void 0 ? _z : true,
			int32range: (_0 = o.int32range) !== null && _0 !== void 0 ? _0 : true,
			uriResolver
		};
	}
	var Ajv = class {
		constructor(opts = {}) {
			this.schemas = {};
			this.refs = {};
			this.formats = {};
			this._compilations = new Set();
			this._loading = {};
			this._cache = new Map();
			opts = this.opts = {
				...opts,
				...requiredOptions(opts)
			};
			const { es5, lines } = this.opts.code;
			this.scope = new codegen_2.ValueScope({
				scope: {},
				prefixes: EXT_SCOPE_NAMES,
				es5,
				lines
			});
			this.logger = getLogger(opts.logger);
			const formatOpt = opts.validateFormats;
			opts.validateFormats = false;
			this.RULES = (0, rules_1.getRules)();
			checkOptions.call(this, removedOptions, opts, "NOT SUPPORTED");
			checkOptions.call(this, deprecatedOptions, opts, "DEPRECATED", "warn");
			this._metaOpts = getMetaSchemaOptions.call(this);
			if (opts.formats) addInitialFormats.call(this);
			this._addVocabularies();
			this._addDefaultMetaSchema();
			if (opts.keywords) addInitialKeywords.call(this, opts.keywords);
			if (typeof opts.meta == "object") this.addMetaSchema(opts.meta);
			addInitialSchemas.call(this);
			opts.validateFormats = formatOpt;
		}
		_addVocabularies() {
			this.addKeyword("$async");
		}
		_addDefaultMetaSchema() {
			const { $data, meta, schemaId } = this.opts;
			let _dataRefSchema = $dataRefSchema;
			if (schemaId === "id") {
				_dataRefSchema = { ...$dataRefSchema };
				_dataRefSchema.id = _dataRefSchema.$id;
				delete _dataRefSchema.$id;
			}
			if (meta && $data) this.addMetaSchema(_dataRefSchema, _dataRefSchema[schemaId], false);
		}
		defaultMeta() {
			const { meta, schemaId } = this.opts;
			return this.opts.defaultMeta = typeof meta == "object" ? meta[schemaId] || meta : undefined;
		}
		validate(schemaKeyRef, data) {
			let v;
			if (typeof schemaKeyRef == "string") {
				v = this.getSchema(schemaKeyRef);
				if (!v) throw new Error(`no schema with key or ref "${schemaKeyRef}"`);
			} else {
				v = this.compile(schemaKeyRef);
			}
			const valid = v(data);
			if (!("$async" in v)) this.errors = v.errors;
			return valid;
		}
		compile(schema, _meta) {
			const sch = this._addSchema(schema, _meta);
			return sch.validate || this._compileSchemaEnv(sch);
		}
		compileAsync(schema, meta) {
			if (typeof this.opts.loadSchema != "function") {
				throw new Error("options.loadSchema should be a function");
			}
			const { loadSchema } = this.opts;
			return runCompileAsync.call(this, schema, meta);
			async function runCompileAsync(_schema, _meta) {
				await loadMetaSchema.call(this, _schema.$schema);
				const sch = this._addSchema(_schema, _meta);
				return sch.validate || _compileAsync.call(this, sch);
			}
			async function loadMetaSchema($ref) {
				if ($ref && !this.getSchema($ref)) {
					await runCompileAsync.call(this, { $ref }, true);
				}
			}
			async function _compileAsync(sch) {
				try {
					return this._compileSchemaEnv(sch);
				} catch (e) {
					if (!(e instanceof ref_error_1.default)) throw e;
					checkLoaded.call(this, e);
					await loadMissingSchema.call(this, e.missingSchema);
					return _compileAsync.call(this, sch);
				}
			}
			function checkLoaded({ missingSchema: ref, missingRef }) {
				if (this.refs[ref]) {
					throw new Error(`AnySchema ${ref} is loaded but ${missingRef} cannot be resolved`);
				}
			}
			async function loadMissingSchema(ref) {
				const _schema = await _loadSchema.call(this, ref);
				if (!this.refs[ref]) await loadMetaSchema.call(this, _schema.$schema);
				if (!this.refs[ref]) this.addSchema(_schema, ref, meta);
			}
			async function _loadSchema(ref) {
				const p = this._loading[ref];
				if (p) return p;
				try {
					return await (this._loading[ref] = loadSchema(ref));
				} finally {
					delete this._loading[ref];
				}
			}
		}
		addSchema(schema, key, _meta, _validateSchema = this.opts.validateSchema) {
			if (Array.isArray(schema)) {
				for (const sch of schema) this.addSchema(sch, undefined, _meta, _validateSchema);
				return this;
			}
			let id;
			if (typeof schema === "object") {
				const { schemaId } = this.opts;
				id = schema[schemaId];
				if (id !== undefined && typeof id != "string") {
					throw new Error(`schema ${schemaId} must be string`);
				}
			}
			key = (0, resolve_1.normalizeId)(key || id);
			this._checkUnique(key);
			this.schemas[key] = this._addSchema(schema, _meta, key, _validateSchema, true);
			return this;
		}
		addMetaSchema(schema, key, _validateSchema = this.opts.validateSchema) {
			this.addSchema(schema, key, true, _validateSchema);
			return this;
		}
		validateSchema(schema, throwOrLogError) {
			if (typeof schema == "boolean") return true;
			let $schema;
			$schema = schema.$schema;
			if ($schema !== undefined && typeof $schema != "string") {
				throw new Error("$schema must be a string");
			}
			$schema = $schema || this.opts.defaultMeta || this.defaultMeta();
			if (!$schema) {
				this.logger.warn("meta-schema not available");
				this.errors = null;
				return true;
			}
			const valid = this.validate($schema, schema);
			if (!valid && throwOrLogError) {
				const message = "schema is invalid: " + this.errorsText();
				if (this.opts.validateSchema === "log") this.logger.error(message);
				else throw new Error(message);
			}
			return valid;
		}
		getSchema(keyRef) {
			let sch;
			while (typeof (sch = getSchEnv.call(this, keyRef)) == "string") keyRef = sch;
			if (sch === undefined) {
				const { schemaId } = this.opts;
				const root = new compile_1.SchemaEnv({
					schema: {},
					schemaId
				});
				sch = compile_1.resolveSchema.call(this, root, keyRef);
				if (!sch) return;
				this.refs[keyRef] = sch;
			}
			return sch.validate || this._compileSchemaEnv(sch);
		}
		removeSchema(schemaKeyRef) {
			if (schemaKeyRef instanceof RegExp) {
				this._removeAllSchemas(this.schemas, schemaKeyRef);
				this._removeAllSchemas(this.refs, schemaKeyRef);
				return this;
			}
			switch (typeof schemaKeyRef) {
				case "undefined":
					this._removeAllSchemas(this.schemas);
					this._removeAllSchemas(this.refs);
					this._cache.clear();
					return this;
				case "string": {
					const sch = getSchEnv.call(this, schemaKeyRef);
					if (typeof sch == "object") this._cache.delete(sch.schema);
					delete this.schemas[schemaKeyRef];
					delete this.refs[schemaKeyRef];
					return this;
				}
				case "object": {
					const cacheKey = schemaKeyRef;
					this._cache.delete(cacheKey);
					let id = schemaKeyRef[this.opts.schemaId];
					if (id) {
						id = (0, resolve_1.normalizeId)(id);
						delete this.schemas[id];
						delete this.refs[id];
					}
					return this;
				}
				default: throw new Error("ajv.removeSchema: invalid parameter");
			}
		}
		addVocabulary(definitions) {
			for (const def of definitions) this.addKeyword(def);
			return this;
		}
		addKeyword(kwdOrDef, def) {
			let keyword;
			if (typeof kwdOrDef == "string") {
				keyword = kwdOrDef;
				if (typeof def == "object") {
					this.logger.warn("these parameters are deprecated, see docs for addKeyword");
					def.keyword = keyword;
				}
			} else if (typeof kwdOrDef == "object" && def === undefined) {
				def = kwdOrDef;
				keyword = def.keyword;
				if (Array.isArray(keyword) && !keyword.length) {
					throw new Error("addKeywords: keyword must be string or non-empty array");
				}
			} else {
				throw new Error("invalid addKeywords parameters");
			}
			checkKeyword.call(this, keyword, def);
			if (!def) {
				(0, util_1.eachItem)(keyword, (kwd) => addRule.call(this, kwd));
				return this;
			}
			keywordMetaschema.call(this, def);
			const definition = {
				...def,
				type: (0, dataType_1.getJSONTypes)(def.type),
				schemaType: (0, dataType_1.getJSONTypes)(def.schemaType)
			};
			(0, util_1.eachItem)(keyword, definition.type.length === 0 ? (k) => addRule.call(this, k, definition) : (k) => definition.type.forEach((t) => addRule.call(this, k, definition, t)));
			return this;
		}
		getKeyword(keyword) {
			const rule = this.RULES.all[keyword];
			return typeof rule == "object" ? rule.definition : !!rule;
		}
		removeKeyword(keyword) {
			const { RULES } = this;
			delete RULES.keywords[keyword];
			delete RULES.all[keyword];
			for (const group of RULES.rules) {
				const i = group.rules.findIndex((rule) => rule.keyword === keyword);
				if (i >= 0) group.rules.splice(i, 1);
			}
			return this;
		}
		addFormat(name, format) {
			if (typeof format == "string") format = new RegExp(format);
			this.formats[name] = format;
			return this;
		}
		errorsText(errors = this.errors, { separator = ", ", dataVar = "data" } = {}) {
			if (!errors || errors.length === 0) return "No errors";
			return errors.map((e) => `${dataVar}${e.instancePath} ${e.message}`).reduce((text, msg) => text + separator + msg);
		}
		$dataMetaSchema(metaSchema, keywordsJsonPointers) {
			const rules = this.RULES.all;
			metaSchema = JSON.parse(JSON.stringify(metaSchema));
			for (const jsonPointer of keywordsJsonPointers) {
				const segments = jsonPointer.split("/").slice(1);
				let keywords = metaSchema;
				for (const seg of segments) keywords = keywords[seg];
				for (const key in rules) {
					const rule = rules[key];
					if (typeof rule != "object") continue;
					const { $data } = rule.definition;
					const schema = keywords[key];
					if ($data && schema) keywords[key] = schemaOrData(schema);
				}
			}
			return metaSchema;
		}
		_removeAllSchemas(schemas, regex) {
			for (const keyRef in schemas) {
				const sch = schemas[keyRef];
				if (!regex || regex.test(keyRef)) {
					if (typeof sch == "string") {
						delete schemas[keyRef];
					} else if (sch && !sch.meta) {
						this._cache.delete(sch.schema);
						delete schemas[keyRef];
					}
				}
			}
		}
		_addSchema(schema, meta, baseId, validateSchema = this.opts.validateSchema, addSchema = this.opts.addUsedSchema) {
			let id;
			const { schemaId } = this.opts;
			if (typeof schema == "object") {
				id = schema[schemaId];
			} else {
				if (this.opts.jtd) throw new Error("schema must be object");
				else if (typeof schema != "boolean") throw new Error("schema must be object or boolean");
			}
			let sch = this._cache.get(schema);
			if (sch !== undefined) return sch;
			baseId = (0, resolve_1.normalizeId)(id || baseId);
			const localRefs = resolve_1.getSchemaRefs.call(this, schema, baseId);
			sch = new compile_1.SchemaEnv({
				schema,
				schemaId,
				meta,
				baseId,
				localRefs
			});
			this._cache.set(sch.schema, sch);
			if (addSchema && !baseId.startsWith("#")) {
				if (baseId) this._checkUnique(baseId);
				this.refs[baseId] = sch;
			}
			if (validateSchema) this.validateSchema(schema, true);
			return sch;
		}
		_checkUnique(id) {
			if (this.schemas[id] || this.refs[id]) {
				throw new Error(`schema with key or id "${id}" already exists`);
			}
		}
		_compileSchemaEnv(sch) {
			if (sch.meta) this._compileMetaSchema(sch);
			else compile_1.compileSchema.call(this, sch);
			/* istanbul ignore if */
			if (!sch.validate) throw new Error("ajv implementation error");
			return sch.validate;
		}
		_compileMetaSchema(sch) {
			const currentOpts = this.opts;
			this.opts = this._metaOpts;
			try {
				compile_1.compileSchema.call(this, sch);
			} finally {
				this.opts = currentOpts;
			}
		}
	};
	Ajv.ValidationError = validation_error_1.default;
	Ajv.MissingRefError = ref_error_1.default;
	exports.default = Ajv;
	function checkOptions(checkOpts, options, msg, log = "error") {
		for (const key in checkOpts) {
			const opt = key;
			if (opt in options) this.logger[log](`${msg}: option ${key}. ${checkOpts[opt]}`);
		}
	}
	function getSchEnv(keyRef) {
		keyRef = (0, resolve_1.normalizeId)(keyRef);
		return this.schemas[keyRef] || this.refs[keyRef];
	}
	function addInitialSchemas() {
		const optsSchemas = this.opts.schemas;
		if (!optsSchemas) return;
		if (Array.isArray(optsSchemas)) this.addSchema(optsSchemas);
		else for (const key in optsSchemas) this.addSchema(optsSchemas[key], key);
	}
	function addInitialFormats() {
		for (const name in this.opts.formats) {
			const format = this.opts.formats[name];
			if (format) this.addFormat(name, format);
		}
	}
	function addInitialKeywords(defs) {
		if (Array.isArray(defs)) {
			this.addVocabulary(defs);
			return;
		}
		this.logger.warn("keywords option as map is deprecated, pass array");
		for (const keyword in defs) {
			const def = defs[keyword];
			if (!def.keyword) def.keyword = keyword;
			this.addKeyword(def);
		}
	}
	function getMetaSchemaOptions() {
		const metaOpts = { ...this.opts };
		for (const opt of META_IGNORE_OPTIONS) delete metaOpts[opt];
		return metaOpts;
	}
	const noLogs = {
		log() {},
		warn() {},
		error() {}
	};
	function getLogger(logger) {
		if (logger === false) return noLogs;
		if (logger === undefined) return console;
		if (logger.log && logger.warn && logger.error) return logger;
		throw new Error("logger must implement log, warn and error methods");
	}
	const KEYWORD_NAME = /^[a-z_$][a-z0-9_$:-]*$/i;
	function checkKeyword(keyword, def) {
		const { RULES } = this;
		(0, util_1.eachItem)(keyword, (kwd) => {
			if (RULES.keywords[kwd]) throw new Error(`Keyword ${kwd} is already defined`);
			if (!KEYWORD_NAME.test(kwd)) throw new Error(`Keyword ${kwd} has invalid name`);
		});
		if (!def) return;
		if (def.$data && !("code" in def || "validate" in def)) {
			throw new Error("$data keyword must have \"code\" or \"validate\" function");
		}
	}
	function addRule(keyword, definition, dataType) {
		var _a;
		const post = definition === null || definition === void 0 ? void 0 : definition.post;
		if (dataType && post) throw new Error("keyword with \"post\" flag cannot have \"type\"");
		const { RULES } = this;
		let ruleGroup = post ? RULES.post : RULES.rules.find(({ type: t }) => t === dataType);
		if (!ruleGroup) {
			ruleGroup = {
				type: dataType,
				rules: []
			};
			RULES.rules.push(ruleGroup);
		}
		RULES.keywords[keyword] = true;
		if (!definition) return;
		const rule = {
			keyword,
			definition: {
				...definition,
				type: (0, dataType_1.getJSONTypes)(definition.type),
				schemaType: (0, dataType_1.getJSONTypes)(definition.schemaType)
			}
		};
		if (definition.before) addBeforeRule.call(this, ruleGroup, rule, definition.before);
		else ruleGroup.rules.push(rule);
		RULES.all[keyword] = rule;
		(_a = definition.implements) === null || _a === void 0 ? void 0 : _a.forEach((kwd) => this.addKeyword(kwd));
	}
	function addBeforeRule(ruleGroup, rule, before) {
		const i = ruleGroup.rules.findIndex((_rule) => _rule.keyword === before);
		if (i >= 0) {
			ruleGroup.rules.splice(i, 0, rule);
		} else {
			ruleGroup.rules.push(rule);
			this.logger.warn(`rule ${before} is not defined`);
		}
	}
	function keywordMetaschema(def) {
		let { metaSchema } = def;
		if (metaSchema === undefined) return;
		if (def.$data && this.opts.$data) metaSchema = schemaOrData(metaSchema);
		def.validateSchema = this.compile(metaSchema, true);
	}
	const $dataRef = { $ref: "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#" };
	function schemaOrData(schema) {
		return { anyOf: [schema, $dataRef] };
	}
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/core/id.js
var require_id = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const def = {
		keyword: "id",
		code() {
			throw new Error("NOT SUPPORTED: keyword \"id\", use \"$id\" for schema ID");
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/core/ref.js
var require_ref$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.callRef = exports.getValidate = void 0;
	const ref_error_1 = require_ref_error();
	const code_1 = require_code();
	const codegen_1 = require_codegen();
	const names_1 = require_names();
	const compile_1 = require_compile();
	const util_1 = require_util$7();
	const def = {
		keyword: "$ref",
		schemaType: "string",
		code(cxt) {
			const { gen, schema: $ref, it } = cxt;
			const { baseId, schemaEnv: env, validateName, opts, self } = it;
			const { root } = env;
			if (($ref === "#" || $ref === "#/") && baseId === root.baseId) return callRootRef();
			const schOrEnv = compile_1.resolveRef.call(self, root, baseId, $ref);
			if (schOrEnv === undefined) throw new ref_error_1.default(it.opts.uriResolver, baseId, $ref);
			if (schOrEnv instanceof compile_1.SchemaEnv) return callValidate(schOrEnv);
			return inlineRefSchema(schOrEnv);
			function callRootRef() {
				if (env === root) return callRef(cxt, validateName, env, env.$async);
				const rootName = gen.scopeValue("root", { ref: root });
				return callRef(cxt, (0, codegen_1._)`${rootName}.validate`, root, root.$async);
			}
			function callValidate(sch) {
				const v = getValidate(cxt, sch);
				callRef(cxt, v, sch, sch.$async);
			}
			function inlineRefSchema(sch) {
				const schName = gen.scopeValue("schema", opts.code.source === true ? {
					ref: sch,
					code: (0, codegen_1.stringify)(sch)
				} : { ref: sch });
				const valid = gen.name("valid");
				const schCxt = cxt.subschema({
					schema: sch,
					dataTypes: [],
					schemaPath: codegen_1.nil,
					topSchemaRef: schName,
					errSchemaPath: $ref
				}, valid);
				cxt.mergeEvaluated(schCxt);
				cxt.ok(valid);
			}
		}
	};
	function getValidate(cxt, sch) {
		const { gen } = cxt;
		return sch.validate ? gen.scopeValue("validate", { ref: sch.validate }) : (0, codegen_1._)`${gen.scopeValue("wrapper", { ref: sch })}.validate`;
	}
	exports.getValidate = getValidate;
	function callRef(cxt, v, sch, $async) {
		const { gen, it } = cxt;
		const { allErrors, schemaEnv: env, opts } = it;
		const passCxt = opts.passContext ? names_1.default.this : codegen_1.nil;
		if ($async) callAsyncRef();
		else callSyncRef();
		function callAsyncRef() {
			if (!env.$async) throw new Error("async schema referenced by sync schema");
			const valid = gen.let("valid");
			gen.try(() => {
				gen.code((0, codegen_1._)`await ${(0, code_1.callValidateCode)(cxt, v, passCxt)}`);
				addEvaluatedFrom(v);
				if (!allErrors) gen.assign(valid, true);
			}, (e) => {
				gen.if((0, codegen_1._)`!(${e} instanceof ${it.ValidationError})`, () => gen.throw(e));
				addErrorsFrom(e);
				if (!allErrors) gen.assign(valid, false);
			});
			cxt.ok(valid);
		}
		function callSyncRef() {
			cxt.result((0, code_1.callValidateCode)(cxt, v, passCxt), () => addEvaluatedFrom(v), () => addErrorsFrom(v));
		}
		function addErrorsFrom(source) {
			const errs = (0, codegen_1._)`${source}.errors`;
			gen.assign(names_1.default.vErrors, (0, codegen_1._)`${names_1.default.vErrors} === null ? ${errs} : ${names_1.default.vErrors}.concat(${errs})`);
			gen.assign(names_1.default.errors, (0, codegen_1._)`${names_1.default.vErrors}.length`);
		}
		function addEvaluatedFrom(source) {
			var _a;
			if (!it.opts.unevaluated) return;
			const schEvaluated = (_a = sch === null || sch === void 0 ? void 0 : sch.validate) === null || _a === void 0 ? void 0 : _a.evaluated;
			if (it.props !== true) {
				if (schEvaluated && !schEvaluated.dynamicProps) {
					if (schEvaluated.props !== undefined) {
						it.props = util_1.mergeEvaluated.props(gen, schEvaluated.props, it.props);
					}
				} else {
					const props = gen.var("props", (0, codegen_1._)`${source}.evaluated.props`);
					it.props = util_1.mergeEvaluated.props(gen, props, it.props, codegen_1.Name);
				}
			}
			if (it.items !== true) {
				if (schEvaluated && !schEvaluated.dynamicItems) {
					if (schEvaluated.items !== undefined) {
						it.items = util_1.mergeEvaluated.items(gen, schEvaluated.items, it.items);
					}
				} else {
					const items = gen.var("items", (0, codegen_1._)`${source}.evaluated.items`);
					it.items = util_1.mergeEvaluated.items(gen, items, it.items, codegen_1.Name);
				}
			}
		}
	}
	exports.callRef = callRef;
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/core/index.js
var require_core$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const id_1 = require_id();
	const ref_1 = require_ref$1();
	const core = [
		"$schema",
		"$id",
		"$defs",
		"$vocabulary",
		{ keyword: "$comment" },
		"definitions",
		id_1.default,
		ref_1.default
	];
	exports.default = core;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/validation/limitNumber.js
var require_limitNumber = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const codegen_1 = require_codegen();
	const ops = codegen_1.operators;
	const KWDs = {
		maximum: {
			okStr: "<=",
			ok: ops.LTE,
			fail: ops.GT
		},
		minimum: {
			okStr: ">=",
			ok: ops.GTE,
			fail: ops.LT
		},
		exclusiveMaximum: {
			okStr: "<",
			ok: ops.LT,
			fail: ops.GTE
		},
		exclusiveMinimum: {
			okStr: ">",
			ok: ops.GT,
			fail: ops.LTE
		}
	};
	const error = {
		message: ({ keyword, schemaCode }) => (0, codegen_1.str)`must be ${KWDs[keyword].okStr} ${schemaCode}`,
		params: ({ keyword, schemaCode }) => (0, codegen_1._)`{comparison: ${KWDs[keyword].okStr}, limit: ${schemaCode}}`
	};
	const def = {
		keyword: Object.keys(KWDs),
		type: "number",
		schemaType: "number",
		$data: true,
		error,
		code(cxt) {
			const { keyword, data, schemaCode } = cxt;
			cxt.fail$data((0, codegen_1._)`${data} ${KWDs[keyword].fail} ${schemaCode} || isNaN(${data})`);
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/validation/multipleOf.js
var require_multipleOf = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const codegen_1 = require_codegen();
	const error = {
		message: ({ schemaCode }) => (0, codegen_1.str)`must be multiple of ${schemaCode}`,
		params: ({ schemaCode }) => (0, codegen_1._)`{multipleOf: ${schemaCode}}`
	};
	const def = {
		keyword: "multipleOf",
		type: "number",
		schemaType: "number",
		$data: true,
		error,
		code(cxt) {
			const { gen, data, schemaCode, it } = cxt;
			const prec = it.opts.multipleOfPrecision;
			const res = gen.let("res");
			const invalid = prec ? (0, codegen_1._)`Math.abs(Math.round(${res}) - ${res}) > 1e-${prec}` : (0, codegen_1._)`${res} !== parseInt(${res})`;
			cxt.fail$data((0, codegen_1._)`(${schemaCode} === 0 || (${res} = ${data}/${schemaCode}, ${invalid}))`);
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/runtime/ucs2length.js
var require_ucs2length = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	function ucs2length(str) {
		const len = str.length;
		let length = 0;
		let pos = 0;
		let value;
		while (pos < len) {
			length++;
			value = str.charCodeAt(pos++);
			if (value >= 55296 && value <= 56319 && pos < len) {
				value = str.charCodeAt(pos);
				if ((value & 64512) === 56320) pos++;
			}
		}
		return length;
	}
	exports.default = ucs2length;
	ucs2length.code = "require(\"ajv/dist/runtime/ucs2length\").default";
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/validation/limitLength.js
var require_limitLength = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const codegen_1 = require_codegen();
	const util_1 = require_util$7();
	const ucs2length_1 = require_ucs2length();
	const error = {
		message({ keyword, schemaCode }) {
			const comp = keyword === "maxLength" ? "more" : "fewer";
			return (0, codegen_1.str)`must NOT have ${comp} than ${schemaCode} characters`;
		},
		params: ({ schemaCode }) => (0, codegen_1._)`{limit: ${schemaCode}}`
	};
	const def = {
		keyword: ["maxLength", "minLength"],
		type: "string",
		schemaType: "number",
		$data: true,
		error,
		code(cxt) {
			const { keyword, data, schemaCode, it } = cxt;
			const op = keyword === "maxLength" ? codegen_1.operators.GT : codegen_1.operators.LT;
			const len = it.opts.unicode === false ? (0, codegen_1._)`${data}.length` : (0, codegen_1._)`${(0, util_1.useFunc)(cxt.gen, ucs2length_1.default)}(${data})`;
			cxt.fail$data((0, codegen_1._)`${len} ${op} ${schemaCode}`);
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/validation/pattern.js
var require_pattern = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const code_1 = require_code();
	const codegen_1 = require_codegen();
	const error = {
		message: ({ schemaCode }) => (0, codegen_1.str)`must match pattern "${schemaCode}"`,
		params: ({ schemaCode }) => (0, codegen_1._)`{pattern: ${schemaCode}}`
	};
	const def = {
		keyword: "pattern",
		type: "string",
		schemaType: "string",
		$data: true,
		error,
		code(cxt) {
			const { data, $data, schema, schemaCode, it } = cxt;
			const u = it.opts.unicodeRegExp ? "u" : "";
			const regExp = $data ? (0, codegen_1._)`(new RegExp(${schemaCode}, ${u}))` : (0, code_1.usePattern)(cxt, schema);
			cxt.fail$data((0, codegen_1._)`!${regExp}.test(${data})`);
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/validation/limitProperties.js
var require_limitProperties = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const codegen_1 = require_codegen();
	const error = {
		message({ keyword, schemaCode }) {
			const comp = keyword === "maxProperties" ? "more" : "fewer";
			return (0, codegen_1.str)`must NOT have ${comp} than ${schemaCode} properties`;
		},
		params: ({ schemaCode }) => (0, codegen_1._)`{limit: ${schemaCode}}`
	};
	const def = {
		keyword: ["maxProperties", "minProperties"],
		type: "object",
		schemaType: "number",
		$data: true,
		error,
		code(cxt) {
			const { keyword, data, schemaCode } = cxt;
			const op = keyword === "maxProperties" ? codegen_1.operators.GT : codegen_1.operators.LT;
			cxt.fail$data((0, codegen_1._)`Object.keys(${data}).length ${op} ${schemaCode}`);
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/validation/required.js
var require_required = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const code_1 = require_code();
	const codegen_1 = require_codegen();
	const util_1 = require_util$7();
	const error = {
		message: ({ params: { missingProperty } }) => (0, codegen_1.str)`must have required property '${missingProperty}'`,
		params: ({ params: { missingProperty } }) => (0, codegen_1._)`{missingProperty: ${missingProperty}}`
	};
	const def = {
		keyword: "required",
		type: "object",
		schemaType: "array",
		$data: true,
		error,
		code(cxt) {
			const { gen, schema, schemaCode, data, $data, it } = cxt;
			const { opts } = it;
			if (!$data && schema.length === 0) return;
			const useLoop = schema.length >= opts.loopRequired;
			if (it.allErrors) allErrorsMode();
			else exitOnErrorMode();
			if (opts.strictRequired) {
				const props = cxt.parentSchema.properties;
				const { definedProperties } = cxt.it;
				for (const requiredKey of schema) {
					if ((props === null || props === void 0 ? void 0 : props[requiredKey]) === undefined && !definedProperties.has(requiredKey)) {
						const schemaPath = it.schemaEnv.baseId + it.errSchemaPath;
						const msg = `required property "${requiredKey}" is not defined at "${schemaPath}" (strictRequired)`;
						(0, util_1.checkStrictMode)(it, msg, it.opts.strictRequired);
					}
				}
			}
			function allErrorsMode() {
				if (useLoop || $data) {
					cxt.block$data(codegen_1.nil, loopAllRequired);
				} else {
					for (const prop of schema) {
						(0, code_1.checkReportMissingProp)(cxt, prop);
					}
				}
			}
			function exitOnErrorMode() {
				const missing = gen.let("missing");
				if (useLoop || $data) {
					const valid = gen.let("valid", true);
					cxt.block$data(valid, () => loopUntilMissing(missing, valid));
					cxt.ok(valid);
				} else {
					gen.if((0, code_1.checkMissingProp)(cxt, schema, missing));
					(0, code_1.reportMissingProp)(cxt, missing);
					gen.else();
				}
			}
			function loopAllRequired() {
				gen.forOf("prop", schemaCode, (prop) => {
					cxt.setParams({ missingProperty: prop });
					gen.if((0, code_1.noPropertyInData)(gen, data, prop, opts.ownProperties), () => cxt.error());
				});
			}
			function loopUntilMissing(missing, valid) {
				cxt.setParams({ missingProperty: missing });
				gen.forOf(missing, schemaCode, () => {
					gen.assign(valid, (0, code_1.propertyInData)(gen, data, missing, opts.ownProperties));
					gen.if((0, codegen_1.not)(valid), () => {
						cxt.error();
						gen.break();
					});
				}, codegen_1.nil);
			}
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/validation/limitItems.js
var require_limitItems = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const codegen_1 = require_codegen();
	const error = {
		message({ keyword, schemaCode }) {
			const comp = keyword === "maxItems" ? "more" : "fewer";
			return (0, codegen_1.str)`must NOT have ${comp} than ${schemaCode} items`;
		},
		params: ({ schemaCode }) => (0, codegen_1._)`{limit: ${schemaCode}}`
	};
	const def = {
		keyword: ["maxItems", "minItems"],
		type: "array",
		schemaType: "number",
		$data: true,
		error,
		code(cxt) {
			const { keyword, data, schemaCode } = cxt;
			const op = keyword === "maxItems" ? codegen_1.operators.GT : codegen_1.operators.LT;
			cxt.fail$data((0, codegen_1._)`${data}.length ${op} ${schemaCode}`);
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/runtime/equal.js
var require_equal = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const equal = require_fast_deep_equal();
	equal.code = "require(\"ajv/dist/runtime/equal\").default";
	exports.default = equal;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/validation/uniqueItems.js
var require_uniqueItems = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const dataType_1 = require_dataType();
	const codegen_1 = require_codegen();
	const util_1 = require_util$7();
	const equal_1 = require_equal();
	const error = {
		message: ({ params: { i, j } }) => (0, codegen_1.str)`must NOT have duplicate items (items ## ${j} and ${i} are identical)`,
		params: ({ params: { i, j } }) => (0, codegen_1._)`{i: ${i}, j: ${j}}`
	};
	const def = {
		keyword: "uniqueItems",
		type: "array",
		schemaType: "boolean",
		$data: true,
		error,
		code(cxt) {
			const { gen, data, $data, schema, parentSchema, schemaCode, it } = cxt;
			if (!$data && !schema) return;
			const valid = gen.let("valid");
			const itemTypes = parentSchema.items ? (0, dataType_1.getSchemaTypes)(parentSchema.items) : [];
			cxt.block$data(valid, validateUniqueItems, (0, codegen_1._)`${schemaCode} === false`);
			cxt.ok(valid);
			function validateUniqueItems() {
				const i = gen.let("i", (0, codegen_1._)`${data}.length`);
				const j = gen.let("j");
				cxt.setParams({
					i,
					j
				});
				gen.assign(valid, true);
				gen.if((0, codegen_1._)`${i} > 1`, () => (canOptimize() ? loopN : loopN2)(i, j));
			}
			function canOptimize() {
				return itemTypes.length > 0 && !itemTypes.some((t) => t === "object" || t === "array");
			}
			function loopN(i, j) {
				const item = gen.name("item");
				const wrongType = (0, dataType_1.checkDataTypes)(itemTypes, item, it.opts.strictNumbers, dataType_1.DataType.Wrong);
				const indices = gen.const("indices", (0, codegen_1._)`{}`);
				gen.for((0, codegen_1._)`;${i}--;`, () => {
					gen.let(item, (0, codegen_1._)`${data}[${i}]`);
					gen.if(wrongType, (0, codegen_1._)`continue`);
					if (itemTypes.length > 1) gen.if((0, codegen_1._)`typeof ${item} == "string"`, (0, codegen_1._)`${item} += "_"`);
					gen.if((0, codegen_1._)`typeof ${indices}[${item}] == "number"`, () => {
						gen.assign(j, (0, codegen_1._)`${indices}[${item}]`);
						cxt.error();
						gen.assign(valid, false).break();
					}).code((0, codegen_1._)`${indices}[${item}] = ${i}`);
				});
			}
			function loopN2(i, j) {
				const eql = (0, util_1.useFunc)(gen, equal_1.default);
				const outer = gen.name("outer");
				gen.label(outer).for((0, codegen_1._)`;${i}--;`, () => gen.for((0, codegen_1._)`${j} = ${i}; ${j}--;`, () => gen.if((0, codegen_1._)`${eql}(${data}[${i}], ${data}[${j}])`, () => {
					cxt.error();
					gen.assign(valid, false).break(outer);
				})));
			}
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/validation/const.js
var require_const = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const codegen_1 = require_codegen();
	const util_1 = require_util$7();
	const equal_1 = require_equal();
	const error = {
		message: "must be equal to constant",
		params: ({ schemaCode }) => (0, codegen_1._)`{allowedValue: ${schemaCode}}`
	};
	const def = {
		keyword: "const",
		$data: true,
		error,
		code(cxt) {
			const { gen, data, $data, schemaCode, schema } = cxt;
			if ($data || schema && typeof schema == "object") {
				cxt.fail$data((0, codegen_1._)`!${(0, util_1.useFunc)(gen, equal_1.default)}(${data}, ${schemaCode})`);
			} else {
				cxt.fail((0, codegen_1._)`${schema} !== ${data}`);
			}
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/validation/enum.js
var require_enum$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const codegen_1 = require_codegen();
	const util_1 = require_util$7();
	const equal_1 = require_equal();
	const error = {
		message: "must be equal to one of the allowed values",
		params: ({ schemaCode }) => (0, codegen_1._)`{allowedValues: ${schemaCode}}`
	};
	const def = {
		keyword: "enum",
		schemaType: "array",
		$data: true,
		error,
		code(cxt) {
			const { gen, data, $data, schema, schemaCode, it } = cxt;
			if (!$data && schema.length === 0) throw new Error("enum must have non-empty array");
			const useLoop = schema.length >= it.opts.loopEnum;
			let eql;
			const getEql = () => eql !== null && eql !== void 0 ? eql : eql = (0, util_1.useFunc)(gen, equal_1.default);
			let valid;
			if (useLoop || $data) {
				valid = gen.let("valid");
				cxt.block$data(valid, loopEnum);
			} else {
				/* istanbul ignore if */
				if (!Array.isArray(schema)) throw new Error("ajv implementation error");
				const vSchema = gen.const("vSchema", schemaCode);
				valid = (0, codegen_1.or)(...schema.map((_x, i) => equalCode(vSchema, i)));
			}
			cxt.pass(valid);
			function loopEnum() {
				gen.assign(valid, false);
				gen.forOf("v", schemaCode, (v) => gen.if((0, codegen_1._)`${getEql()}(${data}, ${v})`, () => gen.assign(valid, true).break()));
			}
			function equalCode(vSchema, i) {
				const sch = schema[i];
				return typeof sch === "object" && sch !== null ? (0, codegen_1._)`${getEql()}(${data}, ${vSchema}[${i}])` : (0, codegen_1._)`${data} === ${sch}`;
			}
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/validation/index.js
var require_validation = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const limitNumber_1 = require_limitNumber();
	const multipleOf_1 = require_multipleOf();
	const limitLength_1 = require_limitLength();
	const pattern_1 = require_pattern();
	const limitProperties_1 = require_limitProperties();
	const required_1 = require_required();
	const limitItems_1 = require_limitItems();
	const uniqueItems_1 = require_uniqueItems();
	const const_1 = require_const();
	const enum_1 = require_enum$1();
	const validation = [
		limitNumber_1.default,
		multipleOf_1.default,
		limitLength_1.default,
		pattern_1.default,
		limitProperties_1.default,
		required_1.default,
		limitItems_1.default,
		uniqueItems_1.default,
		{
			keyword: "type",
			schemaType: ["string", "array"]
		},
		{
			keyword: "nullable",
			schemaType: "boolean"
		},
		const_1.default,
		enum_1.default
	];
	exports.default = validation;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/applicator/additionalItems.js
var require_additionalItems = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.validateAdditionalItems = void 0;
	const codegen_1 = require_codegen();
	const util_1 = require_util$7();
	const error = {
		message: ({ params: { len } }) => (0, codegen_1.str)`must NOT have more than ${len} items`,
		params: ({ params: { len } }) => (0, codegen_1._)`{limit: ${len}}`
	};
	const def = {
		keyword: "additionalItems",
		type: "array",
		schemaType: ["boolean", "object"],
		before: "uniqueItems",
		error,
		code(cxt) {
			const { parentSchema, it } = cxt;
			const { items } = parentSchema;
			if (!Array.isArray(items)) {
				(0, util_1.checkStrictMode)(it, "\"additionalItems\" is ignored when \"items\" is not an array of schemas");
				return;
			}
			validateAdditionalItems(cxt, items);
		}
	};
	function validateAdditionalItems(cxt, items) {
		const { gen, schema, data, keyword, it } = cxt;
		it.items = true;
		const len = gen.const("len", (0, codegen_1._)`${data}.length`);
		if (schema === false) {
			cxt.setParams({ len: items.length });
			cxt.pass((0, codegen_1._)`${len} <= ${items.length}`);
		} else if (typeof schema == "object" && !(0, util_1.alwaysValidSchema)(it, schema)) {
			const valid = gen.var("valid", (0, codegen_1._)`${len} <= ${items.length}`);
			gen.if((0, codegen_1.not)(valid), () => validateItems(valid));
			cxt.ok(valid);
		}
		function validateItems(valid) {
			gen.forRange("i", items.length, len, (i) => {
				cxt.subschema({
					keyword,
					dataProp: i,
					dataPropType: util_1.Type.Num
				}, valid);
				if (!it.allErrors) gen.if((0, codegen_1.not)(valid), () => gen.break());
			});
		}
	}
	exports.validateAdditionalItems = validateAdditionalItems;
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/applicator/items.js
var require_items = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.validateTuple = void 0;
	const codegen_1 = require_codegen();
	const util_1 = require_util$7();
	const code_1 = require_code();
	const def = {
		keyword: "items",
		type: "array",
		schemaType: [
			"object",
			"array",
			"boolean"
		],
		before: "uniqueItems",
		code(cxt) {
			const { schema, it } = cxt;
			if (Array.isArray(schema)) return validateTuple(cxt, "additionalItems", schema);
			it.items = true;
			if ((0, util_1.alwaysValidSchema)(it, schema)) return;
			cxt.ok((0, code_1.validateArray)(cxt));
		}
	};
	function validateTuple(cxt, extraItems, schArr = cxt.schema) {
		const { gen, parentSchema, data, keyword, it } = cxt;
		checkStrictTuple(parentSchema);
		if (it.opts.unevaluated && schArr.length && it.items !== true) {
			it.items = util_1.mergeEvaluated.items(gen, schArr.length, it.items);
		}
		const valid = gen.name("valid");
		const len = gen.const("len", (0, codegen_1._)`${data}.length`);
		schArr.forEach((sch, i) => {
			if ((0, util_1.alwaysValidSchema)(it, sch)) return;
			gen.if((0, codegen_1._)`${len} > ${i}`, () => cxt.subschema({
				keyword,
				schemaProp: i,
				dataProp: i
			}, valid));
			cxt.ok(valid);
		});
		function checkStrictTuple(sch) {
			const { opts, errSchemaPath } = it;
			const l = schArr.length;
			const fullTuple = l === sch.minItems && (l === sch.maxItems || sch[extraItems] === false);
			if (opts.strictTuples && !fullTuple) {
				const msg = `"${keyword}" is ${l}-tuple, but minItems or maxItems/${extraItems} are not specified or different at path "${errSchemaPath}"`;
				(0, util_1.checkStrictMode)(it, msg, opts.strictTuples);
			}
		}
	}
	exports.validateTuple = validateTuple;
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/applicator/prefixItems.js
var require_prefixItems = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const items_1 = require_items();
	const def = {
		keyword: "prefixItems",
		type: "array",
		schemaType: ["array"],
		before: "uniqueItems",
		code: (cxt) => (0, items_1.validateTuple)(cxt, "items")
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/applicator/items2020.js
var require_items2020 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const codegen_1 = require_codegen();
	const util_1 = require_util$7();
	const code_1 = require_code();
	const additionalItems_1 = require_additionalItems();
	const error = {
		message: ({ params: { len } }) => (0, codegen_1.str)`must NOT have more than ${len} items`,
		params: ({ params: { len } }) => (0, codegen_1._)`{limit: ${len}}`
	};
	const def = {
		keyword: "items",
		type: "array",
		schemaType: ["object", "boolean"],
		before: "uniqueItems",
		error,
		code(cxt) {
			const { schema, parentSchema, it } = cxt;
			const { prefixItems } = parentSchema;
			it.items = true;
			if ((0, util_1.alwaysValidSchema)(it, schema)) return;
			if (prefixItems) (0, additionalItems_1.validateAdditionalItems)(cxt, prefixItems);
			else cxt.ok((0, code_1.validateArray)(cxt));
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/applicator/contains.js
var require_contains = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const codegen_1 = require_codegen();
	const util_1 = require_util$7();
	const error = {
		message: ({ params: { min, max } }) => max === undefined ? (0, codegen_1.str)`must contain at least ${min} valid item(s)` : (0, codegen_1.str)`must contain at least ${min} and no more than ${max} valid item(s)`,
		params: ({ params: { min, max } }) => max === undefined ? (0, codegen_1._)`{minContains: ${min}}` : (0, codegen_1._)`{minContains: ${min}, maxContains: ${max}}`
	};
	const def = {
		keyword: "contains",
		type: "array",
		schemaType: ["object", "boolean"],
		before: "uniqueItems",
		trackErrors: true,
		error,
		code(cxt) {
			const { gen, schema, parentSchema, data, it } = cxt;
			let min;
			let max;
			const { minContains, maxContains } = parentSchema;
			if (it.opts.next) {
				min = minContains === undefined ? 1 : minContains;
				max = maxContains;
			} else {
				min = 1;
			}
			const len = gen.const("len", (0, codegen_1._)`${data}.length`);
			cxt.setParams({
				min,
				max
			});
			if (max === undefined && min === 0) {
				(0, util_1.checkStrictMode)(it, `"minContains" == 0 without "maxContains": "contains" keyword ignored`);
				return;
			}
			if (max !== undefined && min > max) {
				(0, util_1.checkStrictMode)(it, `"minContains" > "maxContains" is always invalid`);
				cxt.fail();
				return;
			}
			if ((0, util_1.alwaysValidSchema)(it, schema)) {
				let cond = (0, codegen_1._)`${len} >= ${min}`;
				if (max !== undefined) cond = (0, codegen_1._)`${cond} && ${len} <= ${max}`;
				cxt.pass(cond);
				return;
			}
			it.items = true;
			const valid = gen.name("valid");
			if (max === undefined && min === 1) {
				validateItems(valid, () => gen.if(valid, () => gen.break()));
			} else if (min === 0) {
				gen.let(valid, true);
				if (max !== undefined) gen.if((0, codegen_1._)`${data}.length > 0`, validateItemsWithCount);
			} else {
				gen.let(valid, false);
				validateItemsWithCount();
			}
			cxt.result(valid, () => cxt.reset());
			function validateItemsWithCount() {
				const schValid = gen.name("_valid");
				const count = gen.let("count", 0);
				validateItems(schValid, () => gen.if(schValid, () => checkLimits(count)));
			}
			function validateItems(_valid, block) {
				gen.forRange("i", 0, len, (i) => {
					cxt.subschema({
						keyword: "contains",
						dataProp: i,
						dataPropType: util_1.Type.Num,
						compositeRule: true
					}, _valid);
					block();
				});
			}
			function checkLimits(count) {
				gen.code((0, codegen_1._)`${count}++`);
				if (max === undefined) {
					gen.if((0, codegen_1._)`${count} >= ${min}`, () => gen.assign(valid, true).break());
				} else {
					gen.if((0, codegen_1._)`${count} > ${max}`, () => gen.assign(valid, false).break());
					if (min === 1) gen.assign(valid, true);
					else gen.if((0, codegen_1._)`${count} >= ${min}`, () => gen.assign(valid, true));
				}
			}
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/applicator/dependencies.js
var require_dependencies = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.validateSchemaDeps = exports.validatePropertyDeps = exports.error = void 0;
	const codegen_1 = require_codegen();
	const util_1 = require_util$7();
	const code_1 = require_code();
	exports.error = {
		message: ({ params: { property, depsCount, deps } }) => {
			const property_ies = depsCount === 1 ? "property" : "properties";
			return (0, codegen_1.str)`must have ${property_ies} ${deps} when property ${property} is present`;
		},
		params: ({ params: { property, depsCount, deps, missingProperty } }) => (0, codegen_1._)`{property: ${property},
    missingProperty: ${missingProperty},
    depsCount: ${depsCount},
    deps: ${deps}}`
	};
	const def = {
		keyword: "dependencies",
		type: "object",
		schemaType: "object",
		error: exports.error,
		code(cxt) {
			const [propDeps, schDeps] = splitDependencies(cxt);
			validatePropertyDeps(cxt, propDeps);
			validateSchemaDeps(cxt, schDeps);
		}
	};
	function splitDependencies({ schema }) {
		const propertyDeps = {};
		const schemaDeps = {};
		for (const key in schema) {
			if (key === "__proto__") continue;
			const deps = Array.isArray(schema[key]) ? propertyDeps : schemaDeps;
			deps[key] = schema[key];
		}
		return [propertyDeps, schemaDeps];
	}
	function validatePropertyDeps(cxt, propertyDeps = cxt.schema) {
		const { gen, data, it } = cxt;
		if (Object.keys(propertyDeps).length === 0) return;
		const missing = gen.let("missing");
		for (const prop in propertyDeps) {
			const deps = propertyDeps[prop];
			if (deps.length === 0) continue;
			const hasProperty = (0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties);
			cxt.setParams({
				property: prop,
				depsCount: deps.length,
				deps: deps.join(", ")
			});
			if (it.allErrors) {
				gen.if(hasProperty, () => {
					for (const depProp of deps) {
						(0, code_1.checkReportMissingProp)(cxt, depProp);
					}
				});
			} else {
				gen.if((0, codegen_1._)`${hasProperty} && (${(0, code_1.checkMissingProp)(cxt, deps, missing)})`);
				(0, code_1.reportMissingProp)(cxt, missing);
				gen.else();
			}
		}
	}
	exports.validatePropertyDeps = validatePropertyDeps;
	function validateSchemaDeps(cxt, schemaDeps = cxt.schema) {
		const { gen, data, keyword, it } = cxt;
		const valid = gen.name("valid");
		for (const prop in schemaDeps) {
			if ((0, util_1.alwaysValidSchema)(it, schemaDeps[prop])) continue;
			gen.if((0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties), () => {
				const schCxt = cxt.subschema({
					keyword,
					schemaProp: prop
				}, valid);
				cxt.mergeValidEvaluated(schCxt, valid);
			}, () => gen.var(valid, true));
			cxt.ok(valid);
		}
	}
	exports.validateSchemaDeps = validateSchemaDeps;
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/applicator/propertyNames.js
var require_propertyNames = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const codegen_1 = require_codegen();
	const util_1 = require_util$7();
	const error = {
		message: "property name must be valid",
		params: ({ params }) => (0, codegen_1._)`{propertyName: ${params.propertyName}}`
	};
	const def = {
		keyword: "propertyNames",
		type: "object",
		schemaType: ["object", "boolean"],
		error,
		code(cxt) {
			const { gen, schema, data, it } = cxt;
			if ((0, util_1.alwaysValidSchema)(it, schema)) return;
			const valid = gen.name("valid");
			gen.forIn("key", data, (key) => {
				cxt.setParams({ propertyName: key });
				cxt.subschema({
					keyword: "propertyNames",
					data: key,
					dataTypes: ["string"],
					propertyName: key,
					compositeRule: true
				}, valid);
				gen.if((0, codegen_1.not)(valid), () => {
					cxt.error(true);
					if (!it.allErrors) gen.break();
				});
			});
			cxt.ok(valid);
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js
var require_additionalProperties = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const code_1 = require_code();
	const codegen_1 = require_codegen();
	const names_1 = require_names();
	const util_1 = require_util$7();
	const error = {
		message: "must NOT have additional properties",
		params: ({ params }) => (0, codegen_1._)`{additionalProperty: ${params.additionalProperty}}`
	};
	const def = {
		keyword: "additionalProperties",
		type: ["object"],
		schemaType: ["boolean", "object"],
		allowUndefined: true,
		trackErrors: true,
		error,
		code(cxt) {
			const { gen, schema, parentSchema, data, errsCount, it } = cxt;
			/* istanbul ignore if */
			if (!errsCount) throw new Error("ajv implementation error");
			const { allErrors, opts } = it;
			it.props = true;
			if (opts.removeAdditional !== "all" && (0, util_1.alwaysValidSchema)(it, schema)) return;
			const props = (0, code_1.allSchemaProperties)(parentSchema.properties);
			const patProps = (0, code_1.allSchemaProperties)(parentSchema.patternProperties);
			checkAdditionalProperties();
			cxt.ok((0, codegen_1._)`${errsCount} === ${names_1.default.errors}`);
			function checkAdditionalProperties() {
				gen.forIn("key", data, (key) => {
					if (!props.length && !patProps.length) additionalPropertyCode(key);
					else gen.if(isAdditional(key), () => additionalPropertyCode(key));
				});
			}
			function isAdditional(key) {
				let definedProp;
				if (props.length > 8) {
					const propsSchema = (0, util_1.schemaRefOrVal)(it, parentSchema.properties, "properties");
					definedProp = (0, code_1.isOwnProperty)(gen, propsSchema, key);
				} else if (props.length) {
					definedProp = (0, codegen_1.or)(...props.map((p) => (0, codegen_1._)`${key} === ${p}`));
				} else {
					definedProp = codegen_1.nil;
				}
				if (patProps.length) {
					definedProp = (0, codegen_1.or)(definedProp, ...patProps.map((p) => (0, codegen_1._)`${(0, code_1.usePattern)(cxt, p)}.test(${key})`));
				}
				return (0, codegen_1.not)(definedProp);
			}
			function deleteAdditional(key) {
				gen.code((0, codegen_1._)`delete ${data}[${key}]`);
			}
			function additionalPropertyCode(key) {
				if (opts.removeAdditional === "all" || opts.removeAdditional && schema === false) {
					deleteAdditional(key);
					return;
				}
				if (schema === false) {
					cxt.setParams({ additionalProperty: key });
					cxt.error();
					if (!allErrors) gen.break();
					return;
				}
				if (typeof schema == "object" && !(0, util_1.alwaysValidSchema)(it, schema)) {
					const valid = gen.name("valid");
					if (opts.removeAdditional === "failing") {
						applyAdditionalSchema(key, valid, false);
						gen.if((0, codegen_1.not)(valid), () => {
							cxt.reset();
							deleteAdditional(key);
						});
					} else {
						applyAdditionalSchema(key, valid);
						if (!allErrors) gen.if((0, codegen_1.not)(valid), () => gen.break());
					}
				}
			}
			function applyAdditionalSchema(key, valid, errors) {
				const subschema = {
					keyword: "additionalProperties",
					dataProp: key,
					dataPropType: util_1.Type.Str
				};
				if (errors === false) {
					Object.assign(subschema, {
						compositeRule: true,
						createErrors: false,
						allErrors: false
					});
				}
				cxt.subschema(subschema, valid);
			}
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/applicator/properties.js
var require_properties$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const validate_1 = require_validate();
	const code_1 = require_code();
	const util_1 = require_util$7();
	const additionalProperties_1 = require_additionalProperties();
	const def = {
		keyword: "properties",
		type: "object",
		schemaType: "object",
		code(cxt) {
			const { gen, schema, parentSchema, data, it } = cxt;
			if (it.opts.removeAdditional === "all" && parentSchema.additionalProperties === undefined) {
				additionalProperties_1.default.code(new validate_1.KeywordCxt(it, additionalProperties_1.default, "additionalProperties"));
			}
			const allProps = (0, code_1.allSchemaProperties)(schema);
			for (const prop of allProps) {
				it.definedProperties.add(prop);
			}
			if (it.opts.unevaluated && allProps.length && it.props !== true) {
				it.props = util_1.mergeEvaluated.props(gen, (0, util_1.toHash)(allProps), it.props);
			}
			const properties = allProps.filter((p) => !(0, util_1.alwaysValidSchema)(it, schema[p]));
			if (properties.length === 0) return;
			const valid = gen.name("valid");
			for (const prop of properties) {
				if (hasDefault(prop)) {
					applyPropertySchema(prop);
				} else {
					gen.if((0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties));
					applyPropertySchema(prop);
					if (!it.allErrors) gen.else().var(valid, true);
					gen.endIf();
				}
				cxt.it.definedProperties.add(prop);
				cxt.ok(valid);
			}
			function hasDefault(prop) {
				return it.opts.useDefaults && !it.compositeRule && schema[prop].default !== undefined;
			}
			function applyPropertySchema(prop) {
				cxt.subschema({
					keyword: "properties",
					schemaProp: prop,
					dataProp: prop
				}, valid);
			}
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/applicator/patternProperties.js
var require_patternProperties = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const code_1 = require_code();
	const codegen_1 = require_codegen();
	const util_1 = require_util$7();
	const util_2 = require_util$7();
	const def = {
		keyword: "patternProperties",
		type: "object",
		schemaType: "object",
		code(cxt) {
			const { gen, schema, data, parentSchema, it } = cxt;
			const { opts } = it;
			const patterns = (0, code_1.allSchemaProperties)(schema);
			const alwaysValidPatterns = patterns.filter((p) => (0, util_1.alwaysValidSchema)(it, schema[p]));
			if (patterns.length === 0 || alwaysValidPatterns.length === patterns.length && (!it.opts.unevaluated || it.props === true)) {
				return;
			}
			const checkProperties = opts.strictSchema && !opts.allowMatchingProperties && parentSchema.properties;
			const valid = gen.name("valid");
			if (it.props !== true && !(it.props instanceof codegen_1.Name)) {
				it.props = (0, util_2.evaluatedPropsToName)(gen, it.props);
			}
			const { props } = it;
			validatePatternProperties();
			function validatePatternProperties() {
				for (const pat of patterns) {
					if (checkProperties) checkMatchingProperties(pat);
					if (it.allErrors) {
						validateProperties(pat);
					} else {
						gen.var(valid, true);
						validateProperties(pat);
						gen.if(valid);
					}
				}
			}
			function checkMatchingProperties(pat) {
				for (const prop in checkProperties) {
					if (new RegExp(pat).test(prop)) {
						(0, util_1.checkStrictMode)(it, `property ${prop} matches pattern ${pat} (use allowMatchingProperties)`);
					}
				}
			}
			function validateProperties(pat) {
				gen.forIn("key", data, (key) => {
					gen.if((0, codegen_1._)`${(0, code_1.usePattern)(cxt, pat)}.test(${key})`, () => {
						const alwaysValid = alwaysValidPatterns.includes(pat);
						if (!alwaysValid) {
							cxt.subschema({
								keyword: "patternProperties",
								schemaProp: pat,
								dataProp: key,
								dataPropType: util_2.Type.Str
							}, valid);
						}
						if (it.opts.unevaluated && props !== true) {
							gen.assign((0, codegen_1._)`${props}[${key}]`, true);
						} else if (!alwaysValid && !it.allErrors) {
							gen.if((0, codegen_1.not)(valid), () => gen.break());
						}
					});
				});
			}
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/applicator/not.js
var require_not = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const util_1 = require_util$7();
	const def = {
		keyword: "not",
		schemaType: ["object", "boolean"],
		trackErrors: true,
		code(cxt) {
			const { gen, schema, it } = cxt;
			if ((0, util_1.alwaysValidSchema)(it, schema)) {
				cxt.fail();
				return;
			}
			const valid = gen.name("valid");
			cxt.subschema({
				keyword: "not",
				compositeRule: true,
				createErrors: false,
				allErrors: false
			}, valid);
			cxt.failResult(valid, () => cxt.reset(), () => cxt.error());
		},
		error: { message: "must NOT be valid" }
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/applicator/anyOf.js
var require_anyOf = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const code_1 = require_code();
	const def = {
		keyword: "anyOf",
		schemaType: "array",
		trackErrors: true,
		code: code_1.validateUnion,
		error: { message: "must match a schema in anyOf" }
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/applicator/oneOf.js
var require_oneOf = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const codegen_1 = require_codegen();
	const util_1 = require_util$7();
	const error = {
		message: "must match exactly one schema in oneOf",
		params: ({ params }) => (0, codegen_1._)`{passingSchemas: ${params.passing}}`
	};
	const def = {
		keyword: "oneOf",
		schemaType: "array",
		trackErrors: true,
		error,
		code(cxt) {
			const { gen, schema, parentSchema, it } = cxt;
			/* istanbul ignore if */
			if (!Array.isArray(schema)) throw new Error("ajv implementation error");
			if (it.opts.discriminator && parentSchema.discriminator) return;
			const schArr = schema;
			const valid = gen.let("valid", false);
			const passing = gen.let("passing", null);
			const schValid = gen.name("_valid");
			cxt.setParams({ passing });
			gen.block(validateOneOf);
			cxt.result(valid, () => cxt.reset(), () => cxt.error(true));
			function validateOneOf() {
				schArr.forEach((sch, i) => {
					let schCxt;
					if ((0, util_1.alwaysValidSchema)(it, sch)) {
						gen.var(schValid, true);
					} else {
						schCxt = cxt.subschema({
							keyword: "oneOf",
							schemaProp: i,
							compositeRule: true
						}, schValid);
					}
					if (i > 0) {
						gen.if((0, codegen_1._)`${schValid} && ${valid}`).assign(valid, false).assign(passing, (0, codegen_1._)`[${passing}, ${i}]`).else();
					}
					gen.if(schValid, () => {
						gen.assign(valid, true);
						gen.assign(passing, i);
						if (schCxt) cxt.mergeEvaluated(schCxt, codegen_1.Name);
					});
				});
			}
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/applicator/allOf.js
var require_allOf = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const util_1 = require_util$7();
	const def = {
		keyword: "allOf",
		schemaType: "array",
		code(cxt) {
			const { gen, schema, it } = cxt;
			/* istanbul ignore if */
			if (!Array.isArray(schema)) throw new Error("ajv implementation error");
			const valid = gen.name("valid");
			schema.forEach((sch, i) => {
				if ((0, util_1.alwaysValidSchema)(it, sch)) return;
				const schCxt = cxt.subschema({
					keyword: "allOf",
					schemaProp: i
				}, valid);
				cxt.ok(valid);
				cxt.mergeEvaluated(schCxt);
			});
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/applicator/if.js
var require_if = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const codegen_1 = require_codegen();
	const util_1 = require_util$7();
	const error = {
		message: ({ params }) => (0, codegen_1.str)`must match "${params.ifClause}" schema`,
		params: ({ params }) => (0, codegen_1._)`{failingKeyword: ${params.ifClause}}`
	};
	const def = {
		keyword: "if",
		schemaType: ["object", "boolean"],
		trackErrors: true,
		error,
		code(cxt) {
			const { gen, parentSchema, it } = cxt;
			if (parentSchema.then === undefined && parentSchema.else === undefined) {
				(0, util_1.checkStrictMode)(it, "\"if\" without \"then\" and \"else\" is ignored");
			}
			const hasThen = hasSchema(it, "then");
			const hasElse = hasSchema(it, "else");
			if (!hasThen && !hasElse) return;
			const valid = gen.let("valid", true);
			const schValid = gen.name("_valid");
			validateIf();
			cxt.reset();
			if (hasThen && hasElse) {
				const ifClause = gen.let("ifClause");
				cxt.setParams({ ifClause });
				gen.if(schValid, validateClause("then", ifClause), validateClause("else", ifClause));
			} else if (hasThen) {
				gen.if(schValid, validateClause("then"));
			} else {
				gen.if((0, codegen_1.not)(schValid), validateClause("else"));
			}
			cxt.pass(valid, () => cxt.error(true));
			function validateIf() {
				const schCxt = cxt.subschema({
					keyword: "if",
					compositeRule: true,
					createErrors: false,
					allErrors: false
				}, schValid);
				cxt.mergeEvaluated(schCxt);
			}
			function validateClause(keyword, ifClause) {
				return () => {
					const schCxt = cxt.subschema({ keyword }, schValid);
					gen.assign(valid, schValid);
					cxt.mergeValidEvaluated(schCxt, valid);
					if (ifClause) gen.assign(ifClause, (0, codegen_1._)`${keyword}`);
					else cxt.setParams({ ifClause: keyword });
				};
			}
		}
	};
	function hasSchema(it, keyword) {
		const schema = it.schema[keyword];
		return schema !== undefined && !(0, util_1.alwaysValidSchema)(it, schema);
	}
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/applicator/thenElse.js
var require_thenElse = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const util_1 = require_util$7();
	const def = {
		keyword: ["then", "else"],
		schemaType: ["object", "boolean"],
		code({ keyword, parentSchema, it }) {
			if (parentSchema.if === undefined) (0, util_1.checkStrictMode)(it, `"${keyword}" without "if" is ignored`);
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/applicator/index.js
var require_applicator = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const additionalItems_1 = require_additionalItems();
	const prefixItems_1 = require_prefixItems();
	const items_1 = require_items();
	const items2020_1 = require_items2020();
	const contains_1 = require_contains();
	const dependencies_1 = require_dependencies();
	const propertyNames_1 = require_propertyNames();
	const additionalProperties_1 = require_additionalProperties();
	const properties_1 = require_properties$1();
	const patternProperties_1 = require_patternProperties();
	const not_1 = require_not();
	const anyOf_1 = require_anyOf();
	const oneOf_1 = require_oneOf();
	const allOf_1 = require_allOf();
	const if_1 = require_if();
	const thenElse_1 = require_thenElse();
	function getApplicator(draft2020 = false) {
		const applicator = [
			not_1.default,
			anyOf_1.default,
			oneOf_1.default,
			allOf_1.default,
			if_1.default,
			thenElse_1.default,
			propertyNames_1.default,
			additionalProperties_1.default,
			dependencies_1.default,
			properties_1.default,
			patternProperties_1.default
		];
		if (draft2020) applicator.push(prefixItems_1.default, items2020_1.default);
		else applicator.push(additionalItems_1.default, items_1.default);
		applicator.push(contains_1.default);
		return applicator;
	}
	exports.default = getApplicator;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/format/format.js
var require_format$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const codegen_1 = require_codegen();
	const error = {
		message: ({ schemaCode }) => (0, codegen_1.str)`must match format "${schemaCode}"`,
		params: ({ schemaCode }) => (0, codegen_1._)`{format: ${schemaCode}}`
	};
	const def = {
		keyword: "format",
		type: ["number", "string"],
		schemaType: "string",
		$data: true,
		error,
		code(cxt, ruleType) {
			const { gen, data, $data, schema, schemaCode, it } = cxt;
			const { opts, errSchemaPath, schemaEnv, self } = it;
			if (!opts.validateFormats) return;
			if ($data) validate$DataFormat();
			else validateFormat();
			function validate$DataFormat() {
				const fmts = gen.scopeValue("formats", {
					ref: self.formats,
					code: opts.code.formats
				});
				const fDef = gen.const("fDef", (0, codegen_1._)`${fmts}[${schemaCode}]`);
				const fType = gen.let("fType");
				const format = gen.let("format");
				gen.if((0, codegen_1._)`typeof ${fDef} == "object" && !(${fDef} instanceof RegExp)`, () => gen.assign(fType, (0, codegen_1._)`${fDef}.type || "string"`).assign(format, (0, codegen_1._)`${fDef}.validate`), () => gen.assign(fType, (0, codegen_1._)`"string"`).assign(format, fDef));
				cxt.fail$data((0, codegen_1.or)(unknownFmt(), invalidFmt()));
				function unknownFmt() {
					if (opts.strictSchema === false) return codegen_1.nil;
					return (0, codegen_1._)`${schemaCode} && !${format}`;
				}
				function invalidFmt() {
					const callFormat = schemaEnv.$async ? (0, codegen_1._)`(${fDef}.async ? await ${format}(${data}) : ${format}(${data}))` : (0, codegen_1._)`${format}(${data})`;
					const validData = (0, codegen_1._)`(typeof ${format} == "function" ? ${callFormat} : ${format}.test(${data}))`;
					return (0, codegen_1._)`${format} && ${format} !== true && ${fType} === ${ruleType} && !${validData}`;
				}
			}
			function validateFormat() {
				const formatDef = self.formats[schema];
				if (!formatDef) {
					unknownFormat();
					return;
				}
				if (formatDef === true) return;
				const [fmtType, format, fmtRef] = getFormat(formatDef);
				if (fmtType === ruleType) cxt.pass(validCondition());
				function unknownFormat() {
					if (opts.strictSchema === false) {
						self.logger.warn(unknownMsg());
						return;
					}
					throw new Error(unknownMsg());
					function unknownMsg() {
						return `unknown format "${schema}" ignored in schema at path "${errSchemaPath}"`;
					}
				}
				function getFormat(fmtDef) {
					const code = fmtDef instanceof RegExp ? (0, codegen_1.regexpCode)(fmtDef) : opts.code.formats ? (0, codegen_1._)`${opts.code.formats}${(0, codegen_1.getProperty)(schema)}` : undefined;
					const fmt = gen.scopeValue("formats", {
						key: schema,
						ref: fmtDef,
						code
					});
					if (typeof fmtDef == "object" && !(fmtDef instanceof RegExp)) {
						return [
							fmtDef.type || "string",
							fmtDef.validate,
							(0, codegen_1._)`${fmt}.validate`
						];
					}
					return [
						"string",
						fmtDef,
						fmt
					];
				}
				function validCondition() {
					if (typeof formatDef == "object" && !(formatDef instanceof RegExp) && formatDef.async) {
						if (!schemaEnv.$async) throw new Error("async format in sync schema");
						return (0, codegen_1._)`await ${fmtRef}(${data})`;
					}
					return typeof format == "function" ? (0, codegen_1._)`${fmtRef}(${data})` : (0, codegen_1._)`${fmtRef}.test(${data})`;
				}
			}
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/format/index.js
var require_format = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const format_1 = require_format$1();
	const format = [format_1.default];
	exports.default = format;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/metadata.js
var require_metadata$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.contentVocabulary = exports.metadataVocabulary = void 0;
	exports.metadataVocabulary = [
		"title",
		"description",
		"default",
		"deprecated",
		"readOnly",
		"writeOnly",
		"examples"
	];
	exports.contentVocabulary = [
		"contentMediaType",
		"contentEncoding",
		"contentSchema"
	];
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/draft7.js
var require_draft7 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const core_1 = require_core$1();
	const validation_1 = require_validation();
	const applicator_1 = require_applicator();
	const format_1 = require_format();
	const metadata_1 = require_metadata$1();
	const draft7Vocabularies = [
		core_1.default,
		validation_1.default,
		(0, applicator_1.default)(),
		format_1.default,
		metadata_1.metadataVocabulary,
		metadata_1.contentVocabulary
	];
	exports.default = draft7Vocabularies;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/discriminator/types.js
var require_types$4 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.DiscrError = void 0;
	var DiscrError;
	(function(DiscrError) {
		DiscrError["Tag"] = "tag";
		DiscrError["Mapping"] = "mapping";
	})(DiscrError || (exports.DiscrError = DiscrError = {}));
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/discriminator/index.js
var require_discriminator$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const codegen_1 = require_codegen();
	const types_1 = require_types$4();
	const compile_1 = require_compile();
	const ref_error_1 = require_ref_error();
	const util_1 = require_util$7();
	const error = {
		message: ({ params: { discrError, tagName } }) => discrError === types_1.DiscrError.Tag ? `tag "${tagName}" must be string` : `value of tag "${tagName}" must be in oneOf`,
		params: ({ params: { discrError, tag, tagName } }) => (0, codegen_1._)`{error: ${discrError}, tag: ${tagName}, tagValue: ${tag}}`
	};
	const def = {
		keyword: "discriminator",
		type: "object",
		schemaType: "object",
		error,
		code(cxt) {
			const { gen, data, schema, parentSchema, it } = cxt;
			const { oneOf } = parentSchema;
			if (!it.opts.discriminator) {
				throw new Error("discriminator: requires discriminator option");
			}
			const tagName = schema.propertyName;
			if (typeof tagName != "string") throw new Error("discriminator: requires propertyName");
			if (schema.mapping) throw new Error("discriminator: mapping is not supported");
			if (!oneOf) throw new Error("discriminator: requires oneOf keyword");
			const valid = gen.let("valid", false);
			const tag = gen.const("tag", (0, codegen_1._)`${data}${(0, codegen_1.getProperty)(tagName)}`);
			gen.if((0, codegen_1._)`typeof ${tag} == "string"`, () => validateMapping(), () => cxt.error(false, {
				discrError: types_1.DiscrError.Tag,
				tag,
				tagName
			}));
			cxt.ok(valid);
			function validateMapping() {
				const mapping = getMapping();
				gen.if(false);
				for (const tagValue in mapping) {
					gen.elseIf((0, codegen_1._)`${tag} === ${tagValue}`);
					gen.assign(valid, applyTagSchema(mapping[tagValue]));
				}
				gen.else();
				cxt.error(false, {
					discrError: types_1.DiscrError.Mapping,
					tag,
					tagName
				});
				gen.endIf();
			}
			function applyTagSchema(schemaProp) {
				const _valid = gen.name("valid");
				const schCxt = cxt.subschema({
					keyword: "oneOf",
					schemaProp
				}, _valid);
				cxt.mergeEvaluated(schCxt, codegen_1.Name);
				return _valid;
			}
			function getMapping() {
				var _a;
				const oneOfMapping = {};
				const topRequired = hasRequired(parentSchema);
				let tagRequired = true;
				for (let i = 0; i < oneOf.length; i++) {
					let sch = oneOf[i];
					if ((sch === null || sch === void 0 ? void 0 : sch.$ref) && !(0, util_1.schemaHasRulesButRef)(sch, it.self.RULES)) {
						const ref = sch.$ref;
						sch = compile_1.resolveRef.call(it.self, it.schemaEnv.root, it.baseId, ref);
						if (sch instanceof compile_1.SchemaEnv) sch = sch.schema;
						if (sch === undefined) throw new ref_error_1.default(it.opts.uriResolver, it.baseId, ref);
					}
					const propSch = (_a = sch === null || sch === void 0 ? void 0 : sch.properties) === null || _a === void 0 ? void 0 : _a[tagName];
					if (typeof propSch != "object") {
						throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${tagName}"`);
					}
					tagRequired = tagRequired && (topRequired || hasRequired(sch));
					addMappings(propSch, i);
				}
				if (!tagRequired) throw new Error(`discriminator: "${tagName}" must be required`);
				return oneOfMapping;
				function hasRequired({ required }) {
					return Array.isArray(required) && required.includes(tagName);
				}
				function addMappings(sch, i) {
					if (sch.const) {
						addMapping(sch.const, i);
					} else if (sch.enum) {
						for (const tagValue of sch.enum) {
							addMapping(tagValue, i);
						}
					} else {
						throw new Error(`discriminator: "properties/${tagName}" must have "const" or "enum"`);
					}
				}
				function addMapping(tagValue, i) {
					if (typeof tagValue != "string" || tagValue in oneOfMapping) {
						throw new Error(`discriminator: "${tagName}" values must be unique strings`);
					}
					oneOfMapping[tagValue] = i;
				}
			}
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/refs/json-schema-draft-07.json
var require_json_schema_draft_07 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = {
		"$schema": "http://json-schema.org/draft-07/schema#",
		"$id": "http://json-schema.org/draft-07/schema#",
		"title": "Core schema meta-schema",
		"definitions": {
			"schemaArray": {
				"type": "array",
				"minItems": 1,
				"items": { "$ref": "#" }
			},
			"nonNegativeInteger": {
				"type": "integer",
				"minimum": 0
			},
			"nonNegativeIntegerDefault0": { "allOf": [{ "$ref": "#/definitions/nonNegativeInteger" }, { "default": 0 }] },
			"simpleTypes": { "enum": [
				"array",
				"boolean",
				"integer",
				"null",
				"number",
				"object",
				"string"
			] },
			"stringArray": {
				"type": "array",
				"items": { "type": "string" },
				"uniqueItems": true,
				"default": []
			}
		},
		"type": ["object", "boolean"],
		"properties": {
			"$id": {
				"type": "string",
				"format": "uri-reference"
			},
			"$schema": {
				"type": "string",
				"format": "uri"
			},
			"$ref": {
				"type": "string",
				"format": "uri-reference"
			},
			"$comment": { "type": "string" },
			"title": { "type": "string" },
			"description": { "type": "string" },
			"default": true,
			"readOnly": {
				"type": "boolean",
				"default": false
			},
			"examples": {
				"type": "array",
				"items": true
			},
			"multipleOf": {
				"type": "number",
				"exclusiveMinimum": 0
			},
			"maximum": { "type": "number" },
			"exclusiveMaximum": { "type": "number" },
			"minimum": { "type": "number" },
			"exclusiveMinimum": { "type": "number" },
			"maxLength": { "$ref": "#/definitions/nonNegativeInteger" },
			"minLength": { "$ref": "#/definitions/nonNegativeIntegerDefault0" },
			"pattern": {
				"type": "string",
				"format": "regex"
			},
			"additionalItems": { "$ref": "#" },
			"items": {
				"anyOf": [{ "$ref": "#" }, { "$ref": "#/definitions/schemaArray" }],
				"default": true
			},
			"maxItems": { "$ref": "#/definitions/nonNegativeInteger" },
			"minItems": { "$ref": "#/definitions/nonNegativeIntegerDefault0" },
			"uniqueItems": {
				"type": "boolean",
				"default": false
			},
			"contains": { "$ref": "#" },
			"maxProperties": { "$ref": "#/definitions/nonNegativeInteger" },
			"minProperties": { "$ref": "#/definitions/nonNegativeIntegerDefault0" },
			"required": { "$ref": "#/definitions/stringArray" },
			"additionalProperties": { "$ref": "#" },
			"definitions": {
				"type": "object",
				"additionalProperties": { "$ref": "#" },
				"default": {}
			},
			"properties": {
				"type": "object",
				"additionalProperties": { "$ref": "#" },
				"default": {}
			},
			"patternProperties": {
				"type": "object",
				"additionalProperties": { "$ref": "#" },
				"propertyNames": { "format": "regex" },
				"default": {}
			},
			"dependencies": {
				"type": "object",
				"additionalProperties": { "anyOf": [{ "$ref": "#" }, { "$ref": "#/definitions/stringArray" }] }
			},
			"propertyNames": { "$ref": "#" },
			"const": true,
			"enum": {
				"type": "array",
				"items": true,
				"minItems": 1,
				"uniqueItems": true
			},
			"type": { "anyOf": [{ "$ref": "#/definitions/simpleTypes" }, {
				"type": "array",
				"items": { "$ref": "#/definitions/simpleTypes" },
				"minItems": 1,
				"uniqueItems": true
			}] },
			"format": { "type": "string" },
			"contentMediaType": { "type": "string" },
			"contentEncoding": { "type": "string" },
			"if": { "$ref": "#" },
			"then": { "$ref": "#" },
			"else": { "$ref": "#" },
			"allOf": { "$ref": "#/definitions/schemaArray" },
			"anyOf": { "$ref": "#/definitions/schemaArray" },
			"oneOf": { "$ref": "#/definitions/schemaArray" },
			"not": { "$ref": "#" }
		},
		"default": true
	};
}));

//#endregion
//#region ../node_modules/ajv/dist/ajv.js
var require_ajv = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.MissingRefError = exports.ValidationError = exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = exports.Ajv = void 0;
	const core_1 = require_core$2();
	const draft7_1 = require_draft7();
	const discriminator_1 = require_discriminator$1();
	const draft7MetaSchema = require_json_schema_draft_07();
	const META_SUPPORT_DATA = ["/properties"];
	const META_SCHEMA_ID = "http://json-schema.org/draft-07/schema";
	var Ajv = class extends core_1.default {
		_addVocabularies() {
			super._addVocabularies();
			draft7_1.default.forEach((v) => this.addVocabulary(v));
			if (this.opts.discriminator) this.addKeyword(discriminator_1.default);
		}
		_addDefaultMetaSchema() {
			super._addDefaultMetaSchema();
			if (!this.opts.meta) return;
			const metaSchema = this.opts.$data ? this.$dataMetaSchema(draft7MetaSchema, META_SUPPORT_DATA) : draft7MetaSchema;
			this.addMetaSchema(metaSchema, META_SCHEMA_ID, false);
			this.refs["http://json-schema.org/schema"] = META_SCHEMA_ID;
		}
		defaultMeta() {
			return this.opts.defaultMeta = super.defaultMeta() || (this.getSchema(META_SCHEMA_ID) ? META_SCHEMA_ID : undefined);
		}
	};
	exports.Ajv = Ajv;
	module.exports = exports = Ajv;
	module.exports.Ajv = Ajv;
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.default = Ajv;
	var validate_1 = require_validate();
	Object.defineProperty(exports, "KeywordCxt", {
		enumerable: true,
		get: function() {
			return validate_1.KeywordCxt;
		}
	});
	var codegen_1 = require_codegen();
	Object.defineProperty(exports, "_", {
		enumerable: true,
		get: function() {
			return codegen_1._;
		}
	});
	Object.defineProperty(exports, "str", {
		enumerable: true,
		get: function() {
			return codegen_1.str;
		}
	});
	Object.defineProperty(exports, "stringify", {
		enumerable: true,
		get: function() {
			return codegen_1.stringify;
		}
	});
	Object.defineProperty(exports, "nil", {
		enumerable: true,
		get: function() {
			return codegen_1.nil;
		}
	});
	Object.defineProperty(exports, "Name", {
		enumerable: true,
		get: function() {
			return codegen_1.Name;
		}
	});
	Object.defineProperty(exports, "CodeGen", {
		enumerable: true,
		get: function() {
			return codegen_1.CodeGen;
		}
	});
	var validation_error_1 = require_validation_error();
	Object.defineProperty(exports, "ValidationError", {
		enumerable: true,
		get: function() {
			return validation_error_1.default;
		}
	});
	var ref_error_1 = require_ref_error();
	Object.defineProperty(exports, "MissingRefError", {
		enumerable: true,
		get: function() {
			return ref_error_1.default;
		}
	});
}));

//#endregion
//#region ../node_modules/fast-uri/lib/scopedChars.js
var require_scopedChars = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const HEX = {
		0: 0,
		1: 1,
		2: 2,
		3: 3,
		4: 4,
		5: 5,
		6: 6,
		7: 7,
		8: 8,
		9: 9,
		a: 10,
		A: 10,
		b: 11,
		B: 11,
		c: 12,
		C: 12,
		d: 13,
		D: 13,
		e: 14,
		E: 14,
		f: 15,
		F: 15
	};
	module.exports = { HEX };
}));

//#endregion
//#region ../node_modules/fast-uri/lib/utils.js
var require_utils$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { HEX } = require_scopedChars();
	function normalizeIPv4(host) {
		if (findToken(host, ".") < 3) {
			return {
				host,
				isIPV4: false
			};
		}
		const matches = host.match(/^(\b[01]?\d{1,2}|\b2[0-4]\d|\b25[0-5])(\.([01]?\d{1,2}|2[0-4]\d|25[0-5])){3}$/u) || [];
		const [address] = matches;
		if (address) {
			return {
				host: stripLeadingZeros(address, "."),
				isIPV4: true
			};
		} else {
			return {
				host,
				isIPV4: false
			};
		}
	}
	function stringToHexStripped(input) {
		let acc = "";
		let strip = true;
		for (const c of input) {
			if (c !== "0" && strip === true) strip = false;
			if (HEX[c] === undefined) return undefined;
			if (!strip) acc += c;
		}
		return acc;
	}
	function getIPV6(input) {
		let tokenCount = 0;
		const output = {
			error: false,
			address: "",
			zone: ""
		};
		const address = [];
		const buffer = [];
		let isZone = false;
		let endipv6Encountered = false;
		let endIpv6 = false;
		function consume() {
			if (buffer.length) {
				if (isZone === false) {
					const hex = stringToHexStripped(buffer.join(""));
					if (hex !== undefined) {
						address.push(hex);
					} else {
						output.error = true;
						return false;
					}
				}
				buffer.length = 0;
			}
			return true;
		}
		for (let i = 0; i < input.length; i++) {
			const cursor = input[i];
			if (cursor === "[" || cursor === "]") {
				continue;
			}
			if (cursor === ":") {
				if (endipv6Encountered === true) {
					endIpv6 = true;
				}
				if (!consume()) {
					break;
				}
				tokenCount++;
				address.push(":");
				if (tokenCount > 7) {
					output.error = true;
					break;
				}
				if (i - 1 >= 0 && input[i - 1] === ":") {
					endipv6Encountered = true;
				}
				continue;
			} else if (cursor === "%") {
				if (!consume()) {
					break;
				}
				isZone = true;
			} else {
				buffer.push(cursor);
				continue;
			}
		}
		if (buffer.length) {
			if (isZone) {
				output.zone = buffer.join("");
			} else if (endIpv6) {
				address.push(buffer.join(""));
			} else {
				address.push(stringToHexStripped(buffer.join("")));
			}
		}
		output.address = address.join("");
		return output;
	}
	function normalizeIPv6(host, opts = {}) {
		if (findToken(host, ":") < 2) {
			return {
				host,
				isIPV6: false
			};
		}
		const ipv6 = getIPV6(host);
		if (!ipv6.error) {
			let newHost = ipv6.address;
			let escapedHost = ipv6.address;
			if (ipv6.zone) {
				newHost += "%" + ipv6.zone;
				escapedHost += "%25" + ipv6.zone;
			}
			return {
				host: newHost,
				escapedHost,
				isIPV6: true
			};
		} else {
			return {
				host,
				isIPV6: false
			};
		}
	}
	function stripLeadingZeros(str, token) {
		let out = "";
		let skip = true;
		const l = str.length;
		for (let i = 0; i < l; i++) {
			const c = str[i];
			if (c === "0" && skip) {
				if (i + 1 <= l && str[i + 1] === token || i + 1 === l) {
					out += c;
					skip = false;
				}
			} else {
				if (c === token) {
					skip = true;
				} else {
					skip = false;
				}
				out += c;
			}
		}
		return out;
	}
	function findToken(str, token) {
		let ind = 0;
		for (let i = 0; i < str.length; i++) {
			if (str[i] === token) ind++;
		}
		return ind;
	}
	const RDS1 = /^\.\.?\//u;
	const RDS2 = /^\/\.(?:\/|$)/u;
	const RDS3 = /^\/\.\.(?:\/|$)/u;
	const RDS5 = /^\/?(?:.|\n)*?(?=\/|$)/u;
	function removeDotSegments(input) {
		const output = [];
		while (input.length) {
			if (input.match(RDS1)) {
				input = input.replace(RDS1, "");
			} else if (input.match(RDS2)) {
				input = input.replace(RDS2, "/");
			} else if (input.match(RDS3)) {
				input = input.replace(RDS3, "/");
				output.pop();
			} else if (input === "." || input === "..") {
				input = "";
			} else {
				const im = input.match(RDS5);
				if (im) {
					const s = im[0];
					input = input.slice(s.length);
					output.push(s);
				} else {
					throw new Error("Unexpected dot segment condition");
				}
			}
		}
		return output.join("");
	}
	function normalizeComponentEncoding(components, esc) {
		const func = esc !== true ? escape : unescape;
		if (components.scheme !== undefined) {
			components.scheme = func(components.scheme);
		}
		if (components.userinfo !== undefined) {
			components.userinfo = func(components.userinfo);
		}
		if (components.host !== undefined) {
			components.host = func(components.host);
		}
		if (components.path !== undefined) {
			components.path = func(components.path);
		}
		if (components.query !== undefined) {
			components.query = func(components.query);
		}
		if (components.fragment !== undefined) {
			components.fragment = func(components.fragment);
		}
		return components;
	}
	function recomposeAuthority(components, options) {
		const uriTokens = [];
		if (components.userinfo !== undefined) {
			uriTokens.push(components.userinfo);
			uriTokens.push("@");
		}
		if (components.host !== undefined) {
			let host = unescape(components.host);
			const ipV4res = normalizeIPv4(host);
			if (ipV4res.isIPV4) {
				host = ipV4res.host;
			} else {
				const ipV6res = normalizeIPv6(ipV4res.host, { isIPV4: false });
				if (ipV6res.isIPV6 === true) {
					host = `[${ipV6res.escapedHost}]`;
				} else {
					host = components.host;
				}
			}
			uriTokens.push(host);
		}
		if (typeof components.port === "number" || typeof components.port === "string") {
			uriTokens.push(":");
			uriTokens.push(String(components.port));
		}
		return uriTokens.length ? uriTokens.join("") : undefined;
	}
	;
	module.exports = {
		recomposeAuthority,
		normalizeComponentEncoding,
		removeDotSegments,
		normalizeIPv4,
		normalizeIPv6,
		stringToHexStripped
	};
}));

//#endregion
//#region ../node_modules/fast-uri/lib/schemes.js
var require_schemes = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const UUID_REG = /^[\da-f]{8}\b-[\da-f]{4}\b-[\da-f]{4}\b-[\da-f]{4}\b-[\da-f]{12}$/iu;
	const URN_REG = /([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;
	function isSecure(wsComponents) {
		return typeof wsComponents.secure === "boolean" ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === "wss";
	}
	function httpParse(components) {
		if (!components.host) {
			components.error = components.error || "HTTP URIs must have a host.";
		}
		return components;
	}
	function httpSerialize(components) {
		const secure = String(components.scheme).toLowerCase() === "https";
		if (components.port === (secure ? 443 : 80) || components.port === "") {
			components.port = undefined;
		}
		if (!components.path) {
			components.path = "/";
		}
		return components;
	}
	function wsParse(wsComponents) {
		wsComponents.secure = isSecure(wsComponents);
		wsComponents.resourceName = (wsComponents.path || "/") + (wsComponents.query ? "?" + wsComponents.query : "");
		wsComponents.path = undefined;
		wsComponents.query = undefined;
		return wsComponents;
	}
	function wsSerialize(wsComponents) {
		if (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === "") {
			wsComponents.port = undefined;
		}
		if (typeof wsComponents.secure === "boolean") {
			wsComponents.scheme = wsComponents.secure ? "wss" : "ws";
			wsComponents.secure = undefined;
		}
		if (wsComponents.resourceName) {
			const [path, query] = wsComponents.resourceName.split("?");
			wsComponents.path = path && path !== "/" ? path : undefined;
			wsComponents.query = query;
			wsComponents.resourceName = undefined;
		}
		wsComponents.fragment = undefined;
		return wsComponents;
	}
	function urnParse(urnComponents, options) {
		if (!urnComponents.path) {
			urnComponents.error = "URN can not be parsed";
			return urnComponents;
		}
		const matches = urnComponents.path.match(URN_REG);
		if (matches) {
			const scheme = options.scheme || urnComponents.scheme || "urn";
			urnComponents.nid = matches[1].toLowerCase();
			urnComponents.nss = matches[2];
			const urnScheme = `${scheme}:${options.nid || urnComponents.nid}`;
			const schemeHandler = SCHEMES[urnScheme];
			urnComponents.path = undefined;
			if (schemeHandler) {
				urnComponents = schemeHandler.parse(urnComponents, options);
			}
		} else {
			urnComponents.error = urnComponents.error || "URN can not be parsed.";
		}
		return urnComponents;
	}
	function urnSerialize(urnComponents, options) {
		const scheme = options.scheme || urnComponents.scheme || "urn";
		const nid = urnComponents.nid.toLowerCase();
		const urnScheme = `${scheme}:${options.nid || nid}`;
		const schemeHandler = SCHEMES[urnScheme];
		if (schemeHandler) {
			urnComponents = schemeHandler.serialize(urnComponents, options);
		}
		const uriComponents = urnComponents;
		const nss = urnComponents.nss;
		uriComponents.path = `${nid || options.nid}:${nss}`;
		options.skipEscape = true;
		return uriComponents;
	}
	function urnuuidParse(urnComponents, options) {
		const uuidComponents = urnComponents;
		uuidComponents.uuid = uuidComponents.nss;
		uuidComponents.nss = undefined;
		if (!options.tolerant && (!uuidComponents.uuid || !UUID_REG.test(uuidComponents.uuid))) {
			uuidComponents.error = uuidComponents.error || "UUID is not valid.";
		}
		return uuidComponents;
	}
	function urnuuidSerialize(uuidComponents) {
		const urnComponents = uuidComponents;
		urnComponents.nss = (uuidComponents.uuid || "").toLowerCase();
		return urnComponents;
	}
	const http = {
		scheme: "http",
		domainHost: true,
		parse: httpParse,
		serialize: httpSerialize
	};
	const https = {
		scheme: "https",
		domainHost: http.domainHost,
		parse: httpParse,
		serialize: httpSerialize
	};
	const ws = {
		scheme: "ws",
		domainHost: true,
		parse: wsParse,
		serialize: wsSerialize
	};
	const wss = {
		scheme: "wss",
		domainHost: ws.domainHost,
		parse: ws.parse,
		serialize: ws.serialize
	};
	const urn = {
		scheme: "urn",
		parse: urnParse,
		serialize: urnSerialize,
		skipNormalize: true
	};
	const urnuuid = {
		scheme: "urn:uuid",
		parse: urnuuidParse,
		serialize: urnuuidSerialize,
		skipNormalize: true
	};
	const SCHEMES = {
		http,
		https,
		ws,
		wss,
		urn,
		"urn:uuid": urnuuid
	};
	module.exports = SCHEMES;
}));

//#endregion
//#region ../node_modules/fast-uri/index.js
var require_fast_uri = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { normalizeIPv6, normalizeIPv4, removeDotSegments, recomposeAuthority, normalizeComponentEncoding } = require_utils$3();
	const SCHEMES = require_schemes();
	function normalize(uri, options) {
		if (typeof uri === "string") {
			uri = serialize(parse(uri, options), options);
		} else if (typeof uri === "object") {
			uri = parse(serialize(uri, options), options);
		}
		return uri;
	}
	function resolve(baseURI, relativeURI, options) {
		const schemelessOptions = Object.assign({ scheme: "null" }, options);
		const resolved = resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true);
		return serialize(resolved, {
			...schemelessOptions,
			skipEscape: true
		});
	}
	function resolveComponents(base, relative, options, skipNormalization) {
		const target = {};
		if (!skipNormalization) {
			base = parse(serialize(base, options), options);
			relative = parse(serialize(relative, options), options);
		}
		options = options || {};
		if (!options.tolerant && relative.scheme) {
			target.scheme = relative.scheme;
			target.userinfo = relative.userinfo;
			target.host = relative.host;
			target.port = relative.port;
			target.path = removeDotSegments(relative.path || "");
			target.query = relative.query;
		} else {
			if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) {
				target.userinfo = relative.userinfo;
				target.host = relative.host;
				target.port = relative.port;
				target.path = removeDotSegments(relative.path || "");
				target.query = relative.query;
			} else {
				if (!relative.path) {
					target.path = base.path;
					if (relative.query !== undefined) {
						target.query = relative.query;
					} else {
						target.query = base.query;
					}
				} else {
					if (relative.path.charAt(0) === "/") {
						target.path = removeDotSegments(relative.path);
					} else {
						if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) {
							target.path = "/" + relative.path;
						} else if (!base.path) {
							target.path = relative.path;
						} else {
							target.path = base.path.slice(0, base.path.lastIndexOf("/") + 1) + relative.path;
						}
						target.path = removeDotSegments(target.path);
					}
					target.query = relative.query;
				}
				target.userinfo = base.userinfo;
				target.host = base.host;
				target.port = base.port;
			}
			target.scheme = base.scheme;
		}
		target.fragment = relative.fragment;
		return target;
	}
	function equal(uriA, uriB, options) {
		if (typeof uriA === "string") {
			uriA = unescape(uriA);
			uriA = serialize(normalizeComponentEncoding(parse(uriA, options), true), {
				...options,
				skipEscape: true
			});
		} else if (typeof uriA === "object") {
			uriA = serialize(normalizeComponentEncoding(uriA, true), {
				...options,
				skipEscape: true
			});
		}
		if (typeof uriB === "string") {
			uriB = unescape(uriB);
			uriB = serialize(normalizeComponentEncoding(parse(uriB, options), true), {
				...options,
				skipEscape: true
			});
		} else if (typeof uriB === "object") {
			uriB = serialize(normalizeComponentEncoding(uriB, true), {
				...options,
				skipEscape: true
			});
		}
		return uriA.toLowerCase() === uriB.toLowerCase();
	}
	function serialize(cmpts, opts) {
		const components = {
			host: cmpts.host,
			scheme: cmpts.scheme,
			userinfo: cmpts.userinfo,
			port: cmpts.port,
			path: cmpts.path,
			query: cmpts.query,
			nid: cmpts.nid,
			nss: cmpts.nss,
			uuid: cmpts.uuid,
			fragment: cmpts.fragment,
			reference: cmpts.reference,
			resourceName: cmpts.resourceName,
			secure: cmpts.secure,
			error: ""
		};
		const options = Object.assign({}, opts);
		const uriTokens = [];
		const schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()];
		if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options);
		if (components.path !== undefined) {
			if (!options.skipEscape) {
				components.path = escape(components.path);
				if (components.scheme !== undefined) {
					components.path = components.path.split("%3A").join(":");
				}
			} else {
				components.path = unescape(components.path);
			}
		}
		if (options.reference !== "suffix" && components.scheme) {
			uriTokens.push(components.scheme);
			uriTokens.push(":");
		}
		const authority = recomposeAuthority(components, options);
		if (authority !== undefined) {
			if (options.reference !== "suffix") {
				uriTokens.push("//");
			}
			uriTokens.push(authority);
			if (components.path && components.path.charAt(0) !== "/") {
				uriTokens.push("/");
			}
		}
		if (components.path !== undefined) {
			let s = components.path;
			if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) {
				s = removeDotSegments(s);
			}
			if (authority === undefined) {
				s = s.replace(/^\/\//u, "/%2F");
			}
			uriTokens.push(s);
		}
		if (components.query !== undefined) {
			uriTokens.push("?");
			uriTokens.push(components.query);
		}
		if (components.fragment !== undefined) {
			uriTokens.push("#");
			uriTokens.push(components.fragment);
		}
		return uriTokens.join("");
	}
	const hexLookUp = Array.from({ length: 127 }, (v, k) => /[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(k)));
	function nonSimpleDomain(value) {
		let code = 0;
		for (let i = 0, len = value.length; i < len; ++i) {
			code = value.charCodeAt(i);
			if (code > 126 || hexLookUp[code]) {
				return true;
			}
		}
		return false;
	}
	const URI_PARSE = /^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;
	function parse(uri, opts) {
		const options = Object.assign({}, opts);
		const parsed = {
			scheme: undefined,
			userinfo: undefined,
			host: "",
			port: undefined,
			path: "",
			query: undefined,
			fragment: undefined
		};
		const gotEncoding = uri.indexOf("%") !== -1;
		if (options.reference === "suffix") uri = (options.scheme ? options.scheme + ":" : "") + "//" + uri;
		const matches = uri.match(URI_PARSE);
		if (matches) {
			parsed.scheme = matches[1];
			parsed.userinfo = matches[3];
			parsed.host = matches[4];
			parsed.port = parseInt(matches[5], 10);
			parsed.path = matches[6] || "";
			parsed.query = matches[7];
			parsed.fragment = matches[8];
			if (isNaN(parsed.port)) {
				parsed.port = matches[5];
			}
			if (parsed.host) {
				const ipv4result = normalizeIPv4(parsed.host);
				if (ipv4result.isIPV4 === false) {
					parsed.host = normalizeIPv6(ipv4result.host, { isIPV4: false }).host.toLowerCase();
				} else {
					parsed.host = ipv4result.host;
				}
			}
			if (parsed.scheme === undefined && parsed.userinfo === undefined && parsed.host === undefined && parsed.port === undefined && !parsed.path && parsed.query === undefined) {
				parsed.reference = "same-document";
			} else if (parsed.scheme === undefined) {
				parsed.reference = "relative";
			} else if (parsed.fragment === undefined) {
				parsed.reference = "absolute";
			} else {
				parsed.reference = "uri";
			}
			if (options.reference && options.reference !== "suffix" && options.reference !== parsed.reference) {
				parsed.error = parsed.error || "URI is not a " + options.reference + " reference.";
			}
			const schemeHandler = SCHEMES[(options.scheme || parsed.scheme || "").toLowerCase()];
			if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {
				if (parsed.host && (options.domainHost || schemeHandler && schemeHandler.domainHost) && nonSimpleDomain(parsed.host)) {
					try {
						parsed.host = URL.domainToASCII(parsed.host.toLowerCase());
					} catch (e) {
						parsed.error = parsed.error || "Host's domain name can not be converted to ASCII: " + e;
					}
				}
			}
			if (!schemeHandler || schemeHandler && !schemeHandler.skipNormalize) {
				if (gotEncoding && parsed.scheme !== undefined) {
					parsed.scheme = unescape(parsed.scheme);
				}
				if (gotEncoding && parsed.userinfo !== undefined) {
					parsed.userinfo = unescape(parsed.userinfo);
				}
				if (gotEncoding && parsed.host !== undefined) {
					parsed.host = unescape(parsed.host);
				}
				if (parsed.path !== undefined && parsed.path.length) {
					parsed.path = escape(unescape(parsed.path));
				}
				if (parsed.fragment !== undefined && parsed.fragment.length) {
					parsed.fragment = encodeURI(decodeURI(parsed.fragment));
				}
			}
			if (schemeHandler && schemeHandler.parse) {
				schemeHandler.parse(parsed, options);
			}
		} else {
			parsed.error = parsed.error || "URI can not be parsed.";
		}
		return parsed;
	}
	const fastUri = {
		normalize,
		resolve,
		resolveComponents,
		equal,
		serialize,
		parse
	};
	module.exports = fastUri;
	module.exports.default = fastUri;
	module.exports.fastUri = fastUri;
}));

//#endregion
//#region ../node_modules/fast-json-stringify/node_modules/ajv-formats/dist/formats.js
var require_formats$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.formatNames = exports.fastFormats = exports.fullFormats = void 0;
	function fmtDef(validate, compare) {
		return {
			validate,
			compare
		};
	}
	exports.fullFormats = {
		date: fmtDef(date, compareDate),
		time: fmtDef(getTime(true), compareTime),
		"date-time": fmtDef(getDateTime(true), compareDateTime),
		"iso-time": fmtDef(getTime(), compareIsoTime),
		"iso-date-time": fmtDef(getDateTime(), compareIsoDateTime),
		duration: /^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,
		uri,
		"uri-reference": /^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,
		"uri-template": /^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,
		url: /^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,
		email: /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,
		hostname: /^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,
		ipv4: /^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,
		ipv6: /^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,
		regex,
		uuid: /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,
		"json-pointer": /^(?:\/(?:[^~/]|~0|~1)*)*$/,
		"json-pointer-uri-fragment": /^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,
		"relative-json-pointer": /^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,
		byte,
		int32: {
			type: "number",
			validate: validateInt32
		},
		int64: {
			type: "number",
			validate: validateInt64
		},
		float: {
			type: "number",
			validate: validateNumber
		},
		double: {
			type: "number",
			validate: validateNumber
		},
		password: true,
		binary: true
	};
	exports.fastFormats = {
		...exports.fullFormats,
		date: fmtDef(/^\d\d\d\d-[0-1]\d-[0-3]\d$/, compareDate),
		time: fmtDef(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i, compareTime),
		"date-time": fmtDef(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i, compareDateTime),
		"iso-time": fmtDef(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i, compareIsoTime),
		"iso-date-time": fmtDef(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i, compareIsoDateTime),
		uri: /^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,
		"uri-reference": /^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,
		email: /^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i
	};
	exports.formatNames = Object.keys(exports.fullFormats);
	function isLeapYear(year) {
		return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
	}
	const DATE = /^(\d\d\d\d)-(\d\d)-(\d\d)$/;
	const DAYS = [
		0,
		31,
		28,
		31,
		30,
		31,
		30,
		31,
		31,
		30,
		31,
		30,
		31
	];
	function date(str) {
		const matches = DATE.exec(str);
		if (!matches) return false;
		const year = +matches[1];
		const month = +matches[2];
		const day = +matches[3];
		return month >= 1 && month <= 12 && day >= 1 && day <= (month === 2 && isLeapYear(year) ? 29 : DAYS[month]);
	}
	function compareDate(d1, d2) {
		if (!(d1 && d2)) return undefined;
		if (d1 > d2) return 1;
		if (d1 < d2) return -1;
		return 0;
	}
	const TIME = /^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;
	function getTime(strictTimeZone) {
		return function time(str) {
			const matches = TIME.exec(str);
			if (!matches) return false;
			const hr = +matches[1];
			const min = +matches[2];
			const sec = +matches[3];
			const tz = matches[4];
			const tzSign = matches[5] === "-" ? -1 : 1;
			const tzH = +(matches[6] || 0);
			const tzM = +(matches[7] || 0);
			if (tzH > 23 || tzM > 59 || strictTimeZone && !tz) return false;
			if (hr <= 23 && min <= 59 && sec < 60) return true;
			const utcMin = min - tzM * tzSign;
			const utcHr = hr - tzH * tzSign - (utcMin < 0 ? 1 : 0);
			return (utcHr === 23 || utcHr === -1) && (utcMin === 59 || utcMin === -1) && sec < 61;
		};
	}
	function compareTime(s1, s2) {
		if (!(s1 && s2)) return undefined;
		const t1 = new Date("2020-01-01T" + s1).valueOf();
		const t2 = new Date("2020-01-01T" + s2).valueOf();
		if (!(t1 && t2)) return undefined;
		return t1 - t2;
	}
	function compareIsoTime(t1, t2) {
		if (!(t1 && t2)) return undefined;
		const a1 = TIME.exec(t1);
		const a2 = TIME.exec(t2);
		if (!(a1 && a2)) return undefined;
		t1 = a1[1] + a1[2] + a1[3];
		t2 = a2[1] + a2[2] + a2[3];
		if (t1 > t2) return 1;
		if (t1 < t2) return -1;
		return 0;
	}
	const DATE_TIME_SEPARATOR = /t|\s/i;
	function getDateTime(strictTimeZone) {
		const time = getTime(strictTimeZone);
		return function date_time(str) {
			const dateTime = str.split(DATE_TIME_SEPARATOR);
			return dateTime.length === 2 && date(dateTime[0]) && time(dateTime[1]);
		};
	}
	function compareDateTime(dt1, dt2) {
		if (!(dt1 && dt2)) return undefined;
		const d1 = new Date(dt1).valueOf();
		const d2 = new Date(dt2).valueOf();
		if (!(d1 && d2)) return undefined;
		return d1 - d2;
	}
	function compareIsoDateTime(dt1, dt2) {
		if (!(dt1 && dt2)) return undefined;
		const [d1, t1] = dt1.split(DATE_TIME_SEPARATOR);
		const [d2, t2] = dt2.split(DATE_TIME_SEPARATOR);
		const res = compareDate(d1, d2);
		if (res === undefined) return undefined;
		return res || compareTime(t1, t2);
	}
	const NOT_URI_FRAGMENT = /\/|:/;
	const URI = /^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;
	function uri(str) {
		return NOT_URI_FRAGMENT.test(str) && URI.test(str);
	}
	const BYTE = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;
	function byte(str) {
		BYTE.lastIndex = 0;
		return BYTE.test(str);
	}
	const MIN_INT32 = -(2 ** 31);
	const MAX_INT32 = 2 ** 31 - 1;
	function validateInt32(value) {
		return Number.isInteger(value) && value <= MAX_INT32 && value >= MIN_INT32;
	}
	function validateInt64(value) {
		return Number.isInteger(value);
	}
	function validateNumber() {
		return true;
	}
	const Z_ANCHOR = /[^\\]\\Z/;
	function regex(str) {
		if (Z_ANCHOR.test(str)) return false;
		try {
			new RegExp(str);
			return true;
		} catch (e) {
			return false;
		}
	}
}));

//#endregion
//#region ../node_modules/fast-json-stringify/node_modules/ajv-formats/dist/limit.js
var require_limit$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.formatLimitDefinition = void 0;
	const ajv_1 = require_ajv();
	const codegen_1 = require_codegen();
	const ops = codegen_1.operators;
	const KWDs = {
		formatMaximum: {
			okStr: "<=",
			ok: ops.LTE,
			fail: ops.GT
		},
		formatMinimum: {
			okStr: ">=",
			ok: ops.GTE,
			fail: ops.LT
		},
		formatExclusiveMaximum: {
			okStr: "<",
			ok: ops.LT,
			fail: ops.GTE
		},
		formatExclusiveMinimum: {
			okStr: ">",
			ok: ops.GT,
			fail: ops.LTE
		}
	};
	const error = {
		message: ({ keyword, schemaCode }) => (0, codegen_1.str)`should be ${KWDs[keyword].okStr} ${schemaCode}`,
		params: ({ keyword, schemaCode }) => (0, codegen_1._)`{comparison: ${KWDs[keyword].okStr}, limit: ${schemaCode}}`
	};
	exports.formatLimitDefinition = {
		keyword: Object.keys(KWDs),
		type: "string",
		schemaType: "string",
		$data: true,
		error,
		code(cxt) {
			const { gen, data, schemaCode, keyword, it } = cxt;
			const { opts, self } = it;
			if (!opts.validateFormats) return;
			const fCxt = new ajv_1.KeywordCxt(it, self.RULES.all.format.definition, "format");
			if (fCxt.$data) validate$DataFormat();
			else validateFormat();
			function validate$DataFormat() {
				const fmts = gen.scopeValue("formats", {
					ref: self.formats,
					code: opts.code.formats
				});
				const fmt = gen.const("fmt", (0, codegen_1._)`${fmts}[${fCxt.schemaCode}]`);
				cxt.fail$data((0, codegen_1.or)((0, codegen_1._)`typeof ${fmt} != "object"`, (0, codegen_1._)`${fmt} instanceof RegExp`, (0, codegen_1._)`typeof ${fmt}.compare != "function"`, compareCode(fmt)));
			}
			function validateFormat() {
				const format = fCxt.schema;
				const fmtDef = self.formats[format];
				if (!fmtDef || fmtDef === true) return;
				if (typeof fmtDef != "object" || fmtDef instanceof RegExp || typeof fmtDef.compare != "function") {
					throw new Error(`"${keyword}": format "${format}" does not define "compare" function`);
				}
				const fmt = gen.scopeValue("formats", {
					key: format,
					ref: fmtDef,
					code: opts.code.formats ? (0, codegen_1._)`${opts.code.formats}${(0, codegen_1.getProperty)(format)}` : undefined
				});
				cxt.fail$data(compareCode(fmt));
			}
			function compareCode(fmt) {
				return (0, codegen_1._)`${fmt}.compare(${data}, ${schemaCode}) ${KWDs[keyword].fail} 0`;
			}
		},
		dependencies: ["format"]
	};
	const formatLimitPlugin = (ajv) => {
		ajv.addKeyword(exports.formatLimitDefinition);
		return ajv;
	};
	exports.default = formatLimitPlugin;
}));

//#endregion
//#region ../node_modules/fast-json-stringify/node_modules/ajv-formats/dist/index.js
var require_dist$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const formats_1 = require_formats$2();
	const limit_1 = require_limit$1();
	const codegen_1 = require_codegen();
	const fullName = new codegen_1.Name("fullFormats");
	const fastName = new codegen_1.Name("fastFormats");
	const formatsPlugin = (ajv, opts = { keywords: true }) => {
		if (Array.isArray(opts)) {
			addFormats(ajv, opts, formats_1.fullFormats, fullName);
			return ajv;
		}
		const [formats, exportName] = opts.mode === "fast" ? [formats_1.fastFormats, fastName] : [formats_1.fullFormats, fullName];
		const list = opts.formats || formats_1.formatNames;
		addFormats(ajv, list, formats, exportName);
		if (opts.keywords) (0, limit_1.default)(ajv);
		return ajv;
	};
	formatsPlugin.get = (name, mode = "full") => {
		const formats = mode === "fast" ? formats_1.fastFormats : formats_1.fullFormats;
		const f = formats[name];
		if (!f) throw new Error(`Unknown format "${name}"`);
		return f;
	};
	function addFormats(ajv, list, fs, exportName) {
		var _a;
		var _b;
		(_a = (_b = ajv.opts.code).formats) !== null && _a !== void 0 ? _a : _b.formats = (0, codegen_1._)`require("ajv-formats/dist/formats").${exportName}`;
		for (const f of list) ajv.addFormat(f, fs[f]);
	}
	module.exports = exports = formatsPlugin;
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.default = formatsPlugin;
}));

//#endregion
//#region ../node_modules/fast-json-stringify/lib/validator.js
var require_validator = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const Ajv = require_ajv();
	const fastUri = require_fast_uri();
	const ajvFormats = require_dist$3();
	const clone = require_rfdc()({ proto: true });
	var Validator = class Validator {
		constructor(ajvOptions) {
			this.ajv = new Ajv({
				...ajvOptions,
				strictSchema: false,
				validateSchema: false,
				allowUnionTypes: true,
				uriResolver: fastUri
			});
			ajvFormats(this.ajv);
			this.ajv.addKeyword({
				keyword: "fjs_type",
				type: "object",
				errors: false,
				validate: (type, date) => {
					return date instanceof Date;
				}
			});
			this._ajvSchemas = {};
			this._ajvOptions = ajvOptions || {};
		}
		addSchema(schema, schemaName) {
			let schemaKey = schema.$id || schemaName;
			if (schema.$id !== undefined && schema.$id[0] === "#") {
				schemaKey = schemaName + schema.$id;
			}
			if (this.ajv.refs[schemaKey] === undefined && this.ajv.schemas[schemaKey] === undefined) {
				const ajvSchema = clone(schema);
				this.convertSchemaToAjvFormat(ajvSchema);
				this.ajv.addSchema(ajvSchema, schemaKey);
				this._ajvSchemas[schemaKey] = schema;
			}
		}
		validate(schemaRef, data) {
			return this.ajv.validate(schemaRef, data);
		}
		convertSchemaToAjvFormat(schema) {
			if (schema === null) return;
			if (schema.type === "string") {
				schema.fjs_type = "string";
				schema.type = ["string", "object"];
			} else if (Array.isArray(schema.type) && schema.type.includes("string") && !schema.type.includes("object")) {
				schema.fjs_type = "string";
				schema.type.push("object");
			}
			for (const property in schema) {
				if (typeof schema[property] === "object") {
					this.convertSchemaToAjvFormat(schema[property]);
				}
			}
		}
		getState() {
			return {
				ajvOptions: this._ajvOptions,
				ajvSchemas: this._ajvSchemas
			};
		}
		static restoreFromState(state) {
			const validator = new Validator(state.ajvOptions);
			for (const [id, ajvSchema] of Object.entries(state.ajvSchemas)) {
				validator.ajv.addSchema(ajvSchema, id);
			}
			return validator;
		}
	};
	module.exports = Validator;
}));

//#endregion
//#region ../node_modules/fast-json-stringify/lib/location.js
var require_location = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var Location = class Location {
		constructor(schema, schemaId, jsonPointer = "#") {
			this.schema = schema;
			this.schemaId = schemaId;
			this.jsonPointer = jsonPointer;
		}
		getPropertyLocation(propertyName) {
			const propertyLocation = new Location(this.schema[propertyName], this.schemaId, this.jsonPointer + "/" + propertyName);
			return propertyLocation;
		}
		getSchemaRef() {
			return this.schemaId + this.jsonPointer;
		}
	};
	module.exports = Location;
}));

//#endregion
//#region ../node_modules/fast-json-stringify/lib/schema-validator.js
var require_schema_validator = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = validate10;
	module.exports.default = validate10;
	const schema11 = {
		"$schema": "http://json-schema.org/draft-07/schema#",
		"$id": "http://json-schema.org/draft-07/schema#",
		"title": "Core schema meta-schema",
		"definitions": {
			"schemaArray": {
				"type": "array",
				"minItems": 1,
				"items": { "$ref": "#" }
			},
			"nonNegativeInteger": {
				"type": "integer",
				"minimum": 0
			},
			"nonNegativeIntegerDefault0": { "allOf": [{ "$ref": "#/definitions/nonNegativeInteger" }, { "default": 0 }] },
			"simpleTypes": { "enum": [
				"array",
				"boolean",
				"integer",
				"null",
				"number",
				"object",
				"string"
			] },
			"stringArray": {
				"type": "array",
				"items": { "type": "string" },
				"uniqueItems": true,
				"default": []
			}
		},
		"type": ["object", "boolean"],
		"properties": {
			"$id": {
				"type": "string",
				"format": "uri-reference"
			},
			"$schema": {
				"type": "string",
				"format": "uri"
			},
			"$ref": {
				"type": "string",
				"format": "uri-reference"
			},
			"$comment": { "type": "string" },
			"title": { "type": "string" },
			"description": { "type": "string" },
			"default": true,
			"readOnly": {
				"type": "boolean",
				"default": false
			},
			"examples": {
				"type": "array",
				"items": true
			},
			"multipleOf": {
				"type": "number",
				"exclusiveMinimum": 0
			},
			"maximum": { "type": "number" },
			"exclusiveMaximum": { "type": "number" },
			"minimum": { "type": "number" },
			"exclusiveMinimum": { "type": "number" },
			"maxLength": { "$ref": "#/definitions/nonNegativeInteger" },
			"minLength": { "$ref": "#/definitions/nonNegativeIntegerDefault0" },
			"pattern": {
				"type": "string",
				"format": "regex"
			},
			"additionalItems": { "$ref": "#" },
			"items": {
				"anyOf": [{ "$ref": "#" }, { "$ref": "#/definitions/schemaArray" }],
				"default": true
			},
			"maxItems": { "$ref": "#/definitions/nonNegativeInteger" },
			"minItems": { "$ref": "#/definitions/nonNegativeIntegerDefault0" },
			"uniqueItems": {
				"type": "boolean",
				"default": false
			},
			"contains": { "$ref": "#" },
			"maxProperties": { "$ref": "#/definitions/nonNegativeInteger" },
			"minProperties": { "$ref": "#/definitions/nonNegativeIntegerDefault0" },
			"required": { "$ref": "#/definitions/stringArray" },
			"additionalProperties": { "$ref": "#" },
			"definitions": {
				"type": "object",
				"additionalProperties": { "$ref": "#" },
				"default": {}
			},
			"properties": {
				"type": "object",
				"additionalProperties": { "$ref": "#" },
				"default": {}
			},
			"patternProperties": {
				"type": "object",
				"additionalProperties": { "$ref": "#" },
				"propertyNames": { "format": "regex" },
				"default": {}
			},
			"dependencies": {
				"type": "object",
				"additionalProperties": { "anyOf": [{ "$ref": "#" }, { "$ref": "#/definitions/stringArray" }] }
			},
			"propertyNames": { "$ref": "#" },
			"const": true,
			"enum": {
				"type": "array",
				"items": true,
				"minItems": 1,
				"uniqueItems": true
			},
			"type": { "anyOf": [{ "$ref": "#/definitions/simpleTypes" }, {
				"type": "array",
				"items": { "$ref": "#/definitions/simpleTypes" },
				"minItems": 1,
				"uniqueItems": true
			}] },
			"format": { "type": "string" },
			"contentMediaType": { "type": "string" },
			"contentEncoding": { "type": "string" },
			"if": { "$ref": "#" },
			"then": { "$ref": "#" },
			"else": { "$ref": "#" },
			"allOf": { "$ref": "#/definitions/schemaArray" },
			"anyOf": { "$ref": "#/definitions/schemaArray" },
			"oneOf": { "$ref": "#/definitions/schemaArray" },
			"not": { "$ref": "#" }
		},
		"default": true
	};
	const schema12 = {
		"type": "integer",
		"minimum": 0
	};
	const schema18 = {
		"type": "array",
		"items": { "type": "string" },
		"uniqueItems": true,
		"default": []
	};
	const schema20 = { "enum": [
		"array",
		"boolean",
		"integer",
		"null",
		"number",
		"object",
		"string"
	] };
	const formats0 = /^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;
	const formats2 = require_formats$2().fullFormats.uri;
	const formats6 = require_formats$2().fullFormats.regex;
	const schema13 = { "allOf": [{ "$ref": "#/definitions/nonNegativeInteger" }, { "default": 0 }] };
	function validate11(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
		let vErrors = null;
		let errors = 0;
		const _errs1 = errors;
		if (!(typeof data == "number" && !(data % 1) && !isNaN(data) && isFinite(data))) {
			validate11.errors = [{
				instancePath,
				schemaPath: "#/definitions/nonNegativeInteger/type",
				keyword: "type",
				params: { type: "integer" },
				message: "must be integer"
			}];
			return false;
		}
		if (errors === _errs1) {
			if (typeof data == "number" && isFinite(data)) {
				if (data < 0 || isNaN(data)) {
					validate11.errors = [{
						instancePath,
						schemaPath: "#/definitions/nonNegativeInteger/minimum",
						keyword: "minimum",
						params: {
							comparison: ">=",
							limit: 0
						},
						message: "must be >= 0"
					}];
					return false;
				}
			}
		}
		validate11.errors = vErrors;
		return errors === 0;
	}
	const schema15 = {
		"type": "array",
		"minItems": 1,
		"items": { "$ref": "#" }
	};
	const root1 = { validate: validate10 };
	function validate13(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
		let vErrors = null;
		let errors = 0;
		if (errors === 0) {
			if (Array.isArray(data)) {
				if (data.length < 1) {
					validate13.errors = [{
						instancePath,
						schemaPath: "#/minItems",
						keyword: "minItems",
						params: { limit: 1 },
						message: "must NOT have fewer than 1 items"
					}];
					return false;
				} else {
					var valid0 = true;
					const len0 = data.length;
					for (let i0 = 0; i0 < len0; i0++) {
						const _errs1 = errors;
						if (!root1.validate(data[i0], {
							instancePath: instancePath + "/" + i0,
							parentData: data,
							parentDataProperty: i0,
							rootData
						})) {
							vErrors = vErrors === null ? root1.validate.errors : vErrors.concat(root1.validate.errors);
							errors = vErrors.length;
						}
						var valid0 = _errs1 === errors;
						if (!valid0) {
							break;
						}
					}
				}
			} else {
				validate13.errors = [{
					instancePath,
					schemaPath: "#/type",
					keyword: "type",
					params: { type: "array" },
					message: "must be array"
				}];
				return false;
			}
		}
		validate13.errors = vErrors;
		return errors === 0;
	}
	const func0 = require_equal().default;
	function validate10(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
		;
		let vErrors = null;
		let errors = 0;
		if (!(data && typeof data == "object" && !Array.isArray(data)) && typeof data !== "boolean") {
			validate10.errors = [{
				instancePath,
				schemaPath: "#/type",
				keyword: "type",
				params: { type: schema11.type },
				message: "must be object,boolean"
			}];
			return false;
		}
		if (errors === 0) {
			if (data && typeof data == "object" && !Array.isArray(data)) {
				if (data.$id !== undefined) {
					let data0 = data.$id;
					const _errs1 = errors;
					if (errors === _errs1) {
						if (errors === _errs1) {
							if (typeof data0 === "string") {
								if (!formats0.test(data0)) {
									validate10.errors = [{
										instancePath: instancePath + "/$id",
										schemaPath: "#/properties/%24id/format",
										keyword: "format",
										params: { format: "uri-reference" },
										message: "must match format \"" + "uri-reference" + "\""
									}];
									return false;
								}
							} else {
								validate10.errors = [{
									instancePath: instancePath + "/$id",
									schemaPath: "#/properties/%24id/type",
									keyword: "type",
									params: { type: "string" },
									message: "must be string"
								}];
								return false;
							}
						}
					}
					var valid0 = _errs1 === errors;
				} else {
					var valid0 = true;
				}
				if (valid0) {
					if (data.$schema !== undefined) {
						let data1 = data.$schema;
						const _errs3 = errors;
						if (errors === _errs3) {
							if (errors === _errs3) {
								if (typeof data1 === "string") {
									if (!formats2(data1)) {
										validate10.errors = [{
											instancePath: instancePath + "/$schema",
											schemaPath: "#/properties/%24schema/format",
											keyword: "format",
											params: { format: "uri" },
											message: "must match format \"" + "uri" + "\""
										}];
										return false;
									}
								} else {
									validate10.errors = [{
										instancePath: instancePath + "/$schema",
										schemaPath: "#/properties/%24schema/type",
										keyword: "type",
										params: { type: "string" },
										message: "must be string"
									}];
									return false;
								}
							}
						}
						var valid0 = _errs3 === errors;
					} else {
						var valid0 = true;
					}
					if (valid0) {
						if (data.$ref !== undefined) {
							let data2 = data.$ref;
							const _errs5 = errors;
							if (errors === _errs5) {
								if (errors === _errs5) {
									if (typeof data2 === "string") {
										if (!formats0.test(data2)) {
											validate10.errors = [{
												instancePath: instancePath + "/$ref",
												schemaPath: "#/properties/%24ref/format",
												keyword: "format",
												params: { format: "uri-reference" },
												message: "must match format \"" + "uri-reference" + "\""
											}];
											return false;
										}
									} else {
										validate10.errors = [{
											instancePath: instancePath + "/$ref",
											schemaPath: "#/properties/%24ref/type",
											keyword: "type",
											params: { type: "string" },
											message: "must be string"
										}];
										return false;
									}
								}
							}
							var valid0 = _errs5 === errors;
						} else {
							var valid0 = true;
						}
						if (valid0) {
							if (data.$comment !== undefined) {
								const _errs7 = errors;
								if (typeof data.$comment !== "string") {
									validate10.errors = [{
										instancePath: instancePath + "/$comment",
										schemaPath: "#/properties/%24comment/type",
										keyword: "type",
										params: { type: "string" },
										message: "must be string"
									}];
									return false;
								}
								var valid0 = _errs7 === errors;
							} else {
								var valid0 = true;
							}
							if (valid0) {
								if (data.title !== undefined) {
									const _errs9 = errors;
									if (typeof data.title !== "string") {
										validate10.errors = [{
											instancePath: instancePath + "/title",
											schemaPath: "#/properties/title/type",
											keyword: "type",
											params: { type: "string" },
											message: "must be string"
										}];
										return false;
									}
									var valid0 = _errs9 === errors;
								} else {
									var valid0 = true;
								}
								if (valid0) {
									if (data.description !== undefined) {
										const _errs11 = errors;
										if (typeof data.description !== "string") {
											validate10.errors = [{
												instancePath: instancePath + "/description",
												schemaPath: "#/properties/description/type",
												keyword: "type",
												params: { type: "string" },
												message: "must be string"
											}];
											return false;
										}
										var valid0 = _errs11 === errors;
									} else {
										var valid0 = true;
									}
									if (valid0) {
										if (data.readOnly !== undefined) {
											const _errs13 = errors;
											if (typeof data.readOnly !== "boolean") {
												validate10.errors = [{
													instancePath: instancePath + "/readOnly",
													schemaPath: "#/properties/readOnly/type",
													keyword: "type",
													params: { type: "boolean" },
													message: "must be boolean"
												}];
												return false;
											}
											var valid0 = _errs13 === errors;
										} else {
											var valid0 = true;
										}
										if (valid0) {
											if (data.examples !== undefined) {
												const _errs15 = errors;
												if (errors === _errs15) {
													if (!Array.isArray(data.examples)) {
														validate10.errors = [{
															instancePath: instancePath + "/examples",
															schemaPath: "#/properties/examples/type",
															keyword: "type",
															params: { type: "array" },
															message: "must be array"
														}];
														return false;
													}
												}
												var valid0 = _errs15 === errors;
											} else {
												var valid0 = true;
											}
											if (valid0) {
												if (data.multipleOf !== undefined) {
													let data8 = data.multipleOf;
													const _errs17 = errors;
													if (errors === _errs17) {
														if (typeof data8 == "number" && isFinite(data8)) {
															if (data8 <= 0 || isNaN(data8)) {
																validate10.errors = [{
																	instancePath: instancePath + "/multipleOf",
																	schemaPath: "#/properties/multipleOf/exclusiveMinimum",
																	keyword: "exclusiveMinimum",
																	params: {
																		comparison: ">",
																		limit: 0
																	},
																	message: "must be > 0"
																}];
																return false;
															}
														} else {
															validate10.errors = [{
																instancePath: instancePath + "/multipleOf",
																schemaPath: "#/properties/multipleOf/type",
																keyword: "type",
																params: { type: "number" },
																message: "must be number"
															}];
															return false;
														}
													}
													var valid0 = _errs17 === errors;
												} else {
													var valid0 = true;
												}
												if (valid0) {
													if (data.maximum !== undefined) {
														let data9 = data.maximum;
														const _errs19 = errors;
														if (!(typeof data9 == "number" && isFinite(data9))) {
															validate10.errors = [{
																instancePath: instancePath + "/maximum",
																schemaPath: "#/properties/maximum/type",
																keyword: "type",
																params: { type: "number" },
																message: "must be number"
															}];
															return false;
														}
														var valid0 = _errs19 === errors;
													} else {
														var valid0 = true;
													}
													if (valid0) {
														if (data.exclusiveMaximum !== undefined) {
															let data10 = data.exclusiveMaximum;
															const _errs21 = errors;
															if (!(typeof data10 == "number" && isFinite(data10))) {
																validate10.errors = [{
																	instancePath: instancePath + "/exclusiveMaximum",
																	schemaPath: "#/properties/exclusiveMaximum/type",
																	keyword: "type",
																	params: { type: "number" },
																	message: "must be number"
																}];
																return false;
															}
															var valid0 = _errs21 === errors;
														} else {
															var valid0 = true;
														}
														if (valid0) {
															if (data.minimum !== undefined) {
																let data11 = data.minimum;
																const _errs23 = errors;
																if (!(typeof data11 == "number" && isFinite(data11))) {
																	validate10.errors = [{
																		instancePath: instancePath + "/minimum",
																		schemaPath: "#/properties/minimum/type",
																		keyword: "type",
																		params: { type: "number" },
																		message: "must be number"
																	}];
																	return false;
																}
																var valid0 = _errs23 === errors;
															} else {
																var valid0 = true;
															}
															if (valid0) {
																if (data.exclusiveMinimum !== undefined) {
																	let data12 = data.exclusiveMinimum;
																	const _errs25 = errors;
																	if (!(typeof data12 == "number" && isFinite(data12))) {
																		validate10.errors = [{
																			instancePath: instancePath + "/exclusiveMinimum",
																			schemaPath: "#/properties/exclusiveMinimum/type",
																			keyword: "type",
																			params: { type: "number" },
																			message: "must be number"
																		}];
																		return false;
																	}
																	var valid0 = _errs25 === errors;
																} else {
																	var valid0 = true;
																}
																if (valid0) {
																	if (data.maxLength !== undefined) {
																		let data13 = data.maxLength;
																		const _errs27 = errors;
																		const _errs28 = errors;
																		if (!(typeof data13 == "number" && !(data13 % 1) && !isNaN(data13) && isFinite(data13))) {
																			validate10.errors = [{
																				instancePath: instancePath + "/maxLength",
																				schemaPath: "#/definitions/nonNegativeInteger/type",
																				keyword: "type",
																				params: { type: "integer" },
																				message: "must be integer"
																			}];
																			return false;
																		}
																		if (errors === _errs28) {
																			if (typeof data13 == "number" && isFinite(data13)) {
																				if (data13 < 0 || isNaN(data13)) {
																					validate10.errors = [{
																						instancePath: instancePath + "/maxLength",
																						schemaPath: "#/definitions/nonNegativeInteger/minimum",
																						keyword: "minimum",
																						params: {
																							comparison: ">=",
																							limit: 0
																						},
																						message: "must be >= 0"
																					}];
																					return false;
																				}
																			}
																		}
																		var valid0 = _errs27 === errors;
																	} else {
																		var valid0 = true;
																	}
																	if (valid0) {
																		if (data.minLength !== undefined) {
																			const _errs30 = errors;
																			if (!validate11(data.minLength, {
																				instancePath: instancePath + "/minLength",
																				parentData: data,
																				parentDataProperty: "minLength",
																				rootData
																			})) {
																				vErrors = vErrors === null ? validate11.errors : vErrors.concat(validate11.errors);
																				errors = vErrors.length;
																			}
																			var valid0 = _errs30 === errors;
																		} else {
																			var valid0 = true;
																		}
																		if (valid0) {
																			if (data.pattern !== undefined) {
																				let data15 = data.pattern;
																				const _errs31 = errors;
																				if (errors === _errs31) {
																					if (errors === _errs31) {
																						if (typeof data15 === "string") {
																							if (!formats6(data15)) {
																								validate10.errors = [{
																									instancePath: instancePath + "/pattern",
																									schemaPath: "#/properties/pattern/format",
																									keyword: "format",
																									params: { format: "regex" },
																									message: "must match format \"" + "regex" + "\""
																								}];
																								return false;
																							}
																						} else {
																							validate10.errors = [{
																								instancePath: instancePath + "/pattern",
																								schemaPath: "#/properties/pattern/type",
																								keyword: "type",
																								params: { type: "string" },
																								message: "must be string"
																							}];
																							return false;
																						}
																					}
																				}
																				var valid0 = _errs31 === errors;
																			} else {
																				var valid0 = true;
																			}
																			if (valid0) {
																				if (data.additionalItems !== undefined) {
																					const _errs33 = errors;
																					if (!validate10(data.additionalItems, {
																						instancePath: instancePath + "/additionalItems",
																						parentData: data,
																						parentDataProperty: "additionalItems",
																						rootData
																					})) {
																						vErrors = vErrors === null ? validate10.errors : vErrors.concat(validate10.errors);
																						errors = vErrors.length;
																					}
																					var valid0 = _errs33 === errors;
																				} else {
																					var valid0 = true;
																				}
																				if (valid0) {
																					if (data.items !== undefined) {
																						let data17 = data.items;
																						const _errs34 = errors;
																						const _errs35 = errors;
																						let valid2 = false;
																						const _errs36 = errors;
																						if (!validate10(data17, {
																							instancePath: instancePath + "/items",
																							parentData: data,
																							parentDataProperty: "items",
																							rootData
																						})) {
																							vErrors = vErrors === null ? validate10.errors : vErrors.concat(validate10.errors);
																							errors = vErrors.length;
																						}
																						var _valid0 = _errs36 === errors;
																						valid2 = valid2 || _valid0;
																						if (!valid2) {
																							const _errs37 = errors;
																							if (!validate13(data17, {
																								instancePath: instancePath + "/items",
																								parentData: data,
																								parentDataProperty: "items",
																								rootData
																							})) {
																								vErrors = vErrors === null ? validate13.errors : vErrors.concat(validate13.errors);
																								errors = vErrors.length;
																							}
																							var _valid0 = _errs37 === errors;
																							valid2 = valid2 || _valid0;
																						}
																						if (!valid2) {
																							const err0 = {
																								instancePath: instancePath + "/items",
																								schemaPath: "#/properties/items/anyOf",
																								keyword: "anyOf",
																								params: {},
																								message: "must match a schema in anyOf"
																							};
																							if (vErrors === null) {
																								vErrors = [err0];
																							} else {
																								vErrors.push(err0);
																							}
																							errors++;
																							validate10.errors = vErrors;
																							return false;
																						} else {
																							errors = _errs35;
																							if (vErrors !== null) {
																								if (_errs35) {
																									vErrors.length = _errs35;
																								} else {
																									vErrors = null;
																								}
																							}
																						}
																						var valid0 = _errs34 === errors;
																					} else {
																						var valid0 = true;
																					}
																					if (valid0) {
																						if (data.maxItems !== undefined) {
																							let data18 = data.maxItems;
																							const _errs38 = errors;
																							const _errs39 = errors;
																							if (!(typeof data18 == "number" && !(data18 % 1) && !isNaN(data18) && isFinite(data18))) {
																								validate10.errors = [{
																									instancePath: instancePath + "/maxItems",
																									schemaPath: "#/definitions/nonNegativeInteger/type",
																									keyword: "type",
																									params: { type: "integer" },
																									message: "must be integer"
																								}];
																								return false;
																							}
																							if (errors === _errs39) {
																								if (typeof data18 == "number" && isFinite(data18)) {
																									if (data18 < 0 || isNaN(data18)) {
																										validate10.errors = [{
																											instancePath: instancePath + "/maxItems",
																											schemaPath: "#/definitions/nonNegativeInteger/minimum",
																											keyword: "minimum",
																											params: {
																												comparison: ">=",
																												limit: 0
																											},
																											message: "must be >= 0"
																										}];
																										return false;
																									}
																								}
																							}
																							var valid0 = _errs38 === errors;
																						} else {
																							var valid0 = true;
																						}
																						if (valid0) {
																							if (data.minItems !== undefined) {
																								const _errs41 = errors;
																								if (!validate11(data.minItems, {
																									instancePath: instancePath + "/minItems",
																									parentData: data,
																									parentDataProperty: "minItems",
																									rootData
																								})) {
																									vErrors = vErrors === null ? validate11.errors : vErrors.concat(validate11.errors);
																									errors = vErrors.length;
																								}
																								var valid0 = _errs41 === errors;
																							} else {
																								var valid0 = true;
																							}
																							if (valid0) {
																								if (data.uniqueItems !== undefined) {
																									const _errs42 = errors;
																									if (typeof data.uniqueItems !== "boolean") {
																										validate10.errors = [{
																											instancePath: instancePath + "/uniqueItems",
																											schemaPath: "#/properties/uniqueItems/type",
																											keyword: "type",
																											params: { type: "boolean" },
																											message: "must be boolean"
																										}];
																										return false;
																									}
																									var valid0 = _errs42 === errors;
																								} else {
																									var valid0 = true;
																								}
																								if (valid0) {
																									if (data.contains !== undefined) {
																										const _errs44 = errors;
																										if (!validate10(data.contains, {
																											instancePath: instancePath + "/contains",
																											parentData: data,
																											parentDataProperty: "contains",
																											rootData
																										})) {
																											vErrors = vErrors === null ? validate10.errors : vErrors.concat(validate10.errors);
																											errors = vErrors.length;
																										}
																										var valid0 = _errs44 === errors;
																									} else {
																										var valid0 = true;
																									}
																									if (valid0) {
																										if (data.maxProperties !== undefined) {
																											let data22 = data.maxProperties;
																											const _errs45 = errors;
																											const _errs46 = errors;
																											if (!(typeof data22 == "number" && !(data22 % 1) && !isNaN(data22) && isFinite(data22))) {
																												validate10.errors = [{
																													instancePath: instancePath + "/maxProperties",
																													schemaPath: "#/definitions/nonNegativeInteger/type",
																													keyword: "type",
																													params: { type: "integer" },
																													message: "must be integer"
																												}];
																												return false;
																											}
																											if (errors === _errs46) {
																												if (typeof data22 == "number" && isFinite(data22)) {
																													if (data22 < 0 || isNaN(data22)) {
																														validate10.errors = [{
																															instancePath: instancePath + "/maxProperties",
																															schemaPath: "#/definitions/nonNegativeInteger/minimum",
																															keyword: "minimum",
																															params: {
																																comparison: ">=",
																																limit: 0
																															},
																															message: "must be >= 0"
																														}];
																														return false;
																													}
																												}
																											}
																											var valid0 = _errs45 === errors;
																										} else {
																											var valid0 = true;
																										}
																										if (valid0) {
																											if (data.minProperties !== undefined) {
																												const _errs48 = errors;
																												if (!validate11(data.minProperties, {
																													instancePath: instancePath + "/minProperties",
																													parentData: data,
																													parentDataProperty: "minProperties",
																													rootData
																												})) {
																													vErrors = vErrors === null ? validate11.errors : vErrors.concat(validate11.errors);
																													errors = vErrors.length;
																												}
																												var valid0 = _errs48 === errors;
																											} else {
																												var valid0 = true;
																											}
																											if (valid0) {
																												if (data.required !== undefined) {
																													let data24 = data.required;
																													const _errs49 = errors;
																													const _errs50 = errors;
																													if (errors === _errs50) {
																														if (Array.isArray(data24)) {
																															var valid6 = true;
																															const len0 = data24.length;
																															for (let i0 = 0; i0 < len0; i0++) {
																																const _errs52 = errors;
																																if (typeof data24[i0] !== "string") {
																																	validate10.errors = [{
																																		instancePath: instancePath + "/required/" + i0,
																																		schemaPath: "#/definitions/stringArray/items/type",
																																		keyword: "type",
																																		params: { type: "string" },
																																		message: "must be string"
																																	}];
																																	return false;
																																}
																																var valid6 = _errs52 === errors;
																																if (!valid6) {
																																	break;
																																}
																															}
																															if (valid6) {
																																let i1 = data24.length;
																																let j0;
																																if (i1 > 1) {
																																	const indices0 = {};
																																	for (; i1--;) {
																																		let item0 = data24[i1];
																																		if (typeof item0 !== "string") {
																																			continue;
																																		}
																																		if (typeof indices0[item0] == "number") {
																																			j0 = indices0[item0];
																																			validate10.errors = [{
																																				instancePath: instancePath + "/required",
																																				schemaPath: "#/definitions/stringArray/uniqueItems",
																																				keyword: "uniqueItems",
																																				params: {
																																					i: i1,
																																					j: j0
																																				},
																																				message: "must NOT have duplicate items (items ## " + j0 + " and " + i1 + " are identical)"
																																			}];
																																			return false;
																																			break;
																																		}
																																		indices0[item0] = i1;
																																	}
																																}
																															}
																														} else {
																															validate10.errors = [{
																																instancePath: instancePath + "/required",
																																schemaPath: "#/definitions/stringArray/type",
																																keyword: "type",
																																params: { type: "array" },
																																message: "must be array"
																															}];
																															return false;
																														}
																													}
																													var valid0 = _errs49 === errors;
																												} else {
																													var valid0 = true;
																												}
																												if (valid0) {
																													if (data.additionalProperties !== undefined) {
																														const _errs54 = errors;
																														if (!validate10(data.additionalProperties, {
																															instancePath: instancePath + "/additionalProperties",
																															parentData: data,
																															parentDataProperty: "additionalProperties",
																															rootData
																														})) {
																															vErrors = vErrors === null ? validate10.errors : vErrors.concat(validate10.errors);
																															errors = vErrors.length;
																														}
																														var valid0 = _errs54 === errors;
																													} else {
																														var valid0 = true;
																													}
																													if (valid0) {
																														if (data.definitions !== undefined) {
																															let data27 = data.definitions;
																															const _errs55 = errors;
																															if (errors === _errs55) {
																																if (data27 && typeof data27 == "object" && !Array.isArray(data27)) {
																																	for (const key0 in data27) {
																																		const _errs58 = errors;
																																		if (!validate10(data27[key0], {
																																			instancePath: instancePath + "/definitions/" + key0.replace(/~/g, "~0").replace(/\//g, "~1"),
																																			parentData: data27,
																																			parentDataProperty: key0,
																																			rootData
																																		})) {
																																			vErrors = vErrors === null ? validate10.errors : vErrors.concat(validate10.errors);
																																			errors = vErrors.length;
																																		}
																																		var valid8 = _errs58 === errors;
																																		if (!valid8) {
																																			break;
																																		}
																																	}
																																} else {
																																	validate10.errors = [{
																																		instancePath: instancePath + "/definitions",
																																		schemaPath: "#/properties/definitions/type",
																																		keyword: "type",
																																		params: { type: "object" },
																																		message: "must be object"
																																	}];
																																	return false;
																																}
																															}
																															var valid0 = _errs55 === errors;
																														} else {
																															var valid0 = true;
																														}
																														if (valid0) {
																															if (data.properties !== undefined) {
																																let data29 = data.properties;
																																const _errs59 = errors;
																																if (errors === _errs59) {
																																	if (data29 && typeof data29 == "object" && !Array.isArray(data29)) {
																																		for (const key1 in data29) {
																																			const _errs62 = errors;
																																			if (!validate10(data29[key1], {
																																				instancePath: instancePath + "/properties/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"),
																																				parentData: data29,
																																				parentDataProperty: key1,
																																				rootData
																																			})) {
																																				vErrors = vErrors === null ? validate10.errors : vErrors.concat(validate10.errors);
																																				errors = vErrors.length;
																																			}
																																			var valid9 = _errs62 === errors;
																																			if (!valid9) {
																																				break;
																																			}
																																		}
																																	} else {
																																		validate10.errors = [{
																																			instancePath: instancePath + "/properties",
																																			schemaPath: "#/properties/properties/type",
																																			keyword: "type",
																																			params: { type: "object" },
																																			message: "must be object"
																																		}];
																																		return false;
																																	}
																																}
																																var valid0 = _errs59 === errors;
																															} else {
																																var valid0 = true;
																															}
																															if (valid0) {
																																if (data.patternProperties !== undefined) {
																																	let data31 = data.patternProperties;
																																	const _errs63 = errors;
																																	if (errors === _errs63) {
																																		if (data31 && typeof data31 == "object" && !Array.isArray(data31)) {
																																			for (const key2 in data31) {
																																				const _errs65 = errors;
																																				if (errors === _errs65) {
																																					if (typeof key2 === "string") {
																																						if (!formats6(key2)) {
																																							const err1 = {
																																								instancePath: instancePath + "/patternProperties",
																																								schemaPath: "#/properties/patternProperties/propertyNames/format",
																																								keyword: "format",
																																								params: { format: "regex" },
																																								message: "must match format \"" + "regex" + "\"",
																																								propertyName: key2
																																							};
																																							if (vErrors === null) {
																																								vErrors = [err1];
																																							} else {
																																								vErrors.push(err1);
																																							}
																																							errors++;
																																						}
																																					}
																																				}
																																				var valid10 = _errs65 === errors;
																																				if (!valid10) {
																																					const err2 = {
																																						instancePath: instancePath + "/patternProperties",
																																						schemaPath: "#/properties/patternProperties/propertyNames",
																																						keyword: "propertyNames",
																																						params: { propertyName: key2 },
																																						message: "property name must be valid"
																																					};
																																					if (vErrors === null) {
																																						vErrors = [err2];
																																					} else {
																																						vErrors.push(err2);
																																					}
																																					errors++;
																																					validate10.errors = vErrors;
																																					return false;
																																					break;
																																				}
																																			}
																																			if (valid10) {
																																				for (const key3 in data31) {
																																					const _errs67 = errors;
																																					if (!validate10(data31[key3], {
																																						instancePath: instancePath + "/patternProperties/" + key3.replace(/~/g, "~0").replace(/\//g, "~1"),
																																						parentData: data31,
																																						parentDataProperty: key3,
																																						rootData
																																					})) {
																																						vErrors = vErrors === null ? validate10.errors : vErrors.concat(validate10.errors);
																																						errors = vErrors.length;
																																					}
																																					var valid11 = _errs67 === errors;
																																					if (!valid11) {
																																						break;
																																					}
																																				}
																																			}
																																		} else {
																																			validate10.errors = [{
																																				instancePath: instancePath + "/patternProperties",
																																				schemaPath: "#/properties/patternProperties/type",
																																				keyword: "type",
																																				params: { type: "object" },
																																				message: "must be object"
																																			}];
																																			return false;
																																		}
																																	}
																																	var valid0 = _errs63 === errors;
																																} else {
																																	var valid0 = true;
																																}
																																if (valid0) {
																																	if (data.dependencies !== undefined) {
																																		let data33 = data.dependencies;
																																		const _errs68 = errors;
																																		if (errors === _errs68) {
																																			if (data33 && typeof data33 == "object" && !Array.isArray(data33)) {
																																				for (const key4 in data33) {
																																					let data34 = data33[key4];
																																					const _errs71 = errors;
																																					const _errs72 = errors;
																																					let valid13 = false;
																																					const _errs73 = errors;
																																					if (!validate10(data34, {
																																						instancePath: instancePath + "/dependencies/" + key4.replace(/~/g, "~0").replace(/\//g, "~1"),
																																						parentData: data33,
																																						parentDataProperty: key4,
																																						rootData
																																					})) {
																																						vErrors = vErrors === null ? validate10.errors : vErrors.concat(validate10.errors);
																																						errors = vErrors.length;
																																					}
																																					var _valid1 = _errs73 === errors;
																																					valid13 = valid13 || _valid1;
																																					if (!valid13) {
																																						const _errs74 = errors;
																																						const _errs75 = errors;
																																						if (errors === _errs75) {
																																							if (Array.isArray(data34)) {
																																								var valid15 = true;
																																								const len1 = data34.length;
																																								for (let i2 = 0; i2 < len1; i2++) {
																																									const _errs77 = errors;
																																									if (typeof data34[i2] !== "string") {
																																										const err3 = {
																																											instancePath: instancePath + "/dependencies/" + key4.replace(/~/g, "~0").replace(/\//g, "~1") + "/" + i2,
																																											schemaPath: "#/definitions/stringArray/items/type",
																																											keyword: "type",
																																											params: { type: "string" },
																																											message: "must be string"
																																										};
																																										if (vErrors === null) {
																																											vErrors = [err3];
																																										} else {
																																											vErrors.push(err3);
																																										}
																																										errors++;
																																									}
																																									var valid15 = _errs77 === errors;
																																									if (!valid15) {
																																										break;
																																									}
																																								}
																																								if (valid15) {
																																									let i3 = data34.length;
																																									let j1;
																																									if (i3 > 1) {
																																										const indices1 = {};
																																										for (; i3--;) {
																																											let item1 = data34[i3];
																																											if (typeof item1 !== "string") {
																																												continue;
																																											}
																																											if (typeof indices1[item1] == "number") {
																																												j1 = indices1[item1];
																																												const err4 = {
																																													instancePath: instancePath + "/dependencies/" + key4.replace(/~/g, "~0").replace(/\//g, "~1"),
																																													schemaPath: "#/definitions/stringArray/uniqueItems",
																																													keyword: "uniqueItems",
																																													params: {
																																														i: i3,
																																														j: j1
																																													},
																																													message: "must NOT have duplicate items (items ## " + j1 + " and " + i3 + " are identical)"
																																												};
																																												if (vErrors === null) {
																																													vErrors = [err4];
																																												} else {
																																													vErrors.push(err4);
																																												}
																																												errors++;
																																												break;
																																											}
																																											indices1[item1] = i3;
																																										}
																																									}
																																								}
																																							} else {
																																								const err5 = {
																																									instancePath: instancePath + "/dependencies/" + key4.replace(/~/g, "~0").replace(/\//g, "~1"),
																																									schemaPath: "#/definitions/stringArray/type",
																																									keyword: "type",
																																									params: { type: "array" },
																																									message: "must be array"
																																								};
																																								if (vErrors === null) {
																																									vErrors = [err5];
																																								} else {
																																									vErrors.push(err5);
																																								}
																																								errors++;
																																							}
																																						}
																																						var _valid1 = _errs74 === errors;
																																						valid13 = valid13 || _valid1;
																																					}
																																					if (!valid13) {
																																						const err6 = {
																																							instancePath: instancePath + "/dependencies/" + key4.replace(/~/g, "~0").replace(/\//g, "~1"),
																																							schemaPath: "#/properties/dependencies/additionalProperties/anyOf",
																																							keyword: "anyOf",
																																							params: {},
																																							message: "must match a schema in anyOf"
																																						};
																																						if (vErrors === null) {
																																							vErrors = [err6];
																																						} else {
																																							vErrors.push(err6);
																																						}
																																						errors++;
																																						validate10.errors = vErrors;
																																						return false;
																																					} else {
																																						errors = _errs72;
																																						if (vErrors !== null) {
																																							if (_errs72) {
																																								vErrors.length = _errs72;
																																							} else {
																																								vErrors = null;
																																							}
																																						}
																																					}
																																					var valid12 = _errs71 === errors;
																																					if (!valid12) {
																																						break;
																																					}
																																				}
																																			} else {
																																				validate10.errors = [{
																																					instancePath: instancePath + "/dependencies",
																																					schemaPath: "#/properties/dependencies/type",
																																					keyword: "type",
																																					params: { type: "object" },
																																					message: "must be object"
																																				}];
																																				return false;
																																			}
																																		}
																																		var valid0 = _errs68 === errors;
																																	} else {
																																		var valid0 = true;
																																	}
																																	if (valid0) {
																																		if (data.propertyNames !== undefined) {
																																			const _errs79 = errors;
																																			if (!validate10(data.propertyNames, {
																																				instancePath: instancePath + "/propertyNames",
																																				parentData: data,
																																				parentDataProperty: "propertyNames",
																																				rootData
																																			})) {
																																				vErrors = vErrors === null ? validate10.errors : vErrors.concat(validate10.errors);
																																				errors = vErrors.length;
																																			}
																																			var valid0 = _errs79 === errors;
																																		} else {
																																			var valid0 = true;
																																		}
																																		if (valid0) {
																																			if (data.enum !== undefined) {
																																				let data37 = data.enum;
																																				const _errs80 = errors;
																																				if (errors === _errs80) {
																																					if (Array.isArray(data37)) {
																																						if (data37.length < 1) {
																																							validate10.errors = [{
																																								instancePath: instancePath + "/enum",
																																								schemaPath: "#/properties/enum/minItems",
																																								keyword: "minItems",
																																								params: { limit: 1 },
																																								message: "must NOT have fewer than 1 items"
																																							}];
																																							return false;
																																						} else {
																																							let i4 = data37.length;
																																							let j2;
																																							if (i4 > 1) {
																																								outer0: for (; i4--;) {
																																									for (j2 = i4; j2--;) {
																																										if (func0(data37[i4], data37[j2])) {
																																											validate10.errors = [{
																																												instancePath: instancePath + "/enum",
																																												schemaPath: "#/properties/enum/uniqueItems",
																																												keyword: "uniqueItems",
																																												params: {
																																													i: i4,
																																													j: j2
																																												},
																																												message: "must NOT have duplicate items (items ## " + j2 + " and " + i4 + " are identical)"
																																											}];
																																											return false;
																																											break outer0;
																																										}
																																									}
																																								}
																																							}
																																						}
																																					} else {
																																						validate10.errors = [{
																																							instancePath: instancePath + "/enum",
																																							schemaPath: "#/properties/enum/type",
																																							keyword: "type",
																																							params: { type: "array" },
																																							message: "must be array"
																																						}];
																																						return false;
																																					}
																																				}
																																				var valid0 = _errs80 === errors;
																																			} else {
																																				var valid0 = true;
																																			}
																																			if (valid0) {
																																				if (data.type !== undefined) {
																																					let data38 = data.type;
																																					const _errs82 = errors;
																																					const _errs83 = errors;
																																					let valid18 = false;
																																					const _errs84 = errors;
																																					if (!(data38 === "array" || data38 === "boolean" || data38 === "integer" || data38 === "null" || data38 === "number" || data38 === "object" || data38 === "string")) {
																																						const err7 = {
																																							instancePath: instancePath + "/type",
																																							schemaPath: "#/definitions/simpleTypes/enum",
																																							keyword: "enum",
																																							params: { allowedValues: schema20.enum },
																																							message: "must be equal to one of the allowed values"
																																						};
																																						if (vErrors === null) {
																																							vErrors = [err7];
																																						} else {
																																							vErrors.push(err7);
																																						}
																																						errors++;
																																					}
																																					var _valid2 = _errs84 === errors;
																																					valid18 = valid18 || _valid2;
																																					if (!valid18) {
																																						const _errs86 = errors;
																																						if (errors === _errs86) {
																																							if (Array.isArray(data38)) {
																																								if (data38.length < 1) {
																																									const err8 = {
																																										instancePath: instancePath + "/type",
																																										schemaPath: "#/properties/type/anyOf/1/minItems",
																																										keyword: "minItems",
																																										params: { limit: 1 },
																																										message: "must NOT have fewer than 1 items"
																																									};
																																									if (vErrors === null) {
																																										vErrors = [err8];
																																									} else {
																																										vErrors.push(err8);
																																									}
																																									errors++;
																																								} else {
																																									var valid20 = true;
																																									const len2 = data38.length;
																																									for (let i5 = 0; i5 < len2; i5++) {
																																										let data39 = data38[i5];
																																										const _errs88 = errors;
																																										if (!(data39 === "array" || data39 === "boolean" || data39 === "integer" || data39 === "null" || data39 === "number" || data39 === "object" || data39 === "string")) {
																																											const err9 = {
																																												instancePath: instancePath + "/type/" + i5,
																																												schemaPath: "#/definitions/simpleTypes/enum",
																																												keyword: "enum",
																																												params: { allowedValues: schema20.enum },
																																												message: "must be equal to one of the allowed values"
																																											};
																																											if (vErrors === null) {
																																												vErrors = [err9];
																																											} else {
																																												vErrors.push(err9);
																																											}
																																											errors++;
																																										}
																																										var valid20 = _errs88 === errors;
																																										if (!valid20) {
																																											break;
																																										}
																																									}
																																									if (valid20) {
																																										let i6 = data38.length;
																																										let j3;
																																										if (i6 > 1) {
																																											outer1: for (; i6--;) {
																																												for (j3 = i6; j3--;) {
																																													if (func0(data38[i6], data38[j3])) {
																																														const err10 = {
																																															instancePath: instancePath + "/type",
																																															schemaPath: "#/properties/type/anyOf/1/uniqueItems",
																																															keyword: "uniqueItems",
																																															params: {
																																																i: i6,
																																																j: j3
																																															},
																																															message: "must NOT have duplicate items (items ## " + j3 + " and " + i6 + " are identical)"
																																														};
																																														if (vErrors === null) {
																																															vErrors = [err10];
																																														} else {
																																															vErrors.push(err10);
																																														}
																																														errors++;
																																														break outer1;
																																													}
																																												}
																																											}
																																										}
																																									}
																																								}
																																							} else {
																																								const err11 = {
																																									instancePath: instancePath + "/type",
																																									schemaPath: "#/properties/type/anyOf/1/type",
																																									keyword: "type",
																																									params: { type: "array" },
																																									message: "must be array"
																																								};
																																								if (vErrors === null) {
																																									vErrors = [err11];
																																								} else {
																																									vErrors.push(err11);
																																								}
																																								errors++;
																																							}
																																						}
																																						var _valid2 = _errs86 === errors;
																																						valid18 = valid18 || _valid2;
																																					}
																																					if (!valid18) {
																																						const err12 = {
																																							instancePath: instancePath + "/type",
																																							schemaPath: "#/properties/type/anyOf",
																																							keyword: "anyOf",
																																							params: {},
																																							message: "must match a schema in anyOf"
																																						};
																																						if (vErrors === null) {
																																							vErrors = [err12];
																																						} else {
																																							vErrors.push(err12);
																																						}
																																						errors++;
																																						validate10.errors = vErrors;
																																						return false;
																																					} else {
																																						errors = _errs83;
																																						if (vErrors !== null) {
																																							if (_errs83) {
																																								vErrors.length = _errs83;
																																							} else {
																																								vErrors = null;
																																							}
																																						}
																																					}
																																					var valid0 = _errs82 === errors;
																																				} else {
																																					var valid0 = true;
																																				}
																																				if (valid0) {
																																					if (data.format !== undefined) {
																																						const _errs90 = errors;
																																						if (typeof data.format !== "string") {
																																							validate10.errors = [{
																																								instancePath: instancePath + "/format",
																																								schemaPath: "#/properties/format/type",
																																								keyword: "type",
																																								params: { type: "string" },
																																								message: "must be string"
																																							}];
																																							return false;
																																						}
																																						var valid0 = _errs90 === errors;
																																					} else {
																																						var valid0 = true;
																																					}
																																					if (valid0) {
																																						if (data.contentMediaType !== undefined) {
																																							const _errs92 = errors;
																																							if (typeof data.contentMediaType !== "string") {
																																								validate10.errors = [{
																																									instancePath: instancePath + "/contentMediaType",
																																									schemaPath: "#/properties/contentMediaType/type",
																																									keyword: "type",
																																									params: { type: "string" },
																																									message: "must be string"
																																								}];
																																								return false;
																																							}
																																							var valid0 = _errs92 === errors;
																																						} else {
																																							var valid0 = true;
																																						}
																																						if (valid0) {
																																							if (data.contentEncoding !== undefined) {
																																								const _errs94 = errors;
																																								if (typeof data.contentEncoding !== "string") {
																																									validate10.errors = [{
																																										instancePath: instancePath + "/contentEncoding",
																																										schemaPath: "#/properties/contentEncoding/type",
																																										keyword: "type",
																																										params: { type: "string" },
																																										message: "must be string"
																																									}];
																																									return false;
																																								}
																																								var valid0 = _errs94 === errors;
																																							} else {
																																								var valid0 = true;
																																							}
																																							if (valid0) {
																																								if (data.if !== undefined) {
																																									const _errs96 = errors;
																																									if (!validate10(data.if, {
																																										instancePath: instancePath + "/if",
																																										parentData: data,
																																										parentDataProperty: "if",
																																										rootData
																																									})) {
																																										vErrors = vErrors === null ? validate10.errors : vErrors.concat(validate10.errors);
																																										errors = vErrors.length;
																																									}
																																									var valid0 = _errs96 === errors;
																																								} else {
																																									var valid0 = true;
																																								}
																																								if (valid0) {
																																									if (data.then !== undefined) {
																																										const _errs97 = errors;
																																										if (!validate10(data.then, {
																																											instancePath: instancePath + "/then",
																																											parentData: data,
																																											parentDataProperty: "then",
																																											rootData
																																										})) {
																																											vErrors = vErrors === null ? validate10.errors : vErrors.concat(validate10.errors);
																																											errors = vErrors.length;
																																										}
																																										var valid0 = _errs97 === errors;
																																									} else {
																																										var valid0 = true;
																																									}
																																									if (valid0) {
																																										if (data.else !== undefined) {
																																											const _errs98 = errors;
																																											if (!validate10(data.else, {
																																												instancePath: instancePath + "/else",
																																												parentData: data,
																																												parentDataProperty: "else",
																																												rootData
																																											})) {
																																												vErrors = vErrors === null ? validate10.errors : vErrors.concat(validate10.errors);
																																												errors = vErrors.length;
																																											}
																																											var valid0 = _errs98 === errors;
																																										} else {
																																											var valid0 = true;
																																										}
																																										if (valid0) {
																																											if (data.allOf !== undefined) {
																																												const _errs99 = errors;
																																												if (!validate13(data.allOf, {
																																													instancePath: instancePath + "/allOf",
																																													parentData: data,
																																													parentDataProperty: "allOf",
																																													rootData
																																												})) {
																																													vErrors = vErrors === null ? validate13.errors : vErrors.concat(validate13.errors);
																																													errors = vErrors.length;
																																												}
																																												var valid0 = _errs99 === errors;
																																											} else {
																																												var valid0 = true;
																																											}
																																											if (valid0) {
																																												if (data.anyOf !== undefined) {
																																													const _errs100 = errors;
																																													if (!validate13(data.anyOf, {
																																														instancePath: instancePath + "/anyOf",
																																														parentData: data,
																																														parentDataProperty: "anyOf",
																																														rootData
																																													})) {
																																														vErrors = vErrors === null ? validate13.errors : vErrors.concat(validate13.errors);
																																														errors = vErrors.length;
																																													}
																																													var valid0 = _errs100 === errors;
																																												} else {
																																													var valid0 = true;
																																												}
																																												if (valid0) {
																																													if (data.oneOf !== undefined) {
																																														const _errs101 = errors;
																																														if (!validate13(data.oneOf, {
																																															instancePath: instancePath + "/oneOf",
																																															parentData: data,
																																															parentDataProperty: "oneOf",
																																															rootData
																																														})) {
																																															vErrors = vErrors === null ? validate13.errors : vErrors.concat(validate13.errors);
																																															errors = vErrors.length;
																																														}
																																														var valid0 = _errs101 === errors;
																																													} else {
																																														var valid0 = true;
																																													}
																																													if (valid0) {
																																														if (data.not !== undefined) {
																																															const _errs102 = errors;
																																															if (!validate10(data.not, {
																																																instancePath: instancePath + "/not",
																																																parentData: data,
																																																parentDataProperty: "not",
																																																rootData
																																															})) {
																																																vErrors = vErrors === null ? validate10.errors : vErrors.concat(validate10.errors);
																																																errors = vErrors.length;
																																															}
																																															var valid0 = _errs102 === errors;
																																														} else {
																																															var valid0 = true;
																																														}
																																													}
																																												}
																																											}
																																										}
																																									}
																																								}
																																							}
																																						}
																																					}
																																				}
																																			}
																																		}
																																	}
																																}
																															}
																														}
																													}
																												}
																											}
																										}
																									}
																								}
																							}
																						}
																					}
																				}
																			}
																		}
																	}
																}
															}
														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
		validate10.errors = vErrors;
		return errors === 0;
	}
}));

//#endregion
//#region ../node_modules/@fastify/merge-json-schemas/lib/errors.js
var require_errors$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var MergeError = class extends Error {
		constructor(keyword, schemas) {
			super();
			this.name = "JsonSchemaMergeError";
			this.code = "JSON_SCHEMA_MERGE_ERROR";
			this.message = `Failed to merge "${keyword}" keyword schemas.`;
			this.schemas = schemas;
		}
	};
	var ResolverNotFoundError = class extends Error {
		constructor(keyword, schemas) {
			super();
			this.name = "JsonSchemaMergeError";
			this.code = "JSON_SCHEMA_MERGE_ERROR";
			this.message = `Resolver for "${keyword}" keyword not found.`;
			this.schemas = schemas;
		}
	};
	var InvalidOnConflictOptionError = class extends Error {
		constructor(onConflict) {
			super();
			this.name = "JsonSchemaMergeError";
			this.code = "JSON_SCHEMA_MERGE_ERROR";
			this.message = `Invalid "onConflict" option: "${onConflict}".`;
		}
	};
	module.exports = {
		MergeError,
		ResolverNotFoundError,
		InvalidOnConflictOptionError
	};
}));

//#endregion
//#region ../node_modules/@fastify/merge-json-schemas/lib/resolvers.js
var require_resolvers = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const deepEqual = require_fast_deep_equal();
	const { MergeError } = require_errors$1();
	function _arraysIntersection(arrays) {
		let intersection = arrays[0];
		for (let i = 1; i < arrays.length; i++) {
			intersection = intersection.filter((value) => arrays[i].includes(value));
		}
		return intersection;
	}
	function arraysIntersection(keyword, values, mergedSchema) {
		const intersection = _arraysIntersection(values);
		if (intersection.length === 0) {
			throw new MergeError(keyword, values);
		}
		mergedSchema[keyword] = intersection;
	}
	function hybridArraysIntersection(keyword, values, mergedSchema) {
		for (let i = 0; i < values.length; i++) {
			if (!Array.isArray(values[i])) {
				values[i] = [values[i]];
			}
		}
		const intersection = _arraysIntersection(values);
		if (intersection.length === 0) {
			throw new MergeError(keyword, values);
		}
		if (intersection.length === 1) {
			mergedSchema[keyword] = intersection[0];
		} else {
			mergedSchema[keyword] = intersection;
		}
	}
	function arraysUnion(keyword, values, mergedSchema) {
		const union = [];
		for (const array of values) {
			for (const value of array) {
				if (!union.includes(value)) {
					union.push(value);
				}
			}
		}
		mergedSchema[keyword] = union;
	}
	function minNumber(keyword, values, mergedSchema) {
		mergedSchema[keyword] = Math.min(...values);
	}
	function maxNumber(keyword, values, mergedSchema) {
		mergedSchema[keyword] = Math.max(...values);
	}
	function commonMultiple(keyword, values, mergedSchema) {
		const gcd = (a, b) => !b ? a : gcd(b, a % b);
		const lcm = (a, b) => a * b / gcd(a, b);
		let scale = 1;
		for (const value of values) {
			while (value * scale % 1 !== 0) {
				scale *= 10;
			}
		}
		let multiple = values[0] * scale;
		for (const value of values) {
			multiple = lcm(multiple, value * scale);
		}
		mergedSchema[keyword] = multiple / scale;
	}
	function allEqual(keyword, values, mergedSchema) {
		const firstValue = values[0];
		for (let i = 1; i < values.length; i++) {
			if (!deepEqual(values[i], firstValue)) {
				throw new MergeError(keyword, values);
			}
		}
		mergedSchema[keyword] = firstValue;
	}
	function skip() {}
	function booleanAnd(keyword, values, mergedSchema) {
		for (const value of values) {
			if (value === false) {
				mergedSchema[keyword] = false;
				return;
			}
		}
		mergedSchema[keyword] = true;
	}
	function booleanOr(keyword, values, mergedSchema) {
		for (const value of values) {
			if (value === true) {
				mergedSchema[keyword] = true;
				return;
			}
		}
		mergedSchema[keyword] = false;
	}
	module.exports = {
		arraysIntersection,
		hybridArraysIntersection,
		arraysUnion,
		minNumber,
		maxNumber,
		commonMultiple,
		allEqual,
		booleanAnd,
		booleanOr,
		skip
	};
}));

//#endregion
//#region ../node_modules/@fastify/merge-json-schemas/index.js
var require_merge_json_schemas = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const deepEqual = require_fast_deep_equal();
	const resolvers = require_resolvers();
	const errors = require_errors$1();
	const keywordsResolvers = {
		$id: resolvers.skip,
		type: resolvers.hybridArraysIntersection,
		enum: resolvers.arraysIntersection,
		minLength: resolvers.maxNumber,
		maxLength: resolvers.minNumber,
		minimum: resolvers.maxNumber,
		maximum: resolvers.minNumber,
		multipleOf: resolvers.commonMultiple,
		exclusiveMinimum: resolvers.maxNumber,
		exclusiveMaximum: resolvers.minNumber,
		minItems: resolvers.maxNumber,
		maxItems: resolvers.minNumber,
		maxProperties: resolvers.minNumber,
		minProperties: resolvers.maxNumber,
		const: resolvers.allEqual,
		default: resolvers.allEqual,
		format: resolvers.allEqual,
		required: resolvers.arraysUnion,
		properties: mergeProperties,
		patternProperties: mergeObjects,
		additionalProperties: mergeSchemasResolver,
		items: mergeItems,
		additionalItems: mergeAdditionalItems,
		definitions: mergeObjects,
		$defs: mergeObjects,
		nullable: resolvers.booleanAnd,
		oneOf: mergeOneOf,
		anyOf: mergeOneOf,
		allOf: resolvers.arraysUnion,
		not: mergeSchemasResolver,
		if: mergeIfThenElseSchemas,
		then: resolvers.skip,
		else: resolvers.skip,
		dependencies: mergeDependencies,
		dependentRequired: mergeDependencies,
		dependentSchemas: mergeObjects,
		propertyNames: mergeSchemasResolver,
		uniqueItems: resolvers.booleanOr,
		contains: mergeSchemasResolver
	};
	function mergeSchemasResolver(keyword, values, mergedSchema, schemas, options) {
		mergedSchema[keyword] = _mergeSchemas(values, options);
	}
	function cartesianProduct(arrays) {
		let result = [[]];
		for (const array of arrays) {
			const temp = [];
			for (const x of result) {
				for (const y of array) {
					temp.push([...x, y]);
				}
			}
			result = temp;
		}
		return result;
	}
	function mergeOneOf(keyword, values, mergedSchema, schemas, options) {
		if (values.length === 1) {
			mergedSchema[keyword] = values[0];
			return;
		}
		const product = cartesianProduct(values);
		const mergedOneOf = [];
		for (const combination of product) {
			try {
				const mergedSchema = _mergeSchemas(combination, options);
				if (mergedSchema !== undefined) {
					mergedOneOf.push(mergedSchema);
				}
			} catch (error) {
				if (error instanceof errors.MergeError) continue;
				throw error;
			}
		}
		mergedSchema[keyword] = mergedOneOf;
	}
	function getSchemaForItem(schema, index) {
		const { items, additionalItems } = schema;
		if (Array.isArray(items)) {
			if (index < items.length) {
				return items[index];
			}
			return additionalItems;
		}
		if (items !== undefined) {
			return items;
		}
		return additionalItems;
	}
	function mergeItems(keyword, values, mergedSchema, schemas, options) {
		let maxArrayItemsLength = 0;
		for (const itemsSchema of values) {
			if (Array.isArray(itemsSchema)) {
				maxArrayItemsLength = Math.max(maxArrayItemsLength, itemsSchema.length);
			}
		}
		if (maxArrayItemsLength === 0) {
			mergedSchema[keyword] = _mergeSchemas(values, options);
			return;
		}
		const mergedItemsSchemas = [];
		for (let i = 0; i < maxArrayItemsLength; i++) {
			const indexItemSchemas = [];
			for (const schema of schemas) {
				const itemSchema = getSchemaForItem(schema, i);
				if (itemSchema !== undefined) {
					indexItemSchemas.push(itemSchema);
				}
			}
			mergedItemsSchemas[i] = _mergeSchemas(indexItemSchemas, options);
		}
		mergedSchema[keyword] = mergedItemsSchemas;
	}
	function mergeAdditionalItems(keyword, values, mergedSchema, schemas, options) {
		let hasArrayItems = false;
		for (const schema of schemas) {
			if (Array.isArray(schema.items)) {
				hasArrayItems = true;
				break;
			}
		}
		if (!hasArrayItems) {
			mergedSchema[keyword] = _mergeSchemas(values, options);
			return;
		}
		const mergedAdditionalItemsSchemas = [];
		for (const schema of schemas) {
			let additionalItemsSchema = schema.additionalItems;
			if (additionalItemsSchema === undefined && !Array.isArray(schema.items)) {
				additionalItemsSchema = schema.items;
			}
			if (additionalItemsSchema !== undefined) {
				mergedAdditionalItemsSchemas.push(additionalItemsSchema);
			}
		}
		mergedSchema[keyword] = _mergeSchemas(mergedAdditionalItemsSchemas, options);
	}
	function getSchemaForProperty(schema, propertyName) {
		const { properties, patternProperties, additionalProperties } = schema;
		if (properties?.[propertyName] !== undefined) {
			return properties[propertyName];
		}
		for (const pattern of Object.keys(patternProperties ?? {})) {
			const regexp = new RegExp(pattern);
			if (regexp.test(propertyName)) {
				return patternProperties[pattern];
			}
		}
		return additionalProperties;
	}
	function mergeProperties(keyword, values, mergedSchema, schemas, options) {
		const foundProperties = {};
		for (const currentSchema of schemas) {
			const properties = currentSchema.properties ?? {};
			for (const propertyName of Object.keys(properties)) {
				if (foundProperties[propertyName] !== undefined) continue;
				const propertySchema = properties[propertyName];
				foundProperties[propertyName] = [propertySchema];
				for (const anotherSchema of schemas) {
					if (currentSchema === anotherSchema) continue;
					const propertySchema = getSchemaForProperty(anotherSchema, propertyName);
					if (propertySchema !== undefined) {
						foundProperties[propertyName].push(propertySchema);
					}
				}
			}
		}
		const mergedProperties = {};
		for (const property of Object.keys(foundProperties)) {
			const propertySchemas = foundProperties[property];
			mergedProperties[property] = _mergeSchemas(propertySchemas, options);
		}
		mergedSchema[keyword] = mergedProperties;
	}
	function mergeObjects(keyword, values, mergedSchema, schemas, options) {
		const objectsProperties = {};
		for (const properties of values) {
			for (const propertyName of Object.keys(properties)) {
				if (objectsProperties[propertyName] === undefined) {
					objectsProperties[propertyName] = [];
				}
				objectsProperties[propertyName].push(properties[propertyName]);
			}
		}
		const mergedProperties = {};
		for (const propertyName of Object.keys(objectsProperties)) {
			const propertySchemas = objectsProperties[propertyName];
			const mergedPropertySchema = _mergeSchemas(propertySchemas, options);
			mergedProperties[propertyName] = mergedPropertySchema;
		}
		mergedSchema[keyword] = mergedProperties;
	}
	function mergeIfThenElseSchemas(keyword, values, mergedSchema, schemas, options) {
		for (let i = 0; i < schemas.length; i++) {
			const subSchema = {
				if: schemas[i].if,
				then: schemas[i].then,
				else: schemas[i].else
			};
			if (subSchema.if === undefined) continue;
			if (mergedSchema.if === undefined) {
				mergedSchema.if = subSchema.if;
				if (subSchema.then !== undefined) {
					mergedSchema.then = subSchema.then;
				}
				if (subSchema.else !== undefined) {
					mergedSchema.else = subSchema.else;
				}
				continue;
			}
			if (mergedSchema.then !== undefined) {
				mergedSchema.then = _mergeSchemas([mergedSchema.then, subSchema], options);
			}
			if (mergedSchema.else !== undefined) {
				mergedSchema.else = _mergeSchemas([mergedSchema.else, subSchema], options);
			}
		}
	}
	function mergeDependencies(keyword, values, mergedSchema) {
		const mergedDependencies = {};
		for (const dependencies of values) {
			for (const propertyName of Object.keys(dependencies)) {
				if (mergedDependencies[propertyName] === undefined) {
					mergedDependencies[propertyName] = [];
				}
				const mergedPropertyDependencies = mergedDependencies[propertyName];
				for (const propertyDependency of dependencies[propertyName]) {
					if (!mergedPropertyDependencies.includes(propertyDependency)) {
						mergedPropertyDependencies.push(propertyDependency);
					}
				}
			}
		}
		mergedSchema[keyword] = mergedDependencies;
	}
	function _mergeSchemas(schemas, options) {
		if (schemas.length === 0) return {};
		if (schemas.length === 1) return schemas[0];
		const mergedSchema = {};
		const keywords = {};
		let allSchemasAreTrue = true;
		for (const schema of schemas) {
			if (schema === false) return false;
			if (schema === true) continue;
			allSchemasAreTrue = false;
			for (const keyword of Object.keys(schema)) {
				if (keywords[keyword] === undefined) {
					keywords[keyword] = [];
				}
				keywords[keyword].push(schema[keyword]);
			}
		}
		if (allSchemasAreTrue) return true;
		for (const keyword of Object.keys(keywords)) {
			const keywordValues = keywords[keyword];
			const resolver = options.resolvers[keyword] ?? options.defaultResolver;
			resolver(keyword, keywordValues, mergedSchema, schemas, options);
		}
		return mergedSchema;
	}
	function defaultResolver(keyword, values, mergedSchema, schemas, options) {
		const onConflict = options.onConflict ?? "throw";
		if (values.length === 1 || onConflict === "first") {
			mergedSchema[keyword] = values[0];
			return;
		}
		let allValuesEqual = true;
		for (let i = 1; i < values.length; i++) {
			if (!deepEqual(values[i], values[0])) {
				allValuesEqual = false;
				break;
			}
		}
		if (allValuesEqual) {
			mergedSchema[keyword] = values[0];
			return;
		}
		if (onConflict === "throw") {
			throw new errors.ResolverNotFoundError(keyword, values);
		}
		if (onConflict === "skip") {
			return;
		}
		throw new errors.InvalidOnConflictOptionError(onConflict);
	}
	function mergeSchemas(schemas, options = {}) {
		if (options.defaultResolver === undefined) {
			options.defaultResolver = defaultResolver;
		}
		options.resolvers = {
			...keywordsResolvers,
			...options.resolvers
		};
		const mergedSchema = _mergeSchemas(schemas, options);
		return mergedSchema;
	}
	module.exports = {
		mergeSchemas,
		keywordsResolvers,
		defaultResolver,
		...errors
	};
}));

//#endregion
//#region ../node_modules/fast-json-stringify/lib/merge-schemas.js
var require_merge_schemas = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { mergeSchemas: _mergeSchemas } = require_merge_json_schemas();
	function mergeSchemas(schemas) {
		return _mergeSchemas(schemas, { onConflict: "skip" });
	}
	module.exports = mergeSchemas;
}));

//#endregion
//#region ../node_modules/fast-json-stringify/lib/standalone.js
var require_standalone$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	function buildStandaloneCode(contextFunc, context, serializer, validator) {
		let ajvDependencyCode = "";
		if (context.validatorSchemasIds.size > 0) {
			ajvDependencyCode += "const Validator = require('fast-json-stringify/lib/validator')\n";
			ajvDependencyCode += `const validatorState = ${JSON.stringify(validator.getState())}\n`;
			ajvDependencyCode += "const validator = Validator.restoreFromState(validatorState)\n";
		} else {
			ajvDependencyCode += "const validator = null\n";
		}
		const { schema, ...serializerState } = serializer.getState();
		return `
  'use strict'

  const Serializer = require('fast-json-stringify/lib/serializer')
  const serializerState = ${JSON.stringify(serializerState)}
  const serializer = Serializer.restoreFromState(serializerState)

  ${ajvDependencyCode}

  module.exports = ${contextFunc.toString()}(validator, serializer)`;
	}
	module.exports = buildStandaloneCode;
	module.exports.dependencies = {
		Serializer: require_serializer$1(),
		Validator: require_validator()
	};
}));

//#endregion
//#region ../node_modules/fast-json-stringify/index.js
var require_fast_json_stringify = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { RefResolver } = require_json_schema_ref_resolver();
	const Serializer = require_serializer$1();
	const Validator = require_validator();
	const Location = require_location();
	const validate = require_schema_validator();
	const mergeSchemas = require_merge_schemas();
	const SINGLE_TICK = /'/g;
	let largeArraySize = 2e4;
	let largeArrayMechanism = "default";
	const validRoundingMethods = [
		"floor",
		"ceil",
		"round",
		"trunc"
	];
	const validLargeArrayMechanisms = ["default", "json-stringify"];
	let schemaIdCounter = 0;
	function isValidSchema(schema, name) {
		if (!validate(schema)) {
			if (name) {
				name = `"${name}" `;
			} else {
				name = "";
			}
			const first = validate.errors[0];
			const err = new Error(`${name}schema is invalid: data${first.instancePath} ${first.message}`);
			err.errors = isValidSchema.errors;
			throw err;
		}
	}
	function resolveRef(context, location) {
		const ref = location.schema.$ref;
		let hashIndex = ref.indexOf("#");
		if (hashIndex === -1) {
			hashIndex = ref.length;
		}
		const schemaId = ref.slice(0, hashIndex) || location.schemaId;
		const jsonPointer = ref.slice(hashIndex) || "#";
		const schema = context.refResolver.getSchema(schemaId, jsonPointer);
		if (schema === null) {
			throw new Error(`Cannot find reference "${ref}"`);
		}
		const newLocation = new Location(schema, schemaId, jsonPointer);
		if (schema.$ref !== undefined) {
			return resolveRef(context, newLocation);
		}
		return newLocation;
	}
	function getMergedLocation(context, mergedSchemaId) {
		const mergedSchema = context.refResolver.getSchema(mergedSchemaId, "#");
		return new Location(mergedSchema, mergedSchemaId, "#");
	}
	function getSchemaId(schema, rootSchemaId) {
		if (schema.$id && schema.$id.charAt(0) !== "#") {
			return schema.$id;
		}
		return rootSchemaId;
	}
	function build(schema, options) {
		isValidSchema(schema);
		options = options || {};
		const context = {
			functions: [],
			functionsCounter: 0,
			functionsNamesBySchema: new Map(),
			options,
			refResolver: new RefResolver(),
			rootSchemaId: schema.$id || `__fjs_root_${schemaIdCounter++}`,
			validatorSchemasIds: new Set(),
			mergedSchemasIds: new Map()
		};
		const schemaId = getSchemaId(schema, context.rootSchemaId);
		if (!context.refResolver.hasSchema(schemaId)) {
			context.refResolver.addSchema(schema, context.rootSchemaId);
		}
		if (options.schema) {
			for (const key in options.schema) {
				const schema = options.schema[key];
				const schemaId = getSchemaId(schema, key);
				if (!context.refResolver.hasSchema(schemaId)) {
					isValidSchema(schema, key);
					context.refResolver.addSchema(schema, key);
				}
			}
		}
		if (options.rounding) {
			if (!validRoundingMethods.includes(options.rounding)) {
				throw new Error(`Unsupported integer rounding method ${options.rounding}`);
			}
		}
		if (options.largeArrayMechanism) {
			if (validLargeArrayMechanisms.includes(options.largeArrayMechanism)) {
				largeArrayMechanism = options.largeArrayMechanism;
			} else {
				throw new Error(`Unsupported large array mechanism ${options.largeArrayMechanism}`);
			}
		}
		if (options.largeArraySize) {
			if (typeof options.largeArraySize === "string" && Number.isFinite(Number.parseInt(options.largeArraySize, 10))) {
				largeArraySize = Number.parseInt(options.largeArraySize, 10);
			} else if (typeof options.largeArraySize === "number" && Number.isInteger(options.largeArraySize)) {
				largeArraySize = options.largeArraySize;
			} else if (typeof options.largeArraySize === "bigint") {
				largeArraySize = Number(options.largeArraySize);
			} else {
				throw new Error(`Unsupported large array size. Expected integer-like, got ${typeof options.largeArraySize} with value ${options.largeArraySize}`);
			}
		}
		const location = new Location(schema, context.rootSchemaId);
		const code = buildValue(context, location, "input");
		let contextFunctionCode = `
    const JSON_STR_BEGIN_OBJECT = '{'
    const JSON_STR_END_OBJECT = '}'
    const JSON_STR_BEGIN_ARRAY = '['
    const JSON_STR_END_ARRAY = ']'
    const JSON_STR_COMMA = ','
    const JSON_STR_COLONS = ':'
    const JSON_STR_QUOTE = '"'
    const JSON_STR_EMPTY_OBJECT = JSON_STR_BEGIN_OBJECT + JSON_STR_END_OBJECT
    const JSON_STR_EMPTY_ARRAY = JSON_STR_BEGIN_ARRAY + JSON_STR_END_ARRAY
    const JSON_STR_EMPTY_STRING = JSON_STR_QUOTE + JSON_STR_QUOTE
    const JSON_STR_NULL = 'null'
  `;
		if (code === "json += anonymous0(input)") {
			contextFunctionCode += `
    ${context.functions.join("\n")}
    const main = anonymous0
    return main
    `;
		} else {
			contextFunctionCode += `
    function main (input) {
      let json = ''
      ${code}
      return json
    }
    ${context.functions.join("\n")}
    return main
    `;
		}
		const serializer = new Serializer(options);
		const validator = new Validator(options.ajv);
		for (const schemaId of context.validatorSchemasIds) {
			const schema = context.refResolver.getSchema(schemaId);
			validator.addSchema(schema, schemaId);
			const dependencies = context.refResolver.getSchemaDependencies(schemaId);
			for (const [schemaId, schema] of Object.entries(dependencies)) {
				validator.addSchema(schema, schemaId);
			}
		}
		if (options.debugMode) {
			options.mode = "debug";
		}
		if (options.mode === "debug") {
			return {
				validator,
				serializer,
				code: `validator\nserializer\n${contextFunctionCode}`,
				ajv: validator.ajv
			};
		}
		const contextFunc = new Function("validator", "serializer", contextFunctionCode);
		if (options.mode === "standalone") {
			const buildStandaloneCode = require_standalone$3();
			return buildStandaloneCode(contextFunc, context, serializer, validator);
		}
		return contextFunc(validator, serializer);
	}
	const objectKeywords = [
		"properties",
		"required",
		"additionalProperties",
		"patternProperties",
		"maxProperties",
		"minProperties",
		"dependencies"
	];
	const arrayKeywords = [
		"items",
		"additionalItems",
		"maxItems",
		"minItems",
		"uniqueItems",
		"contains"
	];
	const stringKeywords = [
		"maxLength",
		"minLength",
		"pattern"
	];
	const numberKeywords = [
		"multipleOf",
		"maximum",
		"exclusiveMaximum",
		"minimum",
		"exclusiveMinimum"
	];
	/**
	* Infer type based on keyword in order to generate optimized code
	* https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01#section-6
	*/
	function inferTypeByKeyword(schema) {
		for (var keyword of objectKeywords) {
			if (keyword in schema) return "object";
		}
		for (var keyword of arrayKeywords) {
			if (keyword in schema) return "array";
		}
		for (var keyword of stringKeywords) {
			if (keyword in schema) return "string";
		}
		for (var keyword of numberKeywords) {
			if (keyword in schema) return "number";
		}
		return schema.type;
	}
	function buildExtraObjectPropertiesSerializer(context, location, addComma) {
		const schema = location.schema;
		const propertiesKeys = Object.keys(schema.properties || {});
		let code = `
    const propertiesKeys = ${JSON.stringify(propertiesKeys)}
    for (const [key, value] of Object.entries(obj)) {
      if (
        propertiesKeys.includes(key) ||
        value === undefined ||
        typeof value === 'function' ||
        typeof value === 'symbol'
      ) continue
  `;
		const patternPropertiesLocation = location.getPropertyLocation("patternProperties");
		const patternPropertiesSchema = patternPropertiesLocation.schema;
		if (patternPropertiesSchema !== undefined) {
			for (const propertyKey in patternPropertiesSchema) {
				const propertyLocation = patternPropertiesLocation.getPropertyLocation(propertyKey);
				code += `
        if (/${propertyKey.replace(/\\*\//g, "\\/")}/.test(key)) {
          ${addComma}
          json += serializer.asString(key) + JSON_STR_COLONS
          ${buildValue(context, propertyLocation, "value")}
          continue
        }
      `;
			}
		}
		const additionalPropertiesLocation = location.getPropertyLocation("additionalProperties");
		const additionalPropertiesSchema = additionalPropertiesLocation.schema;
		if (additionalPropertiesSchema !== undefined) {
			if (additionalPropertiesSchema === true) {
				code += `
        ${addComma}
        json += serializer.asString(key) + JSON_STR_COLONS + JSON.stringify(value)
      `;
			} else {
				const propertyLocation = location.getPropertyLocation("additionalProperties");
				code += `
        ${addComma}
        json += serializer.asString(key) + JSON_STR_COLONS
        ${buildValue(context, propertyLocation, "value")}
      `;
			}
		}
		code += `
    }
  `;
		return code;
	}
	function buildInnerObject(context, location) {
		const schema = location.schema;
		const propertiesLocation = location.getPropertyLocation("properties");
		const requiredProperties = schema.required || [];
		const propertiesKeys = Object.keys(schema.properties || {}).sort((key1, key2) => {
			const required1 = requiredProperties.includes(key1);
			const required2 = requiredProperties.includes(key2);
			return required1 === required2 ? 0 : required1 ? -1 : 1;
		});
		const hasRequiredProperties = requiredProperties.includes(propertiesKeys[0]);
		let code = "let value\n";
		for (const key of requiredProperties) {
			if (!propertiesKeys.includes(key)) {
				const sanitizedKey = JSON.stringify(key);
				code += `if (obj[${sanitizedKey}] === undefined) throw new Error('${sanitizedKey.replace(/'/g, "\\'")} is required!')\n`;
			}
		}
		code += "let json = JSON_STR_BEGIN_OBJECT\n";
		let addComma = "";
		if (!hasRequiredProperties) {
			code += "let addComma = false\n";
			addComma = "!addComma && (addComma = true) || (json += JSON_STR_COMMA)";
		}
		for (const key of propertiesKeys) {
			let propertyLocation = propertiesLocation.getPropertyLocation(key);
			if (propertyLocation.schema.$ref) {
				propertyLocation = resolveRef(context, propertyLocation);
			}
			const sanitizedKey = JSON.stringify(key);
			const defaultValue = propertyLocation.schema.default;
			const isRequired = requiredProperties.includes(key);
			code += `
      value = obj[${sanitizedKey}]
      if (value !== undefined) {
        ${addComma}
        json += ${JSON.stringify(sanitizedKey + ":")}
        ${buildValue(context, propertyLocation, "value")}
      }`;
			if (defaultValue !== undefined) {
				code += ` else {
        ${addComma}
        json += ${JSON.stringify(sanitizedKey + ":" + JSON.stringify(defaultValue))}
      }
      `;
			} else if (isRequired) {
				code += ` else {
        throw new Error('${sanitizedKey.replace(/'/g, "\\'")} is required!')
      }
      `;
			} else {
				code += "\n";
			}
			if (hasRequiredProperties) {
				addComma = "json += ','";
			}
		}
		if (schema.patternProperties || schema.additionalProperties) {
			code += buildExtraObjectPropertiesSerializer(context, location, addComma);
		}
		code += `
    return json + JSON_STR_END_OBJECT
  `;
		return code;
	}
	function mergeLocations(context, mergedSchemaId, mergedLocations) {
		for (let i = 0; i < mergedLocations.length; i++) {
			const location = mergedLocations[i];
			const schema = location.schema;
			if (schema.$ref) {
				mergedLocations[i] = resolveRef(context, location);
			}
		}
		const mergedSchemas = [];
		for (const location of mergedLocations) {
			const schema = cloneOriginSchema(context, location.schema, location.schemaId);
			delete schema.$id;
			mergedSchemas.push(schema);
		}
		const mergedSchema = mergeSchemas(mergedSchemas);
		const mergedLocation = new Location(mergedSchema, mergedSchemaId);
		context.refResolver.addSchema(mergedSchema, mergedSchemaId);
		return mergedLocation;
	}
	function cloneOriginSchema(context, schema, schemaId) {
		const clonedSchema = Array.isArray(schema) ? [] : {};
		if (schema.$id !== undefined && schema.$id.charAt(0) !== "#") {
			schemaId = schema.$id;
		}
		const mergedSchemaRef = context.mergedSchemasIds.get(schema);
		if (mergedSchemaRef) {
			context.mergedSchemasIds.set(clonedSchema, mergedSchemaRef);
		}
		for (const key in schema) {
			let value = schema[key];
			if (key === "$ref" && typeof value === "string" && value.charAt(0) === "#") {
				value = schemaId + value;
			}
			if (typeof value === "object" && value !== null) {
				value = cloneOriginSchema(context, value, schemaId);
			}
			clonedSchema[key] = value;
		}
		return clonedSchema;
	}
	function toJSON(variableName) {
		return `(${variableName} && typeof ${variableName}.toJSON === 'function')
    ? ${variableName}.toJSON()
    : ${variableName}
  `;
	}
	function buildObject(context, location) {
		const schema = location.schema;
		if (context.functionsNamesBySchema.has(schema)) {
			return context.functionsNamesBySchema.get(schema);
		}
		const functionName = generateFuncName(context);
		context.functionsNamesBySchema.set(schema, functionName);
		let schemaRef = location.getSchemaRef();
		if (schemaRef.startsWith(context.rootSchemaId)) {
			schemaRef = schemaRef.replace(context.rootSchemaId, "");
		}
		let functionCode = `
  `;
		const nullable = schema.nullable === true;
		functionCode += `
    // ${schemaRef}
    function ${functionName} (input) {
      const obj = ${toJSON("input")}
      ${!nullable ? "if (obj === null) return JSON_STR_EMPTY_OBJECT" : ""}

      ${buildInnerObject(context, location)}
    }
  `;
		context.functions.push(functionCode);
		return functionName;
	}
	function buildArray(context, location) {
		const schema = location.schema;
		let itemsLocation = location.getPropertyLocation("items");
		itemsLocation.schema = itemsLocation.schema || {};
		if (itemsLocation.schema.$ref) {
			itemsLocation = resolveRef(context, itemsLocation);
		}
		const itemsSchema = itemsLocation.schema;
		if (context.functionsNamesBySchema.has(schema)) {
			return context.functionsNamesBySchema.get(schema);
		}
		const functionName = generateFuncName(context);
		context.functionsNamesBySchema.set(schema, functionName);
		let schemaRef = location.getSchemaRef();
		if (schemaRef.startsWith(context.rootSchemaId)) {
			schemaRef = schemaRef.replace(context.rootSchemaId, "");
		}
		let functionCode = `
    function ${functionName} (obj) {
      // ${schemaRef}
  `;
		const nullable = schema.nullable === true;
		functionCode += `
    ${!nullable ? "if (obj === null) return JSON_STR_EMPTY_ARRAY" : ""}
    if (!Array.isArray(obj)) {
      throw new TypeError(\`The value of '${schemaRef}' does not match schema definition.\`)
    }
    const arrayLength = obj.length
  `;
		if (!schema.additionalItems && Array.isArray(itemsSchema)) {
			functionCode += `
      if (arrayLength > ${itemsSchema.length}) {
        throw new Error(\`Item at ${itemsSchema.length} does not match schema definition.\`)
      }
    `;
		}
		if (largeArrayMechanism === "json-stringify") {
			functionCode += `if (arrayLength >= ${largeArraySize}) return JSON.stringify(obj)\n`;
		}
		functionCode += `
    const arrayEnd = arrayLength - 1
    let value
    let json = ''
  `;
		if (Array.isArray(itemsSchema)) {
			for (let i = 0; i < itemsSchema.length; i++) {
				const item = itemsSchema[i];
				functionCode += `value = obj[${i}]`;
				const tmpRes = buildValue(context, itemsLocation.getPropertyLocation(i), "value");
				functionCode += `
        if (${i} < arrayLength) {
          if (${buildArrayTypeCondition(item.type, `[${i}]`)}) {
            ${tmpRes}
            if (${i} < arrayEnd) {
              json += JSON_STR_COMMA
            }
          } else {
            throw new Error(\`Item at ${i} does not match schema definition.\`)
          }
        }
        `;
			}
			if (schema.additionalItems) {
				functionCode += `
        for (let i = ${itemsSchema.length}; i < arrayLength; i++) {
          json += JSON.stringify(obj[i])
          if (i < arrayEnd) {
            json += JSON_STR_COMMA
          }
        }`;
			}
		} else {
			const code = buildValue(context, itemsLocation, "obj[i]");
			functionCode += `
      for (let i = 0; i < arrayLength; i++) {
        ${code}
        if (i < arrayEnd) {
          json += JSON_STR_COMMA
        }
      }`;
		}
		functionCode += `
    return JSON_STR_BEGIN_ARRAY + json + JSON_STR_END_ARRAY
  }`;
		context.functions.push(functionCode);
		return functionName;
	}
	function buildArrayTypeCondition(type, accessor) {
		let condition;
		switch (type) {
			case "null":
				condition = "value === null";
				break;
			case "string":
				condition = `typeof value === 'string' ||
      value === null ||
      value instanceof Date ||
      value instanceof RegExp ||
      (
        typeof value === "object" &&
        typeof value.toString === "function" &&
        value.toString !== Object.prototype.toString
      )`;
				break;
			case "integer":
				condition = "Number.isInteger(value)";
				break;
			case "number":
				condition = "Number.isFinite(value)";
				break;
			case "boolean":
				condition = "typeof value === 'boolean'";
				break;
			case "object":
				condition = "value && typeof value === 'object' && value.constructor === Object";
				break;
			case "array":
				condition = "Array.isArray(value)";
				break;
			default: if (Array.isArray(type)) {
				const conditions = type.map((subType) => {
					return buildArrayTypeCondition(subType, accessor);
				});
				condition = `(${conditions.join(" || ")})`;
			}
		}
		return condition;
	}
	function generateFuncName(context) {
		return "anonymous" + context.functionsCounter++;
	}
	function buildMultiTypeSerializer(context, location, input) {
		const schema = location.schema;
		const types = schema.type.sort((t1) => t1 === "null" ? -1 : 1);
		let code = "";
		types.forEach((type, index) => {
			location.schema = {
				...location.schema,
				type
			};
			const nestedResult = buildSingleTypeSerializer(context, location, input);
			const statement = index === 0 ? "if" : "else if";
			switch (type) {
				case "null":
					code += `
          ${statement} (${input} === null)
            ${nestedResult}
          `;
					break;
				case "string": {
					code += `
          ${statement}(
            typeof ${input} === "string" ||
            ${input} === null ||
            ${input} instanceof Date ||
            ${input} instanceof RegExp ||
            (
              typeof ${input} === "object" &&
              typeof ${input}.toString === "function" &&
              ${input}.toString !== Object.prototype.toString
            )
          )
            ${nestedResult}
        `;
					break;
				}
				case "array": {
					code += `
          ${statement}(Array.isArray(${input}))
            ${nestedResult}
        `;
					break;
				}
				case "integer": {
					code += `
          ${statement}(Number.isInteger(${input}) || ${input} === null)
            ${nestedResult}
        `;
					break;
				}
				default: {
					code += `
          ${statement}(typeof ${input} === "${type}" || ${input} === null)
            ${nestedResult}
        `;
					break;
				}
			}
		});
		let schemaRef = location.getSchemaRef();
		if (schemaRef.startsWith(context.rootSchemaId)) {
			schemaRef = schemaRef.replace(context.rootSchemaId, "");
		}
		code += `
    else throw new TypeError(\`The value of '${schemaRef}' does not match schema definition.\`)
  `;
		return code;
	}
	function buildSingleTypeSerializer(context, location, input) {
		const schema = location.schema;
		switch (schema.type) {
			case "null": return "json += JSON_STR_NULL";
			case "string": {
				if (schema.format === "date-time") {
					return `json += serializer.asDateTime(${input})`;
				} else if (schema.format === "date") {
					return `json += serializer.asDate(${input})`;
				} else if (schema.format === "time") {
					return `json += serializer.asTime(${input})`;
				} else if (schema.format === "unsafe") {
					return `json += serializer.asUnsafeString(${input})`;
				} else {
					return `
        if (typeof ${input} !== 'string') {
          if (${input} === null) {
            json += JSON_STR_EMPTY_STRING
          } else if (${input} instanceof Date) {
            json += JSON_STR_QUOTE + ${input}.toISOString() + JSON_STR_QUOTE
          } else if (${input} instanceof RegExp) {
            json += serializer.asString(${input}.source)
          } else {
            json += serializer.asString(${input}.toString())
          }
        } else {
          json += serializer.asString(${input})
        }
        `;
				}
			}
			case "integer": return `json += serializer.asInteger(${input})`;
			case "number": return `json += serializer.asNumber(${input})`;
			case "boolean": return `json += serializer.asBoolean(${input})`;
			case "object": {
				const funcName = buildObject(context, location);
				return `json += ${funcName}(${input})`;
			}
			case "array": {
				const funcName = buildArray(context, location);
				return `json += ${funcName}(${input})`;
			}
			case undefined: return `json += JSON.stringify(${input})`;
			default: throw new Error(`${schema.type} unsupported`);
		}
	}
	function buildConstSerializer(location, input) {
		const schema = location.schema;
		const type = schema.type;
		const hasNullType = Array.isArray(type) && type.includes("null");
		let code = "";
		if (hasNullType) {
			code += `
      if (${input} === null) {
        json += JSON_STR_NULL
      } else {
    `;
		}
		code += `json += '${JSON.stringify(schema.const).replace(SINGLE_TICK, "\\'")}'`;
		if (hasNullType) {
			code += `
      }
    `;
		}
		return code;
	}
	function buildAllOf(context, location, input) {
		const schema = location.schema;
		let mergedSchemaId = context.mergedSchemasIds.get(schema);
		if (mergedSchemaId) {
			const mergedLocation = getMergedLocation(context, mergedSchemaId);
			return buildValue(context, mergedLocation, input);
		}
		mergedSchemaId = `__fjs_merged_${schemaIdCounter++}`;
		context.mergedSchemasIds.set(schema, mergedSchemaId);
		const { allOf, ...schemaWithoutAllOf } = location.schema;
		const locations = [new Location(schemaWithoutAllOf, location.schemaId, location.jsonPointer)];
		const allOfsLocation = location.getPropertyLocation("allOf");
		for (let i = 0; i < allOf.length; i++) {
			locations.push(allOfsLocation.getPropertyLocation(i));
		}
		const mergedLocation = mergeLocations(context, mergedSchemaId, locations);
		return buildValue(context, mergedLocation, input);
	}
	function buildOneOf(context, location, input) {
		context.validatorSchemasIds.add(location.schemaId);
		const schema = location.schema;
		const type = schema.anyOf ? "anyOf" : "oneOf";
		const { [type]: oneOfs, ...schemaWithoutAnyOf } = location.schema;
		const locationWithoutOneOf = new Location(schemaWithoutAnyOf, location.schemaId, location.jsonPointer);
		const oneOfsLocation = location.getPropertyLocation(type);
		let code = "";
		for (let index = 0; index < oneOfs.length; index++) {
			const optionLocation = oneOfsLocation.getPropertyLocation(index);
			const optionSchema = optionLocation.schema;
			let mergedSchemaId = context.mergedSchemasIds.get(optionSchema);
			let mergedLocation = null;
			if (mergedSchemaId) {
				mergedLocation = getMergedLocation(context, mergedSchemaId);
			} else {
				mergedSchemaId = `__fjs_merged_${schemaIdCounter++}`;
				context.mergedSchemasIds.set(optionSchema, mergedSchemaId);
				mergedLocation = mergeLocations(context, mergedSchemaId, [locationWithoutOneOf, optionLocation]);
			}
			const nestedResult = buildValue(context, mergedLocation, input);
			const schemaRef = optionLocation.getSchemaRef();
			code += `
      ${index === 0 ? "if" : "else if"}(validator.validate("${schemaRef}", ${input}))
        ${nestedResult}
    `;
		}
		let schemaRef = location.getSchemaRef();
		if (schemaRef.startsWith(context.rootSchemaId)) {
			schemaRef = schemaRef.replace(context.rootSchemaId, "");
		}
		code += `
    else throw new TypeError(\`The value of '${schemaRef}' does not match schema definition.\`)
  `;
		return code;
	}
	function buildIfThenElse(context, location, input) {
		context.validatorSchemasIds.add(location.schemaId);
		const { if: ifSchema, then: thenSchema, else: elseSchema, ...schemaWithoutIfThenElse } = location.schema;
		const rootLocation = new Location(schemaWithoutIfThenElse, location.schemaId, location.jsonPointer);
		const ifLocation = location.getPropertyLocation("if");
		const ifSchemaRef = ifLocation.getSchemaRef();
		const thenLocation = location.getPropertyLocation("then");
		let thenMergedSchemaId = context.mergedSchemasIds.get(thenSchema);
		let thenMergedLocation = null;
		if (thenMergedSchemaId) {
			thenMergedLocation = getMergedLocation(context, thenMergedSchemaId);
		} else {
			thenMergedSchemaId = `__fjs_merged_${schemaIdCounter++}`;
			context.mergedSchemasIds.set(thenSchema, thenMergedSchemaId);
			thenMergedLocation = mergeLocations(context, thenMergedSchemaId, [rootLocation, thenLocation]);
		}
		if (!elseSchema) {
			return `
      if (validator.validate("${ifSchemaRef}", ${input})) {
        ${buildValue(context, thenMergedLocation, input)}
      } else {
        ${buildValue(context, rootLocation, input)}
      }
    `;
		}
		const elseLocation = location.getPropertyLocation("else");
		let elseMergedSchemaId = context.mergedSchemasIds.get(elseSchema);
		let elseMergedLocation = null;
		if (elseMergedSchemaId) {
			elseMergedLocation = getMergedLocation(context, elseMergedSchemaId);
		} else {
			elseMergedSchemaId = `__fjs_merged_${schemaIdCounter++}`;
			context.mergedSchemasIds.set(elseSchema, elseMergedSchemaId);
			elseMergedLocation = mergeLocations(context, elseMergedSchemaId, [rootLocation, elseLocation]);
		}
		return `
    if (validator.validate("${ifSchemaRef}", ${input})) {
      ${buildValue(context, thenMergedLocation, input)}
    } else {
      ${buildValue(context, elseMergedLocation, input)}
    }
  `;
	}
	function buildValue(context, location, input) {
		let schema = location.schema;
		if (typeof schema === "boolean") {
			return `json += JSON.stringify(${input})`;
		}
		if (schema.$ref) {
			location = resolveRef(context, location);
			schema = location.schema;
		}
		if (schema.allOf) {
			return buildAllOf(context, location, input);
		}
		if (schema.anyOf || schema.oneOf) {
			return buildOneOf(context, location, input);
		}
		if (schema.if && schema.then) {
			return buildIfThenElse(context, location, input);
		}
		if (schema.type === undefined) {
			const inferredType = inferTypeByKeyword(schema);
			if (inferredType) {
				schema.type = inferredType;
			}
		}
		let code = "";
		const type = schema.type;
		const nullable = schema.nullable === true;
		if (nullable) {
			code += `
      if (${input} === null) {
        json += JSON_STR_NULL
      } else {
    `;
		}
		if (schema.const !== undefined) {
			code += buildConstSerializer(location, input);
		} else if (Array.isArray(type)) {
			code += buildMultiTypeSerializer(context, location, input);
		} else {
			code += buildSingleTypeSerializer(context, location, input);
		}
		if (nullable) {
			code += `
      }
    `;
		}
		return code;
	}
	module.exports = build;
	module.exports.default = build;
	module.exports.build = build;
	module.exports.validLargeArrayMechanisms = validLargeArrayMechanisms;
	module.exports.restore = function({ code, validator, serializer }) {
		return Function.apply(null, [
			"validator",
			"serializer",
			code
		]).apply(null, [validator, serializer]);
	};
}));

//#endregion
//#region ../node_modules/@fastify/fast-json-stringify-compiler/standalone.js
var require_standalone$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const SerializerSelector = require_fast_json_stringify_compiler();
	function StandaloneSerializer(options = { readMode: true }) {
		if (options.readMode === true && typeof options.restoreFunction !== "function") {
			throw new Error("You must provide a function for the restoreFunction-option when readMode ON");
		}
		if (options.readMode !== true && typeof options.storeFunction !== "function") {
			throw new Error("You must provide a function for the storeFunction-option when readMode OFF");
		}
		if (options.readMode === true) {
			return function wrapper() {
				return function(opts) {
					return options.restoreFunction(opts);
				};
			};
		}
		const factory = SerializerSelector();
		return function wrapper(externalSchemas, serializerOpts = {}) {
			serializerOpts.mode = "standalone";
			const compiler = factory(externalSchemas, serializerOpts);
			return function(opts) {
				const serializeFuncCode = compiler(opts);
				options.storeFunction(opts, serializeFuncCode);
				return new Function(serializeFuncCode);
			};
		};
	}
	module.exports = StandaloneSerializer;
	module.exports.default = StandaloneSerializer;
}));

//#endregion
//#region ../node_modules/@fastify/fast-json-stringify-compiler/index.js
var require_fast_json_stringify_compiler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const fastJsonStringify = require_fast_json_stringify();
	function SerializerSelector() {
		return function buildSerializerFactory(externalSchemas, serializerOpts) {
			const fjsOpts = Object.assign({}, serializerOpts, { schema: externalSchemas });
			return responseSchemaCompiler.bind(null, fjsOpts);
		};
	}
	function responseSchemaCompiler(fjsOpts, { schema }) {
		if (fjsOpts.schema && schema.$id && fjsOpts.schema[schema.$id]) {
			fjsOpts.schema = { ...fjsOpts.schema };
			delete fjsOpts.schema[schema.$id];
		}
		return fastJsonStringify(schema, fjsOpts);
	}
	module.exports = SerializerSelector;
	module.exports.default = SerializerSelector;
	module.exports.SerializerSelector = SerializerSelector;
	module.exports.StandaloneSerializer = require_standalone$2();
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/jtd/metadata.js
var require_metadata = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.checkMetadata = void 0;
	const util_1 = require_util$7();
	const def = {
		keyword: "metadata",
		schemaType: "object",
		code(cxt) {
			checkMetadata(cxt);
			const { gen, schema, it } = cxt;
			if ((0, util_1.alwaysValidSchema)(it, schema)) return;
			const valid = gen.name("valid");
			cxt.subschema({
				keyword: "metadata",
				jtdMetadata: true
			}, valid);
			cxt.ok(valid);
		}
	};
	function checkMetadata({ it, keyword }, metadata) {
		if (it.jtdMetadata !== metadata) {
			throw new Error(`JTD: "${keyword}" cannot be used in this schema location`);
		}
	}
	exports.checkMetadata = checkMetadata;
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/jtd/ref.js
var require_ref = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.hasRef = void 0;
	const compile_1 = require_compile();
	const codegen_1 = require_codegen();
	const ref_error_1 = require_ref_error();
	const names_1 = require_names();
	const ref_1 = require_ref$1();
	const metadata_1 = require_metadata();
	const def = {
		keyword: "ref",
		schemaType: "string",
		code(cxt) {
			(0, metadata_1.checkMetadata)(cxt);
			const { gen, data, schema: ref, parentSchema, it } = cxt;
			const { schemaEnv: { root } } = it;
			const valid = gen.name("valid");
			if (parentSchema.nullable) {
				gen.var(valid, (0, codegen_1._)`${data} === null`);
				gen.if((0, codegen_1.not)(valid), validateJtdRef);
			} else {
				gen.var(valid, false);
				validateJtdRef();
			}
			cxt.ok(valid);
			function validateJtdRef() {
				var _a;
				const refSchema = (_a = root.schema.definitions) === null || _a === void 0 ? void 0 : _a[ref];
				if (!refSchema) {
					throw new ref_error_1.default(it.opts.uriResolver, "", ref, `No definition ${ref}`);
				}
				if (hasRef(refSchema) || !it.opts.inlineRefs) callValidate(refSchema);
				else inlineRefSchema(refSchema);
			}
			function callValidate(schema) {
				const sch = compile_1.compileSchema.call(it.self, new compile_1.SchemaEnv({
					schema,
					root,
					schemaPath: `/definitions/${ref}`
				}));
				const v = (0, ref_1.getValidate)(cxt, sch);
				const errsCount = gen.const("_errs", names_1.default.errors);
				(0, ref_1.callRef)(cxt, v, sch, sch.$async);
				gen.assign(valid, (0, codegen_1._)`${errsCount} === ${names_1.default.errors}`);
			}
			function inlineRefSchema(schema) {
				const schName = gen.scopeValue("schema", it.opts.code.source === true ? {
					ref: schema,
					code: (0, codegen_1.stringify)(schema)
				} : { ref: schema });
				cxt.subschema({
					schema,
					dataTypes: [],
					schemaPath: codegen_1.nil,
					topSchemaRef: schName,
					errSchemaPath: `/definitions/${ref}`
				}, valid);
			}
		}
	};
	function hasRef(schema) {
		for (const key in schema) {
			let sch;
			if (key === "ref" || typeof (sch = schema[key]) == "object" && hasRef(sch)) return true;
		}
		return false;
	}
	exports.hasRef = hasRef;
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/runtime/timestamp.js
var require_timestamp = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const DT_SEPARATOR = /t|\s/i;
	const DATE = /^(\d\d\d\d)-(\d\d)-(\d\d)$/;
	const TIME = /^(\d\d):(\d\d):(\d\d)(?:\.\d+)?(?:z|([+-]\d\d)(?::?(\d\d))?)$/i;
	const DAYS = [
		0,
		31,
		28,
		31,
		30,
		31,
		30,
		31,
		31,
		30,
		31,
		30,
		31
	];
	function validTimestamp(str, allowDate) {
		const dt = str.split(DT_SEPARATOR);
		return dt.length === 2 && validDate(dt[0]) && validTime(dt[1]) || allowDate && dt.length === 1 && validDate(dt[0]);
	}
	exports.default = validTimestamp;
	function validDate(str) {
		const matches = DATE.exec(str);
		if (!matches) return false;
		const y = +matches[1];
		const m = +matches[2];
		const d = +matches[3];
		return m >= 1 && m <= 12 && d >= 1 && (d <= DAYS[m] || m === 2 && d === 29 && (y % 100 === 0 ? y % 400 === 0 : y % 4 === 0));
	}
	function validTime(str) {
		const matches = TIME.exec(str);
		if (!matches) return false;
		const hr = +matches[1];
		const min = +matches[2];
		const sec = +matches[3];
		const tzH = +(matches[4] || 0);
		const tzM = +(matches[5] || 0);
		return hr <= 23 && min <= 59 && sec <= 59 || hr - tzH === 23 && min - tzM === 59 && sec === 60;
	}
	validTimestamp.code = "require(\"ajv/dist/runtime/timestamp\").default";
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/jtd/error.js
var require_error$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.typeErrorParams = exports.typeErrorMessage = exports.typeError = void 0;
	const codegen_1 = require_codegen();
	function typeError(t) {
		return {
			message: (cxt) => typeErrorMessage(cxt, t),
			params: (cxt) => typeErrorParams(cxt, t)
		};
	}
	exports.typeError = typeError;
	function typeErrorMessage({ parentSchema }, t) {
		return (parentSchema === null || parentSchema === void 0 ? void 0 : parentSchema.nullable) ? `must be ${t} or null` : `must be ${t}`;
	}
	exports.typeErrorMessage = typeErrorMessage;
	function typeErrorParams({ parentSchema }, t) {
		return (0, codegen_1._)`{type: ${t}, nullable: ${!!(parentSchema === null || parentSchema === void 0 ? void 0 : parentSchema.nullable)}}`;
	}
	exports.typeErrorParams = typeErrorParams;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/jtd/type.js
var require_type = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.intRange = void 0;
	const codegen_1 = require_codegen();
	const timestamp_1 = require_timestamp();
	const util_1 = require_util$7();
	const metadata_1 = require_metadata();
	const error_1 = require_error$1();
	exports.intRange = {
		int8: [
			-128,
			127,
			3
		],
		uint8: [
			0,
			255,
			3
		],
		int16: [
			-32768,
			32767,
			5
		],
		uint16: [
			0,
			65535,
			5
		],
		int32: [
			-2147483648,
			2147483647,
			10
		],
		uint32: [
			0,
			4294967295,
			10
		]
	};
	const error = {
		message: (cxt) => (0, error_1.typeErrorMessage)(cxt, cxt.schema),
		params: (cxt) => (0, error_1.typeErrorParams)(cxt, cxt.schema)
	};
	function timestampCode(cxt) {
		const { gen, data, it } = cxt;
		const { timestamp, allowDate } = it.opts;
		if (timestamp === "date") return (0, codegen_1._)`${data} instanceof Date `;
		const vts = (0, util_1.useFunc)(gen, timestamp_1.default);
		const allowDateArg = allowDate ? (0, codegen_1._)`, true` : codegen_1.nil;
		const validString = (0, codegen_1._)`typeof ${data} == "string" && ${vts}(${data}${allowDateArg})`;
		return timestamp === "string" ? validString : (0, codegen_1.or)((0, codegen_1._)`${data} instanceof Date`, validString);
	}
	const def = {
		keyword: "type",
		schemaType: "string",
		error,
		code(cxt) {
			(0, metadata_1.checkMetadata)(cxt);
			const { data, schema, parentSchema, it } = cxt;
			let cond;
			switch (schema) {
				case "boolean":
				case "string":
					cond = (0, codegen_1._)`typeof ${data} == ${schema}`;
					break;
				case "timestamp": {
					cond = timestampCode(cxt);
					break;
				}
				case "float32":
				case "float64":
					cond = (0, codegen_1._)`typeof ${data} == "number"`;
					break;
				default: {
					const sch = schema;
					cond = (0, codegen_1._)`typeof ${data} == "number" && isFinite(${data}) && !(${data} % 1)`;
					if (!it.opts.int32range && (sch === "int32" || sch === "uint32")) {
						if (sch === "uint32") cond = (0, codegen_1._)`${cond} && ${data} >= 0`;
					} else {
						const [min, max] = exports.intRange[sch];
						cond = (0, codegen_1._)`${cond} && ${data} >= ${min} && ${data} <= ${max}`;
					}
				}
			}
			cxt.pass(parentSchema.nullable ? (0, codegen_1.or)((0, codegen_1._)`${data} === null`, cond) : cond);
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/jtd/nullable.js
var require_nullable = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.checkNullableObject = exports.checkNullable = void 0;
	const codegen_1 = require_codegen();
	function checkNullable({ gen, data, parentSchema }, cond = codegen_1.nil) {
		const valid = gen.name("valid");
		if (parentSchema.nullable) {
			gen.let(valid, (0, codegen_1._)`${data} === null`);
			cond = (0, codegen_1.not)(valid);
		} else {
			gen.let(valid, false);
		}
		return [valid, cond];
	}
	exports.checkNullable = checkNullable;
	function checkNullableObject(cxt, cond) {
		const [valid, cond_] = checkNullable(cxt, cond);
		return [valid, (0, codegen_1._)`${cond_} && typeof ${cxt.data} == "object" && !Array.isArray(${cxt.data})`];
	}
	exports.checkNullableObject = checkNullableObject;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/jtd/enum.js
var require_enum = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const codegen_1 = require_codegen();
	const metadata_1 = require_metadata();
	const nullable_1 = require_nullable();
	const error = {
		message: "must be equal to one of the allowed values",
		params: ({ schemaCode }) => (0, codegen_1._)`{allowedValues: ${schemaCode}}`
	};
	const def = {
		keyword: "enum",
		schemaType: "array",
		error,
		code(cxt) {
			(0, metadata_1.checkMetadata)(cxt);
			const { gen, data, schema, schemaValue, parentSchema, it } = cxt;
			if (schema.length === 0) throw new Error("enum must have non-empty array");
			if (schema.length !== new Set(schema).size) throw new Error("enum items must be unique");
			let valid;
			const isString = (0, codegen_1._)`typeof ${data} == "string"`;
			if (schema.length >= it.opts.loopEnum) {
				let cond;
				[valid, cond] = (0, nullable_1.checkNullable)(cxt, isString);
				gen.if(cond, loopEnum);
			} else {
				/* istanbul ignore if */
				if (!Array.isArray(schema)) throw new Error("ajv implementation error");
				valid = (0, codegen_1.and)(isString, (0, codegen_1.or)(...schema.map((value) => (0, codegen_1._)`${data} === ${value}`)));
				if (parentSchema.nullable) valid = (0, codegen_1.or)((0, codegen_1._)`${data} === null`, valid);
			}
			cxt.pass(valid);
			function loopEnum() {
				gen.forOf("v", schemaValue, (v) => gen.if((0, codegen_1._)`${valid} = ${data} === ${v}`, () => gen.break()));
			}
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/jtd/elements.js
var require_elements = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const util_1 = require_util$7();
	const code_1 = require_code();
	const codegen_1 = require_codegen();
	const metadata_1 = require_metadata();
	const nullable_1 = require_nullable();
	const error_1 = require_error$1();
	const def = {
		keyword: "elements",
		schemaType: "object",
		error: (0, error_1.typeError)("array"),
		code(cxt) {
			(0, metadata_1.checkMetadata)(cxt);
			const { gen, data, schema, it } = cxt;
			if ((0, util_1.alwaysValidSchema)(it, schema)) return;
			const [valid] = (0, nullable_1.checkNullable)(cxt);
			gen.if((0, codegen_1.not)(valid), () => gen.if((0, codegen_1._)`Array.isArray(${data})`, () => gen.assign(valid, (0, code_1.validateArray)(cxt)), () => cxt.error()));
			cxt.ok(valid);
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/jtd/properties.js
var require_properties = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.validateProperties = exports.error = void 0;
	const code_1 = require_code();
	const util_1 = require_util$7();
	const codegen_1 = require_codegen();
	const metadata_1 = require_metadata();
	const nullable_1 = require_nullable();
	const error_1 = require_error$1();
	var PropError;
	(function(PropError) {
		PropError["Additional"] = "additional";
		PropError["Missing"] = "missing";
	})(PropError || (PropError = {}));
	exports.error = {
		message: (cxt) => {
			const { params } = cxt;
			return params.propError ? params.propError === PropError.Additional ? "must NOT have additional properties" : `must have property '${params.missingProperty}'` : (0, error_1.typeErrorMessage)(cxt, "object");
		},
		params: (cxt) => {
			const { params } = cxt;
			return params.propError ? params.propError === PropError.Additional ? (0, codegen_1._)`{error: ${params.propError}, additionalProperty: ${params.additionalProperty}}` : (0, codegen_1._)`{error: ${params.propError}, missingProperty: ${params.missingProperty}}` : (0, error_1.typeErrorParams)(cxt, "object");
		}
	};
	const def = {
		keyword: "properties",
		schemaType: "object",
		error: exports.error,
		code: validateProperties
	};
	function validateProperties(cxt) {
		(0, metadata_1.checkMetadata)(cxt);
		const { gen, data, parentSchema, it } = cxt;
		const { additionalProperties, nullable } = parentSchema;
		if (it.jtdDiscriminator && nullable) throw new Error("JTD: nullable inside discriminator mapping");
		if (commonProperties()) {
			throw new Error("JTD: properties and optionalProperties have common members");
		}
		const [allProps, properties] = schemaProperties("properties");
		const [allOptProps, optProperties] = schemaProperties("optionalProperties");
		if (properties.length === 0 && optProperties.length === 0 && additionalProperties) {
			return;
		}
		const [valid, cond] = it.jtdDiscriminator === undefined ? (0, nullable_1.checkNullableObject)(cxt, data) : [gen.let("valid", false), true];
		gen.if(cond, () => gen.assign(valid, true).block(() => {
			validateProps(properties, "properties", true);
			validateProps(optProperties, "optionalProperties");
			if (!additionalProperties) validateAdditional();
		}));
		cxt.pass(valid);
		function commonProperties() {
			const props = parentSchema.properties;
			const optProps = parentSchema.optionalProperties;
			if (!(props && optProps)) return false;
			for (const p in props) {
				if (Object.prototype.hasOwnProperty.call(optProps, p)) return true;
			}
			return false;
		}
		function schemaProperties(keyword) {
			const schema = parentSchema[keyword];
			const allPs = schema ? (0, code_1.allSchemaProperties)(schema) : [];
			if (it.jtdDiscriminator && allPs.some((p) => p === it.jtdDiscriminator)) {
				throw new Error(`JTD: discriminator tag used in ${keyword}`);
			}
			const ps = allPs.filter((p) => !(0, util_1.alwaysValidSchema)(it, schema[p]));
			return [allPs, ps];
		}
		function validateProps(props, keyword, required) {
			const _valid = gen.var("valid");
			for (const prop of props) {
				gen.if((0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties), () => applyPropertySchema(prop, keyword, _valid), () => missingProperty(prop));
				cxt.ok(_valid);
			}
			function missingProperty(prop) {
				if (required) {
					gen.assign(_valid, false);
					cxt.error(false, {
						propError: PropError.Missing,
						missingProperty: prop
					}, { schemaPath: prop });
				} else {
					gen.assign(_valid, true);
				}
			}
		}
		function applyPropertySchema(prop, keyword, _valid) {
			cxt.subschema({
				keyword,
				schemaProp: prop,
				dataProp: prop
			}, _valid);
		}
		function validateAdditional() {
			gen.forIn("key", data, (key) => {
				const addProp = isAdditional(key, allProps, "properties", it.jtdDiscriminator);
				const addOptProp = isAdditional(key, allOptProps, "optionalProperties");
				const extra = addProp === true ? addOptProp : addOptProp === true ? addProp : (0, codegen_1.and)(addProp, addOptProp);
				gen.if(extra, () => {
					if (it.opts.removeAdditional) {
						gen.code((0, codegen_1._)`delete ${data}[${key}]`);
					} else {
						cxt.error(false, {
							propError: PropError.Additional,
							additionalProperty: key
						}, {
							instancePath: key,
							parentSchema: true
						});
						if (!it.opts.allErrors) gen.break();
					}
				});
			});
		}
		function isAdditional(key, props, keyword, jtdDiscriminator) {
			let additional;
			if (props.length > 8) {
				const propsSchema = (0, util_1.schemaRefOrVal)(it, parentSchema[keyword], keyword);
				additional = (0, codegen_1.not)((0, code_1.isOwnProperty)(gen, propsSchema, key));
				if (jtdDiscriminator !== undefined) {
					additional = (0, codegen_1.and)(additional, (0, codegen_1._)`${key} !== ${jtdDiscriminator}`);
				}
			} else if (props.length || jtdDiscriminator !== undefined) {
				const ps = jtdDiscriminator === undefined ? props : [jtdDiscriminator].concat(props);
				additional = (0, codegen_1.and)(...ps.map((p) => (0, codegen_1._)`${key} !== ${p}`));
			} else {
				additional = true;
			}
			return additional;
		}
	}
	exports.validateProperties = validateProperties;
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js
var require_optionalProperties = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const properties_1 = require_properties();
	const def = {
		keyword: "optionalProperties",
		schemaType: "object",
		error: properties_1.error,
		code(cxt) {
			if (cxt.parentSchema.properties) return;
			(0, properties_1.validateProperties)(cxt);
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/jtd/discriminator.js
var require_discriminator = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const codegen_1 = require_codegen();
	const metadata_1 = require_metadata();
	const nullable_1 = require_nullable();
	const error_1 = require_error$1();
	const types_1 = require_types$4();
	const error = {
		message: (cxt) => {
			const { schema, params } = cxt;
			return params.discrError ? params.discrError === types_1.DiscrError.Tag ? `tag "${schema}" must be string` : `value of tag "${schema}" must be in mapping` : (0, error_1.typeErrorMessage)(cxt, "object");
		},
		params: (cxt) => {
			const { schema, params } = cxt;
			return params.discrError ? (0, codegen_1._)`{error: ${params.discrError}, tag: ${schema}, tagValue: ${params.tag}}` : (0, error_1.typeErrorParams)(cxt, "object");
		}
	};
	const def = {
		keyword: "discriminator",
		schemaType: "string",
		implements: ["mapping"],
		error,
		code(cxt) {
			(0, metadata_1.checkMetadata)(cxt);
			const { gen, data, schema, parentSchema } = cxt;
			const [valid, cond] = (0, nullable_1.checkNullableObject)(cxt, data);
			gen.if(cond);
			validateDiscriminator();
			gen.elseIf((0, codegen_1.not)(valid));
			cxt.error();
			gen.endIf();
			cxt.ok(valid);
			function validateDiscriminator() {
				const tag = gen.const("tag", (0, codegen_1._)`${data}${(0, codegen_1.getProperty)(schema)}`);
				gen.if((0, codegen_1._)`${tag} === undefined`);
				cxt.error(false, {
					discrError: types_1.DiscrError.Tag,
					tag
				});
				gen.elseIf((0, codegen_1._)`typeof ${tag} == "string"`);
				validateMapping(tag);
				gen.else();
				cxt.error(false, {
					discrError: types_1.DiscrError.Tag,
					tag
				}, { instancePath: schema });
				gen.endIf();
			}
			function validateMapping(tag) {
				gen.if(false);
				for (const tagValue in parentSchema.mapping) {
					gen.elseIf((0, codegen_1._)`${tag} === ${tagValue}`);
					gen.assign(valid, applyTagSchema(tagValue));
				}
				gen.else();
				cxt.error(false, {
					discrError: types_1.DiscrError.Mapping,
					tag
				}, {
					instancePath: schema,
					schemaPath: "mapping",
					parentSchema: true
				});
				gen.endIf();
			}
			function applyTagSchema(schemaProp) {
				const _valid = gen.name("valid");
				cxt.subschema({
					keyword: "mapping",
					schemaProp,
					jtdDiscriminator: schema
				}, _valid);
				return _valid;
			}
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/jtd/values.js
var require_values = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const util_1 = require_util$7();
	const codegen_1 = require_codegen();
	const metadata_1 = require_metadata();
	const nullable_1 = require_nullable();
	const error_1 = require_error$1();
	const def = {
		keyword: "values",
		schemaType: "object",
		error: (0, error_1.typeError)("object"),
		code(cxt) {
			(0, metadata_1.checkMetadata)(cxt);
			const { gen, data, schema, it } = cxt;
			const [valid, cond] = (0, nullable_1.checkNullableObject)(cxt, data);
			if ((0, util_1.alwaysValidSchema)(it, schema)) {
				gen.if((0, codegen_1.not)((0, codegen_1.or)(cond, valid)), () => cxt.error());
			} else {
				gen.if(cond);
				gen.assign(valid, validateMap());
				gen.elseIf((0, codegen_1.not)(valid));
				cxt.error();
				gen.endIf();
			}
			cxt.ok(valid);
			function validateMap() {
				const _valid = gen.name("valid");
				if (it.allErrors) {
					const validMap = gen.let("valid", true);
					validateValues(() => gen.assign(validMap, false));
					return validMap;
				}
				gen.var(_valid, true);
				validateValues(() => gen.break());
				return _valid;
				function validateValues(notValid) {
					gen.forIn("key", data, (key) => {
						cxt.subschema({
							keyword: "values",
							dataProp: key,
							dataPropType: util_1.Type.Str
						}, _valid);
						gen.if((0, codegen_1.not)(_valid), notValid);
					});
				}
			}
		}
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/jtd/union.js
var require_union = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const code_1 = require_code();
	const def = {
		keyword: "union",
		schemaType: "array",
		trackErrors: true,
		code: code_1.validateUnion,
		error: { message: "must match a schema in union" }
	};
	exports.default = def;
}));

//#endregion
//#region ../node_modules/ajv/dist/vocabularies/jtd/index.js
var require_jtd$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const ref_1 = require_ref();
	const type_1 = require_type();
	const enum_1 = require_enum();
	const elements_1 = require_elements();
	const properties_1 = require_properties();
	const optionalProperties_1 = require_optionalProperties();
	const discriminator_1 = require_discriminator();
	const values_1 = require_values();
	const union_1 = require_union();
	const metadata_1 = require_metadata();
	const jtdVocabulary = [
		"definitions",
		ref_1.default,
		type_1.default,
		enum_1.default,
		elements_1.default,
		properties_1.default,
		optionalProperties_1.default,
		discriminator_1.default,
		values_1.default,
		union_1.default,
		metadata_1.default,
		{
			keyword: "additionalProperties",
			schemaType: "boolean"
		},
		{
			keyword: "nullable",
			schemaType: "boolean"
		}
	];
	exports.default = jtdVocabulary;
}));

//#endregion
//#region ../node_modules/ajv/dist/refs/jtd-schema.js
var require_jtd_schema = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const shared = (root) => {
		const sch = {
			nullable: { type: "boolean" },
			metadata: {
				optionalProperties: { union: { elements: { ref: "schema" } } },
				additionalProperties: true
			}
		};
		if (root) sch.definitions = { values: { ref: "schema" } };
		return sch;
	};
	const emptyForm = (root) => ({ optionalProperties: shared(root) });
	const refForm = (root) => ({
		properties: { ref: { type: "string" } },
		optionalProperties: shared(root)
	});
	const typeForm = (root) => ({
		properties: { type: { enum: [
			"boolean",
			"timestamp",
			"string",
			"float32",
			"float64",
			"int8",
			"uint8",
			"int16",
			"uint16",
			"int32",
			"uint32"
		] } },
		optionalProperties: shared(root)
	});
	const enumForm = (root) => ({
		properties: { enum: { elements: { type: "string" } } },
		optionalProperties: shared(root)
	});
	const elementsForm = (root) => ({
		properties: { elements: { ref: "schema" } },
		optionalProperties: shared(root)
	});
	const propertiesForm = (root) => ({
		properties: { properties: { values: { ref: "schema" } } },
		optionalProperties: {
			optionalProperties: { values: { ref: "schema" } },
			additionalProperties: { type: "boolean" },
			...shared(root)
		}
	});
	const optionalPropertiesForm = (root) => ({
		properties: { optionalProperties: { values: { ref: "schema" } } },
		optionalProperties: {
			additionalProperties: { type: "boolean" },
			...shared(root)
		}
	});
	const discriminatorForm = (root) => ({
		properties: {
			discriminator: { type: "string" },
			mapping: { values: { metadata: { union: [propertiesForm(false), optionalPropertiesForm(false)] } } }
		},
		optionalProperties: shared(root)
	});
	const valuesForm = (root) => ({
		properties: { values: { ref: "schema" } },
		optionalProperties: shared(root)
	});
	const schema = (root) => ({ metadata: { union: [
		emptyForm,
		refForm,
		typeForm,
		enumForm,
		elementsForm,
		propertiesForm,
		optionalPropertiesForm,
		discriminatorForm,
		valuesForm
	].map((s) => s(root)) } });
	const jtdMetaSchema = {
		definitions: { schema: schema(false) },
		...schema(true)
	};
	exports.default = jtdMetaSchema;
}));

//#endregion
//#region ../node_modules/ajv/dist/compile/jtd/types.js
var require_types$3 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.jtdForms = void 0;
	exports.jtdForms = [
		"elements",
		"values",
		"discriminator",
		"properties",
		"optionalProperties",
		"enum",
		"type",
		"ref"
	];
}));

//#endregion
//#region ../node_modules/ajv/dist/runtime/quote.js
var require_quote = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const rxEscapable = /[\\"\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
	const escaped = {
		"\b": "\\b",
		"	": "\\t",
		"\n": "\\n",
		"\f": "\\f",
		"\r": "\\r",
		"\"": "\\\"",
		"\\": "\\\\"
	};
	function quote(s) {
		rxEscapable.lastIndex = 0;
		return "\"" + (rxEscapable.test(s) ? s.replace(rxEscapable, (a) => {
			const c = escaped[a];
			return typeof c === "string" ? c : "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4);
		}) : s) + "\"";
	}
	exports.default = quote;
	quote.code = "require(\"ajv/dist/runtime/quote\").default";
}));

//#endregion
//#region ../node_modules/ajv/dist/compile/jtd/serialize.js
var require_serialize = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const types_1 = require_types$3();
	const __1 = require_compile();
	const codegen_1 = require_codegen();
	const ref_error_1 = require_ref_error();
	const names_1 = require_names();
	const code_1 = require_code();
	const ref_1 = require_ref();
	const util_1 = require_util$7();
	const quote_1 = require_quote();
	const genSerialize = {
		elements: serializeElements,
		values: serializeValues,
		discriminator: serializeDiscriminator,
		properties: serializeProperties,
		optionalProperties: serializeProperties,
		enum: serializeString,
		type: serializeType,
		ref: serializeRef
	};
	function compileSerializer(sch, definitions) {
		const _sch = __1.getCompilingSchema.call(this, sch);
		if (_sch) return _sch;
		const { es5, lines } = this.opts.code;
		const { ownProperties } = this.opts;
		const gen = new codegen_1.CodeGen(this.scope, {
			es5,
			lines,
			ownProperties
		});
		const serializeName = gen.scopeName("serialize");
		const cxt = {
			self: this,
			gen,
			schema: sch.schema,
			schemaEnv: sch,
			definitions,
			data: names_1.default.data
		};
		let sourceCode;
		try {
			this._compilations.add(sch);
			sch.serializeName = serializeName;
			gen.func(serializeName, names_1.default.data, false, () => {
				gen.let(names_1.default.json, (0, codegen_1.str)``);
				serializeCode(cxt);
				gen.return(names_1.default.json);
			});
			gen.optimize(this.opts.code.optimize);
			const serializeFuncCode = gen.toString();
			sourceCode = `${gen.scopeRefs(names_1.default.scope)}return ${serializeFuncCode}`;
			const makeSerialize = new Function(`${names_1.default.scope}`, sourceCode);
			const serialize = makeSerialize(this.scope.get());
			this.scope.value(serializeName, { ref: serialize });
			sch.serialize = serialize;
		} catch (e) {
			if (sourceCode) this.logger.error("Error compiling serializer, function code:", sourceCode);
			delete sch.serialize;
			delete sch.serializeName;
			throw e;
		} finally {
			this._compilations.delete(sch);
		}
		return sch;
	}
	exports.default = compileSerializer;
	function serializeCode(cxt) {
		let form;
		for (const key of types_1.jtdForms) {
			if (key in cxt.schema) {
				form = key;
				break;
			}
		}
		serializeNullable(cxt, form ? genSerialize[form] : serializeEmpty);
	}
	function serializeNullable(cxt, serializeForm) {
		const { gen, schema, data } = cxt;
		if (!schema.nullable) return serializeForm(cxt);
		gen.if((0, codegen_1._)`${data} === undefined || ${data} === null`, () => gen.add(names_1.default.json, (0, codegen_1._)`"null"`), () => serializeForm(cxt));
	}
	function serializeElements(cxt) {
		const { gen, schema, data } = cxt;
		gen.add(names_1.default.json, (0, codegen_1.str)`[`);
		const first = gen.let("first", true);
		gen.forOf("el", data, (el) => {
			addComma(cxt, first);
			serializeCode({
				...cxt,
				schema: schema.elements,
				data: el
			});
		});
		gen.add(names_1.default.json, (0, codegen_1.str)`]`);
	}
	function serializeValues(cxt) {
		const { gen, schema, data } = cxt;
		gen.add(names_1.default.json, (0, codegen_1.str)`{`);
		const first = gen.let("first", true);
		gen.forIn("key", data, (key) => serializeKeyValue(cxt, key, schema.values, first));
		gen.add(names_1.default.json, (0, codegen_1.str)`}`);
	}
	function serializeKeyValue(cxt, key, schema, first) {
		const { gen, data } = cxt;
		addComma(cxt, first);
		serializeString({
			...cxt,
			data: key
		});
		gen.add(names_1.default.json, (0, codegen_1.str)`:`);
		const value = gen.const("value", (0, codegen_1._)`${data}${(0, codegen_1.getProperty)(key)}`);
		serializeCode({
			...cxt,
			schema,
			data: value
		});
	}
	function serializeDiscriminator(cxt) {
		const { gen, schema, data } = cxt;
		const { discriminator } = schema;
		gen.add(names_1.default.json, (0, codegen_1.str)`{${JSON.stringify(discriminator)}:`);
		const tag = gen.const("tag", (0, codegen_1._)`${data}${(0, codegen_1.getProperty)(discriminator)}`);
		serializeString({
			...cxt,
			data: tag
		});
		gen.if(false);
		for (const tagValue in schema.mapping) {
			gen.elseIf((0, codegen_1._)`${tag} === ${tagValue}`);
			const sch = schema.mapping[tagValue];
			serializeSchemaProperties({
				...cxt,
				schema: sch
			}, discriminator);
		}
		gen.endIf();
		gen.add(names_1.default.json, (0, codegen_1.str)`}`);
	}
	function serializeProperties(cxt) {
		const { gen } = cxt;
		gen.add(names_1.default.json, (0, codegen_1.str)`{`);
		serializeSchemaProperties(cxt);
		gen.add(names_1.default.json, (0, codegen_1.str)`}`);
	}
	function serializeSchemaProperties(cxt, discriminator) {
		const { gen, schema, data } = cxt;
		const { properties, optionalProperties } = schema;
		const props = keys(properties);
		const optProps = keys(optionalProperties);
		const allProps = allProperties(props.concat(optProps));
		let first = !discriminator;
		let firstProp;
		for (const key of props) {
			if (first) first = false;
			else gen.add(names_1.default.json, (0, codegen_1.str)`,`);
			serializeProperty(key, properties[key], keyValue(key));
		}
		if (first) firstProp = gen.let("first", true);
		for (const key of optProps) {
			const value = keyValue(key);
			gen.if((0, codegen_1.and)((0, codegen_1._)`${value} !== undefined`, (0, code_1.isOwnProperty)(gen, data, key)), () => {
				addComma(cxt, firstProp);
				serializeProperty(key, optionalProperties[key], value);
			});
		}
		if (schema.additionalProperties) {
			gen.forIn("key", data, (key) => gen.if(isAdditional(key, allProps), () => serializeKeyValue(cxt, key, {}, firstProp)));
		}
		function keys(ps) {
			return ps ? Object.keys(ps) : [];
		}
		function allProperties(ps) {
			if (discriminator) ps.push(discriminator);
			if (new Set(ps).size !== ps.length) {
				throw new Error("JTD: properties/optionalProperties/disciminator overlap");
			}
			return ps;
		}
		function keyValue(key) {
			return gen.const("value", (0, codegen_1._)`${data}${(0, codegen_1.getProperty)(key)}`);
		}
		function serializeProperty(key, propSchema, value) {
			gen.add(names_1.default.json, (0, codegen_1.str)`${JSON.stringify(key)}:`);
			serializeCode({
				...cxt,
				schema: propSchema,
				data: value
			});
		}
		function isAdditional(key, ps) {
			return ps.length ? (0, codegen_1.and)(...ps.map((p) => (0, codegen_1._)`${key} !== ${p}`)) : true;
		}
	}
	function serializeType(cxt) {
		const { gen, schema, data } = cxt;
		switch (schema.type) {
			case "boolean":
				gen.add(names_1.default.json, (0, codegen_1._)`${data} ? "true" : "false"`);
				break;
			case "string":
				serializeString(cxt);
				break;
			case "timestamp":
				gen.if((0, codegen_1._)`${data} instanceof Date`, () => gen.add(names_1.default.json, (0, codegen_1._)`'"' + ${data}.toISOString() + '"'`), () => serializeString(cxt));
				break;
			default: serializeNumber(cxt);
		}
	}
	function serializeString({ gen, data }) {
		gen.add(names_1.default.json, (0, codegen_1._)`${(0, util_1.useFunc)(gen, quote_1.default)}(${data})`);
	}
	function serializeNumber({ gen, data }) {
		gen.add(names_1.default.json, (0, codegen_1._)`"" + ${data}`);
	}
	function serializeRef(cxt) {
		const { gen, self, data, definitions, schema, schemaEnv } = cxt;
		const { ref } = schema;
		const refSchema = definitions[ref];
		if (!refSchema) throw new ref_error_1.default(self.opts.uriResolver, "", ref, `No definition ${ref}`);
		if (!(0, ref_1.hasRef)(refSchema)) return serializeCode({
			...cxt,
			schema: refSchema
		});
		const { root } = schemaEnv;
		const sch = compileSerializer.call(self, new __1.SchemaEnv({
			schema: refSchema,
			root
		}), definitions);
		gen.add(names_1.default.json, (0, codegen_1._)`${getSerialize(gen, sch)}(${data})`);
	}
	function getSerialize(gen, sch) {
		return sch.serialize ? gen.scopeValue("serialize", { ref: sch.serialize }) : (0, codegen_1._)`${gen.scopeValue("wrapper", { ref: sch })}.serialize`;
	}
	function serializeEmpty({ gen, data }) {
		gen.add(names_1.default.json, (0, codegen_1._)`JSON.stringify(${data})`);
	}
	function addComma({ gen }, first) {
		if (first) {
			gen.if(first, () => gen.assign(first, false), () => gen.add(names_1.default.json, (0, codegen_1.str)`,`));
		} else {
			gen.add(names_1.default.json, (0, codegen_1.str)`,`);
		}
	}
}));

//#endregion
//#region ../node_modules/ajv/dist/runtime/parseJson.js
var require_parseJson = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.parseJsonString = exports.parseJsonNumber = exports.parseJson = void 0;
	const rxParseJson = /position\s(\d+)(?: \(line \d+ column \d+\))?$/;
	function parseJson(s, pos) {
		let endPos;
		parseJson.message = undefined;
		let matches;
		if (pos) s = s.slice(pos);
		try {
			parseJson.position = pos + s.length;
			return JSON.parse(s);
		} catch (e) {
			matches = rxParseJson.exec(e.message);
			if (!matches) {
				parseJson.message = "unexpected end";
				return undefined;
			}
			endPos = +matches[1];
			const c = s[endPos];
			s = s.slice(0, endPos);
			parseJson.position = pos + endPos;
			try {
				return JSON.parse(s);
			} catch (e1) {
				parseJson.message = `unexpected token ${c}`;
				return undefined;
			}
		}
	}
	exports.parseJson = parseJson;
	parseJson.message = undefined;
	parseJson.position = 0;
	parseJson.code = "require(\"ajv/dist/runtime/parseJson\").parseJson";
	function parseJsonNumber(s, pos, maxDigits) {
		let numStr = "";
		let c;
		parseJsonNumber.message = undefined;
		if (s[pos] === "-") {
			numStr += "-";
			pos++;
		}
		if (s[pos] === "0") {
			numStr += "0";
			pos++;
		} else {
			if (!parseDigits(maxDigits)) {
				errorMessage();
				return undefined;
			}
		}
		if (maxDigits) {
			parseJsonNumber.position = pos;
			return +numStr;
		}
		if (s[pos] === ".") {
			numStr += ".";
			pos++;
			if (!parseDigits()) {
				errorMessage();
				return undefined;
			}
		}
		if (c = s[pos], c === "e" || c === "E") {
			numStr += "e";
			pos++;
			if (c = s[pos], c === "+" || c === "-") {
				numStr += c;
				pos++;
			}
			if (!parseDigits()) {
				errorMessage();
				return undefined;
			}
		}
		parseJsonNumber.position = pos;
		return +numStr;
		function parseDigits(maxLen) {
			let digit = false;
			while (c = s[pos], c >= "0" && c <= "9" && (maxLen === undefined || maxLen-- > 0)) {
				digit = true;
				numStr += c;
				pos++;
			}
			return digit;
		}
		function errorMessage() {
			parseJsonNumber.position = pos;
			parseJsonNumber.message = pos < s.length ? `unexpected token ${s[pos]}` : "unexpected end";
		}
	}
	exports.parseJsonNumber = parseJsonNumber;
	parseJsonNumber.message = undefined;
	parseJsonNumber.position = 0;
	parseJsonNumber.code = "require(\"ajv/dist/runtime/parseJson\").parseJsonNumber";
	const escapedChars = {
		b: "\b",
		f: "\f",
		n: "\n",
		r: "\r",
		t: "	",
		"\"": "\"",
		"/": "/",
		"\\": "\\"
	};
	const CODE_A = "a".charCodeAt(0);
	const CODE_0 = "0".charCodeAt(0);
	function parseJsonString(s, pos) {
		let str = "";
		let c;
		parseJsonString.message = undefined;
		while (true) {
			c = s[pos++];
			if (c === "\"") break;
			if (c === "\\") {
				c = s[pos];
				if (c in escapedChars) {
					str += escapedChars[c];
					pos++;
				} else if (c === "u") {
					pos++;
					let count = 4;
					let code = 0;
					while (count--) {
						code <<= 4;
						c = s[pos];
						if (c === undefined) {
							errorMessage("unexpected end");
							return undefined;
						}
						c = c.toLowerCase();
						if (c >= "a" && c <= "f") {
							code += c.charCodeAt(0) - CODE_A + 10;
						} else if (c >= "0" && c <= "9") {
							code += c.charCodeAt(0) - CODE_0;
						} else {
							errorMessage(`unexpected token ${c}`);
							return undefined;
						}
						pos++;
					}
					str += String.fromCharCode(code);
				} else {
					errorMessage(`unexpected token ${c}`);
					return undefined;
				}
			} else if (c === undefined) {
				errorMessage("unexpected end");
				return undefined;
			} else {
				if (c.charCodeAt(0) >= 32) {
					str += c;
				} else {
					errorMessage(`unexpected token ${c}`);
					return undefined;
				}
			}
		}
		parseJsonString.position = pos;
		return str;
		function errorMessage(msg) {
			parseJsonString.position = pos;
			parseJsonString.message = msg;
		}
	}
	exports.parseJsonString = parseJsonString;
	parseJsonString.message = undefined;
	parseJsonString.position = 0;
	parseJsonString.code = "require(\"ajv/dist/runtime/parseJson\").parseJsonString";
}));

//#endregion
//#region ../node_modules/ajv/dist/compile/jtd/parse.js
var require_parse$4 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const types_1 = require_types$3();
	const __1 = require_compile();
	const codegen_1 = require_codegen();
	const ref_error_1 = require_ref_error();
	const names_1 = require_names();
	const code_1 = require_code();
	const ref_1 = require_ref();
	const type_1 = require_type();
	const parseJson_1 = require_parseJson();
	const util_1 = require_util$7();
	const timestamp_1 = require_timestamp();
	const genParse = {
		elements: parseElements,
		values: parseValues,
		discriminator: parseDiscriminator,
		properties: parseProperties,
		optionalProperties: parseProperties,
		enum: parseEnum,
		type: parseType,
		ref: parseRef
	};
	function compileParser(sch, definitions) {
		const _sch = __1.getCompilingSchema.call(this, sch);
		if (_sch) return _sch;
		const { es5, lines } = this.opts.code;
		const { ownProperties } = this.opts;
		const gen = new codegen_1.CodeGen(this.scope, {
			es5,
			lines,
			ownProperties
		});
		const parseName = gen.scopeName("parse");
		const cxt = {
			self: this,
			gen,
			schema: sch.schema,
			schemaEnv: sch,
			definitions,
			data: names_1.default.data,
			parseName,
			char: gen.name("c")
		};
		let sourceCode;
		try {
			this._compilations.add(sch);
			sch.parseName = parseName;
			parserFunction(cxt);
			gen.optimize(this.opts.code.optimize);
			const parseFuncCode = gen.toString();
			sourceCode = `${gen.scopeRefs(names_1.default.scope)}return ${parseFuncCode}`;
			const makeParse = new Function(`${names_1.default.scope}`, sourceCode);
			const parse = makeParse(this.scope.get());
			this.scope.value(parseName, { ref: parse });
			sch.parse = parse;
		} catch (e) {
			if (sourceCode) this.logger.error("Error compiling parser, function code:", sourceCode);
			delete sch.parse;
			delete sch.parseName;
			throw e;
		} finally {
			this._compilations.delete(sch);
		}
		return sch;
	}
	exports.default = compileParser;
	const undef = (0, codegen_1._)`undefined`;
	function parserFunction(cxt) {
		const { gen, parseName, char } = cxt;
		gen.func(parseName, (0, codegen_1._)`${names_1.default.json}, ${names_1.default.jsonPos}, ${names_1.default.jsonPart}`, false, () => {
			gen.let(names_1.default.data);
			gen.let(char);
			gen.assign((0, codegen_1._)`${parseName}.message`, undef);
			gen.assign((0, codegen_1._)`${parseName}.position`, undef);
			gen.assign(names_1.default.jsonPos, (0, codegen_1._)`${names_1.default.jsonPos} || 0`);
			gen.const(names_1.default.jsonLen, (0, codegen_1._)`${names_1.default.json}.length`);
			parseCode(cxt);
			skipWhitespace(cxt);
			gen.if(names_1.default.jsonPart, () => {
				gen.assign((0, codegen_1._)`${parseName}.position`, names_1.default.jsonPos);
				gen.return(names_1.default.data);
			});
			gen.if((0, codegen_1._)`${names_1.default.jsonPos} === ${names_1.default.jsonLen}`, () => gen.return(names_1.default.data));
			jsonSyntaxError(cxt);
		});
	}
	function parseCode(cxt) {
		let form;
		for (const key of types_1.jtdForms) {
			if (key in cxt.schema) {
				form = key;
				break;
			}
		}
		if (form) parseNullable(cxt, genParse[form]);
		else parseEmpty(cxt);
	}
	const parseBoolean = parseBooleanToken(true, parseBooleanToken(false, jsonSyntaxError));
	function parseNullable(cxt, parseForm) {
		const { gen, schema, data } = cxt;
		if (!schema.nullable) return parseForm(cxt);
		tryParseToken(cxt, "null", parseForm, () => gen.assign(data, null));
	}
	function parseElements(cxt) {
		const { gen, schema, data } = cxt;
		parseToken(cxt, "[");
		const ix = gen.let("i", 0);
		gen.assign(data, (0, codegen_1._)`[]`);
		parseItems(cxt, "]", () => {
			const el = gen.let("el");
			parseCode({
				...cxt,
				schema: schema.elements,
				data: el
			});
			gen.assign((0, codegen_1._)`${data}[${ix}++]`, el);
		});
	}
	function parseValues(cxt) {
		const { gen, schema, data } = cxt;
		parseToken(cxt, "{");
		gen.assign(data, (0, codegen_1._)`{}`);
		parseItems(cxt, "}", () => parseKeyValue(cxt, schema.values));
	}
	function parseItems(cxt, endToken, block) {
		tryParseItems(cxt, endToken, block);
		parseToken(cxt, endToken);
	}
	function tryParseItems(cxt, endToken, block) {
		const { gen } = cxt;
		gen.for((0, codegen_1._)`;${names_1.default.jsonPos}<${names_1.default.jsonLen} && ${jsonSlice(1)}!==${endToken};`, () => {
			block();
			tryParseToken(cxt, ",", () => gen.break(), hasItem);
		});
		function hasItem() {
			tryParseToken(cxt, endToken, () => {}, jsonSyntaxError);
		}
	}
	function parseKeyValue(cxt, schema) {
		const { gen } = cxt;
		const key = gen.let("key");
		parseString({
			...cxt,
			data: key
		});
		parseToken(cxt, ":");
		parsePropertyValue(cxt, key, schema);
	}
	function parseDiscriminator(cxt) {
		const { gen, data, schema } = cxt;
		const { discriminator, mapping } = schema;
		parseToken(cxt, "{");
		gen.assign(data, (0, codegen_1._)`{}`);
		const startPos = gen.const("pos", names_1.default.jsonPos);
		const value = gen.let("value");
		const tag = gen.let("tag");
		tryParseItems(cxt, "}", () => {
			const key = gen.let("key");
			parseString({
				...cxt,
				data: key
			});
			parseToken(cxt, ":");
			gen.if((0, codegen_1._)`${key} === ${discriminator}`, () => {
				parseString({
					...cxt,
					data: tag
				});
				gen.assign((0, codegen_1._)`${data}[${key}]`, tag);
				gen.break();
			}, () => parseEmpty({
				...cxt,
				data: value
			}));
		});
		gen.assign(names_1.default.jsonPos, startPos);
		gen.if((0, codegen_1._)`${tag} === undefined`);
		parsingError(cxt, (0, codegen_1.str)`discriminator tag not found`);
		for (const tagValue in mapping) {
			gen.elseIf((0, codegen_1._)`${tag} === ${tagValue}`);
			parseSchemaProperties({
				...cxt,
				schema: mapping[tagValue]
			}, discriminator);
		}
		gen.else();
		parsingError(cxt, (0, codegen_1.str)`discriminator value not in schema`);
		gen.endIf();
	}
	function parseProperties(cxt) {
		const { gen, data } = cxt;
		parseToken(cxt, "{");
		gen.assign(data, (0, codegen_1._)`{}`);
		parseSchemaProperties(cxt);
	}
	function parseSchemaProperties(cxt, discriminator) {
		const { gen, schema, data } = cxt;
		const { properties, optionalProperties, additionalProperties } = schema;
		parseItems(cxt, "}", () => {
			const key = gen.let("key");
			parseString({
				...cxt,
				data: key
			});
			parseToken(cxt, ":");
			gen.if(false);
			parseDefinedProperty(cxt, key, properties);
			parseDefinedProperty(cxt, key, optionalProperties);
			if (discriminator) {
				gen.elseIf((0, codegen_1._)`${key} === ${discriminator}`);
				const tag = gen.let("tag");
				parseString({
					...cxt,
					data: tag
				});
			}
			gen.else();
			if (additionalProperties) {
				parseEmpty({
					...cxt,
					data: (0, codegen_1._)`${data}[${key}]`
				});
			} else {
				parsingError(cxt, (0, codegen_1.str)`property ${key} not allowed`);
			}
			gen.endIf();
		});
		if (properties) {
			const hasProp = (0, code_1.hasPropFunc)(gen);
			const allProps = (0, codegen_1.and)(...Object.keys(properties).map((p) => (0, codegen_1._)`${hasProp}.call(${data}, ${p})`));
			gen.if((0, codegen_1.not)(allProps), () => parsingError(cxt, (0, codegen_1.str)`missing required properties`));
		}
	}
	function parseDefinedProperty(cxt, key, schemas = {}) {
		const { gen } = cxt;
		for (const prop in schemas) {
			gen.elseIf((0, codegen_1._)`${key} === ${prop}`);
			parsePropertyValue(cxt, key, schemas[prop]);
		}
	}
	function parsePropertyValue(cxt, key, schema) {
		parseCode({
			...cxt,
			schema,
			data: (0, codegen_1._)`${cxt.data}[${key}]`
		});
	}
	function parseType(cxt) {
		const { gen, schema, data, self } = cxt;
		switch (schema.type) {
			case "boolean":
				parseBoolean(cxt);
				break;
			case "string":
				parseString(cxt);
				break;
			case "timestamp": {
				parseString(cxt);
				const vts = (0, util_1.useFunc)(gen, timestamp_1.default);
				const { allowDate, parseDate } = self.opts;
				const notValid = allowDate ? (0, codegen_1._)`!${vts}(${data}, true)` : (0, codegen_1._)`!${vts}(${data})`;
				const fail = parseDate ? (0, codegen_1.or)(notValid, (0, codegen_1._)`(${data} = new Date(${data}), false)`, (0, codegen_1._)`isNaN(${data}.valueOf())`) : notValid;
				gen.if(fail, () => parsingError(cxt, (0, codegen_1.str)`invalid timestamp`));
				break;
			}
			case "float32":
			case "float64":
				parseNumber(cxt);
				break;
			default: {
				const t = schema.type;
				if (!self.opts.int32range && (t === "int32" || t === "uint32")) {
					parseNumber(cxt, 16);
					if (t === "uint32") {
						gen.if((0, codegen_1._)`${data} < 0`, () => parsingError(cxt, (0, codegen_1.str)`integer out of range`));
					}
				} else {
					const [min, max, maxDigits] = type_1.intRange[t];
					parseNumber(cxt, maxDigits);
					gen.if((0, codegen_1._)`${data} < ${min} || ${data} > ${max}`, () => parsingError(cxt, (0, codegen_1.str)`integer out of range`));
				}
			}
		}
	}
	function parseString(cxt) {
		parseToken(cxt, "\"");
		parseWith(cxt, parseJson_1.parseJsonString);
	}
	function parseEnum(cxt) {
		const { gen, data, schema } = cxt;
		const enumSch = schema.enum;
		parseToken(cxt, "\"");
		gen.if(false);
		for (const value of enumSch) {
			const valueStr = JSON.stringify(value).slice(1);
			gen.elseIf((0, codegen_1._)`${jsonSlice(valueStr.length)} === ${valueStr}`);
			gen.assign(data, (0, codegen_1.str)`${value}`);
			gen.add(names_1.default.jsonPos, valueStr.length);
		}
		gen.else();
		jsonSyntaxError(cxt);
		gen.endIf();
	}
	function parseNumber(cxt, maxDigits) {
		const { gen } = cxt;
		skipWhitespace(cxt);
		gen.if((0, codegen_1._)`"-0123456789".indexOf(${jsonSlice(1)}) < 0`, () => jsonSyntaxError(cxt), () => parseWith(cxt, parseJson_1.parseJsonNumber, maxDigits));
	}
	function parseBooleanToken(bool, fail) {
		return (cxt) => {
			const { gen, data } = cxt;
			tryParseToken(cxt, `${bool}`, () => fail(cxt), () => gen.assign(data, bool));
		};
	}
	function parseRef(cxt) {
		const { gen, self, definitions, schema, schemaEnv } = cxt;
		const { ref } = schema;
		const refSchema = definitions[ref];
		if (!refSchema) throw new ref_error_1.default(self.opts.uriResolver, "", ref, `No definition ${ref}`);
		if (!(0, ref_1.hasRef)(refSchema)) return parseCode({
			...cxt,
			schema: refSchema
		});
		const { root } = schemaEnv;
		const sch = compileParser.call(self, new __1.SchemaEnv({
			schema: refSchema,
			root
		}), definitions);
		partialParse(cxt, getParser(gen, sch), true);
	}
	function getParser(gen, sch) {
		return sch.parse ? gen.scopeValue("parse", { ref: sch.parse }) : (0, codegen_1._)`${gen.scopeValue("wrapper", { ref: sch })}.parse`;
	}
	function parseEmpty(cxt) {
		parseWith(cxt, parseJson_1.parseJson);
	}
	function parseWith(cxt, parseFunc, args) {
		partialParse(cxt, (0, util_1.useFunc)(cxt.gen, parseFunc), args);
	}
	function partialParse(cxt, parseFunc, args) {
		const { gen, data } = cxt;
		gen.assign(data, (0, codegen_1._)`${parseFunc}(${names_1.default.json}, ${names_1.default.jsonPos}${args ? (0, codegen_1._)`, ${args}` : codegen_1.nil})`);
		gen.assign(names_1.default.jsonPos, (0, codegen_1._)`${parseFunc}.position`);
		gen.if((0, codegen_1._)`${data} === undefined`, () => parsingError(cxt, (0, codegen_1._)`${parseFunc}.message`));
	}
	function parseToken(cxt, tok) {
		tryParseToken(cxt, tok, jsonSyntaxError);
	}
	function tryParseToken(cxt, tok, fail, success) {
		const { gen } = cxt;
		const n = tok.length;
		skipWhitespace(cxt);
		gen.if((0, codegen_1._)`${jsonSlice(n)} === ${tok}`, () => {
			gen.add(names_1.default.jsonPos, n);
			success === null || success === void 0 ? void 0 : success(cxt);
		}, () => fail(cxt));
	}
	function skipWhitespace({ gen, char: c }) {
		gen.code((0, codegen_1._)`while((${c}=${names_1.default.json}[${names_1.default.jsonPos}],${c}===" "||${c}==="\\n"||${c}==="\\r"||${c}==="\\t"))${names_1.default.jsonPos}++;`);
	}
	function jsonSlice(len) {
		return len === 1 ? (0, codegen_1._)`${names_1.default.json}[${names_1.default.jsonPos}]` : (0, codegen_1._)`${names_1.default.json}.slice(${names_1.default.jsonPos}, ${names_1.default.jsonPos}+${len})`;
	}
	function jsonSyntaxError(cxt) {
		parsingError(cxt, (0, codegen_1._)`"unexpected token " + ${names_1.default.json}[${names_1.default.jsonPos}]`);
	}
	function parsingError({ gen, parseName }, msg) {
		gen.assign((0, codegen_1._)`${parseName}.message`, msg);
		gen.assign((0, codegen_1._)`${parseName}.position`, names_1.default.jsonPos);
		gen.return(undef);
	}
}));

//#endregion
//#region ../node_modules/ajv/dist/jtd.js
var require_jtd = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.MissingRefError = exports.ValidationError = exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = exports.Ajv = void 0;
	const core_1 = require_core$2();
	const jtd_1 = require_jtd$1();
	const jtd_schema_1 = require_jtd_schema();
	const serialize_1 = require_serialize();
	const parse_1 = require_parse$4();
	const META_SCHEMA_ID = "JTD-meta-schema";
	var Ajv = class extends core_1.default {
		constructor(opts = {}) {
			super({
				...opts,
				jtd: true
			});
		}
		_addVocabularies() {
			super._addVocabularies();
			this.addVocabulary(jtd_1.default);
		}
		_addDefaultMetaSchema() {
			super._addDefaultMetaSchema();
			if (!this.opts.meta) return;
			this.addMetaSchema(jtd_schema_1.default, META_SCHEMA_ID, false);
		}
		defaultMeta() {
			return this.opts.defaultMeta = super.defaultMeta() || (this.getSchema(META_SCHEMA_ID) ? META_SCHEMA_ID : undefined);
		}
		compileSerializer(schema) {
			const sch = this._addSchema(schema);
			return sch.serialize || this._compileSerializer(sch);
		}
		compileParser(schema) {
			const sch = this._addSchema(schema);
			return sch.parse || this._compileParser(sch);
		}
		_compileSerializer(sch) {
			serialize_1.default.call(this, sch, sch.schema.definitions || {});
			/* istanbul ignore if */
			if (!sch.serialize) throw new Error("ajv implementation error");
			return sch.serialize;
		}
		_compileParser(sch) {
			parse_1.default.call(this, sch, sch.schema.definitions || {});
			/* istanbul ignore if */
			if (!sch.parse) throw new Error("ajv implementation error");
			return sch.parse;
		}
	};
	exports.Ajv = Ajv;
	module.exports = exports = Ajv;
	module.exports.Ajv = Ajv;
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.default = Ajv;
	var validate_1 = require_validate();
	Object.defineProperty(exports, "KeywordCxt", {
		enumerable: true,
		get: function() {
			return validate_1.KeywordCxt;
		}
	});
	var codegen_1 = require_codegen();
	Object.defineProperty(exports, "_", {
		enumerable: true,
		get: function() {
			return codegen_1._;
		}
	});
	Object.defineProperty(exports, "str", {
		enumerable: true,
		get: function() {
			return codegen_1.str;
		}
	});
	Object.defineProperty(exports, "stringify", {
		enumerable: true,
		get: function() {
			return codegen_1.stringify;
		}
	});
	Object.defineProperty(exports, "nil", {
		enumerable: true,
		get: function() {
			return codegen_1.nil;
		}
	});
	Object.defineProperty(exports, "Name", {
		enumerable: true,
		get: function() {
			return codegen_1.Name;
		}
	});
	Object.defineProperty(exports, "CodeGen", {
		enumerable: true,
		get: function() {
			return codegen_1.CodeGen;
		}
	});
	var validation_error_1 = require_validation_error();
	Object.defineProperty(exports, "ValidationError", {
		enumerable: true,
		get: function() {
			return validation_error_1.default;
		}
	});
	var ref_error_1 = require_ref_error();
	Object.defineProperty(exports, "MissingRefError", {
		enumerable: true,
		get: function() {
			return ref_error_1.default;
		}
	});
}));

//#endregion
//#region ../node_modules/@fastify/ajv-compiler/lib/default-ajv-options.js
var require_default_ajv_options = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const fastUri = require_fast_uri();
	module.exports = Object.freeze({
		coerceTypes: "array",
		useDefaults: true,
		removeAdditional: true,
		uriResolver: fastUri,
		addUsedSchema: false,
		allErrors: false
	});
}));

//#endregion
//#region ../node_modules/ajv-formats/dist/formats.js
var require_formats$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.formatNames = exports.fastFormats = exports.fullFormats = void 0;
	function fmtDef(validate, compare) {
		return {
			validate,
			compare
		};
	}
	exports.fullFormats = {
		date: fmtDef(date, compareDate),
		time: fmtDef(time, compareTime),
		"date-time": fmtDef(date_time, compareDateTime),
		duration: /^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,
		uri,
		"uri-reference": /^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,
		"uri-template": /^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,
		url: /^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,
		email: /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,
		hostname: /^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,
		ipv4: /^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,
		ipv6: /^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,
		regex,
		uuid: /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,
		"json-pointer": /^(?:\/(?:[^~/]|~0|~1)*)*$/,
		"json-pointer-uri-fragment": /^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,
		"relative-json-pointer": /^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,
		byte,
		int32: {
			type: "number",
			validate: validateInt32
		},
		int64: {
			type: "number",
			validate: validateInt64
		},
		float: {
			type: "number",
			validate: validateNumber
		},
		double: {
			type: "number",
			validate: validateNumber
		},
		password: true,
		binary: true
	};
	exports.fastFormats = {
		...exports.fullFormats,
		date: fmtDef(/^\d\d\d\d-[0-1]\d-[0-3]\d$/, compareDate),
		time: fmtDef(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i, compareTime),
		"date-time": fmtDef(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i, compareDateTime),
		uri: /^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,
		"uri-reference": /^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,
		email: /^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i
	};
	exports.formatNames = Object.keys(exports.fullFormats);
	function isLeapYear(year) {
		return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
	}
	const DATE = /^(\d\d\d\d)-(\d\d)-(\d\d)$/;
	const DAYS = [
		0,
		31,
		28,
		31,
		30,
		31,
		30,
		31,
		31,
		30,
		31,
		30,
		31
	];
	function date(str) {
		const matches = DATE.exec(str);
		if (!matches) return false;
		const year = +matches[1];
		const month = +matches[2];
		const day = +matches[3];
		return month >= 1 && month <= 12 && day >= 1 && day <= (month === 2 && isLeapYear(year) ? 29 : DAYS[month]);
	}
	function compareDate(d1, d2) {
		if (!(d1 && d2)) return undefined;
		if (d1 > d2) return 1;
		if (d1 < d2) return -1;
		return 0;
	}
	const TIME = /^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i;
	function time(str, withTimeZone) {
		const matches = TIME.exec(str);
		if (!matches) return false;
		const hour = +matches[1];
		const minute = +matches[2];
		const second = +matches[3];
		const timeZone = matches[5];
		return (hour <= 23 && minute <= 59 && second <= 59 || hour === 23 && minute === 59 && second === 60) && (!withTimeZone || timeZone !== "");
	}
	function compareTime(t1, t2) {
		if (!(t1 && t2)) return undefined;
		const a1 = TIME.exec(t1);
		const a2 = TIME.exec(t2);
		if (!(a1 && a2)) return undefined;
		t1 = a1[1] + a1[2] + a1[3] + (a1[4] || "");
		t2 = a2[1] + a2[2] + a2[3] + (a2[4] || "");
		if (t1 > t2) return 1;
		if (t1 < t2) return -1;
		return 0;
	}
	const DATE_TIME_SEPARATOR = /t|\s/i;
	function date_time(str) {
		const dateTime = str.split(DATE_TIME_SEPARATOR);
		return dateTime.length === 2 && date(dateTime[0]) && time(dateTime[1], true);
	}
	function compareDateTime(dt1, dt2) {
		if (!(dt1 && dt2)) return undefined;
		const [d1, t1] = dt1.split(DATE_TIME_SEPARATOR);
		const [d2, t2] = dt2.split(DATE_TIME_SEPARATOR);
		const res = compareDate(d1, d2);
		if (res === undefined) return undefined;
		return res || compareTime(t1, t2);
	}
	const NOT_URI_FRAGMENT = /\/|:/;
	const URI = /^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;
	function uri(str) {
		return NOT_URI_FRAGMENT.test(str) && URI.test(str);
	}
	const BYTE = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;
	function byte(str) {
		BYTE.lastIndex = 0;
		return BYTE.test(str);
	}
	const MIN_INT32 = -(2 ** 31);
	const MAX_INT32 = 2 ** 31 - 1;
	function validateInt32(value) {
		return Number.isInteger(value) && value <= MAX_INT32 && value >= MIN_INT32;
	}
	function validateInt64(value) {
		return Number.isInteger(value);
	}
	function validateNumber() {
		return true;
	}
	const Z_ANCHOR = /[^\\]\\Z/;
	function regex(str) {
		if (Z_ANCHOR.test(str)) return false;
		try {
			new RegExp(str);
			return true;
		} catch (e) {
			return false;
		}
	}
}));

//#endregion
//#region ../node_modules/ajv-formats/dist/limit.js
var require_limit = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.formatLimitDefinition = void 0;
	const ajv_1 = require_ajv();
	const codegen_1 = require_codegen();
	const ops = codegen_1.operators;
	const KWDs = {
		formatMaximum: {
			okStr: "<=",
			ok: ops.LTE,
			fail: ops.GT
		},
		formatMinimum: {
			okStr: ">=",
			ok: ops.GTE,
			fail: ops.LT
		},
		formatExclusiveMaximum: {
			okStr: "<",
			ok: ops.LT,
			fail: ops.GTE
		},
		formatExclusiveMinimum: {
			okStr: ">",
			ok: ops.GT,
			fail: ops.LTE
		}
	};
	const error = {
		message: ({ keyword, schemaCode }) => codegen_1.str`should be ${KWDs[keyword].okStr} ${schemaCode}`,
		params: ({ keyword, schemaCode }) => codegen_1._`{comparison: ${KWDs[keyword].okStr}, limit: ${schemaCode}}`
	};
	exports.formatLimitDefinition = {
		keyword: Object.keys(KWDs),
		type: "string",
		schemaType: "string",
		$data: true,
		error,
		code(cxt) {
			const { gen, data, schemaCode, keyword, it } = cxt;
			const { opts, self } = it;
			if (!opts.validateFormats) return;
			const fCxt = new ajv_1.KeywordCxt(it, self.RULES.all.format.definition, "format");
			if (fCxt.$data) validate$DataFormat();
			else validateFormat();
			function validate$DataFormat() {
				const fmts = gen.scopeValue("formats", {
					ref: self.formats,
					code: opts.code.formats
				});
				const fmt = gen.const("fmt", codegen_1._`${fmts}[${fCxt.schemaCode}]`);
				cxt.fail$data(codegen_1.or(codegen_1._`typeof ${fmt} != "object"`, codegen_1._`${fmt} instanceof RegExp`, codegen_1._`typeof ${fmt}.compare != "function"`, compareCode(fmt)));
			}
			function validateFormat() {
				const format = fCxt.schema;
				const fmtDef = self.formats[format];
				if (!fmtDef || fmtDef === true) return;
				if (typeof fmtDef != "object" || fmtDef instanceof RegExp || typeof fmtDef.compare != "function") {
					throw new Error(`"${keyword}": format "${format}" does not define "compare" function`);
				}
				const fmt = gen.scopeValue("formats", {
					key: format,
					ref: fmtDef,
					code: opts.code.formats ? codegen_1._`${opts.code.formats}${codegen_1.getProperty(format)}` : undefined
				});
				cxt.fail$data(compareCode(fmt));
			}
			function compareCode(fmt) {
				return codegen_1._`${fmt}.compare(${data}, ${schemaCode}) ${KWDs[keyword].fail} 0`;
			}
		},
		dependencies: ["format"]
	};
	const formatLimitPlugin = (ajv) => {
		ajv.addKeyword(exports.formatLimitDefinition);
		return ajv;
	};
	exports.default = formatLimitPlugin;
}));

//#endregion
//#region ../node_modules/ajv-formats/dist/index.js
var require_dist$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const formats_1 = require_formats$1();
	const limit_1 = require_limit();
	const codegen_1 = require_codegen();
	const fullName = new codegen_1.Name("fullFormats");
	const fastName = new codegen_1.Name("fastFormats");
	const formatsPlugin = (ajv, opts = { keywords: true }) => {
		if (Array.isArray(opts)) {
			addFormats(ajv, opts, formats_1.fullFormats, fullName);
			return ajv;
		}
		const [formats, exportName] = opts.mode === "fast" ? [formats_1.fastFormats, fastName] : [formats_1.fullFormats, fullName];
		const list = opts.formats || formats_1.formatNames;
		addFormats(ajv, list, formats, exportName);
		if (opts.keywords) limit_1.default(ajv);
		return ajv;
	};
	formatsPlugin.get = (name, mode = "full") => {
		const formats = mode === "fast" ? formats_1.fastFormats : formats_1.fullFormats;
		const f = formats[name];
		if (!f) throw new Error(`Unknown format "${name}"`);
		return f;
	};
	function addFormats(ajv, list, fs, exportName) {
		var _a;
		var _b;
		(_a = (_b = ajv.opts.code).formats) !== null && _a !== void 0 ? _a : _b.formats = codegen_1._`require("ajv-formats/dist/formats").${exportName}`;
		for (const f of list) ajv.addFormat(f, fs[f]);
	}
	module.exports = exports = formatsPlugin;
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.default = formatsPlugin;
}));

//#endregion
//#region ../node_modules/@fastify/ajv-compiler/lib/validator-compiler.js
var require_validator_compiler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const Ajv = require_ajv().default;
	const AjvJTD = require_jtd();
	const defaultAjvOptions = require_default_ajv_options();
	var ValidatorCompiler = class {
		constructor(externalSchemas, options) {
			if (options.mode === "JTD") {
				this.ajv = new AjvJTD(Object.assign({}, defaultAjvOptions, options.customOptions));
			} else {
				this.ajv = new Ajv(Object.assign({}, defaultAjvOptions, options.customOptions));
			}
			let addFormatPlugin = true;
			if (options.plugins && options.plugins.length > 0) {
				for (const plugin of options.plugins) {
					if (Array.isArray(plugin)) {
						addFormatPlugin = addFormatPlugin && plugin[0].name !== "formatsPlugin";
						plugin[0](this.ajv, plugin[1]);
					} else {
						addFormatPlugin = addFormatPlugin && plugin.name !== "formatsPlugin";
						plugin(this.ajv);
					}
				}
			}
			if (addFormatPlugin) {
				require_dist$2()(this.ajv);
			}
			options.onCreate?.(this.ajv);
			const sourceSchemas = Object.values(externalSchemas);
			for (const extSchema of sourceSchemas) {
				this.ajv.addSchema(extSchema);
			}
		}
		buildValidatorFunction({ schema }) {
			if (schema.$id) {
				const stored = this.ajv.getSchema(schema.$id);
				if (stored) {
					return stored;
				}
			}
			return this.ajv.compile(schema);
		}
	};
	module.exports = ValidatorCompiler;
}));

//#endregion
//#region ../node_modules/@fastify/ajv-compiler/lib/serializer-compiler.js
var require_serializer_compiler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const AjvJTD = require_jtd();
	const defaultAjvOptions = require_default_ajv_options();
	var SerializerCompiler = class {
		constructor(externalSchemas, options) {
			this.ajv = new AjvJTD(Object.assign({}, defaultAjvOptions, options));
			/**
			* https://ajv.js.org/json-type-definition.html#ref-form
			* Unlike JSON Schema, JTD does not allow to reference:
			* - any schema fragment other than root level definitions member
			* - root of the schema - there is another way to define a self-recursive schema (see Example 2)
			* - another schema file (but you can still combine schemas from multiple files using JavaScript).
			*
			* So we ignore the externalSchemas parameter.
			*/
		}
		buildSerializerFunction({ schema }) {
			return this.ajv.compileSerializer(schema);
		}
	};
	module.exports = SerializerCompiler;
}));

//#endregion
//#region ../node_modules/ajv/dist/standalone/index.js
var require_standalone$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const scope_1 = require_scope();
	const code_1 = require_code$1();
	function standaloneCode(ajv, refsOrFunc) {
		if (!ajv.opts.code.source) {
			throw new Error("moduleCode: ajv instance must have code.source option");
		}
		const { _n } = ajv.scope.opts;
		return typeof refsOrFunc == "function" ? funcExportCode(refsOrFunc.source) : refsOrFunc !== undefined ? multiExportsCode(refsOrFunc, getValidate) : multiExportsCode(ajv.schemas, (sch) => sch.meta ? undefined : ajv.compile(sch.schema));
		function getValidate(id) {
			const v = ajv.getSchema(id);
			if (!v) throw new Error(`moduleCode: no schema with id ${id}`);
			return v;
		}
		function funcExportCode(source) {
			const usedValues = {};
			const n = source === null || source === void 0 ? void 0 : source.validateName;
			const vCode = validateCode(usedValues, source);
			if (ajv.opts.code.esm) {
				return `"use strict";${_n}export const validate = ${n};${_n}export default ${n};${_n}${vCode}`;
			}
			return `"use strict";${_n}module.exports = ${n};${_n}module.exports.default = ${n};${_n}${vCode}`;
		}
		function multiExportsCode(schemas, getValidateFunc) {
			var _a;
			const usedValues = {};
			let code = (0, code_1._)`"use strict";`;
			for (const name in schemas) {
				const v = getValidateFunc(schemas[name]);
				if (v) {
					const vCode = validateCode(usedValues, v.source);
					const exportSyntax = ajv.opts.code.esm ? (0, code_1._)`export const ${(0, code_1.getEsmExportName)(name)}` : (0, code_1._)`exports${(0, code_1.getProperty)(name)}`;
					code = (0, code_1._)`${code}${_n}${exportSyntax} = ${(_a = v.source) === null || _a === void 0 ? void 0 : _a.validateName};${_n}${vCode}`;
				}
			}
			return `${code}`;
		}
		function validateCode(usedValues, s) {
			if (!s) throw new Error("moduleCode: function does not have \"source\" property");
			if (usedState(s.validateName) === scope_1.UsedValueState.Completed) return code_1.nil;
			setUsedState(s.validateName, scope_1.UsedValueState.Started);
			const scopeCode = ajv.scope.scopeCode(s.scopeValues, usedValues, refValidateCode);
			const code = new code_1._Code(`${scopeCode}${_n}${s.validateCode}`);
			return s.evaluated ? (0, code_1._)`${code}${s.validateName}.evaluated = ${s.evaluated};${_n}` : code;
			function refValidateCode(n) {
				var _a;
				const vRef = (_a = n.value) === null || _a === void 0 ? void 0 : _a.ref;
				if (n.prefix === "validate" && typeof vRef == "function") {
					const v = vRef;
					return validateCode(usedValues, v.source);
				} else if ((n.prefix === "root" || n.prefix === "wrapper") && typeof vRef == "object") {
					const { validate, validateName } = vRef;
					if (!validateName) throw new Error("ajv internal error");
					const def = ajv.opts.code.es5 ? scope_1.varKinds.var : scope_1.varKinds.const;
					const wrapper = (0, code_1._)`${def} ${n} = {validate: ${validateName}};`;
					if (usedState(validateName) === scope_1.UsedValueState.Started) return wrapper;
					const vCode = validateCode(usedValues, validate === null || validate === void 0 ? void 0 : validate.source);
					return (0, code_1._)`${wrapper}${_n}${vCode}`;
				}
				return undefined;
			}
			function usedState(name) {
				var _a;
				return (_a = usedValues[name.prefix]) === null || _a === void 0 ? void 0 : _a.get(name);
			}
			function setUsedState(name, state) {
				const { prefix } = name;
				const names = usedValues[prefix] = usedValues[prefix] || new Map();
				names.set(name, state);
			}
		}
	}
	module.exports = exports = standaloneCode;
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.default = standaloneCode;
}));

//#endregion
//#region ../node_modules/@fastify/ajv-compiler/standalone.js
var require_standalone = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const ValidatorSelector = require_ajv_compiler();
	const standaloneCode = require_standalone$1().default;
	function StandaloneValidator(options = { readMode: true }) {
		if (options.readMode === true && !options.restoreFunction) {
			throw new Error("You must provide a restoreFunction options when readMode ON");
		}
		if (options.readMode !== true && !options.storeFunction) {
			throw new Error("You must provide a storeFunction options when readMode OFF");
		}
		if (options.readMode === true) {
			return function wrapper() {
				return function(opts) {
					return options.restoreFunction(opts);
				};
			};
		}
		const factory = ValidatorSelector();
		return function wrapper(externalSchemas, ajvOptions = {}) {
			if (!ajvOptions.customOptions || !ajvOptions.customOptions.code) {
				ajvOptions.customOptions = Object.assign({}, ajvOptions.customOptions, { code: { source: true } });
			}
			const compiler = factory(externalSchemas, ajvOptions);
			return function(opts) {
				const validationFunc = compiler(opts);
				const schemaValidationCode = standaloneCode(compiler[ValidatorSelector.AjvReference].ajv, validationFunc);
				options.storeFunction(opts, schemaValidationCode);
				return validationFunc;
			};
		};
	}
	module.exports = StandaloneValidator;
}));

//#endregion
//#region ../node_modules/@fastify/ajv-compiler/index.js
var require_ajv_compiler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const AjvReference = Symbol.for("fastify.ajv-compiler.reference");
	const ValidatorCompiler = require_validator_compiler();
	const SerializerCompiler = require_serializer_compiler();
	function AjvCompiler(opts) {
		const validatorPool = new Map();
		const serializerPool = new Map();
		if (opts && opts.jtdSerializer === true) {
			return function buildSerializerFromPool(externalSchemas, serializerOpts) {
				const uniqueAjvKey = getPoolKey({}, serializerOpts);
				if (serializerPool.has(uniqueAjvKey)) {
					return serializerPool.get(uniqueAjvKey);
				}
				const compiler = new SerializerCompiler(externalSchemas, serializerOpts);
				const ret = compiler.buildSerializerFunction.bind(compiler);
				serializerPool.set(uniqueAjvKey, ret);
				return ret;
			};
		}
		return function buildCompilerFromPool(externalSchemas, options) {
			const uniqueAjvKey = getPoolKey(externalSchemas, options.customOptions);
			if (validatorPool.has(uniqueAjvKey)) {
				return validatorPool.get(uniqueAjvKey);
			}
			const compiler = new ValidatorCompiler(externalSchemas, options);
			const ret = compiler.buildValidatorFunction.bind(compiler);
			validatorPool.set(uniqueAjvKey, ret);
			if (options.customOptions.code !== undefined) {
				ret[AjvReference] = compiler;
			}
			return ret;
		};
	}
	function getPoolKey(externalSchemas, options) {
		const externals = JSON.stringify(externalSchemas);
		const ajvConfig = JSON.stringify(options);
		return `${externals}${ajvConfig}`;
	}
	module.exports = AjvCompiler;
	module.exports.default = AjvCompiler;
	module.exports.AjvCompiler = AjvCompiler;
	module.exports.AjvReference = AjvReference;
	module.exports.StandaloneValidator = require_standalone();
}));

//#endregion
//#region ../node_modules/fastify/lib/schema-controller.js
var require_schema_controller = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { buildSchemas } = require_schemas();
	const SerializerSelector = require_fast_json_stringify_compiler();
	const ValidatorSelector = require_ajv_compiler();
	/**
	* Called at every fastify context that is being created.
	* @param {object} parentSchemaCtrl: the SchemaController instance of the Fastify parent context
	* @param {object} opts: the `schemaController` server option. It can be undefined when a parentSchemaCtrl is set
	* @return {object}:a new SchemaController
	*/
	function buildSchemaController(parentSchemaCtrl, opts) {
		if (parentSchemaCtrl) {
			return new SchemaController(parentSchemaCtrl, opts);
		}
		const compilersFactory = Object.assign({
			buildValidator: null,
			buildSerializer: null
		}, opts?.compilersFactory);
		if (!compilersFactory.buildValidator) {
			compilersFactory.buildValidator = ValidatorSelector();
		}
		if (!compilersFactory.buildSerializer) {
			compilersFactory.buildSerializer = SerializerSelector();
		}
		const option = {
			bucket: opts && opts.bucket || buildSchemas,
			compilersFactory,
			isCustomValidatorCompiler: typeof opts?.compilersFactory?.buildValidator === "function",
			isCustomSerializerCompiler: typeof opts?.compilersFactory?.buildValidator === "function"
		};
		return new SchemaController(undefined, option);
	}
	var SchemaController = class {
		constructor(parent, options) {
			this.opts = options || parent?.opts;
			this.addedSchemas = false;
			this.compilersFactory = this.opts.compilersFactory;
			if (parent) {
				this.schemaBucket = this.opts.bucket(parent.getSchemas());
				this.validatorCompiler = parent.getValidatorCompiler();
				this.serializerCompiler = parent.getSerializerCompiler();
				this.isCustomValidatorCompiler = parent.isCustomValidatorCompiler;
				this.isCustomSerializerCompiler = parent.isCustomSerializerCompiler;
				this.parent = parent;
			} else {
				this.schemaBucket = this.opts.bucket();
				this.isCustomValidatorCompiler = this.opts.isCustomValidatorCompiler || false;
				this.isCustomSerializerCompiler = this.opts.isCustomSerializerCompiler || false;
			}
		}
		add(schema) {
			this.addedSchemas = true;
			return this.schemaBucket.add(schema);
		}
		getSchema(schemaId) {
			return this.schemaBucket.getSchema(schemaId);
		}
		getSchemas() {
			return this.schemaBucket.getSchemas();
		}
		setValidatorCompiler(validatorCompiler) {
			this.compilersFactory = Object.assign({}, this.compilersFactory, { buildValidator: () => validatorCompiler });
			this.validatorCompiler = validatorCompiler;
			this.isCustomValidatorCompiler = true;
		}
		setSerializerCompiler(serializerCompiler) {
			this.compilersFactory = Object.assign({}, this.compilersFactory, { buildSerializer: () => serializerCompiler });
			this.serializerCompiler = serializerCompiler;
			this.isCustomSerializerCompiler = true;
		}
		getValidatorCompiler() {
			return this.validatorCompiler || this.parent && this.parent.getValidatorCompiler();
		}
		getSerializerCompiler() {
			return this.serializerCompiler || this.parent && this.parent.getSerializerCompiler();
		}
		getSerializerBuilder() {
			return this.compilersFactory.buildSerializer || this.parent && this.parent.getSerializerBuilder();
		}
		getValidatorBuilder() {
			return this.compilersFactory.buildValidator || this.parent && this.parent.getValidatorBuilder();
		}
		/**
		* This method will be called when a validator must be setup.
		* Do not setup the compiler more than once
		* @param {object} serverOptions the fastify server options
		*/
		setupValidator(serverOptions) {
			const isReady = this.validatorCompiler !== undefined && !this.addedSchemas;
			if (isReady) {
				return;
			}
			this.validatorCompiler = this.getValidatorBuilder()(this.schemaBucket.getSchemas(), serverOptions.ajv);
		}
		/**
		* This method will be called when a serializer must be setup.
		* Do not setup the compiler more than once
		* @param {object} serverOptions the fastify server options
		*/
		setupSerializer(serverOptions) {
			const isReady = this.serializerCompiler !== undefined && !this.addedSchemas;
			if (isReady) {
				return;
			}
			this.serializerCompiler = this.getSerializerBuilder()(this.schemaBucket.getSchemas(), serverOptions.serializerOpts);
		}
	};
	SchemaController.buildSchemaController = buildSchemaController;
	module.exports = SchemaController;
}));

//#endregion
//#region ../node_modules/fastify/lib/pluginUtils.js
var require_pluginUtils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const semver = require_semver();
	const assert$41 = __require("node:assert");
	const kRegisteredPlugins = Symbol.for("registered-plugin");
	const { kTestInternals } = require_symbols$1();
	const { exist, existReply, existRequest } = require_decorate();
	const { FST_ERR_PLUGIN_VERSION_MISMATCH, FST_ERR_PLUGIN_NOT_PRESENT_IN_INSTANCE } = require_errors$3();
	const { FSTWRN002 } = require_warnings();
	function getMeta(fn) {
		return fn[Symbol.for("plugin-meta")];
	}
	function getPluginName(func) {
		const display = getDisplayName(func);
		if (display) {
			return display;
		}
		const cache = __require.cache;
		if (cache) {
			const keys = Object.keys(cache);
			for (let i = 0; i < keys.length; i++) {
				const key = keys[i];
				if (cache[key].exports === func) {
					return key;
				}
			}
		}
		if (func.name) {
			return func.name;
		}
		return null;
	}
	function getFuncPreview(func) {
		return func.toString().split("\n").slice(0, 2).map((s) => s.trim()).join(" -- ");
	}
	function getDisplayName(fn) {
		return fn[Symbol.for("fastify.display-name")];
	}
	function shouldSkipOverride(fn) {
		return !!fn[Symbol.for("skip-override")];
	}
	function checkDependencies(fn) {
		const meta = getMeta(fn);
		if (!meta) return;
		const dependencies = meta.dependencies;
		if (!dependencies) return;
		assert$41(Array.isArray(dependencies), "The dependencies should be an array of strings");
		dependencies.forEach((dependency) => {
			assert$41(this[kRegisteredPlugins].indexOf(dependency) > -1, `The dependency '${dependency}' of plugin '${meta.name}' is not registered`);
		});
	}
	function checkDecorators(fn) {
		const meta = getMeta(fn);
		if (!meta) return;
		const { decorators, name } = meta;
		if (!decorators) return;
		if (decorators.fastify) _checkDecorators(this, "Fastify", decorators.fastify, name);
		if (decorators.reply) _checkDecorators(this, "Reply", decorators.reply, name);
		if (decorators.request) _checkDecorators(this, "Request", decorators.request, name);
	}
	const checks = {
		Fastify: exist,
		Request: existRequest,
		Reply: existReply
	};
	function _checkDecorators(that, instance, decorators, name) {
		assert$41(Array.isArray(decorators), "The decorators should be an array of strings");
		decorators.forEach((decorator) => {
			const withPluginName = typeof name === "string" ? ` required by '${name}'` : "";
			if (!checks[instance].call(that, decorator)) {
				throw new FST_ERR_PLUGIN_NOT_PRESENT_IN_INSTANCE(decorator, withPluginName, instance);
			}
		});
	}
	function checkVersion(fn) {
		const meta = getMeta(fn);
		if (!meta) return;
		const requiredVersion = meta.fastify;
		const fastifyRc = /-rc.+$/.test(this.version);
		if (fastifyRc === true && semver.gt(this.version, semver.coerce(requiredVersion)) === true) {
			return;
		}
		if (requiredVersion && semver.satisfies(this.version, requiredVersion, { includePrerelease: fastifyRc }) === false) {
			throw new FST_ERR_PLUGIN_VERSION_MISMATCH(meta.name, requiredVersion, this.version);
		}
	}
	function registerPluginName(fn) {
		const meta = getMeta(fn);
		if (!meta) return;
		const name = meta.name;
		if (!name) return;
		this[kRegisteredPlugins].push(name);
		return name;
	}
	function checkPluginHealthiness(fn, pluginName) {
		if (fn.constructor.name === "AsyncFunction" && fn.length === 3) {
			FSTWRN002(pluginName || "anonymous");
		}
	}
	function registerPlugin(fn) {
		const pluginName = registerPluginName.call(this, fn) || getPluginName(fn);
		checkPluginHealthiness.call(this, fn, pluginName);
		checkVersion.call(this, fn);
		checkDecorators.call(this, fn);
		checkDependencies.call(this, fn);
		return shouldSkipOverride(fn);
	}
	module.exports = {
		getPluginName,
		getFuncPreview,
		kRegisteredPlugins,
		getDisplayName,
		registerPlugin
	};
	module.exports[kTestInternals] = {
		shouldSkipOverride,
		getMeta,
		checkDecorators,
		checkDependencies
	};
}));

//#endregion
//#region ../node_modules/fastify/lib/reqIdGenFactory.js
var require_reqIdGenFactory = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* @callback GenerateRequestId
	* @param {Object} req
	* @returns {string}
	*/
	/**
	* @param {string} [requestIdHeader]
	* @param {GenerateRequestId} [optGenReqId]
	* @returns {GenerateRequestId}
	*/
	function reqIdGenFactory(requestIdHeader, optGenReqId) {
		const genReqId = optGenReqId || buildDefaultGenReqId();
		if (requestIdHeader) {
			return buildOptionalHeaderReqId(requestIdHeader, genReqId);
		}
		return genReqId;
	}
	function getGenReqId(contextServer, req) {
		return contextServer.genReqId(req);
	}
	function buildDefaultGenReqId() {
		const maxInt = 2147483647;
		let nextReqId = 0;
		return function defaultGenReqId() {
			nextReqId = nextReqId + 1 & maxInt;
			return `req-${nextReqId.toString(36)}`;
		};
	}
	function buildOptionalHeaderReqId(requestIdHeader, genReqId) {
		return function(req) {
			return req.headers[requestIdHeader] || genReqId(req);
		};
	}
	module.exports = {
		getGenReqId,
		reqIdGenFactory
	};
}));

//#endregion
//#region ../node_modules/fast-decode-uri-component/index.js
var require_fast_decode_uri_component = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var UTF8_ACCEPT = 12;
	var UTF8_REJECT = 0;
	var UTF8_DATA = [
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		2,
		2,
		2,
		2,
		2,
		2,
		2,
		2,
		2,
		2,
		2,
		2,
		2,
		2,
		2,
		2,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		3,
		4,
		4,
		5,
		5,
		5,
		5,
		5,
		5,
		5,
		5,
		5,
		5,
		5,
		5,
		5,
		5,
		5,
		5,
		5,
		5,
		5,
		5,
		5,
		5,
		5,
		5,
		5,
		5,
		5,
		5,
		5,
		5,
		6,
		7,
		7,
		7,
		7,
		7,
		7,
		7,
		7,
		7,
		7,
		7,
		7,
		8,
		7,
		7,
		10,
		9,
		9,
		9,
		11,
		4,
		4,
		4,
		4,
		4,
		4,
		4,
		4,
		4,
		4,
		4,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		12,
		0,
		0,
		0,
		0,
		24,
		36,
		48,
		60,
		72,
		84,
		96,
		0,
		12,
		12,
		12,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		24,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		24,
		24,
		24,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		24,
		24,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		48,
		48,
		48,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		48,
		48,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		48,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		127,
		63,
		63,
		63,
		0,
		31,
		15,
		15,
		15,
		7,
		7,
		7
	];
	function decodeURIComponent(uri) {
		var percentPosition = uri.indexOf("%");
		if (percentPosition === -1) return uri;
		var length = uri.length;
		var decoded = "";
		var last = 0;
		var codepoint = 0;
		var startOfOctets = percentPosition;
		var state = UTF8_ACCEPT;
		while (percentPosition > -1 && percentPosition < length) {
			var high = hexCodeToInt(uri[percentPosition + 1], 4);
			var low = hexCodeToInt(uri[percentPosition + 2], 0);
			var byte = high | low;
			var type = UTF8_DATA[byte];
			state = UTF8_DATA[256 + state + type];
			codepoint = codepoint << 6 | byte & UTF8_DATA[364 + type];
			if (state === UTF8_ACCEPT) {
				decoded += uri.slice(last, startOfOctets);
				decoded += codepoint <= 65535 ? String.fromCharCode(codepoint) : String.fromCharCode(55232 + (codepoint >> 10), 56320 + (codepoint & 1023));
				codepoint = 0;
				last = percentPosition + 3;
				percentPosition = startOfOctets = uri.indexOf("%", last);
			} else if (state === UTF8_REJECT) {
				return null;
			} else {
				percentPosition += 3;
				if (percentPosition < length && uri.charCodeAt(percentPosition) === 37) continue;
				return null;
			}
		}
		return decoded + uri.slice(last);
	}
	var HEX = {
		"0": 0,
		"1": 1,
		"2": 2,
		"3": 3,
		"4": 4,
		"5": 5,
		"6": 6,
		"7": 7,
		"8": 8,
		"9": 9,
		"a": 10,
		"A": 10,
		"b": 11,
		"B": 11,
		"c": 12,
		"C": 12,
		"d": 13,
		"D": 13,
		"e": 14,
		"E": 14,
		"f": 15,
		"F": 15
	};
	function hexCodeToInt(c, shift) {
		var i = HEX[c];
		return i === undefined ? 255 : i << shift;
	}
	module.exports = decodeURIComponent;
}));

//#endregion
//#region ../node_modules/fast-querystring/lib/parse.js
var require_parse$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const fastDecode = require_fast_decode_uri_component();
	const plusRegex = /\+/g;
	const Empty = function() {};
	Empty.prototype = Object.create(null);
	/**
	* @callback parse
	* @param {string} input
	*/
	function parse(input) {
		const result = new Empty();
		if (typeof input !== "string") {
			return result;
		}
		let inputLength = input.length;
		let key = "";
		let value = "";
		let startingIndex = -1;
		let equalityIndex = -1;
		let shouldDecodeKey = false;
		let shouldDecodeValue = false;
		let keyHasPlus = false;
		let valueHasPlus = false;
		let hasBothKeyValuePair = false;
		let c = 0;
		for (let i = 0; i < inputLength + 1; i++) {
			c = i !== inputLength ? input.charCodeAt(i) : 38;
			if (c === 38) {
				hasBothKeyValuePair = equalityIndex > startingIndex;
				if (!hasBothKeyValuePair) {
					equalityIndex = i;
				}
				key = input.slice(startingIndex + 1, equalityIndex);
				if (hasBothKeyValuePair || key.length > 0) {
					if (keyHasPlus) {
						key = key.replace(plusRegex, " ");
					}
					if (shouldDecodeKey) {
						key = fastDecode(key) || key;
					}
					if (hasBothKeyValuePair) {
						value = input.slice(equalityIndex + 1, i);
						if (valueHasPlus) {
							value = value.replace(plusRegex, " ");
						}
						if (shouldDecodeValue) {
							value = fastDecode(value) || value;
						}
					}
					const currentValue = result[key];
					if (currentValue === undefined) {
						result[key] = value;
					} else {
						if (currentValue.pop) {
							currentValue.push(value);
						} else {
							result[key] = [currentValue, value];
						}
					}
				}
				value = "";
				startingIndex = i;
				equalityIndex = i;
				shouldDecodeKey = false;
				shouldDecodeValue = false;
				keyHasPlus = false;
				valueHasPlus = false;
			} else if (c === 61) {
				if (equalityIndex <= startingIndex) {
					equalityIndex = i;
				} else {
					shouldDecodeValue = true;
				}
			} else if (c === 43) {
				if (equalityIndex > startingIndex) {
					valueHasPlus = true;
				} else {
					keyHasPlus = true;
				}
			} else if (c === 37) {
				if (equalityIndex > startingIndex) {
					shouldDecodeValue = true;
				} else {
					shouldDecodeKey = true;
				}
			}
		}
		return result;
	}
	module.exports = parse;
}));

//#endregion
//#region ../node_modules/fast-querystring/lib/internals/querystring.js
var require_querystring = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const hexTable = Array.from({ length: 256 }, (_, i) => "%" + ((i < 16 ? "0" : "") + i.toString(16)).toUpperCase());
	const noEscape = new Int8Array([
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		1,
		0,
		0,
		0,
		0,
		0,
		1,
		1,
		1,
		1,
		0,
		0,
		1,
		1,
		0,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		0,
		0,
		0,
		0,
		1,
		0,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		0,
		0,
		0,
		1,
		0
	]);
	/**
	* @param {string} str
	* @returns {string}
	*/
	function encodeString(str) {
		const len = str.length;
		if (len === 0) return "";
		let out = "";
		let lastPos = 0;
		let i = 0;
		outer: for (; i < len; i++) {
			let c = str.charCodeAt(i);
			while (c < 128) {
				if (noEscape[c] !== 1) {
					if (lastPos < i) out += str.slice(lastPos, i);
					lastPos = i + 1;
					out += hexTable[c];
				}
				if (++i === len) break outer;
				c = str.charCodeAt(i);
			}
			if (lastPos < i) out += str.slice(lastPos, i);
			if (c < 2048) {
				lastPos = i + 1;
				out += hexTable[192 | c >> 6] + hexTable[128 | c & 63];
				continue;
			}
			if (c < 55296 || c >= 57344) {
				lastPos = i + 1;
				out += hexTable[224 | c >> 12] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];
				continue;
			}
			++i;
			if (i >= len) {
				throw new Error("URI malformed");
			}
			const c2 = str.charCodeAt(i) & 1023;
			lastPos = i + 1;
			c = 65536 + ((c & 1023) << 10 | c2);
			out += hexTable[240 | c >> 18] + hexTable[128 | c >> 12 & 63] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];
		}
		if (lastPos === 0) return str;
		if (lastPos < len) return out + str.slice(lastPos);
		return out;
	}
	module.exports = { encodeString };
}));

//#endregion
//#region ../node_modules/fast-querystring/lib/stringify.js
var require_stringify$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { encodeString } = require_querystring();
	function getAsPrimitive(value) {
		const type = typeof value;
		if (type === "string") {
			return encodeString(value);
		} else if (type === "bigint") {
			return value.toString();
		} else if (type === "boolean") {
			return value ? "true" : "false";
		} else if (type === "number" && Number.isFinite(value)) {
			return value < 1e21 ? "" + value : encodeString("" + value);
		}
		return "";
	}
	/**
	* @param {Record<string, string | number | boolean
	* | ReadonlyArray<string | number | boolean> | null>} input
	* @returns {string}
	*/
	function stringify(input) {
		let result = "";
		if (input === null || typeof input !== "object") {
			return result;
		}
		const separator = "&";
		const keys = Object.keys(input);
		const keyLength = keys.length;
		let valueLength = 0;
		for (let i = 0; i < keyLength; i++) {
			const key = keys[i];
			const value = input[key];
			const encodedKey = encodeString(key) + "=";
			if (i) {
				result += separator;
			}
			if (Array.isArray(value)) {
				valueLength = value.length;
				for (let j = 0; j < valueLength; j++) {
					if (j) {
						result += separator;
					}
					result += encodedKey;
					result += getAsPrimitive(value[j]);
				}
			} else {
				result += encodedKey;
				result += getAsPrimitive(value);
			}
		}
		return result;
	}
	module.exports = stringify;
}));

//#endregion
//#region ../node_modules/fast-querystring/lib/index.js
var require_lib$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const parse = require_parse$3();
	const stringify = require_stringify$2();
	const fastQuerystring = {
		parse,
		stringify
	};
	/**
	* Enable TS and JS support
	*
	* - `const qs = require('fast-querystring')`
	* - `import qs from 'fast-querystring'`
	*/
	module.exports = fastQuerystring;
	module.exports.default = fastQuerystring;
	module.exports.parse = parse;
	module.exports.stringify = stringify;
}));

//#endregion
//#region ../node_modules/ret/dist/types/tokens.js
var require_tokens = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
}));

//#endregion
//#region ../node_modules/ret/dist/types/types.js
var require_types$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.types = void 0;
	var types;
	(function(types) {
		types[types["ROOT"] = 0] = "ROOT";
		types[types["GROUP"] = 1] = "GROUP";
		types[types["POSITION"] = 2] = "POSITION";
		types[types["SET"] = 3] = "SET";
		types[types["RANGE"] = 4] = "RANGE";
		types[types["REPETITION"] = 5] = "REPETITION";
		types[types["REFERENCE"] = 6] = "REFERENCE";
		types[types["CHAR"] = 7] = "CHAR";
	})(types = exports.types || (exports.types = {}));
}));

//#endregion
//#region ../node_modules/ret/dist/types/set-lookup.js
var require_set_lookup = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
}));

//#endregion
//#region ../node_modules/ret/dist/types/index.js
var require_types$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
	var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) {
		if (k2 === undefined) k2 = k;
		Object.defineProperty(o, k2, {
			enumerable: true,
			get: function() {
				return m[k];
			}
		});
	}) : (function(o, m, k, k2) {
		if (k2 === undefined) k2 = k;
		o[k2] = m[k];
	}));
	var __exportStar = exports && exports.__exportStar || function(m, exports$5) {
		for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports$5, p)) __createBinding(exports$5, m, p);
	};
	Object.defineProperty(exports, "__esModule", { value: true });
	__exportStar(require_tokens(), exports);
	__exportStar(require_types$2(), exports);
	__exportStar(require_set_lookup(), exports);
}));

//#endregion
//#region ../node_modules/ret/dist/sets.js
var require_sets = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.anyChar = exports.notWhitespace = exports.whitespace = exports.notInts = exports.ints = exports.notWords = exports.words = void 0;
	const types_1 = require_types$1();
	const INTS = () => [{
		type: types_1.types.RANGE,
		from: 48,
		to: 57
	}];
	const WORDS = () => [
		{
			type: types_1.types.CHAR,
			value: 95
		},
		{
			type: types_1.types.RANGE,
			from: 97,
			to: 122
		},
		{
			type: types_1.types.RANGE,
			from: 65,
			to: 90
		},
		{
			type: types_1.types.RANGE,
			from: 48,
			to: 57
		}
	];
	const WHITESPACE = () => [
		{
			type: types_1.types.CHAR,
			value: 9
		},
		{
			type: types_1.types.CHAR,
			value: 10
		},
		{
			type: types_1.types.CHAR,
			value: 11
		},
		{
			type: types_1.types.CHAR,
			value: 12
		},
		{
			type: types_1.types.CHAR,
			value: 13
		},
		{
			type: types_1.types.CHAR,
			value: 32
		},
		{
			type: types_1.types.CHAR,
			value: 160
		},
		{
			type: types_1.types.CHAR,
			value: 5760
		},
		{
			type: types_1.types.RANGE,
			from: 8192,
			to: 8202
		},
		{
			type: types_1.types.CHAR,
			value: 8232
		},
		{
			type: types_1.types.CHAR,
			value: 8233
		},
		{
			type: types_1.types.CHAR,
			value: 8239
		},
		{
			type: types_1.types.CHAR,
			value: 8287
		},
		{
			type: types_1.types.CHAR,
			value: 12288
		},
		{
			type: types_1.types.CHAR,
			value: 65279
		}
	];
	const NOTANYCHAR = () => [
		{
			type: types_1.types.CHAR,
			value: 10
		},
		{
			type: types_1.types.CHAR,
			value: 13
		},
		{
			type: types_1.types.CHAR,
			value: 8232
		},
		{
			type: types_1.types.CHAR,
			value: 8233
		}
	];
	exports.words = () => ({
		type: types_1.types.SET,
		set: WORDS(),
		not: false
	});
	exports.notWords = () => ({
		type: types_1.types.SET,
		set: WORDS(),
		not: true
	});
	exports.ints = () => ({
		type: types_1.types.SET,
		set: INTS(),
		not: false
	});
	exports.notInts = () => ({
		type: types_1.types.SET,
		set: INTS(),
		not: true
	});
	exports.whitespace = () => ({
		type: types_1.types.SET,
		set: WHITESPACE(),
		not: false
	});
	exports.notWhitespace = () => ({
		type: types_1.types.SET,
		set: WHITESPACE(),
		not: true
	});
	exports.anyChar = () => ({
		type: types_1.types.SET,
		set: NOTANYCHAR(),
		not: true
	});
}));

//#endregion
//#region ../node_modules/ret/dist/util.js
var require_util$6 = /* @__PURE__ */ __commonJSMin(((exports) => {
	var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) {
		if (k2 === undefined) k2 = k;
		Object.defineProperty(o, k2, {
			enumerable: true,
			get: function() {
				return m[k];
			}
		});
	}) : (function(o, m, k, k2) {
		if (k2 === undefined) k2 = k;
		o[k2] = m[k];
	}));
	var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? (function(o, v) {
		Object.defineProperty(o, "default", {
			enumerable: true,
			value: v
		});
	}) : function(o, v) {
		o["default"] = v;
	});
	var __importStar = exports && exports.__importStar || function(mod) {
		if (mod && mod.__esModule) return mod;
		var result = {};
		if (mod != null) {
			for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
		}
		__setModuleDefault(result, mod);
		return result;
	};
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.tokenizeClass = exports.strToChars = void 0;
	const types_1 = require_types$1();
	const sets = __importStar(require_sets());
	const CTRL = "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?";
	/**
	* Finds character representations in str and convert all to
	* their respective characters.
	*
	* @param {string} str
	* @returns {string}
	*/
	exports.strToChars = (str) => {
		const charsRegex = /(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g;
		return str.replace(charsRegex, (s, b, lbs, a16, b16, dctrl, eslsh) => {
			if (lbs) {
				return s;
			}
			let code = b ? 8 : a16 ? parseInt(a16, 16) : b16 ? parseInt(b16, 16) : dctrl ? CTRL.indexOf(dctrl) : {
				0: 0,
				t: 9,
				n: 10,
				v: 11,
				f: 12,
				r: 13
			}[eslsh];
			let c = String.fromCharCode(code);
			return /[[\]{}^$.|?*+()]/.test(c) ? `\\${c}` : c;
		});
	};
	/**
	* Turns class into tokens
	* reads str until it encounters a ] not preceeded by a \
	*
	* @param {string} str
	* @param {string} regexpStr
	* @returns {Array.<Array.<Object>, number>}
	*/
	exports.tokenizeClass = (str, regexpStr) => {
		var _a, _b, _c, _d, _e, _f, _g;
		let tokens = [], rs, c;
		const regexp = /\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(((?:\\)])|(((?:\\)?([^\]])))))|(\])|(?:\\)?([^])/g;
		while ((rs = regexp.exec(str)) !== null) {
			const p = (_g = (_f = (_e = (_d = (_c = (_b = (_a = rs[1] && sets.words()) !== null && _a !== void 0 ? _a : rs[2] && sets.ints()) !== null && _b !== void 0 ? _b : rs[3] && sets.whitespace()) !== null && _c !== void 0 ? _c : rs[4] && sets.notWords()) !== null && _d !== void 0 ? _d : rs[5] && sets.notInts()) !== null && _e !== void 0 ? _e : rs[6] && sets.notWhitespace()) !== null && _f !== void 0 ? _f : rs[7] && {
				type: types_1.types.RANGE,
				from: (rs[8] || rs[9]).charCodeAt(0),
				to: (c = rs[10]).charCodeAt(c.length - 1)
			}) !== null && _g !== void 0 ? _g : (c = rs[16]) && {
				type: types_1.types.CHAR,
				value: c.charCodeAt(0)
			};
			if (p) {
				tokens.push(p);
			} else {
				return [tokens, regexp.lastIndex];
			}
		}
		throw new SyntaxError(`Invalid regular expression: /${regexpStr}/: Unterminated character class`);
	};
}));

//#endregion
//#region ../node_modules/ret/dist/tokenizer.js
var require_tokenizer = /* @__PURE__ */ __commonJSMin(((exports) => {
	var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) {
		if (k2 === undefined) k2 = k;
		Object.defineProperty(o, k2, {
			enumerable: true,
			get: function() {
				return m[k];
			}
		});
	}) : (function(o, m, k, k2) {
		if (k2 === undefined) k2 = k;
		o[k2] = m[k];
	}));
	var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? (function(o, v) {
		Object.defineProperty(o, "default", {
			enumerable: true,
			value: v
		});
	}) : function(o, v) {
		o["default"] = v;
	});
	var __importStar = exports && exports.__importStar || function(mod) {
		if (mod && mod.__esModule) return mod;
		var result = {};
		if (mod != null) {
			for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
		}
		__setModuleDefault(result, mod);
		return result;
	};
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.tokenizer = void 0;
	const util = __importStar(require_util$6());
	const types_1 = require_types$1();
	const sets = __importStar(require_sets());
	/**
	* Tokenizes a regular expression (that is currently a string)
	* @param {string} regexpStr String of regular expression to be tokenized
	*
	* @returns {Root}
	*/
	exports.tokenizer = (regexpStr) => {
		let i = 0, c;
		let start = {
			type: types_1.types.ROOT,
			stack: []
		};
		let lastGroup = start;
		let last = start.stack;
		let groupStack = [];
		let referenceQueue = [];
		let groupCount = 0;
		const repeatErr = (col) => {
			throw new SyntaxError(`Invalid regular expression: /${regexpStr}/: Nothing to repeat at column ${col - 1}`);
		};
		let str = util.strToChars(regexpStr);
		while (i < str.length) {
			switch (c = str[i++]) {
				case "\\":
					if (i === str.length) {
						throw new SyntaxError(`Invalid regular expression: /${regexpStr}/: \\ at end of pattern`);
					}
					switch (c = str[i++]) {
						case "b":
							last.push({
								type: types_1.types.POSITION,
								value: "b"
							});
							break;
						case "B":
							last.push({
								type: types_1.types.POSITION,
								value: "B"
							});
							break;
						case "w":
							last.push(sets.words());
							break;
						case "W":
							last.push(sets.notWords());
							break;
						case "d":
							last.push(sets.ints());
							break;
						case "D":
							last.push(sets.notInts());
							break;
						case "s":
							last.push(sets.whitespace());
							break;
						case "S":
							last.push(sets.notWhitespace());
							break;
						default: if (/\d/.test(c)) {
							let digits = c;
							while (i < str.length && /\d/.test(str[i])) {
								digits += str[i++];
							}
							let value = parseInt(digits, 10);
							const reference = {
								type: types_1.types.REFERENCE,
								value
							};
							last.push(reference);
							referenceQueue.push({
								reference,
								stack: last,
								index: last.length - 1
							});
						} else {
							last.push({
								type: types_1.types.CHAR,
								value: c.charCodeAt(0)
							});
						}
					}
					break;
				case "^":
					last.push({
						type: types_1.types.POSITION,
						value: "^"
					});
					break;
				case "$":
					last.push({
						type: types_1.types.POSITION,
						value: "$"
					});
					break;
				case "[": {
					let not;
					if (str[i] === "^") {
						not = true;
						i++;
					} else {
						not = false;
					}
					let classTokens = util.tokenizeClass(str.slice(i), regexpStr);
					i += classTokens[1];
					last.push({
						type: types_1.types.SET,
						set: classTokens[0],
						not
					});
					break;
				}
				case ".":
					last.push(sets.anyChar());
					break;
				case "(": {
					let group = {
						type: types_1.types.GROUP,
						stack: [],
						remember: true
					};
					if (str[i] === "?") {
						c = str[i + 1];
						i += 2;
						if (c === "=") {
							group.followedBy = true;
						} else if (c === "!") {
							group.notFollowedBy = true;
						} else if (c !== ":") {
							throw new SyntaxError(`Invalid regular expression: /${regexpStr}/: Invalid group, character '${c}'` + ` after '?' at column ${i - 1}`);
						}
						group.remember = false;
					} else {
						groupCount += 1;
					}
					last.push(group);
					groupStack.push(lastGroup);
					lastGroup = group;
					last = group.stack;
					break;
				}
				case ")":
					if (groupStack.length === 0) {
						throw new SyntaxError(`Invalid regular expression: /${regexpStr}/: Unmatched ) at column ${i - 1}`);
					}
					lastGroup = groupStack.pop();
					last = lastGroup.options ? lastGroup.options[lastGroup.options.length - 1] : lastGroup.stack;
					break;
				case "|": {
					if (!lastGroup.options) {
						lastGroup.options = [lastGroup.stack];
						delete lastGroup.stack;
					}
					let stack = [];
					lastGroup.options.push(stack);
					last = stack;
					break;
				}
				case "{": {
					let rs = /^(\d+)(,(\d+)?)?\}/.exec(str.slice(i)), min, max;
					if (rs !== null) {
						if (last.length === 0) {
							repeatErr(i);
						}
						min = parseInt(rs[1], 10);
						max = rs[2] ? rs[3] ? parseInt(rs[3], 10) : Infinity : min;
						i += rs[0].length;
						last.push({
							type: types_1.types.REPETITION,
							min,
							max,
							value: last.pop()
						});
					} else {
						last.push({
							type: types_1.types.CHAR,
							value: 123
						});
					}
					break;
				}
				case "?":
					if (last.length === 0) {
						repeatErr(i);
					}
					last.push({
						type: types_1.types.REPETITION,
						min: 0,
						max: 1,
						value: last.pop()
					});
					break;
				case "+":
					if (last.length === 0) {
						repeatErr(i);
					}
					last.push({
						type: types_1.types.REPETITION,
						min: 1,
						max: Infinity,
						value: last.pop()
					});
					break;
				case "*":
					if (last.length === 0) {
						repeatErr(i);
					}
					last.push({
						type: types_1.types.REPETITION,
						min: 0,
						max: Infinity,
						value: last.pop()
					});
					break;
				default: last.push({
					type: types_1.types.CHAR,
					value: c.charCodeAt(0)
				});
			}
		}
		if (groupStack.length !== 0) {
			throw new SyntaxError(`Invalid regular expression: /${regexpStr}/: Unterminated group`);
		}
		updateReferences(referenceQueue, groupCount);
		return start;
	};
	/**
	* This is a side effecting function that changes references to chars
	* if there are not enough capturing groups to reference
	* See: https://github.com/fent/ret.js/pull/39#issuecomment-1006475703
	* See: https://github.com/fent/ret.js/issues/38
	* @param {(Reference | Char)[]} referenceQueue
	* @param {number} groupCount
	* @returns {void}
	*/
	function updateReferences(referenceQueue, groupCount) {
		for (const elem of referenceQueue.reverse()) {
			if (groupCount < elem.reference.value) {
				elem.reference.type = types_1.types.CHAR;
				const valueString = elem.reference.value.toString();
				elem.reference.value = parseInt(valueString, 8);
				if (!/^[0-7]+$/.test(valueString)) {
					let i = 0;
					while (valueString[i] !== "8" && valueString[i] !== "9") {
						i += 1;
					}
					if (i === 0) {
						elem.reference.value = valueString.charCodeAt(0);
						i += 1;
					} else {
						elem.reference.value = parseInt(valueString.slice(0, i), 8);
					}
					if (valueString.length > i) {
						const tail = elem.stack.splice(elem.index + 1);
						for (const char of valueString.slice(i)) {
							elem.stack.push({
								type: types_1.types.CHAR,
								value: char.charCodeAt(0)
							});
						}
						elem.stack.push(...tail);
					}
				}
			}
		}
	}
}));

//#endregion
//#region ../node_modules/ret/dist/sets-lookup.js
var require_sets_lookup = /* @__PURE__ */ __commonJSMin(((exports) => {
	var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) {
		if (k2 === undefined) k2 = k;
		Object.defineProperty(o, k2, {
			enumerable: true,
			get: function() {
				return m[k];
			}
		});
	}) : (function(o, m, k, k2) {
		if (k2 === undefined) k2 = k;
		o[k2] = m[k];
	}));
	var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? (function(o, v) {
		Object.defineProperty(o, "default", {
			enumerable: true,
			value: v
		});
	}) : function(o, v) {
		o["default"] = v;
	});
	var __importStar = exports && exports.__importStar || function(mod) {
		if (mod && mod.__esModule) return mod;
		var result = {};
		if (mod != null) {
			for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
		}
		__setModuleDefault(result, mod);
		return result;
	};
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.NOTANYCHAR = exports.WHITESPACE = exports.WORDS = exports.INTS = void 0;
	const Sets = __importStar(require_sets());
	const types_1 = require_types$1();
	function setToLookup(tokens) {
		let lookup = {};
		let len = 0;
		for (const token of tokens) {
			if (token.type === types_1.types.CHAR) {
				lookup[token.value] = true;
			}
			if (token.type === types_1.types.RANGE) {
				lookup[`${token.from}-${token.to}`] = true;
			}
			len += 1;
		}
		return {
			lookup: () => Object.assign({}, lookup),
			len
		};
	}
	exports.INTS = setToLookup(Sets.ints().set);
	exports.WORDS = setToLookup(Sets.words().set);
	exports.WHITESPACE = setToLookup(Sets.whitespace().set);
	exports.NOTANYCHAR = setToLookup(Sets.anyChar().set);
}));

//#endregion
//#region ../node_modules/ret/dist/write-set-tokens.js
var require_write_set_tokens = /* @__PURE__ */ __commonJSMin(((exports) => {
	var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) {
		if (k2 === undefined) k2 = k;
		Object.defineProperty(o, k2, {
			enumerable: true,
			get: function() {
				return m[k];
			}
		});
	}) : (function(o, m, k, k2) {
		if (k2 === undefined) k2 = k;
		o[k2] = m[k];
	}));
	var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? (function(o, v) {
		Object.defineProperty(o, "default", {
			enumerable: true,
			value: v
		});
	}) : function(o, v) {
		o["default"] = v;
	});
	var __importStar = exports && exports.__importStar || function(mod) {
		if (mod && mod.__esModule) return mod;
		var result = {};
		if (mod != null) {
			for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
		}
		__setModuleDefault(result, mod);
		return result;
	};
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.writeSetTokens = exports.setChar = void 0;
	const types_1 = require_types$1();
	const sets = __importStar(require_sets_lookup());
	/**
	* Takes character code and returns character to be displayed in a set
	* @param {number} charCode Character code of set element
	* @returns {string} The string for the sets character
	*/
	function setChar(charCode) {
		return charCode === 94 ? "\\^" : charCode === 92 ? "\\\\" : charCode === 93 ? "\\]" : charCode === 45 ? "\\-" : String.fromCharCode(charCode);
	}
	exports.setChar = setChar;
	/**
	* Test if a character set matches a 'set-lookup'
	* @param {SetTokens} set The set to be tested
	* @param {SetLookup} param The predefined 'set-lookup' & the number of elements in the lookup
	* @returns {boolean} True if the character set corresponds to the 'set-lookup'
	*/
	function isSameSet(set, { lookup, len }) {
		if (len !== set.length) {
			return false;
		}
		const map = lookup();
		for (const elem of set) {
			if (elem.type === types_1.types.SET) {
				return false;
			}
			const key = elem.type === types_1.types.CHAR ? elem.value : `${elem.from}-${elem.to}`;
			if (map[key]) {
				map[key] = false;
			} else {
				return false;
			}
		}
		return true;
	}
	/**
	* Writes the tokens for a set
	* @param {Set} set The set to display
	* @param {boolean} isNested Whether the token is nested inside another set token
	* @returns {string} The tokens for the set
	*/
	function writeSetTokens(set, isNested = false) {
		if (isSameSet(set.set, sets.INTS)) {
			return set.not ? "\\D" : "\\d";
		}
		if (isSameSet(set.set, sets.WORDS)) {
			return set.not ? "\\W" : "\\w";
		}
		if (set.not && isSameSet(set.set, sets.NOTANYCHAR)) {
			return ".";
		}
		if (isSameSet(set.set, sets.WHITESPACE)) {
			return set.not ? "\\S" : "\\s";
		}
		let tokenString = "";
		for (let i = 0; i < set.set.length; i++) {
			const subset = set.set[i];
			tokenString += writeSetToken(subset);
		}
		const contents = `${set.not ? "^" : ""}${tokenString}`;
		return isNested ? contents : `[${contents}]`;
	}
	exports.writeSetTokens = writeSetTokens;
	/**
	* Writes a token within a set
	* @param {Range | Char | Set} set The set token to display
	* @returns {string} The token as a string
	*/
	function writeSetToken(set) {
		if (set.type === types_1.types.CHAR) {
			return setChar(set.value);
		} else if (set.type === types_1.types.RANGE) {
			return `${setChar(set.from)}-${setChar(set.to)}`;
		}
		return writeSetTokens(set, true);
	}
}));

//#endregion
//#region ../node_modules/ret/dist/reconstruct.js
var require_reconstruct = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.reconstruct = void 0;
	const types_1 = require_types$1();
	const write_set_tokens_1 = require_write_set_tokens();
	const reduceStack = (stack) => stack.map(exports.reconstruct).join("");
	const createAlternate = (token) => {
		if ("options" in token) {
			return token.options.map(reduceStack).join("|");
		} else if ("stack" in token) {
			return reduceStack(token.stack);
		} else {
			throw new Error(`options or stack must be Root or Group token`);
		}
	};
	exports.reconstruct = (token) => {
		switch (token.type) {
			case types_1.types.ROOT: return createAlternate(token);
			case types_1.types.CHAR: {
				const c = String.fromCharCode(token.value);
				return (/[[\\{}$^.|?*+()]/.test(c) ? "\\" : "") + c;
			}
			case types_1.types.POSITION: if (token.value === "^" || token.value === "$") {
				return token.value;
			} else {
				return `\\${token.value}`;
			}
			case types_1.types.REFERENCE: return `\\${token.value}`;
			case types_1.types.SET: return write_set_tokens_1.writeSetTokens(token);
			case types_1.types.GROUP: {
				const prefix = token.remember ? "" : token.followedBy ? "?=" : token.notFollowedBy ? "?!" : "?:";
				return `(${prefix}${createAlternate(token)})`;
			}
			case types_1.types.REPETITION: {
				const { min, max } = token;
				let endWith;
				if (min === 0 && max === 1) {
					endWith = "?";
				} else if (min === 1 && max === Infinity) {
					endWith = "+";
				} else if (min === 0 && max === Infinity) {
					endWith = "*";
				} else if (max === Infinity) {
					endWith = `{${min},}`;
				} else if (min === max) {
					endWith = `{${min}}`;
				} else {
					endWith = `{${min},${max}}`;
				}
				return `${exports.reconstruct(token.value)}${endWith}`;
			}
			case types_1.types.RANGE: return `${write_set_tokens_1.setChar(token.from)}-${write_set_tokens_1.setChar(token.to)}`;
			default: throw new Error(`Invalid token type ${token}`);
		}
	};
}));

//#endregion
//#region ../node_modules/ret/dist/index.js
var require_dist$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) {
		if (k2 === undefined) k2 = k;
		Object.defineProperty(o, k2, {
			enumerable: true,
			get: function() {
				return m[k];
			}
		});
	}) : (function(o, m, k, k2) {
		if (k2 === undefined) k2 = k;
		o[k2] = m[k];
	}));
	var __exportStar = exports && exports.__exportStar || function(m, exports$4) {
		for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports$4, p)) __createBinding(exports$4, m, p);
	};
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.types = void 0;
	/* istanbul ignore file */
	const types_1 = require_types$1();
	Object.defineProperty(exports, "types", {
		enumerable: true,
		get: function() {
			return types_1.types;
		}
	});
	__exportStar(require_tokenizer(), exports);
	__exportStar(require_reconstruct(), exports);
	const tokenizer_1 = require_tokenizer();
	const reconstruct_1 = require_reconstruct();
	__exportStar(require_types$1(), exports);
	exports.default = tokenizer_1.tokenizer;
	module.exports = tokenizer_1.tokenizer;
	module.exports.types = types_1.types;
	module.exports.reconstruct = reconstruct_1.reconstruct;
}));

//#endregion
//#region ../node_modules/safe-regex2/index.js
var require_safe_regex2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const parse = require_dist$1();
	const types = parse.types;
	function safeRegex(re, opts) {
		if (!opts) opts = {};
		const replimit = opts.limit === undefined ? 25 : opts.limit;
		if (isRegExp(re)) re = re.source;
		else if (typeof re !== "string") re = String(re);
		try {
			re = parse(re);
		} catch (err) {
			return false;
		}
		let reps = 0;
		return (function walk(node, starHeight) {
			let i;
			let ok;
			let len;
			if (node.type === types.REPETITION) {
				starHeight++;
				reps++;
				if (starHeight > 1) return false;
				if (reps > replimit) return false;
			}
			if (node.options) {
				for (i = 0, len = node.options.length; i < len; i++) {
					ok = walk({ stack: node.options[i] }, starHeight);
					if (!ok) return false;
				}
			}
			const stack = node.stack || node.value && node.value.stack;
			if (!stack) return true;
			for (i = 0; i < stack.length; i++) {
				ok = walk(stack[i], starHeight);
				if (!ok) return false;
			}
			return true;
		})(re, 0);
	}
	function isRegExp(x) {
		return {}.toString.call(x) === "[object RegExp]";
	}
	module.exports = safeRegex;
	module.exports.default = safeRegex;
	module.exports.safeRegex = safeRegex;
}));

//#endregion
//#region ../node_modules/find-my-way/lib/strategies/http-method.js
var require_http_method = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = {
		name: "__fmw_internal_strategy_merged_tree_http_method__",
		storage: function() {
			const handlers = {};
			return {
				get: (type) => {
					return handlers[type] || null;
				},
				set: (type, store) => {
					handlers[type] = store;
				}
			};
		},
		deriveConstraint: (req) => req.method,
		mustMatchWhenDerived: true
	};
}));

//#endregion
//#region ../node_modules/find-my-way/lib/pretty-print.js
var require_pretty_print = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const deepEqual = require_fast_deep_equal();
	const httpMethodStrategy = require_http_method();
	const treeDataSymbol = Symbol("treeData");
	function printObjectTree(obj, parentPrefix = "") {
		let tree = "";
		const keys = Object.keys(obj);
		for (let i = 0; i < keys.length; i++) {
			const key = keys[i];
			const value = obj[key];
			const isLast = i === keys.length - 1;
			const nodePrefix = isLast ? "└── " : "├── ";
			const childPrefix = isLast ? "    " : "│   ";
			const nodeData = value[treeDataSymbol] || "";
			const prefixedNodeData = nodeData.split("\n").join("\n" + parentPrefix + childPrefix);
			tree += parentPrefix + nodePrefix + key + prefixedNodeData + "\n";
			tree += printObjectTree(value, parentPrefix + childPrefix);
		}
		return tree;
	}
	function parseFunctionName(fn) {
		let fName = fn.name || "";
		fName = fName.replace("bound", "").trim();
		fName = (fName || "anonymous") + "()";
		return fName;
	}
	function parseMeta(meta) {
		if (Array.isArray(meta)) return meta.map((m) => parseMeta(m));
		if (typeof meta === "symbol") return meta.toString();
		if (typeof meta === "function") return parseFunctionName(meta);
		return meta;
	}
	function getRouteMetaData(route, options) {
		if (!options.includeMeta) return {};
		const metaDataObject = options.buildPrettyMeta(route);
		const filteredMetaData = {};
		let includeMetaKeys = options.includeMeta;
		if (!Array.isArray(includeMetaKeys)) {
			includeMetaKeys = Reflect.ownKeys(metaDataObject);
		}
		for (const metaKey of includeMetaKeys) {
			if (!Object.prototype.hasOwnProperty.call(metaDataObject, metaKey)) continue;
			const serializedKey = metaKey.toString();
			const metaValue = metaDataObject[metaKey];
			if (metaValue !== undefined && metaValue !== null) {
				const serializedValue = JSON.stringify(parseMeta(metaValue));
				filteredMetaData[serializedKey] = serializedValue;
			}
		}
		return filteredMetaData;
	}
	function serializeMetaData(metaData) {
		let serializedMetaData = "";
		for (const [key, value] of Object.entries(metaData)) {
			serializedMetaData += `\n• (${key}) ${value}`;
		}
		return serializedMetaData;
	}
	function normalizeRoute(route) {
		const constraints = { ...route.opts.constraints };
		const method = constraints[httpMethodStrategy.name];
		delete constraints[httpMethodStrategy.name];
		return {
			...route,
			method,
			opts: { constraints }
		};
	}
	function serializeRoute(route) {
		let serializedRoute = ` (${route.method})`;
		const constraints = route.opts.constraints || {};
		if (Object.keys(constraints).length !== 0) {
			serializedRoute += " " + JSON.stringify(constraints);
		}
		serializedRoute += serializeMetaData(route.metaData);
		return serializedRoute;
	}
	function mergeSimilarRoutes(routes) {
		return routes.reduce((mergedRoutes, route) => {
			for (const nodeRoute of mergedRoutes) {
				if (deepEqual(route.opts.constraints, nodeRoute.opts.constraints) && deepEqual(route.metaData, nodeRoute.metaData)) {
					nodeRoute.method += ", " + route.method;
					return mergedRoutes;
				}
			}
			mergedRoutes.push(route);
			return mergedRoutes;
		}, []);
	}
	function serializeNode(node, prefix, options) {
		let routes = node.routes;
		if (options.method === undefined) {
			routes = routes.map(normalizeRoute);
		}
		routes = routes.map((route) => {
			route.metaData = getRouteMetaData(route, options);
			return route;
		});
		if (options.method === undefined) {
			routes = mergeSimilarRoutes(routes);
		}
		return routes.map(serializeRoute).join(`\n${prefix}`);
	}
	function buildObjectTree(node, tree, prefix, options) {
		if (node.isLeafNode || options.commonPrefix !== false) {
			prefix = prefix || "(empty root node)";
			tree = tree[prefix] = {};
			if (node.isLeafNode) {
				tree[treeDataSymbol] = serializeNode(node, prefix, options);
			}
			prefix = "";
		}
		if (node.staticChildren) {
			for (const child of Object.values(node.staticChildren)) {
				buildObjectTree(child, tree, prefix + child.prefix, options);
			}
		}
		if (node.parametricChildren) {
			for (const child of Object.values(node.parametricChildren)) {
				const childPrefix = Array.from(child.nodePaths).join("|");
				buildObjectTree(child, tree, prefix + childPrefix, options);
			}
		}
		if (node.wildcardChild) {
			buildObjectTree(node.wildcardChild, tree, "*", options);
		}
	}
	function prettyPrintTree(root, options) {
		const objectTree = {};
		buildObjectTree(root, objectTree, root.prefix, options);
		return printObjectTree(objectTree);
	}
	module.exports = { prettyPrintTree };
}));

//#endregion
//#region ../node_modules/find-my-way/lib/handler-storage.js
var require_handler_storage = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const httpMethodStrategy = require_http_method();
	var HandlerStorage = class {
		constructor() {
			this.unconstrainedHandler = null;
			this.constraints = [];
			this.handlers = [];
			this.constrainedHandlerStores = null;
		}
		getMatchingHandler(derivedConstraints) {
			if (derivedConstraints === undefined) {
				return this.unconstrainedHandler;
			}
			return this._getHandlerMatchingConstraints(derivedConstraints);
		}
		addHandler(constrainer, route) {
			const params = route.params;
			const constraints = route.opts.constraints || {};
			const handlerObject = {
				params,
				constraints,
				handler: route.handler,
				store: route.store || null,
				_createParamsObject: this._compileCreateParamsObject(params)
			};
			const constraintsNames = Object.keys(constraints);
			if (constraintsNames.length === 0) {
				this.unconstrainedHandler = handlerObject;
			}
			for (const constraint of constraintsNames) {
				if (!this.constraints.includes(constraint)) {
					if (constraint === "version") {
						this.constraints.unshift(constraint);
					} else {
						this.constraints.push(constraint);
					}
				}
			}
			const isMergedTree = constraintsNames.includes(httpMethodStrategy.name);
			if (!isMergedTree && this.handlers.length >= 31) {
				throw new Error("find-my-way supports a maximum of 31 route handlers per node when there are constraints, limit reached");
			}
			this.handlers.push(handlerObject);
			this.handlers.sort((a, b) => Object.keys(a.constraints).length - Object.keys(b.constraints).length);
			if (!isMergedTree) {
				this._compileGetHandlerMatchingConstraints(constrainer, constraints);
			}
		}
		_compileCreateParamsObject(params) {
			const lines = [];
			for (let i = 0; i < params.length; i++) {
				lines.push(`'${params[i]}': paramsArray[${i}]`);
			}
			return new Function("paramsArray", `return {${lines.join(",")}}`);
		}
		_getHandlerMatchingConstraints() {
			return null;
		}
		_buildConstraintStore(store, constraint) {
			for (let i = 0; i < this.handlers.length; i++) {
				const handler = this.handlers[i];
				const constraintValue = handler.constraints[constraint];
				if (constraintValue !== undefined) {
					let indexes = store.get(constraintValue) || 0;
					indexes |= 1 << i;
					store.set(constraintValue, indexes);
				}
			}
		}
		_constrainedIndexBitmask(constraint) {
			let mask = 0;
			for (let i = 0; i < this.handlers.length; i++) {
				const handler = this.handlers[i];
				const constraintValue = handler.constraints[constraint];
				if (constraintValue !== undefined) {
					mask |= 1 << i;
				}
			}
			return ~mask;
		}
		_compileGetHandlerMatchingConstraints(constrainer) {
			this.constrainedHandlerStores = {};
			for (const constraint of this.constraints) {
				const store = constrainer.newStoreForConstraint(constraint);
				this.constrainedHandlerStores[constraint] = store;
				this._buildConstraintStore(store, constraint);
			}
			const lines = [];
			lines.push(`
    let candidates = ${(1 << this.handlers.length) - 1}
    let mask, matches
    `);
			for (const constraint of this.constraints) {
				lines.push(`
      mask = ${this._constrainedIndexBitmask(constraint)}
      value = derivedConstraints.${constraint}
      `);
				const strategy = constrainer.strategies[constraint];
				const matchMask = strategy.mustMatchWhenDerived ? "matches" : "(matches | mask)";
				lines.push(`
      if (value === undefined) {
        candidates &= mask
      } else {
        matches = this.constrainedHandlerStores.${constraint}.get(value) || 0
        candidates &= ${matchMask}
      }
      if (candidates === 0) return null;
      `);
			}
			for (const constraint in constrainer.strategies) {
				const strategy = constrainer.strategies[constraint];
				if (strategy.mustMatchWhenDerived && !this.constraints.includes(constraint)) {
					lines.push(`if (derivedConstraints.${constraint} !== undefined) return null`);
				}
			}
			lines.push("return this.handlers[Math.floor(Math.log2(candidates))]");
			this._getHandlerMatchingConstraints = new Function("derivedConstraints", lines.join("\n"));
		}
	};
	module.exports = HandlerStorage;
}));

//#endregion
//#region ../node_modules/find-my-way/lib/node.js
var require_node = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const HandlerStorage = require_handler_storage();
	const NODE_TYPES = {
		STATIC: 0,
		PARAMETRIC: 1,
		WILDCARD: 2
	};
	var Node = class {
		constructor() {
			this.isLeafNode = false;
			this.routes = null;
			this.handlerStorage = null;
		}
		addRoute(route, constrainer) {
			if (this.routes === null) {
				this.routes = [];
			}
			if (this.handlerStorage === null) {
				this.handlerStorage = new HandlerStorage();
			}
			this.isLeafNode = true;
			this.routes.push(route);
			this.handlerStorage.addHandler(constrainer, route);
		}
	};
	var ParentNode = class extends Node {
		constructor() {
			super();
			this.staticChildren = {};
		}
		findStaticMatchingChild(path, pathIndex) {
			const staticChild = this.staticChildren[path.charAt(pathIndex)];
			if (staticChild === undefined || !staticChild.matchPrefix(path, pathIndex)) {
				return null;
			}
			return staticChild;
		}
		getStaticChild(path, pathIndex = 0) {
			if (path.length === pathIndex) {
				return this;
			}
			const staticChild = this.findStaticMatchingChild(path, pathIndex);
			if (staticChild) {
				return staticChild.getStaticChild(path, pathIndex + staticChild.prefix.length);
			}
			return null;
		}
		createStaticChild(path) {
			if (path.length === 0) {
				return this;
			}
			let staticChild = this.staticChildren[path.charAt(0)];
			if (staticChild) {
				let i = 1;
				for (; i < staticChild.prefix.length; i++) {
					if (path.charCodeAt(i) !== staticChild.prefix.charCodeAt(i)) {
						staticChild = staticChild.split(this, i);
						break;
					}
				}
				return staticChild.createStaticChild(path.slice(i));
			}
			const label = path.charAt(0);
			this.staticChildren[label] = new StaticNode(path);
			return this.staticChildren[label];
		}
	};
	var StaticNode = class StaticNode extends ParentNode {
		constructor(prefix) {
			super();
			this.prefix = prefix;
			this.wildcardChild = null;
			this.parametricChildren = [];
			this.kind = NODE_TYPES.STATIC;
			this._compilePrefixMatch();
		}
		getParametricChild(regex) {
			const regexpSource = regex && regex.source;
			const parametricChild = this.parametricChildren.find((child) => {
				const childRegexSource = child.regex && child.regex.source;
				return childRegexSource === regexpSource;
			});
			if (parametricChild) {
				return parametricChild;
			}
			return null;
		}
		createParametricChild(regex, staticSuffix, nodePath) {
			let parametricChild = this.getParametricChild(regex);
			if (parametricChild) {
				parametricChild.nodePaths.add(nodePath);
				return parametricChild;
			}
			parametricChild = new ParametricNode(regex, staticSuffix, nodePath);
			this.parametricChildren.push(parametricChild);
			this.parametricChildren.sort((child1, child2) => {
				if (!child1.isRegex) return 1;
				if (!child2.isRegex) return -1;
				if (child1.staticSuffix === null) return 1;
				if (child2.staticSuffix === null) return -1;
				if (child2.staticSuffix.endsWith(child1.staticSuffix)) return 1;
				if (child1.staticSuffix.endsWith(child2.staticSuffix)) return -1;
				return 0;
			});
			return parametricChild;
		}
		getWildcardChild() {
			return this.wildcardChild;
		}
		createWildcardChild() {
			this.wildcardChild = this.getWildcardChild() || new WildcardNode();
			return this.wildcardChild;
		}
		split(parentNode, length) {
			const parentPrefix = this.prefix.slice(0, length);
			const childPrefix = this.prefix.slice(length);
			this.prefix = childPrefix;
			this._compilePrefixMatch();
			const staticNode = new StaticNode(parentPrefix);
			staticNode.staticChildren[childPrefix.charAt(0)] = this;
			parentNode.staticChildren[parentPrefix.charAt(0)] = staticNode;
			return staticNode;
		}
		getNextNode(path, pathIndex, nodeStack, paramsCount) {
			let node = this.findStaticMatchingChild(path, pathIndex);
			let parametricBrotherNodeIndex = 0;
			if (node === null) {
				if (this.parametricChildren.length === 0) {
					return this.wildcardChild;
				}
				node = this.parametricChildren[0];
				parametricBrotherNodeIndex = 1;
			}
			if (this.wildcardChild !== null) {
				nodeStack.push({
					paramsCount,
					brotherPathIndex: pathIndex,
					brotherNode: this.wildcardChild
				});
			}
			for (let i = this.parametricChildren.length - 1; i >= parametricBrotherNodeIndex; i--) {
				nodeStack.push({
					paramsCount,
					brotherPathIndex: pathIndex,
					brotherNode: this.parametricChildren[i]
				});
			}
			return node;
		}
		_compilePrefixMatch() {
			if (this.prefix.length === 1) {
				this.matchPrefix = () => true;
				return;
			}
			const lines = [];
			for (let i = 1; i < this.prefix.length; i++) {
				const charCode = this.prefix.charCodeAt(i);
				lines.push(`path.charCodeAt(i + ${i}) === ${charCode}`);
			}
			this.matchPrefix = new Function("path", "i", `return ${lines.join(" && ")}`);
		}
	};
	var ParametricNode = class extends ParentNode {
		constructor(regex, staticSuffix, nodePath) {
			super();
			this.isRegex = !!regex;
			this.regex = regex || null;
			this.staticSuffix = staticSuffix || null;
			this.kind = NODE_TYPES.PARAMETRIC;
			this.nodePaths = new Set([nodePath]);
		}
		getNextNode(path, pathIndex) {
			return this.findStaticMatchingChild(path, pathIndex);
		}
	};
	var WildcardNode = class extends Node {
		constructor() {
			super();
			this.kind = NODE_TYPES.WILDCARD;
		}
		getNextNode() {
			return null;
		}
	};
	module.exports = {
		StaticNode,
		ParametricNode,
		WildcardNode,
		NODE_TYPES
	};
}));

//#endregion
//#region ../node_modules/find-my-way/lib/strategies/accept-version.js
var require_accept_version = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const assert$40 = __require("node:assert");
	function SemVerStore() {
		if (!(this instanceof SemVerStore)) {
			return new SemVerStore();
		}
		this.store = {};
		this.maxMajor = 0;
		this.maxMinors = {};
		this.maxPatches = {};
	}
	SemVerStore.prototype.set = function(version, store) {
		if (typeof version !== "string") {
			throw new TypeError("Version should be a string");
		}
		let [major, minor, patch] = version.split(".");
		if (isNaN(major)) {
			throw new TypeError("Major version must be a numeric value");
		}
		major = Number(major);
		minor = Number(minor) || 0;
		patch = Number(patch) || 0;
		if (major >= this.maxMajor) {
			this.maxMajor = major;
			this.store.x = store;
			this.store["*"] = store;
			this.store["x.x"] = store;
			this.store["x.x.x"] = store;
		}
		if (minor >= (this.maxMinors[major] || 0)) {
			this.maxMinors[major] = minor;
			this.store[`${major}.x`] = store;
			this.store[`${major}.x.x`] = store;
		}
		if (patch >= (this.maxPatches[`${major}.${minor}`] || 0)) {
			this.maxPatches[`${major}.${minor}`] = patch;
			this.store[`${major}.${minor}.x`] = store;
		}
		this.store[`${major}.${minor}.${patch}`] = store;
		return this;
	};
	SemVerStore.prototype.get = function(version) {
		return this.store[version];
	};
	module.exports = {
		name: "version",
		mustMatchWhenDerived: true,
		storage: SemVerStore,
		validate(value) {
			assert$40(typeof value === "string", "Version should be a string");
		}
	};
}));

//#endregion
//#region ../node_modules/find-my-way/lib/strategies/accept-host.js
var require_accept_host = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const assert$39 = __require("node:assert");
	function HostStorage() {
		const hosts = {};
		const regexHosts = [];
		return {
			get: (host) => {
				const exact = hosts[host];
				if (exact) {
					return exact;
				}
				for (const regex of regexHosts) {
					if (regex.host.test(host)) {
						return regex.value;
					}
				}
			},
			set: (host, value) => {
				if (host instanceof RegExp) {
					regexHosts.push({
						host,
						value
					});
				} else {
					hosts[host] = value;
				}
			}
		};
	}
	module.exports = {
		name: "host",
		mustMatchWhenDerived: false,
		storage: HostStorage,
		validate(value) {
			assert$39(typeof value === "string" || Object.prototype.toString.call(value) === "[object RegExp]", "Host should be a string or a RegExp");
		}
	};
}));

//#endregion
//#region ../node_modules/find-my-way/lib/constrainer.js
var require_constrainer = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const acceptVersionStrategy = require_accept_version();
	const acceptHostStrategy = require_accept_host();
	const assert$38 = __require("node:assert");
	var Constrainer = class {
		constructor(customStrategies) {
			this.strategies = {
				version: acceptVersionStrategy,
				host: acceptHostStrategy
			};
			this.strategiesInUse = new Set();
			this.asyncStrategiesInUse = new Set();
			if (customStrategies) {
				for (const strategy of Object.values(customStrategies)) {
					this.addConstraintStrategy(strategy);
				}
			}
		}
		isStrategyUsed(strategyName) {
			return this.strategiesInUse.has(strategyName) || this.asyncStrategiesInUse.has(strategyName);
		}
		hasConstraintStrategy(strategyName) {
			const customConstraintStrategy = this.strategies[strategyName];
			if (customConstraintStrategy !== undefined) {
				return customConstraintStrategy.isCustom || this.isStrategyUsed(strategyName);
			}
			return false;
		}
		addConstraintStrategy(strategy) {
			assert$38(typeof strategy.name === "string" && strategy.name !== "", "strategy.name is required.");
			assert$38(strategy.storage && typeof strategy.storage === "function", "strategy.storage function is required.");
			assert$38(strategy.deriveConstraint && typeof strategy.deriveConstraint === "function", "strategy.deriveConstraint function is required.");
			if (this.strategies[strategy.name] && this.strategies[strategy.name].isCustom) {
				throw new Error(`There already exists a custom constraint with the name ${strategy.name}.`);
			}
			if (this.isStrategyUsed(strategy.name)) {
				throw new Error(`There already exists a route with ${strategy.name} constraint.`);
			}
			strategy.isCustom = true;
			strategy.isAsync = strategy.deriveConstraint.length === 3;
			this.strategies[strategy.name] = strategy;
			if (strategy.mustMatchWhenDerived) {
				this.noteUsage({ [strategy.name]: strategy });
			}
		}
		deriveConstraints(req, ctx, done) {
			const constraints = this.deriveSyncConstraints(req, ctx);
			if (done === undefined) {
				return constraints;
			}
			this.deriveAsyncConstraints(constraints, req, ctx, done);
		}
		deriveSyncConstraints(req, ctx) {
			return undefined;
		}
		noteUsage(constraints) {
			if (constraints) {
				const beforeSize = this.strategiesInUse.size;
				for (const key in constraints) {
					const strategy = this.strategies[key];
					if (strategy.isAsync) {
						this.asyncStrategiesInUse.add(key);
					} else {
						this.strategiesInUse.add(key);
					}
				}
				if (beforeSize !== this.strategiesInUse.size) {
					this._buildDeriveConstraints();
				}
			}
		}
		newStoreForConstraint(constraint) {
			if (!this.strategies[constraint]) {
				throw new Error(`No strategy registered for constraint key ${constraint}`);
			}
			return this.strategies[constraint].storage();
		}
		validateConstraints(constraints) {
			for (const key in constraints) {
				const value = constraints[key];
				if (typeof value === "undefined") {
					throw new Error("Can't pass an undefined constraint value, must pass null or no key at all");
				}
				const strategy = this.strategies[key];
				if (!strategy) {
					throw new Error(`No strategy registered for constraint key ${key}`);
				}
				if (strategy.validate) {
					strategy.validate(value);
				}
			}
		}
		deriveAsyncConstraints(constraints, req, ctx, done) {
			let asyncConstraintsCount = this.asyncStrategiesInUse.size;
			if (asyncConstraintsCount === 0) {
				done(null, constraints);
				return;
			}
			constraints = constraints || {};
			for (const key of this.asyncStrategiesInUse) {
				const strategy = this.strategies[key];
				strategy.deriveConstraint(req, ctx, (err, constraintValue) => {
					if (err !== null) {
						done(err);
						return;
					}
					constraints[key] = constraintValue;
					if (--asyncConstraintsCount === 0) {
						done(null, constraints);
					}
				});
			}
		}
		_buildDeriveConstraints() {
			if (this.strategiesInUse.size === 0) return;
			const lines = ["return {"];
			for (const key of this.strategiesInUse) {
				const strategy = this.strategies[key];
				if (!strategy.isCustom) {
					if (key === "version") {
						lines.push("   version: req.headers['accept-version'],");
					} else {
						lines.push("   host: req.headers.host || req.headers[':authority'],");
					}
				} else {
					lines.push(`  ${strategy.name}: this.strategies.${key}.deriveConstraint(req, ctx),`);
				}
			}
			lines.push("}");
			this.deriveSyncConstraints = new Function("req", "ctx", lines.join("\n")).bind(this);
		}
	};
	module.exports = Constrainer;
}));

//#endregion
//#region ../node_modules/find-my-way/lib/http-methods.js
var require_http_methods = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const httpMethods = [
		"ACL",
		"BIND",
		"CHECKOUT",
		"CONNECT",
		"COPY",
		"DELETE",
		"GET",
		"HEAD",
		"LINK",
		"LOCK",
		"M-SEARCH",
		"MERGE",
		"MKACTIVITY",
		"MKCALENDAR",
		"MKCOL",
		"MOVE",
		"NOTIFY",
		"OPTIONS",
		"PATCH",
		"POST",
		"PROPFIND",
		"PROPPATCH",
		"PURGE",
		"PUT",
		"REBIND",
		"REPORT",
		"SEARCH",
		"SOURCE",
		"SUBSCRIBE",
		"TRACE",
		"UNBIND",
		"UNLINK",
		"UNLOCK",
		"UNSUBSCRIBE"
	];
	module.exports = httpMethods;
}));

//#endregion
//#region ../node_modules/find-my-way/lib/url-sanitizer.js
var require_url_sanitizer = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	function decodeComponentChar(highCharCode, lowCharCode) {
		if (highCharCode === 50) {
			if (lowCharCode === 53) return "%";
			if (lowCharCode === 51) return "#";
			if (lowCharCode === 52) return "$";
			if (lowCharCode === 54) return "&";
			if (lowCharCode === 66) return "+";
			if (lowCharCode === 98) return "+";
			if (lowCharCode === 67) return ",";
			if (lowCharCode === 99) return ",";
			if (lowCharCode === 70) return "/";
			if (lowCharCode === 102) return "/";
			return null;
		}
		if (highCharCode === 51) {
			if (lowCharCode === 65) return ":";
			if (lowCharCode === 97) return ":";
			if (lowCharCode === 66) return ";";
			if (lowCharCode === 98) return ";";
			if (lowCharCode === 68) return "=";
			if (lowCharCode === 100) return "=";
			if (lowCharCode === 70) return "?";
			if (lowCharCode === 102) return "?";
			return null;
		}
		if (highCharCode === 52 && lowCharCode === 48) {
			return "@";
		}
		return null;
	}
	function safeDecodeURI(path, useSemicolonDelimiter) {
		let shouldDecode = false;
		let shouldDecodeParam = false;
		let querystring = "";
		for (let i = 1; i < path.length; i++) {
			const charCode = path.charCodeAt(i);
			if (charCode === 37) {
				const highCharCode = path.charCodeAt(i + 1);
				const lowCharCode = path.charCodeAt(i + 2);
				if (decodeComponentChar(highCharCode, lowCharCode) === null) {
					shouldDecode = true;
				} else {
					shouldDecodeParam = true;
					if (highCharCode === 50 && lowCharCode === 53) {
						shouldDecode = true;
						path = path.slice(0, i + 1) + "25" + path.slice(i + 1);
						i += 2;
					}
					i += 2;
				}
			} else if (charCode === 63 || charCode === 35 || charCode === 59 && useSemicolonDelimiter) {
				querystring = path.slice(i + 1);
				path = path.slice(0, i);
				break;
			}
		}
		const decodedPath = shouldDecode ? decodeURI(path) : path;
		return {
			path: decodedPath,
			querystring,
			shouldDecodeParam
		};
	}
	function safeDecodeURIComponent(uriComponent) {
		const startIndex = uriComponent.indexOf("%");
		if (startIndex === -1) return uriComponent;
		let decoded = "";
		let lastIndex = startIndex;
		for (let i = startIndex; i < uriComponent.length; i++) {
			if (uriComponent.charCodeAt(i) === 37) {
				const highCharCode = uriComponent.charCodeAt(i + 1);
				const lowCharCode = uriComponent.charCodeAt(i + 2);
				const decodedChar = decodeComponentChar(highCharCode, lowCharCode);
				decoded += uriComponent.slice(lastIndex, i) + decodedChar;
				lastIndex = i + 3;
			}
		}
		return uriComponent.slice(0, startIndex) + decoded + uriComponent.slice(lastIndex);
	}
	module.exports = {
		safeDecodeURI,
		safeDecodeURIComponent
	};
}));

//#endregion
//#region ../node_modules/find-my-way/index.js
var require_find_my_way = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const assert$37 = __require("node:assert");
	const querystring = require_lib$2();
	const isRegexSafe = require_safe_regex2();
	const deepEqual = require_fast_deep_equal();
	const { prettyPrintTree } = require_pretty_print();
	const { StaticNode, NODE_TYPES } = require_node();
	const Constrainer = require_constrainer();
	const httpMethods = require_http_methods();
	const httpMethodStrategy = require_http_method();
	const { safeDecodeURI, safeDecodeURIComponent } = require_url_sanitizer();
	const FULL_PATH_REGEXP = /^https?:\/\/.*?\//;
	const OPTIONAL_PARAM_REGEXP = /(\/:[^/()]*?)\?(\/?)/;
	if (!isRegexSafe(FULL_PATH_REGEXP)) {
		throw new Error("the FULL_PATH_REGEXP is not safe, update this module");
	}
	if (!isRegexSafe(OPTIONAL_PARAM_REGEXP)) {
		throw new Error("the OPTIONAL_PARAM_REGEXP is not safe, update this module");
	}
	function Router(opts) {
		if (!(this instanceof Router)) {
			return new Router(opts);
		}
		opts = opts || {};
		this._opts = opts;
		if (opts.defaultRoute) {
			assert$37(typeof opts.defaultRoute === "function", "The default route must be a function");
			this.defaultRoute = opts.defaultRoute;
		} else {
			this.defaultRoute = null;
		}
		if (opts.onBadUrl) {
			assert$37(typeof opts.onBadUrl === "function", "The bad url handler must be a function");
			this.onBadUrl = opts.onBadUrl;
		} else {
			this.onBadUrl = null;
		}
		if (opts.buildPrettyMeta) {
			assert$37(typeof opts.buildPrettyMeta === "function", "buildPrettyMeta must be a function");
			this.buildPrettyMeta = opts.buildPrettyMeta;
		} else {
			this.buildPrettyMeta = defaultBuildPrettyMeta;
		}
		if (opts.querystringParser) {
			assert$37(typeof opts.querystringParser === "function", "querystringParser must be a function");
			this.querystringParser = opts.querystringParser;
		} else {
			this.querystringParser = (query) => query === "" ? {} : querystring.parse(query);
		}
		this.caseSensitive = opts.caseSensitive === undefined ? true : opts.caseSensitive;
		this.ignoreTrailingSlash = opts.ignoreTrailingSlash || false;
		this.ignoreDuplicateSlashes = opts.ignoreDuplicateSlashes || false;
		this.maxParamLength = opts.maxParamLength || 100;
		this.allowUnsafeRegex = opts.allowUnsafeRegex || false;
		this.constrainer = new Constrainer(opts.constraints);
		this.useSemicolonDelimiter = opts.useSemicolonDelimiter || false;
		this.routes = [];
		this.trees = {};
	}
	Router.prototype.on = function on(method, path, opts, handler, store) {
		if (typeof opts === "function") {
			if (handler !== undefined) {
				store = handler;
			}
			handler = opts;
			opts = {};
		}
		assert$37(typeof path === "string", "Path should be a string");
		assert$37(path.length > 0, "The path could not be empty");
		assert$37(path[0] === "/" || path[0] === "*", "The first character of a path should be `/` or `*`");
		assert$37(typeof handler === "function", "Handler should be a function");
		const optionalParamMatch = path.match(OPTIONAL_PARAM_REGEXP);
		if (optionalParamMatch) {
			assert$37(path.length === optionalParamMatch.index + optionalParamMatch[0].length, "Optional Parameter needs to be the last parameter of the path");
			const pathFull = path.replace(OPTIONAL_PARAM_REGEXP, "$1$2");
			const pathOptional = path.replace(OPTIONAL_PARAM_REGEXP, "$2") || "/";
			this.on(method, pathFull, opts, handler, store);
			this.on(method, pathOptional, opts, handler, store);
			return;
		}
		const route = path;
		if (this.ignoreDuplicateSlashes) {
			path = removeDuplicateSlashes(path);
		}
		if (this.ignoreTrailingSlash) {
			path = trimLastSlash(path);
		}
		const methods = Array.isArray(method) ? method : [method];
		for (const method of methods) {
			assert$37(typeof method === "string", "Method should be a string");
			assert$37(httpMethods.includes(method), `Method '${method}' is not an http method.`);
			this._on(method, path, opts, handler, store, route);
		}
	};
	Router.prototype._on = function _on(method, path, opts, handler, store) {
		let constraints = {};
		if (opts.constraints !== undefined) {
			assert$37(typeof opts.constraints === "object" && opts.constraints !== null, "Constraints should be an object");
			if (Object.keys(opts.constraints).length !== 0) {
				constraints = opts.constraints;
			}
		}
		this.constrainer.validateConstraints(constraints);
		this.constrainer.noteUsage(constraints);
		if (this.trees[method] === undefined) {
			this.trees[method] = new StaticNode("/");
		}
		let pattern = path;
		if (pattern === "*" && this.trees[method].prefix.length !== 0) {
			const currentRoot = this.trees[method];
			this.trees[method] = new StaticNode("");
			this.trees[method].staticChildren["/"] = currentRoot;
		}
		let currentNode = this.trees[method];
		let parentNodePathIndex = currentNode.prefix.length;
		const params = [];
		for (let i = 0; i <= pattern.length; i++) {
			if (pattern.charCodeAt(i) === 58 && pattern.charCodeAt(i + 1) === 58) {
				i++;
				continue;
			}
			const isParametricNode = pattern.charCodeAt(i) === 58 && pattern.charCodeAt(i + 1) !== 58;
			const isWildcardNode = pattern.charCodeAt(i) === 42;
			if (isParametricNode || isWildcardNode || i === pattern.length && i !== parentNodePathIndex) {
				let staticNodePath = pattern.slice(parentNodePathIndex, i);
				if (!this.caseSensitive) {
					staticNodePath = staticNodePath.toLowerCase();
				}
				staticNodePath = staticNodePath.split("::").join(":");
				staticNodePath = staticNodePath.split("%").join("%25");
				currentNode = currentNode.createStaticChild(staticNodePath);
			}
			if (isParametricNode) {
				let isRegexNode = false;
				let isParamSafe = true;
				let backtrack = "";
				const regexps = [];
				let lastParamStartIndex = i + 1;
				for (let j = lastParamStartIndex;; j++) {
					const charCode = pattern.charCodeAt(j);
					const isRegexParam = charCode === 40;
					const isStaticPart = charCode === 45 || charCode === 46;
					const isEndOfNode = charCode === 47 || j === pattern.length;
					if (isRegexParam || isStaticPart || isEndOfNode) {
						const paramName = pattern.slice(lastParamStartIndex, j);
						params.push(paramName);
						isRegexNode = isRegexNode || isRegexParam || isStaticPart;
						if (isRegexParam) {
							const endOfRegexIndex = getClosingParenthensePosition(pattern, j);
							const regexString = pattern.slice(j, endOfRegexIndex + 1);
							if (!this.allowUnsafeRegex) {
								assert$37(isRegexSafe(new RegExp(regexString)), `The regex '${regexString}' is not safe!`);
							}
							regexps.push(trimRegExpStartAndEnd(regexString));
							j = endOfRegexIndex + 1;
							isParamSafe = true;
						} else {
							regexps.push(isParamSafe ? "(.*?)" : `(${backtrack}|(?:(?!${backtrack}).)*)`);
							isParamSafe = false;
						}
						const staticPartStartIndex = j;
						for (; j < pattern.length; j++) {
							const charCode = pattern.charCodeAt(j);
							if (charCode === 47) break;
							if (charCode === 58) {
								const nextCharCode = pattern.charCodeAt(j + 1);
								if (nextCharCode === 58) j++;
								else break;
							}
						}
						let staticPart = pattern.slice(staticPartStartIndex, j);
						if (staticPart) {
							staticPart = staticPart.split("::").join(":");
							staticPart = staticPart.split("%").join("%25");
							regexps.push(backtrack = escapeRegExp(staticPart));
						}
						lastParamStartIndex = j + 1;
						if (isEndOfNode || pattern.charCodeAt(j) === 47 || j === pattern.length) {
							const nodePattern = isRegexNode ? "()" + staticPart : staticPart;
							const nodePath = pattern.slice(i, j);
							pattern = pattern.slice(0, i + 1) + nodePattern + pattern.slice(j);
							i += nodePattern.length;
							const regex = isRegexNode ? new RegExp("^" + regexps.join("") + "$") : null;
							currentNode = currentNode.createParametricChild(regex, staticPart || null, nodePath);
							parentNodePathIndex = i + 1;
							break;
						}
					}
				}
			} else if (isWildcardNode) {
				params.push("*");
				currentNode = currentNode.createWildcardChild();
				parentNodePathIndex = i + 1;
				if (i !== pattern.length - 1) {
					throw new Error("Wildcard must be the last character in the route");
				}
			}
		}
		if (!this.caseSensitive) {
			pattern = pattern.toLowerCase();
		}
		if (pattern === "*") {
			pattern = "/*";
		}
		for (const existRoute of this.routes) {
			const routeConstraints = existRoute.opts.constraints || {};
			if (existRoute.method === method && existRoute.pattern === pattern && deepEqual(routeConstraints, constraints)) {
				throw new Error(`Method '${method}' already declared for route '${pattern}' with constraints '${JSON.stringify(constraints)}'`);
			}
		}
		const route = {
			method,
			path,
			pattern,
			params,
			opts,
			handler,
			store
		};
		this.routes.push(route);
		currentNode.addRoute(route, this.constrainer);
	};
	Router.prototype.hasRoute = function hasRoute(method, path, constraints) {
		const route = this.findRoute(method, path, constraints);
		return route !== null;
	};
	Router.prototype.findRoute = function findNode(method, path, constraints = {}) {
		if (this.trees[method] === undefined) {
			return null;
		}
		let pattern = path;
		let currentNode = this.trees[method];
		let parentNodePathIndex = currentNode.prefix.length;
		const params = [];
		for (let i = 0; i <= pattern.length; i++) {
			if (pattern.charCodeAt(i) === 58 && pattern.charCodeAt(i + 1) === 58) {
				i++;
				continue;
			}
			const isParametricNode = pattern.charCodeAt(i) === 58 && pattern.charCodeAt(i + 1) !== 58;
			const isWildcardNode = pattern.charCodeAt(i) === 42;
			if (isParametricNode || isWildcardNode || i === pattern.length && i !== parentNodePathIndex) {
				let staticNodePath = pattern.slice(parentNodePathIndex, i);
				if (!this.caseSensitive) {
					staticNodePath = staticNodePath.toLowerCase();
				}
				staticNodePath = staticNodePath.split("::").join(":");
				staticNodePath = staticNodePath.split("%").join("%25");
				currentNode = currentNode.getStaticChild(staticNodePath);
				if (currentNode === null) {
					return null;
				}
			}
			if (isParametricNode) {
				let isRegexNode = false;
				let isParamSafe = true;
				let backtrack = "";
				const regexps = [];
				let lastParamStartIndex = i + 1;
				for (let j = lastParamStartIndex;; j++) {
					const charCode = pattern.charCodeAt(j);
					const isRegexParam = charCode === 40;
					const isStaticPart = charCode === 45 || charCode === 46;
					const isEndOfNode = charCode === 47 || j === pattern.length;
					if (isRegexParam || isStaticPart || isEndOfNode) {
						const paramName = pattern.slice(lastParamStartIndex, j);
						params.push(paramName);
						isRegexNode = isRegexNode || isRegexParam || isStaticPart;
						if (isRegexParam) {
							const endOfRegexIndex = getClosingParenthensePosition(pattern, j);
							const regexString = pattern.slice(j, endOfRegexIndex + 1);
							if (!this.allowUnsafeRegex) {
								assert$37(isRegexSafe(new RegExp(regexString)), `The regex '${regexString}' is not safe!`);
							}
							regexps.push(trimRegExpStartAndEnd(regexString));
							j = endOfRegexIndex + 1;
							isParamSafe = false;
						} else {
							regexps.push(isParamSafe ? "(.*?)" : `(${backtrack}|(?:(?!${backtrack}).)*)`);
							isParamSafe = false;
						}
						const staticPartStartIndex = j;
						for (; j < pattern.length; j++) {
							const charCode = pattern.charCodeAt(j);
							if (charCode === 47) break;
							if (charCode === 58) {
								const nextCharCode = pattern.charCodeAt(j + 1);
								if (nextCharCode === 58) j++;
								else break;
							}
						}
						let staticPart = pattern.slice(staticPartStartIndex, j);
						if (staticPart) {
							staticPart = staticPart.split("::").join(":");
							staticPart = staticPart.split("%").join("%25");
							regexps.push(backtrack = escapeRegExp(staticPart));
						}
						lastParamStartIndex = j + 1;
						if (isEndOfNode || pattern.charCodeAt(j) === 47 || j === pattern.length) {
							const nodePattern = isRegexNode ? "()" + staticPart : staticPart;
							const nodePath = pattern.slice(i, j);
							pattern = pattern.slice(0, i + 1) + nodePattern + pattern.slice(j);
							i += nodePattern.length;
							const regex = isRegexNode ? new RegExp("^" + regexps.join("") + "$") : null;
							currentNode = currentNode.getParametricChild(regex, staticPart || null, nodePath);
							if (currentNode === null) {
								return null;
							}
							parentNodePathIndex = i + 1;
							break;
						}
					}
				}
			} else if (isWildcardNode) {
				params.push("*");
				currentNode = currentNode.getWildcardChild();
				parentNodePathIndex = i + 1;
				if (i !== pattern.length - 1) {
					throw new Error("Wildcard must be the last character in the route");
				}
			}
		}
		if (!this.caseSensitive) {
			pattern = pattern.toLowerCase();
		}
		for (const existRoute of this.routes) {
			const routeConstraints = existRoute.opts.constraints || {};
			if (existRoute.method === method && existRoute.pattern === pattern && deepEqual(routeConstraints, constraints)) {
				return {
					handler: existRoute.handler,
					store: existRoute.store,
					params: existRoute.params
				};
			}
		}
		return null;
	};
	Router.prototype.hasConstraintStrategy = function(strategyName) {
		return this.constrainer.hasConstraintStrategy(strategyName);
	};
	Router.prototype.addConstraintStrategy = function(constraints) {
		this.constrainer.addConstraintStrategy(constraints);
		this._rebuild(this.routes);
	};
	Router.prototype.reset = function reset() {
		this.trees = {};
		this.routes = [];
	};
	Router.prototype.off = function off(method, path, constraints) {
		assert$37(typeof path === "string", "Path should be a string");
		assert$37(path.length > 0, "The path could not be empty");
		assert$37(path[0] === "/" || path[0] === "*", "The first character of a path should be `/` or `*`");
		assert$37(typeof constraints === "undefined" || typeof constraints === "object" && !Array.isArray(constraints) && constraints !== null, "Constraints should be an object or undefined.");
		const optionalParamMatch = path.match(OPTIONAL_PARAM_REGEXP);
		if (optionalParamMatch) {
			assert$37(path.length === optionalParamMatch.index + optionalParamMatch[0].length, "Optional Parameter needs to be the last parameter of the path");
			const pathFull = path.replace(OPTIONAL_PARAM_REGEXP, "$1$2");
			const pathOptional = path.replace(OPTIONAL_PARAM_REGEXP, "$2");
			this.off(method, pathFull, constraints);
			this.off(method, pathOptional, constraints);
			return;
		}
		if (this.ignoreDuplicateSlashes) {
			path = removeDuplicateSlashes(path);
		}
		if (this.ignoreTrailingSlash) {
			path = trimLastSlash(path);
		}
		const methods = Array.isArray(method) ? method : [method];
		for (const method of methods) {
			this._off(method, path, constraints);
		}
	};
	Router.prototype._off = function _off(method, path, constraints) {
		assert$37(typeof method === "string", "Method should be a string");
		assert$37(httpMethods.includes(method), `Method '${method}' is not an http method.`);
		function matcherWithoutConstraints(route) {
			return method !== route.method || path !== route.path;
		}
		function matcherWithConstraints(route) {
			return matcherWithoutConstraints(route) || !deepEqual(constraints, route.opts.constraints || {});
		}
		const predicate = constraints ? matcherWithConstraints : matcherWithoutConstraints;
		const newRoutes = this.routes.filter(predicate);
		this._rebuild(newRoutes);
	};
	Router.prototype.lookup = function lookup(req, res, ctx, done) {
		if (typeof ctx === "function") {
			done = ctx;
			ctx = undefined;
		}
		if (done === undefined) {
			const constraints = this.constrainer.deriveConstraints(req, ctx);
			const handle = this.find(req.method, req.url, constraints);
			return this.callHandler(handle, req, res, ctx);
		}
		this.constrainer.deriveConstraints(req, ctx, (err, constraints) => {
			if (err !== null) {
				done(err);
				return;
			}
			try {
				const handle = this.find(req.method, req.url, constraints);
				const result = this.callHandler(handle, req, res, ctx);
				done(null, result);
			} catch (err) {
				done(err);
			}
		});
	};
	Router.prototype.callHandler = function callHandler(handle, req, res, ctx) {
		if (handle === null) return this._defaultRoute(req, res, ctx);
		return ctx === undefined ? handle.handler(req, res, handle.params, handle.store, handle.searchParams) : handle.handler.call(ctx, req, res, handle.params, handle.store, handle.searchParams);
	};
	Router.prototype.find = function find(method, path, derivedConstraints) {
		let currentNode = this.trees[method];
		if (currentNode === undefined) return null;
		if (path.charCodeAt(0) !== 47) {
			path = path.replace(FULL_PATH_REGEXP, "/");
		}
		if (this.ignoreDuplicateSlashes) {
			path = removeDuplicateSlashes(path);
		}
		let sanitizedUrl;
		let querystring;
		let shouldDecodeParam;
		try {
			sanitizedUrl = safeDecodeURI(path, this.useSemicolonDelimiter);
			path = sanitizedUrl.path;
			querystring = sanitizedUrl.querystring;
			shouldDecodeParam = sanitizedUrl.shouldDecodeParam;
		} catch (error) {
			return this._onBadUrl(path);
		}
		if (this.ignoreTrailingSlash) {
			path = trimLastSlash(path);
		}
		const originPath = path;
		if (this.caseSensitive === false) {
			path = path.toLowerCase();
		}
		const maxParamLength = this.maxParamLength;
		let pathIndex = currentNode.prefix.length;
		const params = [];
		const pathLen = path.length;
		const brothersNodesStack = [];
		while (true) {
			if (pathIndex === pathLen && currentNode.isLeafNode) {
				const handle = currentNode.handlerStorage.getMatchingHandler(derivedConstraints);
				if (handle !== null) {
					return {
						handler: handle.handler,
						store: handle.store,
						params: handle._createParamsObject(params),
						searchParams: this.querystringParser(querystring)
					};
				}
			}
			let node = currentNode.getNextNode(path, pathIndex, brothersNodesStack, params.length);
			if (node === null) {
				if (brothersNodesStack.length === 0) {
					return null;
				}
				const brotherNodeState = brothersNodesStack.pop();
				pathIndex = brotherNodeState.brotherPathIndex;
				params.splice(brotherNodeState.paramsCount);
				node = brotherNodeState.brotherNode;
			}
			currentNode = node;
			if (currentNode.kind === NODE_TYPES.STATIC) {
				pathIndex += currentNode.prefix.length;
				continue;
			}
			if (currentNode.kind === NODE_TYPES.WILDCARD) {
				let param = originPath.slice(pathIndex);
				if (shouldDecodeParam) {
					param = safeDecodeURIComponent(param);
				}
				params.push(param);
				pathIndex = pathLen;
				continue;
			}
			let paramEndIndex = originPath.indexOf("/", pathIndex);
			if (paramEndIndex === -1) {
				paramEndIndex = pathLen;
			}
			let param = originPath.slice(pathIndex, paramEndIndex);
			if (shouldDecodeParam) {
				param = safeDecodeURIComponent(param);
			}
			if (currentNode.isRegex) {
				const matchedParameters = currentNode.regex.exec(param);
				if (matchedParameters === null) continue;
				for (let i = 1; i < matchedParameters.length; i++) {
					const matchedParam = matchedParameters[i];
					if (matchedParam.length > maxParamLength) {
						return null;
					}
					params.push(matchedParam);
				}
			} else {
				if (param.length > maxParamLength) {
					return null;
				}
				params.push(param);
			}
			pathIndex = paramEndIndex;
		}
	};
	Router.prototype._rebuild = function(routes) {
		this.reset();
		for (const route of routes) {
			const { method, path, opts, handler, store } = route;
			this._on(method, path, opts, handler, store);
		}
	};
	Router.prototype._defaultRoute = function(req, res, ctx) {
		if (this.defaultRoute !== null) {
			return ctx === undefined ? this.defaultRoute(req, res) : this.defaultRoute.call(ctx, req, res);
		} else {
			res.statusCode = 404;
			res.end();
		}
	};
	Router.prototype._onBadUrl = function(path) {
		if (this.onBadUrl === null) {
			return null;
		}
		const onBadUrl = this.onBadUrl;
		return {
			handler: (req, res, ctx) => onBadUrl(path, req, res),
			params: {},
			store: null
		};
	};
	Router.prototype.prettyPrint = function(options = {}) {
		const method = options.method;
		options.buildPrettyMeta = this.buildPrettyMeta.bind(this);
		let tree = null;
		if (method === undefined) {
			const { version, host, ...constraints } = this.constrainer.strategies;
			constraints[httpMethodStrategy.name] = httpMethodStrategy;
			const mergedRouter = new Router({
				...this._opts,
				constraints
			});
			const mergedRoutes = this.routes.map((route) => {
				const constraints = {
					...route.opts.constraints,
					[httpMethodStrategy.name]: route.method
				};
				return {
					...route,
					method: "MERGED",
					opts: { constraints }
				};
			});
			mergedRouter._rebuild(mergedRoutes);
			tree = mergedRouter.trees.MERGED;
		} else {
			tree = this.trees[method];
		}
		if (tree == null) return "(empty tree)";
		return prettyPrintTree(tree, options);
	};
	for (const i in httpMethods) {
		if (!httpMethods.hasOwnProperty(i)) continue;
		const m = httpMethods[i];
		const methodName = m.toLowerCase();
		Router.prototype[methodName] = function(path, handler, store) {
			return this.on(m, path, handler, store);
		};
	}
	Router.prototype.all = function(path, handler, store) {
		this.on(httpMethods, path, handler, store);
	};
	module.exports = Router;
	function escapeRegExp(string) {
		return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
	}
	function removeDuplicateSlashes(path) {
		return path.replace(/\/\/+/g, "/");
	}
	function trimLastSlash(path) {
		if (path.length > 1 && path.charCodeAt(path.length - 1) === 47) {
			return path.slice(0, -1);
		}
		return path;
	}
	function trimRegExpStartAndEnd(regexString) {
		if (regexString.charCodeAt(1) === 94) {
			regexString = regexString.slice(0, 1) + regexString.slice(2);
		}
		if (regexString.charCodeAt(regexString.length - 2) === 36) {
			regexString = regexString.slice(0, regexString.length - 2) + regexString.slice(regexString.length - 1);
		}
		return regexString;
	}
	function getClosingParenthensePosition(path, idx) {
		let parentheses = 1;
		while (idx < path.length) {
			idx++;
			if (path[idx] === "\\") {
				idx++;
				continue;
			}
			if (path[idx] === ")") {
				parentheses--;
			} else if (path[idx] === "(") {
				parentheses++;
			}
			if (!parentheses) return idx;
		}
		throw new TypeError("Invalid regexp expression in \"" + path + "\"");
	}
	function defaultBuildPrettyMeta(route) {
		if (!route) return {};
		if (!route.store) return {};
		return Object.assign({}, route.store);
	}
}));

//#endregion
//#region ../node_modules/fastify/lib/headRoute.js
var require_headRoute = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	function headRouteOnSendHandler(req, reply, payload, done) {
		if (payload === undefined) {
			reply.header("content-length", "0");
			return done(null, null);
		}
		if (typeof payload.resume === "function") {
			payload.on("error", (err) => {
				reply.log.error({ err }, "Error on Stream found for HEAD route");
			});
			payload.resume();
			return done(null, null);
		}
		const size = "" + Buffer.byteLength(payload);
		reply.header("content-length", size);
		done(null, null);
	}
	function parseHeadOnSendHandlers(onSendHandlers) {
		if (onSendHandlers == null) return headRouteOnSendHandler;
		return Array.isArray(onSendHandlers) ? [...onSendHandlers, headRouteOnSendHandler] : [onSendHandlers, headRouteOnSendHandler];
	}
	module.exports = { parseHeadOnSendHandlers };
}));

//#endregion
//#region ../node_modules/fastify/lib/route.js
var require_route = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const FindMyWay = require_find_my_way();
	const Context = require_context();
	const handleRequest = require_handleRequest();
	const { onRequestAbortHookRunner, lifecycleHooks, preParsingHookRunner, onTimeoutHookRunner, onRequestHookRunner } = require_hooks();
	const { supportedMethods } = require_httpMethods();
	const { normalizeSchema } = require_schemas();
	const { parseHeadOnSendHandlers } = require_headRoute();
	const { FSTDEP007, FSTDEP008, FSTDEP014 } = require_warnings();
	const { compileSchemasForValidation, compileSchemasForSerialization } = require_validation$1();
	const { FST_ERR_SCH_VALIDATION_BUILD, FST_ERR_SCH_SERIALIZATION_BUILD, FST_ERR_DEFAULT_ROUTE_INVALID_TYPE, FST_ERR_DUPLICATED_ROUTE, FST_ERR_INVALID_URL, FST_ERR_HOOK_INVALID_HANDLER, FST_ERR_ROUTE_OPTIONS_NOT_OBJ, FST_ERR_ROUTE_DUPLICATED_HANDLER, FST_ERR_ROUTE_HANDLER_NOT_FN, FST_ERR_ROUTE_MISSING_HANDLER, FST_ERR_ROUTE_METHOD_NOT_SUPPORTED, FST_ERR_ROUTE_METHOD_INVALID, FST_ERR_ROUTE_BODY_VALIDATION_SCHEMA_NOT_SUPPORTED, FST_ERR_ROUTE_BODY_LIMIT_OPTION_NOT_INT, FST_ERR_HOOK_INVALID_ASYNC_HANDLER } = require_errors$3();
	const { kRoutePrefix, kLogLevel, kLogSerializers, kHooks, kSchemaController, kOptions, kReplySerializerDefault, kReplyIsError, kRequestPayloadStream, kDisableRequestLogging, kSchemaErrorFormatter, kErrorHandler, kHasBeenDecorated, kRequestAcceptVersion, kRouteByFastify, kRouteContext } = require_symbols$1();
	const { buildErrorHandler } = require_error_handler();
	const { createChildLogger } = require_logger();
	const { getGenReqId } = require_reqIdGenFactory();
	function buildRouting(options) {
		const router = FindMyWay(options.config);
		let avvio;
		let fourOhFour;
		let logger;
		let hasLogger;
		let setupResponseListeners;
		let throwIfAlreadyStarted;
		let disableRequestLogging;
		let ignoreTrailingSlash;
		let ignoreDuplicateSlashes;
		let return503OnClosing;
		let globalExposeHeadRoutes;
		let validateHTTPVersion;
		let keepAliveConnections;
		let closing = false;
		return {
			setup(options, fastifyArgs) {
				avvio = fastifyArgs.avvio;
				fourOhFour = fastifyArgs.fourOhFour;
				logger = fastifyArgs.logger;
				hasLogger = fastifyArgs.hasLogger;
				setupResponseListeners = fastifyArgs.setupResponseListeners;
				throwIfAlreadyStarted = fastifyArgs.throwIfAlreadyStarted;
				validateHTTPVersion = fastifyArgs.validateHTTPVersion;
				globalExposeHeadRoutes = options.exposeHeadRoutes;
				disableRequestLogging = options.disableRequestLogging;
				ignoreTrailingSlash = options.ignoreTrailingSlash;
				ignoreDuplicateSlashes = options.ignoreDuplicateSlashes;
				return503OnClosing = Object.prototype.hasOwnProperty.call(options, "return503OnClosing") ? options.return503OnClosing : true;
				keepAliveConnections = fastifyArgs.keepAliveConnections;
			},
			routing: router.lookup.bind(router),
			route,
			hasRoute,
			prepareRoute,
			getDefaultRoute: function() {
				FSTDEP014();
				return router.defaultRoute;
			},
			setDefaultRoute: function(defaultRoute) {
				FSTDEP014();
				if (typeof defaultRoute !== "function") {
					throw new FST_ERR_DEFAULT_ROUTE_INVALID_TYPE();
				}
				router.defaultRoute = defaultRoute;
			},
			routeHandler,
			closeRoutes: () => {
				closing = true;
			},
			printRoutes: router.prettyPrint.bind(router),
			addConstraintStrategy,
			hasConstraintStrategy,
			isAsyncConstraint,
			findRoute
		};
		function addConstraintStrategy(strategy) {
			throwIfAlreadyStarted("Cannot add constraint strategy!");
			return router.addConstraintStrategy(strategy);
		}
		function hasConstraintStrategy(strategyName) {
			return router.hasConstraintStrategy(strategyName);
		}
		function isAsyncConstraint() {
			return router.constrainer.asyncStrategiesInUse.size > 0;
		}
		function prepareRoute({ method, url, options, handler, isFastify }) {
			if (typeof url !== "string") {
				throw new FST_ERR_INVALID_URL(typeof url);
			}
			if (!handler && typeof options === "function") {
				handler = options;
				options = {};
			} else if (handler && typeof handler === "function") {
				if (Object.prototype.toString.call(options) !== "[object Object]") {
					throw new FST_ERR_ROUTE_OPTIONS_NOT_OBJ(method, url);
				} else if (options.handler) {
					if (typeof options.handler === "function") {
						throw new FST_ERR_ROUTE_DUPLICATED_HANDLER(method, url);
					} else {
						throw new FST_ERR_ROUTE_HANDLER_NOT_FN(method, url);
					}
				}
			}
			options = Object.assign({}, options, {
				method,
				url,
				path: url,
				handler: handler || options && options.handler
			});
			return route.call(this, {
				options,
				isFastify
			});
		}
		function hasRoute({ options }) {
			const normalizedMethod = options.method?.toUpperCase() ?? "";
			return findRoute({
				...options,
				method: normalizedMethod
			}) !== null;
		}
		function findRoute(options) {
			const route = router.find(options.method, options.url || "", options.constraints);
			if (route) {
				return {
					handler: route.handler,
					params: route.params,
					searchParams: route.searchParams
				};
			} else {
				return null;
			}
		}
		/**
		* Route management
		* @param {{ options: import('../fastify').RouteOptions, isFastify: boolean }}
		*/
		function route({ options, isFastify }) {
			const opts = { ...options };
			const { exposeHeadRoute } = opts;
			const hasRouteExposeHeadRouteFlag = exposeHeadRoute != null;
			const shouldExposeHead = hasRouteExposeHeadRouteFlag ? exposeHeadRoute : globalExposeHeadRoutes;
			const isGetRoute = opts.method === "GET" || Array.isArray(opts.method) && opts.method.includes("GET");
			const isHeadRoute = opts.method === "HEAD" || Array.isArray(opts.method) && opts.method.includes("HEAD");
			const headOpts = shouldExposeHead && isGetRoute ? { ...options } : null;
			throwIfAlreadyStarted("Cannot add route!");
			const path = opts.url || opts.path || "";
			if (Array.isArray(opts.method)) {
				for (var i = 0; i < opts.method.length; ++i) {
					opts.method[i] = normalizeAndValidateMethod(opts.method[i]);
					validateSchemaBodyOption(opts.method[i], path, opts.schema);
				}
			} else {
				opts.method = normalizeAndValidateMethod(opts.method);
				validateSchemaBodyOption(opts.method, path, opts.schema);
			}
			if (!opts.handler) {
				throw new FST_ERR_ROUTE_MISSING_HANDLER(opts.method, path);
			}
			if (opts.errorHandler !== undefined && typeof opts.errorHandler !== "function") {
				throw new FST_ERR_ROUTE_HANDLER_NOT_FN(opts.method, path);
			}
			validateBodyLimitOption(opts.bodyLimit);
			const prefix = this[kRoutePrefix];
			if (path === "/" && prefix.length > 0 && opts.method !== "HEAD") {
				switch (opts.prefixTrailingSlash) {
					case "slash":
						addNewRoute.call(this, {
							path,
							isFastify
						});
						break;
					case "no-slash":
						addNewRoute.call(this, {
							path: "",
							isFastify
						});
						break;
					case "both":
					default:
						addNewRoute.call(this, {
							path: "",
							isFastify
						});
						if (ignoreTrailingSlash !== true && (ignoreDuplicateSlashes !== true || !prefix.endsWith("/"))) {
							addNewRoute.call(this, {
								path,
								prefixing: true,
								isFastify
							});
						}
				}
			} else if (path[0] === "/" && prefix.endsWith("/")) {
				addNewRoute.call(this, {
					path: path.slice(1),
					isFastify
				});
			} else {
				addNewRoute.call(this, {
					path,
					isFastify
				});
			}
			return this;
			function addNewRoute({ path, prefixing = false, isFastify = false }) {
				const url = prefix + path;
				opts.url = url;
				opts.path = url;
				opts.routePath = path;
				opts.prefix = prefix;
				opts.logLevel = opts.logLevel || this[kLogLevel];
				if (this[kLogSerializers] || opts.logSerializers) {
					opts.logSerializers = Object.assign(Object.create(this[kLogSerializers]), opts.logSerializers);
				}
				if (opts.attachValidation == null) {
					opts.attachValidation = false;
				}
				if (prefixing === false) {
					for (const hook of this[kHooks].onRoute) {
						hook.call(this, opts);
					}
				}
				for (const hook of lifecycleHooks) {
					if (opts && hook in opts) {
						if (Array.isArray(opts[hook])) {
							for (const func of opts[hook]) {
								if (typeof func !== "function") {
									throw new FST_ERR_HOOK_INVALID_HANDLER(hook, Object.prototype.toString.call(func));
								}
								if (hook === "onSend" || hook === "preSerialization" || hook === "onError" || hook === "preParsing") {
									if (func.constructor.name === "AsyncFunction" && func.length === 4) {
										throw new FST_ERR_HOOK_INVALID_ASYNC_HANDLER();
									}
								} else if (hook === "onRequestAbort") {
									if (func.constructor.name === "AsyncFunction" && func.length !== 1) {
										throw new FST_ERR_HOOK_INVALID_ASYNC_HANDLER();
									}
								} else {
									if (func.constructor.name === "AsyncFunction" && func.length === 3) {
										throw new FST_ERR_HOOK_INVALID_ASYNC_HANDLER();
									}
								}
							}
						} else if (opts[hook] !== undefined && typeof opts[hook] !== "function") {
							throw new FST_ERR_HOOK_INVALID_HANDLER(hook, Object.prototype.toString.call(opts[hook]));
						}
					}
				}
				const constraints = opts.constraints || {};
				const config = {
					...opts.config,
					url,
					method: opts.method
				};
				const context = new Context({
					schema: opts.schema,
					handler: opts.handler.bind(this),
					config,
					errorHandler: opts.errorHandler,
					childLoggerFactory: opts.childLoggerFactory,
					bodyLimit: opts.bodyLimit,
					logLevel: opts.logLevel,
					logSerializers: opts.logSerializers,
					attachValidation: opts.attachValidation,
					schemaErrorFormatter: opts.schemaErrorFormatter,
					replySerializer: this[kReplySerializerDefault],
					validatorCompiler: opts.validatorCompiler,
					serializerCompiler: opts.serializerCompiler,
					exposeHeadRoute: shouldExposeHead,
					prefixTrailingSlash: opts.prefixTrailingSlash || "both",
					server: this,
					isFastify
				});
				if (opts.version) {
					FSTDEP008();
					constraints.version = opts.version;
				}
				const headHandler = router.findRoute("HEAD", opts.url, constraints);
				const hasHEADHandler = headHandler !== null;
				if (isHeadRoute && hasHEADHandler && !context[kRouteByFastify] && headHandler.store[kRouteByFastify]) {
					router.off("HEAD", opts.url, constraints);
				}
				try {
					router.on(opts.method, opts.url, { constraints }, routeHandler, context);
				} catch (error) {
					if (!context[kRouteByFastify]) {
						const isDuplicatedRoute = error.message.includes(`Method '${opts.method}' already declared for route`);
						if (isDuplicatedRoute) {
							throw new FST_ERR_DUPLICATED_ROUTE(opts.method, opts.url);
						}
						throw error;
					}
				}
				this.after((notHandledErr, done) => {
					context.errorHandler = opts.errorHandler ? buildErrorHandler(this[kErrorHandler], opts.errorHandler) : this[kErrorHandler];
					context._parserOptions.limit = opts.bodyLimit || null;
					context.logLevel = opts.logLevel;
					context.logSerializers = opts.logSerializers;
					context.attachValidation = opts.attachValidation;
					context[kReplySerializerDefault] = this[kReplySerializerDefault];
					context.schemaErrorFormatter = opts.schemaErrorFormatter || this[kSchemaErrorFormatter] || context.schemaErrorFormatter;
					avvio.once("preReady", () => {
						for (const hook of lifecycleHooks) {
							const toSet = this[kHooks][hook].concat(opts[hook] || []).map((h) => h.bind(this));
							context[hook] = toSet.length ? toSet : null;
						}
						while (!context.Request[kHasBeenDecorated] && context.Request.parent) {
							context.Request = context.Request.parent;
						}
						while (!context.Reply[kHasBeenDecorated] && context.Reply.parent) {
							context.Reply = context.Reply.parent;
						}
						fourOhFour.setContext(this, context);
						if (opts.schema) {
							context.schema = normalizeSchema(opts, context.schema, this.initialConfig);
							const schemaController = this[kSchemaController];
							if (!opts.validatorCompiler && (opts.schema.body || opts.schema.headers || opts.schema.querystring || opts.schema.params)) {
								schemaController.setupValidator(this[kOptions]);
							}
							try {
								const isCustom = typeof opts?.validatorCompiler === "function" || schemaController.isCustomValidatorCompiler;
								compileSchemasForValidation(context, opts.validatorCompiler || schemaController.validatorCompiler, isCustom);
							} catch (error) {
								throw new FST_ERR_SCH_VALIDATION_BUILD(opts.method, url, error.message);
							}
							if (opts.schema.response && !opts.serializerCompiler) {
								schemaController.setupSerializer(this[kOptions]);
							}
							try {
								compileSchemasForSerialization(context, opts.serializerCompiler || schemaController.serializerCompiler);
							} catch (error) {
								throw new FST_ERR_SCH_SERIALIZATION_BUILD(opts.method, url, error.message);
							}
						}
					});
					done(notHandledErr);
				});
				if (shouldExposeHead && isGetRoute && !isHeadRoute && !hasHEADHandler) {
					const onSendHandlers = parseHeadOnSendHandlers(headOpts.onSend);
					prepareRoute.call(this, {
						method: "HEAD",
						url: path,
						options: {
							...headOpts,
							onSend: onSendHandlers
						},
						isFastify: true
					});
				} else if (hasHEADHandler && exposeHeadRoute) {
					FSTDEP007();
				}
			}
		}
		function routeHandler(req, res, params, context, query) {
			const id = getGenReqId(context.server, req);
			const loggerOpts = { level: context.logLevel };
			if (context.logSerializers) {
				loggerOpts.serializers = context.logSerializers;
			}
			const childLogger = createChildLogger(context, logger, req, id, loggerOpts);
			childLogger[kDisableRequestLogging] = disableRequestLogging;
			if (!validateHTTPVersion(req.httpVersion)) {
				childLogger.info({ res: { statusCode: 505 } }, "request aborted - invalid HTTP version");
				const message = "{\"error\":\"HTTP Version Not Supported\",\"message\":\"HTTP Version Not Supported\",\"statusCode\":505}";
				const headers = {
					"Content-Type": "application/json",
					"Content-Length": message.length
				};
				res.writeHead(505, headers);
				res.end(message);
				return;
			}
			if (closing === true) {
				/* istanbul ignore next mac, windows */
				if (req.httpVersionMajor !== 2) {
					res.setHeader("Connection", "close");
				}
				/* istanbul ignore else */
				if (return503OnClosing) {
					const headers = {
						"Content-Type": "application/json",
						"Content-Length": "80"
					};
					res.writeHead(503, headers);
					res.end("{\"error\":\"Service Unavailable\",\"message\":\"Service Unavailable\",\"statusCode\":503}");
					childLogger.info({ res: { statusCode: 503 } }, "request aborted - refusing to accept new requests as server is closing");
					return;
				}
			}
			const connHeader = String.prototype.toLowerCase.call(req.headers.connection || "");
			if (connHeader === "keep-alive") {
				if (keepAliveConnections.has(req.socket) === false) {
					keepAliveConnections.add(req.socket);
					req.socket.on("close", removeTrackedSocket.bind({
						keepAliveConnections,
						socket: req.socket
					}));
				}
			}
			if (req.headers[kRequestAcceptVersion] !== undefined) {
				req.headers["accept-version"] = req.headers[kRequestAcceptVersion];
				req.headers[kRequestAcceptVersion] = undefined;
			}
			const request = new context.Request(id, params, req, query, childLogger, context);
			const reply = new context.Reply(res, request, childLogger);
			if (disableRequestLogging === false) {
				childLogger.info({ req: request }, "incoming request");
			}
			if (hasLogger === true || context.onResponse !== null) {
				setupResponseListeners(reply);
			}
			if (context.onRequest !== null) {
				onRequestHookRunner(context.onRequest, request, reply, runPreParsing);
			} else {
				runPreParsing(null, request, reply);
			}
			if (context.onRequestAbort !== null) {
				req.on("close", () => {
					/* istanbul ignore else */
					if (req.aborted) {
						onRequestAbortHookRunner(context.onRequestAbort, request, handleOnRequestAbortHooksErrors.bind(null, reply));
					}
				});
			}
			if (context.onTimeout !== null) {
				if (!request.raw.socket._meta) {
					request.raw.socket.on("timeout", handleTimeout);
				}
				request.raw.socket._meta = {
					context,
					request,
					reply
				};
			}
		}
	}
	function handleOnRequestAbortHooksErrors(reply, err) {
		if (err) {
			reply.log.error({ err }, "onRequestAborted hook failed");
		}
	}
	function handleTimeout() {
		const { context, request, reply } = this._meta;
		onTimeoutHookRunner(context.onTimeout, request, reply, noop);
	}
	function normalizeAndValidateMethod(method) {
		if (typeof method !== "string") {
			throw new FST_ERR_ROUTE_METHOD_INVALID();
		}
		method = method.toUpperCase();
		if (supportedMethods.indexOf(method) === -1) {
			throw new FST_ERR_ROUTE_METHOD_NOT_SUPPORTED(method);
		}
		return method;
	}
	function validateSchemaBodyOption(method, path, schema) {
		if ((method === "GET" || method === "HEAD") && schema && schema.body) {
			throw new FST_ERR_ROUTE_BODY_VALIDATION_SCHEMA_NOT_SUPPORTED(method, path);
		}
	}
	function validateBodyLimitOption(bodyLimit) {
		if (bodyLimit === undefined) return;
		if (!Number.isInteger(bodyLimit) || bodyLimit <= 0) {
			throw new FST_ERR_ROUTE_BODY_LIMIT_OPTION_NOT_INT(bodyLimit);
		}
	}
	function runPreParsing(err, request, reply) {
		if (reply.sent === true) return;
		if (err != null) {
			reply[kReplyIsError] = true;
			reply.send(err);
			return;
		}
		request[kRequestPayloadStream] = request.raw;
		if (request[kRouteContext].preParsing !== null) {
			preParsingHookRunner(request[kRouteContext].preParsing, request, reply, handleRequest);
		} else {
			handleRequest(null, request, reply);
		}
	}
	/**
	* Used within the route handler as a `net.Socket.close` event handler.
	* The purpose is to remove a socket from the tracked sockets collection when
	* the socket has naturally timed out.
	*/
	function removeTrackedSocket() {
		this.keepAliveConnections.delete(this.socket);
	}
	function noop() {}
	module.exports = {
		buildRouting,
		validateBodyLimitOption
	};
}));

//#endregion
//#region ../node_modules/fastify/lib/fourOhFour.js
var require_fourOhFour = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const FindMyWay = require_find_my_way();
	const Reply = require_reply();
	const Request = require_request$4();
	const Context = require_context();
	const { kRoutePrefix, kCanSetNotFoundHandler, kFourOhFourLevelInstance, kFourOhFourContext, kHooks, kErrorHandler } = require_symbols$1();
	const { lifecycleHooks } = require_hooks();
	const { buildErrorHandler } = require_error_handler();
	const { FST_ERR_NOT_FOUND } = require_errors$3();
	const { createChildLogger } = require_logger();
	const { getGenReqId } = require_reqIdGenFactory();
	/**
	* Each fastify instance have a:
	* kFourOhFourLevelInstance: point to a fastify instance that has the 404 handler set
	* kCanSetNotFoundHandler: bool to track if the 404 handler has already been set
	* kFourOhFour: the singleton instance of this 404 module
	* kFourOhFourContext: the context in the reply object where the handler will be executed
	*/
	function fourOhFour(options) {
		const { logger, disableRequestLogging } = options;
		const router = FindMyWay({
			onBadUrl: createOnBadUrl(),
			defaultRoute: fourOhFourFallBack
		});
		let _onBadUrlHandler = null;
		return {
			router,
			setNotFoundHandler,
			setContext,
			arrange404
		};
		function arrange404(instance) {
			instance[kFourOhFourLevelInstance] = instance;
			instance[kCanSetNotFoundHandler] = true;
			router.onBadUrl = router.onBadUrl.bind(instance);
			router.defaultRoute = router.defaultRoute.bind(instance);
		}
		function basic404(request, reply) {
			const { url, method } = request.raw;
			const message = `Route ${method}:${url} not found`;
			if (!disableRequestLogging) {
				request.log.info(message);
			}
			reply.code(404).send({
				message,
				error: "Not Found",
				statusCode: 404
			});
		}
		function createOnBadUrl() {
			return function onBadUrl(path, req, res) {
				const fourOhFourContext = this[kFourOhFourLevelInstance][kFourOhFourContext];
				const id = getGenReqId(fourOhFourContext.server, req);
				const childLogger = createChildLogger(fourOhFourContext, logger, req, id);
				const request = new Request(id, null, req, null, childLogger, fourOhFourContext);
				const reply = new Reply(res, request, childLogger);
				_onBadUrlHandler(request, reply);
			};
		}
		function setContext(instance, context) {
			const _404Context = Object.assign({}, instance[kFourOhFourContext]);
			_404Context.onSend = context.onSend;
			context[kFourOhFourContext] = _404Context;
		}
		function setNotFoundHandler(opts, handler, avvio, routeHandler) {
			if (this[kCanSetNotFoundHandler] === undefined) {
				this[kCanSetNotFoundHandler] = true;
			}
			if (this[kFourOhFourContext] === undefined) {
				this[kFourOhFourContext] = null;
			}
			const _fastify = this;
			const prefix = this[kRoutePrefix] || "/";
			if (this[kCanSetNotFoundHandler] === false) {
				throw new Error(`Not found handler already set for Fastify instance with prefix: '${prefix}'`);
			}
			if (typeof opts === "object") {
				if (opts.preHandler) {
					if (Array.isArray(opts.preHandler)) {
						opts.preHandler = opts.preHandler.map((hook) => hook.bind(_fastify));
					} else {
						opts.preHandler = opts.preHandler.bind(_fastify);
					}
				}
				if (opts.preValidation) {
					if (Array.isArray(opts.preValidation)) {
						opts.preValidation = opts.preValidation.map((hook) => hook.bind(_fastify));
					} else {
						opts.preValidation = opts.preValidation.bind(_fastify);
					}
				}
			}
			if (typeof opts === "function") {
				handler = opts;
				opts = undefined;
			}
			opts = opts || {};
			if (handler) {
				this[kFourOhFourLevelInstance][kCanSetNotFoundHandler] = false;
				handler = handler.bind(this);
				_onBadUrlHandler = handler;
			} else {
				handler = basic404;
				_onBadUrlHandler = basic404;
			}
			this.after((notHandledErr, done) => {
				_setNotFoundHandler.call(this, prefix, opts, handler, avvio, routeHandler);
				done(notHandledErr);
			});
		}
		function _setNotFoundHandler(prefix, opts, handler, avvio, routeHandler) {
			const context = new Context({
				schema: opts.schema,
				handler,
				config: opts.config || {},
				server: this
			});
			avvio.once("preReady", () => {
				const context = this[kFourOhFourContext];
				for (const hook of lifecycleHooks) {
					const toSet = this[kHooks][hook].concat(opts[hook] || []).map((h) => h.bind(this));
					context[hook] = toSet.length ? toSet : null;
				}
				context.errorHandler = opts.errorHandler ? buildErrorHandler(this[kErrorHandler], opts.errorHandler) : this[kErrorHandler];
			});
			if (this[kFourOhFourContext] !== null && prefix === "/") {
				Object.assign(this[kFourOhFourContext], context);
				return;
			}
			this[kFourOhFourLevelInstance][kFourOhFourContext] = context;
			router.all(prefix + (prefix.endsWith("/") ? "*" : "/*"), routeHandler, context);
			router.all(prefix, routeHandler, context);
		}
		function fourOhFourFallBack(req, res) {
			const fourOhFourContext = this[kFourOhFourLevelInstance][kFourOhFourContext];
			const id = getGenReqId(fourOhFourContext.server, req);
			const childLogger = createChildLogger(fourOhFourContext, logger, req, id);
			childLogger.info({ req }, "incoming request");
			const request = new Request(id, null, req, null, childLogger, fourOhFourContext);
			const reply = new Reply(res, request, childLogger);
			request.log.warn("the default handler for 404 did not catch this, this is likely a fastify bug, please report it");
			request.log.warn(router.prettyPrint());
			reply.code(404).send(new FST_ERR_NOT_FOUND());
		}
	}
	module.exports = fourOhFour;
}));

//#endregion
//#region ../node_modules/fastify/lib/configValidator.js
/* istanbul ignore file */
var require_configValidator = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = validate10;
	module.exports.default = validate10;
	const schema11 = {
		"type": "object",
		"additionalProperties": false,
		"properties": {
			"connectionTimeout": {
				"type": "integer",
				"default": 0
			},
			"keepAliveTimeout": {
				"type": "integer",
				"default": 72e3
			},
			"forceCloseConnections": { "oneOf": [{
				"type": "string",
				"pattern": "idle"
			}, { "type": "boolean" }] },
			"maxRequestsPerSocket": {
				"type": "integer",
				"default": 0,
				"nullable": true
			},
			"requestTimeout": {
				"type": "integer",
				"default": 0
			},
			"bodyLimit": {
				"type": "integer",
				"default": 1048576
			},
			"caseSensitive": {
				"type": "boolean",
				"default": true
			},
			"allowUnsafeRegex": {
				"type": "boolean",
				"default": false
			},
			"http2": { "type": "boolean" },
			"https": {
				"if": { "not": { "oneOf": [
					{ "type": "boolean" },
					{ "type": "null" },
					{
						"type": "object",
						"additionalProperties": false,
						"required": ["allowHTTP1"],
						"properties": { "allowHTTP1": { "type": "boolean" } }
					}
				] } },
				"then": { "setDefaultValue": true }
			},
			"ignoreTrailingSlash": {
				"type": "boolean",
				"default": false
			},
			"ignoreDuplicateSlashes": {
				"type": "boolean",
				"default": false
			},
			"disableRequestLogging": {
				"type": "boolean",
				"default": false
			},
			"jsonShorthand": {
				"type": "boolean",
				"default": true
			},
			"maxParamLength": {
				"type": "integer",
				"default": 100
			},
			"onProtoPoisoning": {
				"type": "string",
				"default": "error"
			},
			"onConstructorPoisoning": {
				"type": "string",
				"default": "error"
			},
			"pluginTimeout": {
				"type": "integer",
				"default": 1e4
			},
			"requestIdHeader": {
				"anyOf": [{ "enum": [false] }, { "type": "string" }],
				"default": "request-id"
			},
			"requestIdLogLabel": {
				"type": "string",
				"default": "reqId"
			},
			"http2SessionTimeout": {
				"type": "integer",
				"default": 72e3
			},
			"exposeHeadRoutes": {
				"type": "boolean",
				"default": true
			},
			"useSemicolonDelimiter": {
				"type": "boolean",
				"default": true
			},
			"versioning": {
				"type": "object",
				"additionalProperties": true,
				"required": ["storage", "deriveVersion"],
				"properties": {
					"storage": {},
					"deriveVersion": {}
				}
			},
			"constraints": {
				"type": "object",
				"additionalProperties": {
					"type": "object",
					"required": [
						"name",
						"storage",
						"validate",
						"deriveConstraint"
					],
					"additionalProperties": true,
					"properties": {
						"name": { "type": "string" },
						"storage": {},
						"validate": {},
						"deriveConstraint": {}
					}
				}
			}
		}
	};
	const func2 = Object.prototype.hasOwnProperty;
	const pattern0 = new RegExp("idle", "u");
	function validate10(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
		let vErrors = null;
		let errors = 0;
		if (errors === 0) {
			if (data && typeof data == "object" && !Array.isArray(data)) {
				if (data.connectionTimeout === undefined) {
					data.connectionTimeout = 0;
				}
				if (data.keepAliveTimeout === undefined) {
					data.keepAliveTimeout = 72e3;
				}
				if (data.maxRequestsPerSocket === undefined) {
					data.maxRequestsPerSocket = 0;
				}
				if (data.requestTimeout === undefined) {
					data.requestTimeout = 0;
				}
				if (data.bodyLimit === undefined) {
					data.bodyLimit = 1048576;
				}
				if (data.caseSensitive === undefined) {
					data.caseSensitive = true;
				}
				if (data.allowUnsafeRegex === undefined) {
					data.allowUnsafeRegex = false;
				}
				if (data.ignoreTrailingSlash === undefined) {
					data.ignoreTrailingSlash = false;
				}
				if (data.ignoreDuplicateSlashes === undefined) {
					data.ignoreDuplicateSlashes = false;
				}
				if (data.disableRequestLogging === undefined) {
					data.disableRequestLogging = false;
				}
				if (data.jsonShorthand === undefined) {
					data.jsonShorthand = true;
				}
				if (data.maxParamLength === undefined) {
					data.maxParamLength = 100;
				}
				if (data.onProtoPoisoning === undefined) {
					data.onProtoPoisoning = "error";
				}
				if (data.onConstructorPoisoning === undefined) {
					data.onConstructorPoisoning = "error";
				}
				if (data.pluginTimeout === undefined) {
					data.pluginTimeout = 1e4;
				}
				if (data.requestIdHeader === undefined) {
					data.requestIdHeader = "request-id";
				}
				if (data.requestIdLogLabel === undefined) {
					data.requestIdLogLabel = "reqId";
				}
				if (data.http2SessionTimeout === undefined) {
					data.http2SessionTimeout = 72e3;
				}
				if (data.exposeHeadRoutes === undefined) {
					data.exposeHeadRoutes = true;
				}
				if (data.useSemicolonDelimiter === undefined) {
					data.useSemicolonDelimiter = true;
				}
				const _errs1 = errors;
				for (const key0 in data) {
					if (!func2.call(schema11.properties, key0)) {
						delete data[key0];
					}
				}
				if (_errs1 === errors) {
					let data0 = data.connectionTimeout;
					const _errs2 = errors;
					if (!(typeof data0 == "number" && !(data0 % 1) && !isNaN(data0) && isFinite(data0))) {
						let dataType0 = typeof data0;
						let coerced0 = undefined;
						if (!(coerced0 !== undefined)) {
							if (dataType0 === "boolean" || data0 === null || dataType0 === "string" && data0 && data0 == +data0 && !(data0 % 1)) {
								coerced0 = +data0;
							} else {
								validate10.errors = [{
									instancePath: instancePath + "/connectionTimeout",
									schemaPath: "#/properties/connectionTimeout/type",
									keyword: "type",
									params: { type: "integer" },
									message: "must be integer"
								}];
								return false;
							}
						}
						if (coerced0 !== undefined) {
							data0 = coerced0;
							if (data !== undefined) {
								data["connectionTimeout"] = coerced0;
							}
						}
					}
					var valid0 = _errs2 === errors;
					if (valid0) {
						let data1 = data.keepAliveTimeout;
						const _errs4 = errors;
						if (!(typeof data1 == "number" && !(data1 % 1) && !isNaN(data1) && isFinite(data1))) {
							let dataType1 = typeof data1;
							let coerced1 = undefined;
							if (!(coerced1 !== undefined)) {
								if (dataType1 === "boolean" || data1 === null || dataType1 === "string" && data1 && data1 == +data1 && !(data1 % 1)) {
									coerced1 = +data1;
								} else {
									validate10.errors = [{
										instancePath: instancePath + "/keepAliveTimeout",
										schemaPath: "#/properties/keepAliveTimeout/type",
										keyword: "type",
										params: { type: "integer" },
										message: "must be integer"
									}];
									return false;
								}
							}
							if (coerced1 !== undefined) {
								data1 = coerced1;
								if (data !== undefined) {
									data["keepAliveTimeout"] = coerced1;
								}
							}
						}
						var valid0 = _errs4 === errors;
						if (valid0) {
							if (data.forceCloseConnections !== undefined) {
								let data2 = data.forceCloseConnections;
								const _errs6 = errors;
								const _errs7 = errors;
								let valid1 = false;
								let passing0 = null;
								const _errs8 = errors;
								if (typeof data2 !== "string") {
									let dataType2 = typeof data2;
									let coerced2 = undefined;
									if (!(coerced2 !== undefined)) {
										if (dataType2 == "number" || dataType2 == "boolean") {
											coerced2 = "" + data2;
										} else if (data2 === null) {
											coerced2 = "";
										} else {
											const err0 = {
												instancePath: instancePath + "/forceCloseConnections",
												schemaPath: "#/properties/forceCloseConnections/oneOf/0/type",
												keyword: "type",
												params: { type: "string" },
												message: "must be string"
											};
											if (vErrors === null) {
												vErrors = [err0];
											} else {
												vErrors.push(err0);
											}
											errors++;
										}
									}
									if (coerced2 !== undefined) {
										data2 = coerced2;
										if (data !== undefined) {
											data["forceCloseConnections"] = coerced2;
										}
									}
								}
								if (errors === _errs8) {
									if (typeof data2 === "string") {
										if (!pattern0.test(data2)) {
											const err1 = {
												instancePath: instancePath + "/forceCloseConnections",
												schemaPath: "#/properties/forceCloseConnections/oneOf/0/pattern",
												keyword: "pattern",
												params: { pattern: "idle" },
												message: "must match pattern \"" + "idle" + "\""
											};
											if (vErrors === null) {
												vErrors = [err1];
											} else {
												vErrors.push(err1);
											}
											errors++;
										}
									}
								}
								var _valid0 = _errs8 === errors;
								if (_valid0) {
									valid1 = true;
									passing0 = 0;
								}
								const _errs10 = errors;
								if (typeof data2 !== "boolean") {
									let coerced3 = undefined;
									if (!(coerced3 !== undefined)) {
										if (data2 === "false" || data2 === 0 || data2 === null) {
											coerced3 = false;
										} else if (data2 === "true" || data2 === 1) {
											coerced3 = true;
										} else {
											const err2 = {
												instancePath: instancePath + "/forceCloseConnections",
												schemaPath: "#/properties/forceCloseConnections/oneOf/1/type",
												keyword: "type",
												params: { type: "boolean" },
												message: "must be boolean"
											};
											if (vErrors === null) {
												vErrors = [err2];
											} else {
												vErrors.push(err2);
											}
											errors++;
										}
									}
									if (coerced3 !== undefined) {
										data2 = coerced3;
										if (data !== undefined) {
											data["forceCloseConnections"] = coerced3;
										}
									}
								}
								var _valid0 = _errs10 === errors;
								if (_valid0 && valid1) {
									valid1 = false;
									passing0 = [passing0, 1];
								} else {
									if (_valid0) {
										valid1 = true;
										passing0 = 1;
									}
								}
								if (!valid1) {
									const err3 = {
										instancePath: instancePath + "/forceCloseConnections",
										schemaPath: "#/properties/forceCloseConnections/oneOf",
										keyword: "oneOf",
										params: { passingSchemas: passing0 },
										message: "must match exactly one schema in oneOf"
									};
									if (vErrors === null) {
										vErrors = [err3];
									} else {
										vErrors.push(err3);
									}
									errors++;
									validate10.errors = vErrors;
									return false;
								} else {
									errors = _errs7;
									if (vErrors !== null) {
										if (_errs7) {
											vErrors.length = _errs7;
										} else {
											vErrors = null;
										}
									}
								}
								var valid0 = _errs6 === errors;
							} else {
								var valid0 = true;
							}
							if (valid0) {
								let data3 = data.maxRequestsPerSocket;
								const _errs12 = errors;
								if (!(typeof data3 == "number" && !(data3 % 1) && !isNaN(data3) && isFinite(data3)) && data3 !== null) {
									let dataType4 = typeof data3;
									let coerced4 = undefined;
									if (!(coerced4 !== undefined)) {
										if (dataType4 === "boolean" || data3 === null || dataType4 === "string" && data3 && data3 == +data3 && !(data3 % 1)) {
											coerced4 = +data3;
										} else if (data3 === "" || data3 === 0 || data3 === false) {
											coerced4 = null;
										} else {
											validate10.errors = [{
												instancePath: instancePath + "/maxRequestsPerSocket",
												schemaPath: "#/properties/maxRequestsPerSocket/type",
												keyword: "type",
												params: { type: "integer" },
												message: "must be integer"
											}];
											return false;
										}
									}
									if (coerced4 !== undefined) {
										data3 = coerced4;
										if (data !== undefined) {
											data["maxRequestsPerSocket"] = coerced4;
										}
									}
								}
								var valid0 = _errs12 === errors;
								if (valid0) {
									let data4 = data.requestTimeout;
									const _errs15 = errors;
									if (!(typeof data4 == "number" && !(data4 % 1) && !isNaN(data4) && isFinite(data4))) {
										let dataType5 = typeof data4;
										let coerced5 = undefined;
										if (!(coerced5 !== undefined)) {
											if (dataType5 === "boolean" || data4 === null || dataType5 === "string" && data4 && data4 == +data4 && !(data4 % 1)) {
												coerced5 = +data4;
											} else {
												validate10.errors = [{
													instancePath: instancePath + "/requestTimeout",
													schemaPath: "#/properties/requestTimeout/type",
													keyword: "type",
													params: { type: "integer" },
													message: "must be integer"
												}];
												return false;
											}
										}
										if (coerced5 !== undefined) {
											data4 = coerced5;
											if (data !== undefined) {
												data["requestTimeout"] = coerced5;
											}
										}
									}
									var valid0 = _errs15 === errors;
									if (valid0) {
										let data5 = data.bodyLimit;
										const _errs17 = errors;
										if (!(typeof data5 == "number" && !(data5 % 1) && !isNaN(data5) && isFinite(data5))) {
											let dataType6 = typeof data5;
											let coerced6 = undefined;
											if (!(coerced6 !== undefined)) {
												if (dataType6 === "boolean" || data5 === null || dataType6 === "string" && data5 && data5 == +data5 && !(data5 % 1)) {
													coerced6 = +data5;
												} else {
													validate10.errors = [{
														instancePath: instancePath + "/bodyLimit",
														schemaPath: "#/properties/bodyLimit/type",
														keyword: "type",
														params: { type: "integer" },
														message: "must be integer"
													}];
													return false;
												}
											}
											if (coerced6 !== undefined) {
												data5 = coerced6;
												if (data !== undefined) {
													data["bodyLimit"] = coerced6;
												}
											}
										}
										var valid0 = _errs17 === errors;
										if (valid0) {
											let data6 = data.caseSensitive;
											const _errs19 = errors;
											if (typeof data6 !== "boolean") {
												let coerced7 = undefined;
												if (!(coerced7 !== undefined)) {
													if (data6 === "false" || data6 === 0 || data6 === null) {
														coerced7 = false;
													} else if (data6 === "true" || data6 === 1) {
														coerced7 = true;
													} else {
														validate10.errors = [{
															instancePath: instancePath + "/caseSensitive",
															schemaPath: "#/properties/caseSensitive/type",
															keyword: "type",
															params: { type: "boolean" },
															message: "must be boolean"
														}];
														return false;
													}
												}
												if (coerced7 !== undefined) {
													data6 = coerced7;
													if (data !== undefined) {
														data["caseSensitive"] = coerced7;
													}
												}
											}
											var valid0 = _errs19 === errors;
											if (valid0) {
												let data7 = data.allowUnsafeRegex;
												const _errs21 = errors;
												if (typeof data7 !== "boolean") {
													let coerced8 = undefined;
													if (!(coerced8 !== undefined)) {
														if (data7 === "false" || data7 === 0 || data7 === null) {
															coerced8 = false;
														} else if (data7 === "true" || data7 === 1) {
															coerced8 = true;
														} else {
															validate10.errors = [{
																instancePath: instancePath + "/allowUnsafeRegex",
																schemaPath: "#/properties/allowUnsafeRegex/type",
																keyword: "type",
																params: { type: "boolean" },
																message: "must be boolean"
															}];
															return false;
														}
													}
													if (coerced8 !== undefined) {
														data7 = coerced8;
														if (data !== undefined) {
															data["allowUnsafeRegex"] = coerced8;
														}
													}
												}
												var valid0 = _errs21 === errors;
												if (valid0) {
													if (data.http2 !== undefined) {
														let data8 = data.http2;
														const _errs23 = errors;
														if (typeof data8 !== "boolean") {
															let coerced9 = undefined;
															if (!(coerced9 !== undefined)) {
																if (data8 === "false" || data8 === 0 || data8 === null) {
																	coerced9 = false;
																} else if (data8 === "true" || data8 === 1) {
																	coerced9 = true;
																} else {
																	validate10.errors = [{
																		instancePath: instancePath + "/http2",
																		schemaPath: "#/properties/http2/type",
																		keyword: "type",
																		params: { type: "boolean" },
																		message: "must be boolean"
																	}];
																	return false;
																}
															}
															if (coerced9 !== undefined) {
																data8 = coerced9;
																if (data !== undefined) {
																	data["http2"] = coerced9;
																}
															}
														}
														var valid0 = _errs23 === errors;
													} else {
														var valid0 = true;
													}
													if (valid0) {
														if (data.https !== undefined) {
															let data9 = data.https;
															const _errs25 = errors;
															const _errs26 = errors;
															let valid2 = true;
															const _errs27 = errors;
															const _errs28 = errors;
															const _errs29 = errors;
															const _errs30 = errors;
															let valid4 = false;
															let passing1 = null;
															const _errs31 = errors;
															if (typeof data9 !== "boolean") {
																let coerced10 = undefined;
																if (!(coerced10 !== undefined)) {
																	if (data9 === "false" || data9 === 0 || data9 === null) {
																		coerced10 = false;
																	} else if (data9 === "true" || data9 === 1) {
																		coerced10 = true;
																	} else {
																		const err4 = {};
																		if (vErrors === null) {
																			vErrors = [err4];
																		} else {
																			vErrors.push(err4);
																		}
																		errors++;
																	}
																}
																if (coerced10 !== undefined) {
																	data9 = coerced10;
																	if (data !== undefined) {
																		data["https"] = coerced10;
																	}
																}
															}
															var _valid2 = _errs31 === errors;
															if (_valid2) {
																valid4 = true;
																passing1 = 0;
															}
															const _errs33 = errors;
															if (data9 !== null) {
																let coerced11 = undefined;
																if (!(coerced11 !== undefined)) {
																	if (data9 === "" || data9 === 0 || data9 === false) {
																		coerced11 = null;
																	} else {
																		const err5 = {};
																		if (vErrors === null) {
																			vErrors = [err5];
																		} else {
																			vErrors.push(err5);
																		}
																		errors++;
																	}
																}
																if (coerced11 !== undefined) {
																	data9 = coerced11;
																	if (data !== undefined) {
																		data["https"] = coerced11;
																	}
																}
															}
															var _valid2 = _errs33 === errors;
															if (_valid2 && valid4) {
																valid4 = false;
																passing1 = [passing1, 1];
															} else {
																if (_valid2) {
																	valid4 = true;
																	passing1 = 1;
																}
																const _errs35 = errors;
																if (errors === _errs35) {
																	if (data9 && typeof data9 == "object" && !Array.isArray(data9)) {
																		let missing0;
																		if (data9.allowHTTP1 === undefined && (missing0 = "allowHTTP1")) {
																			const err6 = {};
																			if (vErrors === null) {
																				vErrors = [err6];
																			} else {
																				vErrors.push(err6);
																			}
																			errors++;
																		} else {
																			const _errs37 = errors;
																			for (const key1 in data9) {
																				if (!(key1 === "allowHTTP1")) {
																					delete data9[key1];
																				}
																			}
																			if (_errs37 === errors) {
																				if (data9.allowHTTP1 !== undefined) {
																					let data10 = data9.allowHTTP1;
																					if (typeof data10 !== "boolean") {
																						let coerced12 = undefined;
																						if (!(coerced12 !== undefined)) {
																							if (data10 === "false" || data10 === 0 || data10 === null) {
																								coerced12 = false;
																							} else if (data10 === "true" || data10 === 1) {
																								coerced12 = true;
																							} else {
																								const err7 = {};
																								if (vErrors === null) {
																									vErrors = [err7];
																								} else {
																									vErrors.push(err7);
																								}
																								errors++;
																							}
																						}
																						if (coerced12 !== undefined) {
																							data10 = coerced12;
																							if (data9 !== undefined) {
																								data9["allowHTTP1"] = coerced12;
																							}
																						}
																					}
																				}
																			}
																		}
																	} else {
																		const err8 = {};
																		if (vErrors === null) {
																			vErrors = [err8];
																		} else {
																			vErrors.push(err8);
																		}
																		errors++;
																	}
																}
																var _valid2 = _errs35 === errors;
																if (_valid2 && valid4) {
																	valid4 = false;
																	passing1 = [passing1, 2];
																} else {
																	if (_valid2) {
																		valid4 = true;
																		passing1 = 2;
																	}
																}
															}
															if (!valid4) {
																const err9 = {};
																if (vErrors === null) {
																	vErrors = [err9];
																} else {
																	vErrors.push(err9);
																}
																errors++;
															} else {
																errors = _errs30;
																if (vErrors !== null) {
																	if (_errs30) {
																		vErrors.length = _errs30;
																	} else {
																		vErrors = null;
																	}
																}
															}
															var valid3 = _errs29 === errors;
															if (valid3) {
																const err10 = {};
																if (vErrors === null) {
																	vErrors = [err10];
																} else {
																	vErrors.push(err10);
																}
																errors++;
															} else {
																errors = _errs28;
																if (vErrors !== null) {
																	if (_errs28) {
																		vErrors.length = _errs28;
																	} else {
																		vErrors = null;
																	}
																}
															}
															var _valid1 = _errs27 === errors;
															errors = _errs26;
															if (vErrors !== null) {
																if (_errs26) {
																	vErrors.length = _errs26;
																} else {
																	vErrors = null;
																}
															}
															if (_valid1) {
																const _errs40 = errors;
																data["https"] = true;
																var _valid1 = _errs40 === errors;
																valid2 = _valid1;
															}
															if (!valid2) {
																const err11 = {
																	instancePath: instancePath + "/https",
																	schemaPath: "#/properties/https/if",
																	keyword: "if",
																	params: { failingKeyword: "then" },
																	message: "must match \"then\" schema"
																};
																if (vErrors === null) {
																	vErrors = [err11];
																} else {
																	vErrors.push(err11);
																}
																errors++;
																validate10.errors = vErrors;
																return false;
															}
															var valid0 = _errs25 === errors;
														} else {
															var valid0 = true;
														}
														if (valid0) {
															let data11 = data.ignoreTrailingSlash;
															const _errs41 = errors;
															if (typeof data11 !== "boolean") {
																let coerced13 = undefined;
																if (!(coerced13 !== undefined)) {
																	if (data11 === "false" || data11 === 0 || data11 === null) {
																		coerced13 = false;
																	} else if (data11 === "true" || data11 === 1) {
																		coerced13 = true;
																	} else {
																		validate10.errors = [{
																			instancePath: instancePath + "/ignoreTrailingSlash",
																			schemaPath: "#/properties/ignoreTrailingSlash/type",
																			keyword: "type",
																			params: { type: "boolean" },
																			message: "must be boolean"
																		}];
																		return false;
																	}
																}
																if (coerced13 !== undefined) {
																	data11 = coerced13;
																	if (data !== undefined) {
																		data["ignoreTrailingSlash"] = coerced13;
																	}
																}
															}
															var valid0 = _errs41 === errors;
															if (valid0) {
																let data12 = data.ignoreDuplicateSlashes;
																const _errs43 = errors;
																if (typeof data12 !== "boolean") {
																	let coerced14 = undefined;
																	if (!(coerced14 !== undefined)) {
																		if (data12 === "false" || data12 === 0 || data12 === null) {
																			coerced14 = false;
																		} else if (data12 === "true" || data12 === 1) {
																			coerced14 = true;
																		} else {
																			validate10.errors = [{
																				instancePath: instancePath + "/ignoreDuplicateSlashes",
																				schemaPath: "#/properties/ignoreDuplicateSlashes/type",
																				keyword: "type",
																				params: { type: "boolean" },
																				message: "must be boolean"
																			}];
																			return false;
																		}
																	}
																	if (coerced14 !== undefined) {
																		data12 = coerced14;
																		if (data !== undefined) {
																			data["ignoreDuplicateSlashes"] = coerced14;
																		}
																	}
																}
																var valid0 = _errs43 === errors;
																if (valid0) {
																	let data13 = data.disableRequestLogging;
																	const _errs45 = errors;
																	if (typeof data13 !== "boolean") {
																		let coerced15 = undefined;
																		if (!(coerced15 !== undefined)) {
																			if (data13 === "false" || data13 === 0 || data13 === null) {
																				coerced15 = false;
																			} else if (data13 === "true" || data13 === 1) {
																				coerced15 = true;
																			} else {
																				validate10.errors = [{
																					instancePath: instancePath + "/disableRequestLogging",
																					schemaPath: "#/properties/disableRequestLogging/type",
																					keyword: "type",
																					params: { type: "boolean" },
																					message: "must be boolean"
																				}];
																				return false;
																			}
																		}
																		if (coerced15 !== undefined) {
																			data13 = coerced15;
																			if (data !== undefined) {
																				data["disableRequestLogging"] = coerced15;
																			}
																		}
																	}
																	var valid0 = _errs45 === errors;
																	if (valid0) {
																		let data14 = data.jsonShorthand;
																		const _errs47 = errors;
																		if (typeof data14 !== "boolean") {
																			let coerced16 = undefined;
																			if (!(coerced16 !== undefined)) {
																				if (data14 === "false" || data14 === 0 || data14 === null) {
																					coerced16 = false;
																				} else if (data14 === "true" || data14 === 1) {
																					coerced16 = true;
																				} else {
																					validate10.errors = [{
																						instancePath: instancePath + "/jsonShorthand",
																						schemaPath: "#/properties/jsonShorthand/type",
																						keyword: "type",
																						params: { type: "boolean" },
																						message: "must be boolean"
																					}];
																					return false;
																				}
																			}
																			if (coerced16 !== undefined) {
																				data14 = coerced16;
																				if (data !== undefined) {
																					data["jsonShorthand"] = coerced16;
																				}
																			}
																		}
																		var valid0 = _errs47 === errors;
																		if (valid0) {
																			let data15 = data.maxParamLength;
																			const _errs49 = errors;
																			if (!(typeof data15 == "number" && !(data15 % 1) && !isNaN(data15) && isFinite(data15))) {
																				let dataType17 = typeof data15;
																				let coerced17 = undefined;
																				if (!(coerced17 !== undefined)) {
																					if (dataType17 === "boolean" || data15 === null || dataType17 === "string" && data15 && data15 == +data15 && !(data15 % 1)) {
																						coerced17 = +data15;
																					} else {
																						validate10.errors = [{
																							instancePath: instancePath + "/maxParamLength",
																							schemaPath: "#/properties/maxParamLength/type",
																							keyword: "type",
																							params: { type: "integer" },
																							message: "must be integer"
																						}];
																						return false;
																					}
																				}
																				if (coerced17 !== undefined) {
																					data15 = coerced17;
																					if (data !== undefined) {
																						data["maxParamLength"] = coerced17;
																					}
																				}
																			}
																			var valid0 = _errs49 === errors;
																			if (valid0) {
																				let data16 = data.onProtoPoisoning;
																				const _errs51 = errors;
																				if (typeof data16 !== "string") {
																					let dataType18 = typeof data16;
																					let coerced18 = undefined;
																					if (!(coerced18 !== undefined)) {
																						if (dataType18 == "number" || dataType18 == "boolean") {
																							coerced18 = "" + data16;
																						} else if (data16 === null) {
																							coerced18 = "";
																						} else {
																							validate10.errors = [{
																								instancePath: instancePath + "/onProtoPoisoning",
																								schemaPath: "#/properties/onProtoPoisoning/type",
																								keyword: "type",
																								params: { type: "string" },
																								message: "must be string"
																							}];
																							return false;
																						}
																					}
																					if (coerced18 !== undefined) {
																						data16 = coerced18;
																						if (data !== undefined) {
																							data["onProtoPoisoning"] = coerced18;
																						}
																					}
																				}
																				var valid0 = _errs51 === errors;
																				if (valid0) {
																					let data17 = data.onConstructorPoisoning;
																					const _errs53 = errors;
																					if (typeof data17 !== "string") {
																						let dataType19 = typeof data17;
																						let coerced19 = undefined;
																						if (!(coerced19 !== undefined)) {
																							if (dataType19 == "number" || dataType19 == "boolean") {
																								coerced19 = "" + data17;
																							} else if (data17 === null) {
																								coerced19 = "";
																							} else {
																								validate10.errors = [{
																									instancePath: instancePath + "/onConstructorPoisoning",
																									schemaPath: "#/properties/onConstructorPoisoning/type",
																									keyword: "type",
																									params: { type: "string" },
																									message: "must be string"
																								}];
																								return false;
																							}
																						}
																						if (coerced19 !== undefined) {
																							data17 = coerced19;
																							if (data !== undefined) {
																								data["onConstructorPoisoning"] = coerced19;
																							}
																						}
																					}
																					var valid0 = _errs53 === errors;
																					if (valid0) {
																						let data18 = data.pluginTimeout;
																						const _errs55 = errors;
																						if (!(typeof data18 == "number" && !(data18 % 1) && !isNaN(data18) && isFinite(data18))) {
																							let dataType20 = typeof data18;
																							let coerced20 = undefined;
																							if (!(coerced20 !== undefined)) {
																								if (dataType20 === "boolean" || data18 === null || dataType20 === "string" && data18 && data18 == +data18 && !(data18 % 1)) {
																									coerced20 = +data18;
																								} else {
																									validate10.errors = [{
																										instancePath: instancePath + "/pluginTimeout",
																										schemaPath: "#/properties/pluginTimeout/type",
																										keyword: "type",
																										params: { type: "integer" },
																										message: "must be integer"
																									}];
																									return false;
																								}
																							}
																							if (coerced20 !== undefined) {
																								data18 = coerced20;
																								if (data !== undefined) {
																									data["pluginTimeout"] = coerced20;
																								}
																							}
																						}
																						var valid0 = _errs55 === errors;
																						if (valid0) {
																							let data19 = data.requestIdHeader;
																							const _errs57 = errors;
																							const _errs58 = errors;
																							let valid6 = false;
																							const _errs59 = errors;
																							if (!(data19 === false)) {
																								const err12 = {
																									instancePath: instancePath + "/requestIdHeader",
																									schemaPath: "#/properties/requestIdHeader/anyOf/0/enum",
																									keyword: "enum",
																									params: { allowedValues: schema11.properties.requestIdHeader.anyOf[0].enum },
																									message: "must be equal to one of the allowed values"
																								};
																								if (vErrors === null) {
																									vErrors = [err12];
																								} else {
																									vErrors.push(err12);
																								}
																								errors++;
																							}
																							var _valid3 = _errs59 === errors;
																							valid6 = valid6 || _valid3;
																							if (!valid6) {
																								const _errs60 = errors;
																								if (typeof data19 !== "string") {
																									let dataType21 = typeof data19;
																									let coerced21 = undefined;
																									if (!(coerced21 !== undefined)) {
																										if (dataType21 == "number" || dataType21 == "boolean") {
																											coerced21 = "" + data19;
																										} else if (data19 === null) {
																											coerced21 = "";
																										} else {
																											const err13 = {
																												instancePath: instancePath + "/requestIdHeader",
																												schemaPath: "#/properties/requestIdHeader/anyOf/1/type",
																												keyword: "type",
																												params: { type: "string" },
																												message: "must be string"
																											};
																											if (vErrors === null) {
																												vErrors = [err13];
																											} else {
																												vErrors.push(err13);
																											}
																											errors++;
																										}
																									}
																									if (coerced21 !== undefined) {
																										data19 = coerced21;
																										if (data !== undefined) {
																											data["requestIdHeader"] = coerced21;
																										}
																									}
																								}
																								var _valid3 = _errs60 === errors;
																								valid6 = valid6 || _valid3;
																							}
																							if (!valid6) {
																								const err14 = {
																									instancePath: instancePath + "/requestIdHeader",
																									schemaPath: "#/properties/requestIdHeader/anyOf",
																									keyword: "anyOf",
																									params: {},
																									message: "must match a schema in anyOf"
																								};
																								if (vErrors === null) {
																									vErrors = [err14];
																								} else {
																									vErrors.push(err14);
																								}
																								errors++;
																								validate10.errors = vErrors;
																								return false;
																							} else {
																								errors = _errs58;
																								if (vErrors !== null) {
																									if (_errs58) {
																										vErrors.length = _errs58;
																									} else {
																										vErrors = null;
																									}
																								}
																							}
																							var valid0 = _errs57 === errors;
																							if (valid0) {
																								let data20 = data.requestIdLogLabel;
																								const _errs62 = errors;
																								if (typeof data20 !== "string") {
																									let dataType22 = typeof data20;
																									let coerced22 = undefined;
																									if (!(coerced22 !== undefined)) {
																										if (dataType22 == "number" || dataType22 == "boolean") {
																											coerced22 = "" + data20;
																										} else if (data20 === null) {
																											coerced22 = "";
																										} else {
																											validate10.errors = [{
																												instancePath: instancePath + "/requestIdLogLabel",
																												schemaPath: "#/properties/requestIdLogLabel/type",
																												keyword: "type",
																												params: { type: "string" },
																												message: "must be string"
																											}];
																											return false;
																										}
																									}
																									if (coerced22 !== undefined) {
																										data20 = coerced22;
																										if (data !== undefined) {
																											data["requestIdLogLabel"] = coerced22;
																										}
																									}
																								}
																								var valid0 = _errs62 === errors;
																								if (valid0) {
																									let data21 = data.http2SessionTimeout;
																									const _errs64 = errors;
																									if (!(typeof data21 == "number" && !(data21 % 1) && !isNaN(data21) && isFinite(data21))) {
																										let dataType23 = typeof data21;
																										let coerced23 = undefined;
																										if (!(coerced23 !== undefined)) {
																											if (dataType23 === "boolean" || data21 === null || dataType23 === "string" && data21 && data21 == +data21 && !(data21 % 1)) {
																												coerced23 = +data21;
																											} else {
																												validate10.errors = [{
																													instancePath: instancePath + "/http2SessionTimeout",
																													schemaPath: "#/properties/http2SessionTimeout/type",
																													keyword: "type",
																													params: { type: "integer" },
																													message: "must be integer"
																												}];
																												return false;
																											}
																										}
																										if (coerced23 !== undefined) {
																											data21 = coerced23;
																											if (data !== undefined) {
																												data["http2SessionTimeout"] = coerced23;
																											}
																										}
																									}
																									var valid0 = _errs64 === errors;
																									if (valid0) {
																										let data22 = data.exposeHeadRoutes;
																										const _errs66 = errors;
																										if (typeof data22 !== "boolean") {
																											let coerced24 = undefined;
																											if (!(coerced24 !== undefined)) {
																												if (data22 === "false" || data22 === 0 || data22 === null) {
																													coerced24 = false;
																												} else if (data22 === "true" || data22 === 1) {
																													coerced24 = true;
																												} else {
																													validate10.errors = [{
																														instancePath: instancePath + "/exposeHeadRoutes",
																														schemaPath: "#/properties/exposeHeadRoutes/type",
																														keyword: "type",
																														params: { type: "boolean" },
																														message: "must be boolean"
																													}];
																													return false;
																												}
																											}
																											if (coerced24 !== undefined) {
																												data22 = coerced24;
																												if (data !== undefined) {
																													data["exposeHeadRoutes"] = coerced24;
																												}
																											}
																										}
																										var valid0 = _errs66 === errors;
																										if (valid0) {
																											let data23 = data.useSemicolonDelimiter;
																											const _errs68 = errors;
																											if (typeof data23 !== "boolean") {
																												let coerced25 = undefined;
																												if (!(coerced25 !== undefined)) {
																													if (data23 === "false" || data23 === 0 || data23 === null) {
																														coerced25 = false;
																													} else if (data23 === "true" || data23 === 1) {
																														coerced25 = true;
																													} else {
																														validate10.errors = [{
																															instancePath: instancePath + "/useSemicolonDelimiter",
																															schemaPath: "#/properties/useSemicolonDelimiter/type",
																															keyword: "type",
																															params: { type: "boolean" },
																															message: "must be boolean"
																														}];
																														return false;
																													}
																												}
																												if (coerced25 !== undefined) {
																													data23 = coerced25;
																													if (data !== undefined) {
																														data["useSemicolonDelimiter"] = coerced25;
																													}
																												}
																											}
																											var valid0 = _errs68 === errors;
																											if (valid0) {
																												if (data.versioning !== undefined) {
																													let data24 = data.versioning;
																													const _errs70 = errors;
																													if (errors === _errs70) {
																														if (data24 && typeof data24 == "object" && !Array.isArray(data24)) {
																															let missing1;
																															if (data24.storage === undefined && (missing1 = "storage") || data24.deriveVersion === undefined && (missing1 = "deriveVersion")) {
																																validate10.errors = [{
																																	instancePath: instancePath + "/versioning",
																																	schemaPath: "#/properties/versioning/required",
																																	keyword: "required",
																																	params: { missingProperty: missing1 },
																																	message: "must have required property '" + missing1 + "'"
																																}];
																																return false;
																															}
																														} else {
																															validate10.errors = [{
																																instancePath: instancePath + "/versioning",
																																schemaPath: "#/properties/versioning/type",
																																keyword: "type",
																																params: { type: "object" },
																																message: "must be object"
																															}];
																															return false;
																														}
																													}
																													var valid0 = _errs70 === errors;
																												} else {
																													var valid0 = true;
																												}
																												if (valid0) {
																													if (data.constraints !== undefined) {
																														let data25 = data.constraints;
																														const _errs73 = errors;
																														if (errors === _errs73) {
																															if (data25 && typeof data25 == "object" && !Array.isArray(data25)) {
																																for (const key2 in data25) {
																																	let data26 = data25[key2];
																																	const _errs76 = errors;
																																	if (errors === _errs76) {
																																		if (data26 && typeof data26 == "object" && !Array.isArray(data26)) {
																																			let missing2;
																																			if (data26.name === undefined && (missing2 = "name") || data26.storage === undefined && (missing2 = "storage") || data26.validate === undefined && (missing2 = "validate") || data26.deriveConstraint === undefined && (missing2 = "deriveConstraint")) {
																																				validate10.errors = [{
																																					instancePath: instancePath + "/constraints/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),
																																					schemaPath: "#/properties/constraints/additionalProperties/required",
																																					keyword: "required",
																																					params: { missingProperty: missing2 },
																																					message: "must have required property '" + missing2 + "'"
																																				}];
																																				return false;
																																			} else {
																																				if (data26.name !== undefined) {
																																					let data27 = data26.name;
																																					if (typeof data27 !== "string") {
																																						let dataType26 = typeof data27;
																																						let coerced26 = undefined;
																																						if (!(coerced26 !== undefined)) {
																																							if (dataType26 == "number" || dataType26 == "boolean") {
																																								coerced26 = "" + data27;
																																							} else if (data27 === null) {
																																								coerced26 = "";
																																							} else {
																																								validate10.errors = [{
																																									instancePath: instancePath + "/constraints/" + key2.replace(/~/g, "~0").replace(/\//g, "~1") + "/name",
																																									schemaPath: "#/properties/constraints/additionalProperties/properties/name/type",
																																									keyword: "type",
																																									params: { type: "string" },
																																									message: "must be string"
																																								}];
																																								return false;
																																							}
																																						}
																																						if (coerced26 !== undefined) {
																																							data27 = coerced26;
																																							if (data26 !== undefined) {
																																								data26["name"] = coerced26;
																																							}
																																						}
																																					}
																																				}
																																			}
																																		} else {
																																			validate10.errors = [{
																																				instancePath: instancePath + "/constraints/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),
																																				schemaPath: "#/properties/constraints/additionalProperties/type",
																																				keyword: "type",
																																				params: { type: "object" },
																																				message: "must be object"
																																			}];
																																			return false;
																																		}
																																	}
																																	var valid7 = _errs76 === errors;
																																	if (!valid7) {
																																		break;
																																	}
																																}
																															} else {
																																validate10.errors = [{
																																	instancePath: instancePath + "/constraints",
																																	schemaPath: "#/properties/constraints/type",
																																	keyword: "type",
																																	params: { type: "object" },
																																	message: "must be object"
																																}];
																																return false;
																															}
																														}
																														var valid0 = _errs73 === errors;
																													} else {
																														var valid0 = true;
																													}
																												}
																											}
																										}
																									}
																								}
																							}
																						}
																					}
																				}
																			}
																		}
																	}
																}
															}
														}
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			} else {
				validate10.errors = [{
					instancePath,
					schemaPath: "#/type",
					keyword: "type",
					params: { type: "object" },
					message: "must be object"
				}];
				return false;
			}
		}
		validate10.errors = vErrors;
		return errors === 0;
	}
	module.exports.defaultInitOptions = {
		"connectionTimeout": 0,
		"keepAliveTimeout": 72e3,
		"maxRequestsPerSocket": 0,
		"requestTimeout": 0,
		"bodyLimit": 1048576,
		"caseSensitive": true,
		"allowUnsafeRegex": false,
		"disableRequestLogging": false,
		"jsonShorthand": true,
		"ignoreTrailingSlash": false,
		"ignoreDuplicateSlashes": false,
		"maxParamLength": 100,
		"onProtoPoisoning": "error",
		"onConstructorPoisoning": "error",
		"pluginTimeout": 1e4,
		"requestIdHeader": "request-id",
		"requestIdLogLabel": "reqId",
		"http2SessionTimeout": 72e3,
		"exposeHeadRoutes": true,
		"useSemicolonDelimiter": true
	};
}));

//#endregion
//#region ../node_modules/fastify/lib/initialConfigValidation.js
var require_initialConfigValidation = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const validate = require_configValidator();
	const deepClone = require_rfdc()({
		circles: true,
		proto: false
	});
	const { FST_ERR_INIT_OPTS_INVALID } = require_errors$3();
	function validateInitialConfig(options) {
		const opts = deepClone(options);
		if (!validate(opts)) {
			const error = new FST_ERR_INIT_OPTS_INVALID(JSON.stringify(validate.errors.map((e) => e.message)));
			error.errors = validate.errors;
			throw error;
		}
		return deepFreezeObject(opts);
	}
	function deepFreezeObject(object) {
		const properties = Object.getOwnPropertyNames(object);
		for (const name of properties) {
			const value = object[name];
			if (ArrayBuffer.isView(value) && !(value instanceof DataView)) {
				continue;
			}
			object[name] = value && typeof value === "object" ? deepFreezeObject(value) : value;
		}
		return Object.freeze(object);
	}
	module.exports = validateInitialConfig;
	module.exports.defaultInitOptions = validate.defaultInitOptions;
	module.exports.utils = { deepFreezeObject };
}));

//#endregion
//#region ../node_modules/fastify/lib/pluginOverride.js
var require_pluginOverride = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { kAvvioBoot, kChildren, kRoutePrefix, kLogLevel, kLogSerializers, kHooks, kSchemaController, kContentTypeParser, kReply, kRequest, kFourOhFour, kPluginNameChain } = require_symbols$1();
	const Reply = require_reply();
	const Request = require_request$4();
	const SchemaController = require_schema_controller();
	const ContentTypeParser = require_contentTypeParser();
	const { buildHooks } = require_hooks();
	const pluginUtils = require_pluginUtils();
	module.exports = function override(old, fn, opts) {
		const shouldSkipOverride = pluginUtils.registerPlugin.call(old, fn);
		const fnName = pluginUtils.getPluginName(fn) || pluginUtils.getFuncPreview(fn);
		if (shouldSkipOverride) {
			old[kPluginNameChain].push(fnName);
			return old;
		}
		const instance = Object.create(old);
		old[kChildren].push(instance);
		instance.ready = old[kAvvioBoot].bind(instance);
		instance[kChildren] = [];
		instance[kReply] = Reply.buildReply(instance[kReply]);
		instance[kRequest] = Request.buildRequest(instance[kRequest]);
		instance[kContentTypeParser] = ContentTypeParser.helpers.buildContentTypeParser(instance[kContentTypeParser]);
		instance[kHooks] = buildHooks(instance[kHooks]);
		instance[kRoutePrefix] = buildRoutePrefix(instance[kRoutePrefix], opts.prefix);
		instance[kLogLevel] = opts.logLevel || instance[kLogLevel];
		instance[kSchemaController] = SchemaController.buildSchemaController(old[kSchemaController]);
		instance.getSchema = instance[kSchemaController].getSchema.bind(instance[kSchemaController]);
		instance.getSchemas = instance[kSchemaController].getSchemas.bind(instance[kSchemaController]);
		instance[pluginUtils.kRegisteredPlugins] = Object.create(instance[pluginUtils.kRegisteredPlugins]);
		instance[kPluginNameChain] = [fnName];
		if (instance[kLogSerializers] || opts.logSerializers) {
			instance[kLogSerializers] = Object.assign(Object.create(instance[kLogSerializers]), opts.logSerializers);
		}
		if (opts.prefix) {
			instance[kFourOhFour].arrange404(instance);
		}
		for (const hook of instance[kHooks].onRegister) hook.call(this, instance, opts);
		return instance;
	};
	function buildRoutePrefix(instancePrefix, pluginPrefix) {
		if (!pluginPrefix) {
			return instancePrefix;
		}
		if (instancePrefix.endsWith("/") && pluginPrefix[0] === "/") {
			pluginPrefix = pluginPrefix.slice(1);
		} else if (pluginPrefix[0] !== "/") {
			pluginPrefix = "/" + pluginPrefix;
		}
		return instancePrefix + pluginPrefix;
	}
}));

//#endregion
//#region ../node_modules/fastify/lib/noop-set.js
var require_noop_set = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = function noopSet() {
		return {
			[Symbol.iterator]: function* () {},
			add() {},
			delete() {},
			has() {
				return true;
			}
		};
	};
}));

//#endregion
//#region ../node_modules/cookie/index.js
/*!
* cookie
* Copyright(c) 2012-2014 Roman Shtylman
* Copyright(c) 2015 Douglas Christopher Wilson
* MIT Licensed
*/
var require_cookie = /* @__PURE__ */ __commonJSMin(((exports) => {
	/**
	* Module exports.
	* @public
	*/
	exports.parse = parse;
	exports.serialize = serialize;
	/**
	* Module variables.
	* @private
	*/
	var __toString = Object.prototype.toString;
	var __hasOwnProperty = Object.prototype.hasOwnProperty;
	/**
	* RegExp to match cookie-name in RFC 6265 sec 4.1.1
	* This refers out to the obsoleted definition of token in RFC 2616 sec 2.2
	* which has been replaced by the token definition in RFC 7230 appendix B.
	*
	* cookie-name       = token
	* token             = 1*tchar
	* tchar             = "!" / "#" / "$" / "%" / "&" / "'" /
	*                     "*" / "+" / "-" / "." / "^" / "_" /
	*                     "`" / "|" / "~" / DIGIT / ALPHA
	*/
	var cookieNameRegExp = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;
	/**
	* RegExp to match cookie-value in RFC 6265 sec 4.1.1
	*
	* cookie-value      = *cookie-octet / ( DQUOTE *cookie-octet DQUOTE )
	* cookie-octet      = %x21 / %x23-2B / %x2D-3A / %x3C-5B / %x5D-7E
	*                     ; US-ASCII characters excluding CTLs,
	*                     ; whitespace DQUOTE, comma, semicolon,
	*                     ; and backslash
	*/
	var cookieValueRegExp = /^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/;
	/**
	* RegExp to match domain-value in RFC 6265 sec 4.1.1
	*
	* domain-value      = <subdomain>
	*                     ; defined in [RFC1034], Section 3.5, as
	*                     ; enhanced by [RFC1123], Section 2.1
	* <subdomain>       = <label> | <subdomain> "." <label>
	* <label>           = <let-dig> [ [ <ldh-str> ] <let-dig> ]
	*                     Labels must be 63 characters or less.
	*                     'let-dig' not 'letter' in the first char, per RFC1123
	* <ldh-str>         = <let-dig-hyp> | <let-dig-hyp> <ldh-str>
	* <let-dig-hyp>     = <let-dig> | "-"
	* <let-dig>         = <letter> | <digit>
	* <letter>          = any one of the 52 alphabetic characters A through Z in
	*                     upper case and a through z in lower case
	* <digit>           = any one of the ten digits 0 through 9
	*
	* Keep support for leading dot: https://github.com/jshttp/cookie/issues/173
	*
	* > (Note that a leading %x2E ("."), if present, is ignored even though that
	* character is not permitted, but a trailing %x2E ("."), if present, will
	* cause the user agent to ignore the attribute.)
	*/
	var domainValueRegExp = /^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i;
	/**
	* RegExp to match path-value in RFC 6265 sec 4.1.1
	*
	* path-value        = <any CHAR except CTLs or ";">
	* CHAR              = %x01-7F
	*                     ; defined in RFC 5234 appendix B.1
	*/
	var pathValueRegExp = /^[\u0020-\u003A\u003D-\u007E]*$/;
	/**
	* Parse a cookie header.
	*
	* Parse the given cookie header string into an object
	* The object has the various cookies as keys(names) => values
	*
	* @param {string} str
	* @param {object} [opt]
	* @return {object}
	* @public
	*/
	function parse(str, opt) {
		if (typeof str !== "string") {
			throw new TypeError("argument str must be a string");
		}
		var obj = {};
		var len = str.length;
		if (len < 2) return obj;
		var dec = opt && opt.decode || decode;
		var index = 0;
		var eqIdx = 0;
		var endIdx = 0;
		do {
			eqIdx = str.indexOf("=", index);
			if (eqIdx === -1) break;
			endIdx = str.indexOf(";", index);
			if (endIdx === -1) {
				endIdx = len;
			} else if (eqIdx > endIdx) {
				index = str.lastIndexOf(";", eqIdx - 1) + 1;
				continue;
			}
			var keyStartIdx = startIndex(str, index, eqIdx);
			var keyEndIdx = endIndex(str, eqIdx, keyStartIdx);
			var key = str.slice(keyStartIdx, keyEndIdx);
			if (!__hasOwnProperty.call(obj, key)) {
				var valStartIdx = startIndex(str, eqIdx + 1, endIdx);
				var valEndIdx = endIndex(str, endIdx, valStartIdx);
				if (str.charCodeAt(valStartIdx) === 34 && str.charCodeAt(valEndIdx - 1) === 34) {
					valStartIdx++;
					valEndIdx--;
				}
				var val = str.slice(valStartIdx, valEndIdx);
				obj[key] = tryDecode(val, dec);
			}
			index = endIdx + 1;
		} while (index < len);
		return obj;
	}
	function startIndex(str, index, max) {
		do {
			var code = str.charCodeAt(index);
			if (code !== 32 && code !== 9) return index;
		} while (++index < max);
		return max;
	}
	function endIndex(str, index, min) {
		while (index > min) {
			var code = str.charCodeAt(--index);
			if (code !== 32 && code !== 9) return index + 1;
		}
		return min;
	}
	/**
	* Serialize data into a cookie header.
	*
	* Serialize a name value pair into a cookie string suitable for
	* http headers. An optional options object specifies cookie parameters.
	*
	* serialize('foo', 'bar', { httpOnly: true })
	*   => "foo=bar; httpOnly"
	*
	* @param {string} name
	* @param {string} val
	* @param {object} [opt]
	* @return {string}
	* @public
	*/
	function serialize(name, val, opt) {
		var enc = opt && opt.encode || encodeURIComponent;
		if (typeof enc !== "function") {
			throw new TypeError("option encode is invalid");
		}
		if (!cookieNameRegExp.test(name)) {
			throw new TypeError("argument name is invalid");
		}
		var value = enc(val);
		if (!cookieValueRegExp.test(value)) {
			throw new TypeError("argument val is invalid");
		}
		var str = name + "=" + value;
		if (!opt) return str;
		if (null != opt.maxAge) {
			var maxAge = Math.floor(opt.maxAge);
			if (!isFinite(maxAge)) {
				throw new TypeError("option maxAge is invalid");
			}
			str += "; Max-Age=" + maxAge;
		}
		if (opt.domain) {
			if (!domainValueRegExp.test(opt.domain)) {
				throw new TypeError("option domain is invalid");
			}
			str += "; Domain=" + opt.domain;
		}
		if (opt.path) {
			if (!pathValueRegExp.test(opt.path)) {
				throw new TypeError("option path is invalid");
			}
			str += "; Path=" + opt.path;
		}
		if (opt.expires) {
			var expires = opt.expires;
			if (!isDate(expires) || isNaN(expires.valueOf())) {
				throw new TypeError("option expires is invalid");
			}
			str += "; Expires=" + expires.toUTCString();
		}
		if (opt.httpOnly) {
			str += "; HttpOnly";
		}
		if (opt.secure) {
			str += "; Secure";
		}
		if (opt.partitioned) {
			str += "; Partitioned";
		}
		if (opt.priority) {
			var priority = typeof opt.priority === "string" ? opt.priority.toLowerCase() : opt.priority;
			switch (priority) {
				case "low":
					str += "; Priority=Low";
					break;
				case "medium":
					str += "; Priority=Medium";
					break;
				case "high":
					str += "; Priority=High";
					break;
				default: throw new TypeError("option priority is invalid");
			}
		}
		if (opt.sameSite) {
			var sameSite = typeof opt.sameSite === "string" ? opt.sameSite.toLowerCase() : opt.sameSite;
			switch (sameSite) {
				case true:
					str += "; SameSite=Strict";
					break;
				case "lax":
					str += "; SameSite=Lax";
					break;
				case "strict":
					str += "; SameSite=Strict";
					break;
				case "none":
					str += "; SameSite=None";
					break;
				default: throw new TypeError("option sameSite is invalid");
			}
		}
		return str;
	}
	/**
	* URL-decode string value. Optimized to skip native call when no %.
	*
	* @param {string} str
	* @returns {string}
	*/
	function decode(str) {
		return str.indexOf("%") !== -1 ? decodeURIComponent(str) : str;
	}
	/**
	* Determine if value is a Date.
	*
	* @param {*} val
	* @private
	*/
	function isDate(val) {
		return __toString.call(val) === "[object Date]";
	}
	/**
	* Try decoding a string using a decoding function.
	*
	* @param {string} str
	* @param {function} decode
	* @private
	*/
	function tryDecode(str, decode) {
		try {
			return decode(str);
		} catch (e) {
			return str;
		}
	}
}));

//#endregion
//#region ../node_modules/light-my-request/lib/parse-url.js
var require_parse_url = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { URL: URL$1 } = __require("node:url");
	const BASE_URL = "http://localhost";
	/**
	* Parse URL
	*
	* @param {(Object|String)} url
	* @param {Object} [query]
	* @return {URL}
	*/
	module.exports = function parseURL(url, query) {
		if ((typeof url === "string" || Object.prototype.toString.call(url) === "[object String]") && url.startsWith("//")) {
			url = BASE_URL + url;
		}
		const result = typeof url === "object" ? Object.assign(new URL$1(BASE_URL), url) : new URL$1(url, BASE_URL);
		if (typeof query === "string") {
			query = new URLSearchParams(query);
			for (const key of query.keys()) {
				result.searchParams.delete(key);
				for (const value of query.getAll(key)) {
					result.searchParams.append(key, value);
				}
			}
		} else {
			const merged = Object.assign({}, url.query, query);
			for (const key in merged) {
				const value = merged[key];
				if (Array.isArray(value)) {
					result.searchParams.delete(key);
					for (const param of value) {
						result.searchParams.append(key, param);
					}
				} else {
					result.searchParams.set(key, value);
				}
			}
		}
		return result;
	};
}));

//#endregion
//#region ../node_modules/light-my-request/lib/form-data.js
var require_form_data = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { randomUUID } = __require("node:crypto");
	const { Readable: Readable$7 } = __require("node:stream");
	let textEncoder;
	function isFormDataLike(payload) {
		return payload && typeof payload === "object" && typeof payload.append === "function" && typeof payload.delete === "function" && typeof payload.get === "function" && typeof payload.getAll === "function" && typeof payload.has === "function" && typeof payload.set === "function" && payload[Symbol.toStringTag] === "FormData";
	}
	function formDataToStream(formdata) {
		textEncoder = textEncoder ?? new TextEncoder();
		const boundary = `----formdata-${randomUUID()}`;
		const prefix = `--${boundary}\r\nContent-Disposition: form-data`;
		/*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */
		const escape = (str) => str.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
		const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
		const linebreak = new Uint8Array([13, 10]);
		async function* asyncIterator() {
			for (const [name, value] of formdata) {
				if (typeof value === "string") {
					yield textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"\r\n\r\n`);
					yield textEncoder.encode(`${normalizeLinefeeds(value)}\r\n`);
				} else {
					let header = `${prefix}; name="${escape(normalizeLinefeeds(name))}"`;
					value.name && (header += `; filename="${escape(value.name)}"`);
					header += `\r\nContent-Type: ${value.type || "application/octet-stream"}\r\n\r\n`;
					yield textEncoder.encode(header);
					/* istanbul ignore else */
					if (value.stream) {
						yield* value.stream();
					} else {
						/* istanbul ignore next */
						yield value;
					}
					yield linebreak;
				}
			}
			yield textEncoder.encode(`--${boundary}--`);
		}
		const stream = Readable$7.from(asyncIterator());
		return {
			stream,
			contentType: `multipart/form-data; boundary=${boundary}`
		};
	}
	module.exports.isFormDataLike = isFormDataLike;
	module.exports.formDataToStream = formDataToStream;
}));

//#endregion
//#region ../node_modules/light-my-request/lib/request.js
var require_request$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { Readable: Readable$6, addAbortSignal } = __require("node:stream");
	const util$8 = __require("node:util");
	const cookie = require_cookie();
	const assert$36 = __require("node:assert");
	const { createDeprecation } = require_process_warning();
	const parseURL = require_parse_url();
	const { isFormDataLike, formDataToStream } = require_form_data();
	const { EventEmitter: EventEmitter$4 } = __require("node:events");
	const FST_LIGHTMYREQUEST_DEP01 = createDeprecation({
		name: "FastifyDeprecationLightMyRequest",
		code: "FST_LIGHTMYREQUEST_DEP01",
		message: "You are accessing \"request.connection\", use \"request.socket\" instead."
	});
	/**
	* Get hostname:port
	*
	* @param {URL} parsedURL
	* @return {String}
	*/
	function hostHeaderFromURL(parsedURL) {
		return parsedURL.port ? parsedURL.host : parsedURL.hostname + (parsedURL.protocol === "https:" ? ":443" : ":80");
	}
	/**
	* Mock socket object used to fake access to a socket for a request
	*
	* @constructor
	* @param {String} remoteAddress the fake address to show consumers of the socket
	*/
	var MockSocket = class extends EventEmitter$4 {
		constructor(remoteAddress) {
			super();
			this.remoteAddress = remoteAddress;
		}
	};
	/**
	* CustomRequest
	*
	* @constructor
	* @param {Object} options
	* @param {(Object|String)} options.url || options.path
	* @param {String} [options.method='GET']
	* @param {String} [options.remoteAddress]
	* @param {Object} [options.cookies]
	* @param {Object} [options.headers]
	* @param {Object} [options.query]
	* @param {Object} [options.Request]
	* @param {any} [options.payload]
	*/
	function CustomRequest(options) {
		return new _CustomLMRRequest(this);
		function _CustomLMRRequest(obj) {
			Request.call(obj, {
				...options,
				Request: undefined
			});
			Object.assign(this, obj);
			for (const fn of Object.keys(Request.prototype)) {
				this.constructor.prototype[fn] = Request.prototype[fn];
			}
			util$8.inherits(this.constructor, options.Request);
			return this;
		}
	}
	/**
	* Request
	*
	* @constructor
	* @param {Object} options
	* @param {(Object|String)} options.url || options.path
	* @param {String} [options.method='GET']
	* @param {String} [options.remoteAddress]
	* @param {Object} [options.cookies]
	* @param {Object} [options.headers]
	* @param {Object} [options.query]
	* @param {any} [options.payload]
	*/
	function Request(options) {
		Readable$6.call(this, { autoDestroy: false });
		const parsedURL = parseURL(options.url || options.path, options.query);
		this.url = parsedURL.pathname + parsedURL.search;
		this.aborted = false;
		this.httpVersionMajor = 1;
		this.httpVersionMinor = 1;
		this.httpVersion = "1.1";
		this.method = options.method ? options.method.toUpperCase() : "GET";
		this.headers = {};
		this.rawHeaders = [];
		const headers = options.headers || {};
		for (const field in headers) {
			const fieldLowerCase = field.toLowerCase();
			if ((fieldLowerCase === "user-agent" || fieldLowerCase === "content-type") && headers[field] === undefined) {
				this.headers[fieldLowerCase] = undefined;
				continue;
			}
			const value = headers[field];
			assert$36(value !== undefined, "invalid value \"undefined\" for header " + field);
			this.headers[fieldLowerCase] = "" + value;
		}
		if ("user-agent" in this.headers === false) {
			this.headers["user-agent"] = "lightMyRequest";
		}
		this.headers.host = this.headers.host || options.authority || hostHeaderFromURL(parsedURL);
		if (options.cookies) {
			const { cookies } = options;
			const cookieValues = Object.keys(cookies).map((key) => cookie.serialize(key, cookies[key]));
			if (this.headers.cookie) {
				cookieValues.unshift(this.headers.cookie);
			}
			this.headers.cookie = cookieValues.join("; ");
		}
		this.socket = new MockSocket(options.remoteAddress || "127.0.0.1");
		Object.defineProperty(this, "connection", {
			get() {
				FST_LIGHTMYREQUEST_DEP01();
				return this.socket;
			},
			configurable: true
		});
		let payload = options.payload || options.body || null;
		let payloadResume = payload && typeof payload.resume === "function";
		if (isFormDataLike(payload)) {
			const stream = formDataToStream(payload);
			payload = stream.stream;
			payloadResume = true;
			this.headers["content-type"] = stream.contentType;
		}
		if (payload && typeof payload !== "string" && !payloadResume && !Buffer.isBuffer(payload)) {
			payload = JSON.stringify(payload);
			if ("content-type" in this.headers === false) {
				this.headers["content-type"] = "application/json";
			}
		}
		if (payload && !payloadResume && !Object.prototype.hasOwnProperty.call(this.headers, "content-length")) {
			this.headers["content-length"] = (Buffer.isBuffer(payload) ? payload.length : Buffer.byteLength(payload)).toString();
		}
		for (const header of Object.keys(this.headers)) {
			this.rawHeaders.push(header, this.headers[header]);
		}
		this._lightMyRequest = {
			payload,
			isDone: false,
			simulate: options.simulate || {}
		};
		const signal = options.signal;
		/* istanbul ignore if  */
		if (signal) {
			addAbortSignal(signal, this);
		}
		return this;
	}
	util$8.inherits(Request, Readable$6);
	util$8.inherits(CustomRequest, Request);
	Request.prototype.prepare = function(next) {
		const payload = this._lightMyRequest.payload;
		if (!payload || typeof payload.resume !== "function") {
			return next();
		}
		const chunks = [];
		payload.on("data", (chunk) => chunks.push(Buffer.from(chunk)));
		payload.on("end", () => {
			const payload = Buffer.concat(chunks);
			this.headers["content-length"] = this.headers["content-length"] || "" + payload.length;
			this._lightMyRequest.payload = payload;
			return next();
		});
		payload.resume();
	};
	Request.prototype._read = function(size) {
		setImmediate(() => {
			if (this._lightMyRequest.isDone) {
				if (this._lightMyRequest.simulate.end !== false) {
					this.push(null);
				}
				return;
			}
			this._lightMyRequest.isDone = true;
			if (this._lightMyRequest.payload) {
				if (this._lightMyRequest.simulate.split) {
					this.push(this._lightMyRequest.payload.slice(0, 1));
					this.push(this._lightMyRequest.payload.slice(1));
				} else {
					this.push(this._lightMyRequest.payload);
				}
			}
			if (this._lightMyRequest.simulate.error) {
				this.emit("error", new Error("Simulated"));
			}
			if (this._lightMyRequest.simulate.close) {
				this.emit("close");
			}
			if (this._lightMyRequest.simulate.end !== false) {
				this.push(null);
			}
		});
	};
	Request.prototype.destroy = function(error) {
		if (this.destroyed || this._lightMyRequest.isDone) return;
		this.destroyed = true;
		if (error) {
			this._error = true;
			process.nextTick(() => this.emit("error", error));
		}
		process.nextTick(() => this.emit("close"));
	};
	module.exports = Request;
	module.exports.Request = Request;
	module.exports.CustomRequest = CustomRequest;
}));

//#endregion
//#region ../node_modules/set-cookie-parser/lib/set-cookie.js
var require_set_cookie = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var defaultParseOptions = {
		decodeValues: true,
		map: false,
		silent: false
	};
	function isNonEmptyString(str) {
		return typeof str === "string" && !!str.trim();
	}
	function parseString(setCookieValue, options) {
		var parts = setCookieValue.split(";").filter(isNonEmptyString);
		var nameValuePairStr = parts.shift();
		var parsed = parseNameValuePair(nameValuePairStr);
		var name = parsed.name;
		var value = parsed.value;
		options = options ? Object.assign({}, defaultParseOptions, options) : defaultParseOptions;
		try {
			value = options.decodeValues ? decodeURIComponent(value) : value;
		} catch (e) {
			console.error("set-cookie-parser encountered an error while decoding a cookie with value '" + value + "'. Set options.decodeValues to false to disable this feature.", e);
		}
		var cookie = {
			name,
			value
		};
		parts.forEach(function(part) {
			var sides = part.split("=");
			var key = sides.shift().trimLeft().toLowerCase();
			var value = sides.join("=");
			if (key === "expires") {
				cookie.expires = new Date(value);
			} else if (key === "max-age") {
				cookie.maxAge = parseInt(value, 10);
			} else if (key === "secure") {
				cookie.secure = true;
			} else if (key === "httponly") {
				cookie.httpOnly = true;
			} else if (key === "samesite") {
				cookie.sameSite = value;
			} else if (key === "partitioned") {
				cookie.partitioned = true;
			} else {
				cookie[key] = value;
			}
		});
		return cookie;
	}
	function parseNameValuePair(nameValuePairStr) {
		var name = "";
		var value = "";
		var nameValueArr = nameValuePairStr.split("=");
		if (nameValueArr.length > 1) {
			name = nameValueArr.shift();
			value = nameValueArr.join("=");
		} else {
			value = nameValuePairStr;
		}
		return {
			name,
			value
		};
	}
	function parse(input, options) {
		options = options ? Object.assign({}, defaultParseOptions, options) : defaultParseOptions;
		if (!input) {
			if (!options.map) {
				return [];
			} else {
				return {};
			}
		}
		if (input.headers) {
			if (typeof input.headers.getSetCookie === "function") {
				input = input.headers.getSetCookie();
			} else if (input.headers["set-cookie"]) {
				input = input.headers["set-cookie"];
			} else {
				var sch = input.headers[Object.keys(input.headers).find(function(key) {
					return key.toLowerCase() === "set-cookie";
				})];
				if (!sch && input.headers.cookie && !options.silent) {
					console.warn("Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning.");
				}
				input = sch;
			}
		}
		if (!Array.isArray(input)) {
			input = [input];
		}
		if (!options.map) {
			return input.filter(isNonEmptyString).map(function(str) {
				return parseString(str, options);
			});
		} else {
			var cookies = {};
			return input.filter(isNonEmptyString).reduce(function(cookies, str) {
				var cookie = parseString(str, options);
				cookies[cookie.name] = cookie;
				return cookies;
			}, cookies);
		}
	}
	function splitCookiesString(cookiesString) {
		if (Array.isArray(cookiesString)) {
			return cookiesString;
		}
		if (typeof cookiesString !== "string") {
			return [];
		}
		var cookiesStrings = [];
		var pos = 0;
		var start;
		var ch;
		var lastComma;
		var nextStart;
		var cookiesSeparatorFound;
		function skipWhitespace() {
			while (pos < cookiesString.length && /\s/.test(cookiesString.charAt(pos))) {
				pos += 1;
			}
			return pos < cookiesString.length;
		}
		function notSpecialChar() {
			ch = cookiesString.charAt(pos);
			return ch !== "=" && ch !== ";" && ch !== ",";
		}
		while (pos < cookiesString.length) {
			start = pos;
			cookiesSeparatorFound = false;
			while (skipWhitespace()) {
				ch = cookiesString.charAt(pos);
				if (ch === ",") {
					lastComma = pos;
					pos += 1;
					skipWhitespace();
					nextStart = pos;
					while (pos < cookiesString.length && notSpecialChar()) {
						pos += 1;
					}
					if (pos < cookiesString.length && cookiesString.charAt(pos) === "=") {
						cookiesSeparatorFound = true;
						pos = nextStart;
						cookiesStrings.push(cookiesString.substring(start, lastComma));
						start = pos;
					} else {
						pos = lastComma + 1;
					}
				} else {
					pos += 1;
				}
			}
			if (!cookiesSeparatorFound || pos >= cookiesString.length) {
				cookiesStrings.push(cookiesString.substring(start, cookiesString.length));
			}
		}
		return cookiesStrings;
	}
	module.exports = parse;
	module.exports.parse = parse;
	module.exports.parseString = parseString;
	module.exports.splitCookiesString = splitCookiesString;
}));

//#endregion
//#region ../node_modules/light-my-request/lib/response.js
var require_response$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const http$5 = __require("node:http");
	const { Writable: Writable$5, Readable: Readable$5 } = __require("node:stream");
	const util$7 = __require("node:util");
	const setCookie = require_set_cookie();
	function Response(req, onEnd, reject) {
		http$5.ServerResponse.call(this, req);
		this._lightMyRequest = {
			headers: null,
			trailers: {},
			payloadChunks: []
		};
		this.setHeader("foo", "bar");
		this.removeHeader("foo");
		this.assignSocket(getNullSocket());
		this._promiseCallback = typeof reject === "function";
		let called = false;
		const onEndSuccess = (payload) => {
			called = true;
			if (this._promiseCallback) {
				return process.nextTick(() => onEnd(payload));
			}
			process.nextTick(() => onEnd(null, payload));
		};
		const onEndFailure = (err) => {
			if (called) return;
			called = true;
			if (this._promiseCallback) {
				return process.nextTick(() => reject(err));
			}
			process.nextTick(() => onEnd(err, null));
		};
		this.once("finish", () => {
			const res = generatePayload(this);
			res.raw.req = req;
			onEndSuccess(res);
		});
		this.connection.once("error", onEndFailure);
		this.once("error", onEndFailure);
		this.once("close", onEndFailure);
	}
	util$7.inherits(Response, http$5.ServerResponse);
	Response.prototype.setTimeout = function(msecs, callback) {
		this.timeoutHandle = setTimeout(() => {
			this.emit("timeout");
		}, msecs);
		this.on("timeout", callback);
		return this;
	};
	Response.prototype.writeHead = function() {
		const result = http$5.ServerResponse.prototype.writeHead.apply(this, arguments);
		copyHeaders(this);
		return result;
	};
	Response.prototype.write = function(data, encoding, callback) {
		if (this.timeoutHandle) {
			clearTimeout(this.timeoutHandle);
		}
		http$5.ServerResponse.prototype.write.call(this, data, encoding, callback);
		this._lightMyRequest.payloadChunks.push(Buffer.from(data, encoding));
		return true;
	};
	Response.prototype.end = function(data, encoding, callback) {
		if (data) {
			this.write(data, encoding);
		}
		http$5.ServerResponse.prototype.end.call(this, callback);
		this.emit("finish");
		this.destroy();
	};
	Response.prototype.destroy = function(error) {
		if (this.destroyed) return;
		this.destroyed = true;
		if (error) {
			process.nextTick(() => this.emit("error", error));
		}
		process.nextTick(() => this.emit("close"));
	};
	Response.prototype.addTrailers = function(trailers) {
		for (const key in trailers) {
			this._lightMyRequest.trailers[key.toLowerCase().trim()] = trailers[key].toString().trim();
		}
	};
	function generatePayload(response) {
		/* istanbul ignore if */
		if (response._lightMyRequest.headers === null) {
			copyHeaders(response);
		}
		serializeHeaders(response);
		const res = {
			raw: { res: response },
			headers: response._lightMyRequest.headers,
			statusCode: response.statusCode,
			statusMessage: response.statusMessage,
			trailers: {},
			get cookies() {
				return setCookie.parse(this);
			}
		};
		const rawBuffer = Buffer.concat(response._lightMyRequest.payloadChunks);
		res.rawPayload = rawBuffer;
		res.payload = rawBuffer.toString();
		res.body = res.payload;
		res.trailers = response._lightMyRequest.trailers;
		res.json = function parseJsonPayload() {
			return JSON.parse(res.payload);
		};
		res.stream = function streamPayload() {
			return Readable$5.from(response._lightMyRequest.payloadChunks);
		};
		return res;
	}
	function getNullSocket() {
		return new Writable$5({ write(chunk, encoding, callback) {
			setImmediate(callback);
		} });
	}
	function serializeHeaders(response) {
		const headers = response._lightMyRequest.headers;
		for (const headerName of Object.keys(headers)) {
			const headerValue = headers[headerName];
			if (Array.isArray(headerValue)) {
				headers[headerName] = headerValue.map((value) => "" + value);
			} else {
				headers[headerName] = "" + headerValue;
			}
		}
	}
	function copyHeaders(response) {
		response._lightMyRequest.headers = Object.assign({}, response.getHeaders());
		[
			"Date",
			"Connection",
			"Transfer-Encoding"
		].forEach((name) => {
			const regex = new RegExp("\\r\\n" + name + ": ([^\\r]*)\\r\\n");
			const field = response._header.match(regex);
			if (field) {
				response._lightMyRequest.headers[name.toLowerCase()] = field[1];
			}
		});
	}
	module.exports = Response;
}));

//#endregion
//#region ../node_modules/light-my-request/lib/config-validator.js
/* istanbul ignore file */
var require_config_validator = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = validate10;
	module.exports.default = validate10;
	const schema11 = {
		"type": "object",
		"properties": {
			"url": { "oneOf": [{ "type": "string" }, {
				"type": "object",
				"properties": {
					"protocol": { "type": "string" },
					"hostname": { "type": "string" },
					"pathname": { "type": "string" }
				},
				"additionalProperties": true,
				"required": ["pathname"]
			}] },
			"path": { "oneOf": [{ "type": "string" }, {
				"type": "object",
				"properties": {
					"protocol": { "type": "string" },
					"hostname": { "type": "string" },
					"pathname": { "type": "string" }
				},
				"additionalProperties": true,
				"required": ["pathname"]
			}] },
			"cookies": {
				"type": "object",
				"additionalProperties": true
			},
			"headers": {
				"type": "object",
				"additionalProperties": true
			},
			"query": { "anyOf": [{
				"type": "object",
				"additionalProperties": true
			}, { "type": "string" }] },
			"simulate": {
				"type": "object",
				"properties": {
					"end": { "type": "boolean" },
					"split": { "type": "boolean" },
					"error": { "type": "boolean" },
					"close": { "type": "boolean" }
				}
			},
			"authority": { "type": "string" },
			"remoteAddress": { "type": "string" },
			"method": {
				"type": "string",
				"enum": [
					"ACL",
					"BIND",
					"CHECKOUT",
					"CONNECT",
					"COPY",
					"DELETE",
					"GET",
					"HEAD",
					"LINK",
					"LOCK",
					"M-SEARCH",
					"MERGE",
					"MKACTIVITY",
					"MKCALENDAR",
					"MKCOL",
					"MOVE",
					"NOTIFY",
					"OPTIONS",
					"PATCH",
					"POST",
					"PROPFIND",
					"PROPPATCH",
					"PURGE",
					"PUT",
					"REBIND",
					"REPORT",
					"SEARCH",
					"SOURCE",
					"SUBSCRIBE",
					"TRACE",
					"UNBIND",
					"UNLINK",
					"UNLOCK",
					"UNSUBSCRIBE",
					"acl",
					"bind",
					"checkout",
					"connect",
					"copy",
					"delete",
					"get",
					"head",
					"link",
					"lock",
					"m-search",
					"merge",
					"mkactivity",
					"mkcalendar",
					"mkcol",
					"move",
					"notify",
					"options",
					"patch",
					"post",
					"propfind",
					"proppatch",
					"purge",
					"put",
					"rebind",
					"report",
					"search",
					"source",
					"subscribe",
					"trace",
					"unbind",
					"unlink",
					"unlock",
					"unsubscribe"
				]
			},
			"validate": { "type": "boolean" }
		},
		"additionalProperties": true,
		"oneOf": [{ "required": ["url"] }, { "required": ["path"] }]
	};
	function validate10(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
		let vErrors = null;
		let errors = 0;
		const _errs1 = errors;
		let valid0 = false;
		let passing0 = null;
		const _errs2 = errors;
		if (data && typeof data == "object" && !Array.isArray(data)) {
			let missing0;
			if (data.url === undefined && (missing0 = "url")) {
				const err0 = {
					instancePath,
					schemaPath: "#/oneOf/0/required",
					keyword: "required",
					params: { missingProperty: missing0 },
					message: "must have required property '" + missing0 + "'"
				};
				if (vErrors === null) {
					vErrors = [err0];
				} else {
					vErrors.push(err0);
				}
				errors++;
			}
		}
		var _valid0 = _errs2 === errors;
		if (_valid0) {
			valid0 = true;
			passing0 = 0;
		}
		const _errs3 = errors;
		if (data && typeof data == "object" && !Array.isArray(data)) {
			let missing1;
			if (data.path === undefined && (missing1 = "path")) {
				const err1 = {
					instancePath,
					schemaPath: "#/oneOf/1/required",
					keyword: "required",
					params: { missingProperty: missing1 },
					message: "must have required property '" + missing1 + "'"
				};
				if (vErrors === null) {
					vErrors = [err1];
				} else {
					vErrors.push(err1);
				}
				errors++;
			}
		}
		var _valid0 = _errs3 === errors;
		if (_valid0 && valid0) {
			valid0 = false;
			passing0 = [passing0, 1];
		} else {
			if (_valid0) {
				valid0 = true;
				passing0 = 1;
			}
		}
		if (!valid0) {
			const err2 = {
				instancePath,
				schemaPath: "#/oneOf",
				keyword: "oneOf",
				params: { passingSchemas: passing0 },
				message: "must match exactly one schema in oneOf"
			};
			if (vErrors === null) {
				vErrors = [err2];
			} else {
				vErrors.push(err2);
			}
			errors++;
			validate10.errors = vErrors;
			return false;
		} else {
			errors = _errs1;
			if (vErrors !== null) {
				if (_errs1) {
					vErrors.length = _errs1;
				} else {
					vErrors = null;
				}
			}
		}
		if (errors === 0) {
			if (data && typeof data == "object" && !Array.isArray(data)) {
				if (data.url !== undefined) {
					let data0 = data.url;
					const _errs5 = errors;
					const _errs6 = errors;
					let valid2 = false;
					let passing1 = null;
					const _errs7 = errors;
					if (typeof data0 !== "string") {
						let dataType0 = typeof data0;
						let coerced0 = undefined;
						if (!(coerced0 !== undefined)) {
							if (dataType0 == "number" || dataType0 == "boolean") {
								coerced0 = "" + data0;
							} else if (data0 === null) {
								coerced0 = "";
							} else {
								const err3 = {
									instancePath: instancePath + "/url",
									schemaPath: "#/properties/url/oneOf/0/type",
									keyword: "type",
									params: { type: "string" },
									message: "must be string"
								};
								if (vErrors === null) {
									vErrors = [err3];
								} else {
									vErrors.push(err3);
								}
								errors++;
							}
						}
						if (coerced0 !== undefined) {
							data0 = coerced0;
							if (data !== undefined) {
								data["url"] = coerced0;
							}
						}
					}
					var _valid1 = _errs7 === errors;
					if (_valid1) {
						valid2 = true;
						passing1 = 0;
					}
					const _errs9 = errors;
					if (errors === _errs9) {
						if (data0 && typeof data0 == "object" && !Array.isArray(data0)) {
							let missing2;
							if (data0.pathname === undefined && (missing2 = "pathname")) {
								const err4 = {
									instancePath: instancePath + "/url",
									schemaPath: "#/properties/url/oneOf/1/required",
									keyword: "required",
									params: { missingProperty: missing2 },
									message: "must have required property '" + missing2 + "'"
								};
								if (vErrors === null) {
									vErrors = [err4];
								} else {
									vErrors.push(err4);
								}
								errors++;
							} else {
								if (data0.protocol !== undefined) {
									let data1 = data0.protocol;
									const _errs12 = errors;
									if (typeof data1 !== "string") {
										let dataType1 = typeof data1;
										let coerced1 = undefined;
										if (!(coerced1 !== undefined)) {
											if (dataType1 == "number" || dataType1 == "boolean") {
												coerced1 = "" + data1;
											} else if (data1 === null) {
												coerced1 = "";
											} else {
												const err5 = {
													instancePath: instancePath + "/url/protocol",
													schemaPath: "#/properties/url/oneOf/1/properties/protocol/type",
													keyword: "type",
													params: { type: "string" },
													message: "must be string"
												};
												if (vErrors === null) {
													vErrors = [err5];
												} else {
													vErrors.push(err5);
												}
												errors++;
											}
										}
										if (coerced1 !== undefined) {
											data1 = coerced1;
											if (data0 !== undefined) {
												data0["protocol"] = coerced1;
											}
										}
									}
									var valid3 = _errs12 === errors;
								} else {
									var valid3 = true;
								}
								if (valid3) {
									if (data0.hostname !== undefined) {
										let data2 = data0.hostname;
										const _errs14 = errors;
										if (typeof data2 !== "string") {
											let dataType2 = typeof data2;
											let coerced2 = undefined;
											if (!(coerced2 !== undefined)) {
												if (dataType2 == "number" || dataType2 == "boolean") {
													coerced2 = "" + data2;
												} else if (data2 === null) {
													coerced2 = "";
												} else {
													const err6 = {
														instancePath: instancePath + "/url/hostname",
														schemaPath: "#/properties/url/oneOf/1/properties/hostname/type",
														keyword: "type",
														params: { type: "string" },
														message: "must be string"
													};
													if (vErrors === null) {
														vErrors = [err6];
													} else {
														vErrors.push(err6);
													}
													errors++;
												}
											}
											if (coerced2 !== undefined) {
												data2 = coerced2;
												if (data0 !== undefined) {
													data0["hostname"] = coerced2;
												}
											}
										}
										var valid3 = _errs14 === errors;
									} else {
										var valid3 = true;
									}
									if (valid3) {
										if (data0.pathname !== undefined) {
											let data3 = data0.pathname;
											const _errs16 = errors;
											if (typeof data3 !== "string") {
												let dataType3 = typeof data3;
												let coerced3 = undefined;
												if (!(coerced3 !== undefined)) {
													if (dataType3 == "number" || dataType3 == "boolean") {
														coerced3 = "" + data3;
													} else if (data3 === null) {
														coerced3 = "";
													} else {
														const err7 = {
															instancePath: instancePath + "/url/pathname",
															schemaPath: "#/properties/url/oneOf/1/properties/pathname/type",
															keyword: "type",
															params: { type: "string" },
															message: "must be string"
														};
														if (vErrors === null) {
															vErrors = [err7];
														} else {
															vErrors.push(err7);
														}
														errors++;
													}
												}
												if (coerced3 !== undefined) {
													data3 = coerced3;
													if (data0 !== undefined) {
														data0["pathname"] = coerced3;
													}
												}
											}
											var valid3 = _errs16 === errors;
										} else {
											var valid3 = true;
										}
									}
								}
							}
						} else {
							const err8 = {
								instancePath: instancePath + "/url",
								schemaPath: "#/properties/url/oneOf/1/type",
								keyword: "type",
								params: { type: "object" },
								message: "must be object"
							};
							if (vErrors === null) {
								vErrors = [err8];
							} else {
								vErrors.push(err8);
							}
							errors++;
						}
					}
					var _valid1 = _errs9 === errors;
					if (_valid1 && valid2) {
						valid2 = false;
						passing1 = [passing1, 1];
					} else {
						if (_valid1) {
							valid2 = true;
							passing1 = 1;
						}
					}
					if (!valid2) {
						const err9 = {
							instancePath: instancePath + "/url",
							schemaPath: "#/properties/url/oneOf",
							keyword: "oneOf",
							params: { passingSchemas: passing1 },
							message: "must match exactly one schema in oneOf"
						};
						if (vErrors === null) {
							vErrors = [err9];
						} else {
							vErrors.push(err9);
						}
						errors++;
						validate10.errors = vErrors;
						return false;
					} else {
						errors = _errs6;
						if (vErrors !== null) {
							if (_errs6) {
								vErrors.length = _errs6;
							} else {
								vErrors = null;
							}
						}
					}
					var valid1 = _errs5 === errors;
				} else {
					var valid1 = true;
				}
				if (valid1) {
					if (data.path !== undefined) {
						let data4 = data.path;
						const _errs18 = errors;
						const _errs19 = errors;
						let valid4 = false;
						let passing2 = null;
						const _errs20 = errors;
						if (typeof data4 !== "string") {
							let dataType4 = typeof data4;
							let coerced4 = undefined;
							if (!(coerced4 !== undefined)) {
								if (dataType4 == "number" || dataType4 == "boolean") {
									coerced4 = "" + data4;
								} else if (data4 === null) {
									coerced4 = "";
								} else {
									const err10 = {
										instancePath: instancePath + "/path",
										schemaPath: "#/properties/path/oneOf/0/type",
										keyword: "type",
										params: { type: "string" },
										message: "must be string"
									};
									if (vErrors === null) {
										vErrors = [err10];
									} else {
										vErrors.push(err10);
									}
									errors++;
								}
							}
							if (coerced4 !== undefined) {
								data4 = coerced4;
								if (data !== undefined) {
									data["path"] = coerced4;
								}
							}
						}
						var _valid2 = _errs20 === errors;
						if (_valid2) {
							valid4 = true;
							passing2 = 0;
						}
						const _errs22 = errors;
						if (errors === _errs22) {
							if (data4 && typeof data4 == "object" && !Array.isArray(data4)) {
								let missing3;
								if (data4.pathname === undefined && (missing3 = "pathname")) {
									const err11 = {
										instancePath: instancePath + "/path",
										schemaPath: "#/properties/path/oneOf/1/required",
										keyword: "required",
										params: { missingProperty: missing3 },
										message: "must have required property '" + missing3 + "'"
									};
									if (vErrors === null) {
										vErrors = [err11];
									} else {
										vErrors.push(err11);
									}
									errors++;
								} else {
									if (data4.protocol !== undefined) {
										let data5 = data4.protocol;
										const _errs25 = errors;
										if (typeof data5 !== "string") {
											let dataType5 = typeof data5;
											let coerced5 = undefined;
											if (!(coerced5 !== undefined)) {
												if (dataType5 == "number" || dataType5 == "boolean") {
													coerced5 = "" + data5;
												} else if (data5 === null) {
													coerced5 = "";
												} else {
													const err12 = {
														instancePath: instancePath + "/path/protocol",
														schemaPath: "#/properties/path/oneOf/1/properties/protocol/type",
														keyword: "type",
														params: { type: "string" },
														message: "must be string"
													};
													if (vErrors === null) {
														vErrors = [err12];
													} else {
														vErrors.push(err12);
													}
													errors++;
												}
											}
											if (coerced5 !== undefined) {
												data5 = coerced5;
												if (data4 !== undefined) {
													data4["protocol"] = coerced5;
												}
											}
										}
										var valid5 = _errs25 === errors;
									} else {
										var valid5 = true;
									}
									if (valid5) {
										if (data4.hostname !== undefined) {
											let data6 = data4.hostname;
											const _errs27 = errors;
											if (typeof data6 !== "string") {
												let dataType6 = typeof data6;
												let coerced6 = undefined;
												if (!(coerced6 !== undefined)) {
													if (dataType6 == "number" || dataType6 == "boolean") {
														coerced6 = "" + data6;
													} else if (data6 === null) {
														coerced6 = "";
													} else {
														const err13 = {
															instancePath: instancePath + "/path/hostname",
															schemaPath: "#/properties/path/oneOf/1/properties/hostname/type",
															keyword: "type",
															params: { type: "string" },
															message: "must be string"
														};
														if (vErrors === null) {
															vErrors = [err13];
														} else {
															vErrors.push(err13);
														}
														errors++;
													}
												}
												if (coerced6 !== undefined) {
													data6 = coerced6;
													if (data4 !== undefined) {
														data4["hostname"] = coerced6;
													}
												}
											}
											var valid5 = _errs27 === errors;
										} else {
											var valid5 = true;
										}
										if (valid5) {
											if (data4.pathname !== undefined) {
												let data7 = data4.pathname;
												const _errs29 = errors;
												if (typeof data7 !== "string") {
													let dataType7 = typeof data7;
													let coerced7 = undefined;
													if (!(coerced7 !== undefined)) {
														if (dataType7 == "number" || dataType7 == "boolean") {
															coerced7 = "" + data7;
														} else if (data7 === null) {
															coerced7 = "";
														} else {
															const err14 = {
																instancePath: instancePath + "/path/pathname",
																schemaPath: "#/properties/path/oneOf/1/properties/pathname/type",
																keyword: "type",
																params: { type: "string" },
																message: "must be string"
															};
															if (vErrors === null) {
																vErrors = [err14];
															} else {
																vErrors.push(err14);
															}
															errors++;
														}
													}
													if (coerced7 !== undefined) {
														data7 = coerced7;
														if (data4 !== undefined) {
															data4["pathname"] = coerced7;
														}
													}
												}
												var valid5 = _errs29 === errors;
											} else {
												var valid5 = true;
											}
										}
									}
								}
							} else {
								const err15 = {
									instancePath: instancePath + "/path",
									schemaPath: "#/properties/path/oneOf/1/type",
									keyword: "type",
									params: { type: "object" },
									message: "must be object"
								};
								if (vErrors === null) {
									vErrors = [err15];
								} else {
									vErrors.push(err15);
								}
								errors++;
							}
						}
						var _valid2 = _errs22 === errors;
						if (_valid2 && valid4) {
							valid4 = false;
							passing2 = [passing2, 1];
						} else {
							if (_valid2) {
								valid4 = true;
								passing2 = 1;
							}
						}
						if (!valid4) {
							const err16 = {
								instancePath: instancePath + "/path",
								schemaPath: "#/properties/path/oneOf",
								keyword: "oneOf",
								params: { passingSchemas: passing2 },
								message: "must match exactly one schema in oneOf"
							};
							if (vErrors === null) {
								vErrors = [err16];
							} else {
								vErrors.push(err16);
							}
							errors++;
							validate10.errors = vErrors;
							return false;
						} else {
							errors = _errs19;
							if (vErrors !== null) {
								if (_errs19) {
									vErrors.length = _errs19;
								} else {
									vErrors = null;
								}
							}
						}
						var valid1 = _errs18 === errors;
					} else {
						var valid1 = true;
					}
					if (valid1) {
						if (data.cookies !== undefined) {
							let data8 = data.cookies;
							const _errs31 = errors;
							if (errors === _errs31) {
								if (!(data8 && typeof data8 == "object" && !Array.isArray(data8))) {
									validate10.errors = [{
										instancePath: instancePath + "/cookies",
										schemaPath: "#/properties/cookies/type",
										keyword: "type",
										params: { type: "object" },
										message: "must be object"
									}];
									return false;
								}
							}
							var valid1 = _errs31 === errors;
						} else {
							var valid1 = true;
						}
						if (valid1) {
							if (data.headers !== undefined) {
								let data9 = data.headers;
								const _errs34 = errors;
								if (errors === _errs34) {
									if (!(data9 && typeof data9 == "object" && !Array.isArray(data9))) {
										validate10.errors = [{
											instancePath: instancePath + "/headers",
											schemaPath: "#/properties/headers/type",
											keyword: "type",
											params: { type: "object" },
											message: "must be object"
										}];
										return false;
									}
								}
								var valid1 = _errs34 === errors;
							} else {
								var valid1 = true;
							}
							if (valid1) {
								if (data.query !== undefined) {
									let data10 = data.query;
									const _errs37 = errors;
									const _errs38 = errors;
									let valid6 = false;
									const _errs39 = errors;
									if (errors === _errs39) {
										if (!(data10 && typeof data10 == "object" && !Array.isArray(data10))) {
											const err17 = {
												instancePath: instancePath + "/query",
												schemaPath: "#/properties/query/anyOf/0/type",
												keyword: "type",
												params: { type: "object" },
												message: "must be object"
											};
											if (vErrors === null) {
												vErrors = [err17];
											} else {
												vErrors.push(err17);
											}
											errors++;
										}
									}
									var _valid3 = _errs39 === errors;
									valid6 = valid6 || _valid3;
									if (!valid6) {
										const _errs42 = errors;
										if (typeof data10 !== "string") {
											let dataType8 = typeof data10;
											let coerced8 = undefined;
											if (!(coerced8 !== undefined)) {
												if (dataType8 == "number" || dataType8 == "boolean") {
													coerced8 = "" + data10;
												} else if (data10 === null) {
													coerced8 = "";
												} else {
													const err18 = {
														instancePath: instancePath + "/query",
														schemaPath: "#/properties/query/anyOf/1/type",
														keyword: "type",
														params: { type: "string" },
														message: "must be string"
													};
													if (vErrors === null) {
														vErrors = [err18];
													} else {
														vErrors.push(err18);
													}
													errors++;
												}
											}
											if (coerced8 !== undefined) {
												data10 = coerced8;
												if (data !== undefined) {
													data["query"] = coerced8;
												}
											}
										}
										var _valid3 = _errs42 === errors;
										valid6 = valid6 || _valid3;
									}
									if (!valid6) {
										const err19 = {
											instancePath: instancePath + "/query",
											schemaPath: "#/properties/query/anyOf",
											keyword: "anyOf",
											params: {},
											message: "must match a schema in anyOf"
										};
										if (vErrors === null) {
											vErrors = [err19];
										} else {
											vErrors.push(err19);
										}
										errors++;
										validate10.errors = vErrors;
										return false;
									} else {
										errors = _errs38;
										if (vErrors !== null) {
											if (_errs38) {
												vErrors.length = _errs38;
											} else {
												vErrors = null;
											}
										}
									}
									var valid1 = _errs37 === errors;
								} else {
									var valid1 = true;
								}
								if (valid1) {
									if (data.simulate !== undefined) {
										let data11 = data.simulate;
										const _errs44 = errors;
										if (errors === _errs44) {
											if (data11 && typeof data11 == "object" && !Array.isArray(data11)) {
												if (data11.end !== undefined) {
													let data12 = data11.end;
													const _errs46 = errors;
													if (typeof data12 !== "boolean") {
														let coerced9 = undefined;
														if (!(coerced9 !== undefined)) {
															if (data12 === "false" || data12 === 0 || data12 === null) {
																coerced9 = false;
															} else if (data12 === "true" || data12 === 1) {
																coerced9 = true;
															} else {
																validate10.errors = [{
																	instancePath: instancePath + "/simulate/end",
																	schemaPath: "#/properties/simulate/properties/end/type",
																	keyword: "type",
																	params: { type: "boolean" },
																	message: "must be boolean"
																}];
																return false;
															}
														}
														if (coerced9 !== undefined) {
															data12 = coerced9;
															if (data11 !== undefined) {
																data11["end"] = coerced9;
															}
														}
													}
													var valid7 = _errs46 === errors;
												} else {
													var valid7 = true;
												}
												if (valid7) {
													if (data11.split !== undefined) {
														let data13 = data11.split;
														const _errs48 = errors;
														if (typeof data13 !== "boolean") {
															let coerced10 = undefined;
															if (!(coerced10 !== undefined)) {
																if (data13 === "false" || data13 === 0 || data13 === null) {
																	coerced10 = false;
																} else if (data13 === "true" || data13 === 1) {
																	coerced10 = true;
																} else {
																	validate10.errors = [{
																		instancePath: instancePath + "/simulate/split",
																		schemaPath: "#/properties/simulate/properties/split/type",
																		keyword: "type",
																		params: { type: "boolean" },
																		message: "must be boolean"
																	}];
																	return false;
																}
															}
															if (coerced10 !== undefined) {
																data13 = coerced10;
																if (data11 !== undefined) {
																	data11["split"] = coerced10;
																}
															}
														}
														var valid7 = _errs48 === errors;
													} else {
														var valid7 = true;
													}
													if (valid7) {
														if (data11.error !== undefined) {
															let data14 = data11.error;
															const _errs50 = errors;
															if (typeof data14 !== "boolean") {
																let coerced11 = undefined;
																if (!(coerced11 !== undefined)) {
																	if (data14 === "false" || data14 === 0 || data14 === null) {
																		coerced11 = false;
																	} else if (data14 === "true" || data14 === 1) {
																		coerced11 = true;
																	} else {
																		validate10.errors = [{
																			instancePath: instancePath + "/simulate/error",
																			schemaPath: "#/properties/simulate/properties/error/type",
																			keyword: "type",
																			params: { type: "boolean" },
																			message: "must be boolean"
																		}];
																		return false;
																	}
																}
																if (coerced11 !== undefined) {
																	data14 = coerced11;
																	if (data11 !== undefined) {
																		data11["error"] = coerced11;
																	}
																}
															}
															var valid7 = _errs50 === errors;
														} else {
															var valid7 = true;
														}
														if (valid7) {
															if (data11.close !== undefined) {
																let data15 = data11.close;
																const _errs52 = errors;
																if (typeof data15 !== "boolean") {
																	let coerced12 = undefined;
																	if (!(coerced12 !== undefined)) {
																		if (data15 === "false" || data15 === 0 || data15 === null) {
																			coerced12 = false;
																		} else if (data15 === "true" || data15 === 1) {
																			coerced12 = true;
																		} else {
																			validate10.errors = [{
																				instancePath: instancePath + "/simulate/close",
																				schemaPath: "#/properties/simulate/properties/close/type",
																				keyword: "type",
																				params: { type: "boolean" },
																				message: "must be boolean"
																			}];
																			return false;
																		}
																	}
																	if (coerced12 !== undefined) {
																		data15 = coerced12;
																		if (data11 !== undefined) {
																			data11["close"] = coerced12;
																		}
																	}
																}
																var valid7 = _errs52 === errors;
															} else {
																var valid7 = true;
															}
														}
													}
												}
											} else {
												validate10.errors = [{
													instancePath: instancePath + "/simulate",
													schemaPath: "#/properties/simulate/type",
													keyword: "type",
													params: { type: "object" },
													message: "must be object"
												}];
												return false;
											}
										}
										var valid1 = _errs44 === errors;
									} else {
										var valid1 = true;
									}
									if (valid1) {
										if (data.authority !== undefined) {
											let data16 = data.authority;
											const _errs54 = errors;
											if (typeof data16 !== "string") {
												let dataType13 = typeof data16;
												let coerced13 = undefined;
												if (!(coerced13 !== undefined)) {
													if (dataType13 == "number" || dataType13 == "boolean") {
														coerced13 = "" + data16;
													} else if (data16 === null) {
														coerced13 = "";
													} else {
														validate10.errors = [{
															instancePath: instancePath + "/authority",
															schemaPath: "#/properties/authority/type",
															keyword: "type",
															params: { type: "string" },
															message: "must be string"
														}];
														return false;
													}
												}
												if (coerced13 !== undefined) {
													data16 = coerced13;
													if (data !== undefined) {
														data["authority"] = coerced13;
													}
												}
											}
											var valid1 = _errs54 === errors;
										} else {
											var valid1 = true;
										}
										if (valid1) {
											if (data.remoteAddress !== undefined) {
												let data17 = data.remoteAddress;
												const _errs56 = errors;
												if (typeof data17 !== "string") {
													let dataType14 = typeof data17;
													let coerced14 = undefined;
													if (!(coerced14 !== undefined)) {
														if (dataType14 == "number" || dataType14 == "boolean") {
															coerced14 = "" + data17;
														} else if (data17 === null) {
															coerced14 = "";
														} else {
															validate10.errors = [{
																instancePath: instancePath + "/remoteAddress",
																schemaPath: "#/properties/remoteAddress/type",
																keyword: "type",
																params: { type: "string" },
																message: "must be string"
															}];
															return false;
														}
													}
													if (coerced14 !== undefined) {
														data17 = coerced14;
														if (data !== undefined) {
															data["remoteAddress"] = coerced14;
														}
													}
												}
												var valid1 = _errs56 === errors;
											} else {
												var valid1 = true;
											}
											if (valid1) {
												if (data.method !== undefined) {
													let data18 = data.method;
													const _errs58 = errors;
													if (typeof data18 !== "string") {
														let dataType15 = typeof data18;
														let coerced15 = undefined;
														if (!(coerced15 !== undefined)) {
															if (dataType15 == "number" || dataType15 == "boolean") {
																coerced15 = "" + data18;
															} else if (data18 === null) {
																coerced15 = "";
															} else {
																validate10.errors = [{
																	instancePath: instancePath + "/method",
																	schemaPath: "#/properties/method/type",
																	keyword: "type",
																	params: { type: "string" },
																	message: "must be string"
																}];
																return false;
															}
														}
														if (coerced15 !== undefined) {
															data18 = coerced15;
															if (data !== undefined) {
																data["method"] = coerced15;
															}
														}
													}
													if (!(data18 === "ACL" || data18 === "BIND" || data18 === "CHECKOUT" || data18 === "CONNECT" || data18 === "COPY" || data18 === "DELETE" || data18 === "GET" || data18 === "HEAD" || data18 === "LINK" || data18 === "LOCK" || data18 === "M-SEARCH" || data18 === "MERGE" || data18 === "MKACTIVITY" || data18 === "MKCALENDAR" || data18 === "MKCOL" || data18 === "MOVE" || data18 === "NOTIFY" || data18 === "OPTIONS" || data18 === "PATCH" || data18 === "POST" || data18 === "PROPFIND" || data18 === "PROPPATCH" || data18 === "PURGE" || data18 === "PUT" || data18 === "REBIND" || data18 === "REPORT" || data18 === "SEARCH" || data18 === "SOURCE" || data18 === "SUBSCRIBE" || data18 === "TRACE" || data18 === "UNBIND" || data18 === "UNLINK" || data18 === "UNLOCK" || data18 === "UNSUBSCRIBE" || data18 === "acl" || data18 === "bind" || data18 === "checkout" || data18 === "connect" || data18 === "copy" || data18 === "delete" || data18 === "get" || data18 === "head" || data18 === "link" || data18 === "lock" || data18 === "m-search" || data18 === "merge" || data18 === "mkactivity" || data18 === "mkcalendar" || data18 === "mkcol" || data18 === "move" || data18 === "notify" || data18 === "options" || data18 === "patch" || data18 === "post" || data18 === "propfind" || data18 === "proppatch" || data18 === "purge" || data18 === "put" || data18 === "rebind" || data18 === "report" || data18 === "search" || data18 === "source" || data18 === "subscribe" || data18 === "trace" || data18 === "unbind" || data18 === "unlink" || data18 === "unlock" || data18 === "unsubscribe")) {
														validate10.errors = [{
															instancePath: instancePath + "/method",
															schemaPath: "#/properties/method/enum",
															keyword: "enum",
															params: { allowedValues: schema11.properties.method.enum },
															message: "must be equal to one of the allowed values"
														}];
														return false;
													}
													var valid1 = _errs58 === errors;
												} else {
													var valid1 = true;
												}
												if (valid1) {
													if (data.validate !== undefined) {
														let data19 = data.validate;
														const _errs60 = errors;
														if (typeof data19 !== "boolean") {
															let coerced16 = undefined;
															if (!(coerced16 !== undefined)) {
																if (data19 === "false" || data19 === 0 || data19 === null) {
																	coerced16 = false;
																} else if (data19 === "true" || data19 === 1) {
																	coerced16 = true;
																} else {
																	validate10.errors = [{
																		instancePath: instancePath + "/validate",
																		schemaPath: "#/properties/validate/type",
																		keyword: "type",
																		params: { type: "boolean" },
																		message: "must be boolean"
																	}];
																	return false;
																}
															}
															if (coerced16 !== undefined) {
																data19 = coerced16;
																if (data !== undefined) {
																	data["validate"] = coerced16;
																}
															}
														}
														var valid1 = _errs60 === errors;
													} else {
														var valid1 = true;
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			} else {
				validate10.errors = [{
					instancePath,
					schemaPath: "#/type",
					keyword: "type",
					params: { type: "object" },
					message: "must be object"
				}];
				return false;
			}
		}
		validate10.errors = vErrors;
		return errors === 0;
	}
}));

//#endregion
//#region ../node_modules/light-my-request/index.js
var require_light_my_request = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const assert$35 = __require("node:assert");
	const Request = require_request$3();
	const Response = require_response$2();
	const errorMessage = "The dispatch function has already been invoked";
	const optsValidator = require_config_validator();
	function inject(dispatchFunc, options, callback) {
		if (callback === undefined) {
			return new Chain(dispatchFunc, options);
		} else {
			return doInject(dispatchFunc, options, callback);
		}
	}
	function makeRequest(dispatchFunc, server, req, res) {
		req.once("error", function(err) {
			if (this.destroyed) res.destroy(err);
		});
		req.once("close", function() {
			if (this.destroyed && !this._error) res.destroy();
		});
		return req.prepare(() => dispatchFunc.call(server, req, res));
	}
	function doInject(dispatchFunc, options, callback) {
		options = typeof options === "string" ? { url: options } : options;
		if (options.validate !== false) {
			assert$35(typeof dispatchFunc === "function", "dispatchFunc should be a function");
			const isOptionValid = optsValidator(options);
			if (!isOptionValid) {
				throw new Error(optsValidator.errors.map((e) => e.message));
			}
		}
		const server = options.server || {};
		const RequestConstructor = options.Request ? Request.CustomRequest : Request;
		if (dispatchFunc.request && dispatchFunc.request.app === dispatchFunc) {
			Object.setPrototypeOf(Object.getPrototypeOf(dispatchFunc.request), RequestConstructor.prototype);
			Object.setPrototypeOf(Object.getPrototypeOf(dispatchFunc.response), Response.prototype);
		}
		if (typeof callback === "function") {
			const req = new RequestConstructor(options);
			const res = new Response(req, callback);
			return makeRequest(dispatchFunc, server, req, res);
		} else {
			return new Promise((resolve, reject) => {
				const req = new RequestConstructor(options);
				const res = new Response(req, resolve, reject);
				makeRequest(dispatchFunc, server, req, res);
			});
		}
	}
	function Chain(dispatch, option) {
		if (typeof option === "string") {
			this.option = { url: option };
		} else {
			this.option = Object.assign({}, option);
		}
		this.dispatch = dispatch;
		this._hasInvoked = false;
		this._promise = null;
		if (this.option.autoStart !== false) {
			process.nextTick(() => {
				if (!this._hasInvoked) {
					this.end();
				}
			});
		}
	}
	const httpMethods = [
		"delete",
		"get",
		"head",
		"options",
		"patch",
		"post",
		"put",
		"trace"
	];
	httpMethods.forEach((method) => {
		Chain.prototype[method] = function(url) {
			if (this._hasInvoked === true || this._promise) {
				throw new Error(errorMessage);
			}
			this.option.url = url;
			this.option.method = method.toUpperCase();
			return this;
		};
	});
	const chainMethods = [
		"body",
		"cookies",
		"headers",
		"payload",
		"query"
	];
	chainMethods.forEach((method) => {
		Chain.prototype[method] = function(value) {
			if (this._hasInvoked === true || this._promise) {
				throw new Error(errorMessage);
			}
			this.option[method] = value;
			return this;
		};
	});
	Chain.prototype.end = function(callback) {
		if (this._hasInvoked === true || this._promise) {
			throw new Error(errorMessage);
		}
		this._hasInvoked = true;
		if (typeof callback === "function") {
			doInject(this.dispatch, this.option, callback);
		} else {
			this._promise = doInject(this.dispatch, this.option);
			return this._promise;
		}
	};
	Object.getOwnPropertyNames(Promise.prototype).forEach((method) => {
		if (method === "constructor") return;
		Chain.prototype[method] = function(...args) {
			if (!this._promise) {
				if (this._hasInvoked === true) {
					throw new Error(errorMessage);
				}
				this._hasInvoked = true;
				this._promise = doInject(this.dispatch, this.option);
			}
			return this._promise[method](...args);
		};
	});
	function isInjection(obj) {
		return obj instanceof Request || obj instanceof Response || obj && obj.constructor && obj.constructor.name === "_CustomLMRRequest";
	}
	module.exports = inject;
	module.exports.default = inject;
	module.exports.inject = inject;
	module.exports.isInjection = isInjection;
}));

//#endregion
//#region ../node_modules/fastify/fastify.js
var require_fastify = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const VERSION = "4.29.1";
	const Avvio = require_boot();
	const http$4 = __require("node:http");
	let lightMyRequest;
	const { kAvvioBoot, kChildren, kServerBindings, kBodyLimit, kRoutePrefix, kLogLevel, kLogSerializers, kHooks, kSchemaController, kRequestAcceptVersion, kReplySerializerDefault, kContentTypeParser, kReply, kRequest, kFourOhFour, kState, kOptions, kPluginNameChain, kSchemaErrorFormatter, kErrorHandler, kKeepAliveConnections, kChildLoggerFactory, kGenReqId } = require_symbols$1();
	const { createServer, compileValidateHTTPVersion } = require_server();
	const Reply = require_reply();
	const Request = require_request$4();
	const Context = require_context();
	const { supportedMethods } = require_httpMethods();
	const decorator = require_decorate();
	const ContentTypeParser = require_contentTypeParser();
	const SchemaController = require_schema_controller();
	const { Hooks, hookRunnerApplication, supportedHooks } = require_hooks();
	const { createLogger, createChildLogger, defaultChildLoggerFactory } = require_logger();
	const pluginUtils = require_pluginUtils();
	const { getGenReqId, reqIdGenFactory } = require_reqIdGenFactory();
	const { buildRouting, validateBodyLimitOption } = require_route();
	const build404 = require_fourOhFour();
	const getSecuredInitialConfig = require_initialConfigValidation();
	const override = require_pluginOverride();
	const { FSTDEP009 } = require_warnings();
	const noopSet = require_noop_set();
	const { appendStackTrace, AVVIO_ERRORS_MAP, ...errorCodes } = require_errors$3();
	const { defaultInitOptions } = getSecuredInitialConfig;
	const { FST_ERR_ASYNC_CONSTRAINT, FST_ERR_BAD_URL, FST_ERR_FORCE_CLOSE_CONNECTIONS_IDLE_NOT_AVAILABLE, FST_ERR_OPTIONS_NOT_OBJ, FST_ERR_QSP_NOT_FN, FST_ERR_SCHEMA_CONTROLLER_BUCKET_OPT_NOT_FN, FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_OBJ, FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_ARR, FST_ERR_VERSION_CONSTRAINT_NOT_STR, FST_ERR_INSTANCE_ALREADY_LISTENING, FST_ERR_REOPENED_CLOSE_SERVER, FST_ERR_ROUTE_REWRITE_NOT_STR, FST_ERR_SCHEMA_ERROR_FORMATTER_NOT_FN, FST_ERR_ERROR_HANDLER_NOT_FN } = errorCodes;
	const { buildErrorHandler } = require_error_handler();
	function defaultBuildPrettyMeta(route) {
		const cleanKeys = {};
		const allowedProps = [
			"errorHandler",
			"logLevel",
			"logSerializers"
		];
		allowedProps.concat(supportedHooks).forEach((k) => {
			cleanKeys[k] = route.store[k];
		});
		return Object.assign({}, cleanKeys);
	}
	/**
	* @param {import('./fastify.js').FastifyServerOptions} options
	*/
	function fastify$1(options) {
		options = options || {};
		if (typeof options !== "object") {
			throw new FST_ERR_OPTIONS_NOT_OBJ();
		}
		if (options.querystringParser && typeof options.querystringParser !== "function") {
			throw new FST_ERR_QSP_NOT_FN(typeof options.querystringParser);
		}
		if (options.schemaController && options.schemaController.bucket && typeof options.schemaController.bucket !== "function") {
			throw new FST_ERR_SCHEMA_CONTROLLER_BUCKET_OPT_NOT_FN(typeof options.schemaController.bucket);
		}
		validateBodyLimitOption(options.bodyLimit);
		const requestIdHeader = options.requestIdHeader === false ? false : (options.requestIdHeader || defaultInitOptions.requestIdHeader).toLowerCase();
		const genReqId = reqIdGenFactory(requestIdHeader, options.genReqId);
		const requestIdLogLabel = options.requestIdLogLabel || "reqId";
		const bodyLimit = options.bodyLimit || defaultInitOptions.bodyLimit;
		const disableRequestLogging = options.disableRequestLogging || false;
		const ajvOptions = Object.assign({
			customOptions: {},
			plugins: []
		}, options.ajv);
		const frameworkErrors = options.frameworkErrors;
		if (!ajvOptions.customOptions || Object.prototype.toString.call(ajvOptions.customOptions) !== "[object Object]") {
			throw new FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_OBJ(typeof ajvOptions.customOptions);
		}
		if (!ajvOptions.plugins || !Array.isArray(ajvOptions.plugins)) {
			throw new FST_ERR_AJV_CUSTOM_OPTIONS_OPT_NOT_ARR(typeof ajvOptions.plugins);
		}
		const { logger, hasLogger } = createLogger(options);
		options.connectionTimeout = options.connectionTimeout || defaultInitOptions.connectionTimeout;
		options.keepAliveTimeout = options.keepAliveTimeout || defaultInitOptions.keepAliveTimeout;
		options.maxRequestsPerSocket = options.maxRequestsPerSocket || defaultInitOptions.maxRequestsPerSocket;
		options.requestTimeout = options.requestTimeout || defaultInitOptions.requestTimeout;
		options.logger = logger;
		options.requestIdHeader = requestIdHeader;
		options.requestIdLogLabel = requestIdLogLabel;
		options.disableRequestLogging = disableRequestLogging;
		options.ajv = ajvOptions;
		options.clientErrorHandler = options.clientErrorHandler || defaultClientErrorHandler;
		const initialConfig = getSecuredInitialConfig(options);
		options.exposeHeadRoutes = initialConfig.exposeHeadRoutes;
		let constraints = options.constraints;
		if (options.versioning) {
			FSTDEP009();
			constraints = {
				...constraints,
				version: {
					name: "version",
					mustMatchWhenDerived: true,
					storage: options.versioning.storage,
					deriveConstraint: options.versioning.deriveVersion,
					validate(value) {
						if (typeof value !== "string") {
							throw new FST_ERR_VERSION_CONSTRAINT_NOT_STR();
						}
					}
				}
			};
		}
		const router = buildRouting({ config: {
			defaultRoute,
			onBadUrl,
			constraints,
			ignoreTrailingSlash: options.ignoreTrailingSlash || defaultInitOptions.ignoreTrailingSlash,
			ignoreDuplicateSlashes: options.ignoreDuplicateSlashes || defaultInitOptions.ignoreDuplicateSlashes,
			maxParamLength: options.maxParamLength || defaultInitOptions.maxParamLength,
			caseSensitive: options.caseSensitive,
			allowUnsafeRegex: options.allowUnsafeRegex || defaultInitOptions.allowUnsafeRegex,
			buildPrettyMeta: defaultBuildPrettyMeta,
			querystringParser: options.querystringParser,
			useSemicolonDelimiter: options.useSemicolonDelimiter ?? defaultInitOptions.useSemicolonDelimiter
		} });
		const fourOhFour = build404(options);
		const httpHandler = wrapRouting(router, options);
		options.http2SessionTimeout = initialConfig.http2SessionTimeout;
		const { server, listen } = createServer(options, httpHandler);
		const serverHasCloseAllConnections = typeof server.closeAllConnections === "function";
		const serverHasCloseIdleConnections = typeof server.closeIdleConnections === "function";
		let forceCloseConnections = options.forceCloseConnections;
		if (forceCloseConnections === "idle" && !serverHasCloseIdleConnections) {
			throw new FST_ERR_FORCE_CLOSE_CONNECTIONS_IDLE_NOT_AVAILABLE();
		} else if (typeof forceCloseConnections !== "boolean") {
			/* istanbul ignore next: only one branch can be valid in a given Node.js version */
			forceCloseConnections = serverHasCloseIdleConnections ? "idle" : false;
		}
		const keepAliveConnections = !serverHasCloseAllConnections && forceCloseConnections === true ? new Set() : noopSet();
		const setupResponseListeners = Reply.setupResponseListeners;
		const schemaController = SchemaController.buildSchemaController(null, options.schemaController);
		const fastify = {
			[kState]: {
				listening: false,
				closing: false,
				started: false,
				ready: false,
				booting: false,
				readyPromise: null
			},
			[kKeepAliveConnections]: keepAliveConnections,
			[kOptions]: options,
			[kChildren]: [],
			[kServerBindings]: [],
			[kBodyLimit]: bodyLimit,
			[kRoutePrefix]: "",
			[kLogLevel]: "",
			[kLogSerializers]: null,
			[kHooks]: new Hooks(),
			[kSchemaController]: schemaController,
			[kSchemaErrorFormatter]: null,
			[kErrorHandler]: buildErrorHandler(),
			[kChildLoggerFactory]: defaultChildLoggerFactory,
			[kReplySerializerDefault]: null,
			[kContentTypeParser]: new ContentTypeParser(bodyLimit, options.onProtoPoisoning || defaultInitOptions.onProtoPoisoning, options.onConstructorPoisoning || defaultInitOptions.onConstructorPoisoning),
			[kReply]: Reply.buildReply(Reply),
			[kRequest]: Request.buildRequest(Request, options.trustProxy),
			[kFourOhFour]: fourOhFour,
			[pluginUtils.kRegisteredPlugins]: [],
			[kPluginNameChain]: ["fastify"],
			[kAvvioBoot]: null,
			[kGenReqId]: genReqId,
			routing: httpHandler,
			getDefaultRoute: router.getDefaultRoute.bind(router),
			setDefaultRoute: router.setDefaultRoute.bind(router),
			delete: function _delete(url, options, handler) {
				return router.prepareRoute.call(this, {
					method: "DELETE",
					url,
					options,
					handler
				});
			},
			get: function _get(url, options, handler) {
				return router.prepareRoute.call(this, {
					method: "GET",
					url,
					options,
					handler
				});
			},
			head: function _head(url, options, handler) {
				return router.prepareRoute.call(this, {
					method: "HEAD",
					url,
					options,
					handler
				});
			},
			patch: function _patch(url, options, handler) {
				return router.prepareRoute.call(this, {
					method: "PATCH",
					url,
					options,
					handler
				});
			},
			post: function _post(url, options, handler) {
				return router.prepareRoute.call(this, {
					method: "POST",
					url,
					options,
					handler
				});
			},
			put: function _put(url, options, handler) {
				return router.prepareRoute.call(this, {
					method: "PUT",
					url,
					options,
					handler
				});
			},
			options: function _options(url, options, handler) {
				return router.prepareRoute.call(this, {
					method: "OPTIONS",
					url,
					options,
					handler
				});
			},
			all: function _all(url, options, handler) {
				return router.prepareRoute.call(this, {
					method: supportedMethods,
					url,
					options,
					handler
				});
			},
			route: function _route(options) {
				return router.route.call(this, { options });
			},
			hasRoute: function _route(options) {
				return router.hasRoute.call(this, { options });
			},
			findRoute: function _findRoute(options) {
				return router.findRoute(options);
			},
			log: logger,
			withTypeProvider,
			addHook,
			addSchema,
			getSchema: schemaController.getSchema.bind(schemaController),
			getSchemas: schemaController.getSchemas.bind(schemaController),
			setValidatorCompiler,
			setSerializerCompiler,
			setSchemaController,
			setReplySerializer,
			setSchemaErrorFormatter,
			setGenReqId,
			addContentTypeParser: ContentTypeParser.helpers.addContentTypeParser,
			hasContentTypeParser: ContentTypeParser.helpers.hasContentTypeParser,
			getDefaultJsonParser: ContentTypeParser.defaultParsers.getDefaultJsonParser,
			defaultTextParser: ContentTypeParser.defaultParsers.defaultTextParser,
			removeContentTypeParser: ContentTypeParser.helpers.removeContentTypeParser,
			removeAllContentTypeParsers: ContentTypeParser.helpers.removeAllContentTypeParsers,
			register: null,
			after: null,
			ready: null,
			onClose: null,
			close: null,
			printPlugins: null,
			hasPlugin: function(name) {
				return this[pluginUtils.kRegisteredPlugins].includes(name) || this[kPluginNameChain].includes(name);
			},
			listen,
			server,
			addresses: function() {
				/* istanbul ignore next */
				const binded = this[kServerBindings].map((b) => b.address());
				binded.push(this.server.address());
				return binded.filter((adr) => adr);
			},
			decorate: decorator.add,
			hasDecorator: decorator.exist,
			decorateReply: decorator.decorateReply,
			decorateRequest: decorator.decorateRequest,
			hasRequestDecorator: decorator.existRequest,
			hasReplyDecorator: decorator.existReply,
			inject,
			printRoutes,
			setNotFoundHandler,
			setErrorHandler,
			setChildLoggerFactory,
			initialConfig,
			addConstraintStrategy: router.addConstraintStrategy.bind(router),
			hasConstraintStrategy: router.hasConstraintStrategy.bind(router)
		};
		Object.defineProperties(fastify, {
			listeningOrigin: { get() {
				const address = this.addresses().slice(-1).pop();
				/* c8 ignore next 3 */
				if (typeof address === "string") {
					return address;
				}
				const host = address.family === "IPv6" ? `[${address.address}]` : address.address;
				return `${this[kOptions].https ? "https" : "http"}://${host}:${address.port}`;
			} },
			pluginName: {
				configurable: true,
				get() {
					if (this[kPluginNameChain].length > 1) {
						return this[kPluginNameChain].join(" -> ");
					}
					return this[kPluginNameChain][0];
				}
			},
			prefix: {
				configurable: true,
				get() {
					return this[kRoutePrefix];
				}
			},
			validatorCompiler: {
				configurable: true,
				get() {
					return this[kSchemaController].getValidatorCompiler();
				}
			},
			serializerCompiler: {
				configurable: true,
				get() {
					return this[kSchemaController].getSerializerCompiler();
				}
			},
			childLoggerFactory: {
				configurable: true,
				get() {
					return this[kChildLoggerFactory];
				}
			},
			version: {
				configurable: true,
				get() {
					return VERSION;
				}
			},
			errorHandler: {
				configurable: true,
				get() {
					return this[kErrorHandler].func;
				}
			},
			genReqId: {
				configurable: true,
				get() {
					return this[kGenReqId];
				}
			}
		});
		if (options.schemaErrorFormatter) {
			validateSchemaErrorFormatter(options.schemaErrorFormatter);
			fastify[kSchemaErrorFormatter] = options.schemaErrorFormatter.bind(fastify);
		}
		const avvioPluginTimeout = Number(options.pluginTimeout);
		const avvio = Avvio(fastify, {
			autostart: false,
			timeout: isNaN(avvioPluginTimeout) === false ? avvioPluginTimeout : defaultInitOptions.pluginTimeout,
			expose: { use: "register" }
		});
		avvio.override = override;
		avvio.on("start", () => fastify[kState].started = true);
		fastify[kAvvioBoot] = fastify.ready;
		fastify.ready = ready;
		fastify.printPlugins = avvio.prettyPrint.bind(avvio);
		avvio.once("preReady", () => {
			fastify.onClose((instance, done) => {
				fastify[kState].closing = true;
				router.closeRoutes();
				hookRunnerApplication("preClose", fastify[kAvvioBoot], fastify, function() {
					if (fastify[kState].listening) {
						/* istanbul ignore next: Cannot test this without Node.js core support */
						if (forceCloseConnections === "idle") {
							instance.server.closeIdleConnections();
						} else if (serverHasCloseAllConnections && forceCloseConnections) {
							instance.server.closeAllConnections();
						} else if (forceCloseConnections === true) {
							for (const conn of fastify[kKeepAliveConnections]) {
								conn.destroy();
								fastify[kKeepAliveConnections].delete(conn);
							}
						}
					}
					if (!options.serverFactory || fastify[kState].listening) {
						instance.server.close(function(err) {
							/* c8 ignore next 6 */
							if (err && err.code !== "ERR_SERVER_NOT_RUNNING") {
								done(null);
							} else {
								done();
							}
						});
					} else {
						process.nextTick(done, null);
					}
				});
			});
		});
		const onBadUrlContext = new Context({
			server: fastify,
			config: {}
		});
		fastify.setNotFoundHandler();
		fourOhFour.arrange404(fastify);
		router.setup(options, {
			avvio,
			fourOhFour,
			logger,
			hasLogger,
			setupResponseListeners,
			throwIfAlreadyStarted,
			validateHTTPVersion: compileValidateHTTPVersion(options),
			keepAliveConnections
		});
		server.on("clientError", options.clientErrorHandler.bind(fastify));
		try {
			const dc = __require("node:diagnostics_channel");
			const initChannel = dc.channel("fastify.initialization");
			if (initChannel.hasSubscribers) {
				initChannel.publish({ fastify });
			}
		} catch (e) {}
		if ("asyncDispose" in Symbol) {
			fastify[Symbol.asyncDispose] = function dispose() {
				return fastify.close();
			};
		}
		return fastify;
		function throwIfAlreadyStarted(msg) {
			if (fastify[kState].started) throw new FST_ERR_INSTANCE_ALREADY_LISTENING(msg);
		}
		function inject(opts, cb) {
			if (lightMyRequest === undefined) {
				lightMyRequest = require_light_my_request();
			}
			if (fastify[kState].started) {
				if (fastify[kState].closing) {
					const error = new FST_ERR_REOPENED_CLOSE_SERVER();
					if (cb) {
						cb(error);
						return;
					} else {
						return Promise.reject(error);
					}
				}
				return lightMyRequest(httpHandler, opts, cb);
			}
			if (cb) {
				this.ready((err) => {
					if (err) cb(err, null);
					else lightMyRequest(httpHandler, opts, cb);
				});
			} else {
				return lightMyRequest((req, res) => {
					this.ready(function(err) {
						if (err) {
							res.emit("error", err);
							return;
						}
						httpHandler(req, res);
					});
				}, opts);
			}
		}
		function ready(cb) {
			if (this[kState].readyPromise !== null) {
				if (cb != null) {
					this[kState].readyPromise.then(() => cb(null, fastify), cb);
					return;
				}
				return this[kState].readyPromise;
			}
			let resolveReady;
			let rejectReady;
			process.nextTick(runHooks);
			this[kState].readyPromise = new Promise(function(resolve, reject) {
				resolveReady = resolve;
				rejectReady = reject;
			});
			if (!cb) {
				return this[kState].readyPromise;
			} else {
				this[kState].readyPromise.then(() => cb(null, fastify), cb);
			}
			function runHooks() {
				fastify[kAvvioBoot]((err, done) => {
					if (err || fastify[kState].started || fastify[kState].ready || fastify[kState].booting) {
						manageErr(err);
					} else {
						fastify[kState].booting = true;
						hookRunnerApplication("onReady", fastify[kAvvioBoot], fastify, manageErr);
					}
					done();
				});
			}
			function manageErr(err) {
				err = err != null && AVVIO_ERRORS_MAP[err.code] != null ? appendStackTrace(err, new AVVIO_ERRORS_MAP[err.code](err.message)) : err;
				if (err) {
					return rejectReady(err);
				}
				resolveReady(fastify);
				fastify[kState].booting = false;
				fastify[kState].ready = true;
				fastify[kState].promise = null;
			}
		}
		function withTypeProvider() {
			return this;
		}
		function addHook(name, fn) {
			throwIfAlreadyStarted("Cannot call \"addHook\"!");
			if (fn == null) {
				throw new errorCodes.FST_ERR_HOOK_INVALID_HANDLER(name, fn);
			}
			if (name === "onSend" || name === "preSerialization" || name === "onError" || name === "preParsing") {
				if (fn.constructor.name === "AsyncFunction" && fn.length === 4) {
					throw new errorCodes.FST_ERR_HOOK_INVALID_ASYNC_HANDLER();
				}
			} else if (name === "onReady" || name === "onListen") {
				if (fn.constructor.name === "AsyncFunction" && fn.length !== 0) {
					throw new errorCodes.FST_ERR_HOOK_INVALID_ASYNC_HANDLER();
				}
			} else if (name === "onRequestAbort") {
				if (fn.constructor.name === "AsyncFunction" && fn.length !== 1) {
					throw new errorCodes.FST_ERR_HOOK_INVALID_ASYNC_HANDLER();
				}
			} else {
				if (fn.constructor.name === "AsyncFunction" && fn.length === 3) {
					throw new errorCodes.FST_ERR_HOOK_INVALID_ASYNC_HANDLER();
				}
			}
			if (name === "onClose") {
				this.onClose(fn.bind(this));
			} else if (name === "onReady" || name === "onListen" || name === "onRoute") {
				this[kHooks].add(name, fn);
			} else {
				this.after((err, done) => {
					_addHook.call(this, name, fn);
					done(err);
				});
			}
			return this;
			function _addHook(name, fn) {
				this[kHooks].add(name, fn);
				this[kChildren].forEach((child) => _addHook.call(child, name, fn));
			}
		}
		function addSchema(schema) {
			throwIfAlreadyStarted("Cannot call \"addSchema\"!");
			this[kSchemaController].add(schema);
			this[kChildren].forEach((child) => child.addSchema(schema));
			return this;
		}
		function defaultClientErrorHandler(err, socket) {
			if (err.code === "ECONNRESET" || socket.destroyed) {
				return;
			}
			let body, errorCode, errorStatus, errorLabel;
			if (err.code === "ERR_HTTP_REQUEST_TIMEOUT") {
				errorCode = "408";
				errorStatus = http$4.STATUS_CODES[errorCode];
				body = `{"error":"${errorStatus}","message":"Client Timeout","statusCode":408}`;
				errorLabel = "timeout";
			} else if (err.code === "HPE_HEADER_OVERFLOW") {
				errorCode = "431";
				errorStatus = http$4.STATUS_CODES[errorCode];
				body = `{"error":"${errorStatus}","message":"Exceeded maximum allowed HTTP header size","statusCode":431}`;
				errorLabel = "header_overflow";
			} else {
				errorCode = "400";
				errorStatus = http$4.STATUS_CODES[errorCode];
				body = `{"error":"${errorStatus}","message":"Client Error","statusCode":400}`;
				errorLabel = "error";
			}
			this.log.trace({ err }, `client ${errorLabel}`);
			if (socket.writable) {
				socket.write(`HTTP/1.1 ${errorCode} ${errorStatus}\r\nContent-Length: ${body.length}\r\nContent-Type: application/json\r\n\r\n${body}`);
			}
			socket.destroy(err);
		}
		function defaultRoute(req, res) {
			if (req.headers["accept-version"] !== undefined) {
				req.headers[kRequestAcceptVersion] = req.headers["accept-version"];
				req.headers["accept-version"] = undefined;
			}
			fourOhFour.router.lookup(req, res);
		}
		function onBadUrl(path, req, res) {
			if (frameworkErrors) {
				const id = getGenReqId(onBadUrlContext.server, req);
				const childLogger = createChildLogger(onBadUrlContext, logger, req, id);
				const request = new Request(id, null, req, null, childLogger, onBadUrlContext);
				const reply = new Reply(res, request, childLogger);
				if (disableRequestLogging === false) {
					childLogger.info({ req: request }, "incoming request");
				}
				return frameworkErrors(new FST_ERR_BAD_URL(path), request, reply);
			}
			const body = `{"error":"Bad Request","code":"FST_ERR_BAD_URL","message":"'${path}' is not a valid url component","statusCode":400}`;
			res.writeHead(400, {
				"Content-Type": "application/json",
				"Content-Length": body.length
			});
			res.end(body);
		}
		function buildAsyncConstraintCallback(isAsync, req, res) {
			if (isAsync === false) return undefined;
			return function onAsyncConstraintError(err) {
				if (err) {
					if (frameworkErrors) {
						const id = getGenReqId(onBadUrlContext.server, req);
						const childLogger = createChildLogger(onBadUrlContext, logger, req, id);
						const request = new Request(id, null, req, null, childLogger, onBadUrlContext);
						const reply = new Reply(res, request, childLogger);
						if (disableRequestLogging === false) {
							childLogger.info({ req: request }, "incoming request");
						}
						return frameworkErrors(new FST_ERR_ASYNC_CONSTRAINT(), request, reply);
					}
					const body = "{\"error\":\"Internal Server Error\",\"message\":\"Unexpected error from async constraint\",\"statusCode\":500}";
					res.writeHead(500, {
						"Content-Type": "application/json",
						"Content-Length": body.length
					});
					res.end(body);
				}
			};
		}
		function setNotFoundHandler(opts, handler) {
			throwIfAlreadyStarted("Cannot call \"setNotFoundHandler\"!");
			fourOhFour.setNotFoundHandler.call(this, opts, handler, avvio, router.routeHandler);
			return this;
		}
		function setValidatorCompiler(validatorCompiler) {
			throwIfAlreadyStarted("Cannot call \"setValidatorCompiler\"!");
			this[kSchemaController].setValidatorCompiler(validatorCompiler);
			return this;
		}
		function setSchemaErrorFormatter(errorFormatter) {
			throwIfAlreadyStarted("Cannot call \"setSchemaErrorFormatter\"!");
			validateSchemaErrorFormatter(errorFormatter);
			this[kSchemaErrorFormatter] = errorFormatter.bind(this);
			return this;
		}
		function setSerializerCompiler(serializerCompiler) {
			throwIfAlreadyStarted("Cannot call \"setSerializerCompiler\"!");
			this[kSchemaController].setSerializerCompiler(serializerCompiler);
			return this;
		}
		function setSchemaController(schemaControllerOpts) {
			throwIfAlreadyStarted("Cannot call \"setSchemaController\"!");
			const old = this[kSchemaController];
			const schemaController = SchemaController.buildSchemaController(old, Object.assign({}, old.opts, schemaControllerOpts));
			this[kSchemaController] = schemaController;
			this.getSchema = schemaController.getSchema.bind(schemaController);
			this.getSchemas = schemaController.getSchemas.bind(schemaController);
			return this;
		}
		function setReplySerializer(replySerializer) {
			throwIfAlreadyStarted("Cannot call \"setReplySerializer\"!");
			this[kReplySerializerDefault] = replySerializer;
			return this;
		}
		function setErrorHandler(func) {
			throwIfAlreadyStarted("Cannot call \"setErrorHandler\"!");
			if (typeof func !== "function") {
				throw new FST_ERR_ERROR_HANDLER_NOT_FN();
			}
			this[kErrorHandler] = buildErrorHandler(this[kErrorHandler], func.bind(this));
			return this;
		}
		function setChildLoggerFactory(factory) {
			throwIfAlreadyStarted("Cannot call \"setChildLoggerFactory\"!");
			this[kChildLoggerFactory] = factory;
			return this;
		}
		function printRoutes(opts = {}) {
			opts.includeMeta = opts.includeHooks ? opts.includeMeta ? supportedHooks.concat(opts.includeMeta) : supportedHooks : opts.includeMeta;
			return router.printRoutes(opts);
		}
		function wrapRouting(router, { rewriteUrl, logger }) {
			let isAsync;
			return function preRouting(req, res) {
				if (isAsync === undefined) isAsync = router.isAsyncConstraint();
				if (rewriteUrl) {
					req.originalUrl = req.url;
					const url = rewriteUrl.call(fastify, req);
					if (typeof url === "string") {
						req.url = url;
					} else {
						const err = new FST_ERR_ROUTE_REWRITE_NOT_STR(req.url, typeof url);
						req.destroy(err);
					}
				}
				router.routing(req, res, buildAsyncConstraintCallback(isAsync, req, res));
			};
		}
		function setGenReqId(func) {
			throwIfAlreadyStarted("Cannot call \"setGenReqId\"!");
			this[kGenReqId] = reqIdGenFactory(this[kOptions].requestIdHeader, func);
			return this;
		}
	}
	function validateSchemaErrorFormatter(schemaErrorFormatter) {
		if (typeof schemaErrorFormatter !== "function") {
			throw new FST_ERR_SCHEMA_ERROR_FORMATTER_NOT_FN(typeof schemaErrorFormatter);
		} else if (schemaErrorFormatter.constructor.name === "AsyncFunction") {
			throw new FST_ERR_SCHEMA_ERROR_FORMATTER_NOT_FN("AsyncFunction");
		}
	}
	/**
	* These export configurations enable JS and TS developers
	* to consumer fastify in whatever way best suits their needs.
	* Some examples of supported import syntax includes:
	* - `const fastify = require('fastify')`
	* - `const { fastify } = require('fastify')`
	* - `import * as Fastify from 'fastify'`
	* - `import { fastify, TSC_definition } from 'fastify'`
	* - `import fastify from 'fastify'`
	* - `import fastify, { TSC_definition } from 'fastify'`
	*/
	module.exports = fastify$1;
	module.exports.errorCodes = errorCodes;
	module.exports.fastify = fastify$1;
	module.exports.default = fastify$1;
}));

//#endregion
//#region ../node_modules/rotating-file-stream/dist/esm/index.js
var import_fastify = /* @__PURE__ */ __toESM(require_fastify(), 1);
var import_pino = /* @__PURE__ */ __toESM(require_pino(), 1);
async function exists(filename) {
	return new Promise((resolve) => access(filename, constants.F_OK, (error) => resolve(!error)));
}
var RotatingFileStreamError = class extends Error {
	code = "RFS-TOO-MANY";
	constructor() {
		super("Too many destination file attempts");
	}
};
var RotatingFileStream = class extends Writable {
	createGzip;
	exec;
	file;
	filename;
	finished;
	fsCreateReadStream;
	fsCreateWriteStream;
	fsOpen;
	fsReadFile;
	fsStat;
	fsUnlink;
	generator;
	initPromise;
	last;
	maxTimeout;
	next;
	options;
	prev;
	rotation;
	size;
	stdout;
	timeout;
	timeoutPromise;
	constructor(generator, options) {
		const { encoding, history, maxFiles, maxSize, path } = options;
		super({
			decodeStrings: true,
			defaultEncoding: encoding
		});
		this.createGzip = createGzip;
		this.exec = exec;
		this.filename = path + generator(null);
		this.fsCreateReadStream = createReadStream;
		this.fsCreateWriteStream = createWriteStream;
		this.fsOpen = open;
		this.fsReadFile = readFile;
		this.fsStat = stat;
		this.fsUnlink = unlink;
		this.generator = generator;
		this.maxTimeout = 2147483640;
		this.options = options;
		this.stdout = process.stdout;
		if (maxFiles || maxSize) options.history = path + (history ? history : this.generator(null) + ".txt");
		this.on("close", () => this.finished ? null : this.emit("finish"));
		this.on("finish", () => this.finished = this.clear());
		(async () => {
			try {
				this.initPromise = this.init();
				await this.initPromise;
				delete this.initPromise;
			} catch (e) {}
		})();
	}
	_destroy(error, callback) {
		this.refinal(error, callback);
	}
	_final(callback) {
		this.refinal(undefined, callback);
	}
	_write(chunk, encoding, callback) {
		this.rewrite([{
			chunk,
			encoding
		}], 0, callback);
	}
	_writev(chunks, callback) {
		this.rewrite(chunks, 0, callback);
	}
	async refinal(error, callback) {
		try {
			this.clear();
			if (this.initPromise) await this.initPromise;
			if (this.timeoutPromise) await this.timeoutPromise;
			await this.reclose();
		} catch (e) {
			return callback(error || e);
		}
		callback(error);
	}
	async rewrite(chunks, index, callback) {
		const { size, teeToStdout } = this.options;
		try {
			if (this.initPromise) await this.initPromise;
			for (let i = 0; i < chunks.length; ++i) {
				const { chunk } = chunks[i];
				this.size += chunk.length;
				if (this.timeoutPromise) await this.timeoutPromise;
				await this.file.write(chunk);
				if (teeToStdout && !this.stdout.destroyed) this.stdout.write(chunk);
				if (size && this.size >= size) await this.rotate();
			}
		} catch (e) {
			return callback(e);
		}
		callback();
	}
	async init() {
		const { immutable, initialRotation, interval, size } = this.options;
		if (immutable) return new Promise((resolve, reject) => process.nextTick(() => this.immutate(true).then(resolve).catch(reject)));
		let stats;
		try {
			stats = await stat(this.filename);
		} catch (e) {
			if (e.code !== "ENOENT") throw e;
			return this.reopen(0);
		}
		if (!stats.isFile()) throw new Error(`Can't write on: ${this.filename} (it is not a file)`);
		if (initialRotation) {
			this.intervalBounds(this.now());
			const prev = this.prev;
			this.intervalBounds(new Date(stats.mtime.getTime()));
			if (prev !== this.prev) return this.rotate();
		}
		this.size = stats.size;
		if (!size || stats.size < size) return this.reopen(stats.size);
		if (interval) this.intervalBounds(this.now());
		return this.rotate();
	}
	async makePath(name) {
		return mkdir(name.split(sep).slice(0, -1).join(sep), { recursive: true });
	}
	async reopen(size) {
		let file;
		try {
			file = await open(this.filename, "a", this.options.mode);
		} catch (e) {
			if (e.code !== "ENOENT") throw e;
			await this.makePath(this.filename);
			file = await open(this.filename, "a", this.options.mode);
		}
		this.file = file;
		this.size = size;
		this.interval();
		this.emit("open", this.filename);
	}
	async reclose() {
		const { file } = this;
		if (!file) return;
		delete this.file;
		return file.close();
	}
	now() {
		return new Date();
	}
	async rotate() {
		const { immutable, rotate } = this.options;
		this.size = 0;
		this.rotation = this.now();
		this.clear();
		this.emit("rotation");
		await this.reclose();
		if (rotate) return this.classical();
		if (immutable) return this.immutate(false);
		return this.move();
	}
	async findName() {
		const { interval, path, intervalBoundary } = this.options;
		for (let index = 1; index < 1e3; ++index) {
			const filename = path + this.generator(interval && intervalBoundary ? new Date(this.prev) : this.rotation, index);
			if (!await exists(filename)) return filename;
		}
		throw new RotatingFileStreamError();
	}
	async move() {
		const { compress } = this.options;
		const filename = await this.findName();
		await this.touch(filename);
		if (compress) await this.compress(filename);
		else await rename(this.filename, filename);
		return this.rotated(filename);
	}
	async touch(filename) {
		let file;
		try {
			file = await this.fsOpen(filename, "a");
		} catch (e) {
			if (e.code !== "ENOENT") throw e;
			await this.makePath(filename);
			file = await open(filename, "a");
		}
		await file.close();
		return this.unlink(filename);
	}
	async classical() {
		const { compress, path, rotate } = this.options;
		let rotatedName = "";
		for (let count = rotate; count > 0; --count) {
			const currName = path + this.generator(count);
			const prevName = count === 1 ? this.filename : path + this.generator(count - 1);
			if (!await exists(prevName)) continue;
			if (!rotatedName) rotatedName = currName;
			if (count === 1 && compress) await this.compress(currName);
			else {
				try {
					await rename(prevName, currName);
				} catch (e) {
					if (e.code !== "ENOENT") throw e;
					await this.makePath(currName);
					await rename(prevName, currName);
				}
			}
		}
		return this.rotated(rotatedName);
	}
	clear() {
		if (this.timeout) {
			clearTimeout(this.timeout);
			this.timeout = null;
		}
		return true;
	}
	intervalBoundsBig(now) {
		const year = this.options.intervalUTC ? now.getUTCFullYear() : now.getFullYear();
		let month = this.options.intervalUTC ? now.getUTCMonth() : now.getMonth();
		let day = this.options.intervalUTC ? now.getUTCDate() : now.getDate();
		let hours = this.options.intervalUTC ? now.getUTCHours() : now.getHours();
		const { num, unit } = this.options.interval;
		if (unit === "M") {
			day = 1;
			hours = 0;
		} else if (unit === "d") hours = 0;
		else hours = parseInt(hours / num, 10) * num;
		this.prev = new Date(year, month, day, hours, 0, 0, 0).getTime();
		if (unit === "M") month += num;
		else if (unit === "d") day += num;
		else hours += num;
		this.next = new Date(year, month, day, hours, 0, 0, 0).getTime();
	}
	intervalBounds(now) {
		const unit = this.options.interval.unit;
		if (unit === "M" || unit === "d" || unit === "h") this.intervalBoundsBig(now);
		else {
			let period = 1e3 * this.options.interval.num;
			if (unit === "m") period *= 60;
			this.prev = parseInt(now.getTime() / period, 10) * period;
			this.next = this.prev + period;
		}
		return new Date(this.prev);
	}
	interval() {
		if (!this.options.interval) return;
		this.intervalBounds(this.now());
		const set = async () => {
			const time = this.next - this.now().getTime();
			if (time <= 0) {
				try {
					this.timeoutPromise = this.rotate();
					await this.timeoutPromise;
					delete this.timeoutPromise;
				} catch (e) {}
			} else {
				this.timeout = setTimeout$1(set, time > this.maxTimeout ? this.maxTimeout : time);
				this.timeout.unref();
			}
		};
		set();
	}
	async compress(filename) {
		const { compress } = this.options;
		if (typeof compress === "function") {
			await new Promise((resolve, reject) => {
				this.exec(compress(this.filename, filename), (error, stdout, stderr) => {
					this.emit("external", stdout, stderr);
					error ? reject(error) : resolve();
				});
			});
		} else await this.gzip(filename);
		return this.unlink(this.filename);
	}
	async gzip(filename) {
		const { mode } = this.options;
		const options = mode ? { mode } : {};
		const inp = this.fsCreateReadStream(this.filename, {});
		const out = this.fsCreateWriteStream(filename, options);
		const zip = this.createGzip();
		return new Promise((resolve, reject) => {
			inp.once("error", reject);
			out.once("error", reject);
			zip.once("error", reject);
			out.once("finish", resolve);
			inp.pipe(zip).pipe(out);
		});
	}
	async rotated(filename) {
		const { maxFiles, maxSize } = this.options;
		if (maxFiles || maxSize) await this.history(filename);
		this.emit("rotated", filename);
		return this.reopen(0);
	}
	async history(filename) {
		const { history, maxFiles, maxSize } = this.options;
		const res = [];
		let files = [filename];
		try {
			const content = await this.fsReadFile(history, "utf8");
			files = [...content.toString().split("\n"), filename];
		} catch (e) {
			if (e.code !== "ENOENT") throw e;
		}
		for (const file of files) {
			if (file) {
				try {
					const stats = await this.fsStat(file);
					if (stats.isFile()) {
						res.push({
							name: file,
							size: stats.size,
							time: stats.mtime.getTime()
						});
					} else this.emit("warning", new Error(`File '${file}' contained in history is not a regular file`));
				} catch (e) {
					if (e.code !== "ENOENT") throw e;
				}
			}
		}
		res.sort((a, b) => a.time - b.time);
		if (maxFiles) {
			while (res.length > maxFiles) {
				const file = res.shift();
				await this.unlink(file.name);
				this.emit("removed", file.name, true);
			}
		}
		if (maxSize) {
			while (res.reduce((size, file) => size + file.size, 0) > maxSize) {
				const file = res.shift();
				await this.unlink(file.name);
				this.emit("removed", file.name, false);
			}
		}
		await writeFile(history, res.map((e) => e.name).join("\n") + "\n", "utf-8");
		this.emit("history");
	}
	async immutate(first) {
		const { size } = this.options;
		const now = this.now();
		for (let index = 1; index < 1e3; ++index) {
			let fileSize = 0;
			let stats = undefined;
			this.filename = this.options.path + this.generator(now, index);
			try {
				stats = await this.fsStat(this.filename);
			} catch (e) {
				if (e.code !== "ENOENT") throw e;
			}
			if (stats) {
				fileSize = stats.size;
				if (!stats.isFile()) throw new Error(`Can't write on: '${this.filename}' (it is not a file)`);
				if (size && fileSize >= size) continue;
			}
			if (first) {
				this.last = this.filename;
				return this.reopen(fileSize);
			}
			await this.rotated(this.last);
			this.last = this.filename;
			return;
		}
		throw new RotatingFileStreamError();
	}
	async unlink(filename) {
		try {
			await this.fsUnlink(filename);
		} catch (e) {
			if (e.code !== "ENOENT") throw e;
			this.emit("warning", e);
		}
	}
};
function buildNumberCheck(field) {
	return (type, options, value) => {
		const converted = parseInt(value, 10);
		if (type !== "number" || converted !== value || converted <= 0) throw new Error(`'${field}' option must be a positive integer number`);
	};
}
function buildStringCheck(field, check) {
	return (type, options, value) => {
		if (type !== "string") throw new Error(`Don't know how to handle 'options.${field}' type: ${type}`);
		options[field] = check(value);
	};
}
function checkMeasure(value, what, units) {
	const ret = {};
	ret.num = parseInt(value, 10);
	if (isNaN(ret.num)) throw new Error(`Unknown 'options.${what}' format: ${value}`);
	if (ret.num <= 0) throw new Error(`A positive integer number is expected for 'options.${what}'`);
	ret.unit = value.replace(/^[ 0]*/g, "").substr((ret.num + "").length, 1);
	if (ret.unit.length === 0) throw new Error(`Missing unit for 'options.${what}'`);
	if (!units[ret.unit]) throw new Error(`Unknown 'options.${what}' unit: ${ret.unit}`);
	return ret;
}
const intervalUnits = {
	M: true,
	d: true,
	h: true,
	m: true,
	s: true
};
function checkIntervalUnit(ret, unit, amount) {
	if (parseInt(amount / ret.num, 10) * ret.num !== amount) throw new Error(`An integer divider of ${amount} is expected as ${unit} for 'options.interval'`);
}
function checkInterval(value) {
	const ret = checkMeasure(value, "interval", intervalUnits);
	switch (ret.unit) {
		case "h":
			checkIntervalUnit(ret, "hours", 24);
			break;
		case "m":
			checkIntervalUnit(ret, "minutes", 60);
			break;
		case "s":
			checkIntervalUnit(ret, "seconds", 60);
			break;
	}
	return ret;
}
const sizeUnits = {
	B: true,
	G: true,
	K: true,
	M: true
};
function checkSize(value) {
	const ret = checkMeasure(value, "size", sizeUnits);
	if (ret.unit === "K") return ret.num * 1024;
	if (ret.unit === "M") return ret.num * 1048576;
	if (ret.unit === "G") return ret.num * 1073741824;
	return ret.num;
}
const checks = {
	encoding: (type, options, value) => new TextDecoder$1(value),
	immutable: () => {},
	initialRotation: () => {},
	interval: buildStringCheck("interval", checkInterval),
	intervalBoundary: () => {},
	intervalUTC: () => {},
	maxFiles: buildNumberCheck("maxFiles"),
	maxSize: buildStringCheck("maxSize", checkSize),
	mode: () => {},
	omitExtension: () => {},
	rotate: buildNumberCheck("rotate"),
	size: buildStringCheck("size", checkSize),
	teeToStdout: () => {},
	...{
		compress: (type, options, value) => {
			if (value === false) return;
			if (!value) throw new Error("A value for 'options.compress' must be specified");
			if (type === "boolean") return options.compress = (source, dest) => `cat ${source} | gzip -c9 > ${dest}`;
			if (type === "function") return;
			if (type !== "string") throw new Error(`Don't know how to handle 'options.compress' type: ${type}`);
			if (value !== "gzip") throw new Error(`Don't know how to handle compression method: ${value}`);
		},
		history: (type) => {
			if (type !== "string") throw new Error(`Don't know how to handle 'options.history' type: ${type}`);
		},
		path: (type, options, value) => {
			if (type !== "string") throw new Error(`Don't know how to handle 'options.path' type: ${type}`);
			if (value[value.length - 1] !== sep) options.path = value + sep;
		}
	}
};
function checkOpts(options) {
	const ret = {};
	let opt;
	for (opt in options) {
		const value = options[opt];
		const type = typeof value;
		if (!(opt in checks)) throw new Error(`Unknown option: ${opt}`);
		ret[opt] = options[opt];
		checks[opt](type, ret, value);
	}
	if (!ret.path) ret.path = "";
	if (!ret.interval) {
		delete ret.immutable;
		delete ret.initialRotation;
		delete ret.intervalBoundary;
		delete ret.intervalUTC;
	}
	if (ret.rotate) {
		delete ret.history;
		delete ret.immutable;
		delete ret.maxFiles;
		delete ret.maxSize;
		delete ret.intervalBoundary;
		delete ret.intervalUTC;
	}
	if (ret.immutable) delete ret.compress;
	if (!ret.intervalBoundary) delete ret.initialRotation;
	return ret;
}
function createClassical(filename, compress, omitExtension) {
	return (index) => index ? `${filename}.${index}${compress && !omitExtension ? ".gz" : ""}` : filename;
}
function createGenerator(filename, compress, omitExtension) {
	const pad = (num) => (num > 9 ? "" : "0") + num;
	return (time, index) => {
		if (!time) return filename;
		const month = time.getFullYear() + "" + pad(time.getMonth() + 1);
		const day = pad(time.getDate());
		const hour = pad(time.getHours());
		const minute = pad(time.getMinutes());
		return month + day + "-" + hour + minute + "-" + pad(index) + "-" + filename + (compress && !omitExtension ? ".gz" : "");
	};
}
function createStream(filename, options) {
	if (typeof options === "undefined") options = {};
	else if (typeof options !== "object") throw new Error(`The "options" argument must be of type object. Received type ${typeof options}`);
	const opts = checkOpts(options);
	const { compress, omitExtension } = opts;
	let generator;
	if (typeof filename === "string") generator = options.rotate ? createClassical(filename, !!compress, omitExtension) : createGenerator(filename, !!compress, omitExtension);
	else if (typeof filename === "function") generator = filename;
	else throw new Error(`The "filename" argument must be one of type string or function. Received type ${typeof filename}`);
	return new RotatingFileStream(generator, opts);
}

//#endregion
//#region ../node_modules/dotenv/package.json
var require_package = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = {
		"name": "dotenv",
		"version": "16.6.1",
		"description": "Loads environment variables from .env file",
		"main": "lib/main.js",
		"types": "lib/main.d.ts",
		"exports": {
			".": {
				"types": "./lib/main.d.ts",
				"require": "./lib/main.js",
				"default": "./lib/main.js"
			},
			"./config": "./config.js",
			"./config.js": "./config.js",
			"./lib/env-options": "./lib/env-options.js",
			"./lib/env-options.js": "./lib/env-options.js",
			"./lib/cli-options": "./lib/cli-options.js",
			"./lib/cli-options.js": "./lib/cli-options.js",
			"./package.json": "./package.json"
		},
		"scripts": {
			"dts-check": "tsc --project tests/types/tsconfig.json",
			"lint": "standard",
			"pretest": "npm run lint && npm run dts-check",
			"test": "tap run --allow-empty-coverage --disable-coverage --timeout=60000",
			"test:coverage": "tap run --show-full-coverage --timeout=60000 --coverage-report=text --coverage-report=lcov",
			"prerelease": "npm test",
			"release": "standard-version"
		},
		"repository": {
			"type": "git",
			"url": "git://github.com/motdotla/dotenv.git"
		},
		"homepage": "https://github.com/motdotla/dotenv#readme",
		"funding": "https://dotenvx.com",
		"keywords": [
			"dotenv",
			"env",
			".env",
			"environment",
			"variables",
			"config",
			"settings"
		],
		"readmeFilename": "README.md",
		"license": "BSD-2-Clause",
		"devDependencies": {
			"@types/node": "^18.11.3",
			"decache": "^4.6.2",
			"sinon": "^14.0.1",
			"standard": "^17.0.0",
			"standard-version": "^9.5.0",
			"tap": "^19.2.0",
			"typescript": "^4.8.4"
		},
		"engines": { "node": ">=12" },
		"browser": { "fs": false }
	};
}));

//#endregion
//#region ../node_modules/dotenv/lib/main.js
var require_main = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const fs$3 = __require("fs");
	const path$4 = __require("path");
	const os$1 = __require("os");
	const crypto$5 = __require("crypto");
	const packageJson = require_package();
	const version = packageJson.version;
	const LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;
	function parse(src) {
		const obj = {};
		let lines = src.toString();
		lines = lines.replace(/\r\n?/gm, "\n");
		let match;
		while ((match = LINE.exec(lines)) != null) {
			const key = match[1];
			let value = match[2] || "";
			value = value.trim();
			const maybeQuote = value[0];
			value = value.replace(/^(['"`])([\s\S]*)\1$/gm, "$2");
			if (maybeQuote === "\"") {
				value = value.replace(/\\n/g, "\n");
				value = value.replace(/\\r/g, "\r");
			}
			obj[key] = value;
		}
		return obj;
	}
	function _parseVault(options) {
		options = options || {};
		const vaultPath = _vaultPath(options);
		options.path = vaultPath;
		const result = DotenvModule.configDotenv(options);
		if (!result.parsed) {
			const err = new Error(`MISSING_DATA: Cannot parse ${vaultPath} for an unknown reason`);
			err.code = "MISSING_DATA";
			throw err;
		}
		const keys = _dotenvKey(options).split(",");
		const length = keys.length;
		let decrypted;
		for (let i = 0; i < length; i++) {
			try {
				const key = keys[i].trim();
				const attrs = _instructions(result, key);
				decrypted = DotenvModule.decrypt(attrs.ciphertext, attrs.key);
				break;
			} catch (error) {
				if (i + 1 >= length) {
					throw error;
				}
			}
		}
		return DotenvModule.parse(decrypted);
	}
	function _warn(message) {
		console.log(`[dotenv@${version}][WARN] ${message}`);
	}
	function _debug(message) {
		console.log(`[dotenv@${version}][DEBUG] ${message}`);
	}
	function _log(message) {
		console.log(`[dotenv@${version}] ${message}`);
	}
	function _dotenvKey(options) {
		if (options && options.DOTENV_KEY && options.DOTENV_KEY.length > 0) {
			return options.DOTENV_KEY;
		}
		if (process.env.DOTENV_KEY && process.env.DOTENV_KEY.length > 0) {
			return process.env.DOTENV_KEY;
		}
		return "";
	}
	function _instructions(result, dotenvKey) {
		let uri;
		try {
			uri = new URL(dotenvKey);
		} catch (error) {
			if (error.code === "ERR_INVALID_URL") {
				const err = new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");
				err.code = "INVALID_DOTENV_KEY";
				throw err;
			}
			throw error;
		}
		const key = uri.password;
		if (!key) {
			const err = new Error("INVALID_DOTENV_KEY: Missing key part");
			err.code = "INVALID_DOTENV_KEY";
			throw err;
		}
		const environment = uri.searchParams.get("environment");
		if (!environment) {
			const err = new Error("INVALID_DOTENV_KEY: Missing environment part");
			err.code = "INVALID_DOTENV_KEY";
			throw err;
		}
		const environmentKey = `DOTENV_VAULT_${environment.toUpperCase()}`;
		const ciphertext = result.parsed[environmentKey];
		if (!ciphertext) {
			const err = new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${environmentKey} in your .env.vault file.`);
			err.code = "NOT_FOUND_DOTENV_ENVIRONMENT";
			throw err;
		}
		return {
			ciphertext,
			key
		};
	}
	function _vaultPath(options) {
		let possibleVaultPath = null;
		if (options && options.path && options.path.length > 0) {
			if (Array.isArray(options.path)) {
				for (const filepath of options.path) {
					if (fs$3.existsSync(filepath)) {
						possibleVaultPath = filepath.endsWith(".vault") ? filepath : `${filepath}.vault`;
					}
				}
			} else {
				possibleVaultPath = options.path.endsWith(".vault") ? options.path : `${options.path}.vault`;
			}
		} else {
			possibleVaultPath = path$4.resolve(process.cwd(), ".env.vault");
		}
		if (fs$3.existsSync(possibleVaultPath)) {
			return possibleVaultPath;
		}
		return null;
	}
	function _resolveHome(envPath) {
		return envPath[0] === "~" ? path$4.join(os$1.homedir(), envPath.slice(1)) : envPath;
	}
	function _configVault(options) {
		const debug = Boolean(options && options.debug);
		const quiet = options && "quiet" in options ? options.quiet : true;
		if (debug || !quiet) {
			_log("Loading env from encrypted .env.vault");
		}
		const parsed = DotenvModule._parseVault(options);
		let processEnv = process.env;
		if (options && options.processEnv != null) {
			processEnv = options.processEnv;
		}
		DotenvModule.populate(processEnv, parsed, options);
		return { parsed };
	}
	function configDotenv(options) {
		const dotenvPath = path$4.resolve(process.cwd(), ".env");
		let encoding = "utf8";
		const debug = Boolean(options && options.debug);
		const quiet = options && "quiet" in options ? options.quiet : true;
		if (options && options.encoding) {
			encoding = options.encoding;
		} else {
			if (debug) {
				_debug("No encoding is specified. UTF-8 is used by default");
			}
		}
		let optionPaths = [dotenvPath];
		if (options && options.path) {
			if (!Array.isArray(options.path)) {
				optionPaths = [_resolveHome(options.path)];
			} else {
				optionPaths = [];
				for (const filepath of options.path) {
					optionPaths.push(_resolveHome(filepath));
				}
			}
		}
		let lastError;
		const parsedAll = {};
		for (const path of optionPaths) {
			try {
				const parsed = DotenvModule.parse(fs$3.readFileSync(path, { encoding }));
				DotenvModule.populate(parsedAll, parsed, options);
			} catch (e) {
				if (debug) {
					_debug(`Failed to load ${path} ${e.message}`);
				}
				lastError = e;
			}
		}
		let processEnv = process.env;
		if (options && options.processEnv != null) {
			processEnv = options.processEnv;
		}
		DotenvModule.populate(processEnv, parsedAll, options);
		if (debug || !quiet) {
			const keysCount = Object.keys(parsedAll).length;
			const shortPaths = [];
			for (const filePath of optionPaths) {
				try {
					const relative = path$4.relative(process.cwd(), filePath);
					shortPaths.push(relative);
				} catch (e) {
					if (debug) {
						_debug(`Failed to load ${filePath} ${e.message}`);
					}
					lastError = e;
				}
			}
			_log(`injecting env (${keysCount}) from ${shortPaths.join(",")}`);
		}
		if (lastError) {
			return {
				parsed: parsedAll,
				error: lastError
			};
		} else {
			return { parsed: parsedAll };
		}
	}
	function config(options) {
		if (_dotenvKey(options).length === 0) {
			return DotenvModule.configDotenv(options);
		}
		const vaultPath = _vaultPath(options);
		if (!vaultPath) {
			_warn(`You set DOTENV_KEY but you are missing a .env.vault file at ${vaultPath}. Did you forget to build it?`);
			return DotenvModule.configDotenv(options);
		}
		return DotenvModule._configVault(options);
	}
	function decrypt(encrypted, keyStr) {
		const key = Buffer.from(keyStr.slice(-64), "hex");
		let ciphertext = Buffer.from(encrypted, "base64");
		const nonce = ciphertext.subarray(0, 12);
		const authTag = ciphertext.subarray(-16);
		ciphertext = ciphertext.subarray(12, -16);
		try {
			const aesgcm = crypto$5.createDecipheriv("aes-256-gcm", key, nonce);
			aesgcm.setAuthTag(authTag);
			return `${aesgcm.update(ciphertext)}${aesgcm.final()}`;
		} catch (error) {
			const isRange = error instanceof RangeError;
			const invalidKeyLength = error.message === "Invalid key length";
			const decryptionFailed = error.message === "Unsupported state or unable to authenticate data";
			if (isRange || invalidKeyLength) {
				const err = new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");
				err.code = "INVALID_DOTENV_KEY";
				throw err;
			} else if (decryptionFailed) {
				const err = new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");
				err.code = "DECRYPTION_FAILED";
				throw err;
			} else {
				throw error;
			}
		}
	}
	function populate(processEnv, parsed, options = {}) {
		const debug = Boolean(options && options.debug);
		const override = Boolean(options && options.override);
		if (typeof parsed !== "object") {
			const err = new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");
			err.code = "OBJECT_REQUIRED";
			throw err;
		}
		for (const key of Object.keys(parsed)) {
			if (Object.prototype.hasOwnProperty.call(processEnv, key)) {
				if (override === true) {
					processEnv[key] = parsed[key];
				}
				if (debug) {
					if (override === true) {
						_debug(`"${key}" is already defined and WAS overwritten`);
					} else {
						_debug(`"${key}" is already defined and was NOT overwritten`);
					}
				}
			} else {
				processEnv[key] = parsed[key];
			}
		}
	}
	const DotenvModule = {
		configDotenv,
		_configVault,
		_parseVault,
		config,
		decrypt,
		parse,
		populate
	};
	module.exports.configDotenv = DotenvModule.configDotenv;
	module.exports._configVault = DotenvModule._configVault;
	module.exports._parseVault = DotenvModule._parseVault;
	module.exports.config = DotenvModule.config;
	module.exports.decrypt = DotenvModule.decrypt;
	module.exports.parse = DotenvModule.parse;
	module.exports.populate = DotenvModule.populate;
	module.exports = DotenvModule;
}));

//#endregion
//#region ../controllers/fastlogger.js
var import_main = /* @__PURE__ */ __toESM(require_main(), 1);
const __filename$1 = fileURLToPath(import.meta.url);
const __dirname$9 = path.dirname(__filename$1);
const FASTIFY_INSTANCE_KEY = Symbol.for("drpy-node.fastify.instances");
function initializeFastify() {
	if (globalThis[FASTIFY_INSTANCE_KEY]) {
		return globalThis[FASTIFY_INSTANCE_KEY];
	}
	import_main.default.config();
	const LOG_WITH_FILE = Number(process.env.LOG_WITH_FILE) || 0;
	const LOG_LEVEL = process.env.LOG_LEVEL && [
		"trace",
		"debug",
		"info",
		"warn",
		"error",
		"fatal"
	].includes(process.env.LOG_LEVEL) ? process.env.LOG_LEVEL : "info";
	let _logger = true;
	let logStream = null;
	const logDirectory = path.join(__dirname$9, "../logs");
	const customTimestamp = () => {
		const now = new Date();
		return `,"time":"${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, "0")}-${String(now.getDate()).padStart(2, "0")} ${String(now.getHours()).padStart(2, "0")}:${String(now.getMinutes()).padStart(2, "0")}:${String(now.getSeconds()).padStart(2, "0")}"`;
	};
	const safeFileNameGenerator = (time, index) => {
		if (!time) return "output.log";
		const dateStr = `${time.getFullYear()}-${String(time.getMonth() + 1).padStart(2, "0")}-${String(time.getDate()).padStart(2, "0")}`;
		return `output-${dateStr}.log.${index || 1}`;
	};
	if (LOG_WITH_FILE) {
		if (!fs.existsSync(logDirectory)) {
			try {
				fs.mkdirSync(logDirectory, { recursive: true });
			} catch (e) {
				console.error("[FastLogger] Failed to create log directory:", e);
			}
		}
		const streamOptions = {
			size: "500M",
			compress: false,
			interval: "1d",
			path: logDirectory,
			maxFiles: 30
		};
		try {
			logStream = createStream(safeFileNameGenerator, streamOptions);
			logStream.on("error", (err) => {});
			logStream.on("rotated", (filename) => {
				console.log("日志轮转完成:", filename);
			});
			_logger = (0, import_pino.default)({
				level: LOG_LEVEL,
				serializers: {
					req: import_pino.default.stdSerializers.req,
					res: import_pino.default.stdSerializers.res
				},
				timestamp: customTimestamp
			}, logStream);
			console.log("日志输出到文件");
		} catch (error) {
			console.error("[FastLogger] Failed to initialize file logger, falling back to console:", error);
			_logger = (0, import_pino.default)({
				level: LOG_LEVEL,
				timestamp: customTimestamp
			});
		}
	} else {
		_logger = (0, import_pino.default)({
			level: LOG_LEVEL,
			serializers: {
				req: import_pino.default.stdSerializers.req,
				res: import_pino.default.stdSerializers.res
			},
			timestamp: customTimestamp
		});
		console.log("日志输出到控制台");
	}
	const _fastify = (0, import_fastify.default)({ logger: _logger });
	const _wsApp = (0, import_fastify.default)({ logger: _logger });
	[_fastify, _wsApp].forEach((server) => {
		server.addHook("onRequest", async (request, reply) => {
			reply.header("Access-Control-Allow-Origin", "*");
			reply.header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
			reply.header("Access-Control-Allow-Headers", "Content-Type, Authorization, X-Requested-With");
			reply.header("Access-Control-Allow-Credentials", "true");
			if (request.method === "OPTIONS") {
				reply.status(200).send();
				return;
			}
		});
	});
	const instances = {
		fastify: _fastify,
		wsApp: _wsApp,
		logger: _logger
	};
	globalThis[FASTIFY_INSTANCE_KEY] = instances;
	return instances;
}
const { fastify: fastifyInstance, wsApp: wsAppInstance } = initializeFastify();
const fastify = fastifyInstance;
const wsApp = wsAppInstance;

//#endregion
//#region ../utils/env.js
const __dirname$8 = path.dirname(fileURLToPath(import.meta.url));
const _envPath = path.join(__dirname$8, "../config/env.json");
const _lockPath = `${_envPath}.lock`;
const cache = new LRUCache({
	max: 100,
	ttl: 1e3 * 60 * 5
});
const FULL_ENV_CACHE_KEY = "__FULL_ENV__";
const ENV = {
	_envPath,
	_lockPath,
	_envObj: {},
	_readEnvFile() {
		if (!existsSync(this._envPath)) {
			return {};
		}
		try {
			const content = readFileSync(this._envPath, "utf-8");
			return JSON.parse(content);
		} catch (e) {
			fastify.log.error(`[_readEnvFile] Failed to read or parse env file: ${e.message}`);
			return {};
		}
	},
	_writeEnvFile(envObj) {
		if (existsSync(this._lockPath)) {
			fastify.log.error("[_writeEnvFile] Another process is currently writing to the env file.");
			throw new Error("File is locked. Please retry later.");
		}
		try {
			writeFileSync(this._lockPath, "LOCK", "utf-8");
			writeFileSync(this._envPath, JSON.stringify(envObj, null, 2), "utf-8");
		} catch (e) {
			fastify.log.error(`[_writeEnvFile] Failed to write to env file: ${e.message}`);
		} finally {
			if (existsSync(this._lockPath)) {
				unlinkSync(this._lockPath);
			}
		}
	},
	get(key, _value = "", isObject = 0) {
		if (!key) {
			if (cache.has(FULL_ENV_CACHE_KEY)) {
				return cache.get(FULL_ENV_CACHE_KEY);
			}
			const envObj = this._readEnvFile();
			cache.set(FULL_ENV_CACHE_KEY, envObj);
			return envObj;
		}
		if (cache.has(key)) {
			return cache.get(key);
		}
		fastify.log.info(`[get] 从文件中读取: ${key}`);
		const envObj = this._readEnvFile();
		let value = envObj[key] || _value;
		if (isObject && typeof value !== "object") {
			try {
				value = JSON.parse(value);
			} catch (e) {
				value = {};
				fastify.log.error(`[get] Failed to parse value for key "${key}" as object: ${e.message}`);
			}
		}
		cache.set(key, value);
		return value;
	},
	set(key, value = "", isObject = 0) {
		if (!key || typeof key !== "string") {
			throw new Error("Key must be a non-empty string.");
		}
		if (isObject && typeof value !== "object") {
			try {
				value = JSON.parse(value);
			} catch (e) {
				value = {};
				fastify.log.error(`[set] Failed to parse value for key "${key}" as object: ${e.message}`);
			}
		}
		const envObj = this._readEnvFile();
		envObj[key] = value;
		this._writeEnvFile(envObj);
		cache.delete(key);
		cache.delete(FULL_ENV_CACHE_KEY);
	},
	delete(key) {
		if (!key || typeof key !== "string") {
			throw new Error("Key must be a non-empty string.");
		}
		const envObj = this._readEnvFile();
		if (key in envObj) {
			delete envObj[key];
			this._writeEnvFile(envObj);
			cache.delete(key);
			cache.delete(FULL_ENV_CACHE_KEY);
		} else {
			fastify.log.warn(`[delete] Key "${key}" does not exist in env file.`);
		}
	}
};

//#endregion
//#region ../utils/dns_doh.js
/**
* DNS over HTTPS (DOH) Utility Module
*
* Uses 'dns-over-http-resolver' package for robust DOH resolution.
* Reads configuration from config/player.json.
* Automatically detects system proxy (Env vars or Windows Registry) to bypass local DNS pollution.
*/
const execAsync = util.promisify(exec);
const __dirname$7 = path.dirname(fileURLToPath(import.meta.url));
let dohServers = null;
let resolver = null;
const configPath = path.resolve(__dirname$7, "../config/player.json");
function getResolver() {
	const enableDoh = ENV.get("enable_doh", "0") === "1" || ENV.get("enable_doh") === "true";
	if (!enableDoh) {
		return null;
	}
	if (resolver) return resolver;
	try {
		if (!dohServers) {
			try {
				if (fs.existsSync(configPath)) {
					const config = JSON.parse(fs.readFileSync(configPath, "utf-8"));
					if (config.doh && Array.isArray(config.doh) && config.doh.length > 0) {
						dohServers = config.doh.map((server) => server.url);
						console.log(`[DOH] Loaded ${dohServers.length} DOH servers from config.`);
					}
				}
			} catch (e) {
				console.error("[DOH] Failed to load DOH config:", e.message);
			}
		}
		resolver = new Resolver({
			maxCache: 1e3,
			request: customRequest
		});
		if (dohServers && dohServers.length > 0) {
			resolver.setServers(dohServers);
		}
	} catch (e) {
		console.error("[DOH] Init failed:", e.message);
		return null;
	}
	return resolver;
}
let cachedProxy = null;
let lastCheckTime = 0;
let checkPromise = null;
const PROXY_CACHE_TTL = 6e4;
function getSystemProxy() {
	const enableProxy = ENV.get("enable_system_proxy", "1") === "1" || ENV.get("enable_system_proxy") === "true";
	if (!enableProxy) {
		return Promise.resolve(null);
	}
	const now = Date.now();
	if (lastCheckTime > 0 && now - lastCheckTime < PROXY_CACHE_TTL) {
		return Promise.resolve(cachedProxy);
	}
	if (checkPromise) {
		return checkPromise;
	}
	checkPromise = (async () => {
		const execOpts = { timeout: 300 };
		let detectedProxy = null;
		try {
			const envProxy = process.env.HTTPS_PROXY || process.env.https_proxy || process.env.HTTP_PROXY || process.env.http_proxy;
			if (envProxy) {
				detectedProxy = envProxy;
			} else if (process.platform === "win32") {
				try {
					const { stdout: enableOut } = await execAsync("reg query \"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\" /v ProxyEnable", execOpts);
					if (/0x1/.test(enableOut)) {
						const { stdout: serverOut } = await execAsync("reg query \"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\" /v ProxyServer", execOpts);
						const match = serverOut.match(/ProxyServer\s+REG_SZ\s+(.*)/i);
						if (match && match[1]) {
							let proxyStr = match[1].trim();
							if (proxyStr.includes("=")) {
								const parts = proxyStr.split(";");
								for (const part of parts) {
									if (part.startsWith("https=")) {
										proxyStr = part.substring(6);
										break;
									}
								}
							}
							if (!proxyStr.startsWith("http")) {
								proxyStr = "http://" + proxyStr;
							}
							detectedProxy = proxyStr;
						}
					}
				} catch (e) {}
			} else if (process.platform === "android" || process.platform === "linux") {
				try {
					const { stdout } = await execAsync("settings get global http_proxy", execOpts);
					const proxyStr = stdout ? stdout.trim() : "";
					if (proxyStr && proxyStr !== "null" && proxyStr !== ":0") {
						const finalProxy = proxyStr.startsWith("http") ? proxyStr : `http://${proxyStr}`;
						detectedProxy = finalProxy;
					}
				} catch (e) {}
			}
			if (!detectedProxy && process.platform === "linux") {
				try {
					const { stdout: mode } = await execAsync("gsettings get org.gnome.system.proxy mode", execOpts);
					if (mode && mode.trim().replace(/'/g, "") === "manual") {
						const { stdout: host } = await execAsync("gsettings get org.gnome.system.proxy.http host", execOpts);
						const { stdout: port } = await execAsync("gsettings get org.gnome.system.proxy.http port", execOpts);
						const hostStr = host ? host.trim().replace(/'/g, "") : "";
						const portStr = port ? port.trim() : "";
						if (hostStr && portStr && portStr !== "0") {
							detectedProxy = `http://${hostStr}:${portStr}`;
						}
					}
				} catch (e) {}
			}
			if (!detectedProxy && process.platform === "darwin") {
				try {
					const { stdout } = await execAsync("scutil --proxy", execOpts);
					if (/HTTPEnable\s*:\s*1/.test(stdout)) {
						const hostMatch = stdout.match(/HTTPProxy\s*:\s*([^\s]+)/);
						const portMatch = stdout.match(/HTTPPort\s*:\s*(\d+)/);
						if (hostMatch && hostMatch[1]) {
							detectedProxy = `http://${hostMatch[1]}:${portMatch && portMatch[1] ? portMatch[1] : "80"}`;
						}
					}
				} catch (e) {}
			}
		} catch (e) {
			console.error("[DOH] Error detecting proxy:", e.message);
		} finally {
			if (detectedProxy !== cachedProxy) {
				if (detectedProxy) console.log(`[DOH] System proxy updated: ${detectedProxy}`);
				else if (cachedProxy) console.log(`[DOH] System proxy cleared`);
				cachedProxy = detectedProxy;
			}
			lastCheckTime = Date.now();
			checkPromise = null;
		}
		return cachedProxy;
	})();
	return checkPromise;
}
const customRequest = async (resource, signal) => {
	try {
		const proxy = await getSystemProxy();
		const config = {
			headers: { "Accept": "application/dns-json" },
			signal,
			timeout: 5e3
		};
		if (proxy) {
			config.httpsAgent = new import_dist$1.HttpsProxyAgent(proxy);
			config.proxy = false;
		} else {
			config.httpsAgent = new https.Agent({ rejectUnauthorized: false });
		}
		const response = await axios$1.get(resource, config);
		return response.data;
	} catch (error) {
		throw error;
	}
};
/**
* Resolve domain using DOH
* @param {string} domain
* @returns {Promise<string|null>} Resolved IP or null
*/
async function resolveDoh(domain) {
	if (!domain || /^(\d{1,3}\.){3}\d{1,3}$|^\[[\da-fA-F:]+\]$/.test(domain)) return domain;
	if (domain === "localhost" || domain === "127.0.0.1") return domain;
	try {
		const resolver = getResolver();
		if (!resolver) return null;
		const ips = await resolver.resolve(domain, "A");
		if (ips && ips.length > 0) {
			return ips[0];
		}
	} catch (e) {}
	return null;
}

//#endregion
//#region ../utils/req.js
/**
* HTTP请求工具模块
*
* 该模块基于axios创建了预配置的HTTP客户端实例，提供了优化的网络请求功能。
* 包含了连接池管理、SSL证书验证配置等网络优化设置。
*
* @author drpy-node
* @version 1.0.0
*/
/**
* 默认的HTTP请求客户端
*
* 配置特性：
* - 启用HTTP/HTTPS连接池（keepAlive: true）
* - 禁用HTTPS证书验证（rejectUnauthorized: false）
* - 适用于大多数网络请求场景
* - 启用DOH支持
* - 自动继承系统代理
*/
const req$1 = axios$1.create({
	httpsAgent: new https.Agent({
		keepAlive: true,
		rejectUnauthorized: false
	}),
	httpAgent: new http.Agent({ keepAlive: true })
});
req$1.interceptors.request.use(async (config) => {
	if (!config.url) return config;
	try {
		const proxy = await getSystemProxy();
		if (proxy) {
			const agent = new import_dist$1.HttpsProxyAgent(proxy);
			config.httpsAgent = agent;
			config.proxy = false;
			return config;
		}
		let fullUrl = config.url;
		if (config.baseURL && !/^https?:\/\//i.test(fullUrl)) {
			try {
				const parsed = new URL(fullUrl, config.baseURL);
				fullUrl = parsed.toString();
			} catch (e) {}
		}
		const urlObj = new URL(fullUrl);
		const hostname = urlObj.hostname;
		if (!hostname || /^(\d{1,3}\.){3}\d{1,3}$/.test(hostname) || hostname === "localhost") {
			return config;
		}
		const ip = await resolveDoh(hostname);
		if (ip && ip !== hostname) {
			if (!config.headers) config.headers = {};
			let hasHost = false;
			const keys = Object.keys(config.headers);
			for (const k of keys) {
				if (k.toLowerCase() === "host") {
					hasHost = true;
					break;
				}
			}
			if (!hasHost) {
				config.headers.Host = hostname;
			}
			urlObj.hostname = ip;
			config.url = urlObj.toString();
			if (config.baseURL) {
				delete config.baseURL;
			}
		}
	} catch (e) {}
	return config;
});
/**
* 简化版HTTP请求客户端
*
* 配置特性：
* - 仅禁用HTTPS证书验证
* - 不启用连接池
* - 适用于简单的一次性请求
* - 启用DOH支持
* - 自动继承系统代理
*/
const reqs = new axios$1.create({ httpsAgent: new https.Agent({ rejectUnauthorized: false }) });
reqs.interceptors.request.use(async (config) => {
	if (!config.url) return config;
	try {
		const proxy = await getSystemProxy();
		if (proxy) {
			const agent = new import_dist$1.HttpsProxyAgent(proxy);
			config.httpsAgent = agent;
			config.proxy = false;
			return config;
		}
		let fullUrl = config.url;
		if (config.baseURL && !/^https?:\/\//i.test(fullUrl)) {
			try {
				const parsed = new URL(fullUrl, config.baseURL);
				fullUrl = parsed.toString();
			} catch (e) {}
		}
		const urlObj = new URL(fullUrl);
		const hostname = urlObj.hostname;
		if (!hostname || /^(\d{1,3}\.){3}\d{1,3}$/.test(hostname) || hostname === "localhost") return config;
		const ip = await resolveDoh(hostname);
		if (ip && ip !== hostname) {
			if (!config.headers) config.headers = {};
			let hasHost = false;
			const keys = Object.keys(config.headers);
			for (const k of keys) {
				if (k.toLowerCase() === "host") {
					hasHost = true;
					break;
				}
			}
			if (!hasHost) config.headers.Host = hostname;
			urlObj.hostname = ip;
			config.url = urlObj.toString();
			if (config.baseURL) delete config.baseURL;
		}
	} catch (e) {}
	return config;
});

//#endregion
//#region ../utils/pan/ali.js
const apiUrl = "https://api.aliyundrive.com";
const userUrl = "https://user.aliyundrive.com";
const subtitleExts = [
	"srt",
	"ass",
	"scc",
	"stl",
	"ttml"
];
var AliDrive = class {
	constructor() {
		this.shareTokenCache = {};
		this.user = {};
		this.oauth = {};
		this.saveFileIdCaches = {};
		this.saveDirName = "drpy";
		this.CLIENT_ID = "76917ccccd4441c39457a04f6084fb2f";
		this.deviceId = "PkDvH8q6GRgBASQOA6EMvOI8";
		this.saveDirId = null;
		this.sid = "";
		this.baseHeaders = {
			"User-Agent": IOS_UA$1,
			Referer: "https://www.aliyundrive.com/"
		};
	}
	async init() {
		if (this.token) {
			console.log("阿里token获取成功：" + this.token);
		}
		if (this.ali_refresh_token === "") {
			this.oauth.access_token = null;
		} else {
			let exp = JSON.parse(CryptoJS.enc.Base64.parse(this.ali_refresh_token.split(".")[1]).toString(CryptoJS.enc.Utf8));
			let now = Math.floor(Date.now() / 1e3);
			if (exp.exp < now) {
				this.oauth.access_token = null;
				console.log("阿里ali_refresh_token已过期,重新获取阿里ali_refresh_token");
			} else {
				this.oauth.access_token = this.ali_refresh_token;
				console.log("阿里ali_refresh_token未过期，继续使用,可使用时间截止到：" + new Date(exp.exp * 1e3).toLocaleString());
				console.log("阿里ali_refresh_token获取成功：" + this.ali_refresh_token);
			}
		}
	}
	get token() {
		return ENV.get("ali_token");
	}
	get ali_refresh_token() {
		return ENV.get("ali_refresh_token");
	}
	getShareData(url) {
		const regex = /https:\/\/www\.alipan\.com\/s\/([^\\/]+)(\/folder\/([^\\/]+))?|https:\/\/www\.aliyundrive\.com\/s\/([^\\/]+)(\/folder\/([^\\/]+))?/;
		const matches = regex.exec(url);
		if (matches) {
			return {
				shareId: matches[1] || matches[4],
				folderId: matches[3] || matches[6] || "root"
			};
		}
		return null;
	}
	lcs(str1, str2) {
		if (!str1 || !str2) {
			return {
				length: 0,
				sequence: "",
				offset: 0
			};
		}
		let sequence = "";
		const str1Length = str1.length;
		const str2Length = str2.length;
		const num = new Array(str1Length);
		let maxlen = 0;
		let lastSubsBegin = 0;
		for (let i = 0; i < str1Length; i++) {
			const subArray = new Array(str2Length);
			for (let j = 0; j < str2Length; j++) {
				subArray[j] = 0;
			}
			num[i] = subArray;
		}
		let thisSubsBegin = null;
		for (let i = 0; i < str1Length; i++) {
			for (let j = 0; j < str2Length; j++) {
				if (str1[i] !== str2[j]) {
					num[i][j] = 0;
				} else {
					if (i === 0 || j === 0) {
						num[i][j] = 1;
					} else {
						num[i][j] = 1 + num[i - 1][j - 1];
					}
					if (num[i][j] > maxlen) {
						maxlen = num[i][j];
						thisSubsBegin = i - num[i][j] + 1;
						if (lastSubsBegin === thisSubsBegin) {
							sequence += str1[i];
						} else {
							lastSubsBegin = thisSubsBegin;
							sequence = "";
							sequence += str1.substr(lastSubsBegin, i + 1 - lastSubsBegin);
						}
					}
				}
			}
		}
		return {
			length: maxlen,
			sequence,
			offset: thisSubsBegin
		};
	}
	findBestLCS(mainItem, targetItems) {
		const results = [];
		let bestMatchIndex = 0;
		for (let i = 0; i < targetItems.length; i++) {
			const currentLCS = this.lcs(mainItem.name, targetItems[i].name);
			results.push({
				target: targetItems[i],
				lcs: currentLCS
			});
			if (currentLCS.length > results[bestMatchIndex].lcs.length) {
				bestMatchIndex = i;
			}
		}
		const bestMatch = results[bestMatchIndex];
		return {
			allLCS: results,
			bestMatch,
			bestMatchIndex
		};
	}
	delay(ms) {
		return new Promise((resolve) => setTimeout(resolve, ms));
	}
	async api(url, data, headers, retry) {
		headers = headers || {};
		const auth = url.startsWith("adrive/");
		Object.assign(headers, this.baseHeaders);
		if (auth) {
			await this.refreshAccessToken();
			Object.assign(headers, { Authorization: this.user.auth });
		}
		const resp = await req$1.post(`${apiUrl}/${url}`, data, { headers }).catch((err) => {
			console.error(err);
			return err.response || {
				status: 500,
				data: {}
			};
		});
		if (resp.status === 401) {
			console.error("请求未授权，尝试刷新 Token 并重试");
			await this.refreshAccessToken();
			Object.assign(headers, { Authorization: this.user.auth });
			return await this.api(url, data, headers, retry - 1);
		} else if (resp.status === 429 && retry > 0) {
			console.error("请求频繁，请稍后再试");
			await this.delay(1e3);
			await this.refreshAccessToken();
			return await this.api(url, data, headers, retry - 1);
		}
		return resp.data || {};
	}
	async openApi(url, data, headers, retry = 3) {
		headers = headers || {};
		let resp = "";
		if (url.startsWith("http")) {
			Object.assign(headers, { Authorization: "Bearer " + this.oauth.access_token });
			resp = await req$1.post(`${url}`, data, { headers }).catch((err) => {
				console.error(err);
				return err.response || {
					status: 500,
					data: {}
				};
			});
		} else {
			Object.assign(headers, { Authorization: this.user.auth });
			resp = await req$1.post(`${apiUrl}/${url}`, data, { headers }).catch((err) => {
				console.error(err);
				return err.response || {
					status: 500,
					data: {}
				};
			});
		}
		if (resp.status === 429 && retry > 0) {
			await this.delay(1e3);
			return await this.api(url, data, headers, retry - 1);
		}
		return resp.data || {};
	}
	async getDriveSid() {
		let data = JSON.stringify({
			"scopes": [
				"user:base",
				"file:all:read",
				"file:all:write"
			],
			"width": 300,
			"height": 300
		});
		let headers = { "Content-Type": "application/json" };
		let resp = await req$1.post("https://aliyundrive-oauth.messense.me/oauth/authorize/qrcode", data, { headers });
		if (resp.data.sid) {
			this.sid = resp.data.sid;
		}
	}
	async getDriveFlag() {
		let body = {
			"authorize": 1,
			"scope": "user:base,file:all:read,file:all:write",
			"drives": ["backup", "resource"],
			"scopes": [
				"user:base",
				"file:all:read",
				"file:all:write"
			],
			"sid": this.sid
		};
		let headers = { "authorization": this.user.auth };
		let resp = await req$1.post("https://open.aliyundrive.com/oauth/users/qrcode/authorize?sid=" + this.sid, body, { headers });
		return resp.data.result;
	}
	async getDriveCode() {
		let status = await req$1.get(`https://openapi.aliyundrive.com/oauth/qrcode/${this.sid}/status`);
		if (status.data.status === "LoginSuccess") {
			return status.data.authCode;
		}
	}
	async driveAuth() {
		await this.init();
		if (!this.oauth.access_token || this.oauth.expire_time - (0, import_dayjs_min.default)().unix() < 120 && this.user.auth) {
			let headers = this.baseHeaders;
			Object.assign(headers, { "Authorization": this.user.auth });
			await this.getDriveSid();
			let flag = await this.getDriveFlag();
			if (flag) {
				let code = await this.getDriveCode();
				let data = {
					code,
					grant_type: "authorization_code"
				};
				let response = await req$1.post("https://aliyundrive-oauth.messense.me/oauth/access_token", data);
				if (response.status === 200) {
					this.oauth = response.data;
					const info = JSON.parse(CryptoJS.enc.Base64.parse(this.oauth.access_token.split(".")[1]).toString(CryptoJS.enc.Utf8));
					this.oauth.expire_time = info.exp;
					this.oauth.auth = `${this.oauth.token_type} ${this.oauth.access_token}`;
					await ENV.set("ali_refresh_token", this.oauth.access_token);
					console.log("授权成功");
				}
			}
		} else {
			console.log("已授权，无需再授权");
		}
	}
	async refreshAccessToken() {
		if (!this.user.user_id || this.user.expire_time - (0, import_dayjs_min.default)().unix() < 120) {
			let loginResp = await req$1.post("https://auth.aliyundrive.com/v2/account/token", {
				refresh_token: this.user.refresh_token || this.token,
				grant_type: "refresh_token"
			}, { headers: this.baseHeaders }).catch((err) => {
				return err.response || {
					status: 500,
					data: {}
				};
			});
			if (loginResp.status === 200) {
				this.user = loginResp.data;
				this.user.expire_time = (0, import_dayjs_min.default)(loginResp.data.expire_time).unix();
				this.user.auth = `${this.user.token_type} ${this.user.access_token}`;
				ENV.set("ali_token", this.user.refresh_token);
			} else {
				console.error("刷新 Access Token 失败");
			}
		}
	}
	async clearSaveDir() {
		const listData = await this.openApi(`adrive/v3/file/list`, {
			drive_id: this.user.drive.resource_drive_id,
			parent_file_id: this.saveDirId,
			limit: 100,
			order_by: "updated_at",
			order_direction: "DESC"
		});
		if (listData.items) {
			for (const item of listData.items) {
				const del = await this.openApi(`v2/recyclebin/trash`, {
					drive_id: this.user.drive.resource_drive_id,
					file_id: item.file_id
				});
				console.log(del);
			}
		}
	}
	async createSaveDir(clean) {
		if (!this.user.device_id) return;
		if (this.saveDirId) {
			if (clean) await this.clearSaveDir();
			return;
		}
		let driveInfo = await this.userApi(`/v2/user/get`, {});
		if (driveInfo.resource_drive_id) {
			this.user.drive = driveInfo;
			const resource_drive_id = driveInfo.resource_drive_id;
			const listData = await this.openApi(`adrive/v3/file/list`, {
				drive_id: resource_drive_id,
				parent_file_id: "root",
				limit: 100,
				order_by: "updated_at",
				order_direction: "DESC"
			});
			if (listData.items) {
				for (const item of listData.items) {
					if (item.name === this.saveDirName) {
						this.saveDirId = item.file_id;
						await this.clearSaveDir();
						break;
					}
				}
				if (!this.saveDirId) {
					const create = await this.openApi(`adrive/v2/file/createWithFolders`, {
						check_name_mode: "refuse",
						drive_id: resource_drive_id,
						name: this.saveDirName,
						parent_file_id: "root",
						type: "folder"
					});
					console.log(create);
					if (create.file_id) {
						this.saveDirId = create.file_id;
					}
				}
			}
		}
	}
	async getShareToken(shareData) {
		if (!this.shareTokenCache[shareData.shareId] || this.shareTokenCache[shareData.shareId].expire_time - (0, import_dayjs_min.default)().unix() < 120) {
			delete this.shareTokenCache[shareData.shareId];
			const shareToken = await this.api(`v2/share_link/get_share_token`, {
				share_id: shareData.shareId,
				share_pwd: shareData.sharePwd || ""
			});
			if (shareToken.expire_time) {
				shareToken.expire_time = (0, import_dayjs_min.default)(shareToken.expire_time).unix();
				this.shareTokenCache[shareData.shareId] = shareToken;
			}
		}
	}
	async getFilesByShareUrl(shareInfo) {
		const shareData = typeof shareInfo === "string" ? this.getShareData(shareInfo) : shareInfo;
		if (!shareData) return [];
		await this.getShareToken(shareData);
		if (!this.shareTokenCache[shareData.shareId]) return [];
		const videos = [];
		const subtitles = [];
		const listFile = async (shareId, folderId, nextMarker) => {
			const listData = await this.api(`adrive/v2/file/list_by_share`, {
				share_id: shareId,
				parent_file_id: folderId,
				limit: 200,
				order_by: "name",
				order_direction: "ASC",
				marker: nextMarker || ""
			}, { "X-Share-Token": this.shareTokenCache[shareId].share_token });
			const items = listData.items;
			if (!items) return [];
			if (listData.next_marker) {
				const nextItems = await listFile(shareId, folderId, listData.next_marker);
				for (const item of nextItems) {
					items.push(item);
				}
			}
			const subDir = [];
			for (const item of items) {
				if (item.type === "folder") {
					subDir.push(item);
				} else if (item.type === "file" && item.category === "video") {
					if (item.size < 1024 * 1024 * 5) continue;
					item.name = item.name.replace(/玩偶哥.*【神秘的哥哥们】/g, "");
					videos.push(item);
				} else if (item.type === "file" && subtitleExts.some((x) => item.file_extension.endsWith(x))) {
					subtitles.push(item);
				}
			}
			for (const dir of subDir) {
				const subItems = await listFile(dir.share_id, dir.file_id);
				for (const item of subItems) {
					items.push(item);
				}
			}
			return items;
		};
		await listFile(shareData.shareId, shareData.folderId);
		if (subtitles.length > 0) {
			videos.forEach((item) => {
				const matchSubtitle = this.findBestLCS(item, subtitles);
				if (matchSubtitle.bestMatch) {
					item.subtitle = matchSubtitle.bestMatch.target;
				}
			});
		}
		return videos;
	}
	async save(shareId, fileId, clean) {
		await this.refreshAccessToken();
		await this.driveAuth();
		await this.createSaveDir(clean);
		if (clean) {
			const saves = Object.keys(this.saveFileIdCaches);
			for (const save of saves) {
				delete this.saveFileIdCaches[save];
			}
		}
		if (!this.saveDirId) return null;
		await this.getShareToken({ shareId });
		if (!this.shareTokenCache[shareId]) return null;
		const saveResult = await this.api(`adrive/v2/file/copy`, {
			file_id: fileId,
			share_id: shareId,
			auto_rename: true,
			to_parent_file_id: this.saveDirId,
			to_drive_id: this.user.drive.resource_drive_id
		}, { "X-Share-Token": this.shareTokenCache[shareId].share_token });
		if (saveResult.file_id) return saveResult.file_id;
		return false;
	}
	async getLiveTranscoding(shareId, fileId) {
		if (!this.saveFileIdCaches[fileId]) {
			const saveFileId = await this.save(shareId, fileId, true);
			if (!saveFileId) return null;
			this.saveFileIdCaches[fileId] = saveFileId;
		}
		const transcoding = await this.openApi(`v2/file/get_video_preview_play_info`, {
			file_id: this.saveFileIdCaches[fileId],
			drive_id: this.user.drive.resource_drive_id,
			category: "live_transcoding",
			url_expire_sec: "14400"
		});
		if (transcoding.video_preview_play_info && transcoding.video_preview_play_info.live_transcoding_task_list) {
			return transcoding.video_preview_play_info.live_transcoding_task_list;
		}
		return null;
	}
	async getDownload(shareId, fileId) {
		if (!this.saveFileIdCaches[fileId]) {
			const saveFileId = await this.save(shareId, fileId, true);
			if (!saveFileId) return null;
			this.saveFileIdCaches[fileId] = saveFileId;
		}
		const down = await this.openApi(`https://open.aliyundrive.com/adrive/v1.0/openFile/getDownloadUrl`, {
			file_id: this.saveFileIdCaches[fileId],
			drive_id: this.user.drive.resource_drive_id
		}, {
			"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) aDrive/6.7.3 Chrome/112.0.5615.165 Electron/24.1.3.7 Safari/537.36",
			"Content-Type": "application/json",
			"x-canary": "client=windows,app=adrive,version=v6.7.3"
		});
		if (down.url) {
			return down;
		}
		return null;
	}
	async userApi(url, param) {
		url = url.startsWith("http") ? url : `${userUrl}${url}`;
		let headers = {
			"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
			"Accept": "application/json, text/plain, */*",
			"Content-Type": "application/json",
			"accept-language": "zh-CN,zh;q=0.9",
			"referer": "https://www.alipan.com/"
		};
		Object.assign(headers, { Authorization: this.user.auth });
		let resp = await req$1.post(url, { param }, { headers });
		if (resp.status === 200) {
			return resp.data;
		} else {
			console.log("获取用户信息失败");
			return null;
		}
	}
};
const Ali$1 = new AliDrive();

//#endregion
//#region ../node_modules/crypto-js/core.js
var require_core = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory) {
		if (typeof exports === "object") {
			module.exports = exports = factory();
		} else if (typeof define === "function" && define.amd) {
			define([], factory);
		} else {
			root.CryptoJS = factory();
		}
	})(exports, function() {
		/**
		* CryptoJS core components.
		*/
		var CryptoJS = CryptoJS || function(Math, undefined) {
			var crypto;
			if (typeof window !== "undefined" && window.crypto) {
				crypto = window.crypto;
			}
			if (typeof self !== "undefined" && self.crypto) {
				crypto = self.crypto;
			}
			if (typeof globalThis !== "undefined" && globalThis.crypto) {
				crypto = globalThis.crypto;
			}
			if (!crypto && typeof window !== "undefined" && window.msCrypto) {
				crypto = window.msCrypto;
			}
			if (!crypto && typeof global !== "undefined" && global.crypto) {
				crypto = global.crypto;
			}
			if (!crypto && typeof __require === "function") {
				try {
					crypto = __require("crypto");
				} catch (err) {}
			}
			var cryptoSecureRandomInt = function() {
				if (crypto) {
					if (typeof crypto.getRandomValues === "function") {
						try {
							return crypto.getRandomValues(new Uint32Array(1))[0];
						} catch (err) {}
					}
					if (typeof crypto.randomBytes === "function") {
						try {
							return crypto.randomBytes(4).readInt32LE();
						} catch (err) {}
					}
				}
				throw new Error("Native crypto module could not be used to get secure random number.");
			};
			var create = Object.create || function() {
				function F() {}
				return function(obj) {
					var subtype;
					F.prototype = obj;
					subtype = new F();
					F.prototype = null;
					return subtype;
				};
			}();
			/**
			* CryptoJS namespace.
			*/
			var C = {};
			/**
			* Library namespace.
			*/
			var C_lib = C.lib = {};
			/**
			* Base object for prototypal inheritance.
			*/
			var Base = C_lib.Base = function() {
				return {
					extend: function(overrides) {
						var subtype = create(this);
						if (overrides) {
							subtype.mixIn(overrides);
						}
						if (!subtype.hasOwnProperty("init") || this.init === subtype.init) {
							subtype.init = function() {
								subtype.$super.init.apply(this, arguments);
							};
						}
						subtype.init.prototype = subtype;
						subtype.$super = this;
						return subtype;
					},
					create: function() {
						var instance = this.extend();
						instance.init.apply(instance, arguments);
						return instance;
					},
					init: function() {},
					mixIn: function(properties) {
						for (var propertyName in properties) {
							if (properties.hasOwnProperty(propertyName)) {
								this[propertyName] = properties[propertyName];
							}
						}
						if (properties.hasOwnProperty("toString")) {
							this.toString = properties.toString;
						}
					},
					clone: function() {
						return this.init.prototype.extend(this);
					}
				};
			}();
			/**
			* An array of 32-bit words.
			*
			* @property {Array} words The array of 32-bit words.
			* @property {number} sigBytes The number of significant bytes in this word array.
			*/
			var WordArray = C_lib.WordArray = Base.extend({
				init: function(words, sigBytes) {
					words = this.words = words || [];
					if (sigBytes != undefined) {
						this.sigBytes = sigBytes;
					} else {
						this.sigBytes = words.length * 4;
					}
				},
				toString: function(encoder) {
					return (encoder || Hex).stringify(this);
				},
				concat: function(wordArray) {
					var thisWords = this.words;
					var thatWords = wordArray.words;
					var thisSigBytes = this.sigBytes;
					var thatSigBytes = wordArray.sigBytes;
					this.clamp();
					if (thisSigBytes % 4) {
						for (var i = 0; i < thatSigBytes; i++) {
							var thatByte = thatWords[i >>> 2] >>> 24 - i % 4 * 8 & 255;
							thisWords[thisSigBytes + i >>> 2] |= thatByte << 24 - (thisSigBytes + i) % 4 * 8;
						}
					} else {
						for (var j = 0; j < thatSigBytes; j += 4) {
							thisWords[thisSigBytes + j >>> 2] = thatWords[j >>> 2];
						}
					}
					this.sigBytes += thatSigBytes;
					return this;
				},
				clamp: function() {
					var words = this.words;
					var sigBytes = this.sigBytes;
					words[sigBytes >>> 2] &= 4294967295 << 32 - sigBytes % 4 * 8;
					words.length = Math.ceil(sigBytes / 4);
				},
				clone: function() {
					var clone = Base.clone.call(this);
					clone.words = this.words.slice(0);
					return clone;
				},
				random: function(nBytes) {
					var words = [];
					for (var i = 0; i < nBytes; i += 4) {
						words.push(cryptoSecureRandomInt());
					}
					return new WordArray.init(words, nBytes);
				}
			});
			/**
			* Encoder namespace.
			*/
			var C_enc = C.enc = {};
			/**
			* Hex encoding strategy.
			*/
			var Hex = C_enc.Hex = {
				stringify: function(wordArray) {
					var words = wordArray.words;
					var sigBytes = wordArray.sigBytes;
					var hexChars = [];
					for (var i = 0; i < sigBytes; i++) {
						var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 255;
						hexChars.push((bite >>> 4).toString(16));
						hexChars.push((bite & 15).toString(16));
					}
					return hexChars.join("");
				},
				parse: function(hexStr) {
					var hexStrLength = hexStr.length;
					var words = [];
					for (var i = 0; i < hexStrLength; i += 2) {
						words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << 24 - i % 8 * 4;
					}
					return new WordArray.init(words, hexStrLength / 2);
				}
			};
			/**
			* Latin1 encoding strategy.
			*/
			var Latin1 = C_enc.Latin1 = {
				stringify: function(wordArray) {
					var words = wordArray.words;
					var sigBytes = wordArray.sigBytes;
					var latin1Chars = [];
					for (var i = 0; i < sigBytes; i++) {
						var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 255;
						latin1Chars.push(String.fromCharCode(bite));
					}
					return latin1Chars.join("");
				},
				parse: function(latin1Str) {
					var latin1StrLength = latin1Str.length;
					var words = [];
					for (var i = 0; i < latin1StrLength; i++) {
						words[i >>> 2] |= (latin1Str.charCodeAt(i) & 255) << 24 - i % 4 * 8;
					}
					return new WordArray.init(words, latin1StrLength);
				}
			};
			/**
			* UTF-8 encoding strategy.
			*/
			var Utf8 = C_enc.Utf8 = {
				stringify: function(wordArray) {
					try {
						return decodeURIComponent(escape(Latin1.stringify(wordArray)));
					} catch (e) {
						throw new Error("Malformed UTF-8 data");
					}
				},
				parse: function(utf8Str) {
					return Latin1.parse(unescape(encodeURIComponent(utf8Str)));
				}
			};
			/**
			* Abstract buffered block algorithm template.
			*
			* The property blockSize must be implemented in a concrete subtype.
			*
			* @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0
			*/
			var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({
				reset: function() {
					this._data = new WordArray.init();
					this._nDataBytes = 0;
				},
				_append: function(data) {
					if (typeof data == "string") {
						data = Utf8.parse(data);
					}
					this._data.concat(data);
					this._nDataBytes += data.sigBytes;
				},
				_process: function(doFlush) {
					var processedWords;
					var data = this._data;
					var dataWords = data.words;
					var dataSigBytes = data.sigBytes;
					var blockSize = this.blockSize;
					var blockSizeBytes = blockSize * 4;
					var nBlocksReady = dataSigBytes / blockSizeBytes;
					if (doFlush) {
						nBlocksReady = Math.ceil(nBlocksReady);
					} else {
						nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);
					}
					var nWordsReady = nBlocksReady * blockSize;
					var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);
					if (nWordsReady) {
						for (var offset = 0; offset < nWordsReady; offset += blockSize) {
							this._doProcessBlock(dataWords, offset);
						}
						processedWords = dataWords.splice(0, nWordsReady);
						data.sigBytes -= nBytesReady;
					}
					return new WordArray.init(processedWords, nBytesReady);
				},
				clone: function() {
					var clone = Base.clone.call(this);
					clone._data = this._data.clone();
					return clone;
				},
				_minBufferSize: 0
			});
			/**
			* Abstract hasher template.
			*
			* @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)
			*/
			var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({
				cfg: Base.extend(),
				init: function(cfg) {
					this.cfg = this.cfg.extend(cfg);
					this.reset();
				},
				reset: function() {
					BufferedBlockAlgorithm.reset.call(this);
					this._doReset();
				},
				update: function(messageUpdate) {
					this._append(messageUpdate);
					this._process();
					return this;
				},
				finalize: function(messageUpdate) {
					if (messageUpdate) {
						this._append(messageUpdate);
					}
					var hash = this._doFinalize();
					return hash;
				},
				blockSize: 512 / 32,
				_createHelper: function(hasher) {
					return function(message, cfg) {
						return new hasher.init(cfg).finalize(message);
					};
				},
				_createHmacHelper: function(hasher) {
					return function(message, key) {
						return new C_algo.HMAC.init(hasher, key).finalize(message);
					};
				}
			});
			/**
			* Algorithm namespace.
			*/
			var C_algo = C.algo = {};
			return C;
		}(Math);
		return CryptoJS;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/x64-core.js
var require_x64_core = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core());
		} else if (typeof define === "function" && define.amd) {
			define(["./core"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		(function(undefined) {
			var C = CryptoJS;
			var C_lib = C.lib;
			var Base = C_lib.Base;
			var X32WordArray = C_lib.WordArray;
			/**
			* x64 namespace.
			*/
			var C_x64 = C.x64 = {};
			/**
			* A 64-bit word.
			*/
			var X64Word = C_x64.Word = Base.extend({ init: function(high, low) {
				this.high = high;
				this.low = low;
			} });
			/**
			* An array of 64-bit words.
			*
			* @property {Array} words The array of CryptoJS.x64.Word objects.
			* @property {number} sigBytes The number of significant bytes in this word array.
			*/
			var X64WordArray = C_x64.WordArray = Base.extend({
				init: function(words, sigBytes) {
					words = this.words = words || [];
					if (sigBytes != undefined) {
						this.sigBytes = sigBytes;
					} else {
						this.sigBytes = words.length * 8;
					}
				},
				toX32: function() {
					var x64Words = this.words;
					var x64WordsLength = x64Words.length;
					var x32Words = [];
					for (var i = 0; i < x64WordsLength; i++) {
						var x64Word = x64Words[i];
						x32Words.push(x64Word.high);
						x32Words.push(x64Word.low);
					}
					return X32WordArray.create(x32Words, this.sigBytes);
				},
				clone: function() {
					var clone = Base.clone.call(this);
					var words = clone.words = this.words.slice(0);
					var wordsLength = words.length;
					for (var i = 0; i < wordsLength; i++) {
						words[i] = words[i].clone();
					}
					return clone;
				}
			});
		})();
		return CryptoJS;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/lib-typedarrays.js
var require_lib_typedarrays = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core());
		} else if (typeof define === "function" && define.amd) {
			define(["./core"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		(function() {
			if (typeof ArrayBuffer != "function") {
				return;
			}
			var C = CryptoJS;
			var C_lib = C.lib;
			var WordArray = C_lib.WordArray;
			var superInit = WordArray.init;
			var subInit = WordArray.init = function(typedArray) {
				if (typedArray instanceof ArrayBuffer) {
					typedArray = new Uint8Array(typedArray);
				}
				if (typedArray instanceof Int8Array || typeof Uint8ClampedArray !== "undefined" && typedArray instanceof Uint8ClampedArray || typedArray instanceof Int16Array || typedArray instanceof Uint16Array || typedArray instanceof Int32Array || typedArray instanceof Uint32Array || typedArray instanceof Float32Array || typedArray instanceof Float64Array) {
					typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength);
				}
				if (typedArray instanceof Uint8Array) {
					var typedArrayByteLength = typedArray.byteLength;
					var words = [];
					for (var i = 0; i < typedArrayByteLength; i++) {
						words[i >>> 2] |= typedArray[i] << 24 - i % 4 * 8;
					}
					superInit.call(this, words, typedArrayByteLength);
				} else {
					superInit.apply(this, arguments);
				}
			};
			subInit.prototype = WordArray;
		})();
		return CryptoJS.lib.WordArray;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/enc-utf16.js
var require_enc_utf16 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core());
		} else if (typeof define === "function" && define.amd) {
			define(["./core"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var WordArray = C_lib.WordArray;
			var C_enc = C.enc;
			/**
			* UTF-16 BE encoding strategy.
			*/
			var Utf16BE = C_enc.Utf16 = C_enc.Utf16BE = {
				stringify: function(wordArray) {
					var words = wordArray.words;
					var sigBytes = wordArray.sigBytes;
					var utf16Chars = [];
					for (var i = 0; i < sigBytes; i += 2) {
						var codePoint = words[i >>> 2] >>> 16 - i % 4 * 8 & 65535;
						utf16Chars.push(String.fromCharCode(codePoint));
					}
					return utf16Chars.join("");
				},
				parse: function(utf16Str) {
					var utf16StrLength = utf16Str.length;
					var words = [];
					for (var i = 0; i < utf16StrLength; i++) {
						words[i >>> 1] |= utf16Str.charCodeAt(i) << 16 - i % 2 * 16;
					}
					return WordArray.create(words, utf16StrLength * 2);
				}
			};
			/**
			* UTF-16 LE encoding strategy.
			*/
			C_enc.Utf16LE = {
				stringify: function(wordArray) {
					var words = wordArray.words;
					var sigBytes = wordArray.sigBytes;
					var utf16Chars = [];
					for (var i = 0; i < sigBytes; i += 2) {
						var codePoint = swapEndian(words[i >>> 2] >>> 16 - i % 4 * 8 & 65535);
						utf16Chars.push(String.fromCharCode(codePoint));
					}
					return utf16Chars.join("");
				},
				parse: function(utf16Str) {
					var utf16StrLength = utf16Str.length;
					var words = [];
					for (var i = 0; i < utf16StrLength; i++) {
						words[i >>> 1] |= swapEndian(utf16Str.charCodeAt(i) << 16 - i % 2 * 16);
					}
					return WordArray.create(words, utf16StrLength * 2);
				}
			};
			function swapEndian(word) {
				return word << 8 & 4278255360 | word >>> 8 & 16711935;
			}
		})();
		return CryptoJS.enc.Utf16;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/enc-base64.js
var require_enc_base64 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core());
		} else if (typeof define === "function" && define.amd) {
			define(["./core"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var WordArray = C_lib.WordArray;
			var C_enc = C.enc;
			/**
			* Base64 encoding strategy.
			*/
			var Base64 = C_enc.Base64 = {
				stringify: function(wordArray) {
					var words = wordArray.words;
					var sigBytes = wordArray.sigBytes;
					var map = this._map;
					wordArray.clamp();
					var base64Chars = [];
					for (var i = 0; i < sigBytes; i += 3) {
						var byte1 = words[i >>> 2] >>> 24 - i % 4 * 8 & 255;
						var byte2 = words[i + 1 >>> 2] >>> 24 - (i + 1) % 4 * 8 & 255;
						var byte3 = words[i + 2 >>> 2] >>> 24 - (i + 2) % 4 * 8 & 255;
						var triplet = byte1 << 16 | byte2 << 8 | byte3;
						for (var j = 0; j < 4 && i + j * .75 < sigBytes; j++) {
							base64Chars.push(map.charAt(triplet >>> 6 * (3 - j) & 63));
						}
					}
					var paddingChar = map.charAt(64);
					if (paddingChar) {
						while (base64Chars.length % 4) {
							base64Chars.push(paddingChar);
						}
					}
					return base64Chars.join("");
				},
				parse: function(base64Str) {
					var base64StrLength = base64Str.length;
					var map = this._map;
					var reverseMap = this._reverseMap;
					if (!reverseMap) {
						reverseMap = this._reverseMap = [];
						for (var j = 0; j < map.length; j++) {
							reverseMap[map.charCodeAt(j)] = j;
						}
					}
					var paddingChar = map.charAt(64);
					if (paddingChar) {
						var paddingIndex = base64Str.indexOf(paddingChar);
						if (paddingIndex !== -1) {
							base64StrLength = paddingIndex;
						}
					}
					return parseLoop(base64Str, base64StrLength, reverseMap);
				},
				_map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
			};
			function parseLoop(base64Str, base64StrLength, reverseMap) {
				var words = [];
				var nBytes = 0;
				for (var i = 0; i < base64StrLength; i++) {
					if (i % 4) {
						var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << i % 4 * 2;
						var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> 6 - i % 4 * 2;
						var bitsCombined = bits1 | bits2;
						words[nBytes >>> 2] |= bitsCombined << 24 - nBytes % 4 * 8;
						nBytes++;
					}
				}
				return WordArray.create(words, nBytes);
			}
		})();
		return CryptoJS.enc.Base64;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/enc-base64url.js
var require_enc_base64url = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core());
		} else if (typeof define === "function" && define.amd) {
			define(["./core"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var WordArray = C_lib.WordArray;
			var C_enc = C.enc;
			/**
			* Base64url encoding strategy.
			*/
			var Base64url = C_enc.Base64url = {
				stringify: function(wordArray, urlSafe) {
					if (urlSafe === undefined) {
						urlSafe = true;
					}
					var words = wordArray.words;
					var sigBytes = wordArray.sigBytes;
					var map = urlSafe ? this._safe_map : this._map;
					wordArray.clamp();
					var base64Chars = [];
					for (var i = 0; i < sigBytes; i += 3) {
						var byte1 = words[i >>> 2] >>> 24 - i % 4 * 8 & 255;
						var byte2 = words[i + 1 >>> 2] >>> 24 - (i + 1) % 4 * 8 & 255;
						var byte3 = words[i + 2 >>> 2] >>> 24 - (i + 2) % 4 * 8 & 255;
						var triplet = byte1 << 16 | byte2 << 8 | byte3;
						for (var j = 0; j < 4 && i + j * .75 < sigBytes; j++) {
							base64Chars.push(map.charAt(triplet >>> 6 * (3 - j) & 63));
						}
					}
					var paddingChar = map.charAt(64);
					if (paddingChar) {
						while (base64Chars.length % 4) {
							base64Chars.push(paddingChar);
						}
					}
					return base64Chars.join("");
				},
				parse: function(base64Str, urlSafe) {
					if (urlSafe === undefined) {
						urlSafe = true;
					}
					var base64StrLength = base64Str.length;
					var map = urlSafe ? this._safe_map : this._map;
					var reverseMap = this._reverseMap;
					if (!reverseMap) {
						reverseMap = this._reverseMap = [];
						for (var j = 0; j < map.length; j++) {
							reverseMap[map.charCodeAt(j)] = j;
						}
					}
					var paddingChar = map.charAt(64);
					if (paddingChar) {
						var paddingIndex = base64Str.indexOf(paddingChar);
						if (paddingIndex !== -1) {
							base64StrLength = paddingIndex;
						}
					}
					return parseLoop(base64Str, base64StrLength, reverseMap);
				},
				_map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
				_safe_map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"
			};
			function parseLoop(base64Str, base64StrLength, reverseMap) {
				var words = [];
				var nBytes = 0;
				for (var i = 0; i < base64StrLength; i++) {
					if (i % 4) {
						var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << i % 4 * 2;
						var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> 6 - i % 4 * 2;
						var bitsCombined = bits1 | bits2;
						words[nBytes >>> 2] |= bitsCombined << 24 - nBytes % 4 * 8;
						nBytes++;
					}
				}
				return WordArray.create(words, nBytes);
			}
		})();
		return CryptoJS.enc.Base64url;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/md5.js
var require_md5 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core());
		} else if (typeof define === "function" && define.amd) {
			define(["./core"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		(function(Math) {
			var C = CryptoJS;
			var C_lib = C.lib;
			var WordArray = C_lib.WordArray;
			var Hasher = C_lib.Hasher;
			var C_algo = C.algo;
			var T = [];
			(function() {
				for (var i = 0; i < 64; i++) {
					T[i] = Math.abs(Math.sin(i + 1)) * 4294967296 | 0;
				}
			})();
			/**
			* MD5 hash algorithm.
			*/
			var MD5 = C_algo.MD5 = Hasher.extend({
				_doReset: function() {
					this._hash = new WordArray.init([
						1732584193,
						4023233417,
						2562383102,
						271733878
					]);
				},
				_doProcessBlock: function(M, offset) {
					for (var i = 0; i < 16; i++) {
						var offset_i = offset + i;
						var M_offset_i = M[offset_i];
						M[offset_i] = (M_offset_i << 8 | M_offset_i >>> 24) & 16711935 | (M_offset_i << 24 | M_offset_i >>> 8) & 4278255360;
					}
					var H = this._hash.words;
					var M_offset_0 = M[offset + 0];
					var M_offset_1 = M[offset + 1];
					var M_offset_2 = M[offset + 2];
					var M_offset_3 = M[offset + 3];
					var M_offset_4 = M[offset + 4];
					var M_offset_5 = M[offset + 5];
					var M_offset_6 = M[offset + 6];
					var M_offset_7 = M[offset + 7];
					var M_offset_8 = M[offset + 8];
					var M_offset_9 = M[offset + 9];
					var M_offset_10 = M[offset + 10];
					var M_offset_11 = M[offset + 11];
					var M_offset_12 = M[offset + 12];
					var M_offset_13 = M[offset + 13];
					var M_offset_14 = M[offset + 14];
					var M_offset_15 = M[offset + 15];
					var a = H[0];
					var b = H[1];
					var c = H[2];
					var d = H[3];
					a = FF(a, b, c, d, M_offset_0, 7, T[0]);
					d = FF(d, a, b, c, M_offset_1, 12, T[1]);
					c = FF(c, d, a, b, M_offset_2, 17, T[2]);
					b = FF(b, c, d, a, M_offset_3, 22, T[3]);
					a = FF(a, b, c, d, M_offset_4, 7, T[4]);
					d = FF(d, a, b, c, M_offset_5, 12, T[5]);
					c = FF(c, d, a, b, M_offset_6, 17, T[6]);
					b = FF(b, c, d, a, M_offset_7, 22, T[7]);
					a = FF(a, b, c, d, M_offset_8, 7, T[8]);
					d = FF(d, a, b, c, M_offset_9, 12, T[9]);
					c = FF(c, d, a, b, M_offset_10, 17, T[10]);
					b = FF(b, c, d, a, M_offset_11, 22, T[11]);
					a = FF(a, b, c, d, M_offset_12, 7, T[12]);
					d = FF(d, a, b, c, M_offset_13, 12, T[13]);
					c = FF(c, d, a, b, M_offset_14, 17, T[14]);
					b = FF(b, c, d, a, M_offset_15, 22, T[15]);
					a = GG(a, b, c, d, M_offset_1, 5, T[16]);
					d = GG(d, a, b, c, M_offset_6, 9, T[17]);
					c = GG(c, d, a, b, M_offset_11, 14, T[18]);
					b = GG(b, c, d, a, M_offset_0, 20, T[19]);
					a = GG(a, b, c, d, M_offset_5, 5, T[20]);
					d = GG(d, a, b, c, M_offset_10, 9, T[21]);
					c = GG(c, d, a, b, M_offset_15, 14, T[22]);
					b = GG(b, c, d, a, M_offset_4, 20, T[23]);
					a = GG(a, b, c, d, M_offset_9, 5, T[24]);
					d = GG(d, a, b, c, M_offset_14, 9, T[25]);
					c = GG(c, d, a, b, M_offset_3, 14, T[26]);
					b = GG(b, c, d, a, M_offset_8, 20, T[27]);
					a = GG(a, b, c, d, M_offset_13, 5, T[28]);
					d = GG(d, a, b, c, M_offset_2, 9, T[29]);
					c = GG(c, d, a, b, M_offset_7, 14, T[30]);
					b = GG(b, c, d, a, M_offset_12, 20, T[31]);
					a = HH(a, b, c, d, M_offset_5, 4, T[32]);
					d = HH(d, a, b, c, M_offset_8, 11, T[33]);
					c = HH(c, d, a, b, M_offset_11, 16, T[34]);
					b = HH(b, c, d, a, M_offset_14, 23, T[35]);
					a = HH(a, b, c, d, M_offset_1, 4, T[36]);
					d = HH(d, a, b, c, M_offset_4, 11, T[37]);
					c = HH(c, d, a, b, M_offset_7, 16, T[38]);
					b = HH(b, c, d, a, M_offset_10, 23, T[39]);
					a = HH(a, b, c, d, M_offset_13, 4, T[40]);
					d = HH(d, a, b, c, M_offset_0, 11, T[41]);
					c = HH(c, d, a, b, M_offset_3, 16, T[42]);
					b = HH(b, c, d, a, M_offset_6, 23, T[43]);
					a = HH(a, b, c, d, M_offset_9, 4, T[44]);
					d = HH(d, a, b, c, M_offset_12, 11, T[45]);
					c = HH(c, d, a, b, M_offset_15, 16, T[46]);
					b = HH(b, c, d, a, M_offset_2, 23, T[47]);
					a = II(a, b, c, d, M_offset_0, 6, T[48]);
					d = II(d, a, b, c, M_offset_7, 10, T[49]);
					c = II(c, d, a, b, M_offset_14, 15, T[50]);
					b = II(b, c, d, a, M_offset_5, 21, T[51]);
					a = II(a, b, c, d, M_offset_12, 6, T[52]);
					d = II(d, a, b, c, M_offset_3, 10, T[53]);
					c = II(c, d, a, b, M_offset_10, 15, T[54]);
					b = II(b, c, d, a, M_offset_1, 21, T[55]);
					a = II(a, b, c, d, M_offset_8, 6, T[56]);
					d = II(d, a, b, c, M_offset_15, 10, T[57]);
					c = II(c, d, a, b, M_offset_6, 15, T[58]);
					b = II(b, c, d, a, M_offset_13, 21, T[59]);
					a = II(a, b, c, d, M_offset_4, 6, T[60]);
					d = II(d, a, b, c, M_offset_11, 10, T[61]);
					c = II(c, d, a, b, M_offset_2, 15, T[62]);
					b = II(b, c, d, a, M_offset_9, 21, T[63]);
					H[0] = H[0] + a | 0;
					H[1] = H[1] + b | 0;
					H[2] = H[2] + c | 0;
					H[3] = H[3] + d | 0;
				},
				_doFinalize: function() {
					var data = this._data;
					var dataWords = data.words;
					var nBitsTotal = this._nDataBytes * 8;
					var nBitsLeft = data.sigBytes * 8;
					dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32;
					var nBitsTotalH = Math.floor(nBitsTotal / 4294967296);
					var nBitsTotalL = nBitsTotal;
					dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = (nBitsTotalH << 8 | nBitsTotalH >>> 24) & 16711935 | (nBitsTotalH << 24 | nBitsTotalH >>> 8) & 4278255360;
					dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = (nBitsTotalL << 8 | nBitsTotalL >>> 24) & 16711935 | (nBitsTotalL << 24 | nBitsTotalL >>> 8) & 4278255360;
					data.sigBytes = (dataWords.length + 1) * 4;
					this._process();
					var hash = this._hash;
					var H = hash.words;
					for (var i = 0; i < 4; i++) {
						var H_i = H[i];
						H[i] = (H_i << 8 | H_i >>> 24) & 16711935 | (H_i << 24 | H_i >>> 8) & 4278255360;
					}
					return hash;
				},
				clone: function() {
					var clone = Hasher.clone.call(this);
					clone._hash = this._hash.clone();
					return clone;
				}
			});
			function FF(a, b, c, d, x, s, t) {
				var n = a + (b & c | ~b & d) + x + t;
				return (n << s | n >>> 32 - s) + b;
			}
			function GG(a, b, c, d, x, s, t) {
				var n = a + (b & d | c & ~d) + x + t;
				return (n << s | n >>> 32 - s) + b;
			}
			function HH(a, b, c, d, x, s, t) {
				var n = a + (b ^ c ^ d) + x + t;
				return (n << s | n >>> 32 - s) + b;
			}
			function II(a, b, c, d, x, s, t) {
				var n = a + (c ^ (b | ~d)) + x + t;
				return (n << s | n >>> 32 - s) + b;
			}
			/**
			* Shortcut function to the hasher's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			*
			* @return {WordArray} The hash.
			*
			* @static
			*
			* @example
			*
			*     var hash = CryptoJS.MD5('message');
			*     var hash = CryptoJS.MD5(wordArray);
			*/
			C.MD5 = Hasher._createHelper(MD5);
			/**
			* Shortcut function to the HMAC's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			* @param {WordArray|string} key The secret key.
			*
			* @return {WordArray} The HMAC.
			*
			* @static
			*
			* @example
			*
			*     var hmac = CryptoJS.HmacMD5(message, key);
			*/
			C.HmacMD5 = Hasher._createHmacHelper(MD5);
		})(Math);
		return CryptoJS.MD5;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/sha1.js
var require_sha1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core());
		} else if (typeof define === "function" && define.amd) {
			define(["./core"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var WordArray = C_lib.WordArray;
			var Hasher = C_lib.Hasher;
			var C_algo = C.algo;
			var W = [];
			/**
			* SHA-1 hash algorithm.
			*/
			var SHA1 = C_algo.SHA1 = Hasher.extend({
				_doReset: function() {
					this._hash = new WordArray.init([
						1732584193,
						4023233417,
						2562383102,
						271733878,
						3285377520
					]);
				},
				_doProcessBlock: function(M, offset) {
					var H = this._hash.words;
					var a = H[0];
					var b = H[1];
					var c = H[2];
					var d = H[3];
					var e = H[4];
					for (var i = 0; i < 80; i++) {
						if (i < 16) {
							W[i] = M[offset + i] | 0;
						} else {
							var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];
							W[i] = n << 1 | n >>> 31;
						}
						var t = (a << 5 | a >>> 27) + e + W[i];
						if (i < 20) {
							t += (b & c | ~b & d) + 1518500249;
						} else if (i < 40) {
							t += (b ^ c ^ d) + 1859775393;
						} else if (i < 60) {
							t += (b & c | b & d | c & d) - 1894007588;
						} else {
							t += (b ^ c ^ d) - 899497514;
						}
						e = d;
						d = c;
						c = b << 30 | b >>> 2;
						b = a;
						a = t;
					}
					H[0] = H[0] + a | 0;
					H[1] = H[1] + b | 0;
					H[2] = H[2] + c | 0;
					H[3] = H[3] + d | 0;
					H[4] = H[4] + e | 0;
				},
				_doFinalize: function() {
					var data = this._data;
					var dataWords = data.words;
					var nBitsTotal = this._nDataBytes * 8;
					var nBitsLeft = data.sigBytes * 8;
					dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32;
					dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = Math.floor(nBitsTotal / 4294967296);
					dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = nBitsTotal;
					data.sigBytes = dataWords.length * 4;
					this._process();
					return this._hash;
				},
				clone: function() {
					var clone = Hasher.clone.call(this);
					clone._hash = this._hash.clone();
					return clone;
				}
			});
			/**
			* Shortcut function to the hasher's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			*
			* @return {WordArray} The hash.
			*
			* @static
			*
			* @example
			*
			*     var hash = CryptoJS.SHA1('message');
			*     var hash = CryptoJS.SHA1(wordArray);
			*/
			C.SHA1 = Hasher._createHelper(SHA1);
			/**
			* Shortcut function to the HMAC's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			* @param {WordArray|string} key The secret key.
			*
			* @return {WordArray} The HMAC.
			*
			* @static
			*
			* @example
			*
			*     var hmac = CryptoJS.HmacSHA1(message, key);
			*/
			C.HmacSHA1 = Hasher._createHmacHelper(SHA1);
		})();
		return CryptoJS.SHA1;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/sha256.js
var require_sha256 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core());
		} else if (typeof define === "function" && define.amd) {
			define(["./core"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		(function(Math) {
			var C = CryptoJS;
			var C_lib = C.lib;
			var WordArray = C_lib.WordArray;
			var Hasher = C_lib.Hasher;
			var C_algo = C.algo;
			var H = [];
			var K = [];
			(function() {
				function isPrime(n) {
					var sqrtN = Math.sqrt(n);
					for (var factor = 2; factor <= sqrtN; factor++) {
						if (!(n % factor)) {
							return false;
						}
					}
					return true;
				}
				function getFractionalBits(n) {
					return (n - (n | 0)) * 4294967296 | 0;
				}
				var n = 2;
				var nPrime = 0;
				while (nPrime < 64) {
					if (isPrime(n)) {
						if (nPrime < 8) {
							H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2));
						}
						K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3));
						nPrime++;
					}
					n++;
				}
			})();
			var W = [];
			/**
			* SHA-256 hash algorithm.
			*/
			var SHA256 = C_algo.SHA256 = Hasher.extend({
				_doReset: function() {
					this._hash = new WordArray.init(H.slice(0));
				},
				_doProcessBlock: function(M, offset) {
					var H = this._hash.words;
					var a = H[0];
					var b = H[1];
					var c = H[2];
					var d = H[3];
					var e = H[4];
					var f = H[5];
					var g = H[6];
					var h = H[7];
					for (var i = 0; i < 64; i++) {
						if (i < 16) {
							W[i] = M[offset + i] | 0;
						} else {
							var gamma0x = W[i - 15];
							var gamma0 = (gamma0x << 25 | gamma0x >>> 7) ^ (gamma0x << 14 | gamma0x >>> 18) ^ gamma0x >>> 3;
							var gamma1x = W[i - 2];
							var gamma1 = (gamma1x << 15 | gamma1x >>> 17) ^ (gamma1x << 13 | gamma1x >>> 19) ^ gamma1x >>> 10;
							W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];
						}
						var ch = e & f ^ ~e & g;
						var maj = a & b ^ a & c ^ b & c;
						var sigma0 = (a << 30 | a >>> 2) ^ (a << 19 | a >>> 13) ^ (a << 10 | a >>> 22);
						var sigma1 = (e << 26 | e >>> 6) ^ (e << 21 | e >>> 11) ^ (e << 7 | e >>> 25);
						var t1 = h + sigma1 + ch + K[i] + W[i];
						var t2 = sigma0 + maj;
						h = g;
						g = f;
						f = e;
						e = d + t1 | 0;
						d = c;
						c = b;
						b = a;
						a = t1 + t2 | 0;
					}
					H[0] = H[0] + a | 0;
					H[1] = H[1] + b | 0;
					H[2] = H[2] + c | 0;
					H[3] = H[3] + d | 0;
					H[4] = H[4] + e | 0;
					H[5] = H[5] + f | 0;
					H[6] = H[6] + g | 0;
					H[7] = H[7] + h | 0;
				},
				_doFinalize: function() {
					var data = this._data;
					var dataWords = data.words;
					var nBitsTotal = this._nDataBytes * 8;
					var nBitsLeft = data.sigBytes * 8;
					dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32;
					dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = Math.floor(nBitsTotal / 4294967296);
					dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = nBitsTotal;
					data.sigBytes = dataWords.length * 4;
					this._process();
					return this._hash;
				},
				clone: function() {
					var clone = Hasher.clone.call(this);
					clone._hash = this._hash.clone();
					return clone;
				}
			});
			/**
			* Shortcut function to the hasher's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			*
			* @return {WordArray} The hash.
			*
			* @static
			*
			* @example
			*
			*     var hash = CryptoJS.SHA256('message');
			*     var hash = CryptoJS.SHA256(wordArray);
			*/
			C.SHA256 = Hasher._createHelper(SHA256);
			/**
			* Shortcut function to the HMAC's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			* @param {WordArray|string} key The secret key.
			*
			* @return {WordArray} The HMAC.
			*
			* @static
			*
			* @example
			*
			*     var hmac = CryptoJS.HmacSHA256(message, key);
			*/
			C.HmacSHA256 = Hasher._createHmacHelper(SHA256);
		})(Math);
		return CryptoJS.SHA256;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/sha224.js
var require_sha224 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_sha256());
		} else if (typeof define === "function" && define.amd) {
			define(["./core", "./sha256"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var WordArray = C_lib.WordArray;
			var C_algo = C.algo;
			var SHA256 = C_algo.SHA256;
			/**
			* SHA-224 hash algorithm.
			*/
			var SHA224 = C_algo.SHA224 = SHA256.extend({
				_doReset: function() {
					this._hash = new WordArray.init([
						3238371032,
						914150663,
						812702999,
						4144912697,
						4290775857,
						1750603025,
						1694076839,
						3204075428
					]);
				},
				_doFinalize: function() {
					var hash = SHA256._doFinalize.call(this);
					hash.sigBytes -= 4;
					return hash;
				}
			});
			/**
			* Shortcut function to the hasher's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			*
			* @return {WordArray} The hash.
			*
			* @static
			*
			* @example
			*
			*     var hash = CryptoJS.SHA224('message');
			*     var hash = CryptoJS.SHA224(wordArray);
			*/
			C.SHA224 = SHA256._createHelper(SHA224);
			/**
			* Shortcut function to the HMAC's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			* @param {WordArray|string} key The secret key.
			*
			* @return {WordArray} The HMAC.
			*
			* @static
			*
			* @example
			*
			*     var hmac = CryptoJS.HmacSHA224(message, key);
			*/
			C.HmacSHA224 = SHA256._createHmacHelper(SHA224);
		})();
		return CryptoJS.SHA224;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/sha512.js
var require_sha512 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_x64_core());
		} else if (typeof define === "function" && define.amd) {
			define(["./core", "./x64-core"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var Hasher = C_lib.Hasher;
			var C_x64 = C.x64;
			var X64Word = C_x64.Word;
			var X64WordArray = C_x64.WordArray;
			var C_algo = C.algo;
			function X64Word_create() {
				return X64Word.create.apply(X64Word, arguments);
			}
			var K = [
				X64Word_create(1116352408, 3609767458),
				X64Word_create(1899447441, 602891725),
				X64Word_create(3049323471, 3964484399),
				X64Word_create(3921009573, 2173295548),
				X64Word_create(961987163, 4081628472),
				X64Word_create(1508970993, 3053834265),
				X64Word_create(2453635748, 2937671579),
				X64Word_create(2870763221, 3664609560),
				X64Word_create(3624381080, 2734883394),
				X64Word_create(310598401, 1164996542),
				X64Word_create(607225278, 1323610764),
				X64Word_create(1426881987, 3590304994),
				X64Word_create(1925078388, 4068182383),
				X64Word_create(2162078206, 991336113),
				X64Word_create(2614888103, 633803317),
				X64Word_create(3248222580, 3479774868),
				X64Word_create(3835390401, 2666613458),
				X64Word_create(4022224774, 944711139),
				X64Word_create(264347078, 2341262773),
				X64Word_create(604807628, 2007800933),
				X64Word_create(770255983, 1495990901),
				X64Word_create(1249150122, 1856431235),
				X64Word_create(1555081692, 3175218132),
				X64Word_create(1996064986, 2198950837),
				X64Word_create(2554220882, 3999719339),
				X64Word_create(2821834349, 766784016),
				X64Word_create(2952996808, 2566594879),
				X64Word_create(3210313671, 3203337956),
				X64Word_create(3336571891, 1034457026),
				X64Word_create(3584528711, 2466948901),
				X64Word_create(113926993, 3758326383),
				X64Word_create(338241895, 168717936),
				X64Word_create(666307205, 1188179964),
				X64Word_create(773529912, 1546045734),
				X64Word_create(1294757372, 1522805485),
				X64Word_create(1396182291, 2643833823),
				X64Word_create(1695183700, 2343527390),
				X64Word_create(1986661051, 1014477480),
				X64Word_create(2177026350, 1206759142),
				X64Word_create(2456956037, 344077627),
				X64Word_create(2730485921, 1290863460),
				X64Word_create(2820302411, 3158454273),
				X64Word_create(3259730800, 3505952657),
				X64Word_create(3345764771, 106217008),
				X64Word_create(3516065817, 3606008344),
				X64Word_create(3600352804, 1432725776),
				X64Word_create(4094571909, 1467031594),
				X64Word_create(275423344, 851169720),
				X64Word_create(430227734, 3100823752),
				X64Word_create(506948616, 1363258195),
				X64Word_create(659060556, 3750685593),
				X64Word_create(883997877, 3785050280),
				X64Word_create(958139571, 3318307427),
				X64Word_create(1322822218, 3812723403),
				X64Word_create(1537002063, 2003034995),
				X64Word_create(1747873779, 3602036899),
				X64Word_create(1955562222, 1575990012),
				X64Word_create(2024104815, 1125592928),
				X64Word_create(2227730452, 2716904306),
				X64Word_create(2361852424, 442776044),
				X64Word_create(2428436474, 593698344),
				X64Word_create(2756734187, 3733110249),
				X64Word_create(3204031479, 2999351573),
				X64Word_create(3329325298, 3815920427),
				X64Word_create(3391569614, 3928383900),
				X64Word_create(3515267271, 566280711),
				X64Word_create(3940187606, 3454069534),
				X64Word_create(4118630271, 4000239992),
				X64Word_create(116418474, 1914138554),
				X64Word_create(174292421, 2731055270),
				X64Word_create(289380356, 3203993006),
				X64Word_create(460393269, 320620315),
				X64Word_create(685471733, 587496836),
				X64Word_create(852142971, 1086792851),
				X64Word_create(1017036298, 365543100),
				X64Word_create(1126000580, 2618297676),
				X64Word_create(1288033470, 3409855158),
				X64Word_create(1501505948, 4234509866),
				X64Word_create(1607167915, 987167468),
				X64Word_create(1816402316, 1246189591)
			];
			var W = [];
			(function() {
				for (var i = 0; i < 80; i++) {
					W[i] = X64Word_create();
				}
			})();
			/**
			* SHA-512 hash algorithm.
			*/
			var SHA512 = C_algo.SHA512 = Hasher.extend({
				_doReset: function() {
					this._hash = new X64WordArray.init([
						new X64Word.init(1779033703, 4089235720),
						new X64Word.init(3144134277, 2227873595),
						new X64Word.init(1013904242, 4271175723),
						new X64Word.init(2773480762, 1595750129),
						new X64Word.init(1359893119, 2917565137),
						new X64Word.init(2600822924, 725511199),
						new X64Word.init(528734635, 4215389547),
						new X64Word.init(1541459225, 327033209)
					]);
				},
				_doProcessBlock: function(M, offset) {
					var H = this._hash.words;
					var H0 = H[0];
					var H1 = H[1];
					var H2 = H[2];
					var H3 = H[3];
					var H4 = H[4];
					var H5 = H[5];
					var H6 = H[6];
					var H7 = H[7];
					var H0h = H0.high;
					var H0l = H0.low;
					var H1h = H1.high;
					var H1l = H1.low;
					var H2h = H2.high;
					var H2l = H2.low;
					var H3h = H3.high;
					var H3l = H3.low;
					var H4h = H4.high;
					var H4l = H4.low;
					var H5h = H5.high;
					var H5l = H5.low;
					var H6h = H6.high;
					var H6l = H6.low;
					var H7h = H7.high;
					var H7l = H7.low;
					var ah = H0h;
					var al = H0l;
					var bh = H1h;
					var bl = H1l;
					var ch = H2h;
					var cl = H2l;
					var dh = H3h;
					var dl = H3l;
					var eh = H4h;
					var el = H4l;
					var fh = H5h;
					var fl = H5l;
					var gh = H6h;
					var gl = H6l;
					var hh = H7h;
					var hl = H7l;
					for (var i = 0; i < 80; i++) {
						var Wil;
						var Wih;
						var Wi = W[i];
						if (i < 16) {
							Wih = Wi.high = M[offset + i * 2] | 0;
							Wil = Wi.low = M[offset + i * 2 + 1] | 0;
						} else {
							var gamma0x = W[i - 15];
							var gamma0xh = gamma0x.high;
							var gamma0xl = gamma0x.low;
							var gamma0h = (gamma0xh >>> 1 | gamma0xl << 31) ^ (gamma0xh >>> 8 | gamma0xl << 24) ^ gamma0xh >>> 7;
							var gamma0l = (gamma0xl >>> 1 | gamma0xh << 31) ^ (gamma0xl >>> 8 | gamma0xh << 24) ^ (gamma0xl >>> 7 | gamma0xh << 25);
							var gamma1x = W[i - 2];
							var gamma1xh = gamma1x.high;
							var gamma1xl = gamma1x.low;
							var gamma1h = (gamma1xh >>> 19 | gamma1xl << 13) ^ (gamma1xh << 3 | gamma1xl >>> 29) ^ gamma1xh >>> 6;
							var gamma1l = (gamma1xl >>> 19 | gamma1xh << 13) ^ (gamma1xl << 3 | gamma1xh >>> 29) ^ (gamma1xl >>> 6 | gamma1xh << 26);
							var Wi7 = W[i - 7];
							var Wi7h = Wi7.high;
							var Wi7l = Wi7.low;
							var Wi16 = W[i - 16];
							var Wi16h = Wi16.high;
							var Wi16l = Wi16.low;
							Wil = gamma0l + Wi7l;
							Wih = gamma0h + Wi7h + (Wil >>> 0 < gamma0l >>> 0 ? 1 : 0);
							Wil = Wil + gamma1l;
							Wih = Wih + gamma1h + (Wil >>> 0 < gamma1l >>> 0 ? 1 : 0);
							Wil = Wil + Wi16l;
							Wih = Wih + Wi16h + (Wil >>> 0 < Wi16l >>> 0 ? 1 : 0);
							Wi.high = Wih;
							Wi.low = Wil;
						}
						var chh = eh & fh ^ ~eh & gh;
						var chl = el & fl ^ ~el & gl;
						var majh = ah & bh ^ ah & ch ^ bh & ch;
						var majl = al & bl ^ al & cl ^ bl & cl;
						var sigma0h = (ah >>> 28 | al << 4) ^ (ah << 30 | al >>> 2) ^ (ah << 25 | al >>> 7);
						var sigma0l = (al >>> 28 | ah << 4) ^ (al << 30 | ah >>> 2) ^ (al << 25 | ah >>> 7);
						var sigma1h = (eh >>> 14 | el << 18) ^ (eh >>> 18 | el << 14) ^ (eh << 23 | el >>> 9);
						var sigma1l = (el >>> 14 | eh << 18) ^ (el >>> 18 | eh << 14) ^ (el << 23 | eh >>> 9);
						var Ki = K[i];
						var Kih = Ki.high;
						var Kil = Ki.low;
						var t1l = hl + sigma1l;
						var t1h = hh + sigma1h + (t1l >>> 0 < hl >>> 0 ? 1 : 0);
						var t1l = t1l + chl;
						var t1h = t1h + chh + (t1l >>> 0 < chl >>> 0 ? 1 : 0);
						var t1l = t1l + Kil;
						var t1h = t1h + Kih + (t1l >>> 0 < Kil >>> 0 ? 1 : 0);
						var t1l = t1l + Wil;
						var t1h = t1h + Wih + (t1l >>> 0 < Wil >>> 0 ? 1 : 0);
						var t2l = sigma0l + majl;
						var t2h = sigma0h + majh + (t2l >>> 0 < sigma0l >>> 0 ? 1 : 0);
						hh = gh;
						hl = gl;
						gh = fh;
						gl = fl;
						fh = eh;
						fl = el;
						el = dl + t1l | 0;
						eh = dh + t1h + (el >>> 0 < dl >>> 0 ? 1 : 0) | 0;
						dh = ch;
						dl = cl;
						ch = bh;
						cl = bl;
						bh = ah;
						bl = al;
						al = t1l + t2l | 0;
						ah = t1h + t2h + (al >>> 0 < t1l >>> 0 ? 1 : 0) | 0;
					}
					H0l = H0.low = H0l + al;
					H0.high = H0h + ah + (H0l >>> 0 < al >>> 0 ? 1 : 0);
					H1l = H1.low = H1l + bl;
					H1.high = H1h + bh + (H1l >>> 0 < bl >>> 0 ? 1 : 0);
					H2l = H2.low = H2l + cl;
					H2.high = H2h + ch + (H2l >>> 0 < cl >>> 0 ? 1 : 0);
					H3l = H3.low = H3l + dl;
					H3.high = H3h + dh + (H3l >>> 0 < dl >>> 0 ? 1 : 0);
					H4l = H4.low = H4l + el;
					H4.high = H4h + eh + (H4l >>> 0 < el >>> 0 ? 1 : 0);
					H5l = H5.low = H5l + fl;
					H5.high = H5h + fh + (H5l >>> 0 < fl >>> 0 ? 1 : 0);
					H6l = H6.low = H6l + gl;
					H6.high = H6h + gh + (H6l >>> 0 < gl >>> 0 ? 1 : 0);
					H7l = H7.low = H7l + hl;
					H7.high = H7h + hh + (H7l >>> 0 < hl >>> 0 ? 1 : 0);
				},
				_doFinalize: function() {
					var data = this._data;
					var dataWords = data.words;
					var nBitsTotal = this._nDataBytes * 8;
					var nBitsLeft = data.sigBytes * 8;
					dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32;
					dataWords[(nBitsLeft + 128 >>> 10 << 5) + 30] = Math.floor(nBitsTotal / 4294967296);
					dataWords[(nBitsLeft + 128 >>> 10 << 5) + 31] = nBitsTotal;
					data.sigBytes = dataWords.length * 4;
					this._process();
					var hash = this._hash.toX32();
					return hash;
				},
				clone: function() {
					var clone = Hasher.clone.call(this);
					clone._hash = this._hash.clone();
					return clone;
				},
				blockSize: 1024 / 32
			});
			/**
			* Shortcut function to the hasher's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			*
			* @return {WordArray} The hash.
			*
			* @static
			*
			* @example
			*
			*     var hash = CryptoJS.SHA512('message');
			*     var hash = CryptoJS.SHA512(wordArray);
			*/
			C.SHA512 = Hasher._createHelper(SHA512);
			/**
			* Shortcut function to the HMAC's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			* @param {WordArray|string} key The secret key.
			*
			* @return {WordArray} The HMAC.
			*
			* @static
			*
			* @example
			*
			*     var hmac = CryptoJS.HmacSHA512(message, key);
			*/
			C.HmacSHA512 = Hasher._createHmacHelper(SHA512);
		})();
		return CryptoJS.SHA512;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/sha384.js
var require_sha384 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_x64_core(), require_sha512());
		} else if (typeof define === "function" && define.amd) {
			define([
				"./core",
				"./x64-core",
				"./sha512"
			], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		(function() {
			var C = CryptoJS;
			var C_x64 = C.x64;
			var X64Word = C_x64.Word;
			var X64WordArray = C_x64.WordArray;
			var C_algo = C.algo;
			var SHA512 = C_algo.SHA512;
			/**
			* SHA-384 hash algorithm.
			*/
			var SHA384 = C_algo.SHA384 = SHA512.extend({
				_doReset: function() {
					this._hash = new X64WordArray.init([
						new X64Word.init(3418070365, 3238371032),
						new X64Word.init(1654270250, 914150663),
						new X64Word.init(2438529370, 812702999),
						new X64Word.init(355462360, 4144912697),
						new X64Word.init(1731405415, 4290775857),
						new X64Word.init(2394180231, 1750603025),
						new X64Word.init(3675008525, 1694076839),
						new X64Word.init(1203062813, 3204075428)
					]);
				},
				_doFinalize: function() {
					var hash = SHA512._doFinalize.call(this);
					hash.sigBytes -= 16;
					return hash;
				}
			});
			/**
			* Shortcut function to the hasher's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			*
			* @return {WordArray} The hash.
			*
			* @static
			*
			* @example
			*
			*     var hash = CryptoJS.SHA384('message');
			*     var hash = CryptoJS.SHA384(wordArray);
			*/
			C.SHA384 = SHA512._createHelper(SHA384);
			/**
			* Shortcut function to the HMAC's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			* @param {WordArray|string} key The secret key.
			*
			* @return {WordArray} The HMAC.
			*
			* @static
			*
			* @example
			*
			*     var hmac = CryptoJS.HmacSHA384(message, key);
			*/
			C.HmacSHA384 = SHA512._createHmacHelper(SHA384);
		})();
		return CryptoJS.SHA384;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/sha3.js
var require_sha3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_x64_core());
		} else if (typeof define === "function" && define.amd) {
			define(["./core", "./x64-core"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		(function(Math) {
			var C = CryptoJS;
			var C_lib = C.lib;
			var WordArray = C_lib.WordArray;
			var Hasher = C_lib.Hasher;
			var C_x64 = C.x64;
			var X64Word = C_x64.Word;
			var C_algo = C.algo;
			var RHO_OFFSETS = [];
			var PI_INDEXES = [];
			var ROUND_CONSTANTS = [];
			(function() {
				var x = 1, y = 0;
				for (var t = 0; t < 24; t++) {
					RHO_OFFSETS[x + 5 * y] = (t + 1) * (t + 2) / 2 % 64;
					var newX = y % 5;
					var newY = (2 * x + 3 * y) % 5;
					x = newX;
					y = newY;
				}
				for (var x = 0; x < 5; x++) {
					for (var y = 0; y < 5; y++) {
						PI_INDEXES[x + 5 * y] = y + (2 * x + 3 * y) % 5 * 5;
					}
				}
				var LFSR = 1;
				for (var i = 0; i < 24; i++) {
					var roundConstantMsw = 0;
					var roundConstantLsw = 0;
					for (var j = 0; j < 7; j++) {
						if (LFSR & 1) {
							var bitPosition = (1 << j) - 1;
							if (bitPosition < 32) {
								roundConstantLsw ^= 1 << bitPosition;
							} else {
								roundConstantMsw ^= 1 << bitPosition - 32;
							}
						}
						if (LFSR & 128) {
							LFSR = LFSR << 1 ^ 113;
						} else {
							LFSR <<= 1;
						}
					}
					ROUND_CONSTANTS[i] = X64Word.create(roundConstantMsw, roundConstantLsw);
				}
			})();
			var T = [];
			(function() {
				for (var i = 0; i < 25; i++) {
					T[i] = X64Word.create();
				}
			})();
			/**
			* SHA-3 hash algorithm.
			*/
			var SHA3 = C_algo.SHA3 = Hasher.extend({
				cfg: Hasher.cfg.extend({ outputLength: 512 }),
				_doReset: function() {
					var state = this._state = [];
					for (var i = 0; i < 25; i++) {
						state[i] = new X64Word.init();
					}
					this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32;
				},
				_doProcessBlock: function(M, offset) {
					var state = this._state;
					var nBlockSizeLanes = this.blockSize / 2;
					for (var i = 0; i < nBlockSizeLanes; i++) {
						var M2i = M[offset + 2 * i];
						var M2i1 = M[offset + 2 * i + 1];
						M2i = (M2i << 8 | M2i >>> 24) & 16711935 | (M2i << 24 | M2i >>> 8) & 4278255360;
						M2i1 = (M2i1 << 8 | M2i1 >>> 24) & 16711935 | (M2i1 << 24 | M2i1 >>> 8) & 4278255360;
						var lane = state[i];
						lane.high ^= M2i1;
						lane.low ^= M2i;
					}
					for (var round = 0; round < 24; round++) {
						for (var x = 0; x < 5; x++) {
							var tMsw = 0, tLsw = 0;
							for (var y = 0; y < 5; y++) {
								var lane = state[x + 5 * y];
								tMsw ^= lane.high;
								tLsw ^= lane.low;
							}
							var Tx = T[x];
							Tx.high = tMsw;
							Tx.low = tLsw;
						}
						for (var x = 0; x < 5; x++) {
							var Tx4 = T[(x + 4) % 5];
							var Tx1 = T[(x + 1) % 5];
							var Tx1Msw = Tx1.high;
							var Tx1Lsw = Tx1.low;
							var tMsw = Tx4.high ^ (Tx1Msw << 1 | Tx1Lsw >>> 31);
							var tLsw = Tx4.low ^ (Tx1Lsw << 1 | Tx1Msw >>> 31);
							for (var y = 0; y < 5; y++) {
								var lane = state[x + 5 * y];
								lane.high ^= tMsw;
								lane.low ^= tLsw;
							}
						}
						for (var laneIndex = 1; laneIndex < 25; laneIndex++) {
							var tMsw;
							var tLsw;
							var lane = state[laneIndex];
							var laneMsw = lane.high;
							var laneLsw = lane.low;
							var rhoOffset = RHO_OFFSETS[laneIndex];
							if (rhoOffset < 32) {
								tMsw = laneMsw << rhoOffset | laneLsw >>> 32 - rhoOffset;
								tLsw = laneLsw << rhoOffset | laneMsw >>> 32 - rhoOffset;
							} else {
								tMsw = laneLsw << rhoOffset - 32 | laneMsw >>> 64 - rhoOffset;
								tLsw = laneMsw << rhoOffset - 32 | laneLsw >>> 64 - rhoOffset;
							}
							var TPiLane = T[PI_INDEXES[laneIndex]];
							TPiLane.high = tMsw;
							TPiLane.low = tLsw;
						}
						var T0 = T[0];
						var state0 = state[0];
						T0.high = state0.high;
						T0.low = state0.low;
						for (var x = 0; x < 5; x++) {
							for (var y = 0; y < 5; y++) {
								var laneIndex = x + 5 * y;
								var lane = state[laneIndex];
								var TLane = T[laneIndex];
								var Tx1Lane = T[(x + 1) % 5 + 5 * y];
								var Tx2Lane = T[(x + 2) % 5 + 5 * y];
								lane.high = TLane.high ^ ~Tx1Lane.high & Tx2Lane.high;
								lane.low = TLane.low ^ ~Tx1Lane.low & Tx2Lane.low;
							}
						}
						var lane = state[0];
						var roundConstant = ROUND_CONSTANTS[round];
						lane.high ^= roundConstant.high;
						lane.low ^= roundConstant.low;
					}
				},
				_doFinalize: function() {
					var data = this._data;
					var dataWords = data.words;
					var nBitsTotal = this._nDataBytes * 8;
					var nBitsLeft = data.sigBytes * 8;
					var blockSizeBits = this.blockSize * 32;
					dataWords[nBitsLeft >>> 5] |= 1 << 24 - nBitsLeft % 32;
					dataWords[(Math.ceil((nBitsLeft + 1) / blockSizeBits) * blockSizeBits >>> 5) - 1] |= 128;
					data.sigBytes = dataWords.length * 4;
					this._process();
					var state = this._state;
					var outputLengthBytes = this.cfg.outputLength / 8;
					var outputLengthLanes = outputLengthBytes / 8;
					var hashWords = [];
					for (var i = 0; i < outputLengthLanes; i++) {
						var lane = state[i];
						var laneMsw = lane.high;
						var laneLsw = lane.low;
						laneMsw = (laneMsw << 8 | laneMsw >>> 24) & 16711935 | (laneMsw << 24 | laneMsw >>> 8) & 4278255360;
						laneLsw = (laneLsw << 8 | laneLsw >>> 24) & 16711935 | (laneLsw << 24 | laneLsw >>> 8) & 4278255360;
						hashWords.push(laneLsw);
						hashWords.push(laneMsw);
					}
					return new WordArray.init(hashWords, outputLengthBytes);
				},
				clone: function() {
					var clone = Hasher.clone.call(this);
					var state = clone._state = this._state.slice(0);
					for (var i = 0; i < 25; i++) {
						state[i] = state[i].clone();
					}
					return clone;
				}
			});
			/**
			* Shortcut function to the hasher's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			*
			* @return {WordArray} The hash.
			*
			* @static
			*
			* @example
			*
			*     var hash = CryptoJS.SHA3('message');
			*     var hash = CryptoJS.SHA3(wordArray);
			*/
			C.SHA3 = Hasher._createHelper(SHA3);
			/**
			* Shortcut function to the HMAC's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			* @param {WordArray|string} key The secret key.
			*
			* @return {WordArray} The HMAC.
			*
			* @static
			*
			* @example
			*
			*     var hmac = CryptoJS.HmacSHA3(message, key);
			*/
			C.HmacSHA3 = Hasher._createHmacHelper(SHA3);
		})(Math);
		return CryptoJS.SHA3;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/ripemd160.js
var require_ripemd160 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core());
		} else if (typeof define === "function" && define.amd) {
			define(["./core"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		/** @preserve
		(c) 2012 by Cédric Mesnil. All rights reserved.
		
		Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
		
		- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
		- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
		
		THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
		*/
		(function(Math) {
			var C = CryptoJS;
			var C_lib = C.lib;
			var WordArray = C_lib.WordArray;
			var Hasher = C_lib.Hasher;
			var C_algo = C.algo;
			var _zl = WordArray.create([
				0,
				1,
				2,
				3,
				4,
				5,
				6,
				7,
				8,
				9,
				10,
				11,
				12,
				13,
				14,
				15,
				7,
				4,
				13,
				1,
				10,
				6,
				15,
				3,
				12,
				0,
				9,
				5,
				2,
				14,
				11,
				8,
				3,
				10,
				14,
				4,
				9,
				15,
				8,
				1,
				2,
				7,
				0,
				6,
				13,
				11,
				5,
				12,
				1,
				9,
				11,
				10,
				0,
				8,
				12,
				4,
				13,
				3,
				7,
				15,
				14,
				5,
				6,
				2,
				4,
				0,
				5,
				9,
				7,
				12,
				2,
				10,
				14,
				1,
				3,
				8,
				11,
				6,
				15,
				13
			]);
			var _zr = WordArray.create([
				5,
				14,
				7,
				0,
				9,
				2,
				11,
				4,
				13,
				6,
				15,
				8,
				1,
				10,
				3,
				12,
				6,
				11,
				3,
				7,
				0,
				13,
				5,
				10,
				14,
				15,
				8,
				12,
				4,
				9,
				1,
				2,
				15,
				5,
				1,
				3,
				7,
				14,
				6,
				9,
				11,
				8,
				12,
				2,
				10,
				0,
				4,
				13,
				8,
				6,
				4,
				1,
				3,
				11,
				15,
				0,
				5,
				12,
				2,
				13,
				9,
				7,
				10,
				14,
				12,
				15,
				10,
				4,
				1,
				5,
				8,
				7,
				6,
				2,
				13,
				14,
				0,
				3,
				9,
				11
			]);
			var _sl = WordArray.create([
				11,
				14,
				15,
				12,
				5,
				8,
				7,
				9,
				11,
				13,
				14,
				15,
				6,
				7,
				9,
				8,
				7,
				6,
				8,
				13,
				11,
				9,
				7,
				15,
				7,
				12,
				15,
				9,
				11,
				7,
				13,
				12,
				11,
				13,
				6,
				7,
				14,
				9,
				13,
				15,
				14,
				8,
				13,
				6,
				5,
				12,
				7,
				5,
				11,
				12,
				14,
				15,
				14,
				15,
				9,
				8,
				9,
				14,
				5,
				6,
				8,
				6,
				5,
				12,
				9,
				15,
				5,
				11,
				6,
				8,
				13,
				12,
				5,
				12,
				13,
				14,
				11,
				8,
				5,
				6
			]);
			var _sr = WordArray.create([
				8,
				9,
				9,
				11,
				13,
				15,
				15,
				5,
				7,
				7,
				8,
				11,
				14,
				14,
				12,
				6,
				9,
				13,
				15,
				7,
				12,
				8,
				9,
				11,
				7,
				7,
				12,
				7,
				6,
				15,
				13,
				11,
				9,
				7,
				15,
				11,
				8,
				6,
				6,
				14,
				12,
				13,
				5,
				14,
				13,
				13,
				7,
				5,
				15,
				5,
				8,
				11,
				14,
				14,
				6,
				14,
				6,
				9,
				12,
				9,
				12,
				5,
				15,
				8,
				8,
				5,
				12,
				9,
				12,
				5,
				14,
				6,
				8,
				13,
				6,
				5,
				15,
				13,
				11,
				11
			]);
			var _hl = WordArray.create([
				0,
				1518500249,
				1859775393,
				2400959708,
				2840853838
			]);
			var _hr = WordArray.create([
				1352829926,
				1548603684,
				1836072691,
				2053994217,
				0
			]);
			/**
			* RIPEMD160 hash algorithm.
			*/
			var RIPEMD160 = C_algo.RIPEMD160 = Hasher.extend({
				_doReset: function() {
					this._hash = WordArray.create([
						1732584193,
						4023233417,
						2562383102,
						271733878,
						3285377520
					]);
				},
				_doProcessBlock: function(M, offset) {
					for (var i = 0; i < 16; i++) {
						var offset_i = offset + i;
						var M_offset_i = M[offset_i];
						M[offset_i] = (M_offset_i << 8 | M_offset_i >>> 24) & 16711935 | (M_offset_i << 24 | M_offset_i >>> 8) & 4278255360;
					}
					var H = this._hash.words;
					var hl = _hl.words;
					var hr = _hr.words;
					var zl = _zl.words;
					var zr = _zr.words;
					var sl = _sl.words;
					var sr = _sr.words;
					var al, bl, cl, dl, el;
					var ar, br, cr, dr, er;
					ar = al = H[0];
					br = bl = H[1];
					cr = cl = H[2];
					dr = dl = H[3];
					er = el = H[4];
					var t;
					for (var i = 0; i < 80; i += 1) {
						t = al + M[offset + zl[i]] | 0;
						if (i < 16) {
							t += f1(bl, cl, dl) + hl[0];
						} else if (i < 32) {
							t += f2(bl, cl, dl) + hl[1];
						} else if (i < 48) {
							t += f3(bl, cl, dl) + hl[2];
						} else if (i < 64) {
							t += f4(bl, cl, dl) + hl[3];
						} else {
							t += f5(bl, cl, dl) + hl[4];
						}
						t = t | 0;
						t = rotl(t, sl[i]);
						t = t + el | 0;
						al = el;
						el = dl;
						dl = rotl(cl, 10);
						cl = bl;
						bl = t;
						t = ar + M[offset + zr[i]] | 0;
						if (i < 16) {
							t += f5(br, cr, dr) + hr[0];
						} else if (i < 32) {
							t += f4(br, cr, dr) + hr[1];
						} else if (i < 48) {
							t += f3(br, cr, dr) + hr[2];
						} else if (i < 64) {
							t += f2(br, cr, dr) + hr[3];
						} else {
							t += f1(br, cr, dr) + hr[4];
						}
						t = t | 0;
						t = rotl(t, sr[i]);
						t = t + er | 0;
						ar = er;
						er = dr;
						dr = rotl(cr, 10);
						cr = br;
						br = t;
					}
					t = H[1] + cl + dr | 0;
					H[1] = H[2] + dl + er | 0;
					H[2] = H[3] + el + ar | 0;
					H[3] = H[4] + al + br | 0;
					H[4] = H[0] + bl + cr | 0;
					H[0] = t;
				},
				_doFinalize: function() {
					var data = this._data;
					var dataWords = data.words;
					var nBitsTotal = this._nDataBytes * 8;
					var nBitsLeft = data.sigBytes * 8;
					dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32;
					dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = (nBitsTotal << 8 | nBitsTotal >>> 24) & 16711935 | (nBitsTotal << 24 | nBitsTotal >>> 8) & 4278255360;
					data.sigBytes = (dataWords.length + 1) * 4;
					this._process();
					var hash = this._hash;
					var H = hash.words;
					for (var i = 0; i < 5; i++) {
						var H_i = H[i];
						H[i] = (H_i << 8 | H_i >>> 24) & 16711935 | (H_i << 24 | H_i >>> 8) & 4278255360;
					}
					return hash;
				},
				clone: function() {
					var clone = Hasher.clone.call(this);
					clone._hash = this._hash.clone();
					return clone;
				}
			});
			function f1(x, y, z) {
				return x ^ y ^ z;
			}
			function f2(x, y, z) {
				return x & y | ~x & z;
			}
			function f3(x, y, z) {
				return (x | ~y) ^ z;
			}
			function f4(x, y, z) {
				return x & z | y & ~z;
			}
			function f5(x, y, z) {
				return x ^ (y | ~z);
			}
			function rotl(x, n) {
				return x << n | x >>> 32 - n;
			}
			/**
			* Shortcut function to the hasher's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			*
			* @return {WordArray} The hash.
			*
			* @static
			*
			* @example
			*
			*     var hash = CryptoJS.RIPEMD160('message');
			*     var hash = CryptoJS.RIPEMD160(wordArray);
			*/
			C.RIPEMD160 = Hasher._createHelper(RIPEMD160);
			/**
			* Shortcut function to the HMAC's object interface.
			*
			* @param {WordArray|string} message The message to hash.
			* @param {WordArray|string} key The secret key.
			*
			* @return {WordArray} The HMAC.
			*
			* @static
			*
			* @example
			*
			*     var hmac = CryptoJS.HmacRIPEMD160(message, key);
			*/
			C.HmacRIPEMD160 = Hasher._createHmacHelper(RIPEMD160);
		})(Math);
		return CryptoJS.RIPEMD160;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/hmac.js
var require_hmac = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core());
		} else if (typeof define === "function" && define.amd) {
			define(["./core"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var Base = C_lib.Base;
			var C_enc = C.enc;
			var Utf8 = C_enc.Utf8;
			var C_algo = C.algo;
			/**
			* HMAC algorithm.
			*/
			var HMAC = C_algo.HMAC = Base.extend({
				init: function(hasher, key) {
					hasher = this._hasher = new hasher.init();
					if (typeof key == "string") {
						key = Utf8.parse(key);
					}
					var hasherBlockSize = hasher.blockSize;
					var hasherBlockSizeBytes = hasherBlockSize * 4;
					if (key.sigBytes > hasherBlockSizeBytes) {
						key = hasher.finalize(key);
					}
					key.clamp();
					var oKey = this._oKey = key.clone();
					var iKey = this._iKey = key.clone();
					var oKeyWords = oKey.words;
					var iKeyWords = iKey.words;
					for (var i = 0; i < hasherBlockSize; i++) {
						oKeyWords[i] ^= 1549556828;
						iKeyWords[i] ^= 909522486;
					}
					oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes;
					this.reset();
				},
				reset: function() {
					var hasher = this._hasher;
					hasher.reset();
					hasher.update(this._iKey);
				},
				update: function(messageUpdate) {
					this._hasher.update(messageUpdate);
					return this;
				},
				finalize: function(messageUpdate) {
					var hasher = this._hasher;
					var innerHash = hasher.finalize(messageUpdate);
					hasher.reset();
					var hmac = hasher.finalize(this._oKey.clone().concat(innerHash));
					return hmac;
				}
			});
		})();
	});
}));

//#endregion
//#region ../node_modules/crypto-js/pbkdf2.js
var require_pbkdf2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_sha256(), require_hmac());
		} else if (typeof define === "function" && define.amd) {
			define([
				"./core",
				"./sha256",
				"./hmac"
			], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var Base = C_lib.Base;
			var WordArray = C_lib.WordArray;
			var C_algo = C.algo;
			var SHA256 = C_algo.SHA256;
			var HMAC = C_algo.HMAC;
			/**
			* Password-Based Key Derivation Function 2 algorithm.
			*/
			var PBKDF2 = C_algo.PBKDF2 = Base.extend({
				cfg: Base.extend({
					keySize: 128 / 32,
					hasher: SHA256,
					iterations: 25e4
				}),
				init: function(cfg) {
					this.cfg = this.cfg.extend(cfg);
				},
				compute: function(password, salt) {
					var cfg = this.cfg;
					var hmac = HMAC.create(cfg.hasher, password);
					var derivedKey = WordArray.create();
					var blockIndex = WordArray.create([1]);
					var derivedKeyWords = derivedKey.words;
					var blockIndexWords = blockIndex.words;
					var keySize = cfg.keySize;
					var iterations = cfg.iterations;
					while (derivedKeyWords.length < keySize) {
						var block = hmac.update(salt).finalize(blockIndex);
						hmac.reset();
						var blockWords = block.words;
						var blockWordsLength = blockWords.length;
						var intermediate = block;
						for (var i = 1; i < iterations; i++) {
							intermediate = hmac.finalize(intermediate);
							hmac.reset();
							var intermediateWords = intermediate.words;
							for (var j = 0; j < blockWordsLength; j++) {
								blockWords[j] ^= intermediateWords[j];
							}
						}
						derivedKey.concat(block);
						blockIndexWords[0]++;
					}
					derivedKey.sigBytes = keySize * 4;
					return derivedKey;
				}
			});
			/**
			* Computes the Password-Based Key Derivation Function 2.
			*
			* @param {WordArray|string} password The password.
			* @param {WordArray|string} salt A salt.
			* @param {Object} cfg (Optional) The configuration options to use for this computation.
			*
			* @return {WordArray} The derived key.
			*
			* @static
			*
			* @example
			*
			*     var key = CryptoJS.PBKDF2(password, salt);
			*     var key = CryptoJS.PBKDF2(password, salt, { keySize: 8 });
			*     var key = CryptoJS.PBKDF2(password, salt, { keySize: 8, iterations: 1000 });
			*/
			C.PBKDF2 = function(password, salt, cfg) {
				return PBKDF2.create(cfg).compute(password, salt);
			};
		})();
		return CryptoJS.PBKDF2;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/evpkdf.js
var require_evpkdf = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_sha1(), require_hmac());
		} else if (typeof define === "function" && define.amd) {
			define([
				"./core",
				"./sha1",
				"./hmac"
			], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var Base = C_lib.Base;
			var WordArray = C_lib.WordArray;
			var C_algo = C.algo;
			var MD5 = C_algo.MD5;
			/**
			* This key derivation function is meant to conform with EVP_BytesToKey.
			* www.openssl.org/docs/crypto/EVP_BytesToKey.html
			*/
			var EvpKDF = C_algo.EvpKDF = Base.extend({
				cfg: Base.extend({
					keySize: 128 / 32,
					hasher: MD5,
					iterations: 1
				}),
				init: function(cfg) {
					this.cfg = this.cfg.extend(cfg);
				},
				compute: function(password, salt) {
					var block;
					var cfg = this.cfg;
					var hasher = cfg.hasher.create();
					var derivedKey = WordArray.create();
					var derivedKeyWords = derivedKey.words;
					var keySize = cfg.keySize;
					var iterations = cfg.iterations;
					while (derivedKeyWords.length < keySize) {
						if (block) {
							hasher.update(block);
						}
						block = hasher.update(password).finalize(salt);
						hasher.reset();
						for (var i = 1; i < iterations; i++) {
							block = hasher.finalize(block);
							hasher.reset();
						}
						derivedKey.concat(block);
					}
					derivedKey.sigBytes = keySize * 4;
					return derivedKey;
				}
			});
			/**
			* Derives a key from a password.
			*
			* @param {WordArray|string} password The password.
			* @param {WordArray|string} salt A salt.
			* @param {Object} cfg (Optional) The configuration options to use for this computation.
			*
			* @return {WordArray} The derived key.
			*
			* @static
			*
			* @example
			*
			*     var key = CryptoJS.EvpKDF(password, salt);
			*     var key = CryptoJS.EvpKDF(password, salt, { keySize: 8 });
			*     var key = CryptoJS.EvpKDF(password, salt, { keySize: 8, iterations: 1000 });
			*/
			C.EvpKDF = function(password, salt, cfg) {
				return EvpKDF.create(cfg).compute(password, salt);
			};
		})();
		return CryptoJS.EvpKDF;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/cipher-core.js
var require_cipher_core = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_evpkdf());
		} else if (typeof define === "function" && define.amd) {
			define(["./core", "./evpkdf"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		/**
		* Cipher core components.
		*/
		CryptoJS.lib.Cipher || function(undefined) {
			var C = CryptoJS;
			var C_lib = C.lib;
			var Base = C_lib.Base;
			var WordArray = C_lib.WordArray;
			var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm;
			var C_enc = C.enc;
			var Utf8 = C_enc.Utf8;
			var Base64 = C_enc.Base64;
			var C_algo = C.algo;
			var EvpKDF = C_algo.EvpKDF;
			/**
			* Abstract base cipher template.
			*
			* @property {number} keySize This cipher's key size. Default: 4 (128 bits)
			* @property {number} ivSize This cipher's IV size. Default: 4 (128 bits)
			* @property {number} _ENC_XFORM_MODE A constant representing encryption mode.
			* @property {number} _DEC_XFORM_MODE A constant representing decryption mode.
			*/
			var Cipher = C_lib.Cipher = BufferedBlockAlgorithm.extend({
				cfg: Base.extend(),
				createEncryptor: function(key, cfg) {
					return this.create(this._ENC_XFORM_MODE, key, cfg);
				},
				createDecryptor: function(key, cfg) {
					return this.create(this._DEC_XFORM_MODE, key, cfg);
				},
				init: function(xformMode, key, cfg) {
					this.cfg = this.cfg.extend(cfg);
					this._xformMode = xformMode;
					this._key = key;
					this.reset();
				},
				reset: function() {
					BufferedBlockAlgorithm.reset.call(this);
					this._doReset();
				},
				process: function(dataUpdate) {
					this._append(dataUpdate);
					return this._process();
				},
				finalize: function(dataUpdate) {
					if (dataUpdate) {
						this._append(dataUpdate);
					}
					var finalProcessedData = this._doFinalize();
					return finalProcessedData;
				},
				keySize: 128 / 32,
				ivSize: 128 / 32,
				_ENC_XFORM_MODE: 1,
				_DEC_XFORM_MODE: 2,
				_createHelper: function() {
					function selectCipherStrategy(key) {
						if (typeof key == "string") {
							return PasswordBasedCipher;
						} else {
							return SerializableCipher;
						}
					}
					return function(cipher) {
						return {
							encrypt: function(message, key, cfg) {
								return selectCipherStrategy(key).encrypt(cipher, message, key, cfg);
							},
							decrypt: function(ciphertext, key, cfg) {
								return selectCipherStrategy(key).decrypt(cipher, ciphertext, key, cfg);
							}
						};
					};
				}()
			});
			/**
			* Abstract base stream cipher template.
			*
			* @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 1 (32 bits)
			*/
			var StreamCipher = C_lib.StreamCipher = Cipher.extend({
				_doFinalize: function() {
					var finalProcessedBlocks = this._process(!!"flush");
					return finalProcessedBlocks;
				},
				blockSize: 1
			});
			/**
			* Mode namespace.
			*/
			var C_mode = C.mode = {};
			/**
			* Abstract base block cipher mode template.
			*/
			var BlockCipherMode = C_lib.BlockCipherMode = Base.extend({
				createEncryptor: function(cipher, iv) {
					return this.Encryptor.create(cipher, iv);
				},
				createDecryptor: function(cipher, iv) {
					return this.Decryptor.create(cipher, iv);
				},
				init: function(cipher, iv) {
					this._cipher = cipher;
					this._iv = iv;
				}
			});
			/**
			* Cipher Block Chaining mode.
			*/
			var CBC = C_mode.CBC = function() {
				/**
				* Abstract base CBC mode.
				*/
				var CBC = BlockCipherMode.extend();
				/**
				* CBC encryptor.
				*/
				CBC.Encryptor = CBC.extend({ processBlock: function(words, offset) {
					var cipher = this._cipher;
					var blockSize = cipher.blockSize;
					xorBlock.call(this, words, offset, blockSize);
					cipher.encryptBlock(words, offset);
					this._prevBlock = words.slice(offset, offset + blockSize);
				} });
				/**
				* CBC decryptor.
				*/
				CBC.Decryptor = CBC.extend({ processBlock: function(words, offset) {
					var cipher = this._cipher;
					var blockSize = cipher.blockSize;
					var thisBlock = words.slice(offset, offset + blockSize);
					cipher.decryptBlock(words, offset);
					xorBlock.call(this, words, offset, blockSize);
					this._prevBlock = thisBlock;
				} });
				function xorBlock(words, offset, blockSize) {
					var block;
					var iv = this._iv;
					if (iv) {
						block = iv;
						this._iv = undefined;
					} else {
						block = this._prevBlock;
					}
					for (var i = 0; i < blockSize; i++) {
						words[offset + i] ^= block[i];
					}
				}
				return CBC;
			}();
			/**
			* Padding namespace.
			*/
			var C_pad = C.pad = {};
			/**
			* PKCS #5/7 padding strategy.
			*/
			var Pkcs7 = C_pad.Pkcs7 = {
				pad: function(data, blockSize) {
					var blockSizeBytes = blockSize * 4;
					var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;
					var paddingWord = nPaddingBytes << 24 | nPaddingBytes << 16 | nPaddingBytes << 8 | nPaddingBytes;
					var paddingWords = [];
					for (var i = 0; i < nPaddingBytes; i += 4) {
						paddingWords.push(paddingWord);
					}
					var padding = WordArray.create(paddingWords, nPaddingBytes);
					data.concat(padding);
				},
				unpad: function(data) {
					var nPaddingBytes = data.words[data.sigBytes - 1 >>> 2] & 255;
					data.sigBytes -= nPaddingBytes;
				}
			};
			/**
			* Abstract base block cipher template.
			*
			* @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 4 (128 bits)
			*/
			var BlockCipher = C_lib.BlockCipher = Cipher.extend({
				cfg: Cipher.cfg.extend({
					mode: CBC,
					padding: Pkcs7
				}),
				reset: function() {
					var modeCreator;
					Cipher.reset.call(this);
					var cfg = this.cfg;
					var iv = cfg.iv;
					var mode = cfg.mode;
					if (this._xformMode == this._ENC_XFORM_MODE) {
						modeCreator = mode.createEncryptor;
					} else {
						modeCreator = mode.createDecryptor;
						this._minBufferSize = 1;
					}
					if (this._mode && this._mode.__creator == modeCreator) {
						this._mode.init(this, iv && iv.words);
					} else {
						this._mode = modeCreator.call(mode, this, iv && iv.words);
						this._mode.__creator = modeCreator;
					}
				},
				_doProcessBlock: function(words, offset) {
					this._mode.processBlock(words, offset);
				},
				_doFinalize: function() {
					var finalProcessedBlocks;
					var padding = this.cfg.padding;
					if (this._xformMode == this._ENC_XFORM_MODE) {
						padding.pad(this._data, this.blockSize);
						finalProcessedBlocks = this._process(!!"flush");
					} else {
						finalProcessedBlocks = this._process(!!"flush");
						padding.unpad(finalProcessedBlocks);
					}
					return finalProcessedBlocks;
				},
				blockSize: 128 / 32
			});
			/**
			* A collection of cipher parameters.
			*
			* @property {WordArray} ciphertext The raw ciphertext.
			* @property {WordArray} key The key to this ciphertext.
			* @property {WordArray} iv The IV used in the ciphering operation.
			* @property {WordArray} salt The salt used with a key derivation function.
			* @property {Cipher} algorithm The cipher algorithm.
			* @property {Mode} mode The block mode used in the ciphering operation.
			* @property {Padding} padding The padding scheme used in the ciphering operation.
			* @property {number} blockSize The block size of the cipher.
			* @property {Format} formatter The default formatting strategy to convert this cipher params object to a string.
			*/
			var CipherParams = C_lib.CipherParams = Base.extend({
				init: function(cipherParams) {
					this.mixIn(cipherParams);
				},
				toString: function(formatter) {
					return (formatter || this.formatter).stringify(this);
				}
			});
			/**
			* Format namespace.
			*/
			var C_format = C.format = {};
			/**
			* OpenSSL formatting strategy.
			*/
			var OpenSSLFormatter = C_format.OpenSSL = {
				stringify: function(cipherParams) {
					var wordArray;
					var ciphertext = cipherParams.ciphertext;
					var salt = cipherParams.salt;
					if (salt) {
						wordArray = WordArray.create([1398893684, 1701076831]).concat(salt).concat(ciphertext);
					} else {
						wordArray = ciphertext;
					}
					return wordArray.toString(Base64);
				},
				parse: function(openSSLStr) {
					var salt;
					var ciphertext = Base64.parse(openSSLStr);
					var ciphertextWords = ciphertext.words;
					if (ciphertextWords[0] == 1398893684 && ciphertextWords[1] == 1701076831) {
						salt = WordArray.create(ciphertextWords.slice(2, 4));
						ciphertextWords.splice(0, 4);
						ciphertext.sigBytes -= 16;
					}
					return CipherParams.create({
						ciphertext,
						salt
					});
				}
			};
			/**
			* A cipher wrapper that returns ciphertext as a serializable cipher params object.
			*/
			var SerializableCipher = C_lib.SerializableCipher = Base.extend({
				cfg: Base.extend({ format: OpenSSLFormatter }),
				encrypt: function(cipher, message, key, cfg) {
					cfg = this.cfg.extend(cfg);
					var encryptor = cipher.createEncryptor(key, cfg);
					var ciphertext = encryptor.finalize(message);
					var cipherCfg = encryptor.cfg;
					return CipherParams.create({
						ciphertext,
						key,
						iv: cipherCfg.iv,
						algorithm: cipher,
						mode: cipherCfg.mode,
						padding: cipherCfg.padding,
						blockSize: cipher.blockSize,
						formatter: cfg.format
					});
				},
				decrypt: function(cipher, ciphertext, key, cfg) {
					cfg = this.cfg.extend(cfg);
					ciphertext = this._parse(ciphertext, cfg.format);
					var plaintext = cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext);
					return plaintext;
				},
				_parse: function(ciphertext, format) {
					if (typeof ciphertext == "string") {
						return format.parse(ciphertext, this);
					} else {
						return ciphertext;
					}
				}
			});
			/**
			* Key derivation function namespace.
			*/
			var C_kdf = C.kdf = {};
			/**
			* OpenSSL key derivation function.
			*/
			var OpenSSLKdf = C_kdf.OpenSSL = { execute: function(password, keySize, ivSize, salt, hasher) {
				if (!salt) {
					salt = WordArray.random(64 / 8);
				}
				if (!hasher) {
					var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt);
				} else {
					var key = EvpKDF.create({
						keySize: keySize + ivSize,
						hasher
					}).compute(password, salt);
				}
				var iv = WordArray.create(key.words.slice(keySize), ivSize * 4);
				key.sigBytes = keySize * 4;
				return CipherParams.create({
					key,
					iv,
					salt
				});
			} };
			/**
			* A serializable cipher wrapper that derives the key from a password,
			* and returns ciphertext as a serializable cipher params object.
			*/
			var PasswordBasedCipher = C_lib.PasswordBasedCipher = SerializableCipher.extend({
				cfg: SerializableCipher.cfg.extend({ kdf: OpenSSLKdf }),
				encrypt: function(cipher, message, password, cfg) {
					cfg = this.cfg.extend(cfg);
					var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, cfg.salt, cfg.hasher);
					cfg.iv = derivedParams.iv;
					var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg);
					ciphertext.mixIn(derivedParams);
					return ciphertext;
				},
				decrypt: function(cipher, ciphertext, password, cfg) {
					cfg = this.cfg.extend(cfg);
					ciphertext = this._parse(ciphertext, cfg.format);
					var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt, cfg.hasher);
					cfg.iv = derivedParams.iv;
					var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg);
					return plaintext;
				}
			});
		}();
	});
}));

//#endregion
//#region ../node_modules/crypto-js/mode-cfb.js
var require_mode_cfb = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_cipher_core());
		} else if (typeof define === "function" && define.amd) {
			define(["./core", "./cipher-core"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		/**
		* Cipher Feedback block mode.
		*/
		CryptoJS.mode.CFB = function() {
			var CFB = CryptoJS.lib.BlockCipherMode.extend();
			CFB.Encryptor = CFB.extend({ processBlock: function(words, offset) {
				var cipher = this._cipher;
				var blockSize = cipher.blockSize;
				generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);
				this._prevBlock = words.slice(offset, offset + blockSize);
			} });
			CFB.Decryptor = CFB.extend({ processBlock: function(words, offset) {
				var cipher = this._cipher;
				var blockSize = cipher.blockSize;
				var thisBlock = words.slice(offset, offset + blockSize);
				generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);
				this._prevBlock = thisBlock;
			} });
			function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) {
				var keystream;
				var iv = this._iv;
				if (iv) {
					keystream = iv.slice(0);
					this._iv = undefined;
				} else {
					keystream = this._prevBlock;
				}
				cipher.encryptBlock(keystream, 0);
				for (var i = 0; i < blockSize; i++) {
					words[offset + i] ^= keystream[i];
				}
			}
			return CFB;
		}();
		return CryptoJS.mode.CFB;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/mode-ctr.js
var require_mode_ctr = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_cipher_core());
		} else if (typeof define === "function" && define.amd) {
			define(["./core", "./cipher-core"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		/**
		* Counter block mode.
		*/
		CryptoJS.mode.CTR = function() {
			var CTR = CryptoJS.lib.BlockCipherMode.extend();
			var Encryptor = CTR.Encryptor = CTR.extend({ processBlock: function(words, offset) {
				var cipher = this._cipher;
				var blockSize = cipher.blockSize;
				var iv = this._iv;
				var counter = this._counter;
				if (iv) {
					counter = this._counter = iv.slice(0);
					this._iv = undefined;
				}
				var keystream = counter.slice(0);
				cipher.encryptBlock(keystream, 0);
				counter[blockSize - 1] = counter[blockSize - 1] + 1 | 0;
				for (var i = 0; i < blockSize; i++) {
					words[offset + i] ^= keystream[i];
				}
			} });
			CTR.Decryptor = Encryptor;
			return CTR;
		}();
		return CryptoJS.mode.CTR;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/mode-ctr-gladman.js
var require_mode_ctr_gladman = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_cipher_core());
		} else if (typeof define === "function" && define.amd) {
			define(["./core", "./cipher-core"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		/** @preserve
		* Counter block mode compatible with  Dr Brian Gladman fileenc.c
		* derived from CryptoJS.mode.CTR
		* Jan Hruby jhruby.web@gmail.com
		*/
		CryptoJS.mode.CTRGladman = function() {
			var CTRGladman = CryptoJS.lib.BlockCipherMode.extend();
			function incWord(word) {
				if ((word >> 24 & 255) === 255) {
					var b1 = word >> 16 & 255;
					var b2 = word >> 8 & 255;
					var b3 = word & 255;
					if (b1 === 255) {
						b1 = 0;
						if (b2 === 255) {
							b2 = 0;
							if (b3 === 255) {
								b3 = 0;
							} else {
								++b3;
							}
						} else {
							++b2;
						}
					} else {
						++b1;
					}
					word = 0;
					word += b1 << 16;
					word += b2 << 8;
					word += b3;
				} else {
					word += 1 << 24;
				}
				return word;
			}
			function incCounter(counter) {
				if ((counter[0] = incWord(counter[0])) === 0) {
					counter[1] = incWord(counter[1]);
				}
				return counter;
			}
			var Encryptor = CTRGladman.Encryptor = CTRGladman.extend({ processBlock: function(words, offset) {
				var cipher = this._cipher;
				var blockSize = cipher.blockSize;
				var iv = this._iv;
				var counter = this._counter;
				if (iv) {
					counter = this._counter = iv.slice(0);
					this._iv = undefined;
				}
				incCounter(counter);
				var keystream = counter.slice(0);
				cipher.encryptBlock(keystream, 0);
				for (var i = 0; i < blockSize; i++) {
					words[offset + i] ^= keystream[i];
				}
			} });
			CTRGladman.Decryptor = Encryptor;
			return CTRGladman;
		}();
		return CryptoJS.mode.CTRGladman;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/mode-ofb.js
var require_mode_ofb = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_cipher_core());
		} else if (typeof define === "function" && define.amd) {
			define(["./core", "./cipher-core"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		/**
		* Output Feedback block mode.
		*/
		CryptoJS.mode.OFB = function() {
			var OFB = CryptoJS.lib.BlockCipherMode.extend();
			var Encryptor = OFB.Encryptor = OFB.extend({ processBlock: function(words, offset) {
				var cipher = this._cipher;
				var blockSize = cipher.blockSize;
				var iv = this._iv;
				var keystream = this._keystream;
				if (iv) {
					keystream = this._keystream = iv.slice(0);
					this._iv = undefined;
				}
				cipher.encryptBlock(keystream, 0);
				for (var i = 0; i < blockSize; i++) {
					words[offset + i] ^= keystream[i];
				}
			} });
			OFB.Decryptor = Encryptor;
			return OFB;
		}();
		return CryptoJS.mode.OFB;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/mode-ecb.js
var require_mode_ecb = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_cipher_core());
		} else if (typeof define === "function" && define.amd) {
			define(["./core", "./cipher-core"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		/**
		* Electronic Codebook block mode.
		*/
		CryptoJS.mode.ECB = function() {
			var ECB = CryptoJS.lib.BlockCipherMode.extend();
			ECB.Encryptor = ECB.extend({ processBlock: function(words, offset) {
				this._cipher.encryptBlock(words, offset);
			} });
			ECB.Decryptor = ECB.extend({ processBlock: function(words, offset) {
				this._cipher.decryptBlock(words, offset);
			} });
			return ECB;
		}();
		return CryptoJS.mode.ECB;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/pad-ansix923.js
var require_pad_ansix923 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_cipher_core());
		} else if (typeof define === "function" && define.amd) {
			define(["./core", "./cipher-core"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		/**
		* ANSI X.923 padding strategy.
		*/
		CryptoJS.pad.AnsiX923 = {
			pad: function(data, blockSize) {
				var dataSigBytes = data.sigBytes;
				var blockSizeBytes = blockSize * 4;
				var nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes;
				var lastBytePos = dataSigBytes + nPaddingBytes - 1;
				data.clamp();
				data.words[lastBytePos >>> 2] |= nPaddingBytes << 24 - lastBytePos % 4 * 8;
				data.sigBytes += nPaddingBytes;
			},
			unpad: function(data) {
				var nPaddingBytes = data.words[data.sigBytes - 1 >>> 2] & 255;
				data.sigBytes -= nPaddingBytes;
			}
		};
		return CryptoJS.pad.Ansix923;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/pad-iso10126.js
var require_pad_iso10126 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_cipher_core());
		} else if (typeof define === "function" && define.amd) {
			define(["./core", "./cipher-core"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		/**
		* ISO 10126 padding strategy.
		*/
		CryptoJS.pad.Iso10126 = {
			pad: function(data, blockSize) {
				var blockSizeBytes = blockSize * 4;
				var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;
				data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)).concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1));
			},
			unpad: function(data) {
				var nPaddingBytes = data.words[data.sigBytes - 1 >>> 2] & 255;
				data.sigBytes -= nPaddingBytes;
			}
		};
		return CryptoJS.pad.Iso10126;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/pad-iso97971.js
var require_pad_iso97971 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_cipher_core());
		} else if (typeof define === "function" && define.amd) {
			define(["./core", "./cipher-core"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		/**
		* ISO/IEC 9797-1 Padding Method 2.
		*/
		CryptoJS.pad.Iso97971 = {
			pad: function(data, blockSize) {
				data.concat(CryptoJS.lib.WordArray.create([2147483648], 1));
				CryptoJS.pad.ZeroPadding.pad(data, blockSize);
			},
			unpad: function(data) {
				CryptoJS.pad.ZeroPadding.unpad(data);
				data.sigBytes--;
			}
		};
		return CryptoJS.pad.Iso97971;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/pad-zeropadding.js
var require_pad_zeropadding = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_cipher_core());
		} else if (typeof define === "function" && define.amd) {
			define(["./core", "./cipher-core"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		/**
		* Zero padding strategy.
		*/
		CryptoJS.pad.ZeroPadding = {
			pad: function(data, blockSize) {
				var blockSizeBytes = blockSize * 4;
				data.clamp();
				data.sigBytes += blockSizeBytes - (data.sigBytes % blockSizeBytes || blockSizeBytes);
			},
			unpad: function(data) {
				var dataWords = data.words;
				var i = data.sigBytes - 1;
				for (var i = data.sigBytes - 1; i >= 0; i--) {
					if (dataWords[i >>> 2] >>> 24 - i % 4 * 8 & 255) {
						data.sigBytes = i + 1;
						break;
					}
				}
			}
		};
		return CryptoJS.pad.ZeroPadding;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/pad-nopadding.js
var require_pad_nopadding = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_cipher_core());
		} else if (typeof define === "function" && define.amd) {
			define(["./core", "./cipher-core"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		/**
		* A noop padding strategy.
		*/
		CryptoJS.pad.NoPadding = {
			pad: function() {},
			unpad: function() {}
		};
		return CryptoJS.pad.NoPadding;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/format-hex.js
var require_format_hex = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_cipher_core());
		} else if (typeof define === "function" && define.amd) {
			define(["./core", "./cipher-core"], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		(function(undefined) {
			var C = CryptoJS;
			var C_lib = C.lib;
			var CipherParams = C_lib.CipherParams;
			var C_enc = C.enc;
			var Hex = C_enc.Hex;
			var C_format = C.format;
			var HexFormatter = C_format.Hex = {
				stringify: function(cipherParams) {
					return cipherParams.ciphertext.toString(Hex);
				},
				parse: function(input) {
					var ciphertext = Hex.parse(input);
					return CipherParams.create({ ciphertext });
				}
			};
		})();
		return CryptoJS.format.Hex;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/aes.js
var require_aes = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_enc_base64(), require_md5(), require_evpkdf(), require_cipher_core());
		} else if (typeof define === "function" && define.amd) {
			define([
				"./core",
				"./enc-base64",
				"./md5",
				"./evpkdf",
				"./cipher-core"
			], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var BlockCipher = C_lib.BlockCipher;
			var C_algo = C.algo;
			var SBOX = [];
			var INV_SBOX = [];
			var SUB_MIX_0 = [];
			var SUB_MIX_1 = [];
			var SUB_MIX_2 = [];
			var SUB_MIX_3 = [];
			var INV_SUB_MIX_0 = [];
			var INV_SUB_MIX_1 = [];
			var INV_SUB_MIX_2 = [];
			var INV_SUB_MIX_3 = [];
			(function() {
				var d = [];
				for (var i = 0; i < 256; i++) {
					if (i < 128) {
						d[i] = i << 1;
					} else {
						d[i] = i << 1 ^ 283;
					}
				}
				var x = 0;
				var xi = 0;
				for (var i = 0; i < 256; i++) {
					var sx = xi ^ xi << 1 ^ xi << 2 ^ xi << 3 ^ xi << 4;
					sx = sx >>> 8 ^ sx & 255 ^ 99;
					SBOX[x] = sx;
					INV_SBOX[sx] = x;
					var x2 = d[x];
					var x4 = d[x2];
					var x8 = d[x4];
					var t = d[sx] * 257 ^ sx * 16843008;
					SUB_MIX_0[x] = t << 24 | t >>> 8;
					SUB_MIX_1[x] = t << 16 | t >>> 16;
					SUB_MIX_2[x] = t << 8 | t >>> 24;
					SUB_MIX_3[x] = t;
					var t = x8 * 16843009 ^ x4 * 65537 ^ x2 * 257 ^ x * 16843008;
					INV_SUB_MIX_0[sx] = t << 24 | t >>> 8;
					INV_SUB_MIX_1[sx] = t << 16 | t >>> 16;
					INV_SUB_MIX_2[sx] = t << 8 | t >>> 24;
					INV_SUB_MIX_3[sx] = t;
					if (!x) {
						x = xi = 1;
					} else {
						x = x2 ^ d[d[d[x8 ^ x2]]];
						xi ^= d[d[xi]];
					}
				}
			})();
			var RCON = [
				0,
				1,
				2,
				4,
				8,
				16,
				32,
				64,
				128,
				27,
				54
			];
			/**
			* AES block cipher algorithm.
			*/
			var AES = C_algo.AES = BlockCipher.extend({
				_doReset: function() {
					var t;
					if (this._nRounds && this._keyPriorReset === this._key) {
						return;
					}
					var key = this._keyPriorReset = this._key;
					var keyWords = key.words;
					var keySize = key.sigBytes / 4;
					var nRounds = this._nRounds = keySize + 6;
					var ksRows = (nRounds + 1) * 4;
					var keySchedule = this._keySchedule = [];
					for (var ksRow = 0; ksRow < ksRows; ksRow++) {
						if (ksRow < keySize) {
							keySchedule[ksRow] = keyWords[ksRow];
						} else {
							t = keySchedule[ksRow - 1];
							if (!(ksRow % keySize)) {
								t = t << 8 | t >>> 24;
								t = SBOX[t >>> 24] << 24 | SBOX[t >>> 16 & 255] << 16 | SBOX[t >>> 8 & 255] << 8 | SBOX[t & 255];
								t ^= RCON[ksRow / keySize | 0] << 24;
							} else if (keySize > 6 && ksRow % keySize == 4) {
								t = SBOX[t >>> 24] << 24 | SBOX[t >>> 16 & 255] << 16 | SBOX[t >>> 8 & 255] << 8 | SBOX[t & 255];
							}
							keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t;
						}
					}
					var invKeySchedule = this._invKeySchedule = [];
					for (var invKsRow = 0; invKsRow < ksRows; invKsRow++) {
						var ksRow = ksRows - invKsRow;
						if (invKsRow % 4) {
							var t = keySchedule[ksRow];
						} else {
							var t = keySchedule[ksRow - 4];
						}
						if (invKsRow < 4 || ksRow <= 4) {
							invKeySchedule[invKsRow] = t;
						} else {
							invKeySchedule[invKsRow] = INV_SUB_MIX_0[SBOX[t >>> 24]] ^ INV_SUB_MIX_1[SBOX[t >>> 16 & 255]] ^ INV_SUB_MIX_2[SBOX[t >>> 8 & 255]] ^ INV_SUB_MIX_3[SBOX[t & 255]];
						}
					}
				},
				encryptBlock: function(M, offset) {
					this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX);
				},
				decryptBlock: function(M, offset) {
					var t = M[offset + 1];
					M[offset + 1] = M[offset + 3];
					M[offset + 3] = t;
					this._doCryptBlock(M, offset, this._invKeySchedule, INV_SUB_MIX_0, INV_SUB_MIX_1, INV_SUB_MIX_2, INV_SUB_MIX_3, INV_SBOX);
					var t = M[offset + 1];
					M[offset + 1] = M[offset + 3];
					M[offset + 3] = t;
				},
				_doCryptBlock: function(M, offset, keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX) {
					var nRounds = this._nRounds;
					var s0 = M[offset] ^ keySchedule[0];
					var s1 = M[offset + 1] ^ keySchedule[1];
					var s2 = M[offset + 2] ^ keySchedule[2];
					var s3 = M[offset + 3] ^ keySchedule[3];
					var ksRow = 4;
					for (var round = 1; round < nRounds; round++) {
						var t0 = SUB_MIX_0[s0 >>> 24] ^ SUB_MIX_1[s1 >>> 16 & 255] ^ SUB_MIX_2[s2 >>> 8 & 255] ^ SUB_MIX_3[s3 & 255] ^ keySchedule[ksRow++];
						var t1 = SUB_MIX_0[s1 >>> 24] ^ SUB_MIX_1[s2 >>> 16 & 255] ^ SUB_MIX_2[s3 >>> 8 & 255] ^ SUB_MIX_3[s0 & 255] ^ keySchedule[ksRow++];
						var t2 = SUB_MIX_0[s2 >>> 24] ^ SUB_MIX_1[s3 >>> 16 & 255] ^ SUB_MIX_2[s0 >>> 8 & 255] ^ SUB_MIX_3[s1 & 255] ^ keySchedule[ksRow++];
						var t3 = SUB_MIX_0[s3 >>> 24] ^ SUB_MIX_1[s0 >>> 16 & 255] ^ SUB_MIX_2[s1 >>> 8 & 255] ^ SUB_MIX_3[s2 & 255] ^ keySchedule[ksRow++];
						s0 = t0;
						s1 = t1;
						s2 = t2;
						s3 = t3;
					}
					var t0 = (SBOX[s0 >>> 24] << 24 | SBOX[s1 >>> 16 & 255] << 16 | SBOX[s2 >>> 8 & 255] << 8 | SBOX[s3 & 255]) ^ keySchedule[ksRow++];
					var t1 = (SBOX[s1 >>> 24] << 24 | SBOX[s2 >>> 16 & 255] << 16 | SBOX[s3 >>> 8 & 255] << 8 | SBOX[s0 & 255]) ^ keySchedule[ksRow++];
					var t2 = (SBOX[s2 >>> 24] << 24 | SBOX[s3 >>> 16 & 255] << 16 | SBOX[s0 >>> 8 & 255] << 8 | SBOX[s1 & 255]) ^ keySchedule[ksRow++];
					var t3 = (SBOX[s3 >>> 24] << 24 | SBOX[s0 >>> 16 & 255] << 16 | SBOX[s1 >>> 8 & 255] << 8 | SBOX[s2 & 255]) ^ keySchedule[ksRow++];
					M[offset] = t0;
					M[offset + 1] = t1;
					M[offset + 2] = t2;
					M[offset + 3] = t3;
				},
				keySize: 256 / 32
			});
			/**
			* Shortcut functions to the cipher's object interface.
			*
			* @example
			*
			*     var ciphertext = CryptoJS.AES.encrypt(message, key, cfg);
			*     var plaintext  = CryptoJS.AES.decrypt(ciphertext, key, cfg);
			*/
			C.AES = BlockCipher._createHelper(AES);
		})();
		return CryptoJS.AES;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/tripledes.js
var require_tripledes = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_enc_base64(), require_md5(), require_evpkdf(), require_cipher_core());
		} else if (typeof define === "function" && define.amd) {
			define([
				"./core",
				"./enc-base64",
				"./md5",
				"./evpkdf",
				"./cipher-core"
			], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var WordArray = C_lib.WordArray;
			var BlockCipher = C_lib.BlockCipher;
			var C_algo = C.algo;
			var PC1 = [
				57,
				49,
				41,
				33,
				25,
				17,
				9,
				1,
				58,
				50,
				42,
				34,
				26,
				18,
				10,
				2,
				59,
				51,
				43,
				35,
				27,
				19,
				11,
				3,
				60,
				52,
				44,
				36,
				63,
				55,
				47,
				39,
				31,
				23,
				15,
				7,
				62,
				54,
				46,
				38,
				30,
				22,
				14,
				6,
				61,
				53,
				45,
				37,
				29,
				21,
				13,
				5,
				28,
				20,
				12,
				4
			];
			var PC2 = [
				14,
				17,
				11,
				24,
				1,
				5,
				3,
				28,
				15,
				6,
				21,
				10,
				23,
				19,
				12,
				4,
				26,
				8,
				16,
				7,
				27,
				20,
				13,
				2,
				41,
				52,
				31,
				37,
				47,
				55,
				30,
				40,
				51,
				45,
				33,
				48,
				44,
				49,
				39,
				56,
				34,
				53,
				46,
				42,
				50,
				36,
				29,
				32
			];
			var BIT_SHIFTS = [
				1,
				2,
				4,
				6,
				8,
				10,
				12,
				14,
				15,
				17,
				19,
				21,
				23,
				25,
				27,
				28
			];
			var SBOX_P = [
				{
					0: 8421888,
					268435456: 32768,
					536870912: 8421378,
					805306368: 2,
					1073741824: 512,
					1342177280: 8421890,
					1610612736: 8389122,
					1879048192: 8388608,
					2147483648: 514,
					2415919104: 8389120,
					2684354560: 33280,
					2952790016: 8421376,
					3221225472: 32770,
					3489660928: 8388610,
					3758096384: 0,
					4026531840: 33282,
					134217728: 0,
					402653184: 8421890,
					671088640: 33282,
					939524096: 32768,
					1207959552: 8421888,
					1476395008: 512,
					1744830464: 8421378,
					2013265920: 2,
					2281701376: 8389120,
					2550136832: 33280,
					2818572288: 8421376,
					3087007744: 8389122,
					3355443200: 8388610,
					3623878656: 32770,
					3892314112: 514,
					4160749568: 8388608,
					1: 32768,
					268435457: 2,
					536870913: 8421888,
					805306369: 8388608,
					1073741825: 8421378,
					1342177281: 33280,
					1610612737: 512,
					1879048193: 8389122,
					2147483649: 8421890,
					2415919105: 8421376,
					2684354561: 8388610,
					2952790017: 33282,
					3221225473: 514,
					3489660929: 8389120,
					3758096385: 32770,
					4026531841: 0,
					134217729: 8421890,
					402653185: 8421376,
					671088641: 8388608,
					939524097: 512,
					1207959553: 32768,
					1476395009: 8388610,
					1744830465: 2,
					2013265921: 33282,
					2281701377: 32770,
					2550136833: 8389122,
					2818572289: 514,
					3087007745: 8421888,
					3355443201: 8389120,
					3623878657: 0,
					3892314113: 33280,
					4160749569: 8421378
				},
				{
					0: 1074282512,
					16777216: 16384,
					33554432: 524288,
					50331648: 1074266128,
					67108864: 1073741840,
					83886080: 1074282496,
					100663296: 1073758208,
					117440512: 16,
					134217728: 540672,
					150994944: 1073758224,
					167772160: 1073741824,
					184549376: 540688,
					201326592: 524304,
					218103808: 0,
					234881024: 16400,
					251658240: 1074266112,
					8388608: 1073758208,
					25165824: 540688,
					41943040: 16,
					58720256: 1073758224,
					75497472: 1074282512,
					92274688: 1073741824,
					109051904: 524288,
					125829120: 1074266128,
					142606336: 524304,
					159383552: 0,
					176160768: 16384,
					192937984: 1074266112,
					209715200: 1073741840,
					226492416: 540672,
					243269632: 1074282496,
					260046848: 16400,
					268435456: 0,
					285212672: 1074266128,
					301989888: 1073758224,
					318767104: 1074282496,
					335544320: 1074266112,
					352321536: 16,
					369098752: 540688,
					385875968: 16384,
					402653184: 16400,
					419430400: 524288,
					436207616: 524304,
					452984832: 1073741840,
					469762048: 540672,
					486539264: 1073758208,
					503316480: 1073741824,
					520093696: 1074282512,
					276824064: 540688,
					293601280: 524288,
					310378496: 1074266112,
					327155712: 16384,
					343932928: 1073758208,
					360710144: 1074282512,
					377487360: 16,
					394264576: 1073741824,
					411041792: 1074282496,
					427819008: 1073741840,
					444596224: 1073758224,
					461373440: 524304,
					478150656: 0,
					494927872: 16400,
					511705088: 1074266128,
					528482304: 540672
				},
				{
					0: 260,
					1048576: 0,
					2097152: 67109120,
					3145728: 65796,
					4194304: 65540,
					5242880: 67108868,
					6291456: 67174660,
					7340032: 67174400,
					8388608: 67108864,
					9437184: 67174656,
					10485760: 65792,
					11534336: 67174404,
					12582912: 67109124,
					13631488: 65536,
					14680064: 4,
					15728640: 256,
					524288: 67174656,
					1572864: 67174404,
					2621440: 0,
					3670016: 67109120,
					4718592: 67108868,
					5767168: 65536,
					6815744: 65540,
					7864320: 260,
					8912896: 4,
					9961472: 256,
					11010048: 67174400,
					12058624: 65796,
					13107200: 65792,
					14155776: 67109124,
					15204352: 67174660,
					16252928: 67108864,
					16777216: 67174656,
					17825792: 65540,
					18874368: 65536,
					19922944: 67109120,
					20971520: 256,
					22020096: 67174660,
					23068672: 67108868,
					24117248: 0,
					25165824: 67109124,
					26214400: 67108864,
					27262976: 4,
					28311552: 65792,
					29360128: 67174400,
					30408704: 260,
					31457280: 65796,
					32505856: 67174404,
					17301504: 67108864,
					18350080: 260,
					19398656: 67174656,
					20447232: 0,
					21495808: 65540,
					22544384: 67109120,
					23592960: 256,
					24641536: 67174404,
					25690112: 65536,
					26738688: 67174660,
					27787264: 65796,
					28835840: 67108868,
					29884416: 67109124,
					30932992: 67174400,
					31981568: 4,
					33030144: 65792
				},
				{
					0: 2151682048,
					65536: 2147487808,
					131072: 4198464,
					196608: 2151677952,
					262144: 0,
					327680: 4198400,
					393216: 2147483712,
					458752: 4194368,
					524288: 2147483648,
					589824: 4194304,
					655360: 64,
					720896: 2147487744,
					786432: 2151678016,
					851968: 4160,
					917504: 4096,
					983040: 2151682112,
					32768: 2147487808,
					98304: 64,
					163840: 2151678016,
					229376: 2147487744,
					294912: 4198400,
					360448: 2151682112,
					425984: 0,
					491520: 2151677952,
					557056: 4096,
					622592: 2151682048,
					688128: 4194304,
					753664: 4160,
					819200: 2147483648,
					884736: 4194368,
					950272: 4198464,
					1015808: 2147483712,
					1048576: 4194368,
					1114112: 4198400,
					1179648: 2147483712,
					1245184: 0,
					1310720: 4160,
					1376256: 2151678016,
					1441792: 2151682048,
					1507328: 2147487808,
					1572864: 2151682112,
					1638400: 2147483648,
					1703936: 2151677952,
					1769472: 4198464,
					1835008: 2147487744,
					1900544: 4194304,
					1966080: 64,
					2031616: 4096,
					1081344: 2151677952,
					1146880: 2151682112,
					1212416: 0,
					1277952: 4198400,
					1343488: 4194368,
					1409024: 2147483648,
					1474560: 2147487808,
					1540096: 64,
					1605632: 2147483712,
					1671168: 4096,
					1736704: 2147487744,
					1802240: 2151678016,
					1867776: 4160,
					1933312: 2151682048,
					1998848: 4194304,
					2064384: 4198464
				},
				{
					0: 128,
					4096: 17039360,
					8192: 262144,
					12288: 536870912,
					16384: 537133184,
					20480: 16777344,
					24576: 553648256,
					28672: 262272,
					32768: 16777216,
					36864: 537133056,
					40960: 536871040,
					45056: 553910400,
					49152: 553910272,
					53248: 0,
					57344: 17039488,
					61440: 553648128,
					2048: 17039488,
					6144: 553648256,
					10240: 128,
					14336: 17039360,
					18432: 262144,
					22528: 537133184,
					26624: 553910272,
					30720: 536870912,
					34816: 537133056,
					38912: 0,
					43008: 553910400,
					47104: 16777344,
					51200: 536871040,
					55296: 553648128,
					59392: 16777216,
					63488: 262272,
					65536: 262144,
					69632: 128,
					73728: 536870912,
					77824: 553648256,
					81920: 16777344,
					86016: 553910272,
					90112: 537133184,
					94208: 16777216,
					98304: 553910400,
					102400: 553648128,
					106496: 17039360,
					110592: 537133056,
					114688: 262272,
					118784: 536871040,
					122880: 0,
					126976: 17039488,
					67584: 553648256,
					71680: 16777216,
					75776: 17039360,
					79872: 537133184,
					83968: 536870912,
					88064: 17039488,
					92160: 128,
					96256: 553910272,
					100352: 262272,
					104448: 553910400,
					108544: 0,
					112640: 553648128,
					116736: 16777344,
					120832: 262144,
					124928: 537133056,
					129024: 536871040
				},
				{
					0: 268435464,
					256: 8192,
					512: 270532608,
					768: 270540808,
					1024: 268443648,
					1280: 2097152,
					1536: 2097160,
					1792: 268435456,
					2048: 0,
					2304: 268443656,
					2560: 2105344,
					2816: 8,
					3072: 270532616,
					3328: 2105352,
					3584: 8200,
					3840: 270540800,
					128: 270532608,
					384: 270540808,
					640: 8,
					896: 2097152,
					1152: 2105352,
					1408: 268435464,
					1664: 268443648,
					1920: 8200,
					2176: 2097160,
					2432: 8192,
					2688: 268443656,
					2944: 270532616,
					3200: 0,
					3456: 270540800,
					3712: 2105344,
					3968: 268435456,
					4096: 268443648,
					4352: 270532616,
					4608: 270540808,
					4864: 8200,
					5120: 2097152,
					5376: 268435456,
					5632: 268435464,
					5888: 2105344,
					6144: 2105352,
					6400: 0,
					6656: 8,
					6912: 270532608,
					7168: 8192,
					7424: 268443656,
					7680: 270540800,
					7936: 2097160,
					4224: 8,
					4480: 2105344,
					4736: 2097152,
					4992: 268435464,
					5248: 268443648,
					5504: 8200,
					5760: 270540808,
					6016: 270532608,
					6272: 270540800,
					6528: 270532616,
					6784: 8192,
					7040: 2105352,
					7296: 2097160,
					7552: 0,
					7808: 268435456,
					8064: 268443656
				},
				{
					0: 1048576,
					16: 33555457,
					32: 1024,
					48: 1049601,
					64: 34604033,
					80: 0,
					96: 1,
					112: 34603009,
					128: 33555456,
					144: 1048577,
					160: 33554433,
					176: 34604032,
					192: 34603008,
					208: 1025,
					224: 1049600,
					240: 33554432,
					8: 34603009,
					24: 0,
					40: 33555457,
					56: 34604032,
					72: 1048576,
					88: 33554433,
					104: 33554432,
					120: 1025,
					136: 1049601,
					152: 33555456,
					168: 34603008,
					184: 1048577,
					200: 1024,
					216: 34604033,
					232: 1,
					248: 1049600,
					256: 33554432,
					272: 1048576,
					288: 33555457,
					304: 34603009,
					320: 1048577,
					336: 33555456,
					352: 34604032,
					368: 1049601,
					384: 1025,
					400: 34604033,
					416: 1049600,
					432: 1,
					448: 0,
					464: 34603008,
					480: 33554433,
					496: 1024,
					264: 1049600,
					280: 33555457,
					296: 34603009,
					312: 1,
					328: 33554432,
					344: 1048576,
					360: 1025,
					376: 34604032,
					392: 33554433,
					408: 34603008,
					424: 0,
					440: 34604033,
					456: 1049601,
					472: 1024,
					488: 33555456,
					504: 1048577
				},
				{
					0: 134219808,
					1: 131072,
					2: 134217728,
					3: 32,
					4: 131104,
					5: 134350880,
					6: 134350848,
					7: 2048,
					8: 134348800,
					9: 134219776,
					10: 133120,
					11: 134348832,
					12: 2080,
					13: 0,
					14: 134217760,
					15: 133152,
					2147483648: 2048,
					2147483649: 134350880,
					2147483650: 134219808,
					2147483651: 134217728,
					2147483652: 134348800,
					2147483653: 133120,
					2147483654: 133152,
					2147483655: 32,
					2147483656: 134217760,
					2147483657: 2080,
					2147483658: 131104,
					2147483659: 134350848,
					2147483660: 0,
					2147483661: 134348832,
					2147483662: 134219776,
					2147483663: 131072,
					16: 133152,
					17: 134350848,
					18: 32,
					19: 2048,
					20: 134219776,
					21: 134217760,
					22: 134348832,
					23: 131072,
					24: 0,
					25: 131104,
					26: 134348800,
					27: 134219808,
					28: 134350880,
					29: 133120,
					30: 2080,
					31: 134217728,
					2147483664: 131072,
					2147483665: 2048,
					2147483666: 134348832,
					2147483667: 133152,
					2147483668: 32,
					2147483669: 134348800,
					2147483670: 134217728,
					2147483671: 134219808,
					2147483672: 134350880,
					2147483673: 134217760,
					2147483674: 134219776,
					2147483675: 0,
					2147483676: 133120,
					2147483677: 2080,
					2147483678: 131104,
					2147483679: 134350848
				}
			];
			var SBOX_MASK = [
				4160749569,
				528482304,
				33030144,
				2064384,
				129024,
				8064,
				504,
				2147483679
			];
			/**
			* DES block cipher algorithm.
			*/
			var DES = C_algo.DES = BlockCipher.extend({
				_doReset: function() {
					var key = this._key;
					var keyWords = key.words;
					var keyBits = [];
					for (var i = 0; i < 56; i++) {
						var keyBitPos = PC1[i] - 1;
						keyBits[i] = keyWords[keyBitPos >>> 5] >>> 31 - keyBitPos % 32 & 1;
					}
					var subKeys = this._subKeys = [];
					for (var nSubKey = 0; nSubKey < 16; nSubKey++) {
						var subKey = subKeys[nSubKey] = [];
						var bitShift = BIT_SHIFTS[nSubKey];
						for (var i = 0; i < 24; i++) {
							subKey[i / 6 | 0] |= keyBits[(PC2[i] - 1 + bitShift) % 28] << 31 - i % 6;
							subKey[4 + (i / 6 | 0)] |= keyBits[28 + (PC2[i + 24] - 1 + bitShift) % 28] << 31 - i % 6;
						}
						subKey[0] = subKey[0] << 1 | subKey[0] >>> 31;
						for (var i = 1; i < 7; i++) {
							subKey[i] = subKey[i] >>> (i - 1) * 4 + 3;
						}
						subKey[7] = subKey[7] << 5 | subKey[7] >>> 27;
					}
					var invSubKeys = this._invSubKeys = [];
					for (var i = 0; i < 16; i++) {
						invSubKeys[i] = subKeys[15 - i];
					}
				},
				encryptBlock: function(M, offset) {
					this._doCryptBlock(M, offset, this._subKeys);
				},
				decryptBlock: function(M, offset) {
					this._doCryptBlock(M, offset, this._invSubKeys);
				},
				_doCryptBlock: function(M, offset, subKeys) {
					this._lBlock = M[offset];
					this._rBlock = M[offset + 1];
					exchangeLR.call(this, 4, 252645135);
					exchangeLR.call(this, 16, 65535);
					exchangeRL.call(this, 2, 858993459);
					exchangeRL.call(this, 8, 16711935);
					exchangeLR.call(this, 1, 1431655765);
					for (var round = 0; round < 16; round++) {
						var subKey = subKeys[round];
						var lBlock = this._lBlock;
						var rBlock = this._rBlock;
						var f = 0;
						for (var i = 0; i < 8; i++) {
							f |= SBOX_P[i][((rBlock ^ subKey[i]) & SBOX_MASK[i]) >>> 0];
						}
						this._lBlock = rBlock;
						this._rBlock = lBlock ^ f;
					}
					var t = this._lBlock;
					this._lBlock = this._rBlock;
					this._rBlock = t;
					exchangeLR.call(this, 1, 1431655765);
					exchangeRL.call(this, 8, 16711935);
					exchangeRL.call(this, 2, 858993459);
					exchangeLR.call(this, 16, 65535);
					exchangeLR.call(this, 4, 252645135);
					M[offset] = this._lBlock;
					M[offset + 1] = this._rBlock;
				},
				keySize: 64 / 32,
				ivSize: 64 / 32,
				blockSize: 64 / 32
			});
			function exchangeLR(offset, mask) {
				var t = (this._lBlock >>> offset ^ this._rBlock) & mask;
				this._rBlock ^= t;
				this._lBlock ^= t << offset;
			}
			function exchangeRL(offset, mask) {
				var t = (this._rBlock >>> offset ^ this._lBlock) & mask;
				this._lBlock ^= t;
				this._rBlock ^= t << offset;
			}
			/**
			* Shortcut functions to the cipher's object interface.
			*
			* @example
			*
			*     var ciphertext = CryptoJS.DES.encrypt(message, key, cfg);
			*     var plaintext  = CryptoJS.DES.decrypt(ciphertext, key, cfg);
			*/
			C.DES = BlockCipher._createHelper(DES);
			/**
			* Triple-DES block cipher algorithm.
			*/
			var TripleDES = C_algo.TripleDES = BlockCipher.extend({
				_doReset: function() {
					var key = this._key;
					var keyWords = key.words;
					if (keyWords.length !== 2 && keyWords.length !== 4 && keyWords.length < 6) {
						throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");
					}
					var key1 = keyWords.slice(0, 2);
					var key2 = keyWords.length < 4 ? keyWords.slice(0, 2) : keyWords.slice(2, 4);
					var key3 = keyWords.length < 6 ? keyWords.slice(0, 2) : keyWords.slice(4, 6);
					this._des1 = DES.createEncryptor(WordArray.create(key1));
					this._des2 = DES.createEncryptor(WordArray.create(key2));
					this._des3 = DES.createEncryptor(WordArray.create(key3));
				},
				encryptBlock: function(M, offset) {
					this._des1.encryptBlock(M, offset);
					this._des2.decryptBlock(M, offset);
					this._des3.encryptBlock(M, offset);
				},
				decryptBlock: function(M, offset) {
					this._des3.decryptBlock(M, offset);
					this._des2.encryptBlock(M, offset);
					this._des1.decryptBlock(M, offset);
				},
				keySize: 192 / 32,
				ivSize: 64 / 32,
				blockSize: 64 / 32
			});
			/**
			* Shortcut functions to the cipher's object interface.
			*
			* @example
			*
			*     var ciphertext = CryptoJS.TripleDES.encrypt(message, key, cfg);
			*     var plaintext  = CryptoJS.TripleDES.decrypt(ciphertext, key, cfg);
			*/
			C.TripleDES = BlockCipher._createHelper(TripleDES);
		})();
		return CryptoJS.TripleDES;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/rc4.js
var require_rc4 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_enc_base64(), require_md5(), require_evpkdf(), require_cipher_core());
		} else if (typeof define === "function" && define.amd) {
			define([
				"./core",
				"./enc-base64",
				"./md5",
				"./evpkdf",
				"./cipher-core"
			], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var StreamCipher = C_lib.StreamCipher;
			var C_algo = C.algo;
			/**
			* RC4 stream cipher algorithm.
			*/
			var RC4 = C_algo.RC4 = StreamCipher.extend({
				_doReset: function() {
					var key = this._key;
					var keyWords = key.words;
					var keySigBytes = key.sigBytes;
					var S = this._S = [];
					for (var i = 0; i < 256; i++) {
						S[i] = i;
					}
					for (var i = 0, j = 0; i < 256; i++) {
						var keyByteIndex = i % keySigBytes;
						var keyByte = keyWords[keyByteIndex >>> 2] >>> 24 - keyByteIndex % 4 * 8 & 255;
						j = (j + S[i] + keyByte) % 256;
						var t = S[i];
						S[i] = S[j];
						S[j] = t;
					}
					this._i = this._j = 0;
				},
				_doProcessBlock: function(M, offset) {
					M[offset] ^= generateKeystreamWord.call(this);
				},
				keySize: 256 / 32,
				ivSize: 0
			});
			function generateKeystreamWord() {
				var S = this._S;
				var i = this._i;
				var j = this._j;
				var keystreamWord = 0;
				for (var n = 0; n < 4; n++) {
					i = (i + 1) % 256;
					j = (j + S[i]) % 256;
					var t = S[i];
					S[i] = S[j];
					S[j] = t;
					keystreamWord |= S[(S[i] + S[j]) % 256] << 24 - n * 8;
				}
				this._i = i;
				this._j = j;
				return keystreamWord;
			}
			/**
			* Shortcut functions to the cipher's object interface.
			*
			* @example
			*
			*     var ciphertext = CryptoJS.RC4.encrypt(message, key, cfg);
			*     var plaintext  = CryptoJS.RC4.decrypt(ciphertext, key, cfg);
			*/
			C.RC4 = StreamCipher._createHelper(RC4);
			/**
			* Modified RC4 stream cipher algorithm.
			*/
			var RC4Drop = C_algo.RC4Drop = RC4.extend({
				cfg: RC4.cfg.extend({ drop: 192 }),
				_doReset: function() {
					RC4._doReset.call(this);
					for (var i = this.cfg.drop; i > 0; i--) {
						generateKeystreamWord.call(this);
					}
				}
			});
			/**
			* Shortcut functions to the cipher's object interface.
			*
			* @example
			*
			*     var ciphertext = CryptoJS.RC4Drop.encrypt(message, key, cfg);
			*     var plaintext  = CryptoJS.RC4Drop.decrypt(ciphertext, key, cfg);
			*/
			C.RC4Drop = StreamCipher._createHelper(RC4Drop);
		})();
		return CryptoJS.RC4;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/rabbit.js
var require_rabbit = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_enc_base64(), require_md5(), require_evpkdf(), require_cipher_core());
		} else if (typeof define === "function" && define.amd) {
			define([
				"./core",
				"./enc-base64",
				"./md5",
				"./evpkdf",
				"./cipher-core"
			], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var StreamCipher = C_lib.StreamCipher;
			var C_algo = C.algo;
			var S = [];
			var C_ = [];
			var G = [];
			/**
			* Rabbit stream cipher algorithm
			*/
			var Rabbit = C_algo.Rabbit = StreamCipher.extend({
				_doReset: function() {
					var K = this._key.words;
					var iv = this.cfg.iv;
					for (var i = 0; i < 4; i++) {
						K[i] = (K[i] << 8 | K[i] >>> 24) & 16711935 | (K[i] << 24 | K[i] >>> 8) & 4278255360;
					}
					var X = this._X = [
						K[0],
						K[3] << 16 | K[2] >>> 16,
						K[1],
						K[0] << 16 | K[3] >>> 16,
						K[2],
						K[1] << 16 | K[0] >>> 16,
						K[3],
						K[2] << 16 | K[1] >>> 16
					];
					var C = this._C = [
						K[2] << 16 | K[2] >>> 16,
						K[0] & 4294901760 | K[1] & 65535,
						K[3] << 16 | K[3] >>> 16,
						K[1] & 4294901760 | K[2] & 65535,
						K[0] << 16 | K[0] >>> 16,
						K[2] & 4294901760 | K[3] & 65535,
						K[1] << 16 | K[1] >>> 16,
						K[3] & 4294901760 | K[0] & 65535
					];
					this._b = 0;
					for (var i = 0; i < 4; i++) {
						nextState.call(this);
					}
					for (var i = 0; i < 8; i++) {
						C[i] ^= X[i + 4 & 7];
					}
					if (iv) {
						var IV = iv.words;
						var IV_0 = IV[0];
						var IV_1 = IV[1];
						var i0 = (IV_0 << 8 | IV_0 >>> 24) & 16711935 | (IV_0 << 24 | IV_0 >>> 8) & 4278255360;
						var i2 = (IV_1 << 8 | IV_1 >>> 24) & 16711935 | (IV_1 << 24 | IV_1 >>> 8) & 4278255360;
						var i1 = i0 >>> 16 | i2 & 4294901760;
						var i3 = i2 << 16 | i0 & 65535;
						C[0] ^= i0;
						C[1] ^= i1;
						C[2] ^= i2;
						C[3] ^= i3;
						C[4] ^= i0;
						C[5] ^= i1;
						C[6] ^= i2;
						C[7] ^= i3;
						for (var i = 0; i < 4; i++) {
							nextState.call(this);
						}
					}
				},
				_doProcessBlock: function(M, offset) {
					var X = this._X;
					nextState.call(this);
					S[0] = X[0] ^ X[5] >>> 16 ^ X[3] << 16;
					S[1] = X[2] ^ X[7] >>> 16 ^ X[5] << 16;
					S[2] = X[4] ^ X[1] >>> 16 ^ X[7] << 16;
					S[3] = X[6] ^ X[3] >>> 16 ^ X[1] << 16;
					for (var i = 0; i < 4; i++) {
						S[i] = (S[i] << 8 | S[i] >>> 24) & 16711935 | (S[i] << 24 | S[i] >>> 8) & 4278255360;
						M[offset + i] ^= S[i];
					}
				},
				blockSize: 128 / 32,
				ivSize: 64 / 32
			});
			function nextState() {
				var X = this._X;
				var C = this._C;
				for (var i = 0; i < 8; i++) {
					C_[i] = C[i];
				}
				C[0] = C[0] + 1295307597 + this._b | 0;
				C[1] = C[1] + 3545052371 + (C[0] >>> 0 < C_[0] >>> 0 ? 1 : 0) | 0;
				C[2] = C[2] + 886263092 + (C[1] >>> 0 < C_[1] >>> 0 ? 1 : 0) | 0;
				C[3] = C[3] + 1295307597 + (C[2] >>> 0 < C_[2] >>> 0 ? 1 : 0) | 0;
				C[4] = C[4] + 3545052371 + (C[3] >>> 0 < C_[3] >>> 0 ? 1 : 0) | 0;
				C[5] = C[5] + 886263092 + (C[4] >>> 0 < C_[4] >>> 0 ? 1 : 0) | 0;
				C[6] = C[6] + 1295307597 + (C[5] >>> 0 < C_[5] >>> 0 ? 1 : 0) | 0;
				C[7] = C[7] + 3545052371 + (C[6] >>> 0 < C_[6] >>> 0 ? 1 : 0) | 0;
				this._b = C[7] >>> 0 < C_[7] >>> 0 ? 1 : 0;
				for (var i = 0; i < 8; i++) {
					var gx = X[i] + C[i];
					var ga = gx & 65535;
					var gb = gx >>> 16;
					var gh = ((ga * ga >>> 17) + ga * gb >>> 15) + gb * gb;
					var gl = ((gx & 4294901760) * gx | 0) + ((gx & 65535) * gx | 0);
					G[i] = gh ^ gl;
				}
				X[0] = G[0] + (G[7] << 16 | G[7] >>> 16) + (G[6] << 16 | G[6] >>> 16) | 0;
				X[1] = G[1] + (G[0] << 8 | G[0] >>> 24) + G[7] | 0;
				X[2] = G[2] + (G[1] << 16 | G[1] >>> 16) + (G[0] << 16 | G[0] >>> 16) | 0;
				X[3] = G[3] + (G[2] << 8 | G[2] >>> 24) + G[1] | 0;
				X[4] = G[4] + (G[3] << 16 | G[3] >>> 16) + (G[2] << 16 | G[2] >>> 16) | 0;
				X[5] = G[5] + (G[4] << 8 | G[4] >>> 24) + G[3] | 0;
				X[6] = G[6] + (G[5] << 16 | G[5] >>> 16) + (G[4] << 16 | G[4] >>> 16) | 0;
				X[7] = G[7] + (G[6] << 8 | G[6] >>> 24) + G[5] | 0;
			}
			/**
			* Shortcut functions to the cipher's object interface.
			*
			* @example
			*
			*     var ciphertext = CryptoJS.Rabbit.encrypt(message, key, cfg);
			*     var plaintext  = CryptoJS.Rabbit.decrypt(ciphertext, key, cfg);
			*/
			C.Rabbit = StreamCipher._createHelper(Rabbit);
		})();
		return CryptoJS.Rabbit;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/rabbit-legacy.js
var require_rabbit_legacy = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_enc_base64(), require_md5(), require_evpkdf(), require_cipher_core());
		} else if (typeof define === "function" && define.amd) {
			define([
				"./core",
				"./enc-base64",
				"./md5",
				"./evpkdf",
				"./cipher-core"
			], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var StreamCipher = C_lib.StreamCipher;
			var C_algo = C.algo;
			var S = [];
			var C_ = [];
			var G = [];
			/**
			* Rabbit stream cipher algorithm.
			*
			* This is a legacy version that neglected to convert the key to little-endian.
			* This error doesn't affect the cipher's security,
			* but it does affect its compatibility with other implementations.
			*/
			var RabbitLegacy = C_algo.RabbitLegacy = StreamCipher.extend({
				_doReset: function() {
					var K = this._key.words;
					var iv = this.cfg.iv;
					var X = this._X = [
						K[0],
						K[3] << 16 | K[2] >>> 16,
						K[1],
						K[0] << 16 | K[3] >>> 16,
						K[2],
						K[1] << 16 | K[0] >>> 16,
						K[3],
						K[2] << 16 | K[1] >>> 16
					];
					var C = this._C = [
						K[2] << 16 | K[2] >>> 16,
						K[0] & 4294901760 | K[1] & 65535,
						K[3] << 16 | K[3] >>> 16,
						K[1] & 4294901760 | K[2] & 65535,
						K[0] << 16 | K[0] >>> 16,
						K[2] & 4294901760 | K[3] & 65535,
						K[1] << 16 | K[1] >>> 16,
						K[3] & 4294901760 | K[0] & 65535
					];
					this._b = 0;
					for (var i = 0; i < 4; i++) {
						nextState.call(this);
					}
					for (var i = 0; i < 8; i++) {
						C[i] ^= X[i + 4 & 7];
					}
					if (iv) {
						var IV = iv.words;
						var IV_0 = IV[0];
						var IV_1 = IV[1];
						var i0 = (IV_0 << 8 | IV_0 >>> 24) & 16711935 | (IV_0 << 24 | IV_0 >>> 8) & 4278255360;
						var i2 = (IV_1 << 8 | IV_1 >>> 24) & 16711935 | (IV_1 << 24 | IV_1 >>> 8) & 4278255360;
						var i1 = i0 >>> 16 | i2 & 4294901760;
						var i3 = i2 << 16 | i0 & 65535;
						C[0] ^= i0;
						C[1] ^= i1;
						C[2] ^= i2;
						C[3] ^= i3;
						C[4] ^= i0;
						C[5] ^= i1;
						C[6] ^= i2;
						C[7] ^= i3;
						for (var i = 0; i < 4; i++) {
							nextState.call(this);
						}
					}
				},
				_doProcessBlock: function(M, offset) {
					var X = this._X;
					nextState.call(this);
					S[0] = X[0] ^ X[5] >>> 16 ^ X[3] << 16;
					S[1] = X[2] ^ X[7] >>> 16 ^ X[5] << 16;
					S[2] = X[4] ^ X[1] >>> 16 ^ X[7] << 16;
					S[3] = X[6] ^ X[3] >>> 16 ^ X[1] << 16;
					for (var i = 0; i < 4; i++) {
						S[i] = (S[i] << 8 | S[i] >>> 24) & 16711935 | (S[i] << 24 | S[i] >>> 8) & 4278255360;
						M[offset + i] ^= S[i];
					}
				},
				blockSize: 128 / 32,
				ivSize: 64 / 32
			});
			function nextState() {
				var X = this._X;
				var C = this._C;
				for (var i = 0; i < 8; i++) {
					C_[i] = C[i];
				}
				C[0] = C[0] + 1295307597 + this._b | 0;
				C[1] = C[1] + 3545052371 + (C[0] >>> 0 < C_[0] >>> 0 ? 1 : 0) | 0;
				C[2] = C[2] + 886263092 + (C[1] >>> 0 < C_[1] >>> 0 ? 1 : 0) | 0;
				C[3] = C[3] + 1295307597 + (C[2] >>> 0 < C_[2] >>> 0 ? 1 : 0) | 0;
				C[4] = C[4] + 3545052371 + (C[3] >>> 0 < C_[3] >>> 0 ? 1 : 0) | 0;
				C[5] = C[5] + 886263092 + (C[4] >>> 0 < C_[4] >>> 0 ? 1 : 0) | 0;
				C[6] = C[6] + 1295307597 + (C[5] >>> 0 < C_[5] >>> 0 ? 1 : 0) | 0;
				C[7] = C[7] + 3545052371 + (C[6] >>> 0 < C_[6] >>> 0 ? 1 : 0) | 0;
				this._b = C[7] >>> 0 < C_[7] >>> 0 ? 1 : 0;
				for (var i = 0; i < 8; i++) {
					var gx = X[i] + C[i];
					var ga = gx & 65535;
					var gb = gx >>> 16;
					var gh = ((ga * ga >>> 17) + ga * gb >>> 15) + gb * gb;
					var gl = ((gx & 4294901760) * gx | 0) + ((gx & 65535) * gx | 0);
					G[i] = gh ^ gl;
				}
				X[0] = G[0] + (G[7] << 16 | G[7] >>> 16) + (G[6] << 16 | G[6] >>> 16) | 0;
				X[1] = G[1] + (G[0] << 8 | G[0] >>> 24) + G[7] | 0;
				X[2] = G[2] + (G[1] << 16 | G[1] >>> 16) + (G[0] << 16 | G[0] >>> 16) | 0;
				X[3] = G[3] + (G[2] << 8 | G[2] >>> 24) + G[1] | 0;
				X[4] = G[4] + (G[3] << 16 | G[3] >>> 16) + (G[2] << 16 | G[2] >>> 16) | 0;
				X[5] = G[5] + (G[4] << 8 | G[4] >>> 24) + G[3] | 0;
				X[6] = G[6] + (G[5] << 16 | G[5] >>> 16) + (G[4] << 16 | G[4] >>> 16) | 0;
				X[7] = G[7] + (G[6] << 8 | G[6] >>> 24) + G[5] | 0;
			}
			/**
			* Shortcut functions to the cipher's object interface.
			*
			* @example
			*
			*     var ciphertext = CryptoJS.RabbitLegacy.encrypt(message, key, cfg);
			*     var plaintext  = CryptoJS.RabbitLegacy.decrypt(ciphertext, key, cfg);
			*/
			C.RabbitLegacy = StreamCipher._createHelper(RabbitLegacy);
		})();
		return CryptoJS.RabbitLegacy;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/blowfish.js
var require_blowfish = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_enc_base64(), require_md5(), require_evpkdf(), require_cipher_core());
		} else if (typeof define === "function" && define.amd) {
			define([
				"./core",
				"./enc-base64",
				"./md5",
				"./evpkdf",
				"./cipher-core"
			], factory);
		} else {
			factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		(function() {
			var C = CryptoJS;
			var C_lib = C.lib;
			var BlockCipher = C_lib.BlockCipher;
			var C_algo = C.algo;
			const N = 16;
			const ORIG_P = [
				608135816,
				2242054355,
				320440878,
				57701188,
				2752067618,
				698298832,
				137296536,
				3964562569,
				1160258022,
				953160567,
				3193202383,
				887688300,
				3232508343,
				3380367581,
				1065670069,
				3041331479,
				2450970073,
				2306472731
			];
			const ORIG_S = [
				[
					3509652390,
					2564797868,
					805139163,
					3491422135,
					3101798381,
					1780907670,
					3128725573,
					4046225305,
					614570311,
					3012652279,
					134345442,
					2240740374,
					1667834072,
					1901547113,
					2757295779,
					4103290238,
					227898511,
					1921955416,
					1904987480,
					2182433518,
					2069144605,
					3260701109,
					2620446009,
					720527379,
					3318853667,
					677414384,
					3393288472,
					3101374703,
					2390351024,
					1614419982,
					1822297739,
					2954791486,
					3608508353,
					3174124327,
					2024746970,
					1432378464,
					3864339955,
					2857741204,
					1464375394,
					1676153920,
					1439316330,
					715854006,
					3033291828,
					289532110,
					2706671279,
					2087905683,
					3018724369,
					1668267050,
					732546397,
					1947742710,
					3462151702,
					2609353502,
					2950085171,
					1814351708,
					2050118529,
					680887927,
					999245976,
					1800124847,
					3300911131,
					1713906067,
					1641548236,
					4213287313,
					1216130144,
					1575780402,
					4018429277,
					3917837745,
					3693486850,
					3949271944,
					596196993,
					3549867205,
					258830323,
					2213823033,
					772490370,
					2760122372,
					1774776394,
					2652871518,
					566650946,
					4142492826,
					1728879713,
					2882767088,
					1783734482,
					3629395816,
					2517608232,
					2874225571,
					1861159788,
					326777828,
					3124490320,
					2130389656,
					2716951837,
					967770486,
					1724537150,
					2185432712,
					2364442137,
					1164943284,
					2105845187,
					998989502,
					3765401048,
					2244026483,
					1075463327,
					1455516326,
					1322494562,
					910128902,
					469688178,
					1117454909,
					936433444,
					3490320968,
					3675253459,
					1240580251,
					122909385,
					2157517691,
					634681816,
					4142456567,
					3825094682,
					3061402683,
					2540495037,
					79693498,
					3249098678,
					1084186820,
					1583128258,
					426386531,
					1761308591,
					1047286709,
					322548459,
					995290223,
					1845252383,
					2603652396,
					3431023940,
					2942221577,
					3202600964,
					3727903485,
					1712269319,
					422464435,
					3234572375,
					1170764815,
					3523960633,
					3117677531,
					1434042557,
					442511882,
					3600875718,
					1076654713,
					1738483198,
					4213154764,
					2393238008,
					3677496056,
					1014306527,
					4251020053,
					793779912,
					2902807211,
					842905082,
					4246964064,
					1395751752,
					1040244610,
					2656851899,
					3396308128,
					445077038,
					3742853595,
					3577915638,
					679411651,
					2892444358,
					2354009459,
					1767581616,
					3150600392,
					3791627101,
					3102740896,
					284835224,
					4246832056,
					1258075500,
					768725851,
					2589189241,
					3069724005,
					3532540348,
					1274779536,
					3789419226,
					2764799539,
					1660621633,
					3471099624,
					4011903706,
					913787905,
					3497959166,
					737222580,
					2514213453,
					2928710040,
					3937242737,
					1804850592,
					3499020752,
					2949064160,
					2386320175,
					2390070455,
					2415321851,
					4061277028,
					2290661394,
					2416832540,
					1336762016,
					1754252060,
					3520065937,
					3014181293,
					791618072,
					3188594551,
					3933548030,
					2332172193,
					3852520463,
					3043980520,
					413987798,
					3465142937,
					3030929376,
					4245938359,
					2093235073,
					3534596313,
					375366246,
					2157278981,
					2479649556,
					555357303,
					3870105701,
					2008414854,
					3344188149,
					4221384143,
					3956125452,
					2067696032,
					3594591187,
					2921233993,
					2428461,
					544322398,
					577241275,
					1471733935,
					610547355,
					4027169054,
					1432588573,
					1507829418,
					2025931657,
					3646575487,
					545086370,
					48609733,
					2200306550,
					1653985193,
					298326376,
					1316178497,
					3007786442,
					2064951626,
					458293330,
					2589141269,
					3591329599,
					3164325604,
					727753846,
					2179363840,
					146436021,
					1461446943,
					4069977195,
					705550613,
					3059967265,
					3887724982,
					4281599278,
					3313849956,
					1404054877,
					2845806497,
					146425753,
					1854211946
				],
				[
					1266315497,
					3048417604,
					3681880366,
					3289982499,
					290971e4,
					1235738493,
					2632868024,
					2414719590,
					3970600049,
					1771706367,
					1449415276,
					3266420449,
					422970021,
					1963543593,
					2690192192,
					3826793022,
					1062508698,
					1531092325,
					1804592342,
					2583117782,
					2714934279,
					4024971509,
					1294809318,
					4028980673,
					1289560198,
					2221992742,
					1669523910,
					35572830,
					157838143,
					1052438473,
					1016535060,
					1802137761,
					1753167236,
					1386275462,
					3080475397,
					2857371447,
					1040679964,
					2145300060,
					2390574316,
					1461121720,
					2956646967,
					4031777805,
					4028374788,
					33600511,
					2920084762,
					1018524850,
					629373528,
					3691585981,
					3515945977,
					2091462646,
					2486323059,
					586499841,
					988145025,
					935516892,
					3367335476,
					2599673255,
					2839830854,
					265290510,
					3972581182,
					2759138881,
					3795373465,
					1005194799,
					847297441,
					406762289,
					1314163512,
					1332590856,
					1866599683,
					4127851711,
					750260880,
					613907577,
					1450815602,
					3165620655,
					3734664991,
					3650291728,
					3012275730,
					3704569646,
					1427272223,
					778793252,
					1343938022,
					2676280711,
					2052605720,
					1946737175,
					3164576444,
					3914038668,
					3967478842,
					3682934266,
					1661551462,
					3294938066,
					4011595847,
					840292616,
					3712170807,
					616741398,
					312560963,
					711312465,
					1351876610,
					322626781,
					1910503582,
					271666773,
					2175563734,
					1594956187,
					70604529,
					3617834859,
					1007753275,
					1495573769,
					4069517037,
					2549218298,
					2663038764,
					504708206,
					2263041392,
					3941167025,
					2249088522,
					1514023603,
					1998579484,
					1312622330,
					694541497,
					2582060303,
					2151582166,
					1382467621,
					776784248,
					2618340202,
					3323268794,
					2497899128,
					2784771155,
					503983604,
					4076293799,
					907881277,
					423175695,
					432175456,
					1378068232,
					4145222326,
					3954048622,
					3938656102,
					3820766613,
					2793130115,
					2977904593,
					26017576,
					3274890735,
					3194772133,
					1700274565,
					1756076034,
					4006520079,
					3677328699,
					720338349,
					1533947780,
					354530856,
					688349552,
					3973924725,
					1637815568,
					332179504,
					3949051286,
					53804574,
					2852348879,
					3044236432,
					1282449977,
					3583942155,
					3416972820,
					4006381244,
					1617046695,
					2628476075,
					3002303598,
					1686838959,
					431878346,
					2686675385,
					1700445008,
					1080580658,
					1009431731,
					832498133,
					3223435511,
					2605976345,
					2271191193,
					2516031870,
					1648197032,
					4164389018,
					2548247927,
					300782431,
					375919233,
					238389289,
					3353747414,
					2531188641,
					2019080857,
					1475708069,
					455242339,
					2609103871,
					448939670,
					3451063019,
					1395535956,
					2413381860,
					1841049896,
					1491858159,
					885456874,
					4264095073,
					4001119347,
					1565136089,
					3898914787,
					1108368660,
					540939232,
					1173283510,
					2745871338,
					3681308437,
					4207628240,
					3343053890,
					4016749493,
					1699691293,
					1103962373,
					3625875870,
					2256883143,
					3830138730,
					1031889488,
					3479347698,
					1535977030,
					4236805024,
					3251091107,
					2132092099,
					1774941330,
					1199868427,
					1452454533,
					157007616,
					2904115357,
					342012276,
					595725824,
					1480756522,
					206960106,
					497939518,
					591360097,
					863170706,
					2375253569,
					3596610801,
					1814182875,
					2094937945,
					3421402208,
					1082520231,
					3463918190,
					2785509508,
					435703966,
					3908032597,
					1641649973,
					2842273706,
					3305899714,
					1510255612,
					2148256476,
					2655287854,
					3276092548,
					4258621189,
					236887753,
					3681803219,
					274041037,
					1734335097,
					3815195456,
					3317970021,
					1899903192,
					1026095262,
					4050517792,
					356393447,
					2410691914,
					3873677099,
					3682840055
				],
				[
					3913112168,
					2491498743,
					4132185628,
					2489919796,
					1091903735,
					1979897079,
					3170134830,
					3567386728,
					3557303409,
					857797738,
					1136121015,
					1342202287,
					507115054,
					2535736646,
					337727348,
					3213592640,
					1301675037,
					2528481711,
					1895095763,
					1721773893,
					3216771564,
					62756741,
					2142006736,
					835421444,
					2531993523,
					1442658625,
					3659876326,
					2882144922,
					676362277,
					1392781812,
					170690266,
					3921047035,
					1759253602,
					3611846912,
					1745797284,
					664899054,
					1329594018,
					3901205900,
					3045908486,
					2062866102,
					2865634940,
					3543621612,
					3464012697,
					1080764994,
					553557557,
					3656615353,
					3996768171,
					991055499,
					499776247,
					1265440854,
					648242737,
					3940784050,
					980351604,
					3713745714,
					1749149687,
					3396870395,
					4211799374,
					3640570775,
					1161844396,
					3125318951,
					1431517754,
					545492359,
					4268468663,
					3499529547,
					1437099964,
					2702547544,
					3433638243,
					2581715763,
					2787789398,
					1060185593,
					1593081372,
					2418618748,
					4260947970,
					69676912,
					2159744348,
					86519011,
					2512459080,
					3838209314,
					1220612927,
					3339683548,
					133810670,
					1090789135,
					1078426020,
					1569222167,
					845107691,
					3583754449,
					4072456591,
					1091646820,
					628848692,
					1613405280,
					3757631651,
					526609435,
					236106946,
					48312990,
					2942717905,
					3402727701,
					1797494240,
					859738849,
					992217954,
					4005476642,
					2243076622,
					3870952857,
					3732016268,
					765654824,
					3490871365,
					2511836413,
					1685915746,
					3888969200,
					1414112111,
					2273134842,
					3281911079,
					4080962846,
					172450625,
					2569994100,
					980381355,
					4109958455,
					2819808352,
					2716589560,
					2568741196,
					3681446669,
					3329971472,
					1835478071,
					660984891,
					3704678404,
					4045999559,
					3422617507,
					3040415634,
					1762651403,
					1719377915,
					3470491036,
					2693910283,
					3642056355,
					3138596744,
					1364962596,
					2073328063,
					1983633131,
					926494387,
					3423689081,
					2150032023,
					4096667949,
					1749200295,
					3328846651,
					309677260,
					2016342300,
					1779581495,
					3079819751,
					111262694,
					1274766160,
					443224088,
					298511866,
					1025883608,
					3806446537,
					1145181785,
					168956806,
					3641502830,
					3584813610,
					1689216846,
					3666258015,
					3200248200,
					1692713982,
					2646376535,
					4042768518,
					1618508792,
					1610833997,
					3523052358,
					4130873264,
					2001055236,
					3610705100,
					2202168115,
					4028541809,
					2961195399,
					1006657119,
					2006996926,
					3186142756,
					1430667929,
					3210227297,
					1314452623,
					4074634658,
					4101304120,
					2273951170,
					1399257539,
					3367210612,
					3027628629,
					1190975929,
					2062231137,
					2333990788,
					2221543033,
					2438960610,
					1181637006,
					548689776,
					2362791313,
					3372408396,
					3104550113,
					3145860560,
					296247880,
					1970579870,
					3078560182,
					3769228297,
					1714227617,
					3291629107,
					3898220290,
					166772364,
					1251581989,
					493813264,
					448347421,
					195405023,
					2709975567,
					677966185,
					3703036547,
					1463355134,
					2715995803,
					1338867538,
					1343315457,
					2802222074,
					2684532164,
					233230375,
					2599980071,
					2000651841,
					3277868038,
					1638401717,
					4028070440,
					3237316320,
					6314154,
					819756386,
					300326615,
					590932579,
					1405279636,
					3267499572,
					3150704214,
					2428286686,
					3959192993,
					3461946742,
					1862657033,
					1266418056,
					963775037,
					2089974820,
					2263052895,
					1917689273,
					448879540,
					3550394620,
					3981727096,
					150775221,
					3627908307,
					1303187396,
					508620638,
					2975983352,
					2726630617,
					1817252668,
					1876281319,
					1457606340,
					908771278,
					3720792119,
					3617206836,
					2455994898,
					1729034894,
					1080033504
				],
				[
					976866871,
					3556439503,
					2881648439,
					1522871579,
					1555064734,
					1336096578,
					3548522304,
					2579274686,
					3574697629,
					3205460757,
					3593280638,
					3338716283,
					3079412587,
					564236357,
					2993598910,
					1781952180,
					1464380207,
					3163844217,
					3332601554,
					1699332808,
					1393555694,
					1183702653,
					3581086237,
					1288719814,
					691649499,
					2847557200,
					2895455976,
					3193889540,
					2717570544,
					1781354906,
					1676643554,
					2592534050,
					3230253752,
					1126444790,
					2770207658,
					2633158820,
					2210423226,
					2615765581,
					2414155088,
					3127139286,
					673620729,
					2805611233,
					1269405062,
					4015350505,
					3341807571,
					4149409754,
					1057255273,
					2012875353,
					2162469141,
					2276492801,
					2601117357,
					993977747,
					3918593370,
					2654263191,
					753973209,
					36408145,
					2530585658,
					25011837,
					3520020182,
					2088578344,
					530523599,
					2918365339,
					1524020338,
					1518925132,
					3760827505,
					3759777254,
					1202760957,
					3985898139,
					3906192525,
					674977740,
					4174734889,
					2031300136,
					2019492241,
					3983892565,
					4153806404,
					3822280332,
					352677332,
					2297720250,
					60907813,
					90501309,
					3286998549,
					1016092578,
					2535922412,
					2839152426,
					457141659,
					509813237,
					4120667899,
					652014361,
					1966332200,
					2975202805,
					55981186,
					2327461051,
					676427537,
					3255491064,
					2882294119,
					3433927263,
					1307055953,
					942726286,
					933058658,
					2468411793,
					3933900994,
					4215176142,
					1361170020,
					2001714738,
					2830558078,
					3274259782,
					1222529897,
					1679025792,
					2729314320,
					3714953764,
					1770335741,
					151462246,
					3013232138,
					1682292957,
					1483529935,
					471910574,
					1539241949,
					458788160,
					3436315007,
					1807016891,
					3718408830,
					978976581,
					1043663428,
					3165965781,
					1927990952,
					4200891579,
					2372276910,
					3208408903,
					3533431907,
					1412390302,
					2931980059,
					4132332400,
					1947078029,
					3881505623,
					4168226417,
					2941484381,
					1077988104,
					1320477388,
					886195818,
					18198404,
					3786409e3,
					2509781533,
					112762804,
					3463356488,
					1866414978,
					891333506,
					18488651,
					661792760,
					1628790961,
					3885187036,
					3141171499,
					876946877,
					2693282273,
					1372485963,
					791857591,
					2686433993,
					3759982718,
					3167212022,
					3472953795,
					2716379847,
					445679433,
					3561995674,
					3504004811,
					3574258232,
					54117162,
					3331405415,
					2381918588,
					3769707343,
					4154350007,
					1140177722,
					4074052095,
					668550556,
					3214352940,
					367459370,
					261225585,
					2610173221,
					4209349473,
					3468074219,
					3265815641,
					314222801,
					3066103646,
					3808782860,
					282218597,
					3406013506,
					3773591054,
					379116347,
					1285071038,
					846784868,
					2669647154,
					3771962079,
					3550491691,
					2305946142,
					453669953,
					1268987020,
					3317592352,
					3279303384,
					3744833421,
					2610507566,
					3859509063,
					266596637,
					3847019092,
					517658769,
					3462560207,
					3443424879,
					370717030,
					4247526661,
					2224018117,
					4143653529,
					4112773975,
					2788324899,
					2477274417,
					1456262402,
					2901442914,
					1517677493,
					1846949527,
					2295493580,
					3734397586,
					2176403920,
					1280348187,
					1908823572,
					3871786941,
					846861322,
					1172426758,
					3287448474,
					3383383037,
					1655181056,
					3139813346,
					901632758,
					1897031941,
					2986607138,
					3066810236,
					3447102507,
					1393639104,
					373351379,
					950779232,
					625454576,
					3124240540,
					4148612726,
					2007998917,
					544563296,
					2244738638,
					2330496472,
					2058025392,
					1291430526,
					424198748,
					50039436,
					29584100,
					3605783033,
					2429876329,
					2791104160,
					1057563949,
					3255363231,
					3075367218,
					3463963227,
					1469046755,
					985887462
				]
			];
			var BLOWFISH_CTX = {
				pbox: [],
				sbox: []
			};
			function F(ctx, x) {
				let a = x >> 24 & 255;
				let b = x >> 16 & 255;
				let c = x >> 8 & 255;
				let d = x & 255;
				let y = ctx.sbox[0][a] + ctx.sbox[1][b];
				y = y ^ ctx.sbox[2][c];
				y = y + ctx.sbox[3][d];
				return y;
			}
			function BlowFish_Encrypt(ctx, left, right) {
				let Xl = left;
				let Xr = right;
				let temp;
				for (let i = 0; i < N; ++i) {
					Xl = Xl ^ ctx.pbox[i];
					Xr = F(ctx, Xl) ^ Xr;
					temp = Xl;
					Xl = Xr;
					Xr = temp;
				}
				temp = Xl;
				Xl = Xr;
				Xr = temp;
				Xr = Xr ^ ctx.pbox[N];
				Xl = Xl ^ ctx.pbox[N + 1];
				return {
					left: Xl,
					right: Xr
				};
			}
			function BlowFish_Decrypt(ctx, left, right) {
				let Xl = left;
				let Xr = right;
				let temp;
				for (let i = N + 1; i > 1; --i) {
					Xl = Xl ^ ctx.pbox[i];
					Xr = F(ctx, Xl) ^ Xr;
					temp = Xl;
					Xl = Xr;
					Xr = temp;
				}
				temp = Xl;
				Xl = Xr;
				Xr = temp;
				Xr = Xr ^ ctx.pbox[1];
				Xl = Xl ^ ctx.pbox[0];
				return {
					left: Xl,
					right: Xr
				};
			}
			/**
			* Initialization ctx's pbox and sbox.
			*
			* @param {Object} ctx The object has pbox and sbox.
			* @param {Array} key An array of 32-bit words.
			* @param {int} keysize The length of the key.
			*
			* @example
			*
			*     BlowFishInit(BLOWFISH_CTX, key, 128/32);
			*/
			function BlowFishInit(ctx, key, keysize) {
				for (let Row = 0; Row < 4; Row++) {
					ctx.sbox[Row] = [];
					for (let Col = 0; Col < 256; Col++) {
						ctx.sbox[Row][Col] = ORIG_S[Row][Col];
					}
				}
				let keyIndex = 0;
				for (let index = 0; index < N + 2; index++) {
					ctx.pbox[index] = ORIG_P[index] ^ key[keyIndex];
					keyIndex++;
					if (keyIndex >= keysize) {
						keyIndex = 0;
					}
				}
				let Data1 = 0;
				let Data2 = 0;
				let res = 0;
				for (let i = 0; i < N + 2; i += 2) {
					res = BlowFish_Encrypt(ctx, Data1, Data2);
					Data1 = res.left;
					Data2 = res.right;
					ctx.pbox[i] = Data1;
					ctx.pbox[i + 1] = Data2;
				}
				for (let i = 0; i < 4; i++) {
					for (let j = 0; j < 256; j += 2) {
						res = BlowFish_Encrypt(ctx, Data1, Data2);
						Data1 = res.left;
						Data2 = res.right;
						ctx.sbox[i][j] = Data1;
						ctx.sbox[i][j + 1] = Data2;
					}
				}
				return true;
			}
			/**
			* Blowfish block cipher algorithm.
			*/
			var Blowfish = C_algo.Blowfish = BlockCipher.extend({
				_doReset: function() {
					if (this._keyPriorReset === this._key) {
						return;
					}
					var key = this._keyPriorReset = this._key;
					var keyWords = key.words;
					var keySize = key.sigBytes / 4;
					BlowFishInit(BLOWFISH_CTX, keyWords, keySize);
				},
				encryptBlock: function(M, offset) {
					var res = BlowFish_Encrypt(BLOWFISH_CTX, M[offset], M[offset + 1]);
					M[offset] = res.left;
					M[offset + 1] = res.right;
				},
				decryptBlock: function(M, offset) {
					var res = BlowFish_Decrypt(BLOWFISH_CTX, M[offset], M[offset + 1]);
					M[offset] = res.left;
					M[offset + 1] = res.right;
				},
				blockSize: 64 / 32,
				keySize: 128 / 32,
				ivSize: 64 / 32
			});
			/**
			* Shortcut functions to the cipher's object interface.
			*
			* @example
			*
			*     var ciphertext = CryptoJS.Blowfish.encrypt(message, key, cfg);
			*     var plaintext  = CryptoJS.Blowfish.decrypt(ciphertext, key, cfg);
			*/
			C.Blowfish = BlockCipher._createHelper(Blowfish);
		})();
		return CryptoJS.Blowfish;
	});
}));

//#endregion
//#region ../node_modules/crypto-js/index.js
var require_crypto_js = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	;
	(function(root, factory, undef) {
		if (typeof exports === "object") {
			module.exports = exports = factory(require_core(), require_x64_core(), require_lib_typedarrays(), require_enc_utf16(), require_enc_base64(), require_enc_base64url(), require_md5(), require_sha1(), require_sha256(), require_sha224(), require_sha512(), require_sha384(), require_sha3(), require_ripemd160(), require_hmac(), require_pbkdf2(), require_evpkdf(), require_cipher_core(), require_mode_cfb(), require_mode_ctr(), require_mode_ctr_gladman(), require_mode_ofb(), require_mode_ecb(), require_pad_ansix923(), require_pad_iso10126(), require_pad_iso97971(), require_pad_zeropadding(), require_pad_nopadding(), require_format_hex(), require_aes(), require_tripledes(), require_rc4(), require_rabbit(), require_rabbit_legacy(), require_blowfish());
		} else if (typeof define === "function" && define.amd) {
			define([
				"./core",
				"./x64-core",
				"./lib-typedarrays",
				"./enc-utf16",
				"./enc-base64",
				"./enc-base64url",
				"./md5",
				"./sha1",
				"./sha256",
				"./sha224",
				"./sha512",
				"./sha384",
				"./sha3",
				"./ripemd160",
				"./hmac",
				"./pbkdf2",
				"./evpkdf",
				"./cipher-core",
				"./mode-cfb",
				"./mode-ctr",
				"./mode-ctr-gladman",
				"./mode-ofb",
				"./mode-ecb",
				"./pad-ansix923",
				"./pad-iso10126",
				"./pad-iso97971",
				"./pad-zeropadding",
				"./pad-nopadding",
				"./format-hex",
				"./aes",
				"./tripledes",
				"./rc4",
				"./rabbit",
				"./rabbit-legacy",
				"./blowfish"
			], factory);
		} else {
			root.CryptoJS = factory(root.CryptoJS);
		}
	})(exports, function(CryptoJS) {
		return CryptoJS;
	});
}));

//#endregion
//#region ../utils/pan/baidu.js
/**
* 百度网盘API处理模块
* 提供百度网盘分享链接解析、文件下载、保存等功能
* 支持分享链接验证、文件列表获取、下载地址生成等操作
*/
var import_crypto_js = /* @__PURE__ */ __toESM(require_crypto_js(), 1);
/**
* 百度网盘处理类
* 负责处理百度网盘分享链接的解析、验证、文件操作等功能
*/
var BaiduHandler = class {
	/**
	* 构造函数 - 初始化百度网盘处理器
	*/
	constructor() {
		this._cookie = ENV.get("baidu_cookie") || "";
		this.regex = /https:\/\/pan\.baidu\.com\/s\/([^\\|#/]+)/;
		this.baseHeader = {
			"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
			"Accept-Encoding": "gzip",
			"Referer": "https://pan.baidu.com",
			"Content-Type": "application/x-www-form-urlencoded"
		};
		this.apiUrl = "https://pan.baidu.com/";
		this.shareTokenCache = {};
		this.saveDirName = "drpy";
		this.saveDirId = null;
		this.subtitleExts = [
			".srt",
			".ass",
			".scc",
			".stl",
			".ttml"
		];
		this.subvideoExts = [
			".mp4",
			".mkv",
			".avi",
			".rmvb",
			".mov",
			".flv",
			".wmv",
			".webm",
			".3gp",
			".mpeg",
			".mpg",
			".ts",
			".mts",
			".m2ts",
			".vob",
			".divx",
			".xvid",
			".m4v",
			".ogv",
			".f4v",
			".rm",
			".asf",
			".dat",
			".dv",
			".m2v"
		];
		this.cleanupInterval = setInterval(() => {
			this.clearSaveDir();
		}, 2 * 60 * 60 * 1e3);
		if (this.cleanupInterval.unref) {
			this.cleanupInterval.unref();
		}
	}
	/**
	* 获取完整的Cookie
	* @returns {string} Cookie字符串
	*/
	get cookie() {
		return (this._cookie || "").trim();
	}
	/**
	* 设置新的Cookie
	* @param {string} newCookie - 新的Cookie值
	*/
	set cookie(newCookie) {
		console.log("更新cookie");
		this._cookie = newCookie;
	}
	/**
	* 解析分享链接获取分享数据
	* @param {string} url - 百度网盘分享链接
	* @returns {Object|null} 分享数据对象，包含shareId和sharePwd
	*/
	getShareData(url) {
		this.clearSaveDir();
		try {
			url = decodeURIComponent(url).replace(/\s+/g, "");
			let shareId = "";
			let sharePwd = "";
			const match = url.match(/pan\.baidu\.com\/(s\/|wap\/init\?surl=)([^?&#]+)/);
			if (!match) {
				return null;
			}
			shareId = match[2].replace(/^1+/, "").split("?")[0].split("#")[0];
			if (!shareId) {
				return null;
			}
			const pwdMatch = url.match(/(提取码|密码|pwd)=([^&\s]{4})/i);
			sharePwd = pwdMatch ? pwdMatch[2] : "";
			return {
				shareId,
				sharePwd
			};
		} catch (error) {
			return null;
		}
	}
	/**
	* 初始化百度网盘处理器
	* @param {Object} db - 数据库实例
	* @param {Object} cfg - 配置对象
	*/
	async initBaidu(db, cfg) {
		if (this.cookie) {
			await this.createSaveDir();
		}
	}
	/**
	* 创建保存目录
	* @returns {string|null} 保存目录ID，失败时返回null
	*/
	async createSaveDir() {
		if (!this.cookie) {
			return null;
		}
		try {
			const listResp = await this.api("api/list", {
				dir: "/",
				order: "name",
				desc: 0,
				showempty: 0,
				web: 1,
				app_id: 250528
			}, { Cookie: this.cookie }, "get");
			if (listResp.errno !== 0) {
				return null;
			}
			const drpyDir = listResp.list.find((item) => item.isdir === 1 && item.server_filename === this.saveDirName);
			if (drpyDir) {
				this.saveDirId = drpyDir.fs_id;
				return this.saveDirId;
			}
			const createResp = await this.api("api/create", {
				path: `/${this.saveDirName}`,
				isdir: 1,
				block_list: "[]",
				web: 1,
				app_id: 250528
			}, { Cookie: this.cookie }, "post");
			if (createResp.errno !== 0) {
				return null;
			}
			this.saveDirId = createResp.fs_id;
			return this.saveDirId;
		} catch (error) {
			return null;
		}
	}
	/**
	* 发送API请求
	* @param {string} url - API端点URL
	* @param {Object} data - 请求数据
	* @param {Object} headers - 请求头
	* @param {string} method - 请求方法 (get/post)
	* @param {number} retry - 重试次数
	* @returns {Promise<Object>} API响应数据
	*/
	async api(url, data = {}, headers = {}, method = "post", retry = 3) {
		const objectToQuery = (obj) => {
			return Object.entries(obj).filter(([_, value]) => value !== undefined && value !== null).map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`).join("&");
		};
		const fullUrl = `${this.apiUrl}${url}`;
		headers = {
			...this.baseHeader,
			...headers,
			Cookie: this.cookie || ""
		};
		let resp;
		try {
			if (method === "get") {
				const query = objectToQuery(data);
				const finalUrl = query ? `${fullUrl}?${query}` : fullUrl;
				resp = await req$1.get(finalUrl, { headers });
			} else {
				resp = await req$1.post(fullUrl, data, { headers });
			}
		} catch (err) {
			resp = err.response || {
				status: 500,
				data: { error: "请求失败" }
			};
		}
		if ([429, 503].includes(resp.status) && retry > 0) {
			const waitTime = (3 - retry + 1) * 1e3;
			await this.delay(waitTime);
			return this.api(url, data, headers, method, retry - 1);
		}
		return resp.data !== undefined ? resp.data : resp;
	}
	/**
	* 验证分享链接
	* @param {Object} shareData - 分享数据对象
	* @param {string} shareData.shareId - 分享ID
	* @param {string} shareData.sharePwd - 分享密码
	* @returns {Promise<Object>} 验证结果
	*/
	async verifyShare(shareData) {
		try {
			const shareVerify = await this.api(`share/verify?t=${Date.now()}&surl=${shareData.shareId}`, { pwd: shareData.sharePwd || "" }, { Cookie: this.cookie }, "post");
			if (shareVerify.errno !== 0) {
				if (shareVerify.errno === -62 || shareVerify.errno === -9) {
					console.log("提取码错误");
				}
				console.log("验证提取码失败");
			}
			if (shareVerify.randsk) {
				let cookie = this.cookie.replace(/BDCLND=[^;]*;?\s*/g, "");
				if (cookie.length > 0 && !cookie.endsWith(";")) cookie += "; ";
				cookie += `BDCLND=${shareVerify.randsk}`;
				this.cookie = cookie;
				console.log("已更新randsk到cookie中的BDCLND");
			}
			return shareVerify;
		} catch (error) {
			console.log("验证分享链接失败:", error.message);
			throw error;
		}
	}
	/**
	* 获取分享Token
	* @param {Object} shareData - 分享数据对象
	* @param {string} shareData.shareId - 分享ID
	* @param {string} shareData.sharePwd - 分享密码
	* @returns {Promise<Object>} 分享Token数据
	*/
	async getShareToken(shareData) {
		if (this.shareTokenCache[shareData.shareId]) {
			return this.shareTokenCache[shareData.shareId];
		}
		try {
			const shareVerify = await this.verifyShare(shareData);
			const headers = {
				...this.baseHeader,
				Cookie: this.cookie || ""
			};
			const listData = await this.api(`share/list`, {
				shorturl: shareData.shareId,
				root: 1,
				page: 1,
				num: 100
			}, { headers }, "get");
			if (listData.errno !== 0) {
				if (listData.errno === -9) {
					console.log("提取码错误");
				}
				console.log("获取文件列表失败");
			}
			this.shareTokenCache[shareData.shareId] = {
				...shareVerify,
				list: listData.list,
				uk: listData.uk || listData.share_uk,
				shareid: listData.share_id || shareVerify.share_id,
				randsk: shareVerify.randsk,
				sign: listData.sign || this.generateSign(shareData.shareId, shareData.sharePwd),
				timestamp: listData.timestamp || Date.now()
			};
			return this.shareTokenCache[shareData.shareId];
		} catch (error) {
			console.log("获取分享token失败:", error.message);
			throw error;
		}
	}
	/**
	* 生成签名
	* @param {string} shareId - 分享ID
	* @param {string} sharePwd - 分享密码
	* @returns {string} MD5签名字符串
	*/
	generateSign(shareId, sharePwd) {
		const timestamp = Date.now();
		const str = `${shareId}${sharePwd}${timestamp}${this.cookie || ""}`;
		return import_crypto_js.default.MD5(str).toString();
	}
	/**
	* 获取分享链接中的文件列表
	* @param {string|Object} shareInfo - 分享链接或分享数据对象
	* @returns {Promise<Object>} 包含视频文件和字幕文件的对象
	*/
	async getFilesByShareUrl(shareInfo) {
		const shareData = typeof shareInfo === "string" ? this.getShareData(shareInfo) : shareInfo;
		if (!shareData) return { videos: [] };
		await this.getShareToken(shareData);
		if (!this.shareTokenCache[shareData.shareId]) return { videos: [] };
		const cachedData = await this.shareTokenCache[shareData.shareId];
		const videos = [];
		const subtitles = [];
		const processDirectory = async (dirPath, dirFsId, parentDrpyPath = "") => {
			const shareDir = `/sharelink${cachedData.shareid}-${dirFsId}${dirPath}`;
			const headers = {
				...this.baseHeader,
				Cookie: this.cookie || ""
			};
			const dirListData = await this.api(`share/list`, {
				sekey: cachedData.randsk,
				uk: cachedData.uk,
				shareid: cachedData.shareid,
				page: 1,
				num: 100,
				dir: shareDir
			}, headers, "get");
			if (dirListData.errno !== 0 || !dirListData.list) {
				return;
			}
			for (const item of dirListData.list) {
				if (item.isdir === 1 || item.isdir === "1") {
					const subDirPath = `${dirPath}/${item.server_filename}`;
					const subDrpyPath = `${parentDrpyPath}/${item.server_filename}`;
					await processDirectory(subDirPath, item.fs_id, subDrpyPath);
				} else {
					const ext = item.server_filename.substring(item.server_filename.lastIndexOf(".") || 0).toLowerCase();
					const fileInfo = {
						fid: item.fs_id,
						file_name: item.server_filename,
						size: item.size,
						path: parentDrpyPath,
						full_path: `/${this.saveDirName}${parentDrpyPath}/${item.server_filename}`,
						file: true
					};
					if (this.subvideoExts.includes(ext)) {
						videos.push(fileInfo);
					} else if (this.subtitleExts.includes(ext)) {
						subtitles.push(fileInfo);
					}
				}
			}
		};
		if (cachedData.list) {
			for (const item of cachedData.list) {
				if (item.isdir === 1 || item.isdir === "1") {
					const dirPath = `/${item.server_filename}`;
					const drpyPath = `/${item.server_filename}`;
					await processDirectory(dirPath, item.fs_id, drpyPath);
				} else {
					const ext = item.server_filename.substring(item.server_filename.lastIndexOf(".") || 0).toLowerCase();
					const fileInfo = {
						fid: item.fs_id,
						file_name: item.server_filename,
						size: item.size,
						path: "",
						full_path: `/${this.saveDirName}/${item.server_filename}`,
						file: true
					};
					if (this.subvideoExts.includes(ext)) {
						videos.push(fileInfo);
					} else if (this.subtitleExts.includes(ext)) {
						subtitles.push(fileInfo);
					}
				}
			}
		}
		const getBaseName = (fileName) => {
			const lastDotIndex = fileName.lastIndexOf(".");
			return lastDotIndex === -1 ? fileName : fileName.slice(0, lastDotIndex);
		};
		const subtitleMap = new Map();
		subtitles.forEach((sub) => {
			const baseName = getBaseName(sub.file_name);
			if (!subtitleMap.has(baseName)) {
				subtitleMap.set(baseName, []);
			}
			subtitleMap.get(baseName).push(sub);
		});
		const videosWithSubtitles = videos.map((video) => ({
			...video,
			subtitles: subtitleMap.get(getBaseName(video.file_name)) || []
		}));
		return { videos: videosWithSubtitles };
	}
	/**
	* 获取文件下载链接
	* @param {string} shareId - 分享ID
	* @param {string} fileId - 文件ID
	* @param {string} filename - 文件名
	* @returns {Promise<Object|null>} 下载信息对象，失败时返回null
	*/
	async getDownload(shareId, fileId, filename) {
		if (!this.shareTokenCache[shareId]) {
			return null;
		}
		if (!fileId || !filename) {
			return null;
		}
		if (!this.cookie) {
			return null;
		}
		const shareData = {
			shareId,
			sharePwd: this.shareTokenCache[shareId].sharePwd || ""
		};
		const isSaved = await this.save(shareData, fileId);
		if (!isSaved) {
			return null;
		}
		const headers = {
			...this.baseHeader,
			Cookie: this.cookie || ""
		};
		let retryCount = 1;
		const fullPath = `/${this.saveDirName}/${filename}`;
		while (retryCount >= 0) {
			try {
				const mediaInfo = await this.api(`api/mediainfo`, {
					type: "M3U8_FLV_264_480",
					path: fullPath,
					clienttype: 80,
					origin: "dlna"
				}, headers, "get");
				if (mediaInfo.info?.dlink) {
					return {
						dlink: mediaInfo.info.dlink,
						headers,
						full_path: fullPath
					};
				}
				const downloadInfo = await this.api(`api/download`, {
					type: "download",
					path: fullPath,
					app_id: 250528
				}, headers, "get");
				if (downloadInfo.info?.dlink) {
					return {
						dlink: downloadInfo.info.dlink,
						headers,
						is_direct: true,
						full_path: fullPath
					};
				}
				retryCount--;
				if (retryCount >= 0) {
					await this.delay(1e3);
				}
			} catch (error) {
				retryCount--;
				if (retryCount >= 0) await this.delay(1e3);
			}
		}
		return null;
	}
	/**
	* 保存文件到指定目录
	* @param {Object} shareData - 分享数据对象
	* @param {string} fileFsId - 文件系统ID
	* @returns {Promise<boolean>} 保存是否成功
	*/
	async save(shareData, fileFsId) {
		if (!this.cookie) {
			return false;
		}
		if (!this.saveDirId) {
			this.saveDirId = await this.createSaveDir();
			if (!this.saveDirId) {
				return false;
			}
		}
		if (!this.shareTokenCache[shareData.shareId]) {
			await this.getShareToken(shareData);
			if (!this.shareTokenCache[shareData.shareId]) {
				return false;
			}
		}
		const headers = {
			...this.baseHeader,
			Cookie: this.cookie || ""
		};
		const tokenData = await this.shareTokenCache[shareData.shareId];
		try {
			const transferResp = await this.api(`share/transfer?shareid=${tokenData.shareid}&from=${tokenData.uk}&sekey=${tokenData.randsk}&ondup=newcopy&async=1&channel=chunlei&web=1&app_id=250528`, {
				path: `/${this.saveDirName}`,
				fsidlist: JSON.stringify([fileFsId])
			}, { headers }, "post");
			if (transferResp.errno === 0) {
				return true;
			} else if (transferResp.errno === 113) {
				return true;
			} else if (transferResp.errno === -62 || transferResp.errno === -9) {
				delete this.shareTokenCache[shareData.shareId];
				return false;
			} else {
				return false;
			}
		} catch (error) {
			return false;
		}
	}
	/**
	* 延迟函数
	* @param {number} ms - 延迟毫秒数
	* @returns {Promise<void>} Promise对象
	*/
	delay(ms) {
		return new Promise((resolve) => setTimeout(resolve, ms));
	}
	/**
	* 清理保存目录
	* 删除保存目录中的所有文件，释放存储空间
	* @returns {Promise<void>} Promise对象
	*/
	async clearSaveDir() {
		if (!this.cookie) {
			return;
		}
		if (!this.saveDirId) {
			this.saveDirId = await this.createSaveDir();
			if (!this.saveDirId) {
				return;
			}
		}
		const getBdstoken = () => {
			const fullCookie = this.cookie;
			if (!fullCookie) return null;
			const cookieParts = fullCookie.split(";");
			for (const part of cookieParts) {
				const trimmed = part.trim();
				if (trimmed.startsWith("bdstoken=")) {
					return trimmed.substring("bdstoken=".length);
				}
			}
			return null;
		};
		let bdstoken = getBdstoken();
		if (!bdstoken) {
			try {
				const userInfo = await this.api("api/gettemplatevariable?clienttype=0&app_id=250528&web=1&fields=[\"bdstoken\",\"token\",\"uk\",\"isdocuser\",\"servertime\"]", {}, { Cookie: this.cookie }, "get");
				if (userInfo && userInfo.result && userInfo.result.bdstoken) {
					bdstoken = userInfo.result.bdstoken;
				}
			} catch (error) {
				return;
			}
		}
		if (!bdstoken) {
			return;
		}
		try {
			const listResp = await this.api("api/list", {
				dir: `/${this.saveDirName}`,
				order: "time",
				desc: 1,
				showempty: 0,
				web: 1,
				app_id: 250528,
				channel: "chunlei"
			}, { Cookie: this.cookie }, "get");
			if (listResp.errno !== 0) {
				return;
			}
			if (!listResp.list || listResp.list.length === 0) {
				return;
			}
			const headers = {
				"User-Agent": "netdisk;1.4.2;22021211RC;android-android;12;JSbridge4.4.0;jointBridge;1.1.0;",
				Cookie: this.cookie || ""
			};
			const filePaths = listResp.list.map((item) => `/${this.saveDirName}/${item.server_filename}`);
			const deleteResp = await this.api("api/filemanager?opera=delete", {
				filelist: JSON.stringify(filePaths),
				bdstoken
			}, headers, "post");
			if (deleteResp.errno === 0) {
				console.log("清理保存目录成功");
			}
		} catch (error) {
			console.log("清理保存目录失败:", error.message);
			return;
		}
	}
};
const Baidu$1 = new BaiduHandler();

//#endregion
//#region ../node_modules/object-inspect/util.inspect.js
var require_util_inspect = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = __require("util").inspect;
}));

//#endregion
//#region ../node_modules/object-inspect/index.js
var require_object_inspect = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var hasMap = typeof Map === "function" && Map.prototype;
	var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, "size") : null;
	var mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === "function" ? mapSizeDescriptor.get : null;
	var mapForEach = hasMap && Map.prototype.forEach;
	var hasSet = typeof Set === "function" && Set.prototype;
	var setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, "size") : null;
	var setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === "function" ? setSizeDescriptor.get : null;
	var setForEach = hasSet && Set.prototype.forEach;
	var hasWeakMap = typeof WeakMap === "function" && WeakMap.prototype;
	var weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;
	var hasWeakSet = typeof WeakSet === "function" && WeakSet.prototype;
	var weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;
	var hasWeakRef = typeof WeakRef === "function" && WeakRef.prototype;
	var weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;
	var booleanValueOf = Boolean.prototype.valueOf;
	var objectToString = Object.prototype.toString;
	var functionToString = Function.prototype.toString;
	var $match = String.prototype.match;
	var $slice = String.prototype.slice;
	var $replace = String.prototype.replace;
	var $toUpperCase = String.prototype.toUpperCase;
	var $toLowerCase = String.prototype.toLowerCase;
	var $test = RegExp.prototype.test;
	var $concat = Array.prototype.concat;
	var $join = Array.prototype.join;
	var $arrSlice = Array.prototype.slice;
	var $floor = Math.floor;
	var bigIntValueOf = typeof BigInt === "function" ? BigInt.prototype.valueOf : null;
	var gOPS = Object.getOwnPropertySymbols;
	var symToString = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? Symbol.prototype.toString : null;
	var hasShammedSymbols = typeof Symbol === "function" && typeof Symbol.iterator === "object";
	var toStringTag = typeof Symbol === "function" && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? "object" : "symbol") ? Symbol.toStringTag : null;
	var isEnumerable = Object.prototype.propertyIsEnumerable;
	var gPO = (typeof Reflect === "function" ? Reflect.getPrototypeOf : Object.getPrototypeOf) || ([].__proto__ === Array.prototype ? function(O) {
		return O.__proto__;
	} : null);
	function addNumericSeparator(num, str) {
		if (num === Infinity || num === -Infinity || num !== num || num && num > -1e3 && num < 1e3 || $test.call(/e/, str)) {
			return str;
		}
		var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;
		if (typeof num === "number") {
			var int = num < 0 ? -$floor(-num) : $floor(num);
			if (int !== num) {
				var intStr = String(int);
				var dec = $slice.call(str, intStr.length + 1);
				return $replace.call(intStr, sepRegex, "$&_") + "." + $replace.call($replace.call(dec, /([0-9]{3})/g, "$&_"), /_$/, "");
			}
		}
		return $replace.call(str, sepRegex, "$&_");
	}
	var utilInspect = require_util_inspect();
	var inspectCustom = utilInspect.custom;
	var inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;
	var quotes = {
		__proto__: null,
		"double": "\"",
		single: "'"
	};
	var quoteREs = {
		__proto__: null,
		"double": /(["\\])/g,
		single: /(['\\])/g
	};
	module.exports = function inspect_(obj, options, depth, seen) {
		var opts = options || {};
		if (has(opts, "quoteStyle") && !has(quotes, opts.quoteStyle)) {
			throw new TypeError("option \"quoteStyle\" must be \"single\" or \"double\"");
		}
		if (has(opts, "maxStringLength") && (typeof opts.maxStringLength === "number" ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity : opts.maxStringLength !== null)) {
			throw new TypeError("option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`");
		}
		var customInspect = has(opts, "customInspect") ? opts.customInspect : true;
		if (typeof customInspect !== "boolean" && customInspect !== "symbol") {
			throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");
		}
		if (has(opts, "indent") && opts.indent !== null && opts.indent !== "	" && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)) {
			throw new TypeError("option \"indent\" must be \"\\t\", an integer > 0, or `null`");
		}
		if (has(opts, "numericSeparator") && typeof opts.numericSeparator !== "boolean") {
			throw new TypeError("option \"numericSeparator\", if provided, must be `true` or `false`");
		}
		var numericSeparator = opts.numericSeparator;
		if (typeof obj === "undefined") {
			return "undefined";
		}
		if (obj === null) {
			return "null";
		}
		if (typeof obj === "boolean") {
			return obj ? "true" : "false";
		}
		if (typeof obj === "string") {
			return inspectString(obj, opts);
		}
		if (typeof obj === "number") {
			if (obj === 0) {
				return Infinity / obj > 0 ? "0" : "-0";
			}
			var str = String(obj);
			return numericSeparator ? addNumericSeparator(obj, str) : str;
		}
		if (typeof obj === "bigint") {
			var bigIntStr = String(obj) + "n";
			return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;
		}
		var maxDepth = typeof opts.depth === "undefined" ? 5 : opts.depth;
		if (typeof depth === "undefined") {
			depth = 0;
		}
		if (depth >= maxDepth && maxDepth > 0 && typeof obj === "object") {
			return isArray(obj) ? "[Array]" : "[Object]";
		}
		var indent = getIndent(opts, depth);
		if (typeof seen === "undefined") {
			seen = [];
		} else if (indexOf(seen, obj) >= 0) {
			return "[Circular]";
		}
		function inspect(value, from, noIndent) {
			if (from) {
				seen = $arrSlice.call(seen);
				seen.push(from);
			}
			if (noIndent) {
				var newOpts = { depth: opts.depth };
				if (has(opts, "quoteStyle")) {
					newOpts.quoteStyle = opts.quoteStyle;
				}
				return inspect_(value, newOpts, depth + 1, seen);
			}
			return inspect_(value, opts, depth + 1, seen);
		}
		if (typeof obj === "function" && !isRegExp(obj)) {
			var name = nameOf(obj);
			var keys = arrObjKeys(obj, inspect);
			return "[Function" + (name ? ": " + name : " (anonymous)") + "]" + (keys.length > 0 ? " { " + $join.call(keys, ", ") + " }" : "");
		}
		if (isSymbol(obj)) {
			var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\(.*\))_[^)]*$/, "$1") : symToString.call(obj);
			return typeof obj === "object" && !hasShammedSymbols ? markBoxed(symString) : symString;
		}
		if (isElement(obj)) {
			var s = "<" + $toLowerCase.call(String(obj.nodeName));
			var attrs = obj.attributes || [];
			for (var i = 0; i < attrs.length; i++) {
				s += " " + attrs[i].name + "=" + wrapQuotes(quote(attrs[i].value), "double", opts);
			}
			s += ">";
			if (obj.childNodes && obj.childNodes.length) {
				s += "...";
			}
			s += "</" + $toLowerCase.call(String(obj.nodeName)) + ">";
			return s;
		}
		if (isArray(obj)) {
			if (obj.length === 0) {
				return "[]";
			}
			var xs = arrObjKeys(obj, inspect);
			if (indent && !singleLineValues(xs)) {
				return "[" + indentedJoin(xs, indent) + "]";
			}
			return "[ " + $join.call(xs, ", ") + " ]";
		}
		if (isError(obj)) {
			var parts = arrObjKeys(obj, inspect);
			if (!("cause" in Error.prototype) && "cause" in obj && !isEnumerable.call(obj, "cause")) {
				return "{ [" + String(obj) + "] " + $join.call($concat.call("[cause]: " + inspect(obj.cause), parts), ", ") + " }";
			}
			if (parts.length === 0) {
				return "[" + String(obj) + "]";
			}
			return "{ [" + String(obj) + "] " + $join.call(parts, ", ") + " }";
		}
		if (typeof obj === "object" && customInspect) {
			if (inspectSymbol && typeof obj[inspectSymbol] === "function" && utilInspect) {
				return utilInspect(obj, { depth: maxDepth - depth });
			} else if (customInspect !== "symbol" && typeof obj.inspect === "function") {
				return obj.inspect();
			}
		}
		if (isMap(obj)) {
			var mapParts = [];
			if (mapForEach) {
				mapForEach.call(obj, function(value, key) {
					mapParts.push(inspect(key, obj, true) + " => " + inspect(value, obj));
				});
			}
			return collectionOf("Map", mapSize.call(obj), mapParts, indent);
		}
		if (isSet(obj)) {
			var setParts = [];
			if (setForEach) {
				setForEach.call(obj, function(value) {
					setParts.push(inspect(value, obj));
				});
			}
			return collectionOf("Set", setSize.call(obj), setParts, indent);
		}
		if (isWeakMap(obj)) {
			return weakCollectionOf("WeakMap");
		}
		if (isWeakSet(obj)) {
			return weakCollectionOf("WeakSet");
		}
		if (isWeakRef(obj)) {
			return weakCollectionOf("WeakRef");
		}
		if (isNumber(obj)) {
			return markBoxed(inspect(Number(obj)));
		}
		if (isBigInt(obj)) {
			return markBoxed(inspect(bigIntValueOf.call(obj)));
		}
		if (isBoolean(obj)) {
			return markBoxed(booleanValueOf.call(obj));
		}
		if (isString(obj)) {
			return markBoxed(inspect(String(obj)));
		}
		if (typeof window !== "undefined" && obj === window) {
			return "{ [object Window] }";
		}
		if (typeof globalThis !== "undefined" && obj === globalThis || typeof global !== "undefined" && obj === global) {
			return "{ [object globalThis] }";
		}
		if (!isDate(obj) && !isRegExp(obj)) {
			var ys = arrObjKeys(obj, inspect);
			var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;
			var protoTag = obj instanceof Object ? "" : "null prototype";
			var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? "Object" : "";
			var constructorTag = isPlainObject || typeof obj.constructor !== "function" ? "" : obj.constructor.name ? obj.constructor.name + " " : "";
			var tag = constructorTag + (stringTag || protoTag ? "[" + $join.call($concat.call([], stringTag || [], protoTag || []), ": ") + "] " : "");
			if (ys.length === 0) {
				return tag + "{}";
			}
			if (indent) {
				return tag + "{" + indentedJoin(ys, indent) + "}";
			}
			return tag + "{ " + $join.call(ys, ", ") + " }";
		}
		return String(obj);
	};
	function wrapQuotes(s, defaultStyle, opts) {
		var style = opts.quoteStyle || defaultStyle;
		var quoteChar = quotes[style];
		return quoteChar + s + quoteChar;
	}
	function quote(s) {
		return $replace.call(String(s), /"/g, "&quot;");
	}
	function canTrustToString(obj) {
		return !toStringTag || !(typeof obj === "object" && (toStringTag in obj || typeof obj[toStringTag] !== "undefined"));
	}
	function isArray(obj) {
		return toStr(obj) === "[object Array]" && canTrustToString(obj);
	}
	function isDate(obj) {
		return toStr(obj) === "[object Date]" && canTrustToString(obj);
	}
	function isRegExp(obj) {
		return toStr(obj) === "[object RegExp]" && canTrustToString(obj);
	}
	function isError(obj) {
		return toStr(obj) === "[object Error]" && canTrustToString(obj);
	}
	function isString(obj) {
		return toStr(obj) === "[object String]" && canTrustToString(obj);
	}
	function isNumber(obj) {
		return toStr(obj) === "[object Number]" && canTrustToString(obj);
	}
	function isBoolean(obj) {
		return toStr(obj) === "[object Boolean]" && canTrustToString(obj);
	}
	function isSymbol(obj) {
		if (hasShammedSymbols) {
			return obj && typeof obj === "object" && obj instanceof Symbol;
		}
		if (typeof obj === "symbol") {
			return true;
		}
		if (!obj || typeof obj !== "object" || !symToString) {
			return false;
		}
		try {
			symToString.call(obj);
			return true;
		} catch (e) {}
		return false;
	}
	function isBigInt(obj) {
		if (!obj || typeof obj !== "object" || !bigIntValueOf) {
			return false;
		}
		try {
			bigIntValueOf.call(obj);
			return true;
		} catch (e) {}
		return false;
	}
	var hasOwn = Object.prototype.hasOwnProperty || function(key) {
		return key in this;
	};
	function has(obj, key) {
		return hasOwn.call(obj, key);
	}
	function toStr(obj) {
		return objectToString.call(obj);
	}
	function nameOf(f) {
		if (f.name) {
			return f.name;
		}
		var m = $match.call(functionToString.call(f), /^function\s*([\w$]+)/);
		if (m) {
			return m[1];
		}
		return null;
	}
	function indexOf(xs, x) {
		if (xs.indexOf) {
			return xs.indexOf(x);
		}
		for (var i = 0, l = xs.length; i < l; i++) {
			if (xs[i] === x) {
				return i;
			}
		}
		return -1;
	}
	function isMap(x) {
		if (!mapSize || !x || typeof x !== "object") {
			return false;
		}
		try {
			mapSize.call(x);
			try {
				setSize.call(x);
			} catch (s) {
				return true;
			}
			return x instanceof Map;
		} catch (e) {}
		return false;
	}
	function isWeakMap(x) {
		if (!weakMapHas || !x || typeof x !== "object") {
			return false;
		}
		try {
			weakMapHas.call(x, weakMapHas);
			try {
				weakSetHas.call(x, weakSetHas);
			} catch (s) {
				return true;
			}
			return x instanceof WeakMap;
		} catch (e) {}
		return false;
	}
	function isWeakRef(x) {
		if (!weakRefDeref || !x || typeof x !== "object") {
			return false;
		}
		try {
			weakRefDeref.call(x);
			return true;
		} catch (e) {}
		return false;
	}
	function isSet(x) {
		if (!setSize || !x || typeof x !== "object") {
			return false;
		}
		try {
			setSize.call(x);
			try {
				mapSize.call(x);
			} catch (m) {
				return true;
			}
			return x instanceof Set;
		} catch (e) {}
		return false;
	}
	function isWeakSet(x) {
		if (!weakSetHas || !x || typeof x !== "object") {
			return false;
		}
		try {
			weakSetHas.call(x, weakSetHas);
			try {
				weakMapHas.call(x, weakMapHas);
			} catch (s) {
				return true;
			}
			return x instanceof WeakSet;
		} catch (e) {}
		return false;
	}
	function isElement(x) {
		if (!x || typeof x !== "object") {
			return false;
		}
		if (typeof HTMLElement !== "undefined" && x instanceof HTMLElement) {
			return true;
		}
		return typeof x.nodeName === "string" && typeof x.getAttribute === "function";
	}
	function inspectString(str, opts) {
		if (str.length > opts.maxStringLength) {
			var remaining = str.length - opts.maxStringLength;
			var trailer = "... " + remaining + " more character" + (remaining > 1 ? "s" : "");
			return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;
		}
		var quoteRE = quoteREs[opts.quoteStyle || "single"];
		quoteRE.lastIndex = 0;
		var s = $replace.call($replace.call(str, quoteRE, "\\$1"), /[\x00-\x1f]/g, lowbyte);
		return wrapQuotes(s, "single", opts);
	}
	function lowbyte(c) {
		var n = c.charCodeAt(0);
		var x = {
			8: "b",
			9: "t",
			10: "n",
			12: "f",
			13: "r"
		}[n];
		if (x) {
			return "\\" + x;
		}
		return "\\x" + (n < 16 ? "0" : "") + $toUpperCase.call(n.toString(16));
	}
	function markBoxed(str) {
		return "Object(" + str + ")";
	}
	function weakCollectionOf(type) {
		return type + " { ? }";
	}
	function collectionOf(type, size, entries, indent) {
		var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ", ");
		return type + " (" + size + ") {" + joinedEntries + "}";
	}
	function singleLineValues(xs) {
		for (var i = 0; i < xs.length; i++) {
			if (indexOf(xs[i], "\n") >= 0) {
				return false;
			}
		}
		return true;
	}
	function getIndent(opts, depth) {
		var baseIndent;
		if (opts.indent === "	") {
			baseIndent = "	";
		} else if (typeof opts.indent === "number" && opts.indent > 0) {
			baseIndent = $join.call(Array(opts.indent + 1), " ");
		} else {
			return null;
		}
		return {
			base: baseIndent,
			prev: $join.call(Array(depth + 1), baseIndent)
		};
	}
	function indentedJoin(xs, indent) {
		if (xs.length === 0) {
			return "";
		}
		var lineJoiner = "\n" + indent.prev + indent.base;
		return lineJoiner + $join.call(xs, "," + lineJoiner) + "\n" + indent.prev;
	}
	function arrObjKeys(obj, inspect) {
		var isArr = isArray(obj);
		var xs = [];
		if (isArr) {
			xs.length = obj.length;
			for (var i = 0; i < obj.length; i++) {
				xs[i] = has(obj, i) ? inspect(obj[i], obj) : "";
			}
		}
		var syms = typeof gOPS === "function" ? gOPS(obj) : [];
		var symMap;
		if (hasShammedSymbols) {
			symMap = {};
			for (var k = 0; k < syms.length; k++) {
				symMap["$" + syms[k]] = syms[k];
			}
		}
		for (var key in obj) {
			if (!has(obj, key)) {
				continue;
			}
			if (isArr && String(Number(key)) === key && key < obj.length) {
				continue;
			}
			if (hasShammedSymbols && symMap["$" + key] instanceof Symbol) {
				continue;
			} else if ($test.call(/[^\w$]/, key)) {
				xs.push(inspect(key, obj) + ": " + inspect(obj[key], obj));
			} else {
				xs.push(key + ": " + inspect(obj[key], obj));
			}
		}
		if (typeof gOPS === "function") {
			for (var j = 0; j < syms.length; j++) {
				if (isEnumerable.call(obj, syms[j])) {
					xs.push("[" + inspect(syms[j]) + "]: " + inspect(obj[syms[j]], obj));
				}
			}
		}
		return xs;
	}
}));

//#endregion
//#region ../node_modules/side-channel-list/index.js
var require_side_channel_list = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var inspect = require_object_inspect();
	var $TypeError = require_type$1();
	/** @type {import('./list.d.ts').listGetNode} */
	var listGetNode = function(list, key, isDelete) {
		/** @type {typeof list | NonNullable<(typeof list)['next']>} */
		var prev = list;
		/** @type {(typeof list)['next']} */
		var curr;
		for (; (curr = prev.next) != null; prev = curr) {
			if (curr.key === key) {
				prev.next = curr.next;
				if (!isDelete) {
					curr.next = list.next;
					list.next = curr;
				}
				return curr;
			}
		}
	};
	/** @type {import('./list.d.ts').listGet} */
	var listGet = function(objects, key) {
		if (!objects) {
			return void undefined;
		}
		var node = listGetNode(objects, key);
		return node && node.value;
	};
	/** @type {import('./list.d.ts').listSet} */
	var listSet = function(objects, key, value) {
		var node = listGetNode(objects, key);
		if (node) {
			node.value = value;
		} else {
			objects.next = {
				key,
				next: objects.next,
				value
			};
		}
	};
	/** @type {import('./list.d.ts').listHas} */
	var listHas = function(objects, key) {
		if (!objects) {
			return false;
		}
		return !!listGetNode(objects, key);
	};
	/** @type {import('./list.d.ts').listDelete} */
	var listDelete = function(objects, key) {
		if (objects) {
			return listGetNode(objects, key, true);
		}
	};
	/** @type {import('.')} */
	module.exports = function getSideChannelList() {
		/** @typedef {ReturnType<typeof getSideChannelList>} Channel */
		/** @typedef {Parameters<Channel['get']>[0]} K */
		/** @typedef {Parameters<Channel['set']>[1]} V */
		/** @type {import('./list.d.ts').RootNode<V, K> | undefined} */ var $o;
		/** @type {Channel} */
		var channel = {
			assert: function(key) {
				if (!channel.has(key)) {
					throw new $TypeError("Side channel does not contain " + inspect(key));
				}
			},
			"delete": function(key) {
				var root = $o && $o.next;
				var deletedNode = listDelete($o, key);
				if (deletedNode && root && root === deletedNode) {
					$o = void undefined;
				}
				return !!deletedNode;
			},
			get: function(key) {
				return listGet($o, key);
			},
			has: function(key) {
				return listHas($o, key);
			},
			set: function(key, value) {
				if (!$o) {
					$o = { next: void undefined };
				}
				listSet(
					/** @type {NonNullable<typeof $o>} */
					$o,
					key,
					value
				);
			}
		};
		return channel;
	};
}));

//#endregion
//#region ../node_modules/call-bound/index.js
var require_call_bound = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var GetIntrinsic = require_get_intrinsic();
	var callBindBasic = require_call_bind_apply_helpers();
	/** @type {(thisArg: string, searchString: string, position?: number) => number} */
	var $indexOf = callBindBasic([GetIntrinsic("%String.prototype.indexOf%")]);
	/** @type {import('.')} */
	module.exports = function callBoundIntrinsic(name, allowMissing) {
		var intrinsic = GetIntrinsic(name, !!allowMissing);
		if (typeof intrinsic === "function" && $indexOf(name, ".prototype.") > -1) {
			return callBindBasic(
				/** @type {const} */
				[intrinsic]
			);
		}
		return intrinsic;
	};
}));

//#endregion
//#region ../node_modules/side-channel-map/index.js
var require_side_channel_map = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var GetIntrinsic = require_get_intrinsic();
	var callBound = require_call_bound();
	var inspect = require_object_inspect();
	var $TypeError = require_type$1();
	var $Map = GetIntrinsic("%Map%", true);
	/** @type {<K, V>(thisArg: Map<K, V>, key: K) => V} */
	var $mapGet = callBound("Map.prototype.get", true);
	/** @type {<K, V>(thisArg: Map<K, V>, key: K, value: V) => void} */
	var $mapSet = callBound("Map.prototype.set", true);
	/** @type {<K, V>(thisArg: Map<K, V>, key: K) => boolean} */
	var $mapHas = callBound("Map.prototype.has", true);
	/** @type {<K, V>(thisArg: Map<K, V>, key: K) => boolean} */
	var $mapDelete = callBound("Map.prototype.delete", true);
	/** @type {<K, V>(thisArg: Map<K, V>) => number} */
	var $mapSize = callBound("Map.prototype.size", true);
	/** @type {import('.')} */
	module.exports = !!$Map && function getSideChannelMap() {
		/** @typedef {ReturnType<typeof getSideChannelMap>} Channel */
		/** @typedef {Parameters<Channel['get']>[0]} K */
		/** @typedef {Parameters<Channel['set']>[1]} V */
		/** @type {Map<K, V> | undefined} */ var $m;
		/** @type {Channel} */
		var channel = {
			assert: function(key) {
				if (!channel.has(key)) {
					throw new $TypeError("Side channel does not contain " + inspect(key));
				}
			},
			"delete": function(key) {
				if ($m) {
					var result = $mapDelete($m, key);
					if ($mapSize($m) === 0) {
						$m = void undefined;
					}
					return result;
				}
				return false;
			},
			get: function(key) {
				if ($m) {
					return $mapGet($m, key);
				}
			},
			has: function(key) {
				if ($m) {
					return $mapHas($m, key);
				}
				return false;
			},
			set: function(key, value) {
				if (!$m) {
					$m = new $Map();
				}
				$mapSet($m, key, value);
			}
		};
		return channel;
	};
}));

//#endregion
//#region ../node_modules/side-channel-weakmap/index.js
var require_side_channel_weakmap = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var GetIntrinsic = require_get_intrinsic();
	var callBound = require_call_bound();
	var inspect = require_object_inspect();
	var getSideChannelMap = require_side_channel_map();
	var $TypeError = require_type$1();
	var $WeakMap = GetIntrinsic("%WeakMap%", true);
	/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K) => V} */
	var $weakMapGet = callBound("WeakMap.prototype.get", true);
	/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K, value: V) => void} */
	var $weakMapSet = callBound("WeakMap.prototype.set", true);
	/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K) => boolean} */
	var $weakMapHas = callBound("WeakMap.prototype.has", true);
	/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K) => boolean} */
	var $weakMapDelete = callBound("WeakMap.prototype.delete", true);
	/** @type {import('.')} */
	module.exports = $WeakMap ? function getSideChannelWeakMap() {
		/** @typedef {ReturnType<typeof getSideChannelWeakMap>} Channel */
		/** @typedef {Parameters<Channel['get']>[0]} K */
		/** @typedef {Parameters<Channel['set']>[1]} V */
		/** @type {WeakMap<K & object, V> | undefined} */ var $wm;
		/** @type {Channel | undefined} */ var $m;
		/** @type {Channel} */
		var channel = {
			assert: function(key) {
				if (!channel.has(key)) {
					throw new $TypeError("Side channel does not contain " + inspect(key));
				}
			},
			"delete": function(key) {
				if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) {
					if ($wm) {
						return $weakMapDelete($wm, key);
					}
				} else if (getSideChannelMap) {
					if ($m) {
						return $m["delete"](key);
					}
				}
				return false;
			},
			get: function(key) {
				if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) {
					if ($wm) {
						return $weakMapGet($wm, key);
					}
				}
				return $m && $m.get(key);
			},
			has: function(key) {
				if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) {
					if ($wm) {
						return $weakMapHas($wm, key);
					}
				}
				return !!$m && $m.has(key);
			},
			set: function(key, value) {
				if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) {
					if (!$wm) {
						$wm = new $WeakMap();
					}
					$weakMapSet($wm, key, value);
				} else if (getSideChannelMap) {
					if (!$m) {
						$m = getSideChannelMap();
					}
					/** @type {NonNullable<typeof $m>} */ $m.set(key, value);
				}
			}
		};
		return channel;
	} : getSideChannelMap;
}));

//#endregion
//#region ../node_modules/side-channel/index.js
var require_side_channel = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var $TypeError = require_type$1();
	var inspect = require_object_inspect();
	var getSideChannelList = require_side_channel_list();
	var getSideChannelMap = require_side_channel_map();
	var getSideChannelWeakMap = require_side_channel_weakmap();
	var makeChannel = getSideChannelWeakMap || getSideChannelMap || getSideChannelList;
	/** @type {import('.')} */
	module.exports = function getSideChannel() {
		/** @typedef {ReturnType<typeof getSideChannel>} Channel */
		/** @type {Channel | undefined} */ var $channelData;
		/** @type {Channel} */
		var channel = {
			assert: function(key) {
				if (!channel.has(key)) {
					throw new $TypeError("Side channel does not contain " + inspect(key));
				}
			},
			"delete": function(key) {
				return !!$channelData && $channelData["delete"](key);
			},
			get: function(key) {
				return $channelData && $channelData.get(key);
			},
			has: function(key) {
				return !!$channelData && $channelData.has(key);
			},
			set: function(key, value) {
				if (!$channelData) {
					$channelData = makeChannel();
				}
				$channelData.set(key, value);
			}
		};
		return channel;
	};
}));

//#endregion
//#region ../node_modules/qs/lib/formats.js
var require_formats = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var replace = String.prototype.replace;
	var percentTwenties = /%20/g;
	var Format = {
		RFC1738: "RFC1738",
		RFC3986: "RFC3986"
	};
	module.exports = {
		"default": Format.RFC3986,
		formatters: {
			RFC1738: function(value) {
				return replace.call(value, percentTwenties, "+");
			},
			RFC3986: function(value) {
				return String(value);
			}
		},
		RFC1738: Format.RFC1738,
		RFC3986: Format.RFC3986
	};
}));

//#endregion
//#region ../node_modules/qs/lib/utils.js
var require_utils$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var formats = require_formats();
	var has = Object.prototype.hasOwnProperty;
	var isArray = Array.isArray;
	var hexTable = function() {
		var array = [];
		for (var i = 0; i < 256; ++i) {
			array.push("%" + ((i < 16 ? "0" : "") + i.toString(16)).toUpperCase());
		}
		return array;
	}();
	var compactQueue = function compactQueue(queue) {
		while (queue.length > 1) {
			var item = queue.pop();
			var obj = item.obj[item.prop];
			if (isArray(obj)) {
				var compacted = [];
				for (var j = 0; j < obj.length; ++j) {
					if (typeof obj[j] !== "undefined") {
						compacted.push(obj[j]);
					}
				}
				item.obj[item.prop] = compacted;
			}
		}
	};
	var arrayToObject = function arrayToObject(source, options) {
		var obj = options && options.plainObjects ? { __proto__: null } : {};
		for (var i = 0; i < source.length; ++i) {
			if (typeof source[i] !== "undefined") {
				obj[i] = source[i];
			}
		}
		return obj;
	};
	var merge = function merge(target, source, options) {
		if (!source) {
			return target;
		}
		if (typeof source !== "object" && typeof source !== "function") {
			if (isArray(target)) {
				target.push(source);
			} else if (target && typeof target === "object") {
				if (options && (options.plainObjects || options.allowPrototypes) || !has.call(Object.prototype, source)) {
					target[source] = true;
				}
			} else {
				return [target, source];
			}
			return target;
		}
		if (!target || typeof target !== "object") {
			return [target].concat(source);
		}
		var mergeTarget = target;
		if (isArray(target) && !isArray(source)) {
			mergeTarget = arrayToObject(target, options);
		}
		if (isArray(target) && isArray(source)) {
			source.forEach(function(item, i) {
				if (has.call(target, i)) {
					var targetItem = target[i];
					if (targetItem && typeof targetItem === "object" && item && typeof item === "object") {
						target[i] = merge(targetItem, item, options);
					} else {
						target.push(item);
					}
				} else {
					target[i] = item;
				}
			});
			return target;
		}
		return Object.keys(source).reduce(function(acc, key) {
			var value = source[key];
			if (has.call(acc, key)) {
				acc[key] = merge(acc[key], value, options);
			} else {
				acc[key] = value;
			}
			return acc;
		}, mergeTarget);
	};
	var assign = function assignSingleSource(target, source) {
		return Object.keys(source).reduce(function(acc, key) {
			acc[key] = source[key];
			return acc;
		}, target);
	};
	var decode = function(str, defaultDecoder, charset) {
		var strWithoutPlus = str.replace(/\+/g, " ");
		if (charset === "iso-8859-1") {
			return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
		}
		try {
			return decodeURIComponent(strWithoutPlus);
		} catch (e) {
			return strWithoutPlus;
		}
	};
	var limit = 1024;
	var encode = function encode(str, defaultEncoder, charset, kind, format) {
		if (str.length === 0) {
			return str;
		}
		var string = str;
		if (typeof str === "symbol") {
			string = Symbol.prototype.toString.call(str);
		} else if (typeof str !== "string") {
			string = String(str);
		}
		if (charset === "iso-8859-1") {
			return escape(string).replace(/%u[0-9a-f]{4}/gi, function($0) {
				return "%26%23" + parseInt($0.slice(2), 16) + "%3B";
			});
		}
		var out = "";
		for (var j = 0; j < string.length; j += limit) {
			var segment = string.length >= limit ? string.slice(j, j + limit) : string;
			var arr = [];
			for (var i = 0; i < segment.length; ++i) {
				var c = segment.charCodeAt(i);
				if (c === 45 || c === 46 || c === 95 || c === 126 || c >= 48 && c <= 57 || c >= 65 && c <= 90 || c >= 97 && c <= 122 || format === formats.RFC1738 && (c === 40 || c === 41)) {
					arr[arr.length] = segment.charAt(i);
					continue;
				}
				if (c < 128) {
					arr[arr.length] = hexTable[c];
					continue;
				}
				if (c < 2048) {
					arr[arr.length] = hexTable[192 | c >> 6] + hexTable[128 | c & 63];
					continue;
				}
				if (c < 55296 || c >= 57344) {
					arr[arr.length] = hexTable[224 | c >> 12] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];
					continue;
				}
				i += 1;
				c = 65536 + ((c & 1023) << 10 | segment.charCodeAt(i) & 1023);
				arr[arr.length] = hexTable[240 | c >> 18] + hexTable[128 | c >> 12 & 63] + hexTable[128 | c >> 6 & 63] + hexTable[128 | c & 63];
			}
			out += arr.join("");
		}
		return out;
	};
	var compact = function compact(value) {
		var queue = [{
			obj: { o: value },
			prop: "o"
		}];
		var refs = [];
		for (var i = 0; i < queue.length; ++i) {
			var item = queue[i];
			var obj = item.obj[item.prop];
			var keys = Object.keys(obj);
			for (var j = 0; j < keys.length; ++j) {
				var key = keys[j];
				var val = obj[key];
				if (typeof val === "object" && val !== null && refs.indexOf(val) === -1) {
					queue.push({
						obj,
						prop: key
					});
					refs.push(val);
				}
			}
		}
		compactQueue(queue);
		return value;
	};
	var isRegExp = function isRegExp(obj) {
		return Object.prototype.toString.call(obj) === "[object RegExp]";
	};
	var isBuffer = function isBuffer(obj) {
		if (!obj || typeof obj !== "object") {
			return false;
		}
		return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
	};
	var combine = function combine(a, b) {
		return [].concat(a, b);
	};
	var maybeMap = function maybeMap(val, fn) {
		if (isArray(val)) {
			var mapped = [];
			for (var i = 0; i < val.length; i += 1) {
				mapped.push(fn(val[i]));
			}
			return mapped;
		}
		return fn(val);
	};
	module.exports = {
		arrayToObject,
		assign,
		combine,
		compact,
		decode,
		encode,
		isBuffer,
		isRegExp,
		maybeMap,
		merge
	};
}));

//#endregion
//#region ../node_modules/qs/lib/stringify.js
var require_stringify$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var getSideChannel = require_side_channel();
	var utils = require_utils$2();
	var formats = require_formats();
	var has = Object.prototype.hasOwnProperty;
	var arrayPrefixGenerators = {
		brackets: function brackets(prefix) {
			return prefix + "[]";
		},
		comma: "comma",
		indices: function indices(prefix, key) {
			return prefix + "[" + key + "]";
		},
		repeat: function repeat(prefix) {
			return prefix;
		}
	};
	var isArray = Array.isArray;
	var push = Array.prototype.push;
	var pushToArray = function(arr, valueOrArray) {
		push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);
	};
	var toISO = Date.prototype.toISOString;
	var defaultFormat = formats["default"];
	var defaults = {
		addQueryPrefix: false,
		allowDots: false,
		allowEmptyArrays: false,
		arrayFormat: "indices",
		charset: "utf-8",
		charsetSentinel: false,
		commaRoundTrip: false,
		delimiter: "&",
		encode: true,
		encodeDotInKeys: false,
		encoder: utils.encode,
		encodeValuesOnly: false,
		filter: void undefined,
		format: defaultFormat,
		formatter: formats.formatters[defaultFormat],
		indices: false,
		serializeDate: function serializeDate(date) {
			return toISO.call(date);
		},
		skipNulls: false,
		strictNullHandling: false
	};
	var isNonNullishPrimitive = function isNonNullishPrimitive(v) {
		return typeof v === "string" || typeof v === "number" || typeof v === "boolean" || typeof v === "symbol" || typeof v === "bigint";
	};
	var sentinel = {};
	var stringify = function stringify(object, prefix, generateArrayPrefix, commaRoundTrip, allowEmptyArrays, strictNullHandling, skipNulls, encodeDotInKeys, encoder, filter, sort, allowDots, serializeDate, format, formatter, encodeValuesOnly, charset, sideChannel) {
		var obj = object;
		var tmpSc = sideChannel;
		var step = 0;
		var findFlag = false;
		while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {
			var pos = tmpSc.get(object);
			step += 1;
			if (typeof pos !== "undefined") {
				if (pos === step) {
					throw new RangeError("Cyclic object value");
				} else {
					findFlag = true;
				}
			}
			if (typeof tmpSc.get(sentinel) === "undefined") {
				step = 0;
			}
		}
		if (typeof filter === "function") {
			obj = filter(prefix, obj);
		} else if (obj instanceof Date) {
			obj = serializeDate(obj);
		} else if (generateArrayPrefix === "comma" && isArray(obj)) {
			obj = utils.maybeMap(obj, function(value) {
				if (value instanceof Date) {
					return serializeDate(value);
				}
				return value;
			});
		}
		if (obj === null) {
			if (strictNullHandling) {
				return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, "key", format) : prefix;
			}
			obj = "";
		}
		if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {
			if (encoder) {
				var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, "key", format);
				return [formatter(keyValue) + "=" + formatter(encoder(obj, defaults.encoder, charset, "value", format))];
			}
			return [formatter(prefix) + "=" + formatter(String(obj))];
		}
		var values = [];
		if (typeof obj === "undefined") {
			return values;
		}
		var objKeys;
		if (generateArrayPrefix === "comma" && isArray(obj)) {
			if (encodeValuesOnly && encoder) {
				obj = utils.maybeMap(obj, encoder);
			}
			objKeys = [{ value: obj.length > 0 ? obj.join(",") || null : void undefined }];
		} else if (isArray(filter)) {
			objKeys = filter;
		} else {
			var keys = Object.keys(obj);
			objKeys = sort ? keys.sort(sort) : keys;
		}
		var encodedPrefix = encodeDotInKeys ? String(prefix).replace(/\./g, "%2E") : String(prefix);
		var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? encodedPrefix + "[]" : encodedPrefix;
		if (allowEmptyArrays && isArray(obj) && obj.length === 0) {
			return adjustedPrefix + "[]";
		}
		for (var j = 0; j < objKeys.length; ++j) {
			var key = objKeys[j];
			var value = typeof key === "object" && key && typeof key.value !== "undefined" ? key.value : obj[key];
			if (skipNulls && value === null) {
				continue;
			}
			var encodedKey = allowDots && encodeDotInKeys ? String(key).replace(/\./g, "%2E") : String(key);
			var keyPrefix = isArray(obj) ? typeof generateArrayPrefix === "function" ? generateArrayPrefix(adjustedPrefix, encodedKey) : adjustedPrefix : adjustedPrefix + (allowDots ? "." + encodedKey : "[" + encodedKey + "]");
			sideChannel.set(object, step);
			var valueSideChannel = getSideChannel();
			valueSideChannel.set(sentinel, sideChannel);
			pushToArray(values, stringify(value, keyPrefix, generateArrayPrefix, commaRoundTrip, allowEmptyArrays, strictNullHandling, skipNulls, encodeDotInKeys, generateArrayPrefix === "comma" && encodeValuesOnly && isArray(obj) ? null : encoder, filter, sort, allowDots, serializeDate, format, formatter, encodeValuesOnly, charset, valueSideChannel));
		}
		return values;
	};
	var normalizeStringifyOptions = function normalizeStringifyOptions(opts) {
		if (!opts) {
			return defaults;
		}
		if (typeof opts.allowEmptyArrays !== "undefined" && typeof opts.allowEmptyArrays !== "boolean") {
			throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");
		}
		if (typeof opts.encodeDotInKeys !== "undefined" && typeof opts.encodeDotInKeys !== "boolean") {
			throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");
		}
		if (opts.encoder !== null && typeof opts.encoder !== "undefined" && typeof opts.encoder !== "function") {
			throw new TypeError("Encoder has to be a function.");
		}
		var charset = opts.charset || defaults.charset;
		if (typeof opts.charset !== "undefined" && opts.charset !== "utf-8" && opts.charset !== "iso-8859-1") {
			throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");
		}
		var format = formats["default"];
		if (typeof opts.format !== "undefined") {
			if (!has.call(formats.formatters, opts.format)) {
				throw new TypeError("Unknown format option provided.");
			}
			format = opts.format;
		}
		var formatter = formats.formatters[format];
		var filter = defaults.filter;
		if (typeof opts.filter === "function" || isArray(opts.filter)) {
			filter = opts.filter;
		}
		var arrayFormat;
		if (opts.arrayFormat in arrayPrefixGenerators) {
			arrayFormat = opts.arrayFormat;
		} else if ("indices" in opts) {
			arrayFormat = opts.indices ? "indices" : "repeat";
		} else {
			arrayFormat = defaults.arrayFormat;
		}
		if ("commaRoundTrip" in opts && typeof opts.commaRoundTrip !== "boolean") {
			throw new TypeError("`commaRoundTrip` must be a boolean, or absent");
		}
		var allowDots = typeof opts.allowDots === "undefined" ? opts.encodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;
		return {
			addQueryPrefix: typeof opts.addQueryPrefix === "boolean" ? opts.addQueryPrefix : defaults.addQueryPrefix,
			allowDots,
			allowEmptyArrays: typeof opts.allowEmptyArrays === "boolean" ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,
			arrayFormat,
			charset,
			charsetSentinel: typeof opts.charsetSentinel === "boolean" ? opts.charsetSentinel : defaults.charsetSentinel,
			commaRoundTrip: !!opts.commaRoundTrip,
			delimiter: typeof opts.delimiter === "undefined" ? defaults.delimiter : opts.delimiter,
			encode: typeof opts.encode === "boolean" ? opts.encode : defaults.encode,
			encodeDotInKeys: typeof opts.encodeDotInKeys === "boolean" ? opts.encodeDotInKeys : defaults.encodeDotInKeys,
			encoder: typeof opts.encoder === "function" ? opts.encoder : defaults.encoder,
			encodeValuesOnly: typeof opts.encodeValuesOnly === "boolean" ? opts.encodeValuesOnly : defaults.encodeValuesOnly,
			filter,
			format,
			formatter,
			serializeDate: typeof opts.serializeDate === "function" ? opts.serializeDate : defaults.serializeDate,
			skipNulls: typeof opts.skipNulls === "boolean" ? opts.skipNulls : defaults.skipNulls,
			sort: typeof opts.sort === "function" ? opts.sort : null,
			strictNullHandling: typeof opts.strictNullHandling === "boolean" ? opts.strictNullHandling : defaults.strictNullHandling
		};
	};
	module.exports = function(object, opts) {
		var obj = object;
		var options = normalizeStringifyOptions(opts);
		var objKeys;
		var filter;
		if (typeof options.filter === "function") {
			filter = options.filter;
			obj = filter("", obj);
		} else if (isArray(options.filter)) {
			filter = options.filter;
			objKeys = filter;
		}
		var keys = [];
		if (typeof obj !== "object" || obj === null) {
			return "";
		}
		var generateArrayPrefix = arrayPrefixGenerators[options.arrayFormat];
		var commaRoundTrip = generateArrayPrefix === "comma" && options.commaRoundTrip;
		if (!objKeys) {
			objKeys = Object.keys(obj);
		}
		if (options.sort) {
			objKeys.sort(options.sort);
		}
		var sideChannel = getSideChannel();
		for (var i = 0; i < objKeys.length; ++i) {
			var key = objKeys[i];
			var value = obj[key];
			if (options.skipNulls && value === null) {
				continue;
			}
			pushToArray(keys, stringify(value, key, generateArrayPrefix, commaRoundTrip, options.allowEmptyArrays, options.strictNullHandling, options.skipNulls, options.encodeDotInKeys, options.encode ? options.encoder : null, options.filter, options.sort, options.allowDots, options.serializeDate, options.format, options.formatter, options.encodeValuesOnly, options.charset, sideChannel));
		}
		var joined = keys.join(options.delimiter);
		var prefix = options.addQueryPrefix === true ? "?" : "";
		if (options.charsetSentinel) {
			if (options.charset === "iso-8859-1") {
				prefix += "utf8=%26%2310003%3B&";
			} else {
				prefix += "utf8=%E2%9C%93&";
			}
		}
		return joined.length > 0 ? prefix + joined : "";
	};
}));

//#endregion
//#region ../node_modules/qs/lib/parse.js
var require_parse$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var utils = require_utils$2();
	var has = Object.prototype.hasOwnProperty;
	var isArray = Array.isArray;
	var defaults = {
		allowDots: false,
		allowEmptyArrays: false,
		allowPrototypes: false,
		allowSparse: false,
		arrayLimit: 20,
		charset: "utf-8",
		charsetSentinel: false,
		comma: false,
		decodeDotInKeys: false,
		decoder: utils.decode,
		delimiter: "&",
		depth: 5,
		duplicates: "combine",
		ignoreQueryPrefix: false,
		interpretNumericEntities: false,
		parameterLimit: 1e3,
		parseArrays: true,
		plainObjects: false,
		strictDepth: false,
		strictNullHandling: false,
		throwOnLimitExceeded: false
	};
	var interpretNumericEntities = function(str) {
		return str.replace(/&#(\d+);/g, function($0, numberStr) {
			return String.fromCharCode(parseInt(numberStr, 10));
		});
	};
	var parseArrayValue = function(val, options, currentArrayLength) {
		if (val && typeof val === "string" && options.comma && val.indexOf(",") > -1) {
			return val.split(",");
		}
		if (options.throwOnLimitExceeded && currentArrayLength >= options.arrayLimit) {
			throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
		}
		return val;
	};
	var isoSentinel = "utf8=%26%2310003%3B";
	var charsetSentinel = "utf8=%E2%9C%93";
	var parseValues = function parseQueryStringValues(str, options) {
		var obj = { __proto__: null };
		var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, "") : str;
		cleanStr = cleanStr.replace(/%5B/gi, "[").replace(/%5D/gi, "]");
		var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;
		var parts = cleanStr.split(options.delimiter, options.throwOnLimitExceeded ? limit + 1 : limit);
		if (options.throwOnLimitExceeded && parts.length > limit) {
			throw new RangeError("Parameter limit exceeded. Only " + limit + " parameter" + (limit === 1 ? "" : "s") + " allowed.");
		}
		var skipIndex = -1;
		var i;
		var charset = options.charset;
		if (options.charsetSentinel) {
			for (i = 0; i < parts.length; ++i) {
				if (parts[i].indexOf("utf8=") === 0) {
					if (parts[i] === charsetSentinel) {
						charset = "utf-8";
					} else if (parts[i] === isoSentinel) {
						charset = "iso-8859-1";
					}
					skipIndex = i;
					i = parts.length;
				}
			}
		}
		for (i = 0; i < parts.length; ++i) {
			if (i === skipIndex) {
				continue;
			}
			var part = parts[i];
			var bracketEqualsPos = part.indexOf("]=");
			var pos = bracketEqualsPos === -1 ? part.indexOf("=") : bracketEqualsPos + 1;
			var key;
			var val;
			if (pos === -1) {
				key = options.decoder(part, defaults.decoder, charset, "key");
				val = options.strictNullHandling ? null : "";
			} else {
				key = options.decoder(part.slice(0, pos), defaults.decoder, charset, "key");
				val = utils.maybeMap(parseArrayValue(part.slice(pos + 1), options, isArray(obj[key]) ? obj[key].length : 0), function(encodedVal) {
					return options.decoder(encodedVal, defaults.decoder, charset, "value");
				});
			}
			if (val && options.interpretNumericEntities && charset === "iso-8859-1") {
				val = interpretNumericEntities(String(val));
			}
			if (part.indexOf("[]=") > -1) {
				val = isArray(val) ? [val] : val;
			}
			var existing = has.call(obj, key);
			if (existing && options.duplicates === "combine") {
				obj[key] = utils.combine(obj[key], val);
			} else if (!existing || options.duplicates === "last") {
				obj[key] = val;
			}
		}
		return obj;
	};
	var parseObject = function(chain, val, options, valuesParsed) {
		var currentArrayLength = 0;
		if (chain.length > 0 && chain[chain.length - 1] === "[]") {
			var parentKey = chain.slice(0, -1).join("");
			currentArrayLength = Array.isArray(val) && val[parentKey] ? val[parentKey].length : 0;
		}
		var leaf = valuesParsed ? val : parseArrayValue(val, options, currentArrayLength);
		for (var i = chain.length - 1; i >= 0; --i) {
			var obj;
			var root = chain[i];
			if (root === "[]" && options.parseArrays) {
				obj = options.allowEmptyArrays && (leaf === "" || options.strictNullHandling && leaf === null) ? [] : utils.combine([], leaf);
			} else {
				obj = options.plainObjects ? { __proto__: null } : {};
				var cleanRoot = root.charAt(0) === "[" && root.charAt(root.length - 1) === "]" ? root.slice(1, -1) : root;
				var decodedRoot = options.decodeDotInKeys ? cleanRoot.replace(/%2E/g, ".") : cleanRoot;
				var index = parseInt(decodedRoot, 10);
				if (!options.parseArrays && decodedRoot === "") {
					obj = { 0: leaf };
				} else if (!isNaN(index) && root !== decodedRoot && String(index) === decodedRoot && index >= 0 && options.parseArrays && index <= options.arrayLimit) {
					obj = [];
					obj[index] = leaf;
				} else if (decodedRoot !== "__proto__") {
					obj[decodedRoot] = leaf;
				}
			}
			leaf = obj;
		}
		return leaf;
	};
	var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {
		if (!givenKey) {
			return;
		}
		var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, "[$1]") : givenKey;
		var brackets = /(\[[^[\]]*])/;
		var child = /(\[[^[\]]*])/g;
		var segment = options.depth > 0 && brackets.exec(key);
		var parent = segment ? key.slice(0, segment.index) : key;
		var keys = [];
		if (parent) {
			if (!options.plainObjects && has.call(Object.prototype, parent)) {
				if (!options.allowPrototypes) {
					return;
				}
			}
			keys.push(parent);
		}
		var i = 0;
		while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {
			i += 1;
			if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {
				if (!options.allowPrototypes) {
					return;
				}
			}
			keys.push(segment[1]);
		}
		if (segment) {
			if (options.strictDepth === true) {
				throw new RangeError("Input depth exceeded depth option of " + options.depth + " and strictDepth is true");
			}
			keys.push("[" + key.slice(segment.index) + "]");
		}
		return parseObject(keys, val, options, valuesParsed);
	};
	var normalizeParseOptions = function normalizeParseOptions(opts) {
		if (!opts) {
			return defaults;
		}
		if (typeof opts.allowEmptyArrays !== "undefined" && typeof opts.allowEmptyArrays !== "boolean") {
			throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");
		}
		if (typeof opts.decodeDotInKeys !== "undefined" && typeof opts.decodeDotInKeys !== "boolean") {
			throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");
		}
		if (opts.decoder !== null && typeof opts.decoder !== "undefined" && typeof opts.decoder !== "function") {
			throw new TypeError("Decoder has to be a function.");
		}
		if (typeof opts.charset !== "undefined" && opts.charset !== "utf-8" && opts.charset !== "iso-8859-1") {
			throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");
		}
		if (typeof opts.throwOnLimitExceeded !== "undefined" && typeof opts.throwOnLimitExceeded !== "boolean") {
			throw new TypeError("`throwOnLimitExceeded` option must be a boolean");
		}
		var charset = typeof opts.charset === "undefined" ? defaults.charset : opts.charset;
		var duplicates = typeof opts.duplicates === "undefined" ? defaults.duplicates : opts.duplicates;
		if (duplicates !== "combine" && duplicates !== "first" && duplicates !== "last") {
			throw new TypeError("The duplicates option must be either combine, first, or last");
		}
		var allowDots = typeof opts.allowDots === "undefined" ? opts.decodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;
		return {
			allowDots,
			allowEmptyArrays: typeof opts.allowEmptyArrays === "boolean" ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,
			allowPrototypes: typeof opts.allowPrototypes === "boolean" ? opts.allowPrototypes : defaults.allowPrototypes,
			allowSparse: typeof opts.allowSparse === "boolean" ? opts.allowSparse : defaults.allowSparse,
			arrayLimit: typeof opts.arrayLimit === "number" ? opts.arrayLimit : defaults.arrayLimit,
			charset,
			charsetSentinel: typeof opts.charsetSentinel === "boolean" ? opts.charsetSentinel : defaults.charsetSentinel,
			comma: typeof opts.comma === "boolean" ? opts.comma : defaults.comma,
			decodeDotInKeys: typeof opts.decodeDotInKeys === "boolean" ? opts.decodeDotInKeys : defaults.decodeDotInKeys,
			decoder: typeof opts.decoder === "function" ? opts.decoder : defaults.decoder,
			delimiter: typeof opts.delimiter === "string" || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,
			depth: typeof opts.depth === "number" || opts.depth === false ? +opts.depth : defaults.depth,
			duplicates,
			ignoreQueryPrefix: opts.ignoreQueryPrefix === true,
			interpretNumericEntities: typeof opts.interpretNumericEntities === "boolean" ? opts.interpretNumericEntities : defaults.interpretNumericEntities,
			parameterLimit: typeof opts.parameterLimit === "number" ? opts.parameterLimit : defaults.parameterLimit,
			parseArrays: opts.parseArrays !== false,
			plainObjects: typeof opts.plainObjects === "boolean" ? opts.plainObjects : defaults.plainObjects,
			strictDepth: typeof opts.strictDepth === "boolean" ? !!opts.strictDepth : defaults.strictDepth,
			strictNullHandling: typeof opts.strictNullHandling === "boolean" ? opts.strictNullHandling : defaults.strictNullHandling,
			throwOnLimitExceeded: typeof opts.throwOnLimitExceeded === "boolean" ? opts.throwOnLimitExceeded : false
		};
	};
	module.exports = function(str, opts) {
		var options = normalizeParseOptions(opts);
		if (str === "" || str === null || typeof str === "undefined") {
			return options.plainObjects ? { __proto__: null } : {};
		}
		var tempObj = typeof str === "string" ? parseValues(str, options) : str;
		var obj = options.plainObjects ? { __proto__: null } : {};
		var keys = Object.keys(tempObj);
		for (var i = 0; i < keys.length; ++i) {
			var key = keys[i];
			var newObj = parseKeys(key, tempObj[key], options, typeof str === "string");
			obj = utils.merge(obj, newObj, options);
		}
		if (options.allowSparse === true) {
			return obj;
		}
		return utils.compact(obj);
	};
}));

//#endregion
//#region ../node_modules/qs/lib/index.js
var require_lib$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var stringify = require_stringify$1();
	var parse = require_parse$2();
	var formats = require_formats();
	module.exports = {
		formats,
		parse,
		stringify
	};
}));

//#endregion
//#region ../utils/pan/baidu2.js
/**
* 百度网盘解析模块 - 秋秋版本
* 提供百度网盘分享链接的解析和文件获取功能
* 支持获取分享文件列表、生成播放链接等操作
*/
var import_lib$2 = /* @__PURE__ */ __toESM(require_lib$1(), 1);
/**
* 百度网盘驱动类
* 用于解析百度网盘分享链接，获取文件信息和播放地址
*/
var BaiduDrive = class {
	/**
	* 构造函数 - 初始化百度网盘相关配置
	*/
	constructor() {
		this.regex = /https:\/\/pan\.baidu\.com\/s\/(.*)\?.*?pwd=([^&]+)/;
		this.type = [
			"M3U8_AUTO_4K",
			"M3U8_AUTO_2K",
			"M3U8_AUTO_1080",
			"M3U8_AUTO_720",
			"M3U8_AUTO_480"
		];
		this.headers = {
			"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",
			"Connection": "keep-alive",
			"Accept": "application/json, text/plain, */*",
			"Accept-Encoding": "gzip, deflate, br",
			"Accept-Language": "zh,en-GB;q=0.9,en-US;q=0.8,en;q=0.7,zh-CN;q=0.6"
		};
		this.api = "https://pan.baidu.com";
		this.link = "";
		this.pwd = "";
		this.surl = "";
		this.shorturl = "";
		this.shareid = "";
		this.app_id = 250528;
		this.view_mode = 1;
		this.channel = "chunlei";
	}
	/**
	* 初始化方法，加载本地配置
	* @returns {Promise<void>}
	*/
	async init() {
		if (this.cookie) {
			console.log("百度网盘cookie获取成功" + this.cookie);
		}
	}
	/**
	* 获取百度网盘Cookie
	* @returns {string} 百度网盘Cookie
	*/
	get cookie() {
		return ENV.get("baidu_cookie");
	}
	/**
	* 解析分享链接，提取surl和密码
	* @param {string} url - 百度网盘分享链接
	* @returns {Promise<void>}
	*/
	async getSurl(url) {
		this.link = url;
		const matches = this.regex.exec(url);
		if (matches && matches[1]) {
			this.surl = matches[1];
			this.shorturl = this.surl.split("").slice(1).join("");
			this.pwd = matches[2] || "";
		}
	}
	/**
	* 获取签名信息
	* @returns {Promise<string>} 签名字符串
	*/
	async getSign() {
		let data = (await axios$1.get(`${this.api}/share/tplconfig?surl=${this.surl}&fields=Espace_info,card_info,sign,timestamp&view_mode=${this.view_mode}&channel=${this.channel}&web=1&app_id=${this.app_id}`, { headers: this.headers })).data;
		return data.data.sign;
	}
	/**
	* 获取分享数据的主入口方法
	* @param {string} link - 百度网盘分享链接
	* @returns {Promise<Object>} 分享文件数据
	*/
	async getShareData(link) {
		await this.getSurl(link);
		return await this.getShareList();
	}
	/**
	* 获取随机密钥(randsk)并更新Cookie
	* @returns {Promise<string>} 随机密钥
	*/
	async getRandsk() {
		let data = import_lib$2.default.stringify({
			"pwd": this.pwd,
			"vcode": "",
			"vcode_str": ""
		});
		let randsk = (await axios$1.post(`${this.api}/share/verify?surl=${this.shorturl}&pwd=${this.pwd}`, data, { headers: {
			"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",
			"Referer": this.link
		} })).data.randsk;
		let BDCLND = "BDCLND=" + randsk;
		if (!this.cookie.includes("BDCLND")) {
			let cookie = this.cookie + BDCLND;
			ENV.set("baidu_cookie", cookie);
			return randsk;
		} else {
			let cookie = this.cookie.split(";").map((it) => {
				if (/BDCLND/.test(it)) {
					it = BDCLND;
				}
				return it;
			}).join(";");
			if (cookie !== this.cookie) {
				ENV.set("baidu_cookie", cookie);
			}
			return randsk;
		}
	}
	/**
	* 获取分享文件列表
	* @returns {Promise<Object>} 文件列表对象
	*/
	async getShareList() {
		await this.getRandsk();
		this.headers["cookie"] = this.cookie;
		let data = (await axios$1.get(`${this.api}/share/list?web=5&app_id=${this.app_id}&desc=1&showempty=0&page=1&num=20&order=time&shorturl=${this.shorturl}&root=1&view_mode=${this.view_mode}&channel=${this.channel}&web=1&clienttype=0`, { headers: this.headers })).data;
		if (data.errno === 0 && data.list.length > 0) {
			let file = {};
			let dirs = [];
			let videos = [];
			this.uk = data.uk;
			this.shareid = data.share_id;
			data.list.map((item) => {
				if (item.category === "6" || item.category === 6) {
					dirs.push(item.path);
				}
				if (item.category === "1" || item.category === 1) {
					const fileName = item.server_filename || item.path.split("/").pop();
					videos.push({
						name: fileName,
						path: item.path.replaceAll("#", "\0"),
						uk: this.uk,
						shareid: this.shareid,
						fsid: item.fs_id || item.fsid
					});
				}
			});
			if (!(data.title in file) && data.title !== undefined) {
				file[data.title] = [];
			}
			if (videos.length >= 0 && data.title !== undefined) {
				file[data.title] = [...videos];
			}
			let result = await Promise.all(dirs.map(async (path) => this.getSharepath(path)));
			result = result.filter((item) => item !== undefined && item !== null).flat();
			if (result.length >= 0) {
				const processedResult = result.map((item) => {
					if (item.name && item.name.includes("/")) {
						item.name = item.name.split("/").pop();
					}
					return item;
				});
				file[data.title].push(...processedResult);
			}
			return file;
		}
	}
	/**
	* 获取指定路径下的文件列表（递归）
	* @param {string} path - 目录路径
	* @returns {Promise<Array>} 文件列表数组
	*/
	async getSharepath(path) {
		await this.getRandsk();
		this.headers["cookie"] = this.cookie;
		let data = (await axios$1.get(`${this.api}/share/list?is_from_web=true&uk=${this.uk}&shareid=${this.shareid}&order=name&desc=0&showempty=0&view_mode=${this.view_mode}&web=1&page=1&num=100&dir=${encodeURIComponent(path)}&channel=${this.channel}&web=1&app_id=${this.app_id}`, { headers: this.headers })).data;
		if (data.errno === 0 && data.list.length > 0) {
			let dirs = [];
			let videos = [];
			data.list.map((item) => {
				if (item.category === "6" || item.category === 6) {
					dirs.push(item.path);
				}
				if (item.category === "1" || item.category === 1) {
					const fileName = item.server_filename || item.path.split("/").pop();
					videos.push({
						name: fileName,
						path: item.path.replaceAll("#", "\0"),
						uk: this.uk,
						shareid: this.shareid,
						fsid: item.fs_id || item.fsid
					});
				}
			});
			let result = await Promise.all(dirs.map(async (path) => this.getSharepath(path)));
			result = result.filter((item) => item !== undefined && item !== null);
			const processedResult = result.map((item) => {
				if (item.name && item.name.includes("/")) {
					item.name = item.name.split("/").pop();
				}
				return item;
			});
			return [...videos, ...processedResult.flat()];
		}
	}
	/**
	* 获取文件的播放链接（Web版）
	* @param {string} path - 文件路径
	* @param {string} uk - 用户标识
	* @param {string} shareid - 分享ID
	* @param {string} fsid - 文件ID
	* @returns {Promise<Array>} 不同清晰度的播放链接数组
	*/
	async getShareUrl(path, uk, shareid, fsid) {
		path = path.replaceAll("\0", "#");
		log("[baidu2][getShareUrl] path:", path);
		let sign = await this.getSign();
		let urls = [];
		let t = Math.floor(new Date() / 1e3);
		this.type.map((it) => {
			urls.push({
				name: it.replace("M3U8_AUTO_", ""),
				url: `${this.api}/share/streaming?channel=${this.channel}&uk=${uk}&fid=${fsid}&sign=${sign}&timestamp=${t}&shareid=${shareid}&type=${it}&vip=0&jsToken&isplayer=1&check_blue=1&adToken`
			});
		});
		return urls;
	}
	/**
	* 获取用户UID
	* @returns {Promise<string>} 用户UID
	*/
	async getUid() {
		let data = (await axios$1.get("https://mbd.baidu.com/userx/v1/info/get?appname=baiduboxapp&fields=%20%20%20%20%20%20%20%20%5B%22bg_image%22,%22member%22,%22uid%22,%22avatar%22,%20%22avatar_member%22%5D&client&clientfrom&lang=zh-cn&tpl&ttt", { headers: this.headers })).data;
		return data.data.fields.uid;
	}
	/**
	* SHA1哈希计算
	* @param {string} message - 待哈希的消息
	* @returns {string} SHA1哈希值
	*/
	sha1(message) {
		return CryptoJS.SHA1(message).toString(CryptoJS.enc.Hex);
	}
	/**
	* 获取文件的直链地址（App版）
	* @param {string} path - 文件路径
	* @param {string} uk - 用户标识
	* @param {string} shareid - 分享ID
	* @param {string} fsid - 文件ID
	* @returns {Promise<string>} 直链地址
	*/
	async getAppShareUrl(path, uk, shareid, fsid) {
		path = path.replaceAll("\0", "#");
		log("[baidu2][getAppShareUrl] path:", path);
		let BDCLND = await this.getRandsk();
		let uid = await this.getUid();
		let header = Object.assign({}, this.headers, { "User-Agent": "netdisk;P2SP;2.2.91.136;android-android;" });
		let devuid = "73CED981D0F186D12BC18CAE1684FFD5|VSRCQTF6W";
		let time = String(new Date().getTime());
		let rand = this.sha1(this.sha1(this.cookie.match(/BDUSS=(.+?);/)[1]) + uid + "ebrcUYiuxaZv2XGu7KIYKxUrqfnOfpDF" + time + devuid + "11.30.2ae5821440fab5e1a61a025f014bd8972");
		let url = this.api + "/share/list?shareid=" + shareid + "&uk=" + uk + "&fid=" + fsid + "&sekey=" + BDCLND + "&origin=dlna&devuid=" + devuid + "&clienttype=1&channel=android_12_zhao_bd-netdisk_1024266h&version=11.30.2&time=" + time + "&rand=" + rand;
		let data = (await axios$1.get(url, { headers: header })).data;
		if (data.errno === 0 && data.list.length > 0) {
			return data.list[0].dlink;
		}
	}
};
const Baidu2$1 = new BaiduDrive();

//#endregion
//#region ../utils/pan/cloud.js
/**
* 天翼云盘API处理模块
* 提供天翼云盘分享链接解析、文件下载、登录认证等功能
* 支持分享链接验证、文件列表获取、下载地址生成等操作
*/
/**
* 天翼云盘处理类
* 负责处理天翼云盘分享链接的解析、验证、文件操作等功能
*/
var CloudDrive = class {
	/**
	* 构造函数 - 初始化天翼云盘处理器
	*/
	constructor() {
		this.regex = /https:\/\/cloud\.189\.cn\/web\/share\?code=([^&]+)/;
		this.config = {
			clientId: "538135150693412",
			model: "KB2000",
			version: "9.0.6",
			pubKey: "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCZLyV4gHNDUGJMZoOcYauxmNEsKrc0TlLeBEVVIIQNzG4WqjimceOj5R9ETwDeeSN3yejAKLGHgx83lyy2wBjvnbfm/nLObyWwQD/09CmpZdxoFYCH6rdDjRpwZOZ2nXSZpgkZXoOBkfNXNxnN74aXtho2dqBynTw3NFTWyQl8BQIDAQAB"
		};
		this.headers = {
			"User-Agent": `Mozilla/5.0 (Linux; U; Android 11; ${this.config.model} Build/RP1A.201005.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.136 Mobile Safari/537.36 Ecloud/${this.config.version} Android/30 clientId/${this.config.clientId} clientModel/${this.config.model} clientChannelId/qq proVersion/1.0.6`,
			"Referer": "https://m.cloud.189.cn/zhuanti/2016/sign/index.jsp?albumBackupOpened=1",
			"Accept-Encoding": "gzip, deflate"
		};
		this.api = "https://cloud.189.cn/api", this.shareCode = "";
		this.accessCode = "";
		this.shareId = "";
		this.shareMode = "";
		this.isFolder = "";
		this.index = 0;
	}
	/**
	* 初始化方法，加载本地配置
	* 检查账号、密码、Cookie配置，如果Cookie不存在则自动登录
	*/
	async init() {
		if (this.account) {
			console.log("天翼账号获取成功：" + this.account);
		}
		if (this.password) {
			console.log("天翼密码获取成功：" + this.password);
		}
		if (this.cookie) {
			console.log("天翼cookie获取成功" + this.cookie);
		} else {
			ENV.set("cloud_cookie", await this.login(this.account, this.password));
		}
	}
	/**
	* 获取天翼云盘账号
	* @returns {string} 账号
	*/
	get account() {
		return ENV.get("cloud_account");
	}
	/**
	* 获取天翼云盘密码
	* @returns {string} 密码
	*/
	get password() {
		return ENV.get("cloud_password");
	}
	/**
	* 获取天翼云盘Cookie
	* @returns {string} Cookie字符串
	*/
	get cookie() {
		return ENV.get("cloud_cookie");
	}
	/**
	* 登录天翼云盘
	* @param {string} uname - 用户名
	* @param {string} passwd - 密码
	* @returns {Promise<string>} 登录后的Cookie
	*/
	async login(uname, passwd) {
		try {
			let resp = await axios$1.post("https://open.e.189.cn/api/logbox/config/encryptConf.do?appId=cloud");
			let pubKey = resp.data.data.pubKey;
			resp = await axios$1.get("https://cloud.189.cn/api/portal/loginUrl.action?redirectURL=https://cloud.189.cn/web/redirect.html?returnURL=/main.action");
			let Reqid = resp.request.path.match(/reqId=(\w+)/)[1];
			let Lt = resp.request.path.match(/lt=(\w+)/)[1];
			let tHeaders = {
				"Content-Type": "application/x-www-form-urlencoded",
				"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/76.0",
				"Referer": "https://open.e.189.cn/",
				Lt,
				Reqid
			};
			let data = {
				version: "2.0",
				appKey: "cloud"
			};
			resp = await axios$1.post("https://open.e.189.cn/api/logbox/oauth2/appConf.do", import_lib$2.default.stringify(data), { headers: tHeaders });
			let returnUrl = resp.data.data.returnUrl;
			let paramId = resp.data.data.paramId;
			const keyData = `-----BEGIN PUBLIC KEY-----\n${pubKey}\n-----END PUBLIC KEY-----`;
			const jsencrypt = new JSEncrypt();
			jsencrypt.setPublicKey(keyData);
			const enUname = Buffer.from(jsencrypt.encrypt(uname), "base64").toString("hex");
			const enPasswd = Buffer.from(jsencrypt.encrypt(passwd), "base64").toString("hex");
			data = {
				appKey: "cloud",
				version: "2.0",
				accountType: "01",
				mailSuffix: "@189.cn",
				validateCode: "",
				returnUrl,
				paramId,
				captchaToken: "",
				dynamicCheck: "FALSE",
				clientType: "1",
				cb_SaveName: "0",
				isOauth2: false,
				userName: `{NRP}${enUname}`,
				password: `{NRP}${enPasswd}`
			};
			resp = await axios$1.post("https://open.e.189.cn/api/logbox/oauth2/loginSubmit.do", import_lib$2.default.stringify(data), {
				headers: tHeaders,
				validateStatus: null
			});
			if (resp.data.toUrl) {
				let cookies = resp.headers["set-cookie"].map((it) => it.split(";")[0]).join(";");
				resp = await axios$1.get(resp.data.toUrl, {
					headers: {
						...this.headers,
						Cookie: cookies
					},
					maxRedirects: 0,
					validateStatus: null
				});
				cookies += "; " + resp.headers["set-cookie"].map((it) => it.split(";")[0]).join(";");
				ENV.set("cloud_cookie", cookies);
			} else {
				console.error("Error during login:", resp.data);
			}
		} catch (error) {
			console.error("Error during login:", error);
		}
	}
	/**
	* 解析分享链接获取分享ID
	* @param {string} url - 分享链接
	* @param {string} accessCode - 访问码
	*/
	async getShareID(url, accessCode) {
		const matches = this.regex.exec(url);
		if (matches && matches[1]) {
			this.shareCode = matches[1];
			const accessCodeMatch = this.shareCode.match(/访问码：([a-zA-Z0-9]+)/);
			this.accessCode = accessCodeMatch ? accessCodeMatch[1] : "";
		} else {
			const matches_ = url.match(/https:\/\/cloud\.189\.cn\/t\/([^&]+)/);
			this.shareCode = matches_ ? matches_[1] : null;
			const accessCodeMatch = this.shareCode.match(/访问码：([a-zA-Z0-9]+)/);
			this.accessCode = accessCodeMatch ? accessCodeMatch[1] : "";
		}
		if (accessCode) {
			this.accessCode = accessCode;
		}
	}
	/**
	* 获取分享数据
	* @param {string} shareUrl - 分享链接
	* @param {string} accessCode - 访问码
	* @returns {Promise<Array>} 文件数据数组
	*/
	async getShareData(shareUrl, accessCode) {
		let file = {};
		let fileData = [];
		let fileId = await this.getShareInfo(shareUrl, accessCode);
		if (fileId) {
			let fileList = await this.getShareList(fileId);
			if (fileList && Array.isArray(fileList)) {
				await Promise.all(fileList.map(async (item) => {
					if (!(item.name in file)) {
						file[item.name] = [];
					}
					let fileData = await this.getShareFile(item.id);
					if (fileData && fileData.length > 0) {
						file[item.name].push(...fileData);
					}
				}));
			} else {
				file["root"] = await this.getShareFile(fileId);
			}
		}
		for (let key in file) {
			if (file[key].length === 0) {
				delete file[key];
			}
		}
		if (Object.keys(file).length === 0) {
			file["root"] = await this.getShareFile(fileId);
			if (file["root"] && Array.isArray(file["root"])) {
				file["root"] = file["root"].filter((item) => item && Object.keys(item).length > 0);
			}
		}
		return file;
	}
	/**
	* 从文件名中提取数字
	* @param {string} name - 文件名
	* @returns {number|null} 提取的数字，没有则返回null
	*/
	extractNumber(name) {
		const match = name.match(/- (\d+)/);
		return match ? parseInt(match[1], 10) : null;
	}
	/**
	* 获取分享信息
	* @param {string} shareUrl - 分享链接
	* @param {string} accessCode - 访问码
	* @returns {Promise<string>} 文件ID
	*/
	async getShareInfo(shareUrl, accessCode) {
		if (shareUrl.startsWith("http")) {
			await this.getShareID(shareUrl, accessCode);
		} else {
			this.shareCode = shareUrl;
		}
		try {
			if (accessCode) {
				let check = await axios$1.get(`${this.api}/open/share/checkAccessCode.action?shareCode=${this.shareCode}&accessCode=${this.accessCode}`, { headers: {
					"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
					"accept": "application/json;charset=UTF-8",
					"accept-encoding": "gzip, deflate, br, zstd",
					"accept-language": "zh-CN,zh;q=0.9"
				} });
				if (check.status === 200) {
					this.shareId = check.data.shareId;
				}
				let resp = await axios$1.get(`${this.api}/open/share/getShareInfoByCodeV2.action?key=noCache&shareCode=${this.shareCode}`, { headers: {
					"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
					"accept": "application/json;charset=UTF-8",
					"accept-encoding": "gzip, deflate, br, zstd",
					"accept-language": "zh-CN,zh;q=0.9"
				} });
				let fileId = resp.data.fileId;
				this.shareMode = resp.data.shareMode;
				this.isFolder = resp.data.isFolder;
				return fileId;
			} else {
				let resp = await axios$1.get(`${this.api}/open/share/getShareInfoByCodeV2.action?key=noCache&shareCode=${this.shareCode}`, { headers: {
					"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
					"accept": "application/json;charset=UTF-8",
					"accept-encoding": "gzip, deflate, br, zstd",
					"accept-language": "zh-CN,zh;q=0.9"
				} });
				let fileId = resp.data.fileId;
				this.shareId = resp.data.shareId;
				this.shareMode = resp.data.shareMode;
				this.isFolder = resp.data.isFolder;
				return fileId;
			}
		} catch (error) {
			console.error("Error during getShareInfo:", error);
		}
	}
	/**
	* 获取分享文件夹列表
	* @param {string} fileId - 文件ID
	* @returns {Promise<Array|null>} 文件夹列表，失败时返回null
	*/
	async getShareList(fileId) {
		try {
			let videos = [];
			const headers = new Headers();
			headers.append("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36");
			headers.append("Accept", "application/json;charset=UTF-8");
			headers.append("Accept-Encoding", "gzip, deflate, br, zstd");
			const options = {
				method: "GET",
				headers
			};
			let resp = await _fetch(`${this.api}/open/share/listShareDir.action?key=noCache&pageNum=1&pageSize=120&fileId=${fileId}&shareDirFileId=${fileId}&isFolder=${this.isFolder}&shareId=${this.shareId}&shareMode=${this.shareMode}&iconOption=5&orderBy=filename&descending=false&accessCode=${this.accessCode}&noCache=${Math.random()}`, options);
			let json = JsonBig.parse(await resp.text());
			const data = json?.fileListAO;
			let folderList = data?.folderList;
			if (!folderList) {
				return null;
			}
			let names = folderList.map((item) => item.name);
			let ids = folderList.map((item) => item.id);
			if (folderList && folderList.length > 0) {
				names.forEach((name, index) => {
					videos.push({
						name,
						id: ids[index],
						type: "folder"
					});
				});
				let result = await Promise.all(ids.map(async (id) => this.getShareList(id)));
				result = result.filter((item) => item !== undefined && item !== null);
				return [...videos, ...result.flat()];
			}
		} catch (e) {
			console.log(e);
		}
	}
	/**
	* 获取分享文件列表
	* @param {string} fileId - 文件ID
	* @returns {Promise<Array|null>} 视频文件列表，失败时返回null
	*/
	async getShareFile(fileId) {
		try {
			const headers = new Headers();
			headers.append("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36");
			headers.append("Accept", "application/json;charset=UTF-8");
			headers.append("Accept-Encoding", "gzip, deflate, br, zstd");
			const options = {
				method: "GET",
				headers
			};
			let resp = await _fetch(`${this.api}/open/share/listShareDir.action?key=noCache&pageNum=1&pageSize=120&fileId=${fileId}&shareDirFileId=${fileId}&isFolder=${this.isFolder}&shareId=${this.shareId}&shareMode=${this.shareMode}&iconOption=5&orderBy=filename&descending=false&accessCode=${this.accessCode}&noCache=${Math.random()}`, options);
			let json = JsonBig.parse(await resp.text());
			let videos = [];
			const data = json?.fileListAO;
			let fileList = data?.fileList;
			if (!fileList) {
				return null;
			}
			let filename = fileList.map((item) => item.name);
			let ids = fileList.map((item) => item.id);
			let count = data.fileListSize;
			if (count >= 0) {
				for (let i = 0; i < count; i++) {
					if (fileList[i].mediaType === 3) {
						videos.push({
							name: filename[i],
							fileId: ids[i],
							shareId: this.shareId
						});
					}
				}
			}
			return videos;
		} catch (e) {
			console.log(e);
		}
	}
	/**
	* 获取分享文件的播放URL
	* @param {string} fileId - 文件ID
	* @param {string} shareId - 分享ID
	* @returns {Promise<string>} 播放链接
	*/
	async getShareUrl(fileId, shareId) {
		let headers = {
			"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
			"Accept": "application/json;charset=UTF-8",
			"Accept-Encoding": "gzip, deflate, br, zstd"
		};
		if (!this.cookie && this.account && this.password && this.index < 2) {
			console.log("正在登录，请稍等....");
			await this.login(this.account, this.password);
			console.log("登录成功,获取cookie成功");
		}
		headers["Cookie"] = this.cookie;
		try {
			let resp = await axios$1.get(`${this.api}/portal/getNewVlcVideoPlayUrl.action?shareId=${shareId}&dt=1&fileId=${fileId}&type=4&key=noCache`, { headers });
			let location = await axios$1.get(resp.data.normal.url, {
				maxRedirects: 0,
				validateStatus: function(status) {
					return status >= 200 && status < 400;
				}
			});
			let link = "";
			if (location.status >= 300 && location.status < 400 && location.headers.location) {
				link = location.headers.location;
			} else {
				link = resp.data.normal.url;
			}
			return link;
		} catch (error) {
			if (error.response && error.response.status === 400 && this.index < 2) {
				console.log("获取播放地址失败，错误信息为：" + error.response.data);
				console.log("cookie失效，正在重新获取cookie");
				ENV.set("cloud_cookie", "");
				this.index += 1;
				return await this.getShareUrl(fileId, shareId);
			} else {
				console.error("Error during getShareUrl:", error.message, error.response ? error.response.status : "N/A");
			}
		} finally {
			if (this.index >= 2) {
				this.index = 0;
			}
		}
	}
};
const Cloud$1 = new CloudDrive();

//#endregion
//#region ../libs_drpy/crypto-util.js
/**
* 加密解密工具库
* 提供Base64、MD5、RC4等加密解密功能
*/
/**
* 浏览器兼容的Base64编解码实现
* @returns {Object} 包含atob和btoa方法的对象
*/
function window_b64() {
	let b64map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
	let base64DecodeChars = new Array(-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1);
	/**
	* Base64编码
	* @param {string} str 待编码字符串
	* @returns {string} Base64编码结果
	*/
	function btoa(str) {
		var out, i, len;
		var c1, c2, c3;
		len = str.length;
		i = 0;
		out = "";
		while (i < len) {
			c1 = str.charCodeAt(i++) & 255;
			if (i == len) {
				out += b64map.charAt(c1 >> 2);
				out += b64map.charAt((c1 & 3) << 4);
				out += "==";
				break;
			}
			c2 = str.charCodeAt(i++);
			if (i == len) {
				out += b64map.charAt(c1 >> 2);
				out += b64map.charAt((c1 & 3) << 4 | (c2 & 240) >> 4);
				out += b64map.charAt((c2 & 15) << 2);
				out += "=";
				break;
			}
			c3 = str.charCodeAt(i++);
			out += b64map.charAt(c1 >> 2);
			out += b64map.charAt((c1 & 3) << 4 | (c2 & 240) >> 4);
			out += b64map.charAt((c2 & 15) << 2 | (c3 & 192) >> 6);
			out += b64map.charAt(c3 & 63);
		}
		return out;
	}
	/**
	* Base64解码
	* @param {string} str Base64编码字符串
	* @returns {string} 解码结果
	*/
	function atob(str) {
		var c1, c2, c3, c4;
		var i, len, out;
		len = str.length;
		i = 0;
		out = "";
		while (i < len) {
			do {
				c1 = base64DecodeChars[str.charCodeAt(i++) & 255];
			} while (i < len && c1 == -1);
			if (c1 == -1) break;
			do {
				c2 = base64DecodeChars[str.charCodeAt(i++) & 255];
			} while (i < len && c2 == -1);
			if (c2 == -1) break;
			out += String.fromCharCode(c1 << 2 | (c2 & 48) >> 4);
			do {
				c3 = str.charCodeAt(i++) & 255;
				if (c3 == 61) return out;
				c3 = base64DecodeChars[c3];
			} while (i < len && c3 == -1);
			if (c3 == -1) break;
			out += String.fromCharCode((c2 & 15) << 4 | (c3 & 60) >> 2);
			do {
				c4 = str.charCodeAt(i++) & 255;
				if (c4 == 61) return out;
				c4 = base64DecodeChars[c4];
			} while (i < len && c4 == -1);
			if (c4 == -1) break;
			out += String.fromCharCode((c3 & 3) << 6 | c4);
		}
		return out;
	}
	return {
		atob,
		btoa
	};
}
const { atob: atob$2, btoa: btoa$2 } = window_b64();
/**
* Base64编码（使用CryptoJS）
* @param {string} text 待编码文本
* @returns {string} Base64编码结果
*/
function base64Encode$1(text) {
	return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(text));
}
/**
* Base64解码（使用CryptoJS）
* @param {string} text Base64编码文本
* @returns {string} 解码结果
*/
function base64Decode$2(text) {
	return CryptoJS.enc.Utf8.stringify(CryptoJS.enc.Base64.parse(text));
}
/**
* MD5哈希
* @param {string} text 待哈希文本
* @returns {string} MD5哈希值
*/
function md5$1(text) {
	return CryptoJS.MD5(text).toString();
}
/**
* RC4加密
* @param {string} word 待加密内容
* @param {string} key 加密密钥
* @returns {string} 加密结果
*/
function rc4Encrypt(word, key) {
	return CryptoJS.RC4.encrypt(word, CryptoJS.enc.Utf8.parse(key)).toString();
}
/**
* RC4解密
* @param {string} word 待解密内容
* @param {string} key 解密密钥
* @returns {string} 解密结果
*/
function rc4Decrypt(word, key) {
	const ciphertext = CryptoJS.enc.Hex.parse(word);
	const key_data = CryptoJS.enc.Utf8.parse(key);
	const decrypted = CryptoJS.RC4.decrypt({ ciphertext }, key_data, {
		mode: CryptoJS.mode.ECB,
		padding: CryptoJS.pad.Pkcs7
	});
	return decrypted.toString(CryptoJS.enc.Utf8);
}
/**
* RC4解码（自定义实现）
* @param {string} data 待解码数据
* @param {string} key 密钥
* @param {number} t 类型标识
* @returns {string} 解码结果
*/
function rc4_decode(data, key, t) {
	let pwd = key || "ffsirllq";
	let cipher = "";
	key = [];
	let box = [];
	let pwd_length = pwd.length;
	if (t === 1) {
		data = atob$2(data);
	} else {
		data = encodeURIComponent(data);
	}
	let data_length = data.length;
	for (let i = 0; i < 256; i++) {
		key[i] = pwd[i % pwd_length].charCodeAt();
		box[i] = i;
	}
	for (let j = 0, i = 0; i < 256; i++) {
		j = (j + box[i] + key[i]) % 256;
		let tmp = box[i];
		box[i] = box[j];
		box[j] = tmp;
	}
	for (let a = 0, j = 0, i = 0; i < data_length; i++) {
		a = (a + 1) % 256;
		j = (j + box[a]) % 256;
		let tmp = box[a];
		box[a] = box[j];
		box[j] = tmp;
		let k = box[(box[a] + box[j]) % 256];
		cipher += String.fromCharCode(data[i].charCodeAt() ^ k);
	}
	if (t === 1) {
		return decodeURIComponent(cipher);
	} else {
		return btoa$2(cipher);
	}
}
/**
* 十六进制编解码工具
*/
const hex = {
	decode: function(val) {
		return Buffer.from(val, "hex").toString("utf-8");
	},
	encode: function(val) {
		return Buffer.from(val, "utf-8").toString("hex");
	}
};
/**
* 解析编码格式
* @param {string} value 值
* @param {string} encoding 编码格式
* @returns {Object} CryptoJS编码对象
*/
const parseEncode = function(value, encoding) {
	switch (encoding) {
		case "base64": return CryptoJS.enc.Base64.parse(value);
		case "hex": return CryptoJS.enc.Hex.parse(value);
		case "latin1": return CryptoJS.enc.Latin1.parse(value);
		case "utf8": return CryptoJS.enc.Utf8.parse(value);
		default: return CryptoJS.enc.Utf8.parse(value);
	}
};
/**
* 格式化编码输出
* @param {Object} value CryptoJS对象
* @param {string} encoding 编码格式
* @returns {string} 格式化结果
*/
const formatEncode = function(value, encoding) {
	switch (encoding.toLowerCase()) {
		case "base64": return value.toString();
		case "hex": return value.ciphertext.toString();
	}
};
/**
* 格式化解码输出
* @param {Object} value CryptoJS对象
* @param {string} encoding 编码格式
* @returns {string} 格式化结果
*/
const formatDecode = function(value, encoding) {
	switch (encoding.toLowerCase()) {
		case "utf8": return value.toString(CryptoJS.enc.Utf8);
		case "base64": return value.toString(CryptoJS.enc.Base64);
		case "hex": return value.toString(CryptoJS.enc.Hex);
		default: return value.toString(CryptoJS.enc.Utf8);
	}
};
/**
* 获取加密模式
* @param {string} mode 模式名称
* @returns {Object} CryptoJS模式对象
*/
const getMode = function(mode) {
	switch (mode.toLowerCase()) {
		case "cbc": return CryptoJS.mode.CBC;
		case "cfb": return CryptoJS.mode.CFB;
		case "ofb": return CryptoJS.mode.OFB;
		case "ctr": return CryptoJS.mode.CTR;
		case "ecb": return CryptoJS.mode.ECB;
		default: return CryptoJS.mode.CBC;
	}
};
/**
* 获取填充方式
* @param {string} padding 填充方式名称
* @returns {Object} CryptoJS填充对象
*/
const getPad = function(padding) {
	switch (padding.toLowerCase()) {
		case "zeropadding": return CryptoJS.pad.ZeroPadding;
		case "pkcs5padding":
		case "pkcs7padding": return CryptoJS.pad.Pkcs7;
		case "ansix923": return CryptoJS.pad.AnsiX923;
		case "iso10126": return CryptoJS.pad.Iso10126;
		case "iso97971": return CryptoJS.pad.Iso97971;
		case "nopadding": return CryptoJS.pad.NoPadding;
		default: return CryptoJS.pad.ZeroPadding;
	}
};
/**
* RC4加密解密工具
*/
const rc4 = {
	encode: function(val, key, encoding = "utf8", keyEncoding = "utf8", outputEncode = "base64") {
		if (!["base64", "hex"].includes(outputEncode.toLowerCase())) return "";
		if (!key || !val) return "";
		const plaintext = parseEncode(val, encoding);
		const v = parseEncode(key, keyEncoding);
		return formatEncode(CryptoJS.RC4.encrypt(plaintext, v), outputEncode);
	},
	decode: function(val, key, encoding = "utf8", keyEncoding = "utf8", outputEncode = "base64") {
		if (!["base64", "hex"].includes(encoding.toLowerCase())) return "";
		if (!key || !val) return "";
		const plaintext = parseEncode(val, encoding);
		const v = parseEncode(key, keyEncoding);
		return formatDecode(CryptoJS.RC4.toString(plaintext, v), outputEncode);
	}
};

//#endregion
//#region ../utils/pan/pan123.js
/**
* 123网盘API操作类
* 提供123网盘的文件分享、下载、播放等功能
*/
/**
* 123网盘操作类
* 支持文件分享链接解析、文件列表获取、下载链接生成等功能
*/
var Pan123 = class {
	constructor() {
		this.regex = /https:\/\/(www.123684.com|www.123865.com|www.123912.com|www.123pan.com|www.123pan.cn|www.123592.com)\/s\/([^\\/]+)/;
		this.api = "https://www.123684.com/b/api/share/";
		this.loginUrl = "https://login.123pan.com/api/user/sign_in";
		this.cate = "";
	}
	/**
	* 初始化方法，检查登录状态
	*/
	async init() {
		if (!this.auth) {
			try {
				await this.login();
			} catch (error) {
				console.error("登录失败:", error.message);
			}
		}
	}
	get passport() {
		return ENV.get("pan_passport");
	}
	get password() {
		return ENV.get("pan_password");
	}
	get auth() {
		return ENV.get("pan_auth");
	}
	/**
	* 登录方法
	*/
	async login() {
		let data = JSON.stringify({
			"passport": this.passport,
			"password": this.password,
			"remember": true
		});
		let config = {
			method: "POST",
			url: this.loginUrl,
			headers: {
				"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36",
				"Content-Type": "application/json",
				"App-Version": "43",
				"Referer": "https://login.123pan.com/centerlogin?redirect_url=https%3A%2F%2Fwww.123684.com&source_page=website"
			},
			data
		};
		let auth = (await axios$1.request(config)).data;
		ENV.set("pan_auth", auth.data.token);
	}
	/**
	* 解析分享链接，提取分享密钥和提取码
	* @param {string} url 分享链接
	* @returns {string|null} 分享密钥
	*/
	getShareData(url) {
		this.SharePwd = "";
		url = url.replace(/^`|`$/g, "");
		url = decodeURIComponent(url);
		if (url.indexOf("提取码") > 0 && url.indexOf("?") < 0) {
			url = url.replace(/提取码:|提取码|提取码：/g, "?");
		}
		if (url.indexOf("提取码") > 0 && url.indexOf("?") > 0) {
			url = url.replace(/提取码:|提取码|提取码：/g, "");
		}
		if (url.indexOf("：") > 0) {
			url = url.replace("：", "");
		}
		const matches = this.regex.exec(url);
		if (url.indexOf("?") > 0) {
			const queryString = url.split("?")[1];
			const pwdMatch = queryString.match(/pwd=([^&]+)/i);
			if (pwdMatch && pwdMatch[1]) {
				this.SharePwd = pwdMatch[1];
			}
		}
		if (matches) {
			let shareKey = "";
			if (matches[2].indexOf("?") > 0) {
				shareKey = matches[2].split("?")[0];
			} else if (matches[2].indexOf("html") > 0) {
				shareKey = matches[2].replace(".html", "");
			} else {
				shareKey = matches[2].match(/www/g) ? matches[1] : matches[2];
			}
			return shareKey;
		}
		return null;
	}
	/**
	* 根据分享链接获取文件列表
	* @param {string} shareKey 分享密钥
	* @returns {Object} 文件列表对象
	*/
	async getFilesByShareUrl(shareKey) {
		let file = {};
		try {
			let videos = await this.getShareInfo(shareKey, this.SharePwd, 0, 0);
			if (videos && Array.isArray(videos)) {
				videos.forEach((video) => {
					if (video.Category === 2) {
						if (!(video.FileName in file)) {
							file[video.FileName] = [];
						}
						file[video.FileName].push(video);
					}
				});
			}
		} catch (error) {
			console.error("获取文件列表失败:", error.message);
		}
		return file;
	}
	/**
	* 获取分享信息
	* @param {string} shareKey 分享密钥
	* @param {string} SharePwd 分享密码
	* @param {number} next 下一页标识
	* @param {number} ParentFileId 父文件夹ID
	* @returns {Array} 分类信息数组
	*/
	async getShareInfo(shareKey, SharePwd, next, ParentFileId) {
		let cate = [];
		try {
			const apiUrl = this.api + `get?limit=100&next=${next}&orderBy=file_name&orderDirection=asc&shareKey=${shareKey.trim()}&SharePwd=${SharePwd || ""}&ParentFileId=${ParentFileId}&Page=1`;
			let list = await axios$1.get(apiUrl, { headers: {} });
			if (list.status === 200 && list.data.code === 0) {
				let info = list.data.data;
				let next = info.Next;
				let infoList = info.InfoList;
				let folders = infoList.filter((item) => item.Category === 0);
				let videos = infoList.filter((item) => item.Category === 2);
				if (videos.length > 0) {
					cate.push(...videos);
				}
				if (folders.length > 0) {
					for (let item of folders) {
						let subCate = await this.getShareInfo(shareKey, SharePwd, 0, item.FileId);
						if (subCate && subCate.length > 0) {
							cate.push(...subCate);
						}
					}
				}
			}
		} catch (error) {
			console.error("获取分享信息失败:", error.message);
		}
		return cate;
	}
	/**
	* 获取分享文件列表
	* @param {string} shareKey 分享密钥
	* @param {string} SharePwd 分享密码
	* @param {number} next 下一页标识
	* @param {number} ParentFileId 父文件夹ID
	* @returns {Array} 视频文件列表
	*/
	async getShareList(shareKey, SharePwd, next, ParentFileId) {
		let video = [];
		try {
			let link = this.api + `get?limit=100&next=${next}&orderBy=file_name&orderDirection=asc&shareKey=${shareKey.trim()}&SharePwd=${SharePwd || ""}&ParentFileId=${ParentFileId}&Page=1`;
			let infoList = (await axios$1.request({
				method: "get",
				url: link,
				headers: {}
			})).data;
			if (infoList.code === 0 && infoList.data) {
				infoList.data.InfoList.forEach((it) => {
					if (it.Category === 2) {
						video.push({
							ShareKey: shareKey,
							FileId: it.FileId,
							S3KeyFlag: it.S3KeyFlag,
							Size: it.Size,
							Etag: it.Etag,
							FileName: it.FileName
						});
					}
				});
			}
		} catch (error) {
			console.error("获取分享文件列表失败:", error.message);
		}
		return video;
	}
	/**
	* 获取文件下载链接
	* @param {string} shareKey 分享密钥
	* @param {string} FileId 文件ID
	* @param {string} S3KeyFlag S3密钥标识
	* @param {number} Size 文件大小
	* @param {string} Etag 文件标签
	* @returns {string} 解码后的下载链接
	*/
	async getDownload(shareKey, FileId, S3KeyFlag, Size, Etag) {
		try {
			await this.init();
			let data = JSON.stringify({
				"ShareKey": shareKey,
				"FileID": FileId,
				"S3KeyFlag": S3KeyFlag,
				"Size": Size,
				"Etag": Etag
			});
			let config = {
				method: "POST",
				url: `${this.api}download/info`,
				headers: {
					"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36",
					"Authorization": `Bearer ${this.auth}`,
					"Content-Type": "application/json;charset=UTF-8",
					"platform": "android"
				},
				data
			};
			let response = await axios$1.request(config);
			if (response.data && response.data.code === 0 && response.data.data && response.data.data.DownloadURL) {
				let down = response.data.data;
				let downloadUrl = down.DownloadURL;
				let url = new URL(downloadUrl);
				let params = url.searchParams.get("params");
				if (params) {
					let decodedUrl = base64Decode$2(params);
					return decodedUrl;
				} else {
					console.error("下载链接缺少params参数");
					return downloadUrl;
				}
			} else {
				console.error("获取下载链接失败:", response.data.message || "未知错误");
				return "";
			}
		} catch (error) {
			console.error("获取下载链接失败:", error.message);
			return "";
		}
	}
	/**
	* 获取视频在线播放链接
	* @param {string} shareKey 分享密钥
	* @param {string} FileId 文件ID
	* @param {string} S3KeyFlag S3密钥标识
	* @param {number} Size 文件大小
	* @param {string} Etag 文件标签
	* @returns {Array} 不同清晰度的播放链接数组
	*/
	async getLiveTranscoding(shareKey, FileId, S3KeyFlag, Size, Etag) {
		try {
			await this.init();
			let config = {
				method: "GET",
				url: `https://www.123684.com/b/api/video/play/info`,
				headers: {
					"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36",
					"Authorization": `Bearer ${this.auth}`,
					"Content-Type": "application/json;charset=UTF-8",
					"platform": "android"
				},
				params: {
					"etag": Etag,
					"size": Size,
					"from": "1",
					"shareKey": shareKey
				}
			};
			let down = (await axios$1.request(config)).data.data;
			if (down?.video_play_info) {
				let videoinfo = [];
				down.video_play_info.forEach((item) => {
					if (item.url !== "") {
						videoinfo.push({
							name: item.resolution,
							url: item.url
						});
					}
				});
				return videoinfo;
			}
		} catch (error) {
			console.error("获取视频播放链接失败:", error.message);
		}
		return [];
	}
};
const Pan$1 = new Pan123();

//#endregion
//#region ../utils/pan/quark.js
/**
* 夸克网盘处理工具
*
* 提供夸克网盘分享链接解析、文件下载、流媒体播放等功能。
* 支持分享链接解析、文件保存、直播转码、下载链接获取等核心功能。
*
* 主要功能：
* - 分享链接解析和文件列表获取
* - 文件保存到个人网盘
* - 直播转码和流媒体播放
* - 文件下载链接获取
* - 缓存管理和性能优化
* - Cookie管理和自动刷新
*
* @module QuarkPanHandler
* @author drpy-node
* @since 1.0.0
*/
/**
* 夸克网盘处理类
*
* 负责处理夸克网盘的各种操作，包括分享链接解析、文件管理、
* 流媒体播放、下载管理等功能。提供完整的夸克网盘API封装。
*/
var QuarkHandler = class {
	/**
	* 构造函数 - 初始化夸克网盘处理器
	*
	* 设置基础配置参数，包括正则表达式、请求头、API地址、
	* 缓存配置等，为后续操作做准备。
	*/
	constructor() {
		this.regex = /https:\/\/pan\.quark\.cn\/s\/([^\\|#/]+)/;
		this.pr = "pr=ucpro&fr=pc";
		this.baseHeader = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) quark-cloud-drive/2.5.20 Chrome/100.0.4896.160 Electron/18.3.5.4-b478491100 Safari/537.36 Channel/pckk_other_ch" };
		this.apiUrl = "https://drive.quark.cn/1/clouddrive/";
		this.shareTokenCache = {};
		this.saveDirName = "drpy";
		this.saveDirId = null;
		this.saveFileIdCaches = {};
		this.currentUrlKey = "";
		this.cacheRoot = (process.env["NODE_PATH"] || ".") + "/quark_cache";
		this.maxCache = 1024 * 1024 * 100;
		this.urlHeadCache = {};
		this.subtitleExts = [
			".srt",
			".ass",
			".scc",
			".stl",
			".ttml"
		];
		this.Addition = {
			DeviceID: "07b48aaba8a739356ab8107b5e230ad4",
			RefreshToken: "",
			AccessToken: ""
		};
		this.conf = {
			api: "https://open-api-drive.quark.cn",
			clientID: "d3194e61504e493eb6222857bccfed94",
			signKey: "kw2dvtd7p4t3pjl2d9ed9yc8yej8kw2d",
			appVer: "1.5.6",
			channel: "CP",
			codeApi: "http://api.extscreen.com/quarkdrive"
		};
		this.kps = "NxQ13h6xO+srjtg98zsBmBMiZYG5yoeQBagvGixF6strBgga/RFopKJ/JRU6m1qL7fCOKeFjN6mlncmiOeatqbLwr/kIDL5mcjNRrng77L+C2g==";
		this.sign = "NxS+yB3C0pETYcW9/akZBsfpGMFqroV9vyldW4JNALZ4PRZdzquI1Fw9xCdpg3e2ZsQ=";
		this.vcode = "1759625776303";
	}
	/**
	* 获取Cookie - 使用 getter 定义动态属性
	*
	* 从环境变量中获取夸克网盘的Cookie信息，用于API认证。
	*
	* @returns {string} 夸克网盘Cookie字符串
	*/
	get cookie() {
		return ENV.get("quark_cookie");
	}
	get token() {
		return ENV.get("quark_token_cookie");
	}
	/**
	* 解析分享链接数据
	*
	* 从夸克网盘分享链接中提取分享ID和文件夹ID等关键信息。
	* 支持带参数的链接解析，自动过滤查询参数。
	*
	* @param {string} url - 夸克网盘分享链接
	* @returns {Object|null} 分享数据对象
	* @returns {string} returns.shareId - 分享链接的唯一标识符
	* @returns {string} returns.folderId - 文件夹ID（默认为根目录'0'）
	*
	* @example
	* const shareData = getShareData('https://pan.quark.cn/s/abc123def456');
	* // 返回: { shareId: 'abc123def456', folderId: '0' }
	*/
	getShareData(url) {
		let matches = this.regex.exec(url);
		if (matches.indexOf("?") > 0) {
			matches = matches.split("?")[0];
		}
		if (matches) {
			return {
				shareId: matches[1],
				folderId: "0"
			};
		}
		return null;
	}
	/**
	* 初始化夸克网盘
	*
	* 初始化夸克网盘处理器，检查Cookie有效性并进行必要的配置。
	*
	* @param {Object} db - 数据库对象（用于存储配置和缓存）
	* @param {Object} cfg - 配置对象（包含各种设置参数）
	* @returns {Promise<void>}
	*/
	async initQuark() {
		if (this.token) {
			let exp = JSON.parse(import_crypto_js.default.enc.Base64.parse(this.token.split(".")[1]).toString(import_crypto_js.default.enc.Utf8));
			let now = Math.floor(Date.now() / 1e3);
			if (exp.exp < now) {
				console.log("登录状态已过期,重新登录,请及时更换Token");
			} else {
				console.log("登录成功，继续使用,可使用时间截止到：" + new Date(exp.exp * 1e3).toLocaleString());
				console.log("QuarkTV token获取成功：" + this.token);
			}
		}
		if (this.cookie) {
			console.log("cookie 获取成功");
		} else {
			console.log("cookie 获取失败");
		}
	}
	/**
	* 最长公共子序列算法（LCS）
	*
	* 计算两个字符串之间的最长公共子序列，用于文件名匹配和相似度计算。
	* 采用动态规划算法实现，时间复杂度为O(m*n)。
	*
	* @param {string} str1 - 第一个字符串
	* @param {string} str2 - 第二个字符串
	* @returns {Object} LCS结果对象
	* @returns {number} returns.length - 最长公共子序列的长度
	* @returns {string} returns.sequence - 最长公共子序列的内容
	* @returns {number} returns.offset - 子序列在第一个字符串中的起始位置
	*
	* @example
	* const result = lcs('hello world', 'hello earth');
	* // 返回: { length: 7, sequence: 'hello ', offset: 0 }
	*/
	lcs(str1, str2) {
		if (!str1 || !str2) {
			return {
				length: 0,
				sequence: "",
				offset: 0
			};
		}
		var sequence = "";
		var str1Length = str1.length;
		var str2Length = str2.length;
		var num = new Array(str1Length);
		var maxlen = 0;
		var lastSubsBegin = 0;
		for (var i = 0; i < str1Length; i++) {
			var subArray = new Array(str2Length);
			for (var j = 0; j < str2Length; j++) {
				subArray[j] = 0;
			}
			num[i] = subArray;
		}
		var thisSubsBegin = null;
		for (i = 0; i < str1Length; i++) {
			for (j = 0; j < str2Length; j++) {
				if (str1[i] !== str2[j]) {
					num[i][j] = 0;
				} else {
					if (i === 0 || j === 0) {
						num[i][j] = 1;
					} else {
						num[i][j] = 1 + num[i - 1][j - 1];
					}
					if (num[i][j] > maxlen) {
						maxlen = num[i][j];
						thisSubsBegin = i - num[i][j] + 1;
						if (lastSubsBegin === thisSubsBegin) {
							sequence += str1[i];
						} else {
							lastSubsBegin = thisSubsBegin;
							sequence = "";
							sequence += str1.substr(lastSubsBegin, i + 1 - lastSubsBegin);
						}
					}
				}
			}
		}
		return {
			length: maxlen,
			sequence,
			offset: thisSubsBegin
		};
	}
	/**
	* 查找最佳LCS匹配
	*
	* 在目标项目数组中查找与主要项目最相似的项目，
	* 基于最长公共子序列算法计算相似度。
	*
	* @param {Object} mainItem - 主要项目对象
	* @param {string} mainItem.name - 主要项目的名称
	* @param {Array} targetItems - 目标项目数组
	* @param {string} targetItems[].name - 目标项目的名称
	* @returns {Object} 最佳匹配结果
	* @returns {Array} returns.allLCS - 所有LCS计算结果
	* @returns {Object} returns.bestMatch - 最佳匹配项目
	* @returns {number} returns.bestMatchIndex - 最佳匹配项目的索引
	*
	* @example
	* const mainItem = { name: 'movie.mp4' };
	* const targetItems = [
	*   { name: 'movie_hd.mp4' },
	*   { name: 'film.avi' },
	*   { name: 'movie.mkv' }
	* ];
	* const result = findBestLCS(mainItem, targetItems);
	*/
	findBestLCS(mainItem, targetItems) {
		const results = [];
		let bestMatchIndex = 0;
		for (let i = 0; i < targetItems.length; i++) {
			const currentLCS = this.lcs(mainItem.name, targetItems[i].name);
			results.push({
				target: targetItems[i],
				lcs: currentLCS
			});
			if (currentLCS.length > results[bestMatchIndex].lcs.length) {
				bestMatchIndex = i;
			}
		}
		const bestMatch = results[bestMatchIndex];
		return {
			allLCS: results,
			bestMatch,
			bestMatchIndex
		};
	}
	/**
	* 延时函数
	*
	* 创建一个Promise，在指定毫秒数后resolve，用于控制请求频率。
	*
	* @param {number} ms - 延时毫秒数
	* @returns {Promise<void>} 延时Promise
	*
	* @example
	* await delay(1000); // 延时1秒
	*/
	delay(ms) {
		return new Promise((resolve) => setTimeout(resolve, ms));
	}
	/**
	* API请求方法
	*
	* 统一的API请求处理方法，支持GET和POST请求，自动处理Cookie更新、
	* 错误重试、429限流等情况。提供完整的请求封装和错误处理机制。
	*
	* @param {string} url - API端点URL（相对于apiUrl）
	* @param {Object} data - 请求数据（POST请求的body）
	* @param {Object} headers - 自定义请求头
	* @param {string} method - 请求方法（'get'或'post'，默认'post'）
	* @param {number} retry - 重试次数（默认3次）
	* @returns {Promise<Object>} API响应数据
	*
	* @example
	* const result = await api('file/sort', {}, {}, 'get', 3);
	*/
	async api(url, data, headers, method, retry) {
		let cookie = this.cookie || "";
		headers = headers || {};
		Object.assign(headers, this.baseHeader);
		Object.assign(headers, { Cookie: cookie });
		method = method || "post";
		let link = `${this.apiUrl}/${url}`;
		const resp = method === "get" ? await req$1.get(link, { headers }).catch((err) => {
			console.error(err.message);
			return err.response || {
				status: 500,
				data: {}
			};
		}) : await req$1.post(link, data, { headers }).catch((err) => {
			console.error(err.message);
			return err.response || {
				status: 500,
				data: {}
			};
		});
		const leftRetry = retry || 3;
		if (resp.headers?.["set-cookie"]) {
			const puus = resp.headers["set-cookie"].join(";;;").match(/__puus=([^;]+)/);
			if (puus) {
				if (cookie.match(/__puus=([^;]+)/)[1] !== puus[1]) {
					cookie = cookie.replace(/__puus=[^;]+/, `__puus=${puus[1]}`);
					console.log("[quark] api:更新cookie:", cookie);
					ENV.set("quark_cookie", cookie);
				}
			}
		}
		if (resp.status === 429 && leftRetry > 0) {
			await this.delay(1e3);
			return await this.api(url, data, headers, method, leftRetry - 1);
		}
		return resp.data || {};
	}
	/**
	* 清空保存目录
	*
	* 删除保存目录中的所有文件，用于清理临时文件或重新开始保存操作。
	* 会获取目录下所有文件列表并批量删除。
	*
	* @returns {Promise<void>}
	*
	* @example
	* await clearSaveDir(); // 清空drpy保存目录
	*/
	async clearSaveDir() {
		const listData = await this.api(`file/sort?${this.pr}&pdir_fid=${this.saveDirId}&_page=1&_size=200&_sort=file_type:asc,updated_at:desc`, {}, {}, "get");
		if (listData.data && listData.data.list && listData.data.list.length > 0) {
			const del = await this.api(`file/delete?${this.pr}`, {
				action_type: 2,
				filelist: listData.data.list.map((v) => v.fid),
				exclude_fids: []
			});
		}
	}
	/**
	* 创建保存目录
	*
	* 在用户网盘根目录下创建或获取保存目录（默认名称为'drpy'），
	* 用于存储从分享链接保存的文件。如果目录已存在则直接使用。
	*
	* @param {boolean} clean - 是否清空现有目录内容
	* @returns {Promise<void>}
	*
	* @example
	* await createSaveDir(true); // 创建并清空保存目录
	*/
	async createSaveDir(clean) {
		if (this.saveDirId) {
			if (clean) await this.clearSaveDir();
			return;
		}
		const listData = await this.api(`file/sort?${this.pr}&pdir_fid=0&_page=1&_size=200&_sort=file_type:asc,updated_at:desc`, {}, {}, "get");
		if (listData.data && listData.data.list) for (const item of listData.data.list) {
			if (item.file_name === this.saveDirName) {
				this.saveDirId = item.fid;
				await this.clearSaveDir();
				break;
			}
		}
		if (!this.saveDirId) {
			const create = await this.api(`file?${this.pr}`, {
				pdir_fid: "0",
				file_name: this.saveDirName,
				dir_path: "",
				dir_init_lock: false
			});
			console.log(create);
			if (create.data && create.data.fid) {
				this.saveDirId = create.data.fid;
			}
		}
	}
	/**
	* 获取分享令牌
	*
	* 获取访问分享链接所需的令牌（stoken），用于后续的文件操作。
	* 令牌会被缓存以避免重复请求，提高性能。
	*
	* @param {Object} shareData - 分享数据对象
	* @param {string} shareData.shareId - 分享链接ID
	* @param {string} [shareData.sharePwd] - 分享密码（可选）
	* @returns {Promise<void>}
	*
	* @example
	* await getShareToken({ shareId: 'abc123', sharePwd: '1234' });
	*/
	async getShareToken(shareData) {
		if (!this.shareTokenCache[shareData.shareId]) {
			delete this.shareTokenCache[shareData.shareId];
			const shareToken = await this.api(`share/sharepage/token?${this.pr}`, {
				pwd_id: shareData.shareId,
				passcode: shareData.sharePwd || ""
			});
			if (shareToken.data && shareToken.data.stoken) {
				this.shareTokenCache[shareData.shareId] = shareToken.data;
			}
		}
	}
	/**
	* 通过分享链接获取文件列表
	*
	* 解析分享链接并获取其中的视频文件和字幕文件列表。
	* 支持递归遍历子目录，自动匹配视频文件对应的字幕文件。
	*
	* @param {string|Object} shareInfo - 分享链接URL或分享数据对象
	* @returns {Promise<Array>} 视频文件列表，包含匹配的字幕信息
	*
	* @example
	* const files = await getFilesByShareUrl('https://pan.quark.cn/s/abc123');
	* // 返回: [{ name: 'movie.mp4', subtitle: { name: 'movie.srt' }, ... }]
	*/
	async getFilesByShareUrl(shareInfo) {
		const shareData = typeof shareInfo === "string" ? this.getShareData(shareInfo) : shareInfo;
		if (!shareData) return [];
		await this.getShareToken(shareData);
		if (!this.shareTokenCache[shareData.shareId]) return [];
		const videos = [];
		const subtitles = [];
		/**
		* 递归获取文件列表
		*
		* @param {string} shareId - 分享ID
		* @param {string} folderId - 文件夹ID
		* @param {number} page - 页码
		* @returns {Promise<Array>} 文件列表
		*/
		const listFile = async (shareId, folderId, page) => {
			const prePage = 200;
			page = page || 1;
			const listData = await this.api(`share/sharepage/detail?${this.pr}&pwd_id=${shareId}&stoken=${encodeURIComponent(this.shareTokenCache[shareId].stoken)}&pdir_fid=${folderId}&force=0&_page=${page}&_size=${prePage}&_sort=file_type:asc,file_name:asc`, {}, {}, "get");
			if (!listData.data) return [];
			const items = listData.data.list;
			if (!items) return [];
			const subDir = [];
			for (const item of items) {
				if (item.dir === true) {
					subDir.push(item);
				} else if (item.file === true && item?.video_height) {
					let text = /[#|'"\[\]&<>]/g;
					if (item.size < 1024 * 1024 * 5) continue;
					item.stoken = this.shareTokenCache[shareData.shareId].stoken;
					item.file_name = text.test(item.file_name) ? item.file_name.replace(text, "") : item.file_name;
					videos.push(item);
				} else if (item.type === "file" && this.subtitleExts.some((x) => item.file_name.endsWith(x))) {
					subtitles.push(item);
				}
			}
			if (page < Math.ceil(listData.metadata._total / prePage)) {
				const nextItems = await listFile(shareId, folderId, page + 1);
				for (const item of nextItems) {
					items.push(item);
				}
			}
			for (const dir of subDir) {
				const subItems = await listFile(shareId, dir.fid);
				for (const item of subItems) {
					items.push(item);
				}
			}
			return items;
		};
		await listFile(shareData.shareId, shareData.folderId);
		if (subtitles.length > 0) {
			videos.forEach((item) => {
				var matchSubtitle = this.findBestLCS(item, subtitles);
				if (matchSubtitle.bestMatch) {
					item.subtitle = matchSubtitle.bestMatch.target;
				}
			});
		}
		return videos;
	}
	/**
	* 保存文件到个人网盘
	*
	* 将分享链接中的文件保存到个人网盘的指定目录中。
	* 支持批量保存和任务状态跟踪，确保文件成功保存。
	*
	* @param {string} shareId - 分享链接ID
	* @param {string} stoken - 分享令牌
	* @param {string} fileId - 文件ID
	* @param {string} fileToken - 文件令牌
	* @param {boolean} clean - 是否清空保存目录
	* @returns {Promise<string|boolean|null>} 保存后的文件ID或保存状态
	*
	* @example
	* const savedFileId = await save('shareId', 'stoken', 'fileId', 'fileToken', false);
	*/
	async save(shareId, stoken, fileId, fileToken, clean) {
		await this.createSaveDir(clean);
		if (clean) {
			const saves = Object.keys(this.saveFileIdCaches);
			for (const save of saves) {
				delete this.saveFileIdCaches[save];
			}
		}
		if (!this.saveDirId) return null;
		if (!stoken) {
			await this.getShareToken({ shareId });
			if (!this.shareTokenCache[shareId]) return null;
		}
		const saveResult = await this.api(`share/sharepage/save?${this.pr}`, {
			fid_list: [fileId],
			fid_token_list: [fileToken],
			to_pdir_fid: this.saveDirId,
			pwd_id: shareId,
			stoken: stoken || this.shareTokenCache[shareId].stoken,
			pdir_fid: "0",
			scene: "link"
		});
		if (saveResult.data && saveResult.data.task_id) {
			if (saveResult.data.task_resp.data.save_as.save_as_top_fids.length > 0) {
				return saveResult.data.task_resp.data.save_as.save_as_top_fids[0];
			} else {
				let retry = 0;
				while (true) {
					const taskResult = await this.api(`task?${this.pr}&task_id=${saveResult.data.task_id}&retry_index=${retry}`, {}, {}, "get");
					if (taskResult.data && taskResult.data.save_as && taskResult.data.save_as.save_as_top_fids && taskResult.data.save_as.save_as_top_fids.length > 0) {
						return taskResult.data.save_as.save_as_top_fids[0];
					}
					retry++;
					if (retry > 5) break;
					await this.delay(1e3);
				}
			}
		}
		return true;
	}
	/**
	* 刷新夸克Cookie
	*
	* 自动刷新夸克网盘的Cookie以保持登录状态有效性。
	* 通过发送测试请求获取新的Cookie信息并更新到环境变量中。
	*
	* @param {string} from - 调用来源标识（用于日志记录）
	* @returns {Promise<void>}
	*
	* @example
	* await refreshQuarkCookie('定时任务');
	*/
	async refreshQuarkCookie(from = "") {
		const nowCookie = this.cookie;
		const cookieSelfRes = await axios({
			url: "https://drive-pc.quark.cn/1/clouddrive/file/sort?pr=ucpro&fr=pc&uc_param_str=&pdir_fid=0&_page=1&_size=50&_fetch_total=1&_fetch_sub_dirs=0&_sort=file_type:asc,updated_at:desc",
			method: "GET",
			headers: {
				"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) quark-cloud-drive/2.5.20 Chrome/100.0.4896.160 Electron/18.3.5.4-b478491100 Safari/537.36 Channel/pckk_other_ch",
				Origin: "https://pan.quark.cn",
				Referer: "https://pan.quark.cn/",
				Cookie: nowCookie
			}
		});
		const cookieResDataSelf = cookieSelfRes.headers;
		const resCookie = cookieResDataSelf["set-cookie"];
		if (!resCookie) {
			console.log(`${from}自动更新夸克 cookie: 没返回新的cookie`);
			return;
		}
		const cookieObject = COOKIE.parse(resCookie);
		if (cookieObject.__puus) {
			const oldCookie = COOKIE.parse(nowCookie);
			const newCookie = COOKIE.stringify({
				__pus: oldCookie.__pus,
				__puus: cookieObject.__puus
			});
			console.log(`${from}自动更新夸克 cookie: ${newCookie}`);
			ENV.set("quark_cookie", newCookie);
		}
	}
	async getLiveTranscoding(shareId, stoken, fileId, fileToken) {
		if (!this.saveFileIdCaches[fileId]) {
			const saveFileId = await this.save(shareId, stoken, fileId, fileToken, true);
			if (!saveFileId) return null;
			this.saveFileIdCaches[fileId] = saveFileId;
		}
		const transcoding = await this.api(`file/v2/play?${this.pr}`, {
			fid: this.saveFileIdCaches[fileId],
			resolutions: "normal,low,high,super,2k,4k",
			supports: "fmp4"
		});
		if (transcoding.data && transcoding.data.video_list) {
			const low_url = transcoding.data.video_list.slice(-1)[0].video_info.url;
			const low_cookie = this.cookie;
			const low_headers = {
				"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
				"origin": "https://pan.quark.cn",
				"referer": "https://pan.quark.cn/",
				"Cookie": low_cookie
			};
			const test_result = await this.testSupport(low_url, low_headers);
			if (!test_result[0]) {
				try {
					await this.refreshQuarkCookie("getLiveTranscoding");
				} catch (e) {
					console.log(`getLiveTranscoding:自动刷新夸克cookie失败:${e.message}`);
					console.error(e);
				}
			}
			return transcoding.data.video_list;
		}
		return null;
	}
	generateDeviceID(timestamp) {
		return import_crypto_js.default.MD5(timestamp).toString().slice(0, 16);
	}
	generateReqId(deviceID, timestamp) {
		return import_crypto_js.default.MD5(deviceID + timestamp).toString().slice(0, 16);
	}
	generateXPanToken(method, pathname, timestamp, key) {
		const data = method + "&" + pathname + "&" + timestamp + "&" + key;
		return import_crypto_js.default.SHA256(data).toString();
	}
	async refreshToken() {
		let data = JSON.stringify({
			"req_id": reqId,
			"app_ver": this.conf.appVer,
			"device_id": deviceID,
			"device_brand": "OPPO",
			"platform": "tv",
			"device_name": "PCRT00",
			"device_model": "PCRT00",
			"build_device": "aosp",
			"build_product": "PCRT00",
			"device_gpu": "Adreno%20(TM)%20640",
			"activity_rect": "%7B%7D",
			"channel": this.conf.channel,
			"refresh_token": this.token
		});
		let config = {
			method: "POST",
			url: "http://api.extscreen.com/quarkdrive",
			headers: {
				"User-Agent": "Mozilla/5.0 (Linux; U; Android 7.1.2; zh-cn; PCRT00 Build/N2G47O) AppleWebKit/533.1 (KHTML, like Gecko) Mobile Safari/533.1",
				"Connection": "Keep-Alive",
				"Accept-Encoding": "gzip",
				"Content-Type": "application/json",
				"Cookie": "sl-session=VIaxTAKF8mdJBhU2uda0zA=="
			},
			data
		};
		let req = await axios.request(config);
		if (req.status === 200) {
			ENV.set("uc_token_cookie", req.data.data.refresh_token);
			return await this.getDownload(shareId, stoken, fileId, fileToken, clean);
		}
	}
	async getDownload(shareId, stoken, fileId, fileToken, clean) {
		await this.initQuark();
		if (!this.saveFileIdCaches[fileId]) {
			const saveFileId = await this.save(shareId, stoken, fileId, fileToken, clean);
			if (!saveFileId) return null;
			this.saveFileIdCaches[fileId] = saveFileId;
		}
		let fr = "pr=ucpro&fr=pc&sys=win32";
		let video = [];
		let conversation_id = "300000103982583563";
		let header = {
			"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 QuarkPC/4.5.5.535 quark-cloud-drive/2.5.40 Channel/pckk_other_ch",
			"Accept": "application/json, text/plain, */*",
			"Accept-Encoding": "gzip, deflate, br, zstd",
			"Content-Type": "application/json",
			"Cookie": this.cookie
		};
		let data = {
			"conversations": [{
				"merge_file": 0,
				"conversation_id": conversation_id,
				"conversation_type": 3,
				"file_list": [{
					"fid": this.saveFileIdCaches[fileId],
					"client_extra": { "local_msg_id": "b9b42b73-132e-4c71-ad88-e78cb8cc15a5" }
				}]
			}],
			"return_msg_as_list": 1
		};
		let shareData = (await axios.post(`https://drive-social-api.quark.cn/1/clouddrive/chat/conv/msg/batch_send?${fr}`, data, { headers: header })).data;
		if (shareData.data.send_msg_list.length > 0) {
			let store_msg_id = shareData.data.send_msg_list[0].store_msg_id;
			let data = JSON.stringify({
				"conversation_id": conversation_id,
				"conversation_type": 3,
				"msg_id": store_msg_id
			});
			let acquire_dl_token = (await axios.post(`https://drive-social-api.quark.cn/1/clouddrive/chat/conv/file/acquire_dl_token?${fr}`, data, { headers: header })).data;
			if (acquire_dl_token.data) {
				let token = acquire_dl_token.data.token;
				let data = JSON.stringify({
					"fids": [this.saveFileIdCaches[fileId]],
					"cn_sw": "open",
					"ab_tag": "_",
					"token": token
				});
				let down = (await axios.post(`https://drive-pc.quark.cn/1/clouddrive/file/download?${fr}`, data, { headers: header })).data;
				if (down.data[0]?.download_url) {
					video.push({
						name: "原画",
						url: down.data[0].download_url
					});
					try {
						await this.refreshQuarkCookie("getDownload");
					} catch (e) {
						console.log(`getDownload:自动刷新UC cookie失败:${e.message}`);
					}
					return video;
				}
			}
		}
		if (shareData.data.send_msg_list.length === 0) {
			let send_data = {
				"conversations": [{
					"merge_file": 0,
					"conversation_id": conversation_id,
					"conversation_type": 3,
					"file_list": [{
						"fid": this.saveFileIdCaches[fileId],
						"client_extra": { "local_msg_id": "b9b42b73-132e-4c71-ad88-e78cb8cc15a5" }
					}]
				}],
				"return_msg_as_list": 1
			};
			let shareData = (await axios.post(`https://drive-social-api.quark.cn/1/clouddrive/chat/conv/msg/batch_send?${fr}`, send_data, { headers: header })).data;
			if (shareData.data.send_msg_list.length > 0) {
				let data = JSON.stringify({
					"fids": [this.saveFileIdCaches[fileId]],
					"speedup_session": ""
				});
				let down = (await axios.post(`https://drive-pc.quark.cn/1/clouddrive/file/download?${fr}`, data, { headers: header })).data;
				if (down.data[0]?.download_url) {
					video.push({
						name: "原画",
						url: down.data[0].download_url
					});
					try {
						await this.refreshQuarkCookie("getDownload");
					} catch (e) {
						console.log(`getDownload:自动刷新UC cookie失败:${e.message}`);
					}
					return video;
				}
			} else {
				return [{
					name: "",
					url: undefined
				}];
			}
		}
		return null;
	}
	async testSupport(url, headers) {
		const resp = await req$1.get(url, {
			responseType: "stream",
			headers
		}).catch((err) => {
			console.error("[testSupport] error:", err.message);
			return err.response || {
				status: 500,
				data: {}
			};
		});
		if (resp && (resp.status === 206 || resp.status === 200)) {
			const isAccept = resp.headers["accept-ranges"] === "bytes";
			const contentRange = resp.headers["content-range"];
			const contentLength = parseInt(resp.headers["content-length"]);
			const isSupport = isAccept || !!contentRange || contentLength === 1 || resp.status === 200;
			const length = contentRange ? parseInt(contentRange.split("/")[1]) : contentLength;
			delete resp.headers["content-range"];
			delete resp.headers["content-length"];
			if (length) resp.headers["content-length"] = length.toString();
			return [isSupport, resp.headers];
		} else {
			console.log("[testSupport] resp.status:", resp.status);
			return [false, null];
		}
	}
	delAllCache(keepKey) {
		try {
			fs.readdir(this.cacheRoot, (_, files) => {
				if (files) for (const file of files) {
					if (file === keepKey) continue;
					const dir = join(this.cacheRoot, file);
					fs.stat(dir, (_, stats) => {
						if (stats && stats.isDirectory()) {
							fs.readdir(dir, (_, subFiles) => {
								if (subFiles) for (const subFile of subFiles) {
									if (!subFile.endsWith(".p")) {
										fs.rm(join(dir, subFile), { recursive: true }, () => {});
									}
								}
							});
						}
					});
				}
			});
		} catch (error) {
			console.error(error);
		}
	}
	async chunkStream(inReq, outResp, url, urlKey, headers, option) {
		urlKey = urlKey || import_crypto_js.default.enc.Hex.stringify(import_crypto_js.default.MD5(url)).toString();
		if (this.currentUrlKey !== urlKey) {
			this.delAllCache(urlKey);
			this.currentUrlKey = urlKey;
		}
		if (!this.urlHeadCache[urlKey]) {
			const [isSupport, urlHeader] = await this.testSupport(url, headers);
			if (!isSupport || !urlHeader["content-length"]) {
				outResp.redirect(url);
				return;
			}
			this.urlHeadCache[urlKey] = urlHeader;
		}
		let exist = true;
		await fs.promises.access(join(this.cacheRoot, urlKey)).catch((_) => exist = false);
		if (!exist) {
			await fs.promises.mkdir(join(this.cacheRoot, urlKey), { recursive: true });
		}
		const contentLength = parseInt(this.urlHeadCache[urlKey]["content-length"]);
		let byteStart = 0;
		let byteEnd = contentLength - 1;
		const streamHeader = {};
		if (inReq.headers.range) {
			const ranges = inReq.headers.range.trim().split(/=|-/);
			if (ranges.length > 2 && ranges[2]) {
				byteEnd = parseInt(ranges[2]);
			}
			byteStart = parseInt(ranges[1]);
			Object.assign(streamHeader, this.urlHeadCache[urlKey]);
			streamHeader["content-length"] = (byteEnd - byteStart + 1).toString();
			streamHeader["content-range"] = `bytes ${byteStart}-${byteEnd}/${contentLength}`;
			outResp.code(206);
		} else {
			Object.assign(streamHeader, this.urlHeadCache[urlKey]);
			outResp.code(200);
		}
		option = option || {
			chunkSize: 1024 * 256,
			poolSize: 5,
			timeout: 1e3 * 10
		};
		const chunkSize = option.chunkSize;
		const poolSize = option.poolSize;
		const timeout = option.timeout;
		let chunkCount = Math.ceil(contentLength / chunkSize);
		let chunkDownIdx = Math.floor(byteStart / chunkSize);
		let chunkReadIdx = chunkDownIdx;
		let stop = false;
		const dlFiles = {};
		for (let i = 0; i < poolSize && i < chunkCount; i++) {
			new Promise((resolve) => {
				(async function doDLTask(spChunkIdx) {
					if (stop || chunkDownIdx >= chunkCount) {
						resolve();
						return;
					}
					if (spChunkIdx === undefined && (chunkDownIdx - chunkReadIdx) * chunkSize >= this.maxCache) {
						setTimeout(doDLTask, 5);
						return;
					}
					const chunkIdx = spChunkIdx || chunkDownIdx++;
					const taskId = `${inReq.id}-${chunkIdx}`;
					try {
						const dlFile = join(this.cacheRoot, urlKey, `${inReq.id}-${chunkIdx}.p`);
						let exist = true;
						await fs.promises.access(dlFile).catch((_) => exist = false);
						if (!exist) {
							const start = chunkIdx * chunkSize;
							const end = Math.min(contentLength - 1, (chunkIdx + 1) * chunkSize - 1);
							console.log(inReq.id, chunkIdx);
							const dlResp = await req$1.get(url, {
								responseType: "stream",
								timeout,
								headers: Object.assign({ Range: `bytes=${start}-${end}` }, headers)
							});
							const dlCache = join(this.cacheRoot, urlKey, `${inReq.id}-${chunkIdx}.dl`);
							const writer = fs.createWriteStream(dlCache);
							const readTimeout = setTimeout(() => {
								writer.destroy(new Error(`${taskId} read timeout`));
							}, timeout);
							const downloaded = new Promise((resolve) => {
								writer.on("finish", async () => {
									if (stop) {
										await fs.promises.rm(dlCache).catch((e) => console.error(e));
									} else {
										await fs.promises.rename(dlCache, dlFile).catch((e) => console.error(e));
										dlFiles[taskId] = dlFile;
									}
									resolve(true);
								});
								writer.on("error", async (e) => {
									console.error(e);
									await fs.promises.rm(dlCache).catch((e1) => console.error(e1));
									resolve(false);
								});
							});
							dlResp.data.pipe(writer);
							const result = await downloaded;
							clearTimeout(readTimeout);
							if (!result) {
								setTimeout(() => {
									doDLTask(chunkIdx);
								}, 15);
								return;
							}
						}
						setTimeout(doDLTask, 5);
					} catch (error) {
						console.error(error);
						setTimeout(() => {
							doDLTask(chunkIdx);
						}, 15);
					}
				})();
			});
		}
		outResp.headers(streamHeader);
		const stream = new PassThrough();
		new Promise((resolve) => {
			let writeMore = true;
			(async function waitReadFile() {
				try {
					if (chunkReadIdx >= chunkCount || stop) {
						stream.end();
						resolve();
						return;
					}
					if (!writeMore) {
						setTimeout(waitReadFile, 5);
						return;
					}
					const taskId = `${inReq.id}-${chunkReadIdx}`;
					if (!dlFiles[taskId]) {
						setTimeout(waitReadFile, 5);
						return;
					}
					const chunkByteStart = chunkReadIdx * chunkSize;
					const chunkByteEnd = Math.min(contentLength - 1, (chunkReadIdx + 1) * chunkSize - 1);
					const readFileStart = Math.max(byteStart, chunkByteStart) - chunkByteStart;
					const dlFile = dlFiles[taskId];
					delete dlFiles[taskId];
					const fd = await fs.promises.open(dlFile, "r");
					const buffer = Buffer.alloc(chunkByteEnd - chunkByteStart - readFileStart + 1);
					await fd.read(buffer, 0, chunkByteEnd - chunkByteStart - readFileStart + 1, readFileStart);
					await fd.close().catch((e) => console.error(e));
					await fs.promises.rm(dlFile).catch((e) => console.error(e));
					writeMore = stream.write(buffer);
					if (!writeMore) {
						stream.once("drain", () => {
							writeMore = true;
						});
					}
					chunkReadIdx++;
					setTimeout(waitReadFile, 5);
				} catch (error) {
					setTimeout(waitReadFile, 5);
				}
			})();
		});
		stream.on("close", async () => {
			Object.keys(dlFiles).forEach((reqKey) => {
				if (reqKey.startsWith(inReq.id)) {
					fs.rm(dlFiles[reqKey], { recursive: true }, () => {});
					delete dlFiles[reqKey];
				}
			});
			stop = true;
		});
		return stream;
	}
};
const Quark$1 = new QuarkHandler();

//#endregion
//#region ../utils/pan/uc.js
/**
* UC网盘处理器模块
* 提供UC网盘分享链接解析、文件下载、转存等功能
* @module uc-handler
*/
/**
* UC网盘处理器类
* 负责处理UC网盘的各种操作，包括分享链接解析、文件下载、转存等
*/
var UCHandler = class {
	/**
	* 构造函数 - 初始化UC处理器
	* 设置基础配置、API地址、缓存等
	*/
	constructor() {
		this.regex = /https:\/\/drive\.uc\.cn\/s\/([^\\|#/]+)/;
		this.pr = "pr=UCBrowser&fr=pc";
		this.baseHeader = {
			"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) uc-cloud-drive/1.8.5 Chrome/100.0.4896.160 Electron/18.3.5.16-b62cf9c50d Safari/537.36 Channel/ucpan_other_ch",
			Referer: "https://drive.uc.cn/"
		};
		this.apiUrl = "https://pc-api.uc.cn/1/clouddrive";
		this.shareTokenCache = {};
		this.saveDirName = "drpy";
		this.saveDirId = null;
		this.saveFileIdCaches = {};
		this.currentUrlKey = "";
		this.cacheRoot = (process.env["NODE_PATH"] || ".") + "/uc_cache";
		this.maxCache = 1024 * 1024 * 100;
		this.urlHeadCache = {};
		this.subtitleExts = [
			".srt",
			".ass",
			".scc",
			".stl",
			".ttml"
		];
		this.Addition = {
			DeviceID: "07b48aaba8a739356ab8107b5e230ad4",
			RefreshToken: "",
			AccessToken: ""
		};
		this.conf = {
			api: "https://open-api-drive.uc.cn",
			clientID: "5acf882d27b74502b7040b0c65519aa7",
			signKey: "l3srvtd7p42l0d0x1u8d7yc8ye9kki4d",
			appVer: "1.6.8",
			channel: "UCTVOFFICIALWEB",
			codeApi: "http://api.extscreen.com/ucdrive"
		};
	}
	/**
	* 获取UC Cookie
	* 使用 getter 定义动态属性，从环境变量中获取
	* @returns {string} UC Cookie字符串
	*/
	get cookie() {
		return ENV.get("uc_cookie");
	}
	/**
	* 获取UC Token Cookie
	* @returns {string} UC Token Cookie字符串
	*/
	get token() {
		return ENV.get("uc_token_cookie");
	}
	/**
	* 解析UC分享链接，提取分享ID和文件夹ID
	* @param {string} url - UC分享链接
	* @returns {Object|null} 包含shareId和folderId的对象，解析失败返回null
	*/
	getShareData(url) {
		let matches = this.regex.exec(url);
		if (matches[1].indexOf("?") > 0) {
			matches[1] = matches[1].split("?")[0];
		}
		if (matches) {
			return {
				shareId: matches[1],
				folderId: "0"
			};
		}
		return null;
	}
	/**
	* 初始化UC处理器
	* @param {Object} db - 数据库实例
	* @param {Object} cfg - 配置对象
	*/
	async initUC(db, cfg) {
		if (this.cookie) {
			console.log("cookie 获取成功");
		} else {
			console.log("cookie 获取失败");
		}
	}
	/**
	* 最长公共子序列算法
	* 用于文件名匹配，找到两个字符串的最长公共子序列
	* @param {string} str1 - 第一个字符串
	* @param {string} str2 - 第二个字符串
	* @returns {Object} 包含长度、序列和偏移量的对象
	*/
	lcs(str1, str2) {
		if (!str1 || !str2) {
			return {
				length: 0,
				sequence: "",
				offset: 0
			};
		}
		var sequence = "";
		var str1Length = str1.length;
		var str2Length = str2.length;
		var num = new Array(str1Length);
		var maxlen = 0;
		var lastSubsBegin = 0;
		for (var i = 0; i < str1Length; i++) {
			var subArray = new Array(str2Length);
			for (var j = 0; j < str2Length; j++) {
				subArray[j] = 0;
			}
			num[i] = subArray;
		}
		var thisSubsBegin = null;
		for (i = 0; i < str1Length; i++) {
			for (j = 0; j < str2Length; j++) {
				if (str1[i] !== str2[j]) {
					num[i][j] = 0;
				} else {
					if (i === 0 || j === 0) {
						num[i][j] = 1;
					} else {
						num[i][j] = 1 + num[i - 1][j - 1];
					}
					if (num[i][j] > maxlen) {
						maxlen = num[i][j];
						thisSubsBegin = i - num[i][j] + 1;
						if (lastSubsBegin === thisSubsBegin) {
							sequence += str1[i];
						} else {
							lastSubsBegin = thisSubsBegin;
							sequence = "";
							sequence += str1.substr(lastSubsBegin, i + 1 - lastSubsBegin);
						}
					}
				}
			}
		}
		return {
			length: maxlen,
			sequence,
			offset: thisSubsBegin
		};
	}
	/**
	* 查找最佳匹配的文件项
	* 使用最长公共子序列算法找到与主文件最匹配的目标文件
	* @param {Object} mainItem - 主文件项
	* @param {Array} targetItems - 目标文件项数组
	* @returns {Object} 包含所有匹配结果、最佳匹配和最佳匹配索引的对象
	*/
	findBestLCS(mainItem, targetItems) {
		const results = [];
		let bestMatchIndex = 0;
		for (let i = 0; i < targetItems.length; i++) {
			const currentLCS = this.lcs(mainItem.name, targetItems[i].name);
			results.push({
				target: targetItems[i],
				lcs: currentLCS
			});
			if (currentLCS.length > results[bestMatchIndex].lcs.length) {
				bestMatchIndex = i;
			}
		}
		const bestMatch = results[bestMatchIndex];
		return {
			allLCS: results,
			bestMatch,
			bestMatchIndex
		};
	}
	/**
	* 延迟函数
	* 返回一个在指定毫秒后解析的Promise
	* @param {number} ms - 延迟毫秒数
	* @returns {Promise} 延迟Promise
	*/
	delay(ms) {
		return new Promise((resolve) => setTimeout(resolve, ms));
	}
	/**
	* API请求方法
	* 统一处理UC网盘API请求，包含重试机制
	* @param {string} url - API端点URL
	* @param {Object} data - 请求数据
	* @param {Object} headers - 请求头
	* @param {string} method - 请求方法(get/post)
	* @param {number} retry - 重试次数
	* @returns {Object} API响应数据
	*/
	async api(url, data, headers, method, retry) {
		headers = headers || {};
		Object.assign(headers, this.baseHeader);
		Object.assign(headers, {
			"Content-Type": "application/json",
			Cookie: this.cookie || ""
		});
		method = method || "post";
		const resp = method === "get" ? await req$1.get(`${this.apiUrl}/${url}`, { headers }).catch((err) => {
			console.error(err);
			return err.response || {
				status: 500,
				data: {}
			};
		}) : await req$1.post(`${this.apiUrl}/${url}`, data, { headers }).catch((err) => {
			console.error(err);
			return err.response || {
				status: 500,
				data: {}
			};
		});
		const leftRetry = retry || 3;
		if (resp.status === 429 && leftRetry > 0) {
			await this.delay(1e3);
			return await this.api(url, data, headers, method, leftRetry - 1);
		}
		return resp.data || {};
	}
	/**
	* 清空保存目录
	* 删除保存目录中的所有文件
	*/
	async clearSaveDir() {
		const listData = await this.api(`file/sort?${this.pr}&pdir_fid=${this.saveDirId}&_page=1&_size=200&_sort=file_type:asc,updated_at:desc`, {}, {}, "get");
		if (listData.data && listData.data.list && listData.data.list.length > 0) {
			const del = await this.api(`file/delete?${this.pr}`, {
				action_type: 2,
				filelist: listData.data.list.map((v) => v.fid),
				exclude_fids: []
			});
			console.log(del);
		}
	}
	/**
	* 创建保存目录
	* 如果目录不存在则创建，存在则可选择清空
	* @param {boolean} clean - 是否清空已存在的目录
	*/
	async createSaveDir(clean) {
		if (this.saveDirId) {
			if (clean) await this.clearSaveDir();
			return;
		}
		const listData = await this.api(`file/sort?${this.pr}&pdir_fid=0&_page=1&_size=200&_sort=file_type:asc,updated_at:desc`, {}, {}, "get");
		if (listData.data && listData.data.list) for (const item of listData.data.list) {
			if (item.file_name === this.saveDirName) {
				this.saveDirId = item.fid;
				await this.clearSaveDir();
				break;
			}
		}
		if (!this.saveDirId) {
			const create = await this.api(`file?${this.pr}`, {
				pdir_fid: "0",
				file_name: this.saveDirName,
				dir_path: "",
				dir_init_lock: false
			});
			console.log(create);
			if (create.data && create.data.fid) {
				this.saveDirId = create.data.fid;
			}
		}
	}
	/**
	* 获取分享令牌
	* 从UC网盘获取访问分享链接所需的令牌
	* @param {Object} shareData - 分享数据，包含shareId和sharePwd
	*/
	async getShareToken(shareData) {
		if (!this.shareTokenCache[shareData.shareId]) {
			delete this.shareTokenCache[shareData.shareId];
			const shareToken = await this.api(`share/sharepage/token?${this.pr}`, {
				pwd_id: shareData.shareId,
				passcode: shareData.sharePwd || ""
			});
			if (shareToken.data && shareToken.data.stoken) {
				this.shareTokenCache[shareData.shareId] = shareToken.data;
			}
		}
	}
	/**
	* 通过分享URL获取文件列表
	* 解析分享链接，获取其中的视频文件和字幕文件
	* @param {string|Object} shareInfo - 分享链接或分享信息对象
	* @returns {Array} 视频文件列表，包含匹配的字幕信息
	*/
	async getFilesByShareUrl(shareInfo) {
		const shareData = typeof shareInfo === "string" ? this.getShareData(shareInfo) : shareInfo;
		if (!shareData) return [];
		await this.getShareToken(shareData);
		if (!this.shareTokenCache[shareData.shareId]) return [];
		const videos = [];
		const subtitles = [];
		/**
		* 递归获取文件列表
		* @param {string} shareId - 分享ID
		* @param {string} folderId - 文件夹ID
		* @param {number} page - 页码
		* @returns {Array} 文件列表
		*/
		const listFile = async (shareId, folderId, page) => {
			const prePage = 200;
			page = page || 1;
			const listData = await this.api(`share/sharepage/detail?${this.pr}&pwd_id=${shareId}&stoken=${encodeURIComponent(this.shareTokenCache[shareId].stoken)}&pdir_fid=${folderId}&force=0&_page=${page}&_size=${prePage}&_sort=file_type:asc,file_name:asc`, {}, {}, "get");
			if (!listData.data) return [];
			const items = listData.data.list;
			if (!items) return [];
			const subDir = [];
			for (const item of items) {
				if (item.dir === true) {
					subDir.push(item);
				} else if (item.file === true && item.obj_category === "video") {
					if (item.size < 1024 * 1024 * 5) continue;
					item.stoken = this.shareTokenCache[shareData.shareId].stoken;
					videos.push(item);
				} else if (item.type === "file" && this.subtitleExts.some((x) => item.file_name.endsWith(x))) {
					subtitles.push(item);
				}
			}
			if (page < Math.ceil(listData.metadata._total / prePage)) {
				const nextItems = await listFile(shareId, folderId, page + 1);
				for (const item of nextItems) {
					items.push(item);
				}
			}
			for (const dir of subDir) {
				const subItems = await listFile(shareId, dir.fid);
				for (const item of subItems) {
					items.push(item);
				}
			}
			return items;
		};
		await listFile(shareData.shareId, shareData.folderId);
		if (subtitles.length > 0) {
			videos.forEach((item) => {
				var matchSubtitle = this.findBestLCS(item, subtitles);
				if (matchSubtitle.bestMatch) {
					item.subtitle = matchSubtitle.bestMatch.target;
				}
			});
		}
		return videos;
	}
	/**
	* 保存文件到UC网盘
	* 将分享文件转存到自己的网盘中
	* @param {string} shareId - 分享ID
	* @param {string} stoken - 分享令牌
	* @param {string} fileId - 文件ID
	* @param {string} fileToken - 文件令牌
	* @param {boolean} clean - 是否清空目标目录
	* @returns {Object} 保存结果
	*/
	async save(shareId, stoken, fileId, fileToken, clean) {
		await this.createSaveDir(clean);
		if (clean) {
			const saves = Object.keys(this.saveFileIdCaches);
			for (const save of saves) {
				delete this.saveFileIdCaches[save];
			}
		}
		if (!this.saveDirId) return null;
		if (!stoken) {
			await this.getShareToken({ shareId });
			if (!this.shareTokenCache[shareId]) return null;
		}
		const saveResult = await this.api(`share/sharepage/save?${this.pr}`, {
			fid_list: [fileId],
			fid_token_list: [fileToken],
			to_pdir_fid: this.saveDirId,
			pwd_id: shareId,
			stoken: stoken || this.shareTokenCache[shareId].stoken,
			pdir_fid: "0",
			scene: "link"
		});
		if (saveResult.data && saveResult.data.task_id) {
			let retry = 0;
			while (true) {
				const taskResult = await this.api(`task?${this.pr}&task_id=${saveResult.data.task_id}&retry_index=${retry}`, {}, {}, "get");
				if (taskResult.data && taskResult.data.save_as && taskResult.data.save_as.save_as_top_fids && taskResult.data.save_as.save_as_top_fids.length > 0) {
					return taskResult.data.save_as.save_as_top_fids[0];
				}
				retry++;
				if (retry > 5) break;
				await this.delay(1e3);
			}
		}
		return true;
	}
	async getLiveTranscoding(shareId, stoken, fileId, fileToken) {
		if (!this.saveFileIdCaches[fileId]) {
			const saveFileId = await this.save(shareId, stoken, fileId, fileToken, true);
			if (!saveFileId) return null;
			this.saveFileIdCaches[fileId] = saveFileId;
		}
		const transcoding = await this.api(`file/v2/play?${this.pr}`, {
			fid: this.saveFileIdCaches[fileId],
			resolutions: "normal,low,high,super,2k,4k",
			supports: "fmp4"
		});
		if (transcoding.data && transcoding.data.video_list) {
			return transcoding.data.video_list;
		}
		return null;
	}
	async refreshUcCookie(from = "") {
		const nowCookie = this.cookie;
		const cookieSelfRes = await axios({
			url: "https://pc-api.uc.cn/1/clouddrive/config?pr=UCBrowser&fr=pc",
			method: "GET",
			headers: {
				"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) quark-cloud-drive/2.5.20 Chrome/100.0.4896.160 Electron/18.3.5.4-b478491100 Safari/537.36 Channel/pckk_other_ch",
				Origin: "https://drive.uc.cn",
				Referer: "https://drive.uc.cn/",
				Cookie: nowCookie
			}
		});
		const cookieResDataSelf = cookieSelfRes.headers;
		const resCookie = cookieResDataSelf["set-cookie"];
		if (!resCookie) {
			console.log(`${from}自动更新UC cookie: 没返回新的cookie`);
			return;
		}
		const cookieObject = COOKIE.parse(resCookie);
		if (cookieObject.__puus) {
			const oldCookie = COOKIE.parse(nowCookie);
			const newCookie = COOKIE.stringify({
				__pus: oldCookie.__pus,
				__puus: cookieObject.__puus
			});
			console.log(`${from}自动更新UC cookie: ${newCookie}`);
			ENV.set("uc_cookie", newCookie);
		}
	}
	generateDeviceID(timestamp) {
		return import_crypto_js.default.MD5(timestamp).toString().slice(0, 16);
	}
	generateReqId(deviceID, timestamp) {
		return import_crypto_js.default.MD5(deviceID + timestamp).toString().slice(0, 16);
	}
	generateXPanToken(method, pathname, timestamp, key) {
		const data = method + "&" + pathname + "&" + timestamp + "&" + key;
		return import_crypto_js.default.SHA256(data).toString();
	}
	async getDownload(shareId, stoken, fileId, fileToken, clean) {
		if (!this.saveFileIdCaches[fileId]) {
			const saveFileId = await this.save(shareId, stoken, fileId, fileToken, clean);
			if (!saveFileId) return null;
			this.saveFileIdCaches[fileId] = saveFileId;
		}
		if (this.token) {
			let video = [];
			const pathname = "/file";
			const timestamp = Math.floor(Date.now() / 1e3).toString() + "000";
			const deviceID = this.Addition.DeviceID || this.generateDeviceID(timestamp);
			const reqId = this.generateReqId(deviceID, timestamp);
			const x_pan_token = this.generateXPanToken("GET", pathname, timestamp, this.conf.signKey);
			let config = {
				method: "GET",
				url: `https://open-api-drive.uc.cn/file`,
				params: {
					req_id: reqId,
					access_token: this.token,
					app_ver: this.conf.appVer,
					device_id: deviceID,
					device_brand: "Xiaomi",
					platform: "tv",
					device_name: "M2004J7AC",
					device_model: "M2004J7AC",
					build_device: "M2004J7AC",
					build_product: "M2004J7AC",
					device_gpu: "Adreno (TM) 550",
					activity_rect: "{}",
					channel: this.conf.channel,
					method: "streaming",
					group_by: "source",
					fid: this.saveFileIdCaches[fileId],
					resolution: "low,normal,high,super,2k,4k",
					support: "dolby_vision"
				},
				headers: {
					"User-Agent": "Mozilla/5.0 (Linux; U; Android 9; zh-cn; RMX1931 Build/PQ3A.190605.05081124) AppleWebKit/533.1 (KHTML, like Gecko) Mobile Safari/533.1",
					"Connection": "Keep-Alive",
					"Accept-Encoding": "gzip",
					"x-pan-tm": timestamp,
					"x-pan-token": x_pan_token,
					"content-type": "text/plain;charset=UTF-8",
					"x-pan-client-id": this.conf.clientID
				}
			};
			let req = await axios.request(config).catch((err) => err.response);
			if (req.status === 200) {
				let videoInfo = req.data.data.video_info;
				videoInfo.forEach((item) => {
					video.push({
						name: item.resolution,
						url: item.url
					});
				});
				return video;
			}
			if (req.data.status === -1 || req.data.errno === 10001) {
				let data = JSON.stringify({
					"req_id": reqId,
					"app_ver": this.conf.appVer,
					"device_id": deviceID,
					"device_brand": "OPPO",
					"platform": "tv",
					"device_name": "PCRT00",
					"device_model": "PCRT00",
					"build_device": "aosp",
					"build_product": "PCRT00",
					"device_gpu": "Adreno%20(TM)%20640",
					"activity_rect": "%7B%7D",
					"channel": this.conf.channel,
					"refresh_token": this.token
				});
				let config = {
					method: "POST",
					url: "http://api.extscreen.com/ucdrive/token",
					headers: {
						"User-Agent": "Mozilla/5.0 (Linux; U; Android 7.1.2; zh-cn; PCRT00 Build/N2G47O) AppleWebKit/533.1 (KHTML, like Gecko) Mobile Safari/533.1",
						"Connection": "Keep-Alive",
						"Accept-Encoding": "gzip",
						"Content-Type": "application/json",
						"Cookie": "sl-session=VIaxTAKF8mdJBhU2uda0zA=="
					},
					data
				};
				let req = await axios.request(config);
				if (req.status === 200) {
					ENV.set("uc_token_cookie", req.data.data.refresh_token);
					return await this.getDownload(shareId, stoken, fileId, fileToken, clean);
				}
			}
		} else {
			const down = await this.api(`file/download?${this.pr}`, { fids: [this.saveFileIdCaches[fileId]] });
			if (down.data) {
				const low_url = down.data[0].download_url;
				const low_cookie = this.cookie;
				const low_headers = {
					"Referer": "https://drive.uc.cn/",
					"cookie": low_cookie,
					"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) quark-cloud-drive/2.5.20 Chrome/100.0.4896.160 Electron/18.3.5.4-b478491100 Safari/537.36 Channel/pckk_other_ch"
				};
				const test_result = await this.testSupport(low_url, low_headers);
				if (!test_result[0]) {
					try {
						await this.refreshUcCookie("getDownload");
					} catch (e) {
						console.log(`getDownload:自动刷新UC cookie失败:${e.message}`);
					}
				}
				return down.data[0];
			}
		}
		return null;
	}
	async getLazyResult(downCache, mediaProxyUrl) {
		const urls = [];
		if (Array.isArray(downCache)) {
			downCache.forEach((it) => {
				urls.push(it.name, it.url);
			});
		}
		return {
			parse: 0,
			url: urls
		};
	}
	async testSupport(url, headers) {
		const resp = await req$1.get(url, {
			responseType: "stream",
			headers: Object.assign({ Range: "bytes=0-0" }, headers)
		}).catch((err) => {
			console.error("[testSupport] error:", err.message);
			return err.response || {
				status: 500,
				data: {}
			};
		});
		if (resp && resp.status === 206) {
			const isAccept = resp.headers["accept-ranges"] === "bytes";
			const contentRange = resp.headers["content-range"];
			const contentLength = parseInt(resp.headers["content-length"]);
			const isSupport = isAccept || !!contentRange || contentLength === 1;
			const length = contentRange ? parseInt(contentRange.split("/")[1]) : contentLength;
			delete resp.headers["content-range"];
			delete resp.headers["content-length"];
			if (length) resp.headers["content-length"] = length.toString();
			return [isSupport, resp.headers];
		} else {
			console.log("[testSupport] resp.status:", resp.status);
			return [false, null];
		}
	}
	delAllCache(keepKey) {
		try {
			fs.readdir(this.cacheRoot, (_, files) => {
				if (files) for (const file of files) {
					if (file === keepKey) continue;
					const dir = join(this.cacheRoot, file);
					fs.stat(dir, (_, stats) => {
						if (stats && stats.isDirectory()) {
							fs.readdir(dir, (_, subFiles) => {
								if (subFiles) for (const subFile of subFiles) {
									if (!subFile.endsWith(".p")) {
										fs.rm(join(dir, subFile), { recursive: true }, () => {});
									}
								}
							});
						}
					});
				}
			});
		} catch (error) {
			console.error(error);
		}
	}
	async chunkStream(inReq, outResp, url, urlKey, headers, option) {
		urlKey = urlKey || import_crypto_js.default.enc.Hex.stringify(import_crypto_js.default.MD5(url)).toString();
		if (this.currentUrlKey !== urlKey) {
			this.delAllCache(urlKey);
			this.currentUrlKey = urlKey;
		}
		if (!this.urlHeadCache[urlKey]) {
			const [isSupport, urlHeader] = await this.testSupport(url, headers);
			if (!isSupport || !urlHeader["content-length"]) {
				outResp.redirect(url);
				return;
			}
			this.urlHeadCache[urlKey] = urlHeader;
		}
		let exist = true;
		await fs.promises.access(join(this.cacheRoot, urlKey)).catch((_) => exist = false);
		if (!exist) {
			await fs.promises.mkdir(join(this.cacheRoot, urlKey), { recursive: true });
		}
		const contentLength = parseInt(this.urlHeadCache[urlKey]["content-length"]);
		let byteStart = 0;
		let byteEnd = contentLength - 1;
		const streamHeader = {};
		if (inReq.headers.range) {
			const ranges = inReq.headers.range.trim().split(/=|-/);
			if (ranges.length > 2 && ranges[2]) {
				byteEnd = parseInt(ranges[2]);
			}
			byteStart = parseInt(ranges[1]);
			Object.assign(streamHeader, this.urlHeadCache[urlKey]);
			streamHeader["content-length"] = (byteEnd - byteStart + 1).toString();
			streamHeader["content-range"] = `bytes ${byteStart}-${byteEnd}/${contentLength}`;
			outResp.code(206);
		} else {
			Object.assign(streamHeader, this.urlHeadCache[urlKey]);
			outResp.code(200);
		}
		option = option || {
			chunkSize: 1024 * 256,
			poolSize: 5,
			timeout: 1e3 * 10
		};
		const chunkSize = option.chunkSize;
		const poolSize = option.poolSize;
		const timeout = option.timeout;
		let chunkCount = Math.ceil(contentLength / chunkSize);
		let chunkDownIdx = Math.floor(byteStart / chunkSize);
		let chunkReadIdx = chunkDownIdx;
		let stop = false;
		const dlFiles = {};
		for (let i = 0; i < poolSize && i < chunkCount; i++) {
			new Promise((resolve) => {
				(async function doDLTask(spChunkIdx) {
					if (stop || chunkDownIdx >= chunkCount) {
						resolve();
						return;
					}
					if (spChunkIdx === undefined && (chunkDownIdx - chunkReadIdx) * chunkSize >= this.maxCache) {
						setTimeout(doDLTask, 5);
						return;
					}
					const chunkIdx = spChunkIdx || chunkDownIdx++;
					const taskId = `${inReq.id}-${chunkIdx}`;
					try {
						const dlFile = join(this.cacheRoot, urlKey, `${inReq.id}-${chunkIdx}.p`);
						let exist = true;
						await fs.promises.access(dlFile).catch((_) => exist = false);
						if (!exist) {
							const start = chunkIdx * chunkSize;
							const end = Math.min(contentLength - 1, (chunkIdx + 1) * chunkSize - 1);
							console.log(inReq.id, chunkIdx);
							const dlResp = await req$1.get(url, {
								responseType: "stream",
								timeout,
								headers: Object.assign({ Range: `bytes=${start}-${end}` }, headers)
							});
							const dlCache = join(this.cacheRoot, urlKey, `${inReq.id}-${chunkIdx}.dl`);
							const writer = fs.createWriteStream(dlCache);
							const readTimeout = setTimeout(() => {
								writer.destroy(new Error(`${taskId} read timeout`));
							}, timeout);
							const downloaded = new Promise((resolve) => {
								writer.on("finish", async () => {
									if (stop) {
										await fs.promises.rm(dlCache).catch((e) => console.error(e));
									} else {
										await fs.promises.rename(dlCache, dlFile).catch((e) => console.error(e));
										dlFiles[taskId] = dlFile;
									}
									resolve(true);
								});
								writer.on("error", async (e) => {
									console.error(e);
									await fs.promises.rm(dlCache).catch((e1) => console.error(e1));
									resolve(false);
								});
							});
							dlResp.data.pipe(writer);
							const result = await downloaded;
							clearTimeout(readTimeout);
							if (!result) {
								setTimeout(() => {
									doDLTask(chunkIdx);
								}, 15);
								return;
							}
						}
						setTimeout(doDLTask, 5);
					} catch (error) {
						console.error(error);
						setTimeout(() => {
							doDLTask(chunkIdx);
						}, 15);
					}
				})();
			});
		}
		outResp.headers(streamHeader);
		const stream = new PassThrough();
		new Promise((resolve) => {
			let writeMore = true;
			(async function waitReadFile() {
				try {
					if (chunkReadIdx >= chunkCount || stop) {
						stream.end();
						resolve();
						return;
					}
					if (!writeMore) {
						setTimeout(waitReadFile, 5);
						return;
					}
					const taskId = `${inReq.id}-${chunkReadIdx}`;
					if (!dlFiles[taskId]) {
						setTimeout(waitReadFile, 5);
						return;
					}
					const chunkByteStart = chunkReadIdx * chunkSize;
					const chunkByteEnd = Math.min(contentLength - 1, (chunkReadIdx + 1) * chunkSize - 1);
					const readFileStart = Math.max(byteStart, chunkByteStart) - chunkByteStart;
					const dlFile = dlFiles[taskId];
					delete dlFiles[taskId];
					const fd = await fs.promises.open(dlFile, "r");
					const buffer = Buffer.alloc(chunkByteEnd - chunkByteStart - readFileStart + 1);
					await fd.read(buffer, 0, chunkByteEnd - chunkByteStart - readFileStart + 1, readFileStart);
					await fd.close().catch((e) => console.error(e));
					await fs.promises.rm(dlFile).catch((e) => console.error(e));
					writeMore = stream.write(buffer);
					if (!writeMore) {
						stream.once("drain", () => {
							writeMore = true;
						});
					}
					chunkReadIdx++;
					setTimeout(waitReadFile, 5);
				} catch (error) {
					setTimeout(waitReadFile, 5);
				}
			})();
		});
		stream.on("close", async () => {
			Object.keys(dlFiles).forEach((reqKey) => {
				if (reqKey.startsWith(inReq.id)) {
					fs.rm(dlFiles[reqKey], { recursive: true }, () => {});
					delete dlFiles[reqKey];
				}
			});
			stop = true;
		});
		return stream;
	}
};
/**
* UC网盘处理器实例
* 导出一个UCHandler类的单例实例，供其他模块使用
* @type {UCHandler}
*/
const UC$1 = new UCHandler();

//#endregion
//#region ../utils/pan/yun.js
/**
* 移动云盘（139邮箱云盘）API工具模块
* 
* 该模块提供与移动云盘（139邮箱云盘）交互的功能，包括：
* - 分享链接解析
* - 文件列表获取
* - 文件下载链接获取
* - 数据加密解密
* 
* @author drpy
* @version 1.0.0
*/
/**
* 移动云盘驱动类
* 
* 提供移动云盘的完整API接口，支持分享链接解析、文件获取、下载等功能
*/
var YunDrive = class {
	/**
	* 构造函数 - 初始化移动云盘驱动
	* 
	* 设置必要的配置参数，包括正则表达式、加密密钥、API基础URL等
	*/
	constructor() {
		this.regex = /https:\/\/(yun|caiyun)\.139\.com\/(shareweb\/#\/w\/i\/|sharewap\/#\/w\/i\/|w\/i\/)([^&\?]+)/;
		this.x = import_crypto_js.default.enc.Utf8.parse("PVGDwmcvfs1uV3d1");
		this.baseUrl = "https://share-kd-njs.yun.139.com/yun-share/richlifeApp/devapp/IOutLink/";
		this.baseHeader = {
			"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
			"Accept": "application/json, text/plain, */*",
			"Content-Type": "application/json",
			"hcy-cool-flag": "1",
			"x-deviceinfo": "||3|12.27.0|chrome|131.0.0.0|5c7c68368f048245e1ce47f1c0f8f2d0||windows 10|1536X695|zh-CN|||"
		};
		this.linkID = "";
		this.cache = {};
		this.authorization = "";
	}
	/**
	* 初始化移动云盘驱动
	* 
	* 从环境变量中获取cookie和账号信息，并解析authorization token
	* 
	* @async
	* @returns {Promise<void>}
	*/
	async init() {
		if (this.cookie) {
			console.log("移动cookie获取成功" + this.cookie);
			const cookie = this.cookie.split(";");
			if (this.authorization === "") {
				cookie.forEach((item) => {
					if (item.indexOf("authorization") !== -1) {
						this.authorization = item.replace("authorization=", "");
						console.log("authorization获取成功:" + this.authorization);
					}
				});
			}
		} else {
			console.error("请先获取移动cookie");
		}
		if (this.account) {
			console.log("移动账号获取成功");
		}
	}
	/**
	* 获取移动云盘cookie
	* 
	* @returns {string} 从环境变量中获取的cookie字符串
	*/
	get cookie() {
		return ENV.get("yun_cookie");
	}
	/**
	* 获取移动云盘账号
	* 
	* @returns {string} 从环境变量中获取的账号字符串
	*/
	get account() {
		return ENV.get("yun_account");
	}
	/**
	* 数据加密方法
	* 
	* 使用AES-CBC模式对数据进行加密，支持字符串和对象类型
	* 
	* @param {string|object} data - 需要加密的数据
	* @returns {string} Base64编码的加密结果
	*/
	encrypt(data) {
		let t = import_crypto_js.default.lib.WordArray.random(16), n = "";
		if ("string" == typeof data) {
			const o = import_crypto_js.default.enc.Utf8.parse(data);
			n = import_crypto_js.default.AES.encrypt(o, this.x, {
				iv: t,
				mode: import_crypto_js.default.mode.CBC,
				padding: import_crypto_js.default.pad.Pkcs7
			});
		} else if (typeof data === "object" && data !== null) {
			const a = JSON.stringify(data), s = import_crypto_js.default.enc.Utf8.parse(a);
			n = import_crypto_js.default.AES.encrypt(s, this.x, {
				iv: t,
				mode: import_crypto_js.default.mode.CBC,
				padding: import_crypto_js.default.pad.Pkcs7
			});
		}
		return import_crypto_js.default.enc.Base64.stringify(t.concat(n.ciphertext));
	}
	/**
	* 数据解密方法
	* 
	* 解密使用AES-CBC模式加密的数据
	* 
	* @param {string} data - Base64编码的加密数据
	* @returns {string} 解密后的原始数据
	*/
	decrypt(data) {
		const t = import_crypto_js.default.enc.Base64.parse(data), n = t.clone(), i = n.words.splice(4);
		n.init(n.words), t.init(i);
		const o = import_crypto_js.default.enc.Base64.stringify(t), a = import_crypto_js.default.AES.decrypt(o, this.x, {
			iv: n,
			mode: import_crypto_js.default.mode.CBC,
			padding: import_crypto_js.default.pad.Pkcs7
		}), s = a.toString(import_crypto_js.default.enc.Utf8);
		return s.toString();
	}
	/**
	* 从分享URL中提取分享ID
	* 
	* 支持多种格式的移动云盘分享链接
	* 
	* @async
	* @param {string} url - 移动云盘分享链接
	* @returns {Promise<void>}
	*/
	async getShareID(url) {
		let matches = this.regex.exec(url);
		if (!matches) {
			matches = /https:\/\/(yun|caiyun)\.139\.com\/(sharewap\/)?#?\/?m\/i\?([^&]+)/.exec(url);
			if (matches && matches[3]) {
				this.linkID = matches[3];
				return;
			}
		}
		if (matches && matches[3]) {
			this.linkID = matches[3];
		}
	}
	/**
	* 获取分享信息
	* 
	* 通过API获取指定目录的分享信息，包含文件和文件夹列表
	* 
	* @async
	* @param {string} pCaID - 父目录ID，'root'表示根目录
	* @returns {Promise<object|null>} 分享信息对象，失败时返回null
	*/
	async getShareInfo(pCaID) {
		if (!this.linkID) {
			console.error("linkID is not set. Please call getShareID first.");
			return null;
		}
		const cacheKey = `${this.linkID}-${pCaID}`;
		if (this.cache[cacheKey]) {
			return this.cache[cacheKey];
		}
		let data = JSON.stringify(this.encrypt(JSON.stringify({
			"getOutLinkInfoReq": {
				"account": "",
				"linkID": this.linkID,
				"passwd": "",
				"caSrt": 1,
				"coSrt": 1,
				"srtDr": 0,
				"bNum": 1,
				"pCaID": pCaID,
				"eNum": 200
			},
			"commonAccountInfo": {
				"account": "",
				"accountType": 1
			}
		})));
		try {
			const resp = await axios$1.post(this.baseUrl + "getOutLinkInfoV6", data, { headers: this.baseHeader });
			if (resp.status !== 200) {
				return null;
			}
			const json = JSON.parse(this.decrypt(resp.data)).data;
			this.cache[cacheKey] = json;
			return json;
		} catch (error) {
			console.error("Error processing share info:", error);
			return null;
		}
	}
	/**
	* 获取分享数据
	* 
	* 解析分享链接或目录ID，获取完整的文件结构
	* 
	* @async
	* @param {string} url - 分享链接或目录ID
	* @returns {Promise<object>} 文件结构对象，按目录名分组
	*/
	async getShareData(url) {
		if (!url) {
			return {};
		}
		const isValidUrl = url.startsWith("http");
		let pCaID = isValidUrl ? "root" : url;
		if (isValidUrl) {
			await this.getShareID(url);
		}
		let file = {};
		let fileInfo = await this.getShareFile(pCaID);
		if (fileInfo && Array.isArray(fileInfo)) {
			await Promise.all(fileInfo.map(async (item) => {
				if (!(item.name in file)) {
					file[item.name] = [];
				}
				let filelist = await this.getShareUrl(item.path);
				if (filelist && filelist.length > 0) {
					file[item.name].push(...filelist);
				}
			}));
		}
		for (let key in file) {
			if (file[key].length === 0) {
				delete file[key];
			}
		}
		if (Object.keys(file).length === 0) {
			file["root"] = await this.getShareFile(url);
			if (file["root"] && Array.isArray(file["root"])) {
				file["root"] = file["root"].filter((item) => item && Object.keys(item).length > 0);
			}
		}
		return file;
	}
	/**
	* 获取分享文件列表
	* 
	* 递归获取指定目录下的所有文件和子目录
	* 
	* @async
	* @param {string} pCaID - 目录ID或分享链接
	* @returns {Promise<Array|null>} 文件列表数组，失败时返回null
	*/
	async getShareFile(pCaID) {
		if (!pCaID) {
			return null;
		}
		try {
			const isValidUrl = pCaID.startsWith("http");
			pCaID = isValidUrl ? "root" : pCaID;
			const json = await this.getShareInfo(pCaID);
			if (!json || !json.caLst) {
				return null;
			}
			const caLst = json?.caLst;
			const names = caLst.map((it) => it.caName);
			const rootPaths = caLst.map((it) => it.path);
			const filterRegex = /App|活动中心|免费|1T空间|免流/;
			const videos = [];
			if (caLst && caLst.length > 0) {
				names.forEach((name, index) => {
					if (!filterRegex.test(name)) {
						videos.push({
							name,
							path: rootPaths[index]
						});
					}
				});
				let result = await Promise.all(rootPaths.map(async (path) => this.getShareFile(path)));
				result = result.filter((item) => item !== undefined && item !== null);
				return [...videos, ...result.flat()];
			}
		} catch (error) {
			console.error("Error processing share data:", error);
			return null;
		}
	}
	/**
	* 获取分享文件的下载链接
	* 
	* 获取指定目录下所有视频文件的下载信息
	* 
	* @async
	* @param {string} pCaID - 目录ID
	* @returns {Promise<Array|null>} 文件下载信息数组，失败时返回null
	*/
	async getShareUrl(pCaID) {
		try {
			const json = await this.getShareInfo(pCaID);
			if (!json || !("coLst" in json)) {
				return null;
			}
			const coLst = json.coLst;
			if (coLst !== null) {
				const filteredItems = coLst.filter((it) => it && it.coType === 3);
				return filteredItems.map((it) => ({
					name: it.coName,
					contentId: it.path,
					linkID: this.linkID
				}));
			} else if (json.caLst !== null) {
				const rootPaths = json.caLst.map((it) => it.path);
				let result = await Promise.all(rootPaths.map((path) => this.getShareUrl(path)));
				result = result.filter((item) => item && item.length > 0);
				return result.flat();
			}
		} catch (error) {
			console.error("Error processing share URL:", error);
			return null;
		}
	}
	/**
	* 获取文件播放链接
	* 
	* 通过contentId和linkID获取文件的直接播放链接
	* 
	* @async
	* @param {string} contentId - 文件内容ID
	* @param {string} linkID - 分享链接ID
	* @returns {Promise<string|undefined>} 播放链接，失败时返回undefined
	*/
	async getSharePlay(contentId, linkID) {
		let data = {
			"getContentInfoFromOutLinkReq": {
				"contentId": contentId.split("/")[1],
				"linkID": linkID,
				"account": ""
			},
			"commonAccountInfo": {
				"account": "",
				"accountType": 1
			}
		};
		let resp = await axios$1.post(this.baseUrl + "getContentInfoFromOutLink", data, { headers: {
			"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
			"Accept": "application/json, text/plain, */*",
			"Accept-Encoding": "gzip, deflate, br, zstd",
			"Content-Type": "application/json"
		} });
		if (resp.status === 200 && resp.data.data !== null) {
			let data = resp.data;
			return data.data.contentInfo.presentURL;
		}
	}
	/**
	* 获取文件下载链接
	* 
	* 通过contentId和linkID获取文件的直接下载链接（需要登录）
	* 
	* @async
	* @param {string} contentId - 文件内容ID
	* @param {string} linkID - 分享链接ID
	* @returns {Promise<string|undefined>} 下载链接，失败时返回undefined
	*/
	async getDownload(contentId, linkID) {
		await this.init();
		let data = this.encrypt(JSON.stringify({
			"dlFromOutLinkReqV3": {
				"linkID": linkID,
				"account": this.account,
				"coIDLst": { "item": [contentId] }
			},
			"commonAccountInfo": {
				"account": this.account,
				"accountType": 1
			}
		}));
		let resp = await axios$1.post(this.baseUrl + "dlFromOutLinkV3", data, { headers: {
			"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36",
			"Connection": "keep-alive",
			"Accept": "application/json, text/plain, */*",
			"Accept-Encoding": "gzip, deflate, br",
			"Content-Type": "application/json",
			"accept-language": "zh,en-GB;q=0.9,en-US;q=0.8,en;q=0.7,zh-CN;q=0.6",
			"authorization": this.authorization,
			"content-type": "application/json;charset=UTF-8",
			"hcy-cool-flag": "1",
			"x-deviceinfo": "||3|12.27.0|chrome|136.0.0.0|189f4426ca008b9cbe9bf9bd79723d77||windows 10|1536X695|zh|||"
		} });
		if (resp.status === 200) {
			let json = JSON.parse(this.decrypt(resp.data));
			return json.data.redrUrl;
		}
	}
};
const Yun$1 = new YunDrive();

//#endregion
//#region ../utils/pans.js
/**
* 网盘服务模块集合
* 统一导入和导出各种网盘服务提供商的实现
* 
* 支持的网盘服务：
* - Ali: 阿里云盘服务
* - Baidu: 百度网盘服务
* - Baidu2: 百度网盘服务（第二版本）
* - Cloud: 天翼云盘服务
* - Pan: 123网盘服务
* - Quark: 夸克网盘服务
* - UC: UC网盘服务
* - Yun: 115网盘服务
* 
* @example
* import pans from './pans.js';
* const aliPan = new pans.Ali(config);
* const files = await aliPan.getFileList();
*/
var pans_default = {
	Ali: Ali$1,
	Baidu: Baidu$1,
	Baidu2: Baidu2$1,
	Cloud: Cloud$1,
	Pan: Pan$1,
	Quark: Quark$1,
	UC: UC$1,
	Yun: Yun$1
};

//#endregion
//#region ../node_modules/cheerio/dist/esm/options.js
const defaultOpts$2 = { _useHtmlParser2: false };
/**
* Flatten the options for Cheerio.
*
* This will set `_useHtmlParser2` to true if `xml` is set to true.
*
* @param options - The options to flatten.
* @param baseOptions - The base options to use.
* @returns The flattened options.
*/
function flattenOptions(options, baseOptions) {
	if (!options) {
		return baseOptions !== null && baseOptions !== void 0 ? baseOptions : defaultOpts$2;
	}
	const opts = {
		_useHtmlParser2: !!options.xmlMode,
		...baseOptions,
		...options
	};
	if (options.xml) {
		opts._useHtmlParser2 = true;
		opts.xmlMode = true;
		if (options.xml !== true) {
			Object.assign(opts, options.xml);
		}
	} else if (options.xmlMode) {
		opts._useHtmlParser2 = true;
	}
	return opts;
}

//#endregion
//#region ../node_modules/domelementtype/lib/esm/index.js
/** Types of elements found in htmlparser2's DOM */
var ElementType;
(function(ElementType) {
	/** Type for the root element of a document */
	ElementType["Root"] = "root";
	/** Type for Text */
	ElementType["Text"] = "text";
	/** Type for <? ... ?> */
	ElementType["Directive"] = "directive";
	/** Type for <!-- ... --> */
	ElementType["Comment"] = "comment";
	/** Type for <script> tags */
	ElementType["Script"] = "script";
	/** Type for <style> tags */
	ElementType["Style"] = "style";
	/** Type for Any tag */
	ElementType["Tag"] = "tag";
	/** Type for <![CDATA[ ... ]]> */
	ElementType["CDATA"] = "cdata";
	/** Type for <!doctype ...> */
	ElementType["Doctype"] = "doctype";
})(ElementType || (ElementType = {}));
/**
* Tests whether an element is a tag or not.
*
* @param elem Element to test
*/
function isTag$1(elem) {
	return elem.type === ElementType.Tag || elem.type === ElementType.Script || elem.type === ElementType.Style;
}
/** Type for the root element of a document */
const Root = ElementType.Root;
/** Type for Text */
const Text$1 = ElementType.Text;
/** Type for <? ... ?> */
const Directive = ElementType.Directive;
/** Type for <!-- ... --> */
const Comment$1 = ElementType.Comment;
/** Type for <script> tags */
const Script = ElementType.Script;
/** Type for <style> tags */
const Style = ElementType.Style;
/** Type for Any tag */
const Tag = ElementType.Tag;
/** Type for <![CDATA[ ... ]]> */
const CDATA$1 = ElementType.CDATA;
/** Type for <!doctype ...> */
const Doctype = ElementType.Doctype;

//#endregion
//#region ../node_modules/domhandler/lib/esm/node.js
/**
* This object will be used as the prototype for Nodes when creating a
* DOM-Level-1-compliant structure.
*/
var Node = class {
	constructor() {
		/** Parent of the node */
		this.parent = null;
		/** Previous sibling */
		this.prev = null;
		/** Next sibling */
		this.next = null;
		/** The start index of the node. Requires `withStartIndices` on the handler to be `true. */
		this.startIndex = null;
		/** The end index of the node. Requires `withEndIndices` on the handler to be `true. */
		this.endIndex = null;
	}
	/**
	* Same as {@link parent}.
	* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
	*/
	get parentNode() {
		return this.parent;
	}
	set parentNode(parent) {
		this.parent = parent;
	}
	/**
	* Same as {@link prev}.
	* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
	*/
	get previousSibling() {
		return this.prev;
	}
	set previousSibling(prev) {
		this.prev = prev;
	}
	/**
	* Same as {@link next}.
	* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
	*/
	get nextSibling() {
		return this.next;
	}
	set nextSibling(next) {
		this.next = next;
	}
	/**
	* Clone this node, and optionally its children.
	*
	* @param recursive Clone child nodes as well.
	* @returns A clone of the node.
	*/
	cloneNode(recursive = false) {
		return cloneNode(this, recursive);
	}
};
/**
* A node that contains some data.
*/
var DataNode = class extends Node {
	/**
	* @param data The content of the data node
	*/
	constructor(data) {
		super();
		this.data = data;
	}
	/**
	* Same as {@link data}.
	* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
	*/
	get nodeValue() {
		return this.data;
	}
	set nodeValue(data) {
		this.data = data;
	}
};
/**
* Text within the document.
*/
var Text = class extends DataNode {
	constructor() {
		super(...arguments);
		this.type = ElementType.Text;
	}
	get nodeType() {
		return 3;
	}
};
/**
* Comments within the document.
*/
var Comment = class extends DataNode {
	constructor() {
		super(...arguments);
		this.type = ElementType.Comment;
	}
	get nodeType() {
		return 8;
	}
};
/**
* Processing instructions, including doc types.
*/
var ProcessingInstruction = class extends DataNode {
	constructor(name, data) {
		super(data);
		this.name = name;
		this.type = ElementType.Directive;
	}
	get nodeType() {
		return 1;
	}
};
/**
* A `Node` that can have children.
*/
var NodeWithChildren = class extends Node {
	/**
	* @param children Children of the node. Only certain node types can have children.
	*/
	constructor(children) {
		super();
		this.children = children;
	}
	/** First child of the node. */
	get firstChild() {
		var _a;
		return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null;
	}
	/** Last child of the node. */
	get lastChild() {
		return this.children.length > 0 ? this.children[this.children.length - 1] : null;
	}
	/**
	* Same as {@link children}.
	* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
	*/
	get childNodes() {
		return this.children;
	}
	set childNodes(children) {
		this.children = children;
	}
};
var CDATA = class extends NodeWithChildren {
	constructor() {
		super(...arguments);
		this.type = ElementType.CDATA;
	}
	get nodeType() {
		return 4;
	}
};
/**
* The root node of the document.
*/
var Document = class extends NodeWithChildren {
	constructor() {
		super(...arguments);
		this.type = ElementType.Root;
	}
	get nodeType() {
		return 9;
	}
};
/**
* An element within the DOM.
*/
var Element = class extends NodeWithChildren {
	/**
	* @param name Name of the tag, eg. `div`, `span`.
	* @param attribs Object mapping attribute names to attribute values.
	* @param children Children of the node.
	*/
	constructor(name, attribs, children = [], type = name === "script" ? ElementType.Script : name === "style" ? ElementType.Style : ElementType.Tag) {
		super(children);
		this.name = name;
		this.attribs = attribs;
		this.type = type;
	}
	get nodeType() {
		return 1;
	}
	/**
	* Same as {@link name}.
	* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
	*/
	get tagName() {
		return this.name;
	}
	set tagName(name) {
		this.name = name;
	}
	get attributes() {
		return Object.keys(this.attribs).map((name) => {
			var _a, _b;
			return {
				name,
				value: this.attribs[name],
				namespace: (_a = this["x-attribsNamespace"]) === null || _a === void 0 ? void 0 : _a[name],
				prefix: (_b = this["x-attribsPrefix"]) === null || _b === void 0 ? void 0 : _b[name]
			};
		});
	}
};
/**
* @param node Node to check.
* @returns `true` if the node is a `Element`, `false` otherwise.
*/
function isTag(node) {
	return isTag$1(node);
}
/**
* @param node Node to check.
* @returns `true` if the node has the type `CDATA`, `false` otherwise.
*/
function isCDATA(node) {
	return node.type === ElementType.CDATA;
}
/**
* @param node Node to check.
* @returns `true` if the node has the type `Text`, `false` otherwise.
*/
function isText(node) {
	return node.type === ElementType.Text;
}
/**
* @param node Node to check.
* @returns `true` if the node has the type `Comment`, `false` otherwise.
*/
function isComment(node) {
	return node.type === ElementType.Comment;
}
/**
* @param node Node to check.
* @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.
*/
function isDirective(node) {
	return node.type === ElementType.Directive;
}
/**
* @param node Node to check.
* @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.
*/
function isDocument(node) {
	return node.type === ElementType.Root;
}
/**
* @param node Node to check.
* @returns `true` if the node has children, `false` otherwise.
*/
function hasChildren(node) {
	return Object.prototype.hasOwnProperty.call(node, "children");
}
/**
* Clone a node, and optionally its children.
*
* @param recursive Clone child nodes as well.
* @returns A clone of the node.
*/
function cloneNode(node, recursive = false) {
	let result;
	if (isText(node)) {
		result = new Text(node.data);
	} else if (isComment(node)) {
		result = new Comment(node.data);
	} else if (isTag(node)) {
		const children = recursive ? cloneChildren(node.children) : [];
		const clone = new Element(node.name, { ...node.attribs }, children);
		children.forEach((child) => child.parent = clone);
		if (node.namespace != null) {
			clone.namespace = node.namespace;
		}
		if (node["x-attribsNamespace"]) {
			clone["x-attribsNamespace"] = { ...node["x-attribsNamespace"] };
		}
		if (node["x-attribsPrefix"]) {
			clone["x-attribsPrefix"] = { ...node["x-attribsPrefix"] };
		}
		result = clone;
	} else if (isCDATA(node)) {
		const children = recursive ? cloneChildren(node.children) : [];
		const clone = new CDATA(children);
		children.forEach((child) => child.parent = clone);
		result = clone;
	} else if (isDocument(node)) {
		const children = recursive ? cloneChildren(node.children) : [];
		const clone = new Document(children);
		children.forEach((child) => child.parent = clone);
		if (node["x-mode"]) {
			clone["x-mode"] = node["x-mode"];
		}
		result = clone;
	} else if (isDirective(node)) {
		const instruction = new ProcessingInstruction(node.name, node.data);
		if (node["x-name"] != null) {
			instruction["x-name"] = node["x-name"];
			instruction["x-publicId"] = node["x-publicId"];
			instruction["x-systemId"] = node["x-systemId"];
		}
		result = instruction;
	} else {
		throw new Error(`Not implemented yet: ${node.type}`);
	}
	result.startIndex = node.startIndex;
	result.endIndex = node.endIndex;
	if (node.sourceCodeLocation != null) {
		result.sourceCodeLocation = node.sourceCodeLocation;
	}
	return result;
}
function cloneChildren(childs) {
	const children = childs.map((child) => cloneNode(child, true));
	for (let i = 1; i < children.length; i++) {
		children[i].prev = children[i - 1];
		children[i - 1].next = children[i];
	}
	return children;
}

//#endregion
//#region ../node_modules/domhandler/lib/esm/index.js
const defaultOpts$1 = {
	withStartIndices: false,
	withEndIndices: false,
	xmlMode: false
};
var DomHandler = class {
	/**
	* @param callback Called once parsing has completed.
	* @param options Settings for the handler.
	* @param elementCB Callback whenever a tag is closed.
	*/
	constructor(callback, options, elementCB) {
		/** The elements of the DOM */
		this.dom = [];
		/** The root element for the DOM */
		this.root = new Document(this.dom);
		/** Indicated whether parsing has been completed. */
		this.done = false;
		/** Stack of open tags. */
		this.tagStack = [this.root];
		/** A data node that is still being written to. */
		this.lastNode = null;
		/** Reference to the parser instance. Used for location information. */
		this.parser = null;
		if (typeof options === "function") {
			elementCB = options;
			options = defaultOpts$1;
		}
		if (typeof callback === "object") {
			options = callback;
			callback = undefined;
		}
		this.callback = callback !== null && callback !== void 0 ? callback : null;
		this.options = options !== null && options !== void 0 ? options : defaultOpts$1;
		this.elementCB = elementCB !== null && elementCB !== void 0 ? elementCB : null;
	}
	onparserinit(parser) {
		this.parser = parser;
	}
	onreset() {
		this.dom = [];
		this.root = new Document(this.dom);
		this.done = false;
		this.tagStack = [this.root];
		this.lastNode = null;
		this.parser = null;
	}
	onend() {
		if (this.done) return;
		this.done = true;
		this.parser = null;
		this.handleCallback(null);
	}
	onerror(error) {
		this.handleCallback(error);
	}
	onclosetag() {
		this.lastNode = null;
		const elem = this.tagStack.pop();
		if (this.options.withEndIndices) {
			elem.endIndex = this.parser.endIndex;
		}
		if (this.elementCB) this.elementCB(elem);
	}
	onopentag(name, attribs) {
		const type = this.options.xmlMode ? ElementType.Tag : undefined;
		const element = new Element(name, attribs, undefined, type);
		this.addNode(element);
		this.tagStack.push(element);
	}
	ontext(data) {
		const { lastNode } = this;
		if (lastNode && lastNode.type === ElementType.Text) {
			lastNode.data += data;
			if (this.options.withEndIndices) {
				lastNode.endIndex = this.parser.endIndex;
			}
		} else {
			const node = new Text(data);
			this.addNode(node);
			this.lastNode = node;
		}
	}
	oncomment(data) {
		if (this.lastNode && this.lastNode.type === ElementType.Comment) {
			this.lastNode.data += data;
			return;
		}
		const node = new Comment(data);
		this.addNode(node);
		this.lastNode = node;
	}
	oncommentend() {
		this.lastNode = null;
	}
	oncdatastart() {
		const text = new Text("");
		const node = new CDATA([text]);
		this.addNode(node);
		text.parent = node;
		this.lastNode = text;
	}
	oncdataend() {
		this.lastNode = null;
	}
	onprocessinginstruction(name, data) {
		const node = new ProcessingInstruction(name, data);
		this.addNode(node);
	}
	handleCallback(error) {
		if (typeof this.callback === "function") {
			this.callback(error, this.dom);
		} else if (error) {
			throw error;
		}
	}
	addNode(node) {
		const parent = this.tagStack[this.tagStack.length - 1];
		const previousSibling = parent.children[parent.children.length - 1];
		if (this.options.withStartIndices) {
			node.startIndex = this.parser.startIndex;
		}
		if (this.options.withEndIndices) {
			node.endIndex = this.parser.endIndex;
		}
		parent.children.push(node);
		if (previousSibling) {
			node.prev = previousSibling;
			previousSibling.next = node;
		}
		node.parent = parent;
		this.lastNode = null;
	}
};

//#endregion
//#region ../node_modules/entities/lib/esm/generated/decode-data-html.js
var decode_data_html_default = new Uint16Array("ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTǇǋǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻\"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉ǲኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻ǲᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤĳạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ﬃɩᾹ\0\0᾽g;耀ﬀig;耀ﬄ;쀀𝔣lig;耀ﬁlig;쀀fjƀaltῙ῜ῡt;晭ig;耀ﬂns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒α‚‰‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସǳ⧟\0⧣p肻\xA0ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗǈⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼ǲ㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌".split("").map((c) => c.charCodeAt(0)));

//#endregion
//#region ../node_modules/entities/lib/esm/generated/decode-data-xml.js
var decode_data_xml_default = new Uint16Array("Ȁaglq	\x1Bɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map((c) => c.charCodeAt(0)));

//#endregion
//#region ../node_modules/entities/lib/esm/decode_codepoint.js
var _a$3;
const decodeMap$2 = new Map([
	[0, 65533],
	[128, 8364],
	[130, 8218],
	[131, 402],
	[132, 8222],
	[133, 8230],
	[134, 8224],
	[135, 8225],
	[136, 710],
	[137, 8240],
	[138, 352],
	[139, 8249],
	[140, 338],
	[142, 381],
	[145, 8216],
	[146, 8217],
	[147, 8220],
	[148, 8221],
	[149, 8226],
	[150, 8211],
	[151, 8212],
	[152, 732],
	[153, 8482],
	[154, 353],
	[155, 8250],
	[156, 339],
	[158, 382],
	[159, 376]
]);
/**
* Polyfill for `String.fromCodePoint`. It is used to create a string from a Unicode code point.
*/
const fromCodePoint$2 = (_a$3 = String.fromCodePoint) !== null && _a$3 !== void 0 ? _a$3 : function(codePoint) {
	let output = "";
	if (codePoint > 65535) {
		codePoint -= 65536;
		output += String.fromCharCode(codePoint >>> 10 & 1023 | 55296);
		codePoint = 56320 | codePoint & 1023;
	}
	output += String.fromCharCode(codePoint);
	return output;
};
/**
* Replace the given code point with a replacement character if it is a
* surrogate or is outside the valid range. Otherwise return the code
* point unchanged.
*/
function replaceCodePoint$2(codePoint) {
	var _a;
	if (codePoint >= 55296 && codePoint <= 57343 || codePoint > 1114111) {
		return 65533;
	}
	return (_a = decodeMap$2.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint;
}
/**
* Replace the code point if relevant, then convert it to a string.
*
* @deprecated Use `fromCodePoint(replaceCodePoint(codePoint))` instead.
* @param codePoint The code point to decode.
* @returns The decoded code point.
*/
function decodeCodePoint$2(codePoint) {
	return fromCodePoint$2(replaceCodePoint$2(codePoint));
}

//#endregion
//#region ../node_modules/entities/lib/esm/decode.js
var CharCodes$3;
(function(CharCodes) {
	CharCodes[CharCodes["NUM"] = 35] = "NUM";
	CharCodes[CharCodes["SEMI"] = 59] = "SEMI";
	CharCodes[CharCodes["EQUALS"] = 61] = "EQUALS";
	CharCodes[CharCodes["ZERO"] = 48] = "ZERO";
	CharCodes[CharCodes["NINE"] = 57] = "NINE";
	CharCodes[CharCodes["LOWER_A"] = 97] = "LOWER_A";
	CharCodes[CharCodes["LOWER_F"] = 102] = "LOWER_F";
	CharCodes[CharCodes["LOWER_X"] = 120] = "LOWER_X";
	CharCodes[CharCodes["LOWER_Z"] = 122] = "LOWER_Z";
	CharCodes[CharCodes["UPPER_A"] = 65] = "UPPER_A";
	CharCodes[CharCodes["UPPER_F"] = 70] = "UPPER_F";
	CharCodes[CharCodes["UPPER_Z"] = 90] = "UPPER_Z";
})(CharCodes$3 || (CharCodes$3 = {}));
/** Bit that needs to be set to convert an upper case ASCII character to lower case */
const TO_LOWER_BIT$2 = 32;
var BinTrieFlags$2;
(function(BinTrieFlags) {
	BinTrieFlags[BinTrieFlags["VALUE_LENGTH"] = 49152] = "VALUE_LENGTH";
	BinTrieFlags[BinTrieFlags["BRANCH_LENGTH"] = 16256] = "BRANCH_LENGTH";
	BinTrieFlags[BinTrieFlags["JUMP_TABLE"] = 127] = "JUMP_TABLE";
})(BinTrieFlags$2 || (BinTrieFlags$2 = {}));
function isNumber$3(code) {
	return code >= CharCodes$3.ZERO && code <= CharCodes$3.NINE;
}
function isHexadecimalCharacter$2(code) {
	return code >= CharCodes$3.UPPER_A && code <= CharCodes$3.UPPER_F || code >= CharCodes$3.LOWER_A && code <= CharCodes$3.LOWER_F;
}
function isAsciiAlphaNumeric$3(code) {
	return code >= CharCodes$3.UPPER_A && code <= CharCodes$3.UPPER_Z || code >= CharCodes$3.LOWER_A && code <= CharCodes$3.LOWER_Z || isNumber$3(code);
}
/**
* Checks if the given character is a valid end character for an entity in an attribute.
*
* Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error.
* See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state
*/
function isEntityInAttributeInvalidEnd$2(code) {
	return code === CharCodes$3.EQUALS || isAsciiAlphaNumeric$3(code);
}
var EntityDecoderState$2;
(function(EntityDecoderState) {
	EntityDecoderState[EntityDecoderState["EntityStart"] = 0] = "EntityStart";
	EntityDecoderState[EntityDecoderState["NumericStart"] = 1] = "NumericStart";
	EntityDecoderState[EntityDecoderState["NumericDecimal"] = 2] = "NumericDecimal";
	EntityDecoderState[EntityDecoderState["NumericHex"] = 3] = "NumericHex";
	EntityDecoderState[EntityDecoderState["NamedEntity"] = 4] = "NamedEntity";
})(EntityDecoderState$2 || (EntityDecoderState$2 = {}));
var DecodingMode$2;
(function(DecodingMode) {
	/** Entities in text nodes that can end with any character. */
	DecodingMode[DecodingMode["Legacy"] = 0] = "Legacy";
	/** Only allow entities terminated with a semicolon. */
	DecodingMode[DecodingMode["Strict"] = 1] = "Strict";
	/** Entities in attributes have limitations on ending characters. */
	DecodingMode[DecodingMode["Attribute"] = 2] = "Attribute";
})(DecodingMode$2 || (DecodingMode$2 = {}));
/**
* Token decoder with support of writing partial entities.
*/
var EntityDecoder$2 = class {
	constructor(decodeTree, emitCodePoint, errors) {
		this.decodeTree = decodeTree;
		this.emitCodePoint = emitCodePoint;
		this.errors = errors;
		/** The current state of the decoder. */
		this.state = EntityDecoderState$2.EntityStart;
		/** Characters that were consumed while parsing an entity. */
		this.consumed = 1;
		/**
		* The result of the entity.
		*
		* Either the result index of a numeric entity, or the codepoint of a
		* numeric entity.
		*/
		this.result = 0;
		/** The current index in the decode tree. */
		this.treeIndex = 0;
		/** The number of characters that were consumed in excess. */
		this.excess = 1;
		/** The mode in which the decoder is operating. */
		this.decodeMode = DecodingMode$2.Strict;
	}
	/** Resets the instance to make it reusable. */
	startEntity(decodeMode) {
		this.decodeMode = decodeMode;
		this.state = EntityDecoderState$2.EntityStart;
		this.result = 0;
		this.treeIndex = 0;
		this.excess = 1;
		this.consumed = 1;
	}
	/**
	* Write an entity to the decoder. This can be called multiple times with partial entities.
	* If the entity is incomplete, the decoder will return -1.
	*
	* Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the
	* entity is incomplete, and resume when the next string is written.
	*
	* @param string The string containing the entity (or a continuation of the entity).
	* @param offset The offset at which the entity begins. Should be 0 if this is not the first call.
	* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
	*/
	write(str, offset) {
		switch (this.state) {
			case EntityDecoderState$2.EntityStart: {
				if (str.charCodeAt(offset) === CharCodes$3.NUM) {
					this.state = EntityDecoderState$2.NumericStart;
					this.consumed += 1;
					return this.stateNumericStart(str, offset + 1);
				}
				this.state = EntityDecoderState$2.NamedEntity;
				return this.stateNamedEntity(str, offset);
			}
			case EntityDecoderState$2.NumericStart: {
				return this.stateNumericStart(str, offset);
			}
			case EntityDecoderState$2.NumericDecimal: {
				return this.stateNumericDecimal(str, offset);
			}
			case EntityDecoderState$2.NumericHex: {
				return this.stateNumericHex(str, offset);
			}
			case EntityDecoderState$2.NamedEntity: {
				return this.stateNamedEntity(str, offset);
			}
		}
	}
	/**
	* Switches between the numeric decimal and hexadecimal states.
	*
	* Equivalent to the `Numeric character reference state` in the HTML spec.
	*
	* @param str The string containing the entity (or a continuation of the entity).
	* @param offset The current offset.
	* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
	*/
	stateNumericStart(str, offset) {
		if (offset >= str.length) {
			return -1;
		}
		if ((str.charCodeAt(offset) | TO_LOWER_BIT$2) === CharCodes$3.LOWER_X) {
			this.state = EntityDecoderState$2.NumericHex;
			this.consumed += 1;
			return this.stateNumericHex(str, offset + 1);
		}
		this.state = EntityDecoderState$2.NumericDecimal;
		return this.stateNumericDecimal(str, offset);
	}
	addToNumericResult(str, start, end, base) {
		if (start !== end) {
			const digitCount = end - start;
			this.result = this.result * Math.pow(base, digitCount) + parseInt(str.substr(start, digitCount), base);
			this.consumed += digitCount;
		}
	}
	/**
	* Parses a hexadecimal numeric entity.
	*
	* Equivalent to the `Hexademical character reference state` in the HTML spec.
	*
	* @param str The string containing the entity (or a continuation of the entity).
	* @param offset The current offset.
	* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
	*/
	stateNumericHex(str, offset) {
		const startIdx = offset;
		while (offset < str.length) {
			const char = str.charCodeAt(offset);
			if (isNumber$3(char) || isHexadecimalCharacter$2(char)) {
				offset += 1;
			} else {
				this.addToNumericResult(str, startIdx, offset, 16);
				return this.emitNumericEntity(char, 3);
			}
		}
		this.addToNumericResult(str, startIdx, offset, 16);
		return -1;
	}
	/**
	* Parses a decimal numeric entity.
	*
	* Equivalent to the `Decimal character reference state` in the HTML spec.
	*
	* @param str The string containing the entity (or a continuation of the entity).
	* @param offset The current offset.
	* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
	*/
	stateNumericDecimal(str, offset) {
		const startIdx = offset;
		while (offset < str.length) {
			const char = str.charCodeAt(offset);
			if (isNumber$3(char)) {
				offset += 1;
			} else {
				this.addToNumericResult(str, startIdx, offset, 10);
				return this.emitNumericEntity(char, 2);
			}
		}
		this.addToNumericResult(str, startIdx, offset, 10);
		return -1;
	}
	/**
	* Validate and emit a numeric entity.
	*
	* Implements the logic from the `Hexademical character reference start
	* state` and `Numeric character reference end state` in the HTML spec.
	*
	* @param lastCp The last code point of the entity. Used to see if the
	*               entity was terminated with a semicolon.
	* @param expectedLength The minimum number of characters that should be
	*                       consumed. Used to validate that at least one digit
	*                       was consumed.
	* @returns The number of characters that were consumed.
	*/
	emitNumericEntity(lastCp, expectedLength) {
		var _a;
		if (this.consumed <= expectedLength) {
			(_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);
			return 0;
		}
		if (lastCp === CharCodes$3.SEMI) {
			this.consumed += 1;
		} else if (this.decodeMode === DecodingMode$2.Strict) {
			return 0;
		}
		this.emitCodePoint(replaceCodePoint$2(this.result), this.consumed);
		if (this.errors) {
			if (lastCp !== CharCodes$3.SEMI) {
				this.errors.missingSemicolonAfterCharacterReference();
			}
			this.errors.validateNumericCharacterReference(this.result);
		}
		return this.consumed;
	}
	/**
	* Parses a named entity.
	*
	* Equivalent to the `Named character reference state` in the HTML spec.
	*
	* @param str The string containing the entity (or a continuation of the entity).
	* @param offset The current offset.
	* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
	*/
	stateNamedEntity(str, offset) {
		const { decodeTree } = this;
		let current = decodeTree[this.treeIndex];
		let valueLength = (current & BinTrieFlags$2.VALUE_LENGTH) >> 14;
		for (; offset < str.length; offset++, this.excess++) {
			const char = str.charCodeAt(offset);
			this.treeIndex = determineBranch$2(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char);
			if (this.treeIndex < 0) {
				return this.result === 0 || this.decodeMode === DecodingMode$2.Attribute && (valueLength === 0 || isEntityInAttributeInvalidEnd$2(char)) ? 0 : this.emitNotTerminatedNamedEntity();
			}
			current = decodeTree[this.treeIndex];
			valueLength = (current & BinTrieFlags$2.VALUE_LENGTH) >> 14;
			if (valueLength !== 0) {
				if (char === CharCodes$3.SEMI) {
					return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess);
				}
				if (this.decodeMode !== DecodingMode$2.Strict) {
					this.result = this.treeIndex;
					this.consumed += this.excess;
					this.excess = 0;
				}
			}
		}
		return -1;
	}
	/**
	* Emit a named entity that was not terminated with a semicolon.
	*
	* @returns The number of characters consumed.
	*/
	emitNotTerminatedNamedEntity() {
		var _a;
		const { result, decodeTree } = this;
		const valueLength = (decodeTree[result] & BinTrieFlags$2.VALUE_LENGTH) >> 14;
		this.emitNamedEntityData(result, valueLength, this.consumed);
		(_a = this.errors) === null || _a === void 0 ? void 0 : _a.missingSemicolonAfterCharacterReference();
		return this.consumed;
	}
	/**
	* Emit a named entity.
	*
	* @param result The index of the entity in the decode tree.
	* @param valueLength The number of bytes in the entity.
	* @param consumed The number of characters consumed.
	*
	* @returns The number of characters consumed.
	*/
	emitNamedEntityData(result, valueLength, consumed) {
		const { decodeTree } = this;
		this.emitCodePoint(valueLength === 1 ? decodeTree[result] & ~BinTrieFlags$2.VALUE_LENGTH : decodeTree[result + 1], consumed);
		if (valueLength === 3) {
			this.emitCodePoint(decodeTree[result + 2], consumed);
		}
		return consumed;
	}
	/**
	* Signal to the parser that the end of the input was reached.
	*
	* Remaining data will be emitted and relevant errors will be produced.
	*
	* @returns The number of characters consumed.
	*/
	end() {
		var _a;
		switch (this.state) {
			case EntityDecoderState$2.NamedEntity: {
				return this.result !== 0 && (this.decodeMode !== DecodingMode$2.Attribute || this.result === this.treeIndex) ? this.emitNotTerminatedNamedEntity() : 0;
			}
			case EntityDecoderState$2.NumericDecimal: {
				return this.emitNumericEntity(0, 2);
			}
			case EntityDecoderState$2.NumericHex: {
				return this.emitNumericEntity(0, 3);
			}
			case EntityDecoderState$2.NumericStart: {
				(_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);
				return 0;
			}
			case EntityDecoderState$2.EntityStart: {
				return 0;
			}
		}
	}
};
/**
* Creates a function that decodes entities in a string.
*
* @param decodeTree The decode tree.
* @returns A function that decodes entities in a string.
*/
function getDecoder$2(decodeTree) {
	let ret = "";
	const decoder = new EntityDecoder$2(decodeTree, (str) => ret += fromCodePoint$2(str));
	return function decodeWithTrie(str, decodeMode) {
		let lastIndex = 0;
		let offset = 0;
		while ((offset = str.indexOf("&", offset)) >= 0) {
			ret += str.slice(lastIndex, offset);
			decoder.startEntity(decodeMode);
			const len = decoder.write(str, offset + 1);
			if (len < 0) {
				lastIndex = offset + decoder.end();
				break;
			}
			lastIndex = offset + len;
			offset = len === 0 ? lastIndex + 1 : lastIndex;
		}
		const result = ret + str.slice(lastIndex);
		ret = "";
		return result;
	};
}
/**
* Determines the branch of the current node that is taken given the current
* character. This function is used to traverse the trie.
*
* @param decodeTree The trie.
* @param current The current node.
* @param nodeIdx The index right after the current node and its value.
* @param char The current character.
* @returns The index of the next node, or -1 if no branch is taken.
*/
function determineBranch$2(decodeTree, current, nodeIdx, char) {
	const branchCount = (current & BinTrieFlags$2.BRANCH_LENGTH) >> 7;
	const jumpOffset = current & BinTrieFlags$2.JUMP_TABLE;
	if (branchCount === 0) {
		return jumpOffset !== 0 && char === jumpOffset ? nodeIdx : -1;
	}
	if (jumpOffset) {
		const value = char - jumpOffset;
		return value < 0 || value >= branchCount ? -1 : decodeTree[nodeIdx + value] - 1;
	}
	let lo = nodeIdx;
	let hi = lo + branchCount - 1;
	while (lo <= hi) {
		const mid = lo + hi >>> 1;
		const midVal = decodeTree[mid];
		if (midVal < char) {
			lo = mid + 1;
		} else if (midVal > char) {
			hi = mid - 1;
		} else {
			return decodeTree[mid + branchCount];
		}
	}
	return -1;
}
const htmlDecoder$2 = getDecoder$2(decode_data_html_default);
const xmlDecoder$2 = getDecoder$2(decode_data_xml_default);
/**
* Decodes an HTML string.
*
* @param str The string to decode.
* @param mode The decoding mode.
* @returns The decoded string.
*/
function decodeHTML$2(str, mode = DecodingMode$2.Legacy) {
	return htmlDecoder$2(str, mode);
}
/**
* Decodes an HTML string in an attribute.
*
* @param str The string to decode.
* @returns The decoded string.
*/
function decodeHTMLAttribute$2(str) {
	return htmlDecoder$2(str, DecodingMode$2.Attribute);
}
/**
* Decodes an HTML string, requiring all entities to be terminated by a semicolon.
*
* @param str The string to decode.
* @returns The decoded string.
*/
function decodeHTMLStrict$2(str) {
	return htmlDecoder$2(str, DecodingMode$2.Strict);
}
/**
* Decodes an XML string, requiring all entities to be terminated by a semicolon.
*
* @param str The string to decode.
* @returns The decoded string.
*/
function decodeXML$2(str) {
	return xmlDecoder$2(str, DecodingMode$2.Strict);
}

//#endregion
//#region ../node_modules/entities/lib/esm/generated/encode-html.js
function restoreDiff(arr) {
	for (let i = 1; i < arr.length; i++) {
		arr[i][0] += arr[i - 1][0] + 1;
	}
	return arr;
}
var encode_html_default = new Map(/* @__PURE__ */ restoreDiff([
	[9, "&Tab;"],
	[0, "&NewLine;"],
	[22, "&excl;"],
	[0, "&quot;"],
	[0, "&num;"],
	[0, "&dollar;"],
	[0, "&percnt;"],
	[0, "&amp;"],
	[0, "&apos;"],
	[0, "&lpar;"],
	[0, "&rpar;"],
	[0, "&ast;"],
	[0, "&plus;"],
	[0, "&comma;"],
	[1, "&period;"],
	[0, "&sol;"],
	[10, "&colon;"],
	[0, "&semi;"],
	[0, {
		v: "&lt;",
		n: 8402,
		o: "&nvlt;"
	}],
	[0, {
		v: "&equals;",
		n: 8421,
		o: "&bne;"
	}],
	[0, {
		v: "&gt;",
		n: 8402,
		o: "&nvgt;"
	}],
	[0, "&quest;"],
	[0, "&commat;"],
	[26, "&lbrack;"],
	[0, "&bsol;"],
	[0, "&rbrack;"],
	[0, "&Hat;"],
	[0, "&lowbar;"],
	[0, "&DiacriticalGrave;"],
	[5, {
		n: 106,
		o: "&fjlig;"
	}],
	[20, "&lbrace;"],
	[0, "&verbar;"],
	[0, "&rbrace;"],
	[34, "&nbsp;"],
	[0, "&iexcl;"],
	[0, "&cent;"],
	[0, "&pound;"],
	[0, "&curren;"],
	[0, "&yen;"],
	[0, "&brvbar;"],
	[0, "&sect;"],
	[0, "&die;"],
	[0, "&copy;"],
	[0, "&ordf;"],
	[0, "&laquo;"],
	[0, "&not;"],
	[0, "&shy;"],
	[0, "&circledR;"],
	[0, "&macr;"],
	[0, "&deg;"],
	[0, "&PlusMinus;"],
	[0, "&sup2;"],
	[0, "&sup3;"],
	[0, "&acute;"],
	[0, "&micro;"],
	[0, "&para;"],
	[0, "&centerdot;"],
	[0, "&cedil;"],
	[0, "&sup1;"],
	[0, "&ordm;"],
	[0, "&raquo;"],
	[0, "&frac14;"],
	[0, "&frac12;"],
	[0, "&frac34;"],
	[0, "&iquest;"],
	[0, "&Agrave;"],
	[0, "&Aacute;"],
	[0, "&Acirc;"],
	[0, "&Atilde;"],
	[0, "&Auml;"],
	[0, "&angst;"],
	[0, "&AElig;"],
	[0, "&Ccedil;"],
	[0, "&Egrave;"],
	[0, "&Eacute;"],
	[0, "&Ecirc;"],
	[0, "&Euml;"],
	[0, "&Igrave;"],
	[0, "&Iacute;"],
	[0, "&Icirc;"],
	[0, "&Iuml;"],
	[0, "&ETH;"],
	[0, "&Ntilde;"],
	[0, "&Ograve;"],
	[0, "&Oacute;"],
	[0, "&Ocirc;"],
	[0, "&Otilde;"],
	[0, "&Ouml;"],
	[0, "&times;"],
	[0, "&Oslash;"],
	[0, "&Ugrave;"],
	[0, "&Uacute;"],
	[0, "&Ucirc;"],
	[0, "&Uuml;"],
	[0, "&Yacute;"],
	[0, "&THORN;"],
	[0, "&szlig;"],
	[0, "&agrave;"],
	[0, "&aacute;"],
	[0, "&acirc;"],
	[0, "&atilde;"],
	[0, "&auml;"],
	[0, "&aring;"],
	[0, "&aelig;"],
	[0, "&ccedil;"],
	[0, "&egrave;"],
	[0, "&eacute;"],
	[0, "&ecirc;"],
	[0, "&euml;"],
	[0, "&igrave;"],
	[0, "&iacute;"],
	[0, "&icirc;"],
	[0, "&iuml;"],
	[0, "&eth;"],
	[0, "&ntilde;"],
	[0, "&ograve;"],
	[0, "&oacute;"],
	[0, "&ocirc;"],
	[0, "&otilde;"],
	[0, "&ouml;"],
	[0, "&div;"],
	[0, "&oslash;"],
	[0, "&ugrave;"],
	[0, "&uacute;"],
	[0, "&ucirc;"],
	[0, "&uuml;"],
	[0, "&yacute;"],
	[0, "&thorn;"],
	[0, "&yuml;"],
	[0, "&Amacr;"],
	[0, "&amacr;"],
	[0, "&Abreve;"],
	[0, "&abreve;"],
	[0, "&Aogon;"],
	[0, "&aogon;"],
	[0, "&Cacute;"],
	[0, "&cacute;"],
	[0, "&Ccirc;"],
	[0, "&ccirc;"],
	[0, "&Cdot;"],
	[0, "&cdot;"],
	[0, "&Ccaron;"],
	[0, "&ccaron;"],
	[0, "&Dcaron;"],
	[0, "&dcaron;"],
	[0, "&Dstrok;"],
	[0, "&dstrok;"],
	[0, "&Emacr;"],
	[0, "&emacr;"],
	[2, "&Edot;"],
	[0, "&edot;"],
	[0, "&Eogon;"],
	[0, "&eogon;"],
	[0, "&Ecaron;"],
	[0, "&ecaron;"],
	[0, "&Gcirc;"],
	[0, "&gcirc;"],
	[0, "&Gbreve;"],
	[0, "&gbreve;"],
	[0, "&Gdot;"],
	[0, "&gdot;"],
	[0, "&Gcedil;"],
	[1, "&Hcirc;"],
	[0, "&hcirc;"],
	[0, "&Hstrok;"],
	[0, "&hstrok;"],
	[0, "&Itilde;"],
	[0, "&itilde;"],
	[0, "&Imacr;"],
	[0, "&imacr;"],
	[2, "&Iogon;"],
	[0, "&iogon;"],
	[0, "&Idot;"],
	[0, "&imath;"],
	[0, "&IJlig;"],
	[0, "&ijlig;"],
	[0, "&Jcirc;"],
	[0, "&jcirc;"],
	[0, "&Kcedil;"],
	[0, "&kcedil;"],
	[0, "&kgreen;"],
	[0, "&Lacute;"],
	[0, "&lacute;"],
	[0, "&Lcedil;"],
	[0, "&lcedil;"],
	[0, "&Lcaron;"],
	[0, "&lcaron;"],
	[0, "&Lmidot;"],
	[0, "&lmidot;"],
	[0, "&Lstrok;"],
	[0, "&lstrok;"],
	[0, "&Nacute;"],
	[0, "&nacute;"],
	[0, "&Ncedil;"],
	[0, "&ncedil;"],
	[0, "&Ncaron;"],
	[0, "&ncaron;"],
	[0, "&napos;"],
	[0, "&ENG;"],
	[0, "&eng;"],
	[0, "&Omacr;"],
	[0, "&omacr;"],
	[2, "&Odblac;"],
	[0, "&odblac;"],
	[0, "&OElig;"],
	[0, "&oelig;"],
	[0, "&Racute;"],
	[0, "&racute;"],
	[0, "&Rcedil;"],
	[0, "&rcedil;"],
	[0, "&Rcaron;"],
	[0, "&rcaron;"],
	[0, "&Sacute;"],
	[0, "&sacute;"],
	[0, "&Scirc;"],
	[0, "&scirc;"],
	[0, "&Scedil;"],
	[0, "&scedil;"],
	[0, "&Scaron;"],
	[0, "&scaron;"],
	[0, "&Tcedil;"],
	[0, "&tcedil;"],
	[0, "&Tcaron;"],
	[0, "&tcaron;"],
	[0, "&Tstrok;"],
	[0, "&tstrok;"],
	[0, "&Utilde;"],
	[0, "&utilde;"],
	[0, "&Umacr;"],
	[0, "&umacr;"],
	[0, "&Ubreve;"],
	[0, "&ubreve;"],
	[0, "&Uring;"],
	[0, "&uring;"],
	[0, "&Udblac;"],
	[0, "&udblac;"],
	[0, "&Uogon;"],
	[0, "&uogon;"],
	[0, "&Wcirc;"],
	[0, "&wcirc;"],
	[0, "&Ycirc;"],
	[0, "&ycirc;"],
	[0, "&Yuml;"],
	[0, "&Zacute;"],
	[0, "&zacute;"],
	[0, "&Zdot;"],
	[0, "&zdot;"],
	[0, "&Zcaron;"],
	[0, "&zcaron;"],
	[19, "&fnof;"],
	[34, "&imped;"],
	[63, "&gacute;"],
	[65, "&jmath;"],
	[142, "&circ;"],
	[0, "&caron;"],
	[16, "&breve;"],
	[0, "&DiacriticalDot;"],
	[0, "&ring;"],
	[0, "&ogon;"],
	[0, "&DiacriticalTilde;"],
	[0, "&dblac;"],
	[51, "&DownBreve;"],
	[127, "&Alpha;"],
	[0, "&Beta;"],
	[0, "&Gamma;"],
	[0, "&Delta;"],
	[0, "&Epsilon;"],
	[0, "&Zeta;"],
	[0, "&Eta;"],
	[0, "&Theta;"],
	[0, "&Iota;"],
	[0, "&Kappa;"],
	[0, "&Lambda;"],
	[0, "&Mu;"],
	[0, "&Nu;"],
	[0, "&Xi;"],
	[0, "&Omicron;"],
	[0, "&Pi;"],
	[0, "&Rho;"],
	[1, "&Sigma;"],
	[0, "&Tau;"],
	[0, "&Upsilon;"],
	[0, "&Phi;"],
	[0, "&Chi;"],
	[0, "&Psi;"],
	[0, "&ohm;"],
	[7, "&alpha;"],
	[0, "&beta;"],
	[0, "&gamma;"],
	[0, "&delta;"],
	[0, "&epsi;"],
	[0, "&zeta;"],
	[0, "&eta;"],
	[0, "&theta;"],
	[0, "&iota;"],
	[0, "&kappa;"],
	[0, "&lambda;"],
	[0, "&mu;"],
	[0, "&nu;"],
	[0, "&xi;"],
	[0, "&omicron;"],
	[0, "&pi;"],
	[0, "&rho;"],
	[0, "&sigmaf;"],
	[0, "&sigma;"],
	[0, "&tau;"],
	[0, "&upsi;"],
	[0, "&phi;"],
	[0, "&chi;"],
	[0, "&psi;"],
	[0, "&omega;"],
	[7, "&thetasym;"],
	[0, "&Upsi;"],
	[2, "&phiv;"],
	[0, "&piv;"],
	[5, "&Gammad;"],
	[0, "&digamma;"],
	[18, "&kappav;"],
	[0, "&rhov;"],
	[3, "&epsiv;"],
	[0, "&backepsilon;"],
	[10, "&IOcy;"],
	[0, "&DJcy;"],
	[0, "&GJcy;"],
	[0, "&Jukcy;"],
	[0, "&DScy;"],
	[0, "&Iukcy;"],
	[0, "&YIcy;"],
	[0, "&Jsercy;"],
	[0, "&LJcy;"],
	[0, "&NJcy;"],
	[0, "&TSHcy;"],
	[0, "&KJcy;"],
	[1, "&Ubrcy;"],
	[0, "&DZcy;"],
	[0, "&Acy;"],
	[0, "&Bcy;"],
	[0, "&Vcy;"],
	[0, "&Gcy;"],
	[0, "&Dcy;"],
	[0, "&IEcy;"],
	[0, "&ZHcy;"],
	[0, "&Zcy;"],
	[0, "&Icy;"],
	[0, "&Jcy;"],
	[0, "&Kcy;"],
	[0, "&Lcy;"],
	[0, "&Mcy;"],
	[0, "&Ncy;"],
	[0, "&Ocy;"],
	[0, "&Pcy;"],
	[0, "&Rcy;"],
	[0, "&Scy;"],
	[0, "&Tcy;"],
	[0, "&Ucy;"],
	[0, "&Fcy;"],
	[0, "&KHcy;"],
	[0, "&TScy;"],
	[0, "&CHcy;"],
	[0, "&SHcy;"],
	[0, "&SHCHcy;"],
	[0, "&HARDcy;"],
	[0, "&Ycy;"],
	[0, "&SOFTcy;"],
	[0, "&Ecy;"],
	[0, "&YUcy;"],
	[0, "&YAcy;"],
	[0, "&acy;"],
	[0, "&bcy;"],
	[0, "&vcy;"],
	[0, "&gcy;"],
	[0, "&dcy;"],
	[0, "&iecy;"],
	[0, "&zhcy;"],
	[0, "&zcy;"],
	[0, "&icy;"],
	[0, "&jcy;"],
	[0, "&kcy;"],
	[0, "&lcy;"],
	[0, "&mcy;"],
	[0, "&ncy;"],
	[0, "&ocy;"],
	[0, "&pcy;"],
	[0, "&rcy;"],
	[0, "&scy;"],
	[0, "&tcy;"],
	[0, "&ucy;"],
	[0, "&fcy;"],
	[0, "&khcy;"],
	[0, "&tscy;"],
	[0, "&chcy;"],
	[0, "&shcy;"],
	[0, "&shchcy;"],
	[0, "&hardcy;"],
	[0, "&ycy;"],
	[0, "&softcy;"],
	[0, "&ecy;"],
	[0, "&yucy;"],
	[0, "&yacy;"],
	[1, "&iocy;"],
	[0, "&djcy;"],
	[0, "&gjcy;"],
	[0, "&jukcy;"],
	[0, "&dscy;"],
	[0, "&iukcy;"],
	[0, "&yicy;"],
	[0, "&jsercy;"],
	[0, "&ljcy;"],
	[0, "&njcy;"],
	[0, "&tshcy;"],
	[0, "&kjcy;"],
	[1, "&ubrcy;"],
	[0, "&dzcy;"],
	[7074, "&ensp;"],
	[0, "&emsp;"],
	[0, "&emsp13;"],
	[0, "&emsp14;"],
	[1, "&numsp;"],
	[0, "&puncsp;"],
	[0, "&ThinSpace;"],
	[0, "&hairsp;"],
	[0, "&NegativeMediumSpace;"],
	[0, "&zwnj;"],
	[0, "&zwj;"],
	[0, "&lrm;"],
	[0, "&rlm;"],
	[0, "&dash;"],
	[2, "&ndash;"],
	[0, "&mdash;"],
	[0, "&horbar;"],
	[0, "&Verbar;"],
	[1, "&lsquo;"],
	[0, "&CloseCurlyQuote;"],
	[0, "&lsquor;"],
	[1, "&ldquo;"],
	[0, "&CloseCurlyDoubleQuote;"],
	[0, "&bdquo;"],
	[1, "&dagger;"],
	[0, "&Dagger;"],
	[0, "&bull;"],
	[2, "&nldr;"],
	[0, "&hellip;"],
	[9, "&permil;"],
	[0, "&pertenk;"],
	[0, "&prime;"],
	[0, "&Prime;"],
	[0, "&tprime;"],
	[0, "&backprime;"],
	[3, "&lsaquo;"],
	[0, "&rsaquo;"],
	[3, "&oline;"],
	[2, "&caret;"],
	[1, "&hybull;"],
	[0, "&frasl;"],
	[10, "&bsemi;"],
	[7, "&qprime;"],
	[7, {
		v: "&MediumSpace;",
		n: 8202,
		o: "&ThickSpace;"
	}],
	[0, "&NoBreak;"],
	[0, "&af;"],
	[0, "&InvisibleTimes;"],
	[0, "&ic;"],
	[72, "&euro;"],
	[46, "&tdot;"],
	[0, "&DotDot;"],
	[37, "&complexes;"],
	[2, "&incare;"],
	[4, "&gscr;"],
	[0, "&hamilt;"],
	[0, "&Hfr;"],
	[0, "&Hopf;"],
	[0, "&planckh;"],
	[0, "&hbar;"],
	[0, "&imagline;"],
	[0, "&Ifr;"],
	[0, "&lagran;"],
	[0, "&ell;"],
	[1, "&naturals;"],
	[0, "&numero;"],
	[0, "&copysr;"],
	[0, "&weierp;"],
	[0, "&Popf;"],
	[0, "&Qopf;"],
	[0, "&realine;"],
	[0, "&real;"],
	[0, "&reals;"],
	[0, "&rx;"],
	[3, "&trade;"],
	[1, "&integers;"],
	[2, "&mho;"],
	[0, "&zeetrf;"],
	[0, "&iiota;"],
	[2, "&bernou;"],
	[0, "&Cayleys;"],
	[1, "&escr;"],
	[0, "&Escr;"],
	[0, "&Fouriertrf;"],
	[1, "&Mellintrf;"],
	[0, "&order;"],
	[0, "&alefsym;"],
	[0, "&beth;"],
	[0, "&gimel;"],
	[0, "&daleth;"],
	[12, "&CapitalDifferentialD;"],
	[0, "&dd;"],
	[0, "&ee;"],
	[0, "&ii;"],
	[10, "&frac13;"],
	[0, "&frac23;"],
	[0, "&frac15;"],
	[0, "&frac25;"],
	[0, "&frac35;"],
	[0, "&frac45;"],
	[0, "&frac16;"],
	[0, "&frac56;"],
	[0, "&frac18;"],
	[0, "&frac38;"],
	[0, "&frac58;"],
	[0, "&frac78;"],
	[49, "&larr;"],
	[0, "&ShortUpArrow;"],
	[0, "&rarr;"],
	[0, "&darr;"],
	[0, "&harr;"],
	[0, "&updownarrow;"],
	[0, "&nwarr;"],
	[0, "&nearr;"],
	[0, "&LowerRightArrow;"],
	[0, "&LowerLeftArrow;"],
	[0, "&nlarr;"],
	[0, "&nrarr;"],
	[1, {
		v: "&rarrw;",
		n: 824,
		o: "&nrarrw;"
	}],
	[0, "&Larr;"],
	[0, "&Uarr;"],
	[0, "&Rarr;"],
	[0, "&Darr;"],
	[0, "&larrtl;"],
	[0, "&rarrtl;"],
	[0, "&LeftTeeArrow;"],
	[0, "&mapstoup;"],
	[0, "&map;"],
	[0, "&DownTeeArrow;"],
	[1, "&hookleftarrow;"],
	[0, "&hookrightarrow;"],
	[0, "&larrlp;"],
	[0, "&looparrowright;"],
	[0, "&harrw;"],
	[0, "&nharr;"],
	[1, "&lsh;"],
	[0, "&rsh;"],
	[0, "&ldsh;"],
	[0, "&rdsh;"],
	[1, "&crarr;"],
	[0, "&cularr;"],
	[0, "&curarr;"],
	[2, "&circlearrowleft;"],
	[0, "&circlearrowright;"],
	[0, "&leftharpoonup;"],
	[0, "&DownLeftVector;"],
	[0, "&RightUpVector;"],
	[0, "&LeftUpVector;"],
	[0, "&rharu;"],
	[0, "&DownRightVector;"],
	[0, "&dharr;"],
	[0, "&dharl;"],
	[0, "&RightArrowLeftArrow;"],
	[0, "&udarr;"],
	[0, "&LeftArrowRightArrow;"],
	[0, "&leftleftarrows;"],
	[0, "&upuparrows;"],
	[0, "&rightrightarrows;"],
	[0, "&ddarr;"],
	[0, "&leftrightharpoons;"],
	[0, "&Equilibrium;"],
	[0, "&nlArr;"],
	[0, "&nhArr;"],
	[0, "&nrArr;"],
	[0, "&DoubleLeftArrow;"],
	[0, "&DoubleUpArrow;"],
	[0, "&DoubleRightArrow;"],
	[0, "&dArr;"],
	[0, "&DoubleLeftRightArrow;"],
	[0, "&DoubleUpDownArrow;"],
	[0, "&nwArr;"],
	[0, "&neArr;"],
	[0, "&seArr;"],
	[0, "&swArr;"],
	[0, "&lAarr;"],
	[0, "&rAarr;"],
	[1, "&zigrarr;"],
	[6, "&larrb;"],
	[0, "&rarrb;"],
	[15, "&DownArrowUpArrow;"],
	[7, "&loarr;"],
	[0, "&roarr;"],
	[0, "&hoarr;"],
	[0, "&forall;"],
	[0, "&comp;"],
	[0, {
		v: "&part;",
		n: 824,
		o: "&npart;"
	}],
	[0, "&exist;"],
	[0, "&nexist;"],
	[0, "&empty;"],
	[1, "&Del;"],
	[0, "&Element;"],
	[0, "&NotElement;"],
	[1, "&ni;"],
	[0, "&notni;"],
	[2, "&prod;"],
	[0, "&coprod;"],
	[0, "&sum;"],
	[0, "&minus;"],
	[0, "&MinusPlus;"],
	[0, "&dotplus;"],
	[1, "&Backslash;"],
	[0, "&lowast;"],
	[0, "&compfn;"],
	[1, "&radic;"],
	[2, "&prop;"],
	[0, "&infin;"],
	[0, "&angrt;"],
	[0, {
		v: "&ang;",
		n: 8402,
		o: "&nang;"
	}],
	[0, "&angmsd;"],
	[0, "&angsph;"],
	[0, "&mid;"],
	[0, "&nmid;"],
	[0, "&DoubleVerticalBar;"],
	[0, "&NotDoubleVerticalBar;"],
	[0, "&and;"],
	[0, "&or;"],
	[0, {
		v: "&cap;",
		n: 65024,
		o: "&caps;"
	}],
	[0, {
		v: "&cup;",
		n: 65024,
		o: "&cups;"
	}],
	[0, "&int;"],
	[0, "&Int;"],
	[0, "&iiint;"],
	[0, "&conint;"],
	[0, "&Conint;"],
	[0, "&Cconint;"],
	[0, "&cwint;"],
	[0, "&ClockwiseContourIntegral;"],
	[0, "&awconint;"],
	[0, "&there4;"],
	[0, "&becaus;"],
	[0, "&ratio;"],
	[0, "&Colon;"],
	[0, "&dotminus;"],
	[1, "&mDDot;"],
	[0, "&homtht;"],
	[0, {
		v: "&sim;",
		n: 8402,
		o: "&nvsim;"
	}],
	[0, {
		v: "&backsim;",
		n: 817,
		o: "&race;"
	}],
	[0, {
		v: "&ac;",
		n: 819,
		o: "&acE;"
	}],
	[0, "&acd;"],
	[0, "&VerticalTilde;"],
	[0, "&NotTilde;"],
	[0, {
		v: "&eqsim;",
		n: 824,
		o: "&nesim;"
	}],
	[0, "&sime;"],
	[0, "&NotTildeEqual;"],
	[0, "&cong;"],
	[0, "&simne;"],
	[0, "&ncong;"],
	[0, "&ap;"],
	[0, "&nap;"],
	[0, "&ape;"],
	[0, {
		v: "&apid;",
		n: 824,
		o: "&napid;"
	}],
	[0, "&backcong;"],
	[0, {
		v: "&asympeq;",
		n: 8402,
		o: "&nvap;"
	}],
	[0, {
		v: "&bump;",
		n: 824,
		o: "&nbump;"
	}],
	[0, {
		v: "&bumpe;",
		n: 824,
		o: "&nbumpe;"
	}],
	[0, {
		v: "&doteq;",
		n: 824,
		o: "&nedot;"
	}],
	[0, "&doteqdot;"],
	[0, "&efDot;"],
	[0, "&erDot;"],
	[0, "&Assign;"],
	[0, "&ecolon;"],
	[0, "&ecir;"],
	[0, "&circeq;"],
	[1, "&wedgeq;"],
	[0, "&veeeq;"],
	[1, "&triangleq;"],
	[2, "&equest;"],
	[0, "&ne;"],
	[0, {
		v: "&Congruent;",
		n: 8421,
		o: "&bnequiv;"
	}],
	[0, "&nequiv;"],
	[1, {
		v: "&le;",
		n: 8402,
		o: "&nvle;"
	}],
	[0, {
		v: "&ge;",
		n: 8402,
		o: "&nvge;"
	}],
	[0, {
		v: "&lE;",
		n: 824,
		o: "&nlE;"
	}],
	[0, {
		v: "&gE;",
		n: 824,
		o: "&ngE;"
	}],
	[0, {
		v: "&lnE;",
		n: 65024,
		o: "&lvertneqq;"
	}],
	[0, {
		v: "&gnE;",
		n: 65024,
		o: "&gvertneqq;"
	}],
	[0, {
		v: "&ll;",
		n: new Map(/* @__PURE__ */ restoreDiff([[824, "&nLtv;"], [7577, "&nLt;"]]))
	}],
	[0, {
		v: "&gg;",
		n: new Map(/* @__PURE__ */ restoreDiff([[824, "&nGtv;"], [7577, "&nGt;"]]))
	}],
	[0, "&between;"],
	[0, "&NotCupCap;"],
	[0, "&nless;"],
	[0, "&ngt;"],
	[0, "&nle;"],
	[0, "&nge;"],
	[0, "&lesssim;"],
	[0, "&GreaterTilde;"],
	[0, "&nlsim;"],
	[0, "&ngsim;"],
	[0, "&LessGreater;"],
	[0, "&gl;"],
	[0, "&NotLessGreater;"],
	[0, "&NotGreaterLess;"],
	[0, "&pr;"],
	[0, "&sc;"],
	[0, "&prcue;"],
	[0, "&sccue;"],
	[0, "&PrecedesTilde;"],
	[0, {
		v: "&scsim;",
		n: 824,
		o: "&NotSucceedsTilde;"
	}],
	[0, "&NotPrecedes;"],
	[0, "&NotSucceeds;"],
	[0, {
		v: "&sub;",
		n: 8402,
		o: "&NotSubset;"
	}],
	[0, {
		v: "&sup;",
		n: 8402,
		o: "&NotSuperset;"
	}],
	[0, "&nsub;"],
	[0, "&nsup;"],
	[0, "&sube;"],
	[0, "&supe;"],
	[0, "&NotSubsetEqual;"],
	[0, "&NotSupersetEqual;"],
	[0, {
		v: "&subne;",
		n: 65024,
		o: "&varsubsetneq;"
	}],
	[0, {
		v: "&supne;",
		n: 65024,
		o: "&varsupsetneq;"
	}],
	[1, "&cupdot;"],
	[0, "&UnionPlus;"],
	[0, {
		v: "&sqsub;",
		n: 824,
		o: "&NotSquareSubset;"
	}],
	[0, {
		v: "&sqsup;",
		n: 824,
		o: "&NotSquareSuperset;"
	}],
	[0, "&sqsube;"],
	[0, "&sqsupe;"],
	[0, {
		v: "&sqcap;",
		n: 65024,
		o: "&sqcaps;"
	}],
	[0, {
		v: "&sqcup;",
		n: 65024,
		o: "&sqcups;"
	}],
	[0, "&CirclePlus;"],
	[0, "&CircleMinus;"],
	[0, "&CircleTimes;"],
	[0, "&osol;"],
	[0, "&CircleDot;"],
	[0, "&circledcirc;"],
	[0, "&circledast;"],
	[1, "&circleddash;"],
	[0, "&boxplus;"],
	[0, "&boxminus;"],
	[0, "&boxtimes;"],
	[0, "&dotsquare;"],
	[0, "&RightTee;"],
	[0, "&dashv;"],
	[0, "&DownTee;"],
	[0, "&bot;"],
	[1, "&models;"],
	[0, "&DoubleRightTee;"],
	[0, "&Vdash;"],
	[0, "&Vvdash;"],
	[0, "&VDash;"],
	[0, "&nvdash;"],
	[0, "&nvDash;"],
	[0, "&nVdash;"],
	[0, "&nVDash;"],
	[0, "&prurel;"],
	[1, "&LeftTriangle;"],
	[0, "&RightTriangle;"],
	[0, {
		v: "&LeftTriangleEqual;",
		n: 8402,
		o: "&nvltrie;"
	}],
	[0, {
		v: "&RightTriangleEqual;",
		n: 8402,
		o: "&nvrtrie;"
	}],
	[0, "&origof;"],
	[0, "&imof;"],
	[0, "&multimap;"],
	[0, "&hercon;"],
	[0, "&intcal;"],
	[0, "&veebar;"],
	[1, "&barvee;"],
	[0, "&angrtvb;"],
	[0, "&lrtri;"],
	[0, "&bigwedge;"],
	[0, "&bigvee;"],
	[0, "&bigcap;"],
	[0, "&bigcup;"],
	[0, "&diam;"],
	[0, "&sdot;"],
	[0, "&sstarf;"],
	[0, "&divideontimes;"],
	[0, "&bowtie;"],
	[0, "&ltimes;"],
	[0, "&rtimes;"],
	[0, "&leftthreetimes;"],
	[0, "&rightthreetimes;"],
	[0, "&backsimeq;"],
	[0, "&curlyvee;"],
	[0, "&curlywedge;"],
	[0, "&Sub;"],
	[0, "&Sup;"],
	[0, "&Cap;"],
	[0, "&Cup;"],
	[0, "&fork;"],
	[0, "&epar;"],
	[0, "&lessdot;"],
	[0, "&gtdot;"],
	[0, {
		v: "&Ll;",
		n: 824,
		o: "&nLl;"
	}],
	[0, {
		v: "&Gg;",
		n: 824,
		o: "&nGg;"
	}],
	[0, {
		v: "&leg;",
		n: 65024,
		o: "&lesg;"
	}],
	[0, {
		v: "&gel;",
		n: 65024,
		o: "&gesl;"
	}],
	[2, "&cuepr;"],
	[0, "&cuesc;"],
	[0, "&NotPrecedesSlantEqual;"],
	[0, "&NotSucceedsSlantEqual;"],
	[0, "&NotSquareSubsetEqual;"],
	[0, "&NotSquareSupersetEqual;"],
	[2, "&lnsim;"],
	[0, "&gnsim;"],
	[0, "&precnsim;"],
	[0, "&scnsim;"],
	[0, "&nltri;"],
	[0, "&NotRightTriangle;"],
	[0, "&nltrie;"],
	[0, "&NotRightTriangleEqual;"],
	[0, "&vellip;"],
	[0, "&ctdot;"],
	[0, "&utdot;"],
	[0, "&dtdot;"],
	[0, "&disin;"],
	[0, "&isinsv;"],
	[0, "&isins;"],
	[0, {
		v: "&isindot;",
		n: 824,
		o: "&notindot;"
	}],
	[0, "&notinvc;"],
	[0, "&notinvb;"],
	[1, {
		v: "&isinE;",
		n: 824,
		o: "&notinE;"
	}],
	[0, "&nisd;"],
	[0, "&xnis;"],
	[0, "&nis;"],
	[0, "&notnivc;"],
	[0, "&notnivb;"],
	[6, "&barwed;"],
	[0, "&Barwed;"],
	[1, "&lceil;"],
	[0, "&rceil;"],
	[0, "&LeftFloor;"],
	[0, "&rfloor;"],
	[0, "&drcrop;"],
	[0, "&dlcrop;"],
	[0, "&urcrop;"],
	[0, "&ulcrop;"],
	[0, "&bnot;"],
	[1, "&profline;"],
	[0, "&profsurf;"],
	[1, "&telrec;"],
	[0, "&target;"],
	[5, "&ulcorn;"],
	[0, "&urcorn;"],
	[0, "&dlcorn;"],
	[0, "&drcorn;"],
	[2, "&frown;"],
	[0, "&smile;"],
	[9, "&cylcty;"],
	[0, "&profalar;"],
	[7, "&topbot;"],
	[6, "&ovbar;"],
	[1, "&solbar;"],
	[60, "&angzarr;"],
	[51, "&lmoustache;"],
	[0, "&rmoustache;"],
	[2, "&OverBracket;"],
	[0, "&bbrk;"],
	[0, "&bbrktbrk;"],
	[37, "&OverParenthesis;"],
	[0, "&UnderParenthesis;"],
	[0, "&OverBrace;"],
	[0, "&UnderBrace;"],
	[2, "&trpezium;"],
	[4, "&elinters;"],
	[59, "&blank;"],
	[164, "&circledS;"],
	[55, "&boxh;"],
	[1, "&boxv;"],
	[9, "&boxdr;"],
	[3, "&boxdl;"],
	[3, "&boxur;"],
	[3, "&boxul;"],
	[3, "&boxvr;"],
	[7, "&boxvl;"],
	[7, "&boxhd;"],
	[7, "&boxhu;"],
	[7, "&boxvh;"],
	[19, "&boxH;"],
	[0, "&boxV;"],
	[0, "&boxdR;"],
	[0, "&boxDr;"],
	[0, "&boxDR;"],
	[0, "&boxdL;"],
	[0, "&boxDl;"],
	[0, "&boxDL;"],
	[0, "&boxuR;"],
	[0, "&boxUr;"],
	[0, "&boxUR;"],
	[0, "&boxuL;"],
	[0, "&boxUl;"],
	[0, "&boxUL;"],
	[0, "&boxvR;"],
	[0, "&boxVr;"],
	[0, "&boxVR;"],
	[0, "&boxvL;"],
	[0, "&boxVl;"],
	[0, "&boxVL;"],
	[0, "&boxHd;"],
	[0, "&boxhD;"],
	[0, "&boxHD;"],
	[0, "&boxHu;"],
	[0, "&boxhU;"],
	[0, "&boxHU;"],
	[0, "&boxvH;"],
	[0, "&boxVh;"],
	[0, "&boxVH;"],
	[19, "&uhblk;"],
	[3, "&lhblk;"],
	[3, "&block;"],
	[8, "&blk14;"],
	[0, "&blk12;"],
	[0, "&blk34;"],
	[13, "&square;"],
	[8, "&blacksquare;"],
	[0, "&EmptyVerySmallSquare;"],
	[1, "&rect;"],
	[0, "&marker;"],
	[2, "&fltns;"],
	[1, "&bigtriangleup;"],
	[0, "&blacktriangle;"],
	[0, "&triangle;"],
	[2, "&blacktriangleright;"],
	[0, "&rtri;"],
	[3, "&bigtriangledown;"],
	[0, "&blacktriangledown;"],
	[0, "&dtri;"],
	[2, "&blacktriangleleft;"],
	[0, "&ltri;"],
	[6, "&loz;"],
	[0, "&cir;"],
	[32, "&tridot;"],
	[2, "&bigcirc;"],
	[8, "&ultri;"],
	[0, "&urtri;"],
	[0, "&lltri;"],
	[0, "&EmptySmallSquare;"],
	[0, "&FilledSmallSquare;"],
	[8, "&bigstar;"],
	[0, "&star;"],
	[7, "&phone;"],
	[49, "&female;"],
	[1, "&male;"],
	[29, "&spades;"],
	[2, "&clubs;"],
	[1, "&hearts;"],
	[0, "&diamondsuit;"],
	[3, "&sung;"],
	[2, "&flat;"],
	[0, "&natural;"],
	[0, "&sharp;"],
	[163, "&check;"],
	[3, "&cross;"],
	[8, "&malt;"],
	[21, "&sext;"],
	[33, "&VerticalSeparator;"],
	[25, "&lbbrk;"],
	[0, "&rbbrk;"],
	[84, "&bsolhsub;"],
	[0, "&suphsol;"],
	[28, "&LeftDoubleBracket;"],
	[0, "&RightDoubleBracket;"],
	[0, "&lang;"],
	[0, "&rang;"],
	[0, "&Lang;"],
	[0, "&Rang;"],
	[0, "&loang;"],
	[0, "&roang;"],
	[7, "&longleftarrow;"],
	[0, "&longrightarrow;"],
	[0, "&longleftrightarrow;"],
	[0, "&DoubleLongLeftArrow;"],
	[0, "&DoubleLongRightArrow;"],
	[0, "&DoubleLongLeftRightArrow;"],
	[1, "&longmapsto;"],
	[2, "&dzigrarr;"],
	[258, "&nvlArr;"],
	[0, "&nvrArr;"],
	[0, "&nvHarr;"],
	[0, "&Map;"],
	[6, "&lbarr;"],
	[0, "&bkarow;"],
	[0, "&lBarr;"],
	[0, "&dbkarow;"],
	[0, "&drbkarow;"],
	[0, "&DDotrahd;"],
	[0, "&UpArrowBar;"],
	[0, "&DownArrowBar;"],
	[2, "&Rarrtl;"],
	[2, "&latail;"],
	[0, "&ratail;"],
	[0, "&lAtail;"],
	[0, "&rAtail;"],
	[0, "&larrfs;"],
	[0, "&rarrfs;"],
	[0, "&larrbfs;"],
	[0, "&rarrbfs;"],
	[2, "&nwarhk;"],
	[0, "&nearhk;"],
	[0, "&hksearow;"],
	[0, "&hkswarow;"],
	[0, "&nwnear;"],
	[0, "&nesear;"],
	[0, "&seswar;"],
	[0, "&swnwar;"],
	[8, {
		v: "&rarrc;",
		n: 824,
		o: "&nrarrc;"
	}],
	[1, "&cudarrr;"],
	[0, "&ldca;"],
	[0, "&rdca;"],
	[0, "&cudarrl;"],
	[0, "&larrpl;"],
	[2, "&curarrm;"],
	[0, "&cularrp;"],
	[7, "&rarrpl;"],
	[2, "&harrcir;"],
	[0, "&Uarrocir;"],
	[0, "&lurdshar;"],
	[0, "&ldrushar;"],
	[2, "&LeftRightVector;"],
	[0, "&RightUpDownVector;"],
	[0, "&DownLeftRightVector;"],
	[0, "&LeftUpDownVector;"],
	[0, "&LeftVectorBar;"],
	[0, "&RightVectorBar;"],
	[0, "&RightUpVectorBar;"],
	[0, "&RightDownVectorBar;"],
	[0, "&DownLeftVectorBar;"],
	[0, "&DownRightVectorBar;"],
	[0, "&LeftUpVectorBar;"],
	[0, "&LeftDownVectorBar;"],
	[0, "&LeftTeeVector;"],
	[0, "&RightTeeVector;"],
	[0, "&RightUpTeeVector;"],
	[0, "&RightDownTeeVector;"],
	[0, "&DownLeftTeeVector;"],
	[0, "&DownRightTeeVector;"],
	[0, "&LeftUpTeeVector;"],
	[0, "&LeftDownTeeVector;"],
	[0, "&lHar;"],
	[0, "&uHar;"],
	[0, "&rHar;"],
	[0, "&dHar;"],
	[0, "&luruhar;"],
	[0, "&ldrdhar;"],
	[0, "&ruluhar;"],
	[0, "&rdldhar;"],
	[0, "&lharul;"],
	[0, "&llhard;"],
	[0, "&rharul;"],
	[0, "&lrhard;"],
	[0, "&udhar;"],
	[0, "&duhar;"],
	[0, "&RoundImplies;"],
	[0, "&erarr;"],
	[0, "&simrarr;"],
	[0, "&larrsim;"],
	[0, "&rarrsim;"],
	[0, "&rarrap;"],
	[0, "&ltlarr;"],
	[1, "&gtrarr;"],
	[0, "&subrarr;"],
	[1, "&suplarr;"],
	[0, "&lfisht;"],
	[0, "&rfisht;"],
	[0, "&ufisht;"],
	[0, "&dfisht;"],
	[5, "&lopar;"],
	[0, "&ropar;"],
	[4, "&lbrke;"],
	[0, "&rbrke;"],
	[0, "&lbrkslu;"],
	[0, "&rbrksld;"],
	[0, "&lbrksld;"],
	[0, "&rbrkslu;"],
	[0, "&langd;"],
	[0, "&rangd;"],
	[0, "&lparlt;"],
	[0, "&rpargt;"],
	[0, "&gtlPar;"],
	[0, "&ltrPar;"],
	[3, "&vzigzag;"],
	[1, "&vangrt;"],
	[0, "&angrtvbd;"],
	[6, "&ange;"],
	[0, "&range;"],
	[0, "&dwangle;"],
	[0, "&uwangle;"],
	[0, "&angmsdaa;"],
	[0, "&angmsdab;"],
	[0, "&angmsdac;"],
	[0, "&angmsdad;"],
	[0, "&angmsdae;"],
	[0, "&angmsdaf;"],
	[0, "&angmsdag;"],
	[0, "&angmsdah;"],
	[0, "&bemptyv;"],
	[0, "&demptyv;"],
	[0, "&cemptyv;"],
	[0, "&raemptyv;"],
	[0, "&laemptyv;"],
	[0, "&ohbar;"],
	[0, "&omid;"],
	[0, "&opar;"],
	[1, "&operp;"],
	[1, "&olcross;"],
	[0, "&odsold;"],
	[1, "&olcir;"],
	[0, "&ofcir;"],
	[0, "&olt;"],
	[0, "&ogt;"],
	[0, "&cirscir;"],
	[0, "&cirE;"],
	[0, "&solb;"],
	[0, "&bsolb;"],
	[3, "&boxbox;"],
	[3, "&trisb;"],
	[0, "&rtriltri;"],
	[0, {
		v: "&LeftTriangleBar;",
		n: 824,
		o: "&NotLeftTriangleBar;"
	}],
	[0, {
		v: "&RightTriangleBar;",
		n: 824,
		o: "&NotRightTriangleBar;"
	}],
	[11, "&iinfin;"],
	[0, "&infintie;"],
	[0, "&nvinfin;"],
	[4, "&eparsl;"],
	[0, "&smeparsl;"],
	[0, "&eqvparsl;"],
	[5, "&blacklozenge;"],
	[8, "&RuleDelayed;"],
	[1, "&dsol;"],
	[9, "&bigodot;"],
	[0, "&bigoplus;"],
	[0, "&bigotimes;"],
	[1, "&biguplus;"],
	[1, "&bigsqcup;"],
	[5, "&iiiint;"],
	[0, "&fpartint;"],
	[2, "&cirfnint;"],
	[0, "&awint;"],
	[0, "&rppolint;"],
	[0, "&scpolint;"],
	[0, "&npolint;"],
	[0, "&pointint;"],
	[0, "&quatint;"],
	[0, "&intlarhk;"],
	[10, "&pluscir;"],
	[0, "&plusacir;"],
	[0, "&simplus;"],
	[0, "&plusdu;"],
	[0, "&plussim;"],
	[0, "&plustwo;"],
	[1, "&mcomma;"],
	[0, "&minusdu;"],
	[2, "&loplus;"],
	[0, "&roplus;"],
	[0, "&Cross;"],
	[0, "&timesd;"],
	[0, "&timesbar;"],
	[1, "&smashp;"],
	[0, "&lotimes;"],
	[0, "&rotimes;"],
	[0, "&otimesas;"],
	[0, "&Otimes;"],
	[0, "&odiv;"],
	[0, "&triplus;"],
	[0, "&triminus;"],
	[0, "&tritime;"],
	[0, "&intprod;"],
	[2, "&amalg;"],
	[0, "&capdot;"],
	[1, "&ncup;"],
	[0, "&ncap;"],
	[0, "&capand;"],
	[0, "&cupor;"],
	[0, "&cupcap;"],
	[0, "&capcup;"],
	[0, "&cupbrcap;"],
	[0, "&capbrcup;"],
	[0, "&cupcup;"],
	[0, "&capcap;"],
	[0, "&ccups;"],
	[0, "&ccaps;"],
	[2, "&ccupssm;"],
	[2, "&And;"],
	[0, "&Or;"],
	[0, "&andand;"],
	[0, "&oror;"],
	[0, "&orslope;"],
	[0, "&andslope;"],
	[1, "&andv;"],
	[0, "&orv;"],
	[0, "&andd;"],
	[0, "&ord;"],
	[1, "&wedbar;"],
	[6, "&sdote;"],
	[3, "&simdot;"],
	[2, {
		v: "&congdot;",
		n: 824,
		o: "&ncongdot;"
	}],
	[0, "&easter;"],
	[0, "&apacir;"],
	[0, {
		v: "&apE;",
		n: 824,
		o: "&napE;"
	}],
	[0, "&eplus;"],
	[0, "&pluse;"],
	[0, "&Esim;"],
	[0, "&Colone;"],
	[0, "&Equal;"],
	[1, "&ddotseq;"],
	[0, "&equivDD;"],
	[0, "&ltcir;"],
	[0, "&gtcir;"],
	[0, "&ltquest;"],
	[0, "&gtquest;"],
	[0, {
		v: "&leqslant;",
		n: 824,
		o: "&nleqslant;"
	}],
	[0, {
		v: "&geqslant;",
		n: 824,
		o: "&ngeqslant;"
	}],
	[0, "&lesdot;"],
	[0, "&gesdot;"],
	[0, "&lesdoto;"],
	[0, "&gesdoto;"],
	[0, "&lesdotor;"],
	[0, "&gesdotol;"],
	[0, "&lap;"],
	[0, "&gap;"],
	[0, "&lne;"],
	[0, "&gne;"],
	[0, "&lnap;"],
	[0, "&gnap;"],
	[0, "&lEg;"],
	[0, "&gEl;"],
	[0, "&lsime;"],
	[0, "&gsime;"],
	[0, "&lsimg;"],
	[0, "&gsiml;"],
	[0, "&lgE;"],
	[0, "&glE;"],
	[0, "&lesges;"],
	[0, "&gesles;"],
	[0, "&els;"],
	[0, "&egs;"],
	[0, "&elsdot;"],
	[0, "&egsdot;"],
	[0, "&el;"],
	[0, "&eg;"],
	[2, "&siml;"],
	[0, "&simg;"],
	[0, "&simlE;"],
	[0, "&simgE;"],
	[0, {
		v: "&LessLess;",
		n: 824,
		o: "&NotNestedLessLess;"
	}],
	[0, {
		v: "&GreaterGreater;",
		n: 824,
		o: "&NotNestedGreaterGreater;"
	}],
	[1, "&glj;"],
	[0, "&gla;"],
	[0, "&ltcc;"],
	[0, "&gtcc;"],
	[0, "&lescc;"],
	[0, "&gescc;"],
	[0, "&smt;"],
	[0, "&lat;"],
	[0, {
		v: "&smte;",
		n: 65024,
		o: "&smtes;"
	}],
	[0, {
		v: "&late;",
		n: 65024,
		o: "&lates;"
	}],
	[0, "&bumpE;"],
	[0, {
		v: "&PrecedesEqual;",
		n: 824,
		o: "&NotPrecedesEqual;"
	}],
	[0, {
		v: "&sce;",
		n: 824,
		o: "&NotSucceedsEqual;"
	}],
	[2, "&prE;"],
	[0, "&scE;"],
	[0, "&precneqq;"],
	[0, "&scnE;"],
	[0, "&prap;"],
	[0, "&scap;"],
	[0, "&precnapprox;"],
	[0, "&scnap;"],
	[0, "&Pr;"],
	[0, "&Sc;"],
	[0, "&subdot;"],
	[0, "&supdot;"],
	[0, "&subplus;"],
	[0, "&supplus;"],
	[0, "&submult;"],
	[0, "&supmult;"],
	[0, "&subedot;"],
	[0, "&supedot;"],
	[0, {
		v: "&subE;",
		n: 824,
		o: "&nsubE;"
	}],
	[0, {
		v: "&supE;",
		n: 824,
		o: "&nsupE;"
	}],
	[0, "&subsim;"],
	[0, "&supsim;"],
	[2, {
		v: "&subnE;",
		n: 65024,
		o: "&varsubsetneqq;"
	}],
	[0, {
		v: "&supnE;",
		n: 65024,
		o: "&varsupsetneqq;"
	}],
	[2, "&csub;"],
	[0, "&csup;"],
	[0, "&csube;"],
	[0, "&csupe;"],
	[0, "&subsup;"],
	[0, "&supsub;"],
	[0, "&subsub;"],
	[0, "&supsup;"],
	[0, "&suphsub;"],
	[0, "&supdsub;"],
	[0, "&forkv;"],
	[0, "&topfork;"],
	[0, "&mlcp;"],
	[8, "&Dashv;"],
	[1, "&Vdashl;"],
	[0, "&Barv;"],
	[0, "&vBar;"],
	[0, "&vBarv;"],
	[1, "&Vbar;"],
	[0, "&Not;"],
	[0, "&bNot;"],
	[0, "&rnmid;"],
	[0, "&cirmid;"],
	[0, "&midcir;"],
	[0, "&topcir;"],
	[0, "&nhpar;"],
	[0, "&parsim;"],
	[9, {
		v: "&parsl;",
		n: 8421,
		o: "&nparsl;"
	}],
	[44343, { n: new Map(/* @__PURE__ */ restoreDiff([
		[56476, "&Ascr;"],
		[1, "&Cscr;"],
		[0, "&Dscr;"],
		[2, "&Gscr;"],
		[2, "&Jscr;"],
		[0, "&Kscr;"],
		[2, "&Nscr;"],
		[0, "&Oscr;"],
		[0, "&Pscr;"],
		[0, "&Qscr;"],
		[1, "&Sscr;"],
		[0, "&Tscr;"],
		[0, "&Uscr;"],
		[0, "&Vscr;"],
		[0, "&Wscr;"],
		[0, "&Xscr;"],
		[0, "&Yscr;"],
		[0, "&Zscr;"],
		[0, "&ascr;"],
		[0, "&bscr;"],
		[0, "&cscr;"],
		[0, "&dscr;"],
		[1, "&fscr;"],
		[1, "&hscr;"],
		[0, "&iscr;"],
		[0, "&jscr;"],
		[0, "&kscr;"],
		[0, "&lscr;"],
		[0, "&mscr;"],
		[0, "&nscr;"],
		[1, "&pscr;"],
		[0, "&qscr;"],
		[0, "&rscr;"],
		[0, "&sscr;"],
		[0, "&tscr;"],
		[0, "&uscr;"],
		[0, "&vscr;"],
		[0, "&wscr;"],
		[0, "&xscr;"],
		[0, "&yscr;"],
		[0, "&zscr;"],
		[52, "&Afr;"],
		[0, "&Bfr;"],
		[1, "&Dfr;"],
		[0, "&Efr;"],
		[0, "&Ffr;"],
		[0, "&Gfr;"],
		[2, "&Jfr;"],
		[0, "&Kfr;"],
		[0, "&Lfr;"],
		[0, "&Mfr;"],
		[0, "&Nfr;"],
		[0, "&Ofr;"],
		[0, "&Pfr;"],
		[0, "&Qfr;"],
		[1, "&Sfr;"],
		[0, "&Tfr;"],
		[0, "&Ufr;"],
		[0, "&Vfr;"],
		[0, "&Wfr;"],
		[0, "&Xfr;"],
		[0, "&Yfr;"],
		[1, "&afr;"],
		[0, "&bfr;"],
		[0, "&cfr;"],
		[0, "&dfr;"],
		[0, "&efr;"],
		[0, "&ffr;"],
		[0, "&gfr;"],
		[0, "&hfr;"],
		[0, "&ifr;"],
		[0, "&jfr;"],
		[0, "&kfr;"],
		[0, "&lfr;"],
		[0, "&mfr;"],
		[0, "&nfr;"],
		[0, "&ofr;"],
		[0, "&pfr;"],
		[0, "&qfr;"],
		[0, "&rfr;"],
		[0, "&sfr;"],
		[0, "&tfr;"],
		[0, "&ufr;"],
		[0, "&vfr;"],
		[0, "&wfr;"],
		[0, "&xfr;"],
		[0, "&yfr;"],
		[0, "&zfr;"],
		[0, "&Aopf;"],
		[0, "&Bopf;"],
		[1, "&Dopf;"],
		[0, "&Eopf;"],
		[0, "&Fopf;"],
		[0, "&Gopf;"],
		[1, "&Iopf;"],
		[0, "&Jopf;"],
		[0, "&Kopf;"],
		[0, "&Lopf;"],
		[0, "&Mopf;"],
		[1, "&Oopf;"],
		[3, "&Sopf;"],
		[0, "&Topf;"],
		[0, "&Uopf;"],
		[0, "&Vopf;"],
		[0, "&Wopf;"],
		[0, "&Xopf;"],
		[0, "&Yopf;"],
		[1, "&aopf;"],
		[0, "&bopf;"],
		[0, "&copf;"],
		[0, "&dopf;"],
		[0, "&eopf;"],
		[0, "&fopf;"],
		[0, "&gopf;"],
		[0, "&hopf;"],
		[0, "&iopf;"],
		[0, "&jopf;"],
		[0, "&kopf;"],
		[0, "&lopf;"],
		[0, "&mopf;"],
		[0, "&nopf;"],
		[0, "&oopf;"],
		[0, "&popf;"],
		[0, "&qopf;"],
		[0, "&ropf;"],
		[0, "&sopf;"],
		[0, "&topf;"],
		[0, "&uopf;"],
		[0, "&vopf;"],
		[0, "&wopf;"],
		[0, "&xopf;"],
		[0, "&yopf;"],
		[0, "&zopf;"]
	])) }],
	[8906, "&fflig;"],
	[0, "&filig;"],
	[0, "&fllig;"],
	[0, "&ffilig;"],
	[0, "&ffllig;"]
]));

//#endregion
//#region ../node_modules/entities/lib/esm/escape.js
const xmlReplacer$1 = /["&'<>$\x80-\uFFFF]/g;
const xmlCodeMap$1 = new Map([
	[34, "&quot;"],
	[38, "&amp;"],
	[39, "&apos;"],
	[60, "&lt;"],
	[62, "&gt;"]
]);
const getCodePoint$1 = String.prototype.codePointAt != null ? (str, index) => str.codePointAt(index) : (c, index) => (c.charCodeAt(index) & 64512) === 55296 ? (c.charCodeAt(index) - 55296) * 1024 + c.charCodeAt(index + 1) - 56320 + 65536 : c.charCodeAt(index);
/**
* Encodes all non-ASCII characters, as well as characters not valid in XML
* documents using XML entities.
*
* If a character has no equivalent entity, a
* numeric hexadecimal reference (eg. `&#xfc;`) will be used.
*/
function encodeXML$1(str) {
	let ret = "";
	let lastIdx = 0;
	let match;
	while ((match = xmlReplacer$1.exec(str)) !== null) {
		const i = match.index;
		const char = str.charCodeAt(i);
		const next = xmlCodeMap$1.get(char);
		if (next !== undefined) {
			ret += str.substring(lastIdx, i) + next;
			lastIdx = i + 1;
		} else {
			ret += `${str.substring(lastIdx, i)}&#x${getCodePoint$1(str, i).toString(16)};`;
			lastIdx = xmlReplacer$1.lastIndex += Number((char & 64512) === 55296);
		}
	}
	return ret + str.substr(lastIdx);
}
/**
* Encodes all non-ASCII characters, as well as characters not valid in XML
* documents using numeric hexadecimal reference (eg. `&#xfc;`).
*
* Have a look at `escapeUTF8` if you want a more concise output at the expense
* of reduced transportability.
*
* @param data String to escape.
*/
const escape$2 = encodeXML$1;
/**
* Creates a function that escapes all characters matched by the given regular
* expression using the given map of characters to escape to their entities.
*
* @param regex Regular expression to match characters to escape.
* @param map Map of characters to escape to their entities.
*
* @returns Function that escapes all characters matched by the given regular
* expression using the given map of characters to escape to their entities.
*/
function getEscaper$1(regex, map) {
	return function escape(data) {
		let match;
		let lastIdx = 0;
		let result = "";
		while (match = regex.exec(data)) {
			if (lastIdx !== match.index) {
				result += data.substring(lastIdx, match.index);
			}
			result += map.get(match[0].charCodeAt(0));
			lastIdx = match.index + 1;
		}
		return result + data.substring(lastIdx);
	};
}
/**
* Encodes all characters not valid in XML documents using XML entities.
*
* Note that the output will be character-set dependent.
*
* @param data String to escape.
*/
const escapeUTF8$1 = getEscaper$1(/[&<>'"]/g, xmlCodeMap$1);
/**
* Encodes all characters that have to be escaped in HTML attributes,
* following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
*
* @param data String to escape.
*/
const escapeAttribute$1 = getEscaper$1(/["&\u00A0]/g, new Map([
	[34, "&quot;"],
	[38, "&amp;"],
	[160, "&nbsp;"]
]));
/**
* Encodes all characters that have to be escaped in HTML text,
* following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
*
* @param data String to escape.
*/
const escapeText$1 = getEscaper$1(/[&<>\u00A0]/g, new Map([
	[38, "&amp;"],
	[60, "&lt;"],
	[62, "&gt;"],
	[160, "&nbsp;"]
]));

//#endregion
//#region ../node_modules/entities/lib/esm/encode.js
const htmlReplacer = /[\t\n!-,./:-@[-`\f{-}$\x80-\uFFFF]/g;
/**
* Encodes all characters in the input using HTML entities. This includes
* characters that are valid ASCII characters in HTML documents, such as `#`.
*
* To get a more compact output, consider using the `encodeNonAsciiHTML`
* function, which will only encode characters that are not valid in HTML
* documents, as well as non-ASCII characters.
*
* If a character has no equivalent entity, a numeric hexadecimal reference
* (eg. `&#xfc;`) will be used.
*/
function encodeHTML(data) {
	return encodeHTMLTrieRe(htmlReplacer, data);
}
/**
* Encodes all non-ASCII characters, as well as characters not valid in HTML
* documents using HTML entities. This function will not encode characters that
* are valid in HTML documents, such as `#`.
*
* If a character has no equivalent entity, a numeric hexadecimal reference
* (eg. `&#xfc;`) will be used.
*/
function encodeNonAsciiHTML(data) {
	return encodeHTMLTrieRe(xmlReplacer$1, data);
}
function encodeHTMLTrieRe(regExp, str) {
	let ret = "";
	let lastIdx = 0;
	let match;
	while ((match = regExp.exec(str)) !== null) {
		const i = match.index;
		ret += str.substring(lastIdx, i);
		const char = str.charCodeAt(i);
		let next = encode_html_default.get(char);
		if (typeof next === "object") {
			if (i + 1 < str.length) {
				const nextChar = str.charCodeAt(i + 1);
				const value = typeof next.n === "number" ? next.n === nextChar ? next.o : undefined : next.n.get(nextChar);
				if (value !== undefined) {
					ret += value;
					lastIdx = regExp.lastIndex += 1;
					continue;
				}
			}
			next = next.v;
		}
		if (next !== undefined) {
			ret += next;
			lastIdx = i + 1;
		} else {
			const cp = getCodePoint$1(str, i);
			ret += `&#x${cp.toString(16)};`;
			lastIdx = regExp.lastIndex += Number(cp !== char);
		}
	}
	return ret + str.substr(lastIdx);
}

//#endregion
//#region ../node_modules/entities/lib/esm/index.js
/** The level of entities to support. */
var EntityLevel;
(function(EntityLevel) {
	/** Support only XML entities. */
	EntityLevel[EntityLevel["XML"] = 0] = "XML";
	/** Support HTML entities, which are a superset of XML entities. */
	EntityLevel[EntityLevel["HTML"] = 1] = "HTML";
})(EntityLevel || (EntityLevel = {}));
var EncodingMode;
(function(EncodingMode) {
	/**
	* The output is UTF-8 encoded. Only characters that need escaping within
	* XML will be escaped.
	*/
	EncodingMode[EncodingMode["UTF8"] = 0] = "UTF8";
	/**
	* The output consists only of ASCII characters. Characters that need
	* escaping within HTML, and characters that aren't ASCII characters will
	* be escaped.
	*/
	EncodingMode[EncodingMode["ASCII"] = 1] = "ASCII";
	/**
	* Encode all characters that have an equivalent entity, as well as all
	* characters that are not ASCII characters.
	*/
	EncodingMode[EncodingMode["Extensive"] = 2] = "Extensive";
	/**
	* Encode all characters that have to be escaped in HTML attributes,
	* following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
	*/
	EncodingMode[EncodingMode["Attribute"] = 3] = "Attribute";
	/**
	* Encode all characters that have to be escaped in HTML text,
	* following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
	*/
	EncodingMode[EncodingMode["Text"] = 4] = "Text";
})(EncodingMode || (EncodingMode = {}));
/**
* Decodes a string with entities.
*
* @param data String to decode.
* @param options Decoding options.
*/
function decode(data, options = EntityLevel.XML) {
	const level = typeof options === "number" ? options : options.level;
	if (level === EntityLevel.HTML) {
		const mode = typeof options === "object" ? options.mode : undefined;
		return decodeHTML$2(data, mode);
	}
	return decodeXML$2(data);
}
/**
* Decodes a string with entities. Does not allow missing trailing semicolons for entities.
*
* @param data String to decode.
* @param options Decoding options.
* @deprecated Use `decode` with the `mode` set to `Strict`.
*/
function decodeStrict(data, options = EntityLevel.XML) {
	var _a;
	const opts = typeof options === "number" ? { level: options } : options;
	(_a = opts.mode) !== null && _a !== void 0 ? _a : opts.mode = DecodingMode$2.Strict;
	return decode(data, opts);
}
/**
* Encodes a string with entities.
*
* @param data String to encode.
* @param options Encoding options.
*/
function encode(data, options = EntityLevel.XML) {
	const opts = typeof options === "number" ? { level: options } : options;
	if (opts.mode === EncodingMode.UTF8) return escapeUTF8$1(data);
	if (opts.mode === EncodingMode.Attribute) return escapeAttribute$1(data);
	if (opts.mode === EncodingMode.Text) return escapeText$1(data);
	if (opts.level === EntityLevel.HTML) {
		if (opts.mode === EncodingMode.ASCII) {
			return encodeNonAsciiHTML(data);
		}
		return encodeHTML(data);
	}
	return encodeXML$1(data);
}

//#endregion
//#region ../node_modules/dom-serializer/lib/esm/foreignNames.js
const elementNames = new Map([
	"altGlyph",
	"altGlyphDef",
	"altGlyphItem",
	"animateColor",
	"animateMotion",
	"animateTransform",
	"clipPath",
	"feBlend",
	"feColorMatrix",
	"feComponentTransfer",
	"feComposite",
	"feConvolveMatrix",
	"feDiffuseLighting",
	"feDisplacementMap",
	"feDistantLight",
	"feDropShadow",
	"feFlood",
	"feFuncA",
	"feFuncB",
	"feFuncG",
	"feFuncR",
	"feGaussianBlur",
	"feImage",
	"feMerge",
	"feMergeNode",
	"feMorphology",
	"feOffset",
	"fePointLight",
	"feSpecularLighting",
	"feSpotLight",
	"feTile",
	"feTurbulence",
	"foreignObject",
	"glyphRef",
	"linearGradient",
	"radialGradient",
	"textPath"
].map((val) => [val.toLowerCase(), val]));
const attributeNames = new Map([
	"definitionURL",
	"attributeName",
	"attributeType",
	"baseFrequency",
	"baseProfile",
	"calcMode",
	"clipPathUnits",
	"diffuseConstant",
	"edgeMode",
	"filterUnits",
	"glyphRef",
	"gradientTransform",
	"gradientUnits",
	"kernelMatrix",
	"kernelUnitLength",
	"keyPoints",
	"keySplines",
	"keyTimes",
	"lengthAdjust",
	"limitingConeAngle",
	"markerHeight",
	"markerUnits",
	"markerWidth",
	"maskContentUnits",
	"maskUnits",
	"numOctaves",
	"pathLength",
	"patternContentUnits",
	"patternTransform",
	"patternUnits",
	"pointsAtX",
	"pointsAtY",
	"pointsAtZ",
	"preserveAlpha",
	"preserveAspectRatio",
	"primitiveUnits",
	"refX",
	"refY",
	"repeatCount",
	"repeatDur",
	"requiredExtensions",
	"requiredFeatures",
	"specularConstant",
	"specularExponent",
	"spreadMethod",
	"startOffset",
	"stdDeviation",
	"stitchTiles",
	"surfaceScale",
	"systemLanguage",
	"tableValues",
	"targetX",
	"targetY",
	"textLength",
	"viewBox",
	"viewTarget",
	"xChannelSelector",
	"yChannelSelector",
	"zoomAndPan"
].map((val) => [val.toLowerCase(), val]));

//#endregion
//#region ../node_modules/dom-serializer/lib/esm/index.js
/**
* Mixed-case SVG and MathML tags & attributes
* recognized by the HTML parser.
*
* @see https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inforeign
*/
const unencodedElements = new Set([
	"style",
	"script",
	"xmp",
	"iframe",
	"noembed",
	"noframes",
	"plaintext",
	"noscript"
]);
function replaceQuotes(value) {
	return value.replace(/"/g, "&quot;");
}
/**
* Format attributes
*/
function formatAttributes(attributes, opts) {
	var _a;
	if (!attributes) return;
	const encode = ((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) === false ? replaceQuotes : opts.xmlMode || opts.encodeEntities !== "utf8" ? encodeXML$1 : escapeAttribute$1;
	return Object.keys(attributes).map((key) => {
		var _a, _b;
		const value = (_a = attributes[key]) !== null && _a !== void 0 ? _a : "";
		if (opts.xmlMode === "foreign") {
			key = (_b = attributeNames.get(key)) !== null && _b !== void 0 ? _b : key;
		}
		if (!opts.emptyAttrs && !opts.xmlMode && value === "") {
			return key;
		}
		return `${key}="${encode(value)}"`;
	}).join(" ");
}
/**
* Self-enclosing tags
*/
const singleTag = new Set([
	"area",
	"base",
	"basefont",
	"br",
	"col",
	"command",
	"embed",
	"frame",
	"hr",
	"img",
	"input",
	"isindex",
	"keygen",
	"link",
	"meta",
	"param",
	"source",
	"track",
	"wbr"
]);
/**
* Renders a DOM node or an array of DOM nodes to a string.
*
* Can be thought of as the equivalent of the `outerHTML` of the passed node(s).
*
* @param node Node to be rendered.
* @param options Changes serialization behavior
*/
function render$1(node, options = {}) {
	const nodes = "length" in node ? node : [node];
	let output = "";
	for (let i = 0; i < nodes.length; i++) {
		output += renderNode(nodes[i], options);
	}
	return output;
}
function renderNode(node, options) {
	switch (node.type) {
		case Root: return render$1(node.children, options);
		case Doctype:
		case Directive: return renderDirective(node);
		case Comment$1: return renderComment(node);
		case CDATA$1: return renderCdata(node);
		case Script:
		case Style:
		case Tag: return renderTag(node, options);
		case Text$1: return renderText(node, options);
	}
}
const foreignModeIntegrationPoints = new Set([
	"mi",
	"mo",
	"mn",
	"ms",
	"mtext",
	"annotation-xml",
	"foreignObject",
	"desc",
	"title"
]);
const foreignElements = new Set(["svg", "math"]);
function renderTag(elem, opts) {
	var _a;
	if (opts.xmlMode === "foreign") {
		elem.name = (_a = elementNames.get(elem.name)) !== null && _a !== void 0 ? _a : elem.name;
		if (elem.parent && foreignModeIntegrationPoints.has(elem.parent.name)) {
			opts = {
				...opts,
				xmlMode: false
			};
		}
	}
	if (!opts.xmlMode && foreignElements.has(elem.name)) {
		opts = {
			...opts,
			xmlMode: "foreign"
		};
	}
	let tag = `<${elem.name}`;
	const attribs = formatAttributes(elem.attribs, opts);
	if (attribs) {
		tag += ` ${attribs}`;
	}
	if (elem.children.length === 0 && (opts.xmlMode ? opts.selfClosingTags !== false : opts.selfClosingTags && singleTag.has(elem.name))) {
		if (!opts.xmlMode) tag += " ";
		tag += "/>";
	} else {
		tag += ">";
		if (elem.children.length > 0) {
			tag += render$1(elem.children, opts);
		}
		if (opts.xmlMode || !singleTag.has(elem.name)) {
			tag += `</${elem.name}>`;
		}
	}
	return tag;
}
function renderDirective(elem) {
	return `<${elem.data}>`;
}
function renderText(elem, opts) {
	var _a;
	let data = elem.data || "";
	if (((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) !== false && !(!opts.xmlMode && elem.parent && unencodedElements.has(elem.parent.name))) {
		data = opts.xmlMode || opts.encodeEntities !== "utf8" ? encodeXML$1(data) : escapeText$1(data);
	}
	return data;
}
function renderCdata(elem) {
	return `<![CDATA[${elem.children[0].data}]]>`;
}
function renderComment(elem) {
	return `<!--${elem.data}-->`;
}

//#endregion
//#region ../node_modules/domutils/lib/esm/stringify.js
/**
* @category Stringify
* @deprecated Use the `dom-serializer` module directly.
* @param node Node to get the outer HTML of.
* @param options Options for serialization.
* @returns `node`'s outer HTML.
*/
function getOuterHTML(node, options) {
	return render$1(node, options);
}
/**
* @category Stringify
* @deprecated Use the `dom-serializer` module directly.
* @param node Node to get the inner HTML of.
* @param options Options for serialization.
* @returns `node`'s inner HTML.
*/
function getInnerHTML(node, options) {
	return hasChildren(node) ? node.children.map((node) => getOuterHTML(node, options)).join("") : "";
}
/**
* Get a node's inner text. Same as `textContent`, but inserts newlines for `<br>` tags. Ignores comments.
*
* @category Stringify
* @deprecated Use `textContent` instead.
* @param node Node to get the inner text of.
* @returns `node`'s inner text.
*/
function getText(node) {
	if (Array.isArray(node)) return node.map(getText).join("");
	if (isTag(node)) return node.name === "br" ? "\n" : getText(node.children);
	if (isCDATA(node)) return getText(node.children);
	if (isText(node)) return node.data;
	return "";
}
/**
* Get a node's text content. Ignores comments.
*
* @category Stringify
* @param node Node to get the text content of.
* @returns `node`'s text content.
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent}
*/
function textContent(node) {
	if (Array.isArray(node)) return node.map(textContent).join("");
	if (hasChildren(node) && !isComment(node)) {
		return textContent(node.children);
	}
	if (isText(node)) return node.data;
	return "";
}
/**
* Get a node's inner text, ignoring `<script>` and `<style>` tags. Ignores comments.
*
* @category Stringify
* @param node Node to get the inner text of.
* @returns `node`'s inner text.
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/innerText}
*/
function innerText(node) {
	if (Array.isArray(node)) return node.map(innerText).join("");
	if (hasChildren(node) && (node.type === ElementType.Tag || isCDATA(node))) {
		return innerText(node.children);
	}
	if (isText(node)) return node.data;
	return "";
}

//#endregion
//#region ../node_modules/domutils/lib/esm/traversal.js
/**
* Get a node's children.
*
* @category Traversal
* @param elem Node to get the children of.
* @returns `elem`'s children, or an empty array.
*/
function getChildren(elem) {
	return hasChildren(elem) ? elem.children : [];
}
/**
* Get a node's parent.
*
* @category Traversal
* @param elem Node to get the parent of.
* @returns `elem`'s parent node, or `null` if `elem` is a root node.
*/
function getParent(elem) {
	return elem.parent || null;
}
/**
* Gets an elements siblings, including the element itself.
*
* Attempts to get the children through the element's parent first. If we don't
* have a parent (the element is a root node), we walk the element's `prev` &
* `next` to get all remaining nodes.
*
* @category Traversal
* @param elem Element to get the siblings of.
* @returns `elem`'s siblings, including `elem`.
*/
function getSiblings(elem) {
	const parent = getParent(elem);
	if (parent != null) return getChildren(parent);
	const siblings = [elem];
	let { prev, next } = elem;
	while (prev != null) {
		siblings.unshift(prev);
		({prev} = prev);
	}
	while (next != null) {
		siblings.push(next);
		({next} = next);
	}
	return siblings;
}
/**
* Gets an attribute from an element.
*
* @category Traversal
* @param elem Element to check.
* @param name Attribute name to retrieve.
* @returns The element's attribute value, or `undefined`.
*/
function getAttributeValue(elem, name) {
	var _a;
	return (_a = elem.attribs) === null || _a === void 0 ? void 0 : _a[name];
}
/**
* Checks whether an element has an attribute.
*
* @category Traversal
* @param elem Element to check.
* @param name Attribute name to look for.
* @returns Returns whether `elem` has the attribute `name`.
*/
function hasAttrib(elem, name) {
	return elem.attribs != null && Object.prototype.hasOwnProperty.call(elem.attribs, name) && elem.attribs[name] != null;
}
/**
* Get the tag name of an element.
*
* @category Traversal
* @param elem The element to get the name for.
* @returns The tag name of `elem`.
*/
function getName(elem) {
	return elem.name;
}
/**
* Returns the next element sibling of a node.
*
* @category Traversal
* @param elem The element to get the next sibling of.
* @returns `elem`'s next sibling that is a tag, or `null` if there is no next
* sibling.
*/
function nextElementSibling(elem) {
	let { next } = elem;
	while (next !== null && !isTag(next)) ({next} = next);
	return next;
}
/**
* Returns the previous element sibling of a node.
*
* @category Traversal
* @param elem The element to get the previous sibling of.
* @returns `elem`'s previous sibling that is a tag, or `null` if there is no
* previous sibling.
*/
function prevElementSibling(elem) {
	let { prev } = elem;
	while (prev !== null && !isTag(prev)) ({prev} = prev);
	return prev;
}

//#endregion
//#region ../node_modules/domutils/lib/esm/manipulation.js
/**
* Remove an element from the dom
*
* @category Manipulation
* @param elem The element to be removed
*/
function removeElement(elem) {
	if (elem.prev) elem.prev.next = elem.next;
	if (elem.next) elem.next.prev = elem.prev;
	if (elem.parent) {
		const childs = elem.parent.children;
		const childsIndex = childs.lastIndexOf(elem);
		if (childsIndex >= 0) {
			childs.splice(childsIndex, 1);
		}
	}
	elem.next = null;
	elem.prev = null;
	elem.parent = null;
}
/**
* Replace an element in the dom
*
* @category Manipulation
* @param elem The element to be replaced
* @param replacement The element to be added
*/
function replaceElement(elem, replacement) {
	const prev = replacement.prev = elem.prev;
	if (prev) {
		prev.next = replacement;
	}
	const next = replacement.next = elem.next;
	if (next) {
		next.prev = replacement;
	}
	const parent = replacement.parent = elem.parent;
	if (parent) {
		const childs = parent.children;
		childs[childs.lastIndexOf(elem)] = replacement;
		elem.parent = null;
	}
}
/**
* Append a child to an element.
*
* @category Manipulation
* @param parent The element to append to.
* @param child The element to be added as a child.
*/
function appendChild(parent, child) {
	removeElement(child);
	child.next = null;
	child.parent = parent;
	if (parent.children.push(child) > 1) {
		const sibling = parent.children[parent.children.length - 2];
		sibling.next = child;
		child.prev = sibling;
	} else {
		child.prev = null;
	}
}
/**
* Append an element after another.
*
* @category Manipulation
* @param elem The element to append after.
* @param next The element be added.
*/
function append$1(elem, next) {
	removeElement(next);
	const { parent } = elem;
	const currNext = elem.next;
	next.next = currNext;
	next.prev = elem;
	elem.next = next;
	next.parent = parent;
	if (currNext) {
		currNext.prev = next;
		if (parent) {
			const childs = parent.children;
			childs.splice(childs.lastIndexOf(currNext), 0, next);
		}
	} else if (parent) {
		parent.children.push(next);
	}
}
/**
* Prepend a child to an element.
*
* @category Manipulation
* @param parent The element to prepend before.
* @param child The element to be added as a child.
*/
function prependChild(parent, child) {
	removeElement(child);
	child.parent = parent;
	child.prev = null;
	if (parent.children.unshift(child) !== 1) {
		const sibling = parent.children[1];
		sibling.prev = child;
		child.next = sibling;
	} else {
		child.next = null;
	}
}
/**
* Prepend an element before another.
*
* @category Manipulation
* @param elem The element to prepend before.
* @param prev The element be added.
*/
function prepend$1(elem, prev) {
	removeElement(prev);
	const { parent } = elem;
	if (parent) {
		const childs = parent.children;
		childs.splice(childs.indexOf(elem), 0, prev);
	}
	if (elem.prev) {
		elem.prev.next = prev;
	}
	prev.parent = parent;
	prev.prev = elem.prev;
	prev.next = elem;
	elem.prev = prev;
}

//#endregion
//#region ../node_modules/domutils/lib/esm/querying.js
/**
* Search a node and its children for nodes passing a test function. If `node` is not an array, it will be wrapped in one.
*
* @category Querying
* @param test Function to test nodes on.
* @param node Node to search. Will be included in the result set if it matches.
* @param recurse Also consider child nodes.
* @param limit Maximum number of nodes to return.
* @returns All nodes passing `test`.
*/
function filter$3(test, node, recurse = true, limit = Infinity) {
	return find$3(test, Array.isArray(node) ? node : [node], recurse, limit);
}
/**
* Search an array of nodes and their children for nodes passing a test function.
*
* @category Querying
* @param test Function to test nodes on.
* @param nodes Array of nodes to search.
* @param recurse Also consider child nodes.
* @param limit Maximum number of nodes to return.
* @returns All nodes passing `test`.
*/
function find$3(test, nodes, recurse, limit) {
	const result = [];
	/** Stack of the arrays we are looking at. */
	const nodeStack = [Array.isArray(nodes) ? nodes : [nodes]];
	/** Stack of the indices within the arrays. */
	const indexStack = [0];
	for (;;) {
		if (indexStack[0] >= nodeStack[0].length) {
			if (indexStack.length === 1) {
				return result;
			}
			nodeStack.shift();
			indexStack.shift();
			continue;
		}
		const elem = nodeStack[0][indexStack[0]++];
		if (test(elem)) {
			result.push(elem);
			if (--limit <= 0) return result;
		}
		if (recurse && hasChildren(elem) && elem.children.length > 0) {
			indexStack.unshift(0);
			nodeStack.unshift(elem.children);
		}
	}
}
/**
* Finds the first element inside of an array that matches a test function. This is an alias for `Array.prototype.find`.
*
* @category Querying
* @param test Function to test nodes on.
* @param nodes Array of nodes to search.
* @returns The first node in the array that passes `test`.
* @deprecated Use `Array.prototype.find` directly.
*/
function findOneChild(test, nodes) {
	return nodes.find(test);
}
/**
* Finds one element in a tree that passes a test.
*
* @category Querying
* @param test Function to test nodes on.
* @param nodes Node or array of nodes to search.
* @param recurse Also consider child nodes.
* @returns The first node that passes `test`.
*/
function findOne(test, nodes, recurse = true) {
	const searchedNodes = Array.isArray(nodes) ? nodes : [nodes];
	for (let i = 0; i < searchedNodes.length; i++) {
		const node = searchedNodes[i];
		if (isTag(node) && test(node)) {
			return node;
		}
		if (recurse && hasChildren(node) && node.children.length > 0) {
			const found = findOne(test, node.children, true);
			if (found) return found;
		}
	}
	return null;
}
/**
* Checks if a tree of nodes contains at least one node passing a test.
*
* @category Querying
* @param test Function to test nodes on.
* @param nodes Array of nodes to search.
* @returns Whether a tree of nodes contains at least one node passing the test.
*/
function existsOne(test, nodes) {
	return (Array.isArray(nodes) ? nodes : [nodes]).some((node) => isTag(node) && test(node) || hasChildren(node) && existsOne(test, node.children));
}
/**
* Search an array of nodes and their children for elements passing a test function.
*
* Same as `find`, but limited to elements and with less options, leading to reduced complexity.
*
* @category Querying
* @param test Function to test nodes on.
* @param nodes Array of nodes to search.
* @returns All nodes passing `test`.
*/
function findAll(test, nodes) {
	const result = [];
	const nodeStack = [Array.isArray(nodes) ? nodes : [nodes]];
	const indexStack = [0];
	for (;;) {
		if (indexStack[0] >= nodeStack[0].length) {
			if (nodeStack.length === 1) {
				return result;
			}
			nodeStack.shift();
			indexStack.shift();
			continue;
		}
		const elem = nodeStack[0][indexStack[0]++];
		if (isTag(elem) && test(elem)) result.push(elem);
		if (hasChildren(elem) && elem.children.length > 0) {
			indexStack.unshift(0);
			nodeStack.unshift(elem.children);
		}
	}
}

//#endregion
//#region ../node_modules/domutils/lib/esm/legacy.js
/**
* A map of functions to check nodes against.
*/
const Checks = {
	tag_name(name) {
		if (typeof name === "function") {
			return (elem) => isTag(elem) && name(elem.name);
		} else if (name === "*") {
			return isTag;
		}
		return (elem) => isTag(elem) && elem.name === name;
	},
	tag_type(type) {
		if (typeof type === "function") {
			return (elem) => type(elem.type);
		}
		return (elem) => elem.type === type;
	},
	tag_contains(data) {
		if (typeof data === "function") {
			return (elem) => isText(elem) && data(elem.data);
		}
		return (elem) => isText(elem) && elem.data === data;
	}
};
/**
* Returns a function to check whether a node has an attribute with a particular
* value.
*
* @param attrib Attribute to check.
* @param value Attribute value to look for.
* @returns A function to check whether the a node has an attribute with a
*   particular value.
*/
function getAttribCheck(attrib, value) {
	if (typeof value === "function") {
		return (elem) => isTag(elem) && value(elem.attribs[attrib]);
	}
	return (elem) => isTag(elem) && elem.attribs[attrib] === value;
}
/**
* Returns a function that returns `true` if either of the input functions
* returns `true` for a node.
*
* @param a First function to combine.
* @param b Second function to combine.
* @returns A function taking a node and returning `true` if either of the input
*   functions returns `true` for the node.
*/
function combineFuncs(a, b) {
	return (elem) => a(elem) || b(elem);
}
/**
* Returns a function that executes all checks in `options` and returns `true`
* if any of them match a node.
*
* @param options An object describing nodes to look for.
* @returns A function that executes all checks in `options` and returns `true`
*   if any of them match a node.
*/
function compileTest(options) {
	const funcs = Object.keys(options).map((key) => {
		const value = options[key];
		return Object.prototype.hasOwnProperty.call(Checks, key) ? Checks[key](value) : getAttribCheck(key, value);
	});
	return funcs.length === 0 ? null : funcs.reduce(combineFuncs);
}
/**
* Checks whether a node matches the description in `options`.
*
* @category Legacy Query Functions
* @param options An object describing nodes to look for.
* @param node The element to test.
* @returns Whether the element matches the description in `options`.
*/
function testElement(options, node) {
	const test = compileTest(options);
	return test ? test(node) : true;
}
/**
* Returns all nodes that match `options`.
*
* @category Legacy Query Functions
* @param options An object describing nodes to look for.
* @param nodes Nodes to search through.
* @param recurse Also consider child nodes.
* @param limit Maximum number of nodes to return.
* @returns All nodes that match `options`.
*/
function getElements(options, nodes, recurse, limit = Infinity) {
	const test = compileTest(options);
	return test ? filter$3(test, nodes, recurse, limit) : [];
}
/**
* Returns the node with the supplied ID.
*
* @category Legacy Query Functions
* @param id The unique ID attribute value to look for.
* @param nodes Nodes to search through.
* @param recurse Also consider child nodes.
* @returns The node with the supplied ID.
*/
function getElementById(id, nodes, recurse = true) {
	if (!Array.isArray(nodes)) nodes = [nodes];
	return findOne(getAttribCheck("id", id), nodes, recurse);
}
/**
* Returns all nodes with the supplied `tagName`.
*
* @category Legacy Query Functions
* @param tagName Tag name to search for.
* @param nodes Nodes to search through.
* @param recurse Also consider child nodes.
* @param limit Maximum number of nodes to return.
* @returns All nodes with the supplied `tagName`.
*/
function getElementsByTagName(tagName, nodes, recurse = true, limit = Infinity) {
	return filter$3(Checks["tag_name"](tagName), nodes, recurse, limit);
}
/**
* Returns all nodes with the supplied `className`.
*
* @category Legacy Query Functions
* @param className Class name to search for.
* @param nodes Nodes to search through.
* @param recurse Also consider child nodes.
* @param limit Maximum number of nodes to return.
* @returns All nodes with the supplied `className`.
*/
function getElementsByClassName(className, nodes, recurse = true, limit = Infinity) {
	return filter$3(getAttribCheck("class", className), nodes, recurse, limit);
}
/**
* Returns all nodes with the supplied `type`.
*
* @category Legacy Query Functions
* @param type Element type to look for.
* @param nodes Nodes to search through.
* @param recurse Also consider child nodes.
* @param limit Maximum number of nodes to return.
* @returns All nodes with the supplied `type`.
*/
function getElementsByTagType(type, nodes, recurse = true, limit = Infinity) {
	return filter$3(Checks["tag_type"](type), nodes, recurse, limit);
}

//#endregion
//#region ../node_modules/domutils/lib/esm/helpers.js
/**
* Given an array of nodes, remove any member that is contained by another
* member.
*
* @category Helpers
* @param nodes Nodes to filter.
* @returns Remaining nodes that aren't contained by other nodes.
*/
function removeSubsets(nodes) {
	let idx = nodes.length;
	while (--idx >= 0) {
		const node = nodes[idx];
		if (idx > 0 && nodes.lastIndexOf(node, idx - 1) >= 0) {
			nodes.splice(idx, 1);
			continue;
		}
		for (let ancestor = node.parent; ancestor; ancestor = ancestor.parent) {
			if (nodes.includes(ancestor)) {
				nodes.splice(idx, 1);
				break;
			}
		}
	}
	return nodes;
}
/**
* @category Helpers
* @see {@link http://dom.spec.whatwg.org/#dom-node-comparedocumentposition}
*/
var DocumentPosition;
(function(DocumentPosition) {
	DocumentPosition[DocumentPosition["DISCONNECTED"] = 1] = "DISCONNECTED";
	DocumentPosition[DocumentPosition["PRECEDING"] = 2] = "PRECEDING";
	DocumentPosition[DocumentPosition["FOLLOWING"] = 4] = "FOLLOWING";
	DocumentPosition[DocumentPosition["CONTAINS"] = 8] = "CONTAINS";
	DocumentPosition[DocumentPosition["CONTAINED_BY"] = 16] = "CONTAINED_BY";
})(DocumentPosition || (DocumentPosition = {}));
/**
* Compare the position of one node against another node in any other document,
* returning a bitmask with the values from {@link DocumentPosition}.
*
* Document order:
* > There is an ordering, document order, defined on all the nodes in the
* > document corresponding to the order in which the first character of the
* > XML representation of each node occurs in the XML representation of the
* > document after expansion of general entities. Thus, the document element
* > node will be the first node. Element nodes occur before their children.
* > Thus, document order orders element nodes in order of the occurrence of
* > their start-tag in the XML (after expansion of entities). The attribute
* > nodes of an element occur after the element and before its children. The
* > relative order of attribute nodes is implementation-dependent.
*
* Source:
* http://www.w3.org/TR/DOM-Level-3-Core/glossary.html#dt-document-order
*
* @category Helpers
* @param nodeA The first node to use in the comparison
* @param nodeB The second node to use in the comparison
* @returns A bitmask describing the input nodes' relative position.
*
* See http://dom.spec.whatwg.org/#dom-node-comparedocumentposition for
* a description of these values.
*/
function compareDocumentPosition(nodeA, nodeB) {
	const aParents = [];
	const bParents = [];
	if (nodeA === nodeB) {
		return 0;
	}
	let current = hasChildren(nodeA) ? nodeA : nodeA.parent;
	while (current) {
		aParents.unshift(current);
		current = current.parent;
	}
	current = hasChildren(nodeB) ? nodeB : nodeB.parent;
	while (current) {
		bParents.unshift(current);
		current = current.parent;
	}
	const maxIdx = Math.min(aParents.length, bParents.length);
	let idx = 0;
	while (idx < maxIdx && aParents[idx] === bParents[idx]) {
		idx++;
	}
	if (idx === 0) {
		return DocumentPosition.DISCONNECTED;
	}
	const sharedParent = aParents[idx - 1];
	const siblings = sharedParent.children;
	const aSibling = aParents[idx];
	const bSibling = bParents[idx];
	if (siblings.indexOf(aSibling) > siblings.indexOf(bSibling)) {
		if (sharedParent === nodeB) {
			return DocumentPosition.FOLLOWING | DocumentPosition.CONTAINED_BY;
		}
		return DocumentPosition.FOLLOWING;
	}
	if (sharedParent === nodeA) {
		return DocumentPosition.PRECEDING | DocumentPosition.CONTAINS;
	}
	return DocumentPosition.PRECEDING;
}
/**
* Sort an array of nodes based on their relative position in the document,
* removing any duplicate nodes. If the array contains nodes that do not belong
* to the same document, sort order is unspecified.
*
* @category Helpers
* @param nodes Array of DOM nodes.
* @returns Collection of unique nodes, sorted in document order.
*/
function uniqueSort(nodes) {
	nodes = nodes.filter((node, i, arr) => !arr.includes(node, i + 1));
	nodes.sort((a, b) => {
		const relative = compareDocumentPosition(a, b);
		if (relative & DocumentPosition.PRECEDING) {
			return -1;
		} else if (relative & DocumentPosition.FOLLOWING) {
			return 1;
		}
		return 0;
	});
	return nodes;
}

//#endregion
//#region ../node_modules/domutils/lib/esm/feeds.js
/**
* Get the feed object from the root of a DOM tree.
*
* @category Feeds
* @param doc - The DOM to to extract the feed from.
* @returns The feed.
*/
function getFeed(doc) {
	const feedRoot = getOneElement(isValidFeed, doc);
	return !feedRoot ? null : feedRoot.name === "feed" ? getAtomFeed(feedRoot) : getRssFeed(feedRoot);
}
/**
* Parse an Atom feed.
*
* @param feedRoot The root of the feed.
* @returns The parsed feed.
*/
function getAtomFeed(feedRoot) {
	var _a;
	const childs = feedRoot.children;
	const feed = {
		type: "atom",
		items: getElementsByTagName("entry", childs).map((item) => {
			var _a;
			const { children } = item;
			const entry = { media: getMediaElements(children) };
			addConditionally(entry, "id", "id", children);
			addConditionally(entry, "title", "title", children);
			const href = (_a = getOneElement("link", children)) === null || _a === void 0 ? void 0 : _a.attribs["href"];
			if (href) {
				entry.link = href;
			}
			const description = fetch$1("summary", children) || fetch$1("content", children);
			if (description) {
				entry.description = description;
			}
			const pubDate = fetch$1("updated", children);
			if (pubDate) {
				entry.pubDate = new Date(pubDate);
			}
			return entry;
		})
	};
	addConditionally(feed, "id", "id", childs);
	addConditionally(feed, "title", "title", childs);
	const href = (_a = getOneElement("link", childs)) === null || _a === void 0 ? void 0 : _a.attribs["href"];
	if (href) {
		feed.link = href;
	}
	addConditionally(feed, "description", "subtitle", childs);
	const updated = fetch$1("updated", childs);
	if (updated) {
		feed.updated = new Date(updated);
	}
	addConditionally(feed, "author", "email", childs, true);
	return feed;
}
/**
* Parse a RSS feed.
*
* @param feedRoot The root of the feed.
* @returns The parsed feed.
*/
function getRssFeed(feedRoot) {
	var _a, _b;
	const childs = (_b = (_a = getOneElement("channel", feedRoot.children)) === null || _a === void 0 ? void 0 : _a.children) !== null && _b !== void 0 ? _b : [];
	const feed = {
		type: feedRoot.name.substr(0, 3),
		id: "",
		items: getElementsByTagName("item", feedRoot.children).map((item) => {
			const { children } = item;
			const entry = { media: getMediaElements(children) };
			addConditionally(entry, "id", "guid", children);
			addConditionally(entry, "title", "title", children);
			addConditionally(entry, "link", "link", children);
			addConditionally(entry, "description", "description", children);
			const pubDate = fetch$1("pubDate", children) || fetch$1("dc:date", children);
			if (pubDate) entry.pubDate = new Date(pubDate);
			return entry;
		})
	};
	addConditionally(feed, "title", "title", childs);
	addConditionally(feed, "link", "link", childs);
	addConditionally(feed, "description", "description", childs);
	const updated = fetch$1("lastBuildDate", childs);
	if (updated) {
		feed.updated = new Date(updated);
	}
	addConditionally(feed, "author", "managingEditor", childs, true);
	return feed;
}
const MEDIA_KEYS_STRING = [
	"url",
	"type",
	"lang"
];
const MEDIA_KEYS_INT = [
	"fileSize",
	"bitrate",
	"framerate",
	"samplingrate",
	"channels",
	"duration",
	"height",
	"width"
];
/**
* Get all media elements of a feed item.
*
* @param where Nodes to search in.
* @returns Media elements.
*/
function getMediaElements(where) {
	return getElementsByTagName("media:content", where).map((elem) => {
		const { attribs } = elem;
		const media = {
			medium: attribs["medium"],
			isDefault: !!attribs["isDefault"]
		};
		for (const attrib of MEDIA_KEYS_STRING) {
			if (attribs[attrib]) {
				media[attrib] = attribs[attrib];
			}
		}
		for (const attrib of MEDIA_KEYS_INT) {
			if (attribs[attrib]) {
				media[attrib] = parseInt(attribs[attrib], 10);
			}
		}
		if (attribs["expression"]) {
			media.expression = attribs["expression"];
		}
		return media;
	});
}
/**
* Get one element by tag name.
*
* @param tagName Tag name to look for
* @param node Node to search in
* @returns The element or null
*/
function getOneElement(tagName, node) {
	return getElementsByTagName(tagName, node, true, 1)[0];
}
/**
* Get the text content of an element with a certain tag name.
*
* @param tagName Tag name to look for.
* @param where Node to search in.
* @param recurse Whether to recurse into child nodes.
* @returns The text content of the element.
*/
function fetch$1(tagName, where, recurse = false) {
	return textContent(getElementsByTagName(tagName, where, recurse, 1)).trim();
}
/**
* Adds a property to an object if it has a value.
*
* @param obj Object to be extended
* @param prop Property name
* @param tagName Tag name that contains the conditionally added property
* @param where Element to search for the property
* @param recurse Whether to recurse into child nodes.
*/
function addConditionally(obj, prop, tagName, where, recurse = false) {
	const val = fetch$1(tagName, where, recurse);
	if (val) obj[prop] = val;
}
/**
* Checks if an element is a feed root node.
*
* @param value The name of the element to check.
* @returns Whether an element is a feed root node.
*/
function isValidFeed(value) {
	return value === "rss" || value === "feed" || value === "rdf:RDF";
}

//#endregion
//#region ../node_modules/domutils/lib/esm/index.js
var esm_exports = /* @__PURE__ */ __exportAll({
	DocumentPosition: () => DocumentPosition,
	append: () => append$1,
	appendChild: () => appendChild,
	compareDocumentPosition: () => compareDocumentPosition,
	existsOne: () => existsOne,
	filter: () => filter$3,
	find: () => find$3,
	findAll: () => findAll,
	findOne: () => findOne,
	findOneChild: () => findOneChild,
	getAttributeValue: () => getAttributeValue,
	getChildren: () => getChildren,
	getElementById: () => getElementById,
	getElements: () => getElements,
	getElementsByClassName: () => getElementsByClassName,
	getElementsByTagName: () => getElementsByTagName,
	getElementsByTagType: () => getElementsByTagType,
	getFeed: () => getFeed,
	getInnerHTML: () => getInnerHTML,
	getName: () => getName,
	getOuterHTML: () => getOuterHTML,
	getParent: () => getParent,
	getSiblings: () => getSiblings,
	getText: () => getText,
	hasAttrib: () => hasAttrib,
	hasChildren: () => hasChildren,
	innerText: () => innerText,
	isCDATA: () => isCDATA,
	isComment: () => isComment,
	isDocument: () => isDocument,
	isTag: () => isTag,
	isText: () => isText,
	nextElementSibling: () => nextElementSibling,
	prepend: () => prepend$1,
	prependChild: () => prependChild,
	prevElementSibling: () => prevElementSibling,
	removeElement: () => removeElement,
	removeSubsets: () => removeSubsets,
	replaceElement: () => replaceElement,
	testElement: () => testElement,
	textContent: () => textContent,
	uniqueSort: () => uniqueSort
});

//#endregion
//#region ../node_modules/cheerio/dist/esm/static.js
var static_exports = /* @__PURE__ */ __exportAll({
	contains: () => contains$1,
	extract: () => extract$1,
	html: () => html$1,
	merge: () => merge,
	parseHTML: () => parseHTML,
	root: () => root$1,
	text: () => text$1,
	xml: () => xml
});
/**
* Helper function to render a DOM.
*
* @param that - Cheerio instance to render.
* @param dom - The DOM to render. Defaults to `that`'s root.
* @param options - Options for rendering.
* @returns The rendered document.
*/
function render(that, dom, options) {
	if (!that) return "";
	return that(dom !== null && dom !== void 0 ? dom : that._root.children, null, undefined, options).toString();
}
/**
* Checks if a passed object is an options object.
*
* @param dom - Object to check if it is an options object.
* @param options - Options object.
* @returns Whether the object is an options object.
*/
function isOptions(dom, options) {
	return !options && typeof dom === "object" && dom != null && !("length" in dom) && !("type" in dom);
}
function html$1(dom, options) {
	const toRender = isOptions(dom) ? (options = dom, undefined) : dom;
	const opts = {
		...this === null || this === void 0 ? void 0 : this._options,
		...flattenOptions(options)
	};
	return render(this, toRender, opts);
}
/**
* Render the document as XML.
*
* @category Static
* @param dom - Element to render.
* @returns THe rendered document.
*/
function xml(dom) {
	const options = {
		...this._options,
		xmlMode: true
	};
	return render(this, dom, options);
}
/**
* Render the document as text.
*
* This returns the `textContent` of the passed elements. The result will
* include the contents of `<script>` and `<style>` elements. To avoid this, use
* `.prop('innerText')` instead.
*
* @category Static
* @param elements - Elements to render.
* @returns The rendered document.
*/
function text$1(elements) {
	const elems = elements !== null && elements !== void 0 ? elements : this ? this.root() : [];
	let ret = "";
	for (let i = 0; i < elems.length; i++) {
		ret += textContent(elems[i]);
	}
	return ret;
}
function parseHTML(data, context, keepScripts = typeof context === "boolean" ? context : false) {
	if (!data || typeof data !== "string") {
		return null;
	}
	if (typeof context === "boolean") {
		keepScripts = context;
	}
	const parsed = this.load(data, this._options, false);
	if (!keepScripts) {
		parsed("script").remove();
	}
	return [...parsed.root()[0].children];
}
/**
* Sometimes you need to work with the top-level root element. To query it, you
* can use `$.root()`.
*
* @category Static
* @example
*
* ```js
* $.root().append('<ul id="vegetables"></ul>').html();
* //=> <ul id="fruits">...</ul><ul id="vegetables"></ul>
* ```
*
* @returns Cheerio instance wrapping the root node.
* @alias Cheerio.root
*/
function root$1() {
	return this(this._root);
}
/**
* Checks to see if the `contained` DOM element is a descendant of the
* `container` DOM element.
*
* @category Static
* @param container - Potential parent node.
* @param contained - Potential child node.
* @returns Indicates if the nodes contain one another.
* @alias Cheerio.contains
* @see {@link https://api.jquery.com/jQuery.contains/}
*/
function contains$1(container, contained) {
	if (contained === container) {
		return false;
	}
	let next = contained;
	while (next && next !== next.parent) {
		next = next.parent;
		if (next === container) {
			return true;
		}
	}
	return false;
}
/**
* Extract multiple values from a document, and store them in an object.
*
* @category Static
* @param map - An object containing key-value pairs. The keys are the names of
*   the properties to be created on the object, and the values are the
*   selectors to be used to extract the values.
* @returns An object containing the extracted values.
*/
function extract$1(map) {
	return this.root().extract(map);
}
/**
* $.merge().
*
* @category Static
* @param arr1 - First array.
* @param arr2 - Second array.
* @returns `arr1`, with elements of `arr2` inserted.
* @alias Cheerio.merge
* @see {@link https://api.jquery.com/jQuery.merge/}
*/
function merge(arr1, arr2) {
	if (!isArrayLike$1(arr1) || !isArrayLike$1(arr2)) {
		return;
	}
	let newLength = arr1.length;
	const len = +arr2.length;
	for (let i = 0; i < len; i++) {
		arr1[newLength++] = arr2[i];
	}
	arr1.length = newLength;
	return arr1;
}
/**
* Checks if an object is array-like.
*
* @category Static
* @param item - Item to check.
* @returns Indicates if the item is array-like.
*/
function isArrayLike$1(item) {
	if (Array.isArray(item)) {
		return true;
	}
	if (typeof item !== "object" || item === null || !("length" in item) || typeof item.length !== "number" || item.length < 0) {
		return false;
	}
	for (let i = 0; i < item.length; i++) {
		if (!(i in item)) {
			return false;
		}
	}
	return true;
}

//#endregion
//#region ../node_modules/cheerio/dist/esm/utils.js
/**
* Checks if an object is a Cheerio instance.
*
* @category Utils
* @param maybeCheerio - The object to check.
* @returns Whether the object is a Cheerio instance.
*/
function isCheerio(maybeCheerio) {
	return maybeCheerio.cheerio != null;
}
/**
* Convert a string to camel case notation.
*
* @private
* @category Utils
* @param str - The string to be converted.
* @returns String in camel case notation.
*/
function camelCase(str) {
	return str.replace(/[._-](\w|$)/g, (_, x) => x.toUpperCase());
}
/**
* Convert a string from camel case to "CSS case", where word boundaries are
* described by hyphens ("-") and all characters are lower-case.
*
* @private
* @category Utils
* @param str - The string to be converted.
* @returns String in "CSS case".
*/
function cssCase(str) {
	return str.replace(/[A-Z]/g, "-$&").toLowerCase();
}
/**
* Iterate over each DOM element without creating intermediary Cheerio
* instances.
*
* This is indented for use internally to avoid otherwise unnecessary memory
* pressure introduced by _make.
*
* @category Utils
* @param array - The array to iterate over.
* @param fn - Function to call.
* @returns The original instance.
*/
function domEach(array, fn) {
	const len = array.length;
	for (let i = 0; i < len; i++) fn(array[i], i);
	return array;
}
var CharacterCode;
(function(CharacterCode) {
	CharacterCode[CharacterCode["LowerA"] = 97] = "LowerA";
	CharacterCode[CharacterCode["LowerZ"] = 122] = "LowerZ";
	CharacterCode[CharacterCode["UpperA"] = 65] = "UpperA";
	CharacterCode[CharacterCode["UpperZ"] = 90] = "UpperZ";
	CharacterCode[CharacterCode["Exclamation"] = 33] = "Exclamation";
})(CharacterCode || (CharacterCode = {}));
/**
* Check if string is HTML.
*
* Tests for a `<` within a string, immediate followed by a letter and
* eventually followed by a `>`.
*
* @private
* @category Utils
* @param str - The string to check.
* @returns Indicates if `str` is HTML.
*/
function isHtml(str) {
	if (typeof str !== "string") {
		return false;
	}
	const tagStart = str.indexOf("<");
	if (tagStart === -1 || tagStart > str.length - 3) return false;
	const tagChar = str.charCodeAt(tagStart + 1);
	return (tagChar >= CharacterCode.LowerA && tagChar <= CharacterCode.LowerZ || tagChar >= CharacterCode.UpperA && tagChar <= CharacterCode.UpperZ || tagChar === CharacterCode.Exclamation) && str.includes(">", tagStart + 2);
}

//#endregion
//#region ../node_modules/htmlparser2/node_modules/entities/dist/esm/decode-codepoint.js
var _a$2;
const decodeMap$1 = new Map([
	[0, 65533],
	[128, 8364],
	[130, 8218],
	[131, 402],
	[132, 8222],
	[133, 8230],
	[134, 8224],
	[135, 8225],
	[136, 710],
	[137, 8240],
	[138, 352],
	[139, 8249],
	[140, 338],
	[142, 381],
	[145, 8216],
	[146, 8217],
	[147, 8220],
	[148, 8221],
	[149, 8226],
	[150, 8211],
	[151, 8212],
	[152, 732],
	[153, 8482],
	[154, 353],
	[155, 8250],
	[156, 339],
	[158, 382],
	[159, 376]
]);
/**
* Polyfill for `String.fromCodePoint`. It is used to create a string from a Unicode code point.
*/
const fromCodePoint$1 = (_a$2 = String.fromCodePoint) !== null && _a$2 !== void 0 ? _a$2 : ((codePoint) => {
	let output = "";
	if (codePoint > 65535) {
		codePoint -= 65536;
		output += String.fromCharCode(codePoint >>> 10 & 1023 | 55296);
		codePoint = 56320 | codePoint & 1023;
	}
	output += String.fromCharCode(codePoint);
	return output;
});
/**
* Replace the given code point with a replacement character if it is a
* surrogate or is outside the valid range. Otherwise return the code
* point unchanged.
*/
function replaceCodePoint$1(codePoint) {
	var _a;
	if (codePoint >= 55296 && codePoint <= 57343 || codePoint > 1114111) {
		return 65533;
	}
	return (_a = decodeMap$1.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint;
}
/**
* Replace the code point if relevant, then convert it to a string.
*
* @deprecated Use `fromCodePoint(replaceCodePoint(codePoint))` instead.
* @param codePoint The code point to decode.
* @returns The decoded code point.
*/
function decodeCodePoint$1(codePoint) {
	return fromCodePoint$1(replaceCodePoint$1(codePoint));
}

//#endregion
//#region ../node_modules/htmlparser2/node_modules/entities/dist/esm/internal/decode-shared.js
function decodeBase64(input) {
	const binary = typeof atob === "function" ? atob(input) : typeof Buffer.from === "function" ? Buffer.from(input, "base64").toString("binary") : new Buffer(input, "base64").toString("binary");
	const evenLength = binary.length & ~1;
	const out = new Uint16Array(evenLength / 2);
	for (let index = 0, outIndex = 0; index < evenLength; index += 2) {
		const lo = binary.charCodeAt(index);
		const hi = binary.charCodeAt(index + 1);
		out[outIndex++] = lo | hi << 8;
	}
	return out;
}

//#endregion
//#region ../node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-html.js
const htmlDecodeTree$1 = /* @__PURE__ */ decodeBase64(" ");

//#endregion
//#region ../node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-xml.js
const xmlDecodeTree$1 = /* @__PURE__ */ decodeBase64("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg");

//#endregion
//#region ../node_modules/htmlparser2/node_modules/entities/dist/esm/internal/bin-trie-flags.js
/**
* Bit flags & masks for the binary trie encoding used for entity decoding.
*
* Bit layout (16 bits total):
* 15..14 VALUE_LENGTH   (+1 encoding; 0 => no value)
* 13     FLAG13.        If valueLength>0: semicolon required flag (implicit ';').
*                       If valueLength==0: compact run flag.
* 12..7  BRANCH_LENGTH  Branch length (0 => single branch in 6..0 if jumpOffset==char) OR run length (when compact run)
* 6..0   JUMP_TABLE     Jump offset (jump table) OR single-branch char code OR first run char
*/
var BinTrieFlags$1;
(function(BinTrieFlags) {
	BinTrieFlags[BinTrieFlags["VALUE_LENGTH"] = 49152] = "VALUE_LENGTH";
	BinTrieFlags[BinTrieFlags["FLAG13"] = 8192] = "FLAG13";
	BinTrieFlags[BinTrieFlags["BRANCH_LENGTH"] = 8064] = "BRANCH_LENGTH";
	BinTrieFlags[BinTrieFlags["JUMP_TABLE"] = 127] = "JUMP_TABLE";
})(BinTrieFlags$1 || (BinTrieFlags$1 = {}));

//#endregion
//#region ../node_modules/htmlparser2/node_modules/entities/dist/esm/decode.js
var CharCodes$2;
(function(CharCodes) {
	CharCodes[CharCodes["NUM"] = 35] = "NUM";
	CharCodes[CharCodes["SEMI"] = 59] = "SEMI";
	CharCodes[CharCodes["EQUALS"] = 61] = "EQUALS";
	CharCodes[CharCodes["ZERO"] = 48] = "ZERO";
	CharCodes[CharCodes["NINE"] = 57] = "NINE";
	CharCodes[CharCodes["LOWER_A"] = 97] = "LOWER_A";
	CharCodes[CharCodes["LOWER_F"] = 102] = "LOWER_F";
	CharCodes[CharCodes["LOWER_X"] = 120] = "LOWER_X";
	CharCodes[CharCodes["LOWER_Z"] = 122] = "LOWER_Z";
	CharCodes[CharCodes["UPPER_A"] = 65] = "UPPER_A";
	CharCodes[CharCodes["UPPER_F"] = 70] = "UPPER_F";
	CharCodes[CharCodes["UPPER_Z"] = 90] = "UPPER_Z";
})(CharCodes$2 || (CharCodes$2 = {}));
/** Bit that needs to be set to convert an upper case ASCII character to lower case */
const TO_LOWER_BIT$1 = 32;
function isNumber$2(code) {
	return code >= CharCodes$2.ZERO && code <= CharCodes$2.NINE;
}
function isHexadecimalCharacter$1(code) {
	return code >= CharCodes$2.UPPER_A && code <= CharCodes$2.UPPER_F || code >= CharCodes$2.LOWER_A && code <= CharCodes$2.LOWER_F;
}
function isAsciiAlphaNumeric$2(code) {
	return code >= CharCodes$2.UPPER_A && code <= CharCodes$2.UPPER_Z || code >= CharCodes$2.LOWER_A && code <= CharCodes$2.LOWER_Z || isNumber$2(code);
}
/**
* Checks if the given character is a valid end character for an entity in an attribute.
*
* Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error.
* See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state
*/
function isEntityInAttributeInvalidEnd$1(code) {
	return code === CharCodes$2.EQUALS || isAsciiAlphaNumeric$2(code);
}
var EntityDecoderState$1;
(function(EntityDecoderState) {
	EntityDecoderState[EntityDecoderState["EntityStart"] = 0] = "EntityStart";
	EntityDecoderState[EntityDecoderState["NumericStart"] = 1] = "NumericStart";
	EntityDecoderState[EntityDecoderState["NumericDecimal"] = 2] = "NumericDecimal";
	EntityDecoderState[EntityDecoderState["NumericHex"] = 3] = "NumericHex";
	EntityDecoderState[EntityDecoderState["NamedEntity"] = 4] = "NamedEntity";
})(EntityDecoderState$1 || (EntityDecoderState$1 = {}));
var DecodingMode$1;
(function(DecodingMode) {
	/** Entities in text nodes that can end with any character. */
	DecodingMode[DecodingMode["Legacy"] = 0] = "Legacy";
	/** Only allow entities terminated with a semicolon. */
	DecodingMode[DecodingMode["Strict"] = 1] = "Strict";
	/** Entities in attributes have limitations on ending characters. */
	DecodingMode[DecodingMode["Attribute"] = 2] = "Attribute";
})(DecodingMode$1 || (DecodingMode$1 = {}));
/**
* Token decoder with support of writing partial entities.
*/
var EntityDecoder$1 = class {
	constructor(decodeTree, emitCodePoint, errors) {
		this.decodeTree = decodeTree;
		this.emitCodePoint = emitCodePoint;
		this.errors = errors;
		/** The current state of the decoder. */
		this.state = EntityDecoderState$1.EntityStart;
		/** Characters that were consumed while parsing an entity. */
		this.consumed = 1;
		/**
		* The result of the entity.
		*
		* Either the result index of a numeric entity, or the codepoint of a
		* numeric entity.
		*/
		this.result = 0;
		/** The current index in the decode tree. */
		this.treeIndex = 0;
		/** The number of characters that were consumed in excess. */
		this.excess = 1;
		/** The mode in which the decoder is operating. */
		this.decodeMode = DecodingMode$1.Strict;
		/** The number of characters that have been consumed in the current run. */
		this.runConsumed = 0;
	}
	/** Resets the instance to make it reusable. */
	startEntity(decodeMode) {
		this.decodeMode = decodeMode;
		this.state = EntityDecoderState$1.EntityStart;
		this.result = 0;
		this.treeIndex = 0;
		this.excess = 1;
		this.consumed = 1;
		this.runConsumed = 0;
	}
	/**
	* Write an entity to the decoder. This can be called multiple times with partial entities.
	* If the entity is incomplete, the decoder will return -1.
	*
	* Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the
	* entity is incomplete, and resume when the next string is written.
	*
	* @param input The string containing the entity (or a continuation of the entity).
	* @param offset The offset at which the entity begins. Should be 0 if this is not the first call.
	* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
	*/
	write(input, offset) {
		switch (this.state) {
			case EntityDecoderState$1.EntityStart: {
				if (input.charCodeAt(offset) === CharCodes$2.NUM) {
					this.state = EntityDecoderState$1.NumericStart;
					this.consumed += 1;
					return this.stateNumericStart(input, offset + 1);
				}
				this.state = EntityDecoderState$1.NamedEntity;
				return this.stateNamedEntity(input, offset);
			}
			case EntityDecoderState$1.NumericStart: {
				return this.stateNumericStart(input, offset);
			}
			case EntityDecoderState$1.NumericDecimal: {
				return this.stateNumericDecimal(input, offset);
			}
			case EntityDecoderState$1.NumericHex: {
				return this.stateNumericHex(input, offset);
			}
			case EntityDecoderState$1.NamedEntity: {
				return this.stateNamedEntity(input, offset);
			}
		}
	}
	/**
	* Switches between the numeric decimal and hexadecimal states.
	*
	* Equivalent to the `Numeric character reference state` in the HTML spec.
	*
	* @param input The string containing the entity (or a continuation of the entity).
	* @param offset The current offset.
	* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
	*/
	stateNumericStart(input, offset) {
		if (offset >= input.length) {
			return -1;
		}
		if ((input.charCodeAt(offset) | TO_LOWER_BIT$1) === CharCodes$2.LOWER_X) {
			this.state = EntityDecoderState$1.NumericHex;
			this.consumed += 1;
			return this.stateNumericHex(input, offset + 1);
		}
		this.state = EntityDecoderState$1.NumericDecimal;
		return this.stateNumericDecimal(input, offset);
	}
	/**
	* Parses a hexadecimal numeric entity.
	*
	* Equivalent to the `Hexademical character reference state` in the HTML spec.
	*
	* @param input The string containing the entity (or a continuation of the entity).
	* @param offset The current offset.
	* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
	*/
	stateNumericHex(input, offset) {
		while (offset < input.length) {
			const char = input.charCodeAt(offset);
			if (isNumber$2(char) || isHexadecimalCharacter$1(char)) {
				const digit = char <= CharCodes$2.NINE ? char - CharCodes$2.ZERO : (char | TO_LOWER_BIT$1) - CharCodes$2.LOWER_A + 10;
				this.result = this.result * 16 + digit;
				this.consumed++;
				offset++;
			} else {
				return this.emitNumericEntity(char, 3);
			}
		}
		return -1;
	}
	/**
	* Parses a decimal numeric entity.
	*
	* Equivalent to the `Decimal character reference state` in the HTML spec.
	*
	* @param input The string containing the entity (or a continuation of the entity).
	* @param offset The current offset.
	* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
	*/
	stateNumericDecimal(input, offset) {
		while (offset < input.length) {
			const char = input.charCodeAt(offset);
			if (isNumber$2(char)) {
				this.result = this.result * 10 + (char - CharCodes$2.ZERO);
				this.consumed++;
				offset++;
			} else {
				return this.emitNumericEntity(char, 2);
			}
		}
		return -1;
	}
	/**
	* Validate and emit a numeric entity.
	*
	* Implements the logic from the `Hexademical character reference start
	* state` and `Numeric character reference end state` in the HTML spec.
	*
	* @param lastCp The last code point of the entity. Used to see if the
	*               entity was terminated with a semicolon.
	* @param expectedLength The minimum number of characters that should be
	*                       consumed. Used to validate that at least one digit
	*                       was consumed.
	* @returns The number of characters that were consumed.
	*/
	emitNumericEntity(lastCp, expectedLength) {
		var _a;
		if (this.consumed <= expectedLength) {
			(_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);
			return 0;
		}
		if (lastCp === CharCodes$2.SEMI) {
			this.consumed += 1;
		} else if (this.decodeMode === DecodingMode$1.Strict) {
			return 0;
		}
		this.emitCodePoint(replaceCodePoint$1(this.result), this.consumed);
		if (this.errors) {
			if (lastCp !== CharCodes$2.SEMI) {
				this.errors.missingSemicolonAfterCharacterReference();
			}
			this.errors.validateNumericCharacterReference(this.result);
		}
		return this.consumed;
	}
	/**
	* Parses a named entity.
	*
	* Equivalent to the `Named character reference state` in the HTML spec.
	*
	* @param input The string containing the entity (or a continuation of the entity).
	* @param offset The current offset.
	* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
	*/
	stateNamedEntity(input, offset) {
		const { decodeTree } = this;
		let current = decodeTree[this.treeIndex];
		let valueLength = (current & BinTrieFlags$1.VALUE_LENGTH) >> 14;
		while (offset < input.length) {
			if (valueLength === 0 && (current & BinTrieFlags$1.FLAG13) !== 0) {
				const runLength = (current & BinTrieFlags$1.BRANCH_LENGTH) >> 7;
				if (this.runConsumed === 0) {
					const firstChar = current & BinTrieFlags$1.JUMP_TABLE;
					if (input.charCodeAt(offset) !== firstChar) {
						return this.result === 0 ? 0 : this.emitNotTerminatedNamedEntity();
					}
					offset++;
					this.excess++;
					this.runConsumed++;
				}
				while (this.runConsumed < runLength) {
					if (offset >= input.length) {
						return -1;
					}
					const charIndexInPacked = this.runConsumed - 1;
					const packedWord = decodeTree[this.treeIndex + 1 + (charIndexInPacked >> 1)];
					const expectedChar = charIndexInPacked % 2 === 0 ? packedWord & 255 : packedWord >> 8 & 255;
					if (input.charCodeAt(offset) !== expectedChar) {
						this.runConsumed = 0;
						return this.result === 0 ? 0 : this.emitNotTerminatedNamedEntity();
					}
					offset++;
					this.excess++;
					this.runConsumed++;
				}
				this.runConsumed = 0;
				this.treeIndex += 1 + (runLength >> 1);
				current = decodeTree[this.treeIndex];
				valueLength = (current & BinTrieFlags$1.VALUE_LENGTH) >> 14;
			}
			if (offset >= input.length) break;
			const char = input.charCodeAt(offset);
			if (char === CharCodes$2.SEMI && valueLength !== 0 && (current & BinTrieFlags$1.FLAG13) !== 0) {
				return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess);
			}
			this.treeIndex = determineBranch$1(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char);
			if (this.treeIndex < 0) {
				return this.result === 0 || this.decodeMode === DecodingMode$1.Attribute && (valueLength === 0 || isEntityInAttributeInvalidEnd$1(char)) ? 0 : this.emitNotTerminatedNamedEntity();
			}
			current = decodeTree[this.treeIndex];
			valueLength = (current & BinTrieFlags$1.VALUE_LENGTH) >> 14;
			if (valueLength !== 0) {
				if (char === CharCodes$2.SEMI) {
					return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess);
				}
				if (this.decodeMode !== DecodingMode$1.Strict && (current & BinTrieFlags$1.FLAG13) === 0) {
					this.result = this.treeIndex;
					this.consumed += this.excess;
					this.excess = 0;
				}
			}
			offset++;
			this.excess++;
		}
		return -1;
	}
	/**
	* Emit a named entity that was not terminated with a semicolon.
	*
	* @returns The number of characters consumed.
	*/
	emitNotTerminatedNamedEntity() {
		var _a;
		const { result, decodeTree } = this;
		const valueLength = (decodeTree[result] & BinTrieFlags$1.VALUE_LENGTH) >> 14;
		this.emitNamedEntityData(result, valueLength, this.consumed);
		(_a = this.errors) === null || _a === void 0 ? void 0 : _a.missingSemicolonAfterCharacterReference();
		return this.consumed;
	}
	/**
	* Emit a named entity.
	*
	* @param result The index of the entity in the decode tree.
	* @param valueLength The number of bytes in the entity.
	* @param consumed The number of characters consumed.
	*
	* @returns The number of characters consumed.
	*/
	emitNamedEntityData(result, valueLength, consumed) {
		const { decodeTree } = this;
		this.emitCodePoint(valueLength === 1 ? decodeTree[result] & ~(BinTrieFlags$1.VALUE_LENGTH | BinTrieFlags$1.FLAG13) : decodeTree[result + 1], consumed);
		if (valueLength === 3) {
			this.emitCodePoint(decodeTree[result + 2], consumed);
		}
		return consumed;
	}
	/**
	* Signal to the parser that the end of the input was reached.
	*
	* Remaining data will be emitted and relevant errors will be produced.
	*
	* @returns The number of characters consumed.
	*/
	end() {
		var _a;
		switch (this.state) {
			case EntityDecoderState$1.NamedEntity: {
				return this.result !== 0 && (this.decodeMode !== DecodingMode$1.Attribute || this.result === this.treeIndex) ? this.emitNotTerminatedNamedEntity() : 0;
			}
			case EntityDecoderState$1.NumericDecimal: {
				return this.emitNumericEntity(0, 2);
			}
			case EntityDecoderState$1.NumericHex: {
				return this.emitNumericEntity(0, 3);
			}
			case EntityDecoderState$1.NumericStart: {
				(_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);
				return 0;
			}
			case EntityDecoderState$1.EntityStart: {
				return 0;
			}
		}
	}
};
/**
* Creates a function that decodes entities in a string.
*
* @param decodeTree The decode tree.
* @returns A function that decodes entities in a string.
*/
function getDecoder$1(decodeTree) {
	let returnValue = "";
	const decoder = new EntityDecoder$1(decodeTree, (data) => returnValue += fromCodePoint$1(data));
	return function decodeWithTrie(input, decodeMode) {
		let lastIndex = 0;
		let offset = 0;
		while ((offset = input.indexOf("&", offset)) >= 0) {
			returnValue += input.slice(lastIndex, offset);
			decoder.startEntity(decodeMode);
			const length = decoder.write(input, offset + 1);
			if (length < 0) {
				lastIndex = offset + decoder.end();
				break;
			}
			lastIndex = offset + length;
			offset = length === 0 ? lastIndex + 1 : lastIndex;
		}
		const result = returnValue + input.slice(lastIndex);
		returnValue = "";
		return result;
	};
}
/**
* Determines the branch of the current node that is taken given the current
* character. This function is used to traverse the trie.
*
* @param decodeTree The trie.
* @param current The current node.
* @param nodeIdx The index right after the current node and its value.
* @param char The current character.
* @returns The index of the next node, or -1 if no branch is taken.
*/
function determineBranch$1(decodeTree, current, nodeIndex, char) {
	const branchCount = (current & BinTrieFlags$1.BRANCH_LENGTH) >> 7;
	const jumpOffset = current & BinTrieFlags$1.JUMP_TABLE;
	if (branchCount === 0) {
		return jumpOffset !== 0 && char === jumpOffset ? nodeIndex : -1;
	}
	if (jumpOffset) {
		const value = char - jumpOffset;
		return value < 0 || value >= branchCount ? -1 : decodeTree[nodeIndex + value] - 1;
	}
	const packedKeySlots = branchCount + 1 >> 1;
	let lo = 0;
	let hi = branchCount - 1;
	while (lo <= hi) {
		const mid = lo + hi >>> 1;
		const slot = mid >> 1;
		const packed = decodeTree[nodeIndex + slot];
		const midKey = packed >> (mid & 1) * 8 & 255;
		if (midKey < char) {
			lo = mid + 1;
		} else if (midKey > char) {
			hi = mid - 1;
		} else {
			return decodeTree[nodeIndex + packedKeySlots + mid];
		}
	}
	return -1;
}
const htmlDecoder$1 = /* @__PURE__ */ getDecoder$1(htmlDecodeTree$1);
const xmlDecoder$1 = /* @__PURE__ */ getDecoder$1(xmlDecodeTree$1);
/**
* Decodes an HTML string.
*
* @param htmlString The string to decode.
* @param mode The decoding mode.
* @returns The decoded string.
*/
function decodeHTML$1(htmlString, mode = DecodingMode$1.Legacy) {
	return htmlDecoder$1(htmlString, mode);
}
/**
* Decodes an HTML string in an attribute.
*
* @param htmlAttribute The string to decode.
* @returns The decoded string.
*/
function decodeHTMLAttribute$1(htmlAttribute) {
	return htmlDecoder$1(htmlAttribute, DecodingMode$1.Attribute);
}
/**
* Decodes an HTML string, requiring all entities to be terminated by a semicolon.
*
* @param htmlString The string to decode.
* @returns The decoded string.
*/
function decodeHTMLStrict$1(htmlString) {
	return htmlDecoder$1(htmlString, DecodingMode$1.Strict);
}
/**
* Decodes an XML string, requiring all entities to be terminated by a semicolon.
*
* @param xmlString The string to decode.
* @returns The decoded string.
*/
function decodeXML$1(xmlString) {
	return xmlDecoder$1(xmlString, DecodingMode$1.Strict);
}

//#endregion
//#region ../node_modules/htmlparser2/dist/esm/Tokenizer.js
var CharCodes$1;
(function(CharCodes) {
	CharCodes[CharCodes["Tab"] = 9] = "Tab";
	CharCodes[CharCodes["NewLine"] = 10] = "NewLine";
	CharCodes[CharCodes["FormFeed"] = 12] = "FormFeed";
	CharCodes[CharCodes["CarriageReturn"] = 13] = "CarriageReturn";
	CharCodes[CharCodes["Space"] = 32] = "Space";
	CharCodes[CharCodes["ExclamationMark"] = 33] = "ExclamationMark";
	CharCodes[CharCodes["Number"] = 35] = "Number";
	CharCodes[CharCodes["Amp"] = 38] = "Amp";
	CharCodes[CharCodes["SingleQuote"] = 39] = "SingleQuote";
	CharCodes[CharCodes["DoubleQuote"] = 34] = "DoubleQuote";
	CharCodes[CharCodes["Dash"] = 45] = "Dash";
	CharCodes[CharCodes["Slash"] = 47] = "Slash";
	CharCodes[CharCodes["Zero"] = 48] = "Zero";
	CharCodes[CharCodes["Nine"] = 57] = "Nine";
	CharCodes[CharCodes["Semi"] = 59] = "Semi";
	CharCodes[CharCodes["Lt"] = 60] = "Lt";
	CharCodes[CharCodes["Eq"] = 61] = "Eq";
	CharCodes[CharCodes["Gt"] = 62] = "Gt";
	CharCodes[CharCodes["Questionmark"] = 63] = "Questionmark";
	CharCodes[CharCodes["UpperA"] = 65] = "UpperA";
	CharCodes[CharCodes["LowerA"] = 97] = "LowerA";
	CharCodes[CharCodes["UpperF"] = 70] = "UpperF";
	CharCodes[CharCodes["LowerF"] = 102] = "LowerF";
	CharCodes[CharCodes["UpperZ"] = 90] = "UpperZ";
	CharCodes[CharCodes["LowerZ"] = 122] = "LowerZ";
	CharCodes[CharCodes["LowerX"] = 120] = "LowerX";
	CharCodes[CharCodes["OpeningSquareBracket"] = 91] = "OpeningSquareBracket";
})(CharCodes$1 || (CharCodes$1 = {}));
/** All the states the tokenizer can be in. */
var State$2;
(function(State) {
	State[State["Text"] = 1] = "Text";
	State[State["BeforeTagName"] = 2] = "BeforeTagName";
	State[State["InTagName"] = 3] = "InTagName";
	State[State["InSelfClosingTag"] = 4] = "InSelfClosingTag";
	State[State["BeforeClosingTagName"] = 5] = "BeforeClosingTagName";
	State[State["InClosingTagName"] = 6] = "InClosingTagName";
	State[State["AfterClosingTagName"] = 7] = "AfterClosingTagName";
	State[State["BeforeAttributeName"] = 8] = "BeforeAttributeName";
	State[State["InAttributeName"] = 9] = "InAttributeName";
	State[State["AfterAttributeName"] = 10] = "AfterAttributeName";
	State[State["BeforeAttributeValue"] = 11] = "BeforeAttributeValue";
	State[State["InAttributeValueDq"] = 12] = "InAttributeValueDq";
	State[State["InAttributeValueSq"] = 13] = "InAttributeValueSq";
	State[State["InAttributeValueNq"] = 14] = "InAttributeValueNq";
	State[State["BeforeDeclaration"] = 15] = "BeforeDeclaration";
	State[State["InDeclaration"] = 16] = "InDeclaration";
	State[State["InProcessingInstruction"] = 17] = "InProcessingInstruction";
	State[State["BeforeComment"] = 18] = "BeforeComment";
	State[State["CDATASequence"] = 19] = "CDATASequence";
	State[State["InSpecialComment"] = 20] = "InSpecialComment";
	State[State["InCommentLike"] = 21] = "InCommentLike";
	State[State["BeforeSpecialS"] = 22] = "BeforeSpecialS";
	State[State["BeforeSpecialT"] = 23] = "BeforeSpecialT";
	State[State["SpecialStartSequence"] = 24] = "SpecialStartSequence";
	State[State["InSpecialTag"] = 25] = "InSpecialTag";
	State[State["InEntity"] = 26] = "InEntity";
})(State$2 || (State$2 = {}));
function isWhitespace$1(c) {
	return c === CharCodes$1.Space || c === CharCodes$1.NewLine || c === CharCodes$1.Tab || c === CharCodes$1.FormFeed || c === CharCodes$1.CarriageReturn;
}
function isEndOfTagSection(c) {
	return c === CharCodes$1.Slash || c === CharCodes$1.Gt || isWhitespace$1(c);
}
function isASCIIAlpha(c) {
	return c >= CharCodes$1.LowerA && c <= CharCodes$1.LowerZ || c >= CharCodes$1.UpperA && c <= CharCodes$1.UpperZ;
}
var QuoteType;
(function(QuoteType) {
	QuoteType[QuoteType["NoValue"] = 0] = "NoValue";
	QuoteType[QuoteType["Unquoted"] = 1] = "Unquoted";
	QuoteType[QuoteType["Single"] = 2] = "Single";
	QuoteType[QuoteType["Double"] = 3] = "Double";
})(QuoteType || (QuoteType = {}));
/**
* Sequences used to match longer strings.
*
* We don't have `Script`, `Style`, or `Title` here. Instead, we re-use the *End
* sequences with an increased offset.
*/
const Sequences = {
	Cdata: new Uint8Array([
		67,
		68,
		65,
		84,
		65,
		91
	]),
	CdataEnd: new Uint8Array([
		93,
		93,
		62
	]),
	CommentEnd: new Uint8Array([
		45,
		45,
		62
	]),
	ScriptEnd: new Uint8Array([
		60,
		47,
		115,
		99,
		114,
		105,
		112,
		116
	]),
	StyleEnd: new Uint8Array([
		60,
		47,
		115,
		116,
		121,
		108,
		101
	]),
	TitleEnd: new Uint8Array([
		60,
		47,
		116,
		105,
		116,
		108,
		101
	]),
	TextareaEnd: new Uint8Array([
		60,
		47,
		116,
		101,
		120,
		116,
		97,
		114,
		101,
		97
	]),
	XmpEnd: new Uint8Array([
		60,
		47,
		120,
		109,
		112
	])
};
var Tokenizer$1 = class {
	constructor({ xmlMode = false, decodeEntities = true }, cbs) {
		this.cbs = cbs;
		/** The current state the tokenizer is in. */
		this.state = State$2.Text;
		/** The read buffer. */
		this.buffer = "";
		/** The beginning of the section that is currently being read. */
		this.sectionStart = 0;
		/** The index within the buffer that we are currently looking at. */
		this.index = 0;
		/** The start of the last entity. */
		this.entityStart = 0;
		/** Some behavior, eg. when decoding entities, is done while we are in another state. This keeps track of the other state type. */
		this.baseState = State$2.Text;
		/** For special parsing behavior inside of script and style tags. */
		this.isSpecial = false;
		/** Indicates whether the tokenizer has been paused. */
		this.running = true;
		/** The offset of the current buffer. */
		this.offset = 0;
		this.currentSequence = undefined;
		this.sequenceIndex = 0;
		this.xmlMode = xmlMode;
		this.decodeEntities = decodeEntities;
		this.entityDecoder = new EntityDecoder$1(xmlMode ? xmlDecodeTree$1 : htmlDecodeTree$1, (cp, consumed) => this.emitCodePoint(cp, consumed));
	}
	reset() {
		this.state = State$2.Text;
		this.buffer = "";
		this.sectionStart = 0;
		this.index = 0;
		this.baseState = State$2.Text;
		this.currentSequence = undefined;
		this.running = true;
		this.offset = 0;
	}
	write(chunk) {
		this.offset += this.buffer.length;
		this.buffer = chunk;
		this.parse();
	}
	end() {
		if (this.running) this.finish();
	}
	pause() {
		this.running = false;
	}
	resume() {
		this.running = true;
		if (this.index < this.buffer.length + this.offset) {
			this.parse();
		}
	}
	stateText(c) {
		if (c === CharCodes$1.Lt || !this.decodeEntities && this.fastForwardTo(CharCodes$1.Lt)) {
			if (this.index > this.sectionStart) {
				this.cbs.ontext(this.sectionStart, this.index);
			}
			this.state = State$2.BeforeTagName;
			this.sectionStart = this.index;
		} else if (this.decodeEntities && c === CharCodes$1.Amp) {
			this.startEntity();
		}
	}
	stateSpecialStartSequence(c) {
		const isEnd = this.sequenceIndex === this.currentSequence.length;
		const isMatch = isEnd ? isEndOfTagSection(c) : (c | 32) === this.currentSequence[this.sequenceIndex];
		if (!isMatch) {
			this.isSpecial = false;
		} else if (!isEnd) {
			this.sequenceIndex++;
			return;
		}
		this.sequenceIndex = 0;
		this.state = State$2.InTagName;
		this.stateInTagName(c);
	}
	/** Look for an end tag. For <title> tags, also decode entities. */
	stateInSpecialTag(c) {
		if (this.sequenceIndex === this.currentSequence.length) {
			if (c === CharCodes$1.Gt || isWhitespace$1(c)) {
				const endOfText = this.index - this.currentSequence.length;
				if (this.sectionStart < endOfText) {
					const actualIndex = this.index;
					this.index = endOfText;
					this.cbs.ontext(this.sectionStart, endOfText);
					this.index = actualIndex;
				}
				this.isSpecial = false;
				this.sectionStart = endOfText + 2;
				this.stateInClosingTagName(c);
				return;
			}
			this.sequenceIndex = 0;
		}
		if ((c | 32) === this.currentSequence[this.sequenceIndex]) {
			this.sequenceIndex += 1;
		} else if (this.sequenceIndex === 0) {
			if (this.currentSequence === Sequences.TitleEnd) {
				if (this.decodeEntities && c === CharCodes$1.Amp) {
					this.startEntity();
				}
			} else if (this.fastForwardTo(CharCodes$1.Lt)) {
				this.sequenceIndex = 1;
			}
		} else {
			this.sequenceIndex = Number(c === CharCodes$1.Lt);
		}
	}
	stateCDATASequence(c) {
		if (c === Sequences.Cdata[this.sequenceIndex]) {
			if (++this.sequenceIndex === Sequences.Cdata.length) {
				this.state = State$2.InCommentLike;
				this.currentSequence = Sequences.CdataEnd;
				this.sequenceIndex = 0;
				this.sectionStart = this.index + 1;
			}
		} else {
			this.sequenceIndex = 0;
			this.state = State$2.InDeclaration;
			this.stateInDeclaration(c);
		}
	}
	/**
	* When we wait for one specific character, we can speed things up
	* by skipping through the buffer until we find it.
	*
	* @returns Whether the character was found.
	*/
	fastForwardTo(c) {
		while (++this.index < this.buffer.length + this.offset) {
			if (this.buffer.charCodeAt(this.index - this.offset) === c) {
				return true;
			}
		}
		this.index = this.buffer.length + this.offset - 1;
		return false;
	}
	/**
	* Comments and CDATA end with `-->` and `]]>`.
	*
	* Their common qualities are:
	* - Their end sequences have a distinct character they start with.
	* - That character is then repeated, so we have to check multiple repeats.
	* - All characters but the start character of the sequence can be skipped.
	*/
	stateInCommentLike(c) {
		if (c === this.currentSequence[this.sequenceIndex]) {
			if (++this.sequenceIndex === this.currentSequence.length) {
				if (this.currentSequence === Sequences.CdataEnd) {
					this.cbs.oncdata(this.sectionStart, this.index, 2);
				} else {
					this.cbs.oncomment(this.sectionStart, this.index, 2);
				}
				this.sequenceIndex = 0;
				this.sectionStart = this.index + 1;
				this.state = State$2.Text;
			}
		} else if (this.sequenceIndex === 0) {
			if (this.fastForwardTo(this.currentSequence[0])) {
				this.sequenceIndex = 1;
			}
		} else if (c !== this.currentSequence[this.sequenceIndex - 1]) {
			this.sequenceIndex = 0;
		}
	}
	/**
	* HTML only allows ASCII alpha characters (a-z and A-Z) at the beginning of a tag name.
	*
	* XML allows a lot more characters here (@see https://www.w3.org/TR/REC-xml/#NT-NameStartChar).
	* We allow anything that wouldn't end the tag.
	*/
	isTagStartChar(c) {
		return this.xmlMode ? !isEndOfTagSection(c) : isASCIIAlpha(c);
	}
	startSpecial(sequence, offset) {
		this.isSpecial = true;
		this.currentSequence = sequence;
		this.sequenceIndex = offset;
		this.state = State$2.SpecialStartSequence;
	}
	stateBeforeTagName(c) {
		if (c === CharCodes$1.ExclamationMark) {
			this.state = State$2.BeforeDeclaration;
			this.sectionStart = this.index + 1;
		} else if (c === CharCodes$1.Questionmark) {
			this.state = State$2.InProcessingInstruction;
			this.sectionStart = this.index + 1;
		} else if (this.isTagStartChar(c)) {
			const lower = c | 32;
			this.sectionStart = this.index;
			if (this.xmlMode) {
				this.state = State$2.InTagName;
			} else if (lower === Sequences.ScriptEnd[2]) {
				this.state = State$2.BeforeSpecialS;
			} else if (lower === Sequences.TitleEnd[2] || lower === Sequences.XmpEnd[2]) {
				this.state = State$2.BeforeSpecialT;
			} else {
				this.state = State$2.InTagName;
			}
		} else if (c === CharCodes$1.Slash) {
			this.state = State$2.BeforeClosingTagName;
		} else {
			this.state = State$2.Text;
			this.stateText(c);
		}
	}
	stateInTagName(c) {
		if (isEndOfTagSection(c)) {
			this.cbs.onopentagname(this.sectionStart, this.index);
			this.sectionStart = -1;
			this.state = State$2.BeforeAttributeName;
			this.stateBeforeAttributeName(c);
		}
	}
	stateBeforeClosingTagName(c) {
		if (isWhitespace$1(c)) {} else if (c === CharCodes$1.Gt) {
			this.state = State$2.Text;
		} else {
			this.state = this.isTagStartChar(c) ? State$2.InClosingTagName : State$2.InSpecialComment;
			this.sectionStart = this.index;
		}
	}
	stateInClosingTagName(c) {
		if (c === CharCodes$1.Gt || isWhitespace$1(c)) {
			this.cbs.onclosetag(this.sectionStart, this.index);
			this.sectionStart = -1;
			this.state = State$2.AfterClosingTagName;
			this.stateAfterClosingTagName(c);
		}
	}
	stateAfterClosingTagName(c) {
		if (c === CharCodes$1.Gt || this.fastForwardTo(CharCodes$1.Gt)) {
			this.state = State$2.Text;
			this.sectionStart = this.index + 1;
		}
	}
	stateBeforeAttributeName(c) {
		if (c === CharCodes$1.Gt) {
			this.cbs.onopentagend(this.index);
			if (this.isSpecial) {
				this.state = State$2.InSpecialTag;
				this.sequenceIndex = 0;
			} else {
				this.state = State$2.Text;
			}
			this.sectionStart = this.index + 1;
		} else if (c === CharCodes$1.Slash) {
			this.state = State$2.InSelfClosingTag;
		} else if (!isWhitespace$1(c)) {
			this.state = State$2.InAttributeName;
			this.sectionStart = this.index;
		}
	}
	stateInSelfClosingTag(c) {
		if (c === CharCodes$1.Gt) {
			this.cbs.onselfclosingtag(this.index);
			this.state = State$2.Text;
			this.sectionStart = this.index + 1;
			this.isSpecial = false;
		} else if (!isWhitespace$1(c)) {
			this.state = State$2.BeforeAttributeName;
			this.stateBeforeAttributeName(c);
		}
	}
	stateInAttributeName(c) {
		if (c === CharCodes$1.Eq || isEndOfTagSection(c)) {
			this.cbs.onattribname(this.sectionStart, this.index);
			this.sectionStart = this.index;
			this.state = State$2.AfterAttributeName;
			this.stateAfterAttributeName(c);
		}
	}
	stateAfterAttributeName(c) {
		if (c === CharCodes$1.Eq) {
			this.state = State$2.BeforeAttributeValue;
		} else if (c === CharCodes$1.Slash || c === CharCodes$1.Gt) {
			this.cbs.onattribend(QuoteType.NoValue, this.sectionStart);
			this.sectionStart = -1;
			this.state = State$2.BeforeAttributeName;
			this.stateBeforeAttributeName(c);
		} else if (!isWhitespace$1(c)) {
			this.cbs.onattribend(QuoteType.NoValue, this.sectionStart);
			this.state = State$2.InAttributeName;
			this.sectionStart = this.index;
		}
	}
	stateBeforeAttributeValue(c) {
		if (c === CharCodes$1.DoubleQuote) {
			this.state = State$2.InAttributeValueDq;
			this.sectionStart = this.index + 1;
		} else if (c === CharCodes$1.SingleQuote) {
			this.state = State$2.InAttributeValueSq;
			this.sectionStart = this.index + 1;
		} else if (!isWhitespace$1(c)) {
			this.sectionStart = this.index;
			this.state = State$2.InAttributeValueNq;
			this.stateInAttributeValueNoQuotes(c);
		}
	}
	handleInAttributeValue(c, quote) {
		if (c === quote || !this.decodeEntities && this.fastForwardTo(quote)) {
			this.cbs.onattribdata(this.sectionStart, this.index);
			this.sectionStart = -1;
			this.cbs.onattribend(quote === CharCodes$1.DoubleQuote ? QuoteType.Double : QuoteType.Single, this.index + 1);
			this.state = State$2.BeforeAttributeName;
		} else if (this.decodeEntities && c === CharCodes$1.Amp) {
			this.startEntity();
		}
	}
	stateInAttributeValueDoubleQuotes(c) {
		this.handleInAttributeValue(c, CharCodes$1.DoubleQuote);
	}
	stateInAttributeValueSingleQuotes(c) {
		this.handleInAttributeValue(c, CharCodes$1.SingleQuote);
	}
	stateInAttributeValueNoQuotes(c) {
		if (isWhitespace$1(c) || c === CharCodes$1.Gt) {
			this.cbs.onattribdata(this.sectionStart, this.index);
			this.sectionStart = -1;
			this.cbs.onattribend(QuoteType.Unquoted, this.index);
			this.state = State$2.BeforeAttributeName;
			this.stateBeforeAttributeName(c);
		} else if (this.decodeEntities && c === CharCodes$1.Amp) {
			this.startEntity();
		}
	}
	stateBeforeDeclaration(c) {
		if (c === CharCodes$1.OpeningSquareBracket) {
			this.state = State$2.CDATASequence;
			this.sequenceIndex = 0;
		} else {
			this.state = c === CharCodes$1.Dash ? State$2.BeforeComment : State$2.InDeclaration;
		}
	}
	stateInDeclaration(c) {
		if (c === CharCodes$1.Gt || this.fastForwardTo(CharCodes$1.Gt)) {
			this.cbs.ondeclaration(this.sectionStart, this.index);
			this.state = State$2.Text;
			this.sectionStart = this.index + 1;
		}
	}
	stateInProcessingInstruction(c) {
		if (c === CharCodes$1.Gt || this.fastForwardTo(CharCodes$1.Gt)) {
			this.cbs.onprocessinginstruction(this.sectionStart, this.index);
			this.state = State$2.Text;
			this.sectionStart = this.index + 1;
		}
	}
	stateBeforeComment(c) {
		if (c === CharCodes$1.Dash) {
			this.state = State$2.InCommentLike;
			this.currentSequence = Sequences.CommentEnd;
			this.sequenceIndex = 2;
			this.sectionStart = this.index + 1;
		} else {
			this.state = State$2.InDeclaration;
		}
	}
	stateInSpecialComment(c) {
		if (c === CharCodes$1.Gt || this.fastForwardTo(CharCodes$1.Gt)) {
			this.cbs.oncomment(this.sectionStart, this.index, 0);
			this.state = State$2.Text;
			this.sectionStart = this.index + 1;
		}
	}
	stateBeforeSpecialS(c) {
		const lower = c | 32;
		if (lower === Sequences.ScriptEnd[3]) {
			this.startSpecial(Sequences.ScriptEnd, 4);
		} else if (lower === Sequences.StyleEnd[3]) {
			this.startSpecial(Sequences.StyleEnd, 4);
		} else {
			this.state = State$2.InTagName;
			this.stateInTagName(c);
		}
	}
	stateBeforeSpecialT(c) {
		const lower = c | 32;
		switch (lower) {
			case Sequences.TitleEnd[3]: {
				this.startSpecial(Sequences.TitleEnd, 4);
				break;
			}
			case Sequences.TextareaEnd[3]: {
				this.startSpecial(Sequences.TextareaEnd, 4);
				break;
			}
			case Sequences.XmpEnd[3]: {
				this.startSpecial(Sequences.XmpEnd, 4);
				break;
			}
			default: {
				this.state = State$2.InTagName;
				this.stateInTagName(c);
			}
		}
	}
	startEntity() {
		this.baseState = this.state;
		this.state = State$2.InEntity;
		this.entityStart = this.index;
		this.entityDecoder.startEntity(this.xmlMode ? DecodingMode$1.Strict : this.baseState === State$2.Text || this.baseState === State$2.InSpecialTag ? DecodingMode$1.Legacy : DecodingMode$1.Attribute);
	}
	stateInEntity() {
		const indexInBuffer = this.index - this.offset;
		const length = this.entityDecoder.write(this.buffer, indexInBuffer);
		if (length >= 0) {
			this.state = this.baseState;
			if (length === 0) {
				this.index -= 1;
			}
		} else {
			if (indexInBuffer < this.buffer.length && this.buffer.charCodeAt(indexInBuffer) === CharCodes$1.Amp) {
				this.state = this.baseState;
				this.index -= 1;
				return;
			}
			this.index = this.offset + this.buffer.length - 1;
		}
	}
	/**
	* Remove data that has already been consumed from the buffer.
	*/
	cleanup() {
		if (this.running && this.sectionStart !== this.index) {
			if (this.state === State$2.Text || this.state === State$2.InSpecialTag && this.sequenceIndex === 0) {
				this.cbs.ontext(this.sectionStart, this.index);
				this.sectionStart = this.index;
			} else if (this.state === State$2.InAttributeValueDq || this.state === State$2.InAttributeValueSq || this.state === State$2.InAttributeValueNq) {
				this.cbs.onattribdata(this.sectionStart, this.index);
				this.sectionStart = this.index;
			}
		}
	}
	shouldContinue() {
		return this.index < this.buffer.length + this.offset && this.running;
	}
	/**
	* Iterates through the buffer, calling the function corresponding to the current state.
	*
	* States that are more likely to be hit are higher up, as a performance improvement.
	*/
	parse() {
		while (this.shouldContinue()) {
			const c = this.buffer.charCodeAt(this.index - this.offset);
			switch (this.state) {
				case State$2.Text: {
					this.stateText(c);
					break;
				}
				case State$2.SpecialStartSequence: {
					this.stateSpecialStartSequence(c);
					break;
				}
				case State$2.InSpecialTag: {
					this.stateInSpecialTag(c);
					break;
				}
				case State$2.CDATASequence: {
					this.stateCDATASequence(c);
					break;
				}
				case State$2.InAttributeValueDq: {
					this.stateInAttributeValueDoubleQuotes(c);
					break;
				}
				case State$2.InAttributeName: {
					this.stateInAttributeName(c);
					break;
				}
				case State$2.InCommentLike: {
					this.stateInCommentLike(c);
					break;
				}
				case State$2.InSpecialComment: {
					this.stateInSpecialComment(c);
					break;
				}
				case State$2.BeforeAttributeName: {
					this.stateBeforeAttributeName(c);
					break;
				}
				case State$2.InTagName: {
					this.stateInTagName(c);
					break;
				}
				case State$2.InClosingTagName: {
					this.stateInClosingTagName(c);
					break;
				}
				case State$2.BeforeTagName: {
					this.stateBeforeTagName(c);
					break;
				}
				case State$2.AfterAttributeName: {
					this.stateAfterAttributeName(c);
					break;
				}
				case State$2.InAttributeValueSq: {
					this.stateInAttributeValueSingleQuotes(c);
					break;
				}
				case State$2.BeforeAttributeValue: {
					this.stateBeforeAttributeValue(c);
					break;
				}
				case State$2.BeforeClosingTagName: {
					this.stateBeforeClosingTagName(c);
					break;
				}
				case State$2.AfterClosingTagName: {
					this.stateAfterClosingTagName(c);
					break;
				}
				case State$2.BeforeSpecialS: {
					this.stateBeforeSpecialS(c);
					break;
				}
				case State$2.BeforeSpecialT: {
					this.stateBeforeSpecialT(c);
					break;
				}
				case State$2.InAttributeValueNq: {
					this.stateInAttributeValueNoQuotes(c);
					break;
				}
				case State$2.InSelfClosingTag: {
					this.stateInSelfClosingTag(c);
					break;
				}
				case State$2.InDeclaration: {
					this.stateInDeclaration(c);
					break;
				}
				case State$2.BeforeDeclaration: {
					this.stateBeforeDeclaration(c);
					break;
				}
				case State$2.BeforeComment: {
					this.stateBeforeComment(c);
					break;
				}
				case State$2.InProcessingInstruction: {
					this.stateInProcessingInstruction(c);
					break;
				}
				case State$2.InEntity: {
					this.stateInEntity();
					break;
				}
			}
			this.index++;
		}
		this.cleanup();
	}
	finish() {
		if (this.state === State$2.InEntity) {
			this.entityDecoder.end();
			this.state = this.baseState;
		}
		this.handleTrailingData();
		this.cbs.onend();
	}
	/** Handle any trailing data. */
	handleTrailingData() {
		const endIndex = this.buffer.length + this.offset;
		if (this.sectionStart >= endIndex) {
			return;
		}
		if (this.state === State$2.InCommentLike) {
			if (this.currentSequence === Sequences.CdataEnd) {
				this.cbs.oncdata(this.sectionStart, endIndex, 0);
			} else {
				this.cbs.oncomment(this.sectionStart, endIndex, 0);
			}
		} else if (this.state === State$2.InTagName || this.state === State$2.BeforeAttributeName || this.state === State$2.BeforeAttributeValue || this.state === State$2.AfterAttributeName || this.state === State$2.InAttributeName || this.state === State$2.InAttributeValueSq || this.state === State$2.InAttributeValueDq || this.state === State$2.InAttributeValueNq || this.state === State$2.InClosingTagName) {} else {
			this.cbs.ontext(this.sectionStart, endIndex);
		}
	}
	emitCodePoint(cp, consumed) {
		if (this.baseState !== State$2.Text && this.baseState !== State$2.InSpecialTag) {
			if (this.sectionStart < this.entityStart) {
				this.cbs.onattribdata(this.sectionStart, this.entityStart);
			}
			this.sectionStart = this.entityStart + consumed;
			this.index = this.sectionStart - 1;
			this.cbs.onattribentity(cp);
		} else {
			if (this.sectionStart < this.entityStart) {
				this.cbs.ontext(this.sectionStart, this.entityStart);
			}
			this.sectionStart = this.entityStart + consumed;
			this.index = this.sectionStart - 1;
			this.cbs.ontextentity(cp, this.sectionStart);
		}
	}
};

//#endregion
//#region ../node_modules/htmlparser2/dist/esm/Parser.js
const formTags = new Set([
	"input",
	"option",
	"optgroup",
	"select",
	"button",
	"datalist",
	"textarea"
]);
const pTag = new Set(["p"]);
const tableSectionTags = new Set(["thead", "tbody"]);
const ddtTags = new Set(["dd", "dt"]);
const rtpTags = new Set(["rt", "rp"]);
const openImpliesClose = new Map([
	["tr", new Set([
		"tr",
		"th",
		"td"
	])],
	["th", new Set(["th"])],
	["td", new Set([
		"thead",
		"th",
		"td"
	])],
	["body", new Set([
		"head",
		"link",
		"script"
	])],
	["li", new Set(["li"])],
	["p", pTag],
	["h1", pTag],
	["h2", pTag],
	["h3", pTag],
	["h4", pTag],
	["h5", pTag],
	["h6", pTag],
	["select", formTags],
	["input", formTags],
	["output", formTags],
	["button", formTags],
	["datalist", formTags],
	["textarea", formTags],
	["option", new Set(["option"])],
	["optgroup", new Set(["optgroup", "option"])],
	["dd", ddtTags],
	["dt", ddtTags],
	["address", pTag],
	["article", pTag],
	["aside", pTag],
	["blockquote", pTag],
	["details", pTag],
	["div", pTag],
	["dl", pTag],
	["fieldset", pTag],
	["figcaption", pTag],
	["figure", pTag],
	["footer", pTag],
	["form", pTag],
	["header", pTag],
	["hr", pTag],
	["main", pTag],
	["nav", pTag],
	["ol", pTag],
	["pre", pTag],
	["section", pTag],
	["table", pTag],
	["ul", pTag],
	["rt", rtpTags],
	["rp", rtpTags],
	["tbody", tableSectionTags],
	["tfoot", tableSectionTags]
]);
const voidElements = new Set([
	"area",
	"base",
	"basefont",
	"br",
	"col",
	"command",
	"embed",
	"frame",
	"hr",
	"img",
	"input",
	"isindex",
	"keygen",
	"link",
	"meta",
	"param",
	"source",
	"track",
	"wbr"
]);
const foreignContextElements = new Set(["math", "svg"]);
const htmlIntegrationElements = new Set([
	"mi",
	"mo",
	"mn",
	"ms",
	"mtext",
	"annotation-xml",
	"foreignobject",
	"desc",
	"title"
]);
const reNameEnd = /\s|\//;
var Parser$1 = class {
	constructor(cbs, options = {}) {
		var _a, _b, _c, _d, _e, _f;
		this.options = options;
		/** The start index of the last event. */
		this.startIndex = 0;
		/** The end index of the last event. */
		this.endIndex = 0;
		/**
		* Store the start index of the current open tag,
		* so we can update the start index for attributes.
		*/
		this.openTagStart = 0;
		this.tagname = "";
		this.attribname = "";
		this.attribvalue = "";
		this.attribs = null;
		this.stack = [];
		this.buffers = [];
		this.bufferOffset = 0;
		/** The index of the last written buffer. Used when resuming after a `pause()`. */
		this.writeIndex = 0;
		/** Indicates whether the parser has finished running / `.end` has been called. */
		this.ended = false;
		this.cbs = cbs !== null && cbs !== void 0 ? cbs : {};
		this.htmlMode = !this.options.xmlMode;
		this.lowerCaseTagNames = (_a = options.lowerCaseTags) !== null && _a !== void 0 ? _a : this.htmlMode;
		this.lowerCaseAttributeNames = (_b = options.lowerCaseAttributeNames) !== null && _b !== void 0 ? _b : this.htmlMode;
		this.recognizeSelfClosing = (_c = options.recognizeSelfClosing) !== null && _c !== void 0 ? _c : !this.htmlMode;
		this.tokenizer = new ((_d = options.Tokenizer) !== null && _d !== void 0 ? _d : Tokenizer$1)(this.options, this);
		this.foreignContext = [!this.htmlMode];
		(_f = (_e = this.cbs).onparserinit) === null || _f === void 0 ? void 0 : _f.call(_e, this);
	}
	/** @internal */
	ontext(start, endIndex) {
		var _a, _b;
		const data = this.getSlice(start, endIndex);
		this.endIndex = endIndex - 1;
		(_b = (_a = this.cbs).ontext) === null || _b === void 0 ? void 0 : _b.call(_a, data);
		this.startIndex = endIndex;
	}
	/** @internal */
	ontextentity(cp, endIndex) {
		var _a, _b;
		this.endIndex = endIndex - 1;
		(_b = (_a = this.cbs).ontext) === null || _b === void 0 ? void 0 : _b.call(_a, fromCodePoint$1(cp));
		this.startIndex = endIndex;
	}
	/**
	* Checks if the current tag is a void element. Override this if you want
	* to specify your own additional void elements.
	*/
	isVoidElement(name) {
		return this.htmlMode && voidElements.has(name);
	}
	/** @internal */
	onopentagname(start, endIndex) {
		this.endIndex = endIndex;
		let name = this.getSlice(start, endIndex);
		if (this.lowerCaseTagNames) {
			name = name.toLowerCase();
		}
		this.emitOpenTag(name);
	}
	emitOpenTag(name) {
		var _a, _b, _c, _d;
		this.openTagStart = this.startIndex;
		this.tagname = name;
		const impliesClose = this.htmlMode && openImpliesClose.get(name);
		if (impliesClose) {
			while (this.stack.length > 0 && impliesClose.has(this.stack[0])) {
				const element = this.stack.shift();
				(_b = (_a = this.cbs).onclosetag) === null || _b === void 0 ? void 0 : _b.call(_a, element, true);
			}
		}
		if (!this.isVoidElement(name)) {
			this.stack.unshift(name);
			if (this.htmlMode) {
				if (foreignContextElements.has(name)) {
					this.foreignContext.unshift(true);
				} else if (htmlIntegrationElements.has(name)) {
					this.foreignContext.unshift(false);
				}
			}
		}
		(_d = (_c = this.cbs).onopentagname) === null || _d === void 0 ? void 0 : _d.call(_c, name);
		if (this.cbs.onopentag) this.attribs = {};
	}
	endOpenTag(isImplied) {
		var _a, _b;
		this.startIndex = this.openTagStart;
		if (this.attribs) {
			(_b = (_a = this.cbs).onopentag) === null || _b === void 0 ? void 0 : _b.call(_a, this.tagname, this.attribs, isImplied);
			this.attribs = null;
		}
		if (this.cbs.onclosetag && this.isVoidElement(this.tagname)) {
			this.cbs.onclosetag(this.tagname, true);
		}
		this.tagname = "";
	}
	/** @internal */
	onopentagend(endIndex) {
		this.endIndex = endIndex;
		this.endOpenTag(false);
		this.startIndex = endIndex + 1;
	}
	/** @internal */
	onclosetag(start, endIndex) {
		var _a, _b, _c, _d, _e, _f, _g, _h;
		this.endIndex = endIndex;
		let name = this.getSlice(start, endIndex);
		if (this.lowerCaseTagNames) {
			name = name.toLowerCase();
		}
		if (this.htmlMode && (foreignContextElements.has(name) || htmlIntegrationElements.has(name))) {
			this.foreignContext.shift();
		}
		if (!this.isVoidElement(name)) {
			const pos = this.stack.indexOf(name);
			if (pos !== -1) {
				for (let index = 0; index <= pos; index++) {
					const element = this.stack.shift();
					(_b = (_a = this.cbs).onclosetag) === null || _b === void 0 ? void 0 : _b.call(_a, element, index !== pos);
				}
			} else if (this.htmlMode && name === "p") {
				this.emitOpenTag("p");
				this.closeCurrentTag(true);
			}
		} else if (this.htmlMode && name === "br") {
			(_d = (_c = this.cbs).onopentagname) === null || _d === void 0 ? void 0 : _d.call(_c, "br");
			(_f = (_e = this.cbs).onopentag) === null || _f === void 0 ? void 0 : _f.call(_e, "br", {}, true);
			(_h = (_g = this.cbs).onclosetag) === null || _h === void 0 ? void 0 : _h.call(_g, "br", false);
		}
		this.startIndex = endIndex + 1;
	}
	/** @internal */
	onselfclosingtag(endIndex) {
		this.endIndex = endIndex;
		if (this.recognizeSelfClosing || this.foreignContext[0]) {
			this.closeCurrentTag(false);
			this.startIndex = endIndex + 1;
		} else {
			this.onopentagend(endIndex);
		}
	}
	closeCurrentTag(isOpenImplied) {
		var _a, _b;
		const name = this.tagname;
		this.endOpenTag(isOpenImplied);
		if (this.stack[0] === name) {
			(_b = (_a = this.cbs).onclosetag) === null || _b === void 0 ? void 0 : _b.call(_a, name, !isOpenImplied);
			this.stack.shift();
		}
	}
	/** @internal */
	onattribname(start, endIndex) {
		this.startIndex = start;
		const name = this.getSlice(start, endIndex);
		this.attribname = this.lowerCaseAttributeNames ? name.toLowerCase() : name;
	}
	/** @internal */
	onattribdata(start, endIndex) {
		this.attribvalue += this.getSlice(start, endIndex);
	}
	/** @internal */
	onattribentity(cp) {
		this.attribvalue += fromCodePoint$1(cp);
	}
	/** @internal */
	onattribend(quote, endIndex) {
		var _a, _b;
		this.endIndex = endIndex;
		(_b = (_a = this.cbs).onattribute) === null || _b === void 0 ? void 0 : _b.call(_a, this.attribname, this.attribvalue, quote === QuoteType.Double ? "\"" : quote === QuoteType.Single ? "'" : quote === QuoteType.NoValue ? undefined : null);
		if (this.attribs && !Object.prototype.hasOwnProperty.call(this.attribs, this.attribname)) {
			this.attribs[this.attribname] = this.attribvalue;
		}
		this.attribvalue = "";
	}
	getInstructionName(value) {
		const index = value.search(reNameEnd);
		let name = index < 0 ? value : value.substr(0, index);
		if (this.lowerCaseTagNames) {
			name = name.toLowerCase();
		}
		return name;
	}
	/** @internal */
	ondeclaration(start, endIndex) {
		this.endIndex = endIndex;
		const value = this.getSlice(start, endIndex);
		if (this.cbs.onprocessinginstruction) {
			const name = this.getInstructionName(value);
			this.cbs.onprocessinginstruction(`!${name}`, `!${value}`);
		}
		this.startIndex = endIndex + 1;
	}
	/** @internal */
	onprocessinginstruction(start, endIndex) {
		this.endIndex = endIndex;
		const value = this.getSlice(start, endIndex);
		if (this.cbs.onprocessinginstruction) {
			const name = this.getInstructionName(value);
			this.cbs.onprocessinginstruction(`?${name}`, `?${value}`);
		}
		this.startIndex = endIndex + 1;
	}
	/** @internal */
	oncomment(start, endIndex, offset) {
		var _a, _b, _c, _d;
		this.endIndex = endIndex;
		(_b = (_a = this.cbs).oncomment) === null || _b === void 0 ? void 0 : _b.call(_a, this.getSlice(start, endIndex - offset));
		(_d = (_c = this.cbs).oncommentend) === null || _d === void 0 ? void 0 : _d.call(_c);
		this.startIndex = endIndex + 1;
	}
	/** @internal */
	oncdata(start, endIndex, offset) {
		var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
		this.endIndex = endIndex;
		const value = this.getSlice(start, endIndex - offset);
		if (!this.htmlMode || this.options.recognizeCDATA) {
			(_b = (_a = this.cbs).oncdatastart) === null || _b === void 0 ? void 0 : _b.call(_a);
			(_d = (_c = this.cbs).ontext) === null || _d === void 0 ? void 0 : _d.call(_c, value);
			(_f = (_e = this.cbs).oncdataend) === null || _f === void 0 ? void 0 : _f.call(_e);
		} else {
			(_h = (_g = this.cbs).oncomment) === null || _h === void 0 ? void 0 : _h.call(_g, `[CDATA[${value}]]`);
			(_k = (_j = this.cbs).oncommentend) === null || _k === void 0 ? void 0 : _k.call(_j);
		}
		this.startIndex = endIndex + 1;
	}
	/** @internal */
	onend() {
		var _a, _b;
		if (this.cbs.onclosetag) {
			this.endIndex = this.startIndex;
			for (let index = 0; index < this.stack.length; index++) {
				this.cbs.onclosetag(this.stack[index], true);
			}
		}
		(_b = (_a = this.cbs).onend) === null || _b === void 0 ? void 0 : _b.call(_a);
	}
	/**
	* Resets the parser to a blank state, ready to parse a new HTML document
	*/
	reset() {
		var _a, _b, _c, _d;
		(_b = (_a = this.cbs).onreset) === null || _b === void 0 ? void 0 : _b.call(_a);
		this.tokenizer.reset();
		this.tagname = "";
		this.attribname = "";
		this.attribs = null;
		this.stack.length = 0;
		this.startIndex = 0;
		this.endIndex = 0;
		(_d = (_c = this.cbs).onparserinit) === null || _d === void 0 ? void 0 : _d.call(_c, this);
		this.buffers.length = 0;
		this.foreignContext.length = 0;
		this.foreignContext.unshift(!this.htmlMode);
		this.bufferOffset = 0;
		this.writeIndex = 0;
		this.ended = false;
	}
	/**
	* Resets the parser, then parses a complete document and
	* pushes it to the handler.
	*
	* @param data Document to parse.
	*/
	parseComplete(data) {
		this.reset();
		this.end(data);
	}
	getSlice(start, end) {
		while (start - this.bufferOffset >= this.buffers[0].length) {
			this.shiftBuffer();
		}
		let slice = this.buffers[0].slice(start - this.bufferOffset, end - this.bufferOffset);
		while (end - this.bufferOffset > this.buffers[0].length) {
			this.shiftBuffer();
			slice += this.buffers[0].slice(0, end - this.bufferOffset);
		}
		return slice;
	}
	shiftBuffer() {
		this.bufferOffset += this.buffers[0].length;
		this.writeIndex--;
		this.buffers.shift();
	}
	/**
	* Parses a chunk of data and calls the corresponding callbacks.
	*
	* @param chunk Chunk to parse.
	*/
	write(chunk) {
		var _a, _b;
		if (this.ended) {
			(_b = (_a = this.cbs).onerror) === null || _b === void 0 ? void 0 : _b.call(_a, new Error(".write() after done!"));
			return;
		}
		this.buffers.push(chunk);
		if (this.tokenizer.running) {
			this.tokenizer.write(chunk);
			this.writeIndex++;
		}
	}
	/**
	* Parses the end of the buffer and clears the stack, calls onend.
	*
	* @param chunk Optional final chunk to parse.
	*/
	end(chunk) {
		var _a, _b;
		if (this.ended) {
			(_b = (_a = this.cbs).onerror) === null || _b === void 0 ? void 0 : _b.call(_a, new Error(".end() after done!"));
			return;
		}
		if (chunk) this.write(chunk);
		this.ended = true;
		this.tokenizer.end();
	}
	/**
	* Pauses parsing. The parser won't emit events until `resume` is called.
	*/
	pause() {
		this.tokenizer.pause();
	}
	/**
	* Resumes parsing after `pause` was called.
	*/
	resume() {
		this.tokenizer.resume();
		while (this.tokenizer.running && this.writeIndex < this.buffers.length) {
			this.tokenizer.write(this.buffers[this.writeIndex++]);
		}
		if (this.ended) this.tokenizer.end();
	}
	/**
	* Alias of `write`, for backwards compatibility.
	*
	* @param chunk Chunk to parse.
	* @deprecated
	*/
	parseChunk(chunk) {
		this.write(chunk);
	}
	/**
	* Alias of `end`, for backwards compatibility.
	*
	* @param chunk Optional final chunk to parse.
	* @deprecated
	*/
	done(chunk) {
		this.end(chunk);
	}
};

//#endregion
//#region ../node_modules/htmlparser2/dist/esm/index.js
/**
* Parses the data, returns the resulting document.
*
* @param data The data that should be parsed.
* @param options Optional options for the parser and DOM handler.
*/
function parseDocument(data, options) {
	const handler = new DomHandler(undefined, options);
	new Parser$1(handler, options).end(data);
	return handler.root;
}
/**
* Parses data, returns an array of the root nodes.
*
* Note that the root nodes still have a `Document` node as their parent.
* Use `parseDocument` to get the `Document` node instead.
*
* @param data The data that should be parsed.
* @param options Optional options for the parser and DOM handler.
* @deprecated Use `parseDocument` instead.
*/
function parseDOM(data, options) {
	return parseDocument(data, options).children;
}
/**
* Creates a parser instance, with an attached DOM handler.
*
* @param callback A callback that will be called once parsing has been completed, with the resulting document.
* @param options Optional options for the parser and DOM handler.
* @param elementCallback An optional callback that will be called every time a tag has been completed inside of the DOM.
*/
function createDocumentStream(callback, options, elementCallback) {
	const handler = new DomHandler((error) => callback(error, handler.root), options, elementCallback);
	return new Parser$1(handler, options);
}
/**
* Creates a parser instance, with an attached DOM handler.
*
* @param callback A callback that will be called once parsing has been completed, with an array of root nodes.
* @param options Optional options for the parser and DOM handler.
* @param elementCallback An optional callback that will be called every time a tag has been completed inside of the DOM.
* @deprecated Use `createDocumentStream` instead.
*/
function createDomStream(callback, options, elementCallback) {
	const handler = new DomHandler(callback, options, elementCallback);
	return new Parser$1(handler, options);
}
const parseFeedDefaultOptions = { xmlMode: true };
/**
* Parse a feed.
*
* @param feed The feed that should be parsed, as a string.
* @param options Optionally, options for parsing. When using this, you should set `xmlMode` to `true`.
*/
function parseFeed(feed, options = parseFeedDefaultOptions) {
	return getFeed(parseDOM(feed, options));
}

//#endregion
//#region ../node_modules/cheerio/dist/esm/api/attributes.js
var attributes_exports = /* @__PURE__ */ __exportAll({
	addClass: () => addClass,
	attr: () => attr,
	data: () => data,
	hasClass: () => hasClass,
	prop: () => prop,
	removeAttr: () => removeAttr,
	removeClass: () => removeClass,
	toggleClass: () => toggleClass,
	val: () => val
});
/**
* Methods for getting and modifying attributes.
*
* @module cheerio/attributes
*/
var _a$1;
const hasOwn = (_a$1 = Object.hasOwn) !== null && _a$1 !== void 0 ? _a$1 : ((object, prop) => Object.prototype.hasOwnProperty.call(object, prop));
const rspace = /\s+/;
const dataAttrPrefix = "data-";
const rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i;
const rbrace = /^{[^]*}$|^\[[^]*]$/;
function getAttr(elem, name, xmlMode) {
	var _a;
	if (!elem || !isTag(elem)) return undefined;
	(_a = elem.attribs) !== null && _a !== void 0 ? _a : elem.attribs = {};
	if (!name) {
		return elem.attribs;
	}
	if (hasOwn(elem.attribs, name)) {
		return !xmlMode && rboolean.test(name) ? name : elem.attribs[name];
	}
	if (elem.name === "option" && name === "value") {
		return text$1(elem.children);
	}
	if (elem.name === "input" && (elem.attribs["type"] === "radio" || elem.attribs["type"] === "checkbox") && name === "value") {
		return "on";
	}
	return undefined;
}
/**
* Sets the value of an attribute. The attribute will be deleted if the value is
* `null`.
*
* @private
* @param el - The element to set the attribute on.
* @param name - The attribute's name.
* @param value - The attribute's value.
*/
function setAttr(el, name, value) {
	if (value === null) {
		removeAttribute(el, name);
	} else {
		el.attribs[name] = `${value}`;
	}
}
function attr(name, value) {
	if (typeof name === "object" || value !== undefined) {
		if (typeof value === "function") {
			if (typeof name !== "string") {
				{
					throw new Error("Bad combination of arguments.");
				}
			}
			return domEach(this, (el, i) => {
				if (isTag(el)) setAttr(el, name, value.call(el, i, el.attribs[name]));
			});
		}
		return domEach(this, (el) => {
			if (!isTag(el)) return;
			if (typeof name === "object") {
				for (const objName of Object.keys(name)) {
					const objValue = name[objName];
					setAttr(el, objName, objValue);
				}
			} else {
				setAttr(el, name, value);
			}
		});
	}
	return arguments.length > 1 ? this : getAttr(this[0], name, this.options.xmlMode);
}
/**
* Gets a node's prop.
*
* @private
* @category Attributes
* @param el - Element to get the prop of.
* @param name - Name of the prop.
* @param xmlMode - Disable handling of special HTML attributes.
* @returns The prop's value.
*/
function getProp(el, name, xmlMode) {
	return name in el ? el[name] : !xmlMode && rboolean.test(name) ? getAttr(el, name, false) !== undefined : getAttr(el, name, xmlMode);
}
/**
* Sets the value of a prop.
*
* @private
* @param el - The element to set the prop on.
* @param name - The prop's name.
* @param value - The prop's value.
* @param xmlMode - Disable handling of special HTML attributes.
*/
function setProp(el, name, value, xmlMode) {
	if (name in el) {
		el[name] = value;
	} else {
		setAttr(el, name, !xmlMode && rboolean.test(name) ? value ? "" : null : `${value}`);
	}
}
function prop(name, value) {
	var _a;
	if (typeof name === "string" && value === undefined) {
		const el = this[0];
		if (!el) return undefined;
		switch (name) {
			case "style": {
				const property = this.css();
				const keys = Object.keys(property);
				for (let i = 0; i < keys.length; i++) {
					property[i] = keys[i];
				}
				property.length = keys.length;
				return property;
			}
			case "tagName":
			case "nodeName": {
				if (!isTag(el)) return undefined;
				return el.name.toUpperCase();
			}
			case "href":
			case "src": {
				if (!isTag(el)) return undefined;
				const prop = (_a = el.attribs) === null || _a === void 0 ? void 0 : _a[name];
				if (typeof URL !== "undefined" && (name === "href" && (el.tagName === "a" || el.tagName === "link") || name === "src" && (el.tagName === "img" || el.tagName === "iframe" || el.tagName === "audio" || el.tagName === "video" || el.tagName === "source")) && prop !== undefined && this.options.baseURI) {
					return new URL(prop, this.options.baseURI).href;
				}
				return prop;
			}
			case "innerText": {
				return innerText(el);
			}
			case "textContent": {
				return textContent(el);
			}
			case "outerHTML": {
				if (el.type === Root) return this.html();
				return this.clone().wrap("<container />").parent().html();
			}
			case "innerHTML": {
				return this.html();
			}
			default: {
				if (!isTag(el)) return undefined;
				return getProp(el, name, this.options.xmlMode);
			}
		}
	}
	if (typeof name === "object" || value !== undefined) {
		if (typeof value === "function") {
			if (typeof name === "object") {
				throw new TypeError("Bad combination of arguments.");
			}
			return domEach(this, (el, i) => {
				if (isTag(el)) {
					setProp(el, name, value.call(el, i, getProp(el, name, this.options.xmlMode)), this.options.xmlMode);
				}
			});
		}
		return domEach(this, (el) => {
			if (!isTag(el)) return;
			if (typeof name === "object") {
				for (const key of Object.keys(name)) {
					const val = name[key];
					setProp(el, key, val, this.options.xmlMode);
				}
			} else {
				setProp(el, name, value, this.options.xmlMode);
			}
		});
	}
	return undefined;
}
/**
* Sets the value of a data attribute.
*
* @private
* @param elem - The element to set the data attribute on.
* @param name - The data attribute's name.
* @param value - The data attribute's value.
*/
function setData(elem, name, value) {
	var _a;
	(_a = elem.data) !== null && _a !== void 0 ? _a : elem.data = {};
	if (typeof name === "object") Object.assign(elem.data, name);
	else if (typeof name === "string" && value !== undefined) {
		elem.data[name] = value;
	}
}
/**
* Read _all_ HTML5 `data-*` attributes from the equivalent HTML5 `data-*`
* attribute, and cache the value in the node's internal data store.
*
* @private
* @category Attributes
* @param el - Element to get the data attribute of.
* @returns A map with all of the data attributes.
*/
function readAllData(el) {
	for (const domName of Object.keys(el.attribs)) {
		if (!domName.startsWith(dataAttrPrefix)) {
			continue;
		}
		const jsName = camelCase(domName.slice(dataAttrPrefix.length));
		if (!hasOwn(el.data, jsName)) {
			el.data[jsName] = parseDataValue(el.attribs[domName]);
		}
	}
	return el.data;
}
/**
* Read the specified attribute from the equivalent HTML5 `data-*` attribute,
* and (if present) cache the value in the node's internal data store.
*
* @private
* @category Attributes
* @param el - Element to get the data attribute of.
* @param name - Name of the data attribute.
* @returns The data attribute's value.
*/
function readData(el, name) {
	const domName = dataAttrPrefix + cssCase(name);
	const data = el.data;
	if (hasOwn(data, name)) {
		return data[name];
	}
	if (hasOwn(el.attribs, domName)) {
		return data[name] = parseDataValue(el.attribs[domName]);
	}
	return undefined;
}
/**
* Coerce string data-* attributes to their corresponding JavaScript primitives.
*
* @private
* @category Attributes
* @param value - The value to parse.
* @returns The parsed value.
*/
function parseDataValue(value) {
	if (value === "null") return null;
	if (value === "true") return true;
	if (value === "false") return false;
	const num = Number(value);
	if (value === String(num)) return num;
	if (rbrace.test(value)) {
		try {
			return JSON.parse(value);
		} catch {}
	}
	return value;
}
function data(name, value) {
	var _a;
	const elem = this[0];
	if (!elem || !isTag(elem)) return;
	const dataEl = elem;
	(_a = dataEl.data) !== null && _a !== void 0 ? _a : dataEl.data = {};
	if (name == null) {
		return readAllData(dataEl);
	}
	if (typeof name === "object" || value !== undefined) {
		domEach(this, (el) => {
			if (isTag(el)) {
				if (typeof name === "object") setData(el, name);
				else setData(el, name, value);
			}
		});
		return this;
	}
	return readData(dataEl, name);
}
function val(value) {
	const querying = arguments.length === 0;
	const element = this[0];
	if (!element || !isTag(element)) return querying ? undefined : this;
	switch (element.name) {
		case "textarea": {
			return this.text(value);
		}
		case "select": {
			const option = this.find("option:selected");
			if (!querying) {
				if (this.attr("multiple") == null && typeof value === "object") {
					return this;
				}
				this.find("option").removeAttr("selected");
				const values = typeof value === "object" ? value : [value];
				for (const val of values) {
					this.find(`option[value="${val}"]`).attr("selected", "");
				}
				return this;
			}
			return this.attr("multiple") ? option.toArray().map((el) => text$1(el.children)) : option.attr("value");
		}
		case "button":
		case "input":
		case "option": {
			return querying ? this.attr("value") : this.attr("value", value);
		}
	}
	return undefined;
}
/**
* Remove an attribute.
*
* @private
* @param elem - Node to remove attribute from.
* @param name - Name of the attribute to remove.
*/
function removeAttribute(elem, name) {
	if (!elem.attribs || !hasOwn(elem.attribs, name)) return;
	delete elem.attribs[name];
}
/**
* Splits a space-separated list of names to individual names.
*
* @category Attributes
* @param names - Names to split.
* @returns - Split names.
*/
function splitNames(names) {
	return names ? names.trim().split(rspace) : [];
}
/**
* Method for removing attributes by `name`.
*
* @category Attributes
* @example
*
* ```js
* $('.pear').removeAttr('class').prop('outerHTML');
* //=> <li>Pear</li>
*
* $('.apple').attr('id', 'favorite');
* $('.apple').removeAttr('id class').prop('outerHTML');
* //=> <li>Apple</li>
* ```
*
* @param name - Name of the attribute.
* @returns The instance itself.
* @see {@link https://api.jquery.com/removeAttr/}
*/
function removeAttr(name) {
	const attrNames = splitNames(name);
	for (const attrName of attrNames) {
		domEach(this, (elem) => {
			if (isTag(elem)) removeAttribute(elem, attrName);
		});
	}
	return this;
}
/**
* Check to see if _any_ of the matched elements have the given `className`.
*
* @category Attributes
* @example
*
* ```js
* $('.pear').hasClass('pear');
* //=> true
*
* $('apple').hasClass('fruit');
* //=> false
*
* $('li').hasClass('pear');
* //=> true
* ```
*
* @param className - Name of the class.
* @returns Indicates if an element has the given `className`.
* @see {@link https://api.jquery.com/hasClass/}
*/
function hasClass(className) {
	return this.toArray().some((elem) => {
		const clazz = isTag(elem) && elem.attribs["class"];
		let idx = -1;
		if (clazz && className.length > 0) {
			while ((idx = clazz.indexOf(className, idx + 1)) > -1) {
				const end = idx + className.length;
				if ((idx === 0 || rspace.test(clazz[idx - 1])) && (end === clazz.length || rspace.test(clazz[end]))) {
					return true;
				}
			}
		}
		return false;
	});
}
/**
* Adds class(es) to all of the matched elements. Also accepts a `function`.
*
* @category Attributes
* @example
*
* ```js
* $('.pear').addClass('fruit').prop('outerHTML');
* //=> <li class="pear fruit">Pear</li>
*
* $('.apple').addClass('fruit red').prop('outerHTML');
* //=> <li class="apple fruit red">Apple</li>
* ```
*
* @param value - Name of new class.
* @returns The instance itself.
* @see {@link https://api.jquery.com/addClass/}
*/
function addClass(value) {
	if (typeof value === "function") {
		return domEach(this, (el, i) => {
			if (isTag(el)) {
				const className = el.attribs["class"] || "";
				addClass.call([el], value.call(el, i, className));
			}
		});
	}
	if (!value || typeof value !== "string") return this;
	const classNames = value.split(rspace);
	const numElements = this.length;
	for (let i = 0; i < numElements; i++) {
		const el = this[i];
		if (!isTag(el)) continue;
		const className = getAttr(el, "class", false);
		if (className) {
			let setClass = ` ${className} `;
			for (const cn of classNames) {
				const appendClass = `${cn} `;
				if (!setClass.includes(` ${appendClass}`)) setClass += appendClass;
			}
			setAttr(el, "class", setClass.trim());
		} else {
			setAttr(el, "class", classNames.join(" ").trim());
		}
	}
	return this;
}
/**
* Removes one or more space-separated classes from the selected elements. If no
* `className` is defined, all classes will be removed. Also accepts a
* `function`.
*
* @category Attributes
* @example
*
* ```js
* $('.pear').removeClass('pear').prop('outerHTML');
* //=> <li class="">Pear</li>
*
* $('.apple').addClass('red').removeClass().prop('outerHTML');
* //=> <li class="">Apple</li>
* ```
*
* @param name - Name of the class. If not specified, removes all elements.
* @returns The instance itself.
* @see {@link https://api.jquery.com/removeClass/}
*/
function removeClass(name) {
	if (typeof name === "function") {
		return domEach(this, (el, i) => {
			if (isTag(el)) {
				removeClass.call([el], name.call(el, i, el.attribs["class"] || ""));
			}
		});
	}
	const classes = splitNames(name);
	const numClasses = classes.length;
	const removeAll = arguments.length === 0;
	return domEach(this, (el) => {
		if (!isTag(el)) return;
		if (removeAll) {
			el.attribs["class"] = "";
		} else {
			const elClasses = splitNames(el.attribs["class"]);
			let changed = false;
			for (let j = 0; j < numClasses; j++) {
				const index = elClasses.indexOf(classes[j]);
				if (index !== -1) {
					elClasses.splice(index, 1);
					changed = true;
					j--;
				}
			}
			if (changed) {
				el.attribs["class"] = elClasses.join(" ");
			}
		}
	});
}
/**
* Add or remove class(es) from the matched elements, depending on either the
* class's presence or the value of the switch argument. Also accepts a
* `function`.
*
* @category Attributes
* @example
*
* ```js
* $('.apple.green').toggleClass('fruit green red').prop('outerHTML');
* //=> <li class="apple fruit red">Apple</li>
*
* $('.apple.green').toggleClass('fruit green red', true).prop('outerHTML');
* //=> <li class="apple green fruit red">Apple</li>
* ```
*
* @param value - Name of the class. Can also be a function.
* @param stateVal - If specified the state of the class.
* @returns The instance itself.
* @see {@link https://api.jquery.com/toggleClass/}
*/
function toggleClass(value, stateVal) {
	if (typeof value === "function") {
		return domEach(this, (el, i) => {
			if (isTag(el)) {
				toggleClass.call([el], value.call(el, i, el.attribs["class"] || "", stateVal), stateVal);
			}
		});
	}
	if (!value || typeof value !== "string") return this;
	const classNames = value.split(rspace);
	const numClasses = classNames.length;
	const state = typeof stateVal === "boolean" ? stateVal ? 1 : -1 : 0;
	const numElements = this.length;
	for (let i = 0; i < numElements; i++) {
		const el = this[i];
		if (!isTag(el)) continue;
		const elementClasses = splitNames(el.attribs["class"]);
		for (let j = 0; j < numClasses; j++) {
			const index = elementClasses.indexOf(classNames[j]);
			if (state >= 0 && index === -1) {
				elementClasses.push(classNames[j]);
			} else if (state <= 0 && index !== -1) {
				elementClasses.splice(index, 1);
			}
		}
		el.attribs["class"] = elementClasses.join(" ");
	}
	return this;
}

//#endregion
//#region ../node_modules/css-what/lib/commonjs/types.js
var require_types = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.AttributeAction = exports.IgnoreCaseMode = exports.SelectorType = void 0;
	var SelectorType;
	(function(SelectorType) {
		SelectorType["Attribute"] = "attribute";
		SelectorType["Pseudo"] = "pseudo";
		SelectorType["PseudoElement"] = "pseudo-element";
		SelectorType["Tag"] = "tag";
		SelectorType["Universal"] = "universal";
		SelectorType["Adjacent"] = "adjacent";
		SelectorType["Child"] = "child";
		SelectorType["Descendant"] = "descendant";
		SelectorType["Parent"] = "parent";
		SelectorType["Sibling"] = "sibling";
		SelectorType["ColumnCombinator"] = "column-combinator";
	})(SelectorType = exports.SelectorType || (exports.SelectorType = {}));
	/**
	* Modes for ignore case.
	*
	* This could be updated to an enum, and the object is
	* the current stand-in that will allow code to be updated
	* without big changes.
	*/
	exports.IgnoreCaseMode = {
		Unknown: null,
		QuirksMode: "quirks",
		IgnoreCase: true,
		CaseSensitive: false
	};
	var AttributeAction;
	(function(AttributeAction) {
		AttributeAction["Any"] = "any";
		AttributeAction["Element"] = "element";
		AttributeAction["End"] = "end";
		AttributeAction["Equals"] = "equals";
		AttributeAction["Exists"] = "exists";
		AttributeAction["Hyphen"] = "hyphen";
		AttributeAction["Not"] = "not";
		AttributeAction["Start"] = "start";
	})(AttributeAction = exports.AttributeAction || (exports.AttributeAction = {}));
}));

//#endregion
//#region ../node_modules/css-what/lib/commonjs/parse.js
var require_parse$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.parse = exports.isTraversal = void 0;
	var types_1 = require_types();
	var reName = /^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/;
	var reEscape = /\\([\da-f]{1,6}\s?|(\s)|.)/gi;
	var actionTypes = new Map([
		[126, types_1.AttributeAction.Element],
		[94, types_1.AttributeAction.Start],
		[36, types_1.AttributeAction.End],
		[42, types_1.AttributeAction.Any],
		[33, types_1.AttributeAction.Not],
		[124, types_1.AttributeAction.Hyphen]
	]);
	var unpackPseudos = new Set([
		"has",
		"not",
		"matches",
		"is",
		"where",
		"host",
		"host-context"
	]);
	/**
	* Checks whether a specific selector is a traversal.
	* This is useful eg. in swapping the order of elements that
	* are not traversals.
	*
	* @param selector Selector to check.
	*/
	function isTraversal(selector) {
		switch (selector.type) {
			case types_1.SelectorType.Adjacent:
			case types_1.SelectorType.Child:
			case types_1.SelectorType.Descendant:
			case types_1.SelectorType.Parent:
			case types_1.SelectorType.Sibling:
			case types_1.SelectorType.ColumnCombinator: return true;
			default: return false;
		}
	}
	exports.isTraversal = isTraversal;
	var stripQuotesFromPseudos = new Set(["contains", "icontains"]);
	function funescape(_, escaped, escapedWhitespace) {
		var high = parseInt(escaped, 16) - 65536;
		return high !== high || escapedWhitespace ? escaped : high < 0 ? String.fromCharCode(high + 65536) : String.fromCharCode(high >> 10 | 55296, high & 1023 | 56320);
	}
	function unescapeCSS(str) {
		return str.replace(reEscape, funescape);
	}
	function isQuote(c) {
		return c === 39 || c === 34;
	}
	function isWhitespace(c) {
		return c === 32 || c === 9 || c === 10 || c === 12 || c === 13;
	}
	/**
	* Parses `selector`, optionally with the passed `options`.
	*
	* @param selector Selector to parse.
	* @param options Options for parsing.
	* @returns Returns a two-dimensional array.
	* The first dimension represents selectors separated by commas (eg. `sub1, sub2`),
	* the second contains the relevant tokens for that selector.
	*/
	function parse(selector) {
		var subselects = [];
		var endIndex = parseSelector(subselects, "".concat(selector), 0);
		if (endIndex < selector.length) {
			throw new Error("Unmatched selector: ".concat(selector.slice(endIndex)));
		}
		return subselects;
	}
	exports.parse = parse;
	function parseSelector(subselects, selector, selectorIndex) {
		var tokens = [];
		function getName(offset) {
			var match = selector.slice(selectorIndex + offset).match(reName);
			if (!match) {
				throw new Error("Expected name, found ".concat(selector.slice(selectorIndex)));
			}
			var name = match[0];
			selectorIndex += offset + name.length;
			return unescapeCSS(name);
		}
		function stripWhitespace(offset) {
			selectorIndex += offset;
			while (selectorIndex < selector.length && isWhitespace(selector.charCodeAt(selectorIndex))) {
				selectorIndex++;
			}
		}
		function readValueWithParenthesis() {
			selectorIndex += 1;
			var start = selectorIndex;
			var counter = 1;
			for (; counter > 0 && selectorIndex < selector.length; selectorIndex++) {
				if (selector.charCodeAt(selectorIndex) === 40 && !isEscaped(selectorIndex)) {
					counter++;
				} else if (selector.charCodeAt(selectorIndex) === 41 && !isEscaped(selectorIndex)) {
					counter--;
				}
			}
			if (counter) {
				throw new Error("Parenthesis not matched");
			}
			return unescapeCSS(selector.slice(start, selectorIndex - 1));
		}
		function isEscaped(pos) {
			var slashCount = 0;
			while (selector.charCodeAt(--pos) === 92) slashCount++;
			return (slashCount & 1) === 1;
		}
		function ensureNotTraversal() {
			if (tokens.length > 0 && isTraversal(tokens[tokens.length - 1])) {
				throw new Error("Did not expect successive traversals.");
			}
		}
		function addTraversal(type) {
			if (tokens.length > 0 && tokens[tokens.length - 1].type === types_1.SelectorType.Descendant) {
				tokens[tokens.length - 1].type = type;
				return;
			}
			ensureNotTraversal();
			tokens.push({ type });
		}
		function addSpecialAttribute(name, action) {
			tokens.push({
				type: types_1.SelectorType.Attribute,
				name,
				action,
				value: getName(1),
				namespace: null,
				ignoreCase: "quirks"
			});
		}
		/**
		* We have finished parsing the current part of the selector.
		*
		* Remove descendant tokens at the end if they exist,
		* and return the last index, so that parsing can be
		* picked up from here.
		*/
		function finalizeSubselector() {
			if (tokens.length && tokens[tokens.length - 1].type === types_1.SelectorType.Descendant) {
				tokens.pop();
			}
			if (tokens.length === 0) {
				throw new Error("Empty sub-selector");
			}
			subselects.push(tokens);
		}
		stripWhitespace(0);
		if (selector.length === selectorIndex) {
			return selectorIndex;
		}
		loop: while (selectorIndex < selector.length) {
			var firstChar = selector.charCodeAt(selectorIndex);
			switch (firstChar) {
				case 32:
				case 9:
				case 10:
				case 12:
				case 13: {
					if (tokens.length === 0 || tokens[0].type !== types_1.SelectorType.Descendant) {
						ensureNotTraversal();
						tokens.push({ type: types_1.SelectorType.Descendant });
					}
					stripWhitespace(1);
					break;
				}
				case 62: {
					addTraversal(types_1.SelectorType.Child);
					stripWhitespace(1);
					break;
				}
				case 60: {
					addTraversal(types_1.SelectorType.Parent);
					stripWhitespace(1);
					break;
				}
				case 126: {
					addTraversal(types_1.SelectorType.Sibling);
					stripWhitespace(1);
					break;
				}
				case 43: {
					addTraversal(types_1.SelectorType.Adjacent);
					stripWhitespace(1);
					break;
				}
				case 46: {
					addSpecialAttribute("class", types_1.AttributeAction.Element);
					break;
				}
				case 35: {
					addSpecialAttribute("id", types_1.AttributeAction.Equals);
					break;
				}
				case 91: {
					stripWhitespace(1);
					var name_1 = void 0;
					var namespace = null;
					if (selector.charCodeAt(selectorIndex) === 124) {
						name_1 = getName(1);
					} else if (selector.startsWith("*|", selectorIndex)) {
						namespace = "*";
						name_1 = getName(2);
					} else {
						name_1 = getName(0);
						if (selector.charCodeAt(selectorIndex) === 124 && selector.charCodeAt(selectorIndex + 1) !== 61) {
							namespace = name_1;
							name_1 = getName(1);
						}
					}
					stripWhitespace(0);
					var action = types_1.AttributeAction.Exists;
					var possibleAction = actionTypes.get(selector.charCodeAt(selectorIndex));
					if (possibleAction) {
						action = possibleAction;
						if (selector.charCodeAt(selectorIndex + 1) !== 61) {
							throw new Error("Expected `=`");
						}
						stripWhitespace(2);
					} else if (selector.charCodeAt(selectorIndex) === 61) {
						action = types_1.AttributeAction.Equals;
						stripWhitespace(1);
					}
					var value = "";
					var ignoreCase = null;
					if (action !== "exists") {
						if (isQuote(selector.charCodeAt(selectorIndex))) {
							var quote = selector.charCodeAt(selectorIndex);
							var sectionEnd = selectorIndex + 1;
							while (sectionEnd < selector.length && (selector.charCodeAt(sectionEnd) !== quote || isEscaped(sectionEnd))) {
								sectionEnd += 1;
							}
							if (selector.charCodeAt(sectionEnd) !== quote) {
								throw new Error("Attribute value didn't end");
							}
							value = unescapeCSS(selector.slice(selectorIndex + 1, sectionEnd));
							selectorIndex = sectionEnd + 1;
						} else {
							var valueStart = selectorIndex;
							while (selectorIndex < selector.length && (!isWhitespace(selector.charCodeAt(selectorIndex)) && selector.charCodeAt(selectorIndex) !== 93 || isEscaped(selectorIndex))) {
								selectorIndex += 1;
							}
							value = unescapeCSS(selector.slice(valueStart, selectorIndex));
						}
						stripWhitespace(0);
						var forceIgnore = selector.charCodeAt(selectorIndex) | 32;
						if (forceIgnore === 115) {
							ignoreCase = false;
							stripWhitespace(1);
						} else if (forceIgnore === 105) {
							ignoreCase = true;
							stripWhitespace(1);
						}
					}
					if (selector.charCodeAt(selectorIndex) !== 93) {
						throw new Error("Attribute selector didn't terminate");
					}
					selectorIndex += 1;
					var attributeSelector = {
						type: types_1.SelectorType.Attribute,
						name: name_1,
						action,
						value,
						namespace,
						ignoreCase
					};
					tokens.push(attributeSelector);
					break;
				}
				case 58: {
					if (selector.charCodeAt(selectorIndex + 1) === 58) {
						tokens.push({
							type: types_1.SelectorType.PseudoElement,
							name: getName(2).toLowerCase(),
							data: selector.charCodeAt(selectorIndex) === 40 ? readValueWithParenthesis() : null
						});
						continue;
					}
					var name_2 = getName(1).toLowerCase();
					var data = null;
					if (selector.charCodeAt(selectorIndex) === 40) {
						if (unpackPseudos.has(name_2)) {
							if (isQuote(selector.charCodeAt(selectorIndex + 1))) {
								throw new Error("Pseudo-selector ".concat(name_2, " cannot be quoted"));
							}
							data = [];
							selectorIndex = parseSelector(data, selector, selectorIndex + 1);
							if (selector.charCodeAt(selectorIndex) !== 41) {
								throw new Error("Missing closing parenthesis in :".concat(name_2, " (").concat(selector, ")"));
							}
							selectorIndex += 1;
						} else {
							data = readValueWithParenthesis();
							if (stripQuotesFromPseudos.has(name_2)) {
								var quot = data.charCodeAt(0);
								if (quot === data.charCodeAt(data.length - 1) && isQuote(quot)) {
									data = data.slice(1, -1);
								}
							}
							data = unescapeCSS(data);
						}
					}
					tokens.push({
						type: types_1.SelectorType.Pseudo,
						name: name_2,
						data
					});
					break;
				}
				case 44: {
					finalizeSubselector();
					tokens = [];
					stripWhitespace(1);
					break;
				}
				default: {
					if (selector.startsWith("/*", selectorIndex)) {
						var endIndex = selector.indexOf("*/", selectorIndex + 2);
						if (endIndex < 0) {
							throw new Error("Comment was not terminated");
						}
						selectorIndex = endIndex + 2;
						if (tokens.length === 0) {
							stripWhitespace(0);
						}
						break;
					}
					var namespace = null;
					var name_3 = void 0;
					if (firstChar === 42) {
						selectorIndex += 1;
						name_3 = "*";
					} else if (firstChar === 124) {
						name_3 = "";
						if (selector.charCodeAt(selectorIndex + 1) === 124) {
							addTraversal(types_1.SelectorType.ColumnCombinator);
							stripWhitespace(2);
							break;
						}
					} else if (reName.test(selector.slice(selectorIndex))) {
						name_3 = getName(0);
					} else {
						break loop;
					}
					if (selector.charCodeAt(selectorIndex) === 124 && selector.charCodeAt(selectorIndex + 1) !== 124) {
						namespace = name_3;
						if (selector.charCodeAt(selectorIndex + 1) === 42) {
							name_3 = "*";
							selectorIndex += 2;
						} else {
							name_3 = getName(1);
						}
					}
					tokens.push(name_3 === "*" ? {
						type: types_1.SelectorType.Universal,
						namespace
					} : {
						type: types_1.SelectorType.Tag,
						name: name_3,
						namespace
					});
				}
			}
		}
		finalizeSubselector();
		return selectorIndex;
	}
}));

//#endregion
//#region ../node_modules/css-what/lib/commonjs/stringify.js
var require_stringify = /* @__PURE__ */ __commonJSMin(((exports) => {
	var __spreadArray = exports && exports.__spreadArray || function(to, from, pack) {
		if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
			if (ar || !(i in from)) {
				if (!ar) ar = Array.prototype.slice.call(from, 0, i);
				ar[i] = from[i];
			}
		}
		return to.concat(ar || Array.prototype.slice.call(from));
	};
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.stringify = void 0;
	var types_1 = require_types();
	var attribValChars = ["\\", "\""];
	var pseudoValChars = __spreadArray(__spreadArray([], attribValChars, true), ["(", ")"], false);
	var charsToEscapeInAttributeValue = new Set(attribValChars.map(function(c) {
		return c.charCodeAt(0);
	}));
	var charsToEscapeInPseudoValue = new Set(pseudoValChars.map(function(c) {
		return c.charCodeAt(0);
	}));
	var charsToEscapeInName = new Set(__spreadArray(__spreadArray([], pseudoValChars, true), [
		"~",
		"^",
		"$",
		"*",
		"+",
		"!",
		"|",
		":",
		"[",
		"]",
		" ",
		"."
	], false).map(function(c) {
		return c.charCodeAt(0);
	}));
	/**
	* Turns `selector` back into a string.
	*
	* @param selector Selector to stringify.
	*/
	function stringify(selector) {
		return selector.map(function(token) {
			return token.map(stringifyToken).join("");
		}).join(", ");
	}
	exports.stringify = stringify;
	function stringifyToken(token, index, arr) {
		switch (token.type) {
			case types_1.SelectorType.Child: return index === 0 ? "> " : " > ";
			case types_1.SelectorType.Parent: return index === 0 ? "< " : " < ";
			case types_1.SelectorType.Sibling: return index === 0 ? "~ " : " ~ ";
			case types_1.SelectorType.Adjacent: return index === 0 ? "+ " : " + ";
			case types_1.SelectorType.Descendant: return " ";
			case types_1.SelectorType.ColumnCombinator: return index === 0 ? "|| " : " || ";
			case types_1.SelectorType.Universal: return token.namespace === "*" && index + 1 < arr.length && "name" in arr[index + 1] ? "" : "".concat(getNamespace(token.namespace), "*");
			case types_1.SelectorType.Tag: return getNamespacedName(token);
			case types_1.SelectorType.PseudoElement: return "::".concat(escapeName(token.name, charsToEscapeInName)).concat(token.data === null ? "" : "(".concat(escapeName(token.data, charsToEscapeInPseudoValue), ")"));
			case types_1.SelectorType.Pseudo: return ":".concat(escapeName(token.name, charsToEscapeInName)).concat(token.data === null ? "" : "(".concat(typeof token.data === "string" ? escapeName(token.data, charsToEscapeInPseudoValue) : stringify(token.data), ")"));
			case types_1.SelectorType.Attribute: {
				if (token.name === "id" && token.action === types_1.AttributeAction.Equals && token.ignoreCase === "quirks" && !token.namespace) {
					return "#".concat(escapeName(token.value, charsToEscapeInName));
				}
				if (token.name === "class" && token.action === types_1.AttributeAction.Element && token.ignoreCase === "quirks" && !token.namespace) {
					return ".".concat(escapeName(token.value, charsToEscapeInName));
				}
				var name_1 = getNamespacedName(token);
				if (token.action === types_1.AttributeAction.Exists) {
					return "[".concat(name_1, "]");
				}
				return "[".concat(name_1).concat(getActionValue(token.action), "=\"").concat(escapeName(token.value, charsToEscapeInAttributeValue), "\"").concat(token.ignoreCase === null ? "" : token.ignoreCase ? " i" : " s", "]");
			}
		}
	}
	function getActionValue(action) {
		switch (action) {
			case types_1.AttributeAction.Equals: return "";
			case types_1.AttributeAction.Element: return "~";
			case types_1.AttributeAction.Start: return "^";
			case types_1.AttributeAction.End: return "$";
			case types_1.AttributeAction.Any: return "*";
			case types_1.AttributeAction.Not: return "!";
			case types_1.AttributeAction.Hyphen: return "|";
			case types_1.AttributeAction.Exists: throw new Error("Shouldn't be here");
		}
	}
	function getNamespacedName(token) {
		return "".concat(getNamespace(token.namespace)).concat(escapeName(token.name, charsToEscapeInName));
	}
	function getNamespace(namespace) {
		return namespace !== null ? "".concat(namespace === "*" ? "*" : escapeName(namespace, charsToEscapeInName), "|") : "";
	}
	function escapeName(str, charsToEscape) {
		var lastIdx = 0;
		var ret = "";
		for (var i = 0; i < str.length; i++) {
			if (charsToEscape.has(str.charCodeAt(i))) {
				ret += "".concat(str.slice(lastIdx, i), "\\").concat(str.charAt(i));
				lastIdx = i + 1;
			}
		}
		return ret.length > 0 ? ret + str.slice(lastIdx) : str;
	}
}));

//#endregion
//#region ../node_modules/css-what/lib/commonjs/index.js
var require_commonjs = /* @__PURE__ */ __commonJSMin(((exports) => {
	var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) {
		if (k2 === undefined) k2 = k;
		var desc = Object.getOwnPropertyDescriptor(m, k);
		if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
			desc = {
				enumerable: true,
				get: function() {
					return m[k];
				}
			};
		}
		Object.defineProperty(o, k2, desc);
	}) : (function(o, m, k, k2) {
		if (k2 === undefined) k2 = k;
		o[k2] = m[k];
	}));
	var __exportStar = exports && exports.__exportStar || function(m, exports$3) {
		for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports$3, p)) __createBinding(exports$3, m, p);
	};
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.stringify = exports.parse = exports.isTraversal = void 0;
	__exportStar(require_types(), exports);
	var parse_1 = require_parse$1();
	Object.defineProperty(exports, "isTraversal", {
		enumerable: true,
		get: function() {
			return parse_1.isTraversal;
		}
	});
	Object.defineProperty(exports, "parse", {
		enumerable: true,
		get: function() {
			return parse_1.parse;
		}
	});
	var stringify_1 = require_stringify();
	Object.defineProperty(exports, "stringify", {
		enumerable: true,
		get: function() {
			return stringify_1.stringify;
		}
	});
}));

//#endregion
//#region ../node_modules/boolbase/index.js
var require_boolbase = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = {
		trueFunc: function trueFunc() {
			return true;
		},
		falseFunc: function falseFunc() {
			return false;
		}
	};
}));

//#endregion
//#region ../node_modules/css-select/lib/esm/sort.js
var import_boolbase = /* @__PURE__ */ __toESM(require_boolbase(), 1);
var import_commonjs = require_commonjs();
const procedure = new Map([
	[import_commonjs.SelectorType.Universal, 50],
	[import_commonjs.SelectorType.Tag, 30],
	[import_commonjs.SelectorType.Attribute, 1],
	[import_commonjs.SelectorType.Pseudo, 0]
]);
function isTraversal$1(token) {
	return !procedure.has(token.type);
}
const attributes = new Map([
	[import_commonjs.AttributeAction.Exists, 10],
	[import_commonjs.AttributeAction.Equals, 8],
	[import_commonjs.AttributeAction.Not, 7],
	[import_commonjs.AttributeAction.Start, 6],
	[import_commonjs.AttributeAction.End, 6],
	[import_commonjs.AttributeAction.Any, 5]
]);
/**
* Sort the parts of the passed selector,
* as there is potential for optimization
* (some types of selectors are faster than others)
*
* @param arr Selector to sort
*/
function sortByProcedure(arr) {
	const procs = arr.map(getProcedure);
	for (let i = 1; i < arr.length; i++) {
		const procNew = procs[i];
		if (procNew < 0) continue;
		for (let j = i - 1; j >= 0 && procNew < procs[j]; j--) {
			const token = arr[j + 1];
			arr[j + 1] = arr[j];
			arr[j] = token;
			procs[j + 1] = procs[j];
			procs[j] = procNew;
		}
	}
}
function getProcedure(token) {
	var _a, _b;
	let proc = (_a = procedure.get(token.type)) !== null && _a !== void 0 ? _a : -1;
	if (token.type === import_commonjs.SelectorType.Attribute) {
		proc = (_b = attributes.get(token.action)) !== null && _b !== void 0 ? _b : 4;
		if (token.action === import_commonjs.AttributeAction.Equals && token.name === "id") {
			proc = 9;
		}
		if (token.ignoreCase) {
			proc >>= 1;
		}
	} else if (token.type === import_commonjs.SelectorType.Pseudo) {
		if (!token.data) {
			proc = 3;
		} else if (token.name === "has" || token.name === "contains") {
			proc = 0;
		} else if (Array.isArray(token.data)) {
			proc = Math.min(...token.data.map((d) => Math.min(...d.map(getProcedure))));
			if (proc < 0) {
				proc = 0;
			}
		} else {
			proc = 2;
		}
	}
	return proc;
}

//#endregion
//#region ../node_modules/css-select/lib/esm/attributes.js
/**
* All reserved characters in a regex, used for escaping.
*
* Taken from XRegExp, (c) 2007-2020 Steven Levithan under the MIT license
* https://github.com/slevithan/xregexp/blob/95eeebeb8fac8754d54eafe2b4743661ac1cf028/src/xregexp.js#L794
*/
const reChars = /[-[\]{}()*+?.,\\^$|#\s]/g;
function escapeRegex(value) {
	return value.replace(reChars, "\\$&");
}
/**
* Attributes that are case-insensitive in HTML.
*
* @private
* @see https://html.spec.whatwg.org/multipage/semantics-other.html#case-sensitivity-of-selectors
*/
const caseInsensitiveAttributes = new Set([
	"accept",
	"accept-charset",
	"align",
	"alink",
	"axis",
	"bgcolor",
	"charset",
	"checked",
	"clear",
	"codetype",
	"color",
	"compact",
	"declare",
	"defer",
	"dir",
	"direction",
	"disabled",
	"enctype",
	"face",
	"frame",
	"hreflang",
	"http-equiv",
	"lang",
	"language",
	"link",
	"media",
	"method",
	"multiple",
	"nohref",
	"noresize",
	"noshade",
	"nowrap",
	"readonly",
	"rel",
	"rev",
	"rules",
	"scope",
	"scrolling",
	"selected",
	"shape",
	"target",
	"text",
	"type",
	"valign",
	"valuetype",
	"vlink"
]);
function shouldIgnoreCase(selector, options) {
	return typeof selector.ignoreCase === "boolean" ? selector.ignoreCase : selector.ignoreCase === "quirks" ? !!options.quirksMode : !options.xmlMode && caseInsensitiveAttributes.has(selector.name);
}
/**
* Attribute selectors
*/
const attributeRules = {
	equals(next, data, options) {
		const { adapter } = options;
		const { name } = data;
		let { value } = data;
		if (shouldIgnoreCase(data, options)) {
			value = value.toLowerCase();
			return (elem) => {
				const attr = adapter.getAttributeValue(elem, name);
				return attr != null && attr.length === value.length && attr.toLowerCase() === value && next(elem);
			};
		}
		return (elem) => adapter.getAttributeValue(elem, name) === value && next(elem);
	},
	hyphen(next, data, options) {
		const { adapter } = options;
		const { name } = data;
		let { value } = data;
		const len = value.length;
		if (shouldIgnoreCase(data, options)) {
			value = value.toLowerCase();
			return function hyphenIC(elem) {
				const attr = adapter.getAttributeValue(elem, name);
				return attr != null && (attr.length === len || attr.charAt(len) === "-") && attr.substr(0, len).toLowerCase() === value && next(elem);
			};
		}
		return function hyphen(elem) {
			const attr = adapter.getAttributeValue(elem, name);
			return attr != null && (attr.length === len || attr.charAt(len) === "-") && attr.substr(0, len) === value && next(elem);
		};
	},
	element(next, data, options) {
		const { adapter } = options;
		const { name, value } = data;
		if (/\s/.test(value)) {
			return import_boolbase.default.falseFunc;
		}
		const regex = new RegExp(`(?:^|\\s)${escapeRegex(value)}(?:$|\\s)`, shouldIgnoreCase(data, options) ? "i" : "");
		return function element(elem) {
			const attr = adapter.getAttributeValue(elem, name);
			return attr != null && attr.length >= value.length && regex.test(attr) && next(elem);
		};
	},
	exists(next, { name }, { adapter }) {
		return (elem) => adapter.hasAttrib(elem, name) && next(elem);
	},
	start(next, data, options) {
		const { adapter } = options;
		const { name } = data;
		let { value } = data;
		const len = value.length;
		if (len === 0) {
			return import_boolbase.default.falseFunc;
		}
		if (shouldIgnoreCase(data, options)) {
			value = value.toLowerCase();
			return (elem) => {
				const attr = adapter.getAttributeValue(elem, name);
				return attr != null && attr.length >= len && attr.substr(0, len).toLowerCase() === value && next(elem);
			};
		}
		return (elem) => {
			var _a;
			return !!((_a = adapter.getAttributeValue(elem, name)) === null || _a === void 0 ? void 0 : _a.startsWith(value)) && next(elem);
		};
	},
	end(next, data, options) {
		const { adapter } = options;
		const { name } = data;
		let { value } = data;
		const len = -value.length;
		if (len === 0) {
			return import_boolbase.default.falseFunc;
		}
		if (shouldIgnoreCase(data, options)) {
			value = value.toLowerCase();
			return (elem) => {
				var _a;
				return ((_a = adapter.getAttributeValue(elem, name)) === null || _a === void 0 ? void 0 : _a.substr(len).toLowerCase()) === value && next(elem);
			};
		}
		return (elem) => {
			var _a;
			return !!((_a = adapter.getAttributeValue(elem, name)) === null || _a === void 0 ? void 0 : _a.endsWith(value)) && next(elem);
		};
	},
	any(next, data, options) {
		const { adapter } = options;
		const { name, value } = data;
		if (value === "") {
			return import_boolbase.default.falseFunc;
		}
		if (shouldIgnoreCase(data, options)) {
			const regex = new RegExp(escapeRegex(value), "i");
			return function anyIC(elem) {
				const attr = adapter.getAttributeValue(elem, name);
				return attr != null && attr.length >= value.length && regex.test(attr) && next(elem);
			};
		}
		return (elem) => {
			var _a;
			return !!((_a = adapter.getAttributeValue(elem, name)) === null || _a === void 0 ? void 0 : _a.includes(value)) && next(elem);
		};
	},
	not(next, data, options) {
		const { adapter } = options;
		const { name } = data;
		let { value } = data;
		if (value === "") {
			return (elem) => !!adapter.getAttributeValue(elem, name) && next(elem);
		} else if (shouldIgnoreCase(data, options)) {
			value = value.toLowerCase();
			return (elem) => {
				const attr = adapter.getAttributeValue(elem, name);
				return (attr == null || attr.length !== value.length || attr.toLowerCase() !== value) && next(elem);
			};
		}
		return (elem) => adapter.getAttributeValue(elem, name) !== value && next(elem);
	}
};

//#endregion
//#region ../node_modules/nth-check/lib/esm/parse.js
const whitespace = new Set([
	9,
	10,
	12,
	13,
	32
]);
const ZERO = "0".charCodeAt(0);
const NINE = "9".charCodeAt(0);
/**
* Parses an expression.
*
* @throws An `Error` if parsing fails.
* @returns An array containing the integer step size and the integer offset of the nth rule.
* @example nthCheck.parse("2n+3"); // returns [2, 3]
*/
function parse$6(formula) {
	formula = formula.trim().toLowerCase();
	if (formula === "even") {
		return [2, 0];
	} else if (formula === "odd") {
		return [2, 1];
	}
	let idx = 0;
	let a = 0;
	let sign = readSign();
	let number = readNumber();
	if (idx < formula.length && formula.charAt(idx) === "n") {
		idx++;
		a = sign * (number !== null && number !== void 0 ? number : 1);
		skipWhitespace();
		if (idx < formula.length) {
			sign = readSign();
			skipWhitespace();
			number = readNumber();
		} else {
			sign = number = 0;
		}
	}
	if (number === null || idx < formula.length) {
		throw new Error(`n-th rule couldn't be parsed ('${formula}')`);
	}
	return [a, sign * number];
	function readSign() {
		if (formula.charAt(idx) === "-") {
			idx++;
			return -1;
		}
		if (formula.charAt(idx) === "+") {
			idx++;
		}
		return 1;
	}
	function readNumber() {
		const start = idx;
		let value = 0;
		while (idx < formula.length && formula.charCodeAt(idx) >= ZERO && formula.charCodeAt(idx) <= NINE) {
			value = value * 10 + (formula.charCodeAt(idx) - ZERO);
			idx++;
		}
		return idx === start ? null : value;
	}
	function skipWhitespace() {
		while (idx < formula.length && whitespace.has(formula.charCodeAt(idx))) {
			idx++;
		}
	}
}

//#endregion
//#region ../node_modules/nth-check/lib/esm/compile.js
/**
* Returns a function that checks if an elements index matches the given rule
* highly optimized to return the fastest solution.
*
* @param parsed A tuple [a, b], as returned by `parse`.
* @returns A highly optimized function that returns whether an index matches the nth-check.
* @example
*
* ```js
* const check = nthCheck.compile([2, 3]);
*
* check(0); // `false`
* check(1); // `false`
* check(2); // `true`
* check(3); // `false`
* check(4); // `true`
* check(5); // `false`
* check(6); // `true`
* ```
*/
function compile$2(parsed) {
	const a = parsed[0];
	const b = parsed[1] - 1;
	if (b < 0 && a <= 0) return import_boolbase.default.falseFunc;
	if (a === -1) return (index) => index <= b;
	if (a === 0) return (index) => index === b;
	if (a === 1) return b < 0 ? import_boolbase.default.trueFunc : (index) => index >= b;
	const absA = Math.abs(a);
	const bMod = (b % absA + absA) % absA;
	return a > 1 ? (index) => index >= b && index % absA === bMod : (index) => index <= b && index % absA === bMod;
}
/**
* Returns a function that produces a monotonously increasing sequence of indices.
*
* If the sequence has an end, the returned function will return `null` after
* the last index in the sequence.
*
* @param parsed A tuple [a, b], as returned by `parse`.
* @returns A function that produces a sequence of indices.
* @example <caption>Always increasing (2n+3)</caption>
*
* ```js
* const gen = nthCheck.generate([2, 3])
*
* gen() // `1`
* gen() // `3`
* gen() // `5`
* gen() // `8`
* gen() // `11`
* ```
*
* @example <caption>With end value (-2n+10)</caption>
*
* ```js
*
* const gen = nthCheck.generate([-2, 5]);
*
* gen() // 0
* gen() // 2
* gen() // 4
* gen() // null
* ```
*/
function generate(parsed) {
	const a = parsed[0];
	let b = parsed[1] - 1;
	let n = 0;
	if (a < 0) {
		const aPos = -a;
		const minValue = (b % aPos + aPos) % aPos;
		return () => {
			const val = minValue + aPos * n++;
			return val > b ? null : val;
		};
	}
	if (a === 0) return b < 0 ? () => null : () => n++ === 0 ? b : null;
	if (b < 0) {
		b += a * Math.ceil(-b / a);
	}
	return () => a * n++ + b;
}

//#endregion
//#region ../node_modules/nth-check/lib/esm/index.js
/**
* Parses and compiles a formula to a highly optimized function.
* Combination of {@link parse} and {@link compile}.
*
* If the formula doesn't match any elements,
* it returns [`boolbase`](https://github.com/fb55/boolbase)'s `falseFunc`.
* Otherwise, a function accepting an _index_ is returned, which returns
* whether or not the passed _index_ matches the formula.
*
* Note: The nth-rule starts counting at `1`, the returned function at `0`.
*
* @param formula The formula to compile.
* @example
* const check = nthCheck("2n+3");
*
* check(0); // `false`
* check(1); // `false`
* check(2); // `true`
* check(3); // `false`
* check(4); // `true`
* check(5); // `false`
* check(6); // `true`
*/
function nthCheck(formula) {
	return compile$2(parse$6(formula));
}
/**
* Parses and compiles a formula to a generator that produces a sequence of indices.
* Combination of {@link parse} and {@link generate}.
*
* @param formula The formula to compile.
* @returns A function that produces a sequence of indices.
* @example <caption>Always increasing</caption>
*
* ```js
* const gen = nthCheck.sequence('2n+3')
*
* gen() // `1`
* gen() // `3`
* gen() // `5`
* gen() // `8`
* gen() // `11`
* ```
*
* @example <caption>With end value</caption>
*
* ```js
*
* const gen = nthCheck.sequence('-2n+5');
*
* gen() // 0
* gen() // 2
* gen() // 4
* gen() // null
* ```
*/
function sequence(formula) {
	return generate(parse$6(formula));
}

//#endregion
//#region ../node_modules/css-select/lib/esm/pseudo-selectors/filters.js
function getChildFunc(next, adapter) {
	return (elem) => {
		const parent = adapter.getParent(elem);
		return parent != null && adapter.isTag(parent) && next(elem);
	};
}
const filters = {
	contains(next, text, { adapter }) {
		return function contains(elem) {
			return next(elem) && adapter.getText(elem).includes(text);
		};
	},
	icontains(next, text, { adapter }) {
		const itext = text.toLowerCase();
		return function icontains(elem) {
			return next(elem) && adapter.getText(elem).toLowerCase().includes(itext);
		};
	},
	"nth-child"(next, rule, { adapter, equals }) {
		const func = nthCheck(rule);
		if (func === import_boolbase.default.falseFunc) return import_boolbase.default.falseFunc;
		if (func === import_boolbase.default.trueFunc) return getChildFunc(next, adapter);
		return function nthChild(elem) {
			const siblings = adapter.getSiblings(elem);
			let pos = 0;
			for (let i = 0; i < siblings.length; i++) {
				if (equals(elem, siblings[i])) break;
				if (adapter.isTag(siblings[i])) {
					pos++;
				}
			}
			return func(pos) && next(elem);
		};
	},
	"nth-last-child"(next, rule, { adapter, equals }) {
		const func = nthCheck(rule);
		if (func === import_boolbase.default.falseFunc) return import_boolbase.default.falseFunc;
		if (func === import_boolbase.default.trueFunc) return getChildFunc(next, adapter);
		return function nthLastChild(elem) {
			const siblings = adapter.getSiblings(elem);
			let pos = 0;
			for (let i = siblings.length - 1; i >= 0; i--) {
				if (equals(elem, siblings[i])) break;
				if (adapter.isTag(siblings[i])) {
					pos++;
				}
			}
			return func(pos) && next(elem);
		};
	},
	"nth-of-type"(next, rule, { adapter, equals }) {
		const func = nthCheck(rule);
		if (func === import_boolbase.default.falseFunc) return import_boolbase.default.falseFunc;
		if (func === import_boolbase.default.trueFunc) return getChildFunc(next, adapter);
		return function nthOfType(elem) {
			const siblings = adapter.getSiblings(elem);
			let pos = 0;
			for (let i = 0; i < siblings.length; i++) {
				const currentSibling = siblings[i];
				if (equals(elem, currentSibling)) break;
				if (adapter.isTag(currentSibling) && adapter.getName(currentSibling) === adapter.getName(elem)) {
					pos++;
				}
			}
			return func(pos) && next(elem);
		};
	},
	"nth-last-of-type"(next, rule, { adapter, equals }) {
		const func = nthCheck(rule);
		if (func === import_boolbase.default.falseFunc) return import_boolbase.default.falseFunc;
		if (func === import_boolbase.default.trueFunc) return getChildFunc(next, adapter);
		return function nthLastOfType(elem) {
			const siblings = adapter.getSiblings(elem);
			let pos = 0;
			for (let i = siblings.length - 1; i >= 0; i--) {
				const currentSibling = siblings[i];
				if (equals(elem, currentSibling)) break;
				if (adapter.isTag(currentSibling) && adapter.getName(currentSibling) === adapter.getName(elem)) {
					pos++;
				}
			}
			return func(pos) && next(elem);
		};
	},
	root(next, _rule, { adapter }) {
		return (elem) => {
			const parent = adapter.getParent(elem);
			return (parent == null || !adapter.isTag(parent)) && next(elem);
		};
	},
	scope(next, rule, options, context) {
		const { equals } = options;
		if (!context || context.length === 0) {
			return filters["root"](next, rule, options);
		}
		if (context.length === 1) {
			return (elem) => equals(context[0], elem) && next(elem);
		}
		return (elem) => context.includes(elem) && next(elem);
	},
	hover: dynamicStatePseudo("isHovered"),
	visited: dynamicStatePseudo("isVisited"),
	active: dynamicStatePseudo("isActive")
};
/**
* Dynamic state pseudos. These depend on optional Adapter methods.
*
* @param name The name of the adapter method to call.
* @returns Pseudo for the `filters` object.
*/
function dynamicStatePseudo(name) {
	return function dynamicPseudo(next, _rule, { adapter }) {
		const func = adapter[name];
		if (typeof func !== "function") {
			return import_boolbase.default.falseFunc;
		}
		return function active(elem) {
			return func(elem) && next(elem);
		};
	};
}

//#endregion
//#region ../node_modules/css-select/lib/esm/pseudo-selectors/pseudos.js
const pseudos = {
	empty(elem, { adapter }) {
		return !adapter.getChildren(elem).some((elem) => adapter.isTag(elem) || adapter.getText(elem) !== "");
	},
	"first-child"(elem, { adapter, equals }) {
		if (adapter.prevElementSibling) {
			return adapter.prevElementSibling(elem) == null;
		}
		const firstChild = adapter.getSiblings(elem).find((elem) => adapter.isTag(elem));
		return firstChild != null && equals(elem, firstChild);
	},
	"last-child"(elem, { adapter, equals }) {
		const siblings = adapter.getSiblings(elem);
		for (let i = siblings.length - 1; i >= 0; i--) {
			if (equals(elem, siblings[i])) return true;
			if (adapter.isTag(siblings[i])) break;
		}
		return false;
	},
	"first-of-type"(elem, { adapter, equals }) {
		const siblings = adapter.getSiblings(elem);
		const elemName = adapter.getName(elem);
		for (let i = 0; i < siblings.length; i++) {
			const currentSibling = siblings[i];
			if (equals(elem, currentSibling)) return true;
			if (adapter.isTag(currentSibling) && adapter.getName(currentSibling) === elemName) {
				break;
			}
		}
		return false;
	},
	"last-of-type"(elem, { adapter, equals }) {
		const siblings = adapter.getSiblings(elem);
		const elemName = adapter.getName(elem);
		for (let i = siblings.length - 1; i >= 0; i--) {
			const currentSibling = siblings[i];
			if (equals(elem, currentSibling)) return true;
			if (adapter.isTag(currentSibling) && adapter.getName(currentSibling) === elemName) {
				break;
			}
		}
		return false;
	},
	"only-of-type"(elem, { adapter, equals }) {
		const elemName = adapter.getName(elem);
		return adapter.getSiblings(elem).every((sibling) => equals(elem, sibling) || !adapter.isTag(sibling) || adapter.getName(sibling) !== elemName);
	},
	"only-child"(elem, { adapter, equals }) {
		return adapter.getSiblings(elem).every((sibling) => equals(elem, sibling) || !adapter.isTag(sibling));
	}
};
function verifyPseudoArgs(func, name, subselect, argIndex) {
	if (subselect === null) {
		if (func.length > argIndex) {
			throw new Error(`Pseudo-class :${name} requires an argument`);
		}
	} else if (func.length === argIndex) {
		throw new Error(`Pseudo-class :${name} doesn't have any arguments`);
	}
}

//#endregion
//#region ../node_modules/css-select/lib/esm/pseudo-selectors/aliases.js
/**
* Aliases are pseudos that are expressed as selectors.
*/
const aliases = {
	"any-link": ":is(a, area, link)[href]",
	link: ":any-link:not(:visited)",
	disabled: `:is(
        :is(button, input, select, textarea, optgroup, option)[disabled],
        optgroup[disabled] > option,
        fieldset[disabled]:not(fieldset[disabled] legend:first-of-type *)
    )`,
	enabled: ":not(:disabled)",
	checked: ":is(:is(input[type=radio], input[type=checkbox])[checked], option:selected)",
	required: ":is(input, select, textarea)[required]",
	optional: ":is(input, select, textarea):not([required])",
	selected: "option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)",
	checkbox: "[type=checkbox]",
	file: "[type=file]",
	password: "[type=password]",
	radio: "[type=radio]",
	reset: "[type=reset]",
	image: "[type=image]",
	submit: "[type=submit]",
	parent: ":not(:empty)",
	header: ":is(h1, h2, h3, h4, h5, h6)",
	button: ":is(button, input[type=button])",
	input: ":is(input, textarea, select, button)",
	text: "input:is(:not([type!='']), [type=text])"
};

//#endregion
//#region ../node_modules/css-select/lib/esm/pseudo-selectors/subselects.js
/** Used as a placeholder for :has. Will be replaced with the actual element. */
const PLACEHOLDER_ELEMENT = {};
function ensureIsTag(next, adapter) {
	if (next === import_boolbase.default.falseFunc) return import_boolbase.default.falseFunc;
	return (elem) => adapter.isTag(elem) && next(elem);
}
function getNextSiblings(elem, adapter) {
	const siblings = adapter.getSiblings(elem);
	if (siblings.length <= 1) return [];
	const elemIndex = siblings.indexOf(elem);
	if (elemIndex < 0 || elemIndex === siblings.length - 1) return [];
	return siblings.slice(elemIndex + 1).filter(adapter.isTag);
}
function copyOptions(options) {
	return {
		xmlMode: !!options.xmlMode,
		lowerCaseAttributeNames: !!options.lowerCaseAttributeNames,
		lowerCaseTags: !!options.lowerCaseTags,
		quirksMode: !!options.quirksMode,
		cacheResults: !!options.cacheResults,
		pseudos: options.pseudos,
		adapter: options.adapter,
		equals: options.equals
	};
}
const is$3 = (next, token, options, context, compileToken) => {
	const func = compileToken(token, copyOptions(options), context);
	return func === import_boolbase.default.trueFunc ? next : func === import_boolbase.default.falseFunc ? import_boolbase.default.falseFunc : (elem) => func(elem) && next(elem);
};
const subselects = {
	is: is$3,
	matches: is$3,
	where: is$3,
	not(next, token, options, context, compileToken) {
		const func = compileToken(token, copyOptions(options), context);
		return func === import_boolbase.default.falseFunc ? next : func === import_boolbase.default.trueFunc ? import_boolbase.default.falseFunc : (elem) => !func(elem) && next(elem);
	},
	has(next, subselect, options, _context, compileToken) {
		const { adapter } = options;
		const opts = copyOptions(options);
		opts.relativeSelector = true;
		const context = subselect.some((s) => s.some(isTraversal$1)) ? [PLACEHOLDER_ELEMENT] : undefined;
		const compiled = compileToken(subselect, opts, context);
		if (compiled === import_boolbase.default.falseFunc) return import_boolbase.default.falseFunc;
		const hasElement = ensureIsTag(compiled, adapter);
		if (context && compiled !== import_boolbase.default.trueFunc) {
			const { shouldTestNextSiblings = false } = compiled;
			return (elem) => {
				if (!next(elem)) return false;
				context[0] = elem;
				const childs = adapter.getChildren(elem);
				const nextElements = shouldTestNextSiblings ? [...childs, ...getNextSiblings(elem, adapter)] : childs;
				return adapter.existsOne(hasElement, nextElements);
			};
		}
		return (elem) => next(elem) && adapter.existsOne(hasElement, adapter.getChildren(elem));
	}
};

//#endregion
//#region ../node_modules/css-select/lib/esm/pseudo-selectors/index.js
function compilePseudoSelector(next, selector, options, context, compileToken) {
	var _a;
	const { name, data } = selector;
	if (Array.isArray(data)) {
		if (!(name in subselects)) {
			throw new Error(`Unknown pseudo-class :${name}(${data})`);
		}
		return subselects[name](next, data, options, context, compileToken);
	}
	const userPseudo = (_a = options.pseudos) === null || _a === void 0 ? void 0 : _a[name];
	const stringPseudo = typeof userPseudo === "string" ? userPseudo : aliases[name];
	if (typeof stringPseudo === "string") {
		if (data != null) {
			throw new Error(`Pseudo ${name} doesn't have any arguments`);
		}
		const alias = (0, import_commonjs.parse)(stringPseudo);
		return subselects["is"](next, alias, options, context, compileToken);
	}
	if (typeof userPseudo === "function") {
		verifyPseudoArgs(userPseudo, name, data, 1);
		return (elem) => userPseudo(elem, data) && next(elem);
	}
	if (name in filters) {
		return filters[name](next, data, options, context);
	}
	if (name in pseudos) {
		const pseudo = pseudos[name];
		verifyPseudoArgs(pseudo, name, data, 2);
		return (elem) => pseudo(elem, options, data) && next(elem);
	}
	throw new Error(`Unknown pseudo-class :${name}`);
}

//#endregion
//#region ../node_modules/css-select/lib/esm/general.js
function getElementParent(node, adapter) {
	const parent = adapter.getParent(node);
	if (parent && adapter.isTag(parent)) {
		return parent;
	}
	return null;
}
function compileGeneralSelector(next, selector, options, context, compileToken) {
	const { adapter, equals } = options;
	switch (selector.type) {
		case import_commonjs.SelectorType.PseudoElement: {
			throw new Error("Pseudo-elements are not supported by css-select");
		}
		case import_commonjs.SelectorType.ColumnCombinator: {
			throw new Error("Column combinators are not yet supported by css-select");
		}
		case import_commonjs.SelectorType.Attribute: {
			if (selector.namespace != null) {
				throw new Error("Namespaced attributes are not yet supported by css-select");
			}
			if (!options.xmlMode || options.lowerCaseAttributeNames) {
				selector.name = selector.name.toLowerCase();
			}
			return attributeRules[selector.action](next, selector, options);
		}
		case import_commonjs.SelectorType.Pseudo: {
			return compilePseudoSelector(next, selector, options, context, compileToken);
		}
		case import_commonjs.SelectorType.Tag: {
			if (selector.namespace != null) {
				throw new Error("Namespaced tag names are not yet supported by css-select");
			}
			let { name } = selector;
			if (!options.xmlMode || options.lowerCaseTags) {
				name = name.toLowerCase();
			}
			return function tag(elem) {
				return adapter.getName(elem) === name && next(elem);
			};
		}
		case import_commonjs.SelectorType.Descendant: {
			if (options.cacheResults === false || typeof WeakSet === "undefined") {
				return function descendant(elem) {
					let current = elem;
					while (current = getElementParent(current, adapter)) {
						if (next(current)) {
							return true;
						}
					}
					return false;
				};
			}
			const isFalseCache = new WeakSet();
			return function cachedDescendant(elem) {
				let current = elem;
				while (current = getElementParent(current, adapter)) {
					if (!isFalseCache.has(current)) {
						if (adapter.isTag(current) && next(current)) {
							return true;
						}
						isFalseCache.add(current);
					}
				}
				return false;
			};
		}
		case "_flexibleDescendant": {
			return function flexibleDescendant(elem) {
				let current = elem;
				do {
					if (next(current)) return true;
				} while (current = getElementParent(current, adapter));
				return false;
			};
		}
		case import_commonjs.SelectorType.Parent: {
			return function parent(elem) {
				return adapter.getChildren(elem).some((elem) => adapter.isTag(elem) && next(elem));
			};
		}
		case import_commonjs.SelectorType.Child: {
			return function child(elem) {
				const parent = adapter.getParent(elem);
				return parent != null && adapter.isTag(parent) && next(parent);
			};
		}
		case import_commonjs.SelectorType.Sibling: {
			return function sibling(elem) {
				const siblings = adapter.getSiblings(elem);
				for (let i = 0; i < siblings.length; i++) {
					const currentSibling = siblings[i];
					if (equals(elem, currentSibling)) break;
					if (adapter.isTag(currentSibling) && next(currentSibling)) {
						return true;
					}
				}
				return false;
			};
		}
		case import_commonjs.SelectorType.Adjacent: {
			if (adapter.prevElementSibling) {
				return function adjacent(elem) {
					const previous = adapter.prevElementSibling(elem);
					return previous != null && next(previous);
				};
			}
			return function adjacent(elem) {
				const siblings = adapter.getSiblings(elem);
				let lastElement;
				for (let i = 0; i < siblings.length; i++) {
					const currentSibling = siblings[i];
					if (equals(elem, currentSibling)) break;
					if (adapter.isTag(currentSibling)) {
						lastElement = currentSibling;
					}
				}
				return !!lastElement && next(lastElement);
			};
		}
		case import_commonjs.SelectorType.Universal: {
			if (selector.namespace != null && selector.namespace !== "*") {
				throw new Error("Namespaced universal selectors are not yet supported by css-select");
			}
			return next;
		}
	}
}

//#endregion
//#region ../node_modules/css-select/lib/esm/compile.js
/**
* Compiles a selector to an executable function.
*
* @param selector Selector to compile.
* @param options Compilation options.
* @param context Optional context for the selector.
*/
function compile$1(selector, options, context) {
	const next = compileUnsafe(selector, options, context);
	return ensureIsTag(next, options.adapter);
}
function compileUnsafe(selector, options, context) {
	const token = typeof selector === "string" ? (0, import_commonjs.parse)(selector) : selector;
	return compileToken(token, options, context);
}
function includesScopePseudo(t) {
	return t.type === import_commonjs.SelectorType.Pseudo && (t.name === "scope" || Array.isArray(t.data) && t.data.some((data) => data.some(includesScopePseudo)));
}
const DESCENDANT_TOKEN = { type: import_commonjs.SelectorType.Descendant };
const FLEXIBLE_DESCENDANT_TOKEN = { type: "_flexibleDescendant" };
const SCOPE_TOKEN = {
	type: import_commonjs.SelectorType.Pseudo,
	name: "scope",
	data: null
};
function absolutize(token, { adapter }, context) {
	const hasContext = !!(context === null || context === void 0 ? void 0 : context.every((e) => {
		const parent = adapter.isTag(e) && adapter.getParent(e);
		return e === PLACEHOLDER_ELEMENT || parent && adapter.isTag(parent);
	}));
	for (const t of token) {
		if (t.length > 0 && isTraversal$1(t[0]) && t[0].type !== import_commonjs.SelectorType.Descendant) {} else if (hasContext && !t.some(includesScopePseudo)) {
			t.unshift(DESCENDANT_TOKEN);
		} else {
			continue;
		}
		t.unshift(SCOPE_TOKEN);
	}
}
function compileToken(token, options, context) {
	var _a;
	token.forEach(sortByProcedure);
	context = (_a = options.context) !== null && _a !== void 0 ? _a : context;
	const isArrayContext = Array.isArray(context);
	const finalContext = context && (Array.isArray(context) ? context : [context]);
	if (options.relativeSelector !== false) {
		absolutize(token, options, finalContext);
	} else if (token.some((t) => t.length > 0 && isTraversal$1(t[0]))) {
		throw new Error("Relative selectors are not allowed when the `relativeSelector` option is disabled");
	}
	let shouldTestNextSiblings = false;
	const query = token.map((rules) => {
		if (rules.length >= 2) {
			const [first, second] = rules;
			if (first.type !== import_commonjs.SelectorType.Pseudo || first.name !== "scope") {} else if (isArrayContext && second.type === import_commonjs.SelectorType.Descendant) {
				rules[1] = FLEXIBLE_DESCENDANT_TOKEN;
			} else if (second.type === import_commonjs.SelectorType.Adjacent || second.type === import_commonjs.SelectorType.Sibling) {
				shouldTestNextSiblings = true;
			}
		}
		return compileRules(rules, options, finalContext);
	}).reduce(reduceRules, import_boolbase.default.falseFunc);
	query.shouldTestNextSiblings = shouldTestNextSiblings;
	return query;
}
function compileRules(rules, options, context) {
	var _a;
	return rules.reduce((previous, rule) => previous === import_boolbase.default.falseFunc ? import_boolbase.default.falseFunc : compileGeneralSelector(previous, rule, options, context, compileToken), (_a = options.rootFunc) !== null && _a !== void 0 ? _a : import_boolbase.default.trueFunc);
}
function reduceRules(a, b) {
	if (b === import_boolbase.default.falseFunc || a === import_boolbase.default.trueFunc) {
		return a;
	}
	if (a === import_boolbase.default.falseFunc || b === import_boolbase.default.trueFunc) {
		return b;
	}
	return function combine(elem) {
		return a(elem) || b(elem);
	};
}

//#endregion
//#region ../node_modules/css-select/lib/esm/index.js
const defaultEquals = (a, b) => a === b;
const defaultOptions = {
	adapter: esm_exports,
	equals: defaultEquals
};
function convertOptionFormats(options) {
	var _a, _b, _c, _d;
	const opts = options !== null && options !== void 0 ? options : defaultOptions;
	(_a = opts.adapter) !== null && _a !== void 0 ? _a : opts.adapter = esm_exports;
	(_b = opts.equals) !== null && _b !== void 0 ? _b : opts.equals = (_d = (_c = opts.adapter) === null || _c === void 0 ? void 0 : _c.equals) !== null && _d !== void 0 ? _d : defaultEquals;
	return opts;
}
function wrapCompile(func) {
	return function addAdapter(selector, options, context) {
		const opts = convertOptionFormats(options);
		return func(selector, opts, context);
	};
}
/**
* Compiles the query, returns a function.
*/
const compile = wrapCompile(compile$1);
const _compileUnsafe = wrapCompile(compileUnsafe);
const _compileToken = wrapCompile(compileToken);
function getSelectorFunc(searchFunc) {
	return function select(query, elements, options) {
		const opts = convertOptionFormats(options);
		if (typeof query !== "function") {
			query = compileUnsafe(query, opts, elements);
		}
		const filteredElements = prepareContext(elements, opts.adapter, query.shouldTestNextSiblings);
		return searchFunc(query, filteredElements, opts);
	};
}
function prepareContext(elems, adapter, shouldTestNextSiblings = false) {
	if (shouldTestNextSiblings) {
		elems = appendNextSiblings(elems, adapter);
	}
	return Array.isArray(elems) ? adapter.removeSubsets(elems) : adapter.getChildren(elems);
}
function appendNextSiblings(elem, adapter) {
	const elems = Array.isArray(elem) ? elem.slice(0) : [elem];
	const elemsLength = elems.length;
	for (let i = 0; i < elemsLength; i++) {
		const nextSiblings = getNextSiblings(elems[i], adapter);
		elems.push(...nextSiblings);
	}
	return elems;
}
/**
* @template Node The generic Node type for the DOM adapter being used.
* @template ElementNode The Node type for elements for the DOM adapter being used.
* @param elems Elements to query. If it is an element, its children will be queried..
* @param query can be either a CSS selector string or a compiled query function.
* @param [options] options for querying the document.
* @see compile for supported selector queries.
* @returns All matching elements.
*
*/
const selectAll = getSelectorFunc((query, elems, options) => query === import_boolbase.default.falseFunc || !elems || elems.length === 0 ? [] : options.adapter.findAll(query, elems));
/**
* @template Node The generic Node type for the DOM adapter being used.
* @template ElementNode The Node type for elements for the DOM adapter being used.
* @param elems Elements to query. If it is an element, its children will be queried..
* @param query can be either a CSS selector string or a compiled query function.
* @param [options] options for querying the document.
* @see compile for supported selector queries.
* @returns the first match, or null if there was no match.
*/
const selectOne = getSelectorFunc((query, elems, options) => query === import_boolbase.default.falseFunc || !elems || elems.length === 0 ? null : options.adapter.findOne(query, elems));
/**
* Tests whether or not an element is matched by query.
*
* @template Node The generic Node type for the DOM adapter being used.
* @template ElementNode The Node type for elements for the DOM adapter being used.
* @param elem The element to test if it matches the query.
* @param query can be either a CSS selector string or a compiled query function.
* @param [options] options for querying the document.
* @see compile for supported selector queries.
* @returns
*/
function is$2(elem, query, options) {
	const opts = convertOptionFormats(options);
	return (typeof query === "function" ? query : compile$1(query, opts))(elem);
}

//#endregion
//#region ../node_modules/cheerio-select/lib/esm/positionals.js
const filterNames = new Set([
	"first",
	"last",
	"eq",
	"gt",
	"nth",
	"lt",
	"even",
	"odd"
]);
function isFilter(s) {
	if (s.type !== "pseudo") return false;
	if (filterNames.has(s.name)) return true;
	if (s.name === "not" && Array.isArray(s.data)) {
		return s.data.some((s) => s.some(isFilter));
	}
	return false;
}
function getLimit(filter, data, partLimit) {
	const num = data != null ? parseInt(data, 10) : NaN;
	switch (filter) {
		case "first": return 1;
		case "nth":
		case "eq": return isFinite(num) ? num >= 0 ? num + 1 : Infinity : 0;
		case "lt": return isFinite(num) ? num >= 0 ? Math.min(num, partLimit) : Infinity : 0;
		case "gt": return isFinite(num) ? Infinity : 0;
		case "odd": return 2 * partLimit;
		case "even": return 2 * partLimit - 1;
		case "last":
		case "not": return Infinity;
	}
}

//#endregion
//#region ../node_modules/cheerio-select/lib/esm/helpers.js
function getDocumentRoot(node) {
	while (node.parent) node = node.parent;
	return node;
}
function groupSelectors(selectors) {
	const filteredSelectors = [];
	const plainSelectors = [];
	for (const selector of selectors) {
		if (selector.some(isFilter)) {
			filteredSelectors.push(selector);
		} else {
			plainSelectors.push(selector);
		}
	}
	return [plainSelectors, filteredSelectors];
}

//#endregion
//#region ../node_modules/cheerio-select/lib/esm/index.js
const UNIVERSAL_SELECTOR = {
	type: import_commonjs.SelectorType.Universal,
	namespace: null
};
const SCOPE_PSEUDO = {
	type: import_commonjs.SelectorType.Pseudo,
	name: "scope",
	data: null
};
function is$1(element, selector, options = {}) {
	return some$1([element], selector, options);
}
function some$1(elements, selector, options = {}) {
	if (typeof selector === "function") return elements.some(selector);
	const [plain, filtered] = groupSelectors((0, import_commonjs.parse)(selector));
	return plain.length > 0 && elements.some(_compileToken(plain, options)) || filtered.some((sel) => filterBySelector(sel, elements, options).length > 0);
}
function filterByPosition(filter, elems, data, options) {
	const num = typeof data === "string" ? parseInt(data, 10) : NaN;
	switch (filter) {
		case "first":
		case "lt": return elems;
		case "last": return elems.length > 0 ? [elems[elems.length - 1]] : elems;
		case "nth":
		case "eq": return isFinite(num) && Math.abs(num) < elems.length ? [num < 0 ? elems[elems.length + num] : elems[num]] : [];
		case "gt": return isFinite(num) ? elems.slice(num + 1) : [];
		case "even": return elems.filter((_, i) => i % 2 === 0);
		case "odd": return elems.filter((_, i) => i % 2 === 1);
		case "not": {
			const filtered = new Set(filterParsed(data, elems, options));
			return elems.filter((e) => !filtered.has(e));
		}
	}
}
function filter$2(selector, elements, options = {}) {
	return filterParsed((0, import_commonjs.parse)(selector), elements, options);
}
/**
* Filter a set of elements by a selector.
*
* Will return elements in the original order.
*
* @param selector Selector to filter by.
* @param elements Elements to filter.
* @param options Options for selector.
*/
function filterParsed(selector, elements, options) {
	if (elements.length === 0) return [];
	const [plainSelectors, filteredSelectors] = groupSelectors(selector);
	let found;
	if (plainSelectors.length) {
		const filtered = filterElements(elements, plainSelectors, options);
		if (filteredSelectors.length === 0) {
			return filtered;
		}
		if (filtered.length) {
			found = new Set(filtered);
		}
	}
	for (let i = 0; i < filteredSelectors.length && (found === null || found === void 0 ? void 0 : found.size) !== elements.length; i++) {
		const filteredSelector = filteredSelectors[i];
		const missing = found ? elements.filter((e) => isTag(e) && !found.has(e)) : elements;
		if (missing.length === 0) break;
		const filtered = filterBySelector(filteredSelector, elements, options);
		if (filtered.length) {
			if (!found) {
				if (i === filteredSelectors.length - 1) {
					return filtered;
				}
				found = new Set(filtered);
			} else {
				filtered.forEach((el) => found.add(el));
			}
		}
	}
	return typeof found !== "undefined" ? found.size === elements.length ? elements : elements.filter((el) => found.has(el)) : [];
}
function filterBySelector(selector, elements, options) {
	var _a;
	if (selector.some(import_commonjs.isTraversal)) {
		const root = (_a = options.root) !== null && _a !== void 0 ? _a : getDocumentRoot(elements[0]);
		const opts = {
			...options,
			context: elements,
			relativeSelector: false
		};
		selector.push(SCOPE_PSEUDO);
		return findFilterElements(root, selector, opts, true, elements.length);
	}
	return findFilterElements(elements, selector, options, false, elements.length);
}
function select(selector, root, options = {}, limit = Infinity) {
	if (typeof selector === "function") {
		return find$2(root, selector);
	}
	const [plain, filtered] = groupSelectors((0, import_commonjs.parse)(selector));
	const results = filtered.map((sel) => findFilterElements(root, sel, options, true, limit));
	if (plain.length) {
		results.push(findElements(root, plain, options, limit));
	}
	if (results.length === 0) {
		return [];
	}
	if (results.length === 1) {
		return results[0];
	}
	return uniqueSort(results.reduce((a, b) => [...a, ...b]));
}
/**
*
* @param root Element(s) to search from.
* @param selector Selector to look for.
* @param options Options for querying.
* @param queryForSelector Query multiple levels deep for the initial selector, even if it doesn't contain a traversal.
*/
function findFilterElements(root, selector, options, queryForSelector, totalLimit) {
	const filterIndex = selector.findIndex(isFilter);
	const sub = selector.slice(0, filterIndex);
	const filter = selector[filterIndex];
	const partLimit = selector.length - 1 === filterIndex ? totalLimit : Infinity;
	const limit = getLimit(filter.name, filter.data, partLimit);
	if (limit === 0) return [];
	const elemsNoLimit = sub.length === 0 && !Array.isArray(root) ? getChildren(root).filter(isTag) : sub.length === 0 ? (Array.isArray(root) ? root : [root]).filter(isTag) : queryForSelector || sub.some(import_commonjs.isTraversal) ? findElements(root, [sub], options, limit) : filterElements(root, [sub], options);
	const elems = elemsNoLimit.slice(0, limit);
	let result = filterByPosition(filter.name, elems, filter.data, options);
	if (result.length === 0 || selector.length === filterIndex + 1) {
		return result;
	}
	const remainingSelector = selector.slice(filterIndex + 1);
	const remainingHasTraversal = remainingSelector.some(import_commonjs.isTraversal);
	if (remainingHasTraversal) {
		if ((0, import_commonjs.isTraversal)(remainingSelector[0])) {
			const { type } = remainingSelector[0];
			if (type === import_commonjs.SelectorType.Sibling || type === import_commonjs.SelectorType.Adjacent) {
				result = prepareContext(result, esm_exports, true);
			}
			remainingSelector.unshift(UNIVERSAL_SELECTOR);
		}
		options = {
			...options,
			relativeSelector: false,
			rootFunc: (el) => result.includes(el)
		};
	} else if (options.rootFunc && options.rootFunc !== import_boolbase.trueFunc) {
		options = {
			...options,
			rootFunc: import_boolbase.trueFunc
		};
	}
	return remainingSelector.some(isFilter) ? findFilterElements(result, remainingSelector, options, false, totalLimit) : remainingHasTraversal ? findElements(result, [remainingSelector], options, totalLimit) : filterElements(result, [remainingSelector], options);
}
function findElements(root, sel, options, limit) {
	const query = _compileToken(sel, options, root);
	return find$2(root, query, limit);
}
function find$2(root, query, limit = Infinity) {
	const elems = prepareContext(root, esm_exports, query.shouldTestNextSiblings);
	return find$3((node) => isTag(node) && query(node), elems, true, limit);
}
function filterElements(elements, sel, options) {
	const els = (Array.isArray(elements) ? elements : [elements]).filter(isTag);
	if (els.length === 0) return els;
	const query = _compileToken(sel, options);
	return query === import_boolbase.trueFunc ? els : els.filter(query);
}

//#endregion
//#region ../node_modules/cheerio/dist/esm/api/traversing.js
/**
* Methods for traversing the DOM structure.
*
* @module cheerio/traversing
*/
var traversing_exports = /* @__PURE__ */ __exportAll({
	_findBySelector: () => _findBySelector,
	add: () => add,
	addBack: () => addBack,
	children: () => children,
	closest: () => closest,
	contents: () => contents,
	each: () => each$1,
	end: () => end,
	eq: () => eq$1,
	filter: () => filter$1,
	filterArray: () => filterArray,
	find: () => find$1,
	first: () => first$1,
	get: () => get$1,
	has: () => has$2,
	index: () => index,
	is: () => is,
	last: () => last$1,
	map: () => map$1,
	next: () => next,
	nextAll: () => nextAll,
	nextUntil: () => nextUntil,
	not: () => not,
	parent: () => parent,
	parents: () => parents,
	parentsUntil: () => parentsUntil,
	prev: () => prev,
	prevAll: () => prevAll,
	prevUntil: () => prevUntil,
	siblings: () => siblings,
	slice: () => slice$1,
	toArray: () => toArray$1
});
const reContextSelector = /^\s*(?:[+~]|:scope\b)/;
/**
* Get the descendants of each element in the current set of matched elements,
* filtered by a selector, jQuery object, or element.
*
* @category Traversing
* @example
*
* ```js
* $('#fruits').find('li').length;
* //=> 3
* $('#fruits').find($('.apple')).length;
* //=> 1
* ```
*
* @param selectorOrHaystack - Element to look for.
* @returns The found elements.
* @see {@link https://api.jquery.com/find/}
*/
function find$1(selectorOrHaystack) {
	if (!selectorOrHaystack) {
		return this._make([]);
	}
	if (typeof selectorOrHaystack !== "string") {
		const haystack = isCheerio(selectorOrHaystack) ? selectorOrHaystack.toArray() : [selectorOrHaystack];
		const context = this.toArray();
		return this._make(haystack.filter((elem) => context.some((node) => contains$1(node, elem))));
	}
	return this._findBySelector(selectorOrHaystack, Number.POSITIVE_INFINITY);
}
/**
* Find elements by a specific selector.
*
* @private
* @category Traversing
* @param selector - Selector to filter by.
* @param limit - Maximum number of elements to match.
* @returns The found elements.
*/
function _findBySelector(selector, limit) {
	var _a;
	const context = this.toArray();
	const elems = reContextSelector.test(selector) ? context : this.children().toArray();
	const options = {
		context,
		root: (_a = this._root) === null || _a === void 0 ? void 0 : _a[0],
		xmlMode: this.options.xmlMode,
		lowerCaseTags: this.options.lowerCaseTags,
		lowerCaseAttributeNames: this.options.lowerCaseAttributeNames,
		pseudos: this.options.pseudos,
		quirksMode: this.options.quirksMode
	};
	return this._make(select(selector, elems, options, limit));
}
/**
* Creates a matcher, using a particular mapping function. Matchers provide a
* function that finds elements using a generating function, supporting
* filtering.
*
* @private
* @param matchMap - Mapping function.
* @returns - Function for wrapping generating functions.
*/
function _getMatcher(matchMap) {
	return function(fn, ...postFns) {
		return function(selector) {
			var _a;
			let matched = matchMap(fn, this);
			if (selector) {
				matched = filterArray(matched, selector, this.options.xmlMode, (_a = this._root) === null || _a === void 0 ? void 0 : _a[0]);
			}
			return this._make(this.length > 1 && matched.length > 1 ? postFns.reduce((elems, fn) => fn(elems), matched) : matched);
		};
	};
}
/** Matcher that adds multiple elements for each entry in the input. */
const _matcher = _getMatcher((fn, elems) => {
	let ret = [];
	for (let i = 0; i < elems.length; i++) {
		const value = fn(elems[i]);
		if (value.length > 0) ret = ret.concat(value);
	}
	return ret;
});
/** Matcher that adds at most one element for each entry in the input. */
const _singleMatcher = _getMatcher((fn, elems) => {
	const ret = [];
	for (let i = 0; i < elems.length; i++) {
		const value = fn(elems[i]);
		if (value !== null) {
			ret.push(value);
		}
	}
	return ret;
});
/**
* Matcher that supports traversing until a condition is met.
*
* @param nextElem - Function that returns the next element.
* @param postFns - Post processing functions.
* @returns A function usable for `*Until` methods.
*/
function _matchUntil(nextElem, ...postFns) {
	let matches = null;
	const innerMatcher = _getMatcher((nextElem, elems) => {
		const matched = [];
		domEach(elems, (elem) => {
			for (let next; next = nextElem(elem); elem = next) {
				if (matches === null || matches === void 0 ? void 0 : matches(next, matched.length)) break;
				matched.push(next);
			}
		});
		return matched;
	})(nextElem, ...postFns);
	return function(selector, filterSelector) {
		matches = typeof selector === "string" ? (elem) => is$1(elem, selector, this.options) : selector ? getFilterFn(selector) : null;
		const ret = innerMatcher.call(this, filterSelector);
		matches = null;
		return ret;
	};
}
function _removeDuplicates(elems) {
	return elems.length > 1 ? Array.from(new Set(elems)) : elems;
}
/**
* Get the parent of each element in the current set of matched elements,
* optionally filtered by a selector.
*
* @category Traversing
* @example
*
* ```js
* $('.pear').parent().attr('id');
* //=> fruits
* ```
*
* @param selector - If specified filter for parent.
* @returns The parents.
* @see {@link https://api.jquery.com/parent/}
*/
const parent = _singleMatcher(({ parent }) => parent && !isDocument(parent) ? parent : null, _removeDuplicates);
/**
* Get a set of parents filtered by `selector` of each element in the current
* set of match elements.
*
* @category Traversing
* @example
*
* ```js
* $('.orange').parents().length;
* //=> 2
* $('.orange').parents('#fruits').length;
* //=> 1
* ```
*
* @param selector - If specified filter for parents.
* @returns The parents.
* @see {@link https://api.jquery.com/parents/}
*/
const parents = _matcher((elem) => {
	const matched = [];
	while (elem.parent && !isDocument(elem.parent)) {
		matched.push(elem.parent);
		elem = elem.parent;
	}
	return matched;
}, uniqueSort, (elems) => elems.reverse());
/**
* Get the ancestors of each element in the current set of matched elements, up
* to but not including the element matched by the selector, DOM node, or
* cheerio object.
*
* @category Traversing
* @example
*
* ```js
* $('.orange').parentsUntil('#food').length;
* //=> 1
* ```
*
* @param selector - Selector for element to stop at.
* @param filterSelector - Optional filter for parents.
* @returns The parents.
* @see {@link https://api.jquery.com/parentsUntil/}
*/
const parentsUntil = _matchUntil(({ parent }) => parent && !isDocument(parent) ? parent : null, uniqueSort, (elems) => elems.reverse());
/**
* For each element in the set, get the first element that matches the selector
* by testing the element itself and traversing up through its ancestors in the
* DOM tree.
*
* @category Traversing
* @example
*
* ```js
* $('.orange').closest();
* //=> []
*
* $('.orange').closest('.apple');
* // => []
*
* $('.orange').closest('li');
* //=> [<li class="orange">Orange</li>]
*
* $('.orange').closest('#fruits');
* //=> [<ul id="fruits"> ... </ul>]
* ```
*
* @param selector - Selector for the element to find.
* @returns The closest nodes.
* @see {@link https://api.jquery.com/closest/}
*/
function closest(selector) {
	var _a;
	const set = [];
	if (!selector) {
		return this._make(set);
	}
	const selectOpts = {
		xmlMode: this.options.xmlMode,
		root: (_a = this._root) === null || _a === void 0 ? void 0 : _a[0]
	};
	const selectFn = typeof selector === "string" ? (elem) => is$1(elem, selector, selectOpts) : getFilterFn(selector);
	domEach(this, (elem) => {
		if (elem && !isDocument(elem) && !isTag(elem)) {
			elem = elem.parent;
		}
		while (elem && isTag(elem)) {
			if (selectFn(elem, 0)) {
				if (!set.includes(elem)) {
					set.push(elem);
				}
				break;
			}
			elem = elem.parent;
		}
	});
	return this._make(set);
}
/**
* Gets the next sibling of each selected element, optionally filtered by a
* selector.
*
* @category Traversing
* @example
*
* ```js
* $('.apple').next().hasClass('orange');
* //=> true
* ```
*
* @param selector - If specified filter for sibling.
* @returns The next nodes.
* @see {@link https://api.jquery.com/next/}
*/
const next = _singleMatcher((elem) => nextElementSibling(elem));
/**
* Gets all the following siblings of the each selected element, optionally
* filtered by a selector.
*
* @category Traversing
* @example
*
* ```js
* $('.apple').nextAll();
* //=> [<li class="orange">Orange</li>, <li class="pear">Pear</li>]
* $('.apple').nextAll('.orange');
* //=> [<li class="orange">Orange</li>]
* ```
*
* @param selector - If specified filter for siblings.
* @returns The next nodes.
* @see {@link https://api.jquery.com/nextAll/}
*/
const nextAll = _matcher((elem) => {
	const matched = [];
	while (elem.next) {
		elem = elem.next;
		if (isTag(elem)) matched.push(elem);
	}
	return matched;
}, _removeDuplicates);
/**
* Gets all the following siblings up to but not including the element matched
* by the selector, optionally filtered by another selector.
*
* @category Traversing
* @example
*
* ```js
* $('.apple').nextUntil('.pear');
* //=> [<li class="orange">Orange</li>]
* ```
*
* @param selector - Selector for element to stop at.
* @param filterSelector - If specified filter for siblings.
* @returns The next nodes.
* @see {@link https://api.jquery.com/nextUntil/}
*/
const nextUntil = _matchUntil((el) => nextElementSibling(el), _removeDuplicates);
/**
* Gets the previous sibling of each selected element optionally filtered by a
* selector.
*
* @category Traversing
* @example
*
* ```js
* $('.orange').prev().hasClass('apple');
* //=> true
* ```
*
* @param selector - If specified filter for siblings.
* @returns The previous nodes.
* @see {@link https://api.jquery.com/prev/}
*/
const prev = _singleMatcher((elem) => prevElementSibling(elem));
/**
* Gets all the preceding siblings of each selected element, optionally filtered
* by a selector.
*
* @category Traversing
* @example
*
* ```js
* $('.pear').prevAll();
* //=> [<li class="orange">Orange</li>, <li class="apple">Apple</li>]
*
* $('.pear').prevAll('.orange');
* //=> [<li class="orange">Orange</li>]
* ```
*
* @param selector - If specified filter for siblings.
* @returns The previous nodes.
* @see {@link https://api.jquery.com/prevAll/}
*/
const prevAll = _matcher((elem) => {
	const matched = [];
	while (elem.prev) {
		elem = elem.prev;
		if (isTag(elem)) matched.push(elem);
	}
	return matched;
}, _removeDuplicates);
/**
* Gets all the preceding siblings up to but not including the element matched
* by the selector, optionally filtered by another selector.
*
* @category Traversing
* @example
*
* ```js
* $('.pear').prevUntil('.apple');
* //=> [<li class="orange">Orange</li>]
* ```
*
* @param selector - Selector for element to stop at.
* @param filterSelector - If specified filter for siblings.
* @returns The previous nodes.
* @see {@link https://api.jquery.com/prevUntil/}
*/
const prevUntil = _matchUntil((el) => prevElementSibling(el), _removeDuplicates);
/**
* Get the siblings of each element (excluding the element) in the set of
* matched elements, optionally filtered by a selector.
*
* @category Traversing
* @example
*
* ```js
* $('.pear').siblings().length;
* //=> 2
*
* $('.pear').siblings('.orange').length;
* //=> 1
* ```
*
* @param selector - If specified filter for siblings.
* @returns The siblings.
* @see {@link https://api.jquery.com/siblings/}
*/
const siblings = _matcher((elem) => getSiblings(elem).filter((el) => isTag(el) && el !== elem), uniqueSort);
/**
* Gets the element children of each element in the set of matched elements.
*
* @category Traversing
* @example
*
* ```js
* $('#fruits').children().length;
* //=> 3
*
* $('#fruits').children('.pear').text();
* //=> Pear
* ```
*
* @param selector - If specified filter for children.
* @returns The children.
* @see {@link https://api.jquery.com/children/}
*/
const children = _matcher((elem) => getChildren(elem).filter(isTag), _removeDuplicates);
/**
* Gets the children of each element in the set of matched elements, including
* text and comment nodes.
*
* @category Traversing
* @example
*
* ```js
* $('#fruits').contents().length;
* //=> 3
* ```
*
* @returns The children.
* @see {@link https://api.jquery.com/contents/}
*/
function contents() {
	const elems = this.toArray().reduce((newElems, elem) => hasChildren(elem) ? newElems.concat(elem.children) : newElems, []);
	return this._make(elems);
}
/**
* Iterates over a cheerio object, executing a function for each matched
* element. When the callback is fired, the function is fired in the context of
* the DOM element, so `this` refers to the current element, which is equivalent
* to the function parameter `element`. To break out of the `each` loop early,
* return with `false`.
*
* @category Traversing
* @example
*
* ```js
* const fruits = [];
*
* $('li').each(function (i, elem) {
*   fruits[i] = $(this).text();
* });
*
* fruits.join(', ');
* //=> Apple, Orange, Pear
* ```
*
* @param fn - Function to execute.
* @returns The instance itself, useful for chaining.
* @see {@link https://api.jquery.com/each/}
*/
function each$1(fn) {
	let i = 0;
	const len = this.length;
	while (i < len && fn.call(this[i], i, this[i]) !== false) ++i;
	return this;
}
/**
* Pass each element in the current matched set through a function, producing a
* new Cheerio object containing the return values. The function can return an
* individual data item or an array of data items to be inserted into the
* resulting set. If an array is returned, the elements inside the array are
* inserted into the set. If the function returns null or undefined, no element
* will be inserted.
*
* @category Traversing
* @example
*
* ```js
* $('li')
*   .map(function (i, el) {
*     // this === el
*     return $(this).text();
*   })
*   .toArray()
*   .join(' ');
* //=> "apple orange pear"
* ```
*
* @param fn - Function to execute.
* @returns The mapped elements, wrapped in a Cheerio collection.
* @see {@link https://api.jquery.com/map/}
*/
function map$1(fn) {
	let elems = [];
	for (let i = 0; i < this.length; i++) {
		const el = this[i];
		const val = fn.call(el, i, el);
		if (val != null) {
			elems = elems.concat(val);
		}
	}
	return this._make(elems);
}
/**
* Creates a function to test if a filter is matched.
*
* @param match - A filter.
* @returns A function that determines if a filter has been matched.
*/
function getFilterFn(match) {
	if (typeof match === "function") {
		return (el, i) => match.call(el, i, el);
	}
	if (isCheerio(match)) {
		return (el) => Array.prototype.includes.call(match, el);
	}
	return function(el) {
		return match === el;
	};
}
function filter$1(match) {
	var _a;
	return this._make(filterArray(this.toArray(), match, this.options.xmlMode, (_a = this._root) === null || _a === void 0 ? void 0 : _a[0]));
}
function filterArray(nodes, match, xmlMode, root) {
	return typeof match === "string" ? filter$2(match, nodes, {
		xmlMode,
		root
	}) : nodes.filter(getFilterFn(match));
}
/**
* Checks the current list of elements and returns `true` if _any_ of the
* elements match the selector. If using an element or Cheerio selection,
* returns `true` if _any_ of the elements match. If using a predicate function,
* the function is executed in the context of the selected element, so `this`
* refers to the current element.
*
* @category Traversing
* @param selector - Selector for the selection.
* @returns Whether or not the selector matches an element of the instance.
* @see {@link https://api.jquery.com/is/}
*/
function is(selector) {
	const nodes = this.toArray();
	return typeof selector === "string" ? some$1(nodes.filter(isTag), selector, this.options) : selector ? nodes.some(getFilterFn(selector)) : false;
}
/**
* Remove elements from the set of matched elements. Given a Cheerio object that
* represents a set of DOM elements, the `.not()` method constructs a new
* Cheerio object from a subset of the matching elements. The supplied selector
* is tested against each element; the elements that don't match the selector
* will be included in the result.
*
* The `.not()` method can take a function as its argument in the same way that
* `.filter()` does. Elements for which the function returns `true` are excluded
* from the filtered set; all other elements are included.
*
* @category Traversing
* @example <caption>Selector</caption>
*
* ```js
* $('li').not('.apple').length;
* //=> 2
* ```
*
* @example <caption>Function</caption>
*
* ```js
* $('li').not(function (i, el) {
*   // this === el
*   return $(this).attr('class') === 'orange';
* }).length; //=> 2
* ```
*
* @param match - Value to look for, following the rules above.
* @returns The filtered collection.
* @see {@link https://api.jquery.com/not/}
*/
function not(match) {
	let nodes = this.toArray();
	if (typeof match === "string") {
		const matches = new Set(filter$2(match, nodes, this.options));
		nodes = nodes.filter((el) => !matches.has(el));
	} else {
		const filterFn = getFilterFn(match);
		nodes = nodes.filter((el, i) => !filterFn(el, i));
	}
	return this._make(nodes);
}
/**
* Filters the set of matched elements to only those which have the given DOM
* element as a descendant or which have a descendant that matches the given
* selector. Equivalent to `.filter(':has(selector)')`.
*
* @category Traversing
* @example <caption>Selector</caption>
*
* ```js
* $('ul').has('.pear').attr('id');
* //=> fruits
* ```
*
* @example <caption>Element</caption>
*
* ```js
* $('ul').has($('.pear')[0]).attr('id');
* //=> fruits
* ```
*
* @param selectorOrHaystack - Element to look for.
* @returns The filtered collection.
* @see {@link https://api.jquery.com/has/}
*/
function has$2(selectorOrHaystack) {
	return this.filter(typeof selectorOrHaystack === "string" ? `:has(${selectorOrHaystack})` : (_, el) => this._make(el).find(selectorOrHaystack).length > 0);
}
/**
* Will select the first element of a cheerio object.
*
* @category Traversing
* @example
*
* ```js
* $('#fruits').children().first().text();
* //=> Apple
* ```
*
* @returns The first element.
* @see {@link https://api.jquery.com/first/}
*/
function first$1() {
	return this.length > 1 ? this._make(this[0]) : this;
}
/**
* Will select the last element of a cheerio object.
*
* @category Traversing
* @example
*
* ```js
* $('#fruits').children().last().text();
* //=> Pear
* ```
*
* @returns The last element.
* @see {@link https://api.jquery.com/last/}
*/
function last$1() {
	return this.length > 0 ? this._make(this[this.length - 1]) : this;
}
/**
* Reduce the set of matched elements to the one at the specified index. Use
* `.eq(-i)` to count backwards from the last selected element.
*
* @category Traversing
* @example
*
* ```js
* $('li').eq(0).text();
* //=> Apple
*
* $('li').eq(-1).text();
* //=> Pear
* ```
*
* @param i - Index of the element to select.
* @returns The element at the `i`th position.
* @see {@link https://api.jquery.com/eq/}
*/
function eq$1(i) {
	var _a;
	i = +i;
	if (i === 0 && this.length <= 1) return this;
	if (i < 0) i = this.length + i;
	return this._make((_a = this[i]) !== null && _a !== void 0 ? _a : []);
}
function get$1(i) {
	if (i == null) {
		return this.toArray();
	}
	return this[i < 0 ? this.length + i : i];
}
/**
* Retrieve all the DOM elements contained in the jQuery set as an array.
*
* @example
*
* ```js
* $('li').toArray();
* //=> [ {...}, {...}, {...} ]
* ```
*
* @returns The contained items.
*/
function toArray$1() {
	return Array.prototype.slice.call(this);
}
/**
* Search for a given element from among the matched elements.
*
* @category Traversing
* @example
*
* ```js
* $('.pear').index();
* //=> 2 $('.orange').index('li');
* //=> 1
* $('.apple').index($('#fruit, li'));
* //=> 1
* ```
*
* @param selectorOrNeedle - Element to look for.
* @returns The index of the element.
* @see {@link https://api.jquery.com/index/}
*/
function index(selectorOrNeedle) {
	let $haystack;
	let needle;
	if (selectorOrNeedle == null) {
		$haystack = this.parent().children();
		needle = this[0];
	} else if (typeof selectorOrNeedle === "string") {
		$haystack = this._make(selectorOrNeedle);
		needle = this[0];
	} else {
		$haystack = this;
		needle = isCheerio(selectorOrNeedle) ? selectorOrNeedle[0] : selectorOrNeedle;
	}
	return Array.prototype.indexOf.call($haystack, needle);
}
/**
* Gets the elements matching the specified range (0-based position).
*
* @category Traversing
* @example
*
* ```js
* $('li').slice(1).eq(0).text();
* //=> 'Orange'
*
* $('li').slice(1, 2).length;
* //=> 1
* ```
*
* @param start - A position at which the elements begin to be selected. If
*   negative, it indicates an offset from the end of the set.
* @param end - A position at which the elements stop being selected. If
*   negative, it indicates an offset from the end of the set. If omitted, the
*   range continues until the end of the set.
* @returns The elements matching the specified range.
* @see {@link https://api.jquery.com/slice/}
*/
function slice$1(start, end) {
	return this._make(Array.prototype.slice.call(this, start, end));
}
/**
* End the most recent filtering operation in the current chain and return the
* set of matched elements to its previous state.
*
* @category Traversing
* @example
*
* ```js
* $('li').eq(0).end().length;
* //=> 3
* ```
*
* @returns The previous state of the set of matched elements.
* @see {@link https://api.jquery.com/end/}
*/
function end() {
	var _a;
	return (_a = this.prevObject) !== null && _a !== void 0 ? _a : this._make([]);
}
/**
* Add elements to the set of matched elements.
*
* @category Traversing
* @example
*
* ```js
* $('.apple').add('.orange').length;
* //=> 2
* ```
*
* @param other - Elements to add.
* @param context - Optionally the context of the new selection.
* @returns The combined set.
* @see {@link https://api.jquery.com/add/}
*/
function add(other, context) {
	const selection = this._make(other, context);
	const contents = uniqueSort([...this.get(), ...selection.get()]);
	return this._make(contents);
}
/**
* Add the previous set of elements on the stack to the current set, optionally
* filtered by a selector.
*
* @category Traversing
* @example
*
* ```js
* $('li').eq(0).addBack('.orange').length;
* //=> 2
* ```
*
* @param selector - Selector for the elements to add.
* @returns The combined set.
* @see {@link https://api.jquery.com/addBack/}
*/
function addBack(selector) {
	return this.prevObject ? this.add(selector ? this.prevObject.filter(selector) : this.prevObject) : this;
}

//#endregion
//#region ../node_modules/cheerio/dist/esm/parse.js
/**
* Get the parse function with options.
*
* @param parser - The parser function.
* @returns The parse function with options.
*/
function getParse(parser) {
	/**
	* Parse a HTML string or a node.
	*
	* @param content - The HTML string or node.
	* @param options - The parser options.
	* @param isDocument - If `content` is a document.
	* @param context - The context node in the DOM tree.
	* @returns The parsed document node.
	*/
	return function parse(content, options, isDocument$1, context) {
		if (typeof Buffer !== "undefined" && Buffer.isBuffer(content)) {
			content = content.toString();
		}
		if (typeof content === "string") {
			return parser(content, options, isDocument$1, context);
		}
		const doc = content;
		if (!Array.isArray(doc) && isDocument(doc)) {
			return doc;
		}
		const root = new Document([]);
		update(doc, root);
		return root;
	};
}
/**
* Update the dom structure, for one changed layer.
*
* @param newChilds - The new children.
* @param parent - The new parent.
* @returns The parent node.
*/
function update(newChilds, parent) {
	const arr = Array.isArray(newChilds) ? newChilds : [newChilds];
	if (parent) {
		parent.children = arr;
	} else {
		parent = null;
	}
	for (let i = 0; i < arr.length; i++) {
		const node = arr[i];
		if (node.parent && node.parent.children !== arr) {
			removeElement(node);
		}
		if (parent) {
			node.prev = arr[i - 1] || null;
			node.next = arr[i + 1] || null;
		} else {
			node.prev = node.next = null;
		}
		node.parent = parent;
	}
	return parent;
}

//#endregion
//#region ../node_modules/cheerio/dist/esm/api/manipulation.js
/**
* Methods for modifying the DOM structure.
*
* @module cheerio/manipulation
*/
var manipulation_exports = /* @__PURE__ */ __exportAll({
	_makeDomArray: () => _makeDomArray,
	after: () => after$1,
	append: () => append,
	appendTo: () => appendTo,
	before: () => before$1,
	clone: () => clone$1,
	empty: () => empty,
	html: () => html,
	insertAfter: () => insertAfter,
	insertBefore: () => insertBefore,
	prepend: () => prepend,
	prependTo: () => prependTo,
	remove: () => remove,
	replaceWith: () => replaceWith,
	text: () => text,
	toString: () => toString$2,
	unwrap: () => unwrap,
	wrap: () => wrap$1,
	wrapAll: () => wrapAll,
	wrapInner: () => wrapInner
});
/**
* Create an array of nodes, recursing into arrays and parsing strings if
* necessary.
*
* @private
* @category Manipulation
* @param elem - Elements to make an array of.
* @param clone - Optionally clone nodes.
* @returns The array of nodes.
*/
function _makeDomArray(elem, clone) {
	if (elem == null) {
		return [];
	}
	if (typeof elem === "string") {
		return this._parse(elem, this.options, false, null).children.slice(0);
	}
	if ("length" in elem) {
		if (elem.length === 1) {
			return this._makeDomArray(elem[0], clone);
		}
		const result = [];
		for (let i = 0; i < elem.length; i++) {
			const el = elem[i];
			if (typeof el === "object") {
				if (el == null) {
					continue;
				}
				if (!("length" in el)) {
					result.push(clone ? cloneNode(el, true) : el);
					continue;
				}
			}
			result.push(...this._makeDomArray(el, clone));
		}
		return result;
	}
	return [clone ? cloneNode(elem, true) : elem];
}
function _insert(concatenator) {
	return function(...elems) {
		const lastIdx = this.length - 1;
		return domEach(this, (el, i) => {
			if (!hasChildren(el)) return;
			const domSrc = typeof elems[0] === "function" ? elems[0].call(el, i, this._render(el.children)) : elems;
			const dom = this._makeDomArray(domSrc, i < lastIdx);
			concatenator(dom, el.children, el);
		});
	};
}
/**
* Modify an array in-place, removing some number of elements and adding new
* elements directly following them.
*
* @private
* @category Manipulation
* @param array - Target array to splice.
* @param spliceIdx - Index at which to begin changing the array.
* @param spliceCount - Number of elements to remove from the array.
* @param newElems - Elements to insert into the array.
* @param parent - The parent of the node.
* @returns The spliced array.
*/
function uniqueSplice(array, spliceIdx, spliceCount, newElems, parent) {
	var _a, _b;
	const spliceArgs = [
		spliceIdx,
		spliceCount,
		...newElems
	];
	const prev = spliceIdx === 0 ? null : array[spliceIdx - 1];
	const next = spliceIdx + spliceCount >= array.length ? null : array[spliceIdx + spliceCount];
	for (let idx = 0; idx < newElems.length; ++idx) {
		const node = newElems[idx];
		const oldParent = node.parent;
		if (oldParent) {
			const oldSiblings = oldParent.children;
			const prevIdx = oldSiblings.indexOf(node);
			if (prevIdx !== -1) {
				oldParent.children.splice(prevIdx, 1);
				if (parent === oldParent && spliceIdx > prevIdx) {
					spliceArgs[0]--;
				}
			}
		}
		node.parent = parent;
		if (node.prev) {
			node.prev.next = (_a = node.next) !== null && _a !== void 0 ? _a : null;
		}
		if (node.next) {
			node.next.prev = (_b = node.prev) !== null && _b !== void 0 ? _b : null;
		}
		node.prev = idx === 0 ? prev : newElems[idx - 1];
		node.next = idx === newElems.length - 1 ? next : newElems[idx + 1];
	}
	if (prev) {
		prev.next = newElems[0];
	}
	if (next) {
		next.prev = newElems[newElems.length - 1];
	}
	return array.splice(...spliceArgs);
}
/**
* Insert every element in the set of matched elements to the end of the target.
*
* @category Manipulation
* @example
*
* ```js
* $('<li class="plum">Plum</li>').appendTo('#fruits');
* $.html();
* //=>  <ul id="fruits">
* //      <li class="apple">Apple</li>
* //      <li class="orange">Orange</li>
* //      <li class="pear">Pear</li>
* //      <li class="plum">Plum</li>
* //    </ul>
* ```
*
* @param target - Element to append elements to.
* @returns The instance itself.
* @see {@link https://api.jquery.com/appendTo/}
*/
function appendTo(target) {
	const appendTarget = isCheerio(target) ? target : this._make(target);
	appendTarget.append(this);
	return this;
}
/**
* Insert every element in the set of matched elements to the beginning of the
* target.
*
* @category Manipulation
* @example
*
* ```js
* $('<li class="plum">Plum</li>').prependTo('#fruits');
* $.html();
* //=>  <ul id="fruits">
* //      <li class="plum">Plum</li>
* //      <li class="apple">Apple</li>
* //      <li class="orange">Orange</li>
* //      <li class="pear">Pear</li>
* //    </ul>
* ```
*
* @param target - Element to prepend elements to.
* @returns The instance itself.
* @see {@link https://api.jquery.com/prependTo/}
*/
function prependTo(target) {
	const prependTarget = isCheerio(target) ? target : this._make(target);
	prependTarget.prepend(this);
	return this;
}
/**
* Inserts content as the _last_ child of each of the selected elements.
*
* @category Manipulation
* @example
*
* ```js
* $('ul').append('<li class="plum">Plum</li>');
* $.html();
* //=>  <ul id="fruits">
* //      <li class="apple">Apple</li>
* //      <li class="orange">Orange</li>
* //      <li class="pear">Pear</li>
* //      <li class="plum">Plum</li>
* //    </ul>
* ```
*
* @see {@link https://api.jquery.com/append/}
*/
const append = _insert((dom, children, parent) => {
	uniqueSplice(children, children.length, 0, dom, parent);
});
/**
* Inserts content as the _first_ child of each of the selected elements.
*
* @category Manipulation
* @example
*
* ```js
* $('ul').prepend('<li class="plum">Plum</li>');
* $.html();
* //=>  <ul id="fruits">
* //      <li class="plum">Plum</li>
* //      <li class="apple">Apple</li>
* //      <li class="orange">Orange</li>
* //      <li class="pear">Pear</li>
* //    </ul>
* ```
*
* @see {@link https://api.jquery.com/prepend/}
*/
const prepend = _insert((dom, children, parent) => {
	uniqueSplice(children, 0, 0, dom, parent);
});
function _wrap(insert) {
	return function(wrapper) {
		const lastIdx = this.length - 1;
		const lastParent = this.parents().last();
		for (let i = 0; i < this.length; i++) {
			const el = this[i];
			const wrap = typeof wrapper === "function" ? wrapper.call(el, i, el) : typeof wrapper === "string" && !isHtml(wrapper) ? lastParent.find(wrapper).clone() : wrapper;
			const [wrapperDom] = this._makeDomArray(wrap, i < lastIdx);
			if (!wrapperDom || !hasChildren(wrapperDom)) continue;
			let elInsertLocation = wrapperDom;
			let j = 0;
			while (j < elInsertLocation.children.length) {
				const child = elInsertLocation.children[j];
				if (isTag(child)) {
					elInsertLocation = child;
					j = 0;
				} else {
					j++;
				}
			}
			insert(el, elInsertLocation, [wrapperDom]);
		}
		return this;
	};
}
/**
* The .wrap() function can take any string or object that could be passed to
* the $() factory function to specify a DOM structure. This structure may be
* nested several levels deep, but should contain only one inmost element. A
* copy of this structure will be wrapped around each of the elements in the set
* of matched elements. This method returns the original set of elements for
* chaining purposes.
*
* @category Manipulation
* @example
*
* ```js
* const redFruit = $('<div class="red-fruit"></div>');
* $('.apple').wrap(redFruit);
*
* //=> <ul id="fruits">
* //     <div class="red-fruit">
* //      <li class="apple">Apple</li>
* //     </div>
* //     <li class="orange">Orange</li>
* //     <li class="plum">Plum</li>
* //   </ul>
*
* const healthy = $('<div class="healthy"></div>');
* $('li').wrap(healthy);
*
* //=> <ul id="fruits">
* //     <div class="healthy">
* //       <li class="apple">Apple</li>
* //     </div>
* //     <div class="healthy">
* //       <li class="orange">Orange</li>
* //     </div>
* //     <div class="healthy">
* //        <li class="plum">Plum</li>
* //     </div>
* //   </ul>
* ```
*
* @param wrapper - The DOM structure to wrap around each element in the
*   selection.
* @see {@link https://api.jquery.com/wrap/}
*/
const wrap$1 = _wrap((el, elInsertLocation, wrapperDom) => {
	const { parent } = el;
	if (!parent) return;
	const siblings = parent.children;
	const index = siblings.indexOf(el);
	update([el], elInsertLocation);
	uniqueSplice(siblings, index, 0, wrapperDom, parent);
});
/**
* The .wrapInner() function can take any string or object that could be passed
* to the $() factory function to specify a DOM structure. This structure may be
* nested several levels deep, but should contain only one inmost element. The
* structure will be wrapped around the content of each of the elements in the
* set of matched elements.
*
* @category Manipulation
* @example
*
* ```js
* const redFruit = $('<div class="red-fruit"></div>');
* $('.apple').wrapInner(redFruit);
*
* //=> <ul id="fruits">
* //     <li class="apple">
* //       <div class="red-fruit">Apple</div>
* //     </li>
* //     <li class="orange">Orange</li>
* //     <li class="pear">Pear</li>
* //   </ul>
*
* const healthy = $('<div class="healthy"></div>');
* $('li').wrapInner(healthy);
*
* //=> <ul id="fruits">
* //     <li class="apple">
* //       <div class="healthy">Apple</div>
* //     </li>
* //     <li class="orange">
* //       <div class="healthy">Orange</div>
* //     </li>
* //     <li class="pear">
* //       <div class="healthy">Pear</div>
* //     </li>
* //   </ul>
* ```
*
* @param wrapper - The DOM structure to wrap around the content of each element
*   in the selection.
* @returns The instance itself, for chaining.
* @see {@link https://api.jquery.com/wrapInner/}
*/
const wrapInner = _wrap((el, elInsertLocation, wrapperDom) => {
	if (!hasChildren(el)) return;
	update(el.children, elInsertLocation);
	update(wrapperDom, el);
});
/**
* The .unwrap() function, removes the parents of the set of matched elements
* from the DOM, leaving the matched elements in their place.
*
* @category Manipulation
* @example <caption>without selector</caption>
*
* ```js
* const $ = cheerio.load(
*   '<div id=test>\n  <div><p>Hello</p></div>\n  <div><p>World</p></div>\n</div>',
* );
* $('#test p').unwrap();
*
* //=> <div id=test>
* //     <p>Hello</p>
* //     <p>World</p>
* //   </div>
* ```
*
* @example <caption>with selector</caption>
*
* ```js
* const $ = cheerio.load(
*   '<div id=test>\n  <p>Hello</p>\n  <b><p>World</p></b>\n</div>',
* );
* $('#test p').unwrap('b');
*
* //=> <div id=test>
* //     <p>Hello</p>
* //     <p>World</p>
* //   </div>
* ```
*
* @param selector - A selector to check the parent element against. If an
*   element's parent does not match the selector, the element won't be
*   unwrapped.
* @returns The instance itself, for chaining.
* @see {@link https://api.jquery.com/unwrap/}
*/
function unwrap(selector) {
	this.parent(selector).not("body").each((_, el) => {
		this._make(el).replaceWith(el.children);
	});
	return this;
}
/**
* The .wrapAll() function can take any string or object that could be passed to
* the $() function to specify a DOM structure. This structure may be nested
* several levels deep, but should contain only one inmost element. The
* structure will be wrapped around all of the elements in the set of matched
* elements, as a single group.
*
* @category Manipulation
* @example <caption>With markup passed to `wrapAll`</caption>
*
* ```js
* const $ = cheerio.load(
*   '<div class="container"><div class="inner">First</div><div class="inner">Second</div></div>',
* );
* $('.inner').wrapAll("<div class='new'></div>");
*
* //=> <div class="container">
* //     <div class='new'>
* //       <div class="inner">First</div>
* //       <div class="inner">Second</div>
* //     </div>
* //   </div>
* ```
*
* @example <caption>With an existing cheerio instance</caption>
*
* ```js
* const $ = cheerio.load(
*   '<span>Span 1</span><strong>Strong</strong><span>Span 2</span>',
* );
* const wrap = $('<div><p><em><b></b></em></p></div>');
* $('span').wrapAll(wrap);
*
* //=> <div>
* //     <p>
* //       <em>
* //         <b>
* //           <span>Span 1</span>
* //           <span>Span 2</span>
* //         </b>
* //       </em>
* //     </p>
* //   </div>
* //   <strong>Strong</strong>
* ```
*
* @param wrapper - The DOM structure to wrap around all matched elements in the
*   selection.
* @returns The instance itself.
* @see {@link https://api.jquery.com/wrapAll/}
*/
function wrapAll(wrapper) {
	const el = this[0];
	if (el) {
		const wrap = this._make(typeof wrapper === "function" ? wrapper.call(el, 0, el) : wrapper).insertBefore(el);
		let elInsertLocation;
		for (let i = 0; i < wrap.length; i++) {
			if (wrap[i].type === Tag) {
				elInsertLocation = wrap[i];
			}
		}
		let j = 0;
		while (elInsertLocation && j < elInsertLocation.children.length) {
			const child = elInsertLocation.children[j];
			if (child.type === Tag) {
				elInsertLocation = child;
				j = 0;
			} else {
				j++;
			}
		}
		if (elInsertLocation) this._make(elInsertLocation).append(this);
	}
	return this;
}
/**
* Insert content next to each element in the set of matched elements.
*
* @category Manipulation
* @example
*
* ```js
* $('.apple').after('<li class="plum">Plum</li>');
* $.html();
* //=>  <ul id="fruits">
* //      <li class="apple">Apple</li>
* //      <li class="plum">Plum</li>
* //      <li class="orange">Orange</li>
* //      <li class="pear">Pear</li>
* //    </ul>
* ```
*
* @param elems - HTML string, DOM element, array of DOM elements or Cheerio to
*   insert after each element in the set of matched elements.
* @returns The instance itself.
* @see {@link https://api.jquery.com/after/}
*/
function after$1(...elems) {
	const lastIdx = this.length - 1;
	return domEach(this, (el, i) => {
		if (!hasChildren(el) || !el.parent) {
			return;
		}
		const siblings = el.parent.children;
		const index = siblings.indexOf(el);
		/* istanbul ignore next */
		if (index === -1) return;
		const domSrc = typeof elems[0] === "function" ? elems[0].call(el, i, this._render(el.children)) : elems;
		const dom = this._makeDomArray(domSrc, i < lastIdx);
		uniqueSplice(siblings, index + 1, 0, dom, el.parent);
	});
}
/**
* Insert every element in the set of matched elements after the target.
*
* @category Manipulation
* @example
*
* ```js
* $('<li class="plum">Plum</li>').insertAfter('.apple');
* $.html();
* //=>  <ul id="fruits">
* //      <li class="apple">Apple</li>
* //      <li class="plum">Plum</li>
* //      <li class="orange">Orange</li>
* //      <li class="pear">Pear</li>
* //    </ul>
* ```
*
* @param target - Element to insert elements after.
* @returns The set of newly inserted elements.
* @see {@link https://api.jquery.com/insertAfter/}
*/
function insertAfter(target) {
	if (typeof target === "string") {
		target = this._make(target);
	}
	this.remove();
	const clones = [];
	for (const el of this._makeDomArray(target)) {
		const clonedSelf = this.clone().toArray();
		const { parent } = el;
		if (!parent) {
			continue;
		}
		const siblings = parent.children;
		const index = siblings.indexOf(el);
		/* istanbul ignore next */
		if (index === -1) continue;
		uniqueSplice(siblings, index + 1, 0, clonedSelf, parent);
		clones.push(...clonedSelf);
	}
	return this._make(clones);
}
/**
* Insert content previous to each element in the set of matched elements.
*
* @category Manipulation
* @example
*
* ```js
* $('.apple').before('<li class="plum">Plum</li>');
* $.html();
* //=>  <ul id="fruits">
* //      <li class="plum">Plum</li>
* //      <li class="apple">Apple</li>
* //      <li class="orange">Orange</li>
* //      <li class="pear">Pear</li>
* //    </ul>
* ```
*
* @param elems - HTML string, DOM element, array of DOM elements or Cheerio to
*   insert before each element in the set of matched elements.
* @returns The instance itself.
* @see {@link https://api.jquery.com/before/}
*/
function before$1(...elems) {
	const lastIdx = this.length - 1;
	return domEach(this, (el, i) => {
		if (!hasChildren(el) || !el.parent) {
			return;
		}
		const siblings = el.parent.children;
		const index = siblings.indexOf(el);
		/* istanbul ignore next */
		if (index === -1) return;
		const domSrc = typeof elems[0] === "function" ? elems[0].call(el, i, this._render(el.children)) : elems;
		const dom = this._makeDomArray(domSrc, i < lastIdx);
		uniqueSplice(siblings, index, 0, dom, el.parent);
	});
}
/**
* Insert every element in the set of matched elements before the target.
*
* @category Manipulation
* @example
*
* ```js
* $('<li class="plum">Plum</li>').insertBefore('.apple');
* $.html();
* //=>  <ul id="fruits">
* //      <li class="plum">Plum</li>
* //      <li class="apple">Apple</li>
* //      <li class="orange">Orange</li>
* //      <li class="pear">Pear</li>
* //    </ul>
* ```
*
* @param target - Element to insert elements before.
* @returns The set of newly inserted elements.
* @see {@link https://api.jquery.com/insertBefore/}
*/
function insertBefore(target) {
	const targetArr = this._make(target);
	this.remove();
	const clones = [];
	domEach(targetArr, (el) => {
		const clonedSelf = this.clone().toArray();
		const { parent } = el;
		if (!parent) {
			return;
		}
		const siblings = parent.children;
		const index = siblings.indexOf(el);
		/* istanbul ignore next */
		if (index === -1) return;
		uniqueSplice(siblings, index, 0, clonedSelf, parent);
		clones.push(...clonedSelf);
	});
	return this._make(clones);
}
/**
* Removes the set of matched elements from the DOM and all their children.
* `selector` filters the set of matched elements to be removed.
*
* @category Manipulation
* @example
*
* ```js
* $('.pear').remove();
* $.html();
* //=>  <ul id="fruits">
* //      <li class="apple">Apple</li>
* //      <li class="orange">Orange</li>
* //    </ul>
* ```
*
* @param selector - Optional selector for elements to remove.
* @returns The instance itself.
* @see {@link https://api.jquery.com/remove/}
*/
function remove(selector) {
	const elems = selector ? this.filter(selector) : this;
	domEach(elems, (el) => {
		removeElement(el);
		el.prev = el.next = el.parent = null;
	});
	return this;
}
/**
* Replaces matched elements with `content`.
*
* @category Manipulation
* @example
*
* ```js
* const plum = $('<li class="plum">Plum</li>');
* $('.pear').replaceWith(plum);
* $.html();
* //=> <ul id="fruits">
* //     <li class="apple">Apple</li>
* //     <li class="orange">Orange</li>
* //     <li class="plum">Plum</li>
* //   </ul>
* ```
*
* @param content - Replacement for matched elements.
* @returns The instance itself.
* @see {@link https://api.jquery.com/replaceWith/}
*/
function replaceWith(content) {
	return domEach(this, (el, i) => {
		const { parent } = el;
		if (!parent) {
			return;
		}
		const siblings = parent.children;
		const cont = typeof content === "function" ? content.call(el, i, el) : content;
		const dom = this._makeDomArray(cont);
		update(dom, null);
		const index = siblings.indexOf(el);
		uniqueSplice(siblings, index, 1, dom, parent);
		if (!dom.includes(el)) {
			el.parent = el.prev = el.next = null;
		}
	});
}
/**
* Removes all children from each item in the selection. Text nodes and comment
* nodes are left as is.
*
* @category Manipulation
* @example
*
* ```js
* $('ul').empty();
* $.html();
* //=>  <ul id="fruits"></ul>
* ```
*
* @returns The instance itself.
* @see {@link https://api.jquery.com/empty/}
*/
function empty() {
	return domEach(this, (el) => {
		if (!hasChildren(el)) return;
		for (const child of el.children) {
			child.next = child.prev = child.parent = null;
		}
		el.children.length = 0;
	});
}
function html(str) {
	if (str === undefined) {
		const el = this[0];
		if (!el || !hasChildren(el)) return null;
		return this._render(el.children);
	}
	return domEach(this, (el) => {
		if (!hasChildren(el)) return;
		for (const child of el.children) {
			child.next = child.prev = child.parent = null;
		}
		const content = isCheerio(str) ? str.toArray() : this._parse(`${str}`, this.options, false, el).children;
		update(content, el);
	});
}
/**
* Turns the collection to a string. Alias for `.html()`.
*
* @category Manipulation
* @returns The rendered document.
*/
function toString$2() {
	return this._render(this);
}
function text(str) {
	if (str === undefined) {
		return text$1(this);
	}
	if (typeof str === "function") {
		return domEach(this, (el, i) => this._make(el).text(str.call(el, i, text$1([el]))));
	}
	return domEach(this, (el) => {
		if (!hasChildren(el)) return;
		for (const child of el.children) {
			child.next = child.prev = child.parent = null;
		}
		const textNode = new Text(`${str}`);
		update(textNode, el);
	});
}
/**
* Clone the cheerio object.
*
* @category Manipulation
* @example
*
* ```js
* const moreFruit = $('#fruits').clone();
* ```
*
* @returns The cloned object.
* @see {@link https://api.jquery.com/clone/}
*/
function clone$1() {
	const clone = Array.prototype.map.call(this.get(), (el) => cloneNode(el, true));
	const root = new Document(clone);
	for (const node of clone) {
		node.parent = root;
	}
	return this._make(clone);
}

//#endregion
//#region ../node_modules/cheerio/dist/esm/api/css.js
var css_exports = /* @__PURE__ */ __exportAll({ css: () => css });
/**
* Set multiple CSS properties for every matched element.
*
* @category CSS
* @param prop - The names of the properties.
* @param val - The new values.
* @returns The instance itself.
* @see {@link https://api.jquery.com/css/}
*/
function css(prop, val) {
	if (prop != null && val != null || typeof prop === "object" && !Array.isArray(prop)) {
		return domEach(this, (el, i) => {
			if (isTag(el)) {
				setCss(el, prop, val, i);
			}
		});
	}
	if (this.length === 0) {
		return undefined;
	}
	return getCss(this[0], prop);
}
/**
* Set styles of all elements.
*
* @private
* @param el - Element to set style of.
* @param prop - Name of property.
* @param value - Value to set property to.
* @param idx - Optional index within the selection.
*/
function setCss(el, prop, value, idx) {
	if (typeof prop === "string") {
		const styles = getCss(el);
		const val = typeof value === "function" ? value.call(el, idx, styles[prop]) : value;
		if (val === "") {
			delete styles[prop];
		} else if (val != null) {
			styles[prop] = val;
		}
		el.attribs["style"] = stringify$3(styles);
	} else if (typeof prop === "object") {
		const keys = Object.keys(prop);
		for (let i = 0; i < keys.length; i++) {
			const k = keys[i];
			setCss(el, k, prop[k], i);
		}
	}
}
function getCss(el, prop) {
	if (!el || !isTag(el)) return;
	const styles = parse$2(el.attribs["style"]);
	if (typeof prop === "string") {
		return styles[prop];
	}
	if (Array.isArray(prop)) {
		const newStyles = {};
		for (const item of prop) {
			if (styles[item] != null) {
				newStyles[item] = styles[item];
			}
		}
		return newStyles;
	}
	return styles;
}
/**
* Stringify `obj` to styles.
*
* @private
* @category CSS
* @param obj - Object to stringify.
* @returns The serialized styles.
*/
function stringify$3(obj) {
	return Object.keys(obj).reduce((str, prop) => `${str}${str ? " " : ""}${prop}: ${obj[prop]};`, "");
}
/**
* Parse `styles`.
*
* @private
* @category CSS
* @param styles - Styles to be parsed.
* @returns The parsed styles.
*/
function parse$2(styles) {
	styles = (styles || "").trim();
	if (!styles) return {};
	const obj = {};
	let key;
	for (const str of styles.split(";")) {
		const n = str.indexOf(":");
		if (n < 1 || n === str.length - 1) {
			const trimmed = str.trimEnd();
			if (trimmed.length > 0 && key !== undefined) {
				obj[key] += `;${trimmed}`;
			}
		} else {
			key = str.slice(0, n).trim();
			obj[key] = str.slice(n + 1).trim();
		}
	}
	return obj;
}

//#endregion
//#region ../node_modules/cheerio/dist/esm/api/forms.js
var forms_exports = /* @__PURE__ */ __exportAll({
	serialize: () => serialize$1,
	serializeArray: () => serializeArray
});
const submittableSelector = "input,select,textarea,keygen";
const r20 = /%20/g;
const rCRLF = /\r?\n/g;
/**
* Encode a set of form elements as a string for submission.
*
* @category Forms
* @example
*
* ```js
* $('<form><input name="foo" value="bar" /></form>').serialize();
* //=> 'foo=bar'
* ```
*
* @returns The serialized form.
* @see {@link https://api.jquery.com/serialize/}
*/
function serialize$1() {
	const arr = this.serializeArray();
	const retArr = arr.map((data) => `${encodeURIComponent(data.name)}=${encodeURIComponent(data.value)}`);
	return retArr.join("&").replace(r20, "+");
}
/**
* Encode a set of form elements as an array of names and values.
*
* @category Forms
* @example
*
* ```js
* $('<form><input name="foo" value="bar" /></form>').serializeArray();
* //=> [ { name: 'foo', value: 'bar' } ]
* ```
*
* @returns The serialized form.
* @see {@link https://api.jquery.com/serializeArray/}
*/
function serializeArray() {
	return this.map((_, elem) => {
		const $elem = this._make(elem);
		if (isTag(elem) && elem.name === "form") {
			return $elem.find(submittableSelector).toArray();
		}
		return $elem.filter(submittableSelector).toArray();
	}).filter("[name!=\"\"]:enabled" + ":not(:submit, :button, :image, :reset, :file)" + ":matches([checked], :not(:checkbox, :radio))").map((_, elem) => {
		var _a;
		const $elem = this._make(elem);
		const name = $elem.attr("name");
		const value = (_a = $elem.val()) !== null && _a !== void 0 ? _a : "";
		if (Array.isArray(value)) {
			return value.map((val) => ({
				name,
				value: val.replace(rCRLF, "\r\n")
			}));
		}
		return {
			name,
			value: value.replace(rCRLF, "\r\n")
		};
	}).toArray();
}

//#endregion
//#region ../node_modules/cheerio/dist/esm/api/extract.js
var extract_exports = /* @__PURE__ */ __exportAll({ extract: () => extract });
function getExtractDescr(descr) {
	var _a;
	if (typeof descr === "string") {
		return {
			selector: descr,
			value: "textContent"
		};
	}
	return {
		selector: descr.selector,
		value: (_a = descr.value) !== null && _a !== void 0 ? _a : "textContent"
	};
}
/**
* Extract multiple values from a document, and store them in an object.
*
* @param map - An object containing key-value pairs. The keys are the names of
*   the properties to be created on the object, and the values are the
*   selectors to be used to extract the values.
* @returns An object containing the extracted values.
*/
function extract(map) {
	const ret = {};
	for (const key in map) {
		const descr = map[key];
		const isArray = Array.isArray(descr);
		const { selector, value } = getExtractDescr(isArray ? descr[0] : descr);
		const fn = typeof value === "function" ? value : typeof value === "string" ? (el) => this._make(el).prop(value) : (el) => this._make(el).extract(value);
		if (isArray) {
			ret[key] = this._findBySelector(selector, Number.POSITIVE_INFINITY).map((_, el) => fn(el, key, ret)).get();
		} else {
			const $ = this._findBySelector(selector, 1);
			ret[key] = $.length > 0 ? fn($[0], key, ret) : undefined;
		}
	}
	return ret;
}

//#endregion
//#region ../node_modules/cheerio/dist/esm/cheerio.js
/**
* The cheerio class is the central class of the library. It wraps a set of
* elements and provides an API for traversing, modifying, and interacting with
* the set.
*
* Loading a document will return the Cheerio class bound to the root element of
* the document. The class will be instantiated when querying the document (when
* calling `$('selector')`).
*
* @example This is the HTML markup we will be using in all of the API examples:
*
* ```html
* <ul id="fruits">
*   <li class="apple">Apple</li>
*   <li class="orange">Orange</li>
*   <li class="pear">Pear</li>
* </ul>
* ```
*/
var Cheerio = class {
	/**
	* Instance of cheerio. Methods are specified in the modules. Usage of this
	* constructor is not recommended. Please use `$.load` instead.
	*
	* @private
	* @param elements - The new selection.
	* @param root - Sets the root node.
	* @param options - Options for the instance.
	*/
	constructor(elements, root, options) {
		this.length = 0;
		this.options = options;
		this._root = root;
		if (elements) {
			for (let idx = 0; idx < elements.length; idx++) {
				this[idx] = elements[idx];
			}
			this.length = elements.length;
		}
	}
};
/** Set a signature of the object. */
Cheerio.prototype.cheerio = "[cheerio object]";
Cheerio.prototype.splice = Array.prototype.splice;
Cheerio.prototype[Symbol.iterator] = Array.prototype[Symbol.iterator];
Object.assign(Cheerio.prototype, attributes_exports, traversing_exports, manipulation_exports, css_exports, forms_exports, extract_exports);

//#endregion
//#region ../node_modules/cheerio/dist/esm/load.js
function getLoad(parse, render) {
	/**
	* Create a querying function, bound to a document created from the provided
	* markup.
	*
	* Note that similar to web browser contexts, this operation may introduce
	* `<html>`, `<head>`, and `<body>` elements; set `isDocument` to `false` to
	* switch to fragment mode and disable this.
	*
	* @param content - Markup to be loaded.
	* @param options - Options for the created instance.
	* @param isDocument - Allows parser to be switched to fragment mode.
	* @returns The loaded document.
	* @see {@link https://cheerio.js.org/docs/basics/loading#load} for additional usage information.
	*/
	return function load(content, options, isDocument = true) {
		if (content == null) {
			throw new Error("cheerio.load() expects a string");
		}
		const internalOpts = flattenOptions(options);
		const initialRoot = parse(content, internalOpts, isDocument, null);
		/**
		* Create an extended class here, so that extensions only live on one
		* instance.
		*/
		class LoadedCheerio extends Cheerio {
			_make(selector, context) {
				const cheerio = initialize(selector, context);
				cheerio.prevObject = this;
				return cheerio;
			}
			_parse(content, options, isDocument, context) {
				return parse(content, options, isDocument, context);
			}
			_render(dom) {
				return render(dom, this.options);
			}
		}
		function initialize(selector, context, root = initialRoot, opts) {
			if (selector && isCheerio(selector)) return selector;
			const options = flattenOptions(opts, internalOpts);
			const r = typeof root === "string" ? [parse(root, options, false, null)] : "length" in root ? root : [root];
			const rootInstance = isCheerio(r) ? r : new LoadedCheerio(r, null, options);
			rootInstance._root = rootInstance;
			if (!selector) {
				return new LoadedCheerio(undefined, rootInstance, options);
			}
			const elements = typeof selector === "string" && isHtml(selector) ? parse(selector, options, false, null).children : isNode(selector) ? [selector] : Array.isArray(selector) ? selector : undefined;
			const instance = new LoadedCheerio(elements, rootInstance, options);
			if (elements) {
				return instance;
			}
			if (typeof selector !== "string") {
				throw new TypeError("Unexpected type of selector");
			}
			let search = selector;
			const searchContext = context ? typeof context === "string" ? isHtml(context) ? new LoadedCheerio([parse(context, options, false, null)], rootInstance, options) : (search = `${context} ${search}`, rootInstance) : isCheerio(context) ? context : new LoadedCheerio(Array.isArray(context) ? context : [context], rootInstance, options) : rootInstance;
			if (!searchContext) return instance;
			return searchContext.find(search);
		}
		Object.assign(initialize, static_exports, {
			load,
			_root: initialRoot,
			_options: internalOpts,
			fn: LoadedCheerio.prototype,
			prototype: LoadedCheerio.prototype
		});
		return initialize;
	};
}
function isNode(obj) {
	return !!obj.name || obj.type === Root || obj.type === Text$1 || obj.type === Comment$1;
}

//#endregion
//#region ../node_modules/parse5/dist/common/unicode.js
const UNDEFINED_CODE_POINTS = new Set([
	65534,
	65535,
	131070,
	131071,
	196606,
	196607,
	262142,
	262143,
	327678,
	327679,
	393214,
	393215,
	458750,
	458751,
	524286,
	524287,
	589822,
	589823,
	655358,
	655359,
	720894,
	720895,
	786430,
	786431,
	851966,
	851967,
	917502,
	917503,
	983038,
	983039,
	1048574,
	1048575,
	1114110,
	1114111
]);
const REPLACEMENT_CHARACTER = "�";
var CODE_POINTS;
(function(CODE_POINTS) {
	CODE_POINTS[CODE_POINTS["EOF"] = -1] = "EOF";
	CODE_POINTS[CODE_POINTS["NULL"] = 0] = "NULL";
	CODE_POINTS[CODE_POINTS["TABULATION"] = 9] = "TABULATION";
	CODE_POINTS[CODE_POINTS["CARRIAGE_RETURN"] = 13] = "CARRIAGE_RETURN";
	CODE_POINTS[CODE_POINTS["LINE_FEED"] = 10] = "LINE_FEED";
	CODE_POINTS[CODE_POINTS["FORM_FEED"] = 12] = "FORM_FEED";
	CODE_POINTS[CODE_POINTS["SPACE"] = 32] = "SPACE";
	CODE_POINTS[CODE_POINTS["EXCLAMATION_MARK"] = 33] = "EXCLAMATION_MARK";
	CODE_POINTS[CODE_POINTS["QUOTATION_MARK"] = 34] = "QUOTATION_MARK";
	CODE_POINTS[CODE_POINTS["AMPERSAND"] = 38] = "AMPERSAND";
	CODE_POINTS[CODE_POINTS["APOSTROPHE"] = 39] = "APOSTROPHE";
	CODE_POINTS[CODE_POINTS["HYPHEN_MINUS"] = 45] = "HYPHEN_MINUS";
	CODE_POINTS[CODE_POINTS["SOLIDUS"] = 47] = "SOLIDUS";
	CODE_POINTS[CODE_POINTS["DIGIT_0"] = 48] = "DIGIT_0";
	CODE_POINTS[CODE_POINTS["DIGIT_9"] = 57] = "DIGIT_9";
	CODE_POINTS[CODE_POINTS["SEMICOLON"] = 59] = "SEMICOLON";
	CODE_POINTS[CODE_POINTS["LESS_THAN_SIGN"] = 60] = "LESS_THAN_SIGN";
	CODE_POINTS[CODE_POINTS["EQUALS_SIGN"] = 61] = "EQUALS_SIGN";
	CODE_POINTS[CODE_POINTS["GREATER_THAN_SIGN"] = 62] = "GREATER_THAN_SIGN";
	CODE_POINTS[CODE_POINTS["QUESTION_MARK"] = 63] = "QUESTION_MARK";
	CODE_POINTS[CODE_POINTS["LATIN_CAPITAL_A"] = 65] = "LATIN_CAPITAL_A";
	CODE_POINTS[CODE_POINTS["LATIN_CAPITAL_Z"] = 90] = "LATIN_CAPITAL_Z";
	CODE_POINTS[CODE_POINTS["RIGHT_SQUARE_BRACKET"] = 93] = "RIGHT_SQUARE_BRACKET";
	CODE_POINTS[CODE_POINTS["GRAVE_ACCENT"] = 96] = "GRAVE_ACCENT";
	CODE_POINTS[CODE_POINTS["LATIN_SMALL_A"] = 97] = "LATIN_SMALL_A";
	CODE_POINTS[CODE_POINTS["LATIN_SMALL_Z"] = 122] = "LATIN_SMALL_Z";
})(CODE_POINTS || (CODE_POINTS = {}));
const SEQUENCES = {
	DASH_DASH: "--",
	CDATA_START: "[CDATA[",
	DOCTYPE: "doctype",
	SCRIPT: "script",
	PUBLIC: "public",
	SYSTEM: "system"
};
function isSurrogate(cp) {
	return cp >= 55296 && cp <= 57343;
}
function isSurrogatePair(cp) {
	return cp >= 56320 && cp <= 57343;
}
function getSurrogatePairCodePoint(cp1, cp2) {
	return (cp1 - 55296) * 1024 + 9216 + cp2;
}
function isControlCodePoint(cp) {
	return cp !== 32 && cp !== 10 && cp !== 13 && cp !== 9 && cp !== 12 && cp >= 1 && cp <= 31 || cp >= 127 && cp <= 159;
}
function isUndefinedCodePoint(cp) {
	return cp >= 64976 && cp <= 65007 || UNDEFINED_CODE_POINTS.has(cp);
}

//#endregion
//#region ../node_modules/parse5/dist/common/error-codes.js
var ERR;
(function(ERR) {
	ERR["controlCharacterInInputStream"] = "control-character-in-input-stream";
	ERR["noncharacterInInputStream"] = "noncharacter-in-input-stream";
	ERR["surrogateInInputStream"] = "surrogate-in-input-stream";
	ERR["nonVoidHtmlElementStartTagWithTrailingSolidus"] = "non-void-html-element-start-tag-with-trailing-solidus";
	ERR["endTagWithAttributes"] = "end-tag-with-attributes";
	ERR["endTagWithTrailingSolidus"] = "end-tag-with-trailing-solidus";
	ERR["unexpectedSolidusInTag"] = "unexpected-solidus-in-tag";
	ERR["unexpectedNullCharacter"] = "unexpected-null-character";
	ERR["unexpectedQuestionMarkInsteadOfTagName"] = "unexpected-question-mark-instead-of-tag-name";
	ERR["invalidFirstCharacterOfTagName"] = "invalid-first-character-of-tag-name";
	ERR["unexpectedEqualsSignBeforeAttributeName"] = "unexpected-equals-sign-before-attribute-name";
	ERR["missingEndTagName"] = "missing-end-tag-name";
	ERR["unexpectedCharacterInAttributeName"] = "unexpected-character-in-attribute-name";
	ERR["unknownNamedCharacterReference"] = "unknown-named-character-reference";
	ERR["missingSemicolonAfterCharacterReference"] = "missing-semicolon-after-character-reference";
	ERR["unexpectedCharacterAfterDoctypeSystemIdentifier"] = "unexpected-character-after-doctype-system-identifier";
	ERR["unexpectedCharacterInUnquotedAttributeValue"] = "unexpected-character-in-unquoted-attribute-value";
	ERR["eofBeforeTagName"] = "eof-before-tag-name";
	ERR["eofInTag"] = "eof-in-tag";
	ERR["missingAttributeValue"] = "missing-attribute-value";
	ERR["missingWhitespaceBetweenAttributes"] = "missing-whitespace-between-attributes";
	ERR["missingWhitespaceAfterDoctypePublicKeyword"] = "missing-whitespace-after-doctype-public-keyword";
	ERR["missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers"] = "missing-whitespace-between-doctype-public-and-system-identifiers";
	ERR["missingWhitespaceAfterDoctypeSystemKeyword"] = "missing-whitespace-after-doctype-system-keyword";
	ERR["missingQuoteBeforeDoctypePublicIdentifier"] = "missing-quote-before-doctype-public-identifier";
	ERR["missingQuoteBeforeDoctypeSystemIdentifier"] = "missing-quote-before-doctype-system-identifier";
	ERR["missingDoctypePublicIdentifier"] = "missing-doctype-public-identifier";
	ERR["missingDoctypeSystemIdentifier"] = "missing-doctype-system-identifier";
	ERR["abruptDoctypePublicIdentifier"] = "abrupt-doctype-public-identifier";
	ERR["abruptDoctypeSystemIdentifier"] = "abrupt-doctype-system-identifier";
	ERR["cdataInHtmlContent"] = "cdata-in-html-content";
	ERR["incorrectlyOpenedComment"] = "incorrectly-opened-comment";
	ERR["eofInScriptHtmlCommentLikeText"] = "eof-in-script-html-comment-like-text";
	ERR["eofInDoctype"] = "eof-in-doctype";
	ERR["nestedComment"] = "nested-comment";
	ERR["abruptClosingOfEmptyComment"] = "abrupt-closing-of-empty-comment";
	ERR["eofInComment"] = "eof-in-comment";
	ERR["incorrectlyClosedComment"] = "incorrectly-closed-comment";
	ERR["eofInCdata"] = "eof-in-cdata";
	ERR["absenceOfDigitsInNumericCharacterReference"] = "absence-of-digits-in-numeric-character-reference";
	ERR["nullCharacterReference"] = "null-character-reference";
	ERR["surrogateCharacterReference"] = "surrogate-character-reference";
	ERR["characterReferenceOutsideUnicodeRange"] = "character-reference-outside-unicode-range";
	ERR["controlCharacterReference"] = "control-character-reference";
	ERR["noncharacterCharacterReference"] = "noncharacter-character-reference";
	ERR["missingWhitespaceBeforeDoctypeName"] = "missing-whitespace-before-doctype-name";
	ERR["missingDoctypeName"] = "missing-doctype-name";
	ERR["invalidCharacterSequenceAfterDoctypeName"] = "invalid-character-sequence-after-doctype-name";
	ERR["duplicateAttribute"] = "duplicate-attribute";
	ERR["nonConformingDoctype"] = "non-conforming-doctype";
	ERR["missingDoctype"] = "missing-doctype";
	ERR["misplacedDoctype"] = "misplaced-doctype";
	ERR["endTagWithoutMatchingOpenElement"] = "end-tag-without-matching-open-element";
	ERR["closingOfElementWithOpenChildElements"] = "closing-of-element-with-open-child-elements";
	ERR["disallowedContentInNoscriptInHead"] = "disallowed-content-in-noscript-in-head";
	ERR["openElementsLeftAfterEof"] = "open-elements-left-after-eof";
	ERR["abandonedHeadElementChild"] = "abandoned-head-element-child";
	ERR["misplacedStartTagForHeadElement"] = "misplaced-start-tag-for-head-element";
	ERR["nestedNoscriptInHead"] = "nested-noscript-in-head";
	ERR["eofInElementThatCanContainOnlyText"] = "eof-in-element-that-can-contain-only-text";
})(ERR || (ERR = {}));

//#endregion
//#region ../node_modules/parse5/dist/tokenizer/preprocessor.js
const DEFAULT_BUFFER_WATERLINE = 1 << 16;
var Preprocessor = class {
	constructor(handler) {
		this.handler = handler;
		this.html = "";
		this.pos = -1;
		this.lastGapPos = -2;
		this.gapStack = [];
		this.skipNextNewLine = false;
		this.lastChunkWritten = false;
		this.endOfChunkHit = false;
		this.bufferWaterline = DEFAULT_BUFFER_WATERLINE;
		this.isEol = false;
		this.lineStartPos = 0;
		this.droppedBufferSize = 0;
		this.line = 1;
		this.lastErrOffset = -1;
	}
	/** The column on the current line. If we just saw a gap (eg. a surrogate pair), return the index before. */
	get col() {
		return this.pos - this.lineStartPos + Number(this.lastGapPos !== this.pos);
	}
	get offset() {
		return this.droppedBufferSize + this.pos;
	}
	getError(code, cpOffset) {
		const { line, col, offset } = this;
		const startCol = col + cpOffset;
		const startOffset = offset + cpOffset;
		return {
			code,
			startLine: line,
			endLine: line,
			startCol,
			endCol: startCol,
			startOffset,
			endOffset: startOffset
		};
	}
	_err(code) {
		if (this.handler.onParseError && this.lastErrOffset !== this.offset) {
			this.lastErrOffset = this.offset;
			this.handler.onParseError(this.getError(code, 0));
		}
	}
	_addGap() {
		this.gapStack.push(this.lastGapPos);
		this.lastGapPos = this.pos;
	}
	_processSurrogate(cp) {
		if (this.pos !== this.html.length - 1) {
			const nextCp = this.html.charCodeAt(this.pos + 1);
			if (isSurrogatePair(nextCp)) {
				this.pos++;
				this._addGap();
				return getSurrogatePairCodePoint(cp, nextCp);
			}
		} else if (!this.lastChunkWritten) {
			this.endOfChunkHit = true;
			return CODE_POINTS.EOF;
		}
		this._err(ERR.surrogateInInputStream);
		return cp;
	}
	willDropParsedChunk() {
		return this.pos > this.bufferWaterline;
	}
	dropParsedChunk() {
		if (this.willDropParsedChunk()) {
			this.html = this.html.substring(this.pos);
			this.lineStartPos -= this.pos;
			this.droppedBufferSize += this.pos;
			this.pos = 0;
			this.lastGapPos = -2;
			this.gapStack.length = 0;
		}
	}
	write(chunk, isLastChunk) {
		if (this.html.length > 0) {
			this.html += chunk;
		} else {
			this.html = chunk;
		}
		this.endOfChunkHit = false;
		this.lastChunkWritten = isLastChunk;
	}
	insertHtmlAtCurrentPos(chunk) {
		this.html = this.html.substring(0, this.pos + 1) + chunk + this.html.substring(this.pos + 1);
		this.endOfChunkHit = false;
	}
	startsWith(pattern, caseSensitive) {
		if (this.pos + pattern.length > this.html.length) {
			this.endOfChunkHit = !this.lastChunkWritten;
			return false;
		}
		if (caseSensitive) {
			return this.html.startsWith(pattern, this.pos);
		}
		for (let i = 0; i < pattern.length; i++) {
			const cp = this.html.charCodeAt(this.pos + i) | 32;
			if (cp !== pattern.charCodeAt(i)) {
				return false;
			}
		}
		return true;
	}
	peek(offset) {
		const pos = this.pos + offset;
		if (pos >= this.html.length) {
			this.endOfChunkHit = !this.lastChunkWritten;
			return CODE_POINTS.EOF;
		}
		const code = this.html.charCodeAt(pos);
		return code === CODE_POINTS.CARRIAGE_RETURN ? CODE_POINTS.LINE_FEED : code;
	}
	advance() {
		this.pos++;
		if (this.isEol) {
			this.isEol = false;
			this.line++;
			this.lineStartPos = this.pos;
		}
		if (this.pos >= this.html.length) {
			this.endOfChunkHit = !this.lastChunkWritten;
			return CODE_POINTS.EOF;
		}
		let cp = this.html.charCodeAt(this.pos);
		if (cp === CODE_POINTS.CARRIAGE_RETURN) {
			this.isEol = true;
			this.skipNextNewLine = true;
			return CODE_POINTS.LINE_FEED;
		}
		if (cp === CODE_POINTS.LINE_FEED) {
			this.isEol = true;
			if (this.skipNextNewLine) {
				this.line--;
				this.skipNextNewLine = false;
				this._addGap();
				return this.advance();
			}
		}
		this.skipNextNewLine = false;
		if (isSurrogate(cp)) {
			cp = this._processSurrogate(cp);
		}
		const isCommonValidRange = this.handler.onParseError === null || cp > 31 && cp < 127 || cp === CODE_POINTS.LINE_FEED || cp === CODE_POINTS.CARRIAGE_RETURN || cp > 159 && cp < 64976;
		if (!isCommonValidRange) {
			this._checkForProblematicCharacters(cp);
		}
		return cp;
	}
	_checkForProblematicCharacters(cp) {
		if (isControlCodePoint(cp)) {
			this._err(ERR.controlCharacterInInputStream);
		} else if (isUndefinedCodePoint(cp)) {
			this._err(ERR.noncharacterInInputStream);
		}
	}
	retreat(count) {
		this.pos -= count;
		while (this.pos < this.lastGapPos) {
			this.lastGapPos = this.gapStack.pop();
			this.pos--;
		}
		this.isEol = false;
	}
};

//#endregion
//#region ../node_modules/parse5/dist/common/token.js
var TokenType;
(function(TokenType) {
	TokenType[TokenType["CHARACTER"] = 0] = "CHARACTER";
	TokenType[TokenType["NULL_CHARACTER"] = 1] = "NULL_CHARACTER";
	TokenType[TokenType["WHITESPACE_CHARACTER"] = 2] = "WHITESPACE_CHARACTER";
	TokenType[TokenType["START_TAG"] = 3] = "START_TAG";
	TokenType[TokenType["END_TAG"] = 4] = "END_TAG";
	TokenType[TokenType["COMMENT"] = 5] = "COMMENT";
	TokenType[TokenType["DOCTYPE"] = 6] = "DOCTYPE";
	TokenType[TokenType["EOF"] = 7] = "EOF";
	TokenType[TokenType["HIBERNATION"] = 8] = "HIBERNATION";
})(TokenType || (TokenType = {}));
function getTokenAttr(token, attrName) {
	for (let i = token.attrs.length - 1; i >= 0; i--) {
		if (token.attrs[i].name === attrName) {
			return token.attrs[i].value;
		}
	}
	return null;
}

//#endregion
//#region ../node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-html.js
const htmlDecodeTree = /* @__PURE__ */ new Uint16Array(/* @__PURE__ */ "ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTǇǋǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻\"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉ǲኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻ǲᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤĳạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ﬃɩᾹ\0\0᾽g;耀ﬀig;耀ﬄ;쀀𝔣lig;耀ﬁlig;쀀fjƀaltῙ῜ῡt;晭ig;耀ﬂns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒α‚‰‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସǳ⧟\0⧣p肻\xA0ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗǈⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼ǲ㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌".split("").map((c) => c.charCodeAt(0)));

//#endregion
//#region ../node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-xml.js
const xmlDecodeTree = /* @__PURE__ */ new Uint16Array(/* @__PURE__ */ "Ȁaglq	\x1Bɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map((c) => c.charCodeAt(0)));

//#endregion
//#region ../node_modules/parse5/node_modules/entities/dist/esm/decode-codepoint.js
var _a;
const decodeMap = new Map([
	[0, 65533],
	[128, 8364],
	[130, 8218],
	[131, 402],
	[132, 8222],
	[133, 8230],
	[134, 8224],
	[135, 8225],
	[136, 710],
	[137, 8240],
	[138, 352],
	[139, 8249],
	[140, 338],
	[142, 381],
	[145, 8216],
	[146, 8217],
	[147, 8220],
	[148, 8221],
	[149, 8226],
	[150, 8211],
	[151, 8212],
	[152, 732],
	[153, 8482],
	[154, 353],
	[155, 8250],
	[156, 339],
	[158, 382],
	[159, 376]
]);
/**
* Polyfill for `String.fromCodePoint`. It is used to create a string from a Unicode code point.
*/
const fromCodePoint = (_a = String.fromCodePoint) !== null && _a !== void 0 ? _a : function(codePoint) {
	let output = "";
	if (codePoint > 65535) {
		codePoint -= 65536;
		output += String.fromCharCode(codePoint >>> 10 & 1023 | 55296);
		codePoint = 56320 | codePoint & 1023;
	}
	output += String.fromCharCode(codePoint);
	return output;
};
/**
* Replace the given code point with a replacement character if it is a
* surrogate or is outside the valid range. Otherwise return the code
* point unchanged.
*/
function replaceCodePoint(codePoint) {
	var _a;
	if (codePoint >= 55296 && codePoint <= 57343 || codePoint > 1114111) {
		return 65533;
	}
	return (_a = decodeMap.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint;
}
/**
* Replace the code point if relevant, then convert it to a string.
*
* @deprecated Use `fromCodePoint(replaceCodePoint(codePoint))` instead.
* @param codePoint The code point to decode.
* @returns The decoded code point.
*/
function decodeCodePoint(codePoint) {
	return fromCodePoint(replaceCodePoint(codePoint));
}

//#endregion
//#region ../node_modules/parse5/node_modules/entities/dist/esm/decode.js
var CharCodes;
(function(CharCodes) {
	CharCodes[CharCodes["NUM"] = 35] = "NUM";
	CharCodes[CharCodes["SEMI"] = 59] = "SEMI";
	CharCodes[CharCodes["EQUALS"] = 61] = "EQUALS";
	CharCodes[CharCodes["ZERO"] = 48] = "ZERO";
	CharCodes[CharCodes["NINE"] = 57] = "NINE";
	CharCodes[CharCodes["LOWER_A"] = 97] = "LOWER_A";
	CharCodes[CharCodes["LOWER_F"] = 102] = "LOWER_F";
	CharCodes[CharCodes["LOWER_X"] = 120] = "LOWER_X";
	CharCodes[CharCodes["LOWER_Z"] = 122] = "LOWER_Z";
	CharCodes[CharCodes["UPPER_A"] = 65] = "UPPER_A";
	CharCodes[CharCodes["UPPER_F"] = 70] = "UPPER_F";
	CharCodes[CharCodes["UPPER_Z"] = 90] = "UPPER_Z";
})(CharCodes || (CharCodes = {}));
/** Bit that needs to be set to convert an upper case ASCII character to lower case */
const TO_LOWER_BIT = 32;
var BinTrieFlags;
(function(BinTrieFlags) {
	BinTrieFlags[BinTrieFlags["VALUE_LENGTH"] = 49152] = "VALUE_LENGTH";
	BinTrieFlags[BinTrieFlags["BRANCH_LENGTH"] = 16256] = "BRANCH_LENGTH";
	BinTrieFlags[BinTrieFlags["JUMP_TABLE"] = 127] = "JUMP_TABLE";
})(BinTrieFlags || (BinTrieFlags = {}));
function isNumber$1(code) {
	return code >= CharCodes.ZERO && code <= CharCodes.NINE;
}
function isHexadecimalCharacter(code) {
	return code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_F || code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_F;
}
function isAsciiAlphaNumeric$1(code) {
	return code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_Z || code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_Z || isNumber$1(code);
}
/**
* Checks if the given character is a valid end character for an entity in an attribute.
*
* Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error.
* See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state
*/
function isEntityInAttributeInvalidEnd(code) {
	return code === CharCodes.EQUALS || isAsciiAlphaNumeric$1(code);
}
var EntityDecoderState;
(function(EntityDecoderState) {
	EntityDecoderState[EntityDecoderState["EntityStart"] = 0] = "EntityStart";
	EntityDecoderState[EntityDecoderState["NumericStart"] = 1] = "NumericStart";
	EntityDecoderState[EntityDecoderState["NumericDecimal"] = 2] = "NumericDecimal";
	EntityDecoderState[EntityDecoderState["NumericHex"] = 3] = "NumericHex";
	EntityDecoderState[EntityDecoderState["NamedEntity"] = 4] = "NamedEntity";
})(EntityDecoderState || (EntityDecoderState = {}));
var DecodingMode;
(function(DecodingMode) {
	/** Entities in text nodes that can end with any character. */
	DecodingMode[DecodingMode["Legacy"] = 0] = "Legacy";
	/** Only allow entities terminated with a semicolon. */
	DecodingMode[DecodingMode["Strict"] = 1] = "Strict";
	/** Entities in attributes have limitations on ending characters. */
	DecodingMode[DecodingMode["Attribute"] = 2] = "Attribute";
})(DecodingMode || (DecodingMode = {}));
/**
* Token decoder with support of writing partial entities.
*/
var EntityDecoder = class {
	constructor(decodeTree, emitCodePoint, errors) {
		this.decodeTree = decodeTree;
		this.emitCodePoint = emitCodePoint;
		this.errors = errors;
		/** The current state of the decoder. */
		this.state = EntityDecoderState.EntityStart;
		/** Characters that were consumed while parsing an entity. */
		this.consumed = 1;
		/**
		* The result of the entity.
		*
		* Either the result index of a numeric entity, or the codepoint of a
		* numeric entity.
		*/
		this.result = 0;
		/** The current index in the decode tree. */
		this.treeIndex = 0;
		/** The number of characters that were consumed in excess. */
		this.excess = 1;
		/** The mode in which the decoder is operating. */
		this.decodeMode = DecodingMode.Strict;
	}
	/** Resets the instance to make it reusable. */
	startEntity(decodeMode) {
		this.decodeMode = decodeMode;
		this.state = EntityDecoderState.EntityStart;
		this.result = 0;
		this.treeIndex = 0;
		this.excess = 1;
		this.consumed = 1;
	}
	/**
	* Write an entity to the decoder. This can be called multiple times with partial entities.
	* If the entity is incomplete, the decoder will return -1.
	*
	* Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the
	* entity is incomplete, and resume when the next string is written.
	*
	* @param input The string containing the entity (or a continuation of the entity).
	* @param offset The offset at which the entity begins. Should be 0 if this is not the first call.
	* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
	*/
	write(input, offset) {
		switch (this.state) {
			case EntityDecoderState.EntityStart: {
				if (input.charCodeAt(offset) === CharCodes.NUM) {
					this.state = EntityDecoderState.NumericStart;
					this.consumed += 1;
					return this.stateNumericStart(input, offset + 1);
				}
				this.state = EntityDecoderState.NamedEntity;
				return this.stateNamedEntity(input, offset);
			}
			case EntityDecoderState.NumericStart: {
				return this.stateNumericStart(input, offset);
			}
			case EntityDecoderState.NumericDecimal: {
				return this.stateNumericDecimal(input, offset);
			}
			case EntityDecoderState.NumericHex: {
				return this.stateNumericHex(input, offset);
			}
			case EntityDecoderState.NamedEntity: {
				return this.stateNamedEntity(input, offset);
			}
		}
	}
	/**
	* Switches between the numeric decimal and hexadecimal states.
	*
	* Equivalent to the `Numeric character reference state` in the HTML spec.
	*
	* @param input The string containing the entity (or a continuation of the entity).
	* @param offset The current offset.
	* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
	*/
	stateNumericStart(input, offset) {
		if (offset >= input.length) {
			return -1;
		}
		if ((input.charCodeAt(offset) | TO_LOWER_BIT) === CharCodes.LOWER_X) {
			this.state = EntityDecoderState.NumericHex;
			this.consumed += 1;
			return this.stateNumericHex(input, offset + 1);
		}
		this.state = EntityDecoderState.NumericDecimal;
		return this.stateNumericDecimal(input, offset);
	}
	addToNumericResult(input, start, end, base) {
		if (start !== end) {
			const digitCount = end - start;
			this.result = this.result * Math.pow(base, digitCount) + Number.parseInt(input.substr(start, digitCount), base);
			this.consumed += digitCount;
		}
	}
	/**
	* Parses a hexadecimal numeric entity.
	*
	* Equivalent to the `Hexademical character reference state` in the HTML spec.
	*
	* @param input The string containing the entity (or a continuation of the entity).
	* @param offset The current offset.
	* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
	*/
	stateNumericHex(input, offset) {
		const startIndex = offset;
		while (offset < input.length) {
			const char = input.charCodeAt(offset);
			if (isNumber$1(char) || isHexadecimalCharacter(char)) {
				offset += 1;
			} else {
				this.addToNumericResult(input, startIndex, offset, 16);
				return this.emitNumericEntity(char, 3);
			}
		}
		this.addToNumericResult(input, startIndex, offset, 16);
		return -1;
	}
	/**
	* Parses a decimal numeric entity.
	*
	* Equivalent to the `Decimal character reference state` in the HTML spec.
	*
	* @param input The string containing the entity (or a continuation of the entity).
	* @param offset The current offset.
	* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
	*/
	stateNumericDecimal(input, offset) {
		const startIndex = offset;
		while (offset < input.length) {
			const char = input.charCodeAt(offset);
			if (isNumber$1(char)) {
				offset += 1;
			} else {
				this.addToNumericResult(input, startIndex, offset, 10);
				return this.emitNumericEntity(char, 2);
			}
		}
		this.addToNumericResult(input, startIndex, offset, 10);
		return -1;
	}
	/**
	* Validate and emit a numeric entity.
	*
	* Implements the logic from the `Hexademical character reference start
	* state` and `Numeric character reference end state` in the HTML spec.
	*
	* @param lastCp The last code point of the entity. Used to see if the
	*               entity was terminated with a semicolon.
	* @param expectedLength The minimum number of characters that should be
	*                       consumed. Used to validate that at least one digit
	*                       was consumed.
	* @returns The number of characters that were consumed.
	*/
	emitNumericEntity(lastCp, expectedLength) {
		var _a;
		if (this.consumed <= expectedLength) {
			(_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);
			return 0;
		}
		if (lastCp === CharCodes.SEMI) {
			this.consumed += 1;
		} else if (this.decodeMode === DecodingMode.Strict) {
			return 0;
		}
		this.emitCodePoint(replaceCodePoint(this.result), this.consumed);
		if (this.errors) {
			if (lastCp !== CharCodes.SEMI) {
				this.errors.missingSemicolonAfterCharacterReference();
			}
			this.errors.validateNumericCharacterReference(this.result);
		}
		return this.consumed;
	}
	/**
	* Parses a named entity.
	*
	* Equivalent to the `Named character reference state` in the HTML spec.
	*
	* @param input The string containing the entity (or a continuation of the entity).
	* @param offset The current offset.
	* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
	*/
	stateNamedEntity(input, offset) {
		const { decodeTree } = this;
		let current = decodeTree[this.treeIndex];
		let valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;
		for (; offset < input.length; offset++, this.excess++) {
			const char = input.charCodeAt(offset);
			this.treeIndex = determineBranch(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char);
			if (this.treeIndex < 0) {
				return this.result === 0 || this.decodeMode === DecodingMode.Attribute && (valueLength === 0 || isEntityInAttributeInvalidEnd(char)) ? 0 : this.emitNotTerminatedNamedEntity();
			}
			current = decodeTree[this.treeIndex];
			valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;
			if (valueLength !== 0) {
				if (char === CharCodes.SEMI) {
					return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess);
				}
				if (this.decodeMode !== DecodingMode.Strict) {
					this.result = this.treeIndex;
					this.consumed += this.excess;
					this.excess = 0;
				}
			}
		}
		return -1;
	}
	/**
	* Emit a named entity that was not terminated with a semicolon.
	*
	* @returns The number of characters consumed.
	*/
	emitNotTerminatedNamedEntity() {
		var _a;
		const { result, decodeTree } = this;
		const valueLength = (decodeTree[result] & BinTrieFlags.VALUE_LENGTH) >> 14;
		this.emitNamedEntityData(result, valueLength, this.consumed);
		(_a = this.errors) === null || _a === void 0 ? void 0 : _a.missingSemicolonAfterCharacterReference();
		return this.consumed;
	}
	/**
	* Emit a named entity.
	*
	* @param result The index of the entity in the decode tree.
	* @param valueLength The number of bytes in the entity.
	* @param consumed The number of characters consumed.
	*
	* @returns The number of characters consumed.
	*/
	emitNamedEntityData(result, valueLength, consumed) {
		const { decodeTree } = this;
		this.emitCodePoint(valueLength === 1 ? decodeTree[result] & ~BinTrieFlags.VALUE_LENGTH : decodeTree[result + 1], consumed);
		if (valueLength === 3) {
			this.emitCodePoint(decodeTree[result + 2], consumed);
		}
		return consumed;
	}
	/**
	* Signal to the parser that the end of the input was reached.
	*
	* Remaining data will be emitted and relevant errors will be produced.
	*
	* @returns The number of characters consumed.
	*/
	end() {
		var _a;
		switch (this.state) {
			case EntityDecoderState.NamedEntity: {
				return this.result !== 0 && (this.decodeMode !== DecodingMode.Attribute || this.result === this.treeIndex) ? this.emitNotTerminatedNamedEntity() : 0;
			}
			case EntityDecoderState.NumericDecimal: {
				return this.emitNumericEntity(0, 2);
			}
			case EntityDecoderState.NumericHex: {
				return this.emitNumericEntity(0, 3);
			}
			case EntityDecoderState.NumericStart: {
				(_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);
				return 0;
			}
			case EntityDecoderState.EntityStart: {
				return 0;
			}
		}
	}
};
/**
* Creates a function that decodes entities in a string.
*
* @param decodeTree The decode tree.
* @returns A function that decodes entities in a string.
*/
function getDecoder(decodeTree) {
	let returnValue = "";
	const decoder = new EntityDecoder(decodeTree, (data) => returnValue += fromCodePoint(data));
	return function decodeWithTrie(input, decodeMode) {
		let lastIndex = 0;
		let offset = 0;
		while ((offset = input.indexOf("&", offset)) >= 0) {
			returnValue += input.slice(lastIndex, offset);
			decoder.startEntity(decodeMode);
			const length = decoder.write(input, offset + 1);
			if (length < 0) {
				lastIndex = offset + decoder.end();
				break;
			}
			lastIndex = offset + length;
			offset = length === 0 ? lastIndex + 1 : lastIndex;
		}
		const result = returnValue + input.slice(lastIndex);
		returnValue = "";
		return result;
	};
}
/**
* Determines the branch of the current node that is taken given the current
* character. This function is used to traverse the trie.
*
* @param decodeTree The trie.
* @param current The current node.
* @param nodeIdx The index right after the current node and its value.
* @param char The current character.
* @returns The index of the next node, or -1 if no branch is taken.
*/
function determineBranch(decodeTree, current, nodeIndex, char) {
	const branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 7;
	const jumpOffset = current & BinTrieFlags.JUMP_TABLE;
	if (branchCount === 0) {
		return jumpOffset !== 0 && char === jumpOffset ? nodeIndex : -1;
	}
	if (jumpOffset) {
		const value = char - jumpOffset;
		return value < 0 || value >= branchCount ? -1 : decodeTree[nodeIndex + value] - 1;
	}
	let lo = nodeIndex;
	let hi = lo + branchCount - 1;
	while (lo <= hi) {
		const mid = lo + hi >>> 1;
		const midValue = decodeTree[mid];
		if (midValue < char) {
			lo = mid + 1;
		} else if (midValue > char) {
			hi = mid - 1;
		} else {
			return decodeTree[mid + branchCount];
		}
	}
	return -1;
}
const htmlDecoder = /* @__PURE__ */ getDecoder(htmlDecodeTree);
const xmlDecoder = /* @__PURE__ */ getDecoder(xmlDecodeTree);
/**
* Decodes an HTML string.
*
* @param htmlString The string to decode.
* @param mode The decoding mode.
* @returns The decoded string.
*/
function decodeHTML(htmlString, mode = DecodingMode.Legacy) {
	return htmlDecoder(htmlString, mode);
}
/**
* Decodes an HTML string in an attribute.
*
* @param htmlAttribute The string to decode.
* @returns The decoded string.
*/
function decodeHTMLAttribute(htmlAttribute) {
	return htmlDecoder(htmlAttribute, DecodingMode.Attribute);
}
/**
* Decodes an HTML string, requiring all entities to be terminated by a semicolon.
*
* @param htmlString The string to decode.
* @returns The decoded string.
*/
function decodeHTMLStrict(htmlString) {
	return htmlDecoder(htmlString, DecodingMode.Strict);
}
/**
* Decodes an XML string, requiring all entities to be terminated by a semicolon.
*
* @param xmlString The string to decode.
* @returns The decoded string.
*/
function decodeXML(xmlString) {
	return xmlDecoder(xmlString, DecodingMode.Strict);
}

//#endregion
//#region ../node_modules/parse5/dist/common/html.js
/** All valid namespaces in HTML. */
var NS;
(function(NS) {
	NS["HTML"] = "http://www.w3.org/1999/xhtml";
	NS["MATHML"] = "http://www.w3.org/1998/Math/MathML";
	NS["SVG"] = "http://www.w3.org/2000/svg";
	NS["XLINK"] = "http://www.w3.org/1999/xlink";
	NS["XML"] = "http://www.w3.org/XML/1998/namespace";
	NS["XMLNS"] = "http://www.w3.org/2000/xmlns/";
})(NS || (NS = {}));
var ATTRS;
(function(ATTRS) {
	ATTRS["TYPE"] = "type";
	ATTRS["ACTION"] = "action";
	ATTRS["ENCODING"] = "encoding";
	ATTRS["PROMPT"] = "prompt";
	ATTRS["NAME"] = "name";
	ATTRS["COLOR"] = "color";
	ATTRS["FACE"] = "face";
	ATTRS["SIZE"] = "size";
})(ATTRS || (ATTRS = {}));
/**
* The mode of the document.
*
* @see {@link https://dom.spec.whatwg.org/#concept-document-limited-quirks}
*/
var DOCUMENT_MODE;
(function(DOCUMENT_MODE) {
	DOCUMENT_MODE["NO_QUIRKS"] = "no-quirks";
	DOCUMENT_MODE["QUIRKS"] = "quirks";
	DOCUMENT_MODE["LIMITED_QUIRKS"] = "limited-quirks";
})(DOCUMENT_MODE || (DOCUMENT_MODE = {}));
var TAG_NAMES;
(function(TAG_NAMES) {
	TAG_NAMES["A"] = "a";
	TAG_NAMES["ADDRESS"] = "address";
	TAG_NAMES["ANNOTATION_XML"] = "annotation-xml";
	TAG_NAMES["APPLET"] = "applet";
	TAG_NAMES["AREA"] = "area";
	TAG_NAMES["ARTICLE"] = "article";
	TAG_NAMES["ASIDE"] = "aside";
	TAG_NAMES["B"] = "b";
	TAG_NAMES["BASE"] = "base";
	TAG_NAMES["BASEFONT"] = "basefont";
	TAG_NAMES["BGSOUND"] = "bgsound";
	TAG_NAMES["BIG"] = "big";
	TAG_NAMES["BLOCKQUOTE"] = "blockquote";
	TAG_NAMES["BODY"] = "body";
	TAG_NAMES["BR"] = "br";
	TAG_NAMES["BUTTON"] = "button";
	TAG_NAMES["CAPTION"] = "caption";
	TAG_NAMES["CENTER"] = "center";
	TAG_NAMES["CODE"] = "code";
	TAG_NAMES["COL"] = "col";
	TAG_NAMES["COLGROUP"] = "colgroup";
	TAG_NAMES["DD"] = "dd";
	TAG_NAMES["DESC"] = "desc";
	TAG_NAMES["DETAILS"] = "details";
	TAG_NAMES["DIALOG"] = "dialog";
	TAG_NAMES["DIR"] = "dir";
	TAG_NAMES["DIV"] = "div";
	TAG_NAMES["DL"] = "dl";
	TAG_NAMES["DT"] = "dt";
	TAG_NAMES["EM"] = "em";
	TAG_NAMES["EMBED"] = "embed";
	TAG_NAMES["FIELDSET"] = "fieldset";
	TAG_NAMES["FIGCAPTION"] = "figcaption";
	TAG_NAMES["FIGURE"] = "figure";
	TAG_NAMES["FONT"] = "font";
	TAG_NAMES["FOOTER"] = "footer";
	TAG_NAMES["FOREIGN_OBJECT"] = "foreignObject";
	TAG_NAMES["FORM"] = "form";
	TAG_NAMES["FRAME"] = "frame";
	TAG_NAMES["FRAMESET"] = "frameset";
	TAG_NAMES["H1"] = "h1";
	TAG_NAMES["H2"] = "h2";
	TAG_NAMES["H3"] = "h3";
	TAG_NAMES["H4"] = "h4";
	TAG_NAMES["H5"] = "h5";
	TAG_NAMES["H6"] = "h6";
	TAG_NAMES["HEAD"] = "head";
	TAG_NAMES["HEADER"] = "header";
	TAG_NAMES["HGROUP"] = "hgroup";
	TAG_NAMES["HR"] = "hr";
	TAG_NAMES["HTML"] = "html";
	TAG_NAMES["I"] = "i";
	TAG_NAMES["IMG"] = "img";
	TAG_NAMES["IMAGE"] = "image";
	TAG_NAMES["INPUT"] = "input";
	TAG_NAMES["IFRAME"] = "iframe";
	TAG_NAMES["KEYGEN"] = "keygen";
	TAG_NAMES["LABEL"] = "label";
	TAG_NAMES["LI"] = "li";
	TAG_NAMES["LINK"] = "link";
	TAG_NAMES["LISTING"] = "listing";
	TAG_NAMES["MAIN"] = "main";
	TAG_NAMES["MALIGNMARK"] = "malignmark";
	TAG_NAMES["MARQUEE"] = "marquee";
	TAG_NAMES["MATH"] = "math";
	TAG_NAMES["MENU"] = "menu";
	TAG_NAMES["META"] = "meta";
	TAG_NAMES["MGLYPH"] = "mglyph";
	TAG_NAMES["MI"] = "mi";
	TAG_NAMES["MO"] = "mo";
	TAG_NAMES["MN"] = "mn";
	TAG_NAMES["MS"] = "ms";
	TAG_NAMES["MTEXT"] = "mtext";
	TAG_NAMES["NAV"] = "nav";
	TAG_NAMES["NOBR"] = "nobr";
	TAG_NAMES["NOFRAMES"] = "noframes";
	TAG_NAMES["NOEMBED"] = "noembed";
	TAG_NAMES["NOSCRIPT"] = "noscript";
	TAG_NAMES["OBJECT"] = "object";
	TAG_NAMES["OL"] = "ol";
	TAG_NAMES["OPTGROUP"] = "optgroup";
	TAG_NAMES["OPTION"] = "option";
	TAG_NAMES["P"] = "p";
	TAG_NAMES["PARAM"] = "param";
	TAG_NAMES["PLAINTEXT"] = "plaintext";
	TAG_NAMES["PRE"] = "pre";
	TAG_NAMES["RB"] = "rb";
	TAG_NAMES["RP"] = "rp";
	TAG_NAMES["RT"] = "rt";
	TAG_NAMES["RTC"] = "rtc";
	TAG_NAMES["RUBY"] = "ruby";
	TAG_NAMES["S"] = "s";
	TAG_NAMES["SCRIPT"] = "script";
	TAG_NAMES["SEARCH"] = "search";
	TAG_NAMES["SECTION"] = "section";
	TAG_NAMES["SELECT"] = "select";
	TAG_NAMES["SOURCE"] = "source";
	TAG_NAMES["SMALL"] = "small";
	TAG_NAMES["SPAN"] = "span";
	TAG_NAMES["STRIKE"] = "strike";
	TAG_NAMES["STRONG"] = "strong";
	TAG_NAMES["STYLE"] = "style";
	TAG_NAMES["SUB"] = "sub";
	TAG_NAMES["SUMMARY"] = "summary";
	TAG_NAMES["SUP"] = "sup";
	TAG_NAMES["TABLE"] = "table";
	TAG_NAMES["TBODY"] = "tbody";
	TAG_NAMES["TEMPLATE"] = "template";
	TAG_NAMES["TEXTAREA"] = "textarea";
	TAG_NAMES["TFOOT"] = "tfoot";
	TAG_NAMES["TD"] = "td";
	TAG_NAMES["TH"] = "th";
	TAG_NAMES["THEAD"] = "thead";
	TAG_NAMES["TITLE"] = "title";
	TAG_NAMES["TR"] = "tr";
	TAG_NAMES["TRACK"] = "track";
	TAG_NAMES["TT"] = "tt";
	TAG_NAMES["U"] = "u";
	TAG_NAMES["UL"] = "ul";
	TAG_NAMES["SVG"] = "svg";
	TAG_NAMES["VAR"] = "var";
	TAG_NAMES["WBR"] = "wbr";
	TAG_NAMES["XMP"] = "xmp";
})(TAG_NAMES || (TAG_NAMES = {}));
/**
* Tag IDs are numeric IDs for known tag names.
*
* We use tag IDs to improve the performance of tag name comparisons.
*/
var TAG_ID;
(function(TAG_ID) {
	TAG_ID[TAG_ID["UNKNOWN"] = 0] = "UNKNOWN";
	TAG_ID[TAG_ID["A"] = 1] = "A";
	TAG_ID[TAG_ID["ADDRESS"] = 2] = "ADDRESS";
	TAG_ID[TAG_ID["ANNOTATION_XML"] = 3] = "ANNOTATION_XML";
	TAG_ID[TAG_ID["APPLET"] = 4] = "APPLET";
	TAG_ID[TAG_ID["AREA"] = 5] = "AREA";
	TAG_ID[TAG_ID["ARTICLE"] = 6] = "ARTICLE";
	TAG_ID[TAG_ID["ASIDE"] = 7] = "ASIDE";
	TAG_ID[TAG_ID["B"] = 8] = "B";
	TAG_ID[TAG_ID["BASE"] = 9] = "BASE";
	TAG_ID[TAG_ID["BASEFONT"] = 10] = "BASEFONT";
	TAG_ID[TAG_ID["BGSOUND"] = 11] = "BGSOUND";
	TAG_ID[TAG_ID["BIG"] = 12] = "BIG";
	TAG_ID[TAG_ID["BLOCKQUOTE"] = 13] = "BLOCKQUOTE";
	TAG_ID[TAG_ID["BODY"] = 14] = "BODY";
	TAG_ID[TAG_ID["BR"] = 15] = "BR";
	TAG_ID[TAG_ID["BUTTON"] = 16] = "BUTTON";
	TAG_ID[TAG_ID["CAPTION"] = 17] = "CAPTION";
	TAG_ID[TAG_ID["CENTER"] = 18] = "CENTER";
	TAG_ID[TAG_ID["CODE"] = 19] = "CODE";
	TAG_ID[TAG_ID["COL"] = 20] = "COL";
	TAG_ID[TAG_ID["COLGROUP"] = 21] = "COLGROUP";
	TAG_ID[TAG_ID["DD"] = 22] = "DD";
	TAG_ID[TAG_ID["DESC"] = 23] = "DESC";
	TAG_ID[TAG_ID["DETAILS"] = 24] = "DETAILS";
	TAG_ID[TAG_ID["DIALOG"] = 25] = "DIALOG";
	TAG_ID[TAG_ID["DIR"] = 26] = "DIR";
	TAG_ID[TAG_ID["DIV"] = 27] = "DIV";
	TAG_ID[TAG_ID["DL"] = 28] = "DL";
	TAG_ID[TAG_ID["DT"] = 29] = "DT";
	TAG_ID[TAG_ID["EM"] = 30] = "EM";
	TAG_ID[TAG_ID["EMBED"] = 31] = "EMBED";
	TAG_ID[TAG_ID["FIELDSET"] = 32] = "FIELDSET";
	TAG_ID[TAG_ID["FIGCAPTION"] = 33] = "FIGCAPTION";
	TAG_ID[TAG_ID["FIGURE"] = 34] = "FIGURE";
	TAG_ID[TAG_ID["FONT"] = 35] = "FONT";
	TAG_ID[TAG_ID["FOOTER"] = 36] = "FOOTER";
	TAG_ID[TAG_ID["FOREIGN_OBJECT"] = 37] = "FOREIGN_OBJECT";
	TAG_ID[TAG_ID["FORM"] = 38] = "FORM";
	TAG_ID[TAG_ID["FRAME"] = 39] = "FRAME";
	TAG_ID[TAG_ID["FRAMESET"] = 40] = "FRAMESET";
	TAG_ID[TAG_ID["H1"] = 41] = "H1";
	TAG_ID[TAG_ID["H2"] = 42] = "H2";
	TAG_ID[TAG_ID["H3"] = 43] = "H3";
	TAG_ID[TAG_ID["H4"] = 44] = "H4";
	TAG_ID[TAG_ID["H5"] = 45] = "H5";
	TAG_ID[TAG_ID["H6"] = 46] = "H6";
	TAG_ID[TAG_ID["HEAD"] = 47] = "HEAD";
	TAG_ID[TAG_ID["HEADER"] = 48] = "HEADER";
	TAG_ID[TAG_ID["HGROUP"] = 49] = "HGROUP";
	TAG_ID[TAG_ID["HR"] = 50] = "HR";
	TAG_ID[TAG_ID["HTML"] = 51] = "HTML";
	TAG_ID[TAG_ID["I"] = 52] = "I";
	TAG_ID[TAG_ID["IMG"] = 53] = "IMG";
	TAG_ID[TAG_ID["IMAGE"] = 54] = "IMAGE";
	TAG_ID[TAG_ID["INPUT"] = 55] = "INPUT";
	TAG_ID[TAG_ID["IFRAME"] = 56] = "IFRAME";
	TAG_ID[TAG_ID["KEYGEN"] = 57] = "KEYGEN";
	TAG_ID[TAG_ID["LABEL"] = 58] = "LABEL";
	TAG_ID[TAG_ID["LI"] = 59] = "LI";
	TAG_ID[TAG_ID["LINK"] = 60] = "LINK";
	TAG_ID[TAG_ID["LISTING"] = 61] = "LISTING";
	TAG_ID[TAG_ID["MAIN"] = 62] = "MAIN";
	TAG_ID[TAG_ID["MALIGNMARK"] = 63] = "MALIGNMARK";
	TAG_ID[TAG_ID["MARQUEE"] = 64] = "MARQUEE";
	TAG_ID[TAG_ID["MATH"] = 65] = "MATH";
	TAG_ID[TAG_ID["MENU"] = 66] = "MENU";
	TAG_ID[TAG_ID["META"] = 67] = "META";
	TAG_ID[TAG_ID["MGLYPH"] = 68] = "MGLYPH";
	TAG_ID[TAG_ID["MI"] = 69] = "MI";
	TAG_ID[TAG_ID["MO"] = 70] = "MO";
	TAG_ID[TAG_ID["MN"] = 71] = "MN";
	TAG_ID[TAG_ID["MS"] = 72] = "MS";
	TAG_ID[TAG_ID["MTEXT"] = 73] = "MTEXT";
	TAG_ID[TAG_ID["NAV"] = 74] = "NAV";
	TAG_ID[TAG_ID["NOBR"] = 75] = "NOBR";
	TAG_ID[TAG_ID["NOFRAMES"] = 76] = "NOFRAMES";
	TAG_ID[TAG_ID["NOEMBED"] = 77] = "NOEMBED";
	TAG_ID[TAG_ID["NOSCRIPT"] = 78] = "NOSCRIPT";
	TAG_ID[TAG_ID["OBJECT"] = 79] = "OBJECT";
	TAG_ID[TAG_ID["OL"] = 80] = "OL";
	TAG_ID[TAG_ID["OPTGROUP"] = 81] = "OPTGROUP";
	TAG_ID[TAG_ID["OPTION"] = 82] = "OPTION";
	TAG_ID[TAG_ID["P"] = 83] = "P";
	TAG_ID[TAG_ID["PARAM"] = 84] = "PARAM";
	TAG_ID[TAG_ID["PLAINTEXT"] = 85] = "PLAINTEXT";
	TAG_ID[TAG_ID["PRE"] = 86] = "PRE";
	TAG_ID[TAG_ID["RB"] = 87] = "RB";
	TAG_ID[TAG_ID["RP"] = 88] = "RP";
	TAG_ID[TAG_ID["RT"] = 89] = "RT";
	TAG_ID[TAG_ID["RTC"] = 90] = "RTC";
	TAG_ID[TAG_ID["RUBY"] = 91] = "RUBY";
	TAG_ID[TAG_ID["S"] = 92] = "S";
	TAG_ID[TAG_ID["SCRIPT"] = 93] = "SCRIPT";
	TAG_ID[TAG_ID["SEARCH"] = 94] = "SEARCH";
	TAG_ID[TAG_ID["SECTION"] = 95] = "SECTION";
	TAG_ID[TAG_ID["SELECT"] = 96] = "SELECT";
	TAG_ID[TAG_ID["SOURCE"] = 97] = "SOURCE";
	TAG_ID[TAG_ID["SMALL"] = 98] = "SMALL";
	TAG_ID[TAG_ID["SPAN"] = 99] = "SPAN";
	TAG_ID[TAG_ID["STRIKE"] = 100] = "STRIKE";
	TAG_ID[TAG_ID["STRONG"] = 101] = "STRONG";
	TAG_ID[TAG_ID["STYLE"] = 102] = "STYLE";
	TAG_ID[TAG_ID["SUB"] = 103] = "SUB";
	TAG_ID[TAG_ID["SUMMARY"] = 104] = "SUMMARY";
	TAG_ID[TAG_ID["SUP"] = 105] = "SUP";
	TAG_ID[TAG_ID["TABLE"] = 106] = "TABLE";
	TAG_ID[TAG_ID["TBODY"] = 107] = "TBODY";
	TAG_ID[TAG_ID["TEMPLATE"] = 108] = "TEMPLATE";
	TAG_ID[TAG_ID["TEXTAREA"] = 109] = "TEXTAREA";
	TAG_ID[TAG_ID["TFOOT"] = 110] = "TFOOT";
	TAG_ID[TAG_ID["TD"] = 111] = "TD";
	TAG_ID[TAG_ID["TH"] = 112] = "TH";
	TAG_ID[TAG_ID["THEAD"] = 113] = "THEAD";
	TAG_ID[TAG_ID["TITLE"] = 114] = "TITLE";
	TAG_ID[TAG_ID["TR"] = 115] = "TR";
	TAG_ID[TAG_ID["TRACK"] = 116] = "TRACK";
	TAG_ID[TAG_ID["TT"] = 117] = "TT";
	TAG_ID[TAG_ID["U"] = 118] = "U";
	TAG_ID[TAG_ID["UL"] = 119] = "UL";
	TAG_ID[TAG_ID["SVG"] = 120] = "SVG";
	TAG_ID[TAG_ID["VAR"] = 121] = "VAR";
	TAG_ID[TAG_ID["WBR"] = 122] = "WBR";
	TAG_ID[TAG_ID["XMP"] = 123] = "XMP";
})(TAG_ID || (TAG_ID = {}));
const TAG_NAME_TO_ID = new Map([
	[TAG_NAMES.A, TAG_ID.A],
	[TAG_NAMES.ADDRESS, TAG_ID.ADDRESS],
	[TAG_NAMES.ANNOTATION_XML, TAG_ID.ANNOTATION_XML],
	[TAG_NAMES.APPLET, TAG_ID.APPLET],
	[TAG_NAMES.AREA, TAG_ID.AREA],
	[TAG_NAMES.ARTICLE, TAG_ID.ARTICLE],
	[TAG_NAMES.ASIDE, TAG_ID.ASIDE],
	[TAG_NAMES.B, TAG_ID.B],
	[TAG_NAMES.BASE, TAG_ID.BASE],
	[TAG_NAMES.BASEFONT, TAG_ID.BASEFONT],
	[TAG_NAMES.BGSOUND, TAG_ID.BGSOUND],
	[TAG_NAMES.BIG, TAG_ID.BIG],
	[TAG_NAMES.BLOCKQUOTE, TAG_ID.BLOCKQUOTE],
	[TAG_NAMES.BODY, TAG_ID.BODY],
	[TAG_NAMES.BR, TAG_ID.BR],
	[TAG_NAMES.BUTTON, TAG_ID.BUTTON],
	[TAG_NAMES.CAPTION, TAG_ID.CAPTION],
	[TAG_NAMES.CENTER, TAG_ID.CENTER],
	[TAG_NAMES.CODE, TAG_ID.CODE],
	[TAG_NAMES.COL, TAG_ID.COL],
	[TAG_NAMES.COLGROUP, TAG_ID.COLGROUP],
	[TAG_NAMES.DD, TAG_ID.DD],
	[TAG_NAMES.DESC, TAG_ID.DESC],
	[TAG_NAMES.DETAILS, TAG_ID.DETAILS],
	[TAG_NAMES.DIALOG, TAG_ID.DIALOG],
	[TAG_NAMES.DIR, TAG_ID.DIR],
	[TAG_NAMES.DIV, TAG_ID.DIV],
	[TAG_NAMES.DL, TAG_ID.DL],
	[TAG_NAMES.DT, TAG_ID.DT],
	[TAG_NAMES.EM, TAG_ID.EM],
	[TAG_NAMES.EMBED, TAG_ID.EMBED],
	[TAG_NAMES.FIELDSET, TAG_ID.FIELDSET],
	[TAG_NAMES.FIGCAPTION, TAG_ID.FIGCAPTION],
	[TAG_NAMES.FIGURE, TAG_ID.FIGURE],
	[TAG_NAMES.FONT, TAG_ID.FONT],
	[TAG_NAMES.FOOTER, TAG_ID.FOOTER],
	[TAG_NAMES.FOREIGN_OBJECT, TAG_ID.FOREIGN_OBJECT],
	[TAG_NAMES.FORM, TAG_ID.FORM],
	[TAG_NAMES.FRAME, TAG_ID.FRAME],
	[TAG_NAMES.FRAMESET, TAG_ID.FRAMESET],
	[TAG_NAMES.H1, TAG_ID.H1],
	[TAG_NAMES.H2, TAG_ID.H2],
	[TAG_NAMES.H3, TAG_ID.H3],
	[TAG_NAMES.H4, TAG_ID.H4],
	[TAG_NAMES.H5, TAG_ID.H5],
	[TAG_NAMES.H6, TAG_ID.H6],
	[TAG_NAMES.HEAD, TAG_ID.HEAD],
	[TAG_NAMES.HEADER, TAG_ID.HEADER],
	[TAG_NAMES.HGROUP, TAG_ID.HGROUP],
	[TAG_NAMES.HR, TAG_ID.HR],
	[TAG_NAMES.HTML, TAG_ID.HTML],
	[TAG_NAMES.I, TAG_ID.I],
	[TAG_NAMES.IMG, TAG_ID.IMG],
	[TAG_NAMES.IMAGE, TAG_ID.IMAGE],
	[TAG_NAMES.INPUT, TAG_ID.INPUT],
	[TAG_NAMES.IFRAME, TAG_ID.IFRAME],
	[TAG_NAMES.KEYGEN, TAG_ID.KEYGEN],
	[TAG_NAMES.LABEL, TAG_ID.LABEL],
	[TAG_NAMES.LI, TAG_ID.LI],
	[TAG_NAMES.LINK, TAG_ID.LINK],
	[TAG_NAMES.LISTING, TAG_ID.LISTING],
	[TAG_NAMES.MAIN, TAG_ID.MAIN],
	[TAG_NAMES.MALIGNMARK, TAG_ID.MALIGNMARK],
	[TAG_NAMES.MARQUEE, TAG_ID.MARQUEE],
	[TAG_NAMES.MATH, TAG_ID.MATH],
	[TAG_NAMES.MENU, TAG_ID.MENU],
	[TAG_NAMES.META, TAG_ID.META],
	[TAG_NAMES.MGLYPH, TAG_ID.MGLYPH],
	[TAG_NAMES.MI, TAG_ID.MI],
	[TAG_NAMES.MO, TAG_ID.MO],
	[TAG_NAMES.MN, TAG_ID.MN],
	[TAG_NAMES.MS, TAG_ID.MS],
	[TAG_NAMES.MTEXT, TAG_ID.MTEXT],
	[TAG_NAMES.NAV, TAG_ID.NAV],
	[TAG_NAMES.NOBR, TAG_ID.NOBR],
	[TAG_NAMES.NOFRAMES, TAG_ID.NOFRAMES],
	[TAG_NAMES.NOEMBED, TAG_ID.NOEMBED],
	[TAG_NAMES.NOSCRIPT, TAG_ID.NOSCRIPT],
	[TAG_NAMES.OBJECT, TAG_ID.OBJECT],
	[TAG_NAMES.OL, TAG_ID.OL],
	[TAG_NAMES.OPTGROUP, TAG_ID.OPTGROUP],
	[TAG_NAMES.OPTION, TAG_ID.OPTION],
	[TAG_NAMES.P, TAG_ID.P],
	[TAG_NAMES.PARAM, TAG_ID.PARAM],
	[TAG_NAMES.PLAINTEXT, TAG_ID.PLAINTEXT],
	[TAG_NAMES.PRE, TAG_ID.PRE],
	[TAG_NAMES.RB, TAG_ID.RB],
	[TAG_NAMES.RP, TAG_ID.RP],
	[TAG_NAMES.RT, TAG_ID.RT],
	[TAG_NAMES.RTC, TAG_ID.RTC],
	[TAG_NAMES.RUBY, TAG_ID.RUBY],
	[TAG_NAMES.S, TAG_ID.S],
	[TAG_NAMES.SCRIPT, TAG_ID.SCRIPT],
	[TAG_NAMES.SEARCH, TAG_ID.SEARCH],
	[TAG_NAMES.SECTION, TAG_ID.SECTION],
	[TAG_NAMES.SELECT, TAG_ID.SELECT],
	[TAG_NAMES.SOURCE, TAG_ID.SOURCE],
	[TAG_NAMES.SMALL, TAG_ID.SMALL],
	[TAG_NAMES.SPAN, TAG_ID.SPAN],
	[TAG_NAMES.STRIKE, TAG_ID.STRIKE],
	[TAG_NAMES.STRONG, TAG_ID.STRONG],
	[TAG_NAMES.STYLE, TAG_ID.STYLE],
	[TAG_NAMES.SUB, TAG_ID.SUB],
	[TAG_NAMES.SUMMARY, TAG_ID.SUMMARY],
	[TAG_NAMES.SUP, TAG_ID.SUP],
	[TAG_NAMES.TABLE, TAG_ID.TABLE],
	[TAG_NAMES.TBODY, TAG_ID.TBODY],
	[TAG_NAMES.TEMPLATE, TAG_ID.TEMPLATE],
	[TAG_NAMES.TEXTAREA, TAG_ID.TEXTAREA],
	[TAG_NAMES.TFOOT, TAG_ID.TFOOT],
	[TAG_NAMES.TD, TAG_ID.TD],
	[TAG_NAMES.TH, TAG_ID.TH],
	[TAG_NAMES.THEAD, TAG_ID.THEAD],
	[TAG_NAMES.TITLE, TAG_ID.TITLE],
	[TAG_NAMES.TR, TAG_ID.TR],
	[TAG_NAMES.TRACK, TAG_ID.TRACK],
	[TAG_NAMES.TT, TAG_ID.TT],
	[TAG_NAMES.U, TAG_ID.U],
	[TAG_NAMES.UL, TAG_ID.UL],
	[TAG_NAMES.SVG, TAG_ID.SVG],
	[TAG_NAMES.VAR, TAG_ID.VAR],
	[TAG_NAMES.WBR, TAG_ID.WBR],
	[TAG_NAMES.XMP, TAG_ID.XMP]
]);
function getTagID(tagName) {
	var _a;
	return (_a = TAG_NAME_TO_ID.get(tagName)) !== null && _a !== void 0 ? _a : TAG_ID.UNKNOWN;
}
const $$2 = TAG_ID;
const SPECIAL_ELEMENTS = {
	[NS.HTML]: new Set([
		$$2.ADDRESS,
		$$2.APPLET,
		$$2.AREA,
		$$2.ARTICLE,
		$$2.ASIDE,
		$$2.BASE,
		$$2.BASEFONT,
		$$2.BGSOUND,
		$$2.BLOCKQUOTE,
		$$2.BODY,
		$$2.BR,
		$$2.BUTTON,
		$$2.CAPTION,
		$$2.CENTER,
		$$2.COL,
		$$2.COLGROUP,
		$$2.DD,
		$$2.DETAILS,
		$$2.DIR,
		$$2.DIV,
		$$2.DL,
		$$2.DT,
		$$2.EMBED,
		$$2.FIELDSET,
		$$2.FIGCAPTION,
		$$2.FIGURE,
		$$2.FOOTER,
		$$2.FORM,
		$$2.FRAME,
		$$2.FRAMESET,
		$$2.H1,
		$$2.H2,
		$$2.H3,
		$$2.H4,
		$$2.H5,
		$$2.H6,
		$$2.HEAD,
		$$2.HEADER,
		$$2.HGROUP,
		$$2.HR,
		$$2.HTML,
		$$2.IFRAME,
		$$2.IMG,
		$$2.INPUT,
		$$2.LI,
		$$2.LINK,
		$$2.LISTING,
		$$2.MAIN,
		$$2.MARQUEE,
		$$2.MENU,
		$$2.META,
		$$2.NAV,
		$$2.NOEMBED,
		$$2.NOFRAMES,
		$$2.NOSCRIPT,
		$$2.OBJECT,
		$$2.OL,
		$$2.P,
		$$2.PARAM,
		$$2.PLAINTEXT,
		$$2.PRE,
		$$2.SCRIPT,
		$$2.SECTION,
		$$2.SELECT,
		$$2.SOURCE,
		$$2.STYLE,
		$$2.SUMMARY,
		$$2.TABLE,
		$$2.TBODY,
		$$2.TD,
		$$2.TEMPLATE,
		$$2.TEXTAREA,
		$$2.TFOOT,
		$$2.TH,
		$$2.THEAD,
		$$2.TITLE,
		$$2.TR,
		$$2.TRACK,
		$$2.UL,
		$$2.WBR,
		$$2.XMP
	]),
	[NS.MATHML]: new Set([
		$$2.MI,
		$$2.MO,
		$$2.MN,
		$$2.MS,
		$$2.MTEXT,
		$$2.ANNOTATION_XML
	]),
	[NS.SVG]: new Set([
		$$2.TITLE,
		$$2.FOREIGN_OBJECT,
		$$2.DESC
	]),
	[NS.XLINK]: new Set(),
	[NS.XML]: new Set(),
	[NS.XMLNS]: new Set()
};
const NUMBERED_HEADERS = new Set([
	$$2.H1,
	$$2.H2,
	$$2.H3,
	$$2.H4,
	$$2.H5,
	$$2.H6
]);
const UNESCAPED_TEXT = new Set([
	TAG_NAMES.STYLE,
	TAG_NAMES.SCRIPT,
	TAG_NAMES.XMP,
	TAG_NAMES.IFRAME,
	TAG_NAMES.NOEMBED,
	TAG_NAMES.NOFRAMES,
	TAG_NAMES.PLAINTEXT
]);
function hasUnescapedText(tn, scriptingEnabled) {
	return UNESCAPED_TEXT.has(tn) || scriptingEnabled && tn === TAG_NAMES.NOSCRIPT;
}

//#endregion
//#region ../node_modules/parse5/dist/tokenizer/index.js
var State$1;
(function(State) {
	State[State["DATA"] = 0] = "DATA";
	State[State["RCDATA"] = 1] = "RCDATA";
	State[State["RAWTEXT"] = 2] = "RAWTEXT";
	State[State["SCRIPT_DATA"] = 3] = "SCRIPT_DATA";
	State[State["PLAINTEXT"] = 4] = "PLAINTEXT";
	State[State["TAG_OPEN"] = 5] = "TAG_OPEN";
	State[State["END_TAG_OPEN"] = 6] = "END_TAG_OPEN";
	State[State["TAG_NAME"] = 7] = "TAG_NAME";
	State[State["RCDATA_LESS_THAN_SIGN"] = 8] = "RCDATA_LESS_THAN_SIGN";
	State[State["RCDATA_END_TAG_OPEN"] = 9] = "RCDATA_END_TAG_OPEN";
	State[State["RCDATA_END_TAG_NAME"] = 10] = "RCDATA_END_TAG_NAME";
	State[State["RAWTEXT_LESS_THAN_SIGN"] = 11] = "RAWTEXT_LESS_THAN_SIGN";
	State[State["RAWTEXT_END_TAG_OPEN"] = 12] = "RAWTEXT_END_TAG_OPEN";
	State[State["RAWTEXT_END_TAG_NAME"] = 13] = "RAWTEXT_END_TAG_NAME";
	State[State["SCRIPT_DATA_LESS_THAN_SIGN"] = 14] = "SCRIPT_DATA_LESS_THAN_SIGN";
	State[State["SCRIPT_DATA_END_TAG_OPEN"] = 15] = "SCRIPT_DATA_END_TAG_OPEN";
	State[State["SCRIPT_DATA_END_TAG_NAME"] = 16] = "SCRIPT_DATA_END_TAG_NAME";
	State[State["SCRIPT_DATA_ESCAPE_START"] = 17] = "SCRIPT_DATA_ESCAPE_START";
	State[State["SCRIPT_DATA_ESCAPE_START_DASH"] = 18] = "SCRIPT_DATA_ESCAPE_START_DASH";
	State[State["SCRIPT_DATA_ESCAPED"] = 19] = "SCRIPT_DATA_ESCAPED";
	State[State["SCRIPT_DATA_ESCAPED_DASH"] = 20] = "SCRIPT_DATA_ESCAPED_DASH";
	State[State["SCRIPT_DATA_ESCAPED_DASH_DASH"] = 21] = "SCRIPT_DATA_ESCAPED_DASH_DASH";
	State[State["SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN"] = 22] = "SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN";
	State[State["SCRIPT_DATA_ESCAPED_END_TAG_OPEN"] = 23] = "SCRIPT_DATA_ESCAPED_END_TAG_OPEN";
	State[State["SCRIPT_DATA_ESCAPED_END_TAG_NAME"] = 24] = "SCRIPT_DATA_ESCAPED_END_TAG_NAME";
	State[State["SCRIPT_DATA_DOUBLE_ESCAPE_START"] = 25] = "SCRIPT_DATA_DOUBLE_ESCAPE_START";
	State[State["SCRIPT_DATA_DOUBLE_ESCAPED"] = 26] = "SCRIPT_DATA_DOUBLE_ESCAPED";
	State[State["SCRIPT_DATA_DOUBLE_ESCAPED_DASH"] = 27] = "SCRIPT_DATA_DOUBLE_ESCAPED_DASH";
	State[State["SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH"] = 28] = "SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH";
	State[State["SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN"] = 29] = "SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN";
	State[State["SCRIPT_DATA_DOUBLE_ESCAPE_END"] = 30] = "SCRIPT_DATA_DOUBLE_ESCAPE_END";
	State[State["BEFORE_ATTRIBUTE_NAME"] = 31] = "BEFORE_ATTRIBUTE_NAME";
	State[State["ATTRIBUTE_NAME"] = 32] = "ATTRIBUTE_NAME";
	State[State["AFTER_ATTRIBUTE_NAME"] = 33] = "AFTER_ATTRIBUTE_NAME";
	State[State["BEFORE_ATTRIBUTE_VALUE"] = 34] = "BEFORE_ATTRIBUTE_VALUE";
	State[State["ATTRIBUTE_VALUE_DOUBLE_QUOTED"] = 35] = "ATTRIBUTE_VALUE_DOUBLE_QUOTED";
	State[State["ATTRIBUTE_VALUE_SINGLE_QUOTED"] = 36] = "ATTRIBUTE_VALUE_SINGLE_QUOTED";
	State[State["ATTRIBUTE_VALUE_UNQUOTED"] = 37] = "ATTRIBUTE_VALUE_UNQUOTED";
	State[State["AFTER_ATTRIBUTE_VALUE_QUOTED"] = 38] = "AFTER_ATTRIBUTE_VALUE_QUOTED";
	State[State["SELF_CLOSING_START_TAG"] = 39] = "SELF_CLOSING_START_TAG";
	State[State["BOGUS_COMMENT"] = 40] = "BOGUS_COMMENT";
	State[State["MARKUP_DECLARATION_OPEN"] = 41] = "MARKUP_DECLARATION_OPEN";
	State[State["COMMENT_START"] = 42] = "COMMENT_START";
	State[State["COMMENT_START_DASH"] = 43] = "COMMENT_START_DASH";
	State[State["COMMENT"] = 44] = "COMMENT";
	State[State["COMMENT_LESS_THAN_SIGN"] = 45] = "COMMENT_LESS_THAN_SIGN";
	State[State["COMMENT_LESS_THAN_SIGN_BANG"] = 46] = "COMMENT_LESS_THAN_SIGN_BANG";
	State[State["COMMENT_LESS_THAN_SIGN_BANG_DASH"] = 47] = "COMMENT_LESS_THAN_SIGN_BANG_DASH";
	State[State["COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH"] = 48] = "COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH";
	State[State["COMMENT_END_DASH"] = 49] = "COMMENT_END_DASH";
	State[State["COMMENT_END"] = 50] = "COMMENT_END";
	State[State["COMMENT_END_BANG"] = 51] = "COMMENT_END_BANG";
	State[State["DOCTYPE"] = 52] = "DOCTYPE";
	State[State["BEFORE_DOCTYPE_NAME"] = 53] = "BEFORE_DOCTYPE_NAME";
	State[State["DOCTYPE_NAME"] = 54] = "DOCTYPE_NAME";
	State[State["AFTER_DOCTYPE_NAME"] = 55] = "AFTER_DOCTYPE_NAME";
	State[State["AFTER_DOCTYPE_PUBLIC_KEYWORD"] = 56] = "AFTER_DOCTYPE_PUBLIC_KEYWORD";
	State[State["BEFORE_DOCTYPE_PUBLIC_IDENTIFIER"] = 57] = "BEFORE_DOCTYPE_PUBLIC_IDENTIFIER";
	State[State["DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED"] = 58] = "DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED";
	State[State["DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED"] = 59] = "DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED";
	State[State["AFTER_DOCTYPE_PUBLIC_IDENTIFIER"] = 60] = "AFTER_DOCTYPE_PUBLIC_IDENTIFIER";
	State[State["BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS"] = 61] = "BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS";
	State[State["AFTER_DOCTYPE_SYSTEM_KEYWORD"] = 62] = "AFTER_DOCTYPE_SYSTEM_KEYWORD";
	State[State["BEFORE_DOCTYPE_SYSTEM_IDENTIFIER"] = 63] = "BEFORE_DOCTYPE_SYSTEM_IDENTIFIER";
	State[State["DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED"] = 64] = "DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED";
	State[State["DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED"] = 65] = "DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED";
	State[State["AFTER_DOCTYPE_SYSTEM_IDENTIFIER"] = 66] = "AFTER_DOCTYPE_SYSTEM_IDENTIFIER";
	State[State["BOGUS_DOCTYPE"] = 67] = "BOGUS_DOCTYPE";
	State[State["CDATA_SECTION"] = 68] = "CDATA_SECTION";
	State[State["CDATA_SECTION_BRACKET"] = 69] = "CDATA_SECTION_BRACKET";
	State[State["CDATA_SECTION_END"] = 70] = "CDATA_SECTION_END";
	State[State["CHARACTER_REFERENCE"] = 71] = "CHARACTER_REFERENCE";
	State[State["AMBIGUOUS_AMPERSAND"] = 72] = "AMBIGUOUS_AMPERSAND";
})(State$1 || (State$1 = {}));
const TokenizerMode = {
	DATA: State$1.DATA,
	RCDATA: State$1.RCDATA,
	RAWTEXT: State$1.RAWTEXT,
	SCRIPT_DATA: State$1.SCRIPT_DATA,
	PLAINTEXT: State$1.PLAINTEXT,
	CDATA_SECTION: State$1.CDATA_SECTION
};
function isAsciiDigit(cp) {
	return cp >= CODE_POINTS.DIGIT_0 && cp <= CODE_POINTS.DIGIT_9;
}
function isAsciiUpper(cp) {
	return cp >= CODE_POINTS.LATIN_CAPITAL_A && cp <= CODE_POINTS.LATIN_CAPITAL_Z;
}
function isAsciiLower(cp) {
	return cp >= CODE_POINTS.LATIN_SMALL_A && cp <= CODE_POINTS.LATIN_SMALL_Z;
}
function isAsciiLetter(cp) {
	return isAsciiLower(cp) || isAsciiUpper(cp);
}
function isAsciiAlphaNumeric(cp) {
	return isAsciiLetter(cp) || isAsciiDigit(cp);
}
function toAsciiLower(cp) {
	return cp + 32;
}
function isWhitespace(cp) {
	return cp === CODE_POINTS.SPACE || cp === CODE_POINTS.LINE_FEED || cp === CODE_POINTS.TABULATION || cp === CODE_POINTS.FORM_FEED;
}
function isScriptDataDoubleEscapeSequenceEnd(cp) {
	return isWhitespace(cp) || cp === CODE_POINTS.SOLIDUS || cp === CODE_POINTS.GREATER_THAN_SIGN;
}
function getErrorForNumericCharacterReference(code) {
	if (code === CODE_POINTS.NULL) {
		return ERR.nullCharacterReference;
	} else if (code > 1114111) {
		return ERR.characterReferenceOutsideUnicodeRange;
	} else if (isSurrogate(code)) {
		return ERR.surrogateCharacterReference;
	} else if (isUndefinedCodePoint(code)) {
		return ERR.noncharacterCharacterReference;
	} else if (isControlCodePoint(code) || code === CODE_POINTS.CARRIAGE_RETURN) {
		return ERR.controlCharacterReference;
	}
	return null;
}
var Tokenizer = class {
	constructor(options, handler) {
		this.options = options;
		this.handler = handler;
		this.paused = false;
		/** Ensures that the parsing loop isn't run multiple times at once. */
		this.inLoop = false;
		/**
		* Indicates that the current adjusted node exists, is not an element in the HTML namespace,
		* and that it is not an integration point for either MathML or HTML.
		*
		* @see {@link https://html.spec.whatwg.org/multipage/parsing.html#tree-construction}
		*/
		this.inForeignNode = false;
		this.lastStartTagName = "";
		this.active = false;
		this.state = State$1.DATA;
		this.returnState = State$1.DATA;
		this.entityStartPos = 0;
		this.consumedAfterSnapshot = -1;
		this.currentCharacterToken = null;
		this.currentToken = null;
		this.currentAttr = {
			name: "",
			value: ""
		};
		this.preprocessor = new Preprocessor(handler);
		this.currentLocation = this.getCurrentLocation(-1);
		this.entityDecoder = new EntityDecoder(htmlDecodeTree, (cp, consumed) => {
			this.preprocessor.pos = this.entityStartPos + consumed - 1;
			this._flushCodePointConsumedAsCharacterReference(cp);
		}, handler.onParseError ? {
			missingSemicolonAfterCharacterReference: () => {
				this._err(ERR.missingSemicolonAfterCharacterReference, 1);
			},
			absenceOfDigitsInNumericCharacterReference: (consumed) => {
				this._err(ERR.absenceOfDigitsInNumericCharacterReference, this.entityStartPos - this.preprocessor.pos + consumed);
			},
			validateNumericCharacterReference: (code) => {
				const error = getErrorForNumericCharacterReference(code);
				if (error) this._err(error, 1);
			}
		} : undefined);
	}
	_err(code, cpOffset = 0) {
		var _a, _b;
		(_b = (_a = this.handler).onParseError) === null || _b === void 0 ? void 0 : _b.call(_a, this.preprocessor.getError(code, cpOffset));
	}
	getCurrentLocation(offset) {
		if (!this.options.sourceCodeLocationInfo) {
			return null;
		}
		return {
			startLine: this.preprocessor.line,
			startCol: this.preprocessor.col - offset,
			startOffset: this.preprocessor.offset - offset,
			endLine: -1,
			endCol: -1,
			endOffset: -1
		};
	}
	_runParsingLoop() {
		if (this.inLoop) return;
		this.inLoop = true;
		while (this.active && !this.paused) {
			this.consumedAfterSnapshot = 0;
			const cp = this._consume();
			if (!this._ensureHibernation()) {
				this._callState(cp);
			}
		}
		this.inLoop = false;
	}
	pause() {
		this.paused = true;
	}
	resume(writeCallback) {
		if (!this.paused) {
			throw new Error("Parser was already resumed");
		}
		this.paused = false;
		if (this.inLoop) return;
		this._runParsingLoop();
		if (!this.paused) {
			writeCallback === null || writeCallback === void 0 ? void 0 : writeCallback();
		}
	}
	write(chunk, isLastChunk, writeCallback) {
		this.active = true;
		this.preprocessor.write(chunk, isLastChunk);
		this._runParsingLoop();
		if (!this.paused) {
			writeCallback === null || writeCallback === void 0 ? void 0 : writeCallback();
		}
	}
	insertHtmlAtCurrentPos(chunk) {
		this.active = true;
		this.preprocessor.insertHtmlAtCurrentPos(chunk);
		this._runParsingLoop();
	}
	_ensureHibernation() {
		if (this.preprocessor.endOfChunkHit) {
			this.preprocessor.retreat(this.consumedAfterSnapshot);
			this.consumedAfterSnapshot = 0;
			this.active = false;
			return true;
		}
		return false;
	}
	_consume() {
		this.consumedAfterSnapshot++;
		return this.preprocessor.advance();
	}
	_advanceBy(count) {
		this.consumedAfterSnapshot += count;
		for (let i = 0; i < count; i++) {
			this.preprocessor.advance();
		}
	}
	_consumeSequenceIfMatch(pattern, caseSensitive) {
		if (this.preprocessor.startsWith(pattern, caseSensitive)) {
			this._advanceBy(pattern.length - 1);
			return true;
		}
		return false;
	}
	_createStartTagToken() {
		this.currentToken = {
			type: TokenType.START_TAG,
			tagName: "",
			tagID: TAG_ID.UNKNOWN,
			selfClosing: false,
			ackSelfClosing: false,
			attrs: [],
			location: this.getCurrentLocation(1)
		};
	}
	_createEndTagToken() {
		this.currentToken = {
			type: TokenType.END_TAG,
			tagName: "",
			tagID: TAG_ID.UNKNOWN,
			selfClosing: false,
			ackSelfClosing: false,
			attrs: [],
			location: this.getCurrentLocation(2)
		};
	}
	_createCommentToken(offset) {
		this.currentToken = {
			type: TokenType.COMMENT,
			data: "",
			location: this.getCurrentLocation(offset)
		};
	}
	_createDoctypeToken(initialName) {
		this.currentToken = {
			type: TokenType.DOCTYPE,
			name: initialName,
			forceQuirks: false,
			publicId: null,
			systemId: null,
			location: this.currentLocation
		};
	}
	_createCharacterToken(type, chars) {
		this.currentCharacterToken = {
			type,
			chars,
			location: this.currentLocation
		};
	}
	_createAttr(attrNameFirstCh) {
		this.currentAttr = {
			name: attrNameFirstCh,
			value: ""
		};
		this.currentLocation = this.getCurrentLocation(0);
	}
	_leaveAttrName() {
		var _a;
		var _b;
		const token = this.currentToken;
		if (getTokenAttr(token, this.currentAttr.name) === null) {
			token.attrs.push(this.currentAttr);
			if (token.location && this.currentLocation) {
				const attrLocations = (_a = (_b = token.location).attrs) !== null && _a !== void 0 ? _a : _b.attrs = Object.create(null);
				attrLocations[this.currentAttr.name] = this.currentLocation;
				this._leaveAttrValue();
			}
		} else {
			this._err(ERR.duplicateAttribute);
		}
	}
	_leaveAttrValue() {
		if (this.currentLocation) {
			this.currentLocation.endLine = this.preprocessor.line;
			this.currentLocation.endCol = this.preprocessor.col;
			this.currentLocation.endOffset = this.preprocessor.offset;
		}
	}
	prepareToken(ct) {
		this._emitCurrentCharacterToken(ct.location);
		this.currentToken = null;
		if (ct.location) {
			ct.location.endLine = this.preprocessor.line;
			ct.location.endCol = this.preprocessor.col + 1;
			ct.location.endOffset = this.preprocessor.offset + 1;
		}
		this.currentLocation = this.getCurrentLocation(-1);
	}
	emitCurrentTagToken() {
		const ct = this.currentToken;
		this.prepareToken(ct);
		ct.tagID = getTagID(ct.tagName);
		if (ct.type === TokenType.START_TAG) {
			this.lastStartTagName = ct.tagName;
			this.handler.onStartTag(ct);
		} else {
			if (ct.attrs.length > 0) {
				this._err(ERR.endTagWithAttributes);
			}
			if (ct.selfClosing) {
				this._err(ERR.endTagWithTrailingSolidus);
			}
			this.handler.onEndTag(ct);
		}
		this.preprocessor.dropParsedChunk();
	}
	emitCurrentComment(ct) {
		this.prepareToken(ct);
		this.handler.onComment(ct);
		this.preprocessor.dropParsedChunk();
	}
	emitCurrentDoctype(ct) {
		this.prepareToken(ct);
		this.handler.onDoctype(ct);
		this.preprocessor.dropParsedChunk();
	}
	_emitCurrentCharacterToken(nextLocation) {
		if (this.currentCharacterToken) {
			if (nextLocation && this.currentCharacterToken.location) {
				this.currentCharacterToken.location.endLine = nextLocation.startLine;
				this.currentCharacterToken.location.endCol = nextLocation.startCol;
				this.currentCharacterToken.location.endOffset = nextLocation.startOffset;
			}
			switch (this.currentCharacterToken.type) {
				case TokenType.CHARACTER: {
					this.handler.onCharacter(this.currentCharacterToken);
					break;
				}
				case TokenType.NULL_CHARACTER: {
					this.handler.onNullCharacter(this.currentCharacterToken);
					break;
				}
				case TokenType.WHITESPACE_CHARACTER: {
					this.handler.onWhitespaceCharacter(this.currentCharacterToken);
					break;
				}
			}
			this.currentCharacterToken = null;
		}
	}
	_emitEOFToken() {
		const location = this.getCurrentLocation(0);
		if (location) {
			location.endLine = location.startLine;
			location.endCol = location.startCol;
			location.endOffset = location.startOffset;
		}
		this._emitCurrentCharacterToken(location);
		this.handler.onEof({
			type: TokenType.EOF,
			location
		});
		this.active = false;
	}
	_appendCharToCurrentCharacterToken(type, ch) {
		if (this.currentCharacterToken) {
			if (this.currentCharacterToken.type === type) {
				this.currentCharacterToken.chars += ch;
				return;
			} else {
				this.currentLocation = this.getCurrentLocation(0);
				this._emitCurrentCharacterToken(this.currentLocation);
				this.preprocessor.dropParsedChunk();
			}
		}
		this._createCharacterToken(type, ch);
	}
	_emitCodePoint(cp) {
		const type = isWhitespace(cp) ? TokenType.WHITESPACE_CHARACTER : cp === CODE_POINTS.NULL ? TokenType.NULL_CHARACTER : TokenType.CHARACTER;
		this._appendCharToCurrentCharacterToken(type, String.fromCodePoint(cp));
	}
	_emitChars(ch) {
		this._appendCharToCurrentCharacterToken(TokenType.CHARACTER, ch);
	}
	_startCharacterReference() {
		this.returnState = this.state;
		this.state = State$1.CHARACTER_REFERENCE;
		this.entityStartPos = this.preprocessor.pos;
		this.entityDecoder.startEntity(this._isCharacterReferenceInAttribute() ? DecodingMode.Attribute : DecodingMode.Legacy);
	}
	_isCharacterReferenceInAttribute() {
		return this.returnState === State$1.ATTRIBUTE_VALUE_DOUBLE_QUOTED || this.returnState === State$1.ATTRIBUTE_VALUE_SINGLE_QUOTED || this.returnState === State$1.ATTRIBUTE_VALUE_UNQUOTED;
	}
	_flushCodePointConsumedAsCharacterReference(cp) {
		if (this._isCharacterReferenceInAttribute()) {
			this.currentAttr.value += String.fromCodePoint(cp);
		} else {
			this._emitCodePoint(cp);
		}
	}
	_callState(cp) {
		switch (this.state) {
			case State$1.DATA: {
				this._stateData(cp);
				break;
			}
			case State$1.RCDATA: {
				this._stateRcdata(cp);
				break;
			}
			case State$1.RAWTEXT: {
				this._stateRawtext(cp);
				break;
			}
			case State$1.SCRIPT_DATA: {
				this._stateScriptData(cp);
				break;
			}
			case State$1.PLAINTEXT: {
				this._statePlaintext(cp);
				break;
			}
			case State$1.TAG_OPEN: {
				this._stateTagOpen(cp);
				break;
			}
			case State$1.END_TAG_OPEN: {
				this._stateEndTagOpen(cp);
				break;
			}
			case State$1.TAG_NAME: {
				this._stateTagName(cp);
				break;
			}
			case State$1.RCDATA_LESS_THAN_SIGN: {
				this._stateRcdataLessThanSign(cp);
				break;
			}
			case State$1.RCDATA_END_TAG_OPEN: {
				this._stateRcdataEndTagOpen(cp);
				break;
			}
			case State$1.RCDATA_END_TAG_NAME: {
				this._stateRcdataEndTagName(cp);
				break;
			}
			case State$1.RAWTEXT_LESS_THAN_SIGN: {
				this._stateRawtextLessThanSign(cp);
				break;
			}
			case State$1.RAWTEXT_END_TAG_OPEN: {
				this._stateRawtextEndTagOpen(cp);
				break;
			}
			case State$1.RAWTEXT_END_TAG_NAME: {
				this._stateRawtextEndTagName(cp);
				break;
			}
			case State$1.SCRIPT_DATA_LESS_THAN_SIGN: {
				this._stateScriptDataLessThanSign(cp);
				break;
			}
			case State$1.SCRIPT_DATA_END_TAG_OPEN: {
				this._stateScriptDataEndTagOpen(cp);
				break;
			}
			case State$1.SCRIPT_DATA_END_TAG_NAME: {
				this._stateScriptDataEndTagName(cp);
				break;
			}
			case State$1.SCRIPT_DATA_ESCAPE_START: {
				this._stateScriptDataEscapeStart(cp);
				break;
			}
			case State$1.SCRIPT_DATA_ESCAPE_START_DASH: {
				this._stateScriptDataEscapeStartDash(cp);
				break;
			}
			case State$1.SCRIPT_DATA_ESCAPED: {
				this._stateScriptDataEscaped(cp);
				break;
			}
			case State$1.SCRIPT_DATA_ESCAPED_DASH: {
				this._stateScriptDataEscapedDash(cp);
				break;
			}
			case State$1.SCRIPT_DATA_ESCAPED_DASH_DASH: {
				this._stateScriptDataEscapedDashDash(cp);
				break;
			}
			case State$1.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN: {
				this._stateScriptDataEscapedLessThanSign(cp);
				break;
			}
			case State$1.SCRIPT_DATA_ESCAPED_END_TAG_OPEN: {
				this._stateScriptDataEscapedEndTagOpen(cp);
				break;
			}
			case State$1.SCRIPT_DATA_ESCAPED_END_TAG_NAME: {
				this._stateScriptDataEscapedEndTagName(cp);
				break;
			}
			case State$1.SCRIPT_DATA_DOUBLE_ESCAPE_START: {
				this._stateScriptDataDoubleEscapeStart(cp);
				break;
			}
			case State$1.SCRIPT_DATA_DOUBLE_ESCAPED: {
				this._stateScriptDataDoubleEscaped(cp);
				break;
			}
			case State$1.SCRIPT_DATA_DOUBLE_ESCAPED_DASH: {
				this._stateScriptDataDoubleEscapedDash(cp);
				break;
			}
			case State$1.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH: {
				this._stateScriptDataDoubleEscapedDashDash(cp);
				break;
			}
			case State$1.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN: {
				this._stateScriptDataDoubleEscapedLessThanSign(cp);
				break;
			}
			case State$1.SCRIPT_DATA_DOUBLE_ESCAPE_END: {
				this._stateScriptDataDoubleEscapeEnd(cp);
				break;
			}
			case State$1.BEFORE_ATTRIBUTE_NAME: {
				this._stateBeforeAttributeName(cp);
				break;
			}
			case State$1.ATTRIBUTE_NAME: {
				this._stateAttributeName(cp);
				break;
			}
			case State$1.AFTER_ATTRIBUTE_NAME: {
				this._stateAfterAttributeName(cp);
				break;
			}
			case State$1.BEFORE_ATTRIBUTE_VALUE: {
				this._stateBeforeAttributeValue(cp);
				break;
			}
			case State$1.ATTRIBUTE_VALUE_DOUBLE_QUOTED: {
				this._stateAttributeValueDoubleQuoted(cp);
				break;
			}
			case State$1.ATTRIBUTE_VALUE_SINGLE_QUOTED: {
				this._stateAttributeValueSingleQuoted(cp);
				break;
			}
			case State$1.ATTRIBUTE_VALUE_UNQUOTED: {
				this._stateAttributeValueUnquoted(cp);
				break;
			}
			case State$1.AFTER_ATTRIBUTE_VALUE_QUOTED: {
				this._stateAfterAttributeValueQuoted(cp);
				break;
			}
			case State$1.SELF_CLOSING_START_TAG: {
				this._stateSelfClosingStartTag(cp);
				break;
			}
			case State$1.BOGUS_COMMENT: {
				this._stateBogusComment(cp);
				break;
			}
			case State$1.MARKUP_DECLARATION_OPEN: {
				this._stateMarkupDeclarationOpen(cp);
				break;
			}
			case State$1.COMMENT_START: {
				this._stateCommentStart(cp);
				break;
			}
			case State$1.COMMENT_START_DASH: {
				this._stateCommentStartDash(cp);
				break;
			}
			case State$1.COMMENT: {
				this._stateComment(cp);
				break;
			}
			case State$1.COMMENT_LESS_THAN_SIGN: {
				this._stateCommentLessThanSign(cp);
				break;
			}
			case State$1.COMMENT_LESS_THAN_SIGN_BANG: {
				this._stateCommentLessThanSignBang(cp);
				break;
			}
			case State$1.COMMENT_LESS_THAN_SIGN_BANG_DASH: {
				this._stateCommentLessThanSignBangDash(cp);
				break;
			}
			case State$1.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH: {
				this._stateCommentLessThanSignBangDashDash(cp);
				break;
			}
			case State$1.COMMENT_END_DASH: {
				this._stateCommentEndDash(cp);
				break;
			}
			case State$1.COMMENT_END: {
				this._stateCommentEnd(cp);
				break;
			}
			case State$1.COMMENT_END_BANG: {
				this._stateCommentEndBang(cp);
				break;
			}
			case State$1.DOCTYPE: {
				this._stateDoctype(cp);
				break;
			}
			case State$1.BEFORE_DOCTYPE_NAME: {
				this._stateBeforeDoctypeName(cp);
				break;
			}
			case State$1.DOCTYPE_NAME: {
				this._stateDoctypeName(cp);
				break;
			}
			case State$1.AFTER_DOCTYPE_NAME: {
				this._stateAfterDoctypeName(cp);
				break;
			}
			case State$1.AFTER_DOCTYPE_PUBLIC_KEYWORD: {
				this._stateAfterDoctypePublicKeyword(cp);
				break;
			}
			case State$1.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER: {
				this._stateBeforeDoctypePublicIdentifier(cp);
				break;
			}
			case State$1.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED: {
				this._stateDoctypePublicIdentifierDoubleQuoted(cp);
				break;
			}
			case State$1.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED: {
				this._stateDoctypePublicIdentifierSingleQuoted(cp);
				break;
			}
			case State$1.AFTER_DOCTYPE_PUBLIC_IDENTIFIER: {
				this._stateAfterDoctypePublicIdentifier(cp);
				break;
			}
			case State$1.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS: {
				this._stateBetweenDoctypePublicAndSystemIdentifiers(cp);
				break;
			}
			case State$1.AFTER_DOCTYPE_SYSTEM_KEYWORD: {
				this._stateAfterDoctypeSystemKeyword(cp);
				break;
			}
			case State$1.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER: {
				this._stateBeforeDoctypeSystemIdentifier(cp);
				break;
			}
			case State$1.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED: {
				this._stateDoctypeSystemIdentifierDoubleQuoted(cp);
				break;
			}
			case State$1.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED: {
				this._stateDoctypeSystemIdentifierSingleQuoted(cp);
				break;
			}
			case State$1.AFTER_DOCTYPE_SYSTEM_IDENTIFIER: {
				this._stateAfterDoctypeSystemIdentifier(cp);
				break;
			}
			case State$1.BOGUS_DOCTYPE: {
				this._stateBogusDoctype(cp);
				break;
			}
			case State$1.CDATA_SECTION: {
				this._stateCdataSection(cp);
				break;
			}
			case State$1.CDATA_SECTION_BRACKET: {
				this._stateCdataSectionBracket(cp);
				break;
			}
			case State$1.CDATA_SECTION_END: {
				this._stateCdataSectionEnd(cp);
				break;
			}
			case State$1.CHARACTER_REFERENCE: {
				this._stateCharacterReference();
				break;
			}
			case State$1.AMBIGUOUS_AMPERSAND: {
				this._stateAmbiguousAmpersand(cp);
				break;
			}
			default: {
				throw new Error("Unknown state");
			}
		}
	}
	_stateData(cp) {
		switch (cp) {
			case CODE_POINTS.LESS_THAN_SIGN: {
				this.state = State$1.TAG_OPEN;
				break;
			}
			case CODE_POINTS.AMPERSAND: {
				this._startCharacterReference();
				break;
			}
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				this._emitCodePoint(cp);
				break;
			}
			case CODE_POINTS.EOF: {
				this._emitEOFToken();
				break;
			}
			default: {
				this._emitCodePoint(cp);
			}
		}
	}
	_stateRcdata(cp) {
		switch (cp) {
			case CODE_POINTS.AMPERSAND: {
				this._startCharacterReference();
				break;
			}
			case CODE_POINTS.LESS_THAN_SIGN: {
				this.state = State$1.RCDATA_LESS_THAN_SIGN;
				break;
			}
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				this._emitChars(REPLACEMENT_CHARACTER);
				break;
			}
			case CODE_POINTS.EOF: {
				this._emitEOFToken();
				break;
			}
			default: {
				this._emitCodePoint(cp);
			}
		}
	}
	_stateRawtext(cp) {
		switch (cp) {
			case CODE_POINTS.LESS_THAN_SIGN: {
				this.state = State$1.RAWTEXT_LESS_THAN_SIGN;
				break;
			}
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				this._emitChars(REPLACEMENT_CHARACTER);
				break;
			}
			case CODE_POINTS.EOF: {
				this._emitEOFToken();
				break;
			}
			default: {
				this._emitCodePoint(cp);
			}
		}
	}
	_stateScriptData(cp) {
		switch (cp) {
			case CODE_POINTS.LESS_THAN_SIGN: {
				this.state = State$1.SCRIPT_DATA_LESS_THAN_SIGN;
				break;
			}
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				this._emitChars(REPLACEMENT_CHARACTER);
				break;
			}
			case CODE_POINTS.EOF: {
				this._emitEOFToken();
				break;
			}
			default: {
				this._emitCodePoint(cp);
			}
		}
	}
	_statePlaintext(cp) {
		switch (cp) {
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				this._emitChars(REPLACEMENT_CHARACTER);
				break;
			}
			case CODE_POINTS.EOF: {
				this._emitEOFToken();
				break;
			}
			default: {
				this._emitCodePoint(cp);
			}
		}
	}
	_stateTagOpen(cp) {
		if (isAsciiLetter(cp)) {
			this._createStartTagToken();
			this.state = State$1.TAG_NAME;
			this._stateTagName(cp);
		} else switch (cp) {
			case CODE_POINTS.EXCLAMATION_MARK: {
				this.state = State$1.MARKUP_DECLARATION_OPEN;
				break;
			}
			case CODE_POINTS.SOLIDUS: {
				this.state = State$1.END_TAG_OPEN;
				break;
			}
			case CODE_POINTS.QUESTION_MARK: {
				this._err(ERR.unexpectedQuestionMarkInsteadOfTagName);
				this._createCommentToken(1);
				this.state = State$1.BOGUS_COMMENT;
				this._stateBogusComment(cp);
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofBeforeTagName);
				this._emitChars("<");
				this._emitEOFToken();
				break;
			}
			default: {
				this._err(ERR.invalidFirstCharacterOfTagName);
				this._emitChars("<");
				this.state = State$1.DATA;
				this._stateData(cp);
			}
		}
	}
	_stateEndTagOpen(cp) {
		if (isAsciiLetter(cp)) {
			this._createEndTagToken();
			this.state = State$1.TAG_NAME;
			this._stateTagName(cp);
		} else switch (cp) {
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this._err(ERR.missingEndTagName);
				this.state = State$1.DATA;
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofBeforeTagName);
				this._emitChars("</");
				this._emitEOFToken();
				break;
			}
			default: {
				this._err(ERR.invalidFirstCharacterOfTagName);
				this._createCommentToken(2);
				this.state = State$1.BOGUS_COMMENT;
				this._stateBogusComment(cp);
			}
		}
	}
	_stateTagName(cp) {
		const token = this.currentToken;
		switch (cp) {
			case CODE_POINTS.SPACE:
			case CODE_POINTS.LINE_FEED:
			case CODE_POINTS.TABULATION:
			case CODE_POINTS.FORM_FEED: {
				this.state = State$1.BEFORE_ATTRIBUTE_NAME;
				break;
			}
			case CODE_POINTS.SOLIDUS: {
				this.state = State$1.SELF_CLOSING_START_TAG;
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this.state = State$1.DATA;
				this.emitCurrentTagToken();
				break;
			}
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				token.tagName += REPLACEMENT_CHARACTER;
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInTag);
				this._emitEOFToken();
				break;
			}
			default: {
				token.tagName += String.fromCodePoint(isAsciiUpper(cp) ? toAsciiLower(cp) : cp);
			}
		}
	}
	_stateRcdataLessThanSign(cp) {
		if (cp === CODE_POINTS.SOLIDUS) {
			this.state = State$1.RCDATA_END_TAG_OPEN;
		} else {
			this._emitChars("<");
			this.state = State$1.RCDATA;
			this._stateRcdata(cp);
		}
	}
	_stateRcdataEndTagOpen(cp) {
		if (isAsciiLetter(cp)) {
			this.state = State$1.RCDATA_END_TAG_NAME;
			this._stateRcdataEndTagName(cp);
		} else {
			this._emitChars("</");
			this.state = State$1.RCDATA;
			this._stateRcdata(cp);
		}
	}
	handleSpecialEndTag(_cp) {
		if (!this.preprocessor.startsWith(this.lastStartTagName, false)) {
			return !this._ensureHibernation();
		}
		this._createEndTagToken();
		const token = this.currentToken;
		token.tagName = this.lastStartTagName;
		const cp = this.preprocessor.peek(this.lastStartTagName.length);
		switch (cp) {
			case CODE_POINTS.SPACE:
			case CODE_POINTS.LINE_FEED:
			case CODE_POINTS.TABULATION:
			case CODE_POINTS.FORM_FEED: {
				this._advanceBy(this.lastStartTagName.length);
				this.state = State$1.BEFORE_ATTRIBUTE_NAME;
				return false;
			}
			case CODE_POINTS.SOLIDUS: {
				this._advanceBy(this.lastStartTagName.length);
				this.state = State$1.SELF_CLOSING_START_TAG;
				return false;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this._advanceBy(this.lastStartTagName.length);
				this.emitCurrentTagToken();
				this.state = State$1.DATA;
				return false;
			}
			default: {
				return !this._ensureHibernation();
			}
		}
	}
	_stateRcdataEndTagName(cp) {
		if (this.handleSpecialEndTag(cp)) {
			this._emitChars("</");
			this.state = State$1.RCDATA;
			this._stateRcdata(cp);
		}
	}
	_stateRawtextLessThanSign(cp) {
		if (cp === CODE_POINTS.SOLIDUS) {
			this.state = State$1.RAWTEXT_END_TAG_OPEN;
		} else {
			this._emitChars("<");
			this.state = State$1.RAWTEXT;
			this._stateRawtext(cp);
		}
	}
	_stateRawtextEndTagOpen(cp) {
		if (isAsciiLetter(cp)) {
			this.state = State$1.RAWTEXT_END_TAG_NAME;
			this._stateRawtextEndTagName(cp);
		} else {
			this._emitChars("</");
			this.state = State$1.RAWTEXT;
			this._stateRawtext(cp);
		}
	}
	_stateRawtextEndTagName(cp) {
		if (this.handleSpecialEndTag(cp)) {
			this._emitChars("</");
			this.state = State$1.RAWTEXT;
			this._stateRawtext(cp);
		}
	}
	_stateScriptDataLessThanSign(cp) {
		switch (cp) {
			case CODE_POINTS.SOLIDUS: {
				this.state = State$1.SCRIPT_DATA_END_TAG_OPEN;
				break;
			}
			case CODE_POINTS.EXCLAMATION_MARK: {
				this.state = State$1.SCRIPT_DATA_ESCAPE_START;
				this._emitChars("<!");
				break;
			}
			default: {
				this._emitChars("<");
				this.state = State$1.SCRIPT_DATA;
				this._stateScriptData(cp);
			}
		}
	}
	_stateScriptDataEndTagOpen(cp) {
		if (isAsciiLetter(cp)) {
			this.state = State$1.SCRIPT_DATA_END_TAG_NAME;
			this._stateScriptDataEndTagName(cp);
		} else {
			this._emitChars("</");
			this.state = State$1.SCRIPT_DATA;
			this._stateScriptData(cp);
		}
	}
	_stateScriptDataEndTagName(cp) {
		if (this.handleSpecialEndTag(cp)) {
			this._emitChars("</");
			this.state = State$1.SCRIPT_DATA;
			this._stateScriptData(cp);
		}
	}
	_stateScriptDataEscapeStart(cp) {
		if (cp === CODE_POINTS.HYPHEN_MINUS) {
			this.state = State$1.SCRIPT_DATA_ESCAPE_START_DASH;
			this._emitChars("-");
		} else {
			this.state = State$1.SCRIPT_DATA;
			this._stateScriptData(cp);
		}
	}
	_stateScriptDataEscapeStartDash(cp) {
		if (cp === CODE_POINTS.HYPHEN_MINUS) {
			this.state = State$1.SCRIPT_DATA_ESCAPED_DASH_DASH;
			this._emitChars("-");
		} else {
			this.state = State$1.SCRIPT_DATA;
			this._stateScriptData(cp);
		}
	}
	_stateScriptDataEscaped(cp) {
		switch (cp) {
			case CODE_POINTS.HYPHEN_MINUS: {
				this.state = State$1.SCRIPT_DATA_ESCAPED_DASH;
				this._emitChars("-");
				break;
			}
			case CODE_POINTS.LESS_THAN_SIGN: {
				this.state = State$1.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;
				break;
			}
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				this._emitChars(REPLACEMENT_CHARACTER);
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInScriptHtmlCommentLikeText);
				this._emitEOFToken();
				break;
			}
			default: {
				this._emitCodePoint(cp);
			}
		}
	}
	_stateScriptDataEscapedDash(cp) {
		switch (cp) {
			case CODE_POINTS.HYPHEN_MINUS: {
				this.state = State$1.SCRIPT_DATA_ESCAPED_DASH_DASH;
				this._emitChars("-");
				break;
			}
			case CODE_POINTS.LESS_THAN_SIGN: {
				this.state = State$1.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;
				break;
			}
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				this.state = State$1.SCRIPT_DATA_ESCAPED;
				this._emitChars(REPLACEMENT_CHARACTER);
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInScriptHtmlCommentLikeText);
				this._emitEOFToken();
				break;
			}
			default: {
				this.state = State$1.SCRIPT_DATA_ESCAPED;
				this._emitCodePoint(cp);
			}
		}
	}
	_stateScriptDataEscapedDashDash(cp) {
		switch (cp) {
			case CODE_POINTS.HYPHEN_MINUS: {
				this._emitChars("-");
				break;
			}
			case CODE_POINTS.LESS_THAN_SIGN: {
				this.state = State$1.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this.state = State$1.SCRIPT_DATA;
				this._emitChars(">");
				break;
			}
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				this.state = State$1.SCRIPT_DATA_ESCAPED;
				this._emitChars(REPLACEMENT_CHARACTER);
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInScriptHtmlCommentLikeText);
				this._emitEOFToken();
				break;
			}
			default: {
				this.state = State$1.SCRIPT_DATA_ESCAPED;
				this._emitCodePoint(cp);
			}
		}
	}
	_stateScriptDataEscapedLessThanSign(cp) {
		if (cp === CODE_POINTS.SOLIDUS) {
			this.state = State$1.SCRIPT_DATA_ESCAPED_END_TAG_OPEN;
		} else if (isAsciiLetter(cp)) {
			this._emitChars("<");
			this.state = State$1.SCRIPT_DATA_DOUBLE_ESCAPE_START;
			this._stateScriptDataDoubleEscapeStart(cp);
		} else {
			this._emitChars("<");
			this.state = State$1.SCRIPT_DATA_ESCAPED;
			this._stateScriptDataEscaped(cp);
		}
	}
	_stateScriptDataEscapedEndTagOpen(cp) {
		if (isAsciiLetter(cp)) {
			this.state = State$1.SCRIPT_DATA_ESCAPED_END_TAG_NAME;
			this._stateScriptDataEscapedEndTagName(cp);
		} else {
			this._emitChars("</");
			this.state = State$1.SCRIPT_DATA_ESCAPED;
			this._stateScriptDataEscaped(cp);
		}
	}
	_stateScriptDataEscapedEndTagName(cp) {
		if (this.handleSpecialEndTag(cp)) {
			this._emitChars("</");
			this.state = State$1.SCRIPT_DATA_ESCAPED;
			this._stateScriptDataEscaped(cp);
		}
	}
	_stateScriptDataDoubleEscapeStart(cp) {
		if (this.preprocessor.startsWith(SEQUENCES.SCRIPT, false) && isScriptDataDoubleEscapeSequenceEnd(this.preprocessor.peek(SEQUENCES.SCRIPT.length))) {
			this._emitCodePoint(cp);
			for (let i = 0; i < SEQUENCES.SCRIPT.length; i++) {
				this._emitCodePoint(this._consume());
			}
			this.state = State$1.SCRIPT_DATA_DOUBLE_ESCAPED;
		} else if (!this._ensureHibernation()) {
			this.state = State$1.SCRIPT_DATA_ESCAPED;
			this._stateScriptDataEscaped(cp);
		}
	}
	_stateScriptDataDoubleEscaped(cp) {
		switch (cp) {
			case CODE_POINTS.HYPHEN_MINUS: {
				this.state = State$1.SCRIPT_DATA_DOUBLE_ESCAPED_DASH;
				this._emitChars("-");
				break;
			}
			case CODE_POINTS.LESS_THAN_SIGN: {
				this.state = State$1.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN;
				this._emitChars("<");
				break;
			}
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				this._emitChars(REPLACEMENT_CHARACTER);
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInScriptHtmlCommentLikeText);
				this._emitEOFToken();
				break;
			}
			default: {
				this._emitCodePoint(cp);
			}
		}
	}
	_stateScriptDataDoubleEscapedDash(cp) {
		switch (cp) {
			case CODE_POINTS.HYPHEN_MINUS: {
				this.state = State$1.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH;
				this._emitChars("-");
				break;
			}
			case CODE_POINTS.LESS_THAN_SIGN: {
				this.state = State$1.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN;
				this._emitChars("<");
				break;
			}
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				this.state = State$1.SCRIPT_DATA_DOUBLE_ESCAPED;
				this._emitChars(REPLACEMENT_CHARACTER);
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInScriptHtmlCommentLikeText);
				this._emitEOFToken();
				break;
			}
			default: {
				this.state = State$1.SCRIPT_DATA_DOUBLE_ESCAPED;
				this._emitCodePoint(cp);
			}
		}
	}
	_stateScriptDataDoubleEscapedDashDash(cp) {
		switch (cp) {
			case CODE_POINTS.HYPHEN_MINUS: {
				this._emitChars("-");
				break;
			}
			case CODE_POINTS.LESS_THAN_SIGN: {
				this.state = State$1.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN;
				this._emitChars("<");
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this.state = State$1.SCRIPT_DATA;
				this._emitChars(">");
				break;
			}
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				this.state = State$1.SCRIPT_DATA_DOUBLE_ESCAPED;
				this._emitChars(REPLACEMENT_CHARACTER);
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInScriptHtmlCommentLikeText);
				this._emitEOFToken();
				break;
			}
			default: {
				this.state = State$1.SCRIPT_DATA_DOUBLE_ESCAPED;
				this._emitCodePoint(cp);
			}
		}
	}
	_stateScriptDataDoubleEscapedLessThanSign(cp) {
		if (cp === CODE_POINTS.SOLIDUS) {
			this.state = State$1.SCRIPT_DATA_DOUBLE_ESCAPE_END;
			this._emitChars("/");
		} else {
			this.state = State$1.SCRIPT_DATA_DOUBLE_ESCAPED;
			this._stateScriptDataDoubleEscaped(cp);
		}
	}
	_stateScriptDataDoubleEscapeEnd(cp) {
		if (this.preprocessor.startsWith(SEQUENCES.SCRIPT, false) && isScriptDataDoubleEscapeSequenceEnd(this.preprocessor.peek(SEQUENCES.SCRIPT.length))) {
			this._emitCodePoint(cp);
			for (let i = 0; i < SEQUENCES.SCRIPT.length; i++) {
				this._emitCodePoint(this._consume());
			}
			this.state = State$1.SCRIPT_DATA_ESCAPED;
		} else if (!this._ensureHibernation()) {
			this.state = State$1.SCRIPT_DATA_DOUBLE_ESCAPED;
			this._stateScriptDataDoubleEscaped(cp);
		}
	}
	_stateBeforeAttributeName(cp) {
		switch (cp) {
			case CODE_POINTS.SPACE:
			case CODE_POINTS.LINE_FEED:
			case CODE_POINTS.TABULATION:
			case CODE_POINTS.FORM_FEED: {
				break;
			}
			case CODE_POINTS.SOLIDUS:
			case CODE_POINTS.GREATER_THAN_SIGN:
			case CODE_POINTS.EOF: {
				this.state = State$1.AFTER_ATTRIBUTE_NAME;
				this._stateAfterAttributeName(cp);
				break;
			}
			case CODE_POINTS.EQUALS_SIGN: {
				this._err(ERR.unexpectedEqualsSignBeforeAttributeName);
				this._createAttr("=");
				this.state = State$1.ATTRIBUTE_NAME;
				break;
			}
			default: {
				this._createAttr("");
				this.state = State$1.ATTRIBUTE_NAME;
				this._stateAttributeName(cp);
			}
		}
	}
	_stateAttributeName(cp) {
		switch (cp) {
			case CODE_POINTS.SPACE:
			case CODE_POINTS.LINE_FEED:
			case CODE_POINTS.TABULATION:
			case CODE_POINTS.FORM_FEED:
			case CODE_POINTS.SOLIDUS:
			case CODE_POINTS.GREATER_THAN_SIGN:
			case CODE_POINTS.EOF: {
				this._leaveAttrName();
				this.state = State$1.AFTER_ATTRIBUTE_NAME;
				this._stateAfterAttributeName(cp);
				break;
			}
			case CODE_POINTS.EQUALS_SIGN: {
				this._leaveAttrName();
				this.state = State$1.BEFORE_ATTRIBUTE_VALUE;
				break;
			}
			case CODE_POINTS.QUOTATION_MARK:
			case CODE_POINTS.APOSTROPHE:
			case CODE_POINTS.LESS_THAN_SIGN: {
				this._err(ERR.unexpectedCharacterInAttributeName);
				this.currentAttr.name += String.fromCodePoint(cp);
				break;
			}
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				this.currentAttr.name += REPLACEMENT_CHARACTER;
				break;
			}
			default: {
				this.currentAttr.name += String.fromCodePoint(isAsciiUpper(cp) ? toAsciiLower(cp) : cp);
			}
		}
	}
	_stateAfterAttributeName(cp) {
		switch (cp) {
			case CODE_POINTS.SPACE:
			case CODE_POINTS.LINE_FEED:
			case CODE_POINTS.TABULATION:
			case CODE_POINTS.FORM_FEED: {
				break;
			}
			case CODE_POINTS.SOLIDUS: {
				this.state = State$1.SELF_CLOSING_START_TAG;
				break;
			}
			case CODE_POINTS.EQUALS_SIGN: {
				this.state = State$1.BEFORE_ATTRIBUTE_VALUE;
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this.state = State$1.DATA;
				this.emitCurrentTagToken();
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInTag);
				this._emitEOFToken();
				break;
			}
			default: {
				this._createAttr("");
				this.state = State$1.ATTRIBUTE_NAME;
				this._stateAttributeName(cp);
			}
		}
	}
	_stateBeforeAttributeValue(cp) {
		switch (cp) {
			case CODE_POINTS.SPACE:
			case CODE_POINTS.LINE_FEED:
			case CODE_POINTS.TABULATION:
			case CODE_POINTS.FORM_FEED: {
				break;
			}
			case CODE_POINTS.QUOTATION_MARK: {
				this.state = State$1.ATTRIBUTE_VALUE_DOUBLE_QUOTED;
				break;
			}
			case CODE_POINTS.APOSTROPHE: {
				this.state = State$1.ATTRIBUTE_VALUE_SINGLE_QUOTED;
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this._err(ERR.missingAttributeValue);
				this.state = State$1.DATA;
				this.emitCurrentTagToken();
				break;
			}
			default: {
				this.state = State$1.ATTRIBUTE_VALUE_UNQUOTED;
				this._stateAttributeValueUnquoted(cp);
			}
		}
	}
	_stateAttributeValueDoubleQuoted(cp) {
		switch (cp) {
			case CODE_POINTS.QUOTATION_MARK: {
				this.state = State$1.AFTER_ATTRIBUTE_VALUE_QUOTED;
				break;
			}
			case CODE_POINTS.AMPERSAND: {
				this._startCharacterReference();
				break;
			}
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				this.currentAttr.value += REPLACEMENT_CHARACTER;
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInTag);
				this._emitEOFToken();
				break;
			}
			default: {
				this.currentAttr.value += String.fromCodePoint(cp);
			}
		}
	}
	_stateAttributeValueSingleQuoted(cp) {
		switch (cp) {
			case CODE_POINTS.APOSTROPHE: {
				this.state = State$1.AFTER_ATTRIBUTE_VALUE_QUOTED;
				break;
			}
			case CODE_POINTS.AMPERSAND: {
				this._startCharacterReference();
				break;
			}
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				this.currentAttr.value += REPLACEMENT_CHARACTER;
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInTag);
				this._emitEOFToken();
				break;
			}
			default: {
				this.currentAttr.value += String.fromCodePoint(cp);
			}
		}
	}
	_stateAttributeValueUnquoted(cp) {
		switch (cp) {
			case CODE_POINTS.SPACE:
			case CODE_POINTS.LINE_FEED:
			case CODE_POINTS.TABULATION:
			case CODE_POINTS.FORM_FEED: {
				this._leaveAttrValue();
				this.state = State$1.BEFORE_ATTRIBUTE_NAME;
				break;
			}
			case CODE_POINTS.AMPERSAND: {
				this._startCharacterReference();
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this._leaveAttrValue();
				this.state = State$1.DATA;
				this.emitCurrentTagToken();
				break;
			}
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				this.currentAttr.value += REPLACEMENT_CHARACTER;
				break;
			}
			case CODE_POINTS.QUOTATION_MARK:
			case CODE_POINTS.APOSTROPHE:
			case CODE_POINTS.LESS_THAN_SIGN:
			case CODE_POINTS.EQUALS_SIGN:
			case CODE_POINTS.GRAVE_ACCENT: {
				this._err(ERR.unexpectedCharacterInUnquotedAttributeValue);
				this.currentAttr.value += String.fromCodePoint(cp);
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInTag);
				this._emitEOFToken();
				break;
			}
			default: {
				this.currentAttr.value += String.fromCodePoint(cp);
			}
		}
	}
	_stateAfterAttributeValueQuoted(cp) {
		switch (cp) {
			case CODE_POINTS.SPACE:
			case CODE_POINTS.LINE_FEED:
			case CODE_POINTS.TABULATION:
			case CODE_POINTS.FORM_FEED: {
				this._leaveAttrValue();
				this.state = State$1.BEFORE_ATTRIBUTE_NAME;
				break;
			}
			case CODE_POINTS.SOLIDUS: {
				this._leaveAttrValue();
				this.state = State$1.SELF_CLOSING_START_TAG;
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this._leaveAttrValue();
				this.state = State$1.DATA;
				this.emitCurrentTagToken();
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInTag);
				this._emitEOFToken();
				break;
			}
			default: {
				this._err(ERR.missingWhitespaceBetweenAttributes);
				this.state = State$1.BEFORE_ATTRIBUTE_NAME;
				this._stateBeforeAttributeName(cp);
			}
		}
	}
	_stateSelfClosingStartTag(cp) {
		switch (cp) {
			case CODE_POINTS.GREATER_THAN_SIGN: {
				const token = this.currentToken;
				token.selfClosing = true;
				this.state = State$1.DATA;
				this.emitCurrentTagToken();
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInTag);
				this._emitEOFToken();
				break;
			}
			default: {
				this._err(ERR.unexpectedSolidusInTag);
				this.state = State$1.BEFORE_ATTRIBUTE_NAME;
				this._stateBeforeAttributeName(cp);
			}
		}
	}
	_stateBogusComment(cp) {
		const token = this.currentToken;
		switch (cp) {
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this.state = State$1.DATA;
				this.emitCurrentComment(token);
				break;
			}
			case CODE_POINTS.EOF: {
				this.emitCurrentComment(token);
				this._emitEOFToken();
				break;
			}
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				token.data += REPLACEMENT_CHARACTER;
				break;
			}
			default: {
				token.data += String.fromCodePoint(cp);
			}
		}
	}
	_stateMarkupDeclarationOpen(cp) {
		if (this._consumeSequenceIfMatch(SEQUENCES.DASH_DASH, true)) {
			this._createCommentToken(SEQUENCES.DASH_DASH.length + 1);
			this.state = State$1.COMMENT_START;
		} else if (this._consumeSequenceIfMatch(SEQUENCES.DOCTYPE, false)) {
			this.currentLocation = this.getCurrentLocation(SEQUENCES.DOCTYPE.length + 1);
			this.state = State$1.DOCTYPE;
		} else if (this._consumeSequenceIfMatch(SEQUENCES.CDATA_START, true)) {
			if (this.inForeignNode) {
				this.state = State$1.CDATA_SECTION;
			} else {
				this._err(ERR.cdataInHtmlContent);
				this._createCommentToken(SEQUENCES.CDATA_START.length + 1);
				this.currentToken.data = "[CDATA[";
				this.state = State$1.BOGUS_COMMENT;
			}
		} else if (!this._ensureHibernation()) {
			this._err(ERR.incorrectlyOpenedComment);
			this._createCommentToken(2);
			this.state = State$1.BOGUS_COMMENT;
			this._stateBogusComment(cp);
		}
	}
	_stateCommentStart(cp) {
		switch (cp) {
			case CODE_POINTS.HYPHEN_MINUS: {
				this.state = State$1.COMMENT_START_DASH;
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this._err(ERR.abruptClosingOfEmptyComment);
				this.state = State$1.DATA;
				const token = this.currentToken;
				this.emitCurrentComment(token);
				break;
			}
			default: {
				this.state = State$1.COMMENT;
				this._stateComment(cp);
			}
		}
	}
	_stateCommentStartDash(cp) {
		const token = this.currentToken;
		switch (cp) {
			case CODE_POINTS.HYPHEN_MINUS: {
				this.state = State$1.COMMENT_END;
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this._err(ERR.abruptClosingOfEmptyComment);
				this.state = State$1.DATA;
				this.emitCurrentComment(token);
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInComment);
				this.emitCurrentComment(token);
				this._emitEOFToken();
				break;
			}
			default: {
				token.data += "-";
				this.state = State$1.COMMENT;
				this._stateComment(cp);
			}
		}
	}
	_stateComment(cp) {
		const token = this.currentToken;
		switch (cp) {
			case CODE_POINTS.HYPHEN_MINUS: {
				this.state = State$1.COMMENT_END_DASH;
				break;
			}
			case CODE_POINTS.LESS_THAN_SIGN: {
				token.data += "<";
				this.state = State$1.COMMENT_LESS_THAN_SIGN;
				break;
			}
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				token.data += REPLACEMENT_CHARACTER;
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInComment);
				this.emitCurrentComment(token);
				this._emitEOFToken();
				break;
			}
			default: {
				token.data += String.fromCodePoint(cp);
			}
		}
	}
	_stateCommentLessThanSign(cp) {
		const token = this.currentToken;
		switch (cp) {
			case CODE_POINTS.EXCLAMATION_MARK: {
				token.data += "!";
				this.state = State$1.COMMENT_LESS_THAN_SIGN_BANG;
				break;
			}
			case CODE_POINTS.LESS_THAN_SIGN: {
				token.data += "<";
				break;
			}
			default: {
				this.state = State$1.COMMENT;
				this._stateComment(cp);
			}
		}
	}
	_stateCommentLessThanSignBang(cp) {
		if (cp === CODE_POINTS.HYPHEN_MINUS) {
			this.state = State$1.COMMENT_LESS_THAN_SIGN_BANG_DASH;
		} else {
			this.state = State$1.COMMENT;
			this._stateComment(cp);
		}
	}
	_stateCommentLessThanSignBangDash(cp) {
		if (cp === CODE_POINTS.HYPHEN_MINUS) {
			this.state = State$1.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH;
		} else {
			this.state = State$1.COMMENT_END_DASH;
			this._stateCommentEndDash(cp);
		}
	}
	_stateCommentLessThanSignBangDashDash(cp) {
		if (cp !== CODE_POINTS.GREATER_THAN_SIGN && cp !== CODE_POINTS.EOF) {
			this._err(ERR.nestedComment);
		}
		this.state = State$1.COMMENT_END;
		this._stateCommentEnd(cp);
	}
	_stateCommentEndDash(cp) {
		const token = this.currentToken;
		switch (cp) {
			case CODE_POINTS.HYPHEN_MINUS: {
				this.state = State$1.COMMENT_END;
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInComment);
				this.emitCurrentComment(token);
				this._emitEOFToken();
				break;
			}
			default: {
				token.data += "-";
				this.state = State$1.COMMENT;
				this._stateComment(cp);
			}
		}
	}
	_stateCommentEnd(cp) {
		const token = this.currentToken;
		switch (cp) {
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this.state = State$1.DATA;
				this.emitCurrentComment(token);
				break;
			}
			case CODE_POINTS.EXCLAMATION_MARK: {
				this.state = State$1.COMMENT_END_BANG;
				break;
			}
			case CODE_POINTS.HYPHEN_MINUS: {
				token.data += "-";
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInComment);
				this.emitCurrentComment(token);
				this._emitEOFToken();
				break;
			}
			default: {
				token.data += "--";
				this.state = State$1.COMMENT;
				this._stateComment(cp);
			}
		}
	}
	_stateCommentEndBang(cp) {
		const token = this.currentToken;
		switch (cp) {
			case CODE_POINTS.HYPHEN_MINUS: {
				token.data += "--!";
				this.state = State$1.COMMENT_END_DASH;
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this._err(ERR.incorrectlyClosedComment);
				this.state = State$1.DATA;
				this.emitCurrentComment(token);
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInComment);
				this.emitCurrentComment(token);
				this._emitEOFToken();
				break;
			}
			default: {
				token.data += "--!";
				this.state = State$1.COMMENT;
				this._stateComment(cp);
			}
		}
	}
	_stateDoctype(cp) {
		switch (cp) {
			case CODE_POINTS.SPACE:
			case CODE_POINTS.LINE_FEED:
			case CODE_POINTS.TABULATION:
			case CODE_POINTS.FORM_FEED: {
				this.state = State$1.BEFORE_DOCTYPE_NAME;
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this.state = State$1.BEFORE_DOCTYPE_NAME;
				this._stateBeforeDoctypeName(cp);
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInDoctype);
				this._createDoctypeToken(null);
				const token = this.currentToken;
				token.forceQuirks = true;
				this.emitCurrentDoctype(token);
				this._emitEOFToken();
				break;
			}
			default: {
				this._err(ERR.missingWhitespaceBeforeDoctypeName);
				this.state = State$1.BEFORE_DOCTYPE_NAME;
				this._stateBeforeDoctypeName(cp);
			}
		}
	}
	_stateBeforeDoctypeName(cp) {
		if (isAsciiUpper(cp)) {
			this._createDoctypeToken(String.fromCharCode(toAsciiLower(cp)));
			this.state = State$1.DOCTYPE_NAME;
		} else switch (cp) {
			case CODE_POINTS.SPACE:
			case CODE_POINTS.LINE_FEED:
			case CODE_POINTS.TABULATION:
			case CODE_POINTS.FORM_FEED: {
				break;
			}
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				this._createDoctypeToken(REPLACEMENT_CHARACTER);
				this.state = State$1.DOCTYPE_NAME;
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this._err(ERR.missingDoctypeName);
				this._createDoctypeToken(null);
				const token = this.currentToken;
				token.forceQuirks = true;
				this.emitCurrentDoctype(token);
				this.state = State$1.DATA;
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInDoctype);
				this._createDoctypeToken(null);
				const token = this.currentToken;
				token.forceQuirks = true;
				this.emitCurrentDoctype(token);
				this._emitEOFToken();
				break;
			}
			default: {
				this._createDoctypeToken(String.fromCodePoint(cp));
				this.state = State$1.DOCTYPE_NAME;
			}
		}
	}
	_stateDoctypeName(cp) {
		const token = this.currentToken;
		switch (cp) {
			case CODE_POINTS.SPACE:
			case CODE_POINTS.LINE_FEED:
			case CODE_POINTS.TABULATION:
			case CODE_POINTS.FORM_FEED: {
				this.state = State$1.AFTER_DOCTYPE_NAME;
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this.state = State$1.DATA;
				this.emitCurrentDoctype(token);
				break;
			}
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				token.name += REPLACEMENT_CHARACTER;
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInDoctype);
				token.forceQuirks = true;
				this.emitCurrentDoctype(token);
				this._emitEOFToken();
				break;
			}
			default: {
				token.name += String.fromCodePoint(isAsciiUpper(cp) ? toAsciiLower(cp) : cp);
			}
		}
	}
	_stateAfterDoctypeName(cp) {
		const token = this.currentToken;
		switch (cp) {
			case CODE_POINTS.SPACE:
			case CODE_POINTS.LINE_FEED:
			case CODE_POINTS.TABULATION:
			case CODE_POINTS.FORM_FEED: {
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this.state = State$1.DATA;
				this.emitCurrentDoctype(token);
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInDoctype);
				token.forceQuirks = true;
				this.emitCurrentDoctype(token);
				this._emitEOFToken();
				break;
			}
			default: {
				if (this._consumeSequenceIfMatch(SEQUENCES.PUBLIC, false)) {
					this.state = State$1.AFTER_DOCTYPE_PUBLIC_KEYWORD;
				} else if (this._consumeSequenceIfMatch(SEQUENCES.SYSTEM, false)) {
					this.state = State$1.AFTER_DOCTYPE_SYSTEM_KEYWORD;
				} else if (!this._ensureHibernation()) {
					this._err(ERR.invalidCharacterSequenceAfterDoctypeName);
					token.forceQuirks = true;
					this.state = State$1.BOGUS_DOCTYPE;
					this._stateBogusDoctype(cp);
				}
			}
		}
	}
	_stateAfterDoctypePublicKeyword(cp) {
		const token = this.currentToken;
		switch (cp) {
			case CODE_POINTS.SPACE:
			case CODE_POINTS.LINE_FEED:
			case CODE_POINTS.TABULATION:
			case CODE_POINTS.FORM_FEED: {
				this.state = State$1.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER;
				break;
			}
			case CODE_POINTS.QUOTATION_MARK: {
				this._err(ERR.missingWhitespaceAfterDoctypePublicKeyword);
				token.publicId = "";
				this.state = State$1.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;
				break;
			}
			case CODE_POINTS.APOSTROPHE: {
				this._err(ERR.missingWhitespaceAfterDoctypePublicKeyword);
				token.publicId = "";
				this.state = State$1.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this._err(ERR.missingDoctypePublicIdentifier);
				token.forceQuirks = true;
				this.state = State$1.DATA;
				this.emitCurrentDoctype(token);
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInDoctype);
				token.forceQuirks = true;
				this.emitCurrentDoctype(token);
				this._emitEOFToken();
				break;
			}
			default: {
				this._err(ERR.missingQuoteBeforeDoctypePublicIdentifier);
				token.forceQuirks = true;
				this.state = State$1.BOGUS_DOCTYPE;
				this._stateBogusDoctype(cp);
			}
		}
	}
	_stateBeforeDoctypePublicIdentifier(cp) {
		const token = this.currentToken;
		switch (cp) {
			case CODE_POINTS.SPACE:
			case CODE_POINTS.LINE_FEED:
			case CODE_POINTS.TABULATION:
			case CODE_POINTS.FORM_FEED: {
				break;
			}
			case CODE_POINTS.QUOTATION_MARK: {
				token.publicId = "";
				this.state = State$1.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;
				break;
			}
			case CODE_POINTS.APOSTROPHE: {
				token.publicId = "";
				this.state = State$1.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this._err(ERR.missingDoctypePublicIdentifier);
				token.forceQuirks = true;
				this.state = State$1.DATA;
				this.emitCurrentDoctype(token);
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInDoctype);
				token.forceQuirks = true;
				this.emitCurrentDoctype(token);
				this._emitEOFToken();
				break;
			}
			default: {
				this._err(ERR.missingQuoteBeforeDoctypePublicIdentifier);
				token.forceQuirks = true;
				this.state = State$1.BOGUS_DOCTYPE;
				this._stateBogusDoctype(cp);
			}
		}
	}
	_stateDoctypePublicIdentifierDoubleQuoted(cp) {
		const token = this.currentToken;
		switch (cp) {
			case CODE_POINTS.QUOTATION_MARK: {
				this.state = State$1.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;
				break;
			}
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				token.publicId += REPLACEMENT_CHARACTER;
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this._err(ERR.abruptDoctypePublicIdentifier);
				token.forceQuirks = true;
				this.emitCurrentDoctype(token);
				this.state = State$1.DATA;
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInDoctype);
				token.forceQuirks = true;
				this.emitCurrentDoctype(token);
				this._emitEOFToken();
				break;
			}
			default: {
				token.publicId += String.fromCodePoint(cp);
			}
		}
	}
	_stateDoctypePublicIdentifierSingleQuoted(cp) {
		const token = this.currentToken;
		switch (cp) {
			case CODE_POINTS.APOSTROPHE: {
				this.state = State$1.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;
				break;
			}
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				token.publicId += REPLACEMENT_CHARACTER;
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this._err(ERR.abruptDoctypePublicIdentifier);
				token.forceQuirks = true;
				this.emitCurrentDoctype(token);
				this.state = State$1.DATA;
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInDoctype);
				token.forceQuirks = true;
				this.emitCurrentDoctype(token);
				this._emitEOFToken();
				break;
			}
			default: {
				token.publicId += String.fromCodePoint(cp);
			}
		}
	}
	_stateAfterDoctypePublicIdentifier(cp) {
		const token = this.currentToken;
		switch (cp) {
			case CODE_POINTS.SPACE:
			case CODE_POINTS.LINE_FEED:
			case CODE_POINTS.TABULATION:
			case CODE_POINTS.FORM_FEED: {
				this.state = State$1.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS;
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this.state = State$1.DATA;
				this.emitCurrentDoctype(token);
				break;
			}
			case CODE_POINTS.QUOTATION_MARK: {
				this._err(ERR.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers);
				token.systemId = "";
				this.state = State$1.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;
				break;
			}
			case CODE_POINTS.APOSTROPHE: {
				this._err(ERR.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers);
				token.systemId = "";
				this.state = State$1.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInDoctype);
				token.forceQuirks = true;
				this.emitCurrentDoctype(token);
				this._emitEOFToken();
				break;
			}
			default: {
				this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);
				token.forceQuirks = true;
				this.state = State$1.BOGUS_DOCTYPE;
				this._stateBogusDoctype(cp);
			}
		}
	}
	_stateBetweenDoctypePublicAndSystemIdentifiers(cp) {
		const token = this.currentToken;
		switch (cp) {
			case CODE_POINTS.SPACE:
			case CODE_POINTS.LINE_FEED:
			case CODE_POINTS.TABULATION:
			case CODE_POINTS.FORM_FEED: {
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this.emitCurrentDoctype(token);
				this.state = State$1.DATA;
				break;
			}
			case CODE_POINTS.QUOTATION_MARK: {
				token.systemId = "";
				this.state = State$1.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;
				break;
			}
			case CODE_POINTS.APOSTROPHE: {
				token.systemId = "";
				this.state = State$1.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInDoctype);
				token.forceQuirks = true;
				this.emitCurrentDoctype(token);
				this._emitEOFToken();
				break;
			}
			default: {
				this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);
				token.forceQuirks = true;
				this.state = State$1.BOGUS_DOCTYPE;
				this._stateBogusDoctype(cp);
			}
		}
	}
	_stateAfterDoctypeSystemKeyword(cp) {
		const token = this.currentToken;
		switch (cp) {
			case CODE_POINTS.SPACE:
			case CODE_POINTS.LINE_FEED:
			case CODE_POINTS.TABULATION:
			case CODE_POINTS.FORM_FEED: {
				this.state = State$1.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER;
				break;
			}
			case CODE_POINTS.QUOTATION_MARK: {
				this._err(ERR.missingWhitespaceAfterDoctypeSystemKeyword);
				token.systemId = "";
				this.state = State$1.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;
				break;
			}
			case CODE_POINTS.APOSTROPHE: {
				this._err(ERR.missingWhitespaceAfterDoctypeSystemKeyword);
				token.systemId = "";
				this.state = State$1.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this._err(ERR.missingDoctypeSystemIdentifier);
				token.forceQuirks = true;
				this.state = State$1.DATA;
				this.emitCurrentDoctype(token);
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInDoctype);
				token.forceQuirks = true;
				this.emitCurrentDoctype(token);
				this._emitEOFToken();
				break;
			}
			default: {
				this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);
				token.forceQuirks = true;
				this.state = State$1.BOGUS_DOCTYPE;
				this._stateBogusDoctype(cp);
			}
		}
	}
	_stateBeforeDoctypeSystemIdentifier(cp) {
		const token = this.currentToken;
		switch (cp) {
			case CODE_POINTS.SPACE:
			case CODE_POINTS.LINE_FEED:
			case CODE_POINTS.TABULATION:
			case CODE_POINTS.FORM_FEED: {
				break;
			}
			case CODE_POINTS.QUOTATION_MARK: {
				token.systemId = "";
				this.state = State$1.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;
				break;
			}
			case CODE_POINTS.APOSTROPHE: {
				token.systemId = "";
				this.state = State$1.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this._err(ERR.missingDoctypeSystemIdentifier);
				token.forceQuirks = true;
				this.state = State$1.DATA;
				this.emitCurrentDoctype(token);
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInDoctype);
				token.forceQuirks = true;
				this.emitCurrentDoctype(token);
				this._emitEOFToken();
				break;
			}
			default: {
				this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);
				token.forceQuirks = true;
				this.state = State$1.BOGUS_DOCTYPE;
				this._stateBogusDoctype(cp);
			}
		}
	}
	_stateDoctypeSystemIdentifierDoubleQuoted(cp) {
		const token = this.currentToken;
		switch (cp) {
			case CODE_POINTS.QUOTATION_MARK: {
				this.state = State$1.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;
				break;
			}
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				token.systemId += REPLACEMENT_CHARACTER;
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this._err(ERR.abruptDoctypeSystemIdentifier);
				token.forceQuirks = true;
				this.emitCurrentDoctype(token);
				this.state = State$1.DATA;
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInDoctype);
				token.forceQuirks = true;
				this.emitCurrentDoctype(token);
				this._emitEOFToken();
				break;
			}
			default: {
				token.systemId += String.fromCodePoint(cp);
			}
		}
	}
	_stateDoctypeSystemIdentifierSingleQuoted(cp) {
		const token = this.currentToken;
		switch (cp) {
			case CODE_POINTS.APOSTROPHE: {
				this.state = State$1.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;
				break;
			}
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				token.systemId += REPLACEMENT_CHARACTER;
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this._err(ERR.abruptDoctypeSystemIdentifier);
				token.forceQuirks = true;
				this.emitCurrentDoctype(token);
				this.state = State$1.DATA;
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInDoctype);
				token.forceQuirks = true;
				this.emitCurrentDoctype(token);
				this._emitEOFToken();
				break;
			}
			default: {
				token.systemId += String.fromCodePoint(cp);
			}
		}
	}
	_stateAfterDoctypeSystemIdentifier(cp) {
		const token = this.currentToken;
		switch (cp) {
			case CODE_POINTS.SPACE:
			case CODE_POINTS.LINE_FEED:
			case CODE_POINTS.TABULATION:
			case CODE_POINTS.FORM_FEED: {
				break;
			}
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this.emitCurrentDoctype(token);
				this.state = State$1.DATA;
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInDoctype);
				token.forceQuirks = true;
				this.emitCurrentDoctype(token);
				this._emitEOFToken();
				break;
			}
			default: {
				this._err(ERR.unexpectedCharacterAfterDoctypeSystemIdentifier);
				this.state = State$1.BOGUS_DOCTYPE;
				this._stateBogusDoctype(cp);
			}
		}
	}
	_stateBogusDoctype(cp) {
		const token = this.currentToken;
		switch (cp) {
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this.emitCurrentDoctype(token);
				this.state = State$1.DATA;
				break;
			}
			case CODE_POINTS.NULL: {
				this._err(ERR.unexpectedNullCharacter);
				break;
			}
			case CODE_POINTS.EOF: {
				this.emitCurrentDoctype(token);
				this._emitEOFToken();
				break;
			}
			default:
		}
	}
	_stateCdataSection(cp) {
		switch (cp) {
			case CODE_POINTS.RIGHT_SQUARE_BRACKET: {
				this.state = State$1.CDATA_SECTION_BRACKET;
				break;
			}
			case CODE_POINTS.EOF: {
				this._err(ERR.eofInCdata);
				this._emitEOFToken();
				break;
			}
			default: {
				this._emitCodePoint(cp);
			}
		}
	}
	_stateCdataSectionBracket(cp) {
		if (cp === CODE_POINTS.RIGHT_SQUARE_BRACKET) {
			this.state = State$1.CDATA_SECTION_END;
		} else {
			this._emitChars("]");
			this.state = State$1.CDATA_SECTION;
			this._stateCdataSection(cp);
		}
	}
	_stateCdataSectionEnd(cp) {
		switch (cp) {
			case CODE_POINTS.GREATER_THAN_SIGN: {
				this.state = State$1.DATA;
				break;
			}
			case CODE_POINTS.RIGHT_SQUARE_BRACKET: {
				this._emitChars("]");
				break;
			}
			default: {
				this._emitChars("]]");
				this.state = State$1.CDATA_SECTION;
				this._stateCdataSection(cp);
			}
		}
	}
	_stateCharacterReference() {
		let length = this.entityDecoder.write(this.preprocessor.html, this.preprocessor.pos);
		if (length < 0) {
			if (this.preprocessor.lastChunkWritten) {
				length = this.entityDecoder.end();
			} else {
				this.active = false;
				this.preprocessor.pos = this.preprocessor.html.length - 1;
				this.consumedAfterSnapshot = 0;
				this.preprocessor.endOfChunkHit = true;
				return;
			}
		}
		if (length === 0) {
			this.preprocessor.pos = this.entityStartPos;
			this._flushCodePointConsumedAsCharacterReference(CODE_POINTS.AMPERSAND);
			this.state = !this._isCharacterReferenceInAttribute() && isAsciiAlphaNumeric(this.preprocessor.peek(1)) ? State$1.AMBIGUOUS_AMPERSAND : this.returnState;
		} else {
			this.state = this.returnState;
		}
	}
	_stateAmbiguousAmpersand(cp) {
		if (isAsciiAlphaNumeric(cp)) {
			this._flushCodePointConsumedAsCharacterReference(cp);
		} else {
			if (cp === CODE_POINTS.SEMICOLON) {
				this._err(ERR.unknownNamedCharacterReference);
			}
			this.state = this.returnState;
			this._callState(cp);
		}
	}
};

//#endregion
//#region ../node_modules/parse5/dist/parser/open-element-stack.js
const IMPLICIT_END_TAG_REQUIRED = new Set([
	TAG_ID.DD,
	TAG_ID.DT,
	TAG_ID.LI,
	TAG_ID.OPTGROUP,
	TAG_ID.OPTION,
	TAG_ID.P,
	TAG_ID.RB,
	TAG_ID.RP,
	TAG_ID.RT,
	TAG_ID.RTC
]);
const IMPLICIT_END_TAG_REQUIRED_THOROUGHLY = new Set([
	...IMPLICIT_END_TAG_REQUIRED,
	TAG_ID.CAPTION,
	TAG_ID.COLGROUP,
	TAG_ID.TBODY,
	TAG_ID.TD,
	TAG_ID.TFOOT,
	TAG_ID.TH,
	TAG_ID.THEAD,
	TAG_ID.TR
]);
const SCOPING_ELEMENTS_HTML = new Set([
	TAG_ID.APPLET,
	TAG_ID.CAPTION,
	TAG_ID.HTML,
	TAG_ID.MARQUEE,
	TAG_ID.OBJECT,
	TAG_ID.TABLE,
	TAG_ID.TD,
	TAG_ID.TEMPLATE,
	TAG_ID.TH
]);
const SCOPING_ELEMENTS_HTML_LIST = new Set([
	...SCOPING_ELEMENTS_HTML,
	TAG_ID.OL,
	TAG_ID.UL
]);
const SCOPING_ELEMENTS_HTML_BUTTON = new Set([...SCOPING_ELEMENTS_HTML, TAG_ID.BUTTON]);
const SCOPING_ELEMENTS_MATHML = new Set([
	TAG_ID.ANNOTATION_XML,
	TAG_ID.MI,
	TAG_ID.MN,
	TAG_ID.MO,
	TAG_ID.MS,
	TAG_ID.MTEXT
]);
const SCOPING_ELEMENTS_SVG = new Set([
	TAG_ID.DESC,
	TAG_ID.FOREIGN_OBJECT,
	TAG_ID.TITLE
]);
const TABLE_ROW_CONTEXT = new Set([
	TAG_ID.TR,
	TAG_ID.TEMPLATE,
	TAG_ID.HTML
]);
const TABLE_BODY_CONTEXT = new Set([
	TAG_ID.TBODY,
	TAG_ID.TFOOT,
	TAG_ID.THEAD,
	TAG_ID.TEMPLATE,
	TAG_ID.HTML
]);
const TABLE_CONTEXT = new Set([
	TAG_ID.TABLE,
	TAG_ID.TEMPLATE,
	TAG_ID.HTML
]);
const TABLE_CELLS = new Set([TAG_ID.TD, TAG_ID.TH]);
var OpenElementStack = class {
	get currentTmplContentOrNode() {
		return this._isInTemplate() ? this.treeAdapter.getTemplateContent(this.current) : this.current;
	}
	constructor(document, treeAdapter, handler) {
		this.treeAdapter = treeAdapter;
		this.handler = handler;
		this.items = [];
		this.tagIDs = [];
		this.stackTop = -1;
		this.tmplCount = 0;
		this.currentTagId = TAG_ID.UNKNOWN;
		this.current = document;
	}
	_indexOf(element) {
		return this.items.lastIndexOf(element, this.stackTop);
	}
	_isInTemplate() {
		return this.currentTagId === TAG_ID.TEMPLATE && this.treeAdapter.getNamespaceURI(this.current) === NS.HTML;
	}
	_updateCurrentElement() {
		this.current = this.items[this.stackTop];
		this.currentTagId = this.tagIDs[this.stackTop];
	}
	push(element, tagID) {
		this.stackTop++;
		this.items[this.stackTop] = element;
		this.current = element;
		this.tagIDs[this.stackTop] = tagID;
		this.currentTagId = tagID;
		if (this._isInTemplate()) {
			this.tmplCount++;
		}
		this.handler.onItemPush(element, tagID, true);
	}
	pop() {
		const popped = this.current;
		if (this.tmplCount > 0 && this._isInTemplate()) {
			this.tmplCount--;
		}
		this.stackTop--;
		this._updateCurrentElement();
		this.handler.onItemPop(popped, true);
	}
	replace(oldElement, newElement) {
		const idx = this._indexOf(oldElement);
		this.items[idx] = newElement;
		if (idx === this.stackTop) {
			this.current = newElement;
		}
	}
	insertAfter(referenceElement, newElement, newElementID) {
		const insertionIdx = this._indexOf(referenceElement) + 1;
		this.items.splice(insertionIdx, 0, newElement);
		this.tagIDs.splice(insertionIdx, 0, newElementID);
		this.stackTop++;
		if (insertionIdx === this.stackTop) {
			this._updateCurrentElement();
		}
		if (this.current && this.currentTagId !== undefined) {
			this.handler.onItemPush(this.current, this.currentTagId, insertionIdx === this.stackTop);
		}
	}
	popUntilTagNamePopped(tagName) {
		let targetIdx = this.stackTop + 1;
		do {
			targetIdx = this.tagIDs.lastIndexOf(tagName, targetIdx - 1);
		} while (targetIdx > 0 && this.treeAdapter.getNamespaceURI(this.items[targetIdx]) !== NS.HTML);
		this.shortenToLength(Math.max(targetIdx, 0));
	}
	shortenToLength(idx) {
		while (this.stackTop >= idx) {
			const popped = this.current;
			if (this.tmplCount > 0 && this._isInTemplate()) {
				this.tmplCount -= 1;
			}
			this.stackTop--;
			this._updateCurrentElement();
			this.handler.onItemPop(popped, this.stackTop < idx);
		}
	}
	popUntilElementPopped(element) {
		const idx = this._indexOf(element);
		this.shortenToLength(Math.max(idx, 0));
	}
	popUntilPopped(tagNames, targetNS) {
		const idx = this._indexOfTagNames(tagNames, targetNS);
		this.shortenToLength(Math.max(idx, 0));
	}
	popUntilNumberedHeaderPopped() {
		this.popUntilPopped(NUMBERED_HEADERS, NS.HTML);
	}
	popUntilTableCellPopped() {
		this.popUntilPopped(TABLE_CELLS, NS.HTML);
	}
	popAllUpToHtmlElement() {
		this.tmplCount = 0;
		this.shortenToLength(1);
	}
	_indexOfTagNames(tagNames, namespace) {
		for (let i = this.stackTop; i >= 0; i--) {
			if (tagNames.has(this.tagIDs[i]) && this.treeAdapter.getNamespaceURI(this.items[i]) === namespace) {
				return i;
			}
		}
		return -1;
	}
	clearBackTo(tagNames, targetNS) {
		const idx = this._indexOfTagNames(tagNames, targetNS);
		this.shortenToLength(idx + 1);
	}
	clearBackToTableContext() {
		this.clearBackTo(TABLE_CONTEXT, NS.HTML);
	}
	clearBackToTableBodyContext() {
		this.clearBackTo(TABLE_BODY_CONTEXT, NS.HTML);
	}
	clearBackToTableRowContext() {
		this.clearBackTo(TABLE_ROW_CONTEXT, NS.HTML);
	}
	remove(element) {
		const idx = this._indexOf(element);
		if (idx >= 0) {
			if (idx === this.stackTop) {
				this.pop();
			} else {
				this.items.splice(idx, 1);
				this.tagIDs.splice(idx, 1);
				this.stackTop--;
				this._updateCurrentElement();
				this.handler.onItemPop(element, false);
			}
		}
	}
	tryPeekProperlyNestedBodyElement() {
		return this.stackTop >= 1 && this.tagIDs[1] === TAG_ID.BODY ? this.items[1] : null;
	}
	contains(element) {
		return this._indexOf(element) > -1;
	}
	getCommonAncestor(element) {
		const elementIdx = this._indexOf(element) - 1;
		return elementIdx >= 0 ? this.items[elementIdx] : null;
	}
	isRootHtmlElementCurrent() {
		return this.stackTop === 0 && this.tagIDs[0] === TAG_ID.HTML;
	}
	hasInDynamicScope(tagName, htmlScope) {
		for (let i = this.stackTop; i >= 0; i--) {
			const tn = this.tagIDs[i];
			switch (this.treeAdapter.getNamespaceURI(this.items[i])) {
				case NS.HTML: {
					if (tn === tagName) return true;
					if (htmlScope.has(tn)) return false;
					break;
				}
				case NS.SVG: {
					if (SCOPING_ELEMENTS_SVG.has(tn)) return false;
					break;
				}
				case NS.MATHML: {
					if (SCOPING_ELEMENTS_MATHML.has(tn)) return false;
					break;
				}
			}
		}
		return true;
	}
	hasInScope(tagName) {
		return this.hasInDynamicScope(tagName, SCOPING_ELEMENTS_HTML);
	}
	hasInListItemScope(tagName) {
		return this.hasInDynamicScope(tagName, SCOPING_ELEMENTS_HTML_LIST);
	}
	hasInButtonScope(tagName) {
		return this.hasInDynamicScope(tagName, SCOPING_ELEMENTS_HTML_BUTTON);
	}
	hasNumberedHeaderInScope() {
		for (let i = this.stackTop; i >= 0; i--) {
			const tn = this.tagIDs[i];
			switch (this.treeAdapter.getNamespaceURI(this.items[i])) {
				case NS.HTML: {
					if (NUMBERED_HEADERS.has(tn)) return true;
					if (SCOPING_ELEMENTS_HTML.has(tn)) return false;
					break;
				}
				case NS.SVG: {
					if (SCOPING_ELEMENTS_SVG.has(tn)) return false;
					break;
				}
				case NS.MATHML: {
					if (SCOPING_ELEMENTS_MATHML.has(tn)) return false;
					break;
				}
			}
		}
		return true;
	}
	hasInTableScope(tagName) {
		for (let i = this.stackTop; i >= 0; i--) {
			if (this.treeAdapter.getNamespaceURI(this.items[i]) !== NS.HTML) {
				continue;
			}
			switch (this.tagIDs[i]) {
				case tagName: {
					return true;
				}
				case TAG_ID.TABLE:
				case TAG_ID.HTML: {
					return false;
				}
			}
		}
		return true;
	}
	hasTableBodyContextInTableScope() {
		for (let i = this.stackTop; i >= 0; i--) {
			if (this.treeAdapter.getNamespaceURI(this.items[i]) !== NS.HTML) {
				continue;
			}
			switch (this.tagIDs[i]) {
				case TAG_ID.TBODY:
				case TAG_ID.THEAD:
				case TAG_ID.TFOOT: {
					return true;
				}
				case TAG_ID.TABLE:
				case TAG_ID.HTML: {
					return false;
				}
			}
		}
		return true;
	}
	hasInSelectScope(tagName) {
		for (let i = this.stackTop; i >= 0; i--) {
			if (this.treeAdapter.getNamespaceURI(this.items[i]) !== NS.HTML) {
				continue;
			}
			switch (this.tagIDs[i]) {
				case tagName: {
					return true;
				}
				case TAG_ID.OPTION:
				case TAG_ID.OPTGROUP: {
					break;
				}
				default: {
					return false;
				}
			}
		}
		return true;
	}
	generateImpliedEndTags() {
		while (this.currentTagId !== undefined && IMPLICIT_END_TAG_REQUIRED.has(this.currentTagId)) {
			this.pop();
		}
	}
	generateImpliedEndTagsThoroughly() {
		while (this.currentTagId !== undefined && IMPLICIT_END_TAG_REQUIRED_THOROUGHLY.has(this.currentTagId)) {
			this.pop();
		}
	}
	generateImpliedEndTagsWithExclusion(exclusionId) {
		while (this.currentTagId !== undefined && this.currentTagId !== exclusionId && IMPLICIT_END_TAG_REQUIRED_THOROUGHLY.has(this.currentTagId)) {
			this.pop();
		}
	}
};

//#endregion
//#region ../node_modules/parse5/dist/parser/formatting-element-list.js
const NOAH_ARK_CAPACITY = 3;
var EntryType;
(function(EntryType) {
	EntryType[EntryType["Marker"] = 0] = "Marker";
	EntryType[EntryType["Element"] = 1] = "Element";
})(EntryType || (EntryType = {}));
const MARKER = { type: EntryType.Marker };
var FormattingElementList = class {
	constructor(treeAdapter) {
		this.treeAdapter = treeAdapter;
		this.entries = [];
		this.bookmark = null;
	}
	_getNoahArkConditionCandidates(newElement, neAttrs) {
		const candidates = [];
		const neAttrsLength = neAttrs.length;
		const neTagName = this.treeAdapter.getTagName(newElement);
		const neNamespaceURI = this.treeAdapter.getNamespaceURI(newElement);
		for (let i = 0; i < this.entries.length; i++) {
			const entry = this.entries[i];
			if (entry.type === EntryType.Marker) {
				break;
			}
			const { element } = entry;
			if (this.treeAdapter.getTagName(element) === neTagName && this.treeAdapter.getNamespaceURI(element) === neNamespaceURI) {
				const elementAttrs = this.treeAdapter.getAttrList(element);
				if (elementAttrs.length === neAttrsLength) {
					candidates.push({
						idx: i,
						attrs: elementAttrs
					});
				}
			}
		}
		return candidates;
	}
	_ensureNoahArkCondition(newElement) {
		if (this.entries.length < NOAH_ARK_CAPACITY) return;
		const neAttrs = this.treeAdapter.getAttrList(newElement);
		const candidates = this._getNoahArkConditionCandidates(newElement, neAttrs);
		if (candidates.length < NOAH_ARK_CAPACITY) return;
		const neAttrsMap = new Map(neAttrs.map((neAttr) => [neAttr.name, neAttr.value]));
		let validCandidates = 0;
		for (let i = 0; i < candidates.length; i++) {
			const candidate = candidates[i];
			if (candidate.attrs.every((cAttr) => neAttrsMap.get(cAttr.name) === cAttr.value)) {
				validCandidates += 1;
				if (validCandidates >= NOAH_ARK_CAPACITY) {
					this.entries.splice(candidate.idx, 1);
				}
			}
		}
	}
	insertMarker() {
		this.entries.unshift(MARKER);
	}
	pushElement(element, token) {
		this._ensureNoahArkCondition(element);
		this.entries.unshift({
			type: EntryType.Element,
			element,
			token
		});
	}
	insertElementAfterBookmark(element, token) {
		const bookmarkIdx = this.entries.indexOf(this.bookmark);
		this.entries.splice(bookmarkIdx, 0, {
			type: EntryType.Element,
			element,
			token
		});
	}
	removeEntry(entry) {
		const entryIndex = this.entries.indexOf(entry);
		if (entryIndex !== -1) {
			this.entries.splice(entryIndex, 1);
		}
	}
	/**
	* Clears the list of formatting elements up to the last marker.
	*
	* @see https://html.spec.whatwg.org/multipage/parsing.html#clear-the-list-of-active-formatting-elements-up-to-the-last-marker
	*/
	clearToLastMarker() {
		const markerIdx = this.entries.indexOf(MARKER);
		if (markerIdx === -1) {
			this.entries.length = 0;
		} else {
			this.entries.splice(0, markerIdx + 1);
		}
	}
	getElementEntryInScopeWithTagName(tagName) {
		const entry = this.entries.find((entry) => entry.type === EntryType.Marker || this.treeAdapter.getTagName(entry.element) === tagName);
		return entry && entry.type === EntryType.Element ? entry : null;
	}
	getElementEntry(element) {
		return this.entries.find((entry) => entry.type === EntryType.Element && entry.element === element);
	}
};

//#endregion
//#region ../node_modules/parse5/dist/tree-adapters/default.js
const defaultTreeAdapter = {
	createDocument() {
		return {
			nodeName: "#document",
			mode: DOCUMENT_MODE.NO_QUIRKS,
			childNodes: []
		};
	},
	createDocumentFragment() {
		return {
			nodeName: "#document-fragment",
			childNodes: []
		};
	},
	createElement(tagName, namespaceURI, attrs) {
		return {
			nodeName: tagName,
			tagName,
			attrs,
			namespaceURI,
			childNodes: [],
			parentNode: null
		};
	},
	createCommentNode(data) {
		return {
			nodeName: "#comment",
			data,
			parentNode: null
		};
	},
	createTextNode(value) {
		return {
			nodeName: "#text",
			value,
			parentNode: null
		};
	},
	appendChild(parentNode, newNode) {
		parentNode.childNodes.push(newNode);
		newNode.parentNode = parentNode;
	},
	insertBefore(parentNode, newNode, referenceNode) {
		const insertionIdx = parentNode.childNodes.indexOf(referenceNode);
		parentNode.childNodes.splice(insertionIdx, 0, newNode);
		newNode.parentNode = parentNode;
	},
	setTemplateContent(templateElement, contentElement) {
		templateElement.content = contentElement;
	},
	getTemplateContent(templateElement) {
		return templateElement.content;
	},
	setDocumentType(document, name, publicId, systemId) {
		const doctypeNode = document.childNodes.find((node) => node.nodeName === "#documentType");
		if (doctypeNode) {
			doctypeNode.name = name;
			doctypeNode.publicId = publicId;
			doctypeNode.systemId = systemId;
		} else {
			const node = {
				nodeName: "#documentType",
				name,
				publicId,
				systemId,
				parentNode: null
			};
			defaultTreeAdapter.appendChild(document, node);
		}
	},
	setDocumentMode(document, mode) {
		document.mode = mode;
	},
	getDocumentMode(document) {
		return document.mode;
	},
	detachNode(node) {
		if (node.parentNode) {
			const idx = node.parentNode.childNodes.indexOf(node);
			node.parentNode.childNodes.splice(idx, 1);
			node.parentNode = null;
		}
	},
	insertText(parentNode, text) {
		if (parentNode.childNodes.length > 0) {
			const prevNode = parentNode.childNodes[parentNode.childNodes.length - 1];
			if (defaultTreeAdapter.isTextNode(prevNode)) {
				prevNode.value += text;
				return;
			}
		}
		defaultTreeAdapter.appendChild(parentNode, defaultTreeAdapter.createTextNode(text));
	},
	insertTextBefore(parentNode, text, referenceNode) {
		const prevNode = parentNode.childNodes[parentNode.childNodes.indexOf(referenceNode) - 1];
		if (prevNode && defaultTreeAdapter.isTextNode(prevNode)) {
			prevNode.value += text;
		} else {
			defaultTreeAdapter.insertBefore(parentNode, defaultTreeAdapter.createTextNode(text), referenceNode);
		}
	},
	adoptAttributes(recipient, attrs) {
		const recipientAttrsMap = new Set(recipient.attrs.map((attr) => attr.name));
		for (let j = 0; j < attrs.length; j++) {
			if (!recipientAttrsMap.has(attrs[j].name)) {
				recipient.attrs.push(attrs[j]);
			}
		}
	},
	getFirstChild(node) {
		return node.childNodes[0];
	},
	getChildNodes(node) {
		return node.childNodes;
	},
	getParentNode(node) {
		return node.parentNode;
	},
	getAttrList(element) {
		return element.attrs;
	},
	getTagName(element) {
		return element.tagName;
	},
	getNamespaceURI(element) {
		return element.namespaceURI;
	},
	getTextNodeContent(textNode) {
		return textNode.value;
	},
	getCommentNodeContent(commentNode) {
		return commentNode.data;
	},
	getDocumentTypeNodeName(doctypeNode) {
		return doctypeNode.name;
	},
	getDocumentTypeNodePublicId(doctypeNode) {
		return doctypeNode.publicId;
	},
	getDocumentTypeNodeSystemId(doctypeNode) {
		return doctypeNode.systemId;
	},
	isTextNode(node) {
		return node.nodeName === "#text";
	},
	isCommentNode(node) {
		return node.nodeName === "#comment";
	},
	isDocumentTypeNode(node) {
		return node.nodeName === "#documentType";
	},
	isElementNode(node) {
		return Object.prototype.hasOwnProperty.call(node, "tagName");
	},
	setNodeSourceCodeLocation(node, location) {
		node.sourceCodeLocation = location;
	},
	getNodeSourceCodeLocation(node) {
		return node.sourceCodeLocation;
	},
	updateNodeSourceCodeLocation(node, endLocation) {
		node.sourceCodeLocation = {
			...node.sourceCodeLocation,
			...endLocation
		};
	}
};

//#endregion
//#region ../node_modules/parse5/dist/common/doctype.js
const VALID_DOCTYPE_NAME = "html";
const VALID_SYSTEM_ID = "about:legacy-compat";
const QUIRKS_MODE_SYSTEM_ID = "http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd";
const QUIRKS_MODE_PUBLIC_ID_PREFIXES = [
	"+//silmaril//dtd html pro v0r11 19970101//",
	"-//as//dtd html 3.0 aswedit + extensions//",
	"-//advasoft ltd//dtd html 3.0 aswedit + extensions//",
	"-//ietf//dtd html 2.0 level 1//",
	"-//ietf//dtd html 2.0 level 2//",
	"-//ietf//dtd html 2.0 strict level 1//",
	"-//ietf//dtd html 2.0 strict level 2//",
	"-//ietf//dtd html 2.0 strict//",
	"-//ietf//dtd html 2.0//",
	"-//ietf//dtd html 2.1e//",
	"-//ietf//dtd html 3.0//",
	"-//ietf//dtd html 3.2 final//",
	"-//ietf//dtd html 3.2//",
	"-//ietf//dtd html 3//",
	"-//ietf//dtd html level 0//",
	"-//ietf//dtd html level 1//",
	"-//ietf//dtd html level 2//",
	"-//ietf//dtd html level 3//",
	"-//ietf//dtd html strict level 0//",
	"-//ietf//dtd html strict level 1//",
	"-//ietf//dtd html strict level 2//",
	"-//ietf//dtd html strict level 3//",
	"-//ietf//dtd html strict//",
	"-//ietf//dtd html//",
	"-//metrius//dtd metrius presentational//",
	"-//microsoft//dtd internet explorer 2.0 html strict//",
	"-//microsoft//dtd internet explorer 2.0 html//",
	"-//microsoft//dtd internet explorer 2.0 tables//",
	"-//microsoft//dtd internet explorer 3.0 html strict//",
	"-//microsoft//dtd internet explorer 3.0 html//",
	"-//microsoft//dtd internet explorer 3.0 tables//",
	"-//netscape comm. corp.//dtd html//",
	"-//netscape comm. corp.//dtd strict html//",
	"-//o'reilly and associates//dtd html 2.0//",
	"-//o'reilly and associates//dtd html extended 1.0//",
	"-//o'reilly and associates//dtd html extended relaxed 1.0//",
	"-//sq//dtd html 2.0 hotmetal + extensions//",
	"-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//",
	"-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//",
	"-//spyglass//dtd html 2.0 extended//",
	"-//sun microsystems corp.//dtd hotjava html//",
	"-//sun microsystems corp.//dtd hotjava strict html//",
	"-//w3c//dtd html 3 1995-03-24//",
	"-//w3c//dtd html 3.2 draft//",
	"-//w3c//dtd html 3.2 final//",
	"-//w3c//dtd html 3.2//",
	"-//w3c//dtd html 3.2s draft//",
	"-//w3c//dtd html 4.0 frameset//",
	"-//w3c//dtd html 4.0 transitional//",
	"-//w3c//dtd html experimental 19960712//",
	"-//w3c//dtd html experimental 970421//",
	"-//w3c//dtd w3 html//",
	"-//w3o//dtd w3 html 3.0//",
	"-//webtechs//dtd mozilla html 2.0//",
	"-//webtechs//dtd mozilla html//"
];
const QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES = [
	...QUIRKS_MODE_PUBLIC_ID_PREFIXES,
	"-//w3c//dtd html 4.01 frameset//",
	"-//w3c//dtd html 4.01 transitional//"
];
const QUIRKS_MODE_PUBLIC_IDS = new Set([
	"-//w3o//dtd w3 html strict 3.0//en//",
	"-/w3c/dtd html 4.0 transitional/en",
	"html"
]);
const LIMITED_QUIRKS_PUBLIC_ID_PREFIXES = ["-//w3c//dtd xhtml 1.0 frameset//", "-//w3c//dtd xhtml 1.0 transitional//"];
const LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES = [
	...LIMITED_QUIRKS_PUBLIC_ID_PREFIXES,
	"-//w3c//dtd html 4.01 frameset//",
	"-//w3c//dtd html 4.01 transitional//"
];
function hasPrefix(publicId, prefixes) {
	return prefixes.some((prefix) => publicId.startsWith(prefix));
}
function isConforming(token) {
	return token.name === VALID_DOCTYPE_NAME && token.publicId === null && (token.systemId === null || token.systemId === VALID_SYSTEM_ID);
}
function getDocumentMode(token) {
	if (token.name !== VALID_DOCTYPE_NAME) {
		return DOCUMENT_MODE.QUIRKS;
	}
	const { systemId } = token;
	if (systemId && systemId.toLowerCase() === QUIRKS_MODE_SYSTEM_ID) {
		return DOCUMENT_MODE.QUIRKS;
	}
	let { publicId } = token;
	if (publicId !== null) {
		publicId = publicId.toLowerCase();
		if (QUIRKS_MODE_PUBLIC_IDS.has(publicId)) {
			return DOCUMENT_MODE.QUIRKS;
		}
		let prefixes = systemId === null ? QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES : QUIRKS_MODE_PUBLIC_ID_PREFIXES;
		if (hasPrefix(publicId, prefixes)) {
			return DOCUMENT_MODE.QUIRKS;
		}
		prefixes = systemId === null ? LIMITED_QUIRKS_PUBLIC_ID_PREFIXES : LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES;
		if (hasPrefix(publicId, prefixes)) {
			return DOCUMENT_MODE.LIMITED_QUIRKS;
		}
	}
	return DOCUMENT_MODE.NO_QUIRKS;
}

//#endregion
//#region ../node_modules/parse5/dist/common/foreign-content.js
const MIME_TYPES = {
	TEXT_HTML: "text/html",
	APPLICATION_XML: "application/xhtml+xml"
};
const DEFINITION_URL_ATTR = "definitionurl";
const ADJUSTED_DEFINITION_URL_ATTR = "definitionURL";
const SVG_ATTRS_ADJUSTMENT_MAP = new Map([
	"attributeName",
	"attributeType",
	"baseFrequency",
	"baseProfile",
	"calcMode",
	"clipPathUnits",
	"diffuseConstant",
	"edgeMode",
	"filterUnits",
	"glyphRef",
	"gradientTransform",
	"gradientUnits",
	"kernelMatrix",
	"kernelUnitLength",
	"keyPoints",
	"keySplines",
	"keyTimes",
	"lengthAdjust",
	"limitingConeAngle",
	"markerHeight",
	"markerUnits",
	"markerWidth",
	"maskContentUnits",
	"maskUnits",
	"numOctaves",
	"pathLength",
	"patternContentUnits",
	"patternTransform",
	"patternUnits",
	"pointsAtX",
	"pointsAtY",
	"pointsAtZ",
	"preserveAlpha",
	"preserveAspectRatio",
	"primitiveUnits",
	"refX",
	"refY",
	"repeatCount",
	"repeatDur",
	"requiredExtensions",
	"requiredFeatures",
	"specularConstant",
	"specularExponent",
	"spreadMethod",
	"startOffset",
	"stdDeviation",
	"stitchTiles",
	"surfaceScale",
	"systemLanguage",
	"tableValues",
	"targetX",
	"targetY",
	"textLength",
	"viewBox",
	"viewTarget",
	"xChannelSelector",
	"yChannelSelector",
	"zoomAndPan"
].map((attr) => [attr.toLowerCase(), attr]));
const XML_ATTRS_ADJUSTMENT_MAP = new Map([
	["xlink:actuate", {
		prefix: "xlink",
		name: "actuate",
		namespace: NS.XLINK
	}],
	["xlink:arcrole", {
		prefix: "xlink",
		name: "arcrole",
		namespace: NS.XLINK
	}],
	["xlink:href", {
		prefix: "xlink",
		name: "href",
		namespace: NS.XLINK
	}],
	["xlink:role", {
		prefix: "xlink",
		name: "role",
		namespace: NS.XLINK
	}],
	["xlink:show", {
		prefix: "xlink",
		name: "show",
		namespace: NS.XLINK
	}],
	["xlink:title", {
		prefix: "xlink",
		name: "title",
		namespace: NS.XLINK
	}],
	["xlink:type", {
		prefix: "xlink",
		name: "type",
		namespace: NS.XLINK
	}],
	["xml:lang", {
		prefix: "xml",
		name: "lang",
		namespace: NS.XML
	}],
	["xml:space", {
		prefix: "xml",
		name: "space",
		namespace: NS.XML
	}],
	["xmlns", {
		prefix: "",
		name: "xmlns",
		namespace: NS.XMLNS
	}],
	["xmlns:xlink", {
		prefix: "xmlns",
		name: "xlink",
		namespace: NS.XMLNS
	}]
]);
const SVG_TAG_NAMES_ADJUSTMENT_MAP = new Map([
	"altGlyph",
	"altGlyphDef",
	"altGlyphItem",
	"animateColor",
	"animateMotion",
	"animateTransform",
	"clipPath",
	"feBlend",
	"feColorMatrix",
	"feComponentTransfer",
	"feComposite",
	"feConvolveMatrix",
	"feDiffuseLighting",
	"feDisplacementMap",
	"feDistantLight",
	"feFlood",
	"feFuncA",
	"feFuncB",
	"feFuncG",
	"feFuncR",
	"feGaussianBlur",
	"feImage",
	"feMerge",
	"feMergeNode",
	"feMorphology",
	"feOffset",
	"fePointLight",
	"feSpecularLighting",
	"feSpotLight",
	"feTile",
	"feTurbulence",
	"foreignObject",
	"glyphRef",
	"linearGradient",
	"radialGradient",
	"textPath"
].map((tn) => [tn.toLowerCase(), tn]));
const EXITS_FOREIGN_CONTENT = new Set([
	TAG_ID.B,
	TAG_ID.BIG,
	TAG_ID.BLOCKQUOTE,
	TAG_ID.BODY,
	TAG_ID.BR,
	TAG_ID.CENTER,
	TAG_ID.CODE,
	TAG_ID.DD,
	TAG_ID.DIV,
	TAG_ID.DL,
	TAG_ID.DT,
	TAG_ID.EM,
	TAG_ID.EMBED,
	TAG_ID.H1,
	TAG_ID.H2,
	TAG_ID.H3,
	TAG_ID.H4,
	TAG_ID.H5,
	TAG_ID.H6,
	TAG_ID.HEAD,
	TAG_ID.HR,
	TAG_ID.I,
	TAG_ID.IMG,
	TAG_ID.LI,
	TAG_ID.LISTING,
	TAG_ID.MENU,
	TAG_ID.META,
	TAG_ID.NOBR,
	TAG_ID.OL,
	TAG_ID.P,
	TAG_ID.PRE,
	TAG_ID.RUBY,
	TAG_ID.S,
	TAG_ID.SMALL,
	TAG_ID.SPAN,
	TAG_ID.STRONG,
	TAG_ID.STRIKE,
	TAG_ID.SUB,
	TAG_ID.SUP,
	TAG_ID.TABLE,
	TAG_ID.TT,
	TAG_ID.U,
	TAG_ID.UL,
	TAG_ID.VAR
]);
function causesExit(startTagToken) {
	const tn = startTagToken.tagID;
	const isFontWithAttrs = tn === TAG_ID.FONT && startTagToken.attrs.some(({ name }) => name === ATTRS.COLOR || name === ATTRS.SIZE || name === ATTRS.FACE);
	return isFontWithAttrs || EXITS_FOREIGN_CONTENT.has(tn);
}
function adjustTokenMathMLAttrs(token) {
	for (let i = 0; i < token.attrs.length; i++) {
		if (token.attrs[i].name === DEFINITION_URL_ATTR) {
			token.attrs[i].name = ADJUSTED_DEFINITION_URL_ATTR;
			break;
		}
	}
}
function adjustTokenSVGAttrs(token) {
	for (let i = 0; i < token.attrs.length; i++) {
		const adjustedAttrName = SVG_ATTRS_ADJUSTMENT_MAP.get(token.attrs[i].name);
		if (adjustedAttrName != null) {
			token.attrs[i].name = adjustedAttrName;
		}
	}
}
function adjustTokenXMLAttrs(token) {
	for (let i = 0; i < token.attrs.length; i++) {
		const adjustedAttrEntry = XML_ATTRS_ADJUSTMENT_MAP.get(token.attrs[i].name);
		if (adjustedAttrEntry) {
			token.attrs[i].prefix = adjustedAttrEntry.prefix;
			token.attrs[i].name = adjustedAttrEntry.name;
			token.attrs[i].namespace = adjustedAttrEntry.namespace;
		}
	}
}
function adjustTokenSVGTagName(token) {
	const adjustedTagName = SVG_TAG_NAMES_ADJUSTMENT_MAP.get(token.tagName);
	if (adjustedTagName != null) {
		token.tagName = adjustedTagName;
		token.tagID = getTagID(token.tagName);
	}
}
function isMathMLTextIntegrationPoint(tn, ns) {
	return ns === NS.MATHML && (tn === TAG_ID.MI || tn === TAG_ID.MO || tn === TAG_ID.MN || tn === TAG_ID.MS || tn === TAG_ID.MTEXT);
}
function isHtmlIntegrationPoint(tn, ns, attrs) {
	if (ns === NS.MATHML && tn === TAG_ID.ANNOTATION_XML) {
		for (let i = 0; i < attrs.length; i++) {
			if (attrs[i].name === ATTRS.ENCODING) {
				const value = attrs[i].value.toLowerCase();
				return value === MIME_TYPES.TEXT_HTML || value === MIME_TYPES.APPLICATION_XML;
			}
		}
	}
	return ns === NS.SVG && (tn === TAG_ID.FOREIGN_OBJECT || tn === TAG_ID.DESC || tn === TAG_ID.TITLE);
}
function isIntegrationPoint(tn, ns, attrs, foreignNS) {
	return (!foreignNS || foreignNS === NS.HTML) && isHtmlIntegrationPoint(tn, ns, attrs) || (!foreignNS || foreignNS === NS.MATHML) && isMathMLTextIntegrationPoint(tn, ns);
}

//#endregion
//#region ../node_modules/parse5/dist/parser/index.js
const HIDDEN_INPUT_TYPE = "hidden";
const AA_OUTER_LOOP_ITER = 8;
const AA_INNER_LOOP_ITER = 3;
var InsertionMode;
(function(InsertionMode) {
	InsertionMode[InsertionMode["INITIAL"] = 0] = "INITIAL";
	InsertionMode[InsertionMode["BEFORE_HTML"] = 1] = "BEFORE_HTML";
	InsertionMode[InsertionMode["BEFORE_HEAD"] = 2] = "BEFORE_HEAD";
	InsertionMode[InsertionMode["IN_HEAD"] = 3] = "IN_HEAD";
	InsertionMode[InsertionMode["IN_HEAD_NO_SCRIPT"] = 4] = "IN_HEAD_NO_SCRIPT";
	InsertionMode[InsertionMode["AFTER_HEAD"] = 5] = "AFTER_HEAD";
	InsertionMode[InsertionMode["IN_BODY"] = 6] = "IN_BODY";
	InsertionMode[InsertionMode["TEXT"] = 7] = "TEXT";
	InsertionMode[InsertionMode["IN_TABLE"] = 8] = "IN_TABLE";
	InsertionMode[InsertionMode["IN_TABLE_TEXT"] = 9] = "IN_TABLE_TEXT";
	InsertionMode[InsertionMode["IN_CAPTION"] = 10] = "IN_CAPTION";
	InsertionMode[InsertionMode["IN_COLUMN_GROUP"] = 11] = "IN_COLUMN_GROUP";
	InsertionMode[InsertionMode["IN_TABLE_BODY"] = 12] = "IN_TABLE_BODY";
	InsertionMode[InsertionMode["IN_ROW"] = 13] = "IN_ROW";
	InsertionMode[InsertionMode["IN_CELL"] = 14] = "IN_CELL";
	InsertionMode[InsertionMode["IN_SELECT"] = 15] = "IN_SELECT";
	InsertionMode[InsertionMode["IN_SELECT_IN_TABLE"] = 16] = "IN_SELECT_IN_TABLE";
	InsertionMode[InsertionMode["IN_TEMPLATE"] = 17] = "IN_TEMPLATE";
	InsertionMode[InsertionMode["AFTER_BODY"] = 18] = "AFTER_BODY";
	InsertionMode[InsertionMode["IN_FRAMESET"] = 19] = "IN_FRAMESET";
	InsertionMode[InsertionMode["AFTER_FRAMESET"] = 20] = "AFTER_FRAMESET";
	InsertionMode[InsertionMode["AFTER_AFTER_BODY"] = 21] = "AFTER_AFTER_BODY";
	InsertionMode[InsertionMode["AFTER_AFTER_FRAMESET"] = 22] = "AFTER_AFTER_FRAMESET";
})(InsertionMode || (InsertionMode = {}));
const BASE_LOC = {
	startLine: -1,
	startCol: -1,
	startOffset: -1,
	endLine: -1,
	endCol: -1,
	endOffset: -1
};
const TABLE_STRUCTURE_TAGS = new Set([
	TAG_ID.TABLE,
	TAG_ID.TBODY,
	TAG_ID.TFOOT,
	TAG_ID.THEAD,
	TAG_ID.TR
]);
const defaultParserOptions = {
	scriptingEnabled: true,
	sourceCodeLocationInfo: false,
	treeAdapter: defaultTreeAdapter,
	onParseError: null
};
var Parser = class {
	constructor(options, document, fragmentContext = null, scriptHandler = null) {
		this.fragmentContext = fragmentContext;
		this.scriptHandler = scriptHandler;
		this.currentToken = null;
		this.stopped = false;
		/** @internal */
		this.insertionMode = InsertionMode.INITIAL;
		/** @internal */
		this.originalInsertionMode = InsertionMode.INITIAL;
		/** @internal */
		this.headElement = null;
		/** @internal */
		this.formElement = null;
		/** Indicates that the current node is not an element in the HTML namespace */
		this.currentNotInHTML = false;
		/**
		* The template insertion mode stack is maintained from the left.
		* Ie. the topmost element will always have index 0.
		*
		* @internal
		*/
		this.tmplInsertionModeStack = [];
		/** @internal */
		this.pendingCharacterTokens = [];
		/** @internal */
		this.hasNonWhitespacePendingCharacterToken = false;
		/** @internal */
		this.framesetOk = true;
		/** @internal */
		this.skipNextNewLine = false;
		/** @internal */
		this.fosterParentingEnabled = false;
		this.options = {
			...defaultParserOptions,
			...options
		};
		this.treeAdapter = this.options.treeAdapter;
		this.onParseError = this.options.onParseError;
		if (this.onParseError) {
			this.options.sourceCodeLocationInfo = true;
		}
		this.document = document !== null && document !== void 0 ? document : this.treeAdapter.createDocument();
		this.tokenizer = new Tokenizer(this.options, this);
		this.activeFormattingElements = new FormattingElementList(this.treeAdapter);
		this.fragmentContextID = fragmentContext ? getTagID(this.treeAdapter.getTagName(fragmentContext)) : TAG_ID.UNKNOWN;
		this._setContextModes(fragmentContext !== null && fragmentContext !== void 0 ? fragmentContext : this.document, this.fragmentContextID);
		this.openElements = new OpenElementStack(this.document, this.treeAdapter, this);
	}
	static parse(html, options) {
		const parser = new this(options);
		parser.tokenizer.write(html, true);
		return parser.document;
	}
	static getFragmentParser(fragmentContext, options) {
		const opts = {
			...defaultParserOptions,
			...options
		};
		fragmentContext !== null && fragmentContext !== void 0 ? fragmentContext : fragmentContext = opts.treeAdapter.createElement(TAG_NAMES.TEMPLATE, NS.HTML, []);
		const documentMock = opts.treeAdapter.createElement("documentmock", NS.HTML, []);
		const parser = new this(opts, documentMock, fragmentContext);
		if (parser.fragmentContextID === TAG_ID.TEMPLATE) {
			parser.tmplInsertionModeStack.unshift(InsertionMode.IN_TEMPLATE);
		}
		parser._initTokenizerForFragmentParsing();
		parser._insertFakeRootElement();
		parser._resetInsertionMode();
		parser._findFormInFragmentContext();
		return parser;
	}
	getFragment() {
		const rootElement = this.treeAdapter.getFirstChild(this.document);
		const fragment = this.treeAdapter.createDocumentFragment();
		this._adoptNodes(rootElement, fragment);
		return fragment;
	}
	/** @internal */
	_err(token, code, beforeToken) {
		var _a;
		if (!this.onParseError) return;
		const loc = (_a = token.location) !== null && _a !== void 0 ? _a : BASE_LOC;
		const err = {
			code,
			startLine: loc.startLine,
			startCol: loc.startCol,
			startOffset: loc.startOffset,
			endLine: beforeToken ? loc.startLine : loc.endLine,
			endCol: beforeToken ? loc.startCol : loc.endCol,
			endOffset: beforeToken ? loc.startOffset : loc.endOffset
		};
		this.onParseError(err);
	}
	/** @internal */
	onItemPush(node, tid, isTop) {
		var _a, _b;
		(_b = (_a = this.treeAdapter).onItemPush) === null || _b === void 0 ? void 0 : _b.call(_a, node);
		if (isTop && this.openElements.stackTop > 0) this._setContextModes(node, tid);
	}
	/** @internal */
	onItemPop(node, isTop) {
		var _a, _b;
		if (this.options.sourceCodeLocationInfo) {
			this._setEndLocation(node, this.currentToken);
		}
		(_b = (_a = this.treeAdapter).onItemPop) === null || _b === void 0 ? void 0 : _b.call(_a, node, this.openElements.current);
		if (isTop) {
			let current;
			let currentTagId;
			if (this.openElements.stackTop === 0 && this.fragmentContext) {
				current = this.fragmentContext;
				currentTagId = this.fragmentContextID;
			} else {
				({current, currentTagId} = this.openElements);
			}
			this._setContextModes(current, currentTagId);
		}
	}
	_setContextModes(current, tid) {
		const isHTML = current === this.document || current && this.treeAdapter.getNamespaceURI(current) === NS.HTML;
		this.currentNotInHTML = !isHTML;
		this.tokenizer.inForeignNode = !isHTML && current !== undefined && tid !== undefined && !this._isIntegrationPoint(tid, current);
	}
	/** @protected */
	_switchToTextParsing(currentToken, nextTokenizerState) {
		this._insertElement(currentToken, NS.HTML);
		this.tokenizer.state = nextTokenizerState;
		this.originalInsertionMode = this.insertionMode;
		this.insertionMode = InsertionMode.TEXT;
	}
	switchToPlaintextParsing() {
		this.insertionMode = InsertionMode.TEXT;
		this.originalInsertionMode = InsertionMode.IN_BODY;
		this.tokenizer.state = TokenizerMode.PLAINTEXT;
	}
	/** @protected */
	_getAdjustedCurrentElement() {
		return this.openElements.stackTop === 0 && this.fragmentContext ? this.fragmentContext : this.openElements.current;
	}
	/** @protected */
	_findFormInFragmentContext() {
		let node = this.fragmentContext;
		while (node) {
			if (this.treeAdapter.getTagName(node) === TAG_NAMES.FORM) {
				this.formElement = node;
				break;
			}
			node = this.treeAdapter.getParentNode(node);
		}
	}
	_initTokenizerForFragmentParsing() {
		if (!this.fragmentContext || this.treeAdapter.getNamespaceURI(this.fragmentContext) !== NS.HTML) {
			return;
		}
		switch (this.fragmentContextID) {
			case TAG_ID.TITLE:
			case TAG_ID.TEXTAREA: {
				this.tokenizer.state = TokenizerMode.RCDATA;
				break;
			}
			case TAG_ID.STYLE:
			case TAG_ID.XMP:
			case TAG_ID.IFRAME:
			case TAG_ID.NOEMBED:
			case TAG_ID.NOFRAMES:
			case TAG_ID.NOSCRIPT: {
				this.tokenizer.state = TokenizerMode.RAWTEXT;
				break;
			}
			case TAG_ID.SCRIPT: {
				this.tokenizer.state = TokenizerMode.SCRIPT_DATA;
				break;
			}
			case TAG_ID.PLAINTEXT: {
				this.tokenizer.state = TokenizerMode.PLAINTEXT;
				break;
			}
			default:
		}
	}
	/** @protected */
	_setDocumentType(token) {
		const name = token.name || "";
		const publicId = token.publicId || "";
		const systemId = token.systemId || "";
		this.treeAdapter.setDocumentType(this.document, name, publicId, systemId);
		if (token.location) {
			const documentChildren = this.treeAdapter.getChildNodes(this.document);
			const docTypeNode = documentChildren.find((node) => this.treeAdapter.isDocumentTypeNode(node));
			if (docTypeNode) {
				this.treeAdapter.setNodeSourceCodeLocation(docTypeNode, token.location);
			}
		}
	}
	/** @protected */
	_attachElementToTree(element, location) {
		if (this.options.sourceCodeLocationInfo) {
			const loc = location && {
				...location,
				startTag: location
			};
			this.treeAdapter.setNodeSourceCodeLocation(element, loc);
		}
		if (this._shouldFosterParentOnInsertion()) {
			this._fosterParentElement(element);
		} else {
			const parent = this.openElements.currentTmplContentOrNode;
			this.treeAdapter.appendChild(parent !== null && parent !== void 0 ? parent : this.document, element);
		}
	}
	/**
	* For self-closing tags. Add an element to the tree, but skip adding it
	* to the stack.
	*/
	/** @protected */
	_appendElement(token, namespaceURI) {
		const element = this.treeAdapter.createElement(token.tagName, namespaceURI, token.attrs);
		this._attachElementToTree(element, token.location);
	}
	/** @protected */
	_insertElement(token, namespaceURI) {
		const element = this.treeAdapter.createElement(token.tagName, namespaceURI, token.attrs);
		this._attachElementToTree(element, token.location);
		this.openElements.push(element, token.tagID);
	}
	/** @protected */
	_insertFakeElement(tagName, tagID) {
		const element = this.treeAdapter.createElement(tagName, NS.HTML, []);
		this._attachElementToTree(element, null);
		this.openElements.push(element, tagID);
	}
	/** @protected */
	_insertTemplate(token) {
		const tmpl = this.treeAdapter.createElement(token.tagName, NS.HTML, token.attrs);
		const content = this.treeAdapter.createDocumentFragment();
		this.treeAdapter.setTemplateContent(tmpl, content);
		this._attachElementToTree(tmpl, token.location);
		this.openElements.push(tmpl, token.tagID);
		if (this.options.sourceCodeLocationInfo) this.treeAdapter.setNodeSourceCodeLocation(content, null);
	}
	/** @protected */
	_insertFakeRootElement() {
		const element = this.treeAdapter.createElement(TAG_NAMES.HTML, NS.HTML, []);
		if (this.options.sourceCodeLocationInfo) this.treeAdapter.setNodeSourceCodeLocation(element, null);
		this.treeAdapter.appendChild(this.openElements.current, element);
		this.openElements.push(element, TAG_ID.HTML);
	}
	/** @protected */
	_appendCommentNode(token, parent) {
		const commentNode = this.treeAdapter.createCommentNode(token.data);
		this.treeAdapter.appendChild(parent, commentNode);
		if (this.options.sourceCodeLocationInfo) {
			this.treeAdapter.setNodeSourceCodeLocation(commentNode, token.location);
		}
	}
	/** @protected */
	_insertCharacters(token) {
		let parent;
		let beforeElement;
		if (this._shouldFosterParentOnInsertion()) {
			({parent, beforeElement} = this._findFosterParentingLocation());
			if (beforeElement) {
				this.treeAdapter.insertTextBefore(parent, token.chars, beforeElement);
			} else {
				this.treeAdapter.insertText(parent, token.chars);
			}
		} else {
			parent = this.openElements.currentTmplContentOrNode;
			this.treeAdapter.insertText(parent, token.chars);
		}
		if (!token.location) return;
		const siblings = this.treeAdapter.getChildNodes(parent);
		const textNodeIdx = beforeElement ? siblings.lastIndexOf(beforeElement) : siblings.length;
		const textNode = siblings[textNodeIdx - 1];
		const tnLoc = this.treeAdapter.getNodeSourceCodeLocation(textNode);
		if (tnLoc) {
			const { endLine, endCol, endOffset } = token.location;
			this.treeAdapter.updateNodeSourceCodeLocation(textNode, {
				endLine,
				endCol,
				endOffset
			});
		} else if (this.options.sourceCodeLocationInfo) {
			this.treeAdapter.setNodeSourceCodeLocation(textNode, token.location);
		}
	}
	/** @protected */
	_adoptNodes(donor, recipient) {
		for (let child = this.treeAdapter.getFirstChild(donor); child; child = this.treeAdapter.getFirstChild(donor)) {
			this.treeAdapter.detachNode(child);
			this.treeAdapter.appendChild(recipient, child);
		}
	}
	/** @protected */
	_setEndLocation(element, closingToken) {
		if (this.treeAdapter.getNodeSourceCodeLocation(element) && closingToken.location) {
			const ctLoc = closingToken.location;
			const tn = this.treeAdapter.getTagName(element);
			const endLoc = closingToken.type === TokenType.END_TAG && tn === closingToken.tagName ? {
				endTag: { ...ctLoc },
				endLine: ctLoc.endLine,
				endCol: ctLoc.endCol,
				endOffset: ctLoc.endOffset
			} : {
				endLine: ctLoc.startLine,
				endCol: ctLoc.startCol,
				endOffset: ctLoc.startOffset
			};
			this.treeAdapter.updateNodeSourceCodeLocation(element, endLoc);
		}
	}
	shouldProcessStartTagTokenInForeignContent(token) {
		if (!this.currentNotInHTML) return false;
		let current;
		let currentTagId;
		if (this.openElements.stackTop === 0 && this.fragmentContext) {
			current = this.fragmentContext;
			currentTagId = this.fragmentContextID;
		} else {
			({current, currentTagId} = this.openElements);
		}
		if (token.tagID === TAG_ID.SVG && this.treeAdapter.getTagName(current) === TAG_NAMES.ANNOTATION_XML && this.treeAdapter.getNamespaceURI(current) === NS.MATHML) {
			return false;
		}
		return this.tokenizer.inForeignNode || (token.tagID === TAG_ID.MGLYPH || token.tagID === TAG_ID.MALIGNMARK) && currentTagId !== undefined && !this._isIntegrationPoint(currentTagId, current, NS.HTML);
	}
	/** @protected */
	_processToken(token) {
		switch (token.type) {
			case TokenType.CHARACTER: {
				this.onCharacter(token);
				break;
			}
			case TokenType.NULL_CHARACTER: {
				this.onNullCharacter(token);
				break;
			}
			case TokenType.COMMENT: {
				this.onComment(token);
				break;
			}
			case TokenType.DOCTYPE: {
				this.onDoctype(token);
				break;
			}
			case TokenType.START_TAG: {
				this._processStartTag(token);
				break;
			}
			case TokenType.END_TAG: {
				this.onEndTag(token);
				break;
			}
			case TokenType.EOF: {
				this.onEof(token);
				break;
			}
			case TokenType.WHITESPACE_CHARACTER: {
				this.onWhitespaceCharacter(token);
				break;
			}
		}
	}
	/** @protected */
	_isIntegrationPoint(tid, element, foreignNS) {
		const ns = this.treeAdapter.getNamespaceURI(element);
		const attrs = this.treeAdapter.getAttrList(element);
		return isIntegrationPoint(tid, ns, attrs, foreignNS);
	}
	/** @protected */
	_reconstructActiveFormattingElements() {
		const listLength = this.activeFormattingElements.entries.length;
		if (listLength) {
			const endIndex = this.activeFormattingElements.entries.findIndex((entry) => entry.type === EntryType.Marker || this.openElements.contains(entry.element));
			const unopenIdx = endIndex === -1 ? listLength - 1 : endIndex - 1;
			for (let i = unopenIdx; i >= 0; i--) {
				const entry = this.activeFormattingElements.entries[i];
				this._insertElement(entry.token, this.treeAdapter.getNamespaceURI(entry.element));
				entry.element = this.openElements.current;
			}
		}
	}
	/** @protected */
	_closeTableCell() {
		this.openElements.generateImpliedEndTags();
		this.openElements.popUntilTableCellPopped();
		this.activeFormattingElements.clearToLastMarker();
		this.insertionMode = InsertionMode.IN_ROW;
	}
	/** @protected */
	_closePElement() {
		this.openElements.generateImpliedEndTagsWithExclusion(TAG_ID.P);
		this.openElements.popUntilTagNamePopped(TAG_ID.P);
	}
	/** @protected */
	_resetInsertionMode() {
		for (let i = this.openElements.stackTop; i >= 0; i--) {
			switch (i === 0 && this.fragmentContext ? this.fragmentContextID : this.openElements.tagIDs[i]) {
				case TAG_ID.TR: {
					this.insertionMode = InsertionMode.IN_ROW;
					return;
				}
				case TAG_ID.TBODY:
				case TAG_ID.THEAD:
				case TAG_ID.TFOOT: {
					this.insertionMode = InsertionMode.IN_TABLE_BODY;
					return;
				}
				case TAG_ID.CAPTION: {
					this.insertionMode = InsertionMode.IN_CAPTION;
					return;
				}
				case TAG_ID.COLGROUP: {
					this.insertionMode = InsertionMode.IN_COLUMN_GROUP;
					return;
				}
				case TAG_ID.TABLE: {
					this.insertionMode = InsertionMode.IN_TABLE;
					return;
				}
				case TAG_ID.BODY: {
					this.insertionMode = InsertionMode.IN_BODY;
					return;
				}
				case TAG_ID.FRAMESET: {
					this.insertionMode = InsertionMode.IN_FRAMESET;
					return;
				}
				case TAG_ID.SELECT: {
					this._resetInsertionModeForSelect(i);
					return;
				}
				case TAG_ID.TEMPLATE: {
					this.insertionMode = this.tmplInsertionModeStack[0];
					return;
				}
				case TAG_ID.HTML: {
					this.insertionMode = this.headElement ? InsertionMode.AFTER_HEAD : InsertionMode.BEFORE_HEAD;
					return;
				}
				case TAG_ID.TD:
				case TAG_ID.TH: {
					if (i > 0) {
						this.insertionMode = InsertionMode.IN_CELL;
						return;
					}
					break;
				}
				case TAG_ID.HEAD: {
					if (i > 0) {
						this.insertionMode = InsertionMode.IN_HEAD;
						return;
					}
					break;
				}
			}
		}
		this.insertionMode = InsertionMode.IN_BODY;
	}
	/** @protected */
	_resetInsertionModeForSelect(selectIdx) {
		if (selectIdx > 0) {
			for (let i = selectIdx - 1; i > 0; i--) {
				const tn = this.openElements.tagIDs[i];
				if (tn === TAG_ID.TEMPLATE) {
					break;
				} else if (tn === TAG_ID.TABLE) {
					this.insertionMode = InsertionMode.IN_SELECT_IN_TABLE;
					return;
				}
			}
		}
		this.insertionMode = InsertionMode.IN_SELECT;
	}
	/** @protected */
	_isElementCausesFosterParenting(tn) {
		return TABLE_STRUCTURE_TAGS.has(tn);
	}
	/** @protected */
	_shouldFosterParentOnInsertion() {
		return this.fosterParentingEnabled && this.openElements.currentTagId !== undefined && this._isElementCausesFosterParenting(this.openElements.currentTagId);
	}
	/** @protected */
	_findFosterParentingLocation() {
		for (let i = this.openElements.stackTop; i >= 0; i--) {
			const openElement = this.openElements.items[i];
			switch (this.openElements.tagIDs[i]) {
				case TAG_ID.TEMPLATE: {
					if (this.treeAdapter.getNamespaceURI(openElement) === NS.HTML) {
						return {
							parent: this.treeAdapter.getTemplateContent(openElement),
							beforeElement: null
						};
					}
					break;
				}
				case TAG_ID.TABLE: {
					const parent = this.treeAdapter.getParentNode(openElement);
					if (parent) {
						return {
							parent,
							beforeElement: openElement
						};
					}
					return {
						parent: this.openElements.items[i - 1],
						beforeElement: null
					};
				}
				default:
			}
		}
		return {
			parent: this.openElements.items[0],
			beforeElement: null
		};
	}
	/** @protected */
	_fosterParentElement(element) {
		const location = this._findFosterParentingLocation();
		if (location.beforeElement) {
			this.treeAdapter.insertBefore(location.parent, element, location.beforeElement);
		} else {
			this.treeAdapter.appendChild(location.parent, element);
		}
	}
	/** @protected */
	_isSpecialElement(element, id) {
		const ns = this.treeAdapter.getNamespaceURI(element);
		return SPECIAL_ELEMENTS[ns].has(id);
	}
	/** @internal */
	onCharacter(token) {
		this.skipNextNewLine = false;
		if (this.tokenizer.inForeignNode) {
			characterInForeignContent(this, token);
			return;
		}
		switch (this.insertionMode) {
			case InsertionMode.INITIAL: {
				tokenInInitialMode(this, token);
				break;
			}
			case InsertionMode.BEFORE_HTML: {
				tokenBeforeHtml(this, token);
				break;
			}
			case InsertionMode.BEFORE_HEAD: {
				tokenBeforeHead(this, token);
				break;
			}
			case InsertionMode.IN_HEAD: {
				tokenInHead(this, token);
				break;
			}
			case InsertionMode.IN_HEAD_NO_SCRIPT: {
				tokenInHeadNoScript(this, token);
				break;
			}
			case InsertionMode.AFTER_HEAD: {
				tokenAfterHead(this, token);
				break;
			}
			case InsertionMode.IN_BODY:
			case InsertionMode.IN_CAPTION:
			case InsertionMode.IN_CELL:
			case InsertionMode.IN_TEMPLATE: {
				characterInBody(this, token);
				break;
			}
			case InsertionMode.TEXT:
			case InsertionMode.IN_SELECT:
			case InsertionMode.IN_SELECT_IN_TABLE: {
				this._insertCharacters(token);
				break;
			}
			case InsertionMode.IN_TABLE:
			case InsertionMode.IN_TABLE_BODY:
			case InsertionMode.IN_ROW: {
				characterInTable(this, token);
				break;
			}
			case InsertionMode.IN_TABLE_TEXT: {
				characterInTableText(this, token);
				break;
			}
			case InsertionMode.IN_COLUMN_GROUP: {
				tokenInColumnGroup(this, token);
				break;
			}
			case InsertionMode.AFTER_BODY: {
				tokenAfterBody(this, token);
				break;
			}
			case InsertionMode.AFTER_AFTER_BODY: {
				tokenAfterAfterBody(this, token);
				break;
			}
			default:
		}
	}
	/** @internal */
	onNullCharacter(token) {
		this.skipNextNewLine = false;
		if (this.tokenizer.inForeignNode) {
			nullCharacterInForeignContent(this, token);
			return;
		}
		switch (this.insertionMode) {
			case InsertionMode.INITIAL: {
				tokenInInitialMode(this, token);
				break;
			}
			case InsertionMode.BEFORE_HTML: {
				tokenBeforeHtml(this, token);
				break;
			}
			case InsertionMode.BEFORE_HEAD: {
				tokenBeforeHead(this, token);
				break;
			}
			case InsertionMode.IN_HEAD: {
				tokenInHead(this, token);
				break;
			}
			case InsertionMode.IN_HEAD_NO_SCRIPT: {
				tokenInHeadNoScript(this, token);
				break;
			}
			case InsertionMode.AFTER_HEAD: {
				tokenAfterHead(this, token);
				break;
			}
			case InsertionMode.TEXT: {
				this._insertCharacters(token);
				break;
			}
			case InsertionMode.IN_TABLE:
			case InsertionMode.IN_TABLE_BODY:
			case InsertionMode.IN_ROW: {
				characterInTable(this, token);
				break;
			}
			case InsertionMode.IN_COLUMN_GROUP: {
				tokenInColumnGroup(this, token);
				break;
			}
			case InsertionMode.AFTER_BODY: {
				tokenAfterBody(this, token);
				break;
			}
			case InsertionMode.AFTER_AFTER_BODY: {
				tokenAfterAfterBody(this, token);
				break;
			}
			default:
		}
	}
	/** @internal */
	onComment(token) {
		this.skipNextNewLine = false;
		if (this.currentNotInHTML) {
			appendComment(this, token);
			return;
		}
		switch (this.insertionMode) {
			case InsertionMode.INITIAL:
			case InsertionMode.BEFORE_HTML:
			case InsertionMode.BEFORE_HEAD:
			case InsertionMode.IN_HEAD:
			case InsertionMode.IN_HEAD_NO_SCRIPT:
			case InsertionMode.AFTER_HEAD:
			case InsertionMode.IN_BODY:
			case InsertionMode.IN_TABLE:
			case InsertionMode.IN_CAPTION:
			case InsertionMode.IN_COLUMN_GROUP:
			case InsertionMode.IN_TABLE_BODY:
			case InsertionMode.IN_ROW:
			case InsertionMode.IN_CELL:
			case InsertionMode.IN_SELECT:
			case InsertionMode.IN_SELECT_IN_TABLE:
			case InsertionMode.IN_TEMPLATE:
			case InsertionMode.IN_FRAMESET:
			case InsertionMode.AFTER_FRAMESET: {
				appendComment(this, token);
				break;
			}
			case InsertionMode.IN_TABLE_TEXT: {
				tokenInTableText(this, token);
				break;
			}
			case InsertionMode.AFTER_BODY: {
				appendCommentToRootHtmlElement(this, token);
				break;
			}
			case InsertionMode.AFTER_AFTER_BODY:
			case InsertionMode.AFTER_AFTER_FRAMESET: {
				appendCommentToDocument(this, token);
				break;
			}
			default:
		}
	}
	/** @internal */
	onDoctype(token) {
		this.skipNextNewLine = false;
		switch (this.insertionMode) {
			case InsertionMode.INITIAL: {
				doctypeInInitialMode(this, token);
				break;
			}
			case InsertionMode.BEFORE_HEAD:
			case InsertionMode.IN_HEAD:
			case InsertionMode.IN_HEAD_NO_SCRIPT:
			case InsertionMode.AFTER_HEAD: {
				this._err(token, ERR.misplacedDoctype);
				break;
			}
			case InsertionMode.IN_TABLE_TEXT: {
				tokenInTableText(this, token);
				break;
			}
			default:
		}
	}
	/** @internal */
	onStartTag(token) {
		this.skipNextNewLine = false;
		this.currentToken = token;
		this._processStartTag(token);
		if (token.selfClosing && !token.ackSelfClosing) {
			this._err(token, ERR.nonVoidHtmlElementStartTagWithTrailingSolidus);
		}
	}
	/**
	* Processes a given start tag.
	*
	* `onStartTag` checks if a self-closing tag was recognized. When a token
	* is moved inbetween multiple insertion modes, this check for self-closing
	* could lead to false positives. To avoid this, `_processStartTag` is used
	* for nested calls.
	*
	* @param token The token to process.
	* @protected
	*/
	_processStartTag(token) {
		if (this.shouldProcessStartTagTokenInForeignContent(token)) {
			startTagInForeignContent(this, token);
		} else {
			this._startTagOutsideForeignContent(token);
		}
	}
	/** @protected */
	_startTagOutsideForeignContent(token) {
		switch (this.insertionMode) {
			case InsertionMode.INITIAL: {
				tokenInInitialMode(this, token);
				break;
			}
			case InsertionMode.BEFORE_HTML: {
				startTagBeforeHtml(this, token);
				break;
			}
			case InsertionMode.BEFORE_HEAD: {
				startTagBeforeHead(this, token);
				break;
			}
			case InsertionMode.IN_HEAD: {
				startTagInHead(this, token);
				break;
			}
			case InsertionMode.IN_HEAD_NO_SCRIPT: {
				startTagInHeadNoScript(this, token);
				break;
			}
			case InsertionMode.AFTER_HEAD: {
				startTagAfterHead(this, token);
				break;
			}
			case InsertionMode.IN_BODY: {
				startTagInBody(this, token);
				break;
			}
			case InsertionMode.IN_TABLE: {
				startTagInTable(this, token);
				break;
			}
			case InsertionMode.IN_TABLE_TEXT: {
				tokenInTableText(this, token);
				break;
			}
			case InsertionMode.IN_CAPTION: {
				startTagInCaption(this, token);
				break;
			}
			case InsertionMode.IN_COLUMN_GROUP: {
				startTagInColumnGroup(this, token);
				break;
			}
			case InsertionMode.IN_TABLE_BODY: {
				startTagInTableBody(this, token);
				break;
			}
			case InsertionMode.IN_ROW: {
				startTagInRow(this, token);
				break;
			}
			case InsertionMode.IN_CELL: {
				startTagInCell(this, token);
				break;
			}
			case InsertionMode.IN_SELECT: {
				startTagInSelect(this, token);
				break;
			}
			case InsertionMode.IN_SELECT_IN_TABLE: {
				startTagInSelectInTable(this, token);
				break;
			}
			case InsertionMode.IN_TEMPLATE: {
				startTagInTemplate(this, token);
				break;
			}
			case InsertionMode.AFTER_BODY: {
				startTagAfterBody(this, token);
				break;
			}
			case InsertionMode.IN_FRAMESET: {
				startTagInFrameset(this, token);
				break;
			}
			case InsertionMode.AFTER_FRAMESET: {
				startTagAfterFrameset(this, token);
				break;
			}
			case InsertionMode.AFTER_AFTER_BODY: {
				startTagAfterAfterBody(this, token);
				break;
			}
			case InsertionMode.AFTER_AFTER_FRAMESET: {
				startTagAfterAfterFrameset(this, token);
				break;
			}
			default:
		}
	}
	/** @internal */
	onEndTag(token) {
		this.skipNextNewLine = false;
		this.currentToken = token;
		if (this.currentNotInHTML) {
			endTagInForeignContent(this, token);
		} else {
			this._endTagOutsideForeignContent(token);
		}
	}
	/** @protected */
	_endTagOutsideForeignContent(token) {
		switch (this.insertionMode) {
			case InsertionMode.INITIAL: {
				tokenInInitialMode(this, token);
				break;
			}
			case InsertionMode.BEFORE_HTML: {
				endTagBeforeHtml(this, token);
				break;
			}
			case InsertionMode.BEFORE_HEAD: {
				endTagBeforeHead(this, token);
				break;
			}
			case InsertionMode.IN_HEAD: {
				endTagInHead(this, token);
				break;
			}
			case InsertionMode.IN_HEAD_NO_SCRIPT: {
				endTagInHeadNoScript(this, token);
				break;
			}
			case InsertionMode.AFTER_HEAD: {
				endTagAfterHead(this, token);
				break;
			}
			case InsertionMode.IN_BODY: {
				endTagInBody(this, token);
				break;
			}
			case InsertionMode.TEXT: {
				endTagInText(this, token);
				break;
			}
			case InsertionMode.IN_TABLE: {
				endTagInTable(this, token);
				break;
			}
			case InsertionMode.IN_TABLE_TEXT: {
				tokenInTableText(this, token);
				break;
			}
			case InsertionMode.IN_CAPTION: {
				endTagInCaption(this, token);
				break;
			}
			case InsertionMode.IN_COLUMN_GROUP: {
				endTagInColumnGroup(this, token);
				break;
			}
			case InsertionMode.IN_TABLE_BODY: {
				endTagInTableBody(this, token);
				break;
			}
			case InsertionMode.IN_ROW: {
				endTagInRow(this, token);
				break;
			}
			case InsertionMode.IN_CELL: {
				endTagInCell(this, token);
				break;
			}
			case InsertionMode.IN_SELECT: {
				endTagInSelect(this, token);
				break;
			}
			case InsertionMode.IN_SELECT_IN_TABLE: {
				endTagInSelectInTable(this, token);
				break;
			}
			case InsertionMode.IN_TEMPLATE: {
				endTagInTemplate(this, token);
				break;
			}
			case InsertionMode.AFTER_BODY: {
				endTagAfterBody(this, token);
				break;
			}
			case InsertionMode.IN_FRAMESET: {
				endTagInFrameset(this, token);
				break;
			}
			case InsertionMode.AFTER_FRAMESET: {
				endTagAfterFrameset(this, token);
				break;
			}
			case InsertionMode.AFTER_AFTER_BODY: {
				tokenAfterAfterBody(this, token);
				break;
			}
			default:
		}
	}
	/** @internal */
	onEof(token) {
		switch (this.insertionMode) {
			case InsertionMode.INITIAL: {
				tokenInInitialMode(this, token);
				break;
			}
			case InsertionMode.BEFORE_HTML: {
				tokenBeforeHtml(this, token);
				break;
			}
			case InsertionMode.BEFORE_HEAD: {
				tokenBeforeHead(this, token);
				break;
			}
			case InsertionMode.IN_HEAD: {
				tokenInHead(this, token);
				break;
			}
			case InsertionMode.IN_HEAD_NO_SCRIPT: {
				tokenInHeadNoScript(this, token);
				break;
			}
			case InsertionMode.AFTER_HEAD: {
				tokenAfterHead(this, token);
				break;
			}
			case InsertionMode.IN_BODY:
			case InsertionMode.IN_TABLE:
			case InsertionMode.IN_CAPTION:
			case InsertionMode.IN_COLUMN_GROUP:
			case InsertionMode.IN_TABLE_BODY:
			case InsertionMode.IN_ROW:
			case InsertionMode.IN_CELL:
			case InsertionMode.IN_SELECT:
			case InsertionMode.IN_SELECT_IN_TABLE: {
				eofInBody(this, token);
				break;
			}
			case InsertionMode.TEXT: {
				eofInText(this, token);
				break;
			}
			case InsertionMode.IN_TABLE_TEXT: {
				tokenInTableText(this, token);
				break;
			}
			case InsertionMode.IN_TEMPLATE: {
				eofInTemplate(this, token);
				break;
			}
			case InsertionMode.AFTER_BODY:
			case InsertionMode.IN_FRAMESET:
			case InsertionMode.AFTER_FRAMESET:
			case InsertionMode.AFTER_AFTER_BODY:
			case InsertionMode.AFTER_AFTER_FRAMESET: {
				stopParsing(this, token);
				break;
			}
			default:
		}
	}
	/** @internal */
	onWhitespaceCharacter(token) {
		if (this.skipNextNewLine) {
			this.skipNextNewLine = false;
			if (token.chars.charCodeAt(0) === CODE_POINTS.LINE_FEED) {
				if (token.chars.length === 1) {
					return;
				}
				token.chars = token.chars.substr(1);
			}
		}
		if (this.tokenizer.inForeignNode) {
			this._insertCharacters(token);
			return;
		}
		switch (this.insertionMode) {
			case InsertionMode.IN_HEAD:
			case InsertionMode.IN_HEAD_NO_SCRIPT:
			case InsertionMode.AFTER_HEAD:
			case InsertionMode.TEXT:
			case InsertionMode.IN_COLUMN_GROUP:
			case InsertionMode.IN_SELECT:
			case InsertionMode.IN_SELECT_IN_TABLE:
			case InsertionMode.IN_FRAMESET:
			case InsertionMode.AFTER_FRAMESET: {
				this._insertCharacters(token);
				break;
			}
			case InsertionMode.IN_BODY:
			case InsertionMode.IN_CAPTION:
			case InsertionMode.IN_CELL:
			case InsertionMode.IN_TEMPLATE:
			case InsertionMode.AFTER_BODY:
			case InsertionMode.AFTER_AFTER_BODY:
			case InsertionMode.AFTER_AFTER_FRAMESET: {
				whitespaceCharacterInBody(this, token);
				break;
			}
			case InsertionMode.IN_TABLE:
			case InsertionMode.IN_TABLE_BODY:
			case InsertionMode.IN_ROW: {
				characterInTable(this, token);
				break;
			}
			case InsertionMode.IN_TABLE_TEXT: {
				whitespaceCharacterInTableText(this, token);
				break;
			}
			default:
		}
	}
};
function aaObtainFormattingElementEntry(p, token) {
	let formattingElementEntry = p.activeFormattingElements.getElementEntryInScopeWithTagName(token.tagName);
	if (formattingElementEntry) {
		if (!p.openElements.contains(formattingElementEntry.element)) {
			p.activeFormattingElements.removeEntry(formattingElementEntry);
			formattingElementEntry = null;
		} else if (!p.openElements.hasInScope(token.tagID)) {
			formattingElementEntry = null;
		}
	} else {
		genericEndTagInBody(p, token);
	}
	return formattingElementEntry;
}
function aaObtainFurthestBlock(p, formattingElementEntry) {
	let furthestBlock = null;
	let idx = p.openElements.stackTop;
	for (; idx >= 0; idx--) {
		const element = p.openElements.items[idx];
		if (element === formattingElementEntry.element) {
			break;
		}
		if (p._isSpecialElement(element, p.openElements.tagIDs[idx])) {
			furthestBlock = element;
		}
	}
	if (!furthestBlock) {
		p.openElements.shortenToLength(Math.max(idx, 0));
		p.activeFormattingElements.removeEntry(formattingElementEntry);
	}
	return furthestBlock;
}
function aaInnerLoop(p, furthestBlock, formattingElement) {
	let lastElement = furthestBlock;
	let nextElement = p.openElements.getCommonAncestor(furthestBlock);
	for (let i = 0, element = nextElement; element !== formattingElement; i++, element = nextElement) {
		nextElement = p.openElements.getCommonAncestor(element);
		const elementEntry = p.activeFormattingElements.getElementEntry(element);
		const counterOverflow = elementEntry && i >= AA_INNER_LOOP_ITER;
		const shouldRemoveFromOpenElements = !elementEntry || counterOverflow;
		if (shouldRemoveFromOpenElements) {
			if (counterOverflow) {
				p.activeFormattingElements.removeEntry(elementEntry);
			}
			p.openElements.remove(element);
		} else {
			element = aaRecreateElementFromEntry(p, elementEntry);
			if (lastElement === furthestBlock) {
				p.activeFormattingElements.bookmark = elementEntry;
			}
			p.treeAdapter.detachNode(lastElement);
			p.treeAdapter.appendChild(element, lastElement);
			lastElement = element;
		}
	}
	return lastElement;
}
function aaRecreateElementFromEntry(p, elementEntry) {
	const ns = p.treeAdapter.getNamespaceURI(elementEntry.element);
	const newElement = p.treeAdapter.createElement(elementEntry.token.tagName, ns, elementEntry.token.attrs);
	p.openElements.replace(elementEntry.element, newElement);
	elementEntry.element = newElement;
	return newElement;
}
function aaInsertLastNodeInCommonAncestor(p, commonAncestor, lastElement) {
	const tn = p.treeAdapter.getTagName(commonAncestor);
	const tid = getTagID(tn);
	if (p._isElementCausesFosterParenting(tid)) {
		p._fosterParentElement(lastElement);
	} else {
		const ns = p.treeAdapter.getNamespaceURI(commonAncestor);
		if (tid === TAG_ID.TEMPLATE && ns === NS.HTML) {
			commonAncestor = p.treeAdapter.getTemplateContent(commonAncestor);
		}
		p.treeAdapter.appendChild(commonAncestor, lastElement);
	}
}
function aaReplaceFormattingElement(p, furthestBlock, formattingElementEntry) {
	const ns = p.treeAdapter.getNamespaceURI(formattingElementEntry.element);
	const { token } = formattingElementEntry;
	const newElement = p.treeAdapter.createElement(token.tagName, ns, token.attrs);
	p._adoptNodes(furthestBlock, newElement);
	p.treeAdapter.appendChild(furthestBlock, newElement);
	p.activeFormattingElements.insertElementAfterBookmark(newElement, token);
	p.activeFormattingElements.removeEntry(formattingElementEntry);
	p.openElements.remove(formattingElementEntry.element);
	p.openElements.insertAfter(furthestBlock, newElement, token.tagID);
}
function callAdoptionAgency(p, token) {
	for (let i = 0; i < AA_OUTER_LOOP_ITER; i++) {
		const formattingElementEntry = aaObtainFormattingElementEntry(p, token);
		if (!formattingElementEntry) {
			break;
		}
		const furthestBlock = aaObtainFurthestBlock(p, formattingElementEntry);
		if (!furthestBlock) {
			break;
		}
		p.activeFormattingElements.bookmark = formattingElementEntry;
		const lastElement = aaInnerLoop(p, furthestBlock, formattingElementEntry.element);
		const commonAncestor = p.openElements.getCommonAncestor(formattingElementEntry.element);
		p.treeAdapter.detachNode(lastElement);
		if (commonAncestor) aaInsertLastNodeInCommonAncestor(p, commonAncestor, lastElement);
		aaReplaceFormattingElement(p, furthestBlock, formattingElementEntry);
	}
}
function appendComment(p, token) {
	p._appendCommentNode(token, p.openElements.currentTmplContentOrNode);
}
function appendCommentToRootHtmlElement(p, token) {
	p._appendCommentNode(token, p.openElements.items[0]);
}
function appendCommentToDocument(p, token) {
	p._appendCommentNode(token, p.document);
}
function stopParsing(p, token) {
	p.stopped = true;
	if (token.location) {
		const target = p.fragmentContext ? 0 : 2;
		for (let i = p.openElements.stackTop; i >= target; i--) {
			p._setEndLocation(p.openElements.items[i], token);
		}
		if (!p.fragmentContext && p.openElements.stackTop >= 0) {
			const htmlElement = p.openElements.items[0];
			const htmlLocation = p.treeAdapter.getNodeSourceCodeLocation(htmlElement);
			if (htmlLocation && !htmlLocation.endTag) {
				p._setEndLocation(htmlElement, token);
				if (p.openElements.stackTop >= 1) {
					const bodyElement = p.openElements.items[1];
					const bodyLocation = p.treeAdapter.getNodeSourceCodeLocation(bodyElement);
					if (bodyLocation && !bodyLocation.endTag) {
						p._setEndLocation(bodyElement, token);
					}
				}
			}
		}
	}
}
function doctypeInInitialMode(p, token) {
	p._setDocumentType(token);
	const mode = token.forceQuirks ? DOCUMENT_MODE.QUIRKS : getDocumentMode(token);
	if (!isConforming(token)) {
		p._err(token, ERR.nonConformingDoctype);
	}
	p.treeAdapter.setDocumentMode(p.document, mode);
	p.insertionMode = InsertionMode.BEFORE_HTML;
}
function tokenInInitialMode(p, token) {
	p._err(token, ERR.missingDoctype, true);
	p.treeAdapter.setDocumentMode(p.document, DOCUMENT_MODE.QUIRKS);
	p.insertionMode = InsertionMode.BEFORE_HTML;
	p._processToken(token);
}
function startTagBeforeHtml(p, token) {
	if (token.tagID === TAG_ID.HTML) {
		p._insertElement(token, NS.HTML);
		p.insertionMode = InsertionMode.BEFORE_HEAD;
	} else {
		tokenBeforeHtml(p, token);
	}
}
function endTagBeforeHtml(p, token) {
	const tn = token.tagID;
	if (tn === TAG_ID.HTML || tn === TAG_ID.HEAD || tn === TAG_ID.BODY || tn === TAG_ID.BR) {
		tokenBeforeHtml(p, token);
	}
}
function tokenBeforeHtml(p, token) {
	p._insertFakeRootElement();
	p.insertionMode = InsertionMode.BEFORE_HEAD;
	p._processToken(token);
}
function startTagBeforeHead(p, token) {
	switch (token.tagID) {
		case TAG_ID.HTML: {
			startTagInBody(p, token);
			break;
		}
		case TAG_ID.HEAD: {
			p._insertElement(token, NS.HTML);
			p.headElement = p.openElements.current;
			p.insertionMode = InsertionMode.IN_HEAD;
			break;
		}
		default: {
			tokenBeforeHead(p, token);
		}
	}
}
function endTagBeforeHead(p, token) {
	const tn = token.tagID;
	if (tn === TAG_ID.HEAD || tn === TAG_ID.BODY || tn === TAG_ID.HTML || tn === TAG_ID.BR) {
		tokenBeforeHead(p, token);
	} else {
		p._err(token, ERR.endTagWithoutMatchingOpenElement);
	}
}
function tokenBeforeHead(p, token) {
	p._insertFakeElement(TAG_NAMES.HEAD, TAG_ID.HEAD);
	p.headElement = p.openElements.current;
	p.insertionMode = InsertionMode.IN_HEAD;
	p._processToken(token);
}
function startTagInHead(p, token) {
	switch (token.tagID) {
		case TAG_ID.HTML: {
			startTagInBody(p, token);
			break;
		}
		case TAG_ID.BASE:
		case TAG_ID.BASEFONT:
		case TAG_ID.BGSOUND:
		case TAG_ID.LINK:
		case TAG_ID.META: {
			p._appendElement(token, NS.HTML);
			token.ackSelfClosing = true;
			break;
		}
		case TAG_ID.TITLE: {
			p._switchToTextParsing(token, TokenizerMode.RCDATA);
			break;
		}
		case TAG_ID.NOSCRIPT: {
			if (p.options.scriptingEnabled) {
				p._switchToTextParsing(token, TokenizerMode.RAWTEXT);
			} else {
				p._insertElement(token, NS.HTML);
				p.insertionMode = InsertionMode.IN_HEAD_NO_SCRIPT;
			}
			break;
		}
		case TAG_ID.NOFRAMES:
		case TAG_ID.STYLE: {
			p._switchToTextParsing(token, TokenizerMode.RAWTEXT);
			break;
		}
		case TAG_ID.SCRIPT: {
			p._switchToTextParsing(token, TokenizerMode.SCRIPT_DATA);
			break;
		}
		case TAG_ID.TEMPLATE: {
			p._insertTemplate(token);
			p.activeFormattingElements.insertMarker();
			p.framesetOk = false;
			p.insertionMode = InsertionMode.IN_TEMPLATE;
			p.tmplInsertionModeStack.unshift(InsertionMode.IN_TEMPLATE);
			break;
		}
		case TAG_ID.HEAD: {
			p._err(token, ERR.misplacedStartTagForHeadElement);
			break;
		}
		default: {
			tokenInHead(p, token);
		}
	}
}
function endTagInHead(p, token) {
	switch (token.tagID) {
		case TAG_ID.HEAD: {
			p.openElements.pop();
			p.insertionMode = InsertionMode.AFTER_HEAD;
			break;
		}
		case TAG_ID.BODY:
		case TAG_ID.BR:
		case TAG_ID.HTML: {
			tokenInHead(p, token);
			break;
		}
		case TAG_ID.TEMPLATE: {
			templateEndTagInHead(p, token);
			break;
		}
		default: {
			p._err(token, ERR.endTagWithoutMatchingOpenElement);
		}
	}
}
function templateEndTagInHead(p, token) {
	if (p.openElements.tmplCount > 0) {
		p.openElements.generateImpliedEndTagsThoroughly();
		if (p.openElements.currentTagId !== TAG_ID.TEMPLATE) {
			p._err(token, ERR.closingOfElementWithOpenChildElements);
		}
		p.openElements.popUntilTagNamePopped(TAG_ID.TEMPLATE);
		p.activeFormattingElements.clearToLastMarker();
		p.tmplInsertionModeStack.shift();
		p._resetInsertionMode();
	} else {
		p._err(token, ERR.endTagWithoutMatchingOpenElement);
	}
}
function tokenInHead(p, token) {
	p.openElements.pop();
	p.insertionMode = InsertionMode.AFTER_HEAD;
	p._processToken(token);
}
function startTagInHeadNoScript(p, token) {
	switch (token.tagID) {
		case TAG_ID.HTML: {
			startTagInBody(p, token);
			break;
		}
		case TAG_ID.BASEFONT:
		case TAG_ID.BGSOUND:
		case TAG_ID.HEAD:
		case TAG_ID.LINK:
		case TAG_ID.META:
		case TAG_ID.NOFRAMES:
		case TAG_ID.STYLE: {
			startTagInHead(p, token);
			break;
		}
		case TAG_ID.NOSCRIPT: {
			p._err(token, ERR.nestedNoscriptInHead);
			break;
		}
		default: {
			tokenInHeadNoScript(p, token);
		}
	}
}
function endTagInHeadNoScript(p, token) {
	switch (token.tagID) {
		case TAG_ID.NOSCRIPT: {
			p.openElements.pop();
			p.insertionMode = InsertionMode.IN_HEAD;
			break;
		}
		case TAG_ID.BR: {
			tokenInHeadNoScript(p, token);
			break;
		}
		default: {
			p._err(token, ERR.endTagWithoutMatchingOpenElement);
		}
	}
}
function tokenInHeadNoScript(p, token) {
	const errCode = token.type === TokenType.EOF ? ERR.openElementsLeftAfterEof : ERR.disallowedContentInNoscriptInHead;
	p._err(token, errCode);
	p.openElements.pop();
	p.insertionMode = InsertionMode.IN_HEAD;
	p._processToken(token);
}
function startTagAfterHead(p, token) {
	switch (token.tagID) {
		case TAG_ID.HTML: {
			startTagInBody(p, token);
			break;
		}
		case TAG_ID.BODY: {
			p._insertElement(token, NS.HTML);
			p.framesetOk = false;
			p.insertionMode = InsertionMode.IN_BODY;
			break;
		}
		case TAG_ID.FRAMESET: {
			p._insertElement(token, NS.HTML);
			p.insertionMode = InsertionMode.IN_FRAMESET;
			break;
		}
		case TAG_ID.BASE:
		case TAG_ID.BASEFONT:
		case TAG_ID.BGSOUND:
		case TAG_ID.LINK:
		case TAG_ID.META:
		case TAG_ID.NOFRAMES:
		case TAG_ID.SCRIPT:
		case TAG_ID.STYLE:
		case TAG_ID.TEMPLATE:
		case TAG_ID.TITLE: {
			p._err(token, ERR.abandonedHeadElementChild);
			p.openElements.push(p.headElement, TAG_ID.HEAD);
			startTagInHead(p, token);
			p.openElements.remove(p.headElement);
			break;
		}
		case TAG_ID.HEAD: {
			p._err(token, ERR.misplacedStartTagForHeadElement);
			break;
		}
		default: {
			tokenAfterHead(p, token);
		}
	}
}
function endTagAfterHead(p, token) {
	switch (token.tagID) {
		case TAG_ID.BODY:
		case TAG_ID.HTML:
		case TAG_ID.BR: {
			tokenAfterHead(p, token);
			break;
		}
		case TAG_ID.TEMPLATE: {
			templateEndTagInHead(p, token);
			break;
		}
		default: {
			p._err(token, ERR.endTagWithoutMatchingOpenElement);
		}
	}
}
function tokenAfterHead(p, token) {
	p._insertFakeElement(TAG_NAMES.BODY, TAG_ID.BODY);
	p.insertionMode = InsertionMode.IN_BODY;
	modeInBody(p, token);
}
function modeInBody(p, token) {
	switch (token.type) {
		case TokenType.CHARACTER: {
			characterInBody(p, token);
			break;
		}
		case TokenType.WHITESPACE_CHARACTER: {
			whitespaceCharacterInBody(p, token);
			break;
		}
		case TokenType.COMMENT: {
			appendComment(p, token);
			break;
		}
		case TokenType.START_TAG: {
			startTagInBody(p, token);
			break;
		}
		case TokenType.END_TAG: {
			endTagInBody(p, token);
			break;
		}
		case TokenType.EOF: {
			eofInBody(p, token);
			break;
		}
		default:
	}
}
function whitespaceCharacterInBody(p, token) {
	p._reconstructActiveFormattingElements();
	p._insertCharacters(token);
}
function characterInBody(p, token) {
	p._reconstructActiveFormattingElements();
	p._insertCharacters(token);
	p.framesetOk = false;
}
function htmlStartTagInBody(p, token) {
	if (p.openElements.tmplCount === 0) {
		p.treeAdapter.adoptAttributes(p.openElements.items[0], token.attrs);
	}
}
function bodyStartTagInBody(p, token) {
	const bodyElement = p.openElements.tryPeekProperlyNestedBodyElement();
	if (bodyElement && p.openElements.tmplCount === 0) {
		p.framesetOk = false;
		p.treeAdapter.adoptAttributes(bodyElement, token.attrs);
	}
}
function framesetStartTagInBody(p, token) {
	const bodyElement = p.openElements.tryPeekProperlyNestedBodyElement();
	if (p.framesetOk && bodyElement) {
		p.treeAdapter.detachNode(bodyElement);
		p.openElements.popAllUpToHtmlElement();
		p._insertElement(token, NS.HTML);
		p.insertionMode = InsertionMode.IN_FRAMESET;
	}
}
function addressStartTagInBody(p, token) {
	if (p.openElements.hasInButtonScope(TAG_ID.P)) {
		p._closePElement();
	}
	p._insertElement(token, NS.HTML);
}
function numberedHeaderStartTagInBody(p, token) {
	if (p.openElements.hasInButtonScope(TAG_ID.P)) {
		p._closePElement();
	}
	if (p.openElements.currentTagId !== undefined && NUMBERED_HEADERS.has(p.openElements.currentTagId)) {
		p.openElements.pop();
	}
	p._insertElement(token, NS.HTML);
}
function preStartTagInBody(p, token) {
	if (p.openElements.hasInButtonScope(TAG_ID.P)) {
		p._closePElement();
	}
	p._insertElement(token, NS.HTML);
	p.skipNextNewLine = true;
	p.framesetOk = false;
}
function formStartTagInBody(p, token) {
	const inTemplate = p.openElements.tmplCount > 0;
	if (!p.formElement || inTemplate) {
		if (p.openElements.hasInButtonScope(TAG_ID.P)) {
			p._closePElement();
		}
		p._insertElement(token, NS.HTML);
		if (!inTemplate) {
			p.formElement = p.openElements.current;
		}
	}
}
function listItemStartTagInBody(p, token) {
	p.framesetOk = false;
	const tn = token.tagID;
	for (let i = p.openElements.stackTop; i >= 0; i--) {
		const elementId = p.openElements.tagIDs[i];
		if (tn === TAG_ID.LI && elementId === TAG_ID.LI || (tn === TAG_ID.DD || tn === TAG_ID.DT) && (elementId === TAG_ID.DD || elementId === TAG_ID.DT)) {
			p.openElements.generateImpliedEndTagsWithExclusion(elementId);
			p.openElements.popUntilTagNamePopped(elementId);
			break;
		}
		if (elementId !== TAG_ID.ADDRESS && elementId !== TAG_ID.DIV && elementId !== TAG_ID.P && p._isSpecialElement(p.openElements.items[i], elementId)) {
			break;
		}
	}
	if (p.openElements.hasInButtonScope(TAG_ID.P)) {
		p._closePElement();
	}
	p._insertElement(token, NS.HTML);
}
function plaintextStartTagInBody(p, token) {
	if (p.openElements.hasInButtonScope(TAG_ID.P)) {
		p._closePElement();
	}
	p._insertElement(token, NS.HTML);
	p.tokenizer.state = TokenizerMode.PLAINTEXT;
}
function buttonStartTagInBody(p, token) {
	if (p.openElements.hasInScope(TAG_ID.BUTTON)) {
		p.openElements.generateImpliedEndTags();
		p.openElements.popUntilTagNamePopped(TAG_ID.BUTTON);
	}
	p._reconstructActiveFormattingElements();
	p._insertElement(token, NS.HTML);
	p.framesetOk = false;
}
function aStartTagInBody(p, token) {
	const activeElementEntry = p.activeFormattingElements.getElementEntryInScopeWithTagName(TAG_NAMES.A);
	if (activeElementEntry) {
		callAdoptionAgency(p, token);
		p.openElements.remove(activeElementEntry.element);
		p.activeFormattingElements.removeEntry(activeElementEntry);
	}
	p._reconstructActiveFormattingElements();
	p._insertElement(token, NS.HTML);
	p.activeFormattingElements.pushElement(p.openElements.current, token);
}
function bStartTagInBody(p, token) {
	p._reconstructActiveFormattingElements();
	p._insertElement(token, NS.HTML);
	p.activeFormattingElements.pushElement(p.openElements.current, token);
}
function nobrStartTagInBody(p, token) {
	p._reconstructActiveFormattingElements();
	if (p.openElements.hasInScope(TAG_ID.NOBR)) {
		callAdoptionAgency(p, token);
		p._reconstructActiveFormattingElements();
	}
	p._insertElement(token, NS.HTML);
	p.activeFormattingElements.pushElement(p.openElements.current, token);
}
function appletStartTagInBody(p, token) {
	p._reconstructActiveFormattingElements();
	p._insertElement(token, NS.HTML);
	p.activeFormattingElements.insertMarker();
	p.framesetOk = false;
}
function tableStartTagInBody(p, token) {
	if (p.treeAdapter.getDocumentMode(p.document) !== DOCUMENT_MODE.QUIRKS && p.openElements.hasInButtonScope(TAG_ID.P)) {
		p._closePElement();
	}
	p._insertElement(token, NS.HTML);
	p.framesetOk = false;
	p.insertionMode = InsertionMode.IN_TABLE;
}
function areaStartTagInBody(p, token) {
	p._reconstructActiveFormattingElements();
	p._appendElement(token, NS.HTML);
	p.framesetOk = false;
	token.ackSelfClosing = true;
}
function isHiddenInput(token) {
	const inputType = getTokenAttr(token, ATTRS.TYPE);
	return inputType != null && inputType.toLowerCase() === HIDDEN_INPUT_TYPE;
}
function inputStartTagInBody(p, token) {
	p._reconstructActiveFormattingElements();
	p._appendElement(token, NS.HTML);
	if (!isHiddenInput(token)) {
		p.framesetOk = false;
	}
	token.ackSelfClosing = true;
}
function paramStartTagInBody(p, token) {
	p._appendElement(token, NS.HTML);
	token.ackSelfClosing = true;
}
function hrStartTagInBody(p, token) {
	if (p.openElements.hasInButtonScope(TAG_ID.P)) {
		p._closePElement();
	}
	p._appendElement(token, NS.HTML);
	p.framesetOk = false;
	token.ackSelfClosing = true;
}
function imageStartTagInBody(p, token) {
	token.tagName = TAG_NAMES.IMG;
	token.tagID = TAG_ID.IMG;
	areaStartTagInBody(p, token);
}
function textareaStartTagInBody(p, token) {
	p._insertElement(token, NS.HTML);
	p.skipNextNewLine = true;
	p.tokenizer.state = TokenizerMode.RCDATA;
	p.originalInsertionMode = p.insertionMode;
	p.framesetOk = false;
	p.insertionMode = InsertionMode.TEXT;
}
function xmpStartTagInBody(p, token) {
	if (p.openElements.hasInButtonScope(TAG_ID.P)) {
		p._closePElement();
	}
	p._reconstructActiveFormattingElements();
	p.framesetOk = false;
	p._switchToTextParsing(token, TokenizerMode.RAWTEXT);
}
function iframeStartTagInBody(p, token) {
	p.framesetOk = false;
	p._switchToTextParsing(token, TokenizerMode.RAWTEXT);
}
function rawTextStartTagInBody(p, token) {
	p._switchToTextParsing(token, TokenizerMode.RAWTEXT);
}
function selectStartTagInBody(p, token) {
	p._reconstructActiveFormattingElements();
	p._insertElement(token, NS.HTML);
	p.framesetOk = false;
	p.insertionMode = p.insertionMode === InsertionMode.IN_TABLE || p.insertionMode === InsertionMode.IN_CAPTION || p.insertionMode === InsertionMode.IN_TABLE_BODY || p.insertionMode === InsertionMode.IN_ROW || p.insertionMode === InsertionMode.IN_CELL ? InsertionMode.IN_SELECT_IN_TABLE : InsertionMode.IN_SELECT;
}
function optgroupStartTagInBody(p, token) {
	if (p.openElements.currentTagId === TAG_ID.OPTION) {
		p.openElements.pop();
	}
	p._reconstructActiveFormattingElements();
	p._insertElement(token, NS.HTML);
}
function rbStartTagInBody(p, token) {
	if (p.openElements.hasInScope(TAG_ID.RUBY)) {
		p.openElements.generateImpliedEndTags();
	}
	p._insertElement(token, NS.HTML);
}
function rtStartTagInBody(p, token) {
	if (p.openElements.hasInScope(TAG_ID.RUBY)) {
		p.openElements.generateImpliedEndTagsWithExclusion(TAG_ID.RTC);
	}
	p._insertElement(token, NS.HTML);
}
function mathStartTagInBody(p, token) {
	p._reconstructActiveFormattingElements();
	adjustTokenMathMLAttrs(token);
	adjustTokenXMLAttrs(token);
	if (token.selfClosing) {
		p._appendElement(token, NS.MATHML);
	} else {
		p._insertElement(token, NS.MATHML);
	}
	token.ackSelfClosing = true;
}
function svgStartTagInBody(p, token) {
	p._reconstructActiveFormattingElements();
	adjustTokenSVGAttrs(token);
	adjustTokenXMLAttrs(token);
	if (token.selfClosing) {
		p._appendElement(token, NS.SVG);
	} else {
		p._insertElement(token, NS.SVG);
	}
	token.ackSelfClosing = true;
}
function genericStartTagInBody(p, token) {
	p._reconstructActiveFormattingElements();
	p._insertElement(token, NS.HTML);
}
function startTagInBody(p, token) {
	switch (token.tagID) {
		case TAG_ID.I:
		case TAG_ID.S:
		case TAG_ID.B:
		case TAG_ID.U:
		case TAG_ID.EM:
		case TAG_ID.TT:
		case TAG_ID.BIG:
		case TAG_ID.CODE:
		case TAG_ID.FONT:
		case TAG_ID.SMALL:
		case TAG_ID.STRIKE:
		case TAG_ID.STRONG: {
			bStartTagInBody(p, token);
			break;
		}
		case TAG_ID.A: {
			aStartTagInBody(p, token);
			break;
		}
		case TAG_ID.H1:
		case TAG_ID.H2:
		case TAG_ID.H3:
		case TAG_ID.H4:
		case TAG_ID.H5:
		case TAG_ID.H6: {
			numberedHeaderStartTagInBody(p, token);
			break;
		}
		case TAG_ID.P:
		case TAG_ID.DL:
		case TAG_ID.OL:
		case TAG_ID.UL:
		case TAG_ID.DIV:
		case TAG_ID.DIR:
		case TAG_ID.NAV:
		case TAG_ID.MAIN:
		case TAG_ID.MENU:
		case TAG_ID.ASIDE:
		case TAG_ID.CENTER:
		case TAG_ID.FIGURE:
		case TAG_ID.FOOTER:
		case TAG_ID.HEADER:
		case TAG_ID.HGROUP:
		case TAG_ID.DIALOG:
		case TAG_ID.DETAILS:
		case TAG_ID.ADDRESS:
		case TAG_ID.ARTICLE:
		case TAG_ID.SEARCH:
		case TAG_ID.SECTION:
		case TAG_ID.SUMMARY:
		case TAG_ID.FIELDSET:
		case TAG_ID.BLOCKQUOTE:
		case TAG_ID.FIGCAPTION: {
			addressStartTagInBody(p, token);
			break;
		}
		case TAG_ID.LI:
		case TAG_ID.DD:
		case TAG_ID.DT: {
			listItemStartTagInBody(p, token);
			break;
		}
		case TAG_ID.BR:
		case TAG_ID.IMG:
		case TAG_ID.WBR:
		case TAG_ID.AREA:
		case TAG_ID.EMBED:
		case TAG_ID.KEYGEN: {
			areaStartTagInBody(p, token);
			break;
		}
		case TAG_ID.HR: {
			hrStartTagInBody(p, token);
			break;
		}
		case TAG_ID.RB:
		case TAG_ID.RTC: {
			rbStartTagInBody(p, token);
			break;
		}
		case TAG_ID.RT:
		case TAG_ID.RP: {
			rtStartTagInBody(p, token);
			break;
		}
		case TAG_ID.PRE:
		case TAG_ID.LISTING: {
			preStartTagInBody(p, token);
			break;
		}
		case TAG_ID.XMP: {
			xmpStartTagInBody(p, token);
			break;
		}
		case TAG_ID.SVG: {
			svgStartTagInBody(p, token);
			break;
		}
		case TAG_ID.HTML: {
			htmlStartTagInBody(p, token);
			break;
		}
		case TAG_ID.BASE:
		case TAG_ID.LINK:
		case TAG_ID.META:
		case TAG_ID.STYLE:
		case TAG_ID.TITLE:
		case TAG_ID.SCRIPT:
		case TAG_ID.BGSOUND:
		case TAG_ID.BASEFONT:
		case TAG_ID.TEMPLATE: {
			startTagInHead(p, token);
			break;
		}
		case TAG_ID.BODY: {
			bodyStartTagInBody(p, token);
			break;
		}
		case TAG_ID.FORM: {
			formStartTagInBody(p, token);
			break;
		}
		case TAG_ID.NOBR: {
			nobrStartTagInBody(p, token);
			break;
		}
		case TAG_ID.MATH: {
			mathStartTagInBody(p, token);
			break;
		}
		case TAG_ID.TABLE: {
			tableStartTagInBody(p, token);
			break;
		}
		case TAG_ID.INPUT: {
			inputStartTagInBody(p, token);
			break;
		}
		case TAG_ID.PARAM:
		case TAG_ID.TRACK:
		case TAG_ID.SOURCE: {
			paramStartTagInBody(p, token);
			break;
		}
		case TAG_ID.IMAGE: {
			imageStartTagInBody(p, token);
			break;
		}
		case TAG_ID.BUTTON: {
			buttonStartTagInBody(p, token);
			break;
		}
		case TAG_ID.APPLET:
		case TAG_ID.OBJECT:
		case TAG_ID.MARQUEE: {
			appletStartTagInBody(p, token);
			break;
		}
		case TAG_ID.IFRAME: {
			iframeStartTagInBody(p, token);
			break;
		}
		case TAG_ID.SELECT: {
			selectStartTagInBody(p, token);
			break;
		}
		case TAG_ID.OPTION:
		case TAG_ID.OPTGROUP: {
			optgroupStartTagInBody(p, token);
			break;
		}
		case TAG_ID.NOEMBED:
		case TAG_ID.NOFRAMES: {
			rawTextStartTagInBody(p, token);
			break;
		}
		case TAG_ID.FRAMESET: {
			framesetStartTagInBody(p, token);
			break;
		}
		case TAG_ID.TEXTAREA: {
			textareaStartTagInBody(p, token);
			break;
		}
		case TAG_ID.NOSCRIPT: {
			if (p.options.scriptingEnabled) {
				rawTextStartTagInBody(p, token);
			} else {
				genericStartTagInBody(p, token);
			}
			break;
		}
		case TAG_ID.PLAINTEXT: {
			plaintextStartTagInBody(p, token);
			break;
		}
		case TAG_ID.COL:
		case TAG_ID.TH:
		case TAG_ID.TD:
		case TAG_ID.TR:
		case TAG_ID.HEAD:
		case TAG_ID.FRAME:
		case TAG_ID.TBODY:
		case TAG_ID.TFOOT:
		case TAG_ID.THEAD:
		case TAG_ID.CAPTION:
		case TAG_ID.COLGROUP: {
			break;
		}
		default: {
			genericStartTagInBody(p, token);
		}
	}
}
function bodyEndTagInBody(p, token) {
	if (p.openElements.hasInScope(TAG_ID.BODY)) {
		p.insertionMode = InsertionMode.AFTER_BODY;
		if (p.options.sourceCodeLocationInfo) {
			const bodyElement = p.openElements.tryPeekProperlyNestedBodyElement();
			if (bodyElement) {
				p._setEndLocation(bodyElement, token);
			}
		}
	}
}
function htmlEndTagInBody(p, token) {
	if (p.openElements.hasInScope(TAG_ID.BODY)) {
		p.insertionMode = InsertionMode.AFTER_BODY;
		endTagAfterBody(p, token);
	}
}
function addressEndTagInBody(p, token) {
	const tn = token.tagID;
	if (p.openElements.hasInScope(tn)) {
		p.openElements.generateImpliedEndTags();
		p.openElements.popUntilTagNamePopped(tn);
	}
}
function formEndTagInBody(p) {
	const inTemplate = p.openElements.tmplCount > 0;
	const { formElement } = p;
	if (!inTemplate) {
		p.formElement = null;
	}
	if ((formElement || inTemplate) && p.openElements.hasInScope(TAG_ID.FORM)) {
		p.openElements.generateImpliedEndTags();
		if (inTemplate) {
			p.openElements.popUntilTagNamePopped(TAG_ID.FORM);
		} else if (formElement) {
			p.openElements.remove(formElement);
		}
	}
}
function pEndTagInBody(p) {
	if (!p.openElements.hasInButtonScope(TAG_ID.P)) {
		p._insertFakeElement(TAG_NAMES.P, TAG_ID.P);
	}
	p._closePElement();
}
function liEndTagInBody(p) {
	if (p.openElements.hasInListItemScope(TAG_ID.LI)) {
		p.openElements.generateImpliedEndTagsWithExclusion(TAG_ID.LI);
		p.openElements.popUntilTagNamePopped(TAG_ID.LI);
	}
}
function ddEndTagInBody(p, token) {
	const tn = token.tagID;
	if (p.openElements.hasInScope(tn)) {
		p.openElements.generateImpliedEndTagsWithExclusion(tn);
		p.openElements.popUntilTagNamePopped(tn);
	}
}
function numberedHeaderEndTagInBody(p) {
	if (p.openElements.hasNumberedHeaderInScope()) {
		p.openElements.generateImpliedEndTags();
		p.openElements.popUntilNumberedHeaderPopped();
	}
}
function appletEndTagInBody(p, token) {
	const tn = token.tagID;
	if (p.openElements.hasInScope(tn)) {
		p.openElements.generateImpliedEndTags();
		p.openElements.popUntilTagNamePopped(tn);
		p.activeFormattingElements.clearToLastMarker();
	}
}
function brEndTagInBody(p) {
	p._reconstructActiveFormattingElements();
	p._insertFakeElement(TAG_NAMES.BR, TAG_ID.BR);
	p.openElements.pop();
	p.framesetOk = false;
}
function genericEndTagInBody(p, token) {
	const tn = token.tagName;
	const tid = token.tagID;
	for (let i = p.openElements.stackTop; i > 0; i--) {
		const element = p.openElements.items[i];
		const elementId = p.openElements.tagIDs[i];
		if (tid === elementId && (tid !== TAG_ID.UNKNOWN || p.treeAdapter.getTagName(element) === tn)) {
			p.openElements.generateImpliedEndTagsWithExclusion(tid);
			if (p.openElements.stackTop >= i) p.openElements.shortenToLength(i);
			break;
		}
		if (p._isSpecialElement(element, elementId)) {
			break;
		}
	}
}
function endTagInBody(p, token) {
	switch (token.tagID) {
		case TAG_ID.A:
		case TAG_ID.B:
		case TAG_ID.I:
		case TAG_ID.S:
		case TAG_ID.U:
		case TAG_ID.EM:
		case TAG_ID.TT:
		case TAG_ID.BIG:
		case TAG_ID.CODE:
		case TAG_ID.FONT:
		case TAG_ID.NOBR:
		case TAG_ID.SMALL:
		case TAG_ID.STRIKE:
		case TAG_ID.STRONG: {
			callAdoptionAgency(p, token);
			break;
		}
		case TAG_ID.P: {
			pEndTagInBody(p);
			break;
		}
		case TAG_ID.DL:
		case TAG_ID.UL:
		case TAG_ID.OL:
		case TAG_ID.DIR:
		case TAG_ID.DIV:
		case TAG_ID.NAV:
		case TAG_ID.PRE:
		case TAG_ID.MAIN:
		case TAG_ID.MENU:
		case TAG_ID.ASIDE:
		case TAG_ID.BUTTON:
		case TAG_ID.CENTER:
		case TAG_ID.FIGURE:
		case TAG_ID.FOOTER:
		case TAG_ID.HEADER:
		case TAG_ID.HGROUP:
		case TAG_ID.DIALOG:
		case TAG_ID.ADDRESS:
		case TAG_ID.ARTICLE:
		case TAG_ID.DETAILS:
		case TAG_ID.SEARCH:
		case TAG_ID.SECTION:
		case TAG_ID.SUMMARY:
		case TAG_ID.LISTING:
		case TAG_ID.FIELDSET:
		case TAG_ID.BLOCKQUOTE:
		case TAG_ID.FIGCAPTION: {
			addressEndTagInBody(p, token);
			break;
		}
		case TAG_ID.LI: {
			liEndTagInBody(p);
			break;
		}
		case TAG_ID.DD:
		case TAG_ID.DT: {
			ddEndTagInBody(p, token);
			break;
		}
		case TAG_ID.H1:
		case TAG_ID.H2:
		case TAG_ID.H3:
		case TAG_ID.H4:
		case TAG_ID.H5:
		case TAG_ID.H6: {
			numberedHeaderEndTagInBody(p);
			break;
		}
		case TAG_ID.BR: {
			brEndTagInBody(p);
			break;
		}
		case TAG_ID.BODY: {
			bodyEndTagInBody(p, token);
			break;
		}
		case TAG_ID.HTML: {
			htmlEndTagInBody(p, token);
			break;
		}
		case TAG_ID.FORM: {
			formEndTagInBody(p);
			break;
		}
		case TAG_ID.APPLET:
		case TAG_ID.OBJECT:
		case TAG_ID.MARQUEE: {
			appletEndTagInBody(p, token);
			break;
		}
		case TAG_ID.TEMPLATE: {
			templateEndTagInHead(p, token);
			break;
		}
		default: {
			genericEndTagInBody(p, token);
		}
	}
}
function eofInBody(p, token) {
	if (p.tmplInsertionModeStack.length > 0) {
		eofInTemplate(p, token);
	} else {
		stopParsing(p, token);
	}
}
function endTagInText(p, token) {
	var _a;
	if (token.tagID === TAG_ID.SCRIPT) {
		(_a = p.scriptHandler) === null || _a === void 0 ? void 0 : _a.call(p, p.openElements.current);
	}
	p.openElements.pop();
	p.insertionMode = p.originalInsertionMode;
}
function eofInText(p, token) {
	p._err(token, ERR.eofInElementThatCanContainOnlyText);
	p.openElements.pop();
	p.insertionMode = p.originalInsertionMode;
	p.onEof(token);
}
function characterInTable(p, token) {
	if (p.openElements.currentTagId !== undefined && TABLE_STRUCTURE_TAGS.has(p.openElements.currentTagId)) {
		p.pendingCharacterTokens.length = 0;
		p.hasNonWhitespacePendingCharacterToken = false;
		p.originalInsertionMode = p.insertionMode;
		p.insertionMode = InsertionMode.IN_TABLE_TEXT;
		switch (token.type) {
			case TokenType.CHARACTER: {
				characterInTableText(p, token);
				break;
			}
			case TokenType.WHITESPACE_CHARACTER: {
				whitespaceCharacterInTableText(p, token);
				break;
			}
		}
	} else {
		tokenInTable(p, token);
	}
}
function captionStartTagInTable(p, token) {
	p.openElements.clearBackToTableContext();
	p.activeFormattingElements.insertMarker();
	p._insertElement(token, NS.HTML);
	p.insertionMode = InsertionMode.IN_CAPTION;
}
function colgroupStartTagInTable(p, token) {
	p.openElements.clearBackToTableContext();
	p._insertElement(token, NS.HTML);
	p.insertionMode = InsertionMode.IN_COLUMN_GROUP;
}
function colStartTagInTable(p, token) {
	p.openElements.clearBackToTableContext();
	p._insertFakeElement(TAG_NAMES.COLGROUP, TAG_ID.COLGROUP);
	p.insertionMode = InsertionMode.IN_COLUMN_GROUP;
	startTagInColumnGroup(p, token);
}
function tbodyStartTagInTable(p, token) {
	p.openElements.clearBackToTableContext();
	p._insertElement(token, NS.HTML);
	p.insertionMode = InsertionMode.IN_TABLE_BODY;
}
function tdStartTagInTable(p, token) {
	p.openElements.clearBackToTableContext();
	p._insertFakeElement(TAG_NAMES.TBODY, TAG_ID.TBODY);
	p.insertionMode = InsertionMode.IN_TABLE_BODY;
	startTagInTableBody(p, token);
}
function tableStartTagInTable(p, token) {
	if (p.openElements.hasInTableScope(TAG_ID.TABLE)) {
		p.openElements.popUntilTagNamePopped(TAG_ID.TABLE);
		p._resetInsertionMode();
		p._processStartTag(token);
	}
}
function inputStartTagInTable(p, token) {
	if (isHiddenInput(token)) {
		p._appendElement(token, NS.HTML);
	} else {
		tokenInTable(p, token);
	}
	token.ackSelfClosing = true;
}
function formStartTagInTable(p, token) {
	if (!p.formElement && p.openElements.tmplCount === 0) {
		p._insertElement(token, NS.HTML);
		p.formElement = p.openElements.current;
		p.openElements.pop();
	}
}
function startTagInTable(p, token) {
	switch (token.tagID) {
		case TAG_ID.TD:
		case TAG_ID.TH:
		case TAG_ID.TR: {
			tdStartTagInTable(p, token);
			break;
		}
		case TAG_ID.STYLE:
		case TAG_ID.SCRIPT:
		case TAG_ID.TEMPLATE: {
			startTagInHead(p, token);
			break;
		}
		case TAG_ID.COL: {
			colStartTagInTable(p, token);
			break;
		}
		case TAG_ID.FORM: {
			formStartTagInTable(p, token);
			break;
		}
		case TAG_ID.TABLE: {
			tableStartTagInTable(p, token);
			break;
		}
		case TAG_ID.TBODY:
		case TAG_ID.TFOOT:
		case TAG_ID.THEAD: {
			tbodyStartTagInTable(p, token);
			break;
		}
		case TAG_ID.INPUT: {
			inputStartTagInTable(p, token);
			break;
		}
		case TAG_ID.CAPTION: {
			captionStartTagInTable(p, token);
			break;
		}
		case TAG_ID.COLGROUP: {
			colgroupStartTagInTable(p, token);
			break;
		}
		default: {
			tokenInTable(p, token);
		}
	}
}
function endTagInTable(p, token) {
	switch (token.tagID) {
		case TAG_ID.TABLE: {
			if (p.openElements.hasInTableScope(TAG_ID.TABLE)) {
				p.openElements.popUntilTagNamePopped(TAG_ID.TABLE);
				p._resetInsertionMode();
			}
			break;
		}
		case TAG_ID.TEMPLATE: {
			templateEndTagInHead(p, token);
			break;
		}
		case TAG_ID.BODY:
		case TAG_ID.CAPTION:
		case TAG_ID.COL:
		case TAG_ID.COLGROUP:
		case TAG_ID.HTML:
		case TAG_ID.TBODY:
		case TAG_ID.TD:
		case TAG_ID.TFOOT:
		case TAG_ID.TH:
		case TAG_ID.THEAD:
		case TAG_ID.TR: {
			break;
		}
		default: {
			tokenInTable(p, token);
		}
	}
}
function tokenInTable(p, token) {
	const savedFosterParentingState = p.fosterParentingEnabled;
	p.fosterParentingEnabled = true;
	modeInBody(p, token);
	p.fosterParentingEnabled = savedFosterParentingState;
}
function whitespaceCharacterInTableText(p, token) {
	p.pendingCharacterTokens.push(token);
}
function characterInTableText(p, token) {
	p.pendingCharacterTokens.push(token);
	p.hasNonWhitespacePendingCharacterToken = true;
}
function tokenInTableText(p, token) {
	let i = 0;
	if (p.hasNonWhitespacePendingCharacterToken) {
		for (; i < p.pendingCharacterTokens.length; i++) {
			tokenInTable(p, p.pendingCharacterTokens[i]);
		}
	} else {
		for (; i < p.pendingCharacterTokens.length; i++) {
			p._insertCharacters(p.pendingCharacterTokens[i]);
		}
	}
	p.insertionMode = p.originalInsertionMode;
	p._processToken(token);
}
const TABLE_VOID_ELEMENTS = new Set([
	TAG_ID.CAPTION,
	TAG_ID.COL,
	TAG_ID.COLGROUP,
	TAG_ID.TBODY,
	TAG_ID.TD,
	TAG_ID.TFOOT,
	TAG_ID.TH,
	TAG_ID.THEAD,
	TAG_ID.TR
]);
function startTagInCaption(p, token) {
	const tn = token.tagID;
	if (TABLE_VOID_ELEMENTS.has(tn)) {
		if (p.openElements.hasInTableScope(TAG_ID.CAPTION)) {
			p.openElements.generateImpliedEndTags();
			p.openElements.popUntilTagNamePopped(TAG_ID.CAPTION);
			p.activeFormattingElements.clearToLastMarker();
			p.insertionMode = InsertionMode.IN_TABLE;
			startTagInTable(p, token);
		}
	} else {
		startTagInBody(p, token);
	}
}
function endTagInCaption(p, token) {
	const tn = token.tagID;
	switch (tn) {
		case TAG_ID.CAPTION:
		case TAG_ID.TABLE: {
			if (p.openElements.hasInTableScope(TAG_ID.CAPTION)) {
				p.openElements.generateImpliedEndTags();
				p.openElements.popUntilTagNamePopped(TAG_ID.CAPTION);
				p.activeFormattingElements.clearToLastMarker();
				p.insertionMode = InsertionMode.IN_TABLE;
				if (tn === TAG_ID.TABLE) {
					endTagInTable(p, token);
				}
			}
			break;
		}
		case TAG_ID.BODY:
		case TAG_ID.COL:
		case TAG_ID.COLGROUP:
		case TAG_ID.HTML:
		case TAG_ID.TBODY:
		case TAG_ID.TD:
		case TAG_ID.TFOOT:
		case TAG_ID.TH:
		case TAG_ID.THEAD:
		case TAG_ID.TR: {
			break;
		}
		default: {
			endTagInBody(p, token);
		}
	}
}
function startTagInColumnGroup(p, token) {
	switch (token.tagID) {
		case TAG_ID.HTML: {
			startTagInBody(p, token);
			break;
		}
		case TAG_ID.COL: {
			p._appendElement(token, NS.HTML);
			token.ackSelfClosing = true;
			break;
		}
		case TAG_ID.TEMPLATE: {
			startTagInHead(p, token);
			break;
		}
		default: {
			tokenInColumnGroup(p, token);
		}
	}
}
function endTagInColumnGroup(p, token) {
	switch (token.tagID) {
		case TAG_ID.COLGROUP: {
			if (p.openElements.currentTagId === TAG_ID.COLGROUP) {
				p.openElements.pop();
				p.insertionMode = InsertionMode.IN_TABLE;
			}
			break;
		}
		case TAG_ID.TEMPLATE: {
			templateEndTagInHead(p, token);
			break;
		}
		case TAG_ID.COL: {
			break;
		}
		default: {
			tokenInColumnGroup(p, token);
		}
	}
}
function tokenInColumnGroup(p, token) {
	if (p.openElements.currentTagId === TAG_ID.COLGROUP) {
		p.openElements.pop();
		p.insertionMode = InsertionMode.IN_TABLE;
		p._processToken(token);
	}
}
function startTagInTableBody(p, token) {
	switch (token.tagID) {
		case TAG_ID.TR: {
			p.openElements.clearBackToTableBodyContext();
			p._insertElement(token, NS.HTML);
			p.insertionMode = InsertionMode.IN_ROW;
			break;
		}
		case TAG_ID.TH:
		case TAG_ID.TD: {
			p.openElements.clearBackToTableBodyContext();
			p._insertFakeElement(TAG_NAMES.TR, TAG_ID.TR);
			p.insertionMode = InsertionMode.IN_ROW;
			startTagInRow(p, token);
			break;
		}
		case TAG_ID.CAPTION:
		case TAG_ID.COL:
		case TAG_ID.COLGROUP:
		case TAG_ID.TBODY:
		case TAG_ID.TFOOT:
		case TAG_ID.THEAD: {
			if (p.openElements.hasTableBodyContextInTableScope()) {
				p.openElements.clearBackToTableBodyContext();
				p.openElements.pop();
				p.insertionMode = InsertionMode.IN_TABLE;
				startTagInTable(p, token);
			}
			break;
		}
		default: {
			startTagInTable(p, token);
		}
	}
}
function endTagInTableBody(p, token) {
	const tn = token.tagID;
	switch (token.tagID) {
		case TAG_ID.TBODY:
		case TAG_ID.TFOOT:
		case TAG_ID.THEAD: {
			if (p.openElements.hasInTableScope(tn)) {
				p.openElements.clearBackToTableBodyContext();
				p.openElements.pop();
				p.insertionMode = InsertionMode.IN_TABLE;
			}
			break;
		}
		case TAG_ID.TABLE: {
			if (p.openElements.hasTableBodyContextInTableScope()) {
				p.openElements.clearBackToTableBodyContext();
				p.openElements.pop();
				p.insertionMode = InsertionMode.IN_TABLE;
				endTagInTable(p, token);
			}
			break;
		}
		case TAG_ID.BODY:
		case TAG_ID.CAPTION:
		case TAG_ID.COL:
		case TAG_ID.COLGROUP:
		case TAG_ID.HTML:
		case TAG_ID.TD:
		case TAG_ID.TH:
		case TAG_ID.TR: {
			break;
		}
		default: {
			endTagInTable(p, token);
		}
	}
}
function startTagInRow(p, token) {
	switch (token.tagID) {
		case TAG_ID.TH:
		case TAG_ID.TD: {
			p.openElements.clearBackToTableRowContext();
			p._insertElement(token, NS.HTML);
			p.insertionMode = InsertionMode.IN_CELL;
			p.activeFormattingElements.insertMarker();
			break;
		}
		case TAG_ID.CAPTION:
		case TAG_ID.COL:
		case TAG_ID.COLGROUP:
		case TAG_ID.TBODY:
		case TAG_ID.TFOOT:
		case TAG_ID.THEAD:
		case TAG_ID.TR: {
			if (p.openElements.hasInTableScope(TAG_ID.TR)) {
				p.openElements.clearBackToTableRowContext();
				p.openElements.pop();
				p.insertionMode = InsertionMode.IN_TABLE_BODY;
				startTagInTableBody(p, token);
			}
			break;
		}
		default: {
			startTagInTable(p, token);
		}
	}
}
function endTagInRow(p, token) {
	switch (token.tagID) {
		case TAG_ID.TR: {
			if (p.openElements.hasInTableScope(TAG_ID.TR)) {
				p.openElements.clearBackToTableRowContext();
				p.openElements.pop();
				p.insertionMode = InsertionMode.IN_TABLE_BODY;
			}
			break;
		}
		case TAG_ID.TABLE: {
			if (p.openElements.hasInTableScope(TAG_ID.TR)) {
				p.openElements.clearBackToTableRowContext();
				p.openElements.pop();
				p.insertionMode = InsertionMode.IN_TABLE_BODY;
				endTagInTableBody(p, token);
			}
			break;
		}
		case TAG_ID.TBODY:
		case TAG_ID.TFOOT:
		case TAG_ID.THEAD: {
			if (p.openElements.hasInTableScope(token.tagID) || p.openElements.hasInTableScope(TAG_ID.TR)) {
				p.openElements.clearBackToTableRowContext();
				p.openElements.pop();
				p.insertionMode = InsertionMode.IN_TABLE_BODY;
				endTagInTableBody(p, token);
			}
			break;
		}
		case TAG_ID.BODY:
		case TAG_ID.CAPTION:
		case TAG_ID.COL:
		case TAG_ID.COLGROUP:
		case TAG_ID.HTML:
		case TAG_ID.TD:
		case TAG_ID.TH: {
			break;
		}
		default: {
			endTagInTable(p, token);
		}
	}
}
function startTagInCell(p, token) {
	const tn = token.tagID;
	if (TABLE_VOID_ELEMENTS.has(tn)) {
		if (p.openElements.hasInTableScope(TAG_ID.TD) || p.openElements.hasInTableScope(TAG_ID.TH)) {
			p._closeTableCell();
			startTagInRow(p, token);
		}
	} else {
		startTagInBody(p, token);
	}
}
function endTagInCell(p, token) {
	const tn = token.tagID;
	switch (tn) {
		case TAG_ID.TD:
		case TAG_ID.TH: {
			if (p.openElements.hasInTableScope(tn)) {
				p.openElements.generateImpliedEndTags();
				p.openElements.popUntilTagNamePopped(tn);
				p.activeFormattingElements.clearToLastMarker();
				p.insertionMode = InsertionMode.IN_ROW;
			}
			break;
		}
		case TAG_ID.TABLE:
		case TAG_ID.TBODY:
		case TAG_ID.TFOOT:
		case TAG_ID.THEAD:
		case TAG_ID.TR: {
			if (p.openElements.hasInTableScope(tn)) {
				p._closeTableCell();
				endTagInRow(p, token);
			}
			break;
		}
		case TAG_ID.BODY:
		case TAG_ID.CAPTION:
		case TAG_ID.COL:
		case TAG_ID.COLGROUP:
		case TAG_ID.HTML: {
			break;
		}
		default: {
			endTagInBody(p, token);
		}
	}
}
function startTagInSelect(p, token) {
	switch (token.tagID) {
		case TAG_ID.HTML: {
			startTagInBody(p, token);
			break;
		}
		case TAG_ID.OPTION: {
			if (p.openElements.currentTagId === TAG_ID.OPTION) {
				p.openElements.pop();
			}
			p._insertElement(token, NS.HTML);
			break;
		}
		case TAG_ID.OPTGROUP: {
			if (p.openElements.currentTagId === TAG_ID.OPTION) {
				p.openElements.pop();
			}
			if (p.openElements.currentTagId === TAG_ID.OPTGROUP) {
				p.openElements.pop();
			}
			p._insertElement(token, NS.HTML);
			break;
		}
		case TAG_ID.HR: {
			if (p.openElements.currentTagId === TAG_ID.OPTION) {
				p.openElements.pop();
			}
			if (p.openElements.currentTagId === TAG_ID.OPTGROUP) {
				p.openElements.pop();
			}
			p._appendElement(token, NS.HTML);
			token.ackSelfClosing = true;
			break;
		}
		case TAG_ID.INPUT:
		case TAG_ID.KEYGEN:
		case TAG_ID.TEXTAREA:
		case TAG_ID.SELECT: {
			if (p.openElements.hasInSelectScope(TAG_ID.SELECT)) {
				p.openElements.popUntilTagNamePopped(TAG_ID.SELECT);
				p._resetInsertionMode();
				if (token.tagID !== TAG_ID.SELECT) {
					p._processStartTag(token);
				}
			}
			break;
		}
		case TAG_ID.SCRIPT:
		case TAG_ID.TEMPLATE: {
			startTagInHead(p, token);
			break;
		}
		default:
	}
}
function endTagInSelect(p, token) {
	switch (token.tagID) {
		case TAG_ID.OPTGROUP: {
			if (p.openElements.stackTop > 0 && p.openElements.currentTagId === TAG_ID.OPTION && p.openElements.tagIDs[p.openElements.stackTop - 1] === TAG_ID.OPTGROUP) {
				p.openElements.pop();
			}
			if (p.openElements.currentTagId === TAG_ID.OPTGROUP) {
				p.openElements.pop();
			}
			break;
		}
		case TAG_ID.OPTION: {
			if (p.openElements.currentTagId === TAG_ID.OPTION) {
				p.openElements.pop();
			}
			break;
		}
		case TAG_ID.SELECT: {
			if (p.openElements.hasInSelectScope(TAG_ID.SELECT)) {
				p.openElements.popUntilTagNamePopped(TAG_ID.SELECT);
				p._resetInsertionMode();
			}
			break;
		}
		case TAG_ID.TEMPLATE: {
			templateEndTagInHead(p, token);
			break;
		}
		default:
	}
}
function startTagInSelectInTable(p, token) {
	const tn = token.tagID;
	if (tn === TAG_ID.CAPTION || tn === TAG_ID.TABLE || tn === TAG_ID.TBODY || tn === TAG_ID.TFOOT || tn === TAG_ID.THEAD || tn === TAG_ID.TR || tn === TAG_ID.TD || tn === TAG_ID.TH) {
		p.openElements.popUntilTagNamePopped(TAG_ID.SELECT);
		p._resetInsertionMode();
		p._processStartTag(token);
	} else {
		startTagInSelect(p, token);
	}
}
function endTagInSelectInTable(p, token) {
	const tn = token.tagID;
	if (tn === TAG_ID.CAPTION || tn === TAG_ID.TABLE || tn === TAG_ID.TBODY || tn === TAG_ID.TFOOT || tn === TAG_ID.THEAD || tn === TAG_ID.TR || tn === TAG_ID.TD || tn === TAG_ID.TH) {
		if (p.openElements.hasInTableScope(tn)) {
			p.openElements.popUntilTagNamePopped(TAG_ID.SELECT);
			p._resetInsertionMode();
			p.onEndTag(token);
		}
	} else {
		endTagInSelect(p, token);
	}
}
function startTagInTemplate(p, token) {
	switch (token.tagID) {
		case TAG_ID.BASE:
		case TAG_ID.BASEFONT:
		case TAG_ID.BGSOUND:
		case TAG_ID.LINK:
		case TAG_ID.META:
		case TAG_ID.NOFRAMES:
		case TAG_ID.SCRIPT:
		case TAG_ID.STYLE:
		case TAG_ID.TEMPLATE:
		case TAG_ID.TITLE: {
			startTagInHead(p, token);
			break;
		}
		case TAG_ID.CAPTION:
		case TAG_ID.COLGROUP:
		case TAG_ID.TBODY:
		case TAG_ID.TFOOT:
		case TAG_ID.THEAD: {
			p.tmplInsertionModeStack[0] = InsertionMode.IN_TABLE;
			p.insertionMode = InsertionMode.IN_TABLE;
			startTagInTable(p, token);
			break;
		}
		case TAG_ID.COL: {
			p.tmplInsertionModeStack[0] = InsertionMode.IN_COLUMN_GROUP;
			p.insertionMode = InsertionMode.IN_COLUMN_GROUP;
			startTagInColumnGroup(p, token);
			break;
		}
		case TAG_ID.TR: {
			p.tmplInsertionModeStack[0] = InsertionMode.IN_TABLE_BODY;
			p.insertionMode = InsertionMode.IN_TABLE_BODY;
			startTagInTableBody(p, token);
			break;
		}
		case TAG_ID.TD:
		case TAG_ID.TH: {
			p.tmplInsertionModeStack[0] = InsertionMode.IN_ROW;
			p.insertionMode = InsertionMode.IN_ROW;
			startTagInRow(p, token);
			break;
		}
		default: {
			p.tmplInsertionModeStack[0] = InsertionMode.IN_BODY;
			p.insertionMode = InsertionMode.IN_BODY;
			startTagInBody(p, token);
		}
	}
}
function endTagInTemplate(p, token) {
	if (token.tagID === TAG_ID.TEMPLATE) {
		templateEndTagInHead(p, token);
	}
}
function eofInTemplate(p, token) {
	if (p.openElements.tmplCount > 0) {
		p.openElements.popUntilTagNamePopped(TAG_ID.TEMPLATE);
		p.activeFormattingElements.clearToLastMarker();
		p.tmplInsertionModeStack.shift();
		p._resetInsertionMode();
		p.onEof(token);
	} else {
		stopParsing(p, token);
	}
}
function startTagAfterBody(p, token) {
	if (token.tagID === TAG_ID.HTML) {
		startTagInBody(p, token);
	} else {
		tokenAfterBody(p, token);
	}
}
function endTagAfterBody(p, token) {
	var _a;
	if (token.tagID === TAG_ID.HTML) {
		if (!p.fragmentContext) {
			p.insertionMode = InsertionMode.AFTER_AFTER_BODY;
		}
		if (p.options.sourceCodeLocationInfo && p.openElements.tagIDs[0] === TAG_ID.HTML) {
			p._setEndLocation(p.openElements.items[0], token);
			const bodyElement = p.openElements.items[1];
			if (bodyElement && !((_a = p.treeAdapter.getNodeSourceCodeLocation(bodyElement)) === null || _a === void 0 ? void 0 : _a.endTag)) {
				p._setEndLocation(bodyElement, token);
			}
		}
	} else {
		tokenAfterBody(p, token);
	}
}
function tokenAfterBody(p, token) {
	p.insertionMode = InsertionMode.IN_BODY;
	modeInBody(p, token);
}
function startTagInFrameset(p, token) {
	switch (token.tagID) {
		case TAG_ID.HTML: {
			startTagInBody(p, token);
			break;
		}
		case TAG_ID.FRAMESET: {
			p._insertElement(token, NS.HTML);
			break;
		}
		case TAG_ID.FRAME: {
			p._appendElement(token, NS.HTML);
			token.ackSelfClosing = true;
			break;
		}
		case TAG_ID.NOFRAMES: {
			startTagInHead(p, token);
			break;
		}
		default:
	}
}
function endTagInFrameset(p, token) {
	if (token.tagID === TAG_ID.FRAMESET && !p.openElements.isRootHtmlElementCurrent()) {
		p.openElements.pop();
		if (!p.fragmentContext && p.openElements.currentTagId !== TAG_ID.FRAMESET) {
			p.insertionMode = InsertionMode.AFTER_FRAMESET;
		}
	}
}
function startTagAfterFrameset(p, token) {
	switch (token.tagID) {
		case TAG_ID.HTML: {
			startTagInBody(p, token);
			break;
		}
		case TAG_ID.NOFRAMES: {
			startTagInHead(p, token);
			break;
		}
		default:
	}
}
function endTagAfterFrameset(p, token) {
	if (token.tagID === TAG_ID.HTML) {
		p.insertionMode = InsertionMode.AFTER_AFTER_FRAMESET;
	}
}
function startTagAfterAfterBody(p, token) {
	if (token.tagID === TAG_ID.HTML) {
		startTagInBody(p, token);
	} else {
		tokenAfterAfterBody(p, token);
	}
}
function tokenAfterAfterBody(p, token) {
	p.insertionMode = InsertionMode.IN_BODY;
	modeInBody(p, token);
}
function startTagAfterAfterFrameset(p, token) {
	switch (token.tagID) {
		case TAG_ID.HTML: {
			startTagInBody(p, token);
			break;
		}
		case TAG_ID.NOFRAMES: {
			startTagInHead(p, token);
			break;
		}
		default:
	}
}
function nullCharacterInForeignContent(p, token) {
	token.chars = REPLACEMENT_CHARACTER;
	p._insertCharacters(token);
}
function characterInForeignContent(p, token) {
	p._insertCharacters(token);
	p.framesetOk = false;
}
function popUntilHtmlOrIntegrationPoint(p) {
	while (p.treeAdapter.getNamespaceURI(p.openElements.current) !== NS.HTML && p.openElements.currentTagId !== undefined && !p._isIntegrationPoint(p.openElements.currentTagId, p.openElements.current)) {
		p.openElements.pop();
	}
}
function startTagInForeignContent(p, token) {
	if (causesExit(token)) {
		popUntilHtmlOrIntegrationPoint(p);
		p._startTagOutsideForeignContent(token);
	} else {
		const current = p._getAdjustedCurrentElement();
		const currentNs = p.treeAdapter.getNamespaceURI(current);
		if (currentNs === NS.MATHML) {
			adjustTokenMathMLAttrs(token);
		} else if (currentNs === NS.SVG) {
			adjustTokenSVGTagName(token);
			adjustTokenSVGAttrs(token);
		}
		adjustTokenXMLAttrs(token);
		if (token.selfClosing) {
			p._appendElement(token, currentNs);
		} else {
			p._insertElement(token, currentNs);
		}
		token.ackSelfClosing = true;
	}
}
function endTagInForeignContent(p, token) {
	if (token.tagID === TAG_ID.P || token.tagID === TAG_ID.BR) {
		popUntilHtmlOrIntegrationPoint(p);
		p._endTagOutsideForeignContent(token);
		return;
	}
	for (let i = p.openElements.stackTop; i > 0; i--) {
		const element = p.openElements.items[i];
		if (p.treeAdapter.getNamespaceURI(element) === NS.HTML) {
			p._endTagOutsideForeignContent(token);
			break;
		}
		const tagName = p.treeAdapter.getTagName(element);
		if (tagName.toLowerCase() === token.tagName) {
			token.tagName = tagName;
			p.openElements.shortenToLength(i);
			break;
		}
	}
}

//#endregion
//#region ../node_modules/parse5/node_modules/entities/dist/esm/escape.js
const xmlReplacer = /["$&'<>\u0080-\uFFFF]/g;
const xmlCodeMap = new Map([
	[34, "&quot;"],
	[38, "&amp;"],
	[39, "&apos;"],
	[60, "&lt;"],
	[62, "&gt;"]
]);
const getCodePoint = String.prototype.codePointAt == null ? (c, index) => (c.charCodeAt(index) & 64512) === 55296 ? (c.charCodeAt(index) - 55296) * 1024 + c.charCodeAt(index + 1) - 56320 + 65536 : c.charCodeAt(index) : (input, index) => input.codePointAt(index);
/**
* Encodes all non-ASCII characters, as well as characters not valid in XML
* documents using XML entities.
*
* If a character has no equivalent entity, a
* numeric hexadecimal reference (eg. `&#xfc;`) will be used.
*/
function encodeXML(input) {
	let returnValue = "";
	let lastIndex = 0;
	let match;
	while ((match = xmlReplacer.exec(input)) !== null) {
		const { index } = match;
		const char = input.charCodeAt(index);
		const next = xmlCodeMap.get(char);
		if (next === undefined) {
			returnValue += `${input.substring(lastIndex, index)}&#x${getCodePoint(input, index).toString(16)};`;
			lastIndex = xmlReplacer.lastIndex += Number((char & 64512) === 55296);
		} else {
			returnValue += input.substring(lastIndex, index) + next;
			lastIndex = index + 1;
		}
	}
	return returnValue + input.substr(lastIndex);
}
/**
* Encodes all non-ASCII characters, as well as characters not valid in XML
* documents using numeric hexadecimal reference (eg. `&#xfc;`).
*
* Have a look at `escapeUTF8` if you want a more concise output at the expense
* of reduced transportability.
*
* @param data String to escape.
*/
const escape$1 = encodeXML;
/**
* Creates a function that escapes all characters matched by the given regular
* expression using the given map of characters to escape to their entities.
*
* @param regex Regular expression to match characters to escape.
* @param map Map of characters to escape to their entities.
*
* @returns Function that escapes all characters matched by the given regular
* expression using the given map of characters to escape to their entities.
*/
function getEscaper(regex, map) {
	return function escape(data) {
		let match;
		let lastIndex = 0;
		let result = "";
		while (match = regex.exec(data)) {
			if (lastIndex !== match.index) {
				result += data.substring(lastIndex, match.index);
			}
			result += map.get(match[0].charCodeAt(0));
			lastIndex = match.index + 1;
		}
		return result + data.substring(lastIndex);
	};
}
/**
* Encodes all characters not valid in XML documents using XML entities.
*
* Note that the output will be character-set dependent.
*
* @param data String to escape.
*/
const escapeUTF8 = /* @__PURE__ */ getEscaper(/["&'<>]/g, xmlCodeMap);
/**
* Encodes all characters that have to be escaped in HTML attributes,
* following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
*
* @param data String to escape.
*/
const escapeAttribute = /* @__PURE__ */ getEscaper(/["&\u00A0]/g, new Map([
	[34, "&quot;"],
	[38, "&amp;"],
	[160, "&nbsp;"]
]));
/**
* Encodes all characters that have to be escaped in HTML text,
* following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
*
* @param data String to escape.
*/
const escapeText = /* @__PURE__ */ getEscaper(/[&<>\u00A0]/g, new Map([
	[38, "&amp;"],
	[60, "&lt;"],
	[62, "&gt;"],
	[160, "&nbsp;"]
]));

//#endregion
//#region ../node_modules/parse5/dist/serializer/index.js
const VOID_ELEMENTS = new Set([
	TAG_NAMES.AREA,
	TAG_NAMES.BASE,
	TAG_NAMES.BASEFONT,
	TAG_NAMES.BGSOUND,
	TAG_NAMES.BR,
	TAG_NAMES.COL,
	TAG_NAMES.EMBED,
	TAG_NAMES.FRAME,
	TAG_NAMES.HR,
	TAG_NAMES.IMG,
	TAG_NAMES.INPUT,
	TAG_NAMES.KEYGEN,
	TAG_NAMES.LINK,
	TAG_NAMES.META,
	TAG_NAMES.PARAM,
	TAG_NAMES.SOURCE,
	TAG_NAMES.TRACK,
	TAG_NAMES.WBR
]);
function isVoidElement(node, options) {
	return options.treeAdapter.isElementNode(node) && options.treeAdapter.getNamespaceURI(node) === NS.HTML && VOID_ELEMENTS.has(options.treeAdapter.getTagName(node));
}
const defaultOpts = {
	treeAdapter: defaultTreeAdapter,
	scriptingEnabled: true
};
/**
* Serializes an AST node to an HTML string.
*
* @example
*
* ```js
* const parse5 = require('parse5');
*
* const document = parse5.parse('<!DOCTYPE html><html><head></head><body>Hi there!</body></html>');
*
* // Serializes a document.
* const html = parse5.serialize(document);
*
* // Serializes the <html> element content.
* const str = parse5.serialize(document.childNodes[1]);
*
* console.log(str); //> '<head></head><body>Hi there!</body>'
* ```
*
* @param node Node to serialize.
* @param options Serialization options.
*/
function serialize(node, options) {
	const opts = {
		...defaultOpts,
		...options
	};
	if (isVoidElement(node, opts)) {
		return "";
	}
	return serializeChildNodes(node, opts);
}
/**
* Serializes an AST element node to an HTML string, including the element node.
*
* @example
*
* ```js
* const parse5 = require('parse5');
*
* const document = parse5.parseFragment('<div>Hello, <b>world</b>!</div>');
*
* // Serializes the <div> element.
* const str = parse5.serializeOuter(document.childNodes[0]);
*
* console.log(str); //> '<div>Hello, <b>world</b>!</div>'
* ```
*
* @param node Node to serialize.
* @param options Serialization options.
*/
function serializeOuter(node, options) {
	const opts = {
		...defaultOpts,
		...options
	};
	return serializeNode(node, opts);
}
function serializeChildNodes(parentNode, options) {
	let html = "";
	const container = options.treeAdapter.isElementNode(parentNode) && options.treeAdapter.getTagName(parentNode) === TAG_NAMES.TEMPLATE && options.treeAdapter.getNamespaceURI(parentNode) === NS.HTML ? options.treeAdapter.getTemplateContent(parentNode) : parentNode;
	const childNodes = options.treeAdapter.getChildNodes(container);
	if (childNodes) {
		for (const currentNode of childNodes) {
			html += serializeNode(currentNode, options);
		}
	}
	return html;
}
function serializeNode(node, options) {
	if (options.treeAdapter.isElementNode(node)) {
		return serializeElement(node, options);
	}
	if (options.treeAdapter.isTextNode(node)) {
		return serializeTextNode(node, options);
	}
	if (options.treeAdapter.isCommentNode(node)) {
		return serializeCommentNode(node, options);
	}
	if (options.treeAdapter.isDocumentTypeNode(node)) {
		return serializeDocumentTypeNode(node, options);
	}
	return "";
}
function serializeElement(node, options) {
	const tn = options.treeAdapter.getTagName(node);
	return `<${tn}${serializeAttributes(node, options)}>${isVoidElement(node, options) ? "" : `${serializeChildNodes(node, options)}</${tn}>`}`;
}
function serializeAttributes(node, { treeAdapter }) {
	let html = "";
	for (const attr of treeAdapter.getAttrList(node)) {
		html += " ";
		if (attr.namespace) {
			switch (attr.namespace) {
				case NS.XML: {
					html += `xml:${attr.name}`;
					break;
				}
				case NS.XMLNS: {
					if (attr.name !== "xmlns") {
						html += "xmlns:";
					}
					html += attr.name;
					break;
				}
				case NS.XLINK: {
					html += `xlink:${attr.name}`;
					break;
				}
				default: {
					html += `${attr.prefix}:${attr.name}`;
				}
			}
		} else {
			html += attr.name;
		}
		html += `="${escapeAttribute(attr.value)}"`;
	}
	return html;
}
function serializeTextNode(node, options) {
	const { treeAdapter } = options;
	const content = treeAdapter.getTextNodeContent(node);
	const parent = treeAdapter.getParentNode(node);
	const parentTn = parent && treeAdapter.isElementNode(parent) && treeAdapter.getTagName(parent);
	return parentTn && treeAdapter.getNamespaceURI(parent) === NS.HTML && hasUnescapedText(parentTn, options.scriptingEnabled) ? content : escapeText(content);
}
function serializeCommentNode(node, { treeAdapter }) {
	return `<!--${treeAdapter.getCommentNodeContent(node)}-->`;
}
function serializeDocumentTypeNode(node, { treeAdapter }) {
	return `<!DOCTYPE ${treeAdapter.getDocumentTypeNodeName(node)}>`;
}

//#endregion
//#region ../node_modules/parse5/dist/index.js
/**
* Parses an HTML string.
*
* @param html Input HTML string.
* @param options Parsing options.
* @returns Document
*
* @example
*
* ```js
* const parse5 = require('parse5');
*
* const document = parse5.parse('<!DOCTYPE html><html><head></head><body>Hi there!</body></html>');
*
* console.log(document.childNodes[1].tagName); //> 'html'
*```
*/
function parse$1(html, options) {
	return Parser.parse(html, options);
}
function parseFragment(fragmentContext, html, options) {
	if (typeof fragmentContext === "string") {
		options = html;
		html = fragmentContext;
		fragmentContext = null;
	}
	const parser = Parser.getFragmentParser(fragmentContext, options);
	parser.tokenizer.write(html, true);
	return parser.getFragment();
}

//#endregion
//#region ../node_modules/parse5-htmlparser2-tree-adapter/dist/index.js
function enquoteDoctypeId(id) {
	const quote = id.includes("\"") ? "'" : "\"";
	return quote + id + quote;
}
/** @internal */
function serializeDoctypeContent(name, publicId, systemId) {
	let str = "!DOCTYPE ";
	if (name) {
		str += name;
	}
	if (publicId) {
		str += ` PUBLIC ${enquoteDoctypeId(publicId)}`;
	} else if (systemId) {
		str += " SYSTEM";
	}
	if (systemId) {
		str += ` ${enquoteDoctypeId(systemId)}`;
	}
	return str;
}
const adapter = {
	isCommentNode: isComment,
	isElementNode: isTag,
	isTextNode: isText,
	createDocument() {
		const node = new Document([]);
		node["x-mode"] = DOCUMENT_MODE.NO_QUIRKS;
		return node;
	},
	createDocumentFragment() {
		return new Document([]);
	},
	createElement(tagName, namespaceURI, attrs) {
		const attribs = Object.create(null);
		const attribsNamespace = Object.create(null);
		const attribsPrefix = Object.create(null);
		for (let i = 0; i < attrs.length; i++) {
			const attrName = attrs[i].name;
			attribs[attrName] = attrs[i].value;
			attribsNamespace[attrName] = attrs[i].namespace;
			attribsPrefix[attrName] = attrs[i].prefix;
		}
		const node = new Element(tagName, attribs, []);
		node.namespace = namespaceURI;
		node["x-attribsNamespace"] = attribsNamespace;
		node["x-attribsPrefix"] = attribsPrefix;
		return node;
	},
	createCommentNode(data) {
		return new Comment(data);
	},
	createTextNode(value) {
		return new Text(value);
	},
	appendChild(parentNode, newNode) {
		const prev = parentNode.children[parentNode.children.length - 1];
		if (prev) {
			prev.next = newNode;
			newNode.prev = prev;
		}
		parentNode.children.push(newNode);
		newNode.parent = parentNode;
	},
	insertBefore(parentNode, newNode, referenceNode) {
		const insertionIdx = parentNode.children.indexOf(referenceNode);
		const { prev } = referenceNode;
		if (prev) {
			prev.next = newNode;
			newNode.prev = prev;
		}
		referenceNode.prev = newNode;
		newNode.next = referenceNode;
		parentNode.children.splice(insertionIdx, 0, newNode);
		newNode.parent = parentNode;
	},
	setTemplateContent(templateElement, contentElement) {
		adapter.appendChild(templateElement, contentElement);
	},
	getTemplateContent(templateElement) {
		return templateElement.children[0];
	},
	setDocumentType(document, name, publicId, systemId) {
		const data = serializeDoctypeContent(name, publicId, systemId);
		let doctypeNode = document.children.find((node) => isDirective(node) && node.name === "!doctype");
		if (doctypeNode) {
			doctypeNode.data = data !== null && data !== void 0 ? data : null;
		} else {
			doctypeNode = new ProcessingInstruction("!doctype", data);
			adapter.appendChild(document, doctypeNode);
		}
		doctypeNode["x-name"] = name;
		doctypeNode["x-publicId"] = publicId;
		doctypeNode["x-systemId"] = systemId;
	},
	setDocumentMode(document, mode) {
		document["x-mode"] = mode;
	},
	getDocumentMode(document) {
		return document["x-mode"];
	},
	detachNode(node) {
		if (node.parent) {
			const idx = node.parent.children.indexOf(node);
			const { prev, next } = node;
			node.prev = null;
			node.next = null;
			if (prev) {
				prev.next = next;
			}
			if (next) {
				next.prev = prev;
			}
			node.parent.children.splice(idx, 1);
			node.parent = null;
		}
	},
	insertText(parentNode, text) {
		const lastChild = parentNode.children[parentNode.children.length - 1];
		if (lastChild && isText(lastChild)) {
			lastChild.data += text;
		} else {
			adapter.appendChild(parentNode, adapter.createTextNode(text));
		}
	},
	insertTextBefore(parentNode, text, referenceNode) {
		const prevNode = parentNode.children[parentNode.children.indexOf(referenceNode) - 1];
		if (prevNode && isText(prevNode)) {
			prevNode.data += text;
		} else {
			adapter.insertBefore(parentNode, adapter.createTextNode(text), referenceNode);
		}
	},
	adoptAttributes(recipient, attrs) {
		for (let i = 0; i < attrs.length; i++) {
			const attrName = attrs[i].name;
			if (recipient.attribs[attrName] === undefined) {
				recipient.attribs[attrName] = attrs[i].value;
				recipient["x-attribsNamespace"][attrName] = attrs[i].namespace;
				recipient["x-attribsPrefix"][attrName] = attrs[i].prefix;
			}
		}
	},
	getFirstChild(node) {
		return node.children[0];
	},
	getChildNodes(node) {
		return node.children;
	},
	getParentNode(node) {
		return node.parent;
	},
	getAttrList(element) {
		return element.attributes;
	},
	getTagName(element) {
		return element.name;
	},
	getNamespaceURI(element) {
		return element.namespace;
	},
	getTextNodeContent(textNode) {
		return textNode.data;
	},
	getCommentNodeContent(commentNode) {
		return commentNode.data;
	},
	getDocumentTypeNodeName(doctypeNode) {
		var _a;
		return (_a = doctypeNode["x-name"]) !== null && _a !== void 0 ? _a : "";
	},
	getDocumentTypeNodePublicId(doctypeNode) {
		var _a;
		return (_a = doctypeNode["x-publicId"]) !== null && _a !== void 0 ? _a : "";
	},
	getDocumentTypeNodeSystemId(doctypeNode) {
		var _a;
		return (_a = doctypeNode["x-systemId"]) !== null && _a !== void 0 ? _a : "";
	},
	isDocumentTypeNode(node) {
		return isDirective(node) && node.name === "!doctype";
	},
	setNodeSourceCodeLocation(node, location) {
		if (location) {
			node.startIndex = location.startOffset;
			node.endIndex = location.endOffset;
		}
		node.sourceCodeLocation = location;
	},
	getNodeSourceCodeLocation(node) {
		return node.sourceCodeLocation;
	},
	updateNodeSourceCodeLocation(node, endLocation) {
		if (endLocation.endOffset != null) node.endIndex = endLocation.endOffset;
		node.sourceCodeLocation = {
			...node.sourceCodeLocation,
			...endLocation
		};
	}
};

//#endregion
//#region ../node_modules/cheerio/dist/esm/parsers/parse5-adapter.js
/**
* Parse the content with `parse5` in the context of the given `ParentNode`.
*
* @param content - The content to parse.
* @param options - A set of options to use to parse.
* @param isDocument - Whether to parse the content as a full HTML document.
* @param context - The context in which to parse the content.
* @returns The parsed content.
*/
function parseWithParse5(content, options, isDocument, context) {
	var _a;
	(_a = options.treeAdapter) !== null && _a !== void 0 ? _a : options.treeAdapter = adapter;
	if (options.scriptingEnabled !== false) {
		options.scriptingEnabled = true;
	}
	return isDocument ? parse$1(content, options) : parseFragment(context, content, options);
}
const renderOpts = { treeAdapter: adapter };
/**
* Renders the given DOM tree with `parse5` and returns the result as a string.
*
* @param dom - The DOM tree to render.
* @returns The rendered document.
*/
function renderWithParse5(dom) {
	const nodes = "length" in dom ? dom : [dom];
	for (let index = 0; index < nodes.length; index += 1) {
		const node = nodes[index];
		if (isDocument(node)) {
			Array.prototype.splice.call(nodes, index, 1, ...node.children);
		}
	}
	let result = "";
	for (let index = 0; index < nodes.length; index += 1) {
		const node = nodes[index];
		result += serializeOuter(node, renderOpts);
	}
	return result;
}

//#endregion
//#region ../node_modules/cheerio/dist/esm/load-parse.js
const parse = getParse((content, options, isDocument, context) => options._useHtmlParser2 ? parseDocument(content, options) : parseWithParse5(content, options, isDocument, context));
/**
* Create a querying function, bound to a document created from the provided
* markup.
*
* Note that similar to web browser contexts, this operation may introduce
* `<html>`, `<head>`, and `<body>` elements; set `isDocument` to `false` to
* switch to fragment mode and disable this.
*
* @category Loading
* @param content - Markup to be loaded.
* @param options - Options for the created instance.
* @param isDocument - Allows parser to be switched to fragment mode.
* @returns The loaded document.
* @see {@link https://cheerio.js.org/docs/basics/loading#load} for additional usage information.
*/
const load = getLoad(parse, (dom, options) => options._useHtmlParser2 ? render$1(dom, options) : renderWithParse5(dom));

//#endregion
//#region ../node_modules/parse5-parser-stream/dist/index.js
/**
* Streaming HTML parser with scripting support.
* A [writable stream](https://nodejs.org/api/stream.html#stream_class_stream_writable).
*
* @example
*
* ```js
* const ParserStream = require('parse5-parser-stream');
* const http = require('http');
* const { finished } = require('node:stream');
*
* // Fetch the page content and obtain it's <head> node
* http.get('http://inikulin.github.io/parse5/', res => {
*     const parser = new ParserStream();
*
*     finished(parser, () => {
*         console.log(parser.document.childNodes[1].childNodes[0].tagName); //> 'head'
*     });
*
*     res.pipe(parser);
* });
* ```
*
*/
var ParserStream = class ParserStream extends Writable$1 {
	static getFragmentStream(fragmentContext, options) {
		const parser = Parser.getFragmentParser(fragmentContext, options);
		const stream = new ParserStream(options, parser);
		return stream;
	}
	/** The resulting document node. */
	get document() {
		return this.parser.document;
	}
	getFragment() {
		return this.parser.getFragment();
	}
	/**
	* @param options Parsing options.
	*/
	constructor(options, parser = new Parser(options)) {
		super({ decodeStrings: false });
		this.parser = parser;
		this.lastChunkWritten = false;
		this.writeCallback = undefined;
		this.pendingHtmlInsertions = [];
		const resume = () => {
			for (let i = this.pendingHtmlInsertions.length - 1; i >= 0; i--) {
				this.parser.tokenizer.insertHtmlAtCurrentPos(this.pendingHtmlInsertions[i]);
			}
			this.pendingHtmlInsertions.length = 0;
			this.parser.tokenizer.resume(this.writeCallback);
		};
		const documentWrite = (html) => {
			if (!this.parser.stopped) {
				this.pendingHtmlInsertions.push(html);
			}
		};
		const scriptHandler = (scriptElement) => {
			if (this.listenerCount("script") > 0) {
				this.parser.tokenizer.pause();
				this.emit("script", scriptElement, documentWrite, resume);
			}
		};
		this.parser.scriptHandler = scriptHandler;
	}
	_write(chunk, _encoding, callback) {
		if (typeof chunk !== "string") {
			throw new TypeError("Parser can work only with string streams.");
		}
		this.writeCallback = callback;
		this.parser.tokenizer.write(chunk, this.lastChunkWritten, this.writeCallback);
	}
	end(chunk, encoding, callback) {
		this.lastChunkWritten = true;
		super.end(chunk || "", encoding, callback);
	}
};

//#endregion
//#region ../node_modules/safer-buffer/safer.js
var require_safer = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var buffer = __require("buffer");
	var Buffer = buffer.Buffer;
	var safer = {};
	var key;
	for (key in buffer) {
		if (!buffer.hasOwnProperty(key)) continue;
		if (key === "SlowBuffer" || key === "Buffer") continue;
		safer[key] = buffer[key];
	}
	var Safer = safer.Buffer = {};
	for (key in Buffer) {
		if (!Buffer.hasOwnProperty(key)) continue;
		if (key === "allocUnsafe" || key === "allocUnsafeSlow") continue;
		Safer[key] = Buffer[key];
	}
	safer.Buffer.prototype = Buffer.prototype;
	if (!Safer.from || Safer.from === Uint8Array.from) {
		Safer.from = function(value, encodingOrOffset, length) {
			if (typeof value === "number") {
				throw new TypeError("The \"value\" argument must not be of type number. Received type " + typeof value);
			}
			if (value && typeof value.length === "undefined") {
				throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value);
			}
			return Buffer(value, encodingOrOffset, length);
		};
	}
	if (!Safer.alloc) {
		Safer.alloc = function(size, fill, encoding) {
			if (typeof size !== "number") {
				throw new TypeError("The \"size\" argument must be of type number. Received type " + typeof size);
			}
			if (size < 0 || size >= 2 * (1 << 30)) {
				throw new RangeError("The value \"" + size + "\" is invalid for option \"size\"");
			}
			var buf = Buffer(size);
			if (!fill || fill.length === 0) {
				buf.fill(0);
			} else if (typeof encoding === "string") {
				buf.fill(fill, encoding);
			} else {
				buf.fill(fill);
			}
			return buf;
		};
	}
	if (!safer.kStringMaxLength) {
		try {
			safer.kStringMaxLength = process.binding("buffer").kStringMaxLength;
		} catch (e) {}
	}
	if (!safer.constants) {
		safer.constants = { MAX_LENGTH: safer.kMaxLength };
		if (safer.kStringMaxLength) {
			safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength;
		}
	}
	module.exports = safer;
}));

//#endregion
//#region ../node_modules/iconv-lite/lib/bom-handling.js
var require_bom_handling = /* @__PURE__ */ __commonJSMin(((exports) => {
	var BOMChar = "﻿";
	exports.PrependBOM = PrependBOMWrapper;
	function PrependBOMWrapper(encoder, options) {
		this.encoder = encoder;
		this.addBOM = true;
	}
	PrependBOMWrapper.prototype.write = function(str) {
		if (this.addBOM) {
			str = BOMChar + str;
			this.addBOM = false;
		}
		return this.encoder.write(str);
	};
	PrependBOMWrapper.prototype.end = function() {
		return this.encoder.end();
	};
	exports.StripBOM = StripBOMWrapper;
	function StripBOMWrapper(decoder, options) {
		this.decoder = decoder;
		this.pass = false;
		this.options = options || {};
	}
	StripBOMWrapper.prototype.write = function(buf) {
		var res = this.decoder.write(buf);
		if (this.pass || !res) return res;
		if (res[0] === BOMChar) {
			res = res.slice(1);
			if (typeof this.options.stripBOM === "function") this.options.stripBOM();
		}
		this.pass = true;
		return res;
	};
	StripBOMWrapper.prototype.end = function() {
		return this.decoder.end();
	};
}));

//#endregion
//#region ../node_modules/iconv-lite/encodings/internal.js
var require_internal = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var Buffer = require_safer().Buffer;
	module.exports = {
		utf8: {
			type: "_internal",
			bomAware: true
		},
		cesu8: {
			type: "_internal",
			bomAware: true
		},
		unicode11utf8: "utf8",
		ucs2: {
			type: "_internal",
			bomAware: true
		},
		utf16le: "ucs2",
		binary: { type: "_internal" },
		base64: { type: "_internal" },
		hex: { type: "_internal" },
		_internal: InternalCodec
	};
	function InternalCodec(codecOptions, iconv) {
		this.enc = codecOptions.encodingName;
		this.bomAware = codecOptions.bomAware;
		if (this.enc === "base64") this.encoder = InternalEncoderBase64;
		else if (this.enc === "cesu8") {
			this.enc = "utf8";
			this.encoder = InternalEncoderCesu8;
			if (Buffer.from("eda0bdedb2a9", "hex").toString() !== "💩") {
				this.decoder = InternalDecoderCesu8;
				this.defaultCharUnicode = iconv.defaultCharUnicode;
			}
		}
	}
	InternalCodec.prototype.encoder = InternalEncoder;
	InternalCodec.prototype.decoder = InternalDecoder;
	var StringDecoder$1 = __require("string_decoder").StringDecoder;
	if (!StringDecoder$1.prototype.end) StringDecoder$1.prototype.end = function() {};
	function InternalDecoder(options, codec) {
		this.decoder = new StringDecoder$1(codec.enc);
	}
	InternalDecoder.prototype.write = function(buf) {
		if (!Buffer.isBuffer(buf)) {
			buf = Buffer.from(buf);
		}
		return this.decoder.write(buf);
	};
	InternalDecoder.prototype.end = function() {
		return this.decoder.end();
	};
	function InternalEncoder(options, codec) {
		this.enc = codec.enc;
	}
	InternalEncoder.prototype.write = function(str) {
		return Buffer.from(str, this.enc);
	};
	InternalEncoder.prototype.end = function() {};
	function InternalEncoderBase64(options, codec) {
		this.prevStr = "";
	}
	InternalEncoderBase64.prototype.write = function(str) {
		str = this.prevStr + str;
		var completeQuads = str.length - str.length % 4;
		this.prevStr = str.slice(completeQuads);
		str = str.slice(0, completeQuads);
		return Buffer.from(str, "base64");
	};
	InternalEncoderBase64.prototype.end = function() {
		return Buffer.from(this.prevStr, "base64");
	};
	function InternalEncoderCesu8(options, codec) {}
	InternalEncoderCesu8.prototype.write = function(str) {
		var buf = Buffer.alloc(str.length * 3), bufIdx = 0;
		for (var i = 0; i < str.length; i++) {
			var charCode = str.charCodeAt(i);
			if (charCode < 128) buf[bufIdx++] = charCode;
			else if (charCode < 2048) {
				buf[bufIdx++] = 192 + (charCode >>> 6);
				buf[bufIdx++] = 128 + (charCode & 63);
			} else {
				buf[bufIdx++] = 224 + (charCode >>> 12);
				buf[bufIdx++] = 128 + (charCode >>> 6 & 63);
				buf[bufIdx++] = 128 + (charCode & 63);
			}
		}
		return buf.slice(0, bufIdx);
	};
	InternalEncoderCesu8.prototype.end = function() {};
	function InternalDecoderCesu8(options, codec) {
		this.acc = 0;
		this.contBytes = 0;
		this.accBytes = 0;
		this.defaultCharUnicode = codec.defaultCharUnicode;
	}
	InternalDecoderCesu8.prototype.write = function(buf) {
		var acc = this.acc, contBytes = this.contBytes, accBytes = this.accBytes, res = "";
		for (var i = 0; i < buf.length; i++) {
			var curByte = buf[i];
			if ((curByte & 192) !== 128) {
				if (contBytes > 0) {
					res += this.defaultCharUnicode;
					contBytes = 0;
				}
				if (curByte < 128) {
					res += String.fromCharCode(curByte);
				} else if (curByte < 224) {
					acc = curByte & 31;
					contBytes = 1;
					accBytes = 1;
				} else if (curByte < 240) {
					acc = curByte & 15;
					contBytes = 2;
					accBytes = 1;
				} else {
					res += this.defaultCharUnicode;
				}
			} else {
				if (contBytes > 0) {
					acc = acc << 6 | curByte & 63;
					contBytes--;
					accBytes++;
					if (contBytes === 0) {
						if (accBytes === 2 && acc < 128 && acc > 0) res += this.defaultCharUnicode;
						else if (accBytes === 3 && acc < 2048) res += this.defaultCharUnicode;
						else res += String.fromCharCode(acc);
					}
				} else {
					res += this.defaultCharUnicode;
				}
			}
		}
		this.acc = acc;
		this.contBytes = contBytes;
		this.accBytes = accBytes;
		return res;
	};
	InternalDecoderCesu8.prototype.end = function() {
		var res = 0;
		if (this.contBytes > 0) res += this.defaultCharUnicode;
		return res;
	};
}));

//#endregion
//#region ../node_modules/iconv-lite/encodings/utf32.js
var require_utf32 = /* @__PURE__ */ __commonJSMin(((exports) => {
	var Buffer = require_safer().Buffer;
	exports._utf32 = Utf32Codec;
	function Utf32Codec(codecOptions, iconv) {
		this.iconv = iconv;
		this.bomAware = true;
		this.isLE = codecOptions.isLE;
	}
	exports.utf32le = {
		type: "_utf32",
		isLE: true
	};
	exports.utf32be = {
		type: "_utf32",
		isLE: false
	};
	exports.ucs4le = "utf32le";
	exports.ucs4be = "utf32be";
	Utf32Codec.prototype.encoder = Utf32Encoder;
	Utf32Codec.prototype.decoder = Utf32Decoder;
	function Utf32Encoder(options, codec) {
		this.isLE = codec.isLE;
		this.highSurrogate = 0;
	}
	Utf32Encoder.prototype.write = function(str) {
		var src = Buffer.from(str, "ucs2");
		var dst = Buffer.alloc(src.length * 2);
		var write32 = this.isLE ? dst.writeUInt32LE : dst.writeUInt32BE;
		var offset = 0;
		for (var i = 0; i < src.length; i += 2) {
			var code = src.readUInt16LE(i);
			var isHighSurrogate = 55296 <= code && code < 56320;
			var isLowSurrogate = 56320 <= code && code < 57344;
			if (this.highSurrogate) {
				if (isHighSurrogate || !isLowSurrogate) {
					write32.call(dst, this.highSurrogate, offset);
					offset += 4;
				} else {
					var codepoint = (this.highSurrogate - 55296 << 10 | code - 56320) + 65536;
					write32.call(dst, codepoint, offset);
					offset += 4;
					this.highSurrogate = 0;
					continue;
				}
			}
			if (isHighSurrogate) this.highSurrogate = code;
			else {
				write32.call(dst, code, offset);
				offset += 4;
				this.highSurrogate = 0;
			}
		}
		if (offset < dst.length) dst = dst.slice(0, offset);
		return dst;
	};
	Utf32Encoder.prototype.end = function() {
		if (!this.highSurrogate) return;
		var buf = Buffer.alloc(4);
		if (this.isLE) buf.writeUInt32LE(this.highSurrogate, 0);
		else buf.writeUInt32BE(this.highSurrogate, 0);
		this.highSurrogate = 0;
		return buf;
	};
	function Utf32Decoder(options, codec) {
		this.isLE = codec.isLE;
		this.badChar = codec.iconv.defaultCharUnicode.charCodeAt(0);
		this.overflow = [];
	}
	Utf32Decoder.prototype.write = function(src) {
		if (src.length === 0) return "";
		var i = 0;
		var codepoint = 0;
		var dst = Buffer.alloc(src.length + 4);
		var offset = 0;
		var isLE = this.isLE;
		var overflow = this.overflow;
		var badChar = this.badChar;
		if (overflow.length > 0) {
			for (; i < src.length && overflow.length < 4; i++) overflow.push(src[i]);
			if (overflow.length === 4) {
				if (isLE) {
					codepoint = overflow[i] | overflow[i + 1] << 8 | overflow[i + 2] << 16 | overflow[i + 3] << 24;
				} else {
					codepoint = overflow[i + 3] | overflow[i + 2] << 8 | overflow[i + 1] << 16 | overflow[i] << 24;
				}
				overflow.length = 0;
				offset = _writeCodepoint(dst, offset, codepoint, badChar);
			}
		}
		for (; i < src.length - 3; i += 4) {
			if (isLE) {
				codepoint = src[i] | src[i + 1] << 8 | src[i + 2] << 16 | src[i + 3] << 24;
			} else {
				codepoint = src[i + 3] | src[i + 2] << 8 | src[i + 1] << 16 | src[i] << 24;
			}
			offset = _writeCodepoint(dst, offset, codepoint, badChar);
		}
		for (; i < src.length; i++) {
			overflow.push(src[i]);
		}
		return dst.slice(0, offset).toString("ucs2");
	};
	function _writeCodepoint(dst, offset, codepoint, badChar) {
		if (codepoint < 0 || codepoint > 1114111) {
			codepoint = badChar;
		}
		if (codepoint >= 65536) {
			codepoint -= 65536;
			var high = 55296 | codepoint >> 10;
			dst[offset++] = high & 255;
			dst[offset++] = high >> 8;
			var codepoint = 56320 | codepoint & 1023;
		}
		dst[offset++] = codepoint & 255;
		dst[offset++] = codepoint >> 8;
		return offset;
	}
	;
	Utf32Decoder.prototype.end = function() {
		this.overflow.length = 0;
	};
	exports.utf32 = Utf32AutoCodec;
	exports.ucs4 = "utf32";
	function Utf32AutoCodec(options, iconv) {
		this.iconv = iconv;
	}
	Utf32AutoCodec.prototype.encoder = Utf32AutoEncoder;
	Utf32AutoCodec.prototype.decoder = Utf32AutoDecoder;
	function Utf32AutoEncoder(options, codec) {
		options = options || {};
		if (options.addBOM === undefined) options.addBOM = true;
		this.encoder = codec.iconv.getEncoder(options.defaultEncoding || "utf-32le", options);
	}
	Utf32AutoEncoder.prototype.write = function(str) {
		return this.encoder.write(str);
	};
	Utf32AutoEncoder.prototype.end = function() {
		return this.encoder.end();
	};
	function Utf32AutoDecoder(options, codec) {
		this.decoder = null;
		this.initialBufs = [];
		this.initialBufsLen = 0;
		this.options = options || {};
		this.iconv = codec.iconv;
	}
	Utf32AutoDecoder.prototype.write = function(buf) {
		if (!this.decoder) {
			this.initialBufs.push(buf);
			this.initialBufsLen += buf.length;
			if (this.initialBufsLen < 32) return "";
			var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);
			this.decoder = this.iconv.getDecoder(encoding, this.options);
			var resStr = "";
			for (var i = 0; i < this.initialBufs.length; i++) resStr += this.decoder.write(this.initialBufs[i]);
			this.initialBufs.length = this.initialBufsLen = 0;
			return resStr;
		}
		return this.decoder.write(buf);
	};
	Utf32AutoDecoder.prototype.end = function() {
		if (!this.decoder) {
			var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);
			this.decoder = this.iconv.getDecoder(encoding, this.options);
			var resStr = "";
			for (var i = 0; i < this.initialBufs.length; i++) resStr += this.decoder.write(this.initialBufs[i]);
			var trail = this.decoder.end();
			if (trail) resStr += trail;
			this.initialBufs.length = this.initialBufsLen = 0;
			return resStr;
		}
		return this.decoder.end();
	};
	function detectEncoding(bufs, defaultEncoding) {
		var b = [];
		var charsProcessed = 0;
		var invalidLE = 0, invalidBE = 0;
		var bmpCharsLE = 0, bmpCharsBE = 0;
		outer_loop: for (var i = 0; i < bufs.length; i++) {
			var buf = bufs[i];
			for (var j = 0; j < buf.length; j++) {
				b.push(buf[j]);
				if (b.length === 4) {
					if (charsProcessed === 0) {
						if (b[0] === 255 && b[1] === 254 && b[2] === 0 && b[3] === 0) {
							return "utf-32le";
						}
						if (b[0] === 0 && b[1] === 0 && b[2] === 254 && b[3] === 255) {
							return "utf-32be";
						}
					}
					if (b[0] !== 0 || b[1] > 16) invalidBE++;
					if (b[3] !== 0 || b[2] > 16) invalidLE++;
					if (b[0] === 0 && b[1] === 0 && (b[2] !== 0 || b[3] !== 0)) bmpCharsBE++;
					if ((b[0] !== 0 || b[1] !== 0) && b[2] === 0 && b[3] === 0) bmpCharsLE++;
					b.length = 0;
					charsProcessed++;
					if (charsProcessed >= 100) {
						break outer_loop;
					}
				}
			}
		}
		if (bmpCharsBE - invalidBE > bmpCharsLE - invalidLE) return "utf-32be";
		if (bmpCharsBE - invalidBE < bmpCharsLE - invalidLE) return "utf-32le";
		return defaultEncoding || "utf-32le";
	}
}));

//#endregion
//#region ../node_modules/iconv-lite/encodings/utf16.js
var require_utf16 = /* @__PURE__ */ __commonJSMin(((exports) => {
	var Buffer = require_safer().Buffer;
	exports.utf16be = Utf16BECodec;
	function Utf16BECodec() {}
	Utf16BECodec.prototype.encoder = Utf16BEEncoder;
	Utf16BECodec.prototype.decoder = Utf16BEDecoder;
	Utf16BECodec.prototype.bomAware = true;
	function Utf16BEEncoder() {}
	Utf16BEEncoder.prototype.write = function(str) {
		var buf = Buffer.from(str, "ucs2");
		for (var i = 0; i < buf.length; i += 2) {
			var tmp = buf[i];
			buf[i] = buf[i + 1];
			buf[i + 1] = tmp;
		}
		return buf;
	};
	Utf16BEEncoder.prototype.end = function() {};
	function Utf16BEDecoder() {
		this.overflowByte = -1;
	}
	Utf16BEDecoder.prototype.write = function(buf) {
		if (buf.length == 0) return "";
		var buf2 = Buffer.alloc(buf.length + 1), i = 0, j = 0;
		if (this.overflowByte !== -1) {
			buf2[0] = buf[0];
			buf2[1] = this.overflowByte;
			i = 1;
			j = 2;
		}
		for (; i < buf.length - 1; i += 2, j += 2) {
			buf2[j] = buf[i + 1];
			buf2[j + 1] = buf[i];
		}
		this.overflowByte = i == buf.length - 1 ? buf[buf.length - 1] : -1;
		return buf2.slice(0, j).toString("ucs2");
	};
	Utf16BEDecoder.prototype.end = function() {
		this.overflowByte = -1;
	};
	exports.utf16 = Utf16Codec;
	function Utf16Codec(codecOptions, iconv) {
		this.iconv = iconv;
	}
	Utf16Codec.prototype.encoder = Utf16Encoder;
	Utf16Codec.prototype.decoder = Utf16Decoder;
	function Utf16Encoder(options, codec) {
		options = options || {};
		if (options.addBOM === undefined) options.addBOM = true;
		this.encoder = codec.iconv.getEncoder("utf-16le", options);
	}
	Utf16Encoder.prototype.write = function(str) {
		return this.encoder.write(str);
	};
	Utf16Encoder.prototype.end = function() {
		return this.encoder.end();
	};
	function Utf16Decoder(options, codec) {
		this.decoder = null;
		this.initialBufs = [];
		this.initialBufsLen = 0;
		this.options = options || {};
		this.iconv = codec.iconv;
	}
	Utf16Decoder.prototype.write = function(buf) {
		if (!this.decoder) {
			this.initialBufs.push(buf);
			this.initialBufsLen += buf.length;
			if (this.initialBufsLen < 16) return "";
			var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);
			this.decoder = this.iconv.getDecoder(encoding, this.options);
			var resStr = "";
			for (var i = 0; i < this.initialBufs.length; i++) resStr += this.decoder.write(this.initialBufs[i]);
			this.initialBufs.length = this.initialBufsLen = 0;
			return resStr;
		}
		return this.decoder.write(buf);
	};
	Utf16Decoder.prototype.end = function() {
		if (!this.decoder) {
			var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);
			this.decoder = this.iconv.getDecoder(encoding, this.options);
			var resStr = "";
			for (var i = 0; i < this.initialBufs.length; i++) resStr += this.decoder.write(this.initialBufs[i]);
			var trail = this.decoder.end();
			if (trail) resStr += trail;
			this.initialBufs.length = this.initialBufsLen = 0;
			return resStr;
		}
		return this.decoder.end();
	};
	function detectEncoding(bufs, defaultEncoding) {
		var b = [];
		var charsProcessed = 0;
		var asciiCharsLE = 0, asciiCharsBE = 0;
		outer_loop: for (var i = 0; i < bufs.length; i++) {
			var buf = bufs[i];
			for (var j = 0; j < buf.length; j++) {
				b.push(buf[j]);
				if (b.length === 2) {
					if (charsProcessed === 0) {
						if (b[0] === 255 && b[1] === 254) return "utf-16le";
						if (b[0] === 254 && b[1] === 255) return "utf-16be";
					}
					if (b[0] === 0 && b[1] !== 0) asciiCharsBE++;
					if (b[0] !== 0 && b[1] === 0) asciiCharsLE++;
					b.length = 0;
					charsProcessed++;
					if (charsProcessed >= 100) {
						break outer_loop;
					}
				}
			}
		}
		if (asciiCharsBE > asciiCharsLE) return "utf-16be";
		if (asciiCharsBE < asciiCharsLE) return "utf-16le";
		return defaultEncoding || "utf-16le";
	}
}));

//#endregion
//#region ../node_modules/iconv-lite/encodings/utf7.js
var require_utf7 = /* @__PURE__ */ __commonJSMin(((exports) => {
	var Buffer = require_safer().Buffer;
	exports.utf7 = Utf7Codec;
	exports.unicode11utf7 = "utf7";
	function Utf7Codec(codecOptions, iconv) {
		this.iconv = iconv;
	}
	;
	Utf7Codec.prototype.encoder = Utf7Encoder;
	Utf7Codec.prototype.decoder = Utf7Decoder;
	Utf7Codec.prototype.bomAware = true;
	var nonDirectChars = /[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g;
	function Utf7Encoder(options, codec) {
		this.iconv = codec.iconv;
	}
	Utf7Encoder.prototype.write = function(str) {
		return Buffer.from(str.replace(nonDirectChars, function(chunk) {
			return "+" + (chunk === "+" ? "" : this.iconv.encode(chunk, "utf16-be").toString("base64").replace(/=+$/, "")) + "-";
		}.bind(this)));
	};
	Utf7Encoder.prototype.end = function() {};
	function Utf7Decoder(options, codec) {
		this.iconv = codec.iconv;
		this.inBase64 = false;
		this.base64Accum = "";
	}
	var base64Regex = /[A-Za-z0-9\/+]/;
	var base64Chars = [];
	for (var i = 0; i < 256; i++) base64Chars[i] = base64Regex.test(String.fromCharCode(i));
	var plusChar = "+".charCodeAt(0), minusChar = "-".charCodeAt(0), andChar = "&".charCodeAt(0);
	Utf7Decoder.prototype.write = function(buf) {
		var res = "", lastI = 0, inBase64 = this.inBase64, base64Accum = this.base64Accum;
		for (var i = 0; i < buf.length; i++) {
			if (!inBase64) {
				if (buf[i] == plusChar) {
					res += this.iconv.decode(buf.slice(lastI, i), "ascii");
					lastI = i + 1;
					inBase64 = true;
				}
			} else {
				if (!base64Chars[buf[i]]) {
					if (i == lastI && buf[i] == minusChar) {
						res += "+";
					} else {
						var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i), "ascii");
						res += this.iconv.decode(Buffer.from(b64str, "base64"), "utf16-be");
					}
					if (buf[i] != minusChar) i--;
					lastI = i + 1;
					inBase64 = false;
					base64Accum = "";
				}
			}
		}
		if (!inBase64) {
			res += this.iconv.decode(buf.slice(lastI), "ascii");
		} else {
			var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii");
			var canBeDecoded = b64str.length - b64str.length % 8;
			base64Accum = b64str.slice(canBeDecoded);
			b64str = b64str.slice(0, canBeDecoded);
			res += this.iconv.decode(Buffer.from(b64str, "base64"), "utf16-be");
		}
		this.inBase64 = inBase64;
		this.base64Accum = base64Accum;
		return res;
	};
	Utf7Decoder.prototype.end = function() {
		var res = "";
		if (this.inBase64 && this.base64Accum.length > 0) res = this.iconv.decode(Buffer.from(this.base64Accum, "base64"), "utf16-be");
		this.inBase64 = false;
		this.base64Accum = "";
		return res;
	};
	exports.utf7imap = Utf7IMAPCodec;
	function Utf7IMAPCodec(codecOptions, iconv) {
		this.iconv = iconv;
	}
	;
	Utf7IMAPCodec.prototype.encoder = Utf7IMAPEncoder;
	Utf7IMAPCodec.prototype.decoder = Utf7IMAPDecoder;
	Utf7IMAPCodec.prototype.bomAware = true;
	function Utf7IMAPEncoder(options, codec) {
		this.iconv = codec.iconv;
		this.inBase64 = false;
		this.base64Accum = Buffer.alloc(6);
		this.base64AccumIdx = 0;
	}
	Utf7IMAPEncoder.prototype.write = function(str) {
		var inBase64 = this.inBase64, base64Accum = this.base64Accum, base64AccumIdx = this.base64AccumIdx, buf = Buffer.alloc(str.length * 5 + 10), bufIdx = 0;
		for (var i = 0; i < str.length; i++) {
			var uChar = str.charCodeAt(i);
			if (32 <= uChar && uChar <= 126) {
				if (inBase64) {
					if (base64AccumIdx > 0) {
						bufIdx += buf.write(base64Accum.slice(0, base64AccumIdx).toString("base64").replace(/\//g, ",").replace(/=+$/, ""), bufIdx);
						base64AccumIdx = 0;
					}
					buf[bufIdx++] = minusChar;
					inBase64 = false;
				}
				if (!inBase64) {
					buf[bufIdx++] = uChar;
					if (uChar === andChar) buf[bufIdx++] = minusChar;
				}
			} else {
				if (!inBase64) {
					buf[bufIdx++] = andChar;
					inBase64 = true;
				}
				if (inBase64) {
					base64Accum[base64AccumIdx++] = uChar >> 8;
					base64Accum[base64AccumIdx++] = uChar & 255;
					if (base64AccumIdx == base64Accum.length) {
						bufIdx += buf.write(base64Accum.toString("base64").replace(/\//g, ","), bufIdx);
						base64AccumIdx = 0;
					}
				}
			}
		}
		this.inBase64 = inBase64;
		this.base64AccumIdx = base64AccumIdx;
		return buf.slice(0, bufIdx);
	};
	Utf7IMAPEncoder.prototype.end = function() {
		var buf = Buffer.alloc(10), bufIdx = 0;
		if (this.inBase64) {
			if (this.base64AccumIdx > 0) {
				bufIdx += buf.write(this.base64Accum.slice(0, this.base64AccumIdx).toString("base64").replace(/\//g, ",").replace(/=+$/, ""), bufIdx);
				this.base64AccumIdx = 0;
			}
			buf[bufIdx++] = minusChar;
			this.inBase64 = false;
		}
		return buf.slice(0, bufIdx);
	};
	function Utf7IMAPDecoder(options, codec) {
		this.iconv = codec.iconv;
		this.inBase64 = false;
		this.base64Accum = "";
	}
	var base64IMAPChars = base64Chars.slice();
	base64IMAPChars[",".charCodeAt(0)] = true;
	Utf7IMAPDecoder.prototype.write = function(buf) {
		var res = "", lastI = 0, inBase64 = this.inBase64, base64Accum = this.base64Accum;
		for (var i = 0; i < buf.length; i++) {
			if (!inBase64) {
				if (buf[i] == andChar) {
					res += this.iconv.decode(buf.slice(lastI, i), "ascii");
					lastI = i + 1;
					inBase64 = true;
				}
			} else {
				if (!base64IMAPChars[buf[i]]) {
					if (i == lastI && buf[i] == minusChar) {
						res += "&";
					} else {
						var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i), "ascii").replace(/,/g, "/");
						res += this.iconv.decode(Buffer.from(b64str, "base64"), "utf16-be");
					}
					if (buf[i] != minusChar) i--;
					lastI = i + 1;
					inBase64 = false;
					base64Accum = "";
				}
			}
		}
		if (!inBase64) {
			res += this.iconv.decode(buf.slice(lastI), "ascii");
		} else {
			var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii").replace(/,/g, "/");
			var canBeDecoded = b64str.length - b64str.length % 8;
			base64Accum = b64str.slice(canBeDecoded);
			b64str = b64str.slice(0, canBeDecoded);
			res += this.iconv.decode(Buffer.from(b64str, "base64"), "utf16-be");
		}
		this.inBase64 = inBase64;
		this.base64Accum = base64Accum;
		return res;
	};
	Utf7IMAPDecoder.prototype.end = function() {
		var res = "";
		if (this.inBase64 && this.base64Accum.length > 0) res = this.iconv.decode(Buffer.from(this.base64Accum, "base64"), "utf16-be");
		this.inBase64 = false;
		this.base64Accum = "";
		return res;
	};
}));

//#endregion
//#region ../node_modules/iconv-lite/encodings/sbcs-codec.js
var require_sbcs_codec = /* @__PURE__ */ __commonJSMin(((exports) => {
	var Buffer = require_safer().Buffer;
	exports._sbcs = SBCSCodec;
	function SBCSCodec(codecOptions, iconv) {
		if (!codecOptions) throw new Error("SBCS codec is called without the data.");
		if (!codecOptions.chars || codecOptions.chars.length !== 128 && codecOptions.chars.length !== 256) throw new Error("Encoding '" + codecOptions.type + "' has incorrect 'chars' (must be of len 128 or 256)");
		if (codecOptions.chars.length === 128) {
			var asciiString = "";
			for (var i = 0; i < 128; i++) asciiString += String.fromCharCode(i);
			codecOptions.chars = asciiString + codecOptions.chars;
		}
		this.decodeBuf = Buffer.from(codecOptions.chars, "ucs2");
		var encodeBuf = Buffer.alloc(65536, iconv.defaultCharSingleByte.charCodeAt(0));
		for (var i = 0; i < codecOptions.chars.length; i++) encodeBuf[codecOptions.chars.charCodeAt(i)] = i;
		this.encodeBuf = encodeBuf;
	}
	SBCSCodec.prototype.encoder = SBCSEncoder;
	SBCSCodec.prototype.decoder = SBCSDecoder;
	function SBCSEncoder(options, codec) {
		this.encodeBuf = codec.encodeBuf;
	}
	SBCSEncoder.prototype.write = function(str) {
		var buf = Buffer.alloc(str.length);
		for (var i = 0; i < str.length; i++) buf[i] = this.encodeBuf[str.charCodeAt(i)];
		return buf;
	};
	SBCSEncoder.prototype.end = function() {};
	function SBCSDecoder(options, codec) {
		this.decodeBuf = codec.decodeBuf;
	}
	SBCSDecoder.prototype.write = function(buf) {
		var decodeBuf = this.decodeBuf;
		var newBuf = Buffer.alloc(buf.length * 2);
		var idx1 = 0, idx2 = 0;
		for (var i = 0; i < buf.length; i++) {
			idx1 = buf[i] * 2;
			idx2 = i * 2;
			newBuf[idx2] = decodeBuf[idx1];
			newBuf[idx2 + 1] = decodeBuf[idx1 + 1];
		}
		return newBuf.toString("ucs2");
	};
	SBCSDecoder.prototype.end = function() {};
}));

//#endregion
//#region ../node_modules/iconv-lite/encodings/sbcs-data.js
var require_sbcs_data = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = {
		"10029": "maccenteuro",
		"maccenteuro": {
			"type": "_sbcs",
			"chars": "ÄĀāÉĄÖÜáąČäčĆćéŹźĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņŃ¬√ńŇ∆«»…\xA0ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ"
		},
		"808": "cp808",
		"ibm808": "cp808",
		"cp808": {
			"type": "_sbcs",
			"chars": "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№€■\xA0"
		},
		"mik": {
			"type": "_sbcs",
			"chars": "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя└┴┬├─┼╣║╚╔╩╦╠═╬┐░▒▓│┤№§╗╝┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■\xA0"
		},
		"cp720": {
			"type": "_sbcs",
			"chars": "éâàçêëèïîّْô¤ـûùءآأؤ£إئابةتثجحخدذرزسشص«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ضطظعغفµقكلمنهوىي≡ًٌٍَُِ≈°∙·√ⁿ²■\xA0"
		},
		"ascii8bit": "ascii",
		"usascii": "ascii",
		"ansix34": "ascii",
		"ansix341968": "ascii",
		"ansix341986": "ascii",
		"csascii": "ascii",
		"cp367": "ascii",
		"ibm367": "ascii",
		"isoir6": "ascii",
		"iso646us": "ascii",
		"iso646irv": "ascii",
		"us": "ascii",
		"latin1": "iso88591",
		"latin2": "iso88592",
		"latin3": "iso88593",
		"latin4": "iso88594",
		"latin5": "iso88599",
		"latin6": "iso885910",
		"latin7": "iso885913",
		"latin8": "iso885914",
		"latin9": "iso885915",
		"latin10": "iso885916",
		"csisolatin1": "iso88591",
		"csisolatin2": "iso88592",
		"csisolatin3": "iso88593",
		"csisolatin4": "iso88594",
		"csisolatincyrillic": "iso88595",
		"csisolatinarabic": "iso88596",
		"csisolatingreek": "iso88597",
		"csisolatinhebrew": "iso88598",
		"csisolatin5": "iso88599",
		"csisolatin6": "iso885910",
		"l1": "iso88591",
		"l2": "iso88592",
		"l3": "iso88593",
		"l4": "iso88594",
		"l5": "iso88599",
		"l6": "iso885910",
		"l7": "iso885913",
		"l8": "iso885914",
		"l9": "iso885915",
		"l10": "iso885916",
		"isoir14": "iso646jp",
		"isoir57": "iso646cn",
		"isoir100": "iso88591",
		"isoir101": "iso88592",
		"isoir109": "iso88593",
		"isoir110": "iso88594",
		"isoir144": "iso88595",
		"isoir127": "iso88596",
		"isoir126": "iso88597",
		"isoir138": "iso88598",
		"isoir148": "iso88599",
		"isoir157": "iso885910",
		"isoir166": "tis620",
		"isoir179": "iso885913",
		"isoir199": "iso885914",
		"isoir203": "iso885915",
		"isoir226": "iso885916",
		"cp819": "iso88591",
		"ibm819": "iso88591",
		"cyrillic": "iso88595",
		"arabic": "iso88596",
		"arabic8": "iso88596",
		"ecma114": "iso88596",
		"asmo708": "iso88596",
		"greek": "iso88597",
		"greek8": "iso88597",
		"ecma118": "iso88597",
		"elot928": "iso88597",
		"hebrew": "iso88598",
		"hebrew8": "iso88598",
		"turkish": "iso88599",
		"turkish8": "iso88599",
		"thai": "iso885911",
		"thai8": "iso885911",
		"celtic": "iso885914",
		"celtic8": "iso885914",
		"isoceltic": "iso885914",
		"tis6200": "tis620",
		"tis62025291": "tis620",
		"tis62025330": "tis620",
		"10000": "macroman",
		"10006": "macgreek",
		"10007": "maccyrillic",
		"10079": "maciceland",
		"10081": "macturkish",
		"cspc8codepage437": "cp437",
		"cspc775baltic": "cp775",
		"cspc850multilingual": "cp850",
		"cspcp852": "cp852",
		"cspc862latinhebrew": "cp862",
		"cpgr": "cp869",
		"msee": "cp1250",
		"mscyrl": "cp1251",
		"msansi": "cp1252",
		"msgreek": "cp1253",
		"msturk": "cp1254",
		"mshebr": "cp1255",
		"msarab": "cp1256",
		"winbaltrim": "cp1257",
		"cp20866": "koi8r",
		"20866": "koi8r",
		"ibm878": "koi8r",
		"cskoi8r": "koi8r",
		"cp21866": "koi8u",
		"21866": "koi8u",
		"ibm1168": "koi8u",
		"strk10482002": "rk1048",
		"tcvn5712": "tcvn",
		"tcvn57121": "tcvn",
		"gb198880": "iso646cn",
		"cn": "iso646cn",
		"csiso14jisc6220ro": "iso646jp",
		"jisc62201969ro": "iso646jp",
		"jp": "iso646jp",
		"cshproman8": "hproman8",
		"r8": "hproman8",
		"roman8": "hproman8",
		"xroman8": "hproman8",
		"ibm1051": "hproman8",
		"mac": "macintosh",
		"csmacintosh": "macintosh"
	};
}));

//#endregion
//#region ../node_modules/iconv-lite/encodings/sbcs-data-generated.js
var require_sbcs_data_generated = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = {
		"437": "cp437",
		"737": "cp737",
		"775": "cp775",
		"850": "cp850",
		"852": "cp852",
		"855": "cp855",
		"856": "cp856",
		"857": "cp857",
		"858": "cp858",
		"860": "cp860",
		"861": "cp861",
		"862": "cp862",
		"863": "cp863",
		"864": "cp864",
		"865": "cp865",
		"866": "cp866",
		"869": "cp869",
		"874": "windows874",
		"922": "cp922",
		"1046": "cp1046",
		"1124": "cp1124",
		"1125": "cp1125",
		"1129": "cp1129",
		"1133": "cp1133",
		"1161": "cp1161",
		"1162": "cp1162",
		"1163": "cp1163",
		"1250": "windows1250",
		"1251": "windows1251",
		"1252": "windows1252",
		"1253": "windows1253",
		"1254": "windows1254",
		"1255": "windows1255",
		"1256": "windows1256",
		"1257": "windows1257",
		"1258": "windows1258",
		"28591": "iso88591",
		"28592": "iso88592",
		"28593": "iso88593",
		"28594": "iso88594",
		"28595": "iso88595",
		"28596": "iso88596",
		"28597": "iso88597",
		"28598": "iso88598",
		"28599": "iso88599",
		"28600": "iso885910",
		"28601": "iso885911",
		"28603": "iso885913",
		"28604": "iso885914",
		"28605": "iso885915",
		"28606": "iso885916",
		"windows874": {
			"type": "_sbcs",
			"chars": "€����…�����������‘’“”•–—��������\xA0กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"
		},
		"win874": "windows874",
		"cp874": "windows874",
		"windows1250": {
			"type": "_sbcs",
			"chars": "€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź\xA0ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙"
		},
		"win1250": "windows1250",
		"cp1250": "windows1250",
		"windows1251": {
			"type": "_sbcs",
			"chars": "ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ\xA0ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"
		},
		"win1251": "windows1251",
		"cp1251": "windows1251",
		"windows1252": {
			"type": "_sbcs",
			"chars": "€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ\xA0¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"
		},
		"win1252": "windows1252",
		"cp1252": "windows1252",
		"windows1253": {
			"type": "_sbcs",
			"chars": "€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›����\xA0΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�"
		},
		"win1253": "windows1253",
		"cp1253": "windows1253",
		"windows1254": {
			"type": "_sbcs",
			"chars": "€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ\xA0¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ"
		},
		"win1254": "windows1254",
		"cp1254": "windows1254",
		"windows1255": {
			"type": "_sbcs",
			"chars": "€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›����\xA0¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹֺֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�"
		},
		"win1255": "windows1255",
		"cp1255": "windows1255",
		"windows1256": {
			"type": "_sbcs",
			"chars": "€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں\xA0،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے"
		},
		"win1256": "windows1256",
		"cp1256": "windows1256",
		"windows1257": {
			"type": "_sbcs",
			"chars": "€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛�\xA0�¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙"
		},
		"win1257": "windows1257",
		"cp1257": "windows1257",
		"windows1258": {
			"type": "_sbcs",
			"chars": "€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ\xA0¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ"
		},
		"win1258": "windows1258",
		"cp1258": "windows1258",
		"iso88591": {
			"type": "_sbcs",
			"chars": "\xA0¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"
		},
		"cp28591": "iso88591",
		"iso88592": {
			"type": "_sbcs",
			"chars": "\xA0Ą˘Ł¤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą˛ł´ľśˇ¸šşťź˝žżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙"
		},
		"cp28592": "iso88592",
		"iso88593": {
			"type": "_sbcs",
			"chars": "\xA0Ħ˘£¤�Ĥ§¨İŞĞĴ­�Ż°ħ²³´µĥ·¸ışğĵ½�żÀÁÂ�ÄĊĈÇÈÉÊËÌÍÎÏ�ÑÒÓÔĠÖ×ĜÙÚÛÜŬŜßàáâ�äċĉçèéêëìíîï�ñòóôġö÷ĝùúûüŭŝ˙"
		},
		"cp28593": "iso88593",
		"iso88594": {
			"type": "_sbcs",
			"chars": "\xA0ĄĸŖ¤ĨĻ§¨ŠĒĢŦ­Ž¯°ą˛ŗ´ĩļˇ¸šēģŧŊžŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎĪĐŅŌĶÔÕÖ×ØŲÚÛÜŨŪßāáâãäåæįčéęëėíîīđņōķôõö÷øųúûüũū˙"
		},
		"cp28594": "iso88594",
		"iso88595": {
			"type": "_sbcs",
			"chars": "\xA0ЁЂЃЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђѓєѕіїјљњћќ§ўџ"
		},
		"cp28595": "iso88595",
		"iso88596": {
			"type": "_sbcs",
			"chars": "\xA0���¤�������،­�������������؛���؟�ءآأؤإئابةتثجحخدذرزسشصضطظعغ�����ـفقكلمنهوىيًٌٍَُِّْ�������������"
		},
		"cp28596": "iso88596",
		"iso88597": {
			"type": "_sbcs",
			"chars": "\xA0‘’£€₯¦§¨©ͺ«¬­�―°±²³΄΅Ά·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�"
		},
		"cp28597": "iso88597",
		"iso88598": {
			"type": "_sbcs",
			"chars": "\xA0�¢£¤¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾��������������������������������‗אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�"
		},
		"cp28598": "iso88598",
		"iso88599": {
			"type": "_sbcs",
			"chars": "\xA0¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ"
		},
		"cp28599": "iso88599",
		"iso885910": {
			"type": "_sbcs",
			"chars": "\xA0ĄĒĢĪĨĶ§ĻĐŠŦŽ­ŪŊ°ąēģīĩķ·ļđšŧž―ūŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎÏÐŅŌÓÔÕÖŨØŲÚÛÜÝÞßāáâãäåæįčéęëėíîïðņōóôõöũøųúûüýþĸ"
		},
		"cp28600": "iso885910",
		"iso885911": {
			"type": "_sbcs",
			"chars": "\xA0กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"
		},
		"cp28601": "iso885911",
		"iso885913": {
			"type": "_sbcs",
			"chars": "\xA0”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž’"
		},
		"cp28603": "iso885913",
		"iso885914": {
			"type": "_sbcs",
			"chars": "\xA0Ḃḃ£ĊċḊ§Ẁ©ẂḋỲ­®ŸḞḟĠġṀṁ¶ṖẁṗẃṠỳẄẅṡÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŴÑÒÓÔÕÖṪØÙÚÛÜÝŶßàáâãäåæçèéêëìíîïŵñòóôõöṫøùúûüýŷÿ"
		},
		"cp28604": "iso885914",
		"iso885915": {
			"type": "_sbcs",
			"chars": "\xA0¡¢£€¥Š§š©ª«¬­®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"
		},
		"cp28605": "iso885915",
		"iso885916": {
			"type": "_sbcs",
			"chars": "\xA0ĄąŁ€„Š§š©Ș«Ź­źŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇÈÉÊËÌÍÎÏĐŃÒÓÔŐÖŚŰÙÚÛÜĘȚßàáâăäćæçèéêëìíîïđńòóôőöśűùúûüęțÿ"
		},
		"cp28606": "iso885916",
		"cp437": {
			"type": "_sbcs",
			"chars": "ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñÑªº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■\xA0"
		},
		"ibm437": "cp437",
		"csibm437": "cp437",
		"cp737": {
			"type": "_sbcs",
			"chars": "ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρσςτυφχψ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ωάέήϊίόύϋώΆΈΉΊΌΎΏ±≥≤ΪΫ÷≈°∙·√ⁿ²■\xA0"
		},
		"ibm737": "cp737",
		"csibm737": "cp737",
		"cp775": {
			"type": "_sbcs",
			"chars": "ĆüéāäģåćłēŖŗīŹÄÅÉæÆōöĢ¢ŚśÖÜø£Ø×¤ĀĪóŻżź”¦©®¬½¼Ł«»░▒▓│┤ĄČĘĖ╣║╗╝ĮŠ┐└┴┬├─┼ŲŪ╚╔╩╦╠═╬Žąčęėįšųūž┘┌█▄▌▐▀ÓßŌŃõÕµńĶķĻļņĒŅ’­±“¾¶§÷„°∙·¹³²■\xA0"
		},
		"ibm775": "cp775",
		"csibm775": "cp775",
		"cp850": {
			"type": "_sbcs",
			"chars": "ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñÑªº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýÝ¯´­±‗¾¶§÷¸°¨·¹³²■\xA0"
		},
		"ibm850": "cp850",
		"csibm850": "cp850",
		"cp852": {
			"type": "_sbcs",
			"chars": "ÇüéâäůćçłëŐőîŹÄĆÉĹĺôöĽľŚśÖÜŤťŁ×čáíóúĄąŽžĘę¬źČş«»░▒▓│┤ÁÂĚŞ╣║╗╝Żż┐└┴┬├─┼Ăă╚╔╩╦╠═╬¤đĐĎËďŇÍÎě┘┌█▄ŢŮ▀ÓßÔŃńňŠšŔÚŕŰýÝţ´­˝˛ˇ˘§÷¸°¨˙űŘř■\xA0"
		},
		"ibm852": "cp852",
		"csibm852": "cp852",
		"cp855": {
			"type": "_sbcs",
			"chars": "ђЂѓЃёЁєЄѕЅіІїЇјЈљЉњЊћЋќЌўЎџЏюЮъЪаАбБцЦдДеЕфФгГ«»░▒▓│┤хХиИ╣║╗╝йЙ┐└┴┬├─┼кК╚╔╩╦╠═╬¤лЛмМнНоОп┘┌█▄Пя▀ЯрРсСтТуУжЖвВьЬ№­ыЫзЗшШэЭщЩчЧ§■\xA0"
		},
		"ibm855": "cp855",
		"csibm855": "cp855",
		"cp856": {
			"type": "_sbcs",
			"chars": "אבגדהוזחטיךכלםמןנסעףפץצקרשת�£�×����������®¬½¼�«»░▒▓│┤���©╣║╗╝¢¥┐└┴┬├─┼��╚╔╩╦╠═╬¤���������┘┌█▄¦�▀������µ�������¯´­±‗¾¶§÷¸°¨·¹³²■\xA0"
		},
		"ibm856": "cp856",
		"csibm856": "cp856",
		"cp857": {
			"type": "_sbcs",
			"chars": "ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜø£ØŞşáíóúñÑĞğ¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ºªÊËÈ�ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµ�×ÚÛÙìÿ¯´­±�¾¶§÷¸°¨·¹³²■\xA0"
		},
		"ibm857": "cp857",
		"csibm857": "cp857",
		"cp858": {
			"type": "_sbcs",
			"chars": "ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñÑªº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈ€ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýÝ¯´­±‗¾¶§÷¸°¨·¹³²■\xA0"
		},
		"ibm858": "cp858",
		"csibm858": "cp858",
		"cp860": {
			"type": "_sbcs",
			"chars": "ÇüéâãàÁçêÊèÍÔìÃÂÉÀÈôõòÚùÌÕÜ¢£Ù₧ÓáíóúñÑªº¿Ò¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■\xA0"
		},
		"ibm860": "cp860",
		"csibm860": "cp860",
		"cp861": {
			"type": "_sbcs",
			"chars": "ÇüéâäàåçêëèÐðÞÄÅÉæÆôöþûÝýÖÜø£Ø₧ƒáíóúÁÍÓÚ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■\xA0"
		},
		"ibm861": "cp861",
		"csibm861": "cp861",
		"cp862": {
			"type": "_sbcs",
			"chars": "אבגדהוזחטיךכלםמןנסעףפץצקרשת¢£¥₧ƒáíóúñÑªº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■\xA0"
		},
		"ibm862": "cp862",
		"csibm862": "cp862",
		"cp863": {
			"type": "_sbcs",
			"chars": "ÇüéâÂà¶çêëèïî‗À§ÉÈÊôËÏûù¤ÔÜ¢£ÙÛƒ¦´óú¨¸³¯Î⌐¬½¼¾«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■\xA0"
		},
		"ibm863": "cp863",
		"csibm863": "cp863",
		"cp864": {
			"type": "_sbcs",
			"chars": "\0\x07\b	\n\v\f\r\x1B !\"#$٪&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~°·∙√▒─│┼┤┬├┴┐┌└┘β∞φ±½¼≈«»ﻷﻸ��ﻻﻼ�\xA0­ﺂ£¤ﺄ��ﺎﺏﺕﺙ،ﺝﺡﺥ٠١٢٣٤٥٦٧٨٩ﻑ؛ﺱﺵﺹ؟¢ﺀﺁﺃﺅﻊﺋﺍﺑﺓﺗﺛﺟﺣﺧﺩﺫﺭﺯﺳﺷﺻﺿﻁﻅﻋﻏ¦¬÷×ﻉـﻓﻗﻛﻟﻣﻧﻫﻭﻯﻳﺽﻌﻎﻍﻡﹽّﻥﻩﻬﻰﻲﻐﻕﻵﻶﻝﻙﻱ■�"
		},
		"ibm864": "cp864",
		"csibm864": "cp864",
		"cp865": {
			"type": "_sbcs",
			"chars": "ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñÑªº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■\xA0"
		},
		"ibm865": "cp865",
		"csibm865": "cp865",
		"cp866": {
			"type": "_sbcs",
			"chars": "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■\xA0"
		},
		"ibm866": "cp866",
		"csibm866": "cp866",
		"cp869": {
			"type": "_sbcs",
			"chars": "������Ά�·¬¦‘’Έ―ΉΊΪΌ��ΎΫ©Ώ²³ά£έήίϊΐόύΑΒΓΔΕΖΗ½ΘΙ«»░▒▓│┤ΚΛΜΝ╣║╗╝ΞΟ┐└┴┬├─┼ΠΡ╚╔╩╦╠═╬ΣΤΥΦΧΨΩαβγ┘┌█▄δε▀ζηθικλμνξοπρσςτ΄­±υφχ§ψ΅°¨ωϋΰώ■\xA0"
		},
		"ibm869": "cp869",
		"csibm869": "cp869",
		"cp922": {
			"type": "_sbcs",
			"chars": "\xA0¡¢£¤¥¦§¨©ª«¬­®‾°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŠÑÒÓÔÕÖ×ØÙÚÛÜÝŽßàáâãäåæçèéêëìíîïšñòóôõö÷øùúûüýžÿ"
		},
		"ibm922": "cp922",
		"csibm922": "cp922",
		"cp1046": {
			"type": "_sbcs",
			"chars": "ﺈ×÷ﹱ■│─┐┌└┘ﹹﹻﹽﹿﹷﺊﻰﻳﻲﻎﻏﻐﻶﻸﻺﻼ\xA0¤ﺋﺑﺗﺛﺟﺣ،­ﺧﺳ٠١٢٣٤٥٦٧٨٩ﺷ؛ﺻﺿﻊ؟ﻋءآأؤإئابةتثجحخدذرزسشصضطﻇعغﻌﺂﺄﺎﻓـفقكلمنهوىيًٌٍَُِّْﻗﻛﻟﻵﻷﻹﻻﻣﻧﻬﻩ�"
		},
		"ibm1046": "cp1046",
		"csibm1046": "cp1046",
		"cp1124": {
			"type": "_sbcs",
			"chars": "\xA0ЁЂҐЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђґєѕіїјљњћќ§ўџ"
		},
		"ibm1124": "cp1124",
		"csibm1124": "cp1124",
		"cp1125": {
			"type": "_sbcs",
			"chars": "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёҐґЄєІіЇї·√№¤■\xA0"
		},
		"ibm1125": "cp1125",
		"csibm1125": "cp1125",
		"cp1129": {
			"type": "_sbcs",
			"chars": "\xA0¡¢£¤¥¦§œ©ª«¬­®¯°±²³Ÿµ¶·Œ¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ"
		},
		"ibm1129": "cp1129",
		"csibm1129": "cp1129",
		"cp1133": {
			"type": "_sbcs",
			"chars": "\xA0ກຂຄງຈສຊຍດຕຖທນບປຜຝພຟມຢຣລວຫອຮ���ຯະາຳິີຶືຸູຼັົຽ���ເແໂໃໄ່້໊໋໌ໍໆ�ໜໝ₭����������������໐໑໒໓໔໕໖໗໘໙��¢¬¦�"
		},
		"ibm1133": "cp1133",
		"csibm1133": "cp1133",
		"cp1161": {
			"type": "_sbcs",
			"chars": "��������������������������������่กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู้๊๋€฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛¢¬¦\xA0"
		},
		"ibm1161": "cp1161",
		"csibm1161": "cp1161",
		"cp1162": {
			"type": "_sbcs",
			"chars": "€…‘’“”•–—\xA0กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"
		},
		"ibm1162": "cp1162",
		"csibm1162": "cp1162",
		"cp1163": {
			"type": "_sbcs",
			"chars": "\xA0¡¢£€¥¦§œ©ª«¬­®¯°±²³Ÿµ¶·Œ¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ"
		},
		"ibm1163": "cp1163",
		"csibm1163": "cp1163",
		"maccroatian": {
			"type": "_sbcs",
			"chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈Ć«Č…\xA0ÀÃÕŒœĐ—“”‘’÷◊�©⁄¤‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ"
		},
		"maccyrillic": {
			"type": "_sbcs",
			"chars": "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»…\xA0ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤"
		},
		"macgreek": {
			"type": "_sbcs",
			"chars": "Ä¹²É³ÖÜ΅àâä΄¨çéèêë£™îï•½‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»…\xA0ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�"
		},
		"maciceland": {
			"type": "_sbcs",
			"chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»…\xA0ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"
		},
		"macroman": {
			"type": "_sbcs",
			"chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»…\xA0ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›ﬁﬂ‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"
		},
		"macromania": {
			"type": "_sbcs",
			"chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂŞ∞±≤≥¥µ∂∑∏π∫ªºΩăş¿¡¬√ƒ≈∆«»…\xA0ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›Ţţ‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"
		},
		"macthai": {
			"type": "_sbcs",
			"chars": "«»…“”�•‘’�\xA0กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู﻿​–—฿เแโใไๅๆ็่้๊๋์ํ™๏๐๑๒๓๔๕๖๗๘๙®©����"
		},
		"macturkish": {
			"type": "_sbcs",
			"chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»…\xA0ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ"
		},
		"macukraine": {
			"type": "_sbcs",
			"chars": "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»…\xA0ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤"
		},
		"koi8r": {
			"type": "_sbcs",
			"chars": "─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥\xA0⌡°²·÷═║╒ё╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡Ё╢╣╤╥╦╧╨╩╪╫╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"
		},
		"koi8u": {
			"type": "_sbcs",
			"chars": "─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥\xA0⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґ╝╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪Ґ╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"
		},
		"koi8ru": {
			"type": "_sbcs",
			"chars": "─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥\xA0⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґў╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪ҐЎ©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"
		},
		"koi8t": {
			"type": "_sbcs",
			"chars": "қғ‚Ғ„…†‡�‰ҳ‹ҲҷҶ�Қ‘’“”•–—�™�›�����ӯӮё¤ӣ¦§���«¬­®�°±²Ё�Ӣ¶·�№�»���©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"
		},
		"armscii8": {
			"type": "_sbcs",
			"chars": "\xA0�և։)(»«—.՝,-֊…՜՛՞ԱաԲբԳգԴդԵեԶզԷէԸըԹթԺժԻիԼլԽխԾծԿկՀհՁձՂղՃճՄմՅյՆնՇշՈոՉչՊպՋջՌռՍսՎվՏտՐրՑցՒւՓփՔքՕօՖֆ՚�"
		},
		"rk1048": {
			"type": "_sbcs",
			"chars": "ЂЃ‚ѓ„…†‡€‰Љ‹ЊҚҺЏђ‘’“”•–—�™љ›њқһџ\xA0ҰұӘ¤Ө¦§Ё©Ғ«¬­®Ү°±Ііөµ¶·ё№ғ»әҢңүАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"
		},
		"tcvn": {
			"type": "_sbcs",
			"chars": "\0ÚỤỪỬỮ\x07\b	\n\v\f\rỨỰỲỶỸÝỴ\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÀẢÃÁẠẶẬÈẺẼÉẸỆÌỈĨÍỊÒỎÕÓỌỘỜỞỠỚỢÙỦŨ\xA0ĂÂÊÔƠƯĐăâêôơưđẶ̀̀̉̃́àảãáạẲằẳẵắẴẮẦẨẪẤỀặầẩẫấậèỂẻẽéẹềểễếệìỉỄẾỒĩíịòỔỏõóọồổỗốộờởỡớợùỖủũúụừửữứựỳỷỹýỵỐ"
		},
		"georgianacademy": {
			"type": "_sbcs",
			"chars": "‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ\xA0¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზთიკლმნოპჟრსტუფქღყშჩცძწჭხჯჰჱჲჳჴჵჶçèéêëìíîïðñòóôõö÷øùúûüýþÿ"
		},
		"georgianps": {
			"type": "_sbcs",
			"chars": "‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ\xA0¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზჱთიკლმნჲოპჟრსტჳუფქღყშჩცძწჭხჴჯჰჵæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"
		},
		"pt154": {
			"type": "_sbcs",
			"chars": "ҖҒӮғ„…ҶҮҲүҠӢҢҚҺҸҗ‘’“”•–—ҳҷҡӣңқһҹ\xA0ЎўЈӨҘҰ§Ё©Ә«¬ӯ®Ҝ°ұІіҙө¶·ё№ә»јҪҫҝАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"
		},
		"viscii": {
			"type": "_sbcs",
			"chars": "\0ẲẴẪ\x07\b	\n\v\f\rỶỸ\x1BỴ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ẠẮẰẶẤẦẨẬẼẸẾỀỂỄỆỐỒỔỖỘỢỚỜỞỊỎỌỈỦŨỤỲÕắằặấầẩậẽẹếềểễệốồổỗỠƠộờởịỰỨỪỬơớƯÀÁÂÃẢĂẳẵÈÉÊẺÌÍĨỳĐứÒÓÔạỷừửÙÚỹỵÝỡưàáâãảăữẫèéêẻìíĩỉđựòóôõỏọụùúũủýợỮ"
		},
		"iso646cn": {
			"type": "_sbcs",
			"chars": "\0\x07\b	\n\v\f\r\x1B !\"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������"
		},
		"iso646jp": {
			"type": "_sbcs",
			"chars": "\0\x07\b	\n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[¥]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������"
		},
		"hproman8": {
			"type": "_sbcs",
			"chars": "\xA0ÀÂÈÊËÎÏ´ˋˆ¨˜ÙÛ₤¯Ýý°ÇçÑñ¡¿¤£¥§ƒ¢âêôûáéóúàèòùäëöüÅîØÆåíøæÄìÖÜÉïßÔÁÃãÐðÍÌÓÒÕõŠšÚŸÿÞþ·µ¶¾—¼½ªº«■»±�"
		},
		"macintosh": {
			"type": "_sbcs",
			"chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»…\xA0ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›ﬁﬂ‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"
		},
		"ascii": {
			"type": "_sbcs",
			"chars": "��������������������������������������������������������������������������������������������������������������������������������"
		},
		"tis620": {
			"type": "_sbcs",
			"chars": "���������������������������������กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"
		}
	};
}));

//#endregion
//#region ../node_modules/iconv-lite/encodings/dbcs-codec.js
var require_dbcs_codec = /* @__PURE__ */ __commonJSMin(((exports) => {
	var Buffer = require_safer().Buffer;
	exports._dbcs = DBCSCodec;
	var UNASSIGNED = -1, GB18030_CODE = -2, SEQ_START = -10, NODE_START = -1e3, UNASSIGNED_NODE = new Array(256), DEF_CHAR = -1;
	for (var i = 0; i < 256; i++) UNASSIGNED_NODE[i] = UNASSIGNED;
	function DBCSCodec(codecOptions, iconv) {
		this.encodingName = codecOptions.encodingName;
		if (!codecOptions) throw new Error("DBCS codec is called without the data.");
		if (!codecOptions.table) throw new Error("Encoding '" + this.encodingName + "' has no data.");
		var mappingTable = codecOptions.table();
		this.decodeTables = [];
		this.decodeTables[0] = UNASSIGNED_NODE.slice(0);
		this.decodeTableSeq = [];
		for (var i = 0; i < mappingTable.length; i++) this._addDecodeChunk(mappingTable[i]);
		if (typeof codecOptions.gb18030 === "function") {
			this.gb18030 = codecOptions.gb18030();
			var commonThirdByteNodeIdx = this.decodeTables.length;
			this.decodeTables.push(UNASSIGNED_NODE.slice(0));
			var commonFourthByteNodeIdx = this.decodeTables.length;
			this.decodeTables.push(UNASSIGNED_NODE.slice(0));
			var firstByteNode = this.decodeTables[0];
			for (var i = 129; i <= 254; i++) {
				var secondByteNode = this.decodeTables[NODE_START - firstByteNode[i]];
				for (var j = 48; j <= 57; j++) {
					if (secondByteNode[j] === UNASSIGNED) {
						secondByteNode[j] = NODE_START - commonThirdByteNodeIdx;
					} else if (secondByteNode[j] > NODE_START) {
						throw new Error("gb18030 decode tables conflict at byte 2");
					}
					var thirdByteNode = this.decodeTables[NODE_START - secondByteNode[j]];
					for (var k = 129; k <= 254; k++) {
						if (thirdByteNode[k] === UNASSIGNED) {
							thirdByteNode[k] = NODE_START - commonFourthByteNodeIdx;
						} else if (thirdByteNode[k] === NODE_START - commonFourthByteNodeIdx) {
							continue;
						} else if (thirdByteNode[k] > NODE_START) {
							throw new Error("gb18030 decode tables conflict at byte 3");
						}
						var fourthByteNode = this.decodeTables[NODE_START - thirdByteNode[k]];
						for (var l = 48; l <= 57; l++) {
							if (fourthByteNode[l] === UNASSIGNED) fourthByteNode[l] = GB18030_CODE;
						}
					}
				}
			}
		}
		this.defaultCharUnicode = iconv.defaultCharUnicode;
		this.encodeTable = [];
		this.encodeTableSeq = [];
		var skipEncodeChars = {};
		if (codecOptions.encodeSkipVals) for (var i = 0; i < codecOptions.encodeSkipVals.length; i++) {
			var val = codecOptions.encodeSkipVals[i];
			if (typeof val === "number") skipEncodeChars[val] = true;
			else for (var j = val.from; j <= val.to; j++) skipEncodeChars[j] = true;
		}
		this._fillEncodeTable(0, 0, skipEncodeChars);
		if (codecOptions.encodeAdd) {
			for (var uChar in codecOptions.encodeAdd) if (Object.prototype.hasOwnProperty.call(codecOptions.encodeAdd, uChar)) this._setEncodeChar(uChar.charCodeAt(0), codecOptions.encodeAdd[uChar]);
		}
		this.defCharSB = this.encodeTable[0][iconv.defaultCharSingleByte.charCodeAt(0)];
		if (this.defCharSB === UNASSIGNED) this.defCharSB = this.encodeTable[0]["?"];
		if (this.defCharSB === UNASSIGNED) this.defCharSB = "?".charCodeAt(0);
	}
	DBCSCodec.prototype.encoder = DBCSEncoder;
	DBCSCodec.prototype.decoder = DBCSDecoder;
	DBCSCodec.prototype._getDecodeTrieNode = function(addr) {
		var bytes = [];
		for (; addr > 0; addr >>>= 8) bytes.push(addr & 255);
		if (bytes.length == 0) bytes.push(0);
		var node = this.decodeTables[0];
		for (var i = bytes.length - 1; i > 0; i--) {
			var val = node[bytes[i]];
			if (val == UNASSIGNED) {
				node[bytes[i]] = NODE_START - this.decodeTables.length;
				this.decodeTables.push(node = UNASSIGNED_NODE.slice(0));
			} else if (val <= NODE_START) {
				node = this.decodeTables[NODE_START - val];
			} else throw new Error("Overwrite byte in " + this.encodingName + ", addr: " + addr.toString(16));
		}
		return node;
	};
	DBCSCodec.prototype._addDecodeChunk = function(chunk) {
		var curAddr = parseInt(chunk[0], 16);
		var writeTable = this._getDecodeTrieNode(curAddr);
		curAddr = curAddr & 255;
		for (var k = 1; k < chunk.length; k++) {
			var part = chunk[k];
			if (typeof part === "string") {
				for (var l = 0; l < part.length;) {
					var code = part.charCodeAt(l++);
					if (55296 <= code && code < 56320) {
						var codeTrail = part.charCodeAt(l++);
						if (56320 <= codeTrail && codeTrail < 57344) writeTable[curAddr++] = 65536 + (code - 55296) * 1024 + (codeTrail - 56320);
						else throw new Error("Incorrect surrogate pair in " + this.encodingName + " at chunk " + chunk[0]);
					} else if (4080 < code && code <= 4095) {
						var len = 4095 - code + 2;
						var seq = [];
						for (var m = 0; m < len; m++) seq.push(part.charCodeAt(l++));
						writeTable[curAddr++] = SEQ_START - this.decodeTableSeq.length;
						this.decodeTableSeq.push(seq);
					} else writeTable[curAddr++] = code;
				}
			} else if (typeof part === "number") {
				var charCode = writeTable[curAddr - 1] + 1;
				for (var l = 0; l < part; l++) writeTable[curAddr++] = charCode++;
			} else throw new Error("Incorrect type '" + typeof part + "' given in " + this.encodingName + " at chunk " + chunk[0]);
		}
		if (curAddr > 255) throw new Error("Incorrect chunk in " + this.encodingName + " at addr " + chunk[0] + ": too long" + curAddr);
	};
	DBCSCodec.prototype._getEncodeBucket = function(uCode) {
		var high = uCode >> 8;
		if (this.encodeTable[high] === undefined) this.encodeTable[high] = UNASSIGNED_NODE.slice(0);
		return this.encodeTable[high];
	};
	DBCSCodec.prototype._setEncodeChar = function(uCode, dbcsCode) {
		var bucket = this._getEncodeBucket(uCode);
		var low = uCode & 255;
		if (bucket[low] <= SEQ_START) this.encodeTableSeq[SEQ_START - bucket[low]][DEF_CHAR] = dbcsCode;
		else if (bucket[low] == UNASSIGNED) bucket[low] = dbcsCode;
	};
	DBCSCodec.prototype._setEncodeSequence = function(seq, dbcsCode) {
		var uCode = seq[0];
		var bucket = this._getEncodeBucket(uCode);
		var low = uCode & 255;
		var node;
		if (bucket[low] <= SEQ_START) {
			node = this.encodeTableSeq[SEQ_START - bucket[low]];
		} else {
			node = {};
			if (bucket[low] !== UNASSIGNED) node[DEF_CHAR] = bucket[low];
			bucket[low] = SEQ_START - this.encodeTableSeq.length;
			this.encodeTableSeq.push(node);
		}
		for (var j = 1; j < seq.length - 1; j++) {
			var oldVal = node[uCode];
			if (typeof oldVal === "object") node = oldVal;
			else {
				node = node[uCode] = {};
				if (oldVal !== undefined) node[DEF_CHAR] = oldVal;
			}
		}
		uCode = seq[seq.length - 1];
		node[uCode] = dbcsCode;
	};
	DBCSCodec.prototype._fillEncodeTable = function(nodeIdx, prefix, skipEncodeChars) {
		var node = this.decodeTables[nodeIdx];
		var hasValues = false;
		var subNodeEmpty = {};
		for (var i = 0; i < 256; i++) {
			var uCode = node[i];
			var mbCode = prefix + i;
			if (skipEncodeChars[mbCode]) continue;
			if (uCode >= 0) {
				this._setEncodeChar(uCode, mbCode);
				hasValues = true;
			} else if (uCode <= NODE_START) {
				var subNodeIdx = NODE_START - uCode;
				if (!subNodeEmpty[subNodeIdx]) {
					var newPrefix = mbCode << 8 >>> 0;
					if (this._fillEncodeTable(subNodeIdx, newPrefix, skipEncodeChars)) hasValues = true;
					else subNodeEmpty[subNodeIdx] = true;
				}
			} else if (uCode <= SEQ_START) {
				this._setEncodeSequence(this.decodeTableSeq[SEQ_START - uCode], mbCode);
				hasValues = true;
			}
		}
		return hasValues;
	};
	function DBCSEncoder(options, codec) {
		this.leadSurrogate = -1;
		this.seqObj = undefined;
		this.encodeTable = codec.encodeTable;
		this.encodeTableSeq = codec.encodeTableSeq;
		this.defaultCharSingleByte = codec.defCharSB;
		this.gb18030 = codec.gb18030;
	}
	DBCSEncoder.prototype.write = function(str) {
		var newBuf = Buffer.alloc(str.length * (this.gb18030 ? 4 : 3)), leadSurrogate = this.leadSurrogate, seqObj = this.seqObj, nextChar = -1, i = 0, j = 0;
		while (true) {
			if (nextChar === -1) {
				if (i == str.length) break;
				var uCode = str.charCodeAt(i++);
			} else {
				var uCode = nextChar;
				nextChar = -1;
			}
			if (55296 <= uCode && uCode < 57344) {
				if (uCode < 56320) {
					if (leadSurrogate === -1) {
						leadSurrogate = uCode;
						continue;
					} else {
						leadSurrogate = uCode;
						uCode = UNASSIGNED;
					}
				} else {
					if (leadSurrogate !== -1) {
						uCode = 65536 + (leadSurrogate - 55296) * 1024 + (uCode - 56320);
						leadSurrogate = -1;
					} else {
						uCode = UNASSIGNED;
					}
				}
			} else if (leadSurrogate !== -1) {
				nextChar = uCode;
				uCode = UNASSIGNED;
				leadSurrogate = -1;
			}
			var dbcsCode = UNASSIGNED;
			if (seqObj !== undefined && uCode != UNASSIGNED) {
				var resCode = seqObj[uCode];
				if (typeof resCode === "object") {
					seqObj = resCode;
					continue;
				} else if (typeof resCode == "number") {
					dbcsCode = resCode;
				} else if (resCode == undefined) {
					resCode = seqObj[DEF_CHAR];
					if (resCode !== undefined) {
						dbcsCode = resCode;
						nextChar = uCode;
					} else {}
				}
				seqObj = undefined;
			} else if (uCode >= 0) {
				var subtable = this.encodeTable[uCode >> 8];
				if (subtable !== undefined) dbcsCode = subtable[uCode & 255];
				if (dbcsCode <= SEQ_START) {
					seqObj = this.encodeTableSeq[SEQ_START - dbcsCode];
					continue;
				}
				if (dbcsCode == UNASSIGNED && this.gb18030) {
					var idx = findIdx(this.gb18030.uChars, uCode);
					if (idx != -1) {
						var dbcsCode = this.gb18030.gbChars[idx] + (uCode - this.gb18030.uChars[idx]);
						newBuf[j++] = 129 + Math.floor(dbcsCode / 12600);
						dbcsCode = dbcsCode % 12600;
						newBuf[j++] = 48 + Math.floor(dbcsCode / 1260);
						dbcsCode = dbcsCode % 1260;
						newBuf[j++] = 129 + Math.floor(dbcsCode / 10);
						dbcsCode = dbcsCode % 10;
						newBuf[j++] = 48 + dbcsCode;
						continue;
					}
				}
			}
			if (dbcsCode === UNASSIGNED) dbcsCode = this.defaultCharSingleByte;
			if (dbcsCode < 256) {
				newBuf[j++] = dbcsCode;
			} else if (dbcsCode < 65536) {
				newBuf[j++] = dbcsCode >> 8;
				newBuf[j++] = dbcsCode & 255;
			} else if (dbcsCode < 16777216) {
				newBuf[j++] = dbcsCode >> 16;
				newBuf[j++] = dbcsCode >> 8 & 255;
				newBuf[j++] = dbcsCode & 255;
			} else {
				newBuf[j++] = dbcsCode >>> 24;
				newBuf[j++] = dbcsCode >>> 16 & 255;
				newBuf[j++] = dbcsCode >>> 8 & 255;
				newBuf[j++] = dbcsCode & 255;
			}
		}
		this.seqObj = seqObj;
		this.leadSurrogate = leadSurrogate;
		return newBuf.slice(0, j);
	};
	DBCSEncoder.prototype.end = function() {
		if (this.leadSurrogate === -1 && this.seqObj === undefined) return;
		var newBuf = Buffer.alloc(10), j = 0;
		if (this.seqObj) {
			var dbcsCode = this.seqObj[DEF_CHAR];
			if (dbcsCode !== undefined) {
				if (dbcsCode < 256) {
					newBuf[j++] = dbcsCode;
				} else {
					newBuf[j++] = dbcsCode >> 8;
					newBuf[j++] = dbcsCode & 255;
				}
			} else {}
			this.seqObj = undefined;
		}
		if (this.leadSurrogate !== -1) {
			newBuf[j++] = this.defaultCharSingleByte;
			this.leadSurrogate = -1;
		}
		return newBuf.slice(0, j);
	};
	DBCSEncoder.prototype.findIdx = findIdx;
	function DBCSDecoder(options, codec) {
		this.nodeIdx = 0;
		this.prevBytes = [];
		this.decodeTables = codec.decodeTables;
		this.decodeTableSeq = codec.decodeTableSeq;
		this.defaultCharUnicode = codec.defaultCharUnicode;
		this.gb18030 = codec.gb18030;
	}
	DBCSDecoder.prototype.write = function(buf) {
		var newBuf = Buffer.alloc(buf.length * 2), nodeIdx = this.nodeIdx, prevBytes = this.prevBytes, prevOffset = this.prevBytes.length, seqStart = -this.prevBytes.length, uCode;
		for (var i = 0, j = 0; i < buf.length; i++) {
			var curByte = i >= 0 ? buf[i] : prevBytes[i + prevOffset];
			var uCode = this.decodeTables[nodeIdx][curByte];
			if (uCode >= 0) {} else if (uCode === UNASSIGNED) {
				uCode = this.defaultCharUnicode.charCodeAt(0);
				i = seqStart;
			} else if (uCode === GB18030_CODE) {
				if (i >= 3) {
					var ptr = (buf[i - 3] - 129) * 12600 + (buf[i - 2] - 48) * 1260 + (buf[i - 1] - 129) * 10 + (curByte - 48);
				} else {
					var ptr = (prevBytes[i - 3 + prevOffset] - 129) * 12600 + ((i - 2 >= 0 ? buf[i - 2] : prevBytes[i - 2 + prevOffset]) - 48) * 1260 + ((i - 1 >= 0 ? buf[i - 1] : prevBytes[i - 1 + prevOffset]) - 129) * 10 + (curByte - 48);
				}
				var idx = findIdx(this.gb18030.gbChars, ptr);
				uCode = this.gb18030.uChars[idx] + ptr - this.gb18030.gbChars[idx];
			} else if (uCode <= NODE_START) {
				nodeIdx = NODE_START - uCode;
				continue;
			} else if (uCode <= SEQ_START) {
				var seq = this.decodeTableSeq[SEQ_START - uCode];
				for (var k = 0; k < seq.length - 1; k++) {
					uCode = seq[k];
					newBuf[j++] = uCode & 255;
					newBuf[j++] = uCode >> 8;
				}
				uCode = seq[seq.length - 1];
			} else throw new Error("iconv-lite internal error: invalid decoding table value " + uCode + " at " + nodeIdx + "/" + curByte);
			if (uCode >= 65536) {
				uCode -= 65536;
				var uCodeLead = 55296 | uCode >> 10;
				newBuf[j++] = uCodeLead & 255;
				newBuf[j++] = uCodeLead >> 8;
				uCode = 56320 | uCode & 1023;
			}
			newBuf[j++] = uCode & 255;
			newBuf[j++] = uCode >> 8;
			nodeIdx = 0;
			seqStart = i + 1;
		}
		this.nodeIdx = nodeIdx;
		this.prevBytes = seqStart >= 0 ? Array.prototype.slice.call(buf, seqStart) : prevBytes.slice(seqStart + prevOffset).concat(Array.prototype.slice.call(buf));
		return newBuf.slice(0, j).toString("ucs2");
	};
	DBCSDecoder.prototype.end = function() {
		var ret = "";
		while (this.prevBytes.length > 0) {
			ret += this.defaultCharUnicode;
			var bytesArr = this.prevBytes.slice(1);
			this.prevBytes = [];
			this.nodeIdx = 0;
			if (bytesArr.length > 0) ret += this.write(bytesArr);
		}
		this.prevBytes = [];
		this.nodeIdx = 0;
		return ret;
	};
	function findIdx(table, val) {
		if (table[0] > val) return -1;
		var l = 0, r = table.length;
		while (l < r - 1) {
			var mid = l + (r - l + 1 >> 1);
			if (table[mid] <= val) l = mid;
			else r = mid;
		}
		return l;
	}
}));

//#endregion
//#region ../node_modules/iconv-lite/encodings/tables/shiftjis.json
var require_shiftjis = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = [
		[
			"0",
			"\0",
			128
		],
		[
			"a1",
			"｡",
			62
		],
		[
			"8140",
			"　、。，．・：；？！゛゜´｀¨＾￣＿ヽヾゝゞ〃仝々〆〇ー―‐／＼～∥｜…‥‘’“”（）〔〕［］｛｝〈",
			9,
			"＋－±×"
		],
		["8180", "÷＝≠＜＞≦≧∞∴♂♀°′″℃￥＄￠￡％＃＆＊＠§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓"],
		["81b8", "∈∋⊆⊇⊂⊃∪∩"],
		["81c8", "∧∨￢⇒⇔∀∃"],
		["81da", "∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬"],
		["81f0", "Å‰♯♭♪†‡¶"],
		["81fc", "◯"],
		[
			"824f",
			"０",
			9
		],
		[
			"8260",
			"Ａ",
			25
		],
		[
			"8281",
			"ａ",
			25
		],
		[
			"829f",
			"ぁ",
			82
		],
		[
			"8340",
			"ァ",
			62
		],
		[
			"8380",
			"ム",
			22
		],
		[
			"839f",
			"Α",
			16,
			"Σ",
			6
		],
		[
			"83bf",
			"α",
			16,
			"σ",
			6
		],
		[
			"8440",
			"А",
			5,
			"ЁЖ",
			25
		],
		[
			"8470",
			"а",
			5,
			"ёж",
			7
		],
		[
			"8480",
			"о",
			17
		],
		["849f", "─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂"],
		[
			"8740",
			"①",
			19,
			"Ⅰ",
			9
		],
		["875f", "㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡"],
		["877e", "㍻"],
		[
			"8780",
			"〝〟№㏍℡㊤",
			4,
			"㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪"
		],
		["889f", "亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭"],
		["8940", "院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円"],
		["8980", "園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改"],
		["8a40", "魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫"],
		["8a80", "橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄"],
		["8b40", "機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救"],
		["8b80", "朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈"],
		["8c40", "掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨"],
		["8c80", "劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向"],
		["8d40", "后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降"],
		["8d80", "項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷"],
		["8e40", "察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止"],
		["8e80", "死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周"],
		["8f40", "宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳"],
		["8f80", "準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾"],
		["9040", "拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨"],
		["9080", "逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線"],
		["9140", "繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻"],
		["9180", "操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只"],
		["9240", "叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄"],
		["9280", "逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓"],
		["9340", "邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬"],
		["9380", "凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入"],
		["9440", "如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅"],
		["9480", "楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美"],
		["9540", "鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷"],
		["9580", "斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋"],
		["9640", "法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆"],
		["9680", "摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒"],
		["9740", "諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲"],
		["9780", "沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯"],
		["9840", "蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕"],
		["989f", "弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲"],
		["9940", "僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭"],
		["9980", "凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨"],
		["9a40", "咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸"],
		["9a80", "噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩"],
		["9b40", "奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀"],
		["9b80", "它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏"],
		["9c40", "廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠"],
		["9c80", "怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛"],
		["9d40", "戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫"],
		["9d80", "捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼"],
		["9e40", "曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎"],
		["9e80", "梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣"],
		["9f40", "檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯"],
		["9f80", "麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌"],
		["e040", "漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝"],
		["e080", "烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱"],
		["e140", "瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿"],
		["e180", "痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬"],
		["e240", "磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰"],
		["e280", "窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆"],
		["e340", "紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷"],
		["e380", "縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋"],
		["e440", "隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤"],
		["e480", "艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈"],
		["e540", "蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬"],
		["e580", "蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞"],
		["e640", "襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧"],
		["e680", "諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊"],
		["e740", "蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜"],
		["e780", "轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮"],
		["e840", "錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙"],
		["e880", "閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰"],
		["e940", "顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃"],
		["e980", "騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈"],
		["ea40", "鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯"],
		["ea80", "黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠堯槇遙瑤凜熙"],
		["ed40", "纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏"],
		["ed80", "塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱"],
		["ee40", "犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙"],
		["ee80", "蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"],
		[
			"eeef",
			"ⅰ",
			9,
			"￢￤＇＂"
		],
		[
			"f040",
			"",
			62
		],
		[
			"f080",
			"",
			124
		],
		[
			"f140",
			"",
			62
		],
		[
			"f180",
			"",
			124
		],
		[
			"f240",
			"",
			62
		],
		[
			"f280",
			"",
			124
		],
		[
			"f340",
			"",
			62
		],
		[
			"f380",
			"",
			124
		],
		[
			"f440",
			"",
			62
		],
		[
			"f480",
			"",
			124
		],
		[
			"f540",
			"",
			62
		],
		[
			"f580",
			"",
			124
		],
		[
			"f640",
			"",
			62
		],
		[
			"f680",
			"",
			124
		],
		[
			"f740",
			"",
			62
		],
		[
			"f780",
			"",
			124
		],
		[
			"f840",
			"",
			62
		],
		[
			"f880",
			"",
			124
		],
		["f940", ""],
		[
			"fa40",
			"ⅰ",
			9,
			"Ⅰ",
			9,
			"￢￤＇＂㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊"
		],
		["fa80", "兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯"],
		["fb40", "涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神"],
		["fb80", "祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙"],
		["fc40", "髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"]
	];
}));

//#endregion
//#region ../node_modules/iconv-lite/encodings/tables/eucjp.json
var require_eucjp = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = [
		[
			"0",
			"\0",
			127
		],
		[
			"8ea1",
			"｡",
			62
		],
		[
			"a1a1",
			"　、。，．・：；？！゛゜´｀¨＾￣＿ヽヾゝゞ〃仝々〆〇ー―‐／＼～∥｜…‥‘’“”（）〔〕［］｛｝〈",
			9,
			"＋－±×÷＝≠＜＞≦≧∞∴♂♀°′″℃￥＄￠￡％＃＆＊＠§☆★○●◎◇"
		],
		["a2a1", "◆□■△▲▽▼※〒→←↑↓〓"],
		["a2ba", "∈∋⊆⊇⊂⊃∪∩"],
		["a2ca", "∧∨￢⇒⇔∀∃"],
		["a2dc", "∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬"],
		["a2f2", "Å‰♯♭♪†‡¶"],
		["a2fe", "◯"],
		[
			"a3b0",
			"０",
			9
		],
		[
			"a3c1",
			"Ａ",
			25
		],
		[
			"a3e1",
			"ａ",
			25
		],
		[
			"a4a1",
			"ぁ",
			82
		],
		[
			"a5a1",
			"ァ",
			85
		],
		[
			"a6a1",
			"Α",
			16,
			"Σ",
			6
		],
		[
			"a6c1",
			"α",
			16,
			"σ",
			6
		],
		[
			"a7a1",
			"А",
			5,
			"ЁЖ",
			25
		],
		[
			"a7d1",
			"а",
			5,
			"ёж",
			25
		],
		["a8a1", "─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂"],
		[
			"ada1",
			"①",
			19,
			"Ⅰ",
			9
		],
		["adc0", "㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡"],
		[
			"addf",
			"㍻〝〟№㏍℡㊤",
			4,
			"㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪"
		],
		["b0a1", "亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭"],
		["b1a1", "院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応"],
		["b2a1", "押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改"],
		["b3a1", "魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱"],
		["b4a1", "粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄"],
		["b5a1", "機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京"],
		["b6a1", "供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈"],
		["b7a1", "掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲"],
		["b8a1", "検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向"],
		["b9a1", "后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込"],
		["baa1", "此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷"],
		["bba1", "察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時"],
		["bca1", "次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周"],
		["bda1", "宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償"],
		["bea1", "勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾"],
		["bfa1", "拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾"],
		["c0a1", "澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線"],
		["c1a1", "繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎"],
		["c2a1", "臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只"],
		["c3a1", "叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵"],
		["c4a1", "帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓"],
		["c5a1", "邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到"],
		["c6a1", "董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入"],
		["c7a1", "如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦"],
		["c8a1", "函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美"],
		["c9a1", "鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服"],
		["caa1", "福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋"],
		["cba1", "法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満"],
		["cca1", "漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒"],
		["cda1", "諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃"],
		["cea1", "痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯"],
		["cfa1", "蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕"],
		["d0a1", "弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲"],
		["d1a1", "僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨"],
		["d2a1", "辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨"],
		["d3a1", "咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉"],
		["d4a1", "圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩"],
		["d5a1", "奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓"],
		["d6a1", "屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏"],
		["d7a1", "廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚"],
		["d8a1", "悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛"],
		["d9a1", "戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼"],
		["daa1", "據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼"],
		["dba1", "曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍"],
		["dca1", "棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣"],
		["dda1", "檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾"],
		["dea1", "沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌"],
		["dfa1", "漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼"],
		["e0a1", "燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱"],
		["e1a1", "瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰"],
		["e2a1", "癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬"],
		["e3a1", "磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐"],
		["e4a1", "筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆"],
		["e5a1", "紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺"],
		["e6a1", "罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋"],
		["e7a1", "隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙"],
		["e8a1", "茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈"],
		["e9a1", "蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙"],
		["eaa1", "蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞"],
		["eba1", "襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫"],
		["eca1", "譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊"],
		["eda1", "蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸"],
		["eea1", "遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮"],
		["efa1", "錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞"],
		["f0a1", "陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰"],
		["f1a1", "顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷"],
		["f2a1", "髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈"],
		["f3a1", "鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠"],
		["f4a1", "堯槇遙瑤凜熙"],
		["f9a1", "纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德"],
		["faa1", "忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱"],
		["fba1", "犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚"],
		["fca1", "釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"],
		[
			"fcf1",
			"ⅰ",
			9,
			"￢￤＇＂"
		],
		["8fa2af", "˘ˇ¸˙˝¯˛˚～΄΅"],
		["8fa2c2", "¡¦¿"],
		["8fa2eb", "ºª©®™¤№"],
		["8fa6e1", "ΆΈΉΊΪ"],
		["8fa6e7", "Ό"],
		["8fa6e9", "ΎΫ"],
		["8fa6ec", "Ώ"],
		["8fa6f1", "άέήίϊΐόςύϋΰώ"],
		[
			"8fa7c2",
			"Ђ",
			10,
			"ЎЏ"
		],
		[
			"8fa7f2",
			"ђ",
			10,
			"ўџ"
		],
		["8fa9a1", "ÆĐ"],
		["8fa9a4", "Ħ"],
		["8fa9a6", "Ĳ"],
		["8fa9a8", "ŁĿ"],
		["8fa9ab", "ŊØŒ"],
		["8fa9af", "ŦÞ"],
		["8fa9c1", "æđðħıĳĸłŀŉŋøœßŧþ"],
		["8faaa1", "ÁÀÄÂĂǍĀĄÅÃĆĈČÇĊĎÉÈËÊĚĖĒĘ"],
		["8faaba", "ĜĞĢĠĤÍÌÏÎǏİĪĮĨĴĶĹĽĻŃŇŅÑÓÒÖÔǑŐŌÕŔŘŖŚŜŠŞŤŢÚÙÜÛŬǓŰŪŲŮŨǗǛǙǕŴÝŸŶŹŽŻ"],
		["8faba1", "áàäâăǎāąåãćĉčçċďéèëêěėēęǵĝğ"],
		["8fabbd", "ġĥíìïîǐ"],
		["8fabc5", "īįĩĵķĺľļńňņñóòöôǒőōõŕřŗśŝšşťţúùüûŭǔűūųůũǘǜǚǖŵýÿŷźžż"],
		["8fb0a1", "丂丄丅丌丒丟丣两丨丫丮丯丰丵乀乁乄乇乑乚乜乣乨乩乴乵乹乿亍亖亗亝亯亹仃仐仚仛仠仡仢仨仯仱仳仵份仾仿伀伂伃伈伋伌伒伕伖众伙伮伱你伳伵伷伹伻伾佀佂佈佉佋佌佒佔佖佘佟佣佪佬佮佱佷佸佹佺佽佾侁侂侄"],
		["8fb1a1", "侅侉侊侌侎侐侒侓侔侗侙侚侞侟侲侷侹侻侼侽侾俀俁俅俆俈俉俋俌俍俏俒俜俠俢俰俲俼俽俿倀倁倄倇倊倌倎倐倓倗倘倛倜倝倞倢倧倮倰倲倳倵偀偁偂偅偆偊偌偎偑偒偓偗偙偟偠偢偣偦偧偪偭偰偱倻傁傃傄傆傊傎傏傐"],
		[
			"8fb2a1",
			"傒傓傔傖傛傜傞",
			4,
			"傪傯傰傹傺傽僀僃僄僇僌僎僐僓僔僘僜僝僟僢僤僦僨僩僯僱僶僺僾儃儆儇儈儋儌儍儎僲儐儗儙儛儜儝儞儣儧儨儬儭儯儱儳儴儵儸儹兂兊兏兓兕兗兘兟兤兦兾冃冄冋冎冘冝冡冣冭冸冺冼冾冿凂"
		],
		["8fb3a1", "凈减凑凒凓凕凘凞凢凥凮凲凳凴凷刁刂刅划刓刕刖刘刢刨刱刲刵刼剅剉剕剗剘剚剜剟剠剡剦剮剷剸剹劀劂劅劊劌劓劕劖劗劘劚劜劤劥劦劧劯劰劶劷劸劺劻劽勀勄勆勈勌勏勑勔勖勛勜勡勥勨勩勪勬勰勱勴勶勷匀匃匊匋"],
		["8fb4a1", "匌匑匓匘匛匜匞匟匥匧匨匩匫匬匭匰匲匵匼匽匾卂卌卋卙卛卡卣卥卬卭卲卹卾厃厇厈厎厓厔厙厝厡厤厪厫厯厲厴厵厷厸厺厽叀叅叏叒叓叕叚叝叞叠另叧叵吂吓吚吡吧吨吪启吱吴吵呃呄呇呍呏呞呢呤呦呧呩呫呭呮呴呿"],
		["8fb5a1", "咁咃咅咈咉咍咑咕咖咜咟咡咦咧咩咪咭咮咱咷咹咺咻咿哆哊响哎哠哪哬哯哶哼哾哿唀唁唅唈唉唌唍唎唕唪唫唲唵唶唻唼唽啁啇啉啊啍啐啑啘啚啛啞啠啡啤啦啿喁喂喆喈喎喏喑喒喓喔喗喣喤喭喲喿嗁嗃嗆嗉嗋嗌嗎嗑嗒"],
		[
			"8fb6a1",
			"嗓嗗嗘嗛嗞嗢嗩嗶嗿嘅嘈嘊嘍",
			5,
			"嘙嘬嘰嘳嘵嘷嘹嘻嘼嘽嘿噀噁噃噄噆噉噋噍噏噔噞噠噡噢噣噦噩噭噯噱噲噵嚄嚅嚈嚋嚌嚕嚙嚚嚝嚞嚟嚦嚧嚨嚩嚫嚬嚭嚱嚳嚷嚾囅囉囊囋囏囐囌囍囙囜囝囟囡囤",
			4,
			"囱囫园"
		],
		[
			"8fb7a1",
			"囶囷圁圂圇圊圌圑圕圚圛圝圠圢圣圤圥圩圪圬圮圯圳圴圽圾圿坅坆坌坍坒坢坥坧坨坫坭",
			4,
			"坳坴坵坷坹坺坻坼坾垁垃垌垔垗垙垚垜垝垞垟垡垕垧垨垩垬垸垽埇埈埌埏埕埝埞埤埦埧埩埭埰埵埶埸埽埾埿堃堄堈堉埡"
		],
		["8fb8a1", "堌堍堛堞堟堠堦堧堭堲堹堿塉塌塍塏塐塕塟塡塤塧塨塸塼塿墀墁墇墈墉墊墌墍墏墐墔墖墝墠墡墢墦墩墱墲壄墼壂壈壍壎壐壒壔壖壚壝壡壢壩壳夅夆夋夌夒夓夔虁夝夡夣夤夨夯夰夳夵夶夿奃奆奒奓奙奛奝奞奟奡奣奫奭"],
		["8fb9a1", "奯奲奵奶她奻奼妋妌妎妒妕妗妟妤妧妭妮妯妰妳妷妺妼姁姃姄姈姊姍姒姝姞姟姣姤姧姮姯姱姲姴姷娀娄娌娍娎娒娓娞娣娤娧娨娪娭娰婄婅婇婈婌婐婕婞婣婥婧婭婷婺婻婾媋媐媓媖媙媜媞媟媠媢媧媬媱媲媳媵媸媺媻媿"],
		[
			"8fbaa1",
			"嫄嫆嫈嫏嫚嫜嫠嫥嫪嫮嫵嫶嫽嬀嬁嬈嬗嬴嬙嬛嬝嬡嬥嬭嬸孁孋孌孒孖孞孨孮孯孼孽孾孿宁宄宆宊宎宐宑宓宔宖宨宩宬宭宯宱宲宷宺宼寀寁寍寏寖",
			4,
			"寠寯寱寴寽尌尗尞尟尣尦尩尫尬尮尰尲尵尶屙屚屜屢屣屧屨屩"
		],
		["8fbba1", "屭屰屴屵屺屻屼屽岇岈岊岏岒岝岟岠岢岣岦岪岲岴岵岺峉峋峒峝峗峮峱峲峴崁崆崍崒崫崣崤崦崧崱崴崹崽崿嵂嵃嵆嵈嵕嵑嵙嵊嵟嵠嵡嵢嵤嵪嵭嵰嵹嵺嵾嵿嶁嶃嶈嶊嶒嶓嶔嶕嶙嶛嶟嶠嶧嶫嶰嶴嶸嶹巃巇巋巐巎巘巙巠巤"],
		[
			"8fbca1",
			"巩巸巹帀帇帍帒帔帕帘帟帠帮帨帲帵帾幋幐幉幑幖幘幛幜幞幨幪",
			4,
			"幰庀庋庎庢庤庥庨庪庬庱庳庽庾庿廆廌廋廎廑廒廔廕廜廞廥廫异弆弇弈弎弙弜弝弡弢弣弤弨弫弬弮弰弴弶弻弽弿彀彄彅彇彍彐彔彘彛彠彣彤彧"
		],
		[
			"8fbda1",
			"彯彲彴彵彸彺彽彾徉徍徏徖徜徝徢徧徫徤徬徯徰徱徸忄忇忈忉忋忐",
			4,
			"忞忡忢忨忩忪忬忭忮忯忲忳忶忺忼怇怊怍怓怔怗怘怚怟怤怭怳怵恀恇恈恉恌恑恔恖恗恝恡恧恱恾恿悂悆悈悊悎悑悓悕悘悝悞悢悤悥您悰悱悷"
		],
		[
			"8fbea1",
			"悻悾惂惄惈惉惊惋惎惏惔惕惙惛惝惞惢惥惲惵惸惼惽愂愇愊愌愐",
			4,
			"愖愗愙愜愞愢愪愫愰愱愵愶愷愹慁慅慆慉慞慠慬慲慸慻慼慿憀憁憃憄憋憍憒憓憗憘憜憝憟憠憥憨憪憭憸憹憼懀懁懂懎懏懕懜懝懞懟懡懢懧懩懥"
		],
		["8fbfa1", "懬懭懯戁戃戄戇戓戕戜戠戢戣戧戩戫戹戽扂扃扄扆扌扐扑扒扔扖扚扜扤扭扯扳扺扽抍抎抏抐抦抨抳抶抷抺抾抿拄拎拕拖拚拪拲拴拼拽挃挄挊挋挍挐挓挖挘挩挪挭挵挶挹挼捁捂捃捄捆捊捋捎捒捓捔捘捛捥捦捬捭捱捴捵"],
		["8fc0a1", "捸捼捽捿掂掄掇掊掐掔掕掙掚掞掤掦掭掮掯掽揁揅揈揎揑揓揔揕揜揠揥揪揬揲揳揵揸揹搉搊搐搒搔搘搞搠搢搤搥搩搪搯搰搵搽搿摋摏摑摒摓摔摚摛摜摝摟摠摡摣摭摳摴摻摽撅撇撏撐撑撘撙撛撝撟撡撣撦撨撬撳撽撾撿"],
		["8fc1a1", "擄擉擊擋擌擎擐擑擕擗擤擥擩擪擭擰擵擷擻擿攁攄攈攉攊攏攓攔攖攙攛攞攟攢攦攩攮攱攺攼攽敃敇敉敐敒敔敟敠敧敫敺敽斁斅斊斒斕斘斝斠斣斦斮斲斳斴斿旂旈旉旎旐旔旖旘旟旰旲旴旵旹旾旿昀昄昈昉昍昑昒昕昖昝"],
		["8fc2a1", "昞昡昢昣昤昦昩昪昫昬昮昰昱昳昹昷晀晅晆晊晌晑晎晗晘晙晛晜晠晡曻晪晫晬晾晳晵晿晷晸晹晻暀晼暋暌暍暐暒暙暚暛暜暟暠暤暭暱暲暵暻暿曀曂曃曈曌曎曏曔曛曟曨曫曬曮曺朅朇朎朓朙朜朠朢朳朾杅杇杈杌杔杕杝"],
		[
			"8fc3a1",
			"杦杬杮杴杶杻极构枎枏枑枓枖枘枙枛枰枱枲枵枻枼枽柹柀柂柃柅柈柉柒柗柙柜柡柦柰柲柶柷桒栔栙栝栟栨栧栬栭栯栰栱栳栻栿桄桅桊桌桕桗桘桛桫桮",
			4,
			"桵桹桺桻桼梂梄梆梈梖梘梚梜梡梣梥梩梪梮梲梻棅棈棌棏"
		],
		["8fc4a1", "棐棑棓棖棙棜棝棥棨棪棫棬棭棰棱棵棶棻棼棽椆椉椊椐椑椓椖椗椱椳椵椸椻楂楅楉楎楗楛楣楤楥楦楨楩楬楰楱楲楺楻楿榀榍榒榖榘榡榥榦榨榫榭榯榷榸榺榼槅槈槑槖槗槢槥槮槯槱槳槵槾樀樁樃樏樑樕樚樝樠樤樨樰樲"],
		["8fc5a1", "樴樷樻樾樿橅橆橉橊橎橐橑橒橕橖橛橤橧橪橱橳橾檁檃檆檇檉檋檑檛檝檞檟檥檫檯檰檱檴檽檾檿櫆櫉櫈櫌櫐櫔櫕櫖櫜櫝櫤櫧櫬櫰櫱櫲櫼櫽欂欃欆欇欉欏欐欑欗欛欞欤欨欫欬欯欵欶欻欿歆歊歍歒歖歘歝歠歧歫歮歰歵歽"],
		["8fc6a1", "歾殂殅殗殛殟殠殢殣殨殩殬殭殮殰殸殹殽殾毃毄毉毌毖毚毡毣毦毧毮毱毷毹毿氂氄氅氉氍氎氐氒氙氟氦氧氨氬氮氳氵氶氺氻氿汊汋汍汏汒汔汙汛汜汫汭汯汴汶汸汹汻沅沆沇沉沔沕沗沘沜沟沰沲沴泂泆泍泏泐泑泒泔泖"],
		["8fc7a1", "泚泜泠泧泩泫泬泮泲泴洄洇洊洎洏洑洓洚洦洧洨汧洮洯洱洹洼洿浗浞浟浡浥浧浯浰浼涂涇涑涒涔涖涗涘涪涬涴涷涹涽涿淄淈淊淎淏淖淛淝淟淠淢淥淩淯淰淴淶淼渀渄渞渢渧渲渶渹渻渼湄湅湈湉湋湏湑湒湓湔湗湜湝湞"],
		["8fc8a1", "湢湣湨湳湻湽溍溓溙溠溧溭溮溱溳溻溿滀滁滃滇滈滊滍滎滏滫滭滮滹滻滽漄漈漊漌漍漖漘漚漛漦漩漪漯漰漳漶漻漼漭潏潑潒潓潗潙潚潝潞潡潢潨潬潽潾澃澇澈澋澌澍澐澒澓澔澖澚澟澠澥澦澧澨澮澯澰澵澶澼濅濇濈濊"],
		[
			"8fc9a1",
			"濚濞濨濩濰濵濹濼濽瀀瀅瀆瀇瀍瀗瀠瀣瀯瀴瀷瀹瀼灃灄灈灉灊灋灔灕灝灞灎灤灥灬灮灵灶灾炁炅炆炔",
			4,
			"炛炤炫炰炱炴炷烊烑烓烔烕烖烘烜烤烺焃",
			4,
			"焋焌焏焞焠焫焭焯焰焱焸煁煅煆煇煊煋煐煒煗煚煜煞煠"
		],
		["8fcaa1", "煨煹熀熅熇熌熒熚熛熠熢熯熰熲熳熺熿燀燁燄燋燌燓燖燙燚燜燸燾爀爇爈爉爓爗爚爝爟爤爫爯爴爸爹牁牂牃牅牎牏牐牓牕牖牚牜牞牠牣牨牫牮牯牱牷牸牻牼牿犄犉犍犎犓犛犨犭犮犱犴犾狁狇狉狌狕狖狘狟狥狳狴狺狻"],
		["8fcba1", "狾猂猄猅猇猋猍猒猓猘猙猞猢猤猧猨猬猱猲猵猺猻猽獃獍獐獒獖獘獝獞獟獠獦獧獩獫獬獮獯獱獷獹獼玀玁玃玅玆玎玐玓玕玗玘玜玞玟玠玢玥玦玪玫玭玵玷玹玼玽玿珅珆珉珋珌珏珒珓珖珙珝珡珣珦珧珩珴珵珷珹珺珻珽"],
		[
			"8fcca1",
			"珿琀琁琄琇琊琑琚琛琤琦琨",
			9,
			"琹瑀瑃瑄瑆瑇瑋瑍瑑瑒瑗瑝瑢瑦瑧瑨瑫瑭瑮瑱瑲璀璁璅璆璇璉璏璐璑璒璘璙璚璜璟璠璡璣璦璨璩璪璫璮璯璱璲璵璹璻璿瓈瓉瓌瓐瓓瓘瓚瓛瓞瓟瓤瓨瓪瓫瓯瓴瓺瓻瓼瓿甆"
		],
		[
			"8fcda1",
			"甒甖甗甠甡甤甧甩甪甯甶甹甽甾甿畀畃畇畈畎畐畒畗畞畟畡畯畱畹",
			5,
			"疁疅疐疒疓疕疙疜疢疤疴疺疿痀痁痄痆痌痎痏痗痜痟痠痡痤痧痬痮痯痱痹瘀瘂瘃瘄瘇瘈瘊瘌瘏瘒瘓瘕瘖瘙瘛瘜瘝瘞瘣瘥瘦瘩瘭瘲瘳瘵瘸瘹"
		],
		[
			"8fcea1",
			"瘺瘼癊癀癁癃癄癅癉癋癕癙癟癤癥癭癮癯癱癴皁皅皌皍皕皛皜皝皟皠皢",
			6,
			"皪皭皽盁盅盉盋盌盎盔盙盠盦盨盬盰盱盶盹盼眀眆眊眎眒眔眕眗眙眚眜眢眨眭眮眯眴眵眶眹眽眾睂睅睆睊睍睎睏睒睖睗睜睞睟睠睢"
		],
		["8fcfa1", "睤睧睪睬睰睲睳睴睺睽瞀瞄瞌瞍瞔瞕瞖瞚瞟瞢瞧瞪瞮瞯瞱瞵瞾矃矉矑矒矕矙矞矟矠矤矦矪矬矰矱矴矸矻砅砆砉砍砎砑砝砡砢砣砭砮砰砵砷硃硄硇硈硌硎硒硜硞硠硡硣硤硨硪确硺硾碊碏碔碘碡碝碞碟碤碨碬碭碰碱碲碳"],
		["8fd0a1", "碻碽碿磇磈磉磌磎磒磓磕磖磤磛磟磠磡磦磪磲磳礀磶磷磺磻磿礆礌礐礚礜礞礟礠礥礧礩礭礱礴礵礻礽礿祄祅祆祊祋祏祑祔祘祛祜祧祩祫祲祹祻祼祾禋禌禑禓禔禕禖禘禛禜禡禨禩禫禯禱禴禸离秂秄秇秈秊秏秔秖秚秝秞"],
		["8fd1a1", "秠秢秥秪秫秭秱秸秼稂稃稇稉稊稌稑稕稛稞稡稧稫稭稯稰稴稵稸稹稺穄穅穇穈穌穕穖穙穜穝穟穠穥穧穪穭穵穸穾窀窂窅窆窊窋窐窑窔窞窠窣窬窳窵窹窻窼竆竉竌竎竑竛竨竩竫竬竱竴竻竽竾笇笔笟笣笧笩笪笫笭笮笯笰"],
		[
			"8fd2a1",
			"笱笴笽笿筀筁筇筎筕筠筤筦筩筪筭筯筲筳筷箄箉箎箐箑箖箛箞箠箥箬箯箰箲箵箶箺箻箼箽篂篅篈篊篔篖篗篙篚篛篨篪篲篴篵篸篹篺篼篾簁簂簃簄簆簉簋簌簎簏簙簛簠簥簦簨簬簱簳簴簶簹簺籆籊籕籑籒籓籙",
			5
		],
		["8fd3a1", "籡籣籧籩籭籮籰籲籹籼籽粆粇粏粔粞粠粦粰粶粷粺粻粼粿糄糇糈糉糍糏糓糔糕糗糙糚糝糦糩糫糵紃紇紈紉紏紑紒紓紖紝紞紣紦紪紭紱紼紽紾絀絁絇絈絍絑絓絗絙絚絜絝絥絧絪絰絸絺絻絿綁綂綃綅綆綈綋綌綍綑綖綗綝"],
		[
			"8fd4a1",
			"綞綦綧綪綳綶綷綹緂",
			4,
			"緌緍緎緗緙縀緢緥緦緪緫緭緱緵緶緹緺縈縐縑縕縗縜縝縠縧縨縬縭縯縳縶縿繄繅繇繎繐繒繘繟繡繢繥繫繮繯繳繸繾纁纆纇纊纍纑纕纘纚纝纞缼缻缽缾缿罃罄罇罏罒罓罛罜罝罡罣罤罥罦罭"
		],
		["8fd5a1", "罱罽罾罿羀羋羍羏羐羑羖羗羜羡羢羦羪羭羴羼羿翀翃翈翎翏翛翟翣翥翨翬翮翯翲翺翽翾翿耇耈耊耍耎耏耑耓耔耖耝耞耟耠耤耦耬耮耰耴耵耷耹耺耼耾聀聄聠聤聦聭聱聵肁肈肎肜肞肦肧肫肸肹胈胍胏胒胔胕胗胘胠胭胮"],
		["8fd6a1", "胰胲胳胶胹胺胾脃脋脖脗脘脜脞脠脤脧脬脰脵脺脼腅腇腊腌腒腗腠腡腧腨腩腭腯腷膁膐膄膅膆膋膎膖膘膛膞膢膮膲膴膻臋臃臅臊臎臏臕臗臛臝臞臡臤臫臬臰臱臲臵臶臸臹臽臿舀舃舏舓舔舙舚舝舡舢舨舲舴舺艃艄艅艆"],
		["8fd7a1", "艋艎艏艑艖艜艠艣艧艭艴艻艽艿芀芁芃芄芇芉芊芎芑芔芖芘芚芛芠芡芣芤芧芨芩芪芮芰芲芴芷芺芼芾芿苆苐苕苚苠苢苤苨苪苭苯苶苷苽苾茀茁茇茈茊茋荔茛茝茞茟茡茢茬茭茮茰茳茷茺茼茽荂荃荄荇荍荎荑荕荖荗荰荸"],
		["8fd8a1", "荽荿莀莂莄莆莍莒莔莕莘莙莛莜莝莦莧莩莬莾莿菀菇菉菏菐菑菔菝荓菨菪菶菸菹菼萁萆萊萏萑萕萙莭萯萹葅葇葈葊葍葏葑葒葖葘葙葚葜葠葤葥葧葪葰葳葴葶葸葼葽蒁蒅蒒蒓蒕蒞蒦蒨蒩蒪蒯蒱蒴蒺蒽蒾蓀蓂蓇蓈蓌蓏蓓"],
		[
			"8fd9a1",
			"蓜蓧蓪蓯蓰蓱蓲蓷蔲蓺蓻蓽蔂蔃蔇蔌蔎蔐蔜蔞蔢蔣蔤蔥蔧蔪蔫蔯蔳蔴蔶蔿蕆蕏",
			4,
			"蕖蕙蕜",
			6,
			"蕤蕫蕯蕹蕺蕻蕽蕿薁薅薆薉薋薌薏薓薘薝薟薠薢薥薧薴薶薷薸薼薽薾薿藂藇藊藋藎薭藘藚藟藠藦藨藭藳藶藼"
		],
		[
			"8fdaa1",
			"藿蘀蘄蘅蘍蘎蘐蘑蘒蘘蘙蘛蘞蘡蘧蘩蘶蘸蘺蘼蘽虀虂虆虒虓虖虗虘虙虝虠",
			4,
			"虩虬虯虵虶虷虺蚍蚑蚖蚘蚚蚜蚡蚦蚧蚨蚭蚱蚳蚴蚵蚷蚸蚹蚿蛀蛁蛃蛅蛑蛒蛕蛗蛚蛜蛠蛣蛥蛧蚈蛺蛼蛽蜄蜅蜇蜋蜎蜏蜐蜓蜔蜙蜞蜟蜡蜣"
		],
		[
			"8fdba1",
			"蜨蜮蜯蜱蜲蜹蜺蜼蜽蜾蝀蝃蝅蝍蝘蝝蝡蝤蝥蝯蝱蝲蝻螃",
			6,
			"螋螌螐螓螕螗螘螙螞螠螣螧螬螭螮螱螵螾螿蟁蟈蟉蟊蟎蟕蟖蟙蟚蟜蟟蟢蟣蟤蟪蟫蟭蟱蟳蟸蟺蟿蠁蠃蠆蠉蠊蠋蠐蠙蠒蠓蠔蠘蠚蠛蠜蠞蠟蠨蠭蠮蠰蠲蠵"
		],
		[
			"8fdca1",
			"蠺蠼衁衃衅衈衉衊衋衎衑衕衖衘衚衜衟衠衤衩衱衹衻袀袘袚袛袜袟袠袨袪袺袽袾裀裊",
			4,
			"裑裒裓裛裞裧裯裰裱裵裷褁褆褍褎褏褕褖褘褙褚褜褠褦褧褨褰褱褲褵褹褺褾襀襂襅襆襉襏襒襗襚襛襜襡襢襣襫襮襰襳襵襺"
		],
		[
			"8fdda1",
			"襻襼襽覉覍覐覔覕覛覜覟覠覥覰覴覵覶覷覼觔",
			4,
			"觥觩觫觭觱觳觶觹觽觿訄訅訇訏訑訒訔訕訞訠訢訤訦訫訬訯訵訷訽訾詀詃詅詇詉詍詎詓詖詗詘詜詝詡詥詧詵詶詷詹詺詻詾詿誀誃誆誋誏誐誒誖誗誙誟誧誩誮誯誳"
		],
		[
			"8fdea1",
			"誶誷誻誾諃諆諈諉諊諑諓諔諕諗諝諟諬諰諴諵諶諼諿謅謆謋謑謜謞謟謊謭謰謷謼譂",
			4,
			"譈譒譓譔譙譍譞譣譭譶譸譹譼譾讁讄讅讋讍讏讔讕讜讞讟谸谹谽谾豅豇豉豋豏豑豓豔豗豘豛豝豙豣豤豦豨豩豭豳豵豶豻豾貆"
		],
		["8fdfa1", "貇貋貐貒貓貙貛貜貤貹貺賅賆賉賋賏賖賕賙賝賡賨賬賯賰賲賵賷賸賾賿贁贃贉贒贗贛赥赩赬赮赿趂趄趈趍趐趑趕趞趟趠趦趫趬趯趲趵趷趹趻跀跅跆跇跈跊跎跑跔跕跗跙跤跥跧跬跰趼跱跲跴跽踁踄踅踆踋踑踔踖踠踡踢"],
		["8fe0a1", "踣踦踧踱踳踶踷踸踹踽蹀蹁蹋蹍蹎蹏蹔蹛蹜蹝蹞蹡蹢蹩蹬蹭蹯蹰蹱蹹蹺蹻躂躃躉躐躒躕躚躛躝躞躢躧躩躭躮躳躵躺躻軀軁軃軄軇軏軑軔軜軨軮軰軱軷軹軺軭輀輂輇輈輏輐輖輗輘輞輠輡輣輥輧輨輬輭輮輴輵輶輷輺轀轁"],
		[
			"8fe1a1",
			"轃轇轏轑",
			4,
			"轘轝轞轥辝辠辡辤辥辦辵辶辸达迀迁迆迊迋迍运迒迓迕迠迣迤迨迮迱迵迶迻迾适逄逈逌逘逛逨逩逯逪逬逭逳逴逷逿遃遄遌遛遝遢遦遧遬遰遴遹邅邈邋邌邎邐邕邗邘邙邛邠邡邢邥邰邲邳邴邶邽郌邾郃"
		],
		["8fe2a1", "郄郅郇郈郕郗郘郙郜郝郟郥郒郶郫郯郰郴郾郿鄀鄄鄅鄆鄈鄍鄐鄔鄖鄗鄘鄚鄜鄞鄠鄥鄢鄣鄧鄩鄮鄯鄱鄴鄶鄷鄹鄺鄼鄽酃酇酈酏酓酗酙酚酛酡酤酧酭酴酹酺酻醁醃醅醆醊醎醑醓醔醕醘醞醡醦醨醬醭醮醰醱醲醳醶醻醼醽醿"],
		[
			"8fe3a1",
			"釂釃釅釓釔釗釙釚釞釤釥釩釪釬",
			5,
			"釷釹釻釽鈀鈁鈄鈅鈆鈇鈉鈊鈌鈐鈒鈓鈖鈘鈜鈝鈣鈤鈥鈦鈨鈮鈯鈰鈳鈵鈶鈸鈹鈺鈼鈾鉀鉂鉃鉆鉇鉊鉍鉎鉏鉑鉘鉙鉜鉝鉠鉡鉥鉧鉨鉩鉮鉯鉰鉵",
			4,
			"鉻鉼鉽鉿銈銉銊銍銎銒銗"
		],
		[
			"8fe4a1",
			"銙銟銠銤銥銧銨銫銯銲銶銸銺銻銼銽銿",
			4,
			"鋅鋆鋇鋈鋋鋌鋍鋎鋐鋓鋕鋗鋘鋙鋜鋝鋟鋠鋡鋣鋥鋧鋨鋬鋮鋰鋹鋻鋿錀錂錈錍錑錔錕錜錝錞錟錡錤錥錧錩錪錳錴錶錷鍇鍈鍉鍐鍑鍒鍕鍗鍘鍚鍞鍤鍥鍧鍩鍪鍭鍯鍰鍱鍳鍴鍶"
		],
		[
			"8fe5a1",
			"鍺鍽鍿鎀鎁鎂鎈鎊鎋鎍鎏鎒鎕鎘鎛鎞鎡鎣鎤鎦鎨鎫鎴鎵鎶鎺鎩鏁鏄鏅鏆鏇鏉",
			4,
			"鏓鏙鏜鏞鏟鏢鏦鏧鏹鏷鏸鏺鏻鏽鐁鐂鐄鐈鐉鐍鐎鐏鐕鐖鐗鐟鐮鐯鐱鐲鐳鐴鐻鐿鐽鑃鑅鑈鑊鑌鑕鑙鑜鑟鑡鑣鑨鑫鑭鑮鑯鑱鑲钄钃镸镹"
		],
		["8fe6a1", "镾閄閈閌閍閎閝閞閟閡閦閩閫閬閴閶閺閽閿闆闈闉闋闐闑闒闓闙闚闝闞闟闠闤闦阝阞阢阤阥阦阬阱阳阷阸阹阺阼阽陁陒陔陖陗陘陡陮陴陻陼陾陿隁隂隃隄隉隑隖隚隝隟隤隥隦隩隮隯隳隺雊雒嶲雘雚雝雞雟雩雯雱雺霂"],
		["8fe7a1", "霃霅霉霚霛霝霡霢霣霨霱霳靁靃靊靎靏靕靗靘靚靛靣靧靪靮靳靶靷靸靻靽靿鞀鞉鞕鞖鞗鞙鞚鞞鞟鞢鞬鞮鞱鞲鞵鞶鞸鞹鞺鞼鞾鞿韁韄韅韇韉韊韌韍韎韐韑韔韗韘韙韝韞韠韛韡韤韯韱韴韷韸韺頇頊頙頍頎頔頖頜頞頠頣頦"],
		[
			"8fe8a1",
			"頫頮頯頰頲頳頵頥頾顄顇顊顑顒顓顖顗顙顚顢顣顥顦顪顬颫颭颮颰颴颷颸颺颻颿飂飅飈飌飡飣飥飦飧飪飳飶餂餇餈餑餕餖餗餚餛餜餟餢餦餧餫餱",
			4,
			"餹餺餻餼饀饁饆饇饈饍饎饔饘饙饛饜饞饟饠馛馝馟馦馰馱馲馵"
		],
		[
			"8fe9a1",
			"馹馺馽馿駃駉駓駔駙駚駜駞駧駪駫駬駰駴駵駹駽駾騂騃騄騋騌騐騑騖騞騠騢騣騤騧騭騮騳騵騶騸驇驁驄驊驋驌驎驑驔驖驝骪骬骮骯骲骴骵骶骹骻骾骿髁髃髆髈髎髐髒髕髖髗髛髜髠髤髥髧髩髬髲髳髵髹髺髽髿",
			4
		],
		[
			"8feaa1",
			"鬄鬅鬈鬉鬋鬌鬍鬎鬐鬒鬖鬙鬛鬜鬠鬦鬫鬭鬳鬴鬵鬷鬹鬺鬽魈魋魌魕魖魗魛魞魡魣魥魦魨魪",
			4,
			"魳魵魷魸魹魿鮀鮄鮅鮆鮇鮉鮊鮋鮍鮏鮐鮔鮚鮝鮞鮦鮧鮩鮬鮰鮱鮲鮷鮸鮻鮼鮾鮿鯁鯇鯈鯎鯐鯗鯘鯝鯟鯥鯧鯪鯫鯯鯳鯷鯸"
		],
		[
			"8feba1",
			"鯹鯺鯽鯿鰀鰂鰋鰏鰑鰖鰘鰙鰚鰜鰞鰢鰣鰦",
			4,
			"鰱鰵鰶鰷鰽鱁鱃鱄鱅鱉鱊鱎鱏鱐鱓鱔鱖鱘鱛鱝鱞鱟鱣鱩鱪鱜鱫鱨鱮鱰鱲鱵鱷鱻鳦鳲鳷鳹鴋鴂鴑鴗鴘鴜鴝鴞鴯鴰鴲鴳鴴鴺鴼鵅鴽鵂鵃鵇鵊鵓鵔鵟鵣鵢鵥鵩鵪鵫鵰鵶鵷鵻"
		],
		["8feca1", "鵼鵾鶃鶄鶆鶊鶍鶎鶒鶓鶕鶖鶗鶘鶡鶪鶬鶮鶱鶵鶹鶼鶿鷃鷇鷉鷊鷔鷕鷖鷗鷚鷞鷟鷠鷥鷧鷩鷫鷮鷰鷳鷴鷾鸊鸂鸇鸎鸐鸑鸒鸕鸖鸙鸜鸝鹺鹻鹼麀麂麃麄麅麇麎麏麖麘麛麞麤麨麬麮麯麰麳麴麵黆黈黋黕黟黤黧黬黭黮黰黱黲黵"],
		[
			"8feda1",
			"黸黿鼂鼃鼉鼏鼐鼑鼒鼔鼖鼗鼙鼚鼛鼟鼢鼦鼪鼫鼯鼱鼲鼴鼷鼹鼺鼼鼽鼿齁齃",
			4,
			"齓齕齖齗齘齚齝齞齨齩齭",
			4,
			"齳齵齺齽龏龐龑龒龔龖龗龞龡龢龣龥"
		]
	];
}));

//#endregion
//#region ../node_modules/iconv-lite/encodings/tables/cp936.json
var require_cp936 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = [
		[
			"0",
			"\0",
			127,
			"€"
		],
		[
			"8140",
			"丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪",
			5,
			"乲乴",
			9,
			"乿",
			6,
			"亇亊"
		],
		[
			"8180",
			"亐亖亗亙亜亝亞亣亪亯亰亱亴亶亷亸亹亼亽亾仈仌仏仐仒仚仛仜仠仢仦仧仩仭仮仯仱仴仸仹仺仼仾伀伂",
			6,
			"伋伌伒",
			4,
			"伜伝伡伣伨伩伬伭伮伱伳伵伷伹伻伾",
			4,
			"佄佅佇",
			5,
			"佒佔佖佡佢佦佨佪佫佭佮佱佲併佷佸佹佺佽侀侁侂侅來侇侊侌侎侐侒侓侕侖侘侙侚侜侞侟価侢"
		],
		[
			"8240",
			"侤侫侭侰",
			4,
			"侶",
			8,
			"俀俁係俆俇俈俉俋俌俍俒",
			4,
			"俙俛俠俢俤俥俧俫俬俰俲俴俵俶俷俹俻俼俽俿",
			11
		],
		[
			"8280",
			"個倎倐們倓倕倖倗倛倝倞倠倢倣値倧倫倯",
			10,
			"倻倽倿偀偁偂偄偅偆偉偊偋偍偐",
			4,
			"偖偗偘偙偛偝",
			7,
			"偦",
			5,
			"偭",
			8,
			"偸偹偺偼偽傁傂傃傄傆傇傉傊傋傌傎",
			20,
			"傤傦傪傫傭",
			4,
			"傳",
			6,
			"傼"
		],
		[
			"8340",
			"傽",
			17,
			"僐",
			5,
			"僗僘僙僛",
			10,
			"僨僩僪僫僯僰僱僲僴僶",
			4,
			"僼",
			9,
			"儈"
		],
		[
			"8380",
			"儉儊儌",
			5,
			"儓",
			13,
			"儢",
			28,
			"兂兇兊兌兎兏児兒兓兗兘兙兛兝",
			4,
			"兣兤兦內兩兪兯兲兺兾兿冃冄円冇冊冋冎冏冐冑冓冔冘冚冝冞冟冡冣冦",
			4,
			"冭冮冴冸冹冺冾冿凁凂凃凅凈凊凍凎凐凒",
			5
		],
		[
			"8440",
			"凘凙凚凜凞凟凢凣凥",
			5,
			"凬凮凱凲凴凷凾刄刅刉刋刌刏刐刓刔刕刜刞刟刡刢刣別刦刧刪刬刯刱刲刴刵刼刾剄",
			5,
			"剋剎剏剒剓剕剗剘"
		],
		[
			"8480",
			"剙剚剛剝剟剠剢剣剤剦剨剫剬剭剮剰剱剳",
			9,
			"剾劀劃",
			4,
			"劉",
			6,
			"劑劒劔",
			6,
			"劜劤劥劦劧劮劯劰労",
			9,
			"勀勁勂勄勅勆勈勊勌勍勎勏勑勓勔動勗務",
			5,
			"勠勡勢勣勥",
			10,
			"勱",
			7,
			"勻勼勽匁匂匃匄匇匉匊匋匌匎"
		],
		[
			"8540",
			"匑匒匓匔匘匛匜匞匟匢匤匥匧匨匩匫匬匭匯",
			9,
			"匼匽區卂卄卆卋卌卍卐協単卙卛卝卥卨卪卬卭卲卶卹卻卼卽卾厀厁厃厇厈厊厎厏"
		],
		[
			"8580",
			"厐",
			4,
			"厖厗厙厛厜厞厠厡厤厧厪厫厬厭厯",
			6,
			"厷厸厹厺厼厽厾叀參",
			4,
			"収叏叐叒叓叕叚叜叝叞叡叢叧叴叺叾叿吀吂吅吇吋吔吘吙吚吜吢吤吥吪吰吳吶吷吺吽吿呁呂呄呅呇呉呌呍呎呏呑呚呝",
			4,
			"呣呥呧呩",
			7,
			"呴呹呺呾呿咁咃咅咇咈咉咊咍咑咓咗咘咜咞咟咠咡"
		],
		[
			"8640",
			"咢咥咮咰咲咵咶咷咹咺咼咾哃哅哊哋哖哘哛哠",
			4,
			"哫哬哯哰哱哴",
			5,
			"哻哾唀唂唃唄唅唈唊",
			4,
			"唒唓唕",
			5,
			"唜唝唞唟唡唥唦"
		],
		[
			"8680",
			"唨唩唫唭唲唴唵唶唸唹唺唻唽啀啂啅啇啈啋",
			4,
			"啑啒啓啔啗",
			4,
			"啝啞啟啠啢啣啨啩啫啯",
			5,
			"啹啺啽啿喅喆喌喍喎喐喒喓喕喖喗喚喛喞喠",
			6,
			"喨",
			8,
			"喲喴営喸喺喼喿",
			4,
			"嗆嗇嗈嗊嗋嗎嗏嗐嗕嗗",
			4,
			"嗞嗠嗢嗧嗩嗭嗮嗰嗱嗴嗶嗸",
			4,
			"嗿嘂嘃嘄嘅"
		],
		[
			"8740",
			"嘆嘇嘊嘋嘍嘐",
			7,
			"嘙嘚嘜嘝嘠嘡嘢嘥嘦嘨嘩嘪嘫嘮嘯嘰嘳嘵嘷嘸嘺嘼嘽嘾噀",
			11,
			"噏",
			4,
			"噕噖噚噛噝",
			4
		],
		[
			"8780",
			"噣噥噦噧噭噮噯噰噲噳噴噵噷噸噹噺噽",
			7,
			"嚇",
			6,
			"嚐嚑嚒嚔",
			14,
			"嚤",
			10,
			"嚰",
			6,
			"嚸嚹嚺嚻嚽",
			12,
			"囋",
			8,
			"囕囖囘囙囜団囥",
			5,
			"囬囮囯囲図囶囷囸囻囼圀圁圂圅圇國",
			6
		],
		[
			"8840",
			"園",
			9,
			"圝圞圠圡圢圤圥圦圧圫圱圲圴",
			4,
			"圼圽圿坁坃坄坅坆坈坉坋坒",
			4,
			"坘坙坢坣坥坧坬坮坰坱坲坴坵坸坹坺坽坾坿垀"
		],
		[
			"8880",
			"垁垇垈垉垊垍",
			4,
			"垔",
			6,
			"垜垝垞垟垥垨垪垬垯垰垱垳垵垶垷垹",
			8,
			"埄",
			6,
			"埌埍埐埑埓埖埗埛埜埞埡埢埣埥",
			7,
			"埮埰埱埲埳埵埶執埻埼埾埿堁堃堄堅堈堉堊堌堎堏堐堒堓堔堖堗堘堚堛堜堝堟堢堣堥",
			4,
			"堫",
			4,
			"報堲堳場堶",
			7
		],
		[
			"8940",
			"堾",
			5,
			"塅",
			6,
			"塎塏塐塒塓塕塖塗塙",
			4,
			"塟",
			5,
			"塦",
			4,
			"塭",
			16,
			"塿墂墄墆墇墈墊墋墌"
		],
		[
			"8980",
			"墍",
			4,
			"墔",
			4,
			"墛墜墝墠",
			7,
			"墪",
			17,
			"墽墾墿壀壂壃壄壆",
			10,
			"壒壓壔壖",
			13,
			"壥",
			5,
			"壭壯壱売壴壵壷壸壺",
			7,
			"夃夅夆夈",
			4,
			"夎夐夑夒夓夗夘夛夝夞夠夡夢夣夦夨夬夰夲夳夵夶夻"
		],
		[
			"8a40",
			"夽夾夿奀奃奅奆奊奌奍奐奒奓奙奛",
			4,
			"奡奣奤奦",
			12,
			"奵奷奺奻奼奾奿妀妅妉妋妌妎妏妐妑妔妕妘妚妛妜妝妟妠妡妢妦"
		],
		[
			"8a80",
			"妧妬妭妰妱妳",
			5,
			"妺妼妽妿",
			6,
			"姇姈姉姌姍姎姏姕姖姙姛姞",
			4,
			"姤姦姧姩姪姫姭",
			11,
			"姺姼姽姾娀娂娊娋娍娎娏娐娒娔娕娖娗娙娚娛娝娞娡娢娤娦娧娨娪",
			6,
			"娳娵娷",
			4,
			"娽娾娿婁",
			4,
			"婇婈婋",
			9,
			"婖婗婘婙婛",
			5
		],
		[
			"8b40",
			"婡婣婤婥婦婨婩婫",
			8,
			"婸婹婻婼婽婾媀",
			17,
			"媓",
			6,
			"媜",
			13,
			"媫媬"
		],
		[
			"8b80",
			"媭",
			4,
			"媴媶媷媹",
			4,
			"媿嫀嫃",
			5,
			"嫊嫋嫍",
			4,
			"嫓嫕嫗嫙嫚嫛嫝嫞嫟嫢嫤嫥嫧嫨嫪嫬",
			4,
			"嫲",
			22,
			"嬊",
			11,
			"嬘",
			25,
			"嬳嬵嬶嬸",
			7,
			"孁",
			6
		],
		[
			"8c40",
			"孈",
			7,
			"孒孖孞孠孡孧孨孫孭孮孯孲孴孶孷學孹孻孼孾孿宂宆宊宍宎宐宑宒宔宖実宧宨宩宬宭宮宯宱宲宷宺宻宼寀寁寃寈寉寊寋寍寎寏"
		],
		[
			"8c80",
			"寑寔",
			8,
			"寠寢寣實寧審",
			4,
			"寯寱",
			6,
			"寽対尀専尃尅將專尋尌對導尐尒尓尗尙尛尞尟尠尡尣尦尨尩尪尫尭尮尯尰尲尳尵尶尷屃屄屆屇屌屍屒屓屔屖屗屘屚屛屜屝屟屢層屧",
			6,
			"屰屲",
			6,
			"屻屼屽屾岀岃",
			4,
			"岉岊岋岎岏岒岓岕岝",
			4,
			"岤",
			4
		],
		[
			"8d40",
			"岪岮岯岰岲岴岶岹岺岻岼岾峀峂峃峅",
			5,
			"峌",
			5,
			"峓",
			5,
			"峚",
			6,
			"峢峣峧峩峫峬峮峯峱",
			9,
			"峼",
			4
		],
		[
			"8d80",
			"崁崄崅崈",
			5,
			"崏",
			4,
			"崕崗崘崙崚崜崝崟",
			4,
			"崥崨崪崫崬崯",
			4,
			"崵",
			7,
			"崿",
			7,
			"嵈嵉嵍",
			10,
			"嵙嵚嵜嵞",
			10,
			"嵪嵭嵮嵰嵱嵲嵳嵵",
			12,
			"嶃",
			21,
			"嶚嶛嶜嶞嶟嶠"
		],
		[
			"8e40",
			"嶡",
			21,
			"嶸",
			12,
			"巆",
			6,
			"巎",
			12,
			"巜巟巠巣巤巪巬巭"
		],
		[
			"8e80",
			"巰巵巶巸",
			4,
			"巿帀帄帇帉帊帋帍帎帒帓帗帞",
			7,
			"帨",
			4,
			"帯帰帲",
			4,
			"帹帺帾帿幀幁幃幆",
			5,
			"幍",
			6,
			"幖",
			4,
			"幜幝幟幠幣",
			14,
			"幵幷幹幾庁庂広庅庈庉庌庍庎庒庘庛庝庡庢庣庤庨",
			4,
			"庮",
			4,
			"庴庺庻庼庽庿",
			6
		],
		[
			"8f40",
			"廆廇廈廋",
			5,
			"廔廕廗廘廙廚廜",
			11,
			"廩廫",
			8,
			"廵廸廹廻廼廽弅弆弇弉弌弍弎弐弒弔弖弙弚弜弝弞弡弢弣弤"
		],
		[
			"8f80",
			"弨弫弬弮弰弲",
			6,
			"弻弽弾弿彁",
			14,
			"彑彔彙彚彛彜彞彟彠彣彥彧彨彫彮彯彲彴彵彶彸彺彽彾彿徃徆徍徎徏徑従徔徖徚徛徝從徟徠徢",
			5,
			"復徫徬徯",
			5,
			"徶徸徹徺徻徾",
			4,
			"忇忈忊忋忎忓忔忕忚忛応忞忟忢忣忥忦忨忩忬忯忰忲忳忴忶忷忹忺忼怇"
		],
		[
			"9040",
			"怈怉怋怌怐怑怓怗怘怚怞怟怢怣怤怬怭怮怰",
			4,
			"怶",
			4,
			"怽怾恀恄",
			6,
			"恌恎恏恑恓恔恖恗恘恛恜恞恟恠恡恥恦恮恱恲恴恵恷恾悀"
		],
		[
			"9080",
			"悁悂悅悆悇悈悊悋悎悏悐悑悓悕悗悘悙悜悞悡悢悤悥悧悩悪悮悰悳悵悶悷悹悺悽",
			7,
			"惇惈惉惌",
			4,
			"惒惓惔惖惗惙惛惞惡",
			4,
			"惪惱惲惵惷惸惻",
			4,
			"愂愃愄愅愇愊愋愌愐",
			4,
			"愖愗愘愙愛愜愝愞愡愢愥愨愩愪愬",
			18,
			"慀",
			6
		],
		[
			"9140",
			"慇慉態慍慏慐慒慓慔慖",
			6,
			"慞慟慠慡慣慤慥慦慩",
			6,
			"慱慲慳慴慶慸",
			18,
			"憌憍憏",
			4,
			"憕"
		],
		[
			"9180",
			"憖",
			6,
			"憞",
			8,
			"憪憫憭",
			9,
			"憸",
			5,
			"憿懀懁懃",
			4,
			"應懌",
			4,
			"懓懕",
			16,
			"懧",
			13,
			"懶",
			8,
			"戀",
			5,
			"戇戉戓戔戙戜戝戞戠戣戦戧戨戩戫戭戯戰戱戲戵戶戸",
			4,
			"扂扄扅扆扊"
		],
		[
			"9240",
			"扏扐払扖扗扙扚扜",
			6,
			"扤扥扨扱扲扴扵扷扸扺扻扽抁抂抃抅抆抇抈抋",
			5,
			"抔抙抜抝択抣抦抧抩抪抭抮抯抰抲抳抴抶抷抸抺抾拀拁"
		],
		[
			"9280",
			"拃拋拏拑拕拝拞拠拡拤拪拫拰拲拵拸拹拺拻挀挃挄挅挆挊挋挌挍挏挐挒挓挔挕挗挘挙挜挦挧挩挬挭挮挰挱挳",
			5,
			"挻挼挾挿捀捁捄捇捈捊捑捒捓捔捖",
			7,
			"捠捤捥捦捨捪捫捬捯捰捲捳捴捵捸捹捼捽捾捿掁掃掄掅掆掋掍掑掓掔掕掗掙",
			6,
			"採掤掦掫掯掱掲掵掶掹掻掽掿揀"
		],
		[
			"9340",
			"揁揂揃揅揇揈揊揋揌揑揓揔揕揗",
			6,
			"揟揢揤",
			4,
			"揫揬揮揯揰揱揳揵揷揹揺揻揼揾搃搄搆",
			4,
			"損搎搑搒搕",
			5,
			"搝搟搢搣搤"
		],
		[
			"9380",
			"搥搧搨搩搫搮",
			5,
			"搵",
			4,
			"搻搼搾摀摂摃摉摋",
			6,
			"摓摕摖摗摙",
			4,
			"摟",
			7,
			"摨摪摫摬摮",
			9,
			"摻",
			6,
			"撃撆撈",
			8,
			"撓撔撗撘撚撛撜撝撟",
			4,
			"撥撦撧撨撪撫撯撱撲撳撴撶撹撻撽撾撿擁擃擄擆",
			6,
			"擏擑擓擔擕擖擙據"
		],
		[
			"9440",
			"擛擜擝擟擠擡擣擥擧",
			24,
			"攁",
			7,
			"攊",
			7,
			"攓",
			4,
			"攙",
			8
		],
		[
			"9480",
			"攢攣攤攦",
			4,
			"攬攭攰攱攲攳攷攺攼攽敀",
			4,
			"敆敇敊敋敍敎敐敒敓敔敗敘敚敜敟敠敡敤敥敧敨敩敪敭敮敯敱敳敵敶數",
			14,
			"斈斉斊斍斎斏斒斔斕斖斘斚斝斞斠斢斣斦斨斪斬斮斱",
			7,
			"斺斻斾斿旀旂旇旈旉旊旍旐旑旓旔旕旘",
			7,
			"旡旣旤旪旫"
		],
		[
			"9540",
			"旲旳旴旵旸旹旻",
			4,
			"昁昄昅昇昈昉昋昍昐昑昒昖昗昘昚昛昜昞昡昢昣昤昦昩昪昫昬昮昰昲昳昷",
			4,
			"昽昿晀時晄",
			6,
			"晍晎晐晑晘"
		],
		[
			"9580",
			"晙晛晜晝晞晠晢晣晥晧晩",
			4,
			"晱晲晳晵晸晹晻晼晽晿暀暁暃暅暆暈暉暊暋暍暎暏暐暒暓暔暕暘",
			4,
			"暞",
			8,
			"暩",
			4,
			"暯",
			4,
			"暵暶暷暸暺暻暼暽暿",
			25,
			"曚曞",
			7,
			"曧曨曪",
			5,
			"曱曵曶書曺曻曽朁朂會"
		],
		[
			"9640",
			"朄朅朆朇朌朎朏朑朒朓朖朘朙朚朜朞朠",
			5,
			"朧朩朮朰朲朳朶朷朸朹朻朼朾朿杁杄杅杇杊杋杍杒杔杕杗",
			4,
			"杝杢杣杤杦杧杫杬杮東杴杶"
		],
		[
			"9680",
			"杸杹杺杻杽枀枂枃枅枆枈枊枌枍枎枏枑枒枓枔枖枙枛枟枠枡枤枦枩枬枮枱枲枴枹",
			7,
			"柂柅",
			9,
			"柕柖柗柛柟柡柣柤柦柧柨柪柫柭柮柲柵",
			7,
			"柾栁栂栃栄栆栍栐栒栔栕栘",
			4,
			"栞栟栠栢",
			6,
			"栫",
			6,
			"栴栵栶栺栻栿桇桋桍桏桒桖",
			5
		],
		[
			"9740",
			"桜桝桞桟桪桬",
			7,
			"桵桸",
			8,
			"梂梄梇",
			7,
			"梐梑梒梔梕梖梘",
			9,
			"梣梤梥梩梪梫梬梮梱梲梴梶梷梸"
		],
		[
			"9780",
			"梹",
			6,
			"棁棃",
			5,
			"棊棌棎棏棐棑棓棔棖棗棙棛",
			4,
			"棡棢棤",
			9,
			"棯棲棳棴棶棷棸棻棽棾棿椀椂椃椄椆",
			4,
			"椌椏椑椓",
			11,
			"椡椢椣椥",
			7,
			"椮椯椱椲椳椵椶椷椸椺椻椼椾楀楁楃",
			16,
			"楕楖楘楙楛楜楟"
		],
		[
			"9840",
			"楡楢楤楥楧楨楩楪楬業楯楰楲",
			4,
			"楺楻楽楾楿榁榃榅榊榋榌榎",
			5,
			"榖榗榙榚榝",
			9,
			"榩榪榬榮榯榰榲榳榵榶榸榹榺榼榽"
		],
		[
			"9880",
			"榾榿槀槂",
			7,
			"構槍槏槑槒槓槕",
			5,
			"槜槝槞槡",
			11,
			"槮槯槰槱槳",
			9,
			"槾樀",
			9,
			"樋",
			11,
			"標",
			5,
			"樠樢",
			5,
			"権樫樬樭樮樰樲樳樴樶",
			6,
			"樿",
			4,
			"橅橆橈",
			7,
			"橑",
			6,
			"橚"
		],
		[
			"9940",
			"橜",
			4,
			"橢橣橤橦",
			10,
			"橲",
			6,
			"橺橻橽橾橿檁檂檃檅",
			8,
			"檏檒",
			4,
			"檘",
			7,
			"檡",
			5
		],
		[
			"9980",
			"檧檨檪檭",
			114,
			"欥欦欨",
			6
		],
		[
			"9a40",
			"欯欰欱欳欴欵欶欸欻欼欽欿歀歁歂歄歅歈歊歋歍",
			11,
			"歚",
			7,
			"歨歩歫",
			13,
			"歺歽歾歿殀殅殈"
		],
		[
			"9a80",
			"殌殎殏殐殑殔殕殗殘殙殜",
			4,
			"殢",
			7,
			"殫",
			7,
			"殶殸",
			6,
			"毀毃毄毆",
			4,
			"毌毎毐毑毘毚毜",
			4,
			"毢",
			7,
			"毬毭毮毰毱毲毴毶毷毸毺毻毼毾",
			6,
			"氈",
			4,
			"氎氒気氜氝氞氠氣氥氫氬氭氱氳氶氷氹氺氻氼氾氿汃汄汅汈汋",
			4,
			"汑汒汓汖汘"
		],
		[
			"9b40",
			"汙汚汢汣汥汦汧汫",
			4,
			"汱汳汵汷汸決汻汼汿沀沄沇沊沋沍沎沑沒沕沖沗沘沚沜沝沞沠沢沨沬沯沰沴沵沶沷沺泀況泂泃泆泇泈泋泍泎泏泑泒泘"
		],
		[
			"9b80",
			"泙泚泜泝泟泤泦泧泩泬泭泲泴泹泿洀洂洃洅洆洈洉洊洍洏洐洑洓洔洕洖洘洜洝洟",
			5,
			"洦洨洩洬洭洯洰洴洶洷洸洺洿浀浂浄浉浌浐浕浖浗浘浛浝浟浡浢浤浥浧浨浫浬浭浰浱浲浳浵浶浹浺浻浽",
			4,
			"涃涄涆涇涊涋涍涏涐涒涖",
			4,
			"涜涢涥涬涭涰涱涳涴涶涷涹",
			5,
			"淁淂淃淈淉淊"
		],
		[
			"9c40",
			"淍淎淏淐淒淓淔淕淗淚淛淜淟淢淣淥淧淨淩淪淭淯淰淲淴淵淶淸淺淽",
			7,
			"渆渇済渉渋渏渒渓渕渘渙減渜渞渟渢渦渧渨渪測渮渰渱渳渵"
		],
		[
			"9c80",
			"渶渷渹渻",
			7,
			"湅",
			7,
			"湏湐湑湒湕湗湙湚湜湝湞湠",
			10,
			"湬湭湯",
			14,
			"満溁溂溄溇溈溊",
			4,
			"溑",
			6,
			"溙溚溛溝溞溠溡溣溤溦溨溩溫溬溭溮溰溳溵溸溹溼溾溿滀滃滄滅滆滈滉滊滌滍滎滐滒滖滘滙滛滜滝滣滧滪",
			5
		],
		[
			"9d40",
			"滰滱滲滳滵滶滷滸滺",
			7,
			"漃漄漅漇漈漊",
			4,
			"漐漑漒漖",
			9,
			"漡漢漣漥漦漧漨漬漮漰漲漴漵漷",
			6,
			"漿潀潁潂"
		],
		[
			"9d80",
			"潃潄潅潈潉潊潌潎",
			9,
			"潙潚潛潝潟潠潡潣潤潥潧",
			5,
			"潯潰潱潳潵潶潷潹潻潽",
			6,
			"澅澆澇澊澋澏",
			12,
			"澝澞澟澠澢",
			4,
			"澨",
			10,
			"澴澵澷澸澺",
			5,
			"濁濃",
			5,
			"濊",
			6,
			"濓",
			10,
			"濟濢濣濤濥"
		],
		[
			"9e40",
			"濦",
			7,
			"濰",
			32,
			"瀒",
			7,
			"瀜",
			6,
			"瀤",
			6
		],
		[
			"9e80",
			"瀫",
			9,
			"瀶瀷瀸瀺",
			17,
			"灍灎灐",
			13,
			"灟",
			11,
			"灮灱灲灳灴灷灹灺灻災炁炂炃炄炆炇炈炋炌炍炏炐炑炓炗炘炚炛炞",
			12,
			"炰炲炴炵炶為炾炿烄烅烆烇烉烋",
			12,
			"烚"
		],
		[
			"9f40",
			"烜烝烞烠烡烢烣烥烪烮烰",
			6,
			"烸烺烻烼烾",
			10,
			"焋",
			4,
			"焑焒焔焗焛",
			10,
			"焧",
			7,
			"焲焳焴"
		],
		[
			"9f80",
			"焵焷",
			13,
			"煆煇煈煉煋煍煏",
			12,
			"煝煟",
			4,
			"煥煩",
			4,
			"煯煰煱煴煵煶煷煹煻煼煾",
			5,
			"熅",
			4,
			"熋熌熍熎熐熑熒熓熕熖熗熚",
			4,
			"熡",
			6,
			"熩熪熫熭",
			5,
			"熴熶熷熸熺",
			8,
			"燄",
			9,
			"燏",
			4
		],
		[
			"a040",
			"燖",
			9,
			"燡燢燣燤燦燨",
			5,
			"燯",
			9,
			"燺",
			11,
			"爇",
			19
		],
		[
			"a080",
			"爛爜爞",
			9,
			"爩爫爭爮爯爲爳爴爺爼爾牀",
			6,
			"牉牊牋牎牏牐牑牓牔牕牗牘牚牜牞牠牣牤牥牨牪牫牬牭牰牱牳牴牶牷牸牻牼牽犂犃犅",
			4,
			"犌犎犐犑犓",
			11,
			"犠",
			11,
			"犮犱犲犳犵犺",
			6,
			"狅狆狇狉狊狋狌狏狑狓狔狕狖狘狚狛"
		],
		[
			"a1a1",
			"　、。·ˉˇ¨〃々—～‖…‘’“”〔〕〈",
			7,
			"〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃＄¤￠￡‰§№☆★○●◎◇◆□■△▲※→←↑↓〓"
		],
		[
			"a2a1",
			"ⅰ",
			9
		],
		[
			"a2b1",
			"⒈",
			19,
			"⑴",
			19,
			"①",
			9
		],
		[
			"a2e5",
			"㈠",
			9
		],
		[
			"a2f1",
			"Ⅰ",
			11
		],
		[
			"a3a1",
			"！＂＃￥％",
			88,
			"￣"
		],
		[
			"a4a1",
			"ぁ",
			82
		],
		[
			"a5a1",
			"ァ",
			85
		],
		[
			"a6a1",
			"Α",
			16,
			"Σ",
			6
		],
		[
			"a6c1",
			"α",
			16,
			"σ",
			6
		],
		["a6e0", "︵︶︹︺︿﹀︽︾﹁﹂﹃﹄"],
		["a6ee", "︻︼︷︸︱"],
		["a6f4", "︳︴"],
		[
			"a7a1",
			"А",
			5,
			"ЁЖ",
			25
		],
		[
			"a7d1",
			"а",
			5,
			"ёж",
			25
		],
		[
			"a840",
			"ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿═",
			35,
			"▁",
			6
		],
		[
			"a880",
			"█",
			7,
			"▓▔▕▼▽◢◣◤◥☉⊕〒〝〞"
		],
		["a8a1", "āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑ"],
		["a8bd", "ńň"],
		["a8c0", "ɡ"],
		[
			"a8c5",
			"ㄅ",
			36
		],
		[
			"a940",
			"〡",
			8,
			"㊣㎎㎏㎜㎝㎞㎡㏄㏎㏑㏒㏕︰￢￤"
		],
		["a959", "℡㈱"],
		["a95c", "‐"],
		[
			"a960",
			"ー゛゜ヽヾ〆ゝゞ﹉",
			9,
			"﹔﹕﹖﹗﹙",
			8
		],
		[
			"a980",
			"﹢",
			4,
			"﹨﹩﹪﹫"
		],
		["a996", "〇"],
		[
			"a9a4",
			"─",
			75
		],
		[
			"aa40",
			"狜狝狟狢",
			5,
			"狪狫狵狶狹狽狾狿猀猂猄",
			5,
			"猋猌猍猏猐猑猒猔猘猙猚猟猠猣猤猦猧猨猭猯猰猲猳猵猶猺猻猼猽獀",
			8
		],
		[
			"aa80",
			"獉獊獋獌獎獏獑獓獔獕獖獘",
			7,
			"獡",
			10,
			"獮獰獱"
		],
		[
			"ab40",
			"獲",
			11,
			"獿",
			4,
			"玅玆玈玊玌玍玏玐玒玓玔玕玗玘玙玚玜玝玞玠玡玣",
			5,
			"玪玬玭玱玴玵玶玸玹玼玽玾玿珁珃",
			4
		],
		[
			"ab80",
			"珋珌珎珒",
			6,
			"珚珛珜珝珟珡珢珣珤珦珨珪珫珬珮珯珰珱珳",
			4
		],
		[
			"ac40",
			"珸",
			10,
			"琄琇琈琋琌琍琎琑",
			8,
			"琜",
			5,
			"琣琤琧琩琫琭琯琱琲琷",
			4,
			"琽琾琿瑀瑂",
			11
		],
		[
			"ac80",
			"瑎",
			6,
			"瑖瑘瑝瑠",
			12,
			"瑮瑯瑱",
			4,
			"瑸瑹瑺"
		],
		[
			"ad40",
			"瑻瑼瑽瑿璂璄璅璆璈璉璊璌璍璏璑",
			10,
			"璝璟",
			7,
			"璪",
			15,
			"璻",
			12
		],
		[
			"ad80",
			"瓈",
			9,
			"瓓",
			8,
			"瓝瓟瓡瓥瓧",
			6,
			"瓰瓱瓲"
		],
		[
			"ae40",
			"瓳瓵瓸",
			6,
			"甀甁甂甃甅",
			7,
			"甎甐甒甔甕甖甗甛甝甞甠",
			4,
			"甦甧甪甮甴甶甹甼甽甿畁畂畃畄畆畇畉畊畍畐畑畒畓畕畖畗畘"
		],
		[
			"ae80",
			"畝",
			7,
			"畧畨畩畫",
			6,
			"畳畵當畷畺",
			4,
			"疀疁疂疄疅疇"
		],
		[
			"af40",
			"疈疉疊疌疍疎疐疓疕疘疛疜疞疢疦",
			4,
			"疭疶疷疺疻疿痀痁痆痋痌痎痏痐痑痓痗痙痚痜痝痟痠痡痥痩痬痭痮痯痲痳痵痶痷痸痺痻痽痾瘂瘄瘆瘇"
		],
		["af80", "瘈瘉瘋瘍瘎瘏瘑瘒瘓瘔瘖瘚瘜瘝瘞瘡瘣瘧瘨瘬瘮瘯瘱瘲瘶瘷瘹瘺瘻瘽癁療癄"],
		[
			"b040",
			"癅",
			6,
			"癎",
			5,
			"癕癗",
			4,
			"癝癟癠癡癢癤",
			6,
			"癬癭癮癰",
			7,
			"癹発發癿皀皁皃皅皉皊皌皍皏皐皒皔皕皗皘皚皛"
		],
		[
			"b080",
			"皜",
			7,
			"皥",
			8,
			"皯皰皳皵",
			9,
			"盀盁盃啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥"
		],
		[
			"b140",
			"盄盇盉盋盌盓盕盙盚盜盝盞盠",
			4,
			"盦",
			7,
			"盰盳盵盶盷盺盻盽盿眀眂眃眅眆眊県眎",
			10,
			"眛眜眝眞眡眣眤眥眧眪眫"
		],
		[
			"b180",
			"眬眮眰",
			4,
			"眹眻眽眾眿睂睄睅睆睈",
			7,
			"睒",
			7,
			"睜薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳"
		],
		[
			"b240",
			"睝睞睟睠睤睧睩睪睭",
			11,
			"睺睻睼瞁瞂瞃瞆",
			5,
			"瞏瞐瞓",
			11,
			"瞡瞣瞤瞦瞨瞫瞭瞮瞯瞱瞲瞴瞶",
			4
		],
		[
			"b280",
			"瞼瞾矀",
			12,
			"矎",
			8,
			"矘矙矚矝",
			4,
			"矤病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖"
		],
		[
			"b340",
			"矦矨矪矯矰矱矲矴矵矷矹矺矻矼砃",
			5,
			"砊砋砎砏砐砓砕砙砛砞砠砡砢砤砨砪砫砮砯砱砲砳砵砶砽砿硁硂硃硄硆硈硉硊硋硍硏硑硓硔硘硙硚"
		],
		[
			"b380",
			"硛硜硞",
			11,
			"硯",
			7,
			"硸硹硺硻硽",
			6,
			"场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚"
		],
		[
			"b440",
			"碄碅碆碈碊碋碏碐碒碔碕碖碙碝碞碠碢碤碦碨",
			7,
			"碵碶碷碸確碻碼碽碿磀磂磃磄磆磇磈磌磍磎磏磑磒磓磖磗磘磚",
			9
		],
		[
			"b480",
			"磤磥磦磧磩磪磫磭",
			4,
			"磳磵磶磸磹磻",
			5,
			"礂礃礄礆",
			6,
			"础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮"
		],
		[
			"b540",
			"礍",
			5,
			"礔",
			9,
			"礟",
			4,
			"礥",
			14,
			"礵",
			4,
			"礽礿祂祃祄祅祇祊",
			8,
			"祔祕祘祙祡祣"
		],
		[
			"b580",
			"祤祦祩祪祫祬祮祰",
			6,
			"祹祻",
			4,
			"禂禃禆禇禈禉禋禌禍禎禐禑禒怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠"
		],
		[
			"b640",
			"禓",
			6,
			"禛",
			11,
			"禨",
			10,
			"禴",
			4,
			"禼禿秂秄秅秇秈秊秌秎秏秐秓秔秖秗秙",
			5,
			"秠秡秢秥秨秪"
		],
		[
			"b680",
			"秬秮秱",
			6,
			"秹秺秼秾秿稁稄稅稇稈稉稊稌稏",
			4,
			"稕稖稘稙稛稜丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二"
		],
		[
			"b740",
			"稝稟稡稢稤",
			14,
			"稴稵稶稸稺稾穀",
			5,
			"穇",
			9,
			"穒",
			4,
			"穘",
			16
		],
		[
			"b780",
			"穩",
			6,
			"穱穲穳穵穻穼穽穾窂窅窇窉窊窋窌窎窏窐窓窔窙窚窛窞窡窢贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服"
		],
		[
			"b840",
			"窣窤窧窩窪窫窮",
			4,
			"窴",
			10,
			"竀",
			10,
			"竌",
			9,
			"竗竘竚竛竜竝竡竢竤竧",
			5,
			"竮竰竱竲竳"
		],
		[
			"b880",
			"竴",
			4,
			"竻竼竾笀笁笂笅笇笉笌笍笎笐笒笓笖笗笘笚笜笝笟笡笢笣笧笩笭浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹"
		],
		[
			"b940",
			"笯笰笲笴笵笶笷笹笻笽笿",
			5,
			"筆筈筊筍筎筓筕筗筙筜筞筟筡筣",
			10,
			"筯筰筳筴筶筸筺筼筽筿箁箂箃箄箆",
			6,
			"箎箏"
		],
		[
			"b980",
			"箑箒箓箖箘箙箚箛箞箟箠箣箤箥箮箯箰箲箳箵箶箷箹",
			7,
			"篂篃範埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈"
		],
		[
			"ba40",
			"篅篈築篊篋篍篎篏篐篒篔",
			4,
			"篛篜篞篟篠篢篣篤篧篨篩篫篬篭篯篰篲",
			4,
			"篸篹篺篻篽篿",
			7,
			"簈簉簊簍簎簐",
			5,
			"簗簘簙"
		],
		[
			"ba80",
			"簚",
			4,
			"簠",
			5,
			"簨簩簫",
			12,
			"簹",
			5,
			"籂骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖"
		],
		[
			"bb40",
			"籃",
			9,
			"籎",
			36,
			"籵",
			5,
			"籾",
			9
		],
		[
			"bb80",
			"粈粊",
			6,
			"粓粔粖粙粚粛粠粡粣粦粧粨粩粫粬粭粯粰粴",
			4,
			"粺粻弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕"
		],
		[
			"bc40",
			"粿糀糂糃糄糆糉糋糎",
			6,
			"糘糚糛糝糞糡",
			6,
			"糩",
			5,
			"糰",
			7,
			"糹糺糼",
			13,
			"紋",
			5
		],
		[
			"bc80",
			"紑",
			14,
			"紡紣紤紥紦紨紩紪紬紭紮細",
			6,
			"肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件"
		],
		[
			"bd40",
			"紷",
			54,
			"絯",
			7
		],
		[
			"bd80",
			"絸",
			32,
			"健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸"
		],
		[
			"be40",
			"継",
			12,
			"綧",
			6,
			"綯",
			42
		],
		[
			"be80",
			"線",
			32,
			"尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻"
		],
		[
			"bf40",
			"緻",
			62
		],
		[
			"bf80",
			"縺縼",
			4,
			"繂",
			4,
			"繈",
			21,
			"俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀"
		],
		[
			"c040",
			"繞",
			35,
			"纃",
			23,
			"纜纝纞"
		],
		[
			"c080",
			"纮纴纻纼绖绤绬绹缊缐缞缷缹缻",
			6,
			"罃罆",
			9,
			"罒罓馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐"
		],
		[
			"c140",
			"罖罙罛罜罝罞罠罣",
			4,
			"罫罬罭罯罰罳罵罶罷罸罺罻罼罽罿羀羂",
			7,
			"羋羍羏",
			4,
			"羕",
			4,
			"羛羜羠羢羣羥羦羨",
			6,
			"羱"
		],
		[
			"c180",
			"羳",
			4,
			"羺羻羾翀翂翃翄翆翇翈翉翋翍翏",
			4,
			"翖翗翙",
			5,
			"翢翣痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿"
		],
		[
			"c240",
			"翤翧翨翪翫翬翭翯翲翴",
			6,
			"翽翾翿耂耇耈耉耊耎耏耑耓耚耛耝耞耟耡耣耤耫",
			5,
			"耲耴耹耺耼耾聀聁聄聅聇聈聉聎聏聐聑聓聕聖聗"
		],
		[
			"c280",
			"聙聛",
			13,
			"聫",
			5,
			"聲",
			11,
			"隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫"
		],
		[
			"c340",
			"聾肁肂肅肈肊肍",
			5,
			"肔肕肗肙肞肣肦肧肨肬肰肳肵肶肸肹肻胅胇",
			4,
			"胏",
			6,
			"胘胟胠胢胣胦胮胵胷胹胻胾胿脀脁脃脄脅脇脈脋"
		],
		[
			"c380",
			"脌脕脗脙脛脜脝脟",
			12,
			"脭脮脰脳脴脵脷脹",
			4,
			"脿谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸"
		],
		[
			"c440",
			"腀",
			5,
			"腇腉腍腎腏腒腖腗腘腛",
			4,
			"腡腢腣腤腦腨腪腫腬腯腲腳腵腶腷腸膁膃",
			4,
			"膉膋膌膍膎膐膒",
			5,
			"膙膚膞",
			4,
			"膤膥"
		],
		[
			"c480",
			"膧膩膫",
			7,
			"膴",
			5,
			"膼膽膾膿臄臅臇臈臉臋臍",
			6,
			"摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁"
		],
		[
			"c540",
			"臔",
			14,
			"臤臥臦臨臩臫臮",
			4,
			"臵",
			5,
			"臽臿舃與",
			4,
			"舎舏舑舓舕",
			5,
			"舝舠舤舥舦舧舩舮舲舺舼舽舿"
		],
		[
			"c580",
			"艀艁艂艃艅艆艈艊艌艍艎艐",
			7,
			"艙艛艜艝艞艠",
			7,
			"艩拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗"
		],
		["c640", "艪艫艬艭艱艵艶艷艸艻艼芀芁芃芅芆芇芉芌芐芓芔芕芖芚芛芞芠芢芣芧芲芵芶芺芻芼芿苀苂苃苅苆苉苐苖苙苚苝苢苧苨苩苪苬苭苮苰苲苳苵苶苸"],
		[
			"c680",
			"苺苼",
			4,
			"茊茋茍茐茒茓茖茘茙茝",
			9,
			"茩茪茮茰茲茷茻茽啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐"
		],
		[
			"c740",
			"茾茿荁荂荄荅荈荊",
			4,
			"荓荕",
			4,
			"荝荢荰",
			6,
			"荹荺荾",
			6,
			"莇莈莊莋莌莍莏莐莑莔莕莖莗莙莚莝莟莡",
			6,
			"莬莭莮"
		],
		["c780", "莯莵莻莾莿菂菃菄菆菈菉菋菍菎菐菑菒菓菕菗菙菚菛菞菢菣菤菦菧菨菫菬菭恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠"],
		[
			"c840",
			"菮華菳",
			4,
			"菺菻菼菾菿萀萂萅萇萈萉萊萐萒",
			5,
			"萙萚萛萞",
			5,
			"萩",
			7,
			"萲",
			5,
			"萹萺萻萾",
			7,
			"葇葈葉"
		],
		[
			"c880",
			"葊",
			6,
			"葒",
			4,
			"葘葝葞葟葠葢葤",
			4,
			"葪葮葯葰葲葴葷葹葻葼取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁"
		],
		[
			"c940",
			"葽",
			4,
			"蒃蒄蒅蒆蒊蒍蒏",
			7,
			"蒘蒚蒛蒝蒞蒟蒠蒢",
			12,
			"蒰蒱蒳蒵蒶蒷蒻蒼蒾蓀蓂蓃蓅蓆蓇蓈蓋蓌蓎蓏蓒蓔蓕蓗"
		],
		[
			"c980",
			"蓘",
			4,
			"蓞蓡蓢蓤蓧",
			4,
			"蓭蓮蓯蓱",
			10,
			"蓽蓾蔀蔁蔂伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳"
		],
		[
			"ca40",
			"蔃",
			8,
			"蔍蔎蔏蔐蔒蔔蔕蔖蔘蔙蔛蔜蔝蔞蔠蔢",
			8,
			"蔭",
			9,
			"蔾",
			4,
			"蕄蕅蕆蕇蕋",
			10
		],
		[
			"ca80",
			"蕗蕘蕚蕛蕜蕝蕟",
			4,
			"蕥蕦蕧蕩",
			8,
			"蕳蕵蕶蕷蕸蕼蕽蕿薀薁省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱"
		],
		[
			"cb40",
			"薂薃薆薈",
			6,
			"薐",
			10,
			"薝",
			6,
			"薥薦薧薩薫薬薭薱",
			5,
			"薸薺",
			6,
			"藂",
			6,
			"藊",
			4,
			"藑藒"
		],
		[
			"cb80",
			"藔藖",
			5,
			"藝",
			6,
			"藥藦藧藨藪",
			14,
			"恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔"
		],
		[
			"cc40",
			"藹藺藼藽藾蘀",
			4,
			"蘆",
			10,
			"蘒蘓蘔蘕蘗",
			15,
			"蘨蘪",
			13,
			"蘹蘺蘻蘽蘾蘿虀"
		],
		[
			"cc80",
			"虁",
			11,
			"虒虓處",
			4,
			"虛虜虝號虠虡虣",
			7,
			"獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃"
		],
		[
			"cd40",
			"虭虯虰虲",
			6,
			"蚃",
			6,
			"蚎",
			4,
			"蚔蚖",
			5,
			"蚞",
			4,
			"蚥蚦蚫蚭蚮蚲蚳蚷蚸蚹蚻",
			4,
			"蛁蛂蛃蛅蛈蛌蛍蛒蛓蛕蛖蛗蛚蛜"
		],
		["cd80", "蛝蛠蛡蛢蛣蛥蛦蛧蛨蛪蛫蛬蛯蛵蛶蛷蛺蛻蛼蛽蛿蜁蜄蜅蜆蜋蜌蜎蜏蜐蜑蜔蜖汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威"],
		[
			"ce40",
			"蜙蜛蜝蜟蜠蜤蜦蜧蜨蜪蜫蜬蜭蜯蜰蜲蜳蜵蜶蜸蜹蜺蜼蜽蝀",
			6,
			"蝊蝋蝍蝏蝐蝑蝒蝔蝕蝖蝘蝚",
			5,
			"蝡蝢蝦",
			7,
			"蝯蝱蝲蝳蝵"
		],
		[
			"ce80",
			"蝷蝸蝹蝺蝿螀螁螄螆螇螉螊螌螎",
			4,
			"螔螕螖螘",
			6,
			"螠",
			4,
			"巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺"
		],
		[
			"cf40",
			"螥螦螧螩螪螮螰螱螲螴螶螷螸螹螻螼螾螿蟁",
			4,
			"蟇蟈蟉蟌",
			4,
			"蟔",
			6,
			"蟜蟝蟞蟟蟡蟢蟣蟤蟦蟧蟨蟩蟫蟬蟭蟯",
			9
		],
		[
			"cf80",
			"蟺蟻蟼蟽蟿蠀蠁蠂蠄",
			5,
			"蠋",
			7,
			"蠔蠗蠘蠙蠚蠜",
			4,
			"蠣稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓"
		],
		[
			"d040",
			"蠤",
			13,
			"蠳",
			5,
			"蠺蠻蠽蠾蠿衁衂衃衆",
			5,
			"衎",
			5,
			"衕衖衘衚",
			6,
			"衦衧衪衭衯衱衳衴衵衶衸衹衺"
		],
		[
			"d080",
			"衻衼袀袃袆袇袉袊袌袎袏袐袑袓袔袕袗",
			4,
			"袝",
			4,
			"袣袥",
			5,
			"小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄"
		],
		[
			"d140",
			"袬袮袯袰袲",
			4,
			"袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚",
			4,
			"裠裡裦裧裩",
			6,
			"裲裵裶裷裺裻製裿褀褁褃",
			5
		],
		[
			"d180",
			"褉褋",
			4,
			"褑褔",
			4,
			"褜",
			4,
			"褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶"
		],
		[
			"d240",
			"褸",
			8,
			"襂襃襅",
			24,
			"襠",
			5,
			"襧",
			19,
			"襼"
		],
		[
			"d280",
			"襽襾覀覂覄覅覇",
			26,
			"摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐"
		],
		[
			"d340",
			"覢",
			30,
			"觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴",
			6
		],
		[
			"d380",
			"觻",
			4,
			"訁",
			5,
			"計",
			21,
			"印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉"
		],
		[
			"d440",
			"訞",
			31,
			"訿",
			8,
			"詉",
			21
		],
		[
			"d480",
			"詟",
			25,
			"詺",
			6,
			"浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧"
		],
		[
			"d540",
			"誁",
			7,
			"誋",
			7,
			"誔",
			46
		],
		[
			"d580",
			"諃",
			32,
			"铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政"
		],
		[
			"d640",
			"諤",
			34,
			"謈",
			27
		],
		[
			"d680",
			"謤謥謧",
			30,
			"帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑"
		],
		[
			"d740",
			"譆",
			31,
			"譧",
			4,
			"譭",
			25
		],
		[
			"d780",
			"讇",
			24,
			"讬讱讻诇诐诪谉谞住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座"
		],
		[
			"d840",
			"谸",
			8,
			"豂豃豄豅豈豊豋豍",
			7,
			"豖豗豘豙豛",
			5,
			"豣",
			6,
			"豬",
			6,
			"豴豵豶豷豻",
			6,
			"貃貄貆貇"
		],
		[
			"d880",
			"貈貋貍",
			6,
			"貕貖貗貙",
			20,
			"亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝"
		],
		[
			"d940",
			"貮",
			62
		],
		[
			"d980",
			"賭",
			32,
			"佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼"
		],
		[
			"da40",
			"贎",
			14,
			"贠赑赒赗赟赥赨赩赪赬赮赯赱赲赸",
			8,
			"趂趃趆趇趈趉趌",
			4,
			"趒趓趕",
			9,
			"趠趡"
		],
		[
			"da80",
			"趢趤",
			12,
			"趲趶趷趹趻趽跀跁跂跅跇跈跉跊跍跐跒跓跔凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺"
		],
		[
			"db40",
			"跕跘跙跜跠跡跢跥跦跧跩跭跮跰跱跲跴跶跼跾",
			6,
			"踆踇踈踋踍踎踐踑踒踓踕",
			7,
			"踠踡踤",
			4,
			"踫踭踰踲踳踴踶踷踸踻踼踾"
		],
		[
			"db80",
			"踿蹃蹅蹆蹌",
			4,
			"蹓",
			5,
			"蹚",
			11,
			"蹧蹨蹪蹫蹮蹱邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝"
		],
		[
			"dc40",
			"蹳蹵蹷",
			4,
			"蹽蹾躀躂躃躄躆躈",
			6,
			"躑躒躓躕",
			6,
			"躝躟",
			11,
			"躭躮躰躱躳",
			6,
			"躻",
			7
		],
		[
			"dc80",
			"軃",
			10,
			"軏",
			21,
			"堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥"
		],
		[
			"dd40",
			"軥",
			62
		],
		[
			"dd80",
			"輤",
			32,
			"荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺"
		],
		[
			"de40",
			"轅",
			32,
			"轪辀辌辒辝辠辡辢辤辥辦辧辪辬辭辮辯農辳辴辵辷辸辺辻込辿迀迃迆"
		],
		[
			"de80",
			"迉",
			4,
			"迏迒迖迗迚迠迡迣迧迬迯迱迲迴迵迶迺迻迼迾迿逇逈逌逎逓逕逘蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖"
		],
		[
			"df40",
			"這逜連逤逥逧",
			5,
			"逰",
			4,
			"逷逹逺逽逿遀遃遅遆遈",
			4,
			"過達違遖遙遚遜",
			5,
			"遤遦遧適遪遫遬遯",
			4,
			"遶",
			6,
			"遾邁"
		],
		[
			"df80",
			"還邅邆邇邉邊邌",
			4,
			"邒邔邖邘邚邜邞邟邠邤邥邧邨邩邫邭邲邷邼邽邿郀摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼"
		],
		[
			"e040",
			"郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞郟郠郣郤郥郩郪郬郮郰郱郲郳郵郶郷郹郺郻郼郿鄀鄁鄃鄅",
			19,
			"鄚鄛鄜"
		],
		[
			"e080",
			"鄝鄟鄠鄡鄤",
			10,
			"鄰鄲",
			6,
			"鄺",
			8,
			"酄唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼"
		],
		[
			"e140",
			"酅酇酈酑酓酔酕酖酘酙酛酜酟酠酦酧酨酫酭酳酺酻酼醀",
			4,
			"醆醈醊醎醏醓",
			6,
			"醜",
			5,
			"醤",
			5,
			"醫醬醰醱醲醳醶醷醸醹醻"
		],
		[
			"e180",
			"醼",
			10,
			"釈釋釐釒",
			9,
			"針",
			8,
			"帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺"
		],
		[
			"e240",
			"釦",
			62
		],
		[
			"e280",
			"鈥",
			32,
			"狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧",
			5,
			"饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂"
		],
		[
			"e340",
			"鉆",
			45,
			"鉵",
			16
		],
		[
			"e380",
			"銆",
			7,
			"銏",
			24,
			"恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾"
		],
		[
			"e440",
			"銨",
			5,
			"銯",
			24,
			"鋉",
			31
		],
		[
			"e480",
			"鋩",
			32,
			"洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑"
		],
		[
			"e540",
			"錊",
			51,
			"錿",
			10
		],
		[
			"e580",
			"鍊",
			31,
			"鍫濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣"
		],
		[
			"e640",
			"鍬",
			34,
			"鎐",
			27
		],
		[
			"e680",
			"鎬",
			29,
			"鏋鏌鏍妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩"
		],
		[
			"e740",
			"鏎",
			7,
			"鏗",
			54
		],
		[
			"e780",
			"鐎",
			32,
			"纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡",
			6,
			"缪缫缬缭缯",
			4,
			"缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬"
		],
		[
			"e840",
			"鐯",
			14,
			"鐿",
			43,
			"鑬鑭鑮鑯"
		],
		[
			"e880",
			"鑰",
			20,
			"钑钖钘铇铏铓铔铚铦铻锜锠琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹"
		],
		[
			"e940",
			"锧锳锽镃镈镋镕镚镠镮镴镵長",
			7,
			"門",
			42
		],
		[
			"e980",
			"閫",
			32,
			"椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋"
		],
		[
			"ea40",
			"闌",
			27,
			"闬闿阇阓阘阛阞阠阣",
			6,
			"阫阬阭阯阰阷阸阹阺阾陁陃陊陎陏陑陒陓陖陗"
		],
		[
			"ea80",
			"陘陙陚陜陝陞陠陣陥陦陫陭",
			4,
			"陳陸",
			12,
			"隇隉隊辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰"
		],
		[
			"eb40",
			"隌階隑隒隓隕隖隚際隝",
			9,
			"隨",
			7,
			"隱隲隴隵隷隸隺隻隿雂雃雈雊雋雐雑雓雔雖",
			9,
			"雡",
			6,
			"雫"
		],
		[
			"eb80",
			"雬雭雮雰雱雲雴雵雸雺電雼雽雿霂霃霅霊霋霌霐霑霒霔霕霗",
			4,
			"霝霟霠搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻"
		],
		[
			"ec40",
			"霡",
			8,
			"霫霬霮霯霱霳",
			4,
			"霺霻霼霽霿",
			18,
			"靔靕靗靘靚靜靝靟靣靤靦靧靨靪",
			7
		],
		[
			"ec80",
			"靲靵靷",
			4,
			"靽",
			7,
			"鞆",
			4,
			"鞌鞎鞏鞐鞓鞕鞖鞗鞙",
			4,
			"臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐"
		],
		[
			"ed40",
			"鞞鞟鞡鞢鞤",
			6,
			"鞬鞮鞰鞱鞳鞵",
			46
		],
		[
			"ed80",
			"韤韥韨韮",
			4,
			"韴韷",
			23,
			"怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨"
		],
		[
			"ee40",
			"頏",
			62
		],
		[
			"ee80",
			"顎",
			32,
			"睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶",
			4,
			"钼钽钿铄铈",
			6,
			"铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪"
		],
		[
			"ef40",
			"顯",
			5,
			"颋颎颒颕颙颣風",
			37,
			"飏飐飔飖飗飛飜飝飠",
			4
		],
		[
			"ef80",
			"飥飦飩",
			30,
			"铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒",
			4,
			"锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤",
			8,
			"镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔"
		],
		[
			"f040",
			"餈",
			4,
			"餎餏餑",
			28,
			"餯",
			26
		],
		[
			"f080",
			"饊",
			9,
			"饖",
			12,
			"饤饦饳饸饹饻饾馂馃馉稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨",
			4,
			"鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦",
			6,
			"鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙"
		],
		[
			"f140",
			"馌馎馚",
			10,
			"馦馧馩",
			47
		],
		[
			"f180",
			"駙",
			32,
			"瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃"
		],
		[
			"f240",
			"駺",
			62
		],
		[
			"f280",
			"騹",
			32,
			"颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒"
		],
		[
			"f340",
			"驚",
			17,
			"驲骃骉骍骎骔骕骙骦骩",
			6,
			"骲骳骴骵骹骻骽骾骿髃髄髆",
			4,
			"髍髎髏髐髒體髕髖髗髙髚髛髜"
		],
		[
			"f380",
			"髝髞髠髢髣髤髥髧髨髩髪髬髮髰",
			8,
			"髺髼",
			6,
			"鬄鬅鬆蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋"
		],
		[
			"f440",
			"鬇鬉",
			5,
			"鬐鬑鬒鬔",
			10,
			"鬠鬡鬢鬤",
			10,
			"鬰鬱鬳",
			7,
			"鬽鬾鬿魀魆魊魋魌魎魐魒魓魕",
			5
		],
		[
			"f480",
			"魛",
			32,
			"簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤"
		],
		[
			"f540",
			"魼",
			62
		],
		[
			"f580",
			"鮻",
			32,
			"酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜"
		],
		[
			"f640",
			"鯜",
			62
		],
		[
			"f680",
			"鰛",
			32,
			"觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅",
			5,
			"龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞",
			5,
			"鲥",
			4,
			"鲫鲭鲮鲰",
			7,
			"鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋"
		],
		[
			"f740",
			"鰼",
			62
		],
		[
			"f780",
			"鱻鱽鱾鲀鲃鲄鲉鲊鲌鲏鲓鲖鲗鲘鲙鲝鲪鲬鲯鲹鲾",
			4,
			"鳈鳉鳑鳒鳚鳛鳠鳡鳌",
			4,
			"鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄"
		],
		[
			"f840",
			"鳣",
			62
		],
		[
			"f880",
			"鴢",
			32
		],
		[
			"f940",
			"鵃",
			62
		],
		[
			"f980",
			"鶂",
			32
		],
		[
			"fa40",
			"鶣",
			62
		],
		[
			"fa80",
			"鷢",
			32
		],
		[
			"fb40",
			"鸃",
			27,
			"鸤鸧鸮鸰鸴鸻鸼鹀鹍鹐鹒鹓鹔鹖鹙鹝鹟鹠鹡鹢鹥鹮鹯鹲鹴",
			9,
			"麀"
		],
		[
			"fb80",
			"麁麃麄麅麆麉麊麌",
			5,
			"麔",
			8,
			"麞麠",
			5,
			"麧麨麩麪"
		],
		[
			"fc40",
			"麫",
			8,
			"麵麶麷麹麺麼麿",
			4,
			"黅黆黇黈黊黋黌黐黒黓黕黖黗黙黚點黡黣黤黦黨黫黬黭黮黰",
			8,
			"黺黽黿",
			6
		],
		[
			"fc80",
			"鼆",
			4,
			"鼌鼏鼑鼒鼔鼕鼖鼘鼚",
			5,
			"鼡鼣",
			8,
			"鼭鼮鼰鼱"
		],
		[
			"fd40",
			"鼲",
			4,
			"鼸鼺鼼鼿",
			4,
			"齅",
			10,
			"齒",
			38
		],
		[
			"fd80",
			"齹",
			5,
			"龁龂龍",
			11,
			"龜龝龞龡",
			4,
			"郎凉秊裏隣"
		],
		["fe40", "兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩"]
	];
}));

//#endregion
//#region ../node_modules/iconv-lite/encodings/tables/gbk-added.json
var require_gbk_added = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = [
		[
			"a140",
			"",
			62
		],
		[
			"a180",
			"",
			32
		],
		[
			"a240",
			"",
			62
		],
		[
			"a280",
			"",
			32
		],
		[
			"a2ab",
			"",
			5
		],
		["a2e3", "€"],
		["a2ef", ""],
		["a2fd", ""],
		[
			"a340",
			"",
			62
		],
		[
			"a380",
			"",
			31,
			"　"
		],
		[
			"a440",
			"",
			62
		],
		[
			"a480",
			"",
			32
		],
		[
			"a4f4",
			"",
			10
		],
		[
			"a540",
			"",
			62
		],
		[
			"a580",
			"",
			32
		],
		[
			"a5f7",
			"",
			7
		],
		[
			"a640",
			"",
			62
		],
		[
			"a680",
			"",
			32
		],
		[
			"a6b9",
			"",
			7
		],
		[
			"a6d9",
			"",
			6
		],
		["a6ec", ""],
		["a6f3", ""],
		[
			"a6f6",
			"",
			8
		],
		[
			"a740",
			"",
			62
		],
		[
			"a780",
			"",
			32
		],
		[
			"a7c2",
			"",
			14
		],
		[
			"a7f2",
			"",
			12
		],
		[
			"a896",
			"",
			10
		],
		["a8bc", "ḿ"],
		["a8bf", "ǹ"],
		["a8c1", ""],
		[
			"a8ea",
			"",
			20
		],
		["a958", ""],
		["a95b", ""],
		["a95d", ""],
		[
			"a989",
			"〾⿰",
			11
		],
		[
			"a997",
			"",
			12
		],
		[
			"a9f0",
			"",
			14
		],
		[
			"aaa1",
			"",
			93
		],
		[
			"aba1",
			"",
			93
		],
		[
			"aca1",
			"",
			93
		],
		[
			"ada1",
			"",
			93
		],
		[
			"aea1",
			"",
			93
		],
		[
			"afa1",
			"",
			93
		],
		[
			"d7fa",
			"",
			4
		],
		[
			"f8a1",
			"",
			93
		],
		[
			"f9a1",
			"",
			93
		],
		[
			"faa1",
			"",
			93
		],
		[
			"fba1",
			"",
			93
		],
		[
			"fca1",
			"",
			93
		],
		[
			"fda1",
			"",
			93
		],
		["fe50", "⺁⺄㑳㑇⺈⺋㖞㘚㘎⺌⺗㥮㤘㧏㧟㩳㧐㭎㱮㳠⺧⺪䁖䅟⺮䌷⺳⺶⺷䎱䎬⺻䏝䓖䙡䙌"],
		[
			"fe80",
			"䜣䜩䝼䞍⻊䥇䥺䥽䦂䦃䦅䦆䦟䦛䦷䦶䲣䲟䲠䲡䱷䲢䴓",
			6,
			"䶮",
			93
		],
		["8135f437", ""]
	];
}));

//#endregion
//#region ../node_modules/iconv-lite/encodings/tables/gb18030-ranges.json
var require_gb18030_ranges = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = {
		"uChars": [
			128,
			165,
			169,
			178,
			184,
			216,
			226,
			235,
			238,
			244,
			248,
			251,
			253,
			258,
			276,
			284,
			300,
			325,
			329,
			334,
			364,
			463,
			465,
			467,
			469,
			471,
			473,
			475,
			477,
			506,
			594,
			610,
			712,
			716,
			730,
			930,
			938,
			962,
			970,
			1026,
			1104,
			1106,
			8209,
			8215,
			8218,
			8222,
			8231,
			8241,
			8244,
			8246,
			8252,
			8365,
			8452,
			8454,
			8458,
			8471,
			8482,
			8556,
			8570,
			8596,
			8602,
			8713,
			8720,
			8722,
			8726,
			8731,
			8737,
			8740,
			8742,
			8748,
			8751,
			8760,
			8766,
			8777,
			8781,
			8787,
			8802,
			8808,
			8816,
			8854,
			8858,
			8870,
			8896,
			8979,
			9322,
			9372,
			9548,
			9588,
			9616,
			9622,
			9634,
			9652,
			9662,
			9672,
			9676,
			9680,
			9702,
			9735,
			9738,
			9793,
			9795,
			11906,
			11909,
			11913,
			11917,
			11928,
			11944,
			11947,
			11951,
			11956,
			11960,
			11964,
			11979,
			12284,
			12292,
			12312,
			12319,
			12330,
			12351,
			12436,
			12447,
			12535,
			12543,
			12586,
			12842,
			12850,
			12964,
			13200,
			13215,
			13218,
			13253,
			13263,
			13267,
			13270,
			13384,
			13428,
			13727,
			13839,
			13851,
			14617,
			14703,
			14801,
			14816,
			14964,
			15183,
			15471,
			15585,
			16471,
			16736,
			17208,
			17325,
			17330,
			17374,
			17623,
			17997,
			18018,
			18212,
			18218,
			18301,
			18318,
			18760,
			18811,
			18814,
			18820,
			18823,
			18844,
			18848,
			18872,
			19576,
			19620,
			19738,
			19887,
			40870,
			59244,
			59336,
			59367,
			59413,
			59417,
			59423,
			59431,
			59437,
			59443,
			59452,
			59460,
			59478,
			59493,
			63789,
			63866,
			63894,
			63976,
			63986,
			64016,
			64018,
			64021,
			64025,
			64034,
			64037,
			64042,
			65074,
			65093,
			65107,
			65112,
			65127,
			65132,
			65375,
			65510,
			65536
		],
		"gbChars": [
			0,
			36,
			38,
			45,
			50,
			81,
			89,
			95,
			96,
			100,
			103,
			104,
			105,
			109,
			126,
			133,
			148,
			172,
			175,
			179,
			208,
			306,
			307,
			308,
			309,
			310,
			311,
			312,
			313,
			341,
			428,
			443,
			544,
			545,
			558,
			741,
			742,
			749,
			750,
			805,
			819,
			820,
			7922,
			7924,
			7925,
			7927,
			7934,
			7943,
			7944,
			7945,
			7950,
			8062,
			8148,
			8149,
			8152,
			8164,
			8174,
			8236,
			8240,
			8262,
			8264,
			8374,
			8380,
			8381,
			8384,
			8388,
			8390,
			8392,
			8393,
			8394,
			8396,
			8401,
			8406,
			8416,
			8419,
			8424,
			8437,
			8439,
			8445,
			8482,
			8485,
			8496,
			8521,
			8603,
			8936,
			8946,
			9046,
			9050,
			9063,
			9066,
			9076,
			9092,
			9100,
			9108,
			9111,
			9113,
			9131,
			9162,
			9164,
			9218,
			9219,
			11329,
			11331,
			11334,
			11336,
			11346,
			11361,
			11363,
			11366,
			11370,
			11372,
			11375,
			11389,
			11682,
			11686,
			11687,
			11692,
			11694,
			11714,
			11716,
			11723,
			11725,
			11730,
			11736,
			11982,
			11989,
			12102,
			12336,
			12348,
			12350,
			12384,
			12393,
			12395,
			12397,
			12510,
			12553,
			12851,
			12962,
			12973,
			13738,
			13823,
			13919,
			13933,
			14080,
			14298,
			14585,
			14698,
			15583,
			15847,
			16318,
			16434,
			16438,
			16481,
			16729,
			17102,
			17122,
			17315,
			17320,
			17402,
			17418,
			17859,
			17909,
			17911,
			17915,
			17916,
			17936,
			17939,
			17961,
			18664,
			18703,
			18814,
			18962,
			19043,
			33469,
			33470,
			33471,
			33484,
			33485,
			33490,
			33497,
			33501,
			33505,
			33513,
			33520,
			33536,
			33550,
			37845,
			37921,
			37948,
			38029,
			38038,
			38064,
			38065,
			38066,
			38069,
			38075,
			38076,
			38078,
			39108,
			39109,
			39113,
			39114,
			39115,
			39116,
			39265,
			39394,
			189e3
		]
	};
}));

//#endregion
//#region ../node_modules/iconv-lite/encodings/tables/cp949.json
var require_cp949 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = [
		[
			"0",
			"\0",
			127
		],
		[
			"8141",
			"갂갃갅갆갋",
			4,
			"갘갞갟갡갢갣갥",
			6,
			"갮갲갳갴"
		],
		[
			"8161",
			"갵갶갷갺갻갽갾갿걁",
			9,
			"걌걎",
			5,
			"걕"
		],
		[
			"8181",
			"걖걗걙걚걛걝",
			18,
			"걲걳걵걶걹걻",
			4,
			"겂겇겈겍겎겏겑겒겓겕",
			6,
			"겞겢",
			5,
			"겫겭겮겱",
			6,
			"겺겾겿곀곂곃곅곆곇곉곊곋곍",
			7,
			"곖곘",
			7,
			"곢곣곥곦곩곫곭곮곲곴곷",
			4,
			"곾곿괁괂괃괅괇",
			4,
			"괎괐괒괓"
		],
		[
			"8241",
			"괔괕괖괗괙괚괛괝괞괟괡",
			7,
			"괪괫괮",
			5
		],
		[
			"8261",
			"괶괷괹괺괻괽",
			6,
			"굆굈굊",
			5,
			"굑굒굓굕굖굗"
		],
		[
			"8281",
			"굙",
			7,
			"굢굤",
			7,
			"굮굯굱굲굷굸굹굺굾궀궃",
			4,
			"궊궋궍궎궏궑",
			10,
			"궞",
			5,
			"궥",
			17,
			"궸",
			7,
			"귂귃귅귆귇귉",
			6,
			"귒귔",
			7,
			"귝귞귟귡귢귣귥",
			18
		],
		[
			"8341",
			"귺귻귽귾긂",
			5,
			"긊긌긎",
			5,
			"긕",
			7
		],
		[
			"8361",
			"긝",
			18,
			"긲긳긵긶긹긻긼"
		],
		[
			"8381",
			"긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗",
			4,
			"깞깢깣깤깦깧깪깫깭깮깯깱",
			6,
			"깺깾",
			5,
			"꺆",
			5,
			"꺍",
			46,
			"꺿껁껂껃껅",
			6,
			"껎껒",
			5,
			"껚껛껝",
			8
		],
		[
			"8441",
			"껦껧껩껪껬껮",
			5,
			"껵껶껷껹껺껻껽",
			8
		],
		[
			"8461",
			"꼆꼉꼊꼋꼌꼎꼏꼑",
			18
		],
		[
			"8481",
			"꼤",
			7,
			"꼮꼯꼱꼳꼵",
			6,
			"꼾꽀꽄꽅꽆꽇꽊",
			5,
			"꽑",
			10,
			"꽞",
			5,
			"꽦",
			18,
			"꽺",
			5,
			"꾁꾂꾃꾅꾆꾇꾉",
			6,
			"꾒꾓꾔꾖",
			5,
			"꾝",
			26,
			"꾺꾻꾽꾾"
		],
		[
			"8541",
			"꾿꿁",
			5,
			"꿊꿌꿏",
			4,
			"꿕",
			6,
			"꿝",
			4
		],
		[
			"8561",
			"꿢",
			5,
			"꿪",
			5,
			"꿲꿳꿵꿶꿷꿹",
			6,
			"뀂뀃"
		],
		[
			"8581",
			"뀅",
			6,
			"뀍뀎뀏뀑뀒뀓뀕",
			6,
			"뀞",
			9,
			"뀩",
			26,
			"끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞",
			29,
			"끾끿낁낂낃낅",
			6,
			"낎낐낒",
			5,
			"낛낝낞낣낤"
		],
		[
			"8641",
			"낥낦낧낪낰낲낶낷낹낺낻낽",
			6,
			"냆냊",
			5,
			"냒"
		],
		[
			"8661",
			"냓냕냖냗냙",
			6,
			"냡냢냣냤냦",
			10
		],
		[
			"8681",
			"냱",
			22,
			"넊넍넎넏넑넔넕넖넗넚넞",
			4,
			"넦넧넩넪넫넭",
			6,
			"넶넺",
			5,
			"녂녃녅녆녇녉",
			6,
			"녒녓녖녗녙녚녛녝녞녟녡",
			22,
			"녺녻녽녾녿놁놃",
			4,
			"놊놌놎놏놐놑놕놖놗놙놚놛놝"
		],
		[
			"8741",
			"놞",
			9,
			"놩",
			15
		],
		[
			"8761",
			"놹",
			18,
			"뇍뇎뇏뇑뇒뇓뇕"
		],
		[
			"8781",
			"뇖",
			5,
			"뇞뇠",
			7,
			"뇪뇫뇭뇮뇯뇱",
			7,
			"뇺뇼뇾",
			5,
			"눆눇눉눊눍",
			6,
			"눖눘눚",
			5,
			"눡",
			18,
			"눵",
			6,
			"눽",
			26,
			"뉙뉚뉛뉝뉞뉟뉡",
			6,
			"뉪",
			4
		],
		[
			"8841",
			"뉯",
			4,
			"뉶",
			5,
			"뉽",
			6,
			"늆늇늈늊",
			4
		],
		[
			"8861",
			"늏늒늓늕늖늗늛",
			4,
			"늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷"
		],
		[
			"8881",
			"늸",
			15,
			"닊닋닍닎닏닑닓",
			4,
			"닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉",
			6,
			"댒댖",
			5,
			"댝",
			54,
			"덗덙덚덝덠덡덢덣"
		],
		[
			"8941",
			"덦덨덪덬덭덯덲덳덵덶덷덹",
			6,
			"뎂뎆",
			5,
			"뎍"
		],
		[
			"8961",
			"뎎뎏뎑뎒뎓뎕",
			10,
			"뎢",
			5,
			"뎩뎪뎫뎭"
		],
		[
			"8981",
			"뎮",
			21,
			"돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩",
			18,
			"돽",
			18,
			"됑",
			6,
			"됙됚됛됝됞됟됡",
			6,
			"됪됬",
			7,
			"됵",
			15
		],
		[
			"8a41",
			"둅",
			10,
			"둒둓둕둖둗둙",
			6,
			"둢둤둦"
		],
		[
			"8a61",
			"둧",
			4,
			"둭",
			18,
			"뒁뒂"
		],
		[
			"8a81",
			"뒃",
			4,
			"뒉",
			19,
			"뒞",
			5,
			"뒥뒦뒧뒩뒪뒫뒭",
			7,
			"뒶뒸뒺",
			5,
			"듁듂듃듅듆듇듉",
			6,
			"듑듒듓듔듖",
			5,
			"듞듟듡듢듥듧",
			4,
			"듮듰듲",
			5,
			"듹",
			26,
			"딖딗딙딚딝"
		],
		[
			"8b41",
			"딞",
			5,
			"딦딫",
			4,
			"딲딳딵딶딷딹",
			6,
			"땂땆"
		],
		[
			"8b61",
			"땇땈땉땊땎땏땑땒땓땕",
			6,
			"땞땢",
			8
		],
		[
			"8b81",
			"땫",
			52,
			"떢떣떥떦떧떩떬떭떮떯떲떶",
			4,
			"떾떿뗁뗂뗃뗅",
			6,
			"뗎뗒",
			5,
			"뗙",
			18,
			"뗭",
			18
		],
		[
			"8c41",
			"똀",
			15,
			"똒똓똕똖똗똙",
			4
		],
		[
			"8c61",
			"똞",
			6,
			"똦",
			5,
			"똭",
			6,
			"똵",
			5
		],
		[
			"8c81",
			"똻",
			12,
			"뙉",
			26,
			"뙥뙦뙧뙩",
			50,
			"뚞뚟뚡뚢뚣뚥",
			5,
			"뚭뚮뚯뚰뚲",
			16
		],
		[
			"8d41",
			"뛃",
			16,
			"뛕",
			8
		],
		[
			"8d61",
			"뛞",
			17,
			"뛱뛲뛳뛵뛶뛷뛹뛺"
		],
		[
			"8d81",
			"뛻",
			4,
			"뜂뜃뜄뜆",
			33,
			"뜪뜫뜭뜮뜱",
			6,
			"뜺뜼",
			7,
			"띅띆띇띉띊띋띍",
			6,
			"띖",
			9,
			"띡띢띣띥띦띧띩",
			6,
			"띲띴띶",
			5,
			"띾띿랁랂랃랅",
			6,
			"랎랓랔랕랚랛랝랞"
		],
		[
			"8e41",
			"랟랡",
			6,
			"랪랮",
			5,
			"랶랷랹",
			8
		],
		[
			"8e61",
			"럂",
			4,
			"럈럊",
			19
		],
		[
			"8e81",
			"럞",
			13,
			"럮럯럱럲럳럵",
			6,
			"럾렂",
			4,
			"렊렋렍렎렏렑",
			6,
			"렚렜렞",
			5,
			"렦렧렩렪렫렭",
			6,
			"렶렺",
			5,
			"롁롂롃롅",
			11,
			"롒롔",
			7,
			"롞롟롡롢롣롥",
			6,
			"롮롰롲",
			5,
			"롹롺롻롽",
			7
		],
		[
			"8f41",
			"뢅",
			7,
			"뢎",
			17
		],
		[
			"8f61",
			"뢠",
			7,
			"뢩",
			6,
			"뢱뢲뢳뢵뢶뢷뢹",
			4
		],
		[
			"8f81",
			"뢾뢿룂룄룆",
			5,
			"룍룎룏룑룒룓룕",
			7,
			"룞룠룢",
			5,
			"룪룫룭룮룯룱",
			6,
			"룺룼룾",
			5,
			"뤅",
			18,
			"뤙",
			6,
			"뤡",
			26,
			"뤾뤿륁륂륃륅",
			6,
			"륍륎륐륒",
			5
		],
		[
			"9041",
			"륚륛륝륞륟륡",
			6,
			"륪륬륮",
			5,
			"륶륷륹륺륻륽"
		],
		[
			"9061",
			"륾",
			5,
			"릆릈릋릌릏",
			15
		],
		[
			"9081",
			"릟",
			12,
			"릮릯릱릲릳릵",
			6,
			"릾맀맂",
			5,
			"맊맋맍맓",
			4,
			"맚맜맟맠맢맦맧맩맪맫맭",
			6,
			"맶맻",
			4,
			"먂",
			5,
			"먉",
			11,
			"먖",
			33,
			"먺먻먽먾먿멁멃멄멅멆"
		],
		[
			"9141",
			"멇멊멌멏멐멑멒멖멗멙멚멛멝",
			6,
			"멦멪",
			5
		],
		[
			"9161",
			"멲멳멵멶멷멹",
			9,
			"몆몈몉몊몋몍",
			5
		],
		[
			"9181",
			"몓",
			20,
			"몪몭몮몯몱몳",
			4,
			"몺몼몾",
			5,
			"뫅뫆뫇뫉",
			14,
			"뫚",
			33,
			"뫽뫾뫿묁묂묃묅",
			7,
			"묎묐묒",
			5,
			"묙묚묛묝묞묟묡",
			6
		],
		[
			"9241",
			"묨묪묬",
			7,
			"묷묹묺묿",
			4,
			"뭆뭈뭊뭋뭌뭎뭑뭒"
		],
		[
			"9261",
			"뭓뭕뭖뭗뭙",
			7,
			"뭢뭤",
			7,
			"뭭",
			4
		],
		[
			"9281",
			"뭲",
			21,
			"뮉뮊뮋뮍뮎뮏뮑",
			18,
			"뮥뮦뮧뮩뮪뮫뮭",
			6,
			"뮵뮶뮸",
			7,
			"믁믂믃믅믆믇믉",
			6,
			"믑믒믔",
			35,
			"믺믻믽믾밁"
		],
		[
			"9341",
			"밃",
			4,
			"밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵"
		],
		[
			"9361",
			"밶밷밹",
			6,
			"뱂뱆뱇뱈뱊뱋뱎뱏뱑",
			8
		],
		[
			"9381",
			"뱚뱛뱜뱞",
			37,
			"벆벇벉벊벍벏",
			4,
			"벖벘벛",
			4,
			"벢벣벥벦벩",
			6,
			"벲벶",
			5,
			"벾벿볁볂볃볅",
			7,
			"볎볒볓볔볖볗볙볚볛볝",
			22,
			"볷볹볺볻볽"
		],
		[
			"9441",
			"볾",
			5,
			"봆봈봊",
			5,
			"봑봒봓봕",
			8
		],
		[
			"9461",
			"봞",
			5,
			"봥",
			6,
			"봭",
			12
		],
		[
			"9481",
			"봺",
			5,
			"뵁",
			6,
			"뵊뵋뵍뵎뵏뵑",
			6,
			"뵚",
			9,
			"뵥뵦뵧뵩",
			22,
			"붂붃붅붆붋",
			4,
			"붒붔붖붗붘붛붝",
			6,
			"붥",
			10,
			"붱",
			6,
			"붹",
			24
		],
		[
			"9541",
			"뷒뷓뷖뷗뷙뷚뷛뷝",
			11,
			"뷪",
			5,
			"뷱"
		],
		[
			"9561",
			"뷲뷳뷵뷶뷷뷹",
			6,
			"븁븂븄븆",
			5,
			"븎븏븑븒븓"
		],
		[
			"9581",
			"븕",
			6,
			"븞븠",
			35,
			"빆빇빉빊빋빍빏",
			4,
			"빖빘빜빝빞빟빢빣빥빦빧빩빫",
			4,
			"빲빶",
			4,
			"빾빿뺁뺂뺃뺅",
			6,
			"뺎뺒",
			5,
			"뺚",
			13,
			"뺩",
			14
		],
		[
			"9641",
			"뺸",
			23,
			"뻒뻓"
		],
		[
			"9661",
			"뻕뻖뻙",
			6,
			"뻡뻢뻦",
			5,
			"뻭",
			8
		],
		[
			"9681",
			"뻶",
			10,
			"뼂",
			5,
			"뼊",
			13,
			"뼚뼞",
			33,
			"뽂뽃뽅뽆뽇뽉",
			6,
			"뽒뽓뽔뽖",
			44
		],
		[
			"9741",
			"뾃",
			16,
			"뾕",
			8
		],
		[
			"9761",
			"뾞",
			17,
			"뾱",
			7
		],
		[
			"9781",
			"뾹",
			11,
			"뿆",
			5,
			"뿎뿏뿑뿒뿓뿕",
			6,
			"뿝뿞뿠뿢",
			89,
			"쀽쀾쀿"
		],
		[
			"9841",
			"쁀",
			16,
			"쁒",
			5,
			"쁙쁚쁛"
		],
		[
			"9861",
			"쁝쁞쁟쁡",
			6,
			"쁪",
			15
		],
		[
			"9881",
			"쁺",
			21,
			"삒삓삕삖삗삙",
			6,
			"삢삤삦",
			5,
			"삮삱삲삷",
			4,
			"삾샂샃샄샆샇샊샋샍샎샏샑",
			6,
			"샚샞",
			5,
			"샦샧샩샪샫샭",
			6,
			"샶샸샺",
			5,
			"섁섂섃섅섆섇섉",
			6,
			"섑섒섓섔섖",
			5,
			"섡섢섥섨섩섪섫섮"
		],
		[
			"9941",
			"섲섳섴섵섷섺섻섽섾섿셁",
			6,
			"셊셎",
			5,
			"셖셗"
		],
		[
			"9961",
			"셙셚셛셝",
			6,
			"셦셪",
			5,
			"셱셲셳셵셶셷셹셺셻"
		],
		[
			"9981",
			"셼",
			8,
			"솆",
			5,
			"솏솑솒솓솕솗",
			4,
			"솞솠솢솣솤솦솧솪솫솭솮솯솱",
			11,
			"솾",
			5,
			"쇅쇆쇇쇉쇊쇋쇍",
			6,
			"쇕쇖쇙",
			6,
			"쇡쇢쇣쇥쇦쇧쇩",
			6,
			"쇲쇴",
			7,
			"쇾쇿숁숂숃숅",
			6,
			"숎숐숒",
			5,
			"숚숛숝숞숡숢숣"
		],
		[
			"9a41",
			"숤숥숦숧숪숬숮숰숳숵",
			16
		],
		[
			"9a61",
			"쉆쉇쉉",
			6,
			"쉒쉓쉕쉖쉗쉙",
			6,
			"쉡쉢쉣쉤쉦"
		],
		[
			"9a81",
			"쉧",
			4,
			"쉮쉯쉱쉲쉳쉵",
			6,
			"쉾슀슂",
			5,
			"슊",
			5,
			"슑",
			6,
			"슙슚슜슞",
			5,
			"슦슧슩슪슫슮",
			5,
			"슶슸슺",
			33,
			"싞싟싡싢싥",
			5,
			"싮싰싲싳싴싵싷싺싽싾싿쌁",
			6,
			"쌊쌋쌎쌏"
		],
		[
			"9b41",
			"쌐쌑쌒쌖쌗쌙쌚쌛쌝",
			6,
			"쌦쌧쌪",
			8
		],
		[
			"9b61",
			"쌳",
			17,
			"썆",
			7
		],
		[
			"9b81",
			"썎",
			25,
			"썪썫썭썮썯썱썳",
			4,
			"썺썻썾",
			5,
			"쎅쎆쎇쎉쎊쎋쎍",
			50,
			"쏁",
			22,
			"쏚"
		],
		[
			"9c41",
			"쏛쏝쏞쏡쏣",
			4,
			"쏪쏫쏬쏮",
			5,
			"쏶쏷쏹",
			5
		],
		[
			"9c61",
			"쏿",
			8,
			"쐉",
			6,
			"쐑",
			9
		],
		[
			"9c81",
			"쐛",
			8,
			"쐥",
			6,
			"쐭쐮쐯쐱쐲쐳쐵",
			6,
			"쐾",
			9,
			"쑉",
			26,
			"쑦쑧쑩쑪쑫쑭",
			6,
			"쑶쑷쑸쑺",
			5,
			"쒁",
			18,
			"쒕",
			6,
			"쒝",
			12
		],
		[
			"9d41",
			"쒪",
			13,
			"쒹쒺쒻쒽",
			8
		],
		[
			"9d61",
			"쓆",
			25
		],
		[
			"9d81",
			"쓠",
			8,
			"쓪",
			5,
			"쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂",
			9,
			"씍씎씏씑씒씓씕",
			6,
			"씝",
			10,
			"씪씫씭씮씯씱",
			6,
			"씺씼씾",
			5,
			"앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩",
			6,
			"앲앶",
			5,
			"앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔"
		],
		[
			"9e41",
			"얖얙얚얛얝얞얟얡",
			7,
			"얪",
			9,
			"얶"
		],
		[
			"9e61",
			"얷얺얿",
			4,
			"엋엍엏엒엓엕엖엗엙",
			6,
			"엢엤엦엧"
		],
		[
			"9e81",
			"엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑",
			6,
			"옚옝",
			6,
			"옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉",
			6,
			"왒왖",
			5,
			"왞왟왡",
			10,
			"왭왮왰왲",
			5,
			"왺왻왽왾왿욁",
			6,
			"욊욌욎",
			5,
			"욖욗욙욚욛욝",
			6,
			"욦"
		],
		[
			"9f41",
			"욨욪",
			5,
			"욲욳욵욶욷욻",
			4,
			"웂웄웆",
			5,
			"웎"
		],
		[
			"9f61",
			"웏웑웒웓웕",
			6,
			"웞웟웢",
			5,
			"웪웫웭웮웯웱웲"
		],
		[
			"9f81",
			"웳",
			4,
			"웺웻웼웾",
			5,
			"윆윇윉윊윋윍",
			6,
			"윖윘윚",
			5,
			"윢윣윥윦윧윩",
			6,
			"윲윴윶윸윹윺윻윾윿읁읂읃읅",
			4,
			"읋읎읐읙읚읛읝읞읟읡",
			6,
			"읩읪읬",
			7,
			"읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛",
			4,
			"잢잧",
			4,
			"잮잯잱잲잳잵잶잷"
		],
		[
			"a041",
			"잸잹잺잻잾쟂",
			5,
			"쟊쟋쟍쟏쟑",
			6,
			"쟙쟚쟛쟜"
		],
		[
			"a061",
			"쟞",
			5,
			"쟥쟦쟧쟩쟪쟫쟭",
			13
		],
		[
			"a081",
			"쟻",
			4,
			"젂젃젅젆젇젉젋",
			4,
			"젒젔젗",
			4,
			"젞젟젡젢젣젥",
			6,
			"젮젰젲",
			5,
			"젹젺젻젽젾젿졁",
			6,
			"졊졋졎",
			5,
			"졕",
			26,
			"졲졳졵졶졷졹졻",
			4,
			"좂좄좈좉좊좎",
			5,
			"좕",
			7,
			"좞좠좢좣좤"
		],
		[
			"a141",
			"좥좦좧좩",
			18,
			"좾좿죀죁"
		],
		[
			"a161",
			"죂죃죅죆죇죉죊죋죍",
			6,
			"죖죘죚",
			5,
			"죢죣죥"
		],
		[
			"a181",
			"죦",
			14,
			"죶",
			5,
			"죾죿줁줂줃줇",
			4,
			"줎　、。·‥…¨〃­―∥＼∼‘’“”〔〕〈",
			9,
			"±×÷≠≤≥∞∴°′″℃Å￠￡￥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨￢"
		],
		[
			"a241",
			"줐줒",
			5,
			"줙",
			18
		],
		[
			"a261",
			"줭",
			6,
			"줵",
			18
		],
		[
			"a281",
			"쥈",
			7,
			"쥒쥓쥕쥖쥗쥙",
			6,
			"쥢쥤",
			7,
			"쥭쥮쥯⇒⇔∀∃´～ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®"
		],
		[
			"a341",
			"쥱쥲쥳쥵",
			6,
			"쥽",
			10,
			"즊즋즍즎즏"
		],
		[
			"a361",
			"즑",
			6,
			"즚즜즞",
			16
		],
		[
			"a381",
			"즯",
			16,
			"짂짃짅짆짉짋",
			4,
			"짒짔짗짘짛！",
			58,
			"￦］",
			32,
			"￣"
		],
		[
			"a441",
			"짞짟짡짣짥짦짨짩짪짫짮짲",
			5,
			"짺짻짽짾짿쨁쨂쨃쨄"
		],
		[
			"a461",
			"쨅쨆쨇쨊쨎",
			5,
			"쨕쨖쨗쨙",
			12
		],
		[
			"a481",
			"쨦쨧쨨쨪",
			28,
			"ㄱ",
			93
		],
		[
			"a541",
			"쩇",
			4,
			"쩎쩏쩑쩒쩓쩕",
			6,
			"쩞쩢",
			5,
			"쩩쩪"
		],
		[
			"a561",
			"쩫",
			17,
			"쩾",
			5,
			"쪅쪆"
		],
		[
			"a581",
			"쪇",
			16,
			"쪙",
			14,
			"ⅰ",
			9
		],
		[
			"a5b0",
			"Ⅰ",
			9
		],
		[
			"a5c1",
			"Α",
			16,
			"Σ",
			6
		],
		[
			"a5e1",
			"α",
			16,
			"σ",
			6
		],
		[
			"a641",
			"쪨",
			19,
			"쪾쪿쫁쫂쫃쫅"
		],
		[
			"a661",
			"쫆",
			5,
			"쫎쫐쫒쫔쫕쫖쫗쫚",
			5,
			"쫡",
			6
		],
		[
			"a681",
			"쫨쫩쫪쫫쫭",
			6,
			"쫵",
			18,
			"쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃",
			7
		],
		[
			"a741",
			"쬋",
			4,
			"쬑쬒쬓쬕쬖쬗쬙",
			6,
			"쬢",
			7
		],
		[
			"a761",
			"쬪",
			22,
			"쭂쭃쭄"
		],
		[
			"a781",
			"쭅쭆쭇쭊쭋쭍쭎쭏쭑",
			6,
			"쭚쭛쭜쭞",
			5,
			"쭥",
			7,
			"㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙",
			9,
			"㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰",
			9,
			"㎀",
			4,
			"㎺",
			5,
			"㎐",
			4,
			"Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆"
		],
		[
			"a841",
			"쭭",
			10,
			"쭺",
			14
		],
		[
			"a861",
			"쮉",
			18,
			"쮝",
			6
		],
		[
			"a881",
			"쮤",
			19,
			"쮹",
			11,
			"ÆÐªĦ"
		],
		["a8a6", "Ĳ"],
		["a8a8", "ĿŁØŒºÞŦŊ"],
		[
			"a8b1",
			"㉠",
			27,
			"ⓐ",
			25,
			"①",
			14,
			"½⅓⅔¼¾⅛⅜⅝⅞"
		],
		[
			"a941",
			"쯅",
			14,
			"쯕",
			10
		],
		[
			"a961",
			"쯠쯡쯢쯣쯥쯦쯨쯪",
			18
		],
		[
			"a981",
			"쯽",
			14,
			"찎찏찑찒찓찕",
			6,
			"찞찟찠찣찤æđðħıĳĸŀłøœßþŧŋŉ㈀",
			27,
			"⒜",
			25,
			"⑴",
			14,
			"¹²³⁴ⁿ₁₂₃₄"
		],
		[
			"aa41",
			"찥찦찪찫찭찯찱",
			6,
			"찺찿",
			4,
			"챆챇챉챊챋챍챎"
		],
		[
			"aa61",
			"챏",
			4,
			"챖챚",
			5,
			"챡챢챣챥챧챩",
			6,
			"챱챲"
		],
		[
			"aa81",
			"챳챴챶",
			29,
			"ぁ",
			82
		],
		[
			"ab41",
			"첔첕첖첗첚첛첝첞첟첡",
			6,
			"첪첮",
			5,
			"첶첷첹"
		],
		[
			"ab61",
			"첺첻첽",
			6,
			"쳆쳈쳊",
			5,
			"쳑쳒쳓쳕",
			5
		],
		[
			"ab81",
			"쳛",
			8,
			"쳥",
			6,
			"쳭쳮쳯쳱",
			12,
			"ァ",
			85
		],
		[
			"ac41",
			"쳾쳿촀촂",
			5,
			"촊촋촍촎촏촑",
			6,
			"촚촜촞촟촠"
		],
		[
			"ac61",
			"촡촢촣촥촦촧촩촪촫촭",
			11,
			"촺",
			4
		],
		[
			"ac81",
			"촿",
			28,
			"쵝쵞쵟А",
			5,
			"ЁЖ",
			25
		],
		[
			"acd1",
			"а",
			5,
			"ёж",
			25
		],
		[
			"ad41",
			"쵡쵢쵣쵥",
			6,
			"쵮쵰쵲",
			5,
			"쵹",
			7
		],
		[
			"ad61",
			"춁",
			6,
			"춉",
			10,
			"춖춗춙춚춛춝춞춟"
		],
		[
			"ad81",
			"춠춡춢춣춦춨춪",
			5,
			"춱",
			18,
			"췅"
		],
		[
			"ae41",
			"췆",
			5,
			"췍췎췏췑",
			16
		],
		[
			"ae61",
			"췢",
			5,
			"췩췪췫췭췮췯췱",
			6,
			"췺췼췾",
			4
		],
		[
			"ae81",
			"츃츅츆츇츉츊츋츍",
			6,
			"츕츖츗츘츚",
			5,
			"츢츣츥츦츧츩츪츫"
		],
		[
			"af41",
			"츬츭츮츯츲츴츶",
			19
		],
		[
			"af61",
			"칊",
			13,
			"칚칛칝칞칢",
			5,
			"칪칬"
		],
		[
			"af81",
			"칮",
			5,
			"칶칷칹칺칻칽",
			6,
			"캆캈캊",
			5,
			"캒캓캕캖캗캙"
		],
		[
			"b041",
			"캚",
			5,
			"캢캦",
			5,
			"캮",
			12
		],
		[
			"b061",
			"캻",
			5,
			"컂",
			19
		],
		[
			"b081",
			"컖",
			13,
			"컦컧컩컪컭",
			6,
			"컶컺",
			5,
			"가각간갇갈갉갊감",
			7,
			"같",
			4,
			"갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆"
		],
		[
			"b141",
			"켂켃켅켆켇켉",
			6,
			"켒켔켖",
			5,
			"켝켞켟켡켢켣"
		],
		[
			"b161",
			"켥",
			6,
			"켮켲",
			5,
			"켹",
			11
		],
		[
			"b181",
			"콅",
			14,
			"콖콗콙콚콛콝",
			6,
			"콦콨콪콫콬괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸"
		],
		[
			"b241",
			"콭콮콯콲콳콵콶콷콹",
			6,
			"쾁쾂쾃쾄쾆",
			5,
			"쾍"
		],
		[
			"b261",
			"쾎",
			18,
			"쾢",
			5,
			"쾩"
		],
		[
			"b281",
			"쾪",
			5,
			"쾱",
			18,
			"쿅",
			6,
			"깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙"
		],
		[
			"b341",
			"쿌",
			19,
			"쿢쿣쿥쿦쿧쿩"
		],
		[
			"b361",
			"쿪",
			5,
			"쿲쿴쿶",
			5,
			"쿽쿾쿿퀁퀂퀃퀅",
			5
		],
		[
			"b381",
			"퀋",
			5,
			"퀒",
			5,
			"퀙",
			19,
			"끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫",
			4,
			"낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝"
		],
		[
			"b441",
			"퀮",
			5,
			"퀶퀷퀹퀺퀻퀽",
			6,
			"큆큈큊",
			5
		],
		[
			"b461",
			"큑큒큓큕큖큗큙",
			6,
			"큡",
			10,
			"큮큯"
		],
		[
			"b481",
			"큱큲큳큵",
			6,
			"큾큿킀킂",
			18,
			"뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫",
			4,
			"닳담답닷",
			4,
			"닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥"
		],
		[
			"b541",
			"킕",
			14,
			"킦킧킩킪킫킭",
			5
		],
		[
			"b561",
			"킳킶킸킺",
			5,
			"탂탃탅탆탇탊",
			5,
			"탒탖",
			4
		],
		[
			"b581",
			"탛탞탟탡탢탣탥",
			6,
			"탮탲",
			5,
			"탹",
			11,
			"덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸"
		],
		[
			"b641",
			"턅",
			7,
			"턎",
			17
		],
		[
			"b661",
			"턠",
			15,
			"턲턳턵턶턷턹턻턼턽턾"
		],
		[
			"b681",
			"턿텂텆",
			5,
			"텎텏텑텒텓텕",
			6,
			"텞텠텢",
			5,
			"텩텪텫텭땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗"
		],
		[
			"b741",
			"텮",
			13,
			"텽",
			6,
			"톅톆톇톉톊"
		],
		[
			"b761",
			"톋",
			20,
			"톢톣톥톦톧"
		],
		[
			"b781",
			"톩",
			6,
			"톲톴톶톷톸톹톻톽톾톿퇁",
			14,
			"래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩"
		],
		[
			"b841",
			"퇐",
			7,
			"퇙",
			17
		],
		[
			"b861",
			"퇫",
			8,
			"퇵퇶퇷퇹",
			13
		],
		[
			"b881",
			"툈툊",
			5,
			"툑",
			24,
			"륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많",
			4,
			"맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼"
		],
		[
			"b941",
			"툪툫툮툯툱툲툳툵",
			6,
			"툾퉀퉂",
			5,
			"퉉퉊퉋퉌"
		],
		[
			"b961",
			"퉍",
			14,
			"퉝",
			6,
			"퉥퉦퉧퉨"
		],
		[
			"b981",
			"퉩",
			22,
			"튂튃튅튆튇튉튊튋튌묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바",
			4,
			"받",
			4,
			"밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗"
		],
		[
			"ba41",
			"튍튎튏튒튓튔튖",
			5,
			"튝튞튟튡튢튣튥",
			6,
			"튭"
		],
		[
			"ba61",
			"튮튯튰튲",
			5,
			"튺튻튽튾틁틃",
			4,
			"틊틌",
			5
		],
		[
			"ba81",
			"틒틓틕틖틗틙틚틛틝",
			6,
			"틦",
			9,
			"틲틳틵틶틷틹틺벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤"
		],
		[
			"bb41",
			"틻",
			4,
			"팂팄팆",
			5,
			"팏팑팒팓팕팗",
			4,
			"팞팢팣"
		],
		[
			"bb61",
			"팤팦팧팪팫팭팮팯팱",
			6,
			"팺팾",
			5,
			"퍆퍇퍈퍉"
		],
		[
			"bb81",
			"퍊",
			31,
			"빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤"
		],
		[
			"bc41",
			"퍪",
			17,
			"퍾퍿펁펂펃펅펆펇"
		],
		[
			"bc61",
			"펈펉펊펋펎펒",
			5,
			"펚펛펝펞펟펡",
			6,
			"펪펬펮"
		],
		[
			"bc81",
			"펯",
			4,
			"펵펶펷펹펺펻펽",
			6,
			"폆폇폊",
			5,
			"폑",
			5,
			"샥샨샬샴샵샷샹섀섄섈섐섕서",
			4,
			"섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭"
		],
		[
			"bd41",
			"폗폙",
			7,
			"폢폤",
			7,
			"폮폯폱폲폳폵폶폷"
		],
		[
			"bd61",
			"폸폹폺폻폾퐀퐂",
			5,
			"퐉",
			13
		],
		[
			"bd81",
			"퐗",
			5,
			"퐞",
			25,
			"숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰"
		],
		[
			"be41",
			"퐸",
			7,
			"푁푂푃푅",
			14
		],
		[
			"be61",
			"푔",
			7,
			"푝푞푟푡푢푣푥",
			7,
			"푮푰푱푲"
		],
		[
			"be81",
			"푳",
			4,
			"푺푻푽푾풁풃",
			4,
			"풊풌풎",
			5,
			"풕",
			8,
			"쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄",
			6,
			"엌엎"
		],
		[
			"bf41",
			"풞",
			10,
			"풪",
			14
		],
		[
			"bf61",
			"풹",
			18,
			"퓍퓎퓏퓑퓒퓓퓕"
		],
		[
			"bf81",
			"퓖",
			5,
			"퓝퓞퓠",
			7,
			"퓩퓪퓫퓭퓮퓯퓱",
			6,
			"퓹퓺퓼에엑엔엘엠엡엣엥여역엮연열엶엷염",
			5,
			"옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨"
		],
		[
			"c041",
			"퓾",
			5,
			"픅픆픇픉픊픋픍",
			6,
			"픖픘",
			5
		],
		[
			"c061",
			"픞",
			25
		],
		[
			"c081",
			"픸픹픺픻픾픿핁핂핃핅",
			6,
			"핎핐핒",
			5,
			"핚핛핝핞핟핡핢핣웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응",
			7,
			"읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊"
		],
		[
			"c141",
			"핤핦핧핪핬핮",
			5,
			"핶핷핹핺핻핽",
			6,
			"햆햊햋"
		],
		[
			"c161",
			"햌햍햎햏햑",
			19,
			"햦햧"
		],
		[
			"c181",
			"햨",
			31,
			"점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓"
		],
		[
			"c241",
			"헊헋헍헎헏헑헓",
			4,
			"헚헜헞",
			5,
			"헦헧헩헪헫헭헮"
		],
		[
			"c261",
			"헯",
			4,
			"헶헸헺",
			5,
			"혂혃혅혆혇혉",
			6,
			"혒"
		],
		[
			"c281",
			"혖",
			5,
			"혝혞혟혡혢혣혥",
			7,
			"혮",
			9,
			"혺혻징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻"
		],
		[
			"c341",
			"혽혾혿홁홂홃홄홆홇홊홌홎홏홐홒홓홖홗홙홚홛홝",
			4
		],
		[
			"c361",
			"홢",
			4,
			"홨홪",
			5,
			"홲홳홵",
			11
		],
		[
			"c381",
			"횁횂횄횆",
			5,
			"횎횏횑횒횓횕",
			7,
			"횞횠횢",
			5,
			"횩횪찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층"
		],
		[
			"c441",
			"횫횭횮횯횱",
			7,
			"횺횼",
			7,
			"훆훇훉훊훋"
		],
		[
			"c461",
			"훍훎훏훐훒훓훕훖훘훚",
			5,
			"훡훢훣훥훦훧훩",
			4
		],
		[
			"c481",
			"훮훯훱훲훳훴훶",
			5,
			"훾훿휁휂휃휅",
			11,
			"휒휓휔치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼"
		],
		[
			"c541",
			"휕휖휗휚휛휝휞휟휡",
			6,
			"휪휬휮",
			5,
			"휶휷휹"
		],
		[
			"c561",
			"휺휻휽",
			6,
			"흅흆흈흊",
			5,
			"흒흓흕흚",
			4
		],
		[
			"c581",
			"흟흢흤흦흧흨흪흫흭흮흯흱흲흳흵",
			6,
			"흾흿힀힂",
			5,
			"힊힋큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜"
		],
		[
			"c641",
			"힍힎힏힑",
			6,
			"힚힜힞",
			5
		],
		["c6a1", "퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁"],
		["c7a1", "퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠"],
		["c8a1", "혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝"],
		["caa1", "伽佳假價加可呵哥嘉嫁家暇架枷柯歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却各恪慤殼珏脚覺角閣侃刊墾奸姦干幹懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕"],
		["cba1", "匣岬甲胛鉀閘剛堈姜岡崗康强彊慷江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋豈鎧開喀客坑更粳羹醵倨去居巨拒据據擧渠炬祛距踞車遽鉅鋸乾件健巾建愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢"],
		["cca1", "瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿坰境庚徑慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕鏡頃頸驚鯨係啓堺契季屆悸戒桂械"],
		["cda1", "棨溪界癸磎稽系繫繼計誡谿階鷄古叩告呱固姑孤尻庫拷攷故敲暠枯槁沽痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑昆梱棍滾琨袞鯤汨滑骨供公共功孔工恐恭拱控攻珙空蚣貢鞏串寡戈果瓜"],
		["cea1", "科菓誇課跨過鍋顆廓槨藿郭串冠官寬慣棺款灌琯瓘管罐菅觀貫關館刮恝括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠蕎蛟較轎郊餃驕鮫丘久九仇俱具勾"],
		["cfa1", "區口句咎嘔坵垢寇嶇廐懼拘救枸柩構歐毆毬求溝灸狗玖球瞿矩究絿耉臼舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴"],
		["d0a1", "鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉契今妗擒昑檎琴禁禽芩衾衿襟金錦伋及急扱汲級給亘兢矜肯企伎其冀嗜器圻基埼夔奇妓寄岐崎己幾忌技旗旣"],
		[
			"d1a1",
			"朞期杞棋棄機欺氣汽沂淇玘琦琪璂璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮桔金喫儺喇奈娜懦懶拏拿癩",
			5,
			"那樂",
			4,
			"諾酪駱亂卵暖欄煖爛蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉"
		],
		[
			"d2a1",
			"納臘蠟衲囊娘廊",
			4,
			"乃來內奈柰耐冷女年撚秊念恬拈捻寧寗努勞奴弩怒擄櫓爐瑙盧",
			5,
			"駑魯",
			10,
			"濃籠聾膿農惱牢磊腦賂雷尿壘",
			7,
			"嫩訥杻紐勒",
			5,
			"能菱陵尼泥匿溺多茶"
		],
		["d3a1", "丹亶但單團壇彖斷旦檀段湍短端簞緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝唐堂塘幢戇撞棠當糖螳黨代垈坮大對岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀到圖堵塗導屠島嶋度徒悼挑掉搗桃"],
		["d4a1", "棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬凍動同憧東桐棟洞潼疼瞳童胴董銅兜斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍得嶝橙燈登等藤謄鄧騰喇懶拏癩羅"],
		["d5a1", "蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣"],
		["d6a1", "煉璉練聯蓮輦連鍊冽列劣洌烈裂廉斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢磊賂賚賴雷了僚寮廖料燎療瞭聊蓼"],
		["d7a1", "遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜凌楞稜綾菱陵俚利厘吏唎履悧李梨浬犁狸理璃異痢籬罹羸莉裏裡里釐離鯉吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬"],
		["d8a1", "立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙望網罔芒茫莽輞邙埋妹媒寐昧枚梅每煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟萌冪覓免冕勉棉沔眄眠綿緬面麵滅"],
		["d9a1", "蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘鳴袂侮冒募姆帽慕摸摹暮某模母毛牟牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗苗錨務巫憮懋戊拇撫无楙武毋無珷畝繆舞茂蕪誣貿霧鵡墨默們刎吻問文"],
		["daa1", "汶紊紋聞蚊門雯勿沕物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷靡黴岷悶愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤盼磐磻礬絆般蟠返頒飯勃拔撥渤潑"],
		["dba1", "發跋醱鉢髮魃倣傍坊妨尨幇彷房放方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防龐倍俳北培徘拜排杯湃焙盃背胚裴裵褙賠輩配陪伯佰帛柏栢白百魄幡樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵氾汎泛犯範范法琺僻劈壁擘檗璧癖"],
		["dca1", "碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠騈保堡報寶普步洑湺潽珤甫菩補褓譜輔伏僕匐卜宓復服福腹茯蔔複覆輹輻馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬蜂逢鋒鳳不付俯傅剖副否咐埠夫婦"],
		["dda1", "孚孵富府復扶敷斧浮溥父符簿缶腐腑膚艀芙莩訃負賦賻赴趺部釜阜附駙鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬丕備匕匪卑妃婢庇悲憊扉批斐枇榧比毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥"],
		["dea1", "脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍事些仕伺似使俟僿史司唆嗣四士奢娑寫寺射巳師徙思捨斜斯柶査梭死沙泗渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇裟詐詞謝賜赦辭邪飼駟麝削數朔索"],
		["dfa1", "傘刪山散汕珊産疝算蒜酸霰乷撒殺煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷像償商喪嘗孀尙峠常床庠廂想桑橡湘爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽嗇塞穡索色牲生甥省笙墅壻嶼序庶徐恕抒捿敍暑曙書栖棲犀瑞筮絮緖署"],
		["e0a1", "胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉燮葉城姓宬性惺成星晟猩珹盛省筬"],
		["e1a1", "聖聲腥誠醒世勢歲洗稅笹細說貰召嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡邵銷韶騷俗屬束涑粟續謖贖速孫巽損蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁"],
		["e2a1", "戍手授搜收數樹殊水洙漱燧狩獸琇璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪袖誰讐輸遂邃酬銖銹隋隧隨雖需須首髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧"],
		["e3a1", "嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施是時枾柴猜矢示翅蒔蓍視試詩諡豕豺埴寔式息拭植殖湜熄篒蝕識軾食飾伸侁信呻娠宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心沁"],
		["e4a1", "沈深瀋甚芯諶什十拾雙氏亞俄兒啞娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃崖愛曖涯碍艾隘靄厄扼掖液縊腋額"],
		["e5a1", "櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊良襄諒讓釀陽量養圄御於漁瘀禦語馭魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺儼嚴奄掩淹嶪業円予余勵呂女如廬"],
		["e6a1", "旅歟汝濾璵礖礪與艅茹輿轝閭餘驪麗黎亦力域役易曆歷疫繹譯轢逆驛嚥堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓淵演漣烟然煙煉燃燕璉硏硯秊筵緣練縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈熱裂說閱厭廉念捻染殮炎焰琰艶苒"],
		["e7a1", "簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮裔詣譽豫醴銳隸霓預五伍俉傲午吾吳嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳"],
		["e8a1", "烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療"],
		["e9a1", "窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶優又友右宇寓尤愚憂旴牛玗瑀盂祐禑禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓"],
		["eaa1", "運隕雲韻蔚鬱亐熊雄元原員圓園垣媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅遠阮院願鴛月越鉞位偉僞危圍委威尉慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈愉揄攸有杻柔柚柳楡楢油洧流游溜"],
		["eba1", "濡猶猷琉瑜由留癒硫紐維臾萸裕誘諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚儀宜意懿擬椅毅疑矣義艤薏蟻衣誼"],
		["eca1", "議醫二以伊利吏夷姨履已弛彛怡易李梨泥爾珥理異痍痢移罹而耳肄苡荑裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人仁刃印吝咽因姻寅引忍湮燐璘絪茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸鎰馹任壬妊姙恁林淋稔臨荏賃入卄"],
		["eda1", "立笠粒仍剩孕芿仔刺咨姉姿子字孜恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐璋章粧腸臟臧莊葬蔣薔藏裝贓醬長"],
		["eea1", "障再哉在宰才材栽梓渽滓災縡裁財載齋齎爭箏諍錚佇低儲咀姐底抵杵楮樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全典前剪塡塼奠專展廛悛戰栓殿氈澱"],
		["efa1", "煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿銓錢鐫電顚顫餞切截折浙癤竊節絶占岾店漸点粘霑鮎點接摺蝶丁井亭停偵呈姃定幀庭廷征情挺政整旌晶晸柾楨檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖"],
		["f0a1", "靜頂鼎制劑啼堤帝弟悌提梯濟祭第臍薺製諸蹄醍除際霽題齊俎兆凋助嘲弔彫措操早晁曺曹朝條棗槽漕潮照燥爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔調趙躁造遭釣阻雕鳥族簇足鏃存尊卒拙猝倧宗從悰慫棕淙琮種終綜縱腫"],
		["f1a1", "踪踵鍾鐘佐坐左座挫罪主住侏做姝胄呪周嗾奏宙州廚晝朱柱株注洲湊澍炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫汁葺增憎曾拯烝甑症繒蒸證贈之只"],
		["f2a1", "咫地址志持指摯支旨智枝枳止池沚漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾遲直稙稷織職唇嗔塵振搢晉晋桭榛殄津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆疾秩窒膣蛭質跌迭斟朕什執潗緝輯"],
		["f3a1", "鏶集徵懲澄且侘借叉嗟嵯差次此磋箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮僭參塹慘慙懺斬站讒讖倉倡創唱娼廠彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼債埰寀寨彩採砦綵菜蔡采釵冊柵策"],
		["f4a1", "責凄妻悽處倜刺剔尺慽戚拓擲斥滌瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃替涕滯締諦逮遞體初剿哨憔抄招梢"],
		["f5a1", "椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢塚寵悤憁摠總聰蔥銃撮催崔最墜抽推椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐春椿瑃出朮黜充忠沖蟲衝衷悴膵萃"],
		["f6a1", "贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲側仄厠惻測層侈値嗤峙幟恥梔治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤稱快他咤唾墮妥惰打拖朶楕舵陀馱駝倬卓啄坼度托拓擢晫柝濁濯琢琸託"],
		["f7a1", "鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土討慟桶洞痛筒統通堆槌腿褪退頹偸套妬投透鬪慝特闖坡婆巴把播擺杷波派爬琶破罷芭跛頗判坂板版瓣販辦鈑"],
		["f8a1", "阪八叭捌佩唄悖敗沛浿牌狽稗覇貝彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆輻俵剽彪慓杓標漂瓢票表豹飇飄驃"],
		["f9a1", "品稟楓諷豊風馮彼披疲皮被避陂匹弼必泌珌畢疋筆苾馝乏逼下何厦夏廈昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨悍旱汗漢澣瀚罕翰閑閒限韓割轄函含咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔陜亢伉姮嫦巷恒抗杭桁沆港缸肛航"],
		["faa1", "行降項亥偕咳垓奚孩害懈楷海瀣蟹解該諧邂駭骸劾核倖幸杏荇行享向嚮珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠協夾峽挾浹狹脅脇莢鋏頰亨兄刑型"],
		["fba1", "形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵"],
		["fca1", "禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆"],
		["fda1", "爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰"]
	];
}));

//#endregion
//#region ../node_modules/iconv-lite/encodings/tables/cp950.json
var require_cp950 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = [
		[
			"0",
			"\0",
			127
		],
		["a140", "　，、。．‧；：？！︰…‥﹐﹑﹒·﹔﹕﹖﹗｜–︱—︳╴︴﹏（）︵︶｛｝︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚"],
		[
			"a1a1",
			"﹛﹜﹝﹞‘’“”〝〞‵′＃＆＊※§〃○●△▲◎☆★◇◆□■▽▼㊣℅¯￣＿ˍ﹉﹊﹍﹎﹋﹌﹟﹠﹡＋－×÷±√＜＞＝≦≧≠∞≒≡﹢",
			4,
			"～∩∪⊥∠∟⊿㏒㏑∫∮∵∴♀♂⊕⊙↑↓←→↖↗↙↘∥∣／"
		],
		[
			"a240",
			"＼∕﹨＄￥〒￠￡％＠℃℉﹩﹪﹫㏕㎜㎝㎞㏎㎡㎎㎏㏄°兙兛兞兝兡兣嗧瓩糎▁",
			7,
			"▏▎▍▌▋▊▉┼┴┬┤├▔─│▕┌┐└┘╭"
		],
		[
			"a2a1",
			"╮╰╯═╞╪╡◢◣◥◤╱╲╳０",
			9,
			"Ⅰ",
			9,
			"〡",
			8,
			"十卄卅Ａ",
			25,
			"ａ",
			21
		],
		[
			"a340",
			"ｗｘｙｚΑ",
			16,
			"Σ",
			6,
			"α",
			16,
			"σ",
			6,
			"ㄅ",
			10
		],
		[
			"a3a1",
			"ㄐ",
			25,
			"˙ˉˊˇˋ"
		],
		["a3e1", "€"],
		["a440", "一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才"],
		["a4a1", "丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙"],
		["a540", "世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外"],
		["a5a1", "央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全"],
		["a640", "共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年"],
		["a6a1", "式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣"],
		["a740", "作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍"],
		["a7a1", "均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠"],
		["a840", "杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒"],
		["a8a1", "芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵"],
		["a940", "咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居"],
		["a9a1", "屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊"],
		["aa40", "昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠"],
		["aaa1", "炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附"],
		["ab40", "陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品"],
		["aba1", "哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷"],
		["ac40", "拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗"],
		["aca1", "活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄"],
		["ad40", "耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥"],
		["ada1", "迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪"],
		["ae40", "哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙"],
		["aea1", "恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓"],
		["af40", "浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷"],
		["afa1", "砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃"],
		["b040", "虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡"],
		["b0a1", "陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀"],
		["b140", "娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽"],
		["b1a1", "情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺"],
		["b240", "毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶"],
		["b2a1", "瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼"],
		["b340", "莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途"],
		["b3a1", "部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠"],
		["b440", "婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍"],
		["b4a1", "插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋"],
		["b540", "溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘"],
		["b5a1", "窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁"],
		["b640", "詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑"],
		["b6a1", "間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼"],
		["b740", "媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業"],
		["b7a1", "楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督"],
		["b840", "睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫"],
		["b8a1", "腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊"],
		["b940", "辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴"],
		["b9a1", "飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇"],
		["ba40", "愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢"],
		["baa1", "滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬"],
		["bb40", "罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤"],
		["bba1", "說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜"],
		["bc40", "劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂"],
		["bca1", "慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃"],
		["bd40", "瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯"],
		["bda1", "翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞"],
		["be40", "輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉"],
		["bea1", "鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡"],
		["bf40", "濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊"],
		["bfa1", "縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚"],
		["c040", "錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇"],
		["c0a1", "嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬"],
		["c140", "瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪"],
		["c1a1", "薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁"],
		["c240", "駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘"],
		["c2a1", "癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦"],
		["c340", "鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸"],
		["c3a1", "獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類"],
		["c440", "願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼"],
		["c4a1", "纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴"],
		["c540", "護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬"],
		["c5a1", "禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒"],
		["c640", "讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲"],
		["c940", "乂乜凵匚厂万丌乇亍囗兀屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕"],
		["c9a1", "氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋"],
		["ca40", "汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘"],
		["caa1", "吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇"],
		["cb40", "杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓"],
		["cba1", "芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢"],
		["cc40", "坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋"],
		["cca1", "怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲"],
		["cd40", "泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺"],
		["cda1", "矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏"],
		["ce40", "哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛"],
		["cea1", "峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺"],
		["cf40", "柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂"],
		["cfa1", "洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀"],
		["d040", "穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪"],
		["d0a1", "苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱"],
		["d140", "唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧"],
		["d1a1", "恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤"],
		["d240", "毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸"],
		["d2a1", "牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐"],
		["d340", "笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢"],
		["d3a1", "荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐"],
		["d440", "酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅"],
		["d4a1", "唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏"],
		["d540", "崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟"],
		["d5a1", "捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉"],
		["d640", "淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏"],
		["d6a1", "痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟"],
		["d740", "耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷"],
		["d7a1", "蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪"],
		["d840", "釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷"],
		["d8a1", "堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔"],
		["d940", "惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒"],
		["d9a1", "晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞"],
		["da40", "湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖"],
		["daa1", "琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥"],
		["db40", "罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳"],
		["dba1", "菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺"],
		["dc40", "軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈"],
		["dca1", "隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆"],
		["dd40", "媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤"],
		["dda1", "搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛嗀毻毼"],
		["de40", "毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓"],
		["dea1", "煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓"],
		["df40", "稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯"],
		["dfa1", "腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤"],
		["e040", "觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿"],
		["e0a1", "遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠"],
		["e140", "凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠"],
		["e1a1", "寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉"],
		["e240", "榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊"],
		["e2a1", "漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓"],
		["e340", "禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞"],
		["e3a1", "耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻"],
		["e440", "裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍"],
		["e4a1", "銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘"],
		["e540", "噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉"],
		["e5a1", "憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒"],
		["e640", "澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙"],
		["e6a1", "獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟"],
		["e740", "膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢"],
		["e7a1", "蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧"],
		["e840", "踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓"],
		["e8a1", "銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮"],
		["e940", "噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺"],
		["e9a1", "憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸"],
		["ea40", "澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙"],
		["eaa1", "瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘"],
		["eb40", "蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠"],
		["eba1", "諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌"],
		["ec40", "錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕"],
		["eca1", "魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎"],
		["ed40", "檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶"],
		["eda1", "瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞"],
		["ee40", "蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞"],
		["eea1", "謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜"],
		["ef40", "鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰"],
		["efa1", "鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶"],
		["f040", "璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒"],
		["f0a1", "臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧"],
		["f140", "蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪"],
		["f1a1", "鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰"],
		["f240", "徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛"],
		["f2a1", "礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕"],
		["f340", "譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦"],
		["f3a1", "鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲"],
		["f440", "嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩"],
		["f4a1", "禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿"],
		["f540", "鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛"],
		["f5a1", "鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥"],
		["f640", "蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺"],
		["f6a1", "騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚"],
		["f740", "糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊"],
		["f7a1", "驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾"],
		["f840", "讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏"],
		["f8a1", "齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚"],
		["f940", "纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊"],
		["f9a1", "龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓"]
	];
}));

//#endregion
//#region ../node_modules/iconv-lite/encodings/tables/big5-added.json
var require_big5_added = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = [
		["8740", "䏰䰲䘃䖦䕸𧉧䵷䖳𧲱䳢𧳅㮕䜶䝄䱇䱀𤊿𣘗𧍒𦺋𧃒䱗𪍑䝏䗚䲅𧱬䴇䪤䚡𦬣爥𥩔𡩣𣸆𣽡晍囻"],
		["8767", "綕夝𨮹㷴霴𧯯寛𡵞媤㘥𩺰嫑宷峼杮薓𩥅瑡璝㡵𡵓𣚞𦀡㻬"],
		["87a1", "𥣞㫵竼龗𤅡𨤍𣇪𠪊𣉞䌊蒄龖鐯䤰蘓墖靊鈘秐稲晠権袝瑌篅枂稬剏遆㓦珄𥶹瓆鿇垳䤯呌䄱𣚎堘穲𧭥讏䚮𦺈䆁𥶙箮𢒼鿈𢓁𢓉𢓌鿉蔄𣖻䂴鿊䓡𪷿拁灮鿋"],
		[
			"8840",
			"㇀",
			4,
			"𠄌㇅𠃑𠃍㇆㇇𠃋𡿨㇈𠃊㇉㇊㇋㇌𠄎㇍㇎ĀÁǍÀĒÉĚÈŌÓǑÒ࿿Ê̄Ế࿿Ê̌ỀÊāáǎàɑēéěèīíǐìōóǒòūúǔùǖǘǚ"
		],
		["88a1", "ǜü࿿ê̄ế࿿ê̌ềêɡ⏚⏛"],
		["8940", "𪎩𡅅"],
		["8943", "攊"],
		["8946", "丽滝鵎釟"],
		["894c", "𧜵撑会伨侨兖兴农凤务动医华发变团声处备夲头学实実岚庆总斉柾栄桥济炼电纤纬纺织经统缆缷艺苏药视设询车轧轮"],
		["89a1", "琑糼緍楆竉刧"],
		["89ab", "醌碸酞肼"],
		["89b0", "贋胶𠧧"],
		["89b5", "肟黇䳍鷉鸌䰾𩷶𧀎鸊𪄳㗁"],
		["89c1", "溚舾甙"],
		["89c5", "䤑马骏龙禇𨑬𡷊𠗐𢫦两亁亀亇亿仫伷㑌侽㹈倃傈㑽㒓㒥円夅凛凼刅争剹劐匧㗇厩㕑厰㕓参吣㕭㕲㚁咓咣咴咹哐哯唘唣唨㖘唿㖥㖿嗗㗅"],
		["8a40", "𧶄唥"],
		["8a43", "𠱂𠴕𥄫喐𢳆㧬𠍁蹆𤶸𩓥䁓𨂾睺𢰸㨴䟕𨅝𦧲𤷪擝𠵼𠾴𠳕𡃴撍蹾𠺖𠰋𠽤𢲩𨉖𤓓"],
		["8a64", "𠵆𩩍𨃩䟴𤺧𢳂骲㩧𩗴㿭㔆𥋇𩟔𧣈𢵄鵮頕"],
		["8a76", "䏙𦂥撴哣𢵌𢯊𡁷㧻𡁯"],
		["8aa1", "𦛚𦜖𧦠擪𥁒𠱃蹨𢆡𨭌𠜱"],
		["8aac", "䠋𠆩㿺塳𢶍"],
		["8ab2", "𤗈𠓼𦂗𠽌𠶖啹䂻䎺"],
		["8abb", "䪴𢩦𡂝膪飵𠶜捹㧾𢝵跀嚡摼㹃"],
		["8ac9", "𪘁𠸉𢫏𢳉"],
		["8ace", "𡃈𣧂㦒㨆𨊛㕸𥹉𢃇噒𠼱𢲲𩜠㒼氽𤸻"],
		["8adf", "𧕴𢺋𢈈𪙛𨳍𠹺𠰴𦠜羓𡃏𢠃𢤹㗻𥇣𠺌𠾍𠺪㾓𠼰𠵇𡅏𠹌"],
		["8af6", "𠺫𠮩𠵈𡃀𡄽㿹𢚖搲𠾭"],
		["8b40", "𣏴𧘹𢯎𠵾𠵿𢱑𢱕㨘𠺘𡃇𠼮𪘲𦭐𨳒𨶙𨳊閪哌苄喹"],
		["8b55", "𩻃鰦骶𧝞𢷮煀腭胬尜𦕲脴㞗卟𨂽醶𠻺𠸏𠹷𠻻㗝𤷫㘉𠳖嚯𢞵𡃉𠸐𠹸𡁸𡅈𨈇𡑕𠹹𤹐𢶤婔𡀝𡀞𡃵𡃶垜𠸑"],
		["8ba1", "𧚔𨋍𠾵𠹻𥅾㜃𠾶𡆀𥋘𪊽𤧚𡠺𤅷𨉼墙剨㘚𥜽箲孨䠀䬬鼧䧧鰟鮍𥭴𣄽嗻㗲嚉丨夂𡯁屮靑𠂆乛亻㔾尣彑忄㣺扌攵歺氵氺灬爫丬犭𤣩罒礻糹罓𦉪㓁"],
		["8bde", "𦍋耂肀𦘒𦥑卝衤见𧢲讠贝钅镸长门𨸏韦页风飞饣𩠐鱼鸟黄歯龜丷𠂇阝户钢"],
		["8c40", "倻淾𩱳龦㷉袏𤅎灷峵䬠𥇍㕙𥴰愢𨨲辧釶熑朙玺𣊁𪄇㲋𡦀䬐磤琂冮𨜏䀉橣𪊺䈣蘏𠩯稪𩥇𨫪靕灍匤𢁾鏴盙𨧣龧矝亣俰傼丯众龨吴綋墒壐𡶶庒庙忂𢜒斋"],
		["8ca1", "𣏹椙橃𣱣泿"],
		["8ca7", "爀𤔅玌㻛𤨓嬕璹讃𥲤𥚕窓篬糃繬苸薗龩袐龪躹龫迏蕟駠鈡龬𨶹𡐿䁱䊢娚"],
		["8cc9", "顨杫䉶圽"],
		["8cce", "藖𤥻芿𧄍䲁𦵴嵻𦬕𦾾龭龮宖龯曧繛湗秊㶈䓃𣉖𢞖䎚䔶"],
		["8ce6", "峕𣬚諹屸㴒𣕑嵸龲煗䕘𤃬𡸣䱷㥸㑊𠆤𦱁諌侴𠈹妿腬顖𩣺弻"],
		["8d40", "𠮟"],
		["8d42", "𢇁𨥭䄂䚻𩁹㼇龳𪆵䃸㟖䛷𦱆䅼𨚲𧏿䕭㣔𥒚䕡䔛䶉䱻䵶䗪㿈𤬏㙡䓞䒽䇭崾嵈嵖㷼㠏嶤嶹㠠㠸幂庽弥徃㤈㤔㤿㥍惗愽峥㦉憷憹懏㦸戬抐拥挘㧸嚱"],
		["8da1", "㨃揢揻搇摚㩋擀崕嘡龟㪗斆㪽旿晓㫲暒㬢朖㭂枤栀㭘桊梄㭲㭱㭻椉楃牜楤榟榅㮼槖㯝橥橴橱檂㯬檙㯲檫檵櫔櫶殁毁毪汵沪㳋洂洆洦涁㳯涤涱渕渘温溆𨧀溻滢滚齿滨滩漤漴㵆𣽁澁澾㵪㵵熷岙㶊瀬㶑灐灔灯灿炉𠌥䏁㗱𠻘"],
		["8e40", "𣻗垾𦻓焾𥟠㙎榢𨯩孴穉𥣡𩓙穥穽𥦬窻窰竂竃燑𦒍䇊竚竝竪䇯咲𥰁笋筕笩𥌎𥳾箢筯莜𥮴𦱿篐萡箒箸𥴠㶭𥱥蒒篺簆簵𥳁籄粃𤢂粦晽𤕸糉糇糦籴糳糵糎"],
		["8ea1", "繧䔝𦹄絝𦻖璍綉綫焵綳緒𤁗𦀩緤㴓緵𡟹緥𨍭縝𦄡𦅚繮纒䌫鑬縧罀罁罇礶𦋐駡羗𦍑羣𡙡𠁨䕜𣝦䔃𨌺翺𦒉者耈耝耨耯𪂇𦳃耻耼聡𢜔䦉𦘦𣷣𦛨朥肧𨩈脇脚墰𢛶汿𦒘𤾸擧𡒊舘𡡞橓𤩥𤪕䑺舩𠬍𦩒𣵾俹𡓽蓢荢𦬊𤦧𣔰𡝳𣷸芪椛芳䇛"],
		["8f40", "蕋苐茚𠸖𡞴㛁𣅽𣕚艻苢茘𣺋𦶣𦬅𦮗𣗎㶿茝嗬莅䔋𦶥莬菁菓㑾𦻔橗蕚㒖𦹂𢻯葘𥯤葱㷓䓤檧葊𣲵祘蒨𦮖𦹷𦹃蓞萏莑䒠蒓蓤𥲑䉀𥳀䕃蔴嫲𦺙䔧蕳䔖枿蘖"],
		["8fa1", "𨘥𨘻藁𧂈蘂𡖂𧃍䕫䕪蘨㙈𡢢号𧎚虾蝱𪃸蟮𢰧螱蟚蠏噡虬桖䘏衅衆𧗠𣶹𧗤衞袜䙛袴袵揁装睷𧜏覇覊覦覩覧覼𨨥觧𧤤𧪽誜瞓釾誐𧩙竩𧬺𣾏䜓𧬸煼謌謟𥐰𥕥謿譌譍誩𤩺讐讛誯𡛟䘕衏貛𧵔𧶏貫㜥𧵓賖𧶘𧶽贒贃𡤐賛灜贑𤳉㻐起"],
		["9040", "趩𨀂𡀔𤦊㭼𨆼𧄌竧躭躶軃鋔輙輭𨍥𨐒辥錃𪊟𠩐辳䤪𨧞𨔽𣶻廸𣉢迹𪀔𨚼𨔁𢌥㦀𦻗逷𨔼𧪾遡𨕬𨘋邨𨜓郄𨛦邮都酧㫰醩釄粬𨤳𡺉鈎沟鉁鉢𥖹銹𨫆𣲛𨬌𥗛"],
		["90a1", "𠴱錬鍫𨫡𨯫炏嫃𨫢𨫥䥥鉄𨯬𨰹𨯿鍳鑛躼閅閦鐦閠濶䊹𢙺𨛘𡉼𣸮䧟氜陻隖䅬隣𦻕懚隶磵𨫠隽双䦡𦲸𠉴𦐐𩂯𩃥𤫑𡤕𣌊霱虂霶䨏䔽䖅𤫩灵孁霛靜𩇕靗孊𩇫靟鐥僐𣂷𣂼鞉鞟鞱鞾韀韒韠𥑬韮琜𩐳響韵𩐝𧥺䫑頴頳顋顦㬎𧅵㵑𠘰𤅜"],
		["9140", "𥜆飊颷飈飇䫿𦴧𡛓喰飡飦飬鍸餹𤨩䭲𩡗𩤅駵騌騻騐驘𥜥㛄𩂱𩯕髠髢𩬅髴䰎鬔鬭𨘀倴鬴𦦨㣃𣁽魐魀𩴾婅𡡣鮎𤉋鰂鯿鰌𩹨鷔𩾷𪆒𪆫𪃡𪄣𪇟鵾鶃𪄴鸎梈"],
		["91a1", "鷄𢅛𪆓𪈠𡤻𪈳鴹𪂹𪊴麐麕麞麢䴴麪麯𤍤黁㭠㧥㴝伲㞾𨰫鼂鼈䮖鐤𦶢鼗鼖鼹嚟嚊齅馸𩂋韲葿齢齩竜龎爖䮾𤥵𤦻煷𤧸𤍈𤩑玞𨯚𡣺禟𨥾𨸶鍩鏳𨩄鋬鎁鏋𨥬𤒹爗㻫睲穃烐𤑳𤏸煾𡟯炣𡢾𣖙㻇𡢅𥐯𡟸㜢𡛻𡠹㛡𡝴𡣑𥽋㜣𡛀坛𤨥𡏾𡊨"],
		["9240", "𡏆𡒶蔃𣚦蔃葕𤦔𧅥𣸱𥕜𣻻𧁒䓴𣛮𩦝𦼦柹㜳㰕㷧塬𡤢栐䁗𣜿𤃡𤂋𤄏𦰡哋嚞𦚱嚒𠿟𠮨𠸍鏆𨬓鎜仸儫㠙𤐶亼𠑥𠍿佋侊𥙑婨𠆫𠏋㦙𠌊𠐔㐵伩𠋀𨺳𠉵諚𠈌亘"],
		["92a1", "働儍侢伃𤨎𣺊佂倮偬傁俌俥偘僼兙兛兝兞湶𣖕𣸹𣺿浲𡢄𣺉冨凃𠗠䓝𠒣𠒒𠒑赺𨪜𠜎剙劤𠡳勡鍮䙺熌𤎌𠰠𤦬𡃤槑𠸝瑹㻞璙琔瑖玘䮎𤪼𤂍叐㖄爏𤃉喴𠍅响𠯆圝鉝雴鍦埝垍坿㘾壋媙𨩆𡛺𡝯𡜐娬妸銏婾嫏娒𥥆𡧳𡡡𤊕㛵洅瑃娡𥺃"],
		["9340", "媁𨯗𠐓鏠璌𡌃焅䥲鐈𨧻鎽㞠尞岞幞幈𡦖𡥼𣫮廍孏𡤃𡤄㜁𡢠㛝𡛾㛓脪𨩇𡶺𣑲𨦨弌弎𡤧𡞫婫𡜻孄蘔𧗽衠恾𢡠𢘫忛㺸𢖯𢖾𩂈𦽳懀𠀾𠁆𢘛憙憘恵𢲛𢴇𤛔𩅍"],
		["93a1", "摱𤙥𢭪㨩𢬢𣑐𩣪𢹸挷𪑛撶挱揑𤧣𢵧护𢲡搻敫楲㯴𣂎𣊭𤦉𣊫唍𣋠𡣙𩐿曎𣊉𣆳㫠䆐𥖄𨬢𥖏𡛼𥕛𥐥磮𣄃𡠪𣈴㑤𣈏𣆂𤋉暎𦴤晫䮓昰𧡰𡷫晣𣋒𣋡昞𥡲㣑𣠺𣞼㮙𣞢𣏾瓐㮖枏𤘪梶栞㯄檾㡣𣟕𤒇樳橒櫉欅𡤒攑梘橌㯗橺歗𣿀𣲚鎠鋲𨯪𨫋"],
		["9440", "銉𨀞𨧜鑧涥漋𤧬浧𣽿㶏渄𤀼娽渊塇洤硂焻𤌚𤉶烱牐犇犔𤞏𤜥兹𤪤𠗫瑺𣻸𣙟𤩊𤤗𥿡㼆㺱𤫟𨰣𣼵悧㻳瓌琼鎇琷䒟𦷪䕑疃㽣𤳙𤴆㽘畕癳𪗆㬙瑨𨫌𤦫𤦎㫻"],
		["94a1", "㷍𤩎㻿𤧅𤣳釺圲鍂𨫣𡡤僟𥈡𥇧睸𣈲眎眏睻𤚗𣞁㩞𤣰琸璛㺿𤪺𤫇䃈𤪖𦆮錇𥖁砞碍碈磒珐祙𧝁𥛣䄎禛蒖禥樭𣻺稺秴䅮𡛦䄲鈵秱𠵌𤦌𠊙𣶺𡝮㖗啫㕰㚪𠇔𠰍竢婙𢛵𥪯𥪜娍𠉛磰娪𥯆竾䇹籝籭䈑𥮳𥺼𥺦糍𤧹𡞰粎籼粮檲緜縇緓罎𦉡"],
		["9540", "𦅜𧭈綗𥺂䉪𦭵𠤖柖𠁎𣗏埄𦐒𦏸𤥢翝笧𠠬𥫩𥵃笌𥸎駦虅驣樜𣐿㧢𤧷𦖭騟𦖠蒀𧄧𦳑䓪脷䐂胆脉腂𦞴飃𦩂艢艥𦩑葓𦶧蘐𧈛媆䅿𡡀嬫𡢡嫤𡣘蚠蜨𣶏蠭𧐢娂"],
		["95a1", "衮佅袇袿裦襥襍𥚃襔𧞅𧞄𨯵𨯙𨮜𨧹㺭蒣䛵䛏㟲訽訜𩑈彍鈫𤊄旔焩烄𡡅鵭貟賩𧷜妚矃姰䍮㛔踪躧𤰉輰轊䋴汘澻𢌡䢛潹溋𡟚鯩㚵𤤯邻邗啱䤆醻鐄𨩋䁢𨫼鐧𨰝𨰻蓥訫閙閧閗閖𨴴瑅㻂𤣿𤩂𤏪㻧𣈥随𨻧𨹦𨹥㻌𤧭𤩸𣿮琒瑫㻼靁𩂰"],
		["9640", "桇䨝𩂓𥟟靝鍨𨦉𨰦𨬯𦎾銺嬑譩䤼珹𤈛鞛靱餸𠼦巁𨯅𤪲頟𩓚鋶𩗗釥䓀𨭐𤩧𨭤飜𨩅㼀鈪䤥萔餻饍𧬆㷽馛䭯馪驜𨭥𥣈檏騡嫾騯𩣱䮐𩥈馼䮽䮗鍽塲𡌂堢𤦸"],
		["96a1", "𡓨硄𢜟𣶸棅㵽鑘㤧慐𢞁𢥫愇鱏鱓鱻鰵鰐魿鯏𩸭鮟𪇵𪃾鴡䲮𤄄鸘䲰鴌𪆴𪃭𪃳𩤯鶥蒽𦸒𦿟𦮂藼䔳𦶤𦺄𦷰萠藮𦸀𣟗𦁤秢𣖜𣙀䤭𤧞㵢鏛銾鍈𠊿碹鉷鑍俤㑀遤𥕝砽硔碶硋𡝗𣇉𤥁㚚佲濚濙瀞瀞吔𤆵垻壳垊鴖埗焴㒯𤆬燫𦱀𤾗嬨𡞵𨩉"],
		["9740", "愌嫎娋䊼𤒈㜬䭻𨧼鎻鎸𡣖𠼝葲𦳀𡐓𤋺𢰦𤏁妔𣶷𦝁綨𦅛𦂤𤦹𤦋𨧺鋥珢㻩璴𨭣𡢟㻡𤪳櫘珳珻㻖𤨾𤪔𡟙𤩦𠎧𡐤𤧥瑈𤤖炥𤥶銄珦鍟𠓾錱𨫎𨨖鎆𨯧𥗕䤵𨪂煫"],
		["97a1", "𤥃𠳿嚤𠘚𠯫𠲸唂秄𡟺緾𡛂𤩐𡡒䔮鐁㜊𨫀𤦭妰𡢿𡢃𧒄媡㛢𣵛㚰鉟婹𨪁𡡢鍴㳍𠪴䪖㦊僴㵩㵌𡎜煵䋻𨈘渏𩃤䓫浗𧹏灧沯㳖𣿭𣸭渂漌㵯𠏵畑㚼㓈䚀㻚䡱姄鉮䤾轁𨰜𦯀堒埈㛖𡑒烾𤍢𤩱𢿣𡊰𢎽梹楧𡎘𣓥𧯴𣛟𨪃𣟖𣏺𤲟樚𣚭𦲷萾䓟䓎"],
		["9840", "𦴦𦵑𦲂𦿞漗𧄉茽𡜺菭𦲀𧁓𡟛妉媂𡞳婡婱𡤅𤇼㜭姯𡜼㛇熎鎐暚𤊥婮娫𤊓樫𣻹𧜶𤑛𤋊焝𤉙𨧡侰𦴨峂𤓎𧹍𤎽樌𤉖𡌄炦焳𤏩㶥泟勇𤩏繥姫崯㷳彜𤩝𡟟綤萦"],
		["98a1", "咅𣫺𣌀𠈔坾𠣕𠘙㿥𡾞𪊶瀃𩅛嵰玏糓𨩙𩐠俈翧狍猐𧫴猸猹𥛶獁獈㺩𧬘遬燵𤣲珡臶㻊県㻑沢国琙琞琟㻢㻰㻴㻺瓓㼎㽓畂畭畲疍㽼痈痜㿀癍㿗癴㿜発𤽜熈嘣覀塩䀝睃䀹条䁅㗛瞘䁪䁯属瞾矋売砘点砜䂨砹硇硑硦葈𥔵礳栃礲䄃"],
		["9940", "䄉禑禙辻稆込䅧窑䆲窼艹䇄竏竛䇏両筢筬筻簒簛䉠䉺类粜䊌粸䊔糭输烀𠳏総緔緐緽羮羴犟䎗耠耥笹耮耱联㷌垴炠肷胩䏭脌猪脎脒畠脔䐁㬹腖腙腚"],
		["99a1", "䐓堺腼膄䐥膓䐭膥埯臁臤艔䒏芦艶苊苘苿䒰荗险榊萅烵葤惣蒈䔄蒾蓡蓸蔐蔸蕒䔻蕯蕰藠䕷虲蚒蚲蛯际螋䘆䘗袮裿褤襇覑𧥧訩訸誔誴豑賔賲贜䞘塟跃䟭仮踺嗘坔蹱嗵躰䠷軎転軤軭軲辷迁迊迌逳駄䢭飠鈓䤞鈨鉘鉫銱銮銿"],
		["9a40", "鋣鋫鋳鋴鋽鍃鎄鎭䥅䥑麿鐗匁鐝鐭鐾䥪鑔鑹锭関䦧间阳䧥枠䨤靀䨵鞲韂噔䫤惨颹䬙飱塄餎餙冴餜餷饂饝饢䭰駅䮝騼鬏窃魩鮁鯝鯱鯴䱭鰠㝯𡯂鵉鰺"],
		["9aa1", "黾噐鶓鶽鷀鷼银辶鹻麬麱麽黆铜黢黱黸竈齄𠂔𠊷𠎠椚铃妬𠓗塀铁㞹𠗕𠘕𠙶𡚺块煳𠫂𠫍𠮿呪吆𠯋咞𠯻𠰻𠱓𠱥𠱼惧𠲍噺𠲵𠳝𠳭𠵯𠶲𠷈楕鰯螥𠸄𠸎𠻗𠾐𠼭𠹳尠𠾼帋𡁜𡁏𡁶朞𡁻𡂈𡂖㙇𡂿𡃓𡄯𡄻卤蒭𡋣𡍵𡌶讁𡕷𡘙𡟃𡟇乸炻𡠭𡥪"],
		["9b40", "𡨭𡩅𡰪𡱰𡲬𡻈拃𡻕𡼕熘桕𢁅槩㛈𢉼𢏗𢏺𢜪𢡱𢥏苽𢥧𢦓𢫕覥𢫨辠𢬎鞸𢬿顇骽𢱌"],
		["9b62", "𢲈𢲷𥯨𢴈𢴒𢶷𢶕𢹂𢽴𢿌𣀳𣁦𣌟𣏞徱晈暿𧩹𣕧𣗳爁𤦺矗𣘚𣜖纇𠍆墵朎"],
		["9ba1", "椘𣪧𧙗𥿢𣸑𣺹𧗾𢂚䣐䪸𤄙𨪚𤋮𤌍𤀻𤌴𤎖𤩅𠗊凒𠘑妟𡺨㮾𣳿𤐄𤓖垈𤙴㦛𤜯𨗨𩧉㝢𢇃譞𨭎駖𤠒𤣻𤨕爉𤫀𠱸奥𤺥𤾆𠝹軚𥀬劏圿煱𥊙𥐙𣽊𤪧喼𥑆𥑮𦭒釔㑳𥔿𧘲𥕞䜘𥕢𥕦𥟇𤤿𥡝偦㓻𣏌惞𥤃䝼𨥈𥪮𥮉𥰆𡶐垡煑澶𦄂𧰒遖𦆲𤾚譢𦐂𦑊"],
		["9c40", "嵛𦯷輶𦒄𡤜諪𤧶𦒈𣿯𦔒䯀𦖿𦚵𢜛鑥𥟡憕娧晉侻嚹𤔡𦛼乪𤤴陖涏𦲽㘘襷𦞙𦡮𦐑𦡞營𦣇筂𩃀𠨑𦤦鄄𦤹穅鷰𦧺騦𦨭㙟𦑩𠀡禃𦨴𦭛崬𣔙菏𦮝䛐𦲤画补𦶮墶"],
		["9ca1", "㜜𢖍𧁋𧇍㱔𧊀𧊅銁𢅺𧊋錰𧋦𤧐氹钟𧑐𠻸蠧裵𢤦𨑳𡞱溸𤨪𡠠㦤㚹尐秣䔿暶𩲭𩢤襃𧟌𧡘囖䃟𡘊㦡𣜯𨃨𡏅熭荦𧧝𩆨婧䲷𧂯𨦫𧧽𧨊𧬋𧵦𤅺筃祾𨀉澵𪋟樃𨌘厢𦸇鎿栶靝𨅯𨀣𦦵𡏭𣈯𨁈嶅𨰰𨂃圕頣𨥉嶫𤦈斾槕叒𤪥𣾁㰑朶𨂐𨃴𨄮𡾡𨅏"],
		["9d40", "𨆉𨆯𨈚𨌆𨌯𨎊㗊𨑨𨚪䣺揦𨥖砈鉕𨦸䏲𨧧䏟𨧨𨭆𨯔姸𨰉輋𨿅𩃬筑𩄐𩄼㷷𩅞𤫊运犏嚋𩓧𩗩𩖰𩖸𩜲𩣑𩥉𩥪𩧃𩨨𩬎𩵚𩶛纟𩻸𩼣䲤镇𪊓熢𪋿䶑递𪗋䶜𠲜达嗁"],
		["9da1", "辺𢒰边𤪓䔉繿潖檱仪㓤𨬬𧢝㜺躀𡟵𨀤𨭬𨮙𧨾𦚯㷫𧙕𣲷𥘵𥥖亚𥺁𦉘嚿𠹭踎孭𣺈𤲞揞拐𡟶𡡻攰嘭𥱊吚𥌑㷆𩶘䱽嘢嘞罉𥻘奵𣵀蝰东𠿪𠵉𣚺脗鵞贘瘻鱅癎瞹鍅吲腈苷嘥脲萘肽嗪祢噃吖𠺝㗎嘅嗱曱𨋢㘭甴嗰喺咗啲𠱁𠲖廐𥅈𠹶𢱢"],
		["9e40", "𠺢麫絚嗞𡁵抝靭咔賍燶酶揼掹揾啩𢭃鱲𢺳冚㓟𠶧冧呍唞唓癦踭𦢊疱肶蠄螆裇膶萜𡃁䓬猄𤜆宐茋𦢓噻𢛴𧴯𤆣𧵳𦻐𧊶酰𡇙鈈𣳼𪚩𠺬𠻹牦𡲢䝎𤿂𧿹𠿫䃺"],
		["9ea1", "鱝攟𢶠䣳𤟠𩵼𠿬𠸊恢𧖣𠿭"],
		["9ead", "𦁈𡆇熣纎鵐业丄㕷嬍沲卧㚬㧜卽㚥𤘘墚𤭮舭呋垪𥪕𠥹"],
		["9ec5", "㩒𢑥獴𩺬䴉鯭𣳾𩼰䱛𤾩𩖞𩿞葜𣶶𧊲𦞳𣜠挮紥𣻷𣸬㨪逈勌㹴㙺䗩𠒎癀嫰𠺶硺𧼮墧䂿噼鮋嵴癔𪐴麅䳡痹㟻愙𣃚𤏲"],
		["9ef5", "噝𡊩垧𤥣𩸆刴𧂮㖭汊鵼"],
		["9f40", "籖鬹埞𡝬屓擓𩓐𦌵𧅤蚭𠴨𦴢𤫢𠵱"],
		["9f4f", "凾𡼏嶎霃𡷑麁遌笟鬂峑箣扨挵髿篏鬪籾鬮籂粆鰕篼鬉鼗鰛𤤾齚啳寃俽麘俲剠㸆勑坧偖妷帒韈鶫轜呩鞴饀鞺匬愰"],
		["9fa1", "椬叚鰊鴂䰻陁榀傦畆𡝭駚剳"],
		["9fae", "酙隁酜"],
		["9fb2", "酑𨺗捿𦴣櫊嘑醎畺抅𠏼獏籰𥰡𣳽"],
		["9fc1", "𤤙盖鮝个𠳔莾衂"],
		["9fc9", "届槀僭坺刟巵从氱𠇲伹咜哚劚趂㗾弌㗳"],
		["9fdb", "歒酼龥鮗頮颴骺麨麄煺笔"],
		["9fe7", "毺蠘罸"],
		["9feb", "嘠𪙊蹷齓"],
		["9ff0", "跔蹏鸜踁抂𨍽踨蹵竓𤩷稾磘泪詧瘇"],
		["a040", "𨩚鼦泎蟖痃𪊲硓咢贌狢獱謭猂瓱賫𤪻蘯徺袠䒷"],
		["a055", "𡠻𦸅"],
		["a058", "詾𢔛"],
		["a05b", "惽癧髗鵄鍮鮏蟵"],
		["a063", "蠏賷猬霡鮰㗖犲䰇籑饊𦅙慙䰄麖慽"],
		["a073", "坟慯抦戹拎㩜懢厪𣏵捤栂㗒"],
		["a0a1", "嵗𨯂迚𨸹"],
		["a0a6", "僙𡵆礆匲阸𠼻䁥"],
		["a0ae", "矾"],
		["a0b0", "糂𥼚糚稭聦聣絍甅瓲覔舚朌聢𧒆聛瓰脃眤覉𦟌畓𦻑螩蟎臈螌詉貭譃眫瓸蓚㘵榲趦"],
		["a0d4", "覩瑨涹蟁𤀑瓧㷛煶悤憜㳑煢恷"],
		["a0e2", "罱𨬭牐惩䭾删㰘𣳇𥻗𧙖𥔱𡥄𡋾𩤃𦷜𧂭峁𦆭𨨏𣙷𠃮𦡆𤼎䕢嬟𦍌齐麦𦉫"],
		[
			"a3c0",
			"␀",
			31,
			"␡"
		],
		[
			"c6a1",
			"①",
			9,
			"⑴",
			9,
			"ⅰ",
			9,
			"丶丿亅亠冂冖冫勹匸卩厶夊宀巛⼳广廴彐彡攴无疒癶辵隶¨ˆヽヾゝゞ〃仝々〆〇ー［］✽ぁ",
			23
		],
		[
			"c740",
			"す",
			58,
			"ァアィイ"
		],
		[
			"c7a1",
			"ゥ",
			81,
			"А",
			5,
			"ЁЖ",
			4
		],
		[
			"c840",
			"Л",
			26,
			"ёж",
			25,
			"⇧↸↹㇏𠃌乚𠂊刂䒑"
		],
		["c8a1", "龰冈龱𧘇"],
		["c8cd", "￢￤＇＂㈱№℡゛゜⺀⺄⺆⺇⺈⺊⺌⺍⺕⺜⺝⺥⺧⺪⺬⺮⺶⺼⺾⻆⻊⻌⻍⻏⻖⻗⻞⻣"],
		["c8f5", "ʃɐɛɔɵœøŋʊɪ"],
		["f9fe", "￭"],
		["fa40", "𠕇鋛𠗟𣿅蕌䊵珯况㙉𤥂𨧤鍄𡧛苮𣳈砼杄拟𤤳𨦪𠊠𦮳𡌅侫𢓭倈𦴩𧪄𣘀𤪱𢔓倩𠍾徤𠎀𠍇滛𠐟偽儁㑺儎顬㝃萖𤦤𠒇兠𣎴兪𠯿𢃼𠋥𢔰𠖎𣈳𡦃宂蝽𠖳𣲙冲冸"],
		["faa1", "鴴凉减凑㳜凓𤪦决凢卂凭菍椾𣜭彻刋刦刼劵剗劔効勅簕蕂勠蘍𦬓包𨫞啉滙𣾀𠥔𣿬匳卄𠯢泋𡜦栛珕恊㺪㣌𡛨燝䒢卭却𨚫卾卿𡖖𡘓矦厓𨪛厠厫厮玧𥝲㽙玜叁叅汉义埾叙㪫𠮏叠𣿫𢶣叶𠱷吓灹唫晗浛呭𦭓𠵴啝咏咤䞦𡜍𠻝㶴𠵍"],
		["fb40", "𨦼𢚘啇䳭启琗喆喩嘅𡣗𤀺䕒𤐵暳𡂴嘷曍𣊊暤暭噍噏磱囱鞇叾圀囯园𨭦㘣𡉏坆𤆥汮炋坂㚱𦱾埦𡐖堃𡑔𤍣堦𤯵塜墪㕡壠壜𡈼壻寿坃𪅐𤉸鏓㖡够梦㛃湙"],
		["fba1", "𡘾娤啓𡚒蔅姉𠵎𦲁𦴪𡟜姙𡟻𡞲𦶦浱𡠨𡛕姹𦹅媫婣㛦𤦩婷㜈媖瑥嫓𦾡𢕔㶅𡤑㜲𡚸広勐孶斈孼𧨎䀄䡝𠈄寕慠𡨴𥧌𠖥寳宝䴐尅𡭄尓珎尔𡲥𦬨屉䣝岅峩峯嶋𡷹𡸷崐崘嵆𡺤岺巗苼㠭𤤁𢁉𢅳芇㠶㯂帮檊幵幺𤒼𠳓厦亷廐厨𡝱帉廴𨒂"],
		["fc40", "廹廻㢠廼栾鐛弍𠇁弢㫞䢮𡌺强𦢈𢏐彘𢑱彣鞽𦹮彲鍀𨨶徧嶶㵟𥉐𡽪𧃸𢙨釖𠊞𨨩怱暅𡡷㥣㷇㘹垐𢞴祱㹀悞悤悳𤦂𤦏𧩓璤僡媠慤萤慂慈𦻒憁凴𠙖憇宪𣾷"],
		["fca1", "𢡟懓𨮝𩥝懐㤲𢦀𢣁怣慜攞掋𠄘担𡝰拕𢸍捬𤧟㨗搸揸𡎎𡟼撐澊𢸶頔𤂌𥜝擡擥鑻㩦携㩗敍漖𤨨𤨣斅敭敟𣁾斵𤥀䬷旑䃘𡠩无旣忟𣐀昘𣇷𣇸晄𣆤𣆥晋𠹵晧𥇦晳晴𡸽𣈱𨗴𣇈𥌓矅𢣷馤朂𤎜𤨡㬫槺𣟂杞杧杢𤇍𩃭柗䓩栢湐鈼栁𣏦𦶠桝"],
		["fd40", "𣑯槡樋𨫟楳棃𣗍椁椀㴲㨁𣘼㮀枬楡𨩊䋼椶榘㮡𠏉荣傐槹𣙙𢄪橅𣜃檝㯳枱櫈𩆜㰍欝𠤣惞欵歴𢟍溵𣫛𠎵𡥘㝀吡𣭚毡𣻼毜氷𢒋𤣱𦭑汚舦汹𣶼䓅𣶽𤆤𤤌𤤀"],
		["fda1", "𣳉㛥㳫𠴲鮃𣇹𢒑羏样𦴥𦶡𦷫涖浜湼漄𤥿𤂅𦹲蔳𦽴凇沜渝萮𨬡港𣸯瑓𣾂秌湏媑𣁋濸㜍澝𣸰滺𡒗𤀽䕕鏰潄潜㵎潴𩅰㴻澟𤅄濓𤂑𤅕𤀹𣿰𣾴𤄿凟𤅖𤅗𤅀𦇝灋灾炧炁烌烕烖烟䄄㷨熴熖𤉷焫煅媈煊煮岜𤍥煏鍢𤋁焬𤑚𤨧𤨢熺𨯨炽爎"],
		["fe40", "鑂爕夑鑃爤鍁𥘅爮牀𤥴梽牕牗㹕𣁄栍漽犂猪猫𤠣𨠫䣭𨠄猨献珏玪𠰺𦨮珉瑉𤇢𡛧𤨤昣㛅𤦷𤦍𤧻珷琕椃𤨦琹𠗃㻗瑜𢢭瑠𨺲瑇珤瑶莹瑬㜰瑴鏱樬璂䥓𤪌"],
		["fea1", "𤅟𤩹𨮏孆𨰃𡢞瓈𡦈甎瓩甞𨻙𡩋寗𨺬鎅畍畊畧畮𤾂㼄𤴓疎瑝疞疴瘂瘬癑癏癯癶𦏵皐臯㟸𦤑𦤎皡皥皷盌𦾟葢𥂝𥅽𡸜眞眦着撯𥈠睘𣊬瞯𨥤𨥨𡛁矴砉𡍶𤨒棊碯磇磓隥礮𥗠磗礴碱𧘌辸袄𨬫𦂃𢘜禆褀椂禀𥡗禝𧬹礼禩渪𧄦㺨秆𩄍秔"]
	];
}));

//#endregion
//#region ../node_modules/iconv-lite/encodings/dbcs-data.js
var require_dbcs_data = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = {
		"shiftjis": {
			type: "_dbcs",
			table: function() {
				return require_shiftjis();
			},
			encodeAdd: {
				"¥": 92,
				"‾": 126
			},
			encodeSkipVals: [{
				from: 60736,
				to: 63808
			}]
		},
		"csshiftjis": "shiftjis",
		"mskanji": "shiftjis",
		"sjis": "shiftjis",
		"windows31j": "shiftjis",
		"ms31j": "shiftjis",
		"xsjis": "shiftjis",
		"windows932": "shiftjis",
		"ms932": "shiftjis",
		"932": "shiftjis",
		"cp932": "shiftjis",
		"eucjp": {
			type: "_dbcs",
			table: function() {
				return require_eucjp();
			},
			encodeAdd: {
				"¥": 92,
				"‾": 126
			}
		},
		"gb2312": "cp936",
		"gb231280": "cp936",
		"gb23121980": "cp936",
		"csgb2312": "cp936",
		"csiso58gb231280": "cp936",
		"euccn": "cp936",
		"windows936": "cp936",
		"ms936": "cp936",
		"936": "cp936",
		"cp936": {
			type: "_dbcs",
			table: function() {
				return require_cp936();
			}
		},
		"gbk": {
			type: "_dbcs",
			table: function() {
				return require_cp936().concat(require_gbk_added());
			}
		},
		"xgbk": "gbk",
		"isoir58": "gbk",
		"gb18030": {
			type: "_dbcs",
			table: function() {
				return require_cp936().concat(require_gbk_added());
			},
			gb18030: function() {
				return require_gb18030_ranges();
			},
			encodeSkipVals: [128],
			encodeAdd: { "€": 41699 }
		},
		"chinese": "gb18030",
		"windows949": "cp949",
		"ms949": "cp949",
		"949": "cp949",
		"cp949": {
			type: "_dbcs",
			table: function() {
				return require_cp949();
			}
		},
		"cseuckr": "cp949",
		"csksc56011987": "cp949",
		"euckr": "cp949",
		"isoir149": "cp949",
		"korean": "cp949",
		"ksc56011987": "cp949",
		"ksc56011989": "cp949",
		"ksc5601": "cp949",
		"windows950": "cp950",
		"ms950": "cp950",
		"950": "cp950",
		"cp950": {
			type: "_dbcs",
			table: function() {
				return require_cp950();
			}
		},
		"big5": "big5hkscs",
		"big5hkscs": {
			type: "_dbcs",
			table: function() {
				return require_cp950().concat(require_big5_added());
			},
			encodeSkipVals: [
				36457,
				36463,
				36478,
				36523,
				36532,
				36557,
				36560,
				36695,
				36713,
				36718,
				36811,
				36862,
				36973,
				36986,
				37060,
				37084,
				37105,
				37311,
				37551,
				37552,
				37553,
				37554,
				37585,
				37959,
				38090,
				38361,
				38652,
				39285,
				39798,
				39800,
				39803,
				39878,
				39902,
				39916,
				39926,
				40002,
				40019,
				40034,
				40040,
				40043,
				40055,
				40124,
				40125,
				40144,
				40279,
				40282,
				40388,
				40431,
				40443,
				40617,
				40687,
				40701,
				40800,
				40907,
				41079,
				41180,
				41183,
				36812,
				37576,
				38468,
				38637,
				41636,
				41637,
				41639,
				41638,
				41676,
				41678
			]
		},
		"cnbig5": "big5hkscs",
		"csbig5": "big5hkscs",
		"xxbig5": "big5hkscs"
	};
}));

//#endregion
//#region ../node_modules/iconv-lite/encodings/index.js
var require_encodings = /* @__PURE__ */ __commonJSMin(((exports) => {
	var modules = [
		require_internal(),
		require_utf32(),
		require_utf16(),
		require_utf7(),
		require_sbcs_codec(),
		require_sbcs_data(),
		require_sbcs_data_generated(),
		require_dbcs_codec(),
		require_dbcs_data()
	];
	for (var i = 0; i < modules.length; i++) {
		var module = modules[i];
		for (var enc in module) if (Object.prototype.hasOwnProperty.call(module, enc)) exports[enc] = module[enc];
	}
}));

//#endregion
//#region ../node_modules/iconv-lite/lib/streams.js
var require_streams = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var Buffer = require_safer().Buffer;
	module.exports = function(stream_module) {
		var Transform = stream_module.Transform;
		function IconvLiteEncoderStream(conv, options) {
			this.conv = conv;
			options = options || {};
			options.decodeStrings = false;
			Transform.call(this, options);
		}
		IconvLiteEncoderStream.prototype = Object.create(Transform.prototype, { constructor: { value: IconvLiteEncoderStream } });
		IconvLiteEncoderStream.prototype._transform = function(chunk, encoding, done) {
			if (typeof chunk != "string") return done(new Error("Iconv encoding stream needs strings as its input."));
			try {
				var res = this.conv.write(chunk);
				if (res && res.length) this.push(res);
				done();
			} catch (e) {
				done(e);
			}
		};
		IconvLiteEncoderStream.prototype._flush = function(done) {
			try {
				var res = this.conv.end();
				if (res && res.length) this.push(res);
				done();
			} catch (e) {
				done(e);
			}
		};
		IconvLiteEncoderStream.prototype.collect = function(cb) {
			var chunks = [];
			this.on("error", cb);
			this.on("data", function(chunk) {
				chunks.push(chunk);
			});
			this.on("end", function() {
				cb(null, Buffer.concat(chunks));
			});
			return this;
		};
		function IconvLiteDecoderStream(conv, options) {
			this.conv = conv;
			options = options || {};
			options.encoding = this.encoding = "utf8";
			Transform.call(this, options);
		}
		IconvLiteDecoderStream.prototype = Object.create(Transform.prototype, { constructor: { value: IconvLiteDecoderStream } });
		IconvLiteDecoderStream.prototype._transform = function(chunk, encoding, done) {
			if (!Buffer.isBuffer(chunk) && !(chunk instanceof Uint8Array)) return done(new Error("Iconv decoding stream needs buffers as its input."));
			try {
				var res = this.conv.write(chunk);
				if (res && res.length) this.push(res, this.encoding);
				done();
			} catch (e) {
				done(e);
			}
		};
		IconvLiteDecoderStream.prototype._flush = function(done) {
			try {
				var res = this.conv.end();
				if (res && res.length) this.push(res, this.encoding);
				done();
			} catch (e) {
				done(e);
			}
		};
		IconvLiteDecoderStream.prototype.collect = function(cb) {
			var res = "";
			this.on("error", cb);
			this.on("data", function(chunk) {
				res += chunk;
			});
			this.on("end", function() {
				cb(null, res);
			});
			return this;
		};
		return {
			IconvLiteEncoderStream,
			IconvLiteDecoderStream
		};
	};
}));

//#endregion
//#region ../node_modules/iconv-lite/lib/index.js
var require_lib = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var Buffer = require_safer().Buffer;
	var bomHandling = require_bom_handling(), iconv = module.exports;
	iconv.encodings = null;
	iconv.defaultCharUnicode = "�";
	iconv.defaultCharSingleByte = "?";
	iconv.encode = function encode(str, encoding, options) {
		str = "" + (str || "");
		var encoder = iconv.getEncoder(encoding, options);
		var res = encoder.write(str);
		var trail = encoder.end();
		return trail && trail.length > 0 ? Buffer.concat([res, trail]) : res;
	};
	iconv.decode = function decode(buf, encoding, options) {
		if (typeof buf === "string") {
			if (!iconv.skipDecodeWarning) {
				console.error("Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding");
				iconv.skipDecodeWarning = true;
			}
			buf = Buffer.from("" + (buf || ""), "binary");
		}
		var decoder = iconv.getDecoder(encoding, options);
		var res = decoder.write(buf);
		var trail = decoder.end();
		return trail ? res + trail : res;
	};
	iconv.encodingExists = function encodingExists(enc) {
		try {
			iconv.getCodec(enc);
			return true;
		} catch (e) {
			return false;
		}
	};
	iconv.toEncoding = iconv.encode;
	iconv.fromEncoding = iconv.decode;
	iconv._codecDataCache = {};
	iconv.getCodec = function getCodec(encoding) {
		if (!iconv.encodings) iconv.encodings = require_encodings();
		var enc = iconv._canonicalizeEncoding(encoding);
		var codecOptions = {};
		while (true) {
			var codec = iconv._codecDataCache[enc];
			if (codec) return codec;
			var codecDef = iconv.encodings[enc];
			switch (typeof codecDef) {
				case "string":
					enc = codecDef;
					break;
				case "object":
					for (var key in codecDef) codecOptions[key] = codecDef[key];
					if (!codecOptions.encodingName) codecOptions.encodingName = enc;
					enc = codecDef.type;
					break;
				case "function":
					if (!codecOptions.encodingName) codecOptions.encodingName = enc;
					codec = new codecDef(codecOptions, iconv);
					iconv._codecDataCache[codecOptions.encodingName] = codec;
					return codec;
				default: throw new Error("Encoding not recognized: '" + encoding + "' (searched as: '" + enc + "')");
			}
		}
	};
	iconv._canonicalizeEncoding = function(encoding) {
		return ("" + encoding).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g, "");
	};
	iconv.getEncoder = function getEncoder(encoding, options) {
		var codec = iconv.getCodec(encoding), encoder = new codec.encoder(options, codec);
		if (codec.bomAware && options && options.addBOM) encoder = new bomHandling.PrependBOM(encoder, options);
		return encoder;
	};
	iconv.getDecoder = function getDecoder(encoding, options) {
		var codec = iconv.getCodec(encoding), decoder = new codec.decoder(options, codec);
		if (codec.bomAware && !(options && options.stripBOM === false)) decoder = new bomHandling.StripBOM(decoder, options);
		return decoder;
	};
	iconv.enableStreamingAPI = function enableStreamingAPI(stream_module) {
		if (iconv.supportsStreams) return;
		var streams = require_streams()(stream_module);
		iconv.IconvLiteEncoderStream = streams.IconvLiteEncoderStream;
		iconv.IconvLiteDecoderStream = streams.IconvLiteDecoderStream;
		iconv.encodeStream = function encodeStream(encoding, options) {
			return new iconv.IconvLiteEncoderStream(iconv.getEncoder(encoding, options), options);
		};
		iconv.decodeStream = function decodeStream(encoding, options) {
			return new iconv.IconvLiteDecoderStream(iconv.getDecoder(encoding, options), options);
		};
		iconv.supportsStreams = true;
	};
	var stream_module;
	try {
		stream_module = __require("stream");
	} catch (e) {}
	if (stream_module && stream_module.Transform) {
		iconv.enableStreamingAPI(stream_module);
	} else {
		iconv.encodeStream = iconv.decodeStream = function() {
			throw new Error("iconv-lite Streaming API is not enabled. Use iconv.enableStreamingAPI(require('stream')); to enable it.");
		};
	}
	if ("Ā" != "Ā") {
		console.error("iconv-lite warning: js files use non-utf8 encoding. See https://github.com/ashtuchkin/iconv-lite/wiki/Javascript-source-file-encodings for more info.");
	}
}));

//#endregion
//#region ../node_modules/whatwg-encoding/lib/supported-names.json
var require_supported_names = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = [
		"UTF-8",
		"IBM866",
		"ISO-8859-2",
		"ISO-8859-3",
		"ISO-8859-4",
		"ISO-8859-5",
		"ISO-8859-6",
		"ISO-8859-7",
		"ISO-8859-8",
		"ISO-8859-10",
		"ISO-8859-13",
		"ISO-8859-14",
		"ISO-8859-15",
		"ISO-8859-16",
		"KOI8-R",
		"KOI8-U",
		"macintosh",
		"windows-874",
		"windows-1250",
		"windows-1251",
		"windows-1252",
		"windows-1253",
		"windows-1254",
		"windows-1255",
		"windows-1256",
		"windows-1257",
		"windows-1258",
		"GBK",
		"gb18030",
		"Big5",
		"EUC-JP",
		"Shift_JIS",
		"EUC-KR",
		"UTF-16BE",
		"UTF-16LE",
		"x-user-defined"
	];
}));

//#endregion
//#region ../node_modules/whatwg-encoding/lib/labels-to-names.json
var require_labels_to_names = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = {
		"866": "IBM866",
		"unicode-1-1-utf-8": "UTF-8",
		"unicode11utf8": "UTF-8",
		"unicode20utf8": "UTF-8",
		"utf-8": "UTF-8",
		"utf8": "UTF-8",
		"x-unicode20utf8": "UTF-8",
		"cp866": "IBM866",
		"csibm866": "IBM866",
		"ibm866": "IBM866",
		"csisolatin2": "ISO-8859-2",
		"iso-8859-2": "ISO-8859-2",
		"iso-ir-101": "ISO-8859-2",
		"iso8859-2": "ISO-8859-2",
		"iso88592": "ISO-8859-2",
		"iso_8859-2": "ISO-8859-2",
		"iso_8859-2:1987": "ISO-8859-2",
		"l2": "ISO-8859-2",
		"latin2": "ISO-8859-2",
		"csisolatin3": "ISO-8859-3",
		"iso-8859-3": "ISO-8859-3",
		"iso-ir-109": "ISO-8859-3",
		"iso8859-3": "ISO-8859-3",
		"iso88593": "ISO-8859-3",
		"iso_8859-3": "ISO-8859-3",
		"iso_8859-3:1988": "ISO-8859-3",
		"l3": "ISO-8859-3",
		"latin3": "ISO-8859-3",
		"csisolatin4": "ISO-8859-4",
		"iso-8859-4": "ISO-8859-4",
		"iso-ir-110": "ISO-8859-4",
		"iso8859-4": "ISO-8859-4",
		"iso88594": "ISO-8859-4",
		"iso_8859-4": "ISO-8859-4",
		"iso_8859-4:1988": "ISO-8859-4",
		"l4": "ISO-8859-4",
		"latin4": "ISO-8859-4",
		"csisolatincyrillic": "ISO-8859-5",
		"cyrillic": "ISO-8859-5",
		"iso-8859-5": "ISO-8859-5",
		"iso-ir-144": "ISO-8859-5",
		"iso8859-5": "ISO-8859-5",
		"iso88595": "ISO-8859-5",
		"iso_8859-5": "ISO-8859-5",
		"iso_8859-5:1988": "ISO-8859-5",
		"arabic": "ISO-8859-6",
		"asmo-708": "ISO-8859-6",
		"csiso88596e": "ISO-8859-6",
		"csiso88596i": "ISO-8859-6",
		"csisolatinarabic": "ISO-8859-6",
		"ecma-114": "ISO-8859-6",
		"iso-8859-6": "ISO-8859-6",
		"iso-8859-6-e": "ISO-8859-6",
		"iso-8859-6-i": "ISO-8859-6",
		"iso-ir-127": "ISO-8859-6",
		"iso8859-6": "ISO-8859-6",
		"iso88596": "ISO-8859-6",
		"iso_8859-6": "ISO-8859-6",
		"iso_8859-6:1987": "ISO-8859-6",
		"csisolatingreek": "ISO-8859-7",
		"ecma-118": "ISO-8859-7",
		"elot_928": "ISO-8859-7",
		"greek": "ISO-8859-7",
		"greek8": "ISO-8859-7",
		"iso-8859-7": "ISO-8859-7",
		"iso-ir-126": "ISO-8859-7",
		"iso8859-7": "ISO-8859-7",
		"iso88597": "ISO-8859-7",
		"iso_8859-7": "ISO-8859-7",
		"iso_8859-7:1987": "ISO-8859-7",
		"sun_eu_greek": "ISO-8859-7",
		"csiso88598e": "ISO-8859-8",
		"csisolatinhebrew": "ISO-8859-8",
		"hebrew": "ISO-8859-8",
		"iso-8859-8": "ISO-8859-8",
		"iso-8859-8-e": "ISO-8859-8",
		"iso-ir-138": "ISO-8859-8",
		"iso8859-8": "ISO-8859-8",
		"iso88598": "ISO-8859-8",
		"iso_8859-8": "ISO-8859-8",
		"iso_8859-8:1988": "ISO-8859-8",
		"visual": "ISO-8859-8",
		"csisolatin6": "ISO-8859-10",
		"iso-8859-10": "ISO-8859-10",
		"iso-ir-157": "ISO-8859-10",
		"iso8859-10": "ISO-8859-10",
		"iso885910": "ISO-8859-10",
		"l6": "ISO-8859-10",
		"latin6": "ISO-8859-10",
		"iso-8859-13": "ISO-8859-13",
		"iso8859-13": "ISO-8859-13",
		"iso885913": "ISO-8859-13",
		"iso-8859-14": "ISO-8859-14",
		"iso8859-14": "ISO-8859-14",
		"iso885914": "ISO-8859-14",
		"csisolatin9": "ISO-8859-15",
		"iso-8859-15": "ISO-8859-15",
		"iso8859-15": "ISO-8859-15",
		"iso885915": "ISO-8859-15",
		"iso_8859-15": "ISO-8859-15",
		"l9": "ISO-8859-15",
		"iso-8859-16": "ISO-8859-16",
		"cskoi8r": "KOI8-R",
		"koi": "KOI8-R",
		"koi8": "KOI8-R",
		"koi8-r": "KOI8-R",
		"koi8_r": "KOI8-R",
		"koi8-ru": "KOI8-U",
		"koi8-u": "KOI8-U",
		"csmacintosh": "macintosh",
		"mac": "macintosh",
		"macintosh": "macintosh",
		"x-mac-roman": "macintosh",
		"dos-874": "windows-874",
		"iso-8859-11": "windows-874",
		"iso8859-11": "windows-874",
		"iso885911": "windows-874",
		"tis-620": "windows-874",
		"windows-874": "windows-874",
		"cp1250": "windows-1250",
		"windows-1250": "windows-1250",
		"x-cp1250": "windows-1250",
		"cp1251": "windows-1251",
		"windows-1251": "windows-1251",
		"x-cp1251": "windows-1251",
		"ansi_x3.4-1968": "windows-1252",
		"ascii": "windows-1252",
		"cp1252": "windows-1252",
		"cp819": "windows-1252",
		"csisolatin1": "windows-1252",
		"ibm819": "windows-1252",
		"iso-8859-1": "windows-1252",
		"iso-ir-100": "windows-1252",
		"iso8859-1": "windows-1252",
		"iso88591": "windows-1252",
		"iso_8859-1": "windows-1252",
		"iso_8859-1:1987": "windows-1252",
		"l1": "windows-1252",
		"latin1": "windows-1252",
		"us-ascii": "windows-1252",
		"windows-1252": "windows-1252",
		"x-cp1252": "windows-1252",
		"cp1253": "windows-1253",
		"windows-1253": "windows-1253",
		"x-cp1253": "windows-1253",
		"cp1254": "windows-1254",
		"csisolatin5": "windows-1254",
		"iso-8859-9": "windows-1254",
		"iso-ir-148": "windows-1254",
		"iso8859-9": "windows-1254",
		"iso88599": "windows-1254",
		"iso_8859-9": "windows-1254",
		"iso_8859-9:1989": "windows-1254",
		"l5": "windows-1254",
		"latin5": "windows-1254",
		"windows-1254": "windows-1254",
		"x-cp1254": "windows-1254",
		"cp1255": "windows-1255",
		"windows-1255": "windows-1255",
		"x-cp1255": "windows-1255",
		"cp1256": "windows-1256",
		"windows-1256": "windows-1256",
		"x-cp1256": "windows-1256",
		"cp1257": "windows-1257",
		"windows-1257": "windows-1257",
		"x-cp1257": "windows-1257",
		"cp1258": "windows-1258",
		"windows-1258": "windows-1258",
		"x-cp1258": "windows-1258",
		"chinese": "GBK",
		"csgb2312": "GBK",
		"csiso58gb231280": "GBK",
		"gb2312": "GBK",
		"gb_2312": "GBK",
		"gb_2312-80": "GBK",
		"gbk": "GBK",
		"iso-ir-58": "GBK",
		"x-gbk": "GBK",
		"gb18030": "gb18030",
		"big5": "Big5",
		"big5-hkscs": "Big5",
		"cn-big5": "Big5",
		"csbig5": "Big5",
		"x-x-big5": "Big5",
		"cseucpkdfmtjapanese": "EUC-JP",
		"euc-jp": "EUC-JP",
		"x-euc-jp": "EUC-JP",
		"csshiftjis": "Shift_JIS",
		"ms932": "Shift_JIS",
		"ms_kanji": "Shift_JIS",
		"shift-jis": "Shift_JIS",
		"shift_jis": "Shift_JIS",
		"sjis": "Shift_JIS",
		"windows-31j": "Shift_JIS",
		"x-sjis": "Shift_JIS",
		"cseuckr": "EUC-KR",
		"csksc56011987": "EUC-KR",
		"euc-kr": "EUC-KR",
		"iso-ir-149": "EUC-KR",
		"korean": "EUC-KR",
		"ks_c_5601-1987": "EUC-KR",
		"ks_c_5601-1989": "EUC-KR",
		"ksc5601": "EUC-KR",
		"ksc_5601": "EUC-KR",
		"windows-949": "EUC-KR",
		"unicodefffe": "UTF-16BE",
		"utf-16be": "UTF-16BE",
		"csunicode": "UTF-16LE",
		"iso-10646-ucs-2": "UTF-16LE",
		"ucs-2": "UTF-16LE",
		"unicode": "UTF-16LE",
		"unicodefeff": "UTF-16LE",
		"utf-16": "UTF-16LE",
		"utf-16le": "UTF-16LE",
		"x-user-defined": "x-user-defined"
	};
}));

//#endregion
//#region ../node_modules/whatwg-encoding/lib/whatwg-encoding.js
var require_whatwg_encoding = /* @__PURE__ */ __commonJSMin(((exports) => {
	const iconvLite = require_lib();
	const supportedNames = require_supported_names();
	const labelsToNames = require_labels_to_names();
	const supportedNamesSet = new Set(supportedNames);
	exports.labelToName = (label) => {
		label = String(label).trim().toLowerCase();
		return labelsToNames[label] || null;
	};
	exports.decode = (uint8Array, fallbackEncodingName) => {
		let encoding = fallbackEncodingName;
		if (!exports.isSupported(encoding)) {
			throw new RangeError(`"${encoding}" is not a supported encoding name`);
		}
		const bomEncoding = exports.getBOMEncoding(uint8Array);
		if (bomEncoding !== null) {
			encoding = bomEncoding;
		}
		if (encoding === "x-user-defined") {
			let result = "";
			for (const byte of uint8Array) {
				if (byte <= 127) {
					result += String.fromCodePoint(byte);
				} else {
					result += String.fromCodePoint(63360 + byte - 128);
				}
			}
			return result;
		}
		return iconvLite.decode(uint8Array, encoding);
	};
	exports.getBOMEncoding = (uint8Array) => {
		if (uint8Array[0] === 254 && uint8Array[1] === 255) {
			return "UTF-16BE";
		} else if (uint8Array[0] === 255 && uint8Array[1] === 254) {
			return "UTF-16LE";
		} else if (uint8Array[0] === 239 && uint8Array[1] === 187 && uint8Array[2] === 191) {
			return "UTF-8";
		}
		return null;
	};
	exports.isSupported = (name) => {
		return supportedNamesSet.has(String(name));
	};
}));

//#endregion
//#region ../node_modules/encoding-sniffer/dist/esm/sniffer.js
var import_lib$1 = /* @__PURE__ */ __toESM(require_lib(), 1);
var import_whatwg_encoding = require_whatwg_encoding();
var State;
(function(State) {
	State[State["Begin"] = 0] = "Begin";
	State[State["BOM16BE"] = 1] = "BOM16BE";
	State[State["BOM16LE"] = 2] = "BOM16LE";
	State[State["BOM8"] = 3] = "BOM8";
	State[State["UTF16LE_XML_PREFIX"] = 4] = "UTF16LE_XML_PREFIX";
	State[State["BeginLT"] = 5] = "BeginLT";
	State[State["UTF16BE_XML_PREFIX"] = 6] = "UTF16BE_XML_PREFIX";
	State[State["BeforeTag"] = 7] = "BeforeTag";
	State[State["BeforeTagName"] = 8] = "BeforeTagName";
	State[State["BeforeCloseTagName"] = 9] = "BeforeCloseTagName";
	State[State["CommentStart"] = 10] = "CommentStart";
	State[State["CommentEnd"] = 11] = "CommentEnd";
	State[State["TagNameMeta"] = 12] = "TagNameMeta";
	State[State["TagNameOther"] = 13] = "TagNameOther";
	State[State["XMLDeclaration"] = 14] = "XMLDeclaration";
	State[State["XMLDeclarationBeforeEncoding"] = 15] = "XMLDeclarationBeforeEncoding";
	State[State["XMLDeclarationAfterEncoding"] = 16] = "XMLDeclarationAfterEncoding";
	State[State["XMLDeclarationBeforeValue"] = 17] = "XMLDeclarationBeforeValue";
	State[State["XMLDeclarationValue"] = 18] = "XMLDeclarationValue";
	State[State["WeirdTag"] = 19] = "WeirdTag";
	State[State["BeforeAttribute"] = 20] = "BeforeAttribute";
	State[State["MetaAttribHttpEquiv"] = 21] = "MetaAttribHttpEquiv";
	State[State["MetaAttribHttpEquivValue"] = 22] = "MetaAttribHttpEquivValue";
	State[State["MetaAttribC"] = 23] = "MetaAttribC";
	State[State["MetaAttribContent"] = 24] = "MetaAttribContent";
	State[State["MetaAttribCharset"] = 25] = "MetaAttribCharset";
	State[State["MetaAttribAfterName"] = 26] = "MetaAttribAfterName";
	State[State["MetaContentValueQuotedBeforeEncoding"] = 27] = "MetaContentValueQuotedBeforeEncoding";
	State[State["MetaContentValueQuotedAfterEncoding"] = 28] = "MetaContentValueQuotedAfterEncoding";
	State[State["MetaContentValueQuotedBeforeValue"] = 29] = "MetaContentValueQuotedBeforeValue";
	State[State["MetaContentValueQuotedValueQuoted"] = 30] = "MetaContentValueQuotedValueQuoted";
	State[State["MetaContentValueQuotedValueUnquoted"] = 31] = "MetaContentValueQuotedValueUnquoted";
	State[State["MetaContentValueUnquotedBeforeEncoding"] = 32] = "MetaContentValueUnquotedBeforeEncoding";
	State[State["MetaContentValueUnquotedBeforeValue"] = 33] = "MetaContentValueUnquotedBeforeValue";
	State[State["MetaContentValueUnquotedValueQuoted"] = 34] = "MetaContentValueUnquotedValueQuoted";
	State[State["MetaContentValueUnquotedValueUnquoted"] = 35] = "MetaContentValueUnquotedValueUnquoted";
	State[State["AnyAttribName"] = 36] = "AnyAttribName";
	State[State["AfterAttributeName"] = 37] = "AfterAttributeName";
	State[State["BeforeAttributeValue"] = 38] = "BeforeAttributeValue";
	State[State["AttributeValueQuoted"] = 39] = "AttributeValueQuoted";
	State[State["AttributeValueUnquoted"] = 40] = "AttributeValueUnquoted";
})(State || (State = {}));
var ResultType;
(function(ResultType) {
	ResultType[ResultType["BOM"] = 0] = "BOM";
	ResultType[ResultType["PASSED"] = 1] = "PASSED";
	ResultType[ResultType["XML_PREFIX"] = 2] = "XML_PREFIX";
	ResultType[ResultType["META_TAG"] = 3] = "META_TAG";
	ResultType[ResultType["XML_ENCODING"] = 4] = "XML_ENCODING";
	ResultType[ResultType["DEFAULT"] = 5] = "DEFAULT";
})(ResultType || (ResultType = {}));
var AttribType;
(function(AttribType) {
	AttribType[AttribType["None"] = 0] = "None";
	AttribType[AttribType["HttpEquiv"] = 1] = "HttpEquiv";
	AttribType[AttribType["Content"] = 2] = "Content";
	AttribType[AttribType["Charset"] = 3] = "Charset";
})(AttribType || (AttribType = {}));
var Chars;
(function(Chars) {
	Chars[Chars["NIL"] = 0] = "NIL";
	Chars[Chars["TAB"] = 9] = "TAB";
	Chars[Chars["LF"] = 10] = "LF";
	Chars[Chars["CR"] = 13] = "CR";
	Chars[Chars["SPACE"] = 32] = "SPACE";
	Chars[Chars["EXCLAMATION"] = 33] = "EXCLAMATION";
	Chars[Chars["DQUOTE"] = 34] = "DQUOTE";
	Chars[Chars["SQUOTE"] = 39] = "SQUOTE";
	Chars[Chars["DASH"] = 45] = "DASH";
	Chars[Chars["SLASH"] = 47] = "SLASH";
	Chars[Chars["SEMICOLON"] = 59] = "SEMICOLON";
	Chars[Chars["LT"] = 60] = "LT";
	Chars[Chars["EQUALS"] = 61] = "EQUALS";
	Chars[Chars["GT"] = 62] = "GT";
	Chars[Chars["QUESTION"] = 63] = "QUESTION";
	Chars[Chars["UpperA"] = 65] = "UpperA";
	Chars[Chars["UpperZ"] = 90] = "UpperZ";
	Chars[Chars["LowerA"] = 97] = "LowerA";
	Chars[Chars["LowerZ"] = 122] = "LowerZ";
})(Chars || (Chars = {}));
const SPACE_CHARACTERS = new Set([
	Chars.SPACE,
	Chars.LF,
	Chars.CR,
	Chars.TAB
]);
const END_OF_UNQUOTED_ATTRIBUTE_VALUE = new Set([
	Chars.SPACE,
	Chars.LF,
	Chars.CR,
	Chars.TAB,
	Chars.GT
]);
function toUint8Array(str) {
	const arr = new Uint8Array(str.length);
	for (let i = 0; i < str.length; i++) {
		arr[i] = str.charCodeAt(i);
	}
	return arr;
}
const STRINGS = {
	UTF8_BOM: new Uint8Array([
		239,
		187,
		191
	]),
	UTF16LE_BOM: new Uint8Array([255, 254]),
	UTF16BE_BOM: new Uint8Array([254, 255]),
	UTF16LE_XML_PREFIX: new Uint8Array([
		60,
		0,
		63,
		0,
		120,
		0
	]),
	UTF16BE_XML_PREFIX: new Uint8Array([
		0,
		60,
		0,
		63,
		0,
		120
	]),
	XML_DECLARATION: toUint8Array("<?xml"),
	ENCODING: toUint8Array("encoding"),
	META: toUint8Array("meta"),
	HTTP_EQUIV: toUint8Array("http-equiv"),
	CONTENT: toUint8Array("content"),
	CONTENT_TYPE: toUint8Array("content-type"),
	CHARSET: toUint8Array("charset"),
	COMMENT_START: toUint8Array("<!--"),
	COMMENT_END: toUint8Array("-->")
};
function isAsciiAlpha(c) {
	return c >= Chars.UpperA && c <= Chars.UpperZ || c >= Chars.LowerA && c <= Chars.LowerZ;
}
function isQuote(c) {
	return c === Chars.DQUOTE || c === Chars.SQUOTE;
}
var Sniffer = class {
	setResult(label, type) {
		if (this.resultType === ResultType.DEFAULT || this.resultType > type) {
			const encoding = (0, import_whatwg_encoding.labelToName)(label);
			if (encoding) {
				this.encoding = type === ResultType.META_TAG && encoding === "x-user-defined" ? "windows-1252" : (type === ResultType.META_TAG || type === ResultType.XML_ENCODING) && (encoding === "UTF-16LE" || encoding === "UTF-16BE") ? "UTF-8" : encoding;
				this.resultType = type;
			}
		}
	}
	constructor({ maxBytes = 1024, userEncoding, transportLayerEncodingLabel, defaultEncoding } = {}) {
		/** The offset of the previous buffers. */
		this.offset = 0;
		this.state = State.Begin;
		this.sectionIndex = 0;
		this.attribType = AttribType.None;
		/**
		* Indicates if the `http-equiv` is `content-type`.
		*
		* Initially `null`, a boolean when a value is found.
		*/
		this.gotPragma = null;
		this.needsPragma = null;
		this.inMetaTag = false;
		this.encoding = "windows-1252";
		this.resultType = ResultType.DEFAULT;
		this.quoteCharacter = 0;
		this.attributeValue = [];
		this.maxBytes = maxBytes;
		if (userEncoding) {
			this.setResult(userEncoding, ResultType.PASSED);
		}
		if (transportLayerEncodingLabel) {
			this.setResult(transportLayerEncodingLabel, ResultType.PASSED);
		}
		if (defaultEncoding) {
			this.setResult(defaultEncoding, ResultType.DEFAULT);
		}
	}
	stateBegin(c) {
		switch (c) {
			case STRINGS.UTF16BE_BOM[0]: {
				this.state = State.BOM16BE;
				break;
			}
			case STRINGS.UTF16LE_BOM[0]: {
				this.state = State.BOM16LE;
				break;
			}
			case STRINGS.UTF8_BOM[0]: {
				this.sectionIndex = 1;
				this.state = State.BOM8;
				break;
			}
			case Chars.NIL: {
				this.state = State.UTF16BE_XML_PREFIX;
				this.sectionIndex = 1;
				break;
			}
			case Chars.LT: {
				this.state = State.BeginLT;
				break;
			}
			default: {
				this.state = State.BeforeTag;
			}
		}
	}
	stateBeginLT(c) {
		if (c === Chars.NIL) {
			this.state = State.UTF16LE_XML_PREFIX;
			this.sectionIndex = 2;
		} else if (c === Chars.QUESTION) {
			this.state = State.XMLDeclaration;
			this.sectionIndex = 2;
		} else {
			this.state = State.BeforeTagName;
			this.stateBeforeTagName(c);
		}
	}
	stateUTF16BE_XML_PREFIX(c) {
		if (this.advanceSection(STRINGS.UTF16BE_XML_PREFIX, c)) {
			if (this.sectionIndex === STRINGS.UTF16BE_XML_PREFIX.length) {
				this.setResult("utf-16be", ResultType.XML_PREFIX);
			}
		} else {
			this.state = State.BeforeTag;
			this.stateBeforeTag(c);
		}
	}
	stateUTF16LE_XML_PREFIX(c) {
		if (this.advanceSection(STRINGS.UTF16LE_XML_PREFIX, c)) {
			if (this.sectionIndex === STRINGS.UTF16LE_XML_PREFIX.length) {
				this.setResult("utf-16le", ResultType.XML_PREFIX);
			}
		} else {
			this.state = State.BeforeTag;
			this.stateBeforeTag(c);
		}
	}
	stateBOM16LE(c) {
		if (c === STRINGS.UTF16LE_BOM[1]) {
			this.setResult("utf-16le", ResultType.BOM);
		} else {
			this.state = State.BeforeTag;
			this.stateBeforeTag(c);
		}
	}
	stateBOM16BE(c) {
		if (c === STRINGS.UTF16BE_BOM[1]) {
			this.setResult("utf-16be", ResultType.BOM);
		} else {
			this.state = State.BeforeTag;
			this.stateBeforeTag(c);
		}
	}
	stateBOM8(c) {
		if (this.advanceSection(STRINGS.UTF8_BOM, c) && this.sectionIndex === STRINGS.UTF8_BOM.length) {
			this.setResult("utf-8", ResultType.BOM);
		}
	}
	stateBeforeTag(c) {
		if (c === Chars.LT) {
			this.state = State.BeforeTagName;
			this.inMetaTag = false;
		}
	}
	/**
	* We have seen a `<`, and now have to figure out what to do.
	*
	* Options:
	*  - `<meta`
	*  - Any other tag
	*  - A closing tag
	*  - `<!--`
	*  - An XML declaration
	*
	*/
	stateBeforeTagName(c) {
		if (isAsciiAlpha(c)) {
			if ((c | 32) === STRINGS.META[0]) {
				this.sectionIndex = 1;
				this.state = State.TagNameMeta;
			} else {
				this.state = State.TagNameOther;
			}
		} else switch (c) {
			case Chars.SLASH: {
				this.state = State.BeforeCloseTagName;
				break;
			}
			case Chars.EXCLAMATION: {
				this.state = State.CommentStart;
				this.sectionIndex = 2;
				break;
			}
			case Chars.QUESTION: {
				this.state = State.WeirdTag;
				break;
			}
			default: {
				this.state = State.BeforeTag;
				this.stateBeforeTag(c);
			}
		}
	}
	stateBeforeCloseTagName(c) {
		this.state = isAsciiAlpha(c) ? State.TagNameOther : State.WeirdTag;
	}
	stateCommentStart(c) {
		if (this.advanceSection(STRINGS.COMMENT_START, c)) {
			if (this.sectionIndex === STRINGS.COMMENT_START.length) {
				this.state = State.CommentEnd;
				this.sectionIndex = 2;
			}
		} else {
			this.state = State.WeirdTag;
			this.stateWeirdTag(c);
		}
	}
	stateCommentEnd(c) {
		if (this.advanceSection(STRINGS.COMMENT_END, c)) {
			if (this.sectionIndex === STRINGS.COMMENT_END.length) {
				this.state = State.BeforeTag;
			}
		} else if (c === Chars.DASH) {
			this.sectionIndex = 2;
		}
	}
	/**
	* Any section starting with `<!`, `<?`, `</`, without being a closing tag or comment.
	*/
	stateWeirdTag(c) {
		if (c === Chars.GT) {
			this.state = State.BeforeTag;
		}
	}
	/**
	* Advances the section, ignoring upper/lower case.
	*
	* Make sure the section has left-over characters before calling.
	*
	* @returns `false` if we did not match the section.
	*/
	advanceSectionIC(section, c) {
		return this.advanceSection(section, c | 32);
	}
	/**
	* Advances the section.
	*
	* Make sure the section has left-over characters before calling.
	*
	* @returns `false` if we did not match the section.
	*/
	advanceSection(section, c) {
		if (section[this.sectionIndex] === c) {
			this.sectionIndex++;
			return true;
		}
		this.sectionIndex = 0;
		return false;
	}
	stateTagNameMeta(c) {
		if (this.sectionIndex < STRINGS.META.length) {
			if (this.advanceSectionIC(STRINGS.META, c)) {
				return;
			}
		} else if (SPACE_CHARACTERS.has(c)) {
			this.inMetaTag = true;
			this.gotPragma = null;
			this.needsPragma = null;
			this.state = State.BeforeAttribute;
			return;
		}
		this.state = State.TagNameOther;
		this.stateTagNameOther(c);
	}
	stateTagNameOther(c) {
		if (SPACE_CHARACTERS.has(c)) {
			this.state = State.BeforeAttribute;
		} else if (c === Chars.GT) {
			this.state = State.BeforeTag;
		}
	}
	stateBeforeAttribute(c) {
		if (SPACE_CHARACTERS.has(c)) return;
		if (this.inMetaTag) {
			const lower = c | 32;
			if (lower === STRINGS.HTTP_EQUIV[0]) {
				this.sectionIndex = 1;
				this.state = State.MetaAttribHttpEquiv;
				return;
			} else if (lower === STRINGS.CHARSET[0]) {
				this.sectionIndex = 1;
				this.state = State.MetaAttribC;
				return;
			}
		}
		this.state = c === Chars.SLASH || c === Chars.GT ? State.BeforeTag : State.AnyAttribName;
	}
	handleMetaAttrib(c, section, type) {
		if (this.advanceSectionIC(section, c)) {
			if (this.sectionIndex === section.length) {
				this.attribType = type;
				this.state = State.MetaAttribAfterName;
			}
		} else {
			this.state = State.AnyAttribName;
			this.stateAnyAttribName(c);
		}
	}
	stateMetaAttribHttpEquiv(c) {
		this.handleMetaAttrib(c, STRINGS.HTTP_EQUIV, AttribType.HttpEquiv);
	}
	stateMetaAttribC(c) {
		const lower = c | 32;
		if (lower === STRINGS.CHARSET[1]) {
			this.sectionIndex = 2;
			this.state = State.MetaAttribCharset;
		} else if (lower === STRINGS.CONTENT[1]) {
			this.sectionIndex = 2;
			this.state = State.MetaAttribContent;
		} else {
			this.state = State.AnyAttribName;
			this.stateAnyAttribName(c);
		}
	}
	stateMetaAttribCharset(c) {
		this.handleMetaAttrib(c, STRINGS.CHARSET, AttribType.Charset);
	}
	stateMetaAttribContent(c) {
		this.handleMetaAttrib(c, STRINGS.CONTENT, AttribType.Content);
	}
	stateMetaAttribAfterName(c) {
		if (SPACE_CHARACTERS.has(c) || c === Chars.EQUALS) {
			this.state = State.AfterAttributeName;
			this.stateAfterAttributeName(c);
		} else {
			this.state = State.AnyAttribName;
			this.stateAnyAttribName(c);
		}
	}
	stateAnyAttribName(c) {
		if (SPACE_CHARACTERS.has(c)) {
			this.attribType = AttribType.None;
			this.state = State.AfterAttributeName;
		} else if (c === Chars.SLASH || c === Chars.GT) {
			this.state = State.BeforeTag;
		} else if (c === Chars.EQUALS) {
			this.state = State.BeforeAttributeValue;
		}
	}
	stateAfterAttributeName(c) {
		if (SPACE_CHARACTERS.has(c)) return;
		if (c === Chars.EQUALS) {
			this.state = State.BeforeAttributeValue;
		} else {
			this.state = State.BeforeAttribute;
			this.stateBeforeAttribute(c);
		}
	}
	stateBeforeAttributeValue(c) {
		if (SPACE_CHARACTERS.has(c)) return;
		this.attributeValue.length = 0;
		this.sectionIndex = 0;
		if (isQuote(c)) {
			this.quoteCharacter = c;
			this.state = this.attribType === AttribType.Content ? State.MetaContentValueQuotedBeforeEncoding : this.attribType === AttribType.HttpEquiv ? State.MetaAttribHttpEquivValue : State.AttributeValueQuoted;
		} else if (this.attribType === AttribType.Content) {
			this.state = State.MetaContentValueUnquotedBeforeEncoding;
			this.stateMetaContentValueUnquotedBeforeEncoding(c);
		} else if (this.attribType === AttribType.HttpEquiv) {
			this.quoteCharacter = 0;
			this.sectionIndex = 0;
			this.state = State.MetaAttribHttpEquivValue;
			this.stateMetaAttribHttpEquivValue(c);
		} else {
			this.state = State.AttributeValueUnquoted;
			this.stateAttributeValueUnquoted(c);
		}
	}
	stateMetaAttribHttpEquivValue(c) {
		if (this.sectionIndex === STRINGS.CONTENT_TYPE.length) {
			if (this.quoteCharacter === 0 ? END_OF_UNQUOTED_ATTRIBUTE_VALUE.has(c) : c === this.quoteCharacter) {
				if (this.needsPragma !== null) {
					this.setResult(this.needsPragma, ResultType.META_TAG);
				} else if (this.gotPragma === null) {
					this.gotPragma = true;
				}
				this.state = State.BeforeAttribute;
				return;
			}
		} else if (this.advanceSectionIC(STRINGS.CONTENT_TYPE, c)) {
			return;
		}
		this.gotPragma = false;
		if (this.quoteCharacter === 0) {
			this.state = State.AttributeValueUnquoted;
			this.stateAttributeValueUnquoted(c);
		} else {
			this.state = State.AttributeValueQuoted;
			this.stateAttributeValueQuoted(c);
		}
	}
	handleMetaContentValue() {
		if (this.attributeValue.length === 0) return;
		const encoding = String.fromCharCode(...this.attributeValue);
		if (this.gotPragma) {
			this.setResult(encoding, ResultType.META_TAG);
		} else if (this.needsPragma === null) {
			this.needsPragma = encoding;
		}
		this.attributeValue.length = 0;
	}
	handleAttributeValue() {
		if (this.attribType === AttribType.Charset) {
			this.setResult(String.fromCharCode(...this.attributeValue), ResultType.META_TAG);
		}
	}
	stateAttributeValueUnquoted(c) {
		if (SPACE_CHARACTERS.has(c)) {
			this.handleAttributeValue();
			this.state = State.BeforeAttribute;
		} else if (c === Chars.SLASH || c === Chars.GT) {
			this.handleAttributeValue();
			this.state = State.BeforeTag;
		} else if (this.attribType === AttribType.Charset) {
			this.attributeValue.push(c | (c >= 65 && c <= 90 ? 32 : 0));
		}
	}
	findMetaContentEncoding(c) {
		if (this.advanceSectionIC(STRINGS.CHARSET, c)) {
			if (this.sectionIndex === STRINGS.CHARSET.length) {
				return true;
			}
		} else {
			this.sectionIndex = Number(c === STRINGS.CHARSET[0]);
		}
		return false;
	}
	stateMetaContentValueUnquotedBeforeEncoding(c) {
		if (END_OF_UNQUOTED_ATTRIBUTE_VALUE.has(c)) {
			this.stateAttributeValueUnquoted(c);
		} else if (this.sectionIndex === STRINGS.CHARSET.length) {
			if (c === Chars.EQUALS) {
				this.state = State.MetaContentValueUnquotedBeforeValue;
			}
		} else {
			this.findMetaContentEncoding(c);
		}
	}
	stateMetaContentValueUnquotedBeforeValue(c) {
		if (isQuote(c)) {
			this.quoteCharacter = c;
			this.state = State.MetaContentValueUnquotedValueQuoted;
		} else if (END_OF_UNQUOTED_ATTRIBUTE_VALUE.has(c)) {
			this.stateAttributeValueUnquoted(c);
		} else {
			this.state = State.MetaContentValueUnquotedValueUnquoted;
			this.stateMetaContentValueUnquotedValueUnquoted(c);
		}
	}
	stateMetaContentValueUnquotedValueQuoted(c) {
		if (END_OF_UNQUOTED_ATTRIBUTE_VALUE.has(c)) {
			this.stateAttributeValueUnquoted(c);
		} else if (c === this.quoteCharacter) {
			this.handleMetaContentValue();
			this.state = State.AttributeValueUnquoted;
		} else {
			this.attributeValue.push(c | (c >= 65 && c <= 90 ? 32 : 0));
		}
	}
	stateMetaContentValueUnquotedValueUnquoted(c) {
		if (END_OF_UNQUOTED_ATTRIBUTE_VALUE.has(c) || c === Chars.SEMICOLON) {
			this.handleMetaContentValue();
			this.state = State.AttributeValueUnquoted;
			this.stateAttributeValueUnquoted(c);
		} else {
			this.attributeValue.push(c | (c >= 65 && c <= 90 ? 32 : 0));
		}
	}
	stateMetaContentValueQuotedValueUnquoted(c) {
		if (isQuote(c) || SPACE_CHARACTERS.has(c) || c === Chars.SEMICOLON) {
			this.handleMetaContentValue();
			this.state = State.AttributeValueQuoted;
			this.stateAttributeValueQuoted(c);
		} else {
			this.attributeValue.push(c | (c >= 65 && c <= 90 ? 32 : 0));
		}
	}
	stateMetaContentValueQuotedValueQuoted(c) {
		if (isQuote(c)) {
			if (c !== this.quoteCharacter) {
				this.handleMetaContentValue();
			}
			this.state = State.AttributeValueQuoted;
			this.stateAttributeValueQuoted(c);
		} else {
			this.attributeValue.push(c | (c >= 65 && c <= 90 ? 32 : 0));
		}
	}
	stateMetaContentValueQuotedBeforeEncoding(c) {
		if (c === this.quoteCharacter) {
			this.stateAttributeValueQuoted(c);
		} else if (this.findMetaContentEncoding(c)) {
			this.state = State.MetaContentValueQuotedAfterEncoding;
		}
	}
	stateMetaContentValueQuotedAfterEncoding(c) {
		if (c === Chars.EQUALS) {
			this.state = State.MetaContentValueQuotedBeforeValue;
		} else if (!SPACE_CHARACTERS.has(c)) {
			this.state = State.MetaContentValueQuotedBeforeEncoding;
			this.stateMetaContentValueQuotedBeforeEncoding(c);
		}
	}
	stateMetaContentValueQuotedBeforeValue(c) {
		if (c === this.quoteCharacter) {
			this.stateAttributeValueQuoted(c);
		} else if (isQuote(c)) {
			this.state = State.MetaContentValueQuotedValueQuoted;
		} else if (!SPACE_CHARACTERS.has(c)) {
			this.state = State.MetaContentValueQuotedValueUnquoted;
			this.stateMetaContentValueQuotedValueUnquoted(c);
		}
	}
	stateAttributeValueQuoted(c) {
		if (c === this.quoteCharacter) {
			this.handleAttributeValue();
			this.state = State.BeforeAttribute;
		} else if (this.attribType === AttribType.Charset) {
			this.attributeValue.push(c | (c >= 65 && c <= 90 ? 32 : 0));
		}
	}
	stateXMLDeclaration(c) {
		if (this.advanceSection(STRINGS.XML_DECLARATION, c)) {
			if (this.sectionIndex === STRINGS.XML_DECLARATION.length) {
				this.sectionIndex = 0;
				this.state = State.XMLDeclarationBeforeEncoding;
			}
		} else {
			this.state = State.WeirdTag;
		}
	}
	stateXMLDeclarationBeforeEncoding(c) {
		if (this.advanceSection(STRINGS.ENCODING, c)) {
			if (this.sectionIndex === STRINGS.ENCODING.length) {
				this.state = State.XMLDeclarationAfterEncoding;
			}
		} else if (c === Chars.GT) {
			this.state = State.BeforeTag;
		} else {
			this.sectionIndex = Number(c === STRINGS.ENCODING[0]);
		}
	}
	stateXMLDeclarationAfterEncoding(c) {
		if (c === Chars.EQUALS) {
			this.state = State.XMLDeclarationBeforeValue;
		} else if (c > Chars.SPACE) {
			this.state = State.WeirdTag;
			this.stateWeirdTag(c);
		}
	}
	stateXMLDeclarationBeforeValue(c) {
		if (isQuote(c)) {
			this.attributeValue.length = 0;
			this.state = State.XMLDeclarationValue;
		} else if (c > Chars.SPACE) {
			this.state = State.WeirdTag;
			this.stateWeirdTag(c);
		}
	}
	stateXMLDeclarationValue(c) {
		if (isQuote(c)) {
			this.setResult(String.fromCharCode(...this.attributeValue), ResultType.XML_ENCODING);
			this.state = State.WeirdTag;
		} else if (c === Chars.GT) {
			this.state = State.BeforeTag;
		} else if (c <= Chars.SPACE) {
			this.state = State.WeirdTag;
		} else {
			this.attributeValue.push(c | (c >= 65 && c <= 90 ? 32 : 0));
		}
	}
	write(buffer) {
		let index = 0;
		for (; index < buffer.length && this.offset + index < this.maxBytes; index++) {
			const c = buffer[index];
			switch (this.state) {
				case State.Begin: {
					this.stateBegin(c);
					break;
				}
				case State.BOM16BE: {
					this.stateBOM16BE(c);
					break;
				}
				case State.BOM16LE: {
					this.stateBOM16LE(c);
					break;
				}
				case State.BOM8: {
					this.stateBOM8(c);
					break;
				}
				case State.UTF16LE_XML_PREFIX: {
					this.stateUTF16LE_XML_PREFIX(c);
					break;
				}
				case State.BeginLT: {
					this.stateBeginLT(c);
					break;
				}
				case State.UTF16BE_XML_PREFIX: {
					this.stateUTF16BE_XML_PREFIX(c);
					break;
				}
				case State.BeforeTag: {
					const idx = buffer.indexOf(Chars.LT, index);
					if (idx === -1) {
						index = buffer.length;
					} else {
						index = idx;
						this.stateBeforeTag(Chars.LT);
					}
					break;
				}
				case State.BeforeTagName: {
					this.stateBeforeTagName(c);
					break;
				}
				case State.BeforeCloseTagName: {
					this.stateBeforeCloseTagName(c);
					break;
				}
				case State.CommentStart: {
					this.stateCommentStart(c);
					break;
				}
				case State.CommentEnd: {
					this.stateCommentEnd(c);
					break;
				}
				case State.TagNameMeta: {
					this.stateTagNameMeta(c);
					break;
				}
				case State.TagNameOther: {
					this.stateTagNameOther(c);
					break;
				}
				case State.XMLDeclaration: {
					this.stateXMLDeclaration(c);
					break;
				}
				case State.XMLDeclarationBeforeEncoding: {
					this.stateXMLDeclarationBeforeEncoding(c);
					break;
				}
				case State.XMLDeclarationAfterEncoding: {
					this.stateXMLDeclarationAfterEncoding(c);
					break;
				}
				case State.XMLDeclarationBeforeValue: {
					this.stateXMLDeclarationBeforeValue(c);
					break;
				}
				case State.XMLDeclarationValue: {
					this.stateXMLDeclarationValue(c);
					break;
				}
				case State.WeirdTag: {
					this.stateWeirdTag(c);
					break;
				}
				case State.BeforeAttribute: {
					this.stateBeforeAttribute(c);
					break;
				}
				case State.MetaAttribHttpEquiv: {
					this.stateMetaAttribHttpEquiv(c);
					break;
				}
				case State.MetaAttribHttpEquivValue: {
					this.stateMetaAttribHttpEquivValue(c);
					break;
				}
				case State.MetaAttribC: {
					this.stateMetaAttribC(c);
					break;
				}
				case State.MetaAttribContent: {
					this.stateMetaAttribContent(c);
					break;
				}
				case State.MetaAttribCharset: {
					this.stateMetaAttribCharset(c);
					break;
				}
				case State.MetaAttribAfterName: {
					this.stateMetaAttribAfterName(c);
					break;
				}
				case State.MetaContentValueQuotedBeforeEncoding: {
					this.stateMetaContentValueQuotedBeforeEncoding(c);
					break;
				}
				case State.MetaContentValueQuotedAfterEncoding: {
					this.stateMetaContentValueQuotedAfterEncoding(c);
					break;
				}
				case State.MetaContentValueQuotedBeforeValue: {
					this.stateMetaContentValueQuotedBeforeValue(c);
					break;
				}
				case State.MetaContentValueQuotedValueQuoted: {
					this.stateMetaContentValueQuotedValueQuoted(c);
					break;
				}
				case State.MetaContentValueQuotedValueUnquoted: {
					this.stateMetaContentValueQuotedValueUnquoted(c);
					break;
				}
				case State.MetaContentValueUnquotedBeforeEncoding: {
					this.stateMetaContentValueUnquotedBeforeEncoding(c);
					break;
				}
				case State.MetaContentValueUnquotedBeforeValue: {
					this.stateMetaContentValueUnquotedBeforeValue(c);
					break;
				}
				case State.MetaContentValueUnquotedValueQuoted: {
					this.stateMetaContentValueUnquotedValueQuoted(c);
					break;
				}
				case State.MetaContentValueUnquotedValueUnquoted: {
					this.stateMetaContentValueUnquotedValueUnquoted(c);
					break;
				}
				case State.AnyAttribName: {
					this.stateAnyAttribName(c);
					break;
				}
				case State.AfterAttributeName: {
					this.stateAfterAttributeName(c);
					break;
				}
				case State.BeforeAttributeValue: {
					this.stateBeforeAttributeValue(c);
					break;
				}
				case State.AttributeValueQuoted: {
					this.stateAttributeValueQuoted(c);
					break;
				}
				case State.AttributeValueUnquoted: {
					this.stateAttributeValueUnquoted(c);
					break;
				}
			}
		}
		this.offset += index;
	}
};
/** Get the encoding for the passed buffer. */
function getEncoding(buffer, options) {
	const sniffer = new Sniffer(options);
	sniffer.write(buffer);
	return sniffer.encoding;
}

//#endregion
//#region ../node_modules/encoding-sniffer/dist/esm/index.js
/**
* Sniff the encoding of a buffer, then decode it.
*
* @param buffer Buffer to be decoded
* @param options Options for the sniffer
* @returns The decoded buffer
*/
function decodeBuffer(buffer, options = {}) {
	return import_lib$1.default.decode(buffer, getEncoding(buffer, options));
}
/**
* Decodes a stream of buffers into a stream of strings.
*
* Reads the first 1024 bytes and passes them to the sniffer. Once an encoding
* has been determined, it passes all data to iconv-lite's stream and outputs
* the results.
*/
var DecodeStream = class extends Transform {
	constructor(options) {
		var _a;
		super({
			decodeStrings: false,
			encoding: "utf-8"
		});
		this.buffers = [];
		/** The iconv decode stream. If it is set, we have read more than `options.maxBytes` bytes. */
		this.iconv = null;
		this.readBytes = 0;
		this.sniffer = new Sniffer(options);
		this.maxBytes = (_a = options === null || options === void 0 ? void 0 : options.maxBytes) !== null && _a !== void 0 ? _a : 1024;
	}
	_transform(chunk, _encoding, callback) {
		if (this.readBytes < this.maxBytes) {
			this.sniffer.write(chunk);
			this.readBytes += chunk.length;
			if (this.readBytes < this.maxBytes) {
				this.buffers.push(chunk);
				callback();
				return;
			}
		}
		this.getIconvStream().write(chunk, callback);
	}
	getIconvStream() {
		if (this.iconv) {
			return this.iconv;
		}
		const stream = import_lib$1.default.decodeStream(this.sniffer.encoding);
		stream.on("data", (chunk) => this.push(chunk, "utf-8"));
		stream.on("end", () => this.push(null));
		this.iconv = stream;
		for (const buffer of this.buffers) {
			stream.write(buffer);
		}
		this.buffers.length = 0;
		return stream;
	}
	_flush(callback) {
		this.getIconvStream().end(callback);
	}
};

//#endregion
//#region ../node_modules/undici/lib/core/symbols.js
var require_symbols = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = {
		kClose: Symbol("close"),
		kDestroy: Symbol("destroy"),
		kDispatch: Symbol("dispatch"),
		kUrl: Symbol("url"),
		kWriting: Symbol("writing"),
		kResuming: Symbol("resuming"),
		kQueue: Symbol("queue"),
		kConnect: Symbol("connect"),
		kConnecting: Symbol("connecting"),
		kKeepAliveDefaultTimeout: Symbol("default keep alive timeout"),
		kKeepAliveMaxTimeout: Symbol("max keep alive timeout"),
		kKeepAliveTimeoutThreshold: Symbol("keep alive timeout threshold"),
		kKeepAliveTimeoutValue: Symbol("keep alive timeout"),
		kKeepAlive: Symbol("keep alive"),
		kHeadersTimeout: Symbol("headers timeout"),
		kBodyTimeout: Symbol("body timeout"),
		kServerName: Symbol("server name"),
		kLocalAddress: Symbol("local address"),
		kHost: Symbol("host"),
		kNoRef: Symbol("no ref"),
		kBodyUsed: Symbol("used"),
		kBody: Symbol("abstracted request body"),
		kRunning: Symbol("running"),
		kBlocking: Symbol("blocking"),
		kPending: Symbol("pending"),
		kSize: Symbol("size"),
		kBusy: Symbol("busy"),
		kQueued: Symbol("queued"),
		kFree: Symbol("free"),
		kConnected: Symbol("connected"),
		kClosed: Symbol("closed"),
		kNeedDrain: Symbol("need drain"),
		kReset: Symbol("reset"),
		kDestroyed: Symbol.for("nodejs.stream.destroyed"),
		kResume: Symbol("resume"),
		kOnError: Symbol("on error"),
		kMaxHeadersSize: Symbol("max headers size"),
		kRunningIdx: Symbol("running index"),
		kPendingIdx: Symbol("pending index"),
		kError: Symbol("error"),
		kClients: Symbol("clients"),
		kClient: Symbol("client"),
		kParser: Symbol("parser"),
		kOnDestroyed: Symbol("destroy callbacks"),
		kPipelining: Symbol("pipelining"),
		kSocket: Symbol("socket"),
		kHostHeader: Symbol("host header"),
		kConnector: Symbol("connector"),
		kStrictContentLength: Symbol("strict content length"),
		kMaxRedirections: Symbol("maxRedirections"),
		kMaxRequests: Symbol("maxRequestsPerClient"),
		kProxy: Symbol("proxy agent options"),
		kCounter: Symbol("socket request counter"),
		kMaxResponseSize: Symbol("max response size"),
		kHTTP2Session: Symbol("http2Session"),
		kHTTP2SessionState: Symbol("http2Session state"),
		kRetryHandlerDefaultRetry: Symbol("retry agent default retry"),
		kConstruct: Symbol("constructable"),
		kListeners: Symbol("listeners"),
		kHTTPContext: Symbol("http context"),
		kMaxConcurrentStreams: Symbol("max concurrent streams"),
		kHTTP2InitialWindowSize: Symbol("http2 initial window size"),
		kHTTP2ConnectionWindowSize: Symbol("http2 connection window size"),
		kEnableConnectProtocol: Symbol("http2session connect protocol"),
		kRemoteSettings: Symbol("http2session remote settings"),
		kHTTP2Stream: Symbol("http2session client stream"),
		kPingInterval: Symbol("ping interval"),
		kNoProxyAgent: Symbol("no proxy agent"),
		kHttpProxyAgent: Symbol("http proxy agent"),
		kHttpsProxyAgent: Symbol("https proxy agent")
	};
}));

//#endregion
//#region ../node_modules/undici/lib/util/timers.js
var require_timers = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* This module offers an optimized timer implementation designed for scenarios
	* where high precision is not critical.
	*
	* The timer achieves faster performance by using a low-resolution approach,
	* with an accuracy target of within 500ms. This makes it particularly useful
	* for timers with delays of 1 second or more, where exact timing is less
	* crucial.
	*
	* It's important to note that Node.js timers are inherently imprecise, as
	* delays can occur due to the event loop being blocked by other operations.
	* Consequently, timers may trigger later than their scheduled time.
	*/
	/**
	* The fastNow variable contains the internal fast timer clock value.
	*
	* @type {number}
	*/
	let fastNow = 0;
	/**
	* RESOLUTION_MS represents the target resolution time in milliseconds.
	*
	* @type {number}
	* @default 1000
	*/
	const RESOLUTION_MS = 1e3;
	/**
	* TICK_MS defines the desired interval in milliseconds between each tick.
	* The target value is set to half the resolution time, minus 1 ms, to account
	* for potential event loop overhead.
	*
	* @type {number}
	* @default 499
	*/
	const TICK_MS = (RESOLUTION_MS >> 1) - 1;
	/**
	* fastNowTimeout is a Node.js timer used to manage and process
	* the FastTimers stored in the `fastTimers` array.
	*
	* @type {NodeJS.Timeout}
	*/
	let fastNowTimeout;
	/**
	* The kFastTimer symbol is used to identify FastTimer instances.
	*
	* @type {Symbol}
	*/
	const kFastTimer = Symbol("kFastTimer");
	/**
	* The fastTimers array contains all active FastTimers.
	*
	* @type {FastTimer[]}
	*/
	const fastTimers = [];
	/**
	* These constants represent the various states of a FastTimer.
	*/
	/**
	* The `NOT_IN_LIST` constant indicates that the FastTimer is not included
	* in the `fastTimers` array. Timers with this status will not be processed
	* during the next tick by the `onTick` function.
	*
	* A FastTimer can be re-added to the `fastTimers` array by invoking the
	* `refresh` method on the FastTimer instance.
	*
	* @type {-2}
	*/
	const NOT_IN_LIST = -2;
	/**
	* The `TO_BE_CLEARED` constant indicates that the FastTimer is scheduled
	* for removal from the `fastTimers` array. A FastTimer in this state will
	* be removed in the next tick by the `onTick` function and will no longer
	* be processed.
	*
	* This status is also set when the `clear` method is called on the FastTimer instance.
	*
	* @type {-1}
	*/
	const TO_BE_CLEARED = -1;
	/**
	* The `PENDING` constant signifies that the FastTimer is awaiting processing
	* in the next tick by the `onTick` function. Timers with this status will have
	* their `_idleStart` value set and their status updated to `ACTIVE` in the next tick.
	*
	* @type {0}
	*/
	const PENDING = 0;
	/**
	* The `ACTIVE` constant indicates that the FastTimer is active and waiting
	* for its timer to expire. During the next tick, the `onTick` function will
	* check if the timer has expired, and if so, it will execute the associated callback.
	*
	* @type {1}
	*/
	const ACTIVE = 1;
	/**
	* The onTick function processes the fastTimers array.
	*
	* @returns {void}
	*/
	function onTick() {
		/**
		* Increment the fastNow value by the TICK_MS value, despite the actual time
		* that has passed since the last tick. This approach ensures independence
		* from the system clock and delays caused by a blocked event loop.
		*
		* @type {number}
		*/
		fastNow += TICK_MS;
		/**
		* The `idx` variable is used to iterate over the `fastTimers` array.
		* Expired timers are removed by replacing them with the last element in the array.
		* Consequently, `idx` is only incremented when the current element is not removed.
		*
		* @type {number}
		*/
		let idx = 0;
		/**
		* The len variable will contain the length of the fastTimers array
		* and will be decremented when a FastTimer should be removed from the
		* fastTimers array.
		*
		* @type {number}
		*/
		let len = fastTimers.length;
		while (idx < len) {
			/**
			* @type {FastTimer}
			*/
			const timer = fastTimers[idx];
			if (timer._state === PENDING) {
				timer._idleStart = fastNow - TICK_MS;
				timer._state = ACTIVE;
			} else if (timer._state === ACTIVE && fastNow >= timer._idleStart + timer._idleTimeout) {
				timer._state = TO_BE_CLEARED;
				timer._idleStart = -1;
				timer._onTimeout(timer._timerArg);
			}
			if (timer._state === TO_BE_CLEARED) {
				timer._state = NOT_IN_LIST;
				if (--len !== 0) {
					fastTimers[idx] = fastTimers[len];
				}
			} else {
				++idx;
			}
		}
		fastTimers.length = len;
		if (fastTimers.length !== 0) {
			refreshTimeout();
		}
	}
	function refreshTimeout() {
		if (fastNowTimeout?.refresh) {
			fastNowTimeout.refresh();
		} else {
			clearTimeout(fastNowTimeout);
			fastNowTimeout = setTimeout(onTick, TICK_MS);
			fastNowTimeout?.unref();
		}
	}
	/**
	* The `FastTimer` class is a data structure designed to store and manage
	* timer information.
	*/
	var FastTimer = class {
		[kFastTimer] = true;
		/**
		* The state of the timer, which can be one of the following:
		* - NOT_IN_LIST (-2)
		* - TO_BE_CLEARED (-1)
		* - PENDING (0)
		* - ACTIVE (1)
		*
		* @type {-2|-1|0|1}
		* @private
		*/
		_state = NOT_IN_LIST;
		/**
		* The number of milliseconds to wait before calling the callback.
		*
		* @type {number}
		* @private
		*/
		_idleTimeout = -1;
		/**
		* The time in milliseconds when the timer was started. This value is used to
		* calculate when the timer should expire.
		*
		* @type {number}
		* @default -1
		* @private
		*/
		_idleStart = -1;
		/**
		* The function to be executed when the timer expires.
		* @type {Function}
		* @private
		*/
		_onTimeout;
		/**
		* The argument to be passed to the callback when the timer expires.
		*
		* @type {*}
		* @private
		*/
		_timerArg;
		/**
		* @constructor
		* @param {Function} callback A function to be executed after the timer
		* expires.
		* @param {number} delay The time, in milliseconds that the timer should wait
		* before the specified function or code is executed.
		* @param {*} arg
		*/
		constructor(callback, delay, arg) {
			this._onTimeout = callback;
			this._idleTimeout = delay;
			this._timerArg = arg;
			this.refresh();
		}
		/**
		* Sets the timer's start time to the current time, and reschedules the timer
		* to call its callback at the previously specified duration adjusted to the
		* current time.
		* Using this on a timer that has already called its callback will reactivate
		* the timer.
		*
		* @returns {void}
		*/
		refresh() {
			if (this._state === NOT_IN_LIST) {
				fastTimers.push(this);
			}
			if (!fastNowTimeout || fastTimers.length === 1) {
				refreshTimeout();
			}
			this._state = PENDING;
		}
		/**
		* The `clear` method cancels the timer, preventing it from executing.
		*
		* @returns {void}
		* @private
		*/
		clear() {
			this._state = TO_BE_CLEARED;
			this._idleStart = -1;
		}
	};
	/**
	* This module exports a setTimeout and clearTimeout function that can be
	* used as a drop-in replacement for the native functions.
	*/
	module.exports = {
		setTimeout(callback, delay, arg) {
			return delay <= RESOLUTION_MS ? setTimeout(callback, delay, arg) : new FastTimer(callback, delay, arg);
		},
		clearTimeout(timeout) {
			if (timeout[kFastTimer]) {
				/**
				* @type {FastTimer}
				*/
				timeout.clear();
			} else {
				clearTimeout(timeout);
			}
		},
		setFastTimeout(callback, delay, arg) {
			return new FastTimer(callback, delay, arg);
		},
		clearFastTimeout(timeout) {
			timeout.clear();
		},
		now() {
			return fastNow;
		},
		tick(delay = 0) {
			fastNow += delay - RESOLUTION_MS + 1;
			onTick();
			onTick();
		},
		reset() {
			fastNow = 0;
			fastTimers.length = 0;
			clearTimeout(fastNowTimeout);
			fastNowTimeout = null;
		},
		kFastTimer
	};
}));

//#endregion
//#region ../node_modules/undici/lib/core/errors.js
var require_errors = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const kUndiciError = Symbol.for("undici.error.UND_ERR");
	var UndiciError = class extends Error {
		constructor(message, options) {
			super(message, options);
			this.name = "UndiciError";
			this.code = "UND_ERR";
		}
		static [Symbol.hasInstance](instance) {
			return instance && instance[kUndiciError] === true;
		}
		get [kUndiciError]() {
			return true;
		}
	};
	const kConnectTimeoutError = Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
	var ConnectTimeoutError = class extends UndiciError {
		constructor(message) {
			super(message);
			this.name = "ConnectTimeoutError";
			this.message = message || "Connect Timeout Error";
			this.code = "UND_ERR_CONNECT_TIMEOUT";
		}
		static [Symbol.hasInstance](instance) {
			return instance && instance[kConnectTimeoutError] === true;
		}
		get [kConnectTimeoutError]() {
			return true;
		}
	};
	const kHeadersTimeoutError = Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
	var HeadersTimeoutError = class extends UndiciError {
		constructor(message) {
			super(message);
			this.name = "HeadersTimeoutError";
			this.message = message || "Headers Timeout Error";
			this.code = "UND_ERR_HEADERS_TIMEOUT";
		}
		static [Symbol.hasInstance](instance) {
			return instance && instance[kHeadersTimeoutError] === true;
		}
		get [kHeadersTimeoutError]() {
			return true;
		}
	};
	const kHeadersOverflowError = Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
	var HeadersOverflowError = class extends UndiciError {
		constructor(message) {
			super(message);
			this.name = "HeadersOverflowError";
			this.message = message || "Headers Overflow Error";
			this.code = "UND_ERR_HEADERS_OVERFLOW";
		}
		static [Symbol.hasInstance](instance) {
			return instance && instance[kHeadersOverflowError] === true;
		}
		get [kHeadersOverflowError]() {
			return true;
		}
	};
	const kBodyTimeoutError = Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
	var BodyTimeoutError = class extends UndiciError {
		constructor(message) {
			super(message);
			this.name = "BodyTimeoutError";
			this.message = message || "Body Timeout Error";
			this.code = "UND_ERR_BODY_TIMEOUT";
		}
		static [Symbol.hasInstance](instance) {
			return instance && instance[kBodyTimeoutError] === true;
		}
		get [kBodyTimeoutError]() {
			return true;
		}
	};
	const kInvalidArgumentError = Symbol.for("undici.error.UND_ERR_INVALID_ARG");
	var InvalidArgumentError = class extends UndiciError {
		constructor(message) {
			super(message);
			this.name = "InvalidArgumentError";
			this.message = message || "Invalid Argument Error";
			this.code = "UND_ERR_INVALID_ARG";
		}
		static [Symbol.hasInstance](instance) {
			return instance && instance[kInvalidArgumentError] === true;
		}
		get [kInvalidArgumentError]() {
			return true;
		}
	};
	const kInvalidReturnValueError = Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
	var InvalidReturnValueError = class extends UndiciError {
		constructor(message) {
			super(message);
			this.name = "InvalidReturnValueError";
			this.message = message || "Invalid Return Value Error";
			this.code = "UND_ERR_INVALID_RETURN_VALUE";
		}
		static [Symbol.hasInstance](instance) {
			return instance && instance[kInvalidReturnValueError] === true;
		}
		get [kInvalidReturnValueError]() {
			return true;
		}
	};
	const kAbortError = Symbol.for("undici.error.UND_ERR_ABORT");
	var AbortError = class extends UndiciError {
		constructor(message) {
			super(message);
			this.name = "AbortError";
			this.message = message || "The operation was aborted";
			this.code = "UND_ERR_ABORT";
		}
		static [Symbol.hasInstance](instance) {
			return instance && instance[kAbortError] === true;
		}
		get [kAbortError]() {
			return true;
		}
	};
	const kRequestAbortedError = Symbol.for("undici.error.UND_ERR_ABORTED");
	var RequestAbortedError = class extends AbortError {
		constructor(message) {
			super(message);
			this.name = "AbortError";
			this.message = message || "Request aborted";
			this.code = "UND_ERR_ABORTED";
		}
		static [Symbol.hasInstance](instance) {
			return instance && instance[kRequestAbortedError] === true;
		}
		get [kRequestAbortedError]() {
			return true;
		}
	};
	const kInformationalError = Symbol.for("undici.error.UND_ERR_INFO");
	var InformationalError = class extends UndiciError {
		constructor(message) {
			super(message);
			this.name = "InformationalError";
			this.message = message || "Request information";
			this.code = "UND_ERR_INFO";
		}
		static [Symbol.hasInstance](instance) {
			return instance && instance[kInformationalError] === true;
		}
		get [kInformationalError]() {
			return true;
		}
	};
	const kRequestContentLengthMismatchError = Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
	var RequestContentLengthMismatchError = class extends UndiciError {
		constructor(message) {
			super(message);
			this.name = "RequestContentLengthMismatchError";
			this.message = message || "Request body length does not match content-length header";
			this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
		}
		static [Symbol.hasInstance](instance) {
			return instance && instance[kRequestContentLengthMismatchError] === true;
		}
		get [kRequestContentLengthMismatchError]() {
			return true;
		}
	};
	const kResponseContentLengthMismatchError = Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
	var ResponseContentLengthMismatchError = class extends UndiciError {
		constructor(message) {
			super(message);
			this.name = "ResponseContentLengthMismatchError";
			this.message = message || "Response body length does not match content-length header";
			this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
		}
		static [Symbol.hasInstance](instance) {
			return instance && instance[kResponseContentLengthMismatchError] === true;
		}
		get [kResponseContentLengthMismatchError]() {
			return true;
		}
	};
	const kClientDestroyedError = Symbol.for("undici.error.UND_ERR_DESTROYED");
	var ClientDestroyedError = class extends UndiciError {
		constructor(message) {
			super(message);
			this.name = "ClientDestroyedError";
			this.message = message || "The client is destroyed";
			this.code = "UND_ERR_DESTROYED";
		}
		static [Symbol.hasInstance](instance) {
			return instance && instance[kClientDestroyedError] === true;
		}
		get [kClientDestroyedError]() {
			return true;
		}
	};
	const kClientClosedError = Symbol.for("undici.error.UND_ERR_CLOSED");
	var ClientClosedError = class extends UndiciError {
		constructor(message) {
			super(message);
			this.name = "ClientClosedError";
			this.message = message || "The client is closed";
			this.code = "UND_ERR_CLOSED";
		}
		static [Symbol.hasInstance](instance) {
			return instance && instance[kClientClosedError] === true;
		}
		get [kClientClosedError]() {
			return true;
		}
	};
	const kSocketError = Symbol.for("undici.error.UND_ERR_SOCKET");
	var SocketError = class extends UndiciError {
		constructor(message, socket) {
			super(message);
			this.name = "SocketError";
			this.message = message || "Socket error";
			this.code = "UND_ERR_SOCKET";
			this.socket = socket;
		}
		static [Symbol.hasInstance](instance) {
			return instance && instance[kSocketError] === true;
		}
		get [kSocketError]() {
			return true;
		}
	};
	const kNotSupportedError = Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
	var NotSupportedError = class extends UndiciError {
		constructor(message) {
			super(message);
			this.name = "NotSupportedError";
			this.message = message || "Not supported error";
			this.code = "UND_ERR_NOT_SUPPORTED";
		}
		static [Symbol.hasInstance](instance) {
			return instance && instance[kNotSupportedError] === true;
		}
		get [kNotSupportedError]() {
			return true;
		}
	};
	const kBalancedPoolMissingUpstreamError = Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
	var BalancedPoolMissingUpstreamError = class extends UndiciError {
		constructor(message) {
			super(message);
			this.name = "MissingUpstreamError";
			this.message = message || "No upstream has been added to the BalancedPool";
			this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
		}
		static [Symbol.hasInstance](instance) {
			return instance && instance[kBalancedPoolMissingUpstreamError] === true;
		}
		get [kBalancedPoolMissingUpstreamError]() {
			return true;
		}
	};
	const kHTTPParserError = Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
	var HTTPParserError = class extends Error {
		constructor(message, code, data) {
			super(message);
			this.name = "HTTPParserError";
			this.code = code ? `HPE_${code}` : undefined;
			this.data = data ? data.toString() : undefined;
		}
		static [Symbol.hasInstance](instance) {
			return instance && instance[kHTTPParserError] === true;
		}
		get [kHTTPParserError]() {
			return true;
		}
	};
	const kResponseExceededMaxSizeError = Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
	var ResponseExceededMaxSizeError = class extends UndiciError {
		constructor(message) {
			super(message);
			this.name = "ResponseExceededMaxSizeError";
			this.message = message || "Response content exceeded max size";
			this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
		}
		static [Symbol.hasInstance](instance) {
			return instance && instance[kResponseExceededMaxSizeError] === true;
		}
		get [kResponseExceededMaxSizeError]() {
			return true;
		}
	};
	const kRequestRetryError = Symbol.for("undici.error.UND_ERR_REQ_RETRY");
	var RequestRetryError = class extends UndiciError {
		constructor(message, code, { headers, data }) {
			super(message);
			this.name = "RequestRetryError";
			this.message = message || "Request retry error";
			this.code = "UND_ERR_REQ_RETRY";
			this.statusCode = code;
			this.data = data;
			this.headers = headers;
		}
		static [Symbol.hasInstance](instance) {
			return instance && instance[kRequestRetryError] === true;
		}
		get [kRequestRetryError]() {
			return true;
		}
	};
	const kResponseError = Symbol.for("undici.error.UND_ERR_RESPONSE");
	var ResponseError = class extends UndiciError {
		constructor(message, code, { headers, body }) {
			super(message);
			this.name = "ResponseError";
			this.message = message || "Response error";
			this.code = "UND_ERR_RESPONSE";
			this.statusCode = code;
			this.body = body;
			this.headers = headers;
		}
		static [Symbol.hasInstance](instance) {
			return instance && instance[kResponseError] === true;
		}
		get [kResponseError]() {
			return true;
		}
	};
	const kSecureProxyConnectionError = Symbol.for("undici.error.UND_ERR_PRX_TLS");
	var SecureProxyConnectionError = class extends UndiciError {
		constructor(cause, message, options = {}) {
			super(message, {
				cause,
				...options
			});
			this.name = "SecureProxyConnectionError";
			this.message = message || "Secure Proxy Connection failed";
			this.code = "UND_ERR_PRX_TLS";
			this.cause = cause;
		}
		static [Symbol.hasInstance](instance) {
			return instance && instance[kSecureProxyConnectionError] === true;
		}
		get [kSecureProxyConnectionError]() {
			return true;
		}
	};
	const kMaxOriginsReachedError = Symbol.for("undici.error.UND_ERR_MAX_ORIGINS_REACHED");
	var MaxOriginsReachedError = class extends UndiciError {
		constructor(message) {
			super(message);
			this.name = "MaxOriginsReachedError";
			this.message = message || "Maximum allowed origins reached";
			this.code = "UND_ERR_MAX_ORIGINS_REACHED";
		}
		static [Symbol.hasInstance](instance) {
			return instance && instance[kMaxOriginsReachedError] === true;
		}
		get [kMaxOriginsReachedError]() {
			return true;
		}
	};
	module.exports = {
		AbortError,
		HTTPParserError,
		UndiciError,
		HeadersTimeoutError,
		HeadersOverflowError,
		BodyTimeoutError,
		RequestContentLengthMismatchError,
		ConnectTimeoutError,
		InvalidArgumentError,
		InvalidReturnValueError,
		RequestAbortedError,
		ClientDestroyedError,
		ClientClosedError,
		InformationalError,
		SocketError,
		NotSupportedError,
		ResponseContentLengthMismatchError,
		BalancedPoolMissingUpstreamError,
		ResponseExceededMaxSizeError,
		RequestRetryError,
		ResponseError,
		SecureProxyConnectionError,
		MaxOriginsReachedError
	};
}));

//#endregion
//#region ../node_modules/undici/lib/core/constants.js
var require_constants$4 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* @see https://developer.mozilla.org/docs/Web/HTTP/Headers
	*/
	const wellknownHeaderNames = [
		"Accept",
		"Accept-Encoding",
		"Accept-Language",
		"Accept-Ranges",
		"Access-Control-Allow-Credentials",
		"Access-Control-Allow-Headers",
		"Access-Control-Allow-Methods",
		"Access-Control-Allow-Origin",
		"Access-Control-Expose-Headers",
		"Access-Control-Max-Age",
		"Access-Control-Request-Headers",
		"Access-Control-Request-Method",
		"Age",
		"Allow",
		"Alt-Svc",
		"Alt-Used",
		"Authorization",
		"Cache-Control",
		"Clear-Site-Data",
		"Connection",
		"Content-Disposition",
		"Content-Encoding",
		"Content-Language",
		"Content-Length",
		"Content-Location",
		"Content-Range",
		"Content-Security-Policy",
		"Content-Security-Policy-Report-Only",
		"Content-Type",
		"Cookie",
		"Cross-Origin-Embedder-Policy",
		"Cross-Origin-Opener-Policy",
		"Cross-Origin-Resource-Policy",
		"Date",
		"Device-Memory",
		"Downlink",
		"ECT",
		"ETag",
		"Expect",
		"Expect-CT",
		"Expires",
		"Forwarded",
		"From",
		"Host",
		"If-Match",
		"If-Modified-Since",
		"If-None-Match",
		"If-Range",
		"If-Unmodified-Since",
		"Keep-Alive",
		"Last-Modified",
		"Link",
		"Location",
		"Max-Forwards",
		"Origin",
		"Permissions-Policy",
		"Pragma",
		"Proxy-Authenticate",
		"Proxy-Authorization",
		"RTT",
		"Range",
		"Referer",
		"Referrer-Policy",
		"Refresh",
		"Retry-After",
		"Sec-WebSocket-Accept",
		"Sec-WebSocket-Extensions",
		"Sec-WebSocket-Key",
		"Sec-WebSocket-Protocol",
		"Sec-WebSocket-Version",
		"Server",
		"Server-Timing",
		"Service-Worker-Allowed",
		"Service-Worker-Navigation-Preload",
		"Set-Cookie",
		"SourceMap",
		"Strict-Transport-Security",
		"Supports-Loading-Mode",
		"TE",
		"Timing-Allow-Origin",
		"Trailer",
		"Transfer-Encoding",
		"Upgrade",
		"Upgrade-Insecure-Requests",
		"User-Agent",
		"Vary",
		"Via",
		"WWW-Authenticate",
		"X-Content-Type-Options",
		"X-DNS-Prefetch-Control",
		"X-Frame-Options",
		"X-Permitted-Cross-Domain-Policies",
		"X-Powered-By",
		"X-Requested-With",
		"X-XSS-Protection"
	];
	/** @type {Record<typeof wellknownHeaderNames[number]|Lowercase<typeof wellknownHeaderNames[number]>, string>} */
	const headerNameLowerCasedRecord = {};
	Object.setPrototypeOf(headerNameLowerCasedRecord, null);
	/**
	* @type {Record<Lowercase<typeof wellknownHeaderNames[number]>, Buffer>}
	*/
	const wellknownHeaderNameBuffers = {};
	Object.setPrototypeOf(wellknownHeaderNameBuffers, null);
	/**
	* @param {string} header Lowercased header
	* @returns {Buffer}
	*/
	function getHeaderNameAsBuffer(header) {
		let buffer = wellknownHeaderNameBuffers[header];
		if (buffer === undefined) {
			buffer = Buffer.from(header);
		}
		return buffer;
	}
	for (let i = 0; i < wellknownHeaderNames.length; ++i) {
		const key = wellknownHeaderNames[i];
		const lowerCasedKey = key.toLowerCase();
		headerNameLowerCasedRecord[key] = headerNameLowerCasedRecord[lowerCasedKey] = lowerCasedKey;
	}
	module.exports = {
		wellknownHeaderNames,
		headerNameLowerCasedRecord,
		getHeaderNameAsBuffer
	};
}));

//#endregion
//#region ../node_modules/undici/lib/core/tree.js
var require_tree = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { wellknownHeaderNames, headerNameLowerCasedRecord } = require_constants$4();
	var TstNode = class TstNode {
		/** @type {any} */
		value = null;
		/** @type {null | TstNode} */
		left = null;
		/** @type {null | TstNode} */
		middle = null;
		/** @type {null | TstNode} */
		right = null;
		/** @type {number} */
		code;
		/**
		* @param {string} key
		* @param {any} value
		* @param {number} index
		*/
		constructor(key, value, index) {
			if (index === undefined || index >= key.length) {
				throw new TypeError("Unreachable");
			}
			const code = this.code = key.charCodeAt(index);
			if (code > 127) {
				throw new TypeError("key must be ascii string");
			}
			if (key.length !== ++index) {
				this.middle = new TstNode(key, value, index);
			} else {
				this.value = value;
			}
		}
		/**
		* @param {string} key
		* @param {any} value
		* @returns {void}
		*/
		add(key, value) {
			const length = key.length;
			if (length === 0) {
				throw new TypeError("Unreachable");
			}
			let index = 0;
			/**
			* @type {TstNode}
			*/
			let node = this;
			while (true) {
				const code = key.charCodeAt(index);
				if (code > 127) {
					throw new TypeError("key must be ascii string");
				}
				if (node.code === code) {
					if (length === ++index) {
						node.value = value;
						break;
					} else if (node.middle !== null) {
						node = node.middle;
					} else {
						node.middle = new TstNode(key, value, index);
						break;
					}
				} else if (node.code < code) {
					if (node.left !== null) {
						node = node.left;
					} else {
						node.left = new TstNode(key, value, index);
						break;
					}
				} else if (node.right !== null) {
					node = node.right;
				} else {
					node.right = new TstNode(key, value, index);
					break;
				}
			}
		}
		/**
		* @param {Uint8Array} key
		* @returns {TstNode | null}
		*/
		search(key) {
			const keylength = key.length;
			let index = 0;
			/**
			* @type {TstNode|null}
			*/
			let node = this;
			while (node !== null && index < keylength) {
				let code = key[index];
				if (code <= 90 && code >= 65) {
					code |= 32;
				}
				while (node !== null) {
					if (code === node.code) {
						if (keylength === ++index) {
							return node;
						}
						node = node.middle;
						break;
					}
					node = node.code < code ? node.left : node.right;
				}
			}
			return null;
		}
	};
	var TernarySearchTree = class {
		/** @type {TstNode | null} */
		node = null;
		/**
		* @param {string} key
		* @param {any} value
		* @returns {void}
		* */
		insert(key, value) {
			if (this.node === null) {
				this.node = new TstNode(key, value, 0);
			} else {
				this.node.add(key, value);
			}
		}
		/**
		* @param {Uint8Array} key
		* @returns {any}
		*/
		lookup(key) {
			return this.node?.search(key)?.value ?? null;
		}
	};
	const tree = new TernarySearchTree();
	for (let i = 0; i < wellknownHeaderNames.length; ++i) {
		const key = headerNameLowerCasedRecord[wellknownHeaderNames[i]];
		tree.insert(key, key);
	}
	module.exports = {
		TernarySearchTree,
		tree
	};
}));

//#endregion
//#region ../node_modules/undici/lib/core/util.js
var require_util$5 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const assert$34 = __require("node:assert");
	const { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols();
	const { IncomingMessage } = __require("node:http");
	const stream$1 = __require("node:stream");
	const net$3 = __require("node:net");
	const { stringify: stringify$2 } = __require("node:querystring");
	const { EventEmitter: EE$2 } = __require("node:events");
	const timers = require_timers();
	const { InvalidArgumentError, ConnectTimeoutError } = require_errors();
	const { headerNameLowerCasedRecord } = require_constants$4();
	const { tree } = require_tree();
	const [nodeMajor, nodeMinor] = process.versions.node.split(".", 2).map((v) => Number(v));
	var BodyAsyncIterable = class {
		constructor(body) {
			this[kBody] = body;
			this[kBodyUsed] = false;
		}
		async *[Symbol.asyncIterator]() {
			assert$34(!this[kBodyUsed], "disturbed");
			this[kBodyUsed] = true;
			yield* this[kBody];
		}
	};
	function noop() {}
	/**
	* @param {*} body
	* @returns {*}
	*/
	function wrapRequestBody(body) {
		if (isStream(body)) {
			if (bodyLength(body) === 0) {
				body.on("data", function() {
					assert$34(false);
				});
			}
			if (typeof body.readableDidRead !== "boolean") {
				body[kBodyUsed] = false;
				EE$2.prototype.on.call(body, "data", function() {
					this[kBodyUsed] = true;
				});
			}
			return body;
		} else if (body && typeof body.pipeTo === "function") {
			return new BodyAsyncIterable(body);
		} else if (body && isFormDataLike(body)) {
			return body;
		} else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
			return new BodyAsyncIterable(body);
		} else {
			return body;
		}
	}
	/**
	* @param {*} obj
	* @returns {obj is import('node:stream').Stream}
	*/
	function isStream(obj) {
		return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
	}
	/**
	* @param {*} object
	* @returns {object is Blob}
	* based on https://github.com/node-fetch/fetch-blob/blob/8ab587d34080de94140b54f07168451e7d0b655e/index.js#L229-L241 (MIT License)
	*/
	function isBlobLike(object) {
		if (object === null) {
			return false;
		} else if (object instanceof Blob) {
			return true;
		} else if (typeof object !== "object") {
			return false;
		} else {
			const sTag = object[Symbol.toStringTag];
			return (sTag === "Blob" || sTag === "File") && ("stream" in object && typeof object.stream === "function" || "arrayBuffer" in object && typeof object.arrayBuffer === "function");
		}
	}
	/**
	* @param {string} url The path to check for query strings or fragments.
	* @returns {boolean} Returns true if the path contains a query string or fragment.
	*/
	function pathHasQueryOrFragment(url) {
		return url.includes("?") || url.includes("#");
	}
	/**
	* @param {string} url The URL to add the query params to
	* @param {import('node:querystring').ParsedUrlQueryInput} queryParams The object to serialize into a URL query string
	* @returns {string} The URL with the query params added
	*/
	function serializePathWithQuery(url, queryParams) {
		if (pathHasQueryOrFragment(url)) {
			throw new Error("Query params cannot be passed when url already contains \"?\" or \"#\".");
		}
		const stringified = stringify$2(queryParams);
		if (stringified) {
			url += "?" + stringified;
		}
		return url;
	}
	/**
	* @param {number|string|undefined} port
	* @returns {boolean}
	*/
	function isValidPort(port) {
		const value = parseInt(port, 10);
		return value === Number(port) && value >= 0 && value <= 65535;
	}
	/**
	* Check if the value is a valid http or https prefixed string.
	*
	* @param {string} value
	* @returns {boolean}
	*/
	function isHttpOrHttpsPrefixed(value) {
		return value != null && value[0] === "h" && value[1] === "t" && value[2] === "t" && value[3] === "p" && (value[4] === ":" || value[4] === "s" && value[5] === ":");
	}
	/**
	* @param {string|URL|Record<string,string>} url
	* @returns {URL}
	*/
	function parseURL(url) {
		if (typeof url === "string") {
			/**
			* @type {URL}
			*/
			url = new URL(url);
			if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
				throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
			}
			return url;
		}
		if (!url || typeof url !== "object") {
			throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
		}
		if (!(url instanceof URL)) {
			if (url.port != null && url.port !== "" && isValidPort(url.port) === false) {
				throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
			}
			if (url.path != null && typeof url.path !== "string") {
				throw new InvalidArgumentError("Invalid URL path: the path must be a string or null/undefined.");
			}
			if (url.pathname != null && typeof url.pathname !== "string") {
				throw new InvalidArgumentError("Invalid URL pathname: the pathname must be a string or null/undefined.");
			}
			if (url.hostname != null && typeof url.hostname !== "string") {
				throw new InvalidArgumentError("Invalid URL hostname: the hostname must be a string or null/undefined.");
			}
			if (url.origin != null && typeof url.origin !== "string") {
				throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
			}
			if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
				throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
			}
			const port = url.port != null ? url.port : url.protocol === "https:" ? 443 : 80;
			let origin = url.origin != null ? url.origin : `${url.protocol || ""}//${url.hostname || ""}:${port}`;
			let path = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
			if (origin[origin.length - 1] === "/") {
				origin = origin.slice(0, origin.length - 1);
			}
			if (path && path[0] !== "/") {
				path = `/${path}`;
			}
			return new URL(`${origin}${path}`);
		}
		if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {
			throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
		}
		return url;
	}
	/**
	* @param {string|URL|Record<string, string>} url
	* @returns {URL}
	*/
	function parseOrigin(url) {
		url = parseURL(url);
		if (url.pathname !== "/" || url.search || url.hash) {
			throw new InvalidArgumentError("invalid url");
		}
		return url;
	}
	/**
	* @param {string} host
	* @returns {string}
	*/
	function getHostname(host) {
		if (host[0] === "[") {
			const idx = host.indexOf("]");
			assert$34(idx !== -1);
			return host.substring(1, idx);
		}
		const idx = host.indexOf(":");
		if (idx === -1) return host;
		return host.substring(0, idx);
	}
	/**
	* IP addresses are not valid server names per RFC6066
	* Currently, the only server names supported are DNS hostnames
	* @param {string|null} host
	* @returns {string|null}
	*/
	function getServerName(host) {
		if (!host) {
			return null;
		}
		assert$34(typeof host === "string");
		const servername = getHostname(host);
		if (net$3.isIP(servername)) {
			return "";
		}
		return servername;
	}
	/**
	* @function
	* @template T
	* @param {T} obj
	* @returns {T}
	*/
	function deepClone(obj) {
		return JSON.parse(JSON.stringify(obj));
	}
	/**
	* @param {*} obj
	* @returns {obj is AsyncIterable}
	*/
	function isAsyncIterable(obj) {
		return !!(obj != null && typeof obj[Symbol.asyncIterator] === "function");
	}
	/**
	* @param {*} obj
	* @returns {obj is Iterable}
	*/
	function isIterable(obj) {
		return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function"));
	}
	/**
	* @param {Blob|Buffer|import ('stream').Stream} body
	* @returns {number|null}
	*/
	function bodyLength(body) {
		if (body == null) {
			return 0;
		} else if (isStream(body)) {
			const state = body._readableState;
			return state && state.objectMode === false && state.ended === true && Number.isFinite(state.length) ? state.length : null;
		} else if (isBlobLike(body)) {
			return body.size != null ? body.size : null;
		} else if (isBuffer(body)) {
			return body.byteLength;
		}
		return null;
	}
	/**
	* @param {import ('stream').Stream} body
	* @returns {boolean}
	*/
	function isDestroyed(body) {
		return body && !!(body.destroyed || body[kDestroyed] || stream$1.isDestroyed?.(body));
	}
	/**
	* @param {import ('stream').Stream} stream
	* @param {Error} [err]
	* @returns {void}
	*/
	function destroy(stream, err) {
		if (stream == null || !isStream(stream) || isDestroyed(stream)) {
			return;
		}
		if (typeof stream.destroy === "function") {
			if (Object.getPrototypeOf(stream).constructor === IncomingMessage) {
				stream.socket = null;
			}
			stream.destroy(err);
		} else if (err) {
			queueMicrotask(() => {
				stream.emit("error", err);
			});
		}
		if (stream.destroyed !== true) {
			stream[kDestroyed] = true;
		}
	}
	const KEEPALIVE_TIMEOUT_EXPR = /timeout=(\d+)/;
	/**
	* @param {string} val
	* @returns {number | null}
	*/
	function parseKeepAliveTimeout(val) {
		const m = val.match(KEEPALIVE_TIMEOUT_EXPR);
		return m ? parseInt(m[1], 10) * 1e3 : null;
	}
	/**
	* Retrieves a header name and returns its lowercase value.
	* @param {string | Buffer} value Header name
	* @returns {string}
	*/
	function headerNameToString(value) {
		return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
	}
	/**
	* Receive the buffer as a string and return its lowercase value.
	* @param {Buffer} value Header name
	* @returns {string}
	*/
	function bufferToLowerCasedHeaderName(value) {
		return tree.lookup(value) ?? value.toString("latin1").toLowerCase();
	}
	/**
	* @param {(Buffer | string)[]} headers
	* @param {Record<string, string | string[]>} [obj]
	* @returns {Record<string, string | string[]>}
	*/
	function parseHeaders(headers, obj) {
		if (obj === undefined) obj = {};
		for (let i = 0; i < headers.length; i += 2) {
			const key = headerNameToString(headers[i]);
			let val = obj[key];
			if (val) {
				if (typeof val === "string") {
					val = [val];
					obj[key] = val;
				}
				val.push(headers[i + 1].toString("latin1"));
			} else {
				const headersValue = headers[i + 1];
				if (typeof headersValue === "string") {
					obj[key] = headersValue;
				} else {
					obj[key] = Array.isArray(headersValue) ? headersValue.map((x) => x.toString("latin1")) : headersValue.toString("latin1");
				}
			}
		}
		return obj;
	}
	/**
	* @param {Buffer[]} headers
	* @returns {string[]}
	*/
	function parseRawHeaders(headers) {
		const headersLength = headers.length;
		/**
		* @type {string[]}
		*/
		const ret = new Array(headersLength);
		let key;
		let val;
		for (let n = 0; n < headersLength; n += 2) {
			key = headers[n];
			val = headers[n + 1];
			typeof key !== "string" && (key = key.toString());
			typeof val !== "string" && (val = val.toString("latin1"));
			ret[n] = key;
			ret[n + 1] = val;
		}
		return ret;
	}
	/**
	* @param {string[]} headers
	* @param {Buffer[]} headers
	*/
	function encodeRawHeaders(headers) {
		if (!Array.isArray(headers)) {
			throw new TypeError("expected headers to be an array");
		}
		return headers.map((x) => Buffer.from(x));
	}
	/**
	* @param {*} buffer
	* @returns {buffer is Buffer}
	*/
	function isBuffer(buffer) {
		return buffer instanceof Uint8Array || Buffer.isBuffer(buffer);
	}
	/**
	* Asserts that the handler object is a request handler.
	*
	* @param {object} handler
	* @param {string} method
	* @param {string} [upgrade]
	* @returns {asserts handler is import('../api/api-request').RequestHandler}
	*/
	function assertRequestHandler(handler, method, upgrade) {
		if (!handler || typeof handler !== "object") {
			throw new InvalidArgumentError("handler must be an object");
		}
		if (typeof handler.onRequestStart === "function") {
			return;
		}
		if (typeof handler.onConnect !== "function") {
			throw new InvalidArgumentError("invalid onConnect method");
		}
		if (typeof handler.onError !== "function") {
			throw new InvalidArgumentError("invalid onError method");
		}
		if (typeof handler.onBodySent !== "function" && handler.onBodySent !== undefined) {
			throw new InvalidArgumentError("invalid onBodySent method");
		}
		if (upgrade || method === "CONNECT") {
			if (typeof handler.onUpgrade !== "function") {
				throw new InvalidArgumentError("invalid onUpgrade method");
			}
		} else {
			if (typeof handler.onHeaders !== "function") {
				throw new InvalidArgumentError("invalid onHeaders method");
			}
			if (typeof handler.onData !== "function") {
				throw new InvalidArgumentError("invalid onData method");
			}
			if (typeof handler.onComplete !== "function") {
				throw new InvalidArgumentError("invalid onComplete method");
			}
		}
	}
	/**
	* A body is disturbed if it has been read from and it cannot be re-used without
	* losing state or data.
	* @param {import('node:stream').Readable} body
	* @returns {boolean}
	*/
	function isDisturbed(body) {
		return !!(body && (stream$1.isDisturbed(body) || body[kBodyUsed]));
	}
	/**
	* @typedef {object} SocketInfo
	* @property {string} [localAddress]
	* @property {number} [localPort]
	* @property {string} [remoteAddress]
	* @property {number} [remotePort]
	* @property {string} [remoteFamily]
	* @property {number} [timeout]
	* @property {number} bytesWritten
	* @property {number} bytesRead
	*/
	/**
	* @param {import('net').Socket} socket
	* @returns {SocketInfo}
	*/
	function getSocketInfo(socket) {
		return {
			localAddress: socket.localAddress,
			localPort: socket.localPort,
			remoteAddress: socket.remoteAddress,
			remotePort: socket.remotePort,
			remoteFamily: socket.remoteFamily,
			timeout: socket.timeout,
			bytesWritten: socket.bytesWritten,
			bytesRead: socket.bytesRead
		};
	}
	/**
	* @param {Iterable} iterable
	* @returns {ReadableStream}
	*/
	function ReadableStreamFrom(iterable) {
		let iterator;
		return new ReadableStream({
			start() {
				iterator = iterable[Symbol.asyncIterator]();
			},
			pull(controller) {
				return iterator.next().then(({ done, value }) => {
					if (done) {
						return queueMicrotask(() => {
							controller.close();
							controller.byobRequest?.respond(0);
						});
					} else {
						const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
						if (buf.byteLength) {
							return controller.enqueue(new Uint8Array(buf));
						} else {
							return this.pull(controller);
						}
					}
				});
			},
			cancel() {
				return iterator.return();
			},
			type: "bytes"
		});
	}
	/**
	* The object should be a FormData instance and contains all the required
	* methods.
	* @param {*} object
	* @returns {object is FormData}
	*/
	function isFormDataLike(object) {
		return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData";
	}
	function addAbortListener(signal, listener) {
		if ("addEventListener" in signal) {
			signal.addEventListener("abort", listener, { once: true });
			return () => signal.removeEventListener("abort", listener);
		}
		signal.once("abort", listener);
		return () => signal.removeListener("abort", listener);
	}
	const validTokenChars = new Uint8Array([
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		1,
		0,
		1,
		1,
		1,
		1,
		1,
		0,
		0,
		1,
		1,
		0,
		1,
		1,
		0,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		0,
		0,
		0,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		1,
		0,
		1,
		0,
		1,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0,
		0
	]);
	/**
	* @see https://tools.ietf.org/html/rfc7230#section-3.2.6
	* @param {number} c
	* @returns {boolean}
	*/
	function isTokenCharCode(c) {
		return validTokenChars[c] === 1;
	}
	const tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
	/**
	* @param {string} characters
	* @returns {boolean}
	*/
	function isValidHTTPToken(characters) {
		if (characters.length >= 12) return tokenRegExp.test(characters);
		if (characters.length === 0) return false;
		for (let i = 0; i < characters.length; i++) {
			if (validTokenChars[characters.charCodeAt(i)] !== 1) {
				return false;
			}
		}
		return true;
	}
	/**
	* Matches if val contains an invalid field-vchar
	*  field-value    = *( field-content / obs-fold )
	*  field-content  = field-vchar [ 1*( SP / HTAB ) field-vchar ]
	*  field-vchar    = VCHAR / obs-text
	*/
	const headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
	/**
	* @param {string} characters
	* @returns {boolean}
	*/
	function isValidHeaderValue(characters) {
		return !headerCharRegex.test(characters);
	}
	const rangeHeaderRegex = /^bytes (\d+)-(\d+)\/(\d+)?$/;
	/**
	* @typedef {object} RangeHeader
	* @property {number} start
	* @property {number | null} end
	* @property {number | null} size
	*/
	/**
	* Parse accordingly to RFC 9110
	* @see https://www.rfc-editor.org/rfc/rfc9110#field.content-range
	* @param {string} [range]
	* @returns {RangeHeader|null}
	*/
	function parseRangeHeader(range) {
		if (range == null || range === "") return {
			start: 0,
			end: null,
			size: null
		};
		const m = range ? range.match(rangeHeaderRegex) : null;
		return m ? {
			start: parseInt(m[1]),
			end: m[2] ? parseInt(m[2]) : null,
			size: m[3] ? parseInt(m[3]) : null
		} : null;
	}
	/**
	* @template {import("events").EventEmitter} T
	* @param {T} obj
	* @param {string} name
	* @param {(...args: any[]) => void} listener
	* @returns {T}
	*/
	function addListener(obj, name, listener) {
		const listeners = obj[kListeners] ??= [];
		listeners.push([name, listener]);
		obj.on(name, listener);
		return obj;
	}
	/**
	* @template {import("events").EventEmitter} T
	* @param {T} obj
	* @returns {T}
	*/
	function removeAllListeners(obj) {
		if (obj[kListeners] != null) {
			for (const [name, listener] of obj[kListeners]) {
				obj.removeListener(name, listener);
			}
			obj[kListeners] = null;
		}
		return obj;
	}
	/**
	* @param {import ('../dispatcher/client')} client
	* @param {import ('../core/request')} request
	* @param {Error} err
	*/
	function errorRequest(client, request, err) {
		try {
			request.onError(err);
			assert$34(request.aborted);
		} catch (err) {
			client.emit("error", err);
		}
	}
	/**
	* @param {WeakRef<net.Socket>} socketWeakRef
	* @param {object} opts
	* @param {number} opts.timeout
	* @param {string} opts.hostname
	* @param {number} opts.port
	* @returns {() => void}
	*/
	const setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts) => {
		if (!opts.timeout) {
			return noop;
		}
		let s1 = null;
		let s2 = null;
		const fastTimer = timers.setFastTimeout(() => {
			s1 = setImmediate(() => {
				s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts));
			});
		}, opts.timeout);
		return () => {
			timers.clearFastTimeout(fastTimer);
			clearImmediate(s1);
			clearImmediate(s2);
		};
	} : (socketWeakRef, opts) => {
		if (!opts.timeout) {
			return noop;
		}
		let s1 = null;
		const fastTimer = timers.setFastTimeout(() => {
			s1 = setImmediate(() => {
				onConnectTimeout(socketWeakRef.deref(), opts);
			});
		}, opts.timeout);
		return () => {
			timers.clearFastTimeout(fastTimer);
			clearImmediate(s1);
		};
	};
	/**
	* @param {net.Socket} socket
	* @param {object} opts
	* @param {number} opts.timeout
	* @param {string} opts.hostname
	* @param {number} opts.port
	*/
	function onConnectTimeout(socket, opts) {
		if (socket == null) {
			return;
		}
		let message = "Connect Timeout Error";
		if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
			message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`;
		} else {
			message += ` (attempted address: ${opts.hostname}:${opts.port},`;
		}
		message += ` timeout: ${opts.timeout}ms)`;
		destroy(socket, new ConnectTimeoutError(message));
	}
	/**
	* @param {string} urlString
	* @returns {string}
	*/
	function getProtocolFromUrlString(urlString) {
		if (urlString[0] === "h" && urlString[1] === "t" && urlString[2] === "t" && urlString[3] === "p") {
			switch (urlString[4]) {
				case ":": return "http:";
				case "s": if (urlString[5] === ":") {
					return "https:";
				}
			}
		}
		return urlString.slice(0, urlString.indexOf(":") + 1);
	}
	const kEnumerableProperty = Object.create(null);
	kEnumerableProperty.enumerable = true;
	const normalizedMethodRecordsBase = {
		delete: "DELETE",
		DELETE: "DELETE",
		get: "GET",
		GET: "GET",
		head: "HEAD",
		HEAD: "HEAD",
		options: "OPTIONS",
		OPTIONS: "OPTIONS",
		post: "POST",
		POST: "POST",
		put: "PUT",
		PUT: "PUT"
	};
	const normalizedMethodRecords = {
		...normalizedMethodRecordsBase,
		patch: "patch",
		PATCH: "PATCH"
	};
	Object.setPrototypeOf(normalizedMethodRecordsBase, null);
	Object.setPrototypeOf(normalizedMethodRecords, null);
	module.exports = {
		kEnumerableProperty,
		isDisturbed,
		isBlobLike,
		parseOrigin,
		parseURL,
		getServerName,
		isStream,
		isIterable,
		isAsyncIterable,
		isDestroyed,
		headerNameToString,
		bufferToLowerCasedHeaderName,
		addListener,
		removeAllListeners,
		errorRequest,
		parseRawHeaders,
		encodeRawHeaders,
		parseHeaders,
		parseKeepAliveTimeout,
		destroy,
		bodyLength,
		deepClone,
		ReadableStreamFrom,
		isBuffer,
		assertRequestHandler,
		getSocketInfo,
		isFormDataLike,
		pathHasQueryOrFragment,
		serializePathWithQuery,
		addAbortListener,
		isValidHTTPToken,
		isValidHeaderValue,
		isTokenCharCode,
		parseRangeHeader,
		normalizedMethodRecordsBase,
		normalizedMethodRecords,
		isValidPort,
		isHttpOrHttpsPrefixed,
		nodeMajor,
		nodeMinor,
		safeHTTPMethods: Object.freeze([
			"GET",
			"HEAD",
			"OPTIONS",
			"TRACE"
		]),
		wrapRequestBody,
		setupConnectTimeout,
		getProtocolFromUrlString
	};
}));

//#endregion
//#region ../node_modules/undici/lib/util/stats.js
var require_stats = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { kConnected, kPending, kRunning, kSize, kFree, kQueued } = require_symbols();
	var ClientStats = class {
		constructor(client) {
			this.connected = client[kConnected];
			this.pending = client[kPending];
			this.running = client[kRunning];
			this.size = client[kSize];
		}
	};
	var PoolStats = class {
		constructor(pool) {
			this.connected = pool[kConnected];
			this.free = pool[kFree];
			this.pending = pool[kPending];
			this.queued = pool[kQueued];
			this.running = pool[kRunning];
			this.size = pool[kSize];
		}
	};
	module.exports = {
		ClientStats,
		PoolStats
	};
}));

//#endregion
//#region ../node_modules/undici/lib/core/diagnostics.js
var require_diagnostics = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const diagnosticsChannel$2 = __require("node:diagnostics_channel");
	const util$6 = __require("node:util");
	const undiciDebugLog = util$6.debuglog("undici");
	const fetchDebuglog = util$6.debuglog("fetch");
	const websocketDebuglog = util$6.debuglog("websocket");
	const channels = {
		beforeConnect: diagnosticsChannel$2.channel("undici:client:beforeConnect"),
		connected: diagnosticsChannel$2.channel("undici:client:connected"),
		connectError: diagnosticsChannel$2.channel("undici:client:connectError"),
		sendHeaders: diagnosticsChannel$2.channel("undici:client:sendHeaders"),
		create: diagnosticsChannel$2.channel("undici:request:create"),
		bodySent: diagnosticsChannel$2.channel("undici:request:bodySent"),
		bodyChunkSent: diagnosticsChannel$2.channel("undici:request:bodyChunkSent"),
		bodyChunkReceived: diagnosticsChannel$2.channel("undici:request:bodyChunkReceived"),
		headers: diagnosticsChannel$2.channel("undici:request:headers"),
		trailers: diagnosticsChannel$2.channel("undici:request:trailers"),
		error: diagnosticsChannel$2.channel("undici:request:error"),
		open: diagnosticsChannel$2.channel("undici:websocket:open"),
		close: diagnosticsChannel$2.channel("undici:websocket:close"),
		socketError: diagnosticsChannel$2.channel("undici:websocket:socket_error"),
		ping: diagnosticsChannel$2.channel("undici:websocket:ping"),
		pong: diagnosticsChannel$2.channel("undici:websocket:pong"),
		proxyConnected: diagnosticsChannel$2.channel("undici:proxy:connected")
	};
	let isTrackingClientEvents = false;
	function trackClientEvents(debugLog = undiciDebugLog) {
		if (isTrackingClientEvents) {
			return;
		}
		if (channels.beforeConnect.hasSubscribers || channels.connected.hasSubscribers || channels.connectError.hasSubscribers || channels.sendHeaders.hasSubscribers) {
			isTrackingClientEvents = true;
			return;
		}
		isTrackingClientEvents = true;
		diagnosticsChannel$2.subscribe("undici:client:beforeConnect", (evt) => {
			const { connectParams: { version, protocol, port, host } } = evt;
			debugLog("connecting to %s%s using %s%s", host, port ? `:${port}` : "", protocol, version);
		});
		diagnosticsChannel$2.subscribe("undici:client:connected", (evt) => {
			const { connectParams: { version, protocol, port, host } } = evt;
			debugLog("connected to %s%s using %s%s", host, port ? `:${port}` : "", protocol, version);
		});
		diagnosticsChannel$2.subscribe("undici:client:connectError", (evt) => {
			const { connectParams: { version, protocol, port, host }, error } = evt;
			debugLog("connection to %s%s using %s%s errored - %s", host, port ? `:${port}` : "", protocol, version, error.message);
		});
		diagnosticsChannel$2.subscribe("undici:client:sendHeaders", (evt) => {
			const { request: { method, path, origin } } = evt;
			debugLog("sending request to %s %s%s", method, origin, path);
		});
	}
	let isTrackingRequestEvents = false;
	function trackRequestEvents(debugLog = undiciDebugLog) {
		if (isTrackingRequestEvents) {
			return;
		}
		if (channels.headers.hasSubscribers || channels.trailers.hasSubscribers || channels.error.hasSubscribers) {
			isTrackingRequestEvents = true;
			return;
		}
		isTrackingRequestEvents = true;
		diagnosticsChannel$2.subscribe("undici:request:headers", (evt) => {
			const { request: { method, path, origin }, response: { statusCode } } = evt;
			debugLog("received response to %s %s%s - HTTP %d", method, origin, path, statusCode);
		});
		diagnosticsChannel$2.subscribe("undici:request:trailers", (evt) => {
			const { request: { method, path, origin } } = evt;
			debugLog("trailers received from %s %s%s", method, origin, path);
		});
		diagnosticsChannel$2.subscribe("undici:request:error", (evt) => {
			const { request: { method, path, origin }, error } = evt;
			debugLog("request to %s %s%s errored - %s", method, origin, path, error.message);
		});
	}
	let isTrackingWebSocketEvents = false;
	function trackWebSocketEvents(debugLog = websocketDebuglog) {
		if (isTrackingWebSocketEvents) {
			return;
		}
		if (channels.open.hasSubscribers || channels.close.hasSubscribers || channels.socketError.hasSubscribers || channels.ping.hasSubscribers || channels.pong.hasSubscribers) {
			isTrackingWebSocketEvents = true;
			return;
		}
		isTrackingWebSocketEvents = true;
		diagnosticsChannel$2.subscribe("undici:websocket:open", (evt) => {
			const { address: { address, port } } = evt;
			debugLog("connection opened %s%s", address, port ? `:${port}` : "");
		});
		diagnosticsChannel$2.subscribe("undici:websocket:close", (evt) => {
			const { websocket, code, reason } = evt;
			debugLog("closed connection to %s - %s %s", websocket.url, code, reason);
		});
		diagnosticsChannel$2.subscribe("undici:websocket:socket_error", (err) => {
			debugLog("connection errored - %s", err.message);
		});
		diagnosticsChannel$2.subscribe("undici:websocket:ping", (evt) => {
			debugLog("ping received");
		});
		diagnosticsChannel$2.subscribe("undici:websocket:pong", (evt) => {
			debugLog("pong received");
		});
	}
	if (undiciDebugLog.enabled || fetchDebuglog.enabled) {
		trackClientEvents(fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog);
		trackRequestEvents(fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog);
	}
	if (websocketDebuglog.enabled) {
		trackClientEvents(undiciDebugLog.enabled ? undiciDebugLog : websocketDebuglog);
		trackWebSocketEvents(websocketDebuglog);
	}
	module.exports = { channels };
}));

//#endregion
//#region ../node_modules/undici/lib/core/request.js
var require_request$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { InvalidArgumentError, NotSupportedError } = require_errors();
	const assert$33 = __require("node:assert");
	const { isValidHTTPToken, isValidHeaderValue, isStream, destroy, isBuffer, isFormDataLike, isIterable, isBlobLike, serializePathWithQuery, assertRequestHandler, getServerName, normalizedMethodRecords, getProtocolFromUrlString } = require_util$5();
	const { channels } = require_diagnostics();
	const { headerNameLowerCasedRecord } = require_constants$4();
	const invalidPathRegex = /[^\u0021-\u00ff]/;
	const kHandler = Symbol("handler");
	var Request = class {
		constructor(origin, { path, method, body, headers, query, idempotent, blocking, upgrade, headersTimeout, bodyTimeout, reset, expectContinue, servername, throwOnError, maxRedirections }, handler) {
			if (typeof path !== "string") {
				throw new InvalidArgumentError("path must be a string");
			} else if (path[0] !== "/" && !(path.startsWith("http://") || path.startsWith("https://")) && method !== "CONNECT") {
				throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
			} else if (invalidPathRegex.test(path)) {
				throw new InvalidArgumentError("invalid request path");
			}
			if (typeof method !== "string") {
				throw new InvalidArgumentError("method must be a string");
			} else if (normalizedMethodRecords[method] === undefined && !isValidHTTPToken(method)) {
				throw new InvalidArgumentError("invalid request method");
			}
			if (upgrade && typeof upgrade !== "string") {
				throw new InvalidArgumentError("upgrade must be a string");
			}
			if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
				throw new InvalidArgumentError("invalid headersTimeout");
			}
			if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
				throw new InvalidArgumentError("invalid bodyTimeout");
			}
			if (reset != null && typeof reset !== "boolean") {
				throw new InvalidArgumentError("invalid reset");
			}
			if (expectContinue != null && typeof expectContinue !== "boolean") {
				throw new InvalidArgumentError("invalid expectContinue");
			}
			if (throwOnError != null) {
				throw new InvalidArgumentError("invalid throwOnError");
			}
			if (maxRedirections != null && maxRedirections !== 0) {
				throw new InvalidArgumentError("maxRedirections is not supported, use the redirect interceptor");
			}
			this.headersTimeout = headersTimeout;
			this.bodyTimeout = bodyTimeout;
			this.method = method;
			this.abort = null;
			if (body == null) {
				this.body = null;
			} else if (isStream(body)) {
				this.body = body;
				const rState = this.body._readableState;
				if (!rState || !rState.autoDestroy) {
					this.endHandler = function autoDestroy() {
						destroy(this);
					};
					this.body.on("end", this.endHandler);
				}
				this.errorHandler = (err) => {
					if (this.abort) {
						this.abort(err);
					} else {
						this.error = err;
					}
				};
				this.body.on("error", this.errorHandler);
			} else if (isBuffer(body)) {
				this.body = body.byteLength ? body : null;
			} else if (ArrayBuffer.isView(body)) {
				this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
			} else if (body instanceof ArrayBuffer) {
				this.body = body.byteLength ? Buffer.from(body) : null;
			} else if (typeof body === "string") {
				this.body = body.length ? Buffer.from(body) : null;
			} else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {
				this.body = body;
			} else {
				throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
			}
			this.completed = false;
			this.aborted = false;
			this.upgrade = upgrade || null;
			this.path = query ? serializePathWithQuery(path, query) : path;
			this.origin = origin;
			this.protocol = getProtocolFromUrlString(origin);
			this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
			this.blocking = blocking ?? this.method !== "HEAD";
			this.reset = reset == null ? null : reset;
			this.host = null;
			this.contentLength = null;
			this.contentType = null;
			this.headers = [];
			this.expectContinue = expectContinue != null ? expectContinue : false;
			if (Array.isArray(headers)) {
				if (headers.length % 2 !== 0) {
					throw new InvalidArgumentError("headers array must be even");
				}
				for (let i = 0; i < headers.length; i += 2) {
					processHeader(this, headers[i], headers[i + 1]);
				}
			} else if (headers && typeof headers === "object") {
				if (headers[Symbol.iterator]) {
					for (const header of headers) {
						if (!Array.isArray(header) || header.length !== 2) {
							throw new InvalidArgumentError("headers must be in key-value pair format");
						}
						processHeader(this, header[0], header[1]);
					}
				} else {
					const keys = Object.keys(headers);
					for (let i = 0; i < keys.length; ++i) {
						processHeader(this, keys[i], headers[keys[i]]);
					}
				}
			} else if (headers != null) {
				throw new InvalidArgumentError("headers must be an object or an array");
			}
			assertRequestHandler(handler, method, upgrade);
			this.servername = servername || getServerName(this.host) || null;
			this[kHandler] = handler;
			if (channels.create.hasSubscribers) {
				channels.create.publish({ request: this });
			}
		}
		onBodySent(chunk) {
			if (channels.bodyChunkSent.hasSubscribers) {
				channels.bodyChunkSent.publish({
					request: this,
					chunk
				});
			}
			if (this[kHandler].onBodySent) {
				try {
					return this[kHandler].onBodySent(chunk);
				} catch (err) {
					this.abort(err);
				}
			}
		}
		onRequestSent() {
			if (channels.bodySent.hasSubscribers) {
				channels.bodySent.publish({ request: this });
			}
			if (this[kHandler].onRequestSent) {
				try {
					return this[kHandler].onRequestSent();
				} catch (err) {
					this.abort(err);
				}
			}
		}
		onConnect(abort) {
			assert$33(!this.aborted);
			assert$33(!this.completed);
			if (this.error) {
				abort(this.error);
			} else {
				this.abort = abort;
				return this[kHandler].onConnect(abort);
			}
		}
		onResponseStarted() {
			return this[kHandler].onResponseStarted?.();
		}
		onHeaders(statusCode, headers, resume, statusText) {
			assert$33(!this.aborted);
			assert$33(!this.completed);
			if (channels.headers.hasSubscribers) {
				channels.headers.publish({
					request: this,
					response: {
						statusCode,
						headers,
						statusText
					}
				});
			}
			try {
				return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
			} catch (err) {
				this.abort(err);
			}
		}
		onData(chunk) {
			assert$33(!this.aborted);
			assert$33(!this.completed);
			if (channels.bodyChunkReceived.hasSubscribers) {
				channels.bodyChunkReceived.publish({
					request: this,
					chunk
				});
			}
			try {
				return this[kHandler].onData(chunk);
			} catch (err) {
				this.abort(err);
				return false;
			}
		}
		onUpgrade(statusCode, headers, socket) {
			assert$33(!this.aborted);
			assert$33(!this.completed);
			return this[kHandler].onUpgrade(statusCode, headers, socket);
		}
		onComplete(trailers) {
			this.onFinally();
			assert$33(!this.aborted);
			assert$33(!this.completed);
			this.completed = true;
			if (channels.trailers.hasSubscribers) {
				channels.trailers.publish({
					request: this,
					trailers
				});
			}
			try {
				return this[kHandler].onComplete(trailers);
			} catch (err) {
				this.onError(err);
			}
		}
		onError(error) {
			this.onFinally();
			if (channels.error.hasSubscribers) {
				channels.error.publish({
					request: this,
					error
				});
			}
			if (this.aborted) {
				return;
			}
			this.aborted = true;
			return this[kHandler].onError(error);
		}
		onFinally() {
			if (this.errorHandler) {
				this.body.off("error", this.errorHandler);
				this.errorHandler = null;
			}
			if (this.endHandler) {
				this.body.off("end", this.endHandler);
				this.endHandler = null;
			}
		}
		addHeader(key, value) {
			processHeader(this, key, value);
			return this;
		}
	};
	function processHeader(request, key, val) {
		if (val && typeof val === "object" && !Array.isArray(val)) {
			throw new InvalidArgumentError(`invalid ${key} header`);
		} else if (val === undefined) {
			return;
		}
		let headerName = headerNameLowerCasedRecord[key];
		if (headerName === undefined) {
			headerName = key.toLowerCase();
			if (headerNameLowerCasedRecord[headerName] === undefined && !isValidHTTPToken(headerName)) {
				throw new InvalidArgumentError("invalid header key");
			}
		}
		if (Array.isArray(val)) {
			const arr = [];
			for (let i = 0; i < val.length; i++) {
				if (typeof val[i] === "string") {
					if (!isValidHeaderValue(val[i])) {
						throw new InvalidArgumentError(`invalid ${key} header`);
					}
					arr.push(val[i]);
				} else if (val[i] === null) {
					arr.push("");
				} else if (typeof val[i] === "object") {
					throw new InvalidArgumentError(`invalid ${key} header`);
				} else {
					arr.push(`${val[i]}`);
				}
			}
			val = arr;
		} else if (typeof val === "string") {
			if (!isValidHeaderValue(val)) {
				throw new InvalidArgumentError(`invalid ${key} header`);
			}
		} else if (val === null) {
			val = "";
		} else {
			val = `${val}`;
		}
		if (request.host === null && headerName === "host") {
			if (typeof val !== "string") {
				throw new InvalidArgumentError("invalid host header");
			}
			request.host = val;
		} else if (request.contentLength === null && headerName === "content-length") {
			request.contentLength = parseInt(val, 10);
			if (!Number.isFinite(request.contentLength)) {
				throw new InvalidArgumentError("invalid content-length header");
			}
		} else if (request.contentType === null && headerName === "content-type") {
			request.contentType = val;
			request.headers.push(key, val);
		} else if (headerName === "transfer-encoding" || headerName === "keep-alive" || headerName === "upgrade") {
			throw new InvalidArgumentError(`invalid ${headerName} header`);
		} else if (headerName === "connection") {
			const value = typeof val === "string" ? val.toLowerCase() : null;
			if (value !== "close" && value !== "keep-alive") {
				throw new InvalidArgumentError("invalid connection header");
			}
			if (value === "close") {
				request.reset = true;
			}
		} else if (headerName === "expect") {
			throw new NotSupportedError("expect header not supported");
		} else {
			request.headers.push(key, val);
		}
	}
	module.exports = Request;
}));

//#endregion
//#region ../node_modules/undici/lib/handler/wrap-handler.js
var require_wrap_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { InvalidArgumentError } = require_errors();
	module.exports = class WrapHandler {
		#handler;
		constructor(handler) {
			this.#handler = handler;
		}
		static wrap(handler) {
			return handler.onRequestStart ? handler : new WrapHandler(handler);
		}
		onConnect(abort, context) {
			return this.#handler.onConnect?.(abort, context);
		}
		onHeaders(statusCode, rawHeaders, resume, statusMessage) {
			return this.#handler.onHeaders?.(statusCode, rawHeaders, resume, statusMessage);
		}
		onUpgrade(statusCode, rawHeaders, socket) {
			return this.#handler.onUpgrade?.(statusCode, rawHeaders, socket);
		}
		onData(data) {
			return this.#handler.onData?.(data);
		}
		onComplete(trailers) {
			return this.#handler.onComplete?.(trailers);
		}
		onError(err) {
			if (!this.#handler.onError) {
				throw err;
			}
			return this.#handler.onError?.(err);
		}
		onRequestStart(controller, context) {
			this.#handler.onConnect?.((reason) => controller.abort(reason), context);
		}
		onRequestUpgrade(controller, statusCode, headers, socket) {
			const rawHeaders = [];
			for (const [key, val] of Object.entries(headers)) {
				rawHeaders.push(Buffer.from(key), Array.isArray(val) ? val.map((v) => Buffer.from(v)) : Buffer.from(val));
			}
			this.#handler.onUpgrade?.(statusCode, rawHeaders, socket);
		}
		onResponseStart(controller, statusCode, headers, statusMessage) {
			const rawHeaders = [];
			for (const [key, val] of Object.entries(headers)) {
				rawHeaders.push(Buffer.from(key), Array.isArray(val) ? val.map((v) => Buffer.from(v)) : Buffer.from(val));
			}
			if (this.#handler.onHeaders?.(statusCode, rawHeaders, () => controller.resume(), statusMessage) === false) {
				controller.pause();
			}
		}
		onResponseData(controller, data) {
			if (this.#handler.onData?.(data) === false) {
				controller.pause();
			}
		}
		onResponseEnd(controller, trailers) {
			const rawTrailers = [];
			for (const [key, val] of Object.entries(trailers)) {
				rawTrailers.push(Buffer.from(key), Array.isArray(val) ? val.map((v) => Buffer.from(v)) : Buffer.from(val));
			}
			this.#handler.onComplete?.(rawTrailers);
		}
		onResponseError(controller, err) {
			if (!this.#handler.onError) {
				throw new InvalidArgumentError("invalid onError method");
			}
			this.#handler.onError?.(err);
		}
	};
}));

//#endregion
//#region ../node_modules/undici/lib/dispatcher/dispatcher.js
var require_dispatcher = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const EventEmitter$3 = __require("node:events");
	const WrapHandler = require_wrap_handler();
	const wrapInterceptor = (dispatch) => (opts, handler) => dispatch(opts, WrapHandler.wrap(handler));
	var Dispatcher = class extends EventEmitter$3 {
		dispatch() {
			throw new Error("not implemented");
		}
		close() {
			throw new Error("not implemented");
		}
		destroy() {
			throw new Error("not implemented");
		}
		compose(...args) {
			const interceptors = Array.isArray(args[0]) ? args[0] : args;
			let dispatch = this.dispatch.bind(this);
			for (const interceptor of interceptors) {
				if (interceptor == null) {
					continue;
				}
				if (typeof interceptor !== "function") {
					throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`);
				}
				dispatch = interceptor(dispatch);
				dispatch = wrapInterceptor(dispatch);
				if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) {
					throw new TypeError("invalid interceptor");
				}
			}
			return new Proxy(this, { get: (target, key) => key === "dispatch" ? dispatch : target[key] });
		}
	};
	module.exports = Dispatcher;
}));

//#endregion
//#region ../node_modules/undici/lib/handler/unwrap-handler.js
var require_unwrap_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { parseHeaders } = require_util$5();
	const { InvalidArgumentError } = require_errors();
	const kResume = Symbol("resume");
	var UnwrapController = class {
		#paused = false;
		#reason = null;
		#aborted = false;
		#abort;
		[kResume] = null;
		constructor(abort) {
			this.#abort = abort;
		}
		pause() {
			this.#paused = true;
		}
		resume() {
			if (this.#paused) {
				this.#paused = false;
				this[kResume]?.();
			}
		}
		abort(reason) {
			if (!this.#aborted) {
				this.#aborted = true;
				this.#reason = reason;
				this.#abort(reason);
			}
		}
		get aborted() {
			return this.#aborted;
		}
		get reason() {
			return this.#reason;
		}
		get paused() {
			return this.#paused;
		}
	};
	module.exports = class UnwrapHandler {
		#handler;
		#controller;
		constructor(handler) {
			this.#handler = handler;
		}
		static unwrap(handler) {
			return !handler.onRequestStart ? handler : new UnwrapHandler(handler);
		}
		onConnect(abort, context) {
			this.#controller = new UnwrapController(abort);
			this.#handler.onRequestStart?.(this.#controller, context);
		}
		onUpgrade(statusCode, rawHeaders, socket) {
			this.#handler.onRequestUpgrade?.(this.#controller, statusCode, parseHeaders(rawHeaders), socket);
		}
		onHeaders(statusCode, rawHeaders, resume, statusMessage) {
			this.#controller[kResume] = resume;
			this.#handler.onResponseStart?.(this.#controller, statusCode, parseHeaders(rawHeaders), statusMessage);
			return !this.#controller.paused;
		}
		onData(data) {
			this.#handler.onResponseData?.(this.#controller, data);
			return !this.#controller.paused;
		}
		onComplete(rawTrailers) {
			this.#handler.onResponseEnd?.(this.#controller, parseHeaders(rawTrailers));
		}
		onError(err) {
			if (!this.#handler.onResponseError) {
				throw new InvalidArgumentError("invalid onError method");
			}
			this.#handler.onResponseError?.(this.#controller, err);
		}
	};
}));

//#endregion
//#region ../node_modules/undici/lib/dispatcher/dispatcher-base.js
var require_dispatcher_base = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const Dispatcher = require_dispatcher();
	const UnwrapHandler = require_unwrap_handler();
	const { ClientDestroyedError, ClientClosedError, InvalidArgumentError } = require_errors();
	const { kDestroy, kClose, kClosed, kDestroyed, kDispatch } = require_symbols();
	const kOnDestroyed = Symbol("onDestroyed");
	const kOnClosed = Symbol("onClosed");
	var DispatcherBase = class extends Dispatcher {
		/** @type {boolean} */
		[kDestroyed] = false;
		/** @type {Array<Function|null} */
		[kOnDestroyed] = null;
		/** @type {boolean} */
		[kClosed] = false;
		/** @type {Array<Function>|null} */
		[kOnClosed] = null;
		/** @returns {boolean} */
		get destroyed() {
			return this[kDestroyed];
		}
		/** @returns {boolean} */
		get closed() {
			return this[kClosed];
		}
		close(callback) {
			if (callback === undefined) {
				return new Promise((resolve, reject) => {
					this.close((err, data) => {
						return err ? reject(err) : resolve(data);
					});
				});
			}
			if (typeof callback !== "function") {
				throw new InvalidArgumentError("invalid callback");
			}
			if (this[kDestroyed]) {
				const err = new ClientDestroyedError();
				queueMicrotask(() => callback(err, null));
				return;
			}
			if (this[kClosed]) {
				if (this[kOnClosed]) {
					this[kOnClosed].push(callback);
				} else {
					queueMicrotask(() => callback(null, null));
				}
				return;
			}
			this[kClosed] = true;
			this[kOnClosed] ??= [];
			this[kOnClosed].push(callback);
			const onClosed = () => {
				const callbacks = this[kOnClosed];
				this[kOnClosed] = null;
				for (let i = 0; i < callbacks.length; i++) {
					callbacks[i](null, null);
				}
			};
			this[kClose]().then(() => this.destroy()).then(() => queueMicrotask(onClosed));
		}
		destroy(err, callback) {
			if (typeof err === "function") {
				callback = err;
				err = null;
			}
			if (callback === undefined) {
				return new Promise((resolve, reject) => {
					this.destroy(err, (err, data) => {
						return err ? reject(err) : resolve(data);
					});
				});
			}
			if (typeof callback !== "function") {
				throw new InvalidArgumentError("invalid callback");
			}
			if (this[kDestroyed]) {
				if (this[kOnDestroyed]) {
					this[kOnDestroyed].push(callback);
				} else {
					queueMicrotask(() => callback(null, null));
				}
				return;
			}
			if (!err) {
				err = new ClientDestroyedError();
			}
			this[kDestroyed] = true;
			this[kOnDestroyed] ??= [];
			this[kOnDestroyed].push(callback);
			const onDestroyed = () => {
				const callbacks = this[kOnDestroyed];
				this[kOnDestroyed] = null;
				for (let i = 0; i < callbacks.length; i++) {
					callbacks[i](null, null);
				}
			};
			this[kDestroy](err).then(() => queueMicrotask(onDestroyed));
		}
		dispatch(opts, handler) {
			if (!handler || typeof handler !== "object") {
				throw new InvalidArgumentError("handler must be an object");
			}
			handler = UnwrapHandler.unwrap(handler);
			try {
				if (!opts || typeof opts !== "object") {
					throw new InvalidArgumentError("opts must be an object.");
				}
				if (this[kDestroyed] || this[kOnDestroyed]) {
					throw new ClientDestroyedError();
				}
				if (this[kClosed]) {
					throw new ClientClosedError();
				}
				return this[kDispatch](opts, handler);
			} catch (err) {
				if (typeof handler.onError !== "function") {
					throw err;
				}
				handler.onError(err);
				return false;
			}
		}
	};
	module.exports = DispatcherBase;
}));

//#endregion
//#region ../node_modules/undici/lib/core/connect.js
var require_connect = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const net$2 = __require("node:net");
	const assert$32 = __require("node:assert");
	const util = require_util$5();
	const { InvalidArgumentError } = require_errors();
	let tls;
	const SessionCache = class WeakSessionCache {
		constructor(maxCachedSessions) {
			this._maxCachedSessions = maxCachedSessions;
			this._sessionCache = new Map();
			this._sessionRegistry = new FinalizationRegistry((key) => {
				if (this._sessionCache.size < this._maxCachedSessions) {
					return;
				}
				const ref = this._sessionCache.get(key);
				if (ref !== undefined && ref.deref() === undefined) {
					this._sessionCache.delete(key);
				}
			});
		}
		get(sessionKey) {
			const ref = this._sessionCache.get(sessionKey);
			return ref ? ref.deref() : null;
		}
		set(sessionKey, session) {
			if (this._maxCachedSessions === 0) {
				return;
			}
			this._sessionCache.set(sessionKey, new WeakRef(session));
			this._sessionRegistry.register(session, sessionKey);
		}
	};
	function buildConnector({ allowH2, useH2c, maxCachedSessions, socketPath, timeout, session: customSession, ...opts }) {
		if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
			throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
		}
		const options = {
			path: socketPath,
			...opts
		};
		const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
		timeout = timeout == null ? 1e4 : timeout;
		allowH2 = allowH2 != null ? allowH2 : false;
		return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
			let socket;
			if (protocol === "https:") {
				if (!tls) {
					tls = __require("node:tls");
				}
				servername = servername || options.servername || util.getServerName(host) || null;
				const sessionKey = servername || hostname;
				assert$32(sessionKey);
				const session = customSession || sessionCache.get(sessionKey) || null;
				port = port || 443;
				socket = tls.connect({
					highWaterMark: 16384,
					...options,
					servername,
					session,
					localAddress,
					ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
					socket: httpSocket,
					port,
					host: hostname
				});
				socket.on("session", function(session) {
					sessionCache.set(sessionKey, session);
				});
			} else {
				assert$32(!httpSocket, "httpSocket can only be sent on TLS update");
				port = port || 80;
				socket = net$2.connect({
					highWaterMark: 64 * 1024,
					...options,
					localAddress,
					port,
					host: hostname
				});
				if (useH2c === true) {
					socket.alpnProtocol = "h2";
				}
			}
			if (options.keepAlive == null || options.keepAlive) {
				const keepAliveInitialDelay = options.keepAliveInitialDelay === undefined ? 6e4 : options.keepAliveInitialDelay;
				socket.setKeepAlive(true, keepAliveInitialDelay);
			}
			const clearConnectTimeout = util.setupConnectTimeout(new WeakRef(socket), {
				timeout,
				hostname,
				port
			});
			socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
				queueMicrotask(clearConnectTimeout);
				if (callback) {
					const cb = callback;
					callback = null;
					cb(null, this);
				}
			}).on("error", function(err) {
				queueMicrotask(clearConnectTimeout);
				if (callback) {
					const cb = callback;
					callback = null;
					cb(err);
				}
			});
			return socket;
		};
	}
	module.exports = buildConnector;
}));

//#endregion
//#region ../node_modules/undici/lib/llhttp/utils.js
var require_utils$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.enumToMap = enumToMap;
	function enumToMap(obj, filter = [], exceptions = []) {
		const emptyFilter = (filter?.length ?? 0) === 0;
		const emptyExceptions = (exceptions?.length ?? 0) === 0;
		return Object.fromEntries(Object.entries(obj).filter(([, value]) => {
			return typeof value === "number" && (emptyFilter || filter.includes(value)) && (emptyExceptions || !exceptions.includes(value));
		}));
	}
}));

//#endregion
//#region ../node_modules/undici/lib/llhttp/constants.js
var require_constants$3 = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.SPECIAL_HEADERS = exports.MINOR = exports.MAJOR = exports.HTAB_SP_VCHAR_OBS_TEXT = exports.QUOTED_STRING = exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS = exports.TOKEN = exports.HEX = exports.URL_CHAR = exports.USERINFO_CHARS = exports.MARK = exports.ALPHANUM = exports.NUM = exports.HEX_MAP = exports.NUM_MAP = exports.ALPHA = exports.STATUSES_HTTP = exports.H_METHOD_MAP = exports.METHOD_MAP = exports.METHODS_RTSP = exports.METHODS_ICE = exports.METHODS_HTTP = exports.HEADER_STATE = exports.FINISH = exports.STATUSES = exports.METHODS = exports.LENIENT_FLAGS = exports.FLAGS = exports.TYPE = exports.ERROR = void 0;
	const utils_1 = require_utils$1();
	exports.ERROR = {
		OK: 0,
		INTERNAL: 1,
		STRICT: 2,
		CR_EXPECTED: 25,
		LF_EXPECTED: 3,
		UNEXPECTED_CONTENT_LENGTH: 4,
		UNEXPECTED_SPACE: 30,
		CLOSED_CONNECTION: 5,
		INVALID_METHOD: 6,
		INVALID_URL: 7,
		INVALID_CONSTANT: 8,
		INVALID_VERSION: 9,
		INVALID_HEADER_TOKEN: 10,
		INVALID_CONTENT_LENGTH: 11,
		INVALID_CHUNK_SIZE: 12,
		INVALID_STATUS: 13,
		INVALID_EOF_STATE: 14,
		INVALID_TRANSFER_ENCODING: 15,
		CB_MESSAGE_BEGIN: 16,
		CB_HEADERS_COMPLETE: 17,
		CB_MESSAGE_COMPLETE: 18,
		CB_CHUNK_HEADER: 19,
		CB_CHUNK_COMPLETE: 20,
		PAUSED: 21,
		PAUSED_UPGRADE: 22,
		PAUSED_H2_UPGRADE: 23,
		USER: 24,
		CB_URL_COMPLETE: 26,
		CB_STATUS_COMPLETE: 27,
		CB_METHOD_COMPLETE: 32,
		CB_VERSION_COMPLETE: 33,
		CB_HEADER_FIELD_COMPLETE: 28,
		CB_HEADER_VALUE_COMPLETE: 29,
		CB_CHUNK_EXTENSION_NAME_COMPLETE: 34,
		CB_CHUNK_EXTENSION_VALUE_COMPLETE: 35,
		CB_RESET: 31,
		CB_PROTOCOL_COMPLETE: 38
	};
	exports.TYPE = {
		BOTH: 0,
		REQUEST: 1,
		RESPONSE: 2
	};
	exports.FLAGS = {
		CONNECTION_KEEP_ALIVE: 1 << 0,
		CONNECTION_CLOSE: 1 << 1,
		CONNECTION_UPGRADE: 1 << 2,
		CHUNKED: 1 << 3,
		UPGRADE: 1 << 4,
		CONTENT_LENGTH: 1 << 5,
		SKIPBODY: 1 << 6,
		TRAILING: 1 << 7,
		TRANSFER_ENCODING: 1 << 9
	};
	exports.LENIENT_FLAGS = {
		HEADERS: 1 << 0,
		CHUNKED_LENGTH: 1 << 1,
		KEEP_ALIVE: 1 << 2,
		TRANSFER_ENCODING: 1 << 3,
		VERSION: 1 << 4,
		DATA_AFTER_CLOSE: 1 << 5,
		OPTIONAL_LF_AFTER_CR: 1 << 6,
		OPTIONAL_CRLF_AFTER_CHUNK: 1 << 7,
		OPTIONAL_CR_BEFORE_LF: 1 << 8,
		SPACES_AFTER_CHUNK_SIZE: 1 << 9
	};
	exports.METHODS = {
		"DELETE": 0,
		"GET": 1,
		"HEAD": 2,
		"POST": 3,
		"PUT": 4,
		"CONNECT": 5,
		"OPTIONS": 6,
		"TRACE": 7,
		"COPY": 8,
		"LOCK": 9,
		"MKCOL": 10,
		"MOVE": 11,
		"PROPFIND": 12,
		"PROPPATCH": 13,
		"SEARCH": 14,
		"UNLOCK": 15,
		"BIND": 16,
		"REBIND": 17,
		"UNBIND": 18,
		"ACL": 19,
		"REPORT": 20,
		"MKACTIVITY": 21,
		"CHECKOUT": 22,
		"MERGE": 23,
		"M-SEARCH": 24,
		"NOTIFY": 25,
		"SUBSCRIBE": 26,
		"UNSUBSCRIBE": 27,
		"PATCH": 28,
		"PURGE": 29,
		"MKCALENDAR": 30,
		"LINK": 31,
		"UNLINK": 32,
		"SOURCE": 33,
		"PRI": 34,
		"DESCRIBE": 35,
		"ANNOUNCE": 36,
		"SETUP": 37,
		"PLAY": 38,
		"PAUSE": 39,
		"TEARDOWN": 40,
		"GET_PARAMETER": 41,
		"SET_PARAMETER": 42,
		"REDIRECT": 43,
		"RECORD": 44,
		"FLUSH": 45,
		"QUERY": 46
	};
	exports.STATUSES = {
		CONTINUE: 100,
		SWITCHING_PROTOCOLS: 101,
		PROCESSING: 102,
		EARLY_HINTS: 103,
		RESPONSE_IS_STALE: 110,
		REVALIDATION_FAILED: 111,
		DISCONNECTED_OPERATION: 112,
		HEURISTIC_EXPIRATION: 113,
		MISCELLANEOUS_WARNING: 199,
		OK: 200,
		CREATED: 201,
		ACCEPTED: 202,
		NON_AUTHORITATIVE_INFORMATION: 203,
		NO_CONTENT: 204,
		RESET_CONTENT: 205,
		PARTIAL_CONTENT: 206,
		MULTI_STATUS: 207,
		ALREADY_REPORTED: 208,
		TRANSFORMATION_APPLIED: 214,
		IM_USED: 226,
		MISCELLANEOUS_PERSISTENT_WARNING: 299,
		MULTIPLE_CHOICES: 300,
		MOVED_PERMANENTLY: 301,
		FOUND: 302,
		SEE_OTHER: 303,
		NOT_MODIFIED: 304,
		USE_PROXY: 305,
		SWITCH_PROXY: 306,
		TEMPORARY_REDIRECT: 307,
		PERMANENT_REDIRECT: 308,
		BAD_REQUEST: 400,
		UNAUTHORIZED: 401,
		PAYMENT_REQUIRED: 402,
		FORBIDDEN: 403,
		NOT_FOUND: 404,
		METHOD_NOT_ALLOWED: 405,
		NOT_ACCEPTABLE: 406,
		PROXY_AUTHENTICATION_REQUIRED: 407,
		REQUEST_TIMEOUT: 408,
		CONFLICT: 409,
		GONE: 410,
		LENGTH_REQUIRED: 411,
		PRECONDITION_FAILED: 412,
		PAYLOAD_TOO_LARGE: 413,
		URI_TOO_LONG: 414,
		UNSUPPORTED_MEDIA_TYPE: 415,
		RANGE_NOT_SATISFIABLE: 416,
		EXPECTATION_FAILED: 417,
		IM_A_TEAPOT: 418,
		PAGE_EXPIRED: 419,
		ENHANCE_YOUR_CALM: 420,
		MISDIRECTED_REQUEST: 421,
		UNPROCESSABLE_ENTITY: 422,
		LOCKED: 423,
		FAILED_DEPENDENCY: 424,
		TOO_EARLY: 425,
		UPGRADE_REQUIRED: 426,
		PRECONDITION_REQUIRED: 428,
		TOO_MANY_REQUESTS: 429,
		REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL: 430,
		REQUEST_HEADER_FIELDS_TOO_LARGE: 431,
		LOGIN_TIMEOUT: 440,
		NO_RESPONSE: 444,
		RETRY_WITH: 449,
		BLOCKED_BY_PARENTAL_CONTROL: 450,
		UNAVAILABLE_FOR_LEGAL_REASONS: 451,
		CLIENT_CLOSED_LOAD_BALANCED_REQUEST: 460,
		INVALID_X_FORWARDED_FOR: 463,
		REQUEST_HEADER_TOO_LARGE: 494,
		SSL_CERTIFICATE_ERROR: 495,
		SSL_CERTIFICATE_REQUIRED: 496,
		HTTP_REQUEST_SENT_TO_HTTPS_PORT: 497,
		INVALID_TOKEN: 498,
		CLIENT_CLOSED_REQUEST: 499,
		INTERNAL_SERVER_ERROR: 500,
		NOT_IMPLEMENTED: 501,
		BAD_GATEWAY: 502,
		SERVICE_UNAVAILABLE: 503,
		GATEWAY_TIMEOUT: 504,
		HTTP_VERSION_NOT_SUPPORTED: 505,
		VARIANT_ALSO_NEGOTIATES: 506,
		INSUFFICIENT_STORAGE: 507,
		LOOP_DETECTED: 508,
		BANDWIDTH_LIMIT_EXCEEDED: 509,
		NOT_EXTENDED: 510,
		NETWORK_AUTHENTICATION_REQUIRED: 511,
		WEB_SERVER_UNKNOWN_ERROR: 520,
		WEB_SERVER_IS_DOWN: 521,
		CONNECTION_TIMEOUT: 522,
		ORIGIN_IS_UNREACHABLE: 523,
		TIMEOUT_OCCURED: 524,
		SSL_HANDSHAKE_FAILED: 525,
		INVALID_SSL_CERTIFICATE: 526,
		RAILGUN_ERROR: 527,
		SITE_IS_OVERLOADED: 529,
		SITE_IS_FROZEN: 530,
		IDENTITY_PROVIDER_AUTHENTICATION_ERROR: 561,
		NETWORK_READ_TIMEOUT: 598,
		NETWORK_CONNECT_TIMEOUT: 599
	};
	exports.FINISH = {
		SAFE: 0,
		SAFE_WITH_CB: 1,
		UNSAFE: 2
	};
	exports.HEADER_STATE = {
		GENERAL: 0,
		CONNECTION: 1,
		CONTENT_LENGTH: 2,
		TRANSFER_ENCODING: 3,
		UPGRADE: 4,
		CONNECTION_KEEP_ALIVE: 5,
		CONNECTION_CLOSE: 6,
		CONNECTION_UPGRADE: 7,
		TRANSFER_ENCODING_CHUNKED: 8
	};
	exports.METHODS_HTTP = [
		exports.METHODS.DELETE,
		exports.METHODS.GET,
		exports.METHODS.HEAD,
		exports.METHODS.POST,
		exports.METHODS.PUT,
		exports.METHODS.CONNECT,
		exports.METHODS.OPTIONS,
		exports.METHODS.TRACE,
		exports.METHODS.COPY,
		exports.METHODS.LOCK,
		exports.METHODS.MKCOL,
		exports.METHODS.MOVE,
		exports.METHODS.PROPFIND,
		exports.METHODS.PROPPATCH,
		exports.METHODS.SEARCH,
		exports.METHODS.UNLOCK,
		exports.METHODS.BIND,
		exports.METHODS.REBIND,
		exports.METHODS.UNBIND,
		exports.METHODS.ACL,
		exports.METHODS.REPORT,
		exports.METHODS.MKACTIVITY,
		exports.METHODS.CHECKOUT,
		exports.METHODS.MERGE,
		exports.METHODS["M-SEARCH"],
		exports.METHODS.NOTIFY,
		exports.METHODS.SUBSCRIBE,
		exports.METHODS.UNSUBSCRIBE,
		exports.METHODS.PATCH,
		exports.METHODS.PURGE,
		exports.METHODS.MKCALENDAR,
		exports.METHODS.LINK,
		exports.METHODS.UNLINK,
		exports.METHODS.PRI,
		exports.METHODS.SOURCE,
		exports.METHODS.QUERY
	];
	exports.METHODS_ICE = [exports.METHODS.SOURCE];
	exports.METHODS_RTSP = [
		exports.METHODS.OPTIONS,
		exports.METHODS.DESCRIBE,
		exports.METHODS.ANNOUNCE,
		exports.METHODS.SETUP,
		exports.METHODS.PLAY,
		exports.METHODS.PAUSE,
		exports.METHODS.TEARDOWN,
		exports.METHODS.GET_PARAMETER,
		exports.METHODS.SET_PARAMETER,
		exports.METHODS.REDIRECT,
		exports.METHODS.RECORD,
		exports.METHODS.FLUSH,
		exports.METHODS.GET,
		exports.METHODS.POST
	];
	exports.METHOD_MAP = (0, utils_1.enumToMap)(exports.METHODS);
	exports.H_METHOD_MAP = Object.fromEntries(Object.entries(exports.METHODS).filter(([k]) => k.startsWith("H")));
	exports.STATUSES_HTTP = [
		exports.STATUSES.CONTINUE,
		exports.STATUSES.SWITCHING_PROTOCOLS,
		exports.STATUSES.PROCESSING,
		exports.STATUSES.EARLY_HINTS,
		exports.STATUSES.RESPONSE_IS_STALE,
		exports.STATUSES.REVALIDATION_FAILED,
		exports.STATUSES.DISCONNECTED_OPERATION,
		exports.STATUSES.HEURISTIC_EXPIRATION,
		exports.STATUSES.MISCELLANEOUS_WARNING,
		exports.STATUSES.OK,
		exports.STATUSES.CREATED,
		exports.STATUSES.ACCEPTED,
		exports.STATUSES.NON_AUTHORITATIVE_INFORMATION,
		exports.STATUSES.NO_CONTENT,
		exports.STATUSES.RESET_CONTENT,
		exports.STATUSES.PARTIAL_CONTENT,
		exports.STATUSES.MULTI_STATUS,
		exports.STATUSES.ALREADY_REPORTED,
		exports.STATUSES.TRANSFORMATION_APPLIED,
		exports.STATUSES.IM_USED,
		exports.STATUSES.MISCELLANEOUS_PERSISTENT_WARNING,
		exports.STATUSES.MULTIPLE_CHOICES,
		exports.STATUSES.MOVED_PERMANENTLY,
		exports.STATUSES.FOUND,
		exports.STATUSES.SEE_OTHER,
		exports.STATUSES.NOT_MODIFIED,
		exports.STATUSES.USE_PROXY,
		exports.STATUSES.SWITCH_PROXY,
		exports.STATUSES.TEMPORARY_REDIRECT,
		exports.STATUSES.PERMANENT_REDIRECT,
		exports.STATUSES.BAD_REQUEST,
		exports.STATUSES.UNAUTHORIZED,
		exports.STATUSES.PAYMENT_REQUIRED,
		exports.STATUSES.FORBIDDEN,
		exports.STATUSES.NOT_FOUND,
		exports.STATUSES.METHOD_NOT_ALLOWED,
		exports.STATUSES.NOT_ACCEPTABLE,
		exports.STATUSES.PROXY_AUTHENTICATION_REQUIRED,
		exports.STATUSES.REQUEST_TIMEOUT,
		exports.STATUSES.CONFLICT,
		exports.STATUSES.GONE,
		exports.STATUSES.LENGTH_REQUIRED,
		exports.STATUSES.PRECONDITION_FAILED,
		exports.STATUSES.PAYLOAD_TOO_LARGE,
		exports.STATUSES.URI_TOO_LONG,
		exports.STATUSES.UNSUPPORTED_MEDIA_TYPE,
		exports.STATUSES.RANGE_NOT_SATISFIABLE,
		exports.STATUSES.EXPECTATION_FAILED,
		exports.STATUSES.IM_A_TEAPOT,
		exports.STATUSES.PAGE_EXPIRED,
		exports.STATUSES.ENHANCE_YOUR_CALM,
		exports.STATUSES.MISDIRECTED_REQUEST,
		exports.STATUSES.UNPROCESSABLE_ENTITY,
		exports.STATUSES.LOCKED,
		exports.STATUSES.FAILED_DEPENDENCY,
		exports.STATUSES.TOO_EARLY,
		exports.STATUSES.UPGRADE_REQUIRED,
		exports.STATUSES.PRECONDITION_REQUIRED,
		exports.STATUSES.TOO_MANY_REQUESTS,
		exports.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL,
		exports.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE,
		exports.STATUSES.LOGIN_TIMEOUT,
		exports.STATUSES.NO_RESPONSE,
		exports.STATUSES.RETRY_WITH,
		exports.STATUSES.BLOCKED_BY_PARENTAL_CONTROL,
		exports.STATUSES.UNAVAILABLE_FOR_LEGAL_REASONS,
		exports.STATUSES.CLIENT_CLOSED_LOAD_BALANCED_REQUEST,
		exports.STATUSES.INVALID_X_FORWARDED_FOR,
		exports.STATUSES.REQUEST_HEADER_TOO_LARGE,
		exports.STATUSES.SSL_CERTIFICATE_ERROR,
		exports.STATUSES.SSL_CERTIFICATE_REQUIRED,
		exports.STATUSES.HTTP_REQUEST_SENT_TO_HTTPS_PORT,
		exports.STATUSES.INVALID_TOKEN,
		exports.STATUSES.CLIENT_CLOSED_REQUEST,
		exports.STATUSES.INTERNAL_SERVER_ERROR,
		exports.STATUSES.NOT_IMPLEMENTED,
		exports.STATUSES.BAD_GATEWAY,
		exports.STATUSES.SERVICE_UNAVAILABLE,
		exports.STATUSES.GATEWAY_TIMEOUT,
		exports.STATUSES.HTTP_VERSION_NOT_SUPPORTED,
		exports.STATUSES.VARIANT_ALSO_NEGOTIATES,
		exports.STATUSES.INSUFFICIENT_STORAGE,
		exports.STATUSES.LOOP_DETECTED,
		exports.STATUSES.BANDWIDTH_LIMIT_EXCEEDED,
		exports.STATUSES.NOT_EXTENDED,
		exports.STATUSES.NETWORK_AUTHENTICATION_REQUIRED,
		exports.STATUSES.WEB_SERVER_UNKNOWN_ERROR,
		exports.STATUSES.WEB_SERVER_IS_DOWN,
		exports.STATUSES.CONNECTION_TIMEOUT,
		exports.STATUSES.ORIGIN_IS_UNREACHABLE,
		exports.STATUSES.TIMEOUT_OCCURED,
		exports.STATUSES.SSL_HANDSHAKE_FAILED,
		exports.STATUSES.INVALID_SSL_CERTIFICATE,
		exports.STATUSES.RAILGUN_ERROR,
		exports.STATUSES.SITE_IS_OVERLOADED,
		exports.STATUSES.SITE_IS_FROZEN,
		exports.STATUSES.IDENTITY_PROVIDER_AUTHENTICATION_ERROR,
		exports.STATUSES.NETWORK_READ_TIMEOUT,
		exports.STATUSES.NETWORK_CONNECT_TIMEOUT
	];
	exports.ALPHA = [];
	for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
		exports.ALPHA.push(String.fromCharCode(i));
		exports.ALPHA.push(String.fromCharCode(i + 32));
	}
	exports.NUM_MAP = {
		0: 0,
		1: 1,
		2: 2,
		3: 3,
		4: 4,
		5: 5,
		6: 6,
		7: 7,
		8: 8,
		9: 9
	};
	exports.HEX_MAP = {
		0: 0,
		1: 1,
		2: 2,
		3: 3,
		4: 4,
		5: 5,
		6: 6,
		7: 7,
		8: 8,
		9: 9,
		A: 10,
		B: 11,
		C: 12,
		D: 13,
		E: 14,
		F: 15,
		a: 10,
		b: 11,
		c: 12,
		d: 13,
		e: 14,
		f: 15
	};
	exports.NUM = [
		"0",
		"1",
		"2",
		"3",
		"4",
		"5",
		"6",
		"7",
		"8",
		"9"
	];
	exports.ALPHANUM = exports.ALPHA.concat(exports.NUM);
	exports.MARK = [
		"-",
		"_",
		".",
		"!",
		"~",
		"*",
		"'",
		"(",
		")"
	];
	exports.USERINFO_CHARS = exports.ALPHANUM.concat(exports.MARK).concat([
		"%",
		";",
		":",
		"&",
		"=",
		"+",
		"$",
		","
	]);
	exports.URL_CHAR = [
		"!",
		"\"",
		"$",
		"%",
		"&",
		"'",
		"(",
		")",
		"*",
		"+",
		",",
		"-",
		".",
		"/",
		":",
		";",
		"<",
		"=",
		">",
		"@",
		"[",
		"\\",
		"]",
		"^",
		"_",
		"`",
		"{",
		"|",
		"}",
		"~"
	].concat(exports.ALPHANUM);
	exports.HEX = exports.NUM.concat([
		"a",
		"b",
		"c",
		"d",
		"e",
		"f",
		"A",
		"B",
		"C",
		"D",
		"E",
		"F"
	]);
	exports.TOKEN = [
		"!",
		"#",
		"$",
		"%",
		"&",
		"'",
		"*",
		"+",
		"-",
		".",
		"^",
		"_",
		"`",
		"|",
		"~"
	].concat(exports.ALPHANUM);
	exports.HEADER_CHARS = ["	"];
	for (let i = 32; i <= 255; i++) {
		if (i !== 127) {
			exports.HEADER_CHARS.push(i);
		}
	}
	exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS.filter((c) => c !== 44);
	exports.QUOTED_STRING = ["	", " "];
	for (let i = 33; i <= 255; i++) {
		if (i !== 34 && i !== 92) {
			exports.QUOTED_STRING.push(i);
		}
	}
	exports.HTAB_SP_VCHAR_OBS_TEXT = ["	", " "];
	for (let i = 33; i <= 126; i++) {
		exports.HTAB_SP_VCHAR_OBS_TEXT.push(i);
	}
	for (let i = 128; i <= 255; i++) {
		exports.HTAB_SP_VCHAR_OBS_TEXT.push(i);
	}
	exports.MAJOR = exports.NUM_MAP;
	exports.MINOR = exports.MAJOR;
	exports.SPECIAL_HEADERS = {
		"connection": exports.HEADER_STATE.CONNECTION,
		"content-length": exports.HEADER_STATE.CONTENT_LENGTH,
		"proxy-connection": exports.HEADER_STATE.CONNECTION,
		"transfer-encoding": exports.HEADER_STATE.TRANSFER_ENCODING,
		"upgrade": exports.HEADER_STATE.UPGRADE
	};
	exports.default = {
		ERROR: exports.ERROR,
		TYPE: exports.TYPE,
		FLAGS: exports.FLAGS,
		LENIENT_FLAGS: exports.LENIENT_FLAGS,
		METHODS: exports.METHODS,
		STATUSES: exports.STATUSES,
		FINISH: exports.FINISH,
		HEADER_STATE: exports.HEADER_STATE,
		ALPHA: exports.ALPHA,
		NUM_MAP: exports.NUM_MAP,
		HEX_MAP: exports.HEX_MAP,
		NUM: exports.NUM,
		ALPHANUM: exports.ALPHANUM,
		MARK: exports.MARK,
		USERINFO_CHARS: exports.USERINFO_CHARS,
		URL_CHAR: exports.URL_CHAR,
		HEX: exports.HEX,
		TOKEN: exports.TOKEN,
		HEADER_CHARS: exports.HEADER_CHARS,
		CONNECTION_TOKEN_CHARS: exports.CONNECTION_TOKEN_CHARS,
		QUOTED_STRING: exports.QUOTED_STRING,
		HTAB_SP_VCHAR_OBS_TEXT: exports.HTAB_SP_VCHAR_OBS_TEXT,
		MAJOR: exports.MAJOR,
		MINOR: exports.MINOR,
		SPECIAL_HEADERS: exports.SPECIAL_HEADERS,
		METHODS_HTTP: exports.METHODS_HTTP,
		METHODS_ICE: exports.METHODS_ICE,
		METHODS_RTSP: exports.METHODS_RTSP,
		METHOD_MAP: exports.METHOD_MAP,
		H_METHOD_MAP: exports.H_METHOD_MAP,
		STATUSES_HTTP: exports.STATUSES_HTTP
	};
}));

//#endregion
//#region ../node_modules/undici/lib/llhttp/llhttp-wasm.js
var require_llhttp_wasm = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { Buffer: Buffer$3 } = __require("node:buffer");
	const wasmBase64 = " ";
	let wasmBuffer;
	Object.defineProperty(module, "exports", { get: () => {
		return wasmBuffer ? wasmBuffer : wasmBuffer = Buffer$3.from(wasmBase64, "base64");
	} });
}));

//#endregion
//#region ../node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
var require_llhttp_simd_wasm = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { Buffer: Buffer$2 } = __require("node:buffer");
	const wasmBase64 = " ";
	let wasmBuffer;
	Object.defineProperty(module, "exports", { get: () => {
		return wasmBuffer ? wasmBuffer : wasmBuffer = Buffer$2.from(wasmBase64, "base64");
	} });
}));

//#endregion
//#region ../node_modules/undici/lib/web/fetch/constants.js
var require_constants$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const corsSafeListedMethods = [
		"GET",
		"HEAD",
		"POST"
	];
	const corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
	const nullBodyStatus = [
		101,
		204,
		205,
		304
	];
	const redirectStatus = [
		301,
		302,
		303,
		307,
		308
	];
	const redirectStatusSet = new Set(redirectStatus);
	/**
	* @see https://fetch.spec.whatwg.org/#block-bad-port
	*/
	const badPorts = [
		"1",
		"7",
		"9",
		"11",
		"13",
		"15",
		"17",
		"19",
		"20",
		"21",
		"22",
		"23",
		"25",
		"37",
		"42",
		"43",
		"53",
		"69",
		"77",
		"79",
		"87",
		"95",
		"101",
		"102",
		"103",
		"104",
		"109",
		"110",
		"111",
		"113",
		"115",
		"117",
		"119",
		"123",
		"135",
		"137",
		"139",
		"143",
		"161",
		"179",
		"389",
		"427",
		"465",
		"512",
		"513",
		"514",
		"515",
		"526",
		"530",
		"531",
		"532",
		"540",
		"548",
		"554",
		"556",
		"563",
		"587",
		"601",
		"636",
		"989",
		"990",
		"993",
		"995",
		"1719",
		"1720",
		"1723",
		"2049",
		"3659",
		"4045",
		"4190",
		"5060",
		"5061",
		"6000",
		"6566",
		"6665",
		"6666",
		"6667",
		"6668",
		"6669",
		"6679",
		"6697",
		"10080"
	];
	const badPortsSet = new Set(badPorts);
	/**
	* @see https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-header
	*/
	const referrerPolicyTokens = [
		"no-referrer",
		"no-referrer-when-downgrade",
		"same-origin",
		"origin",
		"strict-origin",
		"origin-when-cross-origin",
		"strict-origin-when-cross-origin",
		"unsafe-url"
	];
	/**
	* @see https://w3c.github.io/webappsec-referrer-policy/#referrer-policies
	*/
	const referrerPolicy = ["", ...referrerPolicyTokens];
	const referrerPolicyTokensSet = new Set(referrerPolicyTokens);
	const requestRedirect = [
		"follow",
		"manual",
		"error"
	];
	const safeMethods = [
		"GET",
		"HEAD",
		"OPTIONS",
		"TRACE"
	];
	const safeMethodsSet = new Set(safeMethods);
	const requestMode = [
		"navigate",
		"same-origin",
		"no-cors",
		"cors"
	];
	const requestCredentials = [
		"omit",
		"same-origin",
		"include"
	];
	const requestCache = [
		"default",
		"no-store",
		"reload",
		"no-cache",
		"force-cache",
		"only-if-cached"
	];
	/**
	* @see https://fetch.spec.whatwg.org/#request-body-header-name
	*/
	const requestBodyHeader = [
		"content-encoding",
		"content-language",
		"content-location",
		"content-type",
		"content-length"
	];
	/**
	* @see https://fetch.spec.whatwg.org/#enumdef-requestduplex
	*/
	const requestDuplex = ["half"];
	/**
	* @see http://fetch.spec.whatwg.org/#forbidden-method
	*/
	const forbiddenMethods = [
		"CONNECT",
		"TRACE",
		"TRACK"
	];
	const forbiddenMethodsSet = new Set(forbiddenMethods);
	const subresource = [
		"audio",
		"audioworklet",
		"font",
		"image",
		"manifest",
		"paintworklet",
		"script",
		"style",
		"track",
		"video",
		"xslt",
		""
	];
	const subresourceSet = new Set(subresource);
	module.exports = {
		subresource,
		forbiddenMethods,
		requestBodyHeader,
		referrerPolicy,
		requestRedirect,
		requestMode,
		requestCredentials,
		requestCache,
		redirectStatus,
		corsSafeListedMethods,
		nullBodyStatus,
		safeMethods,
		badPorts,
		requestDuplex,
		subresourceSet,
		badPortsSet,
		redirectStatusSet,
		corsSafeListedMethodsSet,
		safeMethodsSet,
		forbiddenMethodsSet,
		referrerPolicyTokens: referrerPolicyTokensSet
	};
}));

//#endregion
//#region ../node_modules/undici/lib/web/fetch/global.js
var require_global$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const globalOrigin = Symbol.for("undici.globalOrigin.1");
	function getGlobalOrigin() {
		return globalThis[globalOrigin];
	}
	function setGlobalOrigin(newOrigin) {
		if (newOrigin === undefined) {
			Object.defineProperty(globalThis, globalOrigin, {
				value: undefined,
				writable: true,
				enumerable: false,
				configurable: false
			});
			return;
		}
		const parsedURL = new URL(newOrigin);
		if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
			throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
		}
		Object.defineProperty(globalThis, globalOrigin, {
			value: parsedURL,
			writable: true,
			enumerable: false,
			configurable: false
		});
	}
	module.exports = {
		getGlobalOrigin,
		setGlobalOrigin
	};
}));

//#endregion
//#region ../node_modules/undici/lib/encoding/index.js
var require_encoding = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const textDecoder = new TextDecoder();
	/**
	* @see https://encoding.spec.whatwg.org/#utf-8-decode
	* @param {Uint8Array} buffer
	*/
	function utf8DecodeBytes(buffer) {
		if (buffer.length === 0) {
			return "";
		}
		if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
			buffer = buffer.subarray(3);
		}
		const output = textDecoder.decode(buffer);
		return output;
	}
	module.exports = { utf8DecodeBytes };
}));

//#endregion
//#region ../node_modules/undici/lib/web/infra/index.js
var require_infra = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const assert$31 = __require("node:assert");
	const { utf8DecodeBytes } = require_encoding();
	/**
	* @param {(char: string) => boolean} condition
	* @param {string} input
	* @param {{ position: number }} position
	* @returns {string}
	*
	* @see https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points
	*/
	function collectASequenceOfCodePoints(condition, input, position) {
		let result = "";
		while (position.position < input.length && condition(input[position.position])) {
			result += input[position.position];
			position.position++;
		}
		return result;
	}
	/**
	* A faster collectASequenceOfCodePoints that only works when comparing a single character.
	* @param {string} char
	* @param {string} input
	* @param {{ position: number }} position
	* @returns {string}
	*
	* @see https://infra.spec.whatwg.org/#collect-a-sequence-of-code-points
	*/
	function collectASequenceOfCodePointsFast(char, input, position) {
		const idx = input.indexOf(char, position.position);
		const start = position.position;
		if (idx === -1) {
			position.position = input.length;
			return input.slice(start);
		}
		position.position = idx;
		return input.slice(start, position.position);
	}
	const ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
	/**
	* @param {string} data
	* @returns {Uint8Array | 'failure'}
	*
	* @see https://infra.spec.whatwg.org/#forgiving-base64-decode
	*/
	function forgivingBase64(data) {
		data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, "");
		let dataLength = data.length;
		if (dataLength % 4 === 0) {
			if (data.charCodeAt(dataLength - 1) === 61) {
				--dataLength;
				if (data.charCodeAt(dataLength - 1) === 61) {
					--dataLength;
				}
			}
		}
		if (dataLength % 4 === 1) {
			return "failure";
		}
		if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) {
			return "failure";
		}
		const buffer = Buffer.from(data, "base64");
		return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
	}
	/**
	* @param {number} char
	* @returns {boolean}
	*
	* @see https://infra.spec.whatwg.org/#ascii-whitespace
	*/
	function isASCIIWhitespace(char) {
		return char === 9 || char === 10 || char === 12 || char === 13 || char === 32;
	}
	/**
	* @param {Uint8Array} input
	* @returns {string}
	*
	* @see https://infra.spec.whatwg.org/#isomorphic-decode
	*/
	function isomorphicDecode(input) {
		const length = input.length;
		if ((2 << 15) - 1 > length) {
			return String.fromCharCode.apply(null, input);
		}
		let result = "";
		let i = 0;
		let addition = (2 << 15) - 1;
		while (i < length) {
			if (i + addition > length) {
				addition = length - i;
			}
			result += String.fromCharCode.apply(null, input.subarray(i, i += addition));
		}
		return result;
	}
	const invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/;
	/**
	* @param {string} input
	* @returns {string}
	*
	* @see https://infra.spec.whatwg.org/#isomorphic-encode
	*/
	function isomorphicEncode(input) {
		assert$31(!invalidIsomorphicEncodeValueRegex.test(input));
		return input;
	}
	/**
	* @see https://infra.spec.whatwg.org/#parse-json-bytes-to-a-javascript-value
	* @param {Uint8Array} bytes
	*/
	function parseJSONFromBytes(bytes) {
		return JSON.parse(utf8DecodeBytes(bytes));
	}
	/**
	* @param {string} str
	* @param {boolean} [leading=true]
	* @param {boolean} [trailing=true]
	* @returns {string}
	*
	* @see https://infra.spec.whatwg.org/#strip-leading-and-trailing-ascii-whitespace
	*/
	function removeASCIIWhitespace(str, leading = true, trailing = true) {
		return removeChars(str, leading, trailing, isASCIIWhitespace);
	}
	/**
	* @param {string} str
	* @param {boolean} leading
	* @param {boolean} trailing
	* @param {(charCode: number) => boolean} predicate
	* @returns {string}
	*/
	function removeChars(str, leading, trailing, predicate) {
		let lead = 0;
		let trail = str.length - 1;
		if (leading) {
			while (lead < str.length && predicate(str.charCodeAt(lead))) lead++;
		}
		if (trailing) {
			while (trail > 0 && predicate(str.charCodeAt(trail))) trail--;
		}
		return lead === 0 && trail === str.length - 1 ? str : str.slice(lead, trail + 1);
	}
	function serializeJavascriptValueToJSONString(value) {
		const result = JSON.stringify(value);
		if (result === undefined) {
			throw new TypeError("Value is not JSON serializable");
		}
		assert$31(typeof result === "string");
		return result;
	}
	module.exports = {
		collectASequenceOfCodePoints,
		collectASequenceOfCodePointsFast,
		forgivingBase64,
		isASCIIWhitespace,
		isomorphicDecode,
		isomorphicEncode,
		parseJSONFromBytes,
		removeASCIIWhitespace,
		removeChars,
		serializeJavascriptValueToJSONString
	};
}));

//#endregion
//#region ../node_modules/undici/lib/web/fetch/data-url.js
var require_data_url = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const assert$30 = __require("node:assert");
	const { forgivingBase64, collectASequenceOfCodePoints, collectASequenceOfCodePointsFast, isomorphicDecode, removeASCIIWhitespace, removeChars } = require_infra();
	const encoder = new TextEncoder();
	/**
	* @see https://mimesniff.spec.whatwg.org/#http-token-code-point
	*/
	const HTTP_TOKEN_CODEPOINTS = /^[-!#$%&'*+.^_|~A-Za-z0-9]+$/u;
	const HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/u;
	/**
	* @see https://mimesniff.spec.whatwg.org/#http-quoted-string-token-code-point
	*/
	const HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/u;
	/** @param {URL} dataURL */
	function dataURLProcessor(dataURL) {
		assert$30(dataURL.protocol === "data:");
		let input = URLSerializer(dataURL, true);
		input = input.slice(5);
		const position = { position: 0 };
		let mimeType = collectASequenceOfCodePointsFast(",", input, position);
		const mimeTypeLength = mimeType.length;
		mimeType = removeASCIIWhitespace(mimeType, true, true);
		if (position.position >= input.length) {
			return "failure";
		}
		position.position++;
		const encodedBody = input.slice(mimeTypeLength + 1);
		let body = stringPercentDecode(encodedBody);
		if (/;(?:\u0020*)base64$/iu.test(mimeType)) {
			const stringBody = isomorphicDecode(body);
			body = forgivingBase64(stringBody);
			if (body === "failure") {
				return "failure";
			}
			mimeType = mimeType.slice(0, -6);
			mimeType = mimeType.replace(/(\u0020+)$/u, "");
			mimeType = mimeType.slice(0, -1);
		}
		if (mimeType.startsWith(";")) {
			mimeType = "text/plain" + mimeType;
		}
		let mimeTypeRecord = parseMIMEType(mimeType);
		if (mimeTypeRecord === "failure") {
			mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
		}
		return {
			mimeType: mimeTypeRecord,
			body
		};
	}
	/**
	* @param {URL} url
	* @param {boolean} excludeFragment
	*/
	function URLSerializer(url, excludeFragment = false) {
		if (!excludeFragment) {
			return url.href;
		}
		const href = url.href;
		const hashLength = url.hash.length;
		const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
		if (!hashLength && href.endsWith("#")) {
			return serialized.slice(0, -1);
		}
		return serialized;
	}
	/** @param {string} input */
	function stringPercentDecode(input) {
		const bytes = encoder.encode(input);
		return percentDecode(bytes);
	}
	/**
	* @param {number} byte
	*/
	function isHexCharByte(byte) {
		return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
	}
	/**
	* @param {number} byte
	*/
	function hexByteToNumber(byte) {
		return byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55;
	}
	/** @param {Uint8Array} input */
	function percentDecode(input) {
		const length = input.length;
		/** @type {Uint8Array} */
		const output = new Uint8Array(length);
		let j = 0;
		let i = 0;
		while (i < length) {
			const byte = input[i];
			if (byte !== 37) {
				output[j++] = byte;
			} else if (byte === 37 && !(isHexCharByte(input[i + 1]) && isHexCharByte(input[i + 2]))) {
				output[j++] = 37;
			} else {
				output[j++] = hexByteToNumber(input[i + 1]) << 4 | hexByteToNumber(input[i + 2]);
				i += 2;
			}
			++i;
		}
		return length === j ? output : output.subarray(0, j);
	}
	/** @param {string} input */
	function parseMIMEType(input) {
		input = removeHTTPWhitespace(input, true, true);
		const position = { position: 0 };
		const type = collectASequenceOfCodePointsFast("/", input, position);
		if (type.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type)) {
			return "failure";
		}
		if (position.position >= input.length) {
			return "failure";
		}
		position.position++;
		let subtype = collectASequenceOfCodePointsFast(";", input, position);
		subtype = removeHTTPWhitespace(subtype, false, true);
		if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
			return "failure";
		}
		const typeLowercase = type.toLowerCase();
		const subtypeLowercase = subtype.toLowerCase();
		const mimeType = {
			type: typeLowercase,
			subtype: subtypeLowercase,
			parameters: new Map(),
			essence: `${typeLowercase}/${subtypeLowercase}`
		};
		while (position.position < input.length) {
			position.position++;
			collectASequenceOfCodePoints((char) => HTTP_WHITESPACE_REGEX.test(char), input, position);
			let parameterName = collectASequenceOfCodePoints((char) => char !== ";" && char !== "=", input, position);
			parameterName = parameterName.toLowerCase();
			if (position.position < input.length) {
				if (input[position.position] === ";") {
					continue;
				}
				position.position++;
			}
			if (position.position >= input.length) {
				break;
			}
			let parameterValue = null;
			if (input[position.position] === "\"") {
				parameterValue = collectAnHTTPQuotedString(input, position, true);
				collectASequenceOfCodePointsFast(";", input, position);
			} else {
				parameterValue = collectASequenceOfCodePointsFast(";", input, position);
				parameterValue = removeHTTPWhitespace(parameterValue, false, true);
				if (parameterValue.length === 0) {
					continue;
				}
			}
			if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
				mimeType.parameters.set(parameterName, parameterValue);
			}
		}
		return mimeType;
	}
	/**
	* @param {string} input
	* @param {{ position: number }} position
	* @param {boolean} [extractValue=false]
	*/
	function collectAnHTTPQuotedString(input, position, extractValue = false) {
		const positionStart = position.position;
		let value = "";
		assert$30(input[position.position] === "\"");
		position.position++;
		while (true) {
			value += collectASequenceOfCodePoints((char) => char !== "\"" && char !== "\\", input, position);
			if (position.position >= input.length) {
				break;
			}
			const quoteOrBackslash = input[position.position];
			position.position++;
			if (quoteOrBackslash === "\\") {
				if (position.position >= input.length) {
					value += "\\";
					break;
				}
				value += input[position.position];
				position.position++;
			} else {
				assert$30(quoteOrBackslash === "\"");
				break;
			}
		}
		if (extractValue) {
			return value;
		}
		return input.slice(positionStart, position.position);
	}
	/**
	* @see https://mimesniff.spec.whatwg.org/#serialize-a-mime-type
	*/
	function serializeAMimeType(mimeType) {
		assert$30(mimeType !== "failure");
		const { parameters, essence } = mimeType;
		let serialization = essence;
		for (let [name, value] of parameters.entries()) {
			serialization += ";";
			serialization += name;
			serialization += "=";
			if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
				value = value.replace(/[\\"]/gu, "\\$&");
				value = "\"" + value;
				value += "\"";
			}
			serialization += value;
		}
		return serialization;
	}
	/**
	* @see https://fetch.spec.whatwg.org/#http-whitespace
	* @param {number} char
	*/
	function isHTTPWhiteSpace(char) {
		return char === 13 || char === 10 || char === 9 || char === 32;
	}
	/**
	* @see https://fetch.spec.whatwg.org/#http-whitespace
	* @param {string} str
	* @param {boolean} [leading=true]
	* @param {boolean} [trailing=true]
	*/
	function removeHTTPWhitespace(str, leading = true, trailing = true) {
		return removeChars(str, leading, trailing, isHTTPWhiteSpace);
	}
	/**
	* @see https://mimesniff.spec.whatwg.org/#minimize-a-supported-mime-type
	* @param {Exclude<ReturnType<typeof parseMIMEType>, 'failure'>} mimeType
	*/
	function minimizeSupportedMimeType(mimeType) {
		switch (mimeType.essence) {
			case "application/ecmascript":
			case "application/javascript":
			case "application/x-ecmascript":
			case "application/x-javascript":
			case "text/ecmascript":
			case "text/javascript":
			case "text/javascript1.0":
			case "text/javascript1.1":
			case "text/javascript1.2":
			case "text/javascript1.3":
			case "text/javascript1.4":
			case "text/javascript1.5":
			case "text/jscript":
			case "text/livescript":
			case "text/x-ecmascript":
			case "text/x-javascript": return "text/javascript";
			case "application/json":
			case "text/json": return "application/json";
			case "image/svg+xml": return "image/svg+xml";
			case "text/xml":
			case "application/xml": return "application/xml";
		}
		if (mimeType.subtype.endsWith("+json")) {
			return "application/json";
		}
		if (mimeType.subtype.endsWith("+xml")) {
			return "application/xml";
		}
		return "";
	}
	module.exports = {
		dataURLProcessor,
		URLSerializer,
		stringPercentDecode,
		parseMIMEType,
		collectAnHTTPQuotedString,
		serializeAMimeType,
		removeHTTPWhitespace,
		minimizeSupportedMimeType,
		HTTP_TOKEN_CODEPOINTS
	};
}));

//#endregion
//#region ../node_modules/undici/lib/util/runtime-features.js
var require_runtime_features = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/** @typedef {`node:${string}`} NodeModuleName */
	/** @type {Record<NodeModuleName, () => any>} */
	const lazyLoaders = {
		__proto__: null,
		"node:crypto": () => __require("node:crypto"),
		"node:sqlite": () => __require("node:sqlite"),
		"node:worker_threads": () => __require("node:worker_threads"),
		"node:zlib": () => __require("node:zlib")
	};
	/**
	* @param {NodeModuleName} moduleName
	* @returns {boolean}
	*/
	function detectRuntimeFeatureByNodeModule(moduleName) {
		try {
			lazyLoaders[moduleName]();
			return true;
		} catch (err) {
			if (err.code !== "ERR_UNKNOWN_BUILTIN_MODULE" && err.code !== "ERR_NO_CRYPTO") {
				throw err;
			}
			return false;
		}
	}
	/**
	* @param {NodeModuleName} moduleName
	* @param {string} property
	* @returns {boolean}
	*/
	function detectRuntimeFeatureByExportedProperty(moduleName, property) {
		const module$7 = lazyLoaders[moduleName]();
		return typeof module$7[property] !== "undefined";
	}
	const runtimeFeaturesByExportedProperty = ["markAsUncloneable", "zstd"];
	/** @type {Record<RuntimeFeatureByExportedProperty, [NodeModuleName, string]>} */
	const exportedPropertyLookup = {
		markAsUncloneable: ["node:worker_threads", "markAsUncloneable"],
		zstd: ["node:zlib", "createZstdDecompress"]
	};
	/** @typedef {typeof runtimeFeaturesByExportedProperty[number]} RuntimeFeatureByExportedProperty */
	const runtimeFeaturesAsNodeModule = ["crypto", "sqlite"];
	/** @typedef {typeof runtimeFeaturesAsNodeModule[number]} RuntimeFeatureByNodeModule */
	const features = [...runtimeFeaturesAsNodeModule, ...runtimeFeaturesByExportedProperty];
	/** @typedef {typeof features[number]} Feature */
	/**
	* @param {Feature} feature
	* @returns {boolean}
	*/
	function detectRuntimeFeature(feature) {
		if (runtimeFeaturesAsNodeModule.includes(
			/** @type {RuntimeFeatureByNodeModule} */
			feature
		)) {
			return detectRuntimeFeatureByNodeModule(`node:${feature}`);
		} else if (runtimeFeaturesByExportedProperty.includes(
			/** @type {RuntimeFeatureByExportedProperty} */
			feature
		)) {
			const [moduleName, property] = exportedPropertyLookup[feature];
			return detectRuntimeFeatureByExportedProperty(moduleName, property);
		}
		throw new TypeError(`unknown feature: ${feature}`);
	}
	/**
	* @class
	* @name RuntimeFeatures
	*/
	var RuntimeFeatures = class {
		/** @type {Map<Feature, boolean>} */
		#map = new Map();
		/**
		* Clears all cached feature detections.
		*/
		clear() {
			this.#map.clear();
		}
		/**
		* @param {Feature} feature
		* @returns {boolean}
		*/
		has(feature) {
			return this.#map.get(feature) ?? this.#detectRuntimeFeature(feature);
		}
		/**
		* @param {Feature} feature
		* @param {boolean} value
		*/
		set(feature, value) {
			if (features.includes(feature) === false) {
				throw new TypeError(`unknown feature: ${feature}`);
			}
			this.#map.set(feature, value);
		}
		/**
		* @param {Feature} feature
		* @returns {boolean}
		*/
		#detectRuntimeFeature(feature) {
			const result = detectRuntimeFeature(feature);
			this.#map.set(feature, result);
			return result;
		}
	};
	const instance = new RuntimeFeatures();
	module.exports.runtimeFeatures = instance;
	module.exports.default = instance;
}));

//#endregion
//#region ../node_modules/undici/lib/web/webidl/index.js
var require_webidl = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const assert$29 = __require("node:assert");
	const { types, inspect } = __require("node:util");
	const { runtimeFeatures } = require_runtime_features();
	const UNDEFINED = 1;
	const BOOLEAN = 2;
	const STRING = 3;
	const SYMBOL = 4;
	const NUMBER = 5;
	const BIGINT = 6;
	const NULL = 7;
	const OBJECT = 8;
	const FunctionPrototypeSymbolHasInstance = Function.call.bind(Function.prototype[Symbol.hasInstance]);
	/** @type {import('../../../types/webidl').Webidl} */
	const webidl = {
		converters: {},
		util: {},
		errors: {},
		is: {}
	};
	/**
	* @description Instantiate an error.
	*
	* @param {Object} opts
	* @param {string} opts.header
	* @param {string} opts.message
	* @returns {TypeError}
	*/
	webidl.errors.exception = function(message) {
		return new TypeError(`${message.header}: ${message.message}`);
	};
	/**
	* @description Instantiate an error when conversion from one type to another has failed.
	*
	* @param {Object} opts
	* @param {string} opts.prefix
	* @param {string} opts.argument
	* @param {string[]} opts.types
	* @returns {TypeError}
	*/
	webidl.errors.conversionFailed = function(opts) {
		const plural = opts.types.length === 1 ? "" : " one of";
		const message = `${opts.argument} could not be converted to` + `${plural}: ${opts.types.join(", ")}.`;
		return webidl.errors.exception({
			header: opts.prefix,
			message
		});
	};
	/**
	* @description Instantiate an error when an invalid argument is provided
	*
	* @param {Object} context
	* @param {string} context.prefix
	* @param {string} context.value
	* @param {string} context.type
	* @returns {TypeError}
	*/
	webidl.errors.invalidArgument = function(context) {
		return webidl.errors.exception({
			header: context.prefix,
			message: `"${context.value}" is an invalid ${context.type}.`
		});
	};
	webidl.brandCheck = function(V, I) {
		if (!FunctionPrototypeSymbolHasInstance(I, V)) {
			const err = new TypeError("Illegal invocation");
			err.code = "ERR_INVALID_THIS";
			throw err;
		}
	};
	webidl.brandCheckMultiple = function(List) {
		const prototypes = List.map((c) => webidl.util.MakeTypeAssertion(c));
		return (V) => {
			if (prototypes.every((typeCheck) => !typeCheck(V))) {
				const err = new TypeError("Illegal invocation");
				err.code = "ERR_INVALID_THIS";
				throw err;
			}
		};
	};
	webidl.argumentLengthCheck = function({ length }, min, ctx) {
		if (length < min) {
			throw webidl.errors.exception({
				message: `${min} argument${min !== 1 ? "s" : ""} required, ` + `but${length ? " only" : ""} ${length} found.`,
				header: ctx
			});
		}
	};
	webidl.illegalConstructor = function() {
		throw webidl.errors.exception({
			header: "TypeError",
			message: "Illegal constructor"
		});
	};
	webidl.util.MakeTypeAssertion = function(I) {
		return (O) => FunctionPrototypeSymbolHasInstance(I, O);
	};
	webidl.util.Type = function(V) {
		switch (typeof V) {
			case "undefined": return UNDEFINED;
			case "boolean": return BOOLEAN;
			case "string": return STRING;
			case "symbol": return SYMBOL;
			case "number": return NUMBER;
			case "bigint": return BIGINT;
			case "function":
			case "object": {
				if (V === null) {
					return NULL;
				}
				return OBJECT;
			}
		}
	};
	webidl.util.Types = {
		UNDEFINED,
		BOOLEAN,
		STRING,
		SYMBOL,
		NUMBER,
		BIGINT,
		NULL,
		OBJECT
	};
	webidl.util.TypeValueToString = function(o) {
		switch (webidl.util.Type(o)) {
			case UNDEFINED: return "Undefined";
			case BOOLEAN: return "Boolean";
			case STRING: return "String";
			case SYMBOL: return "Symbol";
			case NUMBER: return "Number";
			case BIGINT: return "BigInt";
			case NULL: return "Null";
			case OBJECT: return "Object";
		}
	};
	webidl.util.markAsUncloneable = runtimeFeatures.has("markAsUncloneable") ? __require("node:worker_threads").markAsUncloneable : () => {};
	webidl.util.ConvertToInt = function(V, bitLength, signedness, flags) {
		let upperBound;
		let lowerBound;
		if (bitLength === 64) {
			upperBound = Math.pow(2, 53) - 1;
			if (signedness === "unsigned") {
				lowerBound = 0;
			} else {
				lowerBound = Math.pow(-2, 53) + 1;
			}
		} else if (signedness === "unsigned") {
			lowerBound = 0;
			upperBound = Math.pow(2, bitLength) - 1;
		} else {
			lowerBound = Math.pow(-2, bitLength) - 1;
			upperBound = Math.pow(2, bitLength - 1) - 1;
		}
		let x = Number(V);
		if (x === 0) {
			x = 0;
		}
		if (webidl.util.HasFlag(flags, webidl.attributes.EnforceRange)) {
			if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
				throw webidl.errors.exception({
					header: "Integer conversion",
					message: `Could not convert ${webidl.util.Stringify(V)} to an integer.`
				});
			}
			x = webidl.util.IntegerPart(x);
			if (x < lowerBound || x > upperBound) {
				throw webidl.errors.exception({
					header: "Integer conversion",
					message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
				});
			}
			return x;
		}
		if (!Number.isNaN(x) && webidl.util.HasFlag(flags, webidl.attributes.Clamp)) {
			x = Math.min(Math.max(x, lowerBound), upperBound);
			if (Math.floor(x) % 2 === 0) {
				x = Math.floor(x);
			} else {
				x = Math.ceil(x);
			}
			return x;
		}
		if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
			return 0;
		}
		x = webidl.util.IntegerPart(x);
		x = x % Math.pow(2, bitLength);
		if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
			return x - Math.pow(2, bitLength);
		}
		return x;
	};
	webidl.util.IntegerPart = function(n) {
		const r = Math.floor(Math.abs(n));
		if (n < 0) {
			return -1 * r;
		}
		return r;
	};
	webidl.util.Stringify = function(V) {
		const type = webidl.util.Type(V);
		switch (type) {
			case SYMBOL: return `Symbol(${V.description})`;
			case OBJECT: return inspect(V);
			case STRING: return `"${V}"`;
			case BIGINT: return `${V}n`;
			default: return `${V}`;
		}
	};
	webidl.util.IsResizableArrayBuffer = function(V) {
		if (types.isArrayBuffer(V)) {
			return V.resizable;
		}
		if (types.isSharedArrayBuffer(V)) {
			return V.growable;
		}
		throw webidl.errors.exception({
			header: "IsResizableArrayBuffer",
			message: `"${webidl.util.Stringify(V)}" is not an array buffer.`
		});
	};
	webidl.util.HasFlag = function(flags, attributes) {
		return typeof flags === "number" && (flags & attributes) === attributes;
	};
	webidl.sequenceConverter = function(converter) {
		return (V, prefix, argument, Iterable) => {
			if (webidl.util.Type(V) !== OBJECT) {
				throw webidl.errors.exception({
					header: prefix,
					message: `${argument} (${webidl.util.Stringify(V)}) is not iterable.`
				});
			}
			/** @type {Generator} */
			const method = typeof Iterable === "function" ? Iterable() : V?.[Symbol.iterator]?.();
			const seq = [];
			let index = 0;
			if (method === undefined || typeof method.next !== "function") {
				throw webidl.errors.exception({
					header: prefix,
					message: `${argument} is not iterable.`
				});
			}
			while (true) {
				const { done, value } = method.next();
				if (done) {
					break;
				}
				seq.push(converter(value, prefix, `${argument}[${index++}]`));
			}
			return seq;
		};
	};
	webidl.recordConverter = function(keyConverter, valueConverter) {
		return (O, prefix, argument) => {
			if (webidl.util.Type(O) !== OBJECT) {
				throw webidl.errors.exception({
					header: prefix,
					message: `${argument} ("${webidl.util.TypeValueToString(O)}") is not an Object.`
				});
			}
			const result = {};
			if (!types.isProxy(O)) {
				const keys = [...Object.getOwnPropertyNames(O), ...Object.getOwnPropertySymbols(O)];
				for (const key of keys) {
					const keyName = webidl.util.Stringify(key);
					const typedKey = keyConverter(key, prefix, `Key ${keyName} in ${argument}`);
					const typedValue = valueConverter(O[key], prefix, `${argument}[${keyName}]`);
					result[typedKey] = typedValue;
				}
				return result;
			}
			const keys = Reflect.ownKeys(O);
			for (const key of keys) {
				const desc = Reflect.getOwnPropertyDescriptor(O, key);
				if (desc?.enumerable) {
					const typedKey = keyConverter(key, prefix, argument);
					const typedValue = valueConverter(O[key], prefix, argument);
					result[typedKey] = typedValue;
				}
			}
			return result;
		};
	};
	webidl.interfaceConverter = function(TypeCheck, name) {
		return (V, prefix, argument) => {
			if (!TypeCheck(V)) {
				throw webidl.errors.exception({
					header: prefix,
					message: `Expected ${argument} ("${webidl.util.Stringify(V)}") to be an instance of ${name}.`
				});
			}
			return V;
		};
	};
	webidl.dictionaryConverter = function(converters) {
		return (dictionary, prefix, argument) => {
			const dict = {};
			if (dictionary != null && webidl.util.Type(dictionary) !== OBJECT) {
				throw webidl.errors.exception({
					header: prefix,
					message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
				});
			}
			for (const options of converters) {
				const { key, defaultValue, required, converter } = options;
				if (required === true) {
					if (dictionary == null || !Object.hasOwn(dictionary, key)) {
						throw webidl.errors.exception({
							header: prefix,
							message: `Missing required key "${key}".`
						});
					}
				}
				let value = dictionary?.[key];
				const hasDefault = defaultValue !== undefined;
				if (hasDefault && value === undefined) {
					value = defaultValue();
				}
				if (required || hasDefault || value !== undefined) {
					value = converter(value, prefix, `${argument}.${key}`);
					if (options.allowedValues && !options.allowedValues.includes(value)) {
						throw webidl.errors.exception({
							header: prefix,
							message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
						});
					}
					dict[key] = value;
				}
			}
			return dict;
		};
	};
	webidl.nullableConverter = function(converter) {
		return (V, prefix, argument) => {
			if (V === null) {
				return V;
			}
			return converter(V, prefix, argument);
		};
	};
	/**
	* @param {*} value
	* @returns {boolean}
	*/
	webidl.is.USVString = function(value) {
		return typeof value === "string" && value.isWellFormed();
	};
	webidl.is.ReadableStream = webidl.util.MakeTypeAssertion(ReadableStream);
	webidl.is.Blob = webidl.util.MakeTypeAssertion(Blob);
	webidl.is.URLSearchParams = webidl.util.MakeTypeAssertion(URLSearchParams);
	webidl.is.File = webidl.util.MakeTypeAssertion(File);
	webidl.is.URL = webidl.util.MakeTypeAssertion(URL);
	webidl.is.AbortSignal = webidl.util.MakeTypeAssertion(AbortSignal);
	webidl.is.MessagePort = webidl.util.MakeTypeAssertion(MessagePort);
	webidl.is.BufferSource = function(V) {
		return types.isArrayBuffer(V) || ArrayBuffer.isView(V) && types.isArrayBuffer(V.buffer);
	};
	webidl.util.getCopyOfBytesHeldByBufferSource = function(bufferSource) {
		const jsBufferSource = bufferSource;
		let jsArrayBuffer = jsBufferSource;
		let offset = 0;
		let length = 0;
		if (types.isTypedArray(jsBufferSource) || types.isDataView(jsBufferSource)) {
			jsArrayBuffer = jsBufferSource.buffer;
			offset = jsBufferSource.byteOffset;
			length = jsBufferSource.byteLength;
		} else {
			assert$29(types.isAnyArrayBuffer(jsBufferSource));
			length = jsBufferSource.byteLength;
		}
		if (jsArrayBuffer.detached) {
			return new Uint8Array(0);
		}
		const bytes = new Uint8Array(length);
		const view = new Uint8Array(jsArrayBuffer, offset, length);
		bytes.set(view);
		return bytes;
	};
	webidl.converters.DOMString = function(V, prefix, argument, flags) {
		if (V === null && webidl.util.HasFlag(flags, webidl.attributes.LegacyNullToEmptyString)) {
			return "";
		}
		if (typeof V === "symbol") {
			throw webidl.errors.exception({
				header: prefix,
				message: `${argument} is a symbol, which cannot be converted to a DOMString.`
			});
		}
		return String(V);
	};
	webidl.converters.ByteString = function(V, prefix, argument) {
		if (typeof V === "symbol") {
			throw webidl.errors.exception({
				header: prefix,
				message: `${argument} is a symbol, which cannot be converted to a ByteString.`
			});
		}
		const x = String(V);
		for (let index = 0; index < x.length; index++) {
			if (x.charCodeAt(index) > 255) {
				throw new TypeError("Cannot convert argument to a ByteString because the character at " + `index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`);
			}
		}
		return x;
	};
	/**
	* @param {unknown} value
	* @returns {string}
	* @see https://webidl.spec.whatwg.org/#es-USVString
	*/
	webidl.converters.USVString = function(value) {
		if (typeof value === "string") {
			return value.toWellFormed();
		}
		return `${value}`.toWellFormed();
	};
	webidl.converters.boolean = function(V) {
		const x = Boolean(V);
		return x;
	};
	webidl.converters.any = function(V) {
		return V;
	};
	webidl.converters["long long"] = function(V, prefix, argument) {
		const x = webidl.util.ConvertToInt(V, 64, "signed", 0, prefix, argument);
		return x;
	};
	webidl.converters["unsigned long long"] = function(V, prefix, argument) {
		const x = webidl.util.ConvertToInt(V, 64, "unsigned", 0, prefix, argument);
		return x;
	};
	webidl.converters["unsigned long"] = function(V, prefix, argument) {
		const x = webidl.util.ConvertToInt(V, 32, "unsigned", 0, prefix, argument);
		return x;
	};
	webidl.converters["unsigned short"] = function(V, prefix, argument, flags) {
		const x = webidl.util.ConvertToInt(V, 16, "unsigned", flags, prefix, argument);
		return x;
	};
	webidl.converters.ArrayBuffer = function(V, prefix, argument, flags) {
		if (webidl.util.Type(V) !== OBJECT || !types.isArrayBuffer(V)) {
			throw webidl.errors.conversionFailed({
				prefix,
				argument: `${argument} ("${webidl.util.Stringify(V)}")`,
				types: ["ArrayBuffer"]
			});
		}
		if (!webidl.util.HasFlag(flags, webidl.attributes.AllowResizable) && webidl.util.IsResizableArrayBuffer(V)) {
			throw webidl.errors.exception({
				header: prefix,
				message: `${argument} cannot be a resizable ArrayBuffer.`
			});
		}
		return V;
	};
	webidl.converters.SharedArrayBuffer = function(V, prefix, argument, flags) {
		if (webidl.util.Type(V) !== OBJECT || !types.isSharedArrayBuffer(V)) {
			throw webidl.errors.conversionFailed({
				prefix,
				argument: `${argument} ("${webidl.util.Stringify(V)}")`,
				types: ["SharedArrayBuffer"]
			});
		}
		if (!webidl.util.HasFlag(flags, webidl.attributes.AllowResizable) && webidl.util.IsResizableArrayBuffer(V)) {
			throw webidl.errors.exception({
				header: prefix,
				message: `${argument} cannot be a resizable SharedArrayBuffer.`
			});
		}
		return V;
	};
	webidl.converters.TypedArray = function(V, T, prefix, argument, flags) {
		if (webidl.util.Type(V) !== OBJECT || !types.isTypedArray(V) || V.constructor.name !== T.name) {
			throw webidl.errors.conversionFailed({
				prefix,
				argument: `${argument} ("${webidl.util.Stringify(V)}")`,
				types: [T.name]
			});
		}
		if (!webidl.util.HasFlag(flags, webidl.attributes.AllowShared) && types.isSharedArrayBuffer(V.buffer)) {
			throw webidl.errors.exception({
				header: prefix,
				message: `${argument} cannot be a view on a shared array buffer.`
			});
		}
		if (!webidl.util.HasFlag(flags, webidl.attributes.AllowResizable) && webidl.util.IsResizableArrayBuffer(V.buffer)) {
			throw webidl.errors.exception({
				header: prefix,
				message: `${argument} cannot be a view on a resizable array buffer.`
			});
		}
		return V;
	};
	webidl.converters.DataView = function(V, prefix, argument, flags) {
		if (webidl.util.Type(V) !== OBJECT || !types.isDataView(V)) {
			throw webidl.errors.conversionFailed({
				prefix,
				argument: `${argument} ("${webidl.util.Stringify(V)}")`,
				types: ["DataView"]
			});
		}
		if (!webidl.util.HasFlag(flags, webidl.attributes.AllowShared) && types.isSharedArrayBuffer(V.buffer)) {
			throw webidl.errors.exception({
				header: prefix,
				message: `${argument} cannot be a view on a shared array buffer.`
			});
		}
		if (!webidl.util.HasFlag(flags, webidl.attributes.AllowResizable) && webidl.util.IsResizableArrayBuffer(V.buffer)) {
			throw webidl.errors.exception({
				header: prefix,
				message: `${argument} cannot be a view on a resizable array buffer.`
			});
		}
		return V;
	};
	webidl.converters.ArrayBufferView = function(V, prefix, argument, flags) {
		if (webidl.util.Type(V) !== OBJECT || !types.isArrayBufferView(V)) {
			throw webidl.errors.conversionFailed({
				prefix,
				argument: `${argument} ("${webidl.util.Stringify(V)}")`,
				types: ["ArrayBufferView"]
			});
		}
		if (!webidl.util.HasFlag(flags, webidl.attributes.AllowShared) && types.isSharedArrayBuffer(V.buffer)) {
			throw webidl.errors.exception({
				header: prefix,
				message: `${argument} cannot be a view on a shared array buffer.`
			});
		}
		if (!webidl.util.HasFlag(flags, webidl.attributes.AllowResizable) && webidl.util.IsResizableArrayBuffer(V.buffer)) {
			throw webidl.errors.exception({
				header: prefix,
				message: `${argument} cannot be a view on a resizable array buffer.`
			});
		}
		return V;
	};
	webidl.converters.BufferSource = function(V, prefix, argument, flags) {
		if (types.isArrayBuffer(V)) {
			return webidl.converters.ArrayBuffer(V, prefix, argument, flags);
		}
		if (types.isArrayBufferView(V)) {
			flags &= ~webidl.attributes.AllowShared;
			return webidl.converters.ArrayBufferView(V, prefix, argument, flags);
		}
		if (types.isSharedArrayBuffer(V)) {
			throw webidl.errors.exception({
				header: prefix,
				message: `${argument} cannot be a SharedArrayBuffer.`
			});
		}
		throw webidl.errors.conversionFailed({
			prefix,
			argument: `${argument} ("${webidl.util.Stringify(V)}")`,
			types: ["ArrayBuffer", "ArrayBufferView"]
		});
	};
	webidl.converters.AllowSharedBufferSource = function(V, prefix, argument, flags) {
		if (types.isArrayBuffer(V)) {
			return webidl.converters.ArrayBuffer(V, prefix, argument, flags);
		}
		if (types.isSharedArrayBuffer(V)) {
			return webidl.converters.SharedArrayBuffer(V, prefix, argument, flags);
		}
		if (types.isArrayBufferView(V)) {
			flags |= webidl.attributes.AllowShared;
			return webidl.converters.ArrayBufferView(V, prefix, argument, flags);
		}
		throw webidl.errors.conversionFailed({
			prefix,
			argument: `${argument} ("${webidl.util.Stringify(V)}")`,
			types: [
				"ArrayBuffer",
				"SharedArrayBuffer",
				"ArrayBufferView"
			]
		});
	};
	webidl.converters["sequence<ByteString>"] = webidl.sequenceConverter(webidl.converters.ByteString);
	webidl.converters["sequence<sequence<ByteString>>"] = webidl.sequenceConverter(webidl.converters["sequence<ByteString>"]);
	webidl.converters["record<ByteString, ByteString>"] = webidl.recordConverter(webidl.converters.ByteString, webidl.converters.ByteString);
	webidl.converters.Blob = webidl.interfaceConverter(webidl.is.Blob, "Blob");
	webidl.converters.AbortSignal = webidl.interfaceConverter(webidl.is.AbortSignal, "AbortSignal");
	/**
	* [LegacyTreatNonObjectAsNull]
	* callback EventHandlerNonNull = any (Event event);
	* typedef EventHandlerNonNull? EventHandler;
	* @param {*} V
	*/
	webidl.converters.EventHandlerNonNull = function(V) {
		if (webidl.util.Type(V) !== OBJECT) {
			return null;
		}
		if (typeof V === "function") {
			return V;
		}
		return () => {};
	};
	webidl.attributes = {
		Clamp: 1 << 0,
		EnforceRange: 1 << 1,
		AllowShared: 1 << 2,
		AllowResizable: 1 << 3,
		LegacyNullToEmptyString: 1 << 4
	};
	module.exports = { webidl };
}));

//#endregion
//#region ../node_modules/undici/lib/web/fetch/util.js
var require_util$4 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { Transform: Transform$3 } = __require("node:stream");
	const zlib$2 = __require("node:zlib");
	const { redirectStatusSet, referrerPolicyTokens, badPortsSet } = require_constants$2();
	const { getGlobalOrigin } = require_global$1();
	const { collectAnHTTPQuotedString, parseMIMEType } = require_data_url();
	const { performance: performance$1 } = __require("node:perf_hooks");
	const { ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util$5();
	const assert$28 = __require("node:assert");
	const { isUint8Array: isUint8Array$1 } = __require("node:util/types");
	const { webidl } = require_webidl();
	const { isomorphicEncode, collectASequenceOfCodePoints, removeChars } = require_infra();
	function responseURL(response) {
		const urlList = response.urlList;
		const length = urlList.length;
		return length === 0 ? null : urlList[length - 1].toString();
	}
	function responseLocationURL(response, requestFragment) {
		if (!redirectStatusSet.has(response.status)) {
			return null;
		}
		let location = response.headersList.get("location", true);
		if (location !== null && isValidHeaderValue(location)) {
			if (!isValidEncodedURL(location)) {
				location = normalizeBinaryStringToUtf8(location);
			}
			location = new URL(location, responseURL(response));
		}
		if (location && !location.hash) {
			location.hash = requestFragment;
		}
		return location;
	}
	/**
	* @see https://www.rfc-editor.org/rfc/rfc1738#section-2.2
	* @param {string} url
	* @returns {boolean}
	*/
	function isValidEncodedURL(url) {
		for (let i = 0; i < url.length; ++i) {
			const code = url.charCodeAt(i);
			if (code > 126 || code < 32) {
				return false;
			}
		}
		return true;
	}
	/**
	* If string contains non-ASCII characters, assumes it's UTF-8 encoded and decodes it.
	* Since UTF-8 is a superset of ASCII, this will work for ASCII strings as well.
	* @param {string} value
	* @returns {string}
	*/
	function normalizeBinaryStringToUtf8(value) {
		return Buffer.from(value, "binary").toString("utf8");
	}
	/** @returns {URL} */
	function requestCurrentURL(request) {
		return request.urlList[request.urlList.length - 1];
	}
	function requestBadPort(request) {
		const url = requestCurrentURL(request);
		if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) {
			return "blocked";
		}
		return "allowed";
	}
	function isErrorLike(object) {
		return object instanceof Error || object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException";
	}
	function isValidReasonPhrase(statusText) {
		for (let i = 0; i < statusText.length; ++i) {
			const c = statusText.charCodeAt(i);
			if (!(c === 9 || c >= 32 && c <= 126 || c >= 128 && c <= 255)) {
				return false;
			}
		}
		return true;
	}
	/**
	* @see https://fetch.spec.whatwg.org/#header-name
	* @param {string} potentialValue
	*/
	const isValidHeaderName = isValidHTTPToken;
	/**
	* @see https://fetch.spec.whatwg.org/#header-value
	* @param {string} potentialValue
	*/
	function isValidHeaderValue(potentialValue) {
		return (potentialValue[0] === "	" || potentialValue[0] === " " || potentialValue[potentialValue.length - 1] === "	" || potentialValue[potentialValue.length - 1] === " " || potentialValue.includes("\n") || potentialValue.includes("\r") || potentialValue.includes("\0")) === false;
	}
	/**
	* Parse a referrer policy from a Referrer-Policy header
	* @see https://w3c.github.io/webappsec-referrer-policy/#parse-referrer-policy-from-header
	*/
	function parseReferrerPolicy(actualResponse) {
		const policyHeader = (actualResponse.headersList.get("referrer-policy", true) ?? "").split(",");
		let policy = "";
		if (policyHeader.length) {
			for (let i = policyHeader.length; i !== 0; i--) {
				const token = policyHeader[i - 1].trim();
				if (referrerPolicyTokens.has(token)) {
					policy = token;
					break;
				}
			}
		}
		return policy;
	}
	/**
	* Given a request request and a response actualResponse, this algorithm
	* updates request’s referrer policy according to the Referrer-Policy
	* header (if any) in actualResponse.
	* @see https://w3c.github.io/webappsec-referrer-policy/#set-requests-referrer-policy-on-redirect
	* @param {import('./request').Request} request
	* @param {import('./response').Response} actualResponse
	*/
	function setRequestReferrerPolicyOnRedirect(request, actualResponse) {
		const policy = parseReferrerPolicy(actualResponse);
		if (policy !== "") {
			request.referrerPolicy = policy;
		}
	}
	function crossOriginResourcePolicyCheck() {
		return "allowed";
	}
	function corsCheck() {
		return "success";
	}
	function TAOCheck() {
		return "success";
	}
	function appendFetchMetadata(httpRequest) {
		let header = null;
		header = httpRequest.mode;
		httpRequest.headersList.set("sec-fetch-mode", header, true);
	}
	function appendRequestOriginHeader(request) {
		let serializedOrigin = request.origin;
		if (serializedOrigin === "client" || serializedOrigin === undefined) {
			return;
		}
		if (request.responseTainting === "cors" || request.mode === "websocket") {
			request.headersList.append("origin", serializedOrigin, true);
		} else if (request.method !== "GET" && request.method !== "HEAD") {
			switch (request.referrerPolicy) {
				case "no-referrer":
					serializedOrigin = null;
					break;
				case "no-referrer-when-downgrade":
				case "strict-origin":
				case "strict-origin-when-cross-origin":
					if (request.origin && urlHasHttpsScheme(request.origin) && !urlHasHttpsScheme(requestCurrentURL(request))) {
						serializedOrigin = null;
					}
					break;
				case "same-origin":
					if (!sameOrigin(request, requestCurrentURL(request))) {
						serializedOrigin = null;
					}
					break;
				default:
			}
			request.headersList.append("origin", serializedOrigin, true);
		}
	}
	function coarsenTime(timestamp, crossOriginIsolatedCapability) {
		return timestamp;
	}
	function clampAndCoarsenConnectionTimingInfo(connectionTimingInfo, defaultStartTime, crossOriginIsolatedCapability) {
		if (!connectionTimingInfo?.startTime || connectionTimingInfo.startTime < defaultStartTime) {
			return {
				domainLookupStartTime: defaultStartTime,
				domainLookupEndTime: defaultStartTime,
				connectionStartTime: defaultStartTime,
				connectionEndTime: defaultStartTime,
				secureConnectionStartTime: defaultStartTime,
				ALPNNegotiatedProtocol: connectionTimingInfo?.ALPNNegotiatedProtocol
			};
		}
		return {
			domainLookupStartTime: coarsenTime(connectionTimingInfo.domainLookupStartTime, crossOriginIsolatedCapability),
			domainLookupEndTime: coarsenTime(connectionTimingInfo.domainLookupEndTime, crossOriginIsolatedCapability),
			connectionStartTime: coarsenTime(connectionTimingInfo.connectionStartTime, crossOriginIsolatedCapability),
			connectionEndTime: coarsenTime(connectionTimingInfo.connectionEndTime, crossOriginIsolatedCapability),
			secureConnectionStartTime: coarsenTime(connectionTimingInfo.secureConnectionStartTime, crossOriginIsolatedCapability),
			ALPNNegotiatedProtocol: connectionTimingInfo.ALPNNegotiatedProtocol
		};
	}
	function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
		return coarsenTime(performance$1.now(), crossOriginIsolatedCapability);
	}
	function createOpaqueTimingInfo(timingInfo) {
		return {
			startTime: timingInfo.startTime ?? 0,
			redirectStartTime: 0,
			redirectEndTime: 0,
			postRedirectStartTime: timingInfo.startTime ?? 0,
			finalServiceWorkerStartTime: 0,
			finalNetworkResponseStartTime: 0,
			finalNetworkRequestStartTime: 0,
			endTime: 0,
			encodedBodySize: 0,
			decodedBodySize: 0,
			finalConnectionTimingInfo: null
		};
	}
	function makePolicyContainer() {
		return { referrerPolicy: "strict-origin-when-cross-origin" };
	}
	function clonePolicyContainer(policyContainer) {
		return { referrerPolicy: policyContainer.referrerPolicy };
	}
	/**
	* Determine request’s Referrer
	*
	* @see https://w3c.github.io/webappsec-referrer-policy/#determine-requests-referrer
	*/
	function determineRequestsReferrer(request) {
		const policy = request.referrerPolicy;
		assert$28(policy);
		let referrerSource = null;
		if (request.referrer === "client") {
			const globalOrigin = getGlobalOrigin();
			if (!globalOrigin || globalOrigin.origin === "null") {
				return "no-referrer";
			}
			referrerSource = new URL(globalOrigin);
		} else if (webidl.is.URL(request.referrer)) {
			referrerSource = request.referrer;
		}
		let referrerURL = stripURLForReferrer(referrerSource);
		const referrerOrigin = stripURLForReferrer(referrerSource, true);
		if (referrerURL.toString().length > 4096) {
			referrerURL = referrerOrigin;
		}
		switch (policy) {
			case "no-referrer": return "no-referrer";
			case "origin":
				if (referrerOrigin != null) {
					return referrerOrigin;
				}
				return stripURLForReferrer(referrerSource, true);
			case "unsafe-url": return referrerURL;
			case "strict-origin": {
				const currentURL = requestCurrentURL(request);
				if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
					return "no-referrer";
				}
				return referrerOrigin;
			}
			case "strict-origin-when-cross-origin": {
				const currentURL = requestCurrentURL(request);
				if (sameOrigin(referrerURL, currentURL)) {
					return referrerURL;
				}
				if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
					return "no-referrer";
				}
				return referrerOrigin;
			}
			case "same-origin":
				if (sameOrigin(request, referrerURL)) {
					return referrerURL;
				}
				return "no-referrer";
			case "origin-when-cross-origin":
				if (sameOrigin(request, referrerURL)) {
					return referrerURL;
				}
				return referrerOrigin;
			case "no-referrer-when-downgrade": {
				const currentURL = requestCurrentURL(request);
				if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
					return "no-referrer";
				}
				return referrerURL;
			}
		}
	}
	/**
	* Certain portions of URLs must not be included when sending a URL as the
	* value of a `Referer` header: a URLs fragment, username, and password
	* components must be stripped from the URL before it’s sent out. This
	* algorithm accepts a origin-only flag, which defaults to false. If set to
	* true, the algorithm will additionally remove the URL’s path and query
	* components, leaving only the scheme, host, and port.
	*
	* @see https://w3c.github.io/webappsec-referrer-policy/#strip-url
	* @param {URL} url
	* @param {boolean} [originOnly=false]
	*/
	function stripURLForReferrer(url, originOnly = false) {
		assert$28(webidl.is.URL(url));
		url = new URL(url);
		if (urlIsLocal(url)) {
			return "no-referrer";
		}
		url.username = "";
		url.password = "";
		url.hash = "";
		if (originOnly === true) {
			url.pathname = "";
			url.search = "";
		}
		return url;
	}
	const isPotentialleTrustworthyIPv4 = RegExp.prototype.test.bind(/^127\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)$/);
	const isPotentiallyTrustworthyIPv6 = RegExp.prototype.test.bind(/^(?:(?:0{1,4}:){7}|(?:0{1,4}:){1,6}:|::)0{0,3}1$/);
	/**
	* Check if host matches one of the CIDR notations 127.0.0.0/8 or ::1/128.
	*
	* @param {string} origin
	* @returns {boolean}
	*/
	function isOriginIPPotentiallyTrustworthy(origin) {
		if (origin.includes(":")) {
			if (origin[0] === "[" && origin[origin.length - 1] === "]") {
				origin = origin.slice(1, -1);
			}
			return isPotentiallyTrustworthyIPv6(origin);
		}
		return isPotentialleTrustworthyIPv4(origin);
	}
	/**
	* A potentially trustworthy origin is one which a user agent can generally
	* trust as delivering data securely.
	*
	* Return value `true` means `Potentially Trustworthy`.
	* Return value `false` means `Not Trustworthy`.
	*
	* @see https://w3c.github.io/webappsec-secure-contexts/#is-origin-trustworthy
	* @param {string} origin
	* @returns {boolean}
	*/
	function isOriginPotentiallyTrustworthy(origin) {
		if (origin == null || origin === "null") {
			return false;
		}
		origin = new URL(origin);
		if (origin.protocol === "https:" || origin.protocol === "wss:") {
			return true;
		}
		if (isOriginIPPotentiallyTrustworthy(origin.hostname)) {
			return true;
		}
		if (origin.hostname === "localhost" || origin.hostname === "localhost.") {
			return true;
		}
		if (origin.hostname.endsWith(".localhost") || origin.hostname.endsWith(".localhost.")) {
			return true;
		}
		if (origin.protocol === "file:") {
			return true;
		}
		return false;
	}
	/**
	* A potentially trustworthy URL is one which either inherits context from its
	* creator (about:blank, about:srcdoc, data) or one whose origin is a
	* potentially trustworthy origin.
	*
	* Return value `true` means `Potentially Trustworthy`.
	* Return value `false` means `Not Trustworthy`.
	*
	* @see https://www.w3.org/TR/secure-contexts/#is-url-trustworthy
	* @param {URL} url
	* @returns {boolean}
	*/
	function isURLPotentiallyTrustworthy(url) {
		if (!webidl.is.URL(url)) {
			return false;
		}
		if (url.href === "about:blank" || url.href === "about:srcdoc") {
			return true;
		}
		if (url.protocol === "data:") return true;
		if (url.protocol === "blob:") return true;
		return isOriginPotentiallyTrustworthy(url.origin);
	}
	function tryUpgradeRequestToAPotentiallyTrustworthyURL(request) {}
	/**
	* @link {https://html.spec.whatwg.org/multipage/origin.html#same-origin}
	* @param {URL} A
	* @param {URL} B
	*/
	function sameOrigin(A, B) {
		if (A.origin === B.origin && A.origin === "null") {
			return true;
		}
		if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
			return true;
		}
		return false;
	}
	function isAborted(fetchParams) {
		return fetchParams.controller.state === "aborted";
	}
	function isCancelled(fetchParams) {
		return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
	}
	/**
	* @see https://fetch.spec.whatwg.org/#concept-method-normalize
	* @param {string} method
	*/
	function normalizeMethod(method) {
		return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
	}
	const esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
	/**
	* @see https://webidl.spec.whatwg.org/#dfn-iterator-prototype-object
	* @param {string} name name of the instance
	* @param {((target: any) => any)} kInternalIterator
	* @param {string | number} [keyIndex]
	* @param {string | number} [valueIndex]
	*/
	function createIterator(name, kInternalIterator, keyIndex = 0, valueIndex = 1) {
		class FastIterableIterator {
			/** @type {any} */
			#target;
			/** @type {'key' | 'value' | 'key+value'} */
			#kind;
			/** @type {number} */
			#index;
			/**
			* @see https://webidl.spec.whatwg.org/#dfn-default-iterator-object
			* @param {unknown} target
			* @param {'key' | 'value' | 'key+value'} kind
			*/
			constructor(target, kind) {
				this.#target = target;
				this.#kind = kind;
				this.#index = 0;
			}
			next() {
				if (typeof this !== "object" || this === null || !(#target in this)) {
					throw new TypeError(`'next' called on an object that does not implement interface ${name} Iterator.`);
				}
				const index = this.#index;
				const values = kInternalIterator(this.#target);
				const len = values.length;
				if (index >= len) {
					return {
						value: undefined,
						done: true
					};
				}
				const { [keyIndex]: key, [valueIndex]: value } = values[index];
				this.#index = index + 1;
				let result;
				switch (this.#kind) {
					case "key":
						result = key;
						break;
					case "value":
						result = value;
						break;
					case "key+value":
						result = [key, value];
						break;
				}
				return {
					value: result,
					done: false
				};
			}
		}
		delete FastIterableIterator.prototype.constructor;
		Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype);
		Object.defineProperties(FastIterableIterator.prototype, {
			[Symbol.toStringTag]: {
				writable: false,
				enumerable: false,
				configurable: true,
				value: `${name} Iterator`
			},
			next: {
				writable: true,
				enumerable: true,
				configurable: true
			}
		});
		/**
		* @param {unknown} target
		* @param {'key' | 'value' | 'key+value'} kind
		* @returns {IterableIterator<any>}
		*/
		return function(target, kind) {
			return new FastIterableIterator(target, kind);
		};
	}
	/**
	* @see https://webidl.spec.whatwg.org/#dfn-iterator-prototype-object
	* @param {string} name name of the instance
	* @param {any} object class
	* @param {(target: any) => any} kInternalIterator
	* @param {string | number} [keyIndex]
	* @param {string | number} [valueIndex]
	*/
	function iteratorMixin(name, object, kInternalIterator, keyIndex = 0, valueIndex = 1) {
		const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex);
		const properties = {
			keys: {
				writable: true,
				enumerable: true,
				configurable: true,
				value: function keys() {
					webidl.brandCheck(this, object);
					return makeIterator(this, "key");
				}
			},
			values: {
				writable: true,
				enumerable: true,
				configurable: true,
				value: function values() {
					webidl.brandCheck(this, object);
					return makeIterator(this, "value");
				}
			},
			entries: {
				writable: true,
				enumerable: true,
				configurable: true,
				value: function entries() {
					webidl.brandCheck(this, object);
					return makeIterator(this, "key+value");
				}
			},
			forEach: {
				writable: true,
				enumerable: true,
				configurable: true,
				value: function forEach(callbackfn, thisArg = globalThis) {
					webidl.brandCheck(this, object);
					webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`);
					if (typeof callbackfn !== "function") {
						throw new TypeError(`Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`);
					}
					for (const { 0: key, 1: value } of makeIterator(this, "key+value")) {
						callbackfn.call(thisArg, value, key, this);
					}
				}
			}
		};
		return Object.defineProperties(object.prototype, {
			...properties,
			[Symbol.iterator]: {
				writable: true,
				enumerable: false,
				configurable: true,
				value: properties.entries.value
			}
		});
	}
	/**
	* @param {import('./body').ExtractBodyResult} body
	* @param {(bytes: Uint8Array) => void} processBody
	* @param {(error: Error) => void} processBodyError
	* @returns {void}
	*
	* @see https://fetch.spec.whatwg.org/#body-fully-read
	*/
	function fullyReadBody(body, processBody, processBodyError) {
		const successSteps = processBody;
		const errorSteps = processBodyError;
		try {
			const reader = body.stream.getReader();
			readAllBytes(reader, successSteps, errorSteps);
		} catch (e) {
			errorSteps(e);
		}
	}
	/**
	* @param {ReadableStreamController<Uint8Array>} controller
	*/
	function readableStreamClose(controller) {
		try {
			controller.close();
			controller.byobRequest?.respond(0);
		} catch (err) {
			if (!err.message.includes("Controller is already closed") && !err.message.includes("ReadableStream is already closed")) {
				throw err;
			}
		}
	}
	/**
	* @see https://streams.spec.whatwg.org/#readablestreamdefaultreader-read-all-bytes
	* @see https://streams.spec.whatwg.org/#read-loop
	* @param {ReadableStream<Uint8Array<ArrayBuffer>>} reader
	* @param {(bytes: Uint8Array) => void} successSteps
	* @param {(error: Error) => void} failureSteps
	* @returns {Promise<void>}
	*/
	async function readAllBytes(reader, successSteps, failureSteps) {
		try {
			const bytes = [];
			let byteLength = 0;
			do {
				const { done, value: chunk } = await reader.read();
				if (done) {
					successSteps(Buffer.concat(bytes, byteLength));
					return;
				}
				if (!isUint8Array$1(chunk)) {
					failureSteps(new TypeError("Received non-Uint8Array chunk"));
					return;
				}
				bytes.push(chunk);
				byteLength += chunk.length;
			} while (true);
		} catch (e) {
			failureSteps(e);
		}
	}
	/**
	* @see https://fetch.spec.whatwg.org/#is-local
	* @param {URL} url
	* @returns {boolean}
	*/
	function urlIsLocal(url) {
		assert$28("protocol" in url);
		const protocol = url.protocol;
		return protocol === "about:" || protocol === "blob:" || protocol === "data:";
	}
	/**
	* @param {string|URL} url
	* @returns {boolean}
	*/
	function urlHasHttpsScheme(url) {
		return typeof url === "string" && url[5] === ":" && url[0] === "h" && url[1] === "t" && url[2] === "t" && url[3] === "p" && url[4] === "s" || url.protocol === "https:";
	}
	/**
	* @see https://fetch.spec.whatwg.org/#http-scheme
	* @param {URL} url
	*/
	function urlIsHttpHttpsScheme(url) {
		assert$28("protocol" in url);
		const protocol = url.protocol;
		return protocol === "http:" || protocol === "https:";
	}
	/**
	* @typedef {Object} RangeHeaderValue
	* @property {number|null} rangeStartValue
	* @property {number|null} rangeEndValue
	*/
	/**
	* @see https://fetch.spec.whatwg.org/#simple-range-header-value
	* @param {string} value
	* @param {boolean} allowWhitespace
	* @return {RangeHeaderValue|'failure'}
	*/
	function simpleRangeHeaderValue(value, allowWhitespace) {
		const data = value;
		if (!data.startsWith("bytes")) {
			return "failure";
		}
		const position = { position: 5 };
		if (allowWhitespace) {
			collectASequenceOfCodePoints((char) => char === "	" || char === " ", data, position);
		}
		if (data.charCodeAt(position.position) !== 61) {
			return "failure";
		}
		position.position++;
		if (allowWhitespace) {
			collectASequenceOfCodePoints((char) => char === "	" || char === " ", data, position);
		}
		const rangeStart = collectASequenceOfCodePoints((char) => {
			const code = char.charCodeAt(0);
			return code >= 48 && code <= 57;
		}, data, position);
		const rangeStartValue = rangeStart.length ? Number(rangeStart) : null;
		if (allowWhitespace) {
			collectASequenceOfCodePoints((char) => char === "	" || char === " ", data, position);
		}
		if (data.charCodeAt(position.position) !== 45) {
			return "failure";
		}
		position.position++;
		if (allowWhitespace) {
			collectASequenceOfCodePoints((char) => char === "	" || char === " ", data, position);
		}
		const rangeEnd = collectASequenceOfCodePoints((char) => {
			const code = char.charCodeAt(0);
			return code >= 48 && code <= 57;
		}, data, position);
		const rangeEndValue = rangeEnd.length ? Number(rangeEnd) : null;
		if (position.position < data.length) {
			return "failure";
		}
		if (rangeEndValue === null && rangeStartValue === null) {
			return "failure";
		}
		if (rangeStartValue > rangeEndValue) {
			return "failure";
		}
		return {
			rangeStartValue,
			rangeEndValue
		};
	}
	/**
	* @see https://fetch.spec.whatwg.org/#build-a-content-range
	* @param {number} rangeStart
	* @param {number} rangeEnd
	* @param {number} fullLength
	*/
	function buildContentRange(rangeStart, rangeEnd, fullLength) {
		let contentRange = "bytes ";
		contentRange += isomorphicEncode(`${rangeStart}`);
		contentRange += "-";
		contentRange += isomorphicEncode(`${rangeEnd}`);
		contentRange += "/";
		contentRange += isomorphicEncode(`${fullLength}`);
		return contentRange;
	}
	var InflateStream = class extends Transform$3 {
		#zlibOptions;
		/** @param {zlib.ZlibOptions} [zlibOptions] */
		constructor(zlibOptions) {
			super();
			this.#zlibOptions = zlibOptions;
		}
		_transform(chunk, encoding, callback) {
			if (!this._inflateStream) {
				if (chunk.length === 0) {
					callback();
					return;
				}
				this._inflateStream = (chunk[0] & 15) === 8 ? zlib$2.createInflate(this.#zlibOptions) : zlib$2.createInflateRaw(this.#zlibOptions);
				this._inflateStream.on("data", this.push.bind(this));
				this._inflateStream.on("end", () => this.push(null));
				this._inflateStream.on("error", (err) => this.destroy(err));
			}
			this._inflateStream.write(chunk, encoding, callback);
		}
		_final(callback) {
			if (this._inflateStream) {
				this._inflateStream.end();
				this._inflateStream = null;
			}
			callback();
		}
	};
	/**
	* @param {zlib.ZlibOptions} [zlibOptions]
	* @returns {InflateStream}
	*/
	function createInflate(zlibOptions) {
		return new InflateStream(zlibOptions);
	}
	/**
	* @see https://fetch.spec.whatwg.org/#concept-header-extract-mime-type
	* @param {import('./headers').HeadersList} headers
	*/
	function extractMimeType(headers) {
		let charset = null;
		let essence = null;
		let mimeType = null;
		const values = getDecodeSplit("content-type", headers);
		if (values === null) {
			return "failure";
		}
		for (const value of values) {
			const temporaryMimeType = parseMIMEType(value);
			if (temporaryMimeType === "failure" || temporaryMimeType.essence === "*/*") {
				continue;
			}
			mimeType = temporaryMimeType;
			if (mimeType.essence !== essence) {
				charset = null;
				if (mimeType.parameters.has("charset")) {
					charset = mimeType.parameters.get("charset");
				}
				essence = mimeType.essence;
			} else if (!mimeType.parameters.has("charset") && charset !== null) {
				mimeType.parameters.set("charset", charset);
			}
		}
		if (mimeType == null) {
			return "failure";
		}
		return mimeType;
	}
	/**
	* @see https://fetch.spec.whatwg.org/#header-value-get-decode-and-split
	* @param {string|null} value
	*/
	function gettingDecodingSplitting(value) {
		const input = value;
		const position = { position: 0 };
		const values = [];
		let temporaryValue = "";
		while (position.position < input.length) {
			temporaryValue += collectASequenceOfCodePoints((char) => char !== "\"" && char !== ",", input, position);
			if (position.position < input.length) {
				if (input.charCodeAt(position.position) === 34) {
					temporaryValue += collectAnHTTPQuotedString(input, position);
					if (position.position < input.length) {
						continue;
					}
				} else {
					assert$28(input.charCodeAt(position.position) === 44);
					position.position++;
				}
			}
			temporaryValue = removeChars(temporaryValue, true, true, (char) => char === 9 || char === 32);
			values.push(temporaryValue);
			temporaryValue = "";
		}
		return values;
	}
	/**
	* @see https://fetch.spec.whatwg.org/#concept-header-list-get-decode-split
	* @param {string} name lowercase header name
	* @param {import('./headers').HeadersList} list
	*/
	function getDecodeSplit(name, list) {
		const value = list.get(name, true);
		if (value === null) {
			return null;
		}
		return gettingDecodingSplitting(value);
	}
	function hasAuthenticationEntry(request) {
		return false;
	}
	/**
	* @see https://url.spec.whatwg.org/#include-credentials
	* @param {URL} url
	*/
	function includesCredentials(url) {
		return !!(url.username && url.password);
	}
	/**
	* @see https://html.spec.whatwg.org/multipage/document-sequences.html#traversable-navigable
	* @param {object|string} navigable
	*/
	function isTraversableNavigable(navigable) {
		return true;
	}
	var EnvironmentSettingsObjectBase = class {
		get baseUrl() {
			return getGlobalOrigin();
		}
		get origin() {
			return this.baseUrl?.origin;
		}
		policyContainer = makePolicyContainer();
	};
	var EnvironmentSettingsObject = class {
		settingsObject = new EnvironmentSettingsObjectBase();
	};
	const environmentSettingsObject = new EnvironmentSettingsObject();
	module.exports = {
		isAborted,
		isCancelled,
		isValidEncodedURL,
		ReadableStreamFrom,
		tryUpgradeRequestToAPotentiallyTrustworthyURL,
		clampAndCoarsenConnectionTimingInfo,
		coarsenedSharedCurrentTime,
		determineRequestsReferrer,
		makePolicyContainer,
		clonePolicyContainer,
		appendFetchMetadata,
		appendRequestOriginHeader,
		TAOCheck,
		corsCheck,
		crossOriginResourcePolicyCheck,
		createOpaqueTimingInfo,
		setRequestReferrerPolicyOnRedirect,
		isValidHTTPToken,
		requestBadPort,
		requestCurrentURL,
		responseURL,
		responseLocationURL,
		isURLPotentiallyTrustworthy,
		isValidReasonPhrase,
		sameOrigin,
		normalizeMethod,
		iteratorMixin,
		createIterator,
		isValidHeaderName,
		isValidHeaderValue,
		isErrorLike,
		fullyReadBody,
		readableStreamClose,
		urlIsLocal,
		urlHasHttpsScheme,
		urlIsHttpHttpsScheme,
		readAllBytes,
		simpleRangeHeaderValue,
		buildContentRange,
		createInflate,
		extractMimeType,
		getDecodeSplit,
		environmentSettingsObject,
		isOriginIPPotentiallyTrustworthy,
		hasAuthenticationEntry,
		includesCredentials,
		isTraversableNavigable
	};
}));

//#endregion
//#region ../node_modules/undici/lib/web/fetch/formdata.js
var require_formdata = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { iteratorMixin } = require_util$4();
	const { kEnumerableProperty } = require_util$5();
	const { webidl } = require_webidl();
	const nodeUtil$2 = __require("node:util");
	var FormData = class FormData {
		#state = [];
		constructor(form = undefined) {
			webidl.util.markAsUncloneable(this);
			if (form !== undefined) {
				throw webidl.errors.conversionFailed({
					prefix: "FormData constructor",
					argument: "Argument 1",
					types: ["undefined"]
				});
			}
		}
		append(name, value, filename = undefined) {
			webidl.brandCheck(this, FormData);
			const prefix = "FormData.append";
			webidl.argumentLengthCheck(arguments, 2, prefix);
			name = webidl.converters.USVString(name);
			if (arguments.length === 3 || webidl.is.Blob(value)) {
				value = webidl.converters.Blob(value, prefix, "value");
				if (filename !== undefined) {
					filename = webidl.converters.USVString(filename);
				}
			} else {
				value = webidl.converters.USVString(value);
			}
			const entry = makeEntry(name, value, filename);
			this.#state.push(entry);
		}
		delete(name) {
			webidl.brandCheck(this, FormData);
			const prefix = "FormData.delete";
			webidl.argumentLengthCheck(arguments, 1, prefix);
			name = webidl.converters.USVString(name);
			this.#state = this.#state.filter((entry) => entry.name !== name);
		}
		get(name) {
			webidl.brandCheck(this, FormData);
			const prefix = "FormData.get";
			webidl.argumentLengthCheck(arguments, 1, prefix);
			name = webidl.converters.USVString(name);
			const idx = this.#state.findIndex((entry) => entry.name === name);
			if (idx === -1) {
				return null;
			}
			return this.#state[idx].value;
		}
		getAll(name) {
			webidl.brandCheck(this, FormData);
			const prefix = "FormData.getAll";
			webidl.argumentLengthCheck(arguments, 1, prefix);
			name = webidl.converters.USVString(name);
			return this.#state.filter((entry) => entry.name === name).map((entry) => entry.value);
		}
		has(name) {
			webidl.brandCheck(this, FormData);
			const prefix = "FormData.has";
			webidl.argumentLengthCheck(arguments, 1, prefix);
			name = webidl.converters.USVString(name);
			return this.#state.findIndex((entry) => entry.name === name) !== -1;
		}
		set(name, value, filename = undefined) {
			webidl.brandCheck(this, FormData);
			const prefix = "FormData.set";
			webidl.argumentLengthCheck(arguments, 2, prefix);
			name = webidl.converters.USVString(name);
			if (arguments.length === 3 || webidl.is.Blob(value)) {
				value = webidl.converters.Blob(value, prefix, "value");
				if (filename !== undefined) {
					filename = webidl.converters.USVString(filename);
				}
			} else {
				value = webidl.converters.USVString(value);
			}
			const entry = makeEntry(name, value, filename);
			const idx = this.#state.findIndex((entry) => entry.name === name);
			if (idx !== -1) {
				this.#state = [
					...this.#state.slice(0, idx),
					entry,
					...this.#state.slice(idx + 1).filter((entry) => entry.name !== name)
				];
			} else {
				this.#state.push(entry);
			}
		}
		[nodeUtil$2.inspect.custom](depth, options) {
			const state = this.#state.reduce((a, b) => {
				if (a[b.name]) {
					if (Array.isArray(a[b.name])) {
						a[b.name].push(b.value);
					} else {
						a[b.name] = [a[b.name], b.value];
					}
				} else {
					a[b.name] = b.value;
				}
				return a;
			}, { __proto__: null });
			options.depth ??= depth;
			options.colors ??= true;
			const output = nodeUtil$2.formatWithOptions(options, state);
			return `FormData ${output.slice(output.indexOf("]") + 2)}`;
		}
		/**
		* @param {FormData} formData
		*/
		static getFormDataState(formData) {
			return formData.#state;
		}
		/**
		* @param {FormData} formData
		* @param {any[]} newState
		*/
		static setFormDataState(formData, newState) {
			formData.#state = newState;
		}
	};
	const { getFormDataState, setFormDataState } = FormData;
	Reflect.deleteProperty(FormData, "getFormDataState");
	Reflect.deleteProperty(FormData, "setFormDataState");
	iteratorMixin("FormData", FormData, getFormDataState, "name", "value");
	Object.defineProperties(FormData.prototype, {
		append: kEnumerableProperty,
		delete: kEnumerableProperty,
		get: kEnumerableProperty,
		getAll: kEnumerableProperty,
		has: kEnumerableProperty,
		set: kEnumerableProperty,
		[Symbol.toStringTag]: {
			value: "FormData",
			configurable: true
		}
	});
	/**
	* @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#create-an-entry
	* @param {string} name
	* @param {string|Blob} value
	* @param {?string} filename
	* @returns
	*/
	function makeEntry(name, value, filename) {
		if (typeof value === "string") {} else {
			if (!webidl.is.File(value)) {
				value = new File([value], "blob", { type: value.type });
			}
			if (filename !== undefined) {
				/** @type {FilePropertyBag} */
				const options = {
					type: value.type,
					lastModified: value.lastModified
				};
				value = new File([value], filename, options);
			}
		}
		return {
			name,
			value
		};
	}
	webidl.is.FormData = webidl.util.MakeTypeAssertion(FormData);
	module.exports = {
		FormData,
		makeEntry,
		setFormDataState
	};
}));

//#endregion
//#region ../node_modules/undici/lib/web/fetch/formdata-parser.js
var require_formdata_parser = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { bufferToLowerCasedHeaderName } = require_util$5();
	const { HTTP_TOKEN_CODEPOINTS } = require_data_url();
	const { makeEntry } = require_formdata();
	const { webidl } = require_webidl();
	const assert$27 = __require("node:assert");
	const { isomorphicDecode } = require_infra();
	const { utf8DecodeBytes } = require_encoding();
	const dd = Buffer.from("--");
	const decoder = new TextDecoder();
	/**
	* @param {string} chars
	*/
	function isAsciiString(chars) {
		for (let i = 0; i < chars.length; ++i) {
			if ((chars.charCodeAt(i) & ~127) !== 0) {
				return false;
			}
		}
		return true;
	}
	/**
	* @see https://andreubotella.github.io/multipart-form-data/#multipart-form-data-boundary
	* @param {string} boundary
	*/
	function validateBoundary(boundary) {
		const length = boundary.length;
		if (length < 27 || length > 70) {
			return false;
		}
		for (let i = 0; i < length; ++i) {
			const cp = boundary.charCodeAt(i);
			if (!(cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 39 || cp === 45 || cp === 95)) {
				return false;
			}
		}
		return true;
	}
	/**
	* @see https://andreubotella.github.io/multipart-form-data/#multipart-form-data-parser
	* @param {Buffer} input
	* @param {ReturnType<import('./data-url')['parseMIMEType']>} mimeType
	*/
	function multipartFormDataParser(input, mimeType) {
		assert$27(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
		const boundaryString = mimeType.parameters.get("boundary");
		if (boundaryString === undefined) {
			throw parsingError("missing boundary in content-type header");
		}
		const boundary = Buffer.from(`--${boundaryString}`, "utf8");
		const entryList = [];
		const position = { position: 0 };
		const firstBoundaryIndex = input.indexOf(boundary);
		if (firstBoundaryIndex === -1) {
			throw parsingError("no boundary found in multipart body");
		}
		position.position = firstBoundaryIndex;
		while (true) {
			if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) {
				position.position += boundary.length;
			} else {
				throw parsingError("expected a value starting with -- and the boundary");
			}
			if (bufferStartsWith(input, dd, position)) {
				return entryList;
			}
			if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
				throw parsingError("expected CRLF");
			}
			position.position += 2;
			const result = parseMultipartFormDataHeaders(input, position);
			let { name, filename, contentType, encoding } = result;
			position.position += 2;
			let body;
			{
				const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
				if (boundaryIndex === -1) {
					throw parsingError("expected boundary after body");
				}
				body = input.subarray(position.position, boundaryIndex - 4);
				position.position += body.length;
				if (encoding === "base64") {
					body = Buffer.from(body.toString(), "base64");
				}
			}
			if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
				throw parsingError("expected CRLF");
			} else {
				position.position += 2;
			}
			let value;
			if (filename !== null) {
				contentType ??= "text/plain";
				if (!isAsciiString(contentType)) {
					contentType = "";
				}
				value = new File([body], filename, { type: contentType });
			} else {
				value = utf8DecodeBytes(Buffer.from(body));
			}
			assert$27(webidl.is.USVString(name));
			assert$27(typeof value === "string" && webidl.is.USVString(value) || webidl.is.File(value));
			entryList.push(makeEntry(name, value, filename));
		}
	}
	/**
	* Parses content-disposition attributes (e.g., name="value" or filename*=utf-8''encoded)
	* @param {Buffer} input
	* @param {{ position: number }} position
	* @returns {{ name: string, value: string }}
	*/
	function parseContentDispositionAttribute(input, position) {
		if (input[position.position] === 59) {
			position.position++;
		}
		collectASequenceOfBytes((char) => char === 32 || char === 9, input, position);
		const attributeName = collectASequenceOfBytes((char) => isToken(char) && char !== 61 && char !== 42, input, position);
		if (attributeName.length === 0) {
			return null;
		}
		const attrNameStr = attributeName.toString("ascii").toLowerCase();
		const isExtended = input[position.position] === 42;
		if (isExtended) {
			position.position++;
		}
		if (input[position.position] !== 61) {
			return null;
		}
		position.position++;
		collectASequenceOfBytes((char) => char === 32 || char === 9, input, position);
		let value;
		if (isExtended) {
			const headerValue = collectASequenceOfBytes((char) => char !== 32 && char !== 13 && char !== 10 && char !== 59, input, position);
			if (headerValue[0] !== 117 && headerValue[0] !== 85 || headerValue[1] !== 116 && headerValue[1] !== 84 || headerValue[2] !== 102 && headerValue[2] !== 70 || headerValue[3] !== 45 || headerValue[4] !== 56) {
				throw parsingError("unknown encoding, expected utf-8''");
			}
			value = decodeURIComponent(decoder.decode(headerValue.subarray(7)));
		} else if (input[position.position] === 34) {
			position.position++;
			const quotedValue = collectASequenceOfBytes((char) => char !== 10 && char !== 13 && char !== 34, input, position);
			if (input[position.position] !== 34) {
				throw parsingError("Closing quote not found");
			}
			position.position++;
			value = decoder.decode(quotedValue).replace(/%0A/gi, "\n").replace(/%0D/gi, "\r").replace(/%22/g, "\"");
		} else {
			const tokenValue = collectASequenceOfBytes((char) => isToken(char) && char !== 59, input, position);
			value = decoder.decode(tokenValue);
		}
		return {
			name: attrNameStr,
			value
		};
	}
	/**
	* @see https://andreubotella.github.io/multipart-form-data/#parse-multipart-form-data-headers
	* @param {Buffer} input
	* @param {{ position: number }} position
	*/
	function parseMultipartFormDataHeaders(input, position) {
		let name = null;
		let filename = null;
		let contentType = null;
		let encoding = null;
		while (true) {
			if (input[position.position] === 13 && input[position.position + 1] === 10) {
				if (name === null) {
					throw parsingError("header name is null");
				}
				return {
					name,
					filename,
					contentType,
					encoding
				};
			}
			let headerName = collectASequenceOfBytes((char) => char !== 10 && char !== 13 && char !== 58, input, position);
			headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32);
			if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {
				throw parsingError("header name does not match the field-name token production");
			}
			if (input[position.position] !== 58) {
				throw parsingError("expected :");
			}
			position.position++;
			collectASequenceOfBytes((char) => char === 32 || char === 9, input, position);
			switch (bufferToLowerCasedHeaderName(headerName)) {
				case "content-disposition": {
					name = filename = null;
					const dispositionType = collectASequenceOfBytes((char) => isToken(char), input, position);
					if (dispositionType.toString("ascii").toLowerCase() !== "form-data") {
						throw parsingError("expected form-data for content-disposition header");
					}
					while (position.position < input.length && input[position.position] !== 13 && input[position.position + 1] !== 10) {
						const attribute = parseContentDispositionAttribute(input, position);
						if (!attribute) {
							break;
						}
						if (attribute.name === "name") {
							name = attribute.value;
						} else if (attribute.name === "filename") {
							filename = attribute.value;
						}
					}
					if (name === null) {
						throw parsingError("name attribute is required in content-disposition header");
					}
					break;
				}
				case "content-type": {
					let headerValue = collectASequenceOfBytes((char) => char !== 10 && char !== 13, input, position);
					headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
					contentType = isomorphicDecode(headerValue);
					break;
				}
				case "content-transfer-encoding": {
					let headerValue = collectASequenceOfBytes((char) => char !== 10 && char !== 13, input, position);
					headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
					encoding = isomorphicDecode(headerValue);
					break;
				}
				default: {
					collectASequenceOfBytes((char) => char !== 10 && char !== 13, input, position);
				}
			}
			if (input[position.position] !== 13 && input[position.position + 1] !== 10) {
				throw parsingError("expected CRLF");
			} else {
				position.position += 2;
			}
		}
	}
	/**
	* @param {(char: number) => boolean} condition
	* @param {Buffer} input
	* @param {{ position: number }} position
	*/
	function collectASequenceOfBytes(condition, input, position) {
		let start = position.position;
		while (start < input.length && condition(input[start])) {
			++start;
		}
		return input.subarray(position.position, position.position = start);
	}
	/**
	* @param {Buffer} buf
	* @param {boolean} leading
	* @param {boolean} trailing
	* @param {(charCode: number) => boolean} predicate
	* @returns {Buffer}
	*/
	function removeChars(buf, leading, trailing, predicate) {
		let lead = 0;
		let trail = buf.length - 1;
		if (leading) {
			while (lead < buf.length && predicate(buf[lead])) lead++;
		}
		if (trailing) {
			while (trail > 0 && predicate(buf[trail])) trail--;
		}
		return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
	}
	/**
	* Checks if {@param buffer} starts with {@param start}
	* @param {Buffer} buffer
	* @param {Buffer} start
	* @param {{ position: number }} position
	*/
	function bufferStartsWith(buffer, start, position) {
		if (buffer.length < start.length) {
			return false;
		}
		for (let i = 0; i < start.length; i++) {
			if (start[i] !== buffer[position.position + i]) {
				return false;
			}
		}
		return true;
	}
	function parsingError(cause) {
		return new TypeError("Failed to parse body as FormData.", { cause: new TypeError(cause) });
	}
	/**
	* CTL            = <any US-ASCII control character
	*                  (octets 0 - 31) and DEL (127)>
	* @param {number} char
	*/
	function isCTL(char) {
		return char <= 31 || char === 127;
	}
	/**
	* tspecials :=  "(" / ")" / "<" / ">" / "@" /
	*                "," / ";" / ":" / "\" / <">
	*                "/" / "[" / "]" / "?" / "="
	*                ; Must be in quoted-string,
	*                ; to use within parameter values
	* @param {number} char
	*/
	function isTSpecial(char) {
		return char === 40 || char === 41 || char === 60 || char === 62 || char === 64 || char === 44 || char === 59 || char === 58 || char === 92 || char === 34 || char === 47 || char === 91 || char === 93 || char === 63 || char === 61;
	}
	/**
	* token := 1*<any (US-ASCII) CHAR except SPACE, CTLs,
	*          or tspecials>
	* @param {number} char
	*/
	function isToken(char) {
		return char <= 127 && char !== 32 && char !== 9 && !isCTL(char) && !isTSpecial(char);
	}
	module.exports = {
		multipartFormDataParser,
		validateBoundary
	};
}));

//#endregion
//#region ../node_modules/undici/lib/util/promise.js
var require_promise = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* @template {*} T
	* @typedef {Object} DeferredPromise
	* @property {Promise<T>} promise
	* @property {(value?: T) => void} resolve
	* @property {(reason?: any) => void} reject
	*/
	/**
	* @template {*} T
	* @returns {DeferredPromise<T>} An object containing a promise and its resolve/reject methods.
	*/
	function createDeferredPromise() {
		let res;
		let rej;
		const promise = new Promise((resolve, reject) => {
			res = resolve;
			rej = reject;
		});
		return {
			promise,
			resolve: res,
			reject: rej
		};
	}
	module.exports = { createDeferredPromise };
}));

//#endregion
//#region ../node_modules/undici/lib/web/fetch/body.js
var require_body$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const util = require_util$5();
	const { ReadableStreamFrom, readableStreamClose, fullyReadBody, extractMimeType } = require_util$4();
	const { FormData, setFormDataState } = require_formdata();
	const { webidl } = require_webidl();
	const assert$26 = __require("node:assert");
	const { isErrored: isErrored$1, isDisturbed } = __require("node:stream");
	const { isUint8Array } = __require("node:util/types");
	const { serializeAMimeType } = require_data_url();
	const { multipartFormDataParser } = require_formdata_parser();
	const { createDeferredPromise } = require_promise();
	const { parseJSONFromBytes } = require_infra();
	const { utf8DecodeBytes } = require_encoding();
	const { runtimeFeatures } = require_runtime_features();
	const random$1 = runtimeFeatures.has("crypto") ? __require("node:crypto").randomInt : (max) => Math.floor(Math.random() * max);
	const textEncoder = new TextEncoder();
	function noop() {}
	const streamRegistry = new FinalizationRegistry((weakRef) => {
		const stream = weakRef.deref();
		if (stream && !stream.locked && !isDisturbed(stream) && !isErrored$1(stream)) {
			stream.cancel("Response object has been garbage collected").catch(noop);
		}
	});
	/**
	* Extract a body with type from a byte sequence or BodyInit object
	*
	* @param {import('../../../types').BodyInit} object - The BodyInit object to extract from
	* @param {boolean} [keepalive=false] - If true, indicates that the body
	* @returns {[{stream: ReadableStream, source: any, length: number | null}, string | null]} - Returns a tuple containing the body and its type
	*
	* @see https://fetch.spec.whatwg.org/#concept-bodyinit-extract
	*/
	function extractBody(object, keepalive = false) {
		let stream = null;
		let controller = null;
		if (webidl.is.ReadableStream(object)) {
			stream = object;
		} else if (webidl.is.Blob(object)) {
			stream = object.stream();
		} else {
			stream = new ReadableStream({
				pull() {},
				start(c) {
					controller = c;
				},
				cancel() {},
				type: "bytes"
			});
		}
		assert$26(webidl.is.ReadableStream(stream));
		let action = null;
		let source = null;
		let length = null;
		let type = null;
		if (typeof object === "string") {
			source = object;
			type = "text/plain;charset=UTF-8";
		} else if (webidl.is.URLSearchParams(object)) {
			source = object.toString();
			type = "application/x-www-form-urlencoded;charset=UTF-8";
		} else if (webidl.is.BufferSource(object)) {
			source = webidl.util.getCopyOfBytesHeldByBufferSource(object);
		} else if (webidl.is.FormData(object)) {
			const boundary = `----formdata-undici-0${`${random$1(1e11)}`.padStart(11, "0")}`;
			const prefix = `--${boundary}\r\nContent-Disposition: form-data`;
			/*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */
			const formdataEscape = (str) => str.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
			const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
			const blobParts = [];
			const rn = new Uint8Array([13, 10]);
			length = 0;
			let hasUnknownSizeValue = false;
			for (const [name, value] of object) {
				if (typeof value === "string") {
					const chunk = textEncoder.encode(prefix + `; name="${formdataEscape(normalizeLinefeeds(name))}"` + `\r\n\r\n${normalizeLinefeeds(value)}\r\n`);
					blobParts.push(chunk);
					length += chunk.byteLength;
				} else {
					const chunk = textEncoder.encode(`${prefix}; name="${formdataEscape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${formdataEscape(value.name)}"` : "") + "\r\n" + `Content-Type: ${value.type || "application/octet-stream"}\r\n\r\n`);
					blobParts.push(chunk, value, rn);
					if (typeof value.size === "number") {
						length += chunk.byteLength + value.size + rn.byteLength;
					} else {
						hasUnknownSizeValue = true;
					}
				}
			}
			const chunk = textEncoder.encode(`--${boundary}--\r\n`);
			blobParts.push(chunk);
			length += chunk.byteLength;
			if (hasUnknownSizeValue) {
				length = null;
			}
			source = object;
			action = async function* () {
				for (const part of blobParts) {
					if (part.stream) {
						yield* part.stream();
					} else {
						yield part;
					}
				}
			};
			type = `multipart/form-data; boundary=${boundary}`;
		} else if (webidl.is.Blob(object)) {
			source = object;
			length = object.size;
			if (object.type) {
				type = object.type;
			}
		} else if (typeof object[Symbol.asyncIterator] === "function") {
			if (keepalive) {
				throw new TypeError("keepalive");
			}
			if (util.isDisturbed(object) || object.locked) {
				throw new TypeError("Response body object should not be disturbed or locked");
			}
			stream = webidl.is.ReadableStream(object) ? object : ReadableStreamFrom(object);
		}
		if (typeof source === "string" || isUint8Array(source)) {
			action = () => {
				length = typeof source === "string" ? Buffer.byteLength(source) : source.length;
				return source;
			};
		}
		if (action != null) {
			;
			(async () => {
				const result = action();
				const iterator = result?.[Symbol.asyncIterator]?.();
				if (iterator) {
					for await (const bytes of iterator) {
						if (isErrored$1(stream)) break;
						if (bytes.length) {
							controller.enqueue(new Uint8Array(bytes));
						}
					}
				} else if (result?.length && !isErrored$1(stream)) {
					controller.enqueue(typeof result === "string" ? textEncoder.encode(result) : new Uint8Array(result));
				}
				queueMicrotask(() => readableStreamClose(controller));
			})();
		}
		const body = {
			stream,
			source,
			length
		};
		return [body, type];
	}
	/**
	* @typedef {object} ExtractBodyResult
	* @property {ReadableStream<Uint8Array<ArrayBuffer>>} stream - The ReadableStream containing the body data
	* @property {any} source - The original source of the body data
	* @property {number | null} length - The length of the body data, or null
	*/
	/**
	* Safely extract a body with type from a byte sequence or BodyInit object.
	*
	* @param {import('../../../types').BodyInit} object - The BodyInit object to extract from
	* @param {boolean} [keepalive=false] - If true, indicates that the body
	* @returns {[ExtractBodyResult, string | null]} - Returns a tuple containing the body and its type
	*
	* @see https://fetch.spec.whatwg.org/#bodyinit-safely-extract
	*/
	function safelyExtractBody(object, keepalive = false) {
		if (webidl.is.ReadableStream(object)) {
			assert$26(!util.isDisturbed(object), "The body has already been consumed.");
			assert$26(!object.locked, "The stream is locked.");
		}
		return extractBody(object, keepalive);
	}
	function cloneBody(body) {
		const { 0: out1, 1: out2 } = body.stream.tee();
		body.stream = out1;
		return {
			stream: out2,
			length: body.length,
			source: body.source
		};
	}
	function bodyMixinMethods(instance, getInternalState) {
		const methods = {
			blob() {
				return consumeBody(this, (bytes) => {
					let mimeType = bodyMimeType(getInternalState(this));
					if (mimeType === null) {
						mimeType = "";
					} else if (mimeType) {
						mimeType = serializeAMimeType(mimeType);
					}
					return new Blob([bytes], { type: mimeType });
				}, instance, getInternalState);
			},
			arrayBuffer() {
				return consumeBody(this, (bytes) => {
					return new Uint8Array(bytes).buffer;
				}, instance, getInternalState);
			},
			text() {
				return consumeBody(this, utf8DecodeBytes, instance, getInternalState);
			},
			json() {
				return consumeBody(this, parseJSONFromBytes, instance, getInternalState);
			},
			formData() {
				return consumeBody(this, (value) => {
					const mimeType = bodyMimeType(getInternalState(this));
					if (mimeType !== null) {
						switch (mimeType.essence) {
							case "multipart/form-data": {
								const parsed = multipartFormDataParser(value, mimeType);
								const fd = new FormData();
								setFormDataState(fd, parsed);
								return fd;
							}
							case "application/x-www-form-urlencoded": {
								const entries = new URLSearchParams(value.toString());
								const fd = new FormData();
								for (const [name, value] of entries) {
									fd.append(name, value);
								}
								return fd;
							}
						}
					}
					throw new TypeError("Content-Type was not one of \"multipart/form-data\" or \"application/x-www-form-urlencoded\".");
				}, instance, getInternalState);
			},
			bytes() {
				return consumeBody(this, (bytes) => {
					return new Uint8Array(bytes);
				}, instance, getInternalState);
			}
		};
		return methods;
	}
	function mixinBody(prototype, getInternalState) {
		Object.assign(prototype.prototype, bodyMixinMethods(prototype, getInternalState));
	}
	/**
	* @see https://fetch.spec.whatwg.org/#concept-body-consume-body
	* @param {any} object internal state
	* @param {(value: unknown) => unknown} convertBytesToJSValue
	* @param {any} instance
	* @param {(target: any) => any} getInternalState
	*/
	function consumeBody(object, convertBytesToJSValue, instance, getInternalState) {
		try {
			webidl.brandCheck(object, instance);
		} catch (e) {
			return Promise.reject(e);
		}
		object = getInternalState(object);
		if (bodyUnusable(object)) {
			return Promise.reject(new TypeError("Body is unusable: Body has already been read"));
		}
		const promise = createDeferredPromise();
		const errorSteps = promise.reject;
		const successSteps = (data) => {
			try {
				promise.resolve(convertBytesToJSValue(data));
			} catch (e) {
				errorSteps(e);
			}
		};
		if (object.body == null) {
			successSteps(Buffer.allocUnsafe(0));
			return promise.promise;
		}
		fullyReadBody(object.body, successSteps, errorSteps);
		return promise.promise;
	}
	/**
	* @see https://fetch.spec.whatwg.org/#body-unusable
	* @param {any} object internal state
	*/
	function bodyUnusable(object) {
		const body = object.body;
		return body != null && (body.stream.locked || util.isDisturbed(body.stream));
	}
	/**
	* @see https://fetch.spec.whatwg.org/#concept-body-mime-type
	* @param {any} requestOrResponse internal state
	*/
	function bodyMimeType(requestOrResponse) {
		/** @type {import('./headers').HeadersList} */
		const headers = requestOrResponse.headersList;
		const mimeType = extractMimeType(headers);
		if (mimeType === "failure") {
			return null;
		}
		return mimeType;
	}
	module.exports = {
		extractBody,
		safelyExtractBody,
		cloneBody,
		mixinBody,
		streamRegistry,
		bodyUnusable
	};
}));

//#endregion
//#region ../node_modules/undici/lib/dispatcher/client-h1.js
var require_client_h1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const assert$25 = __require("node:assert");
	const util = require_util$5();
	const { channels } = require_diagnostics();
	const timers = require_timers();
	const { RequestContentLengthMismatchError, ResponseContentLengthMismatchError, RequestAbortedError, HeadersTimeoutError, HeadersOverflowError, SocketError, InformationalError, BodyTimeoutError, HTTPParserError, ResponseExceededMaxSizeError } = require_errors();
	const { kUrl, kReset, kClient, kParser, kBlocking, kRunning, kPending, kSize, kWriting, kQueue, kNoRef, kKeepAliveDefaultTimeout, kHostHeader, kPendingIdx, kRunningIdx, kError, kPipelining, kSocket, kKeepAliveTimeoutValue, kMaxHeadersSize, kKeepAliveMaxTimeout, kKeepAliveTimeoutThreshold, kHeadersTimeout, kBodyTimeout, kStrictContentLength, kMaxRequests, kCounter, kMaxResponseSize, kOnError, kResume, kHTTPContext, kClosed } = require_symbols();
	const constants = require_constants$3();
	const EMPTY_BUF = Buffer.alloc(0);
	const FastBuffer = Buffer[Symbol.species];
	const removeAllListeners = util.removeAllListeners;
	let extractBody;
	function lazyllhttp() {
		const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm() : undefined;
		let mod;
		let useWasmSIMD = process.arch !== "ppc64";
		if (process.env.UNDICI_NO_WASM_SIMD === "1") {
			useWasmSIMD = true;
		} else if (process.env.UNDICI_NO_WASM_SIMD === "0") {
			useWasmSIMD = false;
		}
		if (useWasmSIMD) {
			try {
				mod = new WebAssembly.Module(require_llhttp_simd_wasm());
			} catch {}
		}
		if (!mod) {
			mod = new WebAssembly.Module(llhttpWasmData || require_llhttp_wasm());
		}
		return new WebAssembly.Instance(mod, { env: {
			wasm_on_url: (p, at, len) => {
				return 0;
			},
			wasm_on_status: (p, at, len) => {
				assert$25(currentParser.ptr === p);
				const start = at - currentBufferPtr + currentBufferRef.byteOffset;
				return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len));
			},
			wasm_on_message_begin: (p) => {
				assert$25(currentParser.ptr === p);
				return currentParser.onMessageBegin();
			},
			wasm_on_header_field: (p, at, len) => {
				assert$25(currentParser.ptr === p);
				const start = at - currentBufferPtr + currentBufferRef.byteOffset;
				return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len));
			},
			wasm_on_header_value: (p, at, len) => {
				assert$25(currentParser.ptr === p);
				const start = at - currentBufferPtr + currentBufferRef.byteOffset;
				return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len));
			},
			wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
				assert$25(currentParser.ptr === p);
				return currentParser.onHeadersComplete(statusCode, upgrade === 1, shouldKeepAlive === 1);
			},
			wasm_on_body: (p, at, len) => {
				assert$25(currentParser.ptr === p);
				const start = at - currentBufferPtr + currentBufferRef.byteOffset;
				return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len));
			},
			wasm_on_message_complete: (p) => {
				assert$25(currentParser.ptr === p);
				return currentParser.onMessageComplete();
			}
		} });
	}
	let llhttpInstance = null;
	/**
	* @type {Parser|null}
	*/
	let currentParser = null;
	let currentBufferRef = null;
	/**
	* @type {number}
	*/
	let currentBufferSize = 0;
	let currentBufferPtr = null;
	const USE_NATIVE_TIMER = 0;
	const USE_FAST_TIMER = 1;
	const TIMEOUT_HEADERS = 2 | USE_FAST_TIMER;
	const TIMEOUT_BODY = 4 | USE_FAST_TIMER;
	const TIMEOUT_KEEP_ALIVE = 8 | USE_NATIVE_TIMER;
	var Parser = class {
		/**
		* @param {import('./client.js')} client
		* @param {import('net').Socket} socket
		* @param {*} llhttp
		*/
		constructor(client, socket, { exports: exports$2 }) {
			this.llhttp = exports$2;
			this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
			this.client = client;
			/**
			* @type {import('net').Socket}
			*/
			this.socket = socket;
			this.timeout = null;
			this.timeoutValue = null;
			this.timeoutType = null;
			this.statusCode = 0;
			this.statusText = "";
			this.upgrade = false;
			this.headers = [];
			this.headersSize = 0;
			this.headersMaxSize = client[kMaxHeadersSize];
			this.shouldKeepAlive = false;
			this.paused = false;
			this.resume = this.resume.bind(this);
			this.bytesRead = 0;
			this.keepAlive = "";
			this.contentLength = "";
			this.connection = "";
			this.maxResponseSize = client[kMaxResponseSize];
		}
		setTimeout(delay, type) {
			if (delay !== this.timeoutValue || type & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
				if (this.timeout) {
					timers.clearTimeout(this.timeout);
					this.timeout = null;
				}
				if (delay) {
					if (type & USE_FAST_TIMER) {
						this.timeout = timers.setFastTimeout(onParserTimeout, delay, new WeakRef(this));
					} else {
						this.timeout = setTimeout(onParserTimeout, delay, new WeakRef(this));
						this.timeout?.unref();
					}
				}
				this.timeoutValue = delay;
			} else if (this.timeout) {
				if (this.timeout.refresh) {
					this.timeout.refresh();
				}
			}
			this.timeoutType = type;
		}
		resume() {
			if (this.socket.destroyed || !this.paused) {
				return;
			}
			assert$25(this.ptr != null);
			assert$25(currentParser === null);
			this.llhttp.llhttp_resume(this.ptr);
			assert$25(this.timeoutType === TIMEOUT_BODY);
			if (this.timeout) {
				if (this.timeout.refresh) {
					this.timeout.refresh();
				}
			}
			this.paused = false;
			this.execute(this.socket.read() || EMPTY_BUF);
			this.readMore();
		}
		readMore() {
			while (!this.paused && this.ptr) {
				const chunk = this.socket.read();
				if (chunk === null) {
					break;
				}
				this.execute(chunk);
			}
		}
		/**
		* @param {Buffer} chunk
		*/
		execute(chunk) {
			assert$25(currentParser === null);
			assert$25(this.ptr != null);
			assert$25(!this.paused);
			const { socket, llhttp } = this;
			if (chunk.length > currentBufferSize) {
				if (currentBufferPtr) {
					llhttp.free(currentBufferPtr);
				}
				currentBufferSize = Math.ceil(chunk.length / 4096) * 4096;
				currentBufferPtr = llhttp.malloc(currentBufferSize);
			}
			new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(chunk);
			try {
				let ret;
				try {
					currentBufferRef = chunk;
					currentParser = this;
					ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, chunk.length);
				} finally {
					currentParser = null;
					currentBufferRef = null;
				}
				if (ret !== constants.ERROR.OK) {
					const data = chunk.subarray(llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr);
					if (ret === constants.ERROR.PAUSED_UPGRADE) {
						this.onUpgrade(data);
					} else if (ret === constants.ERROR.PAUSED) {
						this.paused = true;
						socket.unshift(data);
					} else {
						const ptr = llhttp.llhttp_get_error_reason(this.ptr);
						let message = "";
						if (ptr) {
							const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
							message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
						}
						throw new HTTPParserError(message, constants.ERROR[ret], data);
					}
				}
			} catch (err) {
				util.destroy(socket, err);
			}
		}
		destroy() {
			assert$25(currentParser === null);
			assert$25(this.ptr != null);
			this.llhttp.llhttp_free(this.ptr);
			this.ptr = null;
			this.timeout && timers.clearTimeout(this.timeout);
			this.timeout = null;
			this.timeoutValue = null;
			this.timeoutType = null;
			this.paused = false;
		}
		/**
		* @param {Buffer} buf
		* @returns {0}
		*/
		onStatus(buf) {
			this.statusText = buf.toString();
			return 0;
		}
		/**
		* @returns {0|-1}
		*/
		onMessageBegin() {
			const { socket, client } = this;
			if (socket.destroyed) {
				return -1;
			}
			const request = client[kQueue][client[kRunningIdx]];
			if (!request) {
				return -1;
			}
			request.onResponseStarted();
			return 0;
		}
		/**
		* @param {Buffer} buf
		* @returns {number}
		*/
		onHeaderField(buf) {
			const len = this.headers.length;
			if ((len & 1) === 0) {
				this.headers.push(buf);
			} else {
				this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
			}
			this.trackHeader(buf.length);
			return 0;
		}
		/**
		* @param {Buffer} buf
		* @returns {number}
		*/
		onHeaderValue(buf) {
			let len = this.headers.length;
			if ((len & 1) === 1) {
				this.headers.push(buf);
				len += 1;
			} else {
				this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
			}
			const key = this.headers[len - 2];
			if (key.length === 10) {
				const headerName = util.bufferToLowerCasedHeaderName(key);
				if (headerName === "keep-alive") {
					this.keepAlive += buf.toString();
				} else if (headerName === "connection") {
					this.connection += buf.toString();
				}
			} else if (key.length === 14 && util.bufferToLowerCasedHeaderName(key) === "content-length") {
				this.contentLength += buf.toString();
			}
			this.trackHeader(buf.length);
			return 0;
		}
		/**
		* @param {number} len
		*/
		trackHeader(len) {
			this.headersSize += len;
			if (this.headersSize >= this.headersMaxSize) {
				util.destroy(this.socket, new HeadersOverflowError());
			}
		}
		/**
		* @param {Buffer} head
		*/
		onUpgrade(head) {
			const { upgrade, client, socket, headers, statusCode } = this;
			assert$25(upgrade);
			assert$25(client[kSocket] === socket);
			assert$25(!socket.destroyed);
			assert$25(!this.paused);
			assert$25((headers.length & 1) === 0);
			const request = client[kQueue][client[kRunningIdx]];
			assert$25(request);
			assert$25(request.upgrade || request.method === "CONNECT");
			this.statusCode = 0;
			this.statusText = "";
			this.shouldKeepAlive = false;
			this.headers = [];
			this.headersSize = 0;
			socket.unshift(head);
			socket[kParser].destroy();
			socket[kParser] = null;
			socket[kClient] = null;
			socket[kError] = null;
			removeAllListeners(socket);
			client[kSocket] = null;
			client[kHTTPContext] = null;
			client[kQueue][client[kRunningIdx]++] = null;
			client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
			try {
				request.onUpgrade(statusCode, headers, socket);
			} catch (err) {
				util.destroy(socket, err);
			}
			client[kResume]();
		}
		/**
		* @param {number} statusCode
		* @param {boolean} upgrade
		* @param {boolean} shouldKeepAlive
		* @returns {number}
		*/
		onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
			const { client, socket, headers, statusText } = this;
			if (socket.destroyed) {
				return -1;
			}
			const request = client[kQueue][client[kRunningIdx]];
			if (!request) {
				return -1;
			}
			assert$25(!this.upgrade);
			assert$25(this.statusCode < 200);
			if (statusCode === 100) {
				util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
				return -1;
			}
			if (upgrade && !request.upgrade) {
				util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
				return -1;
			}
			assert$25(this.timeoutType === TIMEOUT_HEADERS);
			this.statusCode = statusCode;
			this.shouldKeepAlive = shouldKeepAlive || request.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
			if (this.statusCode >= 200) {
				const bodyTimeout = request.bodyTimeout != null ? request.bodyTimeout : client[kBodyTimeout];
				this.setTimeout(bodyTimeout, TIMEOUT_BODY);
			} else if (this.timeout) {
				if (this.timeout.refresh) {
					this.timeout.refresh();
				}
			}
			if (request.method === "CONNECT") {
				assert$25(client[kRunning] === 1);
				this.upgrade = true;
				return 2;
			}
			if (upgrade) {
				assert$25(client[kRunning] === 1);
				this.upgrade = true;
				return 2;
			}
			assert$25((this.headers.length & 1) === 0);
			this.headers = [];
			this.headersSize = 0;
			if (this.shouldKeepAlive && client[kPipelining]) {
				const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
				if (keepAliveTimeout != null) {
					const timeout = Math.min(keepAliveTimeout - client[kKeepAliveTimeoutThreshold], client[kKeepAliveMaxTimeout]);
					if (timeout <= 0) {
						socket[kReset] = true;
					} else {
						client[kKeepAliveTimeoutValue] = timeout;
					}
				} else {
					client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
				}
			} else {
				socket[kReset] = true;
			}
			const pause = request.onHeaders(statusCode, headers, this.resume, statusText) === false;
			if (request.aborted) {
				return -1;
			}
			if (request.method === "HEAD") {
				return 1;
			}
			if (statusCode < 200) {
				return 1;
			}
			if (socket[kBlocking]) {
				socket[kBlocking] = false;
				client[kResume]();
			}
			return pause ? constants.ERROR.PAUSED : 0;
		}
		/**
		* @param {Buffer} buf
		* @returns {number}
		*/
		onBody(buf) {
			const { client, socket, statusCode, maxResponseSize } = this;
			if (socket.destroyed) {
				return -1;
			}
			const request = client[kQueue][client[kRunningIdx]];
			assert$25(request);
			assert$25(this.timeoutType === TIMEOUT_BODY);
			if (this.timeout) {
				if (this.timeout.refresh) {
					this.timeout.refresh();
				}
			}
			assert$25(statusCode >= 200);
			if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
				util.destroy(socket, new ResponseExceededMaxSizeError());
				return -1;
			}
			this.bytesRead += buf.length;
			if (request.onData(buf) === false) {
				return constants.ERROR.PAUSED;
			}
			return 0;
		}
		/**
		* @returns {number}
		*/
		onMessageComplete() {
			const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
			if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
				return -1;
			}
			if (upgrade) {
				return 0;
			}
			assert$25(statusCode >= 100);
			assert$25((this.headers.length & 1) === 0);
			const request = client[kQueue][client[kRunningIdx]];
			assert$25(request);
			this.statusCode = 0;
			this.statusText = "";
			this.bytesRead = 0;
			this.contentLength = "";
			this.keepAlive = "";
			this.connection = "";
			this.headers = [];
			this.headersSize = 0;
			if (statusCode < 200) {
				return 0;
			}
			if (request.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
				util.destroy(socket, new ResponseContentLengthMismatchError());
				return -1;
			}
			request.onComplete(headers);
			client[kQueue][client[kRunningIdx]++] = null;
			if (socket[kWriting]) {
				assert$25(client[kRunning] === 0);
				util.destroy(socket, new InformationalError("reset"));
				return constants.ERROR.PAUSED;
			} else if (!shouldKeepAlive) {
				util.destroy(socket, new InformationalError("reset"));
				return constants.ERROR.PAUSED;
			} else if (socket[kReset] && client[kRunning] === 0) {
				util.destroy(socket, new InformationalError("reset"));
				return constants.ERROR.PAUSED;
			} else if (client[kPipelining] == null || client[kPipelining] === 1) {
				setImmediate(client[kResume]);
			} else {
				client[kResume]();
			}
			return 0;
		}
	};
	function onParserTimeout(parserWeakRef) {
		const parser = parserWeakRef.deref();
		if (!parser) {
			return;
		}
		const { socket, timeoutType, client, paused } = parser;
		if (timeoutType === TIMEOUT_HEADERS) {
			if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
				assert$25(!paused, "cannot be paused while waiting for headers");
				util.destroy(socket, new HeadersTimeoutError());
			}
		} else if (timeoutType === TIMEOUT_BODY) {
			if (!paused) {
				util.destroy(socket, new BodyTimeoutError());
			}
		} else if (timeoutType === TIMEOUT_KEEP_ALIVE) {
			assert$25(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
			util.destroy(socket, new InformationalError("socket idle timeout"));
		}
	}
	/**
	* @param {import ('./client.js')} client
	* @param {import('net').Socket} socket
	* @returns
	*/
	function connectH1(client, socket) {
		client[kSocket] = socket;
		if (!llhttpInstance) {
			llhttpInstance = lazyllhttp();
		}
		if (socket.errored) {
			throw socket.errored;
		}
		if (socket.destroyed) {
			throw new SocketError("destroyed");
		}
		socket[kNoRef] = false;
		socket[kWriting] = false;
		socket[kReset] = false;
		socket[kBlocking] = false;
		socket[kParser] = new Parser(client, socket, llhttpInstance);
		util.addListener(socket, "error", onHttpSocketError);
		util.addListener(socket, "readable", onHttpSocketReadable);
		util.addListener(socket, "end", onHttpSocketEnd);
		util.addListener(socket, "close", onHttpSocketClose);
		socket[kClosed] = false;
		socket.on("close", onSocketClose);
		return {
			version: "h1",
			defaultPipelining: 1,
			write(request) {
				return writeH1(client, request);
			},
			resume() {
				resumeH1(client);
			},
			destroy(err, callback) {
				if (socket[kClosed]) {
					queueMicrotask(callback);
				} else {
					socket.on("close", callback);
					socket.destroy(err);
				}
			},
			get destroyed() {
				return socket.destroyed;
			},
			busy(request) {
				if (socket[kWriting] || socket[kReset] || socket[kBlocking]) {
					return true;
				}
				if (request) {
					if (client[kRunning] > 0 && !request.idempotent) {
						return true;
					}
					if (client[kRunning] > 0 && (request.upgrade || request.method === "CONNECT")) {
						return true;
					}
					if (client[kRunning] > 0 && util.bodyLength(request.body) !== 0 && (util.isStream(request.body) || util.isAsyncIterable(request.body) || util.isFormDataLike(request.body))) {
						return true;
					}
				}
				return false;
			}
		};
	}
	function onHttpSocketError(err) {
		assert$25(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
		const parser = this[kParser];
		if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
			parser.onMessageComplete();
			return;
		}
		this[kError] = err;
		this[kClient][kOnError](err);
	}
	function onHttpSocketReadable() {
		this[kParser]?.readMore();
	}
	function onHttpSocketEnd() {
		const parser = this[kParser];
		if (parser.statusCode && !parser.shouldKeepAlive) {
			parser.onMessageComplete();
			return;
		}
		util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
	}
	function onHttpSocketClose() {
		const parser = this[kParser];
		if (parser) {
			if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
				parser.onMessageComplete();
			}
			this[kParser].destroy();
			this[kParser] = null;
		}
		const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
		const client = this[kClient];
		client[kSocket] = null;
		client[kHTTPContext] = null;
		if (client.destroyed) {
			assert$25(client[kPending] === 0);
			const requests = client[kQueue].splice(client[kRunningIdx]);
			for (let i = 0; i < requests.length; i++) {
				const request = requests[i];
				util.errorRequest(client, request, err);
			}
		} else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
			const request = client[kQueue][client[kRunningIdx]];
			client[kQueue][client[kRunningIdx]++] = null;
			util.errorRequest(client, request, err);
		}
		client[kPendingIdx] = client[kRunningIdx];
		assert$25(client[kRunning] === 0);
		client.emit("disconnect", client[kUrl], [client], err);
		client[kResume]();
	}
	function onSocketClose() {
		this[kClosed] = true;
	}
	/**
	* @param {import('./client.js')} client
	*/
	function resumeH1(client) {
		const socket = client[kSocket];
		if (socket && !socket.destroyed) {
			if (client[kSize] === 0) {
				if (!socket[kNoRef] && socket.unref) {
					socket.unref();
					socket[kNoRef] = true;
				}
			} else if (socket[kNoRef] && socket.ref) {
				socket.ref();
				socket[kNoRef] = false;
			}
			if (client[kSize] === 0) {
				if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) {
					socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE);
				}
			} else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
				if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
					const request = client[kQueue][client[kRunningIdx]];
					const headersTimeout = request.headersTimeout != null ? request.headersTimeout : client[kHeadersTimeout];
					socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
				}
			}
		}
	}
	function shouldSendContentLength(method) {
		return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
	}
	/**
	* @param {import('./client.js')} client
	* @param {import('../core/request.js')} request
	* @returns
	*/
	function writeH1(client, request) {
		const { method, path, host, upgrade, blocking, reset } = request;
		let { body, headers, contentLength } = request;
		const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
		if (util.isFormDataLike(body)) {
			if (!extractBody) {
				extractBody = require_body$1().extractBody;
			}
			const [bodyStream, contentType] = extractBody(body);
			if (request.contentType == null) {
				headers.push("content-type", contentType);
			}
			body = bodyStream.stream;
			contentLength = bodyStream.length;
		} else if (util.isBlobLike(body) && request.contentType == null && body.type) {
			headers.push("content-type", body.type);
		}
		if (body && typeof body.read === "function") {
			body.read(0);
		}
		const bodyLength = util.bodyLength(body);
		contentLength = bodyLength ?? contentLength;
		if (contentLength === null) {
			contentLength = request.contentLength;
		}
		if (contentLength === 0 && !expectsPayload) {
			contentLength = null;
		}
		if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength !== null && request.contentLength !== contentLength) {
			if (client[kStrictContentLength]) {
				util.errorRequest(client, request, new RequestContentLengthMismatchError());
				return false;
			}
			process.emitWarning(new RequestContentLengthMismatchError());
		}
		const socket = client[kSocket];
		/**
		* @param {Error} [err]
		* @returns {void}
		*/
		const abort = (err) => {
			if (request.aborted || request.completed) {
				return;
			}
			util.errorRequest(client, request, err || new RequestAbortedError());
			util.destroy(body);
			util.destroy(socket, new InformationalError("aborted"));
		};
		try {
			request.onConnect(abort);
		} catch (err) {
			util.errorRequest(client, request, err);
		}
		if (request.aborted) {
			return false;
		}
		if (method === "HEAD") {
			socket[kReset] = true;
		}
		if (upgrade || method === "CONNECT") {
			socket[kReset] = true;
		}
		if (reset != null) {
			socket[kReset] = reset;
		}
		if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
			socket[kReset] = true;
		}
		if (blocking) {
			socket[kBlocking] = true;
		}
		let header = `${method} ${path} HTTP/1.1\r\n`;
		if (typeof host === "string") {
			header += `host: ${host}\r\n`;
		} else {
			header += client[kHostHeader];
		}
		if (upgrade) {
			header += `connection: upgrade\r\nupgrade: ${upgrade}\r\n`;
		} else if (client[kPipelining] && !socket[kReset]) {
			header += "connection: keep-alive\r\n";
		} else {
			header += "connection: close\r\n";
		}
		if (Array.isArray(headers)) {
			for (let n = 0; n < headers.length; n += 2) {
				const key = headers[n + 0];
				const val = headers[n + 1];
				if (Array.isArray(val)) {
					for (let i = 0; i < val.length; i++) {
						header += `${key}: ${val[i]}\r\n`;
					}
				} else {
					header += `${key}: ${val}\r\n`;
				}
			}
		}
		if (channels.sendHeaders.hasSubscribers) {
			channels.sendHeaders.publish({
				request,
				headers: header,
				socket
			});
		}
		if (!body || bodyLength === 0) {
			writeBuffer(abort, null, client, request, socket, contentLength, header, expectsPayload);
		} else if (util.isBuffer(body)) {
			writeBuffer(abort, body, client, request, socket, contentLength, header, expectsPayload);
		} else if (util.isBlobLike(body)) {
			if (typeof body.stream === "function") {
				writeIterable(abort, body.stream(), client, request, socket, contentLength, header, expectsPayload);
			} else {
				writeBlob(abort, body, client, request, socket, contentLength, header, expectsPayload);
			}
		} else if (util.isStream(body)) {
			writeStream(abort, body, client, request, socket, contentLength, header, expectsPayload);
		} else if (util.isIterable(body)) {
			writeIterable(abort, body, client, request, socket, contentLength, header, expectsPayload);
		} else {
			assert$25(false);
		}
		return true;
	}
	/**
	* @param {AbortCallback} abort
	* @param {import('stream').Stream} body
	* @param {import('./client.js')} client
	* @param {import('../core/request.js')} request
	* @param {import('net').Socket} socket
	* @param {number} contentLength
	* @param {string} header
	* @param {boolean} expectsPayload
	*/
	function writeStream(abort, body, client, request, socket, contentLength, header, expectsPayload) {
		assert$25(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
		let finished = false;
		const writer = new AsyncWriter({
			abort,
			socket,
			request,
			contentLength,
			client,
			expectsPayload,
			header
		});
		/**
		* @param {Buffer} chunk
		* @returns {void}
		*/
		const onData = function(chunk) {
			if (finished) {
				return;
			}
			try {
				if (!writer.write(chunk) && this.pause) {
					this.pause();
				}
			} catch (err) {
				util.destroy(this, err);
			}
		};
		/**
		* @returns {void}
		*/
		const onDrain = function() {
			if (finished) {
				return;
			}
			if (body.resume) {
				body.resume();
			}
		};
		/**
		* @returns {void}
		*/
		const onClose = function() {
			queueMicrotask(() => {
				body.removeListener("error", onFinished);
			});
			if (!finished) {
				const err = new RequestAbortedError();
				queueMicrotask(() => onFinished(err));
			}
		};
		/**
		* @param {Error} [err]
		* @returns
		*/
		const onFinished = function(err) {
			if (finished) {
				return;
			}
			finished = true;
			assert$25(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
			socket.off("drain", onDrain).off("error", onFinished);
			body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
			if (!err) {
				try {
					writer.end();
				} catch (er) {
					err = er;
				}
			}
			writer.destroy(err);
			if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
				util.destroy(body, err);
			} else {
				util.destroy(body);
			}
		};
		body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
		if (body.resume) {
			body.resume();
		}
		socket.on("drain", onDrain).on("error", onFinished);
		if (body.errorEmitted ?? body.errored) {
			setImmediate(onFinished, body.errored);
		} else if (body.endEmitted ?? body.readableEnded) {
			setImmediate(onFinished, null);
		}
		if (body.closeEmitted ?? body.closed) {
			setImmediate(onClose);
		}
	}
	/**
	* @typedef AbortCallback
	* @type {Function}
	* @param {Error} [err]
	* @returns {void}
	*/
	/**
	* @param {AbortCallback} abort
	* @param {Uint8Array|null} body
	* @param {import('./client.js')} client
	* @param {import('../core/request.js')} request
	* @param {import('net').Socket} socket
	* @param {number} contentLength
	* @param {string} header
	* @param {boolean} expectsPayload
	* @returns {void}
	*/
	function writeBuffer(abort, body, client, request, socket, contentLength, header, expectsPayload) {
		try {
			if (!body) {
				if (contentLength === 0) {
					socket.write(`${header}content-length: 0\r\n\r\n`, "latin1");
				} else {
					assert$25(contentLength === null, "no body must not have content length");
					socket.write(`${header}\r\n`, "latin1");
				}
			} else if (util.isBuffer(body)) {
				assert$25(contentLength === body.byteLength, "buffer body must have content length");
				socket.cork();
				socket.write(`${header}content-length: ${contentLength}\r\n\r\n`, "latin1");
				socket.write(body);
				socket.uncork();
				request.onBodySent(body);
				if (!expectsPayload && request.reset !== false) {
					socket[kReset] = true;
				}
			}
			request.onRequestSent();
			client[kResume]();
		} catch (err) {
			abort(err);
		}
	}
	/**
	* @param {AbortCallback} abort
	* @param {Blob} body
	* @param {import('./client.js')} client
	* @param {import('../core/request.js')} request
	* @param {import('net').Socket} socket
	* @param {number} contentLength
	* @param {string} header
	* @param {boolean} expectsPayload
	* @returns {Promise<void>}
	*/
	async function writeBlob(abort, body, client, request, socket, contentLength, header, expectsPayload) {
		assert$25(contentLength === body.size, "blob body must have content length");
		try {
			if (contentLength != null && contentLength !== body.size) {
				throw new RequestContentLengthMismatchError();
			}
			const buffer = Buffer.from(await body.arrayBuffer());
			socket.cork();
			socket.write(`${header}content-length: ${contentLength}\r\n\r\n`, "latin1");
			socket.write(buffer);
			socket.uncork();
			request.onBodySent(buffer);
			request.onRequestSent();
			if (!expectsPayload && request.reset !== false) {
				socket[kReset] = true;
			}
			client[kResume]();
		} catch (err) {
			abort(err);
		}
	}
	/**
	* @param {AbortCallback} abort
	* @param {Iterable} body
	* @param {import('./client.js')} client
	* @param {import('../core/request.js')} request
	* @param {import('net').Socket} socket
	* @param {number} contentLength
	* @param {string} header
	* @param {boolean} expectsPayload
	* @returns {Promise<void>}
	*/
	async function writeIterable(abort, body, client, request, socket, contentLength, header, expectsPayload) {
		assert$25(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
		let callback = null;
		function onDrain() {
			if (callback) {
				const cb = callback;
				callback = null;
				cb();
			}
		}
		const waitForDrain = () => new Promise((resolve, reject) => {
			assert$25(callback === null);
			if (socket[kError]) {
				reject(socket[kError]);
			} else {
				callback = resolve;
			}
		});
		socket.on("close", onDrain).on("drain", onDrain);
		const writer = new AsyncWriter({
			abort,
			socket,
			request,
			contentLength,
			client,
			expectsPayload,
			header
		});
		try {
			for await (const chunk of body) {
				if (socket[kError]) {
					throw socket[kError];
				}
				if (!writer.write(chunk)) {
					await waitForDrain();
				}
			}
			writer.end();
		} catch (err) {
			writer.destroy(err);
		} finally {
			socket.off("close", onDrain).off("drain", onDrain);
		}
	}
	var AsyncWriter = class {
		/**
		*
		* @param {object} arg
		* @param {AbortCallback} arg.abort
		* @param {import('net').Socket} arg.socket
		* @param {import('../core/request.js')} arg.request
		* @param {number} arg.contentLength
		* @param {import('./client.js')} arg.client
		* @param {boolean} arg.expectsPayload
		* @param {string} arg.header
		*/
		constructor({ abort, socket, request, contentLength, client, expectsPayload, header }) {
			this.socket = socket;
			this.request = request;
			this.contentLength = contentLength;
			this.client = client;
			this.bytesWritten = 0;
			this.expectsPayload = expectsPayload;
			this.header = header;
			this.abort = abort;
			socket[kWriting] = true;
		}
		/**
		* @param {Buffer} chunk
		* @returns
		*/
		write(chunk) {
			const { socket, request, contentLength, client, bytesWritten, expectsPayload, header } = this;
			if (socket[kError]) {
				throw socket[kError];
			}
			if (socket.destroyed) {
				return false;
			}
			const len = Buffer.byteLength(chunk);
			if (!len) {
				return true;
			}
			if (contentLength !== null && bytesWritten + len > contentLength) {
				if (client[kStrictContentLength]) {
					throw new RequestContentLengthMismatchError();
				}
				process.emitWarning(new RequestContentLengthMismatchError());
			}
			socket.cork();
			if (bytesWritten === 0) {
				if (!expectsPayload && request.reset !== false) {
					socket[kReset] = true;
				}
				if (contentLength === null) {
					socket.write(`${header}transfer-encoding: chunked\r\n`, "latin1");
				} else {
					socket.write(`${header}content-length: ${contentLength}\r\n\r\n`, "latin1");
				}
			}
			if (contentLength === null) {
				socket.write(`\r\n${len.toString(16)}\r\n`, "latin1");
			}
			this.bytesWritten += len;
			const ret = socket.write(chunk);
			socket.uncork();
			request.onBodySent(chunk);
			if (!ret) {
				if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
					if (socket[kParser].timeout.refresh) {
						socket[kParser].timeout.refresh();
					}
				}
			}
			return ret;
		}
		/**
		* @returns {void}
		*/
		end() {
			const { socket, contentLength, client, bytesWritten, expectsPayload, header, request } = this;
			request.onRequestSent();
			socket[kWriting] = false;
			if (socket[kError]) {
				throw socket[kError];
			}
			if (socket.destroyed) {
				return;
			}
			if (bytesWritten === 0) {
				if (expectsPayload) {
					socket.write(`${header}content-length: 0\r\n\r\n`, "latin1");
				} else {
					socket.write(`${header}\r\n`, "latin1");
				}
			} else if (contentLength === null) {
				socket.write("\r\n0\r\n\r\n", "latin1");
			}
			if (contentLength !== null && bytesWritten !== contentLength) {
				if (client[kStrictContentLength]) {
					throw new RequestContentLengthMismatchError();
				} else {
					process.emitWarning(new RequestContentLengthMismatchError());
				}
			}
			if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
				if (socket[kParser].timeout.refresh) {
					socket[kParser].timeout.refresh();
				}
			}
			client[kResume]();
		}
		/**
		* @param {Error} [err]
		* @returns {void}
		*/
		destroy(err) {
			const { socket, client, abort } = this;
			socket[kWriting] = false;
			if (err) {
				assert$25(client[kRunning] <= 1, "pipeline should only contain this request");
				abort(err);
			}
		}
	};
	module.exports = connectH1;
}));

//#endregion
//#region ../node_modules/undici/lib/dispatcher/client-h2.js
var require_client_h2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const assert$24 = __require("node:assert");
	const { pipeline: pipeline$4 } = __require("node:stream");
	const util = require_util$5();
	const { RequestContentLengthMismatchError, RequestAbortedError, SocketError, InformationalError, InvalidArgumentError } = require_errors();
	const { kUrl, kReset, kClient, kRunning, kPending, kQueue, kPendingIdx, kRunningIdx, kError, kSocket, kStrictContentLength, kOnError, kMaxConcurrentStreams, kPingInterval, kHTTP2Session, kHTTP2InitialWindowSize, kHTTP2ConnectionWindowSize, kResume, kSize, kHTTPContext, kClosed, kBodyTimeout, kEnableConnectProtocol, kRemoteSettings, kHTTP2Stream, kHTTP2SessionState } = require_symbols();
	const { channels } = require_diagnostics();
	const kOpenStreams = Symbol("open streams");
	let extractBody;
	/** @type {import('http2')} */
	let http2;
	try {
		http2 = __require("node:http2");
	} catch {
		http2 = { constants: {} };
	}
	const { constants: { HTTP2_HEADER_AUTHORITY, HTTP2_HEADER_METHOD, HTTP2_HEADER_PATH, HTTP2_HEADER_SCHEME, HTTP2_HEADER_CONTENT_LENGTH, HTTP2_HEADER_EXPECT, HTTP2_HEADER_STATUS, HTTP2_HEADER_PROTOCOL, NGHTTP2_REFUSED_STREAM, NGHTTP2_CANCEL } } = http2;
	function parseH2Headers(headers) {
		const result = [];
		for (const [name, value] of Object.entries(headers)) {
			if (Array.isArray(value)) {
				for (const subvalue of value) {
					result.push(Buffer.from(name), Buffer.from(subvalue));
				}
			} else {
				result.push(Buffer.from(name), Buffer.from(value));
			}
		}
		return result;
	}
	function connectH2(client, socket) {
		client[kSocket] = socket;
		const http2InitialWindowSize = client[kHTTP2InitialWindowSize];
		const http2ConnectionWindowSize = client[kHTTP2ConnectionWindowSize];
		const session = http2.connect(client[kUrl], {
			createConnection: () => socket,
			peerMaxConcurrentStreams: client[kMaxConcurrentStreams],
			settings: {
				enablePush: false,
				...http2InitialWindowSize != null ? { initialWindowSize: http2InitialWindowSize } : null
			}
		});
		client[kSocket] = socket;
		session[kOpenStreams] = 0;
		session[kClient] = client;
		session[kSocket] = socket;
		session[kHTTP2SessionState] = { ping: { interval: client[kPingInterval] === 0 ? null : setInterval(onHttp2SendPing, client[kPingInterval], session).unref() } };
		session[kEnableConnectProtocol] = false;
		session[kRemoteSettings] = false;
		if (http2ConnectionWindowSize) {
			util.addListener(session, "connect", applyConnectionWindowSize.bind(session, http2ConnectionWindowSize));
		}
		util.addListener(session, "error", onHttp2SessionError);
		util.addListener(session, "frameError", onHttp2FrameError);
		util.addListener(session, "end", onHttp2SessionEnd);
		util.addListener(session, "goaway", onHttp2SessionGoAway);
		util.addListener(session, "close", onHttp2SessionClose);
		util.addListener(session, "remoteSettings", onHttp2RemoteSettings);
		session.unref();
		client[kHTTP2Session] = session;
		socket[kHTTP2Session] = session;
		util.addListener(socket, "error", onHttp2SocketError);
		util.addListener(socket, "end", onHttp2SocketEnd);
		util.addListener(socket, "close", onHttp2SocketClose);
		socket[kClosed] = false;
		socket.on("close", onSocketClose);
		return {
			version: "h2",
			defaultPipelining: Infinity,
			write(request) {
				return writeH2(client, request);
			},
			resume() {
				resumeH2(client);
			},
			destroy(err, callback) {
				if (socket[kClosed]) {
					queueMicrotask(callback);
				} else {
					socket.destroy(err).on("close", callback);
				}
			},
			get destroyed() {
				return socket.destroyed;
			},
			busy(request) {
				if (request != null) {
					if (client[kRunning] > 0) {
						if (request.idempotent === false) return true;
						if ((request.upgrade === "websocket" || request.method === "CONNECT") && session[kRemoteSettings] === false) return true;
						if (util.bodyLength(request.body) !== 0 && (util.isStream(request.body) || util.isAsyncIterable(request.body) || util.isFormDataLike(request.body))) return true;
					} else {
						return (request.upgrade === "websocket" || request.method === "CONNECT") && session[kRemoteSettings] === false;
					}
				}
				return false;
			}
		};
	}
	function resumeH2(client) {
		const socket = client[kSocket];
		if (socket?.destroyed === false) {
			if (client[kSize] === 0 || client[kMaxConcurrentStreams] === 0) {
				socket.unref();
				client[kHTTP2Session].unref();
			} else {
				socket.ref();
				client[kHTTP2Session].ref();
			}
		}
	}
	function applyConnectionWindowSize(connectionWindowSize) {
		try {
			if (typeof this.setLocalWindowSize === "function") {
				this.setLocalWindowSize(connectionWindowSize);
			}
		} catch {}
	}
	function onHttp2RemoteSettings(settings) {
		this[kClient][kMaxConcurrentStreams] = settings.maxConcurrentStreams ?? this[kClient][kMaxConcurrentStreams];
		/**
		* From RFC-8441
		* A sender MUST NOT send a SETTINGS_ENABLE_CONNECT_PROTOCOL parameter
		* with the value of 0 after previously sending a value of 1.
		*/
		if (this[kRemoteSettings] === true && this[kEnableConnectProtocol] === true && settings.enableConnectProtocol === false) {
			const err = new InformationalError("HTTP/2: Server disabled extended CONNECT protocol against RFC-8441");
			this[kSocket][kError] = err;
			this[kClient][kOnError](err);
			return;
		}
		this[kEnableConnectProtocol] = settings.enableConnectProtocol ?? this[kEnableConnectProtocol];
		this[kRemoteSettings] = true;
		this[kClient][kResume]();
	}
	function onHttp2SendPing(session) {
		const state = session[kHTTP2SessionState];
		if ((session.closed || session.destroyed) && state.ping.interval != null) {
			clearInterval(state.ping.interval);
			state.ping.interval = null;
			return;
		}
		session.ping(onPing.bind(session));
		function onPing(err, duration) {
			const client = this[kClient];
			const socket = this[kClient];
			if (err != null) {
				const error = new InformationalError(`HTTP/2: "PING" errored - type ${err.message}`);
				socket[kError] = error;
				client[kOnError](error);
			} else {
				client.emit("ping", duration);
			}
		}
	}
	function onHttp2SessionError(err) {
		assert$24(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
		this[kSocket][kError] = err;
		this[kClient][kOnError](err);
	}
	function onHttp2FrameError(type, code, id) {
		if (id === 0) {
			const err = new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`);
			this[kSocket][kError] = err;
			this[kClient][kOnError](err);
		}
	}
	function onHttp2SessionEnd() {
		const err = new SocketError("other side closed", util.getSocketInfo(this[kSocket]));
		this.destroy(err);
		util.destroy(this[kSocket], err);
	}
	/**
	* This is the root cause of #3011
	* We need to handle GOAWAY frames properly, and trigger the session close
	* along with the socket right away
	*
	* @this {import('http2').ClientHttp2Session}
	* @param {number} errorCode
	*/
	function onHttp2SessionGoAway(errorCode) {
		const err = this[kError] || new SocketError(`HTTP/2: "GOAWAY" frame received with code ${errorCode}`, util.getSocketInfo(this[kSocket]));
		const client = this[kClient];
		client[kSocket] = null;
		client[kHTTPContext] = null;
		this.close();
		this[kHTTP2Session] = null;
		util.destroy(this[kSocket], err);
		if (client[kRunningIdx] < client[kQueue].length) {
			const request = client[kQueue][client[kRunningIdx]];
			client[kQueue][client[kRunningIdx]++] = null;
			util.errorRequest(client, request, err);
			client[kPendingIdx] = client[kRunningIdx];
		}
		assert$24(client[kRunning] === 0);
		client.emit("disconnect", client[kUrl], [client], err);
		client.emit("connectionError", client[kUrl], [client], err);
		client[kResume]();
	}
	function onHttp2SessionClose() {
		const { [kClient]: client, [kHTTP2SessionState]: state } = this;
		const { [kSocket]: socket } = client;
		const err = this[kSocket][kError] || this[kError] || new SocketError("closed", util.getSocketInfo(socket));
		client[kSocket] = null;
		client[kHTTPContext] = null;
		if (state.ping.interval != null) {
			clearInterval(state.ping.interval);
			state.ping.interval = null;
		}
		if (client.destroyed) {
			assert$24(client[kPending] === 0);
			const requests = client[kQueue].splice(client[kRunningIdx]);
			for (let i = 0; i < requests.length; i++) {
				const request = requests[i];
				util.errorRequest(client, request, err);
			}
		}
	}
	function onHttp2SocketClose() {
		const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
		const client = this[kHTTP2Session][kClient];
		client[kSocket] = null;
		client[kHTTPContext] = null;
		if (this[kHTTP2Session] !== null) {
			this[kHTTP2Session].destroy(err);
		}
		client[kPendingIdx] = client[kRunningIdx];
		assert$24(client[kRunning] === 0);
		client.emit("disconnect", client[kUrl], [client], err);
		client[kResume]();
	}
	function onHttp2SocketError(err) {
		assert$24(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
		this[kError] = err;
		this[kClient][kOnError](err);
	}
	function onHttp2SocketEnd() {
		util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
	}
	function onSocketClose() {
		this[kClosed] = true;
	}
	function shouldSendContentLength(method) {
		return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
	}
	function writeH2(client, request) {
		const requestTimeout = request.bodyTimeout ?? client[kBodyTimeout];
		const session = client[kHTTP2Session];
		const { method, path, host, upgrade, expectContinue, signal, protocol, headers: reqHeaders } = request;
		let { body } = request;
		if (upgrade != null && upgrade !== "websocket") {
			util.errorRequest(client, request, new InvalidArgumentError(`Custom upgrade "${upgrade}" not supported over HTTP/2`));
			return false;
		}
		const headers = {};
		for (let n = 0; n < reqHeaders.length; n += 2) {
			const key = reqHeaders[n + 0];
			const val = reqHeaders[n + 1];
			if (key === "cookie") {
				if (headers[key] != null) {
					headers[key] = Array.isArray(headers[key]) ? (headers[key].push(val), headers[key]) : [headers[key], val];
				} else {
					headers[key] = val;
				}
				continue;
			}
			if (Array.isArray(val)) {
				for (let i = 0; i < val.length; i++) {
					if (headers[key]) {
						headers[key] += `, ${val[i]}`;
					} else {
						headers[key] = val[i];
					}
				}
			} else if (headers[key]) {
				headers[key] += `, ${val}`;
			} else {
				headers[key] = val;
			}
		}
		/** @type {import('node:http2').ClientHttp2Stream} */
		let stream = null;
		const { hostname, port } = client[kUrl];
		headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname}${port ? `:${port}` : ""}`;
		headers[HTTP2_HEADER_METHOD] = method;
		const abort = (err) => {
			if (request.aborted || request.completed) {
				return;
			}
			err = err || new RequestAbortedError();
			util.errorRequest(client, request, err);
			if (stream != null) {
				stream.removeAllListeners("data");
				stream.close();
				client[kOnError](err);
				client[kResume]();
			}
			util.destroy(body, err);
		};
		try {
			request.onConnect(abort);
		} catch (err) {
			util.errorRequest(client, request, err);
		}
		if (request.aborted) {
			return false;
		}
		if (upgrade || method === "CONNECT") {
			session.ref();
			if (upgrade === "websocket") {
				if (session[kEnableConnectProtocol] === false) {
					util.errorRequest(client, request, new InformationalError("HTTP/2: Extended CONNECT protocol not supported by server"));
					session.unref();
					return false;
				}
				headers[HTTP2_HEADER_METHOD] = "CONNECT";
				headers[HTTP2_HEADER_PROTOCOL] = "websocket";
				headers[HTTP2_HEADER_PATH] = path;
				if (protocol === "ws:" || protocol === "wss:") {
					headers[HTTP2_HEADER_SCHEME] = protocol === "ws:" ? "http" : "https";
				} else {
					headers[HTTP2_HEADER_SCHEME] = protocol === "http:" ? "http" : "https";
				}
				stream = session.request(headers, {
					endStream: false,
					signal
				});
				stream[kHTTP2Stream] = true;
				stream.once("response", (headers, _flags) => {
					const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers;
					request.onUpgrade(statusCode, parseH2Headers(realHeaders), stream);
					++session[kOpenStreams];
					client[kQueue][client[kRunningIdx]++] = null;
				});
				stream.on("error", () => {
					if (stream.rstCode === NGHTTP2_REFUSED_STREAM || stream.rstCode === NGHTTP2_CANCEL) {
						abort(new InformationalError(`HTTP/2: "stream error" received - code ${stream.rstCode}`));
					}
				});
				stream.once("close", () => {
					session[kOpenStreams] -= 1;
					if (session[kOpenStreams] === 0) session.unref();
				});
				stream.setTimeout(requestTimeout);
				return true;
			}
			stream = session.request(headers, {
				endStream: false,
				signal
			});
			stream[kHTTP2Stream] = true;
			stream.on("response", (headers) => {
				const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers;
				request.onUpgrade(statusCode, parseH2Headers(realHeaders), stream);
				++session[kOpenStreams];
				client[kQueue][client[kRunningIdx]++] = null;
			});
			stream.once("close", () => {
				session[kOpenStreams] -= 1;
				if (session[kOpenStreams] === 0) session.unref();
			});
			stream.setTimeout(requestTimeout);
			return true;
		}
		headers[HTTP2_HEADER_PATH] = path;
		headers[HTTP2_HEADER_SCHEME] = protocol === "http:" ? "http" : "https";
		const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
		if (body && typeof body.read === "function") {
			body.read(0);
		}
		let contentLength = util.bodyLength(body);
		if (util.isFormDataLike(body)) {
			extractBody ??= require_body$1().extractBody;
			const [bodyStream, contentType] = extractBody(body);
			headers["content-type"] = contentType;
			body = bodyStream.stream;
			contentLength = bodyStream.length;
		}
		if (contentLength == null) {
			contentLength = request.contentLength;
		}
		if (!expectsPayload) {
			contentLength = null;
		}
		if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength != null && request.contentLength !== contentLength) {
			if (client[kStrictContentLength]) {
				util.errorRequest(client, request, new RequestContentLengthMismatchError());
				return false;
			}
			process.emitWarning(new RequestContentLengthMismatchError());
		}
		if (contentLength != null) {
			assert$24(body || contentLength === 0, "no body must not have content length");
			headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
		}
		session.ref();
		if (channels.sendHeaders.hasSubscribers) {
			let header = "";
			for (const key in headers) {
				header += `${key}: ${headers[key]}\r\n`;
			}
			channels.sendHeaders.publish({
				request,
				headers: header,
				socket: session[kSocket]
			});
		}
		const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
		if (expectContinue) {
			headers[HTTP2_HEADER_EXPECT] = "100-continue";
			stream = session.request(headers, {
				endStream: shouldEndStream,
				signal
			});
			stream[kHTTP2Stream] = true;
			stream.once("continue", writeBodyH2);
		} else {
			stream = session.request(headers, {
				endStream: shouldEndStream,
				signal
			});
			stream[kHTTP2Stream] = true;
			writeBodyH2();
		}
		++session[kOpenStreams];
		stream.setTimeout(requestTimeout);
		let responseReceived = false;
		stream.once("response", (headers) => {
			const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers;
			request.onResponseStarted();
			responseReceived = true;
			if (request.aborted) {
				stream.removeAllListeners("data");
				return;
			}
			if (request.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream.resume.bind(stream), "") === false) {
				stream.pause();
			}
		});
		stream.on("data", (chunk) => {
			if (request.onData(chunk) === false) {
				stream.pause();
			}
		});
		stream.once("end", () => {
			stream.removeAllListeners("data");
			if (responseReceived) {
				if (!request.aborted && !request.completed) {
					request.onComplete({});
				}
				client[kQueue][client[kRunningIdx]++] = null;
				client[kResume]();
			} else {
				abort(new InformationalError("HTTP/2: stream half-closed (remote)"));
				client[kQueue][client[kRunningIdx]++] = null;
				client[kPendingIdx] = client[kRunningIdx];
				client[kResume]();
			}
		});
		stream.once("close", () => {
			stream.removeAllListeners("data");
			session[kOpenStreams] -= 1;
			if (session[kOpenStreams] === 0) {
				session.unref();
			}
		});
		stream.once("error", function(err) {
			stream.removeAllListeners("data");
			abort(err);
		});
		stream.once("frameError", (type, code) => {
			stream.removeAllListeners("data");
			abort(new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`));
		});
		stream.on("aborted", () => {
			stream.removeAllListeners("data");
		});
		stream.on("timeout", () => {
			const err = new InformationalError(`HTTP/2: "stream timeout after ${requestTimeout}"`);
			stream.removeAllListeners("data");
			session[kOpenStreams] -= 1;
			if (session[kOpenStreams] === 0) {
				session.unref();
			}
			abort(err);
		});
		stream.once("trailers", (trailers) => {
			if (request.aborted || request.completed) {
				return;
			}
			request.onComplete(trailers);
		});
		return true;
		function writeBodyH2() {
			if (!body || contentLength === 0) {
				writeBuffer(abort, stream, null, client, request, client[kSocket], contentLength, expectsPayload);
			} else if (util.isBuffer(body)) {
				writeBuffer(abort, stream, body, client, request, client[kSocket], contentLength, expectsPayload);
			} else if (util.isBlobLike(body)) {
				if (typeof body.stream === "function") {
					writeIterable(abort, stream, body.stream(), client, request, client[kSocket], contentLength, expectsPayload);
				} else {
					writeBlob(abort, stream, body, client, request, client[kSocket], contentLength, expectsPayload);
				}
			} else if (util.isStream(body)) {
				writeStream(abort, client[kSocket], expectsPayload, stream, body, client, request, contentLength);
			} else if (util.isIterable(body)) {
				writeIterable(abort, stream, body, client, request, client[kSocket], contentLength, expectsPayload);
			} else {
				assert$24(false);
			}
		}
	}
	function writeBuffer(abort, h2stream, body, client, request, socket, contentLength, expectsPayload) {
		try {
			if (body != null && util.isBuffer(body)) {
				assert$24(contentLength === body.byteLength, "buffer body must have content length");
				h2stream.cork();
				h2stream.write(body);
				h2stream.uncork();
				h2stream.end();
				request.onBodySent(body);
			}
			if (!expectsPayload) {
				socket[kReset] = true;
			}
			request.onRequestSent();
			client[kResume]();
		} catch (error) {
			abort(error);
		}
	}
	function writeStream(abort, socket, expectsPayload, h2stream, body, client, request, contentLength) {
		assert$24(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
		const pipe = pipeline$4(body, h2stream, (err) => {
			if (err) {
				util.destroy(pipe, err);
				abort(err);
			} else {
				util.removeAllListeners(pipe);
				request.onRequestSent();
				if (!expectsPayload) {
					socket[kReset] = true;
				}
				client[kResume]();
			}
		});
		util.addListener(pipe, "data", onPipeData);
		function onPipeData(chunk) {
			request.onBodySent(chunk);
		}
	}
	async function writeBlob(abort, h2stream, body, client, request, socket, contentLength, expectsPayload) {
		assert$24(contentLength === body.size, "blob body must have content length");
		try {
			if (contentLength != null && contentLength !== body.size) {
				throw new RequestContentLengthMismatchError();
			}
			const buffer = Buffer.from(await body.arrayBuffer());
			h2stream.cork();
			h2stream.write(buffer);
			h2stream.uncork();
			h2stream.end();
			request.onBodySent(buffer);
			request.onRequestSent();
			if (!expectsPayload) {
				socket[kReset] = true;
			}
			client[kResume]();
		} catch (err) {
			abort(err);
		}
	}
	async function writeIterable(abort, h2stream, body, client, request, socket, contentLength, expectsPayload) {
		assert$24(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
		let callback = null;
		function onDrain() {
			if (callback) {
				const cb = callback;
				callback = null;
				cb();
			}
		}
		const waitForDrain = () => new Promise((resolve, reject) => {
			assert$24(callback === null);
			if (socket[kError]) {
				reject(socket[kError]);
			} else {
				callback = resolve;
			}
		});
		h2stream.on("close", onDrain).on("drain", onDrain);
		try {
			for await (const chunk of body) {
				if (socket[kError]) {
					throw socket[kError];
				}
				const res = h2stream.write(chunk);
				request.onBodySent(chunk);
				if (!res) {
					await waitForDrain();
				}
			}
			h2stream.end();
			request.onRequestSent();
			if (!expectsPayload) {
				socket[kReset] = true;
			}
			client[kResume]();
		} catch (err) {
			abort(err);
		} finally {
			h2stream.off("close", onDrain).off("drain", onDrain);
		}
	}
	module.exports = connectH2;
}));

//#endregion
//#region ../node_modules/undici/lib/dispatcher/client.js
var require_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const assert$23 = __require("node:assert");
	const net$1 = __require("node:net");
	const http$3 = __require("node:http");
	const util = require_util$5();
	const { ClientStats } = require_stats();
	const { channels } = require_diagnostics();
	const Request = require_request$2();
	const DispatcherBase = require_dispatcher_base();
	const { InvalidArgumentError, InformationalError, ClientDestroyedError } = require_errors();
	const buildConnector = require_connect();
	const { kUrl, kServerName, kClient, kBusy, kConnect, kResuming, kRunning, kPending, kSize, kQueue, kConnected, kConnecting, kNeedDrain, kKeepAliveDefaultTimeout, kHostHeader, kPendingIdx, kRunningIdx, kError, kPipelining, kKeepAliveTimeoutValue, kMaxHeadersSize, kKeepAliveMaxTimeout, kKeepAliveTimeoutThreshold, kHeadersTimeout, kBodyTimeout, kStrictContentLength, kConnector, kMaxRequests, kCounter, kClose, kDestroy, kDispatch, kLocalAddress, kMaxResponseSize, kOnError, kHTTPContext, kMaxConcurrentStreams, kHTTP2InitialWindowSize, kHTTP2ConnectionWindowSize, kResume, kPingInterval } = require_symbols();
	const connectH1 = require_client_h1();
	const connectH2 = require_client_h2();
	const kClosedResolve = Symbol("kClosedResolve");
	const getDefaultNodeMaxHeaderSize = http$3 && http$3.maxHeaderSize && Number.isInteger(http$3.maxHeaderSize) && http$3.maxHeaderSize > 0 ? () => http$3.maxHeaderSize : () => {
		throw new InvalidArgumentError("http module not available or http.maxHeaderSize invalid");
	};
	const noop = () => {};
	function getPipelining(client) {
		return client[kPipelining] ?? client[kHTTPContext]?.defaultPipelining ?? 1;
	}
	/**
	* @type {import('../../types/client.js').default}
	*/
	var Client = class extends DispatcherBase {
		/**
		*
		* @param {string|URL} url
		* @param {import('../../types/client.js').Client.Options} options
		*/
		constructor(url, { maxHeaderSize, headersTimeout, socketTimeout, requestTimeout, connectTimeout, bodyTimeout, idleTimeout, keepAlive, keepAliveTimeout, maxKeepAliveTimeout, keepAliveMaxTimeout, keepAliveTimeoutThreshold, socketPath, pipelining, tls, strictContentLength, maxCachedSessions, connect, maxRequestsPerClient, localAddress, maxResponseSize, autoSelectFamily, autoSelectFamilyAttemptTimeout, maxConcurrentStreams, allowH2, useH2c, initialWindowSize, connectionWindowSize, pingInterval } = {}) {
			if (keepAlive !== undefined) {
				throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
			}
			if (socketTimeout !== undefined) {
				throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
			}
			if (requestTimeout !== undefined) {
				throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
			}
			if (idleTimeout !== undefined) {
				throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
			}
			if (maxKeepAliveTimeout !== undefined) {
				throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
			}
			if (maxHeaderSize != null) {
				if (!Number.isInteger(maxHeaderSize) || maxHeaderSize < 1) {
					throw new InvalidArgumentError("invalid maxHeaderSize");
				}
			} else {
				maxHeaderSize = getDefaultNodeMaxHeaderSize();
			}
			if (socketPath != null && typeof socketPath !== "string") {
				throw new InvalidArgumentError("invalid socketPath");
			}
			if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
				throw new InvalidArgumentError("invalid connectTimeout");
			}
			if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
				throw new InvalidArgumentError("invalid keepAliveTimeout");
			}
			if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
				throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
			}
			if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
				throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
			}
			if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
				throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
			}
			if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
				throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
			}
			if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
				throw new InvalidArgumentError("connect must be a function or an object");
			}
			if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
				throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
			}
			if (localAddress != null && (typeof localAddress !== "string" || net$1.isIP(localAddress) === 0)) {
				throw new InvalidArgumentError("localAddress must be valid string IP address");
			}
			if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
				throw new InvalidArgumentError("maxResponseSize must be a positive number");
			}
			if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
				throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
			}
			if (allowH2 != null && typeof allowH2 !== "boolean") {
				throw new InvalidArgumentError("allowH2 must be a valid boolean value");
			}
			if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
				throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0");
			}
			if (useH2c != null && typeof useH2c !== "boolean") {
				throw new InvalidArgumentError("useH2c must be a valid boolean value");
			}
			if (initialWindowSize != null && (!Number.isInteger(initialWindowSize) || initialWindowSize < 1)) {
				throw new InvalidArgumentError("initialWindowSize must be a positive integer, greater than 0");
			}
			if (connectionWindowSize != null && (!Number.isInteger(connectionWindowSize) || connectionWindowSize < 1)) {
				throw new InvalidArgumentError("connectionWindowSize must be a positive integer, greater than 0");
			}
			if (pingInterval != null && (typeof pingInterval !== "number" || !Number.isInteger(pingInterval) || pingInterval < 0)) {
				throw new InvalidArgumentError("pingInterval must be a positive integer, greater or equal to 0");
			}
			super();
			if (typeof connect !== "function") {
				connect = buildConnector({
					...tls,
					maxCachedSessions,
					allowH2,
					useH2c,
					socketPath,
					timeout: connectTimeout,
					...typeof autoSelectFamily === "boolean" ? {
						autoSelectFamily,
						autoSelectFamilyAttemptTimeout
					} : undefined,
					...connect
				});
			}
			this[kUrl] = util.parseOrigin(url);
			this[kConnector] = connect;
			this[kPipelining] = pipelining != null ? pipelining : 1;
			this[kMaxHeadersSize] = maxHeaderSize;
			this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
			this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
			this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2e3 : keepAliveTimeoutThreshold;
			this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
			this[kServerName] = null;
			this[kLocalAddress] = localAddress != null ? localAddress : null;
			this[kResuming] = 0;
			this[kNeedDrain] = 0;
			this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r\n`;
			this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
			this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
			this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
			this[kMaxRequests] = maxRequestsPerClient;
			this[kClosedResolve] = null;
			this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
			this[kHTTPContext] = null;
			this[kMaxConcurrentStreams] = maxConcurrentStreams != null ? maxConcurrentStreams : 100;
			this[kHTTP2InitialWindowSize] = initialWindowSize != null ? initialWindowSize : 262144;
			this[kHTTP2ConnectionWindowSize] = connectionWindowSize != null ? connectionWindowSize : 524288;
			this[kPingInterval] = pingInterval != null ? pingInterval : 6e4;
			this[kQueue] = [];
			this[kRunningIdx] = 0;
			this[kPendingIdx] = 0;
			this[kResume] = (sync) => resume(this, sync);
			this[kOnError] = (err) => onError(this, err);
		}
		get pipelining() {
			return this[kPipelining];
		}
		set pipelining(value) {
			this[kPipelining] = value;
			this[kResume](true);
		}
		get stats() {
			return new ClientStats(this);
		}
		get [kPending]() {
			return this[kQueue].length - this[kPendingIdx];
		}
		get [kRunning]() {
			return this[kPendingIdx] - this[kRunningIdx];
		}
		get [kSize]() {
			return this[kQueue].length - this[kRunningIdx];
		}
		get [kConnected]() {
			return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed;
		}
		get [kBusy]() {
			return Boolean(this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0);
		}
		[kConnect](cb) {
			connect(this);
			this.once("connect", cb);
		}
		[kDispatch](opts, handler) {
			const request = new Request(this[kUrl].origin, opts, handler);
			this[kQueue].push(request);
			if (this[kResuming]) {} else if (util.bodyLength(request.body) == null && util.isIterable(request.body)) {
				this[kResuming] = 1;
				queueMicrotask(() => resume(this));
			} else {
				this[kResume](true);
			}
			if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
				this[kNeedDrain] = 2;
			}
			return this[kNeedDrain] < 2;
		}
		[kClose]() {
			return new Promise((resolve) => {
				if (this[kSize]) {
					this[kClosedResolve] = resolve;
				} else {
					resolve(null);
				}
			});
		}
		[kDestroy](err) {
			return new Promise((resolve) => {
				const requests = this[kQueue].splice(this[kPendingIdx]);
				for (let i = 0; i < requests.length; i++) {
					const request = requests[i];
					util.errorRequest(this, request, err);
				}
				const callback = () => {
					if (this[kClosedResolve]) {
						this[kClosedResolve]();
						this[kClosedResolve] = null;
					}
					resolve(null);
				};
				if (this[kHTTPContext]) {
					this[kHTTPContext].destroy(err, callback);
					this[kHTTPContext] = null;
				} else {
					queueMicrotask(callback);
				}
				this[kResume]();
			});
		}
	};
	function onError(client, err) {
		if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
			assert$23(client[kPendingIdx] === client[kRunningIdx]);
			const requests = client[kQueue].splice(client[kRunningIdx]);
			for (let i = 0; i < requests.length; i++) {
				const request = requests[i];
				util.errorRequest(client, request, err);
			}
			assert$23(client[kSize] === 0);
		}
	}
	/**
	* @param {Client} client
	* @returns {void}
	*/
	function connect(client) {
		assert$23(!client[kConnecting]);
		assert$23(!client[kHTTPContext]);
		let { host, hostname, protocol, port } = client[kUrl];
		if (hostname[0] === "[") {
			const idx = hostname.indexOf("]");
			assert$23(idx !== -1);
			const ip = hostname.substring(1, idx);
			assert$23(net$1.isIPv6(ip));
			hostname = ip;
		}
		client[kConnecting] = true;
		if (channels.beforeConnect.hasSubscribers) {
			channels.beforeConnect.publish({
				connectParams: {
					host,
					hostname,
					protocol,
					port,
					version: client[kHTTPContext]?.version,
					servername: client[kServerName],
					localAddress: client[kLocalAddress]
				},
				connector: client[kConnector]
			});
		}
		client[kConnector]({
			host,
			hostname,
			protocol,
			port,
			servername: client[kServerName],
			localAddress: client[kLocalAddress]
		}, (err, socket) => {
			if (err) {
				handleConnectError(client, err, {
					host,
					hostname,
					protocol,
					port
				});
				client[kResume]();
				return;
			}
			if (client.destroyed) {
				util.destroy(socket.on("error", noop), new ClientDestroyedError());
				client[kResume]();
				return;
			}
			assert$23(socket);
			try {
				client[kHTTPContext] = socket.alpnProtocol === "h2" ? connectH2(client, socket) : connectH1(client, socket);
			} catch (err) {
				socket.destroy().on("error", noop);
				handleConnectError(client, err, {
					host,
					hostname,
					protocol,
					port
				});
				client[kResume]();
				return;
			}
			client[kConnecting] = false;
			socket[kCounter] = 0;
			socket[kMaxRequests] = client[kMaxRequests];
			socket[kClient] = client;
			socket[kError] = null;
			if (channels.connected.hasSubscribers) {
				channels.connected.publish({
					connectParams: {
						host,
						hostname,
						protocol,
						port,
						version: client[kHTTPContext]?.version,
						servername: client[kServerName],
						localAddress: client[kLocalAddress]
					},
					connector: client[kConnector],
					socket
				});
			}
			client.emit("connect", client[kUrl], [client]);
			client[kResume]();
		});
	}
	function handleConnectError(client, err, { host, hostname, protocol, port }) {
		if (client.destroyed) {
			return;
		}
		client[kConnecting] = false;
		if (channels.connectError.hasSubscribers) {
			channels.connectError.publish({
				connectParams: {
					host,
					hostname,
					protocol,
					port,
					version: client[kHTTPContext]?.version,
					servername: client[kServerName],
					localAddress: client[kLocalAddress]
				},
				connector: client[kConnector],
				error: err
			});
		}
		if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
			assert$23(client[kRunning] === 0);
			while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
				const request = client[kQueue][client[kPendingIdx]++];
				util.errorRequest(client, request, err);
			}
		} else {
			onError(client, err);
		}
		client.emit("connectionError", client[kUrl], [client], err);
	}
	function emitDrain(client) {
		client[kNeedDrain] = 0;
		client.emit("drain", client[kUrl], [client]);
	}
	function resume(client, sync) {
		if (client[kResuming] === 2) {
			return;
		}
		client[kResuming] = 2;
		_resume(client, sync);
		client[kResuming] = 0;
		if (client[kRunningIdx] > 256) {
			client[kQueue].splice(0, client[kRunningIdx]);
			client[kPendingIdx] -= client[kRunningIdx];
			client[kRunningIdx] = 0;
		}
	}
	function _resume(client, sync) {
		while (true) {
			if (client.destroyed) {
				assert$23(client[kPending] === 0);
				return;
			}
			if (client[kClosedResolve] && !client[kSize]) {
				client[kClosedResolve]();
				client[kClosedResolve] = null;
				return;
			}
			if (client[kHTTPContext]) {
				client[kHTTPContext].resume();
			}
			if (client[kBusy]) {
				client[kNeedDrain] = 2;
			} else if (client[kNeedDrain] === 2) {
				if (sync) {
					client[kNeedDrain] = 1;
					queueMicrotask(() => emitDrain(client));
				} else {
					emitDrain(client);
				}
				continue;
			}
			if (client[kPending] === 0) {
				return;
			}
			if (client[kRunning] >= (getPipelining(client) || 1)) {
				return;
			}
			const request = client[kQueue][client[kPendingIdx]];
			if (client[kUrl].protocol === "https:" && client[kServerName] !== request.servername) {
				if (client[kRunning] > 0) {
					return;
				}
				client[kServerName] = request.servername;
				client[kHTTPContext]?.destroy(new InformationalError("servername changed"), () => {
					client[kHTTPContext] = null;
					resume(client);
				});
			}
			if (client[kConnecting]) {
				return;
			}
			if (!client[kHTTPContext]) {
				connect(client);
				return;
			}
			if (client[kHTTPContext].destroyed) {
				return;
			}
			if (client[kHTTPContext].busy(request)) {
				return;
			}
			if (!request.aborted && client[kHTTPContext].write(request)) {
				client[kPendingIdx]++;
			} else {
				client[kQueue].splice(client[kPendingIdx], 1);
			}
		}
	}
	module.exports = Client;
}));

//#endregion
//#region ../node_modules/undici/lib/dispatcher/fixed-queue.js
var require_fixed_queue = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const kSize = 2048;
	const kMask = kSize - 1;
	/**
	* @type {FixedCircularBuffer}
	* @template T
	*/
	var FixedCircularBuffer = class {
		/** @type {number} */
		bottom = 0;
		/** @type {number} */
		top = 0;
		/** @type {Array<T|undefined>} */
		list = new Array(kSize).fill(undefined);
		/** @type {T|null} */
		next = null;
		/** @returns {boolean} */
		isEmpty() {
			return this.top === this.bottom;
		}
		/** @returns {boolean} */
		isFull() {
			return (this.top + 1 & kMask) === this.bottom;
		}
		/**
		* @param {T} data
		* @returns {void}
		*/
		push(data) {
			this.list[this.top] = data;
			this.top = this.top + 1 & kMask;
		}
		/** @returns {T|null} */
		shift() {
			const nextItem = this.list[this.bottom];
			if (nextItem === undefined) {
				return null;
			}
			this.list[this.bottom] = undefined;
			this.bottom = this.bottom + 1 & kMask;
			return nextItem;
		}
	};
	/**
	* @template T
	*/
	module.exports = class FixedQueue {
		constructor() {
			/** @type {FixedCircularBuffer<T>} */
			this.head = this.tail = new FixedCircularBuffer();
		}
		/** @returns {boolean} */
		isEmpty() {
			return this.head.isEmpty();
		}
		/** @param {T} data */
		push(data) {
			if (this.head.isFull()) {
				this.head = this.head.next = new FixedCircularBuffer();
			}
			this.head.push(data);
		}
		/** @returns {T|null} */
		shift() {
			const tail = this.tail;
			const next = tail.shift();
			if (tail.isEmpty() && tail.next !== null) {
				this.tail = tail.next;
				tail.next = null;
			}
			return next;
		}
	};
}));

//#endregion
//#region ../node_modules/undici/lib/dispatcher/pool-base.js
var require_pool_base = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { PoolStats } = require_stats();
	const DispatcherBase = require_dispatcher_base();
	const FixedQueue = require_fixed_queue();
	const { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols();
	const kClients = Symbol("clients");
	const kNeedDrain = Symbol("needDrain");
	const kQueue = Symbol("queue");
	const kClosedResolve = Symbol("closed resolve");
	const kOnDrain = Symbol("onDrain");
	const kOnConnect = Symbol("onConnect");
	const kOnDisconnect = Symbol("onDisconnect");
	const kOnConnectionError = Symbol("onConnectionError");
	const kGetDispatcher = Symbol("get dispatcher");
	const kAddClient = Symbol("add client");
	const kRemoveClient = Symbol("remove client");
	var PoolBase = class extends DispatcherBase {
		[kQueue] = new FixedQueue();
		[kQueued] = 0;
		[kClients] = [];
		[kNeedDrain] = false;
		[kOnDrain](client, origin, targets) {
			const queue = this[kQueue];
			let needDrain = false;
			while (!needDrain) {
				const item = queue.shift();
				if (!item) {
					break;
				}
				this[kQueued]--;
				needDrain = !client.dispatch(item.opts, item.handler);
			}
			client[kNeedDrain] = needDrain;
			if (!needDrain && this[kNeedDrain]) {
				this[kNeedDrain] = false;
				this.emit("drain", origin, [this, ...targets]);
			}
			if (this[kClosedResolve] && queue.isEmpty()) {
				const closeAll = [];
				for (let i = 0; i < this[kClients].length; i++) {
					const client = this[kClients][i];
					if (!client.destroyed) {
						closeAll.push(client.close());
					}
				}
				return Promise.all(closeAll).then(this[kClosedResolve]);
			}
		}
		[kOnConnect] = (origin, targets) => {
			this.emit("connect", origin, [this, ...targets]);
		};
		[kOnDisconnect] = (origin, targets, err) => {
			this.emit("disconnect", origin, [this, ...targets], err);
		};
		[kOnConnectionError] = (origin, targets, err) => {
			this.emit("connectionError", origin, [this, ...targets], err);
		};
		get [kBusy]() {
			return this[kNeedDrain];
		}
		get [kConnected]() {
			let ret = 0;
			for (const { [kConnected]: connected } of this[kClients]) {
				ret += connected;
			}
			return ret;
		}
		get [kFree]() {
			let ret = 0;
			for (const { [kConnected]: connected, [kNeedDrain]: needDrain } of this[kClients]) {
				ret += connected && !needDrain;
			}
			return ret;
		}
		get [kPending]() {
			let ret = this[kQueued];
			for (const { [kPending]: pending } of this[kClients]) {
				ret += pending;
			}
			return ret;
		}
		get [kRunning]() {
			let ret = 0;
			for (const { [kRunning]: running } of this[kClients]) {
				ret += running;
			}
			return ret;
		}
		get [kSize]() {
			let ret = this[kQueued];
			for (const { [kSize]: size } of this[kClients]) {
				ret += size;
			}
			return ret;
		}
		get stats() {
			return new PoolStats(this);
		}
		[kClose]() {
			if (this[kQueue].isEmpty()) {
				const closeAll = [];
				for (let i = 0; i < this[kClients].length; i++) {
					const client = this[kClients][i];
					if (!client.destroyed) {
						closeAll.push(client.close());
					}
				}
				return Promise.all(closeAll);
			} else {
				return new Promise((resolve) => {
					this[kClosedResolve] = resolve;
				});
			}
		}
		[kDestroy](err) {
			while (true) {
				const item = this[kQueue].shift();
				if (!item) {
					break;
				}
				item.handler.onError(err);
			}
			const destroyAll = new Array(this[kClients].length);
			for (let i = 0; i < this[kClients].length; i++) {
				destroyAll[i] = this[kClients][i].destroy(err);
			}
			return Promise.all(destroyAll);
		}
		[kDispatch](opts, handler) {
			const dispatcher = this[kGetDispatcher]();
			if (!dispatcher) {
				this[kNeedDrain] = true;
				this[kQueue].push({
					opts,
					handler
				});
				this[kQueued]++;
			} else if (!dispatcher.dispatch(opts, handler)) {
				dispatcher[kNeedDrain] = true;
				this[kNeedDrain] = !this[kGetDispatcher]();
			}
			return !this[kNeedDrain];
		}
		[kAddClient](client) {
			client.on("drain", this[kOnDrain].bind(this, client)).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
			this[kClients].push(client);
			if (this[kNeedDrain]) {
				queueMicrotask(() => {
					if (this[kNeedDrain]) {
						this[kOnDrain](client, client[kUrl], [client, this]);
					}
				});
			}
			return this;
		}
		[kRemoveClient](client) {
			client.close(() => {
				const idx = this[kClients].indexOf(client);
				if (idx !== -1) {
					this[kClients].splice(idx, 1);
				}
			});
			this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
		}
	};
	module.exports = {
		PoolBase,
		kClients,
		kNeedDrain,
		kAddClient,
		kRemoveClient,
		kGetDispatcher
	};
}));

//#endregion
//#region ../node_modules/undici/lib/dispatcher/pool.js
var require_pool = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { PoolBase, kClients, kNeedDrain, kAddClient, kGetDispatcher, kRemoveClient } = require_pool_base();
	const Client = require_client();
	const { InvalidArgumentError } = require_errors();
	const util = require_util$5();
	const { kUrl } = require_symbols();
	const buildConnector = require_connect();
	const kOptions = Symbol("options");
	const kConnections = Symbol("connections");
	const kFactory = Symbol("factory");
	function defaultFactory(origin, opts) {
		return new Client(origin, opts);
	}
	var Pool = class extends PoolBase {
		constructor(origin, { connections, factory = defaultFactory, connect, connectTimeout, tls, maxCachedSessions, socketPath, autoSelectFamily, autoSelectFamilyAttemptTimeout, allowH2, clientTtl, ...options } = {}) {
			if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
				throw new InvalidArgumentError("invalid connections");
			}
			if (typeof factory !== "function") {
				throw new InvalidArgumentError("factory must be a function.");
			}
			if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
				throw new InvalidArgumentError("connect must be a function or an object");
			}
			if (typeof connect !== "function") {
				connect = buildConnector({
					...tls,
					maxCachedSessions,
					allowH2,
					socketPath,
					timeout: connectTimeout,
					...typeof autoSelectFamily === "boolean" ? {
						autoSelectFamily,
						autoSelectFamilyAttemptTimeout
					} : undefined,
					...connect
				});
			}
			super();
			this[kConnections] = connections || null;
			this[kUrl] = util.parseOrigin(origin);
			this[kOptions] = {
				...util.deepClone(options),
				connect,
				allowH2,
				clientTtl
			};
			this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : undefined;
			this[kFactory] = factory;
			this.on("connect", (origin, targets) => {
				if (clientTtl != null && clientTtl > 0) {
					for (const target of targets) {
						Object.assign(target, { ttl: Date.now() });
					}
				}
			});
			this.on("connectionError", (origin, targets, error) => {
				for (const target of targets) {
					const idx = this[kClients].indexOf(target);
					if (idx !== -1) {
						this[kClients].splice(idx, 1);
					}
				}
			});
		}
		[kGetDispatcher]() {
			const clientTtlOption = this[kOptions].clientTtl;
			for (const client of this[kClients]) {
				if (clientTtlOption != null && clientTtlOption > 0 && client.ttl && Date.now() - client.ttl > clientTtlOption) {
					this[kRemoveClient](client);
				} else if (!client[kNeedDrain]) {
					return client;
				}
			}
			if (!this[kConnections] || this[kClients].length < this[kConnections]) {
				const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
				this[kAddClient](dispatcher);
				return dispatcher;
			}
		}
	};
	module.exports = Pool;
}));

//#endregion
//#region ../node_modules/undici/lib/dispatcher/balanced-pool.js
var require_balanced_pool = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { BalancedPoolMissingUpstreamError, InvalidArgumentError } = require_errors();
	const { PoolBase, kClients, kNeedDrain, kAddClient, kRemoveClient, kGetDispatcher } = require_pool_base();
	const Pool = require_pool();
	const { kUrl } = require_symbols();
	const { parseOrigin } = require_util$5();
	const kFactory = Symbol("factory");
	const kOptions = Symbol("options");
	const kGreatestCommonDivisor = Symbol("kGreatestCommonDivisor");
	const kCurrentWeight = Symbol("kCurrentWeight");
	const kIndex = Symbol("kIndex");
	const kWeight = Symbol("kWeight");
	const kMaxWeightPerServer = Symbol("kMaxWeightPerServer");
	const kErrorPenalty = Symbol("kErrorPenalty");
	/**
	* Calculate the greatest common divisor of two numbers by
	* using the Euclidean algorithm.
	*
	* @param {number} a
	* @param {number} b
	* @returns {number}
	*/
	function getGreatestCommonDivisor(a, b) {
		if (a === 0) return b;
		while (b !== 0) {
			const t = b;
			b = a % b;
			a = t;
		}
		return a;
	}
	function defaultFactory(origin, opts) {
		return new Pool(origin, opts);
	}
	var BalancedPool = class extends PoolBase {
		constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
			if (typeof factory !== "function") {
				throw new InvalidArgumentError("factory must be a function.");
			}
			super();
			this[kOptions] = opts;
			this[kIndex] = -1;
			this[kCurrentWeight] = 0;
			this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
			this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
			if (!Array.isArray(upstreams)) {
				upstreams = [upstreams];
			}
			this[kFactory] = factory;
			for (const upstream of upstreams) {
				this.addUpstream(upstream);
			}
			this._updateBalancedPoolStats();
		}
		addUpstream(upstream) {
			const upstreamOrigin = parseOrigin(upstream).origin;
			if (this[kClients].find((pool) => pool[kUrl].origin === upstreamOrigin && pool.closed !== true && pool.destroyed !== true)) {
				return this;
			}
			const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
			this[kAddClient](pool);
			pool.on("connect", () => {
				pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
			});
			pool.on("connectionError", () => {
				pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
				this._updateBalancedPoolStats();
			});
			pool.on("disconnect", (...args) => {
				const err = args[2];
				if (err && err.code === "UND_ERR_SOCKET") {
					pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
					this._updateBalancedPoolStats();
				}
			});
			for (const client of this[kClients]) {
				client[kWeight] = this[kMaxWeightPerServer];
			}
			this._updateBalancedPoolStats();
			return this;
		}
		_updateBalancedPoolStats() {
			let result = 0;
			for (let i = 0; i < this[kClients].length; i++) {
				result = getGreatestCommonDivisor(this[kClients][i][kWeight], result);
			}
			this[kGreatestCommonDivisor] = result;
		}
		removeUpstream(upstream) {
			const upstreamOrigin = parseOrigin(upstream).origin;
			const pool = this[kClients].find((pool) => pool[kUrl].origin === upstreamOrigin && pool.closed !== true && pool.destroyed !== true);
			if (pool) {
				this[kRemoveClient](pool);
			}
			return this;
		}
		getUpstream(upstream) {
			const upstreamOrigin = parseOrigin(upstream).origin;
			return this[kClients].find((pool) => pool[kUrl].origin === upstreamOrigin && pool.closed !== true && pool.destroyed !== true);
		}
		get upstreams() {
			return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
		}
		[kGetDispatcher]() {
			if (this[kClients].length === 0) {
				throw new BalancedPoolMissingUpstreamError();
			}
			const dispatcher = this[kClients].find((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
			if (!dispatcher) {
				return;
			}
			const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true);
			if (allClientsBusy) {
				return;
			}
			let counter = 0;
			let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
			while (counter++ < this[kClients].length) {
				this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
				const pool = this[kClients][this[kIndex]];
				if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
					maxWeightIndex = this[kIndex];
				}
				if (this[kIndex] === 0) {
					this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
					if (this[kCurrentWeight] <= 0) {
						this[kCurrentWeight] = this[kMaxWeightPerServer];
					}
				}
				if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
					return pool;
				}
			}
			this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
			this[kIndex] = maxWeightIndex;
			return this[kClients][maxWeightIndex];
		}
	};
	module.exports = BalancedPool;
}));

//#endregion
//#region ../node_modules/undici/lib/dispatcher/round-robin-pool.js
var require_round_robin_pool = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { PoolBase, kClients, kNeedDrain, kAddClient, kGetDispatcher, kRemoveClient } = require_pool_base();
	const Client = require_client();
	const { InvalidArgumentError } = require_errors();
	const util = require_util$5();
	const { kUrl } = require_symbols();
	const buildConnector = require_connect();
	const kOptions = Symbol("options");
	const kConnections = Symbol("connections");
	const kFactory = Symbol("factory");
	const kIndex = Symbol("index");
	function defaultFactory(origin, opts) {
		return new Client(origin, opts);
	}
	var RoundRobinPool = class extends PoolBase {
		constructor(origin, { connections, factory = defaultFactory, connect, connectTimeout, tls, maxCachedSessions, socketPath, autoSelectFamily, autoSelectFamilyAttemptTimeout, allowH2, clientTtl, ...options } = {}) {
			if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
				throw new InvalidArgumentError("invalid connections");
			}
			if (typeof factory !== "function") {
				throw new InvalidArgumentError("factory must be a function.");
			}
			if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
				throw new InvalidArgumentError("connect must be a function or an object");
			}
			if (typeof connect !== "function") {
				connect = buildConnector({
					...tls,
					maxCachedSessions,
					allowH2,
					socketPath,
					timeout: connectTimeout,
					...typeof autoSelectFamily === "boolean" ? {
						autoSelectFamily,
						autoSelectFamilyAttemptTimeout
					} : undefined,
					...connect
				});
			}
			super();
			this[kConnections] = connections || null;
			this[kUrl] = util.parseOrigin(origin);
			this[kOptions] = {
				...util.deepClone(options),
				connect,
				allowH2,
				clientTtl
			};
			this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : undefined;
			this[kFactory] = factory;
			this[kIndex] = -1;
			this.on("connect", (origin, targets) => {
				if (clientTtl != null && clientTtl > 0) {
					for (const target of targets) {
						Object.assign(target, { ttl: Date.now() });
					}
				}
			});
			this.on("connectionError", (origin, targets, error) => {
				for (const target of targets) {
					const idx = this[kClients].indexOf(target);
					if (idx !== -1) {
						this[kClients].splice(idx, 1);
					}
				}
			});
		}
		[kGetDispatcher]() {
			const clientTtlOption = this[kOptions].clientTtl;
			const clientsLength = this[kClients].length;
			if (clientsLength === 0) {
				const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
				this[kAddClient](dispatcher);
				return dispatcher;
			}
			let checked = 0;
			while (checked < clientsLength) {
				this[kIndex] = (this[kIndex] + 1) % clientsLength;
				const client = this[kClients][this[kIndex]];
				if (clientTtlOption != null && clientTtlOption > 0 && client.ttl && Date.now() - client.ttl > clientTtlOption) {
					this[kRemoveClient](client);
					checked++;
					continue;
				}
				if (!client[kNeedDrain]) {
					return client;
				}
				checked++;
			}
			if (!this[kConnections] || clientsLength < this[kConnections]) {
				const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
				this[kAddClient](dispatcher);
				return dispatcher;
			}
		}
	};
	module.exports = RoundRobinPool;
}));

//#endregion
//#region ../node_modules/undici/lib/dispatcher/agent.js
var require_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { InvalidArgumentError, MaxOriginsReachedError } = require_errors();
	const { kClients, kRunning, kClose, kDestroy, kDispatch, kUrl } = require_symbols();
	const DispatcherBase = require_dispatcher_base();
	const Pool = require_pool();
	const Client = require_client();
	const util = require_util$5();
	const kOnConnect = Symbol("onConnect");
	const kOnDisconnect = Symbol("onDisconnect");
	const kOnConnectionError = Symbol("onConnectionError");
	const kOnDrain = Symbol("onDrain");
	const kFactory = Symbol("factory");
	const kOptions = Symbol("options");
	const kOrigins = Symbol("origins");
	function defaultFactory(origin, opts) {
		return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
	}
	var Agent = class extends DispatcherBase {
		constructor({ factory = defaultFactory, maxOrigins = Infinity, connect, ...options } = {}) {
			if (typeof factory !== "function") {
				throw new InvalidArgumentError("factory must be a function.");
			}
			if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
				throw new InvalidArgumentError("connect must be a function or an object");
			}
			if (typeof maxOrigins !== "number" || Number.isNaN(maxOrigins) || maxOrigins <= 0) {
				throw new InvalidArgumentError("maxOrigins must be a number greater than 0");
			}
			super();
			if (connect && typeof connect !== "function") {
				connect = { ...connect };
			}
			this[kOptions] = {
				...util.deepClone(options),
				maxOrigins,
				connect
			};
			this[kFactory] = factory;
			this[kClients] = new Map();
			this[kOrigins] = new Set();
			this[kOnDrain] = (origin, targets) => {
				this.emit("drain", origin, [this, ...targets]);
			};
			this[kOnConnect] = (origin, targets) => {
				this.emit("connect", origin, [this, ...targets]);
			};
			this[kOnDisconnect] = (origin, targets, err) => {
				this.emit("disconnect", origin, [this, ...targets], err);
			};
			this[kOnConnectionError] = (origin, targets, err) => {
				this.emit("connectionError", origin, [this, ...targets], err);
			};
		}
		get [kRunning]() {
			let ret = 0;
			for (const { dispatcher } of this[kClients].values()) {
				ret += dispatcher[kRunning];
			}
			return ret;
		}
		[kDispatch](opts, handler) {
			let key;
			if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
				key = String(opts.origin);
			} else {
				throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
			}
			if (this[kOrigins].size >= this[kOptions].maxOrigins && !this[kOrigins].has(key)) {
				throw new MaxOriginsReachedError();
			}
			const result = this[kClients].get(key);
			let dispatcher = result && result.dispatcher;
			if (!dispatcher) {
				const closeClientIfUnused = (connected) => {
					const result = this[kClients].get(key);
					if (result) {
						if (connected) result.count -= 1;
						if (result.count <= 0) {
							this[kClients].delete(key);
							if (!result.dispatcher.destroyed) {
								result.dispatcher.close();
							}
						}
						this[kOrigins].delete(key);
					}
				};
				dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", (origin, targets) => {
					const result = this[kClients].get(key);
					if (result) {
						result.count += 1;
					}
					this[kOnConnect](origin, targets);
				}).on("disconnect", (origin, targets, err) => {
					closeClientIfUnused(true);
					this[kOnDisconnect](origin, targets, err);
				}).on("connectionError", (origin, targets, err) => {
					closeClientIfUnused(false);
					this[kOnConnectionError](origin, targets, err);
				});
				this[kClients].set(key, {
					count: 0,
					dispatcher
				});
				this[kOrigins].add(key);
			}
			return dispatcher.dispatch(opts, handler);
		}
		[kClose]() {
			const closePromises = [];
			for (const { dispatcher } of this[kClients].values()) {
				closePromises.push(dispatcher.close());
			}
			this[kClients].clear();
			return Promise.all(closePromises);
		}
		[kDestroy](err) {
			const destroyPromises = [];
			for (const { dispatcher } of this[kClients].values()) {
				destroyPromises.push(dispatcher.destroy(err));
			}
			this[kClients].clear();
			return Promise.all(destroyPromises);
		}
		get stats() {
			const allClientStats = {};
			for (const { dispatcher } of this[kClients].values()) {
				if (dispatcher.stats) {
					allClientStats[dispatcher[kUrl].origin] = dispatcher.stats;
				}
			}
			return allClientStats;
		}
	};
	module.exports = Agent;
}));

//#endregion
//#region ../node_modules/undici/lib/dispatcher/proxy-agent.js
var require_proxy_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { kProxy, kClose, kDestroy, kDispatch } = require_symbols();
	const Agent = require_agent();
	const Pool = require_pool();
	const DispatcherBase = require_dispatcher_base();
	const { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors();
	const buildConnector = require_connect();
	const Client = require_client();
	const { channels } = require_diagnostics();
	const kAgent = Symbol("proxy agent");
	const kClient = Symbol("proxy client");
	const kProxyHeaders = Symbol("proxy headers");
	const kRequestTls = Symbol("request tls settings");
	const kProxyTls = Symbol("proxy tls settings");
	const kConnectEndpoint = Symbol("connect endpoint function");
	const kTunnelProxy = Symbol("tunnel proxy");
	function defaultProtocolPort(protocol) {
		return protocol === "https:" ? 443 : 80;
	}
	function defaultFactory(origin, opts) {
		return new Pool(origin, opts);
	}
	const noop = () => {};
	function defaultAgentFactory(origin, opts) {
		if (opts.connections === 1) {
			return new Client(origin, opts);
		}
		return new Pool(origin, opts);
	}
	var Http1ProxyWrapper = class extends DispatcherBase {
		#client;
		constructor(proxyUrl, { headers = {}, connect, factory }) {
			if (!proxyUrl) {
				throw new InvalidArgumentError("Proxy URL is mandatory");
			}
			super();
			this[kProxyHeaders] = headers;
			if (factory) {
				this.#client = factory(proxyUrl, { connect });
			} else {
				this.#client = new Client(proxyUrl, { connect });
			}
		}
		[kDispatch](opts, handler) {
			const onHeaders = handler.onHeaders;
			handler.onHeaders = function(statusCode, data, resume) {
				if (statusCode === 407) {
					if (typeof handler.onError === "function") {
						handler.onError(new InvalidArgumentError("Proxy Authentication Required (407)"));
					}
					return;
				}
				if (onHeaders) onHeaders.call(this, statusCode, data, resume);
			};
			const { origin, path = "/", headers = {} } = opts;
			opts.path = origin + path;
			if (!("host" in headers) && !("Host" in headers)) {
				const { host } = new URL(origin);
				headers.host = host;
			}
			opts.headers = {
				...this[kProxyHeaders],
				...headers
			};
			return this.#client[kDispatch](opts, handler);
		}
		[kClose]() {
			return this.#client.close();
		}
		[kDestroy](err) {
			return this.#client.destroy(err);
		}
	};
	var ProxyAgent = class extends DispatcherBase {
		constructor(opts) {
			if (!opts || typeof opts === "object" && !(opts instanceof URL) && !opts.uri) {
				throw new InvalidArgumentError("Proxy uri is mandatory");
			}
			const { clientFactory = defaultFactory } = opts;
			if (typeof clientFactory !== "function") {
				throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
			}
			const { proxyTunnel = true } = opts;
			super();
			const url = this.#getUrl(opts);
			const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url;
			this[kProxy] = {
				uri: href,
				protocol
			};
			this[kRequestTls] = opts.requestTls;
			this[kProxyTls] = opts.proxyTls;
			this[kProxyHeaders] = opts.headers || {};
			this[kTunnelProxy] = proxyTunnel;
			if (opts.auth && opts.token) {
				throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
			} else if (opts.auth) {
				this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
			} else if (opts.token) {
				this[kProxyHeaders]["proxy-authorization"] = opts.token;
			} else if (username && password) {
				this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
			}
			const connect = buildConnector({ ...opts.proxyTls });
			this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
			const agentFactory = opts.factory || defaultAgentFactory;
			const factory = (origin, options) => {
				const { protocol } = new URL(origin);
				if (!this[kTunnelProxy] && protocol === "http:" && this[kProxy].protocol === "http:") {
					return new Http1ProxyWrapper(this[kProxy].uri, {
						headers: this[kProxyHeaders],
						connect,
						factory: agentFactory
					});
				}
				return agentFactory(origin, options);
			};
			this[kClient] = clientFactory(url, { connect });
			this[kAgent] = new Agent({
				...opts,
				factory,
				connect: async (opts, callback) => {
					let requestedPath = opts.host;
					if (!opts.port) {
						requestedPath += `:${defaultProtocolPort(opts.protocol)}`;
					}
					try {
						const connectParams = {
							origin,
							port,
							path: requestedPath,
							signal: opts.signal,
							headers: {
								...this[kProxyHeaders],
								host: opts.host,
								...opts.connections == null || opts.connections > 0 ? { "proxy-connection": "keep-alive" } : {}
							},
							servername: this[kProxyTls]?.servername || proxyHostname
						};
						const { socket, statusCode } = await this[kClient].connect(connectParams);
						if (statusCode !== 200) {
							socket.on("error", noop).destroy();
							callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
							return;
						}
						if (channels.proxyConnected.hasSubscribers) {
							channels.proxyConnected.publish({
								socket,
								connectParams
							});
						}
						if (opts.protocol !== "https:") {
							callback(null, socket);
							return;
						}
						let servername;
						if (this[kRequestTls]) {
							servername = this[kRequestTls].servername;
						} else {
							servername = opts.servername;
						}
						this[kConnectEndpoint]({
							...opts,
							servername,
							httpSocket: socket
						}, callback);
					} catch (err) {
						if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
							callback(new SecureProxyConnectionError(err));
						} else {
							callback(err);
						}
					}
				}
			});
		}
		dispatch(opts, handler) {
			const headers = buildHeaders(opts.headers);
			throwIfProxyAuthIsSent(headers);
			if (headers && !("host" in headers) && !("Host" in headers)) {
				const { host } = new URL(opts.origin);
				headers.host = host;
			}
			return this[kAgent].dispatch({
				...opts,
				headers
			}, handler);
		}
		/**
		* @param {import('../../types/proxy-agent').ProxyAgent.Options | string | URL} opts
		* @returns {URL}
		*/
		#getUrl(opts) {
			if (typeof opts === "string") {
				return new URL(opts);
			} else if (opts instanceof URL) {
				return opts;
			} else {
				return new URL(opts.uri);
			}
		}
		[kClose]() {
			return Promise.all([this[kAgent].close(), this[kClient].close()]);
		}
		[kDestroy]() {
			return Promise.all([this[kAgent].destroy(), this[kClient].destroy()]);
		}
	};
	/**
	* @param {string[] | Record<string, string>} headers
	* @returns {Record<string, string>}
	*/
	function buildHeaders(headers) {
		if (Array.isArray(headers)) {
			/** @type {Record<string, string>} */
			const headersPair = {};
			for (let i = 0; i < headers.length; i += 2) {
				headersPair[headers[i]] = headers[i + 1];
			}
			return headersPair;
		}
		return headers;
	}
	/**
	* @param {Record<string, string>} headers
	*
	* Previous versions of ProxyAgent suggests the Proxy-Authorization in request headers
	* Nevertheless, it was changed and to avoid a security vulnerability by end users
	* this check was created.
	* It should be removed in the next major version for performance reasons
	*/
	function throwIfProxyAuthIsSent(headers) {
		const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
		if (existProxyAuth) {
			throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
		}
	}
	module.exports = ProxyAgent;
}));

//#endregion
//#region ../node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
var require_env_http_proxy_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const DispatcherBase = require_dispatcher_base();
	const { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols();
	const ProxyAgent = require_proxy_agent();
	const Agent = require_agent();
	const DEFAULT_PORTS = {
		"http:": 80,
		"https:": 443
	};
	var EnvHttpProxyAgent = class extends DispatcherBase {
		#noProxyValue = null;
		#noProxyEntries = null;
		#opts = null;
		constructor(opts = {}) {
			super();
			this.#opts = opts;
			const { httpProxy, httpsProxy, noProxy, ...agentOpts } = opts;
			this[kNoProxyAgent] = new Agent(agentOpts);
			const HTTP_PROXY = httpProxy ?? process.env.http_proxy ?? process.env.HTTP_PROXY;
			if (HTTP_PROXY) {
				this[kHttpProxyAgent] = new ProxyAgent({
					...agentOpts,
					uri: HTTP_PROXY
				});
			} else {
				this[kHttpProxyAgent] = this[kNoProxyAgent];
			}
			const HTTPS_PROXY = httpsProxy ?? process.env.https_proxy ?? process.env.HTTPS_PROXY;
			if (HTTPS_PROXY) {
				this[kHttpsProxyAgent] = new ProxyAgent({
					...agentOpts,
					uri: HTTPS_PROXY
				});
			} else {
				this[kHttpsProxyAgent] = this[kHttpProxyAgent];
			}
			this.#parseNoProxy();
		}
		[kDispatch](opts, handler) {
			const url = new URL(opts.origin);
			const agent = this.#getProxyAgentForUrl(url);
			return agent.dispatch(opts, handler);
		}
		[kClose]() {
			return Promise.all([
				this[kNoProxyAgent].close(),
				!this[kHttpProxyAgent][kClosed] && this[kHttpProxyAgent].close(),
				!this[kHttpsProxyAgent][kClosed] && this[kHttpsProxyAgent].close()
			]);
		}
		[kDestroy](err) {
			return Promise.all([
				this[kNoProxyAgent].destroy(err),
				!this[kHttpProxyAgent][kDestroyed] && this[kHttpProxyAgent].destroy(err),
				!this[kHttpsProxyAgent][kDestroyed] && this[kHttpsProxyAgent].destroy(err)
			]);
		}
		#getProxyAgentForUrl(url) {
			let { protocol, host: hostname, port } = url;
			hostname = hostname.replace(/:\d*$/, "").toLowerCase();
			port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0;
			if (!this.#shouldProxy(hostname, port)) {
				return this[kNoProxyAgent];
			}
			if (protocol === "https:") {
				return this[kHttpsProxyAgent];
			}
			return this[kHttpProxyAgent];
		}
		#shouldProxy(hostname, port) {
			if (this.#noProxyChanged) {
				this.#parseNoProxy();
			}
			if (this.#noProxyEntries.length === 0) {
				return true;
			}
			if (this.#noProxyValue === "*") {
				return false;
			}
			for (let i = 0; i < this.#noProxyEntries.length; i++) {
				const entry = this.#noProxyEntries[i];
				if (entry.port && entry.port !== port) {
					continue;
				}
				if (!/^[.*]/.test(entry.hostname)) {
					if (hostname === entry.hostname) {
						return false;
					}
				} else {
					if (hostname.endsWith(entry.hostname.replace(/^\*/, ""))) {
						return false;
					}
				}
			}
			return true;
		}
		#parseNoProxy() {
			const noProxyValue = this.#opts.noProxy ?? this.#noProxyEnv;
			const noProxySplit = noProxyValue.split(/[,\s]/);
			const noProxyEntries = [];
			for (let i = 0; i < noProxySplit.length; i++) {
				const entry = noProxySplit[i];
				if (!entry) {
					continue;
				}
				const parsed = entry.match(/^(.+):(\d+)$/);
				noProxyEntries.push({
					hostname: (parsed ? parsed[1] : entry).toLowerCase(),
					port: parsed ? Number.parseInt(parsed[2], 10) : 0
				});
			}
			this.#noProxyValue = noProxyValue;
			this.#noProxyEntries = noProxyEntries;
		}
		get #noProxyChanged() {
			if (this.#opts.noProxy !== undefined) {
				return false;
			}
			return this.#noProxyValue !== this.#noProxyEnv;
		}
		get #noProxyEnv() {
			return process.env.no_proxy ?? process.env.NO_PROXY ?? "";
		}
	};
	module.exports = EnvHttpProxyAgent;
}));

//#endregion
//#region ../node_modules/undici/lib/handler/retry-handler.js
var require_retry_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const assert$22 = __require("node:assert");
	const { kRetryHandlerDefaultRetry } = require_symbols();
	const { RequestRetryError } = require_errors();
	const WrapHandler = require_wrap_handler();
	const { isDisturbed, parseRangeHeader, wrapRequestBody } = require_util$5();
	function calculateRetryAfterHeader(retryAfter) {
		const retryTime = new Date(retryAfter).getTime();
		return isNaN(retryTime) ? 0 : retryTime - Date.now();
	}
	var RetryHandler = class RetryHandler {
		constructor(opts, { dispatch, handler }) {
			const { retryOptions, ...dispatchOpts } = opts;
			const { retry: retryFn, maxRetries, maxTimeout, minTimeout, timeoutFactor, methods, errorCodes, retryAfter, statusCodes, throwOnError } = retryOptions ?? {};
			this.error = null;
			this.dispatch = dispatch;
			this.handler = WrapHandler.wrap(handler);
			this.opts = {
				...dispatchOpts,
				body: wrapRequestBody(opts.body)
			};
			this.retryOpts = {
				throwOnError: throwOnError ?? true,
				retry: retryFn ?? RetryHandler[kRetryHandlerDefaultRetry],
				retryAfter: retryAfter ?? true,
				maxTimeout: maxTimeout ?? 30 * 1e3,
				minTimeout: minTimeout ?? 500,
				timeoutFactor: timeoutFactor ?? 2,
				maxRetries: maxRetries ?? 5,
				methods: methods ?? [
					"GET",
					"HEAD",
					"OPTIONS",
					"PUT",
					"DELETE",
					"TRACE"
				],
				statusCodes: statusCodes ?? [
					500,
					502,
					503,
					504,
					429
				],
				errorCodes: errorCodes ?? [
					"ECONNRESET",
					"ECONNREFUSED",
					"ENOTFOUND",
					"ENETDOWN",
					"ENETUNREACH",
					"EHOSTDOWN",
					"EHOSTUNREACH",
					"EPIPE",
					"UND_ERR_SOCKET"
				]
			};
			this.retryCount = 0;
			this.retryCountCheckpoint = 0;
			this.headersSent = false;
			this.start = 0;
			this.end = null;
			this.etag = null;
		}
		onResponseStartWithRetry(controller, statusCode, headers, statusMessage, err) {
			if (this.retryOpts.throwOnError) {
				if (this.retryOpts.statusCodes.includes(statusCode) === false) {
					this.headersSent = true;
					this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
				} else {
					this.error = err;
				}
				return;
			}
			if (isDisturbed(this.opts.body)) {
				this.headersSent = true;
				this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
				return;
			}
			function shouldRetry(passedErr) {
				if (passedErr) {
					this.headersSent = true;
					this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
					controller.resume();
					return;
				}
				this.error = err;
				controller.resume();
			}
			controller.pause();
			this.retryOpts.retry(err, {
				state: { counter: this.retryCount },
				opts: {
					retryOptions: this.retryOpts,
					...this.opts
				}
			}, shouldRetry.bind(this));
		}
		onRequestStart(controller, context) {
			if (!this.headersSent) {
				this.handler.onRequestStart?.(controller, context);
			}
		}
		onRequestUpgrade(controller, statusCode, headers, socket) {
			this.handler.onRequestUpgrade?.(controller, statusCode, headers, socket);
		}
		static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
			const { statusCode, code, headers } = err;
			const { method, retryOptions } = opts;
			const { maxRetries, minTimeout, maxTimeout, timeoutFactor, statusCodes, errorCodes, methods } = retryOptions;
			const { counter } = state;
			if (code && code !== "UND_ERR_REQ_RETRY" && !errorCodes.includes(code)) {
				cb(err);
				return;
			}
			if (Array.isArray(methods) && !methods.includes(method)) {
				cb(err);
				return;
			}
			if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
				cb(err);
				return;
			}
			if (counter > maxRetries) {
				cb(err);
				return;
			}
			let retryAfterHeader = headers?.["retry-after"];
			if (retryAfterHeader) {
				retryAfterHeader = Number(retryAfterHeader);
				retryAfterHeader = Number.isNaN(retryAfterHeader) ? calculateRetryAfterHeader(headers["retry-after"]) : retryAfterHeader * 1e3;
			}
			const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(minTimeout * timeoutFactor ** (counter - 1), maxTimeout);
			setTimeout(() => cb(null), retryTimeout);
		}
		onResponseStart(controller, statusCode, headers, statusMessage) {
			this.error = null;
			this.retryCount += 1;
			if (statusCode >= 300) {
				const err = new RequestRetryError("Request failed", statusCode, {
					headers,
					data: { count: this.retryCount }
				});
				this.onResponseStartWithRetry(controller, statusCode, headers, statusMessage, err);
				return;
			}
			if (this.headersSent) {
				if (statusCode !== 206 && (this.start > 0 || statusCode !== 200)) {
					throw new RequestRetryError("server does not support the range header and the payload was partially consumed", statusCode, {
						headers,
						data: { count: this.retryCount }
					});
				}
				const contentRange = parseRangeHeader(headers["content-range"]);
				if (!contentRange) {
					throw new RequestRetryError("Content-Range mismatch", statusCode, {
						headers,
						data: { count: this.retryCount }
					});
				}
				if (this.etag != null && this.etag !== headers.etag) {
					throw new RequestRetryError("ETag mismatch", statusCode, {
						headers,
						data: { count: this.retryCount }
					});
				}
				const { start, size, end = size ? size - 1 : null } = contentRange;
				assert$22(this.start === start, "content-range mismatch");
				assert$22(this.end == null || this.end === end, "content-range mismatch");
				return;
			}
			if (this.end == null) {
				if (statusCode === 206) {
					const range = parseRangeHeader(headers["content-range"]);
					if (range == null) {
						this.headersSent = true;
						this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
						return;
					}
					const { start, size, end = size ? size - 1 : null } = range;
					assert$22(start != null && Number.isFinite(start), "content-range mismatch");
					assert$22(end != null && Number.isFinite(end), "invalid content-length");
					this.start = start;
					this.end = end;
				}
				if (this.end == null) {
					const contentLength = headers["content-length"];
					this.end = contentLength != null ? Number(contentLength) - 1 : null;
				}
				assert$22(Number.isFinite(this.start));
				assert$22(this.end == null || Number.isFinite(this.end), "invalid content-length");
				this.resume = true;
				this.etag = headers.etag != null ? headers.etag : null;
				if (this.etag != null && this.etag[0] === "W" && this.etag[1] === "/") {
					this.etag = null;
				}
				this.headersSent = true;
				this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
			} else {
				throw new RequestRetryError("Request failed", statusCode, {
					headers,
					data: { count: this.retryCount }
				});
			}
		}
		onResponseData(controller, chunk) {
			if (this.error) {
				return;
			}
			this.start += chunk.length;
			this.handler.onResponseData?.(controller, chunk);
		}
		onResponseEnd(controller, trailers) {
			if (this.error && this.retryOpts.throwOnError) {
				throw this.error;
			}
			if (!this.error) {
				this.retryCount = 0;
				return this.handler.onResponseEnd?.(controller, trailers);
			}
			this.retry(controller);
		}
		retry(controller) {
			if (this.start !== 0) {
				const headers = { range: `bytes=${this.start}-${this.end ?? ""}` };
				if (this.etag != null) {
					headers["if-match"] = this.etag;
				}
				this.opts = {
					...this.opts,
					headers: {
						...this.opts.headers,
						...headers
					}
				};
			}
			try {
				this.retryCountCheckpoint = this.retryCount;
				this.dispatch(this.opts, this);
			} catch (err) {
				this.handler.onResponseError?.(controller, err);
			}
		}
		onResponseError(controller, err) {
			if (controller?.aborted || isDisturbed(this.opts.body)) {
				this.handler.onResponseError?.(controller, err);
				return;
			}
			function shouldRetry(returnedErr) {
				if (!returnedErr) {
					this.retry(controller);
					return;
				}
				this.handler?.onResponseError?.(controller, returnedErr);
			}
			if (this.retryCount - this.retryCountCheckpoint > 0) {
				this.retryCount = this.retryCountCheckpoint + (this.retryCount - this.retryCountCheckpoint);
			} else {
				this.retryCount += 1;
			}
			this.retryOpts.retry(err, {
				state: { counter: this.retryCount },
				opts: {
					retryOptions: this.retryOpts,
					...this.opts
				}
			}, shouldRetry.bind(this));
		}
	};
	module.exports = RetryHandler;
}));

//#endregion
//#region ../node_modules/undici/lib/dispatcher/retry-agent.js
var require_retry_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const Dispatcher = require_dispatcher();
	const RetryHandler = require_retry_handler();
	var RetryAgent = class extends Dispatcher {
		#agent = null;
		#options = null;
		constructor(agent, options = {}) {
			super(options);
			this.#agent = agent;
			this.#options = options;
		}
		dispatch(opts, handler) {
			const retry = new RetryHandler({
				...opts,
				retryOptions: this.#options
			}, {
				dispatch: this.#agent.dispatch.bind(this.#agent),
				handler
			});
			return this.#agent.dispatch(opts, retry);
		}
		close() {
			return this.#agent.close();
		}
		destroy() {
			return this.#agent.destroy();
		}
	};
	module.exports = RetryAgent;
}));

//#endregion
//#region ../node_modules/undici/lib/dispatcher/h2c-client.js
var require_h2c_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { InvalidArgumentError } = require_errors();
	const Client = require_client();
	var H2CClient = class extends Client {
		constructor(origin, clientOpts) {
			if (typeof origin === "string") {
				origin = new URL(origin);
			}
			if (origin.protocol !== "http:") {
				throw new InvalidArgumentError("h2c-client: Only h2c protocol is supported");
			}
			const { connect, maxConcurrentStreams, pipelining, ...opts } = clientOpts ?? {};
			let defaultMaxConcurrentStreams = 100;
			let defaultPipelining = 100;
			if (maxConcurrentStreams != null && Number.isInteger(maxConcurrentStreams) && maxConcurrentStreams > 0) {
				defaultMaxConcurrentStreams = maxConcurrentStreams;
			}
			if (pipelining != null && Number.isInteger(pipelining) && pipelining > 0) {
				defaultPipelining = pipelining;
			}
			if (defaultPipelining > defaultMaxConcurrentStreams) {
				throw new InvalidArgumentError("h2c-client: pipelining cannot be greater than maxConcurrentStreams");
			}
			super(origin, {
				...opts,
				maxConcurrentStreams: defaultMaxConcurrentStreams,
				pipelining: defaultPipelining,
				allowH2: true,
				useH2c: true
			});
		}
	};
	module.exports = H2CClient;
}));

//#endregion
//#region ../node_modules/undici/lib/api/readable.js
var require_readable = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const assert$21 = __require("node:assert");
	const { Readable: Readable$4 } = __require("node:stream");
	const { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require_errors();
	const util = require_util$5();
	const { ReadableStreamFrom } = require_util$5();
	const kConsume = Symbol("kConsume");
	const kReading = Symbol("kReading");
	const kBody = Symbol("kBody");
	const kAbort = Symbol("kAbort");
	const kContentType = Symbol("kContentType");
	const kContentLength = Symbol("kContentLength");
	const kUsed = Symbol("kUsed");
	const kBytesRead = Symbol("kBytesRead");
	const noop = () => {};
	/**
	* @class
	* @extends {Readable}
	* @see https://fetch.spec.whatwg.org/#body
	*/
	var BodyReadable = class extends Readable$4 {
		/**
		* @param {object} opts
		* @param {(this: Readable, size: number) => void} opts.resume
		* @param {() => (void | null)} opts.abort
		* @param {string} [opts.contentType = '']
		* @param {number} [opts.contentLength]
		* @param {number} [opts.highWaterMark = 64 * 1024]
		*/
		constructor({ resume, abort, contentType = "", contentLength, highWaterMark = 64 * 1024 }) {
			super({
				autoDestroy: true,
				read: resume,
				highWaterMark
			});
			this._readableState.dataEmitted = false;
			this[kAbort] = abort;
			/** @type {Consume | null} */
			this[kConsume] = null;
			/** @type {number} */
			this[kBytesRead] = 0;
			/** @type {ReadableStream|null} */
			this[kBody] = null;
			/** @type {boolean} */
			this[kUsed] = false;
			/** @type {string} */
			this[kContentType] = contentType;
			/** @type {number|null} */
			this[kContentLength] = Number.isFinite(contentLength) ? contentLength : null;
			/**
			* Is stream being consumed through Readable API?
			* This is an optimization so that we avoid checking
			* for 'data' and 'readable' listeners in the hot path
			* inside push().
			*
			* @type {boolean}
			*/
			this[kReading] = false;
		}
		/**
		* @param {Error|null} err
		* @param {(error:(Error|null)) => void} callback
		* @returns {void}
		*/
		_destroy(err, callback) {
			if (!err && !this._readableState.endEmitted) {
				err = new RequestAbortedError();
			}
			if (err) {
				this[kAbort]();
			}
			if (!this[kUsed]) {
				setImmediate(callback, err);
			} else {
				callback(err);
			}
		}
		/**
		* @param {string|symbol} event
		* @param {(...args: any[]) => void} listener
		* @returns {this}
		*/
		on(event, listener) {
			if (event === "data" || event === "readable") {
				this[kReading] = true;
				this[kUsed] = true;
			}
			return super.on(event, listener);
		}
		/**
		* @param {string|symbol} event
		* @param {(...args: any[]) => void} listener
		* @returns {this}
		*/
		addListener(event, listener) {
			return this.on(event, listener);
		}
		/**
		* @param {string|symbol} event
		* @param {(...args: any[]) => void} listener
		* @returns {this}
		*/
		off(event, listener) {
			const ret = super.off(event, listener);
			if (event === "data" || event === "readable") {
				this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
			}
			return ret;
		}
		/**
		* @param {string|symbol} event
		* @param {(...args: any[]) => void} listener
		* @returns {this}
		*/
		removeListener(event, listener) {
			return this.off(event, listener);
		}
		/**
		* @param {Buffer|null} chunk
		* @returns {boolean}
		*/
		push(chunk) {
			if (chunk) {
				this[kBytesRead] += chunk.length;
				if (this[kConsume]) {
					consumePush(this[kConsume], chunk);
					return this[kReading] ? super.push(chunk) : true;
				}
			}
			return super.push(chunk);
		}
		/**
		* Consumes and returns the body as a string.
		*
		* @see https://fetch.spec.whatwg.org/#dom-body-text
		* @returns {Promise<string>}
		*/
		text() {
			return consume(this, "text");
		}
		/**
		* Consumes and returns the body as a JavaScript Object.
		*
		* @see https://fetch.spec.whatwg.org/#dom-body-json
		* @returns {Promise<unknown>}
		*/
		json() {
			return consume(this, "json");
		}
		/**
		* Consumes and returns the body as a Blob
		*
		* @see https://fetch.spec.whatwg.org/#dom-body-blob
		* @returns {Promise<Blob>}
		*/
		blob() {
			return consume(this, "blob");
		}
		/**
		* Consumes and returns the body as an Uint8Array.
		*
		* @see https://fetch.spec.whatwg.org/#dom-body-bytes
		* @returns {Promise<Uint8Array>}
		*/
		bytes() {
			return consume(this, "bytes");
		}
		/**
		* Consumes and returns the body as an ArrayBuffer.
		*
		* @see https://fetch.spec.whatwg.org/#dom-body-arraybuffer
		* @returns {Promise<ArrayBuffer>}
		*/
		arrayBuffer() {
			return consume(this, "arrayBuffer");
		}
		/**
		* Not implemented
		*
		* @see https://fetch.spec.whatwg.org/#dom-body-formdata
		* @throws {NotSupportedError}
		*/
		async formData() {
			throw new NotSupportedError();
		}
		/**
		* Returns true if the body is not null and the body has been consumed.
		* Otherwise, returns false.
		*
		* @see https://fetch.spec.whatwg.org/#dom-body-bodyused
		* @readonly
		* @returns {boolean}
		*/
		get bodyUsed() {
			return util.isDisturbed(this);
		}
		/**
		* @see https://fetch.spec.whatwg.org/#dom-body-body
		* @readonly
		* @returns {ReadableStream}
		*/
		get body() {
			if (!this[kBody]) {
				this[kBody] = ReadableStreamFrom(this);
				if (this[kConsume]) {
					this[kBody].getReader();
					assert$21(this[kBody].locked);
				}
			}
			return this[kBody];
		}
		/**
		* Dumps the response body by reading `limit` number of bytes.
		* @param {object} opts
		* @param {number} [opts.limit = 131072] Number of bytes to read.
		* @param {AbortSignal} [opts.signal] An AbortSignal to cancel the dump.
		* @returns {Promise<null>}
		*/
		dump(opts) {
			const signal = opts?.signal;
			if (signal != null && (typeof signal !== "object" || !("aborted" in signal))) {
				return Promise.reject(new InvalidArgumentError("signal must be an AbortSignal"));
			}
			const limit = opts?.limit && Number.isFinite(opts.limit) ? opts.limit : 128 * 1024;
			if (signal?.aborted) {
				return Promise.reject(signal.reason ?? new AbortError());
			}
			if (this._readableState.closeEmitted) {
				return Promise.resolve(null);
			}
			return new Promise((resolve, reject) => {
				if (this[kContentLength] && this[kContentLength] > limit || this[kBytesRead] > limit) {
					this.destroy(new AbortError());
				}
				if (signal) {
					const onAbort = () => {
						this.destroy(signal.reason ?? new AbortError());
					};
					signal.addEventListener("abort", onAbort);
					this.on("close", function() {
						signal.removeEventListener("abort", onAbort);
						if (signal.aborted) {
							reject(signal.reason ?? new AbortError());
						} else {
							resolve(null);
						}
					});
				} else {
					this.on("close", resolve);
				}
				this.on("error", noop).on("data", () => {
					if (this[kBytesRead] > limit) {
						this.destroy();
					}
				}).resume();
			});
		}
		/**
		* @param {BufferEncoding} encoding
		* @returns {this}
		*/
		setEncoding(encoding) {
			if (Buffer.isEncoding(encoding)) {
				this._readableState.encoding = encoding;
			}
			return this;
		}
	};
	/**
	* @see https://streams.spec.whatwg.org/#readablestream-locked
	* @param {BodyReadable} bodyReadable
	* @returns {boolean}
	*/
	function isLocked(bodyReadable) {
		return bodyReadable[kBody]?.locked === true || bodyReadable[kConsume] !== null;
	}
	/**
	* @see https://fetch.spec.whatwg.org/#body-unusable
	* @param {BodyReadable} bodyReadable
	* @returns {boolean}
	*/
	function isUnusable(bodyReadable) {
		return util.isDisturbed(bodyReadable) || isLocked(bodyReadable);
	}
	/**
	* @typedef {'text' | 'json' | 'blob' | 'bytes' | 'arrayBuffer'} ConsumeType
	*/
	/**
	* @template {ConsumeType} T
	* @typedef {T extends 'text' ? string :
	*           T extends 'json' ? unknown :
	*           T extends 'blob' ? Blob :
	*           T extends 'arrayBuffer' ? ArrayBuffer :
	*           T extends 'bytes' ? Uint8Array :
	*           never
	* } ConsumeReturnType
	*/
	/**
	* @typedef {object} Consume
	* @property {ConsumeType} type
	* @property {BodyReadable} stream
	* @property {((value?: any) => void)} resolve
	* @property {((err: Error) => void)} reject
	* @property {number} length
	* @property {Buffer[]} body
	*/
	/**
	* @template {ConsumeType} T
	* @param {BodyReadable} stream
	* @param {T} type
	* @returns {Promise<ConsumeReturnType<T>>}
	*/
	function consume(stream, type) {
		assert$21(!stream[kConsume]);
		return new Promise((resolve, reject) => {
			if (isUnusable(stream)) {
				const rState = stream._readableState;
				if (rState.destroyed && rState.closeEmitted === false) {
					stream.on("error", reject).on("close", () => {
						reject(new TypeError("unusable"));
					});
				} else {
					reject(rState.errored ?? new TypeError("unusable"));
				}
			} else {
				queueMicrotask(() => {
					stream[kConsume] = {
						type,
						stream,
						resolve,
						reject,
						length: 0,
						body: []
					};
					stream.on("error", function(err) {
						consumeFinish(this[kConsume], err);
					}).on("close", function() {
						if (this[kConsume].body !== null) {
							consumeFinish(this[kConsume], new RequestAbortedError());
						}
					});
					consumeStart(stream[kConsume]);
				});
			}
		});
	}
	/**
	* @param {Consume} consume
	* @returns {void}
	*/
	function consumeStart(consume) {
		if (consume.body === null) {
			return;
		}
		const { _readableState: state } = consume.stream;
		if (state.bufferIndex) {
			const start = state.bufferIndex;
			const end = state.buffer.length;
			for (let n = start; n < end; n++) {
				consumePush(consume, state.buffer[n]);
			}
		} else {
			for (const chunk of state.buffer) {
				consumePush(consume, chunk);
			}
		}
		if (state.endEmitted) {
			consumeEnd(this[kConsume], this._readableState.encoding);
		} else {
			consume.stream.on("end", function() {
				consumeEnd(this[kConsume], this._readableState.encoding);
			});
		}
		consume.stream.resume();
		while (consume.stream.read() != null) {}
	}
	/**
	* @param {Buffer[]} chunks
	* @param {number} length
	* @param {BufferEncoding} [encoding='utf8']
	* @returns {string}
	*/
	function chunksDecode(chunks, length, encoding) {
		if (chunks.length === 0 || length === 0) {
			return "";
		}
		const buffer = chunks.length === 1 ? chunks[0] : Buffer.concat(chunks, length);
		const bufferLength = buffer.length;
		const start = bufferLength > 2 && buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191 ? 3 : 0;
		if (!encoding || encoding === "utf8" || encoding === "utf-8") {
			return buffer.utf8Slice(start, bufferLength);
		} else {
			return buffer.subarray(start, bufferLength).toString(encoding);
		}
	}
	/**
	* @param {Buffer[]} chunks
	* @param {number} length
	* @returns {Uint8Array}
	*/
	function chunksConcat(chunks, length) {
		if (chunks.length === 0 || length === 0) {
			return new Uint8Array(0);
		}
		if (chunks.length === 1) {
			return new Uint8Array(chunks[0]);
		}
		const buffer = new Uint8Array(Buffer.allocUnsafeSlow(length).buffer);
		let offset = 0;
		for (let i = 0; i < chunks.length; ++i) {
			const chunk = chunks[i];
			buffer.set(chunk, offset);
			offset += chunk.length;
		}
		return buffer;
	}
	/**
	* @param {Consume} consume
	* @param {BufferEncoding} encoding
	* @returns {void}
	*/
	function consumeEnd(consume, encoding) {
		const { type, body, resolve, stream, length } = consume;
		try {
			if (type === "text") {
				resolve(chunksDecode(body, length, encoding));
			} else if (type === "json") {
				resolve(JSON.parse(chunksDecode(body, length, encoding)));
			} else if (type === "arrayBuffer") {
				resolve(chunksConcat(body, length).buffer);
			} else if (type === "blob") {
				resolve(new Blob(body, { type: stream[kContentType] }));
			} else if (type === "bytes") {
				resolve(chunksConcat(body, length));
			}
			consumeFinish(consume);
		} catch (err) {
			stream.destroy(err);
		}
	}
	/**
	* @param {Consume} consume
	* @param {Buffer} chunk
	* @returns {void}
	*/
	function consumePush(consume, chunk) {
		consume.length += chunk.length;
		consume.body.push(chunk);
	}
	/**
	* @param {Consume} consume
	* @param {Error} [err]
	* @returns {void}
	*/
	function consumeFinish(consume, err) {
		if (consume.body === null) {
			return;
		}
		if (err) {
			consume.reject(err);
		} else {
			consume.resolve();
		}
		consume.type = null;
		consume.stream = null;
		consume.resolve = null;
		consume.reject = null;
		consume.length = 0;
		consume.body = null;
	}
	module.exports = {
		Readable: BodyReadable,
		chunksDecode
	};
}));

//#endregion
//#region ../node_modules/undici/lib/api/api-request.js
var require_api_request = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const assert$20 = __require("node:assert");
	const { AsyncResource: AsyncResource$4 } = __require("node:async_hooks");
	const { Readable } = require_readable();
	const { InvalidArgumentError, RequestAbortedError } = require_errors();
	const util = require_util$5();
	function noop() {}
	var RequestHandler = class extends AsyncResource$4 {
		constructor(opts, callback) {
			if (!opts || typeof opts !== "object") {
				throw new InvalidArgumentError("invalid opts");
			}
			const { signal, method, opaque, body, onInfo, responseHeaders, highWaterMark } = opts;
			try {
				if (typeof callback !== "function") {
					throw new InvalidArgumentError("invalid callback");
				}
				if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
					throw new InvalidArgumentError("invalid highWaterMark");
				}
				if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
					throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
				}
				if (method === "CONNECT") {
					throw new InvalidArgumentError("invalid method");
				}
				if (onInfo && typeof onInfo !== "function") {
					throw new InvalidArgumentError("invalid onInfo callback");
				}
				super("UNDICI_REQUEST");
			} catch (err) {
				if (util.isStream(body)) {
					util.destroy(body.on("error", noop), err);
				}
				throw err;
			}
			this.method = method;
			this.responseHeaders = responseHeaders || null;
			this.opaque = opaque || null;
			this.callback = callback;
			this.res = null;
			this.abort = null;
			this.body = body;
			this.trailers = {};
			this.context = null;
			this.onInfo = onInfo || null;
			this.highWaterMark = highWaterMark;
			this.reason = null;
			this.removeAbortListener = null;
			if (signal?.aborted) {
				this.reason = signal.reason ?? new RequestAbortedError();
			} else if (signal) {
				this.removeAbortListener = util.addAbortListener(signal, () => {
					this.reason = signal.reason ?? new RequestAbortedError();
					if (this.res) {
						util.destroy(this.res.on("error", noop), this.reason);
					} else if (this.abort) {
						this.abort(this.reason);
					}
				});
			}
		}
		onConnect(abort, context) {
			if (this.reason) {
				abort(this.reason);
				return;
			}
			assert$20(this.callback);
			this.abort = abort;
			this.context = context;
		}
		onHeaders(statusCode, rawHeaders, resume, statusMessage) {
			const { callback, opaque, abort, context, responseHeaders, highWaterMark } = this;
			const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
			if (statusCode < 200) {
				if (this.onInfo) {
					this.onInfo({
						statusCode,
						headers
					});
				}
				return;
			}
			const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers;
			const contentType = parsedHeaders["content-type"];
			const contentLength = parsedHeaders["content-length"];
			const res = new Readable({
				resume,
				abort,
				contentType,
				contentLength: this.method !== "HEAD" && contentLength ? Number(contentLength) : null,
				highWaterMark
			});
			if (this.removeAbortListener) {
				res.on("close", this.removeAbortListener);
				this.removeAbortListener = null;
			}
			this.callback = null;
			this.res = res;
			if (callback !== null) {
				try {
					this.runInAsyncScope(callback, null, null, {
						statusCode,
						statusText: statusMessage,
						headers,
						trailers: this.trailers,
						opaque,
						body: res,
						context
					});
				} catch (err) {
					this.res = null;
					util.destroy(res.on("error", noop), err);
					queueMicrotask(() => {
						throw err;
					});
				}
			}
		}
		onData(chunk) {
			return this.res.push(chunk);
		}
		onComplete(trailers) {
			util.parseHeaders(trailers, this.trailers);
			this.res.push(null);
		}
		onError(err) {
			const { res, callback, body, opaque } = this;
			if (callback) {
				this.callback = null;
				queueMicrotask(() => {
					this.runInAsyncScope(callback, null, err, { opaque });
				});
			}
			if (res) {
				this.res = null;
				queueMicrotask(() => {
					util.destroy(res.on("error", noop), err);
				});
			}
			if (body) {
				this.body = null;
				if (util.isStream(body)) {
					body.on("error", noop);
					util.destroy(body, err);
				}
			}
			if (this.removeAbortListener) {
				this.removeAbortListener();
				this.removeAbortListener = null;
			}
		}
	};
	function request(opts, callback) {
		if (callback === undefined) {
			return new Promise((resolve, reject) => {
				request.call(this, opts, (err, data) => {
					return err ? reject(err) : resolve(data);
				});
			});
		}
		try {
			const handler = new RequestHandler(opts, callback);
			this.dispatch(opts, handler);
		} catch (err) {
			if (typeof callback !== "function") {
				throw err;
			}
			const opaque = opts?.opaque;
			queueMicrotask(() => callback(err, { opaque }));
		}
	}
	module.exports = request;
	module.exports.RequestHandler = RequestHandler;
}));

//#endregion
//#region ../node_modules/undici/lib/api/abort-signal.js
var require_abort_signal = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { addAbortListener } = require_util$5();
	const { RequestAbortedError } = require_errors();
	const kListener = Symbol("kListener");
	const kSignal = Symbol("kSignal");
	function abort(self) {
		if (self.abort) {
			self.abort(self[kSignal]?.reason);
		} else {
			self.reason = self[kSignal]?.reason ?? new RequestAbortedError();
		}
		removeSignal(self);
	}
	function addSignal(self, signal) {
		self.reason = null;
		self[kSignal] = null;
		self[kListener] = null;
		if (!signal) {
			return;
		}
		if (signal.aborted) {
			abort(self);
			return;
		}
		self[kSignal] = signal;
		self[kListener] = () => {
			abort(self);
		};
		addAbortListener(self[kSignal], self[kListener]);
	}
	function removeSignal(self) {
		if (!self[kSignal]) {
			return;
		}
		if ("removeEventListener" in self[kSignal]) {
			self[kSignal].removeEventListener("abort", self[kListener]);
		} else {
			self[kSignal].removeListener("abort", self[kListener]);
		}
		self[kSignal] = null;
		self[kListener] = null;
	}
	module.exports = {
		addSignal,
		removeSignal
	};
}));

//#endregion
//#region ../node_modules/undici/lib/api/api-stream.js
var require_api_stream = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const assert$19 = __require("node:assert");
	const { finished: finished$2 } = __require("node:stream");
	const { AsyncResource: AsyncResource$3 } = __require("node:async_hooks");
	const { InvalidArgumentError, InvalidReturnValueError } = require_errors();
	const util = require_util$5();
	const { addSignal, removeSignal } = require_abort_signal();
	function noop() {}
	var StreamHandler = class extends AsyncResource$3 {
		constructor(opts, factory, callback) {
			if (!opts || typeof opts !== "object") {
				throw new InvalidArgumentError("invalid opts");
			}
			const { signal, method, opaque, body, onInfo, responseHeaders } = opts;
			try {
				if (typeof callback !== "function") {
					throw new InvalidArgumentError("invalid callback");
				}
				if (typeof factory !== "function") {
					throw new InvalidArgumentError("invalid factory");
				}
				if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
					throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
				}
				if (method === "CONNECT") {
					throw new InvalidArgumentError("invalid method");
				}
				if (onInfo && typeof onInfo !== "function") {
					throw new InvalidArgumentError("invalid onInfo callback");
				}
				super("UNDICI_STREAM");
			} catch (err) {
				if (util.isStream(body)) {
					util.destroy(body.on("error", noop), err);
				}
				throw err;
			}
			this.responseHeaders = responseHeaders || null;
			this.opaque = opaque || null;
			this.factory = factory;
			this.callback = callback;
			this.res = null;
			this.abort = null;
			this.context = null;
			this.trailers = null;
			this.body = body;
			this.onInfo = onInfo || null;
			if (util.isStream(body)) {
				body.on("error", (err) => {
					this.onError(err);
				});
			}
			addSignal(this, signal);
		}
		onConnect(abort, context) {
			if (this.reason) {
				abort(this.reason);
				return;
			}
			assert$19(this.callback);
			this.abort = abort;
			this.context = context;
		}
		onHeaders(statusCode, rawHeaders, resume, statusMessage) {
			const { factory, opaque, context, responseHeaders } = this;
			const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
			if (statusCode < 200) {
				if (this.onInfo) {
					this.onInfo({
						statusCode,
						headers
					});
				}
				return;
			}
			this.factory = null;
			if (factory === null) {
				return;
			}
			const res = this.runInAsyncScope(factory, null, {
				statusCode,
				headers,
				opaque,
				context
			});
			if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
				throw new InvalidReturnValueError("expected Writable");
			}
			finished$2(res, { readable: false }, (err) => {
				const { callback, res, opaque, trailers, abort } = this;
				this.res = null;
				if (err || !res?.readable) {
					util.destroy(res, err);
				}
				this.callback = null;
				this.runInAsyncScope(callback, null, err || null, {
					opaque,
					trailers
				});
				if (err) {
					abort();
				}
			});
			res.on("drain", resume);
			this.res = res;
			const needDrain = res.writableNeedDrain !== undefined ? res.writableNeedDrain : res._writableState?.needDrain;
			return needDrain !== true;
		}
		onData(chunk) {
			const { res } = this;
			return res ? res.write(chunk) : true;
		}
		onComplete(trailers) {
			const { res } = this;
			removeSignal(this);
			if (!res) {
				return;
			}
			this.trailers = util.parseHeaders(trailers);
			res.end();
		}
		onError(err) {
			const { res, callback, opaque, body } = this;
			removeSignal(this);
			this.factory = null;
			if (res) {
				this.res = null;
				util.destroy(res, err);
			} else if (callback) {
				this.callback = null;
				queueMicrotask(() => {
					this.runInAsyncScope(callback, null, err, { opaque });
				});
			}
			if (body) {
				this.body = null;
				util.destroy(body, err);
			}
		}
	};
	function stream(opts, factory, callback) {
		if (callback === undefined) {
			return new Promise((resolve, reject) => {
				stream.call(this, opts, factory, (err, data) => {
					return err ? reject(err) : resolve(data);
				});
			});
		}
		try {
			const handler = new StreamHandler(opts, factory, callback);
			this.dispatch(opts, handler);
		} catch (err) {
			if (typeof callback !== "function") {
				throw err;
			}
			const opaque = opts?.opaque;
			queueMicrotask(() => callback(err, { opaque }));
		}
	}
	module.exports = stream;
}));

//#endregion
//#region ../node_modules/undici/lib/api/api-pipeline.js
var require_api_pipeline = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { Readable: Readable$3, Duplex, PassThrough: PassThrough$1 } = __require("node:stream");
	const assert$18 = __require("node:assert");
	const { AsyncResource: AsyncResource$2 } = __require("node:async_hooks");
	const { InvalidArgumentError, InvalidReturnValueError, RequestAbortedError } = require_errors();
	const util = require_util$5();
	const { addSignal, removeSignal } = require_abort_signal();
	function noop() {}
	const kResume = Symbol("resume");
	var PipelineRequest = class extends Readable$3 {
		constructor() {
			super({ autoDestroy: true });
			this[kResume] = null;
		}
		_read() {
			const { [kResume]: resume } = this;
			if (resume) {
				this[kResume] = null;
				resume();
			}
		}
		_destroy(err, callback) {
			this._read();
			callback(err);
		}
	};
	var PipelineResponse = class extends Readable$3 {
		constructor(resume) {
			super({ autoDestroy: true });
			this[kResume] = resume;
		}
		_read() {
			this[kResume]();
		}
		_destroy(err, callback) {
			if (!err && !this._readableState.endEmitted) {
				err = new RequestAbortedError();
			}
			callback(err);
		}
	};
	var PipelineHandler = class extends AsyncResource$2 {
		constructor(opts, handler) {
			if (!opts || typeof opts !== "object") {
				throw new InvalidArgumentError("invalid opts");
			}
			if (typeof handler !== "function") {
				throw new InvalidArgumentError("invalid handler");
			}
			const { signal, method, opaque, onInfo, responseHeaders } = opts;
			if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
				throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
			}
			if (method === "CONNECT") {
				throw new InvalidArgumentError("invalid method");
			}
			if (onInfo && typeof onInfo !== "function") {
				throw new InvalidArgumentError("invalid onInfo callback");
			}
			super("UNDICI_PIPELINE");
			this.opaque = opaque || null;
			this.responseHeaders = responseHeaders || null;
			this.handler = handler;
			this.abort = null;
			this.context = null;
			this.onInfo = onInfo || null;
			this.req = new PipelineRequest().on("error", noop);
			this.ret = new Duplex({
				readableObjectMode: opts.objectMode,
				autoDestroy: true,
				read: () => {
					const { body } = this;
					if (body?.resume) {
						body.resume();
					}
				},
				write: (chunk, encoding, callback) => {
					const { req } = this;
					if (req.push(chunk, encoding) || req._readableState.destroyed) {
						callback();
					} else {
						req[kResume] = callback;
					}
				},
				destroy: (err, callback) => {
					const { body, req, res, ret, abort } = this;
					if (!err && !ret._readableState.endEmitted) {
						err = new RequestAbortedError();
					}
					if (abort && err) {
						abort();
					}
					util.destroy(body, err);
					util.destroy(req, err);
					util.destroy(res, err);
					removeSignal(this);
					callback(err);
				}
			}).on("prefinish", () => {
				const { req } = this;
				req.push(null);
			});
			this.res = null;
			addSignal(this, signal);
		}
		onConnect(abort, context) {
			const { res } = this;
			if (this.reason) {
				abort(this.reason);
				return;
			}
			assert$18(!res, "pipeline cannot be retried");
			this.abort = abort;
			this.context = context;
		}
		onHeaders(statusCode, rawHeaders, resume) {
			const { opaque, handler, context } = this;
			if (statusCode < 200) {
				if (this.onInfo) {
					const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
					this.onInfo({
						statusCode,
						headers
					});
				}
				return;
			}
			this.res = new PipelineResponse(resume);
			let body;
			try {
				this.handler = null;
				const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
				body = this.runInAsyncScope(handler, null, {
					statusCode,
					headers,
					opaque,
					body: this.res,
					context
				});
			} catch (err) {
				this.res.on("error", noop);
				throw err;
			}
			if (!body || typeof body.on !== "function") {
				throw new InvalidReturnValueError("expected Readable");
			}
			body.on("data", (chunk) => {
				const { ret, body } = this;
				if (!ret.push(chunk) && body.pause) {
					body.pause();
				}
			}).on("error", (err) => {
				const { ret } = this;
				util.destroy(ret, err);
			}).on("end", () => {
				const { ret } = this;
				ret.push(null);
			}).on("close", () => {
				const { ret } = this;
				if (!ret._readableState.ended) {
					util.destroy(ret, new RequestAbortedError());
				}
			});
			this.body = body;
		}
		onData(chunk) {
			const { res } = this;
			return res.push(chunk);
		}
		onComplete(trailers) {
			const { res } = this;
			res.push(null);
		}
		onError(err) {
			const { ret } = this;
			this.handler = null;
			util.destroy(ret, err);
		}
	};
	function pipeline(opts, handler) {
		try {
			const pipelineHandler = new PipelineHandler(opts, handler);
			this.dispatch({
				...opts,
				body: pipelineHandler.req
			}, pipelineHandler);
			return pipelineHandler.ret;
		} catch (err) {
			return new PassThrough$1().destroy(err);
		}
	}
	module.exports = pipeline;
}));

//#endregion
//#region ../node_modules/undici/lib/api/api-upgrade.js
var require_api_upgrade = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { InvalidArgumentError, SocketError } = require_errors();
	const { AsyncResource: AsyncResource$1 } = __require("node:async_hooks");
	const assert$17 = __require("node:assert");
	const util = require_util$5();
	const { kHTTP2Stream } = require_symbols();
	const { addSignal, removeSignal } = require_abort_signal();
	var UpgradeHandler = class extends AsyncResource$1 {
		constructor(opts, callback) {
			if (!opts || typeof opts !== "object") {
				throw new InvalidArgumentError("invalid opts");
			}
			if (typeof callback !== "function") {
				throw new InvalidArgumentError("invalid callback");
			}
			const { signal, opaque, responseHeaders } = opts;
			if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
				throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
			}
			super("UNDICI_UPGRADE");
			this.responseHeaders = responseHeaders || null;
			this.opaque = opaque || null;
			this.callback = callback;
			this.abort = null;
			this.context = null;
			addSignal(this, signal);
		}
		onConnect(abort, context) {
			if (this.reason) {
				abort(this.reason);
				return;
			}
			assert$17(this.callback);
			this.abort = abort;
			this.context = null;
		}
		onHeaders() {
			throw new SocketError("bad upgrade", null);
		}
		onUpgrade(statusCode, rawHeaders, socket) {
			assert$17(socket[kHTTP2Stream] === true ? statusCode === 200 : statusCode === 101);
			const { callback, opaque, context } = this;
			removeSignal(this);
			this.callback = null;
			const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
			this.runInAsyncScope(callback, null, null, {
				headers,
				socket,
				opaque,
				context
			});
		}
		onError(err) {
			const { callback, opaque } = this;
			removeSignal(this);
			if (callback) {
				this.callback = null;
				queueMicrotask(() => {
					this.runInAsyncScope(callback, null, err, { opaque });
				});
			}
		}
	};
	function upgrade(opts, callback) {
		if (callback === undefined) {
			return new Promise((resolve, reject) => {
				upgrade.call(this, opts, (err, data) => {
					return err ? reject(err) : resolve(data);
				});
			});
		}
		try {
			const upgradeHandler = new UpgradeHandler(opts, callback);
			const upgradeOpts = {
				...opts,
				method: opts.method || "GET",
				upgrade: opts.protocol || "Websocket"
			};
			this.dispatch(upgradeOpts, upgradeHandler);
		} catch (err) {
			if (typeof callback !== "function") {
				throw err;
			}
			const opaque = opts?.opaque;
			queueMicrotask(() => callback(err, { opaque }));
		}
	}
	module.exports = upgrade;
}));

//#endregion
//#region ../node_modules/undici/lib/api/api-connect.js
var require_api_connect = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const assert$16 = __require("node:assert");
	const { AsyncResource } = __require("node:async_hooks");
	const { InvalidArgumentError, SocketError } = require_errors();
	const util = require_util$5();
	const { addSignal, removeSignal } = require_abort_signal();
	var ConnectHandler = class extends AsyncResource {
		constructor(opts, callback) {
			if (!opts || typeof opts !== "object") {
				throw new InvalidArgumentError("invalid opts");
			}
			if (typeof callback !== "function") {
				throw new InvalidArgumentError("invalid callback");
			}
			const { signal, opaque, responseHeaders } = opts;
			if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
				throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget");
			}
			super("UNDICI_CONNECT");
			this.opaque = opaque || null;
			this.responseHeaders = responseHeaders || null;
			this.callback = callback;
			this.abort = null;
			addSignal(this, signal);
		}
		onConnect(abort, context) {
			if (this.reason) {
				abort(this.reason);
				return;
			}
			assert$16(this.callback);
			this.abort = abort;
			this.context = context;
		}
		onHeaders() {
			throw new SocketError("bad connect", null);
		}
		onUpgrade(statusCode, rawHeaders, socket) {
			const { callback, opaque, context } = this;
			removeSignal(this);
			this.callback = null;
			let headers = rawHeaders;
			if (headers != null) {
				headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders);
			}
			this.runInAsyncScope(callback, null, null, {
				statusCode,
				headers,
				socket,
				opaque,
				context
			});
		}
		onError(err) {
			const { callback, opaque } = this;
			removeSignal(this);
			if (callback) {
				this.callback = null;
				queueMicrotask(() => {
					this.runInAsyncScope(callback, null, err, { opaque });
				});
			}
		}
	};
	function connect(opts, callback) {
		if (callback === undefined) {
			return new Promise((resolve, reject) => {
				connect.call(this, opts, (err, data) => {
					return err ? reject(err) : resolve(data);
				});
			});
		}
		try {
			const connectHandler = new ConnectHandler(opts, callback);
			const connectOptions = {
				...opts,
				method: "CONNECT"
			};
			this.dispatch(connectOptions, connectHandler);
		} catch (err) {
			if (typeof callback !== "function") {
				throw err;
			}
			const opaque = opts?.opaque;
			queueMicrotask(() => callback(err, { opaque }));
		}
	}
	module.exports = connect;
}));

//#endregion
//#region ../node_modules/undici/lib/api/index.js
var require_api = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports.request = require_api_request();
	module.exports.stream = require_api_stream();
	module.exports.pipeline = require_api_pipeline();
	module.exports.upgrade = require_api_upgrade();
	module.exports.connect = require_api_connect();
}));

//#endregion
//#region ../node_modules/undici/lib/mock/mock-errors.js
var require_mock_errors = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { UndiciError } = require_errors();
	const kMockNotMatchedError = Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
	/**
	* The request does not match any registered mock dispatches.
	*/
	var MockNotMatchedError = class extends UndiciError {
		constructor(message) {
			super(message);
			this.name = "MockNotMatchedError";
			this.message = message || "The request does not match any registered mock dispatches";
			this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
		}
		static [Symbol.hasInstance](instance) {
			return instance && instance[kMockNotMatchedError] === true;
		}
		get [kMockNotMatchedError]() {
			return true;
		}
	};
	module.exports = { MockNotMatchedError };
}));

//#endregion
//#region ../node_modules/undici/lib/mock/mock-symbols.js
var require_mock_symbols = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = {
		kAgent: Symbol("agent"),
		kOptions: Symbol("options"),
		kFactory: Symbol("factory"),
		kDispatches: Symbol("dispatches"),
		kDispatchKey: Symbol("dispatch key"),
		kDefaultHeaders: Symbol("default headers"),
		kDefaultTrailers: Symbol("default trailers"),
		kContentLength: Symbol("content length"),
		kMockAgent: Symbol("mock agent"),
		kMockAgentSet: Symbol("mock agent set"),
		kMockAgentGet: Symbol("mock agent get"),
		kMockDispatch: Symbol("mock dispatch"),
		kClose: Symbol("close"),
		kOriginalClose: Symbol("original agent close"),
		kOriginalDispatch: Symbol("original dispatch"),
		kOrigin: Symbol("origin"),
		kIsMockActive: Symbol("is mock active"),
		kNetConnect: Symbol("net connect"),
		kGetNetConnect: Symbol("get net connect"),
		kConnected: Symbol("connected"),
		kIgnoreTrailingSlash: Symbol("ignore trailing slash"),
		kMockAgentMockCallHistoryInstance: Symbol("mock agent mock call history name"),
		kMockAgentRegisterCallHistory: Symbol("mock agent register mock call history"),
		kMockAgentAddCallHistoryLog: Symbol("mock agent add call history log"),
		kMockAgentIsCallHistoryEnabled: Symbol("mock agent is call history enabled"),
		kMockAgentAcceptsNonStandardSearchParameters: Symbol("mock agent accepts non standard search parameters"),
		kMockCallHistoryAddLog: Symbol("mock call history add log")
	};
}));

//#endregion
//#region ../node_modules/undici/lib/mock/mock-utils.js
var require_mock_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { MockNotMatchedError } = require_mock_errors();
	const { kDispatches, kMockAgent, kOriginalDispatch, kOrigin, kGetNetConnect } = require_mock_symbols();
	const { serializePathWithQuery } = require_util$5();
	const { STATUS_CODES: STATUS_CODES$1 } = __require("node:http");
	const { types: { isPromise } } = __require("node:util");
	const { InvalidArgumentError } = require_errors();
	function matchValue(match, value) {
		if (typeof match === "string") {
			return match === value;
		}
		if (match instanceof RegExp) {
			return match.test(value);
		}
		if (typeof match === "function") {
			return match(value) === true;
		}
		return false;
	}
	function lowerCaseEntries(headers) {
		return Object.fromEntries(Object.entries(headers).map(([headerName, headerValue]) => {
			return [headerName.toLocaleLowerCase(), headerValue];
		}));
	}
	/**
	* @param {import('../../index').Headers|string[]|Record<string, string>} headers
	* @param {string} key
	*/
	function getHeaderByName(headers, key) {
		if (Array.isArray(headers)) {
			for (let i = 0; i < headers.length; i += 2) {
				if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {
					return headers[i + 1];
				}
			}
			return undefined;
		} else if (typeof headers.get === "function") {
			return headers.get(key);
		} else {
			return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
		}
	}
	/** @param {string[]} headers */
	function buildHeadersFromArray(headers) {
		const clone = headers.slice();
		const entries = [];
		for (let index = 0; index < clone.length; index += 2) {
			entries.push([clone[index], clone[index + 1]]);
		}
		return Object.fromEntries(entries);
	}
	function matchHeaders(mockDispatch, headers) {
		if (typeof mockDispatch.headers === "function") {
			if (Array.isArray(headers)) {
				headers = buildHeadersFromArray(headers);
			}
			return mockDispatch.headers(headers ? lowerCaseEntries(headers) : {});
		}
		if (typeof mockDispatch.headers === "undefined") {
			return true;
		}
		if (typeof headers !== "object" || typeof mockDispatch.headers !== "object") {
			return false;
		}
		for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch.headers)) {
			const headerValue = getHeaderByName(headers, matchHeaderName);
			if (!matchValue(matchHeaderValue, headerValue)) {
				return false;
			}
		}
		return true;
	}
	function normalizeSearchParams(query) {
		if (typeof query !== "string") {
			return query;
		}
		const originalQp = new URLSearchParams(query);
		const normalizedQp = new URLSearchParams();
		for (let [key, value] of originalQp.entries()) {
			key = key.replace("[]", "");
			const valueRepresentsString = /^(['"]).*\1$/.test(value);
			if (valueRepresentsString) {
				normalizedQp.append(key, value);
				continue;
			}
			if (value.includes(",")) {
				const values = value.split(",");
				for (const v of values) {
					normalizedQp.append(key, v);
				}
				continue;
			}
			normalizedQp.append(key, value);
		}
		return normalizedQp;
	}
	function safeUrl(path) {
		if (typeof path !== "string") {
			return path;
		}
		const pathSegments = path.split("?", 3);
		if (pathSegments.length !== 2) {
			return path;
		}
		const qp = new URLSearchParams(pathSegments.pop());
		qp.sort();
		return [...pathSegments, qp.toString()].join("?");
	}
	function matchKey(mockDispatch, { path, method, body, headers }) {
		const pathMatch = matchValue(mockDispatch.path, path);
		const methodMatch = matchValue(mockDispatch.method, method);
		const bodyMatch = typeof mockDispatch.body !== "undefined" ? matchValue(mockDispatch.body, body) : true;
		const headersMatch = matchHeaders(mockDispatch, headers);
		return pathMatch && methodMatch && bodyMatch && headersMatch;
	}
	function getResponseData(data) {
		if (Buffer.isBuffer(data)) {
			return data;
		} else if (data instanceof Uint8Array) {
			return data;
		} else if (data instanceof ArrayBuffer) {
			return data;
		} else if (typeof data === "object") {
			return JSON.stringify(data);
		} else if (data) {
			return data.toString();
		} else {
			return "";
		}
	}
	function getMockDispatch(mockDispatches, key) {
		const basePath = key.query ? serializePathWithQuery(key.path, key.query) : key.path;
		const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
		const resolvedPathWithoutTrailingSlash = removeTrailingSlash(resolvedPath);
		let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path, ignoreTrailingSlash }) => {
			return ignoreTrailingSlash ? matchValue(removeTrailingSlash(safeUrl(path)), resolvedPathWithoutTrailingSlash) : matchValue(safeUrl(path), resolvedPath);
		});
		if (matchedMockDispatches.length === 0) {
			throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
		}
		matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
		if (matchedMockDispatches.length === 0) {
			throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`);
		}
		matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
		if (matchedMockDispatches.length === 0) {
			throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);
		}
		matchedMockDispatches = matchedMockDispatches.filter((mockDispatch) => matchHeaders(mockDispatch, key.headers));
		if (matchedMockDispatches.length === 0) {
			const headers = typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers;
			throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`);
		}
		return matchedMockDispatches[0];
	}
	function addMockDispatch(mockDispatches, key, data, opts) {
		const baseData = {
			timesInvoked: 0,
			times: 1,
			persist: false,
			consumed: false,
			...opts
		};
		const replyData = typeof data === "function" ? { callback: data } : { ...data };
		const newMockDispatch = {
			...baseData,
			...key,
			pending: true,
			data: {
				error: null,
				...replyData
			}
		};
		mockDispatches.push(newMockDispatch);
		return newMockDispatch;
	}
	function deleteMockDispatch(mockDispatches, key) {
		const index = mockDispatches.findIndex((dispatch) => {
			if (!dispatch.consumed) {
				return false;
			}
			return matchKey(dispatch, key);
		});
		if (index !== -1) {
			mockDispatches.splice(index, 1);
		}
	}
	/**
	* @param {string} path Path to remove trailing slash from
	*/
	function removeTrailingSlash(path) {
		while (path.endsWith("/")) {
			path = path.slice(0, -1);
		}
		if (path.length === 0) {
			path = "/";
		}
		return path;
	}
	function buildKey(opts) {
		const { path, method, body, headers, query } = opts;
		return {
			path,
			method,
			body,
			headers,
			query
		};
	}
	function generateKeyValues(data) {
		const keys = Object.keys(data);
		const result = [];
		for (let i = 0; i < keys.length; ++i) {
			const key = keys[i];
			const value = data[key];
			const name = Buffer.from(`${key}`);
			if (Array.isArray(value)) {
				for (let j = 0; j < value.length; ++j) {
					result.push(name, Buffer.from(`${value[j]}`));
				}
			} else {
				result.push(name, Buffer.from(`${value}`));
			}
		}
		return result;
	}
	/**
	* @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
	* @param {number} statusCode
	*/
	function getStatusText(statusCode) {
		return STATUS_CODES$1[statusCode] || "unknown";
	}
	async function getResponse(body) {
		const buffers = [];
		for await (const data of body) {
			buffers.push(data);
		}
		return Buffer.concat(buffers).toString("utf8");
	}
	/**
	* Mock dispatch function used to simulate undici dispatches
	*/
	function mockDispatch(opts, handler) {
		const key = buildKey(opts);
		const mockDispatch = getMockDispatch(this[kDispatches], key);
		mockDispatch.timesInvoked++;
		if (mockDispatch.data.callback) {
			mockDispatch.data = {
				...mockDispatch.data,
				...mockDispatch.data.callback(opts)
			};
		}
		const { data: { statusCode, data, headers, trailers, error }, delay, persist } = mockDispatch;
		const { timesInvoked, times } = mockDispatch;
		mockDispatch.consumed = !persist && timesInvoked >= times;
		mockDispatch.pending = timesInvoked < times;
		if (error !== null) {
			deleteMockDispatch(this[kDispatches], key);
			handler.onError(error);
			return true;
		}
		let aborted = false;
		let timer = null;
		function abort(err) {
			if (aborted) {
				return;
			}
			aborted = true;
			if (timer !== null) {
				clearTimeout(timer);
				timer = null;
			}
			handler.onError(err);
		}
		handler.onConnect?.(abort, null);
		if (typeof delay === "number" && delay > 0) {
			timer = setTimeout(() => {
				timer = null;
				handleReply(this[kDispatches]);
			}, delay);
		} else {
			handleReply(this[kDispatches]);
		}
		function handleReply(mockDispatches, _data = data) {
			if (aborted) {
				return;
			}
			const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
			const body = typeof _data === "function" ? _data({
				...opts,
				headers: optsHeaders
			}) : _data;
			if (isPromise(body)) {
				return body.then((newData) => handleReply(mockDispatches, newData));
			}
			if (aborted) {
				return;
			}
			const responseData = getResponseData(body);
			const responseHeaders = generateKeyValues(headers);
			const responseTrailers = generateKeyValues(trailers);
			handler.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode));
			handler.onData?.(Buffer.from(responseData));
			handler.onComplete?.(responseTrailers);
			deleteMockDispatch(mockDispatches, key);
		}
		function resume() {}
		return true;
	}
	function buildMockDispatch() {
		const agent = this[kMockAgent];
		const origin = this[kOrigin];
		const originalDispatch = this[kOriginalDispatch];
		return function dispatch(opts, handler) {
			if (agent.isMockActive) {
				try {
					mockDispatch.call(this, opts, handler);
				} catch (error) {
					if (error.code === "UND_MOCK_ERR_MOCK_NOT_MATCHED") {
						const netConnect = agent[kGetNetConnect]();
						if (netConnect === false) {
							throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`);
						}
						if (checkNetConnect(netConnect, origin)) {
							originalDispatch.call(this, opts, handler);
						} else {
							throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`);
						}
					} else {
						throw error;
					}
				}
			} else {
				originalDispatch.call(this, opts, handler);
			}
		};
	}
	function checkNetConnect(netConnect, origin) {
		const url = new URL(origin);
		if (netConnect === true) {
			return true;
		} else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url.host))) {
			return true;
		}
		return false;
	}
	function normalizeOrigin(origin) {
		if (typeof origin !== "string" && !(origin instanceof URL)) {
			return origin;
		}
		if (origin instanceof URL) {
			return origin.origin;
		}
		return origin.toLowerCase();
	}
	function buildAndValidateMockOptions(opts) {
		const { agent, ...mockOptions } = opts;
		if ("enableCallHistory" in mockOptions && typeof mockOptions.enableCallHistory !== "boolean") {
			throw new InvalidArgumentError("options.enableCallHistory must to be a boolean");
		}
		if ("acceptNonStandardSearchParameters" in mockOptions && typeof mockOptions.acceptNonStandardSearchParameters !== "boolean") {
			throw new InvalidArgumentError("options.acceptNonStandardSearchParameters must to be a boolean");
		}
		if ("ignoreTrailingSlash" in mockOptions && typeof mockOptions.ignoreTrailingSlash !== "boolean") {
			throw new InvalidArgumentError("options.ignoreTrailingSlash must to be a boolean");
		}
		return mockOptions;
	}
	module.exports = {
		getResponseData,
		getMockDispatch,
		addMockDispatch,
		deleteMockDispatch,
		buildKey,
		generateKeyValues,
		matchValue,
		getResponse,
		getStatusText,
		mockDispatch,
		buildMockDispatch,
		checkNetConnect,
		buildAndValidateMockOptions,
		getHeaderByName,
		buildHeadersFromArray,
		normalizeSearchParams,
		normalizeOrigin
	};
}));

//#endregion
//#region ../node_modules/undici/lib/mock/mock-interceptor.js
var require_mock_interceptor = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { getResponseData, buildKey, addMockDispatch } = require_mock_utils();
	const { kDispatches, kDispatchKey, kDefaultHeaders, kDefaultTrailers, kContentLength, kMockDispatch, kIgnoreTrailingSlash } = require_mock_symbols();
	const { InvalidArgumentError } = require_errors();
	const { serializePathWithQuery } = require_util$5();
	/**
	* Defines the scope API for an interceptor reply
	*/
	var MockScope = class {
		constructor(mockDispatch) {
			this[kMockDispatch] = mockDispatch;
		}
		/**
		* Delay a reply by a set amount in ms.
		*/
		delay(waitInMs) {
			if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) {
				throw new InvalidArgumentError("waitInMs must be a valid integer > 0");
			}
			this[kMockDispatch].delay = waitInMs;
			return this;
		}
		/**
		* For a defined reply, never mark as consumed.
		*/
		persist() {
			this[kMockDispatch].persist = true;
			return this;
		}
		/**
		* Allow one to define a reply for a set amount of matching requests.
		*/
		times(repeatTimes) {
			if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
				throw new InvalidArgumentError("repeatTimes must be a valid integer > 0");
			}
			this[kMockDispatch].times = repeatTimes;
			return this;
		}
	};
	/**
	* Defines an interceptor for a Mock
	*/
	var MockInterceptor = class {
		constructor(opts, mockDispatches) {
			if (typeof opts !== "object") {
				throw new InvalidArgumentError("opts must be an object");
			}
			if (typeof opts.path === "undefined") {
				throw new InvalidArgumentError("opts.path must be defined");
			}
			if (typeof opts.method === "undefined") {
				opts.method = "GET";
			}
			if (typeof opts.path === "string") {
				if (opts.query) {
					opts.path = serializePathWithQuery(opts.path, opts.query);
				} else {
					const parsedURL = new URL(opts.path, "data://");
					opts.path = parsedURL.pathname + parsedURL.search;
				}
			}
			if (typeof opts.method === "string") {
				opts.method = opts.method.toUpperCase();
			}
			this[kDispatchKey] = buildKey(opts);
			this[kDispatches] = mockDispatches;
			this[kIgnoreTrailingSlash] = opts.ignoreTrailingSlash ?? false;
			this[kDefaultHeaders] = {};
			this[kDefaultTrailers] = {};
			this[kContentLength] = false;
		}
		createMockScopeDispatchData({ statusCode, data, responseOptions }) {
			const responseData = getResponseData(data);
			const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
			const headers = {
				...this[kDefaultHeaders],
				...contentLength,
				...responseOptions.headers
			};
			const trailers = {
				...this[kDefaultTrailers],
				...responseOptions.trailers
			};
			return {
				statusCode,
				data,
				headers,
				trailers
			};
		}
		validateReplyParameters(replyParameters) {
			if (typeof replyParameters.statusCode === "undefined") {
				throw new InvalidArgumentError("statusCode must be defined");
			}
			if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) {
				throw new InvalidArgumentError("responseOptions must be an object");
			}
		}
		/**
		* Mock an undici request with a defined reply.
		*/
		reply(replyOptionsCallbackOrStatusCode) {
			if (typeof replyOptionsCallbackOrStatusCode === "function") {
				const wrappedDefaultsCallback = (opts) => {
					const resolvedData = replyOptionsCallbackOrStatusCode(opts);
					if (typeof resolvedData !== "object" || resolvedData === null) {
						throw new InvalidArgumentError("reply options callback must return an object");
					}
					const replyParameters = {
						data: "",
						responseOptions: {},
						...resolvedData
					};
					this.validateReplyParameters(replyParameters);
					return { ...this.createMockScopeDispatchData(replyParameters) };
				};
				const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback, { ignoreTrailingSlash: this[kIgnoreTrailingSlash] });
				return new MockScope(newMockDispatch);
			}
			const replyParameters = {
				statusCode: replyOptionsCallbackOrStatusCode,
				data: arguments[1] === undefined ? "" : arguments[1],
				responseOptions: arguments[2] === undefined ? {} : arguments[2]
			};
			this.validateReplyParameters(replyParameters);
			const dispatchData = this.createMockScopeDispatchData(replyParameters);
			const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData, { ignoreTrailingSlash: this[kIgnoreTrailingSlash] });
			return new MockScope(newMockDispatch);
		}
		/**
		* Mock an undici request with a defined error.
		*/
		replyWithError(error) {
			if (typeof error === "undefined") {
				throw new InvalidArgumentError("error must be defined");
			}
			const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error }, { ignoreTrailingSlash: this[kIgnoreTrailingSlash] });
			return new MockScope(newMockDispatch);
		}
		/**
		* Set default reply headers on the interceptor for subsequent replies
		*/
		defaultReplyHeaders(headers) {
			if (typeof headers === "undefined") {
				throw new InvalidArgumentError("headers must be defined");
			}
			this[kDefaultHeaders] = headers;
			return this;
		}
		/**
		* Set default reply trailers on the interceptor for subsequent replies
		*/
		defaultReplyTrailers(trailers) {
			if (typeof trailers === "undefined") {
				throw new InvalidArgumentError("trailers must be defined");
			}
			this[kDefaultTrailers] = trailers;
			return this;
		}
		/**
		* Set reply content length header for replies on the interceptor
		*/
		replyContentLength() {
			this[kContentLength] = true;
			return this;
		}
	};
	module.exports.MockInterceptor = MockInterceptor;
	module.exports.MockScope = MockScope;
}));

//#endregion
//#region ../node_modules/undici/lib/mock/mock-client.js
var require_mock_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { promisify: promisify$2 } = __require("node:util");
	const Client = require_client();
	const { buildMockDispatch } = require_mock_utils();
	const { kDispatches, kMockAgent, kClose, kOriginalClose, kOrigin, kOriginalDispatch, kConnected, kIgnoreTrailingSlash } = require_mock_symbols();
	const { MockInterceptor } = require_mock_interceptor();
	const Symbols = require_symbols();
	const { InvalidArgumentError } = require_errors();
	/**
	* MockClient provides an API that extends the Client to influence the mockDispatches.
	*/
	var MockClient = class extends Client {
		constructor(origin, opts) {
			if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
				throw new InvalidArgumentError("Argument opts.agent must implement Agent");
			}
			super(origin, opts);
			this[kMockAgent] = opts.agent;
			this[kOrigin] = origin;
			this[kIgnoreTrailingSlash] = opts.ignoreTrailingSlash ?? false;
			this[kDispatches] = [];
			this[kConnected] = 1;
			this[kOriginalDispatch] = this.dispatch;
			this[kOriginalClose] = this.close.bind(this);
			this.dispatch = buildMockDispatch.call(this);
			this.close = this[kClose];
		}
		get [Symbols.kConnected]() {
			return this[kConnected];
		}
		/**
		* Sets up the base interceptor for mocking replies from undici.
		*/
		intercept(opts) {
			return new MockInterceptor(opts && {
				ignoreTrailingSlash: this[kIgnoreTrailingSlash],
				...opts
			}, this[kDispatches]);
		}
		cleanMocks() {
			this[kDispatches] = [];
		}
		async [kClose]() {
			await promisify$2(this[kOriginalClose])();
			this[kConnected] = 0;
			this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
		}
	};
	module.exports = MockClient;
}));

//#endregion
//#region ../node_modules/undici/lib/mock/mock-call-history.js
var require_mock_call_history = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { kMockCallHistoryAddLog } = require_mock_symbols();
	const { InvalidArgumentError } = require_errors();
	function handleFilterCallsWithOptions(criteria, options, handler, store) {
		switch (options.operator) {
			case "OR":
				store.push(...handler(criteria));
				return store;
			case "AND": return handler.call({ logs: store }, criteria);
			default: throw new InvalidArgumentError("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");
		}
	}
	function buildAndValidateFilterCallsOptions(options = {}) {
		const finalOptions = {};
		if ("operator" in options) {
			if (typeof options.operator !== "string" || options.operator.toUpperCase() !== "OR" && options.operator.toUpperCase() !== "AND") {
				throw new InvalidArgumentError("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");
			}
			return {
				...finalOptions,
				operator: options.operator.toUpperCase()
			};
		}
		return finalOptions;
	}
	function makeFilterCalls(parameterName) {
		return (parameterValue) => {
			if (typeof parameterValue === "string" || parameterValue == null) {
				return this.logs.filter((log) => {
					return log[parameterName] === parameterValue;
				});
			}
			if (parameterValue instanceof RegExp) {
				return this.logs.filter((log) => {
					return parameterValue.test(log[parameterName]);
				});
			}
			throw new InvalidArgumentError(`${parameterName} parameter should be one of string, regexp, undefined or null`);
		};
	}
	function computeUrlWithMaybeSearchParameters(requestInit) {
		try {
			const url = new URL(requestInit.path, requestInit.origin);
			if (url.search.length !== 0) {
				return url;
			}
			url.search = new URLSearchParams(requestInit.query).toString();
			return url;
		} catch (error) {
			throw new InvalidArgumentError("An error occurred when computing MockCallHistoryLog.url", { cause: error });
		}
	}
	var MockCallHistoryLog = class {
		constructor(requestInit = {}) {
			this.body = requestInit.body;
			this.headers = requestInit.headers;
			this.method = requestInit.method;
			const url = computeUrlWithMaybeSearchParameters(requestInit);
			this.fullUrl = url.toString();
			this.origin = url.origin;
			this.path = url.pathname;
			this.searchParams = Object.fromEntries(url.searchParams);
			this.protocol = url.protocol;
			this.host = url.host;
			this.port = url.port;
			this.hash = url.hash;
		}
		toMap() {
			return new Map([
				["protocol", this.protocol],
				["host", this.host],
				["port", this.port],
				["origin", this.origin],
				["path", this.path],
				["hash", this.hash],
				["searchParams", this.searchParams],
				["fullUrl", this.fullUrl],
				["method", this.method],
				["body", this.body],
				["headers", this.headers]
			]);
		}
		toString() {
			const options = {
				betweenKeyValueSeparator: "->",
				betweenPairSeparator: "|"
			};
			let result = "";
			this.toMap().forEach((value, key) => {
				if (typeof value === "string" || value === undefined || value === null) {
					result = `${result}${key}${options.betweenKeyValueSeparator}${value}${options.betweenPairSeparator}`;
				}
				if (typeof value === "object" && value !== null || Array.isArray(value)) {
					result = `${result}${key}${options.betweenKeyValueSeparator}${JSON.stringify(value)}${options.betweenPairSeparator}`;
				}
			});
			return result.slice(0, -1);
		}
	};
	var MockCallHistory = class {
		logs = [];
		calls() {
			return this.logs;
		}
		firstCall() {
			return this.logs.at(0);
		}
		lastCall() {
			return this.logs.at(-1);
		}
		nthCall(number) {
			if (typeof number !== "number") {
				throw new InvalidArgumentError("nthCall must be called with a number");
			}
			if (!Number.isInteger(number)) {
				throw new InvalidArgumentError("nthCall must be called with an integer");
			}
			if (Math.sign(number) !== 1) {
				throw new InvalidArgumentError("nthCall must be called with a positive value. use firstCall or lastCall instead");
			}
			return this.logs.at(number - 1);
		}
		filterCalls(criteria, options) {
			if (this.logs.length === 0) {
				return this.logs;
			}
			if (typeof criteria === "function") {
				return this.logs.filter(criteria);
			}
			if (criteria instanceof RegExp) {
				return this.logs.filter((log) => {
					return criteria.test(log.toString());
				});
			}
			if (typeof criteria === "object" && criteria !== null) {
				if (Object.keys(criteria).length === 0) {
					return this.logs;
				}
				const finalOptions = {
					operator: "OR",
					...buildAndValidateFilterCallsOptions(options)
				};
				let maybeDuplicatedLogsFiltered = [];
				if ("protocol" in criteria) {
					maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.protocol, finalOptions, this.filterCallsByProtocol, maybeDuplicatedLogsFiltered);
				}
				if ("host" in criteria) {
					maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.host, finalOptions, this.filterCallsByHost, maybeDuplicatedLogsFiltered);
				}
				if ("port" in criteria) {
					maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.port, finalOptions, this.filterCallsByPort, maybeDuplicatedLogsFiltered);
				}
				if ("origin" in criteria) {
					maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.origin, finalOptions, this.filterCallsByOrigin, maybeDuplicatedLogsFiltered);
				}
				if ("path" in criteria) {
					maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.path, finalOptions, this.filterCallsByPath, maybeDuplicatedLogsFiltered);
				}
				if ("hash" in criteria) {
					maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.hash, finalOptions, this.filterCallsByHash, maybeDuplicatedLogsFiltered);
				}
				if ("fullUrl" in criteria) {
					maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.fullUrl, finalOptions, this.filterCallsByFullUrl, maybeDuplicatedLogsFiltered);
				}
				if ("method" in criteria) {
					maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.method, finalOptions, this.filterCallsByMethod, maybeDuplicatedLogsFiltered);
				}
				const uniqLogsFiltered = [...new Set(maybeDuplicatedLogsFiltered)];
				return uniqLogsFiltered;
			}
			throw new InvalidArgumentError("criteria parameter should be one of function, regexp, or object");
		}
		filterCallsByProtocol = makeFilterCalls.call(this, "protocol");
		filterCallsByHost = makeFilterCalls.call(this, "host");
		filterCallsByPort = makeFilterCalls.call(this, "port");
		filterCallsByOrigin = makeFilterCalls.call(this, "origin");
		filterCallsByPath = makeFilterCalls.call(this, "path");
		filterCallsByHash = makeFilterCalls.call(this, "hash");
		filterCallsByFullUrl = makeFilterCalls.call(this, "fullUrl");
		filterCallsByMethod = makeFilterCalls.call(this, "method");
		clear() {
			this.logs = [];
		}
		[kMockCallHistoryAddLog](requestInit) {
			const log = new MockCallHistoryLog(requestInit);
			this.logs.push(log);
			return log;
		}
		*[Symbol.iterator]() {
			for (const log of this.calls()) {
				yield log;
			}
		}
	};
	module.exports.MockCallHistory = MockCallHistory;
	module.exports.MockCallHistoryLog = MockCallHistoryLog;
}));

//#endregion
//#region ../node_modules/undici/lib/mock/mock-pool.js
var require_mock_pool = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { promisify: promisify$1 } = __require("node:util");
	const Pool = require_pool();
	const { buildMockDispatch } = require_mock_utils();
	const { kDispatches, kMockAgent, kClose, kOriginalClose, kOrigin, kOriginalDispatch, kConnected, kIgnoreTrailingSlash } = require_mock_symbols();
	const { MockInterceptor } = require_mock_interceptor();
	const Symbols = require_symbols();
	const { InvalidArgumentError } = require_errors();
	/**
	* MockPool provides an API that extends the Pool to influence the mockDispatches.
	*/
	var MockPool = class extends Pool {
		constructor(origin, opts) {
			if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
				throw new InvalidArgumentError("Argument opts.agent must implement Agent");
			}
			super(origin, opts);
			this[kMockAgent] = opts.agent;
			this[kOrigin] = origin;
			this[kIgnoreTrailingSlash] = opts.ignoreTrailingSlash ?? false;
			this[kDispatches] = [];
			this[kConnected] = 1;
			this[kOriginalDispatch] = this.dispatch;
			this[kOriginalClose] = this.close.bind(this);
			this.dispatch = buildMockDispatch.call(this);
			this.close = this[kClose];
		}
		get [Symbols.kConnected]() {
			return this[kConnected];
		}
		/**
		* Sets up the base interceptor for mocking replies from undici.
		*/
		intercept(opts) {
			return new MockInterceptor(opts && {
				ignoreTrailingSlash: this[kIgnoreTrailingSlash],
				...opts
			}, this[kDispatches]);
		}
		cleanMocks() {
			this[kDispatches] = [];
		}
		async [kClose]() {
			await promisify$1(this[kOriginalClose])();
			this[kConnected] = 0;
			this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
		}
	};
	module.exports = MockPool;
}));

//#endregion
//#region ../node_modules/undici/lib/mock/pending-interceptors-formatter.js
var require_pending_interceptors_formatter = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { Transform: Transform$2 } = __require("node:stream");
	const { Console } = __require("node:console");
	const PERSISTENT = process.versions.icu ? "✅" : "Y ";
	const NOT_PERSISTENT = process.versions.icu ? "❌" : "N ";
	/**
	* Gets the output of `console.table(…)` as a string.
	*/
	module.exports = class PendingInterceptorsFormatter {
		constructor({ disableColors } = {}) {
			this.transform = new Transform$2({ transform(chunk, _enc, cb) {
				cb(null, chunk);
			} });
			this.logger = new Console({
				stdout: this.transform,
				inspectOptions: { colors: !disableColors && !process.env.CI }
			});
		}
		format(pendingInterceptors) {
			const withPrettyHeaders = pendingInterceptors.map(({ method, path, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
				Method: method,
				Origin: origin,
				Path: path,
				"Status code": statusCode,
				Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
				Invocations: timesInvoked,
				Remaining: persist ? Infinity : times - timesInvoked
			}));
			this.logger.table(withPrettyHeaders);
			return this.transform.read().toString();
		}
	};
}));

//#endregion
//#region ../node_modules/undici/lib/mock/mock-agent.js
var require_mock_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { kClients } = require_symbols();
	const Agent = require_agent();
	const { kAgent, kMockAgentSet, kMockAgentGet, kDispatches, kIsMockActive, kNetConnect, kGetNetConnect, kOptions, kFactory, kMockAgentRegisterCallHistory, kMockAgentIsCallHistoryEnabled, kMockAgentAddCallHistoryLog, kMockAgentMockCallHistoryInstance, kMockAgentAcceptsNonStandardSearchParameters, kMockCallHistoryAddLog, kIgnoreTrailingSlash } = require_mock_symbols();
	const MockClient = require_mock_client();
	const MockPool = require_mock_pool();
	const { matchValue, normalizeSearchParams, buildAndValidateMockOptions, normalizeOrigin } = require_mock_utils();
	const { InvalidArgumentError, UndiciError } = require_errors();
	const Dispatcher = require_dispatcher();
	const PendingInterceptorsFormatter = require_pending_interceptors_formatter();
	const { MockCallHistory } = require_mock_call_history();
	var MockAgent = class extends Dispatcher {
		constructor(opts = {}) {
			super(opts);
			const mockOptions = buildAndValidateMockOptions(opts);
			this[kNetConnect] = true;
			this[kIsMockActive] = true;
			this[kMockAgentIsCallHistoryEnabled] = mockOptions.enableCallHistory ?? false;
			this[kMockAgentAcceptsNonStandardSearchParameters] = mockOptions.acceptNonStandardSearchParameters ?? false;
			this[kIgnoreTrailingSlash] = mockOptions.ignoreTrailingSlash ?? false;
			if (opts?.agent && typeof opts.agent.dispatch !== "function") {
				throw new InvalidArgumentError("Argument opts.agent must implement Agent");
			}
			const agent = opts?.agent ? opts.agent : new Agent(opts);
			this[kAgent] = agent;
			this[kClients] = agent[kClients];
			this[kOptions] = mockOptions;
			if (this[kMockAgentIsCallHistoryEnabled]) {
				this[kMockAgentRegisterCallHistory]();
			}
		}
		get(origin) {
			const normalizedOrigin = normalizeOrigin(origin);
			const originKey = this[kIgnoreTrailingSlash] ? normalizedOrigin.replace(/\/$/, "") : normalizedOrigin;
			let dispatcher = this[kMockAgentGet](originKey);
			if (!dispatcher) {
				dispatcher = this[kFactory](originKey);
				this[kMockAgentSet](originKey, dispatcher);
			}
			return dispatcher;
		}
		dispatch(opts, handler) {
			opts.origin = normalizeOrigin(opts.origin);
			this.get(opts.origin);
			this[kMockAgentAddCallHistoryLog](opts);
			const acceptNonStandardSearchParameters = this[kMockAgentAcceptsNonStandardSearchParameters];
			const dispatchOpts = { ...opts };
			if (acceptNonStandardSearchParameters && dispatchOpts.path) {
				const [path, searchParams] = dispatchOpts.path.split("?");
				const normalizedSearchParams = normalizeSearchParams(searchParams, acceptNonStandardSearchParameters);
				dispatchOpts.path = `${path}?${normalizedSearchParams}`;
			}
			return this[kAgent].dispatch(dispatchOpts, handler);
		}
		async close() {
			this.clearCallHistory();
			await this[kAgent].close();
			this[kClients].clear();
		}
		deactivate() {
			this[kIsMockActive] = false;
		}
		activate() {
			this[kIsMockActive] = true;
		}
		enableNetConnect(matcher) {
			if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) {
				if (Array.isArray(this[kNetConnect])) {
					this[kNetConnect].push(matcher);
				} else {
					this[kNetConnect] = [matcher];
				}
			} else if (typeof matcher === "undefined") {
				this[kNetConnect] = true;
			} else {
				throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp.");
			}
		}
		disableNetConnect() {
			this[kNetConnect] = false;
		}
		enableCallHistory() {
			this[kMockAgentIsCallHistoryEnabled] = true;
			return this;
		}
		disableCallHistory() {
			this[kMockAgentIsCallHistoryEnabled] = false;
			return this;
		}
		getCallHistory() {
			return this[kMockAgentMockCallHistoryInstance];
		}
		clearCallHistory() {
			if (this[kMockAgentMockCallHistoryInstance] !== undefined) {
				this[kMockAgentMockCallHistoryInstance].clear();
			}
		}
		get isMockActive() {
			return this[kIsMockActive];
		}
		[kMockAgentRegisterCallHistory]() {
			if (this[kMockAgentMockCallHistoryInstance] === undefined) {
				this[kMockAgentMockCallHistoryInstance] = new MockCallHistory();
			}
		}
		[kMockAgentAddCallHistoryLog](opts) {
			if (this[kMockAgentIsCallHistoryEnabled]) {
				this[kMockAgentRegisterCallHistory]();
				this[kMockAgentMockCallHistoryInstance][kMockCallHistoryAddLog](opts);
			}
		}
		[kMockAgentSet](origin, dispatcher) {
			this[kClients].set(origin, {
				count: 0,
				dispatcher
			});
		}
		[kFactory](origin) {
			const mockOptions = Object.assign({ agent: this }, this[kOptions]);
			return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions);
		}
		[kMockAgentGet](origin) {
			const result = this[kClients].get(origin);
			if (result?.dispatcher) {
				return result.dispatcher;
			}
			if (typeof origin !== "string") {
				const dispatcher = this[kFactory]("http://localhost:9999");
				this[kMockAgentSet](origin, dispatcher);
				return dispatcher;
			}
			for (const [keyMatcher, result] of Array.from(this[kClients])) {
				if (result && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) {
					const dispatcher = this[kFactory](origin);
					this[kMockAgentSet](origin, dispatcher);
					dispatcher[kDispatches] = result.dispatcher[kDispatches];
					return dispatcher;
				}
			}
		}
		[kGetNetConnect]() {
			return this[kNetConnect];
		}
		pendingInterceptors() {
			const mockAgentClients = this[kClients];
			return Array.from(mockAgentClients.entries()).flatMap(([origin, result]) => result.dispatcher[kDispatches].map((dispatch) => ({
				...dispatch,
				origin
			}))).filter(({ pending }) => pending);
		}
		assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {
			const pending = this.pendingInterceptors();
			if (pending.length === 0) {
				return;
			}
			throw new UndiciError(pending.length === 1 ? `1 interceptor is pending:\n\n${pendingInterceptorsFormatter.format(pending)}`.trim() : `${pending.length} interceptors are pending:\n\n${pendingInterceptorsFormatter.format(pending)}`.trim());
		}
	};
	module.exports = MockAgent;
}));

//#endregion
//#region ../node_modules/undici/lib/mock/snapshot-utils.js
var require_snapshot_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { InvalidArgumentError } = require_errors();
	const { runtimeFeatures } = require_runtime_features();
	/**
	* @typedef {Object} HeaderFilters
	* @property {Set<string>} ignore - Set of headers to ignore for matching
	* @property {Set<string>} exclude - Set of headers to exclude from matching
	* @property {Set<string>} match - Set of headers to match (empty means match
	*/
	/**
	* Creates cached header sets for performance
	*
	* @param {import('./snapshot-recorder').SnapshotRecorderMatchOptions} matchOptions - Matching options for headers
	* @returns {HeaderFilters} - Cached sets for ignore, exclude, and match headers
	*/
	function createHeaderFilters(matchOptions = {}) {
		const { ignoreHeaders = [], excludeHeaders = [], matchHeaders = [], caseSensitive = false } = matchOptions;
		return {
			ignore: new Set(ignoreHeaders.map((header) => caseSensitive ? header : header.toLowerCase())),
			exclude: new Set(excludeHeaders.map((header) => caseSensitive ? header : header.toLowerCase())),
			match: new Set(matchHeaders.map((header) => caseSensitive ? header : header.toLowerCase()))
		};
	}
	const crypto$4 = runtimeFeatures.has("crypto") ? __require("node:crypto") : null;
	/**
	* @callback HashIdFunction
	* @param {string} value - The value to hash
	* @returns {string} - The base64url encoded hash of the value
	*/
	/**
	* Generates a hash for a given value
	* @type {HashIdFunction}
	*/
	const hashId = crypto$4?.hash ? (value) => crypto$4.hash("sha256", value, "base64url") : (value) => Buffer.from(value).toString("base64url");
	/**
	* @typedef {(url: string) => boolean} IsUrlExcluded Checks if a URL matches any of the exclude patterns
	*/
	/** @typedef {{[key: Lowercase<string>]: string}} NormalizedHeaders */
	/** @typedef {Array<string>} UndiciHeaders */
	/** @typedef {Record<string, string|string[]>} Headers */
	/**
	* @param {*} headers
	* @returns {headers is UndiciHeaders}
	*/
	function isUndiciHeaders(headers) {
		return Array.isArray(headers) && (headers.length & 1) === 0;
	}
	/**
	* Factory function to create a URL exclusion checker
	* @param {Array<string| RegExp>} [excludePatterns=[]] - Array of patterns to exclude
	* @returns {IsUrlExcluded} - A function that checks if a URL matches any of the exclude patterns
	*/
	function isUrlExcludedFactory(excludePatterns = []) {
		if (excludePatterns.length === 0) {
			return () => false;
		}
		return function isUrlExcluded(url) {
			let urlLowerCased;
			for (const pattern of excludePatterns) {
				if (typeof pattern === "string") {
					if (!urlLowerCased) {
						urlLowerCased = url.toLowerCase();
					}
					if (urlLowerCased.includes(pattern.toLowerCase())) {
						return true;
					}
				} else if (pattern instanceof RegExp) {
					if (pattern.test(url)) {
						return true;
					}
				}
			}
			return false;
		};
	}
	/**
	* Normalizes headers for consistent comparison
	*
	* @param {Object|UndiciHeaders} headers - Headers to normalize
	* @returns {NormalizedHeaders} - Normalized headers as a lowercase object
	*/
	function normalizeHeaders(headers) {
		/** @type {NormalizedHeaders} */
		const normalizedHeaders = {};
		if (!headers) return normalizedHeaders;
		if (isUndiciHeaders(headers)) {
			for (let i = 0; i < headers.length; i += 2) {
				const key = headers[i];
				const value = headers[i + 1];
				if (key && value !== undefined) {
					const keyStr = Buffer.isBuffer(key) ? key.toString() : key;
					const valueStr = Buffer.isBuffer(value) ? value.toString() : value;
					normalizedHeaders[keyStr.toLowerCase()] = valueStr;
				}
			}
			return normalizedHeaders;
		}
		if (headers && typeof headers === "object") {
			for (const [key, value] of Object.entries(headers)) {
				if (key && typeof key === "string") {
					normalizedHeaders[key.toLowerCase()] = Array.isArray(value) ? value.join(", ") : String(value);
				}
			}
		}
		return normalizedHeaders;
	}
	const validSnapshotModes = [
		"record",
		"playback",
		"update"
	];
	/** @typedef {typeof validSnapshotModes[number]} SnapshotMode */
	/**
	* @param {*} mode - The snapshot mode to validate
	* @returns {asserts mode is SnapshotMode}
	*/
	function validateSnapshotMode(mode) {
		if (!validSnapshotModes.includes(mode)) {
			throw new InvalidArgumentError(`Invalid snapshot mode: ${mode}. Must be one of: ${validSnapshotModes.join(", ")}`);
		}
	}
	module.exports = {
		createHeaderFilters,
		hashId,
		isUndiciHeaders,
		normalizeHeaders,
		isUrlExcludedFactory,
		validateSnapshotMode
	};
}));

//#endregion
//#region ../node_modules/undici/lib/mock/snapshot-recorder.js
var require_snapshot_recorder = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { writeFile: writeFile$1, readFile: readFile$1, mkdir: mkdir$1 } = __require("node:fs/promises");
	const { dirname: dirname$1, resolve } = __require("node:path");
	const { setTimeout: setTimeout$2, clearTimeout: clearTimeout$1 } = __require("node:timers");
	const { InvalidArgumentError, UndiciError } = require_errors();
	const { hashId, isUrlExcludedFactory, normalizeHeaders, createHeaderFilters } = require_snapshot_utils();
	/**
	* @typedef {Object} SnapshotRequestOptions
	* @property {string} method - HTTP method (e.g. 'GET', 'POST', etc.)
	* @property {string} path - Request path
	* @property {string} origin - Request origin (base URL)
	* @property {import('./snapshot-utils').Headers|import('./snapshot-utils').UndiciHeaders} headers - Request headers
	* @property {import('./snapshot-utils').NormalizedHeaders} _normalizedHeaders - Request headers as a lowercase object
	* @property {string|Buffer} [body] - Request body (optional)
	*/
	/**
	* @typedef {Object} SnapshotEntryRequest
	* @property {string} method - HTTP method (e.g. 'GET', 'POST', etc.)
	* @property {string} url - Full URL of the request
	* @property {import('./snapshot-utils').NormalizedHeaders} headers - Normalized headers as a lowercase object
	* @property {string|Buffer} [body] - Request body (optional)
	*/
	/**
	* @typedef {Object} SnapshotEntryResponse
	* @property {number} statusCode - HTTP status code of the response
	* @property {import('./snapshot-utils').NormalizedHeaders} headers - Normalized response headers as a lowercase object
	* @property {string} body - Response body as a base64url encoded string
	* @property {Object} [trailers] - Optional response trailers
	*/
	/**
	* @typedef {Object} SnapshotEntry
	* @property {SnapshotEntryRequest} request - The request object
	* @property {Array<SnapshotEntryResponse>} responses - Array of response objects
	* @property {number} callCount - Number of times this snapshot has been called
	* @property {string} timestamp - ISO timestamp of when the snapshot was created
	*/
	/**
	* @typedef {Object} SnapshotRecorderMatchOptions
	* @property {Array<string>} [matchHeaders=[]] - Headers to match (empty array means match all headers)
	* @property {Array<string>} [ignoreHeaders=[]] - Headers to ignore for matching
	* @property {Array<string>} [excludeHeaders=[]] - Headers to exclude from matching
	* @property {boolean} [matchBody=true] - Whether to match request body
	* @property {boolean} [matchQuery=true] - Whether to match query properties
	* @property {boolean} [caseSensitive=false] - Whether header matching is case-sensitive
	*/
	/**
	* @typedef {Object} SnapshotRecorderOptions
	* @property {string} [snapshotPath] - Path to save/load snapshots
	* @property {import('./snapshot-utils').SnapshotMode} [mode='record'] - Mode: 'record' or 'playback'
	* @property {number} [maxSnapshots=Infinity] - Maximum number of snapshots to keep
	* @property {boolean} [autoFlush=false] - Whether to automatically flush snapshots to disk
	* @property {number} [flushInterval=30000] - Auto-flush interval in milliseconds (default: 30 seconds)
	* @property {Array<string|RegExp>} [excludeUrls=[]] - URLs to exclude from recording
	* @property {function} [shouldRecord=null] - Function to filter requests for recording
	* @property {function} [shouldPlayback=null] - Function to filter requests
	*/
	/**
	* @typedef {Object} SnapshotFormattedRequest
	* @property {string} method - HTTP method (e.g. 'GET', 'POST', etc.)
	* @property {string} url - Full URL of the request (with query parameters if matchQuery is true)
	* @property {import('./snapshot-utils').NormalizedHeaders} headers - Normalized headers as a lowercase object
	* @property {string} body - Request body (optional, only if matchBody is true)
	*/
	/**
	* @typedef {Object} SnapshotInfo
	* @property {string} hash - Hash key for the snapshot
	* @property {SnapshotEntryRequest} request - The request object
	* @property {number} responseCount - Number of responses recorded for this request
	* @property {number} callCount - Number of times this snapshot has been called
	* @property {string} timestamp - ISO timestamp of when the snapshot was created
	*/
	/**
	* Formats a request for consistent snapshot storage
	* Caches normalized headers to avoid repeated processing
	*
	* @param {SnapshotRequestOptions} opts - Request options
	* @param {import('./snapshot-utils').HeaderFilters} headerFilters - Cached header sets for performance
	* @param {SnapshotRecorderMatchOptions} [matchOptions] - Matching options for headers and body
	* @returns {SnapshotFormattedRequest} - Formatted request object
	*/
	function formatRequestKey(opts, headerFilters, matchOptions = {}) {
		const url = new URL(opts.path, opts.origin);
		const normalized = opts._normalizedHeaders || normalizeHeaders(opts.headers);
		if (!opts._normalizedHeaders) {
			opts._normalizedHeaders = normalized;
		}
		return {
			method: opts.method || "GET",
			url: matchOptions.matchQuery !== false ? url.toString() : `${url.origin}${url.pathname}`,
			headers: filterHeadersForMatching(normalized, headerFilters, matchOptions),
			body: matchOptions.matchBody !== false && opts.body ? String(opts.body) : ""
		};
	}
	/**
	* Filters headers based on matching configuration
	*
	* @param {import('./snapshot-utils').Headers} headers - Headers to filter
	* @param {import('./snapshot-utils').HeaderFilters} headerFilters - Cached sets for ignore, exclude, and match headers
	* @param {SnapshotRecorderMatchOptions} [matchOptions] - Matching options for headers
	*/
	function filterHeadersForMatching(headers, headerFilters, matchOptions = {}) {
		if (!headers || typeof headers !== "object") return {};
		const { caseSensitive = false } = matchOptions;
		const filtered = {};
		const { ignore, exclude, match } = headerFilters;
		for (const [key, value] of Object.entries(headers)) {
			const headerKey = caseSensitive ? key : key.toLowerCase();
			if (exclude.has(headerKey)) continue;
			if (ignore.has(headerKey)) continue;
			if (match.size !== 0) {
				if (!match.has(headerKey)) continue;
			}
			filtered[headerKey] = value;
		}
		return filtered;
	}
	/**
	* Filters headers for storage (only excludes sensitive headers)
	*
	* @param {import('./snapshot-utils').Headers} headers - Headers to filter
	* @param {import('./snapshot-utils').HeaderFilters} headerFilters - Cached sets for ignore, exclude, and match headers
	* @param {SnapshotRecorderMatchOptions} [matchOptions] - Matching options for headers
	*/
	function filterHeadersForStorage(headers, headerFilters, matchOptions = {}) {
		if (!headers || typeof headers !== "object") return {};
		const { caseSensitive = false } = matchOptions;
		const filtered = {};
		const { exclude: excludeSet } = headerFilters;
		for (const [key, value] of Object.entries(headers)) {
			const headerKey = caseSensitive ? key : key.toLowerCase();
			if (excludeSet.has(headerKey)) continue;
			filtered[headerKey] = value;
		}
		return filtered;
	}
	/**
	* Creates a hash key for request matching
	* Properly orders headers to avoid conflicts and uses crypto hashing when available
	*
	* @param {SnapshotFormattedRequest} formattedRequest - Request object
	* @returns {string} - Base64url encoded hash of the request
	*/
	function createRequestHash(formattedRequest) {
		const parts = [formattedRequest.method, formattedRequest.url];
		if (formattedRequest.headers && typeof formattedRequest.headers === "object") {
			const headerKeys = Object.keys(formattedRequest.headers).sort();
			for (const key of headerKeys) {
				const values = Array.isArray(formattedRequest.headers[key]) ? formattedRequest.headers[key] : [formattedRequest.headers[key]];
				parts.push(key);
				for (const value of values.sort()) {
					parts.push(String(value));
				}
			}
		}
		parts.push(formattedRequest.body);
		const content = parts.join("|");
		return hashId(content);
	}
	var SnapshotRecorder = class {
		/** @type {NodeJS.Timeout | null} */
		#flushTimeout;
		/** @type {import('./snapshot-utils').IsUrlExcluded} */
		#isUrlExcluded;
		/** @type {Map<string, SnapshotEntry>} */
		#snapshots = new Map();
		/** @type {string|undefined} */
		#snapshotPath;
		/** @type {number} */
		#maxSnapshots = Infinity;
		/** @type {boolean} */
		#autoFlush = false;
		/** @type {import('./snapshot-utils').HeaderFilters} */
		#headerFilters;
		/**
		* Creates a new SnapshotRecorder instance
		* @param {SnapshotRecorderOptions&SnapshotRecorderMatchOptions} [options={}] - Configuration options for the recorder
		*/
		constructor(options = {}) {
			this.#snapshotPath = options.snapshotPath;
			this.#maxSnapshots = options.maxSnapshots || Infinity;
			this.#autoFlush = options.autoFlush || false;
			this.flushInterval = options.flushInterval || 3e4;
			this._flushTimer = null;
			/** @type {Required<SnapshotRecorderMatchOptions>} */
			this.matchOptions = {
				matchHeaders: options.matchHeaders || [],
				ignoreHeaders: options.ignoreHeaders || [],
				excludeHeaders: options.excludeHeaders || [],
				matchBody: options.matchBody !== false,
				matchQuery: options.matchQuery !== false,
				caseSensitive: options.caseSensitive || false
			};
			this.#headerFilters = createHeaderFilters(this.matchOptions);
			this.shouldRecord = options.shouldRecord || (() => true);
			this.shouldPlayback = options.shouldPlayback || (() => true);
			this.#isUrlExcluded = isUrlExcludedFactory(options.excludeUrls);
			if (this.#autoFlush && this.#snapshotPath) {
				this.#startAutoFlush();
			}
		}
		/**
		* Records a request-response interaction
		* @param {SnapshotRequestOptions} requestOpts - Request options
		* @param {SnapshotEntryResponse} response - Response data to record
		* @return {Promise<void>} - Resolves when the recording is complete
		*/
		async record(requestOpts, response) {
			if (!this.shouldRecord(requestOpts)) {
				return;
			}
			if (this.isUrlExcluded(requestOpts)) {
				return;
			}
			const request = formatRequestKey(requestOpts, this.#headerFilters, this.matchOptions);
			const hash = createRequestHash(request);
			const normalizedHeaders = normalizeHeaders(response.headers);
			/** @type {SnapshotEntryResponse} */
			const responseData = {
				statusCode: response.statusCode,
				headers: filterHeadersForStorage(normalizedHeaders, this.#headerFilters, this.matchOptions),
				body: Buffer.isBuffer(response.body) ? response.body.toString("base64") : Buffer.from(String(response.body || "")).toString("base64"),
				trailers: response.trailers
			};
			if (this.#snapshots.size >= this.#maxSnapshots && !this.#snapshots.has(hash)) {
				const oldestKey = this.#snapshots.keys().next().value;
				this.#snapshots.delete(oldestKey);
			}
			const existingSnapshot = this.#snapshots.get(hash);
			if (existingSnapshot && existingSnapshot.responses) {
				existingSnapshot.responses.push(responseData);
				existingSnapshot.timestamp = new Date().toISOString();
			} else {
				this.#snapshots.set(hash, {
					request,
					responses: [responseData],
					callCount: 0,
					timestamp: new Date().toISOString()
				});
			}
			if (this.#autoFlush && this.#snapshotPath) {
				this.#scheduleFlush();
			}
		}
		/**
		* Checks if a URL should be excluded from recording/playback
		* @param {SnapshotRequestOptions} requestOpts - Request options to check
		* @returns {boolean} - True if URL is excluded
		*/
		isUrlExcluded(requestOpts) {
			const url = new URL(requestOpts.path, requestOpts.origin).toString();
			return this.#isUrlExcluded(url);
		}
		/**
		* Finds a matching snapshot for the given request
		* Returns the appropriate response based on call count for sequential responses
		*
		* @param {SnapshotRequestOptions} requestOpts - Request options to match
		* @returns {SnapshotEntry&Record<'response', SnapshotEntryResponse>|undefined} - Matching snapshot response or undefined if not found
		*/
		findSnapshot(requestOpts) {
			if (!this.shouldPlayback(requestOpts)) {
				return undefined;
			}
			if (this.isUrlExcluded(requestOpts)) {
				return undefined;
			}
			const request = formatRequestKey(requestOpts, this.#headerFilters, this.matchOptions);
			const hash = createRequestHash(request);
			const snapshot = this.#snapshots.get(hash);
			if (!snapshot) return undefined;
			const currentCallCount = snapshot.callCount || 0;
			const responseIndex = Math.min(currentCallCount, snapshot.responses.length - 1);
			snapshot.callCount = currentCallCount + 1;
			return {
				...snapshot,
				response: snapshot.responses[responseIndex]
			};
		}
		/**
		* Loads snapshots from file
		* @param {string} [filePath] - Optional file path to load snapshots from
		* @return {Promise<void>} - Resolves when snapshots are loaded
		*/
		async loadSnapshots(filePath) {
			const path = filePath || this.#snapshotPath;
			if (!path) {
				throw new InvalidArgumentError("Snapshot path is required");
			}
			try {
				const data = await readFile$1(resolve(path), "utf8");
				const parsed = JSON.parse(data);
				if (Array.isArray(parsed)) {
					this.#snapshots.clear();
					for (const { hash, snapshot } of parsed) {
						this.#snapshots.set(hash, snapshot);
					}
				} else {
					this.#snapshots = new Map(Object.entries(parsed));
				}
			} catch (error) {
				if (error.code === "ENOENT") {
					this.#snapshots.clear();
				} else {
					throw new UndiciError(`Failed to load snapshots from ${path}`, { cause: error });
				}
			}
		}
		/**
		* Saves snapshots to file
		*
		* @param {string} [filePath] - Optional file path to save snapshots
		* @returns {Promise<void>} - Resolves when snapshots are saved
		*/
		async saveSnapshots(filePath) {
			const path = filePath || this.#snapshotPath;
			if (!path) {
				throw new InvalidArgumentError("Snapshot path is required");
			}
			const resolvedPath = resolve(path);
			await mkdir$1(dirname$1(resolvedPath), { recursive: true });
			const data = Array.from(this.#snapshots.entries()).map(([hash, snapshot]) => ({
				hash,
				snapshot
			}));
			await writeFile$1(resolvedPath, JSON.stringify(data, null, 2), { flush: true });
		}
		/**
		* Clears all recorded snapshots
		* @returns {void}
		*/
		clear() {
			this.#snapshots.clear();
		}
		/**
		* Gets all recorded snapshots
		* @return {Array<SnapshotEntry>} - Array of all recorded snapshots
		*/
		getSnapshots() {
			return Array.from(this.#snapshots.values());
		}
		/**
		* Gets snapshot count
		* @return {number} - Number of recorded snapshots
		*/
		size() {
			return this.#snapshots.size;
		}
		/**
		* Resets call counts for all snapshots (useful for test cleanup)
		* @returns {void}
		*/
		resetCallCounts() {
			for (const snapshot of this.#snapshots.values()) {
				snapshot.callCount = 0;
			}
		}
		/**
		* Deletes a specific snapshot by request options
		* @param {SnapshotRequestOptions} requestOpts - Request options to match
		* @returns {boolean} - True if snapshot was deleted, false if not found
		*/
		deleteSnapshot(requestOpts) {
			const request = formatRequestKey(requestOpts, this.#headerFilters, this.matchOptions);
			const hash = createRequestHash(request);
			return this.#snapshots.delete(hash);
		}
		/**
		* Gets information about a specific snapshot
		* @param {SnapshotRequestOptions} requestOpts - Request options to match
		* @returns {SnapshotInfo|null} - Snapshot information or null if not found
		*/
		getSnapshotInfo(requestOpts) {
			const request = formatRequestKey(requestOpts, this.#headerFilters, this.matchOptions);
			const hash = createRequestHash(request);
			const snapshot = this.#snapshots.get(hash);
			if (!snapshot) return null;
			return {
				hash,
				request: snapshot.request,
				responseCount: snapshot.responses ? snapshot.responses.length : snapshot.response ? 1 : 0,
				callCount: snapshot.callCount || 0,
				timestamp: snapshot.timestamp
			};
		}
		/**
		* Replaces all snapshots with new data (full replacement)
		* @param {Array<{hash: string; snapshot: SnapshotEntry}>|Record<string, SnapshotEntry>} snapshotData - New snapshot data to replace existing ones
		* @returns {void}
		*/
		replaceSnapshots(snapshotData) {
			this.#snapshots.clear();
			if (Array.isArray(snapshotData)) {
				for (const { hash, snapshot } of snapshotData) {
					this.#snapshots.set(hash, snapshot);
				}
			} else if (snapshotData && typeof snapshotData === "object") {
				this.#snapshots = new Map(Object.entries(snapshotData));
			}
		}
		/**
		* Starts the auto-flush timer
		* @returns {void}
		*/
		#startAutoFlush() {
			return this.#scheduleFlush();
		}
		/**
		* Stops the auto-flush timer
		* @returns {void}
		*/
		#stopAutoFlush() {
			if (this.#flushTimeout) {
				clearTimeout$1(this.#flushTimeout);
				this.saveSnapshots().catch(() => {});
				this.#flushTimeout = null;
			}
		}
		/**
		* Schedules a flush (debounced to avoid excessive writes)
		*/
		#scheduleFlush() {
			this.#flushTimeout = setTimeout$2(() => {
				this.saveSnapshots().catch(() => {});
				if (this.#autoFlush) {
					this.#flushTimeout?.refresh();
				} else {
					this.#flushTimeout = null;
				}
			}, 1e3);
		}
		/**
		* Cleanup method to stop timers
		* @returns {void}
		*/
		destroy() {
			this.#stopAutoFlush();
			if (this.#flushTimeout) {
				clearTimeout$1(this.#flushTimeout);
				this.#flushTimeout = null;
			}
		}
		/**
		* Async close method that saves all recordings and performs cleanup
		* @returns {Promise<void>}
		*/
		async close() {
			if (this.#snapshotPath && this.#snapshots.size !== 0) {
				await this.saveSnapshots();
			}
			this.destroy();
		}
	};
	module.exports = {
		SnapshotRecorder,
		formatRequestKey,
		createRequestHash,
		filterHeadersForMatching,
		filterHeadersForStorage,
		createHeaderFilters
	};
}));

//#endregion
//#region ../node_modules/undici/lib/mock/snapshot-agent.js
var require_snapshot_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const Agent = require_agent();
	const MockAgent = require_mock_agent();
	const { SnapshotRecorder } = require_snapshot_recorder();
	const WrapHandler = require_wrap_handler();
	const { InvalidArgumentError, UndiciError } = require_errors();
	const { validateSnapshotMode } = require_snapshot_utils();
	const kSnapshotRecorder = Symbol("kSnapshotRecorder");
	const kSnapshotMode = Symbol("kSnapshotMode");
	const kSnapshotPath = Symbol("kSnapshotPath");
	const kSnapshotLoaded = Symbol("kSnapshotLoaded");
	const kRealAgent = Symbol("kRealAgent");
	let warningEmitted = false;
	var SnapshotAgent = class extends MockAgent {
		constructor(opts = {}) {
			if (!warningEmitted) {
				process.emitWarning("SnapshotAgent is experimental and subject to change", "ExperimentalWarning");
				warningEmitted = true;
			}
			const { mode = "record", snapshotPath = null, ...mockAgentOpts } = opts;
			super(mockAgentOpts);
			validateSnapshotMode(mode);
			if ((mode === "playback" || mode === "update") && !snapshotPath) {
				throw new InvalidArgumentError(`snapshotPath is required when mode is '${mode}'`);
			}
			this[kSnapshotMode] = mode;
			this[kSnapshotPath] = snapshotPath;
			this[kSnapshotRecorder] = new SnapshotRecorder({
				snapshotPath: this[kSnapshotPath],
				mode: this[kSnapshotMode],
				maxSnapshots: opts.maxSnapshots,
				autoFlush: opts.autoFlush,
				flushInterval: opts.flushInterval,
				matchHeaders: opts.matchHeaders,
				ignoreHeaders: opts.ignoreHeaders,
				excludeHeaders: opts.excludeHeaders,
				matchBody: opts.matchBody,
				matchQuery: opts.matchQuery,
				caseSensitive: opts.caseSensitive,
				shouldRecord: opts.shouldRecord,
				shouldPlayback: opts.shouldPlayback,
				excludeUrls: opts.excludeUrls
			});
			this[kSnapshotLoaded] = false;
			if (this[kSnapshotMode] === "record" || this[kSnapshotMode] === "update" || this[kSnapshotMode] === "playback" && opts.excludeUrls && opts.excludeUrls.length > 0) {
				this[kRealAgent] = new Agent(opts);
			}
			if ((this[kSnapshotMode] === "playback" || this[kSnapshotMode] === "update") && this[kSnapshotPath]) {
				this.loadSnapshots().catch(() => {});
			}
		}
		dispatch(opts, handler) {
			handler = WrapHandler.wrap(handler);
			const mode = this[kSnapshotMode];
			if (this[kSnapshotRecorder].isUrlExcluded(opts)) {
				return this[kRealAgent].dispatch(opts, handler);
			}
			if (mode === "playback" || mode === "update") {
				if (!this[kSnapshotLoaded]) {
					return this.#asyncDispatch(opts, handler);
				}
				const snapshot = this[kSnapshotRecorder].findSnapshot(opts);
				if (snapshot) {
					return this.#replaySnapshot(snapshot, handler);
				} else if (mode === "update") {
					return this.#recordAndReplay(opts, handler);
				} else {
					const error = new UndiciError(`No snapshot found for ${opts.method || "GET"} ${opts.path}`);
					if (handler.onError) {
						handler.onError(error);
						return;
					}
					throw error;
				}
			} else if (mode === "record") {
				return this.#recordAndReplay(opts, handler);
			}
		}
		/**
		* Async version of dispatch for when we need to load snapshots first
		*/
		async #asyncDispatch(opts, handler) {
			await this.loadSnapshots();
			return this.dispatch(opts, handler);
		}
		/**
		* Records a real request and replays the response
		*/
		#recordAndReplay(opts, handler) {
			const responseData = {
				statusCode: null,
				headers: {},
				trailers: {},
				body: []
			};
			const self = this;
			const recordingHandler = {
				onRequestStart(controller, context) {
					return handler.onRequestStart(controller, {
						...context,
						history: this.history
					});
				},
				onRequestUpgrade(controller, statusCode, headers, socket) {
					return handler.onRequestUpgrade(controller, statusCode, headers, socket);
				},
				onResponseStart(controller, statusCode, headers, statusMessage) {
					responseData.statusCode = statusCode;
					responseData.headers = headers;
					return handler.onResponseStart(controller, statusCode, headers, statusMessage);
				},
				onResponseData(controller, chunk) {
					responseData.body.push(chunk);
					return handler.onResponseData(controller, chunk);
				},
				onResponseEnd(controller, trailers) {
					responseData.trailers = trailers;
					const responseBody = Buffer.concat(responseData.body);
					self[kSnapshotRecorder].record(opts, {
						statusCode: responseData.statusCode,
						headers: responseData.headers,
						body: responseBody,
						trailers: responseData.trailers
					}).then(() => handler.onResponseEnd(controller, trailers)).catch((error) => handler.onResponseError(controller, error));
				}
			};
			const agent = this[kRealAgent];
			return agent.dispatch(opts, recordingHandler);
		}
		/**
		* Replays a recorded response
		*
		* @param {Object} snapshot - The recorded snapshot to replay.
		* @param {Object} handler - The handler to call with the response data.
		* @returns {void}
		*/
		#replaySnapshot(snapshot, handler) {
			try {
				const { response } = snapshot;
				const controller = {
					pause() {},
					resume() {},
					abort(reason) {
						this.aborted = true;
						this.reason = reason;
					},
					aborted: false,
					paused: false
				};
				handler.onRequestStart(controller);
				handler.onResponseStart(controller, response.statusCode, response.headers);
				const body = Buffer.from(response.body, "base64");
				handler.onResponseData(controller, body);
				handler.onResponseEnd(controller, response.trailers);
			} catch (error) {
				handler.onError?.(error);
			}
		}
		/**
		* Loads snapshots from file
		*
		* @param {string} [filePath] - Optional file path to load snapshots from.
		* @returns {Promise<void>} - Resolves when snapshots are loaded.
		*/
		async loadSnapshots(filePath) {
			await this[kSnapshotRecorder].loadSnapshots(filePath || this[kSnapshotPath]);
			this[kSnapshotLoaded] = true;
			if (this[kSnapshotMode] === "playback") {
				this.#setupMockInterceptors();
			}
		}
		/**
		* Saves snapshots to file
		*
		* @param {string} [filePath] - Optional file path to save snapshots to.
		* @returns {Promise<void>} - Resolves when snapshots are saved.
		*/
		async saveSnapshots(filePath) {
			return this[kSnapshotRecorder].saveSnapshots(filePath || this[kSnapshotPath]);
		}
		/**
		* Sets up MockAgent interceptors based on recorded snapshots.
		*
		* This method creates MockAgent interceptors for each recorded snapshot,
		* allowing the SnapshotAgent to fall back to MockAgent's standard intercept
		* mechanism in playback mode. Each interceptor is configured to persist
		* (remain active for multiple requests) and responds with the recorded
		* response data.
		*
		* Called automatically when loading snapshots in playback mode.
		*
		* @returns {void}
		*/
		#setupMockInterceptors() {
			for (const snapshot of this[kSnapshotRecorder].getSnapshots()) {
				const { request, responses, response } = snapshot;
				const url = new URL(request.url);
				const mockPool = this.get(url.origin);
				const responseData = responses ? responses[0] : response;
				if (!responseData) continue;
				mockPool.intercept({
					path: url.pathname + url.search,
					method: request.method,
					headers: request.headers,
					body: request.body
				}).reply(responseData.statusCode, responseData.body, {
					headers: responseData.headers,
					trailers: responseData.trailers
				}).persist();
			}
		}
		/**
		* Gets the snapshot recorder
		* @return {SnapshotRecorder} - The snapshot recorder instance
		*/
		getRecorder() {
			return this[kSnapshotRecorder];
		}
		/**
		* Gets the current mode
		* @return {import('./snapshot-utils').SnapshotMode} - The current snapshot mode
		*/
		getMode() {
			return this[kSnapshotMode];
		}
		/**
		* Clears all snapshots
		* @returns {void}
		*/
		clearSnapshots() {
			this[kSnapshotRecorder].clear();
		}
		/**
		* Resets call counts for all snapshots (useful for test cleanup)
		* @returns {void}
		*/
		resetCallCounts() {
			this[kSnapshotRecorder].resetCallCounts();
		}
		/**
		* Deletes a specific snapshot by request options
		* @param {import('./snapshot-recorder').SnapshotRequestOptions} requestOpts - Request options to identify the snapshot
		* @return {Promise<boolean>} - Returns true if the snapshot was deleted, false if not found
		*/
		deleteSnapshot(requestOpts) {
			return this[kSnapshotRecorder].deleteSnapshot(requestOpts);
		}
		/**
		* Gets information about a specific snapshot
		* @returns {import('./snapshot-recorder').SnapshotInfo|null} - Snapshot information or null if not found
		*/
		getSnapshotInfo(requestOpts) {
			return this[kSnapshotRecorder].getSnapshotInfo(requestOpts);
		}
		/**
		* Replaces all snapshots with new data (full replacement)
		* @param {Array<{hash: string; snapshot: import('./snapshot-recorder').SnapshotEntryshotEntry}>|Record<string, import('./snapshot-recorder').SnapshotEntry>} snapshotData - New snapshot data to replace existing snapshots
		* @returns {void}
		*/
		replaceSnapshots(snapshotData) {
			this[kSnapshotRecorder].replaceSnapshots(snapshotData);
		}
		/**
		* Closes the agent, saving snapshots and cleaning up resources.
		*
		* @returns {Promise<void>}
		*/
		async close() {
			await this[kSnapshotRecorder].close();
			await this[kRealAgent]?.close();
			await super.close();
		}
	};
	module.exports = SnapshotAgent;
}));

//#endregion
//#region ../node_modules/undici/lib/global.js
var require_global = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const globalDispatcher = Symbol.for("undici.globalDispatcher.1");
	const { InvalidArgumentError } = require_errors();
	const Agent = require_agent();
	if (getGlobalDispatcher() === undefined) {
		setGlobalDispatcher(new Agent());
	}
	function setGlobalDispatcher(agent) {
		if (!agent || typeof agent.dispatch !== "function") {
			throw new InvalidArgumentError("Argument agent must implement Agent");
		}
		Object.defineProperty(globalThis, globalDispatcher, {
			value: agent,
			writable: true,
			enumerable: false,
			configurable: false
		});
	}
	function getGlobalDispatcher() {
		return globalThis[globalDispatcher];
	}
	const installedExports = [
		"fetch",
		"Headers",
		"Response",
		"Request",
		"FormData",
		"WebSocket",
		"CloseEvent",
		"ErrorEvent",
		"MessageEvent",
		"EventSource"
	];
	module.exports = {
		setGlobalDispatcher,
		getGlobalDispatcher,
		installedExports
	};
}));

//#endregion
//#region ../node_modules/undici/lib/handler/decorator-handler.js
var require_decorator_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const assert$15 = __require("node:assert");
	const WrapHandler = require_wrap_handler();
	/**
	* @deprecated
	*/
	module.exports = class DecoratorHandler {
		#handler;
		#onCompleteCalled = false;
		#onErrorCalled = false;
		#onResponseStartCalled = false;
		constructor(handler) {
			if (typeof handler !== "object" || handler === null) {
				throw new TypeError("handler must be an object");
			}
			this.#handler = WrapHandler.wrap(handler);
		}
		onRequestStart(...args) {
			this.#handler.onRequestStart?.(...args);
		}
		onRequestUpgrade(...args) {
			assert$15(!this.#onCompleteCalled);
			assert$15(!this.#onErrorCalled);
			return this.#handler.onRequestUpgrade?.(...args);
		}
		onResponseStart(...args) {
			assert$15(!this.#onCompleteCalled);
			assert$15(!this.#onErrorCalled);
			assert$15(!this.#onResponseStartCalled);
			this.#onResponseStartCalled = true;
			return this.#handler.onResponseStart?.(...args);
		}
		onResponseData(...args) {
			assert$15(!this.#onCompleteCalled);
			assert$15(!this.#onErrorCalled);
			return this.#handler.onResponseData?.(...args);
		}
		onResponseEnd(...args) {
			assert$15(!this.#onCompleteCalled);
			assert$15(!this.#onErrorCalled);
			this.#onCompleteCalled = true;
			return this.#handler.onResponseEnd?.(...args);
		}
		onResponseError(...args) {
			this.#onErrorCalled = true;
			return this.#handler.onResponseError?.(...args);
		}
		/**
		* @deprecated
		*/
		onBodySent() {}
	};
}));

//#endregion
//#region ../node_modules/undici/lib/handler/redirect-handler.js
var require_redirect_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const util = require_util$5();
	const { kBodyUsed } = require_symbols();
	const assert$14 = __require("node:assert");
	const { InvalidArgumentError } = require_errors();
	const EE$1 = __require("node:events");
	const redirectableStatusCodes = [
		300,
		301,
		302,
		303,
		307,
		308
	];
	const kBody = Symbol("body");
	const noop = () => {};
	var BodyAsyncIterable = class {
		constructor(body) {
			this[kBody] = body;
			this[kBodyUsed] = false;
		}
		async *[Symbol.asyncIterator]() {
			assert$14(!this[kBodyUsed], "disturbed");
			this[kBodyUsed] = true;
			yield* this[kBody];
		}
	};
	var RedirectHandler = class RedirectHandler {
		static buildDispatch(dispatcher, maxRedirections) {
			if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
				throw new InvalidArgumentError("maxRedirections must be a positive number");
			}
			const dispatch = dispatcher.dispatch.bind(dispatcher);
			return (opts, originalHandler) => dispatch(opts, new RedirectHandler(dispatch, maxRedirections, opts, originalHandler));
		}
		constructor(dispatch, maxRedirections, opts, handler) {
			if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
				throw new InvalidArgumentError("maxRedirections must be a positive number");
			}
			this.dispatch = dispatch;
			this.location = null;
			const { maxRedirections: _, ...cleanOpts } = opts;
			this.opts = cleanOpts;
			this.maxRedirections = maxRedirections;
			this.handler = handler;
			this.history = [];
			if (util.isStream(this.opts.body)) {
				if (util.bodyLength(this.opts.body) === 0) {
					this.opts.body.on("data", function() {
						assert$14(false);
					});
				}
				if (typeof this.opts.body.readableDidRead !== "boolean") {
					this.opts.body[kBodyUsed] = false;
					EE$1.prototype.on.call(this.opts.body, "data", function() {
						this[kBodyUsed] = true;
					});
				}
			} else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
				this.opts.body = new BodyAsyncIterable(this.opts.body);
			} else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body) && !util.isFormDataLike(this.opts.body)) {
				this.opts.body = new BodyAsyncIterable(this.opts.body);
			}
		}
		onRequestStart(controller, context) {
			this.handler.onRequestStart?.(controller, {
				...context,
				history: this.history
			});
		}
		onRequestUpgrade(controller, statusCode, headers, socket) {
			this.handler.onRequestUpgrade?.(controller, statusCode, headers, socket);
		}
		onResponseStart(controller, statusCode, headers, statusMessage) {
			if (this.opts.throwOnMaxRedirect && this.history.length >= this.maxRedirections) {
				throw new Error("max redirects");
			}
			if ((statusCode === 301 || statusCode === 302) && this.opts.method === "POST") {
				this.opts.method = "GET";
				if (util.isStream(this.opts.body)) {
					util.destroy(this.opts.body.on("error", noop));
				}
				this.opts.body = null;
			}
			if (statusCode === 303 && this.opts.method !== "HEAD") {
				this.opts.method = "GET";
				if (util.isStream(this.opts.body)) {
					util.destroy(this.opts.body.on("error", noop));
				}
				this.opts.body = null;
			}
			this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) || redirectableStatusCodes.indexOf(statusCode) === -1 ? null : headers.location;
			if (this.opts.origin) {
				this.history.push(new URL(this.opts.path, this.opts.origin));
			}
			if (!this.location) {
				this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
				return;
			}
			const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
			const path = search ? `${pathname}${search}` : pathname;
			const redirectUrlString = `${origin}${path}`;
			for (const historyUrl of this.history) {
				if (historyUrl.toString() === redirectUrlString) {
					throw new InvalidArgumentError(`Redirect loop detected. Cannot redirect to ${origin}. This typically happens when using a Client or Pool with cross-origin redirects. Use an Agent for cross-origin redirects.`);
				}
			}
			this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
			this.opts.path = path;
			this.opts.origin = origin;
			this.opts.query = null;
		}
		onResponseData(controller, chunk) {
			if (this.location) {} else {
				this.handler.onResponseData?.(controller, chunk);
			}
		}
		onResponseEnd(controller, trailers) {
			if (this.location) {
				this.dispatch(this.opts, this);
			} else {
				this.handler.onResponseEnd(controller, trailers);
			}
		}
		onResponseError(controller, error) {
			this.handler.onResponseError?.(controller, error);
		}
	};
	function shouldRemoveHeader(header, removeContent, unknownOrigin) {
		if (header.length === 4) {
			return util.headerNameToString(header) === "host";
		}
		if (removeContent && util.headerNameToString(header).startsWith("content-")) {
			return true;
		}
		if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
			const name = util.headerNameToString(header);
			return name === "authorization" || name === "cookie" || name === "proxy-authorization";
		}
		return false;
	}
	function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
		const ret = [];
		if (Array.isArray(headers)) {
			for (let i = 0; i < headers.length; i += 2) {
				if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {
					ret.push(headers[i], headers[i + 1]);
				}
			}
		} else if (headers && typeof headers === "object") {
			const entries = typeof headers[Symbol.iterator] === "function" ? headers : Object.entries(headers);
			for (const [key, value] of entries) {
				if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
					ret.push(key, value);
				}
			}
		} else {
			assert$14(headers == null, "headers must be an object or an array");
		}
		return ret;
	}
	module.exports = RedirectHandler;
}));

//#endregion
//#region ../node_modules/undici/lib/interceptor/redirect.js
var require_redirect = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const RedirectHandler = require_redirect_handler();
	function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections } = {}) {
		return (dispatch) => {
			return function Intercept(opts, handler) {
				const { maxRedirections = defaultMaxRedirections, ...rest } = opts;
				if (maxRedirections == null || maxRedirections === 0) {
					return dispatch(opts, handler);
				}
				const dispatchOpts = { ...rest };
				const redirectHandler = new RedirectHandler(dispatch, maxRedirections, dispatchOpts, handler);
				return dispatch(dispatchOpts, redirectHandler);
			};
		};
	}
	module.exports = createRedirectInterceptor;
}));

//#endregion
//#region ../node_modules/undici/lib/interceptor/response-error.js
var require_response_error = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const DecoratorHandler = require_decorator_handler();
	const { ResponseError } = require_errors();
	var ResponseErrorHandler = class extends DecoratorHandler {
		#statusCode;
		#contentType;
		#decoder;
		#headers;
		#body;
		constructor(_opts, { handler }) {
			super(handler);
		}
		#checkContentType(contentType) {
			return (this.#contentType ?? "").indexOf(contentType) === 0;
		}
		onRequestStart(controller, context) {
			this.#statusCode = 0;
			this.#contentType = null;
			this.#decoder = null;
			this.#headers = null;
			this.#body = "";
			return super.onRequestStart(controller, context);
		}
		onResponseStart(controller, statusCode, headers, statusMessage) {
			this.#statusCode = statusCode;
			this.#headers = headers;
			this.#contentType = headers["content-type"];
			if (this.#statusCode < 400) {
				return super.onResponseStart(controller, statusCode, headers, statusMessage);
			}
			if (this.#checkContentType("application/json") || this.#checkContentType("text/plain")) {
				this.#decoder = new TextDecoder("utf-8");
			}
		}
		onResponseData(controller, chunk) {
			if (this.#statusCode < 400) {
				return super.onResponseData(controller, chunk);
			}
			this.#body += this.#decoder?.decode(chunk, { stream: true }) ?? "";
		}
		onResponseEnd(controller, trailers) {
			if (this.#statusCode >= 400) {
				this.#body += this.#decoder?.decode(undefined, { stream: false }) ?? "";
				if (this.#checkContentType("application/json")) {
					try {
						this.#body = JSON.parse(this.#body);
					} catch {}
				}
				let err;
				const stackTraceLimit = Error.stackTraceLimit;
				Error.stackTraceLimit = 0;
				try {
					err = new ResponseError("Response Error", this.#statusCode, {
						body: this.#body,
						headers: this.#headers
					});
				} finally {
					Error.stackTraceLimit = stackTraceLimit;
				}
				super.onResponseError(controller, err);
			} else {
				super.onResponseEnd(controller, trailers);
			}
		}
		onResponseError(controller, err) {
			super.onResponseError(controller, err);
		}
	};
	module.exports = () => {
		return (dispatch) => {
			return function Intercept(opts, handler) {
				return dispatch(opts, new ResponseErrorHandler(opts, { handler }));
			};
		};
	};
}));

//#endregion
//#region ../node_modules/undici/lib/interceptor/retry.js
var require_retry = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const RetryHandler = require_retry_handler();
	module.exports = (globalOpts) => {
		return (dispatch) => {
			return function retryInterceptor(opts, handler) {
				return dispatch(opts, new RetryHandler({
					...opts,
					retryOptions: {
						...globalOpts,
						...opts.retryOptions
					}
				}, {
					handler,
					dispatch
				}));
			};
		};
	};
}));

//#endregion
//#region ../node_modules/undici/lib/interceptor/dump.js
var require_dump = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { InvalidArgumentError, RequestAbortedError } = require_errors();
	const DecoratorHandler = require_decorator_handler();
	var DumpHandler = class extends DecoratorHandler {
		#maxSize = 1024 * 1024;
		#dumped = false;
		#size = 0;
		#controller = null;
		aborted = false;
		reason = false;
		constructor({ maxSize, signal }, handler) {
			if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) {
				throw new InvalidArgumentError("maxSize must be a number greater than 0");
			}
			super(handler);
			this.#maxSize = maxSize ?? this.#maxSize;
		}
		#abort(reason) {
			this.aborted = true;
			this.reason = reason;
		}
		onRequestStart(controller, context) {
			controller.abort = this.#abort.bind(this);
			this.#controller = controller;
			return super.onRequestStart(controller, context);
		}
		onResponseStart(controller, statusCode, headers, statusMessage) {
			const contentLength = headers["content-length"];
			if (contentLength != null && contentLength > this.#maxSize) {
				throw new RequestAbortedError(`Response size (${contentLength}) larger than maxSize (${this.#maxSize})`);
			}
			if (this.aborted === true) {
				return true;
			}
			return super.onResponseStart(controller, statusCode, headers, statusMessage);
		}
		onResponseError(controller, err) {
			if (this.#dumped) {
				return;
			}
			err = this.#controller?.reason ?? err;
			super.onResponseError(controller, err);
		}
		onResponseData(controller, chunk) {
			this.#size = this.#size + chunk.length;
			if (this.#size >= this.#maxSize) {
				this.#dumped = true;
				if (this.aborted === true) {
					super.onResponseError(controller, this.reason);
				} else {
					super.onResponseEnd(controller, {});
				}
			}
			return true;
		}
		onResponseEnd(controller, trailers) {
			if (this.#dumped) {
				return;
			}
			if (this.#controller.aborted === true) {
				super.onResponseError(controller, this.reason);
				return;
			}
			super.onResponseEnd(controller, trailers);
		}
	};
	function createDumpInterceptor({ maxSize: defaultMaxSize } = { maxSize: 1024 * 1024 }) {
		return (dispatch) => {
			return function Intercept(opts, handler) {
				const { dumpMaxSize = defaultMaxSize } = opts;
				const dumpHandler = new DumpHandler({
					maxSize: dumpMaxSize,
					signal: opts.signal
				}, handler);
				return dispatch(opts, dumpHandler);
			};
		};
	}
	module.exports = createDumpInterceptor;
}));

//#endregion
//#region ../node_modules/undici/lib/interceptor/dns.js
var require_dns = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { isIP } = __require("node:net");
	const { lookup } = __require("node:dns");
	const DecoratorHandler = require_decorator_handler();
	const { InvalidArgumentError, InformationalError } = require_errors();
	const maxInt = Math.pow(2, 31) - 1;
	var DNSStorage = class {
		#maxItems = 0;
		#records = new Map();
		constructor(opts) {
			this.#maxItems = opts.maxItems;
		}
		get size() {
			return this.#records.size;
		}
		get(hostname) {
			return this.#records.get(hostname) ?? null;
		}
		set(hostname, records) {
			this.#records.set(hostname, records);
		}
		delete(hostname) {
			this.#records.delete(hostname);
		}
		full() {
			return this.size >= this.#maxItems;
		}
	};
	var DNSInstance = class {
		#maxTTL = 0;
		#maxItems = 0;
		dualStack = true;
		affinity = null;
		lookup = null;
		pick = null;
		storage = null;
		constructor(opts) {
			this.#maxTTL = opts.maxTTL;
			this.#maxItems = opts.maxItems;
			this.dualStack = opts.dualStack;
			this.affinity = opts.affinity;
			this.lookup = opts.lookup ?? this.#defaultLookup;
			this.pick = opts.pick ?? this.#defaultPick;
			this.storage = opts.storage ?? new DNSStorage(opts);
		}
		runLookup(origin, opts, cb) {
			const ips = this.storage.get(origin.hostname);
			if (ips == null && this.storage.full()) {
				cb(null, origin);
				return;
			}
			const newOpts = {
				affinity: this.affinity,
				dualStack: this.dualStack,
				lookup: this.lookup,
				pick: this.pick,
				...opts.dns,
				maxTTL: this.#maxTTL,
				maxItems: this.#maxItems
			};
			if (ips == null) {
				this.lookup(origin, newOpts, (err, addresses) => {
					if (err || addresses == null || addresses.length === 0) {
						cb(err ?? new InformationalError("No DNS entries found"));
						return;
					}
					this.setRecords(origin, addresses);
					const records = this.storage.get(origin.hostname);
					const ip = this.pick(origin, records, newOpts.affinity);
					let port;
					if (typeof ip.port === "number") {
						port = `:${ip.port}`;
					} else if (origin.port !== "") {
						port = `:${origin.port}`;
					} else {
						port = "";
					}
					cb(null, new URL(`${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`));
				});
			} else {
				const ip = this.pick(origin, ips, newOpts.affinity);
				if (ip == null) {
					this.storage.delete(origin.hostname);
					this.runLookup(origin, opts, cb);
					return;
				}
				let port;
				if (typeof ip.port === "number") {
					port = `:${ip.port}`;
				} else if (origin.port !== "") {
					port = `:${origin.port}`;
				} else {
					port = "";
				}
				cb(null, new URL(`${origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`));
			}
		}
		#defaultLookup(origin, opts, cb) {
			lookup(origin.hostname, {
				all: true,
				family: this.dualStack === false ? this.affinity : 0,
				order: "ipv4first"
			}, (err, addresses) => {
				if (err) {
					return cb(err);
				}
				const results = new Map();
				for (const addr of addresses) {
					results.set(`${addr.address}:${addr.family}`, addr);
				}
				cb(null, results.values());
			});
		}
		#defaultPick(origin, hostnameRecords, affinity) {
			let ip = null;
			const { records, offset } = hostnameRecords;
			let family;
			if (this.dualStack) {
				if (affinity == null) {
					if (offset == null || offset === maxInt) {
						hostnameRecords.offset = 0;
						affinity = 4;
					} else {
						hostnameRecords.offset++;
						affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4;
					}
				}
				if (records[affinity] != null && records[affinity].ips.length > 0) {
					family = records[affinity];
				} else {
					family = records[affinity === 4 ? 6 : 4];
				}
			} else {
				family = records[affinity];
			}
			if (family == null || family.ips.length === 0) {
				return ip;
			}
			if (family.offset == null || family.offset === maxInt) {
				family.offset = 0;
			} else {
				family.offset++;
			}
			const position = family.offset % family.ips.length;
			ip = family.ips[position] ?? null;
			if (ip == null) {
				return ip;
			}
			if (Date.now() - ip.timestamp > ip.ttl) {
				family.ips.splice(position, 1);
				return this.pick(origin, hostnameRecords, affinity);
			}
			return ip;
		}
		pickFamily(origin, ipFamily) {
			const records = this.storage.get(origin.hostname)?.records;
			if (!records) {
				return null;
			}
			const family = records[ipFamily];
			if (!family) {
				return null;
			}
			if (family.offset == null || family.offset === maxInt) {
				family.offset = 0;
			} else {
				family.offset++;
			}
			const position = family.offset % family.ips.length;
			const ip = family.ips[position] ?? null;
			if (ip == null) {
				return ip;
			}
			if (Date.now() - ip.timestamp > ip.ttl) {
				family.ips.splice(position, 1);
			}
			return ip;
		}
		setRecords(origin, addresses) {
			const timestamp = Date.now();
			const records = { records: {
				4: null,
				6: null
			} };
			let minTTL = this.#maxTTL;
			for (const record of addresses) {
				record.timestamp = timestamp;
				if (typeof record.ttl === "number") {
					record.ttl = Math.min(record.ttl, this.#maxTTL);
					minTTL = Math.min(minTTL, record.ttl);
				} else {
					record.ttl = this.#maxTTL;
				}
				const familyRecords = records.records[record.family] ?? { ips: [] };
				familyRecords.ips.push(record);
				records.records[record.family] = familyRecords;
			}
			this.storage.set(origin.hostname, records, { ttl: minTTL });
		}
		deleteRecords(origin) {
			this.storage.delete(origin.hostname);
		}
		getHandler(meta, opts) {
			return new DNSDispatchHandler(this, meta, opts);
		}
	};
	var DNSDispatchHandler = class extends DecoratorHandler {
		#state = null;
		#opts = null;
		#dispatch = null;
		#origin = null;
		#controller = null;
		#newOrigin = null;
		#firstTry = true;
		constructor(state, { origin, handler, dispatch, newOrigin }, opts) {
			super(handler);
			this.#origin = origin;
			this.#newOrigin = newOrigin;
			this.#opts = { ...opts };
			this.#state = state;
			this.#dispatch = dispatch;
		}
		onResponseError(controller, err) {
			switch (err.code) {
				case "ETIMEDOUT":
				case "ECONNREFUSED": {
					if (this.#state.dualStack) {
						if (!this.#firstTry) {
							super.onResponseError(controller, err);
							return;
						}
						this.#firstTry = false;
						const otherFamily = this.#newOrigin.hostname[0] === "[" ? 4 : 6;
						const ip = this.#state.pickFamily(this.#origin, otherFamily);
						if (ip == null) {
							super.onResponseError(controller, err);
							return;
						}
						let port;
						if (typeof ip.port === "number") {
							port = `:${ip.port}`;
						} else if (this.#origin.port !== "") {
							port = `:${this.#origin.port}`;
						} else {
							port = "";
						}
						const dispatchOpts = {
							...this.#opts,
							origin: `${this.#origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
						};
						this.#dispatch(dispatchOpts, this);
						return;
					}
					super.onResponseError(controller, err);
					break;
				}
				case "ENOTFOUND":
					this.#state.deleteRecords(this.#origin);
					super.onResponseError(controller, err);
					break;
				default:
					super.onResponseError(controller, err);
					break;
			}
		}
	};
	module.exports = (interceptorOpts) => {
		if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
			throw new InvalidArgumentError("Invalid maxTTL. Must be a positive number");
		}
		if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) {
			throw new InvalidArgumentError("Invalid maxItems. Must be a positive number and greater than zero");
		}
		if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
			throw new InvalidArgumentError("Invalid affinity. Must be either 4 or 6");
		}
		if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
			throw new InvalidArgumentError("Invalid dualStack. Must be a boolean");
		}
		if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
			throw new InvalidArgumentError("Invalid lookup. Must be a function");
		}
		if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
			throw new InvalidArgumentError("Invalid pick. Must be a function");
		}
		if (interceptorOpts?.storage != null && (typeof interceptorOpts?.storage?.get !== "function" || typeof interceptorOpts?.storage?.set !== "function" || typeof interceptorOpts?.storage?.full !== "function" || typeof interceptorOpts?.storage?.delete !== "function")) {
			throw new InvalidArgumentError("Invalid storage. Must be a object with methods: { get, set, full, delete }");
		}
		const dualStack = interceptorOpts?.dualStack ?? true;
		let affinity;
		if (dualStack) {
			affinity = interceptorOpts?.affinity ?? null;
		} else {
			affinity = interceptorOpts?.affinity ?? 4;
		}
		const opts = {
			maxTTL: interceptorOpts?.maxTTL ?? 1e4,
			lookup: interceptorOpts?.lookup ?? null,
			pick: interceptorOpts?.pick ?? null,
			dualStack,
			affinity,
			maxItems: interceptorOpts?.maxItems ?? Infinity,
			storage: interceptorOpts?.storage
		};
		const instance = new DNSInstance(opts);
		return (dispatch) => {
			return function dnsInterceptor(origDispatchOpts, handler) {
				const origin = origDispatchOpts.origin.constructor === URL ? origDispatchOpts.origin : new URL(origDispatchOpts.origin);
				if (isIP(origin.hostname) !== 0) {
					return dispatch(origDispatchOpts, handler);
				}
				instance.runLookup(origin, origDispatchOpts, (err, newOrigin) => {
					if (err) {
						return handler.onResponseError(null, err);
					}
					const dispatchOpts = {
						...origDispatchOpts,
						servername: origin.hostname,
						origin: newOrigin.origin,
						headers: {
							host: origin.host,
							...origDispatchOpts.headers
						}
					};
					dispatch(dispatchOpts, instance.getHandler({
						origin,
						dispatch,
						handler,
						newOrigin
					}, origDispatchOpts));
				});
				return true;
			};
		};
	};
}));

//#endregion
//#region ../node_modules/undici/lib/util/cache.js
var require_cache$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { safeHTTPMethods, pathHasQueryOrFragment } = require_util$5();
	const { serializePathWithQuery } = require_util$5();
	/**
	* @param {import('../../types/dispatcher.d.ts').default.DispatchOptions} opts
	*/
	function makeCacheKey(opts) {
		if (!opts.origin) {
			throw new Error("opts.origin is undefined");
		}
		let fullPath = opts.path || "/";
		if (opts.query && !pathHasQueryOrFragment(opts.path)) {
			fullPath = serializePathWithQuery(fullPath, opts.query);
		}
		return {
			origin: opts.origin.toString(),
			method: opts.method,
			path: fullPath,
			headers: opts.headers
		};
	}
	/**
	* @param {Record<string, string[] | string>}
	* @returns {Record<string, string[] | string>}
	*/
	function normalizeHeaders(opts) {
		let headers;
		if (opts.headers == null) {
			headers = {};
		} else if (typeof opts.headers[Symbol.iterator] === "function") {
			headers = {};
			for (const x of opts.headers) {
				if (!Array.isArray(x)) {
					throw new Error("opts.headers is not a valid header map");
				}
				const [key, val] = x;
				if (typeof key !== "string" || typeof val !== "string") {
					throw new Error("opts.headers is not a valid header map");
				}
				headers[key.toLowerCase()] = val;
			}
		} else if (typeof opts.headers === "object") {
			headers = {};
			for (const key of Object.keys(opts.headers)) {
				headers[key.toLowerCase()] = opts.headers[key];
			}
		} else {
			throw new Error("opts.headers is not an object");
		}
		return headers;
	}
	/**
	* @param {any} key
	*/
	function assertCacheKey(key) {
		if (typeof key !== "object") {
			throw new TypeError(`expected key to be object, got ${typeof key}`);
		}
		for (const property of [
			"origin",
			"method",
			"path"
		]) {
			if (typeof key[property] !== "string") {
				throw new TypeError(`expected key.${property} to be string, got ${typeof key[property]}`);
			}
		}
		if (key.headers !== undefined && typeof key.headers !== "object") {
			throw new TypeError(`expected headers to be object, got ${typeof key}`);
		}
	}
	/**
	* @param {any} value
	*/
	function assertCacheValue(value) {
		if (typeof value !== "object") {
			throw new TypeError(`expected value to be object, got ${typeof value}`);
		}
		for (const property of [
			"statusCode",
			"cachedAt",
			"staleAt",
			"deleteAt"
		]) {
			if (typeof value[property] !== "number") {
				throw new TypeError(`expected value.${property} to be number, got ${typeof value[property]}`);
			}
		}
		if (typeof value.statusMessage !== "string") {
			throw new TypeError(`expected value.statusMessage to be string, got ${typeof value.statusMessage}`);
		}
		if (value.headers != null && typeof value.headers !== "object") {
			throw new TypeError(`expected value.rawHeaders to be object, got ${typeof value.headers}`);
		}
		if (value.vary !== undefined && typeof value.vary !== "object") {
			throw new TypeError(`expected value.vary to be object, got ${typeof value.vary}`);
		}
		if (value.etag !== undefined && typeof value.etag !== "string") {
			throw new TypeError(`expected value.etag to be string, got ${typeof value.etag}`);
		}
	}
	/**
	* @see https://www.rfc-editor.org/rfc/rfc9111.html#name-cache-control
	* @see https://www.iana.org/assignments/http-cache-directives/http-cache-directives.xhtml
	
	* @param {string | string[]} header
	* @returns {import('../../types/cache-interceptor.d.ts').default.CacheControlDirectives}
	*/
	function parseCacheControlHeader(header) {
		/**
		* @type {import('../../types/cache-interceptor.d.ts').default.CacheControlDirectives}
		*/
		const output = {};
		let directives;
		if (Array.isArray(header)) {
			directives = [];
			for (const directive of header) {
				directives.push(...directive.split(","));
			}
		} else {
			directives = header.split(",");
		}
		for (let i = 0; i < directives.length; i++) {
			const directive = directives[i].toLowerCase();
			const keyValueDelimiter = directive.indexOf("=");
			let key;
			let value;
			if (keyValueDelimiter !== -1) {
				key = directive.substring(0, keyValueDelimiter).trimStart();
				value = directive.substring(keyValueDelimiter + 1);
			} else {
				key = directive.trim();
			}
			switch (key) {
				case "min-fresh":
				case "max-stale":
				case "max-age":
				case "s-maxage":
				case "stale-while-revalidate":
				case "stale-if-error": {
					if (value === undefined || value[0] === " ") {
						continue;
					}
					if (value.length >= 2 && value[0] === "\"" && value[value.length - 1] === "\"") {
						value = value.substring(1, value.length - 1);
					}
					const parsedValue = parseInt(value, 10);
					if (parsedValue !== parsedValue) {
						continue;
					}
					if (key === "max-age" && key in output && output[key] >= parsedValue) {
						continue;
					}
					output[key] = parsedValue;
					break;
				}
				case "private":
				case "no-cache": {
					if (value) {
						if (value[0] === "\"") {
							const headers = [value.substring(1)];
							let foundEndingQuote = value[value.length - 1] === "\"";
							if (!foundEndingQuote) {
								for (let j = i + 1; j < directives.length; j++) {
									const nextPart = directives[j];
									const nextPartLength = nextPart.length;
									headers.push(nextPart.trim());
									if (nextPartLength !== 0 && nextPart[nextPartLength - 1] === "\"") {
										foundEndingQuote = true;
										break;
									}
								}
							}
							if (foundEndingQuote) {
								let lastHeader = headers[headers.length - 1];
								if (lastHeader[lastHeader.length - 1] === "\"") {
									lastHeader = lastHeader.substring(0, lastHeader.length - 1);
									headers[headers.length - 1] = lastHeader;
								}
								if (key in output) {
									output[key] = output[key].concat(headers);
								} else {
									output[key] = headers;
								}
							}
						} else {
							if (key in output) {
								output[key] = output[key].concat(value);
							} else {
								output[key] = [value];
							}
						}
						break;
					}
				}
				case "public":
				case "no-store":
				case "must-revalidate":
				case "proxy-revalidate":
				case "immutable":
				case "no-transform":
				case "must-understand":
				case "only-if-cached":
					if (value) {
						continue;
					}
					output[key] = true;
					break;
				default: continue;
			}
		}
		return output;
	}
	/**
	* @param {string | string[]} varyHeader Vary header from the server
	* @param {Record<string, string | string[]>} headers Request headers
	* @returns {Record<string, string | string[]>}
	*/
	function parseVaryHeader(varyHeader, headers) {
		if (typeof varyHeader === "string" && varyHeader.includes("*")) {
			return headers;
		}
		const output = {};
		const varyingHeaders = typeof varyHeader === "string" ? varyHeader.split(",") : varyHeader;
		for (const header of varyingHeaders) {
			const trimmedHeader = header.trim().toLowerCase();
			output[trimmedHeader] = headers[trimmedHeader] ?? null;
		}
		return output;
	}
	/**
	* Note: this deviates from the spec a little. Empty etags ("", W/"") are valid,
	*  however, including them in cached resposnes serves little to no purpose.
	*
	* @see https://www.rfc-editor.org/rfc/rfc9110.html#name-etag
	*
	* @param {string} etag
	* @returns {boolean}
	*/
	function isEtagUsable(etag) {
		if (etag.length <= 2) {
			return false;
		}
		if (etag[0] === "\"" && etag[etag.length - 1] === "\"") {
			return !(etag[1] === "\"" || etag.startsWith("\"W/"));
		}
		if (etag.startsWith("W/\"") && etag[etag.length - 1] === "\"") {
			return etag.length !== 4;
		}
		return false;
	}
	/**
	* @param {unknown} store
	* @returns {asserts store is import('../../types/cache-interceptor.d.ts').default.CacheStore}
	*/
	function assertCacheStore(store, name = "CacheStore") {
		if (typeof store !== "object" || store === null) {
			throw new TypeError(`expected type of ${name} to be a CacheStore, got ${store === null ? "null" : typeof store}`);
		}
		for (const fn of [
			"get",
			"createWriteStream",
			"delete"
		]) {
			if (typeof store[fn] !== "function") {
				throw new TypeError(`${name} needs to have a \`${fn}()\` function`);
			}
		}
	}
	/**
	* @param {unknown} methods
	* @returns {asserts methods is import('../../types/cache-interceptor.d.ts').default.CacheMethods[]}
	*/
	function assertCacheMethods(methods, name = "CacheMethods") {
		if (!Array.isArray(methods)) {
			throw new TypeError(`expected type of ${name} needs to be an array, got ${methods === null ? "null" : typeof methods}`);
		}
		if (methods.length === 0) {
			throw new TypeError(`${name} needs to have at least one method`);
		}
		for (const method of methods) {
			if (!safeHTTPMethods.includes(method)) {
				throw new TypeError(`element of ${name}-array needs to be one of following values: ${safeHTTPMethods.join(", ")}, got ${method}`);
			}
		}
	}
	/**
	* Creates a string key for request deduplication purposes.
	* This key is used to identify in-flight requests that can be shared.
	* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} cacheKey
	* @param {Set<string>} [excludeHeaders] Set of lowercase header names to exclude from the key
	* @returns {string}
	*/
	function makeDeduplicationKey(cacheKey, excludeHeaders) {
		let key = `${cacheKey.origin}:${cacheKey.method}:${cacheKey.path}`;
		if (cacheKey.headers) {
			const sortedHeaders = Object.keys(cacheKey.headers).sort();
			for (const header of sortedHeaders) {
				if (excludeHeaders?.has(header.toLowerCase())) {
					continue;
				}
				const value = cacheKey.headers[header];
				key += `:${header}=${Array.isArray(value) ? value.join(",") : value}`;
			}
		}
		return key;
	}
	module.exports = {
		makeCacheKey,
		normalizeHeaders,
		assertCacheKey,
		assertCacheValue,
		parseCacheControlHeader,
		parseVaryHeader,
		isEtagUsable,
		assertCacheMethods,
		assertCacheStore,
		makeDeduplicationKey
	};
}));

//#endregion
//#region ../node_modules/undici/lib/util/date.js
var require_date = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* @see https://www.rfc-editor.org/rfc/rfc9110.html#name-date-time-formats
	*
	* @param {string} date
	* @returns {Date | undefined}
	*/
	function parseHttpDate(date) {
		switch (date[3]) {
			case ",": return parseImfDate(date);
			case " ": return parseAscTimeDate(date);
			default: return parseRfc850Date(date);
		}
	}
	/**
	* @see https://httpwg.org/specs/rfc9110.html#preferred.date.format
	*
	* @param {string} date
	* @returns {Date | undefined}
	*/
	function parseImfDate(date) {
		if (date.length !== 29 || date[4] !== " " || date[7] !== " " || date[11] !== " " || date[16] !== " " || date[19] !== ":" || date[22] !== ":" || date[25] !== " " || date[26] !== "G" || date[27] !== "M" || date[28] !== "T") {
			return undefined;
		}
		let weekday = -1;
		if (date[0] === "S" && date[1] === "u" && date[2] === "n") {
			weekday = 0;
		} else if (date[0] === "M" && date[1] === "o" && date[2] === "n") {
			weekday = 1;
		} else if (date[0] === "T" && date[1] === "u" && date[2] === "e") {
			weekday = 2;
		} else if (date[0] === "W" && date[1] === "e" && date[2] === "d") {
			weekday = 3;
		} else if (date[0] === "T" && date[1] === "h" && date[2] === "u") {
			weekday = 4;
		} else if (date[0] === "F" && date[1] === "r" && date[2] === "i") {
			weekday = 5;
		} else if (date[0] === "S" && date[1] === "a" && date[2] === "t") {
			weekday = 6;
		} else {
			return undefined;
		}
		let day = 0;
		if (date[5] === "0") {
			const code = date.charCodeAt(6);
			if (code < 49 || code > 57) {
				return undefined;
			}
			day = code - 48;
		} else {
			const code1 = date.charCodeAt(5);
			if (code1 < 49 || code1 > 51) {
				return undefined;
			}
			const code2 = date.charCodeAt(6);
			if (code2 < 48 || code2 > 57) {
				return undefined;
			}
			day = (code1 - 48) * 10 + (code2 - 48);
		}
		let monthIdx = -1;
		if (date[8] === "J" && date[9] === "a" && date[10] === "n") {
			monthIdx = 0;
		} else if (date[8] === "F" && date[9] === "e" && date[10] === "b") {
			monthIdx = 1;
		} else if (date[8] === "M" && date[9] === "a") {
			if (date[10] === "r") {
				monthIdx = 2;
			} else if (date[10] === "y") {
				monthIdx = 4;
			} else {
				return undefined;
			}
		} else if (date[8] === "J") {
			if (date[9] === "a" && date[10] === "n") {
				monthIdx = 0;
			} else if (date[9] === "u") {
				if (date[10] === "n") {
					monthIdx = 5;
				} else if (date[10] === "l") {
					monthIdx = 6;
				} else {
					return undefined;
				}
			} else {
				return undefined;
			}
		} else if (date[8] === "A") {
			if (date[9] === "p" && date[10] === "r") {
				monthIdx = 3;
			} else if (date[9] === "u" && date[10] === "g") {
				monthIdx = 7;
			} else {
				return undefined;
			}
		} else if (date[8] === "S" && date[9] === "e" && date[10] === "p") {
			monthIdx = 8;
		} else if (date[8] === "O" && date[9] === "c" && date[10] === "t") {
			monthIdx = 9;
		} else if (date[8] === "N" && date[9] === "o" && date[10] === "v") {
			monthIdx = 10;
		} else if (date[8] === "D" && date[9] === "e" && date[10] === "c") {
			monthIdx = 11;
		} else {
			return undefined;
		}
		const yearDigit1 = date.charCodeAt(12);
		if (yearDigit1 < 48 || yearDigit1 > 57) {
			return undefined;
		}
		const yearDigit2 = date.charCodeAt(13);
		if (yearDigit2 < 48 || yearDigit2 > 57) {
			return undefined;
		}
		const yearDigit3 = date.charCodeAt(14);
		if (yearDigit3 < 48 || yearDigit3 > 57) {
			return undefined;
		}
		const yearDigit4 = date.charCodeAt(15);
		if (yearDigit4 < 48 || yearDigit4 > 57) {
			return undefined;
		}
		const year = (yearDigit1 - 48) * 1e3 + (yearDigit2 - 48) * 100 + (yearDigit3 - 48) * 10 + (yearDigit4 - 48);
		let hour = 0;
		if (date[17] === "0") {
			const code = date.charCodeAt(18);
			if (code < 48 || code > 57) {
				return undefined;
			}
			hour = code - 48;
		} else {
			const code1 = date.charCodeAt(17);
			if (code1 < 48 || code1 > 50) {
				return undefined;
			}
			const code2 = date.charCodeAt(18);
			if (code2 < 48 || code2 > 57) {
				return undefined;
			}
			if (code1 === 50 && code2 > 51) {
				return undefined;
			}
			hour = (code1 - 48) * 10 + (code2 - 48);
		}
		let minute = 0;
		if (date[20] === "0") {
			const code = date.charCodeAt(21);
			if (code < 48 || code > 57) {
				return undefined;
			}
			minute = code - 48;
		} else {
			const code1 = date.charCodeAt(20);
			if (code1 < 48 || code1 > 53) {
				return undefined;
			}
			const code2 = date.charCodeAt(21);
			if (code2 < 48 || code2 > 57) {
				return undefined;
			}
			minute = (code1 - 48) * 10 + (code2 - 48);
		}
		let second = 0;
		if (date[23] === "0") {
			const code = date.charCodeAt(24);
			if (code < 48 || code > 57) {
				return undefined;
			}
			second = code - 48;
		} else {
			const code1 = date.charCodeAt(23);
			if (code1 < 48 || code1 > 53) {
				return undefined;
			}
			const code2 = date.charCodeAt(24);
			if (code2 < 48 || code2 > 57) {
				return undefined;
			}
			second = (code1 - 48) * 10 + (code2 - 48);
		}
		const result = new Date(Date.UTC(year, monthIdx, day, hour, minute, second));
		return result.getUTCDay() === weekday ? result : undefined;
	}
	/**
	* @see https://httpwg.org/specs/rfc9110.html#obsolete.date.formats
	*
	* @param {string} date
	* @returns {Date | undefined}
	*/
	function parseAscTimeDate(date) {
		if (date.length !== 24 || date[7] !== " " || date[10] !== " " || date[19] !== " ") {
			return undefined;
		}
		let weekday = -1;
		if (date[0] === "S" && date[1] === "u" && date[2] === "n") {
			weekday = 0;
		} else if (date[0] === "M" && date[1] === "o" && date[2] === "n") {
			weekday = 1;
		} else if (date[0] === "T" && date[1] === "u" && date[2] === "e") {
			weekday = 2;
		} else if (date[0] === "W" && date[1] === "e" && date[2] === "d") {
			weekday = 3;
		} else if (date[0] === "T" && date[1] === "h" && date[2] === "u") {
			weekday = 4;
		} else if (date[0] === "F" && date[1] === "r" && date[2] === "i") {
			weekday = 5;
		} else if (date[0] === "S" && date[1] === "a" && date[2] === "t") {
			weekday = 6;
		} else {
			return undefined;
		}
		let monthIdx = -1;
		if (date[4] === "J" && date[5] === "a" && date[6] === "n") {
			monthIdx = 0;
		} else if (date[4] === "F" && date[5] === "e" && date[6] === "b") {
			monthIdx = 1;
		} else if (date[4] === "M" && date[5] === "a") {
			if (date[6] === "r") {
				monthIdx = 2;
			} else if (date[6] === "y") {
				monthIdx = 4;
			} else {
				return undefined;
			}
		} else if (date[4] === "J") {
			if (date[5] === "a" && date[6] === "n") {
				monthIdx = 0;
			} else if (date[5] === "u") {
				if (date[6] === "n") {
					monthIdx = 5;
				} else if (date[6] === "l") {
					monthIdx = 6;
				} else {
					return undefined;
				}
			} else {
				return undefined;
			}
		} else if (date[4] === "A") {
			if (date[5] === "p" && date[6] === "r") {
				monthIdx = 3;
			} else if (date[5] === "u" && date[6] === "g") {
				monthIdx = 7;
			} else {
				return undefined;
			}
		} else if (date[4] === "S" && date[5] === "e" && date[6] === "p") {
			monthIdx = 8;
		} else if (date[4] === "O" && date[5] === "c" && date[6] === "t") {
			monthIdx = 9;
		} else if (date[4] === "N" && date[5] === "o" && date[6] === "v") {
			monthIdx = 10;
		} else if (date[4] === "D" && date[5] === "e" && date[6] === "c") {
			monthIdx = 11;
		} else {
			return undefined;
		}
		let day = 0;
		if (date[8] === " ") {
			const code = date.charCodeAt(9);
			if (code < 49 || code > 57) {
				return undefined;
			}
			day = code - 48;
		} else {
			const code1 = date.charCodeAt(8);
			if (code1 < 49 || code1 > 51) {
				return undefined;
			}
			const code2 = date.charCodeAt(9);
			if (code2 < 48 || code2 > 57) {
				return undefined;
			}
			day = (code1 - 48) * 10 + (code2 - 48);
		}
		let hour = 0;
		if (date[11] === "0") {
			const code = date.charCodeAt(12);
			if (code < 48 || code > 57) {
				return undefined;
			}
			hour = code - 48;
		} else {
			const code1 = date.charCodeAt(11);
			if (code1 < 48 || code1 > 50) {
				return undefined;
			}
			const code2 = date.charCodeAt(12);
			if (code2 < 48 || code2 > 57) {
				return undefined;
			}
			if (code1 === 50 && code2 > 51) {
				return undefined;
			}
			hour = (code1 - 48) * 10 + (code2 - 48);
		}
		let minute = 0;
		if (date[14] === "0") {
			const code = date.charCodeAt(15);
			if (code < 48 || code > 57) {
				return undefined;
			}
			minute = code - 48;
		} else {
			const code1 = date.charCodeAt(14);
			if (code1 < 48 || code1 > 53) {
				return undefined;
			}
			const code2 = date.charCodeAt(15);
			if (code2 < 48 || code2 > 57) {
				return undefined;
			}
			minute = (code1 - 48) * 10 + (code2 - 48);
		}
		let second = 0;
		if (date[17] === "0") {
			const code = date.charCodeAt(18);
			if (code < 48 || code > 57) {
				return undefined;
			}
			second = code - 48;
		} else {
			const code1 = date.charCodeAt(17);
			if (code1 < 48 || code1 > 53) {
				return undefined;
			}
			const code2 = date.charCodeAt(18);
			if (code2 < 48 || code2 > 57) {
				return undefined;
			}
			second = (code1 - 48) * 10 + (code2 - 48);
		}
		const yearDigit1 = date.charCodeAt(20);
		if (yearDigit1 < 48 || yearDigit1 > 57) {
			return undefined;
		}
		const yearDigit2 = date.charCodeAt(21);
		if (yearDigit2 < 48 || yearDigit2 > 57) {
			return undefined;
		}
		const yearDigit3 = date.charCodeAt(22);
		if (yearDigit3 < 48 || yearDigit3 > 57) {
			return undefined;
		}
		const yearDigit4 = date.charCodeAt(23);
		if (yearDigit4 < 48 || yearDigit4 > 57) {
			return undefined;
		}
		const year = (yearDigit1 - 48) * 1e3 + (yearDigit2 - 48) * 100 + (yearDigit3 - 48) * 10 + (yearDigit4 - 48);
		const result = new Date(Date.UTC(year, monthIdx, day, hour, minute, second));
		return result.getUTCDay() === weekday ? result : undefined;
	}
	/**
	* @see https://httpwg.org/specs/rfc9110.html#obsolete.date.formats
	*
	* @param {string} date
	* @returns {Date | undefined}
	*/
	function parseRfc850Date(date) {
		let commaIndex = -1;
		let weekday = -1;
		if (date[0] === "S") {
			if (date[1] === "u" && date[2] === "n" && date[3] === "d" && date[4] === "a" && date[5] === "y") {
				weekday = 0;
				commaIndex = 6;
			} else if (date[1] === "a" && date[2] === "t" && date[3] === "u" && date[4] === "r" && date[5] === "d" && date[6] === "a" && date[7] === "y") {
				weekday = 6;
				commaIndex = 8;
			}
		} else if (date[0] === "M" && date[1] === "o" && date[2] === "n" && date[3] === "d" && date[4] === "a" && date[5] === "y") {
			weekday = 1;
			commaIndex = 6;
		} else if (date[0] === "T") {
			if (date[1] === "u" && date[2] === "e" && date[3] === "s" && date[4] === "d" && date[5] === "a" && date[6] === "y") {
				weekday = 2;
				commaIndex = 7;
			} else if (date[1] === "h" && date[2] === "u" && date[3] === "r" && date[4] === "s" && date[5] === "d" && date[6] === "a" && date[7] === "y") {
				weekday = 4;
				commaIndex = 8;
			}
		} else if (date[0] === "W" && date[1] === "e" && date[2] === "d" && date[3] === "n" && date[4] === "e" && date[5] === "s" && date[6] === "d" && date[7] === "a" && date[8] === "y") {
			weekday = 3;
			commaIndex = 9;
		} else if (date[0] === "F" && date[1] === "r" && date[2] === "i" && date[3] === "d" && date[4] === "a" && date[5] === "y") {
			weekday = 5;
			commaIndex = 6;
		} else {
			return undefined;
		}
		if (date[commaIndex] !== "," || date.length - commaIndex - 1 !== 23 || date[commaIndex + 1] !== " " || date[commaIndex + 4] !== "-" || date[commaIndex + 8] !== "-" || date[commaIndex + 11] !== " " || date[commaIndex + 14] !== ":" || date[commaIndex + 17] !== ":" || date[commaIndex + 20] !== " " || date[commaIndex + 21] !== "G" || date[commaIndex + 22] !== "M" || date[commaIndex + 23] !== "T") {
			return undefined;
		}
		let day = 0;
		if (date[commaIndex + 2] === "0") {
			const code = date.charCodeAt(commaIndex + 3);
			if (code < 49 || code > 57) {
				return undefined;
			}
			day = code - 48;
		} else {
			const code1 = date.charCodeAt(commaIndex + 2);
			if (code1 < 49 || code1 > 51) {
				return undefined;
			}
			const code2 = date.charCodeAt(commaIndex + 3);
			if (code2 < 48 || code2 > 57) {
				return undefined;
			}
			day = (code1 - 48) * 10 + (code2 - 48);
		}
		let monthIdx = -1;
		if (date[commaIndex + 5] === "J" && date[commaIndex + 6] === "a" && date[commaIndex + 7] === "n") {
			monthIdx = 0;
		} else if (date[commaIndex + 5] === "F" && date[commaIndex + 6] === "e" && date[commaIndex + 7] === "b") {
			monthIdx = 1;
		} else if (date[commaIndex + 5] === "M" && date[commaIndex + 6] === "a" && date[commaIndex + 7] === "r") {
			monthIdx = 2;
		} else if (date[commaIndex + 5] === "A" && date[commaIndex + 6] === "p" && date[commaIndex + 7] === "r") {
			monthIdx = 3;
		} else if (date[commaIndex + 5] === "M" && date[commaIndex + 6] === "a" && date[commaIndex + 7] === "y") {
			monthIdx = 4;
		} else if (date[commaIndex + 5] === "J" && date[commaIndex + 6] === "u" && date[commaIndex + 7] === "n") {
			monthIdx = 5;
		} else if (date[commaIndex + 5] === "J" && date[commaIndex + 6] === "u" && date[commaIndex + 7] === "l") {
			monthIdx = 6;
		} else if (date[commaIndex + 5] === "A" && date[commaIndex + 6] === "u" && date[commaIndex + 7] === "g") {
			monthIdx = 7;
		} else if (date[commaIndex + 5] === "S" && date[commaIndex + 6] === "e" && date[commaIndex + 7] === "p") {
			monthIdx = 8;
		} else if (date[commaIndex + 5] === "O" && date[commaIndex + 6] === "c" && date[commaIndex + 7] === "t") {
			monthIdx = 9;
		} else if (date[commaIndex + 5] === "N" && date[commaIndex + 6] === "o" && date[commaIndex + 7] === "v") {
			monthIdx = 10;
		} else if (date[commaIndex + 5] === "D" && date[commaIndex + 6] === "e" && date[commaIndex + 7] === "c") {
			monthIdx = 11;
		} else {
			return undefined;
		}
		const yearDigit1 = date.charCodeAt(commaIndex + 9);
		if (yearDigit1 < 48 || yearDigit1 > 57) {
			return undefined;
		}
		const yearDigit2 = date.charCodeAt(commaIndex + 10);
		if (yearDigit2 < 48 || yearDigit2 > 57) {
			return undefined;
		}
		let year = (yearDigit1 - 48) * 10 + (yearDigit2 - 48);
		year += year < 70 ? 2e3 : 1900;
		let hour = 0;
		if (date[commaIndex + 12] === "0") {
			const code = date.charCodeAt(commaIndex + 13);
			if (code < 48 || code > 57) {
				return undefined;
			}
			hour = code - 48;
		} else {
			const code1 = date.charCodeAt(commaIndex + 12);
			if (code1 < 48 || code1 > 50) {
				return undefined;
			}
			const code2 = date.charCodeAt(commaIndex + 13);
			if (code2 < 48 || code2 > 57) {
				return undefined;
			}
			if (code1 === 50 && code2 > 51) {
				return undefined;
			}
			hour = (code1 - 48) * 10 + (code2 - 48);
		}
		let minute = 0;
		if (date[commaIndex + 15] === "0") {
			const code = date.charCodeAt(commaIndex + 16);
			if (code < 48 || code > 57) {
				return undefined;
			}
			minute = code - 48;
		} else {
			const code1 = date.charCodeAt(commaIndex + 15);
			if (code1 < 48 || code1 > 53) {
				return undefined;
			}
			const code2 = date.charCodeAt(commaIndex + 16);
			if (code2 < 48 || code2 > 57) {
				return undefined;
			}
			minute = (code1 - 48) * 10 + (code2 - 48);
		}
		let second = 0;
		if (date[commaIndex + 18] === "0") {
			const code = date.charCodeAt(commaIndex + 19);
			if (code < 48 || code > 57) {
				return undefined;
			}
			second = code - 48;
		} else {
			const code1 = date.charCodeAt(commaIndex + 18);
			if (code1 < 48 || code1 > 53) {
				return undefined;
			}
			const code2 = date.charCodeAt(commaIndex + 19);
			if (code2 < 48 || code2 > 57) {
				return undefined;
			}
			second = (code1 - 48) * 10 + (code2 - 48);
		}
		const result = new Date(Date.UTC(year, monthIdx, day, hour, minute, second));
		return result.getUTCDay() === weekday ? result : undefined;
	}
	module.exports = { parseHttpDate };
}));

//#endregion
//#region ../node_modules/undici/lib/handler/cache-handler.js
var require_cache_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const util = require_util$5();
	const { parseCacheControlHeader, parseVaryHeader, isEtagUsable } = require_cache$2();
	const { parseHttpDate } = require_date();
	function noop() {}
	const HEURISTICALLY_CACHEABLE_STATUS_CODES = [
		200,
		203,
		204,
		206,
		300,
		301,
		308,
		404,
		405,
		410,
		414,
		501
	];
	const NOT_UNDERSTOOD_STATUS_CODES = [206];
	const MAX_RESPONSE_AGE = 2147483647e3;
	/**
	* @typedef {import('../../types/dispatcher.d.ts').default.DispatchHandler} DispatchHandler
	*
	* @implements {DispatchHandler}
	*/
	var CacheHandler = class {
		/**
		* @type {import('../../types/cache-interceptor.d.ts').default.CacheKey}
		*/
		#cacheKey;
		/**
		* @type {import('../../types/cache-interceptor.d.ts').default.CacheHandlerOptions['type']}
		*/
		#cacheType;
		/**
		* @type {number | undefined}
		*/
		#cacheByDefault;
		/**
		* @type {import('../../types/cache-interceptor.d.ts').default.CacheStore}
		*/
		#store;
		/**
		* @type {import('../../types/dispatcher.d.ts').default.DispatchHandler}
		*/
		#handler;
		/**
		* @type {import('node:stream').Writable | undefined}
		*/
		#writeStream;
		/**
		* @param {import('../../types/cache-interceptor.d.ts').default.CacheHandlerOptions} opts
		* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} cacheKey
		* @param {import('../../types/dispatcher.d.ts').default.DispatchHandler} handler
		*/
		constructor({ store, type, cacheByDefault }, cacheKey, handler) {
			this.#store = store;
			this.#cacheType = type;
			this.#cacheByDefault = cacheByDefault;
			this.#cacheKey = cacheKey;
			this.#handler = handler;
		}
		onRequestStart(controller, context) {
			this.#writeStream?.destroy();
			this.#writeStream = undefined;
			this.#handler.onRequestStart?.(controller, context);
		}
		onRequestUpgrade(controller, statusCode, headers, socket) {
			this.#handler.onRequestUpgrade?.(controller, statusCode, headers, socket);
		}
		/**
		* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
		* @param {number} statusCode
		* @param {import('../../types/header.d.ts').IncomingHttpHeaders} resHeaders
		* @param {string} statusMessage
		*/
		onResponseStart(controller, statusCode, resHeaders, statusMessage) {
			const downstreamOnHeaders = () => this.#handler.onResponseStart?.(controller, statusCode, resHeaders, statusMessage);
			const handler = this;
			if (!util.safeHTTPMethods.includes(this.#cacheKey.method) && statusCode >= 200 && statusCode <= 399) {
				try {
					this.#store.delete(this.#cacheKey)?.catch?.(noop);
				} catch {}
				return downstreamOnHeaders();
			}
			const cacheControlHeader = resHeaders["cache-control"];
			const heuristicallyCacheable = resHeaders["last-modified"] && HEURISTICALLY_CACHEABLE_STATUS_CODES.includes(statusCode);
			if (!cacheControlHeader && !resHeaders["expires"] && !heuristicallyCacheable && !this.#cacheByDefault) {
				return downstreamOnHeaders();
			}
			const cacheControlDirectives = cacheControlHeader ? parseCacheControlHeader(cacheControlHeader) : {};
			if (!canCacheResponse(this.#cacheType, statusCode, resHeaders, cacheControlDirectives)) {
				return downstreamOnHeaders();
			}
			const now = Date.now();
			const resAge = resHeaders.age ? getAge(resHeaders.age) : undefined;
			if (resAge && resAge >= MAX_RESPONSE_AGE) {
				return downstreamOnHeaders();
			}
			const resDate = typeof resHeaders.date === "string" ? parseHttpDate(resHeaders.date) : undefined;
			const staleAt = determineStaleAt(this.#cacheType, now, resAge, resHeaders, resDate, cacheControlDirectives) ?? this.#cacheByDefault;
			if (staleAt === undefined || resAge && resAge > staleAt) {
				return downstreamOnHeaders();
			}
			const baseTime = resDate ? resDate.getTime() : now;
			const absoluteStaleAt = staleAt + baseTime;
			if (now >= absoluteStaleAt) {
				return downstreamOnHeaders();
			}
			let varyDirectives;
			if (this.#cacheKey.headers && resHeaders.vary) {
				varyDirectives = parseVaryHeader(resHeaders.vary, this.#cacheKey.headers);
				if (!varyDirectives) {
					return downstreamOnHeaders();
				}
			}
			const deleteAt = determineDeleteAt(baseTime, cacheControlDirectives, absoluteStaleAt);
			const strippedHeaders = stripNecessaryHeaders(resHeaders, cacheControlDirectives);
			/**
			* @type {import('../../types/cache-interceptor.d.ts').default.CacheValue}
			*/
			const value = {
				statusCode,
				statusMessage,
				headers: strippedHeaders,
				vary: varyDirectives,
				cacheControlDirectives,
				cachedAt: resAge ? now - resAge : now,
				staleAt: absoluteStaleAt,
				deleteAt
			};
			if (statusCode === 304) {
				/**
				* @type {import('../../types/cache-interceptor.d.ts').default.CacheValue}
				*/
				const cachedValue = this.#store.get(this.#cacheKey);
				if (!cachedValue) {
					return downstreamOnHeaders();
				}
				value.statusCode = cachedValue.statusCode;
				value.statusMessage = cachedValue.statusMessage;
				value.etag = cachedValue.etag;
				value.headers = {
					...cachedValue.headers,
					...strippedHeaders
				};
				downstreamOnHeaders();
				this.#writeStream = this.#store.createWriteStream(this.#cacheKey, value);
				if (!this.#writeStream || !cachedValue?.body) {
					return;
				}
				const bodyIterator = cachedValue.body.values();
				const streamCachedBody = () => {
					for (const chunk of bodyIterator) {
						const full = this.#writeStream.write(chunk) === false;
						this.#handler.onResponseData?.(controller, chunk);
						if (full) {
							break;
						}
					}
				};
				this.#writeStream.on("error", function() {
					handler.#writeStream = undefined;
					handler.#store.delete(handler.#cacheKey);
				}).on("drain", () => {
					streamCachedBody();
				}).on("close", function() {
					if (handler.#writeStream === this) {
						handler.#writeStream = undefined;
					}
				});
				streamCachedBody();
			} else {
				if (typeof resHeaders.etag === "string" && isEtagUsable(resHeaders.etag)) {
					value.etag = resHeaders.etag;
				}
				this.#writeStream = this.#store.createWriteStream(this.#cacheKey, value);
				if (!this.#writeStream) {
					return downstreamOnHeaders();
				}
				this.#writeStream.on("drain", () => controller.resume()).on("error", function() {
					handler.#writeStream = undefined;
					handler.#store.delete(handler.#cacheKey);
				}).on("close", function() {
					if (handler.#writeStream === this) {
						handler.#writeStream = undefined;
					}
					controller.resume();
				});
				downstreamOnHeaders();
			}
		}
		onResponseData(controller, chunk) {
			if (this.#writeStream?.write(chunk) === false) {
				controller.pause();
			}
			this.#handler.onResponseData?.(controller, chunk);
		}
		onResponseEnd(controller, trailers) {
			this.#writeStream?.end();
			this.#handler.onResponseEnd?.(controller, trailers);
		}
		onResponseError(controller, err) {
			this.#writeStream?.destroy(err);
			this.#writeStream = undefined;
			this.#handler.onResponseError?.(controller, err);
		}
	};
	/**
	* @see https://www.rfc-editor.org/rfc/rfc9111.html#name-storing-responses-to-authen
	*
	* @param {import('../../types/cache-interceptor.d.ts').default.CacheOptions['type']} cacheType
	* @param {number} statusCode
	* @param {import('../../types/header.d.ts').IncomingHttpHeaders} resHeaders
	* @param {import('../../types/cache-interceptor.d.ts').default.CacheControlDirectives} cacheControlDirectives
	*/
	function canCacheResponse(cacheType, statusCode, resHeaders, cacheControlDirectives) {
		if (statusCode < 200 || NOT_UNDERSTOOD_STATUS_CODES.includes(statusCode)) {
			return false;
		}
		if (!HEURISTICALLY_CACHEABLE_STATUS_CODES.includes(statusCode) && !resHeaders["expires"] && !cacheControlDirectives.public && cacheControlDirectives["max-age"] === undefined && !(cacheControlDirectives.private && cacheType === "private") && !(cacheControlDirectives["s-maxage"] !== undefined && cacheType === "shared")) {
			return false;
		}
		if (cacheControlDirectives["no-store"]) {
			return false;
		}
		if (cacheType === "shared" && cacheControlDirectives.private === true) {
			return false;
		}
		if (resHeaders.vary?.includes("*")) {
			return false;
		}
		if (resHeaders.authorization) {
			if (!cacheControlDirectives.public || typeof resHeaders.authorization !== "string") {
				return false;
			}
			if (Array.isArray(cacheControlDirectives["no-cache"]) && cacheControlDirectives["no-cache"].includes("authorization")) {
				return false;
			}
			if (Array.isArray(cacheControlDirectives["private"]) && cacheControlDirectives["private"].includes("authorization")) {
				return false;
			}
		}
		return true;
	}
	/**
	* @param {string | string[]} ageHeader
	* @returns {number | undefined}
	*/
	function getAge(ageHeader) {
		const age = parseInt(Array.isArray(ageHeader) ? ageHeader[0] : ageHeader);
		return isNaN(age) ? undefined : age * 1e3;
	}
	/**
	* @param {import('../../types/cache-interceptor.d.ts').default.CacheOptions['type']} cacheType
	* @param {number} now
	* @param {number | undefined} age
	* @param {import('../../types/header.d.ts').IncomingHttpHeaders} resHeaders
	* @param {Date | undefined} responseDate
	* @param {import('../../types/cache-interceptor.d.ts').default.CacheControlDirectives} cacheControlDirectives
	*
	* @returns {number | undefined} time that the value is stale at in seconds or undefined if it shouldn't be cached
	*/
	function determineStaleAt(cacheType, now, age, resHeaders, responseDate, cacheControlDirectives) {
		if (cacheType === "shared") {
			const sMaxAge = cacheControlDirectives["s-maxage"];
			if (sMaxAge !== undefined) {
				return sMaxAge > 0 ? sMaxAge * 1e3 : undefined;
			}
		}
		const maxAge = cacheControlDirectives["max-age"];
		if (maxAge !== undefined) {
			return maxAge > 0 ? maxAge * 1e3 : undefined;
		}
		if (typeof resHeaders.expires === "string") {
			const expiresDate = parseHttpDate(resHeaders.expires);
			if (expiresDate) {
				if (now >= expiresDate.getTime()) {
					return undefined;
				}
				if (responseDate) {
					if (responseDate >= expiresDate) {
						return undefined;
					}
					if (age !== undefined && age > expiresDate - responseDate) {
						return undefined;
					}
				}
				return expiresDate.getTime() - now;
			}
		}
		if (typeof resHeaders["last-modified"] === "string") {
			const lastModified = new Date(resHeaders["last-modified"]);
			if (isValidDate(lastModified)) {
				if (lastModified.getTime() >= now) {
					return undefined;
				}
				const responseAge = now - lastModified.getTime();
				return responseAge * .1;
			}
		}
		if (cacheControlDirectives.immutable) {
			return 31536e3;
		}
		return undefined;
	}
	/**
	* @param {number} now
	* @param {import('../../types/cache-interceptor.d.ts').default.CacheControlDirectives} cacheControlDirectives
	* @param {number} staleAt
	*/
	function determineDeleteAt(now, cacheControlDirectives, staleAt) {
		let staleWhileRevalidate = -Infinity;
		let staleIfError = -Infinity;
		let immutable = -Infinity;
		if (cacheControlDirectives["stale-while-revalidate"]) {
			staleWhileRevalidate = staleAt + cacheControlDirectives["stale-while-revalidate"] * 1e3;
		}
		if (cacheControlDirectives["stale-if-error"]) {
			staleIfError = staleAt + cacheControlDirectives["stale-if-error"] * 1e3;
		}
		if (staleWhileRevalidate === -Infinity && staleIfError === -Infinity) {
			immutable = now + 31536e6;
		}
		return Math.max(staleAt, staleWhileRevalidate, staleIfError, immutable);
	}
	/**
	* Strips headers required to be removed in cached responses
	* @param {import('../../types/header.d.ts').IncomingHttpHeaders} resHeaders
	* @param {import('../../types/cache-interceptor.d.ts').default.CacheControlDirectives} cacheControlDirectives
	* @returns {Record<string, string | string []>}
	*/
	function stripNecessaryHeaders(resHeaders, cacheControlDirectives) {
		const headersToRemove = [
			"connection",
			"proxy-authenticate",
			"proxy-authentication-info",
			"proxy-authorization",
			"proxy-connection",
			"te",
			"transfer-encoding",
			"upgrade",
			"age"
		];
		if (resHeaders["connection"]) {
			if (Array.isArray(resHeaders["connection"])) {
				headersToRemove.push(...resHeaders["connection"].map((header) => header.trim()));
			} else {
				headersToRemove.push(...resHeaders["connection"].split(",").map((header) => header.trim()));
			}
		}
		if (Array.isArray(cacheControlDirectives["no-cache"])) {
			headersToRemove.push(...cacheControlDirectives["no-cache"]);
		}
		if (Array.isArray(cacheControlDirectives["private"])) {
			headersToRemove.push(...cacheControlDirectives["private"]);
		}
		let strippedHeaders;
		for (const headerName of headersToRemove) {
			if (resHeaders[headerName]) {
				strippedHeaders ??= { ...resHeaders };
				delete strippedHeaders[headerName];
			}
		}
		return strippedHeaders ?? resHeaders;
	}
	/**
	* @param {Date} date
	* @returns {boolean}
	*/
	function isValidDate(date) {
		return date instanceof Date && Number.isFinite(date.valueOf());
	}
	module.exports = CacheHandler;
}));

//#endregion
//#region ../node_modules/undici/lib/cache/memory-cache-store.js
var require_memory_cache_store = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { Writable: Writable$4 } = __require("node:stream");
	const { EventEmitter: EventEmitter$2 } = __require("node:events");
	const { assertCacheKey, assertCacheValue } = require_cache$2();
	/**
	* @typedef {import('../../types/cache-interceptor.d.ts').default.CacheKey} CacheKey
	* @typedef {import('../../types/cache-interceptor.d.ts').default.CacheValue} CacheValue
	* @typedef {import('../../types/cache-interceptor.d.ts').default.CacheStore} CacheStore
	* @typedef {import('../../types/cache-interceptor.d.ts').default.GetResult} GetResult
	*/
	/**
	* @implements {CacheStore}
	* @extends {EventEmitter}
	*/
	var MemoryCacheStore = class extends EventEmitter$2 {
		#maxCount = 1024;
		#maxSize = 104857600;
		#maxEntrySize = 5242880;
		#size = 0;
		#count = 0;
		#entries = new Map();
		#hasEmittedMaxSizeEvent = false;
		/**
		* @param {import('../../types/cache-interceptor.d.ts').default.MemoryCacheStoreOpts | undefined} [opts]
		*/
		constructor(opts) {
			super();
			if (opts) {
				if (typeof opts !== "object") {
					throw new TypeError("MemoryCacheStore options must be an object");
				}
				if (opts.maxCount !== undefined) {
					if (typeof opts.maxCount !== "number" || !Number.isInteger(opts.maxCount) || opts.maxCount < 0) {
						throw new TypeError("MemoryCacheStore options.maxCount must be a non-negative integer");
					}
					this.#maxCount = opts.maxCount;
				}
				if (opts.maxSize !== undefined) {
					if (typeof opts.maxSize !== "number" || !Number.isInteger(opts.maxSize) || opts.maxSize < 0) {
						throw new TypeError("MemoryCacheStore options.maxSize must be a non-negative integer");
					}
					this.#maxSize = opts.maxSize;
				}
				if (opts.maxEntrySize !== undefined) {
					if (typeof opts.maxEntrySize !== "number" || !Number.isInteger(opts.maxEntrySize) || opts.maxEntrySize < 0) {
						throw new TypeError("MemoryCacheStore options.maxEntrySize must be a non-negative integer");
					}
					this.#maxEntrySize = opts.maxEntrySize;
				}
			}
		}
		/**
		* Get the current size of the cache in bytes
		* @returns {number} The current size of the cache in bytes
		*/
		get size() {
			return this.#size;
		}
		/**
		* Check if the cache is full (either max size or max count reached)
		* @returns {boolean} True if the cache is full, false otherwise
		*/
		isFull() {
			return this.#size >= this.#maxSize || this.#count >= this.#maxCount;
		}
		/**
		* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} req
		* @returns {import('../../types/cache-interceptor.d.ts').default.GetResult | undefined}
		*/
		get(key) {
			assertCacheKey(key);
			const topLevelKey = `${key.origin}:${key.path}`;
			const now = Date.now();
			const entries = this.#entries.get(topLevelKey);
			const entry = entries ? findEntry(key, entries, now) : null;
			return entry == null ? undefined : {
				statusMessage: entry.statusMessage,
				statusCode: entry.statusCode,
				headers: entry.headers,
				body: entry.body,
				vary: entry.vary ? entry.vary : undefined,
				etag: entry.etag,
				cacheControlDirectives: entry.cacheControlDirectives,
				cachedAt: entry.cachedAt,
				staleAt: entry.staleAt,
				deleteAt: entry.deleteAt
			};
		}
		/**
		* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} key
		* @param {import('../../types/cache-interceptor.d.ts').default.CacheValue} val
		* @returns {Writable | undefined}
		*/
		createWriteStream(key, val) {
			assertCacheKey(key);
			assertCacheValue(val);
			const topLevelKey = `${key.origin}:${key.path}`;
			const store = this;
			const entry = {
				...key,
				...val,
				body: [],
				size: 0
			};
			return new Writable$4({
				write(chunk, encoding, callback) {
					if (typeof chunk === "string") {
						chunk = Buffer.from(chunk, encoding);
					}
					entry.size += chunk.byteLength;
					if (entry.size >= store.#maxEntrySize) {
						this.destroy();
					} else {
						entry.body.push(chunk);
					}
					callback(null);
				},
				final(callback) {
					let entries = store.#entries.get(topLevelKey);
					if (!entries) {
						entries = [];
						store.#entries.set(topLevelKey, entries);
					}
					const previousEntry = findEntry(key, entries, Date.now());
					if (previousEntry) {
						const index = entries.indexOf(previousEntry);
						entries.splice(index, 1, entry);
						store.#size -= previousEntry.size;
					} else {
						entries.push(entry);
						store.#count += 1;
					}
					store.#size += entry.size;
					if (store.#size > store.#maxSize || store.#count > store.#maxCount) {
						if (!store.#hasEmittedMaxSizeEvent) {
							store.emit("maxSizeExceeded", {
								size: store.#size,
								maxSize: store.#maxSize,
								count: store.#count,
								maxCount: store.#maxCount
							});
							store.#hasEmittedMaxSizeEvent = true;
						}
						for (const [key, entries] of store.#entries) {
							for (const entry of entries.splice(0, entries.length / 2)) {
								store.#size -= entry.size;
								store.#count -= 1;
							}
							if (entries.length === 0) {
								store.#entries.delete(key);
							}
						}
						if (store.#size < store.#maxSize && store.#count < store.#maxCount) {
							store.#hasEmittedMaxSizeEvent = false;
						}
					}
					callback(null);
				}
			});
		}
		/**
		* @param {CacheKey} key
		*/
		delete(key) {
			if (typeof key !== "object") {
				throw new TypeError(`expected key to be object, got ${typeof key}`);
			}
			const topLevelKey = `${key.origin}:${key.path}`;
			for (const entry of this.#entries.get(topLevelKey) ?? []) {
				this.#size -= entry.size;
				this.#count -= 1;
			}
			this.#entries.delete(topLevelKey);
		}
	};
	function findEntry(key, entries, now) {
		return entries.find((entry) => entry.deleteAt > now && entry.method === key.method && (entry.vary == null || Object.keys(entry.vary).every((headerName) => {
			if (entry.vary[headerName] === null) {
				return key.headers[headerName] === undefined;
			}
			return entry.vary[headerName] === key.headers[headerName];
		})));
	}
	module.exports = MemoryCacheStore;
}));

//#endregion
//#region ../node_modules/undici/lib/handler/cache-revalidation-handler.js
var require_cache_revalidation_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const assert$13 = __require("node:assert");
	/**
	* This takes care of revalidation requests we send to the origin. If we get
	*  a response indicating that what we have is cached (via a HTTP 304), we can
	*  continue using the cached value. Otherwise, we'll receive the new response
	*  here, which we then just pass on to the next handler (most likely a
	*  CacheHandler). Note that this assumes the proper headers were already
	*  included in the request to tell the origin that we want to revalidate the
	*  response (i.e. if-modified-since or if-none-match).
	*
	* @see https://www.rfc-editor.org/rfc/rfc9111.html#name-validation
	*
	* @implements {import('../../types/dispatcher.d.ts').default.DispatchHandler}
	*/
	var CacheRevalidationHandler = class {
		#successful = false;
		/**
		* @type {((boolean, any) => void) | null}
		*/
		#callback;
		/**
		* @type {(import('../../types/dispatcher.d.ts').default.DispatchHandler)}
		*/
		#handler;
		#context;
		/**
		* @type {boolean}
		*/
		#allowErrorStatusCodes;
		/**
		* @param {(boolean) => void} callback Function to call if the cached value is valid
		* @param {import('../../types/dispatcher.d.ts').default.DispatchHandlers} handler
		* @param {boolean} allowErrorStatusCodes
		*/
		constructor(callback, handler, allowErrorStatusCodes) {
			if (typeof callback !== "function") {
				throw new TypeError("callback must be a function");
			}
			this.#callback = callback;
			this.#handler = handler;
			this.#allowErrorStatusCodes = allowErrorStatusCodes;
		}
		onRequestStart(_, context) {
			this.#successful = false;
			this.#context = context;
		}
		onRequestUpgrade(controller, statusCode, headers, socket) {
			this.#handler.onRequestUpgrade?.(controller, statusCode, headers, socket);
		}
		onResponseStart(controller, statusCode, headers, statusMessage) {
			assert$13(this.#callback != null);
			this.#successful = statusCode === 304 || this.#allowErrorStatusCodes && statusCode >= 500 && statusCode <= 504;
			this.#callback(this.#successful, this.#context);
			this.#callback = null;
			if (this.#successful) {
				return true;
			}
			this.#handler.onRequestStart?.(controller, this.#context);
			this.#handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
		}
		onResponseData(controller, chunk) {
			if (this.#successful) {
				return;
			}
			return this.#handler.onResponseData?.(controller, chunk);
		}
		onResponseEnd(controller, trailers) {
			if (this.#successful) {
				return;
			}
			this.#handler.onResponseEnd?.(controller, trailers);
		}
		onResponseError(controller, err) {
			if (this.#successful) {
				return;
			}
			if (this.#callback) {
				this.#callback(false);
				this.#callback = null;
			}
			if (typeof this.#handler.onResponseError === "function") {
				this.#handler.onResponseError(controller, err);
			} else {
				throw err;
			}
		}
	};
	module.exports = CacheRevalidationHandler;
}));

//#endregion
//#region ../node_modules/undici/lib/interceptor/cache.js
var require_cache$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const assert$12 = __require("node:assert");
	const { Readable: Readable$2 } = __require("node:stream");
	const util = require_util$5();
	const CacheHandler = require_cache_handler();
	const MemoryCacheStore = require_memory_cache_store();
	const CacheRevalidationHandler = require_cache_revalidation_handler();
	const { assertCacheStore, assertCacheMethods, makeCacheKey, normalizeHeaders, parseCacheControlHeader } = require_cache$2();
	const { AbortError } = require_errors();
	/**
	* @param {(string | RegExp)[] | undefined} origins
	* @param {string} name
	*/
	function assertCacheOrigins(origins, name) {
		if (origins === undefined) return;
		if (!Array.isArray(origins)) {
			throw new TypeError(`expected ${name} to be an array or undefined, got ${typeof origins}`);
		}
		for (let i = 0; i < origins.length; i++) {
			const origin = origins[i];
			if (typeof origin !== "string" && !(origin instanceof RegExp)) {
				throw new TypeError(`expected ${name}[${i}] to be a string or RegExp, got ${typeof origin}`);
			}
		}
	}
	const nop = () => {};
	/**
	* @typedef {(options: import('../../types/dispatcher.d.ts').default.DispatchOptions, handler: import('../../types/dispatcher.d.ts').default.DispatchHandler) => void} DispatchFn
	*/
	/**
	* @param {import('../../types/cache-interceptor.d.ts').default.GetResult} result
	* @param {import('../../types/cache-interceptor.d.ts').default.CacheControlDirectives | undefined} cacheControlDirectives
	* @param {import('../../types/dispatcher.d.ts').default.RequestOptions} opts
	* @returns {boolean}
	*/
	function needsRevalidation(result, cacheControlDirectives, { headers = {} }) {
		if (cacheControlDirectives?.["no-cache"]) {
			return true;
		}
		if (result.cacheControlDirectives?.["no-cache"] && !Array.isArray(result.cacheControlDirectives["no-cache"])) {
			return true;
		}
		if (headers["if-modified-since"] || headers["if-none-match"]) {
			return true;
		}
		return false;
	}
	/**
	* @param {import('../../types/cache-interceptor.d.ts').default.GetResult} result
	* @param {import('../../types/cache-interceptor.d.ts').default.CacheControlDirectives | undefined} cacheControlDirectives
	* @returns {boolean}
	*/
	function isStale(result, cacheControlDirectives) {
		const now = Date.now();
		if (now > result.staleAt) {
			if (cacheControlDirectives?.["max-stale"]) {
				const gracePeriod = result.staleAt + cacheControlDirectives["max-stale"] * 1e3;
				return now > gracePeriod;
			}
			return true;
		}
		if (cacheControlDirectives?.["min-fresh"]) {
			const timeLeftTillStale = result.staleAt - now;
			const threshold = cacheControlDirectives["min-fresh"] * 1e3;
			return timeLeftTillStale <= threshold;
		}
		return false;
	}
	/**
	* Check if we're within the stale-while-revalidate window for a stale response
	* @param {import('../../types/cache-interceptor.d.ts').default.GetResult} result
	* @returns {boolean}
	*/
	function withinStaleWhileRevalidateWindow(result) {
		const staleWhileRevalidate = result.cacheControlDirectives?.["stale-while-revalidate"];
		if (!staleWhileRevalidate) {
			return false;
		}
		const now = Date.now();
		const staleWhileRevalidateExpiry = result.staleAt + staleWhileRevalidate * 1e3;
		return now <= staleWhileRevalidateExpiry;
	}
	/**
	* @param {DispatchFn} dispatch
	* @param {import('../../types/cache-interceptor.d.ts').default.CacheHandlerOptions} globalOpts
	* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} cacheKey
	* @param {import('../../types/dispatcher.d.ts').default.DispatchHandler} handler
	* @param {import('../../types/dispatcher.d.ts').default.RequestOptions} opts
	* @param {import('../../types/cache-interceptor.d.ts').default.CacheControlDirectives | undefined} reqCacheControl
	*/
	function handleUncachedResponse(dispatch, globalOpts, cacheKey, handler, opts, reqCacheControl) {
		if (reqCacheControl?.["only-if-cached"]) {
			let aborted = false;
			try {
				if (typeof handler.onConnect === "function") {
					handler.onConnect(() => {
						aborted = true;
					});
					if (aborted) {
						return;
					}
				}
				if (typeof handler.onHeaders === "function") {
					handler.onHeaders(504, [], nop, "Gateway Timeout");
					if (aborted) {
						return;
					}
				}
				if (typeof handler.onComplete === "function") {
					handler.onComplete([]);
				}
			} catch (err) {
				if (typeof handler.onError === "function") {
					handler.onError(err);
				}
			}
			return true;
		}
		return dispatch(opts, new CacheHandler(globalOpts, cacheKey, handler));
	}
	/**
	* @param {import('../../types/dispatcher.d.ts').default.DispatchHandler} handler
	* @param {import('../../types/dispatcher.d.ts').default.RequestOptions} opts
	* @param {import('../../types/cache-interceptor.d.ts').default.GetResult} result
	* @param {number} age
	* @param {any} context
	* @param {boolean} isStale
	*/
	function sendCachedValue(handler, opts, result, age, context, isStale) {
		const stream = util.isStream(result.body) ? result.body : Readable$2.from(result.body ?? []);
		assert$12(!stream.destroyed, "stream should not be destroyed");
		assert$12(!stream.readableDidRead, "stream should not be readableDidRead");
		const controller = {
			resume() {
				stream.resume();
			},
			pause() {
				stream.pause();
			},
			get paused() {
				return stream.isPaused();
			},
			get aborted() {
				return stream.destroyed;
			},
			get reason() {
				return stream.errored;
			},
			abort(reason) {
				stream.destroy(reason ?? new AbortError());
			}
		};
		stream.on("error", function(err) {
			if (!this.readableEnded) {
				if (typeof handler.onResponseError === "function") {
					handler.onResponseError(controller, err);
				} else {
					throw err;
				}
			}
		}).on("close", function() {
			if (!this.errored) {
				handler.onResponseEnd?.(controller, {});
			}
		});
		handler.onRequestStart?.(controller, context);
		if (stream.destroyed) {
			return;
		}
		const headers = {
			...result.headers,
			age: String(age)
		};
		if (isStale) {
			headers.warning = "110 - \"response is stale\"";
		}
		handler.onResponseStart?.(controller, result.statusCode, headers, result.statusMessage);
		if (opts.method === "HEAD") {
			stream.destroy();
		} else {
			stream.on("data", function(chunk) {
				handler.onResponseData?.(controller, chunk);
			});
		}
	}
	/**
	* @param {DispatchFn} dispatch
	* @param {import('../../types/cache-interceptor.d.ts').default.CacheHandlerOptions} globalOpts
	* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} cacheKey
	* @param {import('../../types/dispatcher.d.ts').default.DispatchHandler} handler
	* @param {import('../../types/dispatcher.d.ts').default.RequestOptions} opts
	* @param {import('../../types/cache-interceptor.d.ts').default.CacheControlDirectives | undefined} reqCacheControl
	* @param {import('../../types/cache-interceptor.d.ts').default.GetResult | undefined} result
	*/
	function handleResult(dispatch, globalOpts, cacheKey, handler, opts, reqCacheControl, result) {
		if (!result) {
			return handleUncachedResponse(dispatch, globalOpts, cacheKey, handler, opts, reqCacheControl);
		}
		const now = Date.now();
		if (now > result.deleteAt) {
			return dispatch(opts, new CacheHandler(globalOpts, cacheKey, handler));
		}
		const age = Math.round((now - result.cachedAt) / 1e3);
		if (reqCacheControl?.["max-age"] && age >= reqCacheControl["max-age"]) {
			return dispatch(opts, handler);
		}
		const stale = isStale(result, reqCacheControl);
		const revalidate = needsRevalidation(result, reqCacheControl, opts);
		if (stale || revalidate) {
			if (util.isStream(opts.body) && util.bodyLength(opts.body) !== 0) {
				return dispatch(opts, new CacheHandler(globalOpts, cacheKey, handler));
			}
			if (!revalidate && withinStaleWhileRevalidateWindow(result)) {
				sendCachedValue(handler, opts, result, age, null, true);
				queueMicrotask(() => {
					let headers = {
						...opts.headers,
						"if-modified-since": new Date(result.cachedAt).toUTCString()
					};
					if (result.etag) {
						headers["if-none-match"] = result.etag;
					}
					if (result.vary) {
						headers = {
							...headers,
							...result.vary
						};
					}
					dispatch({
						...opts,
						headers
					}, new CacheHandler(globalOpts, cacheKey, {
						onRequestStart() {},
						onRequestUpgrade() {},
						onResponseStart() {},
						onResponseData() {},
						onResponseEnd() {},
						onResponseError() {}
					}));
				});
				return true;
			}
			let withinStaleIfErrorThreshold = false;
			const staleIfErrorExpiry = result.cacheControlDirectives["stale-if-error"] ?? reqCacheControl?.["stale-if-error"];
			if (staleIfErrorExpiry) {
				withinStaleIfErrorThreshold = now < result.staleAt + staleIfErrorExpiry * 1e3;
			}
			let headers = {
				...opts.headers,
				"if-modified-since": new Date(result.cachedAt).toUTCString()
			};
			if (result.etag) {
				headers["if-none-match"] = result.etag;
			}
			if (result.vary) {
				headers = {
					...headers,
					...result.vary
				};
			}
			return dispatch({
				...opts,
				headers
			}, new CacheRevalidationHandler((success, context) => {
				if (success) {
					sendCachedValue(handler, opts, result, age, context, stale);
				} else if (util.isStream(result.body)) {
					result.body.on("error", nop).destroy();
				}
			}, new CacheHandler(globalOpts, cacheKey, handler), withinStaleIfErrorThreshold));
		}
		if (util.isStream(opts.body)) {
			opts.body.on("error", nop).destroy();
		}
		sendCachedValue(handler, opts, result, age, null, false);
	}
	/**
	* @param {import('../../types/cache-interceptor.d.ts').default.CacheOptions} [opts]
	* @returns {import('../../types/dispatcher.d.ts').default.DispatcherComposeInterceptor}
	*/
	module.exports = (opts = {}) => {
		const { store = new MemoryCacheStore(), methods = ["GET"], cacheByDefault = undefined, type = "shared", origins = undefined } = opts;
		if (typeof opts !== "object" || opts === null) {
			throw new TypeError(`expected type of opts to be an Object, got ${opts === null ? "null" : typeof opts}`);
		}
		assertCacheStore(store, "opts.store");
		assertCacheMethods(methods, "opts.methods");
		assertCacheOrigins(origins, "opts.origins");
		if (typeof cacheByDefault !== "undefined" && typeof cacheByDefault !== "number") {
			throw new TypeError(`expected opts.cacheByDefault to be number or undefined, got ${typeof cacheByDefault}`);
		}
		if (typeof type !== "undefined" && type !== "shared" && type !== "private") {
			throw new TypeError(`expected opts.type to be shared, private, or undefined, got ${typeof type}`);
		}
		const globalOpts = {
			store,
			methods,
			cacheByDefault,
			type
		};
		const safeMethodsToNotCache = util.safeHTTPMethods.filter((method) => methods.includes(method) === false);
		return (dispatch) => {
			return (opts, handler) => {
				if (!opts.origin || safeMethodsToNotCache.includes(opts.method)) {
					return dispatch(opts, handler);
				}
				if (origins !== undefined) {
					const requestOrigin = opts.origin.toString().toLowerCase();
					let isAllowed = false;
					for (let i = 0; i < origins.length; i++) {
						const allowed = origins[i];
						if (typeof allowed === "string") {
							if (allowed.toLowerCase() === requestOrigin) {
								isAllowed = true;
								break;
							}
						} else if (allowed.test(requestOrigin)) {
							isAllowed = true;
							break;
						}
					}
					if (!isAllowed) {
						return dispatch(opts, handler);
					}
				}
				opts = {
					...opts,
					headers: normalizeHeaders(opts)
				};
				const reqCacheControl = opts.headers?.["cache-control"] ? parseCacheControlHeader(opts.headers["cache-control"]) : undefined;
				if (reqCacheControl?.["no-store"]) {
					return dispatch(opts, handler);
				}
				/**
				* @type {import('../../types/cache-interceptor.d.ts').default.CacheKey}
				*/
				const cacheKey = makeCacheKey(opts);
				const result = store.get(cacheKey);
				if (result && typeof result.then === "function") {
					return result.then((result) => handleResult(dispatch, globalOpts, cacheKey, handler, opts, reqCacheControl, result));
				} else {
					return handleResult(dispatch, globalOpts, cacheKey, handler, opts, reqCacheControl, result);
				}
			};
		};
	};
}));

//#endregion
//#region ../node_modules/undici/lib/interceptor/decompress.js
var require_decompress = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { createInflate, createGunzip, createBrotliDecompress, createZstdDecompress } = __require("node:zlib");
	const { pipeline: pipeline$3 } = __require("node:stream");
	const DecoratorHandler = require_decorator_handler();
	const { runtimeFeatures } = require_runtime_features();
	/** @typedef {import('node:stream').Transform} Transform */
	/** @typedef {import('node:stream').Transform} Controller */
	/** @typedef {Transform&import('node:zlib').Zlib} DecompressorStream */
	/** @type {Record<string, () => DecompressorStream>} */
	const supportedEncodings = {
		gzip: createGunzip,
		"x-gzip": createGunzip,
		br: createBrotliDecompress,
		deflate: createInflate,
		compress: createInflate,
		"x-compress": createInflate,
		...runtimeFeatures.has("zstd") ? { zstd: createZstdDecompress } : {}
	};
	const defaultSkipStatusCodes = [204, 304];
	let warningEmitted = false;
	/**
	* @typedef {Object} DecompressHandlerOptions
	* @property {number[]|Readonly<number[]>} [skipStatusCodes=[204, 304]] - List of status codes to skip decompression for
	* @property {boolean} [skipErrorResponses] - Whether to skip decompression for error responses (status codes >= 400)
	*/
	var DecompressHandler = class extends DecoratorHandler {
		/** @type {Transform[]} */
		#decompressors = [];
		/** @type {Readonly<number[]>} */
		#skipStatusCodes;
		/** @type {boolean} */
		#skipErrorResponses;
		constructor(handler, { skipStatusCodes = defaultSkipStatusCodes, skipErrorResponses = true } = {}) {
			super(handler);
			this.#skipStatusCodes = skipStatusCodes;
			this.#skipErrorResponses = skipErrorResponses;
		}
		/**
		* Determines if decompression should be skipped based on encoding and status code
		* @param {string} contentEncoding - Content-Encoding header value
		* @param {number} statusCode - HTTP status code of the response
		* @returns {boolean} - True if decompression should be skipped
		*/
		#shouldSkipDecompression(contentEncoding, statusCode) {
			if (!contentEncoding || statusCode < 200) return true;
			if (this.#skipStatusCodes.includes(statusCode)) return true;
			if (this.#skipErrorResponses && statusCode >= 400) return true;
			return false;
		}
		/**
		* Creates a chain of decompressors for multiple content encodings
		*
		* @param {string} encodings - Comma-separated list of content encodings
		* @returns {Array<DecompressorStream>} - Array of decompressor streams
		* @throws {Error} - If the number of content-encodings exceeds the maximum allowed
		*/
		#createDecompressionChain(encodings) {
			const parts = encodings.split(",");
			const maxContentEncodings = 5;
			if (parts.length > maxContentEncodings) {
				throw new Error(`too many content-encodings in response: ${parts.length}, maximum allowed is ${maxContentEncodings}`);
			}
			/** @type {DecompressorStream[]} */
			const decompressors = [];
			for (let i = parts.length - 1; i >= 0; i--) {
				const encoding = parts[i].trim();
				if (!encoding) continue;
				if (!supportedEncodings[encoding]) {
					decompressors.length = 0;
					return decompressors;
				}
				decompressors.push(supportedEncodings[encoding]());
			}
			return decompressors;
		}
		/**
		* Sets up event handlers for a decompressor stream using readable events
		* @param {DecompressorStream} decompressor - The decompressor stream
		* @param {Controller} controller - The controller to coordinate with
		* @returns {void}
		*/
		#setupDecompressorEvents(decompressor, controller) {
			decompressor.on("readable", () => {
				let chunk;
				while ((chunk = decompressor.read()) !== null) {
					const result = super.onResponseData(controller, chunk);
					if (result === false) {
						break;
					}
				}
			});
			decompressor.on("error", (error) => {
				super.onResponseError(controller, error);
			});
		}
		/**
		* Sets up event handling for a single decompressor
		* @param {Controller} controller - The controller to handle events
		* @returns {void}
		*/
		#setupSingleDecompressor(controller) {
			const decompressor = this.#decompressors[0];
			this.#setupDecompressorEvents(decompressor, controller);
			decompressor.on("end", () => {
				super.onResponseEnd(controller, {});
			});
		}
		/**
		* Sets up event handling for multiple chained decompressors using pipeline
		* @param {Controller} controller - The controller to handle events
		* @returns {void}
		*/
		#setupMultipleDecompressors(controller) {
			const lastDecompressor = this.#decompressors[this.#decompressors.length - 1];
			this.#setupDecompressorEvents(lastDecompressor, controller);
			pipeline$3(this.#decompressors, (err) => {
				if (err) {
					super.onResponseError(controller, err);
					return;
				}
				super.onResponseEnd(controller, {});
			});
		}
		/**
		* Cleans up decompressor references to prevent memory leaks
		* @returns {void}
		*/
		#cleanupDecompressors() {
			this.#decompressors.length = 0;
		}
		/**
		* @param {Controller} controller
		* @param {number} statusCode
		* @param {Record<string, string | string[] | undefined>} headers
		* @param {string} statusMessage
		* @returns {void}
		*/
		onResponseStart(controller, statusCode, headers, statusMessage) {
			const contentEncoding = headers["content-encoding"];
			if (this.#shouldSkipDecompression(contentEncoding, statusCode)) {
				return super.onResponseStart(controller, statusCode, headers, statusMessage);
			}
			const decompressors = this.#createDecompressionChain(contentEncoding.toLowerCase());
			if (decompressors.length === 0) {
				this.#cleanupDecompressors();
				return super.onResponseStart(controller, statusCode, headers, statusMessage);
			}
			this.#decompressors = decompressors;
			const { "content-encoding": _, "content-length": __, ...newHeaders } = headers;
			if (this.#decompressors.length === 1) {
				this.#setupSingleDecompressor(controller);
			} else {
				this.#setupMultipleDecompressors(controller);
			}
			return super.onResponseStart(controller, statusCode, newHeaders, statusMessage);
		}
		/**
		* @param {Controller} controller
		* @param {Buffer} chunk
		* @returns {void}
		*/
		onResponseData(controller, chunk) {
			if (this.#decompressors.length > 0) {
				this.#decompressors[0].write(chunk);
				return;
			}
			super.onResponseData(controller, chunk);
		}
		/**
		* @param {Controller} controller
		* @param {Record<string, string | string[]> | undefined} trailers
		* @returns {void}
		*/
		onResponseEnd(controller, trailers) {
			if (this.#decompressors.length > 0) {
				this.#decompressors[0].end();
				this.#cleanupDecompressors();
				return;
			}
			super.onResponseEnd(controller, trailers);
		}
		/**
		* @param {Controller} controller
		* @param {Error} err
		* @returns {void}
		*/
		onResponseError(controller, err) {
			if (this.#decompressors.length > 0) {
				for (const decompressor of this.#decompressors) {
					decompressor.destroy(err);
				}
				this.#cleanupDecompressors();
			}
			super.onResponseError(controller, err);
		}
	};
	/**
	* Creates a decompression interceptor for HTTP responses
	* @param {DecompressHandlerOptions} [options] - Options for the interceptor
	* @returns {Function} - Interceptor function
	*/
	function createDecompressInterceptor(options = {}) {
		if (!warningEmitted) {
			process.emitWarning("DecompressInterceptor is experimental and subject to change", "ExperimentalWarning");
			warningEmitted = true;
		}
		return (dispatch) => {
			return (opts, handler) => {
				const decompressHandler = new DecompressHandler(handler, options);
				return dispatch(opts, decompressHandler);
			};
		};
	}
	module.exports = createDecompressInterceptor;
}));

//#endregion
//#region ../node_modules/undici/lib/handler/deduplication-handler.js
var require_deduplication_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* @typedef {import('../../types/dispatcher.d.ts').default.DispatchHandler} DispatchHandler
	*/
	/**
	* Handler that buffers response data and notifies multiple waiting handlers.
	* Used for request deduplication.
	*
	* @implements {DispatchHandler}
	*/
	var DeduplicationHandler = class {
		/**
		* @type {DispatchHandler}
		*/
		#primaryHandler;
		/**
		* @type {DispatchHandler[]}
		*/
		#waitingHandlers = [];
		/**
		* @type {Buffer[]}
		*/
		#chunks = [];
		/**
		* @type {number}
		*/
		#statusCode = 0;
		/**
		* @type {Record<string, string | string[]>}
		*/
		#headers = {};
		/**
		* @type {string}
		*/
		#statusMessage = "";
		/**
		* @type {boolean}
		*/
		#aborted = false;
		/**
		* @type {import('../../types/dispatcher.d.ts').default.DispatchController | null}
		*/
		#controller = null;
		/**
		* @type {(() => void) | null}
		*/
		#onComplete = null;
		/**
		* @param {DispatchHandler} primaryHandler The primary handler
		* @param {() => void} onComplete Callback when request completes
		*/
		constructor(primaryHandler, onComplete) {
			this.#primaryHandler = primaryHandler;
			this.#onComplete = onComplete;
		}
		/**
		* Add a waiting handler that will receive the buffered response
		* @param {DispatchHandler} handler
		*/
		addWaitingHandler(handler) {
			this.#waitingHandlers.push(handler);
		}
		/**
		* @param {() => void} abort
		* @param {any} context
		*/
		onRequestStart(controller, context) {
			this.#controller = controller;
			this.#primaryHandler.onRequestStart?.(controller, context);
		}
		/**
		* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
		* @param {number} statusCode
		* @param {import('../../types/header.d.ts').IncomingHttpHeaders} headers
		* @param {Socket} socket
		*/
		onRequestUpgrade(controller, statusCode, headers, socket) {
			this.#primaryHandler.onRequestUpgrade?.(controller, statusCode, headers, socket);
		}
		/**
		* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
		* @param {number} statusCode
		* @param {Record<string, string | string[]>} headers
		* @param {string} statusMessage
		*/
		onResponseStart(controller, statusCode, headers, statusMessage) {
			this.#statusCode = statusCode;
			this.#headers = headers;
			this.#statusMessage = statusMessage;
			this.#primaryHandler.onResponseStart?.(controller, statusCode, headers, statusMessage);
		}
		/**
		* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
		* @param {Buffer} chunk
		*/
		onResponseData(controller, chunk) {
			this.#chunks.push(Buffer.from(chunk));
			this.#primaryHandler.onResponseData?.(controller, chunk);
		}
		/**
		* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
		* @param {object} trailers
		*/
		onResponseEnd(controller, trailers) {
			this.#primaryHandler.onResponseEnd?.(controller, trailers);
			this.#notifyWaitingHandlers();
			this.#onComplete?.();
		}
		/**
		* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
		* @param {Error} err
		*/
		onResponseError(controller, err) {
			this.#aborted = true;
			this.#primaryHandler.onResponseError?.(controller, err);
			this.#notifyWaitingHandlersError(err);
			this.#onComplete?.();
		}
		/**
		* Notify all waiting handlers with the buffered response
		*/
		#notifyWaitingHandlers() {
			const body = Buffer.concat(this.#chunks);
			for (const handler of this.#waitingHandlers) {
				const waitingController = {
					resume() {},
					pause() {},
					get paused() {
						return false;
					},
					get aborted() {
						return false;
					},
					get reason() {
						return null;
					},
					abort() {}
				};
				try {
					handler.onRequestStart?.(waitingController, null);
					if (waitingController.aborted) {
						continue;
					}
					handler.onResponseStart?.(waitingController, this.#statusCode, this.#headers, this.#statusMessage);
					if (waitingController.aborted) {
						continue;
					}
					if (body.length > 0) {
						handler.onResponseData?.(waitingController, body);
					}
					handler.onResponseEnd?.(waitingController, {});
				} catch {}
			}
			this.#waitingHandlers = [];
			this.#chunks = [];
		}
		/**
		* Notify all waiting handlers of an error
		* @param {Error} err
		*/
		#notifyWaitingHandlersError(err) {
			for (const handler of this.#waitingHandlers) {
				const waitingController = {
					resume() {},
					pause() {},
					get paused() {
						return false;
					},
					get aborted() {
						return true;
					},
					get reason() {
						return err;
					},
					abort() {}
				};
				try {
					handler.onRequestStart?.(waitingController, null);
					handler.onResponseError?.(waitingController, err);
				} catch {}
			}
			this.#waitingHandlers = [];
			this.#chunks = [];
		}
	};
	module.exports = DeduplicationHandler;
}));

//#endregion
//#region ../node_modules/undici/lib/interceptor/deduplicate.js
var require_deduplicate = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const diagnosticsChannel$1 = __require("node:diagnostics_channel");
	const util = require_util$5();
	const DeduplicationHandler = require_deduplication_handler();
	const { normalizeHeaders, makeCacheKey, makeDeduplicationKey } = require_cache$2();
	const pendingRequestsChannel = diagnosticsChannel$1.channel("undici:request:pending-requests");
	/**
	* @param {import('../../types/interceptors.d.ts').default.DeduplicateInterceptorOpts} [opts]
	* @returns {import('../../types/dispatcher.d.ts').default.DispatcherComposeInterceptor}
	*/
	module.exports = (opts = {}) => {
		const { methods = ["GET"], skipHeaderNames = [], excludeHeaderNames = [] } = opts;
		if (typeof opts !== "object" || opts === null) {
			throw new TypeError(`expected type of opts to be an Object, got ${opts === null ? "null" : typeof opts}`);
		}
		if (!Array.isArray(methods)) {
			throw new TypeError(`expected opts.methods to be an array, got ${typeof methods}`);
		}
		for (const method of methods) {
			if (!util.safeHTTPMethods.includes(method)) {
				throw new TypeError(`expected opts.methods to only contain safe HTTP methods, got ${method}`);
			}
		}
		if (!Array.isArray(skipHeaderNames)) {
			throw new TypeError(`expected opts.skipHeaderNames to be an array, got ${typeof skipHeaderNames}`);
		}
		if (!Array.isArray(excludeHeaderNames)) {
			throw new TypeError(`expected opts.excludeHeaderNames to be an array, got ${typeof excludeHeaderNames}`);
		}
		const skipHeaderNamesSet = new Set(skipHeaderNames.map((name) => name.toLowerCase()));
		const excludeHeaderNamesSet = new Set(excludeHeaderNames.map((name) => name.toLowerCase()));
		const safeMethodsToNotDeduplicate = util.safeHTTPMethods.filter((method) => methods.includes(method) === false);
		/**
		* Map of pending requests for deduplication
		* @type {Map<string, DeduplicationHandler>}
		*/
		const pendingRequests = new Map();
		return (dispatch) => {
			return (opts, handler) => {
				if (!opts.origin || safeMethodsToNotDeduplicate.includes(opts.method)) {
					return dispatch(opts, handler);
				}
				opts = {
					...opts,
					headers: normalizeHeaders(opts)
				};
				if (skipHeaderNamesSet.size > 0) {
					for (const headerName of Object.keys(opts.headers)) {
						if (skipHeaderNamesSet.has(headerName.toLowerCase())) {
							return dispatch(opts, handler);
						}
					}
				}
				const cacheKey = makeCacheKey(opts);
				const dedupeKey = makeDeduplicationKey(cacheKey, excludeHeaderNamesSet);
				const pendingHandler = pendingRequests.get(dedupeKey);
				if (pendingHandler) {
					pendingHandler.addWaitingHandler(handler);
					return true;
				}
				const deduplicationHandler = new DeduplicationHandler(handler, () => {
					pendingRequests.delete(dedupeKey);
					if (pendingRequestsChannel.hasSubscribers) {
						pendingRequestsChannel.publish({
							size: pendingRequests.size,
							key: dedupeKey,
							type: "removed"
						});
					}
				});
				pendingRequests.set(dedupeKey, deduplicationHandler);
				if (pendingRequestsChannel.hasSubscribers) {
					pendingRequestsChannel.publish({
						size: pendingRequests.size,
						key: dedupeKey,
						type: "added"
					});
				}
				return dispatch(opts, deduplicationHandler);
			};
		};
	};
}));

//#endregion
//#region ../node_modules/undici/lib/cache/sqlite-cache-store.js
var require_sqlite_cache_store = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { Writable: Writable$3 } = __require("node:stream");
	const { assertCacheKey, assertCacheValue } = require_cache$2();
	let DatabaseSync;
	const VERSION = 3;
	const MAX_ENTRY_SIZE = 2 * 1e3 * 1e3 * 1e3;
	/**
	* @typedef {import('../../types/cache-interceptor.d.ts').default.CacheStore} CacheStore
	* @implements {CacheStore}
	*
	* @typedef {{
	*  id: Readonly<number>,
	*  body?: Uint8Array
	*  statusCode: number
	*  statusMessage: string
	*  headers?: string
	*  vary?: string
	*  etag?: string
	*  cacheControlDirectives?: string
	*  cachedAt: number
	*  staleAt: number
	*  deleteAt: number
	* }} SqliteStoreValue
	*/
	module.exports = class SqliteCacheStore {
		#maxEntrySize = MAX_ENTRY_SIZE;
		#maxCount = Infinity;
		/**
		* @type {import('node:sqlite').DatabaseSync}
		*/
		#db;
		/**
		* @type {import('node:sqlite').StatementSync}
		*/
		#getValuesQuery;
		/**
		* @type {import('node:sqlite').StatementSync}
		*/
		#updateValueQuery;
		/**
		* @type {import('node:sqlite').StatementSync}
		*/
		#insertValueQuery;
		/**
		* @type {import('node:sqlite').StatementSync}
		*/
		#deleteExpiredValuesQuery;
		/**
		* @type {import('node:sqlite').StatementSync}
		*/
		#deleteByUrlQuery;
		/**
		* @type {import('node:sqlite').StatementSync}
		*/
		#countEntriesQuery;
		/**
		* @type {import('node:sqlite').StatementSync | null}
		*/
		#deleteOldValuesQuery;
		/**
		* @param {import('../../types/cache-interceptor.d.ts').default.SqliteCacheStoreOpts | undefined} opts
		*/
		constructor(opts) {
			if (opts) {
				if (typeof opts !== "object") {
					throw new TypeError("SqliteCacheStore options must be an object");
				}
				if (opts.maxEntrySize !== undefined) {
					if (typeof opts.maxEntrySize !== "number" || !Number.isInteger(opts.maxEntrySize) || opts.maxEntrySize < 0) {
						throw new TypeError("SqliteCacheStore options.maxEntrySize must be a non-negative integer");
					}
					if (opts.maxEntrySize > MAX_ENTRY_SIZE) {
						throw new TypeError("SqliteCacheStore options.maxEntrySize must be less than 2gb");
					}
					this.#maxEntrySize = opts.maxEntrySize;
				}
				if (opts.maxCount !== undefined) {
					if (typeof opts.maxCount !== "number" || !Number.isInteger(opts.maxCount) || opts.maxCount < 0) {
						throw new TypeError("SqliteCacheStore options.maxCount must be a non-negative integer");
					}
					this.#maxCount = opts.maxCount;
				}
			}
			if (!DatabaseSync) {
				DatabaseSync = __require("node:sqlite").DatabaseSync;
			}
			this.#db = new DatabaseSync(opts?.location ?? ":memory:");
			this.#db.exec(`
      PRAGMA journal_mode = WAL;
      PRAGMA synchronous = NORMAL;
      PRAGMA temp_store = memory;
      PRAGMA optimize;

      CREATE TABLE IF NOT EXISTS cacheInterceptorV${VERSION} (
        -- Data specific to us
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        url TEXT NOT NULL,
        method TEXT NOT NULL,

        -- Data returned to the interceptor
        body BUF NULL,
        deleteAt INTEGER NOT NULL,
        statusCode INTEGER NOT NULL,
        statusMessage TEXT NOT NULL,
        headers TEXT NULL,
        cacheControlDirectives TEXT NULL,
        etag TEXT NULL,
        vary TEXT NULL,
        cachedAt INTEGER NOT NULL,
        staleAt INTEGER NOT NULL
      );

      CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${VERSION}_getValuesQuery ON cacheInterceptorV${VERSION}(url, method, deleteAt);
      CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${VERSION}_deleteByUrlQuery ON cacheInterceptorV${VERSION}(deleteAt);
    `);
			this.#getValuesQuery = this.#db.prepare(`
      SELECT
        id,
        body,
        deleteAt,
        statusCode,
        statusMessage,
        headers,
        etag,
        cacheControlDirectives,
        vary,
        cachedAt,
        staleAt
      FROM cacheInterceptorV${VERSION}
      WHERE
        url = ?
        AND method = ?
      ORDER BY
        deleteAt ASC
    `);
			this.#updateValueQuery = this.#db.prepare(`
      UPDATE cacheInterceptorV${VERSION} SET
        body = ?,
        deleteAt = ?,
        statusCode = ?,
        statusMessage = ?,
        headers = ?,
        etag = ?,
        cacheControlDirectives = ?,
        cachedAt = ?,
        staleAt = ?
      WHERE
        id = ?
    `);
			this.#insertValueQuery = this.#db.prepare(`
      INSERT INTO cacheInterceptorV${VERSION} (
        url,
        method,
        body,
        deleteAt,
        statusCode,
        statusMessage,
        headers,
        etag,
        cacheControlDirectives,
        vary,
        cachedAt,
        staleAt
      ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
    `);
			this.#deleteByUrlQuery = this.#db.prepare(`DELETE FROM cacheInterceptorV${VERSION} WHERE url = ?`);
			this.#countEntriesQuery = this.#db.prepare(`SELECT COUNT(*) AS total FROM cacheInterceptorV${VERSION}`);
			this.#deleteExpiredValuesQuery = this.#db.prepare(`DELETE FROM cacheInterceptorV${VERSION} WHERE deleteAt <= ?`);
			this.#deleteOldValuesQuery = this.#maxCount === Infinity ? null : this.#db.prepare(`
        DELETE FROM cacheInterceptorV${VERSION}
        WHERE id IN (
          SELECT
            id
          FROM cacheInterceptorV${VERSION}
          ORDER BY cachedAt DESC
          LIMIT ?
        )
      `);
		}
		close() {
			this.#db.close();
		}
		/**
		* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} key
		* @returns {(import('../../types/cache-interceptor.d.ts').default.GetResult & { body?: Buffer }) | undefined}
		*/
		get(key) {
			assertCacheKey(key);
			const value = this.#findValue(key);
			return value ? {
				body: value.body ? Buffer.from(value.body.buffer, value.body.byteOffset, value.body.byteLength) : undefined,
				statusCode: value.statusCode,
				statusMessage: value.statusMessage,
				headers: value.headers ? JSON.parse(value.headers) : undefined,
				etag: value.etag ? value.etag : undefined,
				vary: value.vary ? JSON.parse(value.vary) : undefined,
				cacheControlDirectives: value.cacheControlDirectives ? JSON.parse(value.cacheControlDirectives) : undefined,
				cachedAt: value.cachedAt,
				staleAt: value.staleAt,
				deleteAt: value.deleteAt
			} : undefined;
		}
		/**
		* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} key
		* @param {import('../../types/cache-interceptor.d.ts').default.CacheValue & { body: null | Buffer | Array<Buffer>}} value
		*/
		set(key, value) {
			assertCacheKey(key);
			const url = this.#makeValueUrl(key);
			const body = Array.isArray(value.body) ? Buffer.concat(value.body) : value.body;
			const size = body?.byteLength;
			if (size && size > this.#maxEntrySize) {
				return;
			}
			const existingValue = this.#findValue(key, true);
			if (existingValue) {
				this.#updateValueQuery.run(body, value.deleteAt, value.statusCode, value.statusMessage, value.headers ? JSON.stringify(value.headers) : null, value.etag ? value.etag : null, value.cacheControlDirectives ? JSON.stringify(value.cacheControlDirectives) : null, value.cachedAt, value.staleAt, existingValue.id);
			} else {
				this.#prune();
				this.#insertValueQuery.run(url, key.method, body, value.deleteAt, value.statusCode, value.statusMessage, value.headers ? JSON.stringify(value.headers) : null, value.etag ? value.etag : null, value.cacheControlDirectives ? JSON.stringify(value.cacheControlDirectives) : null, value.vary ? JSON.stringify(value.vary) : null, value.cachedAt, value.staleAt);
			}
		}
		/**
		* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} key
		* @param {import('../../types/cache-interceptor.d.ts').default.CacheValue} value
		* @returns {Writable | undefined}
		*/
		createWriteStream(key, value) {
			assertCacheKey(key);
			assertCacheValue(value);
			let size = 0;
			/**
			* @type {Buffer[] | null}
			*/
			const body = [];
			const store = this;
			return new Writable$3({
				decodeStrings: true,
				write(chunk, encoding, callback) {
					size += chunk.byteLength;
					if (size < store.#maxEntrySize) {
						body.push(chunk);
					} else {
						this.destroy();
					}
					callback();
				},
				final(callback) {
					store.set(key, {
						...value,
						body
					});
					callback();
				}
			});
		}
		/**
		* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} key
		*/
		delete(key) {
			if (typeof key !== "object") {
				throw new TypeError(`expected key to be object, got ${typeof key}`);
			}
			this.#deleteByUrlQuery.run(this.#makeValueUrl(key));
		}
		#prune() {
			if (Number.isFinite(this.#maxCount) && this.size <= this.#maxCount) {
				return 0;
			}
			{
				const removed = this.#deleteExpiredValuesQuery.run(Date.now()).changes;
				if (removed) {
					return removed;
				}
			}
			{
				const removed = this.#deleteOldValuesQuery?.run(Math.max(Math.floor(this.#maxCount * .1), 1)).changes;
				if (removed) {
					return removed;
				}
			}
			return 0;
		}
		/**
		* Counts the number of rows in the cache
		* @returns {Number}
		*/
		get size() {
			const { total } = this.#countEntriesQuery.get();
			return total;
		}
		/**
		* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} key
		* @returns {string}
		*/
		#makeValueUrl(key) {
			return `${key.origin}/${key.path}`;
		}
		/**
		* @param {import('../../types/cache-interceptor.d.ts').default.CacheKey} key
		* @param {boolean} [canBeExpired=false]
		* @returns {SqliteStoreValue | undefined}
		*/
		#findValue(key, canBeExpired = false) {
			const url = this.#makeValueUrl(key);
			const { headers, method } = key;
			/**
			* @type {SqliteStoreValue[]}
			*/
			const values = this.#getValuesQuery.all(url, method);
			if (values.length === 0) {
				return undefined;
			}
			const now = Date.now();
			for (const value of values) {
				if (now >= value.deleteAt && !canBeExpired) {
					return undefined;
				}
				let matches = true;
				if (value.vary) {
					const vary = JSON.parse(value.vary);
					for (const header in vary) {
						if (!headerValueEquals(headers[header], vary[header])) {
							matches = false;
							break;
						}
					}
				}
				if (matches) {
					return value;
				}
			}
			return undefined;
		}
	};
	/**
	* @param {string|string[]|null|undefined} lhs
	* @param {string|string[]|null|undefined} rhs
	* @returns {boolean}
	*/
	function headerValueEquals(lhs, rhs) {
		if (lhs == null && rhs == null) {
			return true;
		}
		if (lhs == null && rhs != null || lhs != null && rhs == null) {
			return false;
		}
		if (Array.isArray(lhs) && Array.isArray(rhs)) {
			if (lhs.length !== rhs.length) {
				return false;
			}
			return lhs.every((x, i) => x === rhs[i]);
		}
		return lhs === rhs;
	}
}));

//#endregion
//#region ../node_modules/undici/lib/web/fetch/headers.js
var require_headers$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { kConstruct } = require_symbols();
	const { kEnumerableProperty } = require_util$5();
	const { iteratorMixin, isValidHeaderName, isValidHeaderValue } = require_util$4();
	const { webidl } = require_webidl();
	const assert$11 = __require("node:assert");
	const util$5 = __require("node:util");
	/**
	* @param {number} code
	* @returns {code is (0x0a | 0x0d | 0x09 | 0x20)}
	*/
	function isHTTPWhiteSpaceCharCode(code) {
		return code === 10 || code === 13 || code === 9 || code === 32;
	}
	/**
	* @see https://fetch.spec.whatwg.org/#concept-header-value-normalize
	* @param {string} potentialValue
	* @returns {string}
	*/
	function headerValueNormalize(potentialValue) {
		let i = 0;
		let j = potentialValue.length;
		while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) --j;
		while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) ++i;
		return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j);
	}
	/**
	* @param {Headers} headers
	* @param {Array|Object} object
	*/
	function fill(headers, object) {
		if (Array.isArray(object)) {
			for (let i = 0; i < object.length; ++i) {
				const header = object[i];
				if (header.length !== 2) {
					throw webidl.errors.exception({
						header: "Headers constructor",
						message: `expected name/value pair to be length 2, found ${header.length}.`
					});
				}
				appendHeader(headers, header[0], header[1]);
			}
		} else if (typeof object === "object" && object !== null) {
			const keys = Object.keys(object);
			for (let i = 0; i < keys.length; ++i) {
				appendHeader(headers, keys[i], object[keys[i]]);
			}
		} else {
			throw webidl.errors.conversionFailed({
				prefix: "Headers constructor",
				argument: "Argument 1",
				types: ["sequence<sequence<ByteString>>", "record<ByteString, ByteString>"]
			});
		}
	}
	/**
	* @see https://fetch.spec.whatwg.org/#concept-headers-append
	* @param {Headers} headers
	* @param {string} name
	* @param {string} value
	*/
	function appendHeader(headers, name, value) {
		value = headerValueNormalize(value);
		if (!isValidHeaderName(name)) {
			throw webidl.errors.invalidArgument({
				prefix: "Headers.append",
				value: name,
				type: "header name"
			});
		} else if (!isValidHeaderValue(value)) {
			throw webidl.errors.invalidArgument({
				prefix: "Headers.append",
				value,
				type: "header value"
			});
		}
		if (getHeadersGuard(headers) === "immutable") {
			throw new TypeError("immutable");
		}
		return getHeadersList(headers).append(name, value, false);
	}
	/**
	* @param {Headers} target
	*/
	function headersListSortAndCombine(target) {
		const headersList = getHeadersList(target);
		if (!headersList) {
			return [];
		}
		if (headersList.sortedMap) {
			return headersList.sortedMap;
		}
		const headers = [];
		const names = headersList.toSortedArray();
		const cookies = headersList.cookies;
		if (cookies === null || cookies.length === 1) {
			return headersList.sortedMap = names;
		}
		for (let i = 0; i < names.length; ++i) {
			const { 0: name, 1: value } = names[i];
			if (name === "set-cookie") {
				for (let j = 0; j < cookies.length; ++j) {
					headers.push([name, cookies[j]]);
				}
			} else {
				headers.push([name, value]);
			}
		}
		return headersList.sortedMap = headers;
	}
	function compareHeaderName(a, b) {
		return a[0] < b[0] ? -1 : 1;
	}
	var HeadersList = class HeadersList {
		/** @type {[string, string][]|null} */
		cookies = null;
		sortedMap;
		headersMap;
		constructor(init) {
			if (init instanceof HeadersList) {
				this.headersMap = new Map(init.headersMap);
				this.sortedMap = init.sortedMap;
				this.cookies = init.cookies === null ? null : [...init.cookies];
			} else {
				this.headersMap = new Map(init);
				this.sortedMap = null;
			}
		}
		/**
		* @see https://fetch.spec.whatwg.org/#header-list-contains
		* @param {string} name
		* @param {boolean} isLowerCase
		*/
		contains(name, isLowerCase) {
			return this.headersMap.has(isLowerCase ? name : name.toLowerCase());
		}
		clear() {
			this.headersMap.clear();
			this.sortedMap = null;
			this.cookies = null;
		}
		/**
		* @see https://fetch.spec.whatwg.org/#concept-header-list-append
		* @param {string} name
		* @param {string} value
		* @param {boolean} isLowerCase
		*/
		append(name, value, isLowerCase) {
			this.sortedMap = null;
			const lowercaseName = isLowerCase ? name : name.toLowerCase();
			const exists = this.headersMap.get(lowercaseName);
			if (exists) {
				const delimiter = lowercaseName === "cookie" ? "; " : ", ";
				this.headersMap.set(lowercaseName, {
					name: exists.name,
					value: `${exists.value}${delimiter}${value}`
				});
			} else {
				this.headersMap.set(lowercaseName, {
					name,
					value
				});
			}
			if (lowercaseName === "set-cookie") {
				(this.cookies ??= []).push(value);
			}
		}
		/**
		* @see https://fetch.spec.whatwg.org/#concept-header-list-set
		* @param {string} name
		* @param {string} value
		* @param {boolean} isLowerCase
		*/
		set(name, value, isLowerCase) {
			this.sortedMap = null;
			const lowercaseName = isLowerCase ? name : name.toLowerCase();
			if (lowercaseName === "set-cookie") {
				this.cookies = [value];
			}
			this.headersMap.set(lowercaseName, {
				name,
				value
			});
		}
		/**
		* @see https://fetch.spec.whatwg.org/#concept-header-list-delete
		* @param {string} name
		* @param {boolean} isLowerCase
		*/
		delete(name, isLowerCase) {
			this.sortedMap = null;
			if (!isLowerCase) name = name.toLowerCase();
			if (name === "set-cookie") {
				this.cookies = null;
			}
			this.headersMap.delete(name);
		}
		/**
		* @see https://fetch.spec.whatwg.org/#concept-header-list-get
		* @param {string} name
		* @param {boolean} isLowerCase
		* @returns {string | null}
		*/
		get(name, isLowerCase) {
			return this.headersMap.get(isLowerCase ? name : name.toLowerCase())?.value ?? null;
		}
		*[Symbol.iterator]() {
			for (const { 0: name, 1: { value } } of this.headersMap) {
				yield [name, value];
			}
		}
		get entries() {
			const headers = {};
			if (this.headersMap.size !== 0) {
				for (const { name, value } of this.headersMap.values()) {
					headers[name] = value;
				}
			}
			return headers;
		}
		rawValues() {
			return this.headersMap.values();
		}
		get entriesList() {
			const headers = [];
			if (this.headersMap.size !== 0) {
				for (const { 0: lowerName, 1: { name, value } } of this.headersMap) {
					if (lowerName === "set-cookie") {
						for (const cookie of this.cookies) {
							headers.push([name, cookie]);
						}
					} else {
						headers.push([name, value]);
					}
				}
			}
			return headers;
		}
		toSortedArray() {
			const size = this.headersMap.size;
			const array = new Array(size);
			if (size <= 32) {
				if (size === 0) {
					return array;
				}
				const iterator = this.headersMap[Symbol.iterator]();
				const firstValue = iterator.next().value;
				array[0] = [firstValue[0], firstValue[1].value];
				assert$11(firstValue[1].value !== null);
				for (let i = 1, j = 0, right = 0, left = 0, pivot = 0, x, value; i < size; ++i) {
					value = iterator.next().value;
					x = array[i] = [value[0], value[1].value];
					assert$11(x[1] !== null);
					left = 0;
					right = i;
					while (left < right) {
						pivot = left + (right - left >> 1);
						if (array[pivot][0] <= x[0]) {
							left = pivot + 1;
						} else {
							right = pivot;
						}
					}
					if (i !== pivot) {
						j = i;
						while (j > left) {
							array[j] = array[--j];
						}
						array[left] = x;
					}
				}
				/* c8 ignore next 4 */
				if (!iterator.next().done) {
					throw new TypeError("Unreachable");
				}
				return array;
			} else {
				let i = 0;
				for (const { 0: name, 1: { value } } of this.headersMap) {
					array[i++] = [name, value];
					assert$11(value !== null);
				}
				return array.sort(compareHeaderName);
			}
		}
	};
	var Headers = class Headers {
		#guard;
		/**
		* @type {HeadersList}
		*/
		#headersList;
		/**
		* @param {HeadersInit|Symbol} [init]
		* @returns
		*/
		constructor(init = undefined) {
			webidl.util.markAsUncloneable(this);
			if (init === kConstruct) {
				return;
			}
			this.#headersList = new HeadersList();
			this.#guard = "none";
			if (init !== undefined) {
				init = webidl.converters.HeadersInit(init, "Headers constructor", "init");
				fill(this, init);
			}
		}
		append(name, value) {
			webidl.brandCheck(this, Headers);
			webidl.argumentLengthCheck(arguments, 2, "Headers.append");
			const prefix = "Headers.append";
			name = webidl.converters.ByteString(name, prefix, "name");
			value = webidl.converters.ByteString(value, prefix, "value");
			return appendHeader(this, name, value);
		}
		delete(name) {
			webidl.brandCheck(this, Headers);
			webidl.argumentLengthCheck(arguments, 1, "Headers.delete");
			const prefix = "Headers.delete";
			name = webidl.converters.ByteString(name, prefix, "name");
			if (!isValidHeaderName(name)) {
				throw webidl.errors.invalidArgument({
					prefix: "Headers.delete",
					value: name,
					type: "header name"
				});
			}
			if (this.#guard === "immutable") {
				throw new TypeError("immutable");
			}
			if (!this.#headersList.contains(name, false)) {
				return;
			}
			this.#headersList.delete(name, false);
		}
		get(name) {
			webidl.brandCheck(this, Headers);
			webidl.argumentLengthCheck(arguments, 1, "Headers.get");
			const prefix = "Headers.get";
			name = webidl.converters.ByteString(name, prefix, "name");
			if (!isValidHeaderName(name)) {
				throw webidl.errors.invalidArgument({
					prefix,
					value: name,
					type: "header name"
				});
			}
			return this.#headersList.get(name, false);
		}
		has(name) {
			webidl.brandCheck(this, Headers);
			webidl.argumentLengthCheck(arguments, 1, "Headers.has");
			const prefix = "Headers.has";
			name = webidl.converters.ByteString(name, prefix, "name");
			if (!isValidHeaderName(name)) {
				throw webidl.errors.invalidArgument({
					prefix,
					value: name,
					type: "header name"
				});
			}
			return this.#headersList.contains(name, false);
		}
		set(name, value) {
			webidl.brandCheck(this, Headers);
			webidl.argumentLengthCheck(arguments, 2, "Headers.set");
			const prefix = "Headers.set";
			name = webidl.converters.ByteString(name, prefix, "name");
			value = webidl.converters.ByteString(value, prefix, "value");
			value = headerValueNormalize(value);
			if (!isValidHeaderName(name)) {
				throw webidl.errors.invalidArgument({
					prefix,
					value: name,
					type: "header name"
				});
			} else if (!isValidHeaderValue(value)) {
				throw webidl.errors.invalidArgument({
					prefix,
					value,
					type: "header value"
				});
			}
			if (this.#guard === "immutable") {
				throw new TypeError("immutable");
			}
			this.#headersList.set(name, value, false);
		}
		getSetCookie() {
			webidl.brandCheck(this, Headers);
			const list = this.#headersList.cookies;
			if (list) {
				return [...list];
			}
			return [];
		}
		[util$5.inspect.custom](depth, options) {
			options.depth ??= depth;
			return `Headers ${util$5.formatWithOptions(options, this.#headersList.entries)}`;
		}
		static getHeadersGuard(o) {
			return o.#guard;
		}
		static setHeadersGuard(o, guard) {
			o.#guard = guard;
		}
		/**
		* @param {Headers} o
		*/
		static getHeadersList(o) {
			return o.#headersList;
		}
		/**
		* @param {Headers} target
		* @param {HeadersList} list
		*/
		static setHeadersList(target, list) {
			target.#headersList = list;
		}
	};
	const { getHeadersGuard, setHeadersGuard, getHeadersList, setHeadersList } = Headers;
	Reflect.deleteProperty(Headers, "getHeadersGuard");
	Reflect.deleteProperty(Headers, "setHeadersGuard");
	Reflect.deleteProperty(Headers, "getHeadersList");
	Reflect.deleteProperty(Headers, "setHeadersList");
	iteratorMixin("Headers", Headers, headersListSortAndCombine, 0, 1);
	Object.defineProperties(Headers.prototype, {
		append: kEnumerableProperty,
		delete: kEnumerableProperty,
		get: kEnumerableProperty,
		has: kEnumerableProperty,
		set: kEnumerableProperty,
		getSetCookie: kEnumerableProperty,
		[Symbol.toStringTag]: {
			value: "Headers",
			configurable: true
		},
		[util$5.inspect.custom]: { enumerable: false }
	});
	webidl.converters.HeadersInit = function(V, prefix, argument) {
		if (webidl.util.Type(V) === webidl.util.Types.OBJECT) {
			const iterator = Reflect.get(V, Symbol.iterator);
			if (!util$5.types.isProxy(V) && iterator === Headers.prototype.entries) {
				try {
					return getHeadersList(V).entriesList;
				} catch {}
			}
			if (typeof iterator === "function") {
				return webidl.converters["sequence<sequence<ByteString>>"](V, prefix, argument, iterator.bind(V));
			}
			return webidl.converters["record<ByteString, ByteString>"](V, prefix, argument);
		}
		throw webidl.errors.conversionFailed({
			prefix: "Headers constructor",
			argument: "Argument 1",
			types: ["sequence<sequence<ByteString>>", "record<ByteString, ByteString>"]
		});
	};
	module.exports = {
		fill,
		compareHeaderName,
		Headers,
		HeadersList,
		getHeadersGuard,
		setHeadersGuard,
		setHeadersList,
		getHeadersList
	};
}));

//#endregion
//#region ../node_modules/undici/lib/web/fetch/response.js
var require_response$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers$1();
	const { extractBody, cloneBody, mixinBody, streamRegistry, bodyUnusable } = require_body$1();
	const util = require_util$5();
	const nodeUtil$1 = __require("node:util");
	const { kEnumerableProperty } = util;
	const { isValidReasonPhrase, isCancelled, isAborted, isErrorLike, environmentSettingsObject: relevantRealm } = require_util$4();
	const { redirectStatusSet, nullBodyStatus } = require_constants$2();
	const { webidl } = require_webidl();
	const { URLSerializer } = require_data_url();
	const { kConstruct } = require_symbols();
	const assert$10 = __require("node:assert");
	const { isomorphicEncode, serializeJavascriptValueToJSONString } = require_infra();
	const textEncoder = new TextEncoder("utf-8");
	var Response = class Response {
		/** @type {Headers} */
		#headers;
		#state;
		static error() {
			const responseObject = fromInnerResponse(makeNetworkError(), "immutable");
			return responseObject;
		}
		static json(data, init = undefined) {
			webidl.argumentLengthCheck(arguments, 1, "Response.json");
			if (init !== null) {
				init = webidl.converters.ResponseInit(init);
			}
			const bytes = textEncoder.encode(serializeJavascriptValueToJSONString(data));
			const body = extractBody(bytes);
			const responseObject = fromInnerResponse(makeResponse({}), "response");
			initializeResponse(responseObject, init, {
				body: body[0],
				type: "application/json"
			});
			return responseObject;
		}
		static redirect(url, status = 302) {
			webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
			url = webidl.converters.USVString(url);
			status = webidl.converters["unsigned short"](status);
			let parsedURL;
			try {
				parsedURL = new URL(url, relevantRealm.settingsObject.baseUrl);
			} catch (err) {
				throw new TypeError(`Failed to parse URL from ${url}`, { cause: err });
			}
			if (!redirectStatusSet.has(status)) {
				throw new RangeError(`Invalid status code ${status}`);
			}
			const responseObject = fromInnerResponse(makeResponse({}), "immutable");
			responseObject.#state.status = status;
			const value = isomorphicEncode(URLSerializer(parsedURL));
			responseObject.#state.headersList.append("location", value, true);
			return responseObject;
		}
		constructor(body = null, init = undefined) {
			webidl.util.markAsUncloneable(this);
			if (body === kConstruct) {
				return;
			}
			if (body !== null) {
				body = webidl.converters.BodyInit(body, "Response", "body");
			}
			init = webidl.converters.ResponseInit(init);
			this.#state = makeResponse({});
			this.#headers = new Headers(kConstruct);
			setHeadersGuard(this.#headers, "response");
			setHeadersList(this.#headers, this.#state.headersList);
			let bodyWithType = null;
			if (body != null) {
				const [extractedBody, type] = extractBody(body);
				bodyWithType = {
					body: extractedBody,
					type
				};
			}
			initializeResponse(this, init, bodyWithType);
		}
		get type() {
			webidl.brandCheck(this, Response);
			return this.#state.type;
		}
		get url() {
			webidl.brandCheck(this, Response);
			const urlList = this.#state.urlList;
			const url = urlList[urlList.length - 1] ?? null;
			if (url === null) {
				return "";
			}
			return URLSerializer(url, true);
		}
		get redirected() {
			webidl.brandCheck(this, Response);
			return this.#state.urlList.length > 1;
		}
		get status() {
			webidl.brandCheck(this, Response);
			return this.#state.status;
		}
		get ok() {
			webidl.brandCheck(this, Response);
			return this.#state.status >= 200 && this.#state.status <= 299;
		}
		get statusText() {
			webidl.brandCheck(this, Response);
			return this.#state.statusText;
		}
		get headers() {
			webidl.brandCheck(this, Response);
			return this.#headers;
		}
		get body() {
			webidl.brandCheck(this, Response);
			return this.#state.body ? this.#state.body.stream : null;
		}
		get bodyUsed() {
			webidl.brandCheck(this, Response);
			return !!this.#state.body && util.isDisturbed(this.#state.body.stream);
		}
		clone() {
			webidl.brandCheck(this, Response);
			if (bodyUnusable(this.#state)) {
				throw webidl.errors.exception({
					header: "Response.clone",
					message: "Body has already been consumed."
				});
			}
			const clonedResponse = cloneResponse(this.#state);
			if (this.#state.urlList.length !== 0 && this.#state.body?.stream) {
				streamRegistry.register(this, new WeakRef(this.#state.body.stream));
			}
			return fromInnerResponse(clonedResponse, getHeadersGuard(this.#headers));
		}
		[nodeUtil$1.inspect.custom](depth, options) {
			if (options.depth === null) {
				options.depth = 2;
			}
			options.colors ??= true;
			const properties = {
				status: this.status,
				statusText: this.statusText,
				headers: this.headers,
				body: this.body,
				bodyUsed: this.bodyUsed,
				ok: this.ok,
				redirected: this.redirected,
				type: this.type,
				url: this.url
			};
			return `Response ${nodeUtil$1.formatWithOptions(options, properties)}`;
		}
		/**
		* @param {Response} response
		*/
		static getResponseHeaders(response) {
			return response.#headers;
		}
		/**
		* @param {Response} response
		* @param {Headers} newHeaders
		*/
		static setResponseHeaders(response, newHeaders) {
			response.#headers = newHeaders;
		}
		/**
		* @param {Response} response
		*/
		static getResponseState(response) {
			return response.#state;
		}
		/**
		* @param {Response} response
		* @param {any} newState
		*/
		static setResponseState(response, newState) {
			response.#state = newState;
		}
	};
	const { getResponseHeaders, setResponseHeaders, getResponseState, setResponseState } = Response;
	Reflect.deleteProperty(Response, "getResponseHeaders");
	Reflect.deleteProperty(Response, "setResponseHeaders");
	Reflect.deleteProperty(Response, "getResponseState");
	Reflect.deleteProperty(Response, "setResponseState");
	mixinBody(Response, getResponseState);
	Object.defineProperties(Response.prototype, {
		type: kEnumerableProperty,
		url: kEnumerableProperty,
		status: kEnumerableProperty,
		ok: kEnumerableProperty,
		redirected: kEnumerableProperty,
		statusText: kEnumerableProperty,
		headers: kEnumerableProperty,
		clone: kEnumerableProperty,
		body: kEnumerableProperty,
		bodyUsed: kEnumerableProperty,
		[Symbol.toStringTag]: {
			value: "Response",
			configurable: true
		}
	});
	Object.defineProperties(Response, {
		json: kEnumerableProperty,
		redirect: kEnumerableProperty,
		error: kEnumerableProperty
	});
	function cloneResponse(response) {
		if (response.internalResponse) {
			return filterResponse(cloneResponse(response.internalResponse), response.type);
		}
		const newResponse = makeResponse({
			...response,
			body: null
		});
		if (response.body != null) {
			newResponse.body = cloneBody(response.body);
		}
		return newResponse;
	}
	function makeResponse(init) {
		return {
			aborted: false,
			rangeRequested: false,
			timingAllowPassed: false,
			requestIncludesCredentials: false,
			type: "default",
			status: 200,
			timingInfo: null,
			cacheState: "",
			statusText: "",
			...init,
			headersList: init?.headersList ? new HeadersList(init?.headersList) : new HeadersList(),
			urlList: init?.urlList ? [...init.urlList] : []
		};
	}
	function makeNetworkError(reason) {
		const isError = isErrorLike(reason);
		return makeResponse({
			type: "error",
			status: 0,
			error: isError ? reason : new Error(reason ? String(reason) : reason),
			aborted: reason && reason.name === "AbortError"
		});
	}
	function isNetworkError(response) {
		return response.type === "error" && response.status === 0;
	}
	function makeFilteredResponse(response, state) {
		state = {
			internalResponse: response,
			...state
		};
		return new Proxy(response, {
			get(target, p) {
				return p in state ? state[p] : target[p];
			},
			set(target, p, value) {
				assert$10(!(p in state));
				target[p] = value;
				return true;
			}
		});
	}
	function filterResponse(response, type) {
		if (type === "basic") {
			return makeFilteredResponse(response, {
				type: "basic",
				headersList: response.headersList
			});
		} else if (type === "cors") {
			return makeFilteredResponse(response, {
				type: "cors",
				headersList: response.headersList
			});
		} else if (type === "opaque") {
			return makeFilteredResponse(response, {
				type: "opaque",
				urlList: [],
				status: 0,
				statusText: "",
				body: null
			});
		} else if (type === "opaqueredirect") {
			return makeFilteredResponse(response, {
				type: "opaqueredirect",
				status: 0,
				statusText: "",
				headersList: [],
				body: null
			});
		} else {
			assert$10(false);
		}
	}
	function makeAppropriateNetworkError(fetchParams, err = null) {
		assert$10(isCancelled(fetchParams));
		return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException("Request was cancelled."), { cause: err }));
	}
	function initializeResponse(response, init, body) {
		if (init.status !== null && (init.status < 200 || init.status > 599)) {
			throw new RangeError("init[\"status\"] must be in the range of 200 to 599, inclusive.");
		}
		if ("statusText" in init && init.statusText != null) {
			if (!isValidReasonPhrase(String(init.statusText))) {
				throw new TypeError("Invalid statusText");
			}
		}
		if ("status" in init && init.status != null) {
			getResponseState(response).status = init.status;
		}
		if ("statusText" in init && init.statusText != null) {
			getResponseState(response).statusText = init.statusText;
		}
		if ("headers" in init && init.headers != null) {
			fill(getResponseHeaders(response), init.headers);
		}
		if (body) {
			if (nullBodyStatus.includes(response.status)) {
				throw webidl.errors.exception({
					header: "Response constructor",
					message: `Invalid response status code ${response.status}`
				});
			}
			getResponseState(response).body = body.body;
			if (body.type != null && !getResponseState(response).headersList.contains("content-type", true)) {
				getResponseState(response).headersList.append("content-type", body.type, true);
			}
		}
	}
	/**
	* @see https://fetch.spec.whatwg.org/#response-create
	* @param {any} innerResponse
	* @param {'request' | 'immutable' | 'request-no-cors' | 'response' | 'none'} guard
	* @returns {Response}
	*/
	function fromInnerResponse(innerResponse, guard) {
		const response = new Response(kConstruct);
		setResponseState(response, innerResponse);
		const headers = new Headers(kConstruct);
		setResponseHeaders(response, headers);
		setHeadersList(headers, innerResponse.headersList);
		setHeadersGuard(headers, guard);
		if (innerResponse.urlList.length !== 0 && innerResponse.body?.stream) {
			streamRegistry.register(response, new WeakRef(innerResponse.body.stream));
		}
		return response;
	}
	webidl.converters.XMLHttpRequestBodyInit = function(V, prefix, name) {
		if (typeof V === "string") {
			return webidl.converters.USVString(V, prefix, name);
		}
		if (webidl.is.Blob(V)) {
			return V;
		}
		if (webidl.is.BufferSource(V)) {
			return V;
		}
		if (webidl.is.FormData(V)) {
			return V;
		}
		if (webidl.is.URLSearchParams(V)) {
			return V;
		}
		return webidl.converters.DOMString(V, prefix, name);
	};
	webidl.converters.BodyInit = function(V, prefix, argument) {
		if (webidl.is.ReadableStream(V)) {
			return V;
		}
		if (V?.[Symbol.asyncIterator]) {
			return V;
		}
		return webidl.converters.XMLHttpRequestBodyInit(V, prefix, argument);
	};
	webidl.converters.ResponseInit = webidl.dictionaryConverter([
		{
			key: "status",
			converter: webidl.converters["unsigned short"],
			defaultValue: () => 200
		},
		{
			key: "statusText",
			converter: webidl.converters.ByteString,
			defaultValue: () => ""
		},
		{
			key: "headers",
			converter: webidl.converters.HeadersInit
		}
	]);
	webidl.is.Response = webidl.util.MakeTypeAssertion(Response);
	module.exports = {
		isNetworkError,
		makeNetworkError,
		makeResponse,
		makeAppropriateNetworkError,
		filterResponse,
		Response,
		cloneResponse,
		fromInnerResponse,
		getResponseState
	};
}));

//#endregion
//#region ../node_modules/undici/lib/web/fetch/request.js
var require_request$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body$1();
	const { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers$1();
	const util = require_util$5();
	const nodeUtil = __require("node:util");
	const { isValidHTTPToken, sameOrigin, environmentSettingsObject } = require_util$4();
	const { forbiddenMethodsSet, corsSafeListedMethodsSet, referrerPolicy, requestRedirect, requestMode, requestCredentials, requestCache, requestDuplex } = require_constants$2();
	const { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util;
	const { webidl } = require_webidl();
	const { URLSerializer } = require_data_url();
	const { kConstruct } = require_symbols();
	const assert$9 = __require("node:assert");
	const { getMaxListeners, setMaxListeners, defaultMaxListeners } = __require("node:events");
	const kAbortController = Symbol("abortController");
	const requestFinalizer = new FinalizationRegistry(({ signal, abort }) => {
		signal.removeEventListener("abort", abort);
	});
	const dependentControllerMap = new WeakMap();
	let abortSignalHasEventHandlerLeakWarning;
	try {
		abortSignalHasEventHandlerLeakWarning = getMaxListeners(new AbortController().signal) > 0;
	} catch {
		abortSignalHasEventHandlerLeakWarning = false;
	}
	function buildAbort(acRef) {
		return abort;
		function abort() {
			const ac = acRef.deref();
			if (ac !== undefined) {
				requestFinalizer.unregister(abort);
				this.removeEventListener("abort", abort);
				ac.abort(this.reason);
				const controllerList = dependentControllerMap.get(ac.signal);
				if (controllerList !== undefined) {
					if (controllerList.size !== 0) {
						for (const ref of controllerList) {
							const ctrl = ref.deref();
							if (ctrl !== undefined) {
								ctrl.abort(this.reason);
							}
						}
						controllerList.clear();
					}
					dependentControllerMap.delete(ac.signal);
				}
			}
		}
	}
	let patchMethodWarning = false;
	var Request = class Request {
		/** @type {AbortSignal} */
		#signal;
		/** @type {import('../../dispatcher/dispatcher')} */
		#dispatcher;
		/** @type {Headers} */
		#headers;
		#state;
		constructor(input, init = undefined) {
			webidl.util.markAsUncloneable(this);
			if (input === kConstruct) {
				return;
			}
			const prefix = "Request constructor";
			webidl.argumentLengthCheck(arguments, 1, prefix);
			input = webidl.converters.RequestInfo(input);
			init = webidl.converters.RequestInit(init);
			let request = null;
			let fallbackMode = null;
			const baseUrl = environmentSettingsObject.settingsObject.baseUrl;
			let signal = null;
			if (typeof input === "string") {
				this.#dispatcher = init.dispatcher;
				let parsedURL;
				try {
					parsedURL = new URL(input, baseUrl);
				} catch (err) {
					throw new TypeError("Failed to parse URL from " + input, { cause: err });
				}
				if (parsedURL.username || parsedURL.password) {
					throw new TypeError("Request cannot be constructed from a URL that includes credentials: " + input);
				}
				request = makeRequest({ urlList: [parsedURL] });
				fallbackMode = "cors";
			} else {
				assert$9(webidl.is.Request(input));
				request = input.#state;
				signal = input.#signal;
				this.#dispatcher = init.dispatcher || input.#dispatcher;
			}
			const origin = environmentSettingsObject.settingsObject.origin;
			let window = "client";
			if (request.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request.window, origin)) {
				window = request.window;
			}
			if (init.window != null) {
				throw new TypeError(`'window' option '${window}' must be null`);
			}
			if ("window" in init) {
				window = "no-window";
			}
			request = makeRequest({
				method: request.method,
				headersList: request.headersList,
				unsafeRequest: request.unsafeRequest,
				client: environmentSettingsObject.settingsObject,
				window,
				priority: request.priority,
				origin: request.origin,
				referrer: request.referrer,
				referrerPolicy: request.referrerPolicy,
				mode: request.mode,
				credentials: request.credentials,
				cache: request.cache,
				redirect: request.redirect,
				integrity: request.integrity,
				keepalive: request.keepalive,
				reloadNavigation: request.reloadNavigation,
				historyNavigation: request.historyNavigation,
				urlList: [...request.urlList]
			});
			const initHasKey = Object.keys(init).length !== 0;
			if (initHasKey) {
				if (request.mode === "navigate") {
					request.mode = "same-origin";
				}
				request.reloadNavigation = false;
				request.historyNavigation = false;
				request.origin = "client";
				request.referrer = "client";
				request.referrerPolicy = "";
				request.url = request.urlList[request.urlList.length - 1];
				request.urlList = [request.url];
			}
			if (init.referrer !== undefined) {
				const referrer = init.referrer;
				if (referrer === "") {
					request.referrer = "no-referrer";
				} else {
					let parsedReferrer;
					try {
						parsedReferrer = new URL(referrer, baseUrl);
					} catch (err) {
						throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
					}
					if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl)) {
						request.referrer = "client";
					} else {
						request.referrer = parsedReferrer;
					}
				}
			}
			if (init.referrerPolicy !== undefined) {
				request.referrerPolicy = init.referrerPolicy;
			}
			let mode;
			if (init.mode !== undefined) {
				mode = init.mode;
			} else {
				mode = fallbackMode;
			}
			if (mode === "navigate") {
				throw webidl.errors.exception({
					header: "Request constructor",
					message: "invalid request mode navigate."
				});
			}
			if (mode != null) {
				request.mode = mode;
			}
			if (init.credentials !== undefined) {
				request.credentials = init.credentials;
			}
			if (init.cache !== undefined) {
				request.cache = init.cache;
			}
			if (request.cache === "only-if-cached" && request.mode !== "same-origin") {
				throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode");
			}
			if (init.redirect !== undefined) {
				request.redirect = init.redirect;
			}
			if (init.integrity != null) {
				request.integrity = String(init.integrity);
			}
			if (init.keepalive !== undefined) {
				request.keepalive = Boolean(init.keepalive);
			}
			if (init.method !== undefined) {
				let method = init.method;
				const mayBeNormalized = normalizedMethodRecords[method];
				if (mayBeNormalized !== undefined) {
					request.method = mayBeNormalized;
				} else {
					if (!isValidHTTPToken(method)) {
						throw new TypeError(`'${method}' is not a valid HTTP method.`);
					}
					const upperCase = method.toUpperCase();
					if (forbiddenMethodsSet.has(upperCase)) {
						throw new TypeError(`'${method}' HTTP method is unsupported.`);
					}
					method = normalizedMethodRecordsBase[upperCase] ?? method;
					request.method = method;
				}
				if (!patchMethodWarning && request.method === "patch") {
					process.emitWarning("Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.", { code: "UNDICI-FETCH-patch" });
					patchMethodWarning = true;
				}
			}
			if (init.signal !== undefined) {
				signal = init.signal;
			}
			this.#state = request;
			const ac = new AbortController();
			this.#signal = ac.signal;
			if (signal != null) {
				if (signal.aborted) {
					ac.abort(signal.reason);
				} else {
					this[kAbortController] = ac;
					const acRef = new WeakRef(ac);
					const abort = buildAbort(acRef);
					if (abortSignalHasEventHandlerLeakWarning && getMaxListeners(signal) === defaultMaxListeners) {
						setMaxListeners(1500, signal);
					}
					util.addAbortListener(signal, abort);
					requestFinalizer.register(ac, {
						signal,
						abort
					}, abort);
				}
			}
			this.#headers = new Headers(kConstruct);
			setHeadersList(this.#headers, request.headersList);
			setHeadersGuard(this.#headers, "request");
			if (mode === "no-cors") {
				if (!corsSafeListedMethodsSet.has(request.method)) {
					throw new TypeError(`'${request.method} is unsupported in no-cors mode.`);
				}
				setHeadersGuard(this.#headers, "request-no-cors");
			}
			if (initHasKey) {
				/** @type {HeadersList} */
				const headersList = getHeadersList(this.#headers);
				const headers = init.headers !== undefined ? init.headers : new HeadersList(headersList);
				headersList.clear();
				if (headers instanceof HeadersList) {
					for (const { name, value } of headers.rawValues()) {
						headersList.append(name, value, false);
					}
					headersList.cookies = headers.cookies;
				} else {
					fillHeaders(this.#headers, headers);
				}
			}
			const inputBody = webidl.is.Request(input) ? input.#state.body : null;
			if ((init.body != null || inputBody != null) && (request.method === "GET" || request.method === "HEAD")) {
				throw new TypeError("Request with GET/HEAD method cannot have body.");
			}
			let initBody = null;
			if (init.body != null) {
				const [extractedBody, contentType] = extractBody(init.body, request.keepalive);
				initBody = extractedBody;
				if (contentType && !getHeadersList(this.#headers).contains("content-type", true)) {
					this.#headers.append("content-type", contentType, true);
				}
			}
			const inputOrInitBody = initBody ?? inputBody;
			if (inputOrInitBody != null && inputOrInitBody.source == null) {
				if (initBody != null && init.duplex == null) {
					throw new TypeError("RequestInit: duplex option is required when sending a body.");
				}
				if (request.mode !== "same-origin" && request.mode !== "cors") {
					throw new TypeError("If request is made from ReadableStream, mode should be \"same-origin\" or \"cors\"");
				}
				request.useCORSPreflightFlag = true;
			}
			let finalBody = inputOrInitBody;
			if (initBody == null && inputBody != null) {
				if (bodyUnusable(input.#state)) {
					throw new TypeError("Cannot construct a Request with a Request object that has already been used.");
				}
				const identityTransform = new TransformStream();
				inputBody.stream.pipeThrough(identityTransform);
				finalBody = {
					source: inputBody.source,
					length: inputBody.length,
					stream: identityTransform.readable
				};
			}
			this.#state.body = finalBody;
		}
		get method() {
			webidl.brandCheck(this, Request);
			return this.#state.method;
		}
		get url() {
			webidl.brandCheck(this, Request);
			return URLSerializer(this.#state.url);
		}
		get headers() {
			webidl.brandCheck(this, Request);
			return this.#headers;
		}
		get destination() {
			webidl.brandCheck(this, Request);
			return this.#state.destination;
		}
		get referrer() {
			webidl.brandCheck(this, Request);
			if (this.#state.referrer === "no-referrer") {
				return "";
			}
			if (this.#state.referrer === "client") {
				return "about:client";
			}
			return this.#state.referrer.toString();
		}
		get referrerPolicy() {
			webidl.brandCheck(this, Request);
			return this.#state.referrerPolicy;
		}
		get mode() {
			webidl.brandCheck(this, Request);
			return this.#state.mode;
		}
		get credentials() {
			webidl.brandCheck(this, Request);
			return this.#state.credentials;
		}
		get cache() {
			webidl.brandCheck(this, Request);
			return this.#state.cache;
		}
		get redirect() {
			webidl.brandCheck(this, Request);
			return this.#state.redirect;
		}
		get integrity() {
			webidl.brandCheck(this, Request);
			return this.#state.integrity;
		}
		get keepalive() {
			webidl.brandCheck(this, Request);
			return this.#state.keepalive;
		}
		get isReloadNavigation() {
			webidl.brandCheck(this, Request);
			return this.#state.reloadNavigation;
		}
		get isHistoryNavigation() {
			webidl.brandCheck(this, Request);
			return this.#state.historyNavigation;
		}
		get signal() {
			webidl.brandCheck(this, Request);
			return this.#signal;
		}
		get body() {
			webidl.brandCheck(this, Request);
			return this.#state.body ? this.#state.body.stream : null;
		}
		get bodyUsed() {
			webidl.brandCheck(this, Request);
			return !!this.#state.body && util.isDisturbed(this.#state.body.stream);
		}
		get duplex() {
			webidl.brandCheck(this, Request);
			return "half";
		}
		clone() {
			webidl.brandCheck(this, Request);
			if (bodyUnusable(this.#state)) {
				throw new TypeError("unusable");
			}
			const clonedRequest = cloneRequest(this.#state);
			const ac = new AbortController();
			if (this.signal.aborted) {
				ac.abort(this.signal.reason);
			} else {
				let list = dependentControllerMap.get(this.signal);
				if (list === undefined) {
					list = new Set();
					dependentControllerMap.set(this.signal, list);
				}
				const acRef = new WeakRef(ac);
				list.add(acRef);
				util.addAbortListener(ac.signal, buildAbort(acRef));
			}
			return fromInnerRequest(clonedRequest, this.#dispatcher, ac.signal, getHeadersGuard(this.#headers));
		}
		[nodeUtil.inspect.custom](depth, options) {
			if (options.depth === null) {
				options.depth = 2;
			}
			options.colors ??= true;
			const properties = {
				method: this.method,
				url: this.url,
				headers: this.headers,
				destination: this.destination,
				referrer: this.referrer,
				referrerPolicy: this.referrerPolicy,
				mode: this.mode,
				credentials: this.credentials,
				cache: this.cache,
				redirect: this.redirect,
				integrity: this.integrity,
				keepalive: this.keepalive,
				isReloadNavigation: this.isReloadNavigation,
				isHistoryNavigation: this.isHistoryNavigation,
				signal: this.signal
			};
			return `Request ${nodeUtil.formatWithOptions(options, properties)}`;
		}
		/**
		* @param {Request} request
		* @param {AbortSignal} newSignal
		*/
		static setRequestSignal(request, newSignal) {
			request.#signal = newSignal;
			return request;
		}
		/**
		* @param {Request} request
		*/
		static getRequestDispatcher(request) {
			return request.#dispatcher;
		}
		/**
		* @param {Request} request
		* @param {import('../../dispatcher/dispatcher')} newDispatcher
		*/
		static setRequestDispatcher(request, newDispatcher) {
			request.#dispatcher = newDispatcher;
		}
		/**
		* @param {Request} request
		* @param {Headers} newHeaders
		*/
		static setRequestHeaders(request, newHeaders) {
			request.#headers = newHeaders;
		}
		/**
		* @param {Request} request
		*/
		static getRequestState(request) {
			return request.#state;
		}
		/**
		* @param {Request} request
		* @param {any} newState
		*/
		static setRequestState(request, newState) {
			request.#state = newState;
		}
	};
	const { setRequestSignal, getRequestDispatcher, setRequestDispatcher, setRequestHeaders, getRequestState, setRequestState } = Request;
	Reflect.deleteProperty(Request, "setRequestSignal");
	Reflect.deleteProperty(Request, "getRequestDispatcher");
	Reflect.deleteProperty(Request, "setRequestDispatcher");
	Reflect.deleteProperty(Request, "setRequestHeaders");
	Reflect.deleteProperty(Request, "getRequestState");
	Reflect.deleteProperty(Request, "setRequestState");
	mixinBody(Request, getRequestState);
	function makeRequest(init) {
		return {
			method: init.method ?? "GET",
			localURLsOnly: init.localURLsOnly ?? false,
			unsafeRequest: init.unsafeRequest ?? false,
			body: init.body ?? null,
			client: init.client ?? null,
			reservedClient: init.reservedClient ?? null,
			replacesClientId: init.replacesClientId ?? "",
			window: init.window ?? "client",
			keepalive: init.keepalive ?? false,
			serviceWorkers: init.serviceWorkers ?? "all",
			initiator: init.initiator ?? "",
			destination: init.destination ?? "",
			priority: init.priority ?? null,
			origin: init.origin ?? "client",
			policyContainer: init.policyContainer ?? "client",
			referrer: init.referrer ?? "client",
			referrerPolicy: init.referrerPolicy ?? "",
			mode: init.mode ?? "no-cors",
			useCORSPreflightFlag: init.useCORSPreflightFlag ?? false,
			credentials: init.credentials ?? "same-origin",
			useCredentials: init.useCredentials ?? false,
			cache: init.cache ?? "default",
			redirect: init.redirect ?? "follow",
			integrity: init.integrity ?? "",
			cryptoGraphicsNonceMetadata: init.cryptoGraphicsNonceMetadata ?? "",
			parserMetadata: init.parserMetadata ?? "",
			reloadNavigation: init.reloadNavigation ?? false,
			historyNavigation: init.historyNavigation ?? false,
			userActivation: init.userActivation ?? false,
			taintedOrigin: init.taintedOrigin ?? false,
			redirectCount: init.redirectCount ?? 0,
			responseTainting: init.responseTainting ?? "basic",
			preventNoCacheCacheControlHeaderModification: init.preventNoCacheCacheControlHeaderModification ?? false,
			done: init.done ?? false,
			timingAllowFailed: init.timingAllowFailed ?? false,
			useURLCredentials: init.useURLCredentials ?? undefined,
			traversableForUserPrompts: init.traversableForUserPrompts ?? "client",
			urlList: init.urlList,
			url: init.urlList[0],
			headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
		};
	}
	function cloneRequest(request) {
		const newRequest = makeRequest({
			...request,
			body: null
		});
		if (request.body != null) {
			newRequest.body = cloneBody(request.body);
		}
		return newRequest;
	}
	/**
	* @see https://fetch.spec.whatwg.org/#request-create
	* @param {any} innerRequest
	* @param {import('../../dispatcher/agent')} dispatcher
	* @param {AbortSignal} signal
	* @param {'request' | 'immutable' | 'request-no-cors' | 'response' | 'none'} guard
	* @returns {Request}
	*/
	function fromInnerRequest(innerRequest, dispatcher, signal, guard) {
		const request = new Request(kConstruct);
		setRequestState(request, innerRequest);
		setRequestDispatcher(request, dispatcher);
		setRequestSignal(request, signal);
		const headers = new Headers(kConstruct);
		setRequestHeaders(request, headers);
		setHeadersList(headers, innerRequest.headersList);
		setHeadersGuard(headers, guard);
		return request;
	}
	Object.defineProperties(Request.prototype, {
		method: kEnumerableProperty,
		url: kEnumerableProperty,
		headers: kEnumerableProperty,
		redirect: kEnumerableProperty,
		clone: kEnumerableProperty,
		signal: kEnumerableProperty,
		duplex: kEnumerableProperty,
		destination: kEnumerableProperty,
		body: kEnumerableProperty,
		bodyUsed: kEnumerableProperty,
		isHistoryNavigation: kEnumerableProperty,
		isReloadNavigation: kEnumerableProperty,
		keepalive: kEnumerableProperty,
		integrity: kEnumerableProperty,
		cache: kEnumerableProperty,
		credentials: kEnumerableProperty,
		attribute: kEnumerableProperty,
		referrerPolicy: kEnumerableProperty,
		referrer: kEnumerableProperty,
		mode: kEnumerableProperty,
		[Symbol.toStringTag]: {
			value: "Request",
			configurable: true
		}
	});
	webidl.is.Request = webidl.util.MakeTypeAssertion(Request);
	/**
	* @param {*} V
	* @returns {import('../../../types/fetch').Request|string}
	*
	* @see https://fetch.spec.whatwg.org/#requestinfo
	*/
	webidl.converters.RequestInfo = function(V) {
		if (typeof V === "string") {
			return webidl.converters.USVString(V);
		}
		if (webidl.is.Request(V)) {
			return V;
		}
		return webidl.converters.USVString(V);
	};
	/**
	* @param {*} V
	* @returns {import('../../../types/fetch').RequestInit}
	* @see https://fetch.spec.whatwg.org/#requestinit
	*/
	webidl.converters.RequestInit = webidl.dictionaryConverter([
		{
			key: "method",
			converter: webidl.converters.ByteString
		},
		{
			key: "headers",
			converter: webidl.converters.HeadersInit
		},
		{
			key: "body",
			converter: webidl.nullableConverter(webidl.converters.BodyInit)
		},
		{
			key: "referrer",
			converter: webidl.converters.USVString
		},
		{
			key: "referrerPolicy",
			converter: webidl.converters.DOMString,
			allowedValues: referrerPolicy
		},
		{
			key: "mode",
			converter: webidl.converters.DOMString,
			allowedValues: requestMode
		},
		{
			key: "credentials",
			converter: webidl.converters.DOMString,
			allowedValues: requestCredentials
		},
		{
			key: "cache",
			converter: webidl.converters.DOMString,
			allowedValues: requestCache
		},
		{
			key: "redirect",
			converter: webidl.converters.DOMString,
			allowedValues: requestRedirect
		},
		{
			key: "integrity",
			converter: webidl.converters.DOMString
		},
		{
			key: "keepalive",
			converter: webidl.converters.boolean
		},
		{
			key: "signal",
			converter: webidl.nullableConverter((signal) => webidl.converters.AbortSignal(signal, "RequestInit", "signal"))
		},
		{
			key: "window",
			converter: webidl.converters.any
		},
		{
			key: "duplex",
			converter: webidl.converters.DOMString,
			allowedValues: requestDuplex
		},
		{
			key: "dispatcher",
			converter: webidl.converters.any
		},
		{
			key: "priority",
			converter: webidl.converters.DOMString,
			allowedValues: [
				"high",
				"low",
				"auto"
			],
			defaultValue: () => "auto"
		}
	]);
	module.exports = {
		Request,
		makeRequest,
		fromInnerRequest,
		cloneRequest,
		getRequestDispatcher,
		getRequestState
	};
}));

//#endregion
//#region ../node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js
var require_subresource_integrity = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const assert$8 = __require("node:assert");
	const { runtimeFeatures } = require_runtime_features();
	/**
	* @typedef {object} Metadata
	* @property {SRIHashAlgorithm} alg - The algorithm used for the hash.
	* @property {string} val - The base64-encoded hash value.
	*/
	/**
	* @typedef {Metadata[]} MetadataList
	*/
	/**
	* @typedef {('sha256' | 'sha384' | 'sha512')} SRIHashAlgorithm
	*/
	/**
	* @type {Map<SRIHashAlgorithm, number>}
	*
	* The valid SRI hash algorithm token set is the ordered set « "sha256",
	* "sha384", "sha512" » (corresponding to SHA-256, SHA-384, and SHA-512
	* respectively). The ordering of this set is meaningful, with stronger
	* algorithms appearing later in the set.
	*
	* @see https://w3c.github.io/webappsec-subresource-integrity/#valid-sri-hash-algorithm-token-set
	*/
	const validSRIHashAlgorithmTokenSet = new Map([
		["sha256", 0],
		["sha384", 1],
		["sha512", 2]
	]);
	/** @type {import('node:crypto')} */
	let crypto;
	if (runtimeFeatures.has("crypto")) {
		crypto = __require("node:crypto");
		const cryptoHashes = crypto.getHashes();
		if (cryptoHashes.length === 0) {
			validSRIHashAlgorithmTokenSet.clear();
		}
		for (const algorithm of validSRIHashAlgorithmTokenSet.keys()) {
			if (cryptoHashes.includes(algorithm) === false) {
				validSRIHashAlgorithmTokenSet.delete(algorithm);
			}
		}
	} else {
		validSRIHashAlgorithmTokenSet.clear();
	}
	/**
	* @typedef GetSRIHashAlgorithmIndex
	* @type {(algorithm: SRIHashAlgorithm) => number}
	* @param {SRIHashAlgorithm} algorithm
	* @returns {number} The index of the algorithm in the valid SRI hash algorithm
	* token set.
	*/
	const getSRIHashAlgorithmIndex = Map.prototype.get.bind(validSRIHashAlgorithmTokenSet);
	/**
	* @typedef IsValidSRIHashAlgorithm
	* @type {(algorithm: string) => algorithm is SRIHashAlgorithm}
	* @param {*} algorithm
	* @returns {algorithm is SRIHashAlgorithm}
	*/
	const isValidSRIHashAlgorithm = Map.prototype.has.bind(validSRIHashAlgorithmTokenSet);
	/**
	* @param {Uint8Array} bytes
	* @param {string} metadataList
	* @returns {boolean}
	*
	* @see https://w3c.github.io/webappsec-subresource-integrity/#does-response-match-metadatalist
	*/
	const bytesMatch = runtimeFeatures.has("crypto") === false || validSRIHashAlgorithmTokenSet.size === 0 ? () => true : (bytes, metadataList) => {
		const parsedMetadata = parseMetadata(metadataList);
		if (parsedMetadata.length === 0) {
			return true;
		}
		const metadata = getStrongestMetadata(parsedMetadata);
		for (const item of metadata) {
			const algorithm = item.alg;
			const expectedValue = item.val;
			const actualValue = applyAlgorithmToBytes(algorithm, bytes);
			if (caseSensitiveMatch(actualValue, expectedValue)) {
				return true;
			}
		}
		return false;
	};
	/**
	* @param {MetadataList} metadataList
	* @returns {MetadataList} The strongest hash algorithm from the metadata list.
	*/
	function getStrongestMetadata(metadataList) {
		const result = [];
		/** @type {Metadata|null} */
		let strongest = null;
		for (const item of metadataList) {
			assert$8(isValidSRIHashAlgorithm(item.alg), "Invalid SRI hash algorithm token");
			if (result.length === 0) {
				result.push(item);
				strongest = item;
				continue;
			}
			const currentAlgorithm = strongest.alg;
			const currentAlgorithmIndex = getSRIHashAlgorithmIndex(currentAlgorithm);
			const newAlgorithm = item.alg;
			const newAlgorithmIndex = getSRIHashAlgorithmIndex(newAlgorithm);
			if (newAlgorithmIndex < currentAlgorithmIndex) {
				continue;
			} else if (newAlgorithmIndex > currentAlgorithmIndex) {
				strongest = item;
				result[0] = item;
				result.length = 1;
			} else {
				result.push(item);
			}
		}
		return result;
	}
	/**
	* @param {string} metadata
	* @returns {MetadataList}
	*
	* @see https://w3c.github.io/webappsec-subresource-integrity/#parse-metadata
	*/
	function parseMetadata(metadata) {
		/** @type {MetadataList} */
		const result = [];
		for (const item of metadata.split(" ")) {
			const expressionAndOptions = item.split("?", 1);
			const algorithmExpression = expressionAndOptions[0];
			let base64Value = "";
			const algorithmAndValue = [algorithmExpression.slice(0, 6), algorithmExpression.slice(7)];
			const algorithm = algorithmAndValue[0];
			if (!isValidSRIHashAlgorithm(algorithm)) {
				continue;
			}
			if (algorithmAndValue[1]) {
				base64Value = algorithmAndValue[1];
			}
			const metadata = {
				alg: algorithm,
				val: base64Value
			};
			result.push(metadata);
		}
		return result;
	}
	/**
	* Applies the specified hash algorithm to the given bytes
	*
	* @typedef {(algorithm: SRIHashAlgorithm, bytes: Uint8Array) => string} ApplyAlgorithmToBytes
	* @param {SRIHashAlgorithm} algorithm
	* @param {Uint8Array} bytes
	* @returns {string}
	*/
	const applyAlgorithmToBytes = (algorithm, bytes) => {
		return crypto.hash(algorithm, bytes, "base64");
	};
	/**
	* Compares two base64 strings, allowing for base64url
	* in the second string.
	*
	* @param {string} actualValue base64 encoded string
	* @param {string} expectedValue base64 or base64url encoded string
	* @returns {boolean}
	*/
	function caseSensitiveMatch(actualValue, expectedValue) {
		let actualValueLength = actualValue.length;
		if (actualValueLength !== 0 && actualValue[actualValueLength - 1] === "=") {
			actualValueLength -= 1;
		}
		if (actualValueLength !== 0 && actualValue[actualValueLength - 1] === "=") {
			actualValueLength -= 1;
		}
		let expectedValueLength = expectedValue.length;
		if (expectedValueLength !== 0 && expectedValue[expectedValueLength - 1] === "=") {
			expectedValueLength -= 1;
		}
		if (expectedValueLength !== 0 && expectedValue[expectedValueLength - 1] === "=") {
			expectedValueLength -= 1;
		}
		if (actualValueLength !== expectedValueLength) {
			return false;
		}
		for (let i = 0; i < actualValueLength; ++i) {
			if (actualValue[i] === expectedValue[i] || actualValue[i] === "+" && expectedValue[i] === "-" || actualValue[i] === "/" && expectedValue[i] === "_") {
				continue;
			}
			return false;
		}
		return true;
	}
	module.exports = {
		applyAlgorithmToBytes,
		bytesMatch,
		caseSensitiveMatch,
		isValidSRIHashAlgorithm,
		getStrongestMetadata,
		parseMetadata
	};
}));

//#endregion
//#region ../node_modules/undici/lib/web/fetch/index.js
var require_fetch = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { makeNetworkError, makeAppropriateNetworkError, filterResponse, makeResponse, fromInnerResponse, getResponseState } = require_response$1();
	const { HeadersList } = require_headers$1();
	const { Request, cloneRequest, getRequestDispatcher, getRequestState } = require_request$1();
	const zlib$1 = __require("node:zlib");
	const { makePolicyContainer, clonePolicyContainer, requestBadPort, TAOCheck, appendRequestOriginHeader, responseLocationURL, requestCurrentURL, setRequestReferrerPolicyOnRedirect, tryUpgradeRequestToAPotentiallyTrustworthyURL, createOpaqueTimingInfo, appendFetchMetadata, corsCheck, crossOriginResourcePolicyCheck, determineRequestsReferrer, coarsenedSharedCurrentTime, sameOrigin, isCancelled, isAborted, isErrorLike, fullyReadBody, readableStreamClose, urlIsLocal, urlIsHttpHttpsScheme, urlHasHttpsScheme, clampAndCoarsenConnectionTimingInfo, simpleRangeHeaderValue, buildContentRange, createInflate, extractMimeType, hasAuthenticationEntry, includesCredentials, isTraversableNavigable } = require_util$4();
	const assert$7 = __require("node:assert");
	const { safelyExtractBody, extractBody } = require_body$1();
	const { redirectStatusSet, nullBodyStatus, safeMethodsSet, requestBodyHeader, subresourceSet } = require_constants$2();
	const EE = __require("node:events");
	const { Readable: Readable$1, pipeline: pipeline$2, finished: finished$1, isErrored, isReadable } = __require("node:stream");
	const { addAbortListener, bufferToLowerCasedHeaderName } = require_util$5();
	const { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url();
	const { getGlobalDispatcher } = require_global();
	const { webidl } = require_webidl();
	const { STATUS_CODES } = __require("node:http");
	const { bytesMatch } = require_subresource_integrity();
	const { createDeferredPromise } = require_promise();
	const { isomorphicEncode } = require_infra();
	const { runtimeFeatures } = require_runtime_features();
	const hasZstd = runtimeFeatures.has("zstd");
	const GET_OR_HEAD = ["GET", "HEAD"];
	const defaultUserAgent = typeof __UNDICI_IS_NODE__ !== "undefined" || typeof esbuildDetection !== "undefined" ? "node" : "undici";
	/** @type {import('buffer').resolveObjectURL} */
	let resolveObjectURL;
	var Fetch = class extends EE {
		constructor(dispatcher) {
			super();
			this.dispatcher = dispatcher;
			this.connection = null;
			this.dump = false;
			this.state = "ongoing";
		}
		terminate(reason) {
			if (this.state !== "ongoing") {
				return;
			}
			this.state = "terminated";
			this.connection?.destroy(reason);
			this.emit("terminated", reason);
		}
		abort(error) {
			if (this.state !== "ongoing") {
				return;
			}
			this.state = "aborted";
			if (!error) {
				error = new DOMException("The operation was aborted.", "AbortError");
			}
			this.serializedAbortReason = error;
			this.connection?.destroy(error);
			this.emit("terminated", error);
		}
	};
	function handleFetchDone(response) {
		finalizeAndReportTiming(response, "fetch");
	}
	function fetch(input, init = undefined) {
		webidl.argumentLengthCheck(arguments, 1, "globalThis.fetch");
		let p = createDeferredPromise();
		let requestObject;
		try {
			requestObject = new Request(input, init);
		} catch (e) {
			p.reject(e);
			return p.promise;
		}
		const request = getRequestState(requestObject);
		if (requestObject.signal.aborted) {
			abortFetch(p, request, null, requestObject.signal.reason, null);
			return p.promise;
		}
		const globalObject = request.client.globalObject;
		if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
			request.serviceWorkers = "none";
		}
		let responseObject = null;
		let locallyAborted = false;
		let controller = null;
		addAbortListener(requestObject.signal, () => {
			locallyAborted = true;
			assert$7(controller != null);
			controller.abort(requestObject.signal.reason);
			const realResponse = responseObject?.deref();
			abortFetch(p, request, realResponse, requestObject.signal.reason, controller.controller);
		});
		const processResponse = (response) => {
			if (locallyAborted) {
				return;
			}
			if (response.aborted) {
				abortFetch(p, request, responseObject, controller.serializedAbortReason, controller.controller);
				return;
			}
			if (response.type === "error") {
				p.reject(new TypeError("fetch failed", { cause: response.error }));
				return;
			}
			responseObject = new WeakRef(fromInnerResponse(response, "immutable"));
			p.resolve(responseObject.deref());
			p = null;
		};
		controller = fetching({
			request,
			processResponseEndOfBody: handleFetchDone,
			processResponse,
			dispatcher: getRequestDispatcher(requestObject)
		});
		return p.promise;
	}
	function finalizeAndReportTiming(response, initiatorType = "other") {
		if (response.type === "error" && response.aborted) {
			return;
		}
		if (!response.urlList?.length) {
			return;
		}
		const originalURL = response.urlList[0];
		let timingInfo = response.timingInfo;
		let cacheState = response.cacheState;
		if (!urlIsHttpHttpsScheme(originalURL)) {
			return;
		}
		if (timingInfo === null) {
			return;
		}
		if (!response.timingAllowPassed) {
			timingInfo = createOpaqueTimingInfo({ startTime: timingInfo.startTime });
			cacheState = "";
		}
		timingInfo.endTime = coarsenedSharedCurrentTime();
		response.timingInfo = timingInfo;
		markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis, cacheState, "", response.status);
	}
	const markResourceTiming = performance.markResourceTiming;
	function abortFetch(p, request, responseObject, error, controller) {
		if (p) {
			p.reject(error);
		}
		if (request.body?.stream != null && isReadable(request.body.stream)) {
			request.body.stream.cancel(error).catch((err) => {
				if (err.code === "ERR_INVALID_STATE") {
					return;
				}
				throw err;
			});
		}
		if (responseObject == null) {
			return;
		}
		const response = getResponseState(responseObject);
		if (response.body?.stream != null && isReadable(response.body.stream)) {
			controller.error(error);
		}
	}
	function fetching({ request, processRequestBodyChunkLength, processRequestEndOfBody, processResponse, processResponseEndOfBody, processResponseConsumeBody, useParallelQueue = false, dispatcher = getGlobalDispatcher() }) {
		assert$7(dispatcher);
		let taskDestination = null;
		let crossOriginIsolatedCapability = false;
		if (request.client != null) {
			taskDestination = request.client.globalObject;
			crossOriginIsolatedCapability = request.client.crossOriginIsolatedCapability;
		}
		const currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
		const timingInfo = createOpaqueTimingInfo({ startTime: currentTime });
		const fetchParams = {
			controller: new Fetch(dispatcher),
			request,
			timingInfo,
			processRequestBodyChunkLength,
			processRequestEndOfBody,
			processResponse,
			processResponseConsumeBody,
			processResponseEndOfBody,
			taskDestination,
			crossOriginIsolatedCapability
		};
		assert$7(!request.body || request.body.stream);
		if (request.window === "client") {
			request.window = request.client?.globalObject?.constructor?.name === "Window" ? request.client : "no-window";
		}
		if (request.origin === "client") {
			request.origin = request.client.origin;
		}
		if (request.policyContainer === "client") {
			if (request.client != null) {
				request.policyContainer = clonePolicyContainer(request.client.policyContainer);
			} else {
				request.policyContainer = makePolicyContainer();
			}
		}
		if (!request.headersList.contains("accept", true)) {
			const value = "*/*";
			request.headersList.append("accept", value, true);
		}
		if (!request.headersList.contains("accept-language", true)) {
			request.headersList.append("accept-language", "*", true);
		}
		if (request.priority === null) {}
		if (subresourceSet.has(request.destination)) {}
		mainFetch(fetchParams, false);
		return fetchParams.controller;
	}
	async function mainFetch(fetchParams, recursive) {
		try {
			const request = fetchParams.request;
			let response = null;
			if (request.localURLsOnly && !urlIsLocal(requestCurrentURL(request))) {
				response = makeNetworkError("local URLs only");
			}
			tryUpgradeRequestToAPotentiallyTrustworthyURL(request);
			if (requestBadPort(request) === "blocked") {
				response = makeNetworkError("bad port");
			}
			if (request.referrerPolicy === "") {
				request.referrerPolicy = request.policyContainer.referrerPolicy;
			}
			if (request.referrer !== "no-referrer") {
				request.referrer = determineRequestsReferrer(request);
			}
			if (response === null) {
				const currentURL = requestCurrentURL(request);
				if (sameOrigin(currentURL, request.url) && request.responseTainting === "basic" || currentURL.protocol === "data:" || request.mode === "navigate" || request.mode === "websocket") {
					request.responseTainting = "basic";
					response = await schemeFetch(fetchParams);
				} else if (request.mode === "same-origin") {
					response = makeNetworkError("request mode cannot be \"same-origin\"");
				} else if (request.mode === "no-cors") {
					if (request.redirect !== "follow") {
						response = makeNetworkError("redirect mode cannot be \"follow\" for \"no-cors\" request");
					} else {
						request.responseTainting = "opaque";
						response = await schemeFetch(fetchParams);
					}
				} else if (!urlIsHttpHttpsScheme(requestCurrentURL(request))) {
					response = makeNetworkError("URL scheme must be a HTTP(S) scheme");
				} else {
					request.responseTainting = "cors";
					response = await httpFetch(fetchParams);
				}
			}
			if (recursive) {
				return response;
			}
			if (response.status !== 0 && !response.internalResponse) {
				if (request.responseTainting === "cors") {}
				if (request.responseTainting === "basic") {
					response = filterResponse(response, "basic");
				} else if (request.responseTainting === "cors") {
					response = filterResponse(response, "cors");
				} else if (request.responseTainting === "opaque") {
					response = filterResponse(response, "opaque");
				} else {
					assert$7(false);
				}
			}
			let internalResponse = response.status === 0 ? response : response.internalResponse;
			if (internalResponse.urlList.length === 0) {
				internalResponse.urlList.push(...request.urlList);
			}
			if (!request.timingAllowFailed) {
				response.timingAllowPassed = true;
			}
			if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request.headers.contains("range", true)) {
				response = internalResponse = makeNetworkError();
			}
			if (response.status !== 0 && (request.method === "HEAD" || request.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
				internalResponse.body = null;
				fetchParams.controller.dump = true;
			}
			if (request.integrity) {
				const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason));
				if (request.responseTainting === "opaque" || response.body == null) {
					processBodyError(response.error);
					return;
				}
				const processBody = (bytes) => {
					if (!bytesMatch(bytes, request.integrity)) {
						processBodyError("integrity mismatch");
						return;
					}
					response.body = safelyExtractBody(bytes)[0];
					fetchFinale(fetchParams, response);
				};
				fullyReadBody(response.body, processBody, processBodyError);
			} else {
				fetchFinale(fetchParams, response);
			}
		} catch (err) {
			fetchParams.controller.terminate(err);
		}
	}
	function schemeFetch(fetchParams) {
		if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
			return Promise.resolve(makeAppropriateNetworkError(fetchParams));
		}
		const { request } = fetchParams;
		const { protocol: scheme } = requestCurrentURL(request);
		switch (scheme) {
			case "about:": {
				return Promise.resolve(makeNetworkError("about scheme is not supported"));
			}
			case "blob:": {
				if (!resolveObjectURL) {
					resolveObjectURL = __require("node:buffer").resolveObjectURL;
				}
				const blobURLEntry = requestCurrentURL(request);
				if (blobURLEntry.search.length !== 0) {
					return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
				}
				const blob = resolveObjectURL(blobURLEntry.toString());
				if (request.method !== "GET" || !webidl.is.Blob(blob)) {
					return Promise.resolve(makeNetworkError("invalid method"));
				}
				const response = makeResponse();
				const fullLength = blob.size;
				const serializedFullLength = isomorphicEncode(`${fullLength}`);
				const type = blob.type;
				if (!request.headersList.contains("range", true)) {
					const bodyWithType = extractBody(blob);
					response.statusText = "OK";
					response.body = bodyWithType[0];
					response.headersList.set("content-length", serializedFullLength, true);
					response.headersList.set("content-type", type, true);
				} else {
					response.rangeRequested = true;
					const rangeHeader = request.headersList.get("range", true);
					const rangeValue = simpleRangeHeaderValue(rangeHeader, true);
					if (rangeValue === "failure") {
						return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
					}
					let { rangeStartValue: rangeStart, rangeEndValue: rangeEnd } = rangeValue;
					if (rangeStart === null) {
						rangeStart = fullLength - rangeEnd;
						rangeEnd = rangeStart + rangeEnd - 1;
					} else {
						if (rangeStart >= fullLength) {
							return Promise.resolve(makeNetworkError("Range start is greater than the blob's size."));
						}
						if (rangeEnd === null || rangeEnd >= fullLength) {
							rangeEnd = fullLength - 1;
						}
					}
					const slicedBlob = blob.slice(rangeStart, rangeEnd + 1, type);
					const slicedBodyWithType = extractBody(slicedBlob);
					response.body = slicedBodyWithType[0];
					const serializedSlicedLength = isomorphicEncode(`${slicedBlob.size}`);
					const contentRange = buildContentRange(rangeStart, rangeEnd, fullLength);
					response.status = 206;
					response.statusText = "Partial Content";
					response.headersList.set("content-length", serializedSlicedLength, true);
					response.headersList.set("content-type", type, true);
					response.headersList.set("content-range", contentRange, true);
				}
				return Promise.resolve(response);
			}
			case "data:": {
				const currentURL = requestCurrentURL(request);
				const dataURLStruct = dataURLProcessor(currentURL);
				if (dataURLStruct === "failure") {
					return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
				}
				const mimeType = serializeAMimeType(dataURLStruct.mimeType);
				return Promise.resolve(makeResponse({
					statusText: "OK",
					headersList: [["content-type", {
						name: "Content-Type",
						value: mimeType
					}]],
					body: safelyExtractBody(dataURLStruct.body)[0]
				}));
			}
			case "file:": {
				return Promise.resolve(makeNetworkError("not implemented... yet..."));
			}
			case "http:":
			case "https:": {
				return httpFetch(fetchParams).catch((err) => makeNetworkError(err));
			}
			default: {
				return Promise.resolve(makeNetworkError("unknown scheme"));
			}
		}
	}
	function finalizeResponse(fetchParams, response) {
		fetchParams.request.done = true;
		if (fetchParams.processResponseDone != null) {
			queueMicrotask(() => fetchParams.processResponseDone(response));
		}
	}
	function fetchFinale(fetchParams, response) {
		let timingInfo = fetchParams.timingInfo;
		const processResponseEndOfBody = () => {
			const unsafeEndTime = Date.now();
			if (fetchParams.request.destination === "document") {
				fetchParams.controller.fullTimingInfo = timingInfo;
			}
			fetchParams.controller.reportTimingSteps = () => {
				if (!urlIsHttpHttpsScheme(fetchParams.request.url)) {
					return;
				}
				timingInfo.endTime = unsafeEndTime;
				let cacheState = response.cacheState;
				const bodyInfo = response.bodyInfo;
				if (!response.timingAllowPassed) {
					timingInfo = createOpaqueTimingInfo(timingInfo);
					cacheState = "";
				}
				let responseStatus = 0;
				if (fetchParams.request.mode !== "navigator" || !response.hasCrossOriginRedirects) {
					responseStatus = response.status;
					const mimeType = extractMimeType(response.headersList);
					if (mimeType !== "failure") {
						bodyInfo.contentType = minimizeSupportedMimeType(mimeType);
					}
				}
				if (fetchParams.request.initiatorType != null) {
					markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus);
				}
			};
			const processResponseEndOfBodyTask = () => {
				fetchParams.request.done = true;
				if (fetchParams.processResponseEndOfBody != null) {
					queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
				}
				if (fetchParams.request.initiatorType != null) {
					fetchParams.controller.reportTimingSteps();
				}
			};
			queueMicrotask(() => processResponseEndOfBodyTask());
		};
		if (fetchParams.processResponse != null) {
			queueMicrotask(() => {
				fetchParams.processResponse(response);
				fetchParams.processResponse = null;
			});
		}
		const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
		if (internalResponse.body == null) {
			processResponseEndOfBody();
		} else {
			finished$1(internalResponse.body.stream, () => {
				processResponseEndOfBody();
			});
		}
	}
	async function httpFetch(fetchParams) {
		const request = fetchParams.request;
		let response = null;
		let actualResponse = null;
		const timingInfo = fetchParams.timingInfo;
		if (request.serviceWorkers === "all") {}
		if (response === null) {
			if (request.redirect === "follow") {
				request.serviceWorkers = "none";
			}
			actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
			if (request.responseTainting === "cors" && corsCheck(request, response) === "failure") {
				return makeNetworkError("cors failure");
			}
			if (TAOCheck(request, response) === "failure") {
				request.timingAllowFailed = true;
			}
		}
		if ((request.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(request.origin, request.client, request.destination, actualResponse) === "blocked") {
			return makeNetworkError("blocked");
		}
		if (redirectStatusSet.has(actualResponse.status)) {
			if (request.redirect !== "manual") {
				fetchParams.controller.connection.destroy(undefined, false);
			}
			if (request.redirect === "error") {
				response = makeNetworkError("unexpected redirect");
			} else if (request.redirect === "manual") {
				response = actualResponse;
			} else if (request.redirect === "follow") {
				response = await httpRedirectFetch(fetchParams, response);
			} else {
				assert$7(false);
			}
		}
		response.timingInfo = timingInfo;
		return response;
	}
	function httpRedirectFetch(fetchParams, response) {
		const request = fetchParams.request;
		const actualResponse = response.internalResponse ? response.internalResponse : response;
		let locationURL;
		try {
			locationURL = responseLocationURL(actualResponse, requestCurrentURL(request).hash);
			if (locationURL == null) {
				return response;
			}
		} catch (err) {
			return Promise.resolve(makeNetworkError(err));
		}
		if (!urlIsHttpHttpsScheme(locationURL)) {
			return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
		}
		if (request.redirectCount === 20) {
			return Promise.resolve(makeNetworkError("redirect count exceeded"));
		}
		request.redirectCount += 1;
		if (request.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request, locationURL)) {
			return Promise.resolve(makeNetworkError("cross origin not allowed for request mode \"cors\""));
		}
		if (request.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
			return Promise.resolve(makeNetworkError("URL cannot contain credentials for request mode \"cors\""));
		}
		if (actualResponse.status !== 303 && request.body != null && request.body.source == null) {
			return Promise.resolve(makeNetworkError());
		}
		if ([301, 302].includes(actualResponse.status) && request.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request.method)) {
			request.method = "GET";
			request.body = null;
			for (const headerName of requestBodyHeader) {
				request.headersList.delete(headerName);
			}
		}
		if (!sameOrigin(requestCurrentURL(request), locationURL)) {
			request.headersList.delete("authorization", true);
			request.headersList.delete("proxy-authorization", true);
			request.headersList.delete("cookie", true);
			request.headersList.delete("host", true);
		}
		if (request.body != null) {
			assert$7(request.body.source != null);
			request.body = safelyExtractBody(request.body.source)[0];
		}
		const timingInfo = fetchParams.timingInfo;
		timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
		if (timingInfo.redirectStartTime === 0) {
			timingInfo.redirectStartTime = timingInfo.startTime;
		}
		request.urlList.push(locationURL);
		setRequestReferrerPolicyOnRedirect(request, actualResponse);
		return mainFetch(fetchParams, true);
	}
	async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
		const request = fetchParams.request;
		let httpFetchParams = null;
		let httpRequest = null;
		let response = null;
		const httpCache = null;
		const revalidatingFlag = false;
		if (request.window === "no-window" && request.redirect === "error") {
			httpFetchParams = fetchParams;
			httpRequest = request;
		} else {
			httpRequest = cloneRequest(request);
			httpFetchParams = { ...fetchParams };
			httpFetchParams.request = httpRequest;
		}
		const includeCredentials = request.credentials === "include" || request.credentials === "same-origin" && request.responseTainting === "basic";
		const contentLength = httpRequest.body ? httpRequest.body.length : null;
		let contentLengthHeaderValue = null;
		if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
			contentLengthHeaderValue = "0";
		}
		if (contentLength != null) {
			contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
		}
		if (contentLengthHeaderValue != null) {
			httpRequest.headersList.append("content-length", contentLengthHeaderValue, true);
		}
		if (contentLength != null && httpRequest.keepalive) {}
		if (webidl.is.URL(httpRequest.referrer)) {
			httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
		}
		appendRequestOriginHeader(httpRequest);
		appendFetchMetadata(httpRequest);
		if (!httpRequest.headersList.contains("user-agent", true)) {
			httpRequest.headersList.append("user-agent", defaultUserAgent, true);
		}
		if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since", true) || httpRequest.headersList.contains("if-none-match", true) || httpRequest.headersList.contains("if-unmodified-since", true) || httpRequest.headersList.contains("if-match", true) || httpRequest.headersList.contains("if-range", true))) {
			httpRequest.cache = "no-store";
		}
		if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control", true)) {
			httpRequest.headersList.append("cache-control", "max-age=0", true);
		}
		if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
			if (!httpRequest.headersList.contains("pragma", true)) {
				httpRequest.headersList.append("pragma", "no-cache", true);
			}
			if (!httpRequest.headersList.contains("cache-control", true)) {
				httpRequest.headersList.append("cache-control", "no-cache", true);
			}
		}
		if (httpRequest.headersList.contains("range", true)) {
			httpRequest.headersList.append("accept-encoding", "identity", true);
		}
		if (!httpRequest.headersList.contains("accept-encoding", true)) {
			if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
				httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
			} else {
				httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
			}
		}
		httpRequest.headersList.delete("host", true);
		if (includeCredentials) {
			if (!httpRequest.headersList.contains("authorization", true)) {
				let authorizationValue = null;
				if (hasAuthenticationEntry(httpRequest) && (httpRequest.useURLCredentials === undefined || !includesCredentials(requestCurrentURL(httpRequest)))) {} else if (includesCredentials(requestCurrentURL(httpRequest)) && isAuthenticationFetch) {
					const { username, password } = requestCurrentURL(httpRequest);
					authorizationValue = `Basic ${Buffer.from(`${username}:${password}`).toString("base64")}`;
				}
				if (authorizationValue !== null) {
					httpRequest.headersList.append("Authorization", authorizationValue, false);
				}
			}
		}
		if (httpCache == null) {
			httpRequest.cache = "no-store";
		}
		if (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {}
		if (response == null) {
			if (httpRequest.cache === "only-if-cached") {
				return makeNetworkError("only if cached");
			}
			const forwardResponse = await httpNetworkFetch(httpFetchParams, includeCredentials, isNewConnectionFetch);
			if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {}
			if (revalidatingFlag && forwardResponse.status === 304) {}
			if (response == null) {
				response = forwardResponse;
			}
		}
		response.urlList = [...httpRequest.urlList];
		if (httpRequest.headersList.contains("range", true)) {
			response.rangeRequested = true;
		}
		response.requestIncludesCredentials = includeCredentials;
		if (response.status === 401 && httpRequest.responseTainting !== "cors" && includeCredentials && isTraversableNavigable(request.traversableForUserPrompts)) {
			if (request.body != null) {
				if (request.body.source == null) {
					return makeNetworkError("expected non-null body source");
				}
				request.body = safelyExtractBody(request.body.source)[0];
			}
			if (request.useURLCredentials === undefined || isAuthenticationFetch) {
				if (isCancelled(fetchParams)) {
					return makeAppropriateNetworkError(fetchParams);
				}
				return response;
			}
			fetchParams.controller.connection.destroy();
			response = await httpNetworkOrCacheFetch(fetchParams, true);
		}
		if (response.status === 407) {
			if (request.window === "no-window") {
				return makeNetworkError();
			}
			if (isCancelled(fetchParams)) {
				return makeAppropriateNetworkError(fetchParams);
			}
			return makeNetworkError("proxy authentication required");
		}
		if (response.status === 421 && !isNewConnectionFetch && (request.body == null || request.body.source != null)) {
			if (isCancelled(fetchParams)) {
				return makeAppropriateNetworkError(fetchParams);
			}
			fetchParams.controller.connection.destroy();
			response = await httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch, true);
		}
		if (isAuthenticationFetch) {}
		return response;
	}
	async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
		assert$7(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
		fetchParams.controller.connection = {
			abort: null,
			destroyed: false,
			destroy(err, abort = true) {
				if (!this.destroyed) {
					this.destroyed = true;
					if (abort) {
						this.abort?.(err ?? new DOMException("The operation was aborted.", "AbortError"));
					}
				}
			}
		};
		const request = fetchParams.request;
		let response = null;
		const timingInfo = fetchParams.timingInfo;
		const httpCache = null;
		if (httpCache == null) {
			request.cache = "no-store";
		}
		const newConnection = forceNewConnection ? "yes" : "no";
		if (request.mode === "websocket") {} else {}
		let requestBody = null;
		if (request.body == null && fetchParams.processRequestEndOfBody) {
			queueMicrotask(() => fetchParams.processRequestEndOfBody());
		} else if (request.body != null) {
			const processBodyChunk = async function* (bytes) {
				if (isCancelled(fetchParams)) {
					return;
				}
				yield bytes;
				fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
			};
			const processEndOfBody = () => {
				if (isCancelled(fetchParams)) {
					return;
				}
				if (fetchParams.processRequestEndOfBody) {
					fetchParams.processRequestEndOfBody();
				}
			};
			const processBodyError = (e) => {
				if (isCancelled(fetchParams)) {
					return;
				}
				if (e.name === "AbortError") {
					fetchParams.controller.abort();
				} else {
					fetchParams.controller.terminate(e);
				}
			};
			requestBody = (async function* () {
				try {
					for await (const bytes of request.body.stream) {
						yield* processBodyChunk(bytes);
					}
					processEndOfBody();
				} catch (err) {
					processBodyError(err);
				}
			})();
		}
		try {
			const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
			if (socket) {
				response = makeResponse({
					status,
					statusText,
					headersList,
					socket
				});
			} else {
				const iterator = body[Symbol.asyncIterator]();
				fetchParams.controller.next = () => iterator.next();
				response = makeResponse({
					status,
					statusText,
					headersList
				});
			}
		} catch (err) {
			if (err.name === "AbortError") {
				fetchParams.controller.connection.destroy();
				return makeAppropriateNetworkError(fetchParams, err);
			}
			return makeNetworkError(err);
		}
		const pullAlgorithm = () => {
			return fetchParams.controller.resume();
		};
		const cancelAlgorithm = (reason) => {
			if (!isCancelled(fetchParams)) {
				fetchParams.controller.abort(reason);
			}
		};
		const stream = new ReadableStream({
			start(controller) {
				fetchParams.controller.controller = controller;
			},
			pull: pullAlgorithm,
			cancel: cancelAlgorithm,
			type: "bytes"
		});
		response.body = {
			stream,
			source: null,
			length: null
		};
		if (!fetchParams.controller.resume) {
			fetchParams.controller.on("terminated", onAborted);
		}
		fetchParams.controller.resume = async () => {
			while (true) {
				let bytes;
				let isFailure;
				try {
					const { done, value } = await fetchParams.controller.next();
					if (isAborted(fetchParams)) {
						break;
					}
					bytes = done ? undefined : value;
				} catch (err) {
					if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
						bytes = undefined;
					} else {
						bytes = err;
						isFailure = true;
					}
				}
				if (bytes === undefined) {
					readableStreamClose(fetchParams.controller.controller);
					finalizeResponse(fetchParams, response);
					return;
				}
				timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
				if (isFailure) {
					fetchParams.controller.terminate(bytes);
					return;
				}
				const buffer = new Uint8Array(bytes);
				if (buffer.byteLength) {
					fetchParams.controller.controller.enqueue(buffer);
				}
				if (isErrored(stream)) {
					fetchParams.controller.terminate();
					return;
				}
				if (fetchParams.controller.controller.desiredSize <= 0) {
					return;
				}
			}
		};
		function onAborted(reason) {
			if (isAborted(fetchParams)) {
				response.aborted = true;
				if (isReadable(stream)) {
					fetchParams.controller.controller.error(fetchParams.controller.serializedAbortReason);
				}
			} else {
				if (isReadable(stream)) {
					fetchParams.controller.controller.error(new TypeError("terminated", { cause: isErrorLike(reason) ? reason : undefined }));
				}
			}
			fetchParams.controller.connection.destroy();
		}
		return response;
		function dispatch({ body }) {
			const url = requestCurrentURL(request);
			/** @type {import('../../..').Agent} */
			const agent = fetchParams.controller.dispatcher;
			return new Promise((resolve, reject) => agent.dispatch({
				path: url.pathname + url.search,
				origin: url.origin,
				method: request.method,
				body: agent.isMockActive ? request.body && (request.body.source || request.body.stream) : body,
				headers: request.headersList.entries,
				maxRedirections: 0,
				upgrade: request.mode === "websocket" ? "websocket" : undefined
			}, {
				body: null,
				abort: null,
				onConnect(abort) {
					const { connection } = fetchParams.controller;
					timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(undefined, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
					if (connection.destroyed) {
						abort(new DOMException("The operation was aborted.", "AbortError"));
					} else {
						fetchParams.controller.on("terminated", abort);
						this.abort = connection.abort = abort;
					}
					timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
				},
				onResponseStarted() {
					timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
				},
				onHeaders(status, rawHeaders, resume, statusText) {
					if (status < 200) {
						return false;
					}
					const headersList = new HeadersList();
					for (let i = 0; i < rawHeaders.length; i += 2) {
						headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
					}
					const location = headersList.get("location", true);
					this.body = new Readable$1({ read: resume });
					const willFollow = location && request.redirect === "follow" && redirectStatusSet.has(status);
					const decoders = [];
					if (request.method !== "HEAD" && request.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
						const contentEncoding = headersList.get("content-encoding", true);
						/** @type {string[]} */
						const codings = contentEncoding ? contentEncoding.toLowerCase().split(",") : [];
						const maxContentEncodings = 5;
						if (codings.length > maxContentEncodings) {
							reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`));
							return true;
						}
						for (let i = codings.length - 1; i >= 0; --i) {
							const coding = codings[i].trim();
							if (coding === "x-gzip" || coding === "gzip") {
								decoders.push(zlib$1.createGunzip({
									flush: zlib$1.constants.Z_SYNC_FLUSH,
									finishFlush: zlib$1.constants.Z_SYNC_FLUSH
								}));
							} else if (coding === "deflate") {
								decoders.push(createInflate({
									flush: zlib$1.constants.Z_SYNC_FLUSH,
									finishFlush: zlib$1.constants.Z_SYNC_FLUSH
								}));
							} else if (coding === "br") {
								decoders.push(zlib$1.createBrotliDecompress({
									flush: zlib$1.constants.BROTLI_OPERATION_FLUSH,
									finishFlush: zlib$1.constants.BROTLI_OPERATION_FLUSH
								}));
							} else if (coding === "zstd" && hasZstd) {
								decoders.push(zlib$1.createZstdDecompress({
									flush: zlib$1.constants.ZSTD_e_continue,
									finishFlush: zlib$1.constants.ZSTD_e_end
								}));
							} else {
								decoders.length = 0;
								break;
							}
						}
					}
					const onError = this.onError.bind(this);
					resolve({
						status,
						statusText,
						headersList,
						body: decoders.length ? pipeline$2(this.body, ...decoders, (err) => {
							if (err) {
								this.onError(err);
							}
						}).on("error", onError) : this.body.on("error", onError)
					});
					return true;
				},
				onData(chunk) {
					if (fetchParams.controller.dump) {
						return;
					}
					const bytes = chunk;
					timingInfo.encodedBodySize += bytes.byteLength;
					return this.body.push(bytes);
				},
				onComplete() {
					if (this.abort) {
						fetchParams.controller.off("terminated", this.abort);
					}
					fetchParams.controller.ended = true;
					this.body.push(null);
				},
				onError(error) {
					if (this.abort) {
						fetchParams.controller.off("terminated", this.abort);
					}
					this.body?.destroy(error);
					fetchParams.controller.terminate(error);
					reject(error);
				},
				onUpgrade(status, rawHeaders, socket) {
					if (socket.session != null && status !== 200 || socket.session == null && status !== 101) {
						return false;
					}
					const headersList = new HeadersList();
					for (let i = 0; i < rawHeaders.length; i += 2) {
						headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i]), rawHeaders[i + 1].toString("latin1"), true);
					}
					resolve({
						status,
						statusText: STATUS_CODES[status],
						headersList,
						socket
					});
					return true;
				}
			}));
		}
	}
	module.exports = {
		fetch,
		Fetch,
		fetching,
		finalizeAndReportTiming
	};
}));

//#endregion
//#region ../node_modules/undici/lib/web/cache/util.js
var require_util$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const assert$6 = __require("node:assert");
	const { URLSerializer } = require_data_url();
	const { isValidHeaderName } = require_util$4();
	/**
	* @see https://url.spec.whatwg.org/#concept-url-equals
	* @param {URL} A
	* @param {URL} B
	* @param {boolean | undefined} excludeFragment
	* @returns {boolean}
	*/
	function urlEquals(A, B, excludeFragment = false) {
		const serializedA = URLSerializer(A, excludeFragment);
		const serializedB = URLSerializer(B, excludeFragment);
		return serializedA === serializedB;
	}
	/**
	* @see https://github.com/chromium/chromium/blob/694d20d134cb553d8d89e5500b9148012b1ba299/content/browser/cache_storage/cache_storage_cache.cc#L260-L262
	* @param {string} header
	*/
	function getFieldValues(header) {
		assert$6(header !== null);
		const values = [];
		for (let value of header.split(",")) {
			value = value.trim();
			if (isValidHeaderName(value)) {
				values.push(value);
			}
		}
		return values;
	}
	module.exports = {
		urlEquals,
		getFieldValues
	};
}));

//#endregion
//#region ../node_modules/undici/lib/web/cache/cache.js
var require_cache = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const assert$5 = __require("node:assert");
	const { kConstruct } = require_symbols();
	const { urlEquals, getFieldValues } = require_util$3();
	const { kEnumerableProperty, isDisturbed } = require_util$5();
	const { webidl } = require_webidl();
	const { cloneResponse, fromInnerResponse, getResponseState } = require_response$1();
	const { Request, fromInnerRequest, getRequestState } = require_request$1();
	const { fetching } = require_fetch();
	const { urlIsHttpHttpsScheme, readAllBytes } = require_util$4();
	const { createDeferredPromise } = require_promise();
	/**
	* @see https://w3c.github.io/ServiceWorker/#dfn-cache-batch-operation
	* @typedef {Object} CacheBatchOperation
	* @property {'delete' | 'put'} type
	* @property {any} request
	* @property {any} response
	* @property {import('../../../types/cache').CacheQueryOptions} options
	*/
	/**
	* @see https://w3c.github.io/ServiceWorker/#dfn-request-response-list
	* @typedef {[any, any][]} requestResponseList
	*/
	var Cache = class Cache {
		/**
		* @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list
		* @type {requestResponseList}
		*/
		#relevantRequestResponseList;
		constructor() {
			if (arguments[0] !== kConstruct) {
				webidl.illegalConstructor();
			}
			webidl.util.markAsUncloneable(this);
			this.#relevantRequestResponseList = arguments[1];
		}
		async match(request, options = {}) {
			webidl.brandCheck(this, Cache);
			const prefix = "Cache.match";
			webidl.argumentLengthCheck(arguments, 1, prefix);
			request = webidl.converters.RequestInfo(request);
			options = webidl.converters.CacheQueryOptions(options, prefix, "options");
			const p = this.#internalMatchAll(request, options, 1);
			if (p.length === 0) {
				return;
			}
			return p[0];
		}
		async matchAll(request = undefined, options = {}) {
			webidl.brandCheck(this, Cache);
			const prefix = "Cache.matchAll";
			if (request !== undefined) request = webidl.converters.RequestInfo(request);
			options = webidl.converters.CacheQueryOptions(options, prefix, "options");
			return this.#internalMatchAll(request, options);
		}
		async add(request) {
			webidl.brandCheck(this, Cache);
			const prefix = "Cache.add";
			webidl.argumentLengthCheck(arguments, 1, prefix);
			request = webidl.converters.RequestInfo(request);
			const requests = [request];
			const responseArrayPromise = this.addAll(requests);
			return await responseArrayPromise;
		}
		async addAll(requests) {
			webidl.brandCheck(this, Cache);
			const prefix = "Cache.addAll";
			webidl.argumentLengthCheck(arguments, 1, prefix);
			const responsePromises = [];
			const requestList = [];
			for (let request of requests) {
				if (request === undefined) {
					throw webidl.errors.conversionFailed({
						prefix,
						argument: "Argument 1",
						types: ["undefined is not allowed"]
					});
				}
				request = webidl.converters.RequestInfo(request);
				if (typeof request === "string") {
					continue;
				}
				const r = getRequestState(request);
				if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
					throw webidl.errors.exception({
						header: prefix,
						message: "Expected http/s scheme when method is not GET."
					});
				}
			}
			/** @type {ReturnType<typeof fetching>[]} */
			const fetchControllers = [];
			for (const request of requests) {
				const r = getRequestState(new Request(request));
				if (!urlIsHttpHttpsScheme(r.url)) {
					throw webidl.errors.exception({
						header: prefix,
						message: "Expected http/s scheme."
					});
				}
				r.initiator = "fetch";
				r.destination = "subresource";
				requestList.push(r);
				const responsePromise = createDeferredPromise();
				fetchControllers.push(fetching({
					request: r,
					processResponse(response) {
						if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
							responsePromise.reject(webidl.errors.exception({
								header: "Cache.addAll",
								message: "Received an invalid status code or the request failed."
							}));
						} else if (response.headersList.contains("vary")) {
							const fieldValues = getFieldValues(response.headersList.get("vary"));
							for (const fieldValue of fieldValues) {
								if (fieldValue === "*") {
									responsePromise.reject(webidl.errors.exception({
										header: "Cache.addAll",
										message: "invalid vary field value"
									}));
									for (const controller of fetchControllers) {
										controller.abort();
									}
									return;
								}
							}
						}
					},
					processResponseEndOfBody(response) {
						if (response.aborted) {
							responsePromise.reject(new DOMException("aborted", "AbortError"));
							return;
						}
						responsePromise.resolve(response);
					}
				}));
				responsePromises.push(responsePromise.promise);
			}
			const p = Promise.all(responsePromises);
			const responses = await p;
			const operations = [];
			let index = 0;
			for (const response of responses) {
				/** @type {CacheBatchOperation} */
				const operation = {
					type: "put",
					request: requestList[index],
					response
				};
				operations.push(operation);
				index++;
			}
			const cacheJobPromise = createDeferredPromise();
			let errorData = null;
			try {
				this.#batchCacheOperations(operations);
			} catch (e) {
				errorData = e;
			}
			queueMicrotask(() => {
				if (errorData === null) {
					cacheJobPromise.resolve(undefined);
				} else {
					cacheJobPromise.reject(errorData);
				}
			});
			return cacheJobPromise.promise;
		}
		async put(request, response) {
			webidl.brandCheck(this, Cache);
			const prefix = "Cache.put";
			webidl.argumentLengthCheck(arguments, 2, prefix);
			request = webidl.converters.RequestInfo(request);
			response = webidl.converters.Response(response, prefix, "response");
			let innerRequest = null;
			if (webidl.is.Request(request)) {
				innerRequest = getRequestState(request);
			} else {
				innerRequest = getRequestState(new Request(request));
			}
			if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
				throw webidl.errors.exception({
					header: prefix,
					message: "Expected an http/s scheme when method is not GET"
				});
			}
			const innerResponse = getResponseState(response);
			if (innerResponse.status === 206) {
				throw webidl.errors.exception({
					header: prefix,
					message: "Got 206 status"
				});
			}
			if (innerResponse.headersList.contains("vary")) {
				const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
				for (const fieldValue of fieldValues) {
					if (fieldValue === "*") {
						throw webidl.errors.exception({
							header: prefix,
							message: "Got * vary field value"
						});
					}
				}
			}
			if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
				throw webidl.errors.exception({
					header: prefix,
					message: "Response body is locked or disturbed"
				});
			}
			const clonedResponse = cloneResponse(innerResponse);
			const bodyReadPromise = createDeferredPromise();
			if (innerResponse.body != null) {
				const stream = innerResponse.body.stream;
				const reader = stream.getReader();
				readAllBytes(reader, bodyReadPromise.resolve, bodyReadPromise.reject);
			} else {
				bodyReadPromise.resolve(undefined);
			}
			/** @type {CacheBatchOperation[]} */
			const operations = [];
			/** @type {CacheBatchOperation} */
			const operation = {
				type: "put",
				request: innerRequest,
				response: clonedResponse
			};
			operations.push(operation);
			const bytes = await bodyReadPromise.promise;
			if (clonedResponse.body != null) {
				clonedResponse.body.source = bytes;
			}
			const cacheJobPromise = createDeferredPromise();
			let errorData = null;
			try {
				this.#batchCacheOperations(operations);
			} catch (e) {
				errorData = e;
			}
			queueMicrotask(() => {
				if (errorData === null) {
					cacheJobPromise.resolve();
				} else {
					cacheJobPromise.reject(errorData);
				}
			});
			return cacheJobPromise.promise;
		}
		async delete(request, options = {}) {
			webidl.brandCheck(this, Cache);
			const prefix = "Cache.delete";
			webidl.argumentLengthCheck(arguments, 1, prefix);
			request = webidl.converters.RequestInfo(request);
			options = webidl.converters.CacheQueryOptions(options, prefix, "options");
			/**
			* @type {Request}
			*/
			let r = null;
			if (webidl.is.Request(request)) {
				r = getRequestState(request);
				if (r.method !== "GET" && !options.ignoreMethod) {
					return false;
				}
			} else {
				assert$5(typeof request === "string");
				r = getRequestState(new Request(request));
			}
			/** @type {CacheBatchOperation[]} */
			const operations = [];
			/** @type {CacheBatchOperation} */
			const operation = {
				type: "delete",
				request: r,
				options
			};
			operations.push(operation);
			const cacheJobPromise = createDeferredPromise();
			let errorData = null;
			let requestResponses;
			try {
				requestResponses = this.#batchCacheOperations(operations);
			} catch (e) {
				errorData = e;
			}
			queueMicrotask(() => {
				if (errorData === null) {
					cacheJobPromise.resolve(!!requestResponses?.length);
				} else {
					cacheJobPromise.reject(errorData);
				}
			});
			return cacheJobPromise.promise;
		}
		/**
		* @see https://w3c.github.io/ServiceWorker/#dom-cache-keys
		* @param {any} request
		* @param {import('../../../types/cache').CacheQueryOptions} options
		* @returns {Promise<readonly Request[]>}
		*/
		async keys(request = undefined, options = {}) {
			webidl.brandCheck(this, Cache);
			const prefix = "Cache.keys";
			if (request !== undefined) request = webidl.converters.RequestInfo(request);
			options = webidl.converters.CacheQueryOptions(options, prefix, "options");
			let r = null;
			if (request !== undefined) {
				if (webidl.is.Request(request)) {
					r = getRequestState(request);
					if (r.method !== "GET" && !options.ignoreMethod) {
						return [];
					}
				} else if (typeof request === "string") {
					r = getRequestState(new Request(request));
				}
			}
			const promise = createDeferredPromise();
			const requests = [];
			if (request === undefined) {
				for (const requestResponse of this.#relevantRequestResponseList) {
					requests.push(requestResponse[0]);
				}
			} else {
				const requestResponses = this.#queryCache(r, options);
				for (const requestResponse of requestResponses) {
					requests.push(requestResponse[0]);
				}
			}
			queueMicrotask(() => {
				const requestList = [];
				for (const request of requests) {
					const requestObject = fromInnerRequest(request, undefined, new AbortController().signal, "immutable");
					requestList.push(requestObject);
				}
				promise.resolve(Object.freeze(requestList));
			});
			return promise.promise;
		}
		/**
		* @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm
		* @param {CacheBatchOperation[]} operations
		* @returns {requestResponseList}
		*/
		#batchCacheOperations(operations) {
			const cache = this.#relevantRequestResponseList;
			const backupCache = [...cache];
			const addedItems = [];
			const resultList = [];
			try {
				for (const operation of operations) {
					if (operation.type !== "delete" && operation.type !== "put") {
						throw webidl.errors.exception({
							header: "Cache.#batchCacheOperations",
							message: "operation type does not match \"delete\" or \"put\""
						});
					}
					if (operation.type === "delete" && operation.response != null) {
						throw webidl.errors.exception({
							header: "Cache.#batchCacheOperations",
							message: "delete operation should not have an associated response"
						});
					}
					if (this.#queryCache(operation.request, operation.options, addedItems).length) {
						throw new DOMException("???", "InvalidStateError");
					}
					let requestResponses;
					if (operation.type === "delete") {
						requestResponses = this.#queryCache(operation.request, operation.options);
						if (requestResponses.length === 0) {
							return [];
						}
						for (const requestResponse of requestResponses) {
							const idx = cache.indexOf(requestResponse);
							assert$5(idx !== -1);
							cache.splice(idx, 1);
						}
					} else if (operation.type === "put") {
						if (operation.response == null) {
							throw webidl.errors.exception({
								header: "Cache.#batchCacheOperations",
								message: "put operation should have an associated response"
							});
						}
						const r = operation.request;
						if (!urlIsHttpHttpsScheme(r.url)) {
							throw webidl.errors.exception({
								header: "Cache.#batchCacheOperations",
								message: "expected http or https scheme"
							});
						}
						if (r.method !== "GET") {
							throw webidl.errors.exception({
								header: "Cache.#batchCacheOperations",
								message: "not get method"
							});
						}
						if (operation.options != null) {
							throw webidl.errors.exception({
								header: "Cache.#batchCacheOperations",
								message: "options must not be defined"
							});
						}
						requestResponses = this.#queryCache(operation.request);
						for (const requestResponse of requestResponses) {
							const idx = cache.indexOf(requestResponse);
							assert$5(idx !== -1);
							cache.splice(idx, 1);
						}
						cache.push([operation.request, operation.response]);
						addedItems.push([operation.request, operation.response]);
					}
					resultList.push([operation.request, operation.response]);
				}
				return resultList;
			} catch (e) {
				this.#relevantRequestResponseList.length = 0;
				this.#relevantRequestResponseList = backupCache;
				throw e;
			}
		}
		/**
		* @see https://w3c.github.io/ServiceWorker/#query-cache
		* @param {any} requestQuery
		* @param {import('../../../types/cache').CacheQueryOptions} options
		* @param {requestResponseList} targetStorage
		* @returns {requestResponseList}
		*/
		#queryCache(requestQuery, options, targetStorage) {
			/** @type {requestResponseList} */
			const resultList = [];
			const storage = targetStorage ?? this.#relevantRequestResponseList;
			for (const requestResponse of storage) {
				const [cachedRequest, cachedResponse] = requestResponse;
				if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {
					resultList.push(requestResponse);
				}
			}
			return resultList;
		}
		/**
		* @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm
		* @param {any} requestQuery
		* @param {any} request
		* @param {any | null} response
		* @param {import('../../../types/cache').CacheQueryOptions | undefined} options
		* @returns {boolean}
		*/
		#requestMatchesCachedItem(requestQuery, request, response = null, options) {
			const queryURL = new URL(requestQuery.url);
			const cachedURL = new URL(request.url);
			if (options?.ignoreSearch) {
				cachedURL.search = "";
				queryURL.search = "";
			}
			if (!urlEquals(queryURL, cachedURL, true)) {
				return false;
			}
			if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
				return true;
			}
			const fieldValues = getFieldValues(response.headersList.get("vary"));
			for (const fieldValue of fieldValues) {
				if (fieldValue === "*") {
					return false;
				}
				const requestValue = request.headersList.get(fieldValue);
				const queryValue = requestQuery.headersList.get(fieldValue);
				if (requestValue !== queryValue) {
					return false;
				}
			}
			return true;
		}
		#internalMatchAll(request, options, maxResponses = Infinity) {
			let r = null;
			if (request !== undefined) {
				if (webidl.is.Request(request)) {
					r = getRequestState(request);
					if (r.method !== "GET" && !options.ignoreMethod) {
						return [];
					}
				} else if (typeof request === "string") {
					r = getRequestState(new Request(request));
				}
			}
			const responses = [];
			if (request === undefined) {
				for (const requestResponse of this.#relevantRequestResponseList) {
					responses.push(requestResponse[1]);
				}
			} else {
				const requestResponses = this.#queryCache(r, options);
				for (const requestResponse of requestResponses) {
					responses.push(requestResponse[1]);
				}
			}
			const responseList = [];
			for (const response of responses) {
				const responseObject = fromInnerResponse(cloneResponse(response), "immutable");
				responseList.push(responseObject);
				if (responseList.length >= maxResponses) {
					break;
				}
			}
			return Object.freeze(responseList);
		}
	};
	Object.defineProperties(Cache.prototype, {
		[Symbol.toStringTag]: {
			value: "Cache",
			configurable: true
		},
		match: kEnumerableProperty,
		matchAll: kEnumerableProperty,
		add: kEnumerableProperty,
		addAll: kEnumerableProperty,
		put: kEnumerableProperty,
		delete: kEnumerableProperty,
		keys: kEnumerableProperty
	});
	const cacheQueryOptionConverters = [
		{
			key: "ignoreSearch",
			converter: webidl.converters.boolean,
			defaultValue: () => false
		},
		{
			key: "ignoreMethod",
			converter: webidl.converters.boolean,
			defaultValue: () => false
		},
		{
			key: "ignoreVary",
			converter: webidl.converters.boolean,
			defaultValue: () => false
		}
	];
	webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
	webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([...cacheQueryOptionConverters, {
		key: "cacheName",
		converter: webidl.converters.DOMString
	}]);
	webidl.converters.Response = webidl.interfaceConverter(webidl.is.Response, "Response");
	webidl.converters["sequence<RequestInfo>"] = webidl.sequenceConverter(webidl.converters.RequestInfo);
	module.exports = { Cache };
}));

//#endregion
//#region ../node_modules/undici/lib/web/cache/cachestorage.js
var require_cachestorage = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { Cache } = require_cache();
	const { webidl } = require_webidl();
	const { kEnumerableProperty } = require_util$5();
	const { kConstruct } = require_symbols();
	var CacheStorage = class CacheStorage {
		/**
		* @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map
		* @type {Map<string, import('./cache').requestResponseList}
		*/
		#caches = new Map();
		constructor() {
			if (arguments[0] !== kConstruct) {
				webidl.illegalConstructor();
			}
			webidl.util.markAsUncloneable(this);
		}
		async match(request, options = {}) {
			webidl.brandCheck(this, CacheStorage);
			webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
			request = webidl.converters.RequestInfo(request);
			options = webidl.converters.MultiCacheQueryOptions(options);
			if (options.cacheName != null) {
				if (this.#caches.has(options.cacheName)) {
					const cacheList = this.#caches.get(options.cacheName);
					const cache = new Cache(kConstruct, cacheList);
					return await cache.match(request, options);
				}
			} else {
				for (const cacheList of this.#caches.values()) {
					const cache = new Cache(kConstruct, cacheList);
					const response = await cache.match(request, options);
					if (response !== undefined) {
						return response;
					}
				}
			}
		}
		/**
		* @see https://w3c.github.io/ServiceWorker/#cache-storage-has
		* @param {string} cacheName
		* @returns {Promise<boolean>}
		*/
		async has(cacheName) {
			webidl.brandCheck(this, CacheStorage);
			const prefix = "CacheStorage.has";
			webidl.argumentLengthCheck(arguments, 1, prefix);
			cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
			return this.#caches.has(cacheName);
		}
		/**
		* @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open
		* @param {string} cacheName
		* @returns {Promise<Cache>}
		*/
		async open(cacheName) {
			webidl.brandCheck(this, CacheStorage);
			const prefix = "CacheStorage.open";
			webidl.argumentLengthCheck(arguments, 1, prefix);
			cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
			if (this.#caches.has(cacheName)) {
				const cache = this.#caches.get(cacheName);
				return new Cache(kConstruct, cache);
			}
			const cache = [];
			this.#caches.set(cacheName, cache);
			return new Cache(kConstruct, cache);
		}
		/**
		* @see https://w3c.github.io/ServiceWorker/#cache-storage-delete
		* @param {string} cacheName
		* @returns {Promise<boolean>}
		*/
		async delete(cacheName) {
			webidl.brandCheck(this, CacheStorage);
			const prefix = "CacheStorage.delete";
			webidl.argumentLengthCheck(arguments, 1, prefix);
			cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
			return this.#caches.delete(cacheName);
		}
		/**
		* @see https://w3c.github.io/ServiceWorker/#cache-storage-keys
		* @returns {Promise<string[]>}
		*/
		async keys() {
			webidl.brandCheck(this, CacheStorage);
			const keys = this.#caches.keys();
			return [...keys];
		}
	};
	Object.defineProperties(CacheStorage.prototype, {
		[Symbol.toStringTag]: {
			value: "CacheStorage",
			configurable: true
		},
		match: kEnumerableProperty,
		has: kEnumerableProperty,
		open: kEnumerableProperty,
		delete: kEnumerableProperty,
		keys: kEnumerableProperty
	});
	module.exports = { CacheStorage };
}));

//#endregion
//#region ../node_modules/undici/lib/web/cookies/constants.js
var require_constants$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const maxAttributeValueSize = 1024;
	const maxNameValuePairSize = 4096;
	module.exports = {
		maxAttributeValueSize,
		maxNameValuePairSize
	};
}));

//#endregion
//#region ../node_modules/undici/lib/web/cookies/util.js
var require_util$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* @param {string} value
	* @returns {boolean}
	*/
	function isCTLExcludingHtab(value) {
		for (let i = 0; i < value.length; ++i) {
			const code = value.charCodeAt(i);
			if (code >= 0 && code <= 8 || code >= 10 && code <= 31 || code === 127) {
				return true;
			}
		}
		return false;
	}
	/**
	CHAR           = <any US-ASCII character (octets 0 - 127)>
	token          = 1*<any CHAR except CTLs or separators>
	separators     = "(" | ")" | "<" | ">" | "@"
	| "," | ";" | ":" | "\" | <">
	| "/" | "[" | "]" | "?" | "="
	| "{" | "}" | SP | HT
	* @param {string} name
	*/
	function validateCookieName(name) {
		for (let i = 0; i < name.length; ++i) {
			const code = name.charCodeAt(i);
			if (code < 33 || code > 126 || code === 34 || code === 40 || code === 41 || code === 60 || code === 62 || code === 64 || code === 44 || code === 59 || code === 58 || code === 92 || code === 47 || code === 91 || code === 93 || code === 63 || code === 61 || code === 123 || code === 125) {
				throw new Error("Invalid cookie name");
			}
		}
	}
	/**
	cookie-value      = *cookie-octet / ( DQUOTE *cookie-octet DQUOTE )
	cookie-octet      = %x21 / %x23-2B / %x2D-3A / %x3C-5B / %x5D-7E
	; US-ASCII characters excluding CTLs,
	; whitespace DQUOTE, comma, semicolon,
	; and backslash
	* @param {string} value
	*/
	function validateCookieValue(value) {
		let len = value.length;
		let i = 0;
		if (value[0] === "\"") {
			if (len === 1 || value[len - 1] !== "\"") {
				throw new Error("Invalid cookie value");
			}
			--len;
			++i;
		}
		while (i < len) {
			const code = value.charCodeAt(i++);
			if (code < 33 || code > 126 || code === 34 || code === 44 || code === 59 || code === 92) {
				throw new Error("Invalid cookie value");
			}
		}
	}
	/**
	* path-value        = <any CHAR except CTLs or ";">
	* @param {string} path
	*/
	function validateCookiePath(path) {
		for (let i = 0; i < path.length; ++i) {
			const code = path.charCodeAt(i);
			if (code < 32 || code === 127 || code === 59) {
				throw new Error("Invalid cookie path");
			}
		}
	}
	/**
	* I have no idea why these values aren't allowed to be honest,
	* but Deno tests these. - Khafra
	* @param {string} domain
	*/
	function validateCookieDomain(domain) {
		if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) {
			throw new Error("Invalid cookie domain");
		}
	}
	const IMFDays = [
		"Sun",
		"Mon",
		"Tue",
		"Wed",
		"Thu",
		"Fri",
		"Sat"
	];
	const IMFMonths = [
		"Jan",
		"Feb",
		"Mar",
		"Apr",
		"May",
		"Jun",
		"Jul",
		"Aug",
		"Sep",
		"Oct",
		"Nov",
		"Dec"
	];
	const IMFPaddedNumbers = Array(61).fill(0).map((_, i) => i.toString().padStart(2, "0"));
	/**
	* @see https://www.rfc-editor.org/rfc/rfc7231#section-7.1.1.1
	* @param {number|Date} date
	IMF-fixdate  = day-name "," SP date1 SP time-of-day SP GMT
	; fixed length/zone/capitalization subset of the format
	; see Section 3.3 of [RFC5322]
	
	day-name     = %x4D.6F.6E ; "Mon", case-sensitive
	/ %x54.75.65 ; "Tue", case-sensitive
	/ %x57.65.64 ; "Wed", case-sensitive
	/ %x54.68.75 ; "Thu", case-sensitive
	/ %x46.72.69 ; "Fri", case-sensitive
	/ %x53.61.74 ; "Sat", case-sensitive
	/ %x53.75.6E ; "Sun", case-sensitive
	date1        = day SP month SP year
	; e.g., 02 Jun 1982
	
	day          = 2DIGIT
	month        = %x4A.61.6E ; "Jan", case-sensitive
	/ %x46.65.62 ; "Feb", case-sensitive
	/ %x4D.61.72 ; "Mar", case-sensitive
	/ %x41.70.72 ; "Apr", case-sensitive
	/ %x4D.61.79 ; "May", case-sensitive
	/ %x4A.75.6E ; "Jun", case-sensitive
	/ %x4A.75.6C ; "Jul", case-sensitive
	/ %x41.75.67 ; "Aug", case-sensitive
	/ %x53.65.70 ; "Sep", case-sensitive
	/ %x4F.63.74 ; "Oct", case-sensitive
	/ %x4E.6F.76 ; "Nov", case-sensitive
	/ %x44.65.63 ; "Dec", case-sensitive
	year         = 4DIGIT
	
	GMT          = %x47.4D.54 ; "GMT", case-sensitive
	
	time-of-day  = hour ":" minute ":" second
	; 00:00:00 - 23:59:60 (leap second)
	
	hour         = 2DIGIT
	minute       = 2DIGIT
	second       = 2DIGIT
	*/
	function toIMFDate(date) {
		if (typeof date === "number") {
			date = new Date(date);
		}
		return `${IMFDays[date.getUTCDay()]}, ${IMFPaddedNumbers[date.getUTCDate()]} ${IMFMonths[date.getUTCMonth()]} ${date.getUTCFullYear()} ${IMFPaddedNumbers[date.getUTCHours()]}:${IMFPaddedNumbers[date.getUTCMinutes()]}:${IMFPaddedNumbers[date.getUTCSeconds()]} GMT`;
	}
	/**
	max-age-av        = "Max-Age=" non-zero-digit *DIGIT
	; In practice, both expires-av and max-age-av
	; are limited to dates representable by the
	; user agent.
	* @param {number} maxAge
	*/
	function validateCookieMaxAge(maxAge) {
		if (maxAge < 0) {
			throw new Error("Invalid cookie max-age");
		}
	}
	/**
	* @see https://www.rfc-editor.org/rfc/rfc6265#section-4.1.1
	* @param {import('./index').Cookie} cookie
	*/
	function stringify(cookie) {
		if (cookie.name.length === 0) {
			return null;
		}
		validateCookieName(cookie.name);
		validateCookieValue(cookie.value);
		const out = [`${cookie.name}=${cookie.value}`];
		if (cookie.name.startsWith("__Secure-")) {
			cookie.secure = true;
		}
		if (cookie.name.startsWith("__Host-")) {
			cookie.secure = true;
			cookie.domain = null;
			cookie.path = "/";
		}
		if (cookie.secure) {
			out.push("Secure");
		}
		if (cookie.httpOnly) {
			out.push("HttpOnly");
		}
		if (typeof cookie.maxAge === "number") {
			validateCookieMaxAge(cookie.maxAge);
			out.push(`Max-Age=${cookie.maxAge}`);
		}
		if (cookie.domain) {
			validateCookieDomain(cookie.domain);
			out.push(`Domain=${cookie.domain}`);
		}
		if (cookie.path) {
			validateCookiePath(cookie.path);
			out.push(`Path=${cookie.path}`);
		}
		if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
			out.push(`Expires=${toIMFDate(cookie.expires)}`);
		}
		if (cookie.sameSite) {
			out.push(`SameSite=${cookie.sameSite}`);
		}
		for (const part of cookie.unparsed) {
			if (!part.includes("=")) {
				throw new Error("Invalid unparsed");
			}
			const [key, ...value] = part.split("=");
			out.push(`${key.trim()}=${value.join("=")}`);
		}
		return out.join("; ");
	}
	module.exports = {
		isCTLExcludingHtab,
		validateCookieName,
		validateCookiePath,
		validateCookieValue,
		toIMFDate,
		stringify
	};
}));

//#endregion
//#region ../node_modules/undici/lib/web/cookies/parse.js
var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { collectASequenceOfCodePointsFast } = require_infra();
	const { maxNameValuePairSize, maxAttributeValueSize } = require_constants$1();
	const { isCTLExcludingHtab } = require_util$2();
	const assert$4 = __require("node:assert");
	const { unescape: qsUnescape } = __require("node:querystring");
	/**
	* @description Parses the field-value attributes of a set-cookie header string.
	* @see https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4
	* @param {string} header
	* @returns {import('./index').Cookie|null} if the header is invalid, null will be returned
	*/
	function parseSetCookie(header) {
		if (isCTLExcludingHtab(header)) {
			return null;
		}
		let nameValuePair = "";
		let unparsedAttributes = "";
		let name = "";
		let value = "";
		if (header.includes(";")) {
			const position = { position: 0 };
			nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
			unparsedAttributes = header.slice(position.position);
		} else {
			nameValuePair = header;
		}
		if (!nameValuePair.includes("=")) {
			value = nameValuePair;
		} else {
			const position = { position: 0 };
			name = collectASequenceOfCodePointsFast("=", nameValuePair, position);
			value = nameValuePair.slice(position.position + 1);
		}
		name = name.trim();
		value = value.trim();
		if (name.length + value.length > maxNameValuePairSize) {
			return null;
		}
		return {
			name,
			value: qsUnescape(value),
			...parseUnparsedAttributes(unparsedAttributes)
		};
	}
	/**
	* Parses the remaining attributes of a set-cookie header
	* @see https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4
	* @param {string} unparsedAttributes
	* @param {Object.<string, unknown>} [cookieAttributeList={}]
	*/
	function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
		if (unparsedAttributes.length === 0) {
			return cookieAttributeList;
		}
		assert$4(unparsedAttributes[0] === ";");
		unparsedAttributes = unparsedAttributes.slice(1);
		let cookieAv = "";
		if (unparsedAttributes.includes(";")) {
			cookieAv = collectASequenceOfCodePointsFast(";", unparsedAttributes, { position: 0 });
			unparsedAttributes = unparsedAttributes.slice(cookieAv.length);
		} else {
			cookieAv = unparsedAttributes;
			unparsedAttributes = "";
		}
		let attributeName = "";
		let attributeValue = "";
		if (cookieAv.includes("=")) {
			const position = { position: 0 };
			attributeName = collectASequenceOfCodePointsFast("=", cookieAv, position);
			attributeValue = cookieAv.slice(position.position + 1);
		} else {
			attributeName = cookieAv;
		}
		attributeName = attributeName.trim();
		attributeValue = attributeValue.trim();
		if (attributeValue.length > maxAttributeValueSize) {
			return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
		}
		const attributeNameLowercase = attributeName.toLowerCase();
		if (attributeNameLowercase === "expires") {
			const expiryTime = new Date(attributeValue);
			cookieAttributeList.expires = expiryTime;
		} else if (attributeNameLowercase === "max-age") {
			const charCode = attributeValue.charCodeAt(0);
			if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") {
				return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
			}
			if (!/^\d+$/.test(attributeValue)) {
				return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
			}
			const deltaSeconds = Number(attributeValue);
			cookieAttributeList.maxAge = deltaSeconds;
		} else if (attributeNameLowercase === "domain") {
			let cookieDomain = attributeValue;
			if (cookieDomain[0] === ".") {
				cookieDomain = cookieDomain.slice(1);
			}
			cookieDomain = cookieDomain.toLowerCase();
			cookieAttributeList.domain = cookieDomain;
		} else if (attributeNameLowercase === "path") {
			let cookiePath = "";
			if (attributeValue.length === 0 || attributeValue[0] !== "/") {
				cookiePath = "/";
			} else {
				cookiePath = attributeValue;
			}
			cookieAttributeList.path = cookiePath;
		} else if (attributeNameLowercase === "secure") {
			cookieAttributeList.secure = true;
		} else if (attributeNameLowercase === "httponly") {
			cookieAttributeList.httpOnly = true;
		} else if (attributeNameLowercase === "samesite") {
			let enforcement = "Default";
			const attributeValueLowercase = attributeValue.toLowerCase();
			if (attributeValueLowercase.includes("none")) {
				enforcement = "None";
			}
			if (attributeValueLowercase.includes("strict")) {
				enforcement = "Strict";
			}
			if (attributeValueLowercase.includes("lax")) {
				enforcement = "Lax";
			}
			cookieAttributeList.sameSite = enforcement;
		} else {
			cookieAttributeList.unparsed ??= [];
			cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
		}
		return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
	}
	module.exports = {
		parseSetCookie,
		parseUnparsedAttributes
	};
}));

//#endregion
//#region ../node_modules/undici/lib/web/cookies/index.js
var require_cookies = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { parseSetCookie } = require_parse();
	const { stringify } = require_util$2();
	const { webidl } = require_webidl();
	const { Headers } = require_headers$1();
	const brandChecks = webidl.brandCheckMultiple([Headers, globalThis.Headers].filter(Boolean));
	/**
	* @typedef {Object} Cookie
	* @property {string} name
	* @property {string} value
	* @property {Date|number} [expires]
	* @property {number} [maxAge]
	* @property {string} [domain]
	* @property {string} [path]
	* @property {boolean} [secure]
	* @property {boolean} [httpOnly]
	* @property {'Strict'|'Lax'|'None'} [sameSite]
	* @property {string[]} [unparsed]
	*/
	/**
	* @param {Headers} headers
	* @returns {Record<string, string>}
	*/
	function getCookies(headers) {
		webidl.argumentLengthCheck(arguments, 1, "getCookies");
		brandChecks(headers);
		const cookie = headers.get("cookie");
		/** @type {Record<string, string>} */
		const out = {};
		if (!cookie) {
			return out;
		}
		for (const piece of cookie.split(";")) {
			const [name, ...value] = piece.split("=");
			out[name.trim()] = value.join("=");
		}
		return out;
	}
	/**
	* @param {Headers} headers
	* @param {string} name
	* @param {{ path?: string, domain?: string }|undefined} attributes
	* @returns {void}
	*/
	function deleteCookie(headers, name, attributes) {
		brandChecks(headers);
		const prefix = "deleteCookie";
		webidl.argumentLengthCheck(arguments, 2, prefix);
		name = webidl.converters.DOMString(name, prefix, "name");
		attributes = webidl.converters.DeleteCookieAttributes(attributes);
		setCookie(headers, {
			name,
			value: "",
			expires: new Date(0),
			...attributes
		});
	}
	/**
	* @param {Headers} headers
	* @returns {Cookie[]}
	*/
	function getSetCookies(headers) {
		webidl.argumentLengthCheck(arguments, 1, "getSetCookies");
		brandChecks(headers);
		const cookies = headers.getSetCookie();
		if (!cookies) {
			return [];
		}
		return cookies.map((pair) => parseSetCookie(pair));
	}
	/**
	* Parses a cookie string
	* @param {string} cookie
	*/
	function parseCookie(cookie) {
		cookie = webidl.converters.DOMString(cookie);
		return parseSetCookie(cookie);
	}
	/**
	* @param {Headers} headers
	* @param {Cookie} cookie
	* @returns {void}
	*/
	function setCookie(headers, cookie) {
		webidl.argumentLengthCheck(arguments, 2, "setCookie");
		brandChecks(headers);
		cookie = webidl.converters.Cookie(cookie);
		const str = stringify(cookie);
		if (str) {
			headers.append("set-cookie", str, true);
		}
	}
	webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([{
		converter: webidl.nullableConverter(webidl.converters.DOMString),
		key: "path",
		defaultValue: () => null
	}, {
		converter: webidl.nullableConverter(webidl.converters.DOMString),
		key: "domain",
		defaultValue: () => null
	}]);
	webidl.converters.Cookie = webidl.dictionaryConverter([
		{
			converter: webidl.converters.DOMString,
			key: "name"
		},
		{
			converter: webidl.converters.DOMString,
			key: "value"
		},
		{
			converter: webidl.nullableConverter((value) => {
				if (typeof value === "number") {
					return webidl.converters["unsigned long long"](value);
				}
				return new Date(value);
			}),
			key: "expires",
			defaultValue: () => null
		},
		{
			converter: webidl.nullableConverter(webidl.converters["long long"]),
			key: "maxAge",
			defaultValue: () => null
		},
		{
			converter: webidl.nullableConverter(webidl.converters.DOMString),
			key: "domain",
			defaultValue: () => null
		},
		{
			converter: webidl.nullableConverter(webidl.converters.DOMString),
			key: "path",
			defaultValue: () => null
		},
		{
			converter: webidl.nullableConverter(webidl.converters.boolean),
			key: "secure",
			defaultValue: () => null
		},
		{
			converter: webidl.nullableConverter(webidl.converters.boolean),
			key: "httpOnly",
			defaultValue: () => null
		},
		{
			converter: webidl.converters.USVString,
			key: "sameSite",
			allowedValues: [
				"Strict",
				"Lax",
				"None"
			]
		},
		{
			converter: webidl.sequenceConverter(webidl.converters.DOMString),
			key: "unparsed",
			defaultValue: () => []
		}
	]);
	module.exports = {
		getCookies,
		deleteCookie,
		getSetCookies,
		setCookie,
		parseCookie
	};
}));

//#endregion
//#region ../node_modules/undici/lib/web/websocket/events.js
var require_events = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { webidl } = require_webidl();
	const { kEnumerableProperty } = require_util$5();
	const { kConstruct } = require_symbols();
	/**
	* @see https://html.spec.whatwg.org/multipage/comms.html#messageevent
	*/
	var MessageEvent = class MessageEvent extends Event {
		#eventInit;
		constructor(type, eventInitDict = {}) {
			if (type === kConstruct) {
				super(arguments[1], arguments[2]);
				webidl.util.markAsUncloneable(this);
				return;
			}
			const prefix = "MessageEvent constructor";
			webidl.argumentLengthCheck(arguments, 1, prefix);
			type = webidl.converters.DOMString(type, prefix, "type");
			eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
			super(type, eventInitDict);
			this.#eventInit = eventInitDict;
			webidl.util.markAsUncloneable(this);
		}
		get data() {
			webidl.brandCheck(this, MessageEvent);
			return this.#eventInit.data;
		}
		get origin() {
			webidl.brandCheck(this, MessageEvent);
			return this.#eventInit.origin;
		}
		get lastEventId() {
			webidl.brandCheck(this, MessageEvent);
			return this.#eventInit.lastEventId;
		}
		get source() {
			webidl.brandCheck(this, MessageEvent);
			return this.#eventInit.source;
		}
		get ports() {
			webidl.brandCheck(this, MessageEvent);
			if (!Object.isFrozen(this.#eventInit.ports)) {
				Object.freeze(this.#eventInit.ports);
			}
			return this.#eventInit.ports;
		}
		initMessageEvent(type, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {
			webidl.brandCheck(this, MessageEvent);
			webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
			return new MessageEvent(type, {
				bubbles,
				cancelable,
				data,
				origin,
				lastEventId,
				source,
				ports
			});
		}
		static createFastMessageEvent(type, init) {
			const messageEvent = new MessageEvent(kConstruct, type, init);
			messageEvent.#eventInit = init;
			messageEvent.#eventInit.data ??= null;
			messageEvent.#eventInit.origin ??= "";
			messageEvent.#eventInit.lastEventId ??= "";
			messageEvent.#eventInit.source ??= null;
			messageEvent.#eventInit.ports ??= [];
			return messageEvent;
		}
	};
	const { createFastMessageEvent } = MessageEvent;
	delete MessageEvent.createFastMessageEvent;
	/**
	* @see https://websockets.spec.whatwg.org/#the-closeevent-interface
	*/
	var CloseEvent = class CloseEvent extends Event {
		#eventInit;
		constructor(type, eventInitDict = {}) {
			const prefix = "CloseEvent constructor";
			webidl.argumentLengthCheck(arguments, 1, prefix);
			type = webidl.converters.DOMString(type, prefix, "type");
			eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
			super(type, eventInitDict);
			this.#eventInit = eventInitDict;
			webidl.util.markAsUncloneable(this);
		}
		get wasClean() {
			webidl.brandCheck(this, CloseEvent);
			return this.#eventInit.wasClean;
		}
		get code() {
			webidl.brandCheck(this, CloseEvent);
			return this.#eventInit.code;
		}
		get reason() {
			webidl.brandCheck(this, CloseEvent);
			return this.#eventInit.reason;
		}
	};
	var ErrorEvent = class ErrorEvent extends Event {
		#eventInit;
		constructor(type, eventInitDict) {
			const prefix = "ErrorEvent constructor";
			webidl.argumentLengthCheck(arguments, 1, prefix);
			super(type, eventInitDict);
			webidl.util.markAsUncloneable(this);
			type = webidl.converters.DOMString(type, prefix, "type");
			eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
			this.#eventInit = eventInitDict;
		}
		get message() {
			webidl.brandCheck(this, ErrorEvent);
			return this.#eventInit.message;
		}
		get filename() {
			webidl.brandCheck(this, ErrorEvent);
			return this.#eventInit.filename;
		}
		get lineno() {
			webidl.brandCheck(this, ErrorEvent);
			return this.#eventInit.lineno;
		}
		get colno() {
			webidl.brandCheck(this, ErrorEvent);
			return this.#eventInit.colno;
		}
		get error() {
			webidl.brandCheck(this, ErrorEvent);
			return this.#eventInit.error;
		}
	};
	Object.defineProperties(MessageEvent.prototype, {
		[Symbol.toStringTag]: {
			value: "MessageEvent",
			configurable: true
		},
		data: kEnumerableProperty,
		origin: kEnumerableProperty,
		lastEventId: kEnumerableProperty,
		source: kEnumerableProperty,
		ports: kEnumerableProperty,
		initMessageEvent: kEnumerableProperty
	});
	Object.defineProperties(CloseEvent.prototype, {
		[Symbol.toStringTag]: {
			value: "CloseEvent",
			configurable: true
		},
		reason: kEnumerableProperty,
		code: kEnumerableProperty,
		wasClean: kEnumerableProperty
	});
	Object.defineProperties(ErrorEvent.prototype, {
		[Symbol.toStringTag]: {
			value: "ErrorEvent",
			configurable: true
		},
		message: kEnumerableProperty,
		filename: kEnumerableProperty,
		lineno: kEnumerableProperty,
		colno: kEnumerableProperty,
		error: kEnumerableProperty
	});
	webidl.converters.MessagePort = webidl.interfaceConverter(webidl.is.MessagePort, "MessagePort");
	webidl.converters["sequence<MessagePort>"] = webidl.sequenceConverter(webidl.converters.MessagePort);
	const eventInit = [
		{
			key: "bubbles",
			converter: webidl.converters.boolean,
			defaultValue: () => false
		},
		{
			key: "cancelable",
			converter: webidl.converters.boolean,
			defaultValue: () => false
		},
		{
			key: "composed",
			converter: webidl.converters.boolean,
			defaultValue: () => false
		}
	];
	webidl.converters.MessageEventInit = webidl.dictionaryConverter([
		...eventInit,
		{
			key: "data",
			converter: webidl.converters.any,
			defaultValue: () => null
		},
		{
			key: "origin",
			converter: webidl.converters.USVString,
			defaultValue: () => ""
		},
		{
			key: "lastEventId",
			converter: webidl.converters.DOMString,
			defaultValue: () => ""
		},
		{
			key: "source",
			converter: webidl.nullableConverter(webidl.converters.MessagePort),
			defaultValue: () => null
		},
		{
			key: "ports",
			converter: webidl.converters["sequence<MessagePort>"],
			defaultValue: () => []
		}
	]);
	webidl.converters.CloseEventInit = webidl.dictionaryConverter([
		...eventInit,
		{
			key: "wasClean",
			converter: webidl.converters.boolean,
			defaultValue: () => false
		},
		{
			key: "code",
			converter: webidl.converters["unsigned short"],
			defaultValue: () => 0
		},
		{
			key: "reason",
			converter: webidl.converters.USVString,
			defaultValue: () => ""
		}
	]);
	webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
		...eventInit,
		{
			key: "message",
			converter: webidl.converters.DOMString,
			defaultValue: () => ""
		},
		{
			key: "filename",
			converter: webidl.converters.USVString,
			defaultValue: () => ""
		},
		{
			key: "lineno",
			converter: webidl.converters["unsigned long"],
			defaultValue: () => 0
		},
		{
			key: "colno",
			converter: webidl.converters["unsigned long"],
			defaultValue: () => 0
		},
		{
			key: "error",
			converter: webidl.converters.any
		}
	]);
	module.exports = {
		MessageEvent,
		CloseEvent,
		ErrorEvent,
		createFastMessageEvent
	};
}));

//#endregion
//#region ../node_modules/undici/lib/web/websocket/constants.js
var require_constants = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* This is a Globally Unique Identifier unique used to validate that the
	* endpoint accepts websocket connections.
	* @see https://www.rfc-editor.org/rfc/rfc6455.html#section-1.3
	* @type {'258EAFA5-E914-47DA-95CA-C5AB0DC85B11'}
	*/
	const uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
	/**
	* @type {PropertyDescriptor}
	*/
	const staticPropertyDescriptors = {
		enumerable: true,
		writable: false,
		configurable: false
	};
	/**
	* The states of the WebSocket connection.
	*
	* @readonly
	* @enum
	* @property {0} CONNECTING
	* @property {1} OPEN
	* @property {2} CLOSING
	* @property {3} CLOSED
	*/
	const states = {
		CONNECTING: 0,
		OPEN: 1,
		CLOSING: 2,
		CLOSED: 3
	};
	/**
	* @readonly
	* @enum
	* @property {0} NOT_SENT
	* @property {1} PROCESSING
	* @property {2} SENT
	*/
	const sentCloseFrameState = {
		SENT: 1,
		RECEIVED: 2
	};
	/**
	* The WebSocket opcodes.
	*
	* @readonly
	* @enum
	* @property {0x0} CONTINUATION
	* @property {0x1} TEXT
	* @property {0x2} BINARY
	* @property {0x8} CLOSE
	* @property {0x9} PING
	* @property {0xA} PONG
	* @see https://datatracker.ietf.org/doc/html/rfc6455#section-5.2
	*/
	const opcodes = {
		CONTINUATION: 0,
		TEXT: 1,
		BINARY: 2,
		CLOSE: 8,
		PING: 9,
		PONG: 10
	};
	/**
	* The maximum value for an unsigned 16-bit integer.
	*
	* @type {65535} 2 ** 16 - 1
	*/
	const maxUnsigned16Bit = 65535;
	/**
	* The states of the parser.
	*
	* @readonly
	* @enum
	* @property {0} INFO
	* @property {2} PAYLOADLENGTH_16
	* @property {3} PAYLOADLENGTH_64
	* @property {4} READ_DATA
	*/
	const parserStates = {
		INFO: 0,
		PAYLOADLENGTH_16: 2,
		PAYLOADLENGTH_64: 3,
		READ_DATA: 4
	};
	/**
	* An empty buffer.
	*
	* @type {Buffer}
	*/
	const emptyBuffer = Buffer.allocUnsafe(0);
	/**
	* @readonly
	* @property {1} text
	* @property {2} typedArray
	* @property {3} arrayBuffer
	* @property {4} blob
	*/
	const sendHints = {
		text: 1,
		typedArray: 2,
		arrayBuffer: 3,
		blob: 4
	};
	module.exports = {
		uid,
		sentCloseFrameState,
		staticPropertyDescriptors,
		states,
		opcodes,
		maxUnsigned16Bit,
		parserStates,
		emptyBuffer,
		sendHints
	};
}));

//#endregion
//#region ../node_modules/undici/lib/web/websocket/util.js
var require_util$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { states, opcodes } = require_constants();
	const { isUtf8 } = __require("node:buffer");
	const { removeHTTPWhitespace } = require_data_url();
	const { collectASequenceOfCodePointsFast } = require_infra();
	/**
	* @param {number} readyState
	* @returns {boolean}
	*/
	function isConnecting(readyState) {
		return readyState === states.CONNECTING;
	}
	/**
	* @param {number} readyState
	* @returns {boolean}
	*/
	function isEstablished(readyState) {
		return readyState === states.OPEN;
	}
	/**
	* @param {number} readyState
	* @returns {boolean}
	*/
	function isClosing(readyState) {
		return readyState === states.CLOSING;
	}
	/**
	* @param {number} readyState
	* @returns {boolean}
	*/
	function isClosed(readyState) {
		return readyState === states.CLOSED;
	}
	/**
	* @see https://dom.spec.whatwg.org/#concept-event-fire
	* @param {string} e
	* @param {EventTarget} target
	* @param {(...args: ConstructorParameters<typeof Event>) => Event} eventFactory
	* @param {EventInit | undefined} eventInitDict
	* @returns {void}
	*/
	function fireEvent(e, target, eventFactory = (type, init) => new Event(type, init), eventInitDict = {}) {
		const event = eventFactory(e, eventInitDict);
		target.dispatchEvent(event);
	}
	/**
	* @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
	* @param {import('./websocket').Handler} handler
	* @param {number} type Opcode
	* @param {Buffer} data application data
	* @returns {void}
	*/
	function websocketMessageReceived(handler, type, data) {
		handler.onMessage(type, data);
	}
	/**
	* @param {Buffer} buffer
	* @returns {ArrayBuffer}
	*/
	function toArrayBuffer(buffer) {
		if (buffer.byteLength === buffer.buffer.byteLength) {
			return buffer.buffer;
		}
		return new Uint8Array(buffer).buffer;
	}
	/**
	* @see https://datatracker.ietf.org/doc/html/rfc6455
	* @see https://datatracker.ietf.org/doc/html/rfc2616
	* @see https://bugs.chromium.org/p/chromium/issues/detail?id=398407
	* @param {string} protocol
	* @returns {boolean}
	*/
	function isValidSubprotocol(protocol) {
		if (protocol.length === 0) {
			return false;
		}
		for (let i = 0; i < protocol.length; ++i) {
			const code = protocol.charCodeAt(i);
			if (code < 33 || code > 126 || code === 34 || code === 40 || code === 41 || code === 44 || code === 47 || code === 58 || code === 59 || code === 60 || code === 61 || code === 62 || code === 63 || code === 64 || code === 91 || code === 92 || code === 93 || code === 123 || code === 125) {
				return false;
			}
		}
		return true;
	}
	/**
	* @see https://datatracker.ietf.org/doc/html/rfc6455#section-7-4
	* @param {number} code
	* @returns {boolean}
	*/
	function isValidStatusCode(code) {
		if (code >= 1e3 && code < 1015) {
			return code !== 1004 && code !== 1005 && code !== 1006;
		}
		return code >= 3e3 && code <= 4999;
	}
	/**
	* @see https://datatracker.ietf.org/doc/html/rfc6455#section-5.5
	* @param {number} opcode
	* @returns {boolean}
	*/
	function isControlFrame(opcode) {
		return opcode === opcodes.CLOSE || opcode === opcodes.PING || opcode === opcodes.PONG;
	}
	/**
	* @param {number} opcode
	* @returns {boolean}
	*/
	function isContinuationFrame(opcode) {
		return opcode === opcodes.CONTINUATION;
	}
	/**
	* @param {number} opcode
	* @returns {boolean}
	*/
	function isTextBinaryFrame(opcode) {
		return opcode === opcodes.TEXT || opcode === opcodes.BINARY;
	}
	/**
	*
	* @param {number} opcode
	* @returns {boolean}
	*/
	function isValidOpcode(opcode) {
		return isTextBinaryFrame(opcode) || isContinuationFrame(opcode) || isControlFrame(opcode);
	}
	/**
	* Parses a Sec-WebSocket-Extensions header value.
	* @param {string} extensions
	* @returns {Map<string, string>}
	*/
	function parseExtensions(extensions) {
		const position = { position: 0 };
		const extensionList = new Map();
		while (position.position < extensions.length) {
			const pair = collectASequenceOfCodePointsFast(";", extensions, position);
			const [name, value = ""] = pair.split("=", 2);
			extensionList.set(removeHTTPWhitespace(name, true, false), removeHTTPWhitespace(value, false, true));
			position.position++;
		}
		return extensionList;
	}
	/**
	* @see https://www.rfc-editor.org/rfc/rfc7692#section-7.1.2.2
	* @description "client-max-window-bits = 1*DIGIT"
	* @param {string} value
	* @returns {boolean}
	*/
	function isValidClientWindowBits(value) {
		for (let i = 0; i < value.length; i++) {
			const byte = value.charCodeAt(i);
			if (byte < 48 || byte > 57) {
				return false;
			}
		}
		return true;
	}
	/**
	* @see https://whatpr.org/websockets/48/7b748d3...d5570f3.html#get-a-url-record
	* @param {string} url
	* @param {string} [baseURL]
	*/
	function getURLRecord(url, baseURL) {
		let urlRecord;
		try {
			urlRecord = new URL(url, baseURL);
		} catch (e) {
			throw new DOMException(e, "SyntaxError");
		}
		if (urlRecord.protocol === "http:") {
			urlRecord.protocol = "ws:";
		} else if (urlRecord.protocol === "https:") {
			urlRecord.protocol = "wss:";
		}
		if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
			throw new DOMException("expected a ws: or wss: url", "SyntaxError");
		}
		if (urlRecord.hash.length || urlRecord.href.endsWith("#")) {
			throw new DOMException("hash", "SyntaxError");
		}
		return urlRecord;
	}
	function validateCloseCodeAndReason(code, reason) {
		if (code !== null) {
			if (code !== 1e3 && (code < 3e3 || code > 4999)) {
				throw new DOMException("invalid code", "InvalidAccessError");
			}
		}
		if (reason !== null) {
			const reasonBytesLength = Buffer.byteLength(reason);
			if (reasonBytesLength > 123) {
				throw new DOMException(`Reason must be less than 123 bytes; received ${reasonBytesLength}`, "SyntaxError");
			}
		}
	}
	/**
	* Converts a Buffer to utf-8, even on platforms without icu.
	* @type {(buffer: Buffer) => string}
	*/
	const utf8Decode = (() => {
		if (typeof process.versions.icu === "string") {
			const fatalDecoder = new TextDecoder("utf-8", { fatal: true });
			return fatalDecoder.decode.bind(fatalDecoder);
		}
		return function(buffer) {
			if (isUtf8(buffer)) {
				return buffer.toString("utf-8");
			}
			throw new TypeError("Invalid utf-8 received.");
		};
	})();
	module.exports = {
		isConnecting,
		isEstablished,
		isClosing,
		isClosed,
		fireEvent,
		isValidSubprotocol,
		isValidStatusCode,
		websocketMessageReceived,
		utf8Decode,
		isControlFrame,
		isContinuationFrame,
		isTextBinaryFrame,
		isValidOpcode,
		parseExtensions,
		isValidClientWindowBits,
		toArrayBuffer,
		getURLRecord,
		validateCloseCodeAndReason
	};
}));

//#endregion
//#region ../node_modules/undici/lib/web/websocket/frame.js
var require_frame = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { runtimeFeatures } = require_runtime_features();
	const { maxUnsigned16Bit, opcodes } = require_constants();
	const BUFFER_SIZE = 8 * 1024;
	let buffer = null;
	let bufIdx = BUFFER_SIZE;
	const randomFillSync = runtimeFeatures.has("crypto") ? __require("node:crypto").randomFillSync : function randomFillSync(buffer, _offset, _size) {
		for (let i = 0; i < buffer.length; ++i) {
			buffer[i] = Math.random() * 255 | 0;
		}
		return buffer;
	};
	function generateMask() {
		if (bufIdx === BUFFER_SIZE) {
			bufIdx = 0;
			randomFillSync(buffer ??= Buffer.allocUnsafeSlow(BUFFER_SIZE), 0, BUFFER_SIZE);
		}
		return [
			buffer[bufIdx++],
			buffer[bufIdx++],
			buffer[bufIdx++],
			buffer[bufIdx++]
		];
	}
	var WebsocketFrameSend = class {
		/**
		* @param {Buffer|undefined} data
		*/
		constructor(data) {
			this.frameData = data;
		}
		createFrame(opcode) {
			const frameData = this.frameData;
			const maskKey = generateMask();
			const bodyLength = frameData?.byteLength ?? 0;
			/** @type {number} */
			let payloadLength = bodyLength;
			let offset = 6;
			if (bodyLength > maxUnsigned16Bit) {
				offset += 8;
				payloadLength = 127;
			} else if (bodyLength > 125) {
				offset += 2;
				payloadLength = 126;
			}
			const buffer = Buffer.allocUnsafe(bodyLength + offset);
			buffer[0] = buffer[1] = 0;
			buffer[0] |= 128;
			buffer[0] = (buffer[0] & 240) + opcode;
			/*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> */
			buffer[offset - 4] = maskKey[0];
			buffer[offset - 3] = maskKey[1];
			buffer[offset - 2] = maskKey[2];
			buffer[offset - 1] = maskKey[3];
			buffer[1] = payloadLength;
			if (payloadLength === 126) {
				buffer.writeUInt16BE(bodyLength, 2);
			} else if (payloadLength === 127) {
				buffer[2] = buffer[3] = 0;
				buffer.writeUIntBE(bodyLength, 4, 6);
			}
			buffer[1] |= 128;
			for (let i = 0; i < bodyLength; ++i) {
				buffer[offset + i] = frameData[i] ^ maskKey[i & 3];
			}
			return buffer;
		}
		/**
		* @param {Uint8Array} buffer
		*/
		static createFastTextFrame(buffer) {
			const maskKey = generateMask();
			const bodyLength = buffer.length;
			for (let i = 0; i < bodyLength; ++i) {
				buffer[i] ^= maskKey[i & 3];
			}
			let payloadLength = bodyLength;
			let offset = 6;
			if (bodyLength > maxUnsigned16Bit) {
				offset += 8;
				payloadLength = 127;
			} else if (bodyLength > 125) {
				offset += 2;
				payloadLength = 126;
			}
			const head = Buffer.allocUnsafeSlow(offset);
			head[0] = 128 | opcodes.TEXT;
			head[1] = payloadLength | 128;
			head[offset - 4] = maskKey[0];
			head[offset - 3] = maskKey[1];
			head[offset - 2] = maskKey[2];
			head[offset - 1] = maskKey[3];
			if (payloadLength === 126) {
				head.writeUInt16BE(bodyLength, 2);
			} else if (payloadLength === 127) {
				head[2] = head[3] = 0;
				head.writeUIntBE(bodyLength, 4, 6);
			}
			return [head, buffer];
		}
	};
	module.exports = {
		WebsocketFrameSend,
		generateMask
	};
}));

//#endregion
//#region ../node_modules/undici/lib/web/websocket/connection.js
var require_connection = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants();
	const { parseExtensions, isClosed, isClosing, isEstablished, isConnecting, validateCloseCodeAndReason } = require_util$1();
	const { makeRequest } = require_request$1();
	const { fetching } = require_fetch();
	const { Headers, getHeadersList } = require_headers$1();
	const { getDecodeSplit } = require_util$4();
	const { WebsocketFrameSend } = require_frame();
	const assert$3 = __require("node:assert");
	const { runtimeFeatures } = require_runtime_features();
	const crypto$3 = runtimeFeatures.has("crypto") ? __require("node:crypto") : null;
	let warningEmitted = false;
	/**
	* @see https://websockets.spec.whatwg.org/#concept-websocket-establish
	* @param {URL} url
	* @param {string|string[]} protocols
	* @param {import('./websocket').Handler} handler
	* @param {Partial<import('../../../types/websocket').WebSocketInit>} options
	*/
	function establishWebSocketConnection(url, protocols, client, handler, options) {
		const requestURL = url;
		requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";
		const request = makeRequest({
			urlList: [requestURL],
			client,
			serviceWorkers: "none",
			referrer: "no-referrer",
			mode: "websocket",
			credentials: "include",
			cache: "no-store",
			redirect: "error",
			useURLCredentials: true
		});
		if (options.headers) {
			const headersList = getHeadersList(new Headers(options.headers));
			request.headersList = headersList;
		}
		const keyValue = crypto$3.randomBytes(16).toString("base64");
		request.headersList.append("sec-websocket-key", keyValue, true);
		request.headersList.append("sec-websocket-version", "13", true);
		for (const protocol of protocols) {
			request.headersList.append("sec-websocket-protocol", protocol, true);
		}
		const permessageDeflate = "permessage-deflate; client_max_window_bits";
		request.headersList.append("sec-websocket-extensions", permessageDeflate, true);
		const controller = fetching({
			request,
			useParallelQueue: true,
			dispatcher: options.dispatcher,
			processResponse(response) {
				if (response.type === "error" || response.status !== 101) {
					if (response.socket?.session == null) {
						failWebsocketConnection(handler, 1002, "Received network error or non-101 status code.", response.error);
						return;
					}
					if (response.status !== 200) {
						failWebsocketConnection(handler, 1002, "Received network error or non-200 status code.", response.error);
						return;
					}
				}
				if (warningEmitted === false && response.socket?.session != null) {
					process.emitWarning("WebSocket over HTTP2 is experimental, and subject to change.", "ExperimentalWarning");
					warningEmitted = true;
				}
				if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
					failWebsocketConnection(handler, 1002, "Server did not respond with sent protocols.");
					return;
				}
				if (response.socket.session == null && response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
					failWebsocketConnection(handler, 1002, "Server did not set Upgrade header to \"websocket\".");
					return;
				}
				if (response.socket.session == null && response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
					failWebsocketConnection(handler, 1002, "Server did not set Connection header to \"upgrade\".");
					return;
				}
				const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
				const digest = crypto$3.hash("sha1", keyValue + uid, "base64");
				if (secWSAccept !== digest) {
					failWebsocketConnection(handler, 1002, "Incorrect hash received in Sec-WebSocket-Accept header.");
					return;
				}
				const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
				let extensions;
				if (secExtension !== null) {
					extensions = parseExtensions(secExtension);
					if (!extensions.has("permessage-deflate")) {
						failWebsocketConnection(handler, 1002, "Sec-WebSocket-Extensions header does not match.");
						return;
					}
				}
				const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
				if (secProtocol !== null) {
					const requestProtocols = getDecodeSplit("sec-websocket-protocol", request.headersList);
					if (!requestProtocols.includes(secProtocol)) {
						failWebsocketConnection(handler, 1002, "Protocol was not set in the opening handshake.");
						return;
					}
				}
				response.socket.on("data", handler.onSocketData);
				response.socket.on("close", handler.onSocketClose);
				response.socket.on("error", handler.onSocketError);
				handler.wasEverConnected = true;
				handler.onConnectionEstablished(response, extensions);
			}
		});
		return controller;
	}
	/**
	* @see https://whatpr.org/websockets/48.html#close-the-websocket
	* @param {import('./websocket').Handler} object
	* @param {number} [code=null]
	* @param {string} [reason='']
	*/
	function closeWebSocketConnection(object, code, reason, validate = false) {
		code ??= null;
		reason ??= "";
		if (validate) validateCloseCodeAndReason(code, reason);
		if (isClosed(object.readyState) || isClosing(object.readyState)) {} else if (!isEstablished(object.readyState)) {
			failWebsocketConnection(object);
			object.readyState = states.CLOSING;
		} else if (!object.closeState.has(sentCloseFrameState.SENT) && !object.closeState.has(sentCloseFrameState.RECEIVED)) {
			const frame = new WebsocketFrameSend();
			if (reason.length !== 0 && code === null) {
				code = 1e3;
			}
			assert$3(code === null || Number.isInteger(code));
			if (code === null && reason.length === 0) {
				frame.frameData = emptyBuffer;
			} else if (code !== null && reason === null) {
				frame.frameData = Buffer.allocUnsafe(2);
				frame.frameData.writeUInt16BE(code, 0);
			} else if (code !== null && reason !== null) {
				frame.frameData = Buffer.allocUnsafe(2 + Buffer.byteLength(reason));
				frame.frameData.writeUInt16BE(code, 0);
				frame.frameData.write(reason, 2, "utf-8");
			} else {
				frame.frameData = emptyBuffer;
			}
			object.socket.write(frame.createFrame(opcodes.CLOSE));
			object.closeState.add(sentCloseFrameState.SENT);
			object.readyState = states.CLOSING;
		} else {
			object.readyState = states.CLOSING;
		}
	}
	/**
	* @param {import('./websocket').Handler} handler
	* @param {number} code
	* @param {string|undefined} reason
	* @param {unknown} cause
	* @returns {void}
	*/
	function failWebsocketConnection(handler, code, reason, cause) {
		if (isEstablished(handler.readyState)) {
			closeWebSocketConnection(handler, code, reason, false);
		}
		handler.controller.abort();
		if (isConnecting(handler.readyState)) {
			handler.onSocketClose();
		} else if (handler.socket?.destroyed === false) {
			handler.socket.destroy();
		}
	}
	module.exports = {
		establishWebSocketConnection,
		failWebsocketConnection,
		closeWebSocketConnection
	};
}));

//#endregion
//#region ../node_modules/undici/lib/web/websocket/permessage-deflate.js
var require_permessage_deflate = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { createInflateRaw, Z_DEFAULT_WINDOWBITS } = __require("node:zlib");
	const { isValidClientWindowBits } = require_util$1();
	const tail = Buffer.from([
		0,
		0,
		255,
		255
	]);
	const kBuffer = Symbol("kBuffer");
	const kLength = Symbol("kLength");
	var PerMessageDeflate = class {
		/** @type {import('node:zlib').InflateRaw} */
		#inflate;
		#options = {};
		constructor(extensions) {
			this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover");
			this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits");
		}
		decompress(chunk, fin, callback) {
			if (!this.#inflate) {
				let windowBits = Z_DEFAULT_WINDOWBITS;
				if (this.#options.serverMaxWindowBits) {
					if (!isValidClientWindowBits(this.#options.serverMaxWindowBits)) {
						callback(new Error("Invalid server_max_window_bits"));
						return;
					}
					windowBits = Number.parseInt(this.#options.serverMaxWindowBits);
				}
				this.#inflate = createInflateRaw({ windowBits });
				this.#inflate[kBuffer] = [];
				this.#inflate[kLength] = 0;
				this.#inflate.on("data", (data) => {
					this.#inflate[kBuffer].push(data);
					this.#inflate[kLength] += data.length;
				});
				this.#inflate.on("error", (err) => {
					this.#inflate = null;
					callback(err);
				});
			}
			this.#inflate.write(chunk);
			if (fin) {
				this.#inflate.write(tail);
			}
			this.#inflate.flush(() => {
				const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]);
				this.#inflate[kBuffer].length = 0;
				this.#inflate[kLength] = 0;
				callback(null, full);
			});
		}
	};
	module.exports = { PerMessageDeflate };
}));

//#endregion
//#region ../node_modules/undici/lib/web/websocket/receiver.js
var require_receiver = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { Writable: Writable$2 } = __require("node:stream");
	const assert$2 = __require("node:assert");
	const { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require_constants();
	const { isValidStatusCode, isValidOpcode, websocketMessageReceived, utf8Decode, isControlFrame, isTextBinaryFrame, isContinuationFrame } = require_util$1();
	const { failWebsocketConnection } = require_connection();
	const { WebsocketFrameSend } = require_frame();
	const { PerMessageDeflate } = require_permessage_deflate();
	var ByteParser = class extends Writable$2 {
		#buffers = [];
		#fragmentsBytes = 0;
		#byteOffset = 0;
		#loop = false;
		#state = parserStates.INFO;
		#info = {};
		#fragments = [];
		/** @type {Map<string, PerMessageDeflate>} */
		#extensions;
		/** @type {import('./websocket').Handler} */
		#handler;
		constructor(handler, extensions) {
			super();
			this.#handler = handler;
			this.#extensions = extensions == null ? new Map() : extensions;
			if (this.#extensions.has("permessage-deflate")) {
				this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions));
			}
		}
		/**
		* @param {Buffer} chunk
		* @param {() => void} callback
		*/
		_write(chunk, _, callback) {
			this.#buffers.push(chunk);
			this.#byteOffset += chunk.length;
			this.#loop = true;
			this.run(callback);
		}
		/**
		* Runs whenever a new chunk is received.
		* Callback is called whenever there are no more chunks buffering,
		* or not enough bytes are buffered to parse.
		*/
		run(callback) {
			while (this.#loop) {
				if (this.#state === parserStates.INFO) {
					if (this.#byteOffset < 2) {
						return callback();
					}
					const buffer = this.consume(2);
					const fin = (buffer[0] & 128) !== 0;
					const opcode = buffer[0] & 15;
					const masked = (buffer[1] & 128) === 128;
					const fragmented = !fin && opcode !== opcodes.CONTINUATION;
					const payloadLength = buffer[1] & 127;
					const rsv1 = buffer[0] & 64;
					const rsv2 = buffer[0] & 32;
					const rsv3 = buffer[0] & 16;
					if (!isValidOpcode(opcode)) {
						failWebsocketConnection(this.#handler, 1002, "Invalid opcode received");
						return callback();
					}
					if (masked) {
						failWebsocketConnection(this.#handler, 1002, "Frame cannot be masked");
						return callback();
					}
					if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) {
						failWebsocketConnection(this.#handler, 1002, "Expected RSV1 to be clear.");
						return;
					}
					if (rsv2 !== 0 || rsv3 !== 0) {
						failWebsocketConnection(this.#handler, 1002, "RSV1, RSV2, RSV3 must be clear");
						return;
					}
					if (fragmented && !isTextBinaryFrame(opcode)) {
						failWebsocketConnection(this.#handler, 1002, "Invalid frame type was fragmented.");
						return;
					}
					if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {
						failWebsocketConnection(this.#handler, 1002, "Expected continuation frame");
						return;
					}
					if (this.#info.fragmented && fragmented) {
						failWebsocketConnection(this.#handler, 1002, "Fragmented frame exceeded 125 bytes.");
						return;
					}
					if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {
						failWebsocketConnection(this.#handler, 1002, "Control frame either too large or fragmented");
						return;
					}
					if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {
						failWebsocketConnection(this.#handler, 1002, "Unexpected continuation frame");
						return;
					}
					if (payloadLength <= 125) {
						this.#info.payloadLength = payloadLength;
						this.#state = parserStates.READ_DATA;
					} else if (payloadLength === 126) {
						this.#state = parserStates.PAYLOADLENGTH_16;
					} else if (payloadLength === 127) {
						this.#state = parserStates.PAYLOADLENGTH_64;
					}
					if (isTextBinaryFrame(opcode)) {
						this.#info.binaryType = opcode;
						this.#info.compressed = rsv1 !== 0;
					}
					this.#info.opcode = opcode;
					this.#info.masked = masked;
					this.#info.fin = fin;
					this.#info.fragmented = fragmented;
				} else if (this.#state === parserStates.PAYLOADLENGTH_16) {
					if (this.#byteOffset < 2) {
						return callback();
					}
					const buffer = this.consume(2);
					this.#info.payloadLength = buffer.readUInt16BE(0);
					this.#state = parserStates.READ_DATA;
				} else if (this.#state === parserStates.PAYLOADLENGTH_64) {
					if (this.#byteOffset < 8) {
						return callback();
					}
					const buffer = this.consume(8);
					const upper = buffer.readUInt32BE(0);
					if (upper > 2 ** 31 - 1) {
						failWebsocketConnection(this.#handler, 1009, "Received payload length > 2^31 bytes.");
						return;
					}
					const lower = buffer.readUInt32BE(4);
					this.#info.payloadLength = (upper << 8) + lower;
					this.#state = parserStates.READ_DATA;
				} else if (this.#state === parserStates.READ_DATA) {
					if (this.#byteOffset < this.#info.payloadLength) {
						return callback();
					}
					const body = this.consume(this.#info.payloadLength);
					if (isControlFrame(this.#info.opcode)) {
						this.#loop = this.parseControlFrame(body);
						this.#state = parserStates.INFO;
					} else {
						if (!this.#info.compressed) {
							this.writeFragments(body);
							if (!this.#info.fragmented && this.#info.fin) {
								websocketMessageReceived(this.#handler, this.#info.binaryType, this.consumeFragments());
							}
							this.#state = parserStates.INFO;
						} else {
							this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error, data) => {
								if (error) {
									failWebsocketConnection(this.#handler, 1007, error.message);
									return;
								}
								this.writeFragments(data);
								if (!this.#info.fin) {
									this.#state = parserStates.INFO;
									this.#loop = true;
									this.run(callback);
									return;
								}
								websocketMessageReceived(this.#handler, this.#info.binaryType, this.consumeFragments());
								this.#loop = true;
								this.#state = parserStates.INFO;
								this.run(callback);
							});
							this.#loop = false;
							break;
						}
					}
				}
			}
		}
		/**
		* Take n bytes from the buffered Buffers
		* @param {number} n
		* @returns {Buffer}
		*/
		consume(n) {
			if (n > this.#byteOffset) {
				throw new Error("Called consume() before buffers satiated.");
			} else if (n === 0) {
				return emptyBuffer;
			}
			this.#byteOffset -= n;
			const first = this.#buffers[0];
			if (first.length > n) {
				this.#buffers[0] = first.subarray(n, first.length);
				return first.subarray(0, n);
			} else if (first.length === n) {
				return this.#buffers.shift();
			} else {
				let offset = 0;
				const buffer = Buffer.allocUnsafeSlow(n);
				while (offset !== n) {
					const next = this.#buffers[0];
					const length = next.length;
					if (length + offset === n) {
						buffer.set(this.#buffers.shift(), offset);
						break;
					} else if (length + offset > n) {
						buffer.set(next.subarray(0, n - offset), offset);
						this.#buffers[0] = next.subarray(n - offset);
						break;
					} else {
						buffer.set(this.#buffers.shift(), offset);
						offset += length;
					}
				}
				return buffer;
			}
		}
		writeFragments(fragment) {
			this.#fragmentsBytes += fragment.length;
			this.#fragments.push(fragment);
		}
		consumeFragments() {
			const fragments = this.#fragments;
			if (fragments.length === 1) {
				this.#fragmentsBytes = 0;
				return fragments.shift();
			}
			let offset = 0;
			const output = Buffer.allocUnsafeSlow(this.#fragmentsBytes);
			for (let i = 0; i < fragments.length; ++i) {
				const buffer = fragments[i];
				output.set(buffer, offset);
				offset += buffer.length;
			}
			this.#fragments = [];
			this.#fragmentsBytes = 0;
			return output;
		}
		parseCloseBody(data) {
			assert$2(data.length !== 1);
			/** @type {number|undefined} */
			let code;
			if (data.length >= 2) {
				code = data.readUInt16BE(0);
			}
			if (code !== undefined && !isValidStatusCode(code)) {
				return {
					code: 1002,
					reason: "Invalid status code",
					error: true
				};
			}
			/** @type {Buffer} */
			let reason = data.subarray(2);
			if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
				reason = reason.subarray(3);
			}
			try {
				reason = utf8Decode(reason);
			} catch {
				return {
					code: 1007,
					reason: "Invalid UTF-8",
					error: true
				};
			}
			return {
				code,
				reason,
				error: false
			};
		}
		/**
		* Parses control frames.
		* @param {Buffer} body
		*/
		parseControlFrame(body) {
			const { opcode, payloadLength } = this.#info;
			if (opcode === opcodes.CLOSE) {
				if (payloadLength === 1) {
					failWebsocketConnection(this.#handler, 1002, "Received close frame with a 1-byte body.");
					return false;
				}
				this.#info.closeInfo = this.parseCloseBody(body);
				if (this.#info.closeInfo.error) {
					const { code, reason } = this.#info.closeInfo;
					failWebsocketConnection(this.#handler, code, reason);
					return false;
				}
				if (!this.#handler.closeState.has(sentCloseFrameState.SENT) && !this.#handler.closeState.has(sentCloseFrameState.RECEIVED)) {
					let body = emptyBuffer;
					if (this.#info.closeInfo.code) {
						body = Buffer.allocUnsafe(2);
						body.writeUInt16BE(this.#info.closeInfo.code, 0);
					}
					const closeFrame = new WebsocketFrameSend(body);
					this.#handler.socket.write(closeFrame.createFrame(opcodes.CLOSE));
					this.#handler.closeState.add(sentCloseFrameState.SENT);
				}
				this.#handler.readyState = states.CLOSING;
				this.#handler.closeState.add(sentCloseFrameState.RECEIVED);
				return false;
			} else if (opcode === opcodes.PING) {
				if (!this.#handler.closeState.has(sentCloseFrameState.RECEIVED)) {
					const frame = new WebsocketFrameSend(body);
					this.#handler.socket.write(frame.createFrame(opcodes.PONG));
					this.#handler.onPing(body);
				}
			} else if (opcode === opcodes.PONG) {
				this.#handler.onPong(body);
			}
			return true;
		}
		get closingInfo() {
			return this.#info.closeInfo;
		}
	};
	module.exports = { ByteParser };
}));

//#endregion
//#region ../node_modules/undici/lib/web/websocket/sender.js
var require_sender = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { WebsocketFrameSend } = require_frame();
	const { opcodes, sendHints } = require_constants();
	const FixedQueue = require_fixed_queue();
	/**
	* @typedef {object} SendQueueNode
	* @property {Promise<void> | null} promise
	* @property {((...args: any[]) => any)} callback
	* @property {Buffer | null} frame
	*/
	var SendQueue = class {
		/**
		* @type {FixedQueue}
		*/
		#queue = new FixedQueue();
		/**
		* @type {boolean}
		*/
		#running = false;
		/** @type {import('node:net').Socket} */
		#socket;
		constructor(socket) {
			this.#socket = socket;
		}
		add(item, cb, hint) {
			if (hint !== sendHints.blob) {
				if (!this.#running) {
					if (hint === sendHints.text) {
						const { 0: head, 1: body } = WebsocketFrameSend.createFastTextFrame(item);
						this.#socket.cork();
						this.#socket.write(head);
						this.#socket.write(body, cb);
						this.#socket.uncork();
					} else {
						this.#socket.write(createFrame(item, hint), cb);
					}
				} else {
					/** @type {SendQueueNode} */
					const node = {
						promise: null,
						callback: cb,
						frame: createFrame(item, hint)
					};
					this.#queue.push(node);
				}
				return;
			}
			/** @type {SendQueueNode} */
			const node = {
				promise: item.arrayBuffer().then((ab) => {
					node.promise = null;
					node.frame = createFrame(ab, hint);
				}),
				callback: cb,
				frame: null
			};
			this.#queue.push(node);
			if (!this.#running) {
				this.#run();
			}
		}
		async #run() {
			this.#running = true;
			const queue = this.#queue;
			while (!queue.isEmpty()) {
				const node = queue.shift();
				if (node.promise !== null) {
					await node.promise;
				}
				this.#socket.write(node.frame, node.callback);
				node.callback = node.frame = null;
			}
			this.#running = false;
		}
	};
	function createFrame(data, hint) {
		return new WebsocketFrameSend(toBuffer(data, hint)).createFrame(hint === sendHints.text ? opcodes.TEXT : opcodes.BINARY);
	}
	function toBuffer(data, hint) {
		switch (hint) {
			case sendHints.text:
			case sendHints.typedArray: return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);
			case sendHints.arrayBuffer:
			case sendHints.blob: return new Uint8Array(data);
		}
	}
	module.exports = { SendQueue };
}));

//#endregion
//#region ../node_modules/undici/lib/web/websocket/websocket.js
var require_websocket = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { isArrayBuffer: isArrayBuffer$1 } = __require("node:util/types");
	const { webidl } = require_webidl();
	const { URLSerializer } = require_data_url();
	const { environmentSettingsObject } = require_util$4();
	const { staticPropertyDescriptors, states, sentCloseFrameState, sendHints, opcodes } = require_constants();
	const { isConnecting, isEstablished, isClosing, isClosed, isValidSubprotocol, fireEvent, utf8Decode, toArrayBuffer, getURLRecord } = require_util$1();
	const { establishWebSocketConnection, closeWebSocketConnection, failWebsocketConnection } = require_connection();
	const { ByteParser } = require_receiver();
	const { kEnumerableProperty } = require_util$5();
	const { getGlobalDispatcher } = require_global();
	const { ErrorEvent, CloseEvent, createFastMessageEvent } = require_events();
	const { SendQueue } = require_sender();
	const { WebsocketFrameSend } = require_frame();
	const { channels } = require_diagnostics();
	/**
	* @typedef {object} Handler
	* @property {(response: any, extensions?: string[]) => void} onConnectionEstablished
	* @property {(opcode: number, data: Buffer) => void} onMessage
	* @property {(error: Error) => void} onParserError
	* @property {() => void} onParserDrain
	* @property {(chunk: Buffer) => void} onSocketData
	* @property {(err: Error) => void} onSocketError
	* @property {() => void} onSocketClose
	* @property {(body: Buffer) => void} onPing
	* @property {(body: Buffer) => void} onPong
	*
	* @property {number} readyState
	* @property {import('stream').Duplex} socket
	* @property {Set<number>} closeState
	* @property {import('../fetch/index').Fetch} controller
	* @property {boolean} [wasEverConnected=false]
	*/
	var WebSocket = class WebSocket extends EventTarget {
		#events = {
			open: null,
			error: null,
			close: null,
			message: null
		};
		#bufferedAmount = 0;
		#protocol = "";
		#extensions = "";
		/** @type {SendQueue} */
		#sendQueue;
		/** @type {Handler} */
		#handler = {
			onConnectionEstablished: (response, extensions) => this.#onConnectionEstablished(response, extensions),
			onMessage: (opcode, data) => this.#onMessage(opcode, data),
			onParserError: (err) => failWebsocketConnection(this.#handler, null, err.message),
			onParserDrain: () => this.#onParserDrain(),
			onSocketData: (chunk) => {
				if (!this.#parser.write(chunk)) {
					this.#handler.socket.pause();
				}
			},
			onSocketError: (err) => {
				this.#handler.readyState = states.CLOSING;
				if (channels.socketError.hasSubscribers) {
					channels.socketError.publish(err);
				}
				this.#handler.socket.destroy();
			},
			onSocketClose: () => this.#onSocketClose(),
			onPing: (body) => {
				if (channels.ping.hasSubscribers) {
					channels.ping.publish({
						payload: body,
						websocket: this
					});
				}
			},
			onPong: (body) => {
				if (channels.pong.hasSubscribers) {
					channels.pong.publish({
						payload: body,
						websocket: this
					});
				}
			},
			readyState: states.CONNECTING,
			socket: null,
			closeState: new Set(),
			controller: null,
			wasEverConnected: false
		};
		#url;
		#binaryType;
		/** @type {import('./receiver').ByteParser} */
		#parser;
		/**
		* @param {string} url
		* @param {string|string[]} protocols
		*/
		constructor(url, protocols = []) {
			super();
			webidl.util.markAsUncloneable(this);
			const prefix = "WebSocket constructor";
			webidl.argumentLengthCheck(arguments, 1, prefix);
			const options = webidl.converters["DOMString or sequence<DOMString> or WebSocketInit"](protocols, prefix, "options");
			url = webidl.converters.USVString(url);
			protocols = options.protocols;
			const baseURL = environmentSettingsObject.settingsObject.baseUrl;
			const urlRecord = getURLRecord(url, baseURL);
			if (typeof protocols === "string") {
				protocols = [protocols];
			}
			if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
				throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
			}
			if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
				throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
			}
			this.#url = new URL(urlRecord.href);
			const client = environmentSettingsObject.settingsObject;
			this.#handler.controller = establishWebSocketConnection(urlRecord, protocols, client, this.#handler, options);
			this.#handler.readyState = WebSocket.CONNECTING;
			this.#binaryType = "blob";
		}
		/**
		* @see https://websockets.spec.whatwg.org/#dom-websocket-close
		* @param {number|undefined} code
		* @param {string|undefined} reason
		*/
		close(code = undefined, reason = undefined) {
			webidl.brandCheck(this, WebSocket);
			const prefix = "WebSocket.close";
			if (code !== undefined) {
				code = webidl.converters["unsigned short"](code, prefix, "code", webidl.attributes.Clamp);
			}
			if (reason !== undefined) {
				reason = webidl.converters.USVString(reason);
			}
			code ??= null;
			reason ??= "";
			closeWebSocketConnection(this.#handler, code, reason, true);
		}
		/**
		* @see https://websockets.spec.whatwg.org/#dom-websocket-send
		* @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data
		*/
		send(data) {
			webidl.brandCheck(this, WebSocket);
			const prefix = "WebSocket.send";
			webidl.argumentLengthCheck(arguments, 1, prefix);
			data = webidl.converters.WebSocketSendData(data, prefix, "data");
			if (isConnecting(this.#handler.readyState)) {
				throw new DOMException("Sent before connected.", "InvalidStateError");
			}
			if (!isEstablished(this.#handler.readyState) || isClosing(this.#handler.readyState)) {
				return;
			}
			if (typeof data === "string") {
				const buffer = Buffer.from(data);
				this.#bufferedAmount += buffer.byteLength;
				this.#sendQueue.add(buffer, () => {
					this.#bufferedAmount -= buffer.byteLength;
				}, sendHints.text);
			} else if (isArrayBuffer$1(data)) {
				this.#bufferedAmount += data.byteLength;
				this.#sendQueue.add(data, () => {
					this.#bufferedAmount -= data.byteLength;
				}, sendHints.arrayBuffer);
			} else if (ArrayBuffer.isView(data)) {
				this.#bufferedAmount += data.byteLength;
				this.#sendQueue.add(data, () => {
					this.#bufferedAmount -= data.byteLength;
				}, sendHints.typedArray);
			} else if (webidl.is.Blob(data)) {
				this.#bufferedAmount += data.size;
				this.#sendQueue.add(data, () => {
					this.#bufferedAmount -= data.size;
				}, sendHints.blob);
			}
		}
		get readyState() {
			webidl.brandCheck(this, WebSocket);
			return this.#handler.readyState;
		}
		get bufferedAmount() {
			webidl.brandCheck(this, WebSocket);
			return this.#bufferedAmount;
		}
		get url() {
			webidl.brandCheck(this, WebSocket);
			return URLSerializer(this.#url);
		}
		get extensions() {
			webidl.brandCheck(this, WebSocket);
			return this.#extensions;
		}
		get protocol() {
			webidl.brandCheck(this, WebSocket);
			return this.#protocol;
		}
		get onopen() {
			webidl.brandCheck(this, WebSocket);
			return this.#events.open;
		}
		set onopen(fn) {
			webidl.brandCheck(this, WebSocket);
			if (this.#events.open) {
				this.removeEventListener("open", this.#events.open);
			}
			const listener = webidl.converters.EventHandlerNonNull(fn);
			if (listener !== null) {
				this.addEventListener("open", listener);
				this.#events.open = fn;
			} else {
				this.#events.open = null;
			}
		}
		get onerror() {
			webidl.brandCheck(this, WebSocket);
			return this.#events.error;
		}
		set onerror(fn) {
			webidl.brandCheck(this, WebSocket);
			if (this.#events.error) {
				this.removeEventListener("error", this.#events.error);
			}
			const listener = webidl.converters.EventHandlerNonNull(fn);
			if (listener !== null) {
				this.addEventListener("error", listener);
				this.#events.error = fn;
			} else {
				this.#events.error = null;
			}
		}
		get onclose() {
			webidl.brandCheck(this, WebSocket);
			return this.#events.close;
		}
		set onclose(fn) {
			webidl.brandCheck(this, WebSocket);
			if (this.#events.close) {
				this.removeEventListener("close", this.#events.close);
			}
			const listener = webidl.converters.EventHandlerNonNull(fn);
			if (listener !== null) {
				this.addEventListener("close", listener);
				this.#events.close = fn;
			} else {
				this.#events.close = null;
			}
		}
		get onmessage() {
			webidl.brandCheck(this, WebSocket);
			return this.#events.message;
		}
		set onmessage(fn) {
			webidl.brandCheck(this, WebSocket);
			if (this.#events.message) {
				this.removeEventListener("message", this.#events.message);
			}
			const listener = webidl.converters.EventHandlerNonNull(fn);
			if (listener !== null) {
				this.addEventListener("message", listener);
				this.#events.message = fn;
			} else {
				this.#events.message = null;
			}
		}
		get binaryType() {
			webidl.brandCheck(this, WebSocket);
			return this.#binaryType;
		}
		set binaryType(type) {
			webidl.brandCheck(this, WebSocket);
			if (type !== "blob" && type !== "arraybuffer") {
				this.#binaryType = "blob";
			} else {
				this.#binaryType = type;
			}
		}
		/**
		* @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
		*/
		#onConnectionEstablished(response, parsedExtensions) {
			this.#handler.socket = response.socket;
			const parser = new ByteParser(this.#handler, parsedExtensions);
			parser.on("drain", () => this.#handler.onParserDrain());
			parser.on("error", (err) => this.#handler.onParserError(err));
			this.#parser = parser;
			this.#sendQueue = new SendQueue(response.socket);
			this.#handler.readyState = states.OPEN;
			const extensions = response.headersList.get("sec-websocket-extensions");
			if (extensions !== null) {
				this.#extensions = extensions;
			}
			const protocol = response.headersList.get("sec-websocket-protocol");
			if (protocol !== null) {
				this.#protocol = protocol;
			}
			fireEvent("open", this);
			if (channels.open.hasSubscribers) {
				const headers = response.headersList.entries;
				channels.open.publish({
					address: response.socket.address(),
					protocol: this.#protocol,
					extensions: this.#extensions,
					websocket: this,
					handshakeResponse: {
						status: response.status,
						statusText: response.statusText,
						headers
					}
				});
			}
		}
		#onMessage(type, data) {
			if (this.#handler.readyState !== states.OPEN) {
				return;
			}
			let dataForEvent;
			if (type === opcodes.TEXT) {
				try {
					dataForEvent = utf8Decode(data);
				} catch {
					failWebsocketConnection(this.#handler, 1007, "Received invalid UTF-8 in text frame.");
					return;
				}
			} else if (type === opcodes.BINARY) {
				if (this.#binaryType === "blob") {
					dataForEvent = new Blob([data]);
				} else {
					dataForEvent = toArrayBuffer(data);
				}
			}
			fireEvent("message", this, createFastMessageEvent, {
				origin: this.#url.origin,
				data: dataForEvent
			});
		}
		#onParserDrain() {
			this.#handler.socket.resume();
		}
		/**
		* @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
		* @see https://datatracker.ietf.org/doc/html/rfc6455#section-7.1.4
		*/
		#onSocketClose() {
			const wasClean = this.#handler.closeState.has(sentCloseFrameState.SENT) && this.#handler.closeState.has(sentCloseFrameState.RECEIVED);
			let code = 1005;
			let reason = "";
			const result = this.#parser?.closingInfo;
			if (result && !result.error) {
				code = result.code ?? 1005;
				reason = result.reason;
			}
			this.#handler.readyState = states.CLOSED;
			if (!this.#handler.closeState.has(sentCloseFrameState.RECEIVED)) {
				code = 1006;
				fireEvent("error", this, (type, init) => new ErrorEvent(type, init), { error: new TypeError(reason) });
			}
			fireEvent("close", this, (type, init) => new CloseEvent(type, init), {
				wasClean,
				code,
				reason
			});
			if (channels.close.hasSubscribers) {
				channels.close.publish({
					websocket: this,
					code,
					reason
				});
			}
		}
		/**
		* @param {WebSocket} ws
		* @param {Buffer|undefined} buffer
		*/
		static ping(ws, buffer) {
			if (Buffer.isBuffer(buffer)) {
				if (buffer.length > 125) {
					throw new TypeError("A PING frame cannot have a body larger than 125 bytes.");
				}
			} else if (buffer !== undefined) {
				throw new TypeError("Expected buffer payload");
			}
			const readyState = ws.#handler.readyState;
			if (isEstablished(readyState) && !isClosing(readyState) && !isClosed(readyState)) {
				const frame = new WebsocketFrameSend(buffer);
				ws.#handler.socket.write(frame.createFrame(opcodes.PING));
			}
		}
	};
	const { ping } = WebSocket;
	Reflect.deleteProperty(WebSocket, "ping");
	WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING;
	WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN;
	WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING;
	WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED;
	Object.defineProperties(WebSocket.prototype, {
		CONNECTING: staticPropertyDescriptors,
		OPEN: staticPropertyDescriptors,
		CLOSING: staticPropertyDescriptors,
		CLOSED: staticPropertyDescriptors,
		url: kEnumerableProperty,
		readyState: kEnumerableProperty,
		bufferedAmount: kEnumerableProperty,
		onopen: kEnumerableProperty,
		onerror: kEnumerableProperty,
		onclose: kEnumerableProperty,
		close: kEnumerableProperty,
		onmessage: kEnumerableProperty,
		binaryType: kEnumerableProperty,
		send: kEnumerableProperty,
		extensions: kEnumerableProperty,
		protocol: kEnumerableProperty,
		[Symbol.toStringTag]: {
			value: "WebSocket",
			writable: false,
			enumerable: false,
			configurable: true
		}
	});
	Object.defineProperties(WebSocket, {
		CONNECTING: staticPropertyDescriptors,
		OPEN: staticPropertyDescriptors,
		CLOSING: staticPropertyDescriptors,
		CLOSED: staticPropertyDescriptors
	});
	webidl.converters["sequence<DOMString>"] = webidl.sequenceConverter(webidl.converters.DOMString);
	webidl.converters["DOMString or sequence<DOMString>"] = function(V, prefix, argument) {
		if (webidl.util.Type(V) === webidl.util.Types.OBJECT && Symbol.iterator in V) {
			return webidl.converters["sequence<DOMString>"](V);
		}
		return webidl.converters.DOMString(V, prefix, argument);
	};
	webidl.converters.WebSocketInit = webidl.dictionaryConverter([
		{
			key: "protocols",
			converter: webidl.converters["DOMString or sequence<DOMString>"],
			defaultValue: () => []
		},
		{
			key: "dispatcher",
			converter: webidl.converters.any,
			defaultValue: () => getGlobalDispatcher()
		},
		{
			key: "headers",
			converter: webidl.nullableConverter(webidl.converters.HeadersInit)
		}
	]);
	webidl.converters["DOMString or sequence<DOMString> or WebSocketInit"] = function(V) {
		if (webidl.util.Type(V) === webidl.util.Types.OBJECT && !(Symbol.iterator in V)) {
			return webidl.converters.WebSocketInit(V);
		}
		return { protocols: webidl.converters["DOMString or sequence<DOMString>"](V) };
	};
	webidl.converters.WebSocketSendData = function(V) {
		if (webidl.util.Type(V) === webidl.util.Types.OBJECT) {
			if (webidl.is.Blob(V)) {
				return V;
			}
			if (webidl.is.BufferSource(V)) {
				return V;
			}
		}
		return webidl.converters.USVString(V);
	};
	module.exports = {
		WebSocket,
		ping
	};
}));

//#endregion
//#region ../node_modules/undici/lib/web/websocket/stream/websocketerror.js
var require_websocketerror = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { webidl } = require_webidl();
	const { validateCloseCodeAndReason } = require_util$1();
	const { kConstruct } = require_symbols();
	const { kEnumerableProperty } = require_util$5();
	function createInheritableDOMException() {
		class Test extends DOMException {
			get reason() {
				return "";
			}
		}
		if (new Test().reason !== undefined) {
			return DOMException;
		}
		return new Proxy(DOMException, { construct(target, args, newTarget) {
			const instance = Reflect.construct(target, args, target);
			Object.setPrototypeOf(instance, newTarget.prototype);
			return instance;
		} });
	}
	var WebSocketError = class WebSocketError extends createInheritableDOMException() {
		#closeCode;
		#reason;
		constructor(message = "", init = undefined) {
			message = webidl.converters.DOMString(message, "WebSocketError", "message");
			super(message, "WebSocketError");
			if (init === kConstruct) {
				return;
			} else if (init !== null) {
				init = webidl.converters.WebSocketCloseInfo(init);
			}
			let code = init.closeCode ?? null;
			const reason = init.reason ?? "";
			validateCloseCodeAndReason(code, reason);
			if (reason.length !== 0 && code === null) {
				code = 1e3;
			}
			this.#closeCode = code;
			this.#reason = reason;
		}
		get closeCode() {
			return this.#closeCode;
		}
		get reason() {
			return this.#reason;
		}
		/**
		* @param {string} message
		* @param {number|null} code
		* @param {string} reason
		*/
		static createUnvalidatedWebSocketError(message, code, reason) {
			const error = new WebSocketError(message, kConstruct);
			error.#closeCode = code;
			error.#reason = reason;
			return error;
		}
	};
	const { createUnvalidatedWebSocketError } = WebSocketError;
	delete WebSocketError.createUnvalidatedWebSocketError;
	Object.defineProperties(WebSocketError.prototype, {
		closeCode: kEnumerableProperty,
		reason: kEnumerableProperty,
		[Symbol.toStringTag]: {
			value: "WebSocketError",
			writable: false,
			enumerable: false,
			configurable: true
		}
	});
	webidl.is.WebSocketError = webidl.util.MakeTypeAssertion(WebSocketError);
	module.exports = {
		WebSocketError,
		createUnvalidatedWebSocketError
	};
}));

//#endregion
//#region ../node_modules/undici/lib/web/websocket/stream/websocketstream.js
var require_websocketstream = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { createDeferredPromise } = require_promise();
	const { environmentSettingsObject } = require_util$4();
	const { states, opcodes, sentCloseFrameState } = require_constants();
	const { webidl } = require_webidl();
	const { getURLRecord, isValidSubprotocol, isEstablished, utf8Decode } = require_util$1();
	const { establishWebSocketConnection, failWebsocketConnection, closeWebSocketConnection } = require_connection();
	const { channels } = require_diagnostics();
	const { WebsocketFrameSend } = require_frame();
	const { ByteParser } = require_receiver();
	const { WebSocketError, createUnvalidatedWebSocketError } = require_websocketerror();
	const { kEnumerableProperty } = require_util$5();
	const { utf8DecodeBytes } = require_encoding();
	let emittedExperimentalWarning = false;
	var WebSocketStream = class {
		/** @type {URL} */
		#url;
		/** @type {import('../../../util/promise').DeferredPromise} */
		#openedPromise;
		/** @type {import('../../../util/promise').DeferredPromise} */
		#closedPromise;
		/** @type {ReadableStream} */
		#readableStream;
		/** @type {ReadableStreamDefaultController} */
		#readableStreamController;
		/** @type {WritableStream} */
		#writableStream;
		#handshakeAborted = false;
		/** @type {import('../websocket').Handler} */
		#handler = {
			onConnectionEstablished: (response, extensions) => this.#onConnectionEstablished(response, extensions),
			onMessage: (opcode, data) => this.#onMessage(opcode, data),
			onParserError: (err) => failWebsocketConnection(this.#handler, null, err.message),
			onParserDrain: () => this.#handler.socket.resume(),
			onSocketData: (chunk) => {
				if (!this.#parser.write(chunk)) {
					this.#handler.socket.pause();
				}
			},
			onSocketError: (err) => {
				this.#handler.readyState = states.CLOSING;
				if (channels.socketError.hasSubscribers) {
					channels.socketError.publish(err);
				}
				this.#handler.socket.destroy();
			},
			onSocketClose: () => this.#onSocketClose(),
			onPing: () => {},
			onPong: () => {},
			readyState: states.CONNECTING,
			socket: null,
			closeState: new Set(),
			controller: null,
			wasEverConnected: false
		};
		/** @type {import('../receiver').ByteParser} */
		#parser;
		constructor(url, options = undefined) {
			if (!emittedExperimentalWarning) {
				process.emitWarning("WebSocketStream is experimental! Expect it to change at any time.", { code: "UNDICI-WSS" });
				emittedExperimentalWarning = true;
			}
			webidl.argumentLengthCheck(arguments, 1, "WebSocket");
			url = webidl.converters.USVString(url);
			if (options !== null) {
				options = webidl.converters.WebSocketStreamOptions(options);
			}
			const baseURL = environmentSettingsObject.settingsObject.baseUrl;
			const urlRecord = getURLRecord(url, baseURL);
			const protocols = options.protocols;
			if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
				throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
			}
			if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
				throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
			}
			this.#url = urlRecord.toString();
			this.#openedPromise = createDeferredPromise();
			this.#closedPromise = createDeferredPromise();
			if (options.signal != null) {
				const signal = options.signal;
				if (signal.aborted) {
					this.#openedPromise.reject(signal.reason);
					this.#closedPromise.reject(signal.reason);
					return;
				}
				signal.addEventListener("abort", () => {
					if (!isEstablished(this.#handler.readyState)) {
						failWebsocketConnection(this.#handler);
						this.#handler.readyState = states.CLOSING;
						this.#openedPromise.reject(signal.reason);
						this.#closedPromise.reject(signal.reason);
						this.#handshakeAborted = true;
					}
				}, { once: true });
			}
			const client = environmentSettingsObject.settingsObject;
			this.#handler.controller = establishWebSocketConnection(urlRecord, protocols, client, this.#handler, options);
		}
		get url() {
			return this.#url.toString();
		}
		get opened() {
			return this.#openedPromise.promise;
		}
		get closed() {
			return this.#closedPromise.promise;
		}
		close(closeInfo = undefined) {
			if (closeInfo !== null) {
				closeInfo = webidl.converters.WebSocketCloseInfo(closeInfo);
			}
			const code = closeInfo.closeCode ?? null;
			const reason = closeInfo.reason;
			closeWebSocketConnection(this.#handler, code, reason, true);
		}
		#write(chunk) {
			chunk = webidl.converters.WebSocketStreamWrite(chunk);
			const promise = createDeferredPromise();
			let data = null;
			let opcode = null;
			if (webidl.is.BufferSource(chunk)) {
				data = new Uint8Array(ArrayBuffer.isView(chunk) ? new Uint8Array(chunk.buffer, chunk.byteOffset, chunk.byteLength) : chunk.slice());
				opcode = opcodes.BINARY;
			} else {
				let string;
				try {
					string = webidl.converters.DOMString(chunk);
				} catch (e) {
					promise.reject(e);
					return promise.promise;
				}
				data = new TextEncoder().encode(string);
				opcode = opcodes.TEXT;
			}
			if (!this.#handler.closeState.has(sentCloseFrameState.SENT) && !this.#handler.closeState.has(sentCloseFrameState.RECEIVED)) {
				const frame = new WebsocketFrameSend(data);
				this.#handler.socket.write(frame.createFrame(opcode), () => {
					promise.resolve(undefined);
				});
			}
			return promise.promise;
		}
		/** @type {import('../websocket').Handler['onConnectionEstablished']} */
		#onConnectionEstablished(response, parsedExtensions) {
			this.#handler.socket = response.socket;
			const parser = new ByteParser(this.#handler, parsedExtensions);
			parser.on("drain", () => this.#handler.onParserDrain());
			parser.on("error", (err) => this.#handler.onParserError(err));
			this.#parser = parser;
			this.#handler.readyState = states.OPEN;
			const extensions = parsedExtensions ?? "";
			const protocol = response.headersList.get("sec-websocket-protocol") ?? "";
			const readable = new ReadableStream({
				start: (controller) => {
					this.#readableStreamController = controller;
				},
				pull(controller) {
					let chunk;
					while (controller.desiredSize > 0 && (chunk = response.socket.read()) !== null) {
						controller.enqueue(chunk);
					}
				},
				cancel: (reason) => this.#cancel(reason)
			});
			const writable = new WritableStream({
				write: (chunk) => this.#write(chunk),
				close: () => closeWebSocketConnection(this.#handler, null, null),
				abort: (reason) => this.#closeUsingReason(reason)
			});
			this.#readableStream = readable;
			this.#writableStream = writable;
			this.#openedPromise.resolve({
				extensions,
				protocol,
				readable,
				writable
			});
		}
		/** @type {import('../websocket').Handler['onMessage']} */
		#onMessage(type, data) {
			if (this.#handler.readyState !== states.OPEN) {
				return;
			}
			let chunk;
			if (type === opcodes.TEXT) {
				try {
					chunk = utf8Decode(data);
				} catch {
					failWebsocketConnection(this.#handler, "Received invalid UTF-8 in text frame.");
					return;
				}
			} else if (type === opcodes.BINARY) {
				chunk = new Uint8Array(data.buffer, data.byteOffset, data.byteLength);
			}
			this.#readableStreamController.enqueue(chunk);
		}
		/** @type {import('../websocket').Handler['onSocketClose']} */
		#onSocketClose() {
			const wasClean = this.#handler.closeState.has(sentCloseFrameState.SENT) && this.#handler.closeState.has(sentCloseFrameState.RECEIVED);
			this.#handler.readyState = states.CLOSED;
			if (this.#handshakeAborted) {
				return;
			}
			if (!this.#handler.wasEverConnected) {
				this.#openedPromise.reject(new WebSocketError("Socket never opened"));
			}
			const result = this.#parser?.closingInfo;
			let code = result?.code ?? 1005;
			if (!this.#handler.closeState.has(sentCloseFrameState.SENT) && !this.#handler.closeState.has(sentCloseFrameState.RECEIVED)) {
				code = 1006;
			}
			const reason = result?.reason == null ? "" : utf8DecodeBytes(Buffer.from(result.reason));
			if (wasClean) {
				this.#readableStreamController.close();
				if (!this.#writableStream.locked) {
					this.#writableStream.abort(new DOMException("A closed WebSocketStream cannot be written to", "InvalidStateError"));
				}
				this.#closedPromise.resolve({
					closeCode: code,
					reason
				});
			} else {
				const error = createUnvalidatedWebSocketError("unclean close", code, reason);
				this.#readableStreamController?.error(error);
				this.#writableStream?.abort(error);
				this.#closedPromise.reject(error);
			}
		}
		#closeUsingReason(reason) {
			let code = null;
			let reasonString = "";
			if (webidl.is.WebSocketError(reason)) {
				code = reason.closeCode;
				reasonString = reason.reason;
			}
			closeWebSocketConnection(this.#handler, code, reasonString);
		}
		#cancel(reason) {
			this.#closeUsingReason(reason);
		}
	};
	Object.defineProperties(WebSocketStream.prototype, {
		url: kEnumerableProperty,
		opened: kEnumerableProperty,
		closed: kEnumerableProperty,
		close: kEnumerableProperty,
		[Symbol.toStringTag]: {
			value: "WebSocketStream",
			writable: false,
			enumerable: false,
			configurable: true
		}
	});
	webidl.converters.WebSocketStreamOptions = webidl.dictionaryConverter([{
		key: "protocols",
		converter: webidl.sequenceConverter(webidl.converters.USVString),
		defaultValue: () => []
	}, {
		key: "signal",
		converter: webidl.nullableConverter(webidl.converters.AbortSignal),
		defaultValue: () => null
	}]);
	webidl.converters.WebSocketCloseInfo = webidl.dictionaryConverter([{
		key: "closeCode",
		converter: (V) => webidl.converters["unsigned short"](V, webidl.attributes.EnforceRange)
	}, {
		key: "reason",
		converter: webidl.converters.USVString,
		defaultValue: () => ""
	}]);
	webidl.converters.WebSocketStreamWrite = function(V) {
		if (typeof V === "string") {
			return webidl.converters.USVString(V);
		}
		return webidl.converters.BufferSource(V);
	};
	module.exports = { WebSocketStream };
}));

//#endregion
//#region ../node_modules/undici/lib/web/eventsource/util.js
var require_util = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/**
	* Checks if the given value is a valid LastEventId.
	* @param {string} value
	* @returns {boolean}
	*/
	function isValidLastEventId(value) {
		return value.indexOf("\0") === -1;
	}
	/**
	* Checks if the given value is a base 10 digit.
	* @param {string} value
	* @returns {boolean}
	*/
	function isASCIINumber(value) {
		if (value.length === 0) return false;
		for (let i = 0; i < value.length; i++) {
			if (value.charCodeAt(i) < 48 || value.charCodeAt(i) > 57) return false;
		}
		return true;
	}
	module.exports = {
		isValidLastEventId,
		isASCIINumber
	};
}));

//#endregion
//#region ../node_modules/undici/lib/web/eventsource/eventsource-stream.js
var require_eventsource_stream = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { Transform: Transform$1 } = __require("node:stream");
	const { isASCIINumber, isValidLastEventId } = require_util();
	/**
	* @type {number[]} BOM
	*/
	const BOM = [
		239,
		187,
		191
	];
	/**
	* @type {10} LF
	*/
	const LF = 10;
	/**
	* @type {13} CR
	*/
	const CR = 13;
	/**
	* @type {58} COLON
	*/
	const COLON = 58;
	/**
	* @type {32} SPACE
	*/
	const SPACE = 32;
	/**
	* @typedef {object} EventSourceStreamEvent
	* @type {object}
	* @property {string} [event] The event type.
	* @property {string} [data] The data of the message.
	* @property {string} [id] A unique ID for the event.
	* @property {string} [retry] The reconnection time, in milliseconds.
	*/
	/**
	* @typedef eventSourceSettings
	* @type {object}
	* @property {string} [lastEventId] The last event ID received from the server.
	* @property {string} [origin] The origin of the event source.
	* @property {number} [reconnectionTime] The reconnection time, in milliseconds.
	*/
	var EventSourceStream = class extends Transform$1 {
		/**
		* @type {eventSourceSettings}
		*/
		state;
		/**
		* Leading byte-order-mark check.
		* @type {boolean}
		*/
		checkBOM = true;
		/**
		* @type {boolean}
		*/
		crlfCheck = false;
		/**
		* @type {boolean}
		*/
		eventEndCheck = false;
		/**
		* @type {Buffer|null}
		*/
		buffer = null;
		pos = 0;
		event = {
			data: undefined,
			event: undefined,
			id: undefined,
			retry: undefined
		};
		/**
		* @param {object} options
		* @param {boolean} [options.readableObjectMode]
		* @param {eventSourceSettings} [options.eventSourceSettings]
		* @param {(chunk: any, encoding?: BufferEncoding | undefined) => boolean} [options.push]
		*/
		constructor(options = {}) {
			options.readableObjectMode = true;
			super(options);
			this.state = options.eventSourceSettings || {};
			if (options.push) {
				this.push = options.push;
			}
		}
		/**
		* @param {Buffer} chunk
		* @param {string} _encoding
		* @param {Function} callback
		* @returns {void}
		*/
		_transform(chunk, _encoding, callback) {
			if (chunk.length === 0) {
				callback();
				return;
			}
			if (this.buffer) {
				this.buffer = Buffer.concat([this.buffer, chunk]);
			} else {
				this.buffer = chunk;
			}
			if (this.checkBOM) {
				switch (this.buffer.length) {
					case 1:
						if (this.buffer[0] === BOM[0]) {
							callback();
							return;
						}
						this.checkBOM = false;
						callback();
						return;
					case 2:
						if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
							callback();
							return;
						}
						this.checkBOM = false;
						break;
					case 3:
						if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
							this.buffer = Buffer.alloc(0);
							this.checkBOM = false;
							callback();
							return;
						}
						this.checkBOM = false;
						break;
					default:
						if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
							this.buffer = this.buffer.subarray(3);
						}
						this.checkBOM = false;
						break;
				}
			}
			while (this.pos < this.buffer.length) {
				if (this.eventEndCheck) {
					if (this.crlfCheck) {
						if (this.buffer[this.pos] === LF) {
							this.buffer = this.buffer.subarray(this.pos + 1);
							this.pos = 0;
							this.crlfCheck = false;
							continue;
						}
						this.crlfCheck = false;
					}
					if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
						if (this.buffer[this.pos] === CR) {
							this.crlfCheck = true;
						}
						this.buffer = this.buffer.subarray(this.pos + 1);
						this.pos = 0;
						if (this.event.data !== undefined || this.event.event || this.event.id !== undefined || this.event.retry) {
							this.processEvent(this.event);
						}
						this.clearEvent();
						continue;
					}
					this.eventEndCheck = false;
					continue;
				}
				if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
					if (this.buffer[this.pos] === CR) {
						this.crlfCheck = true;
					}
					this.parseLine(this.buffer.subarray(0, this.pos), this.event);
					this.buffer = this.buffer.subarray(this.pos + 1);
					this.pos = 0;
					this.eventEndCheck = true;
					continue;
				}
				this.pos++;
			}
			callback();
		}
		/**
		* @param {Buffer} line
		* @param {EventSourceStreamEvent} event
		*/
		parseLine(line, event) {
			if (line.length === 0) {
				return;
			}
			const colonPosition = line.indexOf(COLON);
			if (colonPosition === 0) {
				return;
			}
			let field = "";
			let value = "";
			if (colonPosition !== -1) {
				field = line.subarray(0, colonPosition).toString("utf8");
				let valueStart = colonPosition + 1;
				if (line[valueStart] === SPACE) {
					++valueStart;
				}
				value = line.subarray(valueStart).toString("utf8");
			} else {
				field = line.toString("utf8");
				value = "";
			}
			switch (field) {
				case "data":
					if (event[field] === undefined) {
						event[field] = value;
					} else {
						event[field] += `\n${value}`;
					}
					break;
				case "retry":
					if (isASCIINumber(value)) {
						event[field] = value;
					}
					break;
				case "id":
					if (isValidLastEventId(value)) {
						event[field] = value;
					}
					break;
				case "event":
					if (value.length > 0) {
						event[field] = value;
					}
					break;
			}
		}
		/**
		* @param {EventSourceStreamEvent} event
		*/
		processEvent(event) {
			if (event.retry && isASCIINumber(event.retry)) {
				this.state.reconnectionTime = parseInt(event.retry, 10);
			}
			if (event.id !== undefined && isValidLastEventId(event.id)) {
				this.state.lastEventId = event.id;
			}
			if (event.data !== undefined) {
				this.push({
					type: event.event || "message",
					options: {
						data: event.data,
						lastEventId: this.state.lastEventId,
						origin: this.state.origin
					}
				});
			}
		}
		clearEvent() {
			this.event = {
				data: undefined,
				event: undefined,
				id: undefined,
				retry: undefined
			};
		}
	};
	module.exports = { EventSourceStream };
}));

//#endregion
//#region ../node_modules/undici/lib/web/eventsource/eventsource.js
var require_eventsource = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { pipeline: pipeline$1 } = __require("node:stream");
	const { fetching } = require_fetch();
	const { makeRequest } = require_request$1();
	const { webidl } = require_webidl();
	const { EventSourceStream } = require_eventsource_stream();
	const { parseMIMEType } = require_data_url();
	const { createFastMessageEvent } = require_events();
	const { isNetworkError } = require_response$1();
	const { kEnumerableProperty } = require_util$5();
	const { environmentSettingsObject } = require_util$4();
	let experimentalWarned = false;
	/**
	* A reconnection time, in milliseconds. This must initially be an implementation-defined value,
	* probably in the region of a few seconds.
	*
	* In Comparison:
	* - Chrome uses 3000ms.
	* - Deno uses 5000ms.
	*
	* @type {3000}
	*/
	const defaultReconnectionTime = 3e3;
	/**
	* The readyState attribute represents the state of the connection.
	* @typedef ReadyState
	* @type {0|1|2}
	* @readonly
	* @see https://html.spec.whatwg.org/multipage/server-sent-events.html#dom-eventsource-readystate-dev
	*/
	/**
	* The connection has not yet been established, or it was closed and the user
	* agent is reconnecting.
	* @type {0}
	*/
	const CONNECTING = 0;
	/**
	* The user agent has an open connection and is dispatching events as it
	* receives them.
	* @type {1}
	*/
	const OPEN = 1;
	/**
	* The connection is not open, and the user agent is not trying to reconnect.
	* @type {2}
	*/
	const CLOSED = 2;
	/**
	* Requests for the element will have their mode set to "cors" and their credentials mode set to "same-origin".
	* @type {'anonymous'}
	*/
	const ANONYMOUS = "anonymous";
	/**
	* Requests for the element will have their mode set to "cors" and their credentials mode set to "include".
	* @type {'use-credentials'}
	*/
	const USE_CREDENTIALS = "use-credentials";
	/**
	* The EventSource interface is used to receive server-sent events. It
	* connects to a server over HTTP and receives events in text/event-stream
	* format without closing the connection.
	* @extends {EventTarget}
	* @see https://html.spec.whatwg.org/multipage/server-sent-events.html#server-sent-events
	* @api public
	*/
	var EventSource = class EventSource extends EventTarget {
		#events = {
			open: null,
			error: null,
			message: null
		};
		#url;
		#withCredentials = false;
		/**
		* @type {ReadyState}
		*/
		#readyState = CONNECTING;
		#request = null;
		#controller = null;
		#dispatcher;
		/**
		* @type {import('./eventsource-stream').eventSourceSettings}
		*/
		#state;
		/**
		* Creates a new EventSource object.
		* @param {string} url
		* @param {EventSourceInit} [eventSourceInitDict={}]
		* @see https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface
		*/
		constructor(url, eventSourceInitDict = {}) {
			super();
			webidl.util.markAsUncloneable(this);
			const prefix = "EventSource constructor";
			webidl.argumentLengthCheck(arguments, 1, prefix);
			if (!experimentalWarned) {
				experimentalWarned = true;
				process.emitWarning("EventSource is experimental, expect them to change at any time.", { code: "UNDICI-ES" });
			}
			url = webidl.converters.USVString(url);
			eventSourceInitDict = webidl.converters.EventSourceInitDict(eventSourceInitDict, prefix, "eventSourceInitDict");
			this.#dispatcher = eventSourceInitDict.node.dispatcher || eventSourceInitDict.dispatcher;
			this.#state = {
				lastEventId: "",
				reconnectionTime: eventSourceInitDict.node.reconnectionTime
			};
			const settings = environmentSettingsObject;
			let urlRecord;
			try {
				urlRecord = new URL(url, settings.settingsObject.baseUrl);
				this.#state.origin = urlRecord.origin;
			} catch (e) {
				throw new DOMException(e, "SyntaxError");
			}
			this.#url = urlRecord.href;
			let corsAttributeState = ANONYMOUS;
			if (eventSourceInitDict.withCredentials === true) {
				corsAttributeState = USE_CREDENTIALS;
				this.#withCredentials = true;
			}
			const initRequest = {
				redirect: "follow",
				keepalive: true,
				mode: "cors",
				credentials: corsAttributeState === "anonymous" ? "same-origin" : "omit",
				referrer: "no-referrer"
			};
			initRequest.client = environmentSettingsObject.settingsObject;
			initRequest.headersList = [["accept", {
				name: "accept",
				value: "text/event-stream"
			}]];
			initRequest.cache = "no-store";
			initRequest.initiator = "other";
			initRequest.urlList = [new URL(this.#url)];
			this.#request = makeRequest(initRequest);
			this.#connect();
		}
		/**
		* Returns the state of this EventSource object's connection. It can have the
		* values described below.
		* @returns {ReadyState}
		* @readonly
		*/
		get readyState() {
			return this.#readyState;
		}
		/**
		* Returns the URL providing the event stream.
		* @readonly
		* @returns {string}
		*/
		get url() {
			return this.#url;
		}
		/**
		* Returns a boolean indicating whether the EventSource object was
		* instantiated with CORS credentials set (true), or not (false, the default).
		*/
		get withCredentials() {
			return this.#withCredentials;
		}
		#connect() {
			if (this.#readyState === CLOSED) return;
			this.#readyState = CONNECTING;
			const fetchParams = {
				request: this.#request,
				dispatcher: this.#dispatcher
			};
			const processEventSourceEndOfBody = (response) => {
				if (!isNetworkError(response)) {
					return this.#reconnect();
				}
			};
			fetchParams.processResponseEndOfBody = processEventSourceEndOfBody;
			fetchParams.processResponse = (response) => {
				if (isNetworkError(response)) {
					if (response.aborted) {
						this.close();
						this.dispatchEvent(new Event("error"));
						return;
					} else {
						this.#reconnect();
						return;
					}
				}
				const contentType = response.headersList.get("content-type", true);
				const mimeType = contentType !== null ? parseMIMEType(contentType) : "failure";
				const contentTypeValid = mimeType !== "failure" && mimeType.essence === "text/event-stream";
				if (response.status !== 200 || contentTypeValid === false) {
					this.close();
					this.dispatchEvent(new Event("error"));
					return;
				}
				this.#readyState = OPEN;
				this.dispatchEvent(new Event("open"));
				this.#state.origin = response.urlList[response.urlList.length - 1].origin;
				const eventSourceStream = new EventSourceStream({
					eventSourceSettings: this.#state,
					push: (event) => {
						this.dispatchEvent(createFastMessageEvent(event.type, event.options));
					}
				});
				pipeline$1(response.body.stream, eventSourceStream, (error) => {
					if (error?.aborted === false) {
						this.close();
						this.dispatchEvent(new Event("error"));
					}
				});
			};
			this.#controller = fetching(fetchParams);
		}
		/**
		* @see https://html.spec.whatwg.org/multipage/server-sent-events.html#sse-processing-model
		* @returns {void}
		*/
		#reconnect() {
			if (this.#readyState === CLOSED) return;
			this.#readyState = CONNECTING;
			this.dispatchEvent(new Event("error"));
			setTimeout(() => {
				if (this.#readyState !== CONNECTING) return;
				if (this.#state.lastEventId.length) {
					this.#request.headersList.set("last-event-id", this.#state.lastEventId, true);
				}
				this.#connect();
			}, this.#state.reconnectionTime)?.unref();
		}
		/**
		* Closes the connection, if any, and sets the readyState attribute to
		* CLOSED.
		*/
		close() {
			webidl.brandCheck(this, EventSource);
			if (this.#readyState === CLOSED) return;
			this.#readyState = CLOSED;
			this.#controller.abort();
			this.#request = null;
		}
		get onopen() {
			return this.#events.open;
		}
		set onopen(fn) {
			if (this.#events.open) {
				this.removeEventListener("open", this.#events.open);
			}
			const listener = webidl.converters.EventHandlerNonNull(fn);
			if (listener !== null) {
				this.addEventListener("open", listener);
				this.#events.open = fn;
			} else {
				this.#events.open = null;
			}
		}
		get onmessage() {
			return this.#events.message;
		}
		set onmessage(fn) {
			if (this.#events.message) {
				this.removeEventListener("message", this.#events.message);
			}
			const listener = webidl.converters.EventHandlerNonNull(fn);
			if (listener !== null) {
				this.addEventListener("message", listener);
				this.#events.message = fn;
			} else {
				this.#events.message = null;
			}
		}
		get onerror() {
			return this.#events.error;
		}
		set onerror(fn) {
			if (this.#events.error) {
				this.removeEventListener("error", this.#events.error);
			}
			const listener = webidl.converters.EventHandlerNonNull(fn);
			if (listener !== null) {
				this.addEventListener("error", listener);
				this.#events.error = fn;
			} else {
				this.#events.error = null;
			}
		}
	};
	const constantsPropertyDescriptors = {
		CONNECTING: {
			__proto__: null,
			configurable: false,
			enumerable: true,
			value: CONNECTING,
			writable: false
		},
		OPEN: {
			__proto__: null,
			configurable: false,
			enumerable: true,
			value: OPEN,
			writable: false
		},
		CLOSED: {
			__proto__: null,
			configurable: false,
			enumerable: true,
			value: CLOSED,
			writable: false
		}
	};
	Object.defineProperties(EventSource, constantsPropertyDescriptors);
	Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors);
	Object.defineProperties(EventSource.prototype, {
		close: kEnumerableProperty,
		onerror: kEnumerableProperty,
		onmessage: kEnumerableProperty,
		onopen: kEnumerableProperty,
		readyState: kEnumerableProperty,
		url: kEnumerableProperty,
		withCredentials: kEnumerableProperty
	});
	webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([
		{
			key: "withCredentials",
			converter: webidl.converters.boolean,
			defaultValue: () => false
		},
		{
			key: "dispatcher",
			converter: webidl.converters.any
		},
		{
			key: "node",
			converter: webidl.dictionaryConverter([{
				key: "reconnectionTime",
				converter: webidl.converters["unsigned long"],
				defaultValue: () => defaultReconnectionTime
			}, {
				key: "dispatcher",
				converter: webidl.converters.any
			}]),
			defaultValue: () => ({})
		}
	]);
	module.exports = {
		EventSource,
		defaultReconnectionTime
	};
}));

//#endregion
//#region ../node_modules/undici/index.js
var require_undici = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const Client = require_client();
	const Dispatcher = require_dispatcher();
	const Pool = require_pool();
	const BalancedPool = require_balanced_pool();
	const RoundRobinPool = require_round_robin_pool();
	const Agent = require_agent();
	const ProxyAgent = require_proxy_agent();
	const EnvHttpProxyAgent = require_env_http_proxy_agent();
	const RetryAgent = require_retry_agent();
	const H2CClient = require_h2c_client();
	const errors = require_errors();
	const util = require_util$5();
	const { InvalidArgumentError } = errors;
	const api = require_api();
	const buildConnector = require_connect();
	const MockClient = require_mock_client();
	const { MockCallHistory, MockCallHistoryLog } = require_mock_call_history();
	const MockAgent = require_mock_agent();
	const MockPool = require_mock_pool();
	const SnapshotAgent = require_snapshot_agent();
	const mockErrors = require_mock_errors();
	const RetryHandler = require_retry_handler();
	const { getGlobalDispatcher, setGlobalDispatcher } = require_global();
	const DecoratorHandler = require_decorator_handler();
	const RedirectHandler = require_redirect_handler();
	Object.assign(Dispatcher.prototype, api);
	module.exports.Dispatcher = Dispatcher;
	module.exports.Client = Client;
	module.exports.Pool = Pool;
	module.exports.BalancedPool = BalancedPool;
	module.exports.RoundRobinPool = RoundRobinPool;
	module.exports.Agent = Agent;
	module.exports.ProxyAgent = ProxyAgent;
	module.exports.EnvHttpProxyAgent = EnvHttpProxyAgent;
	module.exports.RetryAgent = RetryAgent;
	module.exports.H2CClient = H2CClient;
	module.exports.RetryHandler = RetryHandler;
	module.exports.DecoratorHandler = DecoratorHandler;
	module.exports.RedirectHandler = RedirectHandler;
	module.exports.interceptors = {
		redirect: require_redirect(),
		responseError: require_response_error(),
		retry: require_retry(),
		dump: require_dump(),
		dns: require_dns(),
		cache: require_cache$1(),
		decompress: require_decompress(),
		deduplicate: require_deduplicate()
	};
	module.exports.cacheStores = { MemoryCacheStore: require_memory_cache_store() };
	const SqliteCacheStore = require_sqlite_cache_store();
	module.exports.cacheStores.SqliteCacheStore = SqliteCacheStore;
	module.exports.buildConnector = buildConnector;
	module.exports.errors = errors;
	module.exports.util = {
		parseHeaders: util.parseHeaders,
		headerNameToString: util.headerNameToString
	};
	function makeDispatcher(fn) {
		return (url, opts, handler) => {
			if (typeof opts === "function") {
				handler = opts;
				opts = null;
			}
			if (!url || typeof url !== "string" && typeof url !== "object" && !(url instanceof URL)) {
				throw new InvalidArgumentError("invalid url");
			}
			if (opts != null && typeof opts !== "object") {
				throw new InvalidArgumentError("invalid opts");
			}
			if (opts && opts.path != null) {
				if (typeof opts.path !== "string") {
					throw new InvalidArgumentError("invalid opts.path");
				}
				let path = opts.path;
				if (!opts.path.startsWith("/")) {
					path = `/${path}`;
				}
				url = new URL(util.parseOrigin(url).origin + path);
			} else {
				if (!opts) {
					opts = typeof url === "object" ? url : {};
				}
				url = util.parseURL(url);
			}
			const { agent, dispatcher = getGlobalDispatcher() } = opts;
			if (agent) {
				throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?");
			}
			return fn.call(dispatcher, {
				...opts,
				origin: url.origin,
				path: url.search ? `${url.pathname}${url.search}` : url.pathname,
				method: opts.method || (opts.body ? "PUT" : "GET")
			}, handler);
		};
	}
	module.exports.setGlobalDispatcher = setGlobalDispatcher;
	module.exports.getGlobalDispatcher = getGlobalDispatcher;
	const fetchImpl = require_fetch().fetch;
	const currentFilename = typeof __filename !== "undefined" ? __filename : undefined;
	function appendFetchStackTrace(err, filename) {
		if (!err || typeof err !== "object") {
			return;
		}
		const stack = typeof err.stack === "string" ? err.stack : "";
		const normalizedFilename = filename.replace(/\\/g, "/");
		if (stack && (stack.includes(filename) || stack.includes(normalizedFilename))) {
			return;
		}
		const capture = {};
		Error.captureStackTrace(capture, appendFetchStackTrace);
		if (!capture.stack) {
			return;
		}
		const captureLines = capture.stack.split("\n").slice(1).join("\n");
		err.stack = stack ? `${stack}\n${captureLines}` : capture.stack;
	}
	module.exports.fetch = function fetch(init, options = undefined) {
		return fetchImpl(init, options).catch((err) => {
			if (currentFilename) {
				appendFetchStackTrace(err, currentFilename);
			} else if (err && typeof err === "object") {
				Error.captureStackTrace(err, module.exports.fetch);
			}
			throw err;
		});
	};
	module.exports.Headers = require_headers$1().Headers;
	module.exports.Response = require_response$1().Response;
	module.exports.Request = require_request$1().Request;
	module.exports.FormData = require_formdata().FormData;
	const { setGlobalOrigin, getGlobalOrigin } = require_global$1();
	module.exports.setGlobalOrigin = setGlobalOrigin;
	module.exports.getGlobalOrigin = getGlobalOrigin;
	const { CacheStorage } = require_cachestorage();
	const { kConstruct } = require_symbols();
	module.exports.caches = new CacheStorage(kConstruct);
	const { deleteCookie, getCookies, getSetCookies, setCookie, parseCookie } = require_cookies();
	module.exports.deleteCookie = deleteCookie;
	module.exports.getCookies = getCookies;
	module.exports.getSetCookies = getSetCookies;
	module.exports.setCookie = setCookie;
	module.exports.parseCookie = parseCookie;
	const { parseMIMEType, serializeAMimeType } = require_data_url();
	module.exports.parseMIMEType = parseMIMEType;
	module.exports.serializeAMimeType = serializeAMimeType;
	const { CloseEvent, ErrorEvent, MessageEvent } = require_events();
	const { WebSocket, ping } = require_websocket();
	module.exports.WebSocket = WebSocket;
	module.exports.CloseEvent = CloseEvent;
	module.exports.ErrorEvent = ErrorEvent;
	module.exports.MessageEvent = MessageEvent;
	module.exports.ping = ping;
	module.exports.WebSocketStream = require_websocketstream().WebSocketStream;
	module.exports.WebSocketError = require_websocketerror().WebSocketError;
	module.exports.request = makeDispatcher(api.request);
	module.exports.stream = makeDispatcher(api.stream);
	module.exports.pipeline = makeDispatcher(api.pipeline);
	module.exports.connect = makeDispatcher(api.connect);
	module.exports.upgrade = makeDispatcher(api.upgrade);
	module.exports.MockClient = MockClient;
	module.exports.MockCallHistory = MockCallHistory;
	module.exports.MockCallHistoryLog = MockCallHistoryLog;
	module.exports.MockPool = MockPool;
	module.exports.MockAgent = MockAgent;
	module.exports.SnapshotAgent = SnapshotAgent;
	module.exports.mockErrors = mockErrors;
	const { EventSource } = require_eventsource();
	module.exports.EventSource = EventSource;
	function install() {
		globalThis.fetch = module.exports.fetch;
		globalThis.Headers = module.exports.Headers;
		globalThis.Response = module.exports.Response;
		globalThis.Request = module.exports.Request;
		globalThis.FormData = module.exports.FormData;
		globalThis.WebSocket = module.exports.WebSocket;
		globalThis.CloseEvent = module.exports.CloseEvent;
		globalThis.ErrorEvent = module.exports.ErrorEvent;
		globalThis.MessageEvent = module.exports.MessageEvent;
		globalThis.EventSource = module.exports.EventSource;
	}
	module.exports.install = install;
}));

//#endregion
//#region ../node_modules/whatwg-mimetype/lib/utils.js
var require_utils = /* @__PURE__ */ __commonJSMin(((exports) => {
	exports.removeLeadingAndTrailingHTTPWhitespace = (string) => {
		return string.replace(/^[ \t\n\r]+/u, "").replace(/[ \t\n\r]+$/u, "");
	};
	exports.removeTrailingHTTPWhitespace = (string) => {
		return string.replace(/[ \t\n\r]+$/u, "");
	};
	exports.isHTTPWhitespaceChar = (char) => {
		return char === " " || char === "	" || char === "\n" || char === "\r";
	};
	exports.solelyContainsHTTPTokenCodePoints = (string) => {
		return /^[-!#$%&'*+.^_`|~A-Za-z0-9]*$/u.test(string);
	};
	exports.soleyContainsHTTPQuotedStringTokenCodePoints = (string) => {
		return /^[\t\u0020-\u007E\u0080-\u00FF]*$/u.test(string);
	};
	exports.asciiLowercase = (string) => {
		return string.replace(/[A-Z]/gu, (l) => l.toLowerCase());
	};
	exports.collectAnHTTPQuotedString = (input, position) => {
		let value = "";
		position++;
		while (true) {
			while (position < input.length && input[position] !== "\"" && input[position] !== "\\") {
				value += input[position];
				++position;
			}
			if (position >= input.length) {
				break;
			}
			const quoteOrBackslash = input[position];
			++position;
			if (quoteOrBackslash === "\\") {
				if (position >= input.length) {
					value += "\\";
					break;
				}
				value += input[position];
				++position;
			} else {
				break;
			}
		}
		return [value, position];
	};
}));

//#endregion
//#region ../node_modules/whatwg-mimetype/lib/mime-type-parameters.js
var require_mime_type_parameters = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { asciiLowercase, solelyContainsHTTPTokenCodePoints, soleyContainsHTTPQuotedStringTokenCodePoints } = require_utils();
	module.exports = class MIMETypeParameters {
		constructor(map) {
			this._map = map;
		}
		get size() {
			return this._map.size;
		}
		get(name) {
			name = asciiLowercase(String(name));
			return this._map.get(name);
		}
		has(name) {
			name = asciiLowercase(String(name));
			return this._map.has(name);
		}
		set(name, value) {
			name = asciiLowercase(String(name));
			value = String(value);
			if (!solelyContainsHTTPTokenCodePoints(name)) {
				throw new Error(`Invalid MIME type parameter name "${name}": only HTTP token code points are valid.`);
			}
			if (!soleyContainsHTTPQuotedStringTokenCodePoints(value)) {
				throw new Error(`Invalid MIME type parameter value "${value}": only HTTP quoted-string token code points are ` + `valid.`);
			}
			return this._map.set(name, value);
		}
		clear() {
			this._map.clear();
		}
		delete(name) {
			name = asciiLowercase(String(name));
			return this._map.delete(name);
		}
		forEach(callbackFn, thisArg) {
			this._map.forEach(callbackFn, thisArg);
		}
		keys() {
			return this._map.keys();
		}
		values() {
			return this._map.values();
		}
		entries() {
			return this._map.entries();
		}
		[Symbol.iterator]() {
			return this._map[Symbol.iterator]();
		}
	};
}));

//#endregion
//#region ../node_modules/whatwg-mimetype/lib/parser.js
var require_parser = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { removeLeadingAndTrailingHTTPWhitespace, removeTrailingHTTPWhitespace, isHTTPWhitespaceChar, solelyContainsHTTPTokenCodePoints, soleyContainsHTTPQuotedStringTokenCodePoints, asciiLowercase, collectAnHTTPQuotedString } = require_utils();
	module.exports = (input) => {
		input = removeLeadingAndTrailingHTTPWhitespace(input);
		let position = 0;
		let type = "";
		while (position < input.length && input[position] !== "/") {
			type += input[position];
			++position;
		}
		if (type.length === 0 || !solelyContainsHTTPTokenCodePoints(type)) {
			return null;
		}
		if (position >= input.length) {
			return null;
		}
		++position;
		let subtype = "";
		while (position < input.length && input[position] !== ";") {
			subtype += input[position];
			++position;
		}
		subtype = removeTrailingHTTPWhitespace(subtype);
		if (subtype.length === 0 || !solelyContainsHTTPTokenCodePoints(subtype)) {
			return null;
		}
		const mimeType = {
			type: asciiLowercase(type),
			subtype: asciiLowercase(subtype),
			parameters: new Map()
		};
		while (position < input.length) {
			++position;
			while (isHTTPWhitespaceChar(input[position])) {
				++position;
			}
			let parameterName = "";
			while (position < input.length && input[position] !== ";" && input[position] !== "=") {
				parameterName += input[position];
				++position;
			}
			parameterName = asciiLowercase(parameterName);
			if (position < input.length) {
				if (input[position] === ";") {
					continue;
				}
				++position;
			}
			let parameterValue = null;
			if (input[position] === "\"") {
				[parameterValue, position] = collectAnHTTPQuotedString(input, position);
				while (position < input.length && input[position] !== ";") {
					++position;
				}
			} else {
				parameterValue = "";
				while (position < input.length && input[position] !== ";") {
					parameterValue += input[position];
					++position;
				}
				parameterValue = removeTrailingHTTPWhitespace(parameterValue);
				if (parameterValue === "") {
					continue;
				}
			}
			if (parameterName.length > 0 && solelyContainsHTTPTokenCodePoints(parameterName) && soleyContainsHTTPQuotedStringTokenCodePoints(parameterValue) && !mimeType.parameters.has(parameterName)) {
				mimeType.parameters.set(parameterName, parameterValue);
			}
		}
		return mimeType;
	};
}));

//#endregion
//#region ../node_modules/whatwg-mimetype/lib/serializer.js
var require_serializer = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const { solelyContainsHTTPTokenCodePoints } = require_utils();
	module.exports = (mimeType) => {
		let serialization = `${mimeType.type}/${mimeType.subtype}`;
		if (mimeType.parameters.size === 0) {
			return serialization;
		}
		for (let [name, value] of mimeType.parameters) {
			serialization += ";";
			serialization += name;
			serialization += "=";
			if (!solelyContainsHTTPTokenCodePoints(value) || value.length === 0) {
				value = value.replace(/(["\\])/gu, "\\$1");
				value = `"${value}"`;
			}
			serialization += value;
		}
		return serialization;
	};
}));

//#endregion
//#region ../node_modules/whatwg-mimetype/lib/mime-type.js
var require_mime_type = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const MIMETypeParameters = require_mime_type_parameters();
	const parse = require_parser();
	const serialize = require_serializer();
	const { asciiLowercase, solelyContainsHTTPTokenCodePoints } = require_utils();
	module.exports = class MIMEType {
		constructor(string) {
			string = String(string);
			const result = parse(string);
			if (result === null) {
				throw new Error(`Could not parse MIME type string "${string}"`);
			}
			this._type = result.type;
			this._subtype = result.subtype;
			this._parameters = new MIMETypeParameters(result.parameters);
		}
		static parse(string) {
			try {
				return new this(string);
			} catch (e) {
				return null;
			}
		}
		get essence() {
			return `${this.type}/${this.subtype}`;
		}
		get type() {
			return this._type;
		}
		set type(value) {
			value = asciiLowercase(String(value));
			if (value.length === 0) {
				throw new Error("Invalid type: must be a non-empty string");
			}
			if (!solelyContainsHTTPTokenCodePoints(value)) {
				throw new Error(`Invalid type ${value}: must contain only HTTP token code points`);
			}
			this._type = value;
		}
		get subtype() {
			return this._subtype;
		}
		set subtype(value) {
			value = asciiLowercase(String(value));
			if (value.length === 0) {
				throw new Error("Invalid subtype: must be a non-empty string");
			}
			if (!solelyContainsHTTPTokenCodePoints(value)) {
				throw new Error(`Invalid subtype ${value}: must contain only HTTP token code points`);
			}
			this._subtype = value;
		}
		get parameters() {
			return this._parameters;
		}
		toString() {
			return serialize(this);
		}
		isJavaScript({ prohibitParameters = false } = {}) {
			switch (this._type) {
				case "text": {
					switch (this._subtype) {
						case "ecmascript":
						case "javascript":
						case "javascript1.0":
						case "javascript1.1":
						case "javascript1.2":
						case "javascript1.3":
						case "javascript1.4":
						case "javascript1.5":
						case "jscript":
						case "livescript":
						case "x-ecmascript":
						case "x-javascript": {
							return !prohibitParameters || this._parameters.size === 0;
						}
						default: {
							return false;
						}
					}
				}
				case "application": {
					switch (this._subtype) {
						case "ecmascript":
						case "javascript":
						case "x-ecmascript":
						case "x-javascript": {
							return !prohibitParameters || this._parameters.size === 0;
						}
						default: {
							return false;
						}
					}
				}
				default: {
					return false;
				}
			}
		}
		isXML() {
			return this._subtype === "xml" && (this._type === "text" || this._type === "application") || this._subtype.endsWith("+xml");
		}
		isHTML() {
			return this._subtype === "html" && this._type === "text";
		}
	};
}));

//#endregion
//#region ../node_modules/cheerio/dist/esm/index.js
var import_undici = /* @__PURE__ */ __toESM(require_undici(), 1);
var import_mime_type = /* @__PURE__ */ __toESM(require_mime_type(), 1);
/**
* Sniffs the encoding of a buffer, then creates a querying function bound to a
* document created from the buffer.
*
* @category Loading
* @example
*
* ```js
* import * as cheerio from 'cheerio';
*
* const buffer = fs.readFileSync('index.html');
* const $ = cheerio.loadBuffer(buffer);
* ```
*
* @param buffer - The buffer to sniff the encoding of.
* @param options - The options to pass to Cheerio.
* @returns The loaded document.
*/
function loadBuffer(buffer, options = {}) {
	const opts = flattenOptions(options);
	const str = decodeBuffer(buffer, {
		defaultEncoding: (opts === null || opts === void 0 ? void 0 : opts.xmlMode) ? "utf8" : "windows-1252",
		...options.encoding
	});
	return load(str, opts);
}
function _stringStream(options, cb) {
	var _a;
	if (options === null || options === void 0 ? void 0 : options._useHtmlParser2) {
		const parser = createDocumentStream((err, document) => cb(err, load(document, options)), options);
		return new Writable$1({
			decodeStrings: false,
			write(chunk, _encoding, callback) {
				if (typeof chunk !== "string") {
					throw new TypeError("Expected a string");
				}
				parser.write(chunk);
				callback();
			},
			final(callback) {
				parser.end();
				callback();
			}
		});
	}
	options !== null && options !== void 0 ? options : options = {};
	(_a = options.treeAdapter) !== null && _a !== void 0 ? _a : options.treeAdapter = adapter;
	if (options.scriptingEnabled !== false) {
		options.scriptingEnabled = true;
	}
	const stream = new ParserStream(options);
	finished(stream, (err) => cb(err, load(stream.document, options)));
	return stream;
}
/**
* Creates a stream that parses a sequence of strings into a document.
*
* The stream is a `Writable` stream that accepts strings. When the stream is
* finished, the callback is called with the loaded document.
*
* @category Loading
* @example
*
* ```js
* import * as cheerio from 'cheerio';
* import * as fs from 'fs';
*
* const writeStream = cheerio.stringStream({}, (err, $) => {
*   if (err) {
*     // Handle error
*   }
*
*   console.log($('h1').text());
*   // Output: Hello, world!
* });
*
* fs.createReadStream('my-document.html', { encoding: 'utf8' }).pipe(
*   writeStream,
* );
* ```
*
* @param options - The options to pass to Cheerio.
* @param cb - The callback to call when the stream is finished.
* @returns The writable stream.
*/
function stringStream(options, cb) {
	return _stringStream(flattenOptions(options), cb);
}
/**
* Parses a stream of buffers into a document.
*
* The stream is a `Writable` stream that accepts buffers. When the stream is
* finished, the callback is called with the loaded document.
*
* @category Loading
* @param options - The options to pass to Cheerio.
* @param cb - The callback to call when the stream is finished.
* @returns The writable stream.
*/
function decodeStream(options, cb) {
	var _a;
	const { encoding = {}, ...cheerioOptions } = options;
	const opts = flattenOptions(cheerioOptions);
	(_a = encoding.defaultEncoding) !== null && _a !== void 0 ? _a : encoding.defaultEncoding = (opts === null || opts === void 0 ? void 0 : opts.xmlMode) ? "utf8" : "windows-1252";
	const decodeStream = new DecodeStream(encoding);
	const loadStream = _stringStream(opts, cb);
	decodeStream.pipe(loadStream);
	return decodeStream;
}
const defaultRequestOptions = {
	method: "GET",
	headers: { accept: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" }
};
/**
* `fromURL` loads a document from a URL.
*
* By default, redirects are allowed and non-2xx responses are rejected.
*
* @category Loading
* @example
*
* ```js
* import * as cheerio from 'cheerio';
*
* const $ = await cheerio.fromURL('https://example.com');
* ```
*
* @param url - The URL to load the document from.
* @param options - The options to pass to Cheerio.
* @returns The loaded document.
*/
async function fromURL(url, options = {}) {
	const { requestOptions = defaultRequestOptions, encoding = {}, ...cheerioOptions } = options;
	let undiciStream;
	const urlObject = typeof url === "string" ? new URL(url) : url;
	const streamOptions = {
		headers: defaultRequestOptions.headers,
		path: urlObject.pathname + urlObject.search,
		...requestOptions
	};
	const promise = new Promise((resolve, reject) => {
		undiciStream = new import_undici.Client(urlObject.origin).compose(import_undici.interceptors.redirect({ maxRedirections: 5 })).stream(streamOptions, (res) => {
			var _a, _b;
			if (res.statusCode < 200 || res.statusCode >= 300) {
				throw new import_undici.errors.ResponseError("Response Error", res.statusCode, { headers: res.headers });
			}
			const contentTypeHeader = (_a = res.headers["content-type"]) !== null && _a !== void 0 ? _a : "text/html";
			const mimeType = new import_mime_type.default(Array.isArray(contentTypeHeader) ? contentTypeHeader[0] : contentTypeHeader);
			if (!mimeType.isHTML() && !mimeType.isXML()) {
				throw new RangeError(`The content-type "${mimeType.essence}" is neither HTML nor XML.`);
			}
			encoding.transportLayerEncodingLabel = mimeType.parameters.get("charset");
			const history = (_b = res.context) === null || _b === void 0 ? void 0 : _b.history;
			const baseURI = history ? history[history.length - 1] : urlObject;
			const opts = {
				encoding,
				xmlMode: mimeType.isXML(),
				baseURI,
				...cheerioOptions
			};
			return decodeStream(opts, (err, $) => err ? reject(err) : resolve($));
		});
	});
	await undiciStream;
	return promise;
}

//#endregion
//#region ../utils/webdav.js
/**
* WebDAV 工具类
*
* 该模块提供了完整的 WebDAV 客户端功能，支持文件和目录的各种操作。
* 基于 axios 实现，支持身份验证、SSL 配置等高级功能。
*
* 主要功能：
* - WebDAV 服务器连接和身份验证
* - 目录浏览和创建
* - 文件上传、下载、删除
* - 文件和目录信息获取
* - 移动和复制操作
*
* @author drpy-node
* @version 1.0.0
*/
/**
* WebDAV 客户端类
*/
var WebDAVClient = class {
	/**
	* 构造函数
	* @param {Object} config - 配置对象
	* @param {string} config.baseURL - WebDAV 服务器基础 URL
	* @param {string} [config.username] - 用户名
	* @param {string} [config.password] - 密码
	* @param {boolean} [config.rejectUnauthorized=false] - 是否验证 SSL 证书
	* @param {number} [config.timeout=30000] - 请求超时时间（毫秒）
	* @param {Object} [config.headers] - 自定义请求头
	*/
	constructor(config) {
		this.config = {
			rejectUnauthorized: false,
			timeout: 3e4,
			...config
		};
		this.client = axios$1.create({
			baseURL: this.config.baseURL,
			timeout: this.config.timeout,
			httpsAgent: new https.Agent({
				keepAlive: true,
				rejectUnauthorized: this.config.rejectUnauthorized
			}),
			httpAgent: new http.Agent({ keepAlive: true }),
			headers: {
				"User-Agent": "drpy-node-webdav/1.0.0",
				...this.config.headers
			}
		});
		if (this.config.username && this.config.password) {
			this.client.defaults.auth = {
				username: this.config.username,
				password: this.config.password
			};
		}
		this.client.interceptors.response.use((response) => response, (error) => {
			if (error.response) {
				const { status, statusText, data } = error.response;
				throw new Error(`WebDAV Error ${status}: ${statusText}${data ? ` - ${data}` : ""}`);
			}
			throw error;
		});
	}
	/**
	* 测试连接
	* @returns {Promise<boolean>} 连接是否成功
	*/
	async testConnection() {
		try {
			await this.client.request({
				method: "OPTIONS",
				url: "/"
			});
			return true;
		} catch (error) {
			console.error("WebDAV connection test failed:", error.message);
			return false;
		}
	}
	/**
	* 获取目录内容
	* @param {string} [remotePath='/'] - 远程目录路径
	* @param {number} [depth=1] - 查询深度（0=仅属性，1=直接子项，infinity=所有子项）
	* @returns {Promise<Array>} 目录内容列表
	*/
	async listDirectory(remotePath = "/", depth = 1) {
		try {
			const normalizedPath = this._normalizePath(remotePath);
			const response = await this.client.request({
				method: "PROPFIND",
				url: normalizedPath,
				headers: {
					"Depth": depth === Infinity ? "infinity" : depth.toString(),
					"Content-Type": "application/xml"
				},
				data: `<?xml version="1.0" encoding="utf-8" ?>
                    <D:propfind xmlns:D="DAV:">
                        <D:allprop/>
                    </D:propfind>`
			});
			return this._parseMultiStatus(response.data, normalizedPath);
		} catch (error) {
			throw new Error(`Failed to list directory ${remotePath}: ${error.message}`);
		}
	}
	/**
	* 获取文件或目录信息
	* @param {string} remotePath - 远程路径
	* @returns {Promise<Object>} 文件/目录信息
	*/
	async getInfo(remotePath) {
		try {
			const response = await this.client.request({
				method: "PROPFIND",
				url: this._normalizePath(remotePath),
				headers: {
					"Depth": "0",
					"Content-Type": "application/xml"
				},
				data: `<?xml version="1.0" encoding="utf-8" ?>
                    <D:propfind xmlns:D="DAV:">
                        <D:allprop/>
                    </D:propfind>`
			});
			if (Number(process.env.WEBDAV_DEBUG)) {
				console.log("WebDAV PROPFIND response for", remotePath, ":", response.data);
			}
			const items = this._parseMultiStatus(response.data);
			if (items.length === 0) {
				throw new Error(`Resource not found or no accessible properties: ${remotePath}`);
			}
			return items[0];
		} catch (error) {
			if (error.response && error.response.status === 404) {
				throw new Error(`Resource not found: ${remotePath}`);
			}
			throw new Error(`Failed to get info for ${remotePath}: ${error.message}`);
		}
	}
	/**
	* 检查文件或目录是否存在
	* @param {string} remotePath - 远程路径
	* @returns {Promise<boolean>} 是否存在
	*/
	async exists(remotePath) {
		try {
			await this.getInfo(remotePath);
			return true;
		} catch (error) {
			return false;
		}
	}
	/**
	* 创建目录
	* @param {string} remotePath - 远程目录路径
	* @param {boolean} [recursive=false] - 是否递归创建父目录
	* @returns {Promise<boolean>} 创建是否成功
	*/
	async createDirectory(remotePath, recursive = false) {
		try {
			const normalizedPath = this._normalizePath(remotePath);
			if (recursive) {
				const pathParts = normalizedPath.split("/").filter((part) => part);
				let currentPath = "";
				for (const part of pathParts) {
					currentPath += "/" + part;
					if (!await this.exists(currentPath)) {
						await this.client.request({
							method: "MKCOL",
							url: currentPath
						});
					}
				}
			} else {
				await this.client.request({
					method: "MKCOL",
					url: normalizedPath
				});
			}
			return true;
		} catch (error) {
			throw new Error(`Failed to create directory ${remotePath}: ${error.message}`);
		}
	}
	/**
	* 上传文件
	* @param {string|Buffer|ReadableStream} source - 本地文件路径、Buffer 或可读流
	* @param {string} remotePath - 远程文件路径
	* @param {Object} [options] - 上传选项
	* @param {boolean} [options.overwrite=true] - 是否覆盖已存在的文件
	* @param {string} [options.contentType] - 内容类型
	* @param {Function} [options.onProgress] - 进度回调函数
	* @returns {Promise<boolean>} 上传是否成功
	*/
	async uploadFile(source, remotePath, options = {}) {
		const { overwrite = true, contentType, onProgress } = options;
		try {
			const normalizedPath = this._normalizePath(remotePath);
			if (!overwrite && await this.exists(normalizedPath)) {
				throw new Error(`File ${remotePath} already exists and overwrite is disabled`);
			}
			let data;
			let headers = {};
			if (typeof source === "string") {
				data = createReadStream(source);
				if (!contentType) {
					headers["Content-Type"] = this._getContentType(source);
				}
			} else if (Buffer.isBuffer(source)) {
				data = source;
				headers["Content-Length"] = source.length;
			} else {
				data = source;
			}
			if (contentType) {
				headers["Content-Type"] = contentType;
			}
			await this.client.request({
				method: "PUT",
				url: normalizedPath,
				data,
				headers,
				onUploadProgress: onProgress
			});
			return true;
		} catch (error) {
			throw new Error(`Failed to upload file to ${remotePath}: ${error.message}`);
		}
	}
	/**
	* 下载文件
	* @param {string} remotePath - 远程文件路径
	* @param {string} [localPath] - 本地保存路径，如果不提供则返回 Buffer
	* @param {Object} [options] - 下载选项
	* @param {Function} [options.onProgress] - 进度回调函数
	* @returns {Promise<Buffer|boolean>} 如果提供 localPath 返回 boolean，否则返回 Buffer
	*/
	async downloadFile(remotePath, localPath, options = {}) {
		const { onProgress } = options;
		try {
			const normalizedPath = this._normalizePath(remotePath);
			const response = await this.client.request({
				method: "GET",
				url: normalizedPath,
				responseType: localPath ? "stream" : "arraybuffer",
				onDownloadProgress: onProgress
			});
			if (localPath) {
				const writeStream = createWriteStream(localPath);
				await pipeline(response.data, writeStream);
				return true;
			} else {
				return Buffer.from(response.data);
			}
		} catch (error) {
			throw new Error(`Failed to download file ${remotePath}: ${error.message}`);
		}
	}
	/**
	* 获取文件流（用于直链服务）
	* @param {string} remotePath - 远程文件路径
	* @param {Object} [options] - 选项
	* @param {Object} [options.headers] - 额外的请求头（如 Range）
	* @returns {Promise<{stream: ReadableStream, headers: Object, size: number}>} 文件流和相关信息
	*/
	async getFileStream(remotePath, options = {}) {
		try {
			const normalizedPath = this._normalizePath(remotePath);
			const { headers: extraHeaders = {} } = options;
			const fileInfo = await this.getInfo(normalizedPath);
			if (!fileInfo || fileInfo.isDirectory) {
				throw new Error(`File not found or is a directory: ${remotePath}`);
			}
			const requestHeaders = { ...extraHeaders };
			const response = await this.client.request({
				method: "GET",
				url: normalizedPath,
				responseType: "stream",
				headers: requestHeaders
			});
			return {
				stream: response.data,
				headers: response.headers,
				size: fileInfo.size,
				contentType: fileInfo.contentType || "application/octet-stream",
				lastModified: fileInfo.lastModified,
				etag: fileInfo.etag
			};
		} catch (error) {
			throw new Error(`Failed to get file stream for ${remotePath}: ${error.message}`);
		}
	}
	/**
	* 删除文件或目录
	* @param {string} remotePath - 远程路径
	* @returns {Promise<boolean>} 删除是否成功
	*/
	async delete(remotePath) {
		try {
			await this.client.request({
				method: "DELETE",
				url: this._normalizePath(remotePath)
			});
			return true;
		} catch (error) {
			throw new Error(`Failed to delete ${remotePath}: ${error.message}`);
		}
	}
	/**
	* 移动文件或目录
	* @param {string} sourcePath - 源路径
	* @param {string} destinationPath - 目标路径
	* @param {boolean} [overwrite=false] - 是否覆盖目标
	* @returns {Promise<boolean>} 移动是否成功
	*/
	async move(sourcePath, destinationPath, overwrite = false) {
		try {
			const headers = { "Destination": this._getAbsoluteUrl(destinationPath) };
			if (overwrite) {
				headers["Overwrite"] = "T";
			}
			await this.client.request({
				method: "MOVE",
				url: this._normalizePath(sourcePath),
				headers
			});
			return true;
		} catch (error) {
			throw new Error(`Failed to move ${sourcePath} to ${destinationPath}: ${error.message}`);
		}
	}
	/**
	* 复制文件或目录
	* @param {string} sourcePath - 源路径
	* @param {string} destinationPath - 目标路径
	* @param {boolean} [overwrite=false] - 是否覆盖目标
	* @returns {Promise<boolean>} 复制是否成功
	*/
	async copy(sourcePath, destinationPath, overwrite = false) {
		try {
			const sourceExists = await this.exists(sourcePath);
			if (!sourceExists) {
				throw new Error(`Source file does not exist: ${sourcePath}`);
			}
			const normalizedSource = this._normalizePath(sourcePath);
			const normalizedDestination = this._normalizePath(destinationPath);
			const destinationUrl = this._getAbsoluteUrl(destinationPath);
			const headers = { "Destination": destinationUrl };
			if (overwrite) {
				headers["Overwrite"] = "T";
			} else {
				headers["Overwrite"] = "F";
			}
			if (Number(process.env.WEBDAV_DEBUG)) {
				console.log("WebDAV COPY operation:");
				console.log("  Source:", normalizedSource);
				console.log("  Destination URL:", destinationUrl);
				console.log("  Headers:", headers);
			}
			const response = await this.client.request({
				method: "COPY",
				url: normalizedSource,
				headers
			});
			if (response.status >= 200 && response.status < 300) {
				return true;
			} else {
				throw new Error(`Unexpected response status: ${response.status}`);
			}
		} catch (error) {
			if (error.response) {
				const status = error.response.status;
				const statusText = error.response.statusText || "Unknown Error";
				throw new Error(`Failed to copy ${sourcePath} to ${destinationPath}: WebDAV Error ${status}: ${statusText}`);
			}
			throw new Error(`Failed to copy ${sourcePath} to ${destinationPath}: ${error.message}`);
		}
	}
	/**
	* 获取文件内容（文本）
	* @param {string} remotePath - 远程文件路径
	* @param {string} [encoding='utf8'] - 文本编码
	* @returns {Promise<string>} 文件内容
	*/
	async getFileContent(remotePath, encoding = "utf8") {
		try {
			const buffer = await this.downloadFile(remotePath);
			return buffer.toString(encoding);
		} catch (error) {
			throw new Error(`Failed to get file content ${remotePath}: ${error.message}`);
		}
	}
	/**
	* 写入文件内容（文本）
	* @param {string} remotePath - 远程文件路径
	* @param {string} content - 文件内容
	* @param {string} [encoding='utf8'] - 文本编码
	* @param {boolean} [overwrite=true] - 是否覆盖已存在的文件
	* @returns {Promise<boolean>} 写入是否成功
	*/
	async putFileContent(remotePath, content, encoding = "utf8", overwrite = true) {
		try {
			const buffer = Buffer.from(content, encoding);
			return await this.uploadFile(buffer, remotePath, { overwrite });
		} catch (error) {
			throw new Error(`Failed to put file content ${remotePath}: ${error.message}`);
		}
	}
	/**
	* 标准化路径
	* 将输入路径转换为相对于 WebDAV 基础路径的路径
	* @private
	*/
	_normalizePath(remotePath) {
		if (!remotePath) return "/";
		if (!remotePath.startsWith("/")) {
			remotePath = "/" + remotePath;
		}
		remotePath = remotePath.replace(/\/+/g, "/");
		const baseUrl = new URL(this.config.baseURL);
		const basePath = baseUrl.pathname;
		const decodedBasePath = decodeURIComponent(basePath);
		const decodedRemotePath = decodeURIComponent(remotePath);
		if (decodedRemotePath.startsWith(decodedBasePath)) {
			let relativePath = decodedRemotePath.substring(decodedBasePath.length);
			if (!relativePath.startsWith("/")) {
				relativePath = "/" + relativePath;
			}
			return relativePath || "/";
		}
		return remotePath;
	}
	/**
	* 规范化从 WebDAV 响应中获取的路径
	* 移除 WebDAV 基础路径前缀，返回相对路径
	* @private
	*/
	_normalizeResponsePath(responsePath) {
		if (!responsePath) return "";
		const baseUrl = new URL(this.config.baseURL);
		let basePath = baseUrl.pathname;
		try {
			basePath = decodeURIComponent(basePath);
		} catch (e) {
			console.warn("Failed to decode basePath:", basePath);
		}
		if (Number(process.env.WEBDAV_DEBUG)) {
			console.log("_normalizeResponsePath debug:");
			console.log("  Response path:", responsePath);
			console.log("  Base path:", basePath);
		}
		if (responsePath.startsWith(basePath)) {
			let normalizedPath = responsePath.substring(basePath.length);
			if (!normalizedPath.startsWith("/")) {
				normalizedPath = "/" + normalizedPath;
			}
			if (normalizedPath === "/") {
				normalizedPath = "";
			}
			if (Number(process.env.WEBDAV_DEBUG)) {
				console.log("  Normalized path:", normalizedPath);
			}
			return normalizedPath;
		}
		if (Number(process.env.WEBDAV_DEBUG)) {
			console.log("  No normalization needed, returning:", responsePath);
		}
		return responsePath;
	}
	/**
	* 获取绝对 URL
	* @private
	*/
	_getAbsoluteUrl(remotePath) {
		const normalizedPath = this._normalizePath(remotePath);
		let baseURL = this.config.baseURL;
		if (!baseURL.endsWith("/")) {
			baseURL += "/";
		}
		const cleanPath = normalizedPath.startsWith("/") ? normalizedPath.substring(1) : normalizedPath;
		const absoluteUrl = new URL(cleanPath, baseURL).href;
		if (Number(process.env.WEBDAV_DEBUG)) {
			console.log("_getAbsoluteUrl debug:");
			console.log("  Input remotePath:", remotePath);
			console.log("  Normalized path:", normalizedPath);
			console.log("  Base URL:", baseURL);
			console.log("  Clean path:", cleanPath);
			console.log("  Final absolute URL:", absoluteUrl);
		}
		return absoluteUrl;
	}
	/**
	* 根据文件扩展名获取内容类型
	* @private
	*/
	_getContentType(filePath) {
		const ext = path.extname(filePath).toLowerCase();
		const mimeTypes = {
			".txt": "text/plain",
			".html": "text/html",
			".css": "text/css",
			".js": "application/javascript",
			".json": "application/json",
			".xml": "application/xml",
			".pdf": "application/pdf",
			".jpg": "image/jpeg",
			".jpeg": "image/jpeg",
			".png": "image/png",
			".gif": "image/gif",
			".svg": "image/svg+xml",
			".mp4": "video/mp4",
			".mp3": "audio/mpeg",
			".zip": "application/zip"
		};
		return mimeTypes[ext] || "application/octet-stream";
	}
	/**
	* 解析 WebDAV PROPFIND 响应
	* @private
	*/
	_parseMultiStatus(xmlData, requestPath = null) {
		const items = [];
		try {
			const $ = load(xmlData, {
				xmlMode: true,
				decodeEntities: true,
				lowerCaseAttributeNames: false
			});
			const responseElements = $("response, d\\:response, D\\:response").toArray();
			if (responseElements.length === 0) {
				console.warn("No response elements found in WebDAV XML");
				return this._parseMultiStatusFallback(xmlData);
			}
			responseElements.forEach((element) => {
				const $response = $(element);
				let href = $response.find("href, d\\:href, D\\:href").first().text().trim();
				if (!href) {
					console.warn("No href found in response element");
					return;
				}
				try {
					href = decodeURIComponent(href);
				} catch (e) {
					console.warn("Failed to decode href:", href);
				}
				let normalizedPath = this._normalizeResponsePath(href);
				if (!normalizedPath || normalizedPath === "/" || normalizedPath === "") {
					return;
				}
				if (requestPath) {
					const normalizedRequestPath = this._normalizePath(requestPath);
					if (normalizedPath === normalizedRequestPath) {
						return;
					}
				}
				let name = path.basename(normalizedPath);
				if (!name || name === "/") {
					const pathParts = normalizedPath.split("/").filter((part) => part.length > 0);
					name = pathParts.length > 0 ? pathParts[pathParts.length - 1] : "/";
				}
				const item = {
					name,
					path: normalizedPath,
					isDirectory: false,
					size: 0,
					lastModified: null,
					contentType: null,
					etag: null,
					creationDate: null
				};
				const $propstat = $response.find("propstat, d\\:propstat, D\\:propstat").first();
				if ($propstat.length === 0) {
					console.warn("No propstat found for", href);
					return;
				}
				const status = $propstat.find("status, d\\:status, D\\:status").text().trim();
				if (status && !status.includes("200")) {
					console.warn("Non-200 status for", href, ":", status);
					return;
				}
				const $prop = $propstat.find("prop, d\\:prop, D\\:prop").first();
				if ($prop.length === 0) {
					console.warn("No prop found for", href);
					return;
				}
				const $resourcetype = $prop.find("resourcetype, d\\:resourcetype, D\\:resourcetype").first();
				if ($resourcetype.find("collection, d\\:collection, D\\:collection").length > 0) {
					item.isDirectory = true;
				}
				const contentLength = $prop.find("getcontentlength, d\\:getcontentlength, D\\:getcontentlength").text().trim();
				if (contentLength) {
					const size = parseInt(contentLength, 10);
					if (!isNaN(size)) {
						item.size = size;
					}
				}
				const lastModified = $prop.find("getlastmodified, d\\:getlastmodified, D\\:getlastmodified").text().trim();
				if (lastModified) {
					const date = new Date(lastModified);
					if (!isNaN(date.getTime())) {
						item.lastModified = date;
					}
				}
				const creationDate = $prop.find("creationdate, d\\:creationdate, D\\:creationdate").text().trim();
				if (creationDate) {
					const date = new Date(creationDate);
					if (!isNaN(date.getTime())) {
						item.creationDate = date;
					}
				}
				const contentType = $prop.find("getcontenttype, d\\:getcontenttype, D\\:getcontenttype").text().trim();
				if (contentType) {
					item.contentType = contentType;
				}
				const etag = $prop.find("getetag, d\\:getetag, D\\:getetag").text().trim();
				if (etag) {
					item.etag = etag.replace(/"/g, "");
				}
				items.push(item);
			});
		} catch (error) {
			console.warn("Failed to parse WebDAV XML response with cheerio, falling back to regex:", error.message);
			return this._parseMultiStatusFallback(xmlData);
		}
		return items;
	}
	/**
	* 回退的 XML 解析方法（使用正则表达式）
	* @private
	*/
	_parseMultiStatusFallback(xmlData) {
		const items = [];
		const responseRegex = /<(?:D:)?response[^>]*>([\s\S]*?)<\/(?:D:)?response>/gi;
		let match;
		while ((match = responseRegex.exec(xmlData)) !== null) {
			const responseXml = match[1];
			const hrefMatch = /<(?:D:)?href[^>]*>(.*?)<\/(?:D:)?href>/i.exec(responseXml);
			if (!hrefMatch) continue;
			const href = decodeURIComponent(hrefMatch[1]);
			const name = path.basename(href) || "/";
			const item = {
				name,
				path: href,
				isDirectory: false,
				size: 0,
				lastModified: null,
				contentType: null,
				etag: null,
				creationDate: null
			};
			if (/<(?:D:)?resourcetype[^>]*>[\s\S]*?<(?:D:)?collection[^>]*\/?>[\s\S]*?<\/(?:D:)?resourcetype>/i.test(responseXml)) {
				item.isDirectory = true;
			}
			const sizeMatch = /<(?:D:)?getcontentlength[^>]*>(\d+)<\/(?:D:)?getcontentlength>/i.exec(responseXml);
			if (sizeMatch) {
				item.size = parseInt(sizeMatch[1], 10);
			}
			const lastModifiedMatch = /<(?:D:)?getlastmodified[^>]*>(.*?)<\/(?:D:)?getlastmodified>/i.exec(responseXml);
			if (lastModifiedMatch) {
				const date = new Date(lastModifiedMatch[1]);
				if (!isNaN(date.getTime())) {
					item.lastModified = date;
				}
			}
			const creationDateMatch = /<(?:D:)?creationdate[^>]*>(.*?)<\/(?:D:)?creationdate>/i.exec(responseXml);
			if (creationDateMatch) {
				const date = new Date(creationDateMatch[1]);
				if (!isNaN(date.getTime())) {
					item.creationDate = date;
				}
			}
			const contentTypeMatch = /<(?:D:)?getcontenttype[^>]*>(.*?)<\/(?:D:)?getcontenttype>/i.exec(responseXml);
			if (contentTypeMatch) {
				item.contentType = contentTypeMatch[1];
			}
			const etagMatch = /<(?:D:)?getetag[^>]*>(.*?)<\/(?:D:)?getetag>/i.exec(responseXml);
			if (etagMatch) {
				item.etag = etagMatch[1].replace(/"/g, "");
			}
			items.push(item);
		}
		return items;
	}
};
/**
* 创建 WebDAV 客户端实例
* @param {Object} config - 配置对象
* @returns {WebDAVClient} WebDAV 客户端实例
*/
function createWebDAVClient(config) {
	return new WebDAVClient(config);
}

//#endregion
//#region ../node_modules/basic-ftp/dist/parseControlResponse.js
var require_parseControlResponse = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.positiveIntermediate = exports.positiveCompletion = exports.isMultiline = exports.isSingleLine = exports.parseControlResponse = void 0;
	const LF = "\n";
	/**
	* Parse an FTP control response as a collection of messages. A message is a complete
	* single- or multiline response. A response can also contain multiple multiline responses
	* that will each be represented by a message. A response can also be incomplete
	* and be completed on the next incoming data chunk for which case this function also
	* describes a `rest`. This function converts all CRLF to LF.
	*/
	function parseControlResponse(text) {
		const lines = text.split(/\r?\n/).filter(isNotBlank);
		const messages = [];
		let startAt = 0;
		let tokenRegex;
		for (let i = 0; i < lines.length; i++) {
			const line = lines[i];
			if (!tokenRegex) {
				if (isMultiline(line)) {
					const token = line.substr(0, 3);
					tokenRegex = new RegExp(`^${token}(?:$| )`);
					startAt = i;
				} else if (isSingleLine(line)) {
					messages.push(line);
				}
			} else if (tokenRegex.test(line)) {
				tokenRegex = undefined;
				messages.push(lines.slice(startAt, i + 1).join(LF));
			}
		}
		const rest = tokenRegex ? lines.slice(startAt).join(LF) + LF : "";
		return {
			messages,
			rest
		};
	}
	exports.parseControlResponse = parseControlResponse;
	function isSingleLine(line) {
		return /^\d\d\d(?:$| )/.test(line);
	}
	exports.isSingleLine = isSingleLine;
	function isMultiline(line) {
		return /^\d\d\d-/.test(line);
	}
	exports.isMultiline = isMultiline;
	/**
	* Return true if an FTP return code describes a positive completion.
	*/
	function positiveCompletion(code) {
		return code >= 200 && code < 300;
	}
	exports.positiveCompletion = positiveCompletion;
	/**
	* Return true if an FTP return code describes a positive intermediate response.
	*/
	function positiveIntermediate(code) {
		return code >= 300 && code < 400;
	}
	exports.positiveIntermediate = positiveIntermediate;
	function isNotBlank(str) {
		return str.trim() !== "";
	}
}));

//#endregion
//#region ../node_modules/basic-ftp/dist/FtpContext.js
var require_FtpContext = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.FTPContext = exports.FTPError = void 0;
	const net_1 = __require("net");
	const parseControlResponse_1 = require_parseControlResponse();
	/**
	* Describes an FTP server error response including the FTP response code.
	*/
	var FTPError = class extends Error {
		constructor(res) {
			super(res.message);
			this.name = this.constructor.name;
			this.code = res.code;
		}
	};
	exports.FTPError = FTPError;
	function doNothing() {
		/** Do nothing */
	}
	/**
	* FTPContext holds the control and data sockets of an FTP connection and provides a
	* simplified way to interact with an FTP server, handle responses, errors and timeouts.
	*
	* It doesn't implement or use any FTP commands. It's only a foundation to make writing an FTP
	* client as easy as possible. You won't usually instantiate this, but use `Client`.
	*/
	var FTPContext = class {
		/**
		* Instantiate an FTP context.
		*
		* @param timeout - Timeout in milliseconds to apply to control and data connections. Use 0 for no timeout.
		* @param encoding - Encoding to use for control connection. UTF-8 by default. Use "latin1" for older servers.
		*/
		constructor(timeout = 0, encoding = "utf8") {
			this.timeout = timeout;
			/** Debug-level logging of all socket communication. */
			this.verbose = false;
			/** IP version to prefer (4: IPv4, 6: IPv6, undefined: automatic). */
			this.ipFamily = undefined;
			/** Options for TLS connections. */
			this.tlsOptions = {};
			/** A multiline response might be received as multiple chunks. */
			this._partialResponse = "";
			this._encoding = encoding;
			this._socket = this.socket = this._newSocket();
			this._dataSocket = undefined;
		}
		/**
		* Close the context.
		*/
		close() {
			const message = this._task ? "User closed client during task" : "User closed client";
			const err = new Error(message);
			this.closeWithError(err);
		}
		/**
		* Close the context with an error.
		*/
		closeWithError(err) {
			if (this._closingError) {
				return;
			}
			this._closingError = err;
			this._closeControlSocket();
			this._closeSocket(this._dataSocket);
			this._passToHandler(err);
			this._stopTrackingTask();
		}
		/**
		* Returns true if this context has been closed or hasn't been connected yet. You can reopen it with `access`.
		*/
		get closed() {
			return this.socket.remoteAddress === undefined || this._closingError !== undefined;
		}
		/**
		* Reset this contex and all of its state.
		*/
		reset() {
			this.socket = this._newSocket();
		}
		/**
		* Get the FTP control socket.
		*/
		get socket() {
			return this._socket;
		}
		/**
		* Set the socket for the control connection. This will only close the current control socket
		* if the new one is not an upgrade to the current one.
		*/
		set socket(socket) {
			this.dataSocket = undefined;
			this.tlsOptions = {};
			this._partialResponse = "";
			if (this._socket) {
				const newSocketUpgradesExisting = socket.localPort === this._socket.localPort;
				if (newSocketUpgradesExisting) {
					this._removeSocketListeners(this.socket);
				} else {
					this._closeControlSocket();
				}
			}
			if (socket) {
				this._closingError = undefined;
				socket.setTimeout(0);
				socket.setEncoding(this._encoding);
				socket.setKeepAlive(true);
				socket.on("data", (data) => this._onControlSocketData(data));
				socket.on("end", () => this.closeWithError(new Error("Server sent FIN packet unexpectedly, closing connection.")));
				socket.on("close", (hadError) => {
					if (!hadError) this.closeWithError(new Error("Server closed connection unexpectedly."));
				});
				this._setupDefaultErrorHandlers(socket, "control socket");
			}
			this._socket = socket;
		}
		/**
		* Get the current FTP data connection if present.
		*/
		get dataSocket() {
			return this._dataSocket;
		}
		/**
		* Set the socket for the data connection. This will automatically close the former data socket.
		*/
		set dataSocket(socket) {
			this._closeSocket(this._dataSocket);
			if (socket) {
				socket.setTimeout(0);
				this._setupDefaultErrorHandlers(socket, "data socket");
			}
			this._dataSocket = socket;
		}
		/**
		* Get the currently used encoding.
		*/
		get encoding() {
			return this._encoding;
		}
		/**
		* Set the encoding used for the control socket.
		*
		* See https://nodejs.org/api/buffer.html#buffer_buffers_and_character_encodings for what encodings
		* are supported by Node.
		*/
		set encoding(encoding) {
			this._encoding = encoding;
			if (this.socket) {
				this.socket.setEncoding(encoding);
			}
		}
		/**
		* Send an FTP command without waiting for or handling the result.
		*/
		send(command) {
			const containsPassword = command.startsWith("PASS");
			const message = containsPassword ? "> PASS ###" : `> ${command}`;
			this.log(message);
			this._socket.write(command + "\r\n", this.encoding);
		}
		/**
		* Send an FTP command and handle the first response. Use this if you have a simple
		* request-response situation.
		*/
		request(command) {
			return this.handle(command, (res, task) => {
				if (res instanceof Error) {
					task.reject(res);
				} else {
					task.resolve(res);
				}
			});
		}
		/**
		* Send an FTP command and handle any response until you resolve/reject. Use this if you expect multiple responses
		* to a request. This returns a Promise that will hold whatever the response handler passed on when resolving/rejecting its task.
		*/
		handle(command, responseHandler) {
			if (this._task) {
				const err = new Error("User launched a task while another one is still running. Forgot to use 'await' or '.then()'?");
				err.stack += `\nRunning task launched at: ${this._task.stack}`;
				this.closeWithError(err);
			}
			return new Promise((resolveTask, rejectTask) => {
				this._task = {
					stack: new Error().stack || "Unknown call stack",
					responseHandler,
					resolver: {
						resolve: (arg) => {
							this._stopTrackingTask();
							resolveTask(arg);
						},
						reject: (err) => {
							this._stopTrackingTask();
							rejectTask(err);
						}
					}
				};
				if (this._closingError) {
					const err = new Error(`Client is closed because ${this._closingError.message}`);
					err.stack += `\nClosing reason: ${this._closingError.stack}`;
					err.code = this._closingError.code !== undefined ? this._closingError.code : "0";
					this._passToHandler(err);
					return;
				}
				this.socket.setTimeout(this.timeout);
				if (command) {
					this.send(command);
				}
			});
		}
		/**
		* Log message if set to be verbose.
		*/
		log(message) {
			if (this.verbose) {
				console.log(message);
			}
		}
		/**
		* Return true if the control socket is using TLS. This does not mean that a session
		* has already been negotiated.
		*/
		get hasTLS() {
			return "encrypted" in this._socket;
		}
		/**
		* Removes reference to current task and handler. This won't resolve or reject the task.
		* @protected
		*/
		_stopTrackingTask() {
			this.socket.setTimeout(0);
			this._task = undefined;
		}
		/**
		* Handle incoming data on the control socket. The chunk is going to be of type `string`
		* because we let `socket` handle encoding with `setEncoding`.
		* @protected
		*/
		_onControlSocketData(chunk) {
			this.log(`< ${chunk}`);
			const completeResponse = this._partialResponse + chunk;
			const parsed = (0, parseControlResponse_1.parseControlResponse)(completeResponse);
			this._partialResponse = parsed.rest;
			for (const message of parsed.messages) {
				const code = parseInt(message.substr(0, 3), 10);
				const response = {
					code,
					message
				};
				const err = code >= 400 ? new FTPError(response) : undefined;
				this._passToHandler(err ? err : response);
			}
		}
		/**
		* Send the current handler a response. This is usually a control socket response
		* or a socket event, like an error or timeout.
		* @protected
		*/
		_passToHandler(response) {
			if (this._task) {
				this._task.responseHandler(response, this._task.resolver);
			}
		}
		/**
		* Setup all error handlers for a socket.
		* @protected
		*/
		_setupDefaultErrorHandlers(socket, identifier) {
			socket.once("error", (error) => {
				error.message += ` (${identifier})`;
				this.closeWithError(error);
			});
			socket.once("close", (hadError) => {
				if (hadError) {
					this.closeWithError(new Error(`Socket closed due to transmission error (${identifier})`));
				}
			});
			socket.once("timeout", () => {
				socket.destroy();
				this.closeWithError(new Error(`Timeout (${identifier})`));
			});
		}
		/**
		* Close the control socket. Sends QUIT, then FIN, and ignores any response or error.
		*/
		_closeControlSocket() {
			this._removeSocketListeners(this._socket);
			this._socket.on("error", doNothing);
			this.send("QUIT");
			this._closeSocket(this._socket);
		}
		/**
		* Close a socket, ignores any error.
		* @protected
		*/
		_closeSocket(socket) {
			if (socket) {
				this._removeSocketListeners(socket);
				socket.on("error", doNothing);
				socket.destroy();
			}
		}
		/**
		* Remove all default listeners for socket.
		* @protected
		*/
		_removeSocketListeners(socket) {
			socket.removeAllListeners();
			socket.removeAllListeners("timeout");
			socket.removeAllListeners("data");
			socket.removeAllListeners("end");
			socket.removeAllListeners("error");
			socket.removeAllListeners("close");
			socket.removeAllListeners("connect");
		}
		/**
		* Provide a new socket instance.
		*
		* Internal use only, replaced for unit tests.
		*/
		_newSocket() {
			return new net_1.Socket();
		}
	};
	exports.FTPContext = FTPContext;
}));

//#endregion
//#region ../node_modules/basic-ftp/dist/FileInfo.js
var require_FileInfo = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.FileInfo = exports.FileType = void 0;
	var FileType;
	(function(FileType) {
		FileType[FileType["Unknown"] = 0] = "Unknown";
		FileType[FileType["File"] = 1] = "File";
		FileType[FileType["Directory"] = 2] = "Directory";
		FileType[FileType["SymbolicLink"] = 3] = "SymbolicLink";
	})(FileType || (exports.FileType = FileType = {}));
	/**
	* Describes a file, directory or symbolic link.
	*/
	var FileInfo = class {
		constructor(name) {
			this.name = name;
			this.type = FileType.Unknown;
			this.size = 0;
			/**
			* Unparsed, raw modification date as a string.
			*
			* If `modifiedAt` is undefined, the FTP server you're connected to doesn't support the more modern
			* MLSD command for machine-readable directory listings. The older command LIST is then used returning
			* results that vary a lot between servers as the format hasn't been standardized. Here, directory listings
			* and especially modification dates were meant to be human-readable first.
			*
			* Be careful when still trying to parse this by yourself. Parsing dates from listings using LIST is
			* unreliable. This library decides to offer parsed dates only when they're absolutely reliable and safe to
			* use e.g. for comparisons.
			*/
			this.rawModifiedAt = "";
			/**
			* Parsed modification date.
			*
			* Available if the FTP server supports the MLSD command. Only MLSD guarantees dates than can be reliably
			* parsed with the correct timezone and a resolution down to seconds. See `rawModifiedAt` property for the unparsed
			* date that is always available.
			*/
			this.modifiedAt = undefined;
			/**
			* Unix permissions if present. If the underlying FTP server is not running on Unix this will be undefined.
			* If set, you might be able to edit permissions with the FTP command `SITE CHMOD`.
			*/
			this.permissions = undefined;
			/**
			* Hard link count if available.
			*/
			this.hardLinkCount = undefined;
			/**
			* Link name for symbolic links if available.
			*/
			this.link = undefined;
			/**
			* Unix group if available.
			*/
			this.group = undefined;
			/**
			* Unix user if available.
			*/
			this.user = undefined;
			/**
			* Unique ID if available.
			*/
			this.uniqueID = undefined;
			this.name = name;
		}
		get isDirectory() {
			return this.type === FileType.Directory;
		}
		get isSymbolicLink() {
			return this.type === FileType.SymbolicLink;
		}
		get isFile() {
			return this.type === FileType.File;
		}
		/**
		* Deprecated, legacy API. Use `rawModifiedAt` instead.
		* @deprecated
		*/
		get date() {
			return this.rawModifiedAt;
		}
		set date(rawModifiedAt) {
			this.rawModifiedAt = rawModifiedAt;
		}
	};
	exports.FileInfo = FileInfo;
	FileInfo.UnixPermission = {
		Read: 4,
		Write: 2,
		Execute: 1
	};
}));

//#endregion
//#region ../node_modules/basic-ftp/dist/parseListDOS.js
var require_parseListDOS = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.transformList = exports.parseLine = exports.testLine = void 0;
	const FileInfo_1 = require_FileInfo();
	/**
	* This parser is based on the FTP client library source code in Apache Commons Net provided
	* under the Apache 2.0 license. It has been simplified and rewritten to better fit the Javascript language.
	*
	* https://github.com/apache/commons-net/blob/master/src/main/java/org/apache/commons/net/ftp/parser/NTFTPEntryParser.java
	*/
	const RE_LINE = new RegExp("(\\S+)\\s+(\\S+)\\s+" + "(?:(<DIR>)|([0-9]+))\\s+" + "(\\S.*)");
	/**
	* Returns true if a given line might be a DOS-style listing.
	*
	* - Example: `12-05-96  05:03PM       <DIR>          myDir`
	*/
	function testLine(line) {
		return /^\d{2}/.test(line) && RE_LINE.test(line);
	}
	exports.testLine = testLine;
	/**
	* Parse a single line of a DOS-style directory listing.
	*/
	function parseLine(line) {
		const groups = line.match(RE_LINE);
		if (groups === null) {
			return undefined;
		}
		const name = groups[5];
		if (name === "." || name === "..") {
			return undefined;
		}
		const file = new FileInfo_1.FileInfo(name);
		const fileType = groups[3];
		if (fileType === "<DIR>") {
			file.type = FileInfo_1.FileType.Directory;
			file.size = 0;
		} else {
			file.type = FileInfo_1.FileType.File;
			file.size = parseInt(groups[4], 10);
		}
		file.rawModifiedAt = groups[1] + " " + groups[2];
		return file;
	}
	exports.parseLine = parseLine;
	function transformList(files) {
		return files;
	}
	exports.transformList = transformList;
}));

//#endregion
//#region ../node_modules/basic-ftp/dist/parseListUnix.js
var require_parseListUnix = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.transformList = exports.parseLine = exports.testLine = void 0;
	const FileInfo_1 = require_FileInfo();
	const JA_MONTH = "月";
	const JA_DAY = "日";
	const JA_YEAR = "年";
	/**
	* This parser is based on the FTP client library source code in Apache Commons Net provided
	* under the Apache 2.0 license. It has been simplified and rewritten to better fit the Javascript language.
	*
	* https://github.com/apache/commons-net/blob/master/src/main/java/org/apache/commons/net/ftp/parser/UnixFTPEntryParser.java
	*
	* Below is the regular expression used by this parser.
	*
	* Permissions:
	*    r   the file is readable
	*    w   the file is writable
	*    x   the file is executable
	*    -   the indicated permission is not granted
	*    L   mandatory locking occurs during access (the set-group-ID bit is
	*        on and the group execution bit is off)
	*    s   the set-user-ID or set-group-ID bit is on, and the corresponding
	*        user or group execution bit is also on
	*    S   undefined bit-state (the set-user-ID bit is on and the user
	*        execution bit is off)
	*    t   the 1000 (octal) bit, or sticky bit, is on [see chmod(1)], and
	*        execution is on
	*    T   the 1000 bit is turned on, and execution is off (undefined bit-
	*        state)
	*    e   z/OS external link bit
	*    Final letter may be appended:
	*    +   file has extended security attributes (e.g. ACL)
	*    Note: local listings on MacOSX also use '@'
	*    this is not allowed for here as does not appear to be shown by FTP servers
	*    {@code @}   file has extended attributes
	*/
	const RE_LINE = new RegExp("([bcdelfmpSs-])" + "(((r|-)(w|-)([xsStTL-]))((r|-)(w|-)([xsStTL-]))((r|-)(w|-)([xsStTL-]?)))\\+?" + "\\s*" + "(\\d+)" + "\\s+" + "(?:(\\S+(?:\\s\\S+)*?)\\s+)?" + "(?:(\\S+(?:\\s\\S+)*)\\s+)?" + "(\\d+(?:,\\s*\\d+)?)" + "\\s+" + "(" + "(?:\\d+[-/]\\d+[-/]\\d+)" + "|(?:\\S{3}\\s+\\d{1,2})" + "|(?:\\d{1,2}\\s+\\S{3})" + "|(?:\\d{1,2}" + JA_MONTH + "\\s+\\d{1,2}" + JA_DAY + ")" + ")" + "\\s+" + "((?:\\d+(?::\\d+)?)|(?:\\d{4}" + JA_YEAR + "))" + "\\s" + "(.*)");
	/**
	* Returns true if a given line might be a Unix-style listing.
	*
	* - Example: `-rw-r--r--+   1 patrick  staff   1057 Dec 11 14:35 test.txt`
	*/
	function testLine(line) {
		return RE_LINE.test(line);
	}
	exports.testLine = testLine;
	/**
	* Parse a single line of a Unix-style directory listing.
	*/
	function parseLine(line) {
		const groups = line.match(RE_LINE);
		if (groups === null) {
			return undefined;
		}
		const name = groups[21];
		if (name === "." || name === "..") {
			return undefined;
		}
		const file = new FileInfo_1.FileInfo(name);
		file.size = parseInt(groups[18], 10);
		file.user = groups[16];
		file.group = groups[17];
		file.hardLinkCount = parseInt(groups[15], 10);
		file.rawModifiedAt = groups[19] + " " + groups[20];
		file.permissions = {
			user: parseMode(groups[4], groups[5], groups[6]),
			group: parseMode(groups[8], groups[9], groups[10]),
			world: parseMode(groups[12], groups[13], groups[14])
		};
		switch (groups[1].charAt(0)) {
			case "d":
				file.type = FileInfo_1.FileType.Directory;
				break;
			case "e":
				file.type = FileInfo_1.FileType.SymbolicLink;
				break;
			case "l":
				file.type = FileInfo_1.FileType.SymbolicLink;
				break;
			case "b":
			case "c":
				file.type = FileInfo_1.FileType.File;
				break;
			case "f":
			case "-":
				file.type = FileInfo_1.FileType.File;
				break;
			default: file.type = FileInfo_1.FileType.Unknown;
		}
		if (file.isSymbolicLink) {
			const end = name.indexOf(" -> ");
			if (end !== -1) {
				file.name = name.substring(0, end);
				file.link = name.substring(end + 4);
			}
		}
		return file;
	}
	exports.parseLine = parseLine;
	function transformList(files) {
		return files;
	}
	exports.transformList = transformList;
	function parseMode(r, w, x) {
		let value = 0;
		if (r !== "-") {
			value += FileInfo_1.FileInfo.UnixPermission.Read;
		}
		if (w !== "-") {
			value += FileInfo_1.FileInfo.UnixPermission.Write;
		}
		const execToken = x.charAt(0);
		if (execToken !== "-" && execToken.toUpperCase() !== execToken) {
			value += FileInfo_1.FileInfo.UnixPermission.Execute;
		}
		return value;
	}
}));

//#endregion
//#region ../node_modules/basic-ftp/dist/parseListMLSD.js
var require_parseListMLSD = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.parseMLSxDate = exports.transformList = exports.parseLine = exports.testLine = void 0;
	const FileInfo_1 = require_FileInfo();
	function parseSize(value, info) {
		info.size = parseInt(value, 10);
	}
	/**
	* Parsers for MLSD facts.
	*/
	const factHandlersByName = {
		"size": parseSize,
		"sizd": parseSize,
		"unique": (value, info) => {
			info.uniqueID = value;
		},
		"modify": (value, info) => {
			info.modifiedAt = parseMLSxDate(value);
			info.rawModifiedAt = info.modifiedAt.toISOString();
		},
		"type": (value, info) => {
			if (value.startsWith("OS.unix=slink")) {
				info.type = FileInfo_1.FileType.SymbolicLink;
				info.link = value.substr(value.indexOf(":") + 1);
				return 1;
			}
			switch (value) {
				case "file":
					info.type = FileInfo_1.FileType.File;
					break;
				case "dir":
					info.type = FileInfo_1.FileType.Directory;
					break;
				case "OS.unix=symlink":
					info.type = FileInfo_1.FileType.SymbolicLink;
					break;
				case "cdir":
				case "pdir": return 2;
				default: info.type = FileInfo_1.FileType.Unknown;
			}
			return 1;
		},
		"unix.mode": (value, info) => {
			const digits = value.substr(-3);
			info.permissions = {
				user: parseInt(digits[0], 10),
				group: parseInt(digits[1], 10),
				world: parseInt(digits[2], 10)
			};
		},
		"unix.ownername": (value, info) => {
			info.user = value;
		},
		"unix.owner": (value, info) => {
			if (info.user === undefined) info.user = value;
		},
		get "unix.uid"() {
			return this["unix.owner"];
		},
		"unix.groupname": (value, info) => {
			info.group = value;
		},
		"unix.group": (value, info) => {
			if (info.group === undefined) info.group = value;
		},
		get "unix.gid"() {
			return this["unix.group"];
		}
	};
	/**
	* Split a string once at the first position of a delimiter. For example
	* `splitStringOnce("a b c d", " ")` returns `["a", "b c d"]`.
	*/
	function splitStringOnce(str, delimiter) {
		const pos = str.indexOf(delimiter);
		const a = str.substr(0, pos);
		const b = str.substr(pos + delimiter.length);
		return [a, b];
	}
	/**
	* Returns true if a given line might be part of an MLSD listing.
	*
	* - Example 1: `size=15227;type=dir;perm=el;modify=20190419065730; test one`
	* - Example 2: ` file name` (leading space)
	*/
	function testLine(line) {
		return /^\S+=\S+;/.test(line) || line.startsWith(" ");
	}
	exports.testLine = testLine;
	/**
	* Parse single line as MLSD listing, see specification at https://tools.ietf.org/html/rfc3659#section-7.
	*/
	function parseLine(line) {
		const [packedFacts, name] = splitStringOnce(line, " ");
		if (name === "" || name === "." || name === "..") {
			return undefined;
		}
		const info = new FileInfo_1.FileInfo(name);
		const facts = packedFacts.split(";");
		for (const fact of facts) {
			const [factName, factValue] = splitStringOnce(fact, "=");
			if (!factValue) {
				continue;
			}
			const factHandler = factHandlersByName[factName.toLowerCase()];
			if (!factHandler) {
				continue;
			}
			const result = factHandler(factValue, info);
			if (result === 2) {
				return undefined;
			}
		}
		return info;
	}
	exports.parseLine = parseLine;
	function transformList(files) {
		const nonLinksByID = new Map();
		for (const file of files) {
			if (!file.isSymbolicLink && file.uniqueID !== undefined) {
				nonLinksByID.set(file.uniqueID, file);
			}
		}
		const resolvedFiles = [];
		for (const file of files) {
			if (file.isSymbolicLink && file.uniqueID !== undefined && file.link === undefined) {
				const target = nonLinksByID.get(file.uniqueID);
				if (target !== undefined) {
					file.link = target.name;
				}
			}
			const isPartOfDirectory = !file.name.includes("/");
			if (isPartOfDirectory) {
				resolvedFiles.push(file);
			}
		}
		return resolvedFiles;
	}
	exports.transformList = transformList;
	/**
	* Parse date as specified in https://tools.ietf.org/html/rfc3659#section-2.3.
	*
	* Message contains response code and modified time in the format: YYYYMMDDHHMMSS[.sss]
	* For example `19991005213102` or `19980615100045.014`.
	*/
	function parseMLSxDate(fact) {
		return new Date(Date.UTC(+fact.slice(0, 4), +fact.slice(4, 6) - 1, +fact.slice(6, 8), +fact.slice(8, 10), +fact.slice(10, 12), +fact.slice(12, 14), +fact.slice(15, 18)));
	}
	exports.parseMLSxDate = parseMLSxDate;
}));

//#endregion
//#region ../node_modules/basic-ftp/dist/parseList.js
var require_parseList = /* @__PURE__ */ __commonJSMin(((exports) => {
	var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) {
		if (k2 === undefined) k2 = k;
		var desc = Object.getOwnPropertyDescriptor(m, k);
		if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
			desc = {
				enumerable: true,
				get: function() {
					return m[k];
				}
			};
		}
		Object.defineProperty(o, k2, desc);
	}) : (function(o, m, k, k2) {
		if (k2 === undefined) k2 = k;
		o[k2] = m[k];
	}));
	var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? (function(o, v) {
		Object.defineProperty(o, "default", {
			enumerable: true,
			value: v
		});
	}) : function(o, v) {
		o["default"] = v;
	});
	var __importStar = exports && exports.__importStar || function(mod) {
		if (mod && mod.__esModule) return mod;
		var result = {};
		if (mod != null) {
			for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
		}
		__setModuleDefault(result, mod);
		return result;
	};
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.parseList = void 0;
	const dosParser = __importStar(require_parseListDOS());
	const unixParser = __importStar(require_parseListUnix());
	const mlsdParser = __importStar(require_parseListMLSD());
	/**
	* Available directory listing parsers. These are candidates that will be tested
	* in the order presented. The first candidate will be used to parse the whole list.
	*/
	const availableParsers = [
		dosParser,
		unixParser,
		mlsdParser
	];
	function firstCompatibleParser(line, parsers) {
		return parsers.find((parser) => parser.testLine(line) === true);
	}
	function isNotBlank(str) {
		return str.trim() !== "";
	}
	function isNotMeta(str) {
		return !str.startsWith("total");
	}
	const REGEX_NEWLINE = /\r?\n/;
	/**
	* Parse raw directory listing.
	*/
	function parseList(rawList) {
		const lines = rawList.split(REGEX_NEWLINE).filter(isNotBlank).filter(isNotMeta);
		if (lines.length === 0) {
			return [];
		}
		const testLine = lines[lines.length - 1];
		const parser = firstCompatibleParser(testLine, availableParsers);
		if (!parser) {
			throw new Error("This library only supports MLSD, Unix- or DOS-style directory listing. Your FTP server seems to be using another format. You can see the transmitted listing when setting `client.ftp.verbose = true`. You can then provide a custom parser to `client.parseList`, see the documentation for details.");
		}
		const files = lines.map(parser.parseLine).filter((info) => info !== undefined);
		return parser.transformList(files);
	}
	exports.parseList = parseList;
}));

//#endregion
//#region ../node_modules/basic-ftp/dist/ProgressTracker.js
var require_ProgressTracker = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.ProgressTracker = void 0;
	/**
	* Tracks progress of one socket data transfer at a time.
	*/
	var ProgressTracker = class {
		constructor() {
			this.bytesOverall = 0;
			this.intervalMs = 500;
			this.onStop = noop;
			this.onHandle = noop;
		}
		/**
		* Register a new handler for progress info. Use `undefined` to disable reporting.
		*/
		reportTo(onHandle = noop) {
			this.onHandle = onHandle;
		}
		/**
		* Start tracking transfer progress of a socket.
		*
		* @param socket  The socket to observe.
		* @param name  A name associated with this progress tracking, e.g. a filename.
		* @param type  The type of the transfer, typically "upload" or "download".
		*/
		start(socket, name, type) {
			let lastBytes = 0;
			this.onStop = poll(this.intervalMs, () => {
				const bytes = socket.bytesRead + socket.bytesWritten;
				this.bytesOverall += bytes - lastBytes;
				lastBytes = bytes;
				this.onHandle({
					name,
					type,
					bytes,
					bytesOverall: this.bytesOverall
				});
			});
		}
		/**
		* Stop tracking transfer progress.
		*/
		stop() {
			this.onStop(false);
		}
		/**
		* Call the progress handler one more time, then stop tracking.
		*/
		updateAndStop() {
			this.onStop(true);
		}
	};
	exports.ProgressTracker = ProgressTracker;
	/**
	* Starts calling a callback function at a regular interval. The first call will go out
	* immediately. The function returns a function to stop the polling.
	*/
	function poll(intervalMs, updateFunc) {
		const id = setInterval(updateFunc, intervalMs);
		const stopFunc = (stopWithUpdate) => {
			clearInterval(id);
			if (stopWithUpdate) {
				updateFunc();
			}
			updateFunc = noop;
		};
		updateFunc();
		return stopFunc;
	}
	function noop() {}
}));

//#endregion
//#region ../node_modules/basic-ftp/dist/StringWriter.js
var require_StringWriter = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.StringWriter = void 0;
	const stream_1$1 = __require("stream");
	var StringWriter = class extends stream_1$1.Writable {
		constructor() {
			super(...arguments);
			this.buf = Buffer.alloc(0);
		}
		_write(chunk, _, callback) {
			if (chunk instanceof Buffer) {
				this.buf = Buffer.concat([this.buf, chunk]);
				callback(null);
			} else {
				callback(new Error("StringWriter expects chunks of type 'Buffer'."));
			}
		}
		getText(encoding) {
			return this.buf.toString(encoding);
		}
	};
	exports.StringWriter = StringWriter;
}));

//#endregion
//#region ../node_modules/basic-ftp/dist/netUtils.js
var require_netUtils = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.ipIsPrivateV4Address = exports.upgradeSocket = exports.describeAddress = exports.describeTLS = void 0;
	const tls_1$2 = __require("tls");
	/**
	* Returns a string describing the encryption on a given socket instance.
	*/
	function describeTLS(socket) {
		if (socket instanceof tls_1$2.TLSSocket) {
			const protocol = socket.getProtocol();
			return protocol ? protocol : "Server socket or disconnected client socket";
		}
		return "No encryption";
	}
	exports.describeTLS = describeTLS;
	/**
	* Returns a string describing the remote address of a socket.
	*/
	function describeAddress(socket) {
		if (socket.remoteFamily === "IPv6") {
			return `[${socket.remoteAddress}]:${socket.remotePort}`;
		}
		return `${socket.remoteAddress}:${socket.remotePort}`;
	}
	exports.describeAddress = describeAddress;
	/**
	* Upgrade a socket connection with TLS.
	*/
	function upgradeSocket(socket, options) {
		return new Promise((resolve, reject) => {
			const tlsOptions = Object.assign({}, options, { socket });
			const tlsSocket = (0, tls_1$2.connect)(tlsOptions, () => {
				const expectCertificate = tlsOptions.rejectUnauthorized !== false;
				if (expectCertificate && !tlsSocket.authorized) {
					reject(tlsSocket.authorizationError);
				} else {
					tlsSocket.removeAllListeners("error");
					resolve(tlsSocket);
				}
			}).once("error", (error) => {
				reject(error);
			});
		});
	}
	exports.upgradeSocket = upgradeSocket;
	/**
	* Returns true if an IP is a private address according to https://tools.ietf.org/html/rfc1918#section-3.
	* This will handle IPv4-mapped IPv6 addresses correctly but return false for all other IPv6 addresses.
	*
	* @param ip  The IP as a string, e.g. "192.168.0.1"
	*/
	function ipIsPrivateV4Address(ip = "") {
		if (ip.startsWith("::ffff:")) {
			ip = ip.substr(7);
		}
		const octets = ip.split(".").map((o) => parseInt(o, 10));
		return octets[0] === 10 || octets[0] === 172 && octets[1] >= 16 && octets[1] <= 31 || octets[0] === 192 && octets[1] === 168 || ip === "127.0.0.1";
	}
	exports.ipIsPrivateV4Address = ipIsPrivateV4Address;
}));

//#endregion
//#region ../node_modules/basic-ftp/dist/transfer.js
var require_transfer = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.downloadTo = exports.uploadFrom = exports.connectForPassiveTransfer = exports.parsePasvResponse = exports.enterPassiveModeIPv4 = exports.parseEpsvResponse = exports.enterPassiveModeIPv6 = void 0;
	const netUtils_1 = require_netUtils();
	const stream_1 = __require("stream");
	const tls_1$1 = __require("tls");
	const parseControlResponse_1 = require_parseControlResponse();
	/**
	* Prepare a data socket using passive mode over IPv6.
	*/
	async function enterPassiveModeIPv6(ftp) {
		const res = await ftp.request("EPSV");
		const port = parseEpsvResponse(res.message);
		if (!port) {
			throw new Error("Can't parse EPSV response: " + res.message);
		}
		const controlHost = ftp.socket.remoteAddress;
		if (controlHost === undefined) {
			throw new Error("Control socket is disconnected, can't get remote address.");
		}
		await connectForPassiveTransfer(controlHost, port, ftp);
		return res;
	}
	exports.enterPassiveModeIPv6 = enterPassiveModeIPv6;
	/**
	* Parse an EPSV response. Returns only the port as in EPSV the host of the control connection is used.
	*/
	function parseEpsvResponse(message) {
		const groups = message.match(/[|!]{3}(.+)[|!]/);
		if (groups === null || groups[1] === undefined) {
			throw new Error(`Can't parse response to 'EPSV': ${message}`);
		}
		const port = parseInt(groups[1], 10);
		if (Number.isNaN(port)) {
			throw new Error(`Can't parse response to 'EPSV', port is not a number: ${message}`);
		}
		return port;
	}
	exports.parseEpsvResponse = parseEpsvResponse;
	/**
	* Prepare a data socket using passive mode over IPv4.
	*/
	async function enterPassiveModeIPv4(ftp) {
		const res = await ftp.request("PASV");
		const target = parsePasvResponse(res.message);
		if (!target) {
			throw new Error("Can't parse PASV response: " + res.message);
		}
		const controlHost = ftp.socket.remoteAddress;
		if ((0, netUtils_1.ipIsPrivateV4Address)(target.host) && controlHost && !(0, netUtils_1.ipIsPrivateV4Address)(controlHost)) {
			target.host = controlHost;
		}
		await connectForPassiveTransfer(target.host, target.port, ftp);
		return res;
	}
	exports.enterPassiveModeIPv4 = enterPassiveModeIPv4;
	/**
	* Parse a PASV response.
	*/
	function parsePasvResponse(message) {
		const groups = message.match(/([-\d]+,[-\d]+,[-\d]+,[-\d]+),([-\d]+),([-\d]+)/);
		if (groups === null || groups.length !== 4) {
			throw new Error(`Can't parse response to 'PASV': ${message}`);
		}
		return {
			host: groups[1].replace(/,/g, "."),
			port: (parseInt(groups[2], 10) & 255) * 256 + (parseInt(groups[3], 10) & 255)
		};
	}
	exports.parsePasvResponse = parsePasvResponse;
	function connectForPassiveTransfer(host, port, ftp) {
		return new Promise((resolve, reject) => {
			let socket = ftp._newSocket();
			const handleConnErr = function(err) {
				err.message = "Can't open data connection in passive mode: " + err.message;
				reject(err);
			};
			const handleTimeout = function() {
				socket.destroy();
				reject(new Error(`Timeout when trying to open data connection to ${host}:${port}`));
			};
			socket.setTimeout(ftp.timeout);
			socket.on("error", handleConnErr);
			socket.on("timeout", handleTimeout);
			socket.connect({
				port,
				host,
				family: ftp.ipFamily
			}, () => {
				if (ftp.socket instanceof tls_1$1.TLSSocket) {
					socket = (0, tls_1$1.connect)(Object.assign({}, ftp.tlsOptions, {
						socket,
						session: ftp.socket.getSession()
					}));
				}
				socket.removeListener("error", handleConnErr);
				socket.removeListener("timeout", handleTimeout);
				ftp.dataSocket = socket;
				resolve();
			});
		});
	}
	exports.connectForPassiveTransfer = connectForPassiveTransfer;
	/**
	* Helps resolving/rejecting transfers.
	*
	* This is used internally for all FTP transfers. For example when downloading, the server might confirm
	* with "226 Transfer complete" when in fact the download on the data connection has not finished
	* yet. With all transfers we make sure that a) the result arrived and b) has been confirmed by
	* e.g. the control connection. We just don't know in which order this will happen.
	*/
	var TransferResolver = class {
		/**
		* Instantiate a TransferResolver
		*/
		constructor(ftp, progress) {
			this.ftp = ftp;
			this.progress = progress;
			this.response = undefined;
			this.dataTransferDone = false;
		}
		/**
		* Mark the beginning of a transfer.
		*
		* @param name - Name of the transfer, usually the filename.
		* @param type - Type of transfer, usually "upload" or "download".
		*/
		onDataStart(name, type) {
			if (this.ftp.dataSocket === undefined) {
				throw new Error("Data transfer should start but there is no data connection.");
			}
			this.ftp.socket.setTimeout(0);
			this.ftp.dataSocket.setTimeout(this.ftp.timeout);
			this.progress.start(this.ftp.dataSocket, name, type);
		}
		/**
		* The data connection has finished the transfer.
		*/
		onDataDone(task) {
			this.progress.updateAndStop();
			this.ftp.socket.setTimeout(this.ftp.timeout);
			if (this.ftp.dataSocket) {
				this.ftp.dataSocket.setTimeout(0);
			}
			this.dataTransferDone = true;
			this.tryResolve(task);
		}
		/**
		* The control connection reports the transfer as finished.
		*/
		onControlDone(task, response) {
			this.response = response;
			this.tryResolve(task);
		}
		/**
		* An error has been reported and the task should be rejected.
		*/
		onError(task, err) {
			this.progress.updateAndStop();
			this.ftp.socket.setTimeout(this.ftp.timeout);
			this.ftp.dataSocket = undefined;
			task.reject(err);
		}
		/**
		* Control connection sent an unexpected request requiring a response from our part. We
		* can't provide that (because unknown) and have to close the contrext with an error because
		* the FTP server is now caught up in a state we can't resolve.
		*/
		onUnexpectedRequest(response) {
			const err = new Error(`Unexpected FTP response is requesting an answer: ${response.message}`);
			this.ftp.closeWithError(err);
		}
		tryResolve(task) {
			const canResolve = this.dataTransferDone && this.response !== undefined;
			if (canResolve) {
				this.ftp.dataSocket = undefined;
				task.resolve(this.response);
			}
		}
	};
	function uploadFrom(source, config) {
		const resolver = new TransferResolver(config.ftp, config.tracker);
		const fullCommand = `${config.command} ${config.remotePath}`;
		return config.ftp.handle(fullCommand, (res, task) => {
			if (res instanceof Error) {
				resolver.onError(task, res);
			} else if (res.code === 150 || res.code === 125) {
				const dataSocket = config.ftp.dataSocket;
				if (!dataSocket) {
					resolver.onError(task, new Error("Upload should begin but no data connection is available."));
					return;
				}
				const canUpload = "getCipher" in dataSocket ? dataSocket.getCipher() !== undefined : true;
				onConditionOrEvent(canUpload, dataSocket, "secureConnect", () => {
					config.ftp.log(`Uploading to ${(0, netUtils_1.describeAddress)(dataSocket)} (${(0, netUtils_1.describeTLS)(dataSocket)})`);
					resolver.onDataStart(config.remotePath, config.type);
					(0, stream_1.pipeline)(source, dataSocket, (err) => {
						if (err) {
							resolver.onError(task, err);
						} else {
							resolver.onDataDone(task);
						}
					});
				});
			} else if ((0, parseControlResponse_1.positiveCompletion)(res.code)) {
				resolver.onControlDone(task, res);
			} else if ((0, parseControlResponse_1.positiveIntermediate)(res.code)) {
				resolver.onUnexpectedRequest(res);
			}
		});
	}
	exports.uploadFrom = uploadFrom;
	function downloadTo(destination, config) {
		if (!config.ftp.dataSocket) {
			throw new Error("Download will be initiated but no data connection is available.");
		}
		const resolver = new TransferResolver(config.ftp, config.tracker);
		return config.ftp.handle(config.command, (res, task) => {
			if (res instanceof Error) {
				resolver.onError(task, res);
			} else if (res.code === 150 || res.code === 125) {
				const dataSocket = config.ftp.dataSocket;
				if (!dataSocket) {
					resolver.onError(task, new Error("Download should begin but no data connection is available."));
					return;
				}
				config.ftp.log(`Downloading from ${(0, netUtils_1.describeAddress)(dataSocket)} (${(0, netUtils_1.describeTLS)(dataSocket)})`);
				resolver.onDataStart(config.remotePath, config.type);
				(0, stream_1.pipeline)(dataSocket, destination, (err) => {
					if (err) {
						resolver.onError(task, err);
					} else {
						resolver.onDataDone(task);
					}
				});
			} else if (res.code === 350) {
				config.ftp.send("RETR " + config.remotePath);
			} else if ((0, parseControlResponse_1.positiveCompletion)(res.code)) {
				resolver.onControlDone(task, res);
			} else if ((0, parseControlResponse_1.positiveIntermediate)(res.code)) {
				resolver.onUnexpectedRequest(res);
			}
		});
	}
	exports.downloadTo = downloadTo;
	/**
	* Calls a function immediately if a condition is met or subscribes to an event and calls
	* it once the event is emitted.
	*
	* @param condition  The condition to test.
	* @param emitter  The emitter to use if the condition is not met.
	* @param eventName  The event to subscribe to if the condition is not met.
	* @param action  The function to call.
	*/
	function onConditionOrEvent(condition, emitter, eventName, action) {
		if (condition === true) {
			action();
		} else {
			emitter.once(eventName, () => action());
		}
	}
}));

//#endregion
//#region ../node_modules/basic-ftp/dist/Client.js
var require_Client = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.Client = void 0;
	const fs_1 = __require("fs");
	const path_1 = __require("path");
	const tls_1 = __require("tls");
	const util_1 = __require("util");
	const FtpContext_1 = require_FtpContext();
	const parseList_1 = require_parseList();
	const ProgressTracker_1 = require_ProgressTracker();
	const StringWriter_1 = require_StringWriter();
	const parseListMLSD_1 = require_parseListMLSD();
	const netUtils_1 = require_netUtils();
	const transfer_1 = require_transfer();
	const parseControlResponse_1 = require_parseControlResponse();
	const fsReadDir = (0, util_1.promisify)(fs_1.readdir);
	const fsMkDir = (0, util_1.promisify)(fs_1.mkdir);
	const fsStat = (0, util_1.promisify)(fs_1.stat);
	const fsOpen = (0, util_1.promisify)(fs_1.open);
	const fsClose = (0, util_1.promisify)(fs_1.close);
	const fsUnlink = (0, util_1.promisify)(fs_1.unlink);
	const LIST_COMMANDS_DEFAULT = () => ["LIST -a", "LIST"];
	const LIST_COMMANDS_MLSD = () => [
		"MLSD",
		"LIST -a",
		"LIST"
	];
	/**
	* High-level API to interact with an FTP server.
	*/
	var Client = class {
		/**
		* Instantiate an FTP client.
		*
		* @param timeout  Timeout in milliseconds, use 0 for no timeout. Optional, default is 30 seconds.
		*/
		constructor(timeout = 3e4) {
			this.availableListCommands = LIST_COMMANDS_DEFAULT();
			this.ftp = new FtpContext_1.FTPContext(timeout);
			this.prepareTransfer = this._enterFirstCompatibleMode([transfer_1.enterPassiveModeIPv6, transfer_1.enterPassiveModeIPv4]);
			this.parseList = parseList_1.parseList;
			this._progressTracker = new ProgressTracker_1.ProgressTracker();
		}
		/**
		* Close the client and all open socket connections.
		*
		* Close the client and all open socket connections. The client can’t be used anymore after calling this method,
		* you have to either reconnect with `access` or `connect` or instantiate a new instance to continue any work.
		* A client is also closed automatically if any timeout or connection error occurs.
		*/
		close() {
			this.ftp.close();
			this._progressTracker.stop();
		}
		/**
		* Returns true if the client is closed and can't be used anymore.
		*/
		get closed() {
			return this.ftp.closed;
		}
		/**
		* Connect (or reconnect) to an FTP server.
		*
		* This is an instance method and thus can be called multiple times during the lifecycle of a `Client`
		* instance. Whenever you do, the client is reset with a new control connection. This also implies that
		* you can reopen a `Client` instance that has been closed due to an error when reconnecting with this
		* method. In fact, reconnecting is the only way to continue using a closed `Client`.
		*
		* @param host  Host the client should connect to. Optional, default is "localhost".
		* @param port  Port the client should connect to. Optional, default is 21.
		*/
		connect(host = "localhost", port = 21) {
			this.ftp.reset();
			this.ftp.socket.connect({
				host,
				port,
				family: this.ftp.ipFamily
			}, () => this.ftp.log(`Connected to ${(0, netUtils_1.describeAddress)(this.ftp.socket)} (${(0, netUtils_1.describeTLS)(this.ftp.socket)})`));
			return this._handleConnectResponse();
		}
		/**
		* As `connect` but using implicit TLS. Implicit TLS is not an FTP standard and has been replaced by
		* explicit TLS. There are still FTP servers that support only implicit TLS, though.
		*/
		connectImplicitTLS(host = "localhost", port = 21, tlsOptions = {}) {
			this.ftp.reset();
			this.ftp.socket = (0, tls_1.connect)(port, host, tlsOptions, () => this.ftp.log(`Connected to ${(0, netUtils_1.describeAddress)(this.ftp.socket)} (${(0, netUtils_1.describeTLS)(this.ftp.socket)})`));
			this.ftp.tlsOptions = tlsOptions;
			return this._handleConnectResponse();
		}
		/**
		* Handles the first reponse by an FTP server after the socket connection has been established.
		*/
		_handleConnectResponse() {
			return this.ftp.handle(undefined, (res, task) => {
				if (res instanceof Error) {
					task.reject(res);
				} else if ((0, parseControlResponse_1.positiveCompletion)(res.code)) {
					task.resolve(res);
				} else {
					task.reject(new FtpContext_1.FTPError(res));
				}
			});
		}
		/**
		* Send an FTP command and handle the first response.
		*/
		send(command, ignoreErrorCodesDEPRECATED = false) {
			if (ignoreErrorCodesDEPRECATED) {
				this.ftp.log("Deprecated call using send(command, flag) with boolean flag to ignore errors. Use sendIgnoringError(command).");
				return this.sendIgnoringError(command);
			}
			return this.ftp.request(command);
		}
		/**
		* Send an FTP command and ignore an FTP error response. Any other kind of error or timeout will still reject the Promise.
		*
		* @param command
		*/
		sendIgnoringError(command) {
			return this.ftp.handle(command, (res, task) => {
				if (res instanceof FtpContext_1.FTPError) {
					task.resolve({
						code: res.code,
						message: res.message
					});
				} else if (res instanceof Error) {
					task.reject(res);
				} else {
					task.resolve(res);
				}
			});
		}
		/**
		* Upgrade the current socket connection to TLS.
		*
		* @param options  TLS options as in `tls.connect(options)`, optional.
		* @param command  Set the authentication command. Optional, default is "AUTH TLS".
		*/
		async useTLS(options = {}, command = "AUTH TLS") {
			const ret = await this.send(command);
			this.ftp.socket = await (0, netUtils_1.upgradeSocket)(this.ftp.socket, options);
			this.ftp.tlsOptions = options;
			this.ftp.log(`Control socket is using: ${(0, netUtils_1.describeTLS)(this.ftp.socket)}`);
			return ret;
		}
		/**
		* Login a user with a password.
		*
		* @param user  Username to use for login. Optional, default is "anonymous".
		* @param password  Password to use for login. Optional, default is "guest".
		*/
		login(user = "anonymous", password = "guest") {
			this.ftp.log(`Login security: ${(0, netUtils_1.describeTLS)(this.ftp.socket)}`);
			return this.ftp.handle("USER " + user, (res, task) => {
				if (res instanceof Error) {
					task.reject(res);
				} else if ((0, parseControlResponse_1.positiveCompletion)(res.code)) {
					task.resolve(res);
				} else if (res.code === 331) {
					this.ftp.send("PASS " + password);
				} else {
					task.reject(new FtpContext_1.FTPError(res));
				}
			});
		}
		/**
		* Set the usual default settings.
		*
		* Settings used:
		* * Binary mode (TYPE I)
		* * File structure (STRU F)
		* * Additional settings for FTPS (PBSZ 0, PROT P)
		*/
		async useDefaultSettings() {
			const features = await this.features();
			const supportsMLSD = features.has("MLST");
			this.availableListCommands = supportsMLSD ? LIST_COMMANDS_MLSD() : LIST_COMMANDS_DEFAULT();
			await this.send("TYPE I");
			await this.sendIgnoringError("STRU F");
			await this.sendIgnoringError("OPTS UTF8 ON");
			if (supportsMLSD) {
				await this.sendIgnoringError("OPTS MLST type;size;modify;unique;unix.mode;unix.owner;unix.group;unix.ownername;unix.groupname;");
			}
			if (this.ftp.hasTLS) {
				await this.sendIgnoringError("PBSZ 0");
				await this.sendIgnoringError("PROT P");
			}
		}
		/**
		* Convenience method that calls `connect`, `useTLS`, `login` and `useDefaultSettings`.
		*
		* This is an instance method and thus can be called multiple times during the lifecycle of a `Client`
		* instance. Whenever you do, the client is reset with a new control connection. This also implies that
		* you can reopen a `Client` instance that has been closed due to an error when reconnecting with this
		* method. In fact, reconnecting is the only way to continue using a closed `Client`.
		*/
		async access(options = {}) {
			var _a, _b;
			const useExplicitTLS = options.secure === true;
			const useImplicitTLS = options.secure === "implicit";
			let welcome;
			if (useImplicitTLS) {
				welcome = await this.connectImplicitTLS(options.host, options.port, options.secureOptions);
			} else {
				welcome = await this.connect(options.host, options.port);
			}
			if (useExplicitTLS) {
				const secureOptions = (_a = options.secureOptions) !== null && _a !== void 0 ? _a : {};
				secureOptions.host = (_b = secureOptions.host) !== null && _b !== void 0 ? _b : options.host;
				await this.useTLS(secureOptions);
			}
			await this.sendIgnoringError("OPTS UTF8 ON");
			await this.login(options.user, options.password);
			await this.useDefaultSettings();
			return welcome;
		}
		/**
		* Get the current working directory.
		*/
		async pwd() {
			const res = await this.send("PWD");
			const parsed = res.message.match(/"(.+)"/);
			if (parsed === null || parsed[1] === undefined) {
				throw new Error(`Can't parse response to command 'PWD': ${res.message}`);
			}
			return parsed[1];
		}
		/**
		* Get a description of supported features.
		*
		* This sends the FEAT command and parses the result into a Map where keys correspond to available commands
		* and values hold further information. Be aware that your FTP servers might not support this
		* command in which case this method will not throw an exception but just return an empty Map.
		*/
		async features() {
			const res = await this.sendIgnoringError("FEAT");
			const features = new Map();
			if (res.code < 400 && (0, parseControlResponse_1.isMultiline)(res.message)) {
				res.message.split("\n").slice(1, -1).forEach((line) => {
					const entry = line.trim().split(" ");
					features.set(entry[0], entry[1] || "");
				});
			}
			return features;
		}
		/**
		* Set the working directory.
		*/
		async cd(path) {
			const validPath = await this.protectWhitespace(path);
			return this.send("CWD " + validPath);
		}
		/**
		* Switch to the parent directory of the working directory.
		*/
		async cdup() {
			return this.send("CDUP");
		}
		/**
		* Get the last modified time of a file. This is not supported by every FTP server, in which case
		* calling this method will throw an exception.
		*/
		async lastMod(path) {
			const validPath = await this.protectWhitespace(path);
			const res = await this.send(`MDTM ${validPath}`);
			const date = res.message.slice(4);
			return (0, parseListMLSD_1.parseMLSxDate)(date);
		}
		/**
		* Get the size of a file.
		*/
		async size(path) {
			const validPath = await this.protectWhitespace(path);
			const command = `SIZE ${validPath}`;
			const res = await this.send(command);
			const size = parseInt(res.message.slice(4), 10);
			if (Number.isNaN(size)) {
				throw new Error(`Can't parse response to command '${command}' as a numerical value: ${res.message}`);
			}
			return size;
		}
		/**
		* Rename a file.
		*
		* Depending on the FTP server this might also be used to move a file from one
		* directory to another by providing full paths.
		*/
		async rename(srcPath, destPath) {
			const validSrc = await this.protectWhitespace(srcPath);
			const validDest = await this.protectWhitespace(destPath);
			await this.send("RNFR " + validSrc);
			return this.send("RNTO " + validDest);
		}
		/**
		* Remove a file from the current working directory.
		*
		* You can ignore FTP error return codes which won't throw an exception if e.g.
		* the file doesn't exist.
		*/
		async remove(path, ignoreErrorCodes = false) {
			const validPath = await this.protectWhitespace(path);
			if (ignoreErrorCodes) {
				return this.sendIgnoringError(`DELE ${validPath}`);
			}
			return this.send(`DELE ${validPath}`);
		}
		/**
		* Report transfer progress for any upload or download to a given handler.
		*
		* This will also reset the overall transfer counter that can be used for multiple transfers. You can
		* also call the function without a handler to stop reporting to an earlier one.
		*
		* @param handler  Handler function to call on transfer progress.
		*/
		trackProgress(handler) {
			this._progressTracker.bytesOverall = 0;
			this._progressTracker.reportTo(handler);
		}
		/**
		* Upload data from a readable stream or a local file to a remote file.
		*
		* @param source  Readable stream or path to a local file.
		* @param toRemotePath  Path to a remote file to write to.
		*/
		async uploadFrom(source, toRemotePath, options = {}) {
			return this._uploadWithCommand(source, toRemotePath, "STOR", options);
		}
		/**
		* Upload data from a readable stream or a local file by appending it to an existing file. If the file doesn't
		* exist the FTP server should create it.
		*
		* @param source  Readable stream or path to a local file.
		* @param toRemotePath  Path to a remote file to write to.
		*/
		async appendFrom(source, toRemotePath, options = {}) {
			return this._uploadWithCommand(source, toRemotePath, "APPE", options);
		}
		/**
		* @protected
		*/
		async _uploadWithCommand(source, remotePath, command, options) {
			if (typeof source === "string") {
				return this._uploadLocalFile(source, remotePath, command, options);
			}
			return this._uploadFromStream(source, remotePath, command);
		}
		/**
		* @protected
		*/
		async _uploadLocalFile(localPath, remotePath, command, options) {
			const fd = await fsOpen(localPath, "r");
			const source = (0, fs_1.createReadStream)("", {
				fd,
				start: options.localStart,
				end: options.localEndInclusive,
				autoClose: false
			});
			try {
				return await this._uploadFromStream(source, remotePath, command);
			} finally {
				await ignoreError(() => fsClose(fd));
			}
		}
		/**
		* @protected
		*/
		async _uploadFromStream(source, remotePath, command) {
			const onError = (err) => this.ftp.closeWithError(err);
			source.once("error", onError);
			try {
				const validPath = await this.protectWhitespace(remotePath);
				await this.prepareTransfer(this.ftp);
				return await (0, transfer_1.uploadFrom)(source, {
					ftp: this.ftp,
					tracker: this._progressTracker,
					command,
					remotePath: validPath,
					type: "upload"
				});
			} finally {
				source.removeListener("error", onError);
			}
		}
		/**
		* Download a remote file and pipe its data to a writable stream or to a local file.
		*
		* You can optionally define at which position of the remote file you'd like to start
		* downloading. If the destination you provide is a file, the offset will be applied
		* to it as well. For example: To resume a failed download, you'd request the size of
		* the local, partially downloaded file and use that as the offset. Assuming the size
		* is 23, you'd download the rest using `downloadTo("local.txt", "remote.txt", 23)`.
		*
		* @param destination  Stream or path for a local file to write to.
		* @param fromRemotePath  Path of the remote file to read from.
		* @param startAt  Position within the remote file to start downloading at. If the destination is a file, this offset is also applied to it.
		*/
		async downloadTo(destination, fromRemotePath, startAt = 0) {
			if (typeof destination === "string") {
				return this._downloadToFile(destination, fromRemotePath, startAt);
			}
			return this._downloadToStream(destination, fromRemotePath, startAt);
		}
		/**
		* @protected
		*/
		async _downloadToFile(localPath, remotePath, startAt) {
			const appendingToLocalFile = startAt > 0;
			const fileSystemFlags = appendingToLocalFile ? "r+" : "w";
			const fd = await fsOpen(localPath, fileSystemFlags);
			const destination = (0, fs_1.createWriteStream)("", {
				fd,
				start: startAt,
				autoClose: false
			});
			try {
				return await this._downloadToStream(destination, remotePath, startAt);
			} catch (err) {
				const localFileStats = await ignoreError(() => fsStat(localPath));
				const hasDownloadedData = localFileStats && localFileStats.size > 0;
				const shouldRemoveLocalFile = !appendingToLocalFile && !hasDownloadedData;
				if (shouldRemoveLocalFile) {
					await ignoreError(() => fsUnlink(localPath));
				}
				throw err;
			} finally {
				await ignoreError(() => fsClose(fd));
			}
		}
		/**
		* @protected
		*/
		async _downloadToStream(destination, remotePath, startAt) {
			const onError = (err) => this.ftp.closeWithError(err);
			destination.once("error", onError);
			try {
				const validPath = await this.protectWhitespace(remotePath);
				await this.prepareTransfer(this.ftp);
				return await (0, transfer_1.downloadTo)(destination, {
					ftp: this.ftp,
					tracker: this._progressTracker,
					command: startAt > 0 ? `REST ${startAt}` : `RETR ${validPath}`,
					remotePath: validPath,
					type: "download"
				});
			} finally {
				destination.removeListener("error", onError);
				destination.end();
			}
		}
		/**
		* List files and directories in the current working directory, or from `path` if specified.
		*
		* @param [path]  Path to remote file or directory.
		*/
		async list(path = "") {
			const validPath = await this.protectWhitespace(path);
			let lastError;
			for (const candidate of this.availableListCommands) {
				const command = validPath === "" ? candidate : `${candidate} ${validPath}`;
				await this.prepareTransfer(this.ftp);
				try {
					const parsedList = await this._requestListWithCommand(command);
					this.availableListCommands = [candidate];
					return parsedList;
				} catch (err) {
					const shouldTryNext = err instanceof FtpContext_1.FTPError;
					if (!shouldTryNext) {
						throw err;
					}
					lastError = err;
				}
			}
			throw lastError;
		}
		/**
		* @protected
		*/
		async _requestListWithCommand(command) {
			const buffer = new StringWriter_1.StringWriter();
			await (0, transfer_1.downloadTo)(buffer, {
				ftp: this.ftp,
				tracker: this._progressTracker,
				command,
				remotePath: "",
				type: "list"
			});
			const text = buffer.getText(this.ftp.encoding);
			this.ftp.log(text);
			return this.parseList(text);
		}
		/**
		* Remove a directory and all of its content.
		*
		* @param remoteDirPath  The path of the remote directory to delete.
		* @example client.removeDir("foo") // Remove directory 'foo' using a relative path.
		* @example client.removeDir("foo/bar") // Remove directory 'bar' using a relative path.
		* @example client.removeDir("/foo/bar") // Remove directory 'bar' using an absolute path.
		* @example client.removeDir("/") // Remove everything.
		*/
		async removeDir(remoteDirPath) {
			return this._exitAtCurrentDirectory(async () => {
				await this.cd(remoteDirPath);
				const absoluteDirPath = await this.pwd();
				await this.clearWorkingDir();
				const dirIsRoot = absoluteDirPath === "/";
				if (!dirIsRoot) {
					await this.cdup();
					await this.removeEmptyDir(absoluteDirPath);
				}
			});
		}
		/**
		* Remove all files and directories in the working directory without removing
		* the working directory itself.
		*/
		async clearWorkingDir() {
			for (const file of await this.list()) {
				if (file.isDirectory) {
					await this.cd(file.name);
					await this.clearWorkingDir();
					await this.cdup();
					await this.removeEmptyDir(file.name);
				} else {
					await this.remove(file.name);
				}
			}
		}
		/**
		* Upload the contents of a local directory to the remote working directory.
		*
		* This will overwrite existing files with the same names and reuse existing directories.
		* Unrelated files and directories will remain untouched. You can optionally provide a `remoteDirPath`
		* to put the contents inside a directory which will be created if necessary including all
		* intermediate directories. If you did provide a remoteDirPath the working directory will stay
		* the same as before calling this method.
		*
		* @param localDirPath  Local path, e.g. "foo/bar" or "../test"
		* @param [remoteDirPath]  Remote path of a directory to upload to. Working directory if undefined.
		*/
		async uploadFromDir(localDirPath, remoteDirPath) {
			return this._exitAtCurrentDirectory(async () => {
				if (remoteDirPath) {
					await this.ensureDir(remoteDirPath);
				}
				return await this._uploadToWorkingDir(localDirPath);
			});
		}
		/**
		* @protected
		*/
		async _uploadToWorkingDir(localDirPath) {
			const files = await fsReadDir(localDirPath);
			for (const file of files) {
				const fullPath = (0, path_1.join)(localDirPath, file);
				const stats = await fsStat(fullPath);
				if (stats.isFile()) {
					await this.uploadFrom(fullPath, file);
				} else if (stats.isDirectory()) {
					await this._openDir(file);
					await this._uploadToWorkingDir(fullPath);
					await this.cdup();
				}
			}
		}
		/**
		* Download all files and directories of the working directory to a local directory.
		*
		* @param localDirPath  The local directory to download to.
		* @param remoteDirPath  Remote directory to download. Current working directory if not specified.
		*/
		async downloadToDir(localDirPath, remoteDirPath) {
			return this._exitAtCurrentDirectory(async () => {
				if (remoteDirPath) {
					await this.cd(remoteDirPath);
				}
				return await this._downloadFromWorkingDir(localDirPath);
			});
		}
		/**
		* @protected
		*/
		async _downloadFromWorkingDir(localDirPath) {
			await ensureLocalDirectory(localDirPath);
			for (const file of await this.list()) {
				const localPath = (0, path_1.join)(localDirPath, file.name);
				if (file.isDirectory) {
					await this.cd(file.name);
					await this._downloadFromWorkingDir(localPath);
					await this.cdup();
				} else if (file.isFile) {
					await this.downloadTo(localPath, file.name);
				}
			}
		}
		/**
		* Make sure a given remote path exists, creating all directories as necessary.
		* This function also changes the current working directory to the given path.
		*/
		async ensureDir(remoteDirPath) {
			if (remoteDirPath.startsWith("/")) {
				await this.cd("/");
			}
			const names = remoteDirPath.split("/").filter((name) => name !== "");
			for (const name of names) {
				await this._openDir(name);
			}
		}
		/**
		* Try to create a directory and enter it. This will not raise an exception if the directory
		* couldn't be created if for example it already exists.
		* @protected
		*/
		async _openDir(dirName) {
			await this.sendIgnoringError("MKD " + dirName);
			await this.cd(dirName);
		}
		/**
		* Remove an empty directory, will fail if not empty.
		*/
		async removeEmptyDir(path) {
			const validPath = await this.protectWhitespace(path);
			return this.send(`RMD ${validPath}`);
		}
		/**
		* FTP servers can't handle filenames that have leading whitespace. This method transforms
		* a given path to fix that issue for most cases.
		*/
		async protectWhitespace(path) {
			if (!path.startsWith(" ")) {
				return path;
			}
			const pwd = await this.pwd();
			const absolutePathPrefix = pwd.endsWith("/") ? pwd : pwd + "/";
			return absolutePathPrefix + path;
		}
		async _exitAtCurrentDirectory(func) {
			const userDir = await this.pwd();
			try {
				return await func();
			} finally {
				if (!this.closed) {
					await ignoreError(() => this.cd(userDir));
				}
			}
		}
		/**
		* Try all available transfer strategies and pick the first one that works. Update `client` to
		* use the working strategy for all successive transfer requests.
		*
		* @returns a function that will try the provided strategies.
		*/
		_enterFirstCompatibleMode(strategies) {
			return async (ftp) => {
				ftp.log("Trying to find optimal transfer strategy...");
				let lastError = undefined;
				for (const strategy of strategies) {
					try {
						const res = await strategy(ftp);
						ftp.log("Optimal transfer strategy found.");
						this.prepareTransfer = strategy;
						return res;
					} catch (err) {
						lastError = err;
					}
				}
				throw new Error(`None of the available transfer strategies work. Last error response was '${lastError}'.`);
			};
		}
		/**
		* DEPRECATED, use `uploadFrom`.
		* @deprecated
		*/
		async upload(source, toRemotePath, options = {}) {
			this.ftp.log("Warning: upload() has been deprecated, use uploadFrom().");
			return this.uploadFrom(source, toRemotePath, options);
		}
		/**
		* DEPRECATED, use `appendFrom`.
		* @deprecated
		*/
		async append(source, toRemotePath, options = {}) {
			this.ftp.log("Warning: append() has been deprecated, use appendFrom().");
			return this.appendFrom(source, toRemotePath, options);
		}
		/**
		* DEPRECATED, use `downloadTo`.
		* @deprecated
		*/
		async download(destination, fromRemotePath, startAt = 0) {
			this.ftp.log("Warning: download() has been deprecated, use downloadTo().");
			return this.downloadTo(destination, fromRemotePath, startAt);
		}
		/**
		* DEPRECATED, use `uploadFromDir`.
		* @deprecated
		*/
		async uploadDir(localDirPath, remoteDirPath) {
			this.ftp.log("Warning: uploadDir() has been deprecated, use uploadFromDir().");
			return this.uploadFromDir(localDirPath, remoteDirPath);
		}
		/**
		* DEPRECATED, use `downloadToDir`.
		* @deprecated
		*/
		async downloadDir(localDirPath) {
			this.ftp.log("Warning: downloadDir() has been deprecated, use downloadToDir().");
			return this.downloadToDir(localDirPath);
		}
	};
	exports.Client = Client;
	async function ensureLocalDirectory(path) {
		try {
			await fsStat(path);
		} catch (err) {
			await fsMkDir(path, { recursive: true });
		}
	}
	async function ignoreError(func) {
		try {
			return await func();
		} catch (err) {
			return undefined;
		}
	}
}));

//#endregion
//#region ../node_modules/basic-ftp/dist/StringEncoding.js
var require_StringEncoding = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
}));

//#endregion
//#region ../node_modules/basic-ftp/dist/index.js
var require_dist = /* @__PURE__ */ __commonJSMin(((exports) => {
	var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) {
		if (k2 === undefined) k2 = k;
		var desc = Object.getOwnPropertyDescriptor(m, k);
		if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
			desc = {
				enumerable: true,
				get: function() {
					return m[k];
				}
			};
		}
		Object.defineProperty(o, k2, desc);
	}) : (function(o, m, k, k2) {
		if (k2 === undefined) k2 = k;
		o[k2] = m[k];
	}));
	var __exportStar = exports && exports.__exportStar || function(m, exports$1) {
		for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports$1, p)) __createBinding(exports$1, m, p);
	};
	Object.defineProperty(exports, "__esModule", { value: true });
	exports.enterPassiveModeIPv6 = exports.enterPassiveModeIPv4 = void 0;
	/**
	* Public API
	*/
	__exportStar(require_Client(), exports);
	__exportStar(require_FtpContext(), exports);
	__exportStar(require_FileInfo(), exports);
	__exportStar(require_parseList(), exports);
	__exportStar(require_StringEncoding(), exports);
	var transfer_1 = require_transfer();
	Object.defineProperty(exports, "enterPassiveModeIPv4", {
		enumerable: true,
		get: function() {
			return transfer_1.enterPassiveModeIPv4;
		}
	});
	Object.defineProperty(exports, "enterPassiveModeIPv6", {
		enumerable: true,
		get: function() {
			return transfer_1.enterPassiveModeIPv6;
		}
	});
}));

//#endregion
//#region ../utils/ftp.js
var import_dist = require_dist();
/**
* FTP 客户端类
*/
var FTPClient = class {
	/**
	* 构造函数
	* @param {Object} config - 配置对象
	* @param {string} config.host - FTP 服务器主机名或 IP
	* @param {number} [config.port=21] - FTP 服务器端口
	* @param {string} [config.username] - 用户名
	* @param {string} [config.password] - 密码
	* @param {string} [config.basePath='/'] - FTP 服务器基础路径
	* @param {boolean} [config.secure=false] - 是否使用 FTPS (FTP over SSL/TLS)
	* @param {string} [config.secureOptions] - SSL/TLS 选项 ('explicit' 或 'implicit')
	* @param {boolean} [config.pasv=true] - 是否使用被动模式
	* @param {number} [config.timeout=30000] - 连接超时时间（毫秒）
	* @param {boolean} [config.verbose=false] - 是否启用详细日志
	*/
	constructor(config) {
		this.config = {
			port: 21,
			basePath: "/",
			secure: false,
			secureOptions: "explicit",
			pasv: true,
			timeout: 3e4,
			verbose: false,
			...config
		};
		this.client = null;
		this.isConnected = false;
		this.connectionPromise = null;
		this.requestQueue = [];
		this.isProcessingQueue = false;
	}
	/**
	* 连接到 FTP 服务器
	* @returns {Promise<boolean>} 连接是否成功
	*/
	async connect() {
		if (this.isConnected && this.client) {
			return true;
		}
		if (this.connectionPromise) {
			return await this.connectionPromise;
		}
		this.connectionPromise = this._doConnect();
		return await this.connectionPromise;
	}
	/**
	* 执行实际连接操作
	* @private
	*/
	async _doConnect() {
		try {
			this.client = new import_dist.Client(this.config.timeout);
			if (this.config.verbose) {
				this.client.ftp.verbose = true;
			}
			await this.client.access({
				host: this.config.host,
				port: this.config.port,
				user: this.config.username || "anonymous",
				password: this.config.password || "anonymous@",
				secure: this.config.secure,
				secureOptions: this.config.secureOptions
			});
			if (this.config.pasv) {
				this.client.ftp.ipFamily = 4;
			}
			this.isConnected = true;
			this.connectionPromise = null;
			return true;
		} catch (error) {
			this.isConnected = false;
			this.connectionPromise = null;
			console.error("FTP connection failed:", error.message);
			throw new Error(`Failed to connect to FTP server: ${error.message}`);
		}
	}
	/**
	* 断开连接
	* @returns {Promise<void>}
	*/
	async disconnect() {
		if (this.client) {
			try {
				this.client.close();
			} catch (error) {
				console.warn("Error closing FTP connection:", error.message);
			}
			this.client = null;
		}
		this.isConnected = false;
		this.connectionPromise = null;
	}
	/**
	* 测试连接
	* @returns {Promise<boolean>} 连接是否成功
	*/
	async testConnection() {
		try {
			const connected = await this.connect();
			if (connected) {
				await this.client.pwd();
				return true;
			}
			return false;
		} catch (error) {
			console.error("FTP connection test failed:", error.message);
			return false;
		}
	}
	/**
	* 确保已连接
	* @private
	*/
	async _ensureConnected() {
		if (!this.isConnected) {
			await this.connect();
		}
	}
	/**
	* 将操作添加到队列中执行，确保同一时间只有一个操作
	* @param {Function} operation - 要执行的操作函数
	* @returns {Promise} 操作结果
	*/
	async _queueOperation(operation) {
		return new Promise((resolve, reject) => {
			this.requestQueue.push({
				operation,
				resolve,
				reject
			});
			this._processQueue();
		});
	}
	/**
	* 处理请求队列
	*/
	async _processQueue() {
		if (this.isProcessingQueue || this.requestQueue.length === 0) {
			return;
		}
		this.isProcessingQueue = true;
		while (this.requestQueue.length > 0) {
			const { operation, resolve, reject } = this.requestQueue.shift();
			try {
				const result = await operation();
				resolve(result);
			} catch (error) {
				reject(error);
			}
		}
		this.isProcessingQueue = false;
	}
	/**
	* 获取目录内容
	* @param {string} [remotePath='/'] - 远程目录路径
	* @returns {Promise<Array>} 目录内容列表
	*/
	async listDirectory(remotePath = "/") {
		return this._queueOperation(async () => {
			try {
				await this._ensureConnected();
				const fullPath = this._getFullPath(remotePath);
				const fileList = await this.client.list(fullPath);
				return fileList.map((item) => ({
					name: item.name,
					path: this._joinPath(remotePath, item.name),
					isDirectory: item.isDirectory,
					isFile: item.isFile,
					size: item.size || 0,
					lastModified: item.modifiedAt ? new Date(item.modifiedAt).toISOString() : null,
					permissions: item.permissions || null,
					owner: item.user || null,
					group: item.group || null,
					contentType: item.isFile ? this._getContentType(item.name) : null,
					etag: null,
					creationDate: null
				}));
			} catch (error) {
				throw new Error(`Failed to list directory ${remotePath}: ${error.message}`);
			}
		});
	}
	/**
	* 获取文件或目录信息
	* @param {string} remotePath - 远程路径
	* @returns {Promise<Object>} 文件/目录信息
	*/
	async getInfo(remotePath) {
		return this._queueOperation(async () => {
			try {
				await this._ensureConnected();
				const fullPath = this._getFullPath(remotePath);
				const parentPath = path.dirname(fullPath);
				const fileName = path.basename(fullPath);
				const fileList = await this.client.list(parentPath === "." ? "/" : parentPath);
				const item = fileList.find((file) => file.name === fileName);
				if (!item) {
					throw new Error(`Resource not found: ${remotePath}`);
				}
				return {
					name: item.name,
					path: remotePath,
					isDirectory: item.isDirectory,
					isFile: item.isFile,
					size: item.size || 0,
					lastModified: item.modifiedAt ? new Date(item.modifiedAt).toISOString() : null,
					permissions: item.permissions || null,
					owner: item.user || null,
					group: item.group || null,
					contentType: item.isFile ? this._getContentType(item.name) : null,
					etag: null,
					creationDate: null
				};
			} catch (error) {
				if (error.message.includes("Resource not found")) {
					throw error;
				}
				throw new Error(`Failed to get info for ${remotePath}: ${error.message}`);
			}
		});
	}
	/**
	* 检查文件或目录是否存在
	* @param {string} remotePath - 远程路径
	* @returns {Promise<boolean>} 是否存在
	*/
	async exists(remotePath) {
		try {
			await this.getInfo(remotePath);
			return true;
		} catch (error) {
			return false;
		}
	}
	/**
	* 创建目录
	* @param {string} remotePath - 远程目录路径
	* @param {boolean} [recursive=false] - 是否递归创建父目录
	* @returns {Promise<boolean>} 创建是否成功
	*/
	async createDirectory(remotePath, recursive = false) {
		try {
			await this._ensureConnected();
			const fullPath = this._getFullPath(remotePath);
			if (recursive) {
				await this.client.ensureDir(fullPath);
			} else {
				await this.client.send(`MKD ${fullPath}`);
			}
			return true;
		} catch (error) {
			throw new Error(`Failed to create directory ${remotePath}: ${error.message}`);
		}
	}
	/**
	* 上传文件
	* @param {string|Buffer|ReadableStream} source - 本地文件路径、Buffer 或可读流
	* @param {string} remotePath - 远程文件路径
	* @param {Object} [options] - 上传选项
	* @param {boolean} [options.overwrite=true] - 是否覆盖已存在的文件
	* @param {Function} [options.onProgress] - 进度回调函数
	* @returns {Promise<boolean>} 上传是否成功
	*/
	async uploadFile(source, remotePath, options = {}) {
		const { overwrite = true, onProgress } = options;
		try {
			await this._ensureConnected();
			const fullPath = this._getFullPath(remotePath);
			if (!overwrite && await this.exists(remotePath)) {
				throw new Error(`File ${remotePath} already exists and overwrite is disabled`);
			}
			let sourceStream;
			if (typeof source === "string") {
				sourceStream = createReadStream(source);
			} else if (Buffer.isBuffer(source)) {
				sourceStream = Readable.from(source);
			} else {
				sourceStream = source;
			}
			if (onProgress) {
				this.client.trackProgress((info) => {
					onProgress({
						loaded: info.bytes,
						total: info.bytesOverall || 0
					});
				});
			}
			await this.client.uploadFrom(sourceStream, fullPath);
			if (onProgress) {
				this.client.trackProgress();
			}
			return true;
		} catch (error) {
			throw new Error(`Failed to upload file to ${remotePath}: ${error.message}`);
		}
	}
	/**
	* 下载文件
	* @param {string} remotePath - 远程文件路径
	* @param {string} [localPath] - 本地保存路径，如果不提供则返回 Buffer
	* @param {Object} [options] - 下载选项
	* @param {Function} [options.onProgress] - 进度回调函数
	* @returns {Promise<Buffer|boolean>} 如果提供 localPath 返回 boolean，否则返回 Buffer
	*/
	async downloadFile(remotePath, localPath, options = {}) {
		const { onProgress } = options;
		try {
			await this._ensureConnected();
			const fullPath = this._getFullPath(remotePath);
			if (onProgress) {
				this.client.trackProgress((info) => {
					onProgress({
						loaded: info.bytes,
						total: info.bytesOverall || 0
					});
				});
			}
			if (localPath) {
				const writeStream = createWriteStream(localPath);
				await this.client.downloadTo(writeStream, fullPath);
				if (onProgress) {
					this.client.trackProgress();
				}
				return true;
			} else {
				const chunks = [];
				const writeStream = new Writable({ write(chunk, encoding, callback) {
					chunks.push(chunk);
					callback();
				} });
				await this.client.downloadTo(writeStream, fullPath);
				if (onProgress) {
					this.client.trackProgress();
				}
				return Buffer.concat(chunks);
			}
		} catch (error) {
			throw new Error(`Failed to download file ${remotePath}: ${error.message}`);
		}
	}
	/**
	* 获取文件流（用于直链服务）
	* @param {string} remotePath - 远程文件路径
	* @param {Object} [options] - 选项
	* @param {Object} [options.headers] - 额外的请求头（如 Range）- FTP 不支持，但保持接口一致性
	* @returns {Promise<{stream: ReadableStream, headers: Object, size: number}>} 文件流和相关信息
	*/
	async getFileStream(remotePath, options = {}) {
		try {
			await this._ensureConnected();
			const fullPath = this._getFullPath(remotePath);
			const parentPath = path.dirname(fullPath);
			const fileName = path.basename(fullPath);
			const fileList = await this.client.list(parentPath === "." ? "/" : parentPath);
			const item = fileList.find((file) => file.name === fileName);
			if (!item) {
				throw new Error(`Resource not found: ${remotePath}`);
			}
			if (item.isDirectory) {
				throw new Error(`File not found or is a directory: ${remotePath}`);
			}
			const fileInfo = {
				name: item.name,
				path: remotePath,
				isDirectory: item.isDirectory,
				isFile: item.isFile,
				size: item.size || 0,
				lastModified: item.modifiedAt ? new Date(item.modifiedAt).toISOString() : null,
				contentType: item.isFile ? this._getContentType(item.name) : null
			};
			const rangeHeader = options.headers && options.headers.Range;
			let start = 0;
			let end = fileInfo.size - 1;
			let isRangeRequest = false;
			if (rangeHeader) {
				const rangeMatch = rangeHeader.match(/bytes=(\d+)-(\d*)/);
				if (rangeMatch) {
					start = parseInt(rangeMatch[1], 10);
					end = rangeMatch[2] ? parseInt(rangeMatch[2], 10) : fileInfo.size - 1;
					isRangeRequest = true;
				}
			}
			const stream = new Readable({ read() {} });
			let bytesReceived = 0;
			let bytesToSkip = start;
			let bytesToRead = end - start + 1;
			const writeStream = new Writable({ write(chunk, encoding, callback) {
				if (isRangeRequest) {
					if (bytesToSkip > 0) {
						if (chunk.length <= bytesToSkip) {
							bytesToSkip -= chunk.length;
							callback();
							return;
						} else {
							chunk = chunk.slice(bytesToSkip);
							bytesToSkip = 0;
						}
					}
					if (bytesToRead <= 0) {
						callback();
						return;
					}
					if (chunk.length > bytesToRead) {
						chunk = chunk.slice(0, bytesToRead);
					}
					bytesToRead -= chunk.length;
				}
				stream.push(chunk);
				bytesReceived += chunk.length;
				callback();
				if (isRangeRequest && bytesToRead <= 0) {
					stream.push(null);
				}
			} });
			writeStream.on("finish", () => {
				if (!isRangeRequest || bytesToRead > 0) {
					stream.push(null);
				}
			});
			writeStream.on("error", (error) => {
				stream.destroy(error);
			});
			this.client.downloadTo(writeStream, fullPath).catch((error) => {
				stream.destroy(error);
			});
			const contentLength = isRangeRequest ? end - start + 1 : fileInfo.size;
			return {
				stream,
				headers: {
					"content-type": fileInfo.contentType || "application/octet-stream",
					"content-length": contentLength.toString(),
					"last-modified": fileInfo.lastModified || new Date().toISOString(),
					"cache-control": "public, max-age=3600",
					...isRangeRequest && {
						"content-range": `bytes ${start}-${end}/${fileInfo.size}`,
						"accept-ranges": "bytes"
					}
				},
				size: contentLength,
				contentType: fileInfo.contentType || "application/octet-stream",
				lastModified: fileInfo.lastModified,
				etag: null,
				isRangeRequest,
				start,
				end,
				totalSize: fileInfo.size,
				fileInfo
			};
		} catch (error) {
			throw new Error(`Failed to get file stream for ${remotePath}: ${error.message}`);
		}
	}
	/**
	* 删除文件或目录
	* @param {string} remotePath - 远程路径
	* @returns {Promise<boolean>} 删除是否成功
	*/
	async delete(remotePath) {
		try {
			await this._ensureConnected();
			const fullPath = this._getFullPath(remotePath);
			const info = await this.getInfo(remotePath);
			if (info.isDirectory) {
				await this.client.removeDir(fullPath);
			} else {
				await this.client.remove(fullPath);
			}
			return true;
		} catch (error) {
			throw new Error(`Failed to delete ${remotePath}: ${error.message}`);
		}
	}
	/**
	* 移动/重命名文件或目录
	* @param {string} sourcePath - 源路径
	* @param {string} destinationPath - 目标路径
	* @param {boolean} [overwrite=false] - 是否覆盖目标（FTP 通常不支持此选项）
	* @returns {Promise<boolean>} 移动是否成功
	*/
	async move(sourcePath, destinationPath, overwrite = false) {
		try {
			await this._ensureConnected();
			const fullSourcePath = this._getFullPath(sourcePath);
			const fullDestinationPath = this._getFullPath(destinationPath);
			if (!overwrite && await this.exists(destinationPath)) {
				throw new Error(`Destination ${destinationPath} already exists and overwrite is disabled`);
			}
			await this.client.rename(fullSourcePath, fullDestinationPath);
			return true;
		} catch (error) {
			throw new Error(`Failed to move ${sourcePath} to ${destinationPath}: ${error.message}`);
		}
	}
	/**
	* 复制文件或目录（FTP 不直接支持复制，通过下载再上传实现）
	* @param {string} sourcePath - 源路径
	* @param {string} destinationPath - 目标路径
	* @param {boolean} [overwrite=false] - 是否覆盖目标
	* @returns {Promise<boolean>} 复制是否成功
	*/
	async copy(sourcePath, destinationPath, overwrite = false) {
		try {
			await this._ensureConnected();
			const sourceInfo = await this.getInfo(sourcePath);
			if (!sourceInfo) {
				throw new Error(`Source file does not exist: ${sourcePath}`);
			}
			if (!overwrite && await this.exists(destinationPath)) {
				throw new Error(`Destination ${destinationPath} already exists and overwrite is disabled`);
			}
			if (sourceInfo.isDirectory) {
				await this.createDirectory(destinationPath, true);
				const files = await this.listDirectory(sourcePath);
				for (const file of files) {
					const srcPath = this._joinPath(sourcePath, file.name);
					const destPath = this._joinPath(destinationPath, file.name);
					await this.copy(srcPath, destPath, overwrite);
				}
			} else {
				const buffer = await this.downloadFile(sourcePath);
				await this.uploadFile(buffer, destinationPath, { overwrite });
			}
			return true;
		} catch (error) {
			throw new Error(`Failed to copy ${sourcePath} to ${destinationPath}: ${error.message}`);
		}
	}
	/**
	* 获取文件内容（文本）
	* @param {string} remotePath - 远程文件路径
	* @param {string} [encoding='utf8'] - 文本编码
	* @returns {Promise<string>} 文件内容
	*/
	async getFileContent(remotePath, encoding = "utf8") {
		try {
			const buffer = await this.downloadFile(remotePath);
			return buffer.toString(encoding);
		} catch (error) {
			throw new Error(`Failed to get file content ${remotePath}: ${error.message}`);
		}
	}
	/**
	* 写入文件内容（文本）
	* @param {string} remotePath - 远程文件路径
	* @param {string} content - 文件内容
	* @param {string} [encoding='utf8'] - 文本编码
	* @param {boolean} [overwrite=true] - 是否覆盖已存在的文件
	* @returns {Promise<boolean>} 写入是否成功
	*/
	async putFileContent(remotePath, content, encoding = "utf8", overwrite = true) {
		try {
			const buffer = Buffer.from(content, encoding);
			return await this.uploadFile(buffer, remotePath, { overwrite });
		} catch (error) {
			throw new Error(`Failed to put file content ${remotePath}: ${error.message}`);
		}
	}
	/**
	* 标准化路径
	* 将输入路径转换为相对于 FTP 基础路径的路径
	* @private
	*/
	_normalizePath(remotePath) {
		if (!remotePath) return "/";
		if (!remotePath.startsWith("/")) {
			remotePath = "/" + remotePath;
		}
		remotePath = remotePath.replace(/\/+/g, "/");
		let basePath = this.config.basePath || "/";
		if (!basePath.startsWith("/")) {
			basePath = "/" + basePath;
		}
		if (!basePath.endsWith("/")) {
			basePath = basePath + "/";
		}
		if (remotePath.startsWith(basePath)) {
			let relativePath = remotePath.substring(basePath.length);
			if (!relativePath.startsWith("/")) {
				relativePath = "/" + relativePath;
			}
			return relativePath || "/";
		}
		return remotePath;
	}
	/**
	* 获取完整的 FTP 路径
	* 将相对路径转换为包含 basePath 的完整路径
	* @private
	*/
	_getFullPath(remotePath) {
		const normalizedPath = this._normalizePath(remotePath);
		let basePath = this.config.basePath || "/";
		if (!basePath.startsWith("/")) {
			basePath = "/" + basePath;
		}
		if (basePath !== "/" && basePath.endsWith("/")) {
			basePath = basePath.slice(0, -1);
		}
		if (basePath === "/") {
			return normalizedPath;
		}
		const cleanPath = normalizedPath.startsWith("/") ? normalizedPath.substring(1) : normalizedPath;
		if (!cleanPath || cleanPath === "/") {
			return basePath;
		}
		return basePath + "/" + cleanPath;
	}
	/**
	* 规范化从 FTP 响应中获取的路径
	* 移除 FTP 基础路径前缀，返回相对路径
	* @private
	*/
	_normalizeResponsePath(responsePath) {
		if (!responsePath) return "";
		let basePath = this.config.basePath || "/";
		if (!basePath.startsWith("/")) {
			basePath = "/" + basePath;
		}
		if (basePath !== "/" && basePath.endsWith("/")) {
			basePath = basePath.slice(0, -1);
		}
		if (responsePath.startsWith(basePath)) {
			let normalizedPath = responsePath.substring(basePath.length);
			if (!normalizedPath.startsWith("/")) {
				normalizedPath = "/" + normalizedPath;
			}
			return normalizedPath;
		}
		return responsePath;
	}
	/**
	* 连接路径
	* @private
	*/
	_joinPath(basePath, fileName) {
		const normalized = this._normalizePath(basePath);
		if (normalized === "/") {
			return "/" + fileName;
		}
		const separator = normalized.endsWith("/") ? "" : "/";
		return normalized + separator + fileName;
	}
	/**
	* 根据文件扩展名获取内容类型
	* @private
	*/
	_getContentType(filePath) {
		const ext = path.extname(filePath).toLowerCase();
		const mimeTypes = {
			".txt": "text/plain",
			".html": "text/html",
			".htm": "text/html",
			".css": "text/css",
			".js": "application/javascript",
			".json": "application/json",
			".xml": "application/xml",
			".pdf": "application/pdf",
			".jpg": "image/jpeg",
			".jpeg": "image/jpeg",
			".png": "image/png",
			".gif": "image/gif",
			".svg": "image/svg+xml",
			".ico": "image/x-icon",
			".bmp": "image/bmp",
			".webp": "image/webp",
			".mp3": "audio/mpeg",
			".wav": "audio/wav",
			".ogg": "audio/ogg",
			".mp4": "video/mp4",
			".avi": "video/x-msvideo",
			".mov": "video/quicktime",
			".wmv": "video/x-ms-wmv",
			".flv": "video/x-flv",
			".webm": "video/webm",
			".zip": "application/zip",
			".rar": "application/x-rar-compressed",
			".7z": "application/x-7z-compressed",
			".tar": "application/x-tar",
			".gz": "application/gzip",
			".doc": "application/msword",
			".docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
			".xls": "application/vnd.ms-excel",
			".xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
			".ppt": "application/vnd.ms-powerpoint",
			".pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation"
		};
		return mimeTypes[ext] || "application/octet-stream";
	}
};
/**
* 创建 FTP 客户端实例的工厂函数
* @param {Object} config - 配置对象
* @returns {FTPClient} FTP 客户端实例
*/
function createFTPClient(config) {
	return new FTPClient(config);
}

//#endregion
//#region ../utils/mime-type.js
var import_mime_types = /* @__PURE__ */ __toESM(require_mime_types(), 1);
/**
* 根据文件路径或名称的后缀获取 Content-Type
* @param {string} filePath - 文件路径或名称
* @returns {string} - Content-Type 或 'unknown'
*/
function getContentType(filePath) {
	const extension = path.extname(filePath);
	return getMimeType(extension);
}
/**
* 根据扩展名返回 MIME 类型
* @param {string} ext 文件扩展名
* @returns {string} MIME 类型
*/
function getMimeType(ext) {
	const mimeType = import_mime_types.lookup(ext);
	const isUtf8Type = mimeType && mimeType.includes("text") || ext.includes(".js");
	const extInfo = mimeType && isUtf8Type ? "; charset=utf-8" : "";
	return (mimeType || "application/octet-stream") + extInfo;
}

//#endregion
//#region ../utils/sites-map.js
/**
* 站点映射工具模块
* 提供查询字符串解析和站点映射配置读取功能
* @module sites-map
*/
const __dirname$6 = path.dirname(fileURLToPath(import.meta.url));
const _config_path$2 = path.join(__dirname$6, "../config");
const sitesMapCache = new Map();
/**
* 计算字符串的MD5哈希值
* @param {string} content - 要计算哈希的字符串内容
* @returns {string} MD5哈希值
*/
function getContentHash(content) {
	return createHash("md5").update(content, "utf8").digest("hex");
}
/**
* 清除站点映射缓存
* @param {string} configDir - 可选，指定要清除的配置目录缓存，不传则清除所有缓存
*/
function clearSitesMapCache(configDir = null) {
	if (configDir) {
		sitesMapCache.delete(configDir);
	} else {
		sitesMapCache.clear();
	}
}
/**
* 将查询字符串解析为对象
* @param {string} query - URL查询字符串
* @returns {Object} 解析后的查询对象
* @example
* getQueryObj("name=test&id=123") // returns {name: "test", id: "123"}
*/
function getQueryObj(query) {
	const searchParams = new URLSearchParams(query);
	const queryObject = {};
	for (const [key, value] of searchParams.entries()) {
		queryObject[key] = value;
	}
	return queryObject;
}
/**
* 读取并解析站点映射配置文件（带缓存优化）
* @param {string} configDir - 配置文件目录路径
* @returns {Object} 站点映射对象，键为站点名，值为配置数组
* @description
* 配置文件格式：站点名@@查询字符串@@别名（可选）
* 每行一个配置，支持同一站点多个配置
*/
function getSitesMap(configDir = _config_path$2) {
	let SitesMap = {};
	let SitesMapPath = path.join(configDir, "./map.txt");
	let splitStr = "@@";
	if (existsSync(SitesMapPath)) {
		try {
			let SitesMapText = readFileSync(SitesMapPath, "utf-8");
			const contentHash = getContentHash(SitesMapText);
			const cacheKey = configDir;
			const cachedData = sitesMapCache.get(cacheKey);
			if (cachedData && cachedData.hash === contentHash) {
				return cachedData.data;
			}
			let SitesMapLines = SitesMapText.split("\n").filter((it) => it);
			SitesMapLines.forEach((line) => {
				let SitesMapKey = line.split(splitStr)[0].trim();
				if (!SitesMap.hasOwnProperty(SitesMapKey)) {
					SitesMap[SitesMapKey] = [];
				}
				let SitesMapQuery = line.split(splitStr)[1].trim();
				let SitesMapAlias = line.split(splitStr).length > 2 ? line.split(splitStr)[2].trim() : SitesMapKey;
				SitesMap[SitesMapKey].push({
					alias: SitesMapAlias,
					queryStr: SitesMapQuery,
					queryObject: getQueryObj(SitesMapQuery)
				});
			});
			sitesMapCache.set(cacheKey, {
				hash: contentHash,
				data: SitesMap
			});
			return SitesMap;
		} catch (e) {}
	}
	return SitesMap;
}

//#endregion
//#region ../utils/file.js
/**
* 文件操作工具模块
*
* 功能：提供文件读写、路径处理、解析器配置等核心文件操作功能
* 包含安全的文件访问控制和路径解析功能
*
* @author drpy
* @version 1.0.0
*/
const __dirname$5 = path.dirname(fileURLToPath(import.meta.url));
function resolvePath(dir, relativePath) {
	let p = path.join(dir, relativePath);
	if (existsSync(p)) return p;
	let fixedRelative = relativePath.replace(/^\.\.[\\\/]/, "./");
	let p2 = path.join(dir, fixedRelative);
	if (existsSync(p2)) return p2;
	if (relativePath.startsWith("..")) {
		let p3 = path.join(dir, "../" + relativePath);
		if (existsSync(p3)) return p3;
	}
	return p;
}
const _data_path$1 = resolvePath(__dirname$5, "../data");
const _lib_path$1 = resolvePath(__dirname$5, "../spider/js");
const _jx_path = resolvePath(__dirname$5, "../jx");
const es6JsPath = resolvePath(__dirname$5, "../libs_drpy/es6-extend.js");
/**
* ES6扩展代码
* 包含ES6语法扩展和兼容性代码
*/
const es6_extend_code = "/**\r\n * ES6扩展和Polyfill库\r\n *\r\n * 该文件提供了ES6+特性的polyfill实现，确保在旧版本JavaScript环境中的兼容性\r\n * 包含Object、String、Array等原生对象的方法扩展和自定义工具函数\r\n *\r\n * @author drpy\r\n * @version 1.0.0\r\n */\r\n\r\n// Object.assign Polyfill - 用于对象属性合并\r\nif (typeof Object.assign !== 'function') {\r\n    Object.defineProperty(Object, 'assign', {\r\n        /**\r\n         * 将所有可枚举属性从一个或多个源对象复制到目标对象\r\n         * @param {Object} target - 目标对象\r\n         * @param {...Object} sources - 源对象\r\n         * @returns {Object} 目标对象\r\n         */\r\n        value: function (target, ...sources) {\r\n            if (target == null) {\r\n                throw new TypeError(\"Cannot convert undefined or null to object\");\r\n            }\r\n            // 遍历所有源对象\r\n            for (let source of sources) {\r\n                if (source != null) {\r\n                    // 复制源对象的所有可枚举属性\r\n                    for (let key in source) {\r\n                        if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n                            target[key] = source[key];\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n            return target;\r\n        },\r\n        writable: true,\r\n        configurable: true,\r\n        enumerable: false\r\n    });\r\n}\r\n\r\n// String.prototype.includes Polyfill - 字符串包含检查\r\nif (!String.prototype.includes) {\r\n    Object.defineProperty(String.prototype, 'includes', {\r\n        /**\r\n         * 判断字符串是否包含指定的子字符串\r\n         * @param {string} search - 要搜索的字符串\r\n         * @param {number} start - 开始搜索的位置，默认为0\r\n         * @returns {boolean} 是否包含指定字符串\r\n         */\r\n        value: function (search, start = 0) {\r\n            if (typeof start !== 'number') start = 0;\r\n            return this.indexOf(search, start) !== -1;\r\n        },\r\n        writable: true,\r\n        configurable: true,\r\n        enumerable: false\r\n    });\r\n}\r\n\r\n// Array.prototype.includes Polyfill - 数组包含检查\r\nif (!Array.prototype.includes) {\r\n    Object.defineProperty(Array.prototype, 'includes', {\r\n        /**\r\n         * 判断数组是否包含指定的元素\r\n         * @param {*} searchElement - 要搜索的元素\r\n         * @param {number} fromIndex - 开始搜索的索引，默认为0\r\n         * @returns {boolean} 是否包含指定元素\r\n         */\r\n        value: function (searchElement, fromIndex = 0) {\r\n            if (this == null) {\r\n                throw new TypeError('\"this\" is null or not defined');\r\n            }\r\n            let o = Object(this);\r\n            let len = o.length >>> 0; // 转换为无符号32位整数\r\n            if (len === 0) return false;\r\n\r\n            let n = fromIndex | 0; // 转换为整数\r\n            let k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);\r\n\r\n            while (k < len) {\r\n                if (o[k] === searchElement) return true;\r\n                k++;\r\n            }\r\n            return false;\r\n        },\r\n        writable: true,\r\n        configurable: true,\r\n        enumerable: false\r\n    });\r\n}\r\n\r\n// String.prototype.startsWith Polyfill - 字符串开头检查\r\nif (typeof String.prototype.startsWith !== 'function') {\r\n    Object.defineProperty(String.prototype, 'startsWith', {\r\n        /**\r\n         * 判断字符串是否以指定的前缀开头\r\n         * @param {string} prefix - 要检查的前缀\r\n         * @returns {boolean} 是否以指定前缀开头\r\n         */\r\n        value: function (prefix) {\r\n            return this.slice(0, prefix.length) === prefix;\r\n        },\r\n        writable: true,\r\n        configurable: true,\r\n        enumerable: false\r\n    });\r\n}\r\n\r\n// String.prototype.endsWith Polyfill - 字符串结尾检查\r\nif (typeof String.prototype.endsWith !== 'function') {\r\n    Object.defineProperty(String.prototype, 'endsWith', {\r\n        /**\r\n         * 判断字符串是否以指定的后缀结尾\r\n         * @param {string} suffix - 要检查的后缀\r\n         * @returns {boolean} 是否以指定后缀结尾\r\n         */\r\n        value: function (suffix) {\r\n            return this.indexOf(suffix, this.length - suffix.length) !== -1;\r\n        },\r\n        writable: true,\r\n        configurable: true,\r\n        enumerable: false\r\n    });\r\n}\r\n\r\n// Object.values Polyfill - 获取对象所有值\r\nif (typeof Object.values !== 'function') {\r\n    Object.defineProperty(Object, 'values', {\r\n        /**\r\n         * 返回对象所有可枚举属性的值组成的数组\r\n         * @param {Object} obj - 要获取值的对象\r\n         * @returns {Array} 包含所有值的数组\r\n         */\r\n        value: function (obj) {\r\n            if (obj == null) {\r\n                throw new TypeError(\"Cannot convert undefined or null to object\");\r\n            }\r\n            let values = [];\r\n            for (let key in obj) {\r\n                if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n                    values.push(obj[key]);\r\n                }\r\n            }\r\n            return values;\r\n        },\r\n        writable: true,\r\n        configurable: true,\r\n        enumerable: false\r\n    });\r\n}\r\n\r\n// Array.prototype.join Polyfill - 数组连接\r\nif (typeof Array.prototype.join !== 'function') {\r\n    Object.defineProperty(Array.prototype, 'join', {\r\n        /**\r\n         * 将数组元素连接成字符串\r\n         * @param {string} separator - 分隔符，默认为空字符串\r\n         * @returns {string} 连接后的字符串\r\n         */\r\n        value: function (separator = '') {\r\n            let result = '';\r\n            for (let i = 0; i < this.length; i++) {\r\n                if (i > 0) result += separator;\r\n                result += this[i];\r\n            }\r\n            return result;\r\n        },\r\n        writable: true,\r\n        configurable: true,\r\n        enumerable: false\r\n    });\r\n}\r\n\r\n// Array.prototype.toReversed Polyfill - 数组反转（非破坏性）\r\nif (typeof Array.prototype.toReversed !== 'function') {\r\n    Object.defineProperty(Array.prototype, 'toReversed', {\r\n        /**\r\n         * 返回数组的反转副本（不修改原数组）\r\n         * @returns {Array} 反转后的新数组\r\n         */\r\n        value: function () {\r\n            return this.slice().reverse();\r\n        },\r\n        writable: true,\r\n        configurable: true,\r\n        enumerable: false\r\n    });\r\n}\r\n\r\n// Array.prototype.append 别名 - Python风格的数组添加方法\r\nObject.defineProperty(Array.prototype, 'append', {\r\n    value: Array.prototype.push, // 直接使用push方法\r\n    writable: true,\r\n    configurable: true,\r\n    enumerable: false\r\n});\r\n\r\n// String.prototype.strip 别名 - Python风格的字符串去空格方法\r\nObject.defineProperty(String.prototype, 'strip', {\r\n    value: String.prototype.trim, // 直接使用trim方法\r\n    writable: true,\r\n    configurable: true,\r\n    enumerable: false\r\n});\r\n\r\n// String.prototype.rstrip - 右侧去除指定字符\r\nObject.defineProperty(String.prototype, 'rstrip', {\r\n    /**\r\n     * 去除字符串右侧的指定字符\r\n     * @param {string} chars - 要去除的字符，默认为空白字符\r\n     * @returns {string} 处理后的字符串\r\n     */\r\n    value: function (chars) {\r\n        if (!chars) return this.trimEnd();\r\n        let regex = new RegExp('[' + chars.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&') + ']+$');\r\n        return this.replace(regex, '');\r\n    },\r\n    writable: true,\r\n    configurable: true,\r\n    enumerable: false\r\n});\r\n\r\n// String.prototype.join - 字符串连接数组\r\nif (typeof String.prototype.join !== 'function') {\r\n    Object.defineProperty(String.prototype, 'join', {\r\n        /**\r\n         * 使用字符串作为分隔符连接数组\r\n         * @param {Array} arr - 要连接的数组\r\n         * @returns {string} 连接后的字符串\r\n         */\r\n        value: function (arr) {\r\n            if (!Array.isArray(arr)) return '';\r\n            return arr.join(this);\r\n        },\r\n        writable: true,\r\n        configurable: true,\r\n        enumerable: false\r\n    });\r\n}\r\n\r\n/**\r\n * 全局匹配函数 - 获取字符串中所有匹配项\r\n * @param {string} str - 要搜索的字符串\r\n * @param {RegExp|string} pattern - 匹配模式\r\n * @param {boolean} flatten - 是否扁平化结果\r\n * @returns {Array} 匹配结果数组\r\n */\r\nfunction matchesAll(str, pattern, flatten) {\r\n    if (typeof pattern === 'string') {\r\n        pattern = new RegExp(pattern, 'g');\r\n    }\r\n    let matches = [];\r\n    let match;\r\n    while ((match = pattern.exec(str)) !== null) {\r\n        matches.push(flatten ? match[0] : match);\r\n        if (!pattern.global) break; // 防止无限循环\r\n    }\r\n    return matches;\r\n}\r\n\r\n// String原型扩展 - 高级字符串处理方法\r\nObject.defineProperties(String.prototype, {\r\n    replaceX: {\r\n        /**\r\n         * 增强的字符串替换方法 - 支持高级替换逻辑\r\n         * @param {RegExp|string} regex - 匹配模式\r\n         * @param {string|Function} replacement - 替换内容\r\n         * @returns {string} 替换后的字符串\r\n         */\r\n        value: function (regex, replacement) {\r\n            // 处理字符串类型的正则表达式\r\n            if (typeof regex === 'string') {\r\n                regex = new RegExp(regex, 'g');\r\n            }\r\n\r\n            // 处理函数类型的替换内容\r\n            if (typeof replacement === 'function') {\r\n                return this.replace(regex, replacement);\r\n            }\r\n\r\n            // 处理 null/undefined 的替换内容\r\n            replacement = replacement == null ? '' : String(replacement);\r\n\r\n            // 创建正则表达式副本以避免修改原始对象的 lastIndex\r\n            const regexCopy = new RegExp(regex.source, regex.flags);\r\n\r\n            // 获取所有匹配项\r\n            let matches = matchesAll(this, regexCopy, true);\r\n\r\n            // 如果有多个匹配项，进行高级替换处理\r\n            if (matches && matches.length > 1) {\r\n                const hasCaptureGroup = /\\$\\d/.test(replacement);\r\n\r\n                if (hasCaptureGroup) {\r\n                    // 有捕获组引用时，使用标准替换\r\n                    return this.replace(regex, replacement);\r\n                } else {\r\n                    // 无捕获组引用时，对每个完整匹配进行替换\r\n                    return this.replace(regex, function (match) {\r\n                        return replacement;\r\n                    });\r\n                }\r\n            }\r\n\r\n            // 单个匹配或无匹配时，使用标准替换\r\n            return this.replace(regex, replacement);\r\n        },\r\n        writable: true,\r\n        configurable: true,\r\n        enumerable: false\r\n    },\r\n    parseX: {\r\n        /**\r\n         * 解析字符串为JSON对象（安全解析）\r\n         * @returns {*} 解析后的对象，解析失败返回null\r\n         */\r\n        get: function () {\r\n            try {\r\n                return JSON5.parse(this);\r\n            } catch (e) {\r\n                log(`String.parseX error: ${e.message}`);\r\n                return null;\r\n            }\r\n        },\r\n        configurable: true,\r\n        enumerable: false\r\n    }\r\n});\r\n\r\n/**\r\n * 字符串截取函数 - 高级文本处理\r\n * @param {string} text - 要处理的文本\r\n * @param {string} start - 开始标记\r\n * @param {string} end - 结束标记\r\n * @param {function|null|undefined} method - 处理方法函数，用于对截取结果进行后处理\r\n * @param {boolean} All - 是否处理所有匹配项\r\n * @returns {string|Array} 处理结果，单个匹配返回字符串，多个匹配返回数组\r\n */\r\nfunction cut(text, start, end, method, All) {\r\n    // 实现复杂的文本截取逻辑\r\n    if (!text || typeof text !== 'string') return '';\r\n\r\n    let startIndex = text.indexOf(start);\r\n    if (startIndex === -1) return All ? [] : '';\r\n\r\n    startIndex += start.length;\r\n    let endIndex = text.indexOf(end, startIndex);\r\n    if (endIndex === -1) return All ? [] : '';\r\n\r\n    let result = text.substring(startIndex, endIndex) + end; // 包含 end 标记\r\n\r\n    if (All) {\r\n        let results = [result];\r\n        let remainingText = text.substring(endIndex + end.length);\r\n        let moreResults = cut(remainingText, start, end, method, true);\r\n        if (Array.isArray(moreResults)) {\r\n            results = results.concat(moreResults);\r\n        }\r\n        return results;\r\n    }\r\n\r\n    // 应用 method 处理函数（如果提供）\r\n    if (method && typeof method === 'function') {\r\n        result = method(result);\r\n    }\r\n\r\n    return result;\r\n}\r\n\r\n// 将工具函数添加到全局作用域\r\nglobalThis.matchesAll = matchesAll;\r\nglobalThis.cut = cut;\r\n";
const reqJsPath = resolvePath(__dirname$5, "../libs_drpy/req-extend.js");
/**
* 网络请求扩展代码
* 包含HTTP请求相关的扩展功能
*/
const req_extend_code = "// 注意:!!!此文件通过获取文本代码然后注入代码形式使用，不包含globalThis导出和export导出\r\n// var key = '源的唯一ID' // 允许在源里自定义设置key，不设置就自动取title或者host\r\nconst RKEY = typeof (key) !== 'undefined' && key ? key : 'drpyS_' + (rule.title || rule.host); // 源的唯一标识\r\n\r\n/**\r\n * 海阔网页请求函数完整封装\r\n * @param {string} url 请求链接\r\n * @param {Object} obj 请求对象 {headers:{},method:'',timeout:5000,body:'',withHeaders:false}\r\n * @param {boolean} ocr_flag 标识此flag是用于请求ocr识别的,自动过滤content-type指定编码\r\n * @returns {string|DocumentFragment|*}\r\n */\r\nasync function request(url, obj = {}, ocr_flag = false) {\r\n    if (typeof (obj) === 'undefined' || !obj || (typeof obj === 'object' && obj !== null && Object.keys(obj).length === 0)) {\r\n        let fetch_params = {};\r\n        let headers = {\r\n            'User-Agent': MOBILE_UA,\r\n        };\r\n        if (rule.headers) {\r\n            Object.assign(headers, rule.headers);\r\n        }\r\n        let keys = Object.keys(headers).map(it => it.toLowerCase());\r\n        if (!keys.includes('referer')) {\r\n            headers['Referer'] = getHome(url);\r\n        }\r\n        fetch_params.headers = headers;\r\n        obj = fetch_params;\r\n    } else {\r\n        let headers = obj.headers || {};\r\n        let keys = Object.keys(headers).map(it => it.toLowerCase());\r\n        if (!keys.includes('user-agent')) {\r\n            headers['User-Agent'] = MOBILE_UA;\r\n        }\r\n        if (!keys.includes('referer')) {\r\n            headers['Referer'] = getHome(url);\r\n        }\r\n        obj.headers = headers;\r\n    }\r\n    if (rule.encoding && rule.encoding !== 'utf-8' && !ocr_flag) {\r\n        if (!obj.headers.hasOwnProperty('Content-Type') && !obj.headers.hasOwnProperty('content-type')) { // 手动指定了就不管\r\n            obj.headers[\"Content-Type\"] = 'text/html; charset=' + rule.encoding;\r\n        }\r\n    }\r\n    if (rule.timeout && typeof obj.timeout === 'undefined') {\r\n        obj.timeout = rule.timeout;\r\n    }\r\n    if (typeof (obj.body) != 'undefined' && obj.body && typeof (obj.body) === 'string') {\r\n        // 传body加 \"Content-Type\":\"application/x-www-form-urlencoded;\" 即可post form\r\n        if (!obj.headers.hasOwnProperty('Content-Type') && !obj.headers.hasOwnProperty('content-type')) { // 手动指定了就不管\r\n            obj.headers[\"Content-Type\"] = 'application/x-www-form-urlencoded; charset=' + rule.encoding;\r\n        }\r\n    } else if (typeof (obj.body) != 'undefined' && obj.body && typeof (obj.body) === 'object') {\r\n        obj.data = obj.body;\r\n        delete obj.body\r\n    }\r\n    if (!url) {\r\n        return obj.withHeaders ? '{}' : ''\r\n    }\r\n    if (obj.toBase64) { // 返回base64,用于请求图片\r\n        obj.buffer = 2;\r\n        delete obj.toBase64\r\n    }\r\n    if (obj.redirect === false) {\r\n        obj.redirect = 0;\r\n    }\r\n    if (obj.headers.hasOwnProperty('Content-Type') || obj.headers.hasOwnProperty('content-type')) {\r\n        let _contentType = obj.headers[\"Content-Type\"] || obj.headers[\"content-type\"] || \"\";\r\n        if (_contentType.includes(\"application/x-www-form-urlencoded\")) {\r\n            log(\"[request] custom body is application/x-www-form-urlencoded\");\r\n            if (typeof obj.body == \"string\") {\r\n                let temp_obj = parseQueryString(obj.body);\r\n                log(`[request] body:${JSON.stringify(temp_obj)}`);\r\n            }\r\n        }\r\n    }\r\n    // 注意：POST请求通常需要保留body数据，这里注释掉可能有问题的删除逻辑\r\n    // if (obj.method === 'POST') {\r\n    //     delete obj.body\r\n    // }\r\n\r\n    log(`[request] headers: ${JSON.stringify(obj.headers)}`);\r\n    log('[request] url:' + url + `  |method:${obj.method || 'GET'}|timeout:${obj.timeout}  |body:${obj.body || ''}`);\r\n    let res = await req(url, obj);\r\n    let html = res.content || '';\r\n    if (obj.withHeaders) {\r\n        let htmlWithHeaders = res.headers;\r\n        htmlWithHeaders.body = html;\r\n        return JSON.stringify(htmlWithHeaders);\r\n    } else {\r\n        return html\r\n    }\r\n}\r\n\r\n\r\n/**\r\n *  快捷post请求\r\n * @param {string} url 地址\r\n * @param {Object} obj 对象\r\n * @returns {string|DocumentFragment|*}\r\n */\r\nasync function post(url, obj = {}) {\r\n    obj.method = 'POST';\r\n    return await request(url, obj);\r\n}\r\n\r\n/**\r\n * 快捷获取特殊地址cookie|一般用作搜索过验证\r\n * 用法 let {cookie,html} = reqCookie(url);\r\n * @param {string} url 能返回cookie的地址\r\n * @param {Object} obj 常规请求参数\r\n * @param {boolean} all_cookie 返回全部cookie.默认false只返回第一个,一般是PhpSessionId\r\n * @returns {{cookie: string, html: (*|string|DocumentFragment)}}\r\n */\r\nasync function reqCookie(url, obj = {}, all_cookie = false) {\r\n    obj.withHeaders = true;\r\n    log('[reqCookie] obj:', obj);\r\n    let html = await request(url, obj);\r\n    let json = JSON.parse(html);\r\n    let setCk = Object.keys(json).find(it => it.toLowerCase() === 'set-cookie');\r\n    let cookie = setCk ? json[setCk] : '';\r\n    if (Array.isArray(cookie)) {\r\n        cookie = cookie.join(';')\r\n    }\r\n    if (!all_cookie) {\r\n        cookie = cookie.split(';')[0];\r\n    }\r\n    html = json.body;\r\n    log('[reqCookie] cookie:', obj);\r\n    return {\r\n        cookie,\r\n        html\r\n    }\r\n}\r\n\r\n/**\r\n * 检查宝塔验证并自动跳过获取正确源码\r\n * @param {string} html 之前获取的html\r\n * @param {string} url 之前的来源url\r\n * @param {Object} obj 来源obj\r\n * @returns {string|DocumentFragment|*}\r\n */\r\nasync function checkHtml(html, url, obj = {}) {\r\n    if (/\\?btwaf=/.test(html)) {\r\n        let btwaf = html.match(/btwaf(.*?)\"/)[1];\r\n        url = url.split('#')[0] + '?btwaf' + btwaf;\r\n        log('[checkHtml] 宝塔验证访问链接:' + url);\r\n        html = await request(url, obj);\r\n    }\r\n    return html\r\n}\r\n\r\n/**\r\n *  带一次宝塔验证的源码获取\r\n * @param {string} url 请求链接\r\n * @param {Object} obj 请求参数\r\n * @returns {string|DocumentFragment}\r\n */\r\nasync function getCode(url, obj = {}) {\r\n    let html = await request(url, obj);\r\n    html = await checkHtml(html, url, obj);\r\n    return html\r\n}\r\n\r\n/**\r\n * 源rule专用的请求方法,自动注入cookie\r\n * @param {string} url 请求链接\r\n * @returns {string|DocumentFragment}\r\n */\r\nasync function getHtml(url) {\r\n    let obj = {};\r\n    if (rule.headers) {\r\n        obj.headers = rule.headers;\r\n    }\r\n    let cookie = getItem(RULE_CK, '');\r\n    if (cookie) {\r\n        log(`[getHtml] ${RULE_CK}: ${cookie}`);\r\n        if (obj.headers && !Object.keys(obj.headers).map(it => it.toLowerCase()).includes('cookie')) {\r\n            log('[getHtml] 历史无cookie,新增过验证后的cookie');\r\n            obj.headers['Cookie'] = cookie;\r\n        } else if (obj.headers && obj.headers.cookie && obj.headers.cookie !== cookie) {\r\n            obj.headers['Cookie'] = cookie;\r\n            log('[getHtml] 历史有小写过期的cookie,更新过验证后的cookie');\r\n        } else if (obj.headers && obj.headers.Cookie && obj.headers.Cookie !== cookie) {\r\n            obj.headers['Cookie'] = cookie;\r\n            log('[getHtml] 历史有大写过期的cookie,更新过验证后的cookie');\r\n        } else if (!obj.headers) {\r\n            obj.headers = {Cookie: cookie};\r\n            log('[getHtml] 历史无headers,更新过验证后的含cookie的headers');\r\n        }\r\n    }\r\n    return getCode(url, obj);\r\n}\r\n\r\n/**\r\n * 验证码识别,暂未实现\r\n * @param {string} url 验证码图片链接\r\n * @returns {string} 验证成功后的cookie\r\n */\r\nasync function verifyCode(url) {\r\n    let cnt = 0;\r\n    let host = getHome(url);\r\n    let cookie = '';\r\n    while (cnt < OCR_RETRY) {\r\n        try {\r\n            // let obj = {headers:headers,timeout:timeout};\r\n            let yzm_url = `${host}/index.php/verify/index.html`;\r\n            log(`[verifyCode] 验证码链接:${yzm_url}`);\r\n            let hhtml = await request(yzm_url, {withHeaders: true, toBase64: true}, true);\r\n            let json = JSON.parse(hhtml);\r\n            if (!cookie) {\r\n                // print(json);\r\n                let setCk = Object.keys(json).find(it => it.toLowerCase() === 'set-cookie');\r\n                // cookie = json['set-cookie']?json['set-cookie'].split(';')[0]:'';\r\n                cookie = setCk ? json[setCk].split(';')[0] : '';\r\n            }\r\n            // log(hhtml);\r\n            log(`[verifyCode] cookie:${cookie}`);\r\n            let img = json.body;\r\n            // log(img);\r\n            let code = await OcrApi.classification(img);\r\n            log(`[verifyCode] 第${cnt + 1}次验证码识别结果:${code}`);\r\n            let submit_url = `${host}/index.php/ajax/verify_check?type=search&verify=${code}`;\r\n            log(`[verifyCode] 提交验证码链接: ${submit_url}`);\r\n            let html = await request(submit_url, {headers: {Cookie: cookie}, 'method': 'POST'});\r\n            // log(`[verifyCode] 提交验证码结果: ${html}`);\r\n            html = JSON.parse(html);\r\n            if (html.msg === 'ok') {\r\n                log(`[verifyCode] 第${cnt + 1}次验证码提交成功`);\r\n                return cookie // 需要返回cookie\r\n            } else if (html.msg !== 'ok' && cnt + 1 >= OCR_RETRY) {\r\n                cookie = ''; // 需要清空返回cookie\r\n            }\r\n        } catch (e) {\r\n            log(`[verifyCode] 第${cnt + 1}次验证码提交失败:${e.message}`);\r\n            if (cnt + 1 >= OCR_RETRY) {\r\n                cookie = '';\r\n            }\r\n        }\r\n        cnt += 1\r\n    }\r\n    return cookie\r\n}\r\n\r\n/**\r\n * 存在数据库配置表里, key字段对应值value,没有就新增,有就更新,调用此方法会清除key对应的内存缓存\r\n * @param {string} k 键\r\n * @param {*} v 值\r\n */\r\nfunction setItem(k, v) {\r\n    local.set(RKEY, k, v);\r\n    log(`[setItem] 规则${RKEY}设置${k} => ${v}`);\r\n    return true\r\n}\r\n\r\n/**\r\n *  获取数据库配置表对应的key字段的value，没有这个key就返回value默认传参.需要有缓存,第一次获取后会存在内存里\r\n * @param {string} k 键\r\n * @param {*} v 值\r\n * @returns {*}\r\n */\r\nfunction getItem(k, v) {\r\n    return local.get(RKEY, k) || v;\r\n}\r\n\r\n/**\r\n *  删除数据库key对应的一条数据,并清除此key对应的内存缓存\r\n * @param {string} k\r\n */\r\nfunction clearItem(k) {\r\n    local.delete(RKEY, k);\r\n    return true\r\n}\r\n\r\n// 定义沙箱里的全局变量alias别名\r\nvar fetch = request;";
/**
* 路径操作库
* 提供安全的文件读写和路径操作功能
*/
const pathLib = {
	basename: path.basename,
	extname: path.extname,
	readFile: function(filename) {
		let _file_path = path.join(_data_path$1, filename);
		const resolvedPath = path.resolve(_data_path$1, _file_path);
		if (!resolvedPath.startsWith(_data_path$1)) {
			log(`[pathLib.readFile] no access for read ${_file_path}`);
			return "";
		}
		if (!existsSync(resolvedPath)) {
			log(`[pathLib.readFile] file not found for read ${resolvedPath}`);
			return "";
		}
		return readFileSync(resolvedPath, "utf8");
	},
	writeFile: function(filename, text) {
		let _file_path = path.join(_data_path$1, filename);
		const resolvedPath = path.resolve(_data_path$1, _file_path);
		if (!resolvedPath.startsWith(_data_path$1)) {
			log(`[pathLib.writeFile] no access for read ${_file_path}`);
			return "";
		}
		try {
			const dirPath = path.dirname(resolvedPath);
			if (!existsSync(dirPath)) {
				mkdirSync(dirPath, { recursive: true });
			}
			writeFileSync(resolvedPath, text, "utf8");
			return true;
		} catch (e) {
			log(`[pathLib.writeFile] failed for saveFile ${_file_path}　error:${e.message}`);
			return false;
		}
	},
	readLib: function(filename) {
		let _file_path = path.join(_lib_path$1, filename);
		const resolvedPath = path.resolve(_data_path$1, _file_path);
		if (!resolvedPath.startsWith(_lib_path$1)) {
			log(`[pathLib.readLib] no access for read ${_file_path}`);
			return "";
		}
		if (!existsSync(resolvedPath)) {
			log(`[pathLib.readLib] file not found for read ${resolvedPath}`);
			return "";
		}
		return readFileSync(resolvedPath, "utf8");
	}
};
/**
* 获取解析器配置字典
*
* 功能：从配置文件中读取解析器列表，支持模板变量替换
* 解析parses.conf配置文件，生成解析器对象数组
*
* @param {string} host - 主机地址，用于模板变量替换
* @returns {Array} 解析器配置对象数组
*/
function getParsesDict(host) {
	const __filename = fileURLToPath(import.meta.url);
	const __dirname = path.dirname(__filename);
	const jx_conf = path.join(__dirname, "../config/parses.conf");
	let jx_list = [];
	if (existsSync(jx_conf)) {
		const jx_conf_text = readFileSync(jx_conf, "utf-8");
		let jx_conf_content = jx_conf_text.trim();
		let hostName = host;
		try {
			const raw = String(host || "");
			const hasScheme = raw.includes("://");
			const u = new URL(hasScheme ? raw : `http://${raw}`);
			const hostname = u.hostname || raw;
			const safeHostname = hostname.includes(":") ? `[${hostname}]` : hostname;
			hostName = hasScheme ? `${u.protocol}//${safeHostname}` : safeHostname;
		} catch (e) {
			const raw = String(host || "").replace(/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//, "").split("/")[0];
			hostName = raw.startsWith("[") ? raw.split("]")[0] + "]" : raw.split(":")[0];
		}
		let var_dict = {
			host,
			hostName
		};
		jx_conf_content = jinja.render(jx_conf_content, var_dict);
		const jxs = jx_conf_content.split("\n").filter((it) => it.trim() && !it.trim().startsWith("#")).map((it) => it.trim());
		jxs.forEach((jx) => {
			let jx_arr = jx.split(",");
			let jx_name = jx_arr[0];
			let jx_url = jx_arr[1];
			let jx_type = jx_arr.length > 2 ? Number(jx_arr[2]) || 0 : 0;
			let jx_ua = jx_arr.length > 3 ? jx_arr[3] : "Mozilla/5.0";
			let jx_flag = jx_arr.length > 4 ? jx_arr[4] : "";
			let jx_obj = {
				"name": jx_name,
				"url": jx_url,
				"type": jx_type,
				"header": { "User-Agent": jx_ua }
			};
			if (jx_flag) {
				jx_obj.ext = { "flag": jx_flag.split("|") };
			}
			jx_list.push(jx_obj);
		});
	}
	return jx_list;
}
/**
* 执行解析
*
* @param {string} name - 解析文件名 (不含.js)
* @param {string} host - 主机地址
* @param {string} url - 需要解析的URL
* @returns {Array} [flag, url] - flag为true表示找到解析文件，false表示未找到
*/
function executeParse(name, host, url) {
	let _file_path = path.join(_jx_path, name + ".js");
	if (existsSync(_file_path)) {
		return [true, host + "/parse/" + name + "?url=" + url];
	} else {
		return [false, url];
	}
}
globalThis.pathLib = pathLib;
globalThis.executeParse = executeParse;

//#endregion
//#region ../node_modules/pinyin/lib/cjs/pinyin.js
var require_pinyin = /* @__PURE__ */ __commonJSMin(((exports) => {
	Object.defineProperty(exports, "__esModule", { value: true });
	const dict = {};
	dict[12295] = "líng,xīng";
	dict[13312] = "qiū";
	dict[13313] = "tiǎn,tiàn";
	dict[13314] = "xǐ";
	dict[13317] = "wǔ";
	dict[13318] = "yǐn,yī";
	dict[13319] = "jiǔ";
	dict[13320] = "rù";
	dict[13321] = "dīng";
	dict[13322] = "shì";
	dict[13323] = "tǔ";
	dict[13324] = "sì,yí";
	dict[13325] = "zhǎo";
	dict[13326] = "wén";
	dict[13327] = "wǔ";
	dict[13328] = "nú";
	dict[13329] = "dōng";
	dict[13330] = "zhào";
	dict[13331] = "kě";
	dict[13332] = "xiǎng";
	dict[13334] = "yè";
	dict[13335] = "lǎo";
	dict[13336] = "mǐ";
	dict[13337] = "dòu";
	dict[13338] = "wú";
	dict[13340] = "chóu";
	dict[13341] = "jū";
	dict[13342] = "qí";
	dict[13343] = "fēi";
	dict[13345] = "nuò";
	dict[13346] = "fú";
	dict[13347] = "kù";
	dict[13348] = "qiú";
	dict[13349] = "chú";
	dict[13350] = "jǔ";
	dict[13352] = "xù";
	dict[13353] = "xíng";
	dict[13355] = "xiōng";
	dict[13356] = "liú";
	dict[13357] = "lǐn";
	dict[13360] = "xìn";
	dict[13361] = "zhěn";
	dict[13362] = "dài,fú";
	dict[13363] = "wù";
	dict[13367] = "mǎ,mà,mián";
	dict[13368] = "qiàn";
	dict[13369] = "yì";
	dict[13370] = "zhòng,yín";
	dict[13371] = "nèi";
	dict[13372] = "chèng,zhěng";
	dict[13374] = "ruǎn,yuàn";
	dict[13376] = "tài";
	dict[13378] = "fǎng,páng";
	dict[13379] = "ǎo";
	dict[13380] = "wǔ";
	dict[13381] = "zuò";
	dict[13383] = "zhòu";
	dict[13384] = "dòng";
	dict[13385] = "sù";
	dict[13386] = "yì";
	dict[13387] = "jiòng,kǒng,qióng";
	dict[13389] = "lěi,lèi";
	dict[13390] = "nǎo";
	dict[13391] = "zhù";
	dict[13393] = "lǎn,jì";
	dict[13396] = "xǔ";
	dict[13399] = "shēn";
	dict[13400] = "jiè";
	dict[13401] = "dié,yǒng";
	dict[13402] = "nuó";
	dict[13403] = "sù";
	dict[13404] = "yì,chì";
	dict[13405] = "lòng";
	dict[13406] = "yìng";
	dict[13407] = "běng,bó,pěng";
	dict[13411] = "lán";
	dict[13412] = "miáo";
	dict[13413] = "yì";
	dict[13414] = "lì";
	dict[13415] = "jì";
	dict[13416] = "yǔ";
	dict[13417] = "luó";
	dict[13418] = "chái";
	dict[13422] = "hún,wén";
	dict[13423] = "xǔ";
	dict[13424] = "huì";
	dict[13425] = "rǎo";
	dict[13427] = "zhòu";
	dict[13429] = "hàn,jí,jié,zhǎ,zí";
	dict[13430] = "xì";
	dict[13431] = "tài";
	dict[13432] = "ǎi,yáo,yóu";
	dict[13433] = "huì";
	dict[13434] = "jùn";
	dict[13435] = "mà";
	dict[13437] = "táng";
	dict[13438] = "xiáo,yáo";
	dict[13439] = "zhào";
	dict[13440] = "zhǎ";
	dict[13441] = "yǔ,yùn";
	dict[13442] = "kù,zhuó";
	dict[13443] = "èr";
	dict[13444] = "nàng,nèn,rǎn";
	dict[13445] = "qǐ";
	dict[13446] = "chì,kè,xì,xiào,yàn";
	dict[13447] = "mù,wǔ";
	dict[13448] = "hàn";
	dict[13449] = "tǎng";
	dict[13450] = "sè";
	dict[13452] = "qióng";
	dict[13453] = "léi,lěi";
	dict[13454] = "sǎ,sà,tàn";
	dict[13456] = "xùn";
	dict[13457] = "huì,kuǐ";
	dict[13458] = "pú";
	dict[13459] = "tà";
	dict[13460] = "shǔ";
	dict[13462] = "ǒu";
	dict[13463] = "tái";
	dict[13465] = "mián";
	dict[13466] = "wěn";
	dict[13467] = "diào";
	dict[13468] = "yú,yǔ";
	dict[13469] = "miè,wà";
	dict[13470] = "jùn,kě";
	dict[13471] = "niǎo";
	dict[13472] = "xiè";
	dict[13473] = "yóu";
	dict[13476] = "shè,chè";
	dict[13478] = "lěi";
	dict[13479] = "lì";
	dict[13481] = "luǒ";
	dict[13483] = "jì";
	dict[13488] = "quán";
	dict[13489] = "mèng";
	dict[13490] = "cái";
	dict[13491] = "liǎng";
	dict[13492] = "gǔ";
	dict[13493] = "mào";
	dict[13495] = "guǎ,xìng,xǔ";
	dict[13496] = "suì,xuán";
	dict[13497] = "diān";
	dict[13499] = "mào";
	dict[13500] = "mán";
	dict[13502] = "shì";
	dict[13503] = "lí";
	dict[13505] = "wǎng";
	dict[13506] = "kòu";
	dict[13507] = "chuí,dù,zhà";
	dict[13508] = "zhèn";
	dict[13512] = "bèi,bìng,fèi,yè";
	dict[13513] = "huàn,huó,huò";
	dict[13514] = "dòng";
	dict[13515] = "gòng";
	dict[13518] = "qīn,qǐn,qìn";
	dict[13519] = "jiǒng";
	dict[13520] = "lù";
	dict[13521] = "xìng";
	dict[13523] = "nán";
	dict[13524] = "xiè";
	dict[13526] = "bì,bié";
	dict[13527] = "jié,qǐ";
	dict[13528] = "sù";
	dict[13532] = "yòu";
	dict[13533] = "xíng";
	dict[13534] = "qì,qià,yáo";
	dict[13535] = "pí";
	dict[13536] = "diàn";
	dict[13537] = "fǔ,fǒu";
	dict[13538] = "luò";
	dict[13539] = "qià";
	dict[13540] = "jié,qià";
	dict[13542] = "bāi";
	dict[13543] = "yǎn";
	dict[13544] = "cí,cì";
	dict[13546] = "lǎng";
	dict[13549] = "hé";
	dict[13551] = "lí";
	dict[13552] = "huà";
	dict[13553] = "tóu";
	dict[13554] = "piàn";
	dict[13556] = "jùn,ruǎn";
	dict[13557] = "è";
	dict[13558] = "qiè";
	dict[13559] = "yì";
	dict[13560] = "jué,zhuó";
	dict[13561] = "ruì";
	dict[13562] = "jiàn";
	dict[13564] = "chì,chòng";
	dict[13565] = "chóng";
	dict[13566] = "chí";
	dict[13568] = "lüè,qíng";
	dict[13570] = "lín";
	dict[13571] = "jué,pì";
	dict[13572] = "sù";
	dict[13573] = "xiào";
	dict[13574] = "zàn";
	dict[13575] = "pō";
	dict[13577] = "zhú";
	dict[13578] = "dǎn";
	dict[13579] = "jiàn,lán,làn";
	dict[13580] = "zhòu";
	dict[13581] = "duǒ,zhá";
	dict[13582] = "xiè,yì";
	dict[13583] = "lì";
	dict[13585] = "chì,dào,qì,shuì";
	dict[13586] = "xí";
	dict[13587] = "jiǎn,xiàn";
	dict[13589] = "jí,yì";
	dict[13590] = "jiā";
	dict[13591] = "fèi";
	dict[13592] = "chù";
	dict[13593] = "bǎng,péng";
	dict[13594] = "kǒu";
	dict[13595] = "jié";
	dict[13596] = "bá,bó";
	dict[13597] = "liǎng";
	dict[13598] = "kuài,kuàng,wàng";
	dict[13600] = "hé,jiá";
	dict[13602] = "jué";
	dict[13603] = "léi,lèi";
	dict[13604] = "shěn";
	dict[13605] = "pí";
	dict[13606] = "yǎng";
	dict[13607] = "xuè";
	dict[13608] = "bèi";
	dict[13609] = "è";
	dict[13610] = "lǔ";
	dict[13613] = "chè,chí,yí";
	dict[13614] = "nuó";
	dict[13615] = "suǎn,xuán";
	dict[13616] = "héng";
	dict[13617] = "yǔ";
	dict[13619] = "guǐ,gùn,huán,jué";
	dict[13620] = "yì";
	dict[13621] = "xiàn,xuǎn";
	dict[13622] = "gòng";
	dict[13623] = "lòu";
	dict[13625] = "lè";
	dict[13626] = "shì";
	dict[13627] = "pī";
	dict[13628] = "sǔn";
	dict[13629] = "yào,yǒu";
	dict[13630] = "jié";
	dict[13631] = "zòu";
	dict[13633] = "què";
	dict[13634] = "yín";
	dict[13636] = "zhì";
	dict[13637] = "jiǎ";
	dict[13638] = "hù";
	dict[13639] = "lá,lā";
	dict[13640] = "hòu,yǐ";
	dict[13641] = "kè";
	dict[13642] = "fū";
	dict[13643] = "jìng,qín";
	dict[13644] = "ài";
	dict[13646] = "è,kè,kǔn";
	dict[13647] = "chú";
	dict[13648] = "xiě";
	dict[13649] = "chú";
	dict[13650] = "wéi,wěi,wēi";
	dict[13653] = "huàn";
	dict[13654] = "sù";
	dict[13655] = "yòu";
	dict[13656] = "cān";
	dict[13657] = "jùn,ruì";
	dict[13658] = "zhǎo";
	dict[13659] = "xù,yǒu,yòu";
	dict[13660] = "shǐ";
	dict[13662] = "shuā";
	dict[13663] = "kuì";
	dict[13664] = "shuāng";
	dict[13665] = "hé,hè,huò";
	dict[13666] = "gài,hài,jù,lǔn,nǒu";
	dict[13667] = "yǎn,yàn";
	dict[13668] = "qiú";
	dict[13669] = "yǐ";
	dict[13670] = "huà";
	dict[13671] = "xī";
	dict[13672] = "fàn";
	dict[13673] = "zhàng";
	dict[13674] = "dǎn";
	dict[13675] = "fǎng";
	dict[13676] = "sòng";
	dict[13677] = "ào,bì";
	dict[13678] = "fǔ,tiào";
	dict[13679] = "nè";
	dict[13680] = "hè";
	dict[13681] = "yóu";
	dict[13682] = "huá,yíng";
	dict[13684] = "chén";
	dict[13685] = "guó,hún,luǒ";
	dict[13686] = "ň,ňg";
	dict[13687] = "huà";
	dict[13688] = "lì";
	dict[13689] = "fá";
	dict[13690] = "háo";
	dict[13691] = "tòu";
	dict[13693] = "sì";
	dict[13694] = "xiǎo";
	dict[13696] = "lè,luò";
	dict[13697] = "lìn";
	dict[13698] = "yì";
	dict[13699] = "hǒu,hòu";
	dict[13701] = "xù";
	dict[13702] = "qú,qǔ";
	dict[13703] = "ér";
	dict[13711] = "nèi";
	dict[13712] = "wěi";
	dict[13713] = "xiè";
	dict[13714] = "tí";
	dict[13715] = "hóng";
	dict[13716] = "tǔn";
	dict[13717] = "bò,niè";
	dict[13718] = "niè";
	dict[13719] = "yín";
	dict[13724] = "xiǎng";
	dict[13726] = "wāi";
	dict[13727] = "shòu";
	dict[13728] = "bà,nuò";
	dict[13729] = "yè";
	dict[13730] = "jí,qí";
	dict[13731] = "tòu";
	dict[13732] = "hán";
	dict[13733] = "jiǒng";
	dict[13734] = "dǒng";
	dict[13735] = "wěn";
	dict[13736] = "lù";
	dict[13737] = "sǒu";
	dict[13738] = "guó";
	dict[13739] = "líng";
	dict[13741] = "tiǎn";
	dict[13742] = "lún";
	dict[13750] = "yè";
	dict[13751] = "shí,tí";
	dict[13752] = "xué";
	dict[13753] = "fèn";
	dict[13754] = "chǔn";
	dict[13755] = "róu";
	dict[13756] = "duǒ,lín,móu";
	dict[13757] = "zé,zéi";
	dict[13758] = "è";
	dict[13759] = "xié";
	dict[13761] = "è";
	dict[13762] = "shěng";
	dict[13763] = "wěn,yìn";
	dict[13764] = "mán,màn";
	dict[13765] = "hú";
	dict[13766] = "gé,kài";
	dict[13767] = "xiá,ya";
	dict[13768] = "màn";
	dict[13769] = "bì,è,lüè";
	dict[13770] = "jí,qì,bī,léi";
	dict[13771] = "hóu";
	dict[13772] = "zhì";
	dict[13777] = "bài";
	dict[13778] = "ài";
	dict[13781] = "gòu";
	dict[13782] = "dàn";
	dict[13783] = "bǎi";
	dict[13784] = "bó,fù";
	dict[13785] = "nà,chú,zhōu";
	dict[13786] = "lì";
	dict[13787] = "xiào";
	dict[13788] = "xiù";
	dict[13794] = "dòng,hóng";
	dict[13795] = "tì";
	dict[13796] = "cù";
	dict[13797] = "kuò";
	dict[13798] = "láo";
	dict[13799] = "zhì";
	dict[13800] = "ǎi";
	dict[13801] = "xī";
	dict[13803] = "qiè";
	dict[13804] = "zhā";
	dict[13808] = "chù,cóng";
	dict[13809] = "jí";
	dict[13810] = "huò,xì";
	dict[13811] = "tǎ";
	dict[13812] = "yán";
	dict[13813] = "xù";
	dict[13815] = "sǎi";
	dict[13819] = "guō";
	dict[13820] = "yè";
	dict[13821] = "xiǎng";
	dict[13822] = "xué";
	dict[13823] = "hé,xià,xiā";
	dict[13824] = "zuò";
	dict[13825] = "yì";
	dict[13826] = "cí";
	dict[13827] = "ruò";
	dict[13828] = "lēng";
	dict[13829] = "xián";
	dict[13830] = "tái";
	dict[13831] = "róng";
	dict[13832] = "yī,yì";
	dict[13833] = "zhì";
	dict[13834] = "yì";
	dict[13835] = "xián";
	dict[13836] = "jù";
	dict[13837] = "jí,qì";
	dict[13838] = "hǎn,hàn";
	dict[13840] = "pào,pěng";
	dict[13841] = "lì";
	dict[13843] = "lán";
	dict[13844] = "cǎn,sǎi";
	dict[13845] = "hǎn,lán";
	dict[13846] = "yán";
	dict[13849] = "yán,yǎn";
	dict[13850] = "hǎn";
	dict[13852] = "chǐ,chóu,chù";
	dict[13853] = "niǎn,niè,nà,lǎn";
	dict[13854] = "huò";
	dict[13856] = "bì,mì";
	dict[13857] = "xiá";
	dict[13858] = "wěng";
	dict[13859] = "xuán,yuán";
	dict[13861] = "yóu";
	dict[13862] = "qín";
	dict[13863] = "xù";
	dict[13864] = "nèi";
	dict[13865] = "bì";
	dict[13866] = "hào";
	dict[13867] = "jǐng";
	dict[13868] = "ào";
	dict[13869] = "ào";
	dict[13874] = "jú";
	dict[13876] = "zuò";
	dict[13877] = "bù";
	dict[13878] = "jié";
	dict[13879] = "ài";
	dict[13880] = "zàng";
	dict[13881] = "cí";
	dict[13882] = "fá";
	dict[13887] = "niè";
	dict[13888] = "liù";
	dict[13889] = "mǎng,méi,mèi,mù,nà";
	dict[13890] = "duì";
	dict[13892] = "bì";
	dict[13893] = "bǎo";
	dict[13895] = "chù";
	dict[13896] = "hán,xià";
	dict[13897] = "tiǎn";
	dict[13898] = "cháng,zhàng";
	dict[13901] = "duō";
	dict[13903] = "fù";
	dict[13904] = "duǒ";
	dict[13905] = "yǔ";
	dict[13906] = "yě";
	dict[13907] = "kuí";
	dict[13908] = "hán";
	dict[13909] = "kuài";
	dict[13911] = "kuài";
	dict[13913] = "lǒng";
	dict[13914] = "xīng";
	dict[13915] = "bǔ";
	dict[13916] = "chí,tái";
	dict[13917] = "xié";
	dict[13918] = "niè";
	dict[13919] = "lǎng";
	dict[13920] = "yì,yī";
	dict[13922] = "mán,mén";
	dict[13923] = "zhàng";
	dict[13924] = "xià";
	dict[13925] = "gǔn";
	dict[13926] = "xié";
	dict[13928] = "jì,qí";
	dict[13929] = "liáo";
	dict[13930] = "yè,yì";
	dict[13931] = "jí";
	dict[13932] = "yín";
	dict[13934] = "dā,da";
	dict[13935] = "yì";
	dict[13936] = "xiè";
	dict[13937] = "hào";
	dict[13938] = "yǒng";
	dict[13939] = "hǎn,hé,kǎn";
	dict[13940] = "chàn,zhàn";
	dict[13941] = "tái";
	dict[13942] = "táng";
	dict[13943] = "zhí";
	dict[13944] = "bào,bó,pú";
	dict[13945] = "méng";
	dict[13946] = "guì,kuí";
	dict[13947] = "chán,qiè,zàn";
	dict[13948] = "lěi";
	dict[13950] = "xì,xué";
	dict[13953] = "qiáo,qiào,qù";
	dict[13954] = "ráng";
	dict[13955] = "yún,yùn,yūn";
	dict[13957] = "lóng";
	dict[13958] = "fù";
	dict[13959] = "zōng";
	dict[13961] = "gǔ";
	dict[13962] = "kāi";
	dict[13964] = "huà,huǒ";
	dict[13965] = "guó,kuǐ,kuì";
	dict[13967] = "gǎo";
	dict[13968] = "tào";
	dict[13970] = "shǎn";
	dict[13971] = "lái,lǎi";
	dict[13972] = "niè";
	dict[13973] = "fú,bì";
	dict[13974] = "gǎo";
	dict[13975] = "qié,xié";
	dict[13976] = "bàn";
	dict[13979] = "xì";
	dict[13980] = "xù,yù";
	dict[13981] = "kuí";
	dict[13982] = "měng,shěn,yìng,yùn";
	dict[13983] = "chuò";
	dict[13985] = "jǐ";
	dict[13986] = "nú";
	dict[13987] = "jiāo,xiáo";
	dict[13988] = "yì";
	dict[13989] = "yú";
	dict[13990] = "yí";
	dict[13991] = "yǎn";
	dict[13993] = "rǎn";
	dict[13994] = "hào";
	dict[13995] = "shà,zhà";
	dict[13997] = "yóu";
	dict[13999] = "xín,xún";
	dict[14e3] = "bǐ";
	dict[14002] = "diǎn,shàn,chān";
	dict[14004] = "bù";
	dict[14006] = "sì";
	dict[14007] = "ěr,nǎi";
	dict[14008] = "sī";
	dict[14009] = "mǎo";
	dict[14010] = "yùn";
	dict[14011] = "jī";
	dict[14013] = "qiǎo";
	dict[14015] = "páo";
	dict[14018] = "nuǒ";
	dict[14019] = "jié";
	dict[14020] = "yī";
	dict[14021] = "èr";
	dict[14022] = "duǒ,duò";
	dict[14026] = "duǒ";
	dict[14029] = "qiè";
	dict[14031] = "òu,qiú";
	dict[14032] = "sǎo";
	dict[14033] = "càn";
	dict[14034] = "dòu";
	dict[14036] = "péng";
	dict[14037] = "yì";
	dict[14038] = "suō";
	dict[14039] = "zuò,qiē";
	dict[14040] = "pò";
	dict[14041] = "qiè,qín,shěn,shèn";
	dict[14042] = "tǒng";
	dict[14043] = "xìn,zhèn";
	dict[14044] = "yóu";
	dict[14045] = "bèi,bèng";
	dict[14046] = "lòng";
	dict[14051] = "yún";
	dict[14053] = "tà";
	dict[14054] = "lǎn";
	dict[14055] = "mǎn";
	dict[14056] = "qiǎng";
	dict[14057] = "zhóu";
	dict[14058] = "yàn,yuán";
	dict[14060] = "lù";
	dict[14062] = "sǎo";
	dict[14063] = "miǎn";
	dict[14065] = "ruì,wěi";
	dict[14066] = "fà";
	dict[14067] = "chà,yì";
	dict[14068] = "nǎo";
	dict[14070] = "chóu,tán,tàn";
	dict[14072] = "shù";
	dict[14073] = "pián";
	dict[14075] = "kuǐ";
	dict[14076] = "shà,chā";
	dict[14078] = "xián";
	dict[14079] = "zhì";
	dict[14083] = "liàn,liáo,máng";
	dict[14084] = "xún";
	dict[14085] = "xù";
	dict[14086] = "mì";
	dict[14087] = "huì,yè";
	dict[14088] = "mù";
	dict[14090] = "pàng,zhǎn";
	dict[14091] = "yì";
	dict[14092] = "gòu";
	dict[14093] = "táng";
	dict[14094] = "xī,xì";
	dict[14095] = "yún";
	dict[14096] = "shù";
	dict[14097] = "fú,pó";
	dict[14098] = "yì";
	dict[14099] = "dá";
	dict[14101] = "lián";
	dict[14102] = "cáo";
	dict[14103] = "cǎn,chú,xuàn";
	dict[14104] = "jù";
	dict[14105] = "lù";
	dict[14106] = "sù";
	dict[14107] = "nèn,ruǎn";
	dict[14108] = "ào";
	dict[14109] = "ǎn,àn";
	dict[14110] = "qiàn";
	dict[14115] = "rán,niàn";
	dict[14116] = "shěn,niǎn";
	dict[14117] = "mái,mó";
	dict[14118] = "hàn,niè,sì,xié,xín";
	dict[14119] = "yuè";
	dict[14120] = "ér,nái";
	dict[14121] = "ào";
	dict[14122] = "xiǎn";
	dict[14123] = "mà,méi,měi";
	dict[14125] = "dāng";
	dict[14126] = "làn";
	dict[14128] = "yuè";
	dict[14129] = "dòng,zhì";
	dict[14130] = "wěng,yíng";
	dict[14131] = "huái";
	dict[14132] = "mèng";
	dict[14133] = "niǎo";
	dict[14134] = "fàn";
	dict[14135] = "mí,nǎi,xiǎn";
	dict[14136] = "niè";
	dict[14137] = "qú";
	dict[14138] = "zàn";
	dict[14139] = "liàn";
	dict[14140] = "zhí,zhì";
	dict[14141] = "zǐ";
	dict[14142] = "hái";
	dict[14143] = "xù";
	dict[14144] = "hào";
	dict[14145] = "xún";
	dict[14146] = "zhì";
	dict[14147] = "fàn,miǎn,wǎn";
	dict[14148] = "chún,qì,rùn";
	dict[14149] = "gòu";
	dict[14151] = "chún";
	dict[14152] = "luán";
	dict[14153] = "zhù";
	dict[14154] = "shǒu";
	dict[14155] = "liáo,liǎo,liú";
	dict[14156] = "jié,jiù,zhòu";
	dict[14157] = "xiě";
	dict[14158] = "dìng";
	dict[14159] = "jiè";
	dict[14160] = "róng";
	dict[14161] = "máng,páng";
	dict[14163] = "gé,kè";
	dict[14164] = "yào";
	dict[14165] = "níng";
	dict[14166] = "yí,yín";
	dict[14167] = "láng";
	dict[14168] = "yóng";
	dict[14169] = "yín";
	dict[14171] = "sù";
	dict[14173] = "lín";
	dict[14174] = "yā";
	dict[14175] = "máo,mào,kuān";
	dict[14176] = "míng";
	dict[14177] = "zuì";
	dict[14178] = "yǔ";
	dict[14179] = "yè,yì";
	dict[14180] = "gòu";
	dict[14181] = "mǐ";
	dict[14182] = "jùn,yá";
	dict[14183] = "wěn";
	dict[14185] = "kāng";
	dict[14186] = "diàn,dǐng";
	dict[14187] = "lóng";
	dict[14188] = "hú";
	dict[14189] = "xǐng";
	dict[14190] = "cuì";
	dict[14191] = "qiáo";
	dict[14192] = "mián";
	dict[14193] = "mèng";
	dict[14194] = "qǐn";
	dict[14196] = "wán";
	dict[14197] = "dé";
	dict[14198] = "ài,dé";
	dict[14200] = "biàn";
	dict[14201] = "nóu";
	dict[14202] = "lián,lín";
	dict[14203] = "jǐn";
	dict[14204] = "yū";
	dict[14205] = "chuí,shuǐ,zhuǐ";
	dict[14206] = "zuǒ";
	dict[14207] = "bó,bǒ,fù,qiàn";
	dict[14209] = "yào";
	dict[14210] = "tuǐ";
	dict[14211] = "jí";
	dict[14213] = "guǒ";
	dict[14214] = "jǐ";
	dict[14215] = "wěi";
	dict[14218] = "xù";
	dict[14219] = "niǎn";
	dict[14220] = "yùn";
	dict[14222] = "bǎ,fú,pá";
	dict[14223] = "zhé";
	dict[14224] = "jū";
	dict[14225] = "wěi";
	dict[14226] = "xì,xiè";
	dict[14227] = "qǐ,qì";
	dict[14228] = "yí";
	dict[14229] = "xiè";
	dict[14230] = "cì";
	dict[14231] = "qiú";
	dict[14232] = "tún";
	dict[14233] = "niào";
	dict[14234] = "qì,zhǎ";
	dict[14235] = "jǐ";
	dict[14238] = "sóng";
	dict[14239] = "diàn";
	dict[14240] = "láo,liáo";
	dict[14241] = "zhǎn";
	dict[14244] = "yín";
	dict[14245] = "cén";
	dict[14246] = "jǐ";
	dict[14247] = "huì";
	dict[14248] = "zǎi,zǐ";
	dict[14249] = "lán";
	dict[14250] = "náo";
	dict[14251] = "jù,zǒu";
	dict[14252] = "qìn";
	dict[14253] = "dài";
	dict[14255] = "jié";
	dict[14256] = "xǔ";
	dict[14258] = "yòng";
	dict[14259] = "dǒu";
	dict[14260] = "chí";
	dict[14262] = "mǐn";
	dict[14263] = "huáng";
	dict[14264] = "suì";
	dict[14265] = "kě";
	dict[14266] = "zú";
	dict[14267] = "hào";
	dict[14268] = "chéng,shèng,zhé";
	dict[14269] = "xuè";
	dict[14270] = "ní,yì";
	dict[14271] = "chì,qí";
	dict[14272] = "lián";
	dict[14273] = "àn";
	dict[14274] = "chǐ,mǔ";
	dict[14275] = "sī";
	dict[14276] = "xiáng";
	dict[14277] = "yáng";
	dict[14278] = "huá";
	dict[14279] = "cuó,cuǒ";
	dict[14280] = "qiú";
	dict[14281] = "láo";
	dict[14282] = "fú";
	dict[14283] = "duì";
	dict[14284] = "máng";
	dict[14285] = "láng";
	dict[14286] = "tuǒ";
	dict[14287] = "hán";
	dict[14288] = "mǎng";
	dict[14289] = "bó";
	dict[14291] = "qí";
	dict[14292] = "hán";
	dict[14294] = "lòng";
	dict[14296] = "tiáo";
	dict[14297] = "lǎo,zé,zhái";
	dict[14298] = "qí";
	dict[14299] = "zàn";
	dict[14300] = "mí";
	dict[14301] = "péi,pǒu";
	dict[14302] = "zhàn";
	dict[14303] = "xiàng";
	dict[14304] = "gǎng";
	dict[14306] = "qí";
	dict[14308] = "lù";
	dict[14310] = "yùn";
	dict[14311] = "è,niè,xùn";
	dict[14312] = "quán";
	dict[14313] = "mín,mǐn,wěn";
	dict[14314] = "wěi";
	dict[14315] = "quán";
	dict[14316] = "shǔ,sǒu";
	dict[14317] = "mín";
	dict[14318] = "tū";
	dict[14319] = "è";
	dict[14320] = "mǐng";
	dict[14321] = "yǎo";
	dict[14322] = "jué,yuán";
	dict[14323] = "lì";
	dict[14324] = "kuài,kuǐ,wěi";
	dict[14325] = "gǎng";
	dict[14326] = "yuán";
	dict[14327] = "da";
	dict[14329] = "láo";
	dict[14330] = "lóu";
	dict[14331] = "qiàn";
	dict[14332] = "áo";
	dict[14333] = "biǎo";
	dict[14335] = "máng,mǎng";
	dict[14336] = "dǎo";
	dict[14338] = "áo";
	dict[14340] = "xí";
	dict[14341] = "fú,fù";
	dict[14343] = "jiù";
	dict[14344] = "rùn";
	dict[14345] = "tóng";
	dict[14347] = "è";
	dict[14349] = "jí,jié,qì";
	dict[14350] = "qì";
	dict[14351] = "huá";
	dict[14352] = "jiào";
	dict[14353] = "zuì";
	dict[14354] = "biǎo";
	dict[14355] = "méng";
	dict[14356] = "bài";
	dict[14357] = "wěi";
	dict[14358] = "jì,yǐ";
	dict[14359] = "ào,wò";
	dict[14360] = "yǔ";
	dict[14361] = "háo";
	dict[14362] = "duì,zhuó";
	dict[14363] = "wò";
	dict[14364] = "nì";
	dict[14365] = "cuán";
	dict[14367] = "lí";
	dict[14368] = "lú";
	dict[14369] = "niǎo";
	dict[14370] = "huái";
	dict[14371] = "lài,lì";
	dict[14373] = "lǜ";
	dict[14375] = "mí,mǐ";
	dict[14376] = "yù";
	dict[14378] = "jù";
	dict[14379] = "gū";
	dict[14380] = "gū";
	dict[14381] = "zhǎn,zhàn";
	dict[14383] = "yǐ";
	dict[14385] = "jì,qǐ";
	dict[14386] = "bǐ";
	dict[14388] = "rèn";
	dict[14389] = "huāng";
	dict[14390] = "fán";
	dict[14391] = "gé";
	dict[14392] = "kù";
	dict[14393] = "jiè";
	dict[14394] = "miáo";
	dict[14397] = "tóng";
	dict[14399] = "cǐ";
	dict[14400] = "bì";
	dict[14401] = "kǎi,kuà";
	dict[14402] = "lì";
	dict[14404] = "sǔn,xún";
	dict[14405] = "nuǒ";
	dict[14406] = "huāng";
	dict[14407] = "jí,zhé";
	dict[14408] = "mén,wèn";
	dict[14409] = "xián,yán";
	dict[14410] = "qià,qiǎn";
	dict[14411] = "è,yé";
	dict[14412] = "mào,mèi";
	dict[14415] = "tóu,shū";
	dict[14417] = "qiǎo";
	dict[14418] = "zhūn";
	dict[14420] = "wù,mù";
	dict[14422] = "chuáng";
	dict[14423] = "tí";
	dict[14424] = "lián";
	dict[14425] = "bī,pí";
	dict[14427] = "máng";
	dict[14428] = "xuě";
	dict[14429] = "fèng,fú";
	dict[14430] = "lěi,lóu";
	dict[14432] = "zhèng";
	dict[14433] = "chú";
	dict[14434] = "màn";
	dict[14435] = "lóng";
	dict[14437] = "yǐn";
	dict[14439] = "zhèng";
	dict[14440] = "qiān,jiān";
	dict[14441] = "luán";
	dict[14442] = "nié";
	dict[14443] = "yì";
	dict[14445] = "jì";
	dict[14446] = "jí";
	dict[14447] = "zhái,dù";
	dict[14448] = "yǔ";
	dict[14449] = "jiǔ";
	dict[14450] = "huán";
	dict[14451] = "dǐ,zhé,zhǐ";
	dict[14453] = "líng";
	dict[14454] = "zhǐ";
	dict[14455] = "běn";
	dict[14456] = "zhǎ,zhà";
	dict[14457] = "cì,jū";
	dict[14458] = "dàn";
	dict[14459] = "liào";
	dict[14460] = "yì";
	dict[14461] = "zhào";
	dict[14462] = "xiàn";
	dict[14463] = "chì";
	dict[14464] = "cì,zì";
	dict[14465] = "chǐ";
	dict[14466] = "yǎn";
	dict[14467] = "láng";
	dict[14468] = "dòu";
	dict[14469] = "lòng";
	dict[14470] = "chán";
	dict[14472] = "tuí";
	dict[14473] = "chá";
	dict[14474] = "ǎi";
	dict[14475] = "chǐ";
	dict[14477] = "yíng,yǐng";
	dict[14478] = "chà,zé,zhái,zhé";
	dict[14479] = "tóu";
	dict[14481] = "tuí";
	dict[14482] = "chá";
	dict[14483] = "yǎo,zhàng";
	dict[14484] = "zǒng";
	dict[14487] = "qiào";
	dict[14488] = "lián";
	dict[14489] = "qín";
	dict[14490] = "lǔ";
	dict[14491] = "yàn";
	dict[14494] = "yì";
	dict[14495] = "chǎn,chān";
	dict[14496] = "jiǒng,jùn";
	dict[14497] = "jiǎng";
	dict[14499] = "jìng,qíng";
	dict[14501] = "dòng";
	dict[14502] = "gē";
	dict[14503] = "juàn";
	dict[14504] = "hàn";
	dict[14505] = "dì";
	dict[14508] = "hóng";
	dict[14510] = "chí";
	dict[14511] = "mín";
	dict[14512] = "bì,huán";
	dict[14514] = "xùn";
	dict[14515] = "lú";
	dict[14517] = "shè,xié";
	dict[14518] = "bì";
	dict[14520] = "bì";
	dict[14522] = "xián";
	dict[14523] = "wěi";
	dict[14524] = "biè";
	dict[14525] = "ěr";
	dict[14526] = "juàn";
	dict[14528] = "zhèn";
	dict[14529] = "bèi";
	dict[14530] = "yì";
	dict[14531] = "yǔ,yù";
	dict[14532] = "qú";
	dict[14533] = "zàn";
	dict[14534] = "mí,mí,pèi";
	dict[14535] = "nǐ,yì";
	dict[14536] = "sì";
	dict[14540] = "shàn";
	dict[14541] = "tái";
	dict[14542] = "mù";
	dict[14543] = "jìng";
	dict[14544] = "biàn";
	dict[14545] = "róng";
	dict[14546] = "cèng";
	dict[14547] = "càn";
	dict[14553] = "dí";
	dict[14554] = "tóng,tǒng";
	dict[14555] = "tà";
	dict[14556] = "xíng";
	dict[14557] = "sōng";
	dict[14558] = "duó,duò";
	dict[14559] = "xì";
	dict[14560] = "tóng";
	dict[14562] = "tí";
	dict[14563] = "shǎn,shàn";
	dict[14564] = "jiàn";
	dict[14565] = "zhì";
	dict[14567] = "yìn,yǒng";
	dict[14570] = "huǎn,kuò";
	dict[14571] = "zhǒng";
	dict[14572] = "qì";
	dict[14575] = "xiè";
	dict[14576] = "xiè";
	dict[14577] = "zé,zuò";
	dict[14578] = "wéi";
	dict[14581] = "tà";
	dict[14582] = "zhān";
	dict[14583] = "nìng";
	dict[14587] = "yì";
	dict[14588] = "rěn";
	dict[14589] = "shù";
	dict[14590] = "chà";
	dict[14591] = "zhuó";
	dict[14593] = "miǎn,tiǎn";
	dict[14594] = "jí";
	dict[14595] = "fáng";
	dict[14596] = "pèi";
	dict[14597] = "ài";
	dict[14598] = "fàn";
	dict[14599] = "ǎo,fó,wù";
	dict[14600] = "qìn";
	dict[14601] = "qiā,yá";
	dict[14602] = "xiào,yáo";
	dict[14605] = "qiǎo";
	dict[14607] = "tóng";
	dict[14609] = "yōu";
	dict[14611] = "bèn";
	dict[14612] = "fú,fù";
	dict[14613] = "chù";
	dict[14614] = "zhù";
	dict[14616] = "chù,cù,zhòu";
	dict[14618] = "háng";
	dict[14619] = "nín,rèn";
	dict[14620] = "jué,yù";
	dict[14622] = "chà";
	dict[14623] = "kǒng,tòu";
	dict[14624] = "liè";
	dict[14625] = "lì";
	dict[14626] = "xù,yù";
	dict[14628] = "yú,yǔ";
	dict[14629] = "hài";
	dict[14630] = "lì";
	dict[14631] = "hóu,hòu";
	dict[14632] = "gǒng,qióng";
	dict[14633] = "kè";
	dict[14634] = "yuàn";
	dict[14635] = "dé";
	dict[14636] = "huì,kuì";
	dict[14638] = "kuáng,guàng";
	dict[14639] = "jiǒng,jùn";
	dict[14640] = "zǎn,zuò";
	dict[14641] = "fù";
	dict[14642] = "qiè,qù";
	dict[14643] = "běi";
	dict[14644] = "xí";
	dict[14645] = "cí";
	dict[14646] = "páng";
	dict[14648] = "xì";
	dict[14649] = "qiú";
	dict[14650] = "huǎng";
	dict[14651] = "lǔn";
	dict[14653] = "chóu";
	dict[14654] = "sàn";
	dict[14656] = "dé";
	dict[14657] = "dé,zhí,zhòu";
	dict[14658] = "tè";
	dict[14659] = "mèn";
	dict[14660] = "líng";
	dict[14661] = "shòu";
	dict[14662] = "diàn,tuì";
	dict[14663] = "cán,càn";
	dict[14664] = "dié";
	dict[14665] = "chè,chì";
	dict[14666] = "péng";
	dict[14667] = "yī";
	dict[14668] = "jú";
	dict[14669] = "jì";
	dict[14670] = "lái,lí";
	dict[14671] = "tiǎn";
	dict[14672] = "yuàn";
	dict[14674] = "cǎi";
	dict[14675] = "qǐ";
	dict[14676] = "yú,yù";
	dict[14677] = "lián";
	dict[14682] = "yú";
	dict[14683] = "jí,kè,sù";
	dict[14684] = "wèi";
	dict[14685] = "mǐ,miǎn";
	dict[14686] = "cuì,qiàn,suì";
	dict[14687] = "xié";
	dict[14688] = "xǔ";
	dict[14689] = "xì";
	dict[14690] = "qiú";
	dict[14691] = "huì";
	dict[14693] = "yú";
	dict[14694] = "qiè,xiá,xiǎn";
	dict[14695] = "shùn";
	dict[14696] = "chuí,shuì,wěi";
	dict[14697] = "duǒ";
	dict[14698] = "lóu";
	dict[14699] = "dūn";
	dict[14700] = "páng";
	dict[14701] = "tài";
	dict[14702] = "zhòu";
	dict[14703] = "yǐn";
	dict[14705] = "fěi";
	dict[14706] = "shèn,yín";
	dict[14707] = "yuán";
	dict[14708] = "yí,yǐ";
	dict[14709] = "hùn";
	dict[14710] = "sè";
	dict[14711] = "yè,yì";
	dict[14712] = "mǐn";
	dict[14713] = "fěn";
	dict[14714] = "hé,hè";
	dict[14716] = "yǐn";
	dict[14717] = "cè,zé";
	dict[14718] = "nì";
	dict[14719] = "ào";
	dict[14720] = "féng";
	dict[14721] = "lián";
	dict[14722] = "cháng,tàng";
	dict[14723] = "chǎn";
	dict[14724] = "má,mì";
	dict[14725] = "diē,dì";
	dict[14727] = "lù";
	dict[14729] = "yì";
	dict[14730] = "huá";
	dict[14732] = "tuì,xù,hū";
	dict[14733] = "è";
	dict[14734] = "huà";
	dict[14735] = "sǔn,xuàn";
	dict[14736] = "nì";
	dict[14737] = "liǎn,xiàn";
	dict[14738] = "lí";
	dict[14739] = "xiàn";
	dict[14740] = "yàn";
	dict[14741] = "lóng";
	dict[14742] = "mèn";
	dict[14743] = "jiàn,jìn";
	dict[14746] = "biǎn";
	dict[14747] = "yú,yǔ";
	dict[14748] = "huò,xuè";
	dict[14749] = "miǎo";
	dict[14750] = "chóu";
	dict[14751] = "hài,mái";
	dict[14753] = "lè";
	dict[14754] = "jié,qì";
	dict[14755] = "wèi";
	dict[14756] = "yì";
	dict[14757] = "huán,xiǎn";
	dict[14758] = "hè";
	dict[14759] = "cǎn";
	dict[14760] = "lán,làn";
	dict[14761] = "yǐn";
	dict[14762] = "xiè";
	dict[14764] = "luǒ";
	dict[14765] = "líng";
	dict[14766] = "qián";
	dict[14767] = "huò";
	dict[14768] = "jiān";
	dict[14769] = "wǒ";
	dict[14770] = "zāi";
	dict[14772] = "gé,qià";
	dict[14774] = "dié";
	dict[14775] = "yǒng";
	dict[14776] = "jǐ";
	dict[14777] = "àng,yáng,yǐng";
	dict[14778] = "rǔ,rù";
	dict[14779] = "xí,zhé";
	dict[14780] = "shuàng";
	dict[14781] = "xù,yù";
	dict[14782] = "yí";
	dict[14783] = "hù";
	dict[14784] = "jí";
	dict[14785] = "qù";
	dict[14786] = "tián";
	dict[14788] = "qiǎn,qiú";
	dict[14789] = "mù,dāo";
	dict[14791] = "mǎo";
	dict[14792] = "yǐn,yìn";
	dict[14793] = "gài,kuì";
	dict[14794] = "bá,pō";
	dict[14795] = "xiǎn,xuǎn";
	dict[14796] = "mào";
	dict[14797] = "fǎng";
	dict[14798] = "yá,yà,qiā";
	dict[14799] = "gāng";
	dict[14800] = "sǒng";
	dict[14801] = "wéi,wěi";
	dict[14802] = "xué,yù,yuè";
	dict[14804] = "guài";
	dict[14805] = "jiù,liǔ,yú";
	dict[14806] = "è";
	dict[14807] = "zǐ,jǐ,zhǐ";
	dict[14808] = "cuì,nǎo,zì";
	dict[14809] = "bì";
	dict[14810] = "wǎ";
	dict[14812] = "liè";
	dict[14815] = "kuǎi";
	dict[14817] = "hài";
	dict[14818] = "yīn";
	dict[14819] = "zhù";
	dict[14820] = "chòng";
	dict[14821] = "xiǎn";
	dict[14822] = "xuàn";
	dict[14824] = "qiú";
	dict[14825] = "pèi";
	dict[14826] = "guǐ";
	dict[14827] = "ér";
	dict[14828] = "gǒng";
	dict[14829] = "qióng";
	dict[14831] = "lǎo";
	dict[14832] = "lì";
	dict[14833] = "chèn,ná,nì,nì,tiàn";
	dict[14834] = "sǎn";
	dict[14835] = "bǎi,bó,zhuò";
	dict[14836] = "wǒ";
	dict[14837] = "póu,pǒu";
	dict[14839] = "duò,tùn";
	dict[14841] = "tè";
	dict[14842] = "tà";
	dict[14843] = "zhǐ,zhuó,zú";
	dict[14844] = "biào";
	dict[14845] = "gù,hú";
	dict[14848] = "bǐng";
	dict[14849] = "zhí,zhì";
	dict[14850] = "dǒng";
	dict[14851] = "chéng,duǐ";
	dict[14852] = "zhào";
	dict[14853] = "nèi,ruì";
	dict[14854] = "lǐn";
	dict[14855] = "pó";
	dict[14856] = "jǐ";
	dict[14857] = "mǐn";
	dict[14858] = "wěi";
	dict[14859] = "chě,lè,zhèn";
	dict[14860] = "gòu,rú,rǔ";
	dict[14862] = "rú,ruán";
	dict[14864] = "bǔ,péi";
	dict[14866] = "kuí,wěi,xié";
	dict[14867] = "láo,liáo";
	dict[14868] = "hàn";
	dict[14869] = "yíng";
	dict[14870] = "zhì";
	dict[14871] = "jié";
	dict[14872] = "xǐng";
	dict[14873] = "xié";
	dict[14874] = "xún";
	dict[14875] = "shǎn";
	dict[14876] = "qián";
	dict[14877] = "xiè";
	dict[14878] = "sù";
	dict[14879] = "hái";
	dict[14880] = "mì";
	dict[14881] = "hún";
	dict[14884] = "huì,kuǎi,wài";
	dict[14885] = "nà";
	dict[14886] = "sǒng";
	dict[14887] = "bèn";
	dict[14888] = "liù";
	dict[14889] = "jié";
	dict[14890] = "huàng";
	dict[14891] = "lǎn";
	dict[14893] = "hù";
	dict[14894] = "dōu";
	dict[14895] = "huò,kuò";
	dict[14896] = "gé,gǔn,hùn,huò,jié";
	dict[14897] = "yáo";
	dict[14898] = "cè";
	dict[14899] = "guǐ";
	dict[14900] = "jiàn";
	dict[14901] = "jiǎn";
	dict[14902] = "chóu,dǎo,zhǒu,zhòu";
	dict[14903] = "jìn";
	dict[14904] = "mà";
	dict[14905] = "huì";
	dict[14906] = "mén,mì,miǎn";
	dict[14907] = "cán,shǎn,zàn";
	dict[14908] = "lüè";
	dict[14909] = "pǐ,pì,qiǎo";
	dict[14910] = "yàng";
	dict[14911] = "jù";
	dict[14912] = "jù";
	dict[14913] = "què";
	dict[14915] = "qiān";
	dict[14916] = "shāi";
	dict[14917] = "chōu";
	dict[14918] = "jiù";
	dict[14919] = "huà,huò";
	dict[14920] = "xiàn,yǔn";
	dict[14921] = "xié";
	dict[14923] = "sù,xiāo";
	dict[14924] = "fèi";
	dict[14925] = "cè";
	dict[14926] = "yè";
	dict[14928] = "dèn";
	dict[14930] = "qín";
	dict[14931] = "huǐ";
	dict[14932] = "tún";
	dict[14934] = "qiáng,tiáo";
	dict[14935] = "xí,xié";
	dict[14936] = "yǐ";
	dict[14938] = "méng";
	dict[14939] = "tuán";
	dict[14940] = "lǎn";
	dict[14941] = "háo";
	dict[14942] = "cì";
	dict[14943] = "zhài";
	dict[14944] = "piǎo";
	dict[14945] = "luǒ";
	dict[14946] = "mí,miè";
	dict[14950] = "xié";
	dict[14951] = "bó";
	dict[14952] = "huì";
	dict[14953] = "qǐ,qǐng";
	dict[14954] = "xié,xìn,yé";
	dict[14957] = "bó,jiǎo,xiào";
	dict[14958] = "qián,xián";
	dict[14959] = "bǎn,pán,pó";
	dict[14960] = "jiǎo,qiáo,xiǔ";
	dict[14961] = "jué";
	dict[14962] = "kǔn,quán";
	dict[14963] = "sǒng";
	dict[14964] = "jú";
	dict[14965] = "è";
	dict[14966] = "niè,nǐng";
	dict[14968] = "dié";
	dict[14969] = "dié,zhá";
	dict[14971] = "guǐ,qī";
	dict[14972] = "zhī";
	dict[14973] = "qí";
	dict[14974] = "chuí";
	dict[14976] = "yú";
	dict[14977] = "qín";
	dict[14979] = "hé";
	dict[14980] = "fú";
	dict[14982] = "dǐ";
	dict[14983] = "xiàn";
	dict[14984] = "guì";
	dict[14985] = "hé";
	dict[14986] = "qún";
	dict[14987] = "hàn";
	dict[14988] = "tǒng,yú,yǔ";
	dict[14989] = "bó";
	dict[14990] = "shǎn";
	dict[14991] = "bǐ";
	dict[14992] = "lù";
	dict[14993] = "yè";
	dict[14994] = "ní";
	dict[14995] = "chuái";
	dict[14996] = "sàn,tán";
	dict[14997] = "diào";
	dict[14998] = "lù";
	dict[14999] = "tǒu";
	dict[15e3] = "liǎn";
	dict[15001] = "kě,kè,kuò";
	dict[15002] = "sàn";
	dict[15003] = "zhěn";
	dict[15004] = "chuǎi";
	dict[15005] = "liàn";
	dict[15006] = "mào";
	dict[15008] = "qiàn";
	dict[15009] = "kě";
	dict[15010] = "shǎo";
	dict[15011] = "qiào";
	dict[15012] = "bì";
	dict[15013] = "zhā";
	dict[15014] = "yìn";
	dict[15016] = "shàn";
	dict[15017] = "sù";
	dict[15018] = "sà,xǐ";
	dict[15019] = "ruì";
	dict[15020] = "zhuó";
	dict[15021] = "lú";
	dict[15022] = "líng";
	dict[15023] = "chá,jǔ,qú";
	dict[15025] = "huàn";
	dict[15028] = "jiá";
	dict[15029] = "bàn";
	dict[15030] = "hú";
	dict[15031] = "dǒu";
	dict[15033] = "lǒu";
	dict[15034] = "jū";
	dict[15035] = "juàn";
	dict[15036] = "kě";
	dict[15037] = "suǒ,suò";
	dict[15038] = "gé,luò";
	dict[15039] = "zhé,shé";
	dict[15040] = "dǐng";
	dict[15041] = "duàn";
	dict[15042] = "zhù";
	dict[15043] = "yǎn";
	dict[15044] = "páng";
	dict[15045] = "chá,qí,shí";
	dict[15050] = "yǐ";
	dict[15053] = "yóu";
	dict[15054] = "gǔn,kuài";
	dict[15055] = "yǎo";
	dict[15056] = "yǎo";
	dict[15057] = "shí,zhǐ";
	dict[15058] = "gǒng";
	dict[15059] = "qǐ,qì";
	dict[15060] = "gèn";
	dict[15062] = "zhǐ";
	dict[15063] = "hòu";
	dict[15064] = "mì,miǎn";
	dict[15065] = "fú";
	dict[15066] = "hū";
	dict[15067] = "guàng,kuáng,kuàng,mǔ";
	dict[15068] = "dàn,tǎn";
	dict[15071] = "yán";
	dict[15074] = "qù";
	dict[15076] = "chǎng,zhào";
	dict[15077] = "mǐng";
	dict[15079] = "bào";
	dict[15083] = "xiǎn";
	dict[15085] = "shí";
	dict[15087] = "mào";
	dict[15088] = "lǎng";
	dict[15089] = "nǎn";
	dict[15090] = "pèi";
	dict[15091] = "chén";
	dict[15094] = "cǒu,zhǒu";
	dict[15096] = "qiè";
	dict[15097] = "dài,shù,yú";
	dict[15099] = "kùn";
	dict[15100] = "dié,zhé,zhì";
	dict[15101] = "lù";
	dict[15106] = "yú";
	dict[15107] = "tái";
	dict[15108] = "chàn";
	dict[15109] = "màn";
	dict[15110] = "mián,miàn,mǐn";
	dict[15111] = "huàn";
	dict[15113] = "nuǎn,ruò";
	dict[15114] = "huǎn";
	dict[15115] = "hóu";
	dict[15116] = "jìng";
	dict[15117] = "bó";
	dict[15118] = "xiǎn";
	dict[15119] = "lì";
	dict[15120] = "jǐn,jìn,xíng,yǐng";
	dict[15122] = "mǎng,mào";
	dict[15123] = "piào";
	dict[15124] = "háo";
	dict[15125] = "yáng";
	dict[15127] = "xiàn";
	dict[15128] = "sù";
	dict[15129] = "wěi";
	dict[15130] = "chè";
	dict[15132] = "jìn";
	dict[15133] = "céng";
	dict[15134] = "hè";
	dict[15136] = "shài";
	dict[15137] = "líng";
	dict[15139] = "duì";
	dict[15141] = "pù";
	dict[15142] = "yuè";
	dict[15143] = "bó";
	dict[15145] = "huì";
	dict[15146] = "dié,zhì";
	dict[15147] = "yàn";
	dict[15148] = "jù";
	dict[15149] = "jiào,shǎn,yǎo";
	dict[15150] = "kuài,nàn";
	dict[15151] = "liè";
	dict[15152] = "yú";
	dict[15153] = "tì";
	dict[15155] = "wǔ";
	dict[15156] = "hǒng";
	dict[15157] = "xiáo,jiāo";
	dict[15158] = "hào";
	dict[15163] = "huǎng";
	dict[15164] = "fù";
	dict[15167] = "dùn";
	dict[15169] = "réng";
	dict[15170] = "jiǎo";
	dict[15172] = "xìn";
	dict[15175] = "yuàn";
	dict[15176] = "jué,kuài";
	dict[15177] = "huá";
	dict[15179] = "bàng";
	dict[15180] = "móu,yú";
	dict[15182] = "gāng";
	dict[15183] = "wěi";
	dict[15185] = "mèi";
	dict[15186] = "sì";
	dict[15187] = "biàn";
	dict[15188] = "lú";
	dict[15189] = "qū";
	dict[15192] = "hé,gé";
	dict[15193] = "shé,zhé";
	dict[15195] = "pài";
	dict[15196] = "róng";
	dict[15197] = "qiú";
	dict[15198] = "liè";
	dict[15199] = "gǒng";
	dict[15200] = "xiǎn";
	dict[15201] = "xì,xìn";
	dict[15204] = "niǎo";
	dict[15208] = "yé";
	dict[15209] = "lèi,líng,liè";
	dict[15211] = "cuán,cuó,zhèn";
	dict[15212] = "zhuó";
	dict[15213] = "fèi";
	dict[15214] = "zuò";
	dict[15215] = "dié,nà,zhé";
	dict[15216] = "jì,jué,zuǐ";
	dict[15217] = "hé,xiá";
	dict[15218] = "jí";
	dict[15224] = "tú";
	dict[15225] = "xián";
	dict[15226] = "yǎn";
	dict[15227] = "táng";
	dict[15228] = "tà";
	dict[15229] = "dǐ";
	dict[15230] = "jué,yuè";
	dict[15231] = "áng";
	dict[15232] = "hán";
	dict[15233] = "yáo";
	dict[15234] = "jú";
	dict[15235] = "ruí";
	dict[15236] = "bǎng,bì,péng";
	dict[15238] = "niè";
	dict[15239] = "tiàn";
	dict[15240] = "nài";
	dict[15243] = "yǒu,yù";
	dict[15244] = "mián,mǐn";
	dict[15247] = "nài";
	dict[15248] = "xǐng,shěng";
	dict[15249] = "qì";
	dict[15251] = "gèn";
	dict[15252] = "tóng";
	dict[15253] = "ér,ruǎn";
	dict[15254] = "jiá,jiá";
	dict[15255] = "qín";
	dict[15256] = "mào";
	dict[15257] = "è";
	dict[15258] = "lì";
	dict[15259] = "chí";
	dict[15261] = "hé,luò";
	dict[15262] = "jié,ní,yá";
	dict[15263] = "jí,niǎn,pèng,ròu,kā";
	dict[15265] = "guàn";
	dict[15266] = "hóu";
	dict[15267] = "gài,zé";
	dict[15269] = "fèn";
	dict[15270] = "sè,suǒ";
	dict[15272] = "jí,jì";
	dict[15273] = "xī";
	dict[15274] = "qióng";
	dict[15275] = "hé";
	dict[15277] = "xián";
	dict[15278] = "jié";
	dict[15279] = "huá,hún,kuǎn";
	dict[15280] = "bí,pí";
	dict[15283] = "zhèn";
	dict[15286] = "shì,shuò";
	dict[15288] = "sòng";
	dict[15289] = "zhǐ";
	dict[15290] = "běn";
	dict[15294] = "lǎng";
	dict[15295] = "bì";
	dict[15296] = "xiǎn,xuàn";
	dict[15297] = "bàng";
	dict[15298] = "dài";
	dict[15301] = "pí";
	dict[15302] = "chǎn";
	dict[15303] = "bì";
	dict[15304] = "sù";
	dict[15305] = "huò,chū";
	dict[15306] = "hén";
	dict[15307] = "yǐng";
	dict[15308] = "chuán";
	dict[15309] = "jiǎng";
	dict[15310] = "nèn";
	dict[15311] = "gǔ";
	dict[15312] = "fǎng,tuǒ";
	dict[15315] = "tà";
	dict[15316] = "cuì";
	dict[15317] = "xī";
	dict[15318] = "dé";
	dict[15319] = "rǎn,shùn,xián,xiàn";
	dict[15320] = "kuǎn";
	dict[15321] = "chè";
	dict[15322] = "dá";
	dict[15323] = "hú,huò";
	dict[15324] = "cuì";
	dict[15325] = "lù";
	dict[15326] = "juàn,yuè";
	dict[15327] = "lù";
	dict[15328] = "qiàn,xiàn,xún";
	dict[15329] = "pào";
	dict[15330] = "zhèn";
	dict[15332] = "lì";
	dict[15333] = "cáo,zāo";
	dict[15334] = "qí";
	dict[15337] = "tì";
	dict[15338] = "líng";
	dict[15339] = "qú";
	dict[15340] = "liǎn";
	dict[15341] = "lǔ";
	dict[15342] = "shǔ";
	dict[15343] = "gòng";
	dict[15344] = "zhé,zhí";
	dict[15345] = "biǎo,piáo,pāo";
	dict[15346] = "jìn";
	dict[15347] = "qíng";
	dict[15350] = "zōng";
	dict[15351] = "pú";
	dict[15352] = "jǐn";
	dict[15353] = "biǎo";
	dict[15354] = "jiàn";
	dict[15355] = "gǔn,hùn";
	dict[15359] = "liè";
	dict[15360] = "lí";
	dict[15361] = "luǒ";
	dict[15362] = "shěn,sǔn";
	dict[15363] = "mián";
	dict[15364] = "jiàn";
	dict[15365] = "dí";
	dict[15366] = "bèi";
	dict[15368] = "liǎn";
	dict[15370] = "xún";
	dict[15371] = "pín";
	dict[15372] = "què";
	dict[15373] = "lóng";
	dict[15374] = "zuì";
	dict[15376] = "jué,kuí,lěi,tuǐ,tuǒ";
	dict[15378] = "shé,xué";
	dict[15380] = "xiè";
	dict[15382] = "lǎn";
	dict[15383] = "cù";
	dict[15384] = "yí";
	dict[15385] = "nuó";
	dict[15386] = "lí";
	dict[15387] = "yuè";
	dict[15389] = "yǐ";
	dict[15391] = "jì,qì";
	dict[15392] = "kàng";
	dict[15393] = "xiè";
	dict[15395] = "zì";
	dict[15396] = "hē,qiè";
	dict[15397] = "huì";
	dict[15398] = "qù";
	dict[15402] = "wá";
	dict[15404] = "xún";
	dict[15406] = "shèn";
	dict[15407] = "tòu,tǒu,hòu";
	dict[15408] = "qiè";
	dict[15409] = "shà";
	dict[15410] = "xù,yù";
	dict[15411] = "yà";
	dict[15412] = "pó,pǒu";
	dict[15413] = "zú";
	dict[15414] = "yǒu";
	dict[15415] = "zì";
	dict[15416] = "liǎn,liàn,luǎn";
	dict[15417] = "jìn";
	dict[15418] = "xiá,xià";
	dict[15419] = "yǐ";
	dict[15420] = "qiè";
	dict[15421] = "mǐ,yàn";
	dict[15422] = "jiào";
	dict[15424] = "chǐ,chuài";
	dict[15425] = "shì";
	dict[15426] = "kāng";
	dict[15427] = "yǐn";
	dict[15428] = "mò";
	dict[15429] = "yì";
	dict[15431] = "sè,xì";
	dict[15432] = "jìn";
	dict[15433] = "yè";
	dict[15435] = "què";
	dict[15436] = "chè,yǎn,yé";
	dict[15437] = "luán";
	dict[15439] = "zhèng";
	dict[15444] = "xiē,suò";
	dict[15446] = "cuì";
	dict[15448] = "àn,yǎn";
	dict[15449] = "xiǔ";
	dict[15450] = "cán,hài,shàn";
	dict[15451] = "chuǎn";
	dict[15452] = "zhá";
	dict[15454] = "jí";
	dict[15455] = "bó,pí,pǐ";
	dict[15456] = "kū";
	dict[15458] = "láng";
	dict[15459] = "tuǐ";
	dict[15461] = "líng";
	dict[15462] = "è,guì,jǐ,qī";
	dict[15463] = "wò";
	dict[15464] = "liàn";
	dict[15465] = "dú";
	dict[15466] = "mèn,hūn";
	dict[15467] = "làn";
	dict[15468] = "wěi";
	dict[15469] = "duàn";
	dict[15470] = "kuài,kuì";
	dict[15471] = "ái";
	dict[15472] = "zǎi";
	dict[15473] = "huì,wù,xì";
	dict[15474] = "yì";
	dict[15475] = "mò";
	dict[15476] = "zì";
	dict[15477] = "bèn,fèn";
	dict[15478] = "bèng,jiào,péng,qiǎo,rù";
	dict[15480] = "bì,bié";
	dict[15481] = "lì,suàn,xiàn";
	dict[15482] = "lú";
	dict[15483] = "luǒ,luò";
	dict[15485] = "dàn,qín,zhěn";
	dict[15486] = "gāi,kāi";
	dict[15487] = "què";
	dict[15488] = "chén";
	dict[15490] = "chéng";
	dict[15491] = "jiù";
	dict[15492] = "kòu,kū";
	dict[15493] = "jì";
	dict[15494] = "líng";
	dict[15496] = "sháo";
	dict[15497] = "què";
	dict[15498] = "ruì";
	dict[15499] = "chuò,zhuó,zú";
	dict[15500] = "nèng";
	dict[15502] = "lóu";
	dict[15503] = "bǎo,piǎo,pín,pìng";
	dict[15506] = "bào";
	dict[15507] = "róng";
	dict[15509] = "lèi";
	dict[15512] = "qú";
	dict[15514] = "shā";
	dict[15515] = "zhǐ";
	dict[15516] = "tán,tǎn";
	dict[15517] = "rǒng";
	dict[15518] = "zú";
	dict[15519] = "yǐng";
	dict[15520] = "máo";
	dict[15521] = "nài,nì";
	dict[15522] = "biàn,bié";
	dict[15525] = "táng";
	dict[15526] = "hàn,hě";
	dict[15527] = "zào";
	dict[15528] = "róng";
	dict[15530] = "dēng";
	dict[15531] = "pú";
	dict[15533] = "tǎn";
	dict[15535] = "rán";
	dict[15536] = "níng";
	dict[15537] = "liè";
	dict[15538] = "dié,yì";
	dict[15539] = "dié";
	dict[15540] = "zhòng,zhòu";
	dict[15542] = "lǜ";
	dict[15543] = "dàn";
	dict[15545] = "guǐ,qiú";
	dict[15546] = "jí,kè,léi";
	dict[15547] = "nì";
	dict[15548] = "yì";
	dict[15549] = "niàn,rěn,xiàn";
	dict[15550] = "yǔ,yù";
	dict[15551] = "wǎng";
	dict[15552] = "guò,kǎi,xì";
	dict[15553] = "zè";
	dict[15554] = "yán";
	dict[15555] = "cuì";
	dict[15556] = "xián";
	dict[15557] = "jiǎo,liú";
	dict[15558] = "shǔ,tǒu";
	dict[15559] = "fù";
	dict[15560] = "pèi";
	dict[15565] = "bù";
	dict[15566] = "biàn,fàn";
	dict[15567] = "chǐ,shì";
	dict[15568] = "sà,zhá,zhǎ";
	dict[15569] = "yì";
	dict[15570] = "fǎ";
	dict[15572] = "duì";
	dict[15573] = "lán";
	dict[15575] = "chài";
	dict[15576] = "chōng";
	dict[15577] = "xuàn";
	dict[15578] = "yù";
	dict[15579] = "yú";
	dict[15584] = "tà";
	dict[15589] = "jù,lòng";
	dict[15590] = "xiè";
	dict[15591] = "xí";
	dict[15592] = "jiǎn,zá,zǎn";
	dict[15594] = "pàn,pì";
	dict[15595] = "tà";
	dict[15596] = "xuán";
	dict[15597] = "xián";
	dict[15598] = "niào";
	dict[15604] = "mì";
	dict[15605] = "jì";
	dict[15606] = "gòu,nǒu";
	dict[15607] = "wěn,hū";
	dict[15609] = "wǎng";
	dict[15610] = "yóu";
	dict[15611] = "zé";
	dict[15612] = "bì";
	dict[15613] = "mǐ";
	dict[15615] = "xiè";
	dict[15616] = "fàn";
	dict[15617] = "yì";
	dict[15619] = "lèi,lì";
	dict[15620] = "yíng";
	dict[15622] = "jìn,xìng";
	dict[15623] = "shè";
	dict[15624] = "yìn";
	dict[15625] = "jǐ";
	dict[15627] = "sù";
	dict[15631] = "wǎng";
	dict[15632] = "miàn";
	dict[15633] = "sù";
	dict[15634] = "yì";
	dict[15635] = "zǎi";
	dict[15636] = "sè,yì";
	dict[15637] = "jí";
	dict[15638] = "luò";
	dict[15640] = "mào";
	dict[15641] = "zhá";
	dict[15642] = "suì";
	dict[15643] = "zhì";
	dict[15644] = "biàn";
	dict[15645] = "lí";
	dict[15646] = "tāo";
	dict[15653] = "qiào";
	dict[15654] = "guàn";
	dict[15656] = "zhèn";
	dict[15657] = "yōng";
	dict[15658] = "niè";
	dict[15659] = "jùn";
	dict[15660] = "xiè";
	dict[15661] = "yǎo";
	dict[15662] = "xiè";
	dict[15664] = "néng";
	dict[15666] = "sī";
	dict[15667] = "lǒng";
	dict[15668] = "chén";
	dict[15669] = "mì";
	dict[15670] = "què";
	dict[15671] = "dān";
	dict[15672] = "nà,shǎn,yè";
	dict[15676] = "sù";
	dict[15677] = "xiè,yìn";
	dict[15678] = "bó";
	dict[15679] = "dǐng";
	dict[15680] = "cuàn,zú";
	dict[15682] = "chuǎng,shù";
	dict[15683] = "shé";
	dict[15684] = "hàn,qià,yù";
	dict[15685] = "dàn,tàn";
	dict[15686] = "hào";
	dict[15690] = "shěn,zhé";
	dict[15691] = "mì";
	dict[15692] = "chàn,qióng,xún";
	dict[15693] = "mèn";
	dict[15694] = "hǎn,jiàn,kǎn";
	dict[15695] = "cuǐ";
	dict[15696] = "jué";
	dict[15697] = "hè";
	dict[15698] = "fèi";
	dict[15699] = "shí";
	dict[15700] = "chě,chè";
	dict[15701] = "shèn";
	dict[15703] = "fù,pán,píng";
	dict[15704] = "màn";
	dict[15709] = "yì";
	dict[15710] = "chóu";
	dict[15713] = "báo";
	dict[15714] = "léi,lěi";
	dict[15715] = "kě,luǒ";
	dict[15716] = "diàn,shà,xiá";
	dict[15717] = "bì,mì";
	dict[15718] = "suí";
	dict[15719] = "gé";
	dict[15720] = "bì,pì";
	dict[15721] = "yì";
	dict[15722] = "xián";
	dict[15723] = "nǐ,yì";
	dict[15724] = "yíng";
	dict[15725] = "zhǔ";
	dict[15726] = "chún,wěn";
	dict[15727] = "féng";
	dict[15728] = "xù";
	dict[15729] = "piǎo";
	dict[15730] = "wǔ";
	dict[15731] = "liáo,liú";
	dict[15732] = "cáng";
	dict[15733] = "zòu";
	dict[15735] = "biàn";
	dict[15736] = "yào,yuè";
	dict[15737] = "huán";
	dict[15738] = "pái,pài";
	dict[15739] = "sòu";
	dict[15740] = "xiè";
	dict[15741] = "duì,lěi";
	dict[15742] = "jìng,qìng";
	dict[15743] = "xí";
	dict[15745] = "guó";
	dict[15748] = "yán";
	dict[15749] = "xué";
	dict[15750] = "chú,zhū";
	dict[15751] = "héng";
	dict[15752] = "yíng,yìng";
	dict[15756] = "lián";
	dict[15757] = "xiǎn";
	dict[15758] = "huán";
	dict[15761] = "liàn";
	dict[15762] = "shǎn,shěn,tàn";
	dict[15763] = "cáng";
	dict[15764] = "bèi";
	dict[15765] = "jiǎn";
	dict[15766] = "shù";
	dict[15767] = "fàn";
	dict[15768] = "diàn";
	dict[15770] = "bà";
	dict[15771] = "yú";
	dict[15774] = "nǎng";
	dict[15775] = "lěi";
	dict[15776] = "yì";
	dict[15777] = "dài,huǒ,zuó";
	dict[15779] = "chán";
	dict[15780] = "chǎo";
	dict[15782] = "jìn";
	dict[15783] = "nèn";
	dict[15787] = "liǎo,liào";
	dict[15788] = "méi,mò";
	dict[15789] = "jiù,yǒu";
	dict[15791] = "liù";
	dict[15792] = "hán";
	dict[15794] = "yòng";
	dict[15795] = "jìn";
	dict[15796] = "chǐ,shǐ";
	dict[15797] = "rèn";
	dict[15798] = "nóng";
	dict[15801] = "hòng";
	dict[15802] = "tiàn";
	dict[15807] = "bó";
	dict[15808] = "qióng";
	dict[15810] = "shù";
	dict[15811] = "cuǐ";
	dict[15812] = "huì";
	dict[15813] = "chǎo,miǎo";
	dict[15814] = "dòu,fù";
	dict[15815] = "guài,kuí";
	dict[15816] = "è";
	dict[15817] = "wèi,yù,yùn";
	dict[15818] = "fén";
	dict[15819] = "tán,tǎn";
	dict[15821] = "lún";
	dict[15822] = "hè,hóng,xié";
	dict[15823] = "yǒng";
	dict[15824] = "huǐ";
	dict[15826] = "yú";
	dict[15827] = "zǒng";
	dict[15828] = "yàn";
	dict[15829] = "qiú";
	dict[15830] = "zhào";
	dict[15831] = "jiǒng";
	dict[15832] = "tái";
	dict[15839] = "tuì";
	dict[15840] = "lín";
	dict[15841] = "jiǒng";
	dict[15842] = "zhǎ";
	dict[15844] = "hè,hù,xuè";
	dict[15846] = "xù";
	dict[15849] = "xī";
	dict[15850] = "cuì,zuǎn";
	dict[15851] = "qǐng";
	dict[15852] = "mò";
	dict[15853] = "fēng";
	dict[15854] = "zāo";
	dict[15855] = "bèng";
	dict[15856] = "lí";
	dict[15859] = "yàn";
	dict[15860] = "gé,lì";
	dict[15861] = "mò";
	dict[15862] = "bèi,bì";
	dict[15863] = "juǎn";
	dict[15864] = "dié,yè";
	dict[15865] = "shào";
	dict[15867] = "wú";
	dict[15868] = "yàn";
	dict[15870] = "jué";
	dict[15872] = "tái";
	dict[15873] = "hǎn,hàn";
	dict[15875] = "diǎn";
	dict[15876] = "jì,jié";
	dict[15877] = "jié";
	dict[15878] = "kào";
	dict[15881] = "xiè";
	dict[15882] = "là,lài,liè";
	dict[15883] = "fán";
	dict[15884] = "huò";
	dict[15885] = "xì";
	dict[15886] = "niè";
	dict[15887] = "mí";
	dict[15888] = "rán";
	dict[15889] = "cuàn";
	dict[15890] = "yín";
	dict[15891] = "mì";
	dict[15892] = "kàn";
	dict[15893] = "jué";
	dict[15895] = "tóng";
	dict[15896] = "wàn";
	dict[15898] = "lǐ";
	dict[15899] = "sháo,shuò";
	dict[15900] = "kòng";
	dict[15901] = "kǎn";
	dict[15902] = "bǎn";
	dict[15904] = "tiǎo";
	dict[15906] = "bèi";
	dict[15907] = "yè,yì";
	dict[15908] = "piàn";
	dict[15909] = "chán";
	dict[15910] = "hù";
	dict[15911] = "kèn,yín";
	dict[15913] = "àn";
	dict[15914] = "chún";
	dict[15915] = "qián";
	dict[15916] = "bèi,fèi,pèi";
	dict[15918] = "fén";
	dict[15920] = "tuó";
	dict[15921] = "tuó";
	dict[15922] = "zuó,zuò";
	dict[15923] = "líng";
	dict[15925] = "guǐ,wěi";
	dict[15927] = "shì";
	dict[15928] = "hǒu,ǒu,kǒu";
	dict[15929] = "liè";
	dict[15930] = "shā";
	dict[15931] = "sì";
	dict[15933] = "bèi";
	dict[15934] = "rèn";
	dict[15935] = "dú";
	dict[15936] = "bó";
	dict[15937] = "liáng";
	dict[15938] = "cì,qiǎn";
	dict[15939] = "bì,fèi";
	dict[15940] = "jì,qì";
	dict[15941] = "zǒng";
	dict[15943] = "hé";
	dict[15944] = "lí,máo";
	dict[15945] = "yuán";
	dict[15946] = "yuè";
	dict[15948] = "chǎn,shèng";
	dict[15949] = "dí,dú";
	dict[15950] = "léi";
	dict[15951] = "jǐn";
	dict[15952] = "chóng,zhòu";
	dict[15953] = "sì,yí";
	dict[15954] = "pǔ";
	dict[15955] = "yì";
	dict[15956] = "jiāng";
	dict[15958] = "huàn";
	dict[15959] = "táo,tāo";
	dict[15960] = "rú,rù,ruí";
	dict[15961] = "wěng";
	dict[15962] = "wěng";
	dict[15963] = "ráo,rǎo";
	dict[15964] = "yín";
	dict[15965] = "shì";
	dict[15966] = "yín,yǐn";
	dict[15967] = "jué";
	dict[15968] = "tún";
	dict[15969] = "xuán,xuàn";
	dict[15971] = "zhōng";
	dict[15972] = "qiè,què";
	dict[15973] = "zhù";
	dict[15976] = "yòu";
	dict[15979] = "xì,yí";
	dict[15980] = "shǐ";
	dict[15981] = "yì";
	dict[15982] = "mò";
	dict[15985] = "hú,què,rǎn";
	dict[15986] = "xiào";
	dict[15987] = "wú";
	dict[15989] = "jìng";
	dict[15990] = "tíng";
	dict[15991] = "shǐ,xìn";
	dict[15992] = "ní";
	dict[15994] = "tà";
	dict[15996] = "chǔ,jú,yù";
	dict[15997] = "chǎn,shàn";
	dict[15998] = "piǎo";
	dict[15999] = "diǎo,zhào,zhuó";
	dict[16e3] = "náo";
	dict[16001] = "nǎo";
	dict[16002] = "gǎn,jiàn,yán";
	dict[16003] = "gǒu";
	dict[16004] = "yǔ";
	dict[16005] = "hóu";
	dict[16007] = "sī";
	dict[16008] = "chī";
	dict[16009] = "hù";
	dict[16010] = "yàng";
	dict[16012] = "xiàn";
	dict[16014] = "róng";
	dict[16015] = "lóu";
	dict[16016] = "zhǎo";
	dict[16017] = "cán,shǎn";
	dict[16018] = "liào,yáo,xiāo";
	dict[16019] = "piào";
	dict[16020] = "hài,wèi";
	dict[16021] = "fán";
	dict[16022] = "hǎn";
	dict[16023] = "dàn,yán";
	dict[16024] = "zhàn";
	dict[16026] = "tǎ";
	dict[16027] = "zhù";
	dict[16028] = "nóng";
	dict[16029] = "jiàn";
	dict[16030] = "yú";
	dict[16031] = "zhuó";
	dict[16032] = "yòu,yù";
	dict[16033] = "lì";
	dict[16035] = "xī";
	dict[16037] = "chán,tán";
	dict[16038] = "lián";
	dict[16040] = "sī";
	dict[16041] = "jiù,sè";
	dict[16042] = "pú";
	dict[16043] = "qiú";
	dict[16044] = "gǒng";
	dict[16045] = "zǐ";
	dict[16046] = "yú";
	dict[16049] = "réng";
	dict[16050] = "niǔ";
	dict[16051] = "méi";
	dict[16053] = "jiú";
	dict[16055] = "xù";
	dict[16056] = "píng";
	dict[16057] = "biàn";
	dict[16058] = "mào";
	dict[16063] = "yí";
	dict[16064] = "yóu,yú";
	dict[16066] = "píng";
	dict[16067] = "qū";
	dict[16068] = "bǎo";
	dict[16069] = "huì,kuài";
	dict[16073] = "bù";
	dict[16074] = "máng,mén,mèng";
	dict[16075] = "là,lèi";
	dict[16076] = "tú";
	dict[16077] = "wú";
	dict[16078] = "lì,sè";
	dict[16079] = "líng,lǐng";
	dict[16081] = "jì";
	dict[16082] = "jùn";
	dict[16084] = "duǒ,ruì";
	dict[16085] = "jué";
	dict[16086] = "dài";
	dict[16087] = "bèi";
	dict[16093] = "là";
	dict[16094] = "biàn,fèn,pìn";
	dict[16095] = "suí";
	dict[16096] = "tú";
	dict[16097] = "dié,jué";
	dict[16103] = "duò,hé";
	dict[16106] = "suì";
	dict[16107] = "bì";
	dict[16108] = "tú";
	dict[16109] = "sè,zé";
	dict[16110] = "càn";
	dict[16111] = "tú";
	dict[16112] = "miǎn,rè,wèi,yù";
	dict[16117] = "zhàn";
	dict[16118] = "bǐ,bì";
	dict[16119] = "jí";
	dict[16120] = "cén,jìn,xín,zēn";
	dict[16122] = "lì,liè";
	dict[16125] = "suì";
	dict[16127] = "shǔ";
	dict[16130] = "é,wèn,yuǎn";
	dict[16134] = "yíng";
	dict[16135] = "qióng";
	dict[16136] = "luó";
	dict[16137] = "yìn,zhèn";
	dict[16138] = "tún";
	dict[16139] = "gǔ,jiǔ,móu,rǔ";
	dict[16140] = "yǔ";
	dict[16141] = "lěi";
	dict[16142] = "bèi,bó,kě";
	dict[16143] = "něi";
	dict[16144] = "pián";
	dict[16145] = "liàn,luán";
	dict[16146] = "qiǔ,tǎng";
	dict[16147] = "lián,liǎn";
	dict[16150] = "lì";
	dict[16151] = "dǐng,tíng";
	dict[16152] = "wǎ";
	dict[16153] = "zhòu";
	dict[16155] = "xíng";
	dict[16156] = "àng,póu";
	dict[16157] = "fàn,wǎn";
	dict[16158] = "pèng";
	dict[16159] = "bái";
	dict[16160] = "tuó";
	dict[16162] = "ě,yí";
	dict[16163] = "bǎi,bó";
	dict[16164] = "qì,qiè,yà";
	dict[16165] = "chú,kǎo,tǒu";
	dict[16166] = "gǒng";
	dict[16167] = "tóng";
	dict[16168] = "hán";
	dict[16169] = "chéng";
	dict[16170] = "jiá";
	dict[16171] = "huàn";
	dict[16172] = "xìng";
	dict[16173] = "diàn,niǎo";
	dict[16174] = "chāi,qì";
	dict[16175] = "dòng";
	dict[16176] = "é,pí";
	dict[16177] = "ruǎn";
	dict[16178] = "liè";
	dict[16179] = "shěng";
	dict[16180] = "ǒu";
	dict[16181] = "dì";
	dict[16182] = "yú";
	dict[16183] = "chuán";
	dict[16184] = "róng";
	dict[16186] = "táng";
	dict[16187] = "cóng";
	dict[16188] = "piáo";
	dict[16189] = "shuǎng,chuǎng";
	dict[16190] = "lù";
	dict[16191] = "tóng";
	dict[16192] = "zhèng";
	dict[16193] = "lì";
	dict[16194] = "sà";
	dict[16199] = "guài,hú,huí,méng,sè";
	dict[16200] = "yì";
	dict[16201] = "hǎn,jiàn,xiàn";
	dict[16202] = "xiè";
	dict[16203] = "luó,luò";
	dict[16204] = "liù";
	dict[16206] = "dǎn,tán";
	dict[16207] = "gàn";
	dict[16209] = "tán";
	dict[16213] = "yóu";
	dict[16214] = "nán";
	dict[16216] = "gǎng";
	dict[16217] = "jùn";
	dict[16218] = "chì";
	dict[16219] = "gōu,qú";
	dict[16220] = "wǎn";
	dict[16221] = "lì";
	dict[16222] = "liú";
	dict[16223] = "liè";
	dict[16224] = "xiá";
	dict[16225] = "bēi";
	dict[16226] = "ǎn,yè";
	dict[16227] = "yù";
	dict[16228] = "jú";
	dict[16229] = "róu";
	dict[16230] = "xún";
	dict[16232] = "cuó";
	dict[16233] = "càn,cào";
	dict[16234] = "zěng,zhǎ";
	dict[16235] = "yǒng";
	dict[16236] = "fù";
	dict[16237] = "ruǎn";
	dict[16239] = "xí";
	dict[16240] = "shù";
	dict[16241] = "jiǎo,jiū,niú";
	dict[16242] = "jiǎo";
	dict[16243] = "hàn,xiè,xǔ,yú";
	dict[16244] = "zhàng";
	dict[16247] = "shuì";
	dict[16248] = "chén";
	dict[16249] = "fàn,wǎn";
	dict[16250] = "jí";
	dict[16253] = "gù";
	dict[16254] = "wù";
	dict[16256] = "qiè";
	dict[16257] = "shù";
	dict[16259] = "tuó";
	dict[16260] = "dú";
	dict[16261] = "zǐ";
	dict[16262] = "rán,shǎn";
	dict[16263] = "mù";
	dict[16264] = "fù";
	dict[16265] = "líng";
	dict[16266] = "jí";
	dict[16267] = "xiù";
	dict[16268] = "xuǎn";
	dict[16269] = "nái";
	dict[16271] = "jiè";
	dict[16272] = "lì";
	dict[16273] = "dá";
	dict[16274] = "jì,rú,rù";
	dict[16275] = "yùn";
	dict[16277] = "shěn";
	dict[16278] = "lǐ,luó";
	dict[16279] = "lǎng,liàng";
	dict[16280] = "gěng";
	dict[16281] = "yǐn";
	dict[16283] = "qǐn";
	dict[16284] = "qiè";
	dict[16285] = "chè";
	dict[16286] = "yǒu";
	dict[16287] = "bù";
	dict[16288] = "huáng,kuáng,kuì";
	dict[16289] = "què";
	dict[16290] = "lài";
	dict[16293] = "xù";
	dict[16294] = "bàng,pèi,pén";
	dict[16295] = "kè";
	dict[16296] = "qǐ,yǐ";
	dict[16298] = "shěng";
	dict[16299] = "piān";
	dict[16301] = "zhòu";
	dict[16302] = "huáng";
	dict[16303] = "tuí,wěi";
	dict[16304] = "hú";
	dict[16305] = "bèi,fàn,fèi,fú";
	dict[16309] = "jì";
	dict[16310] = "gǔ";
	dict[16312] = "gǎo";
	dict[16313] = "chái";
	dict[16314] = "mà,mò";
	dict[16315] = "zhù";
	dict[16316] = "tuǐ";
	dict[16317] = "tuí,zhuì";
	dict[16318] = "lián";
	dict[16319] = "láng,lǎng";
	dict[16323] = "dài,zhì";
	dict[16324] = "ài";
	dict[16325] = "xiǎn,xuǎn";
	dict[16327] = "xí,xì";
	dict[16329] = "tuí";
	dict[16330] = "cǎn";
	dict[16331] = "sào";
	dict[16333] = "jiè";
	dict[16334] = "fèn";
	dict[16335] = "qún";
	dict[16337] = "yào";
	dict[16338] = "dǎo";
	dict[16339] = "jiá";
	dict[16340] = "lěi";
	dict[16341] = "yán";
	dict[16342] = "lú";
	dict[16343] = "tuí";
	dict[16344] = "yíng";
	dict[16345] = "pì";
	dict[16346] = "luò";
	dict[16347] = "lí,lì";
	dict[16348] = "biě";
	dict[16350] = "mào";
	dict[16351] = "bái,jiǎo";
	dict[16352] = "huàng";
	dict[16354] = "yào,zhuì";
	dict[16355] = "hé,xiá";
	dict[16356] = "chǔn";
	dict[16357] = "hú,hé";
	dict[16358] = "nìng";
	dict[16359] = "chóu";
	dict[16360] = "lì";
	dict[16361] = "tǎng";
	dict[16362] = "huán";
	dict[16363] = "bì";
	dict[16365] = "chè";
	dict[16366] = "yàng";
	dict[16367] = "dá";
	dict[16368] = "áo";
	dict[16369] = "xué";
	dict[16373] = "rǎn";
	dict[16375] = "cuó,cāo";
	dict[16376] = "wǎn,mán";
	dict[16377] = "tà";
	dict[16378] = "báo";
	dict[16380] = "yán";
	dict[16382] = "zhù";
	dict[16383] = "yǎ";
	dict[16384] = "fán";
	dict[16385] = "yòu";
	dict[16387] = "tuí";
	dict[16388] = "méng";
	dict[16389] = "shè,zhé";
	dict[16390] = "jìn";
	dict[16391] = "gǔ,què";
	dict[16392] = "qì";
	dict[16393] = "qiáo,shà";
	dict[16394] = "jiǎo";
	dict[16395] = "yán";
	dict[16397] = "kàn";
	dict[16398] = "miǎn";
	dict[16399] = "xiàn,xuàn";
	dict[16400] = "sǎn";
	dict[16401] = "nà,nì,wò";
	dict[16403] = "huàn";
	dict[16404] = "niú,rèn";
	dict[16405] = "chèng,zhèn";
	dict[16407] = "jué";
	dict[16408] = "xí,xié";
	dict[16409] = "qì";
	dict[16410] = "áng";
	dict[16411] = "mèi,wù";
	dict[16412] = "gǔ,mèi,xué";
	dict[16415] = "fán,fèi,fèn";
	dict[16416] = "qú,jù";
	dict[16417] = "chàn,tàn";
	dict[16418] = "shùn";
	dict[16419] = "bì,mà";
	dict[16420] = "mào";
	dict[16421] = "shuò";
	dict[16422] = "gǔ";
	dict[16423] = "hǒng";
	dict[16424] = "huàn";
	dict[16425] = "luò";
	dict[16426] = "háng";
	dict[16427] = "jiá";
	dict[16428] = "quán";
	dict[16429] = "gāi";
	dict[16430] = "máng";
	dict[16431] = "bǔ";
	dict[16432] = "gǔ,yíng";
	dict[16434] = "mù";
	dict[16435] = "ài,là,lài";
	dict[16436] = "yǐng";
	dict[16437] = "shùn";
	dict[16438] = "lǎng,liàng";
	dict[16439] = "jié";
	dict[16440] = "dì,zhì";
	dict[16441] = "jiá,shè,jié";
	dict[16442] = "chōu";
	dict[16443] = "pìn";
	dict[16444] = "rèn,zhěn";
	dict[16445] = "yán";
	dict[16446] = "dǔ";
	dict[16447] = "dì";
	dict[16449] = "lǎng,liàng";
	dict[16450] = "xiàn";
	dict[16452] = "xìng";
	dict[16453] = "bèi,bì,měng,mèng";
	dict[16454] = "ǎn,yì";
	dict[16455] = "mì";
	dict[16456] = "qì";
	dict[16457] = "qì";
	dict[16458] = "wò";
	dict[16459] = "shé";
	dict[16460] = "yù";
	dict[16461] = "jià,kè,qià";
	dict[16462] = "chéng";
	dict[16463] = "yǎo";
	dict[16464] = "yìng";
	dict[16465] = "yáng";
	dict[16466] = "jí";
	dict[16467] = "jiè,zǒng";
	dict[16468] = "hàn,huǎn,xuān";
	dict[16469] = "mín";
	dict[16470] = "lōu";
	dict[16471] = "kǎi";
	dict[16472] = "yǎo";
	dict[16473] = "yǎn,yàn";
	dict[16474] = "sǔn";
	dict[16475] = "guǐ,guì,kuì";
	dict[16476] = "huǎng,huàng";
	dict[16477] = "yíng";
	dict[16478] = "shěng";
	dict[16479] = "chá,duó";
	dict[16480] = "lián";
	dict[16482] = "xuán";
	dict[16483] = "chuán";
	dict[16484] = "chè,chèng";
	dict[16485] = "nì";
	dict[16486] = "qù";
	dict[16487] = "miáo";
	dict[16488] = "huò";
	dict[16489] = "yú";
	dict[16490] = "nǎn,zhǎn";
	dict[16491] = "hú";
	dict[16492] = "céng";
	dict[16494] = "qián";
	dict[16495] = "shè,xié";
	dict[16496] = "jiǎng";
	dict[16497] = "ào";
	dict[16498] = "mái";
	dict[16499] = "mǎng";
	dict[16500] = "zhǎn";
	dict[16501] = "biǎn";
	dict[16502] = "jiǎo";
	dict[16503] = "jué,wò";
	dict[16504] = "nóng";
	dict[16505] = "bì";
	dict[16506] = "shì";
	dict[16507] = "lì,shuò";
	dict[16508] = "mò,mù";
	dict[16509] = "liè";
	dict[16510] = "miè";
	dict[16511] = "mò";
	dict[16513] = "chán";
	dict[16514] = "qú";
	dict[16515] = "jiào,jié";
	dict[16516] = "huò,kuàng";
	dict[16518] = "xù";
	dict[16519] = "náng,niǔ,nǒng,páng";
	dict[16520] = "tóng";
	dict[16521] = "hóu";
	dict[16522] = "yù";
	dict[16525] = "bó";
	dict[16526] = "zuǎn";
	dict[16528] = "chuò";
	dict[16530] = "jié,qià,yà";
	dict[16532] = "xìng";
	dict[16533] = "huì";
	dict[16534] = "shí,sì";
	dict[16538] = "yáo,yóu";
	dict[16539] = "yú";
	dict[16540] = "bàng,péi";
	dict[16541] = "jié,zé,zhé";
	dict[16542] = "zhè";
	dict[16544] = "shé,shǐ";
	dict[16545] = "dǐ,zhǐ";
	dict[16546] = "dǒng";
	dict[16547] = "cí";
	dict[16548] = "fù,hái";
	dict[16549] = "mín";
	dict[16550] = "zhěn";
	dict[16551] = "zhěn";
	dict[16553] = "yàn";
	dict[16554] = "diào,tiǎo";
	dict[16555] = "hóng";
	dict[16556] = "gǒng";
	dict[16557] = "qiāo";
	dict[16559] = "guài,guàn";
	dict[16560] = "là";
	dict[16561] = "cuì,ruì";
	dict[16562] = "fǎ";
	dict[16563] = "cuǒ";
	dict[16564] = "yán";
	dict[16566] = "jié";
	dict[16568] = "guó,xù";
	dict[16569] = "suǒ";
	dict[16570] = "wǎn,wǒ";
	dict[16571] = "zhèng";
	dict[16572] = "niè";
	dict[16573] = "diào,yì";
	dict[16574] = "lǎi";
	dict[16575] = "tà,tiè";
	dict[16576] = "cuì,xùn";
	dict[16577] = "yā";
	dict[16578] = "gǔn,gùn";
	dict[16583] = "mián";
	dict[16584] = "jiē";
	dict[16585] = "mín";
	dict[16586] = "jǔ";
	dict[16587] = "yú";
	dict[16589] = "zhào,zhuì";
	dict[16590] = "zhǎ";
	dict[16593] = "pán";
	dict[16594] = "hé";
	dict[16595] = "gòu";
	dict[16596] = "hóng";
	dict[16597] = "láo,luò";
	dict[16598] = "wù";
	dict[16599] = "chuò";
	dict[16601] = "lù";
	dict[16602] = "cù";
	dict[16603] = "lián,qiàn";
	dict[16605] = "qiào";
	dict[16606] = "shú,yì";
	dict[16609] = "cén";
	dict[16611] = "huǐ";
	dict[16612] = "sù";
	dict[16613] = "chuáng";
	dict[16615] = "lóng";
	dict[16617] = "náo";
	dict[16618] = "tán";
	dict[16619] = "dǎn";
	dict[16620] = "wěi";
	dict[16621] = "gǎn";
	dict[16622] = "dá";
	dict[16623] = "lì";
	dict[16625] = "xiàn";
	dict[16626] = "pán,pàn";
	dict[16627] = "là";
	dict[16629] = "niǎo";
	dict[16630] = "huái";
	dict[16631] = "yíng";
	dict[16632] = "xiàn";
	dict[16633] = "làn,lǎng";
	dict[16634] = "mó,mò";
	dict[16635] = "bà,pái";
	dict[16637] = "fú,guǐ,sì";
	dict[16638] = "bǐ";
	dict[16640] = "huò";
	dict[16641] = "yì";
	dict[16642] = "liù";
	dict[16645] = "juàn";
	dict[16646] = "huó,kuò";
	dict[16647] = "chéng";
	dict[16648] = "dòu";
	dict[16649] = "é";
	dict[16651] = "yǎn";
	dict[16652] = "zhuì";
	dict[16653] = "dù,duó,zhà";
	dict[16654] = "qǐ";
	dict[16655] = "yú,yāo";
	dict[16656] = "quàn";
	dict[16657] = "huó,kuò";
	dict[16658] = "niè,rěn";
	dict[16659] = "héng,huáng";
	dict[16660] = "jǔ";
	dict[16661] = "shè,shèn,tiǎn";
	dict[16664] = "péng";
	dict[16665] = "míng";
	dict[16666] = "cáo";
	dict[16667] = "lóu";
	dict[16668] = "lí,chī";
	dict[16669] = "chǔn";
	dict[16671] = "cuì";
	dict[16672] = "shàn";
	dict[16674] = "qí";
	dict[16676] = "lài,lán";
	dict[16677] = "líng";
	dict[16678] = "liǎo";
	dict[16679] = "réng,rǒng";
	dict[16680] = "yú,yǔ";
	dict[16681] = "náo,yì";
	dict[16682] = "chuò,diǎo";
	dict[16683] = "qǐ";
	dict[16684] = "yí";
	dict[16685] = "nián";
	dict[16687] = "jiǎn,xiàn";
	dict[16688] = "yá,zhá";
	dict[16690] = "chuí";
	dict[16694] = "bì";
	dict[16695] = "dàn,diǎo,shí";
	dict[16696] = "pò";
	dict[16697] = "nián,tiǎn";
	dict[16698] = "zhì";
	dict[16699] = "cháo,táo,zhào";
	dict[16700] = "tiǎn";
	dict[16701] = "tiǎn";
	dict[16702] = "ròu";
	dict[16703] = "yì";
	dict[16704] = "liè";
	dict[16705] = "àn";
	dict[16706] = "hé";
	dict[16707] = "qióng";
	dict[16708] = "lì";
	dict[16710] = "zì";
	dict[16711] = "sù";
	dict[16712] = "yuàn";
	dict[16713] = "yà";
	dict[16714] = "dù";
	dict[16715] = "wǎn";
	dict[16716] = "juān";
	dict[16717] = "dòng,tǐng";
	dict[16718] = "yǒu";
	dict[16719] = "huì,wèi";
	dict[16720] = "jiǎn,qián";
	dict[16721] = "ruí,suí";
	dict[16722] = "máng";
	dict[16723] = "jǔ,qù";
	dict[16726] = "ǎn";
	dict[16727] = "suì";
	dict[16728] = "lái";
	dict[16729] = "hùn";
	dict[16730] = "qiǎng,quǎn,zé";
	dict[16732] = "duò";
	dict[16734] = "nà,nài,nè";
	dict[16735] = "cǎn";
	dict[16736] = "tí";
	dict[16737] = "xǔ";
	dict[16738] = "jiù";
	dict[16739] = "huáng";
	dict[16740] = "qì";
	dict[16741] = "jié";
	dict[16742] = "máo";
	dict[16743] = "yàn";
	dict[16745] = "zhǐ";
	dict[16746] = "tuí";
	dict[16748] = "ài,yǎn,yè";
	dict[16749] = "páng";
	dict[16750] = "càng";
	dict[16751] = "táng";
	dict[16752] = "ěn";
	dict[16753] = "hùn";
	dict[16754] = "qí";
	dict[16755] = "chú";
	dict[16756] = "suǒ";
	dict[16757] = "zhuó";
	dict[16758] = "nòu,wǔ";
	dict[16759] = "tú";
	dict[16760] = "zú";
	dict[16761] = "lóu,lǒu";
	dict[16762] = "miǎo";
	dict[16763] = "lí";
	dict[16764] = "mán";
	dict[16765] = "gǔ";
	dict[16766] = "cén,qián,qín";
	dict[16767] = "huá";
	dict[16768] = "měi";
	dict[16770] = "lián,qiàn";
	dict[16771] = "dǎo,dào";
	dict[16772] = "shàn";
	dict[16773] = "cí,jǐ,zī";
	dict[16776] = "zhì";
	dict[16777] = "bà";
	dict[16778] = "cuì";
	dict[16781] = "lóng";
	dict[16783] = "fèi";
	dict[16784] = "guó";
	dict[16785] = "chéng";
	dict[16786] = "jiù";
	dict[16787] = "è,ruǎn";
	dict[16789] = "jué,yuè";
	dict[16790] = "hóng";
	dict[16791] = "jiào";
	dict[16792] = "cuán,yā";
	dict[16793] = "yáo";
	dict[16794] = "tóng";
	dict[16795] = "chá,zhà,zhé";
	dict[16796] = "yòu";
	dict[16797] = "shù";
	dict[16798] = "yǎo";
	dict[16799] = "gé";
	dict[16800] = "huàn";
	dict[16801] = "láng,làng";
	dict[16802] = "jué,yuè";
	dict[16803] = "chén";
	dict[16806] = "shèn";
	dict[16808] = "míng";
	dict[16809] = "míng";
	dict[16812] = "yǔn";
	dict[16814] = "jìn";
	dict[16815] = "chuò,zhuó";
	dict[16817] = "tǎn";
	dict[16819] = "qióng,suì";
	dict[16821] = "chéng";
	dict[16823] = "yù,xuè";
	dict[16824] = "chéng";
	dict[16825] = "tǒng";
	dict[16827] = "qiào";
	dict[16829] = "jù,qú,qún";
	dict[16830] = "lán";
	dict[16831] = "yì";
	dict[16832] = "róng,rǒng";
	dict[16833] = "sī";
	dict[16834] = "qiān";
	dict[16835] = "sì,xiào";
	dict[16837] = "fá";
	dict[16839] = "méng";
	dict[16840] = "guì,huà";
	dict[16843] = "hài,rǎn,xiè";
	dict[16844] = "qiào";
	dict[16845] = "chuò";
	dict[16846] = "què";
	dict[16847] = "duì";
	dict[16848] = "lì";
	dict[16849] = "bà";
	dict[16850] = "jiè,qín,xiàn";
	dict[16852] = "luò,nuò";
	dict[16854] = "yǔn";
	dict[16856] = "hù";
	dict[16857] = "yǐn";
	dict[16859] = "zhǐ";
	dict[16860] = "liǎn";
	dict[16862] = "gǎn";
	dict[16863] = "jiàn";
	dict[16864] = "zhòu,zhù";
	dict[16865] = "zhù";
	dict[16866] = "kǔ";
	dict[16867] = "nà,nèi,yǐ";
	dict[16868] = "duì,ruì,sù";
	dict[16869] = "zé,zuó";
	dict[16870] = "yǎng";
	dict[16871] = "zhù";
	dict[16872] = "gòng,xiáng";
	dict[16873] = "yì";
	dict[16874] = "chī";
	dict[16875] = "jī";
	dict[16876] = "chuǎng,zhū";
	dict[16877] = "lǎo";
	dict[16878] = "rèn";
	dict[16879] = "róng";
	dict[16881] = "nà";
	dict[16882] = "cè,jiā";
	dict[16885] = "yí";
	dict[16886] = "jué";
	dict[16887] = "bǐ,bié";
	dict[16888] = "chéng,shèng,zèng";
	dict[16889] = "jùn";
	dict[16890] = "chóu,dòu";
	dict[16891] = "huì,kuì,wěi";
	dict[16892] = "chì,yì";
	dict[16893] = "zhì";
	dict[16894] = "yán";
	dict[16897] = "lún,luò";
	dict[16898] = "bìng,píng";
	dict[16899] = "zhǎo";
	dict[16900] = "hán";
	dict[16901] = "yù";
	dict[16902] = "dài";
	dict[16903] = "zhào";
	dict[16904] = "féi";
	dict[16905] = "shà";
	dict[16906] = "líng";
	dict[16907] = "tà";
	dict[16909] = "máng";
	dict[16910] = "yè";
	dict[16911] = "báo";
	dict[16912] = "kuì";
	dict[16913] = "guǎ,jué";
	dict[16914] = "nǎn";
	dict[16915] = "gé";
	dict[16917] = "chí,shi,tí,shí";
	dict[16919] = "suǒ";
	dict[16920] = "cí";
	dict[16921] = "zhòu";
	dict[16922] = "tái";
	dict[16923] = "kuài";
	dict[16924] = "qìn";
	dict[16926] = "dǔ";
	dict[16927] = "cè";
	dict[16928] = "huǎn";
	dict[16930] = "sǎi";
	dict[16931] = "zhèng";
	dict[16932] = "qián";
	dict[16935] = "wěi";
	dict[16938] = "xì";
	dict[16939] = "nà";
	dict[16940] = "pú";
	dict[16941] = "huái";
	dict[16942] = "jǔ,jù,wǎn";
	dict[16944] = "shāo";
	dict[16946] = "pán";
	dict[16947] = "tà";
	dict[16948] = "qiàn,zhǎn";
	dict[16949] = "wēng";
	dict[16950] = "róng";
	dict[16951] = "luò";
	dict[16952] = "hú";
	dict[16953] = "sǒu";
	dict[16955] = "pú";
	dict[16956] = "miè,mì";
	dict[16958] = "shāo,shuò";
	dict[16959] = "mài,mì";
	dict[16960] = "shù";
	dict[16961] = "líng";
	dict[16962] = "lěi";
	dict[16963] = "jiǎng";
	dict[16964] = "léng";
	dict[16965] = "zhì";
	dict[16966] = "diǎo";
	dict[16968] = "sǎn";
	dict[16969] = "hú";
	dict[16970] = "fàn,fáng";
	dict[16971] = "mèi";
	dict[16972] = "suì";
	dict[16973] = "jiǎn";
	dict[16974] = "táng";
	dict[16975] = "xiè";
	dict[16977] = "mó,wú";
	dict[16978] = "fán";
	dict[16979] = "léi,luò";
	dict[16981] = "céng";
	dict[16982] = "líng";
	dict[16984] = "cóng";
	dict[16985] = "yún";
	dict[16986] = "méng";
	dict[16987] = "yù";
	dict[16988] = "zhì";
	dict[16989] = "qǐ";
	dict[16990] = "dǎn";
	dict[16991] = "huò";
	dict[16992] = "wéi";
	dict[16993] = "tán";
	dict[16994] = "sè";
	dict[16995] = "xiè";
	dict[16996] = "sǒu";
	dict[16997] = "sǒng";
	dict[16999] = "liú,liǔ";
	dict[17e3] = "yì";
	dict[17002] = "lèi";
	dict[17003] = "lí";
	dict[17004] = "fèi";
	dict[17005] = "liè";
	dict[17006] = "lìn";
	dict[17007] = "xiàn";
	dict[17008] = "yáo";
	dict[17010] = "biè,mí";
	dict[17011] = "xiǎn";
	dict[17012] = "ráng,rǎng";
	dict[17013] = "zhuàn";
	dict[17015] = "dàn,jìn,yán";
	dict[17016] = "biàn";
	dict[17017] = "líng,liǔ";
	dict[17018] = "hóng";
	dict[17019] = "qí";
	dict[17020] = "liào";
	dict[17021] = "bǎn";
	dict[17022] = "mì,bì";
	dict[17023] = "hú,luò";
	dict[17024] = "hú";
	dict[17026] = "cè,sè";
	dict[17027] = "pèi";
	dict[17028] = "qióng";
	dict[17029] = "míng";
	dict[17030] = "jiù,qiǔ";
	dict[17031] = "bù";
	dict[17032] = "méi";
	dict[17033] = "sǎn";
	dict[17034] = "mèi";
	dict[17037] = "lí";
	dict[17038] = "quǎn";
	dict[17040] = "èn,huá,huàn,hún";
	dict[17041] = "xiǎng";
	dict[17043] = "shì";
	dict[17046] = "lǎn,nǎn";
	dict[17047] = "huáng,huǎng";
	dict[17048] = "jiù";
	dict[17049] = "yán";
	dict[17050] = "duī";
	dict[17051] = "sǎ";
	dict[17052] = "tuán";
	dict[17053] = "xiè";
	dict[17054] = "zhé";
	dict[17055] = "mén";
	dict[17056] = "xì";
	dict[17057] = "mán";
	dict[17059] = "huáng";
	dict[17060] = "tán";
	dict[17061] = "xiào";
	dict[17062] = "yá,yè";
	dict[17063] = "bì";
	dict[17064] = "luó";
	dict[17065] = "fán,fàn";
	dict[17066] = "lì";
	dict[17067] = "cuǐ,mí";
	dict[17068] = "chà";
	dict[17069] = "chóu,dào";
	dict[17070] = "dí,zhé,zhè";
	dict[17071] = "kuàng";
	dict[17072] = "chǔ";
	dict[17074] = "chǎn";
	dict[17075] = "mí";
	dict[17076] = "qiàn";
	dict[17077] = "qiú";
	dict[17078] = "zhèn";
	dict[17082] = "gǔ,hù";
	dict[17083] = "yǎn";
	dict[17084] = "chǐ";
	dict[17085] = "guài";
	dict[17086] = "mù";
	dict[17087] = "bó,kù";
	dict[17088] = "kuà,huà";
	dict[17089] = "gěng";
	dict[17090] = "yáo";
	dict[17091] = "mào";
	dict[17092] = "wǎng";
	dict[17096] = "rú";
	dict[17097] = "jué,kě,xué";
	dict[17098] = "zhēng";
	dict[17099] = "mín";
	dict[17100] = "jiǎng";
	dict[17102] = "zhàn";
	dict[17103] = "zuò";
	dict[17104] = "yuè";
	dict[17105] = "bǐng";
	dict[17107] = "zhòu";
	dict[17108] = "bì";
	dict[17109] = "rèn";
	dict[17110] = "yù";
	dict[17112] = "chuò,zhuì";
	dict[17113] = "ěr";
	dict[17114] = "yì";
	dict[17115] = "mí,mǐ";
	dict[17116] = "qìng";
	dict[17118] = "wǎng";
	dict[17119] = "jì";
	dict[17120] = "bǔ";
	dict[17122] = "biè,biē";
	dict[17123] = "fán,pán";
	dict[17124] = "yào,yuè";
	dict[17125] = "lí";
	dict[17126] = "fán";
	dict[17127] = "qú";
	dict[17128] = "fǔ";
	dict[17129] = "ér";
	dict[17131] = "zhēng";
	dict[17133] = "huò,yù";
	dict[17134] = "jìn,qián";
	dict[17135] = "qǐ,qìng";
	dict[17136] = "jú";
	dict[17137] = "lái";
	dict[17138] = "chě,shéng,xǐng,zhè";
	dict[17139] = "bèi,mì";
	dict[17140] = "niù,rǒng,róu,rǔ";
	dict[17141] = "yì";
	dict[17142] = "xù";
	dict[17143] = "liú,móu";
	dict[17144] = "xún";
	dict[17145] = "fú,fù";
	dict[17147] = "nín";
	dict[17148] = "tǐng,yíng,tīng";
	dict[17149] = "běng,pěng";
	dict[17150] = "zhǎ";
	dict[17154] = "òu";
	dict[17155] = "shuò";
	dict[17156] = "gěng";
	dict[17157] = "táng";
	dict[17158] = "guì";
	dict[17159] = "suǒ";
	dict[17160] = "tà";
	dict[17162] = "yáo,yóu";
	dict[17164] = "qì,qiè,qǔ";
	dict[17165] = "hàn,jǐn";
	dict[17167] = "mì,miàn";
	dict[17168] = "mì";
	dict[17170] = "lù";
	dict[17171] = "fán";
	dict[17172] = "òu";
	dict[17173] = "mí,mó";
	dict[17174] = "jié";
	dict[17175] = "fǔ";
	dict[17176] = "mí";
	dict[17177] = "huǎng";
	dict[17178] = "sù";
	dict[17179] = "yáo";
	dict[17180] = "niè";
	dict[17181] = "jìn";
	dict[17182] = "liǎn";
	dict[17183] = "bì";
	dict[17184] = "qìng,yǎn,yìn";
	dict[17185] = "tǐ";
	dict[17186] = "líng";
	dict[17187] = "zuǎn";
	dict[17188] = "zhǐ";
	dict[17189] = "yǐn";
	dict[17190] = "dǎo";
	dict[17191] = "chóu";
	dict[17192] = "cài";
	dict[17193] = "mì,miè";
	dict[17194] = "yán";
	dict[17195] = "lǎn";
	dict[17196] = "chóng";
	dict[17199] = "guàn,quán";
	dict[17200] = "shè";
	dict[17201] = "luò";
	dict[17203] = "shī";
	dict[17204] = "luò";
	dict[17205] = "zhú,zhǔ";
	dict[17207] = "chōu,chóu";
	dict[17208] = "juàn";
	dict[17209] = "jiǒng";
	dict[17210] = "ěr";
	dict[17211] = "yì";
	dict[17212] = "ruì";
	dict[17213] = "cǎi";
	dict[17214] = "rén";
	dict[17215] = "fú";
	dict[17216] = "lán";
	dict[17217] = "suì";
	dict[17218] = "yú";
	dict[17219] = "yáo,yóu";
	dict[17220] = "diǎn";
	dict[17221] = "líng";
	dict[17222] = "zhù";
	dict[17223] = "tà";
	dict[17224] = "píng";
	dict[17225] = "qián,zhǎi";
	dict[17226] = "jué";
	dict[17227] = "chuí";
	dict[17228] = "bù,fú";
	dict[17229] = "gǔ,gù,guàng,kòu";
	dict[17230] = "cùn";
	dict[17232] = "hǎn,hàn";
	dict[17233] = "hǎn";
	dict[17234] = "mǒu";
	dict[17235] = "hù,yá";
	dict[17236] = "hóng";
	dict[17237] = "dǐ";
	dict[17238] = "fú,fù,hài,xiè";
	dict[17239] = "xuàn";
	dict[17240] = "mí";
	dict[17241] = "méi";
	dict[17242] = "làng";
	dict[17243] = "gù";
	dict[17244] = "zhào";
	dict[17245] = "tà,zǎn";
	dict[17246] = "yù";
	dict[17247] = "zòng";
	dict[17248] = "lí";
	dict[17249] = "liào,lù";
	dict[17250] = "wú,wǔ";
	dict[17251] = "léi";
	dict[17252] = "jǐ";
	dict[17253] = "lèi,lì";
	dict[17254] = "lí";
	dict[17256] = "bó,fèi";
	dict[17257] = "ǎng,yǎng";
	dict[17258] = "kuì,wà";
	dict[17259] = "tuó";
	dict[17262] = "zhào";
	dict[17263] = "guǐ,jì";
	dict[17265] = "xú";
	dict[17266] = "nái,ní,nì";
	dict[17267] = "chuò,jué,què";
	dict[17268] = "duò,ruí,wěi,wèi";
	dict[17270] = "dòng";
	dict[17271] = "guì,huì,wěi";
	dict[17272] = "bó";
	dict[17274] = "huán";
	dict[17275] = "xuǎn";
	dict[17276] = "cán";
	dict[17277] = "lì";
	dict[17278] = "tuí,yǎn";
	dict[17279] = "huáng";
	dict[17280] = "xuè,yuè";
	dict[17281] = "hú";
	dict[17282] = "bǎo";
	dict[17283] = "rǎn";
	dict[17284] = "tiáo";
	dict[17285] = "fù,luò,pò";
	dict[17286] = "liào";
	dict[17288] = "yì";
	dict[17289] = "shù,yù";
	dict[17290] = "pò";
	dict[17291] = "hè,kào";
	dict[17292] = "cù";
	dict[17294] = "nà";
	dict[17295] = "àn,hán";
	dict[17296] = "chǎo";
	dict[17297] = "lù";
	dict[17298] = "zhǎn";
	dict[17299] = "tà";
	dict[17303] = "qiáo";
	dict[17304] = "sù";
	dict[17306] = "guàn,huì";
	dict[17309] = "chú,zhù";
	dict[17311] = "ér,nuò";
	dict[17312] = "ér,nuó";
	dict[17313] = "nuǎn,ruǎn";
	dict[17314] = "qǐ";
	dict[17315] = "sì,xìn";
	dict[17316] = "chú,jú";
	dict[17318] = "yǎn";
	dict[17319] = "bàng,póu";
	dict[17320] = "àn,yè";
	dict[17322] = "nè";
	dict[17323] = "chuàng,zǒng";
	dict[17324] = "bēi,bà";
	dict[17325] = "cāo";
	dict[17326] = "tì";
	dict[17327] = "hàn";
	dict[17328] = "zuó";
	dict[17329] = "bēi,bà";
	dict[17330] = "zhé";
	dict[17331] = "wà,yuè";
	dict[17332] = "shèng";
	dict[17333] = "bì";
	dict[17334] = "èr";
	dict[17335] = "zhù";
	dict[17336] = "wù";
	dict[17337] = "wén";
	dict[17338] = "zhǐ,zhì";
	dict[17339] = "zhǒu";
	dict[17340] = "lù";
	dict[17341] = "wén,wèn";
	dict[17342] = "gǔn";
	dict[17343] = "qiú,xiòng";
	dict[17344] = "là";
	dict[17345] = "zǎi";
	dict[17346] = "sǒu";
	dict[17347] = "mián";
	dict[17348] = "zhì";
	dict[17349] = "qì";
	dict[17350] = "cáo";
	dict[17351] = "piào";
	dict[17352] = "lián";
	dict[17354] = "lóng";
	dict[17355] = "sù";
	dict[17356] = "qì,yì";
	dict[17357] = "yuàn";
	dict[17358] = "féng,hàn";
	dict[17360] = "jué,zhuò";
	dict[17361] = "dì,zhì";
	dict[17362] = "piàn";
	dict[17363] = "guǎn";
	dict[17364] = "niǔ";
	dict[17365] = "rěn,rùn";
	dict[17366] = "zhèn";
	dict[17367] = "gài,kuì";
	dict[17368] = "pǐ,pì";
	dict[17369] = "tǎn";
	dict[17370] = "chǎo,miǎo";
	dict[17371] = "chǔn";
	dict[17373] = "chún,zhuǎn";
	dict[17374] = "mò";
	dict[17375] = "biè,bié";
	dict[17376] = "qì";
	dict[17377] = "shì";
	dict[17378] = "bǐ";
	dict[17379] = "jué,qù,qū";
	dict[17380] = "sì";
	dict[17382] = "huá,tián,wǎn";
	dict[17383] = "ná";
	dict[17384] = "huǐ";
	dict[17386] = "èr";
	dict[17388] = "móu";
	dict[17390] = "xí,xié";
	dict[17391] = "zhì";
	dict[17392] = "rěn,chǔn";
	dict[17393] = "jú";
	dict[17394] = "dié";
	dict[17395] = "zhè";
	dict[17396] = "shào,shè";
	dict[17397] = "měng";
	dict[17398] = "bì";
	dict[17399] = "hàn";
	dict[17400] = "yú";
	dict[17401] = "xiàn";
	dict[17403] = "néng";
	dict[17404] = "cán";
	dict[17405] = "bù";
	dict[17407] = "qǐ";
	dict[17408] = "jì";
	dict[17409] = "niǎo,zhuó";
	dict[17410] = "lù";
	dict[17411] = "jiǒng";
	dict[17412] = "hàn,liǎn,xiàn";
	dict[17413] = "yí";
	dict[17414] = "cǎi,cài";
	dict[17415] = "chún";
	dict[17416] = "zhí";
	dict[17417] = "zì";
	dict[17418] = "dá,hún,hùn";
	dict[17420] = "tiǎn,zhòu";
	dict[17421] = "zhòu";
	dict[17423] = "chǔn";
	dict[17425] = "zhé";
	dict[17427] = "róu,rù";
	dict[17428] = "bìn";
	dict[17429] = "jí";
	dict[17430] = "yí";
	dict[17431] = "dǔ";
	dict[17432] = "jué";
	dict[17433] = "gé,yì";
	dict[17434] = "jí,jì";
	dict[17435] = "dā";
	dict[17436] = "chēn";
	dict[17437] = "suǒ,suò";
	dict[17438] = "ruò";
	dict[17439] = "xiàng";
	dict[17440] = "huǎng";
	dict[17441] = "qí";
	dict[17442] = "zhù";
	dict[17443] = "cuò,sǔn";
	dict[17444] = "chí,cuó,qì,zhàn";
	dict[17445] = "wěng";
	dict[17447] = "kào";
	dict[17448] = "gǔ";
	dict[17449] = "kǎi";
	dict[17450] = "fàn,juǎn";
	dict[17452] = "cáo";
	dict[17453] = "zhì";
	dict[17454] = "chǎn";
	dict[17455] = "léi";
	dict[17458] = "zhé";
	dict[17459] = "yú";
	dict[17460] = "guì";
	dict[17461] = "huáng";
	dict[17462] = "jǐn";
	dict[17464] = "guó,huò";
	dict[17465] = "sào,sōu";
	dict[17466] = "tàn";
	dict[17468] = "xì";
	dict[17469] = "mán";
	dict[17470] = "duó";
	dict[17471] = "áo,ǎo";
	dict[17472] = "pì";
	dict[17473] = "wù";
	dict[17474] = "ǎi,xì";
	dict[17475] = "méng";
	dict[17476] = "pì,yì";
	dict[17477] = "méng";
	dict[17478] = "yǎng";
	dict[17479] = "zhì";
	dict[17480] = "bó";
	dict[17481] = "yíng";
	dict[17482] = "wéi,wèi";
	dict[17483] = "náo,rǎng";
	dict[17484] = "lán";
	dict[17485] = "yàn,yǐng";
	dict[17486] = "chǎn";
	dict[17487] = "quán";
	dict[17488] = "zhěn";
	dict[17489] = "pú";
	dict[17491] = "tái,tǎi";
	dict[17492] = "fèi";
	dict[17493] = "shǔ";
	dict[17495] = "dàng";
	dict[17496] = "chá,cuó";
	dict[17497] = "rán";
	dict[17498] = "tián";
	dict[17499] = "chǐ,shì,yì";
	dict[17500] = "tà";
	dict[17501] = "jiǎ";
	dict[17502] = "shùn";
	dict[17503] = "huáng";
	dict[17504] = "liǎo";
	dict[17505] = "chā";
	dict[17507] = "chēn";
	dict[17508] = "jìn,jìng";
	dict[17509] = "è,sà";
	dict[17510] = "gōu";
	dict[17511] = "fú";
	dict[17512] = "duò";
	dict[17514] = "è";
	dict[17516] = "yào";
	dict[17517] = "dì,zhì";
	dict[17519] = "dì";
	dict[17520] = "bù";
	dict[17521] = "mán,wǎn";
	dict[17522] = "chè,zhái,zhào";
	dict[17523] = "lún";
	dict[17524] = "qí";
	dict[17525] = "mù";
	dict[17526] = "cán,qiàn";
	dict[17531] = "yóu";
	dict[17533] = "dá,tà";
	dict[17535] = "sù";
	dict[17536] = "fú";
	dict[17537] = "jì,xí,xiào,yà";
	dict[17538] = "jiǎng,xiǎng";
	dict[17539] = "zào";
	dict[17540] = "bó,fù";
	dict[17541] = "téng";
	dict[17542] = "chè";
	dict[17543] = "fù";
	dict[17544] = "bǔ,fèi";
	dict[17545] = "wǔ";
	dict[17547] = "yǎng";
	dict[17548] = "mìng";
	dict[17549] = "pǎng";
	dict[17550] = "mǎng";
	dict[17552] = "méng";
	dict[17553] = "cǎo";
	dict[17554] = "tiáo,yǎo,yóu";
	dict[17555] = "kǎi";
	dict[17556] = "bài";
	dict[17557] = "xiǎo";
	dict[17558] = "xìn";
	dict[17559] = "qì";
	dict[17562] = "shǎo";
	dict[17563] = "héng,huàn";
	dict[17564] = "niú";
	dict[17565] = "xiáo";
	dict[17566] = "chén";
	dict[17568] = "fēng,xiá";
	dict[17569] = "yǐn";
	dict[17570] = "áng,yìng";
	dict[17571] = "rǎn";
	dict[17572] = "rì";
	dict[17573] = "fà,liǔ,mán";
	dict[17574] = "fàn";
	dict[17575] = "qù";
	dict[17576] = "shǐ";
	dict[17577] = "hé,xiá";
	dict[17578] = "biàn";
	dict[17579] = "dài";
	dict[17580] = "mò";
	dict[17581] = "děng";
	dict[17586] = "chà";
	dict[17587] = "duǒ";
	dict[17588] = "yǒu";
	dict[17589] = "hào";
	dict[17591] = "guā";
	dict[17592] = "xián,xuè,yuè";
	dict[17593] = "lèi";
	dict[17594] = "jǐn";
	dict[17595] = "qǐ";
	dict[17596] = "qū";
	dict[17597] = "méi,wǎng";
	dict[17599] = "liáo";
	dict[17602] = "yán";
	dict[17603] = "yì";
	dict[17604] = "yín";
	dict[17605] = "qí";
	dict[17606] = "zhé";
	dict[17607] = "xì";
	dict[17608] = "yì";
	dict[17609] = "yé";
	dict[17610] = "è,wú,yú";
	dict[17612] = "zhì";
	dict[17613] = "hǎn";
	dict[17614] = "chuò";
	dict[17616] = "chún";
	dict[17617] = "bǐng,píng";
	dict[17618] = "kuǎi";
	dict[17619] = "chóu";
	dict[17621] = "tuǒ,wěi";
	dict[17622] = "qióng";
	dict[17624] = "jiù";
	dict[17626] = "cú";
	dict[17627] = "fǔ,gǔ,qū";
	dict[17628] = "zhī";
	dict[17629] = "méng,mèng";
	dict[17630] = "lì";
	dict[17631] = "liè";
	dict[17632] = "tà";
	dict[17633] = "zhī";
	dict[17634] = "gù";
	dict[17635] = "liǎng";
	dict[17637] = "là";
	dict[17638] = "diǎn";
	dict[17639] = "cì,jí";
	dict[17643] = "jì,qí";
	dict[17645] = "chà";
	dict[17646] = "mào";
	dict[17647] = "dú";
	dict[17649] = "chái,zhài";
	dict[17650] = "ruì,sà";
	dict[17651] = "hěn";
	dict[17652] = "ruán,ruǎn";
	dict[17654] = "lài";
	dict[17655] = "xìng";
	dict[17657] = "yì";
	dict[17658] = "měi,wèi";
	dict[17660] = "hè,máng";
	dict[17661] = "jì";
	dict[17662] = "suō";
	dict[17663] = "hǎn,hàn";
	dict[17665] = "lì";
	dict[17666] = "zǐ";
	dict[17667] = "zǔ";
	dict[17668] = "yáo";
	dict[17670] = "lí";
	dict[17671] = "qǐ,yǐ";
	dict[17672] = "gǎn,gòng,nǒu";
	dict[17673] = "lì";
	dict[17676] = "gāo";
	dict[17678] = "sù";
	dict[17679] = "chòu";
	dict[17681] = "xié,yé";
	dict[17682] = "bèi";
	dict[17683] = "xǔ";
	dict[17684] = "jìng,qiǎn,qiú,yǐng";
	dict[17685] = "pú";
	dict[17686] = "líng";
	dict[17687] = "xiáng";
	dict[17688] = "zuò";
	dict[17689] = "diào";
	dict[17690] = "chún";
	dict[17691] = "qǐng";
	dict[17692] = "nán";
	dict[17695] = "chí,chǐ,yí";
	dict[17696] = "shǎo";
	dict[17697] = "yú";
	dict[17698] = "huá,huà";
	dict[17699] = "lí";
	dict[17700] = "pā";
	dict[17703] = "lí,lì";
	dict[17706] = "duì,shuǎng";
	dict[17707] = "shū";
	dict[17708] = "yì";
	dict[17709] = "nìng,zhǒu";
	dict[17710] = "sī";
	dict[17711] = "hú,huà,kù";
	dict[17712] = "fú,fù";
	dict[17714] = "chéng,zhuó";
	dict[17715] = "nǎn,rán";
	dict[17716] = "cè,cuì";
	dict[17718] = "tí";
	dict[17719] = "qín";
	dict[17720] = "biǎo";
	dict[17721] = "suì";
	dict[17722] = "wéi";
	dict[17724] = "sè";
	dict[17725] = "ài";
	dict[17726] = "è,qì,zè";
	dict[17727] = "jiè,zǔn";
	dict[17728] = "kuǎn";
	dict[17729] = "fěi";
	dict[17731] = "yìn";
	dict[17733] = "sǎo";
	dict[17734] = "dòu";
	dict[17735] = "huì";
	dict[17736] = "xiè";
	dict[17737] = "zé";
	dict[17738] = "tán";
	dict[17739] = "chǎng,táng";
	dict[17740] = "zhì";
	dict[17741] = "yì";
	dict[17742] = "fú";
	dict[17743] = "é";
	dict[17745] = "jùn";
	dict[17747] = "chá,chuì";
	dict[17748] = "xián";
	dict[17749] = "màn";
	dict[17751] = "bì,pèi";
	dict[17752] = "líng";
	dict[17753] = "jié";
	dict[17754] = "kuì";
	dict[17755] = "jiá";
	dict[17758] = "làng,liáo";
	dict[17760] = "fèi";
	dict[17761] = "lǘ";
	dict[17762] = "zhǎ";
	dict[17763] = "hé,kě,shé";
	dict[17764] = "qí,jī";
	dict[17765] = "nǐ,yí";
	dict[17766] = "yíng";
	dict[17767] = "xiào";
	dict[17768] = "téng";
	dict[17769] = "lǎo";
	dict[17770] = "zé";
	dict[17771] = "kuí";
	dict[17772] = "jiāng";
	dict[17773] = "qián";
	dict[17774] = "jú";
	dict[17775] = "piáo";
	dict[17776] = "bàn,fán,fàn";
	dict[17777] = "dǒu,dòu,tóu";
	dict[17778] = "lǐn";
	dict[17779] = "mí";
	dict[17780] = "zhuó";
	dict[17781] = "xié,xiè";
	dict[17782] = "hù";
	dict[17783] = "mí";
	dict[17785] = "zá";
	dict[17786] = "cóng";
	dict[17787] = "gé,lì,lí";
	dict[17788] = "nán,nàn,rán";
	dict[17789] = "zhú";
	dict[17790] = "yán,yín";
	dict[17791] = "hàn";
	dict[17793] = "yì";
	dict[17794] = "luán";
	dict[17795] = "yuè";
	dict[17796] = "rán";
	dict[17797] = "líng";
	dict[17798] = "niàng";
	dict[17799] = "yù";
	dict[17800] = "nüè";
	dict[17802] = "yí,yì";
	dict[17803] = "nüè";
	dict[17804] = "qín,yá,yì";
	dict[17805] = "qián";
	dict[17806] = "xiá";
	dict[17807] = "chǔ";
	dict[17808] = "jìn,yín";
	dict[17809] = "mì";
	dict[17810] = "xī";
	dict[17811] = "nà";
	dict[17812] = "hàn,kǎn";
	dict[17813] = "zǔ";
	dict[17814] = "xiá";
	dict[17815] = "yán,yàn";
	dict[17816] = "tú";
	dict[17819] = "suǒ";
	dict[17820] = "yín,yìn";
	dict[17821] = "chóng";
	dict[17822] = "zhǒu";
	dict[17823] = "mǎng,méng";
	dict[17824] = "yuán";
	dict[17826] = "miáo";
	dict[17827] = "zǎo";
	dict[17828] = "wǎn,yuán";
	dict[17829] = "máo";
	dict[17830] = "qū,zhuō";
	dict[17831] = "nà";
	dict[17832] = "shí";
	dict[17833] = "bì,pì";
	dict[17834] = "cí";
	dict[17835] = "bàng";
	dict[17836] = "jiǎ";
	dict[17837] = "juàn";
	dict[17838] = "xiǎng";
	dict[17839] = "kuí,wā";
	dict[17840] = "pài";
	dict[17842] = "xún";
	dict[17843] = "zhà";
	dict[17844] = "yáo";
	dict[17845] = "kūn";
	dict[17848] = "é";
	dict[17849] = "yáng";
	dict[17850] = "tiáo,zhào";
	dict[17851] = "yóu";
	dict[17852] = "jué,xuè";
	dict[17853] = "lí";
	dict[17855] = "lí";
	dict[17857] = "jì,qī";
	dict[17858] = "hǔ";
	dict[17859] = "zhàn";
	dict[17860] = "fǔ,pì";
	dict[17861] = "cháng";
	dict[17862] = "guǎn,wěi";
	dict[17863] = "jú,qú";
	dict[17864] = "méng";
	dict[17866] = "chéng,tàn";
	dict[17867] = "móu";
	dict[17869] = "lǐ";
	dict[17872] = "shī";
	dict[17873] = "yì";
	dict[17874] = "bìng";
	dict[17876] = "hóu";
	dict[17877] = "wǎn";
	dict[17878] = "dì";
	dict[17880] = "gé,kè";
	dict[17881] = "hán";
	dict[17882] = "bó";
	dict[17884] = "liú";
	dict[17885] = "cán";
	dict[17886] = "cán,chěn,shǎn,yǐn,zàn,zhàn";
	dict[17887] = "yì";
	dict[17888] = "xuán";
	dict[17889] = "yán";
	dict[17890] = "zǎo";
	dict[17891] = "gǎo,hàn";
	dict[17892] = "yóng";
	dict[17893] = "zōng";
	dict[17896] = "yú";
	dict[17898] = "zhè";
	dict[17899] = "má";
	dict[17902] = "shuǎng";
	dict[17903] = "jìn";
	dict[17904] = "guàn";
	dict[17905] = "pú";
	dict[17906] = "lìn";
	dict[17908] = "tíng";
	dict[17910] = "là,lì";
	dict[17911] = "yì";
	dict[17913] = "cì";
	dict[17914] = "yǎn";
	dict[17915] = "jié";
	dict[17917] = "wèi";
	dict[17918] = "xiǎn";
	dict[17919] = "níng";
	dict[17920] = "fù";
	dict[17921] = "gé,jié,kě";
	dict[17923] = "mò";
	dict[17924] = "fù,zhù";
	dict[17925] = "nái,nài,něng";
	dict[17926] = "xiǎn";
	dict[17927] = "wén,wèn";
	dict[17928] = "lì";
	dict[17929] = "cán";
	dict[17930] = "miè";
	dict[17932] = "nì";
	dict[17933] = "chài";
	dict[17935] = "xù";
	dict[17937] = "mài,mò";
	dict[17938] = "zuī";
	dict[17939] = "kàn,kào";
	dict[17940] = "kā";
	dict[17941] = "háng";
	dict[17944] = "yù";
	dict[17945] = "wèi";
	dict[17946] = "zú";
	dict[17949] = "yì";
	dict[17951] = "diāo";
	dict[17952] = "fú,pò";
	dict[17953] = "bǐ";
	dict[17954] = "zhǔ";
	dict[17955] = "zǐ";
	dict[17956] = "shù";
	dict[17957] = "xiá,jiá";
	dict[17958] = "ní,nǐ";
	dict[17960] = "jiǎo";
	dict[17961] = "xuàn,xún";
	dict[17963] = "nòu,rú";
	dict[17964] = "róng";
	dict[17965] = "dié,zhì";
	dict[17966] = "sà,sàng,xì";
	dict[17967] = "shāo";
	dict[17968] = "shān";
	dict[17969] = "yù";
	dict[17971] = "jīn";
	dict[17973] = "lù";
	dict[17974] = "hàn,yǎn";
	dict[17976] = "yì";
	dict[17977] = "zuì";
	dict[17978] = "zhàn";
	dict[17979] = "sù,yù";
	dict[17980] = "wǎn";
	dict[17981] = "ní,nǐ,nì";
	dict[17982] = "guǎn";
	dict[17983] = "jué";
	dict[17984] = "běng";
	dict[17985] = "cán";
	dict[17987] = "duò,kuò,pán,ruán";
	dict[17988] = "qì,zhǎ";
	dict[17989] = "yào";
	dict[17990] = "guì,kuì";
	dict[17991] = "nuǎn,ruán";
	dict[17992] = "hóu";
	dict[17993] = "xún,zǎn";
	dict[17994] = "xiè";
	dict[17996] = "huì,kuì";
	dict[17998] = "xié";
	dict[17999] = "bó";
	dict[18e3] = "kè";
	dict[18002] = "xù";
	dict[18003] = "bǎi";
	dict[18004] = "yǔ";
	dict[18005] = "chù,zǒng";
	dict[18007] = "tì";
	dict[18008] = "chǔ,zú";
	dict[18009] = "chí";
	dict[18010] = "niǎo";
	dict[18011] = "guàn,gǔn";
	dict[18012] = "féng";
	dict[18013] = "xiè,dié";
	dict[18015] = "duò,wéi";
	dict[18016] = "jué,wò";
	dict[18017] = "huì,kuì";
	dict[18018] = "zèng";
	dict[18019] = "sà";
	dict[18020] = "duǒ,duò";
	dict[18021] = "líng";
	dict[18022] = "méng";
	dict[18024] = "guǒ,luǒ";
	dict[18025] = "méng";
	dict[18026] = "lóng,màng,pàn";
	dict[18028] = "yìng";
	dict[18030] = "guàn";
	dict[18031] = "cù,zhuó";
	dict[18032] = "lí";
	dict[18033] = "dú,shǔ";
	dict[18035] = "è";
	dict[18037] = "xī";
	dict[18039] = "dé,zhé";
	dict[18040] = "dé,de";
	dict[18041] = "jiǎng,nǎo,xiàn,xiǎng";
	dict[18042] = "lián,liǎn,qiǎn";
	dict[18044] = "shào";
	dict[18045] = "xì,xié";
	dict[18046] = "shī";
	dict[18047] = "wèi";
	dict[18050] = "hè,xì";
	dict[18051] = "yóu";
	dict[18052] = "lù";
	dict[18053] = "lái,lài";
	dict[18054] = "ǒu,yǎo,yǐng";
	dict[18055] = "shěng,zhì";
	dict[18056] = "juàn,wù,zhuàn";
	dict[18057] = "qì,xì";
	dict[18059] = "yùn";
	dict[18061] = "qì";
	dict[18062] = "chuāng";
	dict[18063] = "lèng,lì,lìn";
	dict[18064] = "jí";
	dict[18065] = "mái";
	dict[18066] = "chuáng,zhuàng";
	dict[18067] = "niǎn,shěn";
	dict[18068] = "bìn";
	dict[18069] = "lì,luán";
	dict[18070] = "líng";
	dict[18071] = "gāng";
	dict[18072] = "chén,chéng";
	dict[18073] = "xuān";
	dict[18074] = "xiǎn";
	dict[18075] = "hú";
	dict[18077] = "zú";
	dict[18078] = "dǎi";
	dict[18079] = "dǎi";
	dict[18080] = "hùn";
	dict[18081] = "sāi";
	dict[18082] = "chè";
	dict[18083] = "tí,tì";
	dict[18085] = "nuò";
	dict[18086] = "zhì";
	dict[18087] = "liú";
	dict[18088] = "fèi";
	dict[18089] = "jiǎo,jiào";
	dict[18091] = "áo,xí";
	dict[18092] = "lín";
	dict[18093] = "xuān";
	dict[18094] = "réng";
	dict[18095] = "tǎo,zhèn";
	dict[18096] = "pǐ";
	dict[18097] = "xìn";
	dict[18098] = "shàn";
	dict[18099] = "xiè,zhì";
	dict[18100] = "wà";
	dict[18101] = "tǒu";
	dict[18103] = "xì,yǐ,yì";
	dict[18104] = "xiè";
	dict[18105] = "pǐ";
	dict[18106] = "yáo";
	dict[18107] = "yáo";
	dict[18109] = "hào";
	dict[18110] = "nín,rén";
	dict[18111] = "yìn";
	dict[18112] = "fǎn";
	dict[18113] = "nán";
	dict[18114] = "chí,chǐ";
	dict[18115] = "wàng";
	dict[18116] = "yuǎn";
	dict[18117] = "xiá";
	dict[18118] = "zhòu";
	dict[18119] = "yuǎn";
	dict[18120] = "shì";
	dict[18121] = "mì,miàn";
	dict[18123] = "gé,jì";
	dict[18124] = "páo,táo";
	dict[18125] = "fèi";
	dict[18126] = "hù,xuè,yù";
	dict[18127] = "ní";
	dict[18128] = "cí";
	dict[18129] = "mì";
	dict[18130] = "biàn";
	dict[18132] = "ná";
	dict[18133] = "yù";
	dict[18134] = "è,yì";
	dict[18135] = "zhǐ";
	dict[18136] = "nín,rén";
	dict[18137] = "xù";
	dict[18139] = "huì,qì";
	dict[18140] = "xùn";
	dict[18141] = "náo";
	dict[18142] = "hǎn,hàn";
	dict[18143] = "jiá";
	dict[18144] = "dòu,xiáng";
	dict[18145] = "huà";
	dict[18148] = "cù";
	dict[18149] = "xì";
	dict[18150] = "sòng";
	dict[18151] = "mí";
	dict[18152] = "xìn";
	dict[18153] = "wù";
	dict[18154] = "qióng,wěi";
	dict[18155] = "zhèng";
	dict[18156] = "táo";
	dict[18157] = "xìng";
	dict[18158] = "jiù";
	dict[18159] = "jù";
	dict[18160] = "hún,hùn";
	dict[18161] = "tí";
	dict[18162] = "mán,màn";
	dict[18163] = "jiǎn,yàn";
	dict[18164] = "qǐ";
	dict[18165] = "shòu";
	dict[18166] = "lěi";
	dict[18167] = "wǎn";
	dict[18168] = "chè,shǎn";
	dict[18169] = "càn";
	dict[18170] = "jiè";
	dict[18171] = "yòu";
	dict[18172] = "huǐ";
	dict[18173] = "zhǎ";
	dict[18174] = "sù";
	dict[18175] = "gé";
	dict[18176] = "nǎo";
	dict[18177] = "xì";
	dict[18180] = "chí";
	dict[18181] = "wéi";
	dict[18182] = "mò,nèi,shé,suì,zhé";
	dict[18183] = "gǔn,gùn";
	dict[18184] = "jiǎo";
	dict[18186] = "zāo,zào";
	dict[18187] = "huì";
	dict[18188] = "luán";
	dict[18189] = "liáo";
	dict[18190] = "láo,lào";
	dict[18192] = "huī";
	dict[18193] = "qià,wù";
	dict[18194] = "ào";
	dict[18195] = "niè,shè";
	dict[18196] = "suí";
	dict[18197] = "mài";
	dict[18198] = "tàn";
	dict[18199] = "xìn";
	dict[18200] = "jǐng";
	dict[18201] = "án";
	dict[18202] = "tà";
	dict[18203] = "chán,chàn";
	dict[18204] = "wèi";
	dict[18205] = "tuǎn";
	dict[18206] = "jì";
	dict[18207] = "chén,chèn";
	dict[18208] = "chè,zhì";
	dict[18209] = "xù,xuè,yù";
	dict[18210] = "xiǎn";
	dict[18211] = "xī,xīn,yín";
	dict[18215] = "nǎo";
	dict[18217] = "yàn";
	dict[18218] = "qiú";
	dict[18219] = "hóng";
	dict[18220] = "sǒng,xiù";
	dict[18221] = "jùn";
	dict[18222] = "liáo";
	dict[18223] = "jú";
	dict[18224] = "hāo";
	dict[18225] = "mǎn";
	dict[18226] = "liè";
	dict[18228] = "chù,shì";
	dict[18229] = "chǐ,shì";
	dict[18230] = "xiáng";
	dict[18232] = "měi";
	dict[18233] = "shù";
	dict[18234] = "cè";
	dict[18235] = "chǐ,shì";
	dict[18236] = "gú";
	dict[18237] = "yú";
	dict[18239] = "shù";
	dict[18240] = "liáo,liú";
	dict[18241] = "láo";
	dict[18242] = "shù";
	dict[18243] = "zhé";
	dict[18248] = "è";
	dict[18250] = "shà";
	dict[18251] = "zòng";
	dict[18252] = "jué,jùn";
	dict[18253] = "jùn";
	dict[18255] = "lóu,lǒu";
	dict[18256] = "wéi";
	dict[18258] = "zhù";
	dict[18259] = "là,liè";
	dict[18261] = "zhé";
	dict[18262] = "zhǎo";
	dict[18264] = "yì";
	dict[18266] = "ní";
	dict[18269] = "yǐ";
	dict[18270] = "hào";
	dict[18271] = "yà,yè";
	dict[18272] = "huán,yuán";
	dict[18273] = "màn";
	dict[18274] = "màn,méng";
	dict[18275] = "qú";
	dict[18276] = "lǎo,liáo";
	dict[18277] = "háo";
	dict[18279] = "mén,mín";
	dict[18280] = "xián";
	dict[18281] = "zhèn";
	dict[18282] = "shú,shǔ";
	dict[18283] = "zuó";
	dict[18284] = "zhù";
	dict[18285] = "gòu";
	dict[18286] = "xuàn";
	dict[18287] = "yì";
	dict[18288] = "tí,zhì";
	dict[18290] = "jìn";
	dict[18291] = "cán";
	dict[18293] = "bù";
	dict[18294] = "liáng";
	dict[18295] = "zhì";
	dict[18296] = "jì";
	dict[18297] = "wǎn,yuàn";
	dict[18298] = "guàn";
	dict[18300] = "qíng";
	dict[18301] = "ài";
	dict[18302] = "fù";
	dict[18303] = "guì";
	dict[18304] = "gòu,hòu,mǐn";
	dict[18305] = "xiàn,yàn,yǎng,yàng";
	dict[18306] = "ruǎn";
	dict[18307] = "zhì";
	dict[18308] = "biào";
	dict[18309] = "yí";
	dict[18310] = "suǒ";
	dict[18311] = "dié,zhì";
	dict[18312] = "guǐ,guì";
	dict[18313] = "shèng";
	dict[18314] = "xùn";
	dict[18315] = "chèn";
	dict[18316] = "shé";
	dict[18317] = "qíng";
	dict[18320] = "chǔn,shǔn";
	dict[18321] = "hóng";
	dict[18322] = "dòng";
	dict[18323] = "chēng";
	dict[18324] = "wěi";
	dict[18325] = "dié,nǎ,niè,rú,xiè,yú";
	dict[18326] = "shǔ";
	dict[18327] = "cāi";
	dict[18328] = "jí";
	dict[18329] = "zá";
	dict[18330] = "qí";
	dict[18332] = "fù";
	dict[18333] = "ǎo,yù";
	dict[18334] = "fú";
	dict[18335] = "pò";
	dict[18337] = "tǎn";
	dict[18338] = "zhà,zuó";
	dict[18339] = "chě,chè,qiè";
	dict[18340] = "qú";
	dict[18341] = "yòu";
	dict[18342] = "hé,jié";
	dict[18343] = "hòu";
	dict[18344] = "guǐ,kuǐ";
	dict[18345] = "è,ruí";
	dict[18346] = "jiàng";
	dict[18347] = "yǔn";
	dict[18348] = "tòu";
	dict[18349] = "qiǔ,qūn";
	dict[18351] = "fù";
	dict[18352] = "zuó";
	dict[18353] = "hú";
	dict[18355] = "bó,fèi";
	dict[18357] = "juě";
	dict[18358] = "dì,tì";
	dict[18359] = "jué";
	dict[18360] = "fù";
	dict[18361] = "huáng";
	dict[18363] = "yǒng";
	dict[18364] = "chuǐ,cuàn,jiàn,mèi";
	dict[18365] = "suǒ";
	dict[18366] = "chí";
	dict[18367] = "qiān";
	dict[18370] = "mán";
	dict[18371] = "cà,zàn";
	dict[18372] = "qì,zuó";
	dict[18373] = "jiàn,zàn";
	dict[18374] = "bì,bó";
	dict[18375] = "jī";
	dict[18376] = "zhí";
	dict[18377] = "zhú";
	dict[18378] = "qú";
	dict[18379] = "zhǎn,zhàn";
	dict[18380] = "jí,jié";
	dict[18381] = "dián";
	dict[18383] = "lì";
	dict[18384] = "lì";
	dict[18385] = "lǎ,yuè";
	dict[18386] = "quán";
	dict[18388] = "fù";
	dict[18389] = "chà";
	dict[18390] = "tàng";
	dict[18391] = "shì";
	dict[18392] = "hàng";
	dict[18393] = "qiè";
	dict[18394] = "qí";
	dict[18395] = "bó";
	dict[18396] = "nà";
	dict[18397] = "tòu";
	dict[18398] = "chú";
	dict[18399] = "cù";
	dict[18400] = "yuè";
	dict[18401] = "dì";
	dict[18402] = "chén,jiàn,niǎn";
	dict[18403] = "chù";
	dict[18404] = "bì";
	dict[18405] = "máng,méng";
	dict[18406] = "bá,bó,yuán";
	dict[18407] = "tián";
	dict[18408] = "mín";
	dict[18409] = "liě";
	dict[18410] = "fěng";
	dict[18412] = "qiù";
	dict[18413] = "tiáo";
	dict[18414] = "fú";
	dict[18415] = "kuò";
	dict[18416] = "jiǎn";
	dict[18418] = "còng";
	dict[18420] = "zhèn";
	dict[18421] = "qiú";
	dict[18422] = "cuò,zuò";
	dict[18423] = "chì,qì";
	dict[18424] = "kuí";
	dict[18425] = "liè,lìn";
	dict[18426] = "bǎng,bèi,pèi";
	dict[18427] = "dù";
	dict[18428] = "wǔ";
	dict[18429] = "shū";
	dict[18430] = "juě,zhuó";
	dict[18431] = "lù";
	dict[18432] = "chǎng";
	dict[18434] = "chú,chǔ";
	dict[18435] = "liǎng";
	dict[18436] = "tiǎn";
	dict[18437] = "kǔn,tà";
	dict[18438] = "cháng";
	dict[18439] = "jué";
	dict[18440] = "tú";
	dict[18441] = "huà,huàn,huǐ";
	dict[18442] = "fèi";
	dict[18443] = "bǐ,bì,mà";
	dict[18445] = "qiá,xiā";
	dict[18446] = "wò";
	dict[18447] = "jì";
	dict[18448] = "qù";
	dict[18449] = "kuǐ";
	dict[18450] = "hú";
	dict[18451] = "cù,jiù,qù";
	dict[18452] = "suì";
	dict[18455] = "qiù";
	dict[18456] = "pì";
	dict[18457] = "bèi,páng,páo";
	dict[18458] = "wà";
	dict[18459] = "jiǎo,xiào,yáo";
	dict[18460] = "róng";
	dict[18462] = "cù,qí";
	dict[18463] = "dié,shè";
	dict[18464] = "chì";
	dict[18465] = "cuó";
	dict[18466] = "mèng";
	dict[18467] = "xuǎn,xuàn";
	dict[18468] = "duǒ,duò";
	dict[18469] = "bié";
	dict[18470] = "zhè,zhì";
	dict[18471] = "chú";
	dict[18472] = "chàn,mà";
	dict[18473] = "guì";
	dict[18474] = "duàn";
	dict[18475] = "zòu";
	dict[18476] = "dèng";
	dict[18477] = "lái,lài";
	dict[18478] = "téng";
	dict[18479] = "yuè";
	dict[18480] = "quán";
	dict[18481] = "shǔ,zhú";
	dict[18482] = "líng";
	dict[18484] = "qǐn,yǐn,zhěn";
	dict[18485] = "fù";
	dict[18486] = "shè";
	dict[18487] = "tiǎo";
	dict[18489] = "hái";
	dict[18491] = "qióng";
	dict[18492] = "diào,shù,xuè,zhú";
	dict[18493] = "hái";
	dict[18494] = "shǎn,shàn";
	dict[18495] = "wài";
	dict[18496] = "zhǎn";
	dict[18497] = "lǒng";
	dict[18498] = "jiù";
	dict[18499] = "lì";
	dict[18501] = "mǐn,xiǎn,xún,zhèn,zuǎn,chūn";
	dict[18502] = "róng,rǒng";
	dict[18503] = "yuè";
	dict[18504] = "jué";
	dict[18505] = "kǎng";
	dict[18506] = "fán,fǎn,pèi";
	dict[18507] = "qí";
	dict[18508] = "hóng";
	dict[18509] = "fú,fǔ";
	dict[18510] = "lú";
	dict[18511] = "hóng";
	dict[18512] = "tuó";
	dict[18513] = "mín";
	dict[18514] = "tián";
	dict[18515] = "juàn";
	dict[18516] = "qǐ";
	dict[18517] = "zhěng";
	dict[18518] = "jìng";
	dict[18519] = "gǒng";
	dict[18520] = "tián";
	dict[18521] = "láng";
	dict[18522] = "mào";
	dict[18523] = "yìn";
	dict[18524] = "lù";
	dict[18525] = "yǔn,yuān";
	dict[18526] = "jú";
	dict[18527] = "pì";
	dict[18529] = "xié";
	dict[18530] = "biàn";
	dict[18531] = "hún";
	dict[18533] = "róng";
	dict[18534] = "sǎng";
	dict[18535] = "wǔ";
	dict[18536] = "chà,chái,yín";
	dict[18537] = "gǔ,hòu,tǒu,zhěn,kēng";
	dict[18538] = "chán,shàn";
	dict[18539] = "péng";
	dict[18540] = "màn";
	dict[18543] = "shuàng,zǒng";
	dict[18544] = "kěng,kēng";
	dict[18545] = "zhuǎn";
	dict[18546] = "chán";
	dict[18548] = "chuáng,chōng";
	dict[18549] = "suì";
	dict[18550] = "bèi,pì";
	dict[18551] = "kài";
	dict[18553] = "zhì";
	dict[18554] = "wèi";
	dict[18555] = "mín";
	dict[18556] = "líng";
	dict[18558] = "nèi,niè";
	dict[18559] = "líng";
	dict[18560] = "qì";
	dict[18561] = "yuè";
	dict[18563] = "yì";
	dict[18564] = "xǐ,xǐ";
	dict[18565] = "chén";
	dict[18567] = "rǒng,rǒu";
	dict[18568] = "chén,qín";
	dict[18569] = "nóng";
	dict[18570] = "yóu";
	dict[18571] = "jì";
	dict[18572] = "bó";
	dict[18573] = "fǎng,fèn";
	dict[18576] = "cú";
	dict[18577] = "dǐ";
	dict[18578] = "jiāo";
	dict[18579] = "yú";
	dict[18580] = "gé,hé,jiá";
	dict[18581] = "xù";
	dict[18582] = "yù";
	dict[18583] = "hé,qǔ";
	dict[18585] = "bài";
	dict[18586] = "gòng,háng";
	dict[18587] = "jiǒng";
	dict[18589] = "yà";
	dict[18590] = "nù,shù";
	dict[18591] = "yóu";
	dict[18592] = "sòng";
	dict[18593] = "xiè";
	dict[18594] = "càng";
	dict[18595] = "yáo";
	dict[18596] = "shù";
	dict[18597] = "yán,yàn";
	dict[18598] = "shuài";
	dict[18599] = "liào,lǐn,què";
	dict[18601] = "yù";
	dict[18602] = "bó,cuì,jiǎo,nǔ,qián";
	dict[18603] = "suí";
	dict[18605] = "yàn";
	dict[18606] = "lèi";
	dict[18607] = "lín";
	dict[18608] = "tái,tì";
	dict[18609] = "dú,zhà";
	dict[18610] = "yuè";
	dict[18611] = "jǐ,jì";
	dict[18613] = "yún";
	dict[18616] = "jū";
	dict[18617] = "jǔ";
	dict[18618] = "chū";
	dict[18619] = "chén,jìn,tán";
	dict[18620] = "gōng";
	dict[18621] = "xiàng";
	dict[18622] = "xiǎn";
	dict[18624] = "guǐ,wéi";
	dict[18625] = "yǔ";
	dict[18626] = "lěi,lèi";
	dict[18628] = "tú";
	dict[18629] = "chén";
	dict[18630] = "xíng";
	dict[18631] = "qiú";
	dict[18632] = "hàng,liáo,xiàng";
	dict[18634] = "dǎng";
	dict[18635] = "cǎi";
	dict[18636] = "dǐ";
	dict[18637] = "yǎn";
	dict[18641] = "chán";
	dict[18643] = "lí";
	dict[18644] = "suǒ,suò";
	dict[18645] = "mǎ,mà";
	dict[18646] = "mǎ";
	dict[18648] = "táng";
	dict[18649] = "péi";
	dict[18650] = "lóu,lú";
	dict[18651] = "qī";
	dict[18652] = "cuó";
	dict[18653] = "tú";
	dict[18654] = "è";
	dict[18655] = "cán";
	dict[18656] = "jié,tì";
	dict[18657] = "tí,yí";
	dict[18658] = "jí";
	dict[18659] = "dǎng,dào";
	dict[18660] = "jiào,jué";
	dict[18661] = "bǐ,mì";
	dict[18662] = "lèi";
	dict[18663] = "yì";
	dict[18664] = "chún";
	dict[18665] = "chún";
	dict[18666] = "pò";
	dict[18667] = "lí";
	dict[18668] = "zǎi";
	dict[18669] = "tài";
	dict[18670] = "pò";
	dict[18671] = "tiǎn";
	dict[18672] = "jù,yuàn";
	dict[18673] = "xù,yì";
	dict[18674] = "fàn";
	dict[18676] = "xù";
	dict[18677] = "èr";
	dict[18678] = "huó,tián";
	dict[18680] = "rǎn";
	dict[18681] = "fá";
	dict[18682] = "juān";
	dict[18684] = "liáng";
	dict[18685] = "tǐ";
	dict[18686] = "mì";
	dict[18689] = "cén,chè,shè,yín";
	dict[18690] = "méi";
	dict[18691] = "yìn";
	dict[18692] = "miǎn,zhuàn";
	dict[18693] = "tú";
	dict[18694] = "kuí";
	dict[18697] = "mì,míng,mò,rú";
	dict[18698] = "róng";
	dict[18699] = "guó,yù";
	dict[18701] = "mí";
	dict[18702] = "jú";
	dict[18703] = "pǐ";
	dict[18704] = "jǐn";
	dict[18705] = "wàng";
	dict[18706] = "jǐ,jì";
	dict[18707] = "méng";
	dict[18708] = "jiàn,niú,xiàng";
	dict[18709] = "xuè";
	dict[18710] = "bào";
	dict[18711] = "gǎn";
	dict[18712] = "chǎn,qiǎn";
	dict[18713] = "lì";
	dict[18714] = "lǐ,lüè";
	dict[18715] = "qiú";
	dict[18716] = "dùn";
	dict[18717] = "yìng";
	dict[18718] = "yǔn";
	dict[18719] = "chén";
	dict[18720] = "jī,zhǐ";
	dict[18721] = "rǎn";
	dict[18725] = "guǐ";
	dict[18726] = "yuè";
	dict[18727] = "huì";
	dict[18728] = "pì";
	dict[18729] = "chá";
	dict[18730] = "duǒ";
	dict[18731] = "chán";
	dict[18733] = "kuàn,shì,suì,yí";
	dict[18734] = "shè";
	dict[18735] = "xíng";
	dict[18736] = "wěng,yíng";
	dict[18737] = "shì";
	dict[18738] = "chì";
	dict[18739] = "yè";
	dict[18740] = "hán";
	dict[18741] = "fèi";
	dict[18742] = "yè";
	dict[18743] = "yán,yǎn";
	dict[18744] = "zuàn";
	dict[18746] = "yǐn";
	dict[18747] = "duò";
	dict[18748] = "xiàn";
	dict[18751] = "qiè";
	dict[18752] = "chǎn";
	dict[18753] = "hán";
	dict[18754] = "mèng";
	dict[18755] = "yuè";
	dict[18756] = "cù,zǎn,zàn";
	dict[18757] = "qiàn,qín";
	dict[18758] = "jǐn,qín,ròu,wèi";
	dict[18759] = "shàn";
	dict[18760] = "mǔ";
	dict[18764] = "zhèng";
	dict[18765] = "zhì";
	dict[18766] = "chún";
	dict[18767] = "yǔ";
	dict[18768] = "móu";
	dict[18769] = "wàn";
	dict[18770] = "jiàng";
	dict[18772] = "sù";
	dict[18773] = "piě";
	dict[18774] = "tián";
	dict[18775] = "kuǎn";
	dict[18776] = "cù,cuò";
	dict[18777] = "suì";
	dict[18779] = "jié";
	dict[18780] = "jiàn";
	dict[18781] = "áo,āo";
	dict[18782] = "jiǎo";
	dict[18783] = "yè";
	dict[18785] = "yè";
	dict[18786] = "lóng";
	dict[18787] = "záo";
	dict[18788] = "báo,fú";
	dict[18789] = "lián";
	dict[18791] = "huán,xuán";
	dict[18793] = "wéi";
	dict[18794] = "xiǎn";
	dict[18795] = "tiě";
	dict[18796] = "bó";
	dict[18797] = "zhèng";
	dict[18798] = "zhú";
	dict[18799] = "bà,bài,bēi";
	dict[18800] = "mèng";
	dict[18801] = "xiě";
	dict[18804] = "juān";
	dict[18805] = "xiǎo";
	dict[18806] = "lì";
	dict[18807] = "zhá";
	dict[18808] = "mí";
	dict[18810] = "yé";
	dict[18814] = "xiě";
	dict[18818] = "shàn";
	dict[18821] = "shàn,zhǎn";
	dict[18822] = "jué";
	dict[18823] = "jì";
	dict[18824] = "fǎng,hǎn,jí,mǒu,zá,zuǒ";
	dict[18826] = "niǎo";
	dict[18827] = "áo";
	dict[18828] = "chù,pò,ruì";
	dict[18829] = "wù";
	dict[18830] = "guǎn";
	dict[18831] = "xiè";
	dict[18832] = "tǐng";
	dict[18833] = "xiè";
	dict[18834] = "dàng";
	dict[18836] = "tǎn";
	dict[18838] = "xiá,xié";
	dict[18839] = "xù";
	dict[18840] = "bì,xiǎn,xiàn";
	dict[18841] = "sì";
	dict[18842] = "huò,kuǎ,kuà";
	dict[18843] = "zhèng,zhì";
	dict[18844] = "wú,wù";
	dict[18846] = "rùn";
	dict[18847] = "chuài";
	dict[18848] = "shǐ";
	dict[18849] = "huán";
	dict[18850] = "kuò";
	dict[18851] = "fù";
	dict[18852] = "chuài,wěn";
	dict[18853] = "xián";
	dict[18854] = "qín";
	dict[18855] = "qié,xì,yǎn";
	dict[18856] = "lán";
	dict[18857] = "wén";
	dict[18858] = "yà";
	dict[18860] = "què";
	dict[18862] = "chǔn";
	dict[18863] = "zhì";
	dict[18865] = "kuǐ,wěi";
	dict[18866] = "qiàn,yán";
	dict[18867] = "hàng,xiàng";
	dict[18868] = "yì";
	dict[18869] = "nǐ";
	dict[18870] = "zhèng";
	dict[18871] = "chuài,wěn";
	dict[18873] = "shí";
	dict[18874] = "dīng";
	dict[18875] = "cì,zǐ";
	dict[18876] = "jué";
	dict[18877] = "xù";
	dict[18878] = "yǔn";
	dict[18881] = "chù,xǔ";
	dict[18882] = "dào,tiǎo,zhào";
	dict[18883] = "diàn,tián";
	dict[18884] = "gè";
	dict[18885] = "tì,yà,yí";
	dict[18886] = "hóng,kǒu,qióng";
	dict[18887] = "nǐ,yǐ,yī";
	dict[18889] = "lǐ";
	dict[18890] = "kū";
	dict[18891] = "xiǎn";
	dict[18893] = "xì";
	dict[18894] = "xuàn";
	dict[18898] = "lái,lǎn";
	dict[18900] = "mù,niàn";
	dict[18901] = "chéng,yù";
	dict[18902] = "jiàn";
	dict[18903] = "bì";
	dict[18904] = "qí,zhuàn";
	dict[18905] = "líng";
	dict[18906] = "hào";
	dict[18907] = "bàng";
	dict[18908] = "táng";
	dict[18909] = "chī,zhì";
	dict[18910] = "fù,mà";
	dict[18911] = "xiàn,xuàn";
	dict[18912] = "shuàn";
	dict[18914] = "qū";
	dict[18916] = "pú";
	dict[18917] = "huì";
	dict[18918] = "wéi,huī";
	dict[18919] = "yǐ";
	dict[18920] = "yè";
	dict[18922] = "chè,zhé";
	dict[18923] = "háo";
	dict[18926] = "xiǎn,xiàn";
	dict[18927] = "chán,zhàn";
	dict[18928] = "hùn";
	dict[18930] = "hàn";
	dict[18931] = "cí,cǐ";
	dict[18932] = "zhī";
	dict[18933] = "qí,shěn,zhèn";
	dict[18934] = "kuí";
	dict[18935] = "róu";
	dict[18938] = "xióng";
	dict[18940] = "hú";
	dict[18941] = "cuǐ";
	dict[18943] = "què";
	dict[18944] = "dí,dì";
	dict[18945] = "chè,wù,yù";
	dict[18948] = "yàn,ān";
	dict[18949] = "liáo";
	dict[18950] = "bí,bì,xù";
	dict[18954] = "yuān";
	dict[18956] = "báo,bó";
	dict[18957] = "yǐng";
	dict[18958] = "hóng";
	dict[18959] = "cí";
	dict[18960] = "qià,xiá";
	dict[18961] = "tí";
	dict[18962] = "yù";
	dict[18963] = "léi,lèi";
	dict[18964] = "báo";
	dict[18966] = "jì";
	dict[18967] = "fú";
	dict[18968] = "xiàn";
	dict[18969] = "cén,yà,yín";
	dict[18971] = "sè";
	dict[18974] = "yǔ,yù";
	dict[18976] = "ǎi";
	dict[18977] = "hán";
	dict[18978] = "dàn,dí,gào,tán";
	dict[18979] = "gé,gèng";
	dict[18980] = "dí";
	dict[18981] = "hù,huò";
	dict[18982] = "páng";
	dict[18985] = "líng";
	dict[18986] = "mái";
	dict[18987] = "mài,màn";
	dict[18988] = "lián";
	dict[18990] = "xuě";
	dict[18991] = "zhèn";
	dict[18992] = "pò";
	dict[18993] = "fù";
	dict[18994] = "nóu";
	dict[18995] = "xì";
	dict[18996] = "duì,wèng";
	dict[18997] = "dàn";
	dict[18998] = "yǔn";
	dict[18999] = "xiàn";
	dict[19e3] = "yǐn";
	dict[19002] = "duì";
	dict[19003] = "bèng";
	dict[19004] = "hù";
	dict[19005] = "fěi";
	dict[19006] = "fěi";
	dict[19007] = "qián,zá";
	dict[19008] = "bèi";
	dict[19009] = "fēi";
	dict[19011] = "shì";
	dict[19012] = "tiǎn";
	dict[19013] = "zhǎn";
	dict[19014] = "jiǎn,zhǎn";
	dict[19016] = "huì,wèi,xuě";
	dict[19017] = "fǔ";
	dict[19018] = "wǎn,wò";
	dict[19019] = "mǒ";
	dict[19020] = "qiáo,jiāo";
	dict[19021] = "liǎo";
	dict[19023] = "miè";
	dict[19024] = "gé,jí";
	dict[19025] = "hóng";
	dict[19026] = "yú";
	dict[19027] = "qí";
	dict[19028] = "duò";
	dict[19029] = "áng";
	dict[19031] = "bà";
	dict[19032] = "dì";
	dict[19033] = "xuàn";
	dict[19034] = "dì,diàn";
	dict[19035] = "bì";
	dict[19036] = "zhòu";
	dict[19037] = "páo";
	dict[19038] = "nián,tiǎn,tié,wěi";
	dict[19039] = "yí,tì";
	dict[19041] = "jiá";
	dict[19042] = "dá,zhì";
	dict[19043] = "duǒ,tú,tuì";
	dict[19044] = "xì,xié";
	dict[19045] = "dàn";
	dict[19046] = "tiáo,zuò";
	dict[19047] = "xiè";
	dict[19048] = "chàng";
	dict[19049] = "yuǎn";
	dict[19050] = "guǎn";
	dict[19051] = "liǎng";
	dict[19052] = "běng,fěng";
	dict[19054] = "lù";
	dict[19055] = "jí";
	dict[19056] = "xuàn";
	dict[19057] = "shù";
	dict[19059] = "shǔ,sù";
	dict[19060] = "hú";
	dict[19061] = "yùn";
	dict[19062] = "chǎn,chěng";
	dict[19064] = "róng,rǒng";
	dict[19065] = "é";
	dict[19067] = "bà";
	dict[19068] = "féng";
	dict[19070] = "zhè";
	dict[19071] = "fén";
	dict[19072] = "guǎn,ruǎn";
	dict[19073] = "bǔ";
	dict[19074] = "gé";
	dict[19076] = "huáng";
	dict[19077] = "dú";
	dict[19078] = "tǐ";
	dict[19079] = "bó";
	dict[19080] = "qiǎn,qiàn";
	dict[19081] = "là,liè";
	dict[19082] = "lóng";
	dict[19083] = "wèi";
	dict[19084] = "zhàn";
	dict[19085] = "lán,làn";
	dict[19086] = "suī";
	dict[19087] = "nà,dā";
	dict[19088] = "bì,pì";
	dict[19089] = "tuó";
	dict[19090] = "jiào,zhì,zhù";
	dict[19092] = "bǔ";
	dict[19093] = "jú";
	dict[19094] = "pò";
	dict[19095] = "xiá";
	dict[19096] = "wěi";
	dict[19097] = "fú,pò";
	dict[19098] = "hè,tà";
	dict[19099] = "fán";
	dict[19100] = "chàn";
	dict[19101] = "hù";
	dict[19102] = "zá";
	dict[19106] = "jī";
	dict[19108] = "fán";
	dict[19109] = "xiè";
	dict[19110] = "hóng";
	dict[19111] = "chí";
	dict[19112] = "báo,qú";
	dict[19113] = "yín";
	dict[19116] = "bó,pú";
	dict[19117] = "ruǎn";
	dict[19118] = "chǒu";
	dict[19119] = "yíng";
	dict[19121] = "gǎi";
	dict[19123] = "yǔn";
	dict[19124] = "zhěn";
	dict[19125] = "yǎ";
	dict[19127] = "hòu";
	dict[19128] = "mín";
	dict[19129] = "péi";
	dict[19130] = "gé";
	dict[19131] = "biàn";
	dict[19132] = "zhuō";
	dict[19133] = "hào";
	dict[19134] = "mí,zhěn";
	dict[19135] = "shěng,xìn";
	dict[19136] = "gěn";
	dict[19137] = "bì";
	dict[19138] = "duǒ";
	dict[19139] = "chún";
	dict[19140] = "chuà";
	dict[19141] = "sàn";
	dict[19142] = "chéng,zhèng";
	dict[19143] = "rán";
	dict[19144] = "zèn,cén";
	dict[19145] = "mào";
	dict[19146] = "bó,péi";
	dict[19147] = "tuí";
	dict[19148] = "pǐ";
	dict[19149] = "fǔ";
	dict[19151] = "qī";
	dict[19152] = "lín";
	dict[19154] = "mén";
	dict[19155] = "wú";
	dict[19156] = "qì,qiè,xì";
	dict[19157] = "zhì";
	dict[19158] = "chěn,huǐ,nòu,shèn,tíng,yà,zhù";
	dict[19159] = "xiá,xià";
	dict[19160] = "hé";
	dict[19161] = "sǎng";
	dict[19163] = "hóu";
	dict[19165] = "fǔ,fù";
	dict[19166] = "ráo,qiāo";
	dict[19167] = "hùn";
	dict[19168] = "péi,pī";
	dict[19169] = "qiàn,yán";
	dict[19171] = "xí";
	dict[19172] = "míng";
	dict[19173] = "kuǐ,wěi";
	dict[19174] = "gé,kài";
	dict[19176] = "ào";
	dict[19177] = "sǎn";
	dict[19178] = "shuǎng";
	dict[19179] = "lóu,lòu";
	dict[19180] = "zhěn";
	dict[19181] = "huì";
	dict[19182] = "cán,cǎn,tì";
	dict[19184] = "lìn,lǐn";
	dict[19185] = "ná,rú";
	dict[19186] = "hàn,kǎn";
	dict[19187] = "dú";
	dict[19188] = "jìn";
	dict[19189] = "mián";
	dict[19190] = "fán";
	dict[19191] = "è";
	dict[19192] = "náo";
	dict[19193] = "hóng";
	dict[19194] = "hóng,hòu";
	dict[19195] = "xué,yù";
	dict[19196] = "xuè";
	dict[19198] = "bī,bì";
	dict[19200] = "yǒu";
	dict[19201] = "yí";
	dict[19202] = "xuè,yuè";
	dict[19203] = "sà";
	dict[19204] = "yù";
	dict[19205] = "lì,liè,xié";
	dict[19206] = "lì";
	dict[19207] = "yuàn";
	dict[19208] = "duì";
	dict[19209] = "hào";
	dict[19210] = "qiè,shà";
	dict[19211] = "léng";
	dict[19213] = "hū";
	dict[19214] = "guó";
	dict[19215] = "bù,fǒu";
	dict[19216] = "wěi";
	dict[19217] = "wèi";
	dict[19218] = "sōu";
	dict[19219] = "àn,ǎng";
	dict[19220] = "xù,yú";
	dict[19221] = "shǎng";
	dict[19222] = "héng";
	dict[19223] = "yáng";
	dict[19225] = "yáo";
	dict[19227] = "bì,yù";
	dict[19228] = "chī";
	dict[19229] = "héng,hòng";
	dict[19230] = "táo";
	dict[19231] = "liú";
	dict[19233] = "zhù";
	dict[19234] = "tāo";
	dict[19235] = "qì";
	dict[19236] = "cháo,zàn,zuò";
	dict[19237] = "yì";
	dict[19238] = "dòu";
	dict[19239] = "yuán";
	dict[19240] = "cù,jiù,zú";
	dict[19242] = "bó,fù";
	dict[19243] = "cǎn,tí";
	dict[19244] = "yǎng";
	dict[19246] = "yí";
	dict[19247] = "nián";
	dict[19248] = "shào";
	dict[19249] = "bèn";
	dict[19251] = "bǎn";
	dict[19252] = "mò";
	dict[19253] = "ài";
	dict[19254] = "èn";
	dict[19255] = "shě";
	dict[19257] = "zhì";
	dict[19258] = "yàng";
	dict[19259] = "jiàn,kǎn";
	dict[19260] = "yuàn";
	dict[19261] = "duì,shuì";
	dict[19262] = "tí";
	dict[19263] = "wěi,wèi";
	dict[19264] = "xùn";
	dict[19265] = "zhì";
	dict[19266] = "yì";
	dict[19267] = "rěn";
	dict[19268] = "shì";
	dict[19269] = "hú";
	dict[19270] = "nè";
	dict[19271] = "yì";
	dict[19272] = "jiàn";
	dict[19273] = "suǐ";
	dict[19274] = "yǐng";
	dict[19275] = "bǎo";
	dict[19276] = "hú";
	dict[19277] = "hú";
	dict[19278] = "xié,yè";
	dict[19280] = "yàng";
	dict[19281] = "lián,qiàn,xiàn";
	dict[19283] = "èn,wèn";
	dict[19285] = "jiàn,zǎn";
	dict[19286] = "zhù";
	dict[19287] = "yǐng";
	dict[19288] = "yàn,yǐng";
	dict[19289] = "jǐn";
	dict[19290] = "chuáng,nè";
	dict[19291] = "dàn";
	dict[19293] = "kuài";
	dict[19294] = "yì";
	dict[19295] = "yè";
	dict[19296] = "jiǎn,qiàn";
	dict[19297] = "èn,wèn";
	dict[19298] = "níng";
	dict[19299] = "cí";
	dict[19300] = "qiǎn";
	dict[19301] = "xuè,yàng,yào,zhòu";
	dict[19302] = "bó";
	dict[19303] = "mǐ";
	dict[19304] = "shuì";
	dict[19305] = "mì,mó";
	dict[19306] = "liáng";
	dict[19307] = "qǐ";
	dict[19308] = "qǐ";
	dict[19309] = "shǒu,shú,shù,tù";
	dict[19310] = "bì,fú";
	dict[19311] = "bó";
	dict[19312] = "běng,bèng";
	dict[19313] = "bié";
	dict[19314] = "nǐ,yǐ";
	dict[19315] = "wèi";
	dict[19316] = "huán,yuàn";
	dict[19317] = "fán";
	dict[19318] = "qí";
	dict[19319] = "liú,máo";
	dict[19320] = "fù";
	dict[19321] = "áng,àng";
	dict[19322] = "áng";
	dict[19324] = "qí";
	dict[19325] = "qún";
	dict[19326] = "tuó";
	dict[19327] = "yì";
	dict[19328] = "bó";
	dict[19329] = "pián";
	dict[19330] = "bó";
	dict[19332] = "xuán";
	dict[19335] = "yù";
	dict[19336] = "chí";
	dict[19337] = "lú";
	dict[19338] = "yí";
	dict[19339] = "lì,liè";
	dict[19341] = "niǎo,xìng";
	dict[19342] = "xì";
	dict[19343] = "wú";
	dict[19345] = "lèi";
	dict[19347] = "zhào";
	dict[19348] = "zuǐ,zuī";
	dict[19349] = "chuò";
	dict[19351] = "àn,niù,yàn";
	dict[19352] = "ér,ní,pài,pó";
	dict[19353] = "yù";
	dict[19354] = "lèng";
	dict[19355] = "fù";
	dict[19356] = "shà,zhá";
	dict[19357] = "huán,huǎn,hún";
	dict[19358] = "chù,chǔn";
	dict[19359] = "sǒu";
	dict[19361] = "bì";
	dict[19362] = "dié";
	dict[19364] = "dí,hè,hé";
	dict[19365] = "lì";
	dict[19367] = "hán,hàn";
	dict[19368] = "zǎi";
	dict[19369] = "gú,gǔ";
	dict[19370] = "chéng";
	dict[19371] = "lóu";
	dict[19372] = "mò";
	dict[19373] = "mì";
	dict[19374] = "mài";
	dict[19375] = "ào";
	dict[19376] = "zhé";
	dict[19377] = "zhú";
	dict[19378] = "huáng";
	dict[19379] = "fán";
	dict[19380] = "dèng";
	dict[19381] = "tóng,yǒng";
	dict[19383] = "dú";
	dict[19384] = "hú,mú,wò";
	dict[19385] = "wèi";
	dict[19386] = "jì";
	dict[19387] = "chì,dǎo,dào,děi";
	dict[19388] = "lín";
	dict[19390] = "páng";
	dict[19391] = "jiǎn";
	dict[19392] = "niè";
	dict[19393] = "luó";
	dict[19394] = "jí,shēn";
	dict[19397] = "niè";
	dict[19398] = "yì";
	dict[19400] = "wán";
	dict[19401] = "yà,wā";
	dict[19402] = "qià";
	dict[19403] = "bó";
	dict[19404] = "kāo";
	dict[19405] = "líng";
	dict[19406] = "gàn";
	dict[19407] = "huó,guā";
	dict[19408] = "hái";
	dict[19410] = "héng";
	dict[19411] = "kuí";
	dict[19412] = "cén,zé";
	dict[19414] = "láng";
	dict[19415] = "bì";
	dict[19416] = "huàn";
	dict[19417] = "pò";
	dict[19418] = "ǒu,yǎo";
	dict[19419] = "jiǎn,wàn";
	dict[19420] = "tì";
	dict[19421] = "suǐ";
	dict[19422] = "kuā";
	dict[19423] = "duì,xiá";
	dict[19424] = "ǎo,ào";
	dict[19425] = "jiǎn,jiàn,qiàn";
	dict[19426] = "mó,mǒ";
	dict[19427] = "guì,kuì";
	dict[19428] = "kuài";
	dict[19429] = "àn,qì";
	dict[19430] = "mà";
	dict[19431] = "qǐng";
	dict[19432] = "fén,hè";
	dict[19434] = "kǎo";
	dict[19435] = "hào,shà";
	dict[19436] = "duǒ";
	dict[19438] = "nái";
	dict[19440] = "jiè";
	dict[19441] = "fù,pēi,pī";
	dict[19442] = "pá";
	dict[19444] = "cháng";
	dict[19445] = "niè";
	dict[19446] = "mán";
	dict[19448] = "cì";
	dict[19450] = "kuò";
	dict[19452] = "dí";
	dict[19453] = "fǔ,póu";
	dict[19454] = "tiáo";
	dict[19455] = "zú,zuó";
	dict[19456] = "wǒ";
	dict[19457] = "fèi";
	dict[19458] = "cài";
	dict[19459] = "péng";
	dict[19460] = "shì";
	dict[19462] = "róu";
	dict[19463] = "qí";
	dict[19464] = "chǎ,cuó,cuǒ";
	dict[19465] = "pán,pàn";
	dict[19466] = "bó";
	dict[19467] = "mán";
	dict[19468] = "zǒng";
	dict[19469] = "cì,qī,xiū";
	dict[19470] = "guì,huǐ,kuì";
	dict[19471] = "jì";
	dict[19472] = "lán";
	dict[19474] = "méng";
	dict[19475] = "mián";
	dict[19476] = "pán";
	dict[19477] = "lú";
	dict[19478] = "cuán";
	dict[19479] = "jiū";
	dict[19480] = "liú";
	dict[19481] = "yǐ";
	dict[19482] = "wén";
	dict[19483] = "lì";
	dict[19484] = "lì";
	dict[19485] = "zèng";
	dict[19486] = "zhǔ";
	dict[19487] = "hún";
	dict[19488] = "shén,shēn";
	dict[19489] = "chì";
	dict[19490] = "xìng";
	dict[19491] = "wǎng";
	dict[19493] = "huò,jì,shè,yù";
	dict[19494] = "pǐ,pì";
	dict[19495] = "hū";
	dict[19496] = "mèi";
	dict[19497] = "chě,chǐ";
	dict[19498] = "mèi";
	dict[19499] = "cháo";
	dict[19500] = "jú";
	dict[19501] = "nòu,rú";
	dict[19503] = "nǐ,rán,yì";
	dict[19504] = "rú";
	dict[19505] = "líng";
	dict[19506] = "yà";
	dict[19508] = "qì,zhì";
	dict[19511] = "bàng,bó";
	dict[19513] = "zé";
	dict[19514] = "jiè";
	dict[19515] = "yú";
	dict[19516] = "xín,qín";
	dict[19517] = "bèi";
	dict[19518] = "bā";
	dict[19519] = "tuó";
	dict[19521] = "qiáo";
	dict[19522] = "yǒu";
	dict[19523] = "dǐ,zhì";
	dict[19524] = "jiè";
	dict[19525] = "mò";
	dict[19526] = "shéng";
	dict[19527] = "shàn,táo";
	dict[19528] = "qí,yì";
	dict[19529] = "shàn";
	dict[19530] = "mǐ";
	dict[19531] = "dǎn,gǒng";
	dict[19532] = "yí";
	dict[19533] = "gèng";
	dict[19534] = "gèng";
	dict[19535] = "tǒu";
	dict[19537] = "xué";
	dict[19538] = "yì";
	dict[19539] = "tíng";
	dict[19540] = "tiáo";
	dict[19541] = "móu";
	dict[19542] = "liú,liǔ";
	dict[19544] = "lí";
	dict[19546] = "lù";
	dict[19547] = "huò";
	dict[19548] = "cuò,què";
	dict[19549] = "bà,pái";
	dict[19550] = "liú,nài,wěi";
	dict[19551] = "jù";
	dict[19552] = "zhàn";
	dict[19553] = "jú";
	dict[19555] = "zú";
	dict[19556] = "xiàn";
	dict[19557] = "zhì,jì";
	dict[19560] = "zhì";
	dict[19563] = "là";
	dict[19564] = "xū";
	dict[19565] = "gèng";
	dict[19566] = "é";
	dict[19567] = "mú";
	dict[19568] = "zhòng";
	dict[19569] = "dì,tí";
	dict[19570] = "yán";
	dict[19572] = "gèng";
	dict[19573] = "wēng";
	dict[19574] = "láng";
	dict[19575] = "yú";
	dict[19576] = "qiū,sōu";
	dict[19577] = "nà,zhǎ";
	dict[19578] = "hái";
	dict[19579] = "huá";
	dict[19580] = "zhǎn";
	dict[19582] = "lóu,yú";
	dict[19583] = "chàn";
	dict[19584] = "dié,suì,zhì,zòu";
	dict[19585] = "wèi";
	dict[19586] = "xuán";
	dict[19587] = "zǎo";
	dict[19588] = "mín,mǐn";
	dict[19589] = "guī";
	dict[19594] = "tuǒ,duò";
	dict[19595] = "cén";
	dict[19596] = "kuǎn";
	dict[19597] = "téng";
	dict[19598] = "něi";
	dict[19599] = "láo";
	dict[19600] = "lǔ";
	dict[19601] = "yí";
	dict[19602] = "xiè";
	dict[19603] = "yǎn";
	dict[19604] = "qíng,qìng,jīng";
	dict[19605] = "pǔ,pù";
	dict[19606] = "chóu";
	dict[19607] = "xián";
	dict[19608] = "guǎn,kàng,wéi";
	dict[19609] = "jié";
	dict[19610] = "lài,làn";
	dict[19611] = "méng";
	dict[19612] = "yè";
	dict[19614] = "lì,luǒ";
	dict[19615] = "yìn";
	dict[19617] = "qiū";
	dict[19618] = "téng";
	dict[19619] = "yú";
	dict[19622] = "chá,dài,dì,tuǒ";
	dict[19623] = "dù,shuì";
	dict[19624] = "hóng";
	dict[19625] = "shī";
	dict[19626] = "xì";
	dict[19628] = "qí";
	dict[19630] = "yuán";
	dict[19631] = "jí";
	dict[19632] = "yùn";
	dict[19633] = "fǎng";
	dict[19635] = "háng";
	dict[19636] = "zhèn";
	dict[19637] = "hù,què";
	dict[19640] = "jiè";
	dict[19641] = "péi";
	dict[19642] = "gàn";
	dict[19643] = "xuán,yuán";
	dict[19645] = "dǎo,shí";
	dict[19646] = "qiǎo";
	dict[19647] = "cí";
	dict[19648] = "dié";
	dict[19649] = "bá,bǐn,bó,yuán";
	dict[19650] = "tiáo";
	dict[19651] = "wǎn";
	dict[19652] = "cí";
	dict[19653] = "zhǐ";
	dict[19654] = "bái";
	dict[19655] = "wǔ";
	dict[19656] = "bǎo";
	dict[19657] = "dōng,dàn";
	dict[19658] = "bá";
	dict[19659] = "tóng,zhòng";
	dict[19662] = "jiù";
	dict[19663] = "guì";
	dict[19664] = "cì";
	dict[19665] = "yǒu,yù";
	dict[19666] = "yuán";
	dict[19667] = "lǎo";
	dict[19668] = "jiù,jú";
	dict[19669] = "fóu";
	dict[19670] = "nèi,yè";
	dict[19671] = "é";
	dict[19672] = "é";
	dict[19673] = "xǐng";
	dict[19674] = "hé,kǎn";
	dict[19675] = "yàn";
	dict[19676] = "tú";
	dict[19677] = "bù,diào,fǔ,pǒu";
	dict[19678] = "běng";
	dict[19679] = "kòu,míng,mǒ";
	dict[19680] = "chuí,ruì,zhù";
	dict[19682] = "qí";
	dict[19683] = "yuán";
	dict[19687] = "hóu";
	dict[19688] = "huáng";
	dict[19690] = "juàn,tuán";
	dict[19691] = "kuí";
	dict[19692] = "è,yǎo,yì";
	dict[19693] = "jí";
	dict[19694] = "mò";
	dict[19695] = "chóng,chǒng";
	dict[19696] = "bǎo";
	dict[19697] = "wù";
	dict[19698] = "zhèn";
	dict[19699] = "xù";
	dict[19700] = "dá,tà";
	dict[19701] = "chì";
	dict[19703] = "cóng";
	dict[19704] = "má,mái";
	dict[19705] = "kòu";
	dict[19706] = "yàn";
	dict[19707] = "cán,chán,dié,zhàn";
	dict[19708] = "ōu";
	dict[19709] = "hè";
	dict[19711] = "lán,rán";
	dict[19712] = "tóng";
	dict[19713] = "yù";
	dict[19714] = "hàng,xiàng";
	dict[19715] = "náo";
	dict[19716] = "lì,shùn";
	dict[19717] = "fén";
	dict[19718] = "pú";
	dict[19719] = "líng";
	dict[19720] = "ǎo";
	dict[19721] = "xuán";
	dict[19722] = "yí";
	dict[19723] = "xuán";
	dict[19724] = "méng";
	dict[19726] = "lěi";
	dict[19727] = "yàn";
	dict[19728] = "bǎo";
	dict[19729] = "dié";
	dict[19730] = "líng";
	dict[19731] = "shī";
	dict[19732] = "jiāo";
	dict[19733] = "liè";
	dict[19734] = "jīng";
	dict[19735] = "jú";
	dict[19736] = "tī";
	dict[19737] = "pì";
	dict[19738] = "gǎng";
	dict[19739] = "jiǎo,tú,xì,xiào,yín";
	dict[19740] = "huái";
	dict[19741] = "bù,chuài";
	dict[19742] = "dí";
	dict[19743] = "huán,huàn";
	dict[19744] = "yǎo";
	dict[19745] = "lì";
	dict[19746] = "mí";
	dict[19749] = "jiā";
	dict[19750] = "rén,yín";
	dict[19753] = "piáo";
	dict[19754] = "lù";
	dict[19755] = "líng";
	dict[19756] = "yì";
	dict[19757] = "cái";
	dict[19758] = "shàn";
	dict[19760] = "shú";
	dict[19761] = "tuō";
	dict[19762] = "mò";
	dict[19763] = "hè,huá";
	dict[19764] = "tiè,nián";
	dict[19765] = "bǐng,zhuó";
	dict[19766] = "péng";
	dict[19767] = "hún";
	dict[19769] = "guǒ";
	dict[19770] = "bù,cǎi,chàn";
	dict[19771] = "lí";
	dict[19772] = "chǎn,chàn";
	dict[19773] = "bài,pí";
	dict[19774] = "cuó,cuò,yè,zhěn,zǐ";
	dict[19775] = "méng";
	dict[19776] = "suǒ";
	dict[19777] = "qiàng";
	dict[19778] = "zhí";
	dict[19779] = "kuàng";
	dict[19780] = "bí,bó,fèng,pěng";
	dict[19781] = "áo";
	dict[19782] = "méng";
	dict[19783] = "xiàn";
	dict[19784] = "kù";
	dict[19785] = "tóu";
	dict[19787] = "wěi";
	dict[19788] = "xiān";
	dict[19790] = "tuān";
	dict[19791] = "lǎo";
	dict[19792] = "chǎn,chàn";
	dict[19793] = "nì";
	dict[19794] = "nì";
	dict[19795] = "lí";
	dict[19796] = "dǒng";
	dict[19797] = "jù";
	dict[19798] = "jiàn,qiàn,xiàn";
	dict[19799] = "fú,bó";
	dict[19800] = "shà,shài";
	dict[19801] = "zhǎ";
	dict[19802] = "tǎo";
	dict[19803] = "jiàn,xiàn";
	dict[19804] = "nǒng";
	dict[19805] = "yà,yì";
	dict[19806] = "jìng,qíng";
	dict[19807] = "gǎn";
	dict[19808] = "dí";
	dict[19809] = "jiǎn";
	dict[19810] = "mèi,wèi";
	dict[19811] = "dá,zhǎn";
	dict[19812] = "jiǎn";
	dict[19813] = "shè,wán,yìng,yù";
	dict[19814] = "xiè";
	dict[19815] = "zài";
	dict[19816] = "máng";
	dict[19817] = "lí";
	dict[19818] = "gùn";
	dict[19819] = "yù";
	dict[19820] = "tà";
	dict[19821] = "zhè";
	dict[19822] = "yàng";
	dict[19823] = "tuǎn";
	dict[19825] = "hè,xì";
	dict[19826] = "diào";
	dict[19827] = "wèi";
	dict[19828] = "yùn,zèng";
	dict[19829] = "zhá,zhuó,chuā";
	dict[19830] = "qú";
	dict[19831] = "wā";
	dict[19833] = "zhī";
	dict[19834] = "tǐng";
	dict[19835] = "gǔ,hú,huì";
	dict[19837] = "cà";
	dict[19838] = "fú";
	dict[19839] = "tiè";
	dict[19840] = "tà";
	dict[19841] = "tà";
	dict[19842] = "zhuó";
	dict[19843] = "hán";
	dict[19844] = "píng";
	dict[19845] = "hé";
	dict[19847] = "zhòu";
	dict[19848] = "bó";
	dict[19849] = "liú";
	dict[19852] = "pào";
	dict[19853] = "dì,tì";
	dict[19854] = "shà";
	dict[19855] = "tǐ,tì";
	dict[19856] = "wài,huì";
	dict[19857] = "tì";
	dict[19858] = "qí";
	dict[19859] = "jì,qì";
	dict[19860] = "chí,mín";
	dict[19861] = "pá";
	dict[19862] = "jìn,qín";
	dict[19863] = "qiā,qiǎ,kè";
	dict[19864] = "lì";
	dict[19865] = "jù";
	dict[19866] = "qǔ";
	dict[19867] = "là,liè";
	dict[19868] = "gù";
	dict[19869] = "qià,xiá";
	dict[19870] = "qí";
	dict[19871] = "xiàn";
	dict[19872] = "jiǎn,xián";
	dict[19873] = "shí,zé,zhì";
	dict[19874] = "xián,jiān";
	dict[19875] = "ái";
	dict[19876] = "huá";
	dict[19877] = "jǔ,zhā";
	dict[19878] = "zé";
	dict[19879] = "yǎo";
	dict[19881] = "jì";
	dict[19882] = "chá";
	dict[19883] = "kǎn,yán,yàn";
	dict[19884] = "jiān";
	dict[19886] = "yǎn";
	dict[19889] = "tóng";
	dict[19890] = "nán,nàn,rán";
	dict[19891] = "yuè";
	dict[19892] = "chuī";
	dict[19893] = "chí,shǐ";
	dict[19968] = "yī";
	dict[19969] = "dīng,zhēng";
	dict[19970] = "kǎo,qiǎo,yú";
	dict[19971] = "qī";
	dict[19972] = "shàng";
	dict[19973] = "xià";
	dict[19974] = "hǎn";
	dict[19975] = "wàn,mò";
	dict[19976] = "zhàng";
	dict[19977] = "sān";
	dict[19978] = "shàng,shǎng";
	dict[19979] = "xià";
	dict[19980] = "qí,jī";
	dict[19981] = "bù,fǒu";
	dict[19982] = "yǔ,yù,yú";
	dict[19983] = "miǎn";
	dict[19984] = "gài";
	dict[19985] = "chǒu";
	dict[19986] = "chǒu";
	dict[19987] = "zhuān";
	dict[19988] = "qiě,jū";
	dict[19989] = "pī";
	dict[19990] = "shì";
	dict[19991] = "shì";
	dict[19992] = "qiū";
	dict[19993] = "bǐng";
	dict[19994] = "yè";
	dict[19995] = "cóng";
	dict[19996] = "dōng";
	dict[19997] = "sī";
	dict[19998] = "chéng";
	dict[19999] = "diū";
	dict[2e4] = "qiū";
	dict[20001] = "liǎng";
	dict[20002] = "diū";
	dict[20003] = "yǒu";
	dict[20004] = "liǎng";
	dict[20005] = "yán";
	dict[20006] = "bìng";
	dict[20007] = "sāng,sàng";
	dict[20008] = "gǔn";
	dict[20009] = "jiū";
	dict[20010] = "gè,gě";
	dict[20011] = "yā";
	dict[20012] = "pán";
	dict[20013] = "zhōng,zhòng";
	dict[20014] = "jǐ";
	dict[20015] = "jiè";
	dict[20016] = "fēng";
	dict[20017] = "guàn,kuàng";
	dict[20018] = "chuàn";
	dict[20019] = "chǎn";
	dict[20020] = "lín";
	dict[20021] = "zhuó";
	dict[20022] = "zhǔ";
	dict[20023] = "bā";
	dict[20024] = "wán";
	dict[20025] = "dān";
	dict[20026] = "wéi,wèi";
	dict[20027] = "zhǔ";
	dict[20028] = "jǐng";
	dict[20029] = "lì,lí";
	dict[20030] = "jǔ";
	dict[20031] = "piě";
	dict[20032] = "fú";
	dict[20033] = "yí,jí";
	dict[20034] = "yì";
	dict[20035] = "nǎi";
	dict[20036] = "wǔ";
	dict[20037] = "jiǔ";
	dict[20038] = "jiǔ";
	dict[20039] = "tuō,zhé";
	dict[20040] = "mó,ma,me,yāo";
	dict[20041] = "yì";
	dict[20042] = "yī";
	dict[20043] = "zhī";
	dict[20044] = "wū";
	dict[20045] = "zhà";
	dict[20046] = "hū";
	dict[20047] = "fá";
	dict[20048] = "lè,yuè,yào,lào";
	dict[20049] = "yín";
	dict[20050] = "pīng";
	dict[20051] = "pāng";
	dict[20052] = "qiáo";
	dict[20053] = "hǔ";
	dict[20054] = "guāi";
	dict[20055] = "chéng,shèng";
	dict[20056] = "chéng,shèng";
	dict[20057] = "yǐ";
	dict[20058] = "háo,yǐ";
	dict[20059] = "yǐ";
	dict[20060] = "miē,niè";
	dict[20061] = "jiǔ";
	dict[20062] = "qǐ";
	dict[20063] = "yě";
	dict[20064] = "xí";
	dict[20065] = "xiāng";
	dict[20066] = "gài";
	dict[20067] = "jiǔ";
	dict[20068] = "xià";
	dict[20070] = "shū";
	dict[20071] = "dǒu";
	dict[20072] = "shǐ";
	dict[20073] = "jī";
	dict[20074] = "náng";
	dict[20075] = "jiā";
	dict[20076] = "jù";
	dict[20077] = "shí";
	dict[20078] = "mǎo";
	dict[20079] = "hū";
	dict[20080] = "mǎi";
	dict[20081] = "luàn";
	dict[20083] = "rǔ";
	dict[20084] = "xué";
	dict[20085] = "yǎn";
	dict[20086] = "fǔ";
	dict[20087] = "shā";
	dict[20088] = "nǎ";
	dict[20089] = "qián";
	dict[20090] = "suǒ";
	dict[20091] = "yú";
	dict[20092] = "zhù";
	dict[20093] = "zhě";
	dict[20094] = "qián,gān";
	dict[20095] = "zhì,luàn";
	dict[20096] = "guī";
	dict[20097] = "qián";
	dict[20098] = "luàn";
	dict[20099] = "lǐn,lìn";
	dict[20100] = "yì";
	dict[20101] = "jué";
	dict[20102] = "le,liǎo";
	dict[20103] = "gè,mā";
	dict[20104] = "yú,yǔ";
	dict[20105] = "zhēng";
	dict[20106] = "shì";
	dict[20107] = "shì";
	dict[20108] = "èr";
	dict[20109] = "chù";
	dict[20110] = "yú";
	dict[20111] = "kuī";
	dict[20112] = "yú";
	dict[20113] = "yún";
	dict[20114] = "hù";
	dict[20115] = "qí";
	dict[20116] = "wǔ";
	dict[20117] = "jǐng";
	dict[20118] = "sì";
	dict[20119] = "suì";
	dict[20120] = "gèn";
	dict[20121] = "gèn";
	dict[20122] = "yà";
	dict[20123] = "xiē,suò";
	dict[20124] = "yà";
	dict[20125] = "qí,zhāi";
	dict[20126] = "yā,yà";
	dict[20127] = "jí,qì";
	dict[20128] = "tóu";
	dict[20129] = "wáng,wú";
	dict[20130] = "kàng";
	dict[20131] = "dà";
	dict[20132] = "jiāo";
	dict[20133] = "hài";
	dict[20134] = "yì";
	dict[20135] = "chǎn";
	dict[20136] = "hēng,pēng";
	dict[20137] = "mǔ";
	dict[20138] = "ye";
	dict[20139] = "xiǎng";
	dict[20140] = "jīng";
	dict[20141] = "tíng";
	dict[20142] = "liàng";
	dict[20143] = "xiǎng";
	dict[20144] = "jīng";
	dict[20145] = "yè";
	dict[20146] = "qīn,qìng";
	dict[20147] = "bó";
	dict[20148] = "yòu";
	dict[20149] = "xiè";
	dict[20150] = "dǎn,dàn";
	dict[20151] = "lián";
	dict[20152] = "duǒ";
	dict[20153] = "wěi,mén";
	dict[20154] = "rén";
	dict[20155] = "rén";
	dict[20156] = "jí";
	dict[20157] = "jí";
	dict[20158] = "wáng";
	dict[20159] = "yì";
	dict[20160] = "shí,shén";
	dict[20161] = "rén";
	dict[20162] = "lè";
	dict[20163] = "dīng";
	dict[20164] = "zè";
	dict[20165] = "jǐn,jìn";
	dict[20166] = "pū,pú";
	dict[20167] = "chóu,qiú";
	dict[20168] = "bā";
	dict[20169] = "zhǎng";
	dict[20170] = "jīn";
	dict[20171] = "jiè";
	dict[20172] = "bīng";
	dict[20173] = "réng";
	dict[20174] = "cóng,zòng";
	dict[20175] = "fó";
	dict[20176] = "jīn,sǎn";
	dict[20177] = "lún";
	dict[20178] = "bīng";
	dict[20179] = "cāng";
	dict[20180] = "zī,zǐ,zǎi";
	dict[20181] = "shì";
	dict[20182] = "tā";
	dict[20183] = "zhàng";
	dict[20184] = "fù";
	dict[20185] = "xiān";
	dict[20186] = "xiān";
	dict[20187] = "tuō,chà,duó";
	dict[20188] = "hóng";
	dict[20189] = "tóng";
	dict[20190] = "rèn";
	dict[20191] = "qiān";
	dict[20192] = "gǎn,hàn";
	dict[20193] = "yì,gē";
	dict[20194] = "bó";
	dict[20195] = "dài";
	dict[20196] = "líng,lǐng,lìng";
	dict[20197] = "yǐ";
	dict[20198] = "chào";
	dict[20199] = "cháng,zhǎng";
	dict[20200] = "sā";
	dict[20201] = "cháng";
	dict[20202] = "yí";
	dict[20203] = "mù";
	dict[20204] = "mén";
	dict[20205] = "rèn";
	dict[20206] = "fǎn";
	dict[20207] = "chào,miǎo";
	dict[20208] = "yǎng,áng";
	dict[20209] = "qián";
	dict[20210] = "zhòng";
	dict[20211] = "pǐ,pí";
	dict[20212] = "wò";
	dict[20213] = "wǔ";
	dict[20214] = "jiàn";
	dict[20215] = "jià,jiè,jie";
	dict[20216] = "yǎo,fó";
	dict[20217] = "fēng";
	dict[20218] = "cāng";
	dict[20219] = "rèn,rén";
	dict[20220] = "wáng";
	dict[20221] = "fèn,bīn";
	dict[20222] = "dī";
	dict[20223] = "fǎng";
	dict[20224] = "zhōng";
	dict[20225] = "qǐ";
	dict[20226] = "pèi";
	dict[20227] = "yú";
	dict[20228] = "diào";
	dict[20229] = "dùn";
	dict[20230] = "wěn";
	dict[20231] = "yì";
	dict[20232] = "xǐn";
	dict[20233] = "kàng";
	dict[20234] = "yī";
	dict[20235] = "jí";
	dict[20236] = "ài";
	dict[20237] = "wǔ";
	dict[20238] = "jì,qí";
	dict[20239] = "fú";
	dict[20240] = "fá";
	dict[20241] = "xiū,xǔ";
	dict[20242] = "jìn,yín";
	dict[20243] = "pī";
	dict[20244] = "dǎn";
	dict[20245] = "fū";
	dict[20246] = "tǎng";
	dict[20247] = "zhòng";
	dict[20248] = "yōu";
	dict[20249] = "huǒ";
	dict[20250] = "huì,kuài";
	dict[20251] = "yǔ";
	dict[20252] = "cuì";
	dict[20253] = "yún";
	dict[20254] = "sǎn";
	dict[20255] = "wěi";
	dict[20256] = "chuán,zhuàn";
	dict[20257] = "chē,jū";
	dict[20258] = "yá";
	dict[20259] = "qiàn";
	dict[20260] = "shāng";
	dict[20261] = "chāng";
	dict[20262] = "lún";
	dict[20263] = "cāng,chen";
	dict[20264] = "xùn";
	dict[20265] = "xìn";
	dict[20266] = "wěi";
	dict[20267] = "zhù";
	dict[20268] = "chǐ";
	dict[20269] = "xián,xuán";
	dict[20270] = "nú,nǔ";
	dict[20271] = "bó,bǎi,bà";
	dict[20272] = "gū,gù";
	dict[20273] = "nǐ";
	dict[20274] = "nǐ,nì";
	dict[20275] = "xiè";
	dict[20276] = "bàn";
	dict[20277] = "xù";
	dict[20278] = "líng";
	dict[20279] = "zhòu";
	dict[20280] = "shēn";
	dict[20281] = "qū";
	dict[20282] = "sì,cì";
	dict[20283] = "bēng";
	dict[20284] = "sì,shì";
	dict[20285] = "qié,jiā,gā";
	dict[20286] = "pī";
	dict[20287] = "yì";
	dict[20288] = "sì";
	dict[20289] = "yǐ,chì";
	dict[20290] = "zhēng";
	dict[20291] = "diàn,tián";
	dict[20292] = "hān,gàn";
	dict[20293] = "mài";
	dict[20294] = "dàn";
	dict[20295] = "zhù";
	dict[20296] = "bù";
	dict[20297] = "qū";
	dict[20298] = "bǐ";
	dict[20299] = "zhāo,shào";
	dict[20300] = "cǐ";
	dict[20301] = "wèi";
	dict[20302] = "dī";
	dict[20303] = "zhù";
	dict[20304] = "zuǒ";
	dict[20305] = "yòu";
	dict[20306] = "yǎng";
	dict[20307] = "tǐ,tī";
	dict[20308] = "zhàn,diān";
	dict[20309] = "hé,hē,hè";
	dict[20310] = "bì";
	dict[20311] = "tuó";
	dict[20312] = "shé";
	dict[20313] = "yú";
	dict[20314] = "yì,dié";
	dict[20315] = "fó,fú,bì,bó";
	dict[20316] = "zuò";
	dict[20317] = "gōu,kòu";
	dict[20318] = "nìng";
	dict[20319] = "tóng";
	dict[20320] = "nǐ";
	dict[20321] = "xiān";
	dict[20322] = "qú";
	dict[20323] = "yōng,yòng";
	dict[20324] = "wǎ";
	dict[20325] = "qiān";
	dict[20326] = "yòu";
	dict[20327] = "kǎ";
	dict[20328] = "bāo";
	dict[20329] = "pèi";
	dict[20330] = "huí,huái";
	dict[20331] = "gé";
	dict[20332] = "lǎo";
	dict[20333] = "xiáng";
	dict[20334] = "gé";
	dict[20335] = "yáng";
	dict[20336] = "bǎi";
	dict[20337] = "fǎ";
	dict[20338] = "mǐng";
	dict[20339] = "jiā";
	dict[20340] = "èr,nài";
	dict[20341] = "bìng";
	dict[20342] = "jí";
	dict[20343] = "hěn";
	dict[20344] = "huó";
	dict[20345] = "guǐ";
	dict[20346] = "quán";
	dict[20347] = "tiāo";
	dict[20348] = "jiǎo";
	dict[20349] = "cì";
	dict[20350] = "yì";
	dict[20351] = "shǐ";
	dict[20352] = "xíng";
	dict[20353] = "shēn";
	dict[20354] = "tuō";
	dict[20355] = "kǎn";
	dict[20356] = "zhí";
	dict[20357] = "gāi";
	dict[20358] = "lái";
	dict[20359] = "yí";
	dict[20360] = "chǐ";
	dict[20361] = "kuǎ";
	dict[20362] = "gōng";
	dict[20363] = "lì";
	dict[20364] = "yīn";
	dict[20365] = "shì";
	dict[20366] = "mǐ";
	dict[20367] = "zhū";
	dict[20368] = "xù";
	dict[20369] = "yòu";
	dict[20370] = "ān";
	dict[20371] = "lù";
	dict[20372] = "móu";
	dict[20373] = "ér";
	dict[20374] = "lún";
	dict[20375] = "dòng,tóng,tǒng";
	dict[20376] = "chà";
	dict[20377] = "chì";
	dict[20378] = "xùn";
	dict[20379] = "gōng,gòng";
	dict[20380] = "zhōu";
	dict[20381] = "yī";
	dict[20382] = "rú";
	dict[20383] = "cún,jiàn";
	dict[20384] = "xiá";
	dict[20385] = "sì";
	dict[20386] = "dài";
	dict[20387] = "lǚ";
	dict[20388] = "ta";
	dict[20389] = "jiǎo,yáo";
	dict[20390] = "zhēn";
	dict[20391] = "cè,zè,zhāi";
	dict[20392] = "qiáo";
	dict[20393] = "kuài";
	dict[20394] = "chái";
	dict[20395] = "nìng";
	dict[20396] = "nóng";
	dict[20397] = "jǐn";
	dict[20398] = "wǔ";
	dict[20399] = "hóu,hòu";
	dict[20400] = "jiǒng";
	dict[20401] = "chěng,tǐng";
	dict[20402] = "zhèn,zhēn";
	dict[20403] = "zuò";
	dict[20404] = "hào";
	dict[20405] = "qīn";
	dict[20406] = "lǚ";
	dict[20407] = "jú";
	dict[20408] = "shù,dōu";
	dict[20409] = "tǐng";
	dict[20410] = "shèn";
	dict[20411] = "tuó,tuì";
	dict[20412] = "bó";
	dict[20413] = "nán";
	dict[20414] = "xiāo";
	dict[20415] = "biàn,pián";
	dict[20416] = "tuǐ";
	dict[20417] = "yǔ";
	dict[20418] = "xì";
	dict[20419] = "cù";
	dict[20420] = "é";
	dict[20421] = "qiú";
	dict[20422] = "xú";
	dict[20423] = "guàng";
	dict[20424] = "kù";
	dict[20425] = "wù";
	dict[20426] = "jùn";
	dict[20427] = "yì";
	dict[20428] = "fǔ";
	dict[20429] = "liáng";
	dict[20430] = "zǔ";
	dict[20431] = "qiào,xiào";
	dict[20432] = "lì";
	dict[20433] = "yǒng";
	dict[20434] = "hùn";
	dict[20435] = "jìng";
	dict[20436] = "qiàn";
	dict[20437] = "sàn";
	dict[20438] = "pěi";
	dict[20439] = "sú";
	dict[20440] = "fú";
	dict[20441] = "xī";
	dict[20442] = "lǐ";
	dict[20443] = "fǔ";
	dict[20444] = "pīng";
	dict[20445] = "bǎo";
	dict[20446] = "yú,yù,shù";
	dict[20447] = "sì,qí";
	dict[20448] = "xiá";
	dict[20449] = "xìn,shēn";
	dict[20450] = "xiū";
	dict[20451] = "yǔ";
	dict[20452] = "dì";
	dict[20453] = "chē,jū";
	dict[20454] = "chóu";
	dict[20455] = "zhì";
	dict[20456] = "yǎn";
	dict[20457] = "liǎng,liǎ";
	dict[20458] = "lì";
	dict[20459] = "lái";
	dict[20460] = "sī";
	dict[20461] = "jiǎn";
	dict[20462] = "xiū";
	dict[20463] = "fǔ";
	dict[20464] = "huò";
	dict[20465] = "jù";
	dict[20466] = "xiào";
	dict[20467] = "pái";
	dict[20468] = "jiàn";
	dict[20469] = "biào";
	dict[20470] = "chù,tì";
	dict[20471] = "fèi";
	dict[20472] = "fèng";
	dict[20473] = "yà";
	dict[20474] = "ǎn";
	dict[20475] = "bèi";
	dict[20476] = "yù";
	dict[20477] = "xīn";
	dict[20478] = "bǐ";
	dict[20479] = "hǔ,chí";
	dict[20480] = "chāng";
	dict[20481] = "zhī";
	dict[20482] = "bìng";
	dict[20483] = "jiù";
	dict[20484] = "yáo";
	dict[20485] = "cuì,zú";
	dict[20486] = "liǎng,liǎ";
	dict[20487] = "wǎn";
	dict[20488] = "lái";
	dict[20489] = "cāng";
	dict[20490] = "zǒng";
	dict[20491] = "gè,gě";
	dict[20492] = "guān";
	dict[20493] = "bèi";
	dict[20494] = "tiǎn";
	dict[20495] = "shū";
	dict[20496] = "shū";
	dict[20497] = "mén";
	dict[20498] = "dǎo,dào";
	dict[20499] = "tán,tàn";
	dict[20500] = "jué,juè";
	dict[20501] = "chuí";
	dict[20502] = "xìng";
	dict[20503] = "péng";
	dict[20504] = "tǎng,cháng";
	dict[20505] = "hòu";
	dict[20506] = "yǐ";
	dict[20507] = "qī";
	dict[20508] = "tì";
	dict[20509] = "gàn";
	dict[20510] = "liàng,jìng";
	dict[20511] = "jiè";
	dict[20512] = "suī";
	dict[20513] = "chàng,chāng";
	dict[20514] = "jié";
	dict[20515] = "fǎng";
	dict[20516] = "zhí";
	dict[20517] = "kōng,kǒng";
	dict[20518] = "juàn";
	dict[20519] = "zōng";
	dict[20520] = "jù";
	dict[20521] = "qiàn";
	dict[20522] = "ní";
	dict[20523] = "lún";
	dict[20524] = "zhuō";
	dict[20525] = "wō,wēi";
	dict[20526] = "luǒ";
	dict[20527] = "sōng";
	dict[20528] = "lèng";
	dict[20529] = "hùn";
	dict[20530] = "dōng";
	dict[20531] = "zì";
	dict[20532] = "bèn";
	dict[20533] = "wǔ";
	dict[20534] = "jù";
	dict[20535] = "nǎi";
	dict[20536] = "cǎi";
	dict[20537] = "jiǎn";
	dict[20538] = "zhài";
	dict[20539] = "yē";
	dict[20540] = "zhí";
	dict[20541] = "shà";
	dict[20542] = "qīng";
	dict[20543] = "nìng";
	dict[20544] = "yīng";
	dict[20545] = "chēng,chèn";
	dict[20546] = "qián";
	dict[20547] = "yǎn";
	dict[20548] = "ruǎn";
	dict[20549] = "zhòng,tóng";
	dict[20550] = "chǔn";
	dict[20551] = "jiǎ,jià";
	dict[20552] = "jì,jié";
	dict[20553] = "wěi";
	dict[20554] = "yǔ";
	dict[20555] = "bǐng,bìng";
	dict[20556] = "ruò";
	dict[20557] = "tí";
	dict[20558] = "wēi";
	dict[20559] = "piān";
	dict[20560] = "yàn";
	dict[20561] = "fēng";
	dict[20562] = "tǎng,dàng";
	dict[20563] = "wò";
	dict[20564] = "è";
	dict[20565] = "xié";
	dict[20566] = "chě";
	dict[20567] = "shěng";
	dict[20568] = "kǎn";
	dict[20569] = "dì";
	dict[20570] = "zuò";
	dict[20571] = "chā";
	dict[20572] = "tíng";
	dict[20573] = "bèi";
	dict[20574] = "xiè";
	dict[20575] = "huáng";
	dict[20576] = "yǎo";
	dict[20577] = "zhàn";
	dict[20578] = "chǒu,qiào";
	dict[20579] = "ān";
	dict[20580] = "yóu";
	dict[20581] = "jiàn";
	dict[20582] = "xū";
	dict[20583] = "zhā";
	dict[20584] = "cī";
	dict[20585] = "fù";
	dict[20586] = "bī";
	dict[20587] = "zhì";
	dict[20588] = "zǒng";
	dict[20589] = "miǎn";
	dict[20590] = "jí";
	dict[20591] = "yǐ";
	dict[20592] = "xiè";
	dict[20593] = "xún";
	dict[20594] = "cāi,sī";
	dict[20595] = "duān";
	dict[20596] = "cè,zè,zhāi";
	dict[20597] = "zhēn";
	dict[20598] = "ǒu";
	dict[20599] = "tōu";
	dict[20600] = "tōu";
	dict[20601] = "bèi";
	dict[20602] = "zán,zá,zǎ";
	dict[20603] = "lǚ,lóu";
	dict[20604] = "jié";
	dict[20605] = "wěi";
	dict[20606] = "fèn";
	dict[20607] = "cháng";
	dict[20608] = "kuǐ,guī";
	dict[20609] = "sǒu";
	dict[20610] = "zhì,sī";
	dict[20611] = "sù";
	dict[20612] = "xiā";
	dict[20613] = "fù";
	dict[20614] = "yuàn,yuán";
	dict[20615] = "rǒng";
	dict[20616] = "lì";
	dict[20617] = "nù";
	dict[20618] = "yùn";
	dict[20619] = "jiǎng,gòu";
	dict[20620] = "mà";
	dict[20621] = "bàng";
	dict[20622] = "diān";
	dict[20623] = "táng";
	dict[20624] = "hào";
	dict[20625] = "jié";
	dict[20626] = "xī,xì";
	dict[20627] = "shān";
	dict[20628] = "qiàn,jiān";
	dict[20629] = "què,jué";
	dict[20630] = "cāng,chen";
	dict[20631] = "chù";
	dict[20632] = "sǎn";
	dict[20633] = "bèi";
	dict[20634] = "xiào";
	dict[20635] = "róng";
	dict[20636] = "yáo";
	dict[20637] = "tà,tàn";
	dict[20638] = "suō";
	dict[20639] = "yǎng";
	dict[20640] = "fá";
	dict[20641] = "bìng";
	dict[20642] = "jiā";
	dict[20643] = "dǎi";
	dict[20644] = "zài";
	dict[20645] = "tǎng";
	dict[20646] = "gǔ";
	dict[20647] = "bīn";
	dict[20648] = "chǔ";
	dict[20649] = "nuó";
	dict[20650] = "cān,càn";
	dict[20651] = "lěi";
	dict[20652] = "cuī";
	dict[20653] = "yōng";
	dict[20654] = "zāo,cáo";
	dict[20655] = "zǒng";
	dict[20656] = "péng";
	dict[20657] = "sǒng";
	dict[20658] = "ào";
	dict[20659] = "chuán,zhuàn";
	dict[20660] = "yǔ";
	dict[20661] = "zhài";
	dict[20662] = "qī,còu";
	dict[20663] = "shāng";
	dict[20664] = "chuǎng";
	dict[20665] = "jìng";
	dict[20666] = "chì";
	dict[20667] = "shǎ";
	dict[20668] = "hàn";
	dict[20669] = "zhāng";
	dict[20670] = "qīng";
	dict[20671] = "yān,yàn";
	dict[20672] = "dì";
	dict[20673] = "xiè";
	dict[20674] = "lǚ,lóu";
	dict[20675] = "bèi";
	dict[20676] = "piào,biāo";
	dict[20677] = "jǐn,jìn";
	dict[20678] = "liàn";
	dict[20679] = "lù";
	dict[20680] = "màn";
	dict[20681] = "qiān";
	dict[20682] = "xiān";
	dict[20683] = "tǎn,tàn";
	dict[20684] = "yíng";
	dict[20685] = "dòng";
	dict[20686] = "zhuàn";
	dict[20687] = "xiàng";
	dict[20688] = "shàn";
	dict[20689] = "qiáo";
	dict[20690] = "jiǒng";
	dict[20691] = "tuǐ,tuí";
	dict[20692] = "zǔn";
	dict[20693] = "pú";
	dict[20694] = "xī";
	dict[20695] = "láo";
	dict[20696] = "chǎng";
	dict[20697] = "guāng";
	dict[20698] = "liáo";
	dict[20699] = "qī";
	dict[20700] = "chēng,dēng";
	dict[20701] = "zhàn,zhuàn,chán";
	dict[20702] = "wěi";
	dict[20703] = "jī";
	dict[20704] = "bō";
	dict[20705] = "huì";
	dict[20706] = "chuǎn";
	dict[20707] = "tiě,jiàn";
	dict[20708] = "dàn";
	dict[20709] = "jiǎo,yáo";
	dict[20710] = "jiù";
	dict[20711] = "sēng";
	dict[20712] = "fèn";
	dict[20713] = "xiàn";
	dict[20714] = "yù,jú";
	dict[20715] = "è,wù,wū";
	dict[20716] = "jiāo";
	dict[20717] = "jiàn";
	dict[20718] = "tóng,zhuàng";
	dict[20719] = "lǐn";
	dict[20720] = "bó";
	dict[20721] = "gù";
	dict[20722] = "xiān";
	dict[20723] = "sù";
	dict[20724] = "xiàn";
	dict[20725] = "jiāng";
	dict[20726] = "mǐn";
	dict[20727] = "yè";
	dict[20728] = "jìn";
	dict[20729] = "jià,jie";
	dict[20730] = "qiào";
	dict[20731] = "pì";
	dict[20732] = "fēng";
	dict[20733] = "zhòu";
	dict[20734] = "ài";
	dict[20735] = "sài";
	dict[20736] = "yí";
	dict[20737] = "jùn";
	dict[20738] = "nóng";
	dict[20739] = "chán,tǎn,shàn";
	dict[20740] = "yì";
	dict[20741] = "dāng,dàng";
	dict[20742] = "jǐng";
	dict[20743] = "xuān";
	dict[20744] = "kuài";
	dict[20745] = "jiǎn";
	dict[20746] = "chù";
	dict[20747] = "dān,dàn";
	dict[20748] = "jiǎo";
	dict[20749] = "shǎ";
	dict[20750] = "zài";
	dict[20751] = "càn";
	dict[20752] = "bīn,bìn";
	dict[20753] = "án,àn";
	dict[20754] = "rú";
	dict[20755] = "tái";
	dict[20756] = "chóu";
	dict[20757] = "chái";
	dict[20758] = "lán";
	dict[20759] = "nǐ,yì";
	dict[20760] = "jǐn";
	dict[20761] = "qiàn";
	dict[20762] = "méng";
	dict[20763] = "wǔ";
	dict[20764] = "níng";
	dict[20765] = "qióng";
	dict[20766] = "nǐ";
	dict[20767] = "cháng";
	dict[20768] = "liè";
	dict[20769] = "lěi";
	dict[20770] = "lǚ";
	dict[20771] = "kuǎng";
	dict[20772] = "bào";
	dict[20773] = "yù";
	dict[20774] = "biāo";
	dict[20775] = "zǎn";
	dict[20776] = "zhì";
	dict[20777] = "sì";
	dict[20778] = "yōu";
	dict[20779] = "háo";
	dict[20780] = "qìng";
	dict[20781] = "chèn";
	dict[20782] = "lì";
	dict[20783] = "téng";
	dict[20784] = "wěi";
	dict[20785] = "lǒng,lóng,lòng";
	dict[20786] = "chǔ";
	dict[20787] = "chán,chàn";
	dict[20788] = "ráng,xiāng";
	dict[20789] = "shū";
	dict[20790] = "huì,xié";
	dict[20791] = "lì";
	dict[20792] = "luó";
	dict[20793] = "zǎn";
	dict[20794] = "nuó";
	dict[20795] = "tǎng";
	dict[20796] = "yǎn";
	dict[20797] = "léi";
	dict[20798] = "nàng,nāng";
	dict[20799] = "ér";
	dict[20800] = "wù";
	dict[20801] = "yǔn";
	dict[20802] = "zān";
	dict[20803] = "yuán";
	dict[20804] = "xiōng";
	dict[20805] = "chōng";
	dict[20806] = "zhào";
	dict[20807] = "xiōng";
	dict[20808] = "xiān";
	dict[20809] = "guāng";
	dict[20810] = "duì,ruì,yuè";
	dict[20811] = "kè";
	dict[20812] = "duì,ruì,yuè";
	dict[20813] = "miǎn";
	dict[20814] = "tù";
	dict[20815] = "cháng,zhǎng";
	dict[20816] = "ér";
	dict[20817] = "duì,ruì,yuè";
	dict[20818] = "ér";
	dict[20819] = "qīn";
	dict[20820] = "tù";
	dict[20821] = "sì";
	dict[20822] = "yǎn";
	dict[20823] = "yǎn";
	dict[20824] = "shǐ";
	dict[20826] = "dǎng";
	dict[20828] = "dōu";
	dict[20831] = "shēn";
	dict[20832] = "dōu";
	dict[20834] = "jīng";
	dict[20836] = "huǎng";
	dict[20837] = "rù";
	dict[20838] = "wáng";
	dict[20839] = "nèi";
	dict[20840] = "quán";
	dict[20841] = "liǎng";
	dict[20842] = "yú,shù";
	dict[20843] = "bā";
	dict[20844] = "gōng";
	dict[20845] = "liù,lù";
	dict[20846] = "xī";
	dict[20847] = "han";
	dict[20848] = "lán";
	dict[20849] = "gòng,gōng";
	dict[20850] = "tiān";
	dict[20851] = "guān";
	dict[20852] = "xīng,xìng";
	dict[20853] = "bīng";
	dict[20854] = "qí,jī";
	dict[20855] = "jù";
	dict[20856] = "diǎn";
	dict[20857] = "zī,cí";
	dict[20859] = "yǎng";
	dict[20860] = "jiān";
	dict[20861] = "shòu";
	dict[20862] = "jì";
	dict[20863] = "yì";
	dict[20864] = "jì";
	dict[20865] = "chǎn";
	dict[20866] = "jiōng";
	dict[20867] = "mào";
	dict[20868] = "rǎn";
	dict[20869] = "nèi,nà";
	dict[20870] = "yuán";
	dict[20871] = "mǎo";
	dict[20872] = "gāng";
	dict[20873] = "rǎn";
	dict[20874] = "cè";
	dict[20875] = "jiōng";
	dict[20876] = "cè";
	dict[20877] = "zài";
	dict[20878] = "guǎ";
	dict[20879] = "jiǒng";
	dict[20880] = "mào";
	dict[20881] = "zhòu";
	dict[20882] = "mào,mò";
	dict[20883] = "gòu";
	dict[20884] = "xú";
	dict[20885] = "miǎn";
	dict[20886] = "mì";
	dict[20887] = "rǒng";
	dict[20888] = "yín,yóu";
	dict[20889] = "xiě";
	dict[20890] = "kǎn";
	dict[20891] = "jūn";
	dict[20892] = "nóng";
	dict[20893] = "yí";
	dict[20894] = "mí";
	dict[20895] = "shì";
	dict[20896] = "guān,guàn";
	dict[20897] = "měng";
	dict[20898] = "zhǒng";
	dict[20899] = "zuì";
	dict[20900] = "yuān";
	dict[20901] = "míng";
	dict[20902] = "kòu";
	dict[20903] = "lín";
	dict[20904] = "fù";
	dict[20905] = "xiě";
	dict[20906] = "mì";
	dict[20907] = "bīng";
	dict[20908] = "dōng";
	dict[20909] = "tài";
	dict[20910] = "gāng";
	dict[20911] = "féng,píng";
	dict[20912] = "bīng";
	dict[20913] = "hù";
	dict[20914] = "chōng,chòng";
	dict[20915] = "jué";
	dict[20916] = "yà";
	dict[20917] = "kuàng";
	dict[20918] = "yě";
	dict[20919] = "lěng";
	dict[20920] = "pàn";
	dict[20921] = "fā";
	dict[20922] = "mǐn";
	dict[20923] = "dòng";
	dict[20924] = "xiǎn";
	dict[20925] = "liè";
	dict[20926] = "qià";
	dict[20927] = "jiān";
	dict[20928] = "jìng,chēng";
	dict[20929] = "sōu";
	dict[20930] = "měi";
	dict[20931] = "tú";
	dict[20932] = "qī";
	dict[20933] = "gù";
	dict[20934] = "zhǔn";
	dict[20935] = "sōng";
	dict[20936] = "jìng,chēng";
	dict[20937] = "liáng,liàng";
	dict[20938] = "qìng";
	dict[20939] = "diāo";
	dict[20940] = "líng";
	dict[20941] = "dòng";
	dict[20942] = "gàn";
	dict[20943] = "jiǎn";
	dict[20944] = "yīn";
	dict[20945] = "còu";
	dict[20946] = "ái";
	dict[20947] = "lì";
	dict[20948] = "cāng";
	dict[20949] = "mǐng";
	dict[20950] = "zhǔn";
	dict[20951] = "cuī";
	dict[20952] = "sī";
	dict[20953] = "duó";
	dict[20954] = "jìn";
	dict[20955] = "lǐn";
	dict[20956] = "lǐn";
	dict[20957] = "níng";
	dict[20958] = "xī";
	dict[20959] = "dú";
	dict[20960] = "jī,jǐ";
	dict[20961] = "fán";
	dict[20962] = "fán";
	dict[20963] = "fán";
	dict[20964] = "fèng";
	dict[20965] = "jū";
	dict[20966] = "chù,chǔ";
	dict[20967] = "zhēng";
	dict[20968] = "fēng";
	dict[20969] = "mù";
	dict[20970] = "zhǐ";
	dict[20971] = "fú";
	dict[20972] = "fēng";
	dict[20973] = "píng";
	dict[20974] = "fēng";
	dict[20975] = "kǎi";
	dict[20976] = "huáng";
	dict[20977] = "kǎi";
	dict[20978] = "gān";
	dict[20979] = "dèng";
	dict[20980] = "píng";
	dict[20981] = "kǎn,qiǎn";
	dict[20982] = "xiōng";
	dict[20983] = "kuài";
	dict[20984] = "tū";
	dict[20985] = "āo,wā";
	dict[20986] = "chū";
	dict[20987] = "jī";
	dict[20988] = "dàng";
	dict[20989] = "hán";
	dict[20990] = "hán";
	dict[20991] = "záo";
	dict[20992] = "dāo";
	dict[20993] = "diāo";
	dict[20994] = "dāo";
	dict[20995] = "rèn";
	dict[20996] = "rèn";
	dict[20997] = "chuāng";
	dict[20998] = "fēn,fèn";
	dict[20999] = "qiē,qiè";
	dict[21e3] = "yì";
	dict[21001] = "jī";
	dict[21002] = "kān";
	dict[21003] = "qiàn";
	dict[21004] = "cǔn";
	dict[21005] = "chú";
	dict[21006] = "wěn";
	dict[21007] = "jī";
	dict[21008] = "dǎn";
	dict[21009] = "xíng";
	dict[21010] = "huá,huà";
	dict[21011] = "wán";
	dict[21012] = "jué";
	dict[21013] = "lí";
	dict[21014] = "yuè";
	dict[21015] = "liè";
	dict[21016] = "liú";
	dict[21017] = "zé";
	dict[21018] = "gāng";
	dict[21019] = "chuàng,chuāng";
	dict[21020] = "fú";
	dict[21021] = "chū";
	dict[21022] = "qù";
	dict[21023] = "diāo";
	dict[21024] = "shān";
	dict[21025] = "mǐn";
	dict[21026] = "líng";
	dict[21027] = "zhōng";
	dict[21028] = "pàn";
	dict[21029] = "bié,biè";
	dict[21030] = "jié";
	dict[21031] = "jié";
	dict[21032] = "páo,bào";
	dict[21033] = "lì";
	dict[21034] = "shān";
	dict[21035] = "bié,biè";
	dict[21036] = "chǎn,chàn";
	dict[21037] = "jǐng";
	dict[21038] = "guā";
	dict[21039] = "gēng";
	dict[21040] = "dào";
	dict[21041] = "chuàng";
	dict[21042] = "kuī";
	dict[21043] = "kū";
	dict[21044] = "duò";
	dict[21045] = "èr";
	dict[21046] = "zhì";
	dict[21047] = "shuā,shuà";
	dict[21048] = "quàn,xuàn";
	dict[21049] = "chà,shā";
	dict[21050] = "cì,cī";
	dict[21051] = "kè";
	dict[21052] = "jié";
	dict[21053] = "guì";
	dict[21054] = "cì";
	dict[21055] = "guì";
	dict[21056] = "kǎi";
	dict[21057] = "duò";
	dict[21058] = "jì";
	dict[21059] = "tì";
	dict[21060] = "jǐng";
	dict[21061] = "lóu";
	dict[21062] = "luǒ";
	dict[21063] = "zé";
	dict[21064] = "yuān";
	dict[21065] = "cuò";
	dict[21066] = "xiāo,xuē";
	dict[21067] = "kēi,kè";
	dict[21068] = "là,lá";
	dict[21069] = "qián";
	dict[21070] = "chà,shā";
	dict[21071] = "chuàng";
	dict[21072] = "guǎ";
	dict[21073] = "jiàn";
	dict[21074] = "cuò";
	dict[21075] = "lí";
	dict[21076] = "tī";
	dict[21077] = "fèi";
	dict[21078] = "pōu";
	dict[21079] = "chǎn,chàn";
	dict[21080] = "qí";
	dict[21081] = "chuàng";
	dict[21082] = "zì";
	dict[21083] = "gāng";
	dict[21084] = "wān";
	dict[21085] = "bāo,bō";
	dict[21086] = "jī";
	dict[21087] = "duō";
	dict[21088] = "qíng";
	dict[21089] = "yǎn,shàn";
	dict[21090] = "dū,zhuó";
	dict[21091] = "jiàn";
	dict[21092] = "jì";
	dict[21093] = "bāo,bō";
	dict[21094] = "yān";
	dict[21095] = "jù";
	dict[21096] = "huò";
	dict[21097] = "shèng";
	dict[21098] = "jiǎn";
	dict[21099] = "duó";
	dict[21100] = "zhì,duān";
	dict[21101] = "wū";
	dict[21102] = "guǎ";
	dict[21103] = "fù,pì";
	dict[21104] = "shèng";
	dict[21105] = "jiàn";
	dict[21106] = "gē";
	dict[21107] = "dá,zhá";
	dict[21108] = "kǎi";
	dict[21109] = "chuàng,chuāng";
	dict[21110] = "chuán";
	dict[21111] = "chǎn";
	dict[21112] = "tuán,zhuān";
	dict[21113] = "lù,jiū";
	dict[21114] = "lí";
	dict[21115] = "pēng";
	dict[21116] = "shān";
	dict[21117] = "piāo";
	dict[21118] = "kōu";
	dict[21119] = "jiǎo,chāo";
	dict[21120] = "guā";
	dict[21121] = "qiāo";
	dict[21122] = "jué";
	dict[21123] = "huá,huà";
	dict[21124] = "zhā,zhá";
	dict[21125] = "zhuó";
	dict[21126] = "lián";
	dict[21127] = "jù";
	dict[21128] = "pī,pǐ";
	dict[21129] = "liú";
	dict[21130] = "guì";
	dict[21131] = "jiǎo,chāo";
	dict[21132] = "guì";
	dict[21133] = "jiàn";
	dict[21134] = "jiàn";
	dict[21135] = "tāng";
	dict[21136] = "huō";
	dict[21137] = "jì";
	dict[21138] = "jiàn";
	dict[21139] = "yì";
	dict[21140] = "jiàn";
	dict[21141] = "zhì";
	dict[21142] = "chán";
	dict[21143] = "zuān";
	dict[21144] = "mó";
	dict[21145] = "lí";
	dict[21146] = "zhú";
	dict[21147] = "lì";
	dict[21148] = "yà";
	dict[21149] = "quàn";
	dict[21150] = "bàn";
	dict[21151] = "gōng";
	dict[21152] = "jiā";
	dict[21153] = "wù";
	dict[21154] = "mài";
	dict[21155] = "liè";
	dict[21156] = "jìn,jìng";
	dict[21157] = "kēng";
	dict[21158] = "xié,liè";
	dict[21159] = "zhǐ";
	dict[21160] = "dòng";
	dict[21161] = "zhù,chú";
	dict[21162] = "nǔ";
	dict[21163] = "jié";
	dict[21164] = "qú";
	dict[21165] = "shào";
	dict[21166] = "yì";
	dict[21167] = "zhǔ";
	dict[21168] = "miǎo";
	dict[21169] = "lì";
	dict[21170] = "jìn,jìng";
	dict[21171] = "láo";
	dict[21172] = "láo";
	dict[21173] = "juàn";
	dict[21174] = "kǒu";
	dict[21175] = "yáng";
	dict[21176] = "wā";
	dict[21177] = "xiào";
	dict[21178] = "móu";
	dict[21179] = "kuāng";
	dict[21180] = "jié";
	dict[21181] = "liè";
	dict[21182] = "hé";
	dict[21183] = "shì";
	dict[21184] = "kè";
	dict[21185] = "jìn,jìng";
	dict[21186] = "gào";
	dict[21187] = "bó,bèi";
	dict[21188] = "mǐn";
	dict[21189] = "chì";
	dict[21190] = "láng";
	dict[21191] = "yǒng";
	dict[21192] = "yǒng";
	dict[21193] = "miǎn";
	dict[21194] = "kè";
	dict[21195] = "xūn";
	dict[21196] = "juàn,juān";
	dict[21197] = "qíng";
	dict[21198] = "lù";
	dict[21199] = "bù";
	dict[21200] = "měng";
	dict[21201] = "chì";
	dict[21202] = "lè,lēi";
	dict[21203] = "kài";
	dict[21204] = "miǎn";
	dict[21205] = "dòng";
	dict[21206] = "xù";
	dict[21207] = "xù";
	dict[21208] = "kān";
	dict[21209] = "wù";
	dict[21210] = "yì";
	dict[21211] = "xūn";
	dict[21212] = "wěng,yǎng";
	dict[21213] = "shèng";
	dict[21214] = "láo";
	dict[21215] = "mù";
	dict[21216] = "lù";
	dict[21217] = "piāo";
	dict[21218] = "shì";
	dict[21219] = "jì";
	dict[21220] = "qín";
	dict[21221] = "jiàng";
	dict[21222] = "jiǎo,chāo";
	dict[21223] = "quàn";
	dict[21224] = "xiàng";
	dict[21225] = "yì";
	dict[21226] = "qiāo";
	dict[21227] = "fān";
	dict[21228] = "juān";
	dict[21229] = "tóng,dòng";
	dict[21230] = "jù";
	dict[21231] = "dān";
	dict[21232] = "xié";
	dict[21233] = "mài";
	dict[21234] = "xūn";
	dict[21235] = "xūn";
	dict[21236] = "lǜ";
	dict[21237] = "lì";
	dict[21238] = "chè";
	dict[21239] = "ráng,xiāng";
	dict[21240] = "quàn";
	dict[21241] = "bāo";
	dict[21242] = "sháo";
	dict[21243] = "yún";
	dict[21244] = "jiū";
	dict[21245] = "bào";
	dict[21246] = "gōu,gòu";
	dict[21247] = "wù";
	dict[21248] = "yún";
	dict[21250] = "xiōng";
	dict[21251] = "gài";
	dict[21252] = "gài";
	dict[21253] = "bāo";
	dict[21254] = "cōng";
	dict[21255] = "yì";
	dict[21256] = "xiōng";
	dict[21257] = "pēng";
	dict[21258] = "jū";
	dict[21259] = "táo,yáo";
	dict[21260] = "gé";
	dict[21261] = "pú";
	dict[21262] = "è";
	dict[21263] = "páo";
	dict[21264] = "fú";
	dict[21265] = "gōng";
	dict[21266] = "dá";
	dict[21267] = "jiù";
	dict[21268] = "gōng";
	dict[21269] = "bǐ";
	dict[21270] = "huà,huā";
	dict[21271] = "běi,bèi";
	dict[21272] = "nǎo";
	dict[21273] = "chí,shi";
	dict[21274] = "fāng";
	dict[21275] = "jiù";
	dict[21276] = "yí";
	dict[21277] = "zā";
	dict[21278] = "jiàng";
	dict[21279] = "kàng";
	dict[21280] = "jiàng";
	dict[21281] = "kuāng";
	dict[21282] = "hū";
	dict[21283] = "xiá";
	dict[21284] = "qū";
	dict[21285] = "fán";
	dict[21286] = "guǐ";
	dict[21287] = "qiè";
	dict[21288] = "zāng,cáng";
	dict[21289] = "kuāng";
	dict[21290] = "fěi";
	dict[21291] = "hū";
	dict[21292] = "yǔ";
	dict[21293] = "guǐ";
	dict[21294] = "kuì,guì";
	dict[21295] = "huì";
	dict[21296] = "dān";
	dict[21297] = "kuì,guì";
	dict[21298] = "lián";
	dict[21299] = "lián";
	dict[21300] = "suǎn";
	dict[21301] = "dú";
	dict[21302] = "jiù";
	dict[21303] = "jué";
	dict[21304] = "xì";
	dict[21305] = "pǐ";
	dict[21306] = "qū,ōu";
	dict[21307] = "yī";
	dict[21308] = "kē,qià";
	dict[21309] = "yǎn,yàn";
	dict[21310] = "biǎn";
	dict[21311] = "nì";
	dict[21312] = "qū,ōu";
	dict[21313] = "shí";
	dict[21314] = "xùn";
	dict[21315] = "qiān";
	dict[21316] = "niàn";
	dict[21317] = "sà";
	dict[21318] = "zú";
	dict[21319] = "shēng";
	dict[21320] = "wǔ";
	dict[21321] = "huì";
	dict[21322] = "bàn";
	dict[21323] = "shì";
	dict[21324] = "xì";
	dict[21325] = "wàn";
	dict[21326] = "huá,huà,huā";
	dict[21327] = "xié";
	dict[21328] = "wàn";
	dict[21329] = "bēi";
	dict[21330] = "zú,cù";
	dict[21331] = "zhuó";
	dict[21332] = "xié";
	dict[21333] = "dān,shàn,chán";
	dict[21334] = "mài";
	dict[21335] = "nán,nā";
	dict[21336] = "dān";
	dict[21337] = "jí";
	dict[21338] = "bó";
	dict[21339] = "shuài,lǜ";
	dict[21340] = "bǔ,bo";
	dict[21341] = "guàn,kuàng";
	dict[21342] = "biàn";
	dict[21343] = "bǔ";
	dict[21344] = "zhān,zhàn";
	dict[21345] = "kǎ,qiǎ";
	dict[21346] = "lú";
	dict[21347] = "yǒu";
	dict[21348] = "lǔ";
	dict[21349] = "xī";
	dict[21350] = "guà";
	dict[21351] = "wò";
	dict[21352] = "xiè";
	dict[21353] = "jié";
	dict[21354] = "jié";
	dict[21355] = "wèi";
	dict[21356] = "yǎng,áng";
	dict[21357] = "qióng";
	dict[21358] = "zhī";
	dict[21359] = "mǎo";
	dict[21360] = "yìn";
	dict[21361] = "wēi";
	dict[21362] = "shào";
	dict[21363] = "jí";
	dict[21364] = "què";
	dict[21365] = "luǎn";
	dict[21366] = "chǐ";
	dict[21367] = "juàn,juǎn";
	dict[21368] = "xiè";
	dict[21369] = "xù";
	dict[21370] = "jǐn";
	dict[21371] = "què";
	dict[21372] = "wù";
	dict[21373] = "jí";
	dict[21374] = "è";
	dict[21375] = "qīng";
	dict[21376] = "xī";
	dict[21377] = "sān";
	dict[21378] = "chǎng,ān,hàn";
	dict[21379] = "wēi,yán";
	dict[21380] = "è";
	dict[21381] = "tīng";
	dict[21382] = "lì";
	dict[21383] = "zhé,zhái";
	dict[21384] = "hàn,àn";
	dict[21385] = "lì";
	dict[21386] = "yǎ";
	dict[21387] = "yā,yà";
	dict[21388] = "yàn";
	dict[21389] = "shè";
	dict[21390] = "dǐ";
	dict[21391] = "zhǎ,zhǎi";
	dict[21392] = "páng";
	dict[21393] = "yá";
	dict[21394] = "qiè";
	dict[21395] = "yá";
	dict[21396] = "zhì,shī";
	dict[21397] = "cè";
	dict[21398] = "máng";
	dict[21399] = "tí";
	dict[21400] = "lí";
	dict[21401] = "shè";
	dict[21402] = "hòu";
	dict[21403] = "tīng";
	dict[21404] = "zuī";
	dict[21405] = "cuò";
	dict[21406] = "fèi";
	dict[21407] = "yuán";
	dict[21408] = "cè";
	dict[21409] = "yuán";
	dict[21410] = "xiāng";
	dict[21411] = "yǎn";
	dict[21412] = "lì";
	dict[21413] = "jué";
	dict[21414] = "shà,xià";
	dict[21415] = "diān";
	dict[21416] = "chú";
	dict[21417] = "jiù";
	dict[21418] = "jǐn";
	dict[21419] = "áo";
	dict[21420] = "guǐ";
	dict[21421] = "yàn";
	dict[21422] = "sī";
	dict[21423] = "lì";
	dict[21424] = "chǎng";
	dict[21425] = "qiān,lán";
	dict[21426] = "lì";
	dict[21427] = "yán";
	dict[21428] = "yǎn";
	dict[21429] = "yuán";
	dict[21430] = "sī,mǒu";
	dict[21431] = "gōng,hóng";
	dict[21432] = "lín,miǎo";
	dict[21433] = "róu,qiú";
	dict[21434] = "qù";
	dict[21435] = "qù";
	dict[21437] = "lěi";
	dict[21438] = "dū";
	dict[21439] = "xiàn,xuán";
	dict[21440] = "zhuān";
	dict[21441] = "sān";
	dict[21442] = "cān,shēn,cēn,sān";
	dict[21443] = "cān,shēn,cēn,sān";
	dict[21444] = "cān,shēn,cēn,sān";
	dict[21445] = "cān,shēn,cēn,sān";
	dict[21446] = "ài";
	dict[21447] = "dài";
	dict[21448] = "yòu";
	dict[21449] = "chā,chá,chǎ";
	dict[21450] = "jí";
	dict[21451] = "yǒu";
	dict[21452] = "shuāng";
	dict[21453] = "fǎn";
	dict[21454] = "shōu";
	dict[21455] = "guái";
	dict[21456] = "bá";
	dict[21457] = "fā,fà";
	dict[21458] = "ruò";
	dict[21459] = "lì";
	dict[21460] = "shū";
	dict[21461] = "zhuó,yǐ,lì,jué";
	dict[21462] = "qǔ";
	dict[21463] = "shòu";
	dict[21464] = "biàn";
	dict[21465] = "xù";
	dict[21466] = "jiǎ";
	dict[21467] = "pàn";
	dict[21468] = "sǒu";
	dict[21469] = "jí";
	dict[21470] = "wèi,yù";
	dict[21471] = "sǒu";
	dict[21472] = "dié";
	dict[21473] = "ruì";
	dict[21474] = "cóng";
	dict[21475] = "kǒu";
	dict[21476] = "gǔ";
	dict[21477] = "jù,gōu";
	dict[21478] = "lìng";
	dict[21479] = "guǎ";
	dict[21480] = "tāo,dāo";
	dict[21481] = "kòu";
	dict[21482] = "zhī,zhǐ";
	dict[21483] = "jiào";
	dict[21484] = "zhào,shào";
	dict[21485] = "bā";
	dict[21486] = "dīng";
	dict[21487] = "kě,kè";
	dict[21488] = "tái,tāi";
	dict[21489] = "chì";
	dict[21490] = "shǐ";
	dict[21491] = "yòu";
	dict[21492] = "qiú";
	dict[21493] = "pǒ";
	dict[21494] = "yè,xié";
	dict[21495] = "hào,háo";
	dict[21496] = "sī";
	dict[21497] = "tàn";
	dict[21498] = "chǐ";
	dict[21499] = "lè";
	dict[21500] = "diāo";
	dict[21501] = "jī";
	dict[21503] = "hōng,hóng";
	dict[21504] = "miē";
	dict[21505] = "xū,yù";
	dict[21506] = "máng";
	dict[21507] = "chī";
	dict[21508] = "gè,gě";
	dict[21509] = "xuān,sòng";
	dict[21510] = "yāo";
	dict[21511] = "zǐ";
	dict[21512] = "hé,gě";
	dict[21513] = "jí";
	dict[21514] = "diào";
	dict[21515] = "dòu,cùn";
	dict[21516] = "tóng,tòng";
	dict[21517] = "míng";
	dict[21518] = "hòu";
	dict[21519] = "lì";
	dict[21520] = "tǔ,tù";
	dict[21521] = "xiàng";
	dict[21522] = "zhà,zhā";
	dict[21523] = "xià,hè";
	dict[21524] = "yē";
	dict[21525] = "lǚ";
	dict[21526] = "yā,ā";
	dict[21527] = "ma,má,mǎ";
	dict[21528] = "ǒu";
	dict[21529] = "huō";
	dict[21530] = "yī";
	dict[21531] = "jūn";
	dict[21532] = "chǒu";
	dict[21533] = "lìn";
	dict[21534] = "tūn";
	dict[21535] = "yín";
	dict[21536] = "fèi";
	dict[21537] = "pǐ,bǐ";
	dict[21538] = "qìn";
	dict[21539] = "qìn";
	dict[21540] = "jiè,gè";
	dict[21541] = "bù";
	dict[21542] = "fǒu,pǐ";
	dict[21543] = "bā,ba";
	dict[21544] = "dūn";
	dict[21545] = "fēn";
	dict[21546] = "é,huā";
	dict[21547] = "hán";
	dict[21548] = "tīng";
	dict[21549] = "háng,kēng";
	dict[21550] = "shǔn";
	dict[21551] = "qǐ";
	dict[21552] = "hóng";
	dict[21553] = "zhī,zī";
	dict[21554] = "yǐn,shěn";
	dict[21555] = "wú";
	dict[21556] = "wú";
	dict[21557] = "chǎo,chāo";
	dict[21558] = "nà,nè";
	dict[21559] = "xuè,chuò,jué";
	dict[21560] = "xī";
	dict[21561] = "chuī";
	dict[21562] = "dōu,rú";
	dict[21563] = "wěn";
	dict[21564] = "hǒu";
	dict[21565] = "hǒu,hōng,ōu";
	dict[21566] = "wú,yù";
	dict[21567] = "gào";
	dict[21568] = "yā,ya";
	dict[21569] = "jùn";
	dict[21570] = "lǚ";
	dict[21571] = "è";
	dict[21572] = "gé";
	dict[21573] = "wěn";
	dict[21574] = "dāi";
	dict[21575] = "qǐ";
	dict[21576] = "chéng";
	dict[21577] = "wú";
	dict[21578] = "gào";
	dict[21579] = "fū";
	dict[21580] = "jiào";
	dict[21581] = "hōng";
	dict[21582] = "chǐ";
	dict[21583] = "shēng";
	dict[21584] = "nà,nè";
	dict[21585] = "tūn,tiān";
	dict[21586] = "fǔ";
	dict[21587] = "yì";
	dict[21588] = "dāi";
	dict[21589] = "ǒu,ōu,òu";
	dict[21590] = "lì";
	dict[21591] = "bei,bài";
	dict[21592] = "yuán,yún,yùn";
	dict[21593] = "wāi,hé,wǒ,wā,guǎ,guō";
	dict[21594] = "huá,qì";
	dict[21595] = "qiāng,qiàng";
	dict[21596] = "wū";
	dict[21597] = "è";
	dict[21598] = "shī";
	dict[21599] = "juǎn";
	dict[21600] = "pěn";
	dict[21601] = "wěn,mǐn";
	dict[21602] = "ne,ní";
	dict[21603] = "móu";
	dict[21604] = "líng";
	dict[21605] = "rán";
	dict[21606] = "yōu";
	dict[21607] = "dǐ";
	dict[21608] = "zhōu";
	dict[21609] = "shì";
	dict[21610] = "zhòu";
	dict[21611] = "tiè,chè";
	dict[21612] = "xì";
	dict[21613] = "yì";
	dict[21614] = "qì,zhī";
	dict[21615] = "píng";
	dict[21616] = "zǐ,cī";
	dict[21617] = "guā,gū,guǎ";
	dict[21618] = "zī,cī";
	dict[21619] = "wèi";
	dict[21620] = "xǔ,hǒu,gòu";
	dict[21621] = "hē,a,kē";
	dict[21622] = "náo";
	dict[21623] = "xiā";
	dict[21624] = "pēi";
	dict[21625] = "yì";
	dict[21626] = "xiāo,háo";
	dict[21627] = "shēn";
	dict[21628] = "hū";
	dict[21629] = "mìng";
	dict[21630] = "dá,dàn";
	dict[21631] = "qū";
	dict[21632] = "jǔ,zuǐ";
	dict[21633] = "xián,gān";
	dict[21634] = "zā";
	dict[21635] = "tuō";
	dict[21636] = "duō";
	dict[21637] = "pǒu";
	dict[21638] = "páo";
	dict[21639] = "bì";
	dict[21640] = "fú";
	dict[21641] = "yǎng";
	dict[21642] = "hé,hè";
	dict[21643] = "zǎ,zé,zhā";
	dict[21644] = "hé,hè,huó,huò,hú";
	dict[21645] = "hāi";
	dict[21646] = "jiù";
	dict[21647] = "yǒng";
	dict[21648] = "fù";
	dict[21649] = "dā";
	dict[21650] = "zhòu";
	dict[21651] = "wǎ";
	dict[21652] = "kǎ";
	dict[21653] = "gū";
	dict[21654] = "kā,gā";
	dict[21655] = "zuo";
	dict[21656] = "bù";
	dict[21657] = "lóng";
	dict[21658] = "dōng";
	dict[21659] = "níng";
	dict[21660] = "tuō";
	dict[21661] = "sī";
	dict[21662] = "xiàn,xián";
	dict[21663] = "huò";
	dict[21664] = "qì";
	dict[21665] = "èr";
	dict[21666] = "è";
	dict[21667] = "guāng";
	dict[21668] = "zhà";
	dict[21669] = "dié,xī";
	dict[21670] = "yí";
	dict[21671] = "liě,liē,lié,lie";
	dict[21672] = "zī";
	dict[21673] = "miē";
	dict[21674] = "mī";
	dict[21675] = "zhǐ";
	dict[21676] = "yǎo";
	dict[21677] = "jī,xī,qià";
	dict[21678] = "zhòu";
	dict[21679] = "kǎ,luò,lo,gē";
	dict[21680] = "shù,xún";
	dict[21681] = "zán,zá,zǎ";
	dict[21682] = "xiào";
	dict[21683] = "ké,hāi";
	dict[21684] = "huī";
	dict[21685] = "kuā";
	dict[21686] = "huài,shì";
	dict[21687] = "táo";
	dict[21688] = "xián";
	dict[21689] = "è,àn";
	dict[21690] = "xuǎn,xuān";
	dict[21691] = "xiū";
	dict[21692] = "wāi,hé,wǒ,wā,guǎ,guō";
	dict[21693] = "yān,yàn,yè";
	dict[21694] = "lǎo";
	dict[21695] = "yī";
	dict[21696] = "āi";
	dict[21697] = "pǐn";
	dict[21698] = "shěn";
	dict[21699] = "tóng";
	dict[21700] = "hōng,hǒng,hòng";
	dict[21701] = "xiōng";
	dict[21702] = "duō";
	dict[21703] = "wā,wa";
	dict[21704] = "hā,hǎ,hà";
	dict[21705] = "zāi";
	dict[21706] = "yòu";
	dict[21707] = "diè,dì";
	dict[21708] = "pài";
	dict[21709] = "xiǎng";
	dict[21710] = "āi";
	dict[21711] = "gén,hěn";
	dict[21712] = "kuāng";
	dict[21713] = "yǎ,yā";
	dict[21714] = "dā";
	dict[21715] = "xiāo";
	dict[21716] = "bì";
	dict[21717] = "yuě,huì";
	dict[21718] = "nián";
	dict[21719] = "huá,huā";
	dict[21720] = "xíng";
	dict[21721] = "kuài";
	dict[21722] = "duǒ";
	dict[21724] = "jì,jiē,zhāi";
	dict[21725] = "nóng";
	dict[21726] = "mōu";
	dict[21727] = "yō,yo";
	dict[21728] = "hào";
	dict[21729] = "yuán,yún,yùn";
	dict[21730] = "lòng";
	dict[21731] = "pǒu";
	dict[21732] = "máng";
	dict[21733] = "gē";
	dict[21734] = "ó,ò,é";
	dict[21735] = "chī";
	dict[21736] = "shào";
	dict[21737] = "li,lǐ,lī";
	dict[21738] = "nǎ,něi,na,né";
	dict[21739] = "zú";
	dict[21740] = "hè";
	dict[21741] = "kū";
	dict[21742] = "xiào";
	dict[21743] = "xiàn";
	dict[21744] = "láo";
	dict[21745] = "pò,bā,bō";
	dict[21746] = "zhé";
	dict[21747] = "zhā";
	dict[21748] = "liàng,láng";
	dict[21749] = "bā";
	dict[21750] = "miē";
	dict[21751] = "liè,lǜ";
	dict[21752] = "suī";
	dict[21753] = "fú";
	dict[21754] = "bǔ";
	dict[21755] = "hān";
	dict[21756] = "hēng,hng";
	dict[21757] = "gěng";
	dict[21758] = "chuò,yuè";
	dict[21759] = "gě,jiā";
	dict[21760] = "yòu";
	dict[21761] = "yàn";
	dict[21762] = "gū";
	dict[21763] = "gū";
	dict[21764] = "bei,bài";
	dict[21765] = "hán,hàn";
	dict[21766] = "suō";
	dict[21767] = "chún";
	dict[21768] = "yì";
	dict[21769] = "āi,ài";
	dict[21770] = "jiá,qiǎn";
	dict[21771] = "tǔ,tù";
	dict[21772] = "dàn,xián,yán";
	dict[21773] = "wǎn";
	dict[21774] = "lì";
	dict[21775] = "xī";
	dict[21776] = "táng";
	dict[21777] = "zuò";
	dict[21778] = "qiú";
	dict[21779] = "chē";
	dict[21780] = "wù,wú,ń";
	dict[21781] = "zào";
	dict[21782] = "yǎ";
	dict[21783] = "dōu";
	dict[21784] = "qǐ";
	dict[21785] = "dí";
	dict[21786] = "qìn";
	dict[21787] = "mài";
	dict[21789] = "gòng,hǒng,gǒng";
	dict[21790] = "dóu";
	dict[21792] = "lào,láo";
	dict[21793] = "liǎng";
	dict[21794] = "suǒ";
	dict[21795] = "zào";
	dict[21796] = "huàn";
	dict[21797] = "léng";
	dict[21798] = "shā";
	dict[21799] = "jī";
	dict[21800] = "zǔ";
	dict[21801] = "wō,wěi";
	dict[21802] = "fěng";
	dict[21803] = "jìn,yín";
	dict[21804] = "hǔ,xià";
	dict[21805] = "qì";
	dict[21806] = "shòu";
	dict[21807] = "wéi";
	dict[21808] = "shuā";
	dict[21809] = "chàng";
	dict[21810] = "ér,wā";
	dict[21811] = "lì";
	dict[21812] = "qiàng";
	dict[21813] = "ǎn";
	dict[21814] = "jiè,zé,jí";
	dict[21815] = "yō";
	dict[21816] = "niàn";
	dict[21817] = "yū";
	dict[21818] = "tiǎn";
	dict[21819] = "lài";
	dict[21820] = "shà";
	dict[21821] = "xī";
	dict[21822] = "tuò";
	dict[21823] = "hū";
	dict[21824] = "ái";
	dict[21825] = "zhōu,zhāo,tiào";
	dict[21826] = "gòu";
	dict[21827] = "kěn";
	dict[21828] = "zhuó";
	dict[21829] = "zhuó,zhào";
	dict[21830] = "shāng";
	dict[21831] = "dí";
	dict[21832] = "hèng";
	dict[21833] = "lán,lín";
	dict[21834] = "ā,á,ǎ,à,a";
	dict[21835] = "cǎi";
	dict[21836] = "qiāng";
	dict[21837] = "zhūn,tūn,xiāng,duǐ";
	dict[21838] = "wǔ";
	dict[21839] = "wèn";
	dict[21840] = "cuì,qi";
	dict[21841] = "shà,jié,dié,tì";
	dict[21842] = "gǔ";
	dict[21843] = "qǐ";
	dict[21844] = "qǐ";
	dict[21845] = "táo";
	dict[21846] = "dàn";
	dict[21847] = "dàn";
	dict[21848] = "yuē,wā";
	dict[21849] = "zǐ,cǐ";
	dict[21850] = "bǐ,tú";
	dict[21851] = "cuì";
	dict[21852] = "chuò,chuài";
	dict[21853] = "hé";
	dict[21854] = "yǎ,yā";
	dict[21855] = "qǐ";
	dict[21856] = "zhé";
	dict[21857] = "fēi";
	dict[21858] = "liǎng";
	dict[21859] = "xián";
	dict[21860] = "pí";
	dict[21861] = "shá";
	dict[21862] = "lā,la";
	dict[21863] = "zé";
	dict[21864] = "qíng,yīng";
	dict[21865] = "guà";
	dict[21866] = "pā";
	dict[21867] = "zhě,shì";
	dict[21868] = "sè";
	dict[21869] = "zhuàn";
	dict[21870] = "niè";
	dict[21871] = "guō";
	dict[21872] = "luō,luó,luo";
	dict[21873] = "yán";
	dict[21874] = "dī";
	dict[21875] = "quán";
	dict[21876] = "tān,chǎn,tuō";
	dict[21877] = "bo";
	dict[21878] = "dìng";
	dict[21879] = "lāng";
	dict[21880] = "xiào";
	dict[21881] = "jú";
	dict[21882] = "táng";
	dict[21883] = "chì";
	dict[21884] = "tí";
	dict[21885] = "ān,án";
	dict[21886] = "jiū";
	dict[21887] = "dàn";
	dict[21888] = "kā";
	dict[21889] = "yóng";
	dict[21890] = "wèi";
	dict[21891] = "nán";
	dict[21892] = "shàn";
	dict[21893] = "yù";
	dict[21894] = "zhé";
	dict[21895] = "lǎ";
	dict[21896] = "jiē";
	dict[21897] = "hóu";
	dict[21898] = "hǎn";
	dict[21899] = "dié,zhá";
	dict[21900] = "zhōu";
	dict[21901] = "chái";
	dict[21902] = "wāi";
	dict[21903] = "nuò,rě";
	dict[21904] = "huò,guó,xù";
	dict[21905] = "yīn";
	dict[21906] = "zán,zá,zǎ";
	dict[21907] = "yāo";
	dict[21908] = "ō,wō";
	dict[21909] = "miǎn";
	dict[21910] = "hú";
	dict[21911] = "yǔn";
	dict[21912] = "chuǎn";
	dict[21913] = "huì";
	dict[21914] = "huàn";
	dict[21915] = "huàn,yuán,xuǎn,hé";
	dict[21916] = "xǐ";
	dict[21917] = "hē,hè,yè";
	dict[21918] = "jī";
	dict[21919] = "kuì";
	dict[21920] = "zhǒng,chuáng";
	dict[21921] = "wéi,wèi";
	dict[21922] = "shà";
	dict[21923] = "xǔ";
	dict[21924] = "huáng";
	dict[21925] = "duó,zhà";
	dict[21926] = "yán";
	dict[21927] = "xuān";
	dict[21928] = "liàng";
	dict[21929] = "yù";
	dict[21930] = "sāng,sàng";
	dict[21931] = "chī";
	dict[21932] = "qiáo,jiāo";
	dict[21933] = "yàn";
	dict[21934] = "dān,shàn,chán";
	dict[21935] = "pèn,bēn";
	dict[21936] = "cān,sūn,qī";
	dict[21937] = "lí";
	dict[21938] = "yō,yo";
	dict[21939] = "zhā,chā";
	dict[21940] = "wēi";
	dict[21941] = "miāo";
	dict[21942] = "yíng";
	dict[21943] = "pēn,pèn";
	dict[21945] = "kuí";
	dict[21946] = "xí";
	dict[21947] = "yù";
	dict[21948] = "jiē";
	dict[21949] = "lóu,lou";
	dict[21950] = "kù";
	dict[21951] = "zào,qiāo";
	dict[21952] = "hù";
	dict[21953] = "tí";
	dict[21954] = "yáo";
	dict[21955] = "hè,xiāo,xiào,hù";
	dict[21956] = "shà,á";
	dict[21957] = "xiù";
	dict[21958] = "qiāng,qiàng";
	dict[21959] = "sè";
	dict[21960] = "yōng";
	dict[21961] = "sù";
	dict[21962] = "gòng,hǒng,gǒng";
	dict[21963] = "xié";
	dict[21964] = "yì,ài";
	dict[21965] = "suō";
	dict[21966] = "má,mǎ,ma";
	dict[21967] = "chā";
	dict[21968] = "hài";
	dict[21969] = "kē,kè";
	dict[21970] = "tà,dā";
	dict[21971] = "sǎng";
	dict[21972] = "chēn";
	dict[21973] = "rù";
	dict[21974] = "sōu";
	dict[21975] = "wā,gǔ";
	dict[21976] = "jī";
	dict[21977] = "bēng,pǎng";
	dict[21978] = "wū";
	dict[21979] = "xián,qiàn,qiè";
	dict[21980] = "shì";
	dict[21981] = "gé";
	dict[21982] = "zī";
	dict[21983] = "jiē";
	dict[21984] = "lào";
	dict[21985] = "wēng";
	dict[21986] = "wà";
	dict[21987] = "sì";
	dict[21988] = "chī";
	dict[21989] = "háo";
	dict[21990] = "suō";
	dict[21992] = "hāi,hēi";
	dict[21993] = "suǒ";
	dict[21994] = "qín";
	dict[21995] = "niè";
	dict[21996] = "hē";
	dict[21997] = "zi";
	dict[21998] = "sǎi";
	dict[21999] = "ňg,ń,ň";
	dict[22e3] = "gě";
	dict[22001] = "ná";
	dict[22002] = "diǎ";
	dict[22003] = "ǎi,ài,āi";
	dict[22004] = "qiāng";
	dict[22005] = "tōng";
	dict[22006] = "bì";
	dict[22007] = "áo";
	dict[22008] = "áo";
	dict[22009] = "lián";
	dict[22010] = "zuī,suī";
	dict[22011] = "zhē,zhè,zhù,zhe";
	dict[22012] = "mò";
	dict[22013] = "sòu";
	dict[22014] = "sǒu";
	dict[22015] = "tǎn";
	dict[22016] = "dí";
	dict[22017] = "qī";
	dict[22018] = "jiào";
	dict[22019] = "chōng";
	dict[22020] = "jiào,dǎo";
	dict[22021] = "kǎi,gě";
	dict[22022] = "tàn";
	dict[22023] = "shān,càn";
	dict[22024] = "cáo";
	dict[22025] = "jiā";
	dict[22026] = "ái";
	dict[22027] = "xiào";
	dict[22028] = "piāo";
	dict[22029] = "lóu,lou";
	dict[22030] = "gā,gá,gǎ";
	dict[22031] = "gǔ";
	dict[22032] = "xiāo,jiāo";
	dict[22033] = "hū";
	dict[22034] = "huì";
	dict[22035] = "guō";
	dict[22036] = "ǒu,ōu,òu";
	dict[22037] = "xiān";
	dict[22038] = "zé";
	dict[22039] = "cháng";
	dict[22040] = "xū,shī";
	dict[22041] = "pó";
	dict[22042] = "dē,dēi";
	dict[22043] = "má,ma";
	dict[22044] = "mà";
	dict[22045] = "hú";
	dict[22046] = "lei,lē";
	dict[22047] = "dū";
	dict[22048] = "gā,gá,gǎ";
	dict[22049] = "tāng";
	dict[22050] = "yě";
	dict[22051] = "bēng";
	dict[22052] = "yīng";
	dict[22053] = "sāi";
	dict[22054] = "jiào";
	dict[22055] = "mì";
	dict[22056] = "xiào";
	dict[22057] = "huá,huā";
	dict[22058] = "mǎi";
	dict[22059] = "rán";
	dict[22060] = "zuō";
	dict[22061] = "pēng";
	dict[22062] = "lào,láo";
	dict[22063] = "xiào";
	dict[22064] = "jī";
	dict[22065] = "zhǔ";
	dict[22066] = "cháo,zhāo";
	dict[22067] = "kuì";
	dict[22068] = "zuǐ";
	dict[22069] = "xiāo";
	dict[22070] = "sī";
	dict[22071] = "háo";
	dict[22072] = "fǔ";
	dict[22073] = "liáo";
	dict[22074] = "qiáo,qiào";
	dict[22075] = "xī";
	dict[22076] = "chù,xù,shòu";
	dict[22077] = "tān,chǎn";
	dict[22078] = "dàn,tán";
	dict[22079] = "hēi,mò";
	dict[22080] = "xùn";
	dict[22081] = "ě";
	dict[22082] = "zūn";
	dict[22083] = "fān,bo";
	dict[22084] = "chī";
	dict[22085] = "huī";
	dict[22086] = "zǎn";
	dict[22087] = "chuáng";
	dict[22088] = "cù,zā,hé";
	dict[22089] = "dàn";
	dict[22090] = "jué";
	dict[22091] = "tūn,kuò";
	dict[22092] = "cēng";
	dict[22093] = "jiào";
	dict[22094] = "yē";
	dict[22095] = "xī";
	dict[22096] = "qì";
	dict[22097] = "háo";
	dict[22098] = "lián";
	dict[22099] = "xū,shī";
	dict[22100] = "dēng";
	dict[22101] = "huī";
	dict[22102] = "yín";
	dict[22103] = "pū";
	dict[22104] = "juē";
	dict[22105] = "qín";
	dict[22106] = "xún";
	dict[22107] = "niè";
	dict[22108] = "lū";
	dict[22109] = "sī";
	dict[22110] = "yǎn";
	dict[22111] = "yīng";
	dict[22112] = "dā";
	dict[22113] = "zhān";
	dict[22114] = "ō";
	dict[22115] = "zhòu,zhuó";
	dict[22116] = "jìn";
	dict[22117] = "nóng";
	dict[22118] = "yuě,huì";
	dict[22119] = "xiè";
	dict[22120] = "qì";
	dict[22121] = "è";
	dict[22122] = "zào";
	dict[22123] = "yī";
	dict[22124] = "shì";
	dict[22125] = "jiào,qiào,chī";
	dict[22126] = "yuàn";
	dict[22127] = "ǎi,ài,āi";
	dict[22128] = "yōng,yǒng";
	dict[22129] = "jué,xué";
	dict[22130] = "kuài";
	dict[22131] = "yǔ";
	dict[22132] = "pēn,pèn";
	dict[22133] = "dào";
	dict[22134] = "gá";
	dict[22135] = "xīn,hěn,hèn";
	dict[22136] = "dūn";
	dict[22137] = "dāng";
	dict[22138] = "xīn";
	dict[22139] = "sāi";
	dict[22140] = "pī";
	dict[22141] = "pǐ";
	dict[22142] = "yīn";
	dict[22143] = "zuǐ";
	dict[22144] = "níng";
	dict[22145] = "dí";
	dict[22146] = "làn";
	dict[22147] = "tà";
	dict[22148] = "huò,ǒ";
	dict[22149] = "rú";
	dict[22150] = "hāo";
	dict[22151] = "hè,xià";
	dict[22152] = "yàn";
	dict[22153] = "duō";
	dict[22154] = "xiù,pì";
	dict[22155] = "zhōu,chóu";
	dict[22156] = "jì,jiē,zhāi";
	dict[22157] = "jìn";
	dict[22158] = "háo";
	dict[22159] = "tì";
	dict[22160] = "cháng";
	dict[22161] = "xūn";
	dict[22162] = "mē";
	dict[22163] = "cā,chā";
	dict[22164] = "tì";
	dict[22165] = "lū";
	dict[22166] = "huì";
	dict[22167] = "bó,pào,bào";
	dict[22168] = "yōu";
	dict[22169] = "niè";
	dict[22170] = "yín";
	dict[22171] = "hù";
	dict[22172] = "mèi,me,mò";
	dict[22173] = "hōng";
	dict[22174] = "zhé";
	dict[22175] = "lí";
	dict[22176] = "liú";
	dict[22177] = "xié,hái";
	dict[22178] = "náng";
	dict[22179] = "xiāo";
	dict[22180] = "mō";
	dict[22181] = "yàn";
	dict[22182] = "lì";
	dict[22183] = "lú";
	dict[22184] = "lóng";
	dict[22185] = "pó";
	dict[22186] = "dàn";
	dict[22187] = "chèn";
	dict[22188] = "pín";
	dict[22189] = "pǐ";
	dict[22190] = "xiàng";
	dict[22191] = "huò";
	dict[22192] = "mè";
	dict[22193] = "xī";
	dict[22194] = "duǒ";
	dict[22195] = "kù";
	dict[22196] = "yán";
	dict[22197] = "chán";
	dict[22198] = "yīng";
	dict[22199] = "rǎng,rāng";
	dict[22200] = "diǎn";
	dict[22201] = "lá";
	dict[22202] = "tà";
	dict[22203] = "xiāo";
	dict[22204] = "jiáo,jué,jiào";
	dict[22205] = "chuò";
	dict[22206] = "huàn,huān";
	dict[22207] = "huò";
	dict[22208] = "zhuàn";
	dict[22209] = "niè";
	dict[22210] = "xiāo";
	dict[22211] = "zá,cà";
	dict[22212] = "lí";
	dict[22213] = "chǎn";
	dict[22214] = "chài";
	dict[22215] = "lì";
	dict[22216] = "yì";
	dict[22217] = "luō,luó,luo";
	dict[22218] = "náng,nāng";
	dict[22219] = "zá,zàn,cān";
	dict[22220] = "sū";
	dict[22221] = "xǐ";
	dict[22222] = "zèng";
	dict[22223] = "jiān";
	dict[22224] = "yàn,zá,niè";
	dict[22225] = "zhǔ";
	dict[22226] = "lán";
	dict[22227] = "niè";
	dict[22228] = "nāng";
	dict[22230] = "luó,luō,luo";
	dict[22231] = "wéi,guó";
	dict[22232] = "huí";
	dict[22233] = "yīn";
	dict[22234] = "qiú";
	dict[22235] = "sì";
	dict[22236] = "nín";
	dict[22237] = "jiǎn,nān";
	dict[22238] = "huí";
	dict[22239] = "xìn";
	dict[22240] = "yīn";
	dict[22241] = "nān";
	dict[22242] = "tuán";
	dict[22243] = "tuán";
	dict[22244] = "dùn,tún";
	dict[22245] = "kàng";
	dict[22246] = "yuān";
	dict[22247] = "jiǒng";
	dict[22248] = "piān";
	dict[22249] = "yún";
	dict[22250] = "cōng";
	dict[22251] = "hú";
	dict[22252] = "huí";
	dict[22253] = "yuán";
	dict[22254] = "é";
	dict[22255] = "guó";
	dict[22256] = "kùn";
	dict[22257] = "cōng";
	dict[22258] = "wéi,tōng";
	dict[22259] = "tú";
	dict[22260] = "wéi";
	dict[22261] = "lún";
	dict[22262] = "guó";
	dict[22263] = "qūn";
	dict[22264] = "rì";
	dict[22265] = "líng";
	dict[22266] = "gù";
	dict[22267] = "guó";
	dict[22268] = "tāi";
	dict[22269] = "guó";
	dict[22270] = "tú";
	dict[22271] = "yòu";
	dict[22272] = "guó";
	dict[22273] = "yín";
	dict[22274] = "hùn";
	dict[22275] = "pǔ";
	dict[22276] = "yǔ";
	dict[22277] = "hán";
	dict[22278] = "yuán";
	dict[22279] = "lún";
	dict[22280] = "quān,juàn,juān";
	dict[22281] = "yǔ";
	dict[22282] = "qīng";
	dict[22283] = "guó";
	dict[22284] = "chuán,chuí";
	dict[22285] = "wéi";
	dict[22286] = "yuán";
	dict[22287] = "quān,juàn,juān";
	dict[22288] = "kū";
	dict[22289] = "pǔ";
	dict[22290] = "yuán";
	dict[22291] = "yuán";
	dict[22292] = "yà";
	dict[22293] = "tuān";
	dict[22294] = "tú";
	dict[22295] = "tú";
	dict[22296] = "tuán";
	dict[22297] = "lüè";
	dict[22298] = "huì";
	dict[22299] = "yì";
	dict[22300] = "huán,yuán";
	dict[22301] = "luán";
	dict[22302] = "luán";
	dict[22303] = "tǔ";
	dict[22304] = "yà";
	dict[22305] = "tǔ";
	dict[22306] = "tǐng";
	dict[22307] = "shèng";
	dict[22308] = "pú";
	dict[22309] = "lù";
	dict[22310] = "kuài";
	dict[22311] = "yā";
	dict[22312] = "zài";
	dict[22313] = "wéi,xū";
	dict[22314] = "gē";
	dict[22315] = "yù,zhūn";
	dict[22316] = "wū";
	dict[22317] = "guī";
	dict[22318] = "pǐ";
	dict[22319] = "yí";
	dict[22320] = "dì,de";
	dict[22321] = "qiān,sú";
	dict[22322] = "qiān";
	dict[22323] = "zhèn";
	dict[22324] = "zhuó";
	dict[22325] = "dàng";
	dict[22326] = "qià";
	dict[22327] = "xià";
	dict[22328] = "shān";
	dict[22329] = "kuàng";
	dict[22330] = "cháng,chǎng";
	dict[22331] = "qí,yín";
	dict[22332] = "niè";
	dict[22333] = "mò";
	dict[22334] = "jī";
	dict[22335] = "jiá";
	dict[22336] = "zhǐ";
	dict[22337] = "zhǐ,zhì";
	dict[22338] = "bǎn";
	dict[22339] = "xūn";
	dict[22340] = "yì";
	dict[22341] = "qǐn";
	dict[22342] = "méi,fén";
	dict[22343] = "jūn";
	dict[22344] = "rǒng,kēng";
	dict[22345] = "tún,dùn";
	dict[22346] = "fāng,fáng";
	dict[22347] = "bèn,fèn";
	dict[22348] = "bèn";
	dict[22349] = "tān";
	dict[22350] = "kǎn";
	dict[22351] = "huài";
	dict[22352] = "zuò";
	dict[22353] = "kēng";
	dict[22354] = "bì";
	dict[22355] = "jǐng";
	dict[22356] = "dì,làn";
	dict[22357] = "jīng";
	dict[22358] = "jì";
	dict[22359] = "kuài";
	dict[22360] = "dǐ";
	dict[22361] = "jīng";
	dict[22362] = "jiān";
	dict[22363] = "tán";
	dict[22364] = "lì";
	dict[22365] = "bà";
	dict[22366] = "wù";
	dict[22367] = "fén";
	dict[22368] = "zhuì";
	dict[22369] = "pō";
	dict[22370] = "pǎn,bàn";
	dict[22371] = "táng";
	dict[22372] = "kūn";
	dict[22373] = "qū";
	dict[22374] = "tǎn";
	dict[22375] = "zhǐ";
	dict[22376] = "tuó";
	dict[22377] = "gān";
	dict[22378] = "píng";
	dict[22379] = "diàn";
	dict[22380] = "guà";
	dict[22381] = "ní";
	dict[22382] = "tái";
	dict[22383] = "pī";
	dict[22384] = "jiōng";
	dict[22385] = "yǎng";
	dict[22386] = "fó";
	dict[22387] = "ào";
	dict[22388] = "lù";
	dict[22389] = "qiū";
	dict[22390] = "mù,mǔ";
	dict[22391] = "kē,kě";
	dict[22392] = "gòu";
	dict[22393] = "xuè";
	dict[22394] = "fá";
	dict[22395] = "dǐ,chí";
	dict[22396] = "chè";
	dict[22397] = "líng";
	dict[22398] = "zhù";
	dict[22399] = "fù";
	dict[22400] = "hū";
	dict[22401] = "zhì";
	dict[22402] = "chuí";
	dict[22403] = "lā";
	dict[22404] = "lǒng";
	dict[22405] = "lǒng";
	dict[22406] = "lú";
	dict[22407] = "ào";
	dict[22408] = "dài";
	dict[22409] = "páo";
	dict[22410] = "mín";
	dict[22411] = "xíng";
	dict[22412] = "dòng,tóng";
	dict[22413] = "jì";
	dict[22414] = "hè";
	dict[22415] = "lǜ";
	dict[22416] = "cí";
	dict[22417] = "chǐ";
	dict[22418] = "lěi";
	dict[22419] = "gāi";
	dict[22420] = "yīn";
	dict[22421] = "hòu";
	dict[22422] = "duī";
	dict[22423] = "zhào";
	dict[22424] = "fú";
	dict[22425] = "guāng";
	dict[22426] = "yáo";
	dict[22427] = "duǒ,duò";
	dict[22428] = "duǒ,duò";
	dict[22429] = "guǐ";
	dict[22430] = "chá";
	dict[22431] = "yáng";
	dict[22432] = "yín";
	dict[22433] = "fá";
	dict[22434] = "gòu";
	dict[22435] = "yuán";
	dict[22436] = "dié";
	dict[22437] = "xié";
	dict[22438] = "kěn";
	dict[22439] = "shǎng";
	dict[22440] = "shǒu";
	dict[22441] = "è";
	dict[22442] = "bìng";
	dict[22443] = "diàn";
	dict[22444] = "hóng";
	dict[22445] = "yā";
	dict[22446] = "kuǎ";
	dict[22447] = "dá";
	dict[22448] = "kǎ";
	dict[22449] = "dàng";
	dict[22450] = "kǎi";
	dict[22451] = "háng";
	dict[22452] = "nǎo";
	dict[22453] = "ǎn";
	dict[22454] = "xīng";
	dict[22455] = "xiàn";
	dict[22456] = "yuàn,huán";
	dict[22457] = "bāng";
	dict[22458] = "póu,fú";
	dict[22459] = "bà";
	dict[22460] = "yì";
	dict[22461] = "yìn";
	dict[22462] = "hàn";
	dict[22463] = "xù";
	dict[22464] = "chuí";
	dict[22465] = "cén";
	dict[22466] = "gěng";
	dict[22467] = "āi";
	dict[22468] = "běng,fēng";
	dict[22469] = "dì,fáng";
	dict[22470] = "què,jué";
	dict[22471] = "yǒng";
	dict[22472] = "jùn";
	dict[22473] = "xiá,jiā";
	dict[22474] = "dì";
	dict[22475] = "mái,mán";
	dict[22476] = "làng";
	dict[22477] = "juǎn";
	dict[22478] = "chéng";
	dict[22479] = "yán,shān";
	dict[22480] = "qín,jīn";
	dict[22481] = "zhé";
	dict[22482] = "liè";
	dict[22483] = "liè";
	dict[22484] = "pǔ,bù";
	dict[22485] = "chéng";
	dict[22486] = "huā";
	dict[22487] = "bù";
	dict[22488] = "shí";
	dict[22489] = "xūn";
	dict[22490] = "guō";
	dict[22491] = "jiōng";
	dict[22492] = "yě";
	dict[22493] = "niàn";
	dict[22494] = "dī";
	dict[22495] = "yù";
	dict[22496] = "bù";
	dict[22497] = "yà";
	dict[22498] = "quán";
	dict[22499] = "suì,sù";
	dict[22500] = "pí,pì";
	dict[22501] = "qīng,zhēng";
	dict[22502] = "wǎn,wān";
	dict[22503] = "jù";
	dict[22504] = "lǔn";
	dict[22505] = "zhēng,chéng";
	dict[22506] = "kōng";
	dict[22507] = "chǒng,shǎng";
	dict[22508] = "dōng";
	dict[22509] = "dài";
	dict[22510] = "tán,tàn";
	dict[22511] = "ǎn";
	dict[22512] = "cǎi,cài";
	dict[22513] = "chù,tòu";
	dict[22514] = "běng";
	dict[22515] = "xiàn,kǎn";
	dict[22516] = "zhí";
	dict[22517] = "duǒ";
	dict[22518] = "yì,shì";
	dict[22519] = "zhí";
	dict[22520] = "yì";
	dict[22521] = "péi";
	dict[22522] = "jī";
	dict[22523] = "zhǔn";
	dict[22524] = "qí";
	dict[22525] = "sào,sǎo";
	dict[22526] = "jù";
	dict[22527] = "ní";
	dict[22528] = "kū";
	dict[22529] = "kè";
	dict[22530] = "táng";
	dict[22531] = "kūn";
	dict[22532] = "nì";
	dict[22533] = "jiān";
	dict[22534] = "duī";
	dict[22535] = "jīn";
	dict[22536] = "gāng";
	dict[22537] = "yù";
	dict[22538] = "è";
	dict[22539] = "péng,bèng";
	dict[22540] = "gù";
	dict[22541] = "tù";
	dict[22542] = "lèng";
	dict[22543] = "fāng";
	dict[22544] = "yá";
	dict[22545] = "qiàn";
	dict[22546] = "kūn";
	dict[22547] = "àn";
	dict[22548] = "shēn";
	dict[22549] = "duò,huī";
	dict[22550] = "nǎo";
	dict[22551] = "tū";
	dict[22552] = "chéng";
	dict[22553] = "yīn";
	dict[22554] = "huán";
	dict[22555] = "bì";
	dict[22556] = "liàn";
	dict[22557] = "guō";
	dict[22558] = "dié";
	dict[22559] = "zhuàn";
	dict[22560] = "hòu";
	dict[22561] = "bǎo,bǔ,pù";
	dict[22562] = "bǎo";
	dict[22563] = "yú";
	dict[22564] = "dī";
	dict[22565] = "máo,móu,wǔ";
	dict[22566] = "jiē";
	dict[22567] = "ruán";
	dict[22568] = "è,ài,yè";
	dict[22569] = "gèng";
	dict[22570] = "kān";
	dict[22571] = "zōng";
	dict[22572] = "yú";
	dict[22573] = "huáng";
	dict[22574] = "è";
	dict[22575] = "yáo";
	dict[22576] = "yàn";
	dict[22577] = "bào";
	dict[22578] = "jí";
	dict[22579] = "méi";
	dict[22580] = "cháng,chǎng";
	dict[22581] = "dǔ";
	dict[22582] = "tuó";
	dict[22583] = "yìn";
	dict[22584] = "féng";
	dict[22585] = "zhòng";
	dict[22586] = "jiè";
	dict[22587] = "jīn";
	dict[22588] = "fēng";
	dict[22589] = "gāng";
	dict[22590] = "chuǎn";
	dict[22591] = "jiǎn";
	dict[22592] = "píng";
	dict[22593] = "lěi";
	dict[22594] = "jiǎng";
	dict[22595] = "huāng";
	dict[22596] = "léng";
	dict[22597] = "duàn";
	dict[22598] = "wān";
	dict[22599] = "xuān";
	dict[22600] = "jì";
	dict[22601] = "jí";
	dict[22602] = "kuài";
	dict[22603] = "yíng";
	dict[22604] = "tā";
	dict[22605] = "chéng";
	dict[22606] = "yǒng";
	dict[22607] = "kǎi";
	dict[22608] = "sù";
	dict[22609] = "sù";
	dict[22610] = "shí";
	dict[22611] = "mì";
	dict[22612] = "tǎ";
	dict[22613] = "wěng";
	dict[22614] = "chéng";
	dict[22615] = "tú";
	dict[22616] = "táng";
	dict[22617] = "què";
	dict[22618] = "zhǒng";
	dict[22619] = "lì";
	dict[22620] = "péng";
	dict[22621] = "bàng";
	dict[22622] = "sāi,sài,sè";
	dict[22623] = "zàng";
	dict[22624] = "duī";
	dict[22625] = "tián";
	dict[22626] = "wù";
	dict[22627] = "zhèng";
	dict[22628] = "xūn";
	dict[22629] = "gé";
	dict[22630] = "zhèn";
	dict[22631] = "ài";
	dict[22632] = "gōng";
	dict[22633] = "yán";
	dict[22634] = "xiàn";
	dict[22635] = "tián,zhèn";
	dict[22636] = "yuán";
	dict[22637] = "wēn";
	dict[22638] = "xiè";
	dict[22639] = "liù";
	dict[22640] = "hǎi";
	dict[22641] = "lǎng";
	dict[22642] = "cháng,chǎng";
	dict[22643] = "péng";
	dict[22644] = "bèng";
	dict[22645] = "chén";
	dict[22646] = "lù";
	dict[22647] = "lǔ";
	dict[22648] = "ōu,qiū";
	dict[22649] = "qiàn";
	dict[22650] = "méi";
	dict[22651] = "mò";
	dict[22652] = "zhuān,tuán";
	dict[22653] = "shuǎng";
	dict[22654] = "shú";
	dict[22655] = "lǒu";
	dict[22656] = "chí";
	dict[22657] = "màn";
	dict[22658] = "biāo";
	dict[22659] = "jìng";
	dict[22660] = "qī";
	dict[22661] = "shù";
	dict[22662] = "zhì,dì";
	dict[22663] = "zhàng";
	dict[22664] = "kàn";
	dict[22665] = "yōng";
	dict[22666] = "diàn";
	dict[22667] = "chěn";
	dict[22668] = "zhǐ,zhuó";
	dict[22669] = "xì";
	dict[22670] = "guō";
	dict[22671] = "qiǎng";
	dict[22672] = "jìn";
	dict[22673] = "dì";
	dict[22674] = "shāng";
	dict[22675] = "mù";
	dict[22676] = "cuī";
	dict[22677] = "yàn";
	dict[22678] = "tǎ";
	dict[22679] = "zēng";
	dict[22680] = "qián";
	dict[22681] = "qiáng";
	dict[22682] = "liáng";
	dict[22683] = "wèi";
	dict[22684] = "zhuì";
	dict[22685] = "qiāo";
	dict[22686] = "zēng";
	dict[22687] = "xū";
	dict[22688] = "shàn";
	dict[22689] = "shàn";
	dict[22690] = "fá";
	dict[22691] = "pú";
	dict[22692] = "kuài,tuí";
	dict[22693] = "tuǎn,dǒng";
	dict[22694] = "fán";
	dict[22695] = "qiáo,què";
	dict[22696] = "mò";
	dict[22697] = "dūn";
	dict[22698] = "dūn";
	dict[22699] = "zūn,dūn";
	dict[22700] = "dì";
	dict[22701] = "shèng";
	dict[22702] = "duò,huī";
	dict[22703] = "duò";
	dict[22704] = "tán";
	dict[22705] = "dèng";
	dict[22706] = "wú";
	dict[22707] = "fén";
	dict[22708] = "huáng";
	dict[22709] = "tán";
	dict[22710] = "dā";
	dict[22711] = "yè";
	dict[22712] = "zhù";
	dict[22713] = "jiàn";
	dict[22714] = "ào";
	dict[22715] = "qiáng";
	dict[22716] = "jī";
	dict[22717] = "qiāo,áo";
	dict[22718] = "kěn";
	dict[22719] = "yì,tú";
	dict[22720] = "pí";
	dict[22721] = "bì";
	dict[22722] = "diàn";
	dict[22723] = "jiāng";
	dict[22724] = "yě";
	dict[22725] = "yōng";
	dict[22726] = "xué,bó,jué";
	dict[22727] = "tán";
	dict[22728] = "lǎn";
	dict[22729] = "jù";
	dict[22730] = "huài";
	dict[22731] = "dàng";
	dict[22732] = "rǎng";
	dict[22733] = "qiàn";
	dict[22734] = "xūn";
	dict[22735] = "xiàn,làn";
	dict[22736] = "xǐ";
	dict[22737] = "hè";
	dict[22738] = "ài";
	dict[22739] = "yā,yà";
	dict[22740] = "dǎo";
	dict[22741] = "háo";
	dict[22742] = "ruán";
	dict[22743] = "jìn";
	dict[22744] = "lěi";
	dict[22745] = "kuàng";
	dict[22746] = "lú";
	dict[22747] = "yán";
	dict[22748] = "tán";
	dict[22749] = "wéi";
	dict[22750] = "huài";
	dict[22751] = "lǒng";
	dict[22752] = "lǒng";
	dict[22753] = "ruǐ";
	dict[22754] = "lì";
	dict[22755] = "lín";
	dict[22756] = "rǎng";
	dict[22757] = "chán";
	dict[22758] = "xūn";
	dict[22759] = "yán";
	dict[22760] = "lěi";
	dict[22761] = "bà";
	dict[22762] = "wān";
	dict[22763] = "shì";
	dict[22764] = "rén";
	dict[22765] = "san";
	dict[22766] = "zhuàng";
	dict[22767] = "zhuàng";
	dict[22768] = "shēng";
	dict[22769] = "yī";
	dict[22770] = "mài";
	dict[22771] = "ké,qiào";
	dict[22772] = "zhù";
	dict[22773] = "zhuàng";
	dict[22774] = "hú";
	dict[22775] = "hú";
	dict[22776] = "kǔn";
	dict[22777] = "yī";
	dict[22778] = "hú";
	dict[22779] = "xù";
	dict[22780] = "kǔn";
	dict[22781] = "shòu";
	dict[22782] = "mǎng";
	dict[22783] = "cún";
	dict[22784] = "shòu";
	dict[22785] = "yī";
	dict[22786] = "zhǐ,zhōng";
	dict[22787] = "gǔ,yíng";
	dict[22788] = "chǔ,chù";
	dict[22789] = "jiàng,xiáng";
	dict[22790] = "féng,fēng,páng";
	dict[22791] = "bèi";
	dict[22792] = "zhāi";
	dict[22793] = "biàn";
	dict[22794] = "suī";
	dict[22795] = "qūn";
	dict[22796] = "líng";
	dict[22797] = "fù";
	dict[22798] = "cuò";
	dict[22799] = "xià";
	dict[22800] = "xiòng,xuàn";
	dict[22801] = "xiè";
	dict[22802] = "náo";
	dict[22803] = "xià";
	dict[22804] = "kuí";
	dict[22805] = "xī";
	dict[22806] = "wài";
	dict[22807] = "yuàn,wǎn,wān,yuān";
	dict[22808] = "mǎo,wǎn";
	dict[22809] = "sù";
	dict[22810] = "duō";
	dict[22811] = "duō";
	dict[22812] = "yè";
	dict[22813] = "qíng";
	dict[22815] = "gòu";
	dict[22816] = "gòu";
	dict[22817] = "qì";
	dict[22818] = "mèng";
	dict[22819] = "mèng";
	dict[22820] = "yín";
	dict[22821] = "huǒ";
	dict[22822] = "chěn";
	dict[22823] = "dà,dài,tài";
	dict[22824] = "cè";
	dict[22825] = "tiān";
	dict[22826] = "tài";
	dict[22827] = "fū,fú";
	dict[22828] = "guài";
	dict[22829] = "yāo";
	dict[22830] = "yāng";
	dict[22831] = "hāng,bèn";
	dict[22832] = "gǎo";
	dict[22833] = "shī";
	dict[22834] = "tāo,běn";
	dict[22835] = "tài";
	dict[22836] = "tóu,tou";
	dict[22837] = "yǎn,tāo";
	dict[22838] = "bǐ";
	dict[22839] = "yí";
	dict[22840] = "kuā,kuà";
	dict[22841] = "jiā,jiá,gā";
	dict[22842] = "duó";
	dict[22843] = "huà";
	dict[22844] = "kuǎng";
	dict[22845] = "yǔn";
	dict[22846] = "jiā,jiá,gā";
	dict[22847] = "bā";
	dict[22848] = "ēn";
	dict[22849] = "lián";
	dict[22850] = "huàn";
	dict[22851] = "dī,tì";
	dict[22852] = "yǎn,yān";
	dict[22853] = "pào";
	dict[22854] = "juàn";
	dict[22855] = "qí,jī";
	dict[22856] = "nài";
	dict[22857] = "fèng";
	dict[22858] = "xié";
	dict[22859] = "fèn";
	dict[22860] = "diǎn";
	dict[22861] = "quān,juàn";
	dict[22862] = "kuí";
	dict[22863] = "zòu";
	dict[22864] = "huàn";
	dict[22865] = "qì,qiè,xiè";
	dict[22866] = "kāi";
	dict[22867] = "shē,chǐ,zhà";
	dict[22868] = "bēn,bèn";
	dict[22869] = "yì";
	dict[22870] = "jiǎng";
	dict[22871] = "tào";
	dict[22872] = "zàng,zhuǎng";
	dict[22873] = "běn";
	dict[22874] = "xī";
	dict[22875] = "huǎng";
	dict[22876] = "fěi";
	dict[22877] = "diāo";
	dict[22878] = "xùn,zhuì";
	dict[22879] = "bēng";
	dict[22880] = "diàn";
	dict[22881] = "ào";
	dict[22882] = "shē";
	dict[22883] = "wěng";
	dict[22884] = "pò,hǎ,tǎi";
	dict[22885] = "ào,yù";
	dict[22886] = "wù";
	dict[22887] = "ào,yù";
	dict[22888] = "jiǎng";
	dict[22889] = "lián";
	dict[22890] = "duó";
	dict[22891] = "yūn";
	dict[22892] = "jiǎng";
	dict[22893] = "shì";
	dict[22894] = "fèn";
	dict[22895] = "huò";
	dict[22896] = "bì";
	dict[22897] = "luán";
	dict[22898] = "duǒ,chě";
	dict[22899] = "nǚ,rǔ";
	dict[22900] = "nú";
	dict[22901] = "dǐng,dīng,tiǎn";
	dict[22902] = "nǎi";
	dict[22903] = "qiān";
	dict[22904] = "jiān";
	dict[22905] = "tā,jiě";
	dict[22906] = "jiǔ";
	dict[22907] = "nuán";
	dict[22908] = "chà";
	dict[22909] = "hǎo,hào";
	dict[22910] = "xiān";
	dict[22911] = "fàn";
	dict[22912] = "jǐ";
	dict[22913] = "shuò";
	dict[22914] = "rú";
	dict[22915] = "fēi,pèi";
	dict[22916] = "wàng";
	dict[22917] = "hóng";
	dict[22918] = "zhuāng";
	dict[22919] = "fù";
	dict[22920] = "mā";
	dict[22921] = "dān";
	dict[22922] = "rèn";
	dict[22923] = "fū,yōu";
	dict[22924] = "jìng";
	dict[22925] = "yán";
	dict[22926] = "hài,jiè";
	dict[22927] = "wèn";
	dict[22928] = "zhōng";
	dict[22929] = "pā";
	dict[22930] = "dù";
	dict[22931] = "jì";
	dict[22932] = "kēng,háng";
	dict[22933] = "zhòng";
	dict[22934] = "yāo";
	dict[22935] = "jìn";
	dict[22936] = "yún";
	dict[22937] = "miào";
	dict[22938] = "fǒu,pēi,pī";
	dict[22939] = "chī";
	dict[22940] = "yuè,jué";
	dict[22941] = "zhuāng";
	dict[22942] = "niū";
	dict[22943] = "yàn";
	dict[22944] = "nà,nàn";
	dict[22945] = "xīn";
	dict[22946] = "fén";
	dict[22947] = "bǐ";
	dict[22948] = "yú";
	dict[22949] = "tuǒ";
	dict[22950] = "fēng";
	dict[22951] = "wàn,yuán";
	dict[22952] = "fáng";
	dict[22953] = "wǔ";
	dict[22954] = "yù";
	dict[22955] = "guī";
	dict[22956] = "dù";
	dict[22957] = "bá";
	dict[22958] = "nī";
	dict[22959] = "zhóu";
	dict[22960] = "zhuó";
	dict[22961] = "zhāo";
	dict[22962] = "dá";
	dict[22963] = "nǐ,nǎi";
	dict[22964] = "yuàn";
	dict[22965] = "tǒu";
	dict[22966] = "xián,xuán,xù";
	dict[22967] = "zhí,yì";
	dict[22968] = "ē";
	dict[22969] = "mèi";
	dict[22970] = "mò";
	dict[22971] = "qī,qì";
	dict[22972] = "bì";
	dict[22973] = "shēn";
	dict[22974] = "qiè";
	dict[22975] = "ē";
	dict[22976] = "hé";
	dict[22977] = "xǔ,xū";
	dict[22978] = "fá";
	dict[22979] = "zhēng";
	dict[22980] = "mín";
	dict[22981] = "bàn";
	dict[22982] = "mǔ";
	dict[22983] = "fū,fú";
	dict[22984] = "líng";
	dict[22985] = "zǐ";
	dict[22986] = "zǐ";
	dict[22987] = "shǐ";
	dict[22988] = "rǎn";
	dict[22989] = "shān,shàn";
	dict[22990] = "yāng";
	dict[22991] = "mán";
	dict[22992] = "jiě";
	dict[22993] = "gū";
	dict[22994] = "sì";
	dict[22995] = "xìng";
	dict[22996] = "wěi,wēi";
	dict[22997] = "zī";
	dict[22998] = "jù";
	dict[22999] = "shān,shàn";
	dict[23e3] = "pīn";
	dict[23001] = "rèn";
	dict[23002] = "yáo";
	dict[23003] = "dòng";
	dict[23004] = "jiāng";
	dict[23005] = "shū";
	dict[23006] = "jí";
	dict[23007] = "gāi";
	dict[23008] = "xiàng";
	dict[23009] = "huá,huó";
	dict[23010] = "juān";
	dict[23011] = "jiāo,xiáo";
	dict[23012] = "gòu,dù";
	dict[23013] = "mǔ,lǎo";
	dict[23014] = "jiān";
	dict[23015] = "jiān";
	dict[23016] = "yí";
	dict[23017] = "nián,niàn";
	dict[23018] = "zhí";
	dict[23019] = "zhěn";
	dict[23020] = "jī";
	dict[23021] = "xiàn";
	dict[23022] = "héng";
	dict[23023] = "guāng";
	dict[23024] = "jūn,xún";
	dict[23025] = "kuā,hù";
	dict[23026] = "yàn";
	dict[23027] = "mǐng";
	dict[23028] = "liè";
	dict[23029] = "pèi";
	dict[23030] = "è,yà";
	dict[23031] = "yòu";
	dict[23032] = "yán";
	dict[23033] = "chà";
	dict[23034] = "shēn,xiān";
	dict[23035] = "yīn";
	dict[23036] = "shí";
	dict[23037] = "guǐ";
	dict[23038] = "quán";
	dict[23039] = "zī";
	dict[23040] = "sōng";
	dict[23041] = "wēi";
	dict[23042] = "hóng";
	dict[23043] = "wá";
	dict[23044] = "lóu";
	dict[23045] = "yà";
	dict[23046] = "ráo,rǎo";
	dict[23047] = "jiāo";
	dict[23048] = "luán";
	dict[23049] = "pīng";
	dict[23050] = "xiàn";
	dict[23051] = "shào,shāo";
	dict[23052] = "lǐ";
	dict[23053] = "chéng,shèng";
	dict[23054] = "xiē";
	dict[23055] = "máng";
	dict[23056] = "fū";
	dict[23057] = "suō";
	dict[23058] = "wǔ,mǔ";
	dict[23059] = "wěi";
	dict[23060] = "kè";
	dict[23061] = "chuò,lài";
	dict[23062] = "chuò";
	dict[23063] = "tǐng";
	dict[23064] = "niáng";
	dict[23065] = "xíng";
	dict[23066] = "nán";
	dict[23067] = "yú";
	dict[23068] = "nà,nuó";
	dict[23069] = "pōu,bǐ";
	dict[23070] = "něi,suī";
	dict[23071] = "juān";
	dict[23072] = "shēn";
	dict[23073] = "zhì";
	dict[23074] = "hán";
	dict[23075] = "dì";
	dict[23076] = "zhuāng";
	dict[23077] = "é";
	dict[23078] = "pín";
	dict[23079] = "tuì";
	dict[23080] = "mǎn";
	dict[23081] = "miǎn";
	dict[23082] = "wú,wù,yú";
	dict[23083] = "yán";
	dict[23084] = "wǔ";
	dict[23085] = "xī,āi";
	dict[23086] = "yán";
	dict[23087] = "yú";
	dict[23088] = "sì";
	dict[23089] = "yú";
	dict[23090] = "wā";
	dict[23091] = "lì";
	dict[23092] = "xián";
	dict[23093] = "jū";
	dict[23094] = "qǔ";
	dict[23095] = "zhuì,shuì";
	dict[23096] = "qī";
	dict[23097] = "xián";
	dict[23098] = "zhuó";
	dict[23099] = "dōng,dòng";
	dict[23100] = "chāng";
	dict[23101] = "lù";
	dict[23102] = "ǎi,ái,è";
	dict[23103] = "ē,ě";
	dict[23104] = "ē";
	dict[23105] = "lóu";
	dict[23106] = "mián";
	dict[23107] = "cóng";
	dict[23108] = "pǒu,péi,bù";
	dict[23109] = "jú";
	dict[23110] = "pó";
	dict[23111] = "cǎi";
	dict[23112] = "líng";
	dict[23113] = "wǎn";
	dict[23114] = "biǎo";
	dict[23115] = "xiāo";
	dict[23116] = "shū";
	dict[23117] = "qǐ";
	dict[23118] = "huī";
	dict[23119] = "fù,fàn";
	dict[23120] = "wǒ";
	dict[23121] = "wǒ";
	dict[23122] = "tán";
	dict[23123] = "fēi";
	dict[23124] = "fēi";
	dict[23125] = "jié";
	dict[23126] = "tiān";
	dict[23127] = "ní,nǐ";
	dict[23128] = "quán,juàn";
	dict[23129] = "jìng";
	dict[23130] = "hūn";
	dict[23131] = "jīng";
	dict[23132] = "qiān,jǐn";
	dict[23133] = "diàn";
	dict[23134] = "xìng";
	dict[23135] = "hù";
	dict[23136] = "wān,wà";
	dict[23137] = "lái,lài";
	dict[23138] = "bì";
	dict[23139] = "yīn";
	dict[23140] = "zhōu,chōu";
	dict[23141] = "chuò,nào";
	dict[23142] = "fù";
	dict[23143] = "jìng";
	dict[23144] = "lún";
	dict[23145] = "nüè";
	dict[23146] = "lán";
	dict[23147] = "hùn,kūn";
	dict[23148] = "yín";
	dict[23149] = "yà";
	dict[23150] = "jū";
	dict[23151] = "lì";
	dict[23152] = "diǎn";
	dict[23153] = "xián";
	dict[23154] = "huā";
	dict[23155] = "huà";
	dict[23156] = "yīng";
	dict[23157] = "chán";
	dict[23158] = "shěn";
	dict[23159] = "tíng";
	dict[23160] = "dàng,yáng";
	dict[23161] = "yǎo";
	dict[23162] = "wù";
	dict[23163] = "nàn";
	dict[23164] = "ruò,chuò";
	dict[23165] = "jiǎ";
	dict[23166] = "tōu,yú";
	dict[23167] = "xù";
	dict[23168] = "yù,yú";
	dict[23169] = "wéi,wěi";
	dict[23170] = "dì,tí";
	dict[23171] = "róu";
	dict[23172] = "měi";
	dict[23173] = "dān";
	dict[23174] = "ruǎn,nèn";
	dict[23175] = "qīn";
	dict[23176] = "huī";
	dict[23177] = "wò";
	dict[23178] = "qián";
	dict[23179] = "chūn";
	dict[23180] = "miáo";
	dict[23181] = "fù";
	dict[23182] = "jiě";
	dict[23183] = "duān";
	dict[23184] = "yí,pèi";
	dict[23185] = "zhòng";
	dict[23186] = "méi";
	dict[23187] = "huáng";
	dict[23188] = "mián,miǎn";
	dict[23189] = "ān";
	dict[23190] = "yīng";
	dict[23191] = "xuān";
	dict[23192] = "jiē";
	dict[23193] = "wēi";
	dict[23194] = "mèi";
	dict[23195] = "yuàn,yuán";
	dict[23196] = "zhēng";
	dict[23197] = "qiū";
	dict[23198] = "tí";
	dict[23199] = "xiè";
	dict[23200] = "tuó,duò";
	dict[23201] = "liàn";
	dict[23202] = "mào";
	dict[23203] = "rǎn";
	dict[23204] = "sī";
	dict[23205] = "piān";
	dict[23206] = "wèi";
	dict[23207] = "wā";
	dict[23208] = "cù";
	dict[23209] = "hú";
	dict[23210] = "ǎo";
	dict[23211] = "jié";
	dict[23212] = "bǎo";
	dict[23213] = "xū";
	dict[23214] = "tōu,yú";
	dict[23215] = "guī";
	dict[23216] = "chú,zòu";
	dict[23217] = "yáo";
	dict[23218] = "pì";
	dict[23219] = "xí";
	dict[23220] = "yuán";
	dict[23221] = "yìng";
	dict[23222] = "róng";
	dict[23223] = "rù";
	dict[23224] = "chī";
	dict[23225] = "liú";
	dict[23226] = "měi";
	dict[23227] = "pán";
	dict[23228] = "ǎo";
	dict[23229] = "mā";
	dict[23230] = "gòu";
	dict[23231] = "kuì";
	dict[23232] = "qín,shēn";
	dict[23233] = "jià";
	dict[23234] = "sǎo";
	dict[23235] = "zhēn,zhěn";
	dict[23236] = "yuán";
	dict[23237] = "jiē,suǒ";
	dict[23238] = "róng";
	dict[23239] = "míng,mǐng";
	dict[23240] = "yīng";
	dict[23241] = "jí";
	dict[23242] = "sù";
	dict[23243] = "niǎo";
	dict[23244] = "xián";
	dict[23245] = "tāo";
	dict[23246] = "páng";
	dict[23247] = "láng";
	dict[23248] = "nǎo";
	dict[23249] = "biáo";
	dict[23250] = "ài";
	dict[23251] = "pì";
	dict[23252] = "pín";
	dict[23253] = "yì";
	dict[23254] = "piáo,piāo";
	dict[23255] = "yù";
	dict[23256] = "léi";
	dict[23257] = "xuán";
	dict[23258] = "màn";
	dict[23259] = "yī";
	dict[23260] = "zhāng";
	dict[23261] = "kāng";
	dict[23262] = "yōng";
	dict[23263] = "nì";
	dict[23264] = "lí";
	dict[23265] = "dí";
	dict[23266] = "guī";
	dict[23267] = "yān";
	dict[23268] = "jǐn,jìn";
	dict[23269] = "zhuān";
	dict[23270] = "cháng";
	dict[23271] = "zé";
	dict[23272] = "hān,nǎn";
	dict[23273] = "nèn";
	dict[23274] = "lào";
	dict[23275] = "mó";
	dict[23276] = "zhē";
	dict[23277] = "hù";
	dict[23278] = "hù";
	dict[23279] = "ào";
	dict[23280] = "nèn";
	dict[23281] = "qiáng";
	dict[23282] = "mā,má";
	dict[23283] = "piè";
	dict[23284] = "gū";
	dict[23285] = "wǔ";
	dict[23286] = "qiáo";
	dict[23287] = "tuǒ";
	dict[23288] = "zhǎn";
	dict[23289] = "miáo";
	dict[23290] = "xián";
	dict[23291] = "xián";
	dict[23292] = "mò";
	dict[23293] = "liáo";
	dict[23294] = "lián";
	dict[23295] = "huà";
	dict[23296] = "guī";
	dict[23297] = "dēng";
	dict[23298] = "zhí";
	dict[23299] = "xū";
	dict[23300] = "yī";
	dict[23301] = "huà";
	dict[23302] = "xī";
	dict[23303] = "kuì";
	dict[23304] = "ráo,rǎo";
	dict[23305] = "xī";
	dict[23306] = "yàn";
	dict[23307] = "chán";
	dict[23308] = "jiāo";
	dict[23309] = "měi";
	dict[23310] = "fàn";
	dict[23311] = "fān";
	dict[23312] = "xiān,yǎn,jìn";
	dict[23313] = "yì";
	dict[23314] = "huì";
	dict[23315] = "jiào";
	dict[23316] = "fù";
	dict[23317] = "shì";
	dict[23318] = "bì";
	dict[23319] = "shàn";
	dict[23320] = "suì";
	dict[23321] = "qiáng";
	dict[23322] = "liǎn";
	dict[23323] = "huán,xuān,qióng";
	dict[23324] = "xīn";
	dict[23325] = "niǎo";
	dict[23326] = "dǒng";
	dict[23327] = "yǐ";
	dict[23328] = "cān";
	dict[23329] = "ài";
	dict[23330] = "niáng";
	dict[23331] = "níng";
	dict[23332] = "mó";
	dict[23333] = "tiǎo";
	dict[23334] = "chóu";
	dict[23335] = "jìn";
	dict[23336] = "cí";
	dict[23337] = "yú";
	dict[23338] = "pín";
	dict[23339] = "róng";
	dict[23340] = "rú";
	dict[23341] = "nǎi";
	dict[23342] = "yān,yàn";
	dict[23343] = "tái";
	dict[23344] = "yīng";
	dict[23345] = "qiàn";
	dict[23346] = "niǎo";
	dict[23347] = "yuè";
	dict[23348] = "yíng";
	dict[23349] = "mián";
	dict[23350] = "bí";
	dict[23351] = "mó";
	dict[23352] = "shěn";
	dict[23353] = "xìng";
	dict[23354] = "nì";
	dict[23355] = "dú";
	dict[23356] = "liǔ";
	dict[23357] = "yuān";
	dict[23358] = "lǎn";
	dict[23359] = "yàn";
	dict[23360] = "shuāng";
	dict[23361] = "líng";
	dict[23362] = "jiǎo";
	dict[23363] = "niáng";
	dict[23364] = "lǎn";
	dict[23365] = "xiān,qiān";
	dict[23366] = "yīng";
	dict[23367] = "shuāng";
	dict[23368] = "xié,huī";
	dict[23369] = "huān,quán";
	dict[23370] = "mǐ";
	dict[23371] = "lí,lì";
	dict[23372] = "luán";
	dict[23373] = "yǎn";
	dict[23374] = "zhú,chuò";
	dict[23375] = "lǎn";
	dict[23376] = "zǐ";
	dict[23377] = "jié";
	dict[23378] = "jué";
	dict[23379] = "jué";
	dict[23380] = "kǒng";
	dict[23381] = "yùn";
	dict[23382] = "zī,mā";
	dict[23383] = "zì";
	dict[23384] = "cún";
	dict[23385] = "sūn,xùn";
	dict[23386] = "fú";
	dict[23387] = "bèi";
	dict[23388] = "zī";
	dict[23389] = "xiào";
	dict[23390] = "xìn";
	dict[23391] = "mèng";
	dict[23392] = "sì";
	dict[23393] = "tāi";
	dict[23394] = "bāo";
	dict[23395] = "jì";
	dict[23396] = "gū";
	dict[23397] = "nú";
	dict[23398] = "xué";
	dict[23399] = "yòu,niū";
	dict[23400] = "zhuǎn";
	dict[23401] = "hái";
	dict[23402] = "luán";
	dict[23403] = "sūn,xùn";
	dict[23404] = "nāo";
	dict[23405] = "miē";
	dict[23406] = "cóng";
	dict[23407] = "qiān";
	dict[23408] = "shú";
	dict[23409] = "chán,càn";
	dict[23410] = "yā";
	dict[23411] = "zī";
	dict[23412] = "nǐ";
	dict[23413] = "fū";
	dict[23414] = "zī";
	dict[23415] = "lí";
	dict[23416] = "xué";
	dict[23417] = "bò";
	dict[23418] = "rú";
	dict[23419] = "nái";
	dict[23420] = "niè";
	dict[23421] = "niè";
	dict[23422] = "yīng";
	dict[23423] = "luán";
	dict[23424] = "mián";
	dict[23425] = "níng,nìng,zhù";
	dict[23426] = "rǒng";
	dict[23427] = "tā";
	dict[23428] = "guǐ";
	dict[23429] = "zhái";
	dict[23430] = "qióng";
	dict[23431] = "yǔ";
	dict[23432] = "shǒu";
	dict[23433] = "ān";
	dict[23434] = "tū,jiā";
	dict[23435] = "sòng";
	dict[23436] = "wán";
	dict[23437] = "ròu";
	dict[23438] = "yǎo";
	dict[23439] = "hóng";
	dict[23440] = "yí";
	dict[23441] = "jǐng";
	dict[23442] = "zhūn";
	dict[23443] = "mì,fú";
	dict[23444] = "zhǔ";
	dict[23445] = "dàng";
	dict[23446] = "hóng";
	dict[23447] = "zōng";
	dict[23448] = "guān";
	dict[23449] = "zhòu";
	dict[23450] = "dìng";
	dict[23451] = "wǎn,yuān";
	dict[23452] = "yí";
	dict[23453] = "bǎo";
	dict[23454] = "shí";
	dict[23455] = "shí";
	dict[23456] = "chǒng";
	dict[23457] = "shěn";
	dict[23458] = "kè";
	dict[23459] = "xuān";
	dict[23460] = "shì";
	dict[23461] = "yòu";
	dict[23462] = "huàn";
	dict[23463] = "yí";
	dict[23464] = "tiǎo";
	dict[23465] = "shǐ";
	dict[23466] = "xiàn";
	dict[23467] = "gōng";
	dict[23468] = "chéng";
	dict[23469] = "qún";
	dict[23470] = "gōng";
	dict[23471] = "xiāo";
	dict[23472] = "zǎi";
	dict[23473] = "zhà";
	dict[23474] = "bǎo,shí";
	dict[23475] = "hài";
	dict[23476] = "yàn";
	dict[23477] = "xiāo";
	dict[23478] = "jiā,jia,jie";
	dict[23479] = "shěn";
	dict[23480] = "chén";
	dict[23481] = "róng";
	dict[23482] = "huāng,huǎng";
	dict[23483] = "mì";
	dict[23484] = "kòu";
	dict[23485] = "kuān";
	dict[23486] = "bīn";
	dict[23487] = "sù,xiǔ,xiù";
	dict[23488] = "cǎi,cài";
	dict[23489] = "zǎn";
	dict[23490] = "jì";
	dict[23491] = "yuān";
	dict[23492] = "jì";
	dict[23493] = "yín";
	dict[23494] = "mì";
	dict[23495] = "kòu";
	dict[23496] = "qīng";
	dict[23497] = "hè";
	dict[23498] = "zhēn";
	dict[23499] = "jiàn";
	dict[23500] = "fù";
	dict[23501] = "níng,nìng";
	dict[23502] = "bǐng,bìng";
	dict[23503] = "huán";
	dict[23504] = "mèi";
	dict[23505] = "qǐn";
	dict[23506] = "hán";
	dict[23507] = "yù";
	dict[23508] = "shí";
	dict[23509] = "níng,nìng";
	dict[23510] = "jìn,qǐn";
	dict[23511] = "níng,nìng";
	dict[23512] = "zhì";
	dict[23513] = "yǔ";
	dict[23514] = "bǎo";
	dict[23515] = "kuān";
	dict[23516] = "níng,nìng";
	dict[23517] = "qǐn";
	dict[23518] = "mò";
	dict[23519] = "chá";
	dict[23520] = "jù,lóu";
	dict[23521] = "guǎ";
	dict[23522] = "qǐn";
	dict[23523] = "hū";
	dict[23524] = "wù";
	dict[23525] = "liáo";
	dict[23526] = "shí";
	dict[23527] = "níng,nìng";
	dict[23528] = "zhài";
	dict[23529] = "shěn";
	dict[23530] = "wěi";
	dict[23531] = "xiě,xiè";
	dict[23532] = "kuān";
	dict[23533] = "huì";
	dict[23534] = "liáo";
	dict[23535] = "jùn";
	dict[23536] = "huán";
	dict[23537] = "yì";
	dict[23538] = "yí";
	dict[23539] = "bǎo";
	dict[23540] = "qīn,qìn";
	dict[23541] = "chǒng";
	dict[23542] = "bǎo";
	dict[23543] = "fēng";
	dict[23544] = "cùn";
	dict[23545] = "duì";
	dict[23546] = "sì";
	dict[23547] = "xún";
	dict[23548] = "dǎo";
	dict[23549] = "lüè,luó";
	dict[23550] = "duì";
	dict[23551] = "shòu";
	dict[23552] = "pǒ";
	dict[23553] = "fēng";
	dict[23554] = "zhuān";
	dict[23555] = "fū";
	dict[23556] = "shè,yè,yì";
	dict[23557] = "kēi,kè";
	dict[23558] = "jiāng,jiàng";
	dict[23559] = "jiāng,jiàng";
	dict[23560] = "zhuān";
	dict[23561] = "wèi,yù";
	dict[23562] = "zūn";
	dict[23563] = "xún";
	dict[23564] = "shù,zhù";
	dict[23565] = "duì";
	dict[23566] = "dǎo";
	dict[23567] = "xiǎo";
	dict[23568] = "jié,jí";
	dict[23569] = "shǎo,shào";
	dict[23570] = "ěr";
	dict[23571] = "ěr";
	dict[23572] = "ěr";
	dict[23573] = "gǎ";
	dict[23574] = "jiān";
	dict[23575] = "shú";
	dict[23576] = "chén";
	dict[23577] = "shàng";
	dict[23578] = "shàng";
	dict[23579] = "mó";
	dict[23580] = "gá";
	dict[23581] = "cháng";
	dict[23582] = "liáo";
	dict[23583] = "xiǎn";
	dict[23584] = "xiǎn";
	dict[23585] = "hùn";
	dict[23586] = "yóu";
	dict[23587] = "wāng";
	dict[23588] = "yóu";
	dict[23589] = "liào";
	dict[23590] = "liào";
	dict[23591] = "yáo";
	dict[23592] = "lóng,máng,méng,páng";
	dict[23593] = "wāng";
	dict[23594] = "wāng";
	dict[23595] = "wāng";
	dict[23596] = "gà";
	dict[23597] = "yáo";
	dict[23598] = "duò";
	dict[23599] = "kuì,kuǐ";
	dict[23600] = "zhǒng";
	dict[23601] = "jiù";
	dict[23602] = "gān";
	dict[23603] = "gǔ";
	dict[23604] = "gān";
	dict[23605] = "tuí";
	dict[23606] = "gān";
	dict[23607] = "gān";
	dict[23608] = "shī";
	dict[23609] = "yǐn";
	dict[23610] = "chǐ,chě";
	dict[23611] = "kāo";
	dict[23612] = "ní";
	dict[23613] = "jìn,jǐn";
	dict[23614] = "wěi,yǐ";
	dict[23615] = "niào,suī";
	dict[23616] = "jú";
	dict[23617] = "pì";
	dict[23618] = "céng";
	dict[23619] = "xì";
	dict[23620] = "bī";
	dict[23621] = "jū";
	dict[23622] = "jiè";
	dict[23623] = "tián";
	dict[23624] = "qū";
	dict[23625] = "tì";
	dict[23626] = "jiè";
	dict[23627] = "wū";
	dict[23628] = "diǎo";
	dict[23629] = "shī";
	dict[23630] = "shǐ";
	dict[23631] = "píng,bǐng";
	dict[23632] = "jī";
	dict[23633] = "xiè";
	dict[23634] = "zhěn";
	dict[23635] = "xì";
	dict[23636] = "ní";
	dict[23637] = "zhǎn";
	dict[23638] = "xī";
	dict[23639] = "wěi";
	dict[23640] = "mǎn";
	dict[23641] = "ē";
	dict[23642] = "lòu";
	dict[23643] = "pǐng,bǐng";
	dict[23644] = "tì";
	dict[23645] = "fèi";
	dict[23646] = "shǔ,zhǔ";
	dict[23647] = "xiè,tì";
	dict[23648] = "tú";
	dict[23649] = "lǚ";
	dict[23650] = "lǚ";
	dict[23651] = "xǐ";
	dict[23652] = "céng";
	dict[23653] = "lǚ";
	dict[23654] = "jù";
	dict[23655] = "xiè";
	dict[23656] = "jù";
	dict[23657] = "juē";
	dict[23658] = "liáo";
	dict[23659] = "juē";
	dict[23660] = "shǔ,zhǔ";
	dict[23661] = "xì";
	dict[23662] = "chè,cǎo";
	dict[23663] = "tún,zhūn";
	dict[23664] = "nì,jǐ";
	dict[23665] = "shān";
	dict[23666] = "wā";
	dict[23667] = "xiān";
	dict[23668] = "lì";
	dict[23669] = "àn";
	dict[23670] = "huì";
	dict[23671] = "huì";
	dict[23672] = "hóng,lóng";
	dict[23673] = "yì";
	dict[23674] = "qǐ";
	dict[23675] = "rèn";
	dict[23676] = "wù";
	dict[23677] = "hàn,àn";
	dict[23678] = "shēn";
	dict[23679] = "yǔ";
	dict[23680] = "chū";
	dict[23681] = "suì";
	dict[23682] = "qǐ,kǎi";
	dict[23683] = "rèn";
	dict[23684] = "yuè";
	dict[23685] = "bǎn";
	dict[23686] = "yǎo";
	dict[23687] = "áng";
	dict[23688] = "yá";
	dict[23689] = "wù";
	dict[23690] = "jié";
	dict[23691] = "è";
	dict[23692] = "jí";
	dict[23693] = "qiān";
	dict[23694] = "fén";
	dict[23695] = "wán";
	dict[23696] = "qí";
	dict[23697] = "cén";
	dict[23698] = "qián";
	dict[23699] = "qí";
	dict[23700] = "chà";
	dict[23701] = "jiè";
	dict[23702] = "qū";
	dict[23703] = "gǎng";
	dict[23704] = "xiàn";
	dict[23705] = "ào";
	dict[23706] = "lán";
	dict[23707] = "dǎo";
	dict[23708] = "bā";
	dict[23709] = "zuò";
	dict[23710] = "zuò";
	dict[23711] = "yǎng";
	dict[23712] = "jù";
	dict[23713] = "gāng";
	dict[23714] = "kě";
	dict[23715] = "gǒu";
	dict[23716] = "xuè";
	dict[23717] = "pō";
	dict[23718] = "lì";
	dict[23719] = "tiáo";
	dict[23720] = "jū,jǔ";
	dict[23721] = "yán";
	dict[23722] = "fú";
	dict[23723] = "xiù";
	dict[23724] = "jiǎ";
	dict[23725] = "lǐng,líng";
	dict[23726] = "tuó";
	dict[23727] = "pī";
	dict[23728] = "ào";
	dict[23729] = "dài";
	dict[23730] = "kuàng";
	dict[23731] = "yuè";
	dict[23732] = "qū";
	dict[23733] = "hù";
	dict[23734] = "pò";
	dict[23735] = "mín";
	dict[23736] = "àn";
	dict[23737] = "tiáo";
	dict[23738] = "lǐng,líng";
	dict[23739] = "dī";
	dict[23740] = "píng";
	dict[23741] = "dōng";
	dict[23742] = "zhān";
	dict[23743] = "kuī";
	dict[23744] = "xiù";
	dict[23745] = "mǎo";
	dict[23746] = "tóng";
	dict[23747] = "xué";
	dict[23748] = "yì";
	dict[23749] = "biàn";
	dict[23750] = "hé";
	dict[23751] = "kè,bā";
	dict[23752] = "luò";
	dict[23753] = "é";
	dict[23754] = "fù,niè";
	dict[23755] = "xún";
	dict[23756] = "dié";
	dict[23757] = "lù";
	dict[23758] = "ěn";
	dict[23759] = "ér";
	dict[23760] = "gāi";
	dict[23761] = "quán";
	dict[23762] = "tóng,dòng";
	dict[23763] = "yí";
	dict[23764] = "mǔ";
	dict[23765] = "shí";
	dict[23766] = "ān";
	dict[23767] = "wéi";
	dict[23768] = "huán";
	dict[23769] = "zhì,shì";
	dict[23770] = "mì";
	dict[23771] = "lǐ";
	dict[23772] = "fǎ";
	dict[23773] = "tóng";
	dict[23774] = "wéi";
	dict[23775] = "yòu";
	dict[23776] = "qiǎ";
	dict[23777] = "xiá";
	dict[23778] = "lǐ";
	dict[23779] = "yáo";
	dict[23780] = "jiào,qiáo";
	dict[23781] = "zhēng";
	dict[23782] = "luán";
	dict[23783] = "jiāo";
	dict[23784] = "é";
	dict[23785] = "é";
	dict[23786] = "yù";
	dict[23787] = "xié,yé";
	dict[23788] = "bū";
	dict[23789] = "qiào";
	dict[23790] = "qún";
	dict[23791] = "fēng";
	dict[23792] = "fēng";
	dict[23793] = "náo";
	dict[23794] = "lǐ";
	dict[23795] = "yōu";
	dict[23796] = "xiàn";
	dict[23797] = "róng";
	dict[23798] = "dǎo";
	dict[23799] = "shēn";
	dict[23800] = "chéng";
	dict[23801] = "tú";
	dict[23802] = "gěng";
	dict[23803] = "jùn";
	dict[23804] = "gào";
	dict[23805] = "xiá";
	dict[23806] = "yín";
	dict[23807] = "wú";
	dict[23808] = "lǎng";
	dict[23809] = "kàn";
	dict[23810] = "láo";
	dict[23811] = "lái";
	dict[23812] = "xiǎn";
	dict[23813] = "què";
	dict[23814] = "kōng";
	dict[23815] = "chóng";
	dict[23816] = "chóng";
	dict[23817] = "tà";
	dict[23818] = "lín";
	dict[23819] = "huà";
	dict[23820] = "jū";
	dict[23821] = "lái";
	dict[23822] = "qí";
	dict[23823] = "mín";
	dict[23824] = "kūn";
	dict[23825] = "kūn";
	dict[23826] = "zú,cuì";
	dict[23827] = "gù";
	dict[23828] = "cuī";
	dict[23829] = "yá";
	dict[23830] = "yá";
	dict[23831] = "gǎng,gāng";
	dict[23832] = "lún";
	dict[23833] = "lún";
	dict[23834] = "líng,léng";
	dict[23835] = "jué";
	dict[23836] = "duǒ";
	dict[23837] = "zhēng";
	dict[23838] = "guō";
	dict[23839] = "yín";
	dict[23840] = "dōng,dòng";
	dict[23841] = "hán";
	dict[23842] = "zhēng";
	dict[23843] = "wěi";
	dict[23844] = "xiáo";
	dict[23845] = "pí,bǐ";
	dict[23846] = "yān";
	dict[23847] = "sōng";
	dict[23848] = "jié";
	dict[23849] = "bēng";
	dict[23850] = "zú";
	dict[23851] = "jué";
	dict[23852] = "dōng";
	dict[23853] = "zhǎn,chán";
	dict[23854] = "gù";
	dict[23855] = "yín";
	dict[23856] = "zī";
	dict[23857] = "zè";
	dict[23858] = "huáng";
	dict[23859] = "yú";
	dict[23860] = "wǎi,wēi";
	dict[23861] = "yáng,dàng";
	dict[23862] = "fēng";
	dict[23863] = "qiú";
	dict[23864] = "yáng";
	dict[23865] = "tí";
	dict[23866] = "yǐ";
	dict[23867] = "zhì,shì";
	dict[23868] = "shì,dié";
	dict[23869] = "zǎi";
	dict[23870] = "yǎo";
	dict[23871] = "è";
	dict[23872] = "zhù";
	dict[23873] = "kān,zhàn";
	dict[23874] = "lǜ";
	dict[23875] = "yǎn";
	dict[23876] = "měi";
	dict[23877] = "hán";
	dict[23878] = "jī";
	dict[23879] = "jī";
	dict[23880] = "huàn";
	dict[23881] = "tíng";
	dict[23882] = "shèng";
	dict[23883] = "méi";
	dict[23884] = "qiàn,kàn";
	dict[23885] = "wù,máo";
	dict[23886] = "yú";
	dict[23887] = "zōng";
	dict[23888] = "lán";
	dict[23889] = "kě,jié";
	dict[23890] = "yán";
	dict[23891] = "yán";
	dict[23892] = "wēi,wěi";
	dict[23893] = "zōng";
	dict[23894] = "chá";
	dict[23895] = "suì";
	dict[23896] = "róng";
	dict[23897] = "kē";
	dict[23898] = "qīn";
	dict[23899] = "yú";
	dict[23900] = "qí";
	dict[23901] = "lǒu";
	dict[23902] = "tú";
	dict[23903] = "cuī";
	dict[23904] = "xī";
	dict[23905] = "wěng";
	dict[23906] = "cāng";
	dict[23907] = "dàng,táng";
	dict[23908] = "róng,yíng";
	dict[23909] = "jié";
	dict[23910] = "kǎi,ái";
	dict[23911] = "liú";
	dict[23912] = "wù";
	dict[23913] = "sōng";
	dict[23914] = "kāo,qiāo";
	dict[23915] = "zī";
	dict[23916] = "wéi";
	dict[23917] = "bēng";
	dict[23918] = "diān";
	dict[23919] = "cuó";
	dict[23920] = "qīn,qiǎn";
	dict[23921] = "yǒng";
	dict[23922] = "niè";
	dict[23923] = "cuó";
	dict[23924] = "jǐ";
	dict[23925] = "shí";
	dict[23926] = "ruò";
	dict[23927] = "sǒng";
	dict[23928] = "zǒng";
	dict[23929] = "jiàng";
	dict[23930] = "liáo";
	dict[23931] = "kāng";
	dict[23932] = "chǎn";
	dict[23933] = "dié,dì";
	dict[23934] = "cēn";
	dict[23935] = "dǐng";
	dict[23936] = "tū";
	dict[23937] = "lǒu";
	dict[23938] = "zhàng";
	dict[23939] = "zhǎn,chán";
	dict[23940] = "zhǎn,chán";
	dict[23941] = "áo,ào";
	dict[23942] = "cáo";
	dict[23943] = "qū";
	dict[23944] = "qiāng";
	dict[23945] = "wěi";
	dict[23946] = "zuǐ";
	dict[23947] = "dǎo";
	dict[23948] = "dǎo";
	dict[23949] = "xí";
	dict[23950] = "yù";
	dict[23951] = "pǐ,pèi";
	dict[23952] = "lóng";
	dict[23953] = "xiàng";
	dict[23954] = "céng";
	dict[23955] = "bō";
	dict[23956] = "qīn";
	dict[23957] = "jiāo";
	dict[23958] = "yān";
	dict[23959] = "láo";
	dict[23960] = "zhàn";
	dict[23961] = "lín";
	dict[23962] = "liáo";
	dict[23963] = "liáo";
	dict[23964] = "qín";
	dict[23965] = "dèng";
	dict[23966] = "tuò";
	dict[23967] = "zūn";
	dict[23968] = "jiào,qiáo";
	dict[23969] = "jué,guì";
	dict[23970] = "yáo";
	dict[23971] = "jiāo";
	dict[23972] = "yáo";
	dict[23973] = "jué";
	dict[23974] = "zhān,shàn";
	dict[23975] = "yì";
	dict[23976] = "xué";
	dict[23977] = "náo";
	dict[23978] = "yè";
	dict[23979] = "yè";
	dict[23980] = "yí";
	dict[23981] = "niè";
	dict[23982] = "xiǎn";
	dict[23983] = "jí";
	dict[23984] = "xiè,jiè";
	dict[23985] = "kě,jié";
	dict[23986] = "guī,xī,juàn";
	dict[23987] = "dì";
	dict[23988] = "ào";
	dict[23989] = "zuì";
	dict[23990] = "wēi";
	dict[23991] = "yí";
	dict[23992] = "róng";
	dict[23993] = "dǎo";
	dict[23994] = "lǐng";
	dict[23995] = "jié";
	dict[23996] = "yǔ";
	dict[23997] = "yuè";
	dict[23998] = "yǐn";
	dict[23999] = "rū";
	dict[24e3] = "jié";
	dict[24001] = "lì,liè";
	dict[24002] = "guī,xī,juàn";
	dict[24003] = "lóng";
	dict[24004] = "lóng";
	dict[24005] = "diān";
	dict[24006] = "yíng,hōng";
	dict[24007] = "xī";
	dict[24008] = "jú";
	dict[24009] = "chán";
	dict[24010] = "yǐng";
	dict[24011] = "kuī";
	dict[24012] = "yán";
	dict[24013] = "wēi";
	dict[24014] = "náo";
	dict[24015] = "quán";
	dict[24016] = "chǎo";
	dict[24017] = "cuán";
	dict[24018] = "luán";
	dict[24019] = "diān";
	dict[24020] = "diān";
	dict[24021] = "niè";
	dict[24022] = "yán";
	dict[24023] = "yán";
	dict[24024] = "yǎn";
	dict[24025] = "kuí";
	dict[24026] = "yǎn";
	dict[24027] = "chuān";
	dict[24028] = "kuài";
	dict[24029] = "chuān";
	dict[24030] = "zhōu";
	dict[24031] = "huāng";
	dict[24032] = "jīng,xíng";
	dict[24033] = "xún";
	dict[24034] = "cháo";
	dict[24035] = "cháo";
	dict[24036] = "liè";
	dict[24037] = "gōng";
	dict[24038] = "zuǒ";
	dict[24039] = "qiǎo";
	dict[24040] = "jù";
	dict[24041] = "gǒng";
	dict[24042] = "jù";
	dict[24043] = "wū";
	dict[24044] = "gū";
	dict[24045] = "gū";
	dict[24046] = "chà,chā,chāi,cī";
	dict[24047] = "qiú";
	dict[24048] = "qiú";
	dict[24049] = "jǐ";
	dict[24050] = "yǐ";
	dict[24051] = "sì";
	dict[24052] = "bā";
	dict[24053] = "zhī";
	dict[24054] = "zhāo";
	dict[24055] = "xiàng,hàng";
	dict[24056] = "yí";
	dict[24057] = "jǐn";
	dict[24058] = "xùn";
	dict[24059] = "juàn,juǎn";
	dict[24061] = "xùn";
	dict[24062] = "jīn";
	dict[24063] = "fú";
	dict[24064] = "zā";
	dict[24065] = "bì";
	dict[24066] = "shì";
	dict[24067] = "bù";
	dict[24068] = "dīng";
	dict[24069] = "shuài";
	dict[24070] = "fān";
	dict[24071] = "niè";
	dict[24072] = "shī";
	dict[24073] = "fēn";
	dict[24074] = "pà";
	dict[24075] = "zhǐ";
	dict[24076] = "xī";
	dict[24077] = "hù";
	dict[24078] = "dàn";
	dict[24079] = "wéi";
	dict[24080] = "zhàng";
	dict[24081] = "tǎng,nú";
	dict[24082] = "dài";
	dict[24083] = "mò,wà";
	dict[24084] = "pèi";
	dict[24085] = "pà";
	dict[24086] = "tiè,tiě,tiē";
	dict[24087] = "fú";
	dict[24088] = "lián";
	dict[24089] = "zhì";
	dict[24090] = "zhǒu";
	dict[24091] = "bó";
	dict[24092] = "zhì";
	dict[24093] = "dì";
	dict[24094] = "mò";
	dict[24095] = "yì";
	dict[24096] = "yì";
	dict[24097] = "píng";
	dict[24098] = "qià";
	dict[24099] = "juàn,juǎn";
	dict[24100] = "rú";
	dict[24101] = "shuài";
	dict[24102] = "dài";
	dict[24103] = "zhēn";
	dict[24104] = "shuì";
	dict[24105] = "qiāo";
	dict[24106] = "zhēn";
	dict[24107] = "shī";
	dict[24108] = "qún";
	dict[24109] = "xí";
	dict[24110] = "bāng";
	dict[24111] = "dài";
	dict[24112] = "guī";
	dict[24113] = "chóu,dào";
	dict[24114] = "píng";
	dict[24115] = "zhàng";
	dict[24116] = "jiǎn,jiān,sàn";
	dict[24117] = "wān";
	dict[24118] = "dài";
	dict[24119] = "wéi";
	dict[24120] = "cháng";
	dict[24121] = "shà,qiè";
	dict[24122] = "qí,jì";
	dict[24123] = "zé";
	dict[24124] = "guó";
	dict[24125] = "mào";
	dict[24126] = "zhǔ";
	dict[24127] = "hóu";
	dict[24128] = "zhēn";
	dict[24129] = "zhèng";
	dict[24130] = "mì";
	dict[24131] = "wéi";
	dict[24132] = "wò";
	dict[24133] = "fú";
	dict[24134] = "yì";
	dict[24135] = "bāng";
	dict[24136] = "píng";
	dict[24137] = "dié";
	dict[24138] = "gōng";
	dict[24139] = "pán";
	dict[24140] = "huǎng";
	dict[24141] = "tāo";
	dict[24142] = "mì";
	dict[24143] = "jià";
	dict[24144] = "téng";
	dict[24145] = "huī";
	dict[24146] = "zhōng";
	dict[24147] = "shān,qiāo,shēn";
	dict[24148] = "màn";
	dict[24149] = "mù";
	dict[24150] = "biāo";
	dict[24151] = "guó";
	dict[24152] = "zé";
	dict[24153] = "mù";
	dict[24154] = "bāng";
	dict[24155] = "zhàng";
	dict[24156] = "jǐng";
	dict[24157] = "chǎn,chàn";
	dict[24158] = "fú";
	dict[24159] = "zhì";
	dict[24160] = "hū";
	dict[24161] = "fān";
	dict[24162] = "chuáng,zhuàng";
	dict[24163] = "bì";
	dict[24164] = "bì";
	dict[24165] = "zhǎng";
	dict[24166] = "mì";
	dict[24167] = "qiāo";
	dict[24168] = "chān,chàn";
	dict[24169] = "fén";
	dict[24170] = "méng";
	dict[24171] = "bāng";
	dict[24172] = "chóu,dào";
	dict[24173] = "miè";
	dict[24174] = "chú";
	dict[24175] = "jié";
	dict[24176] = "xiǎn";
	dict[24177] = "lán";
	dict[24178] = "gān,gàn";
	dict[24179] = "píng";
	dict[24180] = "nián";
	dict[24181] = "jiān";
	dict[24182] = "bìng,bīng";
	dict[24183] = "bìng,bīng";
	dict[24184] = "xìng";
	dict[24185] = "gàn";
	dict[24186] = "yāo";
	dict[24187] = "huàn";
	dict[24188] = "yòu";
	dict[24189] = "yōu";
	dict[24190] = "jī,jǐ";
	dict[24191] = "guǎng,ān";
	dict[24192] = "pǐ";
	dict[24193] = "tīng";
	dict[24194] = "zè";
	dict[24195] = "guǎng";
	dict[24196] = "zhuāng";
	dict[24197] = "mó,mā,me";
	dict[24198] = "qìng";
	dict[24199] = "bì";
	dict[24200] = "qín";
	dict[24201] = "dùn,tún";
	dict[24202] = "chuáng";
	dict[24203] = "guǐ";
	dict[24204] = "yǎ";
	dict[24205] = "bài,tīng";
	dict[24206] = "jiè";
	dict[24207] = "xù";
	dict[24208] = "lú";
	dict[24209] = "wǔ";
	dict[24210] = "zhuāng";
	dict[24211] = "kù";
	dict[24212] = "yīng,yìng";
	dict[24213] = "dǐ,de";
	dict[24214] = "páo";
	dict[24215] = "diàn";
	dict[24216] = "yā";
	dict[24217] = "miào";
	dict[24218] = "gēng";
	dict[24219] = "cì";
	dict[24220] = "fǔ";
	dict[24221] = "tóng";
	dict[24222] = "páng";
	dict[24223] = "fèi";
	dict[24224] = "xiáng";
	dict[24225] = "yǐ";
	dict[24226] = "zhì";
	dict[24227] = "tiāo";
	dict[24228] = "zhì";
	dict[24229] = "xiū";
	dict[24230] = "dù,duó";
	dict[24231] = "zuò";
	dict[24232] = "xiāo";
	dict[24233] = "tú";
	dict[24234] = "guǐ";
	dict[24235] = "kù";
	dict[24236] = "máng,méng,páng";
	dict[24237] = "tíng";
	dict[24238] = "yóu";
	dict[24239] = "bū";
	dict[24240] = "bìng,píng";
	dict[24241] = "chěng";
	dict[24242] = "lái";
	dict[24243] = "bēi";
	dict[24244] = "jī,cuò";
	dict[24245] = "ān";
	dict[24246] = "shù";
	dict[24247] = "kāng";
	dict[24248] = "yōng";
	dict[24249] = "tuǒ";
	dict[24250] = "sōng";
	dict[24251] = "shù";
	dict[24252] = "qǐng";
	dict[24253] = "yù";
	dict[24254] = "yǔ";
	dict[24255] = "miào";
	dict[24256] = "sōu";
	dict[24257] = "cè";
	dict[24258] = "xiāng";
	dict[24259] = "fèi";
	dict[24260] = "jiù";
	dict[24261] = "è";
	dict[24262] = "guī,wěi,huì";
	dict[24263] = "liù";
	dict[24264] = "shà,xià";
	dict[24265] = "lián";
	dict[24266] = "láng";
	dict[24267] = "sōu";
	dict[24268] = "zhì";
	dict[24269] = "bù";
	dict[24270] = "qǐng";
	dict[24271] = "jiù";
	dict[24272] = "jiù";
	dict[24273] = "jǐn,qín";
	dict[24274] = "áo";
	dict[24275] = "kuò";
	dict[24276] = "lóu";
	dict[24277] = "yìn";
	dict[24278] = "liào";
	dict[24279] = "dài";
	dict[24280] = "lù";
	dict[24281] = "yì";
	dict[24282] = "chú";
	dict[24283] = "chán";
	dict[24284] = "tú";
	dict[24285] = "sī";
	dict[24286] = "xīn";
	dict[24287] = "miào";
	dict[24288] = "chǎng";
	dict[24289] = "wǔ";
	dict[24290] = "fèi";
	dict[24291] = "guǎng";
	dict[24292] = "kù";
	dict[24293] = "kuài";
	dict[24294] = "bì";
	dict[24295] = "qiáng,sè";
	dict[24296] = "xiè";
	dict[24297] = "lǐn";
	dict[24298] = "lǐn";
	dict[24299] = "liáo";
	dict[24300] = "lú";
	dict[24301] = "jì";
	dict[24302] = "yǐng";
	dict[24303] = "xiān";
	dict[24304] = "tīng";
	dict[24305] = "yōng";
	dict[24306] = "lí";
	dict[24307] = "tīng";
	dict[24308] = "yǐn,yìn";
	dict[24309] = "xún";
	dict[24310] = "yán";
	dict[24311] = "tíng";
	dict[24312] = "dí";
	dict[24313] = "pò,pǎi";
	dict[24314] = "jiàn";
	dict[24315] = "huí";
	dict[24316] = "nǎi";
	dict[24317] = "huí";
	dict[24318] = "gǒng";
	dict[24319] = "niàn";
	dict[24320] = "kāi";
	dict[24321] = "biàn";
	dict[24322] = "yì";
	dict[24323] = "qì";
	dict[24324] = "nòng,lòng";
	dict[24325] = "fèn";
	dict[24326] = "jǔ";
	dict[24327] = "yǎn";
	dict[24328] = "yì";
	dict[24329] = "zàng";
	dict[24330] = "bì";
	dict[24331] = "yì";
	dict[24332] = "yī";
	dict[24333] = "èr";
	dict[24334] = "sān";
	dict[24335] = "shì";
	dict[24336] = "èr";
	dict[24337] = "shì";
	dict[24338] = "shì";
	dict[24339] = "gōng";
	dict[24340] = "diào";
	dict[24341] = "yǐn";
	dict[24342] = "hù";
	dict[24343] = "fú";
	dict[24344] = "hóng";
	dict[24345] = "wū";
	dict[24346] = "tuí";
	dict[24347] = "chí";
	dict[24348] = "jiàng";
	dict[24349] = "bà";
	dict[24350] = "shěn";
	dict[24351] = "dì,tì,tuí";
	dict[24352] = "zhāng";
	dict[24353] = "jué,zhāng";
	dict[24354] = "tāo";
	dict[24355] = "fǔ";
	dict[24356] = "dǐ";
	dict[24357] = "mí,mǐ";
	dict[24358] = "xián";
	dict[24359] = "hú";
	dict[24360] = "chāo";
	dict[24361] = "nǔ";
	dict[24362] = "jìng";
	dict[24363] = "zhěn";
	dict[24364] = "yi";
	dict[24365] = "mǐ";
	dict[24366] = "juàn,quān";
	dict[24367] = "wān";
	dict[24368] = "shāo";
	dict[24369] = "ruò";
	dict[24370] = "xuān,yuān";
	dict[24371] = "jìng";
	dict[24372] = "diāo";
	dict[24373] = "zhāng";
	dict[24374] = "jiàng";
	dict[24375] = "qiáng,qiǎng,jiàng";
	dict[24376] = "péng";
	dict[24377] = "dàn,tán";
	dict[24378] = "qiáng,qiǎng,jiàng";
	dict[24379] = "bì";
	dict[24380] = "bì";
	dict[24381] = "shè";
	dict[24382] = "dàn,tán";
	dict[24383] = "jiǎn";
	dict[24384] = "gòu";
	dict[24385] = "gē";
	dict[24386] = "fā";
	dict[24387] = "bì";
	dict[24388] = "kōu";
	dict[24389] = "jiǎn";
	dict[24390] = "biè";
	dict[24391] = "xiāo";
	dict[24392] = "dàn,tán";
	dict[24393] = "guō";
	dict[24394] = "qiáng,qiǎng,jiàng";
	dict[24395] = "hóng";
	dict[24396] = "mí,mǐ";
	dict[24397] = "guō";
	dict[24398] = "wān";
	dict[24399] = "jué";
	dict[24400] = "jì,xuě";
	dict[24401] = "jì";
	dict[24402] = "guī";
	dict[24403] = "dāng,dàng";
	dict[24404] = "lù";
	dict[24405] = "lù";
	dict[24406] = "tuàn";
	dict[24407] = "huì";
	dict[24408] = "zhì";
	dict[24409] = "huì";
	dict[24410] = "huì";
	dict[24411] = "yí";
	dict[24412] = "yí";
	dict[24413] = "yí";
	dict[24414] = "yí";
	dict[24415] = "huò";
	dict[24416] = "huò";
	dict[24417] = "shān,xiǎn";
	dict[24418] = "xíng";
	dict[24419] = "wén";
	dict[24420] = "tóng";
	dict[24421] = "yàn";
	dict[24422] = "yàn";
	dict[24423] = "yù";
	dict[24424] = "chī";
	dict[24425] = "cǎi";
	dict[24426] = "biāo";
	dict[24427] = "diāo";
	dict[24428] = "bīn";
	dict[24429] = "péng,bāng";
	dict[24430] = "yǒng";
	dict[24431] = "piāo,piào";
	dict[24432] = "zhāng";
	dict[24433] = "yǐng";
	dict[24434] = "chī";
	dict[24435] = "chì";
	dict[24436] = "zhuó,bó";
	dict[24437] = "tuǒ,yí";
	dict[24438] = "jí";
	dict[24439] = "páng,fǎng";
	dict[24440] = "zhōng";
	dict[24441] = "yì";
	dict[24442] = "wǎng";
	dict[24443] = "chè";
	dict[24444] = "bǐ";
	dict[24445] = "dī";
	dict[24446] = "líng";
	dict[24447] = "fù";
	dict[24448] = "wǎng";
	dict[24449] = "zhēng";
	dict[24450] = "cú";
	dict[24451] = "wǎng";
	dict[24452] = "jìng";
	dict[24453] = "dài,dāi";
	dict[24454] = "xī";
	dict[24455] = "xùn";
	dict[24456] = "hěn";
	dict[24457] = "yáng";
	dict[24458] = "huái";
	dict[24459] = "lǜ";
	dict[24460] = "hòu";
	dict[24461] = "wàng,jiā,wā";
	dict[24462] = "chěng,zhèng";
	dict[24463] = "zhì";
	dict[24464] = "xú";
	dict[24465] = "jìng";
	dict[24466] = "tú";
	dict[24467] = "cóng";
	dict[24468] = "cóng";
	dict[24469] = "lài,lái";
	dict[24470] = "cóng";
	dict[24471] = "dé,děi,de";
	dict[24472] = "pái";
	dict[24473] = "xǐ";
	dict[24474] = "dōng";
	dict[24475] = "jì";
	dict[24476] = "cháng";
	dict[24477] = "zhì";
	dict[24478] = "cóng,zòng";
	dict[24479] = "zhōu";
	dict[24480] = "lái,lài";
	dict[24481] = "yù";
	dict[24482] = "xiè";
	dict[24483] = "jiè";
	dict[24484] = "jiàn";
	dict[24485] = "shì,tǐ";
	dict[24486] = "jiǎ,xiá";
	dict[24487] = "biàn";
	dict[24488] = "huáng";
	dict[24489] = "fù";
	dict[24490] = "xún";
	dict[24491] = "wěi";
	dict[24492] = "páng";
	dict[24493] = "yáo";
	dict[24494] = "wēi";
	dict[24495] = "xī";
	dict[24496] = "zhēng";
	dict[24497] = "piào";
	dict[24498] = "tí,chí";
	dict[24499] = "dé";
	dict[24500] = "zhǐ,zhēng";
	dict[24501] = "zhǐ,zhēng";
	dict[24502] = "bié";
	dict[24503] = "dé";
	dict[24504] = "zhǒng,chōng";
	dict[24505] = "chè";
	dict[24506] = "jiǎo,yáo";
	dict[24507] = "huì";
	dict[24508] = "jiǎo,jiào";
	dict[24509] = "huī";
	dict[24510] = "méi";
	dict[24511] = "lòng,lǒng";
	dict[24512] = "xiāng";
	dict[24513] = "bào";
	dict[24514] = "qú,jù";
	dict[24515] = "xīn";
	dict[24516] = "xīn";
	dict[24517] = "bì";
	dict[24518] = "yì";
	dict[24519] = "lè";
	dict[24520] = "rén";
	dict[24521] = "dāo";
	dict[24522] = "dìng,tìng";
	dict[24523] = "gǎi";
	dict[24524] = "jì";
	dict[24525] = "rěn";
	dict[24526] = "rén";
	dict[24527] = "chàn";
	dict[24528] = "tǎn";
	dict[24529] = "tè";
	dict[24530] = "tè,tuī";
	dict[24531] = "gān,hàn";
	dict[24532] = "yì,qì";
	dict[24533] = "shì,tài";
	dict[24534] = "cǔn";
	dict[24535] = "zhì";
	dict[24536] = "wàng";
	dict[24537] = "máng";
	dict[24538] = "xī,liě";
	dict[24539] = "fān";
	dict[24540] = "yīng,yìng";
	dict[24541] = "tiǎn";
	dict[24542] = "mǐn,wěn,mín";
	dict[24543] = "mǐn,wěn,mín";
	dict[24544] = "zhōng";
	dict[24545] = "chōng";
	dict[24546] = "wù";
	dict[24547] = "jí";
	dict[24548] = "wǔ";
	dict[24549] = "xì";
	dict[24550] = "jiá";
	dict[24551] = "yōu";
	dict[24552] = "wán";
	dict[24553] = "cōng";
	dict[24554] = "sōng,zhōng";
	dict[24555] = "kuài";
	dict[24556] = "yù,shū";
	dict[24557] = "biàn";
	dict[24558] = "zhì";
	dict[24559] = "qí,shì";
	dict[24560] = "cuì";
	dict[24561] = "chén";
	dict[24562] = "tài";
	dict[24563] = "tún,zhūn,dùn";
	dict[24564] = "qián,qín";
	dict[24565] = "niàn";
	dict[24566] = "hún";
	dict[24567] = "xiōng";
	dict[24568] = "niǔ";
	dict[24569] = "kuáng,wǎng";
	dict[24570] = "xiān";
	dict[24571] = "xīn";
	dict[24572] = "kāng,hàng";
	dict[24573] = "hū";
	dict[24574] = "kài,xì";
	dict[24575] = "fèn";
	dict[24576] = "huái";
	dict[24577] = "tài";
	dict[24578] = "sǒng";
	dict[24579] = "wǔ";
	dict[24580] = "òu";
	dict[24581] = "chàng";
	dict[24582] = "chuàng";
	dict[24583] = "jù";
	dict[24584] = "yì";
	dict[24585] = "bǎo,bào";
	dict[24586] = "chāo";
	dict[24587] = "mín,mén";
	dict[24588] = "pēi";
	dict[24589] = "zuò,zhà";
	dict[24590] = "zěn";
	dict[24591] = "yàng";
	dict[24592] = "kòu,jù";
	dict[24593] = "bàn";
	dict[24594] = "nù";
	dict[24595] = "náo,niú";
	dict[24596] = "zhēng";
	dict[24597] = "pà";
	dict[24598] = "bù";
	dict[24599] = "tiē,zhān";
	dict[24600] = "hù,gù";
	dict[24601] = "hù";
	dict[24602] = "cū,jù,zū";
	dict[24603] = "dá";
	dict[24604] = "lián";
	dict[24605] = "sī,sāi";
	dict[24606] = "yóu,chóu";
	dict[24607] = "dì";
	dict[24608] = "dài";
	dict[24609] = "yí";
	dict[24610] = "tū,dié";
	dict[24611] = "yóu";
	dict[24612] = "fū";
	dict[24613] = "jí";
	dict[24614] = "pēng";
	dict[24615] = "xìng";
	dict[24616] = "yuàn";
	dict[24617] = "ní";
	dict[24618] = "guài";
	dict[24619] = "fú";
	dict[24620] = "xì";
	dict[24621] = "bì";
	dict[24622] = "yōu,yào";
	dict[24623] = "qiè";
	dict[24624] = "xuàn";
	dict[24625] = "cōng";
	dict[24626] = "bǐng";
	dict[24627] = "huǎng";
	dict[24628] = "xù,xuè";
	dict[24629] = "chù";
	dict[24630] = "bì,pī";
	dict[24631] = "shù";
	dict[24632] = "xī,shù";
	dict[24633] = "tān";
	dict[24634] = "yǒng";
	dict[24635] = "zǒng";
	dict[24636] = "duì";
	dict[24637] = "mì";
	dict[24639] = "yì";
	dict[24640] = "shì";
	dict[24641] = "nèn,nín";
	dict[24642] = "xún";
	dict[24643] = "shì";
	dict[24644] = "xì";
	dict[24645] = "lǎo";
	dict[24646] = "héng";
	dict[24647] = "kuāng";
	dict[24648] = "móu";
	dict[24649] = "zhǐ";
	dict[24650] = "xié";
	dict[24651] = "liàn";
	dict[24652] = "tiāo,yáo";
	dict[24653] = "huǎng";
	dict[24654] = "dié";
	dict[24655] = "hào";
	dict[24656] = "kǒng";
	dict[24657] = "guǐ";
	dict[24658] = "héng";
	dict[24659] = "xī,qī,xù";
	dict[24660] = "xiào,jiǎo";
	dict[24661] = "shù";
	dict[24662] = "sī";
	dict[24663] = "hū,kuā";
	dict[24664] = "qiū";
	dict[24665] = "yàng";
	dict[24666] = "huì";
	dict[24667] = "huí";
	dict[24668] = "chì";
	dict[24669] = "jiá";
	dict[24670] = "yí";
	dict[24671] = "xiōng";
	dict[24672] = "guài";
	dict[24673] = "lìn";
	dict[24674] = "huī";
	dict[24675] = "zì";
	dict[24676] = "xù";
	dict[24677] = "chǐ";
	dict[24678] = "shàng";
	dict[24679] = "nǜ";
	dict[24680] = "hèn";
	dict[24681] = "ēn";
	dict[24682] = "kè";
	dict[24683] = "dòng";
	dict[24684] = "tián";
	dict[24685] = "gōng";
	dict[24686] = "quán,zhuān";
	dict[24687] = "xī";
	dict[24688] = "qià";
	dict[24689] = "yuè";
	dict[24690] = "pēng";
	dict[24691] = "kěn";
	dict[24692] = "dé";
	dict[24693] = "huì";
	dict[24694] = "è,wù,ě,wū";
	dict[24695] = "qiū";
	dict[24696] = "tòng";
	dict[24697] = "yān";
	dict[24698] = "kǎi";
	dict[24699] = "cè";
	dict[24700] = "nǎo";
	dict[24701] = "yùn";
	dict[24702] = "máng";
	dict[24703] = "yǒng";
	dict[24704] = "yǒng";
	dict[24705] = "yuān,juàn";
	dict[24706] = "pī,pǐ";
	dict[24707] = "kǔn";
	dict[24708] = "qiǎo,qiāo";
	dict[24709] = "yuè";
	dict[24710] = "yù,shū";
	dict[24711] = "tú";
	dict[24712] = "jiè,kè";
	dict[24713] = "xī";
	dict[24714] = "zhé";
	dict[24715] = "lìn";
	dict[24716] = "tì";
	dict[24717] = "hàn";
	dict[24718] = "hào,jiào";
	dict[24719] = "qiè";
	dict[24720] = "tì";
	dict[24721] = "bù";
	dict[24722] = "yì";
	dict[24723] = "qiàn";
	dict[24724] = "huǐ";
	dict[24725] = "xī";
	dict[24726] = "bèi";
	dict[24727] = "mán,mèn";
	dict[24728] = "yī,yì";
	dict[24729] = "hēng,hèng";
	dict[24730] = "sǒng";
	dict[24731] = "quān";
	dict[24732] = "chěng";
	dict[24733] = "kuī,lǐ";
	dict[24734] = "wù";
	dict[24735] = "wù";
	dict[24736] = "yōu";
	dict[24737] = "lí";
	dict[24738] = "liàng";
	dict[24739] = "huàn";
	dict[24740] = "cōng";
	dict[24741] = "yì,niàn";
	dict[24742] = "yuè";
	dict[24743] = "lì";
	dict[24744] = "nín";
	dict[24745] = "nǎo";
	dict[24746] = "è";
	dict[24747] = "què";
	dict[24748] = "xuán";
	dict[24749] = "qiān";
	dict[24750] = "wù";
	dict[24751] = "mǐn";
	dict[24752] = "cóng";
	dict[24753] = "fěi";
	dict[24754] = "bēi";
	dict[24755] = "dé";
	dict[24756] = "cuì";
	dict[24757] = "chàng";
	dict[24758] = "mèn,mēn";
	dict[24759] = "lì";
	dict[24760] = "jì";
	dict[24761] = "guàn";
	dict[24762] = "guàn";
	dict[24763] = "xìng";
	dict[24764] = "dào";
	dict[24765] = "qī";
	dict[24766] = "kōng,kǒng";
	dict[24767] = "tiǎn";
	dict[24768] = "lǔn,lùn";
	dict[24769] = "xī";
	dict[24770] = "kǎn";
	dict[24771] = "gǔn";
	dict[24772] = "nì";
	dict[24773] = "qíng";
	dict[24774] = "chóu";
	dict[24775] = "dūn";
	dict[24776] = "guǒ";
	dict[24777] = "zhān";
	dict[24778] = "jīng";
	dict[24779] = "wǎn";
	dict[24780] = "yuān,wǎn";
	dict[24781] = "jīn";
	dict[24782] = "jì";
	dict[24783] = "lán,lín";
	dict[24784] = "yù,xù";
	dict[24785] = "huò";
	dict[24786] = "hé,hè";
	dict[24787] = "juàn,quán";
	dict[24788] = "tán,dàn";
	dict[24789] = "tì";
	dict[24790] = "tì";
	dict[24791] = "niàn";
	dict[24792] = "wǎng";
	dict[24793] = "chuò,chuì";
	dict[24794] = "hū";
	dict[24795] = "hūn,mèn";
	dict[24796] = "xī";
	dict[24797] = "chǎng";
	dict[24798] = "xīn";
	dict[24799] = "wéi";
	dict[24800] = "huì";
	dict[24801] = "è,wù,ě,wū";
	dict[24802] = "suǒ,ruǐ";
	dict[24803] = "zǒng";
	dict[24804] = "jiān";
	dict[24805] = "yǒng";
	dict[24806] = "diàn";
	dict[24807] = "jù";
	dict[24808] = "cǎn";
	dict[24809] = "chéng";
	dict[24810] = "dé";
	dict[24811] = "bèi";
	dict[24812] = "qiè";
	dict[24813] = "cán";
	dict[24814] = "dàn,dá";
	dict[24815] = "guàn";
	dict[24816] = "duò";
	dict[24817] = "nǎo";
	dict[24818] = "yùn";
	dict[24819] = "xiǎng";
	dict[24820] = "zhuì";
	dict[24821] = "dié";
	dict[24822] = "huáng";
	dict[24823] = "chǔn";
	dict[24824] = "qióng";
	dict[24825] = "rě";
	dict[24826] = "xīng";
	dict[24827] = "cè";
	dict[24828] = "biǎn";
	dict[24829] = "mǐn";
	dict[24830] = "zōng";
	dict[24831] = "tí,shì";
	dict[24832] = "qiǎo";
	dict[24833] = "chóu";
	dict[24834] = "bèi";
	dict[24835] = "xuān";
	dict[24836] = "wēi";
	dict[24837] = "gé";
	dict[24838] = "qiān";
	dict[24839] = "wěi";
	dict[24840] = "yù";
	dict[24841] = "yú,tōu";
	dict[24842] = "bì";
	dict[24843] = "xuān";
	dict[24844] = "huàn";
	dict[24845] = "mǐn";
	dict[24846] = "bì";
	dict[24847] = "yì";
	dict[24848] = "miǎn";
	dict[24849] = "yǒng";
	dict[24850] = "qì,kài";
	dict[24851] = "dàng,shāng,táng,yáng";
	dict[24852] = "yīn";
	dict[24853] = "è";
	dict[24854] = "chén,xìn,dān";
	dict[24855] = "mào";
	dict[24856] = "kè,qià";
	dict[24857] = "kè";
	dict[24858] = "yú";
	dict[24859] = "ài";
	dict[24860] = "qiè";
	dict[24861] = "yǎn";
	dict[24862] = "nuò";
	dict[24863] = "gǎn";
	dict[24864] = "yùn";
	dict[24865] = "còng,sōng";
	dict[24866] = "sāi,sī,sǐ";
	dict[24867] = "lèng";
	dict[24868] = "fèn";
	dict[24869] = "yīng";
	dict[24870] = "kuì";
	dict[24871] = "kuì";
	dict[24872] = "què";
	dict[24873] = "gōng,gòng,hǒng";
	dict[24874] = "yún";
	dict[24875] = "sù";
	dict[24876] = "sù,shuò";
	dict[24877] = "qí";
	dict[24878] = "yáo,yào";
	dict[24879] = "sǒng";
	dict[24880] = "huàng";
	dict[24881] = "jí";
	dict[24882] = "gǔ";
	dict[24883] = "jù";
	dict[24884] = "chuàng";
	dict[24885] = "nì";
	dict[24886] = "xié";
	dict[24887] = "kǎi";
	dict[24888] = "zhěng";
	dict[24889] = "yǒng";
	dict[24890] = "cǎo";
	dict[24891] = "xùn";
	dict[24892] = "shèn";
	dict[24893] = "bó";
	dict[24894] = "kài,xì";
	dict[24895] = "yuàn";
	dict[24896] = "xì,xié";
	dict[24897] = "hùn";
	dict[24898] = "yǒng";
	dict[24899] = "yǎng";
	dict[24900] = "lì";
	dict[24901] = "cǎo,sāo";
	dict[24902] = "tāo";
	dict[24903] = "yīn";
	dict[24904] = "cí";
	dict[24905] = "xù,chù";
	dict[24906] = "qiàn,qiè";
	dict[24907] = "tài";
	dict[24908] = "huāng";
	dict[24909] = "yùn";
	dict[24910] = "shèn";
	dict[24911] = "mǐng";
	dict[24912] = "gōng,gòng,hǒng";
	dict[24913] = "shè";
	dict[24914] = "cáo,cóng";
	dict[24915] = "piāo";
	dict[24916] = "mù";
	dict[24917] = "mù";
	dict[24918] = "guó";
	dict[24919] = "chì";
	dict[24920] = "cǎn";
	dict[24921] = "cán";
	dict[24922] = "cán";
	dict[24923] = "cuī";
	dict[24924] = "mín";
	dict[24925] = "tè";
	dict[24926] = "zhāng";
	dict[24927] = "tòng";
	dict[24928] = "ào,áo";
	dict[24929] = "shuǎng";
	dict[24930] = "màn";
	dict[24931] = "guàn";
	dict[24932] = "què";
	dict[24933] = "zào";
	dict[24934] = "jiù";
	dict[24935] = "huì";
	dict[24936] = "kǎi";
	dict[24937] = "lián,liǎn";
	dict[24938] = "òu";
	dict[24939] = "sǒng";
	dict[24940] = "qín,jìn,jǐn";
	dict[24941] = "yìn";
	dict[24942] = "lǜ";
	dict[24943] = "shāng";
	dict[24944] = "wèi";
	dict[24945] = "tuán";
	dict[24946] = "mán";
	dict[24947] = "qiān";
	dict[24948] = "shè";
	dict[24949] = "yōng";
	dict[24950] = "qìng";
	dict[24951] = "kāng";
	dict[24952] = "dì,chì";
	dict[24953] = "zhí,zhé";
	dict[24954] = "lóu,lǚ";
	dict[24955] = "juàn";
	dict[24956] = "qī";
	dict[24957] = "qī";
	dict[24958] = "yù";
	dict[24959] = "píng";
	dict[24960] = "liáo";
	dict[24961] = "còng";
	dict[24962] = "yōu";
	dict[24963] = "chōng";
	dict[24964] = "zhī,zhì";
	dict[24965] = "tòng";
	dict[24966] = "chēng";
	dict[24967] = "qì";
	dict[24968] = "qū";
	dict[24969] = "péng";
	dict[24970] = "bèi";
	dict[24971] = "biē";
	dict[24972] = "qióng";
	dict[24973] = "jiāo";
	dict[24974] = "zēng";
	dict[24975] = "chì";
	dict[24976] = "lián";
	dict[24977] = "píng";
	dict[24978] = "kuì";
	dict[24979] = "huì";
	dict[24980] = "qiáo";
	dict[24981] = "chéng,dèng,zhèng";
	dict[24982] = "yìn";
	dict[24983] = "yìn";
	dict[24984] = "xǐ,xī";
	dict[24985] = "xǐ";
	dict[24986] = "dàn,dá";
	dict[24987] = "tán";
	dict[24988] = "duò";
	dict[24989] = "duì";
	dict[24990] = "duì,dùn,tūn";
	dict[24991] = "sù";
	dict[24992] = "jué";
	dict[24993] = "cè";
	dict[24994] = "xiāo,jiāo";
	dict[24995] = "fān";
	dict[24996] = "fèn";
	dict[24997] = "láo";
	dict[24998] = "lào,láo";
	dict[24999] = "chōng";
	dict[25e3] = "hān";
	dict[25001] = "qì";
	dict[25002] = "xián,xiàn";
	dict[25003] = "mǐn";
	dict[25004] = "jǐng";
	dict[25005] = "liǎo,liáo";
	dict[25006] = "wǔ";
	dict[25007] = "cǎn";
	dict[25008] = "jué";
	dict[25009] = "cù";
	dict[25010] = "xiàn";
	dict[25011] = "tǎn";
	dict[25012] = "shéng";
	dict[25013] = "pī";
	dict[25014] = "yì";
	dict[25015] = "chù";
	dict[25016] = "xiān";
	dict[25017] = "náo,nǎo,náng";
	dict[25018] = "dàn";
	dict[25019] = "tǎn";
	dict[25020] = "jǐng,jìng";
	dict[25021] = "sōng";
	dict[25022] = "hàn";
	dict[25023] = "jiǎo,jǐ";
	dict[25024] = "wèi";
	dict[25025] = "xuān,huān";
	dict[25026] = "dǒng";
	dict[25027] = "qín";
	dict[25028] = "qín";
	dict[25029] = "jù";
	dict[25030] = "cǎo,sāo,sào";
	dict[25031] = "kěn";
	dict[25032] = "xiè";
	dict[25033] = "yīng,yìng";
	dict[25034] = "ào";
	dict[25035] = "mào";
	dict[25036] = "yì";
	dict[25037] = "lǐn";
	dict[25038] = "sè";
	dict[25039] = "jùn";
	dict[25040] = "huái";
	dict[25041] = "mèn";
	dict[25042] = "lǎn";
	dict[25043] = "ài";
	dict[25044] = "lǐn";
	dict[25045] = "yān";
	dict[25046] = "guō";
	dict[25047] = "xià";
	dict[25048] = "chì";
	dict[25049] = "yǔ,yú";
	dict[25050] = "yìn";
	dict[25051] = "dāi";
	dict[25052] = "mèng,méng,měng";
	dict[25053] = "ài,yì,nǐ";
	dict[25054] = "méng,měng";
	dict[25055] = "duì";
	dict[25056] = "qí,jī,jì";
	dict[25057] = "mǒ";
	dict[25058] = "lán,xiàn";
	dict[25059] = "mèn";
	dict[25060] = "chóu";
	dict[25061] = "zhì";
	dict[25062] = "nuò";
	dict[25063] = "nuò";
	dict[25064] = "yān";
	dict[25065] = "yǎng";
	dict[25066] = "bó";
	dict[25067] = "zhì";
	dict[25068] = "kuàng";
	dict[25069] = "kuǎng";
	dict[25070] = "yōu,yǒu";
	dict[25071] = "fū";
	dict[25072] = "liú,liǔ";
	dict[25073] = "miè";
	dict[25074] = "chéng";
	dict[25075] = "huì";
	dict[25076] = "chàn";
	dict[25077] = "měng";
	dict[25078] = "lǎn";
	dict[25079] = "huái";
	dict[25080] = "xuán";
	dict[25081] = "ràng";
	dict[25082] = "chàn";
	dict[25083] = "jì";
	dict[25084] = "jù";
	dict[25085] = "huān";
	dict[25086] = "shè";
	dict[25087] = "yì";
	dict[25088] = "liàn";
	dict[25089] = "nǎn";
	dict[25090] = "mí,mó";
	dict[25091] = "tǎng";
	dict[25092] = "jué";
	dict[25093] = "gàng,zhuàng";
	dict[25094] = "gàng,zhuàng";
	dict[25095] = "gàng,zhuàng";
	dict[25096] = "gē";
	dict[25097] = "yuè";
	dict[25098] = "wù";
	dict[25099] = "jiān";
	dict[25100] = "xū";
	dict[25101] = "shù";
	dict[25102] = "róng";
	dict[25103] = "xì,hū";
	dict[25104] = "chéng";
	dict[25105] = "wǒ";
	dict[25106] = "jiè";
	dict[25107] = "gē";
	dict[25108] = "jiān";
	dict[25109] = "qiāng";
	dict[25110] = "huò";
	dict[25111] = "qiāng,qiàng";
	dict[25112] = "zhàn";
	dict[25113] = "dòng";
	dict[25114] = "qī";
	dict[25115] = "jiá";
	dict[25116] = "dié";
	dict[25117] = "zéi";
	dict[25118] = "jiá";
	dict[25119] = "jǐ";
	dict[25120] = "zhí";
	dict[25121] = "kān";
	dict[25122] = "jí";
	dict[25123] = "kuí";
	dict[25124] = "gài";
	dict[25125] = "děng";
	dict[25126] = "zhàn";
	dict[25127] = "qiāng,qiàng";
	dict[25128] = "gē";
	dict[25129] = "jiǎn";
	dict[25130] = "jié";
	dict[25131] = "yù";
	dict[25132] = "jiǎn";
	dict[25133] = "yǎn";
	dict[25134] = "lù";
	dict[25135] = "xì,hū";
	dict[25136] = "zhàn";
	dict[25137] = "xì,hū";
	dict[25138] = "xì,hū";
	dict[25139] = "chuō";
	dict[25140] = "dài";
	dict[25141] = "qú";
	dict[25142] = "hù";
	dict[25143] = "hù";
	dict[25144] = "hù";
	dict[25145] = "è";
	dict[25146] = "shì";
	dict[25147] = "tì";
	dict[25148] = "mǎo";
	dict[25149] = "hù";
	dict[25150] = "lì";
	dict[25151] = "fáng";
	dict[25152] = "suǒ";
	dict[25153] = "biǎn,piān";
	dict[25154] = "diàn";
	dict[25155] = "jiōng";
	dict[25156] = "shǎng,jiōng";
	dict[25157] = "yí";
	dict[25158] = "yǐ";
	dict[25159] = "shàn,shān";
	dict[25160] = "hù";
	dict[25161] = "fēi";
	dict[25162] = "yǎn";
	dict[25163] = "shǒu";
	dict[25164] = "shǒu";
	dict[25165] = "cái";
	dict[25166] = "zā,zhā,zhá";
	dict[25167] = "qiú";
	dict[25168] = "lè,lì,cái";
	dict[25169] = "pū";
	dict[25170] = "bā,pá";
	dict[25171] = "dǎ,dá";
	dict[25172] = "rēng";
	dict[25173] = "fǎn,fú";
	dict[25174] = "rù";
	dict[25175] = "zài";
	dict[25176] = "tuō";
	dict[25177] = "zhàng";
	dict[25178] = "diǎo,dí,yuē,lì";
	dict[25179] = "káng,gāng";
	dict[25180] = "yū,wū";
	dict[25181] = "yū,wū,kū";
	dict[25182] = "hàn";
	dict[25183] = "shēn";
	dict[25184] = "chā";
	dict[25185] = "tuō,chǐ,yǐ";
	dict[25186] = "gǔ,xì,gē,jié";
	dict[25187] = "kòu";
	dict[25188] = "wù";
	dict[25189] = "dèn";
	dict[25190] = "qiān";
	dict[25191] = "zhí";
	dict[25192] = "rèn";
	dict[25193] = "kuò";
	dict[25194] = "mén";
	dict[25195] = "sǎo,sào";
	dict[25196] = "yáng";
	dict[25197] = "niǔ";
	dict[25198] = "bàn";
	dict[25199] = "chě";
	dict[25200] = "rǎo";
	dict[25201] = "xī,chā,qì";
	dict[25202] = "qián,qín";
	dict[25203] = "bān";
	dict[25204] = "jiá";
	dict[25205] = "yú";
	dict[25206] = "fú";
	dict[25207] = "bā,ào";
	dict[25208] = "xī,zhé";
	dict[25209] = "pī";
	dict[25210] = "zhǐ";
	dict[25211] = "zhì,sǔn,kǎn";
	dict[25212] = "è";
	dict[25213] = "dèn";
	dict[25214] = "zhǎo";
	dict[25215] = "chéng";
	dict[25216] = "jì";
	dict[25217] = "yǎn";
	dict[25218] = "kuáng,wǎng,zài";
	dict[25219] = "biàn";
	dict[25220] = "chāo";
	dict[25221] = "jū";
	dict[25222] = "wěn";
	dict[25223] = "hú,gǔ";
	dict[25224] = "yuè";
	dict[25225] = "jué";
	dict[25226] = "bǎ,bà";
	dict[25227] = "qìn";
	dict[25228] = "dǎn,shěn";
	dict[25229] = "zhěng";
	dict[25230] = "yǔn";
	dict[25231] = "wán";
	dict[25232] = "nè,nì,ruì,nà";
	dict[25233] = "yì";
	dict[25234] = "shū";
	dict[25235] = "zhuā";
	dict[25236] = "póu";
	dict[25237] = "tóu";
	dict[25238] = "dǒu";
	dict[25239] = "kàng";
	dict[25240] = "zhē,zhé,shé";
	dict[25241] = "póu,pōu,fū";
	dict[25242] = "fǔ";
	dict[25243] = "pāo";
	dict[25244] = "bá";
	dict[25245] = "ǎo,ào,niù";
	dict[25246] = "zé";
	dict[25247] = "tuán";
	dict[25248] = "kōu";
	dict[25249] = "lūn,lún";
	dict[25250] = "qiāng,qiǎng,chēng";
	dict[25251] = "yún";
	dict[25252] = "hù";
	dict[25253] = "bào";
	dict[25254] = "bǐng";
	dict[25255] = "zhǐ,zhǎi";
	dict[25256] = "pēng";
	dict[25257] = "nán";
	dict[25258] = "bù,pū";
	dict[25259] = "pī";
	dict[25260] = "tái";
	dict[25261] = "yǎo,tāo";
	dict[25262] = "zhěn";
	dict[25263] = "zhā";
	dict[25264] = "yāng";
	dict[25265] = "bào";
	dict[25266] = "hē,hè,qiā";
	dict[25267] = "nǐ,ní";
	dict[25268] = "yè";
	dict[25269] = "dǐ";
	dict[25270] = "chì";
	dict[25271] = "pī,pēi";
	dict[25272] = "jiā";
	dict[25273] = "mǒ,mò,mā";
	dict[25274] = "mèi";
	dict[25275] = "chēn";
	dict[25276] = "yā";
	dict[25277] = "chōu";
	dict[25278] = "qū";
	dict[25279] = "mǐn";
	dict[25280] = "zhù";
	dict[25281] = "jiā,yá";
	dict[25282] = "fú,bì";
	dict[25283] = "zhǎ";
	dict[25284] = "zhǔ";
	dict[25285] = "dān,dàn,dǎn";
	dict[25286] = "chāi,cā";
	dict[25287] = "mǔ";
	dict[25288] = "niān";
	dict[25289] = "lā,lá";
	dict[25290] = "fǔ";
	dict[25291] = "pāo";
	dict[25292] = "bàn,pàn";
	dict[25293] = "pāi";
	dict[25294] = "līn";
	dict[25295] = "ná";
	dict[25296] = "guǎi";
	dict[25297] = "qián";
	dict[25298] = "jù";
	dict[25299] = "tuò,tà,zhí";
	dict[25300] = "bá";
	dict[25301] = "tuō";
	dict[25302] = "tuō";
	dict[25303] = "ǎo,ào,niù";
	dict[25304] = "jū,gōu";
	dict[25305] = "zhuō";
	dict[25306] = "pàn,pīn,fān";
	dict[25307] = "zhāo";
	dict[25308] = "bài";
	dict[25309] = "bài";
	dict[25310] = "dǐ";
	dict[25311] = "nǐ";
	dict[25312] = "jù";
	dict[25313] = "kuò";
	dict[25314] = "lǒng";
	dict[25315] = "jiǎn";
	dict[25316] = "qiǎ";
	dict[25317] = "yōng";
	dict[25318] = "lán";
	dict[25319] = "níng,nǐng,nìng";
	dict[25320] = "bō";
	dict[25321] = "zé,zhái";
	dict[25322] = "qiān";
	dict[25323] = "hén";
	dict[25324] = "kuò,guā";
	dict[25325] = "shì";
	dict[25326] = "jié,jiá";
	dict[25327] = "zhěng";
	dict[25328] = "nǐn";
	dict[25329] = "gǒng";
	dict[25330] = "gǒng";
	dict[25331] = "quán";
	dict[25332] = "shuān";
	dict[25333] = "cún,zùn";
	dict[25334] = "zā,zǎn";
	dict[25335] = "kǎo";
	dict[25336] = "yí,chǐ,hài";
	dict[25337] = "xié";
	dict[25338] = "cè,sè,chuò";
	dict[25339] = "huī";
	dict[25340] = "pīn";
	dict[25341] = "zhuài,zhuāi,yè";
	dict[25342] = "shí,shè";
	dict[25343] = "ná";
	dict[25344] = "bāi";
	dict[25345] = "chí";
	dict[25346] = "guà";
	dict[25347] = "zhì";
	dict[25348] = "kuò,guāng";
	dict[25349] = "duò";
	dict[25350] = "duǒ,duò";
	dict[25351] = "zhǐ";
	dict[25352] = "qiè";
	dict[25353] = "àn";
	dict[25354] = "nòng";
	dict[25355] = "zhèn";
	dict[25356] = "gé";
	dict[25357] = "jiào";
	dict[25358] = "kuà,kū";
	dict[25359] = "dòng";
	dict[25360] = "rú,ná";
	dict[25361] = "tiāo,tiǎo";
	dict[25362] = "liè";
	dict[25363] = "zhā";
	dict[25364] = "lǚ";
	dict[25365] = "dié,shè";
	dict[25366] = "wā";
	dict[25367] = "jué";
	dict[25368] = "liě";
	dict[25369] = "jǔ";
	dict[25370] = "zhì";
	dict[25371] = "luán";
	dict[25372] = "yà,yǎ";
	dict[25373] = "zhuā,wō";
	dict[25374] = "tà";
	dict[25375] = "xié,jiā";
	dict[25376] = "náo";
	dict[25377] = "dǎng,dàng";
	dict[25378] = "jiǎo";
	dict[25379] = "zhèng,zhēng";
	dict[25380] = "jǐ";
	dict[25381] = "huī";
	dict[25382] = "xián";
	dict[25383] = "yǔ";
	dict[25384] = "āi,ái";
	dict[25385] = "tuō,shuì";
	dict[25386] = "nuó";
	dict[25387] = "cuò";
	dict[25388] = "bó";
	dict[25389] = "gěng";
	dict[25390] = "tǐ,tì";
	dict[25391] = "zhèn";
	dict[25392] = "chéng";
	dict[25393] = "suō,shā";
	dict[25394] = "suō,shā";
	dict[25395] = "kēng,qiān";
	dict[25396] = "měi";
	dict[25397] = "nòng";
	dict[25398] = "jú";
	dict[25399] = "bàng,péng";
	dict[25400] = "jiǎn";
	dict[25401] = "yì";
	dict[25402] = "tǐng";
	dict[25403] = "shān";
	dict[25404] = "ruó";
	dict[25405] = "wǎn";
	dict[25406] = "xié,jiā";
	dict[25407] = "chā";
	dict[25408] = "péng";
	dict[25409] = "jiǎo,kù";
	dict[25410] = "wǔ";
	dict[25411] = "jùn";
	dict[25412] = "jiù";
	dict[25413] = "tǒng";
	dict[25414] = "kǔn";
	dict[25415] = "huò,chì";
	dict[25416] = "tú,shū,chá";
	dict[25417] = "zhuō";
	dict[25418] = "póu,pōu,fū";
	dict[25419] = "luō,lǚ";
	dict[25420] = "bā";
	dict[25421] = "hàn";
	dict[25422] = "shāo,shào";
	dict[25423] = "niē";
	dict[25424] = "juān";
	dict[25425] = "zè";
	dict[25426] = "shù,sǒng,sōu";
	dict[25427] = "yé,yú";
	dict[25428] = "jué,zhuó";
	dict[25429] = "bǔ";
	dict[25430] = "wán";
	dict[25431] = "bù,pú,zhì";
	dict[25432] = "zùn";
	dict[25433] = "yè";
	dict[25434] = "zhāi";
	dict[25435] = "lǚ";
	dict[25436] = "sōu";
	dict[25437] = "tuō,shuì";
	dict[25438] = "lāo";
	dict[25439] = "sǔn";
	dict[25440] = "bāng";
	dict[25441] = "jiǎn";
	dict[25442] = "huàn";
	dict[25443] = "dǎo";
	dict[25444] = "wěi";
	dict[25445] = "wàn,wǎn,wān,yù";
	dict[25446] = "qín";
	dict[25447] = "pěng";
	dict[25448] = "shě";
	dict[25449] = "liè";
	dict[25450] = "mín";
	dict[25451] = "mén";
	dict[25452] = "fǔ,fù,bǔ";
	dict[25453] = "bǎi";
	dict[25454] = "jù,jū";
	dict[25455] = "dáo";
	dict[25456] = "wǒ,luò,luǒ";
	dict[25457] = "ái";
	dict[25458] = "juǎn,quán";
	dict[25459] = "yuè";
	dict[25460] = "zǒng";
	dict[25461] = "chēn";
	dict[25462] = "chuí";
	dict[25463] = "jié";
	dict[25464] = "tū";
	dict[25465] = "bèn";
	dict[25466] = "nà";
	dict[25467] = "niǎn,niē";
	dict[25468] = "ruó,wěi,ré";
	dict[25469] = "zuó";
	dict[25470] = "wò,xiá";
	dict[25471] = "qī";
	dict[25472] = "xiān";
	dict[25473] = "chéng";
	dict[25474] = "diān";
	dict[25475] = "sǎo,sào";
	dict[25476] = "lūn,lún";
	dict[25477] = "qìng,qiàn";
	dict[25478] = "gāng";
	dict[25479] = "duō";
	dict[25480] = "shòu";
	dict[25481] = "diào";
	dict[25482] = "pǒu,póu";
	dict[25483] = "dǐ";
	dict[25484] = "zhǎng";
	dict[25485] = "hùn";
	dict[25486] = "jǐ";
	dict[25487] = "tāo";
	dict[25488] = "qiā";
	dict[25489] = "qí";
	dict[25490] = "pái,pǎi";
	dict[25491] = "shū";
	dict[25492] = "qiān,wàn";
	dict[25493] = "líng";
	dict[25494] = "yè,yē";
	dict[25495] = "yà,yǎ";
	dict[25496] = "jué";
	dict[25497] = "zhēng,zhèng";
	dict[25498] = "liǎng";
	dict[25499] = "guà";
	dict[25500] = "nǐ,niè,yì";
	dict[25501] = "huò,xù";
	dict[25502] = "shàn,yàn,yǎn";
	dict[25503] = "zhěng,dìng";
	dict[25504] = "lüè";
	dict[25505] = "cǎi";
	dict[25506] = "tàn";
	dict[25507] = "chè";
	dict[25508] = "bīng";
	dict[25509] = "jiē";
	dict[25510] = "tì";
	dict[25511] = "kòng";
	dict[25512] = "tuī";
	dict[25513] = "yǎn";
	dict[25514] = "cuò";
	dict[25515] = "zōu,zhōu,chōu";
	dict[25516] = "jū";
	dict[25517] = "tiàn";
	dict[25518] = "qián";
	dict[25519] = "kèn";
	dict[25520] = "bāi";
	dict[25521] = "pá";
	dict[25522] = "jiē";
	dict[25523] = "lǔ";
	dict[25524] = "guó";
	dict[25525] = "mìng";
	dict[25526] = "jié";
	dict[25527] = "zhì";
	dict[25528] = "dǎn,shàn";
	dict[25529] = "mēng";
	dict[25530] = "chān,xiān,càn,shǎn";
	dict[25531] = "sāo";
	dict[25532] = "guàn";
	dict[25533] = "pèng";
	dict[25534] = "yuàn";
	dict[25535] = "nuò";
	dict[25536] = "jiǎn";
	dict[25537] = "zhēng,kēng";
	dict[25538] = "jiū,yóu";
	dict[25539] = "jiǎn,jiān";
	dict[25540] = "yú";
	dict[25541] = "yán";
	dict[25542] = "kuí";
	dict[25543] = "nǎn";
	dict[25544] = "hōng";
	dict[25545] = "róu";
	dict[25546] = "pì,chè";
	dict[25547] = "wēi";
	dict[25548] = "sāi";
	dict[25549] = "zòu";
	dict[25550] = "xuān";
	dict[25551] = "miáo";
	dict[25552] = "tí,dī,dǐ";
	dict[25553] = "niē";
	dict[25554] = "chā";
	dict[25555] = "shì";
	dict[25556] = "zǒng,sōng";
	dict[25557] = "zhèn,zhēn";
	dict[25558] = "yī";
	dict[25559] = "xún";
	dict[25560] = "huáng,yóng";
	dict[25561] = "biǎn";
	dict[25562] = "yáng";
	dict[25563] = "huàn";
	dict[25564] = "yǎn";
	dict[25565] = "zǎn,zuàn";
	dict[25566] = "ǎn";
	dict[25567] = "xū,jū";
	dict[25568] = "yà";
	dict[25569] = "wò";
	dict[25570] = "ké,qiā";
	dict[25571] = "chuǎi,chuài,chuāi,tuán,zhuī";
	dict[25572] = "jí";
	dict[25573] = "tì,dì";
	dict[25574] = "là,lá";
	dict[25575] = "là";
	dict[25576] = "chéng";
	dict[25577] = "kāi";
	dict[25578] = "jiū";
	dict[25579] = "jiū";
	dict[25580] = "tú";
	dict[25581] = "jiē,qì";
	dict[25582] = "huī";
	dict[25583] = "gèn";
	dict[25584] = "chòng,dǒng";
	dict[25585] = "xiāo";
	dict[25586] = "shé,dié,yè";
	dict[25587] = "xiē";
	dict[25588] = "yuán";
	dict[25589] = "qián,jiàn,jiǎn";
	dict[25590] = "yé";
	dict[25591] = "chā";
	dict[25592] = "zhā";
	dict[25593] = "bēi";
	dict[25594] = "yáo";
	dict[25595] = "wēi";
	dict[25596] = "bèng";
	dict[25597] = "lǎn";
	dict[25598] = "wèn";
	dict[25599] = "qìn";
	dict[25600] = "chān";
	dict[25601] = "gē,gé";
	dict[25602] = "lǒu,lōu";
	dict[25603] = "zǒng";
	dict[25604] = "gèn";
	dict[25605] = "jiǎo";
	dict[25606] = "gòu";
	dict[25607] = "qìn";
	dict[25608] = "róng";
	dict[25609] = "què";
	dict[25610] = "chōu,zǒu";
	dict[25611] = "chuāi";
	dict[25612] = "zhǎn";
	dict[25613] = "sǔn";
	dict[25614] = "sūn";
	dict[25615] = "bó";
	dict[25616] = "chù";
	dict[25617] = "róng,náng,nǎng";
	dict[25618] = "bàng,péng";
	dict[25619] = "cuō";
	dict[25620] = "sāo";
	dict[25621] = "kē,è";
	dict[25622] = "yáo";
	dict[25623] = "dǎo";
	dict[25624] = "zhī";
	dict[25625] = "nù,nuò,nòu";
	dict[25626] = "lā,xié,xiàn";
	dict[25627] = "jiān";
	dict[25628] = "sōu";
	dict[25629] = "qiǔ";
	dict[25630] = "gǎo";
	dict[25631] = "xiǎn,xiān";
	dict[25632] = "shuò";
	dict[25633] = "sǎng";
	dict[25634] = "jìn";
	dict[25635] = "miè";
	dict[25636] = "è";
	dict[25637] = "chuí";
	dict[25638] = "nuò";
	dict[25639] = "shān";
	dict[25640] = "tà";
	dict[25641] = "jié,zhé";
	dict[25642] = "táng";
	dict[25643] = "pán,bān,pó";
	dict[25644] = "bān";
	dict[25645] = "dā";
	dict[25646] = "lì";
	dict[25647] = "tāo";
	dict[25648] = "hú";
	dict[25649] = "zhì,nái";
	dict[25650] = "wā,wǎ,wà";
	dict[25651] = "huá";
	dict[25652] = "qiān";
	dict[25653] = "wèn";
	dict[25654] = "qiāng,qiǎng,chēng";
	dict[25655] = "tián,shēn";
	dict[25656] = "zhēn";
	dict[25657] = "è";
	dict[25658] = "xié";
	dict[25659] = "ná,nuò";
	dict[25660] = "quán";
	dict[25661] = "chá";
	dict[25662] = "zhà";
	dict[25663] = "gé";
	dict[25664] = "wǔ";
	dict[25665] = "èn";
	dict[25666] = "shè";
	dict[25667] = "gāng";
	dict[25668] = "shè,niè";
	dict[25669] = "shū";
	dict[25670] = "bǎi";
	dict[25671] = "yáo";
	dict[25672] = "bìn";
	dict[25673] = "sōu";
	dict[25674] = "tān";
	dict[25675] = "sà,shā,shǎi";
	dict[25676] = "chǎn,sùn";
	dict[25677] = "suō";
	dict[25678] = "jiū,liú,liáo,jiǎo,náo";
	dict[25679] = "chōng";
	dict[25680] = "chuāng";
	dict[25681] = "guó";
	dict[25682] = "bìng";
	dict[25683] = "féng,pěng";
	dict[25684] = "shuāi";
	dict[25685] = "dì,tú,zhí";
	dict[25686] = "qì,jì,chá";
	dict[25687] = "sōu,sǒng";
	dict[25688] = "zhāi";
	dict[25689] = "liǎn,liàn";
	dict[25690] = "chēng";
	dict[25691] = "chī";
	dict[25692] = "guàn";
	dict[25693] = "lù";
	dict[25694] = "luò";
	dict[25695] = "lǒu,lōu";
	dict[25696] = "zǒng";
	dict[25697] = "gài,xì";
	dict[25698] = "hù,chū";
	dict[25699] = "zhā";
	dict[25700] = "qiāng";
	dict[25701] = "tàng";
	dict[25702] = "huà";
	dict[25703] = "cuī";
	dict[25704] = "zhì,nái";
	dict[25705] = "mó,mā";
	dict[25706] = "jiāng,qiàng";
	dict[25707] = "guī";
	dict[25708] = "yǐng";
	dict[25709] = "zhí";
	dict[25710] = "áo,qiáo";
	dict[25711] = "zhì";
	dict[25712] = "niè,chè";
	dict[25713] = "mán,màn";
	dict[25714] = "chàn,cán";
	dict[25715] = "kōu";
	dict[25716] = "chū";
	dict[25717] = "sè,mí,sù";
	dict[25718] = "tuán";
	dict[25719] = "jiǎo,chāo";
	dict[25720] = "mō";
	dict[25721] = "mó";
	dict[25722] = "zhé";
	dict[25723] = "chān,xiān,càn,shǎn";
	dict[25724] = "kēng,qiān";
	dict[25725] = "biào,biāo";
	dict[25726] = "jiàng";
	dict[25727] = "yáo";
	dict[25728] = "gòu";
	dict[25729] = "qiān";
	dict[25730] = "liào";
	dict[25731] = "jī";
	dict[25732] = "yīng";
	dict[25733] = "juē,jué";
	dict[25734] = "piē";
	dict[25735] = "piē,piě";
	dict[25736] = "lāo";
	dict[25737] = "dūn";
	dict[25738] = "xiàn";
	dict[25739] = "ruán";
	dict[25740] = "guì";
	dict[25741] = "zǎn,zān,zēn,qián";
	dict[25742] = "yī";
	dict[25743] = "xián";
	dict[25744] = "chēng";
	dict[25745] = "chēng";
	dict[25746] = "sā,sǎ";
	dict[25747] = "náo";
	dict[25748] = "hòng";
	dict[25749] = "sī";
	dict[25750] = "hàn";
	dict[25751] = "héng,guàng";
	dict[25752] = "dā";
	dict[25753] = "zǔn";
	dict[25754] = "niǎn";
	dict[25755] = "lǐn";
	dict[25756] = "zhěng,chéng";
	dict[25757] = "huī,wéi";
	dict[25758] = "zhuàng";
	dict[25759] = "jiǎo";
	dict[25760] = "jǐ";
	dict[25761] = "cāo";
	dict[25762] = "dǎn";
	dict[25763] = "dǎn,shàn";
	dict[25764] = "chè";
	dict[25765] = "bō";
	dict[25766] = "chě";
	dict[25767] = "juē";
	dict[25768] = "xiāo,sōu";
	dict[25769] = "liāo,liáo";
	dict[25770] = "bèn";
	dict[25771] = "fǔ";
	dict[25772] = "qiào";
	dict[25773] = "bō";
	dict[25774] = "cuō,zuǒ";
	dict[25775] = "zhuó";
	dict[25776] = "zhuàn";
	dict[25777] = "wěi,tuǒ";
	dict[25778] = "pū";
	dict[25779] = "qìn";
	dict[25780] = "dūn";
	dict[25781] = "niǎn";
	dict[25782] = "huá";
	dict[25783] = "xié";
	dict[25784] = "lū";
	dict[25785] = "jiǎo";
	dict[25786] = "cuān";
	dict[25787] = "tà";
	dict[25788] = "hàn";
	dict[25789] = "qiào,yāo,jī";
	dict[25790] = "zhuā,wō";
	dict[25791] = "jiǎn";
	dict[25792] = "gǎn";
	dict[25793] = "yōng";
	dict[25794] = "léi,lèi";
	dict[25795] = "nǎng";
	dict[25796] = "lǔ";
	dict[25797] = "shàn";
	dict[25798] = "zhuó";
	dict[25799] = "zé,zhái";
	dict[25800] = "pǔ";
	dict[25801] = "chuò";
	dict[25802] = "jī";
	dict[25803] = "dǎng,dàng";
	dict[25804] = "sè";
	dict[25805] = "cāo";
	dict[25806] = "qíng";
	dict[25807] = "qíng,jǐng";
	dict[25808] = "huàn";
	dict[25809] = "jiē";
	dict[25810] = "qín";
	dict[25811] = "kuǎi";
	dict[25812] = "dān,dàn";
	dict[25813] = "xié";
	dict[25814] = "qiā,jiā,yè";
	dict[25815] = "pǐ,bò";
	dict[25816] = "bò,bāi";
	dict[25817] = "ào";
	dict[25818] = "jù,jū";
	dict[25819] = "yè";
	dict[25820] = "è";
	dict[25821] = "mēng";
	dict[25822] = "sòu,sǒu";
	dict[25823] = "mí";
	dict[25824] = "jǐ";
	dict[25825] = "tái";
	dict[25826] = "zhuó";
	dict[25827] = "dǎo";
	dict[25828] = "xǐng";
	dict[25829] = "lǎn";
	dict[25830] = "cā";
	dict[25831] = "jǔ";
	dict[25832] = "yē";
	dict[25833] = "rǔ";
	dict[25834] = "yè";
	dict[25835] = "yè";
	dict[25836] = "nǐ";
	dict[25837] = "huò";
	dict[25838] = "jié";
	dict[25839] = "bìn";
	dict[25840] = "níng,nǐng,nìng";
	dict[25841] = "gē,gé";
	dict[25842] = "zhì";
	dict[25843] = "zhì,jié";
	dict[25844] = "kuò";
	dict[25845] = "mó";
	dict[25846] = "jiàn";
	dict[25847] = "xié";
	dict[25848] = "liè,là";
	dict[25849] = "tān";
	dict[25850] = "bǎi";
	dict[25851] = "sòu,sǒu";
	dict[25852] = "lū";
	dict[25853] = "lì,luò,yuè";
	dict[25854] = "rǎo";
	dict[25855] = "tī,zhì,zhāi";
	dict[25856] = "pān";
	dict[25857] = "yǎng";
	dict[25858] = "léi,lèi";
	dict[25859] = "cā,sǎ";
	dict[25860] = "shū";
	dict[25861] = "zǎn";
	dict[25862] = "niǎn";
	dict[25863] = "xiǎn";
	dict[25864] = "jùn,pèi";
	dict[25865] = "huō";
	dict[25866] = "lì,luò";
	dict[25867] = "là,lài";
	dict[25868] = "huàn";
	dict[25869] = "yíng";
	dict[25870] = "lú,luó";
	dict[25871] = "lǒng";
	dict[25872] = "qiān";
	dict[25873] = "qiān";
	dict[25874] = "zǎn,cuán";
	dict[25875] = "qiān";
	dict[25876] = "lán";
	dict[25877] = "xiān,jiān";
	dict[25878] = "yīng";
	dict[25879] = "méi";
	dict[25880] = "rǎng";
	dict[25881] = "chān";
	dict[25882] = "wěng";
	dict[25883] = "cuān";
	dict[25884] = "xié";
	dict[25885] = "shè,niè";
	dict[25886] = "luó";
	dict[25887] = "jùn";
	dict[25888] = "mí,mǐ,mó";
	dict[25889] = "chī";
	dict[25890] = "zǎn,cuán";
	dict[25891] = "luán";
	dict[25892] = "tān";
	dict[25893] = "zuàn";
	dict[25894] = "lì,shài";
	dict[25895] = "diān";
	dict[25896] = "wā";
	dict[25897] = "dǎng";
	dict[25898] = "jiǎo";
	dict[25899] = "jué";
	dict[25900] = "lǎn";
	dict[25901] = "lì,luǒ";
	dict[25902] = "nǎng";
	dict[25903] = "zhī";
	dict[25904] = "guì";
	dict[25905] = "guǐ,guì";
	dict[25906] = "qī,yǐ,jī";
	dict[25907] = "xún";
	dict[25908] = "pū";
	dict[25909] = "pū";
	dict[25910] = "shōu";
	dict[25911] = "kǎo";
	dict[25912] = "yōu";
	dict[25913] = "gǎi";
	dict[25914] = "yǐ";
	dict[25915] = "gōng";
	dict[25916] = "gān,hàn";
	dict[25917] = "bān";
	dict[25918] = "fàng";
	dict[25919] = "zhèng";
	dict[25920] = "pò";
	dict[25921] = "diān";
	dict[25922] = "kòu";
	dict[25923] = "mǐn";
	dict[25924] = "wù,móu";
	dict[25925] = "gù";
	dict[25926] = "hé";
	dict[25927] = "cè";
	dict[25928] = "xiào";
	dict[25929] = "mǐ";
	dict[25930] = "chù,shōu";
	dict[25931] = "gé,guó,è";
	dict[25932] = "dí";
	dict[25933] = "xù";
	dict[25934] = "jiào,jiāo";
	dict[25935] = "mǐn";
	dict[25936] = "chén";
	dict[25937] = "jiù";
	dict[25938] = "shēn";
	dict[25939] = "duó,duì";
	dict[25940] = "yǔ";
	dict[25941] = "chì";
	dict[25942] = "áo";
	dict[25943] = "bài";
	dict[25944] = "xù";
	dict[25945] = "jiào,jiāo";
	dict[25946] = "duó,duì";
	dict[25947] = "liǎn";
	dict[25948] = "niè";
	dict[25949] = "bì";
	dict[25950] = "chǎng";
	dict[25951] = "diǎn";
	dict[25952] = "duō,què";
	dict[25953] = "yì";
	dict[25954] = "gǎn";
	dict[25955] = "sàn,sǎn";
	dict[25956] = "kě";
	dict[25957] = "yàn";
	dict[25958] = "dūn,duì";
	dict[25959] = "qī,yǐ,jī";
	dict[25960] = "tǒu";
	dict[25961] = "xiào,xué";
	dict[25962] = "duō,què";
	dict[25963] = "jiǎo";
	dict[25964] = "jìng";
	dict[25965] = "yáng";
	dict[25966] = "xiá";
	dict[25967] = "mǐn";
	dict[25968] = "shù,shǔ,shuò";
	dict[25969] = "ái,zhú";
	dict[25970] = "qiāo";
	dict[25971] = "ái";
	dict[25972] = "zhěng";
	dict[25973] = "dí";
	dict[25974] = "chén";
	dict[25975] = "fū";
	dict[25976] = "shù,shǔ,shuò";
	dict[25977] = "liáo";
	dict[25978] = "qū";
	dict[25979] = "xiòng,xuàn";
	dict[25980] = "yǐ";
	dict[25981] = "jiǎo";
	dict[25982] = "shàn";
	dict[25983] = "jiǎo";
	dict[25984] = "zhuó,zhú";
	dict[25985] = "yì,dù";
	dict[25986] = "liǎn";
	dict[25987] = "bì";
	dict[25988] = "lí,tái";
	dict[25989] = "xiào";
	dict[25990] = "xiào";
	dict[25991] = "wén";
	dict[25992] = "xué";
	dict[25993] = "qí";
	dict[25994] = "qí";
	dict[25995] = "zhāi";
	dict[25996] = "bīn";
	dict[25997] = "jué,jiào";
	dict[25998] = "zhāi";
	dict[25999] = "láng";
	dict[26e3] = "fěi,fēi";
	dict[26001] = "bān";
	dict[26002] = "bān";
	dict[26003] = "lán";
	dict[26004] = "yǔ,zhōng";
	dict[26005] = "lán";
	dict[26006] = "wěi,mén";
	dict[26007] = "dǒu,dòu";
	dict[26008] = "shēng";
	dict[26009] = "liào";
	dict[26010] = "jiǎ";
	dict[26011] = "hú";
	dict[26012] = "xié";
	dict[26013] = "jiǎ";
	dict[26014] = "yǔ";
	dict[26015] = "zhēn";
	dict[26016] = "jiào";
	dict[26017] = "wò,guǎn";
	dict[26018] = "tǒu,tiǎo";
	dict[26019] = "dòu";
	dict[26020] = "jīn";
	dict[26021] = "chì";
	dict[26022] = "yín,zhì";
	dict[26023] = "fǔ";
	dict[26024] = "qiāng";
	dict[26025] = "zhǎn";
	dict[26026] = "qú";
	dict[26027] = "zhuó";
	dict[26028] = "zhǎn";
	dict[26029] = "duàn";
	dict[26030] = "zhuó";
	dict[26031] = "sī";
	dict[26032] = "xīn";
	dict[26033] = "zhuó";
	dict[26034] = "zhuó";
	dict[26035] = "qín";
	dict[26036] = "lín";
	dict[26037] = "zhuó";
	dict[26038] = "chù";
	dict[26039] = "duàn";
	dict[26040] = "zhú";
	dict[26041] = "fāng";
	dict[26042] = "chǎn,jiè";
	dict[26043] = "háng";
	dict[26044] = "yú,wū";
	dict[26045] = "shī";
	dict[26046] = "pèi";
	dict[26047] = "liú,yóu";
	dict[26048] = "mèi";
	dict[26049] = "páng,bàng";
	dict[26050] = "qí";
	dict[26051] = "zhān";
	dict[26052] = "máo,mào";
	dict[26053] = "lǚ";
	dict[26054] = "pèi";
	dict[26055] = "pī,bì";
	dict[26056] = "liú";
	dict[26057] = "fū";
	dict[26058] = "fǎng";
	dict[26059] = "xuán,xuàn";
	dict[26060] = "jīng";
	dict[26061] = "jīng";
	dict[26062] = "nǐ";
	dict[26063] = "zú";
	dict[26064] = "zhào";
	dict[26065] = "yǐ";
	dict[26066] = "liú";
	dict[26067] = "shāo";
	dict[26068] = "jiàn";
	dict[26070] = "yǐ";
	dict[26071] = "qí";
	dict[26072] = "zhì";
	dict[26073] = "fān";
	dict[26074] = "piāo";
	dict[26075] = "fān";
	dict[26076] = "zhān";
	dict[26077] = "kuài";
	dict[26078] = "suì";
	dict[26079] = "yú";
	dict[26080] = "wú";
	dict[26081] = "jì";
	dict[26082] = "jì";
	dict[26083] = "jì";
	dict[26084] = "huò";
	dict[26085] = "rì";
	dict[26086] = "dàn";
	dict[26087] = "jiù";
	dict[26088] = "zhǐ";
	dict[26089] = "zǎo";
	dict[26090] = "xié";
	dict[26091] = "tiāo";
	dict[26092] = "xún";
	dict[26093] = "xù";
	dict[26094] = "gā";
	dict[26095] = "lá";
	dict[26096] = "gàn,hàn";
	dict[26097] = "hàn";
	dict[26098] = "tái,yīng";
	dict[26099] = "dì,dí,de";
	dict[26100] = "xù,xū";
	dict[26101] = "chǎn";
	dict[26102] = "shí";
	dict[26103] = "kuàng";
	dict[26104] = "yáng";
	dict[26105] = "shí";
	dict[26106] = "wàng";
	dict[26107] = "mín";
	dict[26108] = "mín";
	dict[26109] = "tūn,zhùn";
	dict[26110] = "chūn";
	dict[26111] = "wù,wǔ";
	dict[26112] = "yún";
	dict[26113] = "bèi";
	dict[26114] = "áng";
	dict[26115] = "zè";
	dict[26116] = "bǎn";
	dict[26117] = "jié";
	dict[26118] = "kūn";
	dict[26119] = "shēng";
	dict[26120] = "hù";
	dict[26121] = "fǎng";
	dict[26122] = "hào";
	dict[26123] = "guì";
	dict[26124] = "chāng";
	dict[26125] = "xuān";
	dict[26126] = "míng";
	dict[26127] = "hūn";
	dict[26128] = "fēn";
	dict[26129] = "qǐn";
	dict[26130] = "hū";
	dict[26131] = "yì";
	dict[26132] = "xī";
	dict[26133] = "xīn";
	dict[26134] = "yán";
	dict[26135] = "zè";
	dict[26136] = "fǎng";
	dict[26137] = "tán";
	dict[26138] = "shèn";
	dict[26139] = "jù";
	dict[26140] = "yáng";
	dict[26141] = "zǎn";
	dict[26142] = "bǐng";
	dict[26143] = "xīng";
	dict[26144] = "yìng";
	dict[26145] = "xuàn";
	dict[26146] = "pò";
	dict[26147] = "zhěn";
	dict[26148] = "líng";
	dict[26149] = "chūn";
	dict[26150] = "hào";
	dict[26151] = "mèi";
	dict[26152] = "zuó";
	dict[26153] = "mò";
	dict[26154] = "biàn";
	dict[26155] = "xù";
	dict[26156] = "hūn";
	dict[26157] = "zhāo";
	dict[26158] = "zòng";
	dict[26159] = "shì";
	dict[26160] = "shì";
	dict[26161] = "yù";
	dict[26162] = "fèi";
	dict[26163] = "dié,yì";
	dict[26164] = "mǎo";
	dict[26165] = "nì";
	dict[26166] = "chǎng";
	dict[26167] = "wēn";
	dict[26168] = "dōng";
	dict[26169] = "ǎi";
	dict[26170] = "bǐng";
	dict[26171] = "áng";
	dict[26172] = "zhòu";
	dict[26173] = "lóng";
	dict[26174] = "xiǎn";
	dict[26175] = "kuàng";
	dict[26176] = "tiǎo";
	dict[26177] = "cháo";
	dict[26178] = "shí";
	dict[26179] = "huǎng,huàng";
	dict[26180] = "huǎng";
	dict[26181] = "xuān";
	dict[26182] = "kuí";
	dict[26183] = "xù,kuā";
	dict[26184] = "jiǎo";
	dict[26185] = "jìn";
	dict[26186] = "zhì";
	dict[26187] = "jìn";
	dict[26188] = "shǎng";
	dict[26189] = "tóng";
	dict[26190] = "hǒng";
	dict[26191] = "yàn";
	dict[26192] = "gāi";
	dict[26193] = "xiǎng";
	dict[26194] = "shài";
	dict[26195] = "xiǎo";
	dict[26196] = "yè";
	dict[26197] = "yùn,yūn";
	dict[26198] = "huī";
	dict[26199] = "hán";
	dict[26200] = "hàn";
	dict[26201] = "jùn";
	dict[26202] = "wǎn";
	dict[26203] = "xiàn";
	dict[26204] = "kūn";
	dict[26205] = "zhòu";
	dict[26206] = "xī";
	dict[26207] = "shèng,chéng";
	dict[26208] = "shèng";
	dict[26209] = "bū";
	dict[26210] = "zhé";
	dict[26211] = "zhé";
	dict[26212] = "wù";
	dict[26213] = "wǎn";
	dict[26214] = "huì";
	dict[26215] = "hào";
	dict[26216] = "chén";
	dict[26217] = "wǎn";
	dict[26218] = "tiǎn";
	dict[26219] = "zhuó";
	dict[26220] = "zuì";
	dict[26221] = "zhǒu";
	dict[26222] = "pǔ";
	dict[26223] = "jǐng,yǐng";
	dict[26224] = "xī";
	dict[26225] = "shǎn";
	dict[26226] = "nǐ";
	dict[26227] = "xī";
	dict[26228] = "qíng";
	dict[26229] = "qǐ,dù";
	dict[26230] = "jīng";
	dict[26231] = "guǐ";
	dict[26232] = "zhěng";
	dict[26233] = "yì";
	dict[26234] = "zhì";
	dict[26235] = "àn,ǎn,yǎn";
	dict[26236] = "wǎn";
	dict[26237] = "lín";
	dict[26238] = "liàng";
	dict[26239] = "chēng";
	dict[26240] = "wǎng,wàng";
	dict[26241] = "xiǎo";
	dict[26242] = "zàn";
	dict[26243] = "fēi";
	dict[26244] = "xuān";
	dict[26245] = "xuǎn";
	dict[26246] = "yí";
	dict[26247] = "xiá";
	dict[26248] = "yùn,yūn";
	dict[26249] = "huī";
	dict[26250] = "xǔ";
	dict[26251] = "mǐn,mín";
	dict[26252] = "kuí";
	dict[26253] = "yē";
	dict[26254] = "yìng";
	dict[26255] = "shǔ,dǔ";
	dict[26256] = "wěi";
	dict[26257] = "shǔ";
	dict[26258] = "qíng";
	dict[26259] = "mào";
	dict[26260] = "nán";
	dict[26261] = "jiǎn,lán";
	dict[26262] = "nuǎn";
	dict[26263] = "àn";
	dict[26264] = "yáng";
	dict[26265] = "chūn";
	dict[26266] = "yáo";
	dict[26267] = "suǒ";
	dict[26268] = "pǔ";
	dict[26269] = "míng";
	dict[26270] = "jiǎo";
	dict[26271] = "kǎi";
	dict[26272] = "hào";
	dict[26273] = "wěng";
	dict[26274] = "chàng";
	dict[26275] = "qì";
	dict[26276] = "hào";
	dict[26277] = "yàn";
	dict[26278] = "lì";
	dict[26279] = "ài";
	dict[26280] = "jì";
	dict[26281] = "jì";
	dict[26282] = "mèn";
	dict[26283] = "zàn";
	dict[26284] = "xiè";
	dict[26285] = "hào";
	dict[26286] = "mù";
	dict[26287] = "mù";
	dict[26288] = "cōng";
	dict[26289] = "nì";
	dict[26290] = "zhāng";
	dict[26291] = "huì";
	dict[26292] = "bào,pù";
	dict[26293] = "hàn";
	dict[26294] = "xuán";
	dict[26295] = "chuán";
	dict[26296] = "liáo";
	dict[26297] = "xiān";
	dict[26298] = "tǎn";
	dict[26299] = "jǐng";
	dict[26300] = "piē";
	dict[26301] = "lín";
	dict[26302] = "tūn";
	dict[26303] = "xī,xǐ";
	dict[26304] = "yì";
	dict[26305] = "jì";
	dict[26306] = "huàng";
	dict[26307] = "dài";
	dict[26308] = "yè";
	dict[26309] = "yè";
	dict[26310] = "lì";
	dict[26311] = "tán";
	dict[26312] = "tóng";
	dict[26313] = "xiǎo";
	dict[26314] = "fèi";
	dict[26315] = "shěn";
	dict[26316] = "zhào";
	dict[26317] = "hào";
	dict[26318] = "yì";
	dict[26319] = "xiàng";
	dict[26320] = "xīng";
	dict[26321] = "shēn";
	dict[26322] = "jiǎo";
	dict[26323] = "bào";
	dict[26324] = "jìng";
	dict[26325] = "yàn";
	dict[26326] = "ài";
	dict[26327] = "yè";
	dict[26328] = "rú";
	dict[26329] = "shǔ";
	dict[26330] = "méng";
	dict[26331] = "xūn";
	dict[26332] = "yào";
	dict[26333] = "pù,bào";
	dict[26334] = "lì";
	dict[26335] = "chén";
	dict[26336] = "kuàng";
	dict[26337] = "dié";
	dict[26338] = "liǎo";
	dict[26339] = "yàn";
	dict[26340] = "huò";
	dict[26341] = "lú";
	dict[26342] = "xī";
	dict[26343] = "róng";
	dict[26344] = "lóng";
	dict[26345] = "nǎng";
	dict[26346] = "luǒ";
	dict[26347] = "luán";
	dict[26348] = "shài";
	dict[26349] = "tǎng";
	dict[26350] = "yǎn";
	dict[26351] = "zhú";
	dict[26352] = "yuē";
	dict[26353] = "yuē";
	dict[26354] = "qū,qǔ";
	dict[26355] = "yè";
	dict[26356] = "gēng,gèng";
	dict[26357] = "yè";
	dict[26358] = "hū,hù";
	dict[26359] = "hé";
	dict[26360] = "shū";
	dict[26361] = "cáo";
	dict[26362] = "cáo";
	dict[26363] = "shēng";
	dict[26364] = "màn";
	dict[26365] = "zēng,céng";
	dict[26366] = "zēng,céng";
	dict[26367] = "tì";
	dict[26368] = "zuì";
	dict[26369] = "cǎn,qián,jiàn";
	dict[26370] = "xù";
	dict[26371] = "huì,kuài";
	dict[26372] = "yǐn";
	dict[26373] = "qiè,hé";
	dict[26374] = "fēn";
	dict[26375] = "bì,pí";
	dict[26376] = "yuè";
	dict[26377] = "yǒu,yòu";
	dict[26378] = "ruǎn";
	dict[26379] = "péng";
	dict[26380] = "fén,bān";
	dict[26381] = "fú,fù";
	dict[26382] = "líng";
	dict[26383] = "fěi,kū";
	dict[26384] = "qú,xù,chǔn";
	dict[26385] = "tì";
	dict[26386] = "nǜ,gǎ";
	dict[26387] = "tiǎo";
	dict[26388] = "shuò";
	dict[26389] = "zhèn";
	dict[26390] = "lǎng";
	dict[26391] = "lǎng";
	dict[26392] = "juān,zuī";
	dict[26393] = "míng";
	dict[26394] = "huāng,máng,wáng";
	dict[26395] = "wàng";
	dict[26396] = "tūn";
	dict[26397] = "zhāo,cháo";
	dict[26398] = "jī";
	dict[26399] = "qī,jī";
	dict[26400] = "yīng";
	dict[26401] = "zōng";
	dict[26402] = "wàng";
	dict[26403] = "tóng,chuáng";
	dict[26404] = "lǎng";
	dict[26405] = "láo";
	dict[26406] = "méng";
	dict[26407] = "lóng";
	dict[26408] = "mù";
	dict[26410] = "wèi";
	dict[26411] = "mò";
	dict[26412] = "běn";
	dict[26413] = "zhá";
	dict[26414] = "shù,shú,zhú";
	dict[26415] = "shù,shú,zhú";
	dict[26417] = "zhū,shú";
	dict[26418] = "rén";
	dict[26419] = "bā";
	dict[26420] = "pǔ,pò,pō,piáo";
	dict[26421] = "duǒ";
	dict[26422] = "duǒ";
	dict[26423] = "dāo,tiáo,mù";
	dict[26424] = "lì";
	dict[26425] = "qiú,guǐ";
	dict[26426] = "jī";
	dict[26427] = "jiū";
	dict[26428] = "bǐ";
	dict[26429] = "xiǔ";
	dict[26430] = "chéng,chēng";
	dict[26431] = "cì";
	dict[26432] = "shā";
	dict[26433] = "rù";
	dict[26434] = "zá";
	dict[26435] = "quán";
	dict[26436] = "qiān";
	dict[26437] = "yú,wū";
	dict[26438] = "gān,gǎn";
	dict[26439] = "wū";
	dict[26440] = "chā,chà";
	dict[26441] = "shān,shā";
	dict[26442] = "xún";
	dict[26443] = "fán";
	dict[26444] = "wù";
	dict[26445] = "zǐ";
	dict[26446] = "lǐ";
	dict[26447] = "xìng";
	dict[26448] = "cái";
	dict[26449] = "cūn";
	dict[26450] = "rèn,ér";
	dict[26451] = "sháo,biāo";
	dict[26452] = "tuō,zhé";
	dict[26453] = "dì,duò";
	dict[26454] = "zhàng";
	dict[26455] = "máng";
	dict[26456] = "chì";
	dict[26457] = "yì";
	dict[26458] = "gū,gài";
	dict[26459] = "gōng";
	dict[26460] = "dù";
	dict[26461] = "yí,lì,lí,duò,tuò";
	dict[26462] = "qǐ";
	dict[26463] = "shù";
	dict[26464] = "gàng,gāng";
	dict[26465] = "tiáo,tiāo";
	dict[26466] = "jié";
	dict[26467] = "mián";
	dict[26468] = "wàn";
	dict[26469] = "lái";
	dict[26470] = "jiǔ";
	dict[26471] = "máng";
	dict[26472] = "yáng";
	dict[26473] = "mà,mǎ";
	dict[26474] = "miǎo";
	dict[26475] = "sì,zhǐ,xǐ";
	dict[26476] = "yuán,wán";
	dict[26477] = "háng";
	dict[26478] = "fèi,bèi";
	dict[26479] = "bēi";
	dict[26480] = "jié";
	dict[26481] = "dōng";
	dict[26482] = "gǎo";
	dict[26483] = "yǎo";
	dict[26484] = "xiān";
	dict[26485] = "chǔ";
	dict[26486] = "chūn";
	dict[26487] = "pá";
	dict[26488] = "shū,duì";
	dict[26489] = "huà";
	dict[26490] = "xīn";
	dict[26491] = "niǔ,chǒu";
	dict[26492] = "zhù";
	dict[26493] = "chǒu";
	dict[26494] = "sōng";
	dict[26495] = "bǎn";
	dict[26496] = "sōng";
	dict[26497] = "jí";
	dict[26498] = "wò,yuè";
	dict[26499] = "jìn";
	dict[26500] = "gòu";
	dict[26501] = "jī";
	dict[26502] = "máo";
	dict[26503] = "pí";
	dict[26504] = "pī,mì";
	dict[26505] = "wǎng";
	dict[26506] = "àng";
	dict[26507] = "fāng,bìng";
	dict[26508] = "fén";
	dict[26509] = "yì";
	dict[26510] = "fú,fū";
	dict[26511] = "nán";
	dict[26512] = "xī";
	dict[26513] = "hù,dǐ";
	dict[26514] = "yā";
	dict[26515] = "dōu";
	dict[26516] = "xín";
	dict[26517] = "zhěn";
	dict[26518] = "yǎo,yāo";
	dict[26519] = "lín";
	dict[26520] = "ruì";
	dict[26521] = "ě,è";
	dict[26522] = "méi";
	dict[26523] = "zhào";
	dict[26524] = "guǒ";
	dict[26525] = "zhī,qí";
	dict[26526] = "cōng,zōng";
	dict[26527] = "yùn";
	dict[26528] = "huà";
	dict[26529] = "shēng";
	dict[26530] = "shū";
	dict[26531] = "zǎo";
	dict[26532] = "dì,duò";
	dict[26533] = "lì";
	dict[26534] = "lú";
	dict[26535] = "jiǎn";
	dict[26536] = "chéng";
	dict[26537] = "sōng";
	dict[26538] = "qiāng";
	dict[26539] = "fēng";
	dict[26540] = "zhān";
	dict[26541] = "xiāo";
	dict[26542] = "xiān,zhēn";
	dict[26543] = "kū";
	dict[26544] = "píng";
	dict[26545] = "sì,tái";
	dict[26546] = "xǐ";
	dict[26547] = "zhǐ";
	dict[26548] = "guǎi";
	dict[26549] = "xiāo";
	dict[26550] = "jià";
	dict[26551] = "jiā";
	dict[26552] = "jǔ,gǒu";
	dict[26553] = "bāo,fú";
	dict[26554] = "mò";
	dict[26555] = "yì,xiè";
	dict[26556] = "yè";
	dict[26557] = "yè";
	dict[26558] = "shì";
	dict[26559] = "niè";
	dict[26560] = "bǐ";
	dict[26561] = "tuó,duò";
	dict[26562] = "yí,duò,lí";
	dict[26563] = "líng";
	dict[26564] = "bǐng";
	dict[26565] = "nǐ,chì";
	dict[26566] = "lā";
	dict[26567] = "hé";
	dict[26568] = "pán,bàn";
	dict[26569] = "fán";
	dict[26570] = "zhōng";
	dict[26571] = "dài";
	dict[26572] = "cí";
	dict[26573] = "yǎng,yàng,yāng,yīng";
	dict[26574] = "fū,fǔ,fù";
	dict[26575] = "bǎi,bó,bò";
	dict[26576] = "mǒu";
	dict[26577] = "gān";
	dict[26578] = "qī";
	dict[26579] = "rǎn";
	dict[26580] = "róu";
	dict[26581] = "mào";
	dict[26582] = "sháo,shào";
	dict[26583] = "sōng";
	dict[26584] = "zhè";
	dict[26585] = "xiá";
	dict[26586] = "yòu,yóu";
	dict[26587] = "shēn";
	dict[26588] = "guì,jǔ";
	dict[26589] = "tuò";
	dict[26590] = "zuò,zhà";
	dict[26591] = "nán";
	dict[26592] = "níng";
	dict[26593] = "yǒng";
	dict[26594] = "dǐ,chí";
	dict[26595] = "zhì,dié";
	dict[26596] = "zhā,zǔ,zū";
	dict[26597] = "chá,zhā";
	dict[26598] = "dàn";
	dict[26599] = "gū";
	dict[26600] = "bù,pū";
	dict[26601] = "jiù";
	dict[26602] = "āo,ào";
	dict[26603] = "fú";
	dict[26604] = "jiǎn";
	dict[26605] = "bā,fú,pèi,bó,biē";
	dict[26606] = "duò,zuó,wù";
	dict[26607] = "kē";
	dict[26608] = "nài";
	dict[26609] = "zhù";
	dict[26610] = "bì,bié";
	dict[26611] = "liǔ";
	dict[26612] = "chái";
	dict[26613] = "shān";
	dict[26614] = "sì";
	dict[26615] = "zhù";
	dict[26616] = "bēi,pēi";
	dict[26617] = "shì,fèi";
	dict[26618] = "guǎi";
	dict[26619] = "chá,zhā";
	dict[26620] = "yǎo";
	dict[26621] = "chēng";
	dict[26622] = "jiù";
	dict[26623] = "shì";
	dict[26624] = "zhī";
	dict[26625] = "liǔ";
	dict[26626] = "méi";
	dict[26627] = "lì";
	dict[26628] = "róng";
	dict[26629] = "zhà,shān,shi,cè";
	dict[26630] = "zǎo";
	dict[26631] = "biāo";
	dict[26632] = "zhàn";
	dict[26633] = "zhì";
	dict[26634] = "lóng";
	dict[26635] = "dòng";
	dict[26636] = "lú";
	dict[26638] = "lì,yuè";
	dict[26639] = "lán";
	dict[26640] = "yǒng";
	dict[26641] = "shù";
	dict[26642] = "xún";
	dict[26643] = "shuān";
	dict[26644] = "qì,qiè";
	dict[26645] = "chén";
	dict[26646] = "qī,xī";
	dict[26647] = "lì";
	dict[26648] = "yí";
	dict[26649] = "xiáng";
	dict[26650] = "zhèn";
	dict[26651] = "lì";
	dict[26652] = "sè";
	dict[26653] = "guā,tiǎn";
	dict[26654] = "kān";
	dict[26655] = "bēn,bīng";
	dict[26656] = "rěn";
	dict[26657] = "xiào,jiào";
	dict[26658] = "bǎi";
	dict[26659] = "rěn";
	dict[26660] = "bìng";
	dict[26661] = "zī";
	dict[26662] = "chóu";
	dict[26663] = "yì,xiè";
	dict[26664] = "cì";
	dict[26665] = "xǔ";
	dict[26666] = "zhū";
	dict[26667] = "jiàn,zùn";
	dict[26668] = "zuì";
	dict[26669] = "ér";
	dict[26670] = "ěr";
	dict[26671] = "yǒu,yù";
	dict[26672] = "fá";
	dict[26673] = "gǒng";
	dict[26674] = "kǎo";
	dict[26675] = "lǎo";
	dict[26676] = "zhān";
	dict[26677] = "liè";
	dict[26678] = "yīn";
	dict[26679] = "yàng";
	dict[26680] = "hé,hú";
	dict[26681] = "gēn";
	dict[26682] = "zhī,yì";
	dict[26683] = "shì";
	dict[26684] = "gé";
	dict[26685] = "zāi";
	dict[26686] = "luán";
	dict[26687] = "fú";
	dict[26688] = "jié";
	dict[26689] = "héng,háng";
	dict[26690] = "guì";
	dict[26691] = "táo";
	dict[26692] = "guāng,guàng";
	dict[26693] = "wéi";
	dict[26694] = "kuàng";
	dict[26695] = "rú";
	dict[26696] = "àn";
	dict[26697] = "ān";
	dict[26698] = "juàn";
	dict[26699] = "yí,tí";
	dict[26700] = "zhuō";
	dict[26701] = "kū";
	dict[26702] = "zhì";
	dict[26703] = "qióng";
	dict[26704] = "tóng";
	dict[26705] = "sāng";
	dict[26706] = "sāng";
	dict[26707] = "huán";
	dict[26708] = "jú,jié";
	dict[26709] = "jiù";
	dict[26710] = "xuè";
	dict[26711] = "duò";
	dict[26712] = "chuí";
	dict[26713] = "yú,móu";
	dict[26714] = "zā,zǎn";
	dict[26716] = "yīng";
	dict[26717] = "jié";
	dict[26718] = "liǔ";
	dict[26719] = "zhàn";
	dict[26720] = "yā";
	dict[26721] = "ráo,náo";
	dict[26722] = "zhēn";
	dict[26723] = "dàng";
	dict[26724] = "qī";
	dict[26725] = "qiáo";
	dict[26726] = "huà";
	dict[26727] = "guì,huì";
	dict[26728] = "jiǎng";
	dict[26729] = "zhuāng";
	dict[26730] = "xún";
	dict[26731] = "suō";
	dict[26732] = "shā";
	dict[26733] = "chén,zhèn";
	dict[26734] = "bēi";
	dict[26735] = "tīng,yíng";
	dict[26736] = "guā";
	dict[26737] = "jìng";
	dict[26738] = "bó";
	dict[26739] = "bèn,fàn";
	dict[26740] = "fú";
	dict[26741] = "ruí";
	dict[26742] = "tǒng";
	dict[26743] = "jué";
	dict[26744] = "xī";
	dict[26745] = "láng";
	dict[26746] = "liǔ";
	dict[26747] = "fēng,fèng";
	dict[26748] = "qī";
	dict[26749] = "wěn";
	dict[26750] = "jūn";
	dict[26751] = "gǎn";
	dict[26752] = "sù,yìn";
	dict[26753] = "liáng";
	dict[26754] = "qiú";
	dict[26755] = "tǐng,tìng";
	dict[26756] = "yǒu";
	dict[26757] = "méi";
	dict[26758] = "bāng";
	dict[26759] = "lòng";
	dict[26760] = "pēng";
	dict[26761] = "zhuāng";
	dict[26762] = "dì";
	dict[26763] = "xuān,juān,xié";
	dict[26764] = "tú,chá";
	dict[26765] = "zào";
	dict[26766] = "āo,yòu";
	dict[26767] = "gù";
	dict[26768] = "bì";
	dict[26769] = "dí";
	dict[26770] = "hán";
	dict[26771] = "zǐ";
	dict[26772] = "zhī";
	dict[26773] = "rèn,ér";
	dict[26774] = "bèi";
	dict[26775] = "gěng";
	dict[26776] = "jiǎn";
	dict[26777] = "huàn";
	dict[26778] = "wǎn";
	dict[26779] = "nuó";
	dict[26780] = "jiā";
	dict[26781] = "tiáo,tiāo";
	dict[26782] = "jì";
	dict[26783] = "xiāo";
	dict[26784] = "lǚ";
	dict[26785] = "kuǎn";
	dict[26786] = "shāo,sào";
	dict[26787] = "chén";
	dict[26788] = "fēn";
	dict[26789] = "sōng";
	dict[26790] = "mèng";
	dict[26791] = "wú";
	dict[26792] = "lí";
	dict[26793] = "sì,qǐ";
	dict[26794] = "dòu";
	dict[26795] = "qǐn";
	dict[26796] = "yǐng";
	dict[26797] = "suō";
	dict[26798] = "jū";
	dict[26799] = "tī";
	dict[26800] = "xiè";
	dict[26801] = "kǔn";
	dict[26802] = "zhuō";
	dict[26803] = "shū";
	dict[26804] = "chān,yán";
	dict[26805] = "fàn";
	dict[26806] = "wěi";
	dict[26807] = "jìng";
	dict[26808] = "lí";
	dict[26809] = "bīn,bīng";
	dict[26810] = "xià";
	dict[26811] = "fó";
	dict[26812] = "chóu,táo,dào";
	dict[26813] = "zhì";
	dict[26814] = "lái";
	dict[26815] = "lián,liǎn";
	dict[26816] = "jiǎn";
	dict[26817] = "zhuō";
	dict[26818] = "líng";
	dict[26819] = "lí";
	dict[26820] = "qì";
	dict[26821] = "bǐng";
	dict[26822] = "lún";
	dict[26823] = "cōng,sōng";
	dict[26824] = "qiàn";
	dict[26825] = "mián";
	dict[26826] = "qí";
	dict[26827] = "qí";
	dict[26828] = "cǎi";
	dict[26829] = "gùn,hùn";
	dict[26830] = "chán";
	dict[26831] = "dé,zhé";
	dict[26832] = "fěi";
	dict[26833] = "pái,bèi,pèi";
	dict[26834] = "bàng";
	dict[26835] = "bàng,pǒu,bèi,bēi";
	dict[26836] = "hūn";
	dict[26837] = "zōng";
	dict[26838] = "chéng";
	dict[26839] = "zǎo";
	dict[26840] = "jí";
	dict[26841] = "lì,liè";
	dict[26842] = "péng";
	dict[26843] = "yù";
	dict[26844] = "yù";
	dict[26845] = "gù";
	dict[26846] = "jùn";
	dict[26847] = "dòng";
	dict[26848] = "táng";
	dict[26849] = "gāng";
	dict[26850] = "wǎng";
	dict[26851] = "dì,dài,tì";
	dict[26852] = "què";
	dict[26853] = "fán";
	dict[26854] = "chēng";
	dict[26855] = "zhàn";
	dict[26856] = "qǐ";
	dict[26857] = "yuān";
	dict[26858] = "yǎn,yàn";
	dict[26859] = "yù";
	dict[26860] = "quān,juàn";
	dict[26861] = "yì";
	dict[26862] = "sēn";
	dict[26863] = "rěn,shěn";
	dict[26864] = "chuí";
	dict[26865] = "léng,lēng,líng";
	dict[26866] = "qī";
	dict[26867] = "zhuō";
	dict[26868] = "fú,sù";
	dict[26869] = "kē";
	dict[26870] = "lái";
	dict[26871] = "zōu,sǒu";
	dict[26872] = "zōu";
	dict[26873] = "zhào,zhuō";
	dict[26874] = "guān";
	dict[26875] = "fēn";
	dict[26876] = "fén";
	dict[26877] = "chēn,shēn";
	dict[26878] = "qíng";
	dict[26879] = "ní,nǐ";
	dict[26880] = "wǎn";
	dict[26881] = "guǒ";
	dict[26882] = "lù";
	dict[26883] = "háo";
	dict[26884] = "jiē,qiè";
	dict[26885] = "yǐ,yī";
	dict[26886] = "chóu,zhòu,diāo";
	dict[26887] = "jǔ";
	dict[26888] = "jú";
	dict[26889] = "chéng,shèng";
	dict[26890] = "zú,cuì";
	dict[26891] = "liáng";
	dict[26892] = "qiāng,kōng";
	dict[26893] = "zhí";
	dict[26894] = "zhuī,chuí";
	dict[26895] = "yā";
	dict[26896] = "jū";
	dict[26897] = "bēi";
	dict[26898] = "jiāo";
	dict[26899] = "zhuó";
	dict[26900] = "zī";
	dict[26901] = "bīn";
	dict[26902] = "péng";
	dict[26903] = "dìng";
	dict[26904] = "chǔ";
	dict[26905] = "chāng";
	dict[26906] = "mēn";
	dict[26907] = "huā";
	dict[26908] = "jiǎn";
	dict[26909] = "guī";
	dict[26910] = "xì";
	dict[26911] = "dú";
	dict[26912] = "qiàn";
	dict[26913] = "dào";
	dict[26914] = "guì";
	dict[26915] = "diǎn";
	dict[26916] = "luó";
	dict[26917] = "zhī";
	dict[26918] = "quān,juàn,quán";
	dict[26920] = "fǔ";
	dict[26921] = "gēng";
	dict[26922] = "pèng";
	dict[26923] = "shàn";
	dict[26924] = "yí";
	dict[26925] = "tuǒ";
	dict[26926] = "sēn";
	dict[26927] = "duǒ,chuán";
	dict[26928] = "yē";
	dict[26929] = "fù";
	dict[26930] = "wěi,huī";
	dict[26931] = "wēi";
	dict[26932] = "duàn";
	dict[26933] = "jiǎ,jiā";
	dict[26934] = "zōng";
	dict[26935] = "jiān,hán";
	dict[26936] = "yí";
	dict[26937] = "zhēn,shèn";
	dict[26938] = "xí";
	dict[26939] = "yàn,yà";
	dict[26940] = "yǎn";
	dict[26941] = "chuán";
	dict[26942] = "jiān";
	dict[26943] = "chūn";
	dict[26944] = "yǔ";
	dict[26945] = "hé";
	dict[26946] = "zhā,chá";
	dict[26947] = "wò";
	dict[26948] = "piān";
	dict[26949] = "bī";
	dict[26950] = "yāo";
	dict[26951] = "guō,kuǎ";
	dict[26952] = "xū";
	dict[26953] = "ruò";
	dict[26954] = "yáng";
	dict[26955] = "là";
	dict[26956] = "yán";
	dict[26957] = "běn";
	dict[26958] = "huī";
	dict[26959] = "kuí";
	dict[26960] = "jiè";
	dict[26961] = "kuí";
	dict[26962] = "sī";
	dict[26963] = "fēng";
	dict[26964] = "xiē";
	dict[26965] = "tuǒ";
	dict[26966] = "jí,zhì";
	dict[26967] = "jiàn";
	dict[26968] = "mù";
	dict[26969] = "máo";
	dict[26970] = "chǔ";
	dict[26971] = "kǔ,hù";
	dict[26972] = "hú";
	dict[26973] = "liàn";
	dict[26974] = "léng";
	dict[26975] = "tíng";
	dict[26976] = "nán";
	dict[26977] = "yú";
	dict[26978] = "yóu,yǒu";
	dict[26979] = "méi";
	dict[26980] = "sǒng,cōng";
	dict[26981] = "xuàn,yuán";
	dict[26982] = "xuàn";
	dict[26983] = "yǎng,yàng,yīng";
	dict[26984] = "zhēn";
	dict[26985] = "pián";
	dict[26986] = "dié,yè";
	dict[26987] = "jí";
	dict[26988] = "jiē";
	dict[26989] = "yè";
	dict[26990] = "chǔ";
	dict[26991] = "shǔn,dùn";
	dict[26992] = "yú";
	dict[26993] = "còu,zòu";
	dict[26994] = "wēi";
	dict[26995] = "méi";
	dict[26996] = "dì,dǐ,shì";
	dict[26997] = "jí";
	dict[26998] = "jié";
	dict[26999] = "kǎi,jiē";
	dict[27e3] = "qiū";
	dict[27001] = "yíng";
	dict[27002] = "róu,ròu";
	dict[27003] = "huáng";
	dict[27004] = "lóu";
	dict[27005] = "lè,yuè";
	dict[27006] = "quán";
	dict[27007] = "xiāng";
	dict[27008] = "pǐn";
	dict[27009] = "shǐ";
	dict[27010] = "gài";
	dict[27011] = "tán";
	dict[27012] = "lǎn";
	dict[27013] = "wēn,yùn";
	dict[27014] = "yú";
	dict[27015] = "chèn";
	dict[27016] = "lǘ";
	dict[27017] = "jǔ";
	dict[27018] = "shén";
	dict[27019] = "chū";
	dict[27020] = "bī,pi";
	dict[27021] = "xiè";
	dict[27022] = "jiǎ";
	dict[27023] = "yì";
	dict[27024] = "zhǎn,niǎn,zhèn";
	dict[27025] = "fú,fù,bó";
	dict[27026] = "nuò";
	dict[27027] = "mì";
	dict[27028] = "láng";
	dict[27029] = "róng";
	dict[27030] = "gǔ";
	dict[27031] = "jiàn,jìn";
	dict[27032] = "jǔ";
	dict[27033] = "tā";
	dict[27034] = "yǎo";
	dict[27035] = "zhēn";
	dict[27036] = "bǎng,bàng";
	dict[27037] = "shā,xiè";
	dict[27038] = "yuán";
	dict[27039] = "zǐ";
	dict[27040] = "míng";
	dict[27041] = "sù";
	dict[27042] = "jià";
	dict[27043] = "yáo";
	dict[27044] = "jié";
	dict[27045] = "huàng";
	dict[27046] = "gàn";
	dict[27047] = "fěi";
	dict[27048] = "zhà";
	dict[27049] = "qián";
	dict[27050] = "mà,mā";
	dict[27051] = "sǔn";
	dict[27052] = "yuán";
	dict[27053] = "xiè";
	dict[27054] = "róng";
	dict[27055] = "shí";
	dict[27056] = "zhī";
	dict[27057] = "cuī";
	dict[27058] = "wēn";
	dict[27059] = "tíng";
	dict[27060] = "liú";
	dict[27061] = "róng";
	dict[27062] = "táng";
	dict[27063] = "què";
	dict[27064] = "zhāi";
	dict[27065] = "sì";
	dict[27066] = "shèng";
	dict[27067] = "tà";
	dict[27068] = "kē";
	dict[27069] = "xī";
	dict[27070] = "gù";
	dict[27071] = "qī";
	dict[27072] = "gǎo";
	dict[27073] = "gǎo";
	dict[27074] = "sūn";
	dict[27075] = "pán";
	dict[27076] = "tāo";
	dict[27077] = "gé";
	dict[27078] = "chūn";
	dict[27079] = "diān";
	dict[27080] = "nòu";
	dict[27081] = "jí";
	dict[27082] = "shuò";
	dict[27083] = "gòu";
	dict[27084] = "chuí";
	dict[27085] = "qiāng";
	dict[27086] = "chá";
	dict[27087] = "qiǎn,lián,xiàn";
	dict[27088] = "huái";
	dict[27089] = "méi";
	dict[27090] = "xù";
	dict[27091] = "gàng";
	dict[27092] = "gāo";
	dict[27093] = "zhuō";
	dict[27094] = "tuó";
	dict[27095] = "qiáo";
	dict[27096] = "yàng";
	dict[27097] = "diān,zhěn,zhēn";
	dict[27098] = "jiǎ";
	dict[27099] = "jiàn,kǎn";
	dict[27100] = "zuì";
	dict[27101] = "dǎo";
	dict[27102] = "lóng";
	dict[27103] = "bīn,bīng";
	dict[27104] = "zhū";
	dict[27105] = "sāng";
	dict[27106] = "xí,dié";
	dict[27107] = "jī,guī";
	dict[27108] = "lián,liǎn";
	dict[27109] = "huì";
	dict[27110] = "róng,yōng";
	dict[27111] = "qiàn";
	dict[27112] = "guǒ";
	dict[27113] = "gài";
	dict[27114] = "gài";
	dict[27115] = "tuán,shuàn,quán";
	dict[27116] = "huà";
	dict[27117] = "qì,sè";
	dict[27118] = "sēn";
	dict[27119] = "cuī,zhǐ";
	dict[27120] = "pèng";
	dict[27121] = "yǒu,chǎo";
	dict[27122] = "hú";
	dict[27123] = "jiǎng";
	dict[27124] = "hù";
	dict[27125] = "huàn";
	dict[27126] = "guì";
	dict[27127] = "niè";
	dict[27128] = "yì";
	dict[27129] = "gāo";
	dict[27130] = "kāng";
	dict[27131] = "guī";
	dict[27132] = "guī";
	dict[27133] = "cáo";
	dict[27134] = "màn,wàn";
	dict[27135] = "jǐn";
	dict[27136] = "dī";
	dict[27137] = "zhuāng";
	dict[27138] = "lè,yuè,yào,lào";
	dict[27139] = "láng";
	dict[27140] = "chén";
	dict[27141] = "cōng,zōng";
	dict[27142] = "lí,chī";
	dict[27143] = "xiū";
	dict[27144] = "qíng";
	dict[27145] = "shǎng";
	dict[27146] = "fán";
	dict[27147] = "tōng";
	dict[27148] = "guàn";
	dict[27149] = "zé";
	dict[27150] = "sù";
	dict[27151] = "léi,lěi";
	dict[27152] = "lǔ";
	dict[27153] = "liáng";
	dict[27154] = "mì";
	dict[27155] = "lóu";
	dict[27156] = "cháo,jiǎo,chāo";
	dict[27157] = "sù";
	dict[27158] = "kē";
	dict[27159] = "chū";
	dict[27160] = "táng";
	dict[27161] = "biāo";
	dict[27162] = "lù";
	dict[27163] = "jiū,liáo";
	dict[27164] = "zhè";
	dict[27165] = "zhā";
	dict[27166] = "shū";
	dict[27167] = "zhāng";
	dict[27168] = "mán";
	dict[27169] = "mó,mú";
	dict[27170] = "niǎo,mù";
	dict[27171] = "yàng";
	dict[27172] = "tiáo";
	dict[27173] = "péng";
	dict[27174] = "zhù";
	dict[27175] = "shā,xiè";
	dict[27176] = "xī";
	dict[27177] = "quán";
	dict[27178] = "héng,hèng";
	dict[27179] = "jiān";
	dict[27180] = "cōng";
	dict[27181] = "jī";
	dict[27182] = "yān";
	dict[27183] = "qiáng";
	dict[27184] = "xuě";
	dict[27185] = "yīng";
	dict[27186] = "èr";
	dict[27187] = "xún";
	dict[27188] = "zhí";
	dict[27189] = "qiáo";
	dict[27190] = "zuī";
	dict[27191] = "cóng";
	dict[27192] = "pǔ";
	dict[27193] = "shù";
	dict[27194] = "huà";
	dict[27195] = "guì";
	dict[27196] = "zhēn";
	dict[27197] = "zūn";
	dict[27198] = "yuè";
	dict[27199] = "shàn";
	dict[27200] = "xī";
	dict[27201] = "chūn";
	dict[27202] = "diàn";
	dict[27203] = "fá,fèi";
	dict[27204] = "gǎn";
	dict[27205] = "mó";
	dict[27206] = "wú";
	dict[27207] = "qiāo";
	dict[27208] = "ráo,náo";
	dict[27209] = "lìn";
	dict[27210] = "liú";
	dict[27211] = "qiáo";
	dict[27212] = "xiàn";
	dict[27213] = "rùn";
	dict[27214] = "fǎn";
	dict[27215] = "zhǎn,jiǎn";
	dict[27216] = "tuó";
	dict[27217] = "liáo";
	dict[27218] = "yún";
	dict[27219] = "shùn";
	dict[27220] = "tuí,dūn";
	dict[27221] = "chēng";
	dict[27222] = "táng,chēng";
	dict[27223] = "méng";
	dict[27224] = "jú";
	dict[27225] = "chéng";
	dict[27226] = "sù,qiū";
	dict[27227] = "jué";
	dict[27228] = "jué";
	dict[27229] = "tán,diàn";
	dict[27230] = "huì";
	dict[27231] = "jī";
	dict[27232] = "nuó";
	dict[27233] = "xiàng";
	dict[27234] = "tuǒ";
	dict[27235] = "níng";
	dict[27236] = "ruǐ";
	dict[27237] = "zhū";
	dict[27238] = "tóng,chuáng";
	dict[27239] = "zēng,céng";
	dict[27240] = "fén,fèn,fèi";
	dict[27241] = "qióng";
	dict[27242] = "rǎn,yān";
	dict[27243] = "héng,hèng";
	dict[27244] = "qián";
	dict[27245] = "gū";
	dict[27246] = "liǔ";
	dict[27247] = "lào";
	dict[27248] = "gāo";
	dict[27249] = "chú";
	dict[27250] = "xǐ";
	dict[27251] = "shèng";
	dict[27252] = "zǐ";
	dict[27253] = "zān";
	dict[27254] = "jǐ";
	dict[27255] = "dōu";
	dict[27256] = "jīng";
	dict[27257] = "lǔ";
	dict[27258] = "xiàn";
	dict[27259] = "cū,chu";
	dict[27260] = "yuán";
	dict[27261] = "tà";
	dict[27262] = "shū,qiāo";
	dict[27263] = "jiāng";
	dict[27264] = "tán";
	dict[27265] = "lǐn";
	dict[27266] = "nóng";
	dict[27267] = "yǐn";
	dict[27268] = "xí";
	dict[27269] = "huì";
	dict[27270] = "shān";
	dict[27271] = "zuì";
	dict[27272] = "xuán";
	dict[27273] = "chēng";
	dict[27274] = "gàn";
	dict[27275] = "jū";
	dict[27276] = "zuì";
	dict[27277] = "yì";
	dict[27278] = "qín";
	dict[27279] = "pǔ";
	dict[27280] = "yán";
	dict[27281] = "léi";
	dict[27282] = "fēng";
	dict[27283] = "huǐ";
	dict[27284] = "dàng";
	dict[27285] = "jì";
	dict[27286] = "suì";
	dict[27287] = "bò";
	dict[27288] = "píng,bò";
	dict[27289] = "chéng";
	dict[27290] = "chǔ";
	dict[27291] = "zhuā";
	dict[27292] = "guì,huì";
	dict[27293] = "jí";
	dict[27294] = "jiě";
	dict[27295] = "jiǎ";
	dict[27296] = "qíng";
	dict[27297] = "zhái,shì,tú";
	dict[27298] = "jiǎn";
	dict[27299] = "qiáng";
	dict[27300] = "dào";
	dict[27301] = "yǐ";
	dict[27302] = "biāo,biǎo";
	dict[27303] = "sōng";
	dict[27304] = "shē";
	dict[27305] = "lǐn";
	dict[27306] = "lì";
	dict[27307] = "chá";
	dict[27308] = "méng";
	dict[27309] = "yín";
	dict[27310] = "chóu,táo,dǎo";
	dict[27311] = "tái";
	dict[27312] = "mián";
	dict[27313] = "qí";
	dict[27314] = "tuán";
	dict[27315] = "bīn,bīng";
	dict[27316] = "huò";
	dict[27317] = "jì";
	dict[27318] = "qiān,lián";
	dict[27319] = "nǐ,mí";
	dict[27320] = "níng";
	dict[27321] = "yī";
	dict[27322] = "gǎo";
	dict[27323] = "jiàn,kǎn";
	dict[27324] = "yǐn";
	dict[27325] = "nòu,ruǎn,rú";
	dict[27326] = "qǐng";
	dict[27327] = "yǎn";
	dict[27328] = "qí";
	dict[27329] = "mì";
	dict[27330] = "zhào";
	dict[27331] = "guì";
	dict[27332] = "chūn";
	dict[27333] = "jī,jì";
	dict[27334] = "kuí";
	dict[27335] = "pó";
	dict[27336] = "dèng";
	dict[27337] = "chú";
	dict[27338] = "gé";
	dict[27339] = "mián";
	dict[27340] = "yōu";
	dict[27341] = "zhì";
	dict[27342] = "huǎng,guǒ,gǔ";
	dict[27343] = "qiān";
	dict[27344] = "lěi";
	dict[27345] = "léi,lěi";
	dict[27346] = "sà";
	dict[27347] = "lǔ";
	dict[27348] = "lì";
	dict[27349] = "cuán";
	dict[27350] = "lǜ,chū";
	dict[27351] = "miè,mèi";
	dict[27352] = "huì";
	dict[27353] = "ōu";
	dict[27354] = "lǘ";
	dict[27355] = "zhì";
	dict[27356] = "gāo";
	dict[27357] = "dú";
	dict[27358] = "yuán";
	dict[27359] = "lì,yuè";
	dict[27360] = "fèi";
	dict[27361] = "zhuó,zhù";
	dict[27362] = "sǒu";
	dict[27363] = "lián,liǎn";
	dict[27364] = "jiàng";
	dict[27365] = "chú";
	dict[27366] = "qìng";
	dict[27367] = "zhū";
	dict[27368] = "lú";
	dict[27369] = "yán";
	dict[27370] = "lì";
	dict[27371] = "zhū";
	dict[27372] = "chèn";
	dict[27373] = "jué,jì";
	dict[27374] = "è";
	dict[27375] = "sū";
	dict[27376] = "huái,guī";
	dict[27377] = "niè";
	dict[27378] = "yù";
	dict[27379] = "lóng";
	dict[27380] = "là,lài";
	dict[27381] = "qiáo";
	dict[27382] = "xiǎn";
	dict[27383] = "guī";
	dict[27384] = "jǔ";
	dict[27385] = "xiāo";
	dict[27386] = "líng";
	dict[27387] = "yīng";
	dict[27388] = "jiān";
	dict[27389] = "yǐn";
	dict[27390] = "yòu,yóu";
	dict[27391] = "yíng";
	dict[27392] = "xiāng";
	dict[27393] = "nóng";
	dict[27394] = "bó";
	dict[27395] = "chán,zhàn";
	dict[27396] = "lán";
	dict[27397] = "jǔ";
	dict[27398] = "shuāng";
	dict[27399] = "shè";
	dict[27400] = "wéi,zuì";
	dict[27401] = "cóng";
	dict[27402] = "quán";
	dict[27403] = "qú";
	dict[27404] = "cáng";
	dict[27405] = "jiù";
	dict[27406] = "yù";
	dict[27407] = "luó";
	dict[27408] = "lì";
	dict[27409] = "cuán";
	dict[27410] = "luán";
	dict[27411] = "dǎng";
	dict[27412] = "qú";
	dict[27413] = "yán";
	dict[27414] = "lǎn";
	dict[27415] = "lán";
	dict[27416] = "zhú";
	dict[27417] = "léi";
	dict[27418] = "lǐ";
	dict[27419] = "bà";
	dict[27420] = "náng";
	dict[27421] = "yù";
	dict[27422] = "líng";
	dict[27423] = "guàn";
	dict[27424] = "qiàn";
	dict[27425] = "cì";
	dict[27426] = "huān";
	dict[27427] = "xīn";
	dict[27428] = "yú";
	dict[27429] = "yù,yì";
	dict[27430] = "qiān,xiān";
	dict[27431] = "ōu";
	dict[27432] = "xū";
	dict[27433] = "chāo";
	dict[27434] = "chù,qù,xì";
	dict[27435] = "qì";
	dict[27436] = "kài,ài";
	dict[27437] = "yì,yīn";
	dict[27438] = "jué";
	dict[27439] = "xì,kài";
	dict[27440] = "xù";
	dict[27441] = "hē";
	dict[27442] = "yù";
	dict[27443] = "kuài";
	dict[27444] = "láng";
	dict[27445] = "kuǎn";
	dict[27446] = "shuò,sòu";
	dict[27447] = "xī";
	dict[27448] = "èi,èi,ěi,èi,ǎi";
	dict[27449] = "qī";
	dict[27450] = "qī";
	dict[27451] = "xū,chuā";
	dict[27452] = "chǐ,chuài";
	dict[27453] = "qīn";
	dict[27454] = "kuǎn";
	dict[27455] = "kǎn,qiàn";
	dict[27456] = "kuǎn";
	dict[27457] = "kǎn,kè";
	dict[27458] = "chuǎn,chuán";
	dict[27459] = "shà";
	dict[27460] = "guā";
	dict[27461] = "yān,yīn";
	dict[27462] = "xīn";
	dict[27463] = "xiē";
	dict[27464] = "yú";
	dict[27465] = "qiàn";
	dict[27466] = "xiāo";
	dict[27467] = "yē";
	dict[27468] = "gē";
	dict[27469] = "wū";
	dict[27470] = "tàn";
	dict[27471] = "jìn,qūn";
	dict[27472] = "ōu";
	dict[27473] = "hū";
	dict[27474] = "tì";
	dict[27475] = "huān";
	dict[27476] = "xū";
	dict[27477] = "pēn";
	dict[27478] = "xǐ";
	dict[27479] = "xiào";
	dict[27480] = "xū";
	dict[27481] = "xī,shè";
	dict[27482] = "shàn";
	dict[27483] = "liǎn,hān";
	dict[27484] = "chù";
	dict[27485] = "yì";
	dict[27486] = "è";
	dict[27487] = "yú";
	dict[27488] = "chuò";
	dict[27489] = "huān";
	dict[27490] = "zhǐ";
	dict[27491] = "zhèng,zhēng";
	dict[27492] = "cǐ";
	dict[27493] = "bù";
	dict[27494] = "wǔ";
	dict[27495] = "qí";
	dict[27496] = "bù";
	dict[27497] = "bù";
	dict[27498] = "wāi";
	dict[27499] = "jù";
	dict[27500] = "qián";
	dict[27501] = "zhì,chí";
	dict[27502] = "sè";
	dict[27503] = "chǐ";
	dict[27504] = "sè,shà";
	dict[27505] = "zhǒng";
	dict[27506] = "suì";
	dict[27507] = "suì";
	dict[27508] = "lì";
	dict[27509] = "zé";
	dict[27510] = "yú";
	dict[27511] = "lì";
	dict[27512] = "guī";
	dict[27513] = "dǎi";
	dict[27514] = "è";
	dict[27515] = "sǐ";
	dict[27516] = "jiān";
	dict[27517] = "zhé";
	dict[27518] = "mò,wěn";
	dict[27519] = "mò";
	dict[27520] = "yāo";
	dict[27521] = "mò";
	dict[27522] = "cú";
	dict[27523] = "yāng";
	dict[27524] = "tiǎn";
	dict[27525] = "shēng";
	dict[27526] = "dài";
	dict[27527] = "shāng";
	dict[27528] = "xù";
	dict[27529] = "xùn";
	dict[27530] = "shū";
	dict[27531] = "cán";
	dict[27532] = "jǐng";
	dict[27533] = "piǎo";
	dict[27534] = "qià";
	dict[27535] = "qiú";
	dict[27536] = "sù";
	dict[27537] = "qíng,jìng";
	dict[27538] = "yǔn";
	dict[27539] = "liàn";
	dict[27540] = "yì";
	dict[27541] = "fǒu,bó";
	dict[27542] = "zhí,shi";
	dict[27543] = "yè,yān,yàn";
	dict[27544] = "cán";
	dict[27545] = "hūn,mèi";
	dict[27546] = "dān";
	dict[27547] = "jí";
	dict[27548] = "dié";
	dict[27549] = "zhēn";
	dict[27550] = "yǔn";
	dict[27551] = "wēn";
	dict[27552] = "chòu";
	dict[27553] = "bìn";
	dict[27554] = "tì";
	dict[27555] = "jìn";
	dict[27556] = "shāng";
	dict[27557] = "yín";
	dict[27558] = "chī";
	dict[27559] = "jiù";
	dict[27560] = "kuì,huì";
	dict[27561] = "cuàn";
	dict[27562] = "yì";
	dict[27563] = "dān";
	dict[27564] = "dù";
	dict[27565] = "jiāng";
	dict[27566] = "liàn";
	dict[27567] = "bìn";
	dict[27568] = "dú";
	dict[27569] = "jiān";
	dict[27570] = "jiān";
	dict[27571] = "shū";
	dict[27572] = "ōu";
	dict[27573] = "duàn";
	dict[27574] = "zhù";
	dict[27575] = "yīn,yān,yǐn";
	dict[27576] = "qìng,kēng,shēng";
	dict[27577] = "yì";
	dict[27578] = "shā";
	dict[27579] = "ké,qiào";
	dict[27580] = "ké,qiào";
	dict[27581] = "xiáo,yáo,xiào";
	dict[27582] = "xùn";
	dict[27583] = "diàn";
	dict[27584] = "huǐ";
	dict[27585] = "huǐ";
	dict[27586] = "gǔ";
	dict[27587] = "qiāo";
	dict[27588] = "jī";
	dict[27589] = "yì";
	dict[27590] = "ōu";
	dict[27591] = "huǐ";
	dict[27592] = "duàn";
	dict[27593] = "yī";
	dict[27594] = "xiāo";
	dict[27595] = "wú";
	dict[27596] = "guàn,wān";
	dict[27597] = "mǔ";
	dict[27598] = "měi";
	dict[27599] = "měi";
	dict[27600] = "ǎi";
	dict[27601] = "jiě";
	dict[27602] = "dú,dài";
	dict[27603] = "yù";
	dict[27604] = "bǐ";
	dict[27605] = "bì";
	dict[27606] = "bì";
	dict[27607] = "pí";
	dict[27608] = "pí";
	dict[27609] = "bì";
	dict[27610] = "chán";
	dict[27611] = "máo";
	dict[27612] = "háo";
	dict[27613] = "cǎi";
	dict[27614] = "bǐ";
	dict[27615] = "liě";
	dict[27616] = "jiā";
	dict[27617] = "zhān";
	dict[27618] = "sāi";
	dict[27619] = "mù";
	dict[27620] = "tuò";
	dict[27621] = "xún,xùn";
	dict[27622] = "ěr";
	dict[27623] = "róng";
	dict[27624] = "xiǎn";
	dict[27625] = "jū";
	dict[27626] = "mú";
	dict[27627] = "háo";
	dict[27628] = "qiú";
	dict[27629] = "dòu,nuò";
	dict[27630] = "shā";
	dict[27631] = "tǎn";
	dict[27632] = "péi";
	dict[27633] = "jū";
	dict[27634] = "duō";
	dict[27635] = "cuì";
	dict[27636] = "bī";
	dict[27637] = "sān";
	dict[27638] = "sān";
	dict[27639] = "mào";
	dict[27640] = "sāi,suī";
	dict[27641] = "shū";
	dict[27642] = "shū";
	dict[27643] = "tuò";
	dict[27644] = "hé";
	dict[27645] = "jiàn";
	dict[27646] = "tà";
	dict[27647] = "sān";
	dict[27648] = "lǘ";
	dict[27649] = "mú";
	dict[27650] = "máo";
	dict[27651] = "tóng";
	dict[27652] = "rǒng";
	dict[27653] = "chǎng";
	dict[27654] = "pǔ";
	dict[27655] = "lǔ";
	dict[27656] = "zhān";
	dict[27657] = "sào";
	dict[27658] = "zhān";
	dict[27659] = "méng";
	dict[27660] = "lǔ";
	dict[27661] = "qú";
	dict[27662] = "dié";
	dict[27663] = "shì,zhī";
	dict[27664] = "dī,dǐ";
	dict[27665] = "mín";
	dict[27666] = "jué";
	dict[27667] = "máng,méng";
	dict[27668] = "qì";
	dict[27669] = "piē";
	dict[27670] = "nǎi";
	dict[27671] = "qì";
	dict[27672] = "dāo";
	dict[27673] = "xiān";
	dict[27674] = "chuān";
	dict[27675] = "fēn";
	dict[27676] = "yáng,rì";
	dict[27677] = "nèi";
	dict[27678] = "nèi";
	dict[27679] = "fú";
	dict[27680] = "shēn";
	dict[27681] = "dōng";
	dict[27682] = "qīng";
	dict[27683] = "qì";
	dict[27684] = "yīn";
	dict[27685] = "xī";
	dict[27686] = "hài";
	dict[27687] = "yǎng";
	dict[27688] = "ān";
	dict[27689] = "yà";
	dict[27690] = "kè";
	dict[27691] = "qīng";
	dict[27692] = "yà";
	dict[27693] = "dōng";
	dict[27694] = "dàn";
	dict[27695] = "lǜ";
	dict[27696] = "qíng";
	dict[27697] = "yǎng";
	dict[27698] = "yūn";
	dict[27699] = "yūn";
	dict[27700] = "shuǐ";
	dict[27701] = "shuǐ";
	dict[27702] = "zhěng,chéng,zhèng";
	dict[27703] = "bīng";
	dict[27704] = "yǒng";
	dict[27705] = "dàng";
	dict[27706] = "shuǐ";
	dict[27707] = "lè";
	dict[27708] = "nì";
	dict[27709] = "tǔn";
	dict[27710] = "fàn";
	dict[27711] = "guǐ,jiǔ";
	dict[27712] = "tīng";
	dict[27713] = "zhī";
	dict[27714] = "qiú";
	dict[27715] = "bīn,pà,pā";
	dict[27716] = "zè";
	dict[27717] = "miǎn";
	dict[27718] = "cuān";
	dict[27719] = "huì";
	dict[27720] = "diāo";
	dict[27721] = "hàn";
	dict[27722] = "chà";
	dict[27723] = "zhuó,què";
	dict[27724] = "chuàn";
	dict[27725] = "wán";
	dict[27726] = "fàn";
	dict[27727] = "tài,dà";
	dict[27728] = "xī";
	dict[27729] = "tuō";
	dict[27730] = "máng";
	dict[27731] = "qiú";
	dict[27732] = "qì";
	dict[27733] = "shàn";
	dict[27734] = "pìn";
	dict[27735] = "hàn,hán";
	dict[27736] = "qiān";
	dict[27737] = "wū";
	dict[27738] = "wū";
	dict[27739] = "xùn";
	dict[27740] = "sì";
	dict[27741] = "rǔ";
	dict[27742] = "gǒng";
	dict[27743] = "jiāng";
	dict[27744] = "chí";
	dict[27745] = "wū";
	dict[27746] = "tu";
	dict[27747] = "jiǔ";
	dict[27748] = "tāng,shāng";
	dict[27749] = "zhī,jì";
	dict[27750] = "zhǐ";
	dict[27751] = "qiān";
	dict[27752] = "mì";
	dict[27753] = "gǔ,yù";
	dict[27754] = "wāng";
	dict[27755] = "jǐng";
	dict[27756] = "jǐng";
	dict[27757] = "ruì";
	dict[27758] = "jūn";
	dict[27759] = "hóng";
	dict[27760] = "tài";
	dict[27761] = "tài";
	dict[27762] = "jí";
	dict[27763] = "biàn";
	dict[27764] = "biàn";
	dict[27765] = "gàn,hán,cén";
	dict[27766] = "wèn,mén";
	dict[27767] = "zhōng";
	dict[27768] = "fāng,pāng";
	dict[27769] = "xiōng";
	dict[27770] = "jué";
	dict[27771] = "hǔ,huǎng";
	dict[27772] = "niú,yóu";
	dict[27773] = "qì";
	dict[27774] = "fén";
	dict[27775] = "xù";
	dict[27776] = "xù";
	dict[27777] = "qìn";
	dict[27778] = "yí";
	dict[27779] = "wò";
	dict[27780] = "yún";
	dict[27781] = "yuán";
	dict[27782] = "hàng";
	dict[27783] = "yǎn";
	dict[27784] = "shěn,chén";
	dict[27785] = "chén";
	dict[27786] = "dàn";
	dict[27787] = "yóu";
	dict[27788] = "dùn";
	dict[27789] = "hù";
	dict[27790] = "huò";
	dict[27791] = "qī";
	dict[27792] = "mù";
	dict[27793] = "nǜ,niǔ";
	dict[27794] = "méi,mò";
	dict[27795] = "tà,dá";
	dict[27796] = "miǎn";
	dict[27797] = "mì,wù";
	dict[27798] = "chōng";
	dict[27799] = "hóng,pāng";
	dict[27800] = "bǐ";
	dict[27801] = "shā,shà";
	dict[27802] = "zhǐ";
	dict[27803] = "pèi";
	dict[27804] = "pàn";
	dict[27805] = "zhuǐ,zǐ";
	dict[27806] = "zā";
	dict[27807] = "gōu";
	dict[27808] = "pài";
	dict[27809] = "méi,mò";
	dict[27810] = "zé";
	dict[27811] = "fēng";
	dict[27812] = "òu,ōu";
	dict[27813] = "lì";
	dict[27814] = "lún";
	dict[27815] = "cāng";
	dict[27816] = "fēng";
	dict[27817] = "wéi";
	dict[27818] = "hù";
	dict[27819] = "mò";
	dict[27820] = "mèi";
	dict[27821] = "shù";
	dict[27822] = "jǔ,jù";
	dict[27823] = "zá";
	dict[27824] = "tuō,duó";
	dict[27825] = "tuó";
	dict[27826] = "tuó,duò";
	dict[27827] = "hé";
	dict[27828] = "lì";
	dict[27829] = "mǐ,lì";
	dict[27830] = "yí,chí";
	dict[27831] = "fā";
	dict[27832] = "fèi";
	dict[27833] = "yóu";
	dict[27834] = "tián";
	dict[27835] = "zhì";
	dict[27836] = "zhǎo";
	dict[27837] = "gū";
	dict[27838] = "zhān";
	dict[27839] = "yán";
	dict[27840] = "sī";
	dict[27841] = "kuàng";
	dict[27842] = "jiǒng";
	dict[27843] = "jū";
	dict[27844] = "xiè,yì";
	dict[27845] = "qiú";
	dict[27846] = "yì,dié";
	dict[27847] = "jiā";
	dict[27848] = "zhōng";
	dict[27849] = "quán";
	dict[27850] = "bó,pō";
	dict[27851] = "huì";
	dict[27852] = "mì,bì";
	dict[27853] = "bēn,bèn";
	dict[27854] = "zé";
	dict[27855] = "chù,shè";
	dict[27856] = "lè";
	dict[27857] = "yōu,yòu,āo";
	dict[27858] = "gū";
	dict[27859] = "hóng";
	dict[27860] = "gān";
	dict[27861] = "fǎ";
	dict[27862] = "mǎo";
	dict[27863] = "sì";
	dict[27864] = "hū";
	dict[27865] = "pēng,píng";
	dict[27866] = "cǐ";
	dict[27867] = "fàn";
	dict[27868] = "zhī";
	dict[27869] = "sù";
	dict[27870] = "nìng";
	dict[27871] = "chēng";
	dict[27872] = "líng";
	dict[27873] = "pào,pāo";
	dict[27874] = "bō";
	dict[27875] = "qì";
	dict[27876] = "sì";
	dict[27877] = "ní,nì";
	dict[27878] = "jú";
	dict[27879] = "yuè,sà";
	dict[27880] = "zhù";
	dict[27881] = "shēng";
	dict[27882] = "lèi";
	dict[27883] = "xuàn";
	dict[27884] = "jué,xuè";
	dict[27885] = "fú";
	dict[27886] = "pàn";
	dict[27887] = "mǐn";
	dict[27888] = "tài";
	dict[27889] = "yāng";
	dict[27890] = "jǐ";
	dict[27891] = "yǒng";
	dict[27892] = "guàn";
	dict[27893] = "bèng";
	dict[27894] = "xué";
	dict[27895] = "lóng,shuāng";
	dict[27896] = "lú";
	dict[27897] = "dàn";
	dict[27898] = "luò,pō";
	dict[27899] = "xiè";
	dict[27900] = "pō";
	dict[27901] = "zé,shì";
	dict[27902] = "jīng";
	dict[27903] = "yín";
	dict[27904] = "pán";
	dict[27905] = "jié";
	dict[27906] = "yè";
	dict[27907] = "huī";
	dict[27908] = "huí";
	dict[27909] = "zài";
	dict[27910] = "chéng";
	dict[27911] = "yīn";
	dict[27912] = "wéi";
	dict[27913] = "hòu";
	dict[27914] = "jiàn";
	dict[27915] = "yáng";
	dict[27916] = "liè";
	dict[27917] = "sì";
	dict[27918] = "jì";
	dict[27919] = "ér";
	dict[27920] = "xíng";
	dict[27921] = "fú,fù";
	dict[27922] = "sǎ,xǐ";
	dict[27923] = "sè,qì,zì";
	dict[27924] = "zhǐ";
	dict[27925] = "yìn";
	dict[27926] = "wú";
	dict[27927] = "xǐ,xiǎn";
	dict[27928] = "kǎo,kào";
	dict[27929] = "zhū";
	dict[27930] = "jiàng";
	dict[27931] = "luò";
	dict[27932] = "luò";
	dict[27933] = "àn,yàn,è";
	dict[27934] = "dòng";
	dict[27935] = "yí";
	dict[27936] = "sì";
	dict[27937] = "lěi,lèi";
	dict[27938] = "yī";
	dict[27939] = "mǐ";
	dict[27940] = "quán";
	dict[27941] = "jīn";
	dict[27942] = "pò";
	dict[27943] = "wěi";
	dict[27944] = "xiáo";
	dict[27945] = "xiè";
	dict[27946] = "hóng";
	dict[27947] = "xù";
	dict[27948] = "sù,shuò";
	dict[27949] = "kuāng";
	dict[27950] = "táo";
	dict[27951] = "qiè,jié";
	dict[27952] = "jù";
	dict[27953] = "ěr";
	dict[27954] = "zhōu";
	dict[27955] = "rù";
	dict[27956] = "píng";
	dict[27957] = "xún";
	dict[27958] = "xiōng";
	dict[27959] = "zhì";
	dict[27960] = "guāng";
	dict[27961] = "huán";
	dict[27962] = "míng";
	dict[27963] = "huó";
	dict[27964] = "wā";
	dict[27965] = "qià";
	dict[27966] = "pài";
	dict[27967] = "wū";
	dict[27968] = "qū";
	dict[27969] = "liú";
	dict[27970] = "yì";
	dict[27971] = "jiā";
	dict[27972] = "jìng";
	dict[27973] = "qiǎn,jiān";
	dict[27974] = "jiāng,jiàng";
	dict[27975] = "jiāo";
	dict[27976] = "zhēn";
	dict[27977] = "shī";
	dict[27978] = "zhuó";
	dict[27979] = "cè";
	dict[27980] = "fá";
	dict[27981] = "kuài,huì";
	dict[27982] = "jì,jǐ";
	dict[27983] = "liú";
	dict[27984] = "chǎn";
	dict[27985] = "hún";
	dict[27986] = "hǔ,xǔ";
	dict[27987] = "nóng";
	dict[27988] = "xún";
	dict[27989] = "jìn";
	dict[27990] = "liè";
	dict[27991] = "qiú";
	dict[27992] = "wěi";
	dict[27993] = "zhè";
	dict[27994] = "jùn,xùn";
	dict[27995] = "hán";
	dict[27996] = "bāng";
	dict[27997] = "máng";
	dict[27998] = "zhuó";
	dict[27999] = "yōu,dí";
	dict[28e3] = "xī";
	dict[28001] = "bó";
	dict[28002] = "dòu";
	dict[28003] = "huàn";
	dict[28004] = "hóng";
	dict[28005] = "yì";
	dict[28006] = "pǔ";
	dict[28007] = "yǐng,chéng,yíng";
	dict[28008] = "lǎn";
	dict[28009] = "hào";
	dict[28010] = "làng";
	dict[28011] = "hǎn";
	dict[28012] = "lǐ";
	dict[28013] = "gēng";
	dict[28014] = "fú";
	dict[28015] = "wú";
	dict[28016] = "lì";
	dict[28017] = "chún";
	dict[28018] = "féng,hóng";
	dict[28019] = "yì";
	dict[28020] = "yù";
	dict[28021] = "tóng";
	dict[28022] = "láo";
	dict[28023] = "hǎi";
	dict[28024] = "jìn";
	dict[28025] = "jiā";
	dict[28026] = "chōng";
	dict[28027] = "jiǒng,jiōng";
	dict[28028] = "měi";
	dict[28029] = "suī,něi";
	dict[28030] = "chēng";
	dict[28031] = "pèi";
	dict[28032] = "xiàn";
	dict[28033] = "shèn";
	dict[28034] = "tú";
	dict[28035] = "kùn";
	dict[28036] = "pīng";
	dict[28037] = "niè";
	dict[28038] = "hàn";
	dict[28039] = "jīng";
	dict[28040] = "xiāo";
	dict[28041] = "shè";
	dict[28042] = "niǎn";
	dict[28043] = "tū";
	dict[28044] = "yǒng,chōng";
	dict[28045] = "xiào";
	dict[28046] = "xián";
	dict[28047] = "tǐng";
	dict[28048] = "é";
	dict[28049] = "sù";
	dict[28050] = "tūn,yūn";
	dict[28051] = "juān";
	dict[28052] = "cén";
	dict[28053] = "tì";
	dict[28054] = "lì";
	dict[28055] = "shuì";
	dict[28056] = "sì";
	dict[28057] = "lèi";
	dict[28058] = "shuì";
	dict[28059] = "tāo";
	dict[28060] = "dú";
	dict[28061] = "lào";
	dict[28062] = "lái";
	dict[28063] = "lián";
	dict[28064] = "wéi";
	dict[28065] = "wō,guō";
	dict[28066] = "yún";
	dict[28067] = "huàn";
	dict[28068] = "dí";
	dict[28069] = "hēng";
	dict[28070] = "rùn";
	dict[28071] = "jiàn";
	dict[28072] = "zhǎng,zhàng";
	dict[28073] = "sè";
	dict[28074] = "fú";
	dict[28075] = "guān";
	dict[28076] = "xìng";
	dict[28077] = "shòu,tāo";
	dict[28078] = "shuàn";
	dict[28079] = "yá";
	dict[28080] = "chuò";
	dict[28081] = "zhàng";
	dict[28082] = "yè";
	dict[28083] = "kōng,náng";
	dict[28084] = "wǎn,wò,yuān";
	dict[28085] = "hán";
	dict[28086] = "tuō,tuò";
	dict[28087] = "dōng";
	dict[28088] = "hé";
	dict[28089] = "wō";
	dict[28090] = "jū";
	dict[28091] = "shè";
	dict[28092] = "liáng,liàng";
	dict[28093] = "hūn";
	dict[28094] = "tà";
	dict[28095] = "zhuō";
	dict[28096] = "diàn";
	dict[28097] = "qiè,jí";
	dict[28098] = "dé";
	dict[28099] = "juàn";
	dict[28100] = "zī";
	dict[28101] = "xī";
	dict[28102] = "xiáo";
	dict[28103] = "qí";
	dict[28104] = "gǔ";
	dict[28105] = "guǒ,guàn";
	dict[28106] = "yān";
	dict[28107] = "lín,lìn";
	dict[28108] = "tǎng,chǎng";
	dict[28109] = "zhōu";
	dict[28110] = "pěng";
	dict[28111] = "hào";
	dict[28112] = "chāng";
	dict[28113] = "shū";
	dict[28114] = "qī";
	dict[28115] = "fāng";
	dict[28116] = "zhí";
	dict[28117] = "lù";
	dict[28118] = "nào,chuò,zhuō";
	dict[28119] = "jú";
	dict[28120] = "táo";
	dict[28121] = "cóng";
	dict[28122] = "lèi";
	dict[28123] = "zhè";
	dict[28124] = "píng,péng";
	dict[28125] = "féi";
	dict[28126] = "sōng";
	dict[28127] = "tiǎn";
	dict[28128] = "pì,pèi";
	dict[28129] = "dàn";
	dict[28130] = "yù,xù";
	dict[28131] = "ní";
	dict[28132] = "yū";
	dict[28133] = "lù";
	dict[28134] = "gàn";
	dict[28135] = "mì";
	dict[28136] = "jìng,chēng";
	dict[28137] = "líng";
	dict[28138] = "lún";
	dict[28139] = "yín";
	dict[28140] = "cuì";
	dict[28141] = "qú";
	dict[28142] = "huái";
	dict[28143] = "yù";
	dict[28144] = "niǎn,shěn";
	dict[28145] = "shēn";
	dict[28146] = "biāo,hǔ";
	dict[28147] = "chún,zhūn";
	dict[28148] = "hū";
	dict[28149] = "yuān";
	dict[28150] = "lái";
	dict[28151] = "hùn,hún";
	dict[28152] = "qīng";
	dict[28153] = "yān";
	dict[28154] = "qiǎn";
	dict[28155] = "tiān";
	dict[28156] = "miǎo";
	dict[28157] = "zhǐ";
	dict[28158] = "yǐn";
	dict[28159] = "bó";
	dict[28160] = "bèn";
	dict[28161] = "yuān";
	dict[28162] = "wèn,mín";
	dict[28163] = "ruò,rè,luò";
	dict[28164] = "fēi";
	dict[28165] = "qīng";
	dict[28166] = "yuān";
	dict[28167] = "kě";
	dict[28168] = "jì,jǐ";
	dict[28169] = "shè";
	dict[28170] = "yuān";
	dict[28171] = "sè";
	dict[28172] = "lù";
	dict[28173] = "zì";
	dict[28174] = "dú,dòu";
	dict[28175] = "yī";
	dict[28176] = "jiàn,jiān";
	dict[28177] = "miǎn,shéng";
	dict[28178] = "pài";
	dict[28179] = "xī";
	dict[28180] = "yú";
	dict[28181] = "yuān";
	dict[28182] = "shěn";
	dict[28183] = "shèn";
	dict[28184] = "róu";
	dict[28185] = "huàn";
	dict[28186] = "zhǔ";
	dict[28187] = "jiǎn";
	dict[28188] = "nuǎn,nuán";
	dict[28189] = "yú";
	dict[28190] = "qiú,wù";
	dict[28191] = "tíng,tīng";
	dict[28192] = "qú,jù";
	dict[28193] = "dù";
	dict[28194] = "fēng";
	dict[28195] = "zhā";
	dict[28196] = "bó";
	dict[28197] = "wò";
	dict[28198] = "wō,guō";
	dict[28199] = "tí,dī,dì";
	dict[28200] = "wěi";
	dict[28201] = "wēn";
	dict[28202] = "rú";
	dict[28203] = "xiè";
	dict[28204] = "cè";
	dict[28205] = "wèi";
	dict[28206] = "hé";
	dict[28207] = "gǎng,jiǎng";
	dict[28208] = "yān,yǎn";
	dict[28209] = "hóng";
	dict[28210] = "xuàn";
	dict[28211] = "mǐ";
	dict[28212] = "kě";
	dict[28213] = "máo";
	dict[28214] = "yīng";
	dict[28215] = "yǎn";
	dict[28216] = "yóu";
	dict[28217] = "hōng,qìng";
	dict[28218] = "miǎo";
	dict[28219] = "shěng";
	dict[28220] = "měi";
	dict[28221] = "zāi";
	dict[28222] = "hún";
	dict[28223] = "nài";
	dict[28224] = "guǐ";
	dict[28225] = "chì";
	dict[28226] = "è";
	dict[28227] = "pài";
	dict[28228] = "méi";
	dict[28229] = "liàn";
	dict[28230] = "qì";
	dict[28231] = "qì";
	dict[28232] = "méi";
	dict[28233] = "tián";
	dict[28234] = "còu";
	dict[28235] = "wéi";
	dict[28236] = "cān";
	dict[28237] = "tuān";
	dict[28238] = "miǎn";
	dict[28239] = "huì,mǐn,xū";
	dict[28240] = "pò";
	dict[28241] = "xǔ,xū";
	dict[28242] = "jí";
	dict[28243] = "pén";
	dict[28244] = "jiān";
	dict[28245] = "jiǎn";
	dict[28246] = "hú";
	dict[28247] = "fèng";
	dict[28248] = "xiāng";
	dict[28249] = "yì";
	dict[28250] = "yìn";
	dict[28251] = "zhàn";
	dict[28252] = "shí";
	dict[28253] = "jiē";
	dict[28254] = "zhēn";
	dict[28255] = "huáng";
	dict[28256] = "tàn";
	dict[28257] = "yú";
	dict[28258] = "bì";
	dict[28259] = "mǐn,hūn";
	dict[28260] = "shī";
	dict[28261] = "tū";
	dict[28262] = "shēng";
	dict[28263] = "yǒng";
	dict[28264] = "jú";
	dict[28265] = "dòng";
	dict[28266] = "tuàn,nuǎn";
	dict[28267] = "qiū,jiǎo";
	dict[28268] = "qiū,jiǎo";
	dict[28269] = "qiú";
	dict[28270] = "yān,yīn";
	dict[28271] = "tāng,shāng";
	dict[28272] = "lóng";
	dict[28273] = "huò";
	dict[28274] = "yuán";
	dict[28275] = "nǎn";
	dict[28276] = "bàn,pán";
	dict[28277] = "yǒu";
	dict[28278] = "quán";
	dict[28279] = "zhuāng,hún";
	dict[28280] = "liàng";
	dict[28281] = "chán";
	dict[28282] = "xián";
	dict[28283] = "chún";
	dict[28284] = "niè";
	dict[28285] = "zī";
	dict[28286] = "wān";
	dict[28287] = "shī";
	dict[28288] = "mǎn";
	dict[28289] = "yíng";
	dict[28290] = "là";
	dict[28291] = "kuì,huì";
	dict[28292] = "féng,hóng";
	dict[28293] = "jiàn,jiān";
	dict[28294] = "xù";
	dict[28295] = "lóu";
	dict[28296] = "wéi";
	dict[28297] = "gài";
	dict[28298] = "bō";
	dict[28299] = "yíng";
	dict[28300] = "pō";
	dict[28301] = "jìn";
	dict[28302] = "yàn,guì";
	dict[28303] = "táng";
	dict[28304] = "yuán";
	dict[28305] = "suǒ";
	dict[28306] = "yuán";
	dict[28307] = "lián,liǎn,nián,xián,xiàn";
	dict[28308] = "yǎo";
	dict[28309] = "méng";
	dict[28310] = "zhǔn";
	dict[28311] = "chéng";
	dict[28312] = "kè";
	dict[28313] = "tài";
	dict[28314] = "dá,tǎ";
	dict[28315] = "wā";
	dict[28316] = "liū,liù";
	dict[28317] = "gōu";
	dict[28318] = "sāo";
	dict[28319] = "míng";
	dict[28320] = "zhà";
	dict[28321] = "shí";
	dict[28322] = "yì";
	dict[28323] = "lùn";
	dict[28324] = "mǎ";
	dict[28325] = "pǔ";
	dict[28326] = "wēi";
	dict[28327] = "lì";
	dict[28328] = "zāi";
	dict[28329] = "wù";
	dict[28330] = "xī";
	dict[28331] = "wēn";
	dict[28332] = "qiāng";
	dict[28333] = "zé";
	dict[28334] = "shī";
	dict[28335] = "sù";
	dict[28336] = "ái";
	dict[28337] = "zhēn,qín";
	dict[28338] = "sōu";
	dict[28339] = "yún";
	dict[28340] = "xiù";
	dict[28341] = "yīn";
	dict[28342] = "róng";
	dict[28343] = "hùn";
	dict[28344] = "sù";
	dict[28345] = "suò";
	dict[28346] = "nì,niào";
	dict[28347] = "tā";
	dict[28348] = "shī";
	dict[28349] = "rù";
	dict[28350] = "āi";
	dict[28351] = "pàn";
	dict[28352] = "chù,xù";
	dict[28353] = "chú";
	dict[28354] = "pāng";
	dict[28355] = "wěng,wēng";
	dict[28356] = "cāng";
	dict[28357] = "miè";
	dict[28358] = "gé";
	dict[28359] = "diān";
	dict[28360] = "hào,xuè";
	dict[28361] = "huàng";
	dict[28362] = "qì,xì,xiē";
	dict[28363] = "zī";
	dict[28364] = "dí";
	dict[28365] = "zhì";
	dict[28366] = "xíng,yíng";
	dict[28367] = "fǔ";
	dict[28368] = "jié";
	dict[28369] = "huá";
	dict[28370] = "gē";
	dict[28371] = "zǐ";
	dict[28372] = "tāo";
	dict[28373] = "téng";
	dict[28374] = "suī";
	dict[28375] = "bì";
	dict[28376] = "jiào";
	dict[28377] = "huì";
	dict[28378] = "gǔn";
	dict[28379] = "yín";
	dict[28380] = "zé,hào";
	dict[28381] = "lóng";
	dict[28382] = "zhì";
	dict[28383] = "yàn";
	dict[28384] = "shè";
	dict[28385] = "mǎn";
	dict[28386] = "yíng";
	dict[28387] = "chún";
	dict[28388] = "lǜ";
	dict[28389] = "làn";
	dict[28390] = "luán";
	dict[28391] = "yáo";
	dict[28392] = "bīn";
	dict[28393] = "tān";
	dict[28394] = "yù";
	dict[28395] = "xiǔ";
	dict[28396] = "hù";
	dict[28397] = "bì";
	dict[28398] = "biāo";
	dict[28399] = "zhì";
	dict[28400] = "jiàng";
	dict[28401] = "kòu";
	dict[28402] = "shèn";
	dict[28403] = "shāng";
	dict[28404] = "dī";
	dict[28405] = "mì";
	dict[28406] = "áo";
	dict[28407] = "lǔ";
	dict[28408] = "hǔ,xǔ";
	dict[28409] = "hū";
	dict[28410] = "yōu";
	dict[28411] = "chǎn";
	dict[28412] = "fàn";
	dict[28413] = "yōng";
	dict[28414] = "gǔn";
	dict[28415] = "mǎn";
	dict[28416] = "qǐng";
	dict[28417] = "yú";
	dict[28418] = "piāo,piǎo,piào";
	dict[28419] = "jì";
	dict[28420] = "yá";
	dict[28421] = "cháo";
	dict[28422] = "qī";
	dict[28423] = "xǐ";
	dict[28424] = "jì";
	dict[28425] = "lù";
	dict[28426] = "lóu";
	dict[28427] = "lóng";
	dict[28428] = "jǐn";
	dict[28429] = "guó";
	dict[28430] = "cóng,sǒng";
	dict[28431] = "lòu";
	dict[28432] = "zhí";
	dict[28433] = "gài";
	dict[28434] = "qiáng";
	dict[28435] = "lí";
	dict[28436] = "yǎn";
	dict[28437] = "cáo";
	dict[28438] = "jiào";
	dict[28439] = "cōng";
	dict[28440] = "chún";
	dict[28441] = "tuán,zhuān";
	dict[28442] = "òu,ōu";
	dict[28443] = "téng";
	dict[28444] = "yě";
	dict[28445] = "xí";
	dict[28446] = "mì";
	dict[28447] = "táng";
	dict[28448] = "mò";
	dict[28449] = "shāng";
	dict[28450] = "hàn";
	dict[28451] = "lián";
	dict[28452] = "lǎn";
	dict[28453] = "wā";
	dict[28454] = "chí";
	dict[28455] = "gān";
	dict[28456] = "féng,péng";
	dict[28457] = "xuán";
	dict[28458] = "yī";
	dict[28459] = "màn";
	dict[28460] = "zì";
	dict[28461] = "mǎng";
	dict[28462] = "kāng";
	dict[28463] = "luò,tà";
	dict[28464] = "bēn,pēng";
	dict[28465] = "shù";
	dict[28466] = "zhǎng,zhàng";
	dict[28467] = "zhāng";
	dict[28468] = "chóng,zhuàng";
	dict[28469] = "xù";
	dict[28470] = "huàn";
	dict[28471] = "huǒ,huò,kuò";
	dict[28472] = "jiàn,jiān";
	dict[28473] = "yān";
	dict[28474] = "shuǎng";
	dict[28475] = "liáo,liú";
	dict[28476] = "cuǐ,cuī";
	dict[28477] = "tí";
	dict[28478] = "yàng";
	dict[28479] = "jiāng,jiàng";
	dict[28480] = "cóng,zǒng";
	dict[28481] = "yǐng";
	dict[28482] = "hóng";
	dict[28483] = "xiǔ";
	dict[28484] = "shù";
	dict[28485] = "guàn";
	dict[28486] = "yíng";
	dict[28487] = "xiāo";
	dict[28488] = "cóng,zōng";
	dict[28489] = "kūn";
	dict[28490] = "xù";
	dict[28491] = "liàn";
	dict[28492] = "zhì";
	dict[28493] = "wéi";
	dict[28494] = "pì,piē";
	dict[28495] = "yù";
	dict[28496] = "jiào,qiáo";
	dict[28497] = "pō";
	dict[28498] = "dàng,xiàng";
	dict[28499] = "huì";
	dict[28500] = "jié";
	dict[28501] = "wǔ";
	dict[28502] = "pá";
	dict[28503] = "jí";
	dict[28504] = "pān";
	dict[28505] = "wéi";
	dict[28506] = "sù";
	dict[28507] = "qián";
	dict[28508] = "qián";
	dict[28509] = "xī,yà";
	dict[28510] = "lù";
	dict[28511] = "xì";
	dict[28512] = "xùn";
	dict[28513] = "dùn";
	dict[28514] = "huáng,guāng";
	dict[28515] = "mǐn";
	dict[28516] = "rùn";
	dict[28517] = "sù";
	dict[28518] = "lǎo,lào,liáo";
	dict[28519] = "zhēn";
	dict[28520] = "cōng,zòng";
	dict[28521] = "yì";
	dict[28522] = "zhí,zhì";
	dict[28523] = "wān";
	dict[28524] = "tān,shàn";
	dict[28525] = "tán";
	dict[28526] = "cháo";
	dict[28527] = "xún";
	dict[28528] = "kuì,huì";
	dict[28529] = "yē";
	dict[28530] = "shào";
	dict[28531] = "tú,zhā";
	dict[28532] = "zhū";
	dict[28533] = "sàn,sǎ";
	dict[28534] = "hēi";
	dict[28535] = "bì";
	dict[28536] = "shān";
	dict[28537] = "chán";
	dict[28538] = "chán";
	dict[28539] = "shǔ";
	dict[28540] = "tóng";
	dict[28541] = "pū";
	dict[28542] = "lín";
	dict[28543] = "wéi";
	dict[28544] = "sè";
	dict[28545] = "sè";
	dict[28546] = "chéng";
	dict[28547] = "jiǒng";
	dict[28548] = "chéng,dèng";
	dict[28549] = "huà";
	dict[28550] = "jiāo";
	dict[28551] = "lào";
	dict[28552] = "chè";
	dict[28553] = "gǎn";
	dict[28554] = "cūn,cún";
	dict[28555] = "jǐng";
	dict[28556] = "sī";
	dict[28557] = "shù,zhù";
	dict[28558] = "péng";
	dict[28559] = "hán";
	dict[28560] = "yún";
	dict[28561] = "liū,liù";
	dict[28562] = "hòng,gǒng";
	dict[28563] = "fú";
	dict[28564] = "hào";
	dict[28565] = "hé";
	dict[28566] = "xián";
	dict[28567] = "jiàn";
	dict[28568] = "shān";
	dict[28569] = "xì";
	dict[28570] = "ào,yù";
	dict[28571] = "lǔ";
	dict[28572] = "lán";
	dict[28573] = "nìng";
	dict[28574] = "yú";
	dict[28575] = "lǐn";
	dict[28576] = "miǎn,shéng";
	dict[28577] = "zǎo";
	dict[28578] = "dāng";
	dict[28579] = "huàn";
	dict[28580] = "zé,shì";
	dict[28581] = "xiè";
	dict[28582] = "yù";
	dict[28583] = "lǐ";
	dict[28584] = "shì";
	dict[28585] = "xué";
	dict[28586] = "líng";
	dict[28587] = "wàn,màn";
	dict[28588] = "zī";
	dict[28589] = "yōng,yǒng";
	dict[28590] = "kuài,huì";
	dict[28591] = "càn";
	dict[28592] = "liàn";
	dict[28593] = "diàn";
	dict[28594] = "yè";
	dict[28595] = "ào";
	dict[28596] = "huán";
	dict[28597] = "zhēn";
	dict[28598] = "chán";
	dict[28599] = "màn";
	dict[28600] = "gǎn";
	dict[28601] = "dàn,tán";
	dict[28602] = "yì";
	dict[28603] = "suì";
	dict[28604] = "pì";
	dict[28605] = "jù";
	dict[28606] = "tà";
	dict[28607] = "qín";
	dict[28608] = "jī";
	dict[28609] = "zhuó";
	dict[28610] = "lián";
	dict[28611] = "nóng";
	dict[28612] = "guō,wō";
	dict[28613] = "jìn";
	dict[28614] = "fén,pēn";
	dict[28615] = "sè";
	dict[28616] = "jí,shà";
	dict[28617] = "suī";
	dict[28618] = "huì,huò";
	dict[28619] = "chǔ";
	dict[28620] = "tà";
	dict[28621] = "sōng";
	dict[28622] = "dǐng,tìng";
	dict[28623] = "sè";
	dict[28624] = "zhǔ";
	dict[28625] = "lài";
	dict[28626] = "bīn";
	dict[28627] = "lián";
	dict[28628] = "mǐ,nǐ";
	dict[28629] = "shī";
	dict[28630] = "shù";
	dict[28631] = "mì";
	dict[28632] = "nìng";
	dict[28633] = "yíng";
	dict[28634] = "yíng";
	dict[28635] = "méng";
	dict[28636] = "jìn";
	dict[28637] = "qí";
	dict[28638] = "bì,pì";
	dict[28639] = "jì,jǐ";
	dict[28640] = "háo";
	dict[28641] = "rú";
	dict[28642] = "cuì,zuǐ";
	dict[28643] = "wò";
	dict[28644] = "tāo";
	dict[28645] = "yǐn";
	dict[28646] = "yīn";
	dict[28647] = "duì";
	dict[28648] = "cí";
	dict[28649] = "huò,hù";
	dict[28650] = "qìng";
	dict[28651] = "làn";
	dict[28652] = "jùn,xùn";
	dict[28653] = "ǎi,kài,kè";
	dict[28654] = "pú";
	dict[28655] = "zhuó,zhào";
	dict[28656] = "wéi";
	dict[28657] = "bīn";
	dict[28658] = "gǔ";
	dict[28659] = "qián";
	dict[28660] = "yíng";
	dict[28661] = "bīn";
	dict[28662] = "kuò";
	dict[28663] = "fèi";
	dict[28664] = "cāng";
	dict[28665] = "mè";
	dict[28666] = "jiàn,jiān";
	dict[28667] = "wěi,duì";
	dict[28668] = "luò,pō";
	dict[28669] = "zàn,cuán";
	dict[28670] = "lǜ";
	dict[28671] = "lì";
	dict[28672] = "yōu";
	dict[28673] = "yǎng,yàng";
	dict[28674] = "lǔ";
	dict[28675] = "sì";
	dict[28676] = "zhì";
	dict[28677] = "yíng";
	dict[28678] = "dú,dòu";
	dict[28679] = "wǎng,wāng";
	dict[28680] = "huī";
	dict[28681] = "xiè";
	dict[28682] = "pán";
	dict[28683] = "shěn";
	dict[28684] = "biāo";
	dict[28685] = "chán";
	dict[28686] = "miè,mò";
	dict[28687] = "liú";
	dict[28688] = "jiān";
	dict[28689] = "pù,bào";
	dict[28690] = "sè";
	dict[28691] = "chéng,dèng";
	dict[28692] = "gǔ";
	dict[28693] = "bīn";
	dict[28694] = "huò";
	dict[28695] = "xiàn";
	dict[28696] = "lú";
	dict[28697] = "qìn";
	dict[28698] = "hàn";
	dict[28699] = "yíng";
	dict[28700] = "róng";
	dict[28701] = "lì";
	dict[28702] = "jìng";
	dict[28703] = "xiāo";
	dict[28704] = "yíng";
	dict[28705] = "suǐ";
	dict[28706] = "wěi,duì";
	dict[28707] = "xiè";
	dict[28708] = "huái,wāi";
	dict[28709] = "xuè";
	dict[28710] = "zhū";
	dict[28711] = "lóng,shuāng";
	dict[28712] = "lài";
	dict[28713] = "duì";
	dict[28714] = "fàn";
	dict[28715] = "hú";
	dict[28716] = "lài";
	dict[28717] = "shū";
	dict[28718] = "lián";
	dict[28719] = "yíng";
	dict[28720] = "mí";
	dict[28721] = "jì";
	dict[28722] = "liàn";
	dict[28723] = "jiàn,zùn";
	dict[28724] = "yīng,yǐng,yìng";
	dict[28725] = "fèn";
	dict[28726] = "lín";
	dict[28727] = "yì";
	dict[28728] = "jiān";
	dict[28729] = "yuè";
	dict[28730] = "chán";
	dict[28731] = "dài";
	dict[28732] = "ráng,nǎng";
	dict[28733] = "jiǎn";
	dict[28734] = "lán";
	dict[28735] = "fán";
	dict[28736] = "shuàng";
	dict[28737] = "yuān";
	dict[28738] = "zhuó,jiào,zé";
	dict[28739] = "fēng";
	dict[28740] = "shè";
	dict[28741] = "lěi";
	dict[28742] = "lán";
	dict[28743] = "cóng";
	dict[28744] = "qú";
	dict[28745] = "yōng";
	dict[28746] = "qián";
	dict[28747] = "fǎ";
	dict[28748] = "guàn";
	dict[28749] = "jué";
	dict[28750] = "yàn";
	dict[28751] = "hào";
	dict[28752] = "yíng";
	dict[28753] = "sǎ";
	dict[28754] = "zàn,cuán";
	dict[28755] = "luán,luàn";
	dict[28756] = "yàn";
	dict[28757] = "lí";
	dict[28758] = "mǐ";
	dict[28759] = "shàn";
	dict[28760] = "tān";
	dict[28761] = "dǎng,tǎng";
	dict[28762] = "jiǎo";
	dict[28763] = "chǎn";
	dict[28764] = "yíng";
	dict[28765] = "hào";
	dict[28766] = "bà";
	dict[28767] = "zhú";
	dict[28768] = "lǎn";
	dict[28769] = "lán";
	dict[28770] = "nǎng";
	dict[28771] = "wān";
	dict[28772] = "luán";
	dict[28773] = "xún,quán,quàn";
	dict[28774] = "xiǎn";
	dict[28775] = "yàn";
	dict[28776] = "gàn";
	dict[28777] = "yàn";
	dict[28778] = "yù";
	dict[28779] = "huǒ";
	dict[28780] = "huǒ,biāo";
	dict[28781] = "miè";
	dict[28782] = "guāng";
	dict[28783] = "dēng";
	dict[28784] = "huī";
	dict[28785] = "xiāo";
	dict[28786] = "xiāo";
	dict[28787] = "huī";
	dict[28788] = "hōng";
	dict[28789] = "líng";
	dict[28790] = "zào";
	dict[28791] = "zhuàn";
	dict[28792] = "jiǔ";
	dict[28793] = "zhà,yù";
	dict[28794] = "xiè";
	dict[28795] = "chì";
	dict[28796] = "zhuó";
	dict[28797] = "zāi";
	dict[28798] = "zāi";
	dict[28799] = "càn";
	dict[28800] = "yáng";
	dict[28801] = "qì";
	dict[28802] = "zhōng";
	dict[28803] = "fén,bèn";
	dict[28804] = "niǔ";
	dict[28805] = "jiǒng,guì";
	dict[28806] = "wén";
	dict[28807] = "pū";
	dict[28808] = "yì";
	dict[28809] = "lú";
	dict[28810] = "chuī";
	dict[28811] = "pī";
	dict[28812] = "kài";
	dict[28813] = "pàn";
	dict[28814] = "yán";
	dict[28815] = "yán";
	dict[28816] = "pàng,fēng";
	dict[28817] = "mù";
	dict[28818] = "chǎo";
	dict[28819] = "liào";
	dict[28820] = "quē";
	dict[28821] = "kàng";
	dict[28822] = "dùn";
	dict[28823] = "guāng";
	dict[28824] = "xìn";
	dict[28825] = "zhì";
	dict[28826] = "guāng";
	dict[28827] = "guāng";
	dict[28828] = "wěi";
	dict[28829] = "qiàng";
	dict[28830] = "biān";
	dict[28831] = "dá";
	dict[28832] = "xiá";
	dict[28833] = "zhēng";
	dict[28834] = "zhú";
	dict[28835] = "kě";
	dict[28836] = "zhào,zhāo";
	dict[28837] = "fú";
	dict[28838] = "bá";
	dict[28839] = "xiè";
	dict[28840] = "xiè";
	dict[28841] = "lìng";
	dict[28842] = "zhuō,chù";
	dict[28843] = "xuàn";
	dict[28844] = "jù";
	dict[28845] = "tàn";
	dict[28846] = "páo,bāo,pào";
	dict[28847] = "jiǒng";
	dict[28848] = "páo,fǒu";
	dict[28849] = "tái";
	dict[28850] = "tái";
	dict[28851] = "bǐng";
	dict[28852] = "yǎng";
	dict[28853] = "tōng";
	dict[28854] = "shǎn,qián,shān";
	dict[28855] = "zhù";
	dict[28856] = "zhà,zhá";
	dict[28857] = "diǎn";
	dict[28858] = "wéi,wèi";
	dict[28859] = "shí";
	dict[28860] = "liàn";
	dict[28861] = "chì";
	dict[28862] = "huǎng";
	dict[28863] = "zhōu";
	dict[28864] = "hū";
	dict[28865] = "shuò";
	dict[28866] = "làn";
	dict[28867] = "tīng";
	dict[28868] = "jiǎo,yào";
	dict[28869] = "xù";
	dict[28870] = "héng";
	dict[28871] = "quǎn";
	dict[28872] = "liè";
	dict[28873] = "huàn";
	dict[28874] = "yáng,yàng";
	dict[28875] = "xiāo";
	dict[28876] = "xiū";
	dict[28877] = "xiǎn";
	dict[28878] = "yín";
	dict[28879] = "wū";
	dict[28880] = "zhōu";
	dict[28881] = "yáo";
	dict[28882] = "shì";
	dict[28883] = "wēi";
	dict[28884] = "tóng,dòng";
	dict[28885] = "miè";
	dict[28886] = "zāi";
	dict[28887] = "kài";
	dict[28888] = "hōng";
	dict[28889] = "lào,luò";
	dict[28890] = "xiá";
	dict[28891] = "zhú";
	dict[28892] = "xuǎn";
	dict[28893] = "zhēng";
	dict[28894] = "pò";
	dict[28895] = "yān";
	dict[28896] = "huí,huǐ";
	dict[28897] = "guāng";
	dict[28898] = "chè";
	dict[28899] = "huī";
	dict[28900] = "kǎo";
	dict[28901] = "jù";
	dict[28902] = "fán";
	dict[28903] = "shāo";
	dict[28904] = "yè";
	dict[28905] = "huì";
	dict[28907] = "tàng";
	dict[28908] = "jìn";
	dict[28909] = "rè";
	dict[28910] = "liè";
	dict[28911] = "xī";
	dict[28912] = "fú,páo";
	dict[28913] = "jiǒng";
	dict[28914] = "xiè,chè";
	dict[28915] = "pǔ";
	dict[28916] = "tīng";
	dict[28917] = "zhuó";
	dict[28918] = "tǐng";
	dict[28919] = "wán";
	dict[28920] = "hǎi";
	dict[28921] = "pēng";
	dict[28922] = "lǎng";
	dict[28923] = "yàn";
	dict[28924] = "xù";
	dict[28925] = "fēng";
	dict[28926] = "chì";
	dict[28927] = "róng";
	dict[28928] = "hú";
	dict[28929] = "xī";
	dict[28930] = "shū";
	dict[28931] = "hè";
	dict[28932] = "xūn,hūn";
	dict[28933] = "kù";
	dict[28934] = "juān,yè";
	dict[28935] = "xiāo";
	dict[28936] = "xī";
	dict[28937] = "yān";
	dict[28938] = "hàn";
	dict[28939] = "zhuàng";
	dict[28940] = "qū,jùn";
	dict[28941] = "dì";
	dict[28942] = "xiè,chè";
	dict[28943] = "jí,qì";
	dict[28944] = "wù";
	dict[28945] = "yān";
	dict[28946] = "lǚ";
	dict[28947] = "hán";
	dict[28948] = "yàn";
	dict[28949] = "huàn";
	dict[28950] = "mèn";
	dict[28951] = "jú";
	dict[28952] = "dào";
	dict[28953] = "bèi";
	dict[28954] = "fén";
	dict[28955] = "lìn";
	dict[28956] = "kūn";
	dict[28957] = "hùn";
	dict[28958] = "tūn";
	dict[28959] = "xī";
	dict[28960] = "cuì";
	dict[28961] = "wú";
	dict[28962] = "hōng";
	dict[28963] = "chǎo,jù";
	dict[28964] = "fǔ";
	dict[28965] = "wò,ài";
	dict[28966] = "jiāo";
	dict[28967] = "zǒng,cōng";
	dict[28968] = "fèng";
	dict[28969] = "píng";
	dict[28970] = "qióng";
	dict[28971] = "ruò";
	dict[28972] = "xī,yì";
	dict[28973] = "qióng";
	dict[28974] = "xìn";
	dict[28975] = "zhuō,chāo";
	dict[28976] = "yàn";
	dict[28977] = "yàn";
	dict[28978] = "yì";
	dict[28979] = "jué";
	dict[28980] = "yù";
	dict[28981] = "gàng";
	dict[28982] = "rán";
	dict[28983] = "pí";
	dict[28984] = "xiǒng,yīng";
	dict[28985] = "gàng";
	dict[28986] = "shēng";
	dict[28987] = "chàng";
	dict[28988] = "shāo";
	dict[28989] = "xiǒng,yīng";
	dict[28990] = "niǎn";
	dict[28991] = "gēng";
	dict[28992] = "qū";
	dict[28993] = "chén";
	dict[28994] = "hè";
	dict[28995] = "kuǐ";
	dict[28996] = "zhǒng";
	dict[28997] = "duàn";
	dict[28998] = "xiā";
	dict[28999] = "huī,yùn,xūn";
	dict[29e3] = "fèng";
	dict[29001] = "liàn";
	dict[29002] = "xuān";
	dict[29003] = "xīng";
	dict[29004] = "huáng";
	dict[29005] = "jiǎo,qiāo";
	dict[29006] = "jiān";
	dict[29007] = "bì";
	dict[29008] = "yīng";
	dict[29009] = "zhǔ";
	dict[29010] = "wěi";
	dict[29011] = "tuān";
	dict[29012] = "shǎn,qián,shān";
	dict[29013] = "xī,yí";
	dict[29014] = "nuǎn";
	dict[29015] = "nuǎn";
	dict[29016] = "chán";
	dict[29017] = "yān";
	dict[29018] = "jiǒng";
	dict[29019] = "jiǒng";
	dict[29020] = "yù";
	dict[29021] = "mèi";
	dict[29022] = "shā,shà";
	dict[29023] = "wèi";
	dict[29024] = "yè,zhá";
	dict[29025] = "jìn";
	dict[29026] = "qióng";
	dict[29027] = "róu";
	dict[29028] = "méi";
	dict[29029] = "huàn";
	dict[29030] = "xù";
	dict[29031] = "zhào";
	dict[29032] = "wēi";
	dict[29033] = "fán";
	dict[29034] = "qiú";
	dict[29035] = "suì";
	dict[29036] = "yáng,yàng";
	dict[29037] = "liè";
	dict[29038] = "zhǔ";
	dict[29039] = "jiē";
	dict[29040] = "zào";
	dict[29041] = "guā";
	dict[29042] = "bāo";
	dict[29043] = "hú";
	dict[29044] = "yūn,yǔn";
	dict[29045] = "nǎn";
	dict[29046] = "shì";
	dict[29047] = "huǒ";
	dict[29048] = "biān";
	dict[29049] = "gòu";
	dict[29050] = "tuì";
	dict[29051] = "táng";
	dict[29052] = "chǎo";
	dict[29053] = "shān";
	dict[29054] = "ēn,yūn";
	dict[29055] = "bó";
	dict[29056] = "huǎng";
	dict[29057] = "xié";
	dict[29058] = "xì";
	dict[29059] = "wù";
	dict[29060] = "xī";
	dict[29061] = "yūn,yǔn";
	dict[29062] = "hé";
	dict[29063] = "hè,xiāo";
	dict[29064] = "xī";
	dict[29065] = "yún";
	dict[29066] = "xióng";
	dict[29067] = "xióng";
	dict[29068] = "shǎn";
	dict[29069] = "qióng";
	dict[29070] = "yào";
	dict[29071] = "xūn,xùn";
	dict[29072] = "mì";
	dict[29073] = "lián";
	dict[29074] = "yíng";
	dict[29075] = "wǔ";
	dict[29076] = "róng";
	dict[29077] = "gòng";
	dict[29078] = "yàn";
	dict[29079] = "qiàng";
	dict[29080] = "liū";
	dict[29081] = "xī";
	dict[29082] = "bì";
	dict[29083] = "biāo";
	dict[29084] = "cōng,zǒng";
	dict[29085] = "lù,āo";
	dict[29086] = "jiān";
	dict[29087] = "shú";
	dict[29088] = "yì";
	dict[29089] = "lóu";
	dict[29090] = "péng,fēng";
	dict[29091] = "suī,cuǐ";
	dict[29092] = "yì";
	dict[29093] = "tēng";
	dict[29094] = "jué";
	dict[29095] = "zōng";
	dict[29096] = "yùn,yù";
	dict[29097] = "hù";
	dict[29098] = "yí";
	dict[29099] = "zhì";
	dict[29100] = "āo,áo";
	dict[29101] = "wèi";
	dict[29102] = "liǔ";
	dict[29103] = "hàn,rǎn";
	dict[29104] = "ōu,ǒu";
	dict[29105] = "rè";
	dict[29106] = "jiǒng";
	dict[29107] = "màn";
	dict[29108] = "kūn";
	dict[29109] = "shāng";
	dict[29110] = "cuàn";
	dict[29111] = "zèng";
	dict[29112] = "jiān";
	dict[29113] = "xī";
	dict[29114] = "xī";
	dict[29115] = "xī";
	dict[29116] = "yì";
	dict[29117] = "xiào";
	dict[29118] = "chì";
	dict[29119] = "huáng,huǎng";
	dict[29120] = "chǎn,dǎn,chàn";
	dict[29121] = "yè";
	dict[29122] = "tán";
	dict[29123] = "rán";
	dict[29124] = "yàn";
	dict[29125] = "xún";
	dict[29126] = "qiāo";
	dict[29127] = "jùn";
	dict[29128] = "dēng";
	dict[29129] = "dùn";
	dict[29130] = "shēn";
	dict[29131] = "jiāo,qiáo,jué,zhuó";
	dict[29132] = "fén";
	dict[29133] = "sī";
	dict[29134] = "liáo,liǎo";
	dict[29135] = "yù";
	dict[29136] = "lín";
	dict[29137] = "tóng,dòng";
	dict[29138] = "shāo";
	dict[29139] = "fén";
	dict[29140] = "fán";
	dict[29141] = "yàn,yān";
	dict[29142] = "xún";
	dict[29143] = "làn";
	dict[29144] = "měi";
	dict[29145] = "tàng";
	dict[29146] = "yì";
	dict[29147] = "jiǒng";
	dict[29148] = "mèn";
	dict[29149] = "zhǔ";
	dict[29150] = "jiǎo";
	dict[29151] = "yíng";
	dict[29152] = "yù";
	dict[29153] = "yì";
	dict[29154] = "xué";
	dict[29155] = "lán";
	dict[29156] = "tài,liè";
	dict[29157] = "zào";
	dict[29158] = "càn";
	dict[29159] = "suì";
	dict[29160] = "xī";
	dict[29161] = "què";
	dict[29162] = "zǒng";
	dict[29163] = "lián";
	dict[29164] = "huǐ";
	dict[29165] = "zhú";
	dict[29166] = "xiè";
	dict[29167] = "líng";
	dict[29168] = "wēi";
	dict[29169] = "yì";
	dict[29170] = "xié";
	dict[29171] = "zhào";
	dict[29172] = "huì";
	dict[29173] = "dá";
	dict[29174] = "nóng";
	dict[29175] = "lán";
	dict[29176] = "xū";
	dict[29177] = "xiǎn";
	dict[29178] = "hè";
	dict[29179] = "xūn";
	dict[29180] = "jìn";
	dict[29181] = "chóu";
	dict[29182] = "dào";
	dict[29183] = "yào";
	dict[29184] = "hè";
	dict[29185] = "làn";
	dict[29186] = "biāo";
	dict[29187] = "róng,yíng";
	dict[29188] = "lì,liè";
	dict[29189] = "mò";
	dict[29190] = "bào";
	dict[29191] = "ruò";
	dict[29192] = "lǜ";
	dict[29193] = "là,liè";
	dict[29194] = "āo";
	dict[29195] = "xūn,xùn";
	dict[29196] = "kuàng,huǎng";
	dict[29197] = "shuò";
	dict[29198] = "liáo,liǎo";
	dict[29199] = "lì";
	dict[29200] = "lú";
	dict[29201] = "jué";
	dict[29202] = "liáo,liǎo";
	dict[29203] = "yàn,xún";
	dict[29204] = "xī";
	dict[29205] = "xiè";
	dict[29206] = "lóng";
	dict[29207] = "yè";
	dict[29208] = "cān";
	dict[29209] = "rǎng";
	dict[29210] = "yuè";
	dict[29211] = "làn";
	dict[29212] = "cóng";
	dict[29213] = "jué";
	dict[29214] = "chóng";
	dict[29215] = "guàn";
	dict[29216] = "qú";
	dict[29217] = "chè";
	dict[29218] = "mí";
	dict[29219] = "tǎng";
	dict[29220] = "làn";
	dict[29221] = "zhú";
	dict[29222] = "lǎn,làn";
	dict[29223] = "líng";
	dict[29224] = "cuàn";
	dict[29225] = "yù";
	dict[29226] = "zhǎo,zhuǎ";
	dict[29227] = "zhǎo,zhuǎ";
	dict[29228] = "pá";
	dict[29229] = "zhēng";
	dict[29230] = "páo";
	dict[29231] = "chēng,chèn";
	dict[29232] = "yuán";
	dict[29233] = "ài";
	dict[29234] = "wéi,wèi";
	dict[29235] = "han";
	dict[29236] = "jué";
	dict[29237] = "jué";
	dict[29238] = "fù,fǔ";
	dict[29239] = "yé";
	dict[29240] = "bà";
	dict[29241] = "diē";
	dict[29242] = "yé";
	dict[29243] = "yáo";
	dict[29244] = "zǔ";
	dict[29245] = "shuǎng";
	dict[29246] = "ěr";
	dict[29247] = "pán";
	dict[29248] = "chuáng";
	dict[29249] = "kē";
	dict[29250] = "zāng";
	dict[29251] = "dié";
	dict[29252] = "qiāng";
	dict[29253] = "yōng";
	dict[29254] = "qiáng";
	dict[29255] = "piàn,piān";
	dict[29256] = "bǎn";
	dict[29257] = "pàn";
	dict[29258] = "cháo";
	dict[29259] = "jiān";
	dict[29260] = "pái";
	dict[29261] = "dú";
	dict[29262] = "chuāng";
	dict[29263] = "yú";
	dict[29264] = "zhá";
	dict[29265] = "biān,miàn";
	dict[29266] = "dié";
	dict[29267] = "bǎng";
	dict[29268] = "bó";
	dict[29269] = "chuāng";
	dict[29270] = "yǒu";
	dict[29271] = "yǒu,yōng";
	dict[29272] = "dú";
	dict[29273] = "yá";
	dict[29274] = "chēng,chèng";
	dict[29275] = "niú";
	dict[29276] = "niú";
	dict[29277] = "pìn";
	dict[29278] = "jiū,lè";
	dict[29279] = "móu,mù";
	dict[29280] = "tā";
	dict[29281] = "mǔ";
	dict[29282] = "láo";
	dict[29283] = "rèn";
	dict[29284] = "māng";
	dict[29285] = "fāng";
	dict[29286] = "máo";
	dict[29287] = "mù";
	dict[29288] = "gāng";
	dict[29289] = "wù";
	dict[29290] = "yàn";
	dict[29291] = "gē,qiú";
	dict[29292] = "bèi";
	dict[29293] = "sì";
	dict[29294] = "jiàn";
	dict[29295] = "gǔ";
	dict[29296] = "yòu,chōu";
	dict[29297] = "kē";
	dict[29298] = "shēng";
	dict[29299] = "mǔ";
	dict[29300] = "dǐ";
	dict[29301] = "qiān";
	dict[29302] = "quàn";
	dict[29303] = "quán";
	dict[29304] = "zì";
	dict[29305] = "tè";
	dict[29306] = "xī";
	dict[29307] = "máng";
	dict[29308] = "kēng";
	dict[29309] = "qiān";
	dict[29310] = "wǔ";
	dict[29311] = "gù";
	dict[29312] = "xī";
	dict[29313] = "lí";
	dict[29314] = "lí";
	dict[29315] = "pǒu";
	dict[29316] = "jī";
	dict[29317] = "gāng";
	dict[29318] = "zhí,tè";
	dict[29319] = "bēn";
	dict[29320] = "quán";
	dict[29321] = "chún";
	dict[29322] = "dú";
	dict[29323] = "jù";
	dict[29324] = "jiā";
	dict[29325] = "jiān,qián";
	dict[29326] = "fēng";
	dict[29327] = "piān";
	dict[29328] = "kē";
	dict[29329] = "jú";
	dict[29330] = "kào";
	dict[29331] = "chú";
	dict[29332] = "xì";
	dict[29333] = "bèi";
	dict[29334] = "luò";
	dict[29335] = "jiè";
	dict[29336] = "má";
	dict[29337] = "sān";
	dict[29338] = "wèi";
	dict[29339] = "máo,lí";
	dict[29340] = "dūn";
	dict[29341] = "tóng";
	dict[29342] = "qiáo";
	dict[29343] = "jiàng";
	dict[29344] = "xī";
	dict[29345] = "lì";
	dict[29346] = "dú";
	dict[29347] = "liè";
	dict[29348] = "pái";
	dict[29349] = "piāo";
	dict[29350] = "bào";
	dict[29351] = "xī";
	dict[29352] = "chōu";
	dict[29353] = "wéi";
	dict[29354] = "kuí";
	dict[29355] = "chōu";
	dict[29356] = "quǎn";
	dict[29357] = "quǎn";
	dict[29358] = "quǎn,bá";
	dict[29359] = "fàn";
	dict[29360] = "qiú";
	dict[29361] = "jǐ";
	dict[29362] = "chái";
	dict[29363] = "zhuó,bào";
	dict[29364] = "hān,àn";
	dict[29365] = "gē";
	dict[29366] = "zhuàng";
	dict[29367] = "guǎng";
	dict[29368] = "mǎ";
	dict[29369] = "yóu";
	dict[29370] = "kàng,gǎng";
	dict[29371] = "pèi,fèi";
	dict[29372] = "hǒu";
	dict[29373] = "yà";
	dict[29374] = "yín";
	dict[29375] = "huān,fān";
	dict[29376] = "zhuàng";
	dict[29377] = "yǔn";
	dict[29378] = "kuáng";
	dict[29379] = "niǔ";
	dict[29380] = "dí";
	dict[29381] = "kuáng";
	dict[29382] = "zhòng";
	dict[29383] = "mù";
	dict[29384] = "bèi";
	dict[29385] = "pī";
	dict[29386] = "jú";
	dict[29387] = "yí,quán,chí";
	dict[29388] = "shēng,xīng";
	dict[29389] = "páo";
	dict[29390] = "xiá";
	dict[29391] = "tuó,yí";
	dict[29392] = "hú";
	dict[29393] = "líng";
	dict[29394] = "fèi";
	dict[29395] = "pī";
	dict[29396] = "nǐ";
	dict[29397] = "yǎo";
	dict[29398] = "yòu";
	dict[29399] = "gǒu";
	dict[29400] = "xuè";
	dict[29401] = "jū";
	dict[29402] = "dàn";
	dict[29403] = "bó";
	dict[29404] = "kǔ";
	dict[29405] = "xiǎn";
	dict[29406] = "níng";
	dict[29407] = "huán,huān";
	dict[29408] = "hěn";
	dict[29409] = "jiǎo";
	dict[29410] = "hé,mò";
	dict[29411] = "zhào";
	dict[29412] = "jié";
	dict[29413] = "xùn";
	dict[29414] = "shān";
	dict[29415] = "tà,shì";
	dict[29416] = "róng";
	dict[29417] = "shòu";
	dict[29418] = "tóng,dòng";
	dict[29419] = "lǎo";
	dict[29420] = "dú";
	dict[29421] = "xiá";
	dict[29422] = "shī";
	dict[29423] = "kuài";
	dict[29424] = "zhēng";
	dict[29425] = "yù";
	dict[29426] = "sūn";
	dict[29427] = "yú";
	dict[29428] = "bì";
	dict[29429] = "máng,dòu";
	dict[29430] = "xī,shǐ";
	dict[29431] = "juàn";
	dict[29432] = "lí";
	dict[29433] = "xiá";
	dict[29434] = "yín";
	dict[29435] = "suān";
	dict[29436] = "láng";
	dict[29437] = "bèi";
	dict[29438] = "zhì";
	dict[29439] = "yán";
	dict[29440] = "shā";
	dict[29441] = "lì";
	dict[29442] = "hàn";
	dict[29443] = "xiǎn";
	dict[29444] = "jīng";
	dict[29445] = "pái";
	dict[29446] = "fēi";
	dict[29447] = "xiāo";
	dict[29448] = "bài,pí";
	dict[29449] = "qí";
	dict[29450] = "ní";
	dict[29451] = "biāo";
	dict[29452] = "yìn";
	dict[29453] = "lái";
	dict[29454] = "liè";
	dict[29455] = "jiān,yàn";
	dict[29456] = "qiāng";
	dict[29457] = "kūn";
	dict[29458] = "yàn";
	dict[29459] = "guō";
	dict[29460] = "zòng";
	dict[29461] = "mí";
	dict[29462] = "chāng";
	dict[29463] = "yī,yǐ";
	dict[29464] = "zhì";
	dict[29465] = "zhēng";
	dict[29466] = "yá,wèi";
	dict[29467] = "měng";
	dict[29468] = "cāi";
	dict[29469] = "cù";
	dict[29470] = "shē";
	dict[29471] = "liè";
	dict[29473] = "luó";
	dict[29474] = "hú";
	dict[29475] = "zōng";
	dict[29476] = "guì";
	dict[29477] = "wěi";
	dict[29478] = "fēng";
	dict[29479] = "wō";
	dict[29480] = "yuán";
	dict[29481] = "xīng";
	dict[29482] = "zhū";
	dict[29483] = "māo,máo";
	dict[29484] = "wèi";
	dict[29485] = "chuàn,chuān";
	dict[29486] = "xiàn";
	dict[29487] = "tuān,tuàn";
	dict[29488] = "yà,jiá,qiè";
	dict[29489] = "náo";
	dict[29490] = "xiē,hè,gé,hài";
	dict[29491] = "jiā";
	dict[29492] = "hóu";
	dict[29493] = "biān,piàn";
	dict[29494] = "yóu";
	dict[29495] = "yóu";
	dict[29496] = "méi";
	dict[29497] = "chá";
	dict[29498] = "yáo";
	dict[29499] = "sūn";
	dict[29500] = "bó,pò";
	dict[29501] = "míng";
	dict[29502] = "huá";
	dict[29503] = "yuán";
	dict[29504] = "sōu";
	dict[29505] = "mǎ";
	dict[29506] = "huán";
	dict[29507] = "dāi";
	dict[29508] = "yù";
	dict[29509] = "shī";
	dict[29510] = "háo";
	dict[29511] = "qiāng";
	dict[29512] = "yì";
	dict[29513] = "zhēn";
	dict[29514] = "cāng";
	dict[29515] = "háo,gāo";
	dict[29516] = "màn";
	dict[29517] = "jìng";
	dict[29518] = "jiǎng";
	dict[29519] = "mò";
	dict[29520] = "zhāng";
	dict[29521] = "chán";
	dict[29522] = "áo";
	dict[29523] = "áo";
	dict[29524] = "háo";
	dict[29525] = "suǒ";
	dict[29526] = "fén,fèn";
	dict[29527] = "jué";
	dict[29528] = "bì";
	dict[29529] = "bì";
	dict[29530] = "huáng";
	dict[29531] = "pú";
	dict[29532] = "lín,lìn";
	dict[29533] = "xù";
	dict[29534] = "tóng";
	dict[29535] = "yào,xiāo";
	dict[29536] = "liáo";
	dict[29537] = "shuò,xī";
	dict[29538] = "xiāo";
	dict[29539] = "shòu";
	dict[29540] = "dūn";
	dict[29541] = "jiào";
	dict[29542] = "gé,liè,xiē";
	dict[29543] = "juàn";
	dict[29544] = "dú";
	dict[29545] = "huì";
	dict[29546] = "kuài";
	dict[29547] = "xiǎn";
	dict[29548] = "xiè";
	dict[29549] = "tǎ";
	dict[29550] = "xiǎn";
	dict[29551] = "xūn";
	dict[29552] = "níng";
	dict[29553] = "biān,piàn";
	dict[29554] = "huò";
	dict[29555] = "nòu,rú";
	dict[29556] = "méng";
	dict[29557] = "liè";
	dict[29558] = "náo,nǎo,yōu";
	dict[29559] = "guǎng";
	dict[29560] = "shòu";
	dict[29561] = "lú";
	dict[29562] = "tǎ";
	dict[29563] = "xiàn";
	dict[29564] = "mí";
	dict[29565] = "ráng";
	dict[29566] = "huān";
	dict[29567] = "náo,yōu";
	dict[29568] = "luó";
	dict[29569] = "xiǎn";
	dict[29570] = "qí";
	dict[29571] = "jué";
	dict[29572] = "xuán";
	dict[29573] = "miào";
	dict[29574] = "zī";
	dict[29575] = "shuài,lǜ";
	dict[29576] = "lú";
	dict[29577] = "yù";
	dict[29578] = "sù";
	dict[29579] = "wáng,wàng";
	dict[29580] = "qiú";
	dict[29581] = "gǎ";
	dict[29582] = "dīng";
	dict[29583] = "lè";
	dict[29584] = "bā";
	dict[29585] = "jī";
	dict[29586] = "hóng";
	dict[29587] = "dì";
	dict[29588] = "chuàn";
	dict[29589] = "gān";
	dict[29590] = "jiǔ";
	dict[29591] = "yú";
	dict[29592] = "qǐ";
	dict[29593] = "yú";
	dict[29594] = "chàng,yáng";
	dict[29595] = "mǎ";
	dict[29596] = "hóng";
	dict[29597] = "wǔ";
	dict[29598] = "fū";
	dict[29599] = "mín,wén";
	dict[29600] = "jiè";
	dict[29601] = "yà";
	dict[29602] = "bīn,fēn";
	dict[29603] = "biàn";
	dict[29604] = "bàng";
	dict[29605] = "yuè";
	dict[29606] = "jué";
	dict[29607] = "mén,yǔn";
	dict[29608] = "jué";
	dict[29609] = "wán";
	dict[29610] = "jiān,qián";
	dict[29611] = "méi";
	dict[29612] = "dǎn";
	dict[29613] = "pín";
	dict[29614] = "wěi";
	dict[29615] = "huán";
	dict[29616] = "xiàn";
	dict[29617] = "qiāng,cāng";
	dict[29618] = "líng";
	dict[29619] = "dài";
	dict[29620] = "yì";
	dict[29621] = "án,gān";
	dict[29622] = "píng";
	dict[29623] = "diàn";
	dict[29624] = "fú";
	dict[29625] = "xuán,xián";
	dict[29626] = "xǐ";
	dict[29627] = "bō";
	dict[29628] = "cī,cǐ";
	dict[29629] = "gǒu";
	dict[29630] = "jiǎ";
	dict[29631] = "sháo";
	dict[29632] = "pò";
	dict[29633] = "cí";
	dict[29634] = "kē";
	dict[29635] = "rǎn";
	dict[29636] = "shēng";
	dict[29637] = "shēn";
	dict[29638] = "yí,tāi";
	dict[29639] = "zǔ,jù";
	dict[29640] = "jiā";
	dict[29641] = "mín";
	dict[29642] = "shān";
	dict[29643] = "liǔ";
	dict[29644] = "bì";
	dict[29645] = "zhēn";
	dict[29646] = "zhēn";
	dict[29647] = "jué";
	dict[29648] = "fà";
	dict[29649] = "lóng";
	dict[29650] = "jīn";
	dict[29651] = "jiào";
	dict[29652] = "jiàn";
	dict[29653] = "lì";
	dict[29654] = "guāng";
	dict[29655] = "xiān";
	dict[29656] = "zhōu";
	dict[29657] = "gǒng";
	dict[29658] = "yān";
	dict[29659] = "xiù";
	dict[29660] = "yáng";
	dict[29661] = "xǔ";
	dict[29662] = "luò";
	dict[29663] = "sù";
	dict[29664] = "zhū";
	dict[29665] = "qín";
	dict[29666] = "yín,kèn";
	dict[29667] = "xún";
	dict[29668] = "bǎo";
	dict[29669] = "ěr";
	dict[29670] = "xiàng";
	dict[29671] = "yáo";
	dict[29672] = "xiá";
	dict[29673] = "héng";
	dict[29674] = "guī";
	dict[29675] = "chōng";
	dict[29676] = "xù";
	dict[29677] = "bān";
	dict[29678] = "pèi";
	dict[29679] = "lǎo";
	dict[29680] = "dāng";
	dict[29681] = "yīng";
	dict[29682] = "hún,huī";
	dict[29683] = "wén";
	dict[29684] = "é";
	dict[29685] = "chéng";
	dict[29686] = "dì,tí";
	dict[29687] = "wǔ";
	dict[29688] = "wú";
	dict[29689] = "chéng";
	dict[29690] = "jùn";
	dict[29691] = "méi";
	dict[29692] = "bèi";
	dict[29693] = "tǐng";
	dict[29694] = "xiàn";
	dict[29695] = "chù";
	dict[29696] = "hán";
	dict[29697] = "xuán,qióng";
	dict[29698] = "yán";
	dict[29699] = "qiú";
	dict[29700] = "xuàn";
	dict[29701] = "láng";
	dict[29702] = "lǐ";
	dict[29703] = "xiù";
	dict[29704] = "fú,fū";
	dict[29705] = "liú";
	dict[29706] = "yá";
	dict[29707] = "xī";
	dict[29708] = "líng";
	dict[29709] = "lí";
	dict[29710] = "jīn";
	dict[29711] = "liǎn";
	dict[29712] = "suǒ";
	dict[29713] = "suǒ";
	dict[29714] = "fēng";
	dict[29715] = "wán";
	dict[29716] = "diàn";
	dict[29717] = "pín,bǐng";
	dict[29718] = "zhǎn";
	dict[29719] = "cuì,sè";
	dict[29720] = "mín";
	dict[29721] = "yù";
	dict[29722] = "jū";
	dict[29723] = "chēn";
	dict[29724] = "lái";
	dict[29725] = "mín";
	dict[29726] = "shèng";
	dict[29727] = "wéi,yù";
	dict[29728] = "tiǎn,tiàn";
	dict[29729] = "shū";
	dict[29730] = "zhuó,zuó";
	dict[29731] = "běng,pěi";
	dict[29732] = "chēng";
	dict[29733] = "hǔ";
	dict[29734] = "qí";
	dict[29735] = "è";
	dict[29736] = "kūn";
	dict[29737] = "chāng";
	dict[29738] = "qí";
	dict[29739] = "běng";
	dict[29740] = "wǎn";
	dict[29741] = "lù";
	dict[29742] = "cóng";
	dict[29743] = "guǎn";
	dict[29744] = "yǎn";
	dict[29745] = "diāo";
	dict[29746] = "bèi";
	dict[29747] = "lín";
	dict[29748] = "qín";
	dict[29749] = "pí";
	dict[29750] = "pá";
	dict[29751] = "què";
	dict[29752] = "zhuó";
	dict[29753] = "qín";
	dict[29754] = "fà";
	dict[29755] = "jīn";
	dict[29756] = "qióng";
	dict[29757] = "dǔ";
	dict[29758] = "jiè";
	dict[29759] = "hún,huī";
	dict[29760] = "yǔ";
	dict[29761] = "mào";
	dict[29762] = "méi";
	dict[29763] = "chūn";
	dict[29764] = "xuān";
	dict[29765] = "tí";
	dict[29766] = "xīng";
	dict[29767] = "dài";
	dict[29768] = "róu";
	dict[29769] = "mín";
	dict[29770] = "jiān";
	dict[29771] = "wěi";
	dict[29772] = "ruǎn";
	dict[29773] = "huàn";
	dict[29774] = "xié,jiē";
	dict[29775] = "chuān";
	dict[29776] = "jiǎn";
	dict[29777] = "zhuàn";
	dict[29778] = "chàng,yáng";
	dict[29779] = "liàn";
	dict[29780] = "quán";
	dict[29781] = "xiá";
	dict[29782] = "duàn";
	dict[29783] = "yuàn";
	dict[29784] = "yé";
	dict[29785] = "nǎo";
	dict[29786] = "hú";
	dict[29787] = "yīng";
	dict[29788] = "yú";
	dict[29789] = "huáng";
	dict[29790] = "ruì";
	dict[29791] = "sè";
	dict[29792] = "liú";
	dict[29793] = "shī";
	dict[29794] = "róng";
	dict[29795] = "suǒ";
	dict[29796] = "yáo";
	dict[29797] = "wēn";
	dict[29798] = "wǔ";
	dict[29799] = "zhēn";
	dict[29800] = "jìn";
	dict[29801] = "yíng";
	dict[29802] = "mǎ";
	dict[29803] = "tāo";
	dict[29804] = "liú";
	dict[29805] = "táng";
	dict[29806] = "lì";
	dict[29807] = "láng";
	dict[29808] = "guī";
	dict[29809] = "tiàn,tián,zhèn";
	dict[29810] = "qiāng,cāng";
	dict[29811] = "cuō";
	dict[29812] = "jué";
	dict[29813] = "zhǎo";
	dict[29814] = "yáo";
	dict[29815] = "ài";
	dict[29816] = "bīn,pián";
	dict[29817] = "tú,shū";
	dict[29818] = "cháng";
	dict[29819] = "kūn";
	dict[29820] = "zhuān";
	dict[29821] = "cōng";
	dict[29822] = "jǐn";
	dict[29823] = "yī";
	dict[29824] = "cuǐ";
	dict[29825] = "cōng";
	dict[29826] = "qí";
	dict[29827] = "lí";
	dict[29828] = "jǐng";
	dict[29829] = "zǎo,suǒ";
	dict[29830] = "qiú";
	dict[29831] = "xuán";
	dict[29832] = "áo";
	dict[29833] = "liǎn";
	dict[29834] = "mén";
	dict[29835] = "zhāng";
	dict[29836] = "yín";
	dict[29837] = "yè";
	dict[29838] = "yīng";
	dict[29839] = "zhì";
	dict[29840] = "lù";
	dict[29841] = "wú";
	dict[29842] = "dēng";
	dict[29843] = "xiù";
	dict[29844] = "zēng";
	dict[29845] = "xún";
	dict[29846] = "qú";
	dict[29847] = "dàng";
	dict[29848] = "lín";
	dict[29849] = "liáo";
	dict[29850] = "qióng,jué";
	dict[29851] = "sù";
	dict[29852] = "huáng";
	dict[29853] = "guī";
	dict[29854] = "pú";
	dict[29855] = "jǐng";
	dict[29856] = "fán";
	dict[29857] = "jīn";
	dict[29858] = "liú";
	dict[29859] = "jī";
	dict[29860] = "huì";
	dict[29861] = "jǐng";
	dict[29862] = "ài";
	dict[29863] = "bì";
	dict[29864] = "càn";
	dict[29865] = "qú";
	dict[29866] = "zǎo";
	dict[29867] = "dāng";
	dict[29868] = "jiǎo";
	dict[29869] = "guǎn";
	dict[29870] = "tǎn";
	dict[29871] = "huì,kuài";
	dict[29872] = "huán";
	dict[29873] = "sè";
	dict[29874] = "suì";
	dict[29875] = "tián";
	dict[29876] = "chǔ";
	dict[29877] = "yú";
	dict[29878] = "jìn";
	dict[29879] = "lú,fū";
	dict[29880] = "bīn,pián";
	dict[29881] = "shú";
	dict[29882] = "wèn";
	dict[29883] = "zuǐ";
	dict[29884] = "lán";
	dict[29885] = "xǐ";
	dict[29886] = "jì,zī";
	dict[29887] = "xuán";
	dict[29888] = "ruǎn";
	dict[29889] = "wò";
	dict[29890] = "gài";
	dict[29891] = "léi";
	dict[29892] = "dú";
	dict[29893] = "lì";
	dict[29894] = "zhì";
	dict[29895] = "róu";
	dict[29896] = "lí";
	dict[29897] = "zàn";
	dict[29898] = "qióng";
	dict[29899] = "tì";
	dict[29900] = "guī";
	dict[29901] = "suí";
	dict[29902] = "là";
	dict[29903] = "lóng";
	dict[29904] = "lú";
	dict[29905] = "lì";
	dict[29906] = "zàn";
	dict[29907] = "làn";
	dict[29908] = "yīng";
	dict[29909] = "mí,xǐ";
	dict[29910] = "xiāng";
	dict[29911] = "qióng,wěi,wèi";
	dict[29912] = "guàn";
	dict[29913] = "dào";
	dict[29914] = "zàn";
	dict[29915] = "huán,yè,yà";
	dict[29916] = "guā";
	dict[29917] = "bó";
	dict[29918] = "dié";
	dict[29919] = "bó,páo";
	dict[29920] = "hù";
	dict[29921] = "zhí,hú";
	dict[29922] = "piáo";
	dict[29923] = "bàn";
	dict[29924] = "ráng";
	dict[29925] = "lì";
	dict[29926] = "wǎ,wà";
	dict[29928] = "xiáng,hóng";
	dict[29930] = "bǎn";
	dict[29931] = "pén";
	dict[29932] = "fǎng";
	dict[29933] = "dǎn";
	dict[29934] = "wèng";
	dict[29935] = "ōu";
	dict[29939] = "hú";
	dict[29940] = "líng";
	dict[29941] = "yí";
	dict[29942] = "píng";
	dict[29943] = "cí";
	dict[29944] = "bǎi,wǎ";
	dict[29945] = "juàn,juān";
	dict[29946] = "cháng";
	dict[29947] = "chī";
	dict[29949] = "dàng";
	dict[29950] = "wā";
	dict[29951] = "bù";
	dict[29952] = "zhuì";
	dict[29953] = "píng";
	dict[29954] = "biān";
	dict[29955] = "zhòu";
	dict[29956] = "zhēn";
	dict[29958] = "cí";
	dict[29959] = "yīng";
	dict[29960] = "qì";
	dict[29961] = "xián";
	dict[29962] = "lǒu";
	dict[29963] = "dì";
	dict[29964] = "ōu";
	dict[29965] = "méng";
	dict[29966] = "zhuān";
	dict[29967] = "bèng";
	dict[29968] = "lìn";
	dict[29969] = "zèng";
	dict[29970] = "wǔ";
	dict[29971] = "pì";
	dict[29972] = "dān";
	dict[29973] = "wèng";
	dict[29974] = "yīng";
	dict[29975] = "yǎn";
	dict[29976] = "gān";
	dict[29977] = "dài";
	dict[29978] = "shèn,shén";
	dict[29979] = "tián";
	dict[29980] = "tián";
	dict[29981] = "hán";
	dict[29982] = "cháng";
	dict[29983] = "shēng";
	dict[29984] = "qíng";
	dict[29985] = "shēn";
	dict[29986] = "chǎn";
	dict[29987] = "chǎn";
	dict[29988] = "ruí";
	dict[29989] = "shēng";
	dict[29990] = "sū";
	dict[29991] = "shēn";
	dict[29992] = "yòng";
	dict[29993] = "shuǎi";
	dict[29994] = "lù";
	dict[29995] = "fǔ";
	dict[29996] = "yǒng";
	dict[29997] = "béng";
	dict[29998] = "béng";
	dict[29999] = "níng,nìng";
	dict[3e4] = "tián";
	dict[30001] = "yóu";
	dict[30002] = "jiǎ";
	dict[30003] = "shēn";
	dict[30004] = "yóu,zhá";
	dict[30005] = "diàn";
	dict[30006] = "fú";
	dict[30007] = "nán";
	dict[30008] = "diàn,tián,shèng";
	dict[30009] = "pīng";
	dict[30010] = "tǐng,dīng";
	dict[30011] = "huà";
	dict[30012] = "tǐng,dīng";
	dict[30013] = "zhèn";
	dict[30014] = "zāi,zī";
	dict[30015] = "méng";
	dict[30016] = "bì";
	dict[30017] = "bì,qí";
	dict[30018] = "mǔ";
	dict[30019] = "xún";
	dict[30020] = "liú";
	dict[30021] = "chàng";
	dict[30022] = "mǔ";
	dict[30023] = "yún";
	dict[30024] = "fàn";
	dict[30025] = "fú";
	dict[30026] = "gēng";
	dict[30027] = "tián";
	dict[30028] = "jiè";
	dict[30029] = "jiè";
	dict[30030] = "quǎn";
	dict[30031] = "wèi";
	dict[30032] = "fú,bì";
	dict[30033] = "tián";
	dict[30034] = "mǔ";
	dict[30035] = "duō";
	dict[30036] = "pàn";
	dict[30037] = "jiāng";
	dict[30038] = "wā";
	dict[30039] = "dá,fú";
	dict[30040] = "nán";
	dict[30041] = "liú";
	dict[30042] = "běn";
	dict[30043] = "zhěn";
	dict[30044] = "xù,chù";
	dict[30045] = "mǔ";
	dict[30046] = "mǔ";
	dict[30047] = "cè,jì";
	dict[30048] = "zāi,zī";
	dict[30049] = "gāi";
	dict[30050] = "bì";
	dict[30051] = "dá";
	dict[30052] = "zhì,chóu,shì";
	dict[30053] = "lüè";
	dict[30054] = "qí";
	dict[30055] = "lüè";
	dict[30056] = "fān,pān";
	dict[30057] = "yī";
	dict[30058] = "fān,pān";
	dict[30059] = "huà";
	dict[30060] = "shē,yú";
	dict[30061] = "shē";
	dict[30062] = "mǔ";
	dict[30063] = "jùn";
	dict[30064] = "yì";
	dict[30065] = "liú";
	dict[30066] = "shē";
	dict[30067] = "dié";
	dict[30068] = "chóu";
	dict[30069] = "huà";
	dict[30070] = "dāng,dàng,dǎng";
	dict[30071] = "zhuì";
	dict[30072] = "jī";
	dict[30073] = "wǎn";
	dict[30074] = "jiāng,jiàng";
	dict[30075] = "chéng";
	dict[30076] = "chàng";
	dict[30077] = "tuǎn";
	dict[30078] = "léi";
	dict[30079] = "jī";
	dict[30080] = "chā";
	dict[30081] = "liú";
	dict[30082] = "dié";
	dict[30083] = "tuǎn";
	dict[30084] = "lín,lìn";
	dict[30085] = "jiāng";
	dict[30086] = "jiāng,qiáng";
	dict[30087] = "chóu";
	dict[30088] = "pì";
	dict[30089] = "dié";
	dict[30090] = "dié";
	dict[30091] = "pǐ,yǎ,shū";
	dict[30092] = "jié,qiè";
	dict[30093] = "dàn";
	dict[30094] = "shū";
	dict[30095] = "shū";
	dict[30096] = "zhì,dì";
	dict[30097] = "yí,nǐ";
	dict[30098] = "nè";
	dict[30099] = "nǎi";
	dict[30100] = "dīng";
	dict[30101] = "bǐ";
	dict[30102] = "jiē";
	dict[30103] = "liáo";
	dict[30104] = "gāng";
	dict[30105] = "gē,yì";
	dict[30106] = "jiù";
	dict[30107] = "zhǒu";
	dict[30108] = "xià";
	dict[30109] = "shàn";
	dict[30110] = "xū";
	dict[30111] = "nüè,yào";
	dict[30112] = "lì,lài";
	dict[30113] = "yáng";
	dict[30114] = "chèn";
	dict[30115] = "yóu";
	dict[30116] = "bā";
	dict[30117] = "jiè";
	dict[30118] = "jué,xuè";
	dict[30119] = "qí";
	dict[30120] = "yǎ,xiā";
	dict[30121] = "cuì";
	dict[30122] = "bì";
	dict[30123] = "yì";
	dict[30124] = "lì";
	dict[30125] = "zòng";
	dict[30126] = "chuāng";
	dict[30127] = "fēng";
	dict[30128] = "zhù";
	dict[30129] = "pào";
	dict[30130] = "pí";
	dict[30131] = "gān";
	dict[30132] = "kē";
	dict[30133] = "cī";
	dict[30134] = "xuē";
	dict[30135] = "zhī";
	dict[30136] = "dǎn";
	dict[30137] = "zhěn";
	dict[30138] = "fá,biǎn";
	dict[30139] = "zhǐ";
	dict[30140] = "téng";
	dict[30141] = "jū";
	dict[30142] = "jí";
	dict[30143] = "fèi,féi";
	dict[30144] = "gōu";
	dict[30145] = "shān,diàn";
	dict[30146] = "jiā";
	dict[30147] = "xuán";
	dict[30148] = "zhà";
	dict[30149] = "bìng";
	dict[30150] = "niè";
	dict[30151] = "zhèng,zhēng";
	dict[30152] = "yōng";
	dict[30153] = "jìng";
	dict[30154] = "quán";
	dict[30155] = "téng,chóng";
	dict[30156] = "tōng,tóng";
	dict[30157] = "yí";
	dict[30158] = "jiē";
	dict[30159] = "wěi,yòu,yù";
	dict[30160] = "huí";
	dict[30161] = "tān,shǐ";
	dict[30162] = "yǎng";
	dict[30163] = "zhì";
	dict[30164] = "zhì";
	dict[30165] = "hén";
	dict[30166] = "yǎ";
	dict[30167] = "mèi";
	dict[30168] = "dòu";
	dict[30169] = "jìng";
	dict[30170] = "xiāo";
	dict[30171] = "tòng";
	dict[30172] = "tū";
	dict[30173] = "máng";
	dict[30174] = "pǐ";
	dict[30175] = "xiāo";
	dict[30176] = "suān";
	dict[30177] = "pū,pù";
	dict[30178] = "lì";
	dict[30179] = "zhì";
	dict[30180] = "cuó";
	dict[30181] = "duó";
	dict[30182] = "wù";
	dict[30183] = "shā";
	dict[30184] = "láo";
	dict[30185] = "shòu";
	dict[30186] = "huàn";
	dict[30187] = "xián";
	dict[30188] = "yì";
	dict[30189] = "bēng,péng";
	dict[30190] = "zhàng";
	dict[30191] = "guǎn";
	dict[30192] = "tán";
	dict[30193] = "fèi,féi";
	dict[30194] = "má";
	dict[30195] = "má,lìn";
	dict[30196] = "chī";
	dict[30197] = "jì";
	dict[30198] = "tiǎn,diàn";
	dict[30199] = "ān,yè,è";
	dict[30200] = "chì";
	dict[30201] = "bì";
	dict[30202] = "bì";
	dict[30203] = "mín";
	dict[30204] = "gù";
	dict[30205] = "duī";
	dict[30206] = "kē,ē";
	dict[30207] = "wěi";
	dict[30208] = "yū";
	dict[30209] = "cuì";
	dict[30210] = "yǎ";
	dict[30211] = "zhú";
	dict[30212] = "cù";
	dict[30213] = "dàn,dān";
	dict[30214] = "shèn";
	dict[30215] = "zhǒng";
	dict[30216] = "zhì,chì";
	dict[30217] = "yù";
	dict[30218] = "hóu";
	dict[30219] = "fēng";
	dict[30220] = "là";
	dict[30221] = "yáng";
	dict[30222] = "chén";
	dict[30223] = "tú";
	dict[30224] = "yǔ";
	dict[30225] = "guō";
	dict[30226] = "wén";
	dict[30227] = "huàn";
	dict[30228] = "kù";
	dict[30229] = "jiǎ,xiá,xiā";
	dict[30230] = "yīn";
	dict[30231] = "yì";
	dict[30232] = "lòu";
	dict[30233] = "sào";
	dict[30234] = "jué";
	dict[30235] = "chì";
	dict[30236] = "xī";
	dict[30237] = "guān";
	dict[30238] = "yì";
	dict[30239] = "wēn";
	dict[30240] = "jí";
	dict[30241] = "chuāng";
	dict[30242] = "bān";
	dict[30243] = "huì,lěi";
	dict[30244] = "liú";
	dict[30245] = "chài,cuó";
	dict[30246] = "shòu";
	dict[30247] = "nüè,yào";
	dict[30248] = "diān,chēn";
	dict[30249] = "dá,da";
	dict[30250] = "biē,biě";
	dict[30251] = "tān";
	dict[30252] = "zhàng";
	dict[30253] = "biāo";
	dict[30254] = "shèn";
	dict[30255] = "cù";
	dict[30256] = "luǒ";
	dict[30257] = "yì";
	dict[30258] = "zòng";
	dict[30259] = "chōu";
	dict[30260] = "zhàng";
	dict[30261] = "zhài";
	dict[30262] = "sòu";
	dict[30263] = "sè";
	dict[30264] = "qué";
	dict[30265] = "diào";
	dict[30266] = "lòu";
	dict[30267] = "lòu";
	dict[30268] = "mò";
	dict[30269] = "qín";
	dict[30270] = "yǐn";
	dict[30271] = "yǐng";
	dict[30272] = "huáng";
	dict[30273] = "fú";
	dict[30274] = "liáo";
	dict[30275] = "lóng";
	dict[30276] = "qiáo,jiào";
	dict[30277] = "liú";
	dict[30278] = "láo";
	dict[30279] = "xián";
	dict[30280] = "fèi";
	dict[30281] = "dàn,dān";
	dict[30282] = "yìn";
	dict[30283] = "hè";
	dict[30284] = "ái";
	dict[30285] = "bān";
	dict[30286] = "xián";
	dict[30287] = "guān";
	dict[30288] = "guì,wēi";
	dict[30289] = "nòng,nóng";
	dict[30290] = "yù";
	dict[30291] = "wēi";
	dict[30292] = "yì";
	dict[30293] = "yōng";
	dict[30294] = "pǐ";
	dict[30295] = "lěi";
	dict[30296] = "lì,lài";
	dict[30297] = "shǔ";
	dict[30298] = "dàn";
	dict[30299] = "lǐn";
	dict[30300] = "diàn";
	dict[30301] = "lǐn";
	dict[30302] = "lài";
	dict[30303] = "biē,biě";
	dict[30304] = "jì";
	dict[30305] = "chī";
	dict[30306] = "yǎng";
	dict[30307] = "xuǎn";
	dict[30308] = "jiē";
	dict[30309] = "zhēng";
	dict[30310] = "mèng";
	dict[30311] = "lì";
	dict[30312] = "huò";
	dict[30313] = "lài";
	dict[30314] = "jī";
	dict[30315] = "diān";
	dict[30316] = "xuǎn";
	dict[30317] = "yǐng";
	dict[30318] = "yǐn";
	dict[30319] = "qú";
	dict[30320] = "yōng";
	dict[30321] = "tān";
	dict[30322] = "diān";
	dict[30323] = "luǒ";
	dict[30324] = "luán";
	dict[30325] = "luán";
	dict[30326] = "bō";
	dict[30327] = "bō,bǒ";
	dict[30328] = "guǐ";
	dict[30329] = "bá";
	dict[30330] = "fā";
	dict[30331] = "dēng";
	dict[30332] = "fā";
	dict[30333] = "bái";
	dict[30334] = "bǎi";
	dict[30335] = "qié";
	dict[30336] = "jí,bī";
	dict[30337] = "zào";
	dict[30338] = "zào";
	dict[30339] = "mào";
	dict[30340] = "de,dì,dí";
	dict[30341] = "pā,bà";
	dict[30342] = "jiē";
	dict[30343] = "huáng";
	dict[30344] = "guī";
	dict[30345] = "cǐ";
	dict[30346] = "líng";
	dict[30347] = "gāo,háo";
	dict[30348] = "mò";
	dict[30349] = "jí";
	dict[30350] = "jiǎo";
	dict[30351] = "pěng";
	dict[30352] = "gāo,yáo";
	dict[30353] = "ái";
	dict[30354] = "é";
	dict[30355] = "hào";
	dict[30356] = "hàn";
	dict[30357] = "bì";
	dict[30358] = "wǎn";
	dict[30359] = "chóu";
	dict[30360] = "qiàn";
	dict[30361] = "xī";
	dict[30362] = "ái";
	dict[30363] = "xiǎo";
	dict[30364] = "hào";
	dict[30365] = "huàng";
	dict[30366] = "hào";
	dict[30367] = "zé";
	dict[30368] = "cuǐ";
	dict[30369] = "hào";
	dict[30370] = "xiǎo";
	dict[30371] = "yè";
	dict[30372] = "pó";
	dict[30373] = "hào";
	dict[30374] = "jiǎo";
	dict[30375] = "ài";
	dict[30376] = "xīng";
	dict[30377] = "huàng";
	dict[30378] = "lì,luò,bō";
	dict[30379] = "piǎo";
	dict[30380] = "hé";
	dict[30381] = "jiào";
	dict[30382] = "pí";
	dict[30383] = "gǎn";
	dict[30384] = "pào";
	dict[30385] = "zhòu";
	dict[30386] = "jūn";
	dict[30387] = "qiú";
	dict[30388] = "cūn";
	dict[30389] = "què";
	dict[30390] = "zhā";
	dict[30391] = "gǔ";
	dict[30392] = "jūn";
	dict[30393] = "jūn";
	dict[30394] = "zhòu";
	dict[30395] = "zhā,cǔ";
	dict[30396] = "gǔ";
	dict[30397] = "zhāo,zhǎn,dǎn";
	dict[30398] = "dú";
	dict[30399] = "mǐn";
	dict[30400] = "qǐ";
	dict[30401] = "yíng";
	dict[30402] = "yú";
	dict[30403] = "bēi";
	dict[30404] = "diào";
	dict[30405] = "zhōng";
	dict[30406] = "pén";
	dict[30407] = "hé";
	dict[30408] = "yíng";
	dict[30409] = "hé";
	dict[30410] = "yì";
	dict[30411] = "bō";
	dict[30412] = "wǎn";
	dict[30413] = "hé";
	dict[30414] = "àng";
	dict[30415] = "zhǎn";
	dict[30416] = "yán";
	dict[30417] = "jiān,jiàn";
	dict[30418] = "hé";
	dict[30419] = "yū";
	dict[30420] = "kuī";
	dict[30421] = "fàn";
	dict[30422] = "gài,gě,hé";
	dict[30423] = "dào";
	dict[30424] = "pán";
	dict[30425] = "fǔ";
	dict[30426] = "qiú";
	dict[30427] = "shèng,chéng";
	dict[30428] = "dào";
	dict[30429] = "lù";
	dict[30430] = "zhǎn";
	dict[30431] = "méng";
	dict[30432] = "lí";
	dict[30433] = "jìn";
	dict[30434] = "xù";
	dict[30435] = "jiān,jiàn";
	dict[30436] = "pán";
	dict[30437] = "guàn";
	dict[30438] = "ān";
	dict[30439] = "lú";
	dict[30440] = "xǔ";
	dict[30441] = "zhōu,chóu";
	dict[30442] = "dàng";
	dict[30443] = "ān";
	dict[30444] = "gǔ";
	dict[30445] = "lì";
	dict[30446] = "mù";
	dict[30447] = "dīng";
	dict[30448] = "gàn";
	dict[30449] = "xū";
	dict[30450] = "máng";
	dict[30451] = "máng,wàng";
	dict[30452] = "zhí";
	dict[30453] = "qì";
	dict[30454] = "yuǎn";
	dict[30455] = "xián,tián";
	dict[30456] = "xiāng,xiàng";
	dict[30457] = "dǔn";
	dict[30458] = "xīn";
	dict[30459] = "xì,pǎn";
	dict[30460] = "pàn";
	dict[30461] = "fēng";
	dict[30462] = "dùn";
	dict[30463] = "mín";
	dict[30464] = "míng";
	dict[30465] = "shěng,xǐng";
	dict[30466] = "shì";
	dict[30467] = "yún,hùn";
	dict[30468] = "miǎn";
	dict[30469] = "pān";
	dict[30470] = "fǎng";
	dict[30471] = "miǎo";
	dict[30472] = "dān";
	dict[30473] = "méi";
	dict[30474] = "mào";
	dict[30475] = "kàn,kān";
	dict[30476] = "xiàn";
	dict[30477] = "kōu";
	dict[30478] = "shì";
	dict[30479] = "yāng,yǎng,yìng";
	dict[30480] = "zhēng";
	dict[30481] = "yǎo,āo,ǎo";
	dict[30482] = "shēn";
	dict[30483] = "huò";
	dict[30484] = "dà";
	dict[30485] = "zhěn";
	dict[30486] = "kuàng";
	dict[30487] = "jū,xū,kōu";
	dict[30488] = "shèn";
	dict[30489] = "yí,chì";
	dict[30490] = "shěng";
	dict[30491] = "mèi";
	dict[30492] = "mò,miè";
	dict[30493] = "zhù";
	dict[30494] = "zhēn";
	dict[30495] = "zhēn";
	dict[30496] = "mián";
	dict[30497] = "shì";
	dict[30498] = "yuān";
	dict[30499] = "dié,tì";
	dict[30500] = "nì";
	dict[30501] = "zì";
	dict[30502] = "zì";
	dict[30503] = "chǎo";
	dict[30504] = "zhǎ";
	dict[30505] = "xuàn";
	dict[30506] = "bǐng,fǎng";
	dict[30507] = "pàng,pán";
	dict[30508] = "lóng";
	dict[30509] = "guì,suī";
	dict[30510] = "tóng";
	dict[30511] = "mī,mí";
	dict[30512] = "dié,zhì";
	dict[30513] = "dì";
	dict[30514] = "nè";
	dict[30515] = "míng";
	dict[30516] = "xuàn,shùn,xún";
	dict[30517] = "chī";
	dict[30518] = "kuàng";
	dict[30519] = "juàn";
	dict[30520] = "móu";
	dict[30521] = "zhèn";
	dict[30522] = "tiào";
	dict[30523] = "yáng";
	dict[30524] = "yǎn";
	dict[30525] = "mò";
	dict[30526] = "zhòng";
	dict[30527] = "mò";
	dict[30528] = "zháo,zhuó,zhāo,zhe";
	dict[30529] = "zhēng";
	dict[30530] = "méi";
	dict[30531] = "suō";
	dict[30532] = "qiáo,shào,xiāo";
	dict[30533] = "hàn";
	dict[30534] = "huǎn";
	dict[30535] = "dì";
	dict[30536] = "chěng";
	dict[30537] = "cuó,zhuài";
	dict[30538] = "juàn";
	dict[30539] = "é";
	dict[30540] = "miǎn";
	dict[30541] = "xiàn";
	dict[30542] = "xī";
	dict[30543] = "kùn";
	dict[30544] = "lài";
	dict[30545] = "jiǎn";
	dict[30546] = "shǎn";
	dict[30547] = "tiǎn";
	dict[30548] = "gùn";
	dict[30549] = "wān";
	dict[30550] = "lèng";
	dict[30551] = "shì";
	dict[30552] = "qióng";
	dict[30553] = "lì";
	dict[30554] = "yá";
	dict[30555] = "jīng";
	dict[30556] = "zhēng";
	dict[30557] = "lí";
	dict[30558] = "lài";
	dict[30559] = "suì,zuì";
	dict[30560] = "juàn";
	dict[30561] = "shuì";
	dict[30562] = "huī,suī";
	dict[30563] = "dū";
	dict[30564] = "bì";
	dict[30565] = "bì,pì";
	dict[30566] = "mù";
	dict[30567] = "hūn";
	dict[30568] = "nì";
	dict[30569] = "lù";
	dict[30570] = "yì,zé,gāo";
	dict[30571] = "jié";
	dict[30572] = "cǎi";
	dict[30573] = "zhǒu";
	dict[30574] = "yú";
	dict[30575] = "hūn";
	dict[30576] = "mà";
	dict[30577] = "xià";
	dict[30578] = "xǐng,xìng";
	dict[30579] = "huī";
	dict[30580] = "hùn";
	dict[30581] = "zāi";
	dict[30582] = "chǔn";
	dict[30583] = "jiān";
	dict[30584] = "mèi";
	dict[30585] = "dǔ";
	dict[30586] = "hóu";
	dict[30587] = "xuān";
	dict[30588] = "tí";
	dict[30589] = "kuí";
	dict[30590] = "gāo";
	dict[30591] = "ruì";
	dict[30592] = "mào";
	dict[30593] = "xù";
	dict[30594] = "fá";
	dict[30595] = "wò";
	dict[30596] = "miáo";
	dict[30597] = "chǒu";
	dict[30598] = "guì,wèi,kuì";
	dict[30599] = "mī,mí";
	dict[30600] = "wěng";
	dict[30601] = "kòu,jì";
	dict[30602] = "dàng";
	dict[30603] = "chēn";
	dict[30604] = "kē";
	dict[30605] = "sǒu";
	dict[30606] = "xiā";
	dict[30607] = "qióng,huán";
	dict[30608] = "mò";
	dict[30609] = "míng";
	dict[30610] = "mán,mén";
	dict[30611] = "fèn";
	dict[30612] = "zé";
	dict[30613] = "zhàng";
	dict[30614] = "yì";
	dict[30615] = "diāo,dōu";
	dict[30616] = "kōu";
	dict[30617] = "mò";
	dict[30618] = "shùn";
	dict[30619] = "cōng";
	dict[30620] = "lóu,lǘ,lou";
	dict[30621] = "chī";
	dict[30622] = "mán,mén";
	dict[30623] = "piǎo";
	dict[30624] = "chēng";
	dict[30625] = "guī";
	dict[30626] = "méng,měng";
	dict[30627] = "wàn";
	dict[30628] = "rún,shùn";
	dict[30629] = "piē";
	dict[30630] = "xī";
	dict[30631] = "qiáo";
	dict[30632] = "pú";
	dict[30633] = "zhǔ";
	dict[30634] = "dèng";
	dict[30635] = "shěn";
	dict[30636] = "shùn";
	dict[30637] = "liǎo,liào";
	dict[30638] = "chè";
	dict[30639] = "xián,jiàn";
	dict[30640] = "kàn";
	dict[30641] = "yè";
	dict[30642] = "xuè";
	dict[30643] = "tóng";
	dict[30644] = "wǔ,mí";
	dict[30645] = "lín";
	dict[30646] = "guì,kuì";
	dict[30647] = "jiàn";
	dict[30648] = "yè";
	dict[30649] = "ài";
	dict[30650] = "huì";
	dict[30651] = "zhān";
	dict[30652] = "jiǎn";
	dict[30653] = "gǔ";
	dict[30654] = "zhào";
	dict[30655] = "qú,jù";
	dict[30656] = "wéi";
	dict[30657] = "chǒu";
	dict[30658] = "sào";
	dict[30659] = "nǐng,chēng";
	dict[30660] = "xūn";
	dict[30661] = "yào";
	dict[30662] = "huò,yuè";
	dict[30663] = "mēng";
	dict[30664] = "mián";
	dict[30665] = "pín";
	dict[30666] = "mián";
	dict[30667] = "lěi";
	dict[30668] = "kuàng,guō";
	dict[30669] = "jué";
	dict[30670] = "xuān";
	dict[30671] = "mián";
	dict[30672] = "huò";
	dict[30673] = "lú";
	dict[30674] = "méng,měng";
	dict[30675] = "lóng";
	dict[30676] = "guàn,quán";
	dict[30677] = "mǎn,mán";
	dict[30678] = "xǐ";
	dict[30679] = "chù";
	dict[30680] = "tǎng";
	dict[30681] = "kàn";
	dict[30682] = "zhǔ";
	dict[30683] = "máo";
	dict[30684] = "jīn,qín,guān";
	dict[30685] = "jīn,qín,guān";
	dict[30686] = "yù,xù,jué";
	dict[30687] = "shuò";
	dict[30688] = "zé";
	dict[30689] = "jué";
	dict[30690] = "shǐ";
	dict[30691] = "yǐ";
	dict[30692] = "shěn";
	dict[30693] = "zhī,zhì";
	dict[30694] = "hóu,hòu";
	dict[30695] = "shěn";
	dict[30696] = "yǐng";
	dict[30697] = "jǔ";
	dict[30698] = "zhōu";
	dict[30699] = "jiǎo,jiáo";
	dict[30700] = "cuó";
	dict[30701] = "duǎn";
	dict[30702] = "ǎi";
	dict[30703] = "jiǎo,jiáo";
	dict[30704] = "zēng";
	dict[30705] = "yuē";
	dict[30706] = "bà";
	dict[30707] = "shí,dàn";
	dict[30708] = "dìng";
	dict[30709] = "qì";
	dict[30710] = "jī";
	dict[30711] = "zǐ";
	dict[30712] = "gān";
	dict[30713] = "wù";
	dict[30714] = "zhé";
	dict[30715] = "kū";
	dict[30716] = "gāng,qiāng,kòng";
	dict[30717] = "xī";
	dict[30718] = "fán";
	dict[30719] = "kuàng";
	dict[30720] = "dàng";
	dict[30721] = "mǎ";
	dict[30722] = "shā";
	dict[30723] = "dān";
	dict[30724] = "jué";
	dict[30725] = "lì";
	dict[30726] = "fū";
	dict[30727] = "mín";
	dict[30728] = "è";
	dict[30729] = "xū,huā";
	dict[30730] = "kāng";
	dict[30731] = "zhǐ";
	dict[30732] = "qì,qiè";
	dict[30733] = "kǎn";
	dict[30734] = "jiè";
	dict[30735] = "pīn,bīn,fēn";
	dict[30736] = "è";
	dict[30737] = "yà";
	dict[30738] = "pī";
	dict[30739] = "zhé";
	dict[30740] = "yán,yàn";
	dict[30741] = "suì";
	dict[30742] = "zhuān";
	dict[30743] = "chē";
	dict[30744] = "dùn";
	dict[30745] = "wǎ";
	dict[30746] = "yàn";
	dict[30747] = "jīn";
	dict[30748] = "fēng";
	dict[30749] = "fǎ";
	dict[30750] = "mò";
	dict[30751] = "zhǎ";
	dict[30752] = "jū";
	dict[30753] = "yù";
	dict[30754] = "kē,luǒ";
	dict[30755] = "tuó";
	dict[30756] = "tuó";
	dict[30757] = "dǐ";
	dict[30758] = "zhài";
	dict[30759] = "zhēn";
	dict[30760] = "ě";
	dict[30761] = "fú,fèi";
	dict[30762] = "mǔ";
	dict[30763] = "zhù,zhǔ";
	dict[30764] = "lì,lā,lá";
	dict[30765] = "biān";
	dict[30766] = "nǔ";
	dict[30767] = "pīng";
	dict[30768] = "pēng";
	dict[30769] = "líng";
	dict[30770] = "pào";
	dict[30771] = "lè";
	dict[30772] = "pò";
	dict[30773] = "bō";
	dict[30774] = "pò";
	dict[30775] = "shēn";
	dict[30776] = "zá";
	dict[30777] = "ài";
	dict[30778] = "lì";
	dict[30779] = "lóng";
	dict[30780] = "tóng";
	dict[30781] = "yòng";
	dict[30782] = "lì";
	dict[30783] = "kuàng";
	dict[30784] = "chǔ";
	dict[30785] = "kēng";
	dict[30786] = "quán";
	dict[30787] = "zhū";
	dict[30788] = "kuāng,guāng";
	dict[30789] = "guī";
	dict[30790] = "è";
	dict[30791] = "náo";
	dict[30792] = "qià";
	dict[30793] = "lù";
	dict[30794] = "wěi,guì";
	dict[30795] = "ài";
	dict[30796] = "luò,gè";
	dict[30797] = "kèn,xiàn,gǔn,yǐn";
	dict[30798] = "xíng";
	dict[30799] = "yán,yàn";
	dict[30800] = "dòng";
	dict[30801] = "pēng,píng";
	dict[30802] = "xī";
	dict[30803] = "lǎo";
	dict[30804] = "hóng";
	dict[30805] = "shuò,shí";
	dict[30806] = "xiá";
	dict[30807] = "qiāo";
	dict[30808] = "qíng";
	dict[30809] = "wéi,wèi";
	dict[30810] = "qiáo";
	dict[30812] = "kēng";
	dict[30813] = "xiāo";
	dict[30814] = "què,kè,kù";
	dict[30815] = "chàn";
	dict[30816] = "láng";
	dict[30817] = "hōng";
	dict[30818] = "yù";
	dict[30819] = "xiāo";
	dict[30820] = "xiá";
	dict[30821] = "mǎng,bàng";
	dict[30822] = "luò,lòng";
	dict[30823] = "yǒng,tóng";
	dict[30824] = "chē";
	dict[30825] = "chè";
	dict[30826] = "wò";
	dict[30827] = "liú";
	dict[30828] = "yìng";
	dict[30829] = "máng";
	dict[30830] = "què";
	dict[30831] = "yàn";
	dict[30832] = "shā";
	dict[30833] = "kǔn";
	dict[30834] = "yù";
	dict[30836] = "huā";
	dict[30837] = "lǔ";
	dict[30838] = "chěn";
	dict[30839] = "jiǎn";
	dict[30840] = "nüè";
	dict[30841] = "sōng";
	dict[30842] = "zhuó";
	dict[30843] = "kēng,kěng";
	dict[30844] = "péng";
	dict[30845] = "yān,yǎn";
	dict[30846] = "zhuì,chuí,duǒ";
	dict[30847] = "kōng";
	dict[30848] = "chēng";
	dict[30849] = "qí";
	dict[30850] = "zòng,cóng";
	dict[30851] = "qìng";
	dict[30852] = "lín";
	dict[30853] = "jūn";
	dict[30854] = "bō";
	dict[30855] = "dìng";
	dict[30856] = "mín";
	dict[30857] = "diāo";
	dict[30858] = "jiān,zhàn";
	dict[30859] = "hè";
	dict[30860] = "lù,liù";
	dict[30861] = "ài";
	dict[30862] = "suì";
	dict[30863] = "què,xī";
	dict[30864] = "léng";
	dict[30865] = "bēi";
	dict[30866] = "yín";
	dict[30867] = "duì";
	dict[30868] = "wǔ";
	dict[30869] = "qí";
	dict[30870] = "lún,lǔn,lùn";
	dict[30871] = "wǎn";
	dict[30872] = "diǎn";
	dict[30873] = "náo,gāng";
	dict[30874] = "bèi";
	dict[30875] = "qì";
	dict[30876] = "chěn";
	dict[30877] = "ruǎn";
	dict[30878] = "yán";
	dict[30879] = "dié";
	dict[30880] = "dìng";
	dict[30881] = "zhóu";
	dict[30882] = "tuó";
	dict[30883] = "jié,yà";
	dict[30884] = "yīng";
	dict[30885] = "biǎn";
	dict[30886] = "kè";
	dict[30887] = "bì";
	dict[30888] = "wěi,wèi";
	dict[30889] = "shuò,shí";
	dict[30890] = "zhēn";
	dict[30891] = "duàn";
	dict[30892] = "xiá";
	dict[30893] = "dàng";
	dict[30894] = "tí,dī";
	dict[30895] = "nǎo";
	dict[30896] = "pèng";
	dict[30897] = "jiǎn";
	dict[30898] = "dì";
	dict[30899] = "tàn";
	dict[30900] = "chá,chā";
	dict[30901] = "tián";
	dict[30902] = "qì";
	dict[30903] = "dùn";
	dict[30904] = "fēng";
	dict[30905] = "xuàn";
	dict[30906] = "què";
	dict[30907] = "què,qiāo";
	dict[30908] = "mǎ";
	dict[30909] = "gōng";
	dict[30910] = "niǎn";
	dict[30911] = "sù,xiè";
	dict[30912] = "é";
	dict[30913] = "cí";
	dict[30914] = "liú,liù";
	dict[30915] = "sī,tí";
	dict[30916] = "táng";
	dict[30917] = "bàng,páng";
	dict[30918] = "huá,kě,gū";
	dict[30919] = "pī";
	dict[30920] = "kuǐ,wěi";
	dict[30921] = "sǎng";
	dict[30922] = "lěi";
	dict[30923] = "cuō";
	dict[30924] = "tián";
	dict[30925] = "xiá,qià,yà";
	dict[30926] = "xī";
	dict[30927] = "lián,qiān";
	dict[30928] = "pán";
	dict[30929] = "ái,wèi";
	dict[30930] = "yǔn";
	dict[30931] = "duī";
	dict[30932] = "zhé";
	dict[30933] = "kē";
	dict[30934] = "lá,lā";
	dict[30935] = "zhuān";
	dict[30936] = "yáo";
	dict[30937] = "gǔn";
	dict[30938] = "zhuān";
	dict[30939] = "chán";
	dict[30940] = "qì";
	dict[30941] = "áo,qiāo";
	dict[30942] = "pēng,pèng";
	dict[30943] = "liù";
	dict[30944] = "lǔ";
	dict[30945] = "kàn";
	dict[30946] = "chuǎng";
	dict[30947] = "chěn";
	dict[30948] = "yīn,yǐn";
	dict[30949] = "lěi,léi";
	dict[30950] = "biāo";
	dict[30951] = "qì";
	dict[30952] = "mó,mò";
	dict[30953] = "qì,zhú";
	dict[30954] = "cuī";
	dict[30955] = "zōng";
	dict[30956] = "qìng";
	dict[30957] = "chuò";
	dict[30958] = "lún";
	dict[30959] = "jī";
	dict[30960] = "shàn";
	dict[30961] = "láo,luò";
	dict[30962] = "qú";
	dict[30963] = "zēng";
	dict[30964] = "dèng";
	dict[30965] = "jiàn";
	dict[30966] = "xì";
	dict[30967] = "lín";
	dict[30968] = "dìng";
	dict[30969] = "diàn";
	dict[30970] = "huáng";
	dict[30971] = "pán,bō";
	dict[30972] = "jí,shé";
	dict[30973] = "qiāo";
	dict[30974] = "dī";
	dict[30975] = "lì";
	dict[30976] = "jiàn";
	dict[30977] = "jiāo";
	dict[30978] = "xī";
	dict[30979] = "zhǎng";
	dict[30980] = "qiáo";
	dict[30981] = "dūn";
	dict[30982] = "jiǎn";
	dict[30983] = "yù";
	dict[30984] = "zhuì";
	dict[30985] = "hé,qiāo,qiào";
	dict[30986] = "kè,huò";
	dict[30987] = "zé";
	dict[30988] = "léi,lěi";
	dict[30989] = "jié";
	dict[30990] = "chǔ";
	dict[30991] = "yè";
	dict[30992] = "què,hú";
	dict[30993] = "dàng";
	dict[30994] = "yǐ";
	dict[30995] = "jiāng";
	dict[30996] = "pī";
	dict[30997] = "pī";
	dict[30998] = "yù";
	dict[30999] = "pīn";
	dict[31e3] = "è,qì";
	dict[31001] = "ài";
	dict[31002] = "kē";
	dict[31003] = "jiān";
	dict[31004] = "yù";
	dict[31005] = "ruǎn";
	dict[31006] = "méng";
	dict[31007] = "pào";
	dict[31008] = "cí";
	dict[31009] = "bō";
	dict[31010] = "yǎng";
	dict[31011] = "miè";
	dict[31012] = "cǎ";
	dict[31013] = "xián,xín";
	dict[31014] = "kuàng";
	dict[31015] = "léi,lěi,lèi";
	dict[31016] = "lěi";
	dict[31017] = "zhì";
	dict[31018] = "lì";
	dict[31019] = "lì";
	dict[31020] = "fán";
	dict[31021] = "què";
	dict[31022] = "pào";
	dict[31023] = "yīng";
	dict[31024] = "lì";
	dict[31025] = "lóng";
	dict[31026] = "lóng";
	dict[31027] = "mò";
	dict[31028] = "bó";
	dict[31029] = "shuāng";
	dict[31030] = "guàn";
	dict[31031] = "jiān";
	dict[31032] = "cǎ";
	dict[31033] = "yán,yǎn";
	dict[31034] = "shì";
	dict[31035] = "shì";
	dict[31036] = "lǐ";
	dict[31037] = "réng";
	dict[31038] = "shè";
	dict[31039] = "yuè";
	dict[31040] = "sì";
	dict[31041] = "qí";
	dict[31042] = "tā";
	dict[31043] = "mà";
	dict[31044] = "xiè";
	dict[31045] = "yāo";
	dict[31046] = "xiān";
	dict[31047] = "zhǐ,qí";
	dict[31048] = "qí";
	dict[31049] = "zhǐ";
	dict[31050] = "bēng,fāng";
	dict[31051] = "duì";
	dict[31052] = "zhòng";
	dict[31053] = "rèn";
	dict[31054] = "yī";
	dict[31055] = "shí";
	dict[31056] = "yòu";
	dict[31057] = "zhì";
	dict[31058] = "tiáo";
	dict[31059] = "fú";
	dict[31060] = "fù";
	dict[31061] = "mì,bì";
	dict[31062] = "zǔ";
	dict[31063] = "zhī";
	dict[31064] = "suàn";
	dict[31065] = "mèi";
	dict[31066] = "zuò";
	dict[31067] = "qū";
	dict[31068] = "hù";
	dict[31069] = "zhù";
	dict[31070] = "shén";
	dict[31071] = "suì";
	dict[31072] = "cí";
	dict[31073] = "chái";
	dict[31074] = "mí";
	dict[31075] = "lǚ";
	dict[31076] = "yǔ";
	dict[31077] = "xiáng";
	dict[31078] = "wú";
	dict[31079] = "tiāo";
	dict[31080] = "piào,piāo";
	dict[31081] = "zhù";
	dict[31082] = "guǐ";
	dict[31083] = "xiá";
	dict[31084] = "zhī";
	dict[31085] = "jì,zhài";
	dict[31086] = "gào";
	dict[31087] = "zhēn";
	dict[31088] = "gào";
	dict[31089] = "shuì,lèi";
	dict[31090] = "jìn";
	dict[31091] = "shèn";
	dict[31092] = "gāi";
	dict[31093] = "kǔn";
	dict[31094] = "dì";
	dict[31095] = "dǎo";
	dict[31096] = "huò";
	dict[31097] = "táo";
	dict[31098] = "qí";
	dict[31099] = "gù";
	dict[31100] = "guàn";
	dict[31101] = "zuì";
	dict[31102] = "líng";
	dict[31103] = "lù";
	dict[31104] = "bǐng";
	dict[31105] = "jīn,jìn";
	dict[31106] = "dǎo";
	dict[31107] = "zhí";
	dict[31108] = "lù";
	dict[31109] = "chán,shàn";
	dict[31110] = "bì,pí";
	dict[31111] = "chǔ";
	dict[31112] = "huī";
	dict[31113] = "yǒu";
	dict[31114] = "xì";
	dict[31115] = "yīn";
	dict[31116] = "zī";
	dict[31117] = "huò";
	dict[31118] = "zhēn";
	dict[31119] = "fú";
	dict[31120] = "yuàn";
	dict[31121] = "xú";
	dict[31122] = "xiǎn";
	dict[31123] = "shāng,yáng";
	dict[31124] = "tí,zhǐ";
	dict[31125] = "yī";
	dict[31126] = "méi";
	dict[31127] = "sī";
	dict[31128] = "dì";
	dict[31129] = "bèi";
	dict[31130] = "zhuó";
	dict[31131] = "zhēn";
	dict[31132] = "yíng";
	dict[31133] = "jì";
	dict[31134] = "gào";
	dict[31135] = "táng";
	dict[31136] = "sī";
	dict[31137] = "mà";
	dict[31138] = "tà";
	dict[31139] = "fù";
	dict[31140] = "xuān";
	dict[31141] = "qí";
	dict[31142] = "yù";
	dict[31143] = "xǐ";
	dict[31144] = "jī,jì";
	dict[31145] = "sì";
	dict[31146] = "shàn,chán";
	dict[31147] = "dàn";
	dict[31148] = "guì";
	dict[31149] = "suì";
	dict[31150] = "lǐ";
	dict[31151] = "nóng";
	dict[31152] = "mí";
	dict[31153] = "dǎo";
	dict[31154] = "lì";
	dict[31155] = "ráng";
	dict[31156] = "yuè";
	dict[31157] = "tí";
	dict[31158] = "zàn";
	dict[31159] = "lèi";
	dict[31160] = "róu";
	dict[31161] = "yǔ";
	dict[31162] = "yú,yù,ǒu";
	dict[31163] = "lí";
	dict[31164] = "xiè";
	dict[31165] = "qín";
	dict[31166] = "hé";
	dict[31167] = "tū";
	dict[31168] = "xiù";
	dict[31169] = "sī";
	dict[31170] = "rén";
	dict[31171] = "tū";
	dict[31172] = "zǐ,zì";
	dict[31173] = "chá,ná";
	dict[31174] = "gǎn";
	dict[31175] = "yì,zhí";
	dict[31176] = "xiān";
	dict[31177] = "bǐng";
	dict[31178] = "nián";
	dict[31179] = "qiū";
	dict[31180] = "qiū";
	dict[31181] = "zhǒng,zhòng,chóng";
	dict[31182] = "fèn";
	dict[31183] = "hào,mào";
	dict[31184] = "yún";
	dict[31185] = "kē";
	dict[31186] = "miǎo";
	dict[31187] = "zhī";
	dict[31188] = "jīng";
	dict[31189] = "bǐ";
	dict[31190] = "zhǐ";
	dict[31191] = "yù";
	dict[31192] = "mì,bì";
	dict[31193] = "kù,kū";
	dict[31194] = "bàn";
	dict[31195] = "pī";
	dict[31196] = "ní,nì";
	dict[31197] = "lì";
	dict[31198] = "yóu";
	dict[31199] = "zū";
	dict[31200] = "pī";
	dict[31201] = "bó";
	dict[31202] = "líng";
	dict[31203] = "mò";
	dict[31204] = "chèng";
	dict[31205] = "nián";
	dict[31206] = "qín";
	dict[31207] = "yāng";
	dict[31208] = "zuó";
	dict[31209] = "zhì";
	dict[31210] = "dī";
	dict[31211] = "shú";
	dict[31212] = "jù";
	dict[31213] = "zǐ";
	dict[31214] = "huó,kuò";
	dict[31215] = "jī";
	dict[31216] = "chēng,chèn,chèng";
	dict[31217] = "tóng";
	dict[31218] = "shì,zhì";
	dict[31219] = "huó,kuò";
	dict[31220] = "huō";
	dict[31221] = "yīn";
	dict[31222] = "zī";
	dict[31223] = "zhì";
	dict[31224] = "jiē";
	dict[31225] = "rěn";
	dict[31226] = "dù";
	dict[31227] = "yí";
	dict[31228] = "zhū";
	dict[31229] = "huì";
	dict[31230] = "nóng";
	dict[31231] = "fù,pū";
	dict[31232] = "xī";
	dict[31233] = "gǎo";
	dict[31234] = "láng";
	dict[31235] = "fū";
	dict[31236] = "xùn,zè";
	dict[31237] = "shuì";
	dict[31238] = "lǚ";
	dict[31239] = "kǔn";
	dict[31240] = "gǎn";
	dict[31241] = "jīng";
	dict[31242] = "tí";
	dict[31243] = "chéng";
	dict[31244] = "tú,shǔ";
	dict[31245] = "shāo,shào";
	dict[31246] = "shuì";
	dict[31247] = "yà";
	dict[31248] = "lǔn";
	dict[31249] = "lù";
	dict[31250] = "gū";
	dict[31251] = "zuó";
	dict[31252] = "rěn";
	dict[31253] = "zhùn,zhǔn";
	dict[31254] = "bàng";
	dict[31255] = "bài";
	dict[31256] = "jī,qí";
	dict[31257] = "zhī";
	dict[31258] = "zhì";
	dict[31259] = "kǔn";
	dict[31260] = "léng,lēng,líng";
	dict[31261] = "péng";
	dict[31262] = "kē";
	dict[31263] = "bǐng";
	dict[31264] = "chóu";
	dict[31265] = "zuì,zú,sū";
	dict[31266] = "yù";
	dict[31267] = "sū";
	dict[31268] = "lüè";
	dict[31269] = "xiāng";
	dict[31270] = "yī";
	dict[31271] = "xì,qiè";
	dict[31272] = "biǎn";
	dict[31273] = "jì";
	dict[31274] = "fú";
	dict[31275] = "pì,bì";
	dict[31276] = "nuò";
	dict[31277] = "jiē";
	dict[31278] = "zhǒng,zhòng";
	dict[31279] = "zōng,zǒng";
	dict[31280] = "xǔ,xū";
	dict[31281] = "chēng,chèn,chèng";
	dict[31282] = "dào";
	dict[31283] = "wěn";
	dict[31284] = "xián,jiān,liàn";
	dict[31285] = "zī,jiū";
	dict[31286] = "yù";
	dict[31287] = "jì";
	dict[31288] = "xù";
	dict[31289] = "zhěn";
	dict[31290] = "zhì";
	dict[31291] = "dào";
	dict[31292] = "jià";
	dict[31293] = "jī,qǐ";
	dict[31294] = "gǎo";
	dict[31295] = "gǎo";
	dict[31296] = "gǔ";
	dict[31297] = "róng";
	dict[31298] = "suì";
	dict[31299] = "ròng";
	dict[31300] = "jì";
	dict[31301] = "kāng";
	dict[31302] = "mù";
	dict[31303] = "cǎn,shān,cēn";
	dict[31304] = "mén,méi";
	dict[31305] = "zhì";
	dict[31306] = "jì";
	dict[31307] = "lù";
	dict[31308] = "sū";
	dict[31309] = "jī";
	dict[31310] = "yǐng";
	dict[31311] = "wěn";
	dict[31312] = "qiū";
	dict[31313] = "sè";
	dict[31315] = "yì";
	dict[31316] = "huáng";
	dict[31317] = "qiè";
	dict[31318] = "jǐ,jì";
	dict[31319] = "suì";
	dict[31320] = "xiāo,rào";
	dict[31321] = "pú";
	dict[31322] = "jiāo";
	dict[31323] = "zhuō,bó";
	dict[31324] = "tóng,zhǒng";
	dict[31325] = "zuō";
	dict[31326] = "lǔ";
	dict[31327] = "suì";
	dict[31328] = "nóng";
	dict[31329] = "sè";
	dict[31330] = "huì";
	dict[31331] = "ráng";
	dict[31332] = "nuò";
	dict[31333] = "yǔ";
	dict[31334] = "pīn";
	dict[31335] = "jì";
	dict[31336] = "tuí";
	dict[31337] = "wěn";
	dict[31338] = "chēng,chèn,chèng";
	dict[31339] = "huò";
	dict[31340] = "kuàng";
	dict[31341] = "lǚ";
	dict[31342] = "biāo,pāo";
	dict[31343] = "sè";
	dict[31344] = "ráng";
	dict[31345] = "zhuō,jué";
	dict[31346] = "lí";
	dict[31347] = "cuán,zàn";
	dict[31348] = "xué";
	dict[31349] = "wā";
	dict[31350] = "jiū";
	dict[31351] = "qióng";
	dict[31352] = "xī";
	dict[31353] = "qióng";
	dict[31354] = "kōng,kòng,kǒng";
	dict[31355] = "yū,yǔ";
	dict[31356] = "shēn";
	dict[31357] = "jǐng";
	dict[31358] = "yào";
	dict[31359] = "chuān";
	dict[31360] = "zhūn";
	dict[31361] = "tū";
	dict[31362] = "láo";
	dict[31363] = "qiè";
	dict[31364] = "zhǎi";
	dict[31365] = "yǎo";
	dict[31366] = "biǎn";
	dict[31367] = "báo";
	dict[31368] = "yǎo";
	dict[31369] = "bìng";
	dict[31370] = "wā";
	dict[31371] = "zhú,kū";
	dict[31372] = "jiào,liáo,liù";
	dict[31373] = "qiào";
	dict[31374] = "diào";
	dict[31375] = "wū";
	dict[31376] = "wā,guī";
	dict[31377] = "yáo";
	dict[31378] = "zhì";
	dict[31379] = "chuāng";
	dict[31380] = "yào";
	dict[31381] = "tiǎo,yáo";
	dict[31382] = "jiào";
	dict[31383] = "chuāng";
	dict[31384] = "jiǒng";
	dict[31385] = "xiāo";
	dict[31386] = "chéng";
	dict[31387] = "kòu";
	dict[31388] = "cuàn";
	dict[31389] = "wō";
	dict[31390] = "dàn";
	dict[31391] = "kū";
	dict[31392] = "kē";
	dict[31393] = "zhuó";
	dict[31394] = "huò";
	dict[31395] = "sū";
	dict[31396] = "guān";
	dict[31397] = "kuī";
	dict[31398] = "dòu";
	dict[31399] = "zhuō";
	dict[31400] = "yìn,xūn";
	dict[31401] = "wō";
	dict[31402] = "wā";
	dict[31403] = "yà,yē";
	dict[31404] = "yú";
	dict[31405] = "jù";
	dict[31406] = "qióng";
	dict[31407] = "yáo";
	dict[31408] = "yáo";
	dict[31409] = "tiǎo";
	dict[31410] = "cháo";
	dict[31411] = "yǔ";
	dict[31412] = "tián,diān,yǎn";
	dict[31413] = "diào";
	dict[31414] = "jù";
	dict[31415] = "liào";
	dict[31416] = "xī";
	dict[31417] = "wù";
	dict[31418] = "kuī";
	dict[31419] = "chuāng";
	dict[31420] = "chāo,kē";
	dict[31421] = "kuǎn,cuàn";
	dict[31422] = "kuǎn,cuàn";
	dict[31423] = "lóng";
	dict[31424] = "chēng,chèng";
	dict[31425] = "cuì";
	dict[31426] = "liáo";
	dict[31427] = "zào";
	dict[31428] = "cuàn";
	dict[31429] = "qiào";
	dict[31430] = "qióng";
	dict[31431] = "dòu";
	dict[31432] = "zào";
	dict[31433] = "lǒng";
	dict[31434] = "qiè";
	dict[31435] = "lì";
	dict[31436] = "chù";
	dict[31437] = "shí";
	dict[31438] = "fù";
	dict[31439] = "qiān";
	dict[31440] = "chù,qì";
	dict[31441] = "hóng";
	dict[31442] = "qí";
	dict[31443] = "háo";
	dict[31444] = "shēng";
	dict[31445] = "fēn";
	dict[31446] = "shù";
	dict[31447] = "miào";
	dict[31448] = "qǔ,kǒu";
	dict[31449] = "zhàn";
	dict[31450] = "zhù";
	dict[31451] = "líng";
	dict[31452] = "lóng";
	dict[31453] = "bìng";
	dict[31454] = "jìng";
	dict[31455] = "jìng";
	dict[31456] = "zhāng";
	dict[31457] = "bǎi";
	dict[31458] = "sì";
	dict[31459] = "jùn";
	dict[31460] = "hóng";
	dict[31461] = "tóng";
	dict[31462] = "sǒng";
	dict[31463] = "jìng,zhěn";
	dict[31464] = "diào";
	dict[31465] = "yì";
	dict[31466] = "shù";
	dict[31467] = "jìng";
	dict[31468] = "qǔ";
	dict[31469] = "jié";
	dict[31470] = "píng";
	dict[31471] = "duān";
	dict[31472] = "lí";
	dict[31473] = "zhuǎn";
	dict[31474] = "céng,zēng";
	dict[31475] = "dēng";
	dict[31476] = "cūn";
	dict[31477] = "wāi";
	dict[31478] = "jìng";
	dict[31479] = "kǎn,kàn";
	dict[31480] = "jìng";
	dict[31481] = "zhú";
	dict[31482] = "zhú,dǔ";
	dict[31483] = "lè,jīn";
	dict[31484] = "péng";
	dict[31485] = "yú";
	dict[31486] = "chí";
	dict[31487] = "gān";
	dict[31488] = "máng";
	dict[31489] = "zhú";
	dict[31490] = "wán";
	dict[31491] = "dǔ";
	dict[31492] = "jī";
	dict[31493] = "jiǎo,jiào";
	dict[31494] = "bā";
	dict[31495] = "suàn";
	dict[31496] = "jí";
	dict[31497] = "qǐn";
	dict[31498] = "zhào";
	dict[31499] = "sǔn";
	dict[31500] = "yá";
	dict[31501] = "zhuì,ruì";
	dict[31502] = "yuán";
	dict[31503] = "hù";
	dict[31504] = "háng,hàng";
	dict[31505] = "xiào";
	dict[31506] = "cén,jìn,hán";
	dict[31507] = "pí,bì";
	dict[31508] = "bǐ";
	dict[31509] = "jiǎn";
	dict[31510] = "yǐ";
	dict[31511] = "dōng";
	dict[31512] = "shān";
	dict[31513] = "shēng";
	dict[31514] = "dā,xiá,nà";
	dict[31515] = "dí";
	dict[31516] = "zhú";
	dict[31517] = "nà";
	dict[31518] = "chī";
	dict[31519] = "gū";
	dict[31520] = "lì";
	dict[31521] = "qiè";
	dict[31522] = "mǐn";
	dict[31523] = "bāo";
	dict[31524] = "tiáo";
	dict[31525] = "sì";
	dict[31526] = "fú";
	dict[31527] = "cè";
	dict[31528] = "bèn";
	dict[31529] = "fá";
	dict[31530] = "dá";
	dict[31531] = "zǐ";
	dict[31532] = "dì";
	dict[31533] = "líng";
	dict[31534] = "zuó,zé";
	dict[31535] = "nú";
	dict[31536] = "fú,fèi";
	dict[31537] = "gǒu";
	dict[31538] = "fán";
	dict[31539] = "jiā";
	dict[31540] = "gě";
	dict[31541] = "fàn";
	dict[31542] = "shǐ";
	dict[31543] = "mǎo";
	dict[31544] = "pǒ";
	dict[31545] = "tì";
	dict[31546] = "jiān";
	dict[31547] = "qióng";
	dict[31548] = "lóng,lǒng";
	dict[31549] = "mǐn";
	dict[31550] = "biān";
	dict[31551] = "luò";
	dict[31552] = "guì";
	dict[31553] = "qū";
	dict[31554] = "chí";
	dict[31555] = "yīn";
	dict[31556] = "yào";
	dict[31557] = "xiǎn";
	dict[31558] = "bǐ";
	dict[31559] = "qióng";
	dict[31560] = "kuò";
	dict[31561] = "děng";
	dict[31562] = "jiǎo,jiào";
	dict[31563] = "jīn";
	dict[31564] = "quán";
	dict[31565] = "sǔn";
	dict[31566] = "rú";
	dict[31567] = "fá";
	dict[31568] = "kuāng";
	dict[31569] = "zhù,zhú";
	dict[31570] = "tǒng";
	dict[31571] = "jī";
	dict[31572] = "dá,dā";
	dict[31573] = "háng";
	dict[31574] = "cè";
	dict[31575] = "zhòng";
	dict[31576] = "kòu";
	dict[31577] = "lái";
	dict[31578] = "bì";
	dict[31579] = "shāi";
	dict[31580] = "dāng";
	dict[31581] = "zhēng";
	dict[31582] = "cè";
	dict[31583] = "fū";
	dict[31584] = "yún,jūn";
	dict[31585] = "tú";
	dict[31586] = "pá";
	dict[31587] = "lí";
	dict[31588] = "láng,làng";
	dict[31589] = "jǔ";
	dict[31590] = "guǎn";
	dict[31591] = "jiǎn";
	dict[31592] = "hán";
	dict[31593] = "tǒng";
	dict[31594] = "xiá";
	dict[31595] = "zhì,zhǐ";
	dict[31596] = "chéng";
	dict[31597] = "suàn";
	dict[31598] = "shì";
	dict[31599] = "zhù";
	dict[31600] = "zuó";
	dict[31601] = "xiǎo";
	dict[31602] = "shāo";
	dict[31603] = "tíng";
	dict[31604] = "cè";
	dict[31605] = "yán";
	dict[31606] = "gào";
	dict[31607] = "kuài";
	dict[31608] = "gān";
	dict[31609] = "chóu";
	dict[31610] = "kuāng";
	dict[31611] = "gàng";
	dict[31612] = "yún";
	dict[31613] = "o";
	dict[31614] = "qiān";
	dict[31615] = "xiǎo";
	dict[31616] = "jiǎn";
	dict[31617] = "póu,bù,fú,pú";
	dict[31618] = "lái";
	dict[31619] = "zōu";
	dict[31620] = "pái,bēi";
	dict[31621] = "bì";
	dict[31622] = "bì";
	dict[31623] = "gè";
	dict[31624] = "tái,chí";
	dict[31625] = "guǎi,dài";
	dict[31626] = "yū";
	dict[31627] = "jiān";
	dict[31628] = "zhào,dào";
	dict[31629] = "gū";
	dict[31630] = "chí";
	dict[31631] = "zhēng";
	dict[31632] = "qìng,jīng";
	dict[31633] = "shà";
	dict[31634] = "zhǒu";
	dict[31635] = "lù";
	dict[31636] = "bó";
	dict[31637] = "jī";
	dict[31638] = "lín,lǐn";
	dict[31639] = "suàn";
	dict[31640] = "jùn,qūn";
	dict[31641] = "fú";
	dict[31642] = "zhá";
	dict[31643] = "gū";
	dict[31644] = "kōng";
	dict[31645] = "qián";
	dict[31646] = "quān";
	dict[31647] = "jùn";
	dict[31648] = "chuí";
	dict[31649] = "guǎn";
	dict[31650] = "wǎn,yuān";
	dict[31651] = "cè";
	dict[31652] = "zú";
	dict[31653] = "pǒ";
	dict[31654] = "zé";
	dict[31655] = "qiè";
	dict[31656] = "tuò";
	dict[31657] = "luó";
	dict[31658] = "dān";
	dict[31659] = "xiāo";
	dict[31660] = "ruò";
	dict[31661] = "jiàn";
	dict[31662] = "xuān";
	dict[31663] = "biān";
	dict[31664] = "sǔn";
	dict[31665] = "xiāng";
	dict[31666] = "xiǎn";
	dict[31667] = "píng";
	dict[31668] = "zhēn";
	dict[31669] = "xīng";
	dict[31670] = "hú";
	dict[31671] = "shī,yí";
	dict[31672] = "zhù";
	dict[31673] = "yuē,yào,chuò";
	dict[31674] = "chūn";
	dict[31675] = "lǜ";
	dict[31676] = "wū";
	dict[31677] = "dǒng";
	dict[31678] = "shuò,xiāo,qiào";
	dict[31679] = "jí";
	dict[31680] = "jié";
	dict[31681] = "huáng";
	dict[31682] = "xīng";
	dict[31683] = "mèi";
	dict[31684] = "fàn";
	dict[31685] = "chuán";
	dict[31686] = "zhuàn";
	dict[31687] = "piān";
	dict[31688] = "fēng";
	dict[31689] = "zhù,zhú";
	dict[31690] = "hóng";
	dict[31691] = "qiè";
	dict[31692] = "hóu";
	dict[31693] = "qiū";
	dict[31694] = "miǎo";
	dict[31695] = "qiàn";
	dict[31696] = "gū";
	dict[31697] = "kuì";
	dict[31698] = "yì";
	dict[31699] = "lǒu";
	dict[31700] = "yún";
	dict[31701] = "hé";
	dict[31702] = "táng";
	dict[31703] = "yuè";
	dict[31704] = "chōu";
	dict[31705] = "gāo";
	dict[31706] = "fěi";
	dict[31707] = "ruò";
	dict[31708] = "zhēng";
	dict[31709] = "gōu";
	dict[31710] = "niè";
	dict[31711] = "qiàn";
	dict[31712] = "xiǎo";
	dict[31713] = "cuàn";
	dict[31714] = "gōng,gǎn,lǒng";
	dict[31715] = "péng,páng";
	dict[31716] = "dǔ";
	dict[31717] = "lì";
	dict[31718] = "bì";
	dict[31719] = "zhuó,huò";
	dict[31720] = "chú";
	dict[31721] = "shāi";
	dict[31722] = "chí";
	dict[31723] = "zhù";
	dict[31724] = "qiāng,cāng";
	dict[31725] = "lóng,lǒng";
	dict[31726] = "lán";
	dict[31727] = "jiǎn,jiān";
	dict[31728] = "bù";
	dict[31729] = "lí";
	dict[31730] = "huì";
	dict[31731] = "bì";
	dict[31732] = "zhú,dí";
	dict[31733] = "cōng";
	dict[31734] = "yān";
	dict[31735] = "péng";
	dict[31736] = "cēn,zān,cǎn";
	dict[31737] = "zhuàn,zuàn,suǎn";
	dict[31738] = "pí";
	dict[31739] = "piǎo,biāo";
	dict[31740] = "dōu";
	dict[31741] = "yù";
	dict[31742] = "miè";
	dict[31743] = "tuán,zhuān";
	dict[31744] = "zé";
	dict[31745] = "shāi";
	dict[31746] = "guó,guì";
	dict[31747] = "yí";
	dict[31748] = "hù";
	dict[31749] = "chǎn";
	dict[31750] = "kòu";
	dict[31751] = "cù";
	dict[31752] = "píng";
	dict[31753] = "zào";
	dict[31754] = "jī";
	dict[31755] = "guǐ";
	dict[31756] = "sù";
	dict[31757] = "lǒu";
	dict[31758] = "cè,jí";
	dict[31759] = "lù";
	dict[31760] = "niǎn";
	dict[31761] = "suō";
	dict[31762] = "cuàn";
	dict[31763] = "diāo";
	dict[31764] = "suō";
	dict[31765] = "lè";
	dict[31766] = "duàn";
	dict[31767] = "zhù";
	dict[31768] = "xiāo";
	dict[31769] = "bó";
	dict[31770] = "mì,miè";
	dict[31771] = "shāi";
	dict[31772] = "dàng";
	dict[31773] = "liáo";
	dict[31774] = "dān";
	dict[31775] = "diàn";
	dict[31776] = "fǔ";
	dict[31777] = "jiǎn";
	dict[31778] = "mǐn";
	dict[31779] = "kuì";
	dict[31780] = "dài";
	dict[31781] = "jiāo";
	dict[31782] = "dēng";
	dict[31783] = "huáng";
	dict[31784] = "sǔn,zhuàn";
	dict[31785] = "láo";
	dict[31786] = "zān";
	dict[31787] = "xiāo";
	dict[31788] = "lù";
	dict[31789] = "shì";
	dict[31790] = "zān";
	dict[31791] = "qí";
	dict[31792] = "pái";
	dict[31793] = "qí";
	dict[31794] = "pái";
	dict[31795] = "gǎn,gàn";
	dict[31796] = "jù";
	dict[31797] = "lù";
	dict[31798] = "lù";
	dict[31799] = "yán";
	dict[31800] = "bò,bǒ";
	dict[31801] = "dāng";
	dict[31802] = "sài";
	dict[31803] = "zhuā";
	dict[31804] = "gōu";
	dict[31805] = "qiān";
	dict[31806] = "lián";
	dict[31807] = "bù,bó";
	dict[31808] = "zhòu";
	dict[31809] = "lài";
	dict[31810] = "shi";
	dict[31811] = "lán";
	dict[31812] = "kuì";
	dict[31813] = "yú";
	dict[31814] = "yuè";
	dict[31815] = "háo";
	dict[31816] = "zhēn,jiān";
	dict[31817] = "tái";
	dict[31818] = "tì";
	dict[31819] = "niè";
	dict[31820] = "chóu";
	dict[31821] = "jí";
	dict[31822] = "yí";
	dict[31823] = "qí";
	dict[31824] = "téng";
	dict[31825] = "zhuàn";
	dict[31826] = "zhòu";
	dict[31827] = "fān,pān,biān";
	dict[31828] = "sǒu,shǔ";
	dict[31829] = "zhòu";
	dict[31830] = "qiān";
	dict[31831] = "zhuó";
	dict[31832] = "téng";
	dict[31833] = "lù";
	dict[31834] = "lú";
	dict[31835] = "jiǎn,jiān";
	dict[31836] = "tuò";
	dict[31837] = "yíng";
	dict[31838] = "yù";
	dict[31839] = "lài";
	dict[31840] = "lóng,lǒng";
	dict[31841] = "qiè";
	dict[31842] = "lián";
	dict[31843] = "lán";
	dict[31844] = "qiān";
	dict[31845] = "yuè";
	dict[31846] = "zhōng";
	dict[31847] = "qú";
	dict[31848] = "lián";
	dict[31849] = "biān";
	dict[31850] = "duàn";
	dict[31851] = "zuǎn";
	dict[31852] = "lí";
	dict[31853] = "shāi";
	dict[31854] = "luó";
	dict[31855] = "yíng";
	dict[31856] = "yuè";
	dict[31857] = "zhuó";
	dict[31858] = "yù";
	dict[31859] = "mǐ";
	dict[31860] = "dí";
	dict[31861] = "fán";
	dict[31862] = "shēn";
	dict[31863] = "zhé";
	dict[31864] = "shēn";
	dict[31865] = "nǚ";
	dict[31866] = "hé";
	dict[31867] = "lèi";
	dict[31868] = "xiān";
	dict[31869] = "zǐ";
	dict[31870] = "ní";
	dict[31871] = "cùn";
	dict[31872] = "zhàng";
	dict[31873] = "qiān";
	dict[31874] = "zhāi";
	dict[31875] = "bǐ";
	dict[31876] = "bǎn";
	dict[31877] = "wù";
	dict[31878] = "shā,chǎo";
	dict[31879] = "kāng,jīng";
	dict[31880] = "róu";
	dict[31881] = "fěn";
	dict[31882] = "bì";
	dict[31883] = "cuì";
	dict[31884] = "yǐn";
	dict[31885] = "zhé";
	dict[31886] = "mǐ";
	dict[31887] = "tà";
	dict[31888] = "hù";
	dict[31889] = "bā";
	dict[31890] = "lì";
	dict[31891] = "gān";
	dict[31892] = "jù";
	dict[31893] = "pò";
	dict[31894] = "yù";
	dict[31895] = "cū";
	dict[31896] = "nián,zhān";
	dict[31897] = "zhòu";
	dict[31898] = "chī";
	dict[31899] = "sù";
	dict[31900] = "tiào";
	dict[31901] = "lì";
	dict[31902] = "xī";
	dict[31903] = "sù";
	dict[31904] = "hóng";
	dict[31905] = "tóng";
	dict[31906] = "zī,cí";
	dict[31907] = "cè,sè";
	dict[31908] = "yuè";
	dict[31909] = "zhōu,yù";
	dict[31910] = "lín";
	dict[31911] = "zhuāng";
	dict[31912] = "bǎi";
	dict[31913] = "lāo";
	dict[31914] = "fèn";
	dict[31915] = "ér";
	dict[31916] = "qū";
	dict[31917] = "hé";
	dict[31918] = "liáng";
	dict[31919] = "xiàn";
	dict[31920] = "fū,fú";
	dict[31921] = "liáng";
	dict[31922] = "càn";
	dict[31923] = "jīng";
	dict[31924] = "lǐ";
	dict[31925] = "yuè";
	dict[31926] = "lù";
	dict[31927] = "jú";
	dict[31928] = "qí";
	dict[31929] = "cuì";
	dict[31930] = "bài";
	dict[31931] = "zhāng";
	dict[31932] = "lín";
	dict[31933] = "zòng";
	dict[31934] = "jīng";
	dict[31935] = "guǒ";
	dict[31936] = "huā";
	dict[31937] = "sǎn,shēn";
	dict[31938] = "shēn";
	dict[31939] = "táng";
	dict[31940] = "biān,biǎn";
	dict[31941] = "róu";
	dict[31942] = "miàn";
	dict[31943] = "hóu";
	dict[31944] = "xǔ";
	dict[31945] = "zòng";
	dict[31946] = "hū,hú,hù";
	dict[31947] = "jiàn";
	dict[31948] = "zān";
	dict[31949] = "cí";
	dict[31950] = "lí";
	dict[31951] = "xiè";
	dict[31952] = "fū";
	dict[31953] = "nuò";
	dict[31954] = "bèi";
	dict[31955] = "gǔ,gòu";
	dict[31956] = "xiǔ";
	dict[31957] = "gāo";
	dict[31958] = "táng";
	dict[31959] = "qiǔ";
	dict[31960] = "jiā";
	dict[31961] = "cāo";
	dict[31962] = "zhuāng";
	dict[31963] = "táng";
	dict[31964] = "mí,méi";
	dict[31965] = "sǎn,shēn";
	dict[31966] = "fèn";
	dict[31967] = "zāo";
	dict[31968] = "kāng";
	dict[31969] = "jiàng";
	dict[31970] = "mó";
	dict[31971] = "sǎn,shēn";
	dict[31972] = "sǎn";
	dict[31973] = "nuò";
	dict[31974] = "xī";
	dict[31975] = "liáng";
	dict[31976] = "jiàng";
	dict[31977] = "kuài";
	dict[31978] = "bó";
	dict[31979] = "huán";
	dict[31980] = "shǔ";
	dict[31981] = "zòng";
	dict[31982] = "xiàn";
	dict[31983] = "nuò";
	dict[31984] = "tuán";
	dict[31985] = "niè";
	dict[31986] = "lì";
	dict[31987] = "zuò";
	dict[31988] = "dí";
	dict[31989] = "niè";
	dict[31990] = "tiào";
	dict[31991] = "làn";
	dict[31992] = "mì,sī";
	dict[31993] = "sī";
	dict[31994] = "jiū,jiǔ";
	dict[31995] = "xì,jì";
	dict[31996] = "gōng";
	dict[31997] = "zhēng,zhěng";
	dict[31998] = "jiū";
	dict[31999] = "gōng";
	dict[32e3] = "jì";
	dict[32001] = "chà,chǎ";
	dict[32002] = "zhòu";
	dict[32003] = "xún";
	dict[32004] = "yuē,yāo";
	dict[32005] = "hóng,gōng";
	dict[32006] = "yū";
	dict[32007] = "hé,gē";
	dict[32008] = "wán";
	dict[32009] = "rèn";
	dict[32010] = "wěn";
	dict[32011] = "wén,wèn";
	dict[32012] = "qiú";
	dict[32013] = "nà";
	dict[32014] = "zī";
	dict[32015] = "tǒu";
	dict[32016] = "niǔ";
	dict[32017] = "fóu";
	dict[32018] = "jì,jié,jiè";
	dict[32019] = "shū";
	dict[32020] = "chún";
	dict[32021] = "pī,pí,bǐ";
	dict[32022] = "zhèn";
	dict[32023] = "shā";
	dict[32024] = "hóng";
	dict[32025] = "zhǐ";
	dict[32026] = "jí";
	dict[32027] = "fēn";
	dict[32028] = "yún";
	dict[32029] = "rèn";
	dict[32030] = "dǎn";
	dict[32031] = "jīn,jìn";
	dict[32032] = "sù";
	dict[32033] = "fǎng";
	dict[32034] = "suǒ";
	dict[32035] = "cuì";
	dict[32036] = "jiǔ";
	dict[32037] = "zhā,zā";
	dict[32038] = "hā";
	dict[32039] = "jǐn";
	dict[32040] = "fū,fù";
	dict[32041] = "zhì";
	dict[32042] = "qī";
	dict[32043] = "zǐ";
	dict[32044] = "chōu,chóu";
	dict[32045] = "hóng";
	dict[32046] = "zhā,zā";
	dict[32047] = "léi,lěi,lèi";
	dict[32048] = "xì";
	dict[32049] = "fú";
	dict[32050] = "xiè";
	dict[32051] = "shēn";
	dict[32052] = "bō,bì";
	dict[32053] = "zhù";
	dict[32054] = "qū,qǔ";
	dict[32055] = "líng";
	dict[32056] = "zhù";
	dict[32057] = "shào";
	dict[32058] = "gàn";
	dict[32059] = "yǎng";
	dict[32060] = "fú";
	dict[32061] = "tuó";
	dict[32062] = "zhěn,tiǎn";
	dict[32063] = "dài";
	dict[32064] = "chù";
	dict[32065] = "shī";
	dict[32066] = "zhōng";
	dict[32067] = "xián";
	dict[32068] = "zǔ";
	dict[32069] = "jiōng,jiǒng";
	dict[32070] = "bàn";
	dict[32071] = "qú";
	dict[32072] = "mò";
	dict[32073] = "shù";
	dict[32074] = "zuì";
	dict[32075] = "kuàng";
	dict[32076] = "jīng";
	dict[32077] = "rèn";
	dict[32078] = "háng";
	dict[32079] = "xiè";
	dict[32080] = "jié,jiē";
	dict[32081] = "zhū";
	dict[32082] = "chóu";
	dict[32083] = "guà,kuā";
	dict[32084] = "bǎi,mò";
	dict[32085] = "jué";
	dict[32086] = "kuàng";
	dict[32087] = "hú";
	dict[32088] = "cì";
	dict[32089] = "huán,gēng";
	dict[32090] = "gēng";
	dict[32091] = "tāo";
	dict[32092] = "xié,jié";
	dict[32093] = "kù";
	dict[32094] = "jiǎo";
	dict[32095] = "quán,shuān";
	dict[32096] = "gǎi,ǎi";
	dict[32097] = "luò,lào";
	dict[32098] = "xuàn";
	dict[32099] = "bēng,bīng,pēng";
	dict[32100] = "xiàn";
	dict[32101] = "fú";
	dict[32102] = "gěi,jǐ";
	dict[32103] = "tōng,tóng,dòng";
	dict[32104] = "róng";
	dict[32105] = "tiào,diào,dào";
	dict[32106] = "yīn";
	dict[32107] = "lěi,lèi,léi";
	dict[32108] = "xiè";
	dict[32109] = "juàn";
	dict[32110] = "xù";
	dict[32111] = "gāi,hài";
	dict[32112] = "dié";
	dict[32113] = "tǒng";
	dict[32114] = "sī";
	dict[32115] = "jiàng";
	dict[32116] = "xiáng";
	dict[32117] = "huì";
	dict[32118] = "jué";
	dict[32119] = "zhí";
	dict[32120] = "jiǎn";
	dict[32121] = "juàn";
	dict[32122] = "chī,zhǐ";
	dict[32123] = "miǎn,wèn,mán,wàn";
	dict[32124] = "zhèn";
	dict[32125] = "lǚ";
	dict[32126] = "chéng";
	dict[32127] = "qiú";
	dict[32128] = "shū";
	dict[32129] = "bǎng";
	dict[32130] = "tǒng";
	dict[32131] = "xiāo";
	dict[32132] = "huán,huàn,wàn";
	dict[32133] = "qīn,xiān";
	dict[32134] = "gěng";
	dict[32135] = "xū";
	dict[32136] = "tí,tì";
	dict[32137] = "xiù";
	dict[32138] = "xié";
	dict[32139] = "hóng";
	dict[32140] = "xì";
	dict[32141] = "fú";
	dict[32142] = "tīng";
	dict[32143] = "suí";
	dict[32144] = "duì";
	dict[32145] = "kǔn";
	dict[32146] = "fū";
	dict[32147] = "jīng";
	dict[32148] = "hù";
	dict[32149] = "zhī";
	dict[32150] = "yán,xiàn";
	dict[32151] = "jiǒng";
	dict[32152] = "féng";
	dict[32153] = "jì";
	dict[32154] = "xù";
	dict[32155] = "rěn";
	dict[32156] = "zōng,zèng";
	dict[32157] = "lín,chēn";
	dict[32158] = "duǒ";
	dict[32159] = "lì,liè";
	dict[32160] = "lǜ";
	dict[32161] = "jīng";
	dict[32162] = "chóu";
	dict[32163] = "quǎn";
	dict[32164] = "shào";
	dict[32165] = "qí";
	dict[32166] = "qí";
	dict[32167] = "zhǔn,zhùn";
	dict[32168] = "jī,qí";
	dict[32169] = "wǎn";
	dict[32170] = "qiàn,qīng,zhēng";
	dict[32171] = "xiàn";
	dict[32172] = "shòu";
	dict[32173] = "wéi";
	dict[32174] = "qìng,qǐ";
	dict[32175] = "táo";
	dict[32176] = "wǎn";
	dict[32177] = "gāng";
	dict[32178] = "wǎng";
	dict[32179] = "bēng,běng,bèng";
	dict[32180] = "zhuì";
	dict[32181] = "cǎi";
	dict[32182] = "guǒ";
	dict[32183] = "cuì";
	dict[32184] = "lún,guān";
	dict[32185] = "liǔ";
	dict[32186] = "qǐ";
	dict[32187] = "zhàn";
	dict[32188] = "bì";
	dict[32189] = "chuò,chāo";
	dict[32190] = "líng";
	dict[32191] = "mián";
	dict[32192] = "qī";
	dict[32193] = "jī";
	dict[32194] = "tián,tǎn,chān";
	dict[32195] = "zōng";
	dict[32196] = "gǔn";
	dict[32197] = "zōu";
	dict[32198] = "xī";
	dict[32199] = "zī";
	dict[32200] = "xìng";
	dict[32201] = "liǎng";
	dict[32202] = "jǐn";
	dict[32203] = "fēi";
	dict[32204] = "ruí";
	dict[32205] = "mín";
	dict[32206] = "yù";
	dict[32207] = "zǒng";
	dict[32208] = "fán";
	dict[32209] = "lǜ,lù";
	dict[32210] = "xù";
	dict[32211] = "yīng";
	dict[32212] = "shàng";
	dict[32213] = "zī";
	dict[32214] = "xù";
	dict[32215] = "xiāng";
	dict[32216] = "jiān";
	dict[32217] = "kè";
	dict[32218] = "xiàn";
	dict[32219] = "ruǎn,ruàn";
	dict[32220] = "mián";
	dict[32221] = "jī,qī";
	dict[32222] = "duàn";
	dict[32223] = "chóng,zhòng";
	dict[32224] = "dì";
	dict[32225] = "mín";
	dict[32226] = "miáo,máo";
	dict[32227] = "yuán";
	dict[32228] = "xiè,yè";
	dict[32229] = "bǎo";
	dict[32230] = "sī";
	dict[32231] = "qiū";
	dict[32232] = "biān";
	dict[32233] = "huǎn";
	dict[32234] = "gēng,gèng";
	dict[32235] = "zǒng";
	dict[32236] = "miǎn";
	dict[32237] = "wèi";
	dict[32238] = "fù";
	dict[32239] = "wěi";
	dict[32240] = "tōu,xū,shū";
	dict[32241] = "gōu";
	dict[32242] = "miǎo";
	dict[32243] = "xié";
	dict[32244] = "liàn";
	dict[32245] = "zōng,zòng";
	dict[32246] = "biàn,pián";
	dict[32247] = "gǔn,yùn";
	dict[32248] = "yīn";
	dict[32249] = "tí";
	dict[32250] = "guā,wō";
	dict[32251] = "zhì";
	dict[32252] = "yùn,yūn,wēn";
	dict[32253] = "chēng";
	dict[32254] = "chán";
	dict[32255] = "dài";
	dict[32256] = "xié";
	dict[32257] = "yuán";
	dict[32258] = "zǒng";
	dict[32259] = "xū";
	dict[32260] = "shéng";
	dict[32261] = "wēi";
	dict[32262] = "gēng,gèng";
	dict[32264] = "yíng";
	dict[32265] = "jìn";
	dict[32266] = "yì";
	dict[32267] = "zhuì";
	dict[32268] = "nì";
	dict[32269] = "bāng,bàng";
	dict[32270] = "gǔ,hú";
	dict[32271] = "pán";
	dict[32272] = "zhòu";
	dict[32273] = "jiān";
	dict[32274] = "cī,cuò,suǒ";
	dict[32275] = "quán";
	dict[32276] = "shuǎng";
	dict[32277] = "yùn,yūn,wēn";
	dict[32278] = "xiá";
	dict[32279] = "cuī,suī,shuāi";
	dict[32280] = "xì";
	dict[32281] = "róng,rǒng,ròng";
	dict[32282] = "tāo";
	dict[32283] = "fù";
	dict[32284] = "yún";
	dict[32285] = "zhěn";
	dict[32286] = "gǎo";
	dict[32287] = "rù";
	dict[32288] = "hú";
	dict[32289] = "zài,zēng";
	dict[32290] = "téng";
	dict[32291] = "xiàn,xuán";
	dict[32292] = "sù";
	dict[32293] = "zhěn";
	dict[32294] = "zòng";
	dict[32295] = "tāo";
	dict[32296] = "huǎng";
	dict[32297] = "cài";
	dict[32298] = "bì";
	dict[32299] = "féng,fèng";
	dict[32300] = "cù";
	dict[32301] = "lí";
	dict[32302] = "suō,sù";
	dict[32303] = "yǎn,yǐn";
	dict[32304] = "xǐ";
	dict[32305] = "zòng,zǒng";
	dict[32306] = "léi";
	dict[32307] = "zhuàn,juàn";
	dict[32308] = "qiàn";
	dict[32309] = "màn";
	dict[32310] = "zhí";
	dict[32311] = "lǚ";
	dict[32312] = "mù,mò";
	dict[32313] = "piǎo,piāo";
	dict[32314] = "lián";
	dict[32315] = "mí";
	dict[32316] = "xuàn";
	dict[32317] = "zǒng";
	dict[32318] = "jì";
	dict[32319] = "shān";
	dict[32320] = "suì";
	dict[32321] = "fán,pó";
	dict[32322] = "lǜ";
	dict[32323] = "bēng,běng,bèng";
	dict[32324] = "yī";
	dict[32325] = "sāo";
	dict[32326] = "móu,miù,miào,mù,liǎo";
	dict[32327] = "yáo,yóu,zhòu";
	dict[32328] = "qiǎng";
	dict[32329] = "shéng";
	dict[32330] = "xiān";
	dict[32331] = "jì";
	dict[32332] = "zōng,zòng";
	dict[32333] = "xiù";
	dict[32334] = "rán";
	dict[32335] = "xuàn";
	dict[32336] = "suì";
	dict[32337] = "qiāo";
	dict[32338] = "zēng,zèng";
	dict[32339] = "zuǒ";
	dict[32340] = "zhī,zhì";
	dict[32341] = "shàn";
	dict[32342] = "sǎn";
	dict[32343] = "lín";
	dict[32344] = "jú,jué";
	dict[32345] = "fān";
	dict[32346] = "liáo";
	dict[32347] = "chuō,chuò";
	dict[32348] = "zūn,zǔn";
	dict[32349] = "jiàn";
	dict[32350] = "rào";
	dict[32351] = "chǎn,chán";
	dict[32352] = "ruǐ";
	dict[32353] = "xiù";
	dict[32354] = "huì,huí";
	dict[32355] = "huà";
	dict[32356] = "zuǎn";
	dict[32357] = "xī";
	dict[32358] = "qiǎng";
	dict[32359] = "wén";
	dict[32360] = "da";
	dict[32361] = "shéng";
	dict[32362] = "huì";
	dict[32363] = "xì,jì";
	dict[32364] = "sè";
	dict[32365] = "jiǎn";
	dict[32366] = "jiāng";
	dict[32367] = "huán";
	dict[32368] = "qiāo,sāo";
	dict[32369] = "cōng";
	dict[32370] = "xiè";
	dict[32371] = "jiǎo,zhuó";
	dict[32372] = "bì";
	dict[32373] = "dàn,tán,chán";
	dict[32374] = "yì";
	dict[32375] = "nǒng";
	dict[32376] = "suì";
	dict[32377] = "yì";
	dict[32378] = "shā";
	dict[32379] = "rú";
	dict[32380] = "jì";
	dict[32381] = "bīn";
	dict[32382] = "qiǎn";
	dict[32383] = "lán";
	dict[32384] = "pú,fú";
	dict[32385] = "xūn";
	dict[32386] = "zuǎn";
	dict[32387] = "zī";
	dict[32388] = "péng";
	dict[32389] = "yào,lì";
	dict[32390] = "mò";
	dict[32391] = "lèi";
	dict[32392] = "xiè";
	dict[32393] = "zuǎn";
	dict[32394] = "kuàng";
	dict[32395] = "yōu";
	dict[32396] = "xù";
	dict[32397] = "léi";
	dict[32398] = "xiān";
	dict[32399] = "chán";
	dict[32400] = "jiǎo";
	dict[32401] = "lú";
	dict[32402] = "chán";
	dict[32403] = "yīng";
	dict[32404] = "cái";
	dict[32405] = "xiāng,rǎng";
	dict[32406] = "xiān";
	dict[32407] = "zuī";
	dict[32408] = "zuǎn";
	dict[32409] = "luò";
	dict[32410] = "lí,xǐ,lǐ,sǎ";
	dict[32411] = "dào";
	dict[32412] = "lǎn";
	dict[32413] = "léi";
	dict[32414] = "liàn";
	dict[32415] = "sī";
	dict[32416] = "jiū";
	dict[32417] = "yū";
	dict[32418] = "hóng,gōng";
	dict[32419] = "zhòu";
	dict[32420] = "xiān,qiàn";
	dict[32421] = "hé,gē";
	dict[32422] = "yuē,yāo";
	dict[32423] = "jí";
	dict[32424] = "wán";
	dict[32425] = "kuàng";
	dict[32426] = "jì,jǐ";
	dict[32427] = "rèn";
	dict[32428] = "wěi";
	dict[32429] = "yún";
	dict[32430] = "hóng";
	dict[32431] = "chún";
	dict[32432] = "pī,pí,bǐ";
	dict[32433] = "shā";
	dict[32434] = "gāng";
	dict[32435] = "nà";
	dict[32436] = "rèn";
	dict[32437] = "zòng,zǒng";
	dict[32438] = "lún,guān";
	dict[32439] = "fēn";
	dict[32440] = "zhǐ";
	dict[32441] = "wén,wèn";
	dict[32442] = "fǎng";
	dict[32443] = "zhù";
	dict[32444] = "zhèn";
	dict[32445] = "niǔ";
	dict[32446] = "shū";
	dict[32447] = "xiàn";
	dict[32448] = "gàn";
	dict[32449] = "xiè";
	dict[32450] = "fú";
	dict[32451] = "liàn";
	dict[32452] = "zǔ";
	dict[32453] = "shēn";
	dict[32454] = "xì";
	dict[32455] = "zhī,zhì";
	dict[32456] = "zhōng";
	dict[32457] = "zhòu";
	dict[32458] = "bàn";
	dict[32459] = "fú";
	dict[32460] = "chù";
	dict[32461] = "shào";
	dict[32462] = "yì";
	dict[32463] = "jīng";
	dict[32464] = "dài";
	dict[32465] = "bǎng";
	dict[32466] = "róng";
	dict[32467] = "jié,jiē";
	dict[32468] = "kù";
	dict[32469] = "rào";
	dict[32470] = "dié";
	dict[32471] = "háng";
	dict[32472] = "huì";
	dict[32473] = "gěi,jǐ";
	dict[32474] = "xuàn";
	dict[32475] = "jiàng";
	dict[32476] = "luò,lào";
	dict[32477] = "jué";
	dict[32478] = "jiǎo";
	dict[32479] = "tǒng";
	dict[32480] = "gěng";
	dict[32481] = "xiāo";
	dict[32482] = "juàn";
	dict[32483] = "xiù";
	dict[32484] = "xì";
	dict[32485] = "suí";
	dict[32486] = "tāo";
	dict[32487] = "jì";
	dict[32488] = "tí,tì";
	dict[32489] = "jì";
	dict[32490] = "xù";
	dict[32491] = "líng";
	dict[32492] = "yīng";
	dict[32493] = "xù";
	dict[32494] = "qǐ";
	dict[32495] = "fēi";
	dict[32496] = "chuò,chāo";
	dict[32497] = "shàng";
	dict[32498] = "gǔn";
	dict[32499] = "shéng";
	dict[32500] = "wéi";
	dict[32501] = "mián";
	dict[32502] = "shòu";
	dict[32503] = "bēng,běng,bèng";
	dict[32504] = "chóu";
	dict[32505] = "táo";
	dict[32506] = "liǔ";
	dict[32507] = "quǎn";
	dict[32508] = "zōng,zèng";
	dict[32509] = "zhàn";
	dict[32510] = "wǎn";
	dict[32511] = "lǜ,lù";
	dict[32512] = "zhuì";
	dict[32513] = "zī";
	dict[32514] = "kè";
	dict[32515] = "xiāng";
	dict[32516] = "jiān";
	dict[32517] = "miǎn";
	dict[32518] = "lǎn";
	dict[32519] = "tí";
	dict[32520] = "miǎo";
	dict[32521] = "jī,qī";
	dict[32522] = "yùn,yūn,wēn";
	dict[32523] = "huì,huí";
	dict[32524] = "sī";
	dict[32525] = "duǒ";
	dict[32526] = "duàn";
	dict[32527] = "biàn,pián";
	dict[32528] = "xiàn";
	dict[32529] = "gōu";
	dict[32530] = "zhuì";
	dict[32531] = "huǎn";
	dict[32532] = "dì";
	dict[32533] = "lǚ";
	dict[32534] = "biān";
	dict[32535] = "mín";
	dict[32536] = "yuán";
	dict[32537] = "jìn";
	dict[32538] = "fù";
	dict[32539] = "rù";
	dict[32540] = "zhěn";
	dict[32541] = "féng,fèng";
	dict[32542] = "cuī,suī,shuāi";
	dict[32543] = "gǎo";
	dict[32544] = "chán";
	dict[32545] = "lí";
	dict[32546] = "yì";
	dict[32547] = "jiān";
	dict[32548] = "bīn";
	dict[32549] = "piǎo,piāo";
	dict[32550] = "màn";
	dict[32551] = "léi";
	dict[32552] = "yīng";
	dict[32553] = "suō,sù";
	dict[32554] = "móu,miù,miào,mù,liǎo";
	dict[32555] = "sāo";
	dict[32556] = "xié";
	dict[32557] = "liáo";
	dict[32558] = "shàn";
	dict[32559] = "zēng,zèng";
	dict[32560] = "jiāng";
	dict[32561] = "qiǎn";
	dict[32562] = "qiāo,sāo";
	dict[32563] = "huán";
	dict[32564] = "jiǎo,zhuó";
	dict[32565] = "zuǎn";
	dict[32566] = "fǒu";
	dict[32567] = "xiè";
	dict[32568] = "gāng";
	dict[32569] = "fǒu";
	dict[32570] = "quē";
	dict[32571] = "fǒu";
	dict[32572] = "quē";
	dict[32573] = "bō";
	dict[32574] = "píng";
	dict[32575] = "xiàng";
	dict[32576] = "zhào";
	dict[32577] = "gāng";
	dict[32578] = "yīng";
	dict[32579] = "yīng";
	dict[32580] = "qìng";
	dict[32581] = "xià";
	dict[32582] = "guàn";
	dict[32583] = "zūn";
	dict[32584] = "tán";
	dict[32585] = "chēng";
	dict[32586] = "qì";
	dict[32587] = "wèng";
	dict[32588] = "yīng";
	dict[32589] = "léi";
	dict[32590] = "tán";
	dict[32591] = "lú";
	dict[32592] = "guàn";
	dict[32593] = "wǎng";
	dict[32594] = "wǎng";
	dict[32595] = "wǎng";
	dict[32596] = "wǎng";
	dict[32597] = "hǎn";
	dict[32598] = "wǎng";
	dict[32599] = "luó";
	dict[32600] = "fú";
	dict[32601] = "shēn";
	dict[32602] = "fá";
	dict[32603] = "gū";
	dict[32604] = "zhǔ";
	dict[32605] = "jū";
	dict[32606] = "máo";
	dict[32607] = "gǔ";
	dict[32608] = "mín";
	dict[32609] = "gāng";
	dict[32610] = "bà,ba,pí";
	dict[32611] = "guà";
	dict[32612] = "tí";
	dict[32613] = "juàn";
	dict[32614] = "fú";
	dict[32615] = "shēn";
	dict[32616] = "yǎn";
	dict[32617] = "zhào";
	dict[32618] = "zuì";
	dict[32619] = "guǎi,guà";
	dict[32620] = "zhuó";
	dict[32621] = "yù";
	dict[32622] = "zhì";
	dict[32623] = "ǎn";
	dict[32624] = "fá";
	dict[32625] = "lǎn";
	dict[32626] = "shǔ";
	dict[32627] = "sī";
	dict[32628] = "pí";
	dict[32629] = "mà";
	dict[32630] = "liǔ";
	dict[32631] = "bà,ba,pí";
	dict[32632] = "fá";
	dict[32633] = "lí";
	dict[32634] = "cháo";
	dict[32635] = "wèi";
	dict[32636] = "bì";
	dict[32637] = "jì";
	dict[32638] = "zēng";
	dict[32639] = "chōng";
	dict[32640] = "liǔ";
	dict[32641] = "jī";
	dict[32642] = "juàn";
	dict[32643] = "mì";
	dict[32644] = "zhào";
	dict[32645] = "luó";
	dict[32646] = "pí";
	dict[32647] = "jī";
	dict[32648] = "jī";
	dict[32649] = "luán";
	dict[32650] = "yáng,xiáng";
	dict[32651] = "mǐ";
	dict[32652] = "qiāng";
	dict[32653] = "dá";
	dict[32654] = "měi";
	dict[32655] = "yáng,xiáng";
	dict[32656] = "líng";
	dict[32657] = "yǒu";
	dict[32658] = "fén";
	dict[32659] = "bā";
	dict[32660] = "gāo";
	dict[32661] = "yàng";
	dict[32662] = "gǔ";
	dict[32663] = "qiāng";
	dict[32664] = "zāng";
	dict[32665] = "měi,gāo";
	dict[32666] = "líng";
	dict[32667] = "yì,xī";
	dict[32668] = "zhù";
	dict[32669] = "dī";
	dict[32670] = "xiū";
	dict[32671] = "qiǎng";
	dict[32672] = "yí";
	dict[32673] = "xiàn";
	dict[32674] = "róng";
	dict[32675] = "qún";
	dict[32676] = "qún";
	dict[32677] = "qiǎng";
	dict[32678] = "huán";
	dict[32679] = "suō";
	dict[32680] = "xiàn";
	dict[32681] = "yì";
	dict[32682] = "yōu";
	dict[32683] = "qiāng,kòng";
	dict[32684] = "qián,xián,yán";
	dict[32685] = "yú";
	dict[32686] = "gēng";
	dict[32687] = "jié";
	dict[32688] = "tāng";
	dict[32689] = "yuán";
	dict[32690] = "xī";
	dict[32691] = "fán";
	dict[32692] = "shān";
	dict[32693] = "fén";
	dict[32694] = "shān";
	dict[32695] = "liǎn";
	dict[32696] = "léi";
	dict[32697] = "gēng";
	dict[32698] = "nóu";
	dict[32699] = "qiàng";
	dict[32700] = "chàn";
	dict[32701] = "yǔ";
	dict[32702] = "hóng,gòng";
	dict[32703] = "yì";
	dict[32704] = "chōng";
	dict[32705] = "wēng";
	dict[32706] = "fēn";
	dict[32707] = "hóng";
	dict[32708] = "chì";
	dict[32709] = "chì";
	dict[32710] = "cuì";
	dict[32711] = "fú";
	dict[32712] = "xiá";
	dict[32713] = "běn";
	dict[32714] = "yì";
	dict[32715] = "là";
	dict[32716] = "yì";
	dict[32717] = "pī,bì,pō";
	dict[32718] = "líng";
	dict[32719] = "liù";
	dict[32720] = "zhì";
	dict[32721] = "qú,yù";
	dict[32722] = "xí";
	dict[32723] = "xié";
	dict[32724] = "xiáng";
	dict[32725] = "xī";
	dict[32726] = "xī";
	dict[32727] = "ké";
	dict[32728] = "qiáo,qiào";
	dict[32729] = "huì";
	dict[32730] = "huī";
	dict[32731] = "xiāo";
	dict[32732] = "shà";
	dict[32733] = "hóng";
	dict[32734] = "jiāng";
	dict[32735] = "dí,zhái";
	dict[32736] = "cuì";
	dict[32737] = "fěi";
	dict[32738] = "dào,zhōu";
	dict[32739] = "shà";
	dict[32740] = "chì";
	dict[32741] = "zhù";
	dict[32742] = "jiǎn";
	dict[32743] = "xuān";
	dict[32744] = "chì";
	dict[32745] = "piān";
	dict[32746] = "zōng";
	dict[32747] = "wán";
	dict[32748] = "huī";
	dict[32749] = "hóu";
	dict[32750] = "hé";
	dict[32751] = "hè";
	dict[32752] = "hàn";
	dict[32753] = "áo";
	dict[32754] = "piāo";
	dict[32755] = "yì";
	dict[32756] = "lián";
	dict[32757] = "hóu,qú";
	dict[32758] = "áo";
	dict[32759] = "lín";
	dict[32760] = "pěn";
	dict[32761] = "qiáo,qiào";
	dict[32762] = "áo";
	dict[32763] = "fān";
	dict[32764] = "yì";
	dict[32765] = "huì";
	dict[32766] = "xuān";
	dict[32767] = "dào";
	dict[32768] = "yào";
	dict[32769] = "lǎo";
	dict[32770] = "lǎo";
	dict[32771] = "kǎo";
	dict[32772] = "mào";
	dict[32773] = "zhě";
	dict[32774] = "qí,shì";
	dict[32775] = "gǒu";
	dict[32776] = "gǒu";
	dict[32777] = "gǒu";
	dict[32778] = "dié";
	dict[32779] = "dié";
	dict[32780] = "ér";
	dict[32781] = "shuǎ";
	dict[32782] = "ruǎn,nuò";
	dict[32783] = "ér,nài";
	dict[32784] = "nài";
	dict[32785] = "duān,zhuān";
	dict[32786] = "lěi";
	dict[32787] = "tīng";
	dict[32788] = "zǐ";
	dict[32789] = "gēng";
	dict[32790] = "chào";
	dict[32791] = "hào";
	dict[32792] = "yún";
	dict[32793] = "bà,pá";
	dict[32794] = "pī";
	dict[32795] = "sì,chí";
	dict[32796] = "sì";
	dict[32797] = "qù,chú";
	dict[32798] = "jiā";
	dict[32799] = "jù";
	dict[32800] = "huō";
	dict[32801] = "chú";
	dict[32802] = "lào";
	dict[32803] = "lún,lǔn";
	dict[32804] = "jí,jiè";
	dict[32805] = "tǎng";
	dict[32806] = "ǒu";
	dict[32807] = "lóu";
	dict[32808] = "nòu";
	dict[32809] = "jiǎng";
	dict[32810] = "pǎng";
	dict[32811] = "zhá,zé";
	dict[32812] = "lóu";
	dict[32813] = "jī";
	dict[32814] = "lào";
	dict[32815] = "huò";
	dict[32816] = "yōu";
	dict[32817] = "mò";
	dict[32818] = "huái";
	dict[32819] = "ěr";
	dict[32820] = "yì";
	dict[32821] = "dīng";
	dict[32822] = "yé,yē";
	dict[32823] = "dā";
	dict[32824] = "sǒng";
	dict[32825] = "qín";
	dict[32826] = "yún,yíng";
	dict[32827] = "chǐ";
	dict[32828] = "dān";
	dict[32829] = "dān";
	dict[32830] = "hóng";
	dict[32831] = "gěng";
	dict[32832] = "zhí";
	dict[32833] = "pàn";
	dict[32834] = "niè";
	dict[32835] = "dān";
	dict[32836] = "zhěn";
	dict[32837] = "chè";
	dict[32838] = "líng";
	dict[32839] = "zhēng";
	dict[32840] = "yǒu";
	dict[32841] = "wà,tuǐ,zhuó";
	dict[32842] = "liáo";
	dict[32843] = "lóng";
	dict[32844] = "zhí";
	dict[32845] = "níng";
	dict[32846] = "tiāo";
	dict[32847] = "ér,nǜ";
	dict[32848] = "yà";
	dict[32849] = "tiē,zhé";
	dict[32850] = "guō";
	dict[32851] = "xù";
	dict[32852] = "lián";
	dict[32853] = "hào";
	dict[32854] = "shèng";
	dict[32855] = "liè";
	dict[32856] = "pìn";
	dict[32857] = "jīng";
	dict[32858] = "jù";
	dict[32859] = "bǐ";
	dict[32860] = "dǐ,zhì";
	dict[32861] = "guó";
	dict[32862] = "wén";
	dict[32863] = "xù";
	dict[32864] = "pīng";
	dict[32865] = "cōng";
	dict[32866] = "dìng";
	dict[32867] = "ní";
	dict[32868] = "tíng";
	dict[32869] = "jǔ";
	dict[32870] = "cōng";
	dict[32871] = "kuī";
	dict[32872] = "lián";
	dict[32873] = "kuì";
	dict[32874] = "cōng";
	dict[32875] = "lián";
	dict[32876] = "wēng";
	dict[32877] = "kuì";
	dict[32878] = "lián";
	dict[32879] = "lián";
	dict[32880] = "cōng";
	dict[32881] = "áo";
	dict[32882] = "shēng";
	dict[32883] = "sǒng";
	dict[32884] = "tīng";
	dict[32885] = "kuì";
	dict[32886] = "niè";
	dict[32887] = "zhí";
	dict[32888] = "dān";
	dict[32889] = "níng";
	dict[32890] = "qié";
	dict[32891] = "nǐ,jiàn";
	dict[32892] = "tīng";
	dict[32893] = "tīng";
	dict[32894] = "lóng";
	dict[32895] = "yù";
	dict[32896] = "yù";
	dict[32897] = "zhào";
	dict[32898] = "sì";
	dict[32899] = "sù";
	dict[32900] = "yì";
	dict[32901] = "sù";
	dict[32902] = "sì";
	dict[32903] = "zhào";
	dict[32904] = "zhào";
	dict[32905] = "ròu";
	dict[32906] = "yì";
	dict[32907] = "lèi,lē";
	dict[32908] = "jī";
	dict[32909] = "qiú";
	dict[32910] = "kěn";
	dict[32911] = "cào";
	dict[32912] = "gē";
	dict[32913] = "bó,dí";
	dict[32914] = "huàn";
	dict[32915] = "huāng";
	dict[32916] = "chǐ";
	dict[32917] = "rèn";
	dict[32918] = "xiāo,xiào";
	dict[32919] = "rǔ";
	dict[32920] = "zhǒu";
	dict[32921] = "yuān";
	dict[32922] = "dù,dǔ";
	dict[32923] = "gāng";
	dict[32924] = "róng,chēn";
	dict[32925] = "gān";
	dict[32926] = "chāi";
	dict[32927] = "wò";
	dict[32928] = "cháng";
	dict[32929] = "gǔ";
	dict[32930] = "zhī";
	dict[32931] = "qín,hán,hàn";
	dict[32932] = "fū";
	dict[32933] = "féi";
	dict[32934] = "bān";
	dict[32935] = "pēi";
	dict[32936] = "pàng,pán,pàn";
	dict[32937] = "jiān";
	dict[32938] = "fáng";
	dict[32939] = "zhūn,chún";
	dict[32940] = "yóu";
	dict[32941] = "nà";
	dict[32942] = "āng";
	dict[32943] = "kěn";
	dict[32944] = "rán";
	dict[32945] = "gōng";
	dict[32946] = "yù";
	dict[32947] = "wěn";
	dict[32948] = "yáo";
	dict[32949] = "qí";
	dict[32950] = "pí,bǐ,bì";
	dict[32951] = "qiǎn";
	dict[32952] = "xī";
	dict[32953] = "xī";
	dict[32954] = "fèi";
	dict[32955] = "kěn";
	dict[32956] = "jǐng";
	dict[32957] = "tài";
	dict[32958] = "shèn";
	dict[32959] = "zhǒng";
	dict[32960] = "zhàng";
	dict[32961] = "xié";
	dict[32962] = "shèn";
	dict[32963] = "wèi";
	dict[32964] = "zhòu";
	dict[32965] = "dié";
	dict[32966] = "dǎn";
	dict[32967] = "fèi,bì";
	dict[32968] = "bá";
	dict[32969] = "bó";
	dict[32970] = "qú";
	dict[32971] = "tián";
	dict[32972] = "bèi,bēi";
	dict[32973] = "guā";
	dict[32974] = "tāi";
	dict[32975] = "zǐ,fèi";
	dict[32976] = "fěi,kū";
	dict[32977] = "zhī";
	dict[32978] = "nì";
	dict[32979] = "píng,pēng";
	dict[32980] = "zì";
	dict[32981] = "fū,fú,zhǒu";
	dict[32982] = "pàng,pán,pàn";
	dict[32983] = "zhēn";
	dict[32984] = "xián";
	dict[32985] = "zuò";
	dict[32986] = "pēi";
	dict[32987] = "jiǎ";
	dict[32988] = "shèng";
	dict[32989] = "zhī";
	dict[32990] = "bāo";
	dict[32991] = "mǔ";
	dict[32992] = "qū";
	dict[32993] = "hú";
	dict[32994] = "qià";
	dict[32995] = "chǐ";
	dict[32996] = "yìn";
	dict[32997] = "xū";
	dict[32998] = "yāng";
	dict[32999] = "lóng";
	dict[33e3] = "dòng";
	dict[33001] = "kǎ";
	dict[33002] = "lú";
	dict[33003] = "jìng";
	dict[33004] = "nǔ";
	dict[33005] = "yān";
	dict[33006] = "pāng";
	dict[33007] = "kuà";
	dict[33008] = "yí";
	dict[33009] = "guāng";
	dict[33010] = "hǎi";
	dict[33011] = "gē,gé";
	dict[33012] = "dòng";
	dict[33013] = "chī";
	dict[33014] = "jiāo";
	dict[33015] = "xiōng";
	dict[33016] = "xiōng";
	dict[33017] = "ér";
	dict[33018] = "àn";
	dict[33019] = "héng";
	dict[33020] = "pián";
	dict[33021] = "néng,nài";
	dict[33022] = "zì";
	dict[33023] = "guī,kuì";
	dict[33024] = "zhēng";
	dict[33025] = "tiǎo";
	dict[33026] = "zhī";
	dict[33027] = "cuì";
	dict[33028] = "méi";
	dict[33029] = "xié";
	dict[33030] = "cuì";
	dict[33031] = "xié";
	dict[33032] = "mài";
	dict[33033] = "mài,mò";
	dict[33034] = "jǐ";
	dict[33035] = "xié";
	dict[33036] = "nín";
	dict[33037] = "kuài";
	dict[33038] = "sà";
	dict[33039] = "zāng,zàng";
	dict[33040] = "qí";
	dict[33041] = "nǎo";
	dict[33042] = "mǐ";
	dict[33043] = "nóng";
	dict[33044] = "luán";
	dict[33045] = "wàn";
	dict[33046] = "bó";
	dict[33047] = "wěn";
	dict[33048] = "wǎn";
	dict[33049] = "xiū";
	dict[33050] = "jiǎo";
	dict[33051] = "jìng";
	dict[33052] = "róu";
	dict[33053] = "hēng";
	dict[33054] = "cuǒ";
	dict[33055] = "liè";
	dict[33056] = "shān";
	dict[33057] = "tǐng";
	dict[33058] = "méi";
	dict[33059] = "chún";
	dict[33060] = "shèn";
	dict[33061] = "jiá";
	dict[33062] = "tè";
	dict[33063] = "juān";
	dict[33064] = "cù";
	dict[33065] = "xiū";
	dict[33066] = "xìn";
	dict[33067] = "tuō";
	dict[33068] = "pāo";
	dict[33069] = "chéng";
	dict[33070] = "něi";
	dict[33071] = "fǔ";
	dict[33072] = "dòu";
	dict[33073] = "tuō";
	dict[33074] = "niào";
	dict[33075] = "nǎo";
	dict[33076] = "pǐ";
	dict[33077] = "gǔ";
	dict[33078] = "luó";
	dict[33079] = "lì";
	dict[33080] = "liǎn";
	dict[33081] = "zhàng";
	dict[33082] = "cuī";
	dict[33083] = "jiē";
	dict[33084] = "liǎng";
	dict[33085] = "shuí";
	dict[33086] = "pí";
	dict[33087] = "biāo";
	dict[33088] = "lún";
	dict[33089] = "pián";
	dict[33090] = "guò";
	dict[33091] = "juàn";
	dict[33092] = "chuí";
	dict[33093] = "dàn";
	dict[33094] = "tiǎn";
	dict[33095] = "něi";
	dict[33096] = "jīng";
	dict[33097] = "nái";
	dict[33098] = "là,xī";
	dict[33099] = "yè";
	dict[33100] = "ā,yān";
	dict[33101] = "rèn";
	dict[33102] = "shèn";
	dict[33103] = "zhuì";
	dict[33104] = "fǔ";
	dict[33105] = "fǔ";
	dict[33106] = "jū";
	dict[33107] = "féi";
	dict[33108] = "qiāng";
	dict[33109] = "wàn";
	dict[33110] = "dòng";
	dict[33111] = "pí";
	dict[33112] = "guó";
	dict[33113] = "zōng";
	dict[33114] = "dìng";
	dict[33115] = "wò";
	dict[33116] = "méi";
	dict[33117] = "ruǎn";
	dict[33118] = "zhuàn";
	dict[33119] = "chì";
	dict[33120] = "còu";
	dict[33121] = "luó";
	dict[33122] = "ǒu";
	dict[33123] = "dì";
	dict[33124] = "ān";
	dict[33125] = "xīng";
	dict[33126] = "nǎo";
	dict[33127] = "shù";
	dict[33128] = "shuàn";
	dict[33129] = "nǎn";
	dict[33130] = "yùn";
	dict[33131] = "zhǒng";
	dict[33132] = "róu";
	dict[33133] = "è";
	dict[33134] = "sāi";
	dict[33135] = "tú";
	dict[33136] = "yāo";
	dict[33137] = "jiàn";
	dict[33138] = "wěi";
	dict[33139] = "jiǎo";
	dict[33140] = "yú";
	dict[33141] = "jiā";
	dict[33142] = "duàn";
	dict[33143] = "bì";
	dict[33144] = "cháng";
	dict[33145] = "fù";
	dict[33146] = "xiàn";
	dict[33147] = "nì";
	dict[33148] = "miǎn";
	dict[33149] = "wà";
	dict[33150] = "téng";
	dict[33151] = "tuǐ";
	dict[33152] = "bǎng,páng";
	dict[33153] = "qiǎn";
	dict[33154] = "lǚ";
	dict[33155] = "wà";
	dict[33156] = "shòu";
	dict[33157] = "táng";
	dict[33158] = "sù";
	dict[33159] = "zhuì";
	dict[33160] = "gé";
	dict[33161] = "yì";
	dict[33162] = "bó";
	dict[33163] = "liáo";
	dict[33164] = "jí";
	dict[33165] = "pí";
	dict[33166] = "xié";
	dict[33167] = "gāo,gào";
	dict[33168] = "lǚ";
	dict[33169] = "bìn";
	dict[33170] = "ōu";
	dict[33171] = "cháng";
	dict[33172] = "lù,biāo";
	dict[33173] = "guó";
	dict[33174] = "pāng";
	dict[33175] = "chuái";
	dict[33176] = "biāo";
	dict[33177] = "jiǎng";
	dict[33178] = "fū";
	dict[33179] = "táng";
	dict[33180] = "mó";
	dict[33181] = "xī";
	dict[33182] = "zhuān,chuán,chún,zhuǎn";
	dict[33183] = "lǜ";
	dict[33184] = "jiāo";
	dict[33185] = "yìng";
	dict[33186] = "lǘ";
	dict[33187] = "zhì";
	dict[33188] = "xuě";
	dict[33189] = "cūn";
	dict[33190] = "lìn";
	dict[33191] = "tóng";
	dict[33192] = "péng";
	dict[33193] = "nì";
	dict[33194] = "chuài";
	dict[33195] = "liáo";
	dict[33196] = "cuì";
	dict[33197] = "kuì";
	dict[33198] = "xiāo";
	dict[33199] = "tēng";
	dict[33200] = "fán,pán";
	dict[33201] = "zhí";
	dict[33202] = "jiāo";
	dict[33203] = "shàn";
	dict[33204] = "hū,wǔ";
	dict[33205] = "cuì";
	dict[33206] = "rùn";
	dict[33207] = "xiāng";
	dict[33208] = "suǐ";
	dict[33209] = "fèn";
	dict[33210] = "yīng";
	dict[33211] = "shān,dàn";
	dict[33212] = "zhuā";
	dict[33213] = "dǎn";
	dict[33214] = "kuài";
	dict[33215] = "nóng";
	dict[33216] = "tún";
	dict[33217] = "lián";
	dict[33218] = "bì,bei";
	dict[33219] = "yōng";
	dict[33220] = "jué";
	dict[33221] = "chù";
	dict[33222] = "yì";
	dict[33223] = "juǎn";
	dict[33224] = "là,gé";
	dict[33225] = "liǎn";
	dict[33226] = "sāo,sào";
	dict[33227] = "tún";
	dict[33228] = "gǔ";
	dict[33229] = "qí";
	dict[33230] = "cuì";
	dict[33231] = "bìn";
	dict[33232] = "xūn";
	dict[33233] = "nào";
	dict[33234] = "wò,yuè";
	dict[33235] = "zàng";
	dict[33236] = "xiàn";
	dict[33237] = "biāo";
	dict[33238] = "xìng";
	dict[33239] = "kuān";
	dict[33240] = "là";
	dict[33241] = "yān";
	dict[33242] = "lú";
	dict[33243] = "huò";
	dict[33244] = "zā";
	dict[33245] = "luǒ";
	dict[33246] = "qú";
	dict[33247] = "zàng";
	dict[33248] = "luán";
	dict[33249] = "ní,luán";
	dict[33250] = "zā";
	dict[33251] = "chén";
	dict[33252] = "qiān,xián";
	dict[33253] = "wò";
	dict[33254] = "guàng,jiǒng";
	dict[33255] = "zāng,zàng,cáng";
	dict[33256] = "lín";
	dict[33257] = "guǎng,jiǒng";
	dict[33258] = "zì";
	dict[33259] = "jiǎo";
	dict[33260] = "niè";
	dict[33261] = "chòu,xiù";
	dict[33262] = "jì";
	dict[33263] = "gāo";
	dict[33264] = "chòu";
	dict[33265] = "mián,biān";
	dict[33266] = "niè";
	dict[33267] = "zhì";
	dict[33268] = "zhì";
	dict[33269] = "gé";
	dict[33270] = "jiàn";
	dict[33271] = "dié,zhí";
	dict[33272] = "zhī,jìn";
	dict[33273] = "xiū";
	dict[33274] = "tái";
	dict[33275] = "zhēn";
	dict[33276] = "jiù";
	dict[33277] = "xiàn";
	dict[33278] = "yú";
	dict[33279] = "chā";
	dict[33280] = "yǎo";
	dict[33281] = "yú";
	dict[33282] = "chōng";
	dict[33283] = "xì";
	dict[33284] = "xì";
	dict[33285] = "jiù";
	dict[33286] = "yú";
	dict[33287] = "yǔ";
	dict[33288] = "xīng";
	dict[33289] = "jǔ";
	dict[33290] = "jiù";
	dict[33291] = "xìn";
	dict[33292] = "shé";
	dict[33293] = "shě,shè";
	dict[33294] = "shè";
	dict[33295] = "jiǔ";
	dict[33296] = "shì";
	dict[33297] = "tān";
	dict[33298] = "shū";
	dict[33299] = "shì";
	dict[33300] = "tiǎn";
	dict[33301] = "tàn";
	dict[33302] = "pù";
	dict[33303] = "pù";
	dict[33304] = "guǎn";
	dict[33305] = "huà";
	dict[33306] = "tiàn";
	dict[33307] = "chuǎn";
	dict[33308] = "shùn";
	dict[33309] = "xiá";
	dict[33310] = "wǔ";
	dict[33311] = "zhōu";
	dict[33312] = "dāo";
	dict[33313] = "chuán";
	dict[33314] = "shān";
	dict[33315] = "yǐ";
	dict[33316] = "fán";
	dict[33317] = "pā";
	dict[33318] = "tài";
	dict[33319] = "fán";
	dict[33320] = "bǎn";
	dict[33321] = "chuán";
	dict[33322] = "háng";
	dict[33323] = "fǎng";
	dict[33324] = "bān";
	dict[33325] = "bǐ";
	dict[33326] = "lú";
	dict[33327] = "zhōng";
	dict[33328] = "jiàn";
	dict[33329] = "cāng";
	dict[33330] = "líng";
	dict[33331] = "zhú";
	dict[33332] = "zé";
	dict[33333] = "duò";
	dict[33334] = "bó";
	dict[33335] = "xián";
	dict[33336] = "gě";
	dict[33337] = "chuán";
	dict[33338] = "xiá";
	dict[33339] = "lú";
	dict[33340] = "qióng";
	dict[33341] = "páng";
	dict[33342] = "xī";
	dict[33343] = "kuā";
	dict[33344] = "fú";
	dict[33345] = "zào";
	dict[33346] = "féng";
	dict[33347] = "lí";
	dict[33348] = "shāo";
	dict[33349] = "yú";
	dict[33350] = "láng";
	dict[33351] = "tǐng";
	dict[33352] = "yù";
	dict[33353] = "wěi";
	dict[33354] = "bó";
	dict[33355] = "měng";
	dict[33356] = "niàn";
	dict[33357] = "jū";
	dict[33358] = "huáng";
	dict[33359] = "shǒu";
	dict[33360] = "kè";
	dict[33361] = "biàn";
	dict[33362] = "mù";
	dict[33363] = "dié";
	dict[33364] = "dào";
	dict[33365] = "bàng";
	dict[33366] = "chā";
	dict[33367] = "yì";
	dict[33368] = "sōu";
	dict[33369] = "cāng";
	dict[33370] = "cáo";
	dict[33371] = "lóu";
	dict[33372] = "dài";
	dict[33373] = "xuě";
	dict[33374] = "yào";
	dict[33375] = "chōng";
	dict[33376] = "dēng";
	dict[33377] = "dāng";
	dict[33378] = "qiáng";
	dict[33379] = "lǔ";
	dict[33380] = "yǐ";
	dict[33381] = "jí";
	dict[33382] = "jiàn";
	dict[33383] = "huò";
	dict[33384] = "méng";
	dict[33385] = "qí";
	dict[33386] = "lǔ";
	dict[33387] = "lú";
	dict[33388] = "chán";
	dict[33389] = "shuāng";
	dict[33390] = "gèn";
	dict[33391] = "liáng";
	dict[33392] = "jiān";
	dict[33393] = "jiān";
	dict[33394] = "sè";
	dict[33395] = "yàn";
	dict[33396] = "fú";
	dict[33397] = "pīng";
	dict[33398] = "yàn";
	dict[33399] = "yàn";
	dict[33400] = "cǎo";
	dict[33401] = "ǎo";
	dict[33402] = "yì";
	dict[33403] = "lè";
	dict[33404] = "dǐng";
	dict[33405] = "jiāo,qiú";
	dict[33406] = "ài,yì";
	dict[33407] = "nǎi";
	dict[33408] = "tiáo";
	dict[33409] = "qiú";
	dict[33410] = "jié,jiē";
	dict[33411] = "péng";
	dict[33412] = "wán";
	dict[33413] = "yì";
	dict[33414] = "chāi,chā";
	dict[33415] = "mián";
	dict[33416] = "mǐ";
	dict[33417] = "gǎn";
	dict[33418] = "qiān";
	dict[33419] = "yù";
	dict[33420] = "yù";
	dict[33421] = "sháo";
	dict[33422] = "xiōng";
	dict[33423] = "dù";
	dict[33424] = "hù,xià";
	dict[33425] = "qǐ";
	dict[33426] = "máng";
	dict[33427] = "zì,zǐ";
	dict[33428] = "huì,hū";
	dict[33429] = "suī";
	dict[33430] = "zhì";
	dict[33431] = "xiāng";
	dict[33432] = "bì,pí";
	dict[33433] = "fú";
	dict[33434] = "tún,chūn";
	dict[33435] = "wěi";
	dict[33436] = "wú";
	dict[33437] = "zhī";
	dict[33438] = "qì";
	dict[33439] = "shān";
	dict[33440] = "wén";
	dict[33441] = "qiàn";
	dict[33442] = "rén";
	dict[33443] = "fú";
	dict[33444] = "kōu";
	dict[33445] = "jiè,gài";
	dict[33446] = "lú";
	dict[33447] = "xù,zhù";
	dict[33448] = "jī";
	dict[33449] = "qín";
	dict[33450] = "qí";
	dict[33451] = "yuán,yán";
	dict[33452] = "fēn";
	dict[33453] = "bā";
	dict[33454] = "ruì";
	dict[33455] = "xīn,xìn";
	dict[33456] = "jì";
	dict[33457] = "huā";
	dict[33458] = "lún,huā";
	dict[33459] = "fāng";
	dict[33460] = "wù,hū";
	dict[33461] = "jué";
	dict[33462] = "gōu,gǒu";
	dict[33463] = "zhǐ";
	dict[33464] = "yún";
	dict[33465] = "qín";
	dict[33466] = "ǎo";
	dict[33467] = "chú";
	dict[33468] = "máo,mào";
	dict[33469] = "yá";
	dict[33470] = "fèi,fú";
	dict[33471] = "réng";
	dict[33472] = "háng";
	dict[33473] = "cōng";
	dict[33474] = "chán,yín";
	dict[33475] = "yǒu";
	dict[33476] = "biàn";
	dict[33477] = "yì";
	dict[33478] = "qiē";
	dict[33479] = "wěi";
	dict[33480] = "lì";
	dict[33481] = "pǐ";
	dict[33482] = "è";
	dict[33483] = "xiàn";
	dict[33484] = "cháng";
	dict[33485] = "cāng";
	dict[33486] = "zhù";
	dict[33487] = "sū,sù";
	dict[33488] = "dì,tí";
	dict[33489] = "yuàn";
	dict[33490] = "rǎn";
	dict[33491] = "líng";
	dict[33492] = "tái,tāi";
	dict[33493] = "tiáo,sháo";
	dict[33494] = "dí";
	dict[33495] = "miáo";
	dict[33496] = "qǐng";
	dict[33497] = "lì,jī";
	dict[33498] = "yòng";
	dict[33499] = "kē,hē";
	dict[33500] = "mù";
	dict[33501] = "bèi";
	dict[33502] = "bāo";
	dict[33503] = "gǒu";
	dict[33504] = "mín";
	dict[33505] = "yǐ";
	dict[33506] = "yǐ";
	dict[33507] = "jù,qǔ";
	dict[33508] = "piě";
	dict[33509] = "ruò,rě";
	dict[33510] = "kǔ";
	dict[33511] = "zhù,níng";
	dict[33512] = "nǐ";
	dict[33513] = "pā,bó";
	dict[33514] = "bǐng";
	dict[33515] = "shān,shàn";
	dict[33516] = "xiú";
	dict[33517] = "yǎo";
	dict[33518] = "xiān";
	dict[33519] = "běn";
	dict[33520] = "hóng";
	dict[33521] = "yīng";
	dict[33522] = "zuó,zhǎ";
	dict[33523] = "dōng";
	dict[33524] = "jū,chá";
	dict[33525] = "dié";
	dict[33526] = "nié";
	dict[33527] = "gān";
	dict[33528] = "hū";
	dict[33529] = "píng,pēng";
	dict[33530] = "méi";
	dict[33531] = "fú";
	dict[33532] = "shēng,ruí";
	dict[33533] = "gū";
	dict[33534] = "bì";
	dict[33535] = "wèi";
	dict[33536] = "fú";
	dict[33537] = "zhuó";
	dict[33538] = "mào";
	dict[33539] = "fàn";
	dict[33540] = "qié";
	dict[33541] = "máo";
	dict[33542] = "máo";
	dict[33543] = "bá";
	dict[33544] = "zǐ";
	dict[33545] = "mò";
	dict[33546] = "zī";
	dict[33547] = "zhǐ";
	dict[33548] = "chí";
	dict[33549] = "jì";
	dict[33550] = "jīng";
	dict[33551] = "lóng";
	dict[33552] = "cōng";
	dict[33553] = "niǎo";
	dict[33554] = "yuán";
	dict[33555] = "xué";
	dict[33556] = "yíng";
	dict[33557] = "qióng";
	dict[33558] = "gè";
	dict[33559] = "míng";
	dict[33560] = "lì";
	dict[33561] = "róng";
	dict[33562] = "yìn";
	dict[33563] = "gèn";
	dict[33564] = "qiàn";
	dict[33565] = "chǎi";
	dict[33566] = "chén";
	dict[33567] = "yù";
	dict[33568] = "hāo";
	dict[33569] = "zì";
	dict[33570] = "liè";
	dict[33571] = "wú";
	dict[33572] = "jì";
	dict[33573] = "guī";
	dict[33574] = "cì";
	dict[33575] = "jiǎn";
	dict[33576] = "cí";
	dict[33577] = "hòu";
	dict[33578] = "guāng";
	dict[33579] = "máng";
	dict[33580] = "chá";
	dict[33581] = "jiāo";
	dict[33582] = "jiāo";
	dict[33583] = "fú";
	dict[33584] = "yú";
	dict[33585] = "zhū";
	dict[33586] = "zī";
	dict[33587] = "jiāng";
	dict[33588] = "huí";
	dict[33589] = "yīn";
	dict[33590] = "chá";
	dict[33591] = "fá";
	dict[33592] = "róng";
	dict[33593] = "rú";
	dict[33594] = "chōng";
	dict[33595] = "mǎng";
	dict[33596] = "tóng";
	dict[33597] = "zhòng";
	dict[33598] = "qiān";
	dict[33599] = "zhú";
	dict[33600] = "xún";
	dict[33601] = "huán";
	dict[33602] = "fū";
	dict[33603] = "quán";
	dict[33604] = "gāi";
	dict[33605] = "dá";
	dict[33606] = "jīng";
	dict[33607] = "xìng";
	dict[33608] = "chuǎn";
	dict[33609] = "cǎo";
	dict[33610] = "jīng";
	dict[33611] = "ér";
	dict[33612] = "àn";
	dict[33613] = "qiáo";
	dict[33614] = "chí";
	dict[33615] = "rěn";
	dict[33616] = "jiàn";
	dict[33617] = "yí,tí";
	dict[33618] = "huāng";
	dict[33619] = "píng";
	dict[33620] = "lì";
	dict[33621] = "jīn";
	dict[33622] = "lǎo";
	dict[33623] = "shù";
	dict[33624] = "zhuāng";
	dict[33625] = "dá";
	dict[33626] = "jiá";
	dict[33627] = "ráo";
	dict[33628] = "bì";
	dict[33629] = "cè";
	dict[33630] = "qiáo";
	dict[33631] = "huì";
	dict[33632] = "jì,qí";
	dict[33633] = "dàng";
	dict[33634] = "zì";
	dict[33635] = "róng";
	dict[33636] = "hūn";
	dict[33637] = "xíng,yīng";
	dict[33638] = "luò";
	dict[33639] = "yíng";
	dict[33640] = "qián,xún";
	dict[33641] = "jìn";
	dict[33642] = "sūn";
	dict[33643] = "yīn,yìn";
	dict[33644] = "mǎi";
	dict[33645] = "hóng";
	dict[33646] = "zhòu";
	dict[33647] = "yào";
	dict[33648] = "dù";
	dict[33649] = "wěi";
	dict[33650] = "lí";
	dict[33651] = "dòu";
	dict[33652] = "fū";
	dict[33653] = "rěn";
	dict[33654] = "yín";
	dict[33655] = "hé";
	dict[33656] = "bí";
	dict[33657] = "bù";
	dict[33658] = "yǔn";
	dict[33659] = "dí";
	dict[33660] = "tú";
	dict[33661] = "suī";
	dict[33662] = "suī";
	dict[33663] = "chéng";
	dict[33664] = "chén";
	dict[33665] = "wú";
	dict[33666] = "bié";
	dict[33667] = "xī";
	dict[33668] = "gěng";
	dict[33669] = "lì";
	dict[33670] = "pú";
	dict[33671] = "zhù";
	dict[33672] = "mò";
	dict[33673] = "lì";
	dict[33674] = "zhuāng";
	dict[33675] = "zuó";
	dict[33676] = "tuō";
	dict[33677] = "qiú";
	dict[33678] = "suō,shā";
	dict[33679] = "suō";
	dict[33680] = "chén";
	dict[33681] = "péng,fēng";
	dict[33682] = "jǔ";
	dict[33683] = "méi";
	dict[33684] = "méng";
	dict[33685] = "xìng";
	dict[33686] = "jìng";
	dict[33687] = "chē";
	dict[33688] = "shēn,xīn";
	dict[33689] = "jūn";
	dict[33690] = "yán";
	dict[33691] = "tíng";
	dict[33692] = "yóu";
	dict[33693] = "cuò";
	dict[33694] = "guān,guǎn,wǎn";
	dict[33695] = "hàn";
	dict[33696] = "yǒu";
	dict[33697] = "cuò";
	dict[33698] = "jiá";
	dict[33699] = "wáng";
	dict[33700] = "sù,yóu";
	dict[33701] = "niǔ";
	dict[33702] = "shāo,xiāo";
	dict[33703] = "xiàn";
	dict[33704] = "làng,liáng";
	dict[33705] = "fú,piǎo";
	dict[33706] = "é";
	dict[33707] = "mò,mù";
	dict[33708] = "wèn,wǎn,miǎn";
	dict[33709] = "jié";
	dict[33710] = "nán";
	dict[33711] = "mù";
	dict[33712] = "kǎn";
	dict[33713] = "lái";
	dict[33714] = "lián";
	dict[33715] = "shì,shí";
	dict[33716] = "wō";
	dict[33717] = "tù,tú";
	dict[33718] = "xiān,liǎn";
	dict[33719] = "huò";
	dict[33720] = "yóu";
	dict[33721] = "yíng";
	dict[33722] = "yīng";
	dict[33724] = "chún";
	dict[33725] = "mǎng";
	dict[33726] = "mǎng";
	dict[33727] = "cì";
	dict[33728] = "wǎn,yùn";
	dict[33729] = "jīng";
	dict[33730] = "dì";
	dict[33731] = "qú";
	dict[33732] = "dōng";
	dict[33733] = "jiān";
	dict[33734] = "zōu,chù";
	dict[33735] = "gū";
	dict[33736] = "lā";
	dict[33737] = "lù";
	dict[33738] = "jú";
	dict[33739] = "wèi";
	dict[33740] = "jūn,jùn";
	dict[33741] = "niè,rěn";
	dict[33742] = "kūn";
	dict[33743] = "hé";
	dict[33744] = "pú";
	dict[33745] = "zī,zì,zāi";
	dict[33746] = "gǎo";
	dict[33747] = "guǒ";
	dict[33748] = "fú";
	dict[33749] = "lún";
	dict[33750] = "chāng";
	dict[33751] = "chóu";
	dict[33752] = "sōng";
	dict[33753] = "chuí";
	dict[33754] = "zhàn";
	dict[33755] = "mén";
	dict[33756] = "cài";
	dict[33757] = "bá";
	dict[33758] = "lí";
	dict[33759] = "tù,tú";
	dict[33760] = "bō";
	dict[33761] = "hàn";
	dict[33762] = "bào";
	dict[33763] = "qìn";
	dict[33764] = "juǎn";
	dict[33765] = "xī";
	dict[33766] = "qín";
	dict[33767] = "dǐ";
	dict[33768] = "jiē,shà";
	dict[33769] = "pú";
	dict[33770] = "dàng";
	dict[33771] = "jǐn";
	dict[33772] = "qiáo,zhǎo";
	dict[33773] = "tái,zhī,chí";
	dict[33774] = "gēng";
	dict[33775] = "huá,huà,huā";
	dict[33776] = "gū";
	dict[33777] = "líng";
	dict[33778] = "fēi,fěi";
	dict[33779] = "qín,qīn,jīn";
	dict[33780] = "ān";
	dict[33781] = "wǎng";
	dict[33782] = "běng";
	dict[33783] = "zhǒu";
	dict[33784] = "yān";
	dict[33785] = "zū";
	dict[33786] = "jiān";
	dict[33787] = "lǐn,má";
	dict[33788] = "tǎn";
	dict[33789] = "shū";
	dict[33790] = "tián,tiàn";
	dict[33791] = "dào";
	dict[33792] = "hǔ";
	dict[33793] = "qí";
	dict[33794] = "hé";
	dict[33795] = "cuì";
	dict[33796] = "táo";
	dict[33797] = "chūn";
	dict[33798] = "bì";
	dict[33799] = "cháng";
	dict[33800] = "huán";
	dict[33801] = "fèi";
	dict[33802] = "lái";
	dict[33803] = "qī";
	dict[33804] = "méng";
	dict[33805] = "píng";
	dict[33806] = "wěi";
	dict[33807] = "dàn";
	dict[33808] = "shà";
	dict[33809] = "huán";
	dict[33810] = "yǎn";
	dict[33811] = "yí";
	dict[33812] = "tiáo";
	dict[33813] = "qí";
	dict[33814] = "wǎn";
	dict[33815] = "cè";
	dict[33816] = "nài";
	dict[33817] = "zhěn";
	dict[33818] = "tuò";
	dict[33819] = "jiū";
	dict[33820] = "tiē";
	dict[33821] = "luó";
	dict[33822] = "bì";
	dict[33823] = "yì";
	dict[33824] = "pān";
	dict[33825] = "bó";
	dict[33826] = "pāo";
	dict[33827] = "dìng";
	dict[33828] = "yíng";
	dict[33829] = "yíng";
	dict[33830] = "yíng";
	dict[33831] = "xiāo";
	dict[33832] = "sà";
	dict[33833] = "qiū";
	dict[33834] = "kē";
	dict[33835] = "xiāng";
	dict[33836] = "wàn";
	dict[33837] = "yǔ";
	dict[33838] = "yú";
	dict[33839] = "fù";
	dict[33840] = "liàn";
	dict[33841] = "xuān";
	dict[33842] = "xuān";
	dict[33843] = "nǎn";
	dict[33844] = "cè";
	dict[33845] = "wō";
	dict[33846] = "chǔn";
	dict[33847] = "shāo";
	dict[33848] = "yú";
	dict[33849] = "biān";
	dict[33850] = "mào";
	dict[33851] = "ān";
	dict[33852] = "è";
	dict[33853] = "luò,là,lào";
	dict[33854] = "yíng";
	dict[33855] = "kuò";
	dict[33856] = "kuò";
	dict[33857] = "jiāng";
	dict[33858] = "miǎn";
	dict[33859] = "zuò";
	dict[33860] = "zuò";
	dict[33861] = "zū";
	dict[33862] = "bǎo";
	dict[33863] = "róu";
	dict[33864] = "xǐ";
	dict[33865] = "yè";
	dict[33866] = "ān";
	dict[33867] = "qú";
	dict[33868] = "jiān";
	dict[33869] = "fú";
	dict[33870] = "lǜ";
	dict[33871] = "jīng";
	dict[33872] = "pén";
	dict[33873] = "fēng";
	dict[33874] = "hóng";
	dict[33875] = "hóng";
	dict[33876] = "hóu";
	dict[33877] = "xìng";
	dict[33878] = "tū";
	dict[33879] = "zhù,zhuó,zhe";
	dict[33880] = "zī";
	dict[33881] = "xiāng";
	dict[33882] = "shèn";
	dict[33883] = "gé,gě";
	dict[33884] = "qiā";
	dict[33885] = "qíng";
	dict[33886] = "mǐ";
	dict[33887] = "huáng";
	dict[33888] = "shēn";
	dict[33889] = "pú";
	dict[33890] = "gài";
	dict[33891] = "dǒng";
	dict[33892] = "zhòu";
	dict[33893] = "qián";
	dict[33894] = "wěi";
	dict[33895] = "bó";
	dict[33896] = "wēi";
	dict[33897] = "pā";
	dict[33898] = "jì";
	dict[33899] = "hú";
	dict[33900] = "zàng";
	dict[33901] = "jiā";
	dict[33902] = "duàn";
	dict[33903] = "yào";
	dict[33904] = "jùn";
	dict[33905] = "cōng";
	dict[33906] = "quán";
	dict[33907] = "wēi";
	dict[33908] = "zhēn";
	dict[33909] = "kuí";
	dict[33910] = "tíng";
	dict[33911] = "hūn";
	dict[33912] = "xǐ";
	dict[33913] = "shī";
	dict[33914] = "qì";
	dict[33915] = "lán";
	dict[33916] = "zōng";
	dict[33917] = "yāo";
	dict[33918] = "yuān";
	dict[33919] = "méi";
	dict[33920] = "yūn";
	dict[33921] = "shù";
	dict[33922] = "dì";
	dict[33923] = "zhuàn";
	dict[33924] = "guān";
	dict[33925] = "rǎn";
	dict[33926] = "xuē";
	dict[33927] = "chǎn";
	dict[33928] = "kǎi";
	dict[33929] = "kuì,kuài";
	dict[33930] = "huā";
	dict[33931] = "jiǎng";
	dict[33932] = "lóu";
	dict[33933] = "wěi";
	dict[33934] = "pài";
	dict[33935] = "yòng";
	dict[33936] = "sōu";
	dict[33937] = "yīn";
	dict[33938] = "shī";
	dict[33939] = "chún";
	dict[33940] = "shì,shí";
	dict[33941] = "yūn";
	dict[33942] = "zhēn";
	dict[33943] = "làng";
	dict[33944] = "rú,ná";
	dict[33945] = "mēng,méng,měng";
	dict[33946] = "lì";
	dict[33947] = "quē";
	dict[33948] = "suàn";
	dict[33949] = "yuán,huán";
	dict[33950] = "lì";
	dict[33951] = "jǔ";
	dict[33952] = "xī";
	dict[33953] = "bàng";
	dict[33954] = "chú";
	dict[33955] = "xú,shú";
	dict[33956] = "tú";
	dict[33957] = "liú";
	dict[33958] = "huò";
	dict[33959] = "diǎn";
	dict[33960] = "qiàn";
	dict[33961] = "zū,jù";
	dict[33962] = "pò";
	dict[33963] = "cuó";
	dict[33964] = "yuān";
	dict[33965] = "chú";
	dict[33966] = "yù";
	dict[33967] = "kuǎi";
	dict[33968] = "pán";
	dict[33969] = "pú";
	dict[33970] = "pú";
	dict[33971] = "nà";
	dict[33972] = "shuò";
	dict[33973] = "xí,xì";
	dict[33974] = "fén";
	dict[33975] = "yún";
	dict[33976] = "zhēng";
	dict[33977] = "jiān";
	dict[33978] = "jí";
	dict[33979] = "ruò";
	dict[33980] = "cāng";
	dict[33981] = "ēn";
	dict[33982] = "mí";
	dict[33983] = "hāo";
	dict[33984] = "sūn";
	dict[33985] = "zhēn";
	dict[33986] = "míng";
	dict[33987] = "sōu,sǒu";
	dict[33988] = "xù";
	dict[33989] = "liú";
	dict[33990] = "xí";
	dict[33991] = "gū";
	dict[33992] = "láng";
	dict[33993] = "róng";
	dict[33994] = "wěng";
	dict[33995] = "gài,gě,hé";
	dict[33996] = "cuò";
	dict[33997] = "shī";
	dict[33998] = "táng";
	dict[33999] = "luǒ";
	dict[34e3] = "rù";
	dict[34001] = "suō";
	dict[34002] = "xuān";
	dict[34003] = "bèi";
	dict[34004] = "yǎo,zhuó";
	dict[34005] = "guì";
	dict[34006] = "bì";
	dict[34007] = "zǒng";
	dict[34008] = "gǔn";
	dict[34009] = "zuò";
	dict[34010] = "tiáo";
	dict[34011] = "cè";
	dict[34012] = "pèi";
	dict[34013] = "lán";
	dict[34014] = "dàn";
	dict[34015] = "jì";
	dict[34016] = "lí";
	dict[34017] = "shēn";
	dict[34018] = "lǎng";
	dict[34019] = "yù";
	dict[34020] = "líng";
	dict[34021] = "yíng";
	dict[34022] = "mò";
	dict[34023] = "diào,tiáo,dí";
	dict[34024] = "tiáo";
	dict[34025] = "mǎo";
	dict[34026] = "tōng";
	dict[34027] = "zhú";
	dict[34028] = "péng";
	dict[34029] = "ān";
	dict[34030] = "lián";
	dict[34031] = "cōng";
	dict[34032] = "xǐ";
	dict[34033] = "píng";
	dict[34034] = "qiū,xū,fū";
	dict[34035] = "jǐn";
	dict[34036] = "chún";
	dict[34037] = "jié";
	dict[34038] = "wéi";
	dict[34039] = "tuī";
	dict[34040] = "cáo";
	dict[34041] = "yù";
	dict[34042] = "yì";
	dict[34043] = "zí,jú";
	dict[34044] = "liǎo,lù";
	dict[34045] = "bì";
	dict[34046] = "lǔ";
	dict[34047] = "xù";
	dict[34048] = "bù";
	dict[34049] = "zhāng";
	dict[34050] = "léi";
	dict[34051] = "qiáng";
	dict[34052] = "màn";
	dict[34053] = "yán";
	dict[34054] = "líng";
	dict[34055] = "jì";
	dict[34056] = "biāo";
	dict[34057] = "gǔn";
	dict[34058] = "hàn";
	dict[34059] = "dí";
	dict[34060] = "sù";
	dict[34061] = "lù";
	dict[34062] = "shè";
	dict[34063] = "shāng";
	dict[34064] = "dí";
	dict[34065] = "miè";
	dict[34066] = "hūn";
	dict[34067] = "màn,wàn";
	dict[34068] = "bo";
	dict[34069] = "dì";
	dict[34070] = "cuó";
	dict[34071] = "zhè";
	dict[34072] = "shēn";
	dict[34073] = "xuàn";
	dict[34074] = "wèi";
	dict[34075] = "hú";
	dict[34076] = "áo";
	dict[34077] = "mǐ";
	dict[34078] = "lóu";
	dict[34079] = "cù";
	dict[34080] = "zhōng";
	dict[34081] = "cài";
	dict[34082] = "pó";
	dict[34083] = "jiǎng";
	dict[34084] = "mì";
	dict[34085] = "cōng";
	dict[34086] = "niǎo";
	dict[34087] = "huì";
	dict[34088] = "juàn";
	dict[34089] = "yín";
	dict[34090] = "jiān";
	dict[34091] = "niān";
	dict[34092] = "shū";
	dict[34093] = "yīn";
	dict[34094] = "guó";
	dict[34095] = "chén";
	dict[34096] = "hù";
	dict[34097] = "shā";
	dict[34098] = "kòu";
	dict[34099] = "qiàn";
	dict[34100] = "má";
	dict[34101] = "zàng";
	dict[34102] = "zé";
	dict[34103] = "qiáng";
	dict[34104] = "dōu";
	dict[34105] = "liǎn";
	dict[34106] = "lìn";
	dict[34107] = "kòu";
	dict[34108] = "ǎi";
	dict[34109] = "bì";
	dict[34110] = "lí";
	dict[34111] = "wěi";
	dict[34112] = "jí";
	dict[34113] = "qián,xún";
	dict[34114] = "shèng";
	dict[34115] = "fán";
	dict[34116] = "méng";
	dict[34117] = "ǒu";
	dict[34118] = "chǎn";
	dict[34119] = "diǎn";
	dict[34120] = "xùn";
	dict[34121] = "jiāo";
	dict[34122] = "ruǐ";
	dict[34123] = "ruǐ";
	dict[34124] = "lěi";
	dict[34125] = "yú";
	dict[34126] = "qiáo";
	dict[34127] = "zhū";
	dict[34128] = "huá";
	dict[34129] = "jiān";
	dict[34130] = "mǎi";
	dict[34131] = "yún";
	dict[34132] = "bāo";
	dict[34133] = "yóu";
	dict[34134] = "qú";
	dict[34135] = "lù";
	dict[34136] = "ráo";
	dict[34137] = "huì";
	dict[34138] = "è";
	dict[34139] = "tí";
	dict[34140] = "fěi";
	dict[34141] = "jué";
	dict[34142] = "zuì";
	dict[34143] = "fà";
	dict[34144] = "rú";
	dict[34145] = "fén";
	dict[34146] = "kuì";
	dict[34147] = "shùn";
	dict[34148] = "ruí";
	dict[34149] = "yǎ";
	dict[34150] = "xū";
	dict[34151] = "fù";
	dict[34152] = "jué";
	dict[34153] = "dàng";
	dict[34154] = "wú";
	dict[34155] = "dǒng";
	dict[34156] = "sī";
	dict[34157] = "xiāo";
	dict[34158] = "xì";
	dict[34159] = "sà";
	dict[34160] = "yùn";
	dict[34161] = "shāo";
	dict[34162] = "qí";
	dict[34163] = "jiān";
	dict[34164] = "yùn";
	dict[34165] = "sūn";
	dict[34166] = "líng";
	dict[34167] = "yù";
	dict[34168] = "xiá";
	dict[34169] = "wèng";
	dict[34170] = "jí";
	dict[34171] = "hòng";
	dict[34172] = "sì";
	dict[34173] = "nóng";
	dict[34174] = "lěi";
	dict[34175] = "xuān";
	dict[34176] = "yùn";
	dict[34177] = "yù";
	dict[34178] = "xí,xiào";
	dict[34179] = "hào";
	dict[34180] = "báo,bó,bò";
	dict[34181] = "hāo";
	dict[34182] = "ài";
	dict[34183] = "wēi";
	dict[34184] = "huì";
	dict[34185] = "huì";
	dict[34186] = "jì";
	dict[34187] = "cí,zī";
	dict[34188] = "xiāng";
	dict[34189] = "wàn,luàn";
	dict[34190] = "miè";
	dict[34191] = "yì";
	dict[34192] = "léng";
	dict[34193] = "jiāng";
	dict[34194] = "càn";
	dict[34195] = "shēn";
	dict[34196] = "qiáng,sè";
	dict[34197] = "lián";
	dict[34198] = "kē";
	dict[34199] = "yuán";
	dict[34200] = "dá";
	dict[34201] = "tì";
	dict[34202] = "tāng";
	dict[34203] = "xuē";
	dict[34204] = "bì";
	dict[34205] = "zhān";
	dict[34206] = "sūn";
	dict[34207] = "xiān,liǎn";
	dict[34208] = "fán";
	dict[34209] = "dǐng";
	dict[34210] = "xiè";
	dict[34211] = "gǔ";
	dict[34212] = "xiè";
	dict[34213] = "shǔ";
	dict[34214] = "jiàn";
	dict[34215] = "hāo,kǎo";
	dict[34216] = "hōng";
	dict[34217] = "sà";
	dict[34218] = "xīn";
	dict[34219] = "xūn";
	dict[34220] = "yào";
	dict[34221] = "bài";
	dict[34222] = "sǒu";
	dict[34223] = "shǔ";
	dict[34224] = "xūn";
	dict[34225] = "duì";
	dict[34226] = "pín";
	dict[34227] = "yuǎn,wěi";
	dict[34228] = "níng";
	dict[34229] = "chóu,zhòu";
	dict[34230] = "mái,wō";
	dict[34231] = "rú";
	dict[34232] = "piáo";
	dict[34233] = "tái";
	dict[34234] = "jì,qí";
	dict[34235] = "zǎo";
	dict[34236] = "chén";
	dict[34237] = "zhēn";
	dict[34238] = "ěr";
	dict[34239] = "nǐ";
	dict[34240] = "yíng";
	dict[34241] = "gǎo";
	dict[34242] = "cóng";
	dict[34243] = "xiāo,hào";
	dict[34244] = "qí";
	dict[34245] = "fá";
	dict[34246] = "jiǎn";
	dict[34247] = "xù,yù,xū";
	dict[34248] = "kuí";
	dict[34249] = "jiè,jí";
	dict[34250] = "biǎn";
	dict[34251] = "diào,zhuó";
	dict[34252] = "mí";
	dict[34253] = "lán";
	dict[34254] = "jìn";
	dict[34255] = "cáng,zàng";
	dict[34256] = "miǎo";
	dict[34257] = "qióng";
	dict[34258] = "qì";
	dict[34259] = "xiǎn";
	dict[34260] = "liáo";
	dict[34261] = "ǒu";
	dict[34262] = "xián";
	dict[34263] = "sù";
	dict[34264] = "lǘ";
	dict[34265] = "yì";
	dict[34266] = "xù";
	dict[34267] = "xiě";
	dict[34268] = "lí";
	dict[34269] = "yì";
	dict[34270] = "lǎ";
	dict[34271] = "lěi";
	dict[34272] = "jiào";
	dict[34273] = "dí";
	dict[34274] = "zhǐ";
	dict[34275] = "bēi";
	dict[34276] = "téng";
	dict[34277] = "yào";
	dict[34278] = "mò";
	dict[34279] = "huàn";
	dict[34280] = "biāo,pāo";
	dict[34281] = "fān";
	dict[34282] = "sǒu";
	dict[34283] = "tán";
	dict[34284] = "tuī";
	dict[34285] = "qióng";
	dict[34286] = "qiáo";
	dict[34287] = "wèi";
	dict[34288] = "liú,liǔ";
	dict[34289] = "huì,huí";
	dict[34290] = "ōu";
	dict[34291] = "gǎo";
	dict[34292] = "yùn";
	dict[34293] = "bǎo";
	dict[34294] = "lì";
	dict[34295] = "shǔ";
	dict[34296] = "zhū,chú";
	dict[34297] = "ǎi";
	dict[34298] = "lìn";
	dict[34299] = "zǎo";
	dict[34300] = "xuān";
	dict[34301] = "qìn";
	dict[34302] = "lài";
	dict[34303] = "huò";
	dict[34304] = "tuò";
	dict[34305] = "wù";
	dict[34306] = "ruǐ";
	dict[34307] = "ruǐ";
	dict[34308] = "qí";
	dict[34309] = "héng";
	dict[34310] = "lú";
	dict[34311] = "sū";
	dict[34312] = "tuí";
	dict[34313] = "máng";
	dict[34314] = "yùn";
	dict[34315] = "pín,píng";
	dict[34316] = "yù";
	dict[34317] = "xūn";
	dict[34318] = "jì";
	dict[34319] = "jiōng";
	dict[34320] = "xuān";
	dict[34321] = "mó";
	dict[34322] = "qiū";
	dict[34323] = "sū";
	dict[34324] = "jiōng";
	dict[34325] = "péng";
	dict[34326] = "niè";
	dict[34327] = "bò";
	dict[34328] = "ráng";
	dict[34329] = "yì";
	dict[34330] = "xiǎn";
	dict[34331] = "yú";
	dict[34332] = "jú";
	dict[34333] = "liǎn";
	dict[34334] = "liǎn";
	dict[34335] = "yǐn";
	dict[34336] = "qiáng";
	dict[34337] = "yīng";
	dict[34338] = "lóng";
	dict[34339] = "tǒu";
	dict[34340] = "huā";
	dict[34341] = "yuè";
	dict[34342] = "lìng";
	dict[34343] = "qú";
	dict[34344] = "yáo";
	dict[34345] = "fán";
	dict[34346] = "mí";
	dict[34347] = "lán";
	dict[34348] = "guī";
	dict[34349] = "lán";
	dict[34350] = "jì";
	dict[34351] = "dàng";
	dict[34352] = "màn";
	dict[34353] = "lèi";
	dict[34354] = "léi";
	dict[34355] = "huī";
	dict[34356] = "fēng";
	dict[34357] = "zhī";
	dict[34358] = "wèi";
	dict[34359] = "kuí";
	dict[34360] = "zhàn";
	dict[34361] = "huái";
	dict[34362] = "lí";
	dict[34363] = "jì";
	dict[34364] = "mí";
	dict[34365] = "lěi";
	dict[34366] = "huài";
	dict[34367] = "luó";
	dict[34368] = "jī";
	dict[34369] = "kuí";
	dict[34370] = "lù";
	dict[34371] = "jiān";
	dict[34373] = "téng";
	dict[34374] = "léi";
	dict[34375] = "quǎn";
	dict[34376] = "xiāo";
	dict[34377] = "yì";
	dict[34378] = "luán";
	dict[34379] = "mén";
	dict[34380] = "biē";
	dict[34381] = "hū";
	dict[34382] = "hǔ";
	dict[34383] = "lǔ";
	dict[34384] = "nüè";
	dict[34385] = "lǜ";
	dict[34386] = "sī";
	dict[34387] = "xiāo";
	dict[34388] = "qián";
	dict[34389] = "chǔ";
	dict[34390] = "hū";
	dict[34391] = "xū";
	dict[34392] = "cuó";
	dict[34393] = "fú";
	dict[34394] = "xū";
	dict[34395] = "xū";
	dict[34396] = "lǔ";
	dict[34397] = "hǔ";
	dict[34398] = "yú";
	dict[34399] = "hào,háo";
	dict[34400] = "jiāo";
	dict[34401] = "jù";
	dict[34402] = "guó";
	dict[34403] = "bào";
	dict[34404] = "yán";
	dict[34405] = "zhàn";
	dict[34406] = "zhàn";
	dict[34407] = "kuī";
	dict[34408] = "bīn";
	dict[34409] = "xì";
	dict[34410] = "shù";
	dict[34411] = "chóng";
	dict[34412] = "qiú";
	dict[34413] = "diāo";
	dict[34414] = "jǐ";
	dict[34415] = "qiú";
	dict[34416] = "dīng";
	dict[34417] = "shī";
	dict[34418] = "xiā";
	dict[34419] = "jué";
	dict[34420] = "zhé";
	dict[34421] = "shé";
	dict[34422] = "yú";
	dict[34423] = "hán";
	dict[34424] = "zǐ";
	dict[34425] = "hóng";
	dict[34426] = "huǐ,huī";
	dict[34427] = "méng";
	dict[34428] = "gè";
	dict[34429] = "suī";
	dict[34430] = "xiā,hā";
	dict[34431] = "chài";
	dict[34432] = "shí";
	dict[34433] = "yǐ";
	dict[34434] = "mǎ,mā,mà";
	dict[34435] = "xiǎng";
	dict[34436] = "fāng,bàng";
	dict[34437] = "è";
	dict[34438] = "bā";
	dict[34439] = "chǐ";
	dict[34440] = "qiān";
	dict[34441] = "wén";
	dict[34442] = "wén";
	dict[34443] = "ruì";
	dict[34444] = "bàng,bèng";
	dict[34445] = "pí";
	dict[34446] = "yuè";
	dict[34447] = "yuè";
	dict[34448] = "jūn";
	dict[34449] = "qí";
	dict[34450] = "tóng";
	dict[34451] = "yǐn";
	dict[34452] = "qí,zhǐ";
	dict[34453] = "cán";
	dict[34454] = "yuán,wán";
	dict[34455] = "jué,quē";
	dict[34456] = "huí";
	dict[34457] = "qín,qián";
	dict[34458] = "qí";
	dict[34459] = "zhòng";
	dict[34460] = "yá";
	dict[34461] = "háo";
	dict[34462] = "mù";
	dict[34463] = "wáng";
	dict[34464] = "fén";
	dict[34465] = "fén";
	dict[34466] = "háng";
	dict[34467] = "gōng,zhōng";
	dict[34468] = "zǎo";
	dict[34469] = "fù,fǔ";
	dict[34470] = "rán";
	dict[34471] = "jiè";
	dict[34472] = "fú";
	dict[34473] = "chī";
	dict[34474] = "dǒu";
	dict[34475] = "bào";
	dict[34476] = "xiǎn";
	dict[34477] = "ní";
	dict[34478] = "dài,dé";
	dict[34479] = "qiū";
	dict[34480] = "yóu";
	dict[34481] = "zhà";
	dict[34482] = "píng";
	dict[34483] = "chí";
	dict[34484] = "yòu";
	dict[34485] = "kē";
	dict[34486] = "hān";
	dict[34487] = "jù";
	dict[34488] = "lì";
	dict[34489] = "fù";
	dict[34490] = "rán";
	dict[34491] = "zhá";
	dict[34492] = "gǒu,qú,xù";
	dict[34493] = "pí";
	dict[34494] = "pí,bǒ";
	dict[34495] = "xián";
	dict[34496] = "zhù";
	dict[34497] = "diāo";
	dict[34498] = "bié";
	dict[34499] = "bīng";
	dict[34500] = "gū";
	dict[34501] = "zhān";
	dict[34502] = "qū";
	dict[34503] = "shé,yí";
	dict[34504] = "tiě";
	dict[34505] = "líng";
	dict[34506] = "gǔ";
	dict[34507] = "dàn";
	dict[34508] = "tún";
	dict[34509] = "yíng";
	dict[34510] = "lì";
	dict[34511] = "chēng";
	dict[34512] = "qū";
	dict[34513] = "móu";
	dict[34514] = "gé,luò";
	dict[34515] = "cì";
	dict[34516] = "huí";
	dict[34517] = "huí";
	dict[34518] = "máng,bàng";
	dict[34519] = "fù";
	dict[34520] = "yáng";
	dict[34521] = "wā";
	dict[34522] = "liè";
	dict[34523] = "zhū";
	dict[34524] = "yī";
	dict[34525] = "xián";
	dict[34526] = "kuò";
	dict[34527] = "jiāo";
	dict[34528] = "lì";
	dict[34529] = "yì,xǔ";
	dict[34530] = "píng";
	dict[34531] = "jié";
	dict[34532] = "gé,há";
	dict[34533] = "shé";
	dict[34534] = "yí";
	dict[34535] = "wǎng";
	dict[34536] = "mò";
	dict[34537] = "qióng";
	dict[34538] = "qiè,ní";
	dict[34539] = "guǐ";
	dict[34540] = "qióng";
	dict[34541] = "zhì";
	dict[34542] = "mán";
	dict[34543] = "lǎo";
	dict[34544] = "zhé";
	dict[34545] = "jiá";
	dict[34546] = "náo";
	dict[34547] = "sī";
	dict[34548] = "qí";
	dict[34549] = "xíng";
	dict[34550] = "jiè";
	dict[34551] = "qiú";
	dict[34552] = "xiāo";
	dict[34553] = "yǒng";
	dict[34554] = "jiá";
	dict[34555] = "tuì";
	dict[34556] = "chē";
	dict[34557] = "bèi";
	dict[34558] = "é,yǐ";
	dict[34559] = "hàn";
	dict[34560] = "shǔ";
	dict[34561] = "xuán";
	dict[34562] = "fēng";
	dict[34563] = "shèn";
	dict[34564] = "shèn";
	dict[34565] = "fǔ";
	dict[34566] = "xiǎn";
	dict[34567] = "zhé";
	dict[34568] = "wú";
	dict[34569] = "fú";
	dict[34570] = "lì";
	dict[34571] = "láng";
	dict[34572] = "bì";
	dict[34573] = "chú";
	dict[34574] = "yuān";
	dict[34575] = "yǒu";
	dict[34576] = "jié";
	dict[34577] = "dàn";
	dict[34578] = "yán";
	dict[34579] = "tíng";
	dict[34580] = "diàn";
	dict[34581] = "tuì";
	dict[34582] = "huí";
	dict[34583] = "wō";
	dict[34584] = "zhī";
	dict[34585] = "zhōng";
	dict[34586] = "fēi";
	dict[34587] = "jū";
	dict[34588] = "mì";
	dict[34589] = "qí";
	dict[34590] = "qí";
	dict[34591] = "yù";
	dict[34592] = "jùn";
	dict[34593] = "là";
	dict[34594] = "měng";
	dict[34595] = "qiāng";
	dict[34596] = "sī";
	dict[34597] = "xī";
	dict[34598] = "lún";
	dict[34599] = "lì";
	dict[34600] = "dié";
	dict[34601] = "tiáo";
	dict[34602] = "táo";
	dict[34603] = "kūn";
	dict[34604] = "hán";
	dict[34605] = "hàn";
	dict[34606] = "yù";
	dict[34607] = "bàng";
	dict[34608] = "féi";
	dict[34609] = "pí";
	dict[34610] = "wēi";
	dict[34611] = "dūn";
	dict[34612] = "yì";
	dict[34613] = "yuān";
	dict[34614] = "suò";
	dict[34615] = "quán";
	dict[34616] = "qiǎn";
	dict[34617] = "ruì";
	dict[34618] = "ní";
	dict[34619] = "qīng";
	dict[34620] = "wèi";
	dict[34621] = "liǎng";
	dict[34622] = "guǒ";
	dict[34623] = "wān";
	dict[34624] = "dōng";
	dict[34625] = "è";
	dict[34626] = "bǎn";
	dict[34627] = "dì";
	dict[34628] = "wǎng";
	dict[34629] = "cán";
	dict[34630] = "yǎng";
	dict[34631] = "yíng";
	dict[34632] = "guō";
	dict[34633] = "chán";
	dict[34634] = "dìng";
	dict[34635] = "là";
	dict[34636] = "kē";
	dict[34637] = "jí";
	dict[34638] = "xiē";
	dict[34639] = "tíng";
	dict[34640] = "mào";
	dict[34641] = "xū";
	dict[34642] = "mián";
	dict[34643] = "yú";
	dict[34644] = "jiē";
	dict[34645] = "shí";
	dict[34646] = "xuān";
	dict[34647] = "huáng";
	dict[34648] = "yǎn";
	dict[34649] = "biān";
	dict[34650] = "róu";
	dict[34651] = "wēi";
	dict[34652] = "fù";
	dict[34653] = "yuán";
	dict[34654] = "mèi";
	dict[34655] = "wèi";
	dict[34656] = "fú";
	dict[34657] = "rú";
	dict[34658] = "xié";
	dict[34659] = "yóu";
	dict[34660] = "qiú";
	dict[34661] = "máo";
	dict[34662] = "xiā,hā";
	dict[34663] = "yīng";
	dict[34664] = "shī";
	dict[34665] = "chóng";
	dict[34666] = "tāng";
	dict[34667] = "zhū";
	dict[34668] = "zōng";
	dict[34669] = "dì";
	dict[34670] = "fù";
	dict[34671] = "yuán";
	dict[34672] = "kuí";
	dict[34673] = "méng";
	dict[34674] = "là";
	dict[34675] = "dài";
	dict[34676] = "hú";
	dict[34677] = "qiū";
	dict[34678] = "dié";
	dict[34679] = "lì";
	dict[34680] = "wō";
	dict[34681] = "yūn";
	dict[34682] = "qǔ";
	dict[34683] = "nǎn";
	dict[34684] = "lóu";
	dict[34685] = "chūn";
	dict[34686] = "róng";
	dict[34687] = "yíng";
	dict[34688] = "jiāng";
	dict[34689] = "tuì";
	dict[34690] = "láng";
	dict[34691] = "páng";
	dict[34692] = "sī";
	dict[34693] = "xī";
	dict[34694] = "cì";
	dict[34695] = "xī,qī";
	dict[34696] = "yuán";
	dict[34697] = "wēng";
	dict[34698] = "lián";
	dict[34699] = "sōu";
	dict[34700] = "bān";
	dict[34701] = "róng";
	dict[34702] = "róng";
	dict[34703] = "jí";
	dict[34704] = "wū";
	dict[34705] = "xiù";
	dict[34706] = "hàn";
	dict[34707] = "qín";
	dict[34708] = "yí";
	dict[34709] = "bī,pí";
	dict[34710] = "huá";
	dict[34711] = "táng";
	dict[34712] = "yǐ";
	dict[34713] = "dù";
	dict[34714] = "nài,něng";
	dict[34715] = "hé,xiá";
	dict[34716] = "hú";
	dict[34717] = "guì,huǐ";
	dict[34718] = "mǎ,mā,mà";
	dict[34719] = "míng";
	dict[34720] = "yì";
	dict[34721] = "wén";
	dict[34722] = "yíng";
	dict[34723] = "téng";
	dict[34724] = "zhōng";
	dict[34725] = "cāng";
	dict[34726] = "sāo";
	dict[34727] = "qí";
	dict[34728] = "mǎn";
	dict[34729] = "dāo";
	dict[34730] = "shāng";
	dict[34731] = "shì,zhē";
	dict[34732] = "cáo";
	dict[34733] = "chī";
	dict[34734] = "dì";
	dict[34735] = "áo";
	dict[34736] = "lù";
	dict[34737] = "wèi";
	dict[34738] = "dié,zhì";
	dict[34739] = "táng";
	dict[34740] = "chén";
	dict[34741] = "piāo";
	dict[34742] = "qú,jù";
	dict[34743] = "pí";
	dict[34744] = "yú";
	dict[34745] = "chán,jiàn";
	dict[34746] = "luó";
	dict[34747] = "lóu";
	dict[34748] = "qǐn";
	dict[34749] = "zhōng";
	dict[34750] = "yǐn";
	dict[34751] = "jiāng";
	dict[34752] = "shuài";
	dict[34753] = "wén";
	dict[34754] = "xiāo";
	dict[34755] = "wàn";
	dict[34756] = "zhé";
	dict[34757] = "zhè";
	dict[34758] = "má,mò";
	dict[34759] = "má";
	dict[34760] = "guō";
	dict[34761] = "liú";
	dict[34762] = "máo";
	dict[34763] = "xī";
	dict[34764] = "cōng";
	dict[34765] = "lí";
	dict[34766] = "mǎn";
	dict[34767] = "xiāo";
	dict[34768] = "chán";
	dict[34769] = "zhāng";
	dict[34770] = "mǎng,měng";
	dict[34771] = "xiàng";
	dict[34772] = "mò";
	dict[34773] = "zuī";
	dict[34774] = "sī";
	dict[34775] = "qiū";
	dict[34776] = "tè";
	dict[34777] = "zhí";
	dict[34778] = "péng";
	dict[34779] = "péng";
	dict[34780] = "jiǎo";
	dict[34781] = "qú";
	dict[34782] = "biē,bié";
	dict[34783] = "liáo";
	dict[34784] = "pán";
	dict[34785] = "guǐ";
	dict[34786] = "xǐ";
	dict[34787] = "jǐ";
	dict[34788] = "zhuān";
	dict[34789] = "huáng";
	dict[34790] = "fèi,bēn";
	dict[34791] = "láo,liáo";
	dict[34792] = "jué";
	dict[34793] = "jué";
	dict[34794] = "huì";
	dict[34795] = "yín,xún";
	dict[34796] = "chán";
	dict[34797] = "jiāo";
	dict[34798] = "shàn";
	dict[34799] = "náo";
	dict[34800] = "xiāo";
	dict[34801] = "wú";
	dict[34802] = "chóng";
	dict[34803] = "xún";
	dict[34804] = "sī";
	dict[34805] = "chú";
	dict[34806] = "chēng";
	dict[34807] = "dāng";
	dict[34808] = "lí";
	dict[34809] = "xiè";
	dict[34810] = "shàn";
	dict[34811] = "yǐ";
	dict[34812] = "jǐng";
	dict[34813] = "dá";
	dict[34814] = "chán";
	dict[34815] = "qì";
	dict[34816] = "cī";
	dict[34817] = "xiǎng";
	dict[34818] = "shè";
	dict[34819] = "luǒ";
	dict[34820] = "qín";
	dict[34821] = "yíng";
	dict[34822] = "chài";
	dict[34823] = "lì";
	dict[34824] = "zéi";
	dict[34825] = "xuān";
	dict[34826] = "lián";
	dict[34827] = "zhú";
	dict[34828] = "zé";
	dict[34829] = "xiē";
	dict[34830] = "mǎng";
	dict[34831] = "xiè";
	dict[34832] = "qí";
	dict[34833] = "róng";
	dict[34834] = "jiǎn";
	dict[34835] = "měng";
	dict[34836] = "háo";
	dict[34837] = "rú";
	dict[34838] = "huò";
	dict[34839] = "zhuó";
	dict[34840] = "jié";
	dict[34841] = "pín";
	dict[34842] = "hē";
	dict[34843] = "miè";
	dict[34844] = "fán";
	dict[34845] = "lěi";
	dict[34846] = "jié";
	dict[34847] = "là";
	dict[34848] = "mǐn";
	dict[34849] = "lǐ";
	dict[34850] = "chǔn";
	dict[34851] = "lì";
	dict[34852] = "qiū";
	dict[34853] = "niè";
	dict[34854] = "lú";
	dict[34855] = "dù";
	dict[34856] = "xiāo";
	dict[34857] = "zhū";
	dict[34858] = "lóng";
	dict[34859] = "lí";
	dict[34860] = "lóng";
	dict[34861] = "fēng";
	dict[34862] = "yē";
	dict[34863] = "pí";
	dict[34864] = "náng";
	dict[34865] = "gǔ";
	dict[34866] = "juān";
	dict[34867] = "yīng";
	dict[34868] = "shǔ";
	dict[34869] = "xī";
	dict[34870] = "cán";
	dict[34871] = "qú";
	dict[34872] = "quán";
	dict[34873] = "dù";
	dict[34874] = "cán";
	dict[34875] = "mán";
	dict[34876] = "qú";
	dict[34877] = "jié";
	dict[34878] = "zhú";
	dict[34879] = "zhuó";
	dict[34880] = "xiě,xuè";
	dict[34881] = "huāng";
	dict[34882] = "nǜ";
	dict[34883] = "pēi";
	dict[34884] = "nǜ";
	dict[34885] = "xìn";
	dict[34886] = "zhòng";
	dict[34887] = "mài";
	dict[34888] = "ěr";
	dict[34889] = "kè";
	dict[34890] = "miè";
	dict[34891] = "xì";
	dict[34892] = "háng,xíng";
	dict[34893] = "yǎn";
	dict[34894] = "kàn";
	dict[34895] = "yuàn";
	dict[34896] = "qú";
	dict[34897] = "líng";
	dict[34898] = "xuàn";
	dict[34899] = "shù";
	dict[34900] = "xián";
	dict[34901] = "tòng";
	dict[34902] = "xiàng";
	dict[34903] = "jiē";
	dict[34904] = "xián";
	dict[34905] = "yá";
	dict[34906] = "hú";
	dict[34907] = "wèi";
	dict[34908] = "dào";
	dict[34909] = "chōng";
	dict[34910] = "wèi";
	dict[34911] = "dào";
	dict[34912] = "zhūn";
	dict[34913] = "héng";
	dict[34914] = "qú";
	dict[34915] = "yī";
	dict[34916] = "yī";
	dict[34917] = "bǔ";
	dict[34918] = "gǎn";
	dict[34919] = "yú";
	dict[34920] = "biǎo";
	dict[34921] = "chà";
	dict[34922] = "yì";
	dict[34923] = "shān";
	dict[34924] = "chèn";
	dict[34925] = "fū";
	dict[34926] = "gǔn";
	dict[34927] = "fēn";
	dict[34928] = "shuāi,cuī";
	dict[34929] = "jié";
	dict[34930] = "nà";
	dict[34931] = "zhōng";
	dict[34932] = "dǎn";
	dict[34933] = "rì";
	dict[34934] = "zhòng";
	dict[34935] = "zhōng";
	dict[34936] = "jiè";
	dict[34937] = "zhǐ";
	dict[34938] = "xié";
	dict[34939] = "rán";
	dict[34940] = "zhī";
	dict[34941] = "rèn";
	dict[34942] = "qīn";
	dict[34943] = "jīn";
	dict[34944] = "jūn";
	dict[34945] = "yuán";
	dict[34946] = "mèi";
	dict[34947] = "chài";
	dict[34948] = "ǎo";
	dict[34949] = "niǎo";
	dict[34950] = "huī";
	dict[34951] = "rán";
	dict[34952] = "jiā";
	dict[34953] = "tuó,tuō";
	dict[34954] = "lǐng,líng";
	dict[34955] = "dài";
	dict[34956] = "bào,páo,pào";
	dict[34957] = "páo";
	dict[34958] = "yào";
	dict[34959] = "zuò";
	dict[34960] = "bì";
	dict[34961] = "shào";
	dict[34962] = "tǎn";
	dict[34963] = "jù,jiē";
	dict[34964] = "hè,kè";
	dict[34965] = "xué";
	dict[34966] = "xiù";
	dict[34967] = "zhěn";
	dict[34968] = "yí,yì";
	dict[34969] = "pà";
	dict[34970] = "fú";
	dict[34971] = "dī";
	dict[34972] = "wà";
	dict[34973] = "fù";
	dict[34974] = "gǔn";
	dict[34975] = "zhì";
	dict[34976] = "zhì";
	dict[34977] = "rán";
	dict[34978] = "pàn";
	dict[34979] = "yì";
	dict[34980] = "mào";
	dict[34981] = "tuō";
	dict[34982] = "nà,jué";
	dict[34983] = "gōu";
	dict[34984] = "xuàn";
	dict[34985] = "zhé";
	dict[34986] = "qū";
	dict[34987] = "bèi,pī";
	dict[34988] = "yù";
	dict[34989] = "xí";
	dict[34990] = "mí";
	dict[34991] = "bó";
	dict[34992] = "bō";
	dict[34993] = "fú";
	dict[34994] = "chǐ,nuǒ";
	dict[34995] = "chǐ,qǐ,duǒ,nuǒ";
	dict[34996] = "kù";
	dict[34997] = "rèn";
	dict[34998] = "péng";
	dict[34999] = "jiá,jié,qiā";
	dict[35e3] = "jiàn,zùn";
	dict[35001] = "bó,mò";
	dict[35002] = "jié";
	dict[35003] = "ér";
	dict[35004] = "gē";
	dict[35005] = "rú";
	dict[35006] = "zhū";
	dict[35007] = "guī,guà";
	dict[35008] = "yīn";
	dict[35009] = "cái";
	dict[35010] = "liè,liě";
	dict[35011] = "kǎ";
	dict[35012] = "háng";
	dict[35013] = "zhuāng";
	dict[35014] = "dāng";
	dict[35015] = "xū";
	dict[35016] = "kūn";
	dict[35017] = "kèn";
	dict[35018] = "niǎo";
	dict[35019] = "shù";
	dict[35020] = "jiá";
	dict[35021] = "kǔn";
	dict[35022] = "chéng,chěng";
	dict[35023] = "lǐ";
	dict[35024] = "juān";
	dict[35025] = "shēn";
	dict[35026] = "póu";
	dict[35027] = "gé,jiē";
	dict[35028] = "yì";
	dict[35029] = "yù";
	dict[35030] = "zhěn";
	dict[35031] = "liú";
	dict[35032] = "qiú";
	dict[35033] = "qún";
	dict[35034] = "jì";
	dict[35035] = "yì";
	dict[35036] = "bǔ";
	dict[35037] = "zhuāng";
	dict[35038] = "shuì";
	dict[35039] = "shā";
	dict[35040] = "qún";
	dict[35041] = "lǐ";
	dict[35042] = "lián";
	dict[35043] = "liǎn";
	dict[35044] = "kù";
	dict[35045] = "jiǎn";
	dict[35046] = "bāo";
	dict[35047] = "chān";
	dict[35048] = "bì,pí";
	dict[35049] = "kūn";
	dict[35050] = "táo";
	dict[35051] = "yuàn";
	dict[35052] = "líng";
	dict[35053] = "chǐ";
	dict[35054] = "chāng";
	dict[35055] = "chóu,dāo";
	dict[35056] = "duō";
	dict[35057] = "biǎo";
	dict[35058] = "liǎng";
	dict[35059] = "cháng,shang";
	dict[35060] = "péi";
	dict[35061] = "péi";
	dict[35062] = "fēi";
	dict[35063] = "yuān,gǔn";
	dict[35064] = "luǒ";
	dict[35065] = "guǒ";
	dict[35066] = "yǎn,ān";
	dict[35067] = "dú";
	dict[35068] = "xī,tì";
	dict[35069] = "zhì";
	dict[35070] = "jū";
	dict[35071] = "yǐ";
	dict[35072] = "qí";
	dict[35073] = "guǒ";
	dict[35074] = "guà";
	dict[35075] = "kèn";
	dict[35076] = "qī";
	dict[35077] = "tì";
	dict[35078] = "tí";
	dict[35079] = "fù";
	dict[35080] = "chóng";
	dict[35081] = "xiè";
	dict[35082] = "biǎn";
	dict[35083] = "dié";
	dict[35084] = "kūn";
	dict[35085] = "duān";
	dict[35086] = "xiù";
	dict[35087] = "xiù";
	dict[35088] = "hè";
	dict[35089] = "yuàn";
	dict[35090] = "bāo";
	dict[35091] = "bǎo";
	dict[35092] = "fù,fú";
	dict[35093] = "yú";
	dict[35094] = "tuàn";
	dict[35095] = "yǎn";
	dict[35096] = "huī";
	dict[35097] = "bèi";
	dict[35098] = "zhǔ,chǔ";
	dict[35099] = "lǚ";
	dict[35100] = "páo";
	dict[35101] = "dān";
	dict[35102] = "yùn";
	dict[35103] = "tā";
	dict[35104] = "gōu";
	dict[35105] = "dā";
	dict[35106] = "huái";
	dict[35107] = "róng";
	dict[35108] = "yuán";
	dict[35109] = "rù";
	dict[35110] = "nài";
	dict[35111] = "jiǒng";
	dict[35112] = "suǒ";
	dict[35113] = "bān";
	dict[35114] = "tuì,tùn";
	dict[35115] = "chǐ";
	dict[35116] = "sǎng";
	dict[35117] = "niǎo";
	dict[35118] = "yīng";
	dict[35119] = "jiè";
	dict[35120] = "qiān";
	dict[35121] = "huái";
	dict[35122] = "kù";
	dict[35123] = "lián";
	dict[35124] = "lán";
	dict[35125] = "lí";
	dict[35126] = "zhě";
	dict[35127] = "shī";
	dict[35128] = "lǚ";
	dict[35129] = "yì";
	dict[35130] = "diē";
	dict[35131] = "xiè";
	dict[35132] = "xiān";
	dict[35133] = "wèi";
	dict[35134] = "biǎo";
	dict[35135] = "cáo";
	dict[35136] = "jì";
	dict[35137] = "qiǎng";
	dict[35138] = "sēn";
	dict[35139] = "bāo";
	dict[35140] = "xiāng";
	dict[35141] = "bì";
	dict[35142] = "fú";
	dict[35143] = "jiǎn";
	dict[35144] = "zhuàn";
	dict[35145] = "jiǎn";
	dict[35146] = "cuì";
	dict[35147] = "jí";
	dict[35148] = "dān";
	dict[35149] = "zá";
	dict[35150] = "fán";
	dict[35151] = "bó";
	dict[35152] = "xiàng";
	dict[35153] = "xín";
	dict[35154] = "bié";
	dict[35155] = "ráo";
	dict[35156] = "mǎn";
	dict[35157] = "lán";
	dict[35158] = "ǎo";
	dict[35159] = "zé";
	dict[35160] = "guì";
	dict[35161] = "cào";
	dict[35162] = "suì";
	dict[35163] = "nóng";
	dict[35164] = "chān";
	dict[35165] = "liǎn";
	dict[35166] = "bì";
	dict[35167] = "jīn";
	dict[35168] = "dāng";
	dict[35169] = "shǔ";
	dict[35170] = "tǎn";
	dict[35171] = "bì";
	dict[35172] = "lán";
	dict[35173] = "fú";
	dict[35174] = "rú";
	dict[35175] = "zhǐ";
	dict[35177] = "shǔ";
	dict[35178] = "wà";
	dict[35179] = "shì";
	dict[35180] = "bǎi";
	dict[35181] = "xié";
	dict[35182] = "bó";
	dict[35183] = "chèn";
	dict[35184] = "lǎi";
	dict[35185] = "lóng";
	dict[35186] = "xí";
	dict[35187] = "xiān";
	dict[35188] = "lán";
	dict[35189] = "zhě";
	dict[35190] = "dài";
	dict[35191] = "jǔ";
	dict[35192] = "zàn";
	dict[35193] = "shī";
	dict[35194] = "jiǎn";
	dict[35195] = "pàn";
	dict[35196] = "yì";
	dict[35197] = "lán";
	dict[35198] = "yà";
	dict[35199] = "xī";
	dict[35200] = "yà";
	dict[35201] = "yào,yāo";
	dict[35202] = "fěng";
	dict[35203] = "tán,qín";
	dict[35204] = "fù";
	dict[35205] = "fiào";
	dict[35206] = "fù";
	dict[35207] = "bà";
	dict[35208] = "hé";
	dict[35209] = "jī";
	dict[35210] = "jī";
	dict[35211] = "jiàn,xiàn";
	dict[35212] = "guān,guàn";
	dict[35213] = "biàn";
	dict[35214] = "yàn";
	dict[35215] = "guī";
	dict[35216] = "jué,jiào";
	dict[35217] = "piǎn";
	dict[35218] = "mào";
	dict[35219] = "mì";
	dict[35220] = "mì";
	dict[35221] = "piē,miè";
	dict[35222] = "shì";
	dict[35223] = "sì";
	dict[35224] = "chān";
	dict[35225] = "zhěn";
	dict[35226] = "jué,jiào";
	dict[35227] = "mì";
	dict[35228] = "tiào";
	dict[35229] = "lián";
	dict[35230] = "yào";
	dict[35231] = "zhì";
	dict[35232] = "jūn";
	dict[35233] = "xī";
	dict[35234] = "shǎn";
	dict[35235] = "wēi";
	dict[35236] = "xì";
	dict[35237] = "tiǎn";
	dict[35238] = "yú";
	dict[35239] = "lǎn";
	dict[35240] = "è";
	dict[35241] = "dǔ";
	dict[35242] = "qīn,qìng";
	dict[35243] = "pǎng";
	dict[35244] = "jì";
	dict[35245] = "míng";
	dict[35246] = "yíng,yǐng";
	dict[35247] = "gòu";
	dict[35248] = "qū,qù";
	dict[35249] = "zhàn,zhān";
	dict[35250] = "jìn";
	dict[35251] = "guān,guàn";
	dict[35252] = "dèng";
	dict[35253] = "jiàn,biǎn";
	dict[35254] = "luó,luǎn";
	dict[35255] = "qù,qū";
	dict[35256] = "jiàn";
	dict[35257] = "wéi";
	dict[35258] = "jué,jiào";
	dict[35259] = "qù,qū";
	dict[35260] = "luó";
	dict[35261] = "lǎn";
	dict[35262] = "shěn";
	dict[35263] = "dí";
	dict[35264] = "guān,guàn";
	dict[35265] = "jiàn,xiàn";
	dict[35266] = "guān,guàn";
	dict[35267] = "yàn";
	dict[35268] = "guī";
	dict[35269] = "mì";
	dict[35270] = "shì";
	dict[35271] = "chān";
	dict[35272] = "lǎn";
	dict[35273] = "jué,jiào";
	dict[35274] = "jì";
	dict[35275] = "xí";
	dict[35276] = "dí";
	dict[35277] = "tiǎn";
	dict[35278] = "yú";
	dict[35279] = "gòu";
	dict[35280] = "jìn";
	dict[35281] = "qù,qū";
	dict[35282] = "jiǎo,jué";
	dict[35283] = "qiú";
	dict[35284] = "jīn";
	dict[35285] = "cū";
	dict[35286] = "jué";
	dict[35287] = "zhì";
	dict[35288] = "chào";
	dict[35289] = "jí";
	dict[35290] = "gū";
	dict[35291] = "dàn";
	dict[35292] = "zī,zuǐ";
	dict[35293] = "dǐ";
	dict[35294] = "shāng";
	dict[35295] = "huà,xiè";
	dict[35296] = "quán";
	dict[35297] = "gé";
	dict[35298] = "shì";
	dict[35299] = "jiě,jiè,xiè";
	dict[35300] = "guǐ";
	dict[35301] = "gōng";
	dict[35302] = "chù";
	dict[35303] = "jiě,jiè,xiè";
	dict[35304] = "hùn";
	dict[35305] = "qiú";
	dict[35306] = "xīng";
	dict[35307] = "sù";
	dict[35308] = "ní";
	dict[35309] = "jī,qí";
	dict[35310] = "jué";
	dict[35311] = "zhì";
	dict[35312] = "zhā";
	dict[35313] = "bì";
	dict[35314] = "xīng";
	dict[35315] = "hú";
	dict[35316] = "shāng";
	dict[35317] = "gōng";
	dict[35318] = "zhì";
	dict[35319] = "xué,hù";
	dict[35320] = "chù";
	dict[35321] = "xī";
	dict[35322] = "yí";
	dict[35323] = "lì,lù";
	dict[35324] = "jué";
	dict[35325] = "xī";
	dict[35326] = "yàn";
	dict[35327] = "xī";
	dict[35328] = "yán";
	dict[35329] = "yán";
	dict[35330] = "dìng";
	dict[35331] = "fù";
	dict[35332] = "qiú";
	dict[35333] = "qiú";
	dict[35334] = "jiào";
	dict[35335] = "hōng";
	dict[35336] = "jì";
	dict[35337] = "fàn";
	dict[35338] = "xùn";
	dict[35339] = "diào";
	dict[35340] = "hòng";
	dict[35341] = "chài";
	dict[35342] = "tǎo";
	dict[35343] = "xū";
	dict[35344] = "jié";
	dict[35345] = "dàn";
	dict[35346] = "rèn";
	dict[35347] = "xùn";
	dict[35348] = "yín";
	dict[35349] = "shàn";
	dict[35350] = "qì";
	dict[35351] = "tuō";
	dict[35352] = "jì";
	dict[35353] = "xùn";
	dict[35354] = "yín";
	dict[35355] = "é";
	dict[35356] = "fēn";
	dict[35357] = "yà";
	dict[35358] = "yāo";
	dict[35359] = "sòng";
	dict[35360] = "shěn";
	dict[35361] = "yín";
	dict[35362] = "xīn";
	dict[35363] = "jué";
	dict[35364] = "xiáo";
	dict[35365] = "nè";
	dict[35366] = "chén";
	dict[35367] = "yóu";
	dict[35368] = "zhǐ";
	dict[35369] = "xiōng";
	dict[35370] = "fǎng";
	dict[35371] = "xìn";
	dict[35372] = "chāo";
	dict[35373] = "shè";
	dict[35374] = "yán";
	dict[35375] = "sǎ";
	dict[35376] = "zhùn";
	dict[35377] = "xū";
	dict[35378] = "yì";
	dict[35379] = "yì";
	dict[35380] = "sù";
	dict[35381] = "chī";
	dict[35382] = "hē";
	dict[35383] = "shēn";
	dict[35384] = "hé";
	dict[35385] = "xù";
	dict[35386] = "zhěn";
	dict[35387] = "zhù";
	dict[35388] = "zhèng";
	dict[35389] = "gòu";
	dict[35390] = "zī";
	dict[35391] = "zǐ";
	dict[35392] = "zhān";
	dict[35393] = "gǔ";
	dict[35394] = "fù";
	dict[35395] = "jiǎn";
	dict[35396] = "dié";
	dict[35397] = "líng";
	dict[35398] = "dǐ";
	dict[35399] = "yàng";
	dict[35400] = "lì";
	dict[35401] = "náo";
	dict[35402] = "pàn";
	dict[35403] = "zhòu";
	dict[35404] = "gàn";
	dict[35405] = "yì";
	dict[35406] = "jù";
	dict[35407] = "yào";
	dict[35408] = "zhà";
	dict[35409] = "tuó";
	dict[35410] = "yí,dài";
	dict[35411] = "qǔ";
	dict[35412] = "zhào";
	dict[35413] = "píng";
	dict[35414] = "bì";
	dict[35415] = "xiòng";
	dict[35416] = "qū";
	dict[35417] = "bá";
	dict[35418] = "dá";
	dict[35419] = "zǔ";
	dict[35420] = "tāo";
	dict[35421] = "zhǔ";
	dict[35422] = "cí";
	dict[35423] = "zhé";
	dict[35424] = "yǒng";
	dict[35425] = "xǔ";
	dict[35426] = "xún";
	dict[35427] = "yì";
	dict[35428] = "huǎng";
	dict[35429] = "hé";
	dict[35430] = "shì";
	dict[35431] = "chá";
	dict[35432] = "xiào";
	dict[35433] = "shī";
	dict[35434] = "hěn";
	dict[35435] = "chà";
	dict[35436] = "gòu";
	dict[35437] = "guǐ";
	dict[35438] = "quán";
	dict[35439] = "huì";
	dict[35440] = "jié";
	dict[35441] = "huà";
	dict[35442] = "gāi";
	dict[35443] = "xiáng";
	dict[35444] = "wēi";
	dict[35445] = "shēn";
	dict[35446] = "chóu";
	dict[35447] = "tóng";
	dict[35448] = "mí";
	dict[35449] = "zhān";
	dict[35450] = "míng";
	dict[35451] = "luò";
	dict[35452] = "huī";
	dict[35453] = "yán";
	dict[35454] = "xiōng";
	dict[35455] = "guà";
	dict[35456] = "èr";
	dict[35457] = "bìng";
	dict[35458] = "tiǎo,diào";
	dict[35459] = "yí,chǐ,chì";
	dict[35460] = "lěi";
	dict[35461] = "zhū";
	dict[35462] = "kuāng";
	dict[35463] = "kuā,kuà";
	dict[35464] = "wū";
	dict[35465] = "yù";
	dict[35466] = "téng";
	dict[35467] = "jì";
	dict[35468] = "zhì";
	dict[35469] = "rèn";
	dict[35470] = "cù";
	dict[35471] = "lǎng,làng";
	dict[35472] = "é";
	dict[35473] = "kuáng";
	dict[35474] = "ēi,éi,ěi,èi,xī";
	dict[35475] = "shì";
	dict[35476] = "tǐng";
	dict[35477] = "dàn";
	dict[35478] = "bèi,bó";
	dict[35479] = "chán";
	dict[35480] = "yòu";
	dict[35481] = "kēng";
	dict[35482] = "qiào";
	dict[35483] = "qīn";
	dict[35484] = "shuà";
	dict[35485] = "ān";
	dict[35486] = "yǔ,yù";
	dict[35487] = "xiào";
	dict[35488] = "chéng";
	dict[35489] = "jiè";
	dict[35490] = "xiàn";
	dict[35491] = "wū";
	dict[35492] = "wù";
	dict[35493] = "gào";
	dict[35494] = "sòng";
	dict[35495] = "bū";
	dict[35496] = "huì";
	dict[35497] = "jìng";
	dict[35498] = "shuō,shuì,yuè";
	dict[35499] = "zhèn";
	dict[35500] = "shuō,shuì,yuè";
	dict[35501] = "dú";
	dict[35502] = "huā";
	dict[35503] = "chàng";
	dict[35504] = "shuí,shéi";
	dict[35505] = "jié";
	dict[35506] = "kè";
	dict[35507] = "qū,juè";
	dict[35508] = "cóng";
	dict[35509] = "xiáo";
	dict[35510] = "suì";
	dict[35511] = "wǎng";
	dict[35512] = "xián";
	dict[35513] = "fěi";
	dict[35514] = "chī,lài";
	dict[35515] = "tà";
	dict[35516] = "yì";
	dict[35517] = "nì,ná";
	dict[35518] = "yín";
	dict[35519] = "diào,tiáo";
	dict[35520] = "pǐ,bēi";
	dict[35521] = "zhuó";
	dict[35522] = "chǎn";
	dict[35523] = "chēn";
	dict[35524] = "zhūn";
	dict[35525] = "jì,jī";
	dict[35526] = "qī";
	dict[35527] = "tán";
	dict[35528] = "zhuì";
	dict[35529] = "wěi";
	dict[35530] = "jū";
	dict[35531] = "qǐng";
	dict[35532] = "dǒng";
	dict[35533] = "zhèng";
	dict[35534] = "zé,zuò,zhǎ,cuò";
	dict[35535] = "zōu";
	dict[35536] = "qiān";
	dict[35537] = "zhuó";
	dict[35538] = "liàng";
	dict[35539] = "jiàn";
	dict[35540] = "chù,jí";
	dict[35541] = "xià,háo";
	dict[35542] = "lùn,lún";
	dict[35543] = "shěn";
	dict[35544] = "biǎo";
	dict[35545] = "huà";
	dict[35546] = "biàn";
	dict[35547] = "yú";
	dict[35548] = "dié";
	dict[35549] = "xū";
	dict[35550] = "piǎn";
	dict[35551] = "shì,dì";
	dict[35552] = "xuān";
	dict[35553] = "shì";
	dict[35554] = "hùn";
	dict[35555] = "huà,guā";
	dict[35556] = "è";
	dict[35557] = "zhòng";
	dict[35558] = "dì";
	dict[35559] = "xié";
	dict[35560] = "fú";
	dict[35561] = "pǔ";
	dict[35562] = "tíng";
	dict[35563] = "jiàn";
	dict[35564] = "qǐ";
	dict[35565] = "yù";
	dict[35566] = "zī";
	dict[35567] = "zhuān";
	dict[35568] = "xǐ,shāi,āi";
	dict[35569] = "huì";
	dict[35570] = "yīn";
	dict[35571] = "ān";
	dict[35572] = "xián";
	dict[35573] = "nán,nàn";
	dict[35574] = "chén";
	dict[35575] = "fěng";
	dict[35576] = "zhū";
	dict[35577] = "yáng";
	dict[35578] = "yàn";
	dict[35579] = "huáng";
	dict[35580] = "xuān";
	dict[35581] = "gé";
	dict[35582] = "nuò";
	dict[35583] = "xǔ";
	dict[35584] = "móu";
	dict[35585] = "yè";
	dict[35586] = "wèi";
	dict[35587] = "xīng";
	dict[35588] = "téng";
	dict[35589] = "zhōu";
	dict[35590] = "shàn";
	dict[35591] = "jiǎn";
	dict[35592] = "bó";
	dict[35593] = "kuì";
	dict[35594] = "huǎng";
	dict[35595] = "huò";
	dict[35596] = "gē";
	dict[35597] = "yíng";
	dict[35598] = "mí";
	dict[35599] = "xiǎo";
	dict[35600] = "mì";
	dict[35601] = "xǐ";
	dict[35602] = "qiāng";
	dict[35603] = "chēn";
	dict[35604] = "xuè";
	dict[35605] = "tí";
	dict[35606] = "sù";
	dict[35607] = "bàng";
	dict[35608] = "chí";
	dict[35609] = "qiān";
	dict[35610] = "shì";
	dict[35611] = "jiǎng";
	dict[35612] = "yuán";
	dict[35613] = "xiè";
	dict[35614] = "hè";
	dict[35615] = "tāo";
	dict[35616] = "yáo";
	dict[35617] = "yáo";
	dict[35618] = "lū";
	dict[35619] = "yú";
	dict[35620] = "biāo";
	dict[35621] = "còng";
	dict[35622] = "qǐng";
	dict[35623] = "lí";
	dict[35624] = "mó";
	dict[35625] = "mó";
	dict[35626] = "shāng";
	dict[35627] = "zhé";
	dict[35628] = "miù";
	dict[35629] = "jiǎn";
	dict[35630] = "zé";
	dict[35631] = "jiē";
	dict[35632] = "lián";
	dict[35633] = "lóu";
	dict[35634] = "càn";
	dict[35635] = "ōu";
	dict[35636] = "gùn";
	dict[35637] = "xí";
	dict[35638] = "zhuó";
	dict[35639] = "áo";
	dict[35640] = "áo";
	dict[35641] = "jǐn";
	dict[35642] = "zhé";
	dict[35643] = "yí";
	dict[35644] = "hū";
	dict[35645] = "jiàng";
	dict[35646] = "mán";
	dict[35647] = "cháo";
	dict[35648] = "hàn";
	dict[35649] = "huá";
	dict[35650] = "chǎn";
	dict[35651] = "xū";
	dict[35652] = "zēng";
	dict[35653] = "sè";
	dict[35654] = "xī";
	dict[35655] = "zhā";
	dict[35656] = "duì";
	dict[35657] = "zhèng";
	dict[35658] = "náo";
	dict[35659] = "lán";
	dict[35660] = "é";
	dict[35661] = "yīng";
	dict[35662] = "jué";
	dict[35663] = "jī";
	dict[35664] = "zǔn";
	dict[35665] = "jiǎo";
	dict[35666] = "bò";
	dict[35667] = "huì";
	dict[35668] = "zhuàn";
	dict[35669] = "wú";
	dict[35670] = "zèn";
	dict[35671] = "zhá";
	dict[35672] = "shí";
	dict[35673] = "qiáo";
	dict[35674] = "tán";
	dict[35675] = "jiàn";
	dict[35676] = "pǔ";
	dict[35677] = "shéng";
	dict[35678] = "xuān";
	dict[35679] = "zào";
	dict[35680] = "tán";
	dict[35681] = "dǎng";
	dict[35682] = "suì";
	dict[35683] = "xiǎn";
	dict[35684] = "jī";
	dict[35685] = "jiào";
	dict[35686] = "jǐng";
	dict[35687] = "zhàn";
	dict[35688] = "nóng";
	dict[35689] = "yī";
	dict[35690] = "ǎi";
	dict[35691] = "zhān";
	dict[35692] = "pì";
	dict[35693] = "huǐ";
	dict[35694] = "huà";
	dict[35695] = "yì";
	dict[35696] = "yì";
	dict[35697] = "shàn";
	dict[35698] = "ràng";
	dict[35699] = "ròu";
	dict[35700] = "qiǎn";
	dict[35701] = "duì";
	dict[35702] = "tà";
	dict[35703] = "hù";
	dict[35704] = "zhōu";
	dict[35705] = "háo";
	dict[35706] = "ài";
	dict[35707] = "yīng";
	dict[35708] = "jiān";
	dict[35709] = "yù";
	dict[35710] = "jiǎn";
	dict[35711] = "huì";
	dict[35712] = "dú";
	dict[35713] = "zhé";
	dict[35714] = "juàn,xuān";
	dict[35715] = "zàn";
	dict[35716] = "lěi";
	dict[35717] = "shěn";
	dict[35718] = "wèi";
	dict[35719] = "chǎn";
	dict[35720] = "lì";
	dict[35721] = "yí,tuī";
	dict[35722] = "biàn";
	dict[35723] = "zhé";
	dict[35724] = "yàn";
	dict[35725] = "è";
	dict[35726] = "chóu";
	dict[35727] = "wèi";
	dict[35728] = "chóu";
	dict[35729] = "yào";
	dict[35730] = "chán";
	dict[35731] = "ràng";
	dict[35732] = "yǐn";
	dict[35733] = "lán";
	dict[35734] = "chèn";
	dict[35735] = "xié";
	dict[35736] = "niè";
	dict[35737] = "huān";
	dict[35738] = "zàn";
	dict[35739] = "yì";
	dict[35740] = "dǎng";
	dict[35741] = "zhán";
	dict[35742] = "yàn";
	dict[35743] = "dú";
	dict[35744] = "yán";
	dict[35745] = "jì";
	dict[35746] = "dìng";
	dict[35747] = "fù";
	dict[35748] = "rèn";
	dict[35749] = "jī";
	dict[35750] = "jié";
	dict[35751] = "hòng";
	dict[35752] = "tǎo";
	dict[35753] = "ràng";
	dict[35754] = "shàn";
	dict[35755] = "qì";
	dict[35756] = "tuō";
	dict[35757] = "xùn";
	dict[35758] = "yì";
	dict[35759] = "xùn";
	dict[35760] = "jì";
	dict[35761] = "rèn";
	dict[35762] = "jiǎng";
	dict[35763] = "huì";
	dict[35764] = "ōu";
	dict[35765] = "jù";
	dict[35766] = "yà";
	dict[35767] = "nè";
	dict[35768] = "xǔ,hǔ";
	dict[35769] = "é";
	dict[35770] = "lùn,lún";
	dict[35771] = "xiōng";
	dict[35772] = "sòng";
	dict[35773] = "fěng";
	dict[35774] = "shè";
	dict[35775] = "fǎng";
	dict[35776] = "jué";
	dict[35777] = "zhèng";
	dict[35778] = "gǔ";
	dict[35779] = "hē";
	dict[35780] = "píng";
	dict[35781] = "zǔ";
	dict[35782] = "shí,zhì";
	dict[35783] = "xiòng";
	dict[35784] = "zhà";
	dict[35785] = "sù";
	dict[35786] = "zhěn";
	dict[35787] = "dǐ";
	dict[35788] = "zhōu";
	dict[35789] = "cí";
	dict[35790] = "qū";
	dict[35791] = "zhào";
	dict[35792] = "bì";
	dict[35793] = "yì";
	dict[35794] = "yí,dài";
	dict[35795] = "kuāng";
	dict[35796] = "lěi";
	dict[35797] = "shì";
	dict[35798] = "guà";
	dict[35799] = "shī";
	dict[35800] = "jié,jí";
	dict[35801] = "huī";
	dict[35802] = "chéng";
	dict[35803] = "zhū";
	dict[35804] = "shēn";
	dict[35805] = "huà";
	dict[35806] = "dàn";
	dict[35807] = "gòu";
	dict[35808] = "quán";
	dict[35809] = "guǐ";
	dict[35810] = "xún";
	dict[35811] = "yì";
	dict[35812] = "zhèng";
	dict[35813] = "gāi";
	dict[35814] = "xiáng,yáng";
	dict[35815] = "chà";
	dict[35816] = "hùn";
	dict[35817] = "xǔ";
	dict[35818] = "zhōu,chóu";
	dict[35819] = "jiè";
	dict[35820] = "wū";
	dict[35821] = "yǔ,yù";
	dict[35822] = "qiào";
	dict[35823] = "wù";
	dict[35824] = "gào";
	dict[35825] = "yòu";
	dict[35826] = "huì";
	dict[35827] = "kuáng";
	dict[35828] = "shuō,shuì,yuè";
	dict[35829] = "sòng";
	dict[35830] = "ēi,éi,ěi,èi,xī";
	dict[35831] = "qǐng";
	dict[35832] = "zhū";
	dict[35833] = "zōu";
	dict[35834] = "nuò";
	dict[35835] = "dú,dòu";
	dict[35836] = "zhuó";
	dict[35837] = "fěi";
	dict[35838] = "kè";
	dict[35839] = "wěi";
	dict[35840] = "yú";
	dict[35841] = "shuí";
	dict[35842] = "shěn";
	dict[35843] = "tiáo,diào,zhōu";
	dict[35844] = "chǎn";
	dict[35845] = "liàng";
	dict[35846] = "zhūn";
	dict[35847] = "suì";
	dict[35848] = "tán";
	dict[35849] = "shěn";
	dict[35850] = "yì";
	dict[35851] = "móu";
	dict[35852] = "chén,shèn";
	dict[35853] = "dié";
	dict[35854] = "huǎng";
	dict[35855] = "jiàn";
	dict[35856] = "xié";
	dict[35857] = "xuè";
	dict[35858] = "yè";
	dict[35859] = "wèi";
	dict[35860] = "è";
	dict[35861] = "yù";
	dict[35862] = "xuān";
	dict[35863] = "chán";
	dict[35864] = "zī";
	dict[35865] = "ān";
	dict[35866] = "yàn";
	dict[35867] = "dì";
	dict[35868] = "mí";
	dict[35869] = "piǎn";
	dict[35870] = "xū";
	dict[35871] = "mó";
	dict[35872] = "dǎng";
	dict[35873] = "sù";
	dict[35874] = "xiè";
	dict[35875] = "yáo";
	dict[35876] = "bàng";
	dict[35877] = "shì";
	dict[35878] = "qiān";
	dict[35879] = "mì";
	dict[35880] = "jǐn";
	dict[35881] = "mán";
	dict[35882] = "zhé";
	dict[35883] = "jiǎn";
	dict[35884] = "miù";
	dict[35885] = "tán";
	dict[35886] = "zèn";
	dict[35887] = "qiáo";
	dict[35888] = "lán";
	dict[35889] = "pǔ";
	dict[35890] = "jué";
	dict[35891] = "yàn";
	dict[35892] = "qiǎn";
	dict[35893] = "zhān";
	dict[35894] = "chèn";
	dict[35895] = "gǔ";
	dict[35896] = "qiān";
	dict[35897] = "hóng";
	dict[35898] = "xiā";
	dict[35899] = "jí";
	dict[35900] = "hóng";
	dict[35901] = "hān";
	dict[35902] = "hōng";
	dict[35903] = "xī";
	dict[35904] = "xī";
	dict[35905] = "huō,huò,huá";
	dict[35906] = "liáo";
	dict[35907] = "hǎn";
	dict[35908] = "dú";
	dict[35909] = "lóng";
	dict[35910] = "dòu";
	dict[35911] = "jiāng";
	dict[35912] = "qǐ,kǎi";
	dict[35913] = "chǐ";
	dict[35914] = "lǐ";
	dict[35915] = "dēng";
	dict[35916] = "wān";
	dict[35917] = "bī";
	dict[35918] = "shù";
	dict[35919] = "xiàn";
	dict[35920] = "fēng";
	dict[35921] = "zhì";
	dict[35922] = "zhì";
	dict[35923] = "yàn";
	dict[35924] = "yàn";
	dict[35925] = "shǐ";
	dict[35926] = "chù";
	dict[35927] = "huī";
	dict[35928] = "tún";
	dict[35929] = "yì";
	dict[35930] = "tún";
	dict[35931] = "yì";
	dict[35932] = "jiān";
	dict[35933] = "bā";
	dict[35934] = "hòu";
	dict[35935] = "è";
	dict[35936] = "chú";
	dict[35937] = "xiàng";
	dict[35938] = "huàn";
	dict[35939] = "jiān,yàn";
	dict[35940] = "kěn";
	dict[35941] = "gāi";
	dict[35942] = "jù";
	dict[35943] = "fú";
	dict[35944] = "xī";
	dict[35945] = "bīn";
	dict[35946] = "háo";
	dict[35947] = "yù";
	dict[35948] = "zhū";
	dict[35949] = "jiā";
	dict[35950] = "fén";
	dict[35951] = "xī";
	dict[35952] = "hù";
	dict[35953] = "wēn";
	dict[35954] = "huán";
	dict[35955] = "bīn";
	dict[35956] = "dí";
	dict[35957] = "zōng";
	dict[35958] = "fén";
	dict[35959] = "yì";
	dict[35960] = "zhì";
	dict[35961] = "bào";
	dict[35962] = "chái";
	dict[35963] = "àn";
	dict[35964] = "pí";
	dict[35965] = "nà";
	dict[35966] = "pī";
	dict[35967] = "gǒu";
	dict[35968] = "nà";
	dict[35969] = "yòu";
	dict[35970] = "diāo";
	dict[35971] = "mò";
	dict[35972] = "sì";
	dict[35973] = "xiū";
	dict[35974] = "huán,huān";
	dict[35975] = "kěn,kūn";
	dict[35976] = "hé,mò";
	dict[35977] = "hé,háo,mò";
	dict[35978] = "mò";
	dict[35979] = "àn";
	dict[35980] = "mào";
	dict[35981] = "lí";
	dict[35982] = "ní";
	dict[35983] = "bǐ";
	dict[35984] = "yǔ";
	dict[35985] = "jiā";
	dict[35986] = "tuān,tuàn";
	dict[35987] = "māo,máo";
	dict[35988] = "pí";
	dict[35989] = "xī";
	dict[35990] = "yì";
	dict[35991] = "jù,lóu";
	dict[35992] = "mò";
	dict[35993] = "chū";
	dict[35994] = "tán";
	dict[35995] = "huān";
	dict[35996] = "jué";
	dict[35997] = "bèi";
	dict[35998] = "zhēn";
	dict[35999] = "yuán,yún,yùn";
	dict[36e3] = "fù";
	dict[36001] = "cái";
	dict[36002] = "gòng";
	dict[36003] = "dài";
	dict[36004] = "yì,yí";
	dict[36005] = "háng";
	dict[36006] = "wán";
	dict[36007] = "pín";
	dict[36008] = "huò";
	dict[36009] = "fàn";
	dict[36010] = "tān";
	dict[36011] = "guàn";
	dict[36012] = "zé,zhài";
	dict[36013] = "zhì";
	dict[36014] = "èr";
	dict[36015] = "zhù";
	dict[36016] = "shì";
	dict[36017] = "bì";
	dict[36018] = "zī";
	dict[36019] = "èr";
	dict[36020] = "guì";
	dict[36021] = "piǎn";
	dict[36022] = "biǎn";
	dict[36023] = "mǎi";
	dict[36024] = "dài";
	dict[36025] = "shèng";
	dict[36026] = "kuàng";
	dict[36027] = "fèi";
	dict[36028] = "tiē";
	dict[36029] = "yí";
	dict[36030] = "chí";
	dict[36031] = "mào";
	dict[36032] = "hè";
	dict[36033] = "bì,bēn";
	dict[36034] = "lù";
	dict[36035] = "lìn";
	dict[36036] = "huì";
	dict[36037] = "gāi";
	dict[36038] = "pián";
	dict[36039] = "zī";
	dict[36040] = "jiǎ,gǔ,jià";
	dict[36041] = "xù";
	dict[36042] = "zéi";
	dict[36043] = "jiǎo";
	dict[36044] = "gāi";
	dict[36045] = "zāng";
	dict[36046] = "jiàn";
	dict[36047] = "yīng";
	dict[36048] = "jùn";
	dict[36049] = "zhèn";
	dict[36050] = "shē";
	dict[36051] = "bīn";
	dict[36052] = "bīn";
	dict[36053] = "qiú";
	dict[36054] = "shē";
	dict[36055] = "chuàn";
	dict[36056] = "zāng";
	dict[36057] = "zhōu";
	dict[36058] = "lài";
	dict[36059] = "zàn";
	dict[36060] = "cì";
	dict[36061] = "chēn";
	dict[36062] = "shǎng";
	dict[36063] = "tiǎn";
	dict[36064] = "péi";
	dict[36065] = "gēng";
	dict[36066] = "xián";
	dict[36067] = "mài";
	dict[36068] = "jiàn";
	dict[36069] = "suì";
	dict[36070] = "fù";
	dict[36071] = "dǎn";
	dict[36072] = "cóng";
	dict[36073] = "cóng";
	dict[36074] = "zhì";
	dict[36075] = "jī";
	dict[36076] = "zhàng";
	dict[36077] = "dǔ";
	dict[36078] = "jìn";
	dict[36079] = "xiōng,mín";
	dict[36080] = "chǔn";
	dict[36081] = "yǔn";
	dict[36082] = "bǎo";
	dict[36083] = "zāi";
	dict[36084] = "lài";
	dict[36085] = "fèng";
	dict[36086] = "càng";
	dict[36087] = "jī";
	dict[36088] = "shèng";
	dict[36089] = "ài";
	dict[36090] = "zhuàn,zuàn";
	dict[36091] = "fù";
	dict[36092] = "gòu";
	dict[36093] = "sài";
	dict[36094] = "zé";
	dict[36095] = "liáo";
	dict[36096] = "yì";
	dict[36097] = "bài";
	dict[36098] = "chěn";
	dict[36099] = "wàn,zhuàn";
	dict[36100] = "zhì";
	dict[36101] = "zhuì";
	dict[36102] = "biāo";
	dict[36103] = "yūn";
	dict[36104] = "zèng";
	dict[36105] = "dàn";
	dict[36106] = "zàn";
	dict[36107] = "yàn";
	dict[36108] = "pú";
	dict[36109] = "shàn";
	dict[36110] = "wàn";
	dict[36111] = "yíng";
	dict[36112] = "jìn";
	dict[36113] = "gàn";
	dict[36114] = "xián";
	dict[36115] = "zāng";
	dict[36116] = "bì";
	dict[36117] = "dú";
	dict[36118] = "shú";
	dict[36119] = "yàn";
	dict[36120] = "shǎng";
	dict[36121] = "xuàn";
	dict[36122] = "lòng";
	dict[36123] = "gàn";
	dict[36124] = "zāng";
	dict[36125] = "bèi";
	dict[36126] = "zhēn";
	dict[36127] = "fù";
	dict[36128] = "yuán,yùn";
	dict[36129] = "gòng";
	dict[36130] = "cái";
	dict[36131] = "zé,zhài";
	dict[36132] = "xián";
	dict[36133] = "bài";
	dict[36134] = "zhàng";
	dict[36135] = "huò";
	dict[36136] = "zhì";
	dict[36137] = "fàn";
	dict[36138] = "tān";
	dict[36139] = "pín";
	dict[36140] = "biǎn";
	dict[36141] = "gòu";
	dict[36142] = "zhù";
	dict[36143] = "guàn";
	dict[36144] = "èr";
	dict[36145] = "jiàn";
	dict[36146] = "bì,bēn";
	dict[36147] = "shì";
	dict[36148] = "tiē";
	dict[36149] = "guì";
	dict[36150] = "kuàng";
	dict[36151] = "dài";
	dict[36152] = "mào";
	dict[36153] = "fèi";
	dict[36154] = "hè";
	dict[36155] = "yí";
	dict[36156] = "zéi";
	dict[36157] = "zhì";
	dict[36158] = "jiǎ,gǔ";
	dict[36159] = "huì";
	dict[36160] = "zī";
	dict[36161] = "lìn";
	dict[36162] = "lù";
	dict[36163] = "zāng";
	dict[36164] = "zī";
	dict[36165] = "gāi";
	dict[36166] = "jìn";
	dict[36167] = "qiú";
	dict[36168] = "zhèn";
	dict[36169] = "lài";
	dict[36170] = "shē";
	dict[36171] = "fù";
	dict[36172] = "dǔ";
	dict[36173] = "jī";
	dict[36174] = "shú";
	dict[36175] = "shǎng";
	dict[36176] = "cì";
	dict[36177] = "bì";
	dict[36178] = "zhōu";
	dict[36179] = "gēng";
	dict[36180] = "péi";
	dict[36181] = "dǎn";
	dict[36182] = "lài";
	dict[36183] = "fèng";
	dict[36184] = "zhuì";
	dict[36185] = "fù";
	dict[36186] = "zhuàn";
	dict[36187] = "sài";
	dict[36188] = "zé";
	dict[36189] = "yàn";
	dict[36190] = "zàn";
	dict[36191] = "yūn";
	dict[36192] = "zèng";
	dict[36193] = "shàn";
	dict[36194] = "yíng";
	dict[36195] = "gàn";
	dict[36196] = "chì";
	dict[36197] = "xī";
	dict[36198] = "shè";
	dict[36199] = "nǎn";
	dict[36200] = "tóng";
	dict[36201] = "xì";
	dict[36202] = "chēng";
	dict[36203] = "hè";
	dict[36204] = "chēng";
	dict[36205] = "zhě";
	dict[36206] = "xiá";
	dict[36207] = "táng";
	dict[36208] = "zǒu";
	dict[36209] = "zǒu";
	dict[36210] = "lì";
	dict[36211] = "jiū";
	dict[36212] = "fù";
	dict[36213] = "zhào";
	dict[36214] = "gǎn";
	dict[36215] = "qǐ";
	dict[36216] = "shàn";
	dict[36217] = "qióng";
	dict[36218] = "yǐn";
	dict[36219] = "xiǎn";
	dict[36220] = "zī";
	dict[36221] = "jué";
	dict[36222] = "qǐn";
	dict[36223] = "chí";
	dict[36224] = "cī";
	dict[36225] = "chèn";
	dict[36226] = "chèn";
	dict[36227] = "dié,tú";
	dict[36228] = "qiè,jū";
	dict[36229] = "chāo";
	dict[36230] = "dī";
	dict[36231] = "xì";
	dict[36232] = "zhān";
	dict[36233] = "jué";
	dict[36234] = "yuè";
	dict[36235] = "qū,cù";
	dict[36236] = "jí,jié";
	dict[36237] = "qū";
	dict[36238] = "chú";
	dict[36239] = "guā,huó";
	dict[36240] = "xuè";
	dict[36241] = "zī";
	dict[36242] = "tiào";
	dict[36243] = "duǒ";
	dict[36244] = "liè";
	dict[36245] = "gǎn";
	dict[36246] = "suō";
	dict[36247] = "cù";
	dict[36248] = "xí";
	dict[36249] = "zhào";
	dict[36250] = "sù";
	dict[36251] = "yǐn";
	dict[36252] = "jú";
	dict[36253] = "jiàn";
	dict[36254] = "què,qì,jí";
	dict[36255] = "tàng,tāng";
	dict[36256] = "chuō,zhuó";
	dict[36257] = "cuǐ";
	dict[36258] = "lù";
	dict[36259] = "qù,cù";
	dict[36260] = "dàng";
	dict[36261] = "qiū";
	dict[36262] = "zī";
	dict[36263] = "tí";
	dict[36264] = "qū,cù";
	dict[36265] = "chì";
	dict[36266] = "huáng";
	dict[36267] = "qiáo";
	dict[36268] = "qiāo";
	dict[36269] = "jiào";
	dict[36270] = "zào";
	dict[36271] = "tì,yuè";
	dict[36272] = "ěr";
	dict[36273] = "zǎn";
	dict[36274] = "zǎn";
	dict[36275] = "zú";
	dict[36276] = "pā";
	dict[36277] = "bào,bō";
	dict[36278] = "kuà,wù";
	dict[36279] = "kē";
	dict[36280] = "dǔn";
	dict[36281] = "jué,guì";
	dict[36282] = "fū";
	dict[36283] = "chěn";
	dict[36284] = "jiǎn";
	dict[36285] = "fāng,fàng,páng";
	dict[36286] = "zhǐ";
	dict[36287] = "tā";
	dict[36288] = "yuè";
	dict[36289] = "bà,páo";
	dict[36290] = "qí,qǐ";
	dict[36291] = "yuè";
	dict[36292] = "qiāng,qiàng";
	dict[36293] = "tuò";
	dict[36294] = "tái";
	dict[36295] = "yì";
	dict[36296] = "jiàn,chén";
	dict[36297] = "líng";
	dict[36298] = "mèi";
	dict[36299] = "bá";
	dict[36300] = "diē";
	dict[36301] = "kū";
	dict[36302] = "tuó";
	dict[36303] = "jiā";
	dict[36304] = "cī,cǐ";
	dict[36305] = "pǎo,páo";
	dict[36306] = "qiǎ";
	dict[36307] = "zhù";
	dict[36308] = "jū";
	dict[36309] = "diǎn,tiē,dié";
	dict[36310] = "zhí";
	dict[36311] = "fū";
	dict[36312] = "pán,bàn";
	dict[36313] = "jū,jù,qiè";
	dict[36314] = "shān";
	dict[36315] = "bǒ";
	dict[36316] = "ní";
	dict[36317] = "jù";
	dict[36318] = "lì,luò";
	dict[36319] = "gēn";
	dict[36320] = "yí";
	dict[36321] = "jì";
	dict[36322] = "dài,duò,duō,chí";
	dict[36323] = "xiǎn";
	dict[36324] = "jiāo";
	dict[36325] = "duò";
	dict[36326] = "zhū";
	dict[36327] = "quán";
	dict[36328] = "kuà";
	dict[36329] = "zhuǎi";
	dict[36330] = "guì";
	dict[36331] = "qióng";
	dict[36332] = "kuǐ";
	dict[36333] = "xiáng";
	dict[36334] = "dié";
	dict[36335] = "lù";
	dict[36336] = "pián,bèng";
	dict[36337] = "zhì";
	dict[36338] = "jié";
	dict[36339] = "tiào,táo";
	dict[36340] = "cǎi";
	dict[36341] = "jiàn";
	dict[36342] = "dá";
	dict[36343] = "qiāo";
	dict[36344] = "bì";
	dict[36345] = "xiān";
	dict[36346] = "duò";
	dict[36347] = "jī";
	dict[36348] = "jú";
	dict[36349] = "jì";
	dict[36350] = "shū,chōu";
	dict[36351] = "tú";
	dict[36352] = "chuò";
	dict[36353] = "jìng";
	dict[36354] = "niè";
	dict[36355] = "xiāo";
	dict[36356] = "bù";
	dict[36357] = "xué";
	dict[36358] = "cūn";
	dict[36359] = "mǔ";
	dict[36360] = "shū";
	dict[36361] = "liáng,liàng";
	dict[36362] = "yǒng";
	dict[36363] = "jiǎo";
	dict[36364] = "chóu";
	dict[36365] = "qiāo";
	dict[36366] = "móu";
	dict[36367] = "tà";
	dict[36368] = "jiàn";
	dict[36369] = "jī";
	dict[36370] = "wō";
	dict[36371] = "wěi";
	dict[36372] = "chuō";
	dict[36373] = "jié";
	dict[36374] = "jí";
	dict[36375] = "niè";
	dict[36376] = "jū";
	dict[36377] = "niè";
	dict[36378] = "lún";
	dict[36379] = "lù";
	dict[36380] = "lèng";
	dict[36381] = "huái";
	dict[36382] = "jù";
	dict[36383] = "chí";
	dict[36384] = "wǎn";
	dict[36385] = "quán";
	dict[36386] = "tī";
	dict[36387] = "bó";
	dict[36388] = "zú";
	dict[36389] = "qiè";
	dict[36390] = "qī";
	dict[36391] = "cù";
	dict[36392] = "zōng";
	dict[36393] = "cǎi";
	dict[36394] = "zōng";
	dict[36395] = "pèng";
	dict[36396] = "zhì";
	dict[36397] = "zhēng";
	dict[36398] = "diǎn";
	dict[36399] = "zhí";
	dict[36400] = "yú";
	dict[36401] = "duó";
	dict[36402] = "dùn";
	dict[36403] = "chuǎn";
	dict[36404] = "yǒng";
	dict[36405] = "zhǒng";
	dict[36406] = "dì";
	dict[36407] = "zhě";
	dict[36408] = "chěn";
	dict[36409] = "chuài";
	dict[36410] = "jiàn";
	dict[36411] = "guā";
	dict[36412] = "táng";
	dict[36413] = "jǔ";
	dict[36414] = "fú";
	dict[36415] = "cù";
	dict[36416] = "dié";
	dict[36417] = "pián";
	dict[36418] = "róu";
	dict[36419] = "nuò";
	dict[36420] = "tí";
	dict[36421] = "chǎ";
	dict[36422] = "tuǐ";
	dict[36423] = "jiǎn";
	dict[36424] = "dǎo";
	dict[36425] = "cuō";
	dict[36426] = "qī,xī";
	dict[36427] = "tà";
	dict[36428] = "qiāng";
	dict[36429] = "niǎn";
	dict[36430] = "diān";
	dict[36431] = "tí";
	dict[36432] = "jí";
	dict[36433] = "niè";
	dict[36434] = "pán";
	dict[36435] = "liū";
	dict[36436] = "zàn";
	dict[36437] = "bì";
	dict[36438] = "chōng";
	dict[36439] = "lù";
	dict[36440] = "liáo";
	dict[36441] = "cù";
	dict[36442] = "tāng";
	dict[36443] = "dài";
	dict[36444] = "sù";
	dict[36445] = "xǐ";
	dict[36446] = "kuǐ";
	dict[36447] = "jì";
	dict[36448] = "zhí";
	dict[36449] = "qiāng";
	dict[36450] = "dí";
	dict[36451] = "pán";
	dict[36452] = "zōng";
	dict[36453] = "lián";
	dict[36454] = "bèng";
	dict[36455] = "zāo";
	dict[36456] = "niǎn";
	dict[36457] = "bié";
	dict[36458] = "tuí";
	dict[36459] = "jú";
	dict[36460] = "dēng";
	dict[36461] = "cèng";
	dict[36462] = "xiān";
	dict[36463] = "fán";
	dict[36464] = "chú";
	dict[36465] = "zhōng";
	dict[36466] = "dūn";
	dict[36467] = "bō";
	dict[36468] = "cù";
	dict[36469] = "cù";
	dict[36470] = "jué,juě";
	dict[36471] = "jué";
	dict[36472] = "lìn";
	dict[36473] = "tà";
	dict[36474] = "qiāo";
	dict[36475] = "qiāo";
	dict[36476] = "pǔ";
	dict[36477] = "liāo";
	dict[36478] = "dūn";
	dict[36479] = "cuān";
	dict[36480] = "guàn";
	dict[36481] = "zào";
	dict[36482] = "tà";
	dict[36483] = "bì";
	dict[36484] = "bì";
	dict[36485] = "zhú";
	dict[36486] = "jù";
	dict[36487] = "chú";
	dict[36488] = "qiào";
	dict[36489] = "dǔn";
	dict[36490] = "chóu";
	dict[36491] = "jī";
	dict[36492] = "wǔ";
	dict[36493] = "yuè";
	dict[36494] = "niǎn";
	dict[36495] = "lìn";
	dict[36496] = "liè";
	dict[36497] = "zhí";
	dict[36498] = "lì,luò";
	dict[36499] = "zhì";
	dict[36500] = "chán";
	dict[36501] = "chú";
	dict[36502] = "duàn";
	dict[36503] = "wèi";
	dict[36504] = "lóng,lǒng";
	dict[36505] = "lìn";
	dict[36506] = "xiān";
	dict[36507] = "wèi";
	dict[36508] = "zuān";
	dict[36509] = "lán";
	dict[36510] = "xiè";
	dict[36511] = "ráng";
	dict[36512] = "sǎ,xiè";
	dict[36513] = "niè";
	dict[36514] = "tà";
	dict[36515] = "qú";
	dict[36516] = "jí";
	dict[36517] = "cuān";
	dict[36518] = "zuān";
	dict[36519] = "xǐ";
	dict[36520] = "kuí";
	dict[36521] = "jué";
	dict[36522] = "lìn";
	dict[36523] = "shēn";
	dict[36524] = "gōng";
	dict[36525] = "dān";
	dict[36526] = "fēn";
	dict[36527] = "qū";
	dict[36528] = "tǐ";
	dict[36529] = "duǒ";
	dict[36530] = "duǒ";
	dict[36531] = "gōng";
	dict[36532] = "láng";
	dict[36533] = "rěn";
	dict[36534] = "luǒ";
	dict[36535] = "ǎi";
	dict[36536] = "jī";
	dict[36537] = "jū";
	dict[36538] = "tǎng";
	dict[36539] = "kōng";
	dict[36540] = "lào";
	dict[36541] = "yǎn";
	dict[36542] = "měi";
	dict[36543] = "kāng";
	dict[36544] = "qū";
	dict[36545] = "lóu";
	dict[36546] = "lào";
	dict[36547] = "duǒ";
	dict[36548] = "zhí";
	dict[36549] = "yàn";
	dict[36550] = "tǐ";
	dict[36551] = "dào";
	dict[36552] = "yīng";
	dict[36553] = "yù";
	dict[36554] = "chē,jū";
	dict[36555] = "yà,zhá,gá";
	dict[36556] = "guǐ";
	dict[36557] = "jūn";
	dict[36558] = "wèi";
	dict[36559] = "yuè";
	dict[36560] = "xìn,xiàn";
	dict[36561] = "dài";
	dict[36562] = "xuān";
	dict[36563] = "fàn,guǐ";
	dict[36564] = "rèn";
	dict[36565] = "shān";
	dict[36566] = "kuáng";
	dict[36567] = "shū";
	dict[36568] = "tún";
	dict[36569] = "chén";
	dict[36570] = "dài";
	dict[36571] = "è";
	dict[36572] = "nà";
	dict[36573] = "qí";
	dict[36574] = "máo";
	dict[36575] = "ruǎn";
	dict[36576] = "kuáng";
	dict[36577] = "qián";
	dict[36578] = "zhuàn,zhuǎn";
	dict[36579] = "hōng";
	dict[36580] = "hū";
	dict[36581] = "qú";
	dict[36582] = "kuàng";
	dict[36583] = "dǐ";
	dict[36584] = "líng";
	dict[36585] = "dài";
	dict[36586] = "āo,ào";
	dict[36587] = "zhěn";
	dict[36588] = "fàn";
	dict[36589] = "kuāng";
	dict[36590] = "yǎng";
	dict[36591] = "pēng";
	dict[36592] = "bèi";
	dict[36593] = "gū";
	dict[36594] = "gū";
	dict[36595] = "páo";
	dict[36596] = "zhù";
	dict[36597] = "rǒng";
	dict[36598] = "è";
	dict[36599] = "bá";
	dict[36600] = "zhóu,zhòu";
	dict[36601] = "zhǐ";
	dict[36602] = "yáo";
	dict[36603] = "kē,kě";
	dict[36604] = "yì,dié";
	dict[36605] = "qīng";
	dict[36606] = "shì";
	dict[36607] = "píng";
	dict[36608] = "ér";
	dict[36609] = "gǒng";
	dict[36610] = "jú";
	dict[36611] = "jiào";
	dict[36612] = "guāng";
	dict[36613] = "lù";
	dict[36614] = "kǎi";
	dict[36615] = "quán";
	dict[36616] = "zhōu";
	dict[36617] = "zài";
	dict[36618] = "zhì";
	dict[36619] = "shē";
	dict[36620] = "liàng";
	dict[36621] = "yù";
	dict[36622] = "shāo";
	dict[36623] = "yóu";
	dict[36624] = "wàn";
	dict[36625] = "yǐn";
	dict[36626] = "zhé";
	dict[36627] = "wǎn";
	dict[36628] = "fǔ";
	dict[36629] = "qīng";
	dict[36630] = "zhōu";
	dict[36631] = "ní";
	dict[36632] = "líng";
	dict[36633] = "zhé";
	dict[36634] = "hàn";
	dict[36635] = "liàng";
	dict[36636] = "zī";
	dict[36637] = "huī";
	dict[36638] = "wǎng";
	dict[36639] = "chuò";
	dict[36640] = "guǒ";
	dict[36641] = "kǎn";
	dict[36642] = "yǐ";
	dict[36643] = "péng";
	dict[36644] = "qiàn";
	dict[36645] = "gǔn";
	dict[36646] = "niǎn";
	dict[36647] = "píng";
	dict[36648] = "guǎn";
	dict[36649] = "bèi";
	dict[36650] = "lún";
	dict[36651] = "pái";
	dict[36652] = "liáng";
	dict[36653] = "ruǎn";
	dict[36654] = "róu";
	dict[36655] = "jí";
	dict[36656] = "yáng";
	dict[36657] = "xián";
	dict[36658] = "chuán";
	dict[36659] = "còu";
	dict[36660] = "chūn";
	dict[36661] = "gé";
	dict[36662] = "yóu";
	dict[36663] = "hōng";
	dict[36664] = "shū";
	dict[36665] = "fù";
	dict[36666] = "zī";
	dict[36667] = "fú";
	dict[36668] = "wēn";
	dict[36669] = "fàn";
	dict[36670] = "zhǎn";
	dict[36671] = "yú";
	dict[36672] = "wēn";
	dict[36673] = "tāo";
	dict[36674] = "gǔ";
	dict[36675] = "zhēn";
	dict[36676] = "xiá";
	dict[36677] = "yuán";
	dict[36678] = "lù";
	dict[36679] = "jiāo";
	dict[36680] = "cháo";
	dict[36681] = "zhuǎn";
	dict[36682] = "wèi";
	dict[36683] = "hūn";
	dict[36684] = "xuě";
	dict[36685] = "zhé";
	dict[36686] = "jiào";
	dict[36687] = "zhàn";
	dict[36688] = "bú";
	dict[36689] = "lǎo";
	dict[36690] = "fén";
	dict[36691] = "fān";
	dict[36692] = "lín";
	dict[36693] = "gé";
	dict[36694] = "sè";
	dict[36695] = "kǎn";
	dict[36696] = "huàn";
	dict[36697] = "yǐ";
	dict[36698] = "jí";
	dict[36699] = "duì";
	dict[36700] = "ér";
	dict[36701] = "yú";
	dict[36702] = "jiàn";
	dict[36703] = "hōng";
	dict[36704] = "léi";
	dict[36705] = "pèi";
	dict[36706] = "lì";
	dict[36707] = "lì";
	dict[36708] = "lú";
	dict[36709] = "lìn";
	dict[36710] = "chē,jū";
	dict[36711] = "yà";
	dict[36712] = "guǐ";
	dict[36713] = "xuān";
	dict[36714] = "dài";
	dict[36715] = "rèn";
	dict[36716] = "zhuǎn,zhuàn,zhuǎi";
	dict[36717] = "è";
	dict[36718] = "lún";
	dict[36719] = "ruǎn";
	dict[36720] = "hōng";
	dict[36721] = "gū";
	dict[36722] = "kē";
	dict[36723] = "lú";
	dict[36724] = "zhóu,zhòu";
	dict[36725] = "zhǐ";
	dict[36726] = "yì";
	dict[36727] = "hū";
	dict[36728] = "zhěn";
	dict[36729] = "lì";
	dict[36730] = "yáo";
	dict[36731] = "qīng";
	dict[36732] = "shì";
	dict[36733] = "zǎi,zài";
	dict[36734] = "zhì";
	dict[36735] = "jiào";
	dict[36736] = "zhōu";
	dict[36737] = "quán";
	dict[36738] = "lù";
	dict[36739] = "jiào";
	dict[36740] = "zhé";
	dict[36741] = "fǔ";
	dict[36742] = "liàng";
	dict[36743] = "niǎn";
	dict[36744] = "bèi";
	dict[36745] = "huī";
	dict[36746] = "gǔn";
	dict[36747] = "wǎng";
	dict[36748] = "liáng";
	dict[36749] = "chuò";
	dict[36750] = "zī";
	dict[36751] = "còu";
	dict[36752] = "fú";
	dict[36753] = "jí";
	dict[36754] = "wēn";
	dict[36755] = "shū";
	dict[36756] = "pèi";
	dict[36757] = "yuán";
	dict[36758] = "xiá";
	dict[36759] = "zhǎn,niǎn";
	dict[36760] = "lù";
	dict[36761] = "zhé";
	dict[36762] = "lín";
	dict[36763] = "xīn";
	dict[36764] = "gū";
	dict[36765] = "cí";
	dict[36766] = "cí";
	dict[36767] = "bì,pì";
	dict[36768] = "zuì";
	dict[36769] = "biàn";
	dict[36770] = "là";
	dict[36771] = "là";
	dict[36772] = "cí";
	dict[36773] = "xuē";
	dict[36774] = "bàn";
	dict[36775] = "biàn";
	dict[36776] = "biàn";
	dict[36777] = "biàn";
	dict[36778] = "xuē";
	dict[36779] = "biàn";
	dict[36780] = "bān";
	dict[36781] = "cí";
	dict[36782] = "biàn";
	dict[36783] = "biàn";
	dict[36784] = "chén";
	dict[36785] = "rǔ";
	dict[36786] = "nóng";
	dict[36787] = "nóng";
	dict[36788] = "zhěn";
	dict[36789] = "chuò";
	dict[36790] = "chuò";
	dict[36791] = "yī";
	dict[36792] = "réng";
	dict[36793] = "biān";
	dict[36794] = "dào,biān";
	dict[36795] = "shi";
	dict[36796] = "yū";
	dict[36797] = "liáo";
	dict[36798] = "dá";
	dict[36799] = "chān";
	dict[36800] = "gān";
	dict[36801] = "qiān";
	dict[36802] = "yū";
	dict[36803] = "yū";
	dict[36804] = "qì";
	dict[36805] = "xùn";
	dict[36806] = "yǐ,yí";
	dict[36807] = "guò,guo,guō";
	dict[36808] = "mài";
	dict[36809] = "qī";
	dict[36810] = "zā";
	dict[36811] = "wàng,kuāng";
	dict[36812] = "tù";
	dict[36813] = "zhūn";
	dict[36814] = "yíng";
	dict[36815] = "dá";
	dict[36816] = "yùn";
	dict[36817] = "jìn";
	dict[36818] = "háng";
	dict[36819] = "yà";
	dict[36820] = "fǎn";
	dict[36821] = "wǔ";
	dict[36822] = "dá";
	dict[36823] = "é";
	dict[36824] = "huán,hái";
	dict[36825] = "zhè,zhèi";
	dict[36826] = "dá";
	dict[36827] = "jìn";
	dict[36828] = "yuǎn,yuàn";
	dict[36829] = "wéi";
	dict[36830] = "lián";
	dict[36831] = "chí";
	dict[36832] = "chè";
	dict[36833] = "chí";
	dict[36834] = "tiáo";
	dict[36835] = "zhì,lì";
	dict[36836] = "yǐ,yí";
	dict[36837] = "jiǒng";
	dict[36838] = "jiā";
	dict[36839] = "chén";
	dict[36840] = "dài";
	dict[36841] = "ěr";
	dict[36842] = "dí";
	dict[36843] = "pò,pǎi";
	dict[36844] = "zhù,wǎng";
	dict[36845] = "dié";
	dict[36846] = "zé";
	dict[36847] = "táo";
	dict[36848] = "shù";
	dict[36849] = "yǐ,yí";
	dict[36851] = "jìng";
	dict[36852] = "huí";
	dict[36853] = "dòng";
	dict[36854] = "yòu";
	dict[36855] = "mí";
	dict[36856] = "bèng";
	dict[36857] = "jì";
	dict[36858] = "nǎi";
	dict[36859] = "yí";
	dict[36860] = "jié";
	dict[36861] = "zhuī,duī";
	dict[36862] = "liè";
	dict[36863] = "xùn";
	dict[36864] = "tuì";
	dict[36865] = "sòng";
	dict[36866] = "shì";
	dict[36867] = "táo";
	dict[36868] = "páng";
	dict[36869] = "hòu";
	dict[36870] = "nì";
	dict[36871] = "dùn";
	dict[36872] = "jiǒng";
	dict[36873] = "xuǎn";
	dict[36874] = "xùn";
	dict[36875] = "bū";
	dict[36876] = "yōu";
	dict[36877] = "xiāo";
	dict[36878] = "qiú";
	dict[36879] = "tòu";
	dict[36880] = "zhú";
	dict[36881] = "qiú";
	dict[36882] = "dì";
	dict[36883] = "dì";
	dict[36884] = "tú";
	dict[36885] = "jìng";
	dict[36886] = "tì";
	dict[36887] = "dòu";
	dict[36888] = "yǐ";
	dict[36889] = "zhè";
	dict[36890] = "tōng";
	dict[36891] = "guàng";
	dict[36892] = "wǔ";
	dict[36893] = "shì";
	dict[36894] = "chěng";
	dict[36895] = "sù";
	dict[36896] = "zào";
	dict[36897] = "qūn";
	dict[36898] = "féng";
	dict[36899] = "lián";
	dict[36900] = "suò";
	dict[36901] = "huí";
	dict[36902] = "lǐ";
	dict[36903] = "gǔ";
	dict[36904] = "lái";
	dict[36905] = "bèn";
	dict[36906] = "cuò";
	dict[36907] = "zhú";
	dict[36908] = "bèng";
	dict[36909] = "huàn";
	dict[36910] = "dài";
	dict[36911] = "lù";
	dict[36912] = "yóu";
	dict[36913] = "zhōu";
	dict[36914] = "jìn";
	dict[36915] = "yù";
	dict[36916] = "chuō";
	dict[36917] = "kuí";
	dict[36918] = "wēi";
	dict[36919] = "tì";
	dict[36920] = "yì";
	dict[36921] = "dá";
	dict[36922] = "yuǎn";
	dict[36923] = "luó";
	dict[36924] = "bī";
	dict[36925] = "nuò";
	dict[36926] = "yú";
	dict[36927] = "dàng";
	dict[36928] = "suí";
	dict[36929] = "dùn";
	dict[36930] = "suì";
	dict[36931] = "yǎn";
	dict[36932] = "chuán";
	dict[36933] = "chí";
	dict[36934] = "dì,tí";
	dict[36935] = "yù";
	dict[36936] = "shí";
	dict[36937] = "zhēn";
	dict[36938] = "yóu";
	dict[36939] = "yùn";
	dict[36940] = "è";
	dict[36941] = "biàn";
	dict[36942] = "guò";
	dict[36943] = "è";
	dict[36944] = "xiá";
	dict[36945] = "huáng";
	dict[36946] = "qiú";
	dict[36947] = "dào";
	dict[36948] = "dá";
	dict[36949] = "wéi";
	dict[36950] = "nán";
	dict[36951] = "yí";
	dict[36952] = "gòu";
	dict[36953] = "yáo";
	dict[36954] = "chòu";
	dict[36955] = "liù";
	dict[36956] = "xùn";
	dict[36957] = "tà";
	dict[36958] = "dì";
	dict[36959] = "chí";
	dict[36960] = "yuǎn";
	dict[36961] = "sù";
	dict[36962] = "tà";
	dict[36963] = "qiǎn";
	dict[36964] = "mǎ";
	dict[36965] = "yáo";
	dict[36966] = "guàn";
	dict[36967] = "zhāng";
	dict[36968] = "áo";
	dict[36969] = "shì";
	dict[36970] = "cà";
	dict[36971] = "chì";
	dict[36972] = "sù";
	dict[36973] = "zāo";
	dict[36974] = "zhē";
	dict[36975] = "dùn";
	dict[36976] = "dì";
	dict[36977] = "lóu";
	dict[36978] = "chí";
	dict[36979] = "cuō";
	dict[36980] = "lín";
	dict[36981] = "zūn";
	dict[36982] = "rào";
	dict[36983] = "qiān";
	dict[36984] = "xuǎn";
	dict[36985] = "yù";
	dict[36986] = "yí";
	dict[36987] = "è";
	dict[36988] = "liáo";
	dict[36989] = "jù";
	dict[36990] = "shì";
	dict[36991] = "bì";
	dict[36992] = "yāo";
	dict[36993] = "mài";
	dict[36994] = "xiè";
	dict[36995] = "suì";
	dict[36996] = "huán,hái";
	dict[36997] = "zhān";
	dict[36998] = "téng";
	dict[36999] = "ěr";
	dict[37e3] = "miǎo";
	dict[37001] = "biān";
	dict[37002] = "biān";
	dict[37003] = "lā";
	dict[37004] = "lí,chí";
	dict[37005] = "yuán";
	dict[37006] = "yáo";
	dict[37007] = "luó";
	dict[37008] = "lǐ";
	dict[37009] = "yì";
	dict[37010] = "tíng";
	dict[37011] = "dèng";
	dict[37012] = "qǐ";
	dict[37013] = "yōng";
	dict[37014] = "shān";
	dict[37015] = "hán";
	dict[37016] = "yú";
	dict[37017] = "máng";
	dict[37018] = "rú";
	dict[37019] = "qióng";
	dict[37020] = "xī";
	dict[37021] = "kuàng";
	dict[37022] = "fū";
	dict[37023] = "kàng,háng";
	dict[37024] = "bīn";
	dict[37025] = "fāng";
	dict[37026] = "xíng";
	dict[37027] = "nà,nǎ,nèi,nā";
	dict[37028] = "xīn";
	dict[37029] = "shěn";
	dict[37030] = "bāng";
	dict[37031] = "yuán";
	dict[37032] = "cūn";
	dict[37033] = "huǒ";
	dict[37034] = "xié,yá,yé,yú,xú";
	dict[37035] = "bāng";
	dict[37036] = "wū";
	dict[37037] = "jù";
	dict[37038] = "yóu";
	dict[37039] = "hán";
	dict[37040] = "tái";
	dict[37041] = "qiū";
	dict[37042] = "bì";
	dict[37043] = "pī";
	dict[37044] = "bǐng";
	dict[37045] = "shào";
	dict[37046] = "bèi";
	dict[37047] = "wǎ";
	dict[37048] = "dǐ";
	dict[37049] = "zōu";
	dict[37050] = "yè";
	dict[37051] = "lín";
	dict[37052] = "kuāng";
	dict[37053] = "guī";
	dict[37054] = "zhū";
	dict[37055] = "shī";
	dict[37056] = "kū";
	dict[37057] = "yù";
	dict[37058] = "gāi,hái";
	dict[37059] = "hé";
	dict[37060] = "qiè,xì";
	dict[37061] = "zhì";
	dict[37062] = "jí";
	dict[37063] = "xún,huán";
	dict[37064] = "hòu";
	dict[37065] = "xíng";
	dict[37066] = "jiāo";
	dict[37067] = "xí";
	dict[37068] = "guī";
	dict[37069] = "nà";
	dict[37070] = "láng,làng";
	dict[37071] = "jiá";
	dict[37072] = "kuài";
	dict[37073] = "zhèng";
	dict[37074] = "láng";
	dict[37075] = "yùn";
	dict[37076] = "yán";
	dict[37077] = "chéng";
	dict[37078] = "dòu";
	dict[37079] = "xī";
	dict[37080] = "lǚ";
	dict[37081] = "fǔ";
	dict[37082] = "wú";
	dict[37083] = "fú";
	dict[37084] = "gào";
	dict[37085] = "hǎo";
	dict[37086] = "láng";
	dict[37087] = "jiá";
	dict[37088] = "gěng";
	dict[37089] = "jùn";
	dict[37090] = "yǐng";
	dict[37091] = "bó";
	dict[37092] = "xì";
	dict[37093] = "bèi";
	dict[37094] = "lì,zhí";
	dict[37095] = "yún";
	dict[37096] = "bù";
	dict[37097] = "xiáo,ǎo";
	dict[37098] = "qī";
	dict[37099] = "pí";
	dict[37100] = "qīng";
	dict[37101] = "guō";
	dict[37102] = "zhōu";
	dict[37103] = "tán";
	dict[37104] = "zōu";
	dict[37105] = "píng";
	dict[37106] = "lái";
	dict[37107] = "ní";
	dict[37108] = "chēn";
	dict[37109] = "yóu";
	dict[37110] = "bù";
	dict[37111] = "xiāng";
	dict[37112] = "dān";
	dict[37113] = "jú";
	dict[37114] = "yōng";
	dict[37115] = "qiāo";
	dict[37116] = "yī";
	dict[37117] = "dū,dōu";
	dict[37118] = "yǎn";
	dict[37119] = "méi";
	dict[37120] = "ruò";
	dict[37121] = "bèi";
	dict[37122] = "è";
	dict[37123] = "shū";
	dict[37124] = "juàn";
	dict[37125] = "yǔ";
	dict[37126] = "yùn";
	dict[37127] = "hóu";
	dict[37128] = "kuí";
	dict[37129] = "xiāng";
	dict[37130] = "xiāng";
	dict[37131] = "sōu";
	dict[37132] = "táng";
	dict[37133] = "míng";
	dict[37134] = "xī";
	dict[37135] = "rǔ";
	dict[37136] = "chù";
	dict[37137] = "zī";
	dict[37138] = "zōu";
	dict[37139] = "yì";
	dict[37140] = "wū";
	dict[37141] = "xiāng";
	dict[37142] = "yún";
	dict[37143] = "hào";
	dict[37144] = "yōng";
	dict[37145] = "bǐ";
	dict[37146] = "mào";
	dict[37147] = "cháo";
	dict[37148] = "fū";
	dict[37149] = "liǎo";
	dict[37150] = "yín";
	dict[37151] = "zhuān";
	dict[37152] = "hù";
	dict[37153] = "qiāo";
	dict[37154] = "yān";
	dict[37155] = "zhāng";
	dict[37156] = "màn";
	dict[37157] = "qiāo";
	dict[37158] = "xǔ";
	dict[37159] = "dèng";
	dict[37160] = "bì";
	dict[37161] = "xún";
	dict[37162] = "bì";
	dict[37163] = "zēng";
	dict[37164] = "wéi";
	dict[37165] = "zhèng";
	dict[37166] = "mào";
	dict[37167] = "shàn";
	dict[37168] = "lín";
	dict[37169] = "pó";
	dict[37170] = "dān";
	dict[37171] = "méng";
	dict[37172] = "yè";
	dict[37173] = "cào";
	dict[37174] = "kuài";
	dict[37175] = "fēng";
	dict[37176] = "méng";
	dict[37177] = "zōu";
	dict[37178] = "kuàng";
	dict[37179] = "liǎn";
	dict[37180] = "zàn";
	dict[37181] = "chán";
	dict[37182] = "yōu";
	dict[37183] = "qí";
	dict[37184] = "yàn";
	dict[37185] = "chán";
	dict[37186] = "cuó,zàn";
	dict[37187] = "líng";
	dict[37188] = "huān";
	dict[37189] = "xī";
	dict[37190] = "fēng";
	dict[37191] = "cuó,zàn";
	dict[37192] = "lì";
	dict[37193] = "yǒu";
	dict[37194] = "dīng,dǐng";
	dict[37195] = "qiú";
	dict[37196] = "zhuó";
	dict[37197] = "pèi";
	dict[37198] = "zhòu";
	dict[37199] = "yǐ";
	dict[37200] = "gān";
	dict[37201] = "yú";
	dict[37202] = "jiǔ";
	dict[37203] = "yǎn";
	dict[37204] = "zuì";
	dict[37205] = "máo";
	dict[37206] = "dān";
	dict[37207] = "xù";
	dict[37208] = "dòu";
	dict[37209] = "zhēn";
	dict[37210] = "fēn";
	dict[37211] = "yuán";
	dict[37212] = "fū";
	dict[37213] = "yùn";
	dict[37214] = "tài";
	dict[37215] = "tiān";
	dict[37216] = "qiǎ";
	dict[37217] = "tuó";
	dict[37218] = "zuò";
	dict[37219] = "hān";
	dict[37220] = "gū";
	dict[37221] = "sū";
	dict[37222] = "pō";
	dict[37223] = "chóu";
	dict[37224] = "zài";
	dict[37225] = "mǐng";
	dict[37226] = "lào";
	dict[37227] = "chuò";
	dict[37228] = "chóu";
	dict[37229] = "yòu";
	dict[37230] = "tóng";
	dict[37231] = "zhǐ";
	dict[37232] = "xiān";
	dict[37233] = "jiàng";
	dict[37234] = "chéng";
	dict[37235] = "yìn";
	dict[37236] = "tú";
	dict[37237] = "jiào";
	dict[37238] = "méi";
	dict[37239] = "kù";
	dict[37240] = "suān";
	dict[37241] = "lèi";
	dict[37242] = "pú";
	dict[37243] = "zuì";
	dict[37244] = "hǎi";
	dict[37245] = "yàn";
	dict[37246] = "shī";
	dict[37247] = "niàng";
	dict[37248] = "wéi";
	dict[37249] = "lù";
	dict[37250] = "lǎn";
	dict[37251] = "yān";
	dict[37252] = "táo";
	dict[37253] = "pēi";
	dict[37254] = "zhǎn";
	dict[37255] = "chún";
	dict[37256] = "tán,dàn";
	dict[37257] = "zuì";
	dict[37258] = "zhuì";
	dict[37259] = "cù";
	dict[37260] = "kūn";
	dict[37261] = "tí,tǐ";
	dict[37262] = "xián";
	dict[37263] = "dū";
	dict[37264] = "hú";
	dict[37265] = "xǔ";
	dict[37266] = "xǐng";
	dict[37267] = "tǎn";
	dict[37268] = "qiú,chōu";
	dict[37269] = "chún";
	dict[37270] = "yùn";
	dict[37271] = "pō,fā";
	dict[37272] = "kē";
	dict[37273] = "sōu";
	dict[37274] = "mí";
	dict[37275] = "quán";
	dict[37276] = "chǒu";
	dict[37277] = "cuō";
	dict[37278] = "yùn";
	dict[37279] = "yòng";
	dict[37280] = "àng";
	dict[37281] = "zhà";
	dict[37282] = "hǎi";
	dict[37283] = "táng";
	dict[37284] = "jiàng";
	dict[37285] = "piǎo";
	dict[37286] = "chǎn,chěn";
	dict[37287] = "yù";
	dict[37288] = "lí";
	dict[37289] = "zāo";
	dict[37290] = "láo";
	dict[37291] = "yī";
	dict[37292] = "jiàng";
	dict[37293] = "bú";
	dict[37294] = "jiào";
	dict[37295] = "xī";
	dict[37296] = "tán";
	dict[37297] = "pō,fā";
	dict[37298] = "nóng";
	dict[37299] = "yì,shì";
	dict[37300] = "lǐ";
	dict[37301] = "jù";
	dict[37302] = "yàn,liǎn,xiān";
	dict[37303] = "yì";
	dict[37304] = "niàng";
	dict[37305] = "rú";
	dict[37306] = "xūn";
	dict[37307] = "chóu";
	dict[37308] = "yàn";
	dict[37309] = "líng";
	dict[37310] = "mí";
	dict[37311] = "mí";
	dict[37312] = "niàng,niáng";
	dict[37313] = "xìn";
	dict[37314] = "jiào";
	dict[37315] = "shī";
	dict[37316] = "mí";
	dict[37317] = "yàn";
	dict[37318] = "biàn";
	dict[37319] = "cǎi,cài";
	dict[37320] = "shì";
	dict[37321] = "yòu";
	dict[37322] = "shì";
	dict[37323] = "shì";
	dict[37324] = "lǐ";
	dict[37325] = "zhòng,chóng";
	dict[37326] = "yě";
	dict[37327] = "liáng,liàng";
	dict[37328] = "lí,xǐ,xī";
	dict[37329] = "jīn";
	dict[37330] = "jīn";
	dict[37331] = "gá";
	dict[37332] = "yǐ";
	dict[37333] = "liǎo,liào";
	dict[37334] = "dāo";
	dict[37335] = "zhāo";
	dict[37336] = "dīng,dìng";
	dict[37337] = "pō";
	dict[37338] = "qiú";
	dict[37339] = "hé";
	dict[37340] = "fǔ";
	dict[37341] = "zhēn";
	dict[37342] = "zhí";
	dict[37343] = "bā";
	dict[37344] = "luàn";
	dict[37345] = "fǔ";
	dict[37346] = "nǎi";
	dict[37347] = "diào";
	dict[37348] = "shān,shàn";
	dict[37349] = "qiǎo,jiǎo";
	dict[37350] = "kòu";
	dict[37351] = "chuàn";
	dict[37352] = "zǐ";
	dict[37353] = "fán";
	dict[37354] = "huá,yú";
	dict[37355] = "huá,wū";
	dict[37356] = "hàn";
	dict[37357] = "gāng";
	dict[37358] = "qí";
	dict[37359] = "máng";
	dict[37360] = "rì,rèn,jiàn";
	dict[37361] = "dì,dài";
	dict[37362] = "sì";
	dict[37363] = "xì";
	dict[37364] = "yì";
	dict[37365] = "chāi";
	dict[37366] = "shī,yí";
	dict[37367] = "tǔ";
	dict[37368] = "xī";
	dict[37369] = "nǚ";
	dict[37370] = "qiān";
	dict[37371] = "qiú";
	dict[37372] = "rì,rèn,jiàn";
	dict[37373] = "pī,zhāo";
	dict[37374] = "yé,yá";
	dict[37375] = "jīn";
	dict[37376] = "bǎ";
	dict[37377] = "fāng";
	dict[37378] = "chén";
	dict[37379] = "xíng";
	dict[37380] = "dǒu";
	dict[37381] = "yuè";
	dict[37382] = "qiān";
	dict[37383] = "fū";
	dict[37384] = "bù";
	dict[37385] = "nà";
	dict[37386] = "xīn";
	dict[37387] = "é";
	dict[37388] = "jué";
	dict[37389] = "dùn";
	dict[37390] = "gōu";
	dict[37391] = "yǐn";
	dict[37392] = "qián";
	dict[37393] = "bǎn";
	dict[37394] = "sà";
	dict[37395] = "rèn";
	dict[37396] = "chāo";
	dict[37397] = "niǔ";
	dict[37398] = "fēn";
	dict[37399] = "yǔn";
	dict[37400] = "yǐ";
	dict[37401] = "qín";
	dict[37402] = "pī";
	dict[37403] = "guō";
	dict[37404] = "hóng";
	dict[37405] = "yín";
	dict[37406] = "jūn";
	dict[37407] = "diào";
	dict[37408] = "yì";
	dict[37409] = "zhōng";
	dict[37410] = "xǐ";
	dict[37411] = "gài";
	dict[37412] = "rì";
	dict[37413] = "huǒ";
	dict[37414] = "tài";
	dict[37415] = "kàng";
	dict[37416] = "yuán";
	dict[37417] = "lú";
	dict[37418] = "è";
	dict[37419] = "qín";
	dict[37420] = "duó";
	dict[37421] = "zī";
	dict[37422] = "ní";
	dict[37423] = "tú";
	dict[37424] = "shì";
	dict[37425] = "mín";
	dict[37426] = "gū";
	dict[37427] = "kē";
	dict[37428] = "líng";
	dict[37429] = "bǐng";
	dict[37430] = "sì";
	dict[37431] = "gǔ";
	dict[37432] = "bó";
	dict[37433] = "pí";
	dict[37434] = "yù";
	dict[37435] = "sì";
	dict[37436] = "zuó";
	dict[37437] = "bū";
	dict[37438] = "yóu";
	dict[37439] = "diàn";
	dict[37440] = "jiǎ";
	dict[37441] = "zhēn";
	dict[37442] = "shǐ";
	dict[37443] = "shì";
	dict[37444] = "tiě";
	dict[37445] = "jù";
	dict[37446] = "zuān";
	dict[37447] = "shī";
	dict[37448] = "tā,tuó";
	dict[37449] = "xuàn";
	dict[37450] = "zhāo";
	dict[37451] = "bào,páo";
	dict[37452] = "hé";
	dict[37453] = "bì";
	dict[37454] = "shēng";
	dict[37455] = "chú";
	dict[37456] = "shí";
	dict[37457] = "bó";
	dict[37458] = "zhù";
	dict[37459] = "chì";
	dict[37460] = "zā";
	dict[37461] = "pǒ";
	dict[37462] = "tóng";
	dict[37463] = "qián";
	dict[37464] = "fú";
	dict[37465] = "zhǎi";
	dict[37466] = "mǎo";
	dict[37467] = "qiān";
	dict[37468] = "fú";
	dict[37469] = "lì";
	dict[37470] = "yuè";
	dict[37471] = "pī";
	dict[37472] = "yāng";
	dict[37473] = "bàn";
	dict[37474] = "bō";
	dict[37475] = "jié";
	dict[37476] = "gōu";
	dict[37477] = "shù";
	dict[37478] = "zhēng";
	dict[37479] = "mǔ";
	dict[37480] = "xǐ";
	dict[37481] = "xǐ";
	dict[37482] = "dì";
	dict[37483] = "jiā";
	dict[37484] = "mù";
	dict[37485] = "tǎn";
	dict[37486] = "shén";
	dict[37487] = "yǐ";
	dict[37488] = "sī";
	dict[37489] = "kuàng";
	dict[37490] = "kǎ";
	dict[37491] = "běi";
	dict[37492] = "jiàn";
	dict[37493] = "tóng";
	dict[37494] = "xíng";
	dict[37495] = "hóng";
	dict[37496] = "jiǎo";
	dict[37497] = "chǐ";
	dict[37498] = "ěr";
	dict[37499] = "gè";
	dict[37500] = "bǐng,píng";
	dict[37501] = "shì";
	dict[37502] = "máo";
	dict[37503] = "hā,kē";
	dict[37504] = "yín";
	dict[37505] = "jūn";
	dict[37506] = "zhōu";
	dict[37507] = "chòng";
	dict[37508] = "xiǎng,jiōng";
	dict[37509] = "tóng";
	dict[37510] = "mò";
	dict[37511] = "lèi";
	dict[37512] = "jī";
	dict[37513] = "yù,sì";
	dict[37514] = "xù,huì";
	dict[37515] = "rén,rěn";
	dict[37516] = "zùn";
	dict[37517] = "zhì";
	dict[37518] = "qióng";
	dict[37519] = "shàn,shuò";
	dict[37520] = "chì,lì";
	dict[37521] = "xiǎn,xǐ";
	dict[37522] = "xíng";
	dict[37523] = "quán";
	dict[37524] = "pī";
	dict[37525] = "tiě";
	dict[37526] = "zhū";
	dict[37527] = "hóu,xiàng";
	dict[37528] = "míng";
	dict[37529] = "kuǎ";
	dict[37530] = "diào,tiáo,yáo";
	dict[37531] = "xiān,kuò,tiǎn,guā";
	dict[37532] = "xián";
	dict[37533] = "xiū";
	dict[37534] = "jūn";
	dict[37535] = "chā";
	dict[37536] = "lǎo";
	dict[37537] = "jí";
	dict[37538] = "pǐ";
	dict[37539] = "rú";
	dict[37540] = "mǐ";
	dict[37541] = "yī";
	dict[37542] = "yīn";
	dict[37543] = "guāng";
	dict[37544] = "ǎn";
	dict[37545] = "diū";
	dict[37546] = "yǒu";
	dict[37547] = "sè";
	dict[37548] = "kào";
	dict[37549] = "qián";
	dict[37550] = "luán";
	dict[37551] = "sī";
	dict[37552] = "āi";
	dict[37553] = "diào";
	dict[37554] = "hàn";
	dict[37555] = "ruì";
	dict[37556] = "shì,zhì";
	dict[37557] = "kēng";
	dict[37558] = "qiú";
	dict[37559] = "xiāo";
	dict[37560] = "zhé,niè";
	dict[37561] = "xiù";
	dict[37562] = "zàng";
	dict[37563] = "tī";
	dict[37564] = "cuò";
	dict[37565] = "xiān,kuò,tiǎn,guā";
	dict[37566] = "hòng,gǒng";
	dict[37567] = "zhōng,yōng";
	dict[37568] = "tōu,tù,dòu";
	dict[37569] = "lǚ";
	dict[37570] = "méi,méng";
	dict[37571] = "láng";
	dict[37572] = "wàn,jiǎn";
	dict[37573] = "xīn";
	dict[37574] = "yún";
	dict[37575] = "bèi";
	dict[37576] = "wù";
	dict[37577] = "sù";
	dict[37578] = "yù";
	dict[37579] = "chán";
	dict[37580] = "tǐng,dìng";
	dict[37581] = "bó";
	dict[37582] = "hàn";
	dict[37583] = "jiá";
	dict[37584] = "hóng";
	dict[37585] = "juān,jiān,cuān";
	dict[37586] = "fēng";
	dict[37587] = "chān";
	dict[37588] = "wǎn";
	dict[37589] = "zhì";
	dict[37590] = "sī,tuó";
	dict[37591] = "xuān,juān,juàn";
	dict[37592] = "huá,wú,wū";
	dict[37593] = "wú";
	dict[37594] = "tiáo";
	dict[37595] = "kuàng";
	dict[37596] = "zhuó,chuò";
	dict[37597] = "lüè";
	dict[37598] = "xíng,xìng,jīng";
	dict[37599] = "qǐn";
	dict[37600] = "shèn";
	dict[37601] = "hán";
	dict[37602] = "lüè";
	dict[37603] = "yé";
	dict[37604] = "chú";
	dict[37605] = "zèng";
	dict[37606] = "jū,jú";
	dict[37607] = "xiàn";
	dict[37608] = "é";
	dict[37609] = "máng";
	dict[37610] = "pū,pù";
	dict[37611] = "lí";
	dict[37612] = "pàn";
	dict[37613] = "ruì";
	dict[37614] = "chéng";
	dict[37615] = "gào";
	dict[37616] = "lǐ";
	dict[37617] = "tè";
	dict[37618] = "bīng";
	dict[37619] = "zhù";
	dict[37620] = "zhèn";
	dict[37621] = "tū";
	dict[37622] = "liǔ";
	dict[37623] = "zuì,niè";
	dict[37624] = "jù,jū";
	dict[37625] = "chǎng";
	dict[37626] = "yuǎn,yuān,wǎn,wān";
	dict[37627] = "jiān,jiàn";
	dict[37628] = "gāng,gàng";
	dict[37629] = "diào";
	dict[37630] = "táo";
	dict[37631] = "shǎng";
	dict[37632] = "lún";
	dict[37633] = "kè";
	dict[37634] = "líng";
	dict[37635] = "pī";
	dict[37636] = "lù";
	dict[37637] = "lí";
	dict[37638] = "qīng";
	dict[37639] = "péi";
	dict[37640] = "juǎn";
	dict[37641] = "mín";
	dict[37642] = "zuì";
	dict[37643] = "péng";
	dict[37644] = "àn";
	dict[37645] = "pī";
	dict[37646] = "xiàn";
	dict[37647] = "yā";
	dict[37648] = "zhuī";
	dict[37649] = "lèi";
	dict[37650] = "ā";
	dict[37651] = "kōng";
	dict[37652] = "tà";
	dict[37653] = "kūn";
	dict[37654] = "dú";
	dict[37655] = "nèi";
	dict[37656] = "chuí";
	dict[37657] = "zī";
	dict[37658] = "zhēng";
	dict[37659] = "bēn";
	dict[37660] = "niè";
	dict[37661] = "cóng";
	dict[37662] = "chún";
	dict[37663] = "tán";
	dict[37664] = "dìng";
	dict[37665] = "qí";
	dict[37666] = "qián";
	dict[37667] = "zhuì";
	dict[37668] = "jī";
	dict[37669] = "yù";
	dict[37670] = "jǐn";
	dict[37671] = "guǎn";
	dict[37672] = "máo";
	dict[37673] = "chāng";
	dict[37674] = "tiǎn";
	dict[37675] = "xī";
	dict[37676] = "liàn";
	dict[37677] = "diāo";
	dict[37678] = "gù";
	dict[37679] = "cuò";
	dict[37680] = "shù";
	dict[37681] = "zhēn";
	dict[37682] = "lù";
	dict[37683] = "měng";
	dict[37684] = "lù";
	dict[37685] = "huā";
	dict[37686] = "biǎo";
	dict[37687] = "gá";
	dict[37688] = "lái";
	dict[37689] = "kěn";
	dict[37690] = "fāng";
	dict[37691] = "bū";
	dict[37692] = "nài";
	dict[37693] = "wàn";
	dict[37694] = "zàn";
	dict[37695] = "hǔ";
	dict[37696] = "dé";
	dict[37697] = "xiān";
	dict[37698] = "piān";
	dict[37699] = "huò";
	dict[37700] = "liàng";
	dict[37701] = "fǎ";
	dict[37702] = "mén";
	dict[37703] = "kǎi";
	dict[37704] = "yāng";
	dict[37705] = "chí";
	dict[37706] = "liàn";
	dict[37707] = "guō";
	dict[37708] = "xiǎn";
	dict[37709] = "dù";
	dict[37710] = "tú";
	dict[37711] = "wéi";
	dict[37712] = "zōng";
	dict[37713] = "fù";
	dict[37714] = "róu";
	dict[37715] = "jí";
	dict[37716] = "è";
	dict[37717] = "jūn";
	dict[37718] = "chěn";
	dict[37719] = "tí";
	dict[37720] = "zhá";
	dict[37721] = "hù";
	dict[37722] = "yáng";
	dict[37723] = "duàn";
	dict[37724] = "xiá";
	dict[37725] = "yú";
	dict[37726] = "kēng";
	dict[37727] = "shēng";
	dict[37728] = "huáng";
	dict[37729] = "wěi";
	dict[37730] = "fù";
	dict[37731] = "zhāo";
	dict[37732] = "chā";
	dict[37733] = "qiè";
	dict[37734] = "shī";
	dict[37735] = "hōng";
	dict[37736] = "kuí";
	dict[37737] = "nuò";
	dict[37738] = "móu";
	dict[37739] = "qiāo";
	dict[37740] = "qiāo";
	dict[37741] = "hóu";
	dict[37742] = "tōu";
	dict[37743] = "cōng";
	dict[37744] = "huán";
	dict[37745] = "yè";
	dict[37746] = "mín";
	dict[37747] = "jiàn";
	dict[37748] = "duān";
	dict[37749] = "jiàn";
	dict[37750] = "sī";
	dict[37751] = "kuí";
	dict[37752] = "hú";
	dict[37753] = "xuān";
	dict[37754] = "zhě";
	dict[37755] = "jié";
	dict[37756] = "zhēn";
	dict[37757] = "biān";
	dict[37758] = "zhōng";
	dict[37759] = "zī";
	dict[37760] = "xiū";
	dict[37761] = "yé";
	dict[37762] = "měi";
	dict[37763] = "pài";
	dict[37764] = "āi";
	dict[37765] = "jiè";
	dict[37766] = "qián";
	dict[37767] = "méi";
	dict[37768] = "cuō,chā";
	dict[37769] = "dā,tà";
	dict[37770] = "bàng";
	dict[37771] = "xiá";
	dict[37772] = "lián";
	dict[37773] = "suǒ,sè";
	dict[37774] = "kài";
	dict[37775] = "liú";
	dict[37776] = "yáo,zú";
	dict[37777] = "yè,tà,gé";
	dict[37778] = "nòu";
	dict[37779] = "wēng";
	dict[37780] = "róng";
	dict[37781] = "táng";
	dict[37782] = "suǒ";
	dict[37783] = "qiāng,chēng";
	dict[37784] = "gé,lì";
	dict[37785] = "shuò";
	dict[37786] = "chuí";
	dict[37787] = "bó";
	dict[37788] = "pán";
	dict[37789] = "dā";
	dict[37790] = "bī,bì,pī";
	dict[37791] = "sǎng";
	dict[37792] = "gāng";
	dict[37793] = "zī";
	dict[37794] = "wū";
	dict[37795] = "yíng";
	dict[37796] = "huàng";
	dict[37797] = "tiáo";
	dict[37798] = "liú,liù";
	dict[37799] = "kǎi";
	dict[37800] = "sǔn";
	dict[37801] = "shā";
	dict[37802] = "sōu";
	dict[37803] = "wàn,jiǎn";
	dict[37804] = "gǎo,hào";
	dict[37805] = "zhèn";
	dict[37806] = "zhèn";
	dict[37807] = "láng";
	dict[37808] = "yì";
	dict[37809] = "yuán";
	dict[37810] = "tǎng";
	dict[37811] = "niè";
	dict[37812] = "xí";
	dict[37813] = "jiā";
	dict[37814] = "gē";
	dict[37815] = "mǎ";
	dict[37816] = "juān";
	dict[37817] = "sòng";
	dict[37818] = "zǔ";
	dict[37819] = "suǒ";
	dict[37820] = "xià";
	dict[37821] = "fēng";
	dict[37822] = "wēn";
	dict[37823] = "ná";
	dict[37824] = "lǔ";
	dict[37825] = "suǒ";
	dict[37826] = "ōu";
	dict[37827] = "zú,chuò";
	dict[37828] = "tuán";
	dict[37829] = "xiū,xiù";
	dict[37830] = "guàn";
	dict[37831] = "xuàn";
	dict[37832] = "liàn";
	dict[37833] = "shòu,sōu";
	dict[37834] = "ào";
	dict[37835] = "mǎn";
	dict[37836] = "mò";
	dict[37837] = "luó";
	dict[37838] = "bì";
	dict[37839] = "wèi";
	dict[37840] = "liú";
	dict[37841] = "dí,dī";
	dict[37842] = "sǎn,qiāo,càn";
	dict[37843] = "cōng";
	dict[37844] = "yí";
	dict[37845] = "lù,áo";
	dict[37846] = "áo";
	dict[37847] = "kēng";
	dict[37848] = "qiāng";
	dict[37849] = "cuī";
	dict[37850] = "qī";
	dict[37851] = "shǎng";
	dict[37852] = "tāng,táng";
	dict[37853] = "màn";
	dict[37854] = "yōng";
	dict[37855] = "chǎn";
	dict[37856] = "fēng";
	dict[37857] = "jìng";
	dict[37858] = "biāo";
	dict[37859] = "shù";
	dict[37860] = "lòu";
	dict[37861] = "xiù";
	dict[37862] = "cōng";
	dict[37863] = "lóng";
	dict[37864] = "zàn";
	dict[37865] = "jiàn,zàn";
	dict[37866] = "cáo";
	dict[37867] = "lí";
	dict[37868] = "xià";
	dict[37869] = "xī";
	dict[37870] = "kāng";
	dict[37871] = "shuǎng";
	dict[37872] = "bèng";
	dict[37873] = "zhāng";
	dict[37874] = "qiān";
	dict[37875] = "zhēng";
	dict[37876] = "lù";
	dict[37877] = "huá";
	dict[37878] = "jí";
	dict[37879] = "pú";
	dict[37880] = "huì,suì,ruì";
	dict[37881] = "qiǎng,qiāng";
	dict[37882] = "pō";
	dict[37883] = "lín";
	dict[37884] = "sè";
	dict[37885] = "xiù";
	dict[37886] = "sǎn,xiàn,sà";
	dict[37887] = "chēng";
	dict[37888] = "guì";
	dict[37889] = "sī";
	dict[37890] = "liú";
	dict[37891] = "náo";
	dict[37892] = "huáng";
	dict[37893] = "piě";
	dict[37894] = "suì";
	dict[37895] = "fán";
	dict[37896] = "qiáo";
	dict[37897] = "quān";
	dict[37898] = "xī";
	dict[37899] = "tàng";
	dict[37900] = "xiàng";
	dict[37901] = "jué";
	dict[37902] = "jiāo";
	dict[37903] = "zūn";
	dict[37904] = "liào";
	dict[37905] = "qì";
	dict[37906] = "láo";
	dict[37907] = "duī";
	dict[37908] = "xín";
	dict[37909] = "zān";
	dict[37910] = "jī";
	dict[37911] = "jiǎn";
	dict[37912] = "zhōng";
	dict[37913] = "dèng";
	dict[37914] = "yā";
	dict[37915] = "yǐng";
	dict[37916] = "duī";
	dict[37917] = "jué";
	dict[37918] = "nòu";
	dict[37919] = "zān";
	dict[37920] = "pǔ";
	dict[37921] = "tiě";
	dict[37922] = "fán";
	dict[37923] = "chēng";
	dict[37924] = "dǐng";
	dict[37925] = "shàn";
	dict[37926] = "kāi";
	dict[37927] = "jiǎn";
	dict[37928] = "fèi";
	dict[37929] = "suì";
	dict[37930] = "lǔ";
	dict[37931] = "juān";
	dict[37932] = "huì";
	dict[37933] = "yù";
	dict[37934] = "lián";
	dict[37935] = "zhuō";
	dict[37936] = "qiāo";
	dict[37937] = "jiàn";
	dict[37938] = "zhuó";
	dict[37939] = "léi";
	dict[37940] = "bì";
	dict[37941] = "tiě";
	dict[37942] = "huán";
	dict[37943] = "yè";
	dict[37944] = "duó";
	dict[37945] = "guò";
	dict[37946] = "dāng,chēng";
	dict[37947] = "jù";
	dict[37948] = "fén";
	dict[37949] = "dá";
	dict[37950] = "bèi";
	dict[37951] = "yì";
	dict[37952] = "ài";
	dict[37953] = "zōng";
	dict[37954] = "xùn";
	dict[37955] = "diào";
	dict[37956] = "zhù";
	dict[37957] = "héng";
	dict[37958] = "zhuì";
	dict[37959] = "jī";
	dict[37960] = "niè";
	dict[37961] = "hé";
	dict[37962] = "huò";
	dict[37963] = "qīng";
	dict[37964] = "bīn";
	dict[37965] = "yīng";
	dict[37966] = "guì";
	dict[37967] = "níng";
	dict[37968] = "xū";
	dict[37969] = "jiàn";
	dict[37970] = "jiàn";
	dict[37971] = "qiǎn";
	dict[37972] = "chǎ";
	dict[37973] = "zhì";
	dict[37974] = "miè";
	dict[37975] = "lí";
	dict[37976] = "léi";
	dict[37977] = "jī";
	dict[37978] = "zuān";
	dict[37979] = "kuàng";
	dict[37980] = "shǎng";
	dict[37981] = "péng";
	dict[37982] = "là";
	dict[37983] = "dú";
	dict[37984] = "shuò";
	dict[37985] = "chuò";
	dict[37986] = "lǜ";
	dict[37987] = "biāo";
	dict[37988] = "bào";
	dict[37989] = "lǔ";
	dict[37990] = "xián";
	dict[37991] = "kuān";
	dict[37992] = "lóng";
	dict[37993] = "è";
	dict[37994] = "lú";
	dict[37995] = "xīn";
	dict[37996] = "jiàn";
	dict[37997] = "lán";
	dict[37998] = "bó";
	dict[37999] = "jiān";
	dict[38e3] = "yuè";
	dict[38001] = "chán";
	dict[38002] = "xiāng";
	dict[38003] = "jiàn";
	dict[38004] = "xī";
	dict[38005] = "guàn";
	dict[38006] = "cáng";
	dict[38007] = "niè";
	dict[38008] = "lěi";
	dict[38009] = "cuān";
	dict[38010] = "qú";
	dict[38011] = "pàn";
	dict[38012] = "luó";
	dict[38013] = "zuān";
	dict[38014] = "luán";
	dict[38015] = "záo";
	dict[38016] = "niè";
	dict[38017] = "jué";
	dict[38018] = "tǎng";
	dict[38019] = "zhú";
	dict[38020] = "làn";
	dict[38021] = "jīn";
	dict[38022] = "gá";
	dict[38023] = "yǐ";
	dict[38024] = "zhēn";
	dict[38025] = "dīng,dìng";
	dict[38026] = "zhāo";
	dict[38027] = "pō";
	dict[38028] = "liǎo,liào";
	dict[38029] = "tǔ";
	dict[38030] = "qiān";
	dict[38031] = "chuàn";
	dict[38032] = "shān,shàn";
	dict[38033] = "sà,xì";
	dict[38034] = "fán";
	dict[38035] = "diào";
	dict[38036] = "mén";
	dict[38037] = "nǚ";
	dict[38038] = "yáng";
	dict[38039] = "chāi";
	dict[38040] = "xíng";
	dict[38041] = "gài";
	dict[38042] = "bù";
	dict[38043] = "tài";
	dict[38044] = "jù";
	dict[38045] = "dùn";
	dict[38046] = "chāo";
	dict[38047] = "zhōng";
	dict[38048] = "nà";
	dict[38049] = "bèi";
	dict[38050] = "gāng,gàng";
	dict[38051] = "bǎn";
	dict[38052] = "qián";
	dict[38053] = "yuè,yào";
	dict[38054] = "qīn";
	dict[38055] = "jūn";
	dict[38056] = "wū";
	dict[38057] = "gōu";
	dict[38058] = "kàng";
	dict[38059] = "fāng";
	dict[38060] = "huǒ";
	dict[38061] = "dǒu";
	dict[38062] = "niǔ";
	dict[38063] = "bǎ,pá";
	dict[38064] = "yù";
	dict[38065] = "qián";
	dict[38066] = "zhēng,zhèng";
	dict[38067] = "qián";
	dict[38068] = "gǔ";
	dict[38069] = "bō";
	dict[38070] = "kē";
	dict[38071] = "pǒ";
	dict[38072] = "bū";
	dict[38073] = "bó";
	dict[38074] = "yuè";
	dict[38075] = "zuān,zuàn";
	dict[38076] = "mù";
	dict[38077] = "tǎn";
	dict[38078] = "jiǎ";
	dict[38079] = "diàn,tián";
	dict[38080] = "yóu";
	dict[38081] = "tiě";
	dict[38082] = "bó";
	dict[38083] = "líng";
	dict[38084] = "shuò";
	dict[38085] = "qiān,yán";
	dict[38086] = "mǎo";
	dict[38087] = "bào,páo";
	dict[38088] = "shì";
	dict[38089] = "xuàn";
	dict[38090] = "tā,tuó";
	dict[38091] = "bì";
	dict[38092] = "ní";
	dict[38093] = "pí,pī";
	dict[38094] = "duó";
	dict[38095] = "xíng";
	dict[38096] = "kào";
	dict[38097] = "lǎo";
	dict[38098] = "ěr";
	dict[38099] = "máng";
	dict[38100] = "yā,yà";
	dict[38101] = "yǒu";
	dict[38102] = "chéng";
	dict[38103] = "jiá";
	dict[38104] = "yé";
	dict[38105] = "náo";
	dict[38106] = "zhì";
	dict[38107] = "dāng,chēng";
	dict[38108] = "tóng";
	dict[38109] = "lǚ";
	dict[38110] = "diào";
	dict[38111] = "yīn";
	dict[38112] = "kǎi";
	dict[38113] = "zhá";
	dict[38114] = "zhū";
	dict[38115] = "xiǎn,xǐ";
	dict[38116] = "tǐng,dìng";
	dict[38117] = "diū";
	dict[38118] = "xiān,kuò,tiǎn,guā";
	dict[38119] = "huá";
	dict[38120] = "quán";
	dict[38121] = "shā";
	dict[38122] = "hā,kē";
	dict[38123] = "diào,tiáo,yáo";
	dict[38124] = "gè";
	dict[38125] = "míng";
	dict[38126] = "zhēng";
	dict[38127] = "sè";
	dict[38128] = "jiǎo";
	dict[38129] = "yī";
	dict[38130] = "chǎn";
	dict[38131] = "chòng";
	dict[38132] = "tàng,tāng";
	dict[38133] = "ǎn";
	dict[38134] = "yín";
	dict[38135] = "rú";
	dict[38136] = "zhù";
	dict[38137] = "láo";
	dict[38138] = "pū,pù";
	dict[38139] = "wú";
	dict[38140] = "lái";
	dict[38141] = "tè";
	dict[38142] = "liàn";
	dict[38143] = "kēng";
	dict[38144] = "xiāo";
	dict[38145] = "suǒ";
	dict[38146] = "lǐ";
	dict[38147] = "zèng";
	dict[38148] = "chú";
	dict[38149] = "guō";
	dict[38150] = "gào";
	dict[38151] = "é";
	dict[38152] = "xiù";
	dict[38153] = "cuò";
	dict[38154] = "lüè";
	dict[38155] = "fēng";
	dict[38156] = "xīn";
	dict[38157] = "liǔ";
	dict[38158] = "kāi";
	dict[38159] = "jiǎn";
	dict[38160] = "ruì";
	dict[38161] = "tī";
	dict[38162] = "láng";
	dict[38163] = "qǐn";
	dict[38164] = "jū";
	dict[38165] = "ā";
	dict[38166] = "qiāng";
	dict[38167] = "zhě";
	dict[38168] = "nuò";
	dict[38169] = "cuò";
	dict[38170] = "máo";
	dict[38171] = "bēn";
	dict[38172] = "qí";
	dict[38173] = "dé";
	dict[38174] = "kè";
	dict[38175] = "kūn";
	dict[38176] = "chāng";
	dict[38177] = "xī";
	dict[38178] = "gù";
	dict[38179] = "luó";
	dict[38180] = "chuí";
	dict[38181] = "zhuī";
	dict[38182] = "jǐn";
	dict[38183] = "zhì";
	dict[38184] = "xiān";
	dict[38185] = "juǎn";
	dict[38186] = "huò";
	dict[38187] = "péi";
	dict[38188] = "tán";
	dict[38189] = "dìng";
	dict[38190] = "jiàn";
	dict[38191] = "jù";
	dict[38192] = "měng";
	dict[38193] = "zī";
	dict[38194] = "qiè";
	dict[38195] = "yīng";
	dict[38196] = "kǎi";
	dict[38197] = "qiāng";
	dict[38198] = "sī";
	dict[38199] = "è";
	dict[38200] = "chā";
	dict[38201] = "qiāo";
	dict[38202] = "zhōng";
	dict[38203] = "duàn";
	dict[38204] = "sōu";
	dict[38205] = "huáng";
	dict[38206] = "huán";
	dict[38207] = "āi";
	dict[38208] = "dù";
	dict[38209] = "měi";
	dict[38210] = "lòu";
	dict[38211] = "zī";
	dict[38212] = "fèi";
	dict[38213] = "méi";
	dict[38214] = "mò";
	dict[38215] = "zhèn";
	dict[38216] = "bó";
	dict[38217] = "gé,lì";
	dict[38218] = "niè";
	dict[38219] = "tǎng";
	dict[38220] = "juān";
	dict[38221] = "niè";
	dict[38222] = "ná";
	dict[38223] = "liú";
	dict[38224] = "gǎo,hào";
	dict[38225] = "bàng";
	dict[38226] = "yì";
	dict[38227] = "jiā";
	dict[38228] = "bīn";
	dict[38229] = "róng";
	dict[38230] = "biāo";
	dict[38231] = "tāng";
	dict[38232] = "màn";
	dict[38233] = "luó";
	dict[38234] = "bèng";
	dict[38235] = "yōng";
	dict[38236] = "jìng";
	dict[38237] = "dí";
	dict[38238] = "zú";
	dict[38239] = "xuàn";
	dict[38240] = "liú";
	dict[38241] = "xín";
	dict[38242] = "jué";
	dict[38243] = "liào";
	dict[38244] = "pú";
	dict[38245] = "lǔ";
	dict[38246] = "duī";
	dict[38247] = "lán";
	dict[38248] = "pǔ";
	dict[38249] = "cuān";
	dict[38250] = "qiǎng";
	dict[38251] = "dèng";
	dict[38252] = "huò";
	dict[38253] = "léi";
	dict[38254] = "huán";
	dict[38255] = "zhuó";
	dict[38256] = "lián";
	dict[38257] = "yì";
	dict[38258] = "chǎ";
	dict[38259] = "biāo";
	dict[38260] = "là";
	dict[38261] = "chán";
	dict[38262] = "xiāng";
	dict[38263] = "cháng,zhǎng";
	dict[38264] = "cháng";
	dict[38265] = "jiǔ";
	dict[38266] = "ǎo";
	dict[38267] = "dié";
	dict[38268] = "jié";
	dict[38269] = "liǎo";
	dict[38270] = "mí";
	dict[38271] = "cháng,zhǎng";
	dict[38272] = "mén";
	dict[38273] = "mà";
	dict[38274] = "shuān";
	dict[38275] = "shǎn";
	dict[38276] = "huò,shǎn";
	dict[38277] = "mén";
	dict[38278] = "yán";
	dict[38279] = "bì";
	dict[38280] = "hàn,bì";
	dict[38281] = "bì";
	dict[38282] = "shān";
	dict[38283] = "kāi";
	dict[38284] = "kāng,kàng";
	dict[38285] = "bēng";
	dict[38286] = "hóng";
	dict[38287] = "rùn";
	dict[38288] = "sàn";
	dict[38289] = "xián";
	dict[38290] = "xián,jiān,jiàn";
	dict[38291] = "jiān,jiàn";
	dict[38292] = "mǐn";
	dict[38293] = "xiā,xiǎ";
	dict[38294] = "shuǐ";
	dict[38295] = "dòu";
	dict[38296] = "zhá";
	dict[38297] = "nào";
	dict[38298] = "zhān";
	dict[38299] = "pēng,pèng";
	dict[38300] = "xiǎ,kě";
	dict[38301] = "líng";
	dict[38302] = "biàn,guān";
	dict[38303] = "bì";
	dict[38304] = "rùn";
	dict[38305] = "hé";
	dict[38306] = "guān";
	dict[38307] = "gé";
	dict[38308] = "hé,gé";
	dict[38309] = "fá";
	dict[38310] = "chù";
	dict[38311] = "hòng,xiàng";
	dict[38312] = "guī";
	dict[38313] = "mǐn";
	dict[38314] = "sē,xī";
	dict[38315] = "kǔn";
	dict[38316] = "làng";
	dict[38317] = "lǘ";
	dict[38318] = "tíng,tǐng";
	dict[38319] = "shà";
	dict[38320] = "jú";
	dict[38321] = "yuè";
	dict[38322] = "yuè";
	dict[38323] = "chǎn";
	dict[38324] = "qù";
	dict[38325] = "lìn";
	dict[38326] = "chāng";
	dict[38327] = "shā";
	dict[38328] = "kǔn";
	dict[38329] = "yān";
	dict[38330] = "wén";
	dict[38331] = "yán";
	dict[38332] = "è,yān";
	dict[38333] = "hūn";
	dict[38334] = "yù";
	dict[38335] = "wén";
	dict[38336] = "hòng";
	dict[38337] = "bāo";
	dict[38338] = "hòng,juǎn,xiàng";
	dict[38339] = "qù";
	dict[38340] = "yǎo";
	dict[38341] = "wén";
	dict[38342] = "bǎn,pàn";
	dict[38343] = "àn";
	dict[38344] = "wéi";
	dict[38345] = "yīn";
	dict[38346] = "kuò";
	dict[38347] = "què";
	dict[38348] = "lán";
	dict[38349] = "dū,shé";
	dict[38350] = "quán";
	dict[38352] = "tián";
	dict[38353] = "niè";
	dict[38354] = "tà";
	dict[38355] = "kǎi";
	dict[38356] = "hé";
	dict[38357] = "què,quē";
	dict[38358] = "chuǎng";
	dict[38359] = "guān";
	dict[38360] = "dòu";
	dict[38361] = "qǐ";
	dict[38362] = "kuī";
	dict[38363] = "táng,tāng,chāng";
	dict[38364] = "guān";
	dict[38365] = "piáo";
	dict[38366] = "kàn,hǎn";
	dict[38367] = "xì,sè,tà";
	dict[38368] = "huì";
	dict[38369] = "chǎn";
	dict[38370] = "pì";
	dict[38371] = "dāng,dàng";
	dict[38372] = "huán";
	dict[38373] = "tà";
	dict[38374] = "wén";
	dict[38375] = "tā";
	dict[38376] = "mén";
	dict[38377] = "shuān";
	dict[38378] = "shǎn";
	dict[38379] = "yán";
	dict[38380] = "hàn,bì";
	dict[38381] = "bì";
	dict[38382] = "wèn";
	dict[38383] = "chuǎng";
	dict[38384] = "rùn";
	dict[38385] = "wéi";
	dict[38386] = "xián";
	dict[38387] = "hóng";
	dict[38388] = "jiān,jiàn";
	dict[38389] = "mǐn";
	dict[38390] = "kàng,kāng";
	dict[38391] = "mèn,mēn";
	dict[38392] = "zhá";
	dict[38393] = "nào";
	dict[38394] = "guī";
	dict[38395] = "wén";
	dict[38396] = "tà";
	dict[38397] = "mǐn";
	dict[38398] = "lǘ";
	dict[38399] = "kǎi";
	dict[38400] = "fá";
	dict[38401] = "gé";
	dict[38402] = "hé";
	dict[38403] = "kǔn";
	dict[38404] = "jiū";
	dict[38405] = "yuè";
	dict[38406] = "làng";
	dict[38407] = "dū,shé";
	dict[38408] = "yù";
	dict[38409] = "yān";
	dict[38410] = "chāng";
	dict[38411] = "xì";
	dict[38412] = "wén";
	dict[38413] = "hūn";
	dict[38414] = "yán";
	dict[38415] = "è";
	dict[38416] = "chǎn";
	dict[38417] = "lán";
	dict[38418] = "qù";
	dict[38419] = "huì";
	dict[38420] = "kuò";
	dict[38421] = "què";
	dict[38422] = "hé";
	dict[38423] = "tián";
	dict[38424] = "tà";
	dict[38425] = "quē,què";
	dict[38426] = "kàn";
	dict[38427] = "huán";
	dict[38428] = "fù";
	dict[38429] = "fǔ";
	dict[38430] = "lè";
	dict[38431] = "duì";
	dict[38432] = "xìn";
	dict[38433] = "qiān";
	dict[38434] = "wù";
	dict[38435] = "yì";
	dict[38436] = "tuó";
	dict[38437] = "yīn";
	dict[38438] = "yáng";
	dict[38439] = "dǒu";
	dict[38440] = "è";
	dict[38441] = "shēng";
	dict[38442] = "bǎn";
	dict[38443] = "péi";
	dict[38444] = "kēng";
	dict[38445] = "yǔn";
	dict[38446] = "ruǎn";
	dict[38447] = "zhǐ";
	dict[38448] = "pí";
	dict[38449] = "jǐng";
	dict[38450] = "fáng";
	dict[38451] = "yáng";
	dict[38452] = "yīn";
	dict[38453] = "zhèn";
	dict[38454] = "jiē";
	dict[38455] = "chēng";
	dict[38456] = "è";
	dict[38457] = "qū";
	dict[38458] = "dǐ";
	dict[38459] = "zǔ";
	dict[38460] = "zuò";
	dict[38461] = "diàn";
	dict[38462] = "lín";
	dict[38463] = "ā,ē";
	dict[38464] = "tuó";
	dict[38465] = "tuó";
	dict[38466] = "bēi,pí,pō";
	dict[38467] = "bǐng";
	dict[38468] = "fù";
	dict[38469] = "jì";
	dict[38470] = "lù";
	dict[38471] = "lǒng";
	dict[38472] = "chén";
	dict[38473] = "xíng";
	dict[38474] = "duò";
	dict[38475] = "lòu";
	dict[38476] = "mò";
	dict[38477] = "jiàng,xiáng";
	dict[38478] = "shū";
	dict[38479] = "duò";
	dict[38480] = "xiàn";
	dict[38481] = "ér";
	dict[38482] = "guǐ";
	dict[38483] = "yū";
	dict[38484] = "gāi";
	dict[38485] = "shǎn";
	dict[38486] = "jùn";
	dict[38487] = "qiào";
	dict[38488] = "xíng";
	dict[38489] = "chún";
	dict[38490] = "wǔ";
	dict[38491] = "bì";
	dict[38492] = "xiá";
	dict[38493] = "shǎn";
	dict[38494] = "shēng";
	dict[38495] = "zhì";
	dict[38496] = "pū";
	dict[38497] = "dǒu";
	dict[38498] = "yuàn";
	dict[38499] = "zhèn";
	dict[38500] = "chú";
	dict[38501] = "xiàn";
	dict[38502] = "dǎo";
	dict[38503] = "niè";
	dict[38504] = "yǔn";
	dict[38505] = "xiǎn";
	dict[38506] = "péi";
	dict[38507] = "fèi";
	dict[38508] = "zōu";
	dict[38509] = "qí";
	dict[38510] = "duì";
	dict[38511] = "lún";
	dict[38512] = "yīn";
	dict[38513] = "jū";
	dict[38514] = "chuí";
	dict[38515] = "chén";
	dict[38516] = "pī";
	dict[38517] = "líng";
	dict[38518] = "táo";
	dict[38519] = "xiàn";
	dict[38520] = "lù";
	dict[38521] = "shēng";
	dict[38522] = "xiǎn";
	dict[38523] = "yīn";
	dict[38524] = "zhǔ";
	dict[38525] = "yáng";
	dict[38526] = "réng";
	dict[38527] = "xiá";
	dict[38528] = "chóng";
	dict[38529] = "yàn,yǎn";
	dict[38530] = "yīn";
	dict[38531] = "yú,yáo,shù";
	dict[38532] = "dī";
	dict[38533] = "yú";
	dict[38534] = "lóng";
	dict[38535] = "wēi";
	dict[38536] = "wēi";
	dict[38537] = "niè";
	dict[38538] = "duì,zhuì";
	dict[38539] = "suí,duò";
	dict[38540] = "àn";
	dict[38541] = "huáng";
	dict[38542] = "jiē";
	dict[38543] = "suí";
	dict[38544] = "yǐn,yìn";
	dict[38545] = "qí,gāi,ái";
	dict[38546] = "yǎn";
	dict[38547] = "huī,duò";
	dict[38548] = "gé";
	dict[38549] = "yǔn";
	dict[38550] = "wù";
	dict[38551] = "wěi,kuí";
	dict[38552] = "ài";
	dict[38553] = "xì";
	dict[38554] = "táng";
	dict[38555] = "jì";
	dict[38556] = "zhàng";
	dict[38557] = "dǎo";
	dict[38558] = "áo";
	dict[38559] = "xì";
	dict[38560] = "yǐn,yìn";
	dict[38561] = "sà";
	dict[38562] = "rǎo";
	dict[38563] = "lín";
	dict[38564] = "tuí";
	dict[38565] = "dèng";
	dict[38566] = "pí";
	dict[38567] = "suì";
	dict[38568] = "suí";
	dict[38569] = "ào,yù";
	dict[38570] = "xiǎn";
	dict[38571] = "fén";
	dict[38572] = "nǐ";
	dict[38573] = "ér";
	dict[38574] = "jī";
	dict[38575] = "dǎo";
	dict[38576] = "xí";
	dict[38577] = "yǐn,yìn";
	dict[38578] = "zhì";
	dict[38579] = "huī,duò";
	dict[38580] = "lǒng";
	dict[38581] = "xī";
	dict[38582] = "lì";
	dict[38583] = "lì";
	dict[38584] = "lì";
	dict[38585] = "zhuī,cuī,wéi";
	dict[38586] = "hú,hè";
	dict[38587] = "zhī";
	dict[38588] = "sǔn";
	dict[38589] = "jùn,juàn";
	dict[38590] = "nán,nàn,nuó";
	dict[38591] = "yì";
	dict[38592] = "què,qiāo,qiǎo";
	dict[38593] = "yàn";
	dict[38594] = "qín";
	dict[38595] = "jiān";
	dict[38596] = "xióng";
	dict[38597] = "yǎ";
	dict[38598] = "jí";
	dict[38599] = "gù";
	dict[38600] = "huán";
	dict[38601] = "zhì";
	dict[38602] = "gòu";
	dict[38603] = "jùn,juàn";
	dict[38604] = "cí";
	dict[38605] = "yōng";
	dict[38606] = "jū";
	dict[38607] = "chú";
	dict[38608] = "hū";
	dict[38609] = "zá";
	dict[38610] = "luò";
	dict[38611] = "yú";
	dict[38612] = "chóu";
	dict[38613] = "diāo";
	dict[38614] = "suī";
	dict[38615] = "hàn";
	dict[38616] = "huò";
	dict[38617] = "shuāng";
	dict[38618] = "guàn,huán";
	dict[38619] = "chú";
	dict[38620] = "zá";
	dict[38621] = "yōng";
	dict[38622] = "jī";
	dict[38623] = "guī,xī";
	dict[38624] = "chóu";
	dict[38625] = "liù";
	dict[38626] = "lí";
	dict[38627] = "nán,nàn,nuó";
	dict[38628] = "yù";
	dict[38629] = "zá";
	dict[38630] = "chóu";
	dict[38631] = "jí";
	dict[38632] = "yǔ,yù";
	dict[38633] = "yú";
	dict[38634] = "xuě";
	dict[38635] = "nǎ";
	dict[38636] = "fǒu";
	dict[38637] = "sè,xí";
	dict[38638] = "mù";
	dict[38639] = "wén";
	dict[38640] = "fēn";
	dict[38641] = "pāng";
	dict[38642] = "yún";
	dict[38643] = "lì";
	dict[38644] = "chì";
	dict[38645] = "yāng";
	dict[38646] = "líng";
	dict[38647] = "léi";
	dict[38648] = "án";
	dict[38649] = "báo";
	dict[38650] = "wù,méng";
	dict[38651] = "diàn";
	dict[38652] = "dàng";
	dict[38653] = "hū,hù";
	dict[38654] = "wù";
	dict[38655] = "diào";
	dict[38656] = "xū";
	dict[38657] = "jì";
	dict[38658] = "mù";
	dict[38659] = "chén";
	dict[38660] = "xiāo";
	dict[38661] = "zhá";
	dict[38662] = "tíng";
	dict[38663] = "zhèn";
	dict[38664] = "pèi";
	dict[38665] = "méi";
	dict[38666] = "líng";
	dict[38667] = "qī";
	dict[38668] = "zhōu";
	dict[38669] = "huò";
	dict[38670] = "shà";
	dict[38671] = "fēi";
	dict[38672] = "hóng";
	dict[38673] = "zhān";
	dict[38674] = "yīn";
	dict[38675] = "ní";
	dict[38676] = "shù";
	dict[38677] = "tún";
	dict[38678] = "lín";
	dict[38679] = "líng";
	dict[38680] = "dòng";
	dict[38681] = "yīng";
	dict[38682] = "wù";
	dict[38683] = "líng";
	dict[38684] = "shuāng";
	dict[38685] = "líng";
	dict[38686] = "xiá";
	dict[38687] = "hóng";
	dict[38688] = "yīn";
	dict[38689] = "mài";
	dict[38690] = "mài";
	dict[38691] = "yǔn";
	dict[38692] = "liù";
	dict[38693] = "mèng";
	dict[38694] = "bīn";
	dict[38695] = "wù";
	dict[38696] = "wèi";
	dict[38697] = "kuò";
	dict[38698] = "yín";
	dict[38699] = "xí";
	dict[38700] = "yì";
	dict[38701] = "ǎi";
	dict[38702] = "dàn";
	dict[38703] = "tèng";
	dict[38704] = "xiàn";
	dict[38705] = "yù";
	dict[38706] = "lòu,lù";
	dict[38707] = "lóng";
	dict[38708] = "dài";
	dict[38709] = "jí";
	dict[38710] = "pāng";
	dict[38711] = "yáng";
	dict[38712] = "bà";
	dict[38713] = "pī";
	dict[38714] = "wēi";
	dict[38715] = "fēng";
	dict[38716] = "xì";
	dict[38717] = "jì";
	dict[38718] = "mái";
	dict[38719] = "méng";
	dict[38720] = "méng";
	dict[38721] = "léi";
	dict[38722] = "lì";
	dict[38723] = "huò";
	dict[38724] = "ǎi";
	dict[38725] = "fèi";
	dict[38726] = "dài";
	dict[38727] = "lóng";
	dict[38728] = "lìng";
	dict[38729] = "ài";
	dict[38730] = "fēng";
	dict[38731] = "lì";
	dict[38732] = "bǎo";
	dict[38733] = "hè";
	dict[38734] = "hè";
	dict[38735] = "hè";
	dict[38736] = "bìng";
	dict[38737] = "qīng";
	dict[38738] = "qīng";
	dict[38739] = "jìng,liàng";
	dict[38740] = "tiān";
	dict[38741] = "zhèng";
	dict[38742] = "jìng";
	dict[38743] = "chēng";
	dict[38744] = "qìng";
	dict[38745] = "jìng";
	dict[38746] = "jìng";
	dict[38747] = "diàn";
	dict[38748] = "jìng";
	dict[38749] = "tiān";
	dict[38750] = "fēi";
	dict[38751] = "fēi";
	dict[38752] = "kào";
	dict[38753] = "mí";
	dict[38754] = "miàn";
	dict[38755] = "miàn";
	dict[38756] = "pào";
	dict[38757] = "yè";
	dict[38758] = "miǎn";
	dict[38759] = "huì";
	dict[38760] = "yè";
	dict[38761] = "gé";
	dict[38762] = "dīng";
	dict[38763] = "chá";
	dict[38764] = "jiān";
	dict[38765] = "rèn";
	dict[38766] = "dí";
	dict[38767] = "dù";
	dict[38768] = "wù";
	dict[38769] = "rèn";
	dict[38770] = "qín";
	dict[38771] = "jìn";
	dict[38772] = "xuē";
	dict[38773] = "niǔ";
	dict[38774] = "bǎ";
	dict[38775] = "yǐn";
	dict[38776] = "sǎ";
	dict[38777] = "nà";
	dict[38778] = "mò";
	dict[38779] = "zǔ";
	dict[38780] = "dá";
	dict[38781] = "bàn";
	dict[38782] = "xiè";
	dict[38783] = "yào";
	dict[38784] = "táo";
	dict[38785] = "bèi";
	dict[38786] = "jiē";
	dict[38787] = "hóng";
	dict[38788] = "páo";
	dict[38789] = "yāng,yàng";
	dict[38790] = "bǐng";
	dict[38791] = "yīn";
	dict[38792] = "gé,tà,sǎ";
	dict[38793] = "táo";
	dict[38794] = "jié,jí";
	dict[38795] = "xié";
	dict[38796] = "ān";
	dict[38797] = "ān";
	dict[38798] = "hén";
	dict[38799] = "gǒng";
	dict[38800] = "qiǎ";
	dict[38801] = "dá";
	dict[38802] = "qiáo";
	dict[38803] = "tīng";
	dict[38804] = "mán,mèn";
	dict[38805] = "biān,yìng";
	dict[38806] = "suī";
	dict[38807] = "tiáo";
	dict[38808] = "qiào,shāo";
	dict[38809] = "xuān,juān";
	dict[38810] = "kòng";
	dict[38811] = "běng";
	dict[38812] = "tà";
	dict[38813] = "shàng,zhǎng";
	dict[38814] = "bǐng,pí,bì,bēi";
	dict[38815] = "kuò";
	dict[38816] = "jū";
	dict[38817] = "la";
	dict[38818] = "xiè,dié";
	dict[38819] = "róu";
	dict[38820] = "bāng";
	dict[38821] = "ēng";
	dict[38822] = "qiū";
	dict[38823] = "qiū";
	dict[38824] = "hé";
	dict[38825] = "qiào";
	dict[38826] = "mù,móu";
	dict[38827] = "jū";
	dict[38828] = "jiàn,jiān";
	dict[38829] = "biān";
	dict[38830] = "dī";
	dict[38831] = "jiān";
	dict[38832] = "wēn,yùn";
	dict[38833] = "tāo";
	dict[38834] = "gōu";
	dict[38835] = "tà";
	dict[38836] = "bèi";
	dict[38837] = "xié";
	dict[38838] = "pán";
	dict[38839] = "gé";
	dict[38840] = "bì,bǐng";
	dict[38841] = "kuò";
	dict[38842] = "tāng";
	dict[38843] = "lóu";
	dict[38844] = "guì";
	dict[38845] = "qiáo";
	dict[38846] = "xuē";
	dict[38847] = "jī";
	dict[38848] = "jiān";
	dict[38849] = "jiāng";
	dict[38850] = "chàn";
	dict[38851] = "dá";
	dict[38852] = "huò";
	dict[38853] = "xiǎn";
	dict[38854] = "qiān";
	dict[38855] = "dú";
	dict[38856] = "wā";
	dict[38857] = "jiān";
	dict[38858] = "lán";
	dict[38859] = "wéi";
	dict[38860] = "rèn";
	dict[38861] = "fú";
	dict[38862] = "mèi,wà";
	dict[38863] = "quàn";
	dict[38864] = "gé";
	dict[38865] = "wěi";
	dict[38866] = "qiào";
	dict[38867] = "hán";
	dict[38868] = "chàng";
	dict[38869] = "kuò";
	dict[38870] = "rǒu";
	dict[38871] = "yùn";
	dict[38872] = "shè,xiè";
	dict[38873] = "wěi";
	dict[38874] = "gé";
	dict[38875] = "bài";
	dict[38876] = "tāo";
	dict[38877] = "gōu";
	dict[38878] = "yùn";
	dict[38879] = "gāo";
	dict[38880] = "bì";
	dict[38881] = "wěi";
	dict[38882] = "suì";
	dict[38883] = "dú";
	dict[38884] = "wà";
	dict[38885] = "dú";
	dict[38886] = "wéi";
	dict[38887] = "rèn";
	dict[38888] = "fú";
	dict[38889] = "hán";
	dict[38890] = "wěi";
	dict[38891] = "yùn,wēn";
	dict[38892] = "tāo";
	dict[38893] = "jiǔ";
	dict[38894] = "jiǔ";
	dict[38895] = "xiān";
	dict[38896] = "xiè";
	dict[38897] = "xiān";
	dict[38898] = "jī";
	dict[38899] = "yīn";
	dict[38900] = "zá";
	dict[38901] = "yùn";
	dict[38902] = "sháo";
	dict[38903] = "lè";
	dict[38904] = "péng";
	dict[38905] = "huáng";
	dict[38906] = "yīng";
	dict[38907] = "yùn";
	dict[38908] = "péng";
	dict[38909] = "ān";
	dict[38910] = "yīn";
	dict[38911] = "xiǎng";
	dict[38912] = "hù";
	dict[38913] = "yè";
	dict[38914] = "dǐng";
	dict[38915] = "qǐng";
	dict[38916] = "qiú";
	dict[38917] = "xiàng";
	dict[38918] = "shùn";
	dict[38919] = "hān";
	dict[38920] = "xū";
	dict[38921] = "yí";
	dict[38922] = "xù";
	dict[38923] = "ě";
	dict[38924] = "sòng";
	dict[38925] = "kuǐ";
	dict[38926] = "qí";
	dict[38927] = "háng";
	dict[38928] = "yù";
	dict[38929] = "wán";
	dict[38930] = "bān";
	dict[38931] = "dùn";
	dict[38932] = "dí";
	dict[38933] = "dān";
	dict[38934] = "pàn";
	dict[38935] = "pō";
	dict[38936] = "lǐng";
	dict[38937] = "chè";
	dict[38938] = "jǐng";
	dict[38939] = "lèi";
	dict[38940] = "hé";
	dict[38941] = "qiāo";
	dict[38942] = "è";
	dict[38943] = "é";
	dict[38944] = "wěi";
	dict[38945] = "jié";
	dict[38946] = "kuò";
	dict[38947] = "shěn";
	dict[38948] = "yí";
	dict[38949] = "yí";
	dict[38950] = "kē";
	dict[38951] = "duǐ";
	dict[38952] = "yǔ";
	dict[38953] = "pīng";
	dict[38954] = "lèi";
	dict[38955] = "fǔ";
	dict[38956] = "jiá";
	dict[38957] = "tóu";
	dict[38958] = "huì";
	dict[38959] = "kuí";
	dict[38960] = "jiá";
	dict[38961] = "luō";
	dict[38962] = "tǐng";
	dict[38963] = "chēng";
	dict[38964] = "yǐng";
	dict[38965] = "jūn";
	dict[38966] = "hú";
	dict[38967] = "hàn";
	dict[38968] = "jǐng";
	dict[38969] = "tuí";
	dict[38970] = "tuí";
	dict[38971] = "bīn";
	dict[38972] = "lài";
	dict[38973] = "tuí";
	dict[38974] = "zī";
	dict[38975] = "zī";
	dict[38976] = "chuí";
	dict[38977] = "dìng";
	dict[38978] = "lài";
	dict[38979] = "tán";
	dict[38980] = "hàn";
	dict[38981] = "qiān";
	dict[38982] = "kē";
	dict[38983] = "cuì";
	dict[38984] = "jiǒng";
	dict[38985] = "qīn";
	dict[38986] = "yí";
	dict[38987] = "sāi";
	dict[38988] = "tí";
	dict[38989] = "é";
	dict[38990] = "è";
	dict[38991] = "yán";
	dict[38992] = "wèn";
	dict[38993] = "kǎn";
	dict[38994] = "yóng";
	dict[38995] = "zhuān";
	dict[38996] = "yán";
	dict[38997] = "xiǎn";
	dict[38998] = "xìn";
	dict[38999] = "yǐ";
	dict[39e3] = "yuàn";
	dict[39001] = "sǎng";
	dict[39002] = "diān";
	dict[39003] = "diān";
	dict[39004] = "jiǎng";
	dict[39005] = "kuī";
	dict[39006] = "lèi";
	dict[39007] = "láo";
	dict[39008] = "piǎo";
	dict[39009] = "wài";
	dict[39010] = "mān";
	dict[39011] = "cù";
	dict[39012] = "yáo";
	dict[39013] = "hào";
	dict[39014] = "qiáo";
	dict[39015] = "gù";
	dict[39016] = "xùn";
	dict[39017] = "yǎn";
	dict[39018] = "huì";
	dict[39019] = "chàn";
	dict[39020] = "rú";
	dict[39021] = "méng";
	dict[39022] = "bīn";
	dict[39023] = "xiǎn";
	dict[39024] = "pín";
	dict[39025] = "lú";
	dict[39026] = "lǎn";
	dict[39027] = "niè";
	dict[39028] = "quán";
	dict[39029] = "yè";
	dict[39030] = "dǐng";
	dict[39031] = "qǐng";
	dict[39032] = "hān";
	dict[39033] = "xiàng";
	dict[39034] = "shùn";
	dict[39035] = "xū";
	dict[39036] = "xū";
	dict[39037] = "wán";
	dict[39038] = "gù";
	dict[39039] = "dùn";
	dict[39040] = "qí";
	dict[39041] = "bān";
	dict[39042] = "sòng";
	dict[39043] = "háng";
	dict[39044] = "yù";
	dict[39045] = "lú";
	dict[39046] = "lǐng";
	dict[39047] = "pō";
	dict[39048] = "jǐng,gěng";
	dict[39049] = "jié,xié,jiá";
	dict[39050] = "jiá";
	dict[39051] = "tǐng";
	dict[39052] = "hé,gé";
	dict[39053] = "yǐng";
	dict[39054] = "jiǒng";
	dict[39055] = "kē";
	dict[39056] = "yí";
	dict[39057] = "pín,bīn";
	dict[39058] = "huì";
	dict[39059] = "tuí";
	dict[39060] = "hàn";
	dict[39061] = "yǐng";
	dict[39062] = "yǐng";
	dict[39063] = "kē";
	dict[39064] = "tí";
	dict[39065] = "yóng";
	dict[39066] = "è";
	dict[39067] = "zhuān";
	dict[39068] = "yán";
	dict[39069] = "é";
	dict[39070] = "niè";
	dict[39071] = "mān";
	dict[39072] = "diān";
	dict[39073] = "sǎng";
	dict[39074] = "hào";
	dict[39075] = "lèi";
	dict[39076] = "chàn,zhàn";
	dict[39077] = "rú";
	dict[39078] = "pín";
	dict[39079] = "quán";
	dict[39080] = "fēng,fěng";
	dict[39081] = "biāo,diū";
	dict[39082] = "guā";
	dict[39083] = "fú";
	dict[39084] = "xiā";
	dict[39085] = "zhǎn";
	dict[39086] = "biāo";
	dict[39087] = "sà";
	dict[39088] = "bá,fú";
	dict[39089] = "tái";
	dict[39090] = "liè";
	dict[39091] = "guā";
	dict[39092] = "xuàn";
	dict[39093] = "xiāo";
	dict[39094] = "jù";
	dict[39095] = "biāo";
	dict[39096] = "sī";
	dict[39097] = "wěi";
	dict[39098] = "yáng";
	dict[39099] = "yáo";
	dict[39100] = "sōu";
	dict[39101] = "kǎi";
	dict[39102] = "sāo,sōu";
	dict[39103] = "fān";
	dict[39104] = "liú";
	dict[39105] = "xí";
	dict[39106] = "liù,liáo";
	dict[39107] = "piāo";
	dict[39108] = "piāo";
	dict[39109] = "liú";
	dict[39110] = "biāo";
	dict[39111] = "biāo";
	dict[39112] = "biāo";
	dict[39113] = "liáo";
	dict[39114] = "biāo";
	dict[39115] = "sè";
	dict[39116] = "fēng";
	dict[39117] = "xiū";
	dict[39118] = "fēng,fěng";
	dict[39119] = "yáng";
	dict[39120] = "zhǎn";
	dict[39121] = "biāo";
	dict[39122] = "sà";
	dict[39123] = "jù";
	dict[39124] = "sī";
	dict[39125] = "sōu";
	dict[39126] = "yáo";
	dict[39127] = "liú";
	dict[39128] = "piāo";
	dict[39129] = "biāo";
	dict[39130] = "biāo";
	dict[39131] = "fēi";
	dict[39132] = "fān";
	dict[39133] = "fēi";
	dict[39134] = "fēi";
	dict[39135] = "shí,sì,yì";
	dict[39136] = "shí";
	dict[39137] = "cān";
	dict[39138] = "jī";
	dict[39139] = "dìng";
	dict[39140] = "sì";
	dict[39141] = "tuō";
	dict[39142] = "zhān";
	dict[39143] = "sūn";
	dict[39144] = "xiǎng";
	dict[39145] = "tún";
	dict[39146] = "rèn";
	dict[39147] = "yù";
	dict[39148] = "yǎng,juàn";
	dict[39149] = "chì";
	dict[39150] = "yǐn,yìn";
	dict[39151] = "fàn";
	dict[39152] = "fàn";
	dict[39153] = "sūn";
	dict[39154] = "yǐn,yìn";
	dict[39155] = "zhù,tǒu";
	dict[39156] = "yí,sì";
	dict[39157] = "zuò,zé,zhā";
	dict[39158] = "bì";
	dict[39159] = "jiě";
	dict[39160] = "tāo";
	dict[39161] = "bǎo";
	dict[39162] = "cí";
	dict[39163] = "tiè";
	dict[39164] = "sì";
	dict[39165] = "bǎo";
	dict[39166] = "shì";
	dict[39167] = "duò";
	dict[39168] = "hài";
	dict[39169] = "rèn";
	dict[39170] = "tiǎn";
	dict[39171] = "jiǎo";
	dict[39172] = "hé";
	dict[39173] = "bǐng";
	dict[39174] = "yáo";
	dict[39175] = "tóng";
	dict[39176] = "cí";
	dict[39177] = "xiǎng";
	dict[39178] = "yǎng";
	dict[39179] = "juàn";
	dict[39180] = "ěr";
	dict[39181] = "yàn";
	dict[39182] = "lè";
	dict[39183] = "xī";
	dict[39184] = "cān";
	dict[39185] = "bō";
	dict[39186] = "něi";
	dict[39187] = "è";
	dict[39188] = "bū";
	dict[39189] = "jùn";
	dict[39190] = "dòu";
	dict[39191] = "sù";
	dict[39192] = "yú";
	dict[39193] = "shì";
	dict[39194] = "yáo";
	dict[39195] = "hún";
	dict[39196] = "guǒ";
	dict[39197] = "shì";
	dict[39198] = "jiàn";
	dict[39199] = "chuò";
	dict[39200] = "bǐng";
	dict[39201] = "xiàn";
	dict[39202] = "bù";
	dict[39203] = "yè";
	dict[39204] = "dàn";
	dict[39205] = "fēi";
	dict[39206] = "zhāng";
	dict[39207] = "wèi";
	dict[39208] = "guǎn";
	dict[39209] = "è";
	dict[39210] = "nuǎn";
	dict[39211] = "yùn";
	dict[39212] = "hú";
	dict[39213] = "huáng";
	dict[39214] = "tiè";
	dict[39215] = "huì";
	dict[39216] = "jiān";
	dict[39217] = "hóu";
	dict[39218] = "ài";
	dict[39219] = "xíng";
	dict[39220] = "fēn";
	dict[39221] = "wèi";
	dict[39222] = "gǔ";
	dict[39223] = "chā";
	dict[39224] = "sòng";
	dict[39225] = "táng";
	dict[39226] = "bó";
	dict[39227] = "gāo";
	dict[39228] = "xì";
	dict[39229] = "kuì";
	dict[39230] = "liù";
	dict[39231] = "sōu";
	dict[39232] = "táo";
	dict[39233] = "yè";
	dict[39234] = "wēn";
	dict[39235] = "mó";
	dict[39236] = "táng";
	dict[39237] = "mán";
	dict[39238] = "bì";
	dict[39239] = "yù";
	dict[39240] = "xiū";
	dict[39241] = "jǐn";
	dict[39242] = "sǎn";
	dict[39243] = "kuì";
	dict[39244] = "zhuàn";
	dict[39245] = "shàn";
	dict[39246] = "xī";
	dict[39247] = "dàn";
	dict[39248] = "yì";
	dict[39249] = "jī";
	dict[39250] = "ráo";
	dict[39251] = "chēng";
	dict[39252] = "yōng";
	dict[39253] = "tāo";
	dict[39254] = "wèi";
	dict[39255] = "xiǎng";
	dict[39256] = "zhān";
	dict[39257] = "fēn";
	dict[39258] = "hài";
	dict[39259] = "méng";
	dict[39260] = "yàn";
	dict[39261] = "mó";
	dict[39262] = "chán";
	dict[39263] = "xiǎng,náng";
	dict[39264] = "luó";
	dict[39265] = "zàn";
	dict[39266] = "náng";
	dict[39267] = "shí";
	dict[39268] = "dìng";
	dict[39269] = "jī";
	dict[39270] = "tuō";
	dict[39271] = "xíng";
	dict[39272] = "tún";
	dict[39273] = "xì";
	dict[39274] = "rèn";
	dict[39275] = "yù";
	dict[39276] = "chì";
	dict[39277] = "fàn";
	dict[39278] = "yǐn";
	dict[39279] = "jiàn";
	dict[39280] = "shì";
	dict[39281] = "bǎo";
	dict[39282] = "sì";
	dict[39283] = "duò";
	dict[39284] = "yí";
	dict[39285] = "ěr";
	dict[39286] = "ráo";
	dict[39287] = "xiǎng";
	dict[39288] = "hé";
	dict[39289] = "gē,le";
	dict[39290] = "jiǎo";
	dict[39291] = "xī";
	dict[39292] = "bǐng";
	dict[39293] = "bō";
	dict[39294] = "dòu";
	dict[39295] = "è";
	dict[39296] = "yú";
	dict[39297] = "něi";
	dict[39298] = "jùn";
	dict[39299] = "guǒ";
	dict[39300] = "hún";
	dict[39301] = "xiàn";
	dict[39302] = "guǎn";
	dict[39303] = "chā";
	dict[39304] = "kuì";
	dict[39305] = "gǔ";
	dict[39306] = "sōu";
	dict[39307] = "chán";
	dict[39308] = "yè";
	dict[39309] = "mó";
	dict[39310] = "bó";
	dict[39311] = "liù,liú";
	dict[39312] = "xiū";
	dict[39313] = "jǐn";
	dict[39314] = "mán";
	dict[39315] = "sǎn";
	dict[39316] = "zhuàn";
	dict[39317] = "náng,nǎng";
	dict[39318] = "shǒu";
	dict[39319] = "kuí";
	dict[39320] = "guó";
	dict[39321] = "xiāng";
	dict[39322] = "fēn";
	dict[39323] = "bó";
	dict[39324] = "ní";
	dict[39325] = "bì";
	dict[39326] = "bó";
	dict[39327] = "tú";
	dict[39328] = "hān";
	dict[39329] = "fēi";
	dict[39330] = "jiān";
	dict[39331] = "ān";
	dict[39332] = "ài";
	dict[39333] = "fù";
	dict[39334] = "xiān";
	dict[39335] = "yūn,wò";
	dict[39336] = "xīn";
	dict[39337] = "fén";
	dict[39338] = "pīn";
	dict[39339] = "xīn";
	dict[39340] = "mǎ";
	dict[39341] = "yù";
	dict[39342] = "féng,píng";
	dict[39343] = "hàn,hán";
	dict[39344] = "dí";
	dict[39345] = "tuó,duò";
	dict[39346] = "tuō,zhé";
	dict[39347] = "chí";
	dict[39348] = "xùn";
	dict[39349] = "zhù";
	dict[39350] = "zhī,shì";
	dict[39351] = "pèi";
	dict[39352] = "xìn,jìn";
	dict[39353] = "rì";
	dict[39354] = "sà";
	dict[39355] = "yǔn";
	dict[39356] = "wén";
	dict[39357] = "zhí";
	dict[39358] = "dǎn,dàn";
	dict[39359] = "lú";
	dict[39360] = "yóu";
	dict[39361] = "bó";
	dict[39362] = "bǎo";
	dict[39363] = "jué,kuài";
	dict[39364] = "tuó,duò";
	dict[39365] = "yì";
	dict[39366] = "qū";
	dict[39367] = "wén";
	dict[39368] = "qū";
	dict[39369] = "jiōng";
	dict[39370] = "pǒ";
	dict[39371] = "zhāo";
	dict[39372] = "yuān";
	dict[39373] = "pēng";
	dict[39374] = "zhòu";
	dict[39375] = "jù";
	dict[39376] = "zhù";
	dict[39377] = "nú";
	dict[39378] = "jū";
	dict[39379] = "pī";
	dict[39380] = "zǎng";
	dict[39381] = "jià";
	dict[39382] = "líng";
	dict[39383] = "zhěn";
	dict[39384] = "tái,dài";
	dict[39385] = "fù";
	dict[39386] = "yǎng";
	dict[39387] = "shǐ";
	dict[39388] = "bì";
	dict[39389] = "tuó";
	dict[39390] = "tuó";
	dict[39391] = "sì";
	dict[39392] = "liú";
	dict[39393] = "mà";
	dict[39394] = "pián";
	dict[39395] = "táo";
	dict[39396] = "zhì";
	dict[39397] = "róng";
	dict[39398] = "téng";
	dict[39399] = "dòng";
	dict[39400] = "xún,xuān";
	dict[39401] = "quán";
	dict[39402] = "shēn";
	dict[39403] = "jiōng";
	dict[39404] = "ěr";
	dict[39405] = "hài";
	dict[39406] = "bó";
	dict[39407] = "zhū";
	dict[39408] = "yīn";
	dict[39409] = "luò";
	dict[39410] = "zhōu";
	dict[39411] = "dàn";
	dict[39412] = "hài";
	dict[39413] = "liú";
	dict[39414] = "jú";
	dict[39415] = "sǒng";
	dict[39416] = "qīn";
	dict[39417] = "máng";
	dict[39418] = "liáng,láng";
	dict[39419] = "hàn";
	dict[39420] = "tú";
	dict[39421] = "xuān";
	dict[39422] = "tuì";
	dict[39423] = "jùn";
	dict[39424] = "ě";
	dict[39425] = "chěng";
	dict[39426] = "xīng";
	dict[39427] = "sì";
	dict[39428] = "lù";
	dict[39429] = "zhuī";
	dict[39430] = "zhōu";
	dict[39431] = "shè";
	dict[39432] = "pián";
	dict[39433] = "kūn";
	dict[39434] = "táo";
	dict[39435] = "lái";
	dict[39436] = "zōng";
	dict[39437] = "kè";
	dict[39438] = "qí";
	dict[39439] = "qí";
	dict[39440] = "yàn";
	dict[39441] = "fēi";
	dict[39442] = "sāo";
	dict[39443] = "yàn";
	dict[39444] = "gé";
	dict[39445] = "yǎo";
	dict[39446] = "wù";
	dict[39447] = "piàn";
	dict[39448] = "cōng";
	dict[39449] = "piàn";
	dict[39450] = "qián";
	dict[39451] = "fēi";
	dict[39452] = "huáng";
	dict[39453] = "qián";
	dict[39454] = "huō";
	dict[39455] = "yú";
	dict[39456] = "tí";
	dict[39457] = "quán";
	dict[39458] = "xiá";
	dict[39459] = "zōng";
	dict[39460] = "kuí";
	dict[39461] = "róu";
	dict[39462] = "sī";
	dict[39463] = "guā";
	dict[39464] = "tuó";
	dict[39465] = "guī";
	dict[39466] = "sōu";
	dict[39467] = "qiān";
	dict[39468] = "chéng";
	dict[39469] = "zhì";
	dict[39470] = "liú";
	dict[39471] = "péng";
	dict[39472] = "téng";
	dict[39473] = "xí";
	dict[39474] = "cǎo";
	dict[39475] = "dú";
	dict[39476] = "yàn";
	dict[39477] = "yuán";
	dict[39478] = "zōu";
	dict[39479] = "sāo";
	dict[39480] = "shàn";
	dict[39481] = "qí";
	dict[39482] = "zhì";
	dict[39483] = "shuāng";
	dict[39484] = "lù";
	dict[39485] = "xí";
	dict[39486] = "luó";
	dict[39487] = "zhāng";
	dict[39488] = "mò";
	dict[39489] = "ào";
	dict[39490] = "cān";
	dict[39491] = "piào";
	dict[39492] = "cōng";
	dict[39493] = "qū";
	dict[39494] = "bì";
	dict[39495] = "zhì";
	dict[39496] = "yù";
	dict[39497] = "xū";
	dict[39498] = "huá";
	dict[39499] = "bō";
	dict[39500] = "sù";
	dict[39501] = "xiāo";
	dict[39502] = "lín";
	dict[39503] = "zhàn";
	dict[39504] = "dūn";
	dict[39505] = "liú";
	dict[39506] = "tuó";
	dict[39507] = "céng";
	dict[39508] = "diàn";
	dict[39509] = "jiāo";
	dict[39510] = "tiě";
	dict[39511] = "yàn";
	dict[39512] = "luó";
	dict[39513] = "zhān";
	dict[39514] = "jīng";
	dict[39515] = "yì";
	dict[39516] = "yè";
	dict[39517] = "tuó";
	dict[39518] = "pīn";
	dict[39519] = "zhòu";
	dict[39520] = "yàn";
	dict[39521] = "lóng";
	dict[39522] = "lǘ";
	dict[39523] = "téng";
	dict[39524] = "xiāng";
	dict[39525] = "jì";
	dict[39526] = "shuāng";
	dict[39527] = "jú";
	dict[39528] = "xí";
	dict[39529] = "huān";
	dict[39530] = "lí";
	dict[39531] = "biāo";
	dict[39532] = "mǎ";
	dict[39533] = "yù";
	dict[39534] = "tuó";
	dict[39535] = "xùn";
	dict[39536] = "chí";
	dict[39537] = "qū";
	dict[39538] = "rì";
	dict[39539] = "bó";
	dict[39540] = "lǘ";
	dict[39541] = "zǎng";
	dict[39542] = "shǐ";
	dict[39543] = "sì";
	dict[39544] = "fù";
	dict[39545] = "jū";
	dict[39546] = "zōu";
	dict[39547] = "zhù";
	dict[39548] = "tuó";
	dict[39549] = "nú";
	dict[39550] = "jià";
	dict[39551] = "yì";
	dict[39552] = "tái";
	dict[39553] = "xiāo";
	dict[39554] = "mà";
	dict[39555] = "yīn";
	dict[39556] = "jiāo";
	dict[39557] = "huá";
	dict[39558] = "luò";
	dict[39559] = "hài";
	dict[39560] = "pián";
	dict[39561] = "biāo";
	dict[39562] = "lí";
	dict[39563] = "chěng";
	dict[39564] = "yàn";
	dict[39565] = "xīng";
	dict[39566] = "qīn";
	dict[39567] = "jùn";
	dict[39568] = "qí";
	dict[39569] = "qí";
	dict[39570] = "kè";
	dict[39571] = "zhuī";
	dict[39572] = "zōng";
	dict[39573] = "sù";
	dict[39574] = "cān";
	dict[39575] = "piàn";
	dict[39576] = "zhì";
	dict[39577] = "kuí";
	dict[39578] = "sāo,sǎo";
	dict[39579] = "wù";
	dict[39580] = "áo";
	dict[39581] = "liú";
	dict[39582] = "qiān";
	dict[39583] = "shàn";
	dict[39584] = "piào,biāo";
	dict[39585] = "luó";
	dict[39586] = "cōng";
	dict[39587] = "chǎn";
	dict[39588] = "zhòu";
	dict[39589] = "jì";
	dict[39590] = "shuāng";
	dict[39591] = "xiāng";
	dict[39592] = "gǔ,gū";
	dict[39593] = "wěi";
	dict[39594] = "wěi";
	dict[39595] = "wěi";
	dict[39596] = "yú";
	dict[39597] = "gàn";
	dict[39598] = "yì";
	dict[39599] = "āng";
	dict[39600] = "tóu";
	dict[39601] = "jiè";
	dict[39602] = "bào";
	dict[39603] = "bèi,mó";
	dict[39604] = "cī";
	dict[39605] = "tǐ";
	dict[39606] = "dǐ";
	dict[39607] = "kū";
	dict[39608] = "hái";
	dict[39609] = "qiāo,xiāo";
	dict[39610] = "hóu";
	dict[39611] = "kuà";
	dict[39612] = "gé";
	dict[39613] = "tuǐ";
	dict[39614] = "gěng";
	dict[39615] = "pián";
	dict[39616] = "bì";
	dict[39617] = "kē";
	dict[39618] = "qià";
	dict[39619] = "yú";
	dict[39620] = "suí";
	dict[39621] = "lóu";
	dict[39622] = "bó";
	dict[39623] = "xiāo";
	dict[39624] = "bǎng";
	dict[39625] = "bó,jué";
	dict[39626] = "cī";
	dict[39627] = "kuān";
	dict[39628] = "bìn";
	dict[39629] = "mó";
	dict[39630] = "liáo";
	dict[39631] = "lóu";
	dict[39632] = "xiāo";
	dict[39633] = "dú";
	dict[39634] = "zāng";
	dict[39635] = "suǐ";
	dict[39636] = "tǐ,tī";
	dict[39637] = "bìn";
	dict[39638] = "kuān";
	dict[39639] = "lú";
	dict[39640] = "gāo";
	dict[39641] = "gāo";
	dict[39642] = "qiào";
	dict[39643] = "kāo";
	dict[39644] = "qiǎo";
	dict[39645] = "láo";
	dict[39646] = "sào";
	dict[39647] = "biāo";
	dict[39648] = "kūn";
	dict[39649] = "kūn";
	dict[39650] = "dí";
	dict[39651] = "fǎng";
	dict[39652] = "xiū";
	dict[39653] = "rán";
	dict[39654] = "máo";
	dict[39655] = "dàn";
	dict[39656] = "kūn";
	dict[39657] = "bìn";
	dict[39658] = "fà";
	dict[39659] = "tiáo";
	dict[39660] = "pī";
	dict[39661] = "zī";
	dict[39662] = "fà";
	dict[39663] = "rán";
	dict[39664] = "tì";
	dict[39665] = "bào";
	dict[39666] = "bì,pǒ";
	dict[39667] = "máo,méng";
	dict[39668] = "fú";
	dict[39669] = "ér";
	dict[39670] = "èr";
	dict[39671] = "qū";
	dict[39672] = "gōng";
	dict[39673] = "xiū";
	dict[39674] = "kuò,yuè";
	dict[39675] = "jì";
	dict[39676] = "péng";
	dict[39677] = "zhuā";
	dict[39678] = "shāo";
	dict[39679] = "shā";
	dict[39680] = "tì";
	dict[39681] = "lì";
	dict[39682] = "bìn";
	dict[39683] = "zōng";
	dict[39684] = "tì";
	dict[39685] = "péng";
	dict[39686] = "sōng";
	dict[39687] = "zhēng";
	dict[39688] = "quán";
	dict[39689] = "zōng";
	dict[39690] = "shùn";
	dict[39691] = "jiǎn";
	dict[39692] = "duǒ";
	dict[39693] = "hú";
	dict[39694] = "là";
	dict[39695] = "jiū";
	dict[39696] = "qí";
	dict[39697] = "lián";
	dict[39698] = "zhěn";
	dict[39699] = "bìn";
	dict[39700] = "péng";
	dict[39701] = "mà";
	dict[39702] = "sān";
	dict[39703] = "mán";
	dict[39704] = "mán";
	dict[39705] = "sēng";
	dict[39706] = "xū";
	dict[39707] = "liè";
	dict[39708] = "qiān";
	dict[39709] = "qiān";
	dict[39710] = "nóng";
	dict[39711] = "huán";
	dict[39712] = "kuò";
	dict[39713] = "níng";
	dict[39714] = "bìn";
	dict[39715] = "liè";
	dict[39716] = "ráng";
	dict[39717] = "dòu";
	dict[39718] = "dòu";
	dict[39719] = "nào";
	dict[39720] = "hòng";
	dict[39721] = "xì";
	dict[39722] = "dòu";
	dict[39723] = "kàn";
	dict[39724] = "dòu";
	dict[39725] = "dòu";
	dict[39726] = "jiū";
	dict[39727] = "chàng";
	dict[39728] = "yù";
	dict[39729] = "yù";
	dict[39730] = "gé,lì";
	dict[39731] = "yàn";
	dict[39732] = "fǔ";
	dict[39733] = "zèng";
	dict[39734] = "guī";
	dict[39735] = "zōng";
	dict[39736] = "liù";
	dict[39737] = "guī";
	dict[39738] = "shāng";
	dict[39739] = "yù";
	dict[39740] = "guǐ";
	dict[39741] = "mèi";
	dict[39742] = "jì";
	dict[39743] = "qí";
	dict[39744] = "gà";
	dict[39745] = "kuí";
	dict[39746] = "hún";
	dict[39747] = "bá";
	dict[39748] = "pò";
	dict[39749] = "mèi";
	dict[39750] = "xū";
	dict[39751] = "yǎn";
	dict[39752] = "xiāo";
	dict[39753] = "liǎng";
	dict[39754] = "yù";
	dict[39755] = "tuí";
	dict[39756] = "qī";
	dict[39757] = "wǎng";
	dict[39758] = "liǎng";
	dict[39759] = "wèi";
	dict[39760] = "gān";
	dict[39761] = "chī";
	dict[39762] = "piāo";
	dict[39763] = "bì";
	dict[39764] = "mó";
	dict[39765] = "jī";
	dict[39766] = "xū";
	dict[39767] = "chǒu";
	dict[39768] = "yǎn";
	dict[39769] = "zhān";
	dict[39770] = "yú";
	dict[39771] = "dāo";
	dict[39772] = "rén";
	dict[39773] = "jì";
	dict[39774] = "bā,bà";
	dict[39775] = "hóng";
	dict[39776] = "tuō";
	dict[39777] = "diào";
	dict[39778] = "jǐ";
	dict[39779] = "yú";
	dict[39780] = "é";
	dict[39781] = "jì";
	dict[39782] = "shā";
	dict[39783] = "háng";
	dict[39784] = "tún";
	dict[39785] = "mò";
	dict[39786] = "jiè";
	dict[39787] = "shěn";
	dict[39788] = "bǎn";
	dict[39789] = "yuán";
	dict[39790] = "pí";
	dict[39791] = "lǔ";
	dict[39792] = "wén";
	dict[39793] = "hú";
	dict[39794] = "lú";
	dict[39795] = "zā";
	dict[39796] = "fáng";
	dict[39797] = "fén";
	dict[39798] = "nà";
	dict[39799] = "yóu";
	dict[39800] = "piàn";
	dict[39801] = "mó";
	dict[39802] = "hé";
	dict[39803] = "xiá";
	dict[39804] = "qū";
	dict[39805] = "hān";
	dict[39806] = "pī";
	dict[39807] = "líng";
	dict[39808] = "tuó";
	dict[39809] = "bà";
	dict[39810] = "qiú";
	dict[39811] = "píng";
	dict[39812] = "fú";
	dict[39813] = "bì";
	dict[39814] = "cǐ,jì";
	dict[39815] = "wèi";
	dict[39816] = "jū";
	dict[39817] = "diāo";
	dict[39818] = "bó,bà";
	dict[39819] = "yóu";
	dict[39820] = "gǔn";
	dict[39821] = "pí";
	dict[39822] = "nián";
	dict[39823] = "xīng";
	dict[39824] = "tái";
	dict[39825] = "bào";
	dict[39826] = "fù";
	dict[39827] = "zhǎ,zhà";
	dict[39828] = "jù";
	dict[39829] = "gū";
	dict[39830] = "shí";
	dict[39831] = "dōng";
	dict[39832] = "chou,dài";
	dict[39833] = "tǎ";
	dict[39834] = "jié";
	dict[39835] = "shū";
	dict[39836] = "hòu";
	dict[39837] = "xiǎng";
	dict[39838] = "ér";
	dict[39839] = "ān";
	dict[39840] = "wéi";
	dict[39841] = "zhào";
	dict[39842] = "zhū";
	dict[39843] = "yìn";
	dict[39844] = "liè";
	dict[39845] = "luò,gé";
	dict[39846] = "tóng";
	dict[39847] = "yí";
	dict[39848] = "yì";
	dict[39849] = "bìng";
	dict[39850] = "wěi";
	dict[39851] = "jiāo";
	dict[39852] = "kū";
	dict[39853] = "guī,xié";
	dict[39854] = "xiān,xiǎn";
	dict[39855] = "gé";
	dict[39856] = "huí";
	dict[39857] = "lǎo";
	dict[39858] = "fú";
	dict[39859] = "kào";
	dict[39860] = "xiū";
	dict[39861] = "tuō";
	dict[39862] = "jūn";
	dict[39863] = "tí";
	dict[39864] = "miǎn";
	dict[39865] = "shāo";
	dict[39866] = "zhǎ";
	dict[39867] = "suō";
	dict[39868] = "qīn";
	dict[39869] = "yú";
	dict[39870] = "něi";
	dict[39871] = "zhé";
	dict[39872] = "gǔn";
	dict[39873] = "gěng";
	dict[39874] = "sū";
	dict[39875] = "wú";
	dict[39876] = "qiú";
	dict[39877] = "shān";
	dict[39878] = "pū,bū";
	dict[39879] = "huàn";
	dict[39880] = "tiáo";
	dict[39881] = "lǐ";
	dict[39882] = "shā";
	dict[39883] = "shā";
	dict[39884] = "kào";
	dict[39885] = "méng";
	dict[39886] = "chéng";
	dict[39887] = "lí";
	dict[39888] = "zǒu";
	dict[39889] = "xī";
	dict[39890] = "yǒng";
	dict[39891] = "shēn";
	dict[39892] = "zī";
	dict[39893] = "qí";
	dict[39894] = "qīng";
	dict[39895] = "xiǎng";
	dict[39896] = "něi";
	dict[39897] = "chún";
	dict[39898] = "jì";
	dict[39899] = "diāo";
	dict[39900] = "qiè";
	dict[39901] = "gù";
	dict[39902] = "zhǒu";
	dict[39903] = "dōng";
	dict[39904] = "lái";
	dict[39905] = "fēi";
	dict[39906] = "ní";
	dict[39907] = "yì,sī";
	dict[39908] = "kūn";
	dict[39909] = "lù";
	dict[39910] = "jiù";
	dict[39911] = "chāng";
	dict[39912] = "jīng";
	dict[39913] = "lún";
	dict[39914] = "líng";
	dict[39915] = "zōu";
	dict[39916] = "lí";
	dict[39917] = "měng";
	dict[39918] = "zōng";
	dict[39919] = "zhì";
	dict[39920] = "nián";
	dict[39921] = "hǔ";
	dict[39922] = "yú";
	dict[39923] = "dǐ";
	dict[39924] = "shī";
	dict[39925] = "shēn";
	dict[39926] = "huàn";
	dict[39927] = "tí";
	dict[39928] = "hóu";
	dict[39929] = "xīng";
	dict[39930] = "zhū";
	dict[39931] = "là";
	dict[39932] = "zōng";
	dict[39933] = "jì";
	dict[39934] = "biān";
	dict[39935] = "biān";
	dict[39936] = "huàn";
	dict[39937] = "quán";
	dict[39938] = "zéi";
	dict[39939] = "wēi";
	dict[39940] = "wēi";
	dict[39941] = "yú";
	dict[39942] = "chūn";
	dict[39943] = "róu";
	dict[39944] = "dié";
	dict[39945] = "huáng";
	dict[39946] = "liàn";
	dict[39947] = "yǎn";
	dict[39948] = "qiū";
	dict[39949] = "qiū";
	dict[39950] = "jiǎn";
	dict[39951] = "bī";
	dict[39952] = "è";
	dict[39953] = "yáng";
	dict[39954] = "fù";
	dict[39955] = "sāi,xǐ";
	dict[39956] = "jiān";
	dict[39957] = "xiā";
	dict[39958] = "tuǒ";
	dict[39959] = "hú";
	dict[39960] = "shì";
	dict[39961] = "ruò";
	dict[39962] = "xuān";
	dict[39963] = "wēn";
	dict[39964] = "jiān";
	dict[39965] = "hào";
	dict[39966] = "wū";
	dict[39967] = "páng";
	dict[39968] = "sāo";
	dict[39969] = "liú";
	dict[39970] = "mǎ";
	dict[39971] = "shí";
	dict[39972] = "shī";
	dict[39973] = "guān";
	dict[39974] = "zī";
	dict[39975] = "téng";
	dict[39976] = "tǎ";
	dict[39977] = "yáo";
	dict[39978] = "è";
	dict[39979] = "yóng";
	dict[39980] = "qián";
	dict[39981] = "qí";
	dict[39982] = "wēn";
	dict[39983] = "ruò";
	dict[39984] = "shén";
	dict[39985] = "lián";
	dict[39986] = "áo";
	dict[39987] = "lè";
	dict[39988] = "huī";
	dict[39989] = "mǐn";
	dict[39990] = "jì";
	dict[39991] = "tiáo";
	dict[39992] = "qū";
	dict[39993] = "jiān";
	dict[39994] = "shēn";
	dict[39995] = "mán";
	dict[39996] = "xí";
	dict[39997] = "qiú";
	dict[39998] = "piào";
	dict[39999] = "jì";
	dict[4e4] = "jì";
	dict[40001] = "zhú";
	dict[40002] = "jiāng";
	dict[40003] = "xiū";
	dict[40004] = "zhuān";
	dict[40005] = "yōng";
	dict[40006] = "zhāng";
	dict[40007] = "kāng";
	dict[40008] = "xuě";
	dict[40009] = "biē";
	dict[40010] = "yù";
	dict[40011] = "qū";
	dict[40012] = "xiàng";
	dict[40013] = "bō";
	dict[40014] = "jiǎo";
	dict[40015] = "xún";
	dict[40016] = "sù";
	dict[40017] = "huáng";
	dict[40018] = "zūn";
	dict[40019] = "shàn";
	dict[40020] = "shàn";
	dict[40021] = "fān";
	dict[40022] = "guì";
	dict[40023] = "lín";
	dict[40024] = "xún";
	dict[40025] = "yáo";
	dict[40026] = "xǐ";
	dict[40027] = "zēng";
	dict[40028] = "xiāng";
	dict[40029] = "fèn";
	dict[40030] = "guān";
	dict[40031] = "hòu";
	dict[40032] = "kuài";
	dict[40033] = "zéi";
	dict[40034] = "sāo";
	dict[40035] = "zhān";
	dict[40036] = "gǎn";
	dict[40037] = "guì";
	dict[40038] = "yìng";
	dict[40039] = "lǐ";
	dict[40040] = "cháng";
	dict[40041] = "léi";
	dict[40042] = "shǔ";
	dict[40043] = "ài";
	dict[40044] = "rú";
	dict[40045] = "jì";
	dict[40046] = "xù";
	dict[40047] = "hù";
	dict[40048] = "shǔ";
	dict[40049] = "lǐ";
	dict[40050] = "liè";
	dict[40051] = "lè";
	dict[40052] = "miè";
	dict[40053] = "zhēn";
	dict[40054] = "xiǎng";
	dict[40055] = "è";
	dict[40056] = "lú";
	dict[40057] = "guàn";
	dict[40058] = "lí";
	dict[40059] = "xiān";
	dict[40060] = "yú";
	dict[40061] = "dāo";
	dict[40062] = "jǐ";
	dict[40063] = "yóu";
	dict[40064] = "tún";
	dict[40065] = "lǔ";
	dict[40066] = "fáng";
	dict[40067] = "bā,bà";
	dict[40068] = "hé,gě";
	dict[40069] = "bà";
	dict[40070] = "píng";
	dict[40071] = "nián";
	dict[40072] = "lú";
	dict[40073] = "yóu";
	dict[40074] = "zhǎ,zhà";
	dict[40075] = "fù";
	dict[40076] = "bó,bà";
	dict[40077] = "bào";
	dict[40078] = "hòu";
	dict[40079] = "pí";
	dict[40080] = "tái";
	dict[40081] = "guī,xié";
	dict[40082] = "jié";
	dict[40083] = "kào";
	dict[40084] = "wěi";
	dict[40085] = "ér";
	dict[40086] = "tóng";
	dict[40087] = "zéi";
	dict[40088] = "hòu";
	dict[40089] = "kuài";
	dict[40090] = "jì";
	dict[40091] = "jiāo";
	dict[40092] = "xiān,xiǎn";
	dict[40093] = "zhǎ";
	dict[40094] = "xiǎng";
	dict[40095] = "xún";
	dict[40096] = "gěng";
	dict[40097] = "lí";
	dict[40098] = "lián";
	dict[40099] = "jiān";
	dict[40100] = "lǐ";
	dict[40101] = "shí";
	dict[40102] = "tiáo";
	dict[40103] = "gǔn";
	dict[40104] = "shā";
	dict[40105] = "huàn";
	dict[40106] = "jūn";
	dict[40107] = "jì";
	dict[40108] = "yǒng";
	dict[40109] = "qīng";
	dict[40110] = "líng";
	dict[40111] = "qí";
	dict[40112] = "zōu";
	dict[40113] = "fēi";
	dict[40114] = "kūn";
	dict[40115] = "chāng";
	dict[40116] = "gù";
	dict[40117] = "ní";
	dict[40118] = "nián";
	dict[40119] = "diāo";
	dict[40120] = "jīng";
	dict[40121] = "shēn";
	dict[40122] = "shī";
	dict[40123] = "zī";
	dict[40124] = "fèn";
	dict[40125] = "dié";
	dict[40126] = "bī";
	dict[40127] = "cháng";
	dict[40128] = "tí";
	dict[40129] = "wēn";
	dict[40130] = "wēi";
	dict[40131] = "sāi,xǐ";
	dict[40132] = "è";
	dict[40133] = "qiū";
	dict[40134] = "fù";
	dict[40135] = "huáng";
	dict[40136] = "quán";
	dict[40137] = "jiāng";
	dict[40138] = "biān";
	dict[40139] = "sāo";
	dict[40140] = "áo";
	dict[40141] = "qí";
	dict[40142] = "tǎ";
	dict[40143] = "guān";
	dict[40144] = "yáo";
	dict[40145] = "páng";
	dict[40146] = "jiān";
	dict[40147] = "lè";
	dict[40148] = "biào";
	dict[40149] = "xuě";
	dict[40150] = "biē";
	dict[40151] = "mán";
	dict[40152] = "mǐn";
	dict[40153] = "yōng";
	dict[40154] = "wèi";
	dict[40155] = "xí";
	dict[40156] = "guì,jué";
	dict[40157] = "shàn";
	dict[40158] = "lín";
	dict[40159] = "zūn";
	dict[40160] = "hù";
	dict[40161] = "gǎn";
	dict[40162] = "lǐ";
	dict[40163] = "zhān,shàn";
	dict[40164] = "guǎn";
	dict[40165] = "niǎo,diǎo";
	dict[40166] = "yǐ";
	dict[40167] = "fú";
	dict[40168] = "lì";
	dict[40169] = "jiū";
	dict[40170] = "bú";
	dict[40171] = "yàn";
	dict[40172] = "fú";
	dict[40173] = "diāo,zhāo";
	dict[40174] = "jī";
	dict[40175] = "fèng";
	dict[40176] = "rù";
	dict[40177] = "gān,hàn,yàn";
	dict[40178] = "shī";
	dict[40179] = "fèng";
	dict[40180] = "míng";
	dict[40181] = "bǎo";
	dict[40182] = "yuān";
	dict[40183] = "zhī";
	dict[40184] = "hù";
	dict[40185] = "qín";
	dict[40186] = "fū,guī";
	dict[40187] = "bān,fén";
	dict[40188] = "wén";
	dict[40189] = "jiān,qiān,zhān";
	dict[40190] = "shī";
	dict[40191] = "yù";
	dict[40192] = "fǒu";
	dict[40193] = "yāo";
	dict[40194] = "jué";
	dict[40195] = "jué";
	dict[40196] = "pǐ";
	dict[40197] = "huān";
	dict[40198] = "zhèn";
	dict[40199] = "bǎo";
	dict[40200] = "yàn";
	dict[40201] = "yā";
	dict[40202] = "zhèng";
	dict[40203] = "fāng";
	dict[40204] = "fèng";
	dict[40205] = "wén";
	dict[40206] = "ōu";
	dict[40207] = "dài";
	dict[40208] = "jiā";
	dict[40209] = "rú";
	dict[40210] = "líng";
	dict[40211] = "miè";
	dict[40212] = "fú";
	dict[40213] = "tuó";
	dict[40214] = "mín";
	dict[40215] = "lì";
	dict[40216] = "biǎn";
	dict[40217] = "zhì";
	dict[40218] = "gē";
	dict[40219] = "yuān";
	dict[40220] = "cí";
	dict[40221] = "qú";
	dict[40222] = "xiāo";
	dict[40223] = "chī";
	dict[40224] = "dàn";
	dict[40225] = "jū";
	dict[40226] = "yāo";
	dict[40227] = "gū";
	dict[40228] = "zhōng";
	dict[40229] = "yù";
	dict[40230] = "yāng";
	dict[40231] = "yù";
	dict[40232] = "yā";
	dict[40233] = "dié";
	dict[40234] = "yù";
	dict[40235] = "tián";
	dict[40236] = "yīng";
	dict[40237] = "duī";
	dict[40238] = "wū";
	dict[40239] = "ér";
	dict[40240] = "guā";
	dict[40241] = "ài";
	dict[40242] = "zhī";
	dict[40243] = "yàn";
	dict[40244] = "héng";
	dict[40245] = "xiāo";
	dict[40246] = "jiá";
	dict[40247] = "liè";
	dict[40248] = "zhū";
	dict[40249] = "yáng";
	dict[40250] = "yí";
	dict[40251] = "hóng";
	dict[40252] = "lù";
	dict[40253] = "rú";
	dict[40254] = "móu";
	dict[40255] = "gē";
	dict[40256] = "rén";
	dict[40257] = "jiāo";
	dict[40258] = "xiū";
	dict[40259] = "zhōu";
	dict[40260] = "chī";
	dict[40261] = "luò";
	dict[40262] = "héng";
	dict[40263] = "nián";
	dict[40264] = "ě";
	dict[40265] = "luán";
	dict[40266] = "jiá";
	dict[40267] = "jì";
	dict[40268] = "tú";
	dict[40269] = "huān";
	dict[40270] = "tuǒ";
	dict[40271] = "bū";
	dict[40272] = "wú";
	dict[40273] = "jiān";
	dict[40274] = "yù";
	dict[40275] = "bó";
	dict[40276] = "jùn";
	dict[40277] = "jùn";
	dict[40278] = "bī";
	dict[40279] = "xī";
	dict[40280] = "jùn";
	dict[40281] = "jú";
	dict[40282] = "tū";
	dict[40283] = "jìng";
	dict[40284] = "tí";
	dict[40285] = "é";
	dict[40286] = "é";
	dict[40287] = "kuáng";
	dict[40288] = "hú";
	dict[40289] = "wǔ";
	dict[40290] = "shēn";
	dict[40291] = "lài";
	dict[40292] = "zān";
	dict[40293] = "pàn";
	dict[40294] = "lù";
	dict[40295] = "pí";
	dict[40296] = "shū";
	dict[40297] = "fú";
	dict[40298] = "ān";
	dict[40299] = "zhuó";
	dict[40300] = "péng";
	dict[40301] = "qín";
	dict[40302] = "qiān";
	dict[40303] = "bēi";
	dict[40304] = "diāo";
	dict[40305] = "lù";
	dict[40306] = "què";
	dict[40307] = "jiān";
	dict[40308] = "jú";
	dict[40309] = "tù";
	dict[40310] = "yā";
	dict[40311] = "yuān";
	dict[40312] = "qí";
	dict[40313] = "lí";
	dict[40314] = "yè";
	dict[40315] = "zhuī";
	dict[40316] = "kōng";
	dict[40317] = "duò";
	dict[40318] = "kūn";
	dict[40319] = "shēng";
	dict[40320] = "qí";
	dict[40321] = "jīng";
	dict[40322] = "yì";
	dict[40323] = "yì";
	dict[40324] = "jīng";
	dict[40325] = "zī";
	dict[40326] = "lái";
	dict[40327] = "dōng";
	dict[40328] = "qī";
	dict[40329] = "chún";
	dict[40330] = "gēng";
	dict[40331] = "jū";
	dict[40332] = "qū";
	dict[40333] = "yì";
	dict[40334] = "zūn";
	dict[40335] = "jī";
	dict[40336] = "shù";
	dict[40337] = "yīng";
	dict[40338] = "chì";
	dict[40339] = "miáo";
	dict[40340] = "róu";
	dict[40341] = "ān";
	dict[40342] = "qiū";
	dict[40343] = "tí,chí";
	dict[40344] = "hú";
	dict[40345] = "tí,chí";
	dict[40346] = "è";
	dict[40347] = "jiē";
	dict[40348] = "máo";
	dict[40349] = "fú,bì";
	dict[40350] = "chūn";
	dict[40351] = "tú";
	dict[40352] = "yǎn";
	dict[40353] = "hé,jiè";
	dict[40354] = "yuán";
	dict[40355] = "piān,biǎn";
	dict[40356] = "kūn";
	dict[40357] = "méi";
	dict[40358] = "hú";
	dict[40359] = "yīng";
	dict[40360] = "chuàn,zhì";
	dict[40361] = "wù";
	dict[40362] = "jú";
	dict[40363] = "dōng";
	dict[40364] = "cāng,qiāng";
	dict[40365] = "fǎng";
	dict[40366] = "hè,hú";
	dict[40367] = "yīng";
	dict[40368] = "yuán";
	dict[40369] = "xiān";
	dict[40370] = "wēng";
	dict[40371] = "shī";
	dict[40372] = "hè";
	dict[40373] = "chú";
	dict[40374] = "táng";
	dict[40375] = "xiá";
	dict[40376] = "ruò";
	dict[40377] = "liú";
	dict[40378] = "jī";
	dict[40379] = "gǔ,hú";
	dict[40380] = "jiān";
	dict[40381] = "sǔn,xùn";
	dict[40382] = "hàn";
	dict[40383] = "cí";
	dict[40384] = "cí";
	dict[40385] = "yì";
	dict[40386] = "yào";
	dict[40387] = "yàn";
	dict[40388] = "jī";
	dict[40389] = "lì";
	dict[40390] = "tián";
	dict[40391] = "kòu";
	dict[40392] = "tī";
	dict[40393] = "tī";
	dict[40394] = "yì";
	dict[40395] = "tú";
	dict[40396] = "mǎ";
	dict[40397] = "xiāo";
	dict[40398] = "gāo";
	dict[40399] = "tián";
	dict[40400] = "chén";
	dict[40401] = "jì";
	dict[40402] = "tuán";
	dict[40403] = "zhè";
	dict[40404] = "áo";
	dict[40405] = "yǎo";
	dict[40406] = "yī";
	dict[40407] = "ōu";
	dict[40408] = "chì";
	dict[40409] = "zhì";
	dict[40410] = "liù";
	dict[40411] = "yōng";
	dict[40412] = "lóu,lǚ";
	dict[40413] = "bì";
	dict[40414] = "shuāng";
	dict[40415] = "zhuó";
	dict[40416] = "yú";
	dict[40417] = "wú";
	dict[40418] = "jué";
	dict[40419] = "yín";
	dict[40420] = "tí";
	dict[40421] = "sī";
	dict[40422] = "jiāo";
	dict[40423] = "yì";
	dict[40424] = "huá";
	dict[40425] = "bì";
	dict[40426] = "yīng";
	dict[40427] = "sù";
	dict[40428] = "huáng";
	dict[40429] = "fán";
	dict[40430] = "jiāo";
	dict[40431] = "liáo";
	dict[40432] = "yàn";
	dict[40433] = "gāo";
	dict[40434] = "jiù";
	dict[40435] = "xián";
	dict[40436] = "xián";
	dict[40437] = "tú";
	dict[40438] = "mǎi";
	dict[40439] = "zūn";
	dict[40440] = "yù";
	dict[40441] = "yīng";
	dict[40442] = "lù";
	dict[40443] = "tuán";
	dict[40444] = "xián";
	dict[40445] = "xué";
	dict[40446] = "yì";
	dict[40447] = "pì";
	dict[40448] = "zhǔ";
	dict[40449] = "luó";
	dict[40450] = "xī";
	dict[40451] = "yì";
	dict[40452] = "jī";
	dict[40453] = "zé";
	dict[40454] = "yú";
	dict[40455] = "zhān";
	dict[40456] = "yè";
	dict[40457] = "yáng";
	dict[40458] = "pì";
	dict[40459] = "níng";
	dict[40460] = "hù";
	dict[40461] = "mí";
	dict[40462] = "yīng";
	dict[40463] = "méng";
	dict[40464] = "dí";
	dict[40465] = "yuè";
	dict[40466] = "yù";
	dict[40467] = "lěi";
	dict[40468] = "bǔ";
	dict[40469] = "lú";
	dict[40470] = "hè";
	dict[40471] = "lóng";
	dict[40472] = "shuāng";
	dict[40473] = "yuè";
	dict[40474] = "yīng";
	dict[40475] = "guàn";
	dict[40476] = "qú";
	dict[40477] = "lí";
	dict[40478] = "luán";
	dict[40479] = "niǎo";
	dict[40480] = "jiū";
	dict[40481] = "jī";
	dict[40482] = "yuān";
	dict[40483] = "míng";
	dict[40484] = "shī";
	dict[40485] = "ōu";
	dict[40486] = "yā";
	dict[40487] = "cāng";
	dict[40488] = "bǎo";
	dict[40489] = "zhèn";
	dict[40490] = "gū";
	dict[40491] = "dōng";
	dict[40492] = "lú";
	dict[40493] = "yā";
	dict[40494] = "xiāo";
	dict[40495] = "yāng";
	dict[40496] = "líng";
	dict[40497] = "chī";
	dict[40498] = "qú";
	dict[40499] = "yuān";
	dict[40500] = "xué";
	dict[40501] = "tuó";
	dict[40502] = "sī";
	dict[40503] = "zhì";
	dict[40504] = "ér";
	dict[40505] = "guā";
	dict[40506] = "xiū";
	dict[40507] = "héng";
	dict[40508] = "zhōu";
	dict[40509] = "gē";
	dict[40510] = "luán";
	dict[40511] = "hóng";
	dict[40512] = "wú";
	dict[40513] = "bó";
	dict[40514] = "lí";
	dict[40515] = "juān";
	dict[40516] = "hú";
	dict[40517] = "é";
	dict[40518] = "yù";
	dict[40519] = "xián";
	dict[40520] = "tí";
	dict[40521] = "wǔ";
	dict[40522] = "què";
	dict[40523] = "miáo";
	dict[40524] = "ān";
	dict[40525] = "kūn";
	dict[40526] = "bēi";
	dict[40527] = "péng";
	dict[40528] = "qiān";
	dict[40529] = "chún";
	dict[40530] = "gēng";
	dict[40531] = "yuān";
	dict[40532] = "sù";
	dict[40533] = "hú";
	dict[40534] = "hé";
	dict[40535] = "è";
	dict[40536] = "gǔ";
	dict[40537] = "qiū";
	dict[40538] = "cí";
	dict[40539] = "méi";
	dict[40540] = "wù";
	dict[40541] = "yì";
	dict[40542] = "yào";
	dict[40543] = "wēng";
	dict[40544] = "liú";
	dict[40545] = "jī";
	dict[40546] = "yì";
	dict[40547] = "jiān";
	dict[40548] = "hè";
	dict[40549] = "yī";
	dict[40550] = "yīng";
	dict[40551] = "zhè";
	dict[40552] = "liù";
	dict[40553] = "liáo";
	dict[40554] = "jiāo";
	dict[40555] = "jiù";
	dict[40556] = "yù";
	dict[40557] = "lù";
	dict[40558] = "huán";
	dict[40559] = "zhān";
	dict[40560] = "yīng";
	dict[40561] = "hù";
	dict[40562] = "méng";
	dict[40563] = "guàn";
	dict[40564] = "shuāng";
	dict[40565] = "lǔ";
	dict[40566] = "jīn";
	dict[40567] = "líng";
	dict[40568] = "jiǎn";
	dict[40569] = "xián";
	dict[40570] = "cuó";
	dict[40571] = "jiǎn";
	dict[40572] = "jiǎn";
	dict[40573] = "yán";
	dict[40574] = "cuó";
	dict[40575] = "lù";
	dict[40576] = "yōu";
	dict[40577] = "cū";
	dict[40578] = "jǐ";
	dict[40579] = "páo,biāo";
	dict[40580] = "cū";
	dict[40581] = "páo";
	dict[40582] = "zhù,cū";
	dict[40583] = "jūn,qún";
	dict[40584] = "zhǔ";
	dict[40585] = "jiān";
	dict[40586] = "mí";
	dict[40587] = "mí";
	dict[40588] = "yǔ";
	dict[40589] = "liú";
	dict[40590] = "chén";
	dict[40591] = "jūn";
	dict[40592] = "lín";
	dict[40593] = "ní";
	dict[40594] = "qí";
	dict[40595] = "lù";
	dict[40596] = "jiù";
	dict[40597] = "jūn";
	dict[40598] = "jīng";
	dict[40599] = "lí,lì";
	dict[40600] = "xiāng";
	dict[40601] = "xián";
	dict[40602] = "jiā";
	dict[40603] = "mí";
	dict[40604] = "lì";
	dict[40605] = "shè";
	dict[40606] = "zhāng";
	dict[40607] = "lín";
	dict[40608] = "jīng";
	dict[40609] = "qí";
	dict[40610] = "líng";
	dict[40611] = "yán";
	dict[40612] = "cū";
	dict[40613] = "mài";
	dict[40614] = "mài";
	dict[40615] = "hé";
	dict[40616] = "chǎo";
	dict[40617] = "fū";
	dict[40618] = "miàn";
	dict[40619] = "miàn";
	dict[40620] = "fū";
	dict[40621] = "pào";
	dict[40622] = "qù";
	dict[40623] = "qū";
	dict[40624] = "móu";
	dict[40625] = "fū";
	dict[40626] = "xiàn";
	dict[40627] = "lái";
	dict[40628] = "qū";
	dict[40629] = "miàn";
	dict[40630] = "chi";
	dict[40631] = "fēng";
	dict[40632] = "fū";
	dict[40633] = "qū";
	dict[40634] = "miàn";
	dict[40635] = "má";
	dict[40636] = "mó,me";
	dict[40637] = "mó,me,ma";
	dict[40638] = "huī";
	dict[40639] = "mí";
	dict[40640] = "zōu";
	dict[40641] = "nún";
	dict[40642] = "fén";
	dict[40643] = "huáng";
	dict[40644] = "huáng";
	dict[40645] = "jīn";
	dict[40646] = "guāng";
	dict[40647] = "tiān";
	dict[40648] = "tǒu";
	dict[40649] = "hóng";
	dict[40650] = "huà";
	dict[40651] = "kuàng";
	dict[40652] = "hóng";
	dict[40653] = "shǔ";
	dict[40654] = "lí";
	dict[40655] = "nián";
	dict[40656] = "chī";
	dict[40657] = "hēi";
	dict[40658] = "hēi";
	dict[40659] = "yì";
	dict[40660] = "qián";
	dict[40661] = "dǎn";
	dict[40662] = "xì";
	dict[40663] = "tún";
	dict[40664] = "mò";
	dict[40665] = "mò";
	dict[40666] = "qián";
	dict[40667] = "dài";
	dict[40668] = "chù";
	dict[40669] = "yǒu";
	dict[40670] = "diǎn";
	dict[40671] = "yī";
	dict[40672] = "xiá";
	dict[40673] = "yǎn";
	dict[40674] = "qū";
	dict[40675] = "měi";
	dict[40676] = "yǎn";
	dict[40677] = "qíng";
	dict[40678] = "yuè";
	dict[40679] = "lí";
	dict[40680] = "dǎng";
	dict[40681] = "dú";
	dict[40682] = "cǎn";
	dict[40683] = "yān";
	dict[40684] = "yǎn";
	dict[40685] = "yǎn";
	dict[40686] = "dàn,shèn";
	dict[40687] = "àn";
	dict[40688] = "zhěn,yān";
	dict[40689] = "dài";
	dict[40690] = "cǎn";
	dict[40691] = "yī";
	dict[40692] = "méi";
	dict[40693] = "dǎn,zhǎn";
	dict[40694] = "yǎn";
	dict[40695] = "dú";
	dict[40696] = "lú";
	dict[40697] = "zhǐ";
	dict[40698] = "fěn";
	dict[40699] = "fú";
	dict[40700] = "fǔ";
	dict[40701] = "mǐn,miǎn,měng";
	dict[40702] = "mǐn,miǎn,měng";
	dict[40703] = "yuán";
	dict[40704] = "cù";
	dict[40705] = "qù";
	dict[40706] = "cháo";
	dict[40707] = "wā";
	dict[40708] = "zhū";
	dict[40709] = "zhī";
	dict[40710] = "měng";
	dict[40711] = "áo";
	dict[40712] = "biē";
	dict[40713] = "tuó";
	dict[40714] = "bì";
	dict[40715] = "yuán";
	dict[40716] = "cháo";
	dict[40717] = "tuó";
	dict[40718] = "dǐng";
	dict[40719] = "mì";
	dict[40720] = "nài";
	dict[40721] = "dǐng";
	dict[40722] = "zī";
	dict[40723] = "gǔ";
	dict[40724] = "gǔ";
	dict[40725] = "dōng";
	dict[40726] = "fén";
	dict[40727] = "táo";
	dict[40728] = "yuān";
	dict[40729] = "pí";
	dict[40730] = "chāng";
	dict[40731] = "gāo";
	dict[40732] = "cào";
	dict[40733] = "yuān";
	dict[40734] = "tāng";
	dict[40735] = "tēng";
	dict[40736] = "shǔ";
	dict[40737] = "shǔ";
	dict[40738] = "fén";
	dict[40739] = "fèi";
	dict[40740] = "wén";
	dict[40741] = "bá";
	dict[40742] = "diāo";
	dict[40743] = "tuó";
	dict[40744] = "zhōng";
	dict[40745] = "qú";
	dict[40746] = "shēng";
	dict[40747] = "shí";
	dict[40748] = "yòu";
	dict[40749] = "shí";
	dict[40750] = "tíng";
	dict[40751] = "wú";
	dict[40752] = "jú";
	dict[40753] = "jīng";
	dict[40754] = "hún";
	dict[40755] = "jú";
	dict[40756] = "yǎn";
	dict[40757] = "tū";
	dict[40758] = "sī";
	dict[40759] = "xī";
	dict[40760] = "xiàn";
	dict[40761] = "yǎn";
	dict[40762] = "léi";
	dict[40763] = "bí";
	dict[40764] = "yào";
	dict[40765] = "qiú";
	dict[40766] = "hān";
	dict[40767] = "wù";
	dict[40768] = "wù";
	dict[40769] = "hōu";
	dict[40770] = "xiè";
	dict[40771] = "è";
	dict[40772] = "zhā";
	dict[40773] = "xiù";
	dict[40774] = "wèng";
	dict[40775] = "zhā";
	dict[40776] = "nòng";
	dict[40777] = "nàng";
	dict[40778] = "qí,zhāi";
	dict[40779] = "zhāi";
	dict[40780] = "jì";
	dict[40781] = "zī";
	dict[40782] = "jí";
	dict[40783] = "jī";
	dict[40784] = "qí,jì,zī,zhāi";
	dict[40785] = "jī";
	dict[40786] = "chǐ";
	dict[40787] = "chèn";
	dict[40788] = "chèn";
	dict[40789] = "hé";
	dict[40790] = "yá";
	dict[40791] = "yīn";
	dict[40792] = "xiè";
	dict[40793] = "bāo";
	dict[40794] = "zé";
	dict[40795] = "xiè";
	dict[40796] = "zī";
	dict[40797] = "chī";
	dict[40798] = "yàn";
	dict[40799] = "jǔ";
	dict[40800] = "tiáo";
	dict[40801] = "líng";
	dict[40802] = "líng";
	dict[40803] = "chū";
	dict[40804] = "quán";
	dict[40805] = "xiè";
	dict[40806] = "yín";
	dict[40807] = "niè";
	dict[40808] = "jiù";
	dict[40809] = "yǎo";
	dict[40810] = "chuò";
	dict[40811] = "yǔn";
	dict[40812] = "yǔ";
	dict[40813] = "chǔ";
	dict[40814] = "yǐ";
	dict[40815] = "ní";
	dict[40816] = "zé";
	dict[40817] = "zōu";
	dict[40818] = "qǔ";
	dict[40819] = "yǔn";
	dict[40820] = "yǎn";
	dict[40821] = "yú";
	dict[40822] = "è";
	dict[40823] = "wò";
	dict[40824] = "yì";
	dict[40825] = "cī";
	dict[40826] = "zōu";
	dict[40827] = "diān";
	dict[40828] = "chǔ";
	dict[40829] = "jìn";
	dict[40830] = "yà";
	dict[40831] = "chǐ";
	dict[40832] = "chèn";
	dict[40833] = "hé";
	dict[40834] = "yín,kěn";
	dict[40835] = "jǔ";
	dict[40836] = "líng";
	dict[40837] = "bāo";
	dict[40838] = "tiáo";
	dict[40839] = "zī";
	dict[40840] = "yín,kěn";
	dict[40841] = "yǔ";
	dict[40842] = "chuò";
	dict[40843] = "qǔ";
	dict[40844] = "wò";
	dict[40845] = "lóng,lǒng";
	dict[40846] = "páng";
	dict[40847] = "gōng,wò";
	dict[40848] = "páng";
	dict[40849] = "yǎn";
	dict[40850] = "lóng";
	dict[40851] = "lóng,lǒng";
	dict[40852] = "gōng";
	dict[40853] = "kān";
	dict[40854] = "dá";
	dict[40855] = "líng";
	dict[40856] = "dá";
	dict[40857] = "lóng";
	dict[40858] = "gōng";
	dict[40859] = "kān";
	dict[40860] = "guī,jūn,qiū";
	dict[40861] = "qiū";
	dict[40862] = "biē";
	dict[40863] = "guī,jūn,qiū";
	dict[40864] = "yuè";
	dict[40865] = "chuī";
	dict[40866] = "hé";
	dict[40867] = "jiǎo";
	dict[40868] = "xié";
	dict[40870] = "cháng";
	dict[40871] = "shǔ";
	dict[40872] = "huái";
	dict[40874] = "zhān";
	dict[40875] = "gàn";
	dict[40878] = "jì";
	dict[40879] = "yuè";
	dict[40880] = "zǒu";
	dict[40881] = "sì";
	dict[40882] = "kù";
	dict[40885] = "shǒu";
	dict[40887] = "gòng";
	dict[40889] = "juǎn";
	dict[40890] = "zhuó";
	dict[40891] = "luán";
	dict[40899] = "shǎn";
	dict[40900] = "liáng";
	dict[40908] = "liáng,liàng";
	dict[64030] = "yǔ";
	dict[64036] = "jí";
	dict[64041] = "dǎo";
	dict[131072] = "hē";
	dict[131073] = "qī";
	dict[131075] = "qiě,jī";
	dict[131077] = "hài";
	dict[131079] = "qiě";
	dict[131080] = "qiū";
	dict[131081] = "qiū";
	dict[131082] = "cāo";
	dict[131084] = "qiū";
	dict[131085] = "shì";
	dict[131091] = "sī";
	dict[131092] = "jué";
	dict[131093] = "gèn";
	dict[131098] = "bù";
	dict[131099] = "yù";
	dict[131101] = "kōng";
	dict[131106] = "zī";
	dict[131108] = "bìng";
	dict[131110] = "xíng";
	dict[131116] = "tiǎn";
	dict[131118] = "jī";
	dict[131121] = "mǒu";
	dict[131127] = "jī";
	dict[131128] = "yè";
	dict[131129] = "jūn";
	dict[131132] = "qián,xià";
	dict[131133] = "lù";
	dict[131134] = "pēi";
	dict[131145] = "chū";
	dict[131159] = "shì,hè";
	dict[131166] = "pēi";
	dict[131168] = "qiè";
	dict[131169] = "bǔ";
	dict[131173] = "guǎi";
	dict[131174] = "zhōng";
	dict[131175] = "zhōng";
	dict[131177] = "zhōng";
	dict[131181] = "qí";
	dict[131182] = "shū";
	dict[131184] = "guāi";
	dict[131185] = "shì";
	dict[131188] = "guī";
	dict[131191] = "chǎn";
	dict[131196] = "yī";
	dict[131197] = "wán";
	dict[131199] = "dān";
	dict[131202] = "zhōng";
	dict[131204] = "huān";
	dict[131206] = "yì";
	dict[131207] = "zuǒ";
	dict[131208] = "jié";
	dict[131217] = "zōu";
	dict[131220] = "zǐ";
	dict[131221] = "shǐ";
	dict[131222] = "dì";
	dict[131231] = "jīn";
	dict[131234] = "pài";
	dict[131235] = "yī";
	dict[131236] = "duī";
	dict[131237] = "cóng";
	dict[131239] = "shèn";
	dict[131251] = "zǒng";
	dict[131255] = "xìng";
	dict[131256] = "huáng";
	dict[131257] = "chuí";
	dict[131258] = "sī";
	dict[131263] = "shǒu";
	dict[131273] = "yà";
	dict[131274] = "yǐn";
	dict[131275] = "gōng";
	dict[131276] = "gǔn";
	dict[131279] = "jiū";
	dict[131280] = "huì";
	dict[131282] = "yě";
	dict[131284] = "jiǔ";
	dict[131285] = "zhōu";
	dict[131286] = "jiū";
	dict[131294] = "lǐ";
	dict[131295] = "yě";
	dict[131300] = "huāng";
	dict[131301] = "jǔ";
	dict[131304] = "jǐ";
	dict[131307] = "shēn";
	dict[131309] = "shǐ";
	dict[131314] = "jié";
	dict[131315] = "kuí";
	dict[131322] = "jiù";
	dict[131324] = "sī";
	dict[131331] = "gān,qián";
	dict[131333] = "yè";
	dict[131335] = "lào";
	dict[131336] = "lín";
	dict[131337] = "dòng";
	dict[131339] = "gān,qián";
	dict[131340] = "jué,zhuì";
	dict[131341] = "jié";
	dict[131342] = "nǎi";
	dict[131343] = "diǎo";
	dict[131344] = "mā";
	dict[131345] = "jué";
	dict[131346] = "chuí,shā";
	dict[131347] = "zhōu";
	dict[131348] = "huàn";
	dict[131349] = "nǎi";
	dict[131350] = "líng";
	dict[131351] = "zhōu";
	dict[131353] = "zhēng";
	dict[131354] = "tīng";
	dict[131355] = "yù";
	dict[131357] = "yù";
	dict[131358] = "shàng";
	dict[131359] = "xià";
	dict[131360] = "shàng";
	dict[131361] = "wǔ";
	dict[131362] = "xuān";
	dict[131363] = "gèn";
	dict[131364] = "chún";
	dict[131368] = "héng";
	dict[131374] = "yà,mǒ";
	dict[131376] = "lǎo";
	dict[131377] = "yí";
	dict[131381] = "shèng";
	dict[131385] = "jí";
	dict[131391] = "wéi";
	dict[131394] = "jié";
	dict[131395] = "yì";
	dict[131397] = "sòng";
	dict[131400] = "nào";
	dict[131404] = "yí";
	dict[131411] = "yóu";
	dict[131412] = "kè";
	dict[131414] = "hēng";
	dict[131415] = "diè";
	dict[131418] = "qí";
	dict[131422] = "chèng,shèng";
	dict[131423] = "chèng,shèng";
	dict[131424] = "xiǎng";
	dict[131425] = "kè";
	dict[131427] = "gǎng";
	dict[131428] = "xí";
	dict[131433] = "shú";
	dict[131434] = "guō";
	dict[131435] = "shèng";
	dict[131436] = "bāo";
	dict[131441] = "xiè";
	dict[131449] = "zhàng";
	dict[131457] = "luǒ";
	dict[131458] = "shuāi";
	dict[131468] = "yōng";
	dict[131472] = "xù";
	dict[131481] = "diè";
	dict[131483] = "dān";
	dict[131485] = "xiāng";
	dict[131487] = "wěi";
	dict[131491] = "guǎ,zhuǎ";
	dict[131492] = "dīng";
	dict[131494] = "zhà";
	dict[131495] = "rén";
	dict[131497] = "fàn";
	dict[131501] = "yīn";
	dict[131502] = "mò";
	dict[131505] = "xī";
	dict[131506] = "yǎn";
	dict[131509] = "ní";
	dict[131510] = "dàn";
	dict[131522] = "gè,gě";
	dict[131531] = "dǎn";
	dict[131532] = "hún";
	dict[131535] = "tāo";
	dict[131538] = "gōng";
	dict[131540] = "tuō,chà";
	dict[131543] = "kuā";
	dict[131544] = "chù";
	dict[131566] = "mìng";
	dict[131567] = "qù";
	dict[131569] = "mò";
	dict[131571] = "shī";
	dict[131573] = "gǎn";
	dict[131575] = "shēng";
	dict[131576] = "zuǒ";
	dict[131578] = "xiá";
	dict[131580] = "hǔ";
	dict[131589] = "shōu";
	dict[131594] = "niě";
	dict[131608] = "kuí";
	dict[131620] = "yùn";
	dict[131621] = "guǎ";
	dict[131628] = "xiāo";
	dict[131629] = "láo";
	dict[131632] = "dàn";
	dict[131633] = "suō";
	dict[131637] = "mǎng";
	dict[131638] = "yí";
	dict[131640] = "tè";
	dict[131642] = "bì";
	dict[131682] = "xǐ";
	dict[131683] = "hūn,hùn";
	dict[131684] = "dá";
	dict[131687] = "jù";
	dict[131689] = "dú";
	dict[131692] = "ǎn,yǎn";
	dict[131721] = "mèi";
	dict[131724] = "rán";
	dict[131726] = "ái";
	dict[131727] = "yù,xián";
	dict[131730] = "jiàn";
	dict[131732] = "qì";
	dict[131747] = "zhòu";
	dict[131748] = "zhì";
	dict[131749] = "zhǒng";
	dict[131750] = "nǎo";
	dict[131751] = "bìng";
	dict[131753] = "zhuàn";
	dict[131754] = "shù";
	dict[131755] = "xùn,qióng";
	dict[131756] = "jué";
	dict[131757] = "qiǎn";
	dict[131760] = "guǎ";
	dict[131761] = "hòu";
	dict[131762] = "tū";
	dict[131765] = "bēng";
	dict[131766] = "yìng";
	dict[131767] = "zhì";
	dict[131774] = "kuí";
	dict[131798] = "liàn";
	dict[131799] = "yā";
	dict[131804] = "guò";
	dict[131805] = "miǎo";
	dict[131806] = "shé";
	dict[131807] = "yǔ";
	dict[131809] = "sì";
	dict[131810] = "sǒu,zhòu";
	dict[131811] = "yǐ";
	dict[131812] = "zhì";
	dict[131815] = "qiē";
	dict[131817] = "fù";
	dict[131820] = "jú";
	dict[131821] = "bèi";
	dict[131823] = "bì";
	dict[131826] = "suǒ";
	dict[131829] = "qiǎn";
	dict[131830] = "mǐng";
	dict[131831] = "chǎn";
	dict[131834] = "sāo";
	dict[131835] = "jī";
	dict[131861] = "gòng";
	dict[131862] = "qióng";
	dict[131866] = "ròng";
	dict[131870] = "sǒu";
	dict[131871] = "sǒu";
	dict[131872] = "yáo";
	dict[131877] = "wū";
	dict[131882] = "chōu,tāo";
	dict[131885] = "shuài";
	dict[131886] = "zhē";
	dict[131887] = "lì,lí";
	dict[131888] = "gài";
	dict[131889] = "suī";
	dict[131890] = "zhān";
	dict[131892] = "zhuàng";
	dict[131894] = "huā";
	dict[131901] = "fù";
	dict[131907] = "jī";
	dict[131908] = "dōu";
	dict[131920] = "hú,lěng";
	dict[131927] = "huì";
	dict[131929] = "bǎo";
	dict[131930] = "jiǎn";
	dict[131931] = "yǎn";
	dict[131932] = "zhì";
	dict[131942] = "xián";
	dict[131944] = "měi";
	dict[131945] = "yào";
	dict[131946] = "dī";
	dict[131947] = "yí";
	dict[131951] = "bié";
	dict[131954] = "qú";
	dict[131955] = "yì";
	dict[131957] = "yàng";
	dict[131961] = "zhá";
	dict[131965] = "shà";
	dict[131986] = "mèn";
	dict[131993] = "lái";
	dict[131997] = "qiān";
	dict[132014] = "jué";
	dict[132016] = "qī";
	dict[132019] = "yú";
	dict[132022] = "zǎi";
	dict[132023] = "sà";
	dict[132024] = "sè";
	dict[132027] = "dùn";
	dict[132031] = "jiě";
	dict[132032] = "kē";
	dict[132035] = "yuē";
	dict[132039] = "jiǎn";
	dict[132040] = "yáo";
	dict[132051] = "xiān";
	dict[132053] = "xiào";
	dict[132054] = "qiāo";
	dict[132058] = "yù";
	dict[132059] = "qú";
	dict[132065] = "xiān,líng";
	dict[132066] = "luò";
	dict[132068] = "guǎng";
	dict[132071] = "chēng";
	dict[132072] = "chuǎng";
	dict[132073] = "yí";
	dict[132075] = "zhěng";
	dict[132077] = "zòng";
	dict[132078] = "duì";
	dict[132080] = "zhǎi";
	dict[132095] = "fěi";
	dict[132096] = "yí";
	dict[132097] = "méng";
	dict[132104] = "biān,pián";
	dict[132105] = "jié";
	dict[132106] = "shù";
	dict[132107] = "liáo";
	dict[132108] = "bǐ,bà";
	dict[132109] = "sú";
	dict[132113] = "dì";
	dict[132129] = "bèi";
	dict[132130] = "wèn";
	dict[132135] = "méng";
	dict[132137] = "chǎn";
	dict[132145] = "gàn";
	dict[132146] = "bèi";
	dict[132149] = "dǎo";
	dict[132154] = "pín";
	dict[132155] = "jiǎn";
	dict[132156] = "lìn";
	dict[132157] = "guì,guī";
	dict[132158] = "qī";
	dict[132159] = "hōng";
	dict[132163] = "jí";
	dict[132164] = "xiè";
	dict[132165] = "zhēng";
	dict[132166] = "chǎn";
	dict[132176] = "yáo";
	dict[132177] = "chǎn";
	dict[132184] = "diān";
	dict[132185] = "chòng";
	dict[132186] = "néi";
	dict[132187] = "néi";
	dict[132190] = "zhài";
	dict[132191] = "biān,pián";
	dict[132193] = "chǎn";
	dict[132202] = "xiāo";
	dict[132207] = "cù";
	dict[132208] = "xīn";
	dict[132209] = "jǐng";
	dict[132210] = "qiān";
	dict[132212] = "qīng";
	dict[132214] = "wú";
	dict[132215] = "cháng,zhǎng";
	dict[132217] = "gǔ";
	dict[132218] = "tiān";
	dict[132219] = "cháng,zhǎng";
	dict[132221] = "chōng";
	dict[132222] = "sǐ";
	dict[132227] = "sì";
	dict[132228] = "wù";
	dict[132229] = "sì";
	dict[132230] = "ér";
	dict[132236] = "qiāng";
	dict[132237] = "yú";
	dict[132252] = "yuǎn";
	dict[132253] = "bǐng";
	dict[132258] = "wán";
	dict[132263] = "bó";
	dict[132264] = "liáng,liàng";
	dict[132272] = "niǎo,ní";
	dict[132273] = "pì";
	dict[132277] = "liàn";
	dict[132280] = "rǎo";
	dict[132286] = "fàn";
	dict[132287] = "dí";
	dict[132294] = "jīng";
	dict[132298] = "huī,dān";
	dict[132299] = "yì";
	dict[132300] = "xián";
	dict[132310] = "lán";
	dict[132311] = "fù";
	dict[132313] = "xiòng";
	dict[132315] = "jí";
	dict[132316] = "liǎng";
	dict[132317] = "tāo";
	dict[132318] = "jí";
	dict[132319] = "fá";
	dict[132321] = "shǐ";
	dict[132322] = "jiè";
	dict[132323] = "zhá";
	dict[132324] = "shī";
	dict[132330] = "qí";
	dict[132331] = "biǎn";
	dict[132333] = "lǎn";
	dict[132334] = "lǐn";
	dict[132337] = "yù";
	dict[132338] = "chéng";
	dict[132340] = "quán";
	dict[132341] = "bì";
	dict[132342] = "zhì";
	dict[132343] = "bì,chéng";
	dict[132344] = "shèng";
	dict[132349] = "shèng";
	dict[132351] = "qín";
	dict[132352] = "bān";
	dict[132353] = "bié";
	dict[132354] = "biāo";
	dict[132355] = "xī";
	dict[132360] = "zhōng";
	dict[132361] = "juàn";
	dict[132362] = "cháng,zhǎng";
	dict[132363] = "jī,xìn";
	dict[132364] = "jué";
	dict[132365] = "xī";
	dict[132366] = "qǐn";
	dict[132368] = "jī";
	dict[132369] = "hài";
	dict[132370] = "chǐ";
	dict[132371] = "diǎn";
	dict[132372] = "yǔ";
	dict[132373] = "lún";
	dict[132374] = "jǔ";
	dict[132377] = "zhōng";
	dict[132378] = "qì";
	dict[132379] = "jī";
	dict[132383] = "duó";
	dict[132384] = "yuè";
	dict[132392] = "lián";
	dict[132399] = "bān";
	dict[132400] = "diǎn";
	dict[132402] = "héng";
	dict[132406] = "qī";
	dict[132408] = "jī,qī";
	dict[132409] = "chén";
	dict[132410] = "qiān";
	dict[132411] = "zhèng";
	dict[132412] = "mǎo";
	dict[132413] = "rén";
	dict[132414] = "zhōng";
	dict[132417] = "cóng";
	dict[132418] = "zài";
	dict[132419] = "wǎng";
	dict[132420] = "nà";
	dict[132421] = "zài";
	dict[132422] = "diàn";
	dict[132423] = "diàn";
	dict[132426] = "tǐng";
	dict[132427] = "cè";
	dict[132428] = "zōng";
	dict[132429] = "guān";
	dict[132432] = "cè";
	dict[132433] = "dān";
	dict[132434] = "yǔ";
	dict[132437] = "jiōng";
	dict[132438] = "zhǎo";
	dict[132439] = "chuò";
	dict[132440] = "yǔ";
	dict[132443] = "hé";
	dict[132445] = "nuó";
	dict[132446] = "cì";
	dict[132447] = "niǎn";
	dict[132448] = "chéng";
	dict[132451] = "qià";
	dict[132452] = "yuān";
	dict[132453] = "dào";
	dict[132454] = "yù";
	dict[132455] = "jiǎo";
	dict[132456] = "jì";
	dict[132457] = "bēi";
	dict[132461] = "zhào";
	dict[132462] = "xū";
	dict[132464] = "nuó";
	dict[132466] = "yǔ";
	dict[132467] = "dí";
	dict[132468] = "jiū";
	dict[132472] = "suǐ";
	dict[132475] = "yāo";
	dict[132479] = "wāng";
	dict[132482] = "liáo";
	dict[132484] = "tóng";
	dict[132486] = "mèng";
	dict[132491] = "yǒu";
	dict[132499] = "sī";
	dict[132507] = "lòu";
	dict[132511] = "yīn";
	dict[132517] = "chǒng";
	dict[132523] = "gǎn";
	dict[132524] = "jiū";
	dict[132534] = "qìn";
	dict[132535] = "jiǒng";
	dict[132537] = "xié,xiá";
	dict[132546] = "hè";
	dict[132550] = "tāo";
	dict[132552] = "qiú";
	dict[132553] = "xié";
	dict[132554] = "jìng";
	dict[132555] = "niǎn";
	dict[132556] = "jìng";
	dict[132559] = "jí";
	dict[132568] = "tiǎn";
	dict[132569] = "hán";
	dict[132570] = "cuì";
	dict[132571] = "dié";
	dict[132573] = "qǐng";
	dict[132581] = "pìng";
	dict[132582] = "píng";
	dict[132584] = "dié";
	dict[132585] = "lòu";
	dict[132595] = "liǎn";
	dict[132596] = "hán";
	dict[132597] = "pāng";
	dict[132598] = "táng";
	dict[132602] = "yí";
	dict[132603] = "xuán";
	dict[132604] = "suò";
	dict[132605] = "liú";
	dict[132606] = "shuǎng";
	dict[132607] = "shèn";
	dict[132609] = "bù";
	dict[132610] = "sōu";
	dict[132613] = "qín";
	dict[132614] = "shěn";
	dict[132618] = "nòng";
	dict[132619] = "tǐng";
	dict[132620] = "jiāng";
	dict[132629] = "xī";
	dict[132630] = "zhì";
	dict[132637] = "lài";
	dict[132638] = "lì";
	dict[132639] = "lì";
	dict[132642] = "hé";
	dict[132643] = "jiào";
	dict[132645] = "yán";
	dict[132647] = "shū";
	dict[132650] = "shǐ";
	dict[132657] = "zhěn";
	dict[132659] = "yōu";
	dict[132666] = "suò";
	dict[132667] = "wú";
	dict[132673] = "cháng";
	dict[132674] = "cóng";
	dict[132678] = "jù";
	dict[132686] = "shū";
	dict[132692] = "jiù";
	dict[132693] = "wéi";
	dict[132702] = "huò";
	dict[132704] = "shuāng,shuǎng";
	dict[132708] = "jiē";
	dict[132716] = "zǎo";
	dict[132724] = "qū";
	dict[132726] = "ǒu";
	dict[132732] = "guǎ";
	dict[132739] = "háo";
	dict[132740] = "lǐ";
	dict[132741] = "zhì";
	dict[132742] = "xiàn";
	dict[132745] = "bū";
	dict[132746] = "chàng";
	dict[132755] = "yūn";
	dict[132756] = "hé";
	dict[132764] = "tāo";
	dict[132768] = "biāo";
	dict[132769] = "tāo";
	dict[132771] = "dāo";
	dict[132773] = "diāo";
	dict[132775] = "èr";
	dict[132776] = "jiū";
	dict[132781] = "dì";
	dict[132782] = "yì";
	dict[132783] = "kūn";
	dict[132785] = "zhé";
	dict[132788] = "zhōu";
	dict[132789] = "jù";
	dict[132793] = "shàn";
	dict[132794] = "shà";
	dict[132795] = "diāo";
	dict[132796] = "bān";
	dict[132797] = "jī";
	dict[132800] = "zhōng";
	dict[132803] = "yí";
	dict[132805] = "kōu";
	dict[132810] = "gē";
	dict[132811] = "bā";
	dict[132814] = "gōu";
	dict[132817] = "xián";
	dict[132818] = "guā";
	dict[132819] = "liǔ";
	dict[132820] = "chǐ";
	dict[132821] = "guāi";
	dict[132822] = "chuān";
	dict[132824] = "lí";
	dict[132825] = "cù";
	dict[132826] = "shuā";
	dict[132833] = "bǐ";
	dict[132834] = "gē";
	dict[132837] = "bǐng";
	dict[132838] = "lì";
	dict[132841] = "jiǔ";
	dict[132842] = "tiāo,diāo";
	dict[132843] = "duǒ";
	dict[132844] = "xíng";
	dict[132845] = "yān,yuān";
	dict[132846] = "quān";
	dict[132848] = "bié";
	dict[132849] = "liè,zā";
	dict[132851] = "kè,hé";
	dict[132853] = "gēn";
	dict[132854] = "zhēn";
	dict[132856] = "fén";
	dict[132865] = "yí";
	dict[132867] = "jiù";
	dict[132868] = "xù";
	dict[132869] = "jiǎo";
	dict[132872] = "lǜ";
	dict[132873] = "jiǔ";
	dict[132875] = "chǒu";
	dict[132878] = "xiàn";
	dict[132880] = "kuài";
	dict[132881] = "duì";
	dict[132886] = "luō";
	dict[132887] = "xī,xì";
	dict[132888] = "qìn";
	dict[132889] = "bù";
	dict[132900] = "qià";
	dict[132913] = "pī";
	dict[132914] = "yā";
	dict[132915] = "bēng";
	dict[132916] = "guǒ";
	dict[132917] = "guā";
	dict[132918] = "nǎo";
	dict[132921] = "jú";
	dict[132924] = "qiā";
	dict[132926] = "jué,guì";
	dict[132932] = "lì";
	dict[132944] = "huā";
	dict[132945] = "jiāo";
	dict[132952] = "qià";
	dict[132954] = "zhá,zhé";
	dict[132955] = "qiā";
	dict[132957] = "zhé,zhá";
	dict[132958] = "chā";
	dict[132959] = "yǐng";
	dict[132962] = "yān";
	dict[132964] = "chōng";
	dict[132968] = "chǐ";
	dict[132970] = "wān";
	dict[132972] = "sōu";
	dict[132978] = "kǎn";
	dict[132979] = "yuán";
	dict[132985] = "jiè";
	dict[132989] = "chóu";
	dict[132991] = "suǒ";
	dict[132992] = "tū";
	dict[132995] = "zhé";
	dict[132996] = "tī,chǐ";
	dict[132998] = "wū";
	dict[133e3] = "dā";
	dict[133001] = "lì";
	dict[133002] = "chā,chāi,chá";
	dict[133013] = "róng";
	dict[133014] = "gòng";
	dict[133015] = "què";
	dict[133017] = "lí";
	dict[133022] = "tāo";
	dict[133028] = "lì";
	dict[133031] = "mí";
	dict[133033] = "chì,shuài";
	dict[133036] = "gùn";
	dict[133037] = "lóu,lòu";
	dict[133038] = "chuǎng";
	dict[133039] = "suǒ";
	dict[133040] = "jiǎo";
	dict[133041] = "jìn";
	dict[133045] = "fá";
	dict[133046] = "zhāi";
	dict[133054] = "jìn";
	dict[133055] = "cuì";
	dict[133058] = "cèng";
	dict[133059] = "zǔn";
	dict[133060] = "lì";
	dict[133061] = "zhào,rì,zhì";
	dict[133064] = "piē";
	dict[133065] = "zhǎn,chàn";
	dict[133066] = "xī";
	dict[133067] = "yào";
	dict[133068] = "fǔ,pǒu";
	dict[133069] = "chōng";
	dict[133075] = "cuì";
	dict[133079] = "guā";
	dict[133087] = "fá";
	dict[133091] = "jī";
	dict[133094] = "sè";
	dict[133095] = "zhān";
	dict[133096] = "lìng,líng";
	dict[133097] = "sè";
	dict[133098] = "yè";
	dict[133104] = "jū";
	dict[133110] = "tū";
	dict[133114] = "rú,ruǎn";
	dict[133115] = "zé,bài";
	dict[133116] = "huán";
	dict[133121] = "xiǎn";
	dict[133123] = "qiān";
	dict[133124] = "zhào";
	dict[133131] = "cán";
	dict[133133] = "lí";
	dict[133134] = "kuò";
	dict[133135] = "lì";
	dict[133136] = "róu";
	dict[133140] = "dú";
	dict[133143] = "liè";
	dict[133148] = "yīng";
	dict[133149] = "lì";
	dict[133152] = "dú";
	dict[133154] = "líng";
	dict[133162] = "wān";
	dict[133167] = "dié";
	dict[133171] = "jiū";
	dict[133173] = "lì";
	dict[133174] = "kū";
	dict[133175] = "kēng";
	dict[133177] = "zhěn";
	dict[133184] = "hè";
	dict[133186] = "bì,fú";
	dict[133188] = "pī";
	dict[133194] = "hāng";
	dict[133201] = "zhuó";
	dict[133202] = "duǐ";
	dict[133204] = "yì";
	dict[133212] = "kè";
	dict[133213] = "yì";
	dict[133214] = "mò";
	dict[133216] = "chì";
	dict[133217] = "cán";
	dict[133219] = "gěng";
	dict[133220] = "kè";
	dict[133221] = "shì";
	dict[133229] = "líng,lìng";
	dict[133230] = "bēng,kēng";
	dict[133233] = "duàn";
	dict[133238] = "juān";
	dict[133239] = "nǎo";
	dict[133240] = "zǐ";
	dict[133243] = "zòng";
	dict[133251] = "táng";
	dict[133254] = "xiá";
	dict[133255] = "hàn";
	dict[133260] = "lüè";
	dict[133261] = "qián";
	dict[133267] = "mò";
	dict[133268] = "ōu";
	dict[133269] = "háo";
	dict[133273] = "zhá";
	dict[133274] = "juàn";
	dict[133275] = "cóng";
	dict[133280] = "lì,jí";
	dict[133281] = "zhá";
	dict[133282] = "yǒu";
	dict[133283] = "diàn";
	dict[133284] = "jué";
	dict[133285] = "bèi";
	dict[133289] = "yǎo";
	dict[133290] = "piē";
	dict[133297] = "jìn";
	dict[133298] = "kǎi,xiè";
	dict[133299] = "sè";
	dict[133300] = "yǎng";
	dict[133301] = "jìn";
	dict[133305] = "kè";
	dict[133316] = "chān";
	dict[133319] = "niǎn";
	dict[133321] = "wàn";
	dict[133322] = "lǜ";
	dict[133328] = "yún";
	dict[133329] = "yāo";
	dict[133330] = "bāo";
	dict[133333] = "jūn";
	dict[133334] = "xuán";
	dict[133336] = "zhōu";
	dict[133344] = "kuì";
	dict[133345] = "fèng";
	dict[133354] = "qú";
	dict[133355] = "shào";
	dict[133356] = "sǔn";
	dict[133360] = "dū";
	dict[133362] = "kuǎi";
	dict[133363] = "pào";
	dict[133370] = "bào";
	dict[133374] = "fù";
	dict[133375] = "jiù";
	dict[133376] = "rán";
	dict[133380] = "jū";
	dict[133386] = "qióng";
	dict[133389] = "zhōu";
	dict[133390] = "huà";
	dict[133391] = "bǎo";
	dict[133397] = "yí,xián";
	dict[133399] = "yí";
	dict[133400] = "yí,yǐ";
	dict[133405] = "mào";
	dict[133414] = "ruǎn,rú";
	dict[133419] = "cí";
	dict[133422] = "hán";
	dict[133424] = "cóng,xuán";
	dict[133428] = "xì";
	dict[133433] = "quán";
	dict[133434] = "tiáo";
	dict[133436] = "diào";
	dict[133438] = "hán";
	dict[133447] = "yě";
	dict[133450] = "jī";
	dict[133453] = "ē";
	dict[133454] = "wéi";
	dict[133456] = "cāng";
	dict[133457] = "diào";
	dict[133459] = "fāng";
	dict[133461] = "è";
	dict[133462] = "dì";
	dict[133464] = "suǎn";
	dict[133465] = "quán";
	dict[133468] = "è";
	dict[133469] = "ōu,ǒu";
	dict[133470] = "xuán";
	dict[133474] = "wǔ";
	dict[133478] = "yì";
	dict[133479] = "bēi";
	dict[133480] = "móu";
	dict[133481] = "jī";
	dict[133482] = "tāo";
	dict[133483] = "biān";
	dict[133484] = "jiù";
	dict[133488] = "hū";
	dict[133492] = "hán,gān";
	dict[133503] = "shí";
	dict[133507] = "sà";
	dict[133512] = "bì";
	dict[133514] = "hán";
	dict[133515] = "jìng";
	dict[133518] = "qìn";
	dict[133519] = "cuó";
	dict[133520] = "cì";
	dict[133522] = "bān";
	dict[133527] = "duī";
	dict[133532] = "xì,shù";
	dict[133537] = "xìng";
	dict[133543] = "zhī";
	dict[133544] = "luàn";
	dict[133546] = "hū";
	dict[133547] = "jí";
	dict[133548] = "guāi";
	dict[133554] = "pāng";
	dict[133568] = "zhū";
	dict[133573] = "bǐ";
	dict[133575] = "yú";
	dict[133586] = "qǐ";
	dict[133589] = "hé";
	dict[133590] = "chǔ";
	dict[133593] = "shào";
	dict[133594] = "chì";
	dict[133595] = "bó";
	dict[133598] = "zhào";
	dict[133599] = "réng,nǎi";
	dict[133600] = "yóu";
	dict[133604] = "nǎi";
	dict[133609] = "huǐ,huì";
	dict[133610] = "tiáo,yǒu";
	dict[133611] = "bǎn";
	dict[133616] = "xū";
	dict[133620] = "yóu,yòu";
	dict[133621] = "chì";
	dict[133631] = "héng";
	dict[133635] = "wài";
	dict[133638] = "xiè";
	dict[133642] = "jué";
	dict[133644] = "suī";
	dict[133645] = "qīng";
	dict[133646] = "zhuàn";
	dict[133648] = "yǎng";
	dict[133650] = "bì";
	dict[133653] = "jì";
	dict[133656] = "bì";
	dict[133658] = "xī";
	dict[133664] = "jí";
	dict[133666] = "jùn";
	dict[133669] = "liáo";
	dict[133670] = "yōu";
	dict[133677] = "jú";
	dict[133682] = "yuè";
	dict[133685] = "bàng";
	dict[133688] = "pí";
	dict[133691] = "zè";
	dict[133694] = "yì";
	dict[133695] = "dǐ";
	dict[133696] = "jú";
	dict[133698] = "qiè";
	dict[133700] = "suǒ";
	dict[133702] = "cì";
	dict[133704] = "zhù";
	dict[133705] = "yuè,jú";
	dict[133711] = "jiāo";
	dict[133716] = "shí";
	dict[133717] = "sī";
	dict[133719] = "yí";
	dict[133720] = "xiá";
	dict[133728] = "yuán";
	dict[133733] = "guó";
	dict[133735] = "kè";
	dict[133738] = "cuì";
	dict[133739] = "yì";
	dict[133749] = "lì";
	dict[133751] = "diǎn";
	dict[133754] = "xī,chí";
	dict[133759] = "bì";
	dict[133762] = "biǎn";
	dict[133763] = "méi";
	dict[133764] = "lì";
	dict[133767] = "sǒu";
	dict[133776] = "liú";
	dict[133777] = "guì";
	dict[133778] = "kè";
	dict[133783] = "yí";
	dict[133784] = "yín,ǎn,kǎn";
	dict[133785] = "xǐ";
	dict[133786] = "yín,ǎn,kǎn";
	dict[133791] = "kè";
	dict[133794] = "qīn";
	dict[133795] = "shè";
	dict[133799] = "wǒ";
	dict[133806] = "pì";
	dict[133809] = "lì";
	dict[133810] = "jǐn";
	dict[133811] = "hǔ";
	dict[133814] = "yuè";
	dict[133815] = "hóng";
	dict[133818] = "lì";
	dict[133819] = "fù";
	dict[133827] = "jué";
	dict[133828] = "xiān";
	dict[133833] = "diān";
	dict[133836] = "lì";
	dict[133838] = "chū";
	dict[133840] = "yuán";
	dict[133842] = "yuán";
	dict[133843] = "tū";
	dict[133848] = "jiān";
	dict[133851] = "bǎi";
	dict[133852] = "dì";
	dict[133853] = "zhǎng";
	dict[133859] = "yù";
	dict[133860] = "lìn";
	dict[133864] = "duì";
	dict[133869] = "cān";
	dict[133870] = "tú";
	dict[133877] = "cān";
	dict[133878] = "tān";
	dict[133879] = "jí";
	dict[133880] = "qí,zhāi";
	dict[133881] = "shàn";
	dict[133882] = "nián,shì";
	dict[133894] = "guàn";
	dict[133896] = "bǐ";
	dict[133899] = "xīng,nián";
	dict[133907] = "zhěn";
	dict[133913] = "sā";
	dict[133915] = "mò";
	dict[133916] = "pān";
	dict[133917] = "fú";
	dict[133918] = "gǒng";
	dict[133922] = "tāo";
	dict[133923] = "bàng";
	dict[133930] = "biào";
	dict[133932] = "xī";
	dict[133934] = "jié";
	dict[133942] = "jìn";
	dict[133944] = "mò";
	dict[133950] = "qiān";
	dict[133960] = "sì";
	dict[133961] = "jǐng";
	dict[133963] = "chǐ";
	dict[133974] = "gǎn";
	dict[133975] = "jǐng";
	dict[133976] = "jǐng";
	dict[133977] = "shēn";
	dict[133989] = "suì";
	dict[133999] = "zhā";
	dict[134e3] = "lí";
	dict[134004] = "zhuō";
	dict[134009] = "biàn";
	dict[134015] = "tún";
	dict[134019] = "bì";
	dict[134022] = "fèi";
	dict[134026] = "dé";
	dict[134028] = "zhú";
	dict[134033] = "jū";
	dict[134041] = "yǐ";
	dict[134044] = "yà,yīn";
	dict[134047] = "chì";
	dict[134048] = "guǎ,bǎi";
	dict[134049] = "zhǐ";
	dict[134054] = "zhào";
	dict[134056] = "réng";
	dict[134059] = "yōu";
	dict[134061] = "bó";
	dict[134063] = "jǐ";
	dict[134064] = "pǐn";
	dict[134065] = "xū";
	dict[134067] = "yīng";
	dict[134068] = "yāng";
	dict[134069] = "màng";
	dict[134070] = "gǎ,gě";
	dict[134071] = "jí";
	dict[134073] = "cái";
	dict[134077] = "lòng";
	dict[134079] = "sa,san";
	dict[134080] = "chuān";
	dict[134081] = "zú";
	dict[134082] = "cí";
	dict[134083] = "wǔ";
	dict[134084] = "rèn";
	dict[134088] = "dài";
	dict[134089] = "jí";
	dict[134091] = "yǐ";
	dict[134093] = "rán";
	dict[134096] = "huò";
	dict[134097] = "guā";
	dict[134099] = "zhé";
	dict[134100] = "pì";
	dict[134103] = "zā";
	dict[134104] = "bàn";
	dict[134105] = "jié";
	dict[134108] = "hōu,xǔ";
	dict[134111] = "xiàn";
	dict[134112] = "huī";
	dict[134115] = "zú";
	dict[134121] = "zhā";
	dict[134122] = "dāi,dǎi,è";
	dict[134123] = "gē";
	dict[134125] = "pì";
	dict[134127] = "piàn";
	dict[134128] = "shí";
	dict[134129] = "liǎng";
	dict[134130] = "yuè";
	dict[134131] = "hù,wěn";
	dict[134132] = "biàn";
	dict[134135] = "réng";
	dict[134136] = "tīng";
	dict[134137] = "réng";
	dict[134143] = "lù,liū";
	dict[134148] = "yī";
	dict[134149] = "zhī";
	dict[134151] = "jīn";
	dict[134152] = "wēng";
	dict[134153] = "chāo";
	dict[134155] = "qiū";
	dict[134157] = "zhǔ,zhù";
	dict[134159] = "zhá";
	dict[134160] = "pǒ";
	dict[134161] = "àn";
	dict[134163] = "hé";
	dict[134165] = "chū";
	dict[134166] = "yán";
	dict[134170] = "shì";
	dict[134171] = "hù,gào";
	dict[134172] = "è";
	dict[134178] = "bā";
	dict[134195] = "bǐng";
	dict[134196] = "shí";
	dict[134201] = "tuō";
	dict[134202] = "dài";
	dict[134203] = "wài,wai";
	dict[134204] = "pō";
	dict[134205] = "rǒng";
	dict[134206] = "jū";
	dict[134208] = "bō";
	dict[134211] = "āo";
	dict[134224] = "yǔ";
	dict[134225] = "dōu";
	dict[134227] = "guǐ";
	dict[134228] = "shòu";
	dict[134231] = "suō";
	dict[134232] = "nì";
	dict[134233] = "zhōu,yù,jì,cù";
	dict[134234] = "lòng";
	dict[134235] = "bǐng";
	dict[134236] = "zùn";
	dict[134237] = "yè";
	dict[134238] = "rǎn";
	dict[134240] = "líng";
	dict[134241] = "sà,shài";
	dict[134244] = "lěi";
	dict[134245] = "è,huì,zá";
	dict[134247] = "zhòng";
	dict[134248] = "jǐ";
	dict[134251] = "è";
	dict[134255] = "zuò";
	dict[134258] = "nà";
	dict[134259] = "yǔn";
	dict[134282] = "xiè";
	dict[134283] = "zuǐ";
	dict[134284] = "shù";
	dict[134285] = "diū";
	dict[134286] = "fèi,fá,wa";
	dict[134287] = "rěn";
	dict[134289] = "bāng";
	dict[134290] = "hán";
	dict[134291] = "hóng";
	dict[134292] = "yī";
	dict[134294] = "yī";
	dict[134297] = "kē";
	dict[134298] = "yì";
	dict[134299] = "huí";
	dict[134300] = "zhēng";
	dict[134309] = "lǐ";
	dict[134318] = "jìng";
	dict[134321] = "gé";
	dict[134324] = "nóu";
	dict[134325] = "qiè,jié";
	dict[134327] = "dié";
	dict[134329] = "jì";
	dict[134330] = "yì";
	dict[134331] = "yí";
	dict[134333] = "fú";
	dict[134334] = "shuò";
	dict[134335] = "shuò";
	dict[134336] = "yǒng";
	dict[134337] = "kěn";
	dict[134338] = "huá";
	dict[134339] = "hòng";
	dict[134342] = "zāi";
	dict[134343] = "hé";
	dict[134346] = "hē";
	dict[134347] = "qiǎn";
	dict[134348] = "qià";
	dict[134350] = "sì";
	dict[134352] = "bāng";
	dict[134380] = "jīng";
	dict[134381] = "kè";
	dict[134387] = "āi";
	dict[134388] = "lóu";
	dict[134390] = "tū";
	dict[134393] = "chuáng";
	dict[134396] = "sòng";
	dict[134397] = "chéng";
	dict[134398] = "hǎn";
	dict[134399] = "wēi";
	dict[134402] = "nǔ";
	dict[134404] = "jiǔ";
	dict[134407] = "bīn";
	dict[134433] = "xiào";
	dict[134434] = "shēng";
	dict[134435] = "hǒu";
	dict[134438] = "zhù";
	dict[134440] = "guān";
	dict[134441] = "jī,qǐ";
	dict[134443] = "jì,cù,yù,zhù";
	dict[134445] = "xī";
	dict[134447] = "shè";
	dict[134448] = "ǒu";
	dict[134449] = "hú";
	dict[134450] = "tà";
	dict[134451] = "xiáo";
	dict[134453] = "zào";
	dict[134456] = "bò";
	dict[134457] = "qì";
	dict[134458] = "wā";
	dict[134459] = "tuō";
	dict[134460] = "dào";
	dict[134462] = "nà";
	dict[134483] = "xuán";
	dict[134488] = "mèn";
	dict[134496] = "zhāi";
	dict[134499] = "yà";
	dict[134502] = "wǔ";
	dict[134503] = "zhén,chún";
	dict[134504] = "de";
	dict[134505] = "hē";
	dict[134507] = "āng";
	dict[134508] = "pí";
	dict[134509] = "sè";
	dict[134510] = "fěn";
	dict[134511] = "guā";
	dict[134515] = "pǒ";
	dict[134519] = "xuàn";
	dict[134520] = "hān,mí";
	dict[134521] = "gāng";
	dict[134522] = "bā";
	dict[134523] = "zōng";
	dict[134524] = "mèng";
	dict[134556] = "zhì";
	dict[134567] = "diān";
	dict[134568] = "xī";
	dict[134571] = "dà";
	dict[134572] = "nàng";
	dict[134576] = "diāo";
	dict[134577] = "luò";
	dict[134578] = "kè";
	dict[134583] = "yì";
	dict[134584] = "jué";
	dict[134585] = "hé";
	dict[134587] = "jí";
	dict[134590] = "hè";
	dict[134591] = "niè,zá";
	dict[134592] = "rǔn";
	dict[134593] = "qián,jiān";
	dict[134594] = "dài";
	dict[134595] = "shāo,sù,shòu";
	dict[134596] = "kè";
	dict[134597] = "zhú";
	dict[134599] = "shī";
	dict[134600] = "lǜ,liè";
	dict[134601] = "jiā";
	dict[134602] = "pián";
	dict[134603] = "hòu";
	dict[134604] = "jī,zé";
	dict[134605] = "tà";
	dict[134606] = "chóu,shòu";
	dict[134607] = "wō";
	dict[134608] = "jìng,jiàng";
	dict[134609] = "pō";
	dict[134610] = "zhāi";
	dict[134611] = "xīn";
	dict[134614] = "biàn";
	dict[134617] = "xù";
	dict[134622] = "gū";
	dict[134623] = "jiè";
	dict[134624] = "qǐ";
	dict[134626] = "xián";
	dict[134632] = "biǎn";
	dict[134648] = "é,yóng";
	dict[134650] = "bó";
	dict[134651] = "piāo";
	dict[134655] = "zǎ";
	dict[134657] = "pài";
	dict[134658] = "tū";
	dict[134660] = "yīng";
	dict[134669] = "xiào";
	dict[134702] = "xiǎng";
	dict[134705] = "nuò";
	dict[134706] = "gē";
	dict[134707] = "bó";
	dict[134708] = "xiè";
	dict[134712] = "zhēn,chún";
	dict[134713] = "yú";
	dict[134714] = "nì";
	dict[134720] = "xùn";
	dict[134721] = "wà";
	dict[134723] = "àng";
	dict[134724] = "hàn";
	dict[134725] = "hōng";
	dict[134726] = "dān";
	dict[134728] = "nuó";
	dict[134730] = "cǎo";
	dict[134731] = "jí";
	dict[134732] = "něng";
	dict[134733] = "yǒng,róng";
	dict[134734] = "xiāo";
	dict[134736] = "chuǎ";
	dict[134737] = "yào";
	dict[134739] = "gé";
	dict[134740] = "táng";
	dict[134741] = "bào";
	dict[134742] = "chǎn";
	dict[134744] = "xù";
	dict[134747] = "hái";
	dict[134749] = "chóu";
	dict[134751] = "jiǎn";
	dict[134752] = "zuō";
	dict[134756] = "wèi";
	dict[134757] = "dā";
	dict[134758] = "pī";
	dict[134765] = "gē";
	dict[134771] = "jié";
	dict[134800] = "huàn";
	dict[134802] = "xī";
	dict[134804] = "pèn";
	dict[134805] = "liū,liáo";
	dict[134806] = "mǔ";
	dict[134807] = "miē";
	dict[134808] = "làng";
	dict[134809] = "tuì";
	dict[134810] = "bān";
	dict[134813] = "gē";
	dict[134815] = "kù";
	dict[134818] = "jiā";
	dict[134819] = "bō";
	dict[134861] = "huàn";
	dict[134863] = "zú";
	dict[134864] = "luò";
	dict[134871] = "lí";
	dict[134873] = "hé";
	dict[134874] = "mó";
	dict[134876] = "shuì,lǜ,sū";
	dict[134877] = "shēn";
	dict[134878] = "kǎng";
	dict[134879] = "chì";
	dict[134880] = "líng";
	dict[134881] = "luǒ";
	dict[134884] = "yǎn";
	dict[134885] = "zhào";
	dict[134886] = "chuǎ";
	dict[134887] = "gǔ";
	dict[134888] = "qǐn";
	dict[134890] = "tán";
	dict[134891] = "fèn";
	dict[134892] = "tú";
	dict[134897] = "líng";
	dict[134899] = "zuò";
	dict[134900] = "lǎng";
	dict[134934] = "lán";
	dict[134935] = "zàn";
	dict[134936] = "wù";
	dict[134941] = "lí";
	dict[134942] = "ā";
	dict[134943] = "lüè";
	dict[134944] = "zhǐ";
	dict[134945] = "chóu";
	dict[134946] = "jiàng,qiàng";
	dict[134948] = "jiān";
	dict[134953] = "lún";
	dict[134954] = "yí";
	dict[134956] = "shāng";
	dict[134958] = "ǎi";
	dict[134971] = "jī";
	dict[135004] = "yì";
	dict[135005] = "nín";
	dict[135009] = "huì";
	dict[135011] = "zhā";
	dict[135014] = "hǎn";
	dict[135016] = "yǐn";
	dict[135017] = "bì";
	dict[135018] = "ān";
	dict[135019] = "xiā,xiǎ";
	dict[135020] = "ní";
	dict[135024] = "dī";
	dict[135025] = "jiǎn";
	dict[135026] = "pán";
	dict[135029] = "yù";
	dict[135030] = "chuài,cuì,chuò";
	dict[135031] = "zā";
	dict[135033] = "chá";
	dict[135035] = "zhé";
	dict[135036] = "sè";
	dict[135038] = "pēn,pǔ";
	dict[135039] = "gū";
	dict[135040] = "zhé";
	dict[135046] = "lí";
	dict[135047] = "dōu";
	dict[135049] = "chóu";
	dict[135051] = "zuǐ";
	dict[135052] = "pò";
	dict[135055] = "shē";
	dict[135056] = "lóng";
	dict[135074] = "shù";
	dict[135076] = "jìn";
	dict[135077] = "líng";
	dict[135080] = "kāng";
	dict[135081] = "là";
	dict[135083] = "xū";
	dict[135084] = "jìn";
	dict[135086] = "chuān";
	dict[135090] = "yuè";
	dict[135110] = "mǎi";
	dict[135111] = "xiè";
	dict[135112] = "jiū";
	dict[135113] = "jì";
	dict[135115] = "yuè";
	dict[135119] = "jiān";
	dict[135121] = "hán,gǎn,ǎn,hǎn";
	dict[135123] = "sà";
	dict[135124] = "huì";
	dict[135125] = "qiào";
	dict[135127] = "sè";
	dict[135128] = "zuǐ";
	dict[135131] = "lǔ";
	dict[135132] = "huà";
	dict[135133] = "chū";
	dict[135134] = "shǎn";
	dict[135135] = "wò";
	dict[135136] = "jí";
	dict[135137] = "zhuó";
	dict[135138] = "xián,xiàn";
	dict[135139] = "yī";
	dict[135140] = "guó";
	dict[135141] = "kuì,guì";
	dict[135175] = "dǒng";
	dict[135185] = "zhōu";
	dict[135188] = "lù,lou";
	dict[135190] = "bō";
	dict[135191] = "shí";
	dict[135192] = "yìng";
	dict[135193] = "kū";
	dict[135225] = "zhì";
	dict[135226] = "xié";
	dict[135229] = "yè,hè";
	dict[135230] = "è";
	dict[135231] = "lǜ";
	dict[135232] = "hàn";
	dict[135233] = "yè,kài";
	dict[135238] = "luò";
	dict[135239] = "chuò";
	dict[135240] = "fàn";
	dict[135241] = "zhí";
	dict[135242] = "yìng";
	dict[135243] = "wěn";
	dict[135244] = "wā";
	dict[135245] = "ài";
	dict[135246] = "yú";
	dict[135247] = "méng";
	dict[135249] = "huā";
	dict[135251] = "liè";
	dict[135252] = "jīng";
	dict[135253] = "zá";
	dict[135271] = "zāng";
	dict[135272] = "duì";
	dict[135274] = "jì";
	dict[135278] = "wō";
	dict[135280] = "jí";
	dict[135281] = "xī";
	dict[135283] = "zhàn";
	dict[135284] = "tuán";
	dict[135286] = "jiē";
	dict[135306] = "yú";
	dict[135311] = "liè";
	dict[135314] = "zhì";
	dict[135315] = "shī";
	dict[135317] = "lǎo";
	dict[135318] = "lài,tà";
	dict[135319] = "wěi";
	dict[135320] = "páo";
	dict[135321] = "chí";
	dict[135322] = "yǐng";
	dict[135323] = "dòu";
	dict[135325] = "dòu";
	dict[135327] = "bào";
	dict[135328] = "qiè";
	dict[135329] = "shù";
	dict[135330] = "jiāo";
	dict[135331] = "zhí";
	dict[135337] = "liè";
	dict[135339] = "péng";
	dict[135341] = "zhē";
	dict[135359] = "ōu,ou";
	dict[135362] = "xiè";
	dict[135363] = "jí";
	dict[135364] = "lài";
	dict[135365] = "yíng";
	dict[135366] = "cēng";
	dict[135367] = "bì";
	dict[135368] = "kè";
	dict[135379] = "bō";
	dict[135382] = "lē";
	dict[135389] = "lùn";
	dict[135393] = "lóng";
	dict[135394] = "xì";
	dict[135396] = "lài";
	dict[135398] = "lìn";
	dict[135401] = "guī";
	dict[135411] = "xīng";
	dict[135412] = "chú";
	dict[135413] = "yōng";
	dict[135415] = "lí";
	dict[135416] = "cī";
	dict[135431] = "qǐng";
	dict[135441] = "jiān";
	dict[135442] = "dào";
	dict[135443] = "jiǎn";
	dict[135444] = "qìng";
	dict[135445] = "xiè";
	dict[135446] = "yìng";
	dict[135455] = "há";
	dict[135457] = "zhe";
	dict[135458] = "shē";
	dict[135459] = "mí";
	dict[135460] = "huán";
	dict[135473] = "cù";
	dict[135474] = "rú";
	dict[135475] = "sǎ";
	dict[135476] = "huò";
	dict[135477] = "yī";
	dict[135479] = "dī";
	dict[135481] = "luàn";
	dict[135483] = "yì";
	dict[135490] = "bò";
	dict[135491] = "páng";
	dict[135492] = "tán";
	dict[135493] = "é,éi";
	dict[135494] = "zāng";
	dict[135495] = "cóng";
	dict[135507] = "zhāi";
	dict[135509] = "xǐ";
	dict[135510] = "mǎng";
	dict[135512] = "là";
	dict[135513] = "yùn";
	dict[135521] = "è";
	dict[135525] = "dié";
	dict[135533] = "guān";
	dict[135537] = "huàn";
	dict[135541] = "shì";
	dict[135542] = "jiǎn";
	dict[135545] = "zhān";
	dict[135546] = "jí";
	dict[135547] = "huàn";
	dict[135557] = "wàn";
	dict[135558] = "luǒ";
	dict[135567] = "dòu";
	dict[135573] = "liàn";
	dict[135586] = "qiú";
	dict[135587] = "niè,dí";
	dict[135588] = "nǎn";
	dict[135589] = "jiù";
	dict[135590] = "yuè";
	dict[135593] = "yāo,jiǒng";
	dict[135594] = "chuāng";
	dict[135596] = "yīn";
	dict[135598] = "cǎn";
	dict[135599] = "lǐ";
	dict[135600] = "dùn";
	dict[135601] = "nǎn";
	dict[135602] = "nǎn";
	dict[135608] = "rì,guó";
	dict[135613] = "yuè";
	dict[135616] = "yóu";
	dict[135618] = "yīn";
	dict[135620] = "guó,niè";
	dict[135621] = "guó";
	dict[135624] = "dàng,tuó";
	dict[135633] = "zhēn";
	dict[135634] = "mí";
	dict[135635] = "dié";
	dict[135638] = "zhēn";
	dict[135642] = "kuā";
	dict[135644] = "hán";
	dict[135645] = "sòng";
	dict[135646] = "hé";
	dict[135647] = "jī";
	dict[135648] = "zhé";
	dict[135652] = "bǐng";
	dict[135654] = "wéi";
	dict[135655] = "tōu";
	dict[135657] = "tú";
	dict[135660] = "gāng";
	dict[135661] = "lóu";
	dict[135662] = "quán";
	dict[135663] = "hùn";
	dict[135664] = "zhuǎn";
	dict[135665] = "què";
	dict[135667] = "hóng";
	dict[135669] = "dàng";
	dict[135670] = "hé";
	dict[135671] = "tài";
	dict[135672] = "guāi";
	dict[135674] = "yù";
	dict[135676] = "yà";
	dict[135679] = "wān";
	dict[135680] = "qūn";
	dict[135685] = "jué";
	dict[135686] = "ōu";
	dict[135689] = "quān";
	dict[135690] = "zhí";
	dict[135691] = "kǔn";
	dict[135693] = "líng";
	dict[135694] = "wū,rì";
	dict[135695] = "xìn";
	dict[135696] = "dá";
	dict[135698] = "yuān";
	dict[135699] = "yuàn";
	dict[135703] = "mò";
	dict[135705] = "yóu";
	dict[135710] = "wǔ";
	dict[135712] = "zhāng";
	dict[135715] = "xuān";
	dict[135718] = "rǎo";
	dict[135719] = "gǔn";
	dict[135720] = "yù";
	dict[135726] = "xiá";
	dict[135727] = "biǎn";
	dict[135728] = "yóu";
	dict[135730] = "yīn";
	dict[135732] = "xuán,rǔ";
	dict[135733] = "yóu";
	dict[135734] = "léi";
	dict[135740] = "tǐng,tíng,zhēng,zhǐ";
	dict[135743] = "zhēn";
	dict[135746] = "tǐng";
	dict[135748] = "zài,kū";
	dict[135749] = "gā";
	dict[135750] = "lá";
	dict[135751] = "kuài";
	dict[135753] = "què";
	dict[135758] = "jú";
	dict[135760] = "chūn";
	dict[135761] = "dā";
	dict[135762] = "tún";
	dict[135763] = "āi";
	dict[135767] = "zǐ";
	dict[135770] = "huáng,fēng";
	dict[135771] = "yì";
	dict[135777] = "zuò";
	dict[135782] = "wù";
	dict[135785] = "bào";
	dict[135786] = "chí";
	dict[135787] = "tún";
	dict[135789] = "rì";
	dict[135796] = "lú,hù";
	dict[135799] = "jié";
	dict[135800] = "shì";
	dict[135802] = "zuān";
	dict[135809] = "yì";
	dict[135812] = "fèn";
	dict[135813] = "fèn,biàn";
	dict[135817] = "mò";
	dict[135821] = "shù";
	dict[135835] = "áo";
	dict[135837] = "pǐ";
	dict[135838] = "píng,pìng";
	dict[135839] = "pō";
	dict[135840] = "jiá";
	dict[135841] = "zhóu";
	dict[135843] = "qiū";
	dict[135845] = "zhào";
	dict[135847] = "yǒu";
	dict[135848] = "tán";
	dict[135851] = "rǒng";
	dict[135853] = "mì";
	dict[135862] = "yì";
	dict[135864] = "rǒng";
	dict[135867] = "liè";
	dict[135868] = "qióng";
	dict[135897] = "huí";
	dict[135898] = "jì";
	dict[135903] = "gào";
	dict[135911] = "yóu";
	dict[135912] = "chā";
	dict[135913] = "dé";
	dict[135914] = "yīn";
	dict[135916] = "yù";
	dict[135917] = "bèi";
	dict[135919] = "bó";
	dict[135922] = "zuò";
	dict[135956] = "qiāo";
	dict[135962] = "chǎ";
	dict[135964] = "xīn";
	dict[135966] = "chí";
	dict[135972] = "kuí";
	dict[135974] = "fèi";
	dict[135977] = "tā,dá";
	dict[135978] = "guài";
	dict[135981] = "duō";
	dict[135986] = "guī";
	dict[136012] = "chǎn";
	dict[136013] = "nǎo";
	dict[136016] = "hú";
	dict[136018] = "táo";
	dict[136033] = "yì";
	dict[136036] = "niè";
	dict[136037] = "zhài";
	dict[136038] = "huán";
	dict[136040] = "dù";
	dict[136042] = "qì";
	dict[136043] = "cè";
	dict[136046] = "chuí";
	dict[136050] = "dā";
	dict[136054] = "zhì";
	dict[136055] = "gèng";
	dict[136059] = "wèng";
	dict[136065] = "hù";
	dict[136073] = "dù";
	dict[136074] = "fàn";
	dict[136077] = "chí";
	dict[136080] = "yì";
	dict[136081] = "àn";
	dict[136082] = "kuò";
	dict[136083] = "hè";
	dict[136084] = "wò";
	dict[136088] = "yīng";
	dict[136090] = "piǎn";
	dict[136107] = "zhá,qì";
	dict[136108] = "zhuǎ";
	dict[136110] = "sù";
	dict[136115] = "nì";
	dict[136122] = "zhú";
	dict[136123] = "chán";
	dict[136126] = "bèng";
	dict[136127] = "ní";
	dict[136128] = "zhí";
	dict[136129] = "huì";
	dict[136150] = "ài";
	dict[136152] = "xià";
	dict[136154] = "zhì";
	dict[136155] = "xī";
	dict[136158] = "jiǎng";
	dict[136169] = "duī";
	dict[136170] = "fū";
	dict[136173] = "jiāo";
	dict[136174] = "cháo";
	dict[136175] = "bài";
	dict[136178] = "xì";
	dict[136181] = "liè";
	dict[136188] = "áo";
	dict[136203] = "zāo";
	dict[136204] = "chù";
	dict[136207] = "tuǒ";
	dict[136210] = "háo,hào";
	dict[136211] = "kāng";
	dict[136212] = "yín";
	dict[136214] = "xiàn";
	dict[136221] = "fù";
	dict[136222] = "biē";
	dict[136224] = "kuī";
	dict[136228] = "qiè";
	dict[136229] = "sà";
	dict[136255] = "dā,da";
	dict[136256] = "yě,shù";
	dict[136260] = "zhǎng";
	dict[136262] = "liáng";
	dict[136264] = "duǐ";
	dict[136269] = "láo";
	dict[136270] = "xūn";
	dict[136280] = "zhì";
	dict[136282] = "kū";
	dict[136286] = "suì";
	dict[136287] = "wō";
	dict[136290] = "dié";
	dict[136291] = "kū";
	dict[136292] = "luǒ,yíng";
	dict[136303] = "jiǎn";
	dict[136310] = "jiǎng";
	dict[136315] = "zhuì";
	dict[136317] = "shuǎng";
	dict[136318] = "yú";
	dict[136321] = "sà";
	dict[136323] = "yù,ào";
	dict[136324] = "lǎn";
	dict[136330] = "yù";
	dict[136332] = "qiǎn";
	dict[136333] = "jù";
	dict[136335] = "liè";
	dict[136338] = "shú";
	dict[136339] = "xiàn";
	dict[136342] = "gài";
	dict[136354] = "tái";
	dict[136359] = "tiǎn";
	dict[136361] = "gāo";
	dict[136367] = "mèng";
	dict[136369] = "dí";
	dict[136371] = "mián";
	dict[136382] = "huī,kuì";
	dict[136393] = "duò";
	dict[136397] = "liè";
	dict[136402] = "lài";
	dict[136403] = "yín,yīn";
	dict[136404] = "lǎn";
	dict[136406] = "jiāo";
	dict[136408] = "huò";
	dict[136412] = "qiáng";
	dict[136419] = "guō";
	dict[136422] = "zhàn";
	dict[136429] = "mǐ";
	dict[136432] = "kuī";
	dict[136439] = "duò";
	dict[136447] = "yín";
	dict[136455] = "lèi";
	dict[136469] = "gòng";
	dict[136475] = "tǐng";
	dict[136476] = "yáo";
	dict[136478] = "wǎng";
	dict[136482] = "jié";
	dict[136483] = "jié,qiè";
	dict[136488] = "xiū";
	dict[136490] = "shù";
	dict[136497] = "wèi";
	dict[136500] = "yù";
	dict[136513] = "zhān";
	dict[136516] = "yī";
	dict[136521] = "āng";
	dict[136527] = "sǎng";
	dict[136528] = "chóu";
	dict[136530] = "kuà";
	dict[136534] = "jǔ,féng";
	dict[136535] = "hài";
	dict[136546] = "miǎn,mǎn";
	dict[136549] = "xuè";
	dict[136551] = "hàng";
	dict[136552] = "fú";
	dict[136554] = "chóu";
	dict[136558] = "líng";
	dict[136560] = "zōng";
	dict[136585] = "kūn";
	dict[136586] = "sù";
	dict[136588] = "zhōng";
	dict[136590] = "zhāo";
	dict[136592] = "diě";
	dict[136593] = "gǒu";
	dict[136594] = "yún";
	dict[136595] = "dān";
	dict[136596] = "nuǒ";
	dict[136599] = "niǎo";
	dict[136603] = "bǐng";
	dict[136605] = "rán";
	dict[136606] = "chān";
	dict[136610] = "rǒng";
	dict[136611] = "yīn";
	dict[136612] = "chān";
	dict[136615] = "zhì";
	dict[136618] = "guài";
	dict[136619] = "nuó";
	dict[136620] = "shēn";
	dict[136623] = "sù";
	dict[136626] = "wǒ";
	dict[136627] = "chǐ";
	dict[136630] = "mò";
	dict[136634] = "miè";
	dict[136635] = "zhí";
	dict[136638] = "qī";
	dict[136641] = "gōu";
	dict[136646] = "lǒu";
	dict[136648] = "zī";
	dict[136653] = "dǎng";
	dict[136655] = "xiǎn";
	dict[136657] = "rǒu";
	dict[136660] = "tài";
	dict[136663] = "pěng";
	dict[136670] = "xī";
	dict[136674] = "kuā,běn";
	dict[136676] = "guì";
	dict[136677] = "chún";
	dict[136678] = "jiè";
	dict[136690] = "jiè,bēn";
	dict[136691] = "xī";
	dict[136693] = "kū";
	dict[136695] = "gū";
	dict[136696] = "zhà,kuā";
	dict[136697] = "fàn";
	dict[136700] = "xiè";
	dict[136717] = "huán,qié";
	dict[136719] = "niǎo";
	dict[136720] = "xì";
	dict[136731] = "cū";
	dict[136733] = "gǔn";
	dict[136737] = "xī";
	dict[136743] = "qiá";
	dict[136746] = "māng";
	dict[136749] = "zhé";
	dict[136752] = "juàn";
	dict[136756] = "biē";
	dict[136768] = "biē";
	dict[136773] = "quán";
	dict[136779] = "xì";
	dict[136782] = "jiǎo,miǎo";
	dict[136784] = "quán";
	dict[136785] = "zhǐ";
	dict[136786] = "tiān";
	dict[136787] = "kāi";
	dict[136792] = "sǎn,yì";
	dict[136795] = "zī";
	dict[136803] = "jié";
	dict[136810] = "bié";
	dict[136812] = "dòu";
	dict[136813] = "zuī";
	dict[136819] = "jú";
	dict[136822] = "yǎn";
	dict[136833] = "bì";
	dict[136837] = "kuǎi";
	dict[136839] = "yàn";
	dict[136840] = "wéi";
	dict[136842] = "huān";
	dict[136844] = "hào";
	dict[136845] = "lián";
	dict[136849] = "gōng";
	dict[136852] = "méng";
	dict[136855] = "lěi";
	dict[136857] = "dì";
	dict[136859] = "bǐng";
	dict[136860] = "huān,kàn";
	dict[136863] = "wā";
	dict[136864] = "jué";
	dict[136868] = "bì";
	dict[136870] = "jī";
	dict[136872] = "chì";
	dict[136877] = "bā";
	dict[136878] = "jiǔ";
	dict[136887] = "dì";
	dict[136888] = "yāo";
	dict[136889] = "zhàng";
	dict[136891] = "dà";
	dict[136892] = "shí";
	dict[136893] = "hào";
	dict[136894] = "shū";
	dict[136908] = "yè";
	dict[136919] = "bì";
	dict[136920] = "pǐ";
	dict[136921] = "yǎo,yāo";
	dict[136924] = "dī";
	dict[136925] = "càn";
	dict[136926] = "pín";
	dict[136927] = "yuè";
	dict[136928] = "qiē";
	dict[136929] = "pī";
	dict[136944] = "zhí";
	dict[136949] = "tuǒ";
	dict[136950] = "xiè";
	dict[136957] = "yè";
	dict[136960] = "fàn";
	dict[136961] = "guā";
	dict[136962] = "hù";
	dict[136963] = "rǔ";
	dict[136969] = "rǎn,ràn";
	dict[136970] = "fǒu";
	dict[136971] = "huāng";
	dict[136986] = "rú";
	dict[136989] = "dòng";
	dict[136994] = "mǎo";
	dict[136997] = "duī";
	dict[136998] = "huì";
	dict[136999] = "xì";
	dict[137e3] = "xiū";
	dict[137002] = "nǎo";
	dict[137003] = "rǎn";
	dict[137004] = "yī";
	dict[137007] = "zhé";
	dict[137009] = "jì";
	dict[137010] = "gào";
	dict[137011] = "yòu";
	dict[137013] = "pū";
	dict[137023] = "mǔ";
	dict[137032] = "chù";
	dict[137033] = "cū";
	dict[137034] = "zhé";
	dict[137035] = "niǎo";
	dict[137037] = "qiè";
	dict[137039] = "pín";
	dict[137040] = "chá";
	dict[137042] = "niǎo";
	dict[137043] = "suī";
	dict[137047] = "qún";
	dict[137049] = "chá";
	dict[137050] = "chéng";
	dict[137051] = "yáo";
	dict[137052] = "dù";
	dict[137053] = "wāng";
	dict[137055] = "niàn";
	dict[137062] = "nǒu";
	dict[137063] = "xì";
	dict[137065] = "yāo";
	dict[137067] = "chān";
	dict[137103] = "nài";
	dict[137112] = "xiè";
	dict[137113] = "miè";
	dict[137114] = "kěng";
	dict[137116] = "cù";
	dict[137118] = "shěng";
	dict[137119] = "pàn";
	dict[137120] = "hù";
	dict[137122] = "kè";
	dict[137123] = "xiàn";
	dict[137125] = "hóu";
	dict[137126] = "qióng";
	dict[137127] = "zōng";
	dict[137130] = "fú";
	dict[137131] = "nài";
	dict[137133] = "nì";
	dict[137135] = "kǔ";
	dict[137150] = "nèn";
	dict[137165] = "gē";
	dict[137169] = "hóu";
	dict[137171] = "āi";
	dict[137173] = "shī";
	dict[137182] = "xiū";
	dict[137183] = "cōng";
	dict[137184] = "jiāo";
	dict[137186] = "zhá";
	dict[137187] = "xiāo";
	dict[137188] = "liàn";
	dict[137189] = "qǔ";
	dict[137192] = "shǎn";
	dict[137193] = "xiè";
	dict[137195] = "gòng";
	dict[137196] = "miè";
	dict[137197] = "chái";
	dict[137199] = "ēn";
	dict[137200] = "wǎn";
	dict[137203] = "dòu";
	dict[137222] = "kòu";
	dict[137225] = "lí";
	dict[137226] = "tiáo";
	dict[137227] = "shī";
	dict[137231] = "sāng";
	dict[137234] = "guān";
	dict[137238] = "hào";
	dict[137239] = "zhì";
	dict[137240] = "yàng";
	dict[137241] = "tōng";
	dict[137242] = "bì";
	dict[137244] = "mó,mò";
	dict[137246] = "fú";
	dict[137253] = "qiáng";
	dict[137273] = "zhì";
	dict[137276] = "sōu";
	dict[137279] = "niǎo";
	dict[137280] = "juàn";
	dict[137282] = "yàng";
	dict[137284] = "huāng";
	dict[137288] = "bēng";
	dict[137289] = "mó";
	dict[137290] = "cháo";
	dict[137294] = "lǚ,lóu";
	dict[137295] = "shāo";
	dict[137296] = "bǔ";
	dict[137297] = "zēng";
	dict[137298] = "sī,xī";
	dict[137299] = "xū";
	dict[137300] = "zuì";
	dict[137301] = "yuē";
	dict[137302] = "zān,cān";
	dict[137303] = "luǎn,luàn";
	dict[137317] = "qú";
	dict[137338] = "miǎo";
	dict[137344] = "zhuàn";
	dict[137352] = "dàng";
	dict[137354] = "yuān";
	dict[137358] = "fàn";
	dict[137362] = "jǔ";
	dict[137365] = "huǐ";
	dict[137366] = "qì";
	dict[137368] = "yùn,yíng";
	dict[137370] = "màn";
	dict[137372] = "mǒ";
	dict[137393] = "piāo";
	dict[137395] = "jìn";
	dict[137401] = "yāo";
	dict[137408] = "chì";
	dict[137409] = "nì";
	dict[137410] = "sōu";
	dict[137416] = "shù";
	dict[137419] = "piāo";
	dict[137428] = "hàn";
	dict[137429] = "pín";
	dict[137440] = "yāo";
	dict[137442] = "néi";
	dict[137450] = "shì";
	dict[137452] = "yuān";
	dict[137454] = "cài";
	dict[137455] = "jié";
	dict[137465] = "xiè";
	dict[137469] = "yán";
	dict[137470] = "xiāo";
	dict[137483] = "xiè";
	dict[137484] = "lì";
	dict[137486] = "fàn";
	dict[137495] = "zhù";
	dict[137497] = "nà";
	dict[137499] = "zhuǎn";
	dict[137502] = "kuī";
	dict[137506] = "luó";
	dict[137515] = "qiā";
	dict[137526] = "wān";
	dict[137533] = "shǔ";
	dict[137535] = "chèng,kǒng";
	dict[137537] = "yì";
	dict[137542] = "hǎo,hào";
	dict[137544] = "jiào";
	dict[137547] = "huì";
	dict[137549] = "xiào";
	dict[137550] = "cí,zǐ";
	dict[137560] = "chuā";
	dict[137566] = "jì,bèi";
	dict[137574] = "nǐ,jìn";
	dict[137575] = "jìn";
	dict[137576] = "nǐ,jìn";
	dict[137577] = "tǐ";
	dict[137590] = "jù,rú";
	dict[137592] = "mìng";
	dict[137597] = "lí";
	dict[137599] = "zhòng";
	dict[137601] = "xù";
	dict[137603] = "qióng";
	dict[137604] = "fú";
	dict[137606] = "bìn";
	dict[137610] = "jì";
	dict[137613] = "qí";
	dict[137614] = "xì";
	dict[137620] = "dèng";
	dict[137621] = "ér";
	dict[137627] = "shú";
	dict[137628] = "tóng";
	dict[137629] = "xiáo";
	dict[137631] = "pí";
	dict[137640] = "dǎn";
	dict[137642] = "jí";
	dict[137651] = "xiào";
	dict[137655] = "cóng";
	dict[137657] = "guān";
	dict[137659] = "bīn";
	dict[137660] = "rǒng";
	dict[137677] = "miàn,bīn";
	dict[137682] = "miàn";
	dict[137684] = "shū";
	dict[137685] = "xiáo,shǒu";
	dict[137686] = "bǎo";
	dict[137687] = "wà";
	dict[137689] = "pào";
	dict[137699] = "gǎi";
	dict[137701] = "hū";
	dict[137702] = "héng";
	dict[137704] = "zhú";
	dict[137705] = "guāi";
	dict[137709] = "guì,guǐ";
	dict[137710] = "yǎo";
	dict[137711] = "jì";
	dict[137713] = "hài";
	dict[137721] = "dài";
	dict[137724] = "bīn";
	dict[137725] = "huǎng,huāng";
	dict[137728] = "chá";
	dict[137730] = "wù";
	dict[137732] = "xià,sāi";
	dict[137733] = "jú";
	dict[137735] = "yǎo,xiǎng";
	dict[137750] = "fěn";
	dict[137751] = "zào";
	dict[137755] = "fēng";
	dict[137756] = "jì";
	dict[137762] = "jū";
	dict[137763] = "yù";
	dict[137767] = "zǎi";
	dict[137769] = "hūn";
	dict[137778] = "jié";
	dict[137779] = "xiòng,hùn";
	dict[137781] = "nài";
	dict[137787] = "nǒu";
	dict[137789] = "shěng";
	dict[137791] = "yù";
	dict[137794] = "huán";
	dict[137795] = "gěng";
	dict[137796] = "wǎn";
	dict[137798] = "tuó";
	dict[137799] = "qiāo";
	dict[137816] = "yìn";
	dict[137818] = "jiā,zhuàn";
	dict[137825] = "suǒ";
	dict[137827] = "jié";
	dict[137828] = "xī";
	dict[137829] = "wěng";
	dict[137833] = "máng";
	dict[137846] = "yáng";
	dict[137848] = "yáo";
	dict[137853] = "máng";
	dict[137854] = "ōu";
	dict[137857] = "án";
	dict[137861] = "lòu";
	dict[137872] = "diàn";
	dict[137873] = "è";
	dict[137874] = "zǐ";
	dict[137879] = "è";
	dict[137881] = "àn";
	dict[137886] = "huò";
	dict[137888] = "céng";
	dict[137904] = "xiòng";
	dict[137905] = "jì";
	dict[137907] = "zuó";
	dict[137909] = "qí";
	dict[137913] = "liáo";
	dict[137914] = "zhēng";
	dict[137920] = "jī";
	dict[137921] = "qī,chèn";
	dict[137922] = "juǎn";
	dict[137923] = "níng";
	dict[137947] = "mián";
	dict[137951] = "sè";
	dict[137957] = "hè";
	dict[137958] = "rǒng";
	dict[137959] = "qǐn";
	dict[137964] = "jū";
	dict[137967] = "lì";
	dict[137971] = "sè";
	dict[137973] = "shí";
	dict[137976] = "nì";
	dict[137977] = "xián";
	dict[137978] = "fū";
	dict[137981] = "rǔ,yù";
	dict[137985] = "xiòng";
	dict[137986] = "guì";
	dict[137988] = "jì";
	dict[137990] = "měng,mèng";
	dict[137991] = "fū";
	dict[137993] = "sài";
	dict[137994] = "yù";
	dict[137995] = "jiào";
	dict[137996] = "mèng";
	dict[137997] = "lóng";
	dict[137998] = "qiāng";
	dict[138e3] = "mí,mǐ";
	dict[138003] = "yí";
	dict[138006] = "hān";
	dict[138007] = "nì";
	dict[138008] = "lào";
	dict[138009] = "sèng";
	dict[138012] = "lǐn";
	dict[138014] = "yù";
	dict[138021] = "nuó";
	dict[138027] = "wù";
	dict[138031] = "biǎn";
	dict[138034] = "biǎn";
	dict[138035] = "xuān,shòu";
	dict[138037] = "jiān";
	dict[138040] = "biǎn";
	dict[138050] = "dé";
	dict[138055] = "zhuān";
	dict[138059] = "rǒng";
	dict[138064] = "shuàn";
	dict[138072] = "jiā";
	dict[138074] = "mó";
	dict[138075] = "huǐ";
	dict[138078] = "zhān";
	dict[138082] = "bài";
	dict[138083] = "liè";
	dict[138085] = "xiē";
	dict[138093] = "jiǎn";
	dict[138094] = "shǒu";
	dict[138099] = "kào";
	dict[138100] = "xì";
	dict[138103] = "guān";
	dict[138104] = "luàn";
	dict[138109] = "xì";
	dict[138110] = "nǒu";
	dict[138111] = "chǎng";
	dict[138126] = "liáng";
	dict[138137] = "nài";
	dict[138138] = "rǔ";
	dict[138142] = "zhì";
	dict[138150] = "cáo";
	dict[138160] = "lì";
	dict[138171] = "lán";
	dict[138175] = "chān";
	dict[138177] = "wāng";
	dict[138180] = "lì";
	dict[138183] = "wù";
	dict[138184] = "páo";
	dict[138185] = "yòu";
	dict[138187] = "gān";
	dict[138191] = "ān";
	dict[138192] = "xiū";
	dict[138193] = "shuǐ,zhuǐ";
	dict[138194] = "ruǐ";
	dict[138200] = "bǎn";
	dict[138201] = "yóu";
	dict[138203] = "zuǒ";
	dict[138210] = "huó";
	dict[138211] = "yào";
	dict[138213] = "huī";
	dict[138216] = "zuò";
	dict[138217] = "xiāo";
	dict[138219] = "mián";
	dict[138224] = "gà";
	dict[138225] = "yuǎn";
	dict[138227] = "bò";
	dict[138228] = "chào";
	dict[138229] = "tuǐ,kuì";
	dict[138231] = "bò,kòu";
	dict[138237] = "gà";
	dict[138239] = "tiāo";
	dict[138240] = "ná";
	dict[138242] = "kuī";
	dict[138245] = "hú";
	dict[138246] = "niè";
	dict[138251] = "huí";
	dict[138252] = "lǒu";
	dict[138254] = "tí";
	dict[138256] = "qiào";
	dict[138257] = "qiáo";
	dict[138258] = "zhǒng";
	dict[138262] = "dī";
	dict[138266] = "lín";
	dict[138269] = "quán";
	dict[138270] = "zhuān";
	dict[138272] = "léi,luán";
	dict[138274] = "xié";
	dict[138275] = "shī";
	dict[138277] = "rén,yí";
	dict[138280] = "dāng";
	dict[138283] = "niǎn";
	dict[138287] = "shǐ,diǎo,běi";
	dict[138290] = "xián";
	dict[138293] = "jī";
	dict[138296] = "jī";
	dict[138297] = "zhí";
	dict[138301] = "ài";
	dict[138302] = "cī";
	dict[138303] = "pú";
	dict[138305] = "shǐ";
	dict[138306] = "tún";
	dict[138309] = "qū";
	dict[138310] = "shǔ";
	dict[138311] = "diān";
	dict[138313] = "xiǎo";
	dict[138314] = "shuǐ";
	dict[138316] = "huán";
	dict[138320] = "yí";
	dict[138321] = "juān";
	dict[138324] = "zhǐ,qì";
	dict[138332] = "zhào";
	dict[138339] = "xù";
	dict[138351] = "lòng";
	dict[138353] = "zhù";
	dict[138355] = "suǒ";
	dict[138359] = "dié";
	dict[138362] = "qú";
	dict[138364] = "kè,kuà";
	dict[138365] = "hū";
	dict[138366] = "jū";
	dict[138368] = "qǐng";
	dict[138374] = "jī";
	dict[138381] = "bīng";
	dict[138389] = "tì";
	dict[138391] = "jué";
	dict[138394] = "qiú";
	dict[138403] = "jiàng";
	dict[138410] = "yùn";
	dict[138413] = "mèi";
	dict[138414] = "pī";
	dict[138416] = "qú";
	dict[138428] = "mì";
	dict[138430] = "tuī";
	dict[138431] = "tì";
	dict[138434] = "kài";
	dict[138436] = "bǐ";
	dict[138438] = "qū,qù";
	dict[138447] = "tiāo";
	dict[138449] = "chù";
	dict[138456] = "jú";
	dict[138458] = "xī";
	dict[138462] = "lìn";
	dict[138477] = "chǐ";
	dict[138478] = "jī";
	dict[138484] = "lú";
	dict[138488] = "lì";
	dict[138494] = "jué";
	dict[138501] = "zhū";
	dict[138502] = "lù";
	dict[138510] = "niè";
	dict[138516] = "quán";
	dict[138520] = "xìng";
	dict[138526] = "yǔn";
	dict[138541] = "yà";
	dict[138543] = "è";
	dict[138545] = "hù,jié";
	dict[138553] = "jié";
	dict[138560] = "máng";
	dict[138569] = "wù";
	dict[138572] = "chā";
	dict[138577] = "qīn";
	dict[138578] = "jié,qǐ";
	dict[138579] = "hóng";
	dict[138581] = "dān";
	dict[138582] = "ěn";
	dict[138583] = "zè";
	dict[138584] = "hù";
	dict[138585] = "àng";
	dict[138586] = "jiè";
	dict[138587] = "fù";
	dict[138588] = "yòng";
	dict[138590] = "fēng";
	dict[138604] = "mù";
	dict[138605] = "cūn";
	dict[138614] = "sè";
	dict[138615] = "cóng";
	dict[138619] = "kāng";
	dict[138626] = "yào";
	dict[138627] = "ài";
	dict[138628] = "bāo";
	dict[138630] = "pǒ";
	dict[138632] = "shǐ";
	dict[138633] = "fàn";
	dict[138635] = "jú";
	dict[138636] = "pí";
	dict[138638] = "wèi";
	dict[138639] = "kū";
	dict[138640] = "qié";
	dict[138641] = "gān";
	dict[138658] = "kuàng";
	dict[138659] = "suì";
	dict[138660] = "bēng,yòng";
	dict[138661] = "jiā";
	dict[138662] = "yà";
	dict[138666] = "kàn";
	dict[138667] = "niè";
	dict[138669] = "xíng";
	dict[138671] = "xì";
	dict[138673] = "lìn";
	dict[138674] = "duǒ";
	dict[138686] = "shí";
	dict[138696] = "shì";
	dict[138699] = "duì";
	dict[138701] = "jiāng";
	dict[138702] = "yǔ";
	dict[138703] = "lù";
	dict[138704] = "ěn";
	dict[138707] = "gǔ";
	dict[138709] = "wěi";
	dict[138710] = "chē";
	dict[138711] = "huàn,huán";
	dict[138712] = "bié";
	dict[138715] = "hàn";
	dict[138716] = "tuí";
	dict[138717] = "nà";
	dict[138718] = "qǐ";
	dict[138720] = "tóu";
	dict[138721] = "yuān";
	dict[138722] = "wáng";
	dict[138724] = "wú";
	dict[138725] = "gào";
	dict[138728] = "kēng,xíng";
	dict[138730] = "yí,níng";
	dict[138731] = "chéng";
	dict[138744] = "xiāo";
	dict[138746] = "guǐ";
	dict[138747] = "yà";
	dict[138748] = "suì";
	dict[138749] = "sǒng";
	dict[138751] = "zhuó";
	dict[138754] = "tū,tú";
	dict[138755] = "jiǎn";
	dict[138757] = "tāo";
	dict[138760] = "zè";
	dict[138761] = "lì";
	dict[138764] = "zhù";
	dict[138766] = "jié";
	dict[138769] = "tì";
	dict[138772] = "xié";
	dict[138773] = "qióng";
	dict[138775] = "yà";
	dict[138776] = "jū";
	dict[138779] = "yín";
	dict[138780] = "zhí";
	dict[138782] = "kǎn";
	dict[138783] = "zī";
	dict[138785] = "kē";
	dict[138787] = "niè";
	dict[138788] = "qiáng";
	dict[138789] = "wǎn";
	dict[138790] = "zé";
	dict[138792] = "jū";
	dict[138794] = "zì";
	dict[138795] = "pīn";
	dict[138820] = "yà";
	dict[138823] = "lín";
	dict[138825] = "qí";
	dict[138830] = "huí";
	dict[138835] = "qì";
	dict[138836] = "bēng";
	dict[138837] = "yáng";
	dict[138838] = "suì";
	dict[138840] = "qǐ";
	dict[138841] = "guī";
	dict[138850] = "qìn";
	dict[138851] = "ē";
	dict[138853] = "zuò";
	dict[138856] = "zè";
	dict[138857] = "qì";
	dict[138858] = "jí";
	dict[138860] = "tuó";
	dict[138861] = "dié";
	dict[138863] = "huì";
	dict[138864] = "máo";
	dict[138866] = "xǔ";
	dict[138869] = "hóu";
	dict[138870] = "yǎn";
	dict[138871] = "xiáng";
	dict[138872] = "cōng";
	dict[138873] = "hú";
	dict[138876] = "àn,yǎn";
	dict[138878] = "bǐng";
	dict[138887] = "duǒ";
	dict[138896] = "zhǔ";
	dict[138897] = "dié";
	dict[138898] = "yōu";
	dict[138899] = "qǐ";
	dict[138900] = "shí";
	dict[138901] = "xūn";
	dict[138902] = "yōu";
	dict[138903] = "kān";
	dict[138904] = "qiǎo";
	dict[138907] = "qiāng,huà";
	dict[138908] = "pén";
	dict[138910] = "shí";
	dict[138911] = "quán";
	dict[138913] = "yíng";
	dict[138919] = "shā";
	dict[138923] = "tāo";
	dict[138925] = "hòng";
	dict[138926] = "pǐ";
	dict[138927] = "yáo";
	dict[138930] = "jùn";
	dict[138932] = "tú";
	dict[138933] = "chái";
	dict[138935] = "xià";
	dict[138936] = "qí";
	dict[138938] = "qióng";
	dict[138941] = "jìn";
	dict[138952] = "zhēn";
	dict[138956] = "zhū";
	dict[138958] = "xī";
	dict[138960] = "wēng";
	dict[138961] = "zhǒng";
	dict[138962] = "wù,máo";
	dict[138968] = "kē";
	dict[138969] = "kuò";
	dict[138970] = "kǎng";
	dict[138973] = "cháo";
	dict[138974] = "bì";
	dict[138975] = "mò";
	dict[138976] = "zhù";
	dict[138977] = "hàn,yán";
	dict[138978] = "yǔ";
	dict[138979] = "yí";
	dict[138980] = "má";
	dict[138983] = "qì";
	dict[138984] = "gùn";
	dict[138985] = "màn";
	dict[138986] = "liáo,liù";
	dict[138987] = "lín";
	dict[138988] = "zú";
	dict[138989] = "lěi";
	dict[138990] = "hù";
	dict[138991] = "chuǎng";
	dict[138992] = "qì";
	dict[138993] = "léi";
	dict[139008] = "huà";
	dict[139009] = "chī";
	dict[139011] = "pó";
	dict[139012] = "dié";
	dict[139018] = "lěi";
	dict[139022] = "yǐ";
	dict[139024] = "mín";
	dict[139027] = "diàn";
	dict[139030] = "dūn";
	dict[139031] = "gāo";
	dict[139032] = "hū";
	dict[139034] = "xiāo";
	dict[139035] = "gá";
	dict[139036] = "pēng";
	dict[139052] = "shěn";
	dict[139057] = "wéi";
	dict[139067] = "duì";
	dict[139068] = "cháo";
	dict[139069] = "yǐn";
	dict[139070] = "kuài";
	dict[139071] = "kū";
	dict[139073] = "zuì";
	dict[139074] = "gǔ";
	dict[139075] = "duò";
	dict[139077] = "yùn";
	dict[139078] = "zhì";
	dict[139081] = "jì";
	dict[139082] = "chēng";
	dict[139093] = "zuì";
	dict[139094] = "xiè";
	dict[139099] = "zuǐ";
	dict[139100] = "án";
	dict[139101] = "hāo";
	dict[139104] = "pǒ";
	dict[139106] = "dí";
	dict[139107] = "yè";
	dict[139111] = "náo";
	dict[139121] = "jié";
	dict[139122] = "bàng";
	dict[139123] = "lǎn";
	dict[139124] = "cáng";
	dict[139126] = "bì";
	dict[139131] = "zhǎn";
	dict[139132] = "qì";
	dict[139138] = "náo";
	dict[139141] = "lǜ";
	dict[139143] = "kuàng";
	dict[139145] = "mó";
	dict[139147] = "lěi,léi";
	dict[139148] = "páo";
	dict[139154] = "lì";
	dict[139155] = "céng";
	dict[139157] = "dàng";
	dict[139158] = "lěi";
	dict[139161] = "è";
	dict[139163] = "bèng";
	dict[139164] = "jué,huò";
	dict[139165] = "huái";
	dict[139173] = "xuán";
	dict[139174] = "niè";
	dict[139176] = "hài";
	dict[139182] = "xiǎn";
	dict[139184] = "jiǎn";
	dict[139185] = "mí";
	dict[139186] = "niè";
	dict[139195] = "cáng";
	dict[139196] = "sǒng";
	dict[139197] = "zēng";
	dict[139198] = "yì";
	dict[139202] = "chóng";
	dict[139204] = "cáng";
	dict[139209] = "lěi";
	dict[139210] = "nuó";
	dict[139211] = "lì";
	dict[139214] = "lí";
	dict[139215] = "luó";
	dict[139219] = "tǎng";
	dict[139222] = "niè,yà";
	dict[139223] = "niè";
	dict[139225] = "jī";
	dict[139227] = "lěi";
	dict[139229] = "nàng";
	dict[139232] = "lín";
	dict[139233] = "líng";
	dict[139236] = "xián";
	dict[139237] = "yù";
	dict[139239] = "zāi";
	dict[139240] = "quǎn";
	dict[139241] = "liè";
	dict[139242] = "liè";
	dict[139247] = "yù";
	dict[139248] = "huāng";
	dict[139258] = "nǎo";
	dict[139260] = "xùn";
	dict[139262] = "jú";
	dict[139263] = "huò";
	dict[139265] = "yì";
	dict[139274] = "xī";
	dict[139275] = "sè";
	dict[139276] = "jiǎo";
	dict[139277] = "yōng";
	dict[139283] = "jù";
	dict[139285] = "shī";
	dict[139286] = "jīng";
	dict[139287] = "wàn";
	dict[139288] = "yě";
	dict[139289] = "jiū";
	dict[139292] = "gǒng";
	dict[139297] = "huī,zuǒ";
	dict[139306] = "ěr";
	dict[139317] = "hàn";
	dict[139324] = "fú";
	dict[139328] = "fú";
	dict[139329] = "zhuó";
	dict[139330] = "jī,jì";
	dict[139343] = "bāng";
	dict[139346] = "qí";
	dict[139347] = "shǐ,hài";
	dict[139349] = "diǎo";
	dict[139350] = "pèi";
	dict[139351] = "xiǎn,gàn";
	dict[139352] = "sān";
	dict[139357] = "cháng";
	dict[139358] = "yuē";
	dict[139360] = "gōng";
	dict[139362] = "wū";
	dict[139364] = "fēn";
	dict[139365] = "fēn";
	dict[139367] = "chǎn";
	dict[139369] = "nèi";
	dict[139370] = "jué";
	dict[139372] = "zhǎo";
	dict[139374] = "qián";
	dict[139377] = "ǎo";
	dict[139382] = "wǎng";
	dict[139383] = "zhōng";
	dict[139385] = "huāng";
	dict[139387] = "bù";
	dict[139388] = "zhǔ";
	dict[139389] = "bì";
	dict[139390] = "chāo";
	dict[139391] = "zhēng";
	dict[139392] = "fú";
	dict[139393] = "kōu,qú";
	dict[139395] = "zuó";
	dict[139396] = "xuàn";
	dict[139398] = "fù";
	dict[139402] = "yǎo";
	dict[139405] = "bō";
	dict[139407] = "bèi";
	dict[139408] = "xié";
	dict[139409] = "shì";
	dict[139410] = "yí";
	dict[139412] = "hóng";
	dict[139413] = "cuì";
	dict[139415] = "yì";
	dict[139416] = "zhuān";
	dict[139421] = "chì";
	dict[139428] = "pō,lù";
	dict[139432] = "yín";
	dict[139441] = "yuàn";
	dict[139446] = "jiōng";
	dict[139447] = "jiá";
	dict[139449] = "mào";
	dict[139450] = "qiàn";
	dict[139452] = "yì";
	dict[139456] = "wú";
	dict[139469] = "bēi";
	dict[139470] = "huò";
	dict[139471] = "cóng";
	dict[139472] = "kōng";
	dict[139477] = "tà";
	dict[139479] = "hàn";
	dict[139480] = "qiàn";
	dict[139483] = "qí";
	dict[139484] = "zhí";
	dict[139490] = "sè";
	dict[139493] = "qiān";
	dict[139494] = "guǒ";
	dict[139497] = "gǔn,juǎn";
	dict[139500] = "jiān";
	dict[139501] = "zhōng";
	dict[139502] = "miǎn";
	dict[139503] = "guǐ";
	dict[139504] = "shì";
	dict[139505] = "móu";
	dict[139506] = "è";
	dict[139507] = "bǎ";
	dict[139508] = "là";
	dict[139512] = "zhòu";
	dict[139514] = "jí";
	dict[139520] = "zǎo";
	dict[139524] = "zhā";
	dict[139525] = "yì";
	dict[139527] = "gǒu";
	dict[139530] = "guī";
	dict[139531] = "yīng";
	dict[139532] = "shǎi";
	dict[139533] = "hé,gé";
	dict[139534] = "bàng";
	dict[139535] = "mò";
	dict[139536] = "méng";
	dict[139539] = "wù";
	dict[139540] = "dài";
	dict[139543] = "jiǒng";
	dict[139548] = "hàn";
	dict[139551] = "tōng";
	dict[139552] = "kōu";
	dict[139553] = "lí";
	dict[139554] = "zhì";
	dict[139555] = "huì";
	dict[139556] = "zǎn";
	dict[139557] = "yì";
	dict[139558] = "diǎo";
	dict[139559] = "cù";
	dict[139569] = "zhì";
	dict[139571] = "kuǎ";
	dict[139573] = "xiàng";
	dict[139574] = "huà";
	dict[139575] = "liáo";
	dict[139576] = "cuì";
	dict[139577] = "qiāo";
	dict[139578] = "jiǎo";
	dict[139580] = "xū";
	dict[139581] = "èr";
	dict[139583] = "tuō";
	dict[139584] = "tán";
	dict[139585] = "zhì";
	dict[139592] = "nǎo";
	dict[139593] = "mào";
	dict[139594] = "dì";
	dict[139595] = "céng";
	dict[139598] = "jiǎo";
	dict[139599] = "lián";
	dict[139601] = "shā";
	dict[139602] = "dàn";
	dict[139605] = "suì";
	dict[139607] = "guò";
	dict[139610] = "biǎo,biāo";
	dict[139612] = "cì";
	dict[139613] = "diàn";
	dict[139614] = "lǜ";
	dict[139615] = "nǐ";
	dict[139616] = "yǎn";
	dict[139617] = "lán";
	dict[139620] = "gài";
	dict[139621] = "chú";
	dict[139625] = "bì";
	dict[139626] = "zú";
	dict[139627] = "huì";
	dict[139629] = "lǎi";
	dict[139630] = "xián";
	dict[139631] = "fèn";
	dict[139632] = "hè";
	dict[139641] = "yào";
	dict[139642] = "zhǎn";
	dict[139644] = "néi";
	dict[139646] = "luǒ";
	dict[139648] = "yuán";
	dict[139650] = "néng";
	dict[139657] = "rěn";
	dict[139661] = "chā";
	dict[139676] = "gé";
	dict[139678] = "jiǎn";
	dict[139679] = "píng";
	dict[139681] = "niān";
	dict[139683] = "biè";
	dict[139686] = "jiàn";
	dict[139689] = "bìng";
	dict[139695] = "mì,xuán";
	dict[139696] = "hù";
	dict[139700] = "diǎo";
	dict[139702] = "yōu,zī";
	dict[139703] = "yāo,miào";
	dict[139704] = "bēng";
	dict[139706] = "chén";
	dict[139707] = "jī,duì";
	dict[139709] = "yāo";
	dict[139717] = "guān";
	dict[139719] = "guān";
	dict[139720] = "yàn";
	dict[139733] = "chǐ";
	dict[139735] = "shà";
	dict[139736] = "yǎn";
	dict[139737] = "yì";
	dict[139738] = "yì";
	dict[139739] = "chè,chǐ";
	dict[139742] = "hàn";
	dict[139743] = "huāng";
	dict[139748] = "shuì";
	dict[139749] = "suì";
	dict[139750] = "rén";
	dict[139751] = "tán";
	dict[139752] = "zhǐ";
	dict[139754] = "fàn";
	dict[139755] = "fěng";
	dict[139760] = "tán";
	dict[139762] = "mí";
	dict[139763] = "pí";
	dict[139764] = "bù";
	dict[139765] = "nà";
	dict[139766] = "tián";
	dict[139767] = "bá";
	dict[139768] = "yì";
	dict[139778] = "yǎn";
	dict[139780] = "tiāo";
	dict[139782] = "yáo";
	dict[139783] = "shěn";
	dict[139784] = "kē,wā";
	dict[139785] = "tóng";
	dict[139787] = "xuǎn";
	dict[139795] = "yòu";
	dict[139797] = "bài";
	dict[139801] = "xiá";
	dict[139802] = "lǚ";
	dict[139803] = "kùn";
	dict[139804] = "zāng";
	dict[139805] = "qiú";
	dict[139808] = "cù,là";
	dict[139809] = "zuī";
	dict[139810] = "lǒu";
	dict[139812] = "xiá";
	dict[139823] = "shēn";
	dict[139826] = "pú";
	dict[139828] = "jīng";
	dict[139829] = "qiāng";
	dict[139830] = "yì,sī";
	dict[139832] = "niè";
	dict[139833] = "duī,tuí";
	dict[139835] = "jié";
	dict[139836] = "suì";
	dict[139837] = "zhàn";
	dict[139838] = "cōu";
	dict[139841] = "bēng";
	dict[139842] = "guān";
	dict[139843] = "shě";
	dict[139845] = "jìn";
	dict[139846] = "dì";
	dict[139857] = "dān";
	dict[139859] = "nǎi";
	dict[139861] = "nóu";
	dict[139863] = "jí";
	dict[139864] = "yán";
	dict[139866] = "nòu";
	dict[139868] = "dù,tú";
	dict[139869] = "wèi";
	dict[139870] = "piān";
	dict[139874] = "hú";
	dict[139876] = "jià";
	dict[139877] = "yè";
	dict[139878] = "jǔn";
	dict[139879] = "lán,lián";
	dict[139880] = "là";
	dict[139881] = "yīn";
	dict[139885] = "tuí";
	dict[139893] = "nǎo";
	dict[139898] = "zǔ";
	dict[139903] = "mà";
	dict[139904] = "sī,mà";
	dict[139905] = "zhì";
	dict[139908] = "huī";
	dict[139909] = "zhuì";
	dict[139910] = "lì";
	dict[139911] = "huì";
	dict[139917] = "chú";
	dict[139919] = "chè";
	dict[139922] = "xiū";
	dict[139923] = "lán";
	dict[139925] = "cōng";
	dict[139926] = "shèn";
	dict[139927] = "mò";
	dict[139928] = "yī";
	dict[139929] = "yáo";
	dict[139930] = "xǐ";
	dict[139931] = "zuǐ";
	dict[139932] = "bìng";
	dict[139943] = "yú";
	dict[139945] = "lù";
	dict[139950] = "tuí";
	dict[139951] = "wěi";
	dict[139953] = "fén";
	dict[139954] = "shěn";
	dict[139962] = "liù";
	dict[139963] = "liáo";
	dict[139970] = "shǔ";
	dict[139971] = "dǎn";
	dict[139972] = "juǎn";
	dict[139973] = "yú";
	dict[139974] = "xìn";
	dict[139975] = "yáo";
	dict[139986] = "huó";
	dict[139988] = "qiān";
	dict[139994] = "má";
	dict[139997] = "kǎi";
	dict[140001] = "lǔ";
	dict[140003] = "yōu";
	dict[140014] = "xiàn";
	dict[140025] = "wú";
	dict[140027] = "yǐn";
	dict[140028] = "xī";
	dict[140030] = "qiáng";
	dict[140031] = "zhāi";
	dict[140032] = "xiè";
	dict[140036] = "qú";
	dict[140040] = "lí";
	dict[140045] = "qiān";
	dict[140052] = "líng";
	dict[140053] = "luán";
	dict[140058] = "chān";
	dict[140059] = "zhēng";
	dict[140070] = "zhèng";
	dict[140072] = "yán";
	dict[140082] = "yìn";
	dict[140083] = "kuí";
	dict[140087] = "qū";
	dict[140089] = "fú";
	dict[140091] = "yù";
	dict[140097] = "qí,bì";
	dict[140102] = "qì,qiè";
	dict[140103] = "jì";
	dict[140104] = "yuān,zàng";
	dict[140105] = "qí";
	dict[140110] = "gào";
	dict[140111] = "juàn";
	dict[140113] = "qí";
	dict[140115] = "gǎi";
	dict[140117] = "quàn";
	dict[140122] = "wèi";
	dict[140124] = "zūn";
	dict[140135] = "zhì";
	dict[140137] = "shèn";
	dict[140138] = "dēng";
	dict[140139] = "jiǎn";
	dict[140141] = "sì";
	dict[140144] = "yì,zé";
	dict[140145] = "qiān";
	dict[140156] = "lì";
	dict[140159] = "zāng";
	dict[140160] = "yì";
	dict[140162] = "cái";
	dict[140163] = "yì";
	dict[140164] = "gē";
	dict[140166] = "dié";
	dict[140168] = "zhī";
	dict[140169] = "yì";
	dict[140171] = "zāi";
	dict[140172] = "dài";
	dict[140174] = "sù";
	dict[140180] = "jié";
	dict[140181] = "chèn";
	dict[140182] = "qú";
	dict[140184] = "hàn";
	dict[140185] = "xián";
	dict[140187] = "jié";
	dict[140191] = "dàn";
	dict[140192] = "quán,juàn";
	dict[140193] = "jié";
	dict[140197] = "juàn";
	dict[140202] = "dàn";
	dict[140205] = "jīn";
	dict[140207] = "yí";
	dict[140212] = "bīng";
	dict[140213] = "hú";
	dict[140217] = "jué";
	dict[140219] = "yú";
	dict[140227] = "lǐ";
	dict[140228] = "qiáng";
	dict[140229] = "shuǐ";
	dict[140230] = "kū";
	dict[140232] = "zhěn";
	dict[140237] = "fú";
	dict[140238] = "shēn";
	dict[140242] = "chuí";
	dict[140245] = "tóng";
	dict[140247] = "yì";
	dict[140249] = "yáng";
	dict[140252] = "tuó";
	dict[140253] = "zhōu";
	dict[140254] = "jí";
	dict[140260] = "xùn";
	dict[140262] = "shěn";
	dict[140263] = "xuān";
	dict[140269] = "liú";
	dict[140270] = "yuān";
	dict[140271] = "hú,shǐ";
	dict[140272] = "zhèng";
	dict[140275] = "pēng,bēng";
	dict[140279] = "jué";
	dict[140290] = "zhì";
	dict[140291] = "piān";
	dict[140292] = "yuàn";
	dict[140294] = "jiān";
	dict[140298] = "páng";
	dict[140302] = "zhuàn";
	dict[140304] = "xián";
	dict[140306] = "bēng";
	dict[140308] = "cōng";
	dict[140310] = "mò";
	dict[140314] = "guó";
	dict[140318] = "chéng";
	dict[140319] = "qiāo";
	dict[140326] = "bì";
	dict[140329] = "qiǎng";
	dict[140331] = "zhōu";
	dict[140338] = "fán";
	dict[140339] = "biē";
	dict[140340] = "fèng";
	dict[140350] = "bó";
	dict[140351] = "rǒng";
	dict[140357] = "dǐng";
	dict[140358] = "quán";
	dict[140359] = "jiù";
	dict[140360] = "yáo";
	dict[140367] = "yì";
	dict[140371] = "xiá";
	dict[140374] = "zǎo";
	dict[140378] = "shēn";
	dict[140381] = "dān";
	dict[140382] = "yì";
	dict[140383] = "wǔ";
	dict[140384] = "tuó";
	dict[140386] = "hū";
	dict[140391] = "xī";
	dict[140396] = "lái";
	dict[140397] = "wèi";
	dict[140398] = "fēi";
	dict[140401] = "yí";
	dict[140409] = "hú";
	dict[140422] = "xiān";
	dict[140425] = "shǎn";
	dict[140429] = "fèi";
	dict[140432] = "cuò";
	dict[140434] = "fú";
	dict[140436] = "chù";
	dict[140445] = "diū";
	dict[140446] = "làn";
	dict[140457] = "xǐ";
	dict[140459] = "xún";
	dict[140463] = "biāo";
	dict[140464] = "yù";
	dict[140465] = "suì";
	dict[140466] = "xǐ";
	dict[140471] = "póu";
	dict[140478] = "jiào";
	dict[140480] = "yì";
	dict[140483] = "wán";
	dict[140484] = "jǐ";
	dict[140486] = "wán";
	dict[140487] = "tuì,nà";
	dict[140488] = "xùn";
	dict[140491] = "àng";
	dict[140493] = "tiān";
	dict[140494] = "chí";
	dict[140498] = "rán";
	dict[140500] = "sà";
	dict[140501] = "yín";
	dict[140502] = "pī";
	dict[140503] = "cǐ";
	dict[140504] = "tóng,tāo";
	dict[140505] = "yǐn";
	dict[140508] = "gé";
	dict[140509] = "tiāo";
	dict[140510] = "zhēng";
	dict[140511] = "zhòu";
	dict[140513] = "yí,tí";
	dict[140514] = "kuà";
	dict[140515] = "sōng";
	dict[140519] = "dì";
	dict[140524] = "xié";
	dict[140526] = "xiāo";
	dict[140527] = "guàng,wǎng";
	dict[140528] = "tuǒ";
	dict[140529] = "fēng,fèng";
	dict[140530] = "wú,hú";
	dict[140532] = "tuì";
	dict[140533] = "xiù";
	dict[140543] = "yóu";
	dict[140545] = "líng";
	dict[140546] = "yàn";
	dict[140549] = "dōng";
	dict[140550] = "qì";
	dict[140551] = "táo";
	dict[140552] = "hán";
	dict[140554] = "chí";
	dict[140555] = "sōng";
	dict[140561] = "quǎn";
	dict[140564] = "hàn,jí";
	dict[140575] = "rǒu,niǔ";
	dict[140576] = "qì";
	dict[140577] = "kāi";
	dict[140578] = "yú";
	dict[140579] = "chā,shà";
	dict[140580] = "chèng";
	dict[140581] = "yù";
	dict[140583] = "bìng";
	dict[140585] = "cōng,sǒng";
	dict[140586] = "zhū";
	dict[140588] = "yù";
	dict[140591] = "là";
	dict[140593] = "jué,què";
	dict[140594] = "liù";
	dict[140595] = "sāo";
	dict[140596] = "yù";
	dict[140613] = "shuài";
	dict[140616] = "sǒng";
	dict[140619] = "yuàn";
	dict[140622] = "zhāng";
	dict[140625] = "shuài";
	dict[140627] = "chǔ";
	dict[140628] = "zhāng,zhàng";
	dict[140629] = "sǎn,sàn";
	dict[140630] = "xiān";
	dict[140632] = "cuī";
	dict[140633] = "měng";
	dict[140634] = "dí";
	dict[140638] = "zhì";
	dict[140639] = "ào";
	dict[140646] = "xiū";
	dict[140648] = "pián";
	dict[140650] = "jiào";
	dict[140651] = "kuǎn";
	dict[140652] = "sà";
	dict[140653] = "xiàn";
	dict[140654] = "zhà";
	dict[140655] = "diàn";
	dict[140663] = "yí";
	dict[140666] = "huì";
	dict[140667] = "shàn";
	dict[140676] = "chóng";
	dict[140677] = "yí";
	dict[140678] = "xiè";
	dict[140679] = "zhì";
	dict[140680] = "tiào";
	dict[140682] = "pīng";
	dict[140683] = "xián";
	dict[140686] = "xiān";
	dict[140687] = "sù";
	dict[140689] = "cuán";
	dict[140695] = "sǒng";
	dict[140699] = "hēi";
	dict[140701] = "xiàn";
	dict[140703] = "yóu";
	dict[140705] = "yù";
	dict[140708] = "tái";
	dict[140710] = "jué";
	dict[140711] = "nàng";
	dict[140713] = "diān";
	dict[140715] = "yì";
	dict[140716] = "bì";
	dict[140722] = "chà";
	dict[140723] = "xū";
	dict[140724] = "yì";
	dict[140725] = "rù";
	dict[140727] = "gōng";
	dict[140730] = "yì";
	dict[140731] = "ài";
	dict[140732] = "tè";
	dict[140733] = "zhì";
	dict[140735] = "zhì";
	dict[140736] = "xīn";
	dict[140738] = "jì";
	dict[140740] = "xià";
	dict[140744] = "zhāo";
	dict[140745] = "nè";
	dict[140746] = "xiè,jiá";
	dict[140750] = "yì";
	dict[140765] = "dì";
	dict[140779] = "fǔ";
	dict[140781] = "shè";
	dict[140783] = "yuán";
	dict[140784] = "fǎn";
	dict[140786] = "fū";
	dict[140787] = "wù";
	dict[140788] = "xī";
	dict[140789] = "hǒng";
	dict[140793] = "jì";
	dict[140794] = "chàng";
	dict[140799] = "mò";
	dict[140800] = "pèi";
	dict[140801] = "xiān";
	dict[140803] = "mú,wǔ";
	dict[140804] = "qiú";
	dict[140805] = "mào,róu";
	dict[140807] = "dá,dàn";
	dict[140809] = "xiá";
	dict[140810] = "shēn";
	dict[140811] = "tè";
	dict[140812] = "hóng";
	dict[140813] = "bì,fú";
	dict[140831] = "qiáo";
	dict[140837] = "shì";
	dict[140839] = "ruǎn";
	dict[140843] = "zhèng";
	dict[140856] = "jiàng";
	dict[140857] = "chā";
	dict[140858] = "mǐ,mí";
	dict[140861] = "yì";
	dict[140863] = "suō";
	dict[140865] = "wù";
	dict[140866] = "xuān";
	dict[140869] = "xí";
	dict[140871] = "yǐ";
	dict[140873] = "nǎo";
	dict[140880] = "náo";
	dict[140896] = "yín";
	dict[140898] = "kǒng";
	dict[140903] = "piàn";
	dict[140910] = "kàn";
	dict[140913] = "lòng";
	dict[140914] = "lǚ";
	dict[140915] = "zhuǎng";
	dict[140916] = "ài";
	dict[140922] = "zhì";
	dict[140924] = "xìng";
	dict[140926] = "gěng";
	dict[140927] = "jìn";
	dict[140928] = "xiàn";
	dict[140929] = "jì";
	dict[140930] = "cuò";
	dict[140932] = "láo";
	dict[140933] = "fěn";
	dict[140934] = "jù";
	dict[140939] = "miào";
	dict[140940] = "xiá";
	dict[140945] = "sù";
	dict[140951] = "sàn";
	dict[140968] = "zhì";
	dict[140970] = "hù";
	dict[140971] = "kòu";
	dict[140973] = "suǒ";
	dict[140974] = "nì";
	dict[140986] = "tēng";
	dict[140987] = "zhù";
	dict[140993] = "dá,chè";
	dict[140995] = "qiú";
	dict[140996] = "yà";
	dict[140998] = "xián";
	dict[141001] = "nèi";
	dict[141005] = "zhǐ";
	dict[141006] = "bié";
	dict[141010] = "chǒng";
	dict[141011] = "lán";
	dict[141012] = "dōng";
	dict[141013] = "qūn";
	dict[141014] = "xiàng";
	dict[141016] = "xiáo";
	dict[141017] = "wǎn";
	dict[141018] = "rù";
	dict[141019] = "wàng";
	dict[141020] = "nì";
	dict[141022] = "bāi";
	dict[141023] = "yà";
	dict[141029] = "sī";
	dict[141030] = "yǐn";
	dict[141032] = "yù";
	dict[141038] = "lí";
	dict[141079] = "bàng";
	dict[141080] = "bèn";
	dict[141091] = "xī";
	dict[141093] = "jiū";
	dict[141096] = "xiè,dié";
	dict[141097] = "qiān";
	dict[141098] = "nuò,ruò";
	dict[141099] = "xǐng";
	dict[141100] = "duó";
	dict[141101] = "jǐ";
	dict[141102] = "wǔ";
	dict[141103] = "mú,móu,mǔ";
	dict[141104] = "yàn,yǎn";
	dict[141105] = "qì";
	dict[141106] = "ná";
	dict[141107] = "chì";
	dict[141108] = "hóu";
	dict[141110] = "sào";
	dict[141112] = "náo";
	dict[141115] = "chěng";
	dict[141116] = "chěng";
	dict[141117] = "kuǐ";
	dict[141119] = "jià";
	dict[141120] = "tú";
	dict[141122] = "dú";
	dict[141125] = "xiá";
	dict[141126] = "zhòng";
	dict[141127] = "huò";
	dict[141128] = "chóng";
	dict[141129] = "dá";
	dict[141130] = "yōu";
	dict[141132] = "mào";
	dict[141133] = "yào";
	dict[141139] = "juān";
	dict[141164] = "shì";
	dict[141167] = "yín";
	dict[141170] = "chóu";
	dict[141171] = "gǔ";
	dict[141172] = "wù";
	dict[141176] = "guò";
	dict[141177] = "tì";
	dict[141179] = "hōng";
	dict[141191] = "rě";
	dict[141193] = "yí";
	dict[141195] = "tǔn";
	dict[141199] = "qióng";
	dict[141200] = "hài";
	dict[141202] = "qì";
	dict[141205] = "huò";
	dict[141206] = "tì";
	dict[141207] = "pī,bī";
	dict[141210] = "gěng";
	dict[141212] = "xiè";
	dict[141214] = "mì,mí";
	dict[141215] = "gào";
	dict[141216] = "tā";
	dict[141217] = "xiǎng";
	dict[141219] = "shū";
	dict[141222] = "fú";
	dict[141228] = "zhuān";
	dict[141229] = "liù";
	dict[141253] = "yóu";
	dict[141258] = "chěng";
	dict[141259] = "duī";
	dict[141281] = "bèi";
	dict[141282] = "lí";
	dict[141283] = "yàng";
	dict[141284] = "lí";
	dict[141287] = "lǔ";
	dict[141288] = "mǔ";
	dict[141289] = "suì";
	dict[141290] = "ài,xì";
	dict[141293] = "kòu";
	dict[141295] = "zhé,shì";
	dict[141296] = "ài";
	dict[141297] = "téng";
	dict[141299] = "lǜ";
	dict[141300] = "tuí";
	dict[141301] = "bī";
	dict[141309] = "mù";
	dict[141310] = "huì";
	dict[141311] = "huán";
	dict[141339] = "kuò";
	dict[141341] = "xīn";
	dict[141345] = "sào";
	dict[141355] = "shù";
	dict[141356] = "què";
	dict[141357] = "bā";
	dict[141358] = "tuì";
	dict[141360] = "sǒng";
	dict[141362] = "fù";
	dict[141363] = "biē";
	dict[141365] = "chǎng,tǎng";
	dict[141367] = "xiàng";
	dict[141369] = "sī,xī";
	dict[141370] = "bó";
	dict[141372] = "mái";
	dict[141373] = "dàng";
	dict[141375] = "guì";
	dict[141376] = "hēi";
	dict[141377] = "xī";
	dict[141378] = "dàng";
	dict[141379] = "yì";
	dict[141381] = "bī";
	dict[141382] = "kěn";
	dict[141383] = "gū";
	dict[141384] = "cuì";
	dict[141385] = "sè";
	dict[141389] = "gé";
	dict[141390] = "yù";
	dict[141391] = "nǎ";
	dict[141393] = "lì";
	dict[141394] = "zhì";
	dict[141424] = "zhào";
	dict[141428] = "jī";
	dict[141429] = "ruǎn";
	dict[141433] = "chòng";
	dict[141442] = "jié";
	dict[141452] = "chàng";
	dict[141453] = "zhé";
	dict[141458] = "sù";
	dict[141459] = "yōng";
	dict[141462] = "qì";
	dict[141463] = "zhuó";
	dict[141466] = "kài";
	dict[141468] = "yè";
	dict[141470] = "qì,jì,kuài";
	dict[141497] = "xiòng";
	dict[141500] = "biāo";
	dict[141513] = "yī";
	dict[141514] = "chǒu";
	dict[141518] = "tuǎn";
	dict[141519] = "ài";
	dict[141520] = "pīn";
	dict[141523] = "liè";
	dict[141524] = "mián";
	dict[141525] = "ài,chī";
	dict[141527] = "mǒ";
	dict[141528] = "wèi";
	dict[141529] = "yìng";
	dict[141530] = "nǐ";
	dict[141534] = "bó";
	dict[141536] = "liù";
	dict[141538] = "xié";
	dict[141555] = "ruì";
	dict[141563] = "lǘ";
	dict[141564] = "chá";
	dict[141567] = "chù";
	dict[141569] = "sào";
	dict[141570] = "lí";
	dict[141572] = "sōng";
	dict[141574] = "lì,là";
	dict[141579] = "xì";
	dict[141581] = "yān";
	dict[141582] = "cuō,zuǒ";
	dict[141584] = "liú";
	dict[141592] = "méng";
	dict[141594] = "zhàn";
	dict[141604] = "zhuàng";
	dict[141607] = "miǎo";
	dict[141609] = "lì";
	dict[141611] = "jǔ";
	dict[141615] = "xiè";
	dict[141616] = "xiè";
	dict[141617] = "lǒng";
	dict[141618] = "lóng";
	dict[141634] = "téng";
	dict[141635] = "zhù";
	dict[141643] = "chán";
	dict[141644] = "xiǎn";
	dict[141647] = "yíng";
	dict[141648] = "pèi";
	dict[141656] = "xié";
	dict[141658] = "jiào";
	dict[141659] = "sè";
	dict[141662] = "chōng";
	dict[141664] = "sǒng";
	dict[141683] = "hē";
	dict[141693] = "tǔn";
	dict[141701] = "hǒng,zhuàng";
	dict[141704] = "mán";
	dict[141706] = "jīn";
	dict[141708] = "qú";
	dict[141709] = "dǒu";
	dict[141710] = "qiú";
	dict[141711] = "zāi";
	dict[141713] = "shēng";
	dict[141714] = "zāi";
	dict[141716] = "zāi";
	dict[141717] = "yǐ,zhí";
	dict[141722] = "huà";
	dict[141727] = "kān";
	dict[141731] = "yè";
	dict[141734] = "róng";
	dict[141744] = "yuè";
	dict[141745] = "nì";
	dict[141746] = "sī";
	dict[141748] = "wǒ";
	dict[141752] = "cán";
	dict[141754] = "jiān";
	dict[141756] = "miè";
	dict[141757] = "sháo,qī";
	dict[141759] = "rǒng";
	dict[141760] = "gān";
	dict[141764] = "dié";
	dict[141765] = "qiáng";
	dict[141767] = "shú";
	dict[141768] = "zhuó";
	dict[141775] = "shī";
	dict[141777] = "tì";
	dict[141782] = "zhá";
	dict[141783] = "zhān";
	dict[141788] = "zhì";
	dict[141789] = "fèn";
	dict[141790] = "miè";
	dict[141792] = "zè";
	dict[141794] = "jǐ";
	dict[141796] = "zhì";
	dict[141797] = "qiān";
	dict[141798] = "hàn";
	dict[141799] = "gé";
	dict[141806] = "cán";
	dict[141808] = "guó";
	dict[141809] = "jiāo";
	dict[141811] = "yōng";
	dict[141812] = "áo";
	dict[141813] = "jié";
	dict[141819] = "zhá";
	dict[141821] = "xì";
	dict[141825] = "xū";
	dict[141826] = "wǔ";
	dict[141839] = "jué";
	dict[141840] = "jī";
	dict[141842] = "chì";
	dict[141844] = "wǎn";
	dict[141846] = "miè";
	dict[141847] = "zéi";
	dict[141852] = "jié";
	dict[141853] = "shí";
	dict[141855] = "xī,xì";
	dict[141857] = "è";
	dict[141861] = "hù";
	dict[141862] = "hù";
	dict[141864] = "lì";
	dict[141867] = "chù";
	dict[141870] = "yī";
	dict[141871] = "mǎo";
	dict[141872] = "xū";
	dict[141873] = "zhōng";
	dict[141874] = "fáng";
	dict[141875] = "yì";
	dict[141882] = "liáo";
	dict[141887] = "jiān";
	dict[141888] = "jiǎn";
	dict[141889] = "jú";
	dict[141892] = "zhù";
	dict[141896] = "wǔ";
	dict[141903] = "kè";
	dict[141904] = "kě";
	dict[141905] = "lì";
	dict[141906] = "bǐ";
	dict[141907] = "gé";
	dict[141909] = "xū";
	dict[141910] = "shā";
	dict[141911] = "líng";
	dict[141912] = "kē";
	dict[141918] = "bó";
	dict[141919] = "biān";
	dict[141920] = "shuān";
	dict[141921] = "qí";
	dict[141922] = "shàn";
	dict[141926] = "jī";
	dict[141928] = "qiǎo,xiǔ";
	dict[141930] = "liāo";
	dict[141934] = "yì";
	dict[141935] = "jué";
	dict[141936] = "zhǎng";
	dict[141938] = "xìn";
	dict[141943] = "tuō";
	dict[141944] = "hài";
	dict[141945] = "xià";
	dict[141947] = "tuó";
	dict[141948] = "yí";
	dict[141954] = "xuǎn";
	dict[141955] = "cù";
	dict[141959] = "jiāng";
	dict[141960] = "nán";
	dict[141963] = "pěng,féng,bàng";
	dict[141965] = "jié,jiā";
	dict[141966] = "xuē";
	dict[141967] = "hú,gǔ";
	dict[141969] = "gài";
	dict[141984] = "chōng";
	dict[141989] = "yǒu";
	dict[141990] = "nǔ";
	dict[141991] = "yè";
	dict[141994] = "yìn";
	dict[141996] = "kǒng";
	dict[142001] = "wù";
	dict[142006] = "xiāo";
	dict[142007] = "xiāng";
	dict[142012] = "náo";
	dict[142014] = "zhàng";
	dict[142022] = "bō";
	dict[142024] = "gū,gǔ";
	dict[142032] = "jié";
	dict[142035] = "nǔ";
	dict[142036] = "shàn,quán";
	dict[142037] = "yǒng";
	dict[142040] = "lú";
	dict[142050] = "jiá";
	dict[142054] = "pāi";
	dict[142055] = "zhǒu";
	dict[142056] = "rǒng,rēng";
	dict[142057] = "hāo";
	dict[142059] = "lù";
	dict[142060] = "cuō";
	dict[142061] = "nù";
	dict[142063] = "bó";
	dict[142064] = "zhé";
	dict[142066] = "qǐn";
	dict[142068] = "cī";
	dict[142069] = "zú";
	dict[142071] = "wǒ";
	dict[142072] = "wǔ,wū";
	dict[142075] = "nié";
	dict[142079] = "xiān";
	dict[142080] = "hóng";
	dict[142123] = "tìng";
	dict[142124] = "jǐn";
	dict[142129] = "jié";
	dict[142130] = "hè";
	dict[142131] = "tū";
	dict[142132] = "zhé,niè,dié";
	dict[142133] = "pīn,pān,biàn,fān";
	dict[142134] = "jìn";
	dict[142135] = "nàn";
	dict[142140] = "dùn";
	dict[142142] = "xī";
	dict[142143] = "xiè";
	dict[142145] = "xì";
	dict[142146] = "láo";
	dict[142147] = "duǎn,dòu";
	dict[142148] = "jì";
	dict[142149] = "chā";
	dict[142150] = "chōu";
	dict[142152] = "gāng";
	dict[142158] = "xiáng";
	dict[142159] = "dǎo";
	dict[142181] = "biàn";
	dict[142182] = "xiāo";
	dict[142183] = "xīn";
	dict[142209] = "yǔ";
	dict[142210] = "xián";
	dict[142211] = "lí";
	dict[142212] = "qiǎn";
	dict[142215] = "měi";
	dict[142217] = "qiāo";
	dict[142218] = "yà";
	dict[142220] = "qiā,jié";
	dict[142221] = "qiòng";
	dict[142223] = "bàng";
	dict[142224] = "zhēng";
	dict[142234] = "zè";
	dict[142235] = "shuàn,tuán";
	dict[142238] = "sào";
	dict[142277] = "lù,jué";
	dict[142281] = "xié";
	dict[142283] = "fǔ";
	dict[142284] = "zhài";
	dict[142310] = "lái";
	dict[142313] = "zè";
	dict[142315] = "duàn,wǎn";
	dict[142317] = "dèng";
	dict[142318] = "yù";
	dict[142320] = "lǜ";
	dict[142321] = "sōu";
	dict[142322] = "wàn";
	dict[142323] = "xué";
	dict[142324] = "jiǎo";
	dict[142325] = "yuě";
	dict[142326] = "zhì";
	dict[142327] = "wěi,huī";
	dict[142329] = "gé";
	dict[142330] = "jǔ";
	dict[142332] = "yǎn";
	dict[142333] = "cuò";
	dict[142334] = "mào";
	dict[142342] = "fú";
	dict[142343] = "āi";
	dict[142346] = "xuān";
	dict[142348] = "gāng";
	dict[142349] = "ān";
	dict[142354] = "jí";
	dict[142360] = "pí";
	dict[142361] = "zhǐ";
	dict[142364] = "nuó";
	dict[142399] = "pàn";
	dict[142401] = "yí";
	dict[142404] = "jié";
	dict[142406] = "zī";
	dict[142408] = "jià";
	dict[142409] = "wǎi";
	dict[142410] = "lüè";
	dict[142412] = "jià";
	dict[142431] = "chǎn,chī";
	dict[142433] = "suǒ";
	dict[142434] = "suǒ,sè";
	dict[142435] = "jí";
	dict[142436] = "sǒng";
	dict[142438] = "tī";
	dict[142439] = "pī";
	dict[142440] = "pó";
	dict[142446] = "mì";
	dict[142452] = "yè";
	dict[142454] = "qìn";
	dict[142455] = "jìn";
	dict[142458] = "juē";
	dict[142461] = "yuān";
	dict[142462] = "ruán";
	dict[142484] = "bàn,bān,pān";
	dict[142507] = "mā";
	dict[142512] = "bīn";
	dict[142516] = "wèi";
	dict[142517] = "zào";
	dict[142518] = "qiè";
	dict[142519] = "ǎo";
	dict[142520] = "lǔ";
	dict[142524] = "dié";
	dict[142525] = "chuāi";
	dict[142526] = "bì";
	dict[142527] = "zhú";
	dict[142528] = "mó,mā";
	dict[142529] = "fèi";
	dict[142530] = "piē";
	dict[142531] = "yìn";
	dict[142532] = "xuàn,xuán";
	dict[142534] = "ào,áo";
	dict[142535] = "zhuó,zú";
	dict[142536] = "zú";
	dict[142539] = "bǐ";
	dict[142542] = "bài";
	dict[142545] = "làng";
	dict[142547] = "tì";
	dict[142553] = "tiǎo";
	dict[142554] = "jiān";
	dict[142555] = "zhā";
	dict[142559] = "tǒng";
	dict[142565] = "cāo";
	dict[142589] = "duō";
	dict[142590] = "dòng";
	dict[142594] = "biǎn";
	dict[142600] = "dá";
	dict[142610] = "pēng";
	dict[142618] = "nì";
	dict[142624] = "zhì";
	dict[142626] = "fén";
	dict[142630] = "káng";
	dict[142631] = "zhì";
	dict[142632] = "zhāi,zhì,chì";
	dict[142633] = "bì";
	dict[142634] = "kuǎn";
	dict[142636] = "bàn";
	dict[142637] = "juē";
	dict[142638] = "qū";
	dict[142640] = "qī";
	dict[142641] = "léi";
	dict[142642] = "xié,jié";
	dict[142643] = "tāng";
	dict[142652] = "sōu";
	dict[142654] = "bèi";
	dict[142663] = "yàng";
	dict[142664] = "jiǎn,zhǎn";
	dict[142691] = "yā";
	dict[142693] = "zào";
	dict[142702] = "lū";
	dict[142720] = "chuái,zhuài";
	dict[142723] = "fán";
	dict[142725] = "shé";
	dict[142727] = "qióng";
	dict[142729] = "pò";
	dict[142731] = "tiě";
	dict[142732] = "shā";
	dict[142733] = "zá,sà";
	dict[142737] = "niǎo";
	dict[142738] = "guài";
	dict[142739] = "cuǐ";
	dict[142753] = "qiào,jiǎo";
	dict[142755] = "dié";
	dict[142771] = "pīn";
	dict[142772] = "cí";
	dict[142774] = "bàng";
	dict[142787] = "nào";
	dict[142789] = "lù";
	dict[142797] = "yìn";
	dict[142801] = "xiǎn";
	dict[142804] = "yǐ";
	dict[142805] = "miǎo";
	dict[142806] = "duǎn";
	dict[142807] = "zhòu";
	dict[142809] = "kōng";
	dict[142818] = "zhāng";
	dict[142838] = "liú";
	dict[142840] = "zhǐ";
	dict[142841] = "chǎn";
	dict[142842] = "dú";
	dict[142843] = "yuán";
	dict[142846] = "suò,cè";
	dict[142847] = "jié";
	dict[142848] = "lì";
	dict[142849] = "gǒng";
	dict[142860] = "bāng";
	dict[142871] = "guó";
	dict[142872] = "liáo";
	dict[142873] = "shěn";
	dict[142883] = "niǎo";
	dict[142885] = "cuàn";
	dict[142886] = "wěi";
	dict[142888] = "tuō";
	dict[142891] = "sū";
	dict[142893] = "lóng";
	dict[142900] = "yǎn,yán";
	dict[142915] = "qǐng";
	dict[142925] = "xī";
	dict[142926] = "rǎo";
	dict[142927] = "yú";
	dict[142929] = "zhèng,zhēng";
	dict[142930] = "xiè";
	dict[142931] = "chāi";
	dict[142932] = "fèn";
	dict[142934] = "guó";
	dict[142936] = "jǐng";
	dict[142937] = "làn";
	dict[142938] = "xiān";
	dict[142941] = "líng";
	dict[142949] = "yā";
	dict[142956] = "yǒng";
	dict[142958] = "lěi";
	dict[142963] = "xiào";
	dict[142972] = "zá";
	dict[142980] = "guān";
	dict[142981] = "qiè";
	dict[142982] = "luò";
	dict[142983] = "yào";
	dict[142984] = "luán";
	dict[142985] = "tà";
	dict[142993] = "luò";
	dict[143006] = "bǎ";
	dict[143007] = "chàn";
	dict[143009] = "zhuó";
	dict[143019] = "tiǎo";
	dict[143023] = "wān";
	dict[143024] = "líng,lìng";
	dict[143027] = "mán";
	dict[143028] = "yù";
	dict[143029] = "qì,qǐ";
	dict[143031] = "qí";
	dict[143036] = "jì";
	dict[143037] = "bó,jiào";
	dict[143039] = "shī";
	dict[143040] = "fǔ";
	dict[143042] = "guī";
	dict[143045] = "diǎn";
	dict[143047] = "hāo";
	dict[143049] = "gǎi";
	dict[143051] = "qí";
	dict[143059] = "chéng";
	dict[143060] = "huì";
	dict[143063] = "xiá,guī";
	dict[143064] = "shí";
	dict[143065] = "zhì";
	dict[143066] = "qí";
	dict[143068] = "hài";
	dict[143071] = "jiǎo";
	dict[143072] = "lì";
	dict[143074] = "liǎo";
	dict[143076] = "qiāo,qiáo";
	dict[143080] = "sà";
	dict[143082] = "qī";
	dict[143083] = "shī";
	dict[143086] = "jié,fú";
	dict[143089] = "shī";
	dict[143090] = "fǔ";
	dict[143093] = "bèi,lù";
	dict[143094] = "biān";
	dict[143095] = "bā";
	dict[143096] = "jūn";
	dict[143097] = "pī";
	dict[143100] = "dǎn";
	dict[143103] = "táng";
	dict[143104] = "kuǐ";
	dict[143105] = "kū";
	dict[143107] = "kǒu";
	dict[143113] = "shī";
	dict[143114] = "shī,tuó";
	dict[143115] = "jī";
	dict[143116] = "bào";
	dict[143120] = "kě";
	dict[143121] = "kuāng";
	dict[143126] = "mǐn";
	dict[143129] = "liáo";
	dict[143130] = "è";
	dict[143131] = "gé,guó,è";
	dict[143135] = "wǎng";
	dict[143136] = "duó";
	dict[143139] = "qià";
	dict[143140] = "huá";
	dict[143142] = "hǒng";
	dict[143145] = "pēng";
	dict[143147] = "jiào";
	dict[143152] = "qū";
	dict[143153] = "zì";
	dict[143154] = "zhòu";
	dict[143155] = "kuāng";
	dict[143157] = "shā";
	dict[143159] = "jì";
	dict[143160] = "wēi,wéi";
	dict[143161] = "pū,bǔ";
	dict[143162] = "xué";
	dict[143164] = "shāo";
	dict[143170] = "láng";
	dict[143171] = "zhǐ";
	dict[143172] = "tǐng";
	dict[143175] = "dà";
	dict[143182] = "hàn";
	dict[143189] = "yáng";
	dict[143190] = "jìn";
	dict[143191] = "zhǐ";
	dict[143194] = "zhuó,dū";
	dict[143196] = "zá";
	dict[143197] = "chán";
	dict[143202] = "mào";
	dict[143206] = "kōng";
	dict[143207] = "zhōu";
	dict[143208] = "hū";
	dict[143209] = "pēng";
	dict[143213] = "jiù";
	dict[143220] = "zhuó";
	dict[143224] = "chuò";
	dict[143225] = "mǐn";
	dict[143232] = "dǔ";
	dict[143233] = "wéi";
	dict[143235] = "cán";
	dict[143236] = "yú";
	dict[143237] = "dù";
	dict[143238] = "kāi";
	dict[143239] = "pì";
	dict[143242] = "chéng";
	dict[143246] = "chǔn";
	dict[143248] = "shǎo";
	dict[143249] = "yǎn";
	dict[143250] = "kuài";
	dict[143252] = "yuē";
	dict[143261] = "wéi";
	dict[143270] = "qí";
	dict[143271] = "zhēng";
	dict[143273] = "kè";
	dict[143274] = "qí";
	dict[143275] = "zhǐ";
	dict[143276] = "lù";
	dict[143277] = "fū";
	dict[143281] = "pī";
	dict[143282] = "nuò";
	dict[143283] = "pǎo";
	dict[143290] = "fěi";
	dict[143295] = "wén";
	dict[143298] = "méng";
	dict[143304] = "shǎn";
	dict[143308] = "xiòng,xuàn";
	dict[143310] = "duò";
	dict[143311] = "biào,pāo";
	dict[143322] = "yōu";
	dict[143324] = "màn";
	dict[143326] = "liǎo";
	dict[143329] = "xié";
	dict[143330] = "luàn";
	dict[143331] = "qiāo";
	dict[143332] = "dèng";
	dict[143334] = "chéng";
	dict[143335] = "chéng";
	dict[143341] = "chuò";
	dict[143345] = "sàn";
	dict[143346] = "qiāo";
	dict[143347] = "luàn";
	dict[143352] = "cè";
	dict[143360] = "léi";
	dict[143361] = "zhǎn";
	dict[143362] = "lǐ";
	dict[143363] = "lián";
	dict[143364] = "qún";
	dict[143366] = "qún";
	dict[143373] = "chén";
	dict[143375] = "chéng";
	dict[143376] = "gū";
	dict[143378] = "zòng";
	dict[143379] = "chóu,dǎo";
	dict[143380] = "chuàn,chuò";
	dict[143384] = "chóu";
	dict[143388] = "lèi";
	dict[143389] = "shuò";
	dict[143390] = "lǜ";
	dict[143395] = "fú";
	dict[143397] = "lì";
	dict[143399] = "sàn";
	dict[143403] = "sān";
	dict[143407] = "sà";
	dict[143411] = "niè";
	dict[143414] = "zuān";
	dict[143415] = "lǐ,lí";
	dict[143419] = "shǔ,zhǔ";
	dict[143422] = "fú";
	dict[143433] = "bì";
	dict[143437] = "dào";
	dict[143442] = "shī";
	dict[143446] = "gàn";
	dict[143447] = "tàn";
	dict[143452] = "màn";
	dict[143455] = "lí";
	dict[143458] = "bì";
	dict[143462] = "pán";
	dict[143464] = "yōu";
	dict[143469] = "jiū";
	dict[143471] = "guō";
	dict[143472] = "liáo";
	dict[143475] = "wò";
	dict[143476] = "qià";
	dict[143477] = "dǒu";
	dict[143479] = "liè";
	dict[143481] = "jiǎo";
	dict[143483] = "liè,luō";
	dict[143488] = "tiāo";
	dict[143489] = "tiāo,qiāo";
	dict[143492] = "guō";
	dict[143494] = "pāng";
	dict[143495] = "qiāo";
	dict[143497] = "dí";
	dict[143498] = "yùn";
	dict[143506] = "lè";
	dict[143510] = "sī";
	dict[143511] = "xīn";
	dict[143516] = "xīn";
	dict[143517] = "xiàng";
	dict[143518] = "luǒ";
	dict[143524] = "bēng";
	dict[143525] = "tiāo,qiāo";
	dict[143532] = "xiào";
	dict[143534] = "dōu,tóu";
	dict[143539] = "dàng";
	dict[143540] = "tíng";
	dict[143541] = "zhuàn";
	dict[143547] = "ōu,kōu";
	dict[143549] = "wò";
	dict[143556] = "xīn";
	dict[143557] = "ruǎn";
	dict[143560] = "zhuó";
	dict[143561] = "dàng";
	dict[143565] = "cuì,chà";
	dict[143569] = "zhuó";
	dict[143572] = "duàn";
	dict[143575] = "cóng";
	dict[143576] = "chǎn,chuáng";
	dict[143578] = "háng";
	dict[143581] = "yǎng";
	dict[143591] = "yǎn";
	dict[143603] = "yǎn,yè";
	dict[143605] = "zhèn,shēn";
	dict[143613] = "nuǒ";
	dict[143614] = "yàn";
	dict[143621] = "fǎng";
	dict[143625] = "yǎn";
	dict[143629] = "tí";
	dict[143630] = "fù";
	dict[143631] = "běn";
	dict[143633] = "yǎn";
	dict[143635] = "huī";
	dict[143641] = "huǎng";
	dict[143644] = "guì";
	dict[143645] = "yàn";
	dict[143647] = "hú";
	dict[143648] = "biāo";
	dict[143655] = "suì,wéi";
	dict[143662] = "zì";
	dict[143663] = "jì";
	dict[143664] = "ě";
	dict[143665] = "jì";
	dict[143666] = "kuǐ";
	dict[143668] = "liàng";
	dict[143672] = "huò";
	dict[143674] = "wéi";
	dict[143675] = "zhuō";
	dict[143679] = "tǐng";
	dict[143683] = "zǎi";
	dict[143684] = "yòu";
	dict[143689] = "rèn";
	dict[143693] = "miàn,bīng";
	dict[143706] = "nà,niǔ";
	dict[143708] = "jiē";
	dict[143709] = "tū";
	dict[143710] = "jué";
	dict[143711] = "dān";
	dict[143713] = "jué";
	dict[143716] = "xū";
	dict[143717] = "dī";
	dict[143727] = "zhòu";
	dict[143728] = "xiàng";
	dict[143730] = "jué";
	dict[143735] = "xiòng";
	dict[143738] = "yǒu";
	dict[143739] = "guǎ,jiōng";
	dict[143742] = "xī";
	dict[143752] = "hè";
	dict[143757] = "dǐng";
	dict[143761] = "cè";
	dict[143762] = "xú";
	dict[143764] = "zhòu";
	dict[143765] = "xiàn";
	dict[143766] = "huāng";
	dict[143767] = "chā";
	dict[143768] = "shǐ";
	dict[143769] = "gàn";
	dict[143770] = "nuǒ,chǐ";
	dict[143771] = "àn,wǎn";
	dict[143775] = "xiē,jiē";
	dict[143783] = "hào";
	dict[143794] = "qīn";
	dict[143795] = "gěng";
	dict[143796] = "shān";
	dict[143797] = "fú";
	dict[143805] = "zè";
	dict[143830] = "diǎn";
	dict[143831] = "shēn";
	dict[143833] = "zǔ";
	dict[143842] = "biē";
	dict[143846] = "chuí";
	dict[143847] = "zhè";
	dict[143848] = "dài";
	dict[143851] = "wǒ";
	dict[143852] = "qióng";
	dict[143856] = "lín";
	dict[143858] = "hūn";
	dict[143859] = "jī";
	dict[143861] = "jīng";
	dict[143862] = "mò";
	dict[143877] = "cáo";
	dict[143882] = "mù";
	dict[143884] = "dū";
	dict[143885] = "dié";
	dict[143886] = "wèi";
	dict[143904] = "biàn";
	dict[143905] = "tǐ";
	dict[143909] = "tú";
	dict[143940] = "chí";
	dict[143941] = "còu";
	dict[143942] = "tǐ";
	dict[143954] = "huò";
	dict[143955] = "qī";
	dict[143956] = "sāo";
	dict[143957] = "sàng";
	dict[143958] = "xuǎn";
	dict[143959] = "àng";
	dict[143960] = "nài";
	dict[143962] = "yáng";
	dict[143963] = "shū";
	dict[143964] = "shā";
	dict[143969] = "tǐng";
	dict[143977] = "yà";
	dict[143978] = "huǎng";
	dict[143982] = "bīn";
	dict[143998] = "òu";
	dict[143999] = "cáo";
	dict[144001] = "áo";
	dict[144003] = "mào";
	dict[144019] = "xiè";
	dict[144020] = "méng";
	dict[144022] = "tiān";
	dict[144029] = "sàng";
	dict[144030] = "xù";
	dict[144031] = "kàn";
	dict[144039] = "lǎng,zhào";
	dict[144043] = "liù";
	dict[144054] = "biē";
	dict[144055] = "cóng";
	dict[144058] = "xián";
	dict[144068] = "tūn";
	dict[144073] = "yù";
	dict[144074] = "dàn";
	dict[144075] = "yìng";
	dict[144076] = "yè";
	dict[144077] = "zhāo";
	dict[144079] = "pù";
	dict[144088] = "huì";
	dict[144094] = "ài";
	dict[144095] = "mǒ";
	dict[144098] = "jīng";
	dict[144099] = "lán";
	dict[144114] = "liè";
	dict[144115] = "piǎo,bào";
	dict[144117] = "bó";
	dict[144118] = "qióng";
	dict[144121] = "bì";
	dict[144127] = "yōng";
	dict[144133] = "lì";
	dict[144141] = "niè";
	dict[144143] = "dé";
	dict[144147] = "huān";
	dict[144151] = "yuè";
	dict[144154] = "chūn";
	dict[144156] = "lì";
	dict[144158] = "zhāng";
	dict[144159] = "líng";
	dict[144160] = "chún";
	dict[144167] = "cè";
	dict[144168] = "xún";
	dict[144172] = "jǔ";
	dict[144173] = "hui,dá";
	dict[144190] = "tōng";
	dict[144195] = "yìn";
	dict[144198] = "níng";
	dict[144199] = "jù";
	dict[144207] = "chà";
	dict[144208] = "fèi";
	dict[144214] = "zāo";
	dict[144219] = "yù";
	dict[144223] = "kěn,wěi";
	dict[144230] = "kuàng";
	dict[144231] = "fěi";
	dict[144244] = "quán";
	dict[144248] = "pò";
	dict[144250] = "pěi";
	dict[144260] = "gèng";
	dict[144261] = "yì,huān";
	dict[144270] = "líng";
	dict[144275] = "xuǎn";
	dict[144276] = "niàn";
	dict[144282] = "hú";
	dict[144283] = "jú,xuè";
	dict[144287] = "xún";
	dict[144297] = "yè";
	dict[144302] = "xī";
	dict[144305] = "yuè";
	dict[144306] = "tǎng";
	dict[144307] = "pìn";
	dict[144308] = "dǔn";
	dict[144309] = "bèi,pō";
	dict[144312] = "liǎo";
	dict[144320] = "yǒng";
	dict[144321] = "mǒu";
	dict[144332] = "sì";
	dict[144334] = "yā";
	dict[144337] = "jiǎo";
	dict[144340] = "kùn,kǔn";
	dict[144342] = "zhèn";
	dict[144343] = "shù";
	dict[144346] = "shí";
	dict[144350] = "yóu";
	dict[144351] = "pài";
	dict[144352] = "xiáo";
	dict[144353] = "jí";
	dict[144357] = "lóu";
	dict[144362] = "shuāng";
	dict[144363] = "pāo";
	dict[144374] = "qī";
	dict[144375] = "hé";
	dict[144378] = "kǒng";
	dict[144386] = "yè";
	dict[144387] = "chì";
	dict[144394] = "kǎo,jú";
	dict[144395] = "yuè";
	dict[144398] = "wǎ";
	dict[144399] = "niǎn";
	dict[144401] = "cí";
	dict[144403] = "yí";
	dict[144425] = "shēn";
	dict[144427] = "yāng";
	dict[144428] = "lí";
	dict[144430] = "dāi";
	dict[144431] = "chóng";
	dict[144437] = "yí";
	dict[144442] = "hàn";
	dict[144447] = "yī";
	dict[144449] = "chòng";
	dict[144450] = "hù";
	dict[144451] = "zhuǎ";
	dict[144461] = "guǎi";
	dict[144486] = "qióng";
	dict[144487] = "duò";
	dict[144494] = "nán";
	dict[144495] = "táo";
	dict[144504] = "tóng";
	dict[144505] = "xiān";
	dict[144511] = "fú";
	dict[144514] = "diàn";
	dict[144515] = "xí";
	dict[144516] = "xiē";
	dict[144517] = "zhèn";
	dict[144518] = "qiào";
	dict[144519] = "tū";
	dict[144525] = "hé";
	dict[144567] = "hàn";
	dict[144568] = "kuàng";
	dict[144569] = "suō";
	dict[144571] = "shòu";
	dict[144572] = "tiáo";
	dict[144576] = "zhēn,zhěn";
	dict[144577] = "kān";
	dict[144579] = "nèi";
	dict[144581] = "qiǎn";
	dict[144582] = "yín";
	dict[144584] = "liǎng";
	dict[144585] = "shà,jié";
	dict[144586] = "zì";
	dict[144587] = "pí";
	dict[144588] = "gāo,jú";
	dict[144591] = "jìn";
	dict[144592] = "yóu";
	dict[144594] = "shàn";
	dict[144596] = "mì";
	dict[144597] = "òu";
	dict[144599] = "hū";
	dict[144603] = "yòu";
	dict[144605] = "měng";
	dict[144656] = "zhǐ";
	dict[144659] = "bǐ";
	dict[144663] = "shēn";
	dict[144664] = "qì";
	dict[144665] = "xiān";
	dict[144666] = "pán";
	dict[144667] = "kǎng";
	dict[144683] = "shuān";
	dict[144684] = "pí";
	dict[144686] = "zāi";
	dict[144687] = "zhǔ";
	dict[144689] = "sōu,sāo";
	dict[144690] = "jiǒng";
	dict[144693] = "chán";
	dict[144694] = "fán,fàn";
	dict[144695] = "xiáo";
	dict[144696] = "yǐn";
	dict[144697] = "hóu";
	dict[144698] = "mào";
	dict[144699] = "tú,chán";
	dict[144701] = "jì";
	dict[144702] = "suì";
	dict[144705] = "yí";
	dict[144707] = "yù";
	dict[144708] = "jiōng";
	dict[144709] = "pào";
	dict[144711] = "xiāo";
	dict[144713] = "gǒu";
	dict[144715] = "xiè";
	dict[144716] = "gōu";
	dict[144717] = "sǔn";
	dict[144718] = "xiǎn";
	dict[144719] = "zhuǎn";
	dict[144740] = "zǎo";
	dict[144766] = "chóu,bì";
	dict[144772] = "qiāo";
	dict[144773] = "tí";
	dict[144774] = "yún";
	dict[144777] = "shān";
	dict[144778] = "liè,lì";
	dict[144780] = "zhǐ";
	dict[144784] = "pāi";
	dict[144803] = "jú";
	dict[144804] = "lái";
	dict[144808] = "zǐ";
	dict[144810] = "qú";
	dict[144811] = "gǔ,què";
	dict[144812] = "jué";
	dict[144813] = "zhí";
	dict[144814] = "àng";
	dict[144815] = "qìn";
	dict[144816] = "pí";
	dict[144817] = "zuī";
	dict[144819] = "qián";
	dict[144821] = "cuó";
	dict[144823] = "jí";
	dict[144824] = "tí";
	dict[144825] = "rú";
	dict[144827] = "hǎi";
	dict[144828] = "xún";
	dict[144830] = "bèi";
	dict[144831] = "zhí";
	dict[144833] = "dùn,zā";
	dict[144848] = "réng";
	dict[144876] = "chòu";
	dict[144882] = "gān";
	dict[144883] = "shù";
	dict[144885] = "gàng,gāng";
	dict[144886] = "tà";
	dict[144888] = "tuò";
	dict[144889] = "yàng";
	dict[144890] = "kū";
	dict[144891] = "zhì";
	dict[144918] = "jiān";
	dict[144919] = "nì";
	dict[144920] = "shēn,zhēn";
	dict[144921] = "bàng";
	dict[144922] = "shuài";
	dict[144923] = "dōu";
	dict[144925] = "qiān";
	dict[144926] = "hán";
	dict[144927] = "qiā";
	dict[144928] = "gǎn";
	dict[144931] = "chún";
	dict[144932] = "chá,sà";
	dict[144933] = "bì";
	dict[144934] = "yī";
	dict[144935] = "fū";
	dict[144936] = "ě,ē";
	dict[144938] = "láo";
	dict[144939] = "háo";
	dict[144940] = "lí";
	dict[144945] = "tè";
	dict[144946] = "shēn";
	dict[144955] = "chá,tú";
	dict[144983] = "niè";
	dict[144984] = "còu";
	dict[144987] = "yí";
	dict[144991] = "táng";
	dict[144994] = "juàn";
	dict[145008] = "chì";
	dict[145009] = "gǒu";
	dict[145012] = "jié";
	dict[145013] = "zhé";
	dict[145014] = "hú";
	dict[145015] = "máng";
	dict[145019] = "zōu";
	dict[145020] = "sì,cí";
	dict[145023] = "fèi";
	dict[145024] = "zī";
	dict[145025] = "zī";
	dict[145027] = "jié";
	dict[145028] = "sī";
	dict[145030] = "chūn";
	dict[145031] = "pào";
	dict[145035] = "yé";
	dict[145036] = "dī,shì";
	dict[145037] = "yì";
	dict[145038] = "léi";
	dict[145039] = "xū";
	dict[145040] = "rú";
	dict[145042] = "pá";
	dict[145043] = "juàn";
	dict[145044] = "xì";
	dict[145045] = "yè,yǎn";
	dict[145046] = "ān";
	dict[145048] = "yì";
	dict[145049] = "jiān,jiàn";
	dict[145052] = "sōng";
	dict[145053] = "wǒ";
	dict[145055] = "sè";
	dict[145056] = "zhǐ";
	dict[145057] = "bī";
	dict[145058] = "zhuàn";
	dict[145062] = "jiàng";
	dict[145063] = "hào";
	dict[145065] = "chì";
	dict[145066] = "dùn";
	dict[145107] = "bó";
	dict[145108] = "jí";
	dict[145109] = "chuǎ";
	dict[145111] = "luò";
	dict[145114] = "ruǐ";
	dict[145131] = "hú";
	dict[145134] = "shēng";
	dict[145137] = "dàn,lǎn";
	dict[145140] = "hǎn";
	dict[145141] = "què";
	dict[145142] = "shā";
	dict[145143] = "zhǎn";
	dict[145144] = "zé";
	dict[145145] = "chuán,chuǎi";
	dict[145146] = "qī";
	dict[145147] = "dié";
	dict[145149] = "zhà";
	dict[145150] = "tòu";
	dict[145153] = "cī";
	dict[145154] = "sà";
	dict[145156] = "luó";
	dict[145159] = "jí";
	dict[145186] = "luǒ";
	dict[145187] = "qín";
	dict[145190] = "dào";
	dict[145191] = "qióng";
	dict[145192] = "juàn";
	dict[145196] = "ài";
	dict[145197] = "jiǎn";
	dict[145209] = "tì";
	dict[145210] = "wén";
	dict[145213] = "qiāo";
	dict[145217] = "pái,bēi";
	dict[145218] = "hún";
	dict[145221] = "ài";
	dict[145223] = "shuò";
	dict[145224] = "lián";
	dict[145225] = "duì";
	dict[145227] = "tà";
	dict[145228] = "jǐn";
	dict[145229] = "bì";
	dict[145230] = "yǎn";
	dict[145231] = "gào";
	dict[145232] = "piáo";
	dict[145233] = "yù,yú";
	dict[145234] = "shè";
	dict[145237] = "jiān";
	dict[145239] = "hú";
	dict[145242] = "liè";
	dict[145244] = "biàn";
	dict[145245] = "sù";
	dict[145246] = "jiāo";
	dict[145272] = "zhuì";
	dict[145276] = "mián";
	dict[145277] = "hān";
	dict[145287] = "dùn";
	dict[145296] = "xiě";
	dict[145297] = "méng";
	dict[145298] = "fū";
	dict[145299] = "lù";
	dict[145300] = "tàn";
	dict[145301] = "yì";
	dict[145303] = "liú";
	dict[145304] = "xiān";
	dict[145305] = "sǎng";
	dict[145308] = "còu";
	dict[145309] = "zhuāng";
	dict[145311] = "chēn";
	dict[145316] = "wú";
	dict[145328] = "liàn";
	dict[145332] = "lí";
	dict[145344] = "pèng";
	dict[145345] = "tuǒ";
	dict[145348] = "tuò";
	dict[145350] = "liáo";
	dict[145351] = "xiào";
	dict[145352] = "chuì";
	dict[145353] = "huài";
	dict[145354] = "niǎo";
	dict[145355] = "qiān";
	dict[145356] = "lì";
	dict[145359] = "pāo";
	dict[145360] = "tiáo";
	dict[145361] = "liú";
	dict[145362] = "wú";
	dict[145380] = "yǐng";
	dict[145382] = "zhá";
	dict[145392] = "yú";
	dict[145394] = "xiǎn";
	dict[145395] = "xuán";
	dict[145397] = "xī";
	dict[145400] = "méi";
	dict[145401] = "sēn";
	dict[145402] = "liàn";
	dict[145404] = "jiū,qiāo";
	dict[145405] = "lào";
	dict[145422] = "xiāo";
	dict[145423] = "zōu";
	dict[145434] = "liú";
	dict[145436] = "zhào";
	dict[145438] = "zhé,shè";
	dict[145440] = "lěi";
	dict[145453] = "duǎn";
	dict[145463] = "jiǎn";
	dict[145464] = "shuān";
	dict[145465] = "zuó";
	dict[145466] = "qiè";
	dict[145468] = "lǎo";
	dict[145481] = "yù";
	dict[145482] = "yì";
	dict[145483] = "nǐ";
	dict[145484] = "niè";
	dict[145486] = "cén";
	dict[145493] = "yàn";
	dict[145495] = "ruǎn";
	dict[145502] = "yán";
	dict[145503] = "dié";
	dict[145504] = "mián";
	dict[145511] = "léi";
	dict[145513] = "wān";
	dict[145520] = "nǎ";
	dict[145526] = "yán";
	dict[145530] = "lěi";
	dict[145533] = "shā";
	dict[145534] = "hū";
	dict[145537] = "xī";
	dict[145538] = "xī";
	dict[145540] = "yǒu,yōu";
	dict[145541] = "hān";
	dict[145542] = "jì";
	dict[145543] = "hāi,xī";
	dict[145545] = "wā";
	dict[145546] = "xù";
	dict[145547] = "pī";
	dict[145548] = "tān";
	dict[145549] = "xī";
	dict[145550] = "xī";
	dict[145551] = "bīn";
	dict[145552] = "qīn,kēng";
	dict[145553] = "xī";
	dict[145554] = "yú";
	dict[145555] = "xì";
	dict[145557] = "cì";
	dict[145558] = "qiàn";
	dict[145559] = "xiā";
	dict[145562] = "wá";
	dict[145563] = "è";
	dict[145564] = "yǒu,yōu";
	dict[145565] = "xìng";
	dict[145566] = "ní";
	dict[145567] = "hán,xián";
	dict[145568] = "bì";
	dict[145569] = "shēng";
	dict[145572] = "zhān";
	dict[145573] = "diàn";
	dict[145574] = "yǔ";
	dict[145576] = "ǒu";
	dict[145578] = "guǐ";
	dict[145579] = "wǎng,wāng";
	dict[145580] = "qiān";
	dict[145581] = "yí";
	dict[145584] = "zú";
	dict[145586] = "qiān";
	dict[145587] = "dìng";
	dict[145588] = "kēng";
	dict[145590] = "chù";
	dict[145591] = "yī";
	dict[145594] = "hān";
	dict[145595] = "kuǎn";
	dict[145608] = "diàn";
	dict[145609] = "xì";
	dict[145610] = "zī";
	dict[145611] = "líng";
	dict[145612] = "zì,sì";
	dict[145614] = "yù";
	dict[145615] = "hūn";
	dict[145617] = "sǐ";
	dict[145618] = "kǎn";
	dict[145626] = "àn";
	dict[145628] = "yǒu";
	dict[145629] = "jí";
	dict[145630] = "hùn";
	dict[145631] = "qiā";
	dict[145632] = "hóu";
	dict[145633] = "hóu";
	dict[145635] = "diàn";
	dict[145641] = "xiē";
	dict[145645] = "shè";
	dict[145646] = "shà";
	dict[145650] = "xié";
	dict[145651] = "yáo,yǎo";
	dict[145652] = "dà";
	dict[145653] = "yáo";
	dict[145654] = "xiè";
	dict[145655] = "chī";
	dict[145656] = "yǒu";
	dict[145657] = "hē";
	dict[145658] = "shà";
	dict[145663] = "tái";
	dict[145665] = "zhú";
	dict[145667] = "ǎi";
	dict[145671] = "què";
	dict[145672] = "zé";
	dict[145674] = "lā";
	dict[145675] = "lòu";
	dict[145676] = "chuài,chǐ,chuò";
	dict[145678] = "yǒu";
	dict[145686] = "tì";
	dict[145688] = "shī";
	dict[145697] = "xiào,yǒu";
	dict[145698] = "xì";
	dict[145704] = "huò";
	dict[145705] = "chì";
	dict[145706] = "yì";
	dict[145709] = "jiān";
	dict[145711] = "shú";
	dict[145712] = "yuè";
	dict[145713] = "chán";
	dict[145714] = "è";
	dict[145715] = "xī";
	dict[145716] = "xī";
	dict[145717] = "yǐng";
	dict[145718] = "zú,zā,zǎn";
	dict[145719] = "zā";
	dict[145721] = "jiào";
	dict[145722] = "zā";
	dict[145727] = "kūn";
	dict[145730] = "tà";
	dict[145731] = "wàn";
	dict[145735] = "xìn";
	dict[145738] = "wàng";
	dict[145739] = "fǔ";
	dict[145744] = "lǔ,lǚ";
	dict[145758] = "jiǎn";
	dict[145760] = "tī";
	dict[145761] = "yán";
	dict[145763] = "bì";
	dict[145764] = "kěn";
	dict[145765] = "guàn";
	dict[145768] = "zī";
	dict[145774] = "kuǐ";
	dict[145775] = "zhǒu";
	dict[145776] = "zhì";
	dict[145779] = "tú";
	dict[145782] = "bù";
	dict[145783] = "tà";
	dict[145785] = "chù";
	dict[145786] = "chēng";
	dict[145787] = "chěng";
	dict[145788] = "zhù";
	dict[145790] = "dà";
	dict[145799] = "bì";
	dict[145801] = "jiǎ";
	dict[145804] = "yì";
	dict[145807] = "yuè";
	dict[145808] = "gāng";
	dict[145814] = "gān";
	dict[145820] = "qiāo";
	dict[145824] = "chú";
	dict[145825] = "chú";
	dict[145826] = "bì";
	dict[145830] = "guì";
	dict[145833] = "gǔ";
	dict[145834] = "bǐng";
	dict[145835] = "yìn";
	dict[145836] = "zhuì";
	dict[145837] = "gǔ";
	dict[145839] = "lì";
	dict[145845] = "è,zhēn";
	dict[145846] = "dǎi";
	dict[145852] = "cán";
	dict[145858] = "tì";
	dict[145859] = "dù";
	dict[145860] = "yì";
	dict[145864] = "dié";
	dict[145866] = "niǔ";
	dict[145868] = "xuè";
	dict[145869] = "nè";
	dict[145870] = "guì";
	dict[145871] = "kǎo";
	dict[145874] = "chuǎn,mò";
	dict[145878] = "zhá";
	dict[145879] = "yóu";
	dict[145880] = "chuǎn";
	dict[145881] = "bài";
	dict[145882] = "shí";
	dict[145883] = "diàn";
	dict[145884] = "pā";
	dict[145885] = "qiú";
	dict[145889] = "xuè";
	dict[145891] = "mò";
	dict[145892] = "kē";
	dict[145893] = "yǒu";
	dict[145894] = "jiǎo";
	dict[145895] = "bó";
	dict[145900] = "xiǔ";
	dict[145906] = "mǐ";
	dict[145907] = "luò";
	dict[145909] = "xuè,xù";
	dict[145911] = "duò";
	dict[145913] = "èr";
	dict[145914] = "shān";
	dict[145915] = "cán";
	dict[145916] = "kuì";
	dict[145917] = "nào";
	dict[145918] = "miǎn";
	dict[145919] = "lì";
	dict[145920] = "luàn";
	dict[145922] = "dié";
	dict[145924] = "qià";
	dict[145925] = "lèi";
	dict[145927] = "mào";
	dict[145929] = "hēng";
	dict[145930] = "chè";
	dict[145931] = "zhì";
	dict[145933] = "gǔ";
	dict[145934] = "cuō";
	dict[145939] = "wù";
	dict[145940] = "tào";
	dict[145943] = "xī";
	dict[145944] = "yāo";
	dict[145945] = "wěi,wèi";
	dict[145947] = "zú";
	dict[145948] = "mà";
	dict[145949] = "yǔ";
	dict[145950] = "pěng";
	dict[145951] = "yì";
	dict[145952] = "qìn,qīn";
	dict[145953] = "yuè";
	dict[145954] = "juè";
	dict[145955] = "jiàng";
	dict[145956] = "xù";
	dict[145957] = "bēng";
	dict[145962] = "luǒ";
	dict[145963] = "zhuī";
	dict[145970] = "dù";
	dict[145971] = "xiàng";
	dict[145974] = "huì";
	dict[145978] = "gǔ";
	dict[145979] = "kǎo";
	dict[145982] = "xīng";
	dict[145983] = "hún";
	dict[145984] = "biān";
	dict[145988] = "kè,ài";
	dict[145989] = "kǎo";
	dict[145992] = "cuó,zuō";
	dict[145999] = "lù";
	dict[146001] = "zuì";
	dict[146002] = "zāo";
	dict[146003] = "jiǎo";
	dict[146004] = "guàn";
	dict[146009] = "yān";
	dict[146010] = "ér";
	dict[146012] = "qíng";
	dict[146015] = "dèng";
	dict[146016] = "sì";
	dict[146017] = "suì";
	dict[146018] = "liào";
	dict[146023] = "shàn";
	dict[146025] = "bì";
	dict[146026] = "wèi";
	dict[146027] = "yè";
	dict[146029] = "zhài";
	dict[146031] = "yé";
	dict[146032] = "diào";
	dict[146033] = "ài,kē";
	dict[146036] = "jiàng";
	dict[146039] = "sū";
	dict[146041] = "huài";
	dict[146042] = "yù";
	dict[146045] = "rǎng";
	dict[146048] = "diān";
	dict[146049] = "zuān";
	dict[146050] = "bān";
	dict[146052] = "qín";
	dict[146055] = "jiā";
	dict[146057] = "pí";
	dict[146060] = "tóu,duì";
	dict[146064] = "chóu";
	dict[146069] = "guǐ";
	dict[146072] = "guǐ";
	dict[146080] = "jī,jì,qì";
	dict[146088] = "xuè";
	dict[146090] = "diàn";
	dict[146091] = "diàn";
	dict[146093] = "biàn";
	dict[146094] = "zǎi";
	dict[146095] = "tóng";
	dict[146102] = "shǎn";
	dict[146104] = "gù";
	dict[146105] = "què";
	dict[146106] = "hú";
	dict[146112] = "gǔ";
	dict[146117] = "hú";
	dict[146118] = "shēng";
	dict[146120] = "hú";
	dict[146121] = "kuǎi";
	dict[146124] = "gòu";
	dict[146126] = "sù";
	dict[146128] = "chóu";
	dict[146130] = "kēng";
	dict[146132] = "dū";
	dict[146137] = "yì";
	dict[146140] = "dào";
	dict[146141] = "qiāng";
	dict[146147] = "lóng";
	dict[146149] = "lí";
	dict[146151] = "lì";
	dict[146152] = "qīng";
	dict[146154] = "wēi";
	dict[146156] = "móu";
	dict[146161] = "qì";
	dict[146163] = "jiǎng";
	dict[146164] = "xié";
	dict[146169] = "dài";
	dict[146171] = "lóu";
	dict[146178] = "guàn";
	dict[146182] = "péi";
	dict[146184] = "pí";
	dict[146185] = "pí";
	dict[146187] = "juàn,chuò";
	dict[146189] = "bēi";
	dict[146190] = "jué";
	dict[146191] = "juàn";
	dict[146192] = "shì";
	dict[146197] = "xiě";
	dict[146200] = "ruí";
	dict[146201] = "jìng";
	dict[146202] = "pò";
	dict[146203] = "sān,shān";
	dict[146205] = "liáo";
	dict[146208] = "jī";
	dict[146217] = "fēn";
	dict[146218] = "bèi";
	dict[146219] = "jiè,gà";
	dict[146220] = "sā";
	dict[146222] = "pī";
	dict[146228] = "dì";
	dict[146229] = "máo,mào";
	dict[146230] = "ba";
	dict[146231] = "ba";
	dict[146232] = "tiáo";
	dict[146233] = "líng";
	dict[146234] = "shēng";
	dict[146235] = "zhěn";
	dict[146236] = "pī";
	dict[146237] = "wù";
	dict[146239] = "zè";
	dict[146240] = "bào";
	dict[146247] = "lǚ";
	dict[146262] = "hāo";
	dict[146263] = "dǒu";
	dict[146264] = "fú";
	dict[146265] = "ní";
	dict[146269] = "gé";
	dict[146272] = "rú";
	dict[146286] = "máo";
	dict[146291] = "qiú,qú";
	dict[146295] = "bó";
	dict[146297] = "hāo";
	dict[146298] = "nǎo";
	dict[146299] = "yán";
	dict[146307] = "páo";
	dict[146308] = "suī";
	dict[146310] = "tuò";
	dict[146312] = "qū";
	dict[146313] = "lí";
	dict[146314] = "dé";
	dict[146316] = "jié";
	dict[146317] = "jié";
	dict[146318] = "gǔn";
	dict[146319] = "jiān";
	dict[146320] = "bì";
	dict[146336] = "sàn";
	dict[146337] = "bāng";
	dict[146338] = "chún";
	dict[146342] = "nài";
	dict[146343] = "bǎng";
	dict[146346] = "róng";
	dict[146347] = "jiā";
	dict[146348] = "sōu";
	dict[146352] = "dé";
	dict[146366] = "xiān";
	dict[146367] = "zhān";
	dict[146368] = "mào";
	dict[146371] = "zī";
	dict[146373] = "jì";
	dict[146374] = "qí";
	dict[146379] = "rù";
	dict[146380] = "suō";
	dict[146381] = "rǒng";
	dict[146382] = "wù";
	dict[146383] = "róng,rǒng";
	dict[146384] = "róng";
	dict[146394] = "tà";
	dict[146396] = "sōu";
	dict[146404] = "lí";
	dict[146407] = "cuǐ,suī";
	dict[146408] = "zōng";
	dict[146409] = "mén";
	dict[146410] = "xǐ";
	dict[146412] = "mǎng";
	dict[146413] = "niè";
	dict[146415] = "suī";
	dict[146417] = "péi";
	dict[146420] = "bì";
	dict[146421] = "dì";
	dict[146424] = "qú";
	dict[146425] = "qiáo";
	dict[146427] = "fēn";
	dict[146428] = "sù";
	dict[146435] = "xū";
	dict[146440] = "jī";
	dict[146443] = "qú";
	dict[146444] = "liè,hé";
	dict[146453] = "sào";
	dict[146456] = "kùn";
	dict[146458] = "cuì";
	dict[146459] = "yè";
	dict[146460] = "bìng";
	dict[146462] = "jié";
	dict[146464] = "qú";
	dict[146465] = "qú";
	dict[146469] = "méng";
	dict[146470] = "rán,gān";
	dict[146472] = "bīn";
	dict[146473] = "cháo";
	dict[146476] = "dú";
	dict[146486] = "ráng,nǎng";
	dict[146487] = "xiān";
	dict[146490] = "táo";
	dict[146491] = "qú";
	dict[146492] = "niè";
	dict[146495] = "shū";
	dict[146496] = "lǔ";
	dict[146498] = "kùn";
	dict[146504] = "mín";
	dict[146505] = "mǐn";
	dict[146509] = "dàn";
	dict[146512] = "yìn,zhì";
	dict[146515] = "xiào,hào";
	dict[146519] = "jì";
	dict[146524] = "yīn";
	dict[146534] = "fēn";
	dict[146535] = "zhòng";
	dict[146539] = "gǔ";
	dict[146545] = "chá";
	dict[146547] = "liú";
	dict[146550] = "bǔ";
	dict[146554] = "pā";
	dict[146555] = "sì";
	dict[146556] = "dāo";
	dict[146557] = "zhěn";
	dict[146560] = "shān";
	dict[146562] = "chuǎi";
	dict[146564] = "jiǔ";
	dict[146570] = "kè";
	dict[146571] = "chí";
	dict[146577] = "hù,chí,hé,hú";
	dict[146578] = "lì,lè";
	dict[146579] = "shā";
	dict[146582] = "pài,liú,gū";
	dict[146583] = "wéi";
	dict[146584] = "wǔ";
	dict[146588] = "yíng";
	dict[146589] = "bīng";
	dict[146593] = "shā,jí,jié";
	dict[146594] = "dī";
	dict[146597] = "dān";
	dict[146601] = "pá";
	dict[146609] = "tū";
	dict[146610] = "hé";
	dict[146611] = "pǒ";
	dict[146613] = "zhǐ";
	dict[146614] = "niǔ";
	dict[146615] = "nì";
	dict[146621] = "rǒng";
	dict[146622] = "guài";
	dict[146624] = "zhí";
	dict[146627] = "jí";
	dict[146647] = "hǎi";
	dict[146652] = "fàn";
	dict[146655] = "jié";
	dict[146656] = "hǎi,mǔ";
	dict[146660] = "zhàn";
	dict[146662] = "xì,náo";
	dict[146665] = "zī";
	dict[146668] = "xí";
	dict[146669] = "piào";
	dict[146672] = "bēn";
	dict[146674] = "jiǎn";
	dict[146689] = "xī";
	dict[146707] = "jiàn";
	dict[146710] = "zá";
	dict[146718] = "bèn";
	dict[146719] = "mào,huǎn";
	dict[146722] = "zào";
	dict[146723] = "zhuàng";
	dict[146725] = "kuáng";
	dict[146728] = "bí";
	dict[146730] = "pài,pì";
	dict[146743] = "shā";
	dict[146748] = "mào";
	dict[146749] = "tàn";
	dict[146782] = "tǔn";
	dict[146783] = "luǒ";
	dict[146786] = "tān";
	dict[146801] = "án";
	dict[146807] = "hán,gàn";
	dict[146808] = "zhú";
	dict[146810] = "duò,tuó";
	dict[146811] = "duò,tuó";
	dict[146812] = "gàn";
	dict[146813] = "wò";
	dict[146819] = "cháo";
	dict[146822] = "qiòng";
	dict[146824] = "wǎng,mǎng";
	dict[146826] = "mò";
	dict[146827] = "zhè";
	dict[146828] = "wěn";
	dict[146829] = "zhuàng";
	dict[146831] = "jiē,diē";
	dict[146832] = "pào";
	dict[146834] = "yuān";
	dict[146840] = "sù";
	dict[146845] = "jù";
	dict[146848] = "qī";
	dict[146849] = "càn";
	dict[146851] = "tuán";
	dict[146852] = "shā";
	dict[146854] = "tuó";
	dict[146910] = "xiè";
	dict[146912] = "míng";
	dict[146913] = "zhōng";
	dict[146917] = "shuò";
	dict[146921] = "yì";
	dict[146922] = "wǎng";
	dict[146923] = "áo";
	dict[146934] = "sǔ";
	dict[146942] = "guǐ";
	dict[146943] = "tuǒ";
	dict[146944] = "huǐ";
	dict[146947] = "xù";
	dict[146948] = "zǎn";
	dict[146950] = "zǐ";
	dict[146951] = "biàn";
	dict[146952] = "sǒu";
	dict[146953] = "dá";
	dict[146954] = "yīn";
	dict[146955] = "quǎn";
	dict[146958] = "huài";
	dict[146959] = "ná";
	dict[146960] = "zá";
	dict[146962] = "tí";
	dict[146968] = "yí";
	dict[146969] = "tān";
	dict[146970] = "shé";
	dict[146971] = "shuò";
	dict[146973] = "xíng";
	dict[146976] = "yǒu";
	dict[146979] = "fén";
	dict[147e3] = "tiān";
	dict[147004] = "yuán";
	dict[147015] = "kè";
	dict[147019] = "fú";
	dict[147026] = "mǐn";
	dict[147029] = "lǜ";
	dict[147034] = "pì";
	dict[147036] = "jí";
	dict[147037] = "qiào,xiào";
	dict[147038] = "zhǒng";
	dict[147039] = "gàn";
	dict[147040] = "yuān";
	dict[147041] = "chí";
	dict[147042] = "hán";
	dict[147044] = "rù";
	dict[147045] = "qiàn";
	dict[147047] = "zuó,zhà";
	dict[147049] = "xié";
	dict[147050] = "máo";
	dict[147052] = "hú";
	dict[147053] = "liú";
	dict[147054] = "pì";
	dict[147055] = "xùn";
	dict[147057] = "xiá";
	dict[147058] = "tí";
	dict[147061] = "nà";
	dict[147062] = "chuǎ";
	dict[147072] = "wǔ";
	dict[147084] = "miǎo";
	dict[147116] = "huāng";
	dict[147117] = "xuè";
	dict[147118] = "tào";
	dict[147120] = "qiào";
	dict[147123] = "jiāo";
	dict[147129] = "zhān";
	dict[147149] = "dàng,xiàng";
	dict[147150] = "kòu";
	dict[147152] = "jū";
	dict[147153] = "shā,shài";
	dict[147154] = "jīng";
	dict[147157] = "mó";
	dict[147158] = "nóu";
	dict[147160] = "shuò";
	dict[147162] = "shù";
	dict[147163] = "zhuāng";
	dict[147164] = "fú";
	dict[147166] = "zhǐ";
	dict[147167] = "zāng";
	dict[147168] = "xié";
	dict[147169] = "làng";
	dict[147170] = "tōng";
	dict[147171] = "shè";
	dict[147177] = "zhé";
	dict[147180] = "càn";
	dict[147182] = "yuè";
	dict[147185] = "zhòu";
	dict[147226] = "tān";
	dict[147230] = "yán";
	dict[147231] = "lù";
	dict[147232] = "yǎn";
	dict[147238] = "zé";
	dict[147239] = "shuài";
	dict[147261] = "lǎng";
	dict[147269] = "guō";
	dict[147270] = "zhú";
	dict[147272] = "rú,ruán";
	dict[147273] = "rú";
	dict[147276] = "kǎn";
	dict[147277] = "jì";
	dict[147278] = "gāo,zé,háo";
	dict[147279] = "wū";
	dict[147282] = "xiè";
	dict[147285] = "òu";
	dict[147286] = "jiān";
	dict[147290] = "zhí";
	dict[147291] = "zhá";
	dict[147293] = "hǒng";
	dict[147295] = "kuǎn";
	dict[147297] = "bó";
	dict[147300] = "sè";
	dict[147301] = "àn";
	dict[147302] = "jiàn";
	dict[147304] = "téng";
	dict[147307] = "sōng";
	dict[147309] = "mèng";
	dict[147310] = "yín";
	dict[147311] = "tān";
	dict[147312] = "guō";
	dict[147315] = "ruán";
	dict[147316] = "wèi";
	dict[147364] = "qì";
	dict[147366] = "zhǎng";
	dict[147397] = "dǒng";
	dict[147398] = "fú";
	dict[147399] = "shěn";
	dict[147400] = "sù";
	dict[147401] = "yì";
	dict[147402] = "liàn";
	dict[147404] = "hé";
	dict[147406] = "zhēn";
	dict[147408] = "zé";
	dict[147410] = "cuǐ";
	dict[147411] = "cuǐ";
	dict[147421] = "fèng";
	dict[147422] = "lǐ";
	dict[147423] = "kòu";
	dict[147427] = "xiào";
	dict[147428] = "yǒu";
	dict[147432] = "xiè";
	dict[147444] = "dàng";
	dict[147459] = "háo";
	dict[147465] = "hàn";
	dict[147466] = "kěn";
	dict[147485] = "yù";
	dict[147488] = "xī";
	dict[147491] = "huǎn";
	dict[147492] = "suō,shàn,shuài";
	dict[147494] = "là";
	dict[147496] = "dòu";
	dict[147497] = "jiàn";
	dict[147498] = "pō";
	dict[147499] = "biǎn";
	dict[147504] = "xuè";
	dict[147506] = "biàn";
	dict[147511] = "wèi";
	dict[147553] = "dàn";
	dict[147554] = "jié";
	dict[147555] = "bài";
	dict[147557] = "niǎn";
	dict[147558] = "xiàn";
	dict[147559] = "sè";
	dict[147562] = "huá";
	dict[147563] = "chuā";
	dict[147566] = "òu";
	dict[147567] = "liè";
	dict[147568] = "dí";
	dict[147569] = "cài";
	dict[147571] = "zhá";
	dict[147573] = "lǘ";
	dict[147577] = "huò";
	dict[147580] = "lì";
	dict[147581] = "yǐng";
	dict[147583] = "wěi";
	dict[147584] = "bì";
	dict[147585] = "guó";
	dict[147587] = "pì";
	dict[147590] = "biāo";
	dict[147601] = "nóng";
	dict[147616] = "yǎn";
	dict[147620] = "zhuàn";
	dict[147634] = "hóng";
	dict[147638] = "lìn";
	dict[147639] = "è";
	dict[147641] = "yǐn";
	dict[147642] = "làn";
	dict[147644] = "yào";
	dict[147647] = "xuàn";
	dict[147648] = "lì";
	dict[147688] = "làn";
	dict[147689] = "líng";
	dict[147690] = "xī";
	dict[147691] = "hōng";
	dict[147692] = "huàn";
	dict[147693] = "jiǎo";
	dict[147694] = "zhuó";
	dict[147698] = "zhí";
	dict[147700] = "huò";
	dict[147701] = "bó";
	dict[147702] = "tēng";
	dict[147703] = "ǎn";
	dict[147706] = "xún";
	dict[147707] = "lěi";
	dict[147708] = "zāng";
	dict[147709] = "huǐ";
	dict[147726] = "xì";
	dict[147727] = "hóng";
	dict[147729] = "fàn";
	dict[147730] = "jiǎn";
	dict[147731] = "cóng";
	dict[147732] = "zá";
	dict[147734] = "cā,zá";
	dict[147736] = "yōu";
	dict[147739] = "duì";
	dict[147740] = "pān";
	dict[147749] = "tà";
	dict[147751] = "pàn";
	dict[147755] = "fān";
	dict[147756] = "xī";
	dict[147766] = "yào,shuò";
	dict[147767] = "luó";
	dict[147770] = "biān";
	dict[147772] = "jìn";
	dict[147773] = "lì";
	dict[147786] = "yàn";
	dict[147787] = "dòu";
	dict[147790] = "màn";
	dict[147792] = "gōng";
	dict[147793] = "rǎng";
	dict[147794] = "càn";
	dict[147811] = "mén";
	dict[147812] = "mí";
	dict[147814] = "tán";
	dict[147817] = "tān";
	dict[147825] = "gǔ";
	dict[147826] = "shuàn";
	dict[147832] = "yán,yàn";
	dict[147833] = "bì";
	dict[147840] = "biāo";
	dict[147841] = "chéng";
	dict[147842] = "kuì";
	dict[147844] = "huǒ,zāi";
	dict[147852] = "yán";
	dict[147853] = "chì";
	dict[147855] = "wò";
	dict[147857] = "còu";
	dict[147858] = "zhì";
	dict[147861] = "rěn";
	dict[147865] = "shuǐ";
	dict[147868] = "guà";
	dict[147869] = "pū";
	dict[147870] = "xù";
	dict[147871] = "sī";
	dict[147873] = "wǔ";
	dict[147876] = "zhèn";
	dict[147884] = "qǔ";
	dict[147886] = "fū";
	dict[147888] = "shì";
	dict[147891] = "huì";
	dict[147892] = "huāng";
	dict[147893] = "pā";
	dict[147894] = "fén";
	dict[147898] = "kǒng";
	dict[147900] = "zhǔ";
	dict[147902] = "yí";
	dict[147919] = "zhēng";
	dict[147932] = "mín";
	dict[147934] = "gē";
	dict[147936] = "hū";
	dict[147950] = "fá";
	dict[147951] = "ēn,āo";
	dict[147952] = "fá";
	dict[147955] = "xù,xuè";
	dict[147956] = "yí,xī";
	dict[147958] = "zhēng";
	dict[147966] = "yìng";
	dict[147972] = "jí";
	dict[147988] = "chí";
	dict[147993] = "yí";
	dict[148005] = "dí";
	dict[148006] = "huǐ,méi";
	dict[148007] = "hé";
	dict[148009] = "zhǎ";
	dict[148011] = "wèi";
	dict[148044] = "xián";
	dict[148045] = "lào";
	dict[148046] = "shào";
	dict[148047] = "shì";
	dict[148048] = "zhuó";
	dict[148057] = "jūn";
	dict[148065] = "sì";
	dict[148068] = "biē";
	dict[148069] = "jiǔ";
	dict[148070] = "wō";
	dict[148071] = "jiǎo";
	dict[148072] = "fú";
	dict[148074] = "xiāng";
	dict[148075] = "kài";
	dict[148146] = "nǎo";
	dict[148148] = "huò";
	dict[148149] = "jí";
	dict[148150] = "là";
	dict[148155] = "fōu";
	dict[148156] = "shǎn";
	dict[148157] = "liào,liǎo";
	dict[148158] = "miè";
	dict[148159] = "chè";
	dict[148162] = "mó";
	dict[148192] = "yàn";
	dict[148200] = "duò";
	dict[148203] = "nǎo";
	dict[148205] = "jī";
	dict[148206] = "xī";
	dict[148208] = "zhù";
	dict[148226] = "sù";
	dict[148227] = "duò";
	dict[148231] = "jiǒng";
	dict[148234] = "zǎi";
	dict[148235] = "huǐ";
	dict[148236] = "yǐng";
	dict[148237] = "hú";
	dict[148238] = "lìn,lǐn";
	dict[148239] = "wěng";
	dict[148240] = "hàn";
	dict[148244] = "nán";
	dict[148279] = "xì";
	dict[148281] = "gàn";
	dict[148286] = "hè";
	dict[148287] = "jī";
	dict[148288] = "xiǎng";
	dict[148289] = "shā";
	dict[148306] = "zhāo";
	dict[148307] = "shù";
	dict[148309] = "yǒu";
	dict[148310] = "jiān";
	dict[148316] = "zào";
	dict[148324] = "zhāng";
	dict[148349] = "ruò";
	dict[148356] = "yān";
	dict[148357] = "áo";
	dict[148361] = "lián";
	dict[148363] = "cuì";
	dict[148375] = "jí";
	dict[148376] = "shāng";
	dict[148387] = "è";
	dict[148388] = "láo";
	dict[148389] = "tǎn,chān";
	dict[148391] = "zhù";
	dict[148397] = "lǐn,yǐn";
	dict[148399] = "zēng";
	dict[148401] = "juǎn";
	dict[148402] = "hū";
	dict[148439] = "shěn";
	dict[148440] = "huò";
	dict[148444] = "kuì";
	dict[148464] = "piē";
	dict[148465] = "chù";
	dict[148466] = "zhòu";
	dict[148470] = "āo";
	dict[148472] = "zhuó";
	dict[148475] = "xiè";
	dict[148477] = "xīng";
	dict[148479] = "miè";
	dict[148480] = "hū";
	dict[148500] = "tán";
	dict[148505] = "bì";
	dict[148515] = "dǐng";
	dict[148521] = "kài";
	dict[148523] = "biāo";
	dict[148528] = "huò";
	dict[148529] = "liè";
	dict[148530] = "cuàn";
	dict[148536] = "bì";
	dict[148547] = "xiàn";
	dict[148548] = "rè";
	dict[148563] = "yuè";
	dict[148565] = "xūn,xùn";
	dict[148567] = "liǎo,zhāo";
	dict[148579] = "shā";
	dict[148582] = "shì";
	dict[148586] = "xiè";
	dict[148595] = "xiāo";
	dict[148599] = "yé";
	dict[148600] = "lǎn";
	dict[148601] = "yì";
	dict[148607] = "liǎn";
	dict[148613] = "jiāo";
	dict[148627] = "fú";
	dict[148628] = "bó";
	dict[148629] = "cāo";
	dict[148632] = "dǔ";
	dict[148637] = "yào";
	dict[148646] = "liàn,yàn";
	dict[148667] = "tà";
	dict[148684] = "rán";
	dict[148689] = "jì";
	dict[148690] = "mí";
	dict[148691] = "luó";
	dict[148692] = "xī";
	dict[148693] = "zhì";
	dict[148698] = "xī";
	dict[148701] = "yuè";
	dict[148708] = "xiǎn";
	dict[148710] = "zhuò";
	dict[148714] = "jiāo";
	dict[148719] = "zhǎng,jú";
	dict[148725] = "zǔ";
	dict[148727] = "ná";
	dict[148734] = "dào";
	dict[148735] = "liè";
	dict[148736] = "ná";
	dict[148745] = "páo";
	dict[148747] = "jù";
	dict[148748] = "yǐn";
	dict[148756] = "luàn";
	dict[148758] = "luǒ";
	dict[148761] = "shuǎ";
	dict[148762] = "shàng";
	dict[148765] = "luǒ";
	dict[148767] = "fēn";
	dict[148771] = "bào";
	dict[148776] = "lì";
	dict[148779] = "xiòng";
	dict[148785] = "tāo";
	dict[148790] = "dāng";
	dict[148800] = "chèng";
	dict[148804] = "zhǎng";
	dict[148807] = "sǒu";
	dict[148808] = "liàn";
	dict[148810] = "shén";
	dict[148818] = "gě";
	dict[148819] = "yé";
	dict[148824] = "yū,wù";
	dict[148826] = "huī";
	dict[148827] = "chè";
	dict[148829] = "jiào,bó";
	dict[148830] = "zhù";
	dict[148831] = "shū";
	dict[148834] = "xiáo";
	dict[148836] = "shuāng,shuǎng";
	dict[148838] = "níng";
	dict[148844] = "jí";
	dict[148845] = "jiāng,jiàng,qiāng";
	dict[148847] = "jiāng,zhuàng";
	dict[148855] = "diào";
	dict[148861] = "qiáng";
	dict[148862] = "qiú,fǔ";
	dict[148864] = "fēng";
	dict[148869] = "jiāng";
	dict[148870] = "zhàn";
	dict[148871] = "kē";
	dict[148882] = "dié";
	dict[148883] = "zé";
	dict[148886] = "guāng";
	dict[148887] = "sè";
	dict[148888] = "fèn,fén";
	dict[148891] = "jiǎng";
	dict[148893] = "yán";
	dict[148894] = "zhì";
	dict[148895] = "bò";
	dict[148898] = "lì";
	dict[148902] = "líng";
	dict[148906] = "yí";
	dict[148908] = "qǔ";
	dict[148909] = "pán";
	dict[148910] = "gōu";
	dict[148912] = "jiǎ";
	dict[148913] = "hé";
	dict[148915] = "pèng";
	dict[148917] = "jù";
	dict[148919] = "chè";
	dict[148922] = "liè";
	dict[148923] = "shì";
	dict[148924] = "pò";
	dict[148925] = "xiàng";
	dict[148927] = "pì";
	dict[148928] = "luǒ";
	dict[148929] = "cù";
	dict[148931] = "yǔ";
	dict[148935] = "kòng";
	dict[148936] = "xiè";
	dict[148941] = "wǎn";
	dict[148942] = "yǎn";
	dict[148943] = "péi";
	dict[148947] = "chéng";
	dict[148952] = "tí";
	dict[148953] = "chè,tuò";
	dict[148954] = "bì";
	dict[148955] = "liàn";
	dict[148956] = "jiǎ";
	dict[148958] = "tíng";
	dict[148962] = "tī";
	dict[148968] = "dié";
	dict[148970] = "shù";
	dict[148971] = "lí";
	dict[148972] = "lǘ";
	dict[148973] = "xiā";
	dict[148975] = "cuī";
	dict[148979] = "bō";
	dict[148980] = "tuí";
	dict[148981] = "pú";
	dict[148983] = "lìn";
	dict[148984] = "fèn,fén";
	dict[148986] = "bó";
	dict[148987] = "chàn";
	dict[148990] = "dāng";
	dict[148991] = "tǎi";
	dict[148992] = "dào";
	dict[148995] = "lì";
	dict[148997] = "yá";
	dict[148998] = "yá";
	dict[148999] = "zhān";
	dict[149002] = "yí";
	dict[149004] = "qī";
	dict[149008] = "qǔ";
	dict[149012] = "hù";
	dict[149014] = "tīng";
	dict[149016] = "kǒu";
	dict[149019] = "chún";
	dict[149020] = "yóu";
	dict[149021] = "fèn";
	dict[149023] = "nuó";
	dict[149024] = "tiàn";
	dict[149025] = "jìn";
	dict[149026] = "pí";
	dict[149027] = "chén";
	dict[149028] = "pì";
	dict[149030] = "jiè";
	dict[149031] = "guǐ";
	dict[149042] = "zhuàng";
	dict[149045] = "hú";
	dict[149046] = "chǒu";
	dict[149047] = "shù";
	dict[149048] = "tāo";
	dict[149049] = "pí";
	dict[149050] = "rǒng";
	dict[149051] = "rǒng";
	dict[149053] = "hǒu";
	dict[149054] = "pēng";
	dict[149061] = "bài";
	dict[149063] = "xiá";
	dict[149067] = "qǐn";
	dict[149068] = "nǐ";
	dict[149070] = "tāo";
	dict[149071] = "qù";
	dict[149074] = "xié";
	dict[149076] = "zhào";
	dict[149077] = "huā";
	dict[149078] = "xīn";
	dict[149080] = "shōu";
	dict[149083] = "tú";
	dict[149085] = "liáng";
	dict[149086] = "bì";
	dict[149087] = "chū";
	dict[149089] = "xīng";
	dict[149091] = "xīn";
	dict[149092] = "fū";
	dict[149097] = "jiè";
	dict[149101] = "fǔ";
	dict[149103] = "láo";
	dict[149104] = "tè";
	dict[149105] = "shè";
	dict[149108] = "chāo";
	dict[149109] = "chuī";
	dict[149116] = "rán";
	dict[149117] = "hǒu";
	dict[149118] = "bēng";
	dict[149120] = "cǎi";
	dict[149125] = "mú";
	dict[149129] = "xū";
	dict[149130] = "dié";
	dict[149133] = "chǎn";
	dict[149134] = "yú";
	dict[149135] = "zhòng";
	dict[149139] = "lí";
	dict[149140] = "shōu";
	dict[149146] = "dú";
	dict[149148] = "māo";
	dict[149149] = "huáng";
	dict[149151] = "táo";
	dict[149153] = "dù";
	dict[149154] = "tí";
	dict[149155] = "shēng";
	dict[149156] = "méi";
	dict[149160] = "zhēn";
	dict[149161] = "qín";
	dict[149162] = "pì";
	dict[149163] = "táng";
	dict[149164] = "cāng";
	dict[149165] = "yáo";
	dict[149167] = "xiù";
	dict[149168] = "bāng";
	dict[149169] = "gǔ";
	dict[149173] = "bù";
	dict[149180] = "gòu";
	dict[149181] = "bó";
	dict[149185] = "wèn";
	dict[149188] = "jì";
	dict[149194] = "lā";
	dict[149197] = "cuī";
	dict[149198] = "mǐn";
	dict[149199] = "cǔ";
	dict[149200] = "ōu";
	dict[149201] = "yōng";
	dict[149206] = "máo";
	dict[149207] = "kè";
	dict[149209] = "dǐng";
	dict[149210] = "huān";
	dict[149211] = "duǒ";
	dict[149212] = "jiāng";
	dict[149213] = "sù";
	dict[149215] = "bèi";
	dict[149218] = "céng";
	dict[149219] = "tà";
	dict[149221] = "huáng";
	dict[149222] = "jué";
	dict[149223] = "xún";
	dict[149226] = "xiòng";
	dict[149228] = "mì";
	dict[149229] = "qún";
	dict[149230] = "láo";
	dict[149233] = "zhì";
	dict[149234] = "wěi,wéi";
	dict[149239] = "sè";
	dict[149243] = "zāng";
	dict[149247] = "lí";
	dict[149249] = "ǎn";
	dict[149250] = "wèi,guì";
	dict[149252] = "huài";
	dict[149255] = "zhàn";
	dict[149257] = "yīng";
	dict[149258] = "gē";
	dict[149259] = "huì";
	dict[149261] = "quán";
	dict[149267] = "liè";
	dict[149268] = "jú";
	dict[149269] = "bà";
	dict[149270] = "léi";
	dict[149272] = "mán";
	dict[149273] = "líng";
	dict[149276] = "lì";
	dict[149277] = "jǐ";
	dict[149281] = "huí";
	dict[149282] = "xìn";
	dict[149283] = "shì,shé";
	dict[149284] = "zhé";
	dict[149287] = "bō";
	dict[149291] = "chā";
	dict[149295] = "chā";
	dict[149296] = "jīng";
	dict[149297] = "bā";
	dict[149298] = "bèi,pèi";
	dict[149301] = "yàn";
	dict[149303] = "hù";
	dict[149305] = "yú";
	dict[149307] = "bì,pí";
	dict[149308] = "chuán";
	dict[149310] = "jǐ";
	dict[149314] = "mù";
	dict[149316] = "máo";
	dict[149317] = "zhōng";
	dict[149319] = "yè";
	dict[149320] = "dōu";
	dict[149321] = "yě";
	dict[149325] = "rì";
	dict[149326] = "yīn";
	dict[149328] = "hào";
	dict[149330] = "nà";
	dict[149331] = "tiè";
	dict[149332] = "fù,chái";
	dict[149333] = "mǔ";
	dict[149334] = "zǎi";
	dict[149336] = "hú";
	dict[149338] = "chēn";
	dict[149339] = "tuó";
	dict[149342] = "chù";
	dict[149343] = "fú,fèi";
	dict[149351] = "bào";
	dict[149356] = "dǐ";
	dict[149357] = "cǎi";
	dict[149358] = "lù";
	dict[149359] = "pǒ";
	dict[149360] = "dá";
	dict[149361] = "yè";
	dict[149363] = "yǐ";
	dict[149367] = "xiáng";
	dict[149368] = "bī";
	dict[149369] = "zhū";
	dict[149371] = "yí";
	dict[149372] = "zhì";
	dict[149375] = "kuāng";
	dict[149378] = "zhì";
	dict[149383] = "wá,kuáng";
	dict[149384] = "dī";
	dict[149385] = "shù";
	dict[149386] = "liè";
	dict[149387] = "zǎo";
	dict[149388] = "zhì";
	dict[149389] = "náo";
	dict[149391] = "shī";
	dict[149399] = "chái";
	dict[149402] = "xiāo";
	dict[149403] = "zàng";
	dict[149406] = "yù";
	dict[149407] = "dòu";
	dict[149408] = "chà";
	dict[149409] = "xié";
	dict[149410] = "yáng";
	dict[149411] = "yàn";
	dict[149413] = "bǎo";
	dict[149422] = "zhāi";
	dict[149424] = "qiú";
	dict[149426] = "hú";
	dict[149427] = "zài";
	dict[149428] = "jué";
	dict[149430] = "hàn";
	dict[149439] = "àn";
	dict[149440] = "zào";
	dict[149443] = "shà";
	dict[149445] = "xiàn";
	dict[149446] = "chǐ";
	dict[149447] = "yǎn";
	dict[149449] = "àn";
	dict[149452] = "jiǎng";
	dict[149453] = "zhé";
	dict[149454] = "jué";
	dict[149457] = "lì";
	dict[149459] = "lè";
	dict[149462] = "cǎi";
	dict[149464] = "lù";
	dict[149466] = "jiā";
	dict[149469] = "xià";
	dict[149470] = "xiào";
	dict[149471] = "yān";
	dict[149472] = "xū";
	dict[149474] = "dùn";
	dict[149475] = "yíng";
	dict[149476] = "huī,xūn";
	dict[149477] = "tí";
	dict[149478] = "nóu";
	dict[149479] = "xǐ";
	dict[149482] = "tú";
	dict[149495] = "wāi";
	dict[149496] = "chēn";
	dict[149497] = "yù";
	dict[149500] = "hōng";
	dict[149502] = "tí";
	dict[149503] = "xuān";
	dict[149504] = "zá";
	dict[149511] = "gé";
	dict[149516] = "chái";
	dict[149517] = "pán";
	dict[149518] = "jí";
	dict[149519] = "nǎo";
	dict[149520] = "tà";
	dict[149523] = "xī";
	dict[149526] = "xiāo";
	dict[149528] = "sāo";
	dict[149529] = "jiā";
	dict[149530] = "sù";
	dict[149531] = "huāng";
	dict[149533] = "cuō";
	dict[149535] = "tà";
	dict[149536] = "shuāi";
	dict[149546] = "fú";
	dict[149547] = "lì";
	dict[149549] = "shè";
	dict[149551] = "táng";
	dict[149558] = "diān";
	dict[149562] = "bì";
	dict[149564] = "gòu";
	dict[149565] = "cù";
	dict[149567] = "qiān";
	dict[149570] = "léi,lěi";
	dict[149571] = "sù";
	dict[149574] = "zòng,zōng";
	dict[149575] = "hāo";
	dict[149583] = "chì";
	dict[149584] = "cáo";
	dict[149587] = "wò";
	dict[149588] = "xiāo";
	dict[149589] = "liè,wěn";
	dict[149590] = "yān";
	dict[149597] = "bì";
	dict[149599] = "huàn";
	dict[149601] = "xī";
	dict[149602] = "chī";
	dict[149603] = "xū";
	dict[149604] = "náo,nà,rú";
	dict[149605] = "yán,xiàn";
	dict[149607] = "xiè";
	dict[149608] = "zhá";
	dict[149610] = "suì,wěi";
	dict[149612] = "xì";
	dict[149613] = "bēng,péng";
	dict[149614] = "rán";
	dict[149615] = "shuò,xī,què";
	dict[149616] = "bān";
	dict[149617] = "guì";
	dict[149618] = "kāi";
	dict[149619] = "chēn";
	dict[149622] = "xù";
	dict[149630] = "è";
	dict[149631] = "lì";
	dict[149632] = "xī";
	dict[149633] = "huàn";
	dict[149634] = "sù";
	dict[149636] = "chǎng";
	dict[149642] = "lù";
	dict[149643] = "yán";
	dict[149646] = "dāng";
	dict[149647] = "dǎn";
	dict[149648] = "yāng";
	dict[149650] = "zhǎi";
	dict[149651] = "jù,qú";
	dict[149653] = "duó";
	dict[149654] = "sāo,shān";
	dict[149655] = "lái";
	dict[149656] = "sù";
	dict[149663] = "zé";
	dict[149667] = "bì";
	dict[149670] = "yìn";
	dict[149672] = "hāo";
	dict[149674] = "liè";
	dict[149677] = "háo";
	dict[149678] = "yáng";
	dict[149684] = "shuò,lì";
	dict[149685] = "ài";
	dict[149686] = "qióng";
	dict[149689] = "lěi";
	dict[149690] = "xié";
	dict[149692] = "shì";
	dict[149699] = "lǔ";
	dict[149701] = "què";
	dict[149702] = "lián";
	dict[149708] = "xiào";
	dict[149710] = "yīng";
	dict[149713] = "xié";
	dict[149716] = "xiǎn";
	dict[149718] = "fēng";
	dict[149720] = "líng";
	dict[149721] = "yōu";
	dict[149726] = "dǎng";
	dict[149727] = "lǎn";
	dict[149728] = "xiāo";
	dict[149733] = "xuán";
	dict[149736] = "yì";
	dict[149740] = "wū";
	dict[149742] = "yì";
	dict[149743] = "tuō";
	dict[149744] = "bǔ";
	dict[149745] = "qǐ";
	dict[149746] = "xìn";
	dict[149749] = "sī";
	dict[149750] = "jīn";
	dict[149752] = "bā";
	dict[149753] = "fǎ";
	dict[149755] = "mò";
	dict[149756] = "ruò";
	dict[149770] = "dà";
	dict[149771] = "jì";
	dict[149776] = "sù";
	dict[149777] = "qióng";
	dict[149778] = "bā";
	dict[149798] = "tián";
	dict[149799] = "yóu";
	dict[149801] = "tuó";
	dict[149803] = "wài";
	dict[149804] = "yòu";
	dict[149806] = "dōng";
	dict[149809] = "xǐ";
	dict[149810] = "kǒng";
	dict[149814] = "qióng";
	dict[149815] = "duī";
	dict[149816] = "duò";
	dict[149818] = "yì";
	dict[149838] = "yǎn";
	dict[149842] = "xī";
	dict[149843] = "qīn";
	dict[149844] = "sù";
	dict[149847] = "liú";
	dict[149849] = "wán";
	dict[149869] = "chē";
	dict[149870] = "zhū";
	dict[149872] = "mào";
	dict[149879] = "quán";
	dict[149883] = "yán";
	dict[149885] = "yū";
	dict[149887] = "yì";
	dict[149891] = "lái";
	dict[149892] = "zhì";
	dict[149924] = "ní";
	dict[149926] = "bān";
	dict[149930] = "dōng";
	dict[149934] = "zhì";
	dict[149946] = "qí";
	dict[149973] = "yì";
	dict[149976] = "líng";
	dict[149977] = "yú";
	dict[149979] = "dì";
	dict[149980] = "zhì";
	dict[149984] = "ruǎn";
	dict[149987] = "jiàn";
	dict[149993] = "wàn";
	dict[149995] = "jìn,duī";
	dict[149997] = "páng";
	dict[150029] = "lù";
	dict[150030] = "qú";
	dict[150031] = "suǒ";
	dict[150032] = "xǐ,tāo";
	dict[150033] = "dá";
	dict[150038] = "hù";
	dict[150039] = "luǒ";
	dict[150041] = "lè";
	dict[150070] = "gǒng";
	dict[150075] = "lìng";
	dict[150082] = "láo";
	dict[150084] = "zhuàn";
	dict[150120] = "zǎo";
	dict[150121] = "hào";
	dict[150122] = "xiàng";
	dict[150125] = "hào";
	dict[150126] = "lì";
	dict[150127] = "lì";
	dict[150128] = "lì";
	dict[150129] = "diàn,tiàn";
	dict[150130] = "gé";
	dict[150148] = "è";
	dict[150150] = "xiá";
	dict[150155] = "jiān";
	dict[150156] = "qí";
	dict[150157] = "xiá";
	dict[150158] = "yǒu";
	dict[150174] = "qióng";
	dict[150177] = "zhēng";
	dict[150186] = "zhuàn,chūn";
	dict[150190] = "chàn";
	dict[150217] = "xiè";
	dict[150218] = "líng";
	dict[150229] = "náo";
	dict[150237] = "jì";
	dict[150238] = "tián";
	dict[150243] = "yǎn";
	dict[150247] = "hǎo";
	dict[150248] = "xín";
	dict[150251] = "bān";
	dict[150252] = "běng";
	dict[150257] = "gōu";
	dict[150258] = "líng";
	dict[150261] = "kuò,guó";
	dict[150262] = "qià";
	dict[150263] = "jiào";
	dict[150265] = "ēn";
	dict[150266] = "yáo";
	dict[150267] = "dū";
	dict[150273] = "huǒ,guǒ,luǒ";
	dict[150274] = "dǔ";
	dict[150275] = "pēi";
	dict[150284] = "yuán";
	dict[150287] = "lóu";
	dict[150288] = "xíng";
	dict[150291] = "lián,liǎn";
	dict[150292] = "yáo";
	dict[150293] = "xī";
	dict[150294] = "yáo";
	dict[150296] = "xī";
	dict[150299] = "lú";
	dict[150301] = "yàn";
	dict[150304] = "quán";
	dict[150309] = "ráng";
	dict[150310] = "wà";
	dict[150311] = "zú";
	dict[150312] = "fàn";
	dict[150313] = "yì";
	dict[150314] = "dù,kān";
	dict[150315] = "suì";
	dict[150317] = "pī";
	dict[150319] = "hán,qiàn";
	dict[150321] = "xù";
	dict[150323] = "gǒng";
	dict[150325] = "dì";
	dict[150327] = "nà";
	dict[150334] = "duò,tuó";
	dict[150335] = "wā";
	dict[150338] = "niè";
	dict[150344] = "diào";
	dict[150345] = "huāng";
	dict[150348] = "tí";
	dict[150349] = "fàn";
	dict[150353] = "wú";
	dict[150354] = "áng";
	dict[150356] = "píng";
	dict[150361] = "hán,gān";
	dict[150364] = "lí";
	dict[150366] = "dūn";
	dict[150367] = "fù";
	dict[150368] = "nà";
	dict[150370] = "suì";
	dict[150375] = "jiē";
	dict[150377] = "qìng";
	dict[150379] = "yīng";
	dict[150380] = "xiáng";
	dict[150384] = "zhòu";
	dict[150385] = "hú";
	dict[150388] = "sù";
	dict[150395] = "gē";
	dict[150396] = "è";
	dict[150397] = "xù";
	dict[150406] = "xī";
	dict[150410] = "kāng";
	dict[150411] = "guó";
	dict[150412] = "jiē";
	dict[150413] = "chuán";
	dict[150414] = "léi";
	dict[150415] = "héng";
	dict[150416] = "zūn";
	dict[150421] = "piè";
	dict[150424] = "dēng";
	dict[150425] = "xī";
	dict[150426] = "léi";
	dict[150428] = "shàn";
	dict[150439] = "lú";
	dict[150441] = "duì";
	dict[150442] = "jùn";
	dict[150445] = "chàn";
	dict[150447] = "xié";
	dict[150448] = "wā";
	dict[150449] = "zhé";
	dict[150451] = "zhuān,guàn";
	dict[150455] = "liù";
	dict[150456] = "léi";
	dict[150460] = "dài";
	dict[150461] = "gān";
	dict[150468] = "shì";
	dict[150471] = "yǎn";
	dict[150476] = "gān";
	dict[150480] = "yán";
	dict[150486] = "suī";
	dict[150490] = "zhōng";
	dict[150492] = "shì";
	dict[150497] = "shèng";
	dict[150501] = "chǎn";
	dict[150519] = "huáng";
	dict[150520] = "yìn";
	dict[150523] = "měng";
	dict[150530] = "ráng";
	dict[150533] = "xiáng";
	dict[150536] = "bèi,fú";
	dict[150540] = "chuán";
	dict[150545] = "pú";
	dict[150553] = "gé,kē";
	dict[150554] = "lá";
	dict[150557] = "quǎn";
	dict[150559] = "hàng";
	dict[150560] = "chì";
	dict[150561] = "máng";
	dict[150566] = "zhà";
	dict[150570] = "fèn";
	dict[150572] = "chào";
	dict[150579] = "jǐng";
	dict[150595] = "liè";
	dict[150597] = "nà";
	dict[150598] = "nà";
	dict[150599] = "tóng";
	dict[150603] = "rán";
	dict[150604] = "zǔ";
	dict[150605] = "pī,pǒ";
	dict[150606] = "yǒu";
	dict[150608] = "shū";
	dict[150612] = "mǔ";
	dict[150619] = "liè";
	dict[150620] = "shōu";
	dict[150623] = "gǎo";
	dict[150624] = "sháo";
	dict[150625] = "tuó";
	dict[150627] = "nán";
	dict[150631] = "tuǒ";
	dict[150632] = "gōng";
	dict[150633] = "diào";
	dict[150644] = "měng";
	dict[150645] = "bāng";
	dict[150647] = "xié";
	dict[150648] = "sì";
	dict[150649] = "tǐng";
	dict[150650] = "guì";
	dict[150653] = "fú";
	dict[150654] = "guì";
	dict[150665] = "guì";
	dict[150673] = "zhǔ";
	dict[150675] = "lái";
	dict[150677] = "lǔn";
	dict[150678] = "tiǎn";
	dict[150679] = "rǎn";
	dict[150681] = "běn";
	dict[150682] = "dōng";
	dict[150696] = "juàn";
	dict[150697] = "yán";
	dict[150700] = "ruán";
	dict[150701] = "dǎn";
	dict[150704] = "mào";
	dict[150710] = "luán,niǎo";
	dict[150712] = "xù,zī";
	dict[150714] = "xī";
	dict[150722] = "má";
	dict[150723] = "qī";
	dict[150725] = "chà";
	dict[150729] = "hàn";
	dict[150730] = "píng";
	dict[150734] = "jī";
	dict[150739] = "lì";
	dict[150741] = "yù";
	dict[150742] = "bān,fān";
	dict[150744] = "tēng";
	dict[150749] = "chóu";
	dict[150752] = "chóu";
	dict[150756] = "qī";
	dict[150757] = "xī";
	dict[150758] = "bèi";
	dict[150762] = "yè";
	dict[150765] = "guǎng";
	dict[150767] = "zhù";
	dict[150771] = "huǐ";
	dict[150772] = "léi";
	dict[150773] = "chā";
	dict[150784] = "guǎng,qiāo";
	dict[150788] = "huǐ";
	dict[150797] = "dié";
	dict[150802] = "léi";
	dict[150803] = "yǎ";
	dict[150808] = "niè";
	dict[150809] = "shū,xū";
	dict[150815] = "zhì";
	dict[150818] = "zhì";
	dict[150819] = "pǐ";
	dict[150821] = "jiū";
	dict[150822] = "jiū";
	dict[150823] = "yì";
	dict[150824] = "yòu,yǒu";
	dict[150826] = "jiū";
	dict[150831] = "huàn";
	dict[150833] = "dù";
	dict[150843] = "táo";
	dict[150844] = "qiè,cí";
	dict[150845] = "qín";
	dict[150846] = "xìn";
	dict[150847] = "chān";
	dict[150848] = "jì";
	dict[150850] = "qìn";
	dict[150858] = "dù";
	dict[150859] = "zhī";
	dict[150862] = "ǒu";
	dict[150864] = "wù";
	dict[150866] = "wén";
	dict[150872] = "bì";
	dict[150874] = "tuó";
	dict[150875] = "bēi";
	dict[150877] = "mǔ";
	dict[150878] = "jìn";
	dict[150879] = "táo";
	dict[150880] = "liáo";
	dict[150881] = "hú";
	dict[150885] = "cáo,zhǒu";
	dict[150886] = "zhá";
	dict[150892] = "chǐ";
	dict[150893] = "yā";
	dict[150894] = "kuí";
	dict[150895] = "yìn";
	dict[150904] = "lóng,pāng";
	dict[150905] = "qià";
	dict[150907] = "hāng";
	dict[150908] = "shàng,shāng";
	dict[150909] = "hài";
	dict[150910] = "chā";
	dict[150912] = "jiǎo";
	dict[150913] = "lǎo";
	dict[150920] = "xī";
	dict[150923] = "bó";
	dict[150931] = "zhǐ";
	dict[150933] = "tùn";
	dict[150934] = "fú";
	dict[150936] = "hū";
	dict[150938] = "niè";
	dict[150939] = "yì";
	dict[150940] = "zhuàng";
	dict[150944] = "chá";
	dict[150948] = "suān";
	dict[150958] = "dù";
	dict[150960] = "xī";
	dict[150961] = "chuàn";
	dict[150962] = "xíng";
	dict[150963] = "jiǎo";
	dict[150964] = "shēn";
	dict[150968] = "nā";
	dict[150976] = "wāng";
	dict[150977] = "bēi";
	dict[150978] = "féi";
	dict[150979] = "jiàn";
	dict[150980] = "quán";
	dict[150981] = "yì,yá";
	dict[150982] = "dōng";
	dict[150983] = "xù";
	dict[150984] = "nà,niè";
	dict[150985] = "jí";
	dict[150988] = "zhěn";
	dict[150989] = "qí";
	dict[150990] = "duī";
	dict[150991] = "yín";
	dict[150993] = "jiù";
	dict[150994] = "pí,bì,bēi";
	dict[150995] = "xìn";
	dict[150996] = "lún";
	dict[150997] = "cǎi";
	dict[150998] = "lìng";
	dict[150999] = "biē";
	dict[151e3] = "dào";
	dict[151001] = "dé";
	dict[151007] = "la";
	dict[151009] = "xī,nüè";
	dict[151010] = "jù";
	dict[151012] = "xiáo";
	dict[151014] = "jīng";
	dict[151018] = "měng";
	dict[151033] = "wài";
	dict[151035] = "nǎo";
	dict[151036] = "xiāng";
	dict[151037] = "què";
	dict[151038] = "qiè";
	dict[151039] = "tū";
	dict[151040] = "xǔ";
	dict[151041] = "huì";
	dict[151043] = "shòu";
	dict[151045] = "mín";
	dict[151046] = "wěi";
	dict[151048] = "yóu";
	dict[151049] = "tuí";
	dict[151050] = "dài";
	dict[151051] = "jiè";
	dict[151054] = "kě,hài";
	dict[151055] = "nà,niè";
	dict[151057] = "fù";
	dict[151058] = "yù";
	dict[151059] = "zhǐ";
	dict[151061] = "hān";
	dict[151062] = "āi";
	dict[151063] = "fù";
	dict[151073] = "yāng";
	dict[151076] = "shí";
	dict[151078] = "chán";
	dict[151082] = "chì";
	dict[151083] = "yùn";
	dict[151084] = "shuāi";
	dict[151086] = "sù";
	dict[151087] = "sǎng";
	dict[151089] = "è,kè,kài,yà";
	dict[151090] = "zhěng";
	dict[151091] = "ái";
	dict[151092] = "suǒ";
	dict[151093] = "bù";
	dict[151095] = "qún";
	dict[151096] = "yì";
	dict[151097] = "yǎn";
	dict[151099] = "nà";
	dict[151100] = "wǔ";
	dict[151111] = "lì";
	dict[151112] = "lì";
	dict[151114] = "xī";
	dict[151115] = "jué";
	dict[151116] = "shī";
	dict[151118] = "yǎ";
	dict[151120] = "liè";
	dict[151131] = "chén";
	dict[151132] = "yíng";
	dict[151133] = "bì";
	dict[151134] = "chè";
	dict[151137] = "zhā";
	dict[151138] = "tuǒ";
	dict[151139] = "hù";
	dict[151140] = "téng";
	dict[151141] = "yìng";
	dict[151142] = "bǐ";
	dict[151143] = "níng";
	dict[151144] = "liàn";
	dict[151145] = "xìn";
	dict[151146] = "yǔ";
	dict[151151] = "tòng";
	dict[151154] = "bèi";
	dict[151156] = "mó";
	dict[151157] = "duī";
	dict[151159] = "dǎo";
	dict[151160] = "qí";
	dict[151168] = "shuāi";
	dict[151171] = "xiāo,jiāo,yāo";
	dict[151172] = "zhǒng,tóng";
	dict[151173] = "zhuì";
	dict[151175] = "biàn";
	dict[151177] = "wěi";
	dict[151178] = "xī,sī";
	dict[151180] = "dēng";
	dict[151182] = "xiē";
	dict[151183] = "pān";
	dict[151184] = "niè";
	dict[151187] = "bié";
	dict[151188] = "shè";
	dict[151189] = "fèi";
	dict[151190] = "mǐn";
	dict[151191] = "qì,jì";
	dict[151192] = "yǎ";
	dict[151210] = "shàn";
	dict[151211] = "suǒ";
	dict[151223] = "jí";
	dict[151226] = "dǎn,dàn,tán";
	dict[151227] = "juàn";
	dict[151228] = "lù";
	dict[151230] = "ào";
	dict[151234] = "yì";
	dict[151235] = "shǔ";
	dict[151236] = "suì";
	dict[151237] = "wèi";
	dict[151238] = "wán";
	dict[151239] = "chǔ";
	dict[151244] = "wò";
	dict[151254] = "bì";
	dict[151256] = "yǐn";
	dict[151257] = "huó";
	dict[151260] = "kài,è";
	dict[151261] = "níng";
	dict[151266] = "ài";
	dict[151268] = "lì";
	dict[151270] = "zhāi";
	dict[151281] = "lù";
	dict[151282] = "liáo";
	dict[151286] = "biàn";
	dict[151287] = "pán";
	dict[151295] = "guì";
	dict[151296] = "sū";
	dict[151297] = "méng";
	dict[151298] = "xiǎn";
	dict[151299] = "lòng,lóng";
	dict[151301] = "qì";
	dict[151307] = "chàn";
	dict[151308] = "yì";
	dict[151309] = "háng";
	dict[151311] = "liǎn";
	dict[151312] = "guàn,huàn";
	dict[151314] = "wěi,huà";
	dict[151319] = "jué";
	dict[151320] = "léi";
	dict[151321] = "luán";
	dict[151322] = "lì";
	dict[151324] = "pí";
	dict[151330] = "huǎn";
	dict[151332] = "pì";
	dict[151342] = "guī";
	dict[151347] = "jú";
	dict[151349] = "fā";
	dict[151350] = "dēng";
	dict[151354] = "fèi";
	dict[151361] = "zhī";
	dict[151363] = "mèi";
	dict[151365] = "huàn";
	dict[151369] = "pā";
	dict[151370] = "bǐ";
	dict[151372] = "pō";
	dict[151379] = "ér";
	dict[151381] = "huàn";
	dict[151395] = "chàng";
	dict[151397] = "luò";
	dict[151398] = "fǒu";
	dict[151409] = "zú";
	dict[151410] = "nán";
	dict[151411] = "xiǎo";
	dict[151417] = "bài";
	dict[151418] = "lù";
	dict[151420] = "luò";
	dict[151423] = "niàn";
	dict[151428] = "zhù";
	dict[151429] = "hú";
	dict[151432] = "huī";
	dict[151433] = "tǎng";
	dict[151434] = "chóu";
	dict[151441] = "huáng";
	dict[151442] = "dōu";
	dict[151445] = "tì";
	dict[151451] = "miào";
	dict[151453] = "bó";
	dict[151456] = "dì";
	dict[151458] = "děng";
	dict[151459] = "pū";
	dict[151461] = "sōng";
	dict[151462] = "chóu";
	dict[151467] = "yào";
	dict[151468] = "měng";
	dict[151469] = "lóng";
	dict[151474] = "lián";
	dict[151477] = "bié";
	dict[151482] = "lǚ";
	dict[151487] = "sè";
	dict[151488] = "zuó";
	dict[151492] = "cún";
	dict[151493] = "líng";
	dict[151494] = "zhěng";
	dict[151495] = "pǐ";
	dict[151496] = "báo";
	dict[151499] = "què";
	dict[151502] = "pī";
	dict[151503] = "nàn";
	dict[151504] = "pī";
	dict[151505] = "bǒ";
	dict[151506] = "bèi";
	dict[151507] = "fā";
	dict[151509] = "mǐn";
	dict[151510] = "mò";
	dict[151511] = "wà";
	dict[151512] = "zhāo";
	dict[151513] = "zhì,pí";
	dict[151514] = "cū";
	dict[151519] = "xún";
	dict[151520] = "jí";
	dict[151521] = "guì,qí";
	dict[151523] = "chéng";
	dict[151527] = "hàn";
	dict[151528] = "xiào";
	dict[151529] = "què";
	dict[151531] = "chuò";
	dict[151533] = "fǔ";
	dict[151539] = "qǐn";
	dict[151540] = "lù";
	dict[151541] = "què";
	dict[151542] = "diǎn";
	dict[151543] = "qiān";
	dict[151548] = "chǎng";
	dict[151549] = "tà";
	dict[151550] = "bēi";
	dict[151553] = "dù";
	dict[151554] = "běng,bāng";
	dict[151555] = "hòu";
	dict[151560] = "zhǎ";
	dict[151561] = "zhǎ";
	dict[151566] = "què";
	dict[151567] = "má";
	dict[151568] = "hán";
	dict[151571] = "liú";
	dict[151572] = "lù";
	dict[151574] = "zī";
	dict[151576] = "pǐ";
	dict[151577] = "zhòu";
	dict[151579] = "zāo";
	dict[151581] = "niǔ";
	dict[151584] = "huì";
	dict[151587] = "xué,qiào";
	dict[151589] = "là";
	dict[151595] = "nóu,rǎn";
	dict[151596] = "yǎn,yè";
	dict[151597] = "rǎn";
	dict[151598] = "nǎo";
	dict[151600] = "là";
	dict[151601] = "guǎng";
	dict[151602] = "dú";
	dict[151605] = "lú";
	dict[151609] = "jiǎn";
	dict[151610] = "xiè";
	dict[151611] = "qì";
	dict[151614] = "xiàng";
	dict[151617] = "guǒ";
	dict[151618] = "jié";
	dict[151619] = "màng";
	dict[151622] = "xiā";
	dict[151623] = "kuī";
	dict[151630] = "yòng";
	dict[151632] = "hǎi";
	dict[151633] = "mì";
	dict[151634] = "yào";
	dict[151637] = "wēn";
	dict[151647] = "lì";
	dict[151648] = "juàn,quán,quān";
	dict[151649] = "wū";
	dict[151662] = "diào";
	dict[151663] = "chù,chuò";
	dict[151666] = "suō";
	dict[151669] = "chōng";
	dict[151672] = "quān";
	dict[151673] = "shè";
	dict[151681] = "yán";
	dict[151682] = "měng";
	dict[151683] = "jù";
	dict[151691] = "tú";
	dict[151698] = "nóng";
	dict[151699] = "mó";
	dict[151705] = "fèn";
	dict[151714] = "áo";
	dict[151715] = "guō";
	dict[151716] = "hú";
	dict[151717] = "cán";
	dict[151718] = "dūn";
	dict[151719] = "hǎi";
	dict[151720] = "jiǎo";
	dict[151728] = "gū";
	dict[151733] = "jīn";
	dict[151736] = "yáng";
	dict[151744] = "chà";
	dict[151756] = "huī";
	dict[151764] = "qú";
	dict[151765] = "kē";
	dict[151772] = "qú";
	dict[151775] = "qīng";
	dict[151776] = "yì";
	dict[151779] = "kǎi";
	dict[151780] = "jiǎo";
	dict[151783] = "chōu,jiǎo,yǎo";
	dict[151784] = "bǔ";
	dict[151785] = "gèn,yǎn";
	dict[151786] = "jiāo";
	dict[151787] = "zhī";
	dict[151790] = "wèn";
	dict[151791] = "yào";
	dict[151792] = "bīn";
	dict[151796] = "xiòng";
	dict[151797] = "fàn";
	dict[151800] = "yí";
	dict[151801] = "chuàn";
	dict[151802] = "yào";
	dict[151805] = "yāng";
	dict[151806] = "dù";
	dict[151807] = "yǎn";
	dict[151809] = "méng";
	dict[151815] = "chī,hūn";
	dict[151816] = "mù";
	dict[151817] = "jiāo";
	dict[151819] = "nǜ";
	dict[151821] = "guó";
	dict[151822] = "xuè";
	dict[151825] = "fú";
	dict[151826] = "xuē";
	dict[151827] = "fū";
	dict[151828] = "pèi,pò";
	dict[151829] = "mò";
	dict[151830] = "xī";
	dict[151831] = "wò,nài";
	dict[151832] = "shǎn";
	dict[151835] = "xī";
	dict[151836] = "qì";
	dict[151837] = "miàn";
	dict[151842] = "xiāng";
	dict[151846] = "dǎn";
	dict[151851] = "jí";
	dict[151857] = "fèi";
	dict[151858] = "mié";
	dict[151860] = "xuè,jué";
	dict[151861] = "xù,yù";
	dict[151862] = "sī";
	dict[151863] = "jǔ";
	dict[151864] = "mǎo";
	dict[151865] = "bào";
	dict[151867] = "yí";
	dict[151868] = "guā";
	dict[151869] = "nì";
	dict[151871] = "yí,dì";
	dict[151873] = "zuò";
	dict[151876] = "nǔ";
	dict[151889] = "diàn";
	dict[151890] = "fàn";
	dict[151891] = "yì";
	dict[151892] = "shì";
	dict[151895] = "cū";
	dict[151896] = "zhěn,mí";
	dict[151902] = "shì";
	dict[151903] = "jiǎo";
	dict[151904] = "hòu";
	dict[151905] = "ér";
	dict[151910] = "lèi";
	dict[151911] = "xuè";
	dict[151912] = "gèng";
	dict[151914] = "shōu";
	dict[151916] = "juān";
	dict[151925] = "wéi";
	dict[151927] = "shǒu";
	dict[151928] = "jìng";
	dict[151930] = "xú";
	dict[151931] = "chòng";
	dict[151933] = "mì";
	dict[151941] = "jiāng";
	dict[151942] = "mòu";
	dict[151945] = "yù";
	dict[151948] = "jué";
	dict[151953] = "tìng";
	dict[151956] = "xiāo";
	dict[151958] = "dōu";
	dict[151960] = "guó";
	dict[151961] = "máng";
	dict[151962] = "wāng";
	dict[151963] = "xù";
	dict[151964] = "wàng";
	dict[151965] = "suō";
	dict[151966] = "juàn";
	dict[151967] = "yuè";
	dict[151969] = "hán";
	dict[151971] = "shēn";
	dict[151973] = "xié";
	dict[151974] = "liú";
	dict[151983] = "bì";
	dict[151986] = "nào";
	dict[151987] = "dū";
	dict[151990] = "wàn";
	dict[151991] = "jiù";
	dict[151992] = "quē";
	dict[152004] = "nì";
	dict[152006] = "mí";
	dict[152007] = "suō";
	dict[152009] = "qiǎng";
	dict[152012] = "hàn,qià";
	dict[152013] = "zhuó";
	dict[152014] = "mí";
	dict[152015] = "xù";
	dict[152017] = "lǎng";
	dict[152018] = "jié";
	dict[152019] = "dìng";
	dict[152020] = "chàng,zhāng";
	dict[152021] = "zhì";
	dict[152022] = "fēi";
	dict[152023] = "jiá";
	dict[152024] = "jùn";
	dict[152025] = "huò";
	dict[152026] = "qī";
	dict[152027] = "jū,jù,xì";
	dict[152028] = "zhūn,guō";
	dict[152030] = "diàn";
	dict[152031] = "jiǎo";
	dict[152032] = "yā";
	dict[152045] = "zhī";
	dict[152047] = "mài";
	dict[152048] = "hū";
	dict[152049] = "xiè";
	dict[152050] = "shí";
	dict[152051] = "guī";
	dict[152063] = "xù";
	dict[152066] = "jí";
	dict[152068] = "chuàng";
	dict[152070] = "mào";
	dict[152071] = "ruán";
	dict[152072] = "xū";
	dict[152073] = "huàn";
	dict[152074] = "shà";
	dict[152075] = "jǔ";
	dict[152079] = "kuàng";
	dict[152081] = "hóu";
	dict[152082] = "guān";
	dict[152083] = "guā";
	dict[152085] = "mí";
	dict[152086] = "dié";
	dict[152087] = "bì";
	dict[152088] = "liǎng";
	dict[152089] = "là";
	dict[152090] = "shǎn";
	dict[152091] = "lù";
	dict[152092] = "xì";
	dict[152095] = "sǒu";
	dict[152108] = "ōu";
	dict[152110] = "léng";
	dict[152119] = "kū";
	dict[152120] = "guī";
	dict[152123] = "xī";
	dict[152124] = "pán,pān";
	dict[152125] = "sè";
	dict[152126] = "juè";
	dict[152127] = "hòng";
	dict[152128] = "guàn";
	dict[152129] = "jù";
	dict[152131] = "nài";
	dict[152132] = "huá";
	dict[152133] = "gé";
	dict[152134] = "lì";
	dict[152135] = "gòu";
	dict[152136] = "tì";
	dict[152138] = "mà";
	dict[152139] = "téng";
	dict[152140] = "dá";
	dict[152144] = "qī";
	dict[152145] = "yù,hè";
	dict[152146] = "jiǎo";
	dict[152147] = "miè";
	dict[152148] = "gěng";
	dict[152149] = "mèng,méng";
	dict[152150] = "wèi";
	dict[152152] = "tí";
	dict[152153] = "qí";
	dict[152156] = "chén";
	dict[152157] = "dōu";
	dict[152159] = "pán";
	dict[152176] = "hàn,qià";
	dict[152179] = "liū";
	dict[152180] = "mì";
	dict[152181] = "má";
	dict[152182] = "lù";
	dict[152183] = "qī";
	dict[152184] = "kēng";
	dict[152186] = "dié";
	dict[152187] = "qì";
	dict[152188] = "jiāo";
	dict[152189] = "kāng";
	dict[152190] = "qiāo";
	dict[152191] = "mì";
	dict[152192] = "shān,sǎn";
	dict[152199] = "jiān";
	dict[152200] = "lí";
	dict[152201] = "kè";
	dict[152202] = "xù";
	dict[152204] = "cháo";
	dict[152209] = "mán,màn";
	dict[152210] = "fèng";
	dict[152211] = "chàn";
	dict[152212] = "huǐ";
	dict[152231] = "kòu";
	dict[152234] = "wěi";
	dict[152235] = "guàn";
	dict[152236] = "jí";
	dict[152237] = "zùn";
	dict[152238] = "huò";
	dict[152239] = "xié";
	dict[152244] = "suì";
	dict[152246] = "ruǎn";
	dict[152248] = "tè";
	dict[152252] = "zhèng";
	dict[152253] = "kūn";
	dict[152254] = "xiǎng";
	dict[152255] = "mián";
	dict[152257] = "xì";
	dict[152263] = "chèng";
	dict[152268] = "sā";
	dict[152270] = "mèi";
	dict[152281] = "è";
	dict[152282] = "miè";
	dict[152283] = "zhǔ";
	dict[152284] = "zōu";
	dict[152285] = "měng";
	dict[152287] = "xī";
	dict[152289] = "táng";
	dict[152291] = "jià";
	dict[152292] = "cháng";
	dict[152293] = "jí";
	dict[152302] = "zhuó";
	dict[152319] = "hè";
	dict[152320] = "chá";
	dict[152321] = "qì";
	dict[152322] = "mián";
	dict[152324] = "kū";
	dict[152325] = "yè";
	dict[152326] = "zhōu";
	dict[152328] = "jiān";
	dict[152330] = "pàn";
	dict[152333] = "huī";
	dict[152335] = "míng";
	dict[152336] = "liù";
	dict[152344] = "shuì";
	dict[152346] = "mài,yá,shù";
	dict[152347] = "lí";
	dict[152350] = "shuò";
	dict[152351] = "yí";
	dict[152356] = "lì";
	dict[152360] = "xiē,miè";
	dict[152361] = "tè";
	dict[152362] = "xiū";
	dict[152365] = "xuàn";
	dict[152366] = "lì";
	dict[152367] = "méng";
	dict[152368] = "wéi";
	dict[152369] = "méng";
	dict[152378] = "yào";
	dict[152379] = "lán";
	dict[152380] = "líng";
	dict[152381] = "yīng";
	dict[152382] = "yīng";
	dict[152383] = "lì";
	dict[152384] = "jiǎn";
	dict[152385] = "guī,guì";
	dict[152389] = "guān";
	dict[152390] = "xiè";
	dict[152393] = "shè";
	dict[152395] = "zuī,xiē,huǐ";
	dict[152403] = "kàn,yǎn";
	dict[152404] = "léi";
	dict[152410] = "biàn";
	dict[152413] = "shǔ";
	dict[152414] = "nǜ";
	dict[152415] = "xù,yì";
	dict[152419] = "hào";
	dict[152424] = "guǐ";
	dict[152426] = "zhài";
	dict[152427] = "láng";
	dict[152428] = "cuān";
	dict[152429] = "zhì";
	dict[152430] = "féng,fēng";
	dict[152431] = "qīn";
	dict[152433] = "zé";
	dict[152434] = "nà";
	dict[152435] = "niǔ";
	dict[152436] = "yì";
	dict[152439] = "cōng";
	dict[152440] = "shī";
	dict[152441] = "jiǎn";
	dict[152442] = "zōng";
	dict[152443] = "yǎn";
	dict[152444] = "yīng";
	dict[152448] = "ruǎn";
	dict[152450] = "róng";
	dict[152451] = "xì";
	dict[152453] = "guān";
	dict[152454] = "kài";
	dict[152456] = "wù";
	dict[152458] = "qín";
	dict[152459] = "cōng";
	dict[152461] = "zé";
	dict[152462] = "xiè";
	dict[152464] = "yù";
	dict[152465] = "zàn";
	dict[152466] = "chuāng";
	dict[152467] = "lǐ";
	dict[152468] = "lǐ";
	dict[152469] = "xù";
	dict[152470] = "mí";
	dict[152471] = "xù";
	dict[152472] = "ruǎn";
	dict[152475] = "guì";
	dict[152476] = "rǒng";
	dict[152479] = "máo";
	dict[152481] = "qín";
	dict[152482] = "cuàn";
	dict[152483] = "cuàn";
	dict[152484] = "cuàn";
	dict[152490] = "shěn";
	dict[152494] = "wū";
	dict[152496] = "fǎ";
	dict[152497] = "bá";
	dict[152504] = "qià";
	dict[152505] = "zhì";
	dict[152506] = "tiào";
	dict[152516] = "zhì";
	dict[152517] = "zhí";
	dict[152519] = "huàn";
	dict[152520] = "chóu";
	dict[152522] = "zhì";
	dict[152526] = "yǐng";
	dict[152530] = "wù";
	dict[152531] = "bēi";
	dict[152533] = "hóng";
	dict[152534] = "shěn";
	dict[152536] = "jué";
	dict[152537] = "kuì";
	dict[152540] = "yǐ";
	dict[152541] = "yà";
	dict[152544] = "bī";
	dict[152548] = "kuà";
	dict[152549] = "qiān";
	dict[152552] = "zhāo";
	dict[152554] = "kǎi";
	dict[152555] = "shāng";
	dict[152558] = "àn";
	dict[152559] = "zhé";
	dict[152560] = "zhì";
	dict[152567] = "zhì";
	dict[152569] = "jiǎo";
	dict[152576] = "sī";
	dict[152577] = "pú";
	dict[152578] = "ǒu";
	dict[152586] = "zhuó";
	dict[152593] = "yīng";
	dict[152595] = "huān";
	dict[152597] = "yà";
	dict[152600] = "shí";
	dict[152601] = "pā,bā";
	dict[152602] = "pǔ";
	dict[152606] = "máng";
	dict[152607] = "chāi";
	dict[152617] = "yún";
	dict[152620] = "gǔ";
	dict[152624] = "qū";
	dict[152633] = "dǎn";
	dict[152637] = "zhé";
	dict[152639] = "hú";
	dict[152645] = "kēng";
	dict[152647] = "dié";
	dict[152648] = "tīng";
	dict[152651] = "guài";
	dict[152654] = "qiōng";
	dict[152655] = "shǐ";
	dict[152656] = "jiǎ";
	dict[152657] = "ào";
	dict[152658] = "nǎ,kēng";
	dict[152659] = "pǐn";
	dict[152660] = "jiá";
	dict[152673] = "zhè";
	dict[152674] = "bù";
	dict[152675] = "wǒ";
	dict[152677] = "chǎ";
	dict[152680] = "náo";
	dict[152681] = "náo";
	dict[152682] = "náo";
	dict[152683] = "kǎn";
	dict[152687] = "dú";
	dict[152688] = "guài";
	dict[152689] = "qióng";
	dict[152691] = "róng";
	dict[152692] = "yǐ";
	dict[152693] = "duī";
	dict[152694] = "lěi";
	dict[152696] = "zhōu";
	dict[152697] = "kuā";
	dict[152698] = "ē";
	dict[152699] = "xiān";
	dict[152700] = "diàn";
	dict[152701] = "nuò";
	dict[152702] = "è";
	dict[152703] = "yōng";
	dict[152704] = "wù";
	dict[152705] = "kēng";
	dict[152723] = "zhì";
	dict[152727] = "zhǐ";
	dict[152728] = "xún";
	dict[152731] = "zhèng";
	dict[152734] = "yáng";
	dict[152736] = "huò";
	dict[152737] = "jí";
	dict[152738] = "nǎo,lì";
	dict[152741] = "jiù";
	dict[152743] = "yà";
	dict[152744] = "lù";
	dict[152747] = "fū";
	dict[152748] = "sǎn";
	dict[152749] = "chù";
	dict[152750] = "wěi";
	dict[152752] = "fǔ";
	dict[152753] = "kēng";
	dict[152754] = "sì";
	dict[152755] = "kàng";
	dict[152757] = "yì";
	dict[152758] = "huà";
	dict[152766] = "yǔ";
	dict[152771] = "lì";
	dict[152774] = "lǐn";
	dict[152775] = "dǔ";
	dict[152776] = "è";
	dict[152780] = "qiǎng";
	dict[152781] = "dú";
	dict[152784] = "jié";
	dict[152785] = "chuò";
	dict[152786] = "xiàn,kàn";
	dict[152787] = "bēi";
	dict[152790] = "gǎo";
	dict[152812] = "dào";
	dict[152813] = "suǒ";
	dict[152816] = "hōng";
	dict[152827] = "zōng";
	dict[152830] = "qì";
	dict[152831] = "tuó";
	dict[152832] = "hōng";
	dict[152833] = "pǐ";
	dict[152834] = "gèng";
	dict[152836] = "niè";
	dict[152839] = "kōng";
	dict[152842] = "zhǐ";
	dict[152849] = "xiǎo";
	dict[152865] = "shè";
	dict[152866] = "yú";
	dict[152867] = "jiāng";
	dict[152873] = "qǐ";
	dict[152874] = "chěn";
	dict[152875] = "sǎng";
	dict[152877] = "suǒ";
	dict[152878] = "qián";
	dict[152879] = "huì";
	dict[152881] = "shàn";
	dict[152882] = "è";
	dict[152891] = "qiū";
	dict[152893] = "kè";
	dict[152896] = "wēng";
	dict[152897] = "zī";
	dict[152898] = "jí";
	dict[152903] = "dǎ";
	dict[152905] = "cuò";
	dict[152909] = "lǒu";
	dict[152910] = "kāng";
	dict[152911] = "kuò";
	dict[152912] = "dí";
	dict[152913] = "qiē,jū";
	dict[152915] = "mò";
	dict[152917] = "xià";
	dict[152918] = "guǒ";
	dict[152919] = "hōng";
	dict[152920] = "cháo,suǒ";
	dict[152921] = "hēi";
	dict[152930] = "cáo";
	dict[152931] = "zhé";
	dict[152933] = "qū";
	dict[152944] = "xū";
	dict[152945] = "péng,pēng";
	dict[152946] = "jué";
	dict[152949] = "gǎn";
	dict[152950] = "sī";
	dict[152952] = "suì";
	dict[152953] = "què";
	dict[152955] = "wú,wǔ";
	dict[152956] = "yán";
	dict[152957] = "pèng";
	dict[152958] = "xiǎo";
	dict[152959] = "pān";
	dict[152964] = "xiàn";
	dict[152973] = "là";
	dict[152983] = "bèng";
	dict[152984] = "zhěn";
	dict[152985] = "jí";
	dict[152988] = "jǐn";
	dict[152989] = "lián";
	dict[152990] = "kěn";
	dict[152992] = "zhóu,dú";
	dict[153e3] = "zào";
	dict[153002] = "lè";
	dict[153003] = "qī";
	dict[153004] = "bìng";
	dict[153013] = "yǐn";
	dict[153014] = "pīn";
	dict[153019] = "sǒu";
	dict[153020] = "lǜ";
	dict[153022] = "dí";
	dict[153023] = "dú";
	dict[153024] = "liǎo";
	dict[153025] = "zhuó";
	dict[153034] = "chǎng";
	dict[153042] = "chèn";
	dict[153043] = "tà";
	dict[153049] = "què";
	dict[153050] = "dào";
	dict[153053] = "rǎng";
	dict[153055] = "pò";
	dict[153062] = "zhōng";
	dict[153063] = "xiē";
	dict[153066] = "jiāng";
	dict[153067] = "qú";
	dict[153068] = "lěi";
	dict[153069] = "cà";
	dict[153070] = "quē";
	dict[153077] = "xiàng";
	dict[153078] = "lèi";
	dict[153082] = "làn";
	dict[153087] = "lǎ";
	dict[153089] = "lǎ";
	dict[153092] = "yù";
	dict[153098] = "jiào";
	dict[153099] = "qín";
	dict[153100] = "jī";
	dict[153103] = "gǎn";
	dict[153105] = "cùn";
	dict[153106] = "yì";
	dict[153120] = "yì";
	dict[153121] = "zhī";
	dict[153124] = "biǎo";
	dict[153125] = "shēng";
	dict[153126] = "jiù,shè";
	dict[153131] = "hē";
	dict[153132] = "fú";
	dict[153134] = "jū";
	dict[153152] = "zuǒ";
	dict[153153] = "yí";
	dict[153158] = "xiàn,zhī";
	dict[153159] = "yí";
	dict[153161] = "sì,tái";
	dict[153163] = "chuì";
	dict[153166] = "mò";
	dict[153185] = "zhān";
	dict[153187] = "xún";
	dict[153190] = "rú";
	dict[153192] = "huò";
	dict[153195] = "yǒu";
	dict[153196] = "shāo";
	dict[153200] = "shòu";
	dict[153214] = "yòu";
	dict[153215] = "yù";
	dict[153218] = "jùn";
	dict[153225] = "zī";
	dict[153226] = "lù";
	dict[153242] = "chǐ";
	dict[153243] = "kūn";
	dict[153247] = "huò";
	dict[153248] = "zhùn";
	dict[153254] = "hóu";
	dict[153257] = "xǔ";
	dict[153278] = "zōng";
	dict[153279] = "yìng";
	dict[153282] = "zhū";
	dict[153285] = "liù";
	dict[153297] = "nù";
	dict[153304] = "bì";
	dict[153306] = "chì";
	dict[153308] = "zǔ";
	dict[153309] = "féng";
	dict[153310] = "lù";
	dict[153311] = "pǔ";
	dict[153317] = "zhuàn";
	dict[153319] = "zhé";
	dict[153320] = "shī";
	dict[153321] = "yǔ";
	dict[153322] = "lù";
	dict[153323] = "liáng";
	dict[153327] = "jué";
	dict[153328] = "liào";
	dict[153329] = "bēng";
	dict[153341] = "liù";
	dict[153347] = "yì";
	dict[153348] = "guān";
	dict[153356] = "ǎo";
	dict[153359] = "guì";
	dict[153360] = "mǐn";
	dict[153362] = "yǎn";
	dict[153363] = "lán";
	dict[153366] = "bó";
	dict[153369] = "zàn";
	dict[153370] = "yǒu";
	dict[153381] = "yì";
	dict[153382] = "nǐ,xiǎn";
	dict[153388] = "nǐ,xiǎn";
	dict[153389] = "guǒ";
	dict[153390] = "jùn";
	dict[153392] = "shī";
	dict[153394] = "xiǎn,jiǎn";
	dict[153396] = "qiān";
	dict[153397] = "què";
	dict[153398] = "kuí";
	dict[153408] = "shé";
	dict[153410] = "huò";
	dict[153412] = "wàn";
	dict[153418] = "fèi";
	dict[153419] = "fèi";
	dict[153420] = "jī";
	dict[153421] = "yù,wáng";
	dict[153425] = "zhī";
	dict[153426] = "guà";
	dict[153428] = "jié";
	dict[153429] = "máng";
	dict[153430] = "hé,xié";
	dict[153432] = "yǒu";
	dict[153439] = "dù";
	dict[153440] = "sī,xiù";
	dict[153442] = "lì";
	dict[153445] = "jié";
	dict[153446] = "niǔ";
	dict[153447] = "bà";
	dict[153448] = "yú";
	dict[153449] = "suì";
	dict[153454] = "zhī";
	dict[153464] = "hé";
	dict[153465] = "kē";
	dict[153470] = "dù,zhà";
	dict[153471] = "jiā";
	dict[153473] = "chēn";
	dict[153475] = "chuì,shù";
	dict[153476] = "hé";
	dict[153477] = "zhǎi";
	dict[153482] = "mèi";
	dict[153485] = "hé";
	dict[153486] = "zǐ";
	dict[153487] = "zhú";
	dict[153489] = "zǐ";
	dict[153490] = "tuó";
	dict[153496] = "zùn";
	dict[153498] = "rú";
	dict[153499] = "duò";
	dict[153500] = "jiàng";
	dict[153509] = "liè";
	dict[153511] = "héng";
	dict[153513] = "bēng";
	dict[153514] = "mò,mǐ";
	dict[153519] = "zú";
	dict[153522] = "biē";
	dict[153524] = "kù";
	dict[153525] = "jiá";
	dict[153530] = "zhuō";
	dict[153532] = "xiū";
	dict[153539] = "hé";
	dict[153541] = "qiāo";
	dict[153549] = "fěi";
	dict[153550] = "shēng";
	dict[153554] = "zhuì";
	dict[153555] = "kuǎn";
	dict[153556] = "zè";
	dict[153557] = "xiān";
	dict[153559] = "bì";
	dict[153560] = "yì";
	dict[153562] = "chàng";
	dict[153578] = "mào";
	dict[153590] = "wǎn";
	dict[153597] = "wū";
	dict[153598] = "kū";
	dict[153599] = "wǒ";
	dict[153600] = "xīng";
	dict[153601] = "kē";
	dict[153603] = "jiū";
	dict[153604] = "duān";
	dict[153605] = "huàn";
	dict[153608] = "zhì,jì";
	dict[153609] = "cè";
	dict[153610] = "róu";
	dict[153611] = "jí";
	dict[153613] = "yè";
	dict[153627] = "jīng";
	dict[153628] = "yàng";
	dict[153633] = "zǒng";
	dict[153641] = "cǎn";
	dict[153649] = "sī";
	dict[153650] = "lì";
	dict[153651] = "gǔ";
	dict[153652] = "chàng";
	dict[153654] = "fěi";
	dict[153655] = "liú";
	dict[153657] = "jié";
	dict[153658] = "yūn";
	dict[153661] = "zhì";
	dict[153664] = "chóu";
	dict[153665] = "biē";
	dict[153667] = "huāng";
	dict[153669] = "gāo";
	dict[153682] = "jī";
	dict[153692] = "luó,suì";
	dict[153693] = "jiān,qiān";
	dict[153695] = "chuāng";
	dict[153696] = "shuǎng";
	dict[153698] = "lǜ";
	dict[153699] = "jùn";
	dict[153700] = "jiào";
	dict[153702] = "tì,dì";
	dict[153703] = "zhā";
	dict[153706] = "yì";
	dict[153708] = "cōng";
	dict[153709] = "něi";
	dict[153710] = "jiā";
	dict[153716] = "jì";
	dict[153725] = "ài";
	dict[153735] = "jiǎn";
	dict[153738] = "bèn";
	dict[153740] = "fán";
	dict[153741] = "suì";
	dict[153742] = "zùn";
	dict[153744] = "gāo";
	dict[153745] = "gǎo,hào";
	dict[153746] = "láo,lào";
	dict[153748] = "zhuó,zhào";
	dict[153759] = "hù";
	dict[153766] = "bì";
	dict[153767] = "jú,yì";
	dict[153774] = "huá";
	dict[153778] = "chéng";
	dict[153782] = "kuài";
	dict[153783] = "dāng";
	dict[153784] = "gé";
	dict[153785] = "xié";
	dict[153787] = "jié";
	dict[153789] = "cān";
	dict[153798] = "zú";
	dict[153800] = "pú";
	dict[153803] = "shǔ";
	dict[153804] = "bǔ";
	dict[153815] = "níng";
	dict[153816] = "yǎn";
	dict[153817] = "zhòu,còng";
	dict[153819] = "méng";
	dict[153821] = "biǎn";
	dict[153823] = "xiàng";
	dict[153828] = "lù";
	dict[153829] = "lí";
	dict[153833] = "jì";
	dict[153835] = "miè";
	dict[153836] = "lèi";
	dict[153838] = "zhì";
	dict[153839] = "yōu";
	dict[153840] = "biǎn";
	dict[153841] = "sè";
	dict[153848] = "mù";
	dict[153849] = "ràn";
	dict[153858] = "niǎo";
	dict[153866] = "quán";
	dict[153867] = "zhé";
	dict[153872] = "lèi,léi";
	dict[153879] = "dǎng";
	dict[153880] = "jué";
	dict[153884] = "líng";
	dict[153886] = "líng";
	dict[153887] = "yán";
	dict[153889] = "shēn";
	dict[153891] = "yǎo";
	dict[153892] = "zhèn";
	dict[153893] = "qī";
	dict[153894] = "ài";
	dict[153896] = "nú";
	dict[153897] = "mǎng";
	dict[153905] = "kǎn,hān";
	dict[153907] = "jiū,cuàn";
	dict[153908] = "yǎn";
	dict[153909] = "miàn";
	dict[153911] = "yín";
	dict[153912] = "wán";
	dict[153913] = "yào,yǎo";
	dict[153914] = "wā";
	dict[153915] = "pí";
	dict[153916] = "suì";
	dict[153925] = "kǒng";
	dict[153928] = "hóng";
	dict[153930] = "mǐng";
	dict[153931] = "líng";
	dict[153932] = "yì,dié";
	dict[153933] = "shēn,shèn";
	dict[153935] = "zuò";
	dict[153947] = "tū,bá";
	dict[153949] = "yòng";
	dict[153951] = "wà";
	dict[153952] = "guǐ";
	dict[153953] = "hòng";
	dict[153957] = "shì";
	dict[153959] = "xiòng";
	dict[153961] = "ā,xiàng";
	dict[153969] = "chéng";
	dict[153971] = "kēng";
	dict[153972] = "yì";
	dict[153973] = "yàng";
	dict[153974] = "tíng";
	dict[153975] = "dòu";
	dict[153976] = "chá";
	dict[153977] = "liù";
	dict[153979] = "qìng";
	dict[153981] = "qiú";
	dict[153982] = "xuǎn";
	dict[153983] = "shēn";
	dict[153984] = "kuān,mì";
	dict[153985] = "tòng";
	dict[153987] = "qiǎn";
	dict[153989] = "chòu";
	dict[153994] = "wěn";
	dict[153996] = "lòng";
	dict[153997] = "ǎn,yǎn";
	dict[154004] = "kǎn";
	dict[154006] = "yǎo";
	dict[154007] = "chuāng";
	dict[154008] = "fú";
	dict[154012] = "bèng";
	dict[154013] = "lǎn";
	dict[154014] = "qià";
	dict[154015] = "diàn";
	dict[154018] = "jiào";
	dict[154019] = "guī";
	dict[154021] = "xiòng";
	dict[154024] = "kè";
	dict[154038] = "xiàn";
	dict[154047] = "jiào";
	dict[154050] = "gǒng";
	dict[154054] = "ǒu";
	dict[154055] = "kē,cháo";
	dict[154059] = "kū";
	dict[154065] = "tián,diān,yǎn,chǎn";
	dict[154066] = "gòu";
	dict[154067] = "mǎ";
	dict[154068] = "pì";
	dict[154069] = "liù";
	dict[154073] = "wèi";
	dict[154074] = "wěn";
	dict[154081] = "gòng";
	dict[154083] = "tú";
	dict[154084] = "níng";
	dict[154086] = "jiào";
	dict[154087] = "mì";
	dict[154091] = "láng";
	dict[154092] = "qiǎn";
	dict[154093] = "mán";
	dict[154094] = "zhé";
	dict[154096] = "huà";
	dict[154097] = "yōng";
	dict[154098] = "jìn,jǐn";
	dict[154100] = "mèi";
	dict[154103] = "fú";
	dict[154107] = "qú";
	dict[154121] = "hū";
	dict[154124] = "liù";
	dict[154125] = "fù";
	dict[154126] = "dàn";
	dict[154128] = "gǒng";
	dict[154130] = "cuì,cuàn";
	dict[154133] = "xǐng";
	dict[154140] = "tū";
	dict[154141] = "shòu";
	dict[154154] = "qióng";
	dict[154163] = "róng";
	dict[154171] = "lì";
	dict[154175] = "jī";
	dict[154176] = "tuò";
	dict[154188] = "tóng";
	dict[154194] = "tán";
	dict[154195] = "qiè";
	dict[154196] = "líng";
	dict[154198] = "yì";
	dict[154199] = "ruǎn";
	dict[154201] = "pǎ";
	dict[154205] = "cà";
	dict[154209] = "yuè";
	dict[154210] = "què";
	dict[154211] = "zhù";
	dict[154212] = "hài";
	dict[154222] = "è";
	dict[154225] = "fá";
	dict[154226] = "hài";
	dict[154240] = "bū";
	dict[154241] = "pīng";
	dict[154242] = "liè";
	dict[154250] = "kuǐ,jué";
	dict[154251] = "fú";
	dict[154252] = "tiǎn";
	dict[154253] = "wò";
	dict[154255] = "jū";
	dict[154264] = "zhēn";
	dict[154266] = "fú";
	dict[154273] = "shù";
	dict[154274] = "lóng";
	dict[154278] = "xì";
	dict[154279] = "tián";
	dict[154283] = "jì";
	dict[154287] = "yào,qiáo";
	dict[154289] = "cù";
	dict[154292] = "pàng";
	dict[154293] = "qiè";
	dict[154299] = "lóng";
	dict[154300] = "jǐ";
	dict[154304] = "wāi";
	dict[154306] = "tóng";
	dict[154307] = "yí";
	dict[154309] = "chāng";
	dict[154315] = "gōng";
	dict[154318] = "dòng";
	dict[154324] = "gòng";
	dict[154326] = "xiāng";
	dict[154329] = "tǐng";
	dict[154331] = "zhuān";
	dict[154332] = "yǐ";
	dict[154333] = "yì";
	dict[154334] = "zǐ";
	dict[154335] = "qǐ";
	dict[154338] = "chǎ";
	dict[154348] = "dùn";
	dict[154351] = "chōng";
	dict[154352] = "lù";
	dict[154353] = "dùn";
	dict[154355] = "fāng";
	dict[154356] = "shì";
	dict[154357] = "tì";
	dict[154358] = "jī";
	dict[154359] = "qiū";
	dict[154360] = "shuǐ";
	dict[154361] = "chén";
	dict[154364] = "huàng";
	dict[154365] = "shi";
	dict[154374] = "lóng";
	dict[154376] = "mǎn";
	dict[154377] = "gōu";
	dict[154381] = "xiān";
	dict[154382] = "mò";
	dict[154384] = "shěn";
	dict[154386] = "pō";
	dict[154387] = "yào";
	dict[154388] = "qū";
	dict[154389] = "rǎn";
	dict[154393] = "jù";
	dict[154396] = "yǐn";
	dict[154397] = "bái";
	dict[154410] = "róng";
	dict[154411] = "chuǎn";
	dict[154412] = "niè";
	dict[154413] = "lì,liè";
	dict[154414] = "jiāng";
	dict[154415] = "kǎo";
	dict[154416] = "cè,zhà";
	dict[154417] = "chòng";
	dict[154418] = "zhuā,duò";
	dict[154419] = "zǐ";
	dict[154420] = "yáng";
	dict[154428] = "wěn";
	dict[154443] = "jì";
	dict[154444] = "jì";
	dict[154448] = "lǜ";
	dict[154449] = "qiú";
	dict[154450] = "dùn";
	dict[154451] = "báo";
	dict[154452] = "chān";
	dict[154454] = "bó";
	dict[154456] = "chī";
	dict[154457] = "zhè,niè";
	dict[154458] = "màng";
	dict[154460] = "jì";
	dict[154461] = "miào";
	dict[154462] = "yuàn";
	dict[154463] = "suō";
	dict[154464] = "wú";
	dict[154465] = "zhì";
	dict[154466] = "pīng";
	dict[154469] = "chōng";
	dict[154475] = "mí";
	dict[154476] = "féi";
	dict[154477] = "cuō";
	dict[154478] = "méng";
	dict[154509] = "yín";
	dict[154510] = "mǎng";
	dict[154511] = "diǎn";
	dict[154512] = "diāo";
	dict[154514] = "qián,zhān";
	dict[154517] = "hàng";
	dict[154518] = "zhí";
	dict[154519] = "jú";
	dict[154520] = "niàn";
	dict[154522] = "sān";
	dict[154525] = "gǔ";
	dict[154531] = "zhuā";
	dict[154532] = "niè";
	dict[154533] = "zhuó";
	dict[154535] = "yè";
	dict[154536] = "còng";
	dict[154538] = "xū,jí";
	dict[154540] = "xì";
	dict[154543] = "bō";
	dict[154563] = "yǎn";
	dict[154577] = "jǐn";
	dict[154580] = "jǔ";
	dict[154581] = "dàng";
	dict[154582] = "dù";
	dict[154584] = "yé";
	dict[154585] = "jìng";
	dict[154586] = "kè";
	dict[154587] = "luò";
	dict[154588] = "wěi";
	dict[154589] = "tū";
	dict[154590] = "yóu";
	dict[154591] = "pài";
	dict[154593] = "pí";
	dict[154594] = "dìng";
	dict[154595] = "miè";
	dict[154596] = "wěi";
	dict[154597] = "chè";
	dict[154598] = "jiàn,shà";
	dict[154600] = "sī";
	dict[154601] = "zhuó";
	dict[154602] = "sòu";
	dict[154604] = "ruǎn";
	dict[154606] = "yú";
	dict[154611] = "è";
	dict[154614] = "kǔ";
	dict[154616] = "zhù";
	dict[154622] = "xiá";
	dict[154651] = "fú";
	dict[154652] = "táo";
	dict[154653] = "xī";
	dict[154654] = "chōu,sǒu";
	dict[154655] = "gǎn,lǒng";
	dict[154656] = "lǘ";
	dict[154657] = "cè";
	dict[154658] = "shàn";
	dict[154659] = "liú";
	dict[154661] = "xì";
	dict[154662] = "jī";
	dict[154663] = "yǐ";
	dict[154664] = "tán";
	dict[154666] = "hú";
	dict[154667] = "shì";
	dict[154669] = "cuō,zhǎ,cī";
	dict[154670] = "gě";
	dict[154672] = "shì,shé";
	dict[154673] = "sāo";
	dict[154674] = "hòng";
	dict[154675] = "xiàn";
	dict[154678] = "xiá";
	dict[154683] = "mù";
	dict[154684] = "suǒ";
	dict[154686] = "zhài";
	dict[154688] = "fū";
	dict[154689] = "sè";
	dict[154690] = "nú";
	dict[154691] = "yì";
	dict[154706] = "shì";
	dict[154727] = "qín";
	dict[154728] = "qìng";
	dict[154741] = "huì,suì,xí";
	dict[154742] = "shuǎng";
	dict[154743] = "dǎn";
	dict[154744] = "ōu";
	dict[154745] = "mò";
	dict[154746] = "qiān";
	dict[154747] = "chì,tú";
	dict[154748] = "pái,pì";
	dict[154749] = "juàn";
	dict[154752] = "cháo";
	dict[154753] = "liè";
	dict[154754] = "bīng";
	dict[154755] = "kòu";
	dict[154756] = "dàn";
	dict[154757] = "chóu";
	dict[154758] = "tōng";
	dict[154759] = "dàn";
	dict[154760] = "mǎn";
	dict[154761] = "hù";
	dict[154762] = "liáo";
	dict[154763] = "xián";
	dict[154765] = "cáo";
	dict[154766] = "lù";
	dict[154767] = "chuàn";
	dict[154768] = "wú";
	dict[154769] = "mán";
	dict[154773] = "zǐ";
	dict[154775] = "dù";
	dict[154778] = "shuàng";
	dict[154779] = "fù";
	dict[154780] = "jù";
	dict[154781] = "zhòu";
	dict[154783] = "diào";
	dict[154784] = "wàng";
	dict[154785] = "chuāng";
	dict[154786] = "qiān";
	dict[154787] = "tuì";
	dict[154789] = "lián";
	dict[154790] = "biāo";
	dict[154791] = "lí";
	dict[154794] = "lí";
	dict[154813] = "cuó";
	dict[154822] = "bì";
	dict[154823] = "fù";
	dict[154824] = "cuì";
	dict[154825] = "dū";
	dict[154827] = "zàn,zān";
	dict[154828] = "lóng";
	dict[154829] = "xún";
	dict[154830] = "qióng";
	dict[154831] = "jī";
	dict[154832] = "qiǎn";
	dict[154834] = "jiǎn";
	dict[154835] = "shāo";
	dict[154836] = "duò";
	dict[154837] = "shū";
	dict[154838] = "bù";
	dict[154839] = "xū";
	dict[154840] = "dǒng";
	dict[154842] = "rán";
	dict[154844] = "yáng";
	dict[154845] = "ruǐ";
	dict[154846] = "lìn";
	dict[154847] = "jiǎn";
	dict[154848] = "dì";
	dict[154849] = "fén";
	dict[154850] = "diàn";
	dict[154851] = "zuì";
	dict[154853] = "nǐng";
	dict[154858] = "suàn";
	dict[154859] = "tiǎn";
	dict[154860] = "àn";
	dict[154863] = "cè";
	dict[154864] = "dìng";
	dict[154865] = "shēn";
	dict[154866] = "dù";
	dict[154867] = "tí";
	dict[154868] = "jiǎo";
	dict[154869] = "zuì";
	dict[154870] = "zhǎng";
	dict[154871] = "jiǎn";
	dict[154872] = "dàn";
	dict[154873] = "dǎn";
	dict[154874] = "sǒng";
	dict[154877] = "qī";
	dict[154896] = "zhǎn";
	dict[154897] = "tíng";
	dict[154898] = "zhì";
	dict[154901] = "yóu";
	dict[154902] = "pái";
	dict[154913] = "lǐ";
	dict[154916] = "qián";
	dict[154918] = "suì,dí";
	dict[154919] = "jǔ";
	dict[154920] = "ài";
	dict[154921] = "gé";
	dict[154922] = "jù";
	dict[154923] = "tún,diàn";
	dict[154924] = "bì";
	dict[154925] = "qià";
	dict[154926] = "bó";
	dict[154927] = "huì";
	dict[154929] = "jiàn";
	dict[154932] = "gōu";
	dict[154933] = "suàn";
	dict[154938] = "cí";
	dict[154939] = "qiàng";
	dict[154943] = "yán";
	dict[154959] = "diàn";
	dict[154962] = "miè";
	dict[154972] = "pò";
	dict[154973] = "lǐng";
	dict[154974] = "jié";
	dict[154975] = "zhù";
	dict[154976] = "gǔ";
	dict[154979] = "duān";
	dict[154980] = "zhào";
	dict[154982] = "shǎo";
	dict[154983] = "qǐn";
	dict[154984] = "mí";
	dict[154986] = "píng";
	dict[154987] = "cóng";
	dict[154988] = "chōu";
	dict[154991] = "sà";
	dict[154998] = "tiǎn";
	dict[155e3] = "mí";
	dict[155013] = "liú";
	dict[155014] = "lǘ";
	dict[155015] = "lǔ";
	dict[155016] = "zōu";
	dict[155020] = "lǜ";
	dict[155021] = "huǎn";
	dict[155023] = "tiáo";
	dict[155024] = "tuí";
	dict[155025] = "qiǎng";
	dict[155026] = "lìn";
	dict[155027] = "bēi";
	dict[155028] = "páo";
	dict[155029] = "zhān";
	dict[155031] = "lì";
	dict[155035] = "tí";
	dict[155036] = "hú";
	dict[155042] = "liè";
	dict[155061] = "huǐ";
	dict[155062] = "qū";
	dict[155063] = "xuǎn";
	dict[155065] = "jìng";
	dict[155066] = "dié";
	dict[155067] = "suí";
	dict[155069] = "wèi";
	dict[155071] = "yán";
	dict[155072] = "yān";
	dict[155073] = "bàn";
	dict[155075] = "jiǎng";
	dict[155076] = "nǐ";
	dict[155077] = "lì";
	dict[155078] = "hú";
	dict[155079] = "qì";
	dict[155080] = "zhōng";
	dict[155092] = "yú";
	dict[155093] = "dié";
	dict[155094] = "lìn";
	dict[155095] = "lì";
	dict[155096] = "zhuó";
	dict[155097] = "jì";
	dict[155098] = "jū";
	dict[155100] = "fēng";
	dict[155102] = "yù";
	dict[155112] = "liè";
	dict[155113] = "zá";
	dict[155114] = "qián";
	dict[155115] = "jiē";
	dict[155116] = "guān";
	dict[155118] = "zhuó,zhāo";
	dict[155121] = "fù";
	dict[155129] = "sè";
	dict[155132] = "cù";
	dict[155139] = "huǐ";
	dict[155141] = "biān";
	dict[155144] = "dàng";
	dict[155145] = "lóng";
	dict[155146] = "yì";
	dict[155159] = "sǎ";
	dict[155160] = "yuè";
	dict[155162] = "dí";
	dict[155169] = "gǎn";
	dict[155170] = "zān";
	dict[155171] = "shàn";
	dict[155172] = "yù";
	dict[155173] = "bǒ";
	dict[155175] = "dìng";
	dict[155176] = "fán,bǒ,bǔ";
	dict[155178] = "yù";
	dict[155180] = "shēn";
	dict[155186] = "gōng";
	dict[155188] = "miè";
	dict[155189] = "tún";
	dict[155192] = "liè";
	dict[155201] = "zhā,zuò";
	dict[155202] = "pēi";
	dict[155204] = "mí";
	dict[155206] = "míng";
	dict[155207] = "fàn";
	dict[155208] = "tuó";
	dict[155209] = "nà";
	dict[155210] = "sì";
	dict[155211] = "yí";
	dict[155212] = "jiā";
	dict[155213] = "zhù";
	dict[155219] = "bān";
	dict[155220] = "yù";
	dict[155222] = "pǒ";
	dict[155226] = "huān";
	dict[155227] = "càn";
	dict[155228] = "jiāo";
	dict[155232] = "tán";
	dict[155241] = "zhì";
	dict[155243] = "mǐ";
	dict[155244] = "kǎo";
	dict[155249] = "yāo";
	dict[155250] = "duì";
	dict[155251] = "quǎn,huán";
	dict[155252] = "bù";
	dict[155253] = "chù";
	dict[155254] = "qiǎo";
	dict[155255] = "liú";
	dict[155256] = "bó";
	dict[155258] = "kāng";
	dict[155259] = "fèn";
	dict[155273] = "dòu";
	dict[155274] = "gé";
	dict[155289] = "líng";
	dict[155290] = "xí";
	dict[155292] = "nì";
	dict[155293] = "zhōu";
	dict[155294] = "zhōu,yù";
	dict[155297] = "chī";
	dict[155299] = "chōu";
	dict[155316] = "niān";
	dict[155317] = "jī";
	dict[155319] = "qū";
	dict[155332] = "kāi";
	dict[155334] = "sù";
	dict[155335] = "xiàn";
	dict[155337] = "hé";
	dict[155339] = "lín";
	dict[155341] = "zī";
	dict[155345] = "ǒu,lì";
	dict[155346] = "cù,mì";
	dict[155351] = "chá";
	dict[155357] = "zhòng";
	dict[155358] = "bú";
	dict[155364] = "chōu";
	dict[155365] = "xì";
	dict[155366] = "sà";
	dict[155367] = "xián,jiān";
	dict[155368] = "sè";
	dict[155369] = "miàn";
	dict[155371] = "fán";
	dict[155372] = "zhī";
	dict[155374] = "cuì";
	dict[155380] = "xià";
	dict[155381] = "cí";
	dict[155390] = "nuò";
	dict[155391] = "lí";
	dict[155392] = "zú";
	dict[155394] = "cuī";
	dict[155395] = "zé";
	dict[155397] = "lí";
	dict[155403] = "lí";
	dict[155411] = "bèi";
	dict[155416] = "qí";
	dict[155418] = "zhuō";
	dict[155419] = "cuì";
	dict[155420] = "pū";
	dict[155421] = "chī";
	dict[155422] = "fán";
	dict[155423] = "tán";
	dict[155433] = "zī";
	dict[155434] = "zǔ";
	dict[155435] = "zhōu";
	dict[155436] = "róng";
	dict[155437] = "lín";
	dict[155438] = "tán";
	dict[155446] = "shì";
	dict[155448] = "líng";
	dict[155450] = "cuǐ";
	dict[155451] = "zī";
	dict[155452] = "fū";
	dict[155457] = "xiào";
	dict[155464] = "fēng,lǐ";
	dict[155471] = "xiàn";
	dict[155472] = "jiàn";
	dict[155474] = "fèn";
	dict[155479] = "lì";
	dict[155480] = "mò,miè";
	dict[155487] = "yōu";
	dict[155491] = "líng";
	dict[155493] = "huò";
	dict[155495] = "qū";
	dict[155500] = "niàng";
	dict[155504] = "mí";
	dict[155507] = "qì";
	dict[155510] = "hé";
	dict[155512] = "liàn";
	dict[155513] = "cào";
	dict[155519] = "zuò";
	dict[155522] = "líng";
	dict[155525] = "zhú";
	dict[155527] = "niǎo";
	dict[155530] = "jǐ";
	dict[155531] = "réng";
	dict[155532] = "jié";
	dict[155533] = "gǎn";
	dict[155536] = "yì";
	dict[155539] = "zhóu";
	dict[155541] = "wù";
	dict[155546] = "gěng,dǎn";
	dict[155547] = "cù";
	dict[155549] = "miè,miǎn";
	dict[155553] = "xún,jī";
	dict[155555] = "zhī";
	dict[155556] = "xiáo";
	dict[155559] = "fú";
	dict[155560] = "hú";
	dict[155564] = "dī";
	dict[155566] = "jué";
	dict[155567] = "diào";
	dict[155577] = "shǒu";
	dict[155580] = "wǎng";
	dict[155587] = "nà";
	dict[155588] = "dī";
	dict[155589] = "shì";
	dict[155590] = "cí";
	dict[155591] = "shū";
	dict[155593] = "wà,mò";
	dict[155594] = "chè";
	dict[155595] = "fán,biàn";
	dict[155597] = "gū";
	dict[155598] = "yuān,wǎn";
	dict[155601] = "guān,lún";
	dict[155610] = "qiè";
	dict[155612] = "zhǎn,zhěn";
	dict[155613] = "dài";
	dict[155614] = "shē";
	dict[155622] = "zhōu";
	dict[155623] = "xiǎng";
	dict[155624] = "míng";
	dict[155625] = "zì";
	dict[155626] = "huāng";
	dict[155627] = "mí,yì,wèi";
	dict[155629] = "xì";
	dict[155630] = "zhì,shì";
	dict[155631] = "pài";
	dict[155632] = "duǒ";
	dict[155636] = "cì";
	dict[155637] = "móu";
	dict[155639] = "chào";
	dict[155641] = "yì";
	dict[155642] = "gōu";
	dict[155655] = "jīng";
	dict[155667] = "zēng,jiē";
	dict[155668] = "pīng";
	dict[155669] = "yè";
	dict[155670] = "jié";
	dict[155672] = "pī,bī";
	dict[155675] = "shā";
	dict[155676] = "zhuàng";
	dict[155677] = "jiǒng";
	dict[155680] = "liú";
	dict[155681] = "yǔ";
	dict[155683] = "jū";
	dict[155688] = "nuò";
	dict[155704] = "mào";
	dict[155716] = "chēn";
	dict[155718] = "zhuàn,juàn,shuàn";
	dict[155719] = "niàn";
	dict[155720] = "kòng";
	dict[155721] = "jiē";
	dict[155722] = "huà";
	dict[155725] = "xīn";
	dict[155726] = "zuó";
	dict[155727] = "yàn";
	dict[155728] = "jué";
	dict[155733] = "hū";
	dict[155734] = "zhòu";
	dict[155735] = "shè";
	dict[155737] = "yǎn";
	dict[155739] = "xiè,dié";
	dict[155740] = "dié";
	dict[155743] = "chēn,chén,zhěn";
	dict[155762] = "jiǎn";
	dict[155763] = "jì";
	dict[155766] = "chuò";
	dict[155767] = "hóng";
	dict[155776] = "dá";
	dict[155780] = "kāi";
	dict[155781] = "xīng,xǐ";
	dict[155782] = "huì";
	dict[155783] = "jiǎn";
	dict[155784] = "zhòu";
	dict[155785] = "zhǎ";
	dict[155786] = "fù";
	dict[155787] = "chì";
	dict[155788] = "běng";
	dict[155789] = "nuò";
	dict[155792] = "gōu";
	dict[155793] = "jì";
	dict[155794] = "qián";
	dict[155796] = "wàn";
	dict[155797] = "óu";
	dict[155798] = "bì";
	dict[155799] = "shuò";
	dict[155808] = "jīng";
	dict[155809] = "yè";
	dict[155830] = "yǐ";
	dict[155844] = "fěi";
	dict[155847] = "lí";
	dict[155850] = "lì";
	dict[155851] = "pí";
	dict[155858] = "suì";
	dict[155859] = "liú";
	dict[155860] = "hé";
	dict[155861] = "hǔn";
	dict[155862] = "tǎn";
	dict[155863] = "shuò";
	dict[155864] = "zhì";
	dict[155865] = "bó";
	dict[155869] = "xì";
	dict[155873] = "pó,tāo";
	dict[155874] = "qǔn";
	dict[155876] = "mù";
	dict[155901] = "yōng";
	dict[155906] = "dài";
	dict[155914] = "qǐ";
	dict[155915] = "diǎo";
	dict[155916] = "niè";
	dict[155917] = "shuǎng";
	dict[155919] = "shāo";
	dict[155920] = "kǔn,mí";
	dict[155921] = "suì";
	dict[155923] = "dōu";
	dict[155924] = "dié";
	dict[155932] = "gōng";
	dict[155943] = "sōu";
	dict[155951] = "zhuǎn";
	dict[155952] = "guó";
	dict[155964] = "xū";
	dict[155965] = "qú";
	dict[155967] = "mò";
	dict[155968] = "xún";
	dict[155971] = "jiāo,qiāo";
	dict[155972] = "zhé";
	dict[155974] = "diàn";
	dict[155975] = "sāng";
	dict[155976] = "bēng";
	dict[155978] = "suǒ";
	dict[155979] = "qiǎn";
	dict[155983] = "xū";
	dict[155985] = "xún";
	dict[155988] = "mò";
	dict[155991] = "chǎn";
	dict[156008] = "xǔ";
	dict[156021] = "suì";
	dict[156022] = "là,liè";
	dict[156023] = "zhǔ,zhù";
	dict[156024] = "zhòu";
	dict[156026] = "lì";
	dict[156027] = "huǎn";
	dict[156028] = "dān";
	dict[156029] = "jú";
	dict[156030] = "zhuó";
	dict[156031] = "yùn";
	dict[156032] = "chǎn";
	dict[156033] = "luó";
	dict[156036] = "sè";
	dict[156038] = "lián";
	dict[156040] = "zuǎn,zuí";
	dict[156043] = "lài";
	dict[156044] = "shuǎng";
	dict[156045] = "qiè";
	dict[156056] = "dōu";
	dict[156062] = "wù";
	dict[156063] = "méng";
	dict[156065] = "jì";
	dict[156068] = "chī";
	dict[156070] = "nǐ";
	dict[156082] = "liào";
	dict[156088] = "yáo";
	dict[156091] = "là";
	dict[156094] = "lǜ";
	dict[156096] = "suì";
	dict[156097] = "fū";
	dict[156100] = "lěi";
	dict[156101] = "wěi";
	dict[156110] = "cōng";
	dict[156116] = "lì";
	dict[156118] = "pín";
	dict[156120] = "jūn";
	dict[156121] = "jǔ";
	dict[156123] = "là";
	dict[156135] = "jì";
	dict[156138] = "miè";
	dict[156140] = "yào";
	dict[156141] = "biān";
	dict[156145] = "cóng";
	dict[156146] = "sī,chī";
	dict[156149] = "sī";
	dict[156152] = "hé";
	dict[156163] = "nàng";
	dict[156165] = "dié";
	dict[156168] = "chè";
	dict[156195] = "yú";
	dict[156196] = "xiòng";
	dict[156198] = "qì";
	dict[156199] = "bēi";
	dict[156200] = "xíng";
	dict[156201] = "gǒng";
	dict[156204] = "zuǐ";
	dict[156208] = "jiē";
	dict[156210] = "kāi,gǔ";
	dict[156213] = "xíng";
	dict[156214] = "bēi";
	dict[156215] = "shū";
	dict[156216] = "yù";
	dict[156218] = "zhǒu";
	dict[156219] = "zhǎn";
	dict[156226] = "zhōng";
	dict[156230] = "chá,chà";
	dict[156232] = "chuí";
	dict[156233] = "liù";
	dict[156238] = "suī";
	dict[156240] = "zhǔ";
	dict[156249] = "biàn";
	dict[156253] = "xìn";
	dict[156255] = "yà";
	dict[156258] = "líng";
	dict[156261] = "wèng";
	dict[156263] = "yà";
	dict[156266] = "wǎng";
	dict[156268] = "tīng";
	dict[156281] = "dí";
	dict[156289] = "pí";
	dict[156290] = "hù";
	dict[156291] = "cén";
	dict[156298] = "tiān";
	dict[156299] = "mǒu";
	dict[156300] = "juǎn";
	dict[156301] = "hù";
	dict[156302] = "mǒu";
	dict[156304] = "jù";
	dict[156307] = "lǐng";
	dict[156311] = "liǔ";
	dict[156312] = "hù";
	dict[156326] = "fú";
	dict[156327] = "hú";
	dict[156330] = "è";
	dict[156331] = "gōng";
	dict[156332] = "gū";
	dict[156345] = "lüè";
	dict[156347] = "fán";
	dict[156348] = "lǜ";
	dict[156349] = "méng";
	dict[156350] = "fú";
	dict[156351] = "liú";
	dict[156357] = "xié";
	dict[156358] = "gū";
	dict[156360] = "xiàn";
	dict[156361] = "bó";
	dict[156363] = "jì";
	dict[156371] = "quān";
	dict[156372] = "lù";
	dict[156382] = "shuò";
	dict[156385] = "mǒu";
	dict[156386] = "yù";
	dict[156387] = "hàn";
	dict[156393] = "yuè";
	dict[156394] = "dàn";
	dict[156399] = "yú";
	dict[156400] = "jiān";
	dict[156403] = "gāng";
	dict[156409] = "mò";
	dict[156415] = "cáo";
	dict[156416] = "shèn";
	dict[156417] = "liǔ,lóu";
	dict[156422] = "jiāo";
	dict[156425] = "sù";
	dict[156426] = "sù";
	dict[156427] = "zhòng";
	dict[156434] = "liào";
	dict[156436] = "xuǎn";
	dict[156437] = "lù";
	dict[156439] = "jì";
	dict[156442] = "yán";
	dict[156447] = "lù";
	dict[156449] = "mǐn";
	dict[156450] = "tí";
	dict[156454] = "huàn";
	dict[156457] = "yì";
	dict[156458] = "tǎn";
	dict[156460] = "wǔ,wú";
	dict[156461] = "jī";
	dict[156464] = "jī";
	dict[156471] = "dú";
	dict[156472] = "kūn";
	dict[156474] = "jūn";
	dict[156478] = "juàn";
	dict[156479] = "shī";
	dict[156480] = "nàn";
	dict[156481] = "pò";
	dict[156484] = "shū";
	dict[156485] = "quàn";
	dict[156492] = "rèn";
	dict[156495] = "fén";
	dict[156498] = "tà";
	dict[156499] = "tún";
	dict[156501] = "yáng";
	dict[156506] = "gāo";
	dict[156518] = "duō";
	dict[156519] = "cī";
	dict[156522] = "fén";
	dict[156525] = "róu";
	dict[156529] = "gāo";
	dict[156530] = "xiáng,yàng";
	dict[156532] = "xiáng";
	dict[156533] = "hǒu";
	dict[156535] = "tāo";
	dict[156536] = "shàn";
	dict[156537] = "yáng";
	dict[156538] = "zì";
	dict[156540] = "yuán";
	dict[156548] = "sú";
	dict[156551] = "chuàn";
	dict[156552] = "xiáng,xiè";
	dict[156554] = "bān";
	dict[156556] = "mǎn";
	dict[156558] = "fǔ";
	dict[156559] = "lǎ";
	dict[156560] = "lǐ";
	dict[156562] = "jié";
	dict[156563] = "yōu";
	dict[156568] = "yù";
	dict[156570] = "chì";
	dict[156572] = "chuàn";
	dict[156573] = "yì";
	dict[156574] = "shān";
	dict[156578] = "jí";
	dict[156579] = "yān";
	dict[156582] = "wù";
	dict[156583] = "chún,dūn,dùn";
	dict[156584] = "máng";
	dict[156587] = "chún";
	dict[156589] = "fú";
	dict[156590] = "jiā";
	dict[156591] = "gòu";
	dict[156592] = "gú";
	dict[156593] = "jiá";
	dict[156597] = "xián";
	dict[156599] = "jìn";
	dict[156600] = "zì";
	dict[156601] = "lóu";
	dict[156604] = "gòu";
	dict[156608] = "rén";
	dict[156609] = "xī";
	dict[156610] = "shān";
	dict[156613] = "jué";
	dict[156614] = "tóng";
	dict[156615] = "yǒu";
	dict[156628] = "jiān";
	dict[156629] = "dú";
	dict[156631] = "hú";
	dict[156635] = "sāo";
	dict[156636] = "yù";
	dict[156642] = "mài";
	dict[156644] = "zhī";
	dict[156645] = "yān";
	dict[156646] = "gāo";
	dict[156647] = "shú";
	dict[156648] = "huài";
	dict[156654] = "quán";
	dict[156657] = "yǎng,chài";
	dict[156659] = "zuǐ";
	dict[156663] = "xiāo";
	dict[156664] = "yì,chí";
	dict[156665] = "yǎn";
	dict[156666] = "hóng,gòng";
	dict[156667] = "yú,yù";
	dict[156671] = "chì";
	dict[156673] = "chí";
	dict[156676] = "háng";
	dict[156677] = "sè";
	dict[156678] = "pā";
	dict[156679] = "tà";
	dict[156680] = "fēn";
	dict[156681] = "chī";
	dict[156685] = "xuè";
	dict[156694] = "zhǐ";
	dict[156699] = "qú,yù";
	dict[156704] = "xī";
	dict[156705] = "fú";
	dict[156707] = "shū";
	dict[156708] = "hài";
	dict[156710] = "pò";
	dict[156711] = "yì";
	dict[156712] = "cǐ";
	dict[156720] = "chài";
	dict[156723] = "hōng";
	dict[156728] = "pǎo";
	dict[156729] = "shēn";
	dict[156730] = "xiāo";
	dict[156733] = "xuān,líng";
	dict[156734] = "cǐ";
	dict[156735] = "tíng";
	dict[156736] = "pò";
	dict[156743] = "tà";
	dict[156744] = "chā";
	dict[156747] = "zú";
	dict[156748] = "huò";
	dict[156749] = "xù";
	dict[156750] = "yàn";
	dict[156751] = "chài";
	dict[156753] = "tuó";
	dict[156760] = "xián";
	dict[156761] = "xuān";
	dict[156762] = "hóu";
	dict[156763] = "huǎn";
	dict[156764] = "gé";
	dict[156765] = "chǒng";
	dict[156766] = "bì";
	dict[156767] = "hōng";
	dict[156768] = "hōng";
	dict[156769] = "chí,chī";
	dict[156771] = "chá";
	dict[156781] = "bì";
	dict[156783] = "zhǎ";
	dict[156785] = "zhái,huò";
	dict[156786] = "tà";
	dict[156789] = "pò";
	dict[156790] = "tà";
	dict[156792] = "yóu";
	dict[156793] = "fú";
	dict[156794] = "cī";
	dict[156795] = "dá";
	dict[156796] = "tǎ";
	dict[156798] = "liú";
	dict[156801] = "cī";
	dict[156803] = "hōng";
	dict[156805] = "hàn";
	dict[156806] = "lā";
	dict[156808] = "shī";
	dict[156811] = "hàn";
	dict[156813] = "tóng";
	dict[156814] = "huì";
	dict[156815] = "hé";
	dict[156816] = "piē";
	dict[156817] = "yù";
	dict[156828] = "xiān";
	dict[156829] = "hǎn";
	dict[156831] = "pò";
	dict[156834] = "áo";
	dict[156838] = "là";
	dict[156839] = "huò";
	dict[156848] = "tài";
	dict[156852] = "lǎo";
	dict[156854] = "shù";
	dict[156858] = "dào";
	dict[156859] = "diǎn";
	dict[156872] = "xiòng";
	dict[156875] = "wàng";
	dict[156877] = "chě";
	dict[156878] = "nài";
	dict[156880] = "jué";
	dict[156883] = "ér,liè";
	dict[156884] = "ér,xū";
	dict[156885] = "nǘ";
	dict[156886] = "nǜ";
	dict[156890] = "zhuǎn";
	dict[156893] = "zhuǎn";
	dict[156898] = "nuò";
	dict[156900] = "liè";
	dict[156901] = "lěi";
	dict[156903] = "bā";
	dict[156908] = "chēng";
	dict[156911] = "guī";
	dict[156912] = "quán";
	dict[156913] = "gè";
	dict[156915] = "gǒng";
	dict[156916] = "shào,shāo";
	dict[156921] = "lái";
	dict[156922] = "zhēng";
	dict[156923] = "yì";
	dict[156924] = "gǔn";
	dict[156925] = "wēi";
	dict[156926] = "lǔn,kǔn";
	dict[156930] = "shí";
	dict[156931] = "yīng";
	dict[156932] = "shěng";
	dict[156933] = "tú";
	dict[156934] = "bì";
	dict[156936] = "zé";
	dict[156937] = "zhòng";
	dict[156939] = "rǒng";
	dict[156940] = "qí,sí";
	dict[156941] = "fù";
	dict[156942] = "cè";
	dict[156944] = "yún";
	dict[156947] = "lí";
	dict[156948] = "mán,màn";
	dict[156950] = "lián";
	dict[156951] = "biāo";
	dict[156955] = "chuáng";
	dict[156956] = "yì";
	dict[156960] = "pài";
	dict[156965] = "yì,shì";
	dict[156966] = "kuài";
	dict[156969] = "biāo,pāo";
	dict[156971] = "chì,yì";
	dict[156972] = "qú";
	dict[156973] = "mò";
	dict[156974] = "zhé";
	dict[156975] = "shà";
	dict[156976] = "shà,xū";
	dict[156981] = "wén";
	dict[156983] = "yāo";
	dict[156984] = "gōng";
	dict[156985] = "nài";
	dict[156987] = "shèng";
	dict[156988] = "xiè";
	dict[156991] = "tiàn";
	dict[156998] = "yé";
	dict[157001] = "shā";
	dict[157007] = "sào";
	dict[157010] = "diān";
	dict[157011] = "xù";
	dict[157017] = "qú";
	dict[157024] = "hōng";
	dict[157025] = "shèng";
	dict[157026] = "tìng";
	dict[157040] = "duo";
	dict[157045] = "liáo";
	dict[157047] = "hòng";
	dict[157048] = "lǐ";
	dict[157050] = "xiǎng,gāo";
	dict[157053] = "shèn";
	dict[157056] = "fū";
	dict[157064] = "yǎn";
	dict[157065] = "wǎng";
	dict[157066] = "qī";
	dict[157067] = "duǒ";
	dict[157069] = "huà";
	dict[157070] = "qiān";
	dict[157072] = "xiè";
	dict[157085] = "cì";
	dict[157086] = "shēng,wén";
	dict[157090] = "èr";
	dict[157092] = "xīng";
	dict[157094] = "tuì";
	dict[157095] = "yàn";
	dict[157097] = "liè";
	dict[157100] = "mí";
	dict[157112] = "zòng";
	dict[157114] = "zī";
	dict[157116] = "hú";
	dict[157117] = "yíng";
	dict[157118] = "lián";
	dict[157119] = "dā";
	dict[157120] = "tián";
	dict[157121] = "tiàn";
	dict[157131] = "róng";
	dict[157133] = "ài";
	dict[157136] = "ài";
	dict[157137] = "zhé";
	dict[157138] = "guō";
	dict[157139] = "lù";
	dict[157140] = "zhāo";
	dict[157141] = "mí";
	dict[157142] = "liáo";
	dict[157143] = "zhé";
	dict[157147] = "qǔ";
	dict[157148] = "cōng";
	dict[157151] = "tīng,tè";
	dict[157153] = "tán";
	dict[157154] = "zhǎn";
	dict[157155] = "hú";
	dict[157157] = "piē";
	dict[157159] = "dā";
	dict[157160] = "róng";
	dict[157166] = "nǎo";
	dict[157171] = "náng";
	dict[157172] = "dāng";
	dict[157173] = "jiǎo";
	dict[157179] = "jù";
	dict[157180] = "ěr";
	dict[157194] = "lì";
	dict[157196] = "guō";
	dict[157197] = "wài,wà";
	dict[157202] = "niè";
	dict[157204] = "jīn";
	dict[157213] = "sù";
	dict[157225] = "pǐ";
	dict[157226] = "chì";
	dict[157234] = "pǐ";
	dict[157235] = "yì";
	dict[157236] = "dū";
	dict[157237] = "wǎ";
	dict[157238] = "xūn";
	dict[157240] = "qì";
	dict[157241] = "shàn,yuè";
	dict[157244] = "xū";
	dict[157247] = "hē";
	dict[157248] = "pàn";
	dict[157250] = "pēi";
	dict[157252] = "xiōng";
	dict[157254] = "chǐ";
	dict[157255] = "tān";
	dict[157256] = "zuì,cuì";
	dict[157257] = "zuǎn";
	dict[157258] = "qì";
	dict[157259] = "dū";
	dict[157261] = "yìn";
	dict[157273] = "shuǐ";
	dict[157276] = "nǎ";
	dict[157277] = "xī";
	dict[157287] = "chǎo";
	dict[157288] = "yì";
	dict[157290] = "jiān";
	dict[157291] = "zhēng";
	dict[157294] = "jú";
	dict[157295] = "dài";
	dict[157297] = "sān";
	dict[157300] = "zhù";
	dict[157301] = "wàn";
	dict[157302] = "gǔ";
	dict[157304] = "sān";
	dict[157305] = "bàn";
	dict[157306] = "jià,jiā";
	dict[157307] = "mài";
	dict[157311] = "kuàng";
	dict[157320] = "tuò,dù";
	dict[157322] = "qì";
	dict[157327] = "zhuāng";
	dict[157328] = "tuó";
	dict[157331] = "píng";
	dict[157337] = "zǐ";
	dict[157341] = "pēng";
	dict[157342] = "kuāng,kuàng";
	dict[157343] = "yí";
	dict[157345] = "xiè,mài";
	dict[157346] = "yuē";
	dict[157347] = "hén";
	dict[157349] = "hóu,yóu";
	dict[157350] = "zhēng";
	dict[157351] = "chǔn";
	dict[157352] = "shì";
	dict[157353] = "wǎ";
	dict[157355] = "xié";
	dict[157368] = "gèng";
	dict[157381] = "è";
	dict[157382] = "chéng";
	dict[157386] = "cún";
	dict[157391] = "kú";
	dict[157392] = "nà";
	dict[157395] = "jū";
	dict[157396] = "xuàn";
	dict[157397] = "qū";
	dict[157398] = "chè";
	dict[157399] = "lǚ";
	dict[157400] = "hé";
	dict[157401] = "shèng";
	dict[157402] = "nàn";
	dict[157404] = "hé,hán";
	dict[157405] = "chá";
	dict[157406] = "yān";
	dict[157407] = "gěng";
	dict[157408] = "niè";
	dict[157410] = "guó";
	dict[157411] = "yán";
	dict[157412] = "guǎn";
	dict[157415] = "zhì";
	dict[157423] = "dǔ";
	dict[157424] = "qì";
	dict[157425] = "qū";
	dict[157426] = "jué";
	dict[157433] = "zì";
	dict[157441] = "fēng";
	dict[157443] = "xù";
	dict[157444] = "tuì";
	dict[157446] = "hán";
	dict[157447] = "kū";
	dict[157450] = "shēn";
	dict[157451] = "zhì";
	dict[157453] = "pàng";
	dict[157454] = "zhēng";
	dict[157455] = "lì";
	dict[157456] = "wǎn";
	dict[157458] = "fǎn";
	dict[157459] = "xìn";
	dict[157462] = "yà";
	dict[157467] = "jū";
	dict[157468] = "shèn";
	dict[157469] = "qí";
	dict[157471] = "bù";
	dict[157485] = "mǎng";
	dict[157487] = "tǔn";
	dict[157488] = "zhuó";
	dict[157489] = "xī";
	dict[157490] = "yìn";
	dict[157491] = "jīng";
	dict[157492] = "tún";
	dict[157495] = "gèng";
	dict[157496] = "jì";
	dict[157519] = "zhuǎn,shuàn";
	dict[157522] = "tiē";
	dict[157524] = "zhī";
	dict[157526] = "jí";
	dict[157530] = "yíng";
	dict[157531] = "wèi";
	dict[157533] = "huàn";
	dict[157534] = "tíng";
	dict[157535] = "chán";
	dict[157538] = "kuí";
	dict[157539] = "qià,kē";
	dict[157540] = "bàn";
	dict[157541] = "chā,zhá";
	dict[157542] = "tuǒ";
	dict[157543] = "nǎn";
	dict[157544] = "jiē";
	dict[157546] = "yān";
	dict[157548] = "tú";
	dict[157549] = "lǜ";
	dict[157550] = "wěn";
	dict[157552] = "cōng";
	dict[157555] = "xù";
	dict[157556] = "yìn";
	dict[157559] = "bèng";
	dict[157569] = "zāi";
	dict[157570] = "dā,da";
	dict[157574] = "niè";
	dict[157575] = "jǔ";
	dict[157576] = "hóu";
	dict[157580] = "gèng";
	dict[157589] = "hóu";
	dict[157590] = "kān";
	dict[157591] = "gōng";
	dict[157593] = "huǐ";
	dict[157594] = "xiè";
	dict[157597] = "xì";
	dict[157598] = "hán";
	dict[157599] = "mí";
	dict[157601] = "wěng";
	dict[157602] = "hùn";
	dict[157603] = "sāo,sào";
	dict[157604] = "xìn,zǐ";
	dict[157605] = "zhé";
	dict[157606] = "hè";
	dict[157608] = "gōng";
	dict[157611] = "sài";
	dict[157612] = "jīn,jiàn";
	dict[157613] = "wā";
	dict[157617] = "duǐ";
	dict[157618] = "chī";
	dict[157629] = "xī,wèi,jí";
	dict[157632] = "luó";
	dict[157633] = "huāng";
	dict[157634] = "mí";
	dict[157635] = "zāng";
	dict[157636] = "sǎng,sào";
	dict[157644] = "jiǎn";
	dict[157648] = "mā";
	dict[157651] = "tún";
	dict[157652] = "zhì";
	dict[157653] = "wěn";
	dict[157656] = "yín";
	dict[157657] = "tǔn";
	dict[157659] = "chōng";
	dict[157660] = "zé";
	dict[157662] = "xiāo";
	dict[157663] = "mó";
	dict[157664] = "cù";
	dict[157667] = "biǎn";
	dict[157668] = "xiū";
	dict[157671] = "yí";
	dict[157678] = "huǎng";
	dict[157680] = "zhā";
	dict[157681] = "suō";
	dict[157682] = "hún";
	dict[157683] = "jù";
	dict[157694] = "ōu";
	dict[157697] = "cù";
	dict[157700] = "jī";
	dict[157701] = "xún";
	dict[157702] = "sǔn,zhuàn";
	dict[157703] = "céng";
	dict[157705] = "yì";
	dict[157710] = "biāo";
	dict[157714] = "jué";
	dict[157715] = "lì";
	dict[157718] = "pào";
	dict[157723] = "zā";
	dict[157724] = "yè";
	dict[157726] = "bì";
	dict[157727] = "zhè";
	dict[157728] = "zhè";
	dict[157730] = "jiù";
	dict[157731] = "zhé";
	dict[157734] = "shù";
	dict[157738] = "xī";
	dict[157751] = "xǔ";
	dict[157752] = "nǎi";
	dict[157753] = "xián";
	dict[157754] = "gǔn";
	dict[157755] = "wèi";
	dict[157758] = "jí";
	dict[157759] = "sà";
	dict[157762] = "dǒng";
	dict[157763] = "nuó,nié";
	dict[157764] = "dù";
	dict[157765] = "zhēng";
	dict[157766] = "kū";
	dict[157769] = "míng";
	dict[157781] = "báo";
	dict[157782] = "huì";
	dict[157785] = "zōng";
	dict[157800] = "sàn";
	dict[157802] = "tēng";
	dict[157803] = "yí";
	dict[157805] = "yù";
	dict[157809] = "yào,shào";
	dict[157810] = "nǐng";
	dict[157812] = "chóu,zhǒu";
	dict[157813] = "hùn";
	dict[157815] = "duì";
	dict[157817] = "qì";
	dict[157818] = "yǐng";
	dict[157819] = "bìng";
	dict[157820] = "níng";
	dict[157821] = "huáng";
	dict[157826] = "pú";
	dict[157830] = "yǐng";
	dict[157834] = "báo,bó";
	dict[157838] = "guàng";
	dict[157839] = "lěi";
	dict[157840] = "zǔn";
	dict[157849] = "chǎn,qiān,xiān";
	dict[157859] = "jiǎn";
	dict[157863] = "méng";
	dict[157865] = "xiào,sōu";
	dict[157871] = "xìn,xìng";
	dict[157873] = "lí";
	dict[157882] = "qiǎo";
	dict[157883] = "yīng";
	dict[157887] = "wěi,juǎn";
	dict[157888] = "nà,niè,zhé";
	dict[157890] = "pāng";
	dict[157892] = "léi";
	dict[157895] = "luó";
	dict[157899] = "luán";
	dict[157901] = "gēng";
	dict[157903] = "luán";
	dict[157906] = "qú";
	dict[157910] = "luó";
	dict[157912] = "náng";
	dict[157915] = "luó";
	dict[157916] = "yuè";
	dict[157917] = "yí";
	dict[157918] = "yí";
	dict[157922] = "shuì";
	dict[157925] = "mì";
	dict[157926] = "wáng";
	dict[157927] = "cè";
	dict[157928] = "jiān";
	dict[157929] = "wǎng";
	dict[157935] = "jiā";
	dict[157937] = "zé";
	dict[157940] = "huán";
	dict[157944] = "liàn";
	dict[157945] = "zì";
	dict[157946] = "bái";
	dict[157947] = "shǒu,bǎi";
	dict[157950] = "wǎn";
	dict[157954] = "shū";
	dict[157959] = "guī";
	dict[157960] = "xī";
	dict[157962] = "rú";
	dict[157963] = "yào";
	dict[157966] = "gāo";
	dict[157973] = "yuè";
	dict[157976] = "yōng";
	dict[157977] = "wà";
	dict[157978] = "bó";
	dict[157981] = "mián";
	dict[157983] = "xìn";
	dict[157986] = "pì";
	dict[157987] = "bó";
	dict[157990] = "hài,hè,ài";
	dict[157991] = "zhài";
	dict[157992] = "wò";
	dict[157994] = "yè";
	dict[157995] = "bì,bí";
	dict[157996] = "hài";
	dict[158008] = "chì";
	dict[158011] = "zhì";
	dict[158013] = "ní";
	dict[158017] = "wú";
	dict[158018] = "ǎi";
	dict[158024] = "ǎi";
	dict[158025] = "yǔ";
	dict[158026] = "chì";
	dict[158029] = "jìng";
	dict[158030] = "zhì";
	dict[158031] = "zhì";
	dict[158032] = "zhì";
	dict[158033] = "jú,jǔ";
	dict[158038] = "hán,xián";
	dict[158042] = "pīng";
	dict[158045] = "yǎo";
	dict[158051] = "yóu";
	dict[158052] = "pīng";
	dict[158054] = "mò";
	dict[158060] = "zuò";
	dict[158061] = "pò";
	dict[158063] = "xué";
	dict[158064] = "kuáng";
	dict[158065] = "yì";
	dict[158066] = "pò";
	dict[158075] = "zhuì";
	dict[158083] = "ní";
	dict[158084] = "qiǔ";
	dict[158085] = "còu";
	dict[158092] = "yǎo";
	dict[158097] = "fén";
	dict[158101] = "xiá";
	dict[158103] = "jiāng";
	dict[158104] = "chā";
	dict[158107] = "xiào";
	dict[158108] = "chā";
	dict[158114] = "chéng";
	dict[158115] = "cuì";
	dict[158119] = "qióng,gǒng";
	dict[158121] = "yù";
	dict[158123] = "yú";
	dict[158127] = "wèn";
	dict[158129] = "chā";
	dict[158130] = "yǔ,yù";
	dict[158137] = "zuó";
	dict[158138] = "dǎo";
	dict[158141] = "juàn,fàn";
	dict[158142] = "dǎo";
	dict[158143] = "yīng";
	dict[158145] = "fěng";
	dict[158149] = "wèng";
	dict[158152] = "jìn";
	dict[158153] = "qì";
	dict[158155] = "qìn";
	dict[158157] = "kuò";
	dict[158159] = "tān";
	dict[158160] = "xiān";
	dict[158162] = "tiān";
	dict[158164] = "kuò";
	dict[158166] = "tiàn";
	dict[158168] = "hú";
	dict[158169] = "zhū";
	dict[158170] = "zhān";
	dict[158171] = "tà";
	dict[158173] = "tiān";
	dict[158174] = "tà";
	dict[158175] = "tà";
	dict[158176] = "huá";
	dict[158177] = "yǎn,tiàn";
	dict[158178] = "tiè";
	dict[158180] = "tiè";
	dict[158181] = "tà";
	dict[158188] = "huài";
	dict[158190] = "jiá";
	dict[158191] = "qì";
	dict[158193] = "tà";
	dict[158194] = "luó";
	dict[158196] = "tān";
	dict[158197] = "huà";
	dict[158200] = "zhuàn";
	dict[158201] = "huā";
	dict[158202] = "lài";
	dict[158204] = "lán";
	dict[158214] = "zūn";
	dict[158215] = "yì";
	dict[158216] = "fú";
	dict[158217] = "wù";
	dict[158219] = "fú";
	dict[158221] = "dīng";
	dict[158222] = "tà";
	dict[158230] = "chào";
	dict[158233] = "rì";
	dict[158234] = "quǎn";
	dict[158236] = "gē";
	dict[158241] = "fú";
	dict[158242] = "dì";
	dict[158243] = "diāo";
	dict[158244] = "yǒng";
	dict[158246] = "jià";
	dict[158252] = "yǒng";
	dict[158253] = "pí";
	dict[158255] = "huó";
	dict[158256] = "qióng";
	dict[158258] = "fán";
	dict[158259] = "wú";
	dict[158260] = "tóng";
	dict[158261] = "háng";
	dict[158264] = "tān";
	dict[158270] = "hēng";
	dict[158276] = "tiāo";
	dict[158280] = "zhōu";
	dict[158283] = "bài";
	dict[158284] = "xiè";
	dict[158285] = "dāo,diāo";
	dict[158287] = "jīn,wéi";
	dict[158293] = "hū";
	dict[158294] = "bēi";
	dict[158296] = "dìng";
	dict[158300] = "nuó";
	dict[158301] = "wèi";
	dict[158302] = "yú";
	dict[158304] = "xīng";
	dict[158305] = "fú";
	dict[158306] = "xiàn";
	dict[158307] = "qì";
	dict[158308] = "tū";
	dict[158311] = "jí";
	dict[158313] = "yìng";
	dict[158315] = "dèng,téng";
	dict[158316] = "wēi";
	dict[158317] = "xī";
	dict[158319] = "pái";
	dict[158321] = "shéng";
	dict[158322] = "yǒu";
	dict[158324] = "ái";
	dict[158325] = "jiàn";
	dict[158327] = "gōu";
	dict[158328] = "ruò";
	dict[158331] = "zhāo";
	dict[158332] = "gòng";
	dict[158335] = "shà";
	dict[158336] = "táng";
	dict[158343] = "lù";
	dict[158344] = "áo";
	dict[158346] = "qì";
	dict[158347] = "xiū";
	dict[158349] = "dāi";
	dict[158353] = "fá";
	dict[158354] = "wèi";
	dict[158356] = "dùn";
	dict[158357] = "liáo";
	dict[158358] = "fān";
	dict[158359] = "huáng,héng";
	dict[158360] = "jué";
	dict[158361] = "tà";
	dict[158362] = "zùn";
	dict[158363] = "ráo";
	dict[158364] = "cān";
	dict[158365] = "téng";
	dict[158368] = "huà";
	dict[158369] = "xū";
	dict[158371] = "zhān";
	dict[158375] = "gǎn";
	dict[158378] = "péng";
	dict[158379] = "cān";
	dict[158380] = "xiē";
	dict[158381] = "dá";
	dict[158385] = "jì";
	dict[158390] = "lǐ";
	dict[158393] = "pán";
	dict[158397] = "lóng,lǒng";
	dict[158398] = "lì";
	dict[158399] = "xí";
	dict[158400] = "téng";
	dict[158403] = "líng";
	dict[158408] = "lǐ";
	dict[158409] = "rán";
	dict[158410] = "líng";
	dict[158414] = "gǔn";
	dict[158420] = "pō";
	dict[158421] = "mò";
	dict[158422] = "pāi";
	dict[158425] = "bà";
	dict[158433] = "qí";
	dict[158436] = "yán";
	dict[158442] = "wà";
	dict[158443] = "ǎng";
	dict[158445] = "mìng";
	dict[158446] = "mǐn";
	dict[158447] = "xùn";
	dict[158448] = "méng";
	dict[158451] = "guǎi";
	dict[158454] = "jiāo";
	dict[158459] = "gǎi";
	dict[158460] = "kǎi";
	dict[158465] = "cái";
	dict[158466] = "wù";
	dict[158467] = "zhé";
	dict[158468] = "rěn";
	dict[158469] = "kōu";
	dict[158470] = "máng";
	dict[158484] = "zhǎo";
	dict[158485] = "zhōng";
	dict[158486] = "qiú";
	dict[158487] = "guō";
	dict[158488] = "gōng,sōng";
	dict[158489] = "pū";
	dict[158490] = "hù";
	dict[158491] = "miǎn";
	dict[158494] = "tiān";
	dict[158499] = "wǎng";
	dict[158520] = "zhú";
	dict[158521] = "dá,dàn";
	dict[158522] = "xiòng,huǎng";
	dict[158523] = "ná";
	dict[158526] = "juān";
	dict[158529] = "niǎn";
	dict[158536] = "hù";
	dict[158537] = "shā";
	dict[158552] = "yuán";
	dict[158556] = "zhī";
	dict[158559] = "tā";
	dict[158561] = "sī";
	dict[158565] = "yì";
	dict[158573] = "qióng";
	dict[158574] = "zhì";
	dict[158575] = "lǚ,lóu";
	dict[158576] = "rú";
	dict[158578] = "qí";
	dict[158579] = "yǔ";
	dict[158580] = "zhōu";
	dict[158581] = "yáng";
	dict[158582] = "xiǎn";
	dict[158583] = "móu";
	dict[158584] = "chóu";
	dict[158585] = "huī";
	dict[158586] = "jiū";
	dict[158587] = "jiù";
	dict[158588] = "piǎo,bì";
	dict[158593] = "jiào";
	dict[158595] = "guāi,kuā";
	dict[158597] = "mò";
	dict[158608] = "xī";
	dict[158609] = "pú";
	dict[158617] = "kuí";
	dict[158639] = "jì";
	dict[158646] = "wěn";
	dict[158647] = "bèi";
	dict[158648] = "yǐ";
	dict[158649] = "fú";
	dict[158650] = "sī";
	dict[158651] = "juān";
	dict[158652] = "jì,qí";
	dict[158654] = "nì";
	dict[158656] = "bèn";
	dict[158661] = "xù";
	dict[158662] = "mǎo";
	dict[158664] = "qǐn";
	dict[158665] = "bó";
	dict[158668] = "wáng";
	dict[158669] = "zhè";
	dict[158671] = "wò";
	dict[158672] = "sháo";
	dict[158673] = "zào";
	dict[158674] = "yǎng";
	dict[158677] = "sòng";
	dict[158678] = "niè";
	dict[158683] = "bì";
	dict[158691] = "cú";
	dict[158692] = "qiāng";
	dict[158698] = "xiào";
	dict[158699] = "zhī";
	dict[158700] = "shé";
	dict[158703] = "zhì";
	dict[158704] = "pēng";
	dict[158742] = "wò";
	dict[158743] = "huá,huà,huā";
	dict[158744] = "zhǐ";
	dict[158745] = "bì";
	dict[158747] = "fén";
	dict[158753] = "nà,nuó";
	dict[158757] = "bāng";
	dict[158762] = "qiú";
	dict[158763] = "nǐ";
	dict[158764] = "bó";
	dict[158765] = "dùn";
	dict[158767] = "shǐ";
	dict[158768] = "xū";
	dict[158769] = "cháng";
	dict[158770] = "xū";
	dict[158771] = "yé";
	dict[158776] = "xīn";
	dict[158777] = "zhuó";
	dict[158778] = "fù";
	dict[158781] = "pǐ";
	dict[158782] = "xuè";
	dict[158784] = "yù";
	dict[158785] = "xián";
	dict[158786] = "yù";
	dict[158787] = "yú";
	dict[158788] = "gū";
	dict[158789] = "jū";
	dict[158790] = "tā";
	dict[158791] = "kōng";
	dict[158794] = "zhēng";
	dict[158795] = "méng";
	dict[158796] = "gāng";
	dict[158802] = "mù";
	dict[158803] = "xǐ";
	dict[158804] = "bì";
	dict[158806] = "fù";
	dict[158812] = "xiào";
	dict[158816] = "jiū";
	dict[158819] = "gǒu";
	dict[158832] = "chí";
	dict[158833] = "jiū";
	dict[158834] = "jiū";
	dict[158837] = "shā";
	dict[158839] = "fēi";
	dict[158891] = "fú";
	dict[158895] = "wàn";
	dict[158896] = "xū";
	dict[158897] = "bō";
	dict[158903] = "lì";
	dict[158913] = "hào,mào";
	dict[158915] = "xié";
	dict[158916] = "pián";
	dict[158917] = "yǔ";
	dict[158919] = "tián";
	dict[158920] = "pí,bì";
	dict[158922] = "shǐ";
	dict[158923] = "kuǎi";
	dict[158924] = "jī";
	dict[158927] = "zhā";
	dict[158928] = "nài,nà";
	dict[158929] = "mǒu";
	dict[158931] = "fú";
	dict[158932] = "dù";
	dict[158935] = "shěng";
	dict[158936] = "chá";
	dict[158937] = "zhì";
	dict[158938] = "chí";
	dict[158939] = "guǐ";
	dict[158940] = "mín";
	dict[158941] = "tāng,dàng";
	dict[158942] = "bài";
	dict[158943] = "qiāng";
	dict[158945] = "zhuó";
	dict[158946] = "wèi";
	dict[158947] = "xún";
	dict[158949] = "miǎo";
	dict[158950] = "zāi";
	dict[158951] = "yóu";
	dict[158953] = "yòu";
	dict[158955] = "shān";
	dict[158956] = "hé";
	dict[158957] = "lǚ";
	dict[158958] = "zhí";
	dict[158962] = "jìng";
	dict[158963] = "zhēn";
	dict[158966] = "méng";
	dict[158967] = "yóu";
	dict[158969] = "wò";
	dict[158970] = "bá";
	dict[158973] = "juàn";
	dict[158974] = "rú";
	dict[158975] = "còu";
	dict[158976] = "zhī";
	dict[158985] = "hú";
	dict[158986] = "yāng";
	dict[158988] = "jùn";
	dict[158989] = "shé";
	dict[158990] = "kòu";
	dict[158993] = "qián";
	dict[158996] = "méng";
	dict[159002] = "tiáo";
	dict[159056] = "niè";
	dict[159071] = "chí";
	dict[159073] = "xiōng,gōng";
	dict[159075] = "hùn";
	dict[159078] = "dí";
	dict[159079] = "láng";
	dict[159081] = "zāo,qiú";
	dict[159082] = "cè";
	dict[159083] = "suǒ";
	dict[159084] = "zù";
	dict[159085] = "suī";
	dict[159087] = "xiá";
	dict[159089] = "xiè";
	dict[159092] = "jié";
	dict[159093] = "yóu";
	dict[159095] = "gòu";
	dict[159096] = "gěng";
	dict[159097] = "tǎn";
	dict[159100] = "jùn";
	dict[159101] = "huǎng";
	dict[159102] = "jí";
	dict[159103] = "pōu";
	dict[159104] = "wū";
	dict[159106] = "yì";
	dict[159109] = "nǎi";
	dict[159111] = "rǒng,ruǎn";
	dict[159112] = "nán";
	dict[159114] = "píng";
	dict[159115] = "shàn";
	dict[159116] = "diāo";
	dict[159117] = "jí";
	dict[159118] = "huā";
	dict[159119] = "duì";
	dict[159120] = "kǒng";
	dict[159121] = "tà";
	dict[159123] = "hòng";
	dict[159125] = "shū";
	dict[159129] = "héng";
	dict[159130] = "fěn";
	dict[159135] = "ruò";
	dict[159154] = "kòu";
	dict[159193] = "nián";
	dict[159197] = "chú";
	dict[159206] = "qiàng";
	dict[159218] = "xì";
	dict[159219] = "hú";
	dict[159220] = "sòng";
	dict[159221] = "wò";
	dict[159223] = "hài";
	dict[159224] = "rú";
	dict[159225] = "méng";
	dict[159227] = "sǎn";
	dict[159229] = "wú";
	dict[159231] = "yóu";
	dict[159233] = "tān";
	dict[159234] = "shēn";
	dict[159238] = "qǐ";
	dict[159240] = "guó";
	dict[159241] = "qià";
	dict[159242] = "xiān";
	dict[159247] = "suī";
	dict[159248] = "lù";
	dict[159251] = "qī";
	dict[159252] = "diāo";
	dict[159255] = "qí";
	dict[159256] = "jiá";
	dict[159257] = "yóu";
	dict[159258] = "xí";
	dict[159259] = "cháo";
	dict[159265] = "mì";
	dict[159266] = "lòu";
	dict[159267] = "bǐ";
	dict[159274] = "péi";
	dict[159278] = "zhēn";
	dict[159279] = "shēn";
	dict[159280] = "chǎn";
	dict[159281] = "fù";
	dict[159286] = "qū";
	dict[159287] = "sī";
	dict[159290] = "zuī";
	dict[159339] = "zhào";
	dict[159357] = "pí";
	dict[159360] = "còu";
	dict[159366] = "gāo";
	dict[159367] = "dú";
	dict[159369] = "fū";
	dict[159370] = "guān";
	dict[159371] = "sǎo";
	dict[159372] = "sǒu";
	dict[159373] = "jiǎn";
	dict[159374] = "póu";
	dict[159376] = "cán";
	dict[159377] = "bèng";
	dict[159378] = "mòu";
	dict[159379] = "zhāo";
	dict[159380] = "xiáo";
	dict[159382] = "jú";
	dict[159383] = "shū";
	dict[159384] = "jiǎn";
	dict[159385] = "lí";
	dict[159387] = "chuàn";
	dict[159388] = "lào,láo";
	dict[159389] = "níng";
	dict[159390] = "hè";
	dict[159391] = "hú";
	dict[159392] = "gū";
	dict[159393] = "zhǎng";
	dict[159394] = "jié";
	dict[159395] = "xiàng";
	dict[159397] = "dū";
	dict[159398] = "hán";
	dict[159399] = "jiá";
	dict[159400] = "xiàng";
	dict[159401] = "jí";
	dict[159402] = "shǔ";
	dict[159403] = "làng";
	dict[159404] = "jī";
	dict[159405] = "shān";
	dict[159408] = "tāo,tiáo";
	dict[159409] = "zī";
	dict[159410] = "shuàn";
	dict[159411] = "yì";
	dict[159412] = "jí";
	dict[159413] = "chù";
	dict[159414] = "jì";
	dict[159415] = "shēn";
	dict[159416] = "lìn,lín";
	dict[159417] = "liáo";
	dict[159419] = "sǎn";
	dict[159421] = "ǎn";
	dict[159422] = "ruǎn";
	dict[159424] = "tí,tái";
	dict[159425] = "dàn";
	dict[159427] = "huán";
	dict[159429] = "sà";
	dict[159440] = "zhào";
	dict[159494] = "ruí";
	dict[159495] = "wū";
	dict[159496] = "jù";
	dict[159497] = "huán";
	dict[159498] = "léng";
	dict[159499] = "lù";
	dict[159502] = "tān";
	dict[159503] = "zēng";
	dict[159507] = "qián";
	dict[159511] = "xī";
	dict[159521] = "cǐ";
	dict[159522] = "shé";
	dict[159527] = "sà";
	dict[159530] = "mào";
	dict[159531] = "qú";
	dict[159533] = "bó";
	dict[159534] = "gǎn,gàn";
	dict[159536] = "qiè,hé";
	dict[159537] = "juàn";
	dict[159538] = "dāng";
	dict[159539] = "cháng";
	dict[159540] = "yáng";
	dict[159541] = "hé";
	dict[159543] = "jī";
	dict[159545] = "bǐng";
	dict[159547] = "méi";
	dict[159551] = "dūn";
	dict[159552] = "ǎo";
	dict[159553] = "jīng";
	dict[159554] = "lù";
	dict[159555] = "miàn";
	dict[159556] = "diàn";
	dict[159557] = "hè";
	dict[159559] = "jiān";
	dict[159562] = "huá";
	dict[159563] = "gōu";
	dict[159566] = "lù";
	dict[159567] = "fú";
	dict[159568] = "huǐ";
	dict[159570] = "zéi";
	dict[159572] = "jìn";
	dict[159573] = "sī";
	dict[159574] = "qūn";
	dict[159580] = "dàn";
	dict[159582] = "wàn";
	dict[159583] = "biǎn";
	dict[159585] = "mào";
	dict[159588] = "jiá";
	dict[159595] = "dǎn";
	dict[159596] = "jiū";
	dict[159597] = "xián";
	dict[159598] = "bó";
	dict[159631] = "xiá";
	dict[159633] = "biāo";
	dict[159637] = "pò";
	dict[159640] = "sǎo";
	dict[159641] = "bèi";
	dict[159642] = "shà";
	dict[159643] = "wěi";
	dict[159645] = "cāng";
	dict[159646] = "lù";
	dict[159657] = "dàn";
	dict[159659] = "gǔ";
	dict[159660] = "zā";
	dict[159661] = "bǎng";
	dict[159662] = "gàn,gǎn";
	dict[159665] = "chāo";
	dict[159666] = "jì";
	dict[159667] = "liē";
	dict[159668] = "fán";
	dict[159669] = "qióng";
	dict[159670] = "jiàn";
	dict[159671] = "lù";
	dict[159672] = "duān";
	dict[159673] = "suān";
	dict[159674] = "yáo";
	dict[159675] = "yǐn";
	dict[159677] = "tà";
	dict[159678] = "yáo";
	dict[159679] = "jīng";
	dict[159680] = "chú";
	dict[159681] = "fú";
	dict[159682] = "yuán";
	dict[159683] = "shǎo";
	dict[159685] = "bìng";
	dict[159686] = "dàng";
	dict[159687] = "shì";
	dict[159690] = "lú";
	dict[159691] = "qiè";
	dict[159692] = "luó";
	dict[159693] = "pò";
	dict[159695] = "méng,mèng";
	dict[159696] = "jié";
	dict[159699] = "jī";
	dict[159702] = "lù";
	dict[159748] = "chàng";
	dict[159749] = "miè,mò";
	dict[159750] = "méng";
	dict[159751] = "jiǎn";
	dict[159754] = "cǎi";
	dict[159756] = "sù";
	dict[159757] = "qū";
	dict[159764] = "hè";
	dict[159765] = "sà";
	dict[159767] = "zī";
	dict[159768] = "kēng";
	dict[159769] = "gěng";
	dict[159770] = "sī";
	dict[159776] = "tí";
	dict[159777] = "zhàn";
	dict[159778] = "xiè";
	dict[159779] = "shuí";
	dict[159780] = "chǐ";
	dict[159781] = "yōu";
	dict[159782] = "lǔ";
	dict[159783] = "mèng";
	dict[159784] = "liè";
	dict[159785] = "sì";
	dict[159788] = "xī";
	dict[159789] = "fán";
	dict[159790] = "fū";
	dict[159791] = "shěn";
	dict[159792] = "tí";
	dict[159793] = "chài";
	dict[159794] = "yuè";
	dict[159795] = "sì";
	dict[159796] = "fū";
	dict[159797] = "jiàn,shǎn";
	dict[159798] = "dì";
	dict[159801] = "zhè";
	dict[159802] = "xié";
	dict[159803] = "dān";
	dict[159804] = "xuē";
	dict[159807] = "zhí";
	dict[159811] = "xù";
	dict[159816] = "niè";
	dict[159817] = "fàn";
	dict[159818] = "méng";
	dict[159819] = "mǐn";
	dict[159870] = "lóu";
	dict[159871] = "dú,shǔ";
	dict[159872] = "mò";
	dict[159873] = "zhàn";
	dict[159874] = "jiàn";
	dict[159875] = "hàn";
	dict[159876] = "dàn";
	dict[159877] = "sēn";
	dict[159878] = "jiàn";
	dict[159879] = "tán,xún";
	dict[159880] = "jiǎo";
	dict[159881] = "pó";
	dict[159883] = "píng";
	dict[159885] = "zhuàn,sūn";
	dict[159887] = "liáo";
	dict[159888] = "zì";
	dict[159890] = "zhuó";
	dict[159892] = "hù";
	dict[159897] = "xì";
	dict[159899] = "méng";
	dict[159900] = "jù";
	dict[159901] = "miè";
	dict[159902] = "xián";
	dict[159904] = "kuì";
	dict[159905] = "méng";
	dict[159906] = "jiān";
	dict[159910] = "nóu";
	dict[159912] = "dì";
	dict[159913] = "sāo";
	dict[159951] = "chù";
	dict[159952] = "zhí";
	dict[159953] = "qián";
	dict[159954] = "lǚ";
	dict[159956] = "zhuó";
	dict[159960] = "zuò";
	dict[159961] = "hán";
	dict[159962] = "suǐ";
	dict[159963] = "gòu";
	dict[159965] = "chǒu";
	dict[159966] = "jì";
	dict[159967] = "yì";
	dict[159968] = "yú";
	dict[159971] = "kūn";
	dict[159976] = "nóu";
	dict[159977] = "nǐ";
	dict[159978] = "ruò";
	dict[159982] = "lín";
	dict[159985] = "níng";
	dict[159993] = "zhá";
	dict[160013] = "qiáo";
	dict[160014] = "yáo";
	dict[160015] = "fù";
	dict[160016] = "shuāng";
	dict[160017] = "kuì";
	dict[160018] = "qú";
	dict[160019] = "dǒng";
	dict[160020] = "shǔ";
	dict[160026] = "lí";
	dict[160027] = "jú";
	dict[160028] = "ruǐ";
	dict[160032] = "zhá";
	dict[160036] = "xiāo";
	dict[160056] = "mén,wěi";
	dict[160057] = "shí";
	dict[160058] = "diān";
	dict[160059] = "lì";
	dict[160060] = "dèng,téng";
	dict[160061] = "zàn,zā";
	dict[160063] = "luó";
	dict[160064] = "cán";
	dict[160067] = "āo";
	dict[160070] = "jiǎn";
	dict[160072] = "diào";
	dict[160075] = "yíng";
	dict[160086] = "yì";
	dict[160087] = "dǎng";
	dict[160088] = "nóu";
	dict[160090] = "yuè";
	dict[160110] = "lǐ";
	dict[160111] = "lí";
	dict[160112] = "hù";
	dict[160114] = "yòu";
	dict[160122] = "nàng";
	dict[160123] = "hàn";
	dict[160130] = "chèn";
	dict[160136] = "yì";
	dict[160137] = "fēng";
	dict[160138] = "biē";
	dict[160143] = "mǎn";
	dict[160144] = "gàn";
	dict[160145] = "huò,suǐ";
	dict[160147] = "cū";
	dict[160149] = "yǒu";
	dict[160152] = "yòu";
	dict[160156] = "xū";
	dict[160161] = "xù";
	dict[160162] = "hǔ";
	dict[160163] = "lú";
	dict[160165] = "xiá";
	dict[160166] = "yì";
	dict[160174] = "hǔ";
	dict[160175] = "hù";
	dict[160176] = "zǐ";
	dict[160183] = "gōng";
	dict[160184] = "tuī";
	dict[160185] = "wū";
	dict[160186] = "líng";
	dict[160187] = "gū";
	dict[160188] = "zhōng,dōng";
	dict[160196] = "lú";
	dict[160200] = "zù";
	dict[160204] = "tóng";
	dict[160205] = "xiā";
	dict[160206] = "hé";
	dict[160210] = "bào";
	dict[160211] = "yuè";
	dict[160217] = "nán";
	dict[160218] = "bó";
	dict[160219] = "hū";
	dict[160220] = "qì";
	dict[160221] = "shú";
	dict[160222] = "qiāng";
	dict[160223] = "zhōu";
	dict[160224] = "yào";
	dict[160225] = "gū";
	dict[160229] = "bān";
	dict[160230] = "kǎn";
	dict[160238] = "hé";
	dict[160239] = "jì";
	dict[160240] = "hú";
	dict[160241] = "yán";
	dict[160246] = "chūn";
	dict[160247] = "dǐng";
	dict[160248] = "qiū";
	dict[160249] = "hóu";
	dict[160252] = "hào";
	dict[160253] = "jù";
	dict[160255] = "zù";
	dict[160257] = "xián";
	dict[160260] = "xià";
	dict[160261] = "xì";
	dict[160264] = "sè,xì";
	dict[160268] = "gé";
	dict[160269] = "xì";
	dict[160273] = "gé";
	dict[160276] = "lǚ";
	dict[160278] = "gé";
	dict[160279] = "kè";
	dict[160281] = "shòu";
	dict[160282] = "zhù";
	dict[160284] = "téng";
	dict[160285] = "yà";
	dict[160286] = "nì";
	dict[160294] = "luò";
	dict[160295] = "suī,méng";
	dict[160298] = "chǎn";
	dict[160301] = "wù";
	dict[160303] = "yū";
	dict[160313] = "zǎo";
	dict[160315] = "yì";
	dict[160316] = "xī,jí";
	dict[160317] = "hóng";
	dict[160318] = "quán";
	dict[160319] = "wǎng";
	dict[160320] = "chǐ";
	dict[160321] = "xì";
	dict[160322] = "tiǎn";
	dict[160323] = "yǔn";
	dict[160324] = "mián";
	dict[160325] = "yī";
	dict[160326] = "jí";
	dict[160327] = "huī";
	dict[160328] = "fóu,fú";
	dict[160330] = "fǔ";
	dict[160333] = "jí";
	dict[160334] = "xuán";
	dict[160337] = "tài";
	dict[160343] = "yuán";
	dict[160347] = "dì";
	dict[160350] = "zhǔ";
	dict[160351] = "tāi";
	dict[160353] = "rǒng";
	dict[160354] = "xué";
	dict[160355] = "yù";
	dict[160356] = "fàn";
	dict[160357] = "běi";
	dict[160359] = "qǔ,jié";
	dict[160361] = "bù";
	dict[160362] = "jiā";
	dict[160363] = "zhá";
	dict[160365] = "nǔ";
	dict[160366] = "shé,yán,yí";
	dict[160370] = "lì";
	dict[160377] = "zhā";
	dict[160388] = "guǐ";
	dict[160389] = "guǎi";
	dict[160391] = "dài,dé";
	dict[160399] = "gāi";
	dict[160402] = "cì";
	dict[160404] = "yǎn";
	dict[160405] = "sōng";
	dict[160406] = "shì";
	dict[160408] = "kù";
	dict[160409] = "zhǐ";
	dict[160410] = "tóng";
	dict[160411] = "qú";
	dict[160412] = "è";
	dict[160413] = "hē";
	dict[160414] = "xíng";
	dict[160415] = "rú";
	dict[160416] = "yú,shū";
	dict[160419] = "yì";
	dict[160420] = "yì";
	dict[160421] = "xù";
	dict[160422] = "fǒu";
	dict[160423] = "gé,è";
	dict[160424] = "rán";
	dict[160428] = "hé";
	dict[160429] = "yīn";
	dict[160431] = "hòng";
	dict[160433] = "duǒ";
	dict[160445] = "xíng";
	dict[160446] = "fán";
	dict[160457] = "qī";
	dict[160458] = "shā,shuō";
	dict[160460] = "dù";
	dict[160461] = "dì,xué";
	dict[160462] = "lí";
	dict[160463] = "yì";
	dict[160464] = "xí";
	dict[160465] = "gěng";
	dict[160466] = "tóng,shì";
	dict[160467] = "kào";
	dict[160468] = "hòng";
	dict[160469] = "kǔn";
	dict[160470] = "niè";
	dict[160471] = "chí";
	dict[160472] = "tí";
	dict[160474] = "tóng";
	dict[160480] = "lí,lǐ";
	dict[160481] = "nà";
	dict[160482] = "bō";
	dict[160483] = "kuò";
	dict[160497] = "zhān";
	dict[160498] = "běi";
	dict[160513] = "tiáo";
	dict[160515] = "zā";
	dict[160516] = "è,yè";
	dict[160517] = "shòu";
	dict[160518] = "kōng";
	dict[160519] = "péng";
	dict[160520] = "fù";
	dict[160521] = "lù";
	dict[160522] = "xiè";
	dict[160523] = "xiè";
	dict[160524] = "xiū";
	dict[160525] = "lù";
	dict[160526] = "tiǎn";
	dict[160527] = "tà";
	dict[160528] = "cì";
	dict[160529] = "qū";
	dict[160531] = "fù";
	dict[160532] = "zhī";
	dict[160534] = "xiè,shè";
	dict[160535] = "zǒu";
	dict[160536] = "fèi";
	dict[160537] = "mín";
	dict[160538] = "xīng";
	dict[160541] = "tóng";
	dict[160542] = "qí";
	dict[160544] = "piāo";
	dict[160546] = "suì";
	dict[160547] = "ěr";
	dict[160551] = "hǔ";
	dict[160564] = "qí";
	dict[160571] = "sōng";
	dict[160573] = "biē";
	dict[160574] = "dīng";
	dict[160575] = "bǎn";
	dict[160576] = "shī,lǐ";
	dict[160577] = "xiè";
	dict[160578] = "xiáo";
	dict[160579] = "fěi";
	dict[160594] = "chuǎn,chuǎi";
	dict[160595] = "shuài";
	dict[160596] = "yāo";
	dict[160597] = "jué";
	dict[160598] = "shěng,nìng";
	dict[160600] = "yōu";
	dict[160601] = "fàn";
	dict[160604] = "kuí";
	dict[160605] = "dì";
	dict[160607] = "máo";
	dict[160608] = "jié";
	dict[160610] = "yán,yǐn";
	dict[160611] = "chài";
	dict[160613] = "wēi";
	dict[160616] = "sāng";
	dict[160617] = "jié";
	dict[160618] = "yú";
	dict[160619] = "wèi";
	dict[160620] = "è";
	dict[160621] = "quán";
	dict[160622] = "jiǒng";
	dict[160623] = "féng";
	dict[160624] = "lóng";
	dict[160625] = "dié";
	dict[160626] = "pián";
	dict[160628] = "liàn";
	dict[160629] = "hú";
	dict[160630] = "lǜ";
	dict[160632] = "zhōng";
	dict[160639] = "diàn";
	dict[160643] = "cuì";
	dict[160644] = "móu,wù";
	dict[160661] = "wáng";
	dict[160662] = "juān";
	dict[160663] = "kē";
	dict[160664] = "yán";
	dict[160665] = "jiǎo";
	dict[160673] = "gōng";
	dict[160674] = "tè";
	dict[160675] = "róng";
	dict[160676] = "sūn";
	dict[160677] = "shàn";
	dict[160680] = "chí";
	dict[160682] = "qí";
	dict[160683] = "suǒ";
	dict[160685] = "yè";
	dict[160686] = "zǎo";
	dict[160687] = "quē";
	dict[160688] = "zhǎn";
	dict[160689] = "bā";
	dict[160690] = "zú";
	dict[160691] = "suǒ";
	dict[160692] = "zhé";
	dict[160693] = "xì";
	dict[160695] = "chǔ";
	dict[160696] = "jiǎo";
	dict[160697] = "zuì";
	dict[160698] = "gē";
	dict[160699] = "wù,móu";
	dict[160702] = "lüè";
	dict[160703] = "jí";
	dict[160706] = "xié";
	dict[160707] = "xié";
	dict[160710] = "dǒu";
	dict[160715] = "qiū";
	dict[160721] = "píng";
	dict[160723] = "liú";
	dict[160741] = "jié";
	dict[160743] = "huì";
	dict[160747] = "shà";
	dict[160760] = "zhí";
	dict[160761] = "ài";
	dict[160762] = "xù,òu";
	dict[160763] = "bì";
	dict[160765] = "yē";
	dict[160766] = "nì";
	dict[160767] = "zhú";
	dict[160769] = "sù";
	dict[160770] = "shí";
	dict[160771] = "xié";
	dict[160772] = "yù,yú";
	dict[160773] = "qū";
	dict[160776] = "zú";
	dict[160777] = "zhī";
	dict[160778] = "zhāng";
	dict[160779] = "lüè";
	dict[160780] = "wěi";
	dict[160781] = "chōng";
	dict[160782] = "mì";
	dict[160784] = "jī";
	dict[160786] = "sù";
	dict[160787] = "yě";
	dict[160788] = "xí,yì";
	dict[160789] = "tuán";
	dict[160790] = "lián,liàn";
	dict[160791] = "xuán";
	dict[160793] = "wù";
	dict[160799] = "máo";
	dict[160802] = "háo";
	dict[160812] = "hóng";
	dict[160815] = "lüè";
	dict[160816] = "dú";
	dict[160817] = "cóng";
	dict[160818] = "chán";
	dict[160819] = "lù";
	dict[160820] = "sù";
	dict[160832] = "lüè";
	dict[160838] = "zhōng";
	dict[160839] = "lí";
	dict[160840] = "fèi";
	dict[160842] = "jǐng";
	dict[160843] = "kuì";
	dict[160844] = "yì";
	dict[160845] = "huá";
	dict[160846] = "cuì";
	dict[160848] = "yù";
	dict[160849] = "běng";
	dict[160850] = "tūn";
	dict[160851] = "shǔ";
	dict[160852] = "dài";
	dict[160853] = "wū";
	dict[160854] = "cì";
	dict[160855] = "nìng";
	dict[160856] = "dàng";
	dict[160857] = "zú";
	dict[160858] = "hán";
	dict[160860] = "pí";
	dict[160861] = "chuàn";
	dict[160864] = "dù";
	dict[160865] = "pá";
	dict[160868] = "zhū";
	dict[160870] = "xié";
	dict[160871] = "zhé";
	dict[160872] = "qiè";
	dict[160873] = "xuān";
	dict[160875] = "sào";
	dict[160896] = "bì";
	dict[160898] = "fù";
	dict[160904] = "lì";
	dict[160910] = "é";
	dict[160912] = "yē";
	dict[160913] = "shǔ";
	dict[160915] = "sè";
	dict[160916] = "qiú";
	dict[160917] = "qī";
	dict[160918] = "guò";
	dict[160919] = "sè";
	dict[160920] = "guǒ";
	dict[160921] = "fù";
	dict[160922] = "máo";
	dict[160924] = "léi";
	dict[160925] = "zhān";
	dict[160936] = "chài";
	dict[160955] = "xiè";
	dict[160957] = "léi";
	dict[160958] = "dāng";
	dict[160959] = "zéi";
	dict[160960] = "yīng";
	dict[160961] = "ài";
	dict[160962] = "xiē";
	dict[160964] = "bì";
	dict[160969] = "qí";
	dict[160971] = "chán";
	dict[160974] = "pí,bī";
	dict[160975] = "cóng";
	dict[160976] = "liè";
	dict[160977] = "qí";
	dict[160979] = "jì";
	dict[160980] = "jīng";
	dict[160981] = "dōng";
	dict[160982] = "féi";
	dict[160983] = "yí";
	dict[160984] = "tuán";
	dict[160999] = "biān";
	dict[161e3] = "měng";
	dict[161001] = "cán";
	dict[161002] = "yá";
	dict[161010] = "yǎng";
	dict[161012] = "tíng";
	dict[161016] = "zhí";
	dict[161018] = "xiè";
	dict[161019] = "lǜ";
	dict[161021] = "lì,chài";
	dict[161023] = "máo";
	dict[161026] = "xiá";
	dict[161029] = "sòu";
	dict[161046] = "sū";
	dict[161047] = "xuè";
	dict[161053] = "lì";
	dict[161054] = "yuán";
	dict[161057] = "zhǎn";
	dict[161059] = "tà";
	dict[161060] = "xuán";
	dict[161061] = "wèi";
	dict[161062] = "yè";
	dict[161063] = "páng";
	dict[161064] = "máo";
	dict[161065] = "tí";
	dict[161066] = "pín";
	dict[161068] = "dù";
	dict[161069] = "qiú";
	dict[161070] = "yǐ";
	dict[161075] = "tuó";
	dict[161076] = "chài";
	dict[161079] = "jìn";
	dict[161084] = "é";
	dict[161091] = "chán";
	dict[161092] = "yīng";
	dict[161093] = "líng";
	dict[161095] = "xiǎn";
	dict[161097] = "qī";
	dict[161099] = "yuè";
	dict[161100] = "lüè";
	dict[161101] = "yíng";
	dict[161102] = "qú";
	dict[161104] = "cáo";
	dict[161106] = "fěi";
	dict[161107] = "zī";
	dict[161113] = "qīng";
	dict[161117] = "níng";
	dict[161118] = "wèi";
	dict[161119] = "shuāng";
	dict[161121] = "fù";
	dict[161124] = "mò";
	dict[161125] = "mò";
	dict[161126] = "tuó";
	dict[161127] = "chài";
	dict[161128] = "zàng";
	dict[161134] = "lí";
	dict[161135] = "lí,shī";
	dict[161137] = "xiá";
	dict[161138] = "juǎn";
	dict[161140] = "nán";
	dict[161141] = "mì";
	dict[161144] = "huáng";
	dict[161146] = "shuàng";
	dict[161148] = "xǔ";
	dict[161151] = "fěi";
	dict[161153] = "xiè,wén";
	dict[161157] = "mì";
	dict[161158] = "tà";
	dict[161159] = "yǒng";
	dict[161161] = "zhǎn";
	dict[161169] = "qiáng";
	dict[161170] = "náng";
	dict[161172] = "lìn";
	dict[161173] = "pí";
	dict[161176] = "luán";
	dict[161177] = "xiǎn";
	dict[161178] = "fú";
	dict[161180] = "líng";
	dict[161184] = "sāo";
	dict[161186] = "huì";
	dict[161192] = "tíng";
	dict[161194] = "qíng";
	dict[161196] = "huāng";
	dict[161198] = "àn";
	dict[161204] = "mài";
	dict[161205] = "mǎn";
	dict[161207] = "nì,nǜ";
	dict[161208] = "méng";
	dict[161210] = "tǎn";
	dict[161211] = "guó";
	dict[161212] = "ǒu";
	dict[161215] = "xiàng";
	dict[161217] = "jīn";
	dict[161222] = "zhēng";
	dict[161224] = "n";
	dict[161227] = "sàn";
	dict[161228] = "hù";
	dict[161230] = "zú";
	dict[161231] = "huǐ";
	dict[161234] = "jī";
	dict[161235] = "jī";
	dict[161237] = "nóng";
	dict[161238] = "yè";
	dict[161254] = "xíng";
	dict[161257] = "là";
	dict[161258] = "yù,qú";
	dict[161259] = "jué";
	dict[161265] = "shù,yù";
	dict[161266] = "zhēng";
	dict[161267] = "xuàn";
	dict[161268] = "yǒng";
	dict[161270] = "gē";
	dict[161272] = "jiàn";
	dict[161273] = "xìn,xiān";
	dict[161276] = "huī";
	dict[161279] = "shuài";
	dict[161282] = "chōng,chòng";
	dict[161283] = "háng";
	dict[161288] = "liǎo";
	dict[161289] = "yì";
	dict[161293] = "jiāng";
	dict[161295] = "gōng";
	dict[161296] = "tuō";
	dict[161297] = "zhuó,bào";
	dict[161299] = "tì";
	dict[161303] = "qǐ";
	dict[161308] = "qiān";
	dict[161309] = "biǎo";
	dict[161310] = "dǒu";
	dict[161311] = "pō,bō";
	dict[161314] = "hù";
	dict[161317] = "niǔ";
	dict[161319] = "qì";
	dict[161320] = "diāo";
	dict[161321] = "diāo";
	dict[161323] = "lì";
	dict[161326] = "xiōng";
	dict[161341] = "ná";
	dict[161343] = "zhēng";
	dict[161344] = "là";
	dict[161345] = "zhì,zī,jì,pī";
	dict[161347] = "ě";
	dict[161348] = "bō";
	dict[161349] = "pō";
	dict[161350] = "xū";
	dict[161351] = "yòng,dǎn";
	dict[161352] = "cí";
	dict[161353] = "lì";
	dict[161355] = "zhǐ";
	dict[161356] = "páo";
	dict[161359] = "xiù,yǒu";
	dict[161371] = "pù";
	dict[161373] = "ché";
	dict[161374] = "qì";
	dict[161375] = "yì";
	dict[161377] = "yì";
	dict[161379] = "tí";
	dict[161380] = "duǒ";
	dict[161381] = "lóng,tǒng";
	dict[161383] = "jiàn";
	dict[161389] = "zhàn";
	dict[161390] = "yuàn";
	dict[161398] = "yú";
	dict[161400] = "gēng";
	dict[161402] = "hòu";
	dict[161406] = "qǐ";
	dict[161408] = "mù";
	dict[161409] = "huàn";
	dict[161410] = "lòng";
	dict[161411] = "xì";
	dict[161412] = "é";
	dict[161413] = "lǎng";
	dict[161414] = "fèi";
	dict[161415] = "wǎn,wèn";
	dict[161417] = "cūn";
	dict[161419] = "péng";
	dict[161423] = "cuò";
	dict[161424] = "wēng";
	dict[161428] = "tóng";
	dict[161441] = "gǎo";
	dict[161445] = "cuì";
	dict[161448] = "qì,shà,qiè";
	dict[161449] = "lí";
	dict[161450] = "qiè";
	dict[161451] = "qiàn,jīng";
	dict[161452] = "kōng";
	dict[161453] = "běng";
	dict[161455] = "shòu";
	dict[161463] = "wēi";
	dict[161476] = "shān";
	dict[161487] = "zī";
	dict[161490] = "tì";
	dict[161491] = "qiān";
	dict[161492] = "dú";
	dict[161495] = "tú";
	dict[161498] = "wēi";
	dict[161502] = "hú";
	dict[161503] = "xīng";
	dict[161505] = "shān";
	dict[161506] = "zhǐ";
	dict[161511] = "chǐ";
	dict[161528] = "zhòu";
	dict[161529] = "wēng";
	dict[161530] = "chí";
	dict[161531] = "suǒ";
	dict[161532] = "xiè";
	dict[161533] = "wèi";
	dict[161534] = "kè";
	dict[161537] = "shài,shā,shǎi";
	dict[161538] = "shī";
	dict[161539] = "shòu";
	dict[161541] = "jiè";
	dict[161545] = "gǎo";
	dict[161546] = "lǚ";
	dict[161556] = "xiè";
	dict[161557] = "tì";
	dict[161562] = "zhǐ";
	dict[161566] = "mán,màn";
	dict[161568] = "shuài";
	dict[161569] = "kè";
	dict[161571] = "diǎo";
	dict[161572] = "yī";
	dict[161574] = "sù";
	dict[161575] = "chuāng";
	dict[161585] = "cuì";
	dict[161586] = "tuò";
	dict[161597] = "xuán";
	dict[161602] = "hè";
	dict[161603] = "jué";
	dict[161606] = "tì";
	dict[161607] = "fèi";
	dict[161609] = "zhǐ";
	dict[161610] = "shì";
	dict[161611] = "tuí";
	dict[161614] = "chōng,chuáng,chóng";
	dict[161616] = "tì";
	dict[161617] = "zhàn";
	dict[161618] = "héng";
	dict[161620] = "qú";
	dict[161621] = "wéi";
	dict[161623] = "dūn";
	dict[161624] = "bào";
	dict[161628] = "liáo";
	dict[161636] = "sī";
	dict[161642] = "biǎo";
	dict[161643] = "xiè";
	dict[161644] = "bié,bì";
	dict[161646] = "cǒng";
	dict[161650] = "jù";
	dict[161651] = "hé";
	dict[161653] = "dié";
	dict[161655] = "kuì";
	dict[161656] = "yōng";
	dict[161657] = "luǒ";
	dict[161664] = "shù";
	dict[161677] = "niè";
	dict[161679] = "yú";
	dict[161680] = "zhuó";
	dict[161681] = "méng";
	dict[161682] = "hú";
	dict[161683] = "zī";
	dict[161684] = "jiè";
	dict[161685] = "liè";
	dict[161693] = "jiē";
	dict[161694] = "xióng";
	dict[161699] = "yǎn";
	dict[161705] = "jié";
	dict[161706] = "là";
	dict[161707] = "shù";
	dict[161708] = "jié";
	dict[161709] = "léi";
	dict[161712] = "zú";
	dict[161714] = "shì";
	dict[161720] = "wéi,suì";
	dict[161721] = "dū";
	dict[161722] = "sù";
	dict[161723] = "xiāng";
	dict[161731] = "xié";
	dict[161732] = "ráng";
	dict[161740] = "luò";
	dict[161745] = "qiān";
	dict[161752] = "nàng";
	dict[161753] = "líng";
	dict[161756] = "jì";
	dict[161760] = "mìng";
	dict[161763] = "gǔ";
	dict[161768] = "xuán";
	dict[161772] = "xū";
	dict[161776] = "fiào";
	dict[161777] = "bó";
	dict[161781] = "bó";
	dict[161788] = "wēi";
	dict[161794] = "kū";
	dict[161798] = "wǎn";
	dict[161800] = "chà";
	dict[161802] = "mào";
	dict[161803] = "kè";
	dict[161806] = "cì";
	dict[161810] = "xiàn";
	dict[161811] = "mò";
	dict[161818] = "hūn";
	dict[161819] = "chàn";
	dict[161820] = "shī";
	dict[161821] = "zhěn";
	dict[161822] = "è";
	dict[161823] = "mí";
	dict[161825] = "shī";
	dict[161826] = "qū";
	dict[161827] = "shū";
	dict[161829] = "cī";
	dict[161830] = "yǎn";
	dict[161833] = "hū";
	dict[161834] = "qī";
	dict[161835] = "zhì,dí,chì";
	dict[161836] = "huāng";
	dict[161844] = "zhǐ";
	dict[161846] = "yǒu";
	dict[161852] = "gào";
	dict[161853] = "yǎo";
	dict[161854] = "pōu";
	dict[161863] = "yí";
	dict[161864] = "chèng";
	dict[161865] = "jì";
	dict[161867] = "ǎi,yá";
	dict[161869] = "dòng";
	dict[161870] = "nì";
	dict[161871] = "suì";
	dict[161873] = "jiù";
	dict[161880] = "qì,qīn";
	dict[161881] = "lián";
	dict[161882] = "xuǎn";
	dict[161884] = "liǎo";
	dict[161889] = "yùn";
	dict[161890] = "xuǎn";
	dict[161891] = "cóu";
	dict[161892] = "piān";
	dict[161894] = "kuí";
	dict[161896] = "tí";
	dict[161897] = "huǎn";
	dict[161898] = "dān,dàn";
	dict[161899] = "guì,kuì";
	dict[161900] = "chēn";
	dict[161902] = "shǎng";
	dict[161903] = "jì";
	dict[161908] = "liàn";
	dict[161909] = "kān";
	dict[161910] = "shèng";
	dict[161912] = "dōu";
	dict[161913] = "yóu";
	dict[161914] = "qí";
	dict[161916] = "xiǎo";
	dict[161922] = "yì";
	dict[161923] = "lóu";
	dict[161924] = "piǎo";
	dict[161926] = "chuāng";
	dict[161931] = "lào";
	dict[161932] = "gāo";
	dict[161936] = "zēng";
	dict[161938] = "wéi,wěi";
	dict[161942] = "jiān";
	dict[161947] = "yīng";
	dict[161948] = "fán";
	dict[161949] = "lì";
	dict[161950] = "qiān";
	dict[161954] = "yào";
	dict[161958] = "kuī,kuí,guì";
	dict[161959] = "wéi";
	dict[161961] = "què";
	dict[161964] = "xiǎo";
	dict[161965] = "què";
	dict[161968] = "hū";
	dict[161973] = "duō";
	dict[161974] = "chù";
	dict[161977] = "shēn,jīn";
	dict[161979] = "chù";
	dict[161980] = "zhuó";
	dict[161981] = "é";
	dict[161982] = "jì";
	dict[161985] = "tán";
	dict[161987] = "pā";
	dict[161992] = "chù";
	dict[161995] = "jiè";
	dict[161996] = "qiào";
	dict[162001] = "qián";
	dict[162002] = "jù";
	dict[162005] = "qiú";
	dict[162006] = "tuó";
	dict[162010] = "nuò";
	dict[162011] = "sì";
	dict[162015] = "yí";
	dict[162017] = "gǔ";
	dict[162018] = "hùn";
	dict[162019] = "pá";
	dict[162020] = "zī";
	dict[162022] = "jiāo";
	dict[162025] = "xǐ";
	dict[162026] = "shǎo,shào";
	dict[162028] = "yí";
	dict[162029] = "zhì";
	dict[162037] = "lùn";
	dict[162039] = "zhōu";
	dict[162040] = "jué";
	dict[162041] = "tán";
	dict[162042] = "nuò,chuò";
	dict[162043] = "jù";
	dict[162044] = "hú";
	dict[162046] = "zhì";
	dict[162051] = "bī";
	dict[162061] = "chì,tì";
	dict[162062] = "xuān";
	dict[162063] = "jí";
	dict[162064] = "guǎ";
	dict[162065] = "jú";
	dict[162066] = "wò";
	dict[162067] = "tuó";
	dict[162069] = "qiú";
	dict[162070] = "wēi";
	dict[162071] = "duān";
	dict[162073] = "shòu";
	dict[162075] = "zhěn";
	dict[162076] = "nè,lì";
	dict[162079] = "xì";
	dict[162080] = "zhé";
	dict[162081] = "zhì";
	dict[162083] = "ná";
	dict[162088] = "jiān";
	dict[162094] = "yáo";
	dict[162095] = "guó,yuè";
	dict[162098] = "dǐ";
	dict[162100] = "huò";
	dict[162101] = "jīng";
	dict[162108] = "jué";
	dict[162109] = "yuè,jiàn";
	dict[162116] = "jí";
	dict[162118] = "sù";
	dict[162120] = "jiān";
	dict[162122] = "kūn";
	dict[162123] = "wò";
	dict[162124] = "kuàng";
	dict[162125] = "biāo";
	dict[162126] = "jué";
	dict[162129] = "bì";
	dict[162131] = "chán";
	dict[162133] = "zī";
	dict[162134] = "lì,shǐ";
	dict[162138] = "fó";
	dict[162139] = "qiǎn";
	dict[162140] = "yǎn";
	dict[162142] = "tàn";
	dict[162143] = "mò";
	dict[162147] = "kòu";
	dict[162148] = "xī,xiē";
	dict[162158] = "hù,dǐ";
	dict[162159] = "hù";
	dict[162161] = "fú";
	dict[162164] = "yàng";
	dict[162165] = "guò";
	dict[162167] = "rén";
	dict[162168] = "yìn";
	dict[162169] = "fēng";
	dict[162170] = "jùn,yùn";
	dict[162172] = "yún";
	dict[162175] = "xùn";
	dict[162177] = "xì";
	dict[162190] = "xiā";
	dict[162193] = "háng";
	dict[162202] = "hù,dǐ";
	dict[162205] = "hū,hào";
	dict[162206] = "pù";
	dict[162207] = "fān";
	dict[162212] = "jiā";
	dict[162215] = "yí,tuō";
	dict[162221] = "tuō,xī";
	dict[162222] = "ná";
	dict[162228] = "chá";
	dict[162232] = "yín";
	dict[162233] = "yìn";
	dict[162241] = "yuǎn";
	dict[162243] = "jì";
	dict[162244] = "wàng";
	dict[162245] = "shì,jiàn";
	dict[162246] = "duī";
	dict[162247] = "duò";
	dict[162249] = "tuó";
	dict[162250] = "wā";
	dict[162251] = "lì";
	dict[162255] = "rè,rě";
	dict[162258] = "cì";
	dict[162259] = "xù";
	dict[162260] = "zhōu";
	dict[162261] = "zì";
	dict[162267] = "nán";
	dict[162268] = "wǎng";
	dict[162269] = "yǎ";
	dict[162271] = "jì";
	dict[162272] = "chǎo";
	dict[162281] = "jí";
	dict[162284] = "zhí,xiè";
	dict[162285] = "gàng";
	dict[162288] = "zhǐ";
	dict[162293] = "shǎn";
	dict[162294] = "tú";
	dict[162296] = "bié";
	dict[162297] = "xì";
	dict[162298] = "pī";
	dict[162299] = "zhà";
	dict[162302] = "huì";
	dict[162304] = "suō,zuò";
	dict[162306] = "hè";
	dict[162308] = "yuē";
	dict[162310] = "wū,huǎng";
	dict[162312] = "líng,wū";
	dict[162314] = "zhà";
	dict[162315] = "huá";
	dict[162327] = "chán";
	dict[162335] = "è";
	dict[162337] = "chén";
	dict[162338] = "xiáng";
	dict[162343] = "suì";
	dict[162345] = "tiǎn";
	dict[162352] = "zhì";
	dict[162353] = "tì";
	dict[162354] = "āo";
	dict[162355] = "zhuó";
	dict[162356] = "zì";
	dict[162357] = "kē";
	dict[162359] = "sè";
	dict[162360] = "tián";
	dict[162361] = "lù";
	dict[162366] = "shán";
	dict[162367] = "zhǎ";
	dict[162371] = "chōng";
	dict[162373] = "yàn";
	dict[162386] = "mǔ";
	dict[162387] = "hū";
	dict[162394] = "chī";
	dict[162397] = "sù";
	dict[162403] = "nǎo";
	dict[162406] = "jí";
	dict[162407] = "duó";
	dict[162408] = "hòu";
	dict[162410] = "còng";
	dict[162411] = "zhā,chà";
	dict[162412] = "yín";
	dict[162414] = "xiǎo,sǒu,sòu";
	dict[162416] = "biàn";
	dict[162417] = "bèng";
	dict[162418] = "là";
	dict[162420] = "chī,chì";
	dict[162422] = "qià";
	dict[162424] = "ān";
	dict[162425] = "shī,yǐ";
	dict[162428] = "chì,zhǐ";
	dict[162437] = "nù";
	dict[162439] = "jì";
	dict[162451] = "ǒu";
	dict[162453] = "xiā";
	dict[162456] = "chài,cuǒ,jiē";
	dict[162458] = "ái";
	dict[162461] = "shèng";
	dict[162462] = "hé,gé";
	dict[162464] = "jí";
	dict[162465] = "chī";
	dict[162466] = "xì";
	dict[162467] = "zhēng";
	dict[162470] = "tā";
	dict[162472] = "mà";
	dict[162475] = "pī";
	dict[162478] = "xū,huá";
	dict[162479] = "qiǎn";
	dict[162487] = "xī";
	dict[162489] = "xià";
	dict[162506] = "yù";
	dict[162513] = "jié";
	dict[162514] = "xià";
	dict[162515] = "lǔ";
	dict[162517] = "qiè";
	dict[162519] = "chà";
	dict[162523] = "yàng";
	dict[162524] = "jì";
	dict[162525] = "shǎ";
	dict[162526] = "lòu";
	dict[162528] = "jī";
	dict[162529] = "zhì";
	dict[162530] = "wàng";
	dict[162532] = "bì";
	dict[162533] = "ān";
	dict[162534] = "yī";
	dict[162535] = "ān,àn";
	dict[162540] = "lí";
	dict[162553] = "xiān";
	dict[162558] = "jiù";
	dict[162559] = "tǎn";
	dict[162561] = "hào";
	dict[162562] = "hè";
	dict[162565] = "zhā";
	dict[162566] = "zhǎn";
	dict[162567] = "yì";
	dict[162568] = "xì";
	dict[162570] = "xì,sí";
	dict[162571] = "fà";
	dict[162572] = "yán";
	dict[162575] = "mǔ";
	dict[162581] = "gū";
	dict[162590] = "yún";
	dict[162596] = "zhòng";
	dict[162598] = "chǎn";
	dict[162599] = "chuáng";
	dict[162600] = "huì";
	dict[162601] = "zá";
	dict[162602] = "gùn";
	dict[162603] = "jiǎn";
	dict[162604] = "yá";
	dict[162606] = "guà";
	dict[162608] = "xiàng,xiǎng";
	dict[162609] = "hè";
	dict[162619] = "tà";
	dict[162627] = "dàn";
	dict[162631] = "mián";
	dict[162632] = "níng,nìng";
	dict[162634] = "méng";
	dict[162636] = "liè";
	dict[162637] = "zhòu";
	dict[162638] = "pū";
	dict[162639] = "tāi";
	dict[162643] = "yíng";
	dict[162644] = "téng";
	dict[162645] = "guó";
	dict[162650] = "qiáng";
	dict[162652] = "lǜ";
	dict[162653] = "sà";
	dict[162654] = "liè";
	dict[162655] = "chí";
	dict[162656] = "xiě";
	dict[162659] = "guó";
	dict[162660] = "bào,báo";
	dict[162661] = "luò";
	dict[162662] = "juàn,xuān";
	dict[162666] = "è";
	dict[162669] = "yìng";
	dict[162675] = "hé";
	dict[162677] = "mèi";
	dict[162680] = "xiè";
	dict[162681] = "pín";
	dict[162683] = "hān";
	dict[162684] = "chèn";
	dict[162685] = "shàn";
	dict[162686] = "huì";
	dict[162694] = "yīng";
	dict[162695] = "mài";
	dict[162696] = "jiǎn";
	dict[162701] = "ān";
	dict[162705] = "tà";
	dict[162706] = "yī";
	dict[162707] = "tuí";
	dict[162711] = "liú";
	dict[162713] = "zuó";
	dict[162714] = "mài";
	dict[162715] = "lí";
	dict[162717] = "pín";
	dict[162718] = "xuè";
	dict[162720] = "nèn";
	dict[162721] = "dòu";
	dict[162724] = "lǎn";
	dict[162730] = "zhān";
	dict[162731] = "jué";
	dict[162732] = "zhēn,jué";
	dict[162733] = "jí";
	dict[162734] = "qiān";
	dict[162735] = "hóng";
	dict[162736] = "hān";
	dict[162737] = "fén";
	dict[162739] = "hān";
	dict[162740] = "hóng";
	dict[162741] = "hé";
	dict[162742] = "hóu";
	dict[162746] = "zhàn";
	dict[162747] = "chóu,xiāo";
	dict[162748] = "tài";
	dict[162749] = "qiàn";
	dict[162751] = "shè";
	dict[162752] = "yīng";
	dict[162755] = "qīn";
	dict[162758] = "huò";
	dict[162760] = "xì";
	dict[162761] = "hè";
	dict[162762] = "xì";
	dict[162763] = "xiā";
	dict[162764] = "hāo";
	dict[162765] = "lào";
	dict[162767] = "lì";
	dict[162770] = "chēng";
	dict[162774] = "jùn";
	dict[162775] = "xī";
	dict[162776] = "hǎn";
	dict[162782] = "dòu,dōu";
	dict[162784] = "dōu";
	dict[162785] = "wān,yuè";
	dict[162788] = "dōu";
	dict[162789] = "zài";
	dict[162790] = "juàn";
	dict[162792] = "lǒu";
	dict[162793] = "chù";
	dict[162795] = "zhēng";
	dict[162799] = "qí";
	dict[162800] = "kàn";
	dict[162801] = "huò,yù";
	dict[162802] = "lái";
	dict[162807] = "jǐn";
	dict[162810] = "gāi";
	dict[162812] = "shòu";
	dict[162814] = "dōng";
	dict[162818] = "tā";
	dict[162819] = "lóu";
	dict[162820] = "tuān";
	dict[162823] = "yú";
	dict[162824] = "wù";
	dict[162826] = "tián";
	dict[162834] = "guó";
	dict[162840] = "tán";
	dict[162841] = "qí";
	dict[162848] = "liè";
	dict[162849] = "lì";
	dict[162851] = "xūn";
	dict[162856] = "gèng";
	dict[162857] = "tīng";
	dict[162858] = "hàn";
	dict[162859] = "chù";
	dict[162861] = "tún";
	dict[162863] = "xióng";
	dict[162864] = "yóu";
	dict[162865] = "mò";
	dict[162866] = "chǐ";
	dict[162868] = "hǔ";
	dict[162869] = "dú,zhuó";
	dict[162871] = "mǔ";
	dict[162872] = "ài";
	dict[162873] = "nà";
	dict[162875] = "líng";
	dict[162879] = "ài";
	dict[162880] = "xiān";
	dict[162884] = "kǎn";
	dict[162885] = "sì";
	dict[162886] = "sān";
	dict[162890] = "yì";
	dict[162895] = "yì";
	dict[162896] = "xiào,xiāo";
	dict[162898] = "zhī,zhuō";
	dict[162899] = "dòu";
	dict[162904] = "mài";
	dict[162908] = "lún";
	dict[162909] = "jué,jùn";
	dict[162913] = "qiāng";
	dict[162914] = "líng";
	dict[162921] = "pián";
	dict[162922] = "còu";
	dict[162923] = "duò";
	dict[162924] = "yǔ";
	dict[162928] = "zhuō";
	dict[162930] = "xì";
	dict[162931] = "huài";
	dict[162932] = "míng";
	dict[162933] = "táng";
	dict[162937] = "pū";
	dict[162939] = "mì";
	dict[162940] = "mán";
	dict[162942] = "guāi";
	dict[162944] = "qiān";
	dict[162946] = "lín";
	dict[162947] = "mǐn";
	dict[162948] = "wěi";
	dict[162949] = "céng";
	dict[162951] = "hù";
	dict[162952] = "suí";
	dict[162955] = "jù";
	dict[162956] = "shà";
	dict[162957] = "méng";
	dict[162965] = "lóu";
	dict[162967] = "wéi";
	dict[162968] = "xī";
	dict[162969] = "lìng";
	dict[162972] = "bì";
	dict[162973] = "wèi";
	dict[162977] = "lì";
	dict[162978] = "zhé";
	dict[162980] = "yóng";
	dict[162981] = "hú";
	dict[162982] = "wán,hé";
	dict[162983] = "bā";
	dict[162984] = "jiān";
	dict[162989] = "zuǒ";
	dict[162990] = "zhǎn";
	dict[162991] = "bō";
	dict[162992] = "qiū,chū";
	dict[162993] = "yāng";
	dict[162996] = "dōng";
	dict[162997] = "qú";
	dict[163002] = "pí";
	dict[163003] = "zhǎi";
	dict[163006] = "shān";
	dict[163007] = "gòu";
	dict[163008] = "biào,nǎo";
	dict[163009] = "yí";
	dict[163010] = "fú";
	dict[163012] = "xìn";
	dict[163013] = "shì,shǐ";
	dict[163014] = "tōng,tóng";
	dict[163017] = "dīng";
	dict[163020] = "tū";
	dict[163021] = "xiāo";
	dict[163022] = "wú";
	dict[163023] = "péi";
	dict[163024] = "huī,xī";
	dict[163026] = "mào";
	dict[163029] = "lái";
	dict[163033] = "sì";
	dict[163034] = "cuǐ";
	dict[163035] = "shà";
	dict[163036] = "zhǒu";
	dict[163037] = "zhào";
	dict[163038] = "wéi";
	dict[163039] = "lái";
	dict[163040] = "bì,bǐ";
	dict[163043] = "dǒng";
	dict[163046] = "nǎo";
	dict[163047] = "xiē";
	dict[163048] = "rǎo";
	dict[163049] = "tuàn";
	dict[163050] = "wèi";
	dict[163051] = "yóu,jiū,qiú,yòu";
	dict[163052] = "méi";
	dict[163053] = "yuán";
	dict[163054] = "zhòng";
	dict[163062] = "sōu";
	dict[163064] = "gú";
	dict[163065] = "shào";
	dict[163066] = "nǎo";
	dict[163067] = "zhǎo";
	dict[163068] = "pí";
	dict[163071] = "tōng";
	dict[163073] = "chī";
	dict[163074] = "péng";
	dict[163075] = "chán";
	dict[163076] = "yōng";
	dict[163077] = "shuǎng";
	dict[163079] = "wǔ";
	dict[163081] = "pí";
	dict[163082] = "huàn";
	dict[163084] = "fú";
	dict[163086] = "biào";
	dict[163091] = "náo";
	dict[163093] = "biào";
	dict[163094] = "wèi";
	dict[163095] = "yōng";
	dict[163097] = "nǎo";
	dict[163098] = "guài";
	dict[163104] = "lì";
	dict[163106] = "xìn";
	dict[163107] = "yán";
	dict[163108] = "pò";
	dict[163109] = "péi";
	dict[163114] = "suǒ";
	dict[163116] = "rèn";
	dict[163117] = "shǎn";
	dict[163122] = "suǒ";
	dict[163128] = "dān";
	dict[163130] = "mèn";
	dict[163139] = "shǒu";
	dict[163144] = "gòu";
	dict[163146] = "hān,hàn,tàn";
	dict[163147] = "shì";
	dict[163148] = "yǎng";
	dict[163150] = "gǔ";
	dict[163153] = "gǔ";
	dict[163163] = "kē";
	dict[163166] = "jū";
	dict[163168] = "pài";
	dict[163169] = "cè";
	dict[163170] = "bāo";
	dict[163171] = "xiōng,mín";
	dict[163172] = "cái,zhù";
	dict[163175] = "lǐn";
	dict[163176] = "ài";
	dict[163180] = "mì,shèn";
	dict[163181] = "lǎi";
	dict[163185] = "xiāo";
	dict[163187] = "shé";
	dict[163188] = "zhù";
	dict[163195] = "huó";
	dict[163196] = "nì";
	dict[163204] = "zhèng";
	dict[163206] = "lìn";
	dict[163207] = "zhá";
	dict[163210] = "yún";
	dict[163213] = "xù";
	dict[163220] = "chéng";
	dict[163221] = "wǒ";
	dict[163222] = "xī";
	dict[163225] = "bèi";
	dict[163228] = "shāng,shǎng";
	dict[163232] = "yù";
	dict[163233] = "mì";
	dict[163250] = "duǎn,zhuàn";
	dict[163253] = "chà";
	dict[163255] = "zé";
	dict[163256] = "chèng";
	dict[163258] = "tíng";
	dict[163269] = "yí";
	dict[163275] = "yāo";
	dict[163278] = "kū";
	dict[163280] = "fén";
	dict[163281] = "xié";
	dict[163282] = "chèng";
	dict[163291] = "kuì";
	dict[163295] = "bīn";
	dict[163297] = "lóu,lòu";
	dict[163301] = "yì";
	dict[163302] = "mì";
	dict[163303] = "xiè";
	dict[163313] = "guī";
	dict[163315] = "luó";
	dict[163316] = "huò";
	dict[163318] = "shàn";
	dict[163326] = "jú";
	dict[163327] = "dū";
	dict[163330] = "xiān";
	dict[163333] = "zhǐ";
	dict[163336] = "bìn";
	dict[163349] = "zhǐ";
	dict[163350] = "zhuàn,lián";
	dict[163351] = "xué";
	dict[163352] = "liàn,biǎn,jiǎn";
	dict[163353] = "suì";
	dict[163366] = "làn";
	dict[163367] = "jù";
	dict[163368] = "mián";
	dict[163369] = "xùn";
	dict[163370] = "zhàn";
	dict[163371] = "gùn";
	dict[163374] = "wéi";
	dict[163378] = "zhì";
	dict[163389] = "wèi";
	dict[163390] = "quǎn,xuàn";
	dict[163391] = "chài";
	dict[163400] = "réng";
	dict[163402] = "yuè";
	dict[163404] = "zī";
	dict[163408] = "luò";
	dict[163419] = "zhī";
	dict[163422] = "nǎn,niǎn";
	dict[163427] = "hān";
	dict[163432] = "xī";
	dict[163433] = "lín";
	dict[163436] = "yān";
	dict[163437] = "xù";
	dict[163442] = "hù";
	dict[163443] = "gàn";
	dict[163444] = "xù,huò";
	dict[163446] = "xì";
	dict[163450] = "cuì";
	dict[163453] = "xì";
	dict[163454] = "hú";
	dict[163461] = "yān";
	dict[163462] = "zǒu";
	dict[163469] = "péi";
	dict[163470] = "yì";
	dict[163471] = "chí";
	dict[163472] = "jué";
	dict[163474] = "zú";
	dict[163484] = "jiào";
	dict[163485] = "yì";
	dict[163487] = "tǎn";
	dict[163488] = "chì";
	dict[163489] = "bá";
	dict[163490] = "tòu,yì";
	dict[163491] = "zōng";
	dict[163492] = "qiú,jū";
	dict[163495] = "chì";
	dict[163496] = "xǐ";
	dict[163499] = "qǐ";
	dict[163504] = "nì";
	dict[163506] = "cū";
	dict[163508] = "wǔ";
	dict[163510] = "chù";
	dict[163511] = "sū";
	dict[163512] = "yóng";
	dict[163513] = "jǔ";
	dict[163514] = "bá";
	dict[163516] = "cǐ";
	dict[163517] = "dì";
	dict[163518] = "pǎn";
	dict[163519] = "chì,yì";
	dict[163521] = "qiǔ";
	dict[163523] = "yán,qù";
	dict[163533] = "zhǎi";
	dict[163538] = "xiàn";
	dict[163539] = "bèng";
	dict[163540] = "kuāng";
	dict[163541] = "qì";
	dict[163542] = "zhōu";
	dict[163543] = "jú";
	dict[163544] = "qiè";
	dict[163545] = "mò,pò";
	dict[163546] = "yuán";
	dict[163548] = "guì,kuǐ";
	dict[163549] = "zuī";
	dict[163559] = "qiè";
	dict[163568] = "hú,zào";
	dict[163569] = "qiú";
	dict[163570] = "hái,kuī";
	dict[163571] = "fù";
	dict[163572] = "làng";
	dict[163573] = "shà";
	dict[163574] = "xī";
	dict[163575] = "bū";
	dict[163576] = "shì";
	dict[163577] = "yǒng";
	dict[163578] = "guāng,kuāng";
	dict[163580] = "niè";
	dict[163583] = "hǒu";
	dict[163594] = "mì";
	dict[163598] = "è";
	dict[163599] = "xián";
	dict[163600] = "yǔn,qūn";
	dict[163601] = "xù";
	dict[163602] = "qǐn";
	dict[163603] = "dōng";
	dict[163604] = "léng";
	dict[163605] = "qì";
	dict[163606] = "lán";
	dict[163607] = "fú";
	dict[163608] = "qǐ";
	dict[163609] = "chǒng";
	dict[163612] = "cù";
	dict[163615] = "mò";
	dict[163616] = "bēi";
	dict[163620] = "dào";
	dict[163624] = "jié,jué";
	dict[163625] = "chòng,dòng";
	dict[163626] = "chì";
	dict[163627] = "yù";
	dict[163628] = "cuī";
	dict[163629] = "sù,sōu,sǒu,qiù";
	dict[163630] = "tì";
	dict[163631] = "shù,yú";
	dict[163632] = "zhá";
	dict[163633] = "fú,bí";
	dict[163635] = "chè";
	dict[163636] = "fó,zhì";
	dict[163637] = "hóu";
	dict[163638] = "zhá";
	dict[163652] = "jié";
	dict[163653] = "zhá";
	dict[163654] = "zhān";
	dict[163657] = "yǎn";
	dict[163658] = "hái";
	dict[163659] = "wǔ";
	dict[163660] = "huá";
	dict[163661] = "diān,diàn";
	dict[163662] = "yáo";
	dict[163663] = "sōu";
	dict[163664] = "qiān";
	dict[163665] = "jí";
	dict[163666] = "xiòng";
	dict[163667] = "qì";
	dict[163668] = "jūn";
	dict[163670] = "hái";
	dict[163678] = "yǎn";
	dict[163679] = "jié";
	dict[163680] = "cuī";
	dict[163682] = "tuán";
	dict[163683] = "zhāng";
	dict[163684] = "piāo";
	dict[163685] = "lù";
	dict[163686] = "zhī";
	dict[163687] = "chù";
	dict[163688] = "mì";
	dict[163689] = "qiāng";
	dict[163691] = "liàn";
	dict[163695] = "jiàn";
	dict[163698] = "lì";
	dict[163702] = "é";
	dict[163703] = "sù";
	dict[163704] = "jué,guì";
	dict[163707] = "jú";
	dict[163708] = "tán";
	dict[163709] = "liáo";
	dict[163710] = "sān,cún";
	dict[163711] = "dòng";
	dict[163713] = "zá";
	dict[163714] = "zhí";
	dict[163718] = "xuàn";
	dict[163719] = "líng";
	dict[163722] = "dēng";
	dict[163725] = "zhān,zhàn,chán";
	dict[163726] = "xuān";
	dict[163727] = "qǐn";
	dict[163728] = "jiào";
	dict[163729] = "pì";
	dict[163732] = "hǎn";
	dict[163738] = "yú";
	dict[163739] = "guó";
	dict[163741] = "xún";
	dict[163744] = "xún";
	dict[163745] = "chán";
	dict[163746] = "jié,jí";
	dict[163747] = "jú";
	dict[163748] = "yǎn";
	dict[163749] = "dú";
	dict[163751] = "hòng";
	dict[163752] = "xiàn,xiǎn";
	dict[163753] = "xún,xuàn";
	dict[163755] = "biān";
	dict[163758] = "líng";
	dict[163759] = "jié";
	dict[163760] = "yì";
	dict[163761] = "qú";
	dict[163762] = "gān";
	dict[163763] = "fēng";
	dict[163765] = "jué";
	dict[163766] = "qū";
	dict[163771] = "jiù";
	dict[163773] = "jì";
	dict[163774] = "jǐ";
	dict[163781] = "xí";
	dict[163782] = "pāng";
	dict[163785] = "kù,wù";
	dict[163787] = "kù";
	dict[163788] = "zhà";
	dict[163791] = "bà";
	dict[163794] = "chěn";
	dict[163795] = "hù";
	dict[163796] = "nù";
	dict[163797] = "é";
	dict[163798] = "xiōng";
	dict[163799] = "dǔn";
	dict[163800] = "shēng";
	dict[163801] = "wán";
	dict[163802] = "fēn";
	dict[163805] = "xī";
	dict[163806] = "zī";
	dict[163808] = "hù,dì";
	dict[163813] = "bié";
	dict[163815] = "tuò";
	dict[163816] = "bǎn";
	dict[163817] = "gé";
	dict[163819] = "kē";
	dict[163826] = "zhuì,bó";
	dict[163827] = "fú,fèi";
	dict[163828] = "mò";
	dict[163829] = "jiá";
	dict[163830] = "tuó";
	dict[163831] = "yù";
	dict[163833] = "mǔ";
	dict[163834] = "jué";
	dict[163835] = "jú";
	dict[163836] = "guā";
	dict[163837] = "pǒ";
	dict[163840] = "nǐ,niǎn";
	dict[163844] = "wǎ";
	dict[163845] = "yǎn";
	dict[163860] = "chǒu";
	dict[163861] = "kuāng";
	dict[163862] = "hài";
	dict[163864] = "xiáng";
	dict[163865] = "xī";
	dict[163867] = "cún";
	dict[163868] = "tōng";
	dict[163869] = "ruò";
	dict[163871] = "duó";
	dict[163872] = "chè";
	dict[163876] = "lèi";
	dict[163877] = "zī";
	dict[163879] = "zhěng";
	dict[163880] = "zuǒ";
	dict[163883] = "kāng";
	dict[163884] = "zài";
	dict[163886] = "yuān,xuān";
	dict[163887] = "qióng";
	dict[163891] = "fá";
	dict[163892] = "xún";
	dict[163893] = "zhuàng";
	dict[163894] = "jì";
	dict[163896] = "chā";
	dict[163904] = "shū,chōu";
	dict[163905] = "xuàn";
	dict[163906] = "xié";
	dict[163907] = "tī";
	dict[163908] = "hàn";
	dict[163909] = "xiān";
	dict[163910] = "shān";
	dict[163911] = "tùn";
	dict[163912] = "háng,gēng";
	dict[163913] = "kǔn";
	dict[163914] = "cén";
	dict[163915] = "dōu";
	dict[163916] = "nuó";
	dict[163917] = "yàn";
	dict[163918] = "chéng,jìng";
	dict[163919] = "pū";
	dict[163920] = "qì";
	dict[163921] = "yuè";
	dict[163922] = "fū";
	dict[163927] = "tǐng";
	dict[163935] = "wǒ";
	dict[163936] = "shēng";
	dict[163937] = "tuǒ";
	dict[163958] = "yǎ,yā";
	dict[163959] = "zhì";
	dict[163960] = "lù,lì";
	dict[163961] = "yǎn";
	dict[163962] = "jū";
	dict[163965] = "dé";
	dict[163967] = "chù,zhuó";
	dict[163968] = "zǔ";
	dict[163969] = "è";
	dict[163970] = "zhí,xuě";
	dict[163971] = "péng";
	dict[163973] = "biē";
	dict[163975] = "dǐ";
	dict[163978] = "zhōu";
	dict[163979] = "jī";
	dict[163984] = "lái";
	dict[163986] = "yè";
	dict[163996] = "háo";
	dict[163997] = "pán";
	dict[163998] = "tàn";
	dict[163999] = "kāng";
	dict[164e3] = "xū,lǚ";
	dict[164001] = "zòu";
	dict[164002] = "jì";
	dict[164003] = "wù";
	dict[164006] = "chuàn";
	dict[164009] = "pò";
	dict[164010] = "yǎn";
	dict[164011] = "tuò";
	dict[164013] = "dú";
	dict[164015] = "pián";
	dict[164016] = "chì";
	dict[164017] = "hùn";
	dict[164018] = "pīng";
	dict[164020] = "cōng";
	dict[164021] = "zhǎ";
	dict[164027] = "dǎo";
	dict[164029] = "dàn";
	dict[164030] = "nàn";
	dict[164035] = "è";
	dict[164036] = "wèi";
	dict[164037] = "bāi";
	dict[164039] = "jiāng";
	dict[164041] = "zhì";
	dict[164051] = "chá";
	dict[164053] = "chù";
	dict[164054] = "kuà";
	dict[164055] = "téng";
	dict[164056] = "zōu,qū";
	dict[164057] = "lì";
	dict[164058] = "tà";
	dict[164059] = "sà";
	dict[164062] = "pán";
	dict[164063] = "pán";
	dict[164067] = "sào";
	dict[164068] = "qiāo,kào";
	dict[164073] = "xiàn";
	dict[164077] = "zú";
	dict[164079] = "zhì";
	dict[164080] = "yǎn";
	dict[164082] = "jié";
	dict[164083] = "néng";
	dict[164101] = "qū";
	dict[164103] = "dèng,téng";
	dict[164104] = "liáng";
	dict[164105] = "chǎn";
	dict[164106] = "qiè";
	dict[164107] = "lòu";
	dict[164108] = "dié,xiè";
	dict[164109] = "cuī";
	dict[164112] = "jǐ";
	dict[164115] = "cháo";
	dict[164116] = "shuàn";
	dict[164117] = "zú";
	dict[164119] = "kāng";
	dict[164122] = "qiāng";
	dict[164123] = "lí";
	dict[164142] = "shuāi";
	dict[164143] = "yù";
	dict[164144] = "zhāng";
	dict[164145] = "lěi";
	dict[164165] = "pó";
	dict[164170] = "zhé,chè";
	dict[164171] = "xiào";
	dict[164173] = "tǎn";
	dict[164174] = "cuì";
	dict[164175] = "lán";
	dict[164177] = "xū";
	dict[164178] = "shù,chú";
	dict[164179] = "zhǎ,dá";
	dict[164180] = "cán";
	dict[164183] = "bǐ";
	dict[164184] = "pèng";
	dict[164189] = "chéng";
	dict[164195] = "qiáo";
	dict[164196] = "jī";
	dict[164202] = "zhāi";
	dict[164205] = "tán";
	dict[164225] = "tiǎn,yǎn";
	dict[164226] = "sà";
	dict[164227] = "jīn";
	dict[164228] = "zhù";
	dict[164229] = "duò";
	dict[164231] = "chà";
	dict[164232] = "juàn";
	dict[164233] = "táng";
	dict[164234] = "bèng";
	dict[164235] = "zhī";
	dict[164236] = "fán";
	dict[164237] = "liè";
	dict[164238] = "zéi";
	dict[164239] = "suì";
	dict[164243] = "qín";
	dict[164249] = "sè";
	dict[164263] = "zhì";
	dict[164264] = "tuí";
	dict[164266] = "qīng";
	dict[164268] = "chuò";
	dict[164272] = "tà,dà";
	dict[164273] = "bìng";
	dict[164274] = "wěn";
	dict[164277] = "pǒ";
	dict[164285] = "mó";
	dict[164286] = "cā";
	dict[164289] = "kuàng";
	dict[164291] = "cuó,zuān";
	dict[164292] = "rǎo";
	dict[164293] = "bào";
	dict[164294] = "lài";
	dict[164301] = "niǎn";
	dict[164302] = "lí";
	dict[164309] = "jiǎo";
	dict[164310] = "lú";
	dict[164311] = "lì";
	dict[164312] = "lóng";
	dict[164313] = "guì";
	dict[164317] = "chǎn";
	dict[164324] = "xiān";
	dict[164326] = "chàn";
	dict[164328] = "xiè";
	dict[164329] = "zhàn";
	dict[164335] = "shuāng";
	dict[164347] = "mǐ";
	dict[164348] = "luán";
	dict[164349] = "luò";
	dict[164352] = "diān";
	dict[164358] = "lán";
	dict[164359] = "làn";
	dict[164360] = "dié";
	dict[164362] = "wān";
	dict[164363] = "yuè";
	dict[164364] = "luán";
	dict[164366] = "luán";
	dict[164371] = "léng";
	dict[164373] = "wǎi";
	dict[164375] = "nèn";
	dict[164376] = "shǎo";
	dict[164377] = "xiè,zhī";
	dict[164378] = "pí";
	dict[164389] = "máo";
	dict[164391] = "yǐn";
	dict[164393] = "bó";
	dict[164395] = "zhù";
	dict[164398] = "chōng";
	dict[164406] = "mǔ";
	dict[164407] = "tuó";
	dict[164409] = "tǒng";
	dict[164410] = "yé";
	dict[164417] = "huàng";
	dict[164419] = "rèn";
	dict[164421] = "yè";
	dict[164427] = "tuó";
	dict[164438] = "zuān";
	dict[164442] = "ā";
	dict[164444] = "zhōu";
	dict[164445] = "wān";
	dict[164449] = "duǒ";
	dict[164450] = "zhòng";
	dict[164451] = "hā";
	dict[164452] = "huáng";
	dict[164453] = "miàn,tǐ";
	dict[164457] = "chūn";
	dict[164458] = "qiè";
	dict[164459] = "gōng,qiōng";
	dict[164460] = "tíng";
	dict[164461] = "méi";
	dict[164465] = "tàng";
	dict[164468] = "róng";
	dict[164471] = "róng";
	dict[164472] = "qí";
	dict[164473] = "guó";
	dict[164477] = "xiàng";
	dict[164478] = "tián";
	dict[164485] = "xiāo";
	dict[164488] = "zhān";
	dict[164489] = "cuì";
	dict[164500] = "lán";
	dict[164504] = "shēn,qū";
	dict[164506] = "lěi";
	dict[164507] = "lì";
	dict[164509] = "chān";
	dict[164510] = "niè";
	dict[164511] = "luán";
	dict[164513] = "tīng";
	dict[164514] = "huì,sháo";
	dict[164519] = "gōng";
	dict[164528] = "qì";
	dict[164529] = "yú";
	dict[164531] = "xīn";
	dict[164536] = "yuè";
	dict[164537] = "bā";
	dict[164538] = "dài";
	dict[164539] = "jī";
	dict[164540] = "xuàn";
	dict[164543] = "jué";
	dict[164544] = "niǔ";
	dict[164552] = "dù";
	dict[164553] = "jí";
	dict[164560] = "pā";
	dict[164561] = "gǒng";
	dict[164562] = "bèn";
	dict[164564] = "kēng,jú";
	dict[164565] = "yàng,ǎng";
	dict[164566] = "liǔ";
	dict[164567] = "ní";
	dict[164568] = "zhà";
	dict[164569] = "yìn";
	dict[164570] = "niǎn,ruǎn";
	dict[164571] = "pào";
	dict[164573] = "gōng";
	dict[164574] = "bù";
	dict[164575] = "hé";
	dict[164576] = "rǒng";
	dict[164577] = "guì";
	dict[164581] = "bì";
	dict[164582] = "xī";
	dict[164583] = "jú";
	dict[164584] = "hún";
	dict[164585] = "bì,fú";
	dict[164587] = "tiāo";
	dict[164588] = "zhěng,chèng";
	dict[164591] = "yì";
	dict[164592] = "cì";
	dict[164594] = "bìng";
	dict[164599] = "gōng";
	dict[164602] = "fá";
	dict[164605] = "yáng";
	dict[164606] = "xǔ";
	dict[164609] = "hōng,chūn";
	dict[164612] = "zàng";
	dict[164613] = "chái";
	dict[164614] = "hóng";
	dict[164616] = "tián";
	dict[164620] = "zhī";
	dict[164621] = "xīng";
	dict[164622] = "xú";
	dict[164625] = "zhèn";
	dict[164628] = "wǎn,wàn";
	dict[164632] = "jùn";
	dict[164637] = "wò,huò";
	dict[164640] = "lù";
	dict[164642] = "zhēng";
	dict[164643] = "rǒng";
	dict[164644] = "chéng,chèng";
	dict[164645] = "fú";
	dict[164647] = "è";
	dict[164648] = "tāo";
	dict[164649] = "táng";
	dict[164651] = "juān";
	dict[164652] = "chào";
	dict[164653] = "tà";
	dict[164654] = "dǐ";
	dict[164656] = "zōng";
	dict[164658] = "mǐn";
	dict[164659] = "kēng";
	dict[164660] = "tuī";
	dict[164662] = "kēng";
	dict[164677] = "rǒng";
	dict[164678] = "yūn";
	dict[164679] = "hé";
	dict[164680] = "zǒng";
	dict[164681] = "cōng,zǒng";
	dict[164682] = "qiū";
	dict[164686] = "mù";
	dict[164687] = "duó";
	dict[164688] = "xǔ";
	dict[164689] = "kēng";
	dict[164690] = "xiàn,jiàn";
	dict[164699] = "dú";
	dict[164700] = "kǎn";
	dict[164702] = "yīng";
	dict[164706] = "zī";
	dict[164711] = "huáng";
	dict[164713] = "péng";
	dict[164715] = "lì";
	dict[164717] = "bó,pò";
	dict[164718] = "gé,lì";
	dict[164719] = "jú";
	dict[164720] = "kē";
	dict[164722] = "hú,gǔn";
	dict[164723] = "diāo,yáo";
	dict[164724] = "táng";
	dict[164726] = "qióng";
	dict[164727] = "rǒng";
	dict[164728] = "liǔ";
	dict[164729] = "huì";
	dict[164730] = "jī";
	dict[164733] = "gǔn";
	dict[164745] = "zhì";
	dict[164747] = "táng,chēng";
	dict[164748] = "zhǐ";
	dict[164749] = "kāng,liáng";
	dict[164756] = "yàng";
	dict[164758] = "tǎng,chǎng";
	dict[164759] = "hōng";
	dict[164763] = "liáng";
	dict[164765] = "cáo";
	dict[164769] = "nǎi";
	dict[164770] = "zǒng";
	dict[164772] = "dèng";
	dict[164774] = "jiāo";
	dict[164775] = "péng";
	dict[164777] = "guāng";
	dict[164779] = "jiàn";
	dict[164780] = "jiào";
	dict[164781] = "nuó";
	dict[164782] = "zǎo";
	dict[164787] = "péng";
	dict[164788] = "dāng";
	dict[164790] = "qú";
	dict[164791] = "lián";
	dict[164792] = "mù";
	dict[164793] = "lǎn";
	dict[164798] = "fén";
	dict[164802] = "hún,xuān";
	dict[164806] = "kuāng";
	dict[164808] = "yǐn";
	dict[164809] = "shuàn";
	dict[164810] = "jiàn";
	dict[164818] = "luò,léi";
	dict[164820] = "lù,dú";
	dict[164826] = "gé";
	dict[164827] = "rǎng,niǎn";
	dict[164830] = "pín";
	dict[164832] = "lóng";
	dict[164836] = "zhěn";
	dict[164837] = "xiàn";
	dict[164840] = "lìn";
	dict[164841] = "lián";
	dict[164842] = "shān";
	dict[164843] = "bó";
	dict[164844] = "lì";
	dict[164851] = "xié";
	dict[164852] = "gé";
	dict[164853] = "mǐn";
	dict[164854] = "lián";
	dict[164857] = "jué";
	dict[164858] = "zhōu";
	dict[164863] = "kē";
	dict[164865] = "dié";
	dict[164867] = "zhé";
	dict[164870] = "jī";
	dict[164875] = "qiān";
	dict[164877] = "shēn";
	dict[164880] = "yǐn";
	dict[164881] = "jiè";
	dict[164884] = "shēn";
	dict[164885] = "shēn,cí";
	dict[164886] = "sǎ";
	dict[164891] = "xì";
	dict[164897] = "kù";
	dict[164899] = "qú";
	dict[164901] = "gé";
	dict[164902] = "bàn";
	dict[164904] = "bì";
	dict[164905] = "qiān";
	dict[164912] = "bīn";
	dict[164913] = "bàn";
	dict[164915] = "zuò";
	dict[164916] = "pì";
	dict[164918] = "huò";
	dict[164926] = "bàn,biàn";
	dict[164938] = "nóng";
	dict[164940] = "chén";
	dict[164942] = "pēng";
	dict[164945] = "fǔ";
	dict[164946] = "tú";
	dict[164956] = "pǐ";
	dict[164957] = "pò";
	dict[164960] = "chǐ";
	dict[164963] = "xuè";
	dict[164964] = "qì";
	dict[164965] = "wù";
	dict[164968] = "zhì";
	dict[164969] = "dì";
	dict[164970] = "cōng";
	dict[164971] = "yóu";
	dict[164973] = "xǐ";
	dict[164984] = "ěr";
	dict[164988] = "dì";
	dict[164989] = "zhuó";
	dict[164991] = "zǒu";
	dict[164992] = "cóng";
	dict[164995] = "pàn";
	dict[164996] = "yǎn";
	dict[164997] = "qì";
	dict[164998] = "rǒng";
	dict[164999] = "jiǎ";
	dict[165e3] = "chí";
	dict[165001] = "zhì,zhuì,suì";
	dict[165002] = "qiú";
	dict[165003] = "yuè";
	dict[165004] = "zhēng";
	dict[165005] = "shì";
	dict[165009] = "háo";
	dict[165017] = "tuō,hòu";
	dict[165020] = "bié";
	dict[165022] = "kàn";
	dict[165026] = "chuò";
	dict[165028] = "cǐ";
	dict[165029] = "hòu";
	dict[165030] = "yǐn";
	dict[165031] = "shì";
	dict[165032] = "nài";
	dict[165033] = "ruǎn";
	dict[165035] = "yáng,nì";
	dict[165036] = "chī";
	dict[165038] = "cī";
	dict[165041] = "gōng";
	dict[165042] = "mí,xuè";
	dict[165044] = "jǐ";
	dict[165052] = "gèn";
	dict[165053] = "zào,suō";
	dict[165057] = "běng";
	dict[165063] = "xǐn";
	dict[165064] = "kuò";
	dict[165066] = "dié";
	dict[165069] = "tíng";
	dict[165082] = "shuì";
	dict[165086] = "dài";
	dict[165088] = "dì";
	dict[165094] = "lǐ";
	dict[165096] = "yǒng";
	dict[165097] = "jiāo";
	dict[165100] = "tá";
	dict[165101] = "qǔ,còu";
	dict[165102] = "yín";
	dict[165103] = "yuān";
	dict[165104] = "jié";
	dict[165106] = "qiān";
	dict[165107] = "yāo";
	dict[165108] = "yà";
	dict[165111] = "qīng";
	dict[165119] = "péi";
	dict[165143] = "jiā";
	dict[165145] = "tòu";
	dict[165147] = "tī";
	dict[165153] = "dùn,tún,chuàn,chuán";
	dict[165154] = "chǎn";
	dict[165155] = "jiā,jià";
	dict[165156] = "chì";
	dict[165157] = "jiān,jīn";
	dict[165158] = "shù";
	dict[165167] = "tà";
	dict[165173] = "dùn";
	dict[165205] = "zhī";
	dict[165207] = "yuán";
	dict[165210] = "hū";
	dict[165212] = "liè";
	dict[165216] = "zé";
	dict[165218] = "chù";
	dict[165222] = "qiù";
	dict[165223] = "bēng";
	dict[165241] = "huán";
	dict[165242] = "kuā";
	dict[165243] = "shēng";
	dict[165245] = "jié";
	dict[165247] = "wǎng";
	dict[165251] = "hū";
	dict[165258] = "zé,jī";
	dict[165259] = "zǎn,zhì";
	dict[165260] = "yàng";
	dict[165262] = "chǐ";
	dict[165263] = "jiù";
	dict[165274] = "liáo";
	dict[165275] = "yū";
	dict[165280] = "biǎn,biàn";
	dict[165282] = "kuáng";
	dict[165292] = "chòu";
	dict[165293] = "yá";
	dict[165294] = "zhuó";
	dict[165296] = "qiè";
	dict[165297] = "xiàn";
	dict[165299] = "yuān";
	dict[165300] = "wǔ";
	dict[165301] = "jiǎo";
	dict[165302] = "xiàng";
	dict[165303] = "shà";
	dict[165305] = "zhì";
	dict[165308] = "chòng";
	dict[165310] = "biān";
	dict[165311] = "wēi";
	dict[165331] = "dào";
	dict[165341] = "yù,jú";
	dict[165342] = "tuí";
	dict[165345] = "chào";
	dict[165349] = "huì";
	dict[165350] = "qiǎn";
	dict[165352] = "wěi";
	dict[165360] = "yóu";
	dict[165372] = "dì,dài";
	dict[165374] = "dà";
	dict[165377] = "yóu";
	dict[165378] = "jiù";
	dict[165379] = "tuí";
	dict[165380] = "zǎn";
	dict[165383] = "huì";
	dict[165385] = "shà";
	dict[165388] = "huò";
	dict[165396] = "yáo";
	dict[165397] = "yǔ";
	dict[165401] = "xiàn";
	dict[165406] = "xiàn";
	dict[165410] = "biān";
	dict[165420] = "dì";
	dict[165422] = "jiù";
	dict[165426] = "huì";
	dict[165428] = "kào";
	dict[165429] = "yóu";
	dict[165431] = "miǎo";
	dict[165432] = "lì";
	dict[165436] = "chuán";
	dict[165438] = "chí";
	dict[165440] = "huò";
	dict[165442] = "yóu";
	dict[165444] = "yuè";
	dict[165454] = "tà";
	dict[165455] = "zàn";
	dict[165459] = "niè";
	dict[165460] = "zhù";
	dict[165473] = "xiǎn";
	dict[165480] = "yì";
	dict[165481] = "shí";
	dict[165483] = "kǒu";
	dict[165484] = "qǐ";
	dict[165485] = "tǔ";
	dict[165486] = "fán";
	dict[165487] = "cūn";
	dict[165490] = "tún,cūn";
	dict[165491] = "chā";
	dict[165492] = "cái,zài";
	dict[165493] = "xiàng";
	dict[165494] = "pèi";
	dict[165495] = "jǐng";
	dict[165496] = "qí,zhī";
	dict[165497] = "shǎo";
	dict[165498] = "niǔ";
	dict[165499] = "nuó";
	dict[165501] = "qín";
	dict[165517] = "bì,bèi";
	dict[165523] = "bì,fèi,fú";
	dict[165524] = "bāo";
	dict[165525] = "biàn";
	dict[165526] = "zī";
	dict[165528] = "wèi";
	dict[165529] = "háo";
	dict[165537] = "jǐn";
	dict[165539] = "zhèng";
	dict[165543] = "qié";
	dict[165550] = "hào";
	dict[165551] = "tóng";
	dict[165552] = "zǎo";
	dict[165553] = "shèng";
	dict[165554] = "cún";
	dict[165555] = "huāng";
	dict[165556] = "rú";
	dict[165557] = "zài";
	dict[165558] = "nián";
	dict[165566] = "xiān";
	dict[165576] = "quán";
	dict[165577] = "jì";
	dict[165578] = "yín";
	dict[165579] = "lǐ";
	dict[165580] = "máng";
	dict[165581] = "shào";
	dict[165582] = "hàn";
	dict[165583] = "cuò";
	dict[165584] = "jùn";
	dict[165585] = "jì";
	dict[165586] = "bù";
	dict[165587] = "lòng";
	dict[165588] = "fǒu";
	dict[165589] = "yóu";
	dict[165590] = "kuài";
	dict[165596] = "xiàng";
	dict[165601] = "yún";
	dict[165603] = "qín";
	dict[165604] = "huí";
	dict[165605] = "pú";
	dict[165611] = "lí";
	dict[165612] = "péi";
	dict[165613] = "shū,shè";
	dict[165614] = "jū";
	dict[165615] = "yí";
	dict[165616] = "zhēng";
	dict[165617] = "chóng";
	dict[165618] = "nián";
	dict[165619] = "xí,jí";
	dict[165621] = "hǔ";
	dict[165622] = "róu,shòu";
	dict[165634] = "dǎng";
	dict[165644] = "huàn";
	dict[165645] = "qiào";
	dict[165646] = "zhī";
	dict[165647] = "yíng";
	dict[165648] = "xǐ";
	dict[165649] = "qiāo";
	dict[165650] = "jì";
	dict[165651] = "zhēng";
	dict[165652] = "huáng";
	dict[165654] = "yú";
	dict[165655] = "zōu";
	dict[165656] = "méi";
	dict[165659] = "sōu";
	dict[165660] = "shěng";
	dict[165673] = "quán";
	dict[165675] = "hòu";
	dict[165680] = "jiāng";
	dict[165681] = "hé";
	dict[165683] = "tóng";
	dict[165684] = "hé";
	dict[165685] = "wēn";
	dict[165686] = "yì";
	dict[165687] = "páng";
	dict[165690] = "wēng";
	dict[165691] = "qián";
	dict[165692] = "lì";
	dict[165693] = "yí";
	dict[165694] = "chuàng";
	dict[165695] = "xù";
	dict[165696] = "wěi";
	dict[165702] = "gē";
	dict[165704] = "yǔ";
	dict[165707] = "zhài";
	dict[165708] = "gān";
	dict[165709] = "qiān";
	dict[165710] = "kāng";
	dict[165711] = "lí";
	dict[165712] = "shēn";
	dict[165713] = "guàn";
	dict[165715] = "piáo";
	dict[165718] = "lí";
	dict[165720] = "hǔ";
	dict[165723] = "tú";
	dict[165724] = "shùn";
	dict[165726] = "hù";
	dict[165727] = "lí";
	dict[165730] = "lòu";
	dict[165734] = "dàng";
	dict[165736] = "zuò";
	dict[165737] = "shān";
	dict[165739] = "shè,xì";
	dict[165741] = "féng";
	dict[165742] = "jù,zōu";
	dict[165743] = "tóng";
	dict[165744] = "jiǎo";
	dict[165745] = "qiáo";
	dict[165746] = "gāo,hào";
	dict[165747] = "zī";
	dict[165748] = "huáng";
	dict[165749] = "shān";
	dict[165752] = "tán";
	dict[165772] = "tuō";
	dict[165774] = "lìng";
	dict[165776] = "chéng";
	dict[165777] = "wèng";
	dict[165778] = "zuó";
	dict[165779] = "yù";
	dict[165781] = "zhú,chù";
	dict[165783] = "qún";
	dict[165784] = "xǐ";
	dict[165785] = "qú";
	dict[165787] = "gé";
	dict[165792] = "xiàng";
	dict[165794] = "qī";
	dict[165795] = "xū";
	dict[165800] = "gài";
	dict[165801] = "què";
	dict[165802] = "chóu,shòu";
	dict[165803] = "méng";
	dict[165808] = "xiāng";
	dict[165810] = "shēn";
	dict[165811] = "qú";
	dict[165814] = "qiāo";
	dict[165815] = "cán";
	dict[165818] = "lì";
	dict[165819] = "fū";
	dict[165820] = "wàn";
	dict[165821] = "léi";
	dict[165822] = "xīng";
	dict[165823] = "láng";
	dict[165826] = "shì";
	dict[165827] = "zhēng";
	dict[165828] = "fán";
	dict[165834] = "zhì";
	dict[165839] = "yín";
	dict[165840] = "táng";
	dict[165841] = "lì";
	dict[165846] = "mó";
	dict[165847] = "wěi";
	dict[165849] = "yīng";
	dict[165850] = "ráng";
	dict[165856] = "què,jué,quān";
	dict[165861] = "luǒ";
	dict[165862] = "qiān";
	dict[165874] = "dài";
	dict[165876] = "yìn";
	dict[165877] = "bǐ";
	dict[165878] = "gē";
	dict[165880] = "wèn";
	dict[165881] = "yǎn";
	dict[165882] = "miǎn";
	dict[165884] = "gǎng";
	dict[165885] = "qiú";
	dict[165886] = "zhī";
	dict[165899] = "gū";
	dict[165900] = "tóng";
	dict[165902] = "líng";
	dict[165903] = "tí";
	dict[165904] = "cí";
	dict[165905] = "yí,tuó";
	dict[165906] = "fàn";
	dict[165907] = "pō";
	dict[165908] = "bì";
	dict[165910] = "bào";
	dict[165919] = "pēng";
	dict[165921] = "suān";
	dict[165924] = "sōng,nóng";
	dict[165925] = "wéi";
	dict[165926] = "xiáo";
	dict[165932] = "hào";
	dict[165933] = "yǎn";
	dict[165942] = "yí";
	dict[165943] = "zāo";
	dict[165944] = "yǐng";
	dict[165945] = "nǎn";
	dict[165951] = "zā";
	dict[165953] = "tiǎn";
	dict[165954] = "xī";
	dict[165955] = "jiào";
	dict[165956] = "yán";
	dict[165964] = "néi";
	dict[165965] = "tǎn";
	dict[165966] = "yàn";
	dict[165967] = "tiǎn";
	dict[165968] = "zhì";
	dict[165969] = "chōu,chóu";
	dict[165970] = "táo";
	dict[165971] = "jiàng";
	dict[165975] = "zhà";
	dict[165982] = "miǎn";
	dict[165985] = "wǔ";
	dict[165986] = "yǐn";
	dict[165987] = "yàn";
	dict[165988] = "lǎo";
	dict[165993] = "pō";
	dict[165995] = "hùn";
	dict[165996] = "hǎi";
	dict[165997] = "mú";
	dict[165998] = "cōng";
	dict[166001] = "kù,dǐng";
	dict[166002] = "chōu";
	dict[166004] = "yǒu";
	dict[166008] = "zhuó";
	dict[166011] = "sōu";
	dict[166018] = "yìn";
	dict[166021] = "zuì";
	dict[166022] = "sāng";
	dict[166023] = "liù";
	dict[166024] = "hàn";
	dict[166025] = "wèi";
	dict[166026] = "méng";
	dict[166027] = "hú";
	dict[166028] = "lì";
	dict[166030] = "mì,yīn";
	dict[166032] = "bāng";
	dict[166033] = "jiǎn";
	dict[166040] = "xī";
	dict[166044] = "què";
	dict[166048] = "méng";
	dict[166049] = "bì";
	dict[166050] = "mú";
	dict[166051] = "hǒng";
	dict[166052] = "hù";
	dict[166053] = "mí";
	dict[166054] = "shài,zhà";
	dict[166057] = "shāng";
	dict[166058] = "chào";
	dict[166060] = "zhuó,tú";
	dict[166062] = "zhī";
	dict[166063] = "niàn";
	dict[166069] = "jì";
	dict[166072] = "kē";
	dict[166073] = "zhēng";
	dict[166079] = "dān";
	dict[166080] = "liǎo";
	dict[166081] = "zhǎn";
	dict[166082] = "gǒng";
	dict[166083] = "láo";
	dict[166084] = "huā";
	dict[166085] = "chuài";
	dict[166087] = "jiǎn";
	dict[166088] = "kuì";
	dict[166089] = "gàn";
	dict[166093] = "shē";
	dict[166100] = "chěn";
	dict[166101] = "tǎn";
	dict[166103] = "hú";
	dict[166104] = "méng";
	dict[166105] = "pào";
	dict[166106] = "zhǎn";
	dict[166107] = "cháng";
	dict[166109] = "gǎn,jiǎn";
	dict[166112] = "yì";
	dict[166114] = "suì";
	dict[166118] = "xù";
	dict[166119] = "jì";
	dict[166120] = "làn";
	dict[166124] = "yí";
	dict[166127] = "mì";
	dict[166129] = "miè";
	dict[166133] = "cuán";
	dict[166136] = "lǎn";
	dict[166139] = "yān,yǎn";
	dict[166142] = "mí";
	dict[166146] = "yǒng";
	dict[166147] = "cáng,zā";
	dict[166148] = "jiǎn";
	dict[166151] = "sōu,zāo";
	dict[166155] = "lǎn";
	dict[166158] = "yán";
	dict[166161] = "juàn";
	dict[166165] = "è";
	dict[166168] = "fèn";
	dict[166170] = "fèn";
	dict[166173] = "fèn";
	dict[166177] = "guàng";
	dict[166178] = "mái";
	dict[166180] = "liě";
	dict[166185] = "chōng";
	dict[166187] = "lí";
	dict[166193] = "zhí";
	dict[166194] = "lí";
	dict[166196] = "xiè";
	dict[166199] = "chóu";
	dict[166201] = "jí";
	dict[166205] = "pī";
	dict[166210] = "jié";
	dict[166215] = "zhǒu,zhù";
	dict[166221] = "xiōng";
	dict[166225] = "kuàng,gǒng";
	dict[166233] = "jǐng";
	dict[166235] = "hù";
	dict[166238] = "qián";
	dict[166243] = "cén";
	dict[166246] = "qí";
	dict[166247] = "wǎn,fàn,biān";
	dict[166248] = "máo";
	dict[166250] = "dǒu";
	dict[166260] = "kǒu";
	dict[166262] = "dài";
	dict[166264] = "náo";
	dict[166266] = "hóng";
	dict[166274] = "lǎi";
	dict[166275] = "duǒ,duò";
	dict[166276] = "qiān";
	dict[166278] = "yín";
	dict[166293] = "xíng";
	dict[166294] = "lòu";
	dict[166295] = "huī";
	dict[166299] = "fù";
	dict[166300] = "máo";
	dict[166302] = "zhōu";
	dict[166305] = "yóng,yáng";
	dict[166317] = "láo";
	dict[166318] = "jí";
	dict[166319] = "yì";
	dict[166320] = "liú";
	dict[166321] = "cōng";
	dict[166323] = "nǎn";
	dict[166352] = "tūn";
	dict[166353] = "xiàng";
	dict[166357] = "biàn";
	dict[166358] = "chuáng";
	dict[166359] = "wù";
	dict[166361] = "jū";
	dict[166373] = "xiē";
	dict[166374] = "pī";
	dict[166375] = "zhuó";
	dict[166376] = "ruì,zhuì";
	dict[166378] = "sào";
	dict[166379] = "zì";
	dict[166381] = "zhèng";
	dict[166384] = "zú";
	dict[166385] = "qū";
	dict[166387] = "chì";
	dict[166389] = "zhì";
	dict[166415] = "bō";
	dict[166421] = "sǎn";
	dict[166423] = "quàn";
	dict[166424] = "qiān";
	dict[166425] = "yā";
	dict[166426] = "chào";
	dict[166427] = "hé";
	dict[166428] = "rǔ";
	dict[166432] = "jū";
	dict[166433] = "wù";
	dict[166434] = "chuī";
	dict[166444] = "chì";
	dict[166445] = "kuàng,gǒng";
	dict[166447] = "còu,zhòu";
	dict[166448] = "ruàn";
	dict[166449] = "kuò";
	dict[166450] = "chí";
	dict[166451] = "zú";
	dict[166452] = "jiāo";
	dict[166454] = "yú";
	dict[166455] = "tú";
	dict[166456] = "méng";
	dict[166457] = "dā";
	dict[166458] = "shuò,xuē";
	dict[166464] = "hóu";
	dict[166501] = "fēng";
	dict[166502] = "gǒu";
	dict[166503] = "dōng";
	dict[166504] = "chǎ";
	dict[166505] = "mào";
	dict[166506] = "chǎn";
	dict[166507] = "biān";
	dict[166508] = "yù";
	dict[166511] = "wán";
	dict[166512] = "zú";
	dict[166514] = "zī";
	dict[166516] = "chuān";
	dict[166517] = "wǎn";
	dict[166518] = "wā";
	dict[166520] = "quān,juān";
	dict[166523] = "wǎn";
	dict[166525] = "xià";
	dict[166532] = "yìng";
	dict[166533] = "jiàn";
	dict[166536] = "wěi";
	dict[166537] = "tí";
	dict[166538] = "sāo";
	dict[166540] = "qí";
	dict[166541] = "shā";
	dict[166542] = "yù";
	dict[166543] = "jí";
	dict[166544] = "dòu,tōu";
	dict[166545] = "chǎn";
	dict[166546] = "tuán";
	dict[166549] = "liú";
	dict[166551] = "zhuì";
	dict[166579] = "ruàn";
	dict[166582] = "yàn";
	dict[166583] = "gǔ";
	dict[166585] = "lì";
	dict[166586] = "chā";
	dict[166590] = "dì";
	dict[166592] = "zhǎn";
	dict[166593] = "pō";
	dict[166610] = "lòu";
	dict[166612] = "zhì,xiè";
	dict[166657] = "lián";
	dict[166661] = "luǒ";
	dict[166669] = "duò,duì";
	dict[166672] = "jué";
	dict[166673] = "lì";
	dict[166674] = "lán";
	dict[166676] = "ruàn";
	dict[166677] = "gū";
	dict[166678] = "chán";
	dict[166679] = "xū";
	dict[166682] = "zhǐ";
	dict[166685] = "zhì,xiè";
	dict[166721] = "xuè";
	dict[166722] = "bō";
	dict[166723] = "chēng";
	dict[166725] = "zhù";
	dict[166726] = "hēi";
	dict[166729] = "bān";
	dict[166732] = "péng";
	dict[166739] = "dié";
	dict[166742] = "zhǎn";
	dict[166743] = "guó";
	dict[166746] = "biāo";
	dict[166747] = "là,gě";
	dict[166778] = "jīn";
	dict[166785] = "yuè";
	dict[166786] = "gǎi";
	dict[166802] = "mèng";
	dict[166804] = "yù";
	dict[166826] = "xǐ";
	dict[166828] = "piāo";
	dict[166829] = "sī";
	dict[166831] = "tiě";
	dict[166836] = "dèng";
	dict[166840] = "chuō";
	dict[166841] = "dí";
	dict[166842] = "jī";
	dict[166843] = "chán";
	dict[166847] = "zhuó";
	dict[166848] = "jī";
	dict[166867] = "cài";
	dict[166878] = "jiàng";
	dict[166879] = "huò";
	dict[166898] = "tóu";
	dict[166909] = "lí";
	dict[166914] = "qiàn";
	dict[166918] = "chuō";
	dict[166923] = "lǎi";
	dict[166927] = "tà";
	dict[166929] = "diào";
	dict[166931] = "jiǎn";
	dict[166939] = "zhǐ";
	dict[166940] = "jué";
	dict[166942] = "mó";
	dict[166944] = "luó";
	dict[166950] = "bǎo";
	dict[166957] = "zuǎn";
	dict[166965] = "zhē";
	dict[166968] = "yú";
	dict[166971] = "bǎo";
	dict[166974] = "mǎ";
	dict[166990] = "tōu";
	dict[166992] = "lòu";
	dict[166997] = "gǎi";
	dict[167001] = "kūn";
	dict[167002] = "duàn";
	dict[167003] = "sōng";
	dict[167004] = "qí";
	dict[167005] = "yǎng";
	dict[167009] = "shì";
	dict[167011] = "gǎi";
	dict[167012] = "kūn";
	dict[167014] = "dào";
	dict[167015] = "yǎo,ǎo";
	dict[167019] = "qián";
	dict[167021] = "shāo";
	dict[167022] = "cháng";
	dict[167023] = "miǔ";
	dict[167025] = "mó";
	dict[167029] = "nǎo";
	dict[167032] = "cōng";
	dict[167034] = "niè";
	dict[167035] = "zhāo";
	dict[167036] = "cén";
	dict[167039] = "sōng";
	dict[167040] = "niè";
	dict[167041] = "cì";
	dict[167044] = "jùn";
	dict[167046] = "shāo";
	dict[167048] = "zhú";
	dict[167049] = "duǒ,tuǒ,shèng";
	dict[167050] = "àn";
	dict[167051] = "bī";
	dict[167054] = "tì";
	dict[167056] = "pǐ";
	dict[167057] = "xiá";
	dict[167058] = "qiú";
	dict[167059] = "shěng";
	dict[167063] = "tāng";
	dict[167067] = "mán,mián";
	dict[167068] = "piān";
	dict[167070] = "tì";
	dict[167071] = "róng";
	dict[167079] = "cōng";
	dict[167082] = "jī";
	dict[167083] = "féng";
	dict[167084] = "wù";
	dict[167085] = "jiào";
	dict[167086] = "láo";
	dict[167087] = "zēng";
	dict[167088] = "péng";
	dict[167089] = "cǎn";
	dict[167091] = "nóng";
	dict[167093] = "chǎn";
	dict[167102] = "mán,mián";
	dict[167103] = "guì";
	dict[167104] = "niào";
	dict[167105] = "chōng";
	dict[167106] = "chàn";
	dict[167110] = "nàng";
	dict[167113] = "xiā";
	dict[167114] = "jiū";
	dict[167115] = "jǐ";
	dict[167116] = "zhèn";
	dict[167121] = "tǐng";
	dict[167124] = "mén";
	dict[167125] = "yuè";
	dict[167127] = "zhōng";
	dict[167128] = "tún";
	dict[167129] = "ruì";
	dict[167130] = "xiè,fēn";
	dict[167131] = "xī";
	dict[167133] = "tǐng,rùn";
	dict[167134] = "niǔ";
	dict[167136] = "wǎng";
	dict[167137] = "jiān,guān";
	dict[167139] = "fēn";
	dict[167154] = "biàn,bì";
	dict[167159] = "yí";
	dict[167162] = "dié";
	dict[167163] = "jī";
	dict[167164] = "gǎn";
	dict[167167] = "jiān,xì,mǎ";
	dict[167168] = "jiōng";
	dict[167174] = "kāi";
	dict[167178] = "què,guān";
	dict[167180] = "nán";
	dict[167181] = "móu";
	dict[167182] = "xù";
	dict[167183] = "sǒng";
	dict[167184] = "shèn";
	dict[167185] = "kuāng";
	dict[167186] = "què";
	dict[167187] = "wéi";
	dict[167191] = "dié";
	dict[167192] = "nán";
	dict[167194] = "ruò";
	dict[167195] = "gōng";
	dict[167196] = "dòu,yòu";
	dict[167198] = "niǎn";
	dict[167201] = "chāo";
	dict[167202] = "hé";
	dict[167203] = "yàn";
	dict[167209] = "tú";
	dict[167210] = "bǔ";
	dict[167212] = "hú";
	dict[167213] = "yǒng";
	dict[167215] = "shǐ";
	dict[167216] = "chù";
	dict[167225] = "xiāo";
	dict[167226] = "mén";
	dict[167227] = "lǐ";
	dict[167228] = "tí";
	dict[167230] = "jiān";
	dict[167234] = "zhǐ";
	dict[167235] = "guā,yuè";
	dict[167236] = "guǎn";
	dict[167238] = "qì";
	dict[167240] = "fēi";
	dict[167241] = "yǔ";
	dict[167242] = "zhé";
	dict[167243] = "wěi";
	dict[167244] = "ě";
	dict[167245] = "chān";
	dict[167246] = "xī,qí";
	dict[167248] = "gǔ";
	dict[167255] = "què";
	dict[167256] = "huì";
	dict[167258] = "xié";
	dict[167259] = "yīng";
	dict[167261] = "tà";
	dict[167262] = "wāi";
	dict[167263] = "fú";
	dict[167264] = "jiè";
	dict[167265] = "pì";
	dict[167268] = "xī";
	dict[167269] = "shěng";
	dict[167270] = "yú";
	dict[167271] = "kuā";
	dict[167273] = "pì";
	dict[167274] = "xié";
	dict[167275] = "nüè";
	dict[167276] = "xiàn";
	dict[167277] = "jiàn";
	dict[167278] = "xù";
	dict[167280] = "bì";
	dict[167284] = "nán";
	dict[167286] = "liáng";
	dict[167288] = "pián";
	dict[167292] = "jìng";
	dict[167296] = "tǎ";
	dict[167297] = "yàn";
	dict[167298] = "ài";
	dict[167301] = "xiāo";
	dict[167302] = "qiāng";
	dict[167303] = "wǔ";
	dict[167304] = "táng";
	dict[167306] = "jùn";
	dict[167312] = "kuò";
	dict[167316] = "quē,què";
	dict[167319] = "làng";
	dict[167321] = "něng";
	dict[167324] = "dòu,dǒu";
	dict[167325] = "shú";
	dict[167327] = "jiǎo";
	dict[167328] = "niè";
	dict[167330] = "yú";
	dict[167336] = "cè";
	dict[167338] = "jiǎo,liú";
	dict[167340] = "huà";
	dict[167341] = "wén";
	dict[167342] = "yē";
	dict[167343] = "é";
	dict[167344] = "guāng";
	dict[167345] = "huā";
	dict[167346] = "jiāo";
	dict[167354] = "lèi";
	dict[167356] = "shāng";
	dict[167357] = "yòng";
	dict[167359] = "dēng";
	dict[167360] = "guān";
	dict[167361] = "niú";
	dict[167363] = "suì";
	dict[167364] = "xiàng";
	dict[167366] = "sà";
	dict[167367] = "chāng";
	dict[167374] = "rùn";
	dict[167376] = "yūn";
	dict[167378] = "fēn";
	dict[167379] = "jiàn";
	dict[167380] = "xù";
	dict[167384] = "xì";
	dict[167385] = "shú";
	dict[167397] = "xié";
	dict[167398] = "lì";
	dict[167401] = "tóu";
	dict[167404] = "mǐ";
	dict[167405] = "chǎn";
	dict[167406] = "huō";
	dict[167409] = "zhuǎn";
	dict[167410] = "yuè";
	dict[167419] = "lán";
	dict[167421] = "yán";
	dict[167422] = "dàng";
	dict[167439] = "fù";
	dict[167440] = "réng";
	dict[167441] = "qiǎo";
	dict[167442] = "qí";
	dict[167443] = "diāo";
	dict[167444] = "qí,wéi";
	dict[167447] = "hàn";
	dict[167448] = "yuán";
	dict[167449] = "yóu";
	dict[167450] = "jí";
	dict[167451] = "gài";
	dict[167452] = "hāi";
	dict[167453] = "shì";
	dict[167465] = "wèn";
	dict[167468] = "zhèn";
	dict[167469] = "pō";
	dict[167470] = "yán,yǔn";
	dict[167471] = "gū";
	dict[167472] = "jù";
	dict[167473] = "tiàn,niǎn";
	dict[167479] = "è";
	dict[167482] = "yā";
	dict[167483] = "lìn";
	dict[167484] = "bì";
	dict[167488] = "zǐ";
	dict[167489] = "hóng";
	dict[167491] = "duǒ,duò";
	dict[167493] = "duì";
	dict[167494] = "xuàn";
	dict[167496] = "shǎn,yáng";
	dict[167498] = "shǎn";
	dict[167499] = "yáo";
	dict[167500] = "rǎn";
	dict[167508] = "tuó";
	dict[167511] = "bīng";
	dict[167512] = "xù";
	dict[167513] = "tūn";
	dict[167514] = "chéng";
	dict[167516] = "dòu";
	dict[167517] = "yì,yà";
	dict[167519] = "lòu";
	dict[167521] = "chè";
	dict[167541] = "juǎn";
	dict[167542] = "jī";
	dict[167544] = "zhào";
	dict[167545] = "bēng,bèng";
	dict[167547] = "tiǎn";
	dict[167552] = "pēng";
	dict[167557] = "fù";
	dict[167574] = "tuǒ";
	dict[167576] = "xián";
	dict[167577] = "nì";
	dict[167578] = "lóng";
	dict[167581] = "zhuó";
	dict[167583] = "zhēng";
	dict[167584] = "shǔn";
	dict[167585] = "zōng";
	dict[167586] = "fēng";
	dict[167587] = "duàn";
	dict[167588] = "pì";
	dict[167589] = "yǎn";
	dict[167590] = "sǒu";
	dict[167591] = "qiú";
	dict[167592] = "è";
	dict[167593] = "qián";
	dict[167595] = "qiǎn";
	dict[167597] = "cā";
	dict[167598] = "xùn";
	dict[167605] = "zhuì";
	dict[167608] = "mǎo";
	dict[167609] = "jiǎo";
	dict[167615] = "zhǎn";
	dict[167616] = "pí,bī";
	dict[167617] = "xī";
	dict[167618] = "yàn";
	dict[167619] = "fèi";
	dict[167620] = "niè";
	dict[167622] = "zhì";
	dict[167624] = "suǒ";
	dict[167626] = "yì";
	dict[167628] = "lěi";
	dict[167629] = "xù";
	dict[167631] = "yì";
	dict[167634] = "wēi";
	dict[167637] = "jī";
	dict[167638] = "chēn";
	dict[167639] = "dié";
	dict[167651] = "yuán";
	dict[167652] = "shǎn";
	dict[167653] = "xí";
	dict[167655] = "liú";
	dict[167656] = "suǒ";
	dict[167657] = "qīng";
	dict[167665] = "bēng";
	dict[167666] = "xià";
	dict[167667] = "yàn,yān";
	dict[167669] = "cuī,zuī,duì";
	dict[167670] = "qīng";
	dict[167671] = "kāng";
	dict[167674] = "qīng";
	dict[167675] = "lóu";
	dict[167676] = "bī";
	dict[167687] = "lóng";
	dict[167688] = "zhàn";
	dict[167689] = "cuàn";
	dict[167690] = "wú";
	dict[167691] = "xū";
	dict[167692] = "chēn";
	dict[167693] = "háo";
	dict[167694] = "jué";
	dict[167696] = "chèn";
	dict[167697] = "chá";
	dict[167698] = "chǎn";
	dict[167699] = "zhí";
	dict[167700] = "xún";
	dict[167716] = "chén";
	dict[167717] = "yè,gé";
	dict[167722] = "chǔ";
	dict[167723] = "qú";
	dict[167724] = "xiè";
	dict[167726] = "zhàn";
	dict[167727] = "kěn";
	dict[167729] = "jué";
	dict[167741] = "qú";
	dict[167743] = "méng";
	dict[167744] = "yè";
	dict[167745] = "zōu,cóng";
	dict[167746] = "pú";
	dict[167748] = "shì";
	dict[167753] = "shǔ";
	dict[167754] = "chán";
	dict[167756] = "yǐn";
	dict[167757] = "dú";
	dict[167759] = "guō";
	dict[167760] = "lù,yáng";
	dict[167761] = "yān";
	dict[167766] = "niǎo";
	dict[167767] = "bīn,pín";
	dict[167773] = "ài";
	dict[167775] = "tuí";
	dict[167781] = "zhì";
	dict[167782] = "nì";
	dict[167783] = "huān";
	dict[167784] = "qián";
	dict[167791] = "xià";
	dict[167794] = "líng";
	dict[167797] = "suì";
	dict[167799] = "lián";
	dict[167800] = "sì";
	dict[167801] = "yì,lì";
	dict[167803] = "lì";
	dict[167804] = "sì";
	dict[167807] = "dài";
	dict[167810] = "wèi";
	dict[167813] = "cì";
	dict[167817] = "jiǔ";
	dict[167818] = "hóng";
	dict[167820] = "yú";
	dict[167822] = "kuí";
	dict[167826] = "háng";
	dict[167827] = "gē,yì";
	dict[167828] = "fàng";
	dict[167831] = "kuí,xié";
	dict[167834] = "guī,fū";
	dict[167835] = "chǐ,qí";
	dict[167838] = "jiǔ";
	dict[167841] = "suī,huǎng";
	dict[167844] = "dié";
	dict[167846] = "chī";
	dict[167852] = "suǐ";
	dict[167855] = "rú";
	dict[167856] = "qín";
	dict[167860] = "guī";
	dict[167867] = "zhuī";
	dict[167870] = "tiào";
	dict[167873] = "yuè";
	dict[167879] = "zuǐ";
	dict[167887] = "wú";
	dict[167888] = "cuǐ";
	dict[167899] = "zhì,xī";
	dict[167904] = "shuì";
	dict[167905] = "chún";
	dict[167906] = "dōng";
	dict[167917] = "wéi";
	dict[167923] = "yīng";
	dict[167935] = "chǒng";
	dict[167947] = "rún";
	dict[167958] = "jí";
	dict[167964] = "diāo";
	dict[167966] = "cāng";
	dict[167968] = "kòu,gǔ";
	dict[167971] = "wéi";
	dict[167975] = "cán";
	dict[167978] = "má";
	dict[167979] = "òu";
	dict[167986] = "sǎn";
	dict[167990] = "wéi,huī,mí";
	dict[167996] = "sǎn";
	dict[167999] = "jīn";
	dict[168012] = "wéi";
	dict[168030] = "cài";
	dict[168031] = "lí";
	dict[168047] = "yuè";
	dict[168052] = "yūn";
	dict[168055] = "chēng";
	dict[168057] = "yú";
	dict[168058] = "shān";
	dict[168063] = "nüè";
	dict[168066] = "hū";
	dict[168067] = "shài";
	dict[168068] = "tún";
	dict[168070] = "fǒu,fù";
	dict[168072] = "qìn";
	dict[168073] = "xū,chēn";
	dict[168077] = "chuān";
	dict[168078] = "fù";
	dict[168082] = "yì,ài";
	dict[168083] = "dōng";
	dict[168084] = "fú";
	dict[168085] = "fú";
	dict[168086] = "zé";
	dict[168087] = "pù";
	dict[168089] = "líng";
	dict[168093] = "shài,yīng";
	dict[168094] = "pào";
	dict[168098] = "yín,ái";
	dict[168099] = "luò";
	dict[168100] = "huà";
	dict[168101] = "yìn";
	dict[168102] = "bèng";
	dict[168103] = "yū";
	dict[168104] = "shè";
	dict[168106] = "xiè";
	dict[168107] = "chǔ";
	dict[168116] = "shè";
	dict[168117] = "diàn";
	dict[168121] = "yì";
	dict[168123] = "chè";
	dict[168124] = "gěng";
	dict[168125] = "lóng";
	dict[168126] = "píng";
	dict[168127] = "yǔn";
	dict[168128] = "yàn";
	dict[168129] = "mò";
	dict[168131] = "suī";
	dict[168139] = "jìng";
	dict[168141] = "sòng";
	dict[168142] = "páng";
	dict[168144] = "yá";
	dict[168145] = "sè";
	dict[168146] = "duǒ";
	dict[168148] = "jiān";
	dict[168149] = "chuáng";
	dict[168150] = "xiè";
	dict[168152] = "tuán";
	dict[168153] = "gōng";
	dict[168154] = "xuàn";
	dict[168156] = "lā";
	dict[168158] = "líng";
	dict[168160] = "dài";
	dict[168161] = "zhá";
	dict[168172] = "yīn";
	dict[168173] = "sōng";
	dict[168175] = "yǔ";
	dict[168176] = "tuó";
	dict[168177] = "tuó";
	dict[168180] = "bà";
	dict[168181] = "rǎn";
	dict[168182] = "bó";
	dict[168183] = "dài";
	dict[168185] = "zhá,zhǎ";
	dict[168186] = "hóu";
	dict[168190] = "huǐ";
	dict[168197] = "lú";
	dict[168202] = "lìng";
	dict[168203] = "rú";
	dict[168213] = "dàn";
	dict[168214] = "méng";
	dict[168215] = "xià";
	dict[168216] = "wěng";
	dict[168217] = "hán";
	dict[168218] = "zī";
	dict[168219] = "zhèn";
	dict[168220] = "sè";
	dict[168221] = "cuó";
	dict[168222] = "lì";
	dict[168224] = "diān";
	dict[168225] = "lián";
	dict[168226] = "gòu";
	dict[168230] = "péng";
	dict[168234] = "yīng";
	dict[168236] = "hòu";
	dict[168238] = "duì";
	dict[168239] = "wù";
	dict[168247] = "piào";
	dict[168248] = "hè";
	dict[168250] = "lóng";
	dict[168251] = "mò";
	dict[168252] = "fěi";
	dict[168253] = "lǚ";
	dict[168254] = "zé";
	dict[168255] = "bó";
	dict[168256] = "diàn,zhí";
	dict[168257] = "mǎng";
	dict[168259] = "zhuàng,chóng";
	dict[168260] = "lù";
	dict[168261] = "pāng";
	dict[168262] = "duì";
	dict[168263] = "bù";
	dict[168265] = "zhōng";
	dict[168268] = "chēn";
	dict[168269] = "màn";
	dict[168278] = "xī";
	dict[168285] = "ǎn";
	dict[168286] = "zhōng,chòng";
	dict[168288] = "nàn";
	dict[168289] = "tuò";
	dict[168290] = "hé";
	dict[168291] = "duì";
	dict[168293] = "duì";
	dict[168294] = "wān,dān";
	dict[168295] = "zhōng";
	dict[168296] = "cén,shèn";
	dict[168297] = "lì";
	dict[168298] = "shuāng";
	dict[168302] = "cén";
	dict[168304] = "sī";
	dict[168306] = "duì";
	dict[168308] = "hūn";
	dict[168312] = "liù";
	dict[168316] = "jiān,jiàn";
	dict[168317] = "nóng";
	dict[168318] = "dàn";
	dict[168319] = "fù";
	dict[168320] = "huò";
	dict[168321] = "huì,wèi";
	dict[168322] = "cí";
	dict[168324] = "yǒng";
	dict[168325] = "sà";
	dict[168326] = "tíng";
	dict[168334] = "liù";
	dict[168337] = "suān";
	dict[168338] = "líng";
	dict[168339] = "mán,màn";
	dict[168340] = "diàn";
	dict[168344] = "pāo";
	dict[168346] = "líng";
	dict[168348] = "líng";
	dict[168349] = "lì";
	dict[168351] = "nóu";
	dict[168355] = "liè";
	dict[168356] = "shǎn";
	dict[168358] = "fèi";
	dict[168361] = "shù";
	dict[168363] = "shǎn";
	dict[168366] = "líng";
	dict[168367] = "zhàn,jiān";
	dict[168369] = "bīn";
	dict[168370] = "lí";
	dict[168373] = "sī,xiàn";
	dict[168374] = "ráng";
	dict[168375] = "jiān";
	dict[168376] = "zhuó";
	dict[168379] = "líng";
	dict[168380] = "líng";
	dict[168381] = "mèng";
	dict[168383] = "shuāng";
	dict[168388] = "líng";
	dict[168391] = "hùn";
	dict[168398] = "líng";
	dict[168399] = "jiān";
	dict[168400] = "qú";
	dict[168404] = "nóng";
	dict[168405] = "jìng";
	dict[168406] = "chēn";
	dict[168412] = "zhēn,chēng";
	dict[168413] = "qìng";
	dict[168415] = "qìng";
	dict[168416] = "è,yǎn";
	dict[168419] = "sè";
	dict[168425] = "bèi";
	dict[168427] = "fēi";
	dict[168430] = "fèi";
	dict[168431] = "féi";
	dict[168436] = "fāng";
	dict[168437] = "kǔ";
	dict[168442] = "zá";
	dict[168443] = "huì";
	dict[168445] = "féi";
	dict[168449] = "duì";
	dict[168454] = "pā";
	dict[168455] = "niǔ";
	dict[168456] = "pàng";
	dict[168457] = "dàn";
	dict[168458] = "dān,dàn";
	dict[168459] = "ài";
	dict[168461] = "tiǎn";
	dict[168462] = "chǎo";
	dict[168463] = "ǎo,yǒu";
	dict[168464] = "mèi";
	dict[168465] = "nǎn";
	dict[168468] = "bò";
	dict[168469] = "yù,chì";
	dict[168470] = "xiān,hān";
	dict[168471] = "mài";
	dict[168474] = "pīng";
	dict[168476] = "duī";
	dict[168478] = "dào";
	dict[168481] = "xìng";
	dict[168482] = "nì,nǜ";
	dict[168483] = "hān";
	dict[168484] = "chù";
	dict[168485] = "shuǎ";
	dict[168486] = "mǎn";
	dict[168492] = "wàn";
	dict[168493] = "yì";
	dict[168494] = "diào";
	dict[168495] = "yān";
	dict[168497] = "wò";
	dict[168498] = "suàn";
	dict[168500] = "ǎn";
	dict[168501] = "lán";
	dict[168502] = "nǎn";
	dict[168504] = "qiǔ";
	dict[168505] = "miàn";
	dict[168506] = "nuǒ";
	dict[168507] = "cán";
	dict[168508] = "cǎn";
	dict[168512] = "làn";
	dict[168513] = "tiǎn";
	dict[168514] = "yè";
	dict[168516] = "niǎn";
	dict[168518] = "shuǎ";
	dict[168523] = "cí";
	dict[168525] = "jiǎn";
	dict[168528] = "gàn";
	dict[168532] = "jiàn";
	dict[168533] = "guó";
	dict[168535] = "zhān";
	dict[168537] = "luǒ";
	dict[168540] = "hàng";
	dict[168541] = "guì";
	dict[168545] = "jiá";
	dict[168546] = "jǐ";
	dict[168549] = "xuàn";
	dict[168551] = "fēng";
	dict[168555] = "bì";
	dict[168556] = "qí,chí";
	dict[168559] = "yuán";
	dict[168560] = "àng";
	dict[168561] = "dī";
	dict[168564] = "è";
	dict[168565] = "fén";
	dict[168568] = "jù";
	dict[168569] = "nǐ";
	dict[168570] = "tuó";
	dict[168572] = "shēn";
	dict[168573] = "fú";
	dict[168574] = "xiá";
	dict[168575] = "qú";
	dict[168576] = "pò";
	dict[168577] = "wǎn";
	dict[168578] = "líng";
	dict[168579] = "mà";
	dict[168580] = "zhòu";
	dict[168581] = "bào";
	dict[168583] = "yù";
	dict[168588] = "běng";
	dict[168589] = "mài";
	dict[168591] = "jiā";
	dict[168593] = "yǎng";
	dict[168595] = "kuǎ,kù";
	dict[168596] = "jiào";
	dict[168598] = "bǐng";
	dict[168602] = "luò";
	dict[168603] = "guǐ";
	dict[168604] = "duò";
	dict[168605] = "zhì";
	dict[168609] = "zhèn";
	dict[168610] = "è";
	dict[168611] = "zhū";
	dict[168612] = "bá";
	dict[168616] = "zhèn";
	dict[168617] = "fēng,féng";
	dict[168618] = "dòu";
	dict[168619] = "niǎn";
	dict[168620] = "bù";
	dict[168621] = "duì";
	dict[168622] = "shā,suō";
	dict[168623] = "sè";
	dict[168624] = "bì";
	dict[168628] = "zhì";
	dict[168629] = "zhé";
	dict[168630] = "bù";
	dict[168634] = "jué";
	dict[168635] = "xùn";
	dict[168639] = "xì";
	dict[168641] = "zhuó";
	dict[168642] = "bài";
	dict[168643] = "yáo,táo";
	dict[168644] = "chǒu";
	dict[168645] = "tà";
	dict[168646] = "qiān";
	dict[168648] = "nào";
	dict[168649] = "yù";
	dict[168650] = "è";
	dict[168651] = "jiān";
	dict[168652] = "yì";
	dict[168653] = "xiāo";
	dict[168655] = "niè";
	dict[168658] = "bīng";
	dict[168660] = "xié";
	dict[168663] = "guǒ";
	dict[168664] = "wā,xié";
	dict[168665] = "diào";
	dict[168668] = "jū";
	dict[168669] = "suǒ";
	dict[168670] = "dié";
	dict[168671] = "fú,fù";
	dict[168672] = "miǎn";
	dict[168673] = "shì";
	dict[168674] = "xuàn,yùn";
	dict[168675] = "tí";
	dict[168676] = "yù";
	dict[168679] = "xié,kài";
	dict[168680] = "fú";
	dict[168681] = "zhì";
	dict[168682] = "nǐ";
	dict[168683] = "xuàn";
	dict[168684] = "yáng";
	dict[168686] = "fěng,bāng";
	dict[168687] = "zòng";
	dict[168688] = "zhòu";
	dict[168689] = "xuān";
	dict[168693] = "zhū";
	dict[168695] = "la";
	dict[168697] = "yìng";
	dict[168698] = "gào";
	dict[168699] = "kuò";
	dict[168701] = "é";
	dict[168702] = "wéi,wěi,xuē";
	dict[168703] = "méi";
	dict[168707] = "huái,guì";
	dict[168708] = "chǒu,zhōu";
	dict[168710] = "suǒ";
	dict[168711] = "tà";
	dict[168712] = "suǒ";
	dict[168713] = "tà";
	dict[168714] = "xuè";
	dict[168716] = "gǒng";
	dict[168717] = "jiǎ";
	dict[168719] = "bó,fú,bù,fù";
	dict[168720] = "tà";
	dict[168721] = "yuǎn";
	dict[168728] = "tà";
	dict[168733] = "chuí";
	dict[168736] = "xiōng";
	dict[168737] = "hé,juē";
	dict[168738] = "suō";
	dict[168742] = "xǐ";
	dict[168743] = "mò";
	dict[168744] = "chóng";
	dict[168745] = "suī";
	dict[168746] = "zé";
	dict[168747] = "lù";
	dict[168748] = "zhāng";
	dict[168749] = "luò";
	dict[168750] = "xù";
	dict[168751] = "jiān";
	dict[168752] = "shān";
	dict[168754] = "xù";
	dict[168766] = "jiǎng";
	dict[168769] = "bèi";
	dict[168770] = "bào";
	dict[168771] = "mái";
	dict[168773] = "tóng";
	dict[168774] = "xì";
	dict[168777] = "róng";
	dict[168779] = "shéng";
	dict[168780] = "zhòu";
	dict[168782] = "jiān";
	dict[168783] = "fù";
	dict[168784] = "dèng";
	dict[168787] = "yōng";
	dict[168788] = "jū,qū";
	dict[168790] = "yì";
	dict[168791] = "bāng";
	dict[168793] = "sè";
	dict[168794] = "suì";
	dict[168796] = "duó";
	dict[168797] = "xiè";
	dict[168801] = "huán";
	dict[168805] = "rǔ";
	dict[168806] = "nǐ";
	dict[168807] = "zhòu";
	dict[168808] = "guì";
	dict[168810] = "luò";
	dict[168818] = "zhī,chàn";
	dict[168819] = "xù";
	dict[168821] = "zhī";
	dict[168823] = "quē";
	dict[168824] = "jū";
	dict[168827] = "yuán";
	dict[168828] = "lú";
	dict[168831] = "bó";
	dict[168834] = "róng";
	dict[168835] = "xiè";
	dict[168841] = "xǐ";
	dict[168842] = "luó";
	dict[168845] = "xiǎn";
	dict[168846] = "gé";
	dict[168849] = "zuān";
	dict[168850] = "hàn,jiān";
	dict[168852] = "jiāo";
	dict[168853] = "sǎ";
	dict[168854] = "qín,qián";
	dict[168855] = "qūn";
	dict[168856] = "páo";
	dict[168857] = "yuè";
	dict[168858] = "chè";
	dict[168859] = "fú";
	dict[168860] = "pēi";
	dict[168863] = "mèi,mò,wà";
	dict[168866] = "tāo";
	dict[168868] = "kēn";
	dict[168869] = "xì";
	dict[168875] = "duò";
	dict[168877] = "yì";
	dict[168880] = "suì";
	dict[168882] = "xiá";
	dict[168883] = "juān";
	dict[168885] = "wéi";
	dict[168887] = "yì";
	dict[168889] = "yù";
	dict[168891] = "bài";
	dict[168892] = "tuó";
	dict[168893] = "tà";
	dict[168894] = "páo";
	dict[168898] = "bǐng,bì";
	dict[168901] = "yùn";
	dict[168902] = "yùn";
	dict[168903] = "duàn";
	dict[168904] = "ruǎn";
	dict[168905] = "wéi";
	dict[168911] = "wěi";
	dict[168912] = "guì,wěi";
	dict[168913] = "hán";
	dict[168914] = "dá";
	dict[168915] = "xiá";
	dict[168918] = "hùn";
	dict[168919] = "juǎn";
	dict[168920] = "suī";
	dict[168922] = "suì";
	dict[168925] = "lóu";
	dict[168926] = "bài";
	dict[168927] = "yù";
	dict[168928] = "zhèng";
	dict[168929] = "guì";
	dict[168931] = "kuī";
	dict[168932] = "gāo";
	dict[168933] = "dān";
	dict[168937] = "xiǎn";
	dict[168938] = "zhái";
	dict[168939] = "sè";
	dict[168940] = "wěi";
	dict[168941] = "kē";
	dict[168942] = "bǔ";
	dict[168943] = "bó";
	dict[168946] = "suì";
	dict[168948] = "yù";
	dict[168949] = "bǔ,bù";
	dict[168950] = "jiū";
	dict[168951] = "jiū,jiào";
	dict[168953] = "juàn";
	dict[168954] = "jué";
	dict[168956] = "nà";
	dict[168961] = "xiè";
	dict[168965] = "sà";
	dict[168966] = "jī";
	dict[168969] = "xiè";
	dict[168972] = "duì";
	dict[168973] = "zǐ";
	dict[168984] = "yuǎn";
	dict[168985] = "qìn";
	dict[168986] = "fú";
	dict[168987] = "péng";
	dict[168988] = "páo";
	dict[168990] = "yìn";
	dict[168992] = "hōng";
	dict[168993] = "zú";
	dict[168995] = "gōng";
	dict[168996] = "dòng";
	dict[168997] = "hē";
	dict[168998] = "wò";
	dict[169e3] = "pāng";
	dict[169003] = "sù";
	dict[169004] = "kǎn";
	dict[169005] = "niè";
	dict[169006] = "háo";
	dict[169007] = "fèng";
	dict[169008] = "è";
	dict[169009] = "yè";
	dict[169012] = "tíng";
	dict[169013] = "dòng";
	dict[169014] = "zhé";
	dict[169015] = "sāng";
	dict[169019] = "mò";
	dict[169020] = "sù";
	dict[169022] = "lè";
	dict[169024] = "pǔ";
	dict[169025] = "é";
	dict[169026] = "zhuó";
	dict[169027] = "yè";
	dict[169031] = "xiāng";
	dict[169032] = "guàng";
	dict[169033] = "rěn";
	dict[169034] = "líng";
	dict[169037] = "ào";
	dict[169038] = "shùn";
	dict[169040] = "chāi";
	dict[169042] = "duó";
	dict[169043] = "qióng";
	dict[169044] = "kū,yà";
	dict[169045] = "xū";
	dict[169046] = "huán";
	dict[169047] = "yāo";
	dict[169048] = "zhèn";
	dict[169049] = "tǐng";
	dict[169050] = "běng,lèi";
	dict[169053] = "áng";
	dict[169055] = "kān,qiān";
	dict[169057] = "kū,gěn";
	dict[169058] = "péi,bāi";
	dict[169059] = "yòu";
	dict[169060] = "ǎo";
	dict[169061] = "mén";
	dict[169062] = "mò";
	dict[169068] = "fǔ,guī";
	dict[169069] = "qīng";
	dict[169070] = "là";
	dict[169071] = "dǒu";
	dict[169072] = "tǎn";
	dict[169075] = "qiǎn";
	dict[169076] = "yào";
	dict[169077] = "wèi";
	dict[169078] = "hú,kū";
	dict[169079] = "mò";
	dict[169080] = "hē";
	dict[169081] = "xuàn";
	dict[169083] = "bì,pó";
	dict[169084] = "pō";
	dict[169086] = "dī";
	dict[169088] = "zhěn";
	dict[169090] = "shī";
	dict[169091] = "kǎn";
	dict[169092] = "cè";
	dict[169095] = "xū";
	dict[169096] = "zhěn";
	dict[169098] = "zhǔ";
	dict[169103] = "huì";
	dict[169104] = "chǐ";
	dict[169107] = "hǒng";
	dict[169108] = "nóu";
	dict[169109] = "niè,pò,è";
	dict[169110] = "yàn";
	dict[169112] = "chǒng";
	dict[169113] = "fǔ,guì";
	dict[169114] = "guāng";
	dict[169115] = "qī";
	dict[169116] = "duǒ";
	dict[169117] = "gěn";
	dict[169118] = "tǐng";
	dict[169122] = "tǎn";
	dict[169123] = "qiǎn";
	dict[169126] = "jiù,xìn";
	dict[169127] = "xū";
	dict[169128] = "qǐ";
	dict[169130] = "zhèn";
	dict[169134] = "qiú";
	dict[169136] = "ě";
	dict[169139] = "huì";
	dict[169140] = "hòng";
	dict[169141] = "qǐng";
	dict[169143] = "chē,rǒng";
	dict[169146] = "fù";
	dict[169148] = "hōng";
	dict[169149] = "xī";
	dict[169150] = "wú";
	dict[169151] = "máng";
	dict[169154] = "tī";
	dict[169157] = "hōng";
	dict[169168] = "bó";
	dict[169170] = "qǐn";
	dict[169171] = "gěn";
	dict[169174] = "fú";
	dict[169175] = "kuǐ";
	dict[169181] = "bié";
	dict[169182] = "jìng";
	dict[169183] = "kǎn";
	dict[169184] = "guī";
	dict[169186] = "gǎo";
	dict[169187] = "xū";
	dict[169188] = "àn";
	dict[169189] = "yuè";
	dict[169190] = "wù";
	dict[169191] = "yí";
	dict[169192] = "jīng";
	dict[169194] = "lù";
	dict[169195] = "quán";
	dict[169196] = "tuí";
	dict[169198] = "jì";
	dict[169208] = "guī";
	dict[169210] = "jiǒng";
	dict[169211] = "jué";
	dict[169212] = "piē";
	dict[169213] = "kūn";
	dict[169216] = "wài";
	dict[169217] = "huì";
	dict[169218] = "dùn";
	dict[169219] = "yuǎn";
	dict[169220] = "jié";
	dict[169222] = "guì";
	dict[169223] = "gǎo";
	dict[169224] = "pò";
	dict[169225] = "mén,mín,hūn";
	dict[169226] = "zhuàn";
	dict[169227] = "hàng";
	dict[169236] = "yóng";
	dict[169237] = "qiú";
	dict[169239] = "lèi,lì";
	dict[169240] = "áng";
	dict[169241] = "pǐ,xìn";
	dict[169242] = "wēng,wěng";
	dict[169245] = "qìn";
	dict[169246] = "hán";
	dict[169247] = "qǐn";
	dict[169248] = "miè";
	dict[169249] = "dōu";
	dict[169250] = "mí";
	dict[169251] = "zhān";
	dict[169253] = "qǐng";
	dict[169254] = "yí";
	dict[169262] = "bān";
	dict[169265] = "juān";
	dict[169267] = "zé";
	dict[169268] = "xù";
	dict[169269] = "lán";
	dict[169270] = "má";
	dict[169271] = "má";
	dict[169272] = "ōu";
	dict[169273] = "bēi";
	dict[169275] = "póu";
	dict[169276] = "xù";
	dict[169280] = "ào";
	dict[169284] = "xìn";
	dict[169286] = "hǒng";
	dict[169289] = "hǒng";
	dict[169290] = "zhǎn";
	dict[169292] = "sěn";
	dict[169293] = "gǎo,háo";
	dict[169295] = "pó,fán";
	dict[169296] = "liào";
	dict[169301] = "wài";
	dict[169302] = "xuān";
	dict[169308] = "kuí";
	dict[169311] = "è";
	dict[169312] = "hàn";
	dict[169313] = "sè";
	dict[169316] = "dàn";
	dict[169322] = "xuān";
	dict[169324] = "è";
	dict[169325] = "gài";
	dict[169327] = "dāo";
	dict[169329] = "měng";
	dict[169330] = "yī";
	dict[169331] = "nǐng";
	dict[169333] = "pín";
	dict[169337] = "cāng";
	dict[169338] = "wài";
	dict[169342] = "yuàn";
	dict[169344] = "è";
	dict[169345] = "niè,yá";
	dict[169348] = "yǐn";
	dict[169351] = "qiāo";
	dict[169353] = "hōng";
	dict[169354] = "líng";
	dict[169356] = "chān";
	dict[169357] = "yǐng";
	dict[169362] = "guān";
	dict[169363] = "pín";
	dict[169364] = "niǎo";
	dict[169371] = "péng";
	dict[169373] = "liáo";
	dict[169376] = "bèi";
	dict[169379] = "xín,bá";
	dict[169380] = "tún";
	dict[169381] = "chāo";
	dict[169382] = "gān";
	dict[169384] = "hū";
	dict[169385] = "wǎng";
	dict[169388] = "fú";
	dict[169389] = "pèi";
	dict[169391] = "náo";
	dict[169392] = "xún,xín";
	dict[169393] = "xuè";
	dict[169396] = "liǔ";
	dict[169397] = "líng";
	dict[169398] = "xuè";
	dict[169399] = "qū";
	dict[169400] = "háo";
	dict[169401] = "yí";
	dict[169402] = "hàn";
	dict[169404] = "fú";
	dict[169405] = "bá";
	dict[169406] = "yí";
	dict[169408] = "bó";
	dict[169412] = "hōng";
	dict[169413] = "lì";
	dict[169417] = "sà";
	dict[169418] = "xī";
	dict[169422] = "shì";
	dict[169423] = "piāo";
	dict[169424] = "huà";
	dict[169425] = "yí";
	dict[169426] = "bó";
	dict[169427] = "bó";
	dict[169428] = "něi";
	dict[169429] = "qiú";
	dict[169432] = "wěi";
	dict[169433] = "chè";
	dict[169434] = "yóu";
	dict[169436] = "wèi";
	dict[169437] = "huǐ";
	dict[169438] = "sà";
	dict[169442] = "hòng";
	dict[169443] = "sōu";
	dict[169444] = "hàn";
	dict[169445] = "páo";
	dict[169447] = "fáng";
	dict[169449] = "liú";
	dict[169450] = "zhòu";
	dict[169451] = "pí";
	dict[169453] = "lì";
	dict[169456] = "chuí";
	dict[169457] = "xī";
	dict[169458] = "zhēng";
	dict[169460] = "bèng";
	dict[169461] = "zhěng";
	dict[169462] = "suì";
	dict[169463] = "yǎn";
	dict[169466] = "yáng";
	dict[169468] = "qīng";
	dict[169469] = "wù";
	dict[169470] = "liǎng";
	dict[169472] = "zhào";
	dict[169473] = "liáng";
	dict[169477] = "jiē";
	dict[169479] = "hōng";
	dict[169480] = "yōu";
	dict[169482] = "là";
	dict[169483] = "hòu";
	dict[169485] = "yuàn";
	dict[169486] = "hóng";
	dict[169487] = "yè";
	dict[169489] = "yǐng,yīng";
	dict[169490] = "xuǎn,juān";
	dict[169491] = "yóu";
	dict[169496] = "quán";
	dict[169500] = "táng";
	dict[169501] = "suǒ";
	dict[169503] = "lì";
	dict[169504] = "sōu";
	dict[169505] = "lì";
	dict[169508] = "yù";
	dict[169509] = "kǎi";
	dict[169511] = "yì";
	dict[169517] = "xiū";
	dict[169518] = "áo";
	dict[169519] = "tuán";
	dict[169520] = "sù";
	dict[169521] = "shuài";
	dict[169523] = "yù";
	dict[169525] = "fēng";
	dict[169529] = "sù";
	dict[169530] = "tuí";
	dict[169531] = "yù";
	dict[169532] = "zhēng";
	dict[169533] = "zhēng";
	dict[169535] = "táo";
	dict[169540] = "liú";
	dict[169542] = "chéng";
	dict[169543] = "suí";
	dict[169544] = "sāo";
	dict[169551] = "gǔ";
	dict[169552] = "fēng";
	dict[169553] = "liè";
	dict[169554] = "piāo,piào";
	dict[169558] = "lì";
	dict[169560] = "lóng";
	dict[169561] = "chū";
	dict[169562] = "xiāo";
	dict[169563] = "hōng";
	dict[169564] = "xiè";
	dict[169565] = "shè";
	dict[169568] = "lóng";
	dict[169569] = "hōu";
	dict[169570] = "xuán,shī";
	dict[169571] = "fēng";
	dict[169586] = "fēi";
	dict[169591] = "niù";
	dict[169592] = "mǎng";
	dict[169594] = "yì";
	dict[169597] = "huán,xuān";
	dict[169598] = "zhī";
	dict[169602] = "yì";
	dict[169604] = "yù";
	dict[169607] = "yí";
	dict[169608] = "yuē";
	dict[169609] = "chí";
	dict[169615] = "sūn";
	dict[169621] = "yǐn,qiāng";
	dict[169622] = "niù";
	dict[169623] = "rǒng";
	dict[169627] = "nà";
	dict[169635] = "tián";
	dict[169637] = "bā";
	dict[169641] = "hú";
	dict[169642] = "ěr";
	dict[169643] = "zhēng";
	dict[169644] = "è";
	dict[169645] = "póu";
	dict[169646] = "jī,nì";
	dict[169647] = "ní";
	dict[169649] = "jiǒng";
	dict[169650] = "jiá";
	dict[169653] = "gān";
	dict[169657] = "líng";
	dict[169659] = "zuì";
	dict[169662] = "bèi";
	dict[169663] = "yù";
	dict[169669] = "shū";
	dict[169670] = "yǐ";
	dict[169671] = "pāi";
	dict[169675] = "nǎo";
	dict[169676] = "shì";
	dict[169678] = "mǎn";
	dict[169679] = "shì";
	dict[169681] = "tí";
	dict[169688] = "gōng";
	dict[169693] = "lèi";
	dict[169694] = "bǎo,něi,piǎo";
	dict[169695] = "yuān,mán";
	dict[169696] = "zuō";
	dict[169697] = "láng,náng";
	dict[169698] = "xiū";
	dict[169701] = "zài";
	dict[169702] = "chèng";
	dict[169703] = "jiān";
	dict[169704] = "mào";
	dict[169705] = "jiá";
	dict[169706] = "yù";
	dict[169709] = "yù";
	dict[169710] = "yí";
	dict[169714] = "māng";
	dict[169715] = "zài,cān";
	dict[169717] = "zhuì";
	dict[169718] = "tí";
	dict[169721] = "xì";
	dict[169722] = "jú";
	dict[169723] = "zàn,zuǎn,zhān";
	dict[169724] = "lù";
	dict[169725] = "táo";
	dict[169727] = "xíng";
	dict[169728] = "zhuì,duī";
	dict[169729] = "líng";
	dict[169731] = "jù";
	dict[169734] = "jī";
	dict[169735] = "juàn,juǎn";
	dict[169736] = "yù";
	dict[169738] = "zī";
	dict[169740] = "yuē";
	dict[169741] = "dōng";
	dict[169746] = "nǎng";
	dict[169750] = "chóng";
	dict[169759] = "àng";
	dict[169760] = "mǎn";
	dict[169763] = "gēng";
	dict[169765] = "bō";
	dict[169766] = "dìng";
	dict[169767] = "wěi";
	dict[169772] = "quán";
	dict[169773] = "kē";
	dict[169776] = "pì";
	dict[169777] = "kǎn,sǎn";
	dict[169778] = "fú";
	dict[169779] = "yǒng";
	dict[169781] = "tuán";
	dict[169782] = "tǒu";
	dict[169783] = "yòu,niù";
	dict[169784] = "yāo";
	dict[169786] = "yē";
	dict[169789] = "yàn";
	dict[169800] = "xián";
	dict[169802] = "tí";
	dict[169804] = "suì";
	dict[169805] = "hóu";
	dict[169808] = "cí";
	dict[169809] = "xuān";
	dict[169812] = "xǔ";
	dict[169813] = "wù";
	dict[169814] = "cān";
	dict[169815] = "yù";
	dict[169818] = "chǎn";
	dict[169819] = "xiá";
	dict[169821] = "kào,gāo";
	dict[169822] = "cāng";
	dict[169823] = "chā";
	dict[169824] = "qiǔ";
	dict[169827] = "dā";
	dict[169829] = "sù";
	dict[169830] = "zhāi";
	dict[169832] = "huā";
	dict[169847] = "wū";
	dict[169848] = "yuān";
	dict[169853] = "jiàng";
	dict[169854] = "xiǎng";
	dict[169855] = "zhāi";
	dict[169856] = "sǎn,chěn,càn";
	dict[169857] = "mó,mí";
	dict[169859] = "shǎng,xiǎng";
	dict[169860] = "cáo";
	dict[169861] = "suī";
	dict[169862] = "chuáng";
	dict[169863] = "mí";
	dict[169864] = "zhú";
	dict[169865] = "chóng";
	dict[169866] = "jì";
	dict[169867] = "chóng";
	dict[169873] = "fēn";
	dict[169881] = "lián";
	dict[169886] = "hài";
	dict[169891] = "tāo";
	dict[169892] = "dūn";
	dict[169893] = "xiǎng";
	dict[169894] = "chēng";
	dict[169895] = "shǎng";
	dict[169896] = "lì";
	dict[169897] = "huáng";
	dict[169900] = "dèng";
	dict[169910] = "zā";
	dict[169911] = "liù";
	dict[169914] = "huò";
	dict[169915] = "lín";
	dict[169918] = "dú,yì";
	dict[169919] = "hàn";
	dict[169920] = "yōng,yǒng";
	dict[169921] = "yuàn,xuàn";
	dict[169922] = "guò";
	dict[169923] = "líng";
	dict[169925] = "liǎn";
	dict[169927] = "ào";
	dict[169928] = "dāng";
	dict[169929] = "yì";
	dict[169930] = "nóng";
	dict[169931] = "shàn";
	dict[169933] = "xìn";
	dict[169936] = "dá";
	dict[169937] = "yù";
	dict[169938] = "cān";
	dict[169939] = "wò";
	dict[169940] = "chá";
	dict[169941] = "bó";
	dict[169943] = "jiǎn";
	dict[169950] = "méng";
	dict[169951] = "wěi";
	dict[169952] = "mó";
	dict[169957] = "shuì,juǎn";
	dict[169958] = "jié";
	dict[169959] = "shuò";
	dict[169960] = "huò";
	dict[169963] = "chuò";
	dict[169965] = "lóng";
	dict[169966] = "huài";
	dict[169968] = "tuō";
	dict[169971] = "yú";
	dict[169972] = "sǎn";
	dict[169974] = "chàn,jié";
	dict[169975] = "yōng";
	dict[169976] = "huò";
	dict[169978] = "lǎn";
	dict[170001] = "dǐng";
	dict[170010] = "hái";
	dict[170015] = "wǔ";
	dict[170022] = "qǐ,shǒu";
	dict[170024] = "jī,qǐ";
	dict[170030] = "kuí";
	dict[170031] = "wéi";
	dict[170038] = "shǒu";
	dict[170039] = "fú";
	dict[170041] = "tuán";
	dict[170043] = "bié,hān";
	dict[170045] = "tán";
	dict[170046] = "hāng";
	dict[170047] = "piē";
	dict[170051] = "yú";
	dict[170052] = "tán,xiāng";
	dict[170060] = "xiāng";
	dict[170062] = "xiū";
	dict[170067] = "wěng";
	dict[170068] = "hài";
	dict[170069] = "péng";
	dict[170077] = "tán";
	dict[170079] = "bié";
	dict[170080] = "xiāng";
	dict[170083] = "yǐ";
	dict[170086] = "piáo";
	dict[170087] = "huán";
	dict[170088] = "mǔ";
	dict[170089] = "bā";
	dict[170091] = "fàn";
	dict[170093] = "bó";
	dict[170095] = "dīng";
	dict[170103] = "fēn,fèi";
	dict[170106] = "jiè";
	dict[170110] = "suó";
	dict[170116] = "wàn";
	dict[170117] = "gē";
	dict[170120] = "fēn";
	dict[170122] = "tuó";
	dict[170124] = "wén";
	dict[170125] = "guā";
	dict[170126] = "duō";
	dict[170128] = "zhé";
	dict[170129] = "cǐ";
	dict[170130] = "yǎo";
	dict[170132] = "bàn";
	dict[170133] = "bù";
	dict[170134] = "mò";
	dict[170136] = "pǒ";
	dict[170139] = "gé";
	dict[170142] = "liú";
	dict[170145] = "rǎn";
	dict[170152] = "gān";
	dict[170154] = "hú";
	dict[170155] = "móu";
	dict[170158] = "xiū";
	dict[170159] = "huāng";
	dict[170160] = "fú";
	dict[170161] = "huí";
	dict[170162] = "shì";
	dict[170163] = "qú";
	dict[170164] = "jié,jí";
	dict[170165] = "tuō";
	dict[170166] = "yú";
	dict[170167] = "mò";
	dict[170168] = "zhōu";
	dict[170169] = "jiù";
	dict[170171] = "shú";
	dict[170172] = "kuāng";
	dict[170173] = "qióng";
	dict[170174] = "liè";
	dict[170175] = "fù";
	dict[170186] = "xù";
	dict[170198] = "lìn";
	dict[170200] = "niè";
	dict[170202] = "pī,bǐ";
	dict[170204] = "fù";
	dict[170205] = "bù";
	dict[170206] = "yì,sà";
	dict[170209] = "bó";
	dict[170211] = "é,ě";
	dict[170217] = "zhé";
	dict[170219] = "lì";
	dict[170222] = "tù";
	dict[170223] = "dá";
	dict[170225] = "lù";
	dict[170226] = "yān";
	dict[170227] = "dōng";
	dict[170228] = "qiè";
	dict[170229] = "wǎn";
	dict[170230] = "mǐng";
	dict[170231] = "zuī,zhù";
	dict[170232] = "fù";
	dict[170233] = "qū";
	dict[170234] = "bēn";
	dict[170235] = "ǎo";
	dict[170236] = "qiāng";
	dict[170241] = "qūn";
	dict[170248] = "què";
	dict[170249] = "huá,táo";
	dict[170250] = "xiàn,jiàn";
	dict[170251] = "kùn";
	dict[170255] = "cuì";
	dict[170258] = "yí";
	dict[170262] = "chī,ér";
	dict[170263] = "zòng";
	dict[170264] = "nǎo";
	dict[170265] = "chéng";
	dict[170266] = "duān";
	dict[170267] = "yóng";
	dict[170268] = "zhě";
	dict[170270] = "tàn";
	dict[170271] = "yáng";
	dict[170272] = "xié";
	dict[170273] = "xuān";
	dict[170275] = "duàn";
	dict[170276] = "shuǎ";
	dict[170277] = "xián";
	dict[170278] = "xián";
	dict[170281] = "é";
	dict[170290] = "lā";
	dict[170296] = "wèi";
	dict[170297] = "yōu";
	dict[170298] = "yú";
	dict[170301] = "tī";
	dict[170303] = "jīn";
	dict[170305] = "táng";
	dict[170306] = "qí";
	dict[170307] = "méng";
	dict[170308] = "diān";
	dict[170309] = "tāo";
	dict[170310] = "lǜ";
	dict[170311] = "zhàn";
	dict[170312] = "wēn";
	dict[170313] = "jì";
	dict[170314] = "āo,jiāo";
	dict[170315] = "òu,dú";
	dict[170316] = "qià";
	dict[170317] = "xīng";
	dict[170320] = "shī";
	dict[170321] = "tǎ";
	dict[170324] = "mò";
	dict[170328] = "yóu";
	dict[170336] = "zhá";
	dict[170339] = "yáo";
	dict[170347] = "chōng";
	dict[170348] = "lí";
	dict[170349] = "yú";
	dict[170350] = "chǎn";
	dict[170351] = "yī";
	dict[170354] = "chì";
	dict[170356] = "lí";
	dict[170365] = "tú";
	dict[170367] = "zú";
	dict[170370] = "xián";
	dict[170375] = "xì";
	dict[170377] = "bié";
	dict[170378] = "hán,qiān";
	dict[170379] = "qí";
	dict[170380] = "sāng,shuāng";
	dict[170382] = "fēi,fěi";
	dict[170384] = "shàn,huō";
	dict[170392] = "huān";
	dict[170400] = "bàng";
	dict[170401] = "yú";
	dict[170402] = "yú";
	dict[170404] = "jí";
	dict[170417] = "kuǎi";
	dict[170418] = "zōng";
	dict[170423] = "tiě";
	dict[170425] = "xiàn";
	dict[170426] = "méng";
	dict[170432] = "tiě";
	dict[170433] = "zhòu";
	dict[170435] = "lì";
	dict[170436] = "zhì";
	dict[170437] = "fán";
	dict[170438] = "liè,là";
	dict[170439] = "cài";
	dict[170440] = "dú";
	dict[170441] = "guāng";
	dict[170442] = "xiòng";
	dict[170443] = "lí";
	dict[170444] = "qì";
	dict[170447] = "jué";
	dict[170448] = "tuō";
	dict[170450] = "jù";
	dict[170451] = "xiāo";
	dict[170456] = "qú";
	dict[170460] = "zhuǎn";
	dict[170465] = "jué";
	dict[170476] = "rǎn";
	dict[170491] = "wǎn";
	dict[170513] = "tīng";
	dict[170514] = "jī";
	dict[170515] = "qiān";
	dict[170516] = "hú,huá";
	dict[170519] = "yú";
	dict[170520] = "qì,gē";
	dict[170521] = "yú";
	dict[170522] = "wā";
	dict[170524] = "bǎ";
	dict[170525] = "qí";
	dict[170526] = "sǎ";
	dict[170527] = "qiāo";
	dict[170528] = "yà";
	dict[170529] = "xiǎn,sǎn";
	dict[170536] = "cī";
	dict[170537] = "fàn";
	dict[170539] = "kǔn";
	dict[170540] = "gǔn";
	dict[170541] = "quē";
	dict[170542] = "è";
	dict[170543] = "qióng";
	dict[170546] = "mà";
	dict[170547] = "kū,dū";
	dict[170548] = "yǎo";
	dict[170551] = "quē";
	dict[170552] = "chū";
	dict[170553] = "jiǎ";
	dict[170555] = "zhǔ";
	dict[170557] = "duī";
	dict[170558] = "wá";
	dict[170560] = "nǎo";
	dict[170564] = "yán";
	dict[170565] = "tóng";
	dict[170571] = "xíng,jìng";
	dict[170572] = "gǔn";
	dict[170573] = "pīng";
	dict[170577] = "yǔ";
	dict[170578] = "hè";
	dict[170580] = "zhuó";
	dict[170583] = "shē";
	dict[170584] = "yǔ";
	dict[170587] = "jì";
	dict[170589] = "qiāng";
	dict[170590] = "shuì";
	dict[170591] = "chuò";
	dict[170592] = "zú";
	dict[170593] = "léng";
	dict[170594] = "ní";
	dict[170596] = "wā";
	dict[170597] = "zhá";
	dict[170599] = "dàn";
	dict[170606] = "dù";
	dict[170607] = "biàn";
	dict[170608] = "jiē,hái";
	dict[170609] = "qià";
	dict[170610] = "hé";
	dict[170611] = "chòng";
	dict[170612] = "yán";
	dict[170614] = "yàn";
	dict[170618] = "sóng";
	dict[170619] = "téng";
	dict[170620] = "yǎo";
	dict[170622] = "kāo";
	dict[170624] = "zhuī";
	dict[170625] = "guì";
	dict[170626] = "ái";
	dict[170627] = "hài";
	dict[170630] = "tǐ";
	dict[170632] = "suǒ";
	dict[170633] = "xù";
	dict[170634] = "biāo";
	dict[170636] = "fèng";
	dict[170637] = "qū,shū";
	dict[170638] = "mǎng";
	dict[170640] = "guó";
	dict[170646] = "bì";
	dict[170647] = "jué";
	dict[170648] = "chuáng";
	dict[170651] = "pú";
	dict[170655] = "yì";
	dict[170658] = "qiān";
	dict[170659] = "yì";
	dict[170660] = "è";
	dict[170661] = "líng";
	dict[170662] = "suǐ";
	dict[170663] = "bì";
	dict[170669] = "huò";
	dict[170670] = "mǒ,mó";
	dict[170673] = "xūn";
	dict[170676] = "yàn";
	dict[170680] = "lì";
	dict[170682] = "tán";
	dict[170686] = "luán";
	dict[170688] = "kài";
	dict[170689] = "mào";
	dict[170690] = "xiāo";
	dict[170695] = "ǎi";
	dict[170698] = "tǎ";
	dict[170701] = "mèi";
	dict[170703] = "guō,yōng";
	dict[170707] = "gǎo";
	dict[170708] = "náo";
	dict[170709] = "háo";
	dict[170710] = "guō";
	dict[170714] = "háo";
	dict[170720] = "quē";
	dict[170725] = "cáo";
	dict[170726] = "sào";
	dict[170731] = "pí";
	dict[170738] = "xiē";
	dict[170739] = "xiāo";
	dict[170740] = "jú";
	dict[170745] = "chéng";
	dict[170746] = "nǎo";
	dict[170752] = "nèi";
	dict[170765] = "mǔ";
	dict[170767] = "shāo";
	dict[170769] = "diān,chān";
	dict[170772] = "líng";
	dict[170774] = "zhěn";
	dict[170775] = "yǎo";
	dict[170777] = "fù,fū";
	dict[170778] = "qián,gàn";
	dict[170779] = "qióng";
	dict[170780] = "jú";
	dict[170781] = "bìng,fǎng";
	dict[170782] = "máo,mán,mián";
	dict[170783] = "zhà";
	dict[170784] = "tāi";
	dict[170795] = "zhǎi";
	dict[170797] = "shī";
	dict[170798] = "yòng";
	dict[170800] = "qióng";
	dict[170801] = "dào";
	dict[170802] = "tì";
	dict[170803] = "zhuǐ";
	dict[170805] = "yìn";
	dict[170807] = "nǎo";
	dict[170808] = "bō";
	dict[170809] = "kuāng";
	dict[170810] = "zhǐ";
	dict[170811] = "duǒ";
	dict[170812] = "cōng";
	dict[170813] = "bǎo";
	dict[170823] = "lí";
	dict[170826] = "jú";
	dict[170827] = "wén,kūn";
	dict[170828] = "liè";
	dict[170831] = "wǒ";
	dict[170832] = "shǐ";
	dict[170833] = "niǎo";
	dict[170834] = "máng";
	dict[170835] = "jiū";
	dict[170840] = "xiū";
	dict[170843] = "jiǎo";
	dict[170845] = "wō";
	dict[170847] = "dào";
	dict[170849] = "xī";
	dict[170850] = "àn";
	dict[170851] = "dá";
	dict[170852] = "zǒng,zōng";
	dict[170853] = "hàn";
	dict[170854] = "chuí";
	dict[170855] = "bī,bān";
	dict[170857] = "dòng";
	dict[170859] = "zhǎng";
	dict[170863] = "yā";
	dict[170866] = "dí";
	dict[170867] = "huō";
	dict[170871] = "mín";
	dict[170874] = "fù";
	dict[170876] = "bǎo";
	dict[170877] = "kè";
	dict[170878] = "máo";
	dict[170879] = "rè";
	dict[170880] = "zōng,zǒng,sōng";
	dict[170881] = "qià";
	dict[170882] = "xiā";
	dict[170883] = "sōu";
	dict[170884] = "xiū";
	dict[170885] = "nà";
	dict[170889] = "mán,mián";
	dict[170894] = "zhā";
	dict[170895] = "chán";
	dict[170896] = "shè";
	dict[170897] = "wǒ";
	dict[170902] = "ái";
	dict[170903] = "bàng,péng,fǎng";
	dict[170904] = "hāo";
	dict[170906] = "sāo";
	dict[170907] = "suǒ";
	dict[170908] = "tì";
	dict[170909] = "yà";
	dict[170911] = "bìng";
	dict[170912] = "róng";
	dict[170923] = "shā";
	dict[170924] = "wěng";
	dict[170927] = "áo";
	dict[170929] = "zhuāng";
	dict[170931] = "piào,piǎo,piē";
	dict[170932] = "suī,cuǐ";
	dict[170933] = "yī";
	dict[170934] = "sōu";
	dict[170935] = "dōu";
	dict[170936] = "sōu,nà";
	dict[170937] = "luó";
	dict[170947] = "fèi,bì";
	dict[170948] = "zùn";
	dict[170950] = "nào";
	dict[170951] = "dēng";
	dict[170952] = "zhí";
	dict[170953] = "cuō";
	dict[170954] = "liáo";
	dict[170955] = "jǐ";
	dict[170956] = "bō";
	dict[170957] = "cóng";
	dict[170958] = "chéng";
	dict[170959] = "bǔ";
	dict[170961] = "sān";
	dict[170968] = "jiào";
	dict[170971] = "yào";
	dict[170972] = "lǔ";
	dict[170974] = "càn";
	dict[170984] = "nǐ";
	dict[170987] = "bìn";
	dict[170992] = "jié,jì";
	dict[170993] = "pú";
	dict[170994] = "zhuàng";
	dict[170995] = "zàn,zuǎn,zā";
	dict[171002] = "lì";
	dict[171005] = "là";
	dict[171008] = "chōng";
	dict[171011] = "zhàn";
	dict[171021] = "biàn";
	dict[171022] = "wēng";
	dict[171027] = "hòng";
	dict[171031] = "pīn";
	dict[171033] = "sè";
	dict[171038] = "nǐ";
	dict[171039] = "fēn";
	dict[171040] = "xǔ";
	dict[171042] = "shǐ";
	dict[171044] = "jù";
	dict[171048] = "jué";
	dict[171050] = "yù";
	dict[171051] = "guō";
	dict[171052] = "guō,wāi";
	dict[171053] = "guō";
	dict[171055] = "hú";
	dict[171057] = "shāng";
	dict[171058] = "lì,fèi";
	dict[171059] = "xié";
	dict[171060] = "ér";
	dict[171061] = "yuán";
	dict[171062] = "hái,bèn";
	dict[171065] = "jìng";
	dict[171067] = "kè";
	dict[171069] = "zōng";
	dict[171070] = "fèi";
	dict[171072] = "pēng";
	dict[171073] = "gēng";
	dict[171075] = "jiān";
	dict[171076] = "ní";
	dict[171078] = "xián";
	dict[171079] = "lì";
	dict[171080] = "chǎo";
	dict[171082] = "ér,xiàn";
	dict[171083] = "gēng,pēng";
	dict[171084] = "yù";
	dict[171085] = "hú";
	dict[171086] = "fèi";
	dict[171087] = "áo";
	dict[171091] = "ěr";
	dict[171096] = "kè";
	dict[171097] = "kù";
	dict[171098] = "bó";
	dict[171101] = "yè";
	dict[171102] = "jiào";
	dict[171105] = "zhān";
	dict[171110] = "chǎo";
	dict[171111] = "gēng";
	dict[171112] = "rù";
	dict[171114] = "yuè";
	dict[171115] = "sù";
	dict[171116] = "lín";
	dict[171121] = "yù";
	dict[171122] = "yuè";
	dict[171123] = "zhāi";
	dict[171124] = "xiāo";
	dict[171127] = "miè";
	dict[171128] = "miè";
	dict[171131] = "guǐ";
	dict[171132] = "jiū";
	dict[171134] = "tuò";
	dict[171137] = "xí";
	dict[171138] = "wěi";
	dict[171139] = "zhuó";
	dict[171140] = "wèi";
	dict[171141] = "kuí";
	dict[171144] = "mèi,wéi";
	dict[171145] = "mèi";
	dict[171146] = "hào";
	dict[171147] = "hāng";
	dict[171148] = "fāng";
	dict[171149] = "niú";
	dict[171150] = "yòu";
	dict[171151] = "huà";
	dict[171168] = "zhú";
	dict[171169] = "guǐ";
	dict[171170] = "bì,mèi";
	dict[171171] = "jiǎ";
	dict[171172] = "tiáo";
	dict[171174] = "lǜ";
	dict[171175] = "kǒng";
	dict[171176] = "zuǐ";
	dict[171177] = "líng";
	dict[171178] = "qí";
	dict[171180] = "zhú";
	dict[171185] = "gǔ";
	dict[171186] = "zù";
	dict[171188] = "yāng";
	dict[171189] = "sū";
	dict[171191] = "kuí";
	dict[171193] = "chāng";
	dict[171195] = "yáo";
	dict[171198] = "yù";
	dict[171205] = "shū";
	dict[171206] = "lài";
	dict[171207] = "yì";
	dict[171208] = "dōu";
	dict[171211] = "hū";
	dict[171212] = "wú";
	dict[171213] = "yǐng";
	dict[171214] = "fú";
	dict[171215] = "zhuàn";
	dict[171216] = "fǔ";
	dict[171217] = "yòu";
	dict[171218] = "sù";
	dict[171219] = "lǐ";
	dict[171220] = "yào";
	dict[171221] = "tuì,tì";
	dict[171229] = "guì";
	dict[171233] = "lǜ";
	dict[171234] = "yàn";
	dict[171235] = "qí";
	dict[171236] = "làng,chāng";
	dict[171237] = "zhú";
	dict[171239] = "guǐ";
	dict[171240] = "hū";
	dict[171241] = "chī";
	dict[171247] = "jīng";
	dict[171250] = "chǐ";
	dict[171253] = "jú";
	dict[171254] = "zhá";
	dict[171256] = "miáo";
	dict[171264] = "zhū";
	dict[171265] = "gān";
	dict[171266] = "xiōng";
	dict[171267] = "jí";
	dict[171271] = "shài";
	dict[171272] = "mèi";
	dict[171273] = "yùn";
	dict[171277] = "shòu";
	dict[171280] = "lǜ";
	dict[171281] = "yòu";
	dict[171282] = "jiàng";
	dict[171283] = "nuó";
	dict[171288] = "jù";
	dict[171289] = "yòu";
	dict[171292] = "yì";
	dict[171293] = "téng";
	dict[171294] = "wéi";
	dict[171295] = "chě";
	dict[171296] = "lìn";
	dict[171297] = "gù";
	dict[171299] = "lì";
	dict[171300] = "liào";
	dict[171303] = "jiāo";
	dict[171304] = "yáng";
	dict[171305] = "biāo";
	dict[171306] = "qí";
	dict[171310] = "yì";
	dict[171313] = "bīn";
	dict[171314] = "méng";
	dict[171315] = "chà";
	dict[171316] = "nuó";
	dict[171317] = "gān";
	dict[171321] = "qú";
	dict[171322] = "dí";
	dict[171323] = "léi";
	dict[171328] = "líng";
	dict[171332] = "huān";
	dict[171333] = "qú";
	dict[171335] = "luó";
	dict[171337] = "kuí";
	dict[171339] = "yú";
	dict[171341] = "qiú";
	dict[171342] = "yǔ,yú";
	dict[171343] = "huà";
	dict[171347] = "lèi";
	dict[171349] = "rèn,dāo";
	dict[171350] = "xiǎo";
	dict[171351] = "sì";
	dict[171354] = "dù";
	dict[171355] = "biē";
	dict[171360] = "niú,wěi";
	dict[171362] = "hè,zā";
	dict[171363] = "pēi";
	dict[171365] = "fèi";
	dict[171366] = "mù";
	dict[171369] = "fū";
	dict[171372] = "hú";
	dict[171373] = "wáng";
	dict[171374] = "shā,xiǎo";
	dict[171376] = "jiāo,qiū";
	dict[171377] = "wǔ";
	dict[171385] = "fù";
	dict[171393] = "bǐng";
	dict[171394] = "zhù";
	dict[171396] = "zhú";
	dict[171397] = "chī";
	dict[171399] = "shěn";
	dict[171400] = "hū";
	dict[171401] = "bū";
	dict[171406] = "rǎn";
	dict[171409] = "lǔ";
	dict[171414] = "mù";
	dict[171416] = "lì";
	dict[171419] = "jiā";
	dict[171422] = "mà,háng";
	dict[171425] = "méng";
	dict[171426] = "móu";
	dict[171427] = "zhōu";
	dict[171428] = "xiǎn";
	dict[171429] = "huǐ,hóng";
	dict[171430] = "guài";
	dict[171431] = "jiù";
	dict[171433] = "mù";
	dict[171434] = "chī";
	dict[171435] = "rù,xuè";
	dict[171437] = "wú";
	dict[171439] = "rú";
	dict[171441] = "zhà";
	dict[171457] = "nuǒ";
	dict[171458] = "xié";
	dict[171460] = "jiàng";
	dict[171467] = "lǐ";
	dict[171468] = "shū";
	dict[171469] = "yì";
	dict[171470] = "dí";
	dict[171471] = "qíng";
	dict[171472] = "jú";
	dict[171473] = "yǎn";
	dict[171475] = "zhì";
	dict[171477] = "láng";
	dict[171478] = "bù";
	dict[171479] = "kuáng";
	dict[171480] = "yì";
	dict[171482] = "bó";
	dict[171495] = "chì";
	dict[171501] = "jiàng";
	dict[171503] = "wò";
	dict[171504] = "xùn";
	dict[171509] = "tūn";
	dict[171510] = "máng";
	dict[171512] = "fáng";
	dict[171513] = "zhuó";
	dict[171515] = "qià";
	dict[171516] = "shèng";
	dict[171517] = "tǎ";
	dict[171518] = "qí";
	dict[171520] = "pèng";
	dict[171521] = "biē";
	dict[171522] = "fèn,pèn";
	dict[171523] = "tù";
	dict[171524] = "huà";
	dict[171527] = "è";
	dict[171531] = "è,yā";
	dict[171534] = "dìng";
	dict[171536] = "rú";
	dict[171542] = "è";
	dict[171550] = "yàn,qí";
	dict[171551] = "sì";
	dict[171554] = "lí";
	dict[171557] = "yíng";
	dict[171558] = "ní";
	dict[171559] = "ní";
	dict[171560] = "yí";
	dict[171561] = "huàn";
	dict[171576] = "qī";
	dict[171577] = "mí";
	dict[171582] = "yé";
	dict[171583] = "pō";
	dict[171584] = "còu";
	dict[171586] = "wèi";
	dict[171588] = "hài";
	dict[171589] = "yīng";
	dict[171591] = "tíng";
	dict[171592] = "zhì";
	dict[171593] = "fēi";
	dict[171594] = "yóu";
	dict[171597] = "kuí";
	dict[171598] = "àn";
	dict[171599] = "bà";
	dict[171601] = "hàn";
	dict[171613] = "dú";
	dict[171614] = "nán";
	dict[171615] = "nài";
	dict[171618] = "jīng";
	dict[171621] = "wēi";
	dict[171633] = "chù";
	dict[171635] = "suǒ";
	dict[171636] = "tāo";
	dict[171637] = "qí";
	dict[171638] = "táng";
	dict[171639] = "wěi";
	dict[171640] = "gǎn";
	dict[171642] = "gé";
	dict[171644] = "hàn";
	dict[171646] = "nà";
	dict[171647] = "gé";
	dict[171648] = "jì";
	dict[171652] = "zhēng";
	dict[171671] = "tǎ,dá";
	dict[171675] = "sī";
	dict[171677] = "nì";
	dict[171678] = "sǎng";
	dict[171691] = "xié";
	dict[171695] = "zú";
	dict[171696] = "yú,wú";
	dict[171697] = "nì";
	dict[171698] = "qī";
	dict[171701] = "shēn";
	dict[171708] = "bū";
	dict[171721] = "zhì";
	dict[171723] = "kūn";
	dict[171724] = "lí";
	dict[171726] = "guā";
	dict[171734] = "yǎn";
	dict[171735] = "bù";
	dict[171736] = "jiàn";
	dict[171738] = "wú";
	dict[171739] = "cén,jīn";
	dict[171740] = "lín";
	dict[171741] = "zhuàn";
	dict[171743] = "huī";
	dict[171745] = "tóng";
	dict[171746] = "zhǎ";
	dict[171748] = "hēi";
	dict[171751] = "guǒ";
	dict[171761] = "jǐng";
	dict[171763] = "lí";
	dict[171765] = "dié";
	dict[171767] = "yíng";
	dict[171772] = "zhì";
	dict[171778] = "wěi";
	dict[171780] = "jì";
	dict[171781] = "rǒng";
	dict[171784] = "ào,yǒu";
	dict[171785] = "dāng,hān";
	dict[171786] = "luó";
	dict[171787] = "yè";
	dict[171788] = "wēi";
	dict[171794] = "qiáng";
	dict[171796] = "nián";
	dict[171801] = "gé";
	dict[171802] = "jì";
	dict[171814] = "zòu";
	dict[171816] = "yí";
	dict[171818] = "yú";
	dict[171819] = "zhǎ";
	dict[171821] = "liè";
	dict[171828] = "yè";
	dict[171836] = "zhān";
	dict[171840] = "chóu";
	dict[171841] = "biāo";
	dict[171846] = "xù";
	dict[171847] = "yōu";
	dict[171853] = "xiè";
	dict[171854] = "wéi";
	dict[171855] = "lì";
	dict[171867] = "bó";
	dict[171868] = "jiǎn";
	dict[171869] = "chán";
	dict[171870] = "kūn";
	dict[171873] = "qíng";
	dict[171879] = "shuāng";
	dict[171880] = "xī";
	dict[171881] = "qú";
	dict[171888] = "luó";
	dict[171891] = "dǎng";
	dict[171892] = "nián";
	dict[171893] = "lǐ";
	dict[171895] = "bà";
	dict[171922] = "xiāo";
	dict[171923] = "xiāo";
	dict[171924] = "cì";
	dict[171925] = "chì";
	dict[171927] = "diāo,jiāo";
	dict[171928] = "yì";
	dict[171930] = "dīng";
	dict[171933] = "hàn,yàn";
	dict[171934] = "wán";
	dict[171936] = "yǐ";
	dict[171937] = "bào";
	dict[171938] = "yì,yuān";
	dict[171943] = "xùn";
	dict[171948] = "xiáng";
	dict[171955] = "bí";
	dict[171956] = "jiè";
	dict[171958] = "jié";
	dict[171959] = "gē";
	dict[171960] = "zè,yàn";
	dict[171962] = "zhèn";
	dict[171963] = "hú";
	dict[171964] = "xī";
	dict[171965] = "xīn";
	dict[171966] = "xiāo,jiāo";
	dict[171967] = "fù";
	dict[171968] = "zhòng";
	dict[171970] = "mào";
	dict[171971] = "xīn";
	dict[171972] = "qiāng";
	dict[171973] = "xióng";
	dict[171976] = "fén,fēn";
	dict[171977] = "bān";
	dict[171978] = "huān";
	dict[171985] = "jiāo";
	dict[171987] = "bào";
	dict[171988] = "yā";
	dict[171989] = "yáo";
	dict[171995] = "xì";
	dict[171997] = "jù";
	dict[171999] = "qù";
	dict[172e3] = "yuè";
	dict[172001] = "tái";
	dict[172002] = "tǒu";
	dict[172003] = "mò";
	dict[172004] = "zhá";
	dict[172005] = "qú";
	dict[172007] = "fū";
	dict[172009] = "qú,duó";
	dict[172010] = "chì";
	dict[172012] = "yóu";
	dict[172023] = "tí";
	dict[172026] = "wā";
	dict[172029] = "tuó";
	dict[172033] = "gē";
	dict[172040] = "yuān";
	dict[172041] = "gē,kě";
	dict[172042] = "qú,gōu,gòu";
	dict[172047] = "jù,jiū";
	dict[172048] = "fú";
	dict[172050] = "dié";
	dict[172051] = "yí";
	dict[172052] = "shī";
	dict[172053] = "yì";
	dict[172054] = "qiū";
	dict[172055] = "guǐ";
	dict[172056] = "jiàng";
	dict[172058] = "sōng";
	dict[172059] = "qióng";
	dict[172061] = "è,yuān";
	dict[172062] = "huāng";
	dict[172063] = "huí";
	dict[172064] = "xún";
	dict[172067] = "jú";
	dict[172069] = "zhái";
	dict[172070] = "chì";
	dict[172071] = "lǎo";
	dict[172073] = "qí,dàn,chú";
	dict[172074] = "xiū";
	dict[172076] = "huī";
	dict[172077] = "tóng";
	dict[172090] = "fù";
	dict[172093] = "xún,xīn";
	dict[172094] = "jié";
	dict[172095] = "mǐ";
	dict[172096] = "yù";
	dict[172104] = "zhuàng";
	dict[172105] = "jiāo";
	dict[172106] = "zhì,zhé";
	dict[172107] = "chéng";
	dict[172109] = "jié";
	dict[172110] = "xiāo";
	dict[172111] = "chén";
	dict[172112] = "lí";
	dict[172113] = "yuè";
	dict[172115] = "zhì";
	dict[172116] = "láo";
	dict[172117] = "wò";
	dict[172118] = "qú";
	dict[172120] = "wāng";
	dict[172122] = "yī";
	dict[172123] = "yì";
	dict[172124] = "láng";
	dict[172126] = "tóu";
	dict[172127] = "ān,hàn";
	dict[172128] = "jué";
	dict[172129] = "yàn";
	dict[172133] = "jù";
	dict[172135] = "zhèn,chén";
	dict[172137] = "zhì,tí";
	dict[172138] = "mǎng";
	dict[172142] = "xiù";
	dict[172145] = "chuáng";
	dict[172146] = "chū";
	dict[172152] = "qiāng";
	dict[172153] = "fēi";
	dict[172154] = "cháng,chǎng";
	dict[172156] = "mián";
	dict[172157] = "sù";
	dict[172158] = "ǎo,wò";
	dict[172160] = "fǔ";
	dict[172163] = "bēi";
	dict[172164] = "wèi";
	dict[172165] = "zhī";
	dict[172166] = "mín";
	dict[172167] = "chāng";
	dict[172168] = "yán";
	dict[172169] = "yù";
	dict[172171] = "fù";
	dict[172172] = "tà";
	dict[172173] = "jǐ";
	dict[172175] = "fèi";
	dict[172178] = "hú";
	dict[172179] = "jū";
	dict[172181] = "yǔ";
	dict[172186] = "lù";
	dict[172187] = "qí";
	dict[172188] = "méi";
	dict[172191] = "biē";
	dict[172192] = "guǒ";
	dict[172196] = "mìng";
	dict[172198] = "wǎn,yuān";
	dict[172199] = "wǎn";
	dict[172212] = "jīng";
	dict[172213] = "yù";
	dict[172214] = "xián";
	dict[172217] = "chūn";
	dict[172218] = "jí";
	dict[172220] = "xiāng";
	dict[172221] = "pén";
	dict[172222] = "fù";
	dict[172223] = "tí";
	dict[172226] = "liú";
	dict[172228] = "sāi";
	dict[172229] = "xuē";
	dict[172230] = "zòu";
	dict[172232] = "jié";
	dict[172235] = "zhān,jiān";
	dict[172237] = "yú";
	dict[172238] = "yú";
	dict[172239] = "méi";
	dict[172240] = "miǎo";
	dict[172241] = "mào";
	dict[172242] = "duó";
	dict[172243] = "fù";
	dict[172251] = "jiàn";
	dict[172262] = "miáo";
	dict[172263] = "miǎo";
	dict[172264] = "āo";
	dict[172269] = "kè";
	dict[172278] = "hóu";
	dict[172282] = "gòu";
	dict[172284] = "xī";
	dict[172286] = "róng";
	dict[172287] = "gē";
	dict[172288] = "pán";
	dict[172289] = "yuán";
	dict[172290] = "xià";
	dict[172293] = "shā";
	dict[172294] = "pī,pí";
	dict[172296] = "qíng";
	dict[172297] = "yōng";
	dict[172298] = "qú";
	dict[172300] = "gòng";
	dict[172302] = "gé";
	dict[172303] = "xiān";
	dict[172305] = "sù";
	dict[172309] = "bān";
	dict[172310] = "qí";
	dict[172311] = "hòu";
	dict[172315] = "xī";
	dict[172317] = "wū";
	dict[172320] = "chì";
	dict[172333] = "qī";
	dict[172334] = "hù,gù";
	dict[172335] = "guī";
	dict[172337] = "dí";
	dict[172338] = "shāng";
	dict[172339] = "mài";
	dict[172340] = "mǐn";
	dict[172341] = "jì";
	dict[172342] = "xí";
	dict[172343] = "xiān";
	dict[172344] = "jí";
	dict[172345] = "cháng";
	dict[172346] = "kòu";
	dict[172347] = "chōng,zhuāng";
	dict[172348] = "yǎo";
	dict[172352] = "nán";
	dict[172354] = "zhāng";
	dict[172355] = "piǎo,piāo";
	dict[172356] = "sù";
	dict[172357] = "lüè";
	dict[172358] = "lí";
	dict[172359] = "mèng";
	dict[172360] = "chōng";
	dict[172361] = "tiān";
	dict[172363] = "líng";
	dict[172365] = "chì";
	dict[172374] = "chōng,zhuāng";
	dict[172377] = "chì";
	dict[172381] = "niǎo";
	dict[172383] = "yóng";
	dict[172385] = "liù";
	dict[172398] = "mì";
	dict[172400] = "shū";
	dict[172402] = "xì";
	dict[172403] = "liú";
	dict[172404] = "è";
	dict[172405] = "zī";
	dict[172408] = "jié";
	dict[172409] = "jī";
	dict[172410] = "hōu";
	dict[172411] = "shèng";
	dict[172412] = "lì";
	dict[172414] = "qī";
	dict[172416] = "zhōu";
	dict[172417] = "sī";
	dict[172418] = "qú";
	dict[172420] = "jiāo";
	dict[172427] = "xié";
	dict[172435] = "sī";
	dict[172438] = "yì";
	dict[172439] = "sī";
	dict[172443] = "xū";
	dict[172448] = "fù";
	dict[172457] = "jiù";
	dict[172459] = "qú";
	dict[172463] = "nóng";
	dict[172464] = "yà";
	dict[172465] = "liú";
	dict[172466] = "jiǎ,zhān";
	dict[172467] = "guī";
	dict[172468] = "kuí";
	dict[172469] = "chì";
	dict[172470] = "càn";
	dict[172471] = "chú";
	dict[172473] = "guō";
	dict[172475] = "dǎn";
	dict[172479] = "jiàn";
	dict[172481] = "dāng";
	dict[172482] = "hòu";
	dict[172484] = "kòu,kū";
	dict[172486] = "chù,dú";
	dict[172487] = "qiān";
	dict[172488] = "ài";
	dict[172490] = "pì";
	dict[172497] = "xùn";
	dict[172498] = "jīng";
	dict[172499] = "mèng";
	dict[172501] = "bīn";
	dict[172502] = "lán";
	dict[172503] = "gǔ";
	dict[172504] = "chóu,táo";
	dict[172507] = "yōng";
	dict[172508] = "guá";
	dict[172509] = "yú";
	dict[172510] = "zhòu";
	dict[172524] = "yù";
	dict[172525] = "cài";
	dict[172527] = "liú";
	dict[172528] = "bǔ";
	dict[172529] = "luò";
	dict[172530] = "jié";
	dict[172531] = "zhēn";
	dict[172532] = "miè";
	dict[172533] = "guǎng";
	dict[172535] = "jiá";
	dict[172537] = "là";
	dict[172544] = "shòu";
	dict[172545] = "zhēn";
	dict[172547] = "guō";
	dict[172549] = "jú";
	dict[172550] = "mèng";
	dict[172551] = "qián";
	dict[172552] = "lài";
	dict[172554] = "hé";
	dict[172555] = "tuán";
	dict[172561] = "huī";
	dict[172562] = "lú";
	dict[172568] = "hōng";
	dict[172572] = "lǚ";
	dict[172575] = "jiá";
	dict[172581] = "guī";
	dict[172584] = "yī";
	dict[172585] = "huān";
	dict[172592] = "luó";
	dict[172596] = "jué";
	dict[172600] = "guàn";
	dict[172603] = "quán";
	dict[172604] = "niǎo";
	dict[172607] = "mán";
	dict[172627] = "niǎo";
	dict[172630] = "lǔ";
	dict[172631] = "chì";
	dict[172632] = "tóu";
	dict[172634] = "jiē";
	dict[172636] = "zhān";
	dict[172642] = "jīn";
	dict[172643] = "lǔ";
	dict[172644] = "cuó";
	dict[172646] = "jiàn,jiǎn,gàn";
	dict[172647] = "tàn";
	dict[172648] = "chāng";
	dict[172650] = "cì";
	dict[172653] = "wāi";
	dict[172654] = "còu";
	dict[172655] = "kàn";
	dict[172657] = "biàn";
	dict[172663] = "tán";
	dict[172664] = "wēn";
	dict[172667] = "qiān";
	dict[172671] = "gàn";
	dict[172674] = "huì";
	dict[172676] = "gǎn,gàn";
	dict[172678] = "jì";
	dict[172679] = "gàn,tàn";
	dict[172681] = "huái";
	dict[172683] = "jǐ";
	dict[172685] = "sì";
	dict[172688] = "fū";
	dict[172693] = "pí";
	dict[172695] = "cā";
	dict[172700] = "bèn";
	dict[172706] = "shǐ";
	dict[172709] = "huán";
	dict[172711] = "guī";
	dict[172712] = "jǐ";
	dict[172714] = "ǒu";
	dict[172723] = "páo";
	dict[172725] = "yǐng";
	dict[172726] = "tǐng";
	dict[172727] = "xiào";
	dict[172729] = "zhù";
	dict[172731] = "yú";
	dict[172737] = "jiàn";
	dict[172740] = "qǔ";
	dict[172741] = "wǎn";
	dict[172742] = "kūn";
	dict[172743] = "zhuī";
	dict[172745] = "yù";
	dict[172746] = "guǒ";
	dict[172747] = "píng";
	dict[172748] = "zuǐ";
	dict[172749] = "zú";
	dict[172751] = "zhū";
	dict[172752] = "nuàn";
	dict[172753] = "zhū";
	dict[172758] = "piāo";
	dict[172759] = "mí";
	dict[172764] = "bì";
	dict[172765] = "sù";
	dict[172769] = "pú";
	dict[172770] = "mí";
	dict[172775] = "shè";
	dict[172779] = "yè";
	dict[172780] = "yǔ";
	dict[172782] = "yù";
	dict[172784] = "zhǔ";
	dict[172787] = "líng";
	dict[172794] = "nòu";
	dict[172795] = "chén";
	dict[172798] = "líng";
	dict[172800] = "liǎo";
	dict[172802] = "tuō";
	dict[172804] = "bǐ";
	dict[172805] = "nà";
	dict[172806] = "qú";
	dict[172808] = "pí";
	dict[172809] = "dǒu";
	dict[172810] = "niè";
	dict[172811] = "tún";
	dict[172813] = "jī";
	dict[172815] = "líng";
	dict[172819] = "kù";
	dict[172820] = "sù";
	dict[172824] = "tǒu";
	dict[172830] = "nái";
	dict[172831] = "zé";
	dict[172834] = "tǒng";
	dict[172835] = "gé";
	dict[172836] = "duī";
	dict[172839] = "jié";
	dict[172841] = "tián";
	dict[172842] = "tiào";
	dict[172843] = "chí";
	dict[172844] = "qū,chǎo";
	dict[172846] = "shā,suō";
	dict[172848] = "bó";
	dict[172849] = "lí";
	dict[172851] = "luò";
	dict[172853] = "liáo";
	dict[172854] = "shù";
	dict[172855] = "děng";
	dict[172857] = "chī";
	dict[172858] = "miè";
	dict[172860] = "táo";
	dict[172861] = "hún";
	dict[172863] = "nié";
	dict[172865] = "jùn";
	dict[172866] = "hù";
	dict[172868] = "lù";
	dict[172869] = "yè";
	dict[172871] = "mò,chǎo";
	dict[172872] = "chào";
	dict[172876] = "suò";
	dict[172878] = "kē";
	dict[172879] = "fù";
	dict[172881] = "chǎo";
	dict[172884] = "suǒ";
	dict[172887] = "qiū";
	dict[172891] = "sù,xiè";
	dict[172893] = "yùn";
	dict[172895] = "suǒ";
	dict[172896] = "kū";
	dict[172897] = "bó";
	dict[172899] = "lǒu";
	dict[172900] = "mò";
	dict[172902] = "liǎn";
	dict[172903] = "xuàn";
	dict[172904] = "suǒ";
	dict[172905] = "mán";
	dict[172906] = "bì";
	dict[172914] = "tì";
	dict[172916] = "lián";
	dict[172917] = "tán";
	dict[172918] = "shàn";
	dict[172920] = "qú";
	dict[172921] = "dú";
	dict[172922] = "huán,huàn";
	dict[172923] = "sào";
	dict[172927] = "kuàng";
	dict[172931] = "niè";
	dict[172933] = "niè";
	dict[172934] = "luó";
	dict[172935] = "zuó";
	dict[172938] = "chǎo";
	dict[172939] = "tiè";
	dict[172946] = "shuò";
	dict[172948] = "mǐ";
	dict[172951] = "mí";
	dict[172955] = "wǎn";
	dict[172957] = "bèn";
	dict[172958] = "qiāng";
	dict[172960] = "mǒ";
	dict[172963] = "liú";
	dict[172964] = "wò";
	dict[172966] = "měi";
	dict[172968] = "tóu";
	dict[172971] = "mǔ";
	dict[172973] = "méi";
	dict[172974] = "huī";
	dict[172978] = "zuò";
	dict[172980] = "tún";
	dict[172981] = "kàng";
	dict[172982] = "tún";
	dict[172986] = "chè";
	dict[172987] = "zhèng";
	dict[172989] = "chōng";
	dict[172990] = "tiān";
	dict[172992] = "zhì";
	dict[172993] = "chán";
	dict[172994] = "chán";
	dict[172997] = "qīng";
	dict[172998] = "tūn";
	dict[172999] = "huǐ";
	dict[173e3] = "què";
	dict[173001] = "zhān";
	dict[173002] = "jiān,miǎn";
	dict[173003] = "chán";
	dict[173005] = "huáng";
	dict[173007] = "huī";
	dict[173008] = "chí";
	dict[173010] = "huáng";
	dict[173011] = "héng";
	dict[173012] = "yǔn";
	dict[173014] = "tuān";
	dict[173015] = "biān";
	dict[173017] = "huáng";
	dict[173018] = "yǔn";
	dict[173023] = "mò";
	dict[173024] = "gōng";
	dict[173026] = "gōng";
	dict[173028] = "guì";
	dict[173030] = "chán";
	dict[173032] = "què";
	dict[173033] = "ruì";
	dict[173034] = "kuàng";
	dict[173035] = "piào";
	dict[173038] = "rǔ";
	dict[173042] = "niǔ";
	dict[173043] = "hù";
	dict[173044] = "jǐn";
	dict[173045] = "nì,lí";
	dict[173046] = "bào";
	dict[173048] = "nǐ,chī";
	dict[173050] = "bì";
	dict[173051] = "hú";
	dict[173052] = "lí";
	dict[173055] = "zhū";
	dict[173056] = "nǎ";
	dict[173058] = "quǎn";
	dict[173059] = "fěng";
	dict[173060] = "bǐ";
	dict[173061] = "lí";
	dict[173062] = "bié";
	dict[173063] = "nián";
	dict[173064] = "dǒng";
	dict[173067] = "lián";
	dict[173068] = "nì";
	dict[173069] = "lián";
	dict[173070] = "má";
	dict[173071] = "zhé,zhí";
	dict[173075] = "jiā";
	dict[173076] = "yí";
	dict[173078] = "lǒng";
	dict[173080] = "yì,yān";
	dict[173085] = "dài,tài";
	dict[173086] = "dù";
	dict[173091] = "yǐ";
	dict[173093] = "tài";
	dict[173094] = "hāng";
	dict[173095] = "shù";
	dict[173100] = "wán";
	dict[173102] = "sù";
	dict[173103] = "yǎo";
	dict[173104] = "èr";
	dict[173106] = "zhèn";
	dict[173114] = "dòu";
	dict[173115] = "jiān";
	dict[173119] = "pāng";
	dict[173120] = "huī";
	dict[173122] = "chà";
	dict[173123] = "shān";
	dict[173124] = "lú";
	dict[173126] = "yù";
	dict[173128] = "yàn";
	dict[173129] = "wǎn";
	dict[173130] = "qiào";
	dict[173131] = "luō";
	dict[173132] = "yù";
	dict[173135] = "tú";
	dict[173136] = "wèi";
	dict[173138] = "tùn";
	dict[173141] = "hǔn";
	dict[173142] = "bēn";
	dict[173143] = "qiè";
	dict[173145] = "jīn,qián";
	dict[173146] = "lái,lí";
	dict[173148] = "zhǐ";
	dict[173149] = "yú";
	dict[173151] = "cì";
	dict[173158] = "yè";
	dict[173159] = "dié";
	dict[173160] = "chà";
	dict[173161] = "diàn";
	dict[173162] = "mán";
	dict[173164] = "dèng";
	dict[173165] = "wēi";
	dict[173166] = "niǎn";
	dict[173167] = "lèi";
	dict[173168] = "bīng";
	dict[173169] = "wū,wò";
	dict[173170] = "yuè";
	dict[173171] = "zhěn";
	dict[173174] = "róu";
	dict[173175] = "wài";
	dict[173176] = "mì,yān";
	dict[173177] = "jiè";
	dict[173179] = "hóu";
	dict[173181] = "zhài";
	dict[173182] = "rǔ";
	dict[173183] = "zī";
	dict[173184] = "pán";
	dict[173186] = "mò";
	dict[173188] = "mì";
	dict[173190] = "qī";
	dict[173191] = "mò";
	dict[173193] = "dì";
	dict[173194] = "zhī";
	dict[173195] = "bān,pán";
	dict[173197] = "miè";
	dict[173199] = "lù";
	dict[173201] = "qī";
	dict[173202] = "chōng";
	dict[173204] = "lí";
	dict[173205] = "yì";
	dict[173208] = "dèng";
	dict[173209] = "cuō";
	dict[173211] = "duì";
	dict[173212] = "mà";
	dict[173213] = "yǎn";
	dict[173215] = "zèng";
	dict[173216] = "yǎn,ǎn,àn";
	dict[173217] = "duì,dài";
	dict[173218] = "pū";
	dict[173221] = "yuè";
	dict[173225] = "huò";
	dict[173226] = "mài";
	dict[173227] = "jiǎn";
	dict[173228] = "nóng";
	dict[173229] = "qín";
	dict[173231] = "qín";
	dict[173234] = "yè";
	dict[173236] = "tái";
	dict[173241] = "jiān";
	dict[173244] = "chá";
	dict[173246] = "dàn";
	dict[173247] = "téng";
	dict[173248] = "lì";
	dict[173251] = "niǎng";
	dict[173252] = "chán";
	dict[173253] = "zāng";
	dict[173258] = "yù";
	dict[173259] = "mǐ";
	dict[173260] = "zuì";
	dict[173261] = "biān";
	dict[173264] = "chǔ";
	dict[173272] = "rán";
	dict[173274] = "rán";
	dict[173275] = "yāng";
	dict[173276] = "bǒ";
	dict[173281] = "cù";
	dict[173292] = "mí";
	dict[173294] = "kě";
	dict[173296] = "cù";
	dict[173303] = "xí";
	dict[173305] = "má";
	dict[173307] = "shī";
	dict[173308] = "diān";
	dict[173311] = "shī";
	dict[173314] = "dǐng";
	dict[173315] = "jiōng";
	dict[173317] = "yuán";
	dict[173318] = "gān";
	dict[173322] = "huì";
	dict[173323] = "jī";
	dict[173325] = "péng";
	dict[173327] = "dēng";
	dict[173329] = "bèng";
	dict[173332] = "pāng,péng";
	dict[173333] = "tà,lóng";
	dict[173335] = "yuān";
	dict[173336] = "gāo";
	dict[173337] = "yuān";
	dict[173343] = "jiā";
	dict[173347] = "kōng";
	dict[173350] = "dòng";
	dict[173353] = "xián";
	dict[173354] = "qì";
	dict[173356] = "sāng";
	dict[173360] = "yìn";
	dict[173363] = "lóng";
	dict[173366] = "tēng";
	dict[173367] = "lóng";
	dict[173370] = "rèn";
	dict[173373] = "yìn";
	dict[173374] = "píng";
	dict[173375] = "pū";
	dict[173376] = "yuán";
	dict[173377] = "rǒng,chén";
	dict[173379] = "fāng";
	dict[173383] = "hāng";
	dict[173384] = "mí";
	dict[173385] = "hú";
	dict[173386] = "zī";
	dict[173388] = "líng";
	dict[173389] = "jiōng";
	dict[173390] = "rǒng";
	dict[173394] = "píng";
	dict[173395] = "guāng";
	dict[173396] = "ěr";
	dict[173402] = "liú";
	dict[173405] = "cù";
	dict[173406] = "jùn";
	dict[173414] = "xiǔ";
	dict[173416] = "ér";
	dict[173417] = "tì";
	dict[173419] = "yáng";
	dict[173421] = "ài";
	dict[173422] = "hú";
	dict[173423] = "xí,xié";
	dict[173425] = "hú";
	dict[173427] = "sī";
	dict[173428] = "lǐ";
	dict[173430] = "yì";
	dict[173431] = "gǔ";
	dict[173433] = "táng";
	dict[173440] = "què";
	dict[173441] = "zōng";
	dict[173442] = "lí";
	dict[173444] = "jiào";
	dict[173447] = "fán";
	dict[173448] = "pú";
	dict[173449] = "sī";
	dict[173451] = "jié";
	dict[173452] = "lú";
	dict[173453] = "lì";
	dict[173454] = "chán";
	dict[173456] = "yào,yà";
	dict[173461] = "huī";
	dict[173465] = "hōu";
	const phrases_dict = {
		"阿Ｑ": [["ā"], ["Ｑ"]],
		"阿爸": [["ā"], ["bà"]],
		"阿鼻": [["ā"], ["bí"]],
		"阿呆": [["ā"], ["dāi"]],
		"阿弟": [["ā"], ["dì"]],
		"阿爹": [["ā"], ["diē"]],
		"阿斗": [["ā"], ["dǒu"]],
		"阿飞": [["ā"], ["fēi"]],
		"阿哥": [["ā"], ["gē"]],
		"阿公": [["ā"], ["gōng"]],
		"阿訇": [["ā"], ["hōng"]],
		"阿胶": [["ē"], ["jiāo"]],
		"阿姐": [["ā"], ["jiě"]],
		"阿拉": [["ā"], ["lā"]],
		"阿妈": [["ā"], ["mā"]],
		"阿妹": [["ā"], ["mèi"]],
		"阿曼": [["ā"], ["màn"]],
		"阿门": [["ā"], ["mēn"]],
		"阿蒙": [["ā"], ["méng"]],
		"阿片": [["ā"], ["piàn"]],
		"阿婆": [["ā"], ["pó"]],
		"哎呀": [["āi"], ["yā"]],
		"哎哟": [["āi"], ["yō"]],
		"哀号": [["āi"], ["háo"]],
		"哀家": [["āi"], ["jiā"]],
		"哀矜": [["āi"], ["jīn"]],
		"哀乐": [["āi"], ["yuè"]],
		"哀思": [["āi"], ["sī"]],
		"嗳气": [["ài"], ["qì"]],
		"癌症": [["ái"], ["zhèng"]],
		"嗳酸": [["ǎi"], ["suān"]],
		"矮个": [["ǎi"], ["gè"]],
		"爱称": [["ài"], ["chēng"]],
		"爱好": [["ài"], ["hào"]],
		"隘巷": [["ài"], ["xiàng"]],
		"碍难": [["ài"], ["nán"]],
		"安度": [["ān"], ["dù"]],
		"安打": [["ān"], ["dǎ"]],
		"安分": [["ān"], ["fèn"]],
		"安好": [["ān"], ["hǎo"]],
		"安家": [["ān"], ["jiā"]],
		"安拉": [["ān"], ["lā"]],
		"安乐": [["ān"], ["lè"]],
		"安排": [["ān"], ["pái"]],
		"安宁": [["ān"], ["níng"]],
		"安上": [["ān"], ["shàng"]],
		"安详": [["ān"], ["xiáng"]],
		"俺家": [["ǎn"], ["jiā"]],
		"按脉": [["àn"], ["mài"]],
		"按摩": [["àn"], ["mó"]],
		"按期": [["àn"], ["qī"]],
		"按说": [["àn"], ["shuō"]],
		"按压": [["àn"], ["yā"]],
		"按语": [["àn"], ["yǔ"]],
		"暗藏": [["àn"], ["cáng"]],
		"暗处": [["àn"], ["chù"]],
		"暗场": [["àn"], ["chǎng"]],
		"暗地": [["àn"], ["dì"]],
		"暗号": [["àn"], ["hào"]],
		"暗合": [["àn"], ["hé"]],
		"暗语": [["àn"], ["yǔ"]],
		"暗中": [["àn"], ["zhōng"]],
		"昂藏": [["áng"], ["cáng"]],
		"暗转": [["àn"], ["zhuǎn"]],
		"凹版": [["āo"], ["bǎn"]],
		"凹洞": [["āo"], ["dòng"]],
		"凹度": [["āo"], ["dù"]],
		"凹镜": [["āo"], ["jìng"]],
		"凹凸": [["āo"], ["tū"]],
		"凹洼": [["āo"], ["wā"]],
		"凹陷": [["āo"], ["xiàn"]],
		"熬熬": [["áo"], ["áo"]],
		"熬心": [["áo"], ["xīn"]],
		"熬煎": [["áo"], ["jiān"]],
		"熬夜": [["áo"], ["yè"]],
		"鳌头": [["áo"], ["tóu"]],
		"拗断": [["ǎo"], ["duàn"]],
		"拗口": [["ào"], ["kǒu"]],
		"傲骨": [["ào"], ["gǔ"]],
		"奥博": [["ào"], ["bó"]],
		"奥兰": [["ào"], ["lán"]],
		"奥秘": [["ào"], ["mì"]],
		"奥义": [["ào"], ["yì"]],
		"奥妙": [["ào"], ["miào"]],
		"奥援": [["ào"], ["yuán"]],
		"懊丧": [["ào"], ["sàng"]],
		"奥旨": [["ào"], ["zhǐ"]],
		"八风": [["bā"], ["fēng"]],
		"八节": [["bā"], ["jié"]],
		"八角": [["bā"], ["jiǎo"]],
		"八邪": [["bā"], ["xié"]],
		"巴结": [["bā"], ["jì"]],
		"扒车": [["bā"], ["chē"]],
		"扒糕": [["pá"], ["gāo"]],
		"扒灰": [["pá"], ["huī"]],
		"扒开": [["bā"], ["kāi"]],
		"扒拉": [["bā"], ["lā"]],
		"扒皮": [["bā"], ["pí"]],
		"扒窃": [["pá"], ["qiè"]],
		"扒手": [["pá"], ["shǒu"]],
		"吧嗒": [["bā"], ["dā"]],
		"吧唧": [["bā"], ["jī"]],
		"吧女": [["bā"], ["nǚ"]],
		"吧台": [["bā"], ["tái"]],
		"笆斗": [["bā"], ["dǒu"]],
		"拔地": [["bá"], ["dì"]],
		"拔毒": [["bá"], ["dú"]],
		"拔节": [["bá"], ["jié"]],
		"把柄": [["bǎ"], ["bǐng"]],
		"把持": [["bǎ"], ["chí"]],
		"把舵": [["bǎ"], ["duò"]],
		"把风": [["bǎ"], ["fēng"]],
		"把关": [["bǎ"], ["guān"]],
		"把家": [["bǎ"], ["jiā"]],
		"把酒": [["bǎ"], ["jiǔ"]],
		"把揽": [["bǎ"], ["lǎn"]],
		"把牢": [["bǎ"], ["láo"]],
		"把门": [["bǎ"], ["mén"]],
		"把脉": [["bǎ"], ["mài"]],
		"把式": [["bǎ"], ["shì"]],
		"把势": [["bǎ"], ["shì"]],
		"把手": [["bǎ"], ["shǒu"]],
		"把守": [["bǎ"], ["shǒu"]],
		"把头": [["bǎ"], ["tóu"]],
		"把玩": [["bǎ"], ["wán"]],
		"把稳": [["bǎ"], ["wěn"]],
		"把握": [["bǎ"], ["wò"]],
		"把晤": [["bǎ"], ["wù"]],
		"把盏": [["bǎ"], ["zhǎn"]],
		"把戏": [["bǎ"], ["xì"]],
		"把住": [["bǎ"], ["zhù"]],
		"把子": [["bà"], ["zi"]],
		"靶场": [["bǎ"], ["chǎng"]],
		"靶台": [["bǎ"], ["tái"]],
		"坝地": [["bà"], ["dì"]],
		"白地": [["bái"], ["dì"]],
		"白发": [["bái"], ["fà"]],
		"白丁": [["bái"], ["dīng"]],
		"白干": [["bái"], ["qián"]],
		"白骨": [["bái"], ["gǔ"]],
		"白净": [["bái"], ["jìng"]],
		"白卷": [["bái"], ["juàn"]],
		"白露": [["bái"], ["lù"]],
		"白票": [["bái"], ["piào"]],
		"白区": [["bái"], ["qū"]],
		"白食": [["bái"], ["shí"]],
		"白蛇": [["bái"], ["shé"]],
		"白术": [["bái"], ["zhú"]],
		"白苏": [["bái"], ["sū"]],
		"白汤": [["bái"], ["tāng"]],
		"白体": [["bái"], ["tǐ"]],
		"白头": [["bái"], ["tóu"]],
		"白条": [["bái"], ["tiáo"]],
		"白相": [["bái"], ["xiàng"]],
		"白血": [["bái"], ["xuè"]],
		"白种": [["bái"], ["zhǒng"]],
		"百分": [["bǎi"], ["fēn"]],
		"百度": [["bǎi"], ["dù"]],
		"百合": [["bǎi"], ["hé"]],
		"百会": [["bǎi"], ["huì"]],
		"百万": [["bǎi"], ["wàn"]],
		"百戏": [["bǎi"], ["xì"]],
		"百叶": [["bǎi"], ["yè"]],
		"柏林": [["bó"], ["lín"]],
		"柏乡": [["bǎi"], ["xiāng"]],
		"柏油": [["bǎi"], ["yóu"]],
		"摆弄": [["bǎi"], ["nòng"]],
		"摆正": [["bǎi"], ["zhèng"]],
		"败北": [["bài"], ["běi"]],
		"败毒": [["bài"], ["dú"]],
		"败坏": [["bài"], ["huài"]],
		"败家": [["bài"], ["jiā"]],
		"败将": [["bài"], ["jiàng"]],
		"败露": [["bài"], ["lù"]],
		"败落": [["bài"], ["luò"]],
		"败兴": [["bài"], ["xìng"]],
		"败血": [["bài"], ["xuè"]],
		"败亡": [["bài"], ["wáng"]],
		"拜别": [["bài"], ["bié"]],
		"拜读": [["bài"], ["dú"]],
		"拜倒": [["bài"], ["dǎo"]],
		"拜佛": [["bài"], ["fó"]],
		"拜服": [["bài"], ["fú"]],
		"拜见": [["bài"], ["jiàn"]],
		"拜祭": [["bài"], ["jì"]],
		"拜会": [["bài"], ["huì"]],
		"拜节": [["bài"], ["jié"]],
		"扳倒": [["bān"], ["dǎo"]],
		"班禅": [["bān"], ["chán"]],
		"班车": [["bān"], ["chē"]],
		"班长": [["bān"], ["zhǎng"]],
		"班期": [["bān"], ["qī"]],
		"斑纹": [["bān"], ["wén"]],
		"搬家": [["bān"], ["jiā"]],
		"板车": [["bǎn"], ["chē"]],
		"搬弄": [["bān"], ["nòng"]],
		"板结": [["bǎn"], ["jié"]],
		"板刷": [["bǎn"], ["shuā"]],
		"板正": [["bǎn"], ["zhèng"]],
		"板铺": [["bǎn"], ["pù"]],
		"办差": [["bàn"], ["chāi"]],
		"版筑": [["bǎn"], ["zhù"]],
		"办好": [["bàn"], ["hǎo"]],
		"半大": [["bàn"], ["dà"]],
		"半价": [["bàn"], ["jià"]],
		"半空": [["bàn"], ["kōng"]],
		"半票": [["bàn"], ["piào"]],
		"半数": [["bàn"], ["shù"]],
		"半拉": [["bàn"], ["lǎ"]],
		"半休": [["bàn"], ["xiū"]],
		"半载": [["bàn"], ["zǎi"]],
		"伴读": [["bàn"], ["dú"]],
		"伴同": [["bàn"], ["tóng"]],
		"伴郎": [["bàn"], ["láng"]],
		"拌和": [["bàn"], ["huò"]],
		"扮戏": [["bàn"], ["xì"]],
		"扮相": [["bàn"], ["xiàng"]],
		"拌蒜": [["bàn"], ["suàn"]],
		"拌匀": [["bàn"], ["yún"]],
		"绊倒": [["bàn"], ["dǎo"]],
		"拌嘴": [["bàn"], ["zuǐ"]],
		"拌种": [["bàn"], ["zhǒng"]],
		"帮会": [["bāng"], ["huì"]],
		"帮教": [["bāng"], ["jiào"]],
		"帮同": [["bāng"], ["tóng"]],
		"帮佣": [["bāng"], ["yōng"]],
		"帮助": [["bāng"], ["zhù"]],
		"绑票": [["bǎng"], ["piào"]],
		"绑扎": [["bǎng"], ["zhā"]],
		"榜额": [["bǎng"], ["é"]],
		"榜首": [["bǎng"], ["shǒu"]],
		"榜书": [["bǎng"], ["shū"]],
		"榜文": [["bǎng"], ["wén"]],
		"榜眼": [["bǎng"], ["yǎn"]],
		"榜样": [["bǎng"], ["yàng"]],
		"膀臂": [["bǎng"], ["bì"]],
		"棒喝": [["bàng"], ["hè"]],
		"棒头": [["bàng"], ["tóu"]],
		"磅礴": [["páng"], ["bó"]],
		"磅秤": [["bàng"], ["chèng"]],
		"包藏": [["bāo"], ["cáng"]],
		"包被": [["bāo"], ["bèi"]],
		"包场": [["bāo"], ["chǎng"]],
		"包车": [["bāo"], ["chē"]],
		"包乘": [["bāo"], ["chéng"]],
		"包干": [["bāo"], ["gān"]],
		"包间": [["bāo"], ["jiān"]],
		"包括": [["bāo"], ["kuò"]],
		"包络": [["bāo"], ["luò"]],
		"包囊": [["bāo"], ["náng"]],
		"包票": [["bāo"], ["piào"]],
		"包头": [["bāo"], ["tóu"]],
		"包扎": [["bāo"], ["zā"]],
		"宝藏": [["bǎo"], ["zàng"]],
		"宝号": [["bǎo"], ["hào"]],
		"宝地": [["bǎo"], ["dì"]],
		"宝刹": [["bǎo"], ["chà"]],
		"宝石": [["bǎo"], ["shí"]],
		"宝应": [["bǎo"], ["yìng"]],
		"饱读": [["bǎo"], ["dú"]],
		"饱和": [["bǎo"], ["hé"]],
		"饱食": [["bǎo"], ["shí"]],
		"保长": [["bǎo"], ["cháng"]],
		"保藏": [["bǎo"], ["cáng"]],
		"保单": [["bǎo"], ["dān"]],
		"保底": [["bǎo"], ["dǐ"]],
		"保价": [["bǎo"], ["jià"]],
		"保票": [["bǎo"], ["piào"]],
		"保鲜": [["bǎo"], ["xiān"]],
		"保有": [["bǎo"], ["yǒu"]],
		"保重": [["bǎo"], ["zhòng"]],
		"堡垒": [["bǎo"], ["lěi"]],
		"堡寨": [["bǎo"], ["zhài"]],
		"堡子": [["bǔ"], ["zi"]],
		"报答": [["bào"], ["dá"]],
		"报单": [["bào"], ["dān"]],
		"报仇": [["bào"], ["chóu"]],
		"报价": [["bào"], ["jià"]],
		"报丧": [["bào"], ["sāng"]],
		"报数": [["bào"], ["shù"]],
		"报头": [["bào"], ["tóu"]],
		"报信": [["bào"], ["xìn"]],
		"报应": [["bào"], ["yìng"]],
		"报知": [["bào"], ["zhī"]],
		"暴毙": [["bào"], ["bì"]],
		"暴病": [["bào"], ["bìng"]],
		"暴跌": [["bào"], ["diē"]],
		"暴动": [["bào"], ["dòng"]],
		"暴发": [["bào"], ["fā"]],
		"暴风": [["bào"], ["fēng"]],
		"暴光": [["bào"], ["guāng"]],
		"暴富": [["bào"], ["fù"]],
		"暴客": [["bào"], ["kè"]],
		"暴君": [["bào"], ["jūn"]],
		"暴力": [["bào"], ["lì"]],
		"暴吏": [["bào"], ["lì"]],
		"暴戾": [["bào"], ["lì"]],
		"暴利": [["bào"], ["lì"]],
		"暴敛": [["bào"], ["liǎn"]],
		"暴烈": [["bào"], ["liè"]],
		"暴露": [["bào"], ["lù"]],
		"暴乱": [["bào"], ["luàn"]],
		"暴民": [["bào"], ["mín"]],
		"暴怒": [["bào"], ["nù"]],
		"暴虐": [["bào"], ["nüè"]],
		"暴晒": [["pù"], ["shài"]],
		"暴尸": [["bào"], ["shī"]],
		"暴死": [["bào"], ["sǐ"]],
		"暴跳": [["bào"], ["tiào"]],
		"暴突": [["bào"], ["tū"]],
		"暴徒": [["bào"], ["tú"]],
		"暴行": [["bào"], ["xíng"]],
		"暴躁": [["bào"], ["zào"]],
		"暴雨": [["bào"], ["yǔ"]],
		"暴卒": [["bào"], ["zú"]],
		"暴政": [["bào"], ["zhèng"]],
		"暴涨": [["bào"], ["zhǎng"]],
		"爆发": [["bào"], ["fā"]],
		"爆裂": [["bào"], ["liè"]],
		"爆炸": [["bào"], ["zhà"]],
		"陂塘": [["bēi"], ["táng"]],
		"陂陀": [["pō"], ["tuó"]],
		"悲观": [["bēi"], ["guān"]],
		"悲号": [["bēi"], ["hào"]],
		"悲凉": [["bēi"], ["liáng"]],
		"悲切": [["bēi"], ["qiè"]],
		"悲思": [["bēi"], ["sī"]],
		"碑碣": [["bēi"], ["jié"]],
		"悲咽": [["bēi"], ["yān"]],
		"碑石": [["bēi"], ["shí"]],
		"碑帖": [["bēi"], ["tiè"]],
		"碑拓": [["bēi"], ["tuò"]],
		"北边": [["běi"], ["biān"]],
		"北部": [["běi"], ["bù"]],
		"北辰": [["běi"], ["chén"]],
		"北朝": [["běi"], ["cháo"]],
		"北斗": [["běi"], ["dǒu"]],
		"北伐": [["běi"], ["fá"]],
		"北风": [["běi"], ["fēng"]],
		"北非": [["běi"], ["fēi"]],
		"北房": [["běi"], ["fáng"]],
		"北方": [["běi"], ["fāng"]],
		"北国": [["běi"], ["guó"]],
		"北瓜": [["běi"], ["guā"]],
		"北海": [["běi"], ["hǎi"]],
		"北极": [["běi"], ["jí"]],
		"北疆": [["běi"], ["jiāng"]],
		"北江": [["běi"], ["jiāng"]],
		"北郊": [["běi"], ["jiāo"]],
		"北京": [["běi"], ["jīng"]],
		"北门": [["běi"], ["mén"]],
		"北面": [["běi"], ["miàn"]],
		"北欧": [["běi"], ["ōu"]],
		"北平": [["běi"], ["píng"]],
		"北齐": [["běi"], ["qí"]],
		"北曲": [["běi"], ["qǔ"]],
		"北宋": [["běi"], ["sòng"]],
		"北上": [["běi"], ["shàng"]],
		"北纬": [["běi"], ["wěi"]],
		"北魏": [["běi"], ["wèi"]],
		"北洋": [["běi"], ["yáng"]],
		"北岳": [["běi"], ["yuè"]],
		"北越": [["běi"], ["yuè"]],
		"北周": [["běi"], ["zhōu"]],
		"贝壳": [["bèi"], ["ké"]],
		"贝勒": [["bèi"], ["lè"]],
		"备查": [["bèi"], ["zhā"]],
		"备份": [["bèi"], ["fèn"]],
		"备员": [["bèi"], ["yuán"]],
		"背榜": [["bēi"], ["bǎng"]],
		"背包": [["bēi"], ["bāo"]],
		"背部": [["bèi"], ["bù"]],
		"背地": [["bèi"], ["dì"]],
		"背带": [["bēi"], ["dài"]],
		"背袋": [["bèi"], ["dài"]],
		"背篼": [["bèi"], ["dōu"]],
		"背负": [["bēi"], ["fù"]],
		"背风": [["bèi"], ["fēng"]],
		"背光": [["bèi"], ["guāng"]],
		"背脊": [["bèi"], ["jǐ"]],
		"背后": [["bèi"], ["hòu"]],
		"背街": [["bèi"], ["jiē"]],
		"背景": [["bèi"], ["jǐng"]],
		"背静": [["bèi"], ["jìng"]],
		"背靠": [["bèi"], ["kào"]],
		"背筐": [["bēi"], ["kuāng"]],
		"背篓": [["bēi"], ["lǒu"]],
		"背离": [["bèi"], ["lí"]],
		"背谬": [["bèi"], ["miù"]],
		"背面": [["bèi"], ["miàn"]],
		"背囊": [["bèi"], ["náng"]],
		"背鳍": [["bèi"], ["qí"]],
		"背叛": [["bèi"], ["pàn"]],
		"背气": [["bèi"], ["qì"]],
		"背弃": [["bèi"], ["qì"]],
		"背人": [["bèi"], ["rén"]],
		"背时": [["bèi"], ["shí"]],
		"背书": [["bèi"], ["shū"]],
		"背熟": [["bèi"], ["shú"]],
		"背诵": [["bèi"], ["sòng"]],
		"背向": [["bèi"], ["xiàng"]],
		"背心": [["bèi"], ["xīn"]],
		"背信": [["bèi"], ["xìn"]],
		"背阴": [["bèi"], ["yīn"]],
		"背影": [["bèi"], ["yǐng"]],
		"背约": [["bèi"], ["yuē"]],
		"背运": [["bèi"], ["yùn"]],
		"背债": [["bēi"], ["zhài"]],
		"背子": [["bēi"], ["zi"]],
		"倍率": [["bèi"], ["lǜ"]],
		"倍频": [["bèi"], ["pín"]],
		"倍数": [["bèi"], ["shù"]],
		"被单": [["bèi"], ["dān"]],
		"被袋": [["bèi"], ["dài"]],
		"被动": [["bèi"], ["dòng"]],
		"被服": [["bèi"], ["fú"]],
		"被覆": [["bèi"], ["fù"]],
		"被害": [["bèi"], ["hài"]],
		"被告": [["bèi"], ["gào"]],
		"被里": [["bèi"], ["lǐ"]],
		"被面": [["bèi"], ["miàn"]],
		"被难": [["bèi"], ["nàn"]],
		"被套": [["bèi"], ["tào"]],
		"被头": [["bèi"], ["tóu"]],
		"被卧": [["bèi"], ["wò"]],
		"被罩": [["bèi"], ["zhào"]],
		"被子": [["bèi"], ["zi"]],
		"焙干": [["bèi"], ["gān"]],
		"辈分": [["bèi"], ["fēn"]],
		"辈数": [["bèi"], ["shù"]],
		"奔波": [["bēn"], ["bō"]],
		"奔驰": [["bēn"], ["chí"]],
		"奔窜": [["bēn"], ["cuàn"]],
		"奔放": [["bēn"], ["fàng"]],
		"奔赴": [["bēn"], ["fù"]],
		"奔劳": [["bēn"], ["láo"]],
		"奔流": [["bēn"], ["liú"]],
		"奔马": [["bēn"], ["mǎ"]],
		"奔忙": [["bēn"], ["máng"]],
		"奔跑": [["bēn"], ["pǎo"]],
		"奔命": [["bèn"], ["mìng"]],
		"奔丧": [["bēn"], ["sāng"]],
		"奔腾": [["bēn"], ["téng"]],
		"奔逃": [["bēn"], ["táo"]],
		"奔驶": [["bēn"], ["shǐ"]],
		"奔头": [["bèn"], ["tóu"]],
		"奔突": [["bēn"], ["tū"]],
		"奔袭": [["bēn"], ["xí"]],
		"奔泻": [["bēn"], ["xiè"]],
		"奔涌": [["bēn"], ["yǒng"]],
		"奔逐": [["bēn"], ["zhú"]],
		"奔走": [["bēn"], ["zǒu"]],
		"贲门": [["bēn"], ["mén"]],
		"贲临": [["bì"], ["lín"]],
		"本底": [["běn"], ["dǐ"]],
		"本地": [["běn"], ["dì"]],
		"本分": [["běn"], ["fèn"]],
		"本纪": [["běn"], ["jì"]],
		"本家": [["běn"], ["jiā"]],
		"本能": [["běn"], ["néng"]],
		"本票": [["běn"], ["piào"]],
		"本体": [["běn"], ["tǐ"]],
		"本戏": [["běn"], ["xì"]],
		"本条": [["běn"], ["tiáo"]],
		"本县": [["běn"], ["xiàn"]],
		"本相": [["běn"], ["xiàng"]],
		"本行": [["běn"], ["háng"]],
		"本着": [["běn"], ["zhe"]],
		"畚斗": [["běn"], ["dòu"]],
		"笨伯": [["bèn"], ["bó"]],
		"笨重": [["bèn"], ["zhòng"]],
		"崩坏": [["bēng"], ["huài"]],
		"崩解": [["bēng"], ["jiě"]],
		"崩溃": [["bēng"], ["kuì"]],
		"崩裂": [["bēng"], ["liè"]],
		"绷带": [["bēng"], ["dài"]],
		"绷簧": [["bēng"], ["huáng"]],
		"绷脸": [["běng"], ["liǎn"]],
		"绷子": [["bēng"], ["zǐ"]],
		"迸发": [["bèng"], ["fā"]],
		"迸溅": [["bèng"], ["jiàn"]],
		"迸裂": [["bèng"], ["liè"]],
		"迸射": [["bèng"], ["shè"]],
		"蹦跳": [["bèng"], ["tiào"]],
		"逼供": [["bī"], ["gòng"]],
		"逼和": [["bī"], ["hé"]],
		"逼迫": [["bī"], ["pò"]],
		"逼肖": [["bī"], ["xiào"]],
		"鼻塞": [["bí"], ["sāi"]],
		"鼻头": [["bí"], ["tóu"]],
		"比分": [["bǐ"], ["fēn"]],
		"比干": [["bǐ"], ["gàn"]],
		"比划": [["bǐ"], ["huà"]],
		"比价": [["bǐ"], ["jià"]],
		"比率": [["bǐ"], ["lǜ"]],
		"比量": [["bǐ"], ["liáng"]],
		"比兴": [["bǐ"], ["xīng"]],
		"比重": [["bǐ"], ["zhòng"]],
		"吡啶": [["bǐ"], ["dìng"]],
		"吡咯": [["bǐ"], ["gē"]],
		"笔答": [["bǐ"], ["dá"]],
		"笔调": [["bǐ"], ["diào"]],
		"笔供": [["bǐ"], ["gòng"]],
		"笔划": [["bǐ"], ["huà"]],
		"笔会": [["bǐ"], ["huì"]],
		"笔体": [["bǐ"], ["tǐ"]],
		"笔削": [["bǐ"], ["xuē"]],
		"笔洗": [["bǐ"], ["xǐ"]],
		"鄙薄": [["bǐ"], ["bó"]],
		"鄙夫": [["bǐ"], ["fū"]],
		"鄙称": [["bǐ"], ["chēng"]],
		"鄙见": [["bǐ"], ["jiàn"]],
		"必得": [["bì"], ["děi"]],
		"必将": [["bì"], ["jiāng"]],
		"必要": [["bì"], ["yào"]],
		"毕剥": [["bì"], ["bāo"]],
		"毕肖": [["bì"], ["xiào"]],
		"毕露": [["bì"], ["lù"]],
		"闭合": [["bì"], ["hé"]],
		"闭会": [["bì"], ["huì"]],
		"闭卷": [["bì"], ["juàn"]],
		"闭塞": [["bì"], ["sè"]],
		"狴犴": [["bì"], ["àn"]],
		"痹症": [["bì"], ["zhèng"]],
		"庇荫": [["bì"], ["yìn"]],
		"婢女": [["bì"], ["nǚ"]],
		"裨将": [["pí"], ["jiàng"]],
		"裨益": [["bì"], ["yì"]],
		"辟地": [["pì"], ["dì"]],
		"辟谷": [["bì"], ["gǔ"]],
		"辟邪": [["bì"], ["xié"]],
		"辟谣": [["pì"], ["yáo"]],
		"碧绿": [["bì"], ["lǜ"]],
		"碧空": [["bì"], ["kōng"]],
		"蔽塞": [["bì"], ["sāi"]],
		"碧血": [["bì"], ["xuè"]],
		"壁柜": [["bì"], ["guì"]],
		"避风": [["bì"], ["fēng"]],
		"避难": [["bì"], ["nàn"]],
		"避邪": [["bì"], ["xié"]],
		"避雨": [["bì"], ["yǔ"]],
		"臂膀": [["bì"], ["bǎng"]],
		"臂膊": [["bì"], ["bó"]],
		"臂力": [["bì"], ["lì"]],
		"臂弯": [["bì"], ["wān"]],
		"臂章": [["bì"], ["zhāng"]],
		"臂腕": [["bì"], ["wàn"]],
		"臂助": [["bì"], ["zhù"]],
		"璧还": [["bì"], ["huán"]],
		"边疆": [["biān"], ["jiāng"]],
		"边角": [["biān"], ["jiǎo"]],
		"边地": [["biān"], ["dì"]],
		"边卡": [["biān"], ["qiǎ"]],
		"边区": [["biān"], ["qū"]],
		"边上": [["biān"], ["shàng"]],
		"边塞": [["biān"], ["sài"]],
		"边远": [["biān"], ["yuǎn"]],
		"砭骨": [["biān"], ["gǔ"]],
		"编发": [["biān"], ["fā"]],
		"砭石": [["biān"], ["shí"]],
		"编号": [["biān"], ["hào"]],
		"编内": [["biān"], ["nèi"]],
		"编结": [["biān"], ["jié"]],
		"编排": [["biān"], ["pái"]],
		"编校": [["biān"], ["xiào"]],
		"编织": [["biān"], ["zhī"]],
		"编著": [["biān"], ["zhù"]],
		"鞭打": [["biān"], ["dǎ"]],
		"鞭炮": [["biān"], ["pào"]],
		"鞭梢": [["biān"], ["shāo"]],
		"贬称": [["biǎn"], ["chēng"]],
		"贬价": [["biǎn"], ["jià"]],
		"扁柏": [["biǎn"], ["bǎi"]],
		"扁扁": [["biǎn"], ["biǎn"]],
		"扁锉": [["biǎn"], ["cuò"]],
		"扁豆": [["biǎn"], ["dòu"]],
		"扁担": [["biǎn"], ["dàn"]],
		"扁骨": [["biǎn"], ["gǔ"]],
		"扁鹊": [["biǎn"], ["què"]],
		"扁食": [["biǎn"], ["shí"]],
		"扁桃": [["biǎn"], ["táo"]],
		"扁圆": [["biǎn"], ["yuán"]],
		"扁舟": [["piān"], ["zhōu"]],
		"拚命": [["pàn"], ["mìng"]],
		"便步": [["biàn"], ["bù"]],
		"便餐": [["biàn"], ["cān"]],
		"便车": [["biàn"], ["chē"]],
		"便池": [["biàn"], ["chí"]],
		"便当": [["biàn"], ["dāng"]],
		"便道": [["biàn"], ["dào"]],
		"便服": [["biàn"], ["fú"]],
		"便饭": [["biàn"], ["fàn"]],
		"便函": [["biàn"], ["hán"]],
		"便壶": [["biàn"], ["hú"]],
		"便笺": [["biàn"], ["jiān"]],
		"便捷": [["biàn"], ["jié"]],
		"便览": [["biàn"], ["lǎn"]],
		"便利": [["biàn"], ["lì"]],
		"便了": [["biàn"], ["liǎo"]],
		"便路": [["biàn"], ["lù"]],
		"便帽": [["biàn"], ["mào"]],
		"便门": [["biàn"], ["mén"]],
		"便民": [["biàn"], ["mín"]],
		"便秘": [["biàn"], ["mì"]],
		"便溺": [["biàn"], ["niào"]],
		"便盆": [["biàn"], ["pén"]],
		"便签": [["biàn"], ["qiān"]],
		"便人": [["pián"], ["rén"]],
		"便桥": [["biàn"], ["qiáo"]],
		"便士": [["biàn"], ["shì"]],
		"便是": [["biàn"], ["shì"]],
		"便所": [["biàn"], ["suǒ"]],
		"便条": [["biàn"], ["tiáo"]],
		"便桶": [["biàn"], ["tǒng"]],
		"便鞋": [["biàn"], ["xié"]],
		"便血": [["biàn"], ["xuè"]],
		"便宴": [["biàn"], ["yàn"]],
		"便衣": [["biàn"], ["yī"]],
		"便宜": [["pián"], ["yí"]],
		"便中": [["biàn"], ["zhōng"]],
		"便于": [["biàn"], ["yú"]],
		"便装": [["biàn"], ["zhuāng"]],
		"变调": [["biàn"], ["diào"]],
		"变更": [["biàn"], ["gēng"]],
		"变化": [["biàn"], ["huà"]],
		"变坏": [["biàn"], ["huài"]],
		"变价": [["biàn"], ["jià"]],
		"变节": [["biàn"], ["jié"]],
		"变量": [["biàn"], ["liàng"]],
		"变数": [["biàn"], ["shù"]],
		"变体": [["biàn"], ["tǐ"]],
		"变相": [["biàn"], ["xiàng"]],
		"变压": [["biàn"], ["yā"]],
		"变种": [["biàn"], ["zhǒng"]],
		"遍体": [["biàn"], ["tǐ"]],
		"遍地": [["biàn"], ["dì"]],
		"辨别": [["biàn"], ["bié"]],
		"辨识": [["biàn"], ["shí"]],
		"辨正": [["biàn"], ["zhèng"]],
		"辩解": [["biàn"], ["jiě"]],
		"辩论": [["biàn"], ["lùn"]],
		"辩难": [["biàn"], ["nàn"]],
		"辩说": [["biàn"], ["shuō"]],
		"标榜": [["biāo"], ["bǎng"]],
		"辩正": [["biàn"], ["zhèng"]],
		"标称": [["biāo"], ["chēng"]],
		"标尺": [["biāo"], ["chǐ"]],
		"标的": [["biāo"], ["dì"]],
		"标底": [["biāo"], ["dǐ"]],
		"标度": [["biāo"], ["dù"]],
		"标杆": [["biāo"], ["gān"]],
		"标号": [["biāo"], ["hào"]],
		"标价": [["biāo"], ["jià"]],
		"标量": [["biāo"], ["liàng"]],
		"标识": [["biāo"], ["zhì"]],
		"标语": [["biāo"], ["yǔ"]],
		"骠骑": [["piào"], ["qí"]],
		"镖头": [["biāo"], ["tóu"]],
		"飙车": [["biāo"], ["chē"]],
		"表尺": [["biǎo"], ["chǐ"]],
		"表弟": [["biǎo"], ["dì"]],
		"表观": [["biǎo"], ["guān"]],
		"表解": [["biǎo"], ["jiě"]],
		"表露": [["biǎo"], ["lù"]],
		"表率": [["biǎo"], ["shuài"]],
		"表亲": [["biǎo"], ["qīn"]],
		"表头": [["biǎo"], ["tóu"]],
		"表徵": [["biǎo"], ["zhǐ"]],
		"表语": [["biǎo"], ["yǔ"]],
		"裱糊": [["biǎo"], ["hú"]],
		"憋闷": [["biē"], ["mèn"]],
		"别本": [["bié"], ["běn"]],
		"别称": [["bié"], ["chēng"]],
		"别处": [["bié"], ["chù"]],
		"别传": [["bié"], ["zhuàn"]],
		"别个": [["bié"], ["gè"]],
		"别馆": [["bié"], ["guǎn"]],
		"别管": [["bié"], ["guǎn"]],
		"别国": [["bié"], ["guó"]],
		"别号": [["bié"], ["hào"]],
		"别集": [["bié"], ["jí"]],
		"别家": [["bié"], ["jiā"]],
		"别价": [["bié"], ["jià"]],
		"别离": [["bié"], ["lí"]],
		"别论": [["bié"], ["lùn"]],
		"别忙": [["bié"], ["máng"]],
		"别名": [["bié"], ["míng"]],
		"别扭": [["biè"], ["niǔ"]],
		"别情": [["bié"], ["qíng"]],
		"别趣": [["bié"], ["qù"]],
		"别人": [["bié"], ["rén"]],
		"别史": [["bié"], ["shǐ"]],
		"别是": [["bié"], ["shì"]],
		"别墅": [["bié"], ["shù"]],
		"别说": [["bié"], ["shuō"]],
		"别提": [["bié"], ["tí"]],
		"别体": [["bié"], ["tǐ"]],
		"别样": [["bié"], ["yàng"]],
		"别绪": [["bié"], ["xù"]],
		"别业": [["bié"], ["yè"]],
		"别致": [["bié"], ["zhì"]],
		"别针": [["bié"], ["zhēn"]],
		"别字": [["bié"], ["zì"]],
		"别嘴": [["bié"], ["zuǐ"]],
		"瘪三": [["biē"], ["sān"]],
		"宾从": [["bīn"], ["cóng"]],
		"宾服": [["bīn"], ["fú"]],
		"傧相": [["bīn"], ["xiàng"]],
		"槟榔": [["bīng"], ["láng"]],
		"槟子": [["bīn"], ["zǐ"]],
		"殡车": [["bìn"], ["chē"]],
		"鬓发": [["bìn"], ["fà"]],
		"髌骨": [["bìn"], ["gǔ"]],
		"鬓角": [["bìn"], ["jiǎo"]],
		"冰场": [["bīng"], ["chǎng"]],
		"冰斗": [["bīng"], ["dǒu"]],
		"冰棍": [["bīng"], ["gùn"]],
		"冰凉": [["bīng"], ["liáng"]],
		"冰溜": [["bīng"], ["liū"]],
		"冰排": [["bīng"], ["pái"]],
		"冰片": [["bīng"], ["piàn"]],
		"冰期": [["bīng"], ["qī"]],
		"兵差": [["bīng"], ["chāi"]],
		"兵车": [["bīng"], ["chē"]],
		"兵丁": [["bīng"], ["dīng"]],
		"兵家": [["bīng"], ["jiā"]],
		"兵员": [["bīng"], ["yuán"]],
		"兵卒": [["bīng"], ["zú"]],
		"兵种": [["bīng"], ["zhǒng"]],
		"丙丁": [["bǐng"], ["dīng"]],
		"丙纶": [["bǐng"], ["lún"]],
		"秉正": [["bǐng"], ["zhèng"]],
		"饼铛": [["bǐng"], ["chēng"]],
		"饼干": [["bǐng"], ["gān"]],
		"禀帖": [["bǐng"], ["tiě"]],
		"并称": [["bìng"], ["chēng"]],
		"并存": [["bìng"], ["cún"]],
		"并处": [["bìng"], ["chǔ"]],
		"并蒂": [["bìng"], ["dì"]],
		"并发": [["bìng"], ["fā"]],
		"并轨": [["bìng"], ["guǐ"]],
		"并合": [["bìng"], ["hé"]],
		"并肩": [["bìng"], ["jiān"]],
		"并进": [["bìng"], ["jìn"]],
		"并举": [["bìng"], ["jǔ"]],
		"并立": [["bìng"], ["lì"]],
		"并力": [["bìng"], ["lì"]],
		"并联": [["bìng"], ["lián"]],
		"并列": [["bìng"], ["liè"]],
		"并拢": [["bìng"], ["lǒng"]],
		"并排": [["bìng"], ["pái"]],
		"并且": [["bìng"], ["qiě"]],
		"并入": [["bìng"], ["rù"]],
		"并吞": [["bìng"], ["tūn"]],
		"并网": [["bìng"], ["wǎng"]],
		"并行": [["bìng"], ["xíng"]],
		"并用": [["bìng"], ["yòng"]],
		"并置": [["bìng"], ["zhì"]],
		"并重": [["bìng"], ["zhòng"]],
		"病毒": [["bìng"], ["dú"]],
		"病体": [["bìng"], ["tǐ"]],
		"病员": [["bìng"], ["yuán"]],
		"病症": [["bìng"], ["zhèng"]],
		"病重": [["bìng"], ["zhòng"]],
		"拨发": [["bō"], ["fā"]],
		"拨给": [["bō"], ["gěi"]],
		"拨号": [["bō"], ["hào"]],
		"拨拉": [["bō"], ["lā"]],
		"拨弄": [["bō"], ["nòng"]],
		"拨转": [["bō"], ["zhuǎn"]],
		"波长": [["bō"], ["cháng"]],
		"波纹": [["bō"], ["wén"]],
		"波折": [["bō"], ["zhé"]],
		"剥除": [["bāo"], ["chú"]],
		"剥剥": [["bāo"], ["bāo"]],
		"剥夺": [["bō"], ["duó"]],
		"剥壳": [["bāo"], ["ké"]],
		"剥离": [["bō"], ["lí"]],
		"剥取": [["bāo"], ["qǔ"]],
		"剥皮": [["bāo"], ["pí"]],
		"剥落": [["bō"], ["luò"]],
		"剥蚀": [["bō"], ["shí"]],
		"剥脱": [["bāo"], ["tuō"]],
		"剥削": [["bō"], ["xuē"]],
		"脖颈": [["bó"], ["gěng"]],
		"播发": [["bō"], ["fā"]],
		"播弄": [["bō"], ["nòng"]],
		"播散": [["bō"], ["sàn"]],
		"播种": [["bō"], ["zhǒng"]],
		"伯伯": [["bó"], ["bo"]],
		"伯德": [["bó"], ["dé"]],
		"伯公": [["bó"], ["gōng"]],
		"伯父": [["bó"], ["fù"]],
		"伯爵": [["bó"], ["jué"]],
		"伯劳": [["bó"], ["láo"]],
		"伯乐": [["bó"], ["lè"]],
		"伯母": [["bó"], ["mǔ"]],
		"伯婆": [["bó"], ["pó"]],
		"伯仲": [["bó"], ["zhòng"]],
		"伯祖": [["bó"], ["zǔ"]],
		"驳倒": [["bó"], ["dǎo"]],
		"驳论": [["bó"], ["lùn"]],
		"泊车": [["bó"], ["chē"]],
		"泊地": [["pō"], ["dì"]],
		"泊位": [["bó"], ["wèi"]],
		"勃勃": [["bó"], ["bó"]],
		"勃发": [["bó"], ["fā"]],
		"勃起": [["bó"], ["qǐ"]],
		"勃然": [["bó"], ["rán"]],
		"勃兴": [["bó"], ["xīng"]],
		"博采": [["bó"], ["cǎi"]],
		"博大": [["bó"], ["dà"]],
		"博得": [["bó"], ["de"]],
		"博识": [["bó"], ["shí"]],
		"搏斗": [["bó"], ["dòu"]],
		"薄板": [["báo"], ["bǎn"]],
		"薄饼": [["báo"], ["bǐng"]],
		"薄薄": [["báo"], ["báo"]],
		"薄层": [["báo"], ["céng"]],
		"薄产": [["bó"], ["chǎn"]],
		"薄脆": [["báo"], ["cuì"]],
		"薄待": [["bó"], ["dài"]],
		"薄荷": [["bò"], ["he"]],
		"薄技": [["bó"], ["jì"]],
		"薄酒": [["bó"], ["jiǔ"]],
		"薄利": [["bó"], ["lì"]],
		"薄面": [["báo"], ["miàn"]],
		"薄命": [["bó"], ["mìng"]],
		"薄暮": [["bó"], ["mù"]],
		"薄情": [["bó"], ["qíng"]],
		"薄片": [["báo"], ["piàn"]],
		"薄膜": [["báo"], ["mó"]],
		"薄弱": [["bó"], ["ruò"]],
		"薄纱": [["báo"], ["shā"]],
		"薄田": [["bó"], ["tián"]],
		"薄雾": [["bó"], ["wù"]],
		"薄晓": [["bó"], ["xiǎo"]],
		"薄幸": [["bó"], ["xìng"]],
		"薄葬": [["báo"], ["zàng"]],
		"跛行": [["bǒ"], ["xíng"]],
		"簸箕": [["bò"], ["ji"]],
		"簸荡": [["bǒ"], ["dàng"]],
		"簸动": [["bǒ"], ["dòng"]],
		"簸弄": [["bǒ"], ["nòng"]],
		"擘划": [["bò"], ["huà"]],
		"簸箩": [["bǒ"], ["luó"]],
		"擘画": [["bò"], ["huà"]],
		"卜辞": [["bǔ"], ["cí"]],
		"卜卦": [["bǔ"], ["guà"]],
		"卜居": [["bǔ"], ["jū"]],
		"卜骨": [["bǔ"], ["gǔ"]],
		"卜筮": [["bǔ"], ["shì"]],
		"补差": [["bǔ"], ["chà"]],
		"补钉": [["bǔ"], ["dīng"]],
		"补丁": [["bǔ"], ["dīng"]],
		"补发": [["bǔ"], ["fā"]],
		"补给": [["bǔ"], ["jǐ"]],
		"补过": [["bǔ"], ["guò"]],
		"补角": [["bǔ"], ["jiǎo"]],
		"补假": [["bǔ"], ["jià"]],
		"补票": [["bǔ"], ["piào"]],
		"补台": [["bǔ"], ["tái"]],
		"补血": [["bǔ"], ["xuè"]],
		"补休": [["bǔ"], ["xiū"]],
		"补语": [["bǔ"], ["yǔ"]],
		"补正": [["bǔ"], ["zhèng"]],
		"补种": [["bǔ"], ["zhòng"]],
		"补助": [["bǔ"], ["zhù"]],
		"捕食": [["bǔ"], ["shí"]],
		"捕头": [["bǔ"], ["tóu"]],
		"不碍": [["bù"], ["ài"]],
		"不安": [["bù"], ["ān"]],
		"不备": [["bù"], ["bèi"]],
		"不比": [["bù"], ["bǐ"]],
		"不报": [["bù"], ["bào"]],
		"不必": [["bù"], ["bì"]],
		"不便": [["bù"], ["biàn"]],
		"不避": [["bù"], ["bì"]],
		"不变": [["bù"], ["biàn"]],
		"不才": [["bù"], ["cái"]],
		"不测": [["bù"], ["cè"]],
		"不常": [["bù"], ["cháng"]],
		"不差": [["bù"], ["chà"]],
		"不成": [["bù"], ["chéng"]],
		"不逞": [["bù"], ["chěng"]],
		"不吃": [["bù"], ["chī"]],
		"不齿": [["bù"], ["chǐ"]],
		"不啻": [["bù"], ["chì"]],
		"不耻": [["bù"], ["chǐ"]],
		"不纯": [["bù"], ["chún"]],
		"不辍": [["bù"], ["chuò"]],
		"不辞": [["bù"], ["cí"]],
		"不错": [["bù"], ["cuò"]],
		"不大": [["bù"], ["dà"]],
		"不待": [["bù"], ["dài"]],
		"不丹": [["bù"], ["dān"]],
		"不单": [["bù"], ["dān"]],
		"不当": [["bù"], ["dàng"]],
		"不但": [["bù"], ["dàn"]],
		"不到": [["bú"], ["dào"]],
		"不得": [["bù"], ["dé"]],
		"不等": [["bù"], ["děng"]],
		"不敌": [["bù"], ["dí"]],
		"不迭": [["bù"], ["dié"]],
		"不定": [["bù"], ["dìng"]],
		"不端": [["bù"], ["duān"]],
		"不独": [["bù"], ["dú"]],
		"不断": [["bù"], ["duàn"]],
		"不对": [["bú"], ["duì"]],
		"不二": [["bù"], ["èr"]],
		"不乏": [["bù"], ["fá"]],
		"不法": [["bù"], ["fǎ"]],
		"不犯": [["bù"], ["fàn"]],
		"不凡": [["bù"], ["fán"]],
		"不妨": [["bù"], ["fáng"]],
		"不分": [["bù"], ["fēn"]],
		"不忿": [["bù"], ["fèn"]],
		"不服": [["bù"], ["fú"]],
		"不符": [["bù"], ["fú"]],
		"不甘": [["bù"], ["gān"]],
		"不该": [["bù"], ["gāi"]],
		"不干": [["bù"], ["gàn"]],
		"不敢": [["bù"], ["gǎn"]],
		"不公": [["bù"], ["gōng"]],
		"不恭": [["bù"], ["gōng"]],
		"不苟": [["bù"], ["gǒu"]],
		"不够": [["bù"], ["gòu"]],
		"不顾": [["bù"], ["gù"]],
		"不关": [["bù"], ["guān"]],
		"不管": [["bù"], ["guǎn"]],
		"不轨": [["bù"], ["guǐ"]],
		"不光": [["bù"], ["guāng"]],
		"不果": [["bù"], ["guǒ"]],
		"不过": [["bù"], ["guò"]],
		"不好": [["bù"], ["hǎo"]],
		"不合": [["bù"], ["hé"]],
		"不和": [["bù"], ["hé"]],
		"不遑": [["bù"], ["huáng"]],
		"不会": [["bú"], ["huì"]],
		"不讳": [["bù"], ["huì"]],
		"不惑": [["bù"], ["huò"]],
		"不羁": [["bù"], ["jī"]],
		"不计": [["bù"], ["jì"]],
		"不及": [["bù"], ["jí"]],
		"不济": [["bù"], ["jì"]],
		"不佳": [["bù"], ["jiā"]],
		"不假": [["bù"], ["jiǎ"]],
		"不减": [["bù"], ["jiǎn"]],
		"不检": [["bù"], ["jiǎn"]],
		"不见": [["bú"], ["jiàn"]],
		"不洁": [["bù"], ["jié"]],
		"不解": [["bù"], ["jiě"]],
		"不仅": [["bù"], ["jǐn"]],
		"不尽": [["bù"], ["jìn"]],
		"不禁": [["bù"], ["jīn"]],
		"不敬": [["bù"], ["jìng"]],
		"不拘": [["bù"], ["jū"]],
		"不久": [["bù"], ["jiǔ"]],
		"不具": [["bù"], ["jù"]],
		"不倦": [["bù"], ["juàn"]],
		"不觉": [["bù"], ["jué"]],
		"不均": [["bù"], ["jūn"]],
		"不堪": [["bù"], ["kān"]],
		"不可": [["bù"], ["kě"]],
		"不克": [["bù"], ["kè"]],
		"不肯": [["bù"], ["kěn"]],
		"不快": [["bù"], ["kuài"]],
		"不愧": [["bù"], ["kuì"]],
		"不赖": [["bù"], ["lài"]],
		"不理": [["bù"], ["lǐ"]],
		"不力": [["bù"], ["lì"]],
		"不利": [["bù"], ["lì"]],
		"不良": [["bù"], ["liáng"]],
		"不了": [["bù"], ["liǎo"]],
		"不料": [["bù"], ["liào"]],
		"不吝": [["bù"], ["lìn"]],
		"不灵": [["bù"], ["líng"]],
		"不论": [["bù"], ["lùn"]],
		"不满": [["bù"], ["mǎn"]],
		"不毛": [["bù"], ["máo"]],
		"不免": [["bù"], ["miǎn"]],
		"不妙": [["bù"], ["miào"]],
		"不敏": [["bù"], ["mǐn"]],
		"不明": [["bù"], ["míng"]],
		"不耐": [["bù"], ["nài"]],
		"不能": [["bù"], ["néng"]],
		"不宁": [["bù"], ["níng"]],
		"不佞": [["bù"], ["nìng"]],
		"不怕": [["bù"], ["pà"]],
		"不配": [["bù"], ["pèi"]],
		"不平": [["bù"], ["píng"]],
		"不期": [["bù"], ["qī"]],
		"不齐": [["bù"], ["qí"]],
		"不起": [["bù"], ["qǐ"]],
		"不巧": [["bù"], ["qiǎo"]],
		"不屈": [["bù"], ["qū"]],
		"不然": [["bù"], ["rán"]],
		"不让": [["bù"], ["ràng"]],
		"不仁": [["bù"], ["rén"]],
		"不忍": [["bù"], ["rěn"]],
		"不容": [["bù"], ["róng"]],
		"不日": [["bù"], ["rì"]],
		"不如": [["bù"], ["rú"]],
		"不若": [["bù"], ["ruò"]],
		"不少": [["bù"], ["shǎo"]],
		"不善": [["bù"], ["shàn"]],
		"不舍": [["bù"], ["shě"]],
		"不甚": [["bù"], ["shèn"]],
		"不慎": [["bù"], ["shèn"]],
		"不胜": [["bù"], ["shèng"]],
		"不时": [["bù"], ["shí"]],
		"不实": [["bù"], ["shí"]],
		"不是": [["bú"], ["shì"]],
		"不适": [["bù"], ["shì"]],
		"不熟": [["bù"], ["shú"]],
		"不衰": [["bù"], ["shuāi"]],
		"不爽": [["bù"], ["shuǎng"]],
		"不俗": [["bù"], ["sú"]],
		"不算": [["bù"], ["suàn"]],
		"不遂": [["bù"], ["suí"]],
		"不听": [["bù"], ["tīng"]],
		"不通": [["bù"], ["tōng"]],
		"不同": [["bù"], ["tóng"]],
		"不妥": [["bù"], ["tuǒ"]],
		"不图": [["bù"], ["tú"]],
		"不外": [["bù"], ["wài"]],
		"不枉": [["bù"], ["wǎng"]],
		"不韪": [["bù"], ["wěi"]],
		"不惟": [["bù"], ["wéi"]],
		"不文": [["bù"], ["wén"]],
		"不问": [["bù"], ["wèn"]],
		"不稳": [["bù"], ["wěn"]],
		"不无": [["bù"], ["wú"]],
		"不息": [["bù"], ["xī"]],
		"不惜": [["bù"], ["xī"]],
		"不暇": [["bù"], ["xiá"]],
		"不下": [["bù"], ["xià"]],
		"不详": [["bù"], ["xiáng"]],
		"不祥": [["bù"], ["xiáng"]],
		"不想": [["bù"], ["xiǎng"]],
		"不象": [["bù"], ["xiàng"]],
		"不像": [["bù"], ["xiàng"]],
		"不消": [["bù"], ["xiāo"]],
		"不孝": [["bù"], ["xiào"]],
		"不肖": [["bù"], ["xiào"]],
		"不懈": [["bù"], ["xiè"]],
		"不屑": [["bù"], ["xiè"]],
		"不信": [["bù"], ["xìn"]],
		"不兴": [["bù"], ["xīng"]],
		"不行": [["bù"], ["xíng"]],
		"不幸": [["bù"], ["xìng"]],
		"不休": [["bù"], ["xiū"]],
		"不朽": [["bù"], ["xiǔ"]],
		"不修": [["bù"], ["xiū"]],
		"不须": [["bù"], ["xū"]],
		"不许": [["bù"], ["xǔ"]],
		"不恤": [["bù"], ["xù"]],
		"不逊": [["bù"], ["xùn"]],
		"不雅": [["bù"], ["yǎ"]],
		"不厌": [["bù"], ["yàn"]],
		"不扬": [["bù"], ["yáng"]],
		"不要": [["bú"], ["yào"]],
		"不一": [["bù"], ["yī"]],
		"不依": [["bù"], ["yī"]],
		"不宜": [["bù"], ["yí"]],
		"不已": [["bù"], ["yǐ"]],
		"不义": [["bú"], ["yì"]],
		"不亦": [["bù"], ["yì"]],
		"不易": [["bù"], ["yì"]],
		"不意": [["bù"], ["yì"]],
		"不用": [["bù"], ["yòng"]],
		"不由": [["bù"], ["yóu"]],
		"不虞": [["bù"], ["yú"]],
		"不育": [["bù"], ["yù"]],
		"不遇": [["bù"], ["yù"]],
		"不再": [["bù"], ["zài"]],
		"不孕": [["bù"], ["yùn"]],
		"不曾": [["bù"], ["céng"]],
		"不在": [["bù"], ["zài"]],
		"不振": [["bù"], ["zhèn"]],
		"不争": [["bù"], ["zhēng"]],
		"不支": [["bù"], ["zhī"]],
		"不正": [["bù"], ["zhèng"]],
		"不值": [["bù"], ["zhí"]],
		"不止": [["bù"], ["zhǐ"]],
		"不只": [["bù"], ["zhǐ"]],
		"不治": [["bù"], ["zhì"]],
		"不致": [["bù"], ["zhì"]],
		"不智": [["bù"], ["zhì"]],
		"不中": [["bù"], ["zhōng"]],
		"不周": [["bù"], ["zhōu"]],
		"不足": [["bù"], ["zú"]],
		"不住": [["bú"], ["zhù"]],
		"不准": [["bù"], ["zhǔn"]],
		"布丁": [["bù"], ["dīng"]],
		"布景": [["bù"], ["jǐng"]],
		"布头": [["bù"], ["tóu"]],
		"步调": [["bù"], ["diào"]],
		"步行": [["bù"], ["xíng"]],
		"部长": [["bù"], ["zhǎng"]],
		"部分": [["bù"], ["fèn"]],
		"部将": [["bù"], ["jiàng"]],
		"部落": [["bù"], ["luò"]],
		"部头": [["bù"], ["tóu"]],
		"部属": [["bù"], ["shǔ"]],
		"部委": [["bù"], ["wěi"]],
		"簿册": [["bù"], ["cè"]],
		"簿籍": [["bù"], ["jí"]],
		"簿记": [["bù"], ["jì"]],
		"簿子": [["bù"], ["zǐ"]],
		"擦背": [["cā"], ["bèi"]],
		"猜度": [["cāi"], ["duó"]],
		"擦洗": [["cā"], ["xǐ"]],
		"才分": [["cái"], ["fèn"]],
		"才华": [["cái"], ["huá"]],
		"才干": [["cái"], ["gàn"]],
		"才能": [["cái"], ["néng"]],
		"才女": [["cái"], ["nǚ"]],
		"才识": [["cái"], ["shí"]],
		"才思": [["cái"], ["sī"]],
		"财会": [["cái"], ["kuài"]],
		"裁并": [["cái"], ["bìng"]],
		"裁度": [["cái"], ["duó"]],
		"裁处": [["cái"], ["chǔ"]],
		"裁缝": [["cái"], ["féng"]],
		"裁量": [["cái"], ["liàng"]],
		"采办": [["cǎi"], ["bàn"]],
		"裁员": [["cái"], ["yuán"]],
		"采采": [["cǎi"], ["cǎi"]],
		"采茶": [["cǎi"], ["chá"]],
		"采访": [["cǎi"], ["fǎng"]],
		"采伐": [["cǎi"], ["fá"]],
		"采风": [["cǎi"], ["fēng"]],
		"采购": [["cǎi"], ["gòu"]],
		"采集": [["cǎi"], ["jí"]],
		"采花": [["cǎi"], ["huā"]],
		"采光": [["cǎi"], ["guāng"]],
		"采掘": [["cǎi"], ["jué"]],
		"采矿": [["cǎi"], ["kuàng"]],
		"采买": [["cǎi"], ["mǎi"]],
		"采录": [["cǎi"], ["lù"]],
		"采煤": [["cǎi"], ["méi"]],
		"采纳": [["cǎi"], ["nà"]],
		"采暖": [["cǎi"], ["nuǎn"]],
		"采区": [["cǎi"], ["qū"]],
		"采取": [["cǎi"], ["qǔ"]],
		"采桑": [["cǎi"], ["sāng"]],
		"采石": [["cǎi"], ["shí"]],
		"采食": [["cǎi"], ["shí"]],
		"采收": [["cǎi"], ["shōu"]],
		"采撷": [["cǎi"], ["xié"]],
		"采写": [["cǎi"], ["xiě"]],
		"采样": [["cǎi"], ["yàng"]],
		"采药": [["cǎi"], ["yào"]],
		"采邑": [["cài"], ["yì"]],
		"采用": [["cǎi"], ["yòng"]],
		"采油": [["cǎi"], ["yóu"]],
		"采运": [["cǎi"], ["yùn"]],
		"采择": [["cǎi"], ["zé"]],
		"采制": [["cǎi"], ["zhì"]],
		"采种": [["cǎi"], ["zhǒng"]],
		"采摘": [["cǎi"], ["zhāi"]],
		"彩排": [["cǎi"], ["pái"]],
		"菜单": [["cài"], ["dān"]],
		"菜羊": [["cài"], ["yáng"]],
		"参拜": [["cān"], ["bài"]],
		"参半": [["cān"], ["bàn"]],
		"参差": [["cēn"], ["cī"]],
		"参禅": [["cān"], ["chán"]],
		"参错": [["cēn"], ["cuò"]],
		"参访": [["cān"], ["fǎng"]],
		"参观": [["cān"], ["guān"]],
		"参劾": [["cān"], ["hé"]],
		"参加": [["cān"], ["jiā"]],
		"参合": [["cān"], ["hé"]],
		"参检": [["cān"], ["jiǎn"]],
		"参见": [["cān"], ["jiàn"]],
		"参军": [["cān"], ["jūn"]],
		"参看": [["cān"], ["kàn"]],
		"参考": [["cān"], ["kǎo"]],
		"参量": [["cān"], ["liàng"]],
		"参谋": [["cān"], ["móu"]],
		"参赛": [["cān"], ["sài"]],
		"参商": [["shēn"], ["shāng"]],
		"参事": [["cān"], ["shì"]],
		"参数": [["cān"], ["shù"]],
		"参天": [["cān"], ["tiān"]],
		"参透": [["cān"], ["tòu"]],
		"参悟": [["cān"], ["wù"]],
		"参校": [["cān"], ["jiào"]],
		"参选": [["cān"], ["xuǎn"]],
		"参谒": [["cān"], ["yè"]],
		"参议": [["cān"], ["yì"]],
		"参预": [["cān"], ["yù"]],
		"参与": [["cān"], ["yù"]],
		"参阅": [["cān"], ["yuè"]],
		"参赞": [["cān"], ["zàn"]],
		"参杂": [["cān"], ["zá"]],
		"参战": [["cān"], ["zhàn"]],
		"参展": [["cān"], ["zhǎn"]],
		"参照": [["cān"], ["zhào"]],
		"参酌": [["cān"], ["zhuó"]],
		"参政": [["cān"], ["zhèng"]],
		"餐车": [["cān"], ["chē"]],
		"残暴": [["cán"], ["bào"]],
		"残卷": [["cán"], ["juàn"]],
		"残毒": [["cán"], ["dú"]],
		"残片": [["cán"], ["piàn"]],
		"蚕蛾": [["cán"], ["é"]],
		"蚕沙": [["cán"], ["shā"]],
		"蚕食": [["cán"], ["shí"]],
		"蚕种": [["cán"], ["zhǒng"]],
		"惭怍": [["cán"], ["zuò"]],
		"仓颉": [["cāng"], ["jié"]],
		"仓卒": [["cāng"], ["cù"]],
		"伧俗": [["cāng"], ["sú"]],
		"苍劲": [["cāng"], ["jìng"]],
		"苍凉": [["cāng"], ["liáng"]],
		"苍头": [["cāng"], ["tóu"]],
		"苍术": [["cāng"], ["zhú"]],
		"苍哑": [["cāng"], ["yǎ"]],
		"藏躲": [["cáng"], ["duǒ"]],
		"藏锋": [["cáng"], ["fēng"]],
		"藏奸": [["cáng"], ["jiān"]],
		"藏蓝": [["zàng"], ["lán"]],
		"藏历": [["zàng"], ["lì"]],
		"藏匿": [["cáng"], ["nì"]],
		"藏青": [["zàng"], ["qīng"]],
		"藏身": [["cáng"], ["shēn"]],
		"藏书": [["cáng"], ["shū"]],
		"藏戏": [["zàng"], ["xì"]],
		"藏香": [["cáng"], ["xiāng"]],
		"藏掖": [["cáng"], ["yè"]],
		"藏拙": [["cáng"], ["zhuō"]],
		"藏踪": [["cáng"], ["zōng"]],
		"藏族": [["zàng"], ["zú"]],
		"操场": [["cāo"], ["chǎng"]],
		"操切": [["cāo"], ["qiè"]],
		"操纵": [["cāo"], ["zòng"]],
		"操行": [["cāo"], ["xíng"]],
		"槽车": [["cáo"], ["chē"]],
		"槽坊": [["cáo"], ["fāng"]],
		"槽钢": [["cáo"], ["gāng"]],
		"槽头": [["cáo"], ["tóu"]],
		"草场": [["cǎo"], ["chǎng"]],
		"草创": [["cǎo"], ["chuàng"]],
		"草地": [["cǎo"], ["dì"]],
		"草垛": [["cǎo"], ["duǒ"]],
		"草芥": [["cǎo"], ["jiè"]],
		"草率": [["cǎo"], ["shuài"]],
		"草绿": [["cǎo"], ["lǜ"]],
		"草体": [["cǎo"], ["tǐ"]],
		"草约": [["cǎo"], ["yuē"]],
		"草泽": [["cǎo"], ["zé"]],
		"侧柏": [["cè"], ["bǎi"]],
		"侧边": [["cè"], ["biān"]],
		"侧耳": [["cè"], ["ěr"]],
		"侧根": [["cè"], ["gēn"]],
		"侧击": [["cè"], ["jī"]],
		"侧记": [["cè"], ["jì"]],
		"侧近": [["cè"], ["jìn"]],
		"侧门": [["cè"], ["mén"]],
		"侧面": [["cè"], ["miàn"]],
		"侧目": [["cè"], ["mù"]],
		"侧身": [["cè"], ["shēn"]],
		"侧视": [["cè"], ["shì"]],
		"侧室": [["cè"], ["shì"]],
		"侧卧": [["cè"], ["wò"]],
		"侧向": [["cè"], ["xiàng"]],
		"侧芽": [["cè"], ["yá"]],
		"侧翼": [["cè"], ["yì"]],
		"侧影": [["cè"], ["yǐng"]],
		"侧泳": [["cè"], ["yǒng"]],
		"侧重": [["cè"], ["zhòng"]],
		"侧枝": [["cè"], ["zhī"]],
		"恻隐": [["cè"], ["yǐn"]],
		"测度": [["cè"], ["duó"]],
		"测量": [["cè"], ["liáng"]],
		"策划": [["cè"], ["huà"]],
		"策论": [["cè"], ["lùn"]],
		"策应": [["cè"], ["yìng"]],
		"叉烧": [["chā"], ["shāo"]],
		"叉车": [["chā"], ["chē"]],
		"叉路": [["chā"], ["lù"]],
		"叉手": [["chā"], ["shǒu"]],
		"杈子": [["chā"], ["zǐ"]],
		"叉腰": [["chā"], ["yāo"]],
		"叉子": [["chā"], ["zǐ"]],
		"插屏": [["chā"], ["píng"]],
		"插曲": [["chā"], ["qǔ"]],
		"插条": [["chā"], ["tiáo"]],
		"查案": [["chá"], ["àn"]],
		"插头": [["chā"], ["tóu"]],
		"查办": [["chá"], ["bàn"]],
		"查查": [["zhā"], ["zhā"]],
		"查抄": [["chá"], ["chāo"]],
		"查处": [["chá"], ["chǔ"]],
		"查点": [["chá"], ["diǎn"]],
		"查对": [["chá"], ["duì"]],
		"查房": [["chá"], ["fáng"]],
		"查访": [["chá"], ["fǎng"]],
		"查封": [["chá"], ["fēng"]],
		"查岗": [["zhā"], ["gǎng"]],
		"查核": [["zhā"], ["hé"]],
		"查获": [["chá"], ["huò"]],
		"查缉": [["zhā"], ["jī"]],
		"查检": [["zhā"], ["jiǎn"]],
		"查禁": [["chá"], ["jìn"]],
		"查究": [["chá"], ["jiū"]],
		"查勘": [["chá"], ["kān"]],
		"查看": [["zhā"], ["kàn"]],
		"查考": [["chá"], ["kǎo"]],
		"查扣": [["chá"], ["kòu"]],
		"查明": [["chá"], ["míng"]],
		"查铺": [["chá"], ["pù"]],
		"查勤": [["zhā"], ["qín"]],
		"查哨": [["chá"], ["shào"]],
		"查清": [["chá"], ["qīng"]],
		"查实": [["chá"], ["shí"]],
		"查收": [["chá"], ["shōu"]],
		"查私": [["chá"], ["sī"]],
		"查问": [["chá"], ["wèn"]],
		"查询": [["chá"], ["xún"]],
		"查验": [["chá"], ["yàn"]],
		"查夜": [["chá"], ["yè"]],
		"查阅": [["chá"], ["yuè"]],
		"查帐": [["zhā"], ["zhàng"]],
		"查账": [["chá"], ["zhàng"]],
		"查找": [["chá"], ["zhǎo"]],
		"查证": [["chá"], ["zhèng"]],
		"查照": [["zhā"], ["zhào"]],
		"茶场": [["chá"], ["chǎng"]],
		"茶匙": [["chá"], ["chí"]],
		"茶坊": [["chá"], ["fāng"]],
		"茶会": [["chá"], ["huì"]],
		"茶几": [["chá"], ["jī"]],
		"茶食": [["chá"], ["shí"]],
		"茶汤": [["chá"], ["tāng"]],
		"察觉": [["chá"], ["jué"]],
		"茶叶": [["chá"], ["yè"]],
		"察看": [["chá"], ["kàn"]],
		"碴儿": [["chá"], ["ér"]],
		"汊港": [["chà"], ["gǎng"]],
		"差别": [["chā"], ["bié"]],
		"差池": [["chā"], ["chí"]],
		"差错": [["chā"], ["cuò"]],
		"差等": [["chà"], ["děng"]],
		"差点": [["chà"], ["diǎn"]],
		"差官": [["chà"], ["guān"]],
		"差额": [["chā"], ["é"]],
		"差价": [["chā"], ["jià"]],
		"差可": [["chā"], ["kě"]],
		"差劲": [["chà"], ["jìn"]],
		"差距": [["chā"], ["jù"]],
		"差使": [["chāi"], ["shǐ"]],
		"差遣": [["chāi"], ["qiǎn"]],
		"差失": [["chà"], ["shī"]],
		"差事": [["chāi"], ["shì"]],
		"差数": [["chā"], ["shù"]],
		"差误": [["chà"], ["wù"]],
		"差异": [["chā"], ["yì"]],
		"差役": [["chāi"], ["yì"]],
		"拆穿": [["chāi"], ["chuān"]],
		"拆除": [["chāi"], ["chú"]],
		"拆毁": [["chāi"], ["huǐ"]],
		"拆伙": [["chāi"], ["huǒ"]],
		"拆建": [["chāi"], ["jiàn"]],
		"拆借": [["chāi"], ["jiè"]],
		"拆开": [["chāi"], ["kāi"]],
		"拆散": [["chāi"], ["sàn"]],
		"拆迁": [["chāi"], ["qiān"]],
		"拆卖": [["chāi"], ["mài"]],
		"拆台": [["chāi"], ["tái"]],
		"拆息": [["chāi"], ["xī"]],
		"拆洗": [["chāi"], ["xǐ"]],
		"拆线": [["chāi"], ["xiàn"]],
		"拆卸": [["chāi"], ["xiè"]],
		"拆字": [["chāi"], ["zì"]],
		"柴垛": [["chái"], ["duǒ"]],
		"掺和": [["chān"], ["huo"]],
		"搀兑": [["chān"], ["duì"]],
		"搀和": [["chān"], ["huo"]],
		"搀假": [["chān"], ["jiǎ"]],
		"婵媛": [["chán"], ["yuán"]],
		"孱弱": [["chán"], ["ruò"]],
		"禅定": [["chán"], ["dìng"]],
		"禅房": [["chán"], ["fáng"]],
		"禅机": [["chán"], ["jī"]],
		"禅林": [["chán"], ["lín"]],
		"禅门": [["chán"], ["mén"]],
		"禅让": [["shàn"], ["ràng"]],
		"禅师": [["chán"], ["shī"]],
		"禅堂": [["chán"], ["táng"]],
		"禅悟": [["chán"], ["wù"]],
		"禅心": [["chán"], ["xīn"]],
		"禅学": [["chán"], ["xué"]],
		"禅意": [["chán"], ["yì"]],
		"禅院": [["chán"], ["yuàn"]],
		"禅杖": [["chán"], ["zhàng"]],
		"禅宗": [["chán"], ["zōng"]],
		"缠结": [["chán"], ["jié"]],
		"缠磨": [["chán"], ["mó"]],
		"产地": [["chǎn"], ["dì"]],
		"产假": [["chǎn"], ["jià"]],
		"产量": [["chǎn"], ["liàng"]],
		"产期": [["chǎn"], ["qī"]],
		"颤颤": [["chàn"], ["chàn"]],
		"颤动": [["chàn"], ["dòng"]],
		"颤抖": [["chàn"], ["dǒu"]],
		"颤栗": [["zhàn"], ["lì"]],
		"颤声": [["chàn"], ["shēng"]],
		"颤音": [["chàn"], ["yīn"]],
		"颤悠": [["chàn"], ["yōu"]],
		"昌乐": [["chāng"], ["lè"]],
		"昌盛": [["chāng"], ["shèng"]],
		"长安": [["cháng"], ["ān"]],
		"长辈": [["zhǎng"], ["bèi"]],
		"长坂": [["cháng"], ["bǎn"]],
		"长编": [["cháng"], ["biān"]],
		"长膘": [["zhǎng"], ["biāo"]],
		"长波": [["cháng"], ["bō"]],
		"长策": [["cháng"], ["cè"]],
		"长长": [["cháng"], ["cháng"]],
		"长成": [["cháng"], ["chéng"]],
		"长城": [["cháng"], ["chéng"]],
		"长虫": [["cháng"], ["chóng"]],
		"长处": [["cháng"], ["chù"]],
		"长川": [["cháng"], ["chuān"]],
		"长春": [["cháng"], ["chūn"]],
		"长辞": [["cháng"], ["cí"]],
		"长存": [["cháng"], ["cún"]],
		"长大": [["zhǎng"], ["dà"]],
		"长笛": [["cháng"], ["dí"]],
		"长调": [["cháng"], ["diào"]],
		"长度": [["cháng"], ["dù"]],
		"长短": [["cháng"], ["duǎn"]],
		"长队": [["cháng"], ["duì"]],
		"长发": [["cháng"], ["fà"]],
		"长法": [["cháng"], ["fǎ"]],
		"长房": [["zhǎng"], ["fáng"]],
		"长工": [["cháng"], ["gōng"]],
		"长庚": [["cháng"], ["gēng"]],
		"长鼓": [["cháng"], ["gǔ"]],
		"长褂": [["cháng"], ["guà"]],
		"长官": [["zhǎng"], ["guān"]],
		"长跪": [["cháng"], ["guì"]],
		"长号": [["cháng"], ["hào"]],
		"长河": [["cháng"], ["hé"]],
		"长话": [["cháng"], ["huà"]],
		"长虹": [["cháng"], ["hóng"]],
		"长活": [["cháng"], ["huó"]],
		"长假": [["cháng"], ["jià"]],
		"长机": [["cháng"], ["jī"]],
		"长剑": [["cháng"], ["jiàn"]],
		"长江": [["cháng"], ["jiāng"]],
		"长街": [["cháng"], ["jiē"]],
		"长进": [["zhǎng"], ["jìn"]],
		"长久": [["cháng"], ["jiǔ"]],
		"长局": [["cháng"], ["jú"]],
		"长句": [["cháng"], ["jù"]],
		"长卷": [["cháng"], ["juàn"]],
		"长空": [["cháng"], ["kōng"]],
		"长裤": [["cháng"], ["kù"]],
		"长廊": [["cháng"], ["láng"]],
		"长老": [["zhǎng"], ["lǎo"]],
		"长乐": [["cháng"], ["lè"]],
		"长吏": [["zhǎng"], ["lì"]],
		"长流": [["cháng"], ["liú"]],
		"长龙": [["cháng"], ["lóng"]],
		"长毛": [["cháng"], ["máo"]],
		"长矛": [["cháng"], ["máo"]],
		"长门": [["cháng"], ["mén"]],
		"长眠": [["cháng"], ["mián"]],
		"长鸣": [["cháng"], ["míng"]],
		"长命": [["cháng"], ["mìng"]],
		"长男": [["cháng"], ["nán"]],
		"长年": [["cháng"], ["nián"]],
		"长女": [["cháng"], ["nǚ"]],
		"长袍": [["cháng"], ["páo"]],
		"长跑": [["cháng"], ["pǎo"]],
		"长篇": [["cháng"], ["piān"]],
		"长期": [["cháng"], ["qī"]],
		"长崎": [["cháng"], ["qí"]],
		"长枪": [["cháng"], ["qiāng"]],
		"长亲": [["zhǎng"], ["qīn"]],
		"长青": [["cháng"], ["qīng"]],
		"长驱": [["cháng"], ["qū"]],
		"长拳": [["cháng"], ["quán"]],
		"长沙": [["cháng"], ["shā"]],
		"长衫": [["cháng"], ["shān"]],
		"长上": [["zhǎng"], ["shàng"]],
		"长生": [["cháng"], ["shēng"]],
		"长舌": [["cháng"], ["shé"]],
		"长诗": [["cháng"], ["shī"]],
		"长石": [["cháng"], ["shí"]],
		"长势": [["zhǎng"], ["shì"]],
		"长逝": [["cháng"], ["shì"]],
		"长寿": [["cháng"], ["shòu"]],
		"长随": [["cháng"], ["suí"]],
		"长孙": [["zhǎng"], ["sūn"]],
		"长谈": [["cháng"], ["tán"]],
		"长叹": [["cháng"], ["tàn"]],
		"长天": [["cháng"], ["tiān"]],
		"长条": [["cháng"], ["tiáo"]],
		"长汀": [["cháng"], ["tīng"]],
		"长亭": [["cháng"], ["tíng"]],
		"长途": [["cháng"], ["tú"]],
		"长统": [["cháng"], ["tǒng"]],
		"长袜": [["cháng"], ["wà"]],
		"长物": [["zhàng"], ["wù"]],
		"长夏": [["cháng"], ["xià"]],
		"长线": [["cháng"], ["xiàn"]],
		"长相": [["zhǎng"], ["xiàng"]],
		"长啸": [["cháng"], ["xiào"]],
		"长兴": [["cháng"], ["xīng"]],
		"长兄": [["zhǎng"], ["xiōng"]],
		"长性": [["cháng"], ["xìng"]],
		"长袖": [["cháng"], ["xiù"]],
		"长夜": [["cháng"], ["yè"]],
		"长衣": [["cháng"], ["yī"]],
		"长揖": [["cháng"], ["yī"]],
		"长音": [["cháng"], ["yīn"]],
		"长吟": [["cháng"], ["yín"]],
		"长缨": [["cháng"], ["yīng"]],
		"长幼": [["cháng"], ["yòu"]],
		"长于": [["cháng"], ["yú"]],
		"长圆": [["cháng"], ["yuán"]],
		"长远": [["cháng"], ["yuǎn"]],
		"长斋": [["cháng"], ["zhāi"]],
		"长征": [["cháng"], ["zhēng"]],
		"长者": [["zhǎng"], ["zhě"]],
		"长子": [["zhǎng"], ["zǐ"]],
		"长足": [["cháng"], ["zú"]],
		"尝鲜": [["cháng"], ["xiān"]],
		"偿还": [["cháng"], ["huán"]],
		"常服": [["cháng"], ["fú"]],
		"厂长": [["chǎng"], ["zhǎng"]],
		"厂房": [["chǎng"], ["fáng"]],
		"厂规": [["chǎng"], ["guī"]],
		"厂家": [["chǎng"], ["jiā"]],
		"厂矿": [["chǎng"], ["kuàng"]],
		"厂商": [["chǎng"], ["shāng"]],
		"厂史": [["chǎng"], ["shǐ"]],
		"厂休": [["chǎng"], ["xiū"]],
		"厂子": [["chǎng"], ["zǐ"]],
		"场次": [["chǎng"], ["cì"]],
		"场地": [["chǎng"], ["dì"]],
		"场记": [["chǎng"], ["jì"]],
		"场合": [["chǎng"], ["hé"]],
		"场景": [["chǎng"], ["jǐng"]],
		"场面": [["chǎng"], ["miàn"]],
		"场所": [["chǎng"], ["suǒ"]],
		"场屋": [["chǎng"], ["wū"]],
		"场子": [["chǎng"], ["zi"]],
		"场院": [["cháng"], ["yuàn"]],
		"敞车": [["chǎng"], ["chē"]],
		"畅行": [["chàng"], ["xíng"]],
		"倡导": [["chàng"], ["dǎo"]],
		"倡言": [["chàng"], ["yán"]],
		"倡议": [["chàng"], ["yì"]],
		"倡优": [["chàng"], ["yōu"]],
		"唱和": [["chàng"], ["hè"]],
		"唱头": [["chàng"], ["tóu"]],
		"抄查": [["chāo"], ["chá"]],
		"抄家": [["chāo"], ["jiā"]],
		"钞票": [["chāo"], ["piào"]],
		"抄没": [["chāo"], ["méi"]],
		"超车": [["chāo"], ["chē"]],
		"超度": [["chāo"], ["dù"]],
		"超过": [["chāo"], ["guò"]],
		"超假": [["chāo"], ["jiǎ"]],
		"超员": [["chāo"], ["yuán"]],
		"超载": [["chāo"], ["zài"]],
		"超重": [["chāo"], ["zhòng"]],
		"朝拜": [["cháo"], ["bài"]],
		"朝代": [["cháo"], ["dài"]],
		"朝臣": [["cháo"], ["chén"]],
		"朝服": [["cháo"], ["fú"]],
		"朝纲": [["cháo"], ["gāng"]],
		"朝贡": [["cháo"], ["gòng"]],
		"朝晖": [["zhāo"], ["huī"]],
		"朝见": [["cháo"], ["jiàn"]],
		"朝觐": [["cháo"], ["jìn"]],
		"朝露": [["zhāo"], ["lù"]],
		"朝暮": [["zhāo"], ["mù"]],
		"朝气": [["zhāo"], ["qì"]],
		"朝日": [["cháo"], ["rì"]],
		"朝上": [["cháo"], ["shàng"]],
		"朝圣": [["cháo"], ["shèng"]],
		"朝天": [["cháo"], ["tiān"]],
		"朝廷": [["cháo"], ["tíng"]],
		"朝夕": [["zhāo"], ["xī"]],
		"朝霞": [["zhāo"], ["xiá"]],
		"朝阳": [["zhāo", "cháo"], ["yáng"]],
		"朝向": [["cháo"], ["xiàng"]],
		"朝野": [["cháo"], ["yě"]],
		"朝政": [["cháo"], ["zhèng"]],
		"朝着": [["cháo"], ["zhe"]],
		"嘲讽": [["cháo"], ["fěng"]],
		"嘲笑": [["cháo"], ["xiào"]],
		"嘲弄": [["cháo"], ["nòng"]],
		"嘲谑": [["cháo"], ["xuè"]],
		"嘲哳": [["zhāo"], ["zhā"]],
		"潮红": [["cháo"], ["hóng"]],
		"潮解": [["cháo"], ["jiě"]],
		"潮头": [["cháo"], ["tóu"]],
		"潮涌": [["cháo"], ["yǒng"]],
		"吵吵": [["chāo"], ["chao"]],
		"吵翻": [["chǎo"], ["fān"]],
		"吵架": [["chǎo"], ["jià"]],
		"吵闹": [["chǎo"], ["nào"]],
		"吵嚷": [["chǎo"], ["rǎng"]],
		"吵扰": [["chǎo"], ["rǎo"]],
		"吵嘴": [["chǎo"], ["zuǐ"]],
		"车把": [["chē"], ["bǎ"]],
		"车帮": [["chē"], ["bāng"]],
		"车场": [["chē"], ["chǎng"]],
		"车船": [["chē"], ["chuán"]],
		"车床": [["chē"], ["chuáng"]],
		"车窗": [["chē"], ["chuāng"]],
		"车次": [["chē"], ["cì"]],
		"车刀": [["chē"], ["dāo"]],
		"车道": [["chē"], ["dào"]],
		"车灯": [["chē"], ["dēng"]],
		"车队": [["chē"], ["duì"]],
		"车费": [["chē"], ["fèi"]],
		"车夫": [["chē"], ["fū"]],
		"车辐": [["chē"], ["fú"]],
		"车盖": [["chē"], ["gài"]],
		"车工": [["chē"], ["gōng"]],
		"车钩": [["chē"], ["gōu"]],
		"车技": [["chē"], ["jì"]],
		"车祸": [["chē"], ["huò"]],
		"车价": [["chē"], ["jià"]],
		"车驾": [["chē"], ["jià"]],
		"车间": [["chē"], ["jiān"]],
		"车架": [["chē"], ["jià"]],
		"车库": [["chē"], ["kù"]],
		"车辆": [["chē"], ["liàng"]],
		"车裂": [["chē"], ["liè"]],
		"车流": [["chē"], ["liú"]],
		"车铃": [["chē"], ["líng"]],
		"车轮": [["chē"], ["lún"]],
		"车马": [["chē"], ["mǎ"]],
		"车门": [["chē"], ["mén"]],
		"车盘": [["chē"], ["pán"]],
		"车皮": [["chē"], ["pí"]],
		"车票": [["chē"], ["piào"]],
		"车前": [["chē"], ["qián"]],
		"车钱": [["chē"], ["qián"]],
		"车身": [["chē"], ["shēn"]],
		"车手": [["chē"], ["shǒu"]],
		"车速": [["chē"], ["sù"]],
		"车胎": [["chē"], ["tāi"]],
		"车条": [["chē"], ["tiáo"]],
		"车头": [["chē"], ["tóu"]],
		"车尾": [["chē"], ["wěi"]],
		"车辖": [["chē"], ["xiá"]],
		"车厢": [["chē"], ["xiāng"]],
		"车箱": [["chē"], ["xiāng"]],
		"车削": [["chē"], ["xiāo"]],
		"车行": [["chē"], ["xíng"]],
		"车辕": [["chē"], ["yuán"]],
		"车载": [["chē"], ["zài"]],
		"车站": [["chē"], ["zhàn"]],
		"车掌": [["chē"], ["zhǎng"]],
		"车照": [["chē"], ["zhào"]],
		"车辙": [["chē"], ["zhé"]],
		"车轴": [["chē"], ["zhóu"]],
		"车主": [["chē"], ["zhǔ"]],
		"车子": [["chē"], ["zi"]],
		"车座": [["chē"], ["zuò"]],
		"彻查": [["chè"], ["zhā"]],
		"彻底": [["chè"], ["dǐ"]],
		"彻骨": [["chè"], ["gǔ"]],
		"坼裂": [["chè"], ["liè"]],
		"撤差": [["chè"], ["chāi"]],
		"撤佃": [["chè"], ["diàn"]],
		"尘芥": [["chén"], ["jiè"]],
		"尘沙": [["chén"], ["shā"]],
		"臣仆": [["chén"], ["pú"]],
		"臣服": [["chén"], ["fú"]],
		"沉没": [["chén"], ["mò"]],
		"沉闷": [["chén"], ["mèn"]],
		"沉溺": [["chén"], ["nì"]],
		"沉思": [["chén"], ["sī"]],
		"沉重": [["chén"], ["zhòng"]],
		"沉着": [["chén"], ["zhuó"]],
		"陈说": [["chén"], ["shuō"]],
		"晨风": [["chén"], ["fēng"]],
		"闯将": [["chuǎng"], ["jiàng"]],
		"闯劲": [["chuǎng"], ["jìn"]],
		"闯王": [["chuǎng"], ["wáng"]],
		"称便": [["chēng"], ["biàn"]],
		"称霸": [["chēng"], ["bà"]],
		"称兵": [["chēng"], ["bīng"]],
		"称病": [["chēng"], ["bìng"]],
		"称臣": [["chēng"], ["chén"]],
		"称贷": [["chēng"], ["dài"]],
		"称道": [["chēng"], ["dào"]],
		"称帝": [["chēng"], ["dì"]],
		"称号": [["chēng"], ["hào"]],
		"称贺": [["chēng"], ["hè"]],
		"称呼": [["chēng"], ["hū"]],
		"称快": [["chēng"], ["kuài"]],
		"称量": [["chēng"], ["liáng"]],
		"称赏": [["chēng"], ["shǎng"]],
		"称身": [["chèn"], ["shēn"]],
		"称述": [["chēng"], ["shù"]],
		"称说": [["chēng"], ["shuō"]],
		"称叹": [["chēng"], ["tàn"]],
		"称颂": [["chēng"], ["sòng"]],
		"称为": [["chēng"], ["wéi"]],
		"称羡": [["chēng"], ["xiàn"]],
		"称谓": [["chēng"], ["wèi"]],
		"称谢": [["chēng"], ["xiè"]],
		"称心": [["chèn"], ["xīn"]],
		"称许": [["chēng"], ["xǔ"]],
		"称雄": [["chēng"], ["xióng"]],
		"称扬": [["chēng"], ["yáng"]],
		"称引": [["chēng"], ["yǐn"]],
		"称意": [["chēng"], ["yì"]],
		"称誉": [["chēng"], ["yù"]],
		"称愿": [["chèn"], ["yuàn"]],
		"称赞": [["chēng"], ["zàn"]],
		"称重": [["chēng"], ["zhòng"]],
		"称职": [["chèn"], ["zhí"]],
		"称作": [["chēng"], ["zuò"]],
		"趁便": [["chèn"], ["biàn"]],
		"趁空": [["chèn"], ["kòng"]],
		"谶语": [["chèn"], ["yǔ"]],
		"撑杆": [["chēng"], ["gān"]],
		"丞相": [["chéng"], ["xiàng"]],
		"成长": [["chéng"], ["zhǎng"]],
		"成仇": [["chéng"], ["chóu"]],
		"成丁": [["chéng"], ["dīng"]],
		"成分": [["chéng"], ["fèn"]],
		"成都": [["chéng"], ["dū"]],
		"成份": [["chéng"], ["fèn"]],
		"成风": [["chéng"], ["fēng"]],
		"成服": [["chéng"], ["fú"]],
		"成化": [["chéng"], ["huà"]],
		"成家": [["chéng"], ["jiā"]],
		"成见": [["chéng"], ["jiàn"]],
		"成亲": [["chéng"], ["qīn"]],
		"成趣": [["chéng"], ["qù"]],
		"成数": [["chéng"], ["shù"]],
		"成说": [["chéng"], ["shuō"]],
		"成体": [["chéng"], ["tǐ"]],
		"成为": [["chéng"], ["wéi"]],
		"成语": [["chéng"], ["yǔ"]],
		"成行": [["chéng"], ["háng"]],
		"成员": [["chéng"], ["yuán"]],
		"成约": [["chéng"], ["yuē"]],
		"呈露": [["chéng"], ["lù"]],
		"呈上": [["chéng"], ["shàng"]],
		"呈正": [["chéng"], ["zhèng"]],
		"承担": [["chéng"], ["dān"]],
		"承当": [["chéng"], ["dāng"]],
		"承兑": [["chéng"], ["duì"]],
		"承浆": [["chéng"], ["jiāng"]],
		"承蒙": [["chéng"], ["méng"]],
		"承应": [["chéng"], ["yìng"]],
		"承载": [["chéng"], ["zài"]],
		"承重": [["chéng"], ["zhòng"]],
		"承转": [["chéng"], ["zhuǎn"]],
		"诚服": [["chéng"], ["fú"]],
		"诚朴": [["chéng"], ["piáo"]],
		"诚信": [["chéng"], ["xìn"]],
		"城堡": [["chéng"], ["bǎo"]],
		"城垛": [["chéng"], ["duǒ"]],
		"城区": [["chéng"], ["qū"]],
		"城阙": [["chéng"], ["què"]],
		"城头": [["chéng"], ["tóu"]],
		"乘便": [["chéng"], ["biàn"]],
		"乘乘": [["chéng"], ["chéng"]],
		"乘车": [["chéng"], ["chē"]],
		"乘除": [["chéng"], ["chú"]],
		"乘法": [["chéng"], ["fǎ"]],
		"乘风": [["chéng"], ["fēng"]],
		"乘方": [["chéng"], ["fāng"]],
		"乘号": [["chéng"], ["hào"]],
		"乘机": [["chéng"], ["jī"]],
		"乘积": [["chéng"], ["jī"]],
		"乘警": [["chéng"], ["jǐng"]],
		"乘客": [["chéng"], ["kè"]],
		"乘马": [["chéng"], ["mǎ"]],
		"乘凉": [["chéng"], ["liáng"]],
		"乘幂": [["chéng"], ["mì"]],
		"乘胜": [["chéng"], ["shèng"]],
		"乘势": [["chéng"], ["shì"]],
		"乘数": [["chéng"], ["shù"]],
		"乘隙": [["chéng"], ["xì"]],
		"乘兴": [["chéng"], ["xìng"]],
		"乘虚": [["chéng"], ["xū"]],
		"乘坐": [["chéng"], ["zuò"]],
		"程度": [["chéng"], ["dù"]],
		"惩处": [["chéng"], ["chǔ"]],
		"澄碧": [["chéng"], ["bì"]],
		"澄澈": [["chéng"], ["chè"]],
		"澄净": [["chéng"], ["jìng"]],
		"澄江": [["chéng"], ["jiāng"]],
		"澄明": [["chéng"], ["míng"]],
		"澄清": [["chéng"], ["qīng"]],
		"澄沙": [["dèng"], ["shā"]],
		"澄莹": [["chéng"], ["yíng"]],
		"橙红": [["chéng"], ["hóng"]],
		"逞能": [["chěng"], ["néng"]],
		"逞强": [["chěng"], ["qiáng"]],
		"秤杆": [["chèng"], ["gǎn"]],
		"吃喝": [["chī"], ["hē"]],
		"吃劲": [["chī"], ["jìn"]],
		"吃食": [["chī"], ["shí"]],
		"吃相": [["chī"], ["xiàng"]],
		"吃重": [["chī"], ["zhòng"]],
		"哧溜": [["chī"], ["liū"]],
		"鸱尾": [["chī"], ["wěi"]],
		"迟疑": [["chí"], ["yí"]],
		"持家": [["chí"], ["jiā"]],
		"持节": [["chí"], ["jié"]],
		"持论": [["chí"], ["lùn"]],
		"持有": [["chí"], ["yǒu"]],
		"持重": [["chí"], ["zhòng"]],
		"持正": [["chí"], ["zhèng"]],
		"匙子": [["chí"], ["zi"]],
		"尺寸": [["chǐ"], ["cùn"]],
		"尺幅": [["chǐ"], ["fú"]],
		"尺度": [["chǐ"], ["dù"]],
		"尺牍": [["chǐ"], ["dú"]],
		"尺骨": [["chǐ"], ["gǔ"]],
		"尺蠖": [["chǐ"], ["huò"]],
		"尺码": [["chǐ"], ["mǎ"]],
		"尺泽": [["chǐ"], ["zé"]],
		"尺子": [["chǐ"], ["zi"]],
		"齿冠": [["chǐ"], ["guān"]],
		"齿条": [["chǐ"], ["tiáo"]],
		"齿龈": [["chǐ"], ["yín"]],
		"耻骨": [["chǐ"], ["gǔ"]],
		"叱喝": [["chì"], ["hè"]],
		"叱令": [["chì"], ["lìng"]],
		"赤背": [["chì"], ["bèi"]],
		"赤地": [["chì"], ["dì"]],
		"赤红": [["chì"], ["hóng"]],
		"赤露": [["chì"], ["lù"]],
		"饬令": [["chì"], ["lìng"]],
		"炽盛": [["chì"], ["shèng"]],
		"翅鞘": [["chì"], ["qiào"]],
		"充当": [["chōng"], ["dāng"]],
		"充任": [["chōng"], ["rèn"]],
		"充分": [["chōng"], ["fèn"]],
		"充塞": [["chōng"], ["sè"]],
		"充数": [["chōng"], ["shù"]],
		"充填": [["chōng"], ["tián"]],
		"充血": [["chōng"], ["xuè"]],
		"冲冲": [["chōng"], ["chōng"]],
		"冲刺": [["chōng"], ["cì"]],
		"冲床": [["chòng"], ["chuáng"]],
		"冲淡": [["chōng"], ["dàn"]],
		"冲动": [["chōng"], ["dòng"]],
		"冲锋": [["chōng"], ["fēng"]],
		"冲犯": [["chōng"], ["fàn"]],
		"冲服": [["chōng"], ["fú"]],
		"冲击": [["chōng"], ["jī"]],
		"冲积": [["chōng"], ["jī"]],
		"冲激": [["chōng"], ["jī"]],
		"冲剂": [["chōng"], ["jì"]],
		"冲劲": [["chòng"], ["jìn"]],
		"冲决": [["chōng"], ["jué"]],
		"冲克": [["chōng"], ["kè"]],
		"冲孔": [["chòng"], ["kǒng"]],
		"冲口": [["chōng"], ["kǒu"]],
		"冲扩": [["chōng"], ["kuò"]],
		"冲浪": [["chōng"], ["làng"]],
		"冲力": [["chōng"], ["lì"]],
		"冲凉": [["chōng"], ["liáng"]],
		"冲量": [["chōng"], ["liàng"]],
		"冲脉": [["chōng"], ["mài"]],
		"冲破": [["chōng"], ["pò"]],
		"冲散": [["chōng"], ["sàn"]],
		"冲杀": [["chōng"], ["shā"]],
		"冲刷": [["chōng"], ["shuā"]],
		"冲水": [["chōng"], ["shuǐ"]],
		"冲塌": [["chōng"], ["tā"]],
		"冲腾": [["chōng"], ["téng"]],
		"冲天": [["chōng"], ["tiān"]],
		"冲突": [["chōng"], ["tū"]],
		"冲洗": [["chōng"], ["xǐ"]],
		"冲喜": [["chōng"], ["xǐ"]],
		"冲销": [["chōng"], ["xiāo"]],
		"冲压": [["chòng"], ["yā"]],
		"冲阳": [["chōng"], ["yáng"]],
		"冲要": [["chōng"], ["yào"]],
		"冲账": [["chōng"], ["zhàng"]],
		"冲帐": [["chōng"], ["zhàng"]],
		"冲撞": [["chōng"], ["zhuàng"]],
		"冲子": [["chòng"], ["zi"]],
		"宠信": [["chǒng"], ["xìn"]],
		"抽查": [["chōu"], ["zhā"]],
		"抽打": [["chōu"], ["dǎ"]],
		"抽调": [["chōu"], ["diào"]],
		"抽丁": [["chōu"], ["dīng"]],
		"抽斗": [["chōu"], ["dǒu"]],
		"抽风": [["chōu"], ["fēng"]],
		"抽空": [["chōu"], ["kōng"]],
		"抽缩": [["chōu"], ["suō"]],
		"抽苔": [["chōu"], ["tái"]],
		"抽头": [["chōu"], ["tóu"]],
		"抽咽": [["chōu"], ["yè"]],
		"仇敌": [["chóu"], ["dí"]],
		"仇恨": [["chóu"], ["hèn"]],
		"仇家": [["chóu"], ["jiā"]],
		"仇人": [["chóu"], ["rén"]],
		"仇视": [["chóu"], ["shì"]],
		"仇杀": [["chóu"], ["shā"]],
		"仇外": [["chóu"], ["wài"]],
		"仇隙": [["chóu"], ["xì"]],
		"仇怨": [["chóu"], ["yuàn"]],
		"绸缪": [["chóu"], ["móu"]],
		"愁闷": [["chóu"], ["mèn"]],
		"愁思": [["chóu"], ["sī"]],
		"稠度": [["chóu"], ["dù"]],
		"筹划": [["chóu"], ["huà"]],
		"稠糊": [["chóu"], ["hū"]],
		"酬答": [["chóu"], ["dá"]],
		"酬和": [["chóu"], ["hè"]],
		"酬应": [["chóu"], ["yìng"]],
		"丑恶": [["chǒu"], ["è"]],
		"丑化": [["chǒu"], ["huà"]],
		"丑角": [["chǒu"], ["jué"]],
		"丑相": [["chǒu"], ["xiàng"]],
		"丑行": [["chǒu"], ["xíng"]],
		"瞅见": [["chǒu"], ["jiàn"]],
		"臭虫": [["chòu"], ["chóng"]],
		"臭椿": [["chòu"], ["chūn"]],
		"臭骂": [["chòu"], ["mà"]],
		"臭美": [["chòu"], ["měi"]],
		"臭棋": [["chòu"], ["qí"]],
		"臭气": [["chòu"], ["qì"]],
		"臭味": [["chòu"], ["wèi"]],
		"臭氧": [["chòu"], ["yǎng"]],
		"出榜": [["chū"], ["bǎng"]],
		"出奔": [["chū"], ["bēn"]],
		"出差": [["chū"], ["chāi"]],
		"出厂": [["chū"], ["chǎng"]],
		"出场": [["chū"], ["chǎng"]],
		"出车": [["chū"], ["chē"]],
		"出乘": [["chū"], ["chéng"]],
		"出处": [["chū"], ["chù"]],
		"出发": [["chū"], ["fā"]],
		"出港": [["chū"], ["gǎng"]],
		"出汗": [["chū"], ["hàn"]],
		"出价": [["chū"], ["jià"]],
		"出家": [["chū"], ["jiā"]],
		"出溜": [["chū"], ["liū"]],
		"出笼": [["chū"], ["lóng"]],
		"出落": [["chū"], ["là"]],
		"出没": [["chū"], ["mò"]],
		"出奇": [["chū"], ["qí"]],
		"出任": [["chū"], ["rèn"]],
		"出圈": [["chū"], ["quān"]],
		"出塞": [["chū"], ["sài"]],
		"出丧": [["chū"], ["sāng"]],
		"出头": [["chū"], ["tóu"]],
		"出台": [["chū"], ["tái"]],
		"出亡": [["chū"], ["wáng"]],
		"出行": [["chū"], ["xíng"]],
		"初创": [["chū"], ["chuàng"]],
		"出血": [["chū"], ["xuè"]],
		"初度": [["chū"], ["dù"]],
		"初会": [["chū"], ["huì"]],
		"初见": [["chū"], ["jiàn"]],
		"初露": [["chū"], ["lù"]],
		"初期": [["chū"], ["qī"]],
		"初中": [["chū"], ["zhōng"]],
		"初叶": [["chū"], ["yè"]],
		"除服": [["chú"], ["fú"]],
		"除号": [["chú"], ["hào"]],
		"除了": [["chú"], ["le"]],
		"除丧": [["chú"], ["sàng"]],
		"除数": [["chú"], ["shù"]],
		"锄地": [["chú"], ["dì"]],
		"锄头": [["chú"], ["tou"]],
		"雏燕": [["chú"], ["yàn"]],
		"础石": [["chǔ"], ["shí"]],
		"橱柜": [["chú"], ["guì"]],
		"储藏": [["chǔ"], ["cáng"]],
		"储量": [["chǔ"], ["liàng"]],
		"楚王": [["chǔ"], ["wáng"]],
		"处罚": [["chǔ"], ["fá"]],
		"处处": [["chǔ"], ["chù"]],
		"处方": [["chǔ"], ["fāng"]],
		"处分": [["chǔ"], ["fèn"]],
		"处境": [["chǔ"], ["jìng"]],
		"处理": [["chǔ"], ["lǐ"]],
		"处决": [["chǔ"], ["jué"]],
		"处女": [["chǔ"], ["nǚ"]],
		"处士": [["chǔ"], ["shì"]],
		"处身": [["chǔ"], ["shēn"]],
		"处世": [["chǔ"], ["shì"]],
		"处事": [["chǔ"], ["shì"]],
		"处暑": [["chǔ"], ["shǔ"]],
		"处死": [["chǔ"], ["sǐ"]],
		"处所": [["chù"], ["suǒ"]],
		"处刑": [["chǔ"], ["xíng"]],
		"处于": [["chǔ"], ["yú"]],
		"处治": [["chǔ"], ["zhì"]],
		"处置": [["chǔ"], ["zhì"]],
		"处子": [["chǔ"], ["zǐ"]],
		"怵头": [["chù"], ["tóu"]],
		"搐缩": [["chù"], ["suō"]],
		"触发": [["chù"], ["fā"]],
		"触角": [["chù"], ["jiǎo"]],
		"触觉": [["chù"], ["jué"]],
		"憷头": [["chù"], ["tóu"]],
		"揣测": [["chuǎi"], ["cè"]],
		"揣度": [["chuǎi"], ["duó"]],
		"揣摸": [["chuǎi"], ["mō"]],
		"揣摩": [["chuǎi"], ["mó"]],
		"揣想": [["chuǎi"], ["xiǎng"]],
		"穿刺": [["chuān"], ["cì"]],
		"穿行": [["chuān"], ["xíng"]],
		"穿着": [["chuān"], ["zhe"]],
		"传本": [["chuán"], ["běn"]],
		"传播": [["chuán"], ["bō"]],
		"传布": [["chuán"], ["bù"]],
		"传抄": [["chuán"], ["chāo"]],
		"传承": [["chuán"], ["chéng"]],
		"传唱": [["chuán"], ["chàng"]],
		"传达": [["chuán"], ["dá"]],
		"传代": [["chuán"], ["dài"]],
		"传单": [["chuán"], ["dān"]],
		"传导": [["chuán"], ["dǎo"]],
		"传道": [["chuán"], ["dào"]],
		"传动": [["chuán"], ["dòng"]],
		"传递": [["chuán"], ["dì"]],
		"传粉": [["chuán"], ["fěn"]],
		"传感": [["chuán"], ["gǎn"]],
		"传告": [["chuán"], ["gào"]],
		"传呼": [["chuán"], ["hū"]],
		"传话": [["chuán"], ["huà"]],
		"传唤": [["chuán"], ["huàn"]],
		"传记": [["zhuàn"], ["jì"]],
		"传家": [["chuán"], ["jiā"]],
		"传教": [["chuán"], ["jiào"]],
		"传经": [["chuán"], ["jīng"]],
		"传令": [["chuán"], ["lìng"]],
		"传略": [["zhuàn"], ["lüè"]],
		"传媒": [["chuán"], ["méi"]],
		"传名": [["chuán"], ["míng"]],
		"传票": [["chuán"], ["piào"]],
		"传奇": [["chuán"], ["qí"]],
		"传球": [["chuán"], ["qiú"]],
		"传情": [["chuán"], ["qíng"]],
		"传染": [["chuán"], ["rǎn"]],
		"传热": [["chuán"], ["rè"]],
		"传人": [["chuán"], ["rén"]],
		"传神": [["chuán"], ["shén"]],
		"传声": [["chuán"], ["shēng"]],
		"传入": [["chuán"], ["rù"]],
		"传世": [["chuán"], ["shì"]],
		"传输": [["chuán"], ["shū"]],
		"传授": [["chuán"], ["shòu"]],
		"传送": [["chuán"], ["sòng"]],
		"传说": [["chuán"], ["shuō"]],
		"传诵": [["chuán"], ["sòng"]],
		"传颂": [["chuán"], ["sòng"]],
		"传统": [["chuán"], ["tǒng"]],
		"传闻": [["chuán"], ["wén"]],
		"传习": [["chuán"], ["xí"]],
		"传讯": [["chuán"], ["xùn"]],
		"传扬": [["chuán"], ["yáng"]],
		"传言": [["chuán"], ["yán"]],
		"传译": [["chuán"], ["yì"]],
		"传阅": [["chuán"], ["yuè"]],
		"传真": [["chuán"], ["zhēn"]],
		"传质": [["chuán"], ["zhì"]],
		"传旨": [["chuán"], ["zhǐ"]],
		"传种": [["chuán"], ["zhǒng"]],
		"船夫": [["chuán"], ["fū"]],
		"串供": [["chuàn"], ["gòng"]],
		"串戏": [["chuàn"], ["xì"]],
		"窗扇": [["chuāng"], ["shàn"]],
		"窗台": [["chuāng"], ["tái"]],
		"床单": [["chuáng"], ["dān"]],
		"床铺": [["chuáng"], ["pù"]],
		"床头": [["chuáng"], ["tóu"]],
		"创办": [["chuàng"], ["bàn"]],
		"创汇": [["chuàng"], ["huì"]],
		"创出": [["chuàng"], ["chū"]],
		"创痕": [["chuāng"], ["hén"]],
		"创建": [["chuàng"], ["jiàn"]],
		"创见": [["chuàng"], ["jiàn"]],
		"创刊": [["chuàng"], ["kān"]],
		"创口": [["chuāng"], ["kǒu"]],
		"创立": [["chuàng"], ["lì"]],
		"创利": [["chuàng"], ["lì"]],
		"创面": [["chuāng"], ["miàn"]],
		"创伤": [["chuāng"], ["shāng"]],
		"创始": [["chuàng"], ["shǐ"]],
		"创设": [["chuàng"], ["shè"]],
		"创痛": [["chuāng"], ["tòng"]],
		"创收": [["chuàng"], ["shōu"]],
		"创新": [["chuàng"], ["xīn"]],
		"创议": [["chuàng"], ["yì"]],
		"创业": [["chuàng"], ["yè"]],
		"创意": [["chuàng"], ["yì"]],
		"创优": [["chuàng"], ["yōu"]],
		"创制": [["chuàng"], ["zhì"]],
		"创造": [["chuàng"], ["zào"]],
		"创作": [["chuàng"], ["zuò"]],
		"吹打": [["chuī"], ["dǎ"]],
		"吹弹": [["chuī"], ["tán"]],
		"吹风": [["chuī"], ["fēng"]],
		"吹拂": [["chuī"], ["fú"]],
		"吹散": [["chuī"], ["sàn"]],
		"吹沙": [["chuī"], ["shā"]],
		"吹台": [["chuī"], ["tái"]],
		"吹嘘": [["chuī"], ["xū"]],
		"垂落": [["chuí"], ["luò"]],
		"垂体": [["chuí"], ["tǐ"]],
		"垂头": [["chuí"], ["tóu"]],
		"锤打": [["chuí"], ["dǎ"]],
		"锤骨": [["chuí"], ["gǔ"]],
		"春分": [["chūn"], ["fēn"]],
		"春风": [["chūn"], ["fēng"]],
		"春化": [["chūn"], ["huà"]],
		"春假": [["chūn"], ["jià"]],
		"春节": [["chūn"], ["jié"]],
		"春景": [["chūn"], ["jǐng"]],
		"春卷": [["chūn"], ["juǎn"]],
		"春雨": [["chūn"], ["yǔ"]],
		"春令": [["chūn"], ["lìng"]],
		"春上": [["chūn"], ["shàng"]],
		"春种": [["chūn"], ["zhòng"]],
		"纯度": [["chún"], ["dù"]],
		"纯钢": [["chún"], ["gāng"]],
		"纯化": [["chún"], ["huà"]],
		"纯净": [["chún"], ["jìng"]],
		"纯朴": [["chún"], ["piáo"]],
		"纯正": [["chún"], ["zhèng"]],
		"纯种": [["chún"], ["zhǒng"]],
		"唇膏": [["chún"], ["gāo"]],
		"唇裂": [["chún"], ["liè"]],
		"淳厚": [["chún"], ["hòu"]],
		"淳美": [["chún"], ["měi"]],
		"淳化": [["chún"], ["huà"]],
		"淳于": [["chún"], ["yú"]],
		"醇和": [["chún"], ["hé"]],
		"醇化": [["chún"], ["huà"]],
		"醇朴": [["chún"], ["piáo"]],
		"醇正": [["chún"], ["zhèng"]],
		"绰绰": [["chuò"], ["chuò"]],
		"绰号": [["chuò"], ["hào"]],
		"绰约": [["chuò"], ["yuē"]],
		"呲牙": [["zī"], ["yá"]],
		"词调": [["cí"], ["diào"]],
		"词令": [["cí"], ["lìng"]],
		"词句": [["cí"], ["jù"]],
		"词曲": [["cí"], ["qǔ"]],
		"词条": [["cí"], ["tiáo"]],
		"词头": [["cí"], ["tóu"]],
		"词尾": [["cí"], ["wěi"]],
		"词语": [["cí"], ["yǔ"]],
		"慈父": [["cí"], ["fù"]],
		"辞别": [["cí"], ["bié"]],
		"慈和": [["cí"], ["hé"]],
		"辞句": [["cí"], ["jù"]],
		"辞令": [["cí"], ["lìng"]],
		"辞条": [["cí"], ["tiáo"]],
		"辞行": [["cí"], ["xíng"]],
		"磁场": [["cí"], ["chǎng"]],
		"磁化": [["cí"], ["huà"]],
		"磁石": [["cí"], ["shí"]],
		"磁体": [["cí"], ["tǐ"]],
		"磁头": [["cí"], ["tóu"]],
		"此地": [["cǐ"], ["dì"]],
		"此间": [["cǐ"], ["jiān"]],
		"次长": [["cì"], ["zhǎng"]],
		"次数": [["cì"], ["shù"]],
		"次要": [["cì"], ["yào"]],
		"刺柏": [["cì"], ["bǎi"]],
		"刺鼻": [["cì"], ["bí"]],
		"刺儿": [["cì"], ["ér"]],
		"刺刀": [["cì"], ["dāo"]],
		"刺耳": [["cì"], ["ěr"]],
		"刺骨": [["cì"], ["gǔ"]],
		"刺槐": [["cì"], ["huái"]],
		"刺客": [["cì"], ["kè"]],
		"刺激": [["cì"], ["jī"]],
		"刺啦": [["cī"], ["lā"]],
		"刺溜": [["cī"], ["liū"]],
		"刺目": [["cì"], ["mù"]],
		"刺配": [["cì"], ["pèi"]],
		"刺破": [["cì"], ["pò"]],
		"刺杀": [["cì"], ["shā"]],
		"刺伤": [["cì"], ["shāng"]],
		"刺史": [["cì"], ["shǐ"]],
		"刺探": [["cì"], ["tàn"]],
		"刺桐": [["cì"], ["tóng"]],
		"刺痛": [["cì"], ["tòng"]],
		"刺头": [["cì"], ["tóu"]],
		"刺网": [["cì"], ["wǎng"]],
		"刺猬": [["cì"], ["wèi"]],
		"刺绣": [["cì"], ["xiù"]],
		"刺眼": [["cì"], ["yǎn"]],
		"刺痒": [["cì"], ["yáng"]],
		"刺针": [["cì"], ["zhēn"]],
		"刺字": [["cì"], ["zì"]],
		"赐教": [["cì"], ["jiào"]],
		"赐给": [["cì"], ["gěi"]],
		"赐予": [["cì"], ["yǔ"]],
		"从不": [["cóng"], ["bù"]],
		"从此": [["cóng"], ["cǐ"]],
		"从动": [["cóng"], ["dòng"]],
		"从而": [["cóng"], ["ér"]],
		"从化": [["cóng"], ["huà"]],
		"从犯": [["cóng"], ["fàn"]],
		"从今": [["cóng"], ["jīn"]],
		"从教": [["cóng"], ["jiào"]],
		"从句": [["cóng"], ["jù"]],
		"从军": [["cóng"], ["jūn"]],
		"从来": [["cóng"], ["lái"]],
		"从良": [["cóng"], ["liáng"]],
		"从略": [["cóng"], ["lüè"]],
		"从命": [["cóng"], ["mìng"]],
		"从前": [["cóng"], ["qián"]],
		"从权": [["cóng"], ["quán"]],
		"从戎": [["cóng"], ["róng"]],
		"从容": [["cóng"], ["róng"]],
		"从师": [["cóng"], ["shī"]],
		"从实": [["cóng"], ["shí"]],
		"从事": [["cóng"], ["shì"]],
		"从俗": [["cóng"], ["sú"]],
		"从速": [["cóng"], ["sù"]],
		"从头": [["cóng"], ["tóu"]],
		"从先": [["cóng"], ["xiān"]],
		"从小": [["cóng"], ["xiǎo"]],
		"从新": [["cóng"], ["xīn"]],
		"从刑": [["cóng"], ["xíng"]],
		"从业": [["cóng"], ["yè"]],
		"从征": [["cóng"], ["zhēng"]],
		"从优": [["cóng"], ["yōu"]],
		"从政": [["cóng"], ["zhèng"]],
		"从中": [["cóng"], ["zhōng"]],
		"从众": [["cóng"], ["zhòng"]],
		"从属": [["cóng"], ["shǔ"]],
		"枞阳": [["zōng"], ["yáng"]],
		"葱头": [["cōng"], ["tóu"]],
		"葱绿": [["cōng"], ["lǜ"]],
		"凑趣": [["còu"], ["qù"]],
		"粗暴": [["cū"], ["bào"]],
		"凑数": [["còu"], ["shù"]],
		"粗浅": [["cū"], ["qiǎn"]],
		"撺弄": [["cuān"], ["nòng"]],
		"催发": [["cuī"], ["fā"]],
		"蹿跳": [["cuān"], ["tiào"]],
		"催化": [["cuī"], ["huà"]],
		"催迫": [["cuī"], ["pò"]],
		"摧折": [["cuī"], ["shé"]],
		"脆骨": [["cuì"], ["gǔ"]],
		"翠柏": [["cuì"], ["bǎi"]],
		"翠绿": [["cuì"], ["lǜ"]],
		"村长": [["cūn"], ["zhǎng"]],
		"村夫": [["cūn"], ["fū"]],
		"村落": [["cūn"], ["luò"]],
		"村上": [["cūn"], ["shàng"]],
		"村头": [["cūn"], ["tóu"]],
		"皴裂": [["cūn"], ["liè"]],
		"存查": [["cún"], ["zhā"]],
		"存单": [["cún"], ["dān"]],
		"存食": [["cún"], ["shí"]],
		"存疑": [["cún"], ["yí"]],
		"存亡": [["cún"], ["wáng"]],
		"存折": [["cún"], ["zhé"]],
		"忖度": [["cǔn"], ["duó"]],
		"寸楷": [["cùn"], ["kǎi"]],
		"忖量": [["cǔn"], ["liàng"]],
		"寸头": [["cùn"], ["tóu"]],
		"搓洗": [["cuō"], ["xǐ"]],
		"搓弄": [["cuō"], ["nòng"]],
		"撮合": [["cuō"], ["hé"]],
		"撮箕": [["cuō"], ["jī"]],
		"撮弄": [["cuō"], ["nòng"]],
		"撮要": [["cuō"], ["yào"]],
		"挫折": [["cuò"], ["zhé"]],
		"错车": [["cuò"], ["chē"]],
		"错处": [["cuò"], ["chǔ"]],
		"错过": [["cuò"], ["guò"]],
		"错觉": [["cuò"], ["jué"]],
		"错落": [["cuò"], ["luò"]],
		"错综": [["cuò"], ["zōng"]],
		"耷拉": [["dā"], ["lā"]],
		"搭便": [["dā"], ["biàn"]],
		"搭车": [["dā"], ["chē"]],
		"搭乘": [["dā"], ["chéng"]],
		"搭盖": [["dā"], ["gài"]],
		"搭载": [["dā"], ["zài"]],
		"搭拉": [["dā"], ["lā"]],
		"嗒嗒": [["dā"], ["dā"]],
		"嗒丧": [["tà"], ["sàng"]],
		"嗒然": [["tà"], ["rán"]],
		"达观": [["dá"], ["guān"]],
		"达摩": [["dá"], ["mó"]],
		"答案": [["dá"], ["àn"]],
		"答拜": [["dá"], ["bài"]],
		"答辩": [["dá"], ["biàn"]],
		"答词": [["dá"], ["cí"]],
		"答对": [["dá"], ["duì"]],
		"答复": [["dá"], ["fù"]],
		"答卷": [["dá"], ["juàn"]],
		"答话": [["dá"], ["huà"]],
		"答礼": [["dá"], ["lǐ"]],
		"答理": [["dā"], ["lǐ"]],
		"答腔": [["dā"], ["qiāng"]],
		"答数": [["dá"], ["shù"]],
		"答问": [["dá"], ["wèn"]],
		"答谢": [["dá"], ["xiè"]],
		"答言": [["dá"], ["yán"]],
		"答疑": [["dá"], ["yí"]],
		"答应": [["dā"], ["yìng"]],
		"答语": [["dá"], ["yǔ"]],
		"答允": [["dā"], ["yǔn"]],
		"打扮": [["dǎ"], ["bàn"]],
		"打靶": [["dǎ"], ["bǎ"]],
		"打败": [["dǎ"], ["bài"]],
		"打包": [["dǎ"], ["bāo"]],
		"打比": [["dǎ"], ["bǐ"]],
		"打草": [["dǎ"], ["cǎo"]],
		"打杈": [["dǎ"], ["chà"]],
		"打颤": [["dǎ"], ["zhàn"]],
		"打岔": [["dǎ"], ["chà"]],
		"打场": [["dǎ"], ["cháng"]],
		"打春": [["dǎ"], ["chūn"]],
		"打从": [["dǎ"], ["cóng"]],
		"打倒": [["dǎ"], ["dǎo"]],
		"打底": [["dǎ"], ["dǐ"]],
		"打点": [["dǎ"], ["diǎn"]],
		"打掉": [["dǎ"], ["diào"]],
		"打顶": [["dǎ"], ["dǐng"]],
		"打动": [["dǎ"], ["dòng"]],
		"打洞": [["dǎ"], ["dòng"]],
		"打斗": [["dǎ"], ["dòu"]],
		"打赌": [["dǎ"], ["dǔ"]],
		"打断": [["dǎ"], ["duàn"]],
		"打盹": [["dǎ"], ["dǔn"]],
		"打呃": [["dǎ"], ["e"]],
		"打发": [["dǎ"], ["fā"]],
		"打法": [["dǎ"], ["fǎ"]],
		"打翻": [["dǎ"], ["fān"]],
		"打分": [["dǎ"], ["fēn"]],
		"打嗝": [["dǎ"], ["gé"]],
		"打更": [["dǎ"], ["gēng"]],
		"打工": [["dǎ"], ["gōng"]],
		"打拱": [["dǎ"], ["gǒng"]],
		"打钩": [["dǎ"], ["gōu"]],
		"打谷": [["dǎ"], ["gǔ"]],
		"打鼓": [["dǎ"], ["gǔ"]],
		"打卦": [["dǎ"], ["guà"]],
		"打鬼": [["dǎ"], ["guǐ"]],
		"打滚": [["dǎ"], ["gǔn"]],
		"打鼾": [["dǎ"], ["hān"]],
		"打夯": [["dǎ"], ["hāng"]],
		"打横": [["dǎ"], ["héng"]],
		"打呼": [["dǎ"], ["hū"]],
		"打滑": [["dǎ"], ["huá"]],
		"打火": [["dǎ"], ["huǒ"]],
		"打诨": [["dǎ"], ["hùn"]],
		"打击": [["dǎ"], ["jī"]],
		"打架": [["dǎ"], ["jià"]],
		"打尖": [["dǎ"], ["jiān"]],
		"打浆": [["dǎ"], ["jiāng"]],
		"打搅": [["dǎ"], ["jiǎo"]],
		"打醮": [["dǎ"], ["jiào"]],
		"打劫": [["dǎ"], ["jié"]],
		"打结": [["dǎ"], ["jié"]],
		"打紧": [["dǎ"], ["jǐn"]],
		"打开": [["dǎ"], ["kāi"]],
		"打孔": [["dǎ"], ["kǒng"]],
		"打垮": [["dǎ"], ["kuǎ"]],
		"打捞": [["dǎ"], ["lāo"]],
		"打雷": [["dǎ"], ["léi"]],
		"打擂": [["dǎ"], ["lèi"]],
		"打理": [["dǎ"], ["lǐ"]],
		"打量": [["dǎ"], ["liang"]],
		"打猎": [["dǎ"], ["liè"]],
		"打乱": [["dǎ"], ["luàn"]],
		"打落": [["dǎ"], ["luò"]],
		"打骂": [["dǎ"], ["mà"]],
		"打门": [["dǎ"], ["mén"]],
		"打磨": [["dǎ"], ["mó"]],
		"打闹": [["dǎ"], ["nào"]],
		"打牌": [["dǎ"], ["pái"]],
		"打炮": [["dǎ"], ["pào"]],
		"打泡": [["dǎ"], ["pào"]],
		"打拼": [["dǎ"], ["pīn"]],
		"打破": [["dǎ"], ["pò"]],
		"打平": [["dǎ"], ["píng"]],
		"打谱": [["dǎ"], ["pǔ"]],
		"打气": [["dǎ"], ["qì"]],
		"打枪": [["dǎ"], ["qiāng"]],
		"打球": [["dǎ"], ["qiú"]],
		"打趣": [["dǎ"], ["qù"]],
		"打拳": [["dǎ"], ["quán"]],
		"打扰": [["dǎ"], ["rǎo"]],
		"打散": [["dǎ"], ["sàn"]],
		"打杀": [["dǎ"], ["shā"]],
		"打扫": [["dǎ"], ["sǎo"]],
		"打闪": [["dǎ"], ["shǎn"]],
		"打伤": [["dǎ"], ["shāng"]],
		"打手": [["dǎ"], ["shǒu"]],
		"打食": [["dǎ"], ["shí"]],
		"打水": [["dǎ"], ["shuǐ"]],
		"打算": [["dǎ"], ["suàn"]],
		"打胎": [["dǎ"], ["tāi"]],
		"打铁": [["dǎ"], ["tiě"]],
		"打探": [["dǎ"], ["tàn"]],
		"打听": [["dǎ"], ["tīng"]],
		"打通": [["dǎ"], ["tōng"]],
		"打头": [["dǎ"], ["tóu"]],
		"打退": [["dǎ"], ["tuì"]],
		"打弯": [["dǎ"], ["wān"]],
		"打问": [["dǎ"], ["wèn"]],
		"打响": [["dǎ"], ["xiǎng"]],
		"打下": [["dǎ"], ["xià"]],
		"打消": [["dǎ"], ["xiāo"]],
		"打旋": [["dǎ"], ["xuán"]],
		"打斜": [["dǎ"], ["xié"]],
		"打眼": [["dǎ"], ["yǎn"]],
		"打烊": [["dǎ"], ["yàng"]],
		"打样": [["dǎ"], ["yàng"]],
		"打药": [["dǎ"], ["yào"]],
		"打印": [["dǎ"], ["yìn"]],
		"打油": [["dǎ"], ["yóu"]],
		"打鱼": [["dǎ"], ["yú"]],
		"打援": [["dǎ"], ["yuán"]],
		"打杂": [["dǎ"], ["zá"]],
		"打造": [["dǎ"], ["zào"]],
		"打战": [["dǎ"], ["zhàn"]],
		"打仗": [["dǎ"], ["zhàng"]],
		"打针": [["dǎ"], ["zhēn"]],
		"打中": [["dǎ"], ["zhòng"]],
		"打皱": [["dǎ"], ["zhòu"]],
		"打住": [["dǎ"], ["zhù"]],
		"打转": [["dǎ"], ["zhuǎn"]],
		"打桩": [["dǎ"], ["zhuāng"]],
		"打字": [["dǎ"], ["zì"]],
		"打总": [["dǎ"], ["zǒng"]],
		"打坐": [["dǎ"], ["zuò"]],
		"打嘴": [["dǎ"], ["zuǐ"]],
		"大安": [["dà"], ["ān"]],
		"大案": [["dà"], ["àn"]],
		"大巴": [["dà"], ["bā"]],
		"大坝": [["dà"], ["bà"]],
		"大把": [["dà"], ["bǎ"]],
		"大白": [["dà"], ["bái"]],
		"大败": [["dà"], ["bài"]],
		"大班": [["dà"], ["bān"]],
		"大半": [["dà"], ["bàn"]],
		"大包": [["dà"], ["bāo"]],
		"大报": [["dà"], ["bào"]],
		"大杯": [["dà"], ["bēi"]],
		"大悲": [["dà"], ["bēi"]],
		"大北": [["dà"], ["běi"]],
		"大本": [["dà"], ["běn"]],
		"大笔": [["dà"], ["bǐ"]],
		"大便": [["dà"], ["biàn"]],
		"大兵": [["dà"], ["bīng"]],
		"大饼": [["dà"], ["bǐng"]],
		"大病": [["dà"], ["bìng"]],
		"大波": [["dà"], ["bō"]],
		"大伯": [["dà"], ["bó"]],
		"大部": [["dà"], ["bù"]],
		"大菜": [["dà"], ["cài"]],
		"大藏": [["dà"], ["zàng"]],
		"大餐": [["dà"], ["cān"]],
		"大肠": [["dà"], ["cháng"]],
		"大氅": [["dà"], ["chǎng"]],
		"大钞": [["dà"], ["chāo"]],
		"大潮": [["dà"], ["cháo"]],
		"大车": [["dà"], ["chē"]],
		"大臣": [["dà"], ["chén"]],
		"大成": [["dà"], ["chéng"]],
		"大城": [["dài"], ["chéng"]],
		"大乘": [["dà"], ["chéng"]],
		"大虫": [["dà"], ["chóng"]],
		"大处": [["dà"], ["chù"]],
		"大错": [["dà"], ["cuò"]],
		"大葱": [["dà"], ["cōng"]],
		"大大": [["dà"], ["dà"]],
		"大胆": [["dà"], ["dǎn"]],
		"大刀": [["dà"], ["dāo"]],
		"大道": [["dà"], ["dào"]],
		"大德": [["dà"], ["dé"]],
		"大堤": [["dà"], ["dī"]],
		"大敌": [["dà"], ["dí"]],
		"大抵": [["dà"], ["dǐ"]],
		"大帝": [["dà"], ["dì"]],
		"大地": [["dà"], ["dì"]],
		"大典": [["dà"], ["diǎn"]],
		"大殿": [["dà"], ["diàn"]],
		"大调": [["dà"], ["diào"]],
		"大都": [["dà"], ["dū"]],
		"大豆": [["dà"], ["dòu"]],
		"大度": [["dà"], ["dù"]],
		"大端": [["dà"], ["duān"]],
		"大队": [["dà"], ["duì"]],
		"大多": [["dà"], ["duō"]],
		"大发": [["dà"], ["fā"]],
		"大法": [["dà"], ["fǎ"]],
		"大凡": [["dà"], ["fán"]],
		"大方": [["dà"], ["fāng"]],
		"大分": [["dà"], ["fēn"]],
		"大粪": [["dà"], ["fèn"]],
		"大风": [["dà"], ["fēng"]],
		"大夫": [["dài"], ["fū"]],
		"大副": [["dà"], ["fù"]],
		"大纲": [["dà"], ["gāng"]],
		"大概": [["dà"], ["gài"]],
		"大干": [["dà"], ["gàn"]],
		"大哥": [["dà"], ["gē"]],
		"大工": [["dà"], ["gōng"]],
		"大公": [["dà"], ["gōng"]],
		"大功": [["dà"], ["gōng"]],
		"大姑": [["dà"], ["gū"]],
		"大鼓": [["dà"], ["gǔ"]],
		"大故": [["dà"], ["gù"]],
		"大褂": [["dà"], ["guà"]],
		"大观": [["dà"], ["guān"]],
		"大关": [["dà"], ["guān"]],
		"大官": [["dà"], ["guān"]],
		"大国": [["dà"], ["guó"]],
		"大过": [["dà"], ["guò"]],
		"大海": [["dà"], ["hǎi"]],
		"大寒": [["dà"], ["hán"]],
		"大汉": [["dà"], ["hàn"]],
		"大好": [["dà"], ["hǎo"]],
		"大号": [["dà"], ["hào"]],
		"大河": [["dà"], ["hé"]],
		"大红": [["dà"], ["hóng"]],
		"大亨": [["dà"], ["hēng"]],
		"大户": [["dà"], ["hù"]],
		"大话": [["dà"], ["huà"]],
		"大黄": [["dài"], ["huáng"]],
		"大会": [["dà"], ["huì"]],
		"大火": [["dà"], ["huǒ"]],
		"大吉": [["dà"], ["jí"]],
		"大伙": [["dà"], ["huǒ"]],
		"大计": [["dà"], ["jì"]],
		"大忌": [["dà"], ["jì"]],
		"大家": [["dà"], ["jiā"]],
		"大蓟": [["dà"], ["jì"]],
		"大驾": [["dà"], ["jià"]],
		"大江": [["dà"], ["jiāng"]],
		"大将": [["dà"], ["jiàng"]],
		"大脚": [["dà"], ["jiǎo"]],
		"大角": [["dà"], ["jiǎo"]],
		"大叫": [["dà"], ["jiào"]],
		"大街": [["dà"], ["jiē"]],
		"大节": [["dà"], ["jié"]],
		"大捷": [["dà"], ["jié"]],
		"大姐": [["dà"], ["jiě"]],
		"大解": [["dà"], ["jiě"]],
		"大襟": [["dà"], ["jīn"]],
		"大舅": [["dà"], ["jiù"]],
		"大举": [["dà"], ["jǔ"]],
		"大局": [["dà"], ["jú"]],
		"大嚼": [["dà"], ["jué"]],
		"大军": [["dà"], ["jūn"]],
		"大卡": [["dà"], ["kǎ"]],
		"大君": [["dà"], ["jūn"]],
		"大楷": [["dà"], ["kǎi"]],
		"大考": [["dà"], ["kǎo"]],
		"大课": [["dà"], ["kè"]],
		"大口": [["dà"], ["kǒu"]],
		"大块": [["dà"], ["kuài"]],
		"大款": [["dà"], ["kuǎn"]],
		"大老": [["dà"], ["lǎo"]],
		"大牢": [["dà"], ["láo"]],
		"大浪": [["dà"], ["làng"]],
		"大礼": [["dà"], ["lǐ"]],
		"大理": [["dà"], ["lǐ"]],
		"大吏": [["dà"], ["lì"]],
		"大历": [["dà"], ["lì"]],
		"大荔": [["dà"], ["lì"]],
		"大力": [["dà"], ["lì"]],
		"大连": [["dà"], ["lián"]],
		"大殓": [["dà"], ["liàn"]],
		"大梁": [["dà"], ["liáng"]],
		"大量": [["dà"], ["liàng"]],
		"大料": [["dà"], ["liào"]],
		"大陵": [["dà"], ["líng"]],
		"大龄": [["dà"], ["líng"]],
		"大溜": [["dà"], ["liù"]],
		"大陆": [["dà"], ["lù"]],
		"大路": [["dà"], ["lù"]],
		"大吕": [["dà"], ["lǚ"]],
		"大略": [["dà"], ["lüè"]],
		"大率": [["dà"], ["shuài"]],
		"大锣": [["dà"], ["luó"]],
		"大妈": [["dà"], ["mā"]],
		"大麻": [["dà"], ["má"]],
		"大麦": [["dà"], ["mài"]],
		"大忙": [["dà"], ["máng"]],
		"大毛": [["dà"], ["máo"]],
		"大媒": [["dà"], ["méi"]],
		"大门": [["dà"], ["mén"]],
		"大米": [["dà"], ["mǐ"]],
		"大面": [["dà"], ["miàn"]],
		"大名": [["dà"], ["míng"]],
		"大明": [["dà"], ["míng"]],
		"大漠": [["dà"], ["mò"]],
		"大拿": [["dà"], ["ná"]],
		"大内": [["dà"], ["nèi"]],
		"大难": [["dà"], ["nàn"]],
		"大脑": [["dà"], ["nǎo"]],
		"大鲵": [["dà"], ["ní"]],
		"大逆": [["dà"], ["nì"]],
		"大年": [["dà"], ["nián"]],
		"大娘": [["dà"], ["niáng"]],
		"大宁": [["dà"], ["níng"]],
		"大炮": [["dà"], ["pào"]],
		"大批": [["dà"], ["pī"]],
		"大片": [["dà"], ["piàn"]],
		"大气": [["dà"], ["qì"]],
		"大器": [["dà"], ["qì"]],
		"大钱": [["dà"], ["qián"]],
		"大桥": [["dà"], ["qiáo"]],
		"大墙": [["dà"], ["qiáng"]],
		"大青": [["dà"], ["qīng"]],
		"大庆": [["dà"], ["qìng"]],
		"大秋": [["dà"], ["qiū"]],
		"大曲": [["dà"], ["qū"]],
		"大区": [["dà"], ["qū"]],
		"大权": [["dà"], ["quán"]],
		"大全": [["dà"], ["quán"]],
		"大群": [["dà"], ["qún"]],
		"大人": [["dà"], ["rén"]],
		"大任": [["dà"], ["rèn"]],
		"大肉": [["dà"], ["ròu"]],
		"大儒": [["dà"], ["rú"]],
		"大赛": [["dà"], ["sài"]],
		"大嫂": [["dà"], ["sǎo"]],
		"大赦": [["dà"], ["shè"]],
		"大身": [["dà"], ["shēn"]],
		"大神": [["dà"], ["shén"]],
		"大婶": [["dà"], ["shěn"]],
		"大声": [["dà"], ["shēng"]],
		"大圣": [["dà"], ["shèng"]],
		"大使": [["dà"], ["shǐ"]],
		"大师": [["dà"], ["shī"]],
		"大市": [["dà"], ["shì"]],
		"大事": [["dà"], ["shì"]],
		"大寿": [["dà"], ["shòu"]],
		"大势": [["dà"], ["shì"]],
		"大书": [["dà"], ["shū"]],
		"大叔": [["dà"], ["shū"]],
		"大暑": [["dà"], ["shǔ"]],
		"大数": [["dà"], ["shù"]],
		"大树": [["dà"], ["shù"]],
		"大帅": [["dà"], ["shuài"]],
		"大顺": [["dà"], ["shùn"]],
		"大水": [["dà"], ["shuǐ"]],
		"大肆": [["dà"], ["sì"]],
		"大蒜": [["dà"], ["suàn"]],
		"大谈": [["dà"], ["tán"]],
		"大堂": [["dà"], ["táng"]],
		"大体": [["dà"], ["tǐ"]],
		"大田": [["dà"], ["tián"]],
		"大厅": [["dà"], ["tīng"]],
		"大通": [["dà"], ["tōng"]],
		"大同": [["dà"], ["tóng"]],
		"大统": [["dà"], ["tǒng"]],
		"大头": [["dà"], ["tóu"]],
		"大腿": [["dà"], ["tuǐ"]],
		"大腕": [["dà"], ["wàn"]],
		"大王": [["dài"], ["wáng"]],
		"大卫": [["dà"], ["wèi"]],
		"大尉": [["dà"], ["wèi"]],
		"大我": [["dà"], ["wǒ"]],
		"大悟": [["dà"], ["wù"]],
		"大戏": [["dà"], ["xì"]],
		"大喜": [["dà"], ["xǐ"]],
		"大系": [["dà"], ["xì"]],
		"大侠": [["dà"], ["xiá"]],
		"大厦": [["dà"], ["shà"]],
		"大限": [["dà"], ["xiàn"]],
		"大项": [["dà"], ["xiàng"]],
		"大象": [["dà"], ["xiàng"]],
		"大小": [["dà"], ["xiǎo"]],
		"大校": [["dà"], ["xiào"]],
		"大笑": [["dà"], ["xiào"]],
		"大写": [["dà"], ["xiě"]],
		"大兴": [["dà"], ["xīng"]],
		"大刑": [["dà"], ["xíng"]],
		"大型": [["dà"], ["xíng"]],
		"大姓": [["dà"], ["xìng"]],
		"大幸": [["dà"], ["xìng"]],
		"大修": [["dà"], ["xiū"]],
		"大选": [["dà"], ["xuǎn"]],
		"大学": [["dà"], ["xué"]],
		"大雪": [["dà"], ["xuě"]],
		"大牙": [["dà"], ["yá"]],
		"大雅": [["dà"], ["yá"]],
		"大烟": [["dà"], ["yān"]],
		"大盐": [["dà"], ["yán"]],
		"大雁": [["dà"], ["yàn"]],
		"大洋": [["dà"], ["yáng"]],
		"大样": [["dà"], ["yàng"]],
		"大爷": [["dà"], ["yé"]],
		"大要": [["dà"], ["yào"]],
		"大冶": [["dà"], ["yě"]],
		"大一": [["dà"], ["yī"]],
		"大业": [["dà"], ["yè"]],
		"大衣": [["dà"], ["yī"]],
		"大姨": [["dà"], ["yí"]],
		"大义": [["dà"], ["yì"]],
		"大意": [["dà"], ["yì"]],
		"大邑": [["dà"], ["yì"]],
		"大印": [["dà"], ["yìn"]],
		"大油": [["dà"], ["yóu"]],
		"大有": [["dà"], ["yǒu"]],
		"大余": [["dà"], ["yú"]],
		"大宇": [["dà"], ["yǔ"]],
		"大禹": [["dà"], ["yǔ"]],
		"大雨": [["dà"], ["yǔ"]],
		"大员": [["dà"], ["yuán"]],
		"大圆": [["dà"], ["yuán"]],
		"大院": [["dà"], ["yuàn"]],
		"大月": [["dà"], ["yuè"]],
		"大早": [["dà"], ["zǎo"]],
		"大约": [["dà"], ["yuē"]],
		"大枣": [["dà"], ["zǎo"]],
		"大灶": [["dà"], ["zào"]],
		"大战": [["dà"], ["zhàn"]],
		"大政": [["dà"], ["zhèng"]],
		"大指": [["dà"], ["zhǐ"]],
		"大志": [["dà"], ["zhì"]],
		"大治": [["dà"], ["zhì"]],
		"大致": [["dà"], ["zhì"]],
		"大智": [["dà"], ["zhì"]],
		"大钟": [["dà"], ["zhōng"]],
		"大众": [["dà"], ["zhòng"]],
		"大洲": [["dà"], ["zhōu"]],
		"大专": [["dà"], ["zhuān"]],
		"大壮": [["dà"], ["zhuàng"]],
		"大篆": [["dà"], ["zhuàn"]],
		"大子": [["tài"], ["zǐ"]],
		"大字": [["dà"], ["zì"]],
		"大宗": [["dà"], ["zōng"]],
		"大族": [["dà"], ["zú"]],
		"大足": [["dà"], ["zú"]],
		"呆头": [["dāi"], ["tóu"]],
		"大作": [["dà"], ["zuò"]],
		"代称": [["dài"], ["chēng"]],
		"歹毒": [["dǎi"], ["dú"]],
		"代号": [["dài"], ["hào"]],
		"代价": [["dài"], ["jià"]],
		"代数": [["dài"], ["shù"]],
		"代为": [["dài"], ["wéi"]],
		"代行": [["dài"], ["xíng"]],
		"带钢": [["dài"], ["gāng"]],
		"带劲": [["dài"], ["jìn"]],
		"带菌": [["dài"], ["jūn"]],
		"带累": [["dài"], ["lèi"]],
		"带脉": [["dài"], ["mài"]],
		"带头": [["dài"], ["tóu"]],
		"待办": [["dài"], ["bàn"]],
		"待查": [["dài"], ["zhā"]],
		"待承": [["dài"], ["chéng"]],
		"待到": [["dài"], ["dào"]],
		"待机": [["dài"], ["jī"]],
		"待考": [["dài"], ["kǎo"]],
		"待命": [["dài"], ["mìng"]],
		"待客": [["dài"], ["kè"]],
		"待聘": [["dài"], ["pìn"]],
		"待人": [["dài"], ["rén"]],
		"待续": [["dài"], ["xù"]],
		"待业": [["dài"], ["yè"]],
		"待用": [["dài"], ["yòng"]],
		"待遇": [["dài"], ["yù"]],
		"待制": [["dài"], ["zhì"]],
		"殆尽": [["dài"], ["jìn"]],
		"黛绿": [["dài"], ["lǜ"]],
		"丹参": [["dān"], ["shēn"]],
		"丹毒": [["dān"], ["dú"]],
		"单摆": [["dān"], ["bǎi"]],
		"单帮": [["dān"], ["bāng"]],
		"单兵": [["dān"], ["bīng"]],
		"单薄": [["dān"], ["bó"]],
		"单程": [["dān"], ["chéng"]],
		"单产": [["dān"], ["chǎn"]],
		"单车": [["dān"], ["chē"]],
		"单传": [["dān"], ["chuán"]],
		"单纯": [["dān"], ["chún"]],
		"单词": [["dān"], ["cí"]],
		"单打": [["dān"], ["dǎ"]],
		"单单": [["dān"], ["dān"]],
		"单刀": [["dān"], ["dāo"]],
		"单调": [["dān"], ["diào"]],
		"单独": [["dān"], ["dú"]],
		"单发": [["dān"], ["fā"]],
		"单方": [["dān"], ["fāng"]],
		"单幅": [["dān"], ["fú"]],
		"单干": [["dān"], ["gàn"]],
		"单杠": [["dān"], ["gàng"]],
		"单轨": [["dān"], ["guǐ"]],
		"单寒": [["dān"], ["hán"]],
		"单机": [["dān"], ["jī"]],
		"单极": [["dān"], ["jí"]],
		"单价": [["dān"], ["jià"]],
		"单间": [["dān"], ["jiān"]],
		"单句": [["dān"], ["jù"]],
		"单据": [["dān"], ["jù"]],
		"单口": [["dān"], ["kǒu"]],
		"单裤": [["dān"], ["kù"]],
		"单利": [["dān"], ["lì"]],
		"单恋": [["dān"], ["liàn"]],
		"单列": [["dān"], ["liè"]],
		"单另": [["dān"], ["lìng"]],
		"单门": [["dān"], ["mén"]],
		"单篇": [["dān"], ["piān"]],
		"单骑": [["dān"], ["qí"]],
		"单弱": [["dān"], ["ruò"]],
		"单身": [["dān"], ["shēn"]],
		"单数": [["dān"], ["shù"]],
		"单瘫": [["dān"], ["tān"]],
		"单糖": [["dān"], ["táng"]],
		"单位": [["dān"], ["wèi"]],
		"单弦": [["dān"], ["xián"]],
		"单线": [["dān"], ["xiàn"]],
		"单向": [["dān"], ["xiàng"]],
		"单行": [["dān"], ["xíng"]],
		"单姓": [["shàn"], ["xìng"]],
		"单衣": [["dān"], ["yī"]],
		"单一": [["dān"], ["yī"]],
		"单用": [["dān"], ["yòng"]],
		"单于": [["chán"], ["yú"]],
		"单元": [["dān"], ["yuán"]],
		"单子": [["dān"], ["zi"]],
		"单字": [["dān"], ["zì"]],
		"单作": [["dān"], ["zuò"]],
		"担保": [["dān"], ["bǎo"]],
		"担承": [["dān"], ["chéng"]],
		"担待": [["dān"], ["dài"]],
		"担当": [["dān"], ["dāng"]],
		"担负": [["dān"], ["fù"]],
		"担搁": [["dān"], ["gē"]],
		"担任": [["dān"], ["rèn"]],
		"担架": [["dān"], ["jià"]],
		"担心": [["dān"], ["xīn"]],
		"担忧": [["dān"], ["yōu"]],
		"担子": [["dàn"], ["zi"]],
		"耽溺": [["dān"], ["nì"]],
		"耽搁": [["dān"], ["gē"]],
		"胆量": [["dǎn"], ["liàng"]],
		"胆囊": [["dǎn"], ["náng"]],
		"胆识": [["dǎn"], ["shí"]],
		"旦角": [["dàn"], ["jué"]],
		"弹词": [["tán"], ["cí"]],
		"弹射": [["tán"], ["shè"]],
		"弹腿": [["dàn"], ["tuǐ"]],
		"弹丸": [["dàn"], ["wán"]],
		"弹性": [["tán"], ["xìng"]],
		"弹药": [["dàn"], ["yào"]],
		"弹子": [["dàn"], ["zǐ"]],
		"淡化": [["dàn"], ["huà"]],
		"澹澹": [["dàn"], ["dàn"]],
		"澹台": [["tán"], ["tái"]],
		"当兵": [["dāng"], ["bīng"]],
		"当班": [["dāng"], ["bān"]],
		"当差": [["dāng"], ["chāi"]],
		"当场": [["dāng"], ["chǎng"]],
		"当朝": [["dāng"], ["cháo"]],
		"当成": [["dàng"], ["chéng"]],
		"当初": [["dāng"], ["chū"]],
		"当代": [["dāng"], ["dài"]],
		"当当": [["dāng"], ["dāng"]],
		"当道": [["dāng"], ["dào"]],
		"当地": [["dāng"], ["dì"]],
		"当儿": [["dāng"], ["ér"]],
		"当官": [["dāng"], ["guān"]],
		"当归": [["dāng"], ["guī"]],
		"当即": [["dāng"], ["jí"]],
		"当家": [["dāng"], ["jiā"]],
		"当街": [["dāng"], ["jiē"]],
		"当今": [["dāng"], ["jīn"]],
		"当紧": [["dāng"], ["jǐn"]],
		"当局": [["dāng"], ["jú"]],
		"当空": [["dāng"], ["kōng"]],
		"当口": [["dāng"], ["kǒu"]],
		"当啷": [["dāng"], ["lāng"]],
		"当量": [["dāng"], ["liàng"]],
		"当令": [["dāng"], ["lìng"]],
		"当路": [["dāng"], ["lù"]],
		"当年": [["dāng"], ["nián"]],
		"当面": [["dāng"], ["miàn"]],
		"当票": [["dàng"], ["piào"]],
		"当铺": [["dàng"], ["pù"]],
		"当期": [["dāng"], ["qī"]],
		"当前": [["dāng"], ["qián"]],
		"当然": [["dāng"], ["rán"]],
		"当权": [["dāng"], ["quán"]],
		"当日": [["dāng"], ["rì"]],
		"当时": [["dāng"], ["shí"]],
		"当事": [["dāng"], ["shì"]],
		"当世": [["dāng"], ["shì"]],
		"当堂": [["dāng"], ["táng"]],
		"当天": [["dàng"], ["tiān"]],
		"当庭": [["dāng"], ["tíng"]],
		"当头": [["dāng"], ["tóu"]],
		"当涂": [["dāng"], ["tú"]],
		"当晚": [["dàng"], ["wǎn"]],
		"当午": [["dāng"], ["wǔ"]],
		"当下": [["dāng"], ["xià"]],
		"当先": [["dāng"], ["xiān"]],
		"当心": [["dāng"], ["xīn"]],
		"当胸": [["dāng"], ["xiōng"]],
		"当选": [["dāng"], ["xuǎn"]],
		"当阳": [["dāng"], ["yáng"]],
		"当腰": [["dāng"], ["yāo"]],
		"当夜": [["dàng"], ["yè"]],
		"当月": [["dàng"], ["yuè"]],
		"当真": [["dàng"], ["zhēn"]],
		"当政": [["dāng"], ["zhèng"]],
		"当值": [["dāng"], ["zhí"]],
		"当中": [["dāng"], ["zhōng"]],
		"当众": [["dāng"], ["zhòng"]],
		"当子": [["dāng"], ["zǐ"]],
		"当作": [["dàng"], ["zuò"]],
		"当做": [["dàng"], ["zuò"]],
		"挡板": [["dǎng"], ["bǎn"]],
		"挡车": [["dǎng"], ["chē"]],
		"挡驾": [["dǎng"], ["jià"]],
		"挡路": [["dǎng"], ["lù"]],
		"挡子": [["dǎng"], ["zǐ"]],
		"党风": [["dǎng"], ["fēng"]],
		"党参": [["dǎng"], ["shēn"]],
		"党棍": [["dǎng"], ["gùn"]],
		"党纪": [["dǎng"], ["jì"]],
		"党禁": [["dǎng"], ["jìn"]],
		"党票": [["dǎng"], ["piào"]],
		"党校": [["dǎng"], ["xiào"]],
		"党委": [["dǎng"], ["wěi"]],
		"党员": [["dǎng"], ["yuán"]],
		"刀把": [["dāo"], ["bà"]],
		"刀背": [["dāo"], ["bèi"]],
		"刀叉": [["dāo"], ["chā"]],
		"刀片": [["dāo"], ["piàn"]],
		"刀鞘": [["dāo"], ["qiào"]],
		"刀头": [["dāo"], ["tóu"]],
		"刀削": [["dāo"], ["xiāo"]],
		"叨叨": [["dāo"], ["dao"]],
		"叨咕": [["dáo"], ["gu"]],
		"叨唠": [["dāo"], ["lao"]],
		"叨光": [["tāo"], ["guāng"]],
		"叨念": [["dāo"], ["niàn"]],
		"叨扰": [["tāo"], ["rǎo"]],
		"导弹": [["dǎo"], ["dàn"]],
		"导读": [["dǎo"], ["dú"]],
		"导论": [["dǎo"], ["lùn"]],
		"导语": [["dǎo"], ["yǔ"]],
		"导体": [["dǎo"], ["tǐ"]],
		"倒把": [["dǎo"], ["bǎ"]],
		"倒班": [["dǎo"], ["bān"]],
		"倒包": [["dǎo"], ["bāo"]],
		"倒闭": [["dǎo"], ["bì"]],
		"倒毙": [["dǎo"], ["bì"]],
		"倒彩": [["dào"], ["cǎi"]],
		"倒仓": [["dǎo"], ["cāng"]],
		"倒插": [["dào"], ["chā"]],
		"倒茬": [["dǎo"], ["chá"]],
		"倒车": [["dào"], ["chē"]],
		"倒垂": [["dǎo"], ["chuí"]],
		"倒刺": [["dào"], ["cì"]],
		"倒错": [["dǎo"], ["cuò"]],
		"倒地": [["dǎo"], ["dì"]],
		"倒反": [["dǎo"], ["fǎn"]],
		"倒伏": [["dǎo"], ["fú"]],
		"倒放": [["dào"], ["fàng"]],
		"倒戈": [["dǎo"], ["gē"]],
		"倒阁": [["dǎo"], ["gé"]],
		"倒挂": [["dào"], ["guà"]],
		"倒灌": [["dào"], ["guàn"]],
		"倒换": [["dǎo"], ["huàn"]],
		"倒嚼": [["dǎo"], ["jiào"]],
		"倒睫": [["dào"], ["jié"]],
		"倒空": [["dào"], ["kōng"]],
		"倒立": [["dào"], ["lì"]],
		"倒流": [["dào"], ["liú"]],
		"倒卖": [["dǎo"], ["mài"]],
		"倒霉": [["dǎo"], ["méi"]],
		"倒弄": [["dǎo"], ["nòng"]],
		"倒赔": [["dào"], ["péi"]],
		"倒嗓": [["dǎo"], ["sǎng"]],
		"倒是": [["dǎo"], ["shì"]],
		"倒手": [["dǎo"], ["shǒu"]],
		"倒数": [["dào"], ["shǔ"]],
		"倒算": [["dǎo"], ["suàn"]],
		"倒塌": [["dǎo"], ["tā"]],
		"倒锁": [["dào"], ["suǒ"]],
		"倒台": [["dǎo"], ["tái"]],
		"倒坍": [["dǎo"], ["tān"]],
		"倒腾": [["dǎo"], ["téng"]],
		"倒替": [["dǎo"], ["tì"]],
		"倒贴": [["dào"], ["tiē"]],
		"倒头": [["dǎo"], ["tóu"]],
		"倒退": [["dào"], ["tuì"]],
		"倒下": [["dǎo"], ["xià"]],
		"倒休": [["dǎo"], ["xiū"]],
		"倒序": [["dǎo"], ["xù"]],
		"倒叙": [["dào"], ["xù"]],
		"倒悬": [["dào"], ["xuán"]],
		"倒牙": [["dǎo"], ["yá"]],
		"倒影": [["dào"], ["yǐng"]],
		"倒爷": [["dǎo"], ["yé"]],
		"倒映": [["dào"], ["yìng"]],
		"倒运": [["dǎo"], ["yùn"]],
		"倒灶": [["dǎo"], ["zào"]],
		"倒账": [["dǎo"], ["zhàng"]],
		"倒找": [["dǎo"], ["zhǎo"]],
		"倒置": [["dào"], ["zhì"]],
		"倒转": [["dào"], ["zhuǎn"]],
		"倒装": [["dào"], ["zhuāng"]],
		"倒座": [["dǎo"], ["zuò"]],
		"到场": [["dào"], ["chǎng"]],
		"到处": [["dào"], ["chù"]],
		"到底": [["dào"], ["dǐ"]],
		"到家": [["dào"], ["jiā"]],
		"到了": [["dào"], ["le"]],
		"到期": [["dào"], ["qī"]],
		"到任": [["dào"], ["rèn"]],
		"到头": [["dào"], ["tóu"]],
		"悼亡": [["dào"], ["wáng"]],
		"道藏": [["dào"], ["zàng"]],
		"道别": [["dào"], ["bié"]],
		"道长": [["dào"], ["cháng"]],
		"道场": [["dào"], ["chǎng"]],
		"道地": [["dào"], ["dì"]],
		"道钉": [["dào"], ["dīng"]],
		"道观": [["dào"], ["guàn"]],
		"道号": [["dào"], ["hào"]],
		"道家": [["dào"], ["jiā"]],
		"道术": [["dào"], ["shù"]],
		"道教": [["dào"], ["jiào"]],
		"道行": [["dào"], ["héng"]],
		"得逞": [["dé"], ["chěng"]],
		"得当": [["dé"], ["dàng"]],
		"得道": [["dé"], ["dào"]],
		"得法": [["dé"], ["fǎ"]],
		"得劲": [["dé"], ["jìn"]],
		"得力": [["dé"], ["lì"]],
		"得胜": [["dé"], ["shèng"]],
		"得手": [["dé"], ["shǒu"]],
		"得体": [["dé"], ["tǐ"]],
		"得意": [["dé"], ["yì"]],
		"得益": [["dé"], ["yì"]],
		"得知": [["dé"], ["zhī"]],
		"得志": [["dé"], ["zhì"]],
		"得罪": [["dé"], ["zuì"]],
		"德化": [["dé"], ["huà"]],
		"德行": [["dé"], ["xíng"]],
		"德语": [["dé"], ["yǔ"]],
		"的当": [["dí"], ["dàng"]],
		"的确": [["dí"], ["què"]],
		"的士": [["dí"], ["shì"]],
		"灯会": [["dēng"], ["huì"]],
		"灯节": [["dēng"], ["jié"]],
		"灯笼": [["dēng"], ["lóng"]],
		"灯捻": [["dēng"], ["niǎn"]],
		"灯泡": [["dēng"], ["pào"]],
		"灯台": [["dēng"], ["tái"]],
		"灯芯": [["dēng"], ["xīn"]],
		"灯头": [["dēng"], ["tóu"]],
		"灯语": [["dēng"], ["yǔ"]],
		"登场": [["dēng"], ["chǎng"]],
		"登台": [["dēng"], ["tái"]],
		"登载": [["dēng"], ["zǎi"]],
		"等差": [["děng"], ["chà"]],
		"等待": [["děng"], ["dài"]],
		"等份": [["děng"], ["fèn"]],
		"等号": [["děng"], ["hào"]],
		"等分": [["děng"], ["fēn"]],
		"等价": [["děng"], ["jià"]],
		"等量": [["děng"], ["liàng"]],
		"等同": [["děng"], ["tóng"]],
		"低凹": [["dī"], ["āo"]],
		"低地": [["dī"], ["dì"]],
		"低调": [["dī"], ["diào"]],
		"低估": [["dī"], ["gū"]],
		"低空": [["dī"], ["kōng"]],
		"低落": [["dī"], ["luò"]],
		"低能": [["dī"], ["néng"]],
		"低频": [["dī"], ["pín"]],
		"低头": [["dī"], ["tóu"]],
		"低压": [["dī"], ["yā"]],
		"低哑": [["dī"], ["yǎ"]],
		"低语": [["dī"], ["yǔ"]],
		"嘀嗒": [["dī"], ["dā"]],
		"滴答": [["dī"], ["dá"]],
		"敌忾": [["dí"], ["kài"]],
		"敌台": [["dí"], ["tái"]],
		"敌区": [["dí"], ["qū"]],
		"涤卡": [["dí"], ["kǎ"]],
		"涤纶": [["dí"], ["lún"]],
		"嫡传": [["dí"], ["chuán"]],
		"嫡亲": [["dí"], ["qīn"]],
		"嫡孙": [["dí"], ["sūn"]],
		"嫡系": [["dí"], ["xì"]],
		"底版": [["dǐ"], ["bǎn"]],
		"底本": [["dǐ"], ["běn"]],
		"底边": [["dǐ"], ["biān"]],
		"底册": [["dǐ"], ["cè"]],
		"底层": [["dǐ"], ["céng"]],
		"底定": [["dǐ"], ["dìng"]],
		"底肥": [["dǐ"], ["féi"]],
		"底工": [["dǐ"], ["gōng"]],
		"底稿": [["dǐ"], ["gǎo"]],
		"底火": [["dǐ"], ["huǒ"]],
		"底襟": [["dǐ"], ["jīn"]],
		"底角": [["dǐ"], ["jiǎo"]],
		"底孔": [["dǐ"], ["kǒng"]],
		"底里": [["dǐ"], ["lǐ"]],
		"底牌": [["dǐ"], ["pái"]],
		"底盘": [["dǐ"], ["pán"]],
		"底片": [["dǐ"], ["piàn"]],
		"底漆": [["dǐ"], ["qī"]],
		"底气": [["dǐ"], ["qì"]],
		"底色": [["dǐ"], ["sè"]],
		"底墒": [["dǐ"], ["shāng"]],
		"底数": [["dǐ"], ["shù"]],
		"底土": [["dǐ"], ["tǔ"]],
		"底细": [["dǐ"], ["xì"]],
		"底下": [["dǐ"], ["xià"]],
		"底线": [["dǐ"], ["xiàn"]],
		"底薪": [["dǐ"], ["xīn"]],
		"底样": [["dǐ"], ["yàng"]],
		"底账": [["dǐ"], ["zhàng"]],
		"底蕴": [["dǐ"], ["yùn"]],
		"底止": [["dǐ"], ["zhǐ"]],
		"底子": [["dǐ"], ["zi"]],
		"抵挡": [["dǐ"], ["dǎng"]],
		"底座": [["dǐ"], ["zuò"]],
		"抵还": [["dǐ"], ["hái"]],
		"砥石": [["dǐ"], ["shí"]],
		"骶骨": [["dǐ"], ["gǔ"]],
		"骶椎": [["dǐ"], ["zhuī"]],
		"地板": [["dì"], ["bǎn"]],
		"地磅": [["dì"], ["bàng"]],
		"地保": [["dì"], ["bǎo"]],
		"地堡": [["dì"], ["pù"]],
		"地边": [["dì"], ["biān"]],
		"地表": [["dì"], ["biǎo"]],
		"地波": [["dì"], ["bō"]],
		"地步": [["dì"], ["bù"]],
		"地产": [["dì"], ["chǎn"]],
		"地秤": [["dì"], ["chèng"]],
		"地层": [["dì"], ["céng"]],
		"地处": [["dì"], ["chǔ"]],
		"地磁": [["dì"], ["cí"]],
		"地点": [["dì"], ["diǎn"]],
		"地带": [["dì"], ["dài"]],
		"地道": [["dì"], ["dào"]],
		"地电": [["dì"], ["diàn"]],
		"地丁": [["dì"], ["dīng"]],
		"地动": [["dì"], ["dòng"]],
		"地洞": [["dì"], ["dòng"]],
		"地段": [["dì"], ["duàn"]],
		"地方": [["dì"], ["fāng"]],
		"地府": [["dì"], ["fǔ"]],
		"地宫": [["dì"], ["gōng"]],
		"地沟": [["dì"], ["gōu"]],
		"地核": [["dì"], ["hé"]],
		"地黄": [["dì"], ["huáng"]],
		"地瓜": [["dì"], ["guā"]],
		"地机": [["dì"], ["jī"]],
		"地积": [["dì"], ["jī"]],
		"地极": [["dì"], ["jí"]],
		"地基": [["dì"], ["jī"]],
		"地价": [["dì"], ["jià"]],
		"地角": [["dì"], ["jiǎo"]],
		"地脚": [["dì"], ["jiǎo"]],
		"地窖": [["dì"], ["jiào"]],
		"地精": [["dì"], ["jīng"]],
		"地界": [["dì"], ["jiè"]],
		"地炕": [["dì"], ["kàng"]],
		"地壳": [["dì"], ["qiào"]],
		"地窟": [["dì"], ["kū"]],
		"地块": [["dì"], ["kuài"]],
		"地牢": [["dì"], ["láo"]],
		"地雷": [["dì"], ["léi"]],
		"地垒": [["dì"], ["lěi"]],
		"地梨": [["dì"], ["lí"]],
		"地理": [["dì"], ["lǐ"]],
		"地力": [["dì"], ["lì"]],
		"地利": [["dì"], ["lì"]],
		"地栗": [["dì"], ["lì"]],
		"地邻": [["dì"], ["lín"]],
		"地龙": [["dì"], ["lóng"]],
		"地垄": [["dì"], ["lǒng"]],
		"地漏": [["dì"], ["lòu"]],
		"地貌": [["dì"], ["mào"]],
		"地幔": [["dì"], ["màn"]],
		"地脉": [["dì"], ["mài"]],
		"地面": [["dì"], ["miàn"]],
		"地名": [["dì"], ["míng"]],
		"地盘": [["dì"], ["pán"]],
		"地皮": [["dì"], ["pí"]],
		"地亩": [["dì"], ["mǔ"]],
		"地痞": [["dì"], ["pǐ"]],
		"地平": [["dì"], ["píng"]],
		"地坪": [["dì"], ["píng"]],
		"地气": [["dì"], ["qì"]],
		"地铺": [["dì"], ["pù"]],
		"地契": [["dì"], ["qì"]],
		"地勤": [["dì"], ["qín"]],
		"地球": [["dì"], ["qiú"]],
		"地区": [["dì"], ["qū"]],
		"地权": [["dì"], ["quán"]],
		"地热": [["dì"], ["rè"]],
		"地上": [["dì"], ["shàng"]],
		"地势": [["dì"], ["shì"]],
		"地市": [["dì"], ["shì"]],
		"地税": [["dì"], ["shuì"]],
		"地摊": [["dì"], ["tān"]],
		"地毯": [["dì"], ["tǎn"]],
		"地铁": [["dì"], ["tiě"]],
		"地头": [["dì"], ["tóu"]],
		"地图": [["dì"], ["tú"]],
		"地委": [["dì"], ["wěi"]],
		"地温": [["dì"], ["wēn"]],
		"地位": [["dì"], ["wèi"]],
		"地物": [["dì"], ["wù"]],
		"地峡": [["dì"], ["xiá"]],
		"地下": [["dì"], ["xià"]],
		"地线": [["dì"], ["xiàn"]],
		"地心": [["dì"], ["xīn"]],
		"地形": [["dì"], ["xíng"]],
		"地穴": [["dì"], ["xué"]],
		"地学": [["dì"], ["xué"]],
		"地衣": [["dì"], ["yī"]],
		"地榆": [["dì"], ["yú"]],
		"地狱": [["dì"], ["yù"]],
		"地域": [["dì"], ["yù"]],
		"地毡": [["dì"], ["zhān"]],
		"地政": [["dì"], ["zhèng"]],
		"地震": [["dì"], ["zhèn"]],
		"地支": [["dì"], ["zhī"]],
		"地志": [["dì"], ["zhì"]],
		"地址": [["dì"], ["zhǐ"]],
		"地质": [["dì"], ["zhì"]],
		"地轴": [["dì"], ["zhóu"]],
		"地租": [["dì"], ["zū"]],
		"地主": [["dì"], ["zhǔ"]],
		"地砖": [["dì"], ["zhuān"]],
		"弟弟": [["dì"], ["di"]],
		"弟妇": [["dì"], ["fù"]],
		"弟妹": [["dì"], ["mèi"]],
		"弟媳": [["dì"], ["xí"]],
		"弟兄": [["dì"], ["xiōng"]],
		"弟子": [["dì"], ["zǐ"]],
		"帝号": [["dì"], ["hào"]],
		"帝都": [["dì"], ["dū"]],
		"帝王": [["dì"], ["wáng"]],
		"递降": [["dì"], ["jiàng"]],
		"递解": [["dì"], ["jiè"]],
		"棣棠": [["dì"], ["táng"]],
		"缔合": [["dì"], ["hé"]],
		"缔结": [["dì"], ["jié"]],
		"缔约": [["dì"], ["yuē"]],
		"颠簸": [["diān"], ["bǒ"]],
		"颠倒": [["diān"], ["dǎo"]],
		"典当": [["diǎn"], ["dàng"]],
		"点发": [["diǎn"], ["fā"]],
		"点化": [["diǎn"], ["huà"]],
		"点号": [["diǎn"], ["hào"]],
		"点将": [["diǎn"], ["jiàng"]],
		"点数": [["diǎn"], ["shù"]],
		"点射": [["diǎn"], ["shè"]],
		"点头": [["diǎn"], ["tóu"]],
		"点种": [["diǎn"], ["zhòng"]],
		"点着": [["diǎn"], ["zháo"]],
		"碘酊": [["diǎn"], ["dǐng"]],
		"电厂": [["diàn"], ["chǎng"]],
		"电场": [["diàn"], ["chǎng"]],
		"电车": [["diàn"], ["chē"]],
		"电大": [["diàn"], ["dà"]],
		"电传": [["diàn"], ["chuán"]],
		"电杆": [["diàn"], ["gān"]],
		"电价": [["diàn"], ["jià"]],
		"电教": [["diàn"], ["jiào"]],
		"电解": [["diàn"], ["jiě"]],
		"电量": [["diàn"], ["liàng"]],
		"电能": [["diàn"], ["néng"]],
		"电扇": [["diàn"], ["shàn"]],
		"电石": [["diàn"], ["shí"]],
		"电台": [["diàn"], ["tái"]],
		"电信": [["diàn"], ["xìn"]],
		"电压": [["diàn"], ["yā"]],
		"电椅": [["diàn"], ["yǐ"]],
		"电晕": [["diàn"], ["yūn"]],
		"佃户": [["diàn"], ["hù"]],
		"电钻": [["diàn"], ["zuàn"]],
		"佃客": [["diàn"], ["kè"]],
		"佃农": [["diàn"], ["nóng"]],
		"佃租": [["diàn"], ["zū"]],
		"甸子": [["diàn"], ["zǐ"]],
		"店家": [["diàn"], ["jiā"]],
		"店铺": [["diàn"], ["pù"]],
		"店员": [["diàn"], ["yuán"]],
		"垫背": [["diàn"], ["bèi"]],
		"垫被": [["diàn"], ["bèi"]],
		"垫片": [["diàn"], ["piàn"]],
		"奠都": [["diàn"], ["dū"]],
		"垫圈": [["diàn"], ["juàn"]],
		"刁横": [["diāo"], ["hèng"]],
		"刁难": [["diāo"], ["nàn"]],
		"刁钻": [["diāo"], ["zuān"]],
		"凋落": [["diāo"], ["luò"]],
		"碉堡": [["diāo"], ["bǎo"]],
		"雕砌": [["diāo"], ["qì"]],
		"雕琢": [["diāo"], ["zhuó"]],
		"吊车": [["diào"], ["chē"]],
		"吊打": [["diào"], ["dǎ"]],
		"吊杆": [["diào"], ["gān"]],
		"吊祭": [["diào"], ["jì"]],
		"吊卷": [["diào"], ["juàn"]],
		"吊铺": [["diào"], ["pù"]],
		"吊丧": [["diào"], ["sāng"]],
		"吊扇": [["diào"], ["shàn"]],
		"调包": [["diào"], ["bāo"]],
		"调拨": [["tiáo"], ["bō"]],
		"调查": [["diào"], ["chá"]],
		"调处": [["tiáo"], ["chǔ"]],
		"调档": [["tiáo"], ["dàng"]],
		"调调": [["tiáo"], ["diào"]],
		"调动": [["diào"], ["dòng"]],
		"调度": [["diào"], ["dù"]],
		"调防": [["diào"], ["fáng"]],
		"调幅": [["tiáo"], ["fú"]],
		"调干": [["diào"], ["gàn"]],
		"调羹": [["tiáo"], ["gēng"]],
		"调光": [["tiáo"], ["guāng"]],
		"调函": [["diào"], ["hán"]],
		"调号": [["diào"], ["hào"]],
		"调合": [["tiáo"], ["hé"]],
		"调和": [["tiáo"], ["hé"]],
		"调护": [["tiáo"], ["hù"]],
		"调回": [["diào"], ["huí"]],
		"调换": [["diào"], ["huàn"]],
		"调级": [["tiáo"], ["jí"]],
		"调集": [["diào"], ["jí"]],
		"调剂": [["tiáo"], ["jì"]],
		"调焦": [["tiáo"], ["jiāo"]],
		"调价": [["tiáo"], ["jià"]],
		"调教": [["tiáo"], ["jiào"]],
		"调节": [["tiáo"], ["jié"]],
		"调解": [["tiáo"], ["jiě"]],
		"调经": [["diào"], ["jīng"]],
		"调卷": [["diào"], ["juàn"]],
		"调控": [["tiáo"], ["kòng"]],
		"调侃": [["tiáo"], ["kǎn"]],
		"调离": [["diào"], ["lí"]],
		"调理": [["tiáo"], ["lǐ"]],
		"调料": [["tiáo"], ["liào"]],
		"调令": [["diào"], ["lìng"]],
		"调弄": [["tiáo"], ["nòng"]],
		"调门": [["diào"], ["mén"]],
		"调派": [["diào"], ["pài"]],
		"调配": [["diào"], ["pèi"]],
		"调皮": [["tiáo"], ["pí"]],
		"调频": [["tiáo"], ["pín"]],
		"调遣": [["diào"], ["qiǎn"]],
		"调情": [["tiáo"], ["qíng"]],
		"调取": [["diào"], ["qǔ"]],
		"调人": [["diào"], ["rén"]],
		"调任": [["diào"], ["rèn"]],
		"调色": [["tiáo"], ["sè"]],
		"调摄": [["tiáo"], ["shè"]],
		"调式": [["diào"], ["shì"]],
		"调试": [["tiáo"], ["shì"]],
		"调适": [["tiáo"], ["shì"]],
		"调唆": [["tiáo"], ["suō"]],
		"调停": [["tiáo"], ["tíng"]],
		"调头": [["diào"], ["tóu"]],
		"调味": [["tiáo"], ["wèi"]],
		"调温": [["diào"], ["wēn"]],
		"调息": [["tiáo"], ["xī"]],
		"调戏": [["tiáo"], ["xì"]],
		"调笑": [["tiáo"], ["xiào"]],
		"调协": [["tiáo"], ["xié"]],
		"调谐": [["tiáo"], ["xié"]],
		"调谑": [["tiáo"], ["xuè"]],
		"调研": [["diào"], ["yán"]],
		"调演": [["diào"], ["yǎn"]],
		"调音": [["tiáo"], ["yīn"]],
		"调养": [["tiáo"], ["yǎng"]],
		"调用": [["diào"], ["yòng"]],
		"调阅": [["diào"], ["yuè"]],
		"调匀": [["tiáo"], ["yún"]],
		"调整": [["tiáo"], ["zhěng"]],
		"调运": [["diào"], ["yùn"]],
		"调正": [["diào"], ["zhèng"]],
		"调值": [["diào"], ["zhí"]],
		"调职": [["diào"], ["zhí"]],
		"调制": [["tiáo"], ["zhì"]],
		"调治": [["tiáo"], ["zhì"]],
		"调转": [["diào"], ["zhuǎn"]],
		"调准": [["tiáo"], ["zhǔn"]],
		"调资": [["tiáo"], ["zī"]],
		"调子": [["diào"], ["zi"]],
		"掉价": [["diào"], ["jià"]],
		"掉头": [["diào"], ["tóu"]],
		"掉转": [["diào"], ["zhuǎn"]],
		"跌倒": [["diē"], ["dǎo"]],
		"跌价": [["diē"], ["jià"]],
		"喋喋": [["dié"], ["dié"]],
		"跌落": [["diē"], ["luò"]],
		"喋血": [["dié"], ["xuè"]],
		"蝶骨": [["dié"], ["gǔ"]],
		"丁坝": [["dīng"], ["bà"]],
		"丁丑": [["dīng"], ["chǒu"]],
		"丁当": [["dīng"], ["dāng"]],
		"丁丁": [["dīng"], ["dīng"]],
		"丁东": [["dīng"], ["dōng"]],
		"丁亥": [["dīng"], ["hài"]],
		"丁冬": [["dīng"], ["dōng"]],
		"丁艰": [["dīng"], ["jiān"]],
		"丁零": [["dīng"], ["líng"]],
		"丁卯": [["dīng"], ["mǎo"]],
		"丁宁": [["dīng"], ["níng"]],
		"丁未": [["dīng"], ["wèi"]],
		"丁香": [["dīng"], ["xiāng"]],
		"丁忧": [["dīng"], ["yōu"]],
		"丁字": [["dīng"], ["zì"]],
		"叮当": [["dīng"], ["dāng"]],
		"疔毒": [["dīng"], ["dú"]],
		"盯梢": [["dīng"], ["shāo"]],
		"钉锤": [["dīng"], ["chuí"]],
		"钉牢": [["dīng"], ["láo"]],
		"钉螺": [["dīng"], ["luó"]],
		"钉耙": [["dīng"], ["pá"]],
		"钉帽": [["dīng"], ["mào"]],
		"钉头": [["dīng"], ["tóu"]],
		"钉鞋": [["dīng"], ["xié"]],
		"钉子": [["dīng"], ["zi"]],
		"酊剂": [["dīng"], ["jì"]],
		"顶风": [["dǐng"], ["fēng"]],
		"顶盖": [["dǐng"], ["gài"]],
		"顶骨": [["dǐng"], ["gǔ"]],
		"顶角": [["dǐng"], ["jiǎo"]],
		"顶上": [["dǐng"], ["shàng"]],
		"顶数": [["dǐng"], ["shù"]],
		"顶头": [["dǐng"], ["tóu"]],
		"鼎盛": [["dǐng"], ["shèng"]],
		"鼎峙": [["dǐng"], ["zhì"]],
		"订单": [["dìng"], ["dān"]],
		"订约": [["dìng"], ["yuē"]],
		"订正": [["dìng"], ["zhèng"]],
		"定单": [["dìng"], ["dān"]],
		"定当": [["dìng"], ["dàng"]],
		"定调": [["dìng"], ["diào"]],
		"定价": [["dìng"], ["jià"]],
		"定都": [["dìng"], ["dū"]],
		"定见": [["dìng"], ["jiàn"]],
		"定量": [["dìng"], ["liàng"]],
		"定论": [["dìng"], ["lùn"]],
		"定期": [["dìng"], ["qī"]],
		"定亲": [["dìng"], ["qīn"]],
		"定数": [["dìng"], ["shù"]],
		"定说": [["dìng"], ["shuō"]],
		"定语": [["dìng"], ["yǔ"]],
		"定员": [["dìng"], ["yuán"]],
		"碇泊": [["dìng"], ["bó"]],
		"定远": [["dìng"], ["yuǎn"]],
		"东阿": [["dōng"], ["ē"]],
		"东北": [["dōng"], ["běi"]],
		"东风": [["dōng"], ["fēng"]],
		"东华": [["dōng"], ["huá"]],
		"东家": [["dōng"], ["jiā"]],
		"东南": [["dōng"], ["nán"]],
		"东台": [["dōng"], ["tái"]],
		"东区": [["dōng"], ["qū"]],
		"东头": [["dōng"], ["tóu"]],
		"冬藏": [["dōng"], ["cáng"]],
		"冬节": [["dōng"], ["jié"]],
		"冬令": [["dōng"], ["lìng"]],
		"懂得": [["dǒng"], ["de"]],
		"懂行": [["dǒng"], ["háng"]],
		"动弹": [["dòng"], ["dàn"]],
		"动觉": [["dòng"], ["jué"]],
		"动量": [["dòng"], ["liàng"]],
		"动能": [["dòng"], ["néng"]],
		"动脉": [["dòng"], ["mài"]],
		"动员": [["dòng"], ["yuán"]],
		"冻裂": [["dòng"], ["liè"]],
		"冻结": [["dòng"], ["jié"]],
		"冻雨": [["dòng"], ["yǔ"]],
		"侗族": [["dòng"], ["zú"]],
		"恫吓": [["dòng"], ["hè"]],
		"洞见": [["dòng"], ["jiàn"]],
		"胴体": [["dòng"], ["tǐ"]],
		"都督": [["dū"], ["du"]],
		"都城": [["dū"], ["chéng"]],
		"都会": [["dōu"], ["huì"]],
		"都市": [["dū"], ["shì"]],
		"都统": [["dū"], ["tǒng"]],
		"都尉": [["dū"], ["wèi"]],
		"兜肚": [["dōu"], ["dù"]],
		"兜风": [["dōu"], ["fēng"]],
		"斗车": [["dǒu"], ["chē"]],
		"斗法": [["dòu"], ["fǎ"]],
		"斗胆": [["dǒu"], ["dǎn"]],
		"斗方": [["dǒu"], ["fāng"]],
		"斗富": [["dòu"], ["fù"]],
		"斗拱": [["dǒu"], ["gǒng"]],
		"斗鸡": [["dòu"], ["jī"]],
		"斗箕": [["dòu"], ["ji"]],
		"斗笠": [["dǒu"], ["lì"]],
		"斗门": [["dǒu"], ["mén"]],
		"斗牛": [["dòu"], ["niú"]],
		"斗殴": [["dòu"], ["ōu"]],
		"斗牌": [["dòu"], ["pái"]],
		"斗篷": [["dǒu"], ["péng"]],
		"斗气": [["dòu"], ["qì"]],
		"斗渠": [["dǒu"], ["qú"]],
		"斗士": [["dòu"], ["shì"]],
		"斗室": [["dǒu"], ["shì"]],
		"斗眼": [["dòu"], ["yǎn"]],
		"斗勇": [["dòu"], ["yǒng"]],
		"斗艳": [["dòu"], ["yàn"]],
		"斗争": [["dòu"], ["zhēng"]],
		"斗志": [["dòu"], ["zhì"]],
		"斗智": [["dòu"], ["zhì"]],
		"斗子": [["dǒu"], ["zi"]],
		"斗嘴": [["dòu"], ["zuǐ"]],
		"抖颤": [["dǒu"], ["chàn"]],
		"抖搂": [["dǒu"], ["lōu"]],
		"抖落": [["dǒu"], ["luò"]],
		"陡度": [["dǒu"], ["dù"]],
		"抖擞": [["dǒu"], ["sǒu"]],
		"豆浆": [["dòu"], ["jiāng"]],
		"豆角": [["dòu"], ["jiǎo"]],
		"豆绿": [["dòu"], ["lǜ"]],
		"逗哏": [["dòu"], ["gén"]],
		"豆沙": [["dòu"], ["shā"]],
		"逗号": [["dòu"], ["hào"]],
		"逗乐": [["dòu"], ["lè"]],
		"逗弄": [["dòu"], ["nòng"]],
		"逗趣": [["dòu"], ["qù"]],
		"督率": [["dū"], ["shuài"]],
		"督脉": [["dū"], ["mài"]],
		"毒草": [["dú"], ["cǎo"]],
		"毒虫": [["dú"], ["chóng"]],
		"毒刺": [["dú"], ["cì"]],
		"毒打": [["dú"], ["dǎ"]],
		"毒蛾": [["dú"], ["é"]],
		"毒饵": [["dú"], ["ěr"]],
		"毒害": [["dú"], ["hài"]],
		"毒化": [["dú"], ["huà"]],
		"毒计": [["dú"], ["jì"]],
		"毒剂": [["dú"], ["jì"]],
		"毒箭": [["dú"], ["jiàn"]],
		"毒酒": [["dú"], ["jiǔ"]],
		"毒菌": [["dú"], ["jūn"]],
		"毒辣": [["dú"], ["là"]],
		"毒龙": [["dú"], ["lóng"]],
		"毒瘤": [["dú"], ["liú"]],
		"毒谋": [["dú"], ["móu"]],
		"毒品": [["dú"], ["pǐn"]],
		"毒气": [["dú"], ["qì"]],
		"毒杀": [["dú"], ["shā"]],
		"毒手": [["dú"], ["shǒu"]],
		"毒蛇": [["dú"], ["shé"]],
		"毒死": [["dú"], ["sǐ"]],
		"毒素": [["dú"], ["sù"]],
		"毒物": [["dú"], ["wù"]],
		"毒雾": [["dú"], ["wù"]],
		"毒腺": [["dú"], ["xiàn"]],
		"毒刑": [["dú"], ["xíng"]],
		"毒性": [["dú"], ["xìng"]],
		"毒蕈": [["dú"], ["xùn"]],
		"毒焰": [["dú"], ["yàn"]],
		"毒牙": [["dú"], ["yá"]],
		"毒药": [["dú"], ["yào"]],
		"毒液": [["dú"], ["yè"]],
		"毒瘾": [["dú"], ["yǐn"]],
		"毒汁": [["dú"], ["zhī"]],
		"读本": [["dú"], ["běn"]],
		"读经": [["dú"], ["jīng"]],
		"读法": [["dú"], ["fǎ"]],
		"读秒": [["dú"], ["miǎo"]],
		"读破": [["dú"], ["pò"]],
		"读若": [["dú"], ["ruò"]],
		"读书": [["dú"], ["shū"]],
		"读数": [["dú"], ["shù"]],
		"读物": [["dú"], ["wù"]],
		"读音": [["dú"], ["yīn"]],
		"读者": [["dú"], ["zhě"]],
		"渎职": [["dú"], ["zhí"]],
		"独处": [["dú"], ["chǔ"]],
		"独夫": [["dú"], ["fū"]],
		"独个": [["dú"], ["gè"]],
		"独创": [["dú"], ["chuàng"]],
		"独角": [["dú"], ["jiǎo"]],
		"独家": [["dú"], ["jiā"]],
		"独女": [["dú"], ["nǚ"]],
		"独体": [["dú"], ["tǐ"]],
		"独行": [["dú"], ["xíng"]],
		"独有": [["dú"], ["yǒu"]],
		"独占": [["dú"], ["zhàn"]],
		"笃行": [["dǔ"], ["xíng"]],
		"笃信": [["dǔ"], ["xìn"]],
		"堵车": [["dǔ"], ["chē"]],
		"赌场": [["dǔ"], ["chǎng"]],
		"堵塞": [["dǔ"], ["sè"]],
		"赌风": [["dǔ"], ["fēng"]],
		"赌棍": [["dǔ"], ["gùn"]],
		"肚带": [["dù"], ["dài"]],
		"肚肠": [["dù"], ["cháng"]],
		"肚量": [["dù"], ["liàng"]],
		"肚兜": [["dù"], ["dōu"]],
		"肚皮": [["dù"], ["pí"]],
		"肚脐": [["dù"], ["qí"]],
		"肚子": [["dǔ"], ["zi"]],
		"度牒": [["dù"], ["dié"]],
		"度过": [["dù"], ["guò"]],
		"度荒": [["dù"], ["huāng"]],
		"度量": [["dù"], ["liàng"]],
		"度假": [["dù"], ["jià"]],
		"度命": [["dù"], ["mìng"]],
		"度曲": [["dù"], ["qǔ"]],
		"度日": [["dù"], ["rì"]],
		"度数": [["dù"], ["shù"]],
		"度外": [["dù"], ["wài"]],
		"渡头": [["dù"], ["tóu"]],
		"端节": [["duān"], ["jié"]],
		"端丽": [["duān"], ["lì"]],
		"端量": [["duān"], ["liáng"]],
		"端相": [["duān"], ["xiāng"]],
		"端正": [["duān"], ["zhèng"]],
		"端详": [["duān"], ["xiáng"]],
		"端重": [["duān"], ["zhòng"]],
		"短长": [["duǎn"], ["cháng"]],
		"短处": [["duǎn"], ["chù"]],
		"短传": [["duǎn"], ["chuán"]],
		"短发": [["duǎn"], ["fā"]],
		"短打": [["duǎn"], ["dǎ"]],
		"短骨": [["duǎn"], ["gǔ"]],
		"短号": [["duǎn"], ["hào"]],
		"短见": [["duǎn"], ["jiàn"]],
		"短句": [["duǎn"], ["jù"]],
		"短跑": [["duǎn"], ["pǎo"]],
		"短片": [["duǎn"], ["piàn"]],
		"短期": [["duǎn"], ["qī"]],
		"短浅": [["duǎn"], ["qiǎn"]],
		"短少": [["duǎn"], ["shǎo"]],
		"短语": [["duǎn"], ["yǔ"]],
		"段落": [["duàn"], ["luò"]],
		"断臂": [["duàn"], ["bì"]],
		"断句": [["duàn"], ["jù"]],
		"断片": [["duàn"], ["piàn"]],
		"断语": [["duàn"], ["yǔ"]],
		"断种": [["duàn"], ["zhǒng"]],
		"锻打": [["duàn"], ["dǎ"]],
		"锻模": [["duàn"], ["mú"]],
		"锻压": [["duàn"], ["yā"]],
		"队长": [["duì"], ["zhǎng"]],
		"队副": [["duì"], ["fù"]],
		"队员": [["duì"], ["yuán"]],
		"对簿": [["duì"], ["bù"]],
		"对称": [["duì"], ["chèn"]],
		"对答": [["duì"], ["dá"]],
		"对打": [["duì"], ["dǎ"]],
		"对待": [["duì"], ["dài"]],
		"对调": [["duì"], ["diào"]],
		"对号": [["duì"], ["hào"]],
		"对过": [["duì"], ["guò"]],
		"对家": [["duì"], ["jiā"]],
		"对角": [["duì"], ["jiǎo"]],
		"对劲": [["duì"], ["jìn"]],
		"对内": [["duì"], ["nèi"]],
		"对齐": [["duì"], ["qí"]],
		"对头": [["duì"], ["tóu"]],
		"对数": [["duì"], ["shù"]],
		"对应": [["duì"], ["yìng"]],
		"对折": [["duì"], ["zhé"]],
		"对症": [["duì"], ["zhèng"]],
		"对峙": [["duì"], ["zhì"]],
		"兑付": [["duì"], ["fù"]],
		"兑换": [["duì"], ["huàn"]],
		"兑奖": [["duì"], ["jiǎng"]],
		"兑款": [["duì"], ["kuǎn"]],
		"兑现": [["duì"], ["xiàn"]],
		"敦促": [["dūn"], ["cù"]],
		"敦厚": [["dūn"], ["hòu"]],
		"敦化": [["dūn"], ["huà"]],
		"敦煌": [["dūn"], ["huáng"]],
		"敦聘": [["dūn"], ["pìn"]],
		"敦睦": [["dūn"], ["mù"]],
		"敦朴": [["dūn"], ["piáo"]],
		"敦请": [["dūn"], ["qǐng"]],
		"敦劝": [["dūn"], ["quàn"]],
		"敦实": [["dūn"], ["shí"]],
		"囤积": [["tún"], ["jī"]],
		"囤聚": [["tún"], ["jù"]],
		"钝化": [["dùn"], ["huà"]],
		"顿号": [["dùn"], ["hào"]],
		"钝角": [["dùn"], ["jiǎo"]],
		"顿觉": [["dùn"], ["jué"]],
		"多大": [["duō"], ["dà"]],
		"多发": [["duō"], ["fā"]],
		"多么": [["duō"], ["me"]],
		"多少": [["duō"], ["shǎo"]],
		"多能": [["duō"], ["néng"]],
		"多数": [["duō"], ["shù"]],
		"多头": [["duō"], ["tóu"]],
		"多疑": [["duō"], ["yí"]],
		"多咱": [["duō"], ["zá"]],
		"夺得": [["duó"], ["de"]],
		"夺冠": [["duó"], ["guàn"]],
		"掇拾": [["duō"], ["shí"]],
		"垛口": [["duǒ"], ["kǒu"]],
		"垛子": [["duǒ"], ["zi"]],
		"躲藏": [["duǒ"], ["cáng"]],
		"躲风": [["duǒ"], ["fēng"]],
		"堕地": [["duò"], ["dì"]],
		"堕马": [["duò"], ["mǎ"]],
		"堕胎": [["duò"], ["tāi"]],
		"屙尿": [["ē"], ["niào"]],
		"讹传": [["é"], ["chuán"]],
		"俄语": [["é"], ["yǔ"]],
		"蛾眉": [["é"], ["méi"]],
		"蛾子": [["é"], ["zi"]],
		"额度": [["é"], ["dù"]],
		"额枋": [["é"], ["fāng"]],
		"额骨": [["é"], ["gǔ"]],
		"额数": [["é"], ["shù"]],
		"额角": [["é"], ["jiǎo"]],
		"额头": [["é"], ["tóu"]],
		"婀娜": [["ē"], ["nuó"]],
		"厄难": [["è"], ["nàn"]],
		"扼要": [["è"], ["yào"]],
		"恶霸": [["è"], ["bà"]],
		"恶报": [["è"], ["bào"]],
		"恶变": [["è"], ["biàn"]],
		"恶补": [["è"], ["bǔ"]],
		"恶臭": [["è"], ["chòu"]],
		"恶斗": [["è"], ["dòu"]],
		"恶妇": [["è"], ["fù"]],
		"恶毒": [["è"], ["dú"]],
		"恶感": [["è"], ["gǎn"]],
		"恶狗": [["è"], ["gǒu"]],
		"恶鬼": [["è"], ["guǐ"]],
		"恶棍": [["è"], ["gùn"]],
		"恶果": [["è"], ["guǒ"]],
		"恶狠": [["è"], ["hěn"]],
		"恶迹": [["è"], ["jì"]],
		"恶化": [["è"], ["huà"]],
		"恶疾": [["è"], ["jí"]],
		"恶浪": [["è"], ["làng"]],
		"恶劣": [["è"], ["liè"]],
		"恶露": [["è"], ["lù"]],
		"恶骂": [["è"], ["mà"]],
		"恶梦": [["è"], ["mèng"]],
		"恶名": [["è"], ["míng"]],
		"恶魔": [["è"], ["mó"]],
		"恶念": [["è"], ["niàn"]],
		"恶癖": [["è"], ["pǐ"]],
		"恶煞": [["è"], ["shà"]],
		"恶气": [["è"], ["qì"]],
		"恶人": [["è"], ["rén"]],
		"恶少": [["è"], ["shào"]],
		"恶声": [["è"], ["shēng"]],
		"恶事": [["è"], ["shì"]],
		"恶俗": [["è"], ["sú"]],
		"恶徒": [["è"], ["tú"]],
		"恶习": [["è"], ["xí"]],
		"恶相": [["è"], ["xiàng"]],
		"恶心": [["ě"], ["xīn"]],
		"恶行": [["è"], ["xíng"]],
		"恶性": [["è"], ["xìng"]],
		"恶意": [["è"], ["yì"]],
		"恶语": [["è"], ["yǔ"]],
		"恶言": [["è"], ["yán"]],
		"恶运": [["è"], ["yùn"]],
		"恶战": [["è"], ["zhàn"]],
		"恶仗": [["è"], ["zhàng"]],
		"恶兆": [["è"], ["zhào"]],
		"恶浊": [["è"], ["zhuó"]],
		"萼片": [["è"], ["piàn"]],
		"腭裂": [["è"], ["liè"]],
		"颚骨": [["è"], ["gǔ"]],
		"恩仇": [["ēn"], ["chóu"]],
		"恩泽": [["ēn"], ["zé"]],
		"儿化": [["ér"], ["huà"]],
		"儿郎": [["ér"], ["láng"]],
		"儿女": [["ér"], ["nǚ"]],
		"儿孙": [["ér"], ["sūn"]],
		"儿戏": [["ér"], ["xì"]],
		"耳背": [["ěr"], ["bèi"]],
		"而且": [["ér"], ["qiě"]],
		"耳塞": [["ěr"], ["sāi"]],
		"耳石": [["ěr"], ["shí"]],
		"耳语": [["ěr"], ["yǔ"]],
		"耳食": [["ěr"], ["shí"]],
		"二分": [["èr"], ["fēn"]],
		"二副": [["èr"], ["fù"]],
		"二价": [["èr"], ["jià"]],
		"发案": [["fā"], ["àn"]],
		"二重": [["èr"], ["chóng"]],
		"发白": [["fā"], ["bái"]],
		"发榜": [["fā"], ["bǎng"]],
		"发包": [["fā"], ["bāo"]],
		"发报": [["fā"], ["bào"]],
		"发辫": [["fà"], ["biàn"]],
		"发标": [["fā"], ["biāo"]],
		"发表": [["fā"], ["biǎo"]],
		"发鬓": [["fà"], ["bìn"]],
		"发兵": [["fā"], ["bīng"]],
		"发布": [["fā"], ["bù"]],
		"发病": [["fā"], ["bìng"]],
		"发财": [["fā"], ["cái"]],
		"发菜": [["fà"], ["cài"]],
		"发颤": [["fā"], ["chàn"]],
		"发车": [["fā"], ["chē"]],
		"发痴": [["fā"], ["chī"]],
		"发愁": [["fā"], ["chóu"]],
		"发出": [["fā"], ["chū"]],
		"发怵": [["fā"], ["chù"]],
		"发憷": [["fā"], ["chù"]],
		"发喘": [["fā"], ["chuǎn"]],
		"发达": [["fā"], ["dá"]],
		"发呆": [["fā"], ["dāi"]],
		"发单": [["fā"], ["dān"]],
		"发嗲": [["fā"], ["diǎ"]],
		"发点": [["fā"], ["diǎn"]],
		"发电": [["fā"], ["diàn"]],
		"发动": [["fā"], ["dòng"]],
		"发端": [["fā"], ["duān"]],
		"发抖": [["fā"], ["dǒu"]],
		"发发": [["fā"], ["fā"]],
		"发凡": [["fā"], ["fán"]],
		"发放": [["fā"], ["fàng"]],
		"发粉": [["fā"], ["fěn"]],
		"发愤": [["fā"], ["fèn"]],
		"发奋": [["fā"], ["fèn"]],
		"发疯": [["fā"], ["fēng"]],
		"发付": [["fā"], ["fù"]],
		"发福": [["fā"], ["fú"]],
		"发糕": [["fā"], ["gāo"]],
		"发稿": [["fā"], ["gǎo"]],
		"发给": [["fā"], ["gěi"]],
		"发根": [["fā"], ["gēn"]],
		"发光": [["fā"], ["guāng"]],
		"发函": [["fā"], ["hán"]],
		"发汗": [["fā"], ["hàn"]],
		"发狠": [["fā"], ["hěn"]],
		"发横": [["fā"], ["héng"]],
		"发红": [["fā"], ["hóng"]],
		"发话": [["fā"], ["huà"]],
		"发花": [["fā"], ["huā"]],
		"发坏": [["fā"], ["huài"]],
		"发还": [["fā"], ["huán"]],
		"发慌": [["fā"], ["huāng"]],
		"发挥": [["fā"], ["huī"]],
		"发昏": [["fā"], ["hūn"]],
		"发火": [["fā"], ["huǒ"]],
		"发货": [["fā"], ["huò"]],
		"发迹": [["fā"], ["jì"]],
		"发急": [["fā"], ["jí"]],
		"发髻": [["fà"], ["jì"]],
		"发际": [["fà"], ["jì"]],
		"发夹": [["fā"], ["jiā"]],
		"发家": [["fā"], ["jiā"]],
		"发胶": [["fā"], ["jiāo"]],
		"发奖": [["fā"], ["jiǎng"]],
		"发酵": [["fā"], ["jiào"]],
		"发窘": [["fā"], ["jiǒng"]],
		"发觉": [["fā"], ["jué"]],
		"发掘": [["fā"], ["jué"]],
		"发卡": [["fà"], ["qiǎ"]],
		"发刊": [["fā"], ["kān"]],
		"发狂": [["fā"], ["kuáng"]],
		"发困": [["fā"], ["kùn"]],
		"发蜡": [["fā"], ["là"]],
		"发懒": [["fā"], ["lǎn"]],
		"发廊": [["fà"], ["láng"]],
		"发楞": [["fā"], ["léng"]],
		"发愣": [["fā"], ["lèng"]],
		"发冷": [["fā"], ["lěng"]],
		"发亮": [["fā"], ["liàng"]],
		"发令": [["fā"], ["lìng"]],
		"发露": [["fā"], ["lù"]],
		"发落": [["fā"], ["luò"]],
		"发麻": [["fā"], ["má"]],
		"发毛": [["fā"], ["máo"]],
		"发霉": [["fā"], ["méi"]],
		"发闷": [["fā"], ["mèn"]],
		"发蒙": [["fā"], ["mēng"]],
		"发懵": [["fā"], ["měng"]],
		"发面": [["fā"], ["miàn"]],
		"发明": [["fā"], ["míng"]],
		"发木": [["fā"], ["mù"]],
		"发难": [["fā"], ["nàn"]],
		"发怒": [["fā"], ["nù"]],
		"发牌": [["fā"], ["pái"]],
		"发排": [["fā"], ["pái"]],
		"发胖": [["fā"], ["pàng"]],
		"发配": [["fā"], ["pèi"]],
		"发飘": [["fā"], ["piāo"]],
		"发票": [["fā"], ["piào"]],
		"发妻": [["fà"], ["qī"]],
		"发起": [["fā"], ["qǐ"]],
		"发青": [["fā"], ["qīng"]],
		"发情": [["fā"], ["qíng"]],
		"发气": [["fā"], ["qì"]],
		"发球": [["fā"], ["qiú"]],
		"发热": [["fā"], ["rè"]],
		"发软": [["fā"], ["ruǎn"]],
		"发乳": [["fà"], ["rǔ"]],
		"发轫": [["fā"], ["rèn"]],
		"发散": [["fā"], ["sàn"]],
		"发丧": [["fā"], ["sāng"]],
		"发涩": [["fā"], ["sè"]],
		"发傻": [["fā"], ["shǎ"]],
		"发痧": [["fā"], ["shā"]],
		"发烧": [["fā"], ["shāo"]],
		"发射": [["fā"], ["shè"]],
		"发生": [["fā"], ["shēng"]],
		"发声": [["fā"], ["shēng"]],
		"发市": [["fā"], ["shì"]],
		"发誓": [["fā"], ["shì"]],
		"发式": [["fà"], ["shì"]],
		"发售": [["fā"], ["shòu"]],
		"发水": [["fā"], ["shuǐ"]],
		"发送": [["fā"], ["sòng"]],
		"发酸": [["fā"], ["suān"]],
		"发烫": [["fā"], ["tàng"]],
		"发网": [["fā"], ["wǎng"]],
		"发条": [["fā"], ["tiáo"]],
		"发威": [["fā"], ["wēi"]],
		"发文": [["fā"], ["wén"]],
		"发屋": [["fà"], ["wū"]],
		"发问": [["fā"], ["wèn"]],
		"发物": [["fā"], ["wù"]],
		"发现": [["fā"], ["xiàn"]],
		"发祥": [["fā"], ["xiáng"]],
		"发饷": [["fā"], ["xiǎng"]],
		"发笑": [["fā"], ["xiào"]],
		"发泄": [["fā"], ["xiè"]],
		"发行": [["fā"], ["xíng"]],
		"发薪": [["fā"], ["xīn"]],
		"发信": [["fā"], ["xìn"]],
		"发型": [["fà"], ["xíng"]],
		"发虚": [["fā"], ["xū"]],
		"发蔫": [["fā"], ["niān"]],
		"发芽": [["fā"], ["yá"]],
		"发言": [["fā"], ["yán"]],
		"发炎": [["fā"], ["yán"]],
		"发痒": [["fā"], ["yǎng"]],
		"发扬": [["fā"], ["yáng"]],
		"发音": [["fā"], ["yīn"]],
		"发引": [["fā"], ["yǐn"]],
		"发育": [["fā"], ["yù"]],
		"发源": [["fā"], ["yuán"]],
		"发愿": [["fā"], ["yuàn"]],
		"发运": [["fā"], ["yùn"]],
		"发晕": [["fā"], ["yūn"]],
		"发躁": [["fā"], ["zào"]],
		"发展": [["fā"], ["zhǎn"]],
		"发胀": [["fā"], ["zhàng"]],
		"发怔": [["fā"], ["zhèng"]],
		"发指": [["fà"], ["zhǐ"]],
		"发作": [["fā"], ["zuò"]],
		"法场": [["fǎ"], ["chǎng"]],
		"法度": [["fǎ"], ["dù"]],
		"法号": [["fǎ"], ["hào"]],
		"法纪": [["fǎ"], ["jì"]],
		"法会": [["fǎ"], ["huì"]],
		"法家": [["fǎ"], ["jiā"]],
		"法拉": [["fǎ"], ["lā"]],
		"法郎": [["fǎ"], ["láng"]],
		"法令": [["fǎ"], ["lìng"]],
		"法术": [["fǎ"], ["shù"]],
		"法帖": [["fǎ"], ["tiè"]],
		"法王": [["fǎ"], ["wáng"]],
		"法相": [["fǎ"], ["xiāng"]],
		"法语": [["fǎ"], ["yǔ"]],
		"番瓜": [["fān"], ["guā"]],
		"番邦": [["fān"], ["bāng"]],
		"番菜": [["fān"], ["cài"]],
		"番号": [["fān"], ["hào"]],
		"番椒": [["fān"], ["jiāo"]],
		"番茄": [["fān"], ["qié"]],
		"番薯": [["fān"], ["shǔ"]],
		"番禺": [["pān"], ["yú"]],
		"翻查": [["fān"], ["zhā"]],
		"翻车": [["fān"], ["chē"]],
		"翻倒": [["fān"], ["dǎo"]],
		"翻地": [["fān"], ["dì"]],
		"翻斗": [["fān"], ["dǒu"]],
		"翻番": [["fān"], ["fān"]],
		"翻盖": [["fān"], ["gài"]],
		"翻供": [["fān"], ["gòng"]],
		"翻浆": [["fān"], ["jiāng"]],
		"翻卷": [["fān"], ["juǎn"]],
		"翻弄": [["fān"], ["nòng"]],
		"翻涌": [["fān"], ["yǒng"]],
		"翻转": [["fān"], ["zhuǎn"]],
		"藩属": [["fān"], ["shǔ"]],
		"凡夫": [["fán"], ["fū"]],
		"凡间": [["fán"], ["jiān"]],
		"矾石": [["fán"], ["shí"]],
		"烦渎": [["fán"], ["dú"]],
		"烦闷": [["fán"], ["mèn"]],
		"烦难": [["fán"], ["nán"]],
		"繁博": [["fán"], ["bó"]],
		"樊笼": [["fán"], ["lóng"]],
		"繁复": [["fán"], ["fù"]],
		"繁昌": [["fán"], ["chāng"]],
		"繁多": [["fán"], ["duō"]],
		"繁花": [["fán"], ["huā"]],
		"繁华": [["fán"], ["huá"]],
		"繁简": [["fán"], ["jiǎn"]],
		"繁苛": [["fán"], ["kē"]],
		"繁丽": [["fán"], ["lì"]],
		"繁忙": [["fán"], ["máng"]],
		"繁乱": [["fán"], ["luàn"]],
		"繁茂": [["fán"], ["mào"]],
		"繁密": [["fán"], ["mì"]],
		"繁荣": [["fán"], ["róng"]],
		"繁冗": [["fán"], ["rǒng"]],
		"繁难": [["fán"], ["nán"]],
		"繁缛": [["fán"], ["rù"]],
		"繁盛": [["fán"], ["shèng"]],
		"繁琐": [["fán"], ["suǒ"]],
		"繁体": [["fán"], ["tǐ"]],
		"繁文": [["fán"], ["wén"]],
		"繁芜": [["fán"], ["wú"]],
		"繁星": [["fán"], ["xīng"]],
		"繁衍": [["fán"], ["yǎn"]],
		"繁育": [["fán"], ["yù"]],
		"繁杂": [["fán"], ["zá"]],
		"繁殖": [["fán"], ["zhí"]],
		"繁重": [["fán"], ["zhòng"]],
		"反把": [["fǎn"], ["bǎ"]],
		"反侧": [["fǎn"], ["cè"]],
		"反冲": [["fǎn"], ["chōng"]],
		"反差": [["fǎn"], ["chà"]],
		"反弹": [["fǎn"], ["dàn"]],
		"反倒": [["fǎn"], ["dào"]],
		"反调": [["fǎn"], ["diào"]],
		"反骨": [["fǎn"], ["gǔ"]],
		"反观": [["fǎn"], ["guān"]],
		"反间": [["fǎn"], ["jiàn"]],
		"反诘": [["fǎn"], ["jié"]],
		"反切": [["fǎn"], ["qiè"]],
		"反省": [["fǎn"], ["xǐng"]],
		"反射": [["fǎn"], ["shè"]],
		"反思": [["fǎn"], ["sī"]],
		"反应": [["fǎn"], ["yìng"]],
		"反语": [["fǎn"], ["yǔ"]],
		"反正": [["fǎn"], ["zhèng"]],
		"反转": [["fǎn"], ["zhuǎn"]],
		"返还": [["fǎn"], ["huán"]],
		"犯禁": [["fàn"], ["jìn"]],
		"犯难": [["fàn"], ["nán"]],
		"犯上": [["fàn"], ["shàng"]],
		"犯疑": [["fàn"], ["yí"]],
		"泛称": [["fàn"], ["chēng"]],
		"泛读": [["fàn"], ["dú"]],
		"泛论": [["fàn"], ["lùn"]],
		"饭量": [["fàn"], ["liàng"]],
		"饭囊": [["fàn"], ["náng"]],
		"饭票": [["fàn"], ["piào"]],
		"饭铺": [["fàn"], ["pù"]],
		"饭食": [["fàn"], ["shí"]],
		"贩毒": [["fàn"], ["dú"]],
		"贩夫": [["fàn"], ["fū"]],
		"梵刹": [["fàn"], ["chà"]],
		"方便": [["fāng"], ["biàn"]],
		"方差": [["fāng"], ["chà"]],
		"方尺": [["fāng"], ["chǐ"]],
		"方家": [["fāng"], ["jiā"]],
		"方术": [["fāng"], ["shù"]],
		"方头": [["fāng"], ["tóu"]],
		"坊间": [["fāng"], ["jiān"]],
		"坊本": [["fāng"], ["běn"]],
		"方正": [["fāng"], ["zhèng"]],
		"芳菲": [["fāng"], ["fēi"]],
		"芳华": [["fāng"], ["huá"]],
		"芳泽": [["fāng"], ["zé"]],
		"防暴": [["fáng"], ["bào"]],
		"防弹": [["fáng"], ["dàn"]],
		"防地": [["fáng"], ["dì"]],
		"防毒": [["fáng"], ["dú"]],
		"防风": [["fáng"], ["fēng"]],
		"防空": [["fáng"], ["kōng"]],
		"防区": [["fáng"], ["qū"]],
		"房地": [["fáng"], ["dì"]],
		"房间": [["fáng"], ["jiān"]],
		"房契": [["fáng"], ["qì"]],
		"仿单": [["fǎng"], ["dān"]],
		"仿佛": [["fǎng"], ["fú"]],
		"仿冒": [["fǎng"], ["mào"]],
		"仿行": [["fǎng"], ["xíng"]],
		"访查": [["fǎng"], ["zhā"]],
		"彷佛": [["páng"], ["fó"]],
		"彷徨": [["páng"], ["huáng"]],
		"纺车": [["fǎng"], ["chē"]],
		"放榜": [["fàng"], ["bǎng"]],
		"纺织": [["fǎng"], ["zhī"]],
		"放大": [["fàng"], ["dà"]],
		"放倒": [["fàng"], ["dǎo"]],
		"放风": [["fàng"], ["fēng"]],
		"放毒": [["fàng"], ["dú"]],
		"放过": [["fàng"], ["guò"]],
		"放还": [["fàng"], ["hái"]],
		"放空": [["fàng"], ["kōng"]],
		"放假": [["fàng"], ["jià"]],
		"放量": [["fàng"], ["liàng"]],
		"放排": [["fàng"], ["pái"]],
		"放任": [["fàng"], ["rèn"]],
		"放炮": [["fàng"], ["pào"]],
		"放散": [["fàng"], ["sàn"]],
		"放射": [["fàng"], ["shè"]],
		"放行": [["fàng"], ["xíng"]],
		"放血": [["fàng"], ["xuè"]],
		"放纵": [["fàng"], ["zòng"]],
		"飞奔": [["fēi"], ["bēn"]],
		"飞弹": [["fēi"], ["dàn"]],
		"飞车": [["fēi"], ["chē"]],
		"飞地": [["fēi"], ["dì"]],
		"飞蛾": [["fēi"], ["é"]],
		"飞红": [["fēi"], ["hóng"]],
		"飞溅": [["fēi"], ["jiàn"]],
		"飞跑": [["fēi"], ["pǎo"]],
		"飞瀑": [["fēi"], ["pù"]],
		"飞洒": [["fēi"], ["sǎ"]],
		"飞散": [["fēi"], ["sàn"]],
		"飞石": [["fēi"], ["shí"]],
		"飞行": [["fēi"], ["xíng"]],
		"飞燕": [["fēi"], ["yàn"]],
		"飞旋": [["fēi"], ["xuán"]],
		"飞雨": [["fēi"], ["yǔ"]],
		"飞语": [["fēi"], ["yǔ"]],
		"飞涨": [["fēi"], ["zhǎng"]],
		"飞转": [["fēi"], ["zhuàn"]],
		"妃嫔": [["fēi"], ["pín"]],
		"妃子": [["fēi"], ["zǐ"]],
		"非得": [["fēi"], ["děi"]],
		"非分": [["fēi"], ["fèn"]],
		"非难": [["fēi"], ["nàn"]],
		"菲菲": [["fēi"], ["fēi"]],
		"菲仪": [["fěi"], ["yí"]],
		"菲薄": [["fěi"], ["bó"]],
		"蜚语": [["fēi"], ["yǔ"]],
		"肥差": [["féi"], ["chà"]],
		"肥大": [["féi"], ["dà"]],
		"肥硕": [["féi"], ["shuò"]],
		"腓骨": [["féi"], ["gǔ"]],
		"斐然": [["fěi"], ["rán"]],
		"肺泡": [["fèi"], ["pào"]],
		"费解": [["fèi"], ["jiě"]],
		"肺叶": [["fèi"], ["yè"]],
		"费劲": [["fèi"], ["jìn"]],
		"费难": [["fèi"], ["nán"]],
		"痱子": [["fèi"], ["zǐ"]],
		"分贝": [["fēn"], ["bèi"]],
		"分辨": [["fēn"], ["biàn"]],
		"分辩": [["fēn"], ["biàn"]],
		"分别": [["fēn"], ["bié"]],
		"分兵": [["fēn"], ["bīng"]],
		"分拨": [["fēn"], ["bō"]],
		"分布": [["fēn"], ["bù"]],
		"分部": [["fēn"], ["bù"]],
		"分餐": [["fēn"], ["cān"]],
		"分册": [["fēn"], ["cè"]],
		"分叉": [["fēn"], ["chà"]],
		"分岔": [["fēn"], ["chà"]],
		"分成": [["fēn"], ["chéng"]],
		"分词": [["fēn"], ["cí"]],
		"分爨": [["fēn"], ["cuàn"]],
		"分寸": [["fēn"], ["cùn"]],
		"分担": [["fēn"], ["dān"]],
		"分当": [["fèn"], ["dāng"]],
		"分档": [["fēn"], ["dàng"]],
		"分得": [["fēn"], ["de"]],
		"分道": [["fēn"], ["dào"]],
		"分店": [["fēn"], ["diàn"]],
		"分段": [["fēn"], ["duàn"]],
		"分队": [["fēn"], ["duì"]],
		"分发": [["fēn"], ["fā"]],
		"分房": [["fēn"], ["fáng"]],
		"分飞": [["fēn"], ["fēi"]],
		"分分": [["fēn"], ["fēn"]],
		"分肥": [["fēn"], ["féi"]],
		"分赴": [["fēn"], ["fù"]],
		"分封": [["fēn"], ["fēng"]],
		"分割": [["fēn"], ["gē"]],
		"分隔": [["fēn"], ["gé"]],
		"分给": [["fēn"], ["gěi"]],
		"分工": [["fēn"], ["gōng"]],
		"分管": [["fēn"], ["guǎn"]],
		"分毫": [["fēn"], ["háo"]],
		"分光": [["fēn"], ["guāng"]],
		"分号": [["fēn"], ["hào"]],
		"分合": [["fēn"], ["hé"]],
		"分红": [["fēn"], ["hóng"]],
		"分洪": [["fēn"], ["hóng"]],
		"分会": [["fēn"], ["huì"]],
		"分化": [["fēn"], ["huà"]],
		"分机": [["fēn"], ["jī"]],
		"分级": [["fēn"], ["jí"]],
		"分际": [["fēn"], ["jì"]],
		"分家": [["fēn"], ["jiā"]],
		"分拣": [["fēn"], ["jiǎn"]],
		"分节": [["fēn"], ["jié"]],
		"分解": [["fēn"], ["jiě"]],
		"分界": [["fēn"], ["jiè"]],
		"分居": [["fēn"], ["jū"]],
		"分局": [["fēn"], ["jú"]],
		"分科": [["fēn"], ["kē"]],
		"分开": [["fēn"], ["kāi"]],
		"分类": [["fēn"], ["lèi"]],
		"分厘": [["fēn"], ["lí"]],
		"分离": [["fēn"], ["lí"]],
		"分理": [["fēn"], ["lǐ"]],
		"分立": [["fēn"], ["lì"]],
		"分力": [["fēn"], ["lì"]],
		"分利": [["fēn"], ["lì"]],
		"分量": [["fèn"], ["liàng"]],
		"分流": [["fēn"], ["liú"]],
		"分裂": [["fēn"], ["liè"]],
		"分列": [["fēn"], ["liè"]],
		"分馏": [["fēn"], ["liú"]],
		"分米": [["fēn"], ["mǐ"]],
		"分路": [["fēn"], ["lù"]],
		"分娩": [["fēn"], ["miǎn"]],
		"分泌": [["fēn"], ["mì"]],
		"分秒": [["fēn"], ["miǎo"]],
		"分明": [["fēn"], ["míng"]],
		"分母": [["fēn"], ["mǔ"]],
		"分内": [["fèn"], ["nèi"]],
		"分蘖": [["fēn"], ["niè"]],
		"分派": [["fēn"], ["pài"]],
		"分配": [["fēn"], ["pèi"]],
		"分片": [["fēn"], ["piàn"]],
		"分批": [["fēn"], ["pī"]],
		"分频": [["fēn"], ["pín"]],
		"分期": [["fēn"], ["qī"]],
		"分岐": [["fēn"], ["qí"]],
		"分歧": [["fēn"], ["qí"]],
		"分清": [["fēn"], ["qīng"]],
		"分区": [["fēn"], ["qū"]],
		"分权": [["fēn"], ["quán"]],
		"分润": [["fēn"], ["rùn"]],
		"分散": [["fēn"], ["sǎn"]],
		"分色": [["fēn"], ["sè"]],
		"分设": [["fēn"], ["shè"]],
		"分身": [["fēn"], ["shēn"]],
		"分神": [["fēn"], ["shén"]],
		"分时": [["fēn"], ["shí"]],
		"分式": [["fēn"], ["shì"]],
		"分手": [["fēn"], ["shǒu"]],
		"分数": [["fēn"], ["shù"]],
		"分水": [["fēn"], ["shuǐ"]],
		"分说": [["fēn"], ["shuō"]],
		"分送": [["fēn"], ["sòng"]],
		"分摊": [["fēn"], ["tān"]],
		"分体": [["fēn"], ["tǐ"]],
		"分头": [["fēn"], ["tóu"]],
		"分外": [["fèn"], ["wài"]],
		"分为": [["fēn"], ["wéi"]],
		"分文": [["fēn"], ["wén"]],
		"分析": [["fēn"], ["xī"]],
		"分享": [["fēn"], ["xiǎng"]],
		"分晓": [["fēn"], ["xiǎo"]],
		"分校": [["fēn"], ["xiào"]],
		"分心": [["fēn"], ["xīn"]],
		"分行": [["fēn"], ["háng"]],
		"分野": [["fēn"], ["yě"]],
		"分宜": [["fēn"], ["yí"]],
		"分阴": [["fēn"], ["yīn"]],
		"分忧": [["fēn"], ["yōu"]],
		"分赃": [["fēn"], ["zāng"]],
		"分账": [["fēn"], ["zhàng"]],
		"分针": [["fēn"], ["zhēn"]],
		"分支": [["fēn"], ["zhī"]],
		"分枝": [["fēn"], ["zhī"]],
		"分治": [["fēn"], ["zhì"]],
		"分装": [["fēn"], ["zhuāng"]],
		"分子": [["fèn"], ["zǐ"]],
		"分组": [["fēn"], ["zǔ"]],
		"纷繁": [["fēn"], ["fán"]],
		"坟场": [["fén"], ["chǎng"]],
		"坟地": [["fén"], ["dì"]],
		"坟头": [["fén"], ["tóu"]],
		"焚风": [["fén"], ["fēng"]],
		"焚化": [["fén"], ["huà"]],
		"粉刺": [["fěn"], ["cì"]],
		"粉坊": [["fěn"], ["fáng"]],
		"粉沙": [["fěn"], ["shā"]],
		"粉红": [["fěn"], ["hóng"]],
		"粉刷": [["fěn"], ["shuā"]],
		"粉条": [["fěn"], ["tiáo"]],
		"份地": [["fèn"], ["dì"]],
		"份额": [["fèn"], ["é"]],
		"份儿": [["fèn"], ["ér"]],
		"份量": [["fèn"], ["liàng"]],
		"份子": [["fèn"], ["zi"]],
		"奋臂": [["fèn"], ["bì"]],
		"粪便": [["fèn"], ["biàn"]],
		"奋斗": [["fèn"], ["dòu"]],
		"奋发": [["fèn"], ["fā"]],
		"粪车": [["fèn"], ["chē"]],
		"丰采": [["fēng"], ["cǎi"]],
		"丰盛": [["fēng"], ["shèng"]],
		"丰硕": [["fēng"], ["shuò"]],
		"风暴": [["fēng"], ["bào"]],
		"风标": [["fēng"], ["biāo"]],
		"风波": [["fēng"], ["bō"]],
		"风采": [["fēng"], ["cǎi"]],
		"风铲": [["fēng"], ["chǎn"]],
		"风潮": [["fēng"], ["cháo"]],
		"风车": [["fēng"], ["chē"]],
		"风尘": [["fēng"], ["chén"]],
		"风池": [["fēng"], ["chí"]],
		"风传": [["fēng"], ["chuán"]],
		"风锤": [["fēng"], ["chuí"]],
		"风带": [["fēng"], ["dài"]],
		"风挡": [["fēng"], ["dǎng"]],
		"风灯": [["fēng"], ["dēng"]],
		"风道": [["fēng"], ["dào"]],
		"风笛": [["fēng"], ["dí"]],
		"风动": [["fēng"], ["dòng"]],
		"风洞": [["fēng"], ["dòng"]],
		"风度": [["fēng"], ["dù"]],
		"风斗": [["fēng"], ["dǒu"]],
		"风发": [["fēng"], ["fā"]],
		"风帆": [["fēng"], ["fān"]],
		"风范": [["fēng"], ["fàn"]],
		"风府": [["fēng"], ["fǔ"]],
		"风干": [["fēng"], ["gān"]],
		"风镐": [["fēng"], ["hào"]],
		"风格": [["fēng"], ["gé"]],
		"风骨": [["fēng"], ["gǔ"]],
		"风管": [["fēng"], ["guǎn"]],
		"风光": [["fēng"], ["guāng"]],
		"风害": [["fēng"], ["hài"]],
		"风寒": [["fēng"], ["hán"]],
		"风华": [["fēng"], ["huá"]],
		"风化": [["fēng"], ["huà"]],
		"风机": [["fēng"], ["jī"]],
		"风纪": [["fēng"], ["jì"]],
		"风景": [["fēng"], ["jǐng"]],
		"风镜": [["fēng"], ["jìng"]],
		"风口": [["fēng"], ["kǒu"]],
		"风浪": [["fēng"], ["làng"]],
		"风雷": [["fēng"], ["léi"]],
		"风力": [["fēng"], ["lì"]],
		"风凉": [["fēng"], ["liáng"]],
		"风量": [["fēng"], ["liàng"]],
		"风铃": [["fēng"], ["líng"]],
		"风流": [["fēng"], ["liú"]],
		"风轮": [["fēng"], ["lún"]],
		"风帽": [["fēng"], ["mào"]],
		"风貌": [["fēng"], ["mào"]],
		"风门": [["fēng"], ["mén"]],
		"风靡": [["fēng"], ["mǐ"]],
		"风磨": [["fēng"], ["mó"]],
		"风魔": [["fēng"], ["mó"]],
		"风能": [["fēng"], ["néng"]],
		"风鸟": [["fēng"], ["niǎo"]],
		"风派": [["fēng"], ["pài"]],
		"风气": [["fēng"], ["qì"]],
		"风琴": [["fēng"], ["qín"]],
		"风趣": [["fēng"], ["qù"]],
		"风情": [["fēng"], ["qíng"]],
		"风骚": [["fēng"], ["sāo"]],
		"风色": [["fēng"], ["sè"]],
		"风沙": [["fēng"], ["shā"]],
		"风扇": [["fēng"], ["shàn"]],
		"风尚": [["fēng"], ["shàng"]],
		"风神": [["fēng"], ["shén"]],
		"风声": [["fēng"], ["shēng"]],
		"风湿": [["fēng"], ["shī"]],
		"风蚀": [["fēng"], ["shí"]],
		"风势": [["fēng"], ["shì"]],
		"风水": [["fēng"], ["shuǐ"]],
		"风霜": [["fēng"], ["shuāng"]],
		"风俗": [["fēng"], ["sú"]],
		"风速": [["fēng"], ["sù"]],
		"风瘫": [["fēng"], ["tān"]],
		"风头": [["fēng"], ["tou"]],
		"风涛": [["fēng"], ["tāo"]],
		"风土": [["fēng"], ["tǔ"]],
		"风味": [["fēng"], ["wèi"]],
		"风闻": [["fēng"], ["wén"]],
		"风物": [["fēng"], ["wù"]],
		"风习": [["fēng"], ["xí"]],
		"风险": [["fēng"], ["xiǎn"]],
		"风箱": [["fēng"], ["xiāng"]],
		"风向": [["fēng"], ["xiàng"]],
		"风邪": [["fēng"], ["xié"]],
		"风行": [["fēng"], ["xíng"]],
		"风雅": [["fēng"], ["yǎ"]],
		"风烟": [["fēng"], ["yān"]],
		"风衣": [["fēng"], ["yī"]],
		"风仪": [["fēng"], ["yí"]],
		"风雨": [["fēng"], ["yǔ"]],
		"风源": [["fēng"], ["yuán"]],
		"风月": [["fēng"], ["yuè"]],
		"风韵": [["fēng"], ["yùn"]],
		"风闸": [["fēng"], ["zhá"]],
		"风灾": [["fēng"], ["zāi"]],
		"风障": [["fēng"], ["zhàng"]],
		"风疹": [["fēng"], ["zhěn"]],
		"风筝": [["fēng"], ["zhēng"]],
		"风致": [["fēng"], ["zhì"]],
		"风姿": [["fēng"], ["zī"]],
		"枫叶": [["fēng"], ["yè"]],
		"风钻": [["fēng"], ["zuàn"]],
		"封禅": [["fēng"], ["shàn"]],
		"封底": [["fēng"], ["dǐ"]],
		"封地": [["fēng"], ["dì"]],
		"封港": [["fēng"], ["gǎng"]],
		"封号": [["fēng"], ["hào"]],
		"封疆": [["fēng"], ["jiāng"]],
		"封禁": [["fēng"], ["jìn"]],
		"封泥": [["fēng"], ["ní"]],
		"封条": [["fēng"], ["tiáo"]],
		"封王": [["fēng"], ["wáng"]],
		"疯长": [["fēng"], ["cháng"]],
		"疯枝": [["fēng"], ["zhī"]],
		"蜂毒": [["fēng"], ["dú"]],
		"蜂王": [["fēng"], ["wáng"]],
		"缝补": [["féng"], ["bǔ"]],
		"缝合": [["féng"], ["hé"]],
		"缝工": [["fèng"], ["gōng"]],
		"缝际": [["fèng"], ["jì"]],
		"缝穷": [["fèng"], ["qióng"]],
		"缝纫": [["féng"], ["rèn"]],
		"缝隙": [["fèng"], ["xì"]],
		"缝衣": [["féng"], ["yī"]],
		"缝线": [["fèng"], ["xiàn"]],
		"缝制": [["féng"], ["zhì"]],
		"缝缀": [["féng"], ["zhuì"]],
		"讽刺": [["fěng"], ["cì"]],
		"缝子": [["fèng"], ["zi"]],
		"凤冠": [["fèng"], ["guān"]],
		"凤台": [["fèng"], ["tái"]],
		"凤尾": [["fèng"], ["wěi"]],
		"凤爪": [["fèng"], ["zhǎo"]],
		"奉还": [["fèng"], ["huán"]],
		"奉节": [["fèng"], ["jié"]],
		"奉上": [["fèng"], ["shàng"]],
		"奉令": [["fèng"], ["lìng"]],
		"奉行": [["fèng"], ["xíng"]],
		"奉召": [["fèng"], ["zhào"]],
		"佛典": [["fó"], ["diǎn"]],
		"佛殿": [["fó"], ["diàn"]],
		"佛法": [["fó"], ["fǎ"]],
		"佛号": [["fó"], ["hào"]],
		"佛光": [["fó"], ["guāng"]],
		"佛会": [["fó"], ["huì"]],
		"佛家": [["fó"], ["jiā"]],
		"佛教": [["fó"], ["jiào"]],
		"佛龛": [["fó"], ["kān"]],
		"佛门": [["fó"], ["mén"]],
		"佛经": [["fó"], ["jīng"]],
		"佛山": [["fó"], ["shān"]],
		"佛事": [["fó"], ["shì"]],
		"佛寺": [["fó"], ["sì"]],
		"佛手": [["fó"], ["shǒu"]],
		"佛塔": [["fó"], ["tǎ"]],
		"佛堂": [["fó"], ["táng"]],
		"佛陀": [["fó"], ["tuó"]],
		"佛像": [["fó"], ["xiàng"]],
		"佛性": [["fó"], ["xìng"]],
		"佛学": [["fó"], ["xué"]],
		"佛爷": [["fó"], ["yé"]],
		"佛牙": [["fó"], ["yá"]],
		"佛珠": [["fó"], ["zhū"]],
		"佛祖": [["fó"], ["zǔ"]],
		"否定": [["fǒu"], ["dìng"]],
		"否决": [["fǒu"], ["jué"]],
		"否认": [["fǒu"], ["rèn"]],
		"否则": [["fǒu"], ["zé"]],
		"夫妇": [["fū"], ["fù"]],
		"夫君": [["fū"], ["jūn"]],
		"夫妻": [["fū"], ["qī"]],
		"夫权": [["fū"], ["quán"]],
		"夫人": [["fū"], ["rén"]],
		"夫婿": [["fū"], ["xù"]],
		"夫子": [["fū"], ["zǐ"]],
		"肤觉": [["fū"], ["jué"]],
		"肤浅": [["fū"], ["qiǎn"]],
		"伏地": [["fú"], ["dì"]],
		"孵化": [["fū"], ["huà"]],
		"伏帖": [["fú"], ["tiē"]],
		"扶掖": [["fú"], ["yè"]],
		"扶风": [["fú"], ["fēng"]],
		"扶正": [["fú"], ["zhèng"]],
		"扶助": [["fú"], ["zhù"]],
		"拂尘": [["fú"], ["chén"]],
		"拂拂": [["fú"], ["fú"]],
		"拂逆": [["fú"], ["nì"]],
		"拂晓": [["fú"], ["xiǎo"]],
		"拂袖": [["fú"], ["xiù"]],
		"拂拭": [["fú"], ["shì"]],
		"服从": [["fú"], ["cóng"]],
		"服毒": [["fú"], ["dú"]],
		"服法": [["fú"], ["fǎ"]],
		"服老": [["fú"], ["lǎo"]],
		"服满": [["fú"], ["mǎn"]],
		"服气": [["fú"], ["qì"]],
		"服勤": [["fú"], ["qín"]],
		"服软": [["fú"], ["ruǎn"]],
		"服丧": [["fú"], ["sāng"]],
		"服色": [["fú"], ["sè"]],
		"服式": [["fú"], ["shì"]],
		"服饰": [["fú"], ["shì"]],
		"服侍": [["fú"], ["shì"]],
		"服输": [["fú"], ["shū"]],
		"服贴": [["fú"], ["tiē"]],
		"服帖": [["fú"], ["tiē"]],
		"服务": [["fú"], ["wù"]],
		"服药": [["fú"], ["yào"]],
		"服刑": [["fú"], ["xíng"]],
		"服役": [["fú"], ["yì"]],
		"服膺": [["fú"], ["yīng"]],
		"服用": [["fú"], ["yòng"]],
		"服众": [["fú"], ["zhòng"]],
		"服装": [["fú"], ["zhuāng"]],
		"服罪": [["fú"], ["zuì"]],
		"浮夸": [["fú"], ["kuā"]],
		"浮华": [["fú"], ["huá"]],
		"浮漂": [["fú"], ["piāo"]],
		"浮浅": [["fú"], ["qiǎn"]],
		"浮石": [["fú"], ["shí"]],
		"符合": [["fú"], ["hé"]],
		"符节": [["fú"], ["jié"]],
		"幅度": [["fú"], ["dù"]],
		"幅员": [["fú"], ["yuán"]],
		"福地": [["fú"], ["dì"]],
		"福分": [["fú"], ["fēn"]],
		"福将": [["fú"], ["jiāng"]],
		"辐射": [["fú"], ["shè"]],
		"福相": [["fú"], ["xiàng"]],
		"辐条": [["fú"], ["tiáo"]],
		"抚宁": [["fǔ"], ["níng"]],
		"抚摩": [["fǔ"], ["mó"]],
		"抚弄": [["fǔ"], ["nòng"]],
		"府上": [["fǔ"], ["shàng"]],
		"斧正": [["fǔ"], ["zhèng"]],
		"俯冲": [["fǔ"], ["chōng"]],
		"斧头": [["fǔ"], ["tóu"]],
		"俯角": [["fǔ"], ["jiǎo"]],
		"俯仰": [["fǔ"], ["yǎng"]],
		"腐臭": [["fǔ"], ["chòu"]],
		"辅助": [["fǔ"], ["zhù"]],
		"腐恶": [["fǔ"], ["è"]],
		"腐化": [["fǔ"], ["huà"]],
		"腐坏": [["fǔ"], ["huài"]],
		"父辈": [["fù"], ["bèi"]],
		"父本": [["fù"], ["běn"]],
		"父母": [["fù"], ["mǔ"]],
		"父老": [["fù"], ["lǎo"]],
		"父亲": [["fù"], ["qīn"]],
		"父权": [["fù"], ["quán"]],
		"父系": [["fù"], ["xì"]],
		"父兄": [["fù"], ["xiōng"]],
		"父执": [["fù"], ["zhí"]],
		"父业": [["fù"], ["yè"]],
		"父子": [["fù"], ["zǐ"]],
		"付与": [["fù"], ["yǔ"]],
		"妇女": [["fù"], ["nǚ"]],
		"妇弟": [["fù"], ["dì"]],
		"负担": [["fù"], ["dān"]],
		"负号": [["fù"], ["hào"]],
		"负累": [["fù"], ["lèi"]],
		"负片": [["fù"], ["piàn"]],
		"负数": [["fù"], ["shù"]],
		"负约": [["fù"], ["yuē"]],
		"负载": [["fù"], ["zài"]],
		"附和": [["fù"], ["hè"]],
		"负重": [["fù"], ["zhòng"]],
		"附会": [["fù"], ["huì"]],
		"附丽": [["fù"], ["lì"]],
		"附上": [["fù"], ["shàng"]],
		"附识": [["fù"], ["zhì"]],
		"附载": [["fù"], ["zǎi"]],
		"附中": [["fù"], ["zhōng"]],
		"附属": [["fù"], ["shǔ"]],
		"附着": [["fù"], ["zhuó"]],
		"复辟": [["fù"], ["bì"]],
		"复仇": [["fù"], ["chóu"]],
		"复查": [["fù"], ["zhā"]],
		"复读": [["fù"], ["dú"]],
		"复合": [["fù"], ["hé"]],
		"复核": [["fù"], ["hé"]],
		"复发": [["fù"], ["fā"]],
		"复数": [["fù"], ["shù"]],
		"复会": [["fù"], ["huì"]],
		"复句": [["fù"], ["jù"]],
		"复苏": [["fù"], ["sū"]],
		"复信": [["fù"], ["xìn"]],
		"复兴": [["fù"], ["xīng"]],
		"复叶": [["fù"], ["yè"]],
		"复员": [["fù"], ["yuán"]],
		"复种": [["fù"], ["zhǒng"]],
		"复转": [["fù"], ["zhuǎn"]],
		"赴会": [["fù"], ["huì"]],
		"赴难": [["fù"], ["nàn"]],
		"赴任": [["fù"], ["rèn"]],
		"赴约": [["fù"], ["yuē"]],
		"副本": [["fù"], ["běn"]],
		"副词": [["fù"], ["cí"]],
		"副歌": [["fù"], ["gē"]],
		"副官": [["fù"], ["guān"]],
		"副刊": [["fù"], ["kān"]],
		"副品": [["fù"], ["pǐn"]],
		"副肾": [["fù"], ["shèn"]],
		"副食": [["fù"], ["shí"]],
		"副手": [["fù"], ["shǒu"]],
		"副署": [["fù"], ["shǔ"]],
		"副职": [["fù"], ["zhí"]],
		"富家": [["fù"], ["jiā"]],
		"富贾": [["fù"], ["jiǎ"]],
		"富丽": [["fù"], ["lì"]],
		"富强": [["fù"], ["qiáng"]],
		"富有": [["fù"], ["yǒu"]],
		"赋有": [["fù"], ["yǒu"]],
		"赋予": [["fù"], ["yǔ"]],
		"腹地": [["fù"], ["dì"]],
		"腹内": [["fù"], ["nèi"]],
		"蝮蛇": [["fù"], ["shé"]],
		"覆被": [["fù"], ["bèi"]],
		"覆盖": [["fù"], ["gài"]],
		"覆核": [["fù"], ["hé"]],
		"覆没": [["fù"], ["mò"]],
		"覆亡": [["fù"], ["wáng"]],
		"伽蓝": [["qié"], ["lán"]],
		"嘎巴": [["gā"], ["bā"]],
		"嘎噔": [["gā"], ["dēng"]],
		"嘎嘎": [["gā"], ["gā"]],
		"嘎啦": [["gā"], ["lā"]],
		"嘎然": [["gā"], ["rán"]],
		"嘎吱": [["gā"], ["zhī"]],
		"嘎子": [["gǎ"], ["zǐ"]],
		"该当": [["gāi"], ["dāng"]],
		"该着": [["gāi"], ["zháo"]],
		"赅括": [["gāi"], ["kuò"]],
		"改称": [["gǎi"], ["chēng"]],
		"改调": [["gǎi"], ["diào"]],
		"改观": [["gǎi"], ["guān"]],
		"改过": [["gǎi"], ["guò"]],
		"改任": [["gǎi"], ["rèn"]],
		"改期": [["gǎi"], ["qī"]],
		"改为": [["gǎi"], ["wéi"]],
		"改行": [["gǎi"], ["háng"]],
		"改正": [["gǎi"], ["zhèng"]],
		"钙化": [["gài"], ["huà"]],
		"盖饭": [["gài"], ["fàn"]],
		"盖帘": [["gài"], ["lián"]],
		"盖世": [["gài"], ["shì"]],
		"盖头": [["gài"], ["tóu"]],
		"盖造": [["gài"], ["zào"]],
		"盖子": [["gài"], ["zi"]],
		"概观": [["gài"], ["guān"]],
		"概括": [["gài"], ["kuò"]],
		"概率": [["gài"], ["lǜ"]],
		"概论": [["gài"], ["lùn"]],
		"概数": [["gài"], ["shù"]],
		"概要": [["gài"], ["yào"]],
		"干碍": [["gān"], ["ài"]],
		"干巴": [["gān"], ["bā"]],
		"干白": [["gàn"], ["bái"]],
		"干杯": [["gān"], ["bēi"]],
		"干贝": [["gān"], ["bèi"]],
		"干瘪": [["gān"], ["biě"]],
		"干冰": [["gān"], ["bīng"]],
		"干部": [["gàn"], ["bù"]],
		"干才": [["gàn"], ["cái"]],
		"干菜": [["gān"], ["cài"]],
		"干草": [["gān"], ["cǎo"]],
		"干柴": [["gān"], ["chái"]],
		"干脆": [["gān"], ["cuì"]],
		"干城": [["gān"], ["chéng"]],
		"干道": [["gàn"], ["dào"]],
		"干点": [["gàn"], ["diǎn"]],
		"干掉": [["gàn"], ["diào"]],
		"干爹": [["gān"], ["diē"]],
		"干儿": [["gān"], ["ér"]],
		"干犯": [["gān"], ["fàn"]],
		"干粉": [["gàn"], ["fěn"]],
		"干饭": [["gān"], ["fàn"]],
		"干干": [["gàn"], ["gàn"]],
		"干戈": [["gān"], ["gē"]],
		"干股": [["gān"], ["gǔ"]],
		"干果": [["gān"], ["guǒ"]],
		"干旱": [["gān"], ["hàn"]],
		"干嚎": [["gān"], ["háo"]],
		"干号": [["gān"], ["háo"]],
		"干涸": [["gān"], ["hé"]],
		"干花": [["gān"], ["huā"]],
		"干哕": [["gān"], ["yuě"]],
		"干活": [["gàn"], ["huó"]],
		"干货": [["gān"], ["huò"]],
		"干架": [["gàn"], ["jià"]],
		"干急": [["gān"], ["jí"]],
		"干姜": [["gān"], ["jiāng"]],
		"干将": [["gàn"], ["jiàng"]],
		"干结": [["gàn"], ["jié"]],
		"干劲": [["gàn"], ["jìn"]],
		"干警": [["gàn"], ["jǐng"]],
		"干净": [["gān"], ["jìng"]],
		"干咳": [["gān"], ["hāi"]],
		"干枯": [["gān"], ["kū"]],
		"干渴": [["gān"], ["kě"]],
		"干哭": [["gān"], ["kū"]],
		"干冷": [["gān"], ["lěng"]],
		"干酪": [["gān"], ["lào"]],
		"干连": [["gān"], ["lián"]],
		"干练": [["gàn"], ["liàn"]],
		"干粮": [["gān"], ["liáng"]],
		"干裂": [["gān"], ["liè"]],
		"干流": [["gàn"], ["liú"]],
		"干路": [["gàn"], ["lù"]],
		"干馏": [["gān"], ["liú"]],
		"干吗": [["gàn"], ["má"]],
		"干嘛": [["gàn"], ["ma"]],
		"干么": [["gàn"], ["mǒ"]],
		"干娘": [["gān"], ["niáng"]],
		"干呕": [["gān"], ["ǒu"]],
		"干亲": [["gān"], ["qīn"]],
		"干渠": [["gàn"], ["qú"]],
		"干扰": [["gān"], ["rǎo"]],
		"干涩": [["gān"], ["sè"]],
		"干涉": [["gān"], ["shè"]],
		"干尸": [["gān"], ["shī"]],
		"干瘦": [["gān"], ["shòu"]],
		"干事": [["gàn"], ["shì"]],
		"干松": [["gàn"], ["sōng"]],
		"干爽": [["gān"], ["shuǎng"]],
		"干系": [["gān"], ["xì"]],
		"干洗": [["gān"], ["xǐ"]],
		"干线": [["gàn"], ["xiàn"]],
		"干校": [["gàn"], ["xiào"]],
		"干薪": [["gān"], ["xīn"]],
		"干笑": [["gān"], ["xiào"]],
		"干谒": [["gān"], ["yè"]],
		"干硬": [["gàn"], ["yìng"]],
		"干预": [["gàn"], ["yù"]],
		"干员": [["gàn"], ["yuán"]],
		"干燥": [["gān"], ["zào"]],
		"干政": [["gàn"], ["zhèng"]],
		"干支": [["gān"], ["zhī"]],
		"干仗": [["gàn"], ["zhàng"]],
		"甘当": [["gān"], ["dāng"]],
		"甘结": [["gān"], ["jié"]],
		"甘露": [["gān"], ["lù"]],
		"杆秤": [["gǎn"], ["chèng"]],
		"甘休": [["gān"], ["xiū"]],
		"甘雨": [["gān"], ["yǔ"]],
		"杆菌": [["gǎn"], ["jūn"]],
		"杆塔": [["gǎn"], ["tǎ"]],
		"杆子": [["gān"], ["zi"]],
		"肝风": [["gān"], ["fēng"]],
		"赶车": [["gǎn"], ["chē"]],
		"赶场": [["gǎn"], ["chǎng"]],
		"赶会": [["gǎn"], ["huì"]],
		"赶跑": [["gǎn"], ["pǎo"]],
		"赶上": [["gǎn"], ["shàng"]],
		"赶趟": [["gǎn"], ["tàng"]],
		"赶着": [["gǎn"], ["zhe"]],
		"感发": [["gǎn"], ["fā"]],
		"感化": [["gǎn"], ["huà"]],
		"敢当": [["gǎn"], ["dāng"]],
		"感冒": [["gǎn"], ["mào"]],
		"感应": [["gǎn"], ["yìng"]],
		"感觉": [["gǎn"], ["jué"]],
		"感召": [["gǎn"], ["zhào"]],
		"感知": [["gǎn"], ["zhī"]],
		"矸石": [["gān"], ["shí"]],
		"刚度": [["gāng"], ["dù"]],
		"刚好": [["gāng"], ["hǎo"]],
		"刚劲": [["gāng"], ["jìng"]],
		"刚强": [["gāng"], ["qiáng"]],
		"刚石": [["gāng"], ["shí"]],
		"刚体": [["gāng"], ["tǐ"]],
		"岗地": [["gǎng"], ["dì"]],
		"刚正": [["gāng"], ["zhèng"]],
		"岗卡": [["gǎng"], ["kǎ"]],
		"纲纪": [["gāng"], ["jì"]],
		"纲要": [["gāng"], ["yào"]],
		"缸瓦": [["gāng"], ["wǎ"]],
		"钢板": [["gāng"], ["bǎn"]],
		"钢笔": [["gāng"], ["bǐ"]],
		"钢包": [["gāng"], ["bāo"]],
		"钢鞭": [["gāng"], ["biān"]],
		"钢材": [["gāng"], ["cái"]],
		"钢尺": [["gāng"], ["chǐ"]],
		"钢刀": [["gāng"], ["dāo"]],
		"钢锭": [["gāng"], ["dìng"]],
		"钢骨": [["gāng"], ["gǔ"]],
		"钢管": [["gāng"], ["guǎn"]],
		"钢轨": [["gāng"], ["guǐ"]],
		"钢花": [["gāng"], ["huā"]],
		"钢筋": [["gāng"], ["jīn"]],
		"钢精": [["gāng"], ["jīng"]],
		"钢锯": [["gāng"], ["jù"]],
		"钢缆": [["gāng"], ["lǎn"]],
		"钢盔": [["gāng"], ["kuī"]],
		"钢坯": [["gāng"], ["pī"]],
		"钢瓶": [["gāng"], ["píng"]],
		"钢钎": [["gāng"], ["qiān"]],
		"钢枪": [["gāng"], ["qiāng"]],
		"钢琴": [["gāng"], ["qín"]],
		"钢砂": [["gāng"], ["shā"]],
		"钢水": [["gāng"], ["shuǐ"]],
		"钢丝": [["gāng"], ["sī"]],
		"钢索": [["gāng"], ["suǒ"]],
		"钢铁": [["gāng"], ["tiě"]],
		"钢条": [["gāng"], ["tiáo"]],
		"钢印": [["gāng"], ["yìn"]],
		"钢硬": [["gāng"], ["yìng"]],
		"钢渣": [["gāng"], ["zhā"]],
		"钢针": [["gāng"], ["zhēn"]],
		"钢种": [["gāng"], ["zhǒng"]],
		"钢珠": [["gāng"], ["zhū"]],
		"罡风": [["gāng"], ["fēng"]],
		"港澳": [["gǎng"], ["ào"]],
		"港币": [["gǎng"], ["bì"]],
		"港汊": [["gǎng"], ["chà"]],
		"港警": [["gǎng"], ["jǐng"]],
		"港客": [["gǎng"], ["kè"]],
		"港口": [["gǎng"], ["kǒu"]],
		"港商": [["gǎng"], ["shāng"]],
		"港湾": [["gǎng"], ["wān"]],
		"港务": [["gǎng"], ["wù"]],
		"港元": [["gǎng"], ["yuán"]],
		"杠夫": [["gàng"], ["fū"]],
		"杠杠": [["gàng"], ["gàng"]],
		"杠杆": [["gàng"], ["gǎn"]],
		"杠铃": [["gàng"], ["líng"]],
		"杠子": [["gàng"], ["zi"]],
		"杠头": [["gàng"], ["tóu"]],
		"羔羊": [["gāo"], ["yáng"]],
		"皋兰": [["gāo"], ["lán"]],
		"高参": [["gāo"], ["cān"]],
		"高处": [["gāo"], ["chù"]],
		"高差": [["gāo"], ["chà"]],
		"高大": [["gāo"], ["dà"]],
		"高地": [["gāo"], ["dì"]],
		"高调": [["gāo"], ["diào"]],
		"高发": [["gāo"], ["fā"]],
		"高度": [["gāo"], ["dù"]],
		"高干": [["gāo"], ["gàn"]],
		"高估": [["gāo"], ["gū"]],
		"高个": [["gāo"], ["gè"]],
		"高见": [["gāo"], ["jiàn"]],
		"高价": [["gāo"], ["jià"]],
		"高教": [["gāo"], ["jiào"]],
		"高看": [["gāo"], ["kàn"]],
		"高空": [["gāo"], ["kōng"]],
		"高丽": [["gāo"], ["lí"]],
		"高论": [["gāo"], ["lùn"]],
		"高难": [["gāo"], ["nán"]],
		"高能": [["gāo"], ["néng"]],
		"高频": [["gāo"], ["pín"]],
		"高强": [["gāo"], ["qiáng"]],
		"高台": [["gāo"], ["tái"]],
		"高汤": [["gāo"], ["tāng"]],
		"高挑": [["gāo"], ["tiǎo"]],
		"高兴": [["gāo"], ["xìng"]],
		"高校": [["gāo"], ["xiào"]],
		"高压": [["gāo"], ["yā"]],
		"高远": [["gāo"], ["yuǎn"]],
		"高涨": [["gāo"], ["zhǎng"]],
		"高枝": [["gāo"], ["zhī"]],
		"高知": [["gāo"], ["zhì"]],
		"高中": [["gāo"], ["zhōng"]],
		"膏肓": [["gāo"], ["huāng"]],
		"膏剂": [["gāo"], ["jì"]],
		"膏粱": [["gāo"], ["liáng"]],
		"膏血": [["gāo"], ["xuè"]],
		"膏药": [["gāo"], ["yào"]],
		"膏腴": [["gāo"], ["yú"]],
		"膏泽": [["gào"], ["zé"]],
		"篙头": [["gāo"], ["tou"]],
		"膏子": [["gāo"], ["zǐ"]],
		"糕干": [["gāo"], ["gān"]],
		"搞好": [["gǎo"], ["hǎo"]],
		"稿约": [["gǎo"], ["yuē"]],
		"镐头": [["gǎo"], ["tóu"]],
		"告便": [["gào"], ["biàn"]],
		"告别": [["gào"], ["bié"]],
		"告倒": [["gào"], ["dǎo"]],
		"告发": [["gào"], ["fā"]],
		"告假": [["gào"], ["jià"]],
		"告知": [["gào"], ["zhī"]],
		"告语": [["gào"], ["yǔ"]],
		"疙疤": [["gē"], ["bā"]],
		"疙瘩": [["gē"], ["dā"]],
		"胳臂": [["gē"], ["bei"]],
		"胳膊": [["gē"], ["bo"]],
		"胳肢": [["gē"], ["zhī"]],
		"鸽笼": [["gē"], ["lóng"]],
		"割据": [["gē"], ["jù"]],
		"割地": [["gē"], ["dì"]],
		"割裂": [["gē"], ["liè"]],
		"割切": [["gē"], ["qiē"]],
		"搁笔": [["gē"], ["bǐ"]],
		"搁板": [["gē"], ["bǎn"]],
		"搁浅": [["gē"], ["qiǎn"]],
		"搁置": [["gē"], ["zhì"]],
		"歌女": [["gē"], ["nǚ"]],
		"歌曲": [["gē"], ["qǔ"]],
		"歌行": [["gē"], ["xíng"]],
		"革囊": [["gé"], ["náng"]],
		"阁员": [["gé"], ["yuán"]],
		"格调": [["gé"], ["diào"]],
		"格斗": [["gé"], ["dòu"]],
		"葛布": [["gé"], ["bù"]],
		"葛粉": [["gé"], ["fěn"]],
		"葛根": [["gé"], ["gēn"]],
		"葛藤": [["gé"], ["téng"]],
		"蛤粉": [["gé"], ["fěn"]],
		"蛤蚧": [["gé"], ["jiè"]],
		"蛤蜊": [["gé"], ["lí"]],
		"隔别": [["gé"], ["bié"]],
		"蛤蟆": [["há"], ["má"]],
		"隔间": [["gé"], ["jiān"]],
		"隔扇": [["gé"], ["shān"]],
		"隔行": [["gé"], ["háng"]],
		"隔宿": [["gé"], ["sù"]],
		"隔栅": [["gé"], ["zhà"]],
		"个把": [["gè"], ["bǎ"]],
		"个案": [["gè"], ["àn"]],
		"个别": [["gè"], ["bié"]],
		"个儿": [["gè"], ["ér"]],
		"个个": [["gè"], ["gè"]],
		"个旧": [["gè"], ["jiù"]],
		"个人": [["gè"], ["rén"]],
		"个体": [["gè"], ["tǐ"]],
		"个头": [["gè"], ["tóu"]],
		"个位": [["gè"], ["wèi"]],
		"个性": [["gè"], ["xìng"]],
		"个中": [["gè"], ["zhōng"]],
		"个子": [["gè"], ["zi"]],
		"各半": [["gè"], ["bàn"]],
		"各别": [["gè"], ["bié"]],
		"各处": [["gè"], ["chù"]],
		"各个": [["gè"], ["gè"]],
		"各级": [["gè"], ["jí"]],
		"各界": [["gè"], ["jiè"]],
		"各人": [["gè"], ["rén"]],
		"各色": [["gè"], ["sè"]],
		"各位": [["gè"], ["wèi"]],
		"各样": [["gè"], ["yàng"]],
		"各种": [["gè"], ["zhǒng"]],
		"各自": [["gè"], ["zì"]],
		"给定": [["gěi"], ["dìng"]],
		"给钱": [["gěi"], ["qián"]],
		"给付": [["gěi"], ["fù"]],
		"给水": [["jǐ"], ["shuǐ"]],
		"给养": [["jǐ"], ["yǎng"]],
		"给以": [["gěi"], ["yǐ"]],
		"给与": [["gěi"], ["yǔ"]],
		"给予": [["jǐ"], ["yǔ"]],
		"根底": [["gēn"], ["dǐ"]],
		"根号": [["gēn"], ["hào"]],
		"根据": [["gēn"], ["jù"]],
		"根系": [["gēn"], ["xì"]],
		"跟差": [["gēn"], ["chāi"]],
		"跟从": [["gēn"], ["cóng"]],
		"跟斗": [["gēn"], ["dǒu"]],
		"跟上": [["gēn"], ["shàng"]],
		"跟着": [["gēn"], ["zhe"]],
		"跟头": [["gēn"], ["tou"]],
		"更次": [["gēng"], ["cì"]],
		"更迭": [["gēng"], ["dié"]],
		"更动": [["gēng"], ["dòng"]],
		"更番": [["gēng"], ["fān"]],
		"更夫": [["gēng"], ["fū"]],
		"更改": [["gēng"], ["gǎi"]],
		"更鼓": [["gēng"], ["gǔ"]],
		"更换": [["gēng"], ["huàn"]],
		"更加": [["gèng"], ["jiā"]],
		"更名": [["gēng"], ["míng"]],
		"更其": [["gèng"], ["qí"]],
		"更深": [["gēng"], ["shēn"]],
		"更生": [["gēng"], ["shēng"]],
		"更始": [["gēng"], ["shǐ"]],
		"更替": [["gēng"], ["tì"]],
		"更为": [["gèng"], ["wéi"]],
		"更新": [["gēng"], ["xīn"]],
		"更衣": [["gēng"], ["yī"]],
		"更易": [["gēng"], ["yì"]],
		"更张": [["gēng"], ["zhāng"]],
		"更正": [["gēng"], ["zhèng"]],
		"更卒": [["gēng"], ["zú"]],
		"庚帖": [["gēng"], ["tiě"]],
		"耕读": [["gēng"], ["dú"]],
		"耕地": [["gēng"], ["dì"]],
		"耕畜": [["gēng"], ["chù"]],
		"耕织": [["gēng"], ["zhī"]],
		"耕种": [["gēng"], ["zhòng"]],
		"羹匙": [["gēng"], ["chí"]],
		"羹汤": [["gēng"], ["tāng"]],
		"哽塞": [["gěng"], ["sè"]],
		"哽咽": [["gěng"], ["yè"]],
		"梗塞": [["gěng"], ["sè"]],
		"工厂": [["gōng"], ["chǎng"]],
		"工长": [["gōng"], ["cháng"]],
		"工场": [["gōng"], ["chǎng"]],
		"工地": [["gōng"], ["dì"]],
		"工尺": [["gōng"], ["chě"]],
		"工读": [["gōng"], ["dú"]],
		"工分": [["gōng"], ["fēn"]],
		"工夫": [["gōng"], ["fū"]],
		"工价": [["gōng"], ["jià"]],
		"工会": [["gōng"], ["huì"]],
		"工间": [["gōng"], ["jiān"]],
		"工楷": [["gōng"], ["kǎi"]],
		"工区": [["gōng"], ["qū"]],
		"工期": [["gōng"], ["qī"]],
		"工头": [["gōng"], ["tóu"]],
		"工休": [["gōng"], ["xiū"]],
		"工种": [["gōng"], ["zhǒng"]],
		"弓背": [["gōng"], ["bèi"]],
		"公差": [["gōng"], ["chāi"]],
		"公车": [["gōng"], ["chē"]],
		"公称": [["gōng"], ["chēng"]],
		"公尺": [["gōng"], ["chǐ"]],
		"公担": [["gōng"], ["dān"]],
		"公地": [["gōng"], ["dì"]],
		"公分": [["gōng"], ["fēn"]],
		"公干": [["gōng"], ["gàn"]],
		"公共": [["gōng"], ["gòng"]],
		"公侯": [["gōng"], ["hóu"]],
		"公祭": [["gōng"], ["jì"]],
		"公会": [["gōng"], ["huì"]],
		"公家": [["gōng"], ["jiā"]],
		"公假": [["gōng"], ["jià"]],
		"公了": [["gōng"], ["le"]],
		"公论": [["gōng"], ["lùn"]],
		"公猫": [["gōng"], ["māo"]],
		"公仆": [["gōng"], ["pú"]],
		"公帑": [["gōng"], ["tǎng"]],
		"公孙": [["gōng"], ["sūn"]],
		"公休": [["gōng"], ["xiū"]],
		"公畜": [["gōng"], ["chù"]],
		"公羊": [["gōng"], ["yáng"]],
		"公有": [["gōng"], ["yǒu"]],
		"公约": [["gōng"], ["yuē"]],
		"公正": [["gōng"], ["zhèng"]],
		"公助": [["gōng"], ["zhù"]],
		"公转": [["gōng"], ["zhuàn"]],
		"功底": [["gōng"], ["dǐ"]],
		"功夫": [["gōng"], ["fū"]],
		"功过": [["gōng"], ["guò"]],
		"功令": [["gōng"], ["lìng"]],
		"功率": [["gōng"], ["lǜ"]],
		"攻打": [["gōng"], ["dǎ"]],
		"功能": [["gōng"], ["néng"]],
		"攻读": [["gōng"], ["dú"]],
		"供案": [["gòng"], ["àn"]],
		"攻占": [["gōng"], ["zhàn"]],
		"供称": [["gòng"], ["chēng"]],
		"供词": [["gòng"], ["cí"]],
		"供电": [["gōng"], ["diàn"]],
		"供奉": [["gòng"], ["fèng"]],
		"供稿": [["gòng"], ["gǎo"]],
		"供给": [["gōng"], ["jǐ"]],
		"供果": [["gòng"], ["guǒ"]],
		"供料": [["gōng"], ["liào"]],
		"供暖": [["gòng"], ["nuǎn"]],
		"供品": [["gòng"], ["pǐn"]],
		"供气": [["gōng"], ["qì"]],
		"供求": [["gōng"], ["qiú"]],
		"供认": [["gòng"], ["rèn"]],
		"供事": [["gòng"], ["shì"]],
		"供销": [["gōng"], ["xiāo"]],
		"供需": [["gōng"], ["xū"]],
		"供养": [["gòng"], ["yǎng"]],
		"供应": [["gōng"], ["yìng"]],
		"供状": [["gòng"], ["zhuàng"]],
		"供职": [["gòng"], ["zhí"]],
		"供桌": [["gòng"], ["zhuō"]],
		"肱骨": [["gōng"], ["gǔ"]],
		"宫调": [["gōng"], ["diào"]],
		"宫禁": [["gōng"], ["jìn"]],
		"宫颈": [["gōng"], ["jǐng"]],
		"宫女": [["gōng"], ["nǚ"]],
		"宫扇": [["gōng"], ["shàn"]],
		"宫阙": [["gōng"], ["què"]],
		"宫掖": [["gōng"], ["yè"]],
		"躬亲": [["gōng"], ["qīn"]],
		"拱圈": [["gǒng"], ["quān"]],
		"躬行": [["gōng"], ["xíng"]],
		"拱券": [["gǒng"], ["xuàn"]],
		"共餐": [["gòng"], ["cān"]],
		"共处": [["gòng"], ["chǔ"]],
		"共存": [["gòng"], ["cún"]],
		"共度": [["gòng"], ["dù"]],
		"共犯": [["gòng"], ["fàn"]],
		"共管": [["gòng"], ["guǎn"]],
		"共和": [["gòng"], ["hé"]],
		"共话": [["gòng"], ["huà"]],
		"共计": [["gòng"], ["jì"]],
		"共济": [["gòng"], ["jì"]],
		"共价": [["gòng"], ["jià"]],
		"共聚": [["gòng"], ["jù"]],
		"共居": [["gòng"], ["jū"]],
		"共勉": [["gòng"], ["miǎn"]],
		"共鸣": [["gòng"], ["míng"]],
		"共谋": [["gòng"], ["móu"]],
		"共栖": [["gòng"], ["qī"]],
		"共生": [["gòng"], ["shēng"]],
		"共识": [["gòng"], ["shí"]],
		"共通": [["gòng"], ["tōng"]],
		"共事": [["gòng"], ["shì"]],
		"共同": [["gòng"], ["tóng"]],
		"共线": [["gòng"], ["xiàn"]],
		"共相": [["gòng"], ["xiāng"]],
		"共享": [["gòng"], ["xiǎng"]],
		"共性": [["gòng"], ["xìng"]],
		"共议": [["gòng"], ["yì"]],
		"共用": [["gòng"], ["yòng"]],
		"共有": [["gòng"], ["yǒu"]],
		"共总": [["gòng"], ["zǒng"]],
		"共振": [["gòng"], ["zhèn"]],
		"勾搭": [["gōu"], ["dā"]],
		"勾除": [["gōu"], ["chú"]],
		"勾当": [["gòu"], ["dàng"]],
		"勾兑": [["gōu"], ["duì"]],
		"勾画": [["gōu"], ["huà"]],
		"勾绘": [["gōu"], ["huì"]],
		"勾魂": [["gōu"], ["hún"]],
		"勾践": [["gōu"], ["jiàn"]],
		"勾栏": [["gōu"], ["lán"]],
		"勾结": [["gōu"], ["jié"]],
		"勾勒": [["gōu"], ["lè"]],
		"勾连": [["gōu"], ["lián"]],
		"勾脸": [["gōu"], ["liǎn"]],
		"勾留": [["gōu"], ["liú"]],
		"勾描": [["gōu"], ["miáo"]],
		"勾起": [["gōu"], ["qǐ"]],
		"勾芡": [["gōu"], ["qiàn"]],
		"勾通": [["gōu"], ["tōng"]],
		"勾消": [["gōu"], ["xiāo"]],
		"勾销": [["gōu"], ["xiāo"]],
		"勾引": [["gōu"], ["yǐn"]],
		"佝偻": [["gōu"], ["lóu"]],
		"沟渠": [["gōu"], ["qú"]],
		"沟堑": [["gōu"], ["qiàn"]],
		"苟合": [["gǒu"], ["hé"]],
		"狗头": [["gǒu"], ["tóu"]],
		"苟且": [["gǒu"], ["qiě"]],
		"枸橘": [["gōu"], ["jú"]],
		"苟同": [["gǒu"], ["tóng"]],
		"枸杞": [["gǒu"], ["qǐ"]],
		"构思": [["gòu"], ["sī"]],
		"枸橼": [["jǔ"], ["yuán"]],
		"构筑": [["gòu"], ["zhù"]],
		"购得": [["gòu"], ["de"]],
		"垢泥": [["gòu"], ["ní"]],
		"够呛": [["gòu"], ["qiāng"]],
		"媾和": [["gòu"], ["hé"]],
		"媾合": [["gòu"], ["hé"]],
		"彀中": [["gòu"], ["zhōng"]],
		"估产": [["gū"], ["chǎn"]],
		"估计": [["gū"], ["jì"]],
		"估价": [["gū"], ["jià"]],
		"估量": [["gū"], ["liang"]],
		"估摸": [["gū"], ["mō"]],
		"估算": [["gū"], ["suàn"]],
		"估衣": [["gù"], ["yī"]],
		"姑夫": [["gū"], ["fū"]],
		"姑父": [["gū"], ["fù"]],
		"姑且": [["gū"], ["qiě"]],
		"姑苏": [["gū"], ["sū"]],
		"姑洗": [["gū"], ["xǐ"]],
		"孤单": [["gū"], ["dān"]],
		"孤女": [["gū"], ["nǚ"]],
		"孤行": [["gū"], ["xíng"]],
		"古奥": [["gǔ"], ["ào"]],
		"古风": [["gǔ"], ["fēng"]],
		"古都": [["gǔ"], ["dū"]],
		"古朴": [["gǔ"], ["piáo"]],
		"古刹": [["gǔ"], ["chà"]],
		"古体": [["gǔ"], ["tǐ"]],
		"古语": [["gǔ"], ["yǔ"]],
		"古远": [["gǔ"], ["yuǎn"]],
		"汩汩": [["gǔ"], ["gǔ"]],
		"汩没": [["gǔ"], ["mò"]],
		"谷底": [["gǔ"], ["dǐ"]],
		"谷地": [["gǔ"], ["dì"]],
		"谷坊": [["gǔ"], ["fáng"]],
		"谷雨": [["gǔ"], ["yǔ"]],
		"股长": [["gǔ"], ["zhǎng"]],
		"股分": [["gǔ"], ["fēn"]],
		"股份": [["gǔ"], ["fèn"]],
		"股骨": [["gǔ"], ["gǔ"]],
		"股票": [["gǔ"], ["piào"]],
		"骨刺": [["gǔ"], ["cì"]],
		"骨董": [["gǔ"], ["dǒng"]],
		"骨朵": [["gū"], ["duǒ"]],
		"骨粉": [["gǔ"], ["fěn"]],
		"骨干": [["gǔ"], ["gàn"]],
		"骨鲠": [["gǔ"], ["gěng"]],
		"骨骼": [["gǔ"], ["gé"]],
		"骨化": [["gǔ"], ["huà"]],
		"骨灰": [["gǔ"], ["huī"]],
		"骨胶": [["gǔ"], ["jiāo"]],
		"骨架": [["gǔ"], ["jià"]],
		"骨节": [["gǔ"], ["jié"]],
		"骨科": [["gǔ"], ["kē"]],
		"骨库": [["gǔ"], ["kù"]],
		"骨痨": [["gǔ"], ["láo"]],
		"骨力": [["gǔ"], ["lì"]],
		"骨料": [["gǔ"], ["liào"]],
		"骨碌": [["gū"], ["lù"]],
		"骨膜": [["gǔ"], ["mó"]],
		"骨盆": [["gǔ"], ["pén"]],
		"骨牌": [["gǔ"], ["pái"]],
		"骨气": [["gǔ"], ["qì"]],
		"骨肉": [["gǔ"], ["ròu"]],
		"骨髓": [["gǔ"], ["suǐ"]],
		"骨炭": [["gǔ"], ["tàn"]],
		"骨头": [["gú"], ["tou"]],
		"骨学": [["gǔ"], ["xué"]],
		"骨血": [["gǔ"], ["xuè"]],
		"骨殖": [["gǔ"], ["shi"]],
		"骨折": [["gǔ"], ["zhé"]],
		"骨子": [["gǔ"], ["zi"]],
		"榾柮": [["gǔ"], ["duò"]],
		"鼓风": [["gǔ"], ["fēng"]],
		"鼓角": [["gǔ"], ["jiǎo"]],
		"鼓劲": [["gǔ"], ["jìn"]],
		"鼓弄": [["gǔ"], ["nòng"]],
		"鼓乐": [["gǔ"], ["yuè"]],
		"固结": [["gù"], ["jié"]],
		"固体": [["gù"], ["tǐ"]],
		"固有": [["gù"], ["yǒu"]],
		"故地": [["gù"], ["dì"]],
		"故伎": [["gù"], ["jì"]],
		"固着": [["gù"], ["zhuó"]],
		"故都": [["gù"], ["dū"]],
		"故知": [["gù"], ["zhī"]],
		"故纵": [["gù"], ["zòng"]],
		"顾家": [["gù"], ["jiā"]],
		"雇佣": [["gù"], ["yōng"]],
		"雇员": [["gù"], ["yuán"]],
		"瓜分": [["guā"], ["fēn"]],
		"瓜蔓": [["guā"], ["wàn"]],
		"瓜葛": [["guā"], ["gé"]],
		"瓜片": [["guā"], ["piàn"]],
		"瓜期": [["guā"], ["qī"]],
		"刮风": [["guā"], ["fēng"]],
		"刮削": [["guā"], ["xiāo"]],
		"呱嗒": [["guā"], ["dā"]],
		"呱唧": [["guā"], ["jī"]],
		"呱呱": [["gū"], ["gū"]],
		"寡合": [["guǎ"], ["hé"]],
		"寡妻": [["guǎ"], ["qī"]],
		"挂车": [["guà"], ["chē"]],
		"寡头": [["guǎ"], ["tóu"]],
		"挂单": [["guà"], ["dān"]],
		"挂斗": [["guà"], ["dǒu"]],
		"挂冠": [["guà"], ["guān"]],
		"挂红": [["guà"], ["hóng"]],
		"挂号": [["guà"], ["hào"]],
		"挂累": [["guà"], ["lèi"]],
		"挂屏": [["guà"], ["píng"]],
		"乖觉": [["guāi"], ["jué"]],
		"挂轴": [["guà"], ["zhóu"]],
		"拐棍": [["guǎi"], ["gùn"]],
		"拐角": [["guǎi"], ["jiǎo"]],
		"怪论": [["guài"], ["lùn"]],
		"怪石": [["guài"], ["shí"]],
		"怪相": [["guài"], ["xiàng"]],
		"关节": [["guān"], ["jié"]],
		"关卡": [["guān"], ["qiǎ"]],
		"关内": [["guān"], ["nèi"]],
		"关切": [["guān"], ["qiè"]],
		"关塞": [["guān"], ["sāi"]],
		"关上": [["guān"], ["shàng"]],
		"关头": [["guān"], ["tóu"]],
		"关系": [["guān"], ["xì"]],
		"关中": [["guān"], ["zhōng"]],
		"观测": [["guān"], ["cè"]],
		"观察": [["guān"], ["chá"]],
		"观潮": [["guān"], ["cháo"]],
		"观点": [["guān"], ["diǎn"]],
		"观感": [["guān"], ["gǎn"]],
		"观风": [["guān"], ["fēng"]],
		"观光": [["guān"], ["guāng"]],
		"观火": [["guān"], ["huǒ"]],
		"观看": [["guān"], ["kàn"]],
		"观览": [["guān"], ["lǎn"]],
		"观礼": [["guān"], ["lǐ"]],
		"观摩": [["guān"], ["mó"]],
		"观念": [["guān"], ["niàn"]],
		"观赏": [["guān"], ["shǎng"]],
		"观望": [["guān"], ["wàng"]],
		"观音": [["guān"], ["yīn"]],
		"观瞻": [["guān"], ["zhān"]],
		"观战": [["guān"], ["zhàn"]],
		"观照": [["guān"], ["zhào"]],
		"观阵": [["guān"], ["zhèn"]],
		"观众": [["guān"], ["zhòng"]],
		"观止": [["guān"], ["zhǐ"]],
		"官差": [["guān"], ["chāi"]],
		"官长": [["guān"], ["zhǎng"]],
		"官场": [["guān"], ["chǎng"]],
		"官称": [["guān"], ["chēng"]],
		"官倒": [["guān"], ["dǎo"]],
		"官地": [["guān"], ["dì"]],
		"官服": [["guān"], ["fú"]],
		"官家": [["guān"], ["jiā"]],
		"官价": [["guān"], ["jià"]],
		"官校": [["guān"], ["xiào"]],
		"官能": [["guān"], ["néng"]],
		"官员": [["guān"], ["yuán"]],
		"冠盖": [["guān"], ["gài"]],
		"冠军": [["guàn"], ["jūn"]],
		"冠礼": [["guàn"], ["lǐ"]],
		"冠冕": [["guān"], ["miǎn"]],
		"冠玉": [["guān"], ["yù"]],
		"冠子": [["guàn"], ["zi"]],
		"鳏夫": [["guān"], ["fū"]],
		"管家": [["guǎn"], ["jiā"]],
		"管见": [["guǎn"], ["jiàn"]],
		"管教": [["guǎn"], ["jiào"]],
		"管乐": [["guǎn"], ["yuè"]],
		"管区": [["guǎn"], ["qū"]],
		"管片": [["guǎn"], ["piàn"]],
		"盥洗": [["guàn"], ["xǐ"]],
		"灌浆": [["guàn"], ["jiāng"]],
		"灌区": [["guàn"], ["qū"]],
		"灌渠": [["guàn"], ["qú"]],
		"灌洗": [["guàn"], ["xǐ"]],
		"光大": [["guāng"], ["dà"]],
		"光杆": [["guāng"], ["gǎn"]],
		"光度": [["guāng"], ["dù"]],
		"光棍": [["guāng"], ["gùn"]],
		"光华": [["guāng"], ["huá"]],
		"光化": [["guāng"], ["huà"]],
		"光解": [["guāng"], ["jiě"]],
		"光景": [["guāng"], ["jǐng"]],
		"光溜": [["guāng"], ["liū"]],
		"光能": [["guāng"], ["néng"]],
		"光圈": [["guāng"], ["quān"]],
		"光头": [["guāng"], ["tóu"]],
		"光纤": [["guāng"], ["xiān"]],
		"光鲜": [["guāng"], ["xiān"]],
		"光晕": [["guāng"], ["yùn"]],
		"光压": [["guāng"], ["yā"]],
		"光泽": [["guāng"], ["zé"]],
		"光栅": [["guāng"], ["shān"]],
		"咣当": [["guāng"], ["dāng"]],
		"桄榔": [["guāng"], ["láng"]],
		"广播": [["guǎng"], ["bō"]],
		"广博": [["guǎng"], ["bó"]],
		"广场": [["guǎng"], ["chǎng"]],
		"广大": [["guǎng"], ["dà"]],
		"广岛": [["guǎng"], ["dǎo"]],
		"广东": [["guǎng"], ["dōng"]],
		"广度": [["guǎng"], ["dù"]],
		"广泛": [["guǎng"], ["fàn"]],
		"广告": [["guǎng"], ["gào"]],
		"广货": [["guǎng"], ["huò"]],
		"广阔": [["guǎng"], ["kuò"]],
		"广袤": [["guǎng"], ["mào"]],
		"广漠": [["guǎng"], ["mò"]],
		"广谱": [["guǎng"], ["pǔ"]],
		"广平": [["guǎng"], ["píng"]],
		"广求": [["guǎng"], ["qiú"]],
		"广饶": [["guǎng"], ["ráo"]],
		"广西": [["guǎng"], ["xī"]],
		"广厦": [["guǎng"], ["shà"]],
		"广义": [["guǎng"], ["yì"]],
		"广远": [["guǎng"], ["yuǎn"]],
		"广众": [["guǎng"], ["zhòng"]],
		"广州": [["guǎng"], ["zhōu"]],
		"归还": [["guī"], ["huán"]],
		"归并": [["guī"], ["bìng"]],
		"归结": [["guī"], ["jié"]],
		"归化": [["guī"], ["huà"]],
		"归降": [["guī"], ["xiáng"]],
		"归宁": [["guī"], ["níng"]],
		"归期": [["guī"], ["qī"]],
		"归齐": [["guī"], ["qí"]],
		"归省": [["guī"], ["xǐng"]],
		"归宿": [["guī"], ["sù"]],
		"归隐": [["guī"], ["yǐn"]],
		"归属": [["guī"], ["shǔ"]],
		"圭角": [["guī"], ["jiǎo"]],
		"龟背": [["guī"], ["bèi"]],
		"龟板": [["guī"], ["bǎn"]],
		"龟甲": [["guī"], ["jiá"]],
		"龟鉴": [["guī"], ["jiàn"]],
		"龟裂": [["jūn"], ["liè"]],
		"龟缩": [["guī"], ["suō"]],
		"龟头": [["guī"], ["tóu"]],
		"规划": [["guī"], ["huà"]],
		"规模": [["guī"], ["mó"]],
		"规约": [["guī"], ["yuē"]],
		"规正": [["guī"], ["zhèng"]],
		"闺女": [["guī"], ["nǚ"]],
		"瑰奇": [["guī"], ["qí"]],
		"瑰丽": [["guī"], ["lì"]],
		"鲑鱼": [["guī"], ["yú"]],
		"轨度": [["guǐ"], ["dù"]],
		"诡称": [["guǐ"], ["chēng"]],
		"诡秘": [["guǐ"], ["mì"]],
		"诡奇": [["guǐ"], ["qí"]],
		"鬼混": [["guǐ"], ["hùn"]],
		"柜房": [["guì"], ["fáng"]],
		"柜橱": [["guì"], ["chú"]],
		"柜上": [["guì"], ["shàng"]],
		"柜台": [["guì"], ["tái"]],
		"柜子": [["guì"], ["zi"]],
		"贵处": [["guì"], ["chǔ"]],
		"贵妃": [["guì"], ["fēi"]],
		"贵干": [["guì"], ["gàn"]],
		"贵体": [["guì"], ["tǐ"]],
		"贵重": [["guì"], ["zhòng"]],
		"桂冠": [["guì"], ["guān"]],
		"桂枝": [["guì"], ["zhī"]],
		"跪倒": [["guì"], ["dǎo"]],
		"辊轴": [["gǔn"], ["zhóu"]],
		"滚落": [["gǔn"], ["luò"]],
		"棍棒": [["gùn"], ["bàng"]],
		"棍子": [["gùn"], ["zi"]],
		"锅底": [["guō"], ["dǐ"]],
		"锅台": [["guō"], ["tái"]],
		"国别": [["guó"], ["bié"]],
		"国仇": [["guó"], ["chóu"]],
		"国都": [["guó"], ["dū"]],
		"国度": [["guó"], ["dù"]],
		"国风": [["guó"], ["fēng"]],
		"国共": [["guó"], ["gòng"]],
		"国号": [["guó"], ["hào"]],
		"国华": [["guó"], ["huá"]],
		"国会": [["guó"], ["huì"]],
		"国家": [["guó"], ["jiā"]],
		"国教": [["guó"], ["jiào"]],
		"国乐": [["guó"], ["lè"]],
		"国脉": [["guó"], ["mài"]],
		"国内": [["guó"], ["nèi"]],
		"国术": [["guó"], ["shù"]],
		"国难": [["guó"], ["nàn"]],
		"国丧": [["guó"], ["sāng"]],
		"国帑": [["guó"], ["tǎng"]],
		"国体": [["guó"], ["tǐ"]],
		"国信": [["guó"], ["xìn"]],
		"国王": [["guó"], ["wáng"]],
		"国有": [["guó"], ["yǒu"]],
		"国语": [["guó"], ["yǔ"]],
		"果干": [["guǒ"], ["gàn"]],
		"果核": [["guǒ"], ["hé"]],
		"果枝": [["guǒ"], ["zhī"]],
		"裹挟": [["guǒ"], ["xié"]],
		"过半": [["guò"], ["bàn"]],
		"过磅": [["guò"], ["bàng"]],
		"过长": [["guò"], ["cháng"]],
		"过程": [["guò"], ["chéng"]],
		"过场": [["guò"], ["chǎng"]],
		"过秤": [["guò"], ["chèng"]],
		"过从": [["guò"], ["cóng"]],
		"过错": [["guò"], ["cuò"]],
		"过当": [["guò"], ["dāng"]],
		"过道": [["guò"], ["dào"]],
		"过电": [["guò"], ["diàn"]],
		"过冬": [["guò"], ["dōng"]],
		"过度": [["guò"], ["dù"]],
		"过渡": [["guò"], ["dù"]],
		"过多": [["guò"], ["duō"]],
		"过访": [["guò"], ["fǎng"]],
		"过房": [["guò"], ["fáng"]],
		"过费": [["guò"], ["fèi"]],
		"过分": [["guò"], ["fèn"]],
		"过份": [["guò"], ["fèn"]],
		"过付": [["guò"], ["fù"]],
		"过关": [["guò"], ["guān"]],
		"过后": [["guò"], ["hòu"]],
		"过话": [["guò"], ["huà"]],
		"过户": [["guò"], ["hù"]],
		"过活": [["guò"], ["huó"]],
		"过火": [["guò"], ["huǒ"]],
		"过激": [["guò"], ["jī"]],
		"过继": [["guò"], ["jì"]],
		"过奖": [["guò"], ["jiǎng"]],
		"过节": [["guò"], ["jié"]],
		"过劲": [["guò"], ["jìn"]],
		"过境": [["guò"], ["jìng"]],
		"过客": [["guò"], ["kè"]],
		"过来": [["guò"], ["lái"]],
		"过梁": [["guò"], ["liáng"]],
		"过礼": [["guò"], ["lǐ"]],
		"过量": [["guò"], ["liàng"]],
		"过滤": [["guò"], ["lǜ"]],
		"过路": [["guò"], ["lù"]],
		"过虑": [["guò"], ["lǜ"]],
		"过门": [["guò"], ["mén"]],
		"过敏": [["guò"], ["mǐn"]],
		"过目": [["guò"], ["mù"]],
		"过年": [["guò"], ["nián"]],
		"过期": [["guò"], ["qī"]],
		"过谦": [["guò"], ["qiān"]],
		"过桥": [["guò"], ["qiáo"]],
		"过去": [["guò"], ["qù"]],
		"过热": [["guò"], ["rè"]],
		"过筛": [["guò"], ["shāi"]],
		"过人": [["guò"], ["rén"]],
		"过剩": [["guò"], ["shèng"]],
		"过甚": [["guò"], ["shèn"]],
		"过失": [["guò"], ["shī"]],
		"过时": [["guò"], ["shí"]],
		"过世": [["guò"], ["shì"]],
		"过熟": [["guò"], ["shú"]],
		"过手": [["guò"], ["shǒu"]],
		"过堂": [["guò"], ["táng"]],
		"过厅": [["guò"], ["tīng"]],
		"过望": [["guò"], ["wàng"]],
		"过往": [["guò"], ["wǎng"]],
		"过问": [["guò"], ["wèn"]],
		"过头": [["guò"], ["tóu"]],
		"过午": [["guò"], ["wǔ"]],
		"过细": [["guò"], ["xì"]],
		"过夏": [["guò"], ["xià"]],
		"过心": [["guò"], ["xīn"]],
		"过眼": [["guò"], ["yǎn"]],
		"过氧": [["guò"], ["yǎng"]],
		"过夜": [["guò"], ["yè"]],
		"过瘾": [["guò"], ["yǐn"]],
		"过硬": [["guò"], ["yìng"]],
		"过于": [["guò"], ["yú"]],
		"过誉": [["guò"], ["yù"]],
		"过载": [["guò"], ["zài"]],
		"过早": [["guò"], ["zǎo"]],
		"过账": [["guò"], ["zhàng"]],
		"过重": [["guò"], ["zhòng"]],
		"哈达": [["hǎ"], ["dá"]],
		"哈哈": [["hā"], ["hā"]],
		"哈喇": [["hā"], ["lǎ"]],
		"哈罗": [["hā"], ["luo"]],
		"哈密": [["hā"], ["mì"]],
		"哈气": [["hā"], ["qì"]],
		"哈欠": [["hā"], ["qiàn"]],
		"哈腰": [["hā"], ["yāo"]],
		"嗨哟": [["hāi"], ["yō"]],
		"孩提": [["hái"], ["tí"]],
		"骸骨": [["hái"], ["gǔ"]],
		"海参": [["hǎi"], ["shēn"]],
		"海底": [["hǎi"], ["dǐ"]],
		"海地": [["hǎi"], ["dì"]],
		"海风": [["hǎi"], ["fēng"]],
		"海港": [["hǎi"], ["gǎng"]],
		"海龟": [["hǎi"], ["guī"]],
		"海疆": [["hǎi"], ["jiāng"]],
		"海角": [["hǎi"], ["jiǎo"]],
		"海禁": [["hǎi"], ["jìn"]],
		"海量": [["hǎi"], ["liàng"]],
		"海岭": [["hǎi"], ["lǐng"]],
		"海内": [["hǎi"], ["nèi"]],
		"海南": [["hǎi"], ["nán"]],
		"海难": [["hǎi"], ["nàn"]],
		"海扇": [["hǎi"], ["shàn"]],
		"海上": [["hǎi"], ["shàng"]],
		"海蛇": [["hǎi"], ["shé"]],
		"海苔": [["hǎi"], ["tái"]],
		"海鲜": [["hǎi"], ["xiān"]],
		"海燕": [["hǎi"], ["yàn"]],
		"海员": [["hǎi"], ["yuán"]],
		"害处": [["hài"], ["chù"]],
		"害臊": [["hài"], ["sào"]],
		"含糊": [["hán"], ["hu"]],
		"含混": [["hán"], ["hùn"]],
		"含量": [["hán"], ["liàng"]],
		"含沙": [["hán"], ["shā"]],
		"含血": [["hán"], ["xuè"]],
		"函大": [["hán"], ["dà"]],
		"含有": [["hán"], ["yǒu"]],
		"函数": [["hán"], ["shù"]],
		"寒伧": [["hán"], ["chen"]],
		"寒颤": [["hán"], ["zhàn"]],
		"寒风": [["hán"], ["fēng"]],
		"寒假": [["hán"], ["jià"]],
		"寒凉": [["hán"], ["liáng"]],
		"寒露": [["hán"], ["lù"]],
		"寒食": [["hán"], ["shí"]],
		"寒症": [["hán"], ["zhèng"]],
		"罕见": [["hǎn"], ["jiàn"]],
		"罕有": [["hǎn"], ["yǒu"]],
		"汉家": [["hàn"], ["jiā"]],
		"汉王": [["hàn"], ["wáng"]],
		"汉语": [["hàn"], ["yǔ"]],
		"汉中": [["hàn"], ["zhōng"]],
		"汗斑": [["hàn"], ["bān"]],
		"汗褂": [["hàn"], ["guà"]],
		"汗碱": [["hàn"], ["jiǎn"]],
		"汗脚": [["hàn"], ["jiǎo"]],
		"汗毛": [["hàn"], ["máo"]],
		"汗青": [["hàn"], ["qīng"]],
		"汗衫": [["hàn"], ["shān"]],
		"汗水": [["hàn"], ["shuǐ"]],
		"汗腺": [["hàn"], ["xiàn"]],
		"汗颜": [["hàn"], ["yán"]],
		"汗液": [["hàn"], ["yè"]],
		"汗珠": [["hàn"], ["zhū"]],
		"汗渍": [["hàn"], ["zì"]],
		"旱地": [["hàn"], ["dì"]],
		"悍将": [["hàn"], ["jiàng"]],
		"夯歌": [["hāng"], ["gē"]],
		"夯实": [["hāng"], ["shí"]],
		"航空": [["háng"], ["kōng"]],
		"航模": [["háng"], ["mó"]],
		"航行": [["háng"], ["xíng"]],
		"豪横": [["háo"], ["hèng"]],
		"豪华": [["háo"], ["huá"]],
		"豪强": [["háo"], ["qiáng"]],
		"豪兴": [["háo"], ["xìng"]],
		"豪雨": [["háo"], ["yǔ"]],
		"豪语": [["háo"], ["yǔ"]],
		"壕堑": [["háo"], ["qiàn"]],
		"好办": [["hǎo"], ["bàn"]],
		"好比": [["hǎo"], ["bǐ"]],
		"好辩": [["hǎo"], ["biàn"]],
		"好不": [["hǎo"], ["bù"]],
		"好吃": [["hǎo"], ["chī"]],
		"好丑": [["hǎo"], ["chǒu"]],
		"好处": [["hǎo"], ["chù"]],
		"好歹": [["hǎo"], ["dǎi"]],
		"好动": [["hào"], ["dòng"]],
		"好斗": [["hào"], ["dòu"]],
		"好多": [["hǎo"], ["duō"]],
		"好恶": [["hào"], ["wù"]],
		"好感": [["hǎo"], ["gǎn"]],
		"好儿": [["hǎo"], ["ér"]],
		"好古": [["hào"], ["gǔ"]],
		"好过": [["hǎo"], ["guò"]],
		"好汉": [["hǎo"], ["hàn"]],
		"好好": [["hǎo"], ["hǎo"]],
		"好话": [["hǎo"], ["huà"]],
		"好景": [["hǎo"], ["jǐng"]],
		"好酒": [["hǎo"], ["jiǔ"]],
		"好久": [["hǎo"], ["jiǔ"]],
		"好看": [["hǎo"], ["kàn"]],
		"好客": [["hào"], ["kè"]],
		"好赖": [["hǎo"], ["lài"]],
		"好脸": [["hǎo"], ["liǎn"]],
		"好评": [["hǎo"], ["píng"]],
		"好奇": [["hào"], ["qí"]],
		"好气": [["hǎo"], ["qì"]],
		"好强": [["hào"], ["qiáng"]],
		"好惹": [["hǎo"], ["rě"]],
		"好人": [["hǎo"], ["rén"]],
		"好色": [["hào"], ["sè"]],
		"好生": [["hǎo"], ["shēng"]],
		"好胜": [["hào"], ["shèng"]],
		"好事": [["hǎo"], ["shì"]],
		"好手": [["hǎo"], ["shǒu"]],
		"好受": [["hǎo"], ["shòu"]],
		"好书": [["hǎo"], ["shū"]],
		"好说": [["hǎo"], ["shuō"]],
		"好似": [["hǎo"], ["sì"]],
		"好听": [["hǎo"], ["tīng"]],
		"好头": [["hǎo"], ["tóu"]],
		"好玩": [["hǎo"], ["wán"]],
		"好闻": [["hǎo"], ["wén"]],
		"好戏": [["hǎo"], ["xì"]],
		"好问": [["hǎo"], ["wèn"]],
		"好象": [["hǎo"], ["xiàng"]],
		"好像": [["hǎo"], ["xiàng"]],
		"好笑": [["hǎo"], ["xiào"]],
		"好些": [["hǎo"], ["xiē"]],
		"好心": [["hǎo"], ["xīn"]],
		"好学": [["hào"], ["xué"]],
		"好言": [["hǎo"], ["yán"]],
		"好意": [["hǎo"], ["yì"]],
		"好运": [["hǎo"], ["yùn"]],
		"好在": [["hǎo"], ["zài"]],
		"好战": [["hào"], ["zhàn"]],
		"好转": [["hǎo"], ["zhuǎn"]],
		"好走": [["hǎo"], ["zǒu"]],
		"号兵": [["hào"], ["bīng"]],
		"号灯": [["hào"], ["dēng"]],
		"号称": [["hào"], ["chēng"]],
		"号角": [["hào"], ["jiǎo"]],
		"号房": [["hào"], ["fáng"]],
		"号叫": [["háo"], ["jiào"]],
		"号令": [["hào"], ["lìng"]],
		"号哭": [["hào"], ["kū"]],
		"号码": [["hào"], ["mǎ"]],
		"号脉": [["hào"], ["mài"]],
		"号牌": [["hào"], ["pái"]],
		"号炮": [["hào"], ["pào"]],
		"号丧": [["háo"], ["sāng"]],
		"号手": [["hào"], ["shǒu"]],
		"号数": [["hào"], ["shù"]],
		"号啕": [["háo"], ["táo"]],
		"号筒": [["hào"], ["tǒng"]],
		"号型": [["hào"], ["xíng"]],
		"号头": [["hào"], ["tóu"]],
		"号外": [["hào"], ["wài"]],
		"号衣": [["hào"], ["yī"]],
		"号召": [["hào"], ["zhào"]],
		"号子": [["hào"], ["zǐ"]],
		"浩大": [["hào"], ["dà"]],
		"浩繁": [["hào"], ["fán"]],
		"耗尽": [["hào"], ["jìn"]],
		"耗散": [["hào"], ["sàn"]],
		"呵叱": [["hē"], ["chì"]],
		"呵斥": [["hē"], ["chì"]],
		"呵呵": [["hē"], ["hē"]],
		"呵喝": [["hē"], ["hè"]],
		"呵护": [["hē"], ["hù"]],
		"呵欠": [["hē"], ["qiàn"]],
		"呵痒": [["hē"], ["yǎng"]],
		"呵责": [["hē"], ["zé"]],
		"喝采": [["hè"], ["cǎi"]],
		"喝彩": [["hè"], ["cǎi"]],
		"喝道": [["hè"], ["dào"]],
		"喝令": [["hè"], ["lìng"]],
		"喝水": [["hē"], ["shuǐ"]],
		"喝问": [["hè"], ["wèn"]],
		"喝醉": [["hē"], ["zuì"]],
		"喝醉酒": [
			["hē"],
			["zuì"],
			["jiǔ"]
		],
		"禾场": [["hé"], ["cháng"]],
		"合办": [["hé"], ["bàn"]],
		"合抱": [["hé"], ["bào"]],
		"合璧": [["hé"], ["bì"]],
		"合编": [["hé"], ["biān"]],
		"合并": [["hé"], ["bìng"]],
		"合唱": [["hé"], ["chàng"]],
		"合成": [["hé"], ["chéng"]],
		"合当": [["hé"], ["dāng"]],
		"合度": [["hé"], ["dù"]],
		"合法": [["hé"], ["fǎ"]],
		"合肥": [["hé"], ["féi"]],
		"合缝": [["hé"], ["fèng"]],
		"合该": [["hé"], ["gāi"]],
		"合格": [["hé"], ["gé"]],
		"合共": [["hé"], ["gòng"]],
		"合股": [["hé"], ["gǔ"]],
		"合乎": [["hé"], ["hū"]],
		"合欢": [["hé"], ["huān"]],
		"合伙": [["hé"], ["huǒ"]],
		"合击": [["hé"], ["jī"]],
		"合计": [["hé"], ["jì"]],
		"合家": [["hé"], ["jiā"]],
		"合脚": [["hé"], ["jiǎo"]],
		"合刊": [["hé"], ["kān"]],
		"合金": [["hé"], ["jīn"]],
		"合口": [["hé"], ["kǒu"]],
		"合理": [["hé"], ["lǐ"]],
		"合力": [["hé"], ["lì"]],
		"合流": [["hé"], ["liú"]],
		"合龙": [["hé"], ["lóng"]],
		"合拢": [["hé"], ["lǒng"]],
		"合谋": [["hé"], ["móu"]],
		"合拍": [["hé"], ["pāi"]],
		"合浦": [["hé"], ["pǔ"]],
		"合情": [["hé"], ["qíng"]],
		"合群": [["hé"], ["qún"]],
		"合声": [["hé"], ["shēng"]],
		"合身": [["hé"], ["shēn"]],
		"合十": [["hé"], ["shí"]],
		"合时": [["hé"], ["shí"]],
		"合式": [["hé"], ["shì"]],
		"合手": [["hé"], ["shǒu"]],
		"合适": [["hé"], ["shì"]],
		"合署": [["hé"], ["shǔ"]],
		"合数": [["hé"], ["shù"]],
		"合同": [["hé"], ["tóng"]],
		"合算": [["hé"], ["suàn"]],
		"合体": [["hé"], ["tǐ"]],
		"合围": [["hé"], ["wéi"]],
		"合心": [["hé"], ["xīn"]],
		"合眼": [["hé"], ["yǎn"]],
		"合演": [["hé"], ["yǎn"]],
		"合叶": [["hé"], ["yè"]],
		"合页": [["hé"], ["yè"]],
		"合宜": [["hé"], ["yí"]],
		"合一": [["hé"], ["yī"]],
		"合议": [["hé"], ["yì"]],
		"合意": [["hé"], ["yì"]],
		"合营": [["hé"], ["yíng"]],
		"合影": [["hé"], ["yǐng"]],
		"合用": [["hé"], ["yòng"]],
		"合于": [["hé"], ["yú"]],
		"合约": [["hé"], ["yuē"]],
		"合葬": [["hé"], ["zàng"]],
		"合掌": [["hé"], ["zhǎng"]],
		"合照": [["hé"], ["zhào"]],
		"合辙": [["hé"], ["zhé"]],
		"合资": [["hé"], ["zī"]],
		"合子": [["hé"], ["zǐ"]],
		"合着": [["hé"], ["zhe"]],
		"合著": [["hé"], ["zhù"]],
		"合奏": [["hé"], ["zòu"]],
		"何必": [["hé"], ["bì"]],
		"合作": [["hé"], ["zuò"]],
		"何不": [["hé"], ["bù"]],
		"何尝": [["hé"], ["cháng"]],
		"何处": [["hé"], ["chǔ"]],
		"何等": [["hé"], ["děng"]],
		"何妨": [["hé"], ["fáng"]],
		"何干": [["hé"], ["gān"]],
		"何故": [["hé"], ["gù"]],
		"何苦": [["hé"], ["kǔ"]],
		"何况": [["hé"], ["kuàng"]],
		"何其": [["hé"], ["qí"]],
		"何日": [["hé"], ["rì"]],
		"何如": [["hé"], ["rú"]],
		"何时": [["hé"], ["shí"]],
		"何事": [["hé"], ["shì"]],
		"何谓": [["hé"], ["wèi"]],
		"何物": [["hé"], ["wù"]],
		"何须": [["hé"], ["xū"]],
		"何许": [["hé"], ["xǔ"]],
		"何以": [["hé"], ["yǐ"]],
		"何用": [["hé"], ["yòng"]],
		"何在": [["hé"], ["zài"]],
		"何曾": [["hé"], ["zēng"]],
		"何者": [["hé"], ["zhě"]],
		"何止": [["hé"], ["zhǐ"]],
		"和蔼": [["hé"], ["ǎi"]],
		"和风": [["hé"], ["fēng"]],
		"和畅": [["hé"], ["chàng"]],
		"和服": [["hé"], ["fú"]],
		"和好": [["hé"], ["hǎo"]],
		"和合": [["hé"], ["hé"]],
		"和缓": [["hé"], ["huǎn"]],
		"和会": [["hé"], ["huì"]],
		"和解": [["hé"], ["jiě"]],
		"和静": [["hé"], ["jìng"]],
		"和局": [["hé"], ["jú"]],
		"和乐": [["hé"], ["lè"]],
		"和美": [["hé"], ["měi"]],
		"和面": [["huó"], ["miàn"]],
		"和鸣": [["hé"], ["míng"]],
		"和睦": [["hé"], ["mù"]],
		"和弄": [["huò"], ["nòng"]],
		"和暖": [["hé"], ["nuǎn"]],
		"和平": [["hé"], ["píng"]],
		"和气": [["hé"], ["qì"]],
		"和棋": [["hé"], ["qí"]],
		"和洽": [["hé"], ["qià"]],
		"和亲": [["hé"], ["qīn"]],
		"和善": [["hé"], ["shàn"]],
		"和尚": [["hé"], ["shàng"]],
		"和声": [["hé"], ["shēng"]],
		"和诗": [["hè"], ["shī"]],
		"和数": [["hé"], ["shù"]],
		"和顺": [["hé"], ["shùn"]],
		"和硕": [["hé"], ["shuò"]],
		"和谈": [["hé"], ["tán"]],
		"和婉": [["hé"], ["wǎn"]],
		"和弦": [["hé"], ["xián"]],
		"和文": [["hé"], ["wén"]],
		"和协": [["hé"], ["xié"]],
		"和谐": [["hé"], ["xié"]],
		"和衣": [["hé"], ["yī"]],
		"和煦": [["hé"], ["xù"]],
		"和议": [["hé"], ["yì"]],
		"和易": [["hé"], ["yì"]],
		"和约": [["hé"], ["yuē"]],
		"和悦": [["hé"], ["yuè"]],
		"和衷": [["hé"], ["zhōng"]],
		"河蚌": [["hé"], ["bàng"]],
		"河北": [["hé"], ["běi"]],
		"河间": [["hé"], ["jiān"]],
		"河底": [["hé"], ["dǐ"]],
		"河港": [["hé"], ["gǎng"]],
		"河内": [["hé"], ["nèi"]],
		"河南": [["hé"], ["nán"]],
		"河泥": [["hé"], ["ní"]],
		"河曲": [["hé"], ["qū"]],
		"河渠": [["hé"], ["qú"]],
		"河沙": [["hé"], ["shā"]],
		"河系": [["hé"], ["xì"]],
		"河鲜": [["hé"], ["xiān"]],
		"核查": [["hé"], ["zhā"]],
		"核弹": [["hé"], ["dàn"]],
		"核定": [["hé"], ["dìng"]],
		"核对": [["hé"], ["duì"]],
		"核儿": [["hú"], ["ér"]],
		"核计": [["hé"], ["jì"]],
		"核果": [["hé"], ["guǒ"]],
		"核减": [["hé"], ["jiǎn"]],
		"核膜": [["hé"], ["mó"]],
		"核能": [["hé"], ["néng"]],
		"核仁": [["hé"], ["rén"]],
		"核实": [["hé"], ["shí"]],
		"核酸": [["hé"], ["suān"]],
		"核算": [["hé"], ["suàn"]],
		"核桃": [["hé"], ["táo"]],
		"核销": [["hé"], ["xiāo"]],
		"核心": [["hé"], ["xīn"]],
		"核验": [["hé"], ["yàn"]],
		"核准": [["hé"], ["zhǔn"]],
		"核资": [["hé"], ["zī"]],
		"核子": [["hé"], ["zǐ"]],
		"荷载": [["hè"], ["zǎi"]],
		"貉绒": [["háo"], ["róng"]],
		"貉子": [["háo"], ["zi"]],
		"贺卡": [["hè"], ["kǎ"]],
		"阖家": [["hé"], ["jiā"]],
		"贺信": [["hè"], ["xìn"]],
		"赫兹": [["hè"], ["zī"]],
		"黑车": [["hēi"], ["chē"]],
		"黑底": [["hēi"], ["dǐ"]],
		"黑地": [["hēi"], ["dì"]],
		"黑发": [["hēi"], ["fā"]],
		"黑风": [["hēi"], ["fēng"]],
		"黑红": [["hēi"], ["hóng"]],
		"黑铅": [["hēi"], ["qiān"]],
		"黑蛇": [["hēi"], ["shé"]],
		"黑体": [["hēi"], ["tǐ"]],
		"黑头": [["hēi"], ["tóu"]],
		"黑信": [["hēi"], ["xìn"]],
		"黑雨": [["hēi"], ["yǔ"]],
		"嘿嘿": [["hēi"], ["hēi"]],
		"黑种": [["hēi"], ["zhǒng"]],
		"很毒": [["hěn"], ["dú"]],
		"狠劲": [["hěn"], ["jìn"]],
		"狠毒": [["hěn"], ["dú"]],
		"恒量": [["héng"], ["liàng"]],
		"亨通": [["hēng"], ["tōng"]],
		"桁架": [["héng"], ["jià"]],
		"横暴": [["hèng"], ["bào"]],
		"横匾": [["héng"], ["biǎn"]],
		"横标": [["héng"], ["biāo"]],
		"横财": [["hèng"], ["cái"]],
		"横穿": [["héng"], ["chuān"]],
		"横渡": [["héng"], ["dù"]],
		"横笛": [["héng"], ["dí"]],
		"横断": [["héng"], ["duàn"]],
		"横额": [["héng"], ["é"]],
		"横队": [["héng"], ["duì"]],
		"横幅": [["héng"], ["fú"]],
		"横隔": [["héng"], ["gé"]],
		"横亘": [["héng"], ["gèn"]],
		"横贯": [["héng"], ["guàn"]],
		"横祸": [["hèng"], ["huò"]],
		"横过": [["héng"], ["guò"]],
		"横加": [["héng"], ["jiā"]],
		"横街": [["héng"], ["jiē"]],
		"横空": [["héng"], ["kōng"]],
		"横跨": [["héng"], ["kuà"]],
		"横梁": [["héng"], ["liáng"]],
		"横列": [["héng"], ["liè"]],
		"横木": [["héng"], ["mù"]],
		"横逆": [["hèng"], ["nì"]],
		"横蛮": [["hèng"], ["mán"]],
		"横眉": [["héng"], ["méi"]],
		"横排": [["héng"], ["pái"]],
		"横批": [["héng"], ["pī"]],
		"横披": [["héng"], ["pī"]],
		"横肉": [["héng"], ["ròu"]],
		"横扫": [["héng"], ["sǎo"]],
		"横事": [["hèng"], ["shì"]],
		"横生": [["héng"], ["shēng"]],
		"横尸": [["héng"], ["shī"]],
		"横是": [["héng"], ["shì"]],
		"横竖": [["héng"], ["shù"]],
		"横死": [["hèng"], ["sǐ"]],
		"横向": [["héng"], ["xiàng"]],
		"横心": [["héng"], ["xīn"]],
		"横行": [["héng"], ["xíng"]],
		"横越": [["héng"], ["yuè"]],
		"横溢": [["héng"], ["yì"]],
		"横遭": [["héng"], ["zāo"]],
		"横直": [["héng"], ["zhí"]],
		"衡量": [["héng"], ["liáng"]],
		"轰炸": [["hōng"], ["zhà"]],
		"哄传": [["hōng"], ["chuán"]],
		"哄动": [["hōng"], ["dòng"]],
		"哄哄": [["hǒng"], ["hǒng"]],
		"哄闹": [["hōng"], ["nào"]],
		"哄骗": [["hǒng"], ["piàn"]],
		"哄弄": [["hǒng"], ["nòng"]],
		"哄抢": [["hōng"], ["qiǎng"]],
		"哄劝": [["hǒng"], ["quàn"]],
		"哄然": [["hōng"], ["rán"]],
		"哄抬": [["hōng"], ["tái"]],
		"哄堂": [["hōng"], ["táng"]],
		"哄诱": [["hǒng"], ["yòu"]],
		"哄笑": [["hōng"], ["xiào"]],
		"烘干": [["hōng"], ["gān"]],
		"烘笼": [["hōng"], ["lóng"]],
		"弘大": [["hóng"], ["dà"]],
		"红案": [["hóng"], ["àn"]],
		"红榜": [["hóng"], ["bǎng"]],
		"红包": [["hóng"], ["bāo"]],
		"红布": [["hóng"], ["bù"]],
		"红参": [["hóng"], ["cān"]],
		"红茶": [["hóng"], ["chá"]],
		"红潮": [["hóng"], ["cháo"]],
		"红场": [["hóng"], ["chǎng"]],
		"红尘": [["hóng"], ["chén"]],
		"红虫": [["hóng"], ["chóng"]],
		"红蛋": [["hóng"], ["dàn"]],
		"红灯": [["hóng"], ["dēng"]],
		"红豆": [["hóng"], ["dòu"]],
		"红粉": [["hóng"], ["fěn"]],
		"红汞": [["hóng"], ["gǒng"]],
		"红河": [["hóng"], ["hé"]],
		"红海": [["hóng"], ["hǎi"]],
		"红花": [["hóng"], ["huā"]],
		"红红": [["hóng"], ["hóng"]],
		"红火": [["hóng"], ["huǒ"]],
		"红货": [["hóng"], ["huò"]],
		"红教": [["hóng"], ["jiào"]],
		"红军": [["hóng"], ["jūn"]],
		"红利": [["hóng"], ["lì"]],
		"红莲": [["hóng"], ["lián"]],
		"红脸": [["hóng"], ["liǎn"]],
		"红楼": [["hóng"], ["lóu"]],
		"红螺": [["hóng"], ["luó"]],
		"红棉": [["hóng"], ["mián"]],
		"红木": [["hóng"], ["mù"]],
		"红娘": [["hóng"], ["niáng"]],
		"红女": [["hóng"], ["nǚ"]],
		"红盘": [["hóng"], ["pán"]],
		"红牌": [["hóng"], ["pái"]],
		"红票": [["hóng"], ["piào"]],
		"红皮": [["hóng"], ["pí"]],
		"红旗": [["hóng"], ["qí"]],
		"红桥": [["hóng"], ["qiáo"]],
		"红曲": [["hóng"], ["qǔ"]],
		"红区": [["hóng"], ["qū"]],
		"红壤": [["hóng"], ["rǎng"]],
		"红人": [["hóng"], ["rén"]],
		"红日": [["hóng"], ["rì"]],
		"红润": [["hóng"], ["rùn"]],
		"红色": [["hóng"], ["sè"]],
		"红烧": [["hóng"], ["shāo"]],
		"红苕": [["hóng"], ["sháo"]],
		"红生": [["hóng"], ["shēng"]],
		"红薯": [["hóng"], ["shǔ"]],
		"红树": [["hóng"], ["shù"]],
		"红糖": [["hóng"], ["táng"]],
		"红桃": [["hóng"], ["táo"]],
		"红藤": [["hóng"], ["téng"]],
		"红铜": [["hóng"], ["tóng"]],
		"红土": [["hóng"], ["tǔ"]],
		"红头": [["hóng"], ["tóu"]],
		"红线": [["hóng"], ["xiàn"]],
		"红心": [["hóng"], ["xīn"]],
		"红星": [["hóng"], ["xīng"]],
		"红袖": [["hóng"], ["xiù"]],
		"红学": [["hóng"], ["xué"]],
		"红岩": [["hóng"], ["yán"]],
		"红颜": [["hóng"], ["yán"]],
		"红眼": [["hóng"], ["yǎn"]],
		"红艳": [["hóng"], ["yàn"]],
		"红衣": [["hóng"], ["yī"]],
		"红叶": [["hóng"], ["yè"]],
		"红鱼": [["hóng"], ["yú"]],
		"红玉": [["hóng"], ["yù"]],
		"红运": [["hóng"], ["yùn"]],
		"红云": [["hóng"], ["yún"]],
		"红晕": [["hóng"], ["yùn"]],
		"红枣": [["hóng"], ["zǎo"]],
		"红肿": [["hóng"], ["zhǒng"]],
		"红妆": [["hóng"], ["zhuāng"]],
		"红专": [["hóng"], ["zhuān"]],
		"红装": [["hóng"], ["zhuāng"]],
		"宏大": [["hóng"], ["dà"]],
		"宏观": [["hóng"], ["guān"]],
		"宏丽": [["hóng"], ["lì"]],
		"宏量": [["hóng"], ["liàng"]],
		"宏论": [["hóng"], ["lùn"]],
		"宏远": [["hóng"], ["yuǎn"]],
		"洪大": [["hóng"], ["dà"]],
		"洪量": [["hóng"], ["liàng"]],
		"洪泽": [["hóng"], ["zé"]],
		"鸿蒙": [["hóng"], ["méng"]],
		"鸿爪": [["hóng"], ["zhǎo"]],
		"侯爵": [["hóu"], ["jué"]],
		"侯门": [["hóu"], ["mén"]],
		"喉结": [["hóu"], ["jié"]],
		"喉头": [["hóu"], ["tóu"]],
		"猴头": [["hóu"], ["tóu"]],
		"猴王": [["hóu"], ["wáng"]],
		"猴戏": [["hóu"], ["xì"]],
		"后场": [["hòu"], ["chǎng"]],
		"后传": [["hòu"], ["chuán"]],
		"后妃": [["hòu"], ["fēi"]],
		"后父": [["hòu"], ["fù"]],
		"后劲": [["hòu"], ["jìn"]],
		"后景": [["hòu"], ["jǐng"]],
		"后凉": [["hòu"], ["liáng"]],
		"后排": [["hòu"], ["pái"]],
		"后妻": [["hòu"], ["qī"]],
		"后期": [["hòu"], ["qī"]],
		"后任": [["hòu"], ["rèn"]],
		"后台": [["hòu"], ["tái"]],
		"后头": [["hòu"], ["tou"]],
		"后燕": [["hòu"], ["yàn"]],
		"厚薄": [["hòu"], ["báo"]],
		"厚待": [["hòu"], ["dài"]],
		"厚度": [["hòu"], ["dù"]],
		"厚片": [["hòu"], ["piàn"]],
		"厚朴": [["hòu"], ["pò"]],
		"厚重": [["hòu"], ["zhòng"]],
		"候场": [["hòu"], ["chǎng"]],
		"候教": [["hòu"], ["jiào"]],
		"候车": [["hòu"], ["chē"]],
		"呼号": [["hū"], ["háo"]],
		"呼喝": [["hū"], ["hè"]],
		"呼扇": [["hū"], ["shàn"]],
		"呼应": [["hū"], ["yìng"]],
		"呼啦": [["hū"], ["lā"]],
		"呼语": [["hū"], ["yǔ"]],
		"呼吁": [["hū"], ["yù"]],
		"忽地": [["hū"], ["dì"]],
		"弧度": [["hú"], ["dù"]],
		"弧菌": [["hú"], ["jūn"]],
		"狐臭": [["hú"], ["chòu"]],
		"狐臊": [["hú"], ["sāo"]],
		"狐疑": [["hú"], ["yí"]],
		"胡同": [["hú"], ["tòng"]],
		"胡说": [["hú"], ["shuō"]],
		"湖北": [["hú"], ["běi"]],
		"湖泊": [["hú"], ["pō"]],
		"湖广": [["hú"], ["guǎng"]],
		"湖南": [["hú"], ["nán"]],
		"湖泽": [["hú"], ["zé"]],
		"糊糊": [["hū"], ["hū"]],
		"糊口": [["hú"], ["kǒu"]],
		"糊精": [["hú"], ["jīng"]],
		"糊弄": [["hù"], ["nòng"]],
		"糊涂": [["hú"], ["tú"]],
		"虎贲": [["hǔ"], ["bēn"]],
		"虎骨": [["hǔ"], ["gǔ"]],
		"虎将": [["hǔ"], ["jiàng"]],
		"虎劲": [["hǔ"], ["jìn"]],
		"虎尾": [["hǔ"], ["wěi"]],
		"互济": [["hù"], ["jì"]],
		"互见": [["hù"], ["xiàn"]],
		"互相": [["hù"], ["xiāng"]],
		"互助": [["hù"], ["zhù"]],
		"户长": [["hù"], ["cháng"]],
		"户调": [["hù"], ["diào"]],
		"户头": [["hù"], ["tóu"]],
		"护校": [["hù"], ["xiào"]],
		"护从": [["hù"], ["cóng"]],
		"戽斗": [["hù"], ["dǒu"]],
		"花被": [["huā"], ["bèi"]],
		"花车": [["huā"], ["chē"]],
		"花冠": [["huā"], ["guān"]],
		"花会": [["huā"], ["huì"]],
		"花红": [["huā"], ["hóng"]],
		"花卷": [["huā"], ["juǎn"]],
		"花露": [["huā"], ["lù"]],
		"花呢": [["huā"], ["ní"]],
		"花炮": [["huā"], ["pào"]],
		"花期": [["huā"], ["qī"]],
		"花俏": [["huā"], ["qiào"]],
		"华北": [["huá"], ["běi"]],
		"华表": [["huá"], ["biǎo"]],
		"华彩": [["huá"], ["cǎi"]],
		"华诞": [["huá"], ["dàn"]],
		"华池": [["huá"], ["chí"]],
		"华灯": [["huá"], ["dēng"]],
		"华发": [["huá"], ["fà"]],
		"华东": [["huá"], ["dōng"]],
		"华盖": [["huá"], ["gài"]],
		"华府": [["huá"], ["fǔ"]],
		"华工": [["huá"], ["gōng"]],
		"华贵": [["huá"], ["guì"]],
		"华翰": [["huá"], ["hàn"]],
		"华里": [["huá"], ["lǐ"]],
		"华丽": [["huá"], ["lì"]],
		"华美": [["huá"], ["měi"]],
		"华纳": [["huá"], ["nà"]],
		"华南": [["huá"], ["nán"]],
		"华年": [["huá"], ["nián"]],
		"华侨": [["huá"], ["qiáo"]],
		"华人": [["huá"], ["rén"]],
		"华容": [["huá"], ["róng"]],
		"华润": [["huá"], ["rùn"]],
		"华山": [["huà"], ["shān"]],
		"华佗": [["huà"], ["tuó"]],
		"华夏": [["huá"], ["xià"]],
		"华西": [["huá"], ["xī"]],
		"华严": [["huá"], ["yán"]],
		"华裔": [["huá"], ["yì"]],
		"华语": [["huá"], ["yǔ"]],
		"华章": [["huá"], ["zhāng"]],
		"华中": [["huá"], ["zhōng"]],
		"华胄": [["huá"], ["zhòu"]],
		"华族": [["huá"], ["zú"]],
		"哗变": [["huá"], ["biàn"]],
		"哗啦": [["huā"], ["lā"]],
		"哗哗": [["huā"], ["huā"]],
		"哗然": [["huá"], ["rán"]],
		"哗笑": [["huá"], ["xiào"]],
		"哗众": [["huá"], ["zhòng"]],
		"滑车": [["huá"], ["chē"]],
		"滑稽": [["huá"], ["jī"]],
		"滑溜": [["huá"], ["liū"]],
		"滑落": [["huá"], ["luò"]],
		"滑头": [["huá"], ["tóu"]],
		"滑石": [["huá"], ["shí"]],
		"滑行": [["huá"], ["xíng"]],
		"化成": [["huà"], ["chéng"]],
		"化冻": [["huà"], ["dòng"]],
		"化肥": [["huà"], ["féi"]],
		"化分": [["huà"], ["fēn"]],
		"化工": [["huà"], ["gōng"]],
		"化合": [["huà"], ["hé"]],
		"化化": [["huà"], ["huà"]],
		"化解": [["huà"], ["jiě"]],
		"化境": [["huà"], ["jìng"]],
		"化疗": [["huà"], ["liáo"]],
		"化名": [["huà"], ["míng"]],
		"化钱": [["huà"], ["qián"]],
		"化脓": [["huà"], ["nóng"]],
		"化身": [["huà"], ["shēn"]],
		"化生": [["huà"], ["shēng"]],
		"化石": [["huà"], ["shí"]],
		"化痰": [["huà"], ["tán"]],
		"化外": [["huà"], ["wài"]],
		"化纤": [["huà"], ["xiān"]],
		"化学": [["huà"], ["xué"]],
		"化验": [["huà"], ["yàn"]],
		"化缘": [["huà"], ["yuán"]],
		"化斋": [["huà"], ["zhāi"]],
		"化妆": [["huà"], ["zhuāng"]],
		"化装": [["huà"], ["zhuāng"]],
		"化作": [["huà"], ["zuò"]],
		"划拨": [["huà"], ["bō"]],
		"划船": [["huá"], ["chuán"]],
		"划定": [["huà"], ["dìng"]],
		"划分": [["huà"], ["fēn"]],
		"划归": [["huà"], ["guī"]],
		"划过": [["huá"], ["guò"]],
		"划划": [["huá"], ["huá"]],
		"划价": [["huà"], ["jià"]],
		"划桨": [["huá"], ["jiǎng"]],
		"划拉": [["huá"], ["lā"]],
		"划清": [["huà"], ["qīng"]],
		"划拳": [["huá"], ["quán"]],
		"划算": [["huá"], ["suàn"]],
		"划艇": [["huá"], ["tǐng"]],
		"划线": [["huà"], ["xiàn"]],
		"划行": [["huá"], ["xíng"]],
		"划一": [["huà"], ["yī"]],
		"划子": [["huá"], ["zǐ"]],
		"画夹": [["huà"], ["jiā"]],
		"画家": [["huà"], ["jiā"]],
		"画卷": [["huà"], ["juàn"]],
		"画论": [["huà"], ["lùn"]],
		"画片": [["huà"], ["piān"]],
		"画屏": [["huà"], ["píng"]],
		"画帖": [["huà"], ["tiè"]],
		"画轴": [["huà"], ["zhóu"]],
		"话别": [["huà"], ["bié"]],
		"话头": [["huà"], ["tóu"]],
		"话说": [["huà"], ["shuō"]],
		"话语": [["huà"], ["yǔ"]],
		"怀化": [["huái"], ["huà"]],
		"怀疑": [["huái"], ["yí"]],
		"怀远": [["huái"], ["yuǎn"]],
		"坏处": [["huài"], ["chù"]],
		"踝骨": [["huái"], ["gǔ"]],
		"坏蛋": [["huài"], ["dàn"]],
		"坏话": [["huài"], ["huà"]],
		"坏人": [["huài"], ["rén"]],
		"坏事": [["huài"], ["shì"]],
		"坏水": [["huài"], ["shuǐ"]],
		"坏死": [["huài"], ["sǐ"]],
		"欢场": [["huān"], ["chǎng"]],
		"坏种": [["huài"], ["zhǒng"]],
		"欢度": [["huān"], ["dù"]],
		"欢好": [["huān"], ["hǎo"]],
		"欢乐": [["huān"], ["lè"]],
		"欢愉": [["huān"], ["yú"]],
		"还报": [["hái"], ["bào"]],
		"还本": [["huán"], ["běn"]],
		"还好": [["hái"], ["hǎo"]],
		"还击": [["huán"], ["jī"]],
		"还魂": [["huán"], ["hún"]],
		"还价": [["huán"], ["jià"]],
		"还口": [["huán"], ["kǒu"]],
		"还款": [["hái"], ["kuǎn"]],
		"还清": [["huán"], ["qīng"]],
		"还礼": [["huán"], ["lǐ"]],
		"还情": [["hái"], ["qíng"]],
		"还是": [["hái"], ["shì"]],
		"还手": [["huán"], ["shǒu"]],
		"还俗": [["huán"], ["sú"]],
		"还田": [["hái"], ["tián"]],
		"还席": [["huán"], ["xí"]],
		"还乡": [["huán"], ["xiāng"]],
		"还阳": [["huán"], ["yáng"]],
		"还原": [["huán"], ["yuán"]],
		"还愿": [["huán"], ["yuàn"]],
		"还债": [["huán"], ["zhài"]],
		"还帐": [["hái"], ["zhàng"]],
		"还账": [["huán"], ["zhàng"]],
		"还政": [["hái"], ["zhèng"]],
		"还嘴": [["huán"], ["zuǐ"]],
		"环合": [["huán"], ["hé"]],
		"环节": [["huán"], ["jié"]],
		"环食": [["huán"], ["shí"]],
		"环伺": [["huán"], ["sì"]],
		"环行": [["huán"], ["xíng"]],
		"环中": [["huán"], ["zhōng"]],
		"缓冲": [["huǎn"], ["chōng"]],
		"缓和": [["huǎn"], ["hé"]],
		"缓解": [["huǎn"], ["jiě"]],
		"缓期": [["huǎn"], ["qī"]],
		"缓行": [["huǎn"], ["xíng"]],
		"幻化": [["huàn"], ["huà"]],
		"幻景": [["huàn"], ["jǐng"]],
		"幻觉": [["huàn"], ["jué"]],
		"幻术": [["huàn"], ["shù"]],
		"唤头": [["huàn"], ["tou"]],
		"幻数": [["huàn"], ["shù"]],
		"换亲": [["huàn"], ["qīn"]],
		"换帖": [["huàn"], ["tiě"]],
		"换洗": [["huàn"], ["xǐ"]],
		"换约": [["huàn"], ["yuē"]],
		"涣散": [["huàn"], ["sàn"]],
		"荒地": [["huāng"], ["dì"]],
		"荒凉": [["huāng"], ["liáng"]],
		"荒落": [["huāng"], ["luò"]],
		"皇朝": [["huáng"], ["cháo"]],
		"皇妃": [["huáng"], ["fēi"]],
		"皇家": [["huáng"], ["jiā"]],
		"皇冠": [["huáng"], ["guān"]],
		"皇上": [["huáng"], ["shàng"]],
		"皇亲": [["huáng"], ["qīn"]],
		"黄泥": [["huáng"], ["ní"]],
		"黄雀": [["huáng"], ["què"]],
		"黄沙": [["huáng"], ["shā"]],
		"黄石": [["huáng"], ["shí"]],
		"黄羊": [["huáng"], ["yáng"]],
		"黄叶": [["huáng"], ["yè"]],
		"恍若": [["huǎng"], ["ruò"]],
		"晃荡": [["huàng"], ["dàng"]],
		"晃动": [["huàng"], ["dòng"]],
		"晃眼": [["huǎng"], ["yǎn"]],
		"晃晃": [["huàng"], ["huǎng"]],
		"晃摇": [["huàng"], ["yáo"]],
		"晃悠": [["huàng"], ["yōu"]],
		"灰分": [["huī"], ["fēn"]],
		"灰化": [["huī"], ["huà"]],
		"灰浆": [["huī"], ["jiāng"]],
		"灰沙": [["huī"], ["shā"]],
		"挥发": [["huī"], ["fā"]],
		"挥洒": [["huī"], ["sǎ"]],
		"徽调": [["huī"], ["diào"]],
		"辉石": [["huī"], ["shí"]],
		"徽号": [["huī"], ["hào"]],
		"回车": [["huí"], ["chē"]],
		"回采": [["huí"], ["cǎi"]],
		"回答": [["huí"], ["dá"]],
		"回单": [["huí"], ["dān"]],
		"回弹": [["huí"], ["tán"]],
		"回纥": [["huí"], ["hé"]],
		"回风": [["huí"], ["fēng"]],
		"回合": [["huí"], ["hé"]],
		"回还": [["huí"], ["huán"]],
		"回见": [["huí"], ["jiàn"]],
		"回教": [["huí"], ["jiào"]],
		"回笼": [["huí"], ["lóng"]],
		"回空": [["huí"], ["kōng"]],
		"回落": [["huí"], ["luò"]],
		"回填": [["huí"], ["tián"]],
		"回条": [["huí"], ["tiáo"]],
		"回帖": [["huí"], ["tiē"]],
		"回头": [["huí"], ["tóu"]],
		"回旋": [["huí"], ["xuán"]],
		"回信": [["huí"], ["xìn"]],
		"回应": [["huí"], ["yìng"]],
		"回转": [["huí"], ["zhuǎn"]],
		"回涨": [["huí"], ["zhǎng"]],
		"悔过": [["huǐ"], ["guò"]],
		"汇兑": [["huì"], ["duì"]],
		"汇合": [["huì"], ["hé"]],
		"汇价": [["huì"], ["jià"]],
		"汇率": [["huì"], ["lǜ"]],
		"汇票": [["huì"], ["piào"]],
		"会报": [["huì"], ["bào"]],
		"会餐": [["huì"], ["cān"]],
		"会标": [["huì"], ["biāo"]],
		"会操": [["huì"], ["cāo"]],
		"会长": [["huì"], ["cháng"]],
		"会昌": [["huì"], ["chāng"]],
		"会钞": [["huì"], ["chāo"]],
		"会场": [["huì"], ["chǎng"]],
		"会车": [["huì"], ["chē"]],
		"会党": [["huì"], ["dǎng"]],
		"会典": [["huì"], ["diǎn"]],
		"会儿": [["huì"], ["er"]],
		"会费": [["huì"], ["fèi"]],
		"会风": [["huì"], ["fēng"]],
		"会馆": [["huì"], ["guǎn"]],
		"会合": [["huì"], ["hé"]],
		"会话": [["huì"], ["huà"]],
		"会徽": [["huì"], ["huī"]],
		"会集": [["huì"], ["jí"]],
		"会籍": [["huì"], ["jí"]],
		"会计": [["kuài"], ["jì"]],
		"会见": [["huì"], ["jiàn"]],
		"会剿": [["huì"], ["jiǎo"]],
		"会聚": [["huì"], ["jù"]],
		"会刊": [["huì"], ["kān"]],
		"会考": [["huì"], ["kǎo"]],
		"会客": [["huì"], ["kè"]],
		"会理": [["huì"], ["lǐ"]],
		"会面": [["huì"], ["miàn"]],
		"会宁": [["huì"], ["níng"]],
		"会齐": [["huì"], ["qí"]],
		"会期": [["huì"], ["qī"]],
		"会签": [["huì"], ["qiān"]],
		"会商": [["huì"], ["shāng"]],
		"会上": [["huì"], ["shàng"]],
		"会社": [["huì"], ["shè"]],
		"会审": [["huì"], ["shěn"]],
		"会师": [["huì"], ["shī"]],
		"会试": [["huì"], ["shì"]],
		"会水": [["huì"], ["shuǐ"]],
		"会首": [["huì"], ["shǒu"]],
		"会所": [["huì"], ["suǒ"]],
		"会谈": [["huì"], ["tán"]],
		"会堂": [["huì"], ["táng"]],
		"会通": [["huì"], ["tōng"]],
		"会同": [["huì"], ["tóng"]],
		"会务": [["huì"], ["wù"]],
		"会晤": [["huì"], ["wù"]],
		"会演": [["huì"], ["yǎn"]],
		"会心": [["huì"], ["xīn"]],
		"会厌": [["huì"], ["yàn"]],
		"会议": [["huì"], ["yì"]],
		"会阴": [["huì"], ["yīn"]],
		"会友": [["huì"], ["yǒu"]],
		"会意": [["huì"], ["yì"]],
		"会元": [["huì"], ["yuán"]],
		"会员": [["huì"], ["yuán"]],
		"会战": [["huì"], ["zhàn"]],
		"会章": [["huì"], ["zhāng"]],
		"会账": [["huì"], ["zhàng"]],
		"会诊": [["huì"], ["zhěn"]],
		"会址": [["huì"], ["zhǐ"]],
		"会众": [["huì"], ["zhòng"]],
		"惠风": [["huì"], ["fēng"]],
		"毁坏": [["huǐ"], ["huài"]],
		"毁约": [["huǐ"], ["yuē"]],
		"昏晕": [["hūn"], ["yūn"]],
		"浑家": [["hún"], ["jiā"]],
		"浑朴": [["hún"], ["piáo"]],
		"浑似": [["hún"], ["sì"]],
		"诨号": [["hùn"], ["hào"]],
		"混饭": [["hùn"], ["fàn"]],
		"混和": [["hùn"], ["hé"]],
		"混混": [["hùn"], ["hùn"]],
		"混血": [["hùn"], ["xuè"]],
		"混帐": [["hùn"], ["zhàng"]],
		"混子": [["hùn"], ["zǐ"]],
		"豁出": [["huō"], ["chū"]],
		"豁口": [["huō"], ["kǒu"]],
		"豁达": [["huò"], ["dá"]],
		"豁朗": [["huò"], ["lǎng"]],
		"豁亮": [["huò"], ["liàng"]],
		"豁免": [["huò"], ["miǎn"]],
		"豁拳": [["huó"], ["quán"]],
		"豁子": [["huō"], ["zǐ"]],
		"豁然": [["huò"], ["rán"]],
		"豁嘴": [["huō"], ["zuǐ"]],
		"活便": [["huó"], ["biàn"]],
		"活分": [["huó"], ["fēn"]],
		"活佛": [["huó"], ["fó"]],
		"活化": [["huó"], ["huà"]],
		"活结": [["huó"], ["jié"]],
		"活络": [["huó"], ["luò"]],
		"活期": [["huó"], ["qī"]],
		"活埋": [["huó"], ["mái"]],
		"活塞": [["huó"], ["sāi"]],
		"活食": [["huó"], ["shí"]],
		"活似": [["huó"], ["sì"]],
		"活体": [["huó"], ["tǐ"]],
		"活着": [["huó"], ["zhe"]],
		"活血": [["huó"], ["xuè"]],
		"火把": [["huǒ"], ["bǎ"]],
		"火并": [["huǒ"], ["bìng"]],
		"火场": [["huǒ"], ["chǎng"]],
		"火车": [["huǒ"], ["chē"]],
		"火夫": [["huǒ"], ["fū"]],
		"火红": [["huǒ"], ["hóng"]],
		"火化": [["huǒ"], ["huà"]],
		"火笼": [["huǒ"], ["lóng"]],
		"火炮": [["huǒ"], ["pào"]],
		"火捻": [["huǒ"], ["niǎn"]],
		"火石": [["huǒ"], ["shí"]],
		"火头": [["huǒ"], ["tóu"]],
		"火种": [["huǒ"], ["zhǒng"]],
		"伙夫": [["huǒ"], ["fū"]],
		"伙食": [["huǒ"], ["shí"]],
		"伙同": [["huǒ"], ["tóng"]],
		"或体": [["huò"], ["tǐ"]],
		"或许": [["huò"], ["xǔ"]],
		"货场": [["huò"], ["chǎng"]],
		"货车": [["huò"], ["chē"]],
		"货单": [["huò"], ["dān"]],
		"货柜": [["huò"], ["guì"]],
		"货价": [["huò"], ["jià"]],
		"货郎": [["huò"], ["láng"]],
		"货票": [["huò"], ["piào"]],
		"货殖": [["huò"], ["zhí"]],
		"获得": [["huò"], ["dé"]],
		"获知": [["huò"], ["zhī"]],
		"霍地": [["huò"], ["dì"]],
		"讥嘲": [["jī"], ["cháo"]],
		"讥刺": [["jī"], ["cì"]],
		"击打": [["jī"], ["dǎ"]],
		"击发": [["jī"], ["fā"]],
		"击节": [["jī"], ["jié"]],
		"击溃": [["jī"], ["kuì"]],
		"击落": [["jī"], ["luò"]],
		"击中": [["jī"], ["zhòng"]],
		"机长": [["jī"], ["zhǎng"]],
		"机场": [["jī"], ["chǎng"]],
		"机车": [["jī"], ["chē"]],
		"机化": [["jī"], ["huà"]],
		"机会": [["jī"], ["huì"]],
		"机降": [["jī"], ["jiàng"]],
		"机能": [["jī"], ["néng"]],
		"机体": [["jī"], ["tǐ"]],
		"机要": [["jī"], ["yào"]],
		"机织": [["jī"], ["zhī"]],
		"机轴": [["jī"], ["zhóu"]],
		"肌骨": [["jī"], ["gǔ"]],
		"肌体": [["jī"], ["tǐ"]],
		"鸡冠": [["jī"], ["guān"]],
		"鸡丁": [["jī"], ["dīng"]],
		"鸡肋": [["jī"], ["lèi"]],
		"鸡笼": [["jī"], ["lóng"]],
		"鸡头": [["jī"], ["tóu"]],
		"迹地": [["jì"], ["dì"]],
		"积分": [["jī"], ["fēn"]],
		"积累": [["jī"], ["lěi"]],
		"积压": [["jī"], ["yā"]],
		"积食": [["jī"], ["shí"]],
		"积数": [["jī"], ["shù"]],
		"积雨": [["jī"], ["yǔ"]],
		"积攒": [["jī"], ["zǎn"]],
		"缉捕": [["jī"], ["bǔ"]],
		"犄角": [["jī"], ["jiǎo"]],
		"缉查": [["jī"], ["zhā"]],
		"缉获": [["jī"], ["huò"]],
		"缉拿": [["jī"], ["ná"]],
		"缉凶": [["jī"], ["xiōng"]],
		"缉私": [["jī"], ["sī"]],
		"箕斗": [["jī"], ["dòu"]],
		"稽查": [["jī"], ["zhā"]],
		"稽察": [["jī"], ["chá"]],
		"稽核": [["jī"], ["hé"]],
		"稽考": [["jī"], ["kǎo"]],
		"稽留": [["jī"], ["liú"]],
		"稽首": [["qǐ"], ["shǒu"]],
		"稽征": [["jī"], ["zhēng"]],
		"稽延": [["jī"], ["yán"]],
		"激发": [["jī"], ["fā"]],
		"激化": [["jī"], ["huà"]],
		"激将": [["jī"], ["jiàng"]],
		"激切": [["jī"], ["qiè"]],
		"吉期": [["jí"], ["qī"]],
		"级别": [["jí"], ["bié"]],
		"级差": [["jí"], ["chà"]],
		"级任": [["jí"], ["rèn"]],
		"级数": [["jí"], ["shù"]],
		"即便": [["jí"], ["biàn"]],
		"即将": [["jí"], ["jiāng"]],
		"即景": [["jí"], ["jǐng"]],
		"即令": [["jí"], ["lìng"]],
		"即期": [["jí"], ["qī"]],
		"即若": [["jí"], ["ruò"]],
		"即兴": [["jí"], ["xìng"]],
		"即行": [["jí"], ["xíng"]],
		"极大": [["jí"], ["dà"]],
		"极地": [["jí"], ["dì"]],
		"极度": [["jí"], ["dù"]],
		"极恶": [["jí"], ["è"]],
		"极好": [["jí"], ["hǎo"]],
		"极化": [["jí"], ["huà"]],
		"极乐": [["jí"], ["lè"]],
		"极量": [["jí"], ["liàng"]],
		"极其": [["jí"], ["qí"]],
		"极圈": [["jí"], ["quān"]],
		"极为": [["jí"], ["wéi"]],
		"极盛": [["jí"], ["shèng"]],
		"亟亟": [["jí"], ["jí"]],
		"急风": [["jí"], ["fēng"]],
		"急难": [["jí"], ["nàn"]],
		"急迫": [["jí"], ["pò"]],
		"急切": [["jí"], ["qiè"]],
		"急要": [["jí"], ["yào"]],
		"疾风": [["jí"], ["fēng"]],
		"急转": [["jí"], ["zhuǎn"]],
		"疾行": [["jí"], ["xíng"]],
		"棘刺": [["jí"], ["cì"]],
		"集合": [["jí"], ["hé"]],
		"集会": [["jí"], ["huì"]],
		"集结": [["jí"], ["jié"]],
		"集宁": [["jí"], ["níng"]],
		"集散": [["jí"], ["sàn"]],
		"集体": [["jí"], ["tǐ"]],
		"集约": [["jí"], ["yuē"]],
		"集中": [["jí"], ["zhōng"]],
		"辑佚": [["jí"], ["yì"]],
		"辑要": [["jí"], ["yào"]],
		"瘠薄": [["jí"], ["báo"]],
		"籍没": [["jí"], ["mò"]],
		"几案": [["jī"], ["àn"]],
		"几多": [["jǐ"], ["duō"]],
		"几儿": [["jǐ"], ["ér"]],
		"几分": [["jǐ"], ["fēn"]],
		"几个": [["jǐ"], ["gè"]],
		"几何": [["jǐ"], ["hé"]],
		"几乎": [["jī"], ["hū"]],
		"几率": [["jī"], ["lǜ"]],
		"几经": [["jǐ"], ["jīng"]],
		"几时": [["jǐ"], ["shí"]],
		"几微": [["jī"], ["wēi"]],
		"几希": [["jī"], ["xī"]],
		"几样": [["jǐ"], ["yàng"]],
		"几许": [["jǐ"], ["xǔ"]],
		"几曾": [["jǐ"], ["zēng"]],
		"几至": [["jī"], ["zhì"]],
		"己任": [["jǐ"], ["rèn"]],
		"己见": [["jǐ"], ["jiàn"]],
		"挤兑": [["jǐ"], ["duì"]],
		"挤落": [["jǐ"], ["luò"]],
		"挤压": [["jǐ"], ["yā"]],
		"挤占": [["jǐ"], ["zhàn"]],
		"脊背": [["jǐ"], ["bèi"]],
		"脊骨": [["jǐ"], ["gǔ"]],
		"脊椎": [["jǐ"], ["zhuī"]],
		"记仇": [["jì"], ["chóu"]],
		"记得": [["jì"], ["de"]],
		"记分": [["jì"], ["fēn"]],
		"记过": [["jì"], ["guò"]],
		"记号": [["jì"], ["hào"]],
		"记要": [["jì"], ["yào"]],
		"记载": [["jì"], ["zǎi"]],
		"伎俩": [["jì"], ["liǎng"]],
		"纪纲": [["jì"], ["gāng"]],
		"纪检": [["jì"], ["jiǎn"]],
		"纪录": [["jì"], ["lù"]],
		"纪律": [["jì"], ["lǜ"]],
		"纪年": [["jì"], ["nián"]],
		"纪念": [["jì"], ["niàn"]],
		"纪实": [["jì"], ["shí"]],
		"纪事": [["jì"], ["shì"]],
		"纪委": [["jì"], ["wěi"]],
		"纪行": [["jì"], ["xíng"]],
		"纪要": [["jì"], ["yào"]],
		"纪元": [["jì"], ["yuán"]],
		"妓女": [["jì"], ["nǚ"]],
		"忌惮": [["jì"], ["dàn"]],
		"忌食": [["jì"], ["shí"]],
		"技能": [["jì"], ["néng"]],
		"技术": [["jì"], ["shù"]],
		"际会": [["jì"], ["huì"]],
		"剂量": [["jì"], ["liàng"]],
		"季度": [["jì"], ["dù"]],
		"季父": [["jì"], ["fù"]],
		"季风": [["jì"], ["fēng"]],
		"季节": [["jì"], ["jié"]],
		"济公": [["jì"], ["gōng"]],
		"济济": [["jì"], ["jì"]],
		"济南": [["jǐ"], ["nán"]],
		"济贫": [["jì"], ["pín"]],
		"济世": [["jì"], ["shì"]],
		"济事": [["jì"], ["shì"]],
		"济私": [["jì"], ["sī"]],
		"济助": [["jì"], ["zhù"]],
		"继父": [["jì"], ["fù"]],
		"继任": [["jì"], ["rèn"]],
		"偈语": [["jì"], ["yǔ"]],
		"祭品": [["jì"], ["pǐn"]],
		"加车": [["jiā"], ["chē"]],
		"加盖": [["jiā"], ["gài"]],
		"加号": [["jiā"], ["hào"]],
		"加价": [["jiā"], ["jià"]],
		"加劲": [["jiā"], ["jìn"]],
		"加强": [["jiā"], ["qiáng"]],
		"加数": [["jiā"], ["shù"]],
		"加压": [["jiā"], ["yā"]],
		"加重": [["jiā"], ["zhòng"]],
		"夹袄": [["jiá"], ["ǎo"]],
		"夹板": [["jiā"], ["bǎn"]],
		"夹被": [["jiá"], ["bèi"]],
		"夹层": [["jiā"], ["céng"]],
		"夹持": [["jiā"], ["chí"]],
		"夹带": [["jiā"], ["dài"]],
		"夹道": [["jiā"], ["dào"]],
		"夹缝": [["jiā"], ["fèng"]],
		"夹攻": [["jiā"], ["gōng"]],
		"夹棍": [["jiā"], ["gùn"]],
		"夹击": [["jiā"], ["jī"]],
		"夹剪": [["jiā"], ["jiǎn"]],
		"夹角": [["jiā"], ["jiǎo"]],
		"夹紧": [["jiā"], ["jǐn"]],
		"夹具": [["jiā"], ["jù"]],
		"夹批": [["jiā"], ["pī"]],
		"夹克": [["jiá"], ["kè"]],
		"夹钳": [["jiā"], ["qián"]],
		"夹墙": [["jiā"], ["qiáng"]],
		"夹生": [["jiā"], ["shēng"]],
		"夹馅": [["jiā"], ["xiàn"]],
		"夹衣": [["jiá"], ["yī"]],
		"夹心": [["jiā"], ["xīn"]],
		"夹杂": [["jiā"], ["zá"]],
		"夹峙": [["jiā"], ["zhì"]],
		"夹子": [["jiā"], ["zi"]],
		"佳节": [["jiā"], ["jié"]],
		"夹注": [["jiā"], ["zhù"]],
		"佳句": [["jiā"], ["jù"]],
		"佳丽": [["jiā"], ["lì"]],
		"佳期": [["jiā"], ["qī"]],
		"家财": [["jiā"], ["cái"]],
		"家蚕": [["jiā"], ["cán"]],
		"家产": [["jiā"], ["chǎn"]],
		"家长": [["jiā"], ["zhǎng"]],
		"家常": [["jiā"], ["cháng"]],
		"家臣": [["jiā"], ["chén"]],
		"家仇": [["jiā"], ["chóu"]],
		"家丑": [["jiā"], ["chǒu"]],
		"家传": [["jiā"], ["chuán"]],
		"家慈": [["jiā"], ["cí"]],
		"家祠": [["jiā"], ["cí"]],
		"家道": [["jiā"], ["dào"]],
		"家当": [["jiā"], ["dàng"]],
		"家底": [["jiā"], ["dǐ"]],
		"家弟": [["jiā"], ["dì"]],
		"家电": [["jiā"], ["diàn"]],
		"家法": [["jiā"], ["fǎ"]],
		"家丁": [["jiā"], ["dīng"]],
		"家访": [["jiā"], ["fǎng"]],
		"家风": [["jiā"], ["fēng"]],
		"家父": [["jiā"], ["fù"]],
		"家鸽": [["jiā"], ["gē"]],
		"家姑": [["jiā"], ["gū"]],
		"家规": [["jiā"], ["guī"]],
		"家伙": [["jiā"], ["huo"]],
		"家鸡": [["jiā"], ["jī"]],
		"家祭": [["jiā"], ["jì"]],
		"家计": [["jiā"], ["jì"]],
		"家家": [["jiā"], ["jiā"]],
		"家教": [["jiā"], ["jiào"]],
		"家景": [["jiā"], ["jǐng"]],
		"家境": [["jiā"], ["jìng"]],
		"家居": [["jiā"], ["jū"]],
		"家具": [["jiā"], ["jù"]],
		"家俱": [["jiā"], ["jù"]],
		"家眷": [["jiā"], ["juàn"]],
		"家口": [["jiā"], ["kǒu"]],
		"家累": [["jiā"], ["lěi"]],
		"家里": [["jiā"], ["lǐ"]],
		"家门": [["jiā"], ["mén"]],
		"家母": [["jiā"], ["mǔ"]],
		"家酿": [["jiā"], ["niàng"]],
		"家奴": [["jiā"], ["nú"]],
		"家仆": [["jiā"], ["pú"]],
		"家谱": [["jiā"], ["pǔ"]],
		"家禽": [["jiā"], ["qín"]],
		"家雀": [["jiā"], ["qiǎo"]],
		"家人": [["jiā"], ["rén"]],
		"家什": [["jiā"], ["shí"]],
		"家史": [["jiā"], ["shǐ"]],
		"家世": [["jiā"], ["shì"]],
		"家事": [["jiā"], ["shì"]],
		"家室": [["jiā"], ["shì"]],
		"家塾": [["jiā"], ["shú"]],
		"家鼠": [["jiā"], ["shǔ"]],
		"家书": [["jiā"], ["shū"]],
		"家私": [["jiā"], ["sī"]],
		"家庭": [["jiā"], ["tíng"]],
		"家童": [["jiā"], ["tóng"]],
		"家兔": [["jiā"], ["tù"]],
		"家翁": [["jiā"], ["wēng"]],
		"家务": [["jiā"], ["wù"]],
		"家系": [["jiā"], ["xì"]],
		"家乡": [["jiā"], ["xiāng"]],
		"家小": [["jiā"], ["xiǎo"]],
		"家信": [["jiā"], ["xìn"]],
		"家兄": [["jiā"], ["xiōng"]],
		"家学": [["jiā"], ["xué"]],
		"家训": [["jiā"], ["xùn"]],
		"家严": [["jiā"], ["yán"]],
		"家宴": [["jiā"], ["yàn"]],
		"家畜": [["jiā"], ["chù"]],
		"家养": [["jiā"], ["yǎng"]],
		"家燕": [["jiā"], ["yàn"]],
		"家业": [["jiā"], ["yè"]],
		"家蝇": [["jiā"], ["yíng"]],
		"家用": [["jiā"], ["yòng"]],
		"家园": [["jiā"], ["yuán"]],
		"家院": [["jiā"], ["yuàn"]],
		"家贼": [["jiā"], ["zéi"]],
		"家珍": [["jiā"], ["zhēn"]],
		"家宅": [["jiā"], ["zhái"]],
		"家政": [["jiā"], ["zhèng"]],
		"家种": [["jiā"], ["zhòng"]],
		"家属": [["jiā"], ["shǔ"]],
		"家资": [["jiā"], ["zī"]],
		"家姊": [["jiā"], ["zǐ"]],
		"家族": [["jiā"], ["zú"]],
		"嘉许": [["jiā"], ["xǔ"]],
		"嘉应": [["jiā"], ["yìng"]],
		"岬角": [["jiǎ"], ["jiǎo"]],
		"颊车": [["jiá"], ["chē"]],
		"颊囊": [["jiá"], ["náng"]],
		"甲骨": [["jiǎ"], ["gǔ"]],
		"甲壳": [["jiǎ"], ["qiào"]],
		"贾祸": [["gǔ"], ["huò"]],
		"贾人": [["gǔ"], ["rén"]],
		"价格": [["jià"], ["gé"]],
		"价码": [["jià"], ["mǎ"]],
		"价目": [["jià"], ["mù"]],
		"价钱": [["jià"], ["qián"]],
		"价值": [["jià"], ["zhí"]],
		"驾车": [["jià"], ["chē"]],
		"架空": [["jià"], ["kōng"]],
		"假道": [["jiǎ"], ["dào"]],
		"假话": [["jiǎ"], ["huà"]],
		"假髻": [["jiǎ"], ["jì"]],
		"假面": [["jiǎ"], ["miàn"]],
		"假言": [["jiǎ"], ["yán"]],
		"假植": [["jiǎ"], ["zhí"]],
		"奸恶": [["jiān"], ["è"]],
		"奸夫": [["jiān"], ["fū"]],
		"奸邪": [["jiān"], ["xié"]],
		"尖头": [["jiān"], ["tóu"]],
		"尖削": [["jiān"], ["xiāo"]],
		"坚称": [["jiān"], ["chēng"]],
		"坚强": [["jiān"], ["qiáng"]],
		"坚信": [["jiān"], ["xìn"]],
		"间谍": [["jiàn"], ["dié"]],
		"间断": [["jiàn"], ["duàn"]],
		"间隔": [["jiàn"], ["gé"]],
		"间或": [["jiàn"], ["huò"]],
		"间架": [["jiān"], ["jià"]],
		"间接": [["jiàn"], ["jiē"]],
		"间距": [["jiān"], ["jù"]],
		"间量": [["jiān"], ["liàng"]],
		"间苗": [["jiàn"], ["miáo"]],
		"间色": [["jiàn"], ["sè"]],
		"间隙": [["jiàn"], ["xì"]],
		"间歇": [["jiàn"], ["xiē"]],
		"间种": [["jiàn"], ["zhòng"]],
		"间奏": [["jiàn"], ["zòu"]],
		"间作": [["jiàn"], ["zuò"]],
		"肩背": [["jiān"], ["bèi"]],
		"肩头": [["jiān"], ["tóu"]],
		"肩挑": [["jiān"], ["tiāo"]],
		"艰难": [["jiān"], ["nán"]],
		"兼并": [["jiān"], ["bìng"]],
		"兼差": [["jiān"], ["chāi"]],
		"兼任": [["jiān"], ["rèn"]],
		"监测": [["jiān"], ["cè"]],
		"监察": [["jiān"], ["chá"]],
		"监场": [["jiān"], ["chǎng"]],
		"监督": [["jiān"], ["dū"]],
		"监犯": [["jiān"], ["fàn"]],
		"监房": [["jiān"], ["fáng"]],
		"监工": [["jiān"], ["gōng"]],
		"监管": [["jiān"], ["guǎn"]],
		"监规": [["jiān"], ["guī"]],
		"监护": [["jiān"], ["hù"]],
		"监禁": [["jiān"], ["jìn"]],
		"监考": [["jiān"], ["kǎo"]],
		"监控": [["jiān"], ["kòng"]],
		"监牢": [["jiān"], ["láo"]],
		"监理": [["jiān"], ["lǐ"]],
		"监票": [["jiān"], ["piào"]],
		"监事": [["jiān"], ["shì"]],
		"监视": [["jiān"], ["shì"]],
		"监守": [["jiān"], ["shǒu"]],
		"监听": [["jiān"], ["tīng"]],
		"监押": [["jiān"], ["yā"]],
		"监狱": [["jiān"], ["yù"]],
		"监造": [["jiān"], ["zào"]],
		"监院": [["jiān"], ["yuàn"]],
		"湔洗": [["jiān"], ["xǐ"]],
		"犍牛": [["jiān"], ["niú"]],
		"监制": [["jiān"], ["zhì"]],
		"犍为": [["qián"], ["wéi"]],
		"煎熬": [["jiān"], ["áo"]],
		"拣择": [["jiǎn"], ["zé"]],
		"俭省": [["jiǎn"], ["shěng"]],
		"俭朴": [["jiǎn"], ["pǔ"]],
		"柬帖": [["jiǎn"], ["tiě"]],
		"俭约": [["jiǎn"], ["yuē"]],
		"捡拾": [["jiǎn"], ["shí"]],
		"减价": [["jiǎn"], ["jià"]],
		"减省": [["jiǎn"], ["shěng"]],
		"剪发": [["jiǎn"], ["fà"]],
		"剪枝": [["jiǎn"], ["zhī"]],
		"简称": [["jiǎn"], ["chēng"]],
		"简便": [["jiǎn"], ["biàn"]],
		"简单": [["jiǎn"], ["dān"]],
		"简化": [["jiǎn"], ["huà"]],
		"简括": [["jiǎn"], ["kuò"]],
		"简朴": [["jiǎn"], ["piáo"]],
		"简任": [["jiǎn"], ["rèn"]],
		"简省": [["jiǎn"], ["shěng"]],
		"简缩": [["jiǎn"], ["suō"]],
		"简帖": [["jiǎn"], ["tiē"]],
		"简要": [["jiǎn"], ["yào"]],
		"简约": [["jiǎn"], ["yuē"]],
		"碱地": [["jiǎn"], ["dì"]],
		"见爱": [["jiàn"], ["ài"]],
		"见报": [["jiàn"], ["bào"]],
		"见背": [["jiàn"], ["bèi"]],
		"见称": [["jiàn"], ["chēng"]],
		"见长": [["jiàn"], ["zhǎng"]],
		"见到": [["jiàn"], ["dào"]],
		"见得": [["jiàn"], ["de"]],
		"见地": [["jiàn"], ["dì"]],
		"见方": [["jiàn"], ["fāng"]],
		"见告": [["jiàn"], ["gào"]],
		"见怪": [["jiàn"], ["guài"]],
		"见好": [["jiàn"], ["hǎo"]],
		"见鬼": [["jiàn"], ["guǐ"]],
		"见机": [["jiàn"], ["jī"]],
		"见教": [["jiàn"], ["jiào"]],
		"见解": [["jiàn"], ["jiě"]],
		"见老": [["jiàn"], ["lǎo"]],
		"见礼": [["jiàn"], ["lǐ"]],
		"见谅": [["jiàn"], ["liàng"]],
		"见面": [["jiàn"], ["miàn"]],
		"见识": [["jiàn"], ["shí"]],
		"见天": [["jiàn"], ["tiān"]],
		"见外": [["jiàn"], ["wài"]],
		"见闻": [["jiàn"], ["wén"]],
		"见效": [["jiàn"], ["xiào"]],
		"见习": [["jiàn"], ["xí"]],
		"见笑": [["jiàn"], ["xiào"]],
		"见新": [["jiàn"], ["xīn"]],
		"见于": [["jiàn"], ["yú"]],
		"见证": [["jiàn"], ["zhèng"]],
		"见罪": [["jiàn"], ["zuì"]],
		"件数": [["jiàn"], ["shù"]],
		"件头": [["jiàn"], ["tóu"]],
		"建都": [["jiàn"], ["dū"]],
		"建中": [["jiàn"], ["zhōng"]],
		"建筑": [["jiàn"], ["zhù"]],
		"饯别": [["jiàn"], ["bié"]],
		"饯行": [["jiàn"], ["xíng"]],
		"剑术": [["jiàn"], ["shù"]],
		"贱价": [["jiàn"], ["jià"]],
		"贱内": [["jiàn"], ["nèi"]],
		"健将": [["jiàn"], ["jiàng"]],
		"舰炮": [["jiàn"], ["pào"]],
		"舰只": [["jiàn"], ["zhī"]],
		"溅射": [["jiàn"], ["shè"]],
		"溅落": [["jiàn"], ["luò"]],
		"溅湿": [["jiàn"], ["shī"]],
		"溅污": [["jiàn"], ["wū"]],
		"溅水": [["jiàn"], ["shuǐ"]],
		"践行": [["jiàn"], ["xíng"]],
		"腱鞘": [["jiàn"], ["qiào"]],
		"践约": [["jiàn"], ["yuē"]],
		"鉴别": [["jiàn"], ["bié"]],
		"箭垛": [["jiàn"], ["duǒ"]],
		"鉴识": [["jiàn"], ["shí"]],
		"箭头": [["jiàn"], ["tóu"]],
		"江北": [["jiāng"], ["běi"]],
		"江都": [["jiāng"], ["dū"]],
		"江南": [["jiāng"], ["nán"]],
		"江苏": [["jiāng"], ["sū"]],
		"江宁": [["jiāng"], ["níng"]],
		"将才": [["jiāng"], ["cái"]],
		"将次": [["jiāng"], ["cì"]],
		"将官": [["jiàng"], ["guān"]],
		"将将": [["qiāng"], ["qiāng"]],
		"将近": [["jiāng"], ["jìn"]],
		"将就": [["jiāng"], ["jiù"]],
		"将军": [["jiāng"], ["jūn"]],
		"将来": [["jiāng"], ["lái"]],
		"将令": [["jiàng"], ["lìng"]],
		"将领": [["jiàng"], ["lǐng"]],
		"将门": [["jiàng"], ["mén"]],
		"将士": [["jiàng"], ["shì"]],
		"将帅": [["jiàng"], ["shuài"]],
		"将息": [["jiāng"], ["xī"]],
		"将尉": [["jiàng"], ["wèi"]],
		"将校": [["jiàng"], ["xiào"]],
		"将养": [["jiāng"], ["yǎng"]],
		"将要": [["jiāng"], ["yào"]],
		"浆果": [["jiāng"], ["guǒ"]],
		"浆糊": [["jiāng"], ["hú"]],
		"浆洗": [["jiāng"], ["xǐ"]],
		"浆汁": [["jiāng"], ["zhī"]],
		"浆液": [["jiāng"], ["yè"]],
		"僵化": [["jiāng"], ["huà"]],
		"疆场": [["jiāng"], ["chǎng"]],
		"疆界": [["jiāng"], ["jiè"]],
		"疆土": [["jiāng"], ["tǔ"]],
		"疆域": [["jiāng"], ["yù"]],
		"讲好": [["jiǎng"], ["hǎo"]],
		"讲价": [["jiǎng"], ["jià"]],
		"讲和": [["jiǎng"], ["hé"]],
		"讲解": [["jiǎng"], ["jiě"]],
		"讲台": [["jiǎng"], ["tái"]],
		"奖券": [["jiǎng"], ["quàn"]],
		"奖掖": [["jiǎng"], ["yè"]],
		"桨叶": [["jiǎng"], ["yè"]],
		"降表": [["jiàng"], ["biǎo"]],
		"降等": [["jiàng"], ["děng"]],
		"降低": [["jiàng"], ["dī"]],
		"降调": [["jiàng"], ["diào"]],
		"降伏": [["xiáng"], ["fú"]],
		"降格": [["jiàng"], ["gé"]],
		"降服": [["jiàng"], ["fú"]],
		"降价": [["jiàng"], ["jià"]],
		"降火": [["jiàng"], ["huǒ"]],
		"降级": [["jiàng"], ["jí"]],
		"降临": [["jiàng"], ["lín"]],
		"降解": [["jiàng"], ["jiě"]],
		"降落": [["jiàng"], ["luò"]],
		"降旗": [["jiàng"], ["qí"]],
		"降气": [["jiàng"], ["qì"]],
		"降生": [["jiàng"], ["shēng"]],
		"降世": [["jiàng"], ["shì"]],
		"降顺": [["jiàng"], ["shùn"]],
		"降水": [["jiàng"], ["shuǐ"]],
		"降温": [["jiàng"], ["wēn"]],
		"降下": [["jiàng"], ["xià"]],
		"降香": [["jiàng"], ["xiāng"]],
		"降雪": [["jiàng"], ["xuě"]],
		"降压": [["jiàng"], ["yā"]],
		"降雨": [["jiàng"], ["yǔ"]],
		"降职": [["jiàng"], ["zhí"]],
		"犟劲": [["jiàng"], ["jìn"]],
		"糨糊": [["jiàng"], ["hù"]],
		"交臂": [["jiāo"], ["bì"]],
		"交并": [["jiāo"], ["bìng"]],
		"交叉": [["jiāo"], ["chā"]],
		"交差": [["jiāo"], ["chāi"]],
		"交底": [["jiāo"], ["dǐ"]],
		"交待": [["jiāo"], ["dài"]],
		"交恶": [["jiāo"], ["wù"]],
		"交给": [["jiāo"], ["gěi"]],
		"交好": [["jiāo"], ["hǎo"]],
		"交合": [["jiāo"], ["hé"]],
		"交还": [["jiāo"], ["huán"]],
		"交会": [["jiāo"], ["huì"]],
		"交角": [["jiāo"], ["jiǎo"]],
		"交迫": [["jiāo"], ["pò"]],
		"交卷": [["jiāo"], ["juàn"]],
		"交结": [["jiāo"], ["jié"]],
		"交尾": [["jiāo"], ["wěi"]],
		"交相": [["jiāo"], ["xiāng"]],
		"交椅": [["jiāo"], ["yǐ"]],
		"交织": [["jiāo"], ["zhī"]],
		"郊县": [["jiāo"], ["xiàn"]],
		"郊区": [["jiāo"], ["qū"]],
		"姣好": [["jiāo"], ["hǎo"]],
		"姣丽": [["jiāo"], ["lì"]],
		"姣美": [["jiāo"], ["měi"]],
		"娇妻": [["jiāo"], ["qī"]],
		"娇好": [["jiāo"], ["hǎo"]],
		"娇娆": [["jiāo"], ["ráo"]],
		"娇纵": [["jiāo"], ["zòng"]],
		"浇薄": [["jiāo"], ["bó"]],
		"浇洒": [["jiāo"], ["sǎ"]],
		"骄横": [["jiāo"], ["hèng"]],
		"浇头": [["jiāo"], ["tou"]],
		"骄矜": [["jiāo"], ["jīn"]],
		"骄纵": [["jiāo"], ["zòng"]],
		"胶合": [["jiāo"], ["hé"]],
		"胶结": [["jiāo"], ["jié"]],
		"胶卷": [["jiāo"], ["juǎn"]],
		"胶囊": [["jiāo"], ["náng"]],
		"胶泥": [["jiāo"], ["ní"]],
		"胶片": [["jiāo"], ["piàn"]],
		"胶体": [["jiāo"], ["tǐ"]],
		"胶着": [["jiāo"], ["zhe"]],
		"焦干": [["jiāo"], ["gān"]],
		"焦糊": [["jiāo"], ["hú"]],
		"焦化": [["jiāo"], ["huà"]],
		"焦思": [["jiāo"], ["sī"]],
		"礁石": [["jiāo"], ["shí"]],
		"角尺": [["jiǎo"], ["chǐ"]],
		"角斗": [["jué"], ["dòu"]],
		"角度": [["jiǎo"], ["dù"]],
		"角钢": [["jiǎo"], ["gāng"]],
		"角化": [["jiǎo"], ["huà"]],
		"角力": [["jué"], ["lì"]],
		"角落": [["jiǎo"], ["luò"]],
		"角楼": [["jiǎo"], ["lóu"]],
		"角膜": [["jiǎo"], ["mó"]],
		"角门": [["jiǎo"], ["mén"]],
		"角票": [["jiǎo"], ["piào"]],
		"角球": [["jiǎo"], ["qiú"]],
		"角色": [["jué"], ["sè"]],
		"角铁": [["jiǎo"], ["tiě"]],
		"角质": [["jiǎo"], ["zhì"]],
		"角逐": [["jué"], ["zhú"]],
		"角子": [["jiǎo"], ["zǐ"]],
		"绞车": [["jiǎo"], ["chē"]],
		"侥幸": [["jiǎo"], ["xìng"]],
		"搅拌": [["jiǎo"], ["bàn"]],
		"搅和": [["jiǎo"], ["huo"]],
		"搅混": [["jiǎo"], ["gǔn"]],
		"湫隘": [["jiǎo"], ["ài"]],
		"剿除": [["jiǎo"], ["chú"]],
		"剿匪": [["jiǎo"], ["fěi"]],
		"剿灭": [["jiǎo"], ["miè"]],
		"剿袭": [["chāo"], ["xí"]],
		"剿杀": [["jiǎo"], ["shā"]],
		"徼幸": [["jiǎo"], ["xìng"]],
		"缴付": [["jiǎo"], ["fù"]],
		"缴获": [["jiǎo"], ["huò"]],
		"缴纳": [["jiǎo"], ["nà"]],
		"缴枪": [["jiǎo"], ["qiāng"]],
		"缴销": [["jiǎo"], ["xiāo"]],
		"缴税": [["jiǎo"], ["shuì"]],
		"缴械": [["jiǎo"], ["xiè"]],
		"叫好": [["jiào"], ["hǎo"]],
		"叫化": [["jiào"], ["huà"]],
		"叫号": [["jiào"], ["hào"]],
		"叫价": [["jiào"], ["jià"]],
		"叫劲": [["jiào"], ["jìn"]],
		"叫嚷": [["jiào"], ["rǎng"]],
		"轿车": [["jiào"], ["chē"]],
		"轿夫": [["jiào"], ["fū"]],
		"较场": [["jiào"], ["chǎng"]],
		"较差": [["jiào"], ["chà"]],
		"较大": [["jiào"], ["dà"]],
		"较好": [["jiào"], ["hǎo"]],
		"较劲": [["jiào"], ["jìn"]],
		"较量": [["jiào"], ["liàng"]],
		"较为": [["jiào"], ["wéi"]],
		"较著": [["jiào"], ["zhù"]],
		"教法": [["jiào"], ["fǎ"]],
		"教理": [["jiào"], ["lǐ"]],
		"教民": [["jiào"], ["mín"]],
		"教旨": [["jiào"], ["zhǐ"]],
		"窖藏": [["jiào"], ["cáng"]],
		"阶地": [["jiē"], ["dì"]],
		"揭穿": [["jiē"], ["chuān"]],
		"揭榜": [["jiē"], ["bǎng"]],
		"揭底": [["jiē"], ["dǐ"]],
		"揭短": [["jiē"], ["duǎn"]],
		"揭发": [["jiē"], ["fā"]],
		"揭锅": [["jiē"], ["guō"]],
		"揭揭": [["jiē"], ["jiē"]],
		"揭开": [["jiē"], ["kāi"]],
		"揭露": [["jiē"], ["lù"]],
		"揭幕": [["jiē"], ["mù"]],
		"揭批": [["jiē"], ["pī"]],
		"揭破": [["jiē"], ["pò"]],
		"揭帖": [["jiē"], ["tiě"]],
		"揭示": [["jiē"], ["shì"]],
		"揭晓": [["jiē"], ["xiǎo"]],
		"揭阳": [["jiē"], ["yáng"]],
		"揭橥": [["jiē"], ["zhū"]],
		"街坊": [["jiē"], ["fāng"]],
		"街区": [["jiē"], ["qū"]],
		"街景": [["jiē"], ["jǐng"]],
		"街上": [["jiē"], ["shàng"]],
		"街头": [["jiē"], ["tóu"]],
		"街巷": [["jiē"], ["xiàng"]],
		"节哀": [["jié"], ["āi"]],
		"节本": [["jié"], ["běn"]],
		"节操": [["jié"], ["cāo"]],
		"节度": [["jié"], ["dù"]],
		"节妇": [["jié"], ["fù"]],
		"节假": [["jié"], ["jiǎ"]],
		"节间": [["jié"], ["jiān"]],
		"节俭": [["jié"], ["jiǎn"]],
		"节减": [["jié"], ["jiǎn"]],
		"节节": [["jié"], ["jié"]],
		"节理": [["jié"], ["lǐ"]],
		"节礼": [["jié"], ["lǐ"]],
		"节流": [["jié"], ["liú"]],
		"节烈": [["jié"], ["liè"]],
		"节令": [["jié"], ["lìng"]],
		"节录": [["jié"], ["lù"]],
		"节律": [["jié"], ["lǜ"]],
		"节略": [["jié"], ["lüè"]],
		"节能": [["jié"], ["néng"]],
		"节目": [["jié"], ["mù"]],
		"节拍": [["jié"], ["pāi"]],
		"节片": [["jié"], ["piàn"]],
		"节庆": [["jié"], ["qìng"]],
		"节气": [["jié"], ["qì"]],
		"节日": [["jié"], ["rì"]],
		"节省": [["jié"], ["shěng"]],
		"节食": [["jié"], ["shí"]],
		"节水": [["jié"], ["shuǐ"]],
		"节下": [["jié"], ["xià"]],
		"节选": [["jié"], ["xuǎn"]],
		"节用": [["jié"], ["yòng"]],
		"节油": [["jié"], ["yóu"]],
		"节余": [["jié"], ["yú"]],
		"节育": [["jié"], ["yù"]],
		"节欲": [["jié"], ["yù"]],
		"节约": [["jié"], ["yuē"]],
		"节支": [["jié"], ["zhī"]],
		"节制": [["jié"], ["zhì"]],
		"节子": [["jiē"], ["zǐ"]],
		"节奏": [["jié"], ["zòu"]],
		"劫难": [["jié"], ["nàn"]],
		"劫数": [["jié"], ["shù"]],
		"诘难": [["jié"], ["nán"]],
		"诘问": [["jié"], ["wèn"]],
		"诘责": [["jié"], ["zé"]],
		"拮抗": [["jié"], ["kàng"]],
		"拮据": [["jié"], ["jū"]],
		"洁净": [["jié"], ["jìng"]],
		"结案": [["jié"], ["àn"]],
		"结巴": [["jiē"], ["bā"]],
		"结疤": [["jié"], ["bā"]],
		"结拜": [["jié"], ["bài"]],
		"结伴": [["jié"], ["bàn"]],
		"结冰": [["jié"], ["bīng"]],
		"结彩": [["jié"], ["cǎi"]],
		"结肠": [["jié"], ["cháng"]],
		"结仇": [["jié"], ["chóu"]],
		"结成": [["jié"], ["chéng"]],
		"结存": [["jié"], ["cún"]],
		"结点": [["jié"], ["diǎn"]],
		"结队": [["jié"], ["duì"]],
		"结发": [["jié"], ["fà"]],
		"结构": [["jié"], ["gòu"]],
		"结合": [["jié"], ["hé"]],
		"结果": [["jié"], ["guǒ"]],
		"结核": [["jié"], ["hé"]],
		"结喉": [["jié"], ["hóu"]],
		"结婚": [["jié"], ["hūn"]],
		"结汇": [["jié"], ["huì"]],
		"结伙": [["jié"], ["huǒ"]],
		"结集": [["jié"], ["jí"]],
		"结痂": [["jié"], ["jiā"]],
		"结交": [["jié"], ["jiāo"]],
		"结节": [["jié"], ["jié"]],
		"结晶": [["jié"], ["jīng"]],
		"结局": [["jié"], ["jú"]],
		"结庐": [["jié"], ["lú"]],
		"结论": [["jié"], ["lùn"]],
		"结盟": [["jié"], ["méng"]],
		"结膜": [["jié"], ["mó"]],
		"结幕": [["jié"], ["mù"]],
		"结清": [["jié"], ["qīng"]],
		"结亲": [["jié"], ["qīn"]],
		"结舌": [["jié"], ["shé"]],
		"结石": [["jié"], ["shí"]],
		"结社": [["jié"], ["shè"]],
		"结识": [["jié"], ["shí"]],
		"结实": [["jiē"], ["shi"]],
		"结束": [["jié"], ["shù"]],
		"结算": [["jié"], ["suàn"]],
		"结网": [["jié"], ["wǎng"]],
		"结尾": [["jié"], ["wěi"]],
		"结义": [["jié"], ["yì"]],
		"结业": [["jié"], ["yè"]],
		"结余": [["jié"], ["yú"]],
		"结语": [["jié"], ["yǔ"]],
		"结缘": [["jié"], ["yuán"]],
		"结怨": [["jié"], ["yuàn"]],
		"结扎": [["jié"], ["zā"]],
		"结帐": [["jié"], ["zhàng"]],
		"结账": [["jié"], ["zhàng"]],
		"结子": [["jié"], ["zǐ"]],
		"颉颃": [["xié"], ["háng"]],
		"碣石": [["jié"], ["shí"]],
		"竭尽": [["jié"], ["jìn"]],
		"羯羊": [["jié"], ["yáng"]],
		"姐夫": [["jiě"], ["fū"]],
		"解表": [["jiě"], ["biǎo"]],
		"解差": [["jiè"], ["chāi"]],
		"解馋": [["jiě"], ["chán"]],
		"解嘲": [["jiě"], ["cháo"]],
		"解愁": [["jiě"], ["chóu"]],
		"解除": [["jiě"], ["chú"]],
		"解答": [["jiě"], ["dá"]],
		"解调": [["jiě"], ["tiáo"]],
		"解冻": [["jiě"], ["dòng"]],
		"解毒": [["jiě"], ["dú"]],
		"解饿": [["jiě"], ["è"]],
		"解乏": [["jiě"], ["fá"]],
		"解法": [["xiè"], ["fǎ"]],
		"解放": [["jiě"], ["fàng"]],
		"解构": [["jiě"], ["gòu"]],
		"解雇": [["jiě"], ["gù"]],
		"解恨": [["jiě"], ["hèn"]],
		"解惑": [["jiě"], ["huò"]],
		"解甲": [["jiě"], ["jiǎ"]],
		"解解": [["jiě"], ["jiě"]],
		"解禁": [["jiě"], ["jìn"]],
		"解酒": [["jiě"], ["jiǔ"]],
		"解救": [["jiě"], ["jiù"]],
		"解开": [["jiě"], ["kāi"]],
		"解决": [["jiě"], ["jué"]],
		"解渴": [["jiě"], ["kě"]],
		"解款": [["jiè"], ["kuǎn"]],
		"解困": [["jiě"], ["kùn"]],
		"解缆": [["jiě"], ["lǎn"]],
		"解离": [["jiě"], ["lí"]],
		"解码": [["jiě"], ["mǎ"]],
		"解闷": [["jiě"], ["mèn"]],
		"解梦": [["jiě"], ["mèng"]],
		"解谜": [["jiě"], ["mí"]],
		"解密": [["jiě"], ["mì"]],
		"解难": [["jiě"], ["nán"]],
		"解囊": [["jiě"], ["náng"]],
		"解聘": [["jiě"], ["pìn"]],
		"解剖": [["jiě"], ["pōu"]],
		"解气": [["jiě"], ["qì"]],
		"解热": [["jiě"], ["rè"]],
		"解劝": [["jiě"], ["quàn"]],
		"解任": [["jiě"], ["rèn"]],
		"解散": [["jiě"], ["sàn"]],
		"解事": [["jiě"], ["shì"]],
		"解手": [["jiě"], ["shǒu"]],
		"解释": [["jiě"], ["shì"]],
		"解暑": [["jiě"], ["shǔ"]],
		"解数": [["xiè"], ["shù"]],
		"解说": [["jiě"], ["shuō"]],
		"解送": [["jiè"], ["sòng"]],
		"解题": [["jiě"], ["tí"]],
		"解脱": [["jiě"], ["tuō"]],
		"解体": [["jiě"], ["tǐ"]],
		"解危": [["jiě"], ["wēi"]],
		"解悟": [["jiě"], ["wù"]],
		"解围": [["jiě"], ["wéi"]],
		"解吸": [["jiě"], ["xī"]],
		"解析": [["jiě"], ["xī"]],
		"解下": [["jiě"], ["xià"]],
		"解严": [["jiě"], ["yán"]],
		"解药": [["jiě"], ["yào"]],
		"解颐": [["jiě"], ["yí"]],
		"解疑": [["jiě"], ["yí"]],
		"解忧": [["jiě"], ["yōu"]],
		"解郁": [["jiě"], ["yù"]],
		"解约": [["jiě"], ["yuē"]],
		"解元": [["jiè"], ["yuán"]],
		"解运": [["jiě"], ["yùn"]],
		"解职": [["jiě"], ["zhí"]],
		"戒尺": [["jiè"], ["chǐ"]],
		"戒条": [["jiè"], ["tiáo"]],
		"芥蓝": [["gài"], ["lán"]],
		"芥蒂": [["jiè"], ["dì"]],
		"芥末": [["jiè"], ["mò"]],
		"届期": [["jiè"], ["qī"]],
		"芥子": [["jiè"], ["zǐ"]],
		"界尺": [["jiè"], ["chǐ"]],
		"界石": [["jiè"], ["shí"]],
		"界约": [["jiè"], ["yuē"]],
		"界说": [["jiè"], ["shuō"]],
		"借调": [["jiè"], ["diào"]],
		"借读": [["jiè"], ["dú"]],
		"借据": [["jiè"], ["jù"]],
		"借宿": [["jiè"], ["sù"]],
		"借条": [["jiè"], ["tiáo"]],
		"借重": [["jiè"], ["zhòng"]],
		"借助": [["jiè"], ["zhù"]],
		"藉口": [["jiè"], ["kǒu"]],
		"藉以": [["jiè"], ["yǐ"]],
		"今番": [["jīn"], ["fān"]],
		"今朝": [["jīn"], ["zhāo"]],
		"斤斗": [["jīn"], ["dǒu"]],
		"金榜": [["jīn"], ["bǎng"]],
		"金弹": [["jīn"], ["dàn"]],
		"金冠": [["jīn"], ["guān"]],
		"金龟": [["jīn"], ["guī"]],
		"金华": [["jīn"], ["huá"]],
		"金沙": [["jīn"], ["shā"]],
		"金石": [["jīn"], ["shí"]],
		"金蛇": [["jīn"], ["shé"]],
		"金汤": [["jīn"], ["tāng"]],
		"金条": [["jīn"], ["tiáo"]],
		"金叶": [["jīn"], ["yè"]],
		"金相": [["jīn"], ["xiàng"]],
		"金正": [["jīn"], ["zhèng"]],
		"金枝": [["jīn"], ["zhī"]],
		"金属": [["jīn"], ["shǔ"]],
		"津要": [["jīn"], ["yào"]],
		"矜持": [["jīn"], ["chí"]],
		"矜贵": [["jīn"], ["guì"]],
		"矜夸": [["jīn"], ["kuā"]],
		"筋斗": [["jīn"], ["dǒu"]],
		"筋骨": [["jīn"], ["gǔ"]],
		"筋节": [["jīn"], ["jié"]],
		"筋络": [["jīn"], ["luò"]],
		"筋脉": [["jīn"], ["mài"]],
		"仅见": [["jǐn"], ["jiàn"]],
		"仅仅": [["jǐn"], ["jǐn"]],
		"紧迫": [["jǐn"], ["pò"]],
		"紧俏": [["jǐn"], ["qiào"]],
		"紧缩": [["jǐn"], ["suō"]],
		"紧要": [["jǐn"], ["yào"]],
		"紧着": [["jǐn"], ["zhe"]],
		"谨上": [["jǐn"], ["shàng"]],
		"锦纶": [["jǐn"], ["lún"]],
		"锦囊": [["jǐn"], ["náng"]],
		"锦屏": [["jǐn"], ["píng"]],
		"尽瘁": [["jìn"], ["cuì"]],
		"尽欢": [["jìn"], ["huān"]],
		"尽管": [["jǐn"], ["guǎn"]],
		"尽快": [["jǐn"], ["kuài"]],
		"尽力": [["jìn"], ["lì"]],
		"尽量": [["jǐn"], ["liàng"]],
		"尽情": [["jìn"], ["qíng"]],
		"尽让": [["jìn"], ["ràng"]],
		"尽然": [["jìn"], ["rán"]],
		"尽是": [["jìn"], ["shì"]],
		"尽数": [["jìn"], ["shù"]],
		"尽先": [["jǐn"], ["xiān"]],
		"尽头": [["jìn"], ["tóu"]],
		"尽孝": [["jìn"], ["xiào"]],
		"尽心": [["jìn"], ["xīn"]],
		"尽兴": [["jìn"], ["xìng"]],
		"尽性": [["jìn"], ["xìng"]],
		"尽意": [["jìn"], ["yì"]],
		"尽职": [["jìn"], ["zhí"]],
		"尽责": [["jìn"], ["zé"]],
		"尽致": [["jìn"], ["zhì"]],
		"尽忠": [["jìn"], ["zhōng"]],
		"尽自": [["jǐn"], ["zì"]],
		"劲草": [["jìng"], ["cǎo"]],
		"劲吹": [["jìng"], ["chuī"]],
		"劲道": [["jìn"], ["dào"]],
		"劲敌": [["jìng"], ["dí"]],
		"劲风": [["jìng"], ["fēng"]],
		"劲健": [["jìn"], ["jiàn"]],
		"劲力": [["jìn"], ["lì"]],
		"劲旅": [["jìng"], ["lǚ"]],
		"劲射": [["jìng"], ["shè"]],
		"劲头": [["jìn"], ["tóu"]],
		"劲直": [["jìng"], ["zhí"]],
		"近便": [["jìn"], ["biàn"]],
		"近处": [["jìn"], ["chù"]],
		"近旁": [["jìn"], ["páng"]],
		"近景": [["jìn"], ["jǐng"]],
		"近场": [["jìn"], ["chǎng"]],
		"近期": [["jìn"], ["qī"]],
		"进场": [["jìn"], ["chǎng"]],
		"近亲": [["jìn"], ["qīn"]],
		"近似": [["jìn"], ["sì"]],
		"进尺": [["jìn"], ["chǐ"]],
		"进度": [["jìn"], ["dù"]],
		"进发": [["jìn"], ["fā"]],
		"进给": [["jìn"], ["jǐ"]],
		"进港": [["jìn"], ["gǎng"]],
		"进化": [["jìn"], ["huà"]],
		"进行": [["jìn"], ["xíng"]],
		"进见": [["jìn"], ["jiàn"]],
		"进剿": [["jìn"], ["jiǎo"]],
		"进食": [["jìn"], ["shí"]],
		"晋见": [["jìn"], ["jiàn"]],
		"浸泡": [["jìn"], ["pào"]],
		"浸洗": [["jìn"], ["xǐ"]],
		"浸没": [["jìn"], ["mò"]],
		"浸种": [["jìn"], ["zhǒng"]],
		"禁闭": [["jìn"], ["bì"]],
		"禁地": [["jìn"], ["dì"]],
		"禁锢": [["jìn"], ["gù"]],
		"禁果": [["jìn"], ["guǒ"]],
		"禁毁": [["jìn"], ["huǐ"]],
		"禁火": [["jìn"], ["huǒ"]],
		"禁忌": [["jìn"], ["jì"]],
		"禁酒": [["jìn"], ["jiǔ"]],
		"禁军": [["jìn"], ["jūn"]],
		"禁绝": [["jìn"], ["jué"]],
		"禁例": [["jìn"], ["lì"]],
		"禁猎": [["jìn"], ["liè"]],
		"禁令": [["jìn"], ["lìng"]],
		"禁律": [["jìn"], ["lǜ"]],
		"禁脔": [["jìn"], ["jī"]],
		"禁区": [["jìn"], ["qū"]],
		"禁食": [["jìn"], ["shí"]],
		"禁受": [["jīn"], ["shòu"]],
		"禁书": [["jìn"], ["shū"]],
		"禁条": [["jìn"], ["tiáo"]],
		"禁卫": [["jìn"], ["wèi"]],
		"禁物": [["jìn"], ["wù"]],
		"禁烟": [["jìn"], ["yān"]],
		"禁用": [["jīn"], ["yòng"]],
		"禁欲": [["jìn"], ["yù"]],
		"禁渔": [["jìn"], ["yú"]],
		"禁运": [["jìn"], ["yùn"]],
		"禁止": [["jìn"], ["zhǐ"]],
		"禁足": [["jìn"], ["zú"]],
		"禁制": [["jìn"], ["zhì"]],
		"禁子": [["jìn"], ["zǐ"]],
		"禁阻": [["jìn"], ["zǔ"]],
		"觐见": [["jìn"], ["jiàn"]],
		"京都": [["jīng"], ["dū"]],
		"京华": [["jīng"], ["huá"]],
		"京戏": [["jīng"], ["xì"]],
		"经传": [["jīng"], ["zhuàn"]],
		"经度": [["jīng"], ["dù"]],
		"经过": [["jīng"], ["guò"]],
		"经纪": [["jīng"], ["jì"]],
		"经卷": [["jīng"], ["juàn"]],
		"经济": [["jīng"], ["jì"]],
		"经络": [["jīng"], ["luò"]],
		"经纶": [["jīng"], ["lún"]],
		"经脉": [["jīng"], ["mài"]],
		"经期": [["jīng"], ["qī"]],
		"经血": [["jīng"], ["xuè"]],
		"茎干": [["jīng"], ["gàn"]],
		"荆芥": [["jīng"], ["jiè"]],
		"荆条": [["jīng"], ["tiáo"]],
		"惊倒": [["jīng"], ["dǎo"]],
		"惊风": [["jīng"], ["fēng"]],
		"惊觉": [["jīng"], ["jué"]],
		"惊跳": [["jīng"], ["tiào"]],
		"晶体": [["jīng"], ["tǐ"]],
		"腈纶": [["jīng"], ["lún"]],
		"精辟": [["jīng"], ["pì"]],
		"精当": [["jīng"], ["dàng"]],
		"精采": [["jīng"], ["cǎi"]],
		"精读": [["jīng"], ["dú"]],
		"精度": [["jīng"], ["dù"]],
		"精干": [["jīng"], ["gàn"]],
		"精华": [["jīng"], ["huá"]],
		"精馏": [["jīng"], ["liú"]],
		"精血": [["jīng"], ["xuè"]],
		"精要": [["jīng"], ["yào"]],
		"井场": [["jǐng"], ["chǎng"]],
		"井底": [["jǐng"], ["dǐ"]],
		"井台": [["jǐng"], ["tái"]],
		"井喷": [["jǐng"], ["pēn"]],
		"景观": [["jǐng"], ["guān"]],
		"景点": [["jǐng"], ["diǎn"]],
		"景教": [["jǐng"], ["jiào"]],
		"景况": [["jǐng"], ["kuàng"]],
		"景慕": [["jǐng"], ["mù"]],
		"景片": [["jǐng"], ["piàn"]],
		"景气": [["jǐng"], ["qì"]],
		"景区": [["jǐng"], ["qū"]],
		"景色": [["jǐng"], ["sè"]],
		"景深": [["jǐng"], ["shēn"]],
		"景天": [["jǐng"], ["tiān"]],
		"景物": [["jǐng"], ["wù"]],
		"景象": [["jǐng"], ["xiàng"]],
		"景行": [["jǐng"], ["xíng"]],
		"景仰": [["jǐng"], ["yǎng"]],
		"景致": [["jǐng"], ["zhì"]],
		"景遇": [["jǐng"], ["yù"]],
		"警长": [["jǐng"], ["cháng"]],
		"警车": [["jǐng"], ["chē"]],
		"警服": [["jǐng"], ["fú"]],
		"警棍": [["jǐng"], ["gùn"]],
		"警号": [["jǐng"], ["hào"]],
		"警句": [["jǐng"], ["jù"]],
		"警觉": [["jǐng"], ["jué"]],
		"警语": [["jǐng"], ["yǔ"]],
		"警员": [["jǐng"], ["yuán"]],
		"警种": [["jǐng"], ["zhǒng"]],
		"净得": [["jìng"], ["de"]],
		"净高": [["jìng"], ["gāo"]],
		"净化": [["jìng"], ["huà"]],
		"净价": [["jìng"], ["jià"]],
		"净口": [["jìng"], ["kǒu"]],
		"净尽": [["jìng"], ["jìn"]],
		"净空": [["jìng"], ["kōng"]],
		"净利": [["jìng"], ["lì"]],
		"净身": [["jìng"], ["shēn"]],
		"净室": [["jìng"], ["shì"]],
		"净手": [["jìng"], ["shǒu"]],
		"净水": [["jìng"], ["shuǐ"]],
		"净桶": [["jìng"], ["tǒng"]],
		"净土": [["jìng"], ["tǔ"]],
		"净心": [["jìng"], ["xīn"]],
		"净余": [["jìng"], ["yú"]],
		"净重": [["jìng"], ["zhòng"]],
		"净赚": [["jìng"], ["zhuàn"]],
		"径行": [["jìng"], ["xíng"]],
		"胫骨": [["jìng"], ["gǔ"]],
		"敬仰": [["jìng"], ["yǎng"]],
		"敬服": [["jìng"], ["fú"]],
		"敬语": [["jìng"], ["yǔ"]],
		"靓丽": [["liàng"], ["lì"]],
		"敬重": [["jìng"], ["zhòng"]],
		"靓女": [["liàng"], ["nǚ"]],
		"靓妆": [["jìng"], ["zhuāng"]],
		"靓仔": [["liàng"], ["zǎi"]],
		"境地": [["jìng"], ["dì"]],
		"静场": [["jìng"], ["chǎng"]],
		"静脉": [["jìng"], ["mài"]],
		"静乐": [["jìng"], ["lè"]],
		"静观": [["jìng"], ["guān"]],
		"静宁": [["jìng"], ["níng"]],
		"静思": [["jìng"], ["sī"]],
		"镜台": [["jìng"], ["tái"]],
		"镜头": [["jìng"], ["tóu"]],
		"镜片": [["jìng"], ["piàn"]],
		"窘迫": [["jiǒng"], ["pò"]],
		"纠葛": [["jiū"], ["gé"]],
		"窘相": [["jiǒng"], ["xiàng"]],
		"纠合": [["jiū"], ["hé"]],
		"纠结": [["jiū"], ["jié"]],
		"纠正": [["jiū"], ["zhèng"]],
		"究诘": [["jiū"], ["jié"]],
		"鸠尾": [["jiū"], ["wěi"]],
		"揪斗": [["jiū"], ["dòu"]],
		"九重": [["jiǔ"], ["zhòng"]],
		"久别": [["jiǔ"], ["bié"]],
		"久长": [["jiǔ"], ["cháng"]],
		"久仰": [["jiǔ"], ["yǎng"]],
		"久远": [["jiǔ"], ["yuǎn"]],
		"酒吧": [["jiǔ"], ["bā"]],
		"酒场": [["jiǔ"], ["chǎng"]],
		"酒坊": [["jiǔ"], ["fāng"]],
		"酒刺": [["jiǔ"], ["cì"]],
		"酒会": [["jiǔ"], ["huì"]],
		"酒家": [["jiǔ"], ["jiā"]],
		"酒浆": [["jiǔ"], ["jiāng"]],
		"酒量": [["jiǔ"], ["liàng"]],
		"酒劲": [["jiǔ"], ["jìn"]],
		"酒令": [["jiǔ"], ["lìng"]],
		"酒铺": [["jiǔ"], ["pù"]],
		"酒曲": [["jiǔ"], ["qū"]],
		"酒食": [["jiǔ"], ["shí"]],
		"酒涡": [["jiǔ"], ["wō"]],
		"酒兴": [["jiǔ"], ["xìng"]],
		"旧地": [["jiù"], ["dì"]],
		"旧都": [["jiù"], ["dū"]],
		"旧恶": [["jiù"], ["è"]],
		"旧观": [["jiù"], ["guān"]],
		"旧好": [["jiù"], ["hǎo"]],
		"旧家": [["jiù"], ["jiā"]],
		"旧教": [["jiù"], ["jiào"]],
		"旧识": [["jiù"], ["shí"]],
		"旧体": [["jiù"], ["tǐ"]],
		"旧雨": [["jiù"], ["yǔ"]],
		"旧约": [["jiù"], ["yuē"]],
		"柩车": [["jiù"], ["chē"]],
		"旧知": [["jiù"], ["zhī"]],
		"就便": [["jiù"], ["biàn"]],
		"就地": [["jiù"], ["dì"]],
		"就合": [["jiù"], ["hé"]],
		"就教": [["jiù"], ["jiào"]],
		"就任": [["jiù"], ["rèn"]],
		"就食": [["jiù"], ["shí"]],
		"就要": [["jiù"], ["yào"]],
		"就正": [["jiù"], ["zhèng"]],
		"舅父": [["jiù"], ["fù"]],
		"居家": [["jū"], ["jiā"]],
		"居处": [["jū"], ["chǔ"]],
		"居间": [["jū"], ["jiān"]],
		"居丧": [["jū"], ["sāng"]],
		"居奇": [["jū"], ["qí"]],
		"居中": [["jū"], ["zhōng"]],
		"拘捕": [["jū"], ["bǔ"]],
		"拘传": [["jū"], ["chuán"]],
		"拘管": [["jū"], ["guǎn"]],
		"拘谨": [["jū"], ["jǐn"]],
		"拘礼": [["jū"], ["lǐ"]],
		"拘禁": [["jū"], ["jìn"]],
		"拘留": [["jū"], ["liú"]],
		"拘挛": [["jū"], ["luán"]],
		"拘拿": [["jū"], ["ná"]],
		"拘泥": [["jū"], ["nì"]],
		"拘票": [["jū"], ["piào"]],
		"拘束": [["jū"], ["shù"]],
		"拘押": [["jū"], ["yā"]],
		"拘牵": [["jū"], ["qiān"]],
		"拘役": [["jū"], ["yì"]],
		"拘执": [["jū"], ["zhí"]],
		"局度": [["jú"], ["dù"]],
		"局量": [["jú"], ["liàng"]],
		"桔槔": [["jié"], ["gāo"]],
		"桔梗": [["jié"], ["gěng"]],
		"橘红": [["jú"], ["hóng"]],
		"橘络": [["jú"], ["luò"]],
		"咀嚼": [["jǔ"], ["jué"]],
		"沮丧": [["jǔ"], ["sàng"]],
		"沮洳": [["jù"], ["rù"]],
		"举发": [["jǔ"], ["fā"]],
		"举家": [["jǔ"], ["jiā"]],
		"举要": [["jǔ"], ["yào"]],
		"举行": [["jǔ"], ["xíng"]],
		"举重": [["jǔ"], ["zhòng"]],
		"矩尺": [["jǔ"], ["chǐ"]],
		"句点": [["jù"], ["diǎn"]],
		"句读": [["jù"], ["dòu"]],
		"句法": [["jù"], ["fǎ"]],
		"句号": [["jù"], ["hào"]],
		"句型": [["jù"], ["xíng"]],
		"句式": [["jù"], ["shì"]],
		"句子": [["jù"], ["zi"]],
		"巨擘": [["jù"], ["bò"]],
		"巨大": [["jù"], ["dà"]],
		"巨量": [["jù"], ["liàng"]],
		"巨贾": [["jù"], ["gǔ"]],
		"巨头": [["jù"], ["tóu"]],
		"巨阙": [["jù"], ["quē"]],
		"巨著": [["jù"], ["zhù"]],
		"具体": [["jù"], ["tǐ"]],
		"具结": [["jù"], ["jié"]],
		"剧场": [["jù"], ["chǎng"]],
		"剧曲": [["jù"], ["qǔ"]],
		"剧毒": [["jù"], ["dú"]],
		"具有": [["jù"], ["yǒu"]],
		"剧种": [["jù"], ["zhǒng"]],
		"飓风": [["jù"], ["fēng"]],
		"锯条": [["jù"], ["tiáo"]],
		"聚合": [["jù"], ["hé"]],
		"聚会": [["jù"], ["huì"]],
		"聚结": [["jù"], ["jié"]],
		"聚落": [["jù"], ["luò"]],
		"聚头": [["jù"], ["tóu"]],
		"聚齐": [["jù"], ["qí"]],
		"聚散": [["jù"], ["sàn"]],
		"瞿麦": [["qú"], ["mài"]],
		"捐助": [["juān"], ["zhù"]],
		"卷柏": [["juàn"], ["bǎi"]],
		"卷尺": [["juǎn"], ["chǐ"]],
		"卷发": [["juǎn"], ["fà"]],
		"卷卷": [["juàn"], ["juàn"]],
		"卷帘": [["juàn"], ["lián"]],
		"卷面": [["juàn"], ["miàn"]],
		"卷曲": [["juǎn"], ["qū"]],
		"卷舌": [["juǎn"], ["shé"]],
		"卷缩": [["juàn"], ["suō"]],
		"卷逃": [["juǎn"], ["táo"]],
		"卷须": [["juàn"], ["xū"]],
		"卷烟": [["juǎn"], ["yān"]],
		"卷云": [["juǎn"], ["yún"]],
		"卷扬": [["juǎn"], ["yáng"]],
		"卷帙": [["juàn"], ["zhì"]],
		"卷轴": [["juàn"], ["zhóu"]],
		"卷子": [["juǎn"], ["zi"]],
		"卷宗": [["juàn"], ["zōng"]],
		"绢扇": [["juàn"], ["shàn"]],
		"隽永": [["juàn"], ["yǒng"]],
		"隽语": [["jùn"], ["yǔ"]],
		"撅嘴": [["juē"], ["zuǐ"]],
		"决别": [["jué"], ["bié"]],
		"决不": [["jué"], ["bù"]],
		"决斗": [["jué"], ["dòu"]],
		"决裂": [["jué"], ["liè"]],
		"诀别": [["jué"], ["bié"]],
		"抉择": [["jué"], ["zé"]],
		"绝倒": [["jué"], ["dǎo"]],
		"绝景": [["jué"], ["jǐng"]],
		"绝地": [["jué"], ["dì"]],
		"绝症": [["jué"], ["zhèng"]],
		"绝食": [["jué"], ["shí"]],
		"绝种": [["jué"], ["zhǒng"]],
		"觉察": [["jué"], ["chá"]],
		"觉得": [["jué"], ["de"]],
		"觉醒": [["jué"], ["xǐng"]],
		"觉悟": [["jué"], ["wù"]],
		"倔犟": [["juè"], ["jiàng"]],
		"倔强": [["jué"], ["jiàng"]],
		"噱头": [["xué"], ["tou"]],
		"镢头": [["jué"], ["tóu"]],
		"嚼子": [["jiáo"], ["zǐ"]],
		"嚼舌": [["jiáo"], ["shé"]],
		"军长": [["jūn"], ["zhǎng"]],
		"军车": [["jūn"], ["chē"]],
		"军风": [["jūn"], ["fēng"]],
		"军服": [["jūn"], ["fú"]],
		"军号": [["jūn"], ["hào"]],
		"军港": [["jūn"], ["gǎng"]],
		"军纪": [["jūn"], ["jì"]],
		"军乐": [["jūn"], ["yuè"]],
		"军令": [["jūn"], ["lìng"]],
		"军区": [["jūn"], ["qū"]],
		"军帖": [["jūn"], ["tiě"]],
		"军委": [["jūn"], ["wěi"]],
		"军属": [["jūn"], ["shǔ"]],
		"军校": [["jūn"], ["xiào"]],
		"军种": [["jūn"], ["zhǒng"]],
		"均差": [["jūn"], ["chà"]],
		"君王": [["jūn"], ["wáng"]],
		"均分": [["jūn"], ["fēn"]],
		"俊俏": [["jùn"], ["qiào"]],
		"郡王": [["jùn"], ["wáng"]],
		"郡县": [["jùn"], ["xiàn"]],
		"峻岭": [["jùn"], ["lǐng"]],
		"咔嚓": [["kā"], ["chā"]],
		"咔嗒": [["kā"], ["dā"]],
		"咖啡": [["kā"], ["fēi"]],
		"咖喱": [["gā"], ["lí"]],
		"喀吧": [["kā"], ["ba"]],
		"喀嚓": [["kā"], ["chā"]],
		"卡尺": [["kǎ"], ["chǐ"]],
		"卡车": [["kǎ"], ["chē"]],
		"卡带": [["kǎ"], ["dài"]],
		"卡规": [["kǎ"], ["guī"]],
		"卡具": [["qiǎ"], ["jù"]],
		"卡壳": [["qiǎ"], ["ké"]],
		"卡口": [["kǎ"], ["kǒu"]],
		"卡诺": [["kǎ"], ["nuò"]],
		"卡片": [["kǎ"], ["piàn"]],
		"卡其": [["kǎ"], ["qí"]],
		"卡钳": [["kǎ"], ["qián"]],
		"卡通": [["kǎ"], ["tōng"]],
		"卡纸": [["kǎ"], ["zhǐ"]],
		"卡子": [["qiǎ"], ["zi"]],
		"卡座": [["kǎ"], ["zuò"]],
		"开辟": [["kāi"], ["pì"]],
		"开采": [["kāi"], ["cǎi"]],
		"开叉": [["kāi"], ["chā"]],
		"开场": [["kāi"], ["chǎng"]],
		"开车": [["kāi"], ["chē"]],
		"开创": [["kāi"], ["chuàng"]],
		"开打": [["kāi"], ["dǎ"]],
		"开单": [["kāi"], ["dān"]],
		"开发": [["kāi"], ["fā"]],
		"开会": [["kāi"], ["huì"]],
		"开化": [["kāi"], ["huà"]],
		"开豁": [["kāi"], ["huō"]],
		"开价": [["kāi"], ["jià"]],
		"开疆": [["kāi"], ["jiāng"]],
		"开间": [["kāi"], ["jiān"]],
		"开解": [["kāi"], ["jiě"]],
		"开卷": [["kāi"], ["juàn"]],
		"开禁": [["kāi"], ["jìn"]],
		"开裂": [["kāi"], ["liè"]],
		"开溜": [["kāi"], ["liū"]],
		"开蒙": [["kāi"], ["méng"]],
		"开炮": [["kāi"], ["pào"]],
		"开票": [["kāi"], ["piào"]],
		"开屏": [["kāi"], ["píng"]],
		"开台": [["kāi"], ["tái"]],
		"开头": [["kāi"], ["tóu"]],
		"开拓": [["kāi"], ["tuò"]],
		"开戏": [["kāi"], ["xì"]],
		"开行": [["kāi"], ["xíng"]],
		"开远": [["kāi"], ["yuǎn"]],
		"剀切": [["kǎi"], ["qiē"]],
		"凯旋": [["kǎi"], ["xuán"]],
		"楷模": [["kǎi"], ["mó"]],
		"楷体": [["kǎi"], ["tǐ"]],
		"楷书": [["kǎi"], ["shū"]],
		"刊发": [["kān"], ["fā"]],
		"刊头": [["kān"], ["tóu"]],
		"刊行": [["kān"], ["xíng"]],
		"刊载": [["kān"], ["zǎi"]],
		"勘查": [["kān"], ["zhā"]],
		"勘校": [["kān"], ["jiào"]],
		"坎坷": [["kǎn"], ["kě"]],
		"看板": [["kàn"], ["bǎn"]],
		"看扁": [["kàn"], ["biǎn"]],
		"看病": [["kàn"], ["bìng"]],
		"看茶": [["kàn"], ["chá"]],
		"看成": [["kàn"], ["chéng"]],
		"看出": [["kàn"], ["chū"]],
		"看穿": [["kàn"], ["chuān"]],
		"看待": [["kàn"], ["dài"]],
		"看跌": [["kàn"], ["diē"]],
		"看法": [["kàn"], ["fǎ"]],
		"看官": [["kàn"], ["guān"]],
		"看管": [["kān"], ["guǎn"]],
		"看顾": [["kàn"], ["gù"]],
		"看好": [["kàn"], ["hǎo"]],
		"看护": [["kān"], ["hù"]],
		"看家": [["kān"], ["jiā"]],
		"看见": [["kàn"], ["jiàn"]],
		"看开": [["kàn"], ["kāi"]],
		"看看": [["kàn"], ["kàn"]],
		"看客": [["kàn"], ["kè"]],
		"看来": [["kàn"], ["lái"]],
		"看漏": [["kàn"], ["lòu"]],
		"看门": [["kān"], ["mén"]],
		"看盘": [["kàn"], ["pán"]],
		"看破": [["kàn"], ["pò"]],
		"看齐": [["kàn"], ["qí"]],
		"看青": [["kàn"], ["qīng"]],
		"看轻": [["kàn"], ["qīng"]],
		"看清": [["kàn"], ["qīng"]],
		"看上": [["kàn"], ["shàng"]],
		"看守": [["kān"], ["shǒu"]],
		"看书": [["kàn"], ["shū"]],
		"看死": [["kàn"], ["sǐ"]],
		"看台": [["kàn"], ["tái"]],
		"看头": [["kàn"], ["tou"]],
		"看透": [["kàn"], ["tòu"]],
		"看望": [["kàn"], ["wàng"]],
		"看戏": [["kàn"], ["xì"]],
		"看相": [["kàn"], ["xiàng"]],
		"看押": [["kān"], ["yā"]],
		"看涨": [["kàn"], ["zhǎng"]],
		"看中": [["kàn"], ["zhòng"]],
		"看重": [["kàn"], ["zhòng"]],
		"看作": [["kàn"], ["zuò"]],
		"看座": [["kàn"], ["zuò"]],
		"看做": [["kàn"], ["zuò"]],
		"扛鼎": [["gāng"], ["dǐng"]],
		"扛活": [["káng"], ["huó"]],
		"抗暴": [["kàng"], ["bào"]],
		"抗体": [["kàng"], ["tǐ"]],
		"炕几": [["kàng"], ["jǐ"]],
		"炕梢": [["kàng"], ["shāo"]],
		"炕头": [["kàng"], ["tóu"]],
		"考查": [["kǎo"], ["zhā"]],
		"考场": [["kǎo"], ["chǎng"]],
		"考分": [["kǎo"], ["fēn"]],
		"考风": [["kǎo"], ["fēng"]],
		"考核": [["kǎo"], ["hé"]],
		"考据": [["kǎo"], ["jù"]],
		"考卷": [["kǎo"], ["juàn"]],
		"考量": [["kǎo"], ["liáng"]],
		"考期": [["kǎo"], ["qī"]],
		"考区": [["kǎo"], ["qū"]],
		"考中": [["kǎo"], ["zhōng"]],
		"拷打": [["kǎo"], ["dǎ"]],
		"靠背": [["kào"], ["bèi"]],
		"靠泊": [["kào"], ["bó"]],
		"苛待": [["kē"], ["dài"]],
		"坷垃": [["kē"], ["lā"]],
		"苛刻": [["kē"], ["kè"]],
		"苛求": [["kē"], ["qiú"]],
		"苛细": [["kē"], ["xì"]],
		"苛责": [["kē"], ["zé"]],
		"苛政": [["kē"], ["zhèng"]],
		"科教": [["kē"], ["jiào"]],
		"科长": [["kē"], ["zhǎng"]],
		"科员": [["kē"], ["yuán"]],
		"科研": [["kē"], ["yán"]],
		"磕头": [["kē"], ["tóu"]],
		"磕打": [["kē"], ["dǎ"]],
		"壳子": [["ké"], ["zǐ"]],
		"咳喘": [["ké"], ["chuǎn"]],
		"咳咳": [["hāi"], ["hāi"]],
		"咳嗽": [["ké"], ["sòu"]],
		"咳血": [["ké"], ["xuè"]],
		"可爱": [["kě"], ["ài"]],
		"可悲": [["kě"], ["bēi"]],
		"可鄙": [["kě"], ["bǐ"]],
		"可变": [["kě"], ["biàn"]],
		"可不": [["kě"], ["bù"]],
		"可怖": [["kě"], ["bù"]],
		"可耻": [["kě"], ["chǐ"]],
		"可乘": [["kě"], ["chéng"]],
		"可恶": [["kě"], ["wù"]],
		"可否": [["kě"], ["fǒu"]],
		"可观": [["kě"], ["guān"]],
		"可汗": [["kè"], ["hán"]],
		"可贵": [["kě"], ["guì"]],
		"可好": [["kě"], ["hǎo"]],
		"可恨": [["kě"], ["hèn"]],
		"可嘉": [["kě"], ["jiā"]],
		"可见": [["kě"], ["jiàn"]],
		"可敬": [["kě"], ["jìng"]],
		"可鉴": [["kě"], ["jiàn"]],
		"可靠": [["kě"], ["kào"]],
		"可可": [["kě"], ["kě"]],
		"可口": [["kě"], ["kǒu"]],
		"可乐": [["kě"], ["lè"]],
		"可怜": [["kě"], ["lián"]],
		"可能": [["kě"], ["néng"]],
		"可恼": [["kě"], ["nǎo"]],
		"可逆": [["kě"], ["nì"]],
		"可怕": [["kě"], ["pà"]],
		"可欺": [["kě"], ["qī"]],
		"可气": [["kě"], ["qì"]],
		"可亲": [["kě"], ["qīn"]],
		"可巧": [["kě"], ["qiǎo"]],
		"可取": [["kě"], ["qǔ"]],
		"可人": [["kě"], ["rén"]],
		"可是": [["kě"], ["shì"]],
		"可叹": [["kě"], ["tàn"]],
		"可听": [["kě"], ["tīng"]],
		"可望": [["kě"], ["wàng"]],
		"可谓": [["kě"], ["wèi"]],
		"可惜": [["kě"], ["xī"]],
		"可喜": [["kě"], ["xǐ"]],
		"可笑": [["kě"], ["xiào"]],
		"可心": [["kě"], ["xīn"]],
		"可信": [["kě"], ["xìn"]],
		"可行": [["kě"], ["xíng"]],
		"可疑": [["kě"], ["yí"]],
		"可以": [["kě"], ["yǐ"]],
		"可意": [["kě"], ["yì"]],
		"可曾": [["kě"], ["zēng"]],
		"可憎": [["kě"], ["zēng"]],
		"可知": [["kě"], ["zhī"]],
		"可着": [["kě"], ["zhe"]],
		"克服": [["kè"], ["fú"]],
		"克拉": [["kè"], ["lā"]],
		"克期": [["kè"], ["qī"]],
		"克食": [["kè"], ["shí"]],
		"刻薄": [["kè"], ["bó"]],
		"刻毒": [["kè"], ["dú"]],
		"刻度": [["kè"], ["dù"]],
		"刻骨": [["kè"], ["gǔ"]],
		"刻划": [["kè"], ["huá"]],
		"客车": [["kè"], ["chē"]],
		"客家": [["kè"], ["jiā"]],
		"客观": [["kè"], ["guān"]],
		"客票": [["kè"], ["piào"]],
		"客体": [["kè"], ["tǐ"]],
		"课长": [["kè"], ["cháng"]],
		"课间": [["kè"], ["jiān"]],
		"课卷": [["kè"], ["juàn"]],
		"肯綮": [["kěn"], ["qìng"]],
		"垦殖": [["kěn"], ["zhí"]],
		"垦区": [["kěn"], ["qū"]],
		"垦种": [["kěn"], ["zhòng"]],
		"恳切": [["kěn"], ["qiè"]],
		"吭哧": [["kēng"], ["chī"]],
		"吭气": [["kēng"], ["qì"]],
		"吭声": [["kēng"], ["shēng"]],
		"坑蒙": [["kēng"], ["méng"]],
		"空白": [["kòng"], ["bái"]],
		"空瘪": [["kōng"], ["biě"]],
		"空肠": [["kōng"], ["cháng"]],
		"空场": [["kōng"], ["chǎng"]],
		"空城": [["kōng"], ["chéng"]],
		"空当": [["kōng"], ["dāng"]],
		"空挡": [["kōng"], ["dǎng"]],
		"空档": [["kōng"], ["dàng"]],
		"空地": [["kòng"], ["dì"]],
		"空调": [["kōng"], ["tiáo"]],
		"空洞": [["kōng"], ["dòng"]],
		"空儿": [["kòng"], ["ér"]],
		"空额": [["kòng"], ["é"]],
		"空乏": [["kōng"], ["fá"]],
		"空泛": [["kōng"], ["fàn"]],
		"空防": [["kōng"], ["fáng"]],
		"空腹": [["kōng"], ["fù"]],
		"空房": [["kōng"], ["fáng"]],
		"空格": [["kōng"], ["gé"]],
		"空谷": [["kōng"], ["gǔ"]],
		"空海": [["kōng"], ["hǎi"]],
		"空耗": [["kōng"], ["hào"]],
		"空喊": [["kōng"], ["hǎn"]],
		"空话": [["kōng"], ["huà"]],
		"空怀": [["kōng"], ["huái"]],
		"空幻": [["kōng"], ["huàn"]],
		"空际": [["kōng"], ["jì"]],
		"空寂": [["kōng"], ["jì"]],
		"空间": [["kōng"], ["jiān"]],
		"空姐": [["kōng"], ["jiě"]],
		"空降": [["kōng"], ["jiàng"]],
		"空军": [["kōng"], ["jūn"]],
		"空壳": [["kōng"], ["ké"]],
		"空空": [["kōng"], ["kōng"]],
		"空口": [["kōng"], ["kǒu"]],
		"空旷": [["kōng"], ["kuàng"]],
		"空阔": [["kōng"], ["kuò"]],
		"空廓": [["kōng"], ["kuò"]],
		"空灵": [["kōng"], ["líng"]],
		"空论": [["kōng"], ["lùn"]],
		"空落": [["kōng"], ["luò"]],
		"空门": [["kōng"], ["mén"]],
		"空名": [["kōng"], ["míng"]],
		"空明": [["kōng"], ["míng"]],
		"空难": [["kōng"], ["nàn"]],
		"空炮": [["kōng"], ["pào"]],
		"空气": [["kōng"], ["qì"]],
		"空腔": [["kōng"], ["qiāng"]],
		"空前": [["kōng"], ["qián"]],
		"空勤": [["kōng"], ["qín"]],
		"空拳": [["kōng"], ["quán"]],
		"空缺": [["kòng"], ["quē"]],
		"空身": [["kōng"], ["shēn"]],
		"空手": [["kōng"], ["shǒu"]],
		"空疏": [["kōng"], ["shū"]],
		"空速": [["kōng"], ["sù"]],
		"空谈": [["kōng"], ["tán"]],
		"空头": [["kōng"], ["tóu"]],
		"空投": [["kōng"], ["tóu"]],
		"空位": [["kōng"], ["wèi"]],
		"空文": [["kōng"], ["wén"]],
		"空袭": [["kōng"], ["xí"]],
		"空无": [["kōng"], ["wú"]],
		"空隙": [["kòng"], ["xì"]],
		"空暇": [["kòng"], ["xiá"]],
		"空闲": [["kòng"], ["xián"]],
		"空想": [["kōng"], ["xiǎng"]],
		"空心": [["kōng"], ["xīn"]],
		"空穴": [["kōng"], ["xué"]],
		"空虚": [["kōng"], ["xū"]],
		"空言": [["kōng"], ["yán"]],
		"空余": [["kòng"], ["yú"]],
		"空有": [["kōng"], ["yǒu"]],
		"空运": [["kōng"], ["yùn"]],
		"空中": [["kōng"], ["zhōng"]],
		"空战": [["kōng"], ["zhàn"]],
		"空竹": [["kōng"], ["zhú"]],
		"空转": [["kōng"], ["zhuàn"]],
		"空子": [["kòng"], ["zi"]],
		"倥侗": [["kōng"], ["tóng"]],
		"孔教": [["kǒng"], ["jiào"]],
		"孔雀": [["kǒng"], ["què"]],
		"恐吓": [["kǒng"], ["hè"]],
		"芤脉": [["kōu"], ["mài"]],
		"口北": [["kǒu"], ["běi"]],
		"口称": [["kǒu"], ["chēng"]],
		"口臭": [["kǒu"], ["chòu"]],
		"口传": [["kǒu"], ["chuán"]],
		"口风": [["kǒu"], ["fēng"]],
		"口服": [["kǒu"], ["fú"]],
		"口供": [["kǒu"], ["gòng"]],
		"口号": [["kǒu"], ["hào"]],
		"口红": [["kǒu"], ["hóng"]],
		"口角": [["kǒu"], ["jué"]],
		"口令": [["kǒu"], ["lìng"]],
		"口条": [["kǒu"], ["tiáo"]],
		"口头": [["kǒu"], ["tóu"]],
		"口信": [["kǒu"], ["xìn"]],
		"口语": [["kǒu"], ["yǔ"]],
		"口重": [["kǒu"], ["zhòng"]],
		"叩见": [["kòu"], ["jiàn"]],
		"叩头": [["kòu"], ["tóu"]],
		"扣发": [["kòu"], ["fā"]],
		"扣分": [["kòu"], ["fēn"]],
		"扣头": [["kòu"], ["tóu"]],
		"扣压": [["kòu"], ["yā"]],
		"枯干": [["kū"], ["gān"]],
		"枯骨": [["kū"], ["gǔ"]],
		"枯叶": [["kū"], ["yè"]],
		"枯枝": [["kū"], ["zhī"]],
		"哭丧": [["kū"], ["sang"]],
		"苦熬": [["kǔ"], ["áo"]],
		"苦参": [["kǔ"], ["shēn"]],
		"苦差": [["kǔ"], ["chāi"]],
		"苦斗": [["kǔ"], ["dòu"]],
		"苦处": [["kǔ"], ["chǔ"]],
		"苦干": [["kǔ"], ["gàn"]],
		"苦闷": [["kǔ"], ["mèn"]],
		"苦思": [["kǔ"], ["sī"]],
		"苦难": [["kǔ"], ["nàn"]],
		"苦头": [["kǔ"], ["tóu"]],
		"苦相": [["kǔ"], ["xiāng"]],
		"苦行": [["kǔ"], ["xíng"]],
		"库藏": [["kù"], ["cáng"]],
		"苦雨": [["kǔ"], ["yǔ"]],
		"库券": [["kù"], ["quàn"]],
		"裤头": [["kù"], ["tóu"]],
		"酷似": [["kù"], ["sì"]],
		"酷肖": [["kù"], ["xiāo"]],
		"夸大": [["kuā"], ["dà"]],
		"夸奖": [["kuā"], ["jiǎng"]],
		"夸诞": [["kuā"], ["dàn"]],
		"夸口": [["kuā"], ["kǒu"]],
		"夸示": [["kuā"], ["shì"]],
		"夸饰": [["kuā"], ["shì"]],
		"夸说": [["kuā"], ["shuō"]],
		"夸特": [["kuā"], ["tè"]],
		"夸耀": [["kuā"], ["yào"]],
		"夸脱": [["kuā"], ["tuō"]],
		"夸张": [["kuā"], ["zhāng"]],
		"夸赞": [["kuā"], ["zàn"]],
		"夸嘴": [["kuā"], ["zuǐ"]],
		"垮台": [["kuǎ"], ["tái"]],
		"挎包": [["kuà"], ["bāo"]],
		"挎斗": [["kuà"], ["dǒu"]],
		"胯骨": [["kuà"], ["gǔ"]],
		"跨度": [["kuà"], ["dù"]],
		"块头": [["kuài"], ["tóu"]],
		"块体": [["kuài"], ["tǐ"]],
		"快车": [["kuài"], ["chē"]],
		"快当": [["kuài"], ["dāng"]],
		"快乐": [["kuài"], ["lè"]],
		"快信": [["kuài"], ["xìn"]],
		"快行": [["kuài"], ["xíng"]],
		"快要": [["kuài"], ["yào"]],
		"宽绰": [["kuān"], ["chuo"]],
		"快语": [["kuài"], ["yǔ"]],
		"宽大": [["kuān"], ["dà"]],
		"宽待": [["kuān"], ["dài"]],
		"宽度": [["kuān"], ["dù"]],
		"宽广": [["kuān"], ["guǎng"]],
		"宽和": [["kuān"], ["hé"]],
		"宽解": [["kuān"], ["jiě"]],
		"宽假": [["kuān"], ["jiǎ"]],
		"髋骨": [["kuān"], ["gǔ"]],
		"款待": [["kuǎn"], ["dài"]],
		"款曲": [["kuǎn"], ["qǔ"]],
		"款识": [["kuǎn"], ["zhì"]],
		"匡济": [["kuāng"], ["jì"]],
		"匡正": [["kuāng"], ["zhèng"]],
		"匡助": [["kuāng"], ["zhù"]],
		"狂暴": [["kuáng"], ["bào"]],
		"狂奔": [["kuáng"], ["bēn"]],
		"狂风": [["kuáng"], ["fēng"]],
		"诳语": [["kuáng"], ["yǔ"]],
		"况且": [["kuàng"], ["qiě"]],
		"旷远": [["kuàng"], ["yuǎn"]],
		"矿藏": [["kuàng"], ["cáng"]],
		"矿车": [["kuàng"], ["chē"]],
		"矿脉": [["kuàng"], ["mài"]],
		"矿区": [["kuàng"], ["qū"]],
		"矿体": [["kuàng"], ["tǐ"]],
		"矿石": [["kuàng"], ["shí"]],
		"亏待": [["kuī"], ["dài"]],
		"亏得": [["kuī"], ["de"]],
		"亏累": [["kuī"], ["lèi"]],
		"亏空": [["kuī"], ["kōng"]],
		"亏折": [["kuī"], ["zhé"]],
		"窥度": [["kuī"], ["duó"]],
		"窥见": [["kuī"], ["jiàn"]],
		"窥看": [["kuī"], ["kàn"]],
		"窥伺": [["kuī"], ["sì"]],
		"奎宁": [["kuí"], ["níng"]],
		"喹啉": [["kuí"], ["lín"]],
		"葵扇": [["kuí"], ["shàn"]],
		"蝰蛇": [["kuí"], ["shé"]],
		"傀儡": [["kuǐ"], ["lěi"]],
		"愧汗": [["kuì"], ["hàn"]],
		"愧怍": [["kuì"], ["zuò"]],
		"溃败": [["kuì"], ["bài"]],
		"溃兵": [["kuì"], ["bīng"]],
		"溃决": [["kuì"], ["jué"]],
		"溃军": [["kuì"], ["jūn"]],
		"溃烂": [["kuì"], ["làn"]],
		"溃乱": [["kuì"], ["luàn"]],
		"溃灭": [["kuì"], ["miè"]],
		"溃散": [["kuì"], ["sàn"]],
		"溃逃": [["kuì"], ["táo"]],
		"溃围": [["kuì"], ["wéi"]],
		"溃退": [["kuì"], ["tuì"]],
		"溃疡": [["kuì"], ["yáng"]],
		"昆曲": [["kūn"], ["qǔ"]],
		"捆扎": [["kǔn"], ["zhā"]],
		"困处": [["kùn"], ["chǔ"]],
		"困觉": [["kùn"], ["jiào"]],
		"困难": [["kùn"], ["nán"]],
		"扩散": [["kuò"], ["sàn"]],
		"扩大": [["kuò"], ["dà"]],
		"括号": [["kuò"], ["hào"]],
		"括弧": [["kuò"], ["hú"]],
		"阔别": [["kuò"], ["bié"]],
		"阔绰": [["kuò"], ["chuò"]],
		"阔少": [["kuò"], ["shào"]],
		"廓落": [["kuò"], ["luò"]],
		"拉巴": [["lā"], ["bā"]],
		"拉拔": [["lā"], ["bá"]],
		"拉长": [["lā"], ["cháng"]],
		"拉扯": [["lā"], ["chě"]],
		"拉倒": [["lā"], ["dǎo"]],
		"拉德": [["lā"], ["dé"]],
		"拉丁": [["lā"], ["dīng"]],
		"拉杆": [["lā"], ["gǎn"]],
		"拉架": [["lā"], ["jià"]],
		"拉脚": [["lā"], ["jiǎo"]],
		"拉锯": [["lā"], ["jù"]],
		"拉开": [["lā"], ["kāi"]],
		"拉客": [["lā"], ["kè"]],
		"拉拉": [["lā"], ["lā"]],
		"拉力": [["lā"], ["lì"]],
		"拉练": [["lā"], ["liàn"]],
		"拉链": [["lā"], ["liàn"]],
		"拉拢": [["lā"], ["lǒng"]],
		"拉面": [["lā"], ["miàn"]],
		"拉平": [["lā"], ["píng"]],
		"拉人": [["lā"], ["rén"]],
		"拉萨": [["lā"], ["sà"]],
		"拉伸": [["lā"], ["shēn"]],
		"拉手": [["lā"], ["shǒu"]],
		"拉丝": [["lā"], ["sī"]],
		"拉套": [["lā"], ["tào"]],
		"拉网": [["lā"], ["wǎng"]],
		"拉稀": [["lā"], ["xī"]],
		"拉纤": [["lā"], ["qiàn"]],
		"拉线": [["lā"], ["xiàn"]],
		"拉杂": [["lā"], ["zá"]],
		"拉账": [["lā"], ["zhàng"]],
		"喇嘛": [["lǎ"], ["ma"]],
		"腊八": [["là"], ["bā"]],
		"腊肠": [["là"], ["cháng"]],
		"腊梅": [["là"], ["méi"]],
		"腊日": [["là"], ["rì"]],
		"腊肉": [["là"], ["ròu"]],
		"腊味": [["là"], ["wèi"]],
		"腊月": [["là"], ["yuè"]],
		"蜡台": [["là"], ["tái"]],
		"来得": [["lái"], ["de"]],
		"来劲": [["lái"], ["jìn"]],
		"来苏": [["lái"], ["sū"]],
		"来头": [["lái"], ["tou"]],
		"来信": [["lái"], ["xìn"]],
		"来着": [["lái"], ["zhe"]],
		"兰若": [["lán"], ["rě"]],
		"拦挡": [["lán"], ["dǎng"]],
		"拦柜": [["lán"], ["guì"]],
		"栏干": [["lán"], ["gàn"]],
		"栏杆": [["lán"], ["gān"]],
		"栏柜": [["lán"], ["guì"]],
		"栏栅": [["lán"], ["shān"]],
		"阑尾": [["lán"], ["wěi"]],
		"阑干": [["lán"], ["gān"]],
		"缆车": [["lǎn"], ["chē"]],
		"懒得": [["lǎn"], ["de"]],
		"懒散": [["lǎn"], ["sǎn"]],
		"烂糊": [["làn"], ["hú"]],
		"烂泥": [["làn"], ["ní"]],
		"滥调": [["làn"], ["diào"]],
		"郎君": [["láng"], ["jūn"]],
		"郎当": [["láng"], ["dāng"]],
		"郎舅": [["láng"], ["jiù"]],
		"郎中": [["láng"], ["zhōng"]],
		"狼毒": [["láng"], ["dú"]],
		"狼藉": [["láng"], ["jí"]],
		"狼头": [["láng"], ["tóu"]],
		"莨菪": [["làng"], ["dàng"]],
		"锒铛": [["láng"], ["dāng"]],
		"榔头": [["láng"], ["tou"]],
		"朗读": [["lǎng"], ["dú"]],
		"浪头": [["làng"], ["tou"]],
		"劳教": [["láo"], ["jiào"]],
		"劳累": [["láo"], ["lèi"]],
		"劳碌": [["láo"], ["lù"]],
		"劳模": [["láo"], ["mó"]],
		"牢度": [["láo"], ["dù"]],
		"牢笼": [["láo"], ["lóng"]],
		"牢骚": [["láo"], ["sāo"]],
		"唠扯": [["lào"], ["chě"]],
		"唠叨": [["láo"], ["dāo"]],
		"唠嗑": [["lào"], ["kè"]],
		"唠唠": [["lào"], ["lào"]],
		"老伯": [["lǎo"], ["bó"]],
		"老大": [["lǎo"], ["dà"]],
		"老底": [["lǎo"], ["dǐ"]],
		"老弟": [["lǎo"], ["dì"]],
		"老调": [["lǎo"], ["diào"]],
		"老夫": [["lǎo"], ["fū"]],
		"老父": [["lǎo"], ["fù"]],
		"老化": [["lǎo"], ["huà"]],
		"老几": [["lǎo"], ["jǐ"]],
		"老家": [["lǎo"], ["jiā"]],
		"老将": [["lǎo"], ["jiàng"]],
		"老亲": [["lǎo"], ["qīn"]],
		"老景": [["lǎo"], ["jǐng"]],
		"老区": [["lǎo"], ["ōu"]],
		"老少": [["lǎo"], ["shào"]],
		"老汤": [["lǎo"], ["tāng"]],
		"老头": [["lǎo"], ["tóu"]],
		"老相": [["lǎo"], ["xiāng"]],
		"姥姥": [["lǎo"], ["lao"]],
		"潦草": [["liáo"], ["cǎo"]],
		"潦倒": [["liáo"], ["dǎo"]],
		"烙饼": [["lào"], ["bǐng"]],
		"烙痕": [["lào"], ["hén"]],
		"烙花": [["lào"], ["huā"]],
		"乐安": [["lè"], ["ān"]],
		"烙铁": [["lào"], ["tiě"]],
		"烙印": [["lào"], ["yìn"]],
		"乐池": [["yuè"], ["chí"]],
		"乐道": [["lè"], ["dào"]],
		"乐得": [["lè"], ["de"]],
		"乐都": [["lè"], ["dōu"]],
		"乐队": [["yuè"], ["duì"]],
		"乐儿": [["lè"], ["ér"]],
		"乐府": [["yuè"], ["fǔ"]],
		"乐感": [["yuè"], ["gǎn"]],
		"乐歌": [["yuè"], ["gē"]],
		"乐工": [["yuè"], ["gōng"]],
		"乐观": [["lè"], ["guān"]],
		"乐官": [["yuè"], ["guān"]],
		"乐果": [["lè"], ["guǒ"]],
		"乐户": [["yuè"], ["hù"]],
		"乐句": [["lè"], ["jù"]],
		"乐理": [["lè"], ["lǐ"]],
		"乐律": [["yuè"], ["lǜ"]],
		"乐迷": [["yuè"], ["mí"]],
		"乐谱": [["yuè"], ["pǔ"]],
		"乐器": [["yuè"], ["qì"]],
		"乐曲": [["yuè"], ["qǔ"]],
		"乐趣": [["lè"], ["qù"]],
		"乐山": [["lè"], ["shān"]],
		"乐师": [["yuè"], ["shī"]],
		"乐事": [["lè"], ["shì"]],
		"乐手": [["lè"], ["shǒu"]],
		"乐坛": [["yuè"], ["tán"]],
		"乐天": [["lè"], ["tiān"]],
		"乐团": [["yuè"], ["tuán"]],
		"乐土": [["lè"], ["tǔ"]],
		"乐舞": [["yuè"], ["wǔ"]],
		"乐业": [["lè"], ["yè"]],
		"乐意": [["lè"], ["yì"]],
		"乐音": [["yuè"], ["yīn"]],
		"乐于": [["lè"], ["yú"]],
		"乐园": [["lè"], ["yuán"]],
		"乐章": [["yuè"], ["zhāng"]],
		"乐子": [["lè"], ["zǐ"]],
		"雷暴": [["léi"], ["bào"]],
		"雷同": [["léi"], ["tóng"]],
		"雷雨": [["léi"], ["yǔ"]],
		"磊落": [["lěi"], ["luò"]],
		"肋骨": [["lèi"], ["gǔ"]],
		"肋木": [["lèi"], ["mù"]],
		"肋条": [["lèi"], ["tiáo"]],
		"类别": [["lèi"], ["bié"]],
		"类同": [["lèi"], ["tóng"]],
		"类似": [["lèi"], ["sì"]],
		"擂鼓": [["léi"], ["gǔ"]],
		"擂台": [["lèi"], ["tái"]],
		"擂主": [["lèi"], ["zhǔ"]],
		"棱角": [["léng"], ["jiǎo"]],
		"棱镜": [["léng"], ["jìng"]],
		"棱线": [["léng"], ["xiàn"]],
		"棱锥": [["léng"], ["zhuī"]],
		"棱柱": [["léng"], ["zhù"]],
		"楞场": [["léng"], ["chǎng"]],
		"楞伽": [["léng"], ["jiā"]],
		"冷藏": [["lěng"], ["cáng"]],
		"冷颤": [["lěng"], ["zhàn"]],
		"冷场": [["lěng"], ["chǎng"]],
		"冷嘲": [["lěng"], ["cháo"]],
		"冷风": [["lěng"], ["fēng"]],
		"冷汗": [["lěng"], ["hàn"]],
		"冷落": [["lěng"], ["luò"]],
		"冷食": [["lěng"], ["shí"]],
		"冷语": [["lěng"], ["yǔ"]],
		"厘正": [["lí"], ["zhèng"]],
		"狸猫": [["lí"], ["māo"]],
		"离合": [["lí"], ["hé"]],
		"离别": [["lí"], ["bié"]],
		"离间": [["lí"], ["jiàn"]],
		"离解": [["lí"], ["jiě"]],
		"离奇": [["lí"], ["qí"]],
		"离任": [["lí"], ["rèn"]],
		"离散": [["lí"], ["sàn"]],
		"离骚": [["lí"], ["sāo"]],
		"离休": [["lí"], ["xiū"]],
		"篱落": [["lí"], ["luò"]],
		"篱栅": [["lí"], ["zhà"]],
		"罹难": [["lí"], ["nàn"]],
		"礼单": [["lǐ"], ["dān"]],
		"礼服": [["lǐ"], ["fú"]],
		"礼佛": [["lǐ"], ["fó"]],
		"礼教": [["lǐ"], ["jiào"]],
		"礼乐": [["lǐ"], ["yuè"]],
		"礼节": [["lǐ"], ["jié"]],
		"礼炮": [["lǐ"], ["pào"]],
		"礼券": [["lǐ"], ["quàn"]],
		"礼数": [["lǐ"], ["shù"]],
		"礼帖": [["lǐ"], ["tiě"]],
		"里间": [["lǐ"], ["jiān"]],
		"里拉": [["lǐ"], ["lā"]],
		"里弄": [["lǐ"], ["lòng"]],
		"里头": [["lǐ"], ["tou"]],
		"里巷": [["lǐ"], ["xiàng"]],
		"俚曲": [["lǐ"], ["qǔ"]],
		"俚语": [["lǐ"], ["yǔ"]],
		"逦迤": [["lǐ"], ["yǐ"]],
		"力场": [["lì"], ["chǎng"]],
		"力臂": [["lì"], ["bì"]],
		"力度": [["lì"], ["dù"]],
		"力尽": [["lì"], ["jìn"]],
		"力量": [["lì"], ["liàng"]],
		"历朝": [["lì"], ["cháo"]],
		"力行": [["lì"], ["xíng"]],
		"历尽": [["lì"], ["jìn"]],
		"历任": [["lì"], ["rèn"]],
		"历数": [["lì"], ["shǔ"]],
		"厉行": [["lì"], ["xíng"]],
		"立场": [["lì"], ["chǎng"]],
		"立地": [["lì"], ["dì"]],
		"立柜": [["lì"], ["guì"]],
		"立论": [["lì"], ["lùn"]],
		"立射": [["lì"], ["shè"]],
		"立体": [["lì"], ["tǐ"]],
		"立约": [["lì"], ["yuē"]],
		"立正": [["lì"], ["zhèng"]],
		"立轴": [["lì"], ["zhóu"]],
		"丽都": [["lì"], ["dū"]],
		"丽人": [["lì"], ["rén"]],
		"丽日": [["lì"], ["rì"]],
		"丽水": [["lí"], ["shuǐ"]],
		"利得": [["lì"], ["de"]],
		"丽质": [["lì"], ["zhì"]],
		"利率": [["lì"], ["lǜ"]],
		"利落": [["lì"], ["luò"]],
		"利尿": [["lì"], ["niào"]],
		"励行": [["lì"], ["xíng"]],
		"例会": [["lì"], ["huì"]],
		"例假": [["lì"], ["jià"]],
		"例句": [["lì"], ["jù"]],
		"例行": [["lì"], ["xíng"]],
		"隶农": [["lì"], ["nóng"]],
		"隶书": [["lì"], ["shū"]],
		"隶属": [["lì"], ["shǔ"]],
		"隶字": [["lì"], ["zì"]],
		"隶卒": [["lì"], ["zú"]],
		"俐落": [["lì"], ["luò"]],
		"栎木": [["lì"], ["mù"]],
		"栎树": [["lì"], ["shù"]],
		"荔枝": [["lì"], ["zhī"]],
		"栗暴": [["lì"], ["bào"]],
		"砺石": [["lì"], ["shí"]],
		"砾石": [["lì"], ["shí"]],
		"连长": [["lián"], ["cháng"]],
		"连发": [["lián"], ["fā"]],
		"连番": [["lián"], ["fān"]],
		"连杆": [["lián"], ["gǎn"]],
		"连合": [["lián"], ["hé"]],
		"连横": [["lián"], ["héng"]],
		"连累": [["lián"], ["lěi"]],
		"连结": [["lián"], ["jié"]],
		"莲台": [["lián"], ["tái"]],
		"联大": [["lián"], ["dà"]],
		"联合": [["lián"], ["hé"]],
		"联华": [["lián"], ["huá"]],
		"联结": [["lián"], ["jié"]],
		"联句": [["lián"], ["jù"]],
		"联络": [["lián"], ["luò"]],
		"联票": [["lián"], ["piào"]],
		"联体": [["lián"], ["tǐ"]],
		"联系": [["lián"], ["xì"]],
		"廉价": [["lián"], ["jià"]],
		"廉正": [["lián"], ["zhèng"]],
		"练漂": [["liàn"], ["piāo"]],
		"炼钢": [["liàn"], ["gāng"]],
		"炼句": [["liàn"], ["jù"]],
		"恋家": [["liàn"], ["jiā"]],
		"链结": [["liàn"], ["jié"]],
		"链条": [["liàn"], ["tiáo"]],
		"良好": [["liáng"], ["hǎo"]],
		"良家": [["liáng"], ["jiā"]],
		"良能": [["liáng"], ["néng"]],
		"良将": [["liáng"], ["jiàng"]],
		"良知": [["liáng"], ["zhī"]],
		"良种": [["liáng"], ["zhǒng"]],
		"凉拌": [["liáng"], ["bàn"]],
		"凉菜": [["liáng"], ["cài"]],
		"凉粉": [["liáng"], ["fěn"]],
		"凉快": [["liáng"], ["kuài"]],
		"凉风": [["liáng"], ["fēng"]],
		"凉帽": [["liáng"], ["mào"]],
		"凉面": [["liáng"], ["miàn"]],
		"凉棚": [["liáng"], ["péng"]],
		"凉气": [["liáng"], ["qì"]],
		"凉爽": [["liáng"], ["shuǎng"]],
		"凉水": [["liáng"], ["shuǐ"]],
		"凉台": [["liáng"], ["tái"]],
		"凉亭": [["liáng"], ["tíng"]],
		"凉席": [["liáng"], ["xí"]],
		"凉鞋": [["liáng"], ["xié"]],
		"凉药": [["liáng"], ["yào"]],
		"凉意": [["liáng"], ["yì"]],
		"粮票": [["liáng"], ["piào"]],
		"粮食": [["liáng"], ["shí"]],
		"粮行": [["liáng"], ["háng"]],
		"踉跄": [["liàng"], ["qiàng"]],
		"两便": [["liǎng"], ["biàn"]],
		"两侧": [["liǎng"], ["cè"]],
		"两当": [["liǎng"], ["dāng"]],
		"两地": [["liǎng"], ["dì"]],
		"两个": [["liǎng"], ["gè"]],
		"两广": [["liǎng"], ["guǎng"]],
		"两可": [["liǎng"], ["kě"]],
		"两旁": [["liǎng"], ["páng"]],
		"两难": [["liǎng"], ["nán"]],
		"两栖": [["liǎng"], ["qī"]],
		"两头": [["liǎng"], ["tóu"]],
		"亮底": [["liàng"], ["dǐ"]],
		"亮度": [["liàng"], ["dù"]],
		"亮相": [["liàng"], ["xiàng"]],
		"谅解": [["liàng"], ["jiě"]],
		"晾干": [["liàng"], ["gān"]],
		"晾台": [["liàng"], ["tái"]],
		"量杯": [["liáng"], ["bēi"]],
		"量变": [["liàng"], ["biàn"]],
		"量程": [["liáng"], ["chéng"]],
		"量词": [["liàng"], ["cí"]],
		"量度": [["liáng"], ["dù"]],
		"量纲": [["liàng"], ["gāng"]],
		"量规": [["liáng"], ["guī"]],
		"量计": [["liáng"], ["jì"]],
		"量具": [["liáng"], ["jù"]],
		"量力": [["liàng"], ["lì"]],
		"量能": [["liàng"], ["néng"]],
		"量瓶": [["liáng"], ["píng"]],
		"量筒": [["liáng"], ["tǒng"]],
		"量器": [["liáng"], ["qì"]],
		"量刑": [["liàng"], ["xíng"]],
		"量子": [["liàng"], ["zǐ"]],
		"辽远": [["liáo"], ["yuǎn"]],
		"僚属": [["liáo"], ["shǔ"]],
		"寥落": [["liáo"], ["luò"]],
		"撩拨": [["liáo"], ["bō"]],
		"撩动": [["liáo"], ["dòng"]],
		"撩开": [["liáo"], ["kāi"]],
		"撩逗": [["liáo"], ["dòu"]],
		"撩乱": [["liáo"], ["luàn"]],
		"燎泡": [["liáo"], ["pào"]],
		"燎原": [["liáo"], ["yuán"]],
		"了当": [["liǎo"], ["dàng"]],
		"了得": [["liǎo"], ["de"]],
		"了断": [["liǎo"], ["duàn"]],
		"了结": [["liǎo"], ["jié"]],
		"了解": [["liǎo"], ["jiě"]],
		"了局": [["liǎo"], ["jú"]],
		"了了": [["liǎo"], ["liǎo"]],
		"了却": [["liǎo"], ["què"]],
		"了然": [["liǎo"], ["rán"]],
		"了事": [["liǎo"], ["shì"]],
		"了无": [["liǎo"], ["wú"]],
		"了悟": [["liǎo"], ["wù"]],
		"了账": [["liǎo"], ["zhàng"]],
		"料斗": [["liào"], ["dǒu"]],
		"料量": [["liào"], ["liàng"]],
		"料石": [["liào"], ["shí"]],
		"瞭望": [["liào"], ["wàng"]],
		"咧嘴": [["liě"], ["zuǐ"]],
		"咧咧": [["liē"], ["liē"]],
		"列车": [["liè"], ["chē"]],
		"列传": [["liè"], ["zhuàn"]],
		"列强": [["liè"], ["qiáng"]],
		"劣种": [["liè"], ["zhǒng"]],
		"烈度": [["liè"], ["dù"]],
		"烈风": [["liè"], ["fēng"]],
		"烈女": [["liè"], ["nǚ"]],
		"烈属": [["liè"], ["shǔ"]],
		"裂变": [["liè"], ["biàn"]],
		"裂帛": [["liè"], ["bó"]],
		"裂缝": [["liè"], ["fèng"]],
		"裂谷": [["liè"], ["gǔ"]],
		"裂果": [["liè"], ["guǒ"]],
		"裂痕": [["liè"], ["hén"]],
		"裂开": [["liè"], ["kāi"]],
		"裂口": [["liè"], ["kǒu"]],
		"裂片": [["liè"], ["piàn"]],
		"裂纹": [["liè"], ["wén"]],
		"裂璺": [["liè"], ["wèn"]],
		"趔趄": [["liè"], ["qie"]],
		"裂隙": [["liè"], ["xì"]],
		"邻角": [["lín"], ["jiǎo"]],
		"邻家": [["lín"], ["jiā"]],
		"林场": [["lín"], ["chǎng"]],
		"林地": [["lín"], ["dì"]],
		"林甸": [["lín"], ["diàn"]],
		"林冠": [["lín"], ["guān"]],
		"林区": [["lín"], ["qū"]],
		"临别": [["lín"], ["bié"]],
		"临场": [["lín"], ["chǎng"]],
		"临朝": [["lín"], ["cháo"]],
		"临风": [["lín"], ["fēng"]],
		"临了": [["lín"], ["le"]],
		"临难": [["lín"], ["nàn"]],
		"临帖": [["lín"], ["tiè"]],
		"临头": [["lín"], ["tóu"]],
		"临行": [["lín"], ["xíng"]],
		"淋病": [["lìn"], ["bìng"]],
		"淋淋": [["lín"], ["lín"]],
		"淋雨": [["lín"], ["yǔ"]],
		"淋浴": [["lín"], ["yù"]],
		"霖雨": [["lín"], ["yǔ"]],
		"鳞片": [["lín"], ["piàn"]],
		"鳞爪": [["lín"], ["zhǎo"]],
		"檩条": [["lǐn"], ["tiáo"]],
		"灵便": [["líng"], ["biàn"]],
		"灵车": [["líng"], ["chē"]],
		"灵猫": [["líng"], ["māo"]],
		"灵蛇": [["líng"], ["shé"]],
		"岭南": [["lǐng"], ["nán"]],
		"凌空": [["líng"], ["kōng"]],
		"铃铛": [["líng"], ["dang"]],
		"零度": [["líng"], ["dù"]],
		"零落": [["líng"], ["luò"]],
		"零散": [["líng"], ["sǎn"]],
		"零食": [["líng"], ["shí"]],
		"零数": [["líng"], ["shù"]],
		"零头": [["líng"], ["tóu"]],
		"领教": [["lǐng"], ["jiào"]],
		"令爱": [["lìng"], ["ài"]],
		"令嫒": [["lìng"], ["ài"]],
		"令狐": [["líng"], ["hú"]],
		"令弟": [["lìng"], ["dì"]],
		"令箭": [["lìng"], ["jiàn"]],
		"令节": [["lìng"], ["jié"]],
		"令郎": [["lìng"], ["láng"]],
		"令牌": [["lìng"], ["pái"]],
		"令妹": [["lìng"], ["mèi"]],
		"令亲": [["lìng"], ["qīn"]],
		"令旗": [["lìng"], ["qí"]],
		"令人": [["lìng"], ["rén"]],
		"令兄": [["lìng"], ["xiōng"]],
		"令堂": [["lìng"], ["táng"]],
		"令媛": [["lìng"], ["yuàn"]],
		"令誉": [["lìng"], ["yù"]],
		"令状": [["lìng"], ["zhuàng"]],
		"令尊": [["lìng"], ["zūn"]],
		"另行": [["lìng"], ["xíng"]],
		"溜边": [["liū"], ["biān"]],
		"溜冰": [["liū"], ["bīng"]],
		"溜槽": [["liū"], ["cáo"]],
		"溜掉": [["liū"], ["diào"]],
		"溜达": [["liū"], ["dá"]],
		"溜光": [["liū"], ["guāng"]],
		"溜号": [["liū"], ["hào"]],
		"溜滑": [["liū"], ["huá"]],
		"溜开": [["liū"], ["kāi"]],
		"溜溜": [["liū"], ["liū"]],
		"溜索": [["liū"], ["suǒ"]],
		"溜圆": [["liū"], ["yuán"]],
		"溜子": [["liū"], ["zǐ"]],
		"溜走": [["liū"], ["zǒu"]],
		"流别": [["liú"], ["bié"]],
		"流传": [["liú"], ["chuán"]],
		"流弹": [["liú"], ["dàn"]],
		"流毒": [["liú"], ["dú"]],
		"流风": [["liú"], ["fēng"]],
		"流汗": [["liú"], ["hàn"]],
		"流化": [["liú"], ["huà"]],
		"流量": [["liú"], ["liàng"]],
		"流丽": [["liú"], ["lì"]],
		"流露": [["liú"], ["lù"]],
		"流氓": [["liú"], ["máng"]],
		"流落": [["liú"], ["luò"]],
		"流沙": [["liú"], ["shā"]],
		"流散": [["liú"], ["sàn"]],
		"流食": [["liú"], ["shí"]],
		"流苏": [["liú"], ["sū"]],
		"流淌": [["liú"], ["tǎng"]],
		"流体": [["liú"], ["tǐ"]],
		"流亡": [["liú"], ["wáng"]],
		"流行": [["liú"], ["xíng"]],
		"流转": [["liú"], ["zhuǎn"]],
		"流血": [["liú"], ["xiě"]],
		"留别": [["liú"], ["bié"]],
		"留传": [["liú"], ["chuán"]],
		"留待": [["liú"], ["dài"]],
		"留空": [["liú"], ["kòng"]],
		"留落": [["liú"], ["luò"]],
		"留难": [["liú"], ["nàn"]],
		"留任": [["liú"], ["rèn"]],
		"留宿": [["liú"], ["sù"]],
		"留种": [["liú"], ["zhǒng"]],
		"硫化": [["liú"], ["huà"]],
		"榴弹": [["liú"], ["dàn"]],
		"馏分": [["liú"], ["fèn"]],
		"柳梢": [["liǔ"], ["shāo"]],
		"柳体": [["liǔ"], ["tǐ"]],
		"柳条": [["liǔ"], ["tiáo"]],
		"柳巷": [["liǔ"], ["xiàng"]],
		"柳叶": [["liǔ"], ["yè"]],
		"柳荫": [["liǔ"], ["yīn"]],
		"柳枝": [["liǔ"], ["zhī"]],
		"六朝": [["liù"], ["cháo"]],
		"六大": [["liù"], ["dà"]],
		"六腑": [["liù"], ["fǔ"]],
		"六根": [["liù"], ["gēn"]],
		"六号": [["liù"], ["hào"]],
		"六合": [["liù"], ["hé"]],
		"六甲": [["liù"], ["jiǎ"]],
		"六角": [["liù"], ["jiǎo"]],
		"六经": [["liù"], ["jīng"]],
		"六礼": [["liù"], ["lǐ"]],
		"六亲": [["liù"], ["qīn"]],
		"六神": [["liù"], ["shén"]],
		"六师": [["liù"], ["shī"]],
		"六世": [["liù"], ["shì"]],
		"六书": [["liù"], ["shū"]],
		"六畜": [["liù"], ["chù"]],
		"六一": [["liù"], ["yī"]],
		"六艺": [["liù"], ["yì"]],
		"六欲": [["liù"], ["yù"]],
		"六月": [["liù"], ["yuè"]],
		"六祖": [["liù"], ["zǔ"]],
		"六指": [["liù"], ["zhǐ"]],
		"咯噔": [["gē"], ["dēng"]],
		"咯咯": [["gē"], ["gē"]],
		"咯血": [["kǎ"], ["xiě"]],
		"咯吱": [["gē"], ["zhī"]],
		"龙柏": [["lóng"], ["bǎi"]],
		"龙骨": [["lóng"], ["gǔ"]],
		"龙华": [["lóng"], ["huá"]],
		"龙卷": [["lóng"], ["juǎn"]],
		"龙体": [["lóng"], ["tǐ"]],
		"龙头": [["lóng"], ["tóu"]],
		"龙王": [["lóng"], ["wáng"]],
		"拢共": [["lǒng"], ["gòng"]],
		"喽罗": [["lóu"], ["luó"]],
		"喽啰": [["lóu"], ["luō"]],
		"楼上": [["lóu"], ["shàng"]],
		"搂抱": [["lǒu"], ["bào"]],
		"楼台": [["lóu"], ["tái"]],
		"陋巷": [["lòu"], ["xiàng"]],
		"漏斗": [["lòu"], ["dǒu"]],
		"漏风": [["lòu"], ["fēng"]],
		"漏泄": [["lòu"], ["xiè"]],
		"露白": [["lòu"], ["bái"]],
		"镂空": [["lòu"], ["kōng"]],
		"露布": [["lù"], ["bù"]],
		"露齿": [["lù"], ["chǐ"]],
		"露丑": [["lòu"], ["chǒu"]],
		"露底": [["lòu"], ["dǐ"]],
		"露风": [["lòu"], ["fēng"]],
		"露点": [["lù"], ["diǎn"]],
		"露富": [["lòu"], ["fù"]],
		"露骨": [["lòu"], ["gǔ"]],
		"露光": [["lù"], ["guāng"]],
		"露酒": [["lù"], ["jiǔ"]],
		"露脸": [["lòu"], ["liǎn"]],
		"露面": [["lòu"], ["miàn"]],
		"露苗": [["lòu"], ["miáo"]],
		"露怯": [["lòu"], ["qiè"]],
		"露水": [["lù"], ["shuǐ"]],
		"露宿": [["lù"], ["sù"]],
		"露台": [["lù"], ["tái"]],
		"露天": [["lù"], ["tiān"]],
		"露头": [["lù"], ["tóu"]],
		"露馅": [["lòu"], ["xiàn"]],
		"噜苏": [["lū"], ["sū"]],
		"露相": [["lòu"], ["xiàng"]],
		"露营": [["lù"], ["yíng"]],
		"露珠": [["lù"], ["zhū"]],
		"炉台": [["lú"], ["tái"]],
		"芦丁": [["lú"], ["dīng"]],
		"卤化": [["lǔ"], ["huà"]],
		"陆地": [["lù"], ["dì"]],
		"陆风": [["lù"], ["fēng"]],
		"陆上": [["lù"], ["shàng"]],
		"鹿尾": [["lù"], ["wěi"]],
		"碌碡": [["liù"], ["zhou"]],
		"滤过": [["lǜ"], ["guò"]],
		"碌碌": [["lù"], ["lù"]],
		"路过": [["lù"], ["guò"]],
		"路风": [["lù"], ["fēng"]],
		"路祭": [["lù"], ["jì"]],
		"路卡": [["lù"], ["qiǎ"]],
		"路旁": [["lù"], ["páng"]],
		"路上": [["lù"], ["shàng"]],
		"路数": [["lù"], ["shù"]],
		"路条": [["lù"], ["tiáo"]],
		"路头": [["lù"], ["tóu"]],
		"闾巷": [["lǘ"], ["xiàng"]],
		"履行": [["lǚ"], ["xíng"]],
		"旅行": [["lǚ"], ["xíng"]],
		"履约": [["lǚ"], ["yuē"]],
		"律令": [["lǜ"], ["lìng"]],
		"律条": [["lǜ"], ["tiáo"]],
		"率领": [["shuài"], ["lǐng"]],
		"率然": [["shuài"], ["rán"]],
		"率性": [["shuài"], ["xìng"]],
		"率真": [["shuài"], ["zhēn"]],
		"率直": [["shuài"], ["zhí"]],
		"绿化": [["lǜ"], ["huà"]],
		"挛缩": [["luán"], ["suō"]],
		"卵壳": [["luǎn"], ["ké"]],
		"卵裂": [["luǎn"], ["liè"]],
		"卵石": [["luǎn"], ["shí"]],
		"乱打": [["luàn"], ["dǎ"]],
		"乱弹": [["luàn"], ["tán"]],
		"乱发": [["luàn"], ["fā"]],
		"乱说": [["luàn"], ["shuō"]],
		"伦敦": [["lún"], ["dūn"]],
		"沦落": [["lún"], ["luò"]],
		"沦没": [["lún"], ["mò"]],
		"沦丧": [["lún"], ["sàng"]],
		"沦亡": [["lún"], ["wáng"]],
		"纶巾": [["guān"], ["jīn"]],
		"轮番": [["lún"], ["fān"]],
		"轮圈": [["lún"], ["quān"]],
		"轮台": [["lún"], ["tái"]],
		"轮休": [["lún"], ["xiū"]],
		"轮椅": [["lún"], ["yǐ"]],
		"轮种": [["lún"], ["zhòng"]],
		"轮轴": [["lún"], ["zhóu"]],
		"轮转": [["lún"], ["zhuàn"]],
		"论辩": [["lùn"], ["biàn"]],
		"论处": [["lùn"], ["chǔ"]],
		"论道": [["lùn"], ["dào"]],
		"论敌": [["lùn"], ["dí"]],
		"论点": [["lùn"], ["diǎn"]],
		"论调": [["lùn"], ["diào"]],
		"论断": [["lùn"], ["duàn"]],
		"论及": [["lùn"], ["jí"]],
		"论集": [["lùn"], ["jí"]],
		"论价": [["lùn"], ["jià"]],
		"论剑": [["lùn"], ["jiàn"]],
		"论交": [["lùn"], ["jiāo"]],
		"论据": [["lùn"], ["jù"]],
		"论理": [["lùn"], ["lǐ"]],
		"论列": [["lùn"], ["liè"]],
		"论难": [["lùn"], ["nàn"]],
		"论述": [["lùn"], ["shù"]],
		"论坛": [["lùn"], ["tán"]],
		"论说": [["lùn"], ["shuō"]],
		"论题": [["lùn"], ["tí"]],
		"论文": [["lùn"], ["wén"]],
		"论语": [["lún"], ["yǔ"]],
		"论战": [["lùn"], ["zhàn"]],
		"论争": [["lùn"], ["zhēng"]],
		"论证": [["lùn"], ["zhèng"]],
		"论著": [["lùn"], ["zhù"]],
		"论罪": [["lùn"], ["zuì"]],
		"罗甸": [["luó"], ["diàn"]],
		"罗拉": [["luó"], ["lā"]],
		"罗勒": [["luó"], ["lè"]],
		"罗刹": [["luó"], ["chà"]],
		"罗圈": [["luó"], ["quān"]],
		"罗纹": [["luó"], ["wén"]],
		"罗织": [["luó"], ["zhī"]],
		"螺钉": [["luó"], ["dīng"]],
		"螺杆": [["luó"], ["gǎn"]],
		"螺号": [["luó"], ["hào"]],
		"螺纹": [["luó"], ["wén"]],
		"螺旋": [["luó"], ["xuán"]],
		"裸露": [["luǒ"], ["lù"]],
		"裸体": [["luǒ"], ["tǐ"]],
		"洛夫": [["luò"], ["fū"]],
		"络脉": [["luò"], ["mài"]],
		"络绎": [["luò"], ["yì"]],
		"络子": [["lào"], ["zi"]],
		"落榜": [["luò"], ["bǎng"]],
		"落笔": [["luò"], ["bǐ"]],
		"落膘": [["luò"], ["biāo"]],
		"落草": [["luò"], ["cǎo"]],
		"落泊": [["luò"], ["bó"]],
		"落差": [["luò"], ["chà"]],
		"落潮": [["luò"], ["cháo"]],
		"落尘": [["luò"], ["chén"]],
		"落成": [["luò"], ["chéng"]],
		"落单": [["luò"], ["dān"]],
		"落得": [["luò"], ["de"]],
		"落地": [["luò"], ["dì"]],
		"落第": [["luò"], ["dì"]],
		"落点": [["luò"], ["diǎn"]],
		"落发": [["luò"], ["fà"]],
		"落后": [["luò"], ["hòu"]],
		"落户": [["luò"], ["hù"]],
		"落荒": [["luò"], ["huāng"]],
		"落籍": [["luò"], ["jí"]],
		"落价": [["lào"], ["jià"]],
		"落脚": [["luò"], ["jiǎo"]],
		"落空": [["luò"], ["kōng"]],
		"落款": [["luò"], ["kuǎn"]],
		"落泪": [["luò"], ["lèi"]],
		"落马": [["luò"], ["mǎ"]],
		"落寞": [["luò"], ["mò"]],
		"落墨": [["luò"], ["mò"]],
		"落幕": [["luò"], ["mù"]],
		"落难": [["luò"], ["nàn"]],
		"落日": [["luò"], ["rì"]],
		"落魄": [["luò"], ["tuò"]],
		"落实": [["luò"], ["shí"]],
		"落山": [["luò"], ["shān"]],
		"落市": [["luò"], ["shì"]],
		"落水": [["luò"], ["shuǐ"]],
		"落俗": [["luò"], ["sú"]],
		"落锁": [["luò"], ["suǒ"]],
		"落套": [["luò"], ["tào"]],
		"落拓": [["luò"], ["tuò"]],
		"落体": [["luò"], ["tǐ"]],
		"落网": [["luò"], ["wǎng"]],
		"落伍": [["luò"], ["wǔ"]],
		"落霞": [["luò"], ["xiá"]],
		"落选": [["luò"], ["xuǎn"]],
		"落叶": [["luò"], ["yè"]],
		"落下": [["là"], ["xià"]],
		"落音": [["luò"], ["yīn"]],
		"落英": [["luò"], ["yīng"]],
		"落帐": [["luò"], ["zhàng"]],
		"落照": [["luò"], ["zhào"]],
		"落枕": [["lào"], ["zhěn"]],
		"落子": [["lào"], ["zǐ"]],
		"漯河": [["luò", "tà"], ["hé"]],
		"落座": [["luò"], ["zuò"]],
		"麻雀": [["má"], ["què"]],
		"马勃": [["mǎ"], ["bó"]],
		"马车": [["mǎ"], ["chē"]],
		"马刺": [["mǎ"], ["cì"]],
		"马夫": [["mǎ"], ["fū"]],
		"马号": [["mǎ"], ["hào"]],
		"马勒": [["mǎ"], ["lè"]],
		"马尿": [["mǎ"], ["niào"]],
		"马圈": [["mǎ"], ["juàn"]],
		"马上": [["mǎ"], ["shàng"]],
		"马术": [["mǎ"], ["shù"]],
		"马头": [["mǎ"], ["tóu"]],
		"马尾": [["mǎ"], ["yǐ"]],
		"马戏": [["mǎ"], ["xì"]],
		"马扎": [["mǎ"], ["zhá"]],
		"马仔": [["mǎ"], ["zǎi"]],
		"码垛": [["mǎ"], ["duǒ"]],
		"蚂蜂": [["mǎ"], ["fēng"]],
		"码头": [["mǎ"], ["tóu"]],
		"蚂蝗": [["mǎ"], ["huáng"]],
		"蚂蟥": [["mǎ"], ["huáng"]],
		"蚂蚁": [["mǎ"], ["yǐ"]],
		"蚂螂": [["mā"], ["láng"]],
		"蚂蚱": [["mà"], ["zhà"]],
		"唛头": [["mà"], ["tóu"]],
		"吗啡": [["mǎ"], ["fēi"]],
		"埋伏": [["mái"], ["fú"]],
		"埋藏": [["mái"], ["cáng"]],
		"埋名": [["mái"], ["míng"]],
		"埋没": [["mái"], ["mò"]],
		"埋设": [["mái"], ["shè"]],
		"埋首": [["mái"], ["shǒu"]],
		"埋头": [["mái"], ["tóu"]],
		"埋汰": [["mái"], ["tài"]],
		"埋怨": [["mán"], ["yuàn"]],
		"埋葬": [["mái"], ["zàng"]],
		"买好": [["mǎi"], ["hǎo"]],
		"买家": [["mǎi"], ["jiā"]],
		"买价": [["mǎi"], ["jià"]],
		"迈上": [["mài"], ["shàng"]],
		"麦蛾": [["mài"], ["é"]],
		"麦角": [["mài"], ["jiǎo"]],
		"麦片": [["mài"], ["piàn"]],
		"麦粥": [["mài"], ["zhōu"]],
		"卖好": [["mài"], ["hǎo"]],
		"卖价": [["mài"], ["jià"]],
		"卖空": [["mài"], ["kōng"]],
		"卖劲": [["mài"], ["jìn"]],
		"卖弄": [["mài"], ["nòng"]],
		"卖俏": [["mài"], ["qiào"]],
		"卖相": [["mài"], ["xiàng"]],
		"脉案": [["mài"], ["àn"]],
		"脉搏": [["mài"], ["bó"]],
		"脉冲": [["mài"], ["chōng"]],
		"脉动": [["mài"], ["dòng"]],
		"脉管": [["mài"], ["guǎn"]],
		"脉脉": [["mò"], ["mò"]],
		"脉络": [["mài"], ["luò"]],
		"脉理": [["mài"], ["lǐ"]],
		"脉门": [["mài"], ["mén"]],
		"脉息": [["mài"], ["xī"]],
		"脉石": [["mài"], ["shí"]],
		"脉象": [["mài"], ["xiàng"]],
		"脉压": [["mài"], ["yā"]],
		"蛮干": [["mán"], ["gàn"]],
		"蛮横": [["mán"], ["hèng"]],
		"蛮劲": [["mán"], ["jìn"]],
		"馒头": [["mán"], ["tou"]],
		"瞒产": [["mán"], ["chǎn"]],
		"瞒哄": [["mán"], ["hǒng"]],
		"满处": [["mǎn"], ["chǔ"]],
		"满分": [["mǎn"], ["fēn"]],
		"满期": [["mǎn"], ["qī"]],
		"满载": [["mǎn"], ["zài"]],
		"满员": [["mǎn"], ["yuán"]],
		"慢车": [["màn"], ["chē"]],
		"慢待": [["màn"], ["dài"]],
		"慢化": [["màn"], ["huà"]],
		"慢说": [["màn"], ["shuō"]],
		"漫长": [["màn"], ["cháng"]],
		"漫卷": [["màn"], ["juàn"]],
		"漫说": [["màn"], ["shuō"]],
		"蔓草": [["màn"], ["cǎo"]],
		"蔓生": [["màn"], ["shēng"]],
		"蔓延": [["màn"], ["yán"]],
		"蔓衍": [["màn"], ["yǎn"]],
		"忙碌": [["máng"], ["lù"]],
		"芒刺": [["máng"], ["cì"]],
		"芒种": [["máng"], ["zhòng"]],
		"盲从": [["máng"], ["cóng"]],
		"盲女": [["máng"], ["nǚ"]],
		"蟒袍": [["mǎng"], ["páo"]],
		"蟒蛇": [["mǎng"], ["shé"]],
		"毛刺": [["máo"], ["cì"]],
		"毛发": [["máo"], ["fà"]],
		"毛葛": [["máo"], ["gě"]],
		"毛拉": [["máo"], ["lā"]],
		"毛呢": [["máo"], ["ní"]],
		"毛囊": [["máo"], ["náng"]],
		"毛片": [["máo"], ["piàn"]],
		"毛票": [["máo"], ["piào"]],
		"毛渠": [["máo"], ["qú"]],
		"毛刷": [["máo"], ["shuā"]],
		"毛石": [["máo"], ["shí"]],
		"毛条": [["máo"], ["tiáo"]],
		"毛头": [["máo"], ["tóu"]],
		"毛重": [["máo"], ["zhòng"]],
		"矛头": [["máo"], ["tóu"]],
		"茅台": [["máo"], ["tái"]],
		"锚泊": [["máo"], ["bó"]],
		"锚地": [["máo"], ["dì"]],
		"铆钉": [["mǎo"], ["dīng"]],
		"茂盛": [["mào"], ["shèng"]],
		"冒充": [["mào"], ["chōng"]],
		"冒顶": [["mào"], ["dǐng"]],
		"冒犯": [["mào"], ["fàn"]],
		"冒渎": [["mào"], ["dú"]],
		"冒号": [["mào"], ["hào"]],
		"冒功": [["mào"], ["gōng"]],
		"冒火": [["mào"], ["huǒ"]],
		"冒尖": [["mào"], ["jiān"]],
		"冒进": [["mào"], ["jìn"]],
		"冒领": [["mào"], ["lǐng"]],
		"冒昧": [["mào"], ["mèi"]],
		"冒名": [["mào"], ["míng"]],
		"冒牌": [["mào"], ["pái"]],
		"冒失": [["mào"], ["shī"]],
		"冒死": [["mào"], ["sǐ"]],
		"冒头": [["mào"], ["tóu"]],
		"冒险": [["mào"], ["xiǎn"]],
		"冒烟": [["mào"], ["yān"]],
		"冒雨": [["mào"], ["yǔ"]],
		"貌似": [["mào"], ["sì"]],
		"貌相": [["mào"], ["xiāng"]],
		"没齿": [["mò"], ["chǐ"]],
		"没底": [["méi"], ["dǐ"]],
		"没劲": [["méi"], ["jìn"]],
		"没救": [["méi"], ["jiù"]],
		"没空": [["méi"], ["kòng"]],
		"没脸": [["méi"], ["liǎn"]],
		"没落": [["mò"], ["luò"]],
		"没命": [["méi"], ["mìng"]],
		"没趣": [["méi"], ["qù"]],
		"没人": [["méi"], ["rén"]],
		"没入": [["mò"], ["rù"]],
		"没世": [["mò"], ["shì"]],
		"没事": [["méi"], ["shì"]],
		"没收": [["mò"], ["shōu"]],
		"没完": [["méi"], ["wán"]],
		"没味": [["méi"], ["wèi"]],
		"没戏": [["méi"], ["xì"]],
		"没药": [["mò"], ["yào"]],
		"没用": [["méi"], ["yòng"]],
		"没羞": [["méi"], ["xiū"]],
		"没有": [["méi"], ["yǒu"]],
		"眉梢": [["méi"], ["shāo"]],
		"眉头": [["méi"], ["tóu"]],
		"梅雨": [["méi"], ["yǔ"]],
		"媒合": [["méi"], ["hé"]],
		"媒体": [["méi"], ["tǐ"]],
		"煤毒": [["méi"], ["dú"]],
		"霉菌": [["méi"], ["jūn"]],
		"霉头": [["méi"], ["tóu"]],
		"霉雨": [["méi"], ["yǔ"]],
		"每当": [["měi"], ["dāng"]],
		"美称": [["měi"], ["chēng"]],
		"美差": [["měi"], ["chāi"]],
		"美观": [["měi"], ["guān"]],
		"美好": [["měi"], ["hǎo"]],
		"美化": [["měi"], ["huà"]],
		"美景": [["měi"], ["jǐng"]],
		"美丽": [["měi"], ["lì"]],
		"美食": [["měi"], ["shí"]],
		"美女": [["měi"], ["nǚ"]],
		"美术": [["měi"], ["shù"]],
		"美语": [["měi"], ["yǔ"]],
		"妹夫": [["mèi"], ["fū"]],
		"媚骨": [["mèi"], ["gǔ"]],
		"门把": [["mén"], ["bà"]],
		"门丁": [["mén"], ["dīng"]],
		"门钉": [["mén"], ["dīng"]],
		"门斗": [["mén"], ["dǒu"]],
		"门风": [["mén"], ["fēng"]],
		"门缝": [["mén"], ["fèng"]],
		"门号": [["mén"], ["hào"]],
		"门槛": [["mén"], ["kǎn"]],
		"门将": [["mén"], ["jiāng"]],
		"门票": [["mén"], ["piào"]],
		"门禁": [["mén"], ["jìn"]],
		"门扇": [["mén"], ["shàn"]],
		"门上": [["mén"], ["shàng"]],
		"闷酒": [["mèn"], ["jiǔ"]],
		"闷棍": [["mèn"], ["gùn"]],
		"闷倦": [["mèn"], ["juàn"]],
		"闷雷": [["mēn"], ["léi"]],
		"闷热": [["mēn"], ["rè"]],
		"闷气": [["mēn"], ["qì"]],
		"闷声": [["mēn"], ["shēng"]],
		"闷头": [["mèn"], ["tóu"]],
		"盟员": [["méng"], ["yuán"]],
		"盟约": [["méng"], ["yuē"]],
		"礞石": [["méng"], ["shí"]],
		"猛可": [["měng"], ["kě"]],
		"蒙蔽": [["méng"], ["bì"]],
		"蒙尘": [["meng"], ["chen"]],
		"蒙恩": [["méng"], ["ēn"]],
		"蒙垢": [["méng"], ["gòu"]],
		"蒙混": [["méng"], ["hùn"]],
		"蒙哄": [["méng"], ["hǒng"]],
		"蒙胧": [["méng"], ["lóng"]],
		"蒙昧": [["méng"], ["mèi"]],
		"蒙蒙": [["méng"], ["méng"]],
		"蒙面": [["méng"], ["miàn"]],
		"蒙难": [["méng"], ["nàn"]],
		"蒙皮": [["méng"], ["pí"]],
		"蒙骗": [["méng"], ["piàn"]],
		"蒙事": [["mēng"], ["shì"]],
		"蒙师": [["méng"], ["shī"]],
		"蒙受": [["méng"], ["shòu"]],
		"蒙羞": [["méng"], ["xiū"]],
		"蒙药": [["méng"], ["yào"]],
		"蒙冤": [["méng"], ["yuān"]],
		"锰钢": [["měng"], ["gāng"]],
		"弥补": [["mí"], ["bǔ"]],
		"弥封": [["mí"], ["fēng"]],
		"弥合": [["mí"], ["hé"]],
		"弥缝": [["mí"], ["féng"]],
		"弥留": [["mí"], ["liú"]],
		"弥勒": [["mí"], ["lè"]],
		"弥漫": [["mí"], ["màn"]],
		"弥撒": [["mí"], ["sā"]],
		"弥蒙": [["mí"], ["méng"]],
		"弥天": [["mí"], ["tiān"]],
		"弥散": [["mí"], ["sàn"]],
		"弥望": [["mí"], ["wàng"]],
		"弥陀": [["mí"], ["tuó"]],
		"弥月": [["mí"], ["yuè"]],
		"迷糊": [["mí"], ["hu"]],
		"迷蒙": [["mí"], ["méng"]],
		"迷信": [["mí"], ["xìn"]],
		"糜费": [["mí"], ["fèi"]],
		"糜烂": [["mí"], ["làn"]],
		"靡丽": [["mǐ"], ["lì"]],
		"糜子": [["méi"], ["zǐ"]],
		"米尺": [["mǐ"], ["chǐ"]],
		"米汤": [["mǐ"], ["tāng"]],
		"泌阳": [["bì"], ["yáng"]],
		"觅食": [["mì"], ["shí"]],
		"秘本": [["mì"], ["běn"]],
		"秘宝": [["mì"], ["bǎo"]],
		"秘藏": [["mì"], ["cáng"]],
		"秘传": [["mì"], ["chuán"]],
		"秘方": [["mì"], ["fāng"]],
		"秘籍": [["mì"], ["jí"]],
		"秘诀": [["mì"], ["jué"]],
		"秘鲁": [["bì"], ["lǔ"]],
		"秘密": [["mì"], ["mì"]],
		"秘书": [["mì"], ["shū"]],
		"秘史": [["mì"], ["shǐ"]],
		"密语": [["mì"], ["yǔ"]],
		"蜜供": [["mì"], ["gòng"]],
		"蜜露": [["mì"], ["lù"]],
		"蜜语": [["mì"], ["yǔ"]],
		"棉被": [["mián"], ["bèi"]],
		"免得": [["miǎn"], ["de"]],
		"免冠": [["miǎn"], ["guān"]],
		"免票": [["miǎn"], ["piào"]],
		"黾勉": [["mǐn"], ["miǎn"]],
		"勉强": [["miǎn"], ["qiǎng"]],
		"面朝": [["miàn"], ["cháo"]],
		"面红": [["miàn"], ["hóng"]],
		"面糊": [["miàn"], ["hù"]],
		"面上": [["miàn"], ["shàng"]],
		"面见": [["miàn"], ["jiàn"]],
		"面食": [["miàn"], ["shí"]],
		"面汤": [["miàn"], ["tāng"]],
		"面条": [["miàn"], ["tiáo"]],
		"面相": [["miàn"], ["xiāng"]],
		"苗期": [["miáo"], ["qī"]],
		"苗条": [["miáo"], ["tiáo"]],
		"苗头": [["miáo"], ["tóu"]],
		"邈远": [["miǎo"], ["yuǎn"]],
		"妙处": [["miào"], ["chù"]],
		"渺远": [["miǎo"], ["yuǎn"]],
		"妙句": [["miào"], ["jù"]],
		"妙论": [["miào"], ["lùn"]],
		"妙趣": [["miào"], ["qù"]],
		"妙语": [["miào"], ["yǔ"]],
		"庙号": [["miào"], ["hào"]],
		"乜斜": [["niè"], ["xié"]],
		"庙会": [["miào"], ["huì"]],
		"灭亡": [["miè"], ["wáng"]],
		"灭种": [["miè"], ["zhǒng"]],
		"灭菌": [["miè"], ["jūn"]],
		"民风": [["mín"], ["fēng"]],
		"民夫": [["mín"], ["fū"]],
		"篾片": [["miè"], ["piàn"]],
		"民家": [["mín"], ["jiā"]],
		"民间": [["mín"], ["jiān"]],
		"民乐": [["mín"], ["yuè"]],
		"民食": [["mín"], ["shí"]],
		"民校": [["mín"], ["xiào"]],
		"民约": [["mín"], ["yuē"]],
		"泯没": [["mǐn"], ["mò"]],
		"名簿": [["míng"], ["bù"]],
		"名称": [["míng"], ["chēng"]],
		"名单": [["míng"], ["dān"]],
		"名分": [["míng"], ["fēn"]],
		"名号": [["míng"], ["hào"]],
		"名将": [["míng"], ["jiàng"]],
		"名家": [["míng"], ["jiā"]],
		"名角": [["míng"], ["jué"]],
		"名教": [["míng"], ["jiào"]],
		"名节": [["míng"], ["jié"]],
		"名句": [["míng"], ["jù"]],
		"名片": [["míng"], ["piàn"]],
		"名刹": [["míng"], ["shā"]],
		"名宿": [["míng"], ["sù"]],
		"名数": [["míng"], ["shù"]],
		"名帖": [["míng"], ["tiě"]],
		"名媛": [["míng"], ["yuàn"]],
		"名著": [["míng"], ["zhù"]],
		"明朝": [["míng"], ["cháo"]],
		"明处": [["míng"], ["chù"]],
		"明度": [["míng"], ["dù"]],
		"明净": [["míng"], ["jìng"]],
		"明丽": [["míng"], ["lì"]],
		"明教": [["míng"], ["jiào"]],
		"明了": [["míng"], ["liǎo"]],
		"明令": [["míng"], ["lìng"]],
		"明渠": [["míng"], ["qú"]],
		"明抢": [["míng"], ["qiǎng"]],
		"明说": [["míng"], ["shuō"]],
		"明瓦": [["míng"], ["wǎ"]],
		"明王": [["míng"], ["wáng"]],
		"明知": [["míng"], ["zhī"]],
		"冥思": [["míng"], ["sī"]],
		"螟蛾": [["míng"], ["é"]],
		"酩酊": [["mǐng"], ["dǐng"]],
		"命薄": [["mìng"], ["bó"]],
		"命令": [["mìng"], ["lìng"]],
		"命脉": [["mìng"], ["mài"]],
		"命相": [["mìng"], ["xiāng"]],
		"命数": [["mìng"], ["shù"]],
		"命中": [["mìng"], ["zhòng"]],
		"谬说": [["miù"], ["shuō"]],
		"谬论": [["miù"], ["lùn"]],
		"摸底": [["mō"], ["dǐ"]],
		"谬种": [["miù"], ["zhǒng"]],
		"摸头": [["mō"], ["tóu"]],
		"模板": [["mú"], ["bǎn"]],
		"模本": [["mó"], ["běn"]],
		"模范": [["mó"], ["fàn"]],
		"模仿": [["mó"], ["fǎng"]],
		"模糊": [["mó"], ["hu"]],
		"模具": [["mú"], ["jù"]],
		"模棱": [["mó"], ["léng"]],
		"模式": [["mó"], ["shì"]],
		"模拟": [["mó"], ["nǐ"]],
		"模型": [["mó"], ["xíng"]],
		"模印": [["mó"], ["yìn"]],
		"模样": [["mú"], ["yàng"]],
		"模子": [["mú"], ["zǐ"]],
		"摩擦": [["mó"], ["cā"]],
		"摩尔": [["mó"], ["ěr"]],
		"摩登": [["mó"], ["dēng"]],
		"摩抚": [["mó"], ["fǔ"]],
		"摩托": [["mó"], ["tuō"]],
		"摩天": [["mó"], ["tiān"]],
		"摩挲": [["mā"], ["sā"]],
		"摩崖": [["mó"], ["yá"]],
		"磨擦": [["mó"], ["cā"]],
		"磨蹭": [["mó"], ["cèng"]],
		"磨叨": [["mò"], ["dāo"]],
		"磨烦": [["mò"], ["fán"]],
		"磨坊": [["mò"], ["fáng"]],
		"磨房": [["mó"], ["fáng"]],
		"磨菇": [["mó"], ["gū"]],
		"磨光": [["mó"], ["guāng"]],
		"磨耗": [["mó"], ["hào"]],
		"磨合": [["mó"], ["hé"]],
		"磨快": [["mó"], ["kuài"]],
		"磨砺": [["mó"], ["lì"]],
		"磨炼": [["mó"], ["liàn"]],
		"磨练": [["mó"], ["liàn"]],
		"磨灭": [["mó"], ["miè"]],
		"磨磨": [["mó"], ["mó"]],
		"磨难": [["mó"], ["nàn"]],
		"磨盘": [["mò"], ["pán"]],
		"磨扇": [["mó"], ["shàn"]],
		"磨石": [["mó"], ["shí"]],
		"磨损": [["mó"], ["sǔn"]],
		"磨蚀": [["mó"], ["shí"]],
		"磨洗": [["mó"], ["xǐ"]],
		"磨牙": [["mó"], ["yá"]],
		"磨折": [["mó"], ["zhé"]],
		"磨子": [["mò"], ["zǐ"]],
		"磨嘴": [["mó"], ["zuǐ"]],
		"魔教": [["mó"], ["jiào"]],
		"魔女": [["mó"], ["nǚ"]],
		"魔术": [["mó"], ["shù"]],
		"魔头": [["mó"], ["tóu"]],
		"魔王": [["mó"], ["wáng"]],
		"魔爪": [["mó"], ["zhǎo"]],
		"抹布": [["mā"], ["bù"]],
		"抹粉": [["mǒ"], ["fěn"]],
		"抹灰": [["mò"], ["huī"]],
		"抹黑": [["mǒ"], ["hēi"]],
		"抹脸": [["mā"], ["liǎn"]],
		"抹杀": [["mǒ"], ["shā"]],
		"抹煞": [["mǒ"], ["shà"]],
		"抹子": [["mǒ"], ["zǐ"]],
		"抹胸": [["mò"], ["xiōng"]],
		"末节": [["mò"], ["jié"]],
		"末了": [["mò"], ["liǎo"]],
		"末期": [["mò"], ["qī"]],
		"末梢": [["mò"], ["shāo"]],
		"末尾": [["mò"], ["wěi"]],
		"末叶": [["mò"], ["yè"]],
		"莫不": [["mò"], ["bù"]],
		"莫大": [["mò"], ["dà"]],
		"莫非": [["mò"], ["fēi"]],
		"莫名": [["mò"], ["míng"]],
		"莫逆": [["mò"], ["nì"]],
		"莫如": [["mò"], ["rú"]],
		"漠北": [["mò"], ["běi"]],
		"漠南": [["mò"], ["nán"]],
		"墨斗": [["mò"], ["dǒu"]],
		"蓦地": [["mò"], ["dì"]],
		"墨家": [["mò"], ["jiā"]],
		"墨绿": [["mò"], ["lǜ"]],
		"墨囊": [["mò"], ["náng"]],
		"默读": [["mò"], ["dú"]],
		"默片": [["mò"], ["piàn"]],
		"默契": [["mò"], ["qì"]],
		"默许": [["mò"], ["xǔ"]],
		"牟利": [["móu"], ["lì"]],
		"牟取": [["móu"], ["qǔ"]],
		"某地": [["mǒu"], ["dì"]],
		"某个": [["mǒu"], ["gè"]],
		"某些": [["mǒu"], ["xiē"]],
		"母教": [["mǔ"], ["jiào"]],
		"母亲": [["mǔ"], ["qīn"]],
		"母体": [["mǔ"], ["tǐ"]],
		"母系": [["mǔ"], ["xì"]],
		"母畜": [["mǔ"], ["chù"]],
		"母校": [["mǔ"], ["xiào"]],
		"木尺": [["mù"], ["chǐ"]],
		"母语": [["mǔ"], ["yǔ"]],
		"木杆": [["mù"], ["gǎn"]],
		"木棍": [["mù"], ["gùn"]],
		"木杠": [["mù"], ["gàng"]],
		"木笼": [["mù"], ["lóng"]],
		"木排": [["mù"], ["pái"]],
		"木模": [["mù"], ["mú"]],
		"木塞": [["mù"], ["sāi"]],
		"木条": [["mù"], ["tiáo"]],
		"木头": [["mù"], ["tou"]],
		"木瓦": [["mù"], ["wǎ"]],
		"木栅": [["mù"], ["shān"]],
		"木钻": [["mù"], ["zuàn"]],
		"目的": [["mù"], ["dì"]],
		"目见": [["mù"], ["jiàn"]],
		"目论": [["mù"], ["lùn"]],
		"目语": [["mù"], ["yǔ"]],
		"牧场": [["mù"], ["chǎng"]],
		"牧地": [["mù"], ["dì"]],
		"牧区": [["mù"], ["qū"]],
		"牧羊": [["mù"], ["yáng"]],
		"牧畜": [["mù"], ["chù"]],
		"墓地": [["mù"], ["dì"]],
		"募化": [["mù"], ["huà"]],
		"墓祭": [["mù"], ["jì"]],
		"墓碣": [["mù"], ["jié"]],
		"暮景": [["mù"], ["jǐng"]],
		"拿大": [["ná"], ["dà"]],
		"拿给": [["ná"], ["gěi"]],
		"哪儿": [["nǎ"], ["ér"]],
		"哪里": [["nǎ"], ["lǐ"]],
		"哪个": [["něi"], ["gè"]],
		"哪怕": [["nǎ"], ["pà"]],
		"哪能": [["nǎ"], ["néng"]],
		"哪位": [["nǎ"], ["wèi"]],
		"哪些": [["něi"], ["xiē"]],
		"哪样": [["nǎ"], ["yàng"]],
		"哪吒": [["né"], ["zhā"]],
		"内宾": [["nèi"], ["bīn"]],
		"内部": [["nèi"], ["bù"]],
		"内参": [["nèi"], ["cān"]],
		"内藏": [["nèi"], ["cáng"]],
		"内层": [["nèi"], ["céng"]],
		"内臣": [["nèi"], ["chén"]],
		"内传": [["nèi"], ["zhuàn"]],
		"内道": [["nèi"], ["dào"]],
		"内地": [["nèi"], ["dì"]],
		"内弟": [["nèi"], ["dì"]],
		"内定": [["nèi"], ["dìng"]],
		"内耳": [["nèi"], ["ěr"]],
		"内犯": [["nèi"], ["fàn"]],
		"内服": [["nèi"], ["fú"]],
		"内府": [["nèi"], ["fǔ"]],
		"内阁": [["nèi"], ["gé"]],
		"内港": [["nèi"], ["gǎng"]],
		"内功": [["nèi"], ["gōng"]],
		"内关": [["nèi"], ["guān"]],
		"内海": [["nèi"], ["hǎi"]],
		"内涵": [["nèi"], ["hán"]],
		"内含": [["nèi"], ["hán"]],
		"内耗": [["nèi"], ["hào"]],
		"内河": [["nèi"], ["hé"]],
		"内核": [["nèi"], ["hé"]],
		"内讧": [["nèi"], ["hòng"]],
		"内化": [["nèi"], ["huà"]],
		"内急": [["nèi"], ["jí"]],
		"内奸": [["nèi"], ["jiān"]],
		"内景": [["nèi"], ["jǐng"]],
		"内径": [["nèi"], ["jìng"]],
		"内疚": [["nèi"], ["jiù"]],
		"内眷": [["nèi"], ["juàn"]],
		"内科": [["nèi"], ["kē"]],
		"内涝": [["nèi"], ["lào"]],
		"内里": [["nèi"], ["lǐ"]],
		"内力": [["nèi"], ["lì"]],
		"内陆": [["nèi"], ["lù"]],
		"内乱": [["nèi"], ["luàn"]],
		"内贸": [["nèi"], ["mào"]],
		"内面": [["nèi"], ["miàn"]],
		"内幕": [["nèi"], ["mù"]],
		"内难": [["nèi"], ["nán"]],
		"内迁": [["nèi"], ["qiān"]],
		"内亲": [["nèi"], ["qīn"]],
		"内勤": [["nèi"], ["qín"]],
		"内侵": [["nèi"], ["qīn"]],
		"内倾": [["nèi"], ["qīng"]],
		"内情": [["nèi"], ["qíng"]],
		"内瓤": [["nèi"], ["ráng"]],
		"内热": [["nèi"], ["rè"]],
		"内人": [["nèi"], ["rén"]],
		"内容": [["nèi"], ["róng"]],
		"内伤": [["nèi"], ["shāng"]],
		"内省": [["nèi"], ["xǐng"]],
		"内侍": [["nèi"], ["shì"]],
		"内室": [["nèi"], ["shì"]],
		"内胎": [["nèi"], ["tāi"]],
		"内廷": [["nèi"], ["tíng"]],
		"内庭": [["nèi"], ["tíng"]],
		"内外": [["nèi"], ["wài"]],
		"内屋": [["nèi"], ["wū"]],
		"内务": [["nèi"], ["wù"]],
		"内线": [["nèi"], ["xiàn"]],
		"内陷": [["nèi"], ["xiàn"]],
		"内乡": [["nèi"], ["xiāng"]],
		"内向": [["nèi"], ["xiàng"]],
		"内详": [["nèi"], ["xiáng"]],
		"内销": [["nèi"], ["xiāo"]],
		"内兄": [["nèi"], ["xiōng"]],
		"内心": [["nèi"], ["xīn"]],
		"内行": [["nèi"], ["háng"]],
		"内秀": [["nèi"], ["xiù"]],
		"内焰": [["nèi"], ["yàn"]],
		"内衣": [["nèi"], ["yī"]],
		"内因": [["nèi"], ["yīn"]],
		"内应": [["nèi"], ["yìng"]],
		"内忧": [["nèi"], ["yōu"]],
		"内院": [["nèi"], ["yuàn"]],
		"内蕴": [["nèi"], ["yùn"]],
		"内在": [["nèi"], ["zài"]],
		"内脏": [["nèi"], ["zàng"]],
		"内债": [["nèi"], ["zhài"]],
		"内宅": [["nèi"], ["zhái"]],
		"内战": [["nèi"], ["zhàn"]],
		"内障": [["nèi"], ["zhàng"]],
		"内争": [["nèi"], ["zhēng"]],
		"内政": [["nèi"], ["zhèng"]],
		"内侄": [["nèi"], ["zhí"]],
		"内痔": [["nèi"], ["zhì"]],
		"内中": [["nèi"], ["zhōng"]],
		"内助": [["nèi"], ["zhù"]],
		"内资": [["nèi"], ["zī"]],
		"内子": [["nèi"], ["zǐ"]],
		"那般": [["nà"], ["bān"]],
		"那边": [["nà"], ["biān"]],
		"那儿": [["nà"], ["ér"]],
		"那个": [["nà"], ["gè"]],
		"那么": [["nà"], ["me"]],
		"那里": [["nà"], ["lǐ"]],
		"那末": [["nà"], ["mò"]],
		"那些": [["nèi"], ["xiē"]],
		"那样": [["nà"], ["yàng"]],
		"纳采": [["nà"], ["cǎi"]],
		"纳降": [["nà"], ["xiáng"]],
		"纳凉": [["nà"], ["liáng"]],
		"纳闷": [["nà"], ["mèn"]],
		"奶头": [["nǎi"], ["tóu"]],
		"耐看": [["nài"], ["kàn"]],
		"奈何": [["nài"], ["hé"]],
		"耐磨": [["nài"], ["mó"]],
		"男丁": [["nán"], ["dīng"]],
		"男家": [["nán"], ["jiā"]],
		"男女": [["nán"], ["nǚ"]],
		"男仆": [["nán"], ["pú"]],
		"南北": [["nán"], ["běi"]],
		"南边": [["nán"], ["biān"]],
		"南部": [["nán"], ["bù"]],
		"南朝": [["nán"], ["cháo"]],
		"南川": [["nán"], ["chuān"]],
		"南端": [["nán"], ["duān"]],
		"南方": [["nán"], ["fāng"]],
		"南风": [["nán"], ["fēng"]],
		"南宫": [["nán"], ["gōng"]],
		"南瓜": [["nán"], ["guā"]],
		"南国": [["nán"], ["guó"]],
		"南海": [["nán"], ["hǎi"]],
		"南汉": [["nán"], ["hàn"]],
		"南胡": [["nán"], ["hú"]],
		"南湖": [["nán"], ["hú"]],
		"南华": [["nán"], ["huá"]],
		"南货": [["nán"], ["huò"]],
		"南极": [["nán"], ["jí"]],
		"南江": [["nán"], ["jiāng"]],
		"南郊": [["nán"], ["jiāo"]],
		"南京": [["nán"], ["jīng"]],
		"南军": [["nán"], ["jūn"]],
		"南乐": [["nán"], ["lè"]],
		"南凉": [["nán"], ["liáng"]],
		"南岭": [["nán"], ["lǐng"]],
		"南陵": [["nán"], ["líng"]],
		"南吕": [["nán"], ["lǚ"]],
		"南蛮": [["nán"], ["mán"]],
		"南门": [["nán"], ["mén"]],
		"南面": [["nán"], ["miàn"]],
		"南皮": [["nán"], ["pí"]],
		"南欧": [["nán"], ["ōu"]],
		"南平": [["nán"], ["píng"]],
		"南齐": [["nán"], ["qí"]],
		"南迁": [["nán"], ["qiān"]],
		"南拳": [["nán"], ["quán"]],
		"南山": [["nán"], ["shān"]],
		"南式": [["nán"], ["shì"]],
		"南唐": [["nán"], ["táng"]],
		"南宋": [["nán"], ["sòng"]],
		"南纬": [["nán"], ["wěi"]],
		"南戏": [["nán"], ["xì"]],
		"南星": [["nán"], ["xīng"]],
		"南巡": [["nán"], ["xún"]],
		"南亚": [["nán"], ["yà"]],
		"南燕": [["nán"], ["yàn"]],
		"南阳": [["nán"], ["yáng"]],
		"南洋": [["nán"], ["yáng"]],
		"南音": [["nán"], ["yīn"]],
		"南岳": [["nán"], ["yuè"]],
		"南粤": [["nán"], ["yuè"]],
		"南越": [["nán"], ["yuè"]],
		"南诏": [["nán"], ["zhào"]],
		"南郑": [["nán"], ["zhèng"]],
		"南中": [["nán"], ["zhōng"]],
		"南竹": [["nán"], ["zhú"]],
		"难熬": [["nán"], ["áo"]],
		"难胞": [["nàn"], ["bāo"]],
		"难保": [["nán"], ["bǎo"]],
		"难缠": [["nán"], ["chán"]],
		"难产": [["nán"], ["chǎn"]],
		"难吃": [["nán"], ["chī"]],
		"难处": [["nán"], ["chǔ"]],
		"难倒": [["nán"], ["dǎo"]],
		"难道": [["nán"], ["dào"]],
		"难当": [["nán"], ["dāng"]],
		"难得": [["nán"], ["de"]],
		"难点": [["nán"], ["diǎn"]],
		"难懂": [["nán"], ["dǒng"]],
		"难度": [["nán"], ["dù"]],
		"难关": [["nán"], ["guān"]],
		"难怪": [["nán"], ["guài"]],
		"难过": [["nán"], ["guò"]],
		"难解": [["nán"], ["jiě"]],
		"难堪": [["nán"], ["kān"]],
		"难看": [["nán"], ["kàn"]],
		"难免": [["nán"], ["miǎn"]],
		"难耐": [["nán"], ["nài"]],
		"难民": [["nàn"], ["mín"]],
		"难侨": [["nàn"], ["qiáo"]],
		"难人": [["nán"], ["rén"]],
		"难忍": [["nán"], ["rěn"]],
		"难色": [["nán"], ["sè"]],
		"难事": [["nán"], ["shì"]],
		"难受": [["nán"], ["shòu"]],
		"难说": [["nán"], ["shuō"]],
		"难题": [["nán"], ["tí"]],
		"难为": [["nán"], ["wéi"]],
		"难忘": [["nán"], ["wàng"]],
		"难听": [["nán"], ["tīng"]],
		"难闻": [["nán"], ["wén"]],
		"难言": [["nán"], ["yán"]],
		"难以": [["nán"], ["yǐ"]],
		"难友": [["nàn"], ["yǒu"]],
		"难易": [["nán"], ["yì"]],
		"难于": [["nán"], ["yú"]],
		"难属": [["nàn"], ["shǔ"]],
		"难住": [["nán"], ["zhù"]],
		"难字": [["nán"], ["zì"]],
		"囊括": [["náng"], ["kuò"]],
		"孬种": [["nāo"], ["zhǒng"]],
		"挠曲": [["náo"], ["qū"]],
		"挠头": [["náo"], ["tóu"]],
		"脑浆": [["nǎo"], ["jiāng"]],
		"闹场": [["nào"], ["chǎng"]],
		"闹哄": [["nào"], ["hōng"]],
		"闹嚷": [["nào"], ["rāng"]],
		"呐喊": [["nà"], ["hǎn"]],
		"闹戏": [["nào"], ["xì"]],
		"呢喃": [["ní"], ["nán"]],
		"嫩红": [["nèn"], ["hóng"]],
		"呢绒": [["ní"], ["róng"]],
		"呢子": [["ní"], ["zǐ"]],
		"嫩绿": [["nèn"], ["lǜ"]],
		"嫩枝": [["nèn"], ["zhī"]],
		"能动": [["néng"], ["dòng"]],
		"能否": [["néng"], ["fǒu"]],
		"能够": [["néng"], ["gòu"]],
		"能耗": [["néng"], ["hào"]],
		"能干": [["néng"], ["gàn"]],
		"能力": [["néng"], ["lì"]],
		"能量": [["néng"], ["liàng"]],
		"能耐": [["néng"], ["nài"]],
		"能人": [["néng"], ["rén"]],
		"能事": [["néng"], ["shì"]],
		"能手": [["néng"], ["shǒu"]],
		"能源": [["néng"], ["yuán"]],
		"泥巴": [["ní"], ["bā"]],
		"尼采": [["ní"], ["cǎi"]],
		"泥封": [["ní"], ["fēng"]],
		"泥垢": [["ní"], ["gòu"]],
		"泥古": [["nì"], ["gǔ"]],
		"泥灰": [["ní"], ["huī"]],
		"泥浆": [["ní"], ["jiāng"]],
		"泥坑": [["ní"], ["kēng"]],
		"泥淖": [["ní"], ["nào"]],
		"泥泞": [["ní"], ["nìng"]],
		"泥坯": [["ní"], ["pī"]],
		"泥鳅": [["ní"], ["qiū"]],
		"泥人": [["ní"], ["rén"]],
		"泥沙": [["ní"], ["shā"]],
		"泥水": [["ní"], ["shuǐ"]],
		"泥塑": [["ní"], ["sù"]],
		"泥胎": [["ní"], ["tāi"]],
		"泥潭": [["ní"], ["tán"]],
		"泥滩": [["ní"], ["tān"]],
		"泥炭": [["ní"], ["tàn"]],
		"泥塘": [["ní"], ["táng"]],
		"泥土": [["ní"], ["tǔ"]],
		"泥丸": [["ní"], ["wán"]],
		"泥污": [["ní"], ["wū"]],
		"泥岩": [["ní"], ["yán"]],
		"泥沼": [["ní"], ["zhǎo"]],
		"泥子": [["nì"], ["zǐ"]],
		"霓裳": [["ní"], ["cháng"]],
		"你好": [["nǐ"], ["hǎo"]],
		"你们": [["nǐ"], ["men"]],
		"昵称": [["nì"], ["chēng"]],
		"拟合": [["nǐ"], ["hé"]],
		"逆差": [["nì"], ["chà"]],
		"逆行": [["nì"], ["xíng"]],
		"逆风": [["nì"], ["fēng"]],
		"逆转": [["nì"], ["zhuǎn"]],
		"匿藏": [["nì"], ["cáng"]],
		"溺爱": [["nì"], ["ài"]],
		"溺水": [["nì"], ["shuǐ"]],
		"溺死": [["nì"], ["sǐ"]],
		"溺婴": [["nì"], ["yīng"]],
		"拈度": [["niān"], ["dù"]],
		"年长": [["nián"], ["zhǎng"]],
		"年度": [["nián"], ["dù"]],
		"年底": [["nián"], ["dǐ"]],
		"年分": [["nián"], ["fēn"]],
		"年份": [["nián"], ["fèn"]],
		"年号": [["nián"], ["hào"]],
		"年会": [["nián"], ["huì"]],
		"年华": [["nián"], ["huá"]],
		"年纪": [["nián"], ["jì"]],
		"年假": [["nián"], ["jià"]],
		"年间": [["nián"], ["jiān"]],
		"年节": [["nián"], ["jié"]],
		"年景": [["nián"], ["jǐng"]],
		"年少": [["nián"], ["shào"]],
		"年头": [["nián"], ["tóu"]],
		"年尾": [["nián"], ["wěi"]],
		"年中": [["nián"], ["zhōng"]],
		"黏度": [["nián"], ["dù"]],
		"黏糊": [["nián"], ["hú"]],
		"黏着": [["nián"], ["zhe"]],
		"黏结": [["nián"], ["jié"]],
		"碾场": [["niǎn"], ["chǎng"]],
		"碾坊": [["niǎn"], ["fáng"]],
		"碾磨": [["niǎn"], ["mó"]],
		"念叨": [["niàn"], ["dāo"]],
		"碾压": [["niǎn"], ["yā"]],
		"念佛": [["niàn"], ["fó"]],
		"念头": [["niàn"], ["tou"]],
		"娘家": [["niáng"], ["jiā"]],
		"娘亲": [["niáng"], ["qīn"]],
		"鸟笼": [["niǎo"], ["lóng"]],
		"鸟雀": [["niǎo"], ["què"]],
		"袅娜": [["niǎo"], ["nuó"]],
		"尿闭": [["niào"], ["bì"]],
		"尿布": [["niào"], ["bù"]],
		"尿床": [["niào"], ["chuáng"]],
		"尿道": [["niào"], ["dào"]],
		"尿肥": [["niào"], ["féi"]],
		"尿壶": [["niào"], ["hú"]],
		"尿炕": [["niào"], ["kàng"]],
		"尿脬": [["suī"], ["pāo"]],
		"尿泡": [["suī"], ["pào"]],
		"尿盆": [["niào"], ["pén"]],
		"尿素": [["niào"], ["sù"]],
		"尿血": [["niào"], ["xuè"]],
		"捏合": [["niē"], ["hé"]],
		"啮合": [["niè"], ["hé"]],
		"捏弄": [["niē"], ["nòng"]],
		"颞骨": [["niè"], ["gǔ"]],
		"镍钢": [["niè"], ["gāng"]],
		"孽种": [["niè"], ["zhǒng"]],
		"宁安": [["níng"], ["ān"]],
		"宁靖": [["níng"], ["jìng"]],
		"宁静": [["níng"], ["jìng"]],
		"宁可": [["nìng"], ["kě"]],
		"宁肯": [["nìng"], ["kěn"]],
		"宁谧": [["níng"], ["mì"]],
		"宁南": [["níng"], ["nán"]],
		"宁日": [["níng"], ["rì"]],
		"宁帖": [["níng"], ["tiē"]],
		"宁愿": [["nìng"], ["yuàn"]],
		"狞恶": [["níng"], ["è"]],
		"凝合": [["níng"], ["hé"]],
		"凝华": [["níng"], ["huá"]],
		"凝结": [["níng"], ["jié"]],
		"凝思": [["níng"], ["sī"]],
		"凝重": [["níng"], ["zhòng"]],
		"牛扒": [["niú"], ["bā"]],
		"牛车": [["niú"], ["chē"]],
		"牛角": [["niú"], ["jiǎo"]],
		"牛劲": [["niú"], ["jìn"]],
		"牛郎": [["niú"], ["láng"]],
		"牛排": [["niú"], ["pái"]],
		"牛头": [["niú"], ["tóu"]],
		"牛鞅": [["niú"], ["yàng"]],
		"牛仔": [["niú"], ["zǎi"]],
		"扭打": [["niǔ"], ["dǎ"]],
		"扭结": [["niǔ"], ["jié"]],
		"扭曲": [["niǔ"], ["qū"]],
		"扭头": [["niǔ"], ["tóu"]],
		"扭转": [["niǔ"], ["zhuǎn"]],
		"纽结": [["niǔ"], ["jié"]],
		"农场": [["nóng"], ["chǎng"]],
		"农夫": [["nóng"], ["fū"]],
		"农会": [["nóng"], ["huì"]],
		"农家": [["nóng"], ["jiā"]],
		"农校": [["nóng"], ["xiào"]],
		"农行": [["nóng"], ["háng"]],
		"农畜": [["nóng"], ["chù"]],
		"浓度": [["nóng"], ["dù"]],
		"浓缩": [["nóng"], ["suō"]],
		"浓荫": [["nóng"], ["yīn"]],
		"浓重": [["nóng"], ["zhòng"]],
		"弄潮": [["nòng"], ["cháo"]],
		"脓血": [["nóng"], ["xuè"]],
		"弄错": [["nòng"], ["cuò"]],
		"弄臣": [["nòng"], ["chén"]],
		"弄鬼": [["nòng"], ["guǐ"]],
		"弄口": [["lòng"], ["kǒu"]],
		"弄假": [["nòng"], ["jiǎ"]],
		"弄权": [["nòng"], ["quán"]],
		"弄死": [["nòng"], ["sǐ"]],
		"弄堂": [["lòng"], ["táng"]],
		"弄瓦": [["nòng"], ["wǎ"]],
		"奴化": [["nú"], ["huà"]],
		"奴家": [["nú"], ["jiā"]],
		"奴隶": [["nú"], ["lì"]],
		"奴仆": [["nú"], ["pú"]],
		"怒号": [["nù"], ["háo"]],
		"女伴": [["nǚ"], ["bàn"]],
		"怒喝": [["nù"], ["hè"]],
		"女儿": [["nǚ"], ["ér"]],
		"女弟": [["nǚ"], ["dì"]],
		"女方": [["nǚ"], ["fāng"]],
		"女工": [["nǚ"], ["gōng"]],
		"女孩": [["nǚ"], ["hái"]],
		"女红": [["nǚ"], ["gōng"]],
		"女皇": [["nǚ"], ["huáng"]],
		"女家": [["nǚ"], ["jiā"]],
		"女监": [["nǚ"], ["jiān"]],
		"女将": [["nǚ"], ["jiàng"]],
		"女角": [["nǚ"], ["jiǎo"]],
		"女裤": [["nǚ"], ["kù"]],
		"女眷": [["nǚ"], ["juàn"]],
		"女郎": [["nǚ"], ["láng"]],
		"女流": [["nǚ"], ["liú"]],
		"女伶": [["nǚ"], ["líng"]],
		"女奴": [["nǚ"], ["nú"]],
		"女仆": [["nǚ"], ["pú"]],
		"女墙": [["nǚ"], ["qiáng"]],
		"女权": [["nǚ"], ["quán"]],
		"女人": [["nǚ"], ["rén"]],
		"女神": [["nǚ"], ["shén"]],
		"女色": [["nǚ"], ["sè"]],
		"女生": [["nǚ"], ["shēng"]],
		"女史": [["nǚ"], ["shǐ"]],
		"女尸": [["nǚ"], ["shī"]],
		"女士": [["nǚ"], ["shì"]],
		"女侍": [["nǚ"], ["shì"]],
		"女童": [["nǚ"], ["tóng"]],
		"女娲": [["nǚ"], ["wā"]],
		"女王": [["nǚ"], ["wáng"]],
		"女巫": [["nǚ"], ["wū"]],
		"女性": [["nǚ"], ["xìng"]],
		"女婿": [["nǚ"], ["xù"]],
		"女妖": [["nǚ"], ["yāo"]],
		"女优": [["nǚ"], ["yōu"]],
		"女贞": [["nǚ"], ["zhēn"]],
		"女真": [["nǚ"], ["zhēn"]],
		"女装": [["nǚ"], ["zhuāng"]],
		"女子": [["nǚ"], ["zǐ"]],
		"疟疾": [["nüè"], ["jí"]],
		"疟蚊": [["nüè"], ["wén"]],
		"虐待": [["nüè"], ["dài"]],
		"疟子": [["yào"], ["zǐ"]],
		"暖风": [["nuǎn"], ["fēng"]],
		"暖和": [["nuǎn"], ["huo"]],
		"懦夫": [["nuò"], ["fū"]],
		"欧风": [["ōu"], ["fēng"]],
		"欧化": [["ōu"], ["huà"]],
		"欧体": [["ōu"], ["tǐ"]],
		"殴打": [["ōu"], ["dǎ"]],
		"殴斗": [["ōu"], ["dòu"]],
		"呕气": [["ǒu"], ["qì"]],
		"呕心": [["ǒu"], ["xīn"]],
		"呕吐": [["ǒu"], ["tù"]],
		"呕血": [["ǒu"], ["xuè"]],
		"呕哑": [["ōu"], ["yā"]],
		"偶发": [["ǒu"], ["fā"]],
		"偶合": [["ǒu"], ["hé"]],
		"藕节": [["ǒu"], ["jié"]],
		"沤肥": [["òu"], ["féi"]],
		"啪嗒": [["pā"], ["dā"]],
		"爬行": [["pá"], ["xíng"]],
		"耙地": [["bà"], ["dì"]],
		"耙子": [["pá"], ["zǐ"]],
		"拍打": [["pāi"], ["dǎ"]],
		"拍发": [["pāi"], ["fā"]],
		"拍摄": [["pāi"], ["shè"]],
		"拍戏": [["pāi"], ["xì"]],
		"俳句": [["pái"], ["jù"]],
		"排班": [["pái"], ["bān"]],
		"排版": [["pái"], ["bǎn"]],
		"排笔": [["pái"], ["bǐ"]],
		"排长": [["pái"], ["zhǎng"]],
		"排场": [["pái"], ["chang"]],
		"排除": [["pái"], ["chú"]],
		"排挡": [["pái"], ["dǎng"]],
		"排队": [["pái"], ["duì"]],
		"排筏": [["pái"], ["fá"]],
		"排放": [["pái"], ["fàng"]],
		"排骨": [["pái"], ["gǔ"]],
		"排灌": [["pái"], ["guàn"]],
		"排击": [["pái"], ["jī"]],
		"排解": [["pái"], ["jiě"]],
		"排空": [["pái"], ["kōng"]],
		"排涝": [["pái"], ["lào"]],
		"排练": [["pái"], ["liàn"]],
		"排律": [["pái"], ["lǜ"]],
		"排偶": [["pái"], ["ǒu"]],
		"排炮": [["pái"], ["pào"]],
		"排枪": [["pái"], ["qiāng"]],
		"排遣": [["pái"], ["qiǎn"]],
		"排他": [["pái"], ["tā"]],
		"排外": [["pái"], ["wài"]],
		"排尾": [["pái"], ["wěi"]],
		"排污": [["pái"], ["wū"]],
		"排戏": [["pái"], ["xì"]],
		"排箫": [["pái"], ["xiāo"]],
		"排演": [["pái"], ["yǎn"]],
		"排印": [["pái"], ["yìn"]],
		"排字": [["pái"], ["zì"]],
		"牌坊": [["pái"], ["fāng"]],
		"牌风": [["pái"], ["fēng"]],
		"牌号": [["pái"], ["hào"]],
		"牌价": [["pái"], ["jià"]],
		"派别": [["pài"], ["bié"]],
		"派头": [["pài"], ["tóu"]],
		"派系": [["pài"], ["xì"]],
		"攀亲": [["pān"], ["qīn"]],
		"攀供": [["pān"], ["gòng"]],
		"攀折": [["pān"], ["zhé"]],
		"盘石": [["pán"], ["shí"]],
		"磐石": [["pán"], ["shí"]],
		"判别": [["pàn"], ["bié"]],
		"判读": [["pàn"], ["dú"]],
		"判处": [["pàn"], ["chǔ"]],
		"判据": [["pàn"], ["jù"]],
		"盼头": [["pàn"], ["tou"]],
		"庞大": [["páng"], ["dà"]],
		"旁白": [["páng"], ["bái"]],
		"旁边": [["páng"], ["biān"]],
		"旁侧": [["páng"], ["cè"]],
		"旁出": [["páng"], ["chū"]],
		"旁观": [["páng"], ["guān"]],
		"旁及": [["páng"], ["jí"]],
		"旁路": [["páng"], ["lù"]],
		"旁落": [["páng"], ["luò"]],
		"旁门": [["páng"], ["mén"]],
		"旁人": [["páng"], ["rén"]],
		"旁听": [["páng"], ["tīng"]],
		"旁通": [["páng"], ["tōng"]],
		"旁骛": [["páng"], ["wù"]],
		"旁证": [["páng"], ["zhèng"]],
		"旁支": [["páng"], ["zhī"]],
		"旁注": [["páng"], ["zhù"]],
		"旁坐": [["páng"], ["zuò"]],
		"抛洒": [["pāo"], ["sǎ"]],
		"抛空": [["pāo"], ["kōng"]],
		"抛撒": [["pāo"], ["sā"]],
		"刨冰": [["bào"], ["bīng"]],
		"抛射": [["pāo"], ["shè"]],
		"刨除": [["páo"], ["chú"]],
		"刨床": [["bào"], ["chuáng"]],
		"刨刀": [["bào"], ["dāo"]],
		"刨工": [["páo"], ["gōng"]],
		"刨花": [["páo"], ["huā"]],
		"刨食": [["páo"], ["shí"]],
		"刨削": [["páo"], ["xuē"]],
		"刨子": [["bào"], ["zǐ"]],
		"庖丁": [["páo"], ["dīng"]],
		"炮兵": [["pào"], ["bīng"]],
		"炮车": [["pào"], ["chē"]],
		"炮弹": [["pào"], ["dàn"]],
		"炮灰": [["pào"], ["huī"]],
		"炮火": [["pào"], ["huǒ"]],
		"炮击": [["pào"], ["jī"]],
		"炮舰": [["pào"], ["jiàn"]],
		"炮口": [["pào"], ["kǒu"]],
		"炮烙": [["páo"], ["luò"]],
		"炮楼": [["pào"], ["lóu"]],
		"炮手": [["pào"], ["shǒu"]],
		"炮塔": [["pào"], ["tǎ"]],
		"炮台": [["pào"], ["tái"]],
		"炮艇": [["pào"], ["tǐng"]],
		"炮膛": [["pào"], ["táng"]],
		"炮位": [["pào"], ["wèi"]],
		"炮眼": [["pào"], ["yǎn"]],
		"炮衣": [["pào"], ["yī"]],
		"炮仗": [["pào"], ["zhàng"]],
		"炮制": [["páo"], ["zhì"]],
		"炮竹": [["pào"], ["zhú"]],
		"炮座": [["pào"], ["zuò"]],
		"袍服": [["páo"], ["fú"]],
		"袍泽": [["páo"], ["zé"]],
		"跑表": [["pǎo"], ["biǎo"]],
		"跑步": [["pǎo"], ["bù"]],
		"跑车": [["pǎo"], ["chē"]],
		"跑道": [["pǎo"], ["dào"]],
		"跑调": [["pǎo"], ["diào"]],
		"跑电": [["pǎo"], ["diàn"]],
		"跑动": [["pǎo"], ["dòng"]],
		"跑肚": [["pǎo"], ["dù"]],
		"跑反": [["pǎo"], ["fǎn"]],
		"跑光": [["pǎo"], ["guāng"]],
		"跑街": [["pǎo"], ["jiē"]],
		"跑马": [["pǎo"], ["mǎ"]],
		"跑墒": [["pǎo"], ["shāng"]],
		"跑题": [["pǎo"], ["tí"]],
		"跑堂": [["pǎo"], ["táng"]],
		"跑腿": [["pǎo"], ["tuǐ"]],
		"跑外": [["pǎo"], ["wài"]],
		"跑鞋": [["pǎo"], ["xié"]],
		"泡菜": [["pào"], ["cài"]],
		"泡茶": [["pào"], ["chá"]],
		"泡饭": [["pào"], ["fàn"]],
		"泡货": [["pāo"], ["huò"]],
		"泡沫": [["pào"], ["mò"]],
		"泡妞": [["pào"], ["niū"]],
		"泡泡": [["pào"], ["pào"]],
		"泡汤": [["pào"], ["tāng"]],
		"泡桐": [["pāo"], ["tóng"]],
		"泡漩": [["pào"], ["xuán"]],
		"泡影": [["pào"], ["yǐng"]],
		"泡澡": [["pào"], ["zǎo"]],
		"泡制": [["pào"], ["zhì"]],
		"泡子": [["pāo"], ["zǐ"]],
		"胚轴": [["pēi"], ["zhóu"]],
		"陪都": [["péi"], ["dū"]],
		"陪祭": [["péi"], ["jì"]],
		"陪同": [["péi"], ["tóng"]],
		"赔还": [["péi"], ["huán"]],
		"佩服": [["pèi"], ["fú"]],
		"配称": [["pèi"], ["chèn"]],
		"配调": [["pèi"], ["diào"]],
		"配发": [["pèi"], ["fā"]],
		"配给": [["pèi"], ["jǐ"]],
		"配合": [["pèi"], ["hé"]],
		"配角": [["pèi"], ["jué"]],
		"配乐": [["pèi"], ["yuè"]],
		"配曲": [["pèi"], ["qǔ"]],
		"配戏": [["pèi"], ["xì"]],
		"配载": [["pèi"], ["zǎi"]],
		"配种": [["pèi"], ["zhǒng"]],
		"配属": [["pèi"], ["shǔ"]],
		"配重": [["pèi"], ["zhòng"]],
		"辔头": [["pèi"], ["tóu"]],
		"喷薄": [["pēn"], ["bó"]],
		"喷灯": [["pēn"], ["dēng"]],
		"喷发": [["pēn"], ["fā"]],
		"喷饭": [["pēn"], ["fàn"]],
		"喷粪": [["pēn"], ["fèn"]],
		"喷管": [["pēn"], ["guǎn"]],
		"喷灌": [["pēn"], ["guàn"]],
		"喷壶": [["pēn"], ["hú"]],
		"喷火": [["pēn"], ["huǒ"]],
		"喷溅": [["pēn"], ["jiàn"]],
		"喷浆": [["pēn"], ["jiāng"]],
		"喷口": [["pēn"], ["kǒu"]],
		"喷漆": [["pēn"], ["qī"]],
		"喷气": [["pēn"], ["qì"]],
		"喷泉": [["pēn"], ["quán"]],
		"喷撒": [["pēn"], ["sǎ"]],
		"喷洒": [["pēn"], ["sǎ"]],
		"喷射": [["pēn"], ["shè"]],
		"喷水": [["pēn"], ["shuǐ"]],
		"喷嚏": [["pēn"], ["tì"]],
		"喷头": [["pēn"], ["tóu"]],
		"喷吐": [["pēn"], ["tǔ"]],
		"喷雾": [["pēn"], ["wù"]],
		"喷香": [["pèn"], ["xiāng"]],
		"喷泻": [["pēn"], ["xiè"]],
		"喷涌": [["pēn"], ["yǒng"]],
		"喷嘴": [["pēn"], ["zuǐ"]],
		"盆景": [["pén"], ["jǐng"]],
		"盆地": [["pén"], ["dì"]],
		"盆汤": [["pén"], ["tāng"]],
		"抨弹": [["pēng"], ["tán"]],
		"烹调": [["pēng"], ["tiáo"]],
		"彭泽": [["péng"], ["zé"]],
		"棚车": [["péng"], ["chē"]],
		"棚圈": [["péng"], ["juàn"]],
		"蓬勃": [["péng"], ["bó"]],
		"篷车": [["péng"], ["chē"]],
		"膨大": [["péng"], ["dà"]],
		"膨化": [["péng"], ["huà"]],
		"碰见": [["pèng"], ["jiàn"]],
		"碰头": [["pèng"], ["tóu"]],
		"批发": [["pī"], ["fā"]],
		"批斗": [["pī"], ["dòu"]],
		"批号": [["pī"], ["hào"]],
		"批假": [["pī"], ["jià"]],
		"批量": [["pī"], ["liàng"]],
		"批条": [["pī"], ["tiáo"]],
		"批转": [["pī"], ["zhuǎn"]],
		"披发": [["pī"], ["fà"]],
		"纰缪": [["pī"], ["miù"]],
		"纰漏": [["pī"], ["lòu"]],
		"批语": [["pī"], ["yǔ"]],
		"披风": [["pī"], ["fēng"]],
		"披拂": [["pī"], ["fú"]],
		"披红": [["pī"], ["hóng"]],
		"披卷": [["pī"], ["juàn"]],
		"披头": [["pī"], ["tóu"]],
		"披露": [["pī"], ["lù"]],
		"披散": [["pī"], ["sǎn"]],
		"劈柴": [["pǐ"], ["chái"]],
		"劈叉": [["pǐ"], ["chà"]],
		"劈成": [["pǐ"], ["chéng"]],
		"劈刀": [["pī"], ["dāo"]],
		"劈刺": [["pī"], ["cì"]],
		"劈脸": [["pī"], ["liǎn"]],
		"劈裂": [["pī"], ["liè"]],
		"劈面": [["pī"], ["miàn"]],
		"劈啪": [["pī"], ["pā"]],
		"劈杀": [["pī"], ["shā"]],
		"劈山": [["pī"], ["shān"]],
		"劈手": [["pī"], ["shǒu"]],
		"劈头": [["pī"], ["tóu"]],
		"劈胸": [["pī"], ["xiōng"]],
		"皮尺": [["pí"], ["chǐ"]],
		"皮夹": [["pí"], ["jiā"]],
		"皮囊": [["pí"], ["náng"]],
		"皮条": [["pí"], ["tiáo"]],
		"皮相": [["pí"], ["xiàng"]],
		"疲沓": [["pí"], ["ta"]],
		"皮重": [["pí"], ["zhòng"]],
		"疲累": [["pí"], ["lèi"]],
		"匹夫": [["pǐ"], ["fū"]],
		"仳离": [["pǐ"], ["lí"]],
		"癖好": [["pǐ"], ["hào"]],
		"睥睨": [["bì"], ["nì"]],
		"僻巷": [["pì"], ["xiàng"]],
		"僻远": [["pì"], ["yuǎn"]],
		"譬若": [["pì"], ["ruò"]],
		"片酬": [["piàn"], ["chóu"]],
		"片段": [["piàn"], ["duàn"]],
		"片断": [["piàn"], ["duàn"]],
		"片儿": [["piān"], ["er"]],
		"片剂": [["piàn"], ["jì"]],
		"片刻": [["piàn"], ["kè"]],
		"片面": [["piàn"], ["miàn"]],
		"片时": [["piàn"], ["shí"]],
		"片头": [["piān"], ["tóu"]],
		"片言": [["piàn"], ["yán"]],
		"片语": [["piàn"], ["yǔ"]],
		"片子": [["piān"], ["zi"]],
		"偏差": [["piān"], ["chā"]],
		"偏好": [["piān"], ["hǎo"]],
		"偏食": [["piān"], ["shí"]],
		"偏信": [["piān"], ["xìn"]],
		"偏要": [["piān"], ["yào"]],
		"偏重": [["piān"], ["zhòng"]],
		"骈体": [["pián"], ["tǐ"]],
		"篇什": [["piān"], ["shí"]],
		"骈枝": [["pián"], ["zhī"]],
		"骗术": [["piàn"], ["shù"]],
		"漂泊": [["piāo"], ["bó"]],
		"漂白": [["piǎo"], ["bái"]],
		"漂儿": [["piāo"], ["ér"]],
		"漂浮": [["piāo"], ["fú"]],
		"漂砾": [["piāo"], ["lì"]],
		"漂海": [["piāo"], ["hǎi"]],
		"漂亮": [["piào"], ["liàng"]],
		"漂流": [["piāo"], ["liú"]],
		"漂漂": [["piāo"], ["piāo"]],
		"漂染": [["piǎo"], ["rǎn"]],
		"漂洗": [["piǎo"], ["xǐ"]],
		"漂移": [["piāo"], ["yí"]],
		"漂游": [["piāo"], ["yóu"]],
		"缥缈": [["piāo"], ["miǎo"]],
		"飘泊": [["piāo"], ["bó"]],
		"飘风": [["piāo"], ["fēng"]],
		"飘拂": [["piāo"], ["fú"]],
		"飘落": [["piāo"], ["luò"]],
		"飘洒": [["piāo"], ["sǎ"]],
		"飘散": [["piāo"], ["sàn"]],
		"嫖娼": [["piáo"], ["chāng"]],
		"嫖妓": [["piáo"], ["jì"]],
		"嫖客": [["piáo"], ["kè"]],
		"撇开": [["piē"], ["kāi"]],
		"嫖宿": [["piáo"], ["sù"]],
		"撇弃": [["piē"], ["qì"]],
		"撇嘴": [["piě"], ["zuǐ"]],
		"姘夫": [["pīn"], ["fū"]],
		"瞥见": [["piē"], ["jiàn"]],
		"姘头": [["pīn"], ["tou"]],
		"拼刺": [["pīn"], ["cì"]],
		"拼斗": [["pīn"], ["dòu"]],
		"拼读": [["pīn"], ["dú"]],
		"拼合": [["pīn"], ["hé"]],
		"拼抢": [["pīn"], ["qiǎng"]],
		"贫化": [["pín"], ["huà"]],
		"贫血": [["pín"], ["xuè"]],
		"嫔妃": [["pín"], ["fēi"]],
		"频传": [["pín"], ["chuán"]],
		"频次": [["pín"], ["cì"]],
		"频带": [["pín"], ["dài"]],
		"频道": [["pín"], ["dào"]],
		"频度": [["pín"], ["dù"]],
		"频段": [["pín"], ["duàn"]],
		"频繁": [["pín"], ["fán"]],
		"频率": [["pín"], ["lǜ"]],
		"频频": [["pín"], ["pín"]],
		"频谱": [["pín"], ["pǔ"]],
		"频数": [["pín"], ["shuò"]],
		"频仍": [["pín"], ["réng"]],
		"品红": [["pǐn"], ["hóng"]],
		"品节": [["pǐn"], ["jié"]],
		"品绿": [["pǐn"], ["lǜ"]],
		"品系": [["pǐn"], ["xì"]],
		"品行": [["pǐn"], ["xíng"]],
		"聘任": [["pìn"], ["rèn"]],
		"品种": [["pǐn"], ["zhǒng"]],
		"聘期": [["pìn"], ["qī"]],
		"聘约": [["pìn"], ["yuē"]],
		"平地": [["píng"], ["dì"]],
		"平调": [["píng"], ["diào"]],
		"平峒": [["píng"], ["dòng"]],
		"平度": [["píng"], ["dù"]],
		"平分": [["píng"], ["fēn"]],
		"平服": [["píng"], ["fú"]],
		"平和": [["píng"], ["hé"]],
		"平价": [["píng"], ["jià"]],
		"平空": [["píng"], ["kōng"]],
		"平乐": [["píng"], ["lè"]],
		"平铺": [["píng"], ["pù"]],
		"平台": [["píng"], ["tái"]],
		"平巷": [["píng"], ["hàng"]],
		"平头": [["píng"], ["tóu"]],
		"平信": [["píng"], ["xìn"]],
		"平行": [["píng"], ["xíng"]],
		"平正": [["píng"], ["zhèng"]],
		"评弹": [["píng"], ["tán"]],
		"平远": [["píng"], ["yuǎn"]],
		"评传": [["píng"], ["zhuàn"]],
		"评分": [["píng"], ["fēn"]],
		"评价": [["píng"], ["jià"]],
		"评估": [["píng"], ["gū"]],
		"评卷": [["píng"], ["juàn"]],
		"评量": [["píng"], ["liàng"]],
		"评论": [["píng"], ["lùn"]],
		"评说": [["píng"], ["shuō"]],
		"评委": [["píng"], ["wěi"]],
		"评戏": [["píng"], ["xì"]],
		"评语": [["píng"], ["yǔ"]],
		"凭单": [["píng"], ["dān"]],
		"凭藉": [["píng"], ["jiè"]],
		"凭据": [["píng"], ["jù"]],
		"凭空": [["píng"], ["kōng"]],
		"凭信": [["píng"], ["xìn"]],
		"苹果": [["píng"], ["guǒ"]],
		"屏除": [["bǐng"], ["chú"]],
		"屏蔽": [["píng"], ["bì"]],
		"屏风": [["píng"], ["fēng"]],
		"屏门": [["píng"], ["mén"]],
		"屏迹": [["píng"], ["jì"]],
		"屏幕": [["píng"], ["mù"]],
		"屏气": [["bǐng"], ["qì"]],
		"屏弃": [["bǐng"], ["qì"]],
		"屏山": [["píng"], ["shān"]],
		"屏条": [["píng"], ["tiáo"]],
		"屏退": [["bǐng"], ["tuì"]],
		"屏息": [["bǐng"], ["xī"]],
		"屏障": [["píng"], ["zhàng"]],
		"瓶颈": [["píng"], ["jǐng"]],
		"坡地": [["pō"], ["dì"]],
		"坡度": [["pō"], ["dù"]],
		"泼剌": [["pō"], ["là"]],
		"泼洒": [["pō"], ["sǎ"]],
		"迫促": [["pò"], ["cù"]],
		"迫害": [["pò"], ["hài"]],
		"迫降": [["pò"], ["jiàng"]],
		"迫近": [["pò"], ["jìn"]],
		"迫令": [["pò"], ["lìng"]],
		"迫临": [["pò"], ["lín"]],
		"迫使": [["pò"], ["shǐ"]],
		"迫切": [["pò"], ["qiè"]],
		"迫于": [["pò"], ["yú"]],
		"破读": [["pò"], ["dú"]],
		"破坏": [["pò"], ["huài"]],
		"破家": [["pò"], ["jiā"]],
		"破解": [["pò"], ["jiě"]],
		"破裂": [["pò"], ["liè"]],
		"破落": [["pò"], ["luò"]],
		"破片": [["pò"], ["piàn"]],
		"破相": [["pò"], ["xiàng"]],
		"剖解": [["pōu"], ["jiě"]],
		"破约": [["pò"], ["yuē"]],
		"仆从": [["pú"], ["cóng"]],
		"仆妇": [["pú"], ["fù"]],
		"仆人": [["pú"], ["rén"]],
		"仆役": [["pú"], ["yì"]],
		"扑打": [["pū"], ["dǎ"]],
		"扑地": [["pū"], ["dì"]],
		"扑空": [["pū"], ["kōng"]],
		"扑棱": [["pū"], ["lēng"]],
		"扑扇": [["pū"], ["shān"]],
		"铺板": [["pù"], ["bǎn"]],
		"铺陈": [["pū"], ["chén"]],
		"铺保": [["pù"], ["bǎo"]],
		"铺衬": [["pū"], ["chèn"]],
		"铺床": [["pū"], ["chuáng"]],
		"铺底": [["pù"], ["dǐ"]],
		"铺垫": [["pū"], ["diàn"]],
		"铺盖": [["pū"], ["gài"]],
		"铺轨": [["pū"], ["guǐ"]],
		"铺户": [["pù"], ["hù"]],
		"铺路": [["pū"], ["lù"]],
		"铺面": [["pū"], ["miàn"]],
		"铺排": [["pū"], ["pái"]],
		"铺平": [["pū"], ["píng"]],
		"铺铺": [["pù"], ["pù"]],
		"铺砌": [["pū"], ["qì"]],
		"铺设": [["pū"], ["shè"]],
		"铺叙": [["pū"], ["xù"]],
		"铺位": [["pù"], ["wèi"]],
		"铺展": [["pū"], ["zhǎn"]],
		"铺张": [["pū"], ["zhāng"]],
		"铺子": [["pù"], ["zǐ"]],
		"蒲节": [["pú"], ["jié"]],
		"蒲扇": [["pú"], ["shàn"]],
		"朴厚": [["pǔ"], ["hòu"]],
		"朴陋": [["pǔ"], ["lòu"]],
		"朴茂": [["pǔ"], ["mào"]],
		"朴实": [["pǔ"], ["shí"]],
		"朴素": [["pǔ"], ["sù"]],
		"朴硝": [["pò"], ["xiāo"]],
		"朴学": [["pǔ"], ["xué"]],
		"朴质": [["pǔ"], ["zhì"]],
		"朴直": [["pǔ"], ["zhí"]],
		"朴拙": [["pǔ"], ["zhuō"]],
		"普度": [["pǔ"], ["dù"]],
		"普查": [["pǔ"], ["zhā"]],
		"普降": [["pǔ"], ["jiàng"]],
		"普教": [["pǔ"], ["jiào"]],
		"谱号": [["pǔ"], ["hào"]],
		"谱曲": [["pǔ"], ["qǔ"]],
		"谱系": [["pǔ"], ["xì"]],
		"瀑布": [["pù"], ["bù"]],
		"曝露": [["pù"], ["lù"]],
		"曝光": [["bào"], ["guāng"]],
		"曝晒": [["pù"], ["shài"]],
		"七大": [["qī"], ["dà"]],
		"妻弟": [["qī"], ["dì"]],
		"妻儿": [["qī"], ["ér"]],
		"妻舅": [["qī"], ["jiù"]],
		"妻孥": [["qī"], ["nú"]],
		"妻室": [["qī"], ["shì"]],
		"妻小": [["qī"], ["xiǎo"]],
		"妻子": [["qī"], ["zǐ"]],
		"凄凉": [["qī"], ["liáng"]],
		"凄切": [["qī"], ["qiè"]],
		"栖居": [["qī"], ["jū"]],
		"栖身": [["qī"], ["shēn"]],
		"栖息": [["qī"], ["xī"]],
		"栖霞": [["qī"], ["xiá"]],
		"戚属": [["qī"], ["shǔ"]],
		"栖止": [["qī"], ["zhǐ"]],
		"期待": [["qī"], ["dài"]],
		"期货": [["qī"], ["huò"]],
		"期刊": [["qī"], ["kān"]],
		"期间": [["qī"], ["jiān"]],
		"期冀": [["qī"], ["jì"]],
		"期考": [["qī"], ["kǎo"]],
		"期满": [["qī"], ["mǎn"]],
		"期门": [["qī"], ["mén"]],
		"期末": [["qī"], ["mò"]],
		"期盼": [["qī"], ["pàn"]],
		"期年": [["jī"], ["nián"]],
		"期期": [["qī"], ["qī"]],
		"期票": [["qī"], ["piào"]],
		"期求": [["qī"], ["qiú"]],
		"期权": [["qī"], ["quán"]],
		"期数": [["qī"], ["shù"]],
		"期许": [["qī"], ["xǔ"]],
		"期望": [["qī"], ["wàng"]],
		"期中": [["qī"], ["zhōng"]],
		"期限": [["qī"], ["xiàn"]],
		"欺哄": [["qī"], ["hǒng"]],
		"欺瞒": [["qī"], ["mán"]],
		"欺蒙": [["qī"], ["méng"]],
		"欺压": [["qī"], ["yā"]],
		"齐备": [["qí"], ["bèi"]],
		"齐步": [["qí"], ["bù"]],
		"齐唱": [["qí"], ["chàng"]],
		"齐楚": [["qí"], ["chǔ"]],
		"齐发": [["qí"], ["fā"]],
		"齐放": [["qí"], ["fàng"]],
		"齐家": [["qí"], ["jiā"]],
		"齐集": [["qí"], ["jí"]],
		"齐肩": [["qí"], ["jiān"]],
		"齐眉": [["qí"], ["méi"]],
		"齐名": [["qí"], ["míng"]],
		"齐明": [["zī"], ["míng"]],
		"齐齐": [["qí"], ["qí"]],
		"齐全": [["qí"], ["quán"]],
		"齐射": [["qí"], ["shè"]],
		"齐人": [["qí"], ["rén"]],
		"齐声": [["qí"], ["shēng"]],
		"齐天": [["qí"], ["tiān"]],
		"齐头": [["qí"], ["tóu"]],
		"齐心": [["qí"], ["xīn"]],
		"齐行": [["qí"], ["xíng"]],
		"齐整": [["qí"], ["zhěng"]],
		"齐奏": [["qí"], ["zòu"]],
		"其次": [["qí"], ["cì"]],
		"其后": [["qí"], ["hòu"]],
		"其间": [["qí"], ["jiān"]],
		"其内": [["qí"], ["nèi"]],
		"其时": [["qí"], ["shí"]],
		"其实": [["qí"], ["shí"]],
		"其他": [["qí"], ["tā"]],
		"其它": [["qí"], ["tā"]],
		"其先": [["qí"], ["xiān"]],
		"其余": [["qí"], ["yú"]],
		"其中": [["qí"], ["zhōng"]],
		"奇兵": [["qí"], ["bīng"]],
		"奇才": [["qí"], ["cái"]],
		"奇功": [["qí"], ["gōng"]],
		"奇怪": [["qí"], ["guài"]],
		"奇观": [["qí"], ["guān"]],
		"奇诡": [["qí"], ["guǐ"]],
		"奇幻": [["qí"], ["huàn"]],
		"奇祸": [["qí"], ["huò"]],
		"奇迹": [["qí"], ["jì"]],
		"奇技": [["qí"], ["jì"]],
		"奇景": [["qí"], ["jǐng"]],
		"奇绝": [["qí"], ["jué"]],
		"奇崛": [["qí"], ["jué"]],
		"奇谲": [["qí"], ["jué"]],
		"奇零": [["jī"], ["líng"]],
		"奇丽": [["qí"], ["lì"]],
		"奇门": [["qí"], ["mén"]],
		"奇妙": [["qí"], ["miào"]],
		"奇谋": [["qí"], ["móu"]],
		"奇偶": [["jī"], ["ǒu"]],
		"奇葩": [["qí"], ["pā"]],
		"奇巧": [["qí"], ["qiǎo"]],
		"奇缺": [["qí"], ["quē"]],
		"奇趣": [["qí"], ["qù"]],
		"奇人": [["qí"], ["rén"]],
		"奇事": [["qí"], ["shì"]],
		"奇数": [["jī"], ["shù"]],
		"奇谈": [["qí"], ["tán"]],
		"奇特": [["qí"], ["tè"]],
		"奇伟": [["qí"], ["wěi"]],
		"奇文": [["qí"], ["wén"]],
		"奇闻": [["qí"], ["wén"]],
		"奇袭": [["qí"], ["xí"]],
		"奇秀": [["qí"], ["xiù"]],
		"奇勋": [["qí"], ["xūn"]],
		"奇遇": [["qí"], ["yù"]],
		"奇异": [["qí"], ["yì"]],
		"奇冤": [["qí"], ["yuān"]],
		"奇缘": [["qí"], ["yuán"]],
		"奇珍": [["qí"], ["zhēn"]],
		"奇志": [["qí"], ["zhì"]],
		"祈雨": [["qí"], ["yǔ"]],
		"耆老": [["qí"], ["lǎo"]],
		"耆宿": [["qí"], ["sù"]],
		"颀长": [["qí"], ["cháng"]],
		"骑乘": [["qí"], ["chéng"]],
		"骑射": [["qí"], ["shè"]],
		"旗杆": [["qí"], ["gān"]],
		"旗号": [["qí"], ["hào"]],
		"蕲蛇": [["qí"], ["shé"]],
		"旗语": [["qí"], ["yǔ"]],
		"乞和": [["qǐ"], ["hé"]],
		"乞降": [["qǐ"], ["xiáng"]],
		"乞食": [["qǐ"], ["shí"]],
		"企待": [["qǐ"], ["dài"]],
		"企划": [["qǐ"], ["huá"]],
		"岂不": [["qǐ"], ["bù"]],
		"岂但": [["qǐ"], ["dàn"]],
		"岂非": [["qǐ"], ["fēi"]],
		"岂敢": [["qǐ"], ["gǎn"]],
		"岂可": [["qǐ"], ["kě"]],
		"岂肯": [["qǐ"], ["kěn"]],
		"岂能": [["qǐ"], ["néng"]],
		"岂止": [["qǐ"], ["zhǐ"]],
		"启发": [["qǐ"], ["fā"]],
		"启蒙": [["qǐ"], ["méng"]],
		"启行": [["qǐ"], ["xíng"]],
		"起风": [["qǐ"], ["fēng"]],
		"起家": [["qǐ"], ["jiā"]],
		"起哄": [["qǐ"], ["hòng"]],
		"起价": [["qǐ"], ["jià"]],
		"起见": [["qǐ"], ["jiàn"]],
		"起降": [["qǐ"], ["jiàng"]],
		"起解": [["qǐ"], ["jiè"]],
		"起劲": [["qǐ"], ["jìn"]],
		"起落": [["qǐ"], ["luò"]],
		"起跑": [["qǐ"], ["pǎo"]],
		"起泡": [["qǐ"], ["pào"]],
		"起跳": [["qǐ"], ["tiào"]],
		"起头": [["qǐ"], ["tóu"]],
		"起兴": [["qǐ"], ["xìng"]],
		"起行": [["qǐ"], ["xíng"]],
		"起疑": [["qǐ"], ["yí"]],
		"起重": [["qǐ"], ["zhòng"]],
		"气度": [["qì"], ["dù"]],
		"气化": [["qì"], ["huà"]],
		"气节": [["qì"], ["jié"]],
		"气量": [["qì"], ["liàng"]],
		"气脉": [["qì"], ["mài"]],
		"气闷": [["qì"], ["mèn"]],
		"气囊": [["qì"], ["náng"]],
		"气泡": [["qì"], ["pào"]],
		"气圈": [["qì"], ["quān"]],
		"气盛": [["qì"], ["shèng"]],
		"气体": [["qì"], ["tǐ"]],
		"气数": [["qì"], ["shù"]],
		"气旋": [["qì"], ["xuán"]],
		"气血": [["qì"], ["xuè"]],
		"气压": [["qì"], ["yā"]],
		"汽车": [["qì"], ["chē"]],
		"汽化": [["qì"], ["huà"]],
		"泣血": [["qì"], ["xuè"]],
		"契丹": [["qì"], ["dān"]],
		"契合": [["qì"], ["hé"]],
		"契据": [["qì"], ["jù"]],
		"契机": [["qì"], ["jī"]],
		"契卡": [["qì"], ["kǎ"]],
		"契友": [["qì"], ["yǒu"]],
		"砌块": [["qì"], ["kuài"]],
		"契约": [["qì"], ["yuē"]],
		"器度": [["qì"], ["dù"]],
		"器乐": [["qì"], ["lè"]],
		"器量": [["qì"], ["liàng"]],
		"器重": [["qì"], ["zhòng"]],
		"器识": [["qì"], ["shí"]],
		"恰当": [["qià"], ["dàng"]],
		"恰好": [["qià"], ["hǎo"]],
		"恰切": [["qià"], ["qiē"]],
		"恰似": [["qià"], ["sì"]],
		"千夫": [["qiān"], ["fū"]],
		"千卡": [["qiān"], ["kǎ"]],
		"千瓦": [["qiān"], ["wǎ"]],
		"千万": [["qiān"], ["wàn"]],
		"迁都": [["qiān"], ["dū"]],
		"牵累": [["qiān"], ["lěi"]],
		"牵拉": [["qiān"], ["lā"]],
		"牵强": [["qiān"], ["qiǎng"]],
		"牵系": [["qiān"], ["xì"]],
		"牵头": [["qiān"], ["tóu"]],
		"铅板": [["qiān"], ["bǎn"]],
		"铅版": [["qiān"], ["bǎn"]],
		"铅笔": [["qiān"], ["bǐ"]],
		"铅丹": [["qiān"], ["dān"]],
		"铅弹": [["qiān"], ["dàn"]],
		"铅粉": [["qiān"], ["fěn"]],
		"铅华": [["qiān"], ["huá"]],
		"铅球": [["qiān"], ["qiú"]],
		"铅山": [["yán"], ["shān"]],
		"铅丝": [["qiān"], ["sī"]],
		"铅铁": [["qiān"], ["tiě"]],
		"铅条": [["qiān"], ["tiáo"]],
		"铅印": [["qiān"], ["yìn"]],
		"铅直": [["qiān"], ["zhí"]],
		"铅字": [["qiān"], ["zì"]],
		"谦称": [["qiān"], ["chēng"]],
		"谦冲": [["qiān"], ["chōng"]],
		"谦和": [["qiān"], ["hé"]],
		"愆期": [["qiān"], ["qī"]],
		"签发": [["qiān"], ["fā"]],
		"签条": [["qiān"], ["tiáo"]],
		"前臂": [["qián"], ["bì"]],
		"前场": [["qián"], ["chǎng"]],
		"前朝": [["qián"], ["cháo"]],
		"前仇": [["qián"], ["chóu"]],
		"前车": [["qián"], ["chē"]],
		"前夫": [["qián"], ["fū"]],
		"前排": [["qián"], ["pái"]],
		"前景": [["qián"], ["jǐng"]],
		"前期": [["qián"], ["qī"]],
		"前妻": [["qián"], ["qī"]],
		"前任": [["qián"], ["rèn"]],
		"前台": [["qián"], ["tái"]],
		"前提": [["qián"], ["tí"]],
		"前头": [["qián"], ["tou"]],
		"前行": [["qián"], ["xíng"]],
		"荨麻": [["xún"], ["má"]],
		"虔信": [["qián"], ["xìn"]],
		"钱柜": [["qián"], ["guì"]],
		"钱票": [["qián"], ["piào"]],
		"钱夹": [["qián"], ["jiā"]],
		"潜藏": [["qián"], ["cáng"]],
		"潜能": [["qián"], ["néng"]],
		"潜行": [["qián"], ["xíng"]],
		"潜隐": [["qián"], ["yǐn"]],
		"浅白": [["qiǎn"], ["bái"]],
		"黔南": [["qián"], ["nán"]],
		"浅薄": [["qiǎn"], ["bó"]],
		"浅尝": [["qiǎn"], ["cháng"]],
		"浅淡": [["qiǎn"], ["dàn"]],
		"浅耕": [["qiǎn"], ["gēng"]],
		"浅海": [["qiǎn"], ["hǎi"]],
		"浅见": [["qiǎn"], ["jiàn"]],
		"浅近": [["qiǎn"], ["jìn"]],
		"浅陋": [["qiǎn"], ["lòu"]],
		"浅露": [["qiǎn"], ["lù"]],
		"浅明": [["qiǎn"], ["míng"]],
		"浅浅": [["jiān"], ["jiān"]],
		"浅色": [["qiǎn"], ["sè"]],
		"浅水": [["qiǎn"], ["shuǐ"]],
		"浅滩": [["qiǎn"], ["tān"]],
		"浅说": [["qiǎn"], ["shuō"]],
		"浅显": [["qiǎn"], ["xiǎn"]],
		"浅学": [["qiǎn"], ["xué"]],
		"浅笑": [["qiǎn"], ["xiào"]],
		"浅易": [["qiǎn"], ["yì"]],
		"遣散": [["qiǎn"], ["sàn"]],
		"欠条": [["qiàn"], ["tiáo"]],
		"嵌合": [["qiàn"], ["hé"]],
		"嵌入": [["qiàn"], ["rù"]],
		"嵌镶": [["qiàn"], ["xiāng"]],
		"戗风": [["qiāng"], ["fēng"]],
		"戗脊": [["qiàng"], ["jǐ"]],
		"戗面": [["qiàng"], ["miàn"]],
		"枪刺": [["qiāng"], ["cì"]],
		"枪杆": [["qiāng"], ["gǎn"]],
		"枪弹": [["qiāng"], ["dàn"]],
		"枪炮": [["qiāng"], ["pào"]],
		"枪术": [["qiāng"], ["shù"]],
		"枪枝": [["qiāng"], ["zhī"]],
		"跄踉": [["qiàng"], ["liàng"]],
		"腔调": [["qiāng"], ["diào"]],
		"强暴": [["qiáng"], ["bào"]],
		"强逼": [["qiǎng"], ["bī"]],
		"强辩": [["qiáng"], ["biàn"]],
		"强大": [["qiáng"], ["dà"]],
		"强盗": [["qiáng"], ["dào"]],
		"强敌": [["qiáng"], ["dí"]],
		"强度": [["qiáng"], ["dù"]],
		"强调": [["qiáng"], ["diào"]],
		"强渡": [["qiáng"], ["dù"]],
		"强队": [["qiáng"], ["duì"]],
		"强夺": [["qiáng"], ["duó"]],
		"强干": [["qiáng"], ["gàn"]],
		"强风": [["qiáng"], ["fēng"]],
		"强攻": [["qiáng"], ["gōng"]],
		"强固": [["qiáng"], ["gù"]],
		"强悍": [["qiáng"], ["hàn"]],
		"强国": [["qiáng"], ["guó"]],
		"强化": [["qiáng"], ["huà"]],
		"强横": [["qiáng"], ["hèng"]],
		"强加": [["qiáng"], ["jiā"]],
		"强击": [["qiáng"], ["jī"]],
		"强记": [["qiáng"], ["jì"]],
		"强奸": [["qiáng"], ["jiān"]],
		"强健": [["qiáng"], ["jiàn"]],
		"强将": [["qiáng"], ["jiàng"]],
		"强劲": [["qiáng"], ["jìng"]],
		"强力": [["qiáng"], ["lì"]],
		"强梁": [["qiáng"], ["liáng"]],
		"强烈": [["qiáng"], ["liè"]],
		"强邻": [["qiáng"], ["lín"]],
		"强令": [["qiáng"], ["lìng"]],
		"强留": [["qiǎng"], ["liú"]],
		"强迫": [["qiǎng"], ["pò"]],
		"强求": [["qiǎng"], ["qiú"]],
		"强取": [["qiáng"], ["qǔ"]],
		"强权": [["qiáng"], ["quán"]],
		"强人": [["qiǎng"], ["rén"]],
		"强韧": [["qiáng"], ["rèn"]],
		"强忍": [["qiáng"], ["rěn"]],
		"强弱": [["qiáng"], ["ruò"]],
		"强身": [["qiáng"], ["shēn"]],
		"强盛": [["qiáng"], ["shèng"]],
		"强势": [["qiáng"], ["shì"]],
		"强手": [["qiáng"], ["shǒu"]],
		"强似": [["qiáng"], ["sì"]],
		"强酸": [["qiáng"], ["suān"]],
		"强项": [["qiáng"], ["xiàng"]],
		"强笑": [["qiǎng"], ["xiào"]],
		"强行": [["qiáng"], ["xíng"]],
		"强颜": [["qiǎng"], ["yán"]],
		"强音": [["qiáng"], ["yīn"]],
		"强硬": [["qiáng"], ["yìng"]],
		"强占": [["qiáng"], ["zhàn"]],
		"强者": [["qiáng"], ["zhě"]],
		"强直": [["qiáng"], ["zhí"]],
		"强壮": [["qiáng"], ["zhuàng"]],
		"强制": [["qiáng"], ["zhì"]],
		"强嘴": [["jiàng"], ["zuǐ"]],
		"墙垛": [["qiáng"], ["duǒ"]],
		"墙角": [["qiáng"], ["jiǎo"]],
		"墙头": [["qiáng"], ["tóu"]],
		"抢白": [["qiǎng"], ["bái"]],
		"抢渡": [["qiǎng"], ["dù"]],
		"抢夺": [["qiǎng"], ["duó"]],
		"抢工": [["qiǎng"], ["gōng"]],
		"抢攻": [["qiǎng"], ["gōng"]],
		"抢购": [["qiǎng"], ["gòu"]],
		"抢话": [["qiǎng"], ["huà"]],
		"抢劫": [["qiǎng"], ["jié"]],
		"抢建": [["qiǎng"], ["jiàn"]],
		"抢救": [["qiǎng"], ["jiù"]],
		"抢掠": [["qiǎng"], ["lüè"]],
		"抢拍": [["qiǎng"], ["pāi"]],
		"抢亲": [["qiǎng"], ["qīn"]],
		"抢墒": [["qiǎng"], ["shāng"]],
		"抢市": [["qiǎng"], ["shì"]],
		"抢收": [["qiǎng"], ["shōu"]],
		"抢手": [["qiǎng"], ["shǒu"]],
		"抢滩": [["qiǎng"], ["tān"]],
		"抢先": [["qiǎng"], ["xiān"]],
		"抢险": [["qiǎng"], ["xiǎn"]],
		"抢修": [["qiǎng"], ["xiū"]],
		"抢眼": [["qiǎng"], ["yǎn"]],
		"抢运": [["qiǎng"], ["yùn"]],
		"抢占": [["qiǎng"], ["zhàn"]],
		"抢种": [["qiǎng"], ["zhòng"]],
		"抢嘴": [["qiǎng"], ["zuǐ"]],
		"悄悄": [["qiāo"], ["qiāo"]],
		"悄然": [["qiǎo"], ["rán"]],
		"悄声": [["qiǎo"], ["shēng"]],
		"敲打": [["qiāo"], ["dǎ"]],
		"桥台": [["qiáo"], ["tái"]],
		"侨属": [["qiáo"], ["shǔ"]],
		"桥头": [["qiáo"], ["tóu"]],
		"樵夫": [["qiáo"], ["fū"]],
		"巧合": [["qiǎo"], ["hé"]],
		"巧干": [["qiǎo"], ["gàn"]],
		"瞧见": [["qiáo"], ["jiàn"]],
		"巧劲": [["qiǎo"], ["jìn"]],
		"巧思": [["qiǎo"], ["sī"]],
		"俏丽": [["qiào"], ["lì"]],
		"俏货": [["qiào"], ["huò"]],
		"俏脸": [["qiào"], ["liǎn"]],
		"俏皮": [["qiào"], ["pí"]],
		"俏头": [["qiào"], ["tou"]],
		"翘楚": [["qiáo"], ["chǔ"]],
		"翘棱": [["qiáo"], ["lēng"]],
		"翘盼": [["qiáo"], ["pàn"]],
		"翘企": [["qiáo"], ["qǐ"]],
		"翘翘": [["qiào"], ["qiào"]],
		"翘首": [["qiáo"], ["shǒu"]],
		"翘望": [["qiáo"], ["wàng"]],
		"撬杠": [["qiào"], ["gàng"]],
		"撬棍": [["qiào"], ["gùn"]],
		"切变": [["qiē"], ["biàn"]],
		"切齿": [["qiè"], ["chǐ"]],
		"切除": [["qiē"], ["chú"]],
		"切磋": [["qiē"], ["cuō"]],
		"切当": [["qiē"], ["dāng"]],
		"切点": [["qiē"], ["diǎn"]],
		"切断": [["qiē"], ["duàn"]],
		"切糕": [["qiē"], ["gāo"]],
		"切割": [["qiē"], ["gē"]],
		"切合": [["qiè"], ["hé"]],
		"切花": [["qiē"], ["huā"]],
		"切记": [["qiè"], ["jì"]],
		"切忌": [["qiè"], ["jì"]],
		"切结": [["qiē"], ["jié"]],
		"切近": [["qiè"], ["jìn"]],
		"切口": [["qiē"], ["kǒu"]],
		"切脉": [["qiè"], ["mài"]],
		"切面": [["qiē"], ["miàn"]],
		"切莫": [["qiè"], ["mò"]],
		"切片": [["qiē"], ["piàn"]],
		"切盼": [["qiè"], ["pàn"]],
		"切切": [["qiē"], ["qiē"]],
		"切入": [["qiē"], ["rù"]],
		"切身": [["qiè"], ["shēn"]],
		"切实": [["qiè"], ["shí"]],
		"切题": [["qiè"], ["tí"]],
		"切望": [["qiè"], ["wàng"]],
		"切勿": [["qiē"], ["wù"]],
		"切屑": [["qiē"], ["xiè"]],
		"切削": [["qiē"], ["xiāo"]],
		"切音": [["qiè"], ["yīn"]],
		"切要": [["qiè"], ["yào"]],
		"切诊": [["qiè"], ["zhěn"]],
		"切中": [["qiè"], ["zhòng"]],
		"且慢": [["qiě"], ["màn"]],
		"且末": [["qiě"], ["mò"]],
		"怯场": [["qiè"], ["chǎng"]],
		"窃据": [["qiè"], ["jù"]],
		"且说": [["qiě"], ["shuō"]],
		"亲爱": [["qīn"], ["ài"]],
		"亲笔": [["qīn"], ["bǐ"]],
		"亲兵": [["qīn"], ["bīng"]],
		"亲本": [["qīn"], ["běn"]],
		"亲丁": [["qīn"], ["dīng"]],
		"亲代": [["qīn"], ["dài"]],
		"亲睹": [["qīn"], ["dǔ"]],
		"亲故": [["qīn"], ["gù"]],
		"亲和": [["qīn"], ["hé"]],
		"亲家": [["qìng"], ["jia"]],
		"亲近": [["qīn"], ["jìn"]],
		"亲眷": [["qīn"], ["juàn"]],
		"亲口": [["qīn"], ["kǒu"]],
		"亲历": [["qīn"], ["lì"]],
		"亲临": [["qīn"], ["lín"]],
		"亲密": [["qīn"], ["mì"]],
		"亲睦": [["qīn"], ["mù"]],
		"亲昵": [["qīn"], ["nì"]],
		"亲朋": [["qīn"], ["péng"]],
		"亲娘": [["qīn"], ["niáng"]],
		"亲戚": [["qīn"], ["qī"]],
		"亲切": [["qīn"], ["qiè"]],
		"亲亲": [["qīn"], ["qīn"]],
		"亲热": [["qīn"], ["rè"]],
		"亲情": [["qīn"], ["qíng"]],
		"亲人": [["qīn"], ["rén"]],
		"亲善": [["qīn"], ["shàn"]],
		"亲生": [["qīn"], ["shēng"]],
		"亲身": [["qīn"], ["shēn"]],
		"亲事": [["qīn"], ["shì"]],
		"亲手": [["qīn"], ["shǒu"]],
		"亲疏": [["qīn"], ["shū"]],
		"亲随": [["qīn"], ["suí"]],
		"亲吻": [["qīn"], ["wěn"]],
		"亲王": [["qīn"], ["wáng"]],
		"亲信": [["qīn"], ["xìn"]],
		"亲眼": [["qīn"], ["yǎn"]],
		"亲迎": [["qīn"], ["yíng"]],
		"亲友": [["qīn"], ["yǒu"]],
		"亲缘": [["qīn"], ["yuán"]],
		"亲征": [["qīn"], ["zhēng"]],
		"亲政": [["qīn"], ["zhèng"]],
		"亲知": [["qīn"], ["zhī"]],
		"亲属": [["qīn"], ["shǔ"]],
		"亲子": [["qīn"], ["zǐ"]],
		"亲自": [["qīn"], ["zì"]],
		"亲族": [["qīn"], ["zú"]],
		"亲嘴": [["qīn"], ["zuǐ"]],
		"侵占": [["qīn"], ["zhàn"]],
		"钦差": [["qīn"], ["chāi"]],
		"钦仰": [["qīn"], ["yǎng"]],
		"秦艽": [["qín"], ["jiāo"]],
		"秦岭": [["qín"], ["lǐng"]],
		"琴曲": [["qín"], ["qǔ"]],
		"勤朴": [["qín"], ["piáo"]],
		"勤王": [["qín"], ["wáng"]],
		"寝车": [["qǐn"], ["chē"]],
		"寝食": [["qǐn"], ["shí"]],
		"青绿": [["qīng"], ["lǜ"]],
		"青石": [["qīng"], ["shí"]],
		"青蛇": [["qīng"], ["shé"]],
		"青苔": [["qīng"], ["tái"]],
		"氢弹": [["qīng"], ["dàn"]],
		"轻便": [["qīng"], ["biàn"]],
		"轻薄": [["qīng"], ["bó"]],
		"轻度": [["qīng"], ["dù"]],
		"轻风": [["qīng"], ["fēng"]],
		"轻拂": [["qīng"], ["fú"]],
		"轻看": [["qīng"], ["kàn"]],
		"轻率": [["qīng"], ["shuài"]],
		"轻俏": [["qīng"], ["qiào"]],
		"轻省": [["qīng"], ["shěng"]],
		"轻信": [["qīng"], ["xìn"]],
		"轻重": [["qīng"], ["zhòng"]],
		"倾侧": [["qīng"], ["cè"]],
		"倾盖": [["qīng"], ["gài"]],
		"倾倒": [["qīng"], ["dǎo"]],
		"倾家": [["qīng"], ["jiā"]],
		"倾角": [["qīng"], ["jiǎo"]],
		"倾囊": [["qīng"], ["náng"]],
		"倾吐": [["qīng"], ["tǔ"]],
		"倾泄": [["qīng"], ["xiè"]],
		"情节": [["qíng"], ["jié"]],
		"情趣": [["qíng"], ["qù"]],
		"晴好": [["qíng"], ["hǎo"]],
		"晴和": [["qíng"], ["hé"]],
		"晴空": [["qíng"], ["kōng"]],
		"请便": [["qǐng"], ["biàn"]],
		"请调": [["qǐng"], ["diào"]],
		"请假": [["qǐng"], ["jià"]],
		"请见": [["qǐng"], ["jiàn"]],
		"请降": [["qǐng"], ["xiáng"]],
		"请教": [["qǐng"], ["jiào"]],
		"罄尽": [["qìng"], ["jìn"]],
		"请帖": [["qǐng"], ["tiě"]],
		"穷尽": [["qióng"], ["jìn"]],
		"穷期": [["qióng"], ["qī"]],
		"琼浆": [["qióng"], ["jiāng"]],
		"秋分": [["qiū"], ["fēn"]],
		"秋风": [["qiū"], ["fēng"]],
		"秋景": [["qiū"], ["jǐng"]],
		"秋凉": [["qiū"], ["liáng"]],
		"秋令": [["qiū"], ["lìng"]],
		"秋叶": [["qiū"], ["yè"]],
		"秋种": [["qiū"], ["zhǒng"]],
		"囚车": [["qiú"], ["chē"]],
		"囚笼": [["qiú"], ["lóng"]],
		"囚禁": [["qiú"], ["jìn"]],
		"求和": [["qiú"], ["hé"]],
		"求见": [["qiú"], ["jiàn"]],
		"求降": [["qiú"], ["xiáng"]],
		"求教": [["qiú"], ["jiào"]],
		"求解": [["qiú"], ["jiě"]],
		"求亲": [["qiú"], ["qīn"]],
		"求雨": [["qiú"], ["yǔ"]],
		"求知": [["qiú"], ["zhī"]],
		"酋长": [["qiú"], ["zhǎng"]],
		"求助": [["qiú"], ["zhù"]],
		"区别": [["qū"], ["bié"]],
		"遒劲": [["qiú"], ["jìng"]],
		"区段": [["qū"], ["duàn"]],
		"区分": [["qū"], ["fēn"]],
		"区划": [["qū"], ["huà"]],
		"区间": [["qū"], ["jiān"]],
		"区内": [["qū"], ["nèi"]],
		"区外": [["qū"], ["wài"]],
		"区区": [["qū"], ["qū"]],
		"区县": [["qū"], ["xiàn"]],
		"区域": [["qū"], ["yù"]],
		"曲笔": [["qū"], ["bǐ"]],
		"曲柄": [["qū"], ["bǐng"]],
		"曲池": [["qǔ"], ["chí"]],
		"曲尺": [["qū"], ["chǐ"]],
		"曲调": [["qǔ"], ["diào"]],
		"曲度": [["qǔ"], ["dù"]],
		"曲阜": [["qū"], ["fù"]],
		"曲解": [["qū"], ["jiě"]],
		"曲江": [["qǔ"], ["jiāng"]],
		"曲径": [["qū"], ["jìng"]],
		"曲剧": [["qǔ"], ["jù"]],
		"曲率": [["qǔ"], ["lǜ"]],
		"曲面": [["qǔ"], ["miàn"]],
		"曲目": [["qǔ"], ["mù"]],
		"曲牌": [["qǔ"], ["pái"]],
		"曲谱": [["qǔ"], ["pǔ"]],
		"曲曲": [["qū"], ["qū"]],
		"曲泉": [["qǔ"], ["quán"]],
		"曲蟮": [["qǔ"], ["shàn"]],
		"曲水": [["qǔ"], ["shuǐ"]],
		"曲线": [["qū"], ["xiàn"]],
		"曲艺": [["qǔ"], ["yì"]],
		"曲张": [["qǔ"], ["zhāng"]],
		"曲泽": [["qǔ"], ["zé"]],
		"曲折": [["qū"], ["zhé"]],
		"曲直": [["qū"], ["zhí"]],
		"驱车": [["qū"], ["chē"]],
		"曲子": [["qǔ"], ["zi"]],
		"驱迫": [["qū"], ["pò"]],
		"驱散": [["qū"], ["sàn"]],
		"驱邪": [["qū"], ["xié"]],
		"屈从": [["qū"], ["cóng"]],
		"屈服": [["qū"], ["fú"]],
		"屈节": [["qū"], ["jié"]],
		"屈强": [["qū"], ["qiáng"]],
		"屈曲": [["qū"], ["qǔ"]],
		"屈折": [["qū"], ["shé"]],
		"祛风": [["qū"], ["fēng"]],
		"祛邪": [["qū"], ["xié"]],
		"祛疑": [["qū"], ["yí"]],
		"躯干": [["qū"], ["gàn"]],
		"躯壳": [["qū"], ["qiào"]],
		"躯体": [["qū"], ["tǐ"]],
		"趋避": [["qū"], ["bì"]],
		"趋附": [["qū"], ["fù"]],
		"趋奉": [["qū"], ["fèng"]],
		"趋近": [["qū"], ["jìn"]],
		"趋利": [["qū"], ["lì"]],
		"趋时": [["qū"], ["shí"]],
		"趋势": [["qū"], ["shì"]],
		"趋向": [["qū"], ["xiàng"]],
		"渠道": [["qú"], ["dào"]],
		"取得": [["qǔ"], ["de"]],
		"取给": [["qǔ"], ["gěi"]],
		"取景": [["qǔ"], ["jǐng"]],
		"取乐": [["qǔ"], ["lè"]],
		"取齐": [["qǔ"], ["qí"]],
		"取信": [["qǔ"], ["xìn"]],
		"去处": [["qù"], ["chù"]],
		"去任": [["qù"], ["rèn"]],
		"趣话": [["qù"], ["huà"]],
		"趣剧": [["qù"], ["jù"]],
		"趣事": [["qù"], ["shì"]],
		"趣谈": [["qù"], ["tán"]],
		"趣味": [["qù"], ["wèi"]],
		"圈地": [["quān"], ["dì"]],
		"圈椅": [["quān"], ["yǐ"]],
		"圈阅": [["quān"], ["yuè"]],
		"圈子": [["quān"], ["zi"]],
		"全称": [["quán"], ["chēng"]],
		"全场": [["quán"], ["chǎng"]],
		"全份": [["quán"], ["fèn"]],
		"全都": [["quán"], ["dōu"]],
		"全副": [["quán"], ["fù"]],
		"全会": [["quán"], ["huì"]],
		"全家": [["quán"], ["jiā"]],
		"全价": [["quán"], ["jià"]],
		"全景": [["quán"], ["jǐng"]],
		"全能": [["quán"], ["néng"]],
		"全票": [["quán"], ["piào"]],
		"全盛": [["quán"], ["shèng"]],
		"全食": [["quán"], ["shí"]],
		"全数": [["quán"], ["shù"]],
		"全体": [["quán"], ["tǐ"]],
		"全校": [["quán"], ["xiào"]],
		"全休": [["quán"], ["xiū"]],
		"全员": [["quán"], ["yuán"]],
		"权能": [["quán"], ["néng"]],
		"权术": [["quán"], ["shù"]],
		"权且": [["quán"], ["qiě"]],
		"权重": [["quán"], ["zhòng"]],
		"权数": [["quán"], ["shù"]],
		"拳参": [["quán"], ["cān"]],
		"泉涌": [["quán"], ["yǒng"]],
		"拳打": [["quán"], ["dǎ"]],
		"拳曲": [["quán"], ["qū"]],
		"拳术": [["quán"], ["shù"]],
		"拳头": [["quán"], ["tou"]],
		"拳王": [["quán"], ["wáng"]],
		"蜷曲": [["quán"], ["qū"]],
		"蜷缩": [["quán"], ["suō"]],
		"鬈曲": [["quán"], ["qǔ"]],
		"颧骨": [["quán"], ["gǔ"]],
		"劝化": [["quàn"], ["huà"]],
		"劝和": [["quàn"], ["hé"]],
		"劝降": [["quàn"], ["xiáng"]],
		"劝解": [["quàn"], ["jiě"]],
		"劝说": [["quàn"], ["shuō"]],
		"缺少": [["quē"], ["shǎo"]],
		"却说": [["què"], ["shuō"]],
		"雀子": [["qiāo"], ["zǐ"]],
		"确当": [["què"], ["dàng"]],
		"确切": [["què"], ["qiè"]],
		"确信": [["què"], ["xìn"]],
		"阙如": [["quē"], ["rú"]],
		"阙漏": [["quē"], ["lòu"]],
		"阙文": [["quē"], ["wén"]],
		"阙疑": [["quē"], ["yí"]],
		"群氓": [["qún"], ["méng"]],
		"群体": [["qún"], ["tǐ"]],
		"染毒": [["rǎn"], ["dú"]],
		"染坊": [["rǎn"], ["fáng"]],
		"攘臂": [["rǎng"], ["bì"]],
		"嚷叫": [["rǎng"], ["jiào"]],
		"嚷嚷": [["rāng"], ["rang"]],
		"让价": [["ràng"], ["jià"]],
		"让与": [["ràng"], ["yǔ"]],
		"饶有": [["ráo"], ["yǒu"]],
		"饶头": [["ráo"], ["tóu"]],
		"桡骨": [["ráo"], ["gǔ"]],
		"绕行": [["rào"], ["xíng"]],
		"热地": [["rè"], ["dì"]],
		"热度": [["rè"], ["dù"]],
		"热毒": [["rè"], ["dú"]],
		"热风": [["rè"], ["fēng"]],
		"热和": [["rè"], ["huo"]],
		"热化": [["rè"], ["huà"]],
		"热量": [["rè"], ["liàng"]],
		"热络": [["rè"], ["luò"]],
		"热能": [["rè"], ["néng"]],
		"热切": [["rè"], ["qiè"]],
		"热汤": [["rè"], ["tāng"]],
		"热血": [["rè"], ["xuè"]],
		"热中": [["rè"], ["zhōng"]],
		"热症": [["rè"], ["zhèng"]],
		"人称": [["rén"], ["chēng"]],
		"人参": [["rén"], ["shēn"]],
		"人大": [["rén"], ["dà"]],
		"人丁": [["rén"], ["dīng"]],
		"人夫": [["rén"], ["fū"]],
		"人和": [["rén"], ["hé"]],
		"人家": [["rén"], ["jiā"]],
		"人间": [["rén"], ["jiān"]],
		"人氏": [["rén"], ["shì"]],
		"人数": [["rén"], ["shù"]],
		"人体": [["rén"], ["tǐ"]],
		"人头": [["rén"], ["tóu"]],
		"人为": [["rén"], ["wéi"]],
		"人员": [["rén"], ["yuán"]],
		"人中": [["rén"], ["zhōng"]],
		"人种": [["rén"], ["zhǒng"]],
		"仁弟": [["rén"], ["dì"]],
		"仁化": [["rén"], ["huà"]],
		"仁术": [["rén"], ["shù"]],
		"稔知": [["rěn"], ["zhī"]],
		"认得": [["rèn"], ["de"]],
		"认可": [["rèn"], ["kě"]],
		"认亲": [["rèn"], ["qīn"]],
		"认识": [["rèn"], ["shi"]],
		"认同": [["rèn"], ["tóng"]],
		"认头": [["rèn"], ["tóu"]],
		"认为": [["rèn"], ["wéi"]],
		"认知": [["rèn"], ["zhī"]],
		"任便": [["rèn"], ["biàn"]],
		"任从": [["rèn"], ["cóng"]],
		"任何": [["rèn"], ["hé"]],
		"任教": [["rèn"], ["jiào"]],
		"任课": [["rèn"], ["kè"]],
		"任免": [["rèn"], ["miǎn"]],
		"任脉": [["rèn"], ["mài"]],
		"任命": [["rèn"], ["mìng"]],
		"任内": [["rèn"], ["nèi"]],
		"任凭": [["rèn"], ["píng"]],
		"任期": [["rèn"], ["qī"]],
		"任情": [["rèn"], ["qíng"]],
		"任务": [["rèn"], ["wù"]],
		"任随": [["rèn"], ["suí"]],
		"任性": [["rèn"], ["xìng"]],
		"任意": [["rèn"], ["yì"]],
		"任选": [["rèn"], ["xuǎn"]],
		"任用": [["rèn"], ["yòng"]],
		"任职": [["rèn"], ["zhí"]],
		"韧劲": [["rèn"], ["jìn"]],
		"恁地": [["nèn"], ["dì"]],
		"日场": [["rì"], ["chǎng"]],
		"日华": [["rì"], ["huá"]],
		"日间": [["rì"], ["jiān"]],
		"日见": [["rì"], ["jiàn"]],
		"日渐": [["rì"], ["jiàn"]],
		"日落": [["rì"], ["luò"]],
		"日没": [["rì"], ["méi"]],
		"日内": [["rì"], ["nèi"]],
		"日期": [["rì"], ["qī"]],
		"日趋": [["rì"], ["qū"]],
		"日射": [["rì"], ["shè"]],
		"日食": [["rì"], ["shí"]],
		"日头": [["rì"], ["tou"]],
		"日晕": [["rì"], ["yùn"]],
		"日语": [["rì"], ["yǔ"]],
		"日中": [["rì"], ["zhōng"]],
		"戎行": [["róng"], ["háng"]],
		"荣华": [["róng"], ["huá"]],
		"荣任": [["róng"], ["rèn"]],
		"容量": [["róng"], ["liàng"]],
		"容许": [["róng"], ["xǔ"]],
		"溶斗": [["róng"], ["dòu"]],
		"溶合": [["róng"], ["hé"]],
		"溶解": [["róng"], ["jiě"]],
		"溶化": [["róng"], ["huà"]],
		"溶血": [["róng"], ["xuè"]],
		"熔化": [["róng"], ["huà"]],
		"融合": [["róng"], ["hé"]],
		"融和": [["róng"], ["hé"]],
		"熔解": [["róng"], ["jiě"]],
		"融化": [["róng"], ["huà"]],
		"融会": [["róng"], ["huì"]],
		"冗长": [["rǒng"], ["cháng"]],
		"融解": [["róng"], ["jiě"]],
		"冗繁": [["rǒng"], ["fán"]],
		"冗员": [["rǒng"], ["yuán"]],
		"柔和": [["róu"], ["hé"]],
		"柔化": [["róu"], ["huà"]],
		"柔术": [["róu"], ["shù"]],
		"糅合": [["róu"], ["hé"]],
		"肉丁": [["ròu"], ["dīng"]],
		"肉干": [["ròu"], ["gān"]],
		"肉冠": [["ròu"], ["guān"]],
		"肉红": [["ròu"], ["hóng"]],
		"肉糜": [["ròu"], ["mí"]],
		"肉排": [["ròu"], ["pái"]],
		"肉片": [["ròu"], ["piàn"]],
		"肉票": [["ròu"], ["piào"]],
		"肉铺": [["ròu"], ["pù"]],
		"肉食": [["ròu"], ["shí"]],
		"肉体": [["ròu"], ["tǐ"]],
		"肉头": [["ròu"], ["tóu"]],
		"肉畜": [["ròu"], ["chù"]],
		"如弟": [["rú"], ["dì"]],
		"如何": [["rú"], ["hé"]],
		"如期": [["rú"], ["qī"]],
		"如其": [["rú"], ["qí"]],
		"如若": [["rú"], ["ruò"]],
		"如上": [["rú"], ["shàng"]],
		"如数": [["rú"], ["shù"]],
		"如同": [["rú"], ["tóng"]],
		"如许": [["rú"], ["xǔ"]],
		"儒家": [["rú"], ["jiā"]],
		"如约": [["rú"], ["yuē"]],
		"儒将": [["rú"], ["jiàng"]],
		"儒教": [["rú"], ["jiào"]],
		"儒术": [["rú"], ["shù"]],
		"蠕行": [["rú"], ["xíng"]],
		"乳臭": [["rǔ"], ["xiù"]],
		"乳化": [["rǔ"], ["huà"]],
		"乳糜": [["rǔ"], ["mí"]],
		"乳头": [["rǔ"], ["tóu"]],
		"乳燕": [["rǔ"], ["yàn"]],
		"辱没": [["rǔ"], ["mò"]],
		"入场": [["rù"], ["chǎng"]],
		"入港": [["rù"], ["gǎng"]],
		"入骨": [["rù"], ["gǔ"]],
		"入会": [["rù"], ["huì"]],
		"入内": [["rù"], ["nèi"]],
		"入射": [["rù"], ["shè"]],
		"入戏": [["rù"], ["xì"]],
		"入邪": [["rù"], ["xié"]],
		"褥单": [["rù"], ["dān"]],
		"入行": [["rù"], ["xíng"]],
		"软尺": [["ruǎn"], ["chǐ"]],
		"软风": [["ruǎn"], ["fēng"]],
		"软膏": [["ruǎn"], ["gāo"]],
		"软骨": [["ruǎn"], ["gǔ"]],
		"软和": [["ruǎn"], ["huo"]],
		"软化": [["ruǎn"], ["huà"]],
		"软肋": [["ruǎn"], ["lèi"]],
		"软禁": [["ruǎn"], ["jìn"]],
		"软磨": [["ruǎn"], ["mó"]],
		"软片": [["ruǎn"], ["piàn"]],
		"软泥": [["ruǎn"], ["ní"]],
		"软食": [["ruǎn"], ["shí"]],
		"锐角": [["ruì"], ["jiǎo"]],
		"润泽": [["rùn"], ["zé"]],
		"若非": [["ruò"], ["fēi"]],
		"若夫": [["ruò"], ["fú"]],
		"若干": [["ruò"], ["gān"]],
		"若果": [["ruò"], ["guǒ"]],
		"若何": [["ruò"], ["hé"]],
		"若是": [["ruò"], ["shì"]],
		"偌大": [["ruò"], ["dà"]],
		"弱冠": [["ruò"], ["guàn"]],
		"撒播": [["sǎ"], ["bō"]],
		"撒布": [["sǎ"], ["bù"]],
		"撒旦": [["sā"], ["dàn"]],
		"撒刁": [["sā"], ["diāo"]],
		"撒欢": [["sā"], ["huān"]],
		"撒谎": [["sā"], ["huǎng"]],
		"撒开": [["sā"], ["kāi"]],
		"撒娇": [["sā"], ["jiāo"]],
		"撒拉": [["sā"], ["lā"]],
		"撒赖": [["sā"], ["lài"]],
		"撒泼": [["sā"], ["pō"]],
		"撒气": [["sā"], ["qì"]],
		"撒施": [["sǎ"], ["shī"]],
		"撒手": [["sā"], ["shǒu"]],
		"撒腿": [["sā"], ["tuǐ"]],
		"撒野": [["sā"], ["yě"]],
		"洒家": [["sǎ"], ["jiā"]],
		"洒泪": [["sǎ"], ["lèi"]],
		"洒落": [["sǎ"], ["luò"]],
		"洒洒": [["sǎ"], ["sǎ"]],
		"洒扫": [["sǎ"], ["sǎo"]],
		"洒脱": [["sǎ"], ["tuō"]],
		"塞北": [["sài"], ["běi"]],
		"塞车": [["sāi"], ["chē"]],
		"塞规": [["sāi"], ["guī"]],
		"塞满": [["sāi"], ["mǎn"]],
		"塞门": [["sài"], ["mén"]],
		"塞上": [["sāi"], ["shàng"]],
		"塞外": [["sài"], ["wài"]],
		"塞音": [["sè"], ["yīn"]],
		"塞责": [["sè"], ["zé"]],
		"塞子": [["sāi"], ["zi"]],
		"腮红": [["sāi"], ["hóng"]],
		"赛场": [["sài"], ["chǎng"]],
		"赛车": [["sài"], ["chē"]],
		"赛过": [["sài"], ["guò"]],
		"赛会": [["sài"], ["huì"]],
		"赛跑": [["sài"], ["pǎo"]],
		"三藏": [["sān"], ["zàng"]],
		"赛似": [["sài"], ["sì"]],
		"三北": [["sān"], ["běi"]],
		"三度": [["sān"], ["dù"]],
		"三分": [["sān"], ["fēn"]],
		"三副": [["sān"], ["fù"]],
		"三更": [["sān"], ["gēng"]],
		"三好": [["sān"], ["hǎo"]],
		"三号": [["sān"], ["hào"]],
		"三合": [["sān"], ["hé"]],
		"三角": [["sān"], ["jiǎo"]],
		"三教": [["sān"], ["jiào"]],
		"三节": [["sān"], ["jié"]],
		"三思": [["sān"], ["sī"]],
		"三台": [["sān"], ["tái"]],
		"三鲜": [["sān"], ["xiān"]],
		"三相": [["sān"], ["xiāng"]],
		"三行": [["sān"], ["xíng"]],
		"三重": [["sān"], ["chóng"]],
		"伞盖": [["sǎn"], ["gài"]],
		"散兵": [["sǎn"], ["bīng"]],
		"散板": [["sǎn"], ["bǎn"]],
		"散播": [["sàn"], ["bō"]],
		"散布": [["sàn"], ["bù"]],
		"散步": [["sàn"], ["bù"]],
		"散场": [["sàn"], ["chǎng"]],
		"散发": [["sàn"], ["fà"]],
		"散放": [["sàn"], ["fàng"]],
		"散工": [["sǎn"], ["gōng"]],
		"散光": [["sǎn"], ["guāng"]],
		"散户": [["sàn"], ["hù"]],
		"散会": [["sàn"], ["huì"]],
		"散伙": [["sàn"], ["huǒ"]],
		"散记": [["sǎn"], ["jì"]],
		"散剂": [["sǎn"], ["jì"]],
		"散架": [["sǎn"], ["jià"]],
		"散见": [["sǎn"], ["jiàn"]],
		"散件": [["sǎn"], ["jiàn"]],
		"散居": [["sǎn"], ["jū"]],
		"散开": [["sàn"], ["kāi"]],
		"散乱": [["sǎn"], ["luàn"]],
		"散落": [["sàn"], ["luò"]],
		"散漫": [["sǎn"], ["màn"]],
		"散闷": [["sàn"], ["mèn"]],
		"散钱": [["sàn"], ["qián"]],
		"散曲": [["sǎn"], ["qǔ"]],
		"散沙": [["sǎn"], ["shā"]],
		"散射": [["sǎn"], ["shè"]],
		"散失": [["sàn"], ["shī"]],
		"散水": [["sàn"], ["shuǐ"]],
		"散碎": [["sǎn"], ["suì"]],
		"散体": [["sǎn"], ["tǐ"]],
		"散亡": [["sàn"], ["wáng"]],
		"散席": [["sàn"], ["xí"]],
		"散戏": [["sàn"], ["xì"]],
		"散文": [["sǎn"], ["wén"]],
		"散心": [["sàn"], ["xīn"]],
		"散学": [["sàn"], ["xué"]],
		"散置": [["sàn"], ["zhì"]],
		"散佚": [["sàn"], ["yì"]],
		"散装": [["sǎn"], ["zhuāng"]],
		"散座": [["sàn"], ["zuò"]],
		"桑椹": [["sāng"], ["shèn"]],
		"桑叶": [["sāng"], ["yè"]],
		"丧胆": [["sàng"], ["dǎn"]],
		"丧服": [["sāng"], ["fú"]],
		"丧家": [["sàng"], ["jiā"]],
		"丧假": [["sāng"], ["jià"]],
		"丧礼": [["sāng"], ["lǐ"]],
		"丧乱": [["sāng"], ["luàn"]],
		"丧门": [["sàng"], ["mén"]],
		"丧命": [["sàng"], ["mìng"]],
		"丧偶": [["sàng"], ["ǒu"]],
		"丧气": [["sàng"], ["qì"]],
		"丧生": [["sàng"], ["shēng"]],
		"丧身": [["sàng"], ["shēn"]],
		"丧失": [["sàng"], ["shī"]],
		"丧事": [["sāng"], ["shì"]],
		"丧亡": [["sàng"], ["wáng"]],
		"丧志": [["sàng"], ["zhì"]],
		"丧葬": [["sāng"], ["zàng"]],
		"丧钟": [["sāng"], ["zhōng"]],
		"搔头": [["sāo"], ["tóu"]],
		"骚货": [["sāo"], ["huò"]],
		"骚动": [["sāo"], ["dòng"]],
		"骚乱": [["sāo"], ["luàn"]],
		"骚客": [["sāo"], ["kè"]],
		"骚气": [["sāo"], ["qì"]],
		"骚扰": [["sāo"], ["rǎo"]],
		"骚人": [["sāo"], ["rén"]],
		"骚体": [["sāo"], ["tǐ"]],
		"臊子": [["sào"], ["zǐ"]],
		"扫把": [["sào"], ["bǎ"]],
		"扫除": [["sǎo"], ["chú"]],
		"扫地": [["sǎo"], ["dì"]],
		"扫荡": [["sǎo"], ["dàng"]],
		"扫坟": [["sǎo"], ["fén"]],
		"扫黄": [["sǎo"], ["huáng"]],
		"扫雷": [["sǎo"], ["léi"]],
		"扫盲": [["sǎo"], ["máng"]],
		"扫描": [["sǎo"], ["miáo"]],
		"扫灭": [["sǎo"], ["miè"]],
		"扫墓": [["sǎo"], ["mù"]],
		"扫平": [["sǎo"], ["píng"]],
		"扫清": [["sǎo"], ["qīng"]],
		"扫射": [["sǎo"], ["shè"]],
		"扫视": [["sǎo"], ["shì"]],
		"扫数": [["sǎo"], ["shù"]],
		"扫尾": [["sǎo"], ["wěi"]],
		"扫兴": [["sǎo"], ["xìng"]],
		"扫雪": [["sǎo"], ["xuě"]],
		"色差": [["sè"], ["chà"]],
		"扫帚": [["sào"], ["zhǒu"]],
		"色度": [["sè"], ["dù"]],
		"色调": [["sè"], ["diào"]],
		"色觉": [["sè"], ["jué"]],
		"色拉": [["sè"], ["lā"]],
		"色散": [["sè"], ["sàn"]],
		"色相": [["sè"], ["xiàng"]],
		"色晕": [["sè"], ["yùn"]],
		"色泽": [["sè"], ["zé"]],
		"瑟缩": [["sè"], ["suō"]],
		"杀毒": [["shā"], ["dú"]],
		"杀价": [["shā"], ["jià"]],
		"杀菌": [["shā"], ["jūn"]],
		"杀头": [["shā"], ["tóu"]],
		"沙岸": [["shā"], ["àn"]],
		"沙坝": [["shā"], ["bà"]],
		"沙包": [["shā"], ["bāo"]],
		"沙暴": [["shā"], ["bào"]],
		"沙参": [["shā"], ["shēn"]],
		"沙场": [["shā"], ["chǎng"]],
		"沙尘": [["shā"], ["chén"]],
		"沙虫": [["shā"], ["chóng"]],
		"沙船": [["shā"], ["chuán"]],
		"沙袋": [["shā"], ["dài"]],
		"沙地": [["shā"], ["dì"]],
		"沙堆": [["shā"], ["duī"]],
		"沙俄": [["shā"], ["é"]],
		"沙锅": [["shā"], ["guō"]],
		"沙发": [["shā"], ["fā"]],
		"沙果": [["shā"], ["guǒ"]],
		"沙害": [["shā"], ["hài"]],
		"沙化": [["shā"], ["huà"]],
		"沙荒": [["shā"], ["huāng"]],
		"沙皇": [["shā"], ["huáng"]],
		"沙鸡": [["shā"], ["jī"]],
		"沙棘": [["shā"], ["jí"]],
		"沙金": [["shā"], ["jīn"]],
		"沙坑": [["shā"], ["kēng"]],
		"沙梨": [["shā"], ["lí"]],
		"沙拉": [["shā"], ["là"]],
		"沙砾": [["shā"], ["lì"]],
		"沙柳": [["shā"], ["liǔ"]],
		"沙龙": [["shā"], ["lóng"]],
		"沙漏": [["shā"], ["lòu"]],
		"沙门": [["shā"], ["mén"]],
		"沙弥": [["shā"], ["mí"]],
		"沙漠": [["shā"], ["mò"]],
		"沙囊": [["shā"], ["náng"]],
		"沙鸥": [["shā"], ["ōu"]],
		"沙盘": [["shā"], ["pán"]],
		"沙碛": [["shā"], ["qì"]],
		"沙丘": [["shā"], ["qiū"]],
		"沙沙": [["shā"], ["shā"]],
		"沙石": [["shā"], ["shí"]],
		"沙市": [["shā"], ["shì"]],
		"沙滩": [["shā"], ["tān"]],
		"沙田": [["shā"], ["tián"]],
		"沙土": [["shā"], ["tǔ"]],
		"沙哑": [["shā"], ["yǎ"]],
		"沙眼": [["shā"], ["yǎn"]],
		"沙浴": [["shā"], ["yù"]],
		"沙鱼": [["shā"], ["yú"]],
		"沙灾": [["shā"], ["zāi"]],
		"沙枣": [["shā"], ["zǎo"]],
		"沙质": [["shā"], ["zhì"]],
		"沙洲": [["shā"], ["zhōu"]],
		"沙子": [["shā"], ["zi"]],
		"纱厂": [["shā"], ["chǎng"]],
		"纱笼": [["shā"], ["lóng"]],
		"刹把": [["shā"], ["bǎ"]],
		"刹车": [["shā"], ["chē"]],
		"刹刹": [["shā"], ["shā"]],
		"刹那": [["chà"], ["nà"]],
		"刹时": [["shā"], ["shí"]],
		"砂浆": [["shā"], ["jiāng"]],
		"砂囊": [["shā"], ["náng"]],
		"砂石": [["shā"], ["shí"]],
		"莎草": [["suō"], ["cǎo"]],
		"刹住": [["shā"], ["zhù"]],
		"傻乐": [["shǎ"], ["lè"]],
		"煞白": [["shà"], ["bái"]],
		"歃血": [["shà"], ["xuè"]],
		"煞笔": [["shā"], ["bǐ"]],
		"煞车": [["shā"], ["chē"]],
		"煞气": [["shà"], ["qì"]],
		"煞神": [["shà"], ["shén"]],
		"煞尾": [["shā"], ["wěi"]],
		"煞星": [["shà"], ["xīng"]],
		"煞住": [["shā"], ["zhù"]],
		"筛分": [["shāi"], ["fēn"]],
		"筛号": [["shāi"], ["hào"]],
		"筛洗": [["shāi"], ["xǐ"]],
		"晒场": [["shài"], ["cháng"]],
		"晒台": [["shài"], ["tái"]],
		"山凹": [["shān"], ["āo"]],
		"山地": [["shān"], ["dì"]],
		"山龟": [["shān"], ["guī"]],
		"山岭": [["shān"], ["lǐng"]],
		"山猫": [["shān"], ["māo"]],
		"山脉": [["shān"], ["mài"]],
		"山风": [["shān"], ["fēng"]],
		"山炮": [["shān"], ["pào"]],
		"山区": [["shān"], ["qū"]],
		"山雀": [["shān"], ["què"]],
		"山体": [["shān"], ["tǐ"]],
		"山头": [["shān"], ["tóu"]],
		"山羊": [["shān"], ["yáng"]],
		"山系": [["shān"], ["xì"]],
		"山楂": [["shān"], ["zhā"]],
		"删节": [["shān"], ["jié"]],
		"删削": [["shān"], ["xuē"]],
		"姗姗": [["shān"], ["shān"]],
		"膻气": [["shān"], ["qì"]],
		"膻中": [["dàn"], ["zhōng"]],
		"闪过": [["shǎn"], ["guò"]],
		"闪射": [["shǎn"], ["shè"]],
		"苫布": [["shàn"], ["bù"]],
		"苫盖": [["shàn"], ["gài"]],
		"扇贝": [["shàn"], ["bèi"]],
		"扇车": [["shàn"], ["chē"]],
		"扇动": [["shān"], ["dòng"]],
		"扇骨": [["shàn"], ["gǔ"]],
		"扇惑": [["shān"], ["huò"]],
		"扇面": [["shàn"], ["miàn"]],
		"扇形": [["shàn"], ["xíng"]],
		"扇坠": [["shàn"], ["zhuì"]],
		"扇子": [["shàn"], ["zi"]],
		"善处": [["shàn"], ["chǔ"]],
		"善恶": [["shàn"], ["è"]],
		"善行": [["shàn"], ["xíng"]],
		"擅长": [["shàn"], ["cháng"]],
		"擅场": [["shàn"], ["chǎng"]],
		"膳食": [["shàn"], ["shí"]],
		"膳宿": [["shàn"], ["sù"]],
		"伤风": [["shāng"], ["fēng"]],
		"伤号": [["shāng"], ["hào"]],
		"伤亡": [["shāng"], ["wáng"]],
		"伤员": [["shāng"], ["yuán"]],
		"商场": [["shāng"], ["chǎng"]],
		"商调": [["shāng"], ["diào"]],
		"商兑": [["shāng"], ["duì"]],
		"商港": [["shāng"], ["gǎng"]],
		"商号": [["shāng"], ["hào"]],
		"商会": [["shāng"], ["huì"]],
		"商家": [["shāng"], ["jiā"]],
		"商量": [["shāng"], ["liáng"]],
		"商行": [["shāng"], ["háng"]],
		"商约": [["shāng"], ["yuē"]],
		"赏识": [["shǎng"], ["shí"]],
		"上岸": [["shàng"], ["àn"]],
		"上班": [["shàng"], ["bān"]],
		"上辈": [["shàng"], ["bèi"]],
		"上报": [["shàng"], ["bào"]],
		"上边": [["shàng"], ["biān"]],
		"上膘": [["shàng"], ["biāo"]],
		"上宾": [["shàng"], ["bīn"]],
		"上兵": [["shàng"], ["bīng"]],
		"上菜": [["shàng"], ["cài"]],
		"上苍": [["shàng"], ["cāng"]],
		"上操": [["shàng"], ["cāo"]],
		"上策": [["shàng"], ["cè"]],
		"上层": [["shàng"], ["céng"]],
		"上场": [["shàng"], ["chǎng"]],
		"上朝": [["shàng"], ["cháo"]],
		"上乘": [["shàng"], ["chéng"]],
		"上车": [["shàng"], ["chē"]],
		"上唇": [["shàng"], ["chún"]],
		"上床": [["shàng"], ["chuáng"]],
		"上次": [["shàng"], ["cì"]],
		"上簇": [["shàng"], ["cù"]],
		"上达": [["shàng"], ["dá"]],
		"上当": [["shàng"], ["dàng"]],
		"上代": [["shàng"], ["dài"]],
		"上等": [["shàng"], ["děng"]],
		"上帝": [["shàng"], ["dì"]],
		"上吊": [["shàng"], ["diào"]],
		"上调": [["shàng"], ["diào"]],
		"上冻": [["shàng"], ["dòng"]],
		"上端": [["shàng"], ["duān"]],
		"上方": [["shàng"], ["fāng"]],
		"上访": [["shàng"], ["fǎng"]],
		"上房": [["shàng"], ["fáng"]],
		"上粪": [["shàng"], ["fèn"]],
		"上坟": [["shàng"], ["fén"]],
		"上风": [["shàng"], ["fēng"]],
		"上峰": [["shàng"], ["fēng"]],
		"上浮": [["shàng"], ["fú"]],
		"上纲": [["shàng"], ["gāng"]],
		"上供": [["shàng"], ["gòng"]],
		"上钩": [["shàng"], ["gōu"]],
		"上古": [["shàng"], ["gǔ"]],
		"上官": [["shàng"], ["guān"]],
		"上告": [["shàng"], ["gào"]],
		"上海": [["shàng"], ["hǎi"]],
		"上好": [["shàng"], ["hǎo"]],
		"上回": [["shàng"], ["huí"]],
		"上火": [["shàng"], ["huǒ"]],
		"上货": [["shàng"], ["huò"]],
		"上级": [["shàng"], ["jí"]],
		"上工": [["shàng"], ["gōng"]],
		"上计": [["shàng"], ["jì"]],
		"上家": [["shàng"], ["jiā"]],
		"上将": [["shàng"], ["jiàng"]],
		"上交": [["shàng"], ["jiāo"]],
		"上缴": [["shàng"], ["jiǎo"]],
		"上街": [["shàng"], ["jiē"]],
		"上届": [["shàng"], ["jiè"]],
		"上界": [["shàng"], ["jiè"]],
		"上劲": [["shàng"], ["jìn"]],
		"上进": [["shàng"], ["jìn"]],
		"上焦": [["shàng"], ["jiāo"]],
		"上京": [["shàng"], ["jīng"]],
		"上举": [["shàng"], ["jǔ"]],
		"上客": [["shàng"], ["kè"]],
		"上卷": [["shàng"], ["juǎn"]],
		"上紧": [["shàng"], ["jǐn"]],
		"上课": [["shàng"], ["kè"]],
		"上空": [["shàng"], ["kōng"]],
		"上口": [["shàng"], ["kǒu"]],
		"上款": [["shàng"], ["kuǎn"]],
		"上来": [["shàng"], ["lái"]],
		"上联": [["shàng"], ["lián"]],
		"上脸": [["shàng"], ["liǎn"]],
		"上梁": [["shàng"], ["liáng"]],
		"上列": [["shàng"], ["liè"]],
		"上林": [["shàng"], ["lín"]],
		"上流": [["shàng"], ["liú"]],
		"上路": [["shàng"], ["lù"]],
		"上马": [["shàng"], ["mǎ"]],
		"上门": [["shàng"], ["mén"]],
		"上年": [["shàng"], ["nián"]],
		"上面": [["shàng"], ["miàn"]],
		"上品": [["shàng"], ["pǐn"]],
		"上坡": [["shàng"], ["pō"]],
		"上铺": [["shàng"], ["pù"]],
		"上情": [["shàng"], ["qíng"]],
		"上去": [["shǎng"], ["qù"]],
		"上人": [["shàng"], ["rén"]],
		"上任": [["shàng"], ["rèn"]],
		"上色": [["shàng"], ["sè"]],
		"上山": [["shàng"], ["shān"]],
		"上上": [["shàng"], ["shàng"]],
		"上身": [["shàng"], ["shēn"]],
		"上升": [["shàng"], ["shēng"]],
		"上声": [["shǎng"], ["shēng"]],
		"上士": [["shàng"], ["shì"]],
		"上世": [["shàng"], ["shì"]],
		"上市": [["shàng"], ["shì"]],
		"上手": [["shàng"], ["shǒu"]],
		"上首": [["shàng"], ["shǒu"]],
		"上寿": [["shàng"], ["shòu"]],
		"上书": [["shàng"], ["shū"]],
		"上疏": [["shàng"], ["shū"]],
		"上述": [["shàng"], ["shù"]],
		"上水": [["shàng"], ["shuǐ"]],
		"上闩": [["shàng"], ["shuān"]],
		"上税": [["shàng"], ["shuì"]],
		"上溯": [["shàng"], ["sù"]],
		"上诉": [["shàng"], ["sù"]],
		"上锁": [["shàng"], ["suǒ"]],
		"上台": [["shàng"], ["tái"]],
		"上司": [["shàng"], ["sī"]],
		"上算": [["shàng"], ["suàn"]],
		"上堂": [["shàng"], ["táng"]],
		"上膛": [["shàng"], ["táng"]],
		"上套": [["shàng"], ["tào"]],
		"上天": [["shàng"], ["tiān"]],
		"上体": [["shàng"], ["tǐ"]],
		"上头": [["shàng"], ["tou"]],
		"上位": [["shàng"], ["wèi"]],
		"上尉": [["shàng"], ["wèi"]],
		"上文": [["shàng"], ["wén"]],
		"上午": [["shàng"], ["wǔ"]],
		"上下": [["shàng"], ["xià"]],
		"上弦": [["shàng"], ["xián"]],
		"上限": [["shàng"], ["xiàn"]],
		"上相": [["shàng"], ["xiàng"]],
		"上校": [["shàng"], ["xiào"]],
		"上鞋": [["shàng"], ["xié"]],
		"上心": [["shàng"], ["xīn"]],
		"上行": [["shàng"], ["xíng"]],
		"上刑": [["shàng"], ["xíng"]],
		"上选": [["shàng"], ["xuǎn"]],
		"上学": [["shàng"], ["xué"]],
		"上旬": [["shàng"], ["xún"]],
		"上演": [["shàng"], ["yǎn"]],
		"上药": [["shàng"], ["yào"]],
		"上叶": [["shàng"], ["yè"]],
		"上夜": [["shàng"], ["yè"]],
		"上衣": [["shàng"], ["yī"]],
		"上瘾": [["shàng"], ["yǐn"]],
		"上映": [["shàng"], ["yìng"]],
		"上元": [["shàng"], ["yuán"]],
		"上谕": [["shàng"], ["yù"]],
		"上游": [["shàng"], ["yóu"]],
		"上院": [["shàng"], ["yuàn"]],
		"上月": [["shàng"], ["yuè"]],
		"上涨": [["shàng"], ["zhǎng"]],
		"上账": [["shàng"], ["zhàng"]],
		"上阵": [["shàng"], ["zhèn"]],
		"上肢": [["shàng"], ["zhī"]],
		"上装": [["shàng"], ["zhuāng"]],
		"上奏": [["shàng"], ["zòu"]],
		"上座": [["shàng"], ["zuò"]],
		"尚好": [["shàng"], ["hǎo"]],
		"尚可": [["shàng"], ["kě"]],
		"尚且": [["shàng"], ["qiě"]],
		"捎带": [["shāo"], ["dài"]],
		"捎脚": [["shāo"], ["jiǎo"]],
		"捎话": [["shāo"], ["huà"]],
		"捎信": [["shāo"], ["xìn"]],
		"烧化": [["shāo"], ["huà"]],
		"烧结": [["shāo"], ["jié"]],
		"稍后": [["shāo"], ["hòu"]],
		"稍事": [["shāo"], ["shì"]],
		"稍稍": [["shāo"], ["shāo"]],
		"稍微": [["shāo"], ["wēi"]],
		"稍为": [["shāo"], ["wéi"]],
		"稍息": [["shào"], ["xī"]],
		"稍许": [["shāo"], ["xǔ"]],
		"苕帚": [["tiáo"], ["zhǒu"]],
		"韶华": [["sháo"], ["huá"]],
		"少待": [["shǎo"], ["dài"]],
		"少儿": [["shǎo"], ["ér"]],
		"少府": [["shào"], ["fǔ"]],
		"少妇": [["shào"], ["fù"]],
		"少海": [["shǎo"], ["hǎi"]],
		"少见": [["shǎo"], ["jiàn"]],
		"少刻": [["shǎo"], ["kè"]],
		"少将": [["shào"], ["jiàng"]],
		"少礼": [["shǎo"], ["lǐ"]],
		"少林": [["shǎo"], ["lín"]],
		"少量": [["shǎo"], ["liàng"]],
		"少男": [["shǎo"], ["nán"]],
		"少年": [["shào"], ["nián"]],
		"少陪": [["shǎo"], ["péi"]],
		"少女": [["shào"], ["nǚ"]],
		"少顷": [["shǎo"], ["qǐng"]],
		"少商": [["shǎo"], ["shāng"]],
		"少时": [["shǎo"], ["shí"]],
		"少少": [["shǎo"], ["shǎo"]],
		"少数": [["shǎo"], ["shù"]],
		"少帅": [["shǎo"], ["shuài"]],
		"少说": [["shǎo"], ["shuō"]],
		"少尉": [["shào"], ["wèi"]],
		"少相": [["shào"], ["xiāng"]],
		"少小": [["shào"], ["xiǎo"]],
		"少校": [["shào"], ["xiào"]],
		"少许": [["shǎo"], ["xǔ"]],
		"少爷": [["shào"], ["yé"]],
		"少有": [["shǎo"], ["yǒu"]],
		"少壮": [["shào"], ["zhuàng"]],
		"少子": [["shǎo"], ["zǐ"]],
		"哨卡": [["shào"], ["qiǎ"]],
		"绍兴": [["shào"], ["xīng"]],
		"奢糜": [["shē"], ["mí"]],
		"舌苔": [["shé"], ["tāi"]],
		"舌头": [["shé"], ["tou"]],
		"蛇行": [["shé"], ["xíng"]],
		"舍得": [["shè"], ["de"]],
		"舍监": [["shè"], ["jiān"]],
		"舍亲": [["shè"], ["qīn"]],
		"设若": [["shè"], ["ruò"]],
		"社长": [["shè"], ["cháng"]],
		"社会": [["shè"], ["huì"]],
		"社论": [["shè"], ["lùn"]],
		"社区": [["shè"], ["qū"]],
		"社戏": [["shè"], ["xì"]],
		"社员": [["shè"], ["yuán"]],
		"射程": [["shè"], ["chéng"]],
		"射干": [["yè"], ["gàn"]],
		"射击": [["shè"], ["jī"]],
		"射箭": [["shè"], ["jiàn"]],
		"射界": [["shè"], ["jiè"]],
		"射精": [["shè"], ["jīng"]],
		"射猎": [["shè"], ["liè"]],
		"射流": [["shè"], ["liú"]],
		"射门": [["shè"], ["mén"]],
		"射频": [["shè"], ["pín"]],
		"射入": [["shè"], ["rù"]],
		"射手": [["shè"], ["shǒu"]],
		"射杀": [["shè"], ["shā"]],
		"射线": [["shè"], ["xiàn"]],
		"射影": [["shè"], ["yǐng"]],
		"慑服": [["shè"], ["fú"]],
		"摄取": [["shè"], ["qǔ"]],
		"摄生": [["shè"], ["shēng"]],
		"摄食": [["shè"], ["shí"]],
		"摄卫": [["shè"], ["wèi"]],
		"摄影": [["shè"], ["yǐng"]],
		"摄像": [["shè"], ["xiàng"]],
		"摄制": [["shè"], ["zhì"]],
		"摄政": [["shè"], ["zhèng"]],
		"申令": [["shēn"], ["lìng"]],
		"申论": [["shēn"], ["lùn"]],
		"申曲": [["shēn"], ["qǔ"]],
		"申说": [["shēn"], ["shuō"]],
		"伸长": [["shēn"], ["cháng"]],
		"伸缩": [["shēn"], ["suō"]],
		"伸头": [["shēn"], ["tóu"]],
		"身长": [["shēn"], ["cháng"]],
		"身分": [["shēn"], ["fèn"]],
		"身家": [["shēn"], ["jiā"]],
		"身份": [["shēn"], ["fèn"]],
		"身价": [["shēn"], ["jià"]],
		"身教": [["shēn"], ["jiào"]],
		"身量": [["shēn"], ["liàng"]],
		"身上": [["shēn"], ["shàng"]],
		"身体": [["shēn"], ["tǐ"]],
		"身条": [["shēn"], ["tiáo"]],
		"身亡": [["shēn"], ["wáng"]],
		"深长": [["shēn"], ["cháng"]],
		"深度": [["shēn"], ["dù"]],
		"深广": [["shēn"], ["guǎng"]],
		"深化": [["shēn"], ["huà"]],
		"深浅": [["shēn"], ["qiǎn"]],
		"深切": [["shēn"], ["qiè"]],
		"深省": [["shēn"], ["xǐng"]],
		"深思": [["shēn"], ["sī"]],
		"深巷": [["shēn"], ["xiàng"]],
		"深远": [["shēn"], ["yuǎn"]],
		"神采": [["shén"], ["cǎi"]],
		"神佛": [["shén"], ["fó"]],
		"神父": [["shén"], ["fù"]],
		"神棍": [["shén"], ["gùn"]],
		"神化": [["shén"], ["huà"]],
		"神会": [["shén"], ["huì"]],
		"神秘": [["shén"], ["mì"]],
		"神女": [["shén"], ["nǚ"]],
		"神祇": [["shén"], ["qí"]],
		"神奇": [["shén"], ["qí"]],
		"神曲": [["shén"], ["qū"]],
		"神阙": [["shén"], ["quē"]],
		"神思": [["shén"], ["sī"]],
		"神似": [["shén"], ["sì"]],
		"审查": [["shěn"], ["zhā"]],
		"沈思": [["shěn"], ["sī"]],
		"审处": [["shěn"], ["chǔ"]],
		"审度": [["shěn"], ["duó"]],
		"审读": [["shěn"], ["dú"]],
		"审核": [["shěn"], ["hé"]],
		"审结": [["shěn"], ["jié"]],
		"审干": [["shěn"], ["gàn"]],
		"审校": [["shěn"], ["jiào"]],
		"肾囊": [["shèn"], ["náng"]],
		"甚而": [["shèn"], ["ér"]],
		"甚或": [["shèn"], ["huò"]],
		"甚么": [["shèn"], ["me"]],
		"甚且": [["shèn"], ["qiě"]],
		"甚为": [["shèn"], ["wéi"]],
		"甚至": [["shèn"], ["zhì"]],
		"慎思": [["shèn"], ["sī"]],
		"慎重": [["shèn"], ["zhòng"]],
		"慎行": [["shèn"], ["xíng"]],
		"升华": [["shēng"], ["huá"]],
		"升降": [["shēng"], ["jiàng"]],
		"升空": [["shēng"], ["kōng"]],
		"升任": [["shēng"], ["rèn"]],
		"升压": [["shēng"], ["yā"]],
		"升涨": [["shēng"], ["zhǎng"]],
		"生长": [["shēng"], ["zhǎng"]],
		"生地": [["shēng"], ["dì"]],
		"生番": [["shēng"], ["fān"]],
		"生发": [["shēng"], ["fà"]],
		"生分": [["shēng"], ["fēn"]],
		"生风": [["shēng"], ["fēng"]],
		"生父": [["shēng"], ["fù"]],
		"生化": [["shēng"], ["huà"]],
		"生还": [["shēng"], ["huán"]],
		"生角": [["shēng"], ["jué"]],
		"生趣": [["shēng"], ["qù"]],
		"生鲜": [["shēng"], ["xiān"]],
		"生疑": [["shēng"], ["yí"]],
		"生肖": [["shēng"], ["xiào"]],
		"生员": [["shēng"], ["yuán"]],
		"生殖": [["shēng"], ["zhí"]],
		"声场": [["shēng"], ["chǎng"]],
		"声调": [["shēng"], ["diào"]],
		"声称": [["shēng"], ["chēng"]],
		"声价": [["shēng"], ["jià"]],
		"声乐": [["shēng"], ["yuè"]],
		"声旁": [["shēng"], ["páng"]],
		"声频": [["shēng"], ["pín"]],
		"声压": [["shēng"], ["yā"]],
		"牲畜": [["shēng"], ["chù"]],
		"胜朝": [["shèng"], ["cháo"]],
		"胜地": [["shèng"], ["dì"]],
		"胜过": [["shèng"], ["guò"]],
		"胜景": [["shèng"], ["jǐng"]],
		"胜券": [["shèng"], ["quàn"]],
		"胜任": [["shèng"], ["rèn"]],
		"胜似": [["shèng"], ["sì"]],
		"甥女": [["shēng"], ["nǚ"]],
		"渑池": [["miǎn"], ["chí"]],
		"省便": [["shěng"], ["biàn"]],
		"省察": [["xǐng"], ["chá"]],
		"省城": [["shěng"], ["chéng"]],
		"省道": [["shěng"], ["dào"]],
		"省得": [["shěng"], ["de"]],
		"省份": [["shěng"], ["fèn"]],
		"省府": [["shěng"], ["fǔ"]],
		"省会": [["shěng"], ["huì"]],
		"省俭": [["shěng"], ["jiǎn"]],
		"省力": [["shěng"], ["lì"]],
		"省略": [["shěng"], ["lüè"]],
		"省墓": [["shěng"], ["mù"]],
		"省内": [["shěng"], ["nèi"]],
		"省钱": [["shěng"], ["qián"]],
		"省亲": [["xǐng"], ["qīn"]],
		"省却": [["shěng"], ["què"]],
		"省事": [["shěng"], ["shì"]],
		"省视": [["xǐng"], ["shì"]],
		"省悟": [["xǐng"], ["wù"]],
		"省治": [["shěng"], ["zhì"]],
		"圣地": [["shèng"], ["dì"]],
		"省心": [["shěng"], ["xīn"]],
		"圣女": [["shèng"], ["nǚ"]],
		"圣上": [["shèng"], ["shàng"]],
		"尸体": [["shī"], ["tǐ"]],
		"失传": [["shī"], ["chuán"]],
		"失单": [["shī"], ["dān"]],
		"尸骨": [["shī"], ["gǔ"]],
		"失当": [["shī"], ["dàng"]],
		"失地": [["shī"], ["dì"]],
		"失调": [["shī"], ["tiáo"]],
		"失和": [["shī"], ["hé"]],
		"失风": [["shī"], ["fēng"]],
		"失节": [["shī"], ["jié"]],
		"失禁": [["shī"], ["jìn"]],
		"失据": [["shī"], ["jù"]],
		"失落": [["shī"], ["luò"]],
		"失散": [["shī"], ["sàn"]],
		"失体": [["shī"], ["tǐ"]],
		"失信": [["shī"], ["xìn"]],
		"失血": [["shī"], ["xuè"]],
		"失约": [["shī"], ["yuē"]],
		"失语": [["shī"], ["yǔ"]],
		"失重": [["shī"], ["zhòng"]],
		"失着": [["shī"], ["zhāo"]],
		"师伯": [["shī"], ["bó"]],
		"师长": [["shī"], ["zhǎng"]],
		"师传": [["shī"], ["chuán"]],
		"师弟": [["shī"], ["dì"]],
		"师父": [["shī"], ["fu"]],
		"诗风": [["shī"], ["fēng"]],
		"诗会": [["shī"], ["huì"]],
		"诗节": [["shī"], ["jié"]],
		"诗句": [["shī"], ["jù"]],
		"诗论": [["shī"], ["lùn"]],
		"诗体": [["shī"], ["tǐ"]],
		"诗兴": [["shī"], ["xìng"]],
		"施教": [["shī"], ["jiào"]],
		"施为": [["shī"], ["wéi"]],
		"施洗": [["shī"], ["xǐ"]],
		"诗行": [["shī"], ["háng"]],
		"施行": [["shī"], ["xíng"]],
		"施予": [["shī"], ["yǔ"]],
		"施与": [["shī"], ["yǔ"]],
		"湿地": [["shī"], ["dì"]],
		"湿度": [["shī"], ["dù"]],
		"十分": [["shí"], ["fēn"]],
		"十家": [["shí"], ["jiā"]],
		"十万": [["shí"], ["wàn"]],
		"什锦": [["shí"], ["jǐn"]],
		"什么": [["shén"], ["me"]],
		"什物": [["shí"], ["wù"]],
		"石版": [["shí"], ["bǎn"]],
		"石板": [["shí"], ["bǎn"]],
		"石碑": [["shí"], ["bēi"]],
		"石笔": [["shí"], ["bǐ"]],
		"石壁": [["shí"], ["bì"]],
		"石材": [["shí"], ["cái"]],
		"石槽": [["shí"], ["cáo"]],
		"石城": [["shí"], ["chéng"]],
		"石担": [["shí"], ["dān"]],
		"石刀": [["shí"], ["dāo"]],
		"石雕": [["shí"], ["diāo"]],
		"石洞": [["shí"], ["dòng"]],
		"石碓": [["shí"], ["duì"]],
		"石墩": [["shí"], ["dūn"]],
		"石方": [["shí"], ["fāng"]],
		"石坊": [["shí"], ["fāng"]],
		"石舫": [["shí"], ["fǎng"]],
		"石膏": [["shí"], ["gāo"]],
		"石斧": [["shí"], ["fǔ"]],
		"石工": [["shí"], ["gōng"]],
		"石弓": [["shí"], ["gōng"]],
		"石鼓": [["shí"], ["gǔ"]],
		"石关": [["shí"], ["guān"]],
		"石棺": [["shí"], ["guān"]],
		"石磙": [["shí"], ["gǔn"]],
		"石斛": [["shí"], ["hú"]],
		"石灰": [["shí"], ["huī"]],
		"石级": [["shí"], ["jí"]],
		"石匠": [["shí"], ["jiàng"]],
		"石经": [["shí"], ["jīng"]],
		"石径": [["shí"], ["jìng"]],
		"石臼": [["shí"], ["jiù"]],
		"石坎": [["shí"], ["kǎn"]],
		"石刻": [["shí"], ["kè"]],
		"石块": [["shí"], ["kuài"]],
		"石窟": [["shí"], ["kū"]],
		"石蜡": [["shí"], ["là"]],
		"石栗": [["shí"], ["lì"]],
		"石栏": [["shí"], ["lán"]],
		"石料": [["shí"], ["liào"]],
		"石林": [["shí"], ["lín"]],
		"石榴": [["shí"], ["liú"]],
		"石笼": [["shí"], ["lóng"]],
		"石楼": [["shí"], ["lóu"]],
		"石棉": [["shí"], ["mián"]],
		"石门": [["shí"], ["mén"]],
		"石磨": [["shí"], ["mó"]],
		"石墨": [["shí"], ["mò"]],
		"石楠": [["shí"], ["nán"]],
		"石女": [["shí"], ["nǚ"]],
		"石屏": [["shí"], ["píng"]],
		"石器": [["shí"], ["qì"]],
		"石桥": [["shí"], ["qiáo"]],
		"石青": [["shí"], ["qīng"]],
		"石渠": [["shí"], ["qú"]],
		"石泉": [["shí"], ["quán"]],
		"石蕊": [["shí"], ["ruǐ"]],
		"石山": [["shí"], ["shān"]],
		"石首": [["shí"], ["shǒu"]],
		"石室": [["shí"], ["shì"]],
		"石笋": [["shí"], ["sǔn"]],
		"石锁": [["shí"], ["suǒ"]],
		"石台": [["shí"], ["tái"]],
		"石炭": [["shí"], ["tàn"]],
		"石头": [["shí"], ["tou"]],
		"石韦": [["shí"], ["wéi"]],
		"石屋": [["shí"], ["wū"]],
		"石像": [["shí"], ["xiàng"]],
		"石盐": [["shí"], ["yán"]],
		"石堰": [["shí"], ["yàn"]],
		"石羊": [["shí"], ["yáng"]],
		"石印": [["shí"], ["yìn"]],
		"石英": [["shí"], ["yīng"]],
		"石竹": [["shí"], ["zhú"]],
		"石油": [["shí"], ["yóu"]],
		"石子": [["shí"], ["zǐ"]],
		"石柱": [["shí"], ["zhù"]],
		"时差": [["shí"], ["chà"]],
		"时调": [["shí"], ["diào"]],
		"时分": [["shí"], ["fēn"]],
		"时风": [["shí"], ["fēng"]],
		"时价": [["shí"], ["jià"]],
		"时会": [["shí"], ["huì"]],
		"时间": [["shí"], ["jiān"]],
		"时节": [["shí"], ["jié"]],
		"时空": [["shí"], ["kōng"]],
		"时期": [["shí"], ["qī"]],
		"时令": [["shí"], ["lìng"]],
		"时区": [["shí"], ["qū"]],
		"时鲜": [["shí"], ["xiān"]],
		"时兴": [["shí"], ["xīng"]],
		"时行": [["shí"], ["háng"]],
		"识别": [["shí"], ["bié"]],
		"识才": [["shí"], ["cái"]],
		"识货": [["shí"], ["huò"]],
		"识记": [["zhì"], ["jì"]],
		"识见": [["shí"], ["jiàn"]],
		"识破": [["shí"], ["pò"]],
		"识趣": [["shí"], ["qù"]],
		"识相": [["shí"], ["xiàng"]],
		"识羞": [["shí"], ["xiū"]],
		"识字": [["shí"], ["zì"]],
		"实弹": [["shí"], ["dàn"]],
		"实地": [["shí"], ["dì"]],
		"实干": [["shí"], ["gàn"]],
		"实价": [["shí"], ["jià"]],
		"实景": [["shí"], ["jǐng"]],
		"实据": [["shí"], ["jù"]],
		"实落": [["shí"], ["luò"]],
		"实数": [["shí"], ["shù"]],
		"实体": [["shí"], ["tǐ"]],
		"实相": [["shí"], ["xiàng"]],
		"实行": [["shí"], ["xíng"]],
		"拾掇": [["shí"], ["duo"]],
		"拾荒": [["shí"], ["huāng"]],
		"拾零": [["shí"], ["líng"]],
		"拾物": [["shí"], ["wù"]],
		"拾遗": [["shí"], ["yí"]],
		"食槽": [["shí"], ["cáo"]],
		"食道": [["shí"], ["dào"]],
		"食饵": [["shí"], ["ěr"]],
		"食管": [["shí"], ["guǎn"]],
		"食盒": [["shí"], ["hé"]],
		"食积": [["shí"], ["jī"]],
		"食具": [["shí"], ["jù"]],
		"食客": [["shí"], ["kè"]],
		"食口": [["shí"], ["kǒu"]],
		"食量": [["shí"], ["liàng"]],
		"食粮": [["shí"], ["liáng"]],
		"食料": [["shí"], ["liào"]],
		"食疗": [["shí"], ["liáo"]],
		"食品": [["shí"], ["pǐn"]],
		"食谱": [["shí"], ["pǔ"]],
		"食人": [["shí"], ["rén"]],
		"食肉": [["shí"], ["ròu"]],
		"食宿": [["shí"], ["sù"]],
		"食堂": [["shí"], ["táng"]],
		"食糖": [["shí"], ["táng"]],
		"食物": [["shí"], ["wù"]],
		"食相": [["shí"], ["xiāng"]],
		"食性": [["shí"], ["xìng"]],
		"食言": [["shí"], ["yán"]],
		"食盐": [["shí"], ["yán"]],
		"食邑": [["shí"], ["yì"]],
		"食用": [["shí"], ["yòng"]],
		"食欲": [["shí"], ["yù"]],
		"食油": [["shí"], ["yóu"]],
		"莳萝": [["shí"], ["luó"]],
		"食指": [["shí"], ["zhǐ"]],
		"史家": [["shǐ"], ["jiā"]],
		"史论": [["shǐ"], ["lùn"]],
		"矢量": [["shǐ"], ["liàng"]],
		"矢石": [["shǐ"], ["shí"]],
		"使得": [["shǐ"], ["de"]],
		"使坏": [["shǐ"], ["huài"]],
		"使节": [["shǐ"], ["jié"]],
		"使劲": [["shǐ"], ["jìn"]],
		"使令": [["shǐ"], ["lìng"]],
		"使女": [["shǐ"], ["nǚ"]],
		"始创": [["shǐ"], ["chuàng"]],
		"士女": [["shì"], ["nǚ"]],
		"士卒": [["shì"], ["zú"]],
		"氏族": [["shì"], ["zú"]],
		"世伯": [["shì"], ["bó"]],
		"世仇": [["shì"], ["chóu"]],
		"世传": [["shì"], ["chuán"]],
		"世风": [["shì"], ["fēng"]],
		"世纪": [["shì"], ["jì"]],
		"世间": [["shì"], ["jiān"]],
		"世家": [["shì"], ["jiā"]],
		"世亲": [["shì"], ["qīn"]],
		"世上": [["shì"], ["shàng"]],
		"世系": [["shì"], ["xì"]],
		"仕女": [["shì"], ["nǚ"]],
		"市长": [["shì"], ["zhǎng"]],
		"市场": [["shì"], ["chǎng"]],
		"市尺": [["shì"], ["chǐ"]],
		"市价": [["shì"], ["jià"]],
		"市区": [["shì"], ["qū"]],
		"事假": [["shì"], ["jià"]],
		"事体": [["shì"], ["tǐ"]],
		"侍从": [["shì"], ["cóng"]],
		"侍弄": [["shì"], ["nòng"]],
		"侍郎": [["shì"], ["láng"]],
		"侍女": [["shì"], ["nǚ"]],
		"势头": [["shì"], ["tóu"]],
		"势能": [["shì"], ["néng"]],
		"视差": [["shì"], ["chà"]],
		"势要": [["shì"], ["yào"]],
		"视角": [["shì"], ["jiǎo"]],
		"视觉": [["shì"], ["jué"]],
		"试车": [["shì"], ["chē"]],
		"试场": [["shì"], ["chǎng"]],
		"试卷": [["shì"], ["juàn"]],
		"试读": [["shì"], ["dú"]],
		"试看": [["shì"], ["kàn"]],
		"试片": [["shì"], ["piàn"]],
		"试射": [["shì"], ["shè"]],
		"试行": [["shì"], ["xíng"]],
		"试种": [["shì"], ["zhòng"]],
		"室内": [["shì"], ["nèi"]],
		"室女": [["shì"], ["nǚ"]],
		"是否": [["shì"], ["fǒu"]],
		"适从": [["shì"], ["cóng"]],
		"适当": [["shì"], ["dàng"]],
		"适度": [["shì"], ["dù"]],
		"适量": [["shì"], ["liàng"]],
		"适合": [["shì"], ["hé"]],
		"适切": [["shì"], ["qiè"]],
		"适应": [["shì"], ["yìng"]],
		"谥号": [["shì"], ["hào"]],
		"适中": [["shì"], ["zhōng"]],
		"释藏": [["shì"], ["cáng"]],
		"释读": [["shì"], ["dú"]],
		"释教": [["shì"], ["jiào"]],
		"释卷": [["shì"], ["juàn"]],
		"释疑": [["shì"], ["yí"]],
		"嗜好": [["shì"], ["hào"]],
		"嗜血": [["shì"], ["xuè"]],
		"誓约": [["shì"], ["yuē"]],
		"螫针": [["shì"], ["zhēn"]],
		"收藏": [["shōu"], ["cáng"]],
		"收场": [["shōu"], ["chǎng"]],
		"收发": [["shōu"], ["fā"]],
		"收风": [["shōu"], ["fēng"]],
		"收服": [["shōu"], ["fú"]],
		"收监": [["shōu"], ["jiān"]],
		"收缴": [["shōu"], ["jiǎo"]],
		"收据": [["shōu"], ["jù"]],
		"收看": [["shōu"], ["kàn"]],
		"收率": [["shōu"], ["lǜ"]],
		"收拾": [["shōu"], ["shí"]],
		"收缩": [["shōu"], ["suō"]],
		"收条": [["shōu"], ["tiáo"]],
		"收尾": [["shōu"], ["wěi"]],
		"收载": [["shōu"], ["zǎi"]],
		"手背": [["shǒu"], ["bèi"]],
		"手臂": [["shǒu"], ["bì"]],
		"手车": [["shǒu"], ["chē"]],
		"手创": [["shǒu"], ["chuàng"]],
		"手风": [["shǒu"], ["fēng"]],
		"手卷": [["shǒu"], ["juàn"]],
		"手夹": [["shǒu"], ["jiā"]],
		"手令": [["shǒu"], ["lìng"]],
		"手模": [["shǒu"], ["mó"]],
		"手上": [["shǒu"], ["shàng"]],
		"手术": [["shǒu"], ["shù"]],
		"手头": [["shǒu"], ["tóu"]],
		"手纹": [["shǒu"], ["wén"]],
		"手相": [["shǒu"], ["xiàng"]],
		"手语": [["shǒu"], ["yǔ"]],
		"手泽": [["shǒu"], ["zé"]],
		"手爪": [["shǒu"], ["zhǎo"]],
		"守车": [["shǒu"], ["chē"]],
		"守分": [["shǒu"], ["fèn"]],
		"守将": [["shǒu"], ["jiāng"]],
		"守节": [["shǒu"], ["jié"]],
		"守丧": [["shǒu"], ["sāng"]],
		"守信": [["shǒu"], ["xìn"]],
		"首长": [["shǒu"], ["zhǎng"]],
		"守约": [["shǒu"], ["yuē"]],
		"首倡": [["shǒu"], ["chàng"]],
		"首车": [["shǒu"], ["chē"]],
		"首创": [["shǒu"], ["chuàng"]],
		"首都": [["shǒu"], ["dū"]],
		"首度": [["shǒu"], ["dù"]],
		"首恶": [["shǒu"], ["è"]],
		"首发": [["shǒu"], ["fā"]],
		"首相": [["shǒu"], ["xiàng"]],
		"首尾": [["shǒu"], ["wěi"]],
		"首要": [["shǒu"], ["yào"]],
		"寿屏": [["shòu"], ["píng"]],
		"寿数": [["shòu"], ["shù"]],
		"受过": [["shòu"], ["guò"]],
		"受降": [["shòu"], ["xiáng"]],
		"受教": [["shòu"], ["jiào"]],
		"受看": [["shòu"], ["kàn"]],
		"受累": [["shòu"], ["lěi"]],
		"受凉": [["shòu"], ["liáng"]],
		"受难": [["shòu"], ["nàn"]],
		"受洗": [["shòu"], ["xǐ"]],
		"瘦长": [["shòu"], ["cháng"]],
		"瘦削": [["shòu"], ["xuē"]],
		"书背": [["shū"], ["bèi"]],
		"书场": [["shū"], ["chǎng"]],
		"书柜": [["shū"], ["guì"]],
		"书号": [["shū"], ["hào"]],
		"书家": [["shū"], ["jiā"]],
		"书价": [["shū"], ["jià"]],
		"书卷": [["shū"], ["juàn"]],
		"书论": [["shū"], ["lùn"]],
		"书契": [["shū"], ["qì"]],
		"书体": [["shū"], ["tǐ"]],
		"书僮": [["shū"], ["tóng"]],
		"书信": [["shū"], ["xìn"]],
		"抒发": [["shū"], ["fā"]],
		"叔伯": [["shū"], ["bó"]],
		"叔父": [["shū"], ["fù"]],
		"枢要": [["shū"], ["yào"]],
		"倏地": [["shū"], ["dì"]],
		"枢轴": [["shū"], ["zhóu"]],
		"淑女": [["shū"], ["nǚ"]],
		"疏解": [["shū"], ["jiě"]],
		"疏浚": [["shū"], ["jùn"]],
		"疏勒": [["shū"], ["lè"]],
		"疏落": [["shū"], ["luò"]],
		"疏浅": [["shū"], ["qiǎn"]],
		"疏远": [["shū"], ["yuǎn"]],
		"疏散": [["shū"], ["sàn"]],
		"舒服": [["shū"], ["fú"]],
		"舒卷": [["shū"], ["juàn"]],
		"舒散": [["shū"], ["sàn"]],
		"输家": [["shū"], ["jiā"]],
		"输血": [["shū"], ["xuè"]],
		"赎当": [["shú"], ["dàng"]],
		"熟地": [["shú"], ["dì"]],
		"熟化": [["shú"], ["huà"]],
		"熟识": [["shú"], ["shí"]],
		"熟食": [["shú"], ["shí"]],
		"熟思": [["shú"], ["sī"]],
		"熟语": [["shú"], ["yǔ"]],
		"熟知": [["shú"], ["zhī"]],
		"暑假": [["shǔ"], ["jià"]],
		"暑期": [["shǔ"], ["qī"]],
		"薯莨": [["shǔ"], ["liáng"]],
		"术科": [["shù"], ["kē"]],
		"术士": [["shù"], ["shì"]],
		"术语": [["shù"], ["yǔ"]],
		"术业": [["shù"], ["yè"]],
		"戍卒": [["shù"], ["zú"]],
		"束发": [["shù"], ["fà"]],
		"述说": [["shù"], ["shuō"]],
		"述语": [["shù"], ["yǔ"]],
		"树干": [["shù"], ["gàn"]],
		"树杈": [["shù"], ["chà"]],
		"树冠": [["shù"], ["guān"]],
		"树梢": [["shù"], ["shāo"]],
		"树叶": [["shù"], ["yè"]],
		"树荫": [["shù"], ["yīn"]],
		"树枝": [["shù"], ["zhī"]],
		"树种": [["shù"], ["zhǒng"]],
		"数表": [["shù"], ["biǎo"]],
		"数词": [["shù"], ["cí"]],
		"数叨": [["shù"], ["dāo"]],
		"数额": [["shù"], ["é"]],
		"数九": [["shǔ"], ["jiǔ"]],
		"数据": [["shù"], ["jù"]],
		"数量": [["shù"], ["liàng"]],
		"数列": [["shù"], ["liè"]],
		"数论": [["shù"], ["lùn"]],
		"数落": [["shǔ"], ["luò"]],
		"数码": [["shù"], ["mǎ"]],
		"数目": [["shù"], ["mù"]],
		"数数": [["shuò"], ["shuò"]],
		"数说": [["shǔ"], ["shuō"]],
		"数位": [["shù"], ["wèi"]],
		"数学": [["shù"], ["xué"]],
		"数值": [["shù"], ["zhí"]],
		"数制": [["shù"], ["zhì"]],
		"数珠": [["shù"], ["zhū"]],
		"数字": [["shù"], ["zì"]],
		"漱洗": [["shù"], ["xǐ"]],
		"刷白": [["shuà"], ["bái"]],
		"刷拉": [["shuā"], ["lā"]],
		"刷毛": [["shuā"], ["máo"]],
		"刷刷": [["shuā"], ["shuā"]],
		"刷洗": [["shuā"], ["xǐ"]],
		"刷新": [["shuā"], ["xīn"]],
		"刷子": [["shuā"], ["zǐ"]],
		"耍横": [["shuǎ"], ["hèng"]],
		"耍弄": [["shuǎ"], ["nòng"]],
		"衰败": [["shuāi"], ["bài"]],
		"衰惫": [["shuāi"], ["bèi"]],
		"衰变": [["shuāi"], ["biàn"]],
		"衰草": [["shuāi"], ["cǎo"]],
		"衰减": [["shuāi"], ["jiǎn"]],
		"衰竭": [["shuāi"], ["jié"]],
		"衰落": [["shuāi"], ["luò"]],
		"衰老": [["shuāi"], ["lǎo"]],
		"衰迈": [["shuāi"], ["mài"]],
		"衰年": [["shuāi"], ["nián"]],
		"衰退": [["shuāi"], ["tuì"]],
		"衰弱": [["shuāi"], ["ruò"]],
		"衰颓": [["shuāi"], ["tuí"]],
		"衰亡": [["shuāi"], ["wáng"]],
		"衰微": [["shuāi"], ["wēi"]],
		"衰朽": [["shuāi"], ["xiǔ"]],
		"衰萎": [["shuāi"], ["wěi"]],
		"摔倒": [["shuāi"], ["dǎo"]],
		"摔打": [["shuāi"], ["dá"]],
		"摔角": [["shuāi"], ["jiǎo"]],
		"栓塞": [["shuān"], ["sè"]],
		"双打": [["shuāng"], ["dǎ"]],
		"双杠": [["shuāng"], ["gàng"]],
		"双抢": [["shuāng"], ["qiǎng"]],
		"双栖": [["shuāng"], ["qī"]],
		"双亲": [["shuāng"], ["qīn"]],
		"双重": [["shuāng"], ["chóng"]],
		"霜降": [["shuāng"], ["jiàng"]],
		"霜期": [["shuāng"], ["qī"]],
		"霜叶": [["shuāng"], ["yè"]],
		"谁个": [["shuí"], ["gè"]],
		"谁家": [["shuí"], ["jiā"]],
		"水车": [["shuǐ"], ["chē"]],
		"水尺": [["shuǐ"], ["chǐ"]],
		"水地": [["shuǐ"], ["dì"]],
		"水斗": [["shuǐ"], ["dòu"]],
		"水发": [["shuǐ"], ["fā"]],
		"水柜": [["shuǐ"], ["guì"]],
		"水分": [["shuǐ"], ["fèn"]],
		"水合": [["shuǐ"], ["hé"]],
		"水红": [["shuǐ"], ["hóng"]],
		"水浒": [["shuǐ"], ["hǔ"]],
		"水解": [["shuǐ"], ["jiě"]],
		"水景": [["shuǐ"], ["jǐng"]],
		"水绿": [["shuǐ"], ["lǜ"]],
		"水量": [["shuǐ"], ["liàng"]],
		"水磨": [["shuǐ"], ["mó"]],
		"水泥": [["shuǐ"], ["ní"]],
		"水能": [["shuǐ"], ["néng"]],
		"水泡": [["shuǐ"], ["pào"]],
		"水炮": [["shuǐ"], ["pào"]],
		"水区": [["shuǐ"], ["qū"]],
		"水渠": [["shuǐ"], ["qú"]],
		"水上": [["shuǐ"], ["shàng"]],
		"水蛇": [["shuǐ"], ["shé"]],
		"水头": [["shuǐ"], ["tóu"]],
		"水纹": [["shuǐ"], ["wén"]],
		"水系": [["shuǐ"], ["xì"]],
		"水压": [["shuǐ"], ["yā"]],
		"水泽": [["shuǐ"], ["zé"]],
		"水栅": [["shuǐ"], ["shān"]],
		"税单": [["shuì"], ["dān"]],
		"税卡": [["shuì"], ["qiǎ"]],
		"税率": [["shuì"], ["lǜ"]],
		"税契": [["shuì"], ["qì"]],
		"税种": [["shuì"], ["zhǒng"]],
		"睡觉": [["shuì"], ["jiào"]],
		"睡相": [["shuì"], ["xiàng"]],
		"睡椅": [["shuì"], ["yǐ"]],
		"顺便": [["shùn"], ["biàn"]],
		"顺差": [["shùn"], ["chā"]],
		"顺从": [["shùn"], ["cóng"]],
		"顺当": [["shùn"], ["dāng"]],
		"顺服": [["shùn"], ["fú"]],
		"顺风": [["shùn"], ["fēng"]],
		"顺和": [["shùn"], ["hé"]],
		"顺化": [["shùn"], ["huà"]],
		"顺溜": [["shùn"], ["liū"]],
		"顺应": [["shùn"], ["yìng"]],
		"瞬间": [["shùn"], ["jiān"]],
		"说白": [["shuō"], ["bái"]],
		"说唱": [["shuō"], ["chàng"]],
		"说穿": [["shuō"], ["chuān"]],
		"说辞": [["shuō"], ["cí"]],
		"说词": [["shuō"], ["cí"]],
		"说错": [["shuō"], ["cuò"]],
		"说道": [["shuō"], ["dào"]],
		"说法": [["shuō"], ["fǎ"]],
		"说服": [["shuō"], ["fú"]],
		"说好": [["shuō"], ["hǎo"]],
		"说和": [["shuō"], ["hé"]],
		"说合": [["shuō"], ["hé"]],
		"说话": [["shuō"], ["huà"]],
		"说谎": [["shuō"], ["huǎng"]],
		"说教": [["shuō"], ["jiào"]],
		"说开": [["shuō"], ["kāi"]],
		"说理": [["shuō"], ["lǐ"]],
		"说媒": [["shuō"], ["méi"]],
		"说明": [["shuō"], ["míng"]],
		"说破": [["shuō"], ["pò"]],
		"说客": [["shuō"], ["kè"]],
		"说亲": [["shuō"], ["qīn"]],
		"说情": [["shuō"], ["qíng"]],
		"说书": [["shuō"], ["shū"]],
		"说是": [["shuō"], ["shì"]],
		"说死": [["shuō"], ["sǐ"]],
		"说头": [["shuō"], ["tóu"]],
		"说戏": [["shuō"], ["xì"]],
		"说项": [["shuì"], ["xiàng"]],
		"说笑": [["shuō"], ["xiào"]],
		"朔风": [["shuò"], ["fēng"]],
		"说嘴": [["shuō"], ["zuǐ"]],
		"硕果": [["shuò"], ["guǒ"]],
		"司令": [["sī"], ["lìng"]],
		"司空": [["sī"], ["kōng"]],
		"司南": [["sī"], ["nán"]],
		"私藏": [["sī"], ["cáng"]],
		"私奔": [["sī"], ["bēn"]],
		"私车": [["sī"], ["chē"]],
		"私仇": [["sī"], ["chóu"]],
		"私处": [["sī"], ["chǔ"]],
		"私斗": [["sī"], ["dòu"]],
		"私分": [["sī"], ["fēn"]],
		"私会": [["sī"], ["huì"]],
		"私家": [["sī"], ["jiā"]],
		"私见": [["sī"], ["jiàn"]],
		"私了": [["sī"], ["le"]],
		"私囊": [["sī"], ["náng"]],
		"思辨": [["sī"], ["biàn"]],
		"思潮": [["sī"], ["cháo"]],
		"思春": [["sī"], ["chūn"]],
		"思凡": [["sī"], ["fán"]],
		"思忖": [["sī"], ["cǔn"]],
		"思古": [["sī"], ["gǔ"]],
		"思过": [["sī"], ["guò"]],
		"思旧": [["sī"], ["jiù"]],
		"思考": [["sī"], ["kǎo"]],
		"思恋": [["sī"], ["liàn"]],
		"思量": [["sī"], ["liang"]],
		"思路": [["sī"], ["lù"]],
		"思虑": [["sī"], ["lǜ"]],
		"思谋": [["sī"], ["móu"]],
		"思慕": [["sī"], ["mù"]],
		"思亲": [["sī"], ["qīn"]],
		"思念": [["sī"], ["niàn"]],
		"思索": [["sī"], ["suǒ"]],
		"思情": [["sī"], ["qíng"]],
		"思惟": [["sī"], ["wéi"]],
		"思维": [["sī"], ["wéi"]],
		"思想": [["sī"], ["xiǎng"]],
		"思绪": [["sī"], ["xù"]],
		"思议": [["sī"], ["yì"]],
		"厮打": [["sī"], ["dǎ"]],
		"厮混": [["sī"], ["hùn"]],
		"嘶哑": [["sī"], ["yǎ"]],
		"撕打": [["sī"], ["dǎ"]],
		"撕裂": [["sī"], ["liè"]],
		"撕票": [["sī"], ["piào"]],
		"死别": [["sǐ"], ["bié"]],
		"死当": [["sǐ"], ["dàng"]],
		"死地": [["sǐ"], ["dì"]],
		"死角": [["sǐ"], ["jiǎo"]],
		"死节": [["sǐ"], ["jié"]],
		"死结": [["sǐ"], ["jié"]],
		"死难": [["sǐ"], ["nàn"]],
		"死期": [["sǐ"], ["qī"]],
		"死契": [["sǐ"], ["qì"]],
		"死亡": [["sǐ"], ["wáng"]],
		"死巷": [["sǐ"], ["xiàng"]],
		"死症": [["sǐ"], ["zhèng"]],
		"死信": [["sǐ"], ["xìn"]],
		"四处": [["sì"], ["chù"]],
		"四大": [["sì"], ["dà"]],
		"四会": [["sì"], ["huì"]],
		"四溅": [["sì"], ["jiàn"]],
		"四化": [["sì"], ["huà"]],
		"四角": [["sì"], ["jiǎo"]],
		"四六": [["sì"], ["liù"]],
		"四旁": [["sì"], ["páng"]],
		"四散": [["sì"], ["sàn"]],
		"四射": [["sì"], ["shè"]],
		"四体": [["sì"], ["tǐ"]],
		"寺观": [["sì"], ["guàn"]],
		"伺候": [["cì"], ["hou"]],
		"伺机": [["sì"], ["jī"]],
		"伺隙": [["sì"], ["xì"]],
		"似的": [["shì"], ["de"]],
		"似曾": [["sì"], ["céng"]],
		"似乎": [["sì"], ["hū"]],
		"肆行": [["sì"], ["xíng"]],
		"肆应": [["sì"], ["yìng"]],
		"松节": [["sōng"], ["jié"]],
		"松劲": [["sōng"], ["jìn"]],
		"松柏": [["sōng"], ["bǎi"]],
		"松散": [["sōng"], ["sǎn"]],
		"松叶": [["sōng"], ["yè"]],
		"耸峙": [["sǒng"], ["zhì"]],
		"讼棍": [["sòng"], ["gùn"]],
		"宋朝": [["sòng"], ["cháo"]],
		"诵读": [["sòng"], ["dú"]],
		"送别": [["sòng"], ["bié"]],
		"送风": [["sòng"], ["fēng"]],
		"送给": [["sòng"], ["gěi"]],
		"送还": [["sòng"], ["hái"]],
		"送信": [["sòng"], ["xìn"]],
		"送丧": [["sòng"], ["sàng"]],
		"送亲": [["sòng"], ["qīn"]],
		"送行": [["sòng"], ["xíng"]],
		"搜查": [["sōu"], ["zhā"]],
		"搜剿": [["sōu"], ["jiǎo"]],
		"搜括": [["sōu"], ["guā"]],
		"苏白": [["sū"], ["bái"]],
		"苏打": [["sū"], ["dá"]],
		"苏丹": [["sū"], ["dān"]],
		"苏俄": [["sū"], ["é"]],
		"苏堤": [["sū"], ["dī"]],
		"苏剧": [["sū"], ["jù"]],
		"苏木": [["sū"], ["mù"]],
		"苏秦": [["sū"], ["qín"]],
		"苏区": [["sū"], ["qū"]],
		"苏醒": [["sū"], ["xǐng"]],
		"苏绣": [["sū"], ["xiù"]],
		"俗称": [["sú"], ["chēng"]],
		"苏子": [["sū"], ["zǐ"]],
		"俗家": [["sú"], ["jiā"]],
		"俗曲": [["sú"], ["qǔ"]],
		"俗体": [["sú"], ["tǐ"]],
		"俗语": [["sú"], ["yǔ"]],
		"夙仇": [["sù"], ["chóu"]],
		"诉说": [["sù"], ["shuō"]],
		"素服": [["sù"], ["fú"]],
		"素朴": [["sù"], ["piáo"]],
		"素净": [["sù"], ["jìng"]],
		"素食": [["sù"], ["shí"]],
		"素数": [["sù"], ["shù"]],
		"速度": [["sù"], ["dù"]],
		"速率": [["sù"], ["lǜ"]],
		"速射": [["sù"], ["shè"]],
		"宿将": [["sù"], ["jiàng"]],
		"嗉囊": [["sù"], ["náng"]],
		"酸雨": [["suān"], ["yǔ"]],
		"蒜泥": [["suàn"], ["ní"]],
		"蒜头": [["suàn"], ["tóu"]],
		"算得": [["suàn"], ["de"]],
		"算了": [["suàn"], ["le"]],
		"算术": [["suàn"], ["shù"]],
		"算数": [["suàn"], ["shù"]],
		"虽说": [["suī"], ["shuō"]],
		"绥宁": [["suí"], ["níng"]],
		"绥远": [["suí"], ["yuǎn"]],
		"随处": [["suí"], ["chù"]],
		"随和": [["suí"], ["hé"]],
		"岁数": [["suì"], ["shù"]],
		"岁差": [["suì"], ["chà"]],
		"遂行": [["suì"], ["xíng"]],
		"碎裂": [["suì"], ["liè"]],
		"碎片": [["suì"], ["piàn"]],
		"碎石": [["suì"], ["shí"]],
		"燧石": [["suì"], ["shí"]],
		"邃远": [["suì"], ["yuǎn"]],
		"孙儿": [["sūn"], ["ér"]],
		"孙女": [["sūn"], ["nǚ"]],
		"孙吴": [["sūn"], ["wú"]],
		"孙子": [["sūn"], ["zi"]],
		"损坏": [["sǔn"], ["huài"]],
		"笋干": [["sǔn"], ["gān"]],
		"榫头": [["sǔn"], ["tóu"]],
		"缩编": [["suō"], ["biān"]],
		"缩尺": [["suō"], ["chǐ"]],
		"缩短": [["suō"], ["duǎn"]],
		"缩回": [["suō"], ["huí"]],
		"缩简": [["suō"], ["jiǎn"]],
		"缩减": [["suō"], ["jiǎn"]],
		"缩紧": [["suō"], ["jǐn"]],
		"缩进": [["suō"], ["jìn"]],
		"缩聚": [["suō"], ["jù"]],
		"缩颈": [["suō"], ["jǐng"]],
		"缩略": [["suō"], ["lüè"]],
		"缩缩": [["suō"], ["suō"]],
		"缩手": [["suō"], ["shǒu"]],
		"缩水": [["suō"], ["shuǐ"]],
		"缩头": [["suō"], ["tóu"]],
		"缩微": [["suō"], ["wēi"]],
		"缩图": [["suō"], ["tú"]],
		"缩小": [["suō"], ["xiǎo"]],
		"缩写": [["suō"], ["xiě"]],
		"缩印": [["suō"], ["yìn"]],
		"所长": [["suǒ"], ["cháng"]],
		"缩影": [["suō"], ["yǐng"]],
		"所得": [["suǒ"], ["de"]],
		"所说": [["suǒ"], ["shuō"]],
		"所思": [["suǒ"], ["sī"]],
		"所有": [["suǒ"], ["yǒu"]],
		"所知": [["suǒ"], ["zhī"]],
		"所属": [["suǒ"], ["shǔ"]],
		"唢呐": [["suǒ"], ["nà"]],
		"索价": [["suǒ"], ["jià"]],
		"索解": [["suǒ"], ["jiě"]],
		"索要": [["suǒ"], ["yào"]],
		"锁匙": [["suǒ"], ["chí"]],
		"锁骨": [["suǒ"], ["gǔ"]],
		"锁上": [["suǒ"], ["shàng"]],
		"锁钥": [["suǒ"], ["yuè"]],
		"他处": [["tā"], ["chù"]],
		"他家": [["tā"], ["jiā"]],
		"他们": [["tā"], ["men"]],
		"她们": [["tā"], ["men"]],
		"它们": [["tā"], ["men"]],
		"趿拉": [["tā"], ["lā"]],
		"塌落": [["tā"], ["luò"]],
		"塌台": [["tā"], ["tái"]],
		"塔台": [["tǎ"], ["tái"]],
		"獭祭": [["tǎ"], ["jì"]],
		"踏看": [["tà"], ["kàn"]],
		"踏空": [["tà"], ["kōng"]],
		"胎毒": [["tāi"], ["dú"]],
		"胎发": [["tāi"], ["fà"]],
		"台安": [["tái"], ["ān"]],
		"胎教": [["tāi"], ["jiào"]],
		"台胞": [["tái"], ["bāo"]],
		"台北": [["tái"], ["běi"]],
		"台步": [["tái"], ["bù"]],
		"台布": [["tái"], ["bù"]],
		"台长": [["tái"], ["cháng"]],
		"台秤": [["tái"], ["chèng"]],
		"台词": [["tái"], ["cí"]],
		"台灯": [["tái"], ["dēng"]],
		"台地": [["tái"], ["dì"]],
		"台风": [["tái"], ["fēng"]],
		"台甫": [["tái"], ["fǔ"]],
		"台阁": [["tái"], ["gé"]],
		"台基": [["tái"], ["jī"]],
		"台驾": [["tái"], ["jià"]],
		"台鉴": [["tái"], ["jiàn"]],
		"台阶": [["tái"], ["jiē"]],
		"台历": [["tái"], ["lì"]],
		"台面": [["tái"], ["miàn"]],
		"台盘": [["tái"], ["pán"]],
		"台球": [["tái"], ["qiú"]],
		"台扇": [["tái"], ["shàn"]],
		"台下": [["tái"], ["xià"]],
		"台榭": [["tái"], ["xiè"]],
		"台钟": [["tái"], ["zhōng"]],
		"台中": [["tái"], ["zhōng"]],
		"台资": [["tái"], ["zī"]],
		"台子": [["tái"], ["zi"]],
		"台座": [["tái"], ["zuò"]],
		"抬杠": [["tái"], ["gàng"]],
		"抬价": [["tái"], ["jià"]],
		"抬头": [["tái"], ["tóu"]],
		"苔藓": [["tái"], ["xiǎn"]],
		"太冲": [["tài"], ["chòng"]],
		"太过": [["tài"], ["guò"]],
		"太和": [["tài"], ["hé"]],
		"太监": [["tài"], ["jiàn"]],
		"太空": [["tài"], ["kōng"]],
		"太甚": [["tài"], ["shèn"]],
		"太尉": [["tài"], ["wèi"]],
		"态度": [["tài"], ["dù"]],
		"泰斗": [["tài"], ["dǒu"]],
		"泰和": [["tài"], ["hé"]],
		"泰宁": [["tài"], ["níng"]],
		"泰语": [["tài"], ["yǔ"]],
		"坍台": [["tān"], ["tái"]],
		"贪食": [["tān"], ["shí"]],
		"贪占": [["tān"], ["zhàn"]],
		"摊还": [["tān"], ["hái"]],
		"滩地": [["tān"], ["dì"]],
		"滩头": [["tān"], ["tóu"]],
		"滩羊": [["tān"], ["yáng"]],
		"坛场": [["tán"], ["chǎng"]],
		"谈论": [["tán"], ["lùn"]],
		"谈兴": [["tán"], ["xìng"]],
		"谈吐": [["tán"], ["tǔ"]],
		"谈助": [["tán"], ["zhù"]],
		"檀郎": [["tán"], ["láng"]],
		"坦露": [["tǎn"], ["lù"]],
		"坦率": [["tǎn"], ["shuài"]],
		"叹服": [["tàn"], ["fú"]],
		"袒露": [["tǎn"], ["lù"]],
		"炭化": [["tàn"], ["huà"]],
		"汤包": [["tāng"], ["bāo"]],
		"汤池": [["tāng"], ["chí"]],
		"汤匙": [["tāng"], ["chí"]],
		"汤罐": [["tāng"], ["guàn"]],
		"汤锅": [["tāng"], ["guō"]],
		"汤剂": [["tāng"], ["jì"]],
		"汤面": [["tāng"], ["miàn"]],
		"汤泉": [["tāng"], ["quán"]],
		"汤勺": [["tāng"], ["sháo"]],
		"汤水": [["tāng"], ["shuǐ"]],
		"汤头": [["tāng"], ["tóu"]],
		"汤团": [["tāng"], ["tuán"]],
		"汤碗": [["tāng"], ["wǎn"]],
		"汤药": [["tāng"], ["yào"]],
		"汤圆": [["tāng"], ["yuán"]],
		"堂奥": [["táng"], ["ào"]],
		"堂会": [["táng"], ["huì"]],
		"棠棣": [["táng"], ["dì"]],
		"塘泥": [["táng"], ["ní"]],
		"搪塞": [["táng"], ["sè"]],
		"糖厂": [["táng"], ["chǎng"]],
		"溏便": [["táng"], ["biàn"]],
		"糖弹": [["táng"], ["dàn"]],
		"糖尿": [["táng"], ["niào"]],
		"糖食": [["táng"], ["shí"]],
		"倘然": [["tǎng"], ["rán"]],
		"倘或": [["tǎng"], ["huò"]],
		"倘若": [["tǎng"], ["ruò"]],
		"倘使": [["tǎng"], ["shǐ"]],
		"倘佯": [["cháng"], ["yáng"]],
		"耥耙": [["tǎng"], ["bà"]],
		"躺倒": [["tǎng"], ["dǎo"]],
		"躺柜": [["tǎng"], ["guì"]],
		"躺椅": [["tǎng"], ["yǐ"]],
		"烫发": [["tàng"], ["fà"]],
		"烫头": [["tàng"], ["tóu"]],
		"烫洗": [["tàng"], ["xǐ"]],
		"趟马": [["tàng"], ["mǎ"]],
		"逃奔": [["táo"], ["bèn"]],
		"逃难": [["táo"], ["nàn"]],
		"逃跑": [["táo"], ["pǎo"]],
		"逃票": [["táo"], ["piào"]],
		"逃散": [["táo"], ["sàn"]],
		"逃亡": [["táo"], ["wáng"]],
		"桃核": [["táo"], ["hé"]],
		"桃红": [["táo"], ["hóng"]],
		"淘洗": [["táo"], ["xǐ"]],
		"讨还": [["tǎo"], ["huán"]],
		"讨好": [["tǎo"], ["hǎo"]],
		"讨价": [["tǎo"], ["jià"]],
		"讨教": [["tǎo"], ["jiào"]],
		"讨论": [["tǎo"], ["lùn"]],
		"讨亲": [["tǎo"], ["qīn"]],
		"讨要": [["tǎo"], ["yào"]],
		"套车": [["tào"], ["chē"]],
		"套红": [["tào"], ["hóng"]],
		"套服": [["tào"], ["fú"]],
		"套间": [["tào"], ["jiān"]],
		"套结": [["tào"], ["jié"]],
		"套数": [["tào"], ["shù"]],
		"套曲": [["tào"], ["qǔ"]],
		"套头": [["tào"], ["tóu"]],
		"套种": [["tào"], ["zhòng"]],
		"套语": [["tào"], ["yǔ"]],
		"特长": [["tè"], ["cháng"]],
		"特别": [["tè"], ["bié"]],
		"特地": [["tè"], ["dì"]],
		"特价": [["tè"], ["jià"]],
		"特区": [["tè"], ["qū"]],
		"特为": [["tè"], ["wèi"]],
		"特约": [["tè"], ["yuē"]],
		"特许": [["tè"], ["xǔ"]],
		"特有": [["tè"], ["yǒu"]],
		"特徵": [["tè"], ["zhǐ"]],
		"特种": [["tè"], ["zhǒng"]],
		"腾空": [["téng"], ["kōng"]],
		"腾冲": [["téng"], ["chōng"]],
		"腾涌": [["téng"], ["yǒng"]],
		"藤蔓": [["téng"], ["wàn"]],
		"藤条": [["téng"], ["tiáo"]],
		"藤椅": [["téng"], ["yǐ"]],
		"剔红": [["tī"], ["hóng"]],
		"踢打": [["tī"], ["dǎ"]],
		"提案": [["tí"], ["àn"]],
		"啼血": [["tí"], ["xuè"]],
		"提拔": [["tí"], ["bá"]],
		"提包": [["tí"], ["bāo"]],
		"提笔": [["tí"], ["bǐ"]],
		"提拨": [["tí"], ["bō"]],
		"提倡": [["tí"], ["chàng"]],
		"提成": [["tí"], ["chéng"]],
		"提出": [["tí"], ["chū"]],
		"提纯": [["tí"], ["chún"]],
		"提词": [["tí"], ["cí"]],
		"提单": [["tí"], ["dān"]],
		"提点": [["tí"], ["diǎn"]],
		"提灯": [["tí"], ["dēng"]],
		"提到": [["tí"], ["dào"]],
		"提调": [["tí"], ["diào"]],
		"提兜": [["tí"], ["dōu"]],
		"提督": [["tí"], ["dū"]],
		"提法": [["tí"], ["fǎ"]],
		"提防": [["dī"], ["fáng"]],
		"提干": [["tí"], ["gàn"]],
		"提纲": [["tí"], ["gāng"]],
		"提高": [["tí"], ["gāo"]],
		"提供": [["tí"], ["gōng"]],
		"提盒": [["tí"], ["hé"]],
		"提壶": [["tí"], ["hú"]],
		"提花": [["tí"], ["huā"]],
		"提货": [["tí"], ["huò"]],
		"提婚": [["tí"], ["hūn"]],
		"提及": [["tí"], ["jí"]],
		"提级": [["tí"], ["jí"]],
		"提价": [["tí"], ["jià"]],
		"提交": [["tí"], ["jiāo"]],
		"提款": [["tí"], ["kuǎn"]],
		"提篮": [["tí"], ["lán"]],
		"提炼": [["tí"], ["liàn"]],
		"提梁": [["tí"], ["liáng"]],
		"提领": [["tí"], ["lǐng"]],
		"提溜": [["dī"], ["liū"]],
		"提留": [["tí"], ["liú"]],
		"提名": [["tí"], ["míng"]],
		"提起": [["tí"], ["qǐ"]],
		"提前": [["tí"], ["qián"]],
		"提挈": [["tí"], ["qiè"]],
		"提亲": [["tí"], ["qīn"]],
		"提琴": [["tí"], ["qín"]],
		"提请": [["tí"], ["qǐng"]],
		"提取": [["tí"], ["qǔ"]],
		"提神": [["tí"], ["shén"]],
		"提审": [["tí"], ["shěn"]],
		"提升": [["tí"], ["shēng"]],
		"提示": [["tí"], ["shì"]],
		"提手": [["tí"], ["shǒu"]],
		"提提": [["tí"], ["tí"]],
		"提问": [["tí"], ["wèn"]],
		"提箱": [["tí"], ["xiāng"]],
		"提携": [["tí"], ["xié"]],
		"提心": [["tí"], ["xīn"]],
		"提醒": [["tí"], ["xǐng"]],
		"提选": [["tí"], ["xuǎn"]],
		"提讯": [["tí"], ["xùn"]],
		"提要": [["tí"], ["yào"]],
		"提议": [["tí"], ["yì"]],
		"提早": [["tí"], ["zǎo"]],
		"题解": [["tí"], ["jiě"]],
		"提制": [["tí"], ["zhì"]],
		"醍醐": [["tí"], ["hú"]],
		"体表": [["tǐ"], ["biǎo"]],
		"体裁": [["tǐ"], ["cái"]],
		"体操": [["tǐ"], ["cāo"]],
		"体察": [["tǐ"], ["chá"]],
		"体罚": [["tǐ"], ["fá"]],
		"体肤": [["tǐ"], ["fū"]],
		"体格": [["tǐ"], ["gé"]],
		"体会": [["tǐ"], ["huì"]],
		"体积": [["tǐ"], ["jī"]],
		"体己": [["tī"], ["ji"]],
		"体检": [["tǐ"], ["jiǎn"]],
		"体力": [["tǐ"], ["lì"]],
		"体例": [["tǐ"], ["lì"]],
		"体谅": [["tǐ"], ["liàng"]],
		"体量": [["tǐ"], ["liàng"]],
		"体貌": [["tǐ"], ["mào"]],
		"体面": [["tǐ"], ["miàn"]],
		"体内": [["tǐ"], ["nèi"]],
		"体能": [["tǐ"], ["néng"]],
		"体念": [["tǐ"], ["niàn"]],
		"体魄": [["tǐ"], ["pò"]],
		"体腔": [["tǐ"], ["qiāng"]],
		"体认": [["tǐ"], ["rèn"]],
		"体弱": [["tǐ"], ["ruò"]],
		"体式": [["tǐ"], ["shì"]],
		"体态": [["tǐ"], ["tài"]],
		"体坛": [["tǐ"], ["tán"]],
		"体贴": [["tǐ"], ["tiē"]],
		"体统": [["tǐ"], ["tǒng"]],
		"体位": [["tǐ"], ["wèi"]],
		"体味": [["tǐ"], ["wèi"]],
		"体悟": [["tǐ"], ["wù"]],
		"体温": [["tǐ"], ["wēn"]],
		"体惜": [["tǐ"], ["xī"]],
		"体系": [["tǐ"], ["xì"]],
		"体现": [["tǐ"], ["xiàn"]],
		"体校": [["tǐ"], ["xiào"]],
		"体形": [["tǐ"], ["xíng"]],
		"体型": [["tǐ"], ["xíng"]],
		"体性": [["tǐ"], ["xìng"]],
		"体恤": [["tǐ"], ["xù"]],
		"体癣": [["tǐ"], ["xuǎn"]],
		"体验": [["tǐ"], ["yàn"]],
		"体液": [["tǐ"], ["yè"]],
		"体用": [["tǐ"], ["yòng"]],
		"体育": [["tǐ"], ["yù"]],
		"体制": [["tǐ"], ["zhì"]],
		"体质": [["tǐ"], ["zhì"]],
		"体重": [["tǐ"], ["zhòng"]],
		"剃度": [["tì"], ["dù"]],
		"剃发": [["tì"], ["fà"]],
		"剃头": [["tì"], ["tóu"]],
		"嚏喷": [["tì"], ["pen"]],
		"天朝": [["tiān"], ["cháo"]],
		"天车": [["tiān"], ["chē"]],
		"天冲": [["tiān"], ["chōng"]],
		"天底": [["tiān"], ["dǐ"]],
		"天地": [["tiān"], ["dì"]],
		"天蛾": [["tiān"], ["é"]],
		"天分": [["tiān"], ["fèn"]],
		"天父": [["tiān"], ["fù"]],
		"天干": [["tiān"], ["gān"]],
		"天和": [["tiān"], ["hé"]],
		"天空": [["tiān"], ["kōng"]],
		"天女": [["tiān"], ["nǚ"]],
		"天堑": [["tiān"], ["qiàn"]],
		"天趣": [["tiān"], ["qù"]],
		"天阙": [["tiān"], ["què"]],
		"天数": [["tiān"], ["shù"]],
		"天上": [["tiān"], ["shàng"]],
		"天台": [["tiān"], ["tāi"]],
		"天体": [["tiān"], ["tǐ"]],
		"天头": [["tiān"], ["tóu"]],
		"天条": [["tiān"], ["tiáo"]],
		"天王": [["tiān"], ["wáng"]],
		"天择": [["tiān"], ["zé"]],
		"天呀": [["tiān"], ["yā"]],
		"天正": [["tiān"], ["zhèng"]],
		"天竺": [["tiān"], ["zhú"]],
		"添丁": [["tiān"], ["dīng"]],
		"田地": [["tián"], ["dì"]],
		"田父": [["tián"], ["fǔ"]],
		"田间": [["tián"], ["jiān"]],
		"田家": [["tián"], ["jiā"]],
		"田契": [["tián"], ["qì"]],
		"田头": [["tián"], ["tóu"]],
		"恬和": [["tián"], ["hé"]],
		"填报": [["tián"], ["bào"]],
		"填补": [["tián"], ["bǔ"]],
		"填充": [["tián"], ["chōng"]],
		"填词": [["tián"], ["cí"]],
		"填堵": [["tián"], ["dǔ"]],
		"填发": [["tián"], ["fā"]],
		"填方": [["tián"], ["fāng"]],
		"填房": [["tián"], ["fáng"]],
		"填空": [["tián"], ["kòng"]],
		"填料": [["tián"], ["liào"]],
		"填满": [["tián"], ["mǎn"]],
		"填平": [["tián"], ["píng"]],
		"填塞": [["tián"], ["sāi"]],
		"填填": [["tián"], ["tián"]],
		"填写": [["tián"], ["xiě"]],
		"填鸭": [["tián"], ["yā"]],
		"舔食": [["tiǎn"], ["shí"]],
		"佻薄": [["tiāo"], ["bó"]],
		"挑拨": [["tiǎo"], ["bō"]],
		"挑刺": [["tiāo"], ["cì"]],
		"挑担": [["tiāo"], ["dàn"]],
		"挑错": [["tiāo"], ["cuò"]],
		"挑灯": [["tiǎo"], ["dēng"]],
		"挑动": [["tiǎo"], ["dòng"]],
		"挑逗": [["tiǎo"], ["dòu"]],
		"挑夫": [["tiāo"], ["fū"]],
		"挑花": [["tiǎo"], ["huā"]],
		"挑拣": [["tiāo"], ["jiǎn"]],
		"挑明": [["tiǎo"], ["míng"]],
		"挑弄": [["tiǎo"], ["nòng"]],
		"挑食": [["tiāo"], ["shí"]],
		"挑唆": [["tiǎo"], ["suō"]],
		"挑剔": [["tiāo"], ["tī"]],
		"挑头": [["tiāo"], ["tóu"]],
		"挑衅": [["tiǎo"], ["xìn"]],
		"挑选": [["tiāo"], ["xuǎn"]],
		"挑眼": [["tiāo"], ["yǎn"]],
		"挑中": [["tiāo"], ["zhòng"]],
		"挑战": [["tiǎo"], ["zhàn"]],
		"挑子": [["tiāo"], ["zi"]],
		"挑嘴": [["tiǎo"], ["zuǐ"]],
		"条案": [["tiáo"], ["àn"]],
		"条播": [["tiáo"], ["bō"]],
		"条畅": [["dí"], ["dàng"]],
		"条陈": [["tiáo"], ["chén"]],
		"条凳": [["tiáo"], ["dèng"]],
		"条干": [["tiáo"], ["gàn"]],
		"条幅": [["tiáo"], ["fú"]],
		"条规": [["tiáo"], ["guī"]],
		"条贯": [["tiáo"], ["guàn"]],
		"条几": [["tiáo"], ["jī"]],
		"条痕": [["tiáo"], ["hén"]],
		"条件": [["tiáo"], ["jiàn"]],
		"条款": [["tiáo"], ["kuǎn"]],
		"条理": [["tiáo"], ["lǐ"]],
		"条例": [["tiáo"], ["lì"]],
		"条令": [["tiáo"], ["lìng"]],
		"条目": [["tiáo"], ["mù"]],
		"条石": [["tiáo"], ["shí"]],
		"条绒": [["tiáo"], ["róng"]],
		"条条": [["tiáo"], ["tiáo"]],
		"条纹": [["tiáo"], ["wén"]],
		"条文": [["tiáo"], ["wén"]],
		"条形": [["tiáo"], ["xíng"]],
		"条约": [["tiáo"], ["yuē"]],
		"条状": [["tiáo"], ["zhuàng"]],
		"条桌": [["tiáo"], ["zhuō"]],
		"条子": [["tiáo"], ["zi"]],
		"迢远": [["tiáo"], ["yuǎn"]],
		"跳板": [["tiào"], ["bǎn"]],
		"跳槽": [["tiào"], ["cáo"]],
		"跳班": [["tiào"], ["bān"]],
		"跳虫": [["tiào"], ["chóng"]],
		"跳出": [["tiào"], ["chū"]],
		"跳动": [["tiào"], ["dòng"]],
		"跳荡": [["tiào"], ["dàng"]],
		"跳高": [["tiào"], ["gāo"]],
		"跳河": [["tiào"], ["hé"]],
		"跳级": [["tiào"], ["jí"]],
		"跳脚": [["tiào"], ["jiǎo"]],
		"跳井": [["tiào"], ["jǐng"]],
		"跳空": [["tiào"], ["kōng"]],
		"跳栏": [["tiào"], ["lán"]],
		"跳踉": [["tiào"], ["liáng"]],
		"跳梁": [["tiào"], ["liáng"]],
		"跳马": [["tiào"], ["mǎ"]],
		"跳棋": [["tiào"], ["qí"]],
		"跳伞": [["tiào"], ["sǎn"]],
		"跳神": [["tiào"], ["shén"]],
		"跳鼠": [["tiào"], ["shǔ"]],
		"跳绳": [["tiào"], ["shéng"]],
		"跳水": [["tiào"], ["shuǐ"]],
		"跳台": [["tiào"], ["tái"]],
		"跳脱": [["tiào"], ["tuō"]],
		"跳舞": [["tiào"], ["wǔ"]],
		"跳箱": [["tiào"], ["xiāng"]],
		"跳行": [["tiào"], ["háng"]],
		"跳远": [["tiào"], ["yuǎn"]],
		"跳月": [["tiào"], ["yuè"]],
		"跳跃": [["tiào"], ["yuè"]],
		"跳越": [["tiào"], ["yuè"]],
		"跳蚤": [["tiào"], ["zǎo"]],
		"跳闸": [["tiào"], ["zhá"]],
		"贴切": [["tiē"], ["qiè"]],
		"贴合": [["tiē"], ["hé"]],
		"贴着": [["tiē"], ["zhe"]],
		"铁臂": [["tiě"], ["bì"]],
		"铁打": [["tiě"], ["dǎ"]],
		"铁厂": [["tiě"], ["chǎng"]],
		"铁钉": [["tiě"], ["dīng"]],
		"铁杆": [["tiě"], ["gǎn"]],
		"铁骨": [["tiě"], ["gǔ"]],
		"铁柜": [["tiě"], ["guì"]],
		"铁岭": [["tiě"], ["lǐng"]],
		"铁笼": [["tiě"], ["lóng"]],
		"铁耙": [["tiě"], ["pá"]],
		"铁片": [["tiě"], ["piàn"]],
		"铁石": [["tiě"], ["shí"]],
		"铁血": [["tiě"], ["xuè"]],
		"铁椎": [["tiě"], ["chuí"]],
		"帖服": [["tiē"], ["fú"]],
		"帖子": [["tiě"], ["zǐ"]],
		"听便": [["tīng"], ["biàn"]],
		"听差": [["tīng"], ["chāi"]],
		"听从": [["tīng"], ["cóng"]],
		"听会": [["tīng"], ["huì"]],
		"听见": [["tīng"], ["jiàn"]],
		"听觉": [["tīng"], ["jué"]],
		"听任": [["tīng"], ["rèn"]],
		"听说": [["tīng"], ["shuō"]],
		"听戏": [["tīng"], ["xì"]],
		"听信": [["tīng"], ["xìn"]],
		"廷尉": [["tíng"], ["wèi"]],
		"亭长": [["tíng"], ["cháng"]],
		"庭长": [["tíng"], ["zhǎng"]],
		"停车": [["tíng"], ["chē"]],
		"停食": [["tíng"], ["shí"]],
		"挺括": [["tǐng"], ["guā"]],
		"通便": [["tōng"], ["biàn"]],
		"通车": [["tōng"], ["chē"]],
		"通称": [["tōng"], ["chēng"]],
		"通读": [["tōng"], ["dú"]],
		"通分": [["tōng"], ["fēn"]],
		"通风": [["tōng"], ["fēng"]],
		"通观": [["tōng"], ["guān"]],
		"通共": [["tōng"], ["gòng"]],
		"通过": [["tōng"], ["guò"]],
		"通好": [["tōng"], ["hǎo"]],
		"通红": [["tòng"], ["hóng"]],
		"通缉": [["tōng"], ["jī"]],
		"通化": [["tōng"], ["huà"]],
		"通家": [["tōng"], ["jiā"]],
		"通假": [["tōng"], ["jiǎ"]],
		"通解": [["tōng"], ["jiě"]],
		"通量": [["tōng"], ["liàng"]],
		"通令": [["tōng"], ["lìng"]],
		"通论": [["tōng"], ["lùn"]],
		"通票": [["tōng"], ["piào"]],
		"通铺": [["tōng"], ["pù"]],
		"通宿": [["tōng"], ["sù"]],
		"通体": [["tōng"], ["tǐ"]],
		"通条": [["tōng"], ["tiáo"]],
		"通同": [["tōng"], ["tóng"]],
		"通信": [["tōng"], ["xìn"]],
		"通行": [["tōng"], ["xíng"]],
		"通知": [["tōng"], ["zhī"]],
		"同班": [["tóng"], ["bān"]],
		"同案": [["tóng"], ["àn"]],
		"同伴": [["tóng"], ["bàn"]],
		"同辈": [["tóng"], ["bèi"]],
		"同胞": [["tóng"], ["bāo"]],
		"同步": [["tóng"], ["bù"]],
		"同侪": [["tóng"], ["chái"]],
		"同窗": [["tóng"], ["chuāng"]],
		"同道": [["tóng"], ["dào"]],
		"同党": [["tóng"], ["dǎng"]],
		"同等": [["tóng"], ["děng"]],
		"同德": [["tóng"], ["dé"]],
		"同调": [["tóng"], ["diào"]],
		"同队": [["tóng"], ["duì"]],
		"同犯": [["tóng"], ["fàn"]],
		"同方": [["tóng"], ["fāng"]],
		"同房": [["tóng"], ["fáng"]],
		"同感": [["tóng"], ["gǎn"]],
		"同庚": [["tóng"], ["gēng"]],
		"同归": [["tóng"], ["guī"]],
		"同好": [["tóng"], ["hào"]],
		"同贺": [["tóng"], ["hè"]],
		"同化": [["tóng"], ["huà"]],
		"同欢": [["tóng"], ["huān"]],
		"同伙": [["tóng"], ["huǒ"]],
		"同级": [["tóng"], ["jí"]],
		"同济": [["tóng"], ["jì"]],
		"同科": [["tóng"], ["kē"]],
		"同居": [["tóng"], ["jū"]],
		"同乐": [["tóng"], ["lè"]],
		"同类": [["tóng"], ["lèi"]],
		"同量": [["tóng"], ["liàng"]],
		"同僚": [["tóng"], ["liáo"]],
		"同龄": [["tóng"], ["líng"]],
		"同路": [["tóng"], ["lù"]],
		"同门": [["tóng"], ["mén"]],
		"同盟": [["tóng"], ["méng"]],
		"同名": [["tóng"], ["míng"]],
		"同谋": [["tóng"], ["móu"]],
		"同命": [["tóng"], ["mìng"]],
		"同年": [["tóng"], ["nián"]],
		"同袍": [["tóng"], ["páo"]],
		"同期": [["tóng"], ["qī"]],
		"同气": [["tóng"], ["qì"]],
		"同前": [["tóng"], ["qián"]],
		"同庆": [["tóng"], ["qìng"]],
		"同情": [["tóng"], ["qíng"]],
		"同人": [["tóng"], ["rén"]],
		"同仁": [["tóng"], ["rén"]],
		"同日": [["tóng"], ["rì"]],
		"同声": [["tóng"], ["shēng"]],
		"同时": [["tóng"], ["shí"]],
		"同上": [["tóng"], ["shàng"]],
		"同事": [["tóng"], ["shì"]],
		"同室": [["tóng"], ["shì"]],
		"同岁": [["tóng"], ["suì"]],
		"同堂": [["tóng"], ["táng"]],
		"同体": [["tóng"], ["tǐ"]],
		"同位": [["tóng"], ["wèi"]],
		"同屋": [["tóng"], ["wū"]],
		"同喜": [["tóng"], ["xǐ"]],
		"同乡": [["tóng"], ["xiāng"]],
		"同心": [["tóng"], ["xīn"]],
		"同形": [["tóng"], ["xíng"]],
		"同行": [["tóng"], ["háng"]],
		"同姓": [["tóng"], ["xìng"]],
		"同性": [["tóng"], ["xìng"]],
		"同学": [["tóng"], ["xué"]],
		"同样": [["tóng"], ["yàng"]],
		"同业": [["tóng"], ["yè"]],
		"同一": [["tóng"], ["yī"]],
		"同义": [["tóng"], ["yì"]],
		"同意": [["tóng"], ["yì"]],
		"同音": [["tóng"], ["yīn"]],
		"同源": [["tóng"], ["yuán"]],
		"同志": [["tóng"], ["zhì"]],
		"同种": [["tóng"], ["zhǒng"]],
		"同质": [["tóng"], ["zhì"]],
		"同治": [["tóng"], ["zhì"]],
		"同宗": [["tóng"], ["zōng"]],
		"同族": [["tóng"], ["zú"]],
		"铜绿": [["tóng"], ["lǜ"]],
		"童便": [["tóng"], ["biàn"]],
		"童蒙": [["tóng"], ["méng"]],
		"童仆": [["tóng"], ["pú"]],
		"童女": [["tóng"], ["nǚ"]],
		"童趣": [["tóng"], ["qù"]],
		"僮仆": [["tóng"], ["pú"]],
		"统称": [["tǒng"], ["chēng"]],
		"统共": [["tǒng"], ["gòng"]],
		"统观": [["tǒng"], ["guān"]],
		"统括": [["tǒng"], ["kuò"]],
		"统率": [["tǒng"], ["shuài"]],
		"统摄": [["tǒng"], ["shè"]],
		"统属": [["tǒng"], ["shǔ"]],
		"筒瓦": [["tǒng"], ["wǎ"]],
		"痛处": [["tòng"], ["chù"]],
		"痛打": [["tòng"], ["dǎ"]],
		"痛恶": [["tòng"], ["wù"]],
		"痛觉": [["tòng"], ["jué"]],
		"痛风": [["tòng"], ["fēng"]],
		"痛切": [["tòng"], ["qiè"]],
		"偷空": [["tōu"], ["kòng"]],
		"头版": [["tóu"], ["bǎn"]],
		"头彩": [["tóu"], ["cǎi"]],
		"头筹": [["tóu"], ["chóu"]],
		"头寸": [["tóu"], ["cùn"]],
		"头等": [["tóu"], ["děng"]],
		"头顶": [["tóu"], ["dǐng"]],
		"头额": [["tóu"], ["é"]],
		"头儿": [["tou"], ["er"]],
		"头发": [["tóu"], ["fà"]],
		"头伏": [["tóu"], ["fú"]],
		"头盖": [["tóu"], ["gài"]],
		"头功": [["tóu"], ["gōng"]],
		"头骨": [["tóu"], ["gǔ"]],
		"头号": [["tóu"], ["hào"]],
		"头昏": [["tóu"], ["hūn"]],
		"头家": [["tóu"], ["jiā"]],
		"头角": [["tóu"], ["jiǎo"]],
		"头颈": [["tóu"], ["jǐng"]],
		"头巾": [["tóu"], ["jīn"]],
		"头盔": [["tóu"], ["kuī"]],
		"头里": [["tóu"], ["lǐ"]],
		"头脸": [["tóu"], ["liǎn"]],
		"头领": [["tóu"], ["lǐng"]],
		"头颅": [["tóu"], ["lú"]],
		"头马": [["tóu"], ["mǎ"]],
		"头路": [["tóu"], ["lù"]],
		"头名": [["tóu"], ["míng"]],
		"头面": [["tóu"], ["miàn"]],
		"头目": [["tóu"], ["mù"]],
		"头脑": [["tóu"], ["nǎo"]],
		"头年": [["tóu"], ["nián"]],
		"头帕": [["tóu"], ["pà"]],
		"头牌": [["tóu"], ["pái"]],
		"头皮": [["tóu"], ["pí"]],
		"头前": [["tóu"], ["qián"]],
		"头钱": [["tóu"], ["qián"]],
		"头球": [["tóu"], ["qiú"]],
		"头人": [["tóu"], ["rén"]],
		"头生": [["tóu"], ["shēng"]],
		"头绳": [["tóu"], ["shéng"]],
		"头虱": [["tóu"], ["shī"]],
		"头饰": [["tóu"], ["shì"]],
		"头胎": [["tóu"], ["tāi"]],
		"头套": [["tóu"], ["tào"]],
		"头疼": [["tóu"], ["téng"]],
		"头天": [["tóu"], ["tiān"]],
		"头痛": [["tóu"], ["tòng"]],
		"头头": [["tóu"], ["tóu"]],
		"头陀": [["tóu"], ["tuó"]],
		"头晚": [["tóu"], ["wǎn"]],
		"头尾": [["tóu"], ["wěi"]],
		"头先": [["tóu"], ["xiān"]],
		"头衔": [["tóu"], ["xián"]],
		"头像": [["tóu"], ["xiàng"]],
		"头绪": [["tóu"], ["xù"]],
		"头型": [["tóu"], ["xíng"]],
		"头癣": [["tóu"], ["xuǎn"]],
		"头羊": [["tóu"], ["yáng"]],
		"头晕": [["tóu"], ["yūn"]],
		"头油": [["tóu"], ["yóu"]],
		"头罩": [["tóu"], ["zhào"]],
		"头子": [["tóu"], ["zi"]],
		"头座": [["tóu"], ["zuò"]],
		"投奔": [["tóu"], ["bèn"]],
		"投弹": [["tóu"], ["dàn"]],
		"投合": [["tóu"], ["hé"]],
		"投降": [["tóu"], ["xiáng"]],
		"投票": [["tóu"], ["piào"]],
		"投契": [["tóu"], ["qì"]],
		"投亲": [["tóu"], ["qīn"]],
		"投射": [["tóu"], ["shè"]],
		"投石": [["tóu"], ["shí"]],
		"投宿": [["tóu"], ["sù"]],
		"透辟": [["tòu"], ["pì"]],
		"透底": [["tòu"], ["dǐ"]],
		"透风": [["tòu"], ["fēng"]],
		"透骨": [["tòu"], ["gǔ"]],
		"透过": [["tòu"], ["guò"]],
		"透汗": [["tòu"], ["hàn"]],
		"透露": [["tòu"], ["lù"]],
		"透射": [["tòu"], ["shè"]],
		"透信": [["tòu"], ["xìn"]],
		"透雨": [["tòu"], ["yǔ"]],
		"秃发": [["tū"], ["fā"]],
		"凸凹": [["tū"], ["āo"]],
		"秃头": [["tū"], ["tóu"]],
		"突地": [["tū"], ["dì"]],
		"突发": [["tū"], ["fā"]],
		"图钉": [["tú"], ["dīng"]],
		"图解": [["tú"], ["jiě"]],
		"图景": [["tú"], ["jǐng"]],
		"图卷": [["tú"], ["juàn"]],
		"图片": [["tú"], ["piàn"]],
		"徒长": [["tú"], ["zhǎng"]],
		"图说": [["tú"], ["shuō"]],
		"徒弟": [["tú"], ["dì"]],
		"涂抹": [["tú"], ["mǒ"]],
		"涂片": [["tú"], ["piàn"]],
		"徒孙": [["tú"], ["sūn"]],
		"荼毒": [["tú"], ["dú"]],
		"途中": [["tú"], ["zhōng"]],
		"土堡": [["tǔ"], ["pù"]],
		"土地": [["tǔ"], ["dì"]],
		"土风": [["tǔ"], ["fēng"]],
		"土棍": [["tǔ"], ["gùn"]],
		"土戏": [["tǔ"], ["xì"]],
		"土语": [["tǔ"], ["yǔ"]],
		"土系": [["tǔ"], ["xì"]],
		"土种": [["tǔ"], ["zhǒng"]],
		"土著": [["tǔ"], ["zhù"]],
		"吐蕃": [["tǔ"], ["bō"]],
		"吐口": [["tǔ"], ["kǒu"]],
		"吐露": [["tǔ"], ["lù"]],
		"吐沫": [["tù"], ["mò"]],
		"吐气": [["tǔ"], ["qì"]],
		"吐弃": [["tǔ"], ["qì"]],
		"吐穗": [["tǔ"], ["suì"]],
		"吐泻": [["tù"], ["xiè"]],
		"吐絮": [["tǔ"], ["xù"]],
		"吐血": [["tù"], ["xiě"]],
		"吐艳": [["tǔ"], ["yàn"]],
		"吐属": [["tǔ"], ["shǔ"]],
		"吐字": [["tǔ"], ["zì"]],
		"团长": [["tuán"], ["zhǎng"]],
		"团丁": [["tuán"], ["dīng"]],
		"团结": [["tuán"], ["jié"]],
		"团弄": [["tuán"], ["nòng"]],
		"团扇": [["tuán"], ["shàn"]],
		"团体": [["tuán"], ["tǐ"]],
		"团委": [["tuán"], ["wěi"]],
		"团员": [["tuán"], ["yuán"]],
		"颓风": [["tuí"], ["fēng"]],
		"退场": [["tuì"], ["chǎng"]],
		"退朝": [["tuì"], ["cháo"]],
		"退佃": [["tuì"], ["diàn"]],
		"退化": [["tuì"], ["huà"]],
		"退还": [["tuì"], ["huán"]],
		"退亲": [["tuì"], ["qīn"]],
		"退票": [["tuì"], ["piào"]],
		"退缩": [["tuì"], ["suō"]],
		"退行": [["tuì"], ["xíng"]],
		"退休": [["tuì"], ["xiū"]],
		"退隐": [["tuì"], ["yǐn"]],
		"蜕化": [["tuì"], ["huà"]],
		"褪去": [["tùn"], ["qù"]],
		"褪色": [["tuì"], ["shǎi"]],
		"吞并": [["tūn"], ["bìng"]],
		"吞剥": [["tūn"], ["bō"]],
		"吞食": [["tūn"], ["shí"]],
		"吞服": [["tūn"], ["fú"]],
		"吞没": [["tūn"], ["mò"]],
		"吞吐": [["tūn"], ["tǔ"]],
		"吞咽": [["tūn"], ["yàn"]],
		"屯兵": [["tún"], ["bīng"]],
		"屯积": [["tún"], ["jī"]],
		"屯集": [["tún"], ["jí"]],
		"屯聚": [["tún"], ["jù"]],
		"屯粮": [["tún"], ["liáng"]],
		"屯垦": [["tún"], ["kěn"]],
		"屯落": [["tún"], ["luò"]],
		"屯留": [["tún"], ["liú"]],
		"屯守": [["tún"], ["shǒu"]],
		"屯田": [["tún"], ["tián"]],
		"屯扎": [["tún"], ["zhā"]],
		"屯驻": [["tún"], ["zhù"]],
		"屯子": [["tún"], ["zǐ"]],
		"托底": [["tuō"], ["dǐ"]],
		"拖把": [["tuō"], ["bǎ"]],
		"拖长": [["tuō"], ["cháng"]],
		"拖车": [["tuō"], ["chē"]],
		"拖沓": [["tuō"], ["tà"]],
		"拖斗": [["tuō"], ["dǒu"]],
		"拖拉": [["tuō"], ["lā"]],
		"拖累": [["tuō"], ["lěi"]],
		"驼背": [["tuó"], ["bèi"]],
		"妥当": [["tuǒ"], ["dàng"]],
		"妥帖": [["tuǒ"], ["tiē"]],
		"拓拔": [["tuò"], ["bá"]],
		"拓本": [["tà"], ["běn"]],
		"拓地": [["tuò"], ["dì"]],
		"拓荒": [["tuò"], ["huāng"]],
		"拓宽": [["tuò"], ["kuān"]],
		"拓片": [["tà"], ["piàn"]],
		"拓扑": [["tuò"], ["pū"]],
		"拓印": [["tà"], ["yìn"]],
		"拓展": [["tuò"], ["zhǎn"]],
		"拓殖": [["tuò"], ["zhí"]],
		"哇塞": [["wā"], ["sāi"]],
		"哇啦": [["wā"], ["lā"]],
		"哇哇": [["wā"], ["wā"]],
		"洼地": [["wā"], ["dì"]],
		"瓦刀": [["wà"], ["dāo"]],
		"瓦当": [["wǎ"], ["dāng"]],
		"瓦房": [["wǎ"], ["fáng"]],
		"瓦工": [["wǎ"], ["gōng"]],
		"瓦罐": [["wǎ"], ["guàn"]],
		"瓦沟": [["wǎ"], ["gōu"]],
		"瓦匠": [["wǎ"], ["jiàng"]],
		"瓦解": [["wǎ"], ["jiě"]],
		"瓦蓝": [["wǎ"], ["lán"]],
		"瓦楞": [["wǎ"], ["léng"]],
		"瓦砾": [["wǎ"], ["lì"]],
		"瓦垄": [["wǎ"], ["lǒng"]],
		"瓦盆": [["wǎ"], ["pén"]],
		"瓦片": [["wǎ"], ["piàn"]],
		"瓦器": [["wǎ"], ["qì"]],
		"瓦圈": [["wǎ"], ["quān"]],
		"瓦全": [["wǎ"], ["quán"]],
		"瓦舍": [["wǎ"], ["shè"]],
		"瓦斯": [["wǎ"], ["sī"]],
		"瓦松": [["wǎ"], ["sōng"]],
		"瓦特": [["wǎ"], ["tè"]],
		"瓦屋": [["wǎ"], ["wū"]],
		"瓦窑": [["wǎ"], ["yáo"]],
		"歪风": [["wāi"], ["fēng"]],
		"歪曲": [["wāi"], ["qū"]],
		"外侧": [["wài"], ["cè"]],
		"外差": [["wài"], ["chà"]],
		"外长": [["wài"], ["zhǎng"]],
		"外厂": [["wài"], ["chǎng"]],
		"外场": [["wài"], ["chǎng"]],
		"外传": [["wài"], ["zhuàn"]],
		"外调": [["wài"], ["diào"]],
		"外地": [["wài"], ["dì"]],
		"外港": [["wài"], ["gǎng"]],
		"外观": [["wài"], ["guān"]],
		"外号": [["wài"], ["hào"]],
		"外化": [["wài"], ["huà"]],
		"外家": [["wài"], ["jiā"]],
		"外间": [["wài"], ["jiān"]],
		"外角": [["wài"], ["jiǎo"]],
		"外教": [["wài"], ["jiào"]],
		"外景": [["wài"], ["jǐng"]],
		"外壳": [["wài"], ["ké"]],
		"外露": [["wài"], ["lù"]],
		"外强": [["wài"], ["jiāng"]],
		"外切": [["wài"], ["qiē"]],
		"外亲": [["wài"], ["qīn"]],
		"外省": [["wài"], ["shěng"]],
		"外孙": [["wài"], ["sūn"]],
		"外头": [["wài"], ["tou"]],
		"外县": [["wài"], ["xiàn"]],
		"外相": [["wài"], ["xiāng"]],
		"外行": [["wài"], ["háng"]],
		"外语": [["wài"], ["yǔ"]],
		"外转": [["wài"], ["zhuǎn"]],
		"弯度": [["wān"], ["dù"]],
		"弯曲": [["wān"], ["qū"]],
		"弯头": [["wān"], ["tóu"]],
		"湾泊": [["wān"], ["bó"]],
		"湾头": [["wān"], ["tóu"]],
		"纨扇": [["wán"], ["shàn"]],
		"完好": [["wán"], ["hǎo"]],
		"完结": [["wán"], ["jié"]],
		"完了": [["wán"], ["le"]],
		"玩乐": [["wán"], ["lè"]],
		"玩弄": [["wán"], ["nòng"]],
		"玩兴": [["wán"], ["xìng"]],
		"顽强": [["wán"], ["qiáng"]],
		"顽石": [["wán"], ["shí"]],
		"顽症": [["wán"], ["zhèng"]],
		"宛然": [["wǎn"], ["rán"]],
		"宛如": [["wǎn"], ["rú"]],
		"宛若": [["wǎn"], ["ruò"]],
		"宛似": [["wǎn"], ["sì"]],
		"宛转": [["wǎn"], ["zhuǎn"]],
		"莞尔": [["wǎn"], ["ěr"]],
		"碗柜": [["wǎn"], ["guì"]],
		"万般": [["wàn"], ["bān"]],
		"万安": [["wàn"], ["ān"]],
		"万端": [["wàn"], ["duān"]],
		"万恶": [["wàn"], ["è"]],
		"万方": [["wàn"], ["fāng"]],
		"万分": [["wàn"], ["fēn"]],
		"万福": [["wàn"], ["fú"]],
		"万古": [["wàn"], ["gǔ"]],
		"万贯": [["wàn"], ["guàn"]],
		"万国": [["wàn"], ["guó"]],
		"万机": [["wàn"], ["jī"]],
		"万籁": [["wàn"], ["lài"]],
		"万金": [["wàn"], ["jīn"]],
		"万历": [["wàn"], ["lì"]],
		"万民": [["wàn"], ["mín"]],
		"万难": [["wàn"], ["nán"]],
		"万能": [["wàn"], ["néng"]],
		"万年": [["wàn"], ["nián"]],
		"万千": [["wàn"], ["qiān"]],
		"万顷": [["wàn"], ["qǐng"]],
		"万全": [["wàn"], ["quán"]],
		"万世": [["wàn"], ["shì"]],
		"万死": [["wàn"], ["sǐ"]],
		"万事": [["wàn"], ["shì"]],
		"万岁": [["wàn"], ["suì"]],
		"万万": [["wàn"], ["wàn"]],
		"万物": [["wàn"], ["wù"]],
		"万象": [["wàn"], ["xiàng"]],
		"万幸": [["wàn"], ["xìng"]],
		"万一": [["wàn"], ["yī"]],
		"万有": [["wàn"], ["yǒu"]],
		"万众": [["wàn"], ["zhòng"]],
		"万丈": [["wàn"], ["zhàng"]],
		"万状": [["wàn"], ["zhuàng"]],
		"腕骨": [["wàn"], ["gǔ"]],
		"亡党": [["wáng"], ["dǎng"]],
		"亡故": [["wáng"], ["gù"]],
		"亡国": [["wáng"], ["guó"]],
		"亡魂": [["wáng"], ["hún"]],
		"亡灵": [["wáng"], ["líng"]],
		"亡命": [["wáng"], ["mìng"]],
		"亡失": [["wáng"], ["shī"]],
		"亡佚": [["wáng"], ["yì"]],
		"亡友": [["wáng"], ["yǒu"]],
		"王八": [["wáng"], ["bā"]],
		"王朝": [["wáng"], ["cháo"]],
		"王储": [["wáng"], ["chǔ"]],
		"王道": [["wáng"], ["dào"]],
		"王法": [["wáng"], ["fǎ"]],
		"王妃": [["wáng"], ["fēi"]],
		"王府": [["wáng"], ["fǔ"]],
		"王公": [["wáng"], ["gōng"]],
		"王宫": [["wáng"], ["gōng"]],
		"王官": [["wáng"], ["guān"]],
		"王国": [["wáng"], ["guó"]],
		"王冠": [["wáng"], ["guān"]],
		"王侯": [["wáng"], ["hóu"]],
		"王后": [["wáng"], ["hòu"]],
		"王浆": [["wáng"], ["jiāng"]],
		"王蒙": [["wáng"], ["méng"]],
		"王牌": [["wáng"], ["pái"]],
		"王权": [["wáng"], ["quán"]],
		"王蛇": [["wáng"], ["shé"]],
		"王室": [["wáng"], ["shì"]],
		"王水": [["wáng"], ["shuǐ"]],
		"王孙": [["wáng"], ["sūn"]],
		"王台": [["wáng"], ["tái"]],
		"王位": [["wáng"], ["wèi"]],
		"王相": [["wáng"], ["xiāng"]],
		"王爷": [["wáng"], ["yé"]],
		"王者": [["wáng"], ["zhě"]],
		"王政": [["wáng"], ["zhèng"]],
		"王子": [["wáng"], ["zǐ"]],
		"王族": [["wáng"], ["zú"]],
		"网络": [["wǎng"], ["luò"]],
		"往还": [["wǎng"], ["huán"]],
		"妄称": [["wàng"], ["chēng"]],
		"妄说": [["wàng"], ["shuō"]],
		"妄为": [["wàng"], ["wéi"]],
		"妄语": [["wàng"], ["yǔ"]],
		"旺盛": [["wàng"], ["shèng"]],
		"危亡": [["wēi"], ["wáng"]],
		"危难": [["wēi"], ["nàn"]],
		"危重": [["wēi"], ["zhòng"]],
		"威风": [["wēi"], ["fēng"]],
		"威迫": [["wēi"], ["pò"]],
		"威吓": [["wēi"], ["hè"]],
		"威信": [["wēi"], ["xìn"]],
		"逶迤": [["wēi"], ["yí"]],
		"微薄": [["wēi"], ["bó"]],
		"微分": [["wēi"], ["fēn"]],
		"微风": [["wēi"], ["fēng"]],
		"微服": [["wēi"], ["fú"]],
		"微观": [["wēi"], ["guān"]],
		"微少": [["wēi"], ["shǎo"]],
		"微行": [["wēi"], ["xíng"]],
		"为此": [["wèi"], ["cǐ"]],
		"为害": [["wéi"], ["hài"]],
		"为何": [["wèi"], ["hé"]],
		"为患": [["wéi"], ["huàn"]],
		"为了": [["wèi"], ["le"]],
		"为难": [["wéi"], ["nán"]],
		"为期": [["wéi"], ["qī"]],
		"为人": [["wéi"], ["rén"]],
		"为生": [["wéi"], ["shēng"]],
		"为时": [["wéi"], ["shí"]],
		"为首": [["wéi"], ["shǒu"]],
		"为数": [["wéi"], ["shù"]],
		"为伍": [["wéi"], ["wǔ"]],
		"为限": [["wéi"], ["xiàn"]],
		"为政": [["wéi"], ["zhèng"]],
		"为止": [["wéi"], ["zhǐ"]],
		"为主": [["wéi"], ["zhǔ"]],
		"为着": [["wéi"], ["zhe"]],
		"圩堤": [["wéi"], ["dī"]],
		"圩垸": [["wéi"], ["yuàn"]],
		"圩子": [["wéi"], ["zǐ"]],
		"围场": [["wéi"], ["chǎng"]],
		"围观": [["wéi"], ["guān"]],
		"围剿": [["wéi"], ["jiǎo"]],
		"围屏": [["wéi"], ["píng"]],
		"违拗": [["wéi"], ["ào"]],
		"违背": [["wéi"], ["bèi"]],
		"违和": [["wéi"], ["hé"]],
		"违纪": [["wéi"], ["jì"]],
		"违禁": [["wéi"], ["jìn"]],
		"违令": [["wéi"], ["lìng"]],
		"违约": [["wéi"], ["yuē"]],
		"桅杆": [["wéi"], ["gān"]],
		"伟大": [["wěi"], ["dà"]],
		"伟论": [["wěi"], ["lùn"]],
		"尾巴": [["wěi"], ["bā"]],
		"尾部": [["wěi"], ["bù"]],
		"尾灯": [["wěi"], ["dēng"]],
		"尾骨": [["wěi"], ["gǔ"]],
		"尾花": [["wěi"], ["huā"]],
		"尾矿": [["wěi"], ["kuàng"]],
		"尾欠": [["wěi"], ["qiàn"]],
		"尾声": [["wěi"], ["shēng"]],
		"尾气": [["wěi"], ["qì"]],
		"尾数": [["wěi"], ["shù"]],
		"尾随": [["wěi"], ["suí"]],
		"尾翼": [["wěi"], ["yì"]],
		"尾音": [["wěi"], ["yīn"]],
		"尾蚴": [["wěi"], ["yòu"]],
		"尾羽": [["wěi"], ["yǔ"]],
		"纬度": [["wěi"], ["dù"]],
		"委靡": [["wěi"], ["mǐ"]],
		"委顿": [["wěi"], ["dùn"]],
		"委派": [["wěi"], ["pài"]],
		"委曲": [["wěi"], ["qū"]],
		"委屈": [["wěi"], ["qū"]],
		"委任": [["wěi"], ["rèn"]],
		"委蛇": [["wēi"], ["yí"]],
		"委身": [["wěi"], ["shēn"]],
		"委实": [["wěi"], ["shí"]],
		"委琐": [["wěi"], ["suǒ"]],
		"委托": [["wěi"], ["tuō"]],
		"委婉": [["wěi"], ["wǎn"]],
		"委员": [["wěi"], ["yuán"]],
		"委罪": [["wěi"], ["zuì"]],
		"诿过": [["wěi"], ["guò"]],
		"未便": [["wèi"], ["biàn"]],
		"未卜": [["wèi"], ["bǔ"]],
		"未几": [["wèi"], ["jǐ"]],
		"未可": [["wèi"], ["kě"]],
		"未了": [["wèi"], ["liǎo"]],
		"未详": [["wèi"], ["xiáng"]],
		"未有": [["wèi"], ["yǒu"]],
		"未曾": [["wèi"], ["zēng"]],
		"位能": [["wèi"], ["néng"]],
		"味觉": [["wèi"], ["jué"]],
		"畏服": [["wèi"], ["fú"]],
		"畏难": [["wèi"], ["nán"]],
		"畏缩": [["wèi"], ["suō"]],
		"尉官": [["wèi"], ["guān"]],
		"喂食": [["wèi"], ["shí"]],
		"慰藉": [["wèi"], ["jiè"]],
		"魏阙": [["wèi"], ["quē"]],
		"温差": [["wēn"], ["chà"]],
		"温和": [["wēn"], ["hé"]],
		"温度": [["wēn"], ["dù"]],
		"温觉": [["wēn"], ["jué"]],
		"温宿": [["wēn"], ["sù"]],
		"文采": [["wén"], ["cǎi"]],
		"文场": [["wén"], ["chǎng"]],
		"文斗": [["wén"], ["dòu"]],
		"文蛤": [["wén"], ["gé"]],
		"文风": [["wén"], ["fēng"]],
		"文号": [["wén"], ["hào"]],
		"文华": [["wén"], ["huá"]],
		"文化": [["wén"], ["huà"]],
		"文教": [["wén"], ["jiào"]],
		"文句": [["wén"], ["jù"]],
		"文卷": [["wén"], ["juàn"]],
		"文论": [["wén"], ["lùn"]],
		"文脉": [["wén"], ["mài"]],
		"文石": [["wén"], ["shí"]],
		"文契": [["wén"], ["qì"]],
		"文思": [["wén"], ["sī"]],
		"文戏": [["wén"], ["xì"]],
		"文体": [["wén"], ["tǐ"]],
		"文员": [["wén"], ["yuán"]],
		"纹理": [["wén"], ["lǐ"]],
		"纹路": [["wén"], ["lù"]],
		"纹身": [["wén"], ["shēn"]],
		"纹银": [["wén"], ["yín"]],
		"纹饰": [["wén"], ["shì"]],
		"闻风": [["wén"], ["fēng"]],
		"闻见": [["wén"], ["jiàn"]],
		"闻知": [["wén"], ["zhī"]],
		"刎颈": [["wěn"], ["jǐng"]],
		"吻别": [["wěn"], ["bié"]],
		"稳便": [["wěn"], ["biàn"]],
		"吻合": [["wěn"], ["hé"]],
		"稳当": [["wěn"], ["dāng"]],
		"稳重": [["wěn"], ["zhòng"]],
		"问卜": [["wèn"], ["bǔ"]],
		"问好": [["wèn"], ["hǎo"]],
		"问答": [["wèn"], ["dá"]],
		"问号": [["wèn"], ["hào"]],
		"问难": [["wèn"], ["nàn"]],
		"汶上": [["wèn"], ["shàng"]],
		"倭瓜": [["wō"], ["guā"]],
		"倭寇": [["wō"], ["kòu"]],
		"涡旋": [["wō"], ["xuán"]],
		"莴苣": [["wō"], ["jù"]],
		"喔喔": [["wō"], ["wō"]],
		"喔唷": [["ō"], ["yō"]],
		"窝藏": [["wō"], ["cáng"]],
		"窝家": [["wō"], ["jiā"]],
		"窝囊": [["wō"], ["nāng"]],
		"窝铺": [["wō"], ["pù"]],
		"窝头": [["wō"], ["tóu"]],
		"蜗角": [["wō"], ["jiǎo"]],
		"蜗旋": [["wō"], ["xuán"]],
		"我见": [["wǒ"], ["jiàn"]],
		"我家": [["wǒ"], ["jiā"]],
		"我们": [["wǒ"], ["men"]],
		"沃地": [["wò"], ["dì"]],
		"卧车": [["wò"], ["chē"]],
		"卧倒": [["wò"], ["dǎo"]],
		"卧底": [["wò"], ["dǐ"]],
		"卧铺": [["wò"], ["pù"]],
		"卧射": [["wò"], ["shè"]],
		"握别": [["wò"], ["bié"]],
		"斡旋": [["wò"], ["xuán"]],
		"乌龟": [["wū"], ["guī"]],
		"乌拉": [["wù"], ["la"]],
		"乌头": [["wū"], ["tóu"]],
		"乌有": [["wū"], ["yǒu"]],
		"污泥": [["wū"], ["ní"]],
		"呜咽": [["wū"], ["yè"]],
		"巫女": [["wū"], ["nǚ"]],
		"巫术": [["wū"], ["shù"]],
		"无不": [["wú"], ["bù"]],
		"钨钢": [["wū"], ["gāng"]],
		"无处": [["wú"], ["chǔ"]],
		"无从": [["wú"], ["cóng"]],
		"无度": [["wú"], ["dù"]],
		"无风": [["wú"], ["fēng"]],
		"无缝": [["wú"], ["fèng"]],
		"无干": [["wú"], ["gān"]],
		"无过": [["wú"], ["guò"]],
		"无华": [["wú"], ["huá"]],
		"无何": [["wú"], ["hé"]],
		"无稽": [["wú"], ["jī"]],
		"无价": [["wú"], ["jià"]],
		"无几": [["wú"], ["jǐ"]],
		"无间": [["wú"], ["jiàn"]],
		"无疆": [["wú"], ["jiāng"]],
		"无尽": [["wú"], ["jìn"]],
		"无量": [["wú"], ["liàng"]],
		"无可": [["wú"], ["kě"]],
		"无论": [["wú"], ["lùn"]],
		"无能": [["wú"], ["néng"]],
		"无宁": [["wú"], ["nìng"]],
		"无期": [["wú"], ["qī"]],
		"无趣": [["wú"], ["qù"]],
		"无任": [["wú"], ["rèn"]],
		"无上": [["wú"], ["shàng"]],
		"无数": [["wú"], ["shù"]],
		"无为": [["wú"], ["wéi"]],
		"无相": [["wú"], ["xiāng"]],
		"无邪": [["wú"], ["xié"]],
		"无行": [["wú"], ["xíng"]],
		"无疑": [["wú"], ["yí"]],
		"无知": [["wú"], ["zhī"]],
		"无着": [["wú"], ["zhuó"]],
		"毋宁": [["wú"], ["nìng"]],
		"吴王": [["wú"], ["wáng"]],
		"吴语": [["wú"], ["yǔ"]],
		"吴中": [["wú"], ["zhōng"]],
		"吾辈": [["wú"], ["bèi"]],
		"吾侪": [["wú"], ["chái"]],
		"吾人": [["wú"], ["rén"]],
		"吾子": [["wú"], ["zǐ"]],
		"芜荑": [["wú"], ["yí"]],
		"蜈蚣": [["wú"], ["gōng"]],
		"五毒": [["wǔ"], ["dú"]],
		"五分": [["wǔ"], ["fēn"]],
		"五服": [["wǔ"], ["fú"]],
		"五更": [["wǔ"], ["gēng"]],
		"五号": [["wǔ"], ["hào"]],
		"五华": [["wǔ"], ["huá"]],
		"五节": [["wǔ"], ["jié"]],
		"五内": [["wǔ"], ["nèi"]],
		"五台": [["wǔ"], ["tái"]],
		"五羊": [["wǔ"], ["yáng"]],
		"五行": [["wǔ"], ["xíng"]],
		"五岭": [["wǔ"], ["lǐng"]],
		"午觉": [["wǔ"], ["jiào"]],
		"午间": [["wǔ"], ["jiān"]],
		"午休": [["wǔ"], ["xiū"]],
		"武场": [["wǔ"], ["chǎng"]],
		"武打": [["wǔ"], ["dǎ"]],
		"武斗": [["wǔ"], ["dòu"]],
		"武夫": [["wǔ"], ["fū"]],
		"武将": [["wǔ"], ["jiàng"]],
		"武术": [["wǔ"], ["shù"]],
		"武戏": [["wǔ"], ["xì"]],
		"武行": [["wǔ"], ["xíng"]],
		"舞场": [["wǔ"], ["chǎng"]],
		"舞会": [["wǔ"], ["huì"]],
		"舞女": [["wǔ"], ["nǚ"]],
		"舞曲": [["wǔ"], ["qǔ"]],
		"舞弄": [["wǔ"], ["nòng"]],
		"舞台": [["wǔ"], ["tái"]],
		"务期": [["wù"], ["qī"]],
		"务要": [["wù"], ["yào"]],
		"务正": [["wù"], ["zhèng"]],
		"物华": [["wù"], ["huá"]],
		"物化": [["wù"], ["huà"]],
		"物价": [["wù"], ["jià"]],
		"物体": [["wù"], ["tǐ"]],
		"物种": [["wù"], ["zhǒng"]],
		"误差": [["wù"], ["chā"]],
		"误场": [["wù"], ["chǎng"]],
		"误车": [["wù"], ["chē"]],
		"误称": [["wù"], ["chēng"]],
		"误传": [["wù"], ["chuán"]],
		"误会": [["wù"], ["huì"]],
		"误解": [["wù"], ["jiě"]],
		"误期": [["wù"], ["qī"]],
		"误信": [["wù"], ["xìn"]],
		"悟空": [["wù"], ["kōng"]],
		"晤见": [["wù"], ["jiàn"]],
		"雾化": [["wù"], ["huà"]],
		"西北": [["xī"], ["běi"]],
		"西藏": [["xī"], ["zàng"]],
		"西风": [["xī"], ["fēng"]],
		"西服": [["xī"], ["fú"]],
		"西华": [["xī"], ["huá"]],
		"西化": [["xī"], ["huà"]],
		"西乐": [["xī"], ["yuè"]],
		"西南": [["xī"], ["nán"]],
		"西头": [["xī"], ["tóu"]],
		"西王": [["xī"], ["wáng"]],
		"西语": [["xī"], ["yǔ"]],
		"吸毒": [["xī"], ["dú"]],
		"吸食": [["xī"], ["shí"]],
		"吸着": [["xī"], ["zhuó"]],
		"希腊": [["xī"], ["là"]],
		"希奇": [["xī"], ["qí"]],
		"希有": [["xī"], ["yǒu"]],
		"析疑": [["xī"], ["yí"]],
		"奚落": [["xī"], ["luò"]],
		"唏嘘": [["xī"], ["xū"]],
		"息率": [["xī"], ["lǜ"]],
		"犀角": [["xī"], ["jiǎo"]],
		"稀薄": [["xī"], ["bó"]],
		"稀拉": [["xī"], ["lā"]],
		"稀落": [["xī"], ["luò"]],
		"稀奇": [["xī"], ["qí"]],
		"稀少": [["xī"], ["shǎo"]],
		"稀有": [["xī"], ["yǒu"]],
		"锡石": [["xī"], ["shí"]],
		"熙和": [["xī"], ["hé"]],
		"嬉戏": [["xī"], ["xì"]],
		"膝盖": [["xī"], ["gài"]],
		"膝头": [["xī"], ["tóu"]],
		"膝行": [["xī"], ["xíng"]],
		"习服": [["xí"], ["fú"]],
		"习见": [["xí"], ["jiàn"]],
		"习好": [["xí"], ["hǎo"]],
		"席地": [["xí"], ["dì"]],
		"席卷": [["xí"], ["juǎn"]],
		"洗肠": [["xǐ"], ["cháng"]],
		"洗涤": [["xǐ"], ["dí"]],
		"洗尘": [["xǐ"], ["chén"]],
		"洗发": [["xǐ"], ["fā"]],
		"洗剂": [["xǐ"], ["jì"]],
		"洗劫": [["xǐ"], ["jié"]],
		"洗净": [["xǐ"], ["jìng"]],
		"洗礼": [["xǐ"], ["lǐ"]],
		"洗练": [["xǐ"], ["liàn"]],
		"洗煤": [["xǐ"], ["méi"]],
		"洗牌": [["xǐ"], ["pái"]],
		"洗钱": [["xǐ"], ["qián"]],
		"洗三": [["xǐ"], ["sān"]],
		"洗手": [["xǐ"], ["shǒu"]],
		"洗漱": [["xǐ"], ["shù"]],
		"洗刷": [["xǐ"], ["shuā"]],
		"洗涮": [["xǐ"], ["shuàn"]],
		"洗烫": [["xǐ"], ["tàng"]],
		"洗头": [["xǐ"], ["tóu"]],
		"洗脱": [["xǐ"], ["tuō"]],
		"洗胃": [["xǐ"], ["wèi"]],
		"洗洗": [["xǐ"], ["xǐ"]],
		"洗雪": [["xǐ"], ["xuě"]],
		"洗印": [["xǐ"], ["yìn"]],
		"洗浴": [["xǐ"], ["yù"]],
		"洗衣": [["xǐ"], ["yī"]],
		"洗冤": [["xǐ"], ["yuān"]],
		"洗澡": [["xǐ"], ["zǎo"]],
		"洗濯": [["xǐ"], ["zhuó"]],
		"喜好": [["xǐ"], ["hào"]],
		"喜乐": [["xǐ"], ["lè"]],
		"喜帖": [["xǐ"], ["tiě"]],
		"喜信": [["xǐ"], ["xìn"]],
		"喜兴": [["xǐ"], ["xìng"]],
		"喜雨": [["xǐ"], ["yǔ"]],
		"戏班": [["xì"], ["bān"]],
		"戏本": [["xì"], ["běn"]],
		"戏场": [["xì"], ["chǎng"]],
		"戏词": [["xì"], ["cí"]],
		"戏单": [["xì"], ["dān"]],
		"戏法": [["xì"], ["fǎ"]],
		"戏剧": [["xì"], ["jù"]],
		"戏楼": [["xì"], ["lóu"]],
		"戏路": [["xì"], ["lù"]],
		"戏码": [["xì"], ["mǎ"]],
		"戏迷": [["xì"], ["mí"]],
		"戏目": [["xì"], ["mù"]],
		"戏弄": [["xì"], ["nòng"]],
		"戏评": [["xì"], ["píng"]],
		"戏耍": [["xì"], ["shuǎ"]],
		"戏曲": [["xì"], ["qǔ"]],
		"戏水": [["xì"], ["shuǐ"]],
		"戏说": [["xì"], ["shuō"]],
		"戏台": [["xì"], ["tái"]],
		"戏文": [["xì"], ["wén"]],
		"戏侮": [["xì"], ["wǔ"]],
		"戏箱": [["xì"], ["xiāng"]],
		"戏谑": [["xì"], ["xuè"]],
		"戏言": [["xì"], ["yán"]],
		"戏衣": [["xì"], ["yī"]],
		"戏院": [["xì"], ["yuàn"]],
		"戏照": [["xì"], ["zhào"]],
		"戏装": [["xì"], ["zhuāng"]],
		"戏子": [["xì"], ["zǐ"]],
		"系泊": [["jì"], ["bó"]],
		"系词": [["xì"], ["cí"]],
		"系带": [["jì"], ["dài"]],
		"系缚": [["xì"], ["fù"]],
		"系恋": [["xì"], ["liàn"]],
		"系列": [["xì"], ["liè"]],
		"系谱": [["xì"], ["pǔ"]],
		"系念": [["xì"], ["niàn"]],
		"系绳": [["jì"], ["shéng"]],
		"系数": [["xì"], ["shù"]],
		"系统": [["xì"], ["tǒng"]],
		"细长": [["xì"], ["cháng"]],
		"细别": [["xì"], ["bié"]],
		"细读": [["xì"], ["dú"]],
		"细发": [["xì"], ["fà"]],
		"细节": [["xì"], ["jié"]],
		"细菌": [["xì"], ["jūn"]],
		"细看": [["xì"], ["kàn"]],
		"细说": [["xì"], ["shuō"]],
		"细挑": [["xì"], ["tāo"]],
		"细条": [["xì"], ["tiáo"]],
		"细雨": [["xì"], ["yǔ"]],
		"细语": [["xì"], ["yǔ"]],
		"虾蟆": [["há"], ["má"]],
		"隙缝": [["xì"], ["fèng"]],
		"瞎说": [["xiā"], ["shuō"]],
		"瞎炮": [["xiā"], ["pào"]],
		"侠骨": [["xiá"], ["gǔ"]],
		"侠女": [["xiá"], ["nǚ"]],
		"狭巷": [["xiá"], ["xiàng"]],
		"狭长": [["xiá"], ["cháng"]],
		"狭缝": [["xiá"], ["fèng"]],
		"遐思": [["xiá"], ["sī"]],
		"辖区": [["xiá"], ["qū"]],
		"霞石": [["xiá"], ["shí"]],
		"下场": [["xià"], ["chǎng"]],
		"下车": [["xià"], ["chē"]],
		"下乘": [["xià"], ["shèng"]],
		"下处": [["xià"], ["chǔ"]],
		"下调": [["xià"], ["diào"]],
		"下地": [["xià"], ["dì"]],
		"下毒": [["xià"], ["dú"]],
		"下发": [["xià"], ["fā"]],
		"下风": [["xià"], ["fēng"]],
		"下颌": [["xià"], ["hé"]],
		"下家": [["xià"], ["jiā"]],
		"下降": [["xià"], ["jiàng"]],
		"下劲": [["xià"], ["jìn"]],
		"下令": [["xià"], ["lìng"]],
		"下落": [["xià"], ["luò"]],
		"下铺": [["xià"], ["pù"]],
		"下台": [["xià"], ["tái"]],
		"下体": [["xià"], ["tǐ"]],
		"下帖": [["xià"], ["tiě"]],
		"下同": [["xià"], ["tóng"]],
		"下头": [["xià"], ["tou"]],
		"下泄": [["xià"], ["xiè"]],
		"下行": [["xià"], ["xíng"]],
		"下咽": [["xià"], ["yàn"]],
		"下雨": [["xià"], ["yǔ"]],
		"下种": [["xià"], ["zhǒng"]],
		"下属": [["xià"], ["shǔ"]],
		"吓唬": [["xià"], ["hu"]],
		"吓人": [["xià"], ["rén"]],
		"夏侯": [["xià"], ["hóu"]],
		"夏令": [["xià"], ["lìng"]],
		"夏种": [["xià"], ["zhòng"]],
		"仙乐": [["xiān"], ["lè"]],
		"仙女": [["xiān"], ["nǚ"]],
		"仙术": [["xiān"], ["shù"]],
		"仙台": [["xiān"], ["tái"]],
		"先夫": [["xiān"], ["fū"]],
		"先父": [["xiān"], ["fù"]],
		"先觉": [["xiān"], ["jué"]],
		"先见": [["xiān"], ["jiàn"]],
		"先令": [["xiān"], ["lìng"]],
		"先期": [["xiān"], ["qī"]],
		"先头": [["xiān"], ["tóu"]],
		"先王": [["xiān"], ["wáng"]],
		"先行": [["xiān"], ["xíng"]],
		"先知": [["xiān"], ["zhī"]],
		"纤长": [["xiān"], ["cháng"]],
		"纤尘": [["xiān"], ["chén"]],
		"纤度": [["xiān"], ["dù"]],
		"纤夫": [["qiàn"], ["fū"]],
		"纤毫": [["xiān"], ["háo"]],
		"纤毛": [["xiān"], ["máo"]],
		"纤巧": [["xiān"], ["qiǎo"]],
		"纤柔": [["xiān"], ["róu"]],
		"纤弱": [["xiān"], ["ruò"]],
		"纤手": [["qiàn"], ["shǒu"]],
		"纤绳": [["qiàn"], ["shéng"]],
		"纤瘦": [["xiān"], ["shòu"]],
		"纤微": [["xiān"], ["wēi"]],
		"纤悉": [["xiān"], ["xī"]],
		"纤维": [["xiān"], ["wéi"]],
		"纤细": [["xiān"], ["xì"]],
		"纤纤": [["xiān"], ["xiān"]],
		"纤小": [["xiān"], ["xiǎo"]],
		"纤秀": [["xiān"], ["xiù"]],
		"祆教": [["xiān"], ["jiào"]],
		"鲜卑": [["xiān"], ["bēi"]],
		"鲜果": [["xiān"], ["guǒ"]],
		"鲜红": [["xiān"], ["hóng"]],
		"鲜花": [["xiān"], ["huā"]],
		"鲜活": [["xiān"], ["huó"]],
		"鲜货": [["xiān"], ["huò"]],
		"鲜丽": [["xiān"], ["lì"]],
		"鲜亮": [["xiān"], ["liàng"]],
		"鲜灵": [["xiān"], ["líng"]],
		"鲜绿": [["xiān"], ["lǜ"]],
		"鲜美": [["xiān"], ["měi"]],
		"鲜明": [["xiān"], ["míng"]],
		"鲜嫩": [["xiān"], ["nèn"]],
		"鲜润": [["xiān"], ["rùn"]],
		"鲜食": [["xiān"], ["shí"]],
		"鲜甜": [["xiān"], ["tián"]],
		"鲜味": [["xiān"], ["wèi"]],
		"鲜血": [["xiān"], ["xuè"]],
		"鲜妍": [["xiān"], ["yán"]],
		"鲜艳": [["xiān"], ["yàn"]],
		"鲜鱼": [["xiān"], ["yú"]],
		"闲空": [["xián"], ["kòng"]],
		"闲散": [["xián"], ["sǎn"]],
		"弦乐": [["xián"], ["yuè"]],
		"贤弟": [["xián"], ["dì"]],
		"贤能": [["xián"], ["néng"]],
		"贤契": [["xián"], ["qì"]],
		"嫌恶": [["xián"], ["wù"]],
		"嫌疑": [["xián"], ["yí"]],
		"显得": [["xiǎn"], ["de"]],
		"显豁": [["xiǎn"], ["huò"]],
		"显见": [["xiǎn"], ["jiàn"]],
		"显露": [["xiǎn"], ["lù"]],
		"显要": [["xiǎn"], ["yào"]],
		"显能": [["xiǎn"], ["néng"]],
		"显著": [["xiǎn"], ["zhù"]],
		"险地": [["xiǎn"], ["dì"]],
		"险恶": [["xiǎn"], ["è"]],
		"险毒": [["xiǎn"], ["dú"]],
		"险些": [["xiǎn"], ["xiē"]],
		"险要": [["xiǎn"], ["yào"]],
		"险症": [["xiǎn"], ["zhèng"]],
		"县长": [["xiàn"], ["zhǎng"]],
		"县城": [["xiàn"], ["chéng"]],
		"县份": [["xiàn"], ["fèn"]],
		"县官": [["xiàn"], ["guān"]],
		"县令": [["xiàn"], ["lìng"]],
		"县委": [["xiàn"], ["wěi"]],
		"县尉": [["xiàn"], ["wèi"]],
		"县县": [["xiàn"], ["xiàn"]],
		"县志": [["xiàn"], ["zhì"]],
		"县治": [["xiàn"], ["zhì"]],
		"现场": [["xiàn"], ["chǎng"]],
		"现地": [["xiàn"], ["dì"]],
		"现量": [["xiàn"], ["liàng"]],
		"现期": [["xiàn"], ["qī"]],
		"现任": [["xiàn"], ["rèn"]],
		"现行": [["xiàn"], ["xíng"]],
		"现有": [["xiàn"], ["yǒu"]],
		"线圈": [["xiàn"], ["quān"]],
		"线呢": [["xiàn"], ["ne"]],
		"线条": [["xiàn"], ["tiáo"]],
		"线头": [["xiàn"], ["tóu"]],
		"限度": [["xiàn"], ["dù"]],
		"线轴": [["xiàn"], ["zhóu"]],
		"限价": [["xiàn"], ["jià"]],
		"限量": [["xiàn"], ["liàng"]],
		"限令": [["xiàn"], ["lìng"]],
		"限期": [["xiàn"], ["qī"]],
		"陷落": [["xiàn"], ["luò"]],
		"陷没": [["xiàn"], ["méi"]],
		"献上": [["xiàn"], ["shàng"]],
		"献血": [["xiàn"], ["xuè"]],
		"霰弹": [["xiàn"], ["dàn"]],
		"乡长": [["xiāng"], ["cháng"]],
		"乡间": [["xiāng"], ["jiān"]],
		"乡丁": [["xiāng"], ["dīng"]],
		"乡亲": [["xiāng"], ["qīn"]],
		"乡思": [["xiāng"], ["sī"]],
		"乡曲": [["xiāng"], ["qū"]],
		"乡约": [["xiāng"], ["yuē"]],
		"相安": [["xiāng"], ["ān"]],
		"相爱": [["xiāng"], ["ài"]],
		"相帮": [["xiāng"], ["bāng"]],
		"相伴": [["xiāng"], ["bàn"]],
		"相悖": [["xiāng"], ["bèi"]],
		"相比": [["xiāng"], ["bǐ"]],
		"相册": [["xiàng"], ["cè"]],
		"相差": [["xiāng"], ["chà"]],
		"相称": [["xiāng"], ["chèn"]],
		"相成": [["xiāng"], ["chéng"]],
		"相承": [["xiāng"], ["chéng"]],
		"相乘": [["xiāng"], ["chéng"]],
		"相持": [["xiāng"], ["chí"]],
		"相传": [["xiāng"], ["chuán"]],
		"相处": [["xiāng"], ["chǔ"]],
		"相待": [["xiāng"], ["dài"]],
		"相当": [["xiāng"], ["dāng"]],
		"相得": [["xiāng"], ["de"]],
		"相抵": [["xiāng"], ["dǐ"]],
		"相等": [["xiāng"], ["děng"]],
		"相对": [["xiāng"], ["duì"]],
		"相烦": [["xiāng"], ["fán"]],
		"相反": [["xiāng"], ["fǎn"]],
		"相逢": [["xiāng"], ["féng"]],
		"相仿": [["xiāng"], ["fǎng"]],
		"相符": [["xiāng"], ["fú"]],
		"相干": [["xiāng"], ["gān"]],
		"相隔": [["xiāng"], ["gé"]],
		"相顾": [["xiāng"], ["gù"]],
		"相公": [["xiàng"], ["gōng"]],
		"相关": [["xiāng"], ["guān"]],
		"相国": [["xiàng"], ["guó"]],
		"相好": [["xiāng"], ["hǎo"]],
		"相互": [["xiāng"], ["hù"]],
		"相会": [["xiāng"], ["huì"]],
		"相合": [["xiāng"], ["hé"]],
		"相机": [["xiàng"], ["jī"]],
		"相继": [["xiāng"], ["jì"]],
		"相间": [["xiāng"], ["jiàn"]],
		"相见": [["xiāng"], ["jiàn"]],
		"相交": [["xiāng"], ["jiāo"]],
		"相角": [["xiàng"], ["jiǎo"]],
		"相接": [["xiāng"], ["jiē"]],
		"相近": [["xiāng"], ["jìn"]],
		"相救": [["xiāng"], ["jiù"]],
		"相距": [["xiāng"], ["jù"]],
		"相聚": [["xiāng"], ["jù"]],
		"相看": [["xiāng"], ["kàn"]],
		"相克": [["xiāng"], ["kè"]],
		"相类": [["xiāng"], ["lèi"]],
		"相连": [["xiāng"], ["lián"]],
		"相恋": [["xiāng"], ["liàn"]],
		"相邻": [["xiāng"], ["lín"]],
		"相率": [["xiāng"], ["shuài"]],
		"相马": [["xiàng"], ["mǎ"]],
		"相貌": [["xiàng"], ["mào"]],
		"相面": [["xiàng"], ["miàn"]],
		"相命": [["xiāng"], ["mìng"]],
		"相配": [["xiāng"], ["pèi"]],
		"相碰": [["xiāng"], ["pèng"]],
		"相片": [["xiàng"], ["piān"]],
		"相契": [["xiāng"], ["qì"]],
		"相扑": [["xiàng"], ["pū"]],
		"相亲": [["xiāng"], ["qīn"]],
		"相去": [["xiāng"], ["qù"]],
		"相让": [["xiāng"], ["ràng"]],
		"相劝": [["xiāng"], ["quàn"]],
		"相扰": [["xiāng"], ["rǎo"]],
		"相认": [["xiāng"], ["rèn"]],
		"相容": [["xiāng"], ["róng"]],
		"相商": [["xiāng"], ["shāng"]],
		"相若": [["xiāng"], ["ruò"]],
		"相生": [["xiāng"], ["shēng"]],
		"相声": [["xiàng"], ["sheng"]],
		"相识": [["xiāng"], ["shí"]],
		"相士": [["xiàng"], ["shì"]],
		"相视": [["xiāng"], ["shì"]],
		"相书": [["xiāng"], ["shū"]],
		"相熟": [["xiāng"], ["shú"]],
		"相术": [["xiāng"], ["shù"]],
		"相思": [["xiāng"], ["sī"]],
		"相似": [["xiāng"], ["sì"]],
		"相态": [["xiāng"], ["tài"]],
		"相随": [["xiāng"], ["suí"]],
		"相通": [["xiāng"], ["tōng"]],
		"相同": [["xiāng"], ["tóng"]],
		"相投": [["xiāng"], ["tóu"]],
		"相图": [["xiàng"], ["tú"]],
		"相托": [["xiāng"], ["tuō"]],
		"相望": [["xiāng"], ["wàng"]],
		"相违": [["xiāng"], ["wéi"]],
		"相位": [["xiàng"], ["wèi"]],
		"相向": [["xiāng"], ["xiàng"]],
		"相像": [["xiāng"], ["xiàng"]],
		"相偕": [["xiāng"], ["xié"]],
		"相形": [["xiāng"], ["xíng"]],
		"相信": [["xiāng"], ["xìn"]],
		"相许": [["xiāng"], ["xǔ"]],
		"相沿": [["xiāng"], ["yán"]],
		"相依": [["xiāng"], ["yī"]],
		"相宜": [["xiāng"], ["yí"]],
		"相异": [["xiāng"], ["yì"]],
		"相应": [["xiāng"], ["yìng"]],
		"相映": [["xiāng"], ["yìng"]],
		"相与": [["xiāng"], ["yǔ"]],
		"相约": [["xiāng"], ["yuē"]],
		"相遇": [["xiāng"], ["yù"]],
		"相悦": [["xiāng"], ["yuè"]],
		"相争": [["xiāng"], ["zhēng"]],
		"相纸": [["xiàng"], ["zhǐ"]],
		"相知": [["xiāng"], ["zhī"]],
		"相中": [["xiāng"], ["zhòng"]],
		"相助": [["xiāng"], ["zhù"]],
		"相撞": [["xiāng"], ["zhuàng"]],
		"相左": [["xiāng"], ["zuǒ"]],
		"香臭": [["xiāng"], ["chòu"]],
		"香槟": [["xiāng"], ["bīn"]],
		"香干": [["xiāng"], ["gān"]],
		"香肚": [["xiāng"], ["dù"]],
		"香港": [["xiāng"], ["gǎng"]],
		"香会": [["xiāng"], ["huì"]],
		"香囊": [["xiāng"], ["náng"]],
		"香片": [["xiāng"], ["piàn"]],
		"湘语": [["xiāng"], ["yǔ"]],
		"香泽": [["xiāng"], ["zé"]],
		"箱底": [["xiāng"], ["dǐ"]],
		"箱笼": [["xiāng"], ["lǒng"]],
		"襄助": [["xiāng"], ["zhù"]],
		"详备": [["xiáng"], ["bèi"]],
		"详察": [["xiáng"], ["chá"]],
		"详解": [["xiáng"], ["jiě"]],
		"详尽": [["xiáng"], ["jìn"]],
		"详密": [["xiáng"], ["mì"]],
		"详略": [["xiáng"], ["lüè"]],
		"详明": [["xiáng"], ["míng"]],
		"详实": [["xiáng"], ["shí"]],
		"详情": [["xiáng"], ["qíng"]],
		"详述": [["xiáng"], ["shù"]],
		"详谈": [["xiáng"], ["tán"]],
		"详悉": [["xiáng"], ["xī"]],
		"详细": [["xiáng"], ["xì"]],
		"祥和": [["xiáng"], ["hé"]],
		"享乐": [["xiǎng"], ["lè"]],
		"享有": [["xiǎng"], ["yǒu"]],
		"响度": [["xiǎng"], ["dù"]],
		"响头": [["xiǎng"], ["tóu"]],
		"响应": [["xiǎng"], ["yìng"]],
		"想见": [["xiǎng"], ["jiàn"]],
		"想头": [["xiǎng"], ["tou"]],
		"想要": [["xiǎng"], ["yào"]],
		"想着": [["xiǎng"], ["zhe"]],
		"向背": [["xiàng"], ["bèi"]],
		"向着": [["xiàng"], ["zhe"]],
		"向上": [["xiàng"], ["shàng"]],
		"巷道": [["hàng"], ["dào"]],
		"巷口": [["xiàng"], ["kǒu"]],
		"巷陌": [["xiàng"], ["mò"]],
		"巷战": [["xiàng"], ["zhàn"]],
		"项背": [["xiàng"], ["bèi"]],
		"巷子": [["xiàng"], ["zi"]],
		"项圈": [["xiàng"], ["quān"]],
		"像片": [["xiàng"], ["piàn"]],
		"枭将": [["xiāo"], ["jiāng"]],
		"削壁": [["xuē"], ["bì"]],
		"削除": [["xuē"], ["chú"]],
		"削发": [["xuē"], ["fà"]],
		"削价": [["xuē"], ["jià"]],
		"削肩": [["xuē"], ["jiān"]],
		"削减": [["xuē"], ["jiǎn"]],
		"削皮": [["xiāo"], ["pí"]],
		"削平": [["xuē"], ["píng"]],
		"削弱": [["xuē"], ["ruò"]],
		"削职": [["xuē"], ["zhí"]],
		"削瘦": [["xuē"], ["shòu"]],
		"削削": [["xuē"], ["xuē"]],
		"骁将": [["xiāo"], ["jiàng"]],
		"宵旰": [["xiāo"], ["gàn"]],
		"宵禁": [["xiāo"], ["jìn"]],
		"消长": [["xiāo"], ["zhǎng"]],
		"消毒": [["xiāo"], ["dú"]],
		"消化": [["xiāo"], ["huà"]],
		"消解": [["xiāo"], ["jiě"]],
		"消磨": [["xiāo"], ["mó"]],
		"消散": [["xiāo"], ["sàn"]],
		"消食": [["xiāo"], ["shí"]],
		"消亡": [["xiāo"], ["wáng"]],
		"硝化": [["xiāo"], ["huà"]],
		"硝石": [["xiāo"], ["shí"]],
		"销差": [["xiāo"], ["chà"]],
		"销钉": [["xiāo"], ["dīng"]],
		"销号": [["xiāo"], ["hào"]],
		"销价": [["xiāo"], ["jià"]],
		"销假": [["xiāo"], ["jià"]],
		"销量": [["xiāo"], ["liàng"]],
		"销行": [["xiāo"], ["xíng"]],
		"潇洒": [["xiāo"], ["sǎ"]],
		"小便": [["xiǎo"], ["biàn"]],
		"小别": [["xiǎo"], ["bié"]],
		"小车": [["xiǎo"], ["chē"]],
		"小乘": [["xiǎo"], ["chéng"]],
		"小传": [["xiǎo"], ["zhuàn"]],
		"小弟": [["xiǎo"], ["dì"]],
		"小调": [["xiǎo"], ["diào"]],
		"小过": [["xiǎo"], ["guò"]],
		"小号": [["xiǎo"], ["hào"]],
		"小角": [["xiǎo"], ["jiǎo"]],
		"小将": [["xiǎo"], ["jiàng"]],
		"小教": [["xiǎo"], ["jiào"]],
		"小节": [["xiǎo"], ["jié"]],
		"小解": [["xiǎo"], ["jiě"]],
		"小结": [["xiǎo"], ["jié"]],
		"小楷": [["xiǎo"], ["kǎi"]],
		"小看": [["xiǎo"], ["kàn"]],
		"小量": [["xiǎo"], ["liàng"]],
		"小可": [["xiǎo"], ["kě"]],
		"小令": [["xiǎo"], ["lìng"]],
		"小女": [["xiǎo"], ["nǚ"]],
		"小跑": [["xiǎo"], ["pǎo"]],
		"小区": [["xiǎo"], ["qū"]],
		"小曲": [["xiǎo"], ["qǔ"]],
		"小觑": [["xiǎo"], ["qù"]],
		"小食": [["xiǎo"], ["shí"]],
		"小数": [["xiǎo"], ["shù"]],
		"小说": [["xiǎo"], ["shuō"]],
		"小体": [["xiǎo"], ["tǐ"]],
		"小头": [["xiǎo"], ["tóu"]],
		"小王": [["xiǎo"], ["wáng"]],
		"小戏": [["xiǎo"], ["xì"]],
		"小枝": [["xiǎo"], ["zhī"]],
		"小雨": [["xiǎo"], ["yǔ"]],
		"小卒": [["xiǎo"], ["zú"]],
		"晓得": [["xiǎo"], ["de"]],
		"孝弟": [["xiào"], ["dì"]],
		"孝服": [["xiào"], ["fú"]],
		"孝女": [["xiào"], ["nǚ"]],
		"孝行": [["xiào"], ["xíng"]],
		"肖像": [["xiào"], ["xiàng"]],
		"效率": [["xiào"], ["lǜ"]],
		"效能": [["xiào"], ["néng"]],
		"校本": [["xiào"], ["běn"]],
		"校场": [["jiào"], ["chǎng"]],
		"效应": [["xiào"], ["yìng"]],
		"校长": [["xiào"], ["zhǎng"]],
		"校点": [["jiào"], ["diǎn"]],
		"校订": [["jiào"], ["dìng"]],
		"校对": [["jiào"], ["duì"]],
		"校风": [["xiào"], ["fēng"]],
		"校服": [["xiào"], ["fú"]],
		"校改": [["jiào"], ["gǎi"]],
		"校歌": [["xiào"], ["gē"]],
		"校工": [["xiào"], ["gōng"]],
		"校官": [["xiào"], ["guān"]],
		"校规": [["xiào"], ["guī"]],
		"校核": [["jiào"], ["hé"]],
		"校花": [["xiào"], ["huā"]],
		"校徽": [["xiào"], ["huī"]],
		"校勘": [["jiào"], ["kān"]],
		"校刊": [["xiào"], ["kān"]],
		"校旗": [["xiào"], ["qí"]],
		"校庆": [["xiào"], ["qìng"]],
		"校舍": [["xiào"], ["shè"]],
		"校尉": [["xiào"], ["wèi"]],
		"校务": [["xiào"], ["wù"]],
		"校训": [["xiào"], ["xùn"]],
		"校验": [["jiào"], ["yàn"]],
		"校医": [["xiào"], ["yī"]],
		"校样": [["jiào"], ["yàng"]],
		"校友": [["xiào"], ["yǒu"]],
		"校园": [["xiào"], ["yuán"]],
		"校阅": [["jiào"], ["yuè"]],
		"校正": [["jiào"], ["zhèng"]],
		"校址": [["xiào"], ["zhǐ"]],
		"校注": [["jiào"], ["zhù"]],
		"校准": [["jiào"], ["zhǔn"]],
		"笑场": [["xiào"], ["chǎng"]],
		"笑纹": [["xiào"], ["wén"]],
		"笑语": [["xiào"], ["yǔ"]],
		"些个": [["xiē"], ["gè"]],
		"些小": [["xiē"], ["xiǎo"]],
		"些微": [["xiē"], ["wēi"]],
		"些须": [["xiē"], ["xū"]],
		"些许": [["xiē"], ["xǔ"]],
		"歇凉": [["xiē"], ["liáng"]],
		"歇宿": [["xiē"], ["sù"]],
		"歇枝": [["xiē"], ["zhī"]],
		"协调": [["xié"], ["tiáo"]],
		"协和": [["xié"], ["hé"]],
		"协会": [["xié"], ["huì"]],
		"协约": [["xié"], ["yuē"]],
		"协同": [["xié"], ["tóng"]],
		"协助": [["xié"], ["zhù"]],
		"邪财": [["xié"], ["cái"]],
		"邪道": [["xié"], ["dào"]],
		"邪恶": [["xié"], ["è"]],
		"邪乎": [["xié"], ["hū"]],
		"邪火": [["xié"], ["huǒ"]],
		"邪路": [["xié"], ["lù"]],
		"邪教": [["xié"], ["jiào"]],
		"邪门": [["xié"], ["mén"]],
		"邪魔": [["xié"], ["mó"]],
		"邪念": [["xié"], ["niàn"]],
		"邪气": [["xié"], ["qì"]],
		"邪说": [["xié"], ["shuō"]],
		"邪祟": [["xié"], ["suì"]],
		"邪心": [["xié"], ["xīn"]],
		"邪行": [["xié"], ["xíng"]],
		"胁从": [["xié"], ["cóng"]],
		"胁迫": [["xié"], ["pò"]],
		"挟持": [["xié"], ["chí"]],
		"挟带": [["xié"], ["dài"]],
		"挟嫌": [["xié"], ["xián"]],
		"挟制": [["xié"], ["zhì"]],
		"偕行": [["xié"], ["xíng"]],
		"鞋底": [["xié"], ["dǐ"]],
		"鞋刷": [["xié"], ["shuā"]],
		"写家": [["xiě"], ["jiā"]],
		"写信": [["xiě"], ["xìn"]],
		"写景": [["xiě"], ["jǐng"]],
		"泄沓": [["xiè"], ["tà"]],
		"泄底": [["xiè"], ["dǐ"]],
		"泄愤": [["xiè"], ["fèn"]],
		"泄恨": [["xiè"], ["hèn"]],
		"泄劲": [["xiè"], ["jìn"]],
		"泄洪": [["xiè"], ["hóng"]],
		"泄漏": [["xiè"], ["lòu"]],
		"泄露": [["xiè"], ["lòu"]],
		"泄密": [["xiè"], ["mì"]],
		"泄气": [["xiè"], ["qì"]],
		"泄水": [["xiè"], ["shuǐ"]],
		"泄泻": [["xiè"], ["xiè"]],
		"泻肚": [["xiè"], ["dù"]],
		"卸车": [["xiè"], ["chē"]],
		"卸任": [["xiè"], ["rèn"]],
		"卸载": [["xiè"], ["zǎi"]],
		"亵渎": [["xiè"], ["dú"]],
		"谢帖": [["xiè"], ["tiě"]],
		"心传": [["xīn"], ["chuán"]],
		"心得": [["xīn"], ["dé"]],
		"心底": [["xīn"], ["dǐ"]],
		"心毒": [["xīn"], ["dú"]],
		"心地": [["xīn"], ["dì"]],
		"心服": [["xīn"], ["fú"]],
		"心结": [["xīn"], ["jié"]],
		"心劲": [["xīn"], ["jìn"]],
		"心率": [["xīn"], ["lǜ"]],
		"心切": [["xīn"], ["qiè"]],
		"心曲": [["xīn"], ["qǔ"]],
		"心上": [["xīn"], ["shàng"]],
		"心术": [["xīn"], ["shù"]],
		"心数": [["xīn"], ["shù"]],
		"心思": [["xīn"], ["sī"]],
		"心头": [["xīn"], ["tóu"]],
		"心跳": [["xīn"], ["tiào"]],
		"心王": [["xīn"], ["wáng"]],
		"心许": [["xīn"], ["xǔ"]],
		"心血": [["xīn"], ["xuè"]],
		"心疑": [["xīn"], ["yí"]],
		"心折": [["xīn"], ["zhé"]],
		"心中": [["xīn"], ["zhōng"]],
		"心重": [["xīn"], ["zhòng"]],
		"芯子": [["xìn"], ["zǐ"]],
		"莘莘": [["shēn"], ["shēn"]],
		"新丁": [["xīn"], ["dīng"]],
		"新风": [["xīn"], ["fēng"]],
		"新化": [["xīn"], ["huà"]],
		"新疆": [["xīn"], ["jiāng"]],
		"新教": [["xīn"], ["jiào"]],
		"新郎": [["xīn"], ["láng"]],
		"新乐": [["xīn"], ["lè"]],
		"新绿": [["xīn"], ["lǜ"]],
		"新奇": [["xīn"], ["qí"]],
		"新区": [["xīn"], ["qū"]],
		"新任": [["xīn"], ["rèn"]],
		"新鲜": [["xīn"], ["xiān"]],
		"新兴": [["xīn"], ["xīng"]],
		"新雨": [["xīn"], ["yǔ"]],
		"新正": [["xīn"], ["zhēng"]],
		"新语": [["xīn"], ["yǔ"]],
		"新知": [["xīn"], ["zhī"]],
		"薪传": [["xīn"], ["chuán"]],
		"薪给": [["xīn"], ["gěi"]],
		"信笔": [["xìn"], ["bǐ"]],
		"信标": [["xìn"], ["biāo"]],
		"信从": [["xìn"], ["cóng"]],
		"信差": [["xìn"], ["chāi"]],
		"信步": [["xìn"], ["bù"]],
		"信贷": [["xìn"], ["dài"]],
		"信道": [["xìn"], ["dào"]],
		"信访": [["xìn"], ["fǎng"]],
		"信风": [["xìn"], ["fēng"]],
		"信奉": [["xìn"], ["fèng"]],
		"信封": [["xìn"], ["fēng"]],
		"信服": [["xìn"], ["fú"]],
		"信函": [["xìn"], ["hán"]],
		"信鸽": [["xìn"], ["gē"]],
		"信号": [["xìn"], ["hào"]],
		"信笺": [["xìn"], ["jiān"]],
		"信汇": [["xìn"], ["huì"]],
		"信件": [["xìn"], ["jiàn"]],
		"信教": [["xìn"], ["jiào"]],
		"信据": [["xìn"], ["jù"]],
		"信口": [["xìn"], ["kǒu"]],
		"信赖": [["xìn"], ["lài"]],
		"信念": [["xìn"], ["niàn"]],
		"信女": [["xìn"], ["nǚ"]],
		"信任": [["xìn"], ["rèn"]],
		"信石": [["xìn"], ["shí"]],
		"信实": [["xìn"], ["shí"]],
		"信史": [["xìn"], ["shǐ"]],
		"信使": [["xìn"], ["shǐ"]],
		"信士": [["xìn"], ["shì"]],
		"信手": [["xìn"], ["shǒu"]],
		"信守": [["xìn"], ["shǒu"]],
		"信条": [["xìn"], ["tiáo"]],
		"信筒": [["xìn"], ["tǒng"]],
		"信徒": [["xìn"], ["tú"]],
		"信托": [["xìn"], ["tuō"]],
		"信物": [["xìn"], ["wù"]],
		"信息": [["xìn"], ["xī"]],
		"信箱": [["xìn"], ["xiāng"]],
		"信心": [["xìn"], ["xīn"]],
		"信邪": [["xìn"], ["xié"]],
		"信仰": [["xìn"], ["yǎng"]],
		"信用": [["xìn"], ["yòng"]],
		"信义": [["xìn"], ["yì"]],
		"信誉": [["xìn"], ["yù"]],
		"信纸": [["xìn"], ["zhǐ"]],
		"信札": [["xìn"], ["zhá"]],
		"兴安": [["xīng"], ["ān"]],
		"兴办": [["xīng"], ["bàn"]],
		"兴邦": [["xīng"], ["bāng"]],
		"兴兵": [["xīng"], ["bīng"]],
		"兴城": [["xīng"], ["chéng"]],
		"兴废": [["xīng"], ["fèi"]],
		"兴奋": [["xīng"], ["fèn"]],
		"兴革": [["xīng"], ["gé"]],
		"兴工": [["xīng"], ["gōng"]],
		"兴国": [["xīng"], ["guó"]],
		"兴化": [["xīng"], ["huà"]],
		"兴会": [["xìng"], ["huì"]],
		"兴建": [["xīng"], ["jiàn"]],
		"兴隆": [["xīng"], ["lóng"]],
		"兴平": [["xīng"], ["píng"]],
		"兴起": [["xīng"], ["qǐ"]],
		"兴趣": [["xìng"], ["qù"]],
		"兴盛": [["xīng"], ["shèng"]],
		"兴师": [["xīng"], ["shī"]],
		"兴衰": [["xīng"], ["shuāi"]],
		"兴叹": [["xīng"], ["tàn"]],
		"兴替": [["xīng"], ["tì"]],
		"兴头": [["xìng"], ["tou"]],
		"兴亡": [["xīng"], ["wáng"]],
		"兴旺": [["xīng"], ["wàng"]],
		"兴味": [["xìng"], ["wèi"]],
		"兴文": [["xīng"], ["wén"]],
		"兴修": [["xīng"], ["xiū"]],
		"兴许": [["xīng"], ["xǔ"]],
		"兴学": [["xīng"], ["xué"]],
		"兴业": [["xīng"], ["yè"]],
		"兴义": [["xīng"], ["yì"]],
		"兴致": [["xìng"], ["zhì"]],
		"兴筑": [["xīng"], ["zhù"]],
		"星斗": [["xīng"], ["dǒu"]],
		"星号": [["xīng"], ["hào"]],
		"星空": [["xīng"], ["kōng"]],
		"星期": [["xīng"], ["qī"]],
		"星散": [["xīng"], ["sàn"]],
		"星宿": [["xīng"], ["xiù"]],
		"星体": [["xīng"], ["tǐ"]],
		"星系": [["xīng"], ["xì"]],
		"星相": [["xīng"], ["xiàng"]],
		"星占": [["xīng"], ["zhān"]],
		"惺忪": [["xīng"], ["sōng"]],
		"猩红": [["xīng"], ["hóng"]],
		"腥臭": [["xīng"], ["chòu"]],
		"腥臊": [["xīng"], ["sāo"]],
		"腥膻": [["xīng"], ["shān"]],
		"刑场": [["xíng"], ["chǎng"]],
		"刑期": [["xíng"], ["qī"]],
		"刑种": [["xíng"], ["zhǒng"]],
		"行板": [["xíng"], ["bǎn"]],
		"行帮": [["háng"], ["bāng"]],
		"行辈": [["háng"], ["bèi"]],
		"行笔": [["xíng"], ["bǐ"]],
		"行草": [["xíng"], ["cǎo"]],
		"行藏": [["xíng"], ["cáng"]],
		"行车": [["xíng"], ["chē"]],
		"行船": [["xíng"], ["chuán"]],
		"行程": [["xíng"], ["chéng"]],
		"行刺": [["xíng"], ["cì"]],
		"行当": [["háng"], ["dāng"]],
		"行道": [["háng"], ["dào"]],
		"行都": [["xíng"], ["dū"]],
		"行动": [["xíng"], ["dòng"]],
		"行东": [["xíng"], ["dōng"]],
		"行房": [["xíng"], ["fáng"]],
		"行贩": [["xíng"], ["fàn"]],
		"行风": [["xíng"], ["fēng"]],
		"行宫": [["xíng"], ["gōng"]],
		"行规": [["háng"], ["guī"]],
		"行好": [["xíng"], ["hǎo"]],
		"行号": [["háng"], ["háo"]],
		"行话": [["háng"], ["huà"]],
		"行会": [["háng"], ["huì"]],
		"行贿": [["xíng"], ["huì"]],
		"行货": [["háng"], ["huò"]],
		"行迹": [["xíng"], ["jì"]],
		"行家": [["háng"], ["jiā"]],
		"行贾": [["xíng"], ["gǔ"]],
		"行将": [["xíng"], ["jiāng"]],
		"行间": [["háng"], ["jiān"]],
		"行脚": [["xíng"], ["jiǎo"]],
		"行劫": [["xíng"], ["jié"]],
		"行进": [["xíng"], ["jìn"]],
		"行径": [["xíng"], ["jìng"]],
		"行经": [["xíng"], ["jīng"]],
		"行距": [["háng"], ["jù"]],
		"行军": [["xíng"], ["jūn"]],
		"行楷": [["xíng"], ["kǎi"]],
		"行款": [["xíng"], ["kuǎn"]],
		"行乐": [["xíng"], ["lè"]],
		"行李": [["xíng"], ["lǐ"]],
		"行礼": [["xíng"], ["lǐ"]],
		"行列": [["háng"], ["liè"]],
		"行猎": [["xíng"], ["liè"]],
		"行令": [["xíng"], ["lìng"]],
		"行路": [["xíng"], ["lù"]],
		"行旅": [["xíng"], ["lǚ"]],
		"行囊": [["xíng"], ["náng"]],
		"行年": [["xíng"], ["nián"]],
		"行聘": [["xíng"], ["pìn"]],
		"行骗": [["xíng"], ["piàn"]],
		"行期": [["xíng"], ["qī"]],
		"行乞": [["xíng"], ["qǐ"]],
		"行抢": [["xíng"], ["qiǎng"]],
		"行腔": [["xíng"], ["qiāng"]],
		"行窃": [["xíng"], ["qiè"]],
		"行箧": [["xíng"], ["qiè"]],
		"行情": [["háng"], ["qíng"]],
		"行人": [["xíng"], ["rén"]],
		"行色": [["xíng"], ["sè"]],
		"行善": [["xíng"], ["shàn"]],
		"行商": [["háng"], ["shāng"]],
		"行赏": [["xíng"], ["shǎng"]],
		"行省": [["xíng"], ["shěng"]],
		"行时": [["xíng"], ["shí"]],
		"行使": [["xíng"], ["shǐ"]],
		"行驶": [["xíng"], ["shǐ"]],
		"行市": [["háng"], ["shì"]],
		"行事": [["xíng"], ["shì"]],
		"行书": [["xíng"], ["shū"]],
		"行署": [["xíng"], ["shǔ"]],
		"行述": [["xíng"], ["shù"]],
		"行唐": [["xíng"], ["táng"]],
		"行头": [["xíng"], ["tou"]],
		"行为": [["xíng"], ["wéi"]],
		"行文": [["xíng"], ["wén"]],
		"行伍": [["háng"], ["wǔ"]],
		"行销": [["xíng"], ["xiāo"]],
		"行星": [["xíng"], ["xīng"]],
		"行刑": [["xíng"], ["xíng"]],
		"行行": [["xíng"], ["xíng"]],
		"行凶": [["xíng"], ["xiōng"]],
		"行业": [["háng"], ["yè"]],
		"行医": [["xíng"], ["yī"]],
		"行营": [["xíng"], ["yíng"]],
		"行吟": [["xíng"], ["yín"]],
		"行辕": [["xíng"], ["yuán"]],
		"行运": [["xíng"], ["yùn"]],
		"行灶": [["xíng"], ["zào"]],
		"行诈": [["xíng"], ["zhà"]],
		"行栈": [["xíng"], ["zhàn"]],
		"行者": [["xíng"], ["zhě"]],
		"行政": [["xíng"], ["zhèng"]],
		"行止": [["xíng"], ["zhǐ"]],
		"行装": [["xíng"], ["zhuāng"]],
		"行舟": [["xíng"], ["zhōu"]],
		"行状": [["xíng"], ["zhuàng"]],
		"行走": [["xíng"], ["zǒu"]],
		"行踪": [["xíng"], ["zōng"]],
		"邢台": [["xíng"], ["tái"]],
		"形体": [["xíng"], ["tǐ"]],
		"形数": [["xíng"], ["shù"]],
		"形旁": [["xíng"], ["páng"]],
		"形似": [["xíng"], ["sì"]],
		"型钢": [["xíng"], ["gāng"]],
		"形相": [["xíng"], ["xiāng"]],
		"型号": [["xíng"], ["hào"]],
		"醒豁": [["xǐng"], ["huò"]],
		"醒觉": [["xǐng"], ["jué"]],
		"杏红": [["xìng"], ["hóng"]],
		"姓氏": [["xìng"], ["shì"]],
		"幸得": [["xìng"], ["de"]],
		"幸好": [["xìng"], ["hǎo"]],
		"幸会": [["xìng"], ["huì"]],
		"幸甚": [["xìng"], ["shèn"]],
		"性别": [["xìng"], ["bié"]],
		"性行": [["xìng"], ["xíng"]],
		"性能": [["xìng"], ["néng"]],
		"凶暴": [["xiōng"], ["bào"]],
		"凶恶": [["xiōng"], ["è"]],
		"凶横": [["xiōng"], ["hèng"]],
		"凶煞": [["xiōng"], ["shà"]],
		"凶信": [["xiōng"], ["xìn"]],
		"兄长": [["xiōng"], ["zhǎng"]],
		"凶相": [["xiōng"], ["xiàng"]],
		"兄弟": [["xiōng"], ["dì"]],
		"汹涌": [["xiōng"], ["yǒng"]],
		"胸骨": [["xiōng"], ["gǔ"]],
		"胸中": [["xiōng"], ["zhōng"]],
		"雄风": [["xióng"], ["fēng"]],
		"雄大": [["xióng"], ["dà"]],
		"胸椎": [["xiōng"], ["zhuī"]],
		"雄劲": [["xióng"], ["jìng"]],
		"雄奇": [["xióng"], ["qí"]],
		"雄峙": [["xióng"], ["zhì"]],
		"熊猫": [["xióng"], ["māo"]],
		"休班": [["xiū"], ["bān"]],
		"休兵": [["xiū"], ["bīng"]],
		"休耕": [["xiū"], ["gēng"]],
		"休会": [["xiū"], ["huì"]],
		"休假": [["xiū"], ["jià"]],
		"休刊": [["xiū"], ["kān"]],
		"休克": [["xiū"], ["kè"]],
		"休眠": [["xiū"], ["mián"]],
		"休宁": [["xiū"], ["níng"]],
		"休戚": [["xiū"], ["qī"]],
		"休憩": [["xiū"], ["qì"]],
		"休书": [["xiū"], ["shū"]],
		"休息": [["xiū"], ["xī"]],
		"休想": [["xiū"], ["xiǎng"]],
		"休闲": [["xiū"], ["xián"]],
		"休养": [["xiū"], ["yǎng"]],
		"休学": [["xiū"], ["xué"]],
		"休业": [["xiū"], ["yè"]],
		"休战": [["xiū"], ["zhàn"]],
		"休整": [["xiū"], ["zhěng"]],
		"休止": [["xiū"], ["zhǐ"]],
		"修长": [["xiū"], ["cháng"]],
		"修盖": [["xiū"], ["gài"]],
		"修好": [["xiū"], ["hǎo"]],
		"修女": [["xiū"], ["nǚ"]],
		"修正": [["xiū"], ["zhèng"]],
		"修行": [["xiū"], ["xíng"]],
		"修枝": [["xiū"], ["zhī"]],
		"修筑": [["xiū"], ["zhù"]],
		"羞臊": [["xiū"], ["sào"]],
		"羞恶": [["xiū"], ["wù"]],
		"秀发": [["xiù"], ["fā"]],
		"朽坏": [["xiǔ"], ["huài"]],
		"秀丽": [["xiù"], ["lì"]],
		"袖头": [["xiù"], ["tóu"]],
		"盱眙": [["xū"], ["yí"]],
		"锈菌": [["xiù"], ["jūn"]],
		"须要": [["xū"], ["yào"]],
		"须发": [["xū"], ["fà"]],
		"须知": [["xū"], ["zhī"]],
		"虚汗": [["xū"], ["hàn"]],
		"虚空": [["xū"], ["kōng"]],
		"嘘唏": [["xū"], ["xī"]],
		"需要": [["xū"], ["yào"]],
		"许昌": [["xǔ"], ["chāng"]],
		"许多": [["xǔ"], ["duō"]],
		"许婚": [["xǔ"], ["hūn"]],
		"许久": [["xǔ"], ["jiǔ"]],
		"许可": [["xǔ"], ["kě"]],
		"许诺": [["xǔ"], ["nuò"]],
		"许配": [["xǔ"], ["pèi"]],
		"许亲": [["xǔ"], ["qīn"]],
		"许身": [["xǔ"], ["shēn"]],
		"许是": [["xǔ"], ["shì"]],
		"许下": [["xǔ"], ["xià"]],
		"序论": [["xù"], ["lùn"]],
		"许愿": [["xǔ"], ["yuàn"]],
		"序曲": [["xù"], ["qǔ"]],
		"序数": [["xù"], ["shù"]],
		"叙别": [["xù"], ["bié"]],
		"叙说": [["xù"], ["shuō"]],
		"畜产": [["xù"], ["chǎn"]],
		"畜肥": [["chù"], ["féi"]],
		"畜栏": [["chù"], ["lán"]],
		"畜类": [["chù"], ["lèi"]],
		"畜力": [["chù"], ["lì"]],
		"畜牧": [["xù"], ["mù"]],
		"畜圈": [["chù"], ["juàn"]],
		"畜生": [["chù"], ["shēng"]],
		"畜牲": [["chù"], ["shēng"]],
		"畜养": [["xù"], ["yǎng"]],
		"畜疫": [["chù"], ["yì"]],
		"絮叨": [["xù"], ["dáo"]],
		"絮语": [["xù"], ["yǔ"]],
		"嗅觉": [["xiù"], ["jué"]],
		"蓄发": [["xù"], ["fā"]],
		"宣称": [["xuān"], ["chēng"]],
		"宣传": [["xuān"], ["chuán"]],
		"宣读": [["xuān"], ["dú"]],
		"宣教": [["xuān"], ["jiào"]],
		"宣化": [["xuān"], ["huà"]],
		"宣泄": [["xuān"], ["xiè"]],
		"宣召": [["xuān"], ["zhào"]],
		"喧哗": [["xuān"], ["huá"]],
		"喧嚷": [["xuān"], ["rǎng"]],
		"玄参": [["xuán"], ["cān"]],
		"玄奥": [["xuán"], ["ào"]],
		"玄秘": [["xuán"], ["mì"]],
		"玄思": [["xuán"], ["sī"]],
		"玄孙": [["xuán"], ["sūn"]],
		"玄远": [["xuán"], ["yuǎn"]],
		"漩涡": [["xuán"], ["wō"]],
		"选场": [["xuǎn"], ["chǎng"]],
		"选调": [["xuǎn"], ["diào"]],
		"选读": [["xuǎn"], ["dú"]],
		"选票": [["xuǎn"], ["piào"]],
		"选区": [["xuǎn"], ["qū"]],
		"选曲": [["xuǎn"], ["qǔ"]],
		"选任": [["xuǎn"], ["rèn"]],
		"选择": [["xuǎn"], ["zé"]],
		"选种": [["xuǎn"], ["zhǒng"]],
		"炫弄": [["xuàn"], ["nòng"]],
		"绚丽": [["xuàn"], ["lì"]],
		"眩晕": [["xuàn"], ["yūn"]],
		"楦头": [["xuàn"], ["tóu"]],
		"穴头": [["xué"], ["tóu"]],
		"学长": [["xué"], ["zhǎng"]],
		"学分": [["xué"], ["fēn"]],
		"学风": [["xué"], ["fēng"]],
		"学棍": [["xué"], ["gùn"]],
		"学会": [["xué"], ["huì"]],
		"学好": [["xué"], ["hǎo"]],
		"学监": [["xué"], ["jiān"]],
		"学区": [["xué"], ["qū"]],
		"学期": [["xué"], ["qī"]],
		"学识": [["xué"], ["shí"]],
		"学术": [["xué"], ["shù"]],
		"学系": [["xué"], ["xì"]],
		"学校": [["xué"], ["xiào"]],
		"学说": [["xué"], ["shuō"]],
		"学员": [["xué"], ["yuán"]],
		"血癌": [["xuè"], ["ái"]],
		"血案": [["xuè"], ["àn"]],
		"血本": [["xuè"], ["běn"]],
		"血崩": [["xuè"], ["bēng"]],
		"血泊": [["xuè"], ["pō"]],
		"血沉": [["xuè"], ["chén"]],
		"血仇": [["xuè"], ["chóu"]],
		"血防": [["xuè"], ["fáng"]],
		"血汗": [["xuè"], ["hàn"]],
		"血海": [["xuè"], ["hǎi"]],
		"血管": [["xuè"], ["guǎn"]],
		"血痕": [["xuè"], ["hén"]],
		"血红": [["xuè"], ["hóng"]],
		"血花": [["xuè"], ["huā"]],
		"血祭": [["xuè"], ["jì"]],
		"血迹": [["xuè"], ["jì"]],
		"血浆": [["xuè"], ["jiāng"]],
		"血竭": [["xuè"], ["jié"]],
		"血口": [["xuè"], ["kǒu"]],
		"血亏": [["xuè"], ["kuī"]],
		"血泪": [["xuè"], ["lèi"]],
		"血块": [["xuè"], ["kuài"]],
		"血库": [["xuè"], ["kù"]],
		"血流": [["xuè"], ["liú"]],
		"血路": [["xuè"], ["lù"]],
		"血脉": [["xuè"], ["mài"]],
		"血尿": [["xuè"], ["niào"]],
		"血泡": [["xuè"], ["pào"]],
		"血气": [["xuè"], ["qì"]],
		"血亲": [["xuè"], ["qīn"]],
		"血清": [["xuè"], ["qīng"]],
		"血球": [["xuè"], ["qiú"]],
		"血肉": [["xuè"], ["ròu"]],
		"血色": [["xuè"], ["sè"]],
		"血书": [["xuè"], ["shū"]],
		"血栓": [["xuè"], ["shuān"]],
		"血统": [["xuè"], ["tǒng"]],
		"血污": [["xuè"], ["wū"]],
		"血洗": [["xuè"], ["xǐ"]],
		"血水": [["xuè"], ["shuǐ"]],
		"血丝": [["xuè"], ["sī"]],
		"血象": [["xuè"], ["xiàng"]],
		"血腥": [["xuè"], ["xīng"]],
		"血型": [["xuè"], ["xíng"]],
		"血压": [["xuè"], ["yā"]],
		"血虚": [["xuè"], ["xū"]],
		"血性": [["xuè"], ["xìng"]],
		"血液": [["xuè"], ["yè"]],
		"血衣": [["xuè"], ["yī"]],
		"血印": [["xuè"], ["yìn"]],
		"血缘": [["xuè"], ["yuán"]],
		"血债": [["xuè"], ["zhài"]],
		"血晕": [["xiě"], ["yùn"]],
		"血战": [["xuè"], ["zhàn"]],
		"血证": [["xuè"], ["zhèng"]],
		"血肿": [["xuè"], ["zhǒng"]],
		"血渍": [["xuè"], ["zì"]],
		"熏风": [["xūn"], ["fēng"]],
		"熏染": [["xūn"], ["rǎn"]],
		"熏陶": [["xūn"], ["táo"]],
		"熏香": [["xūn"], ["xiāng"]],
		"熏熏": [["xūn"], ["xūn"]],
		"熏制": [["xūn"], ["zhì"]],
		"熏蒸": [["xūn"], ["zhēng"]],
		"薰风": [["xūn"], ["fēng"]],
		"寻见": [["xún"], ["jiàn"]],
		"寻思": [["xín"], ["sī"]],
		"巡查": [["xún"], ["zhā"]],
		"巡风": [["xún"], ["fēng"]],
		"巡行": [["xún"], ["xíng"]],
		"巡更": [["xún"], ["gēng"]],
		"驯服": [["xùn"], ["fú"]],
		"驯化": [["xùn"], ["huà"]],
		"询查": [["xún"], ["zhā"]],
		"训令": [["xùn"], ["lìng"]],
		"训条": [["xùn"], ["tiáo"]],
		"迅跑": [["xùn"], ["pǎo"]],
		"讯号": [["xùn"], ["hào"]],
		"汛期": [["xùn"], ["qī"]],
		"殉教": [["xùn"], ["jiào"]],
		"殉节": [["xùn"], ["jié"]],
		"丫杈": [["yā"], ["chà"]],
		"殉难": [["xùn"], ["nàn"]],
		"压板": [["yà"], ["bǎn"]],
		"丫头": [["yā"], ["tou"]],
		"压场": [["yā"], ["chǎng"]],
		"压车": [["yā"], ["chē"]],
		"压秤": [["yā"], ["chèng"]],
		"压船": [["yā"], ["chuán"]],
		"压倒": [["yā"], ["dǎo"]],
		"压队": [["yā"], ["duì"]],
		"压顶": [["yā"], ["dǐng"]],
		"压服": [["yā"], ["fú"]],
		"压港": [["yā"], ["gǎng"]],
		"压光": [["yā"], ["guāng"]],
		"压货": [["yā"], ["huò"]],
		"压价": [["yā"], ["jià"]],
		"压惊": [["yā"], ["jīng"]],
		"压境": [["yā"], ["jìng"]],
		"压卷": [["yā"], ["juàn"]],
		"压力": [["yā"], ["lì"]],
		"压平": [["yā"], ["píng"]],
		"压迫": [["yā"], ["pò"]],
		"压气": [["yā"], ["qì"]],
		"压强": [["yā"], ["qiáng"]],
		"压缩": [["yā"], ["suō"]],
		"压台": [["yā"], ["tái"]],
		"压条": [["yā"], ["tiáo"]],
		"压头": [["yā"], ["tóu"]],
		"压痛": [["yā"], ["tòng"]],
		"压压": [["yā"], ["yā"]],
		"压腿": [["yā"], ["tuǐ"]],
		"压抑": [["yā"], ["yì"]],
		"压延": [["yā"], ["yán"]],
		"压榨": [["yā"], ["zhà"]],
		"压制": [["yā"], ["zhì"]],
		"压阵": [["yā"], ["zhèn"]],
		"压轴": [["yā"], ["zhòu"]],
		"押车": [["yā"], ["chē"]],
		"呀呀": [["yā"], ["yā"]],
		"押当": [["yā"], ["dàng"]],
		"押解": [["yā"], ["jiè"]],
		"押禁": [["yā"], ["jìn"]],
		"押头": [["yā"], ["tou"]],
		"押尾": [["yā"], ["wěi"]],
		"鸦片": [["yā"], ["piàn"]],
		"桠杈": [["yā"], ["chà"]],
		"桠枝": [["yā"], ["zhī"]],
		"牙缝": [["yá"], ["fèng"]],
		"牙膏": [["yá"], ["gāo"]],
		"牙石": [["yá"], ["shí"]],
		"牙龈": [["yá"], ["yín"]],
		"牙刷": [["yá"], ["shuā"]],
		"衙内": [["yá"], ["nèi"]],
		"哑巴": [["yǎ"], ["bā"]],
		"哑场": [["yǎ"], ["chǎng"]],
		"哑火": [["yǎ"], ["huǒ"]],
		"哑剧": [["yǎ"], ["jù"]],
		"哑口": [["yǎ"], ["kǒu"]],
		"哑铃": [["yǎ"], ["líng"]],
		"哑谜": [["yǎ"], ["mí"]],
		"哑炮": [["yǎ"], ["pào"]],
		"哑然": [["yǎ"], ["rán"]],
		"哑哑": [["yā"], ["yā"]],
		"哑语": [["yǎ"], ["yǔ"]],
		"雅称": [["yǎ"], ["chēng"]],
		"哑子": [["yǎ"], ["zǐ"]],
		"雅观": [["yǎ"], ["guān"]],
		"雅号": [["yǎ"], ["hào"]],
		"雅乐": [["yǎ"], ["yuè"]],
		"雅量": [["yǎ"], ["liàng"]],
		"雅趣": [["yǎ"], ["qù"]],
		"雅思": [["yǎ"], ["sī"]],
		"雅兴": [["yǎ"], ["xìng"]],
		"雅正": [["yǎ"], ["zhèng"]],
		"亚当": [["yà"], ["dāng"]],
		"咽喉": [["yān"], ["hóu"]],
		"咽气": [["yàn"], ["qì"]],
		"咽头": [["yān"], ["tóu"]],
		"咽炎": [["yān"], ["yán"]],
		"烟斗": [["yān"], ["dǒu"]],
		"烟毒": [["yān"], ["dú"]],
		"烟膏": [["yān"], ["gāo"]],
		"烟泡": [["yān"], ["pào"]],
		"烟卷": [["yān"], ["juàn"]],
		"烟头": [["yān"], ["tóu"]],
		"烟叶": [["yān"], ["yè"]],
		"烟熏": [["yān"], ["xūn"]],
		"烟雨": [["yān"], ["yǔ"]],
		"胭红": [["yān"], ["hóng"]],
		"淹埋": [["yān"], ["mái"]],
		"淹没": [["yān"], ["mò"]],
		"淹溺": [["yān"], ["nì"]],
		"湮没": [["yān"], ["mò"]],
		"湮灭": [["yān"], ["miè"]],
		"腌菜": [["yān"], ["cài"]],
		"腌肉": [["yān"], ["ròu"]],
		"腌臜": [["ā"], ["zā"]],
		"腌制": [["yān"], ["zhì"]],
		"嫣红": [["yān"], ["hóng"]],
		"腌渍": [["yān"], ["zì"]],
		"延长": [["yán"], ["cháng"]],
		"延搁": [["yán"], ["gē"]],
		"延期": [["yán"], ["qī"]],
		"严查": [["yán"], ["zhā"]],
		"严处": [["yán"], ["chǔ"]],
		"严禁": [["yán"], ["jìn"]],
		"严父": [["yán"], ["fù"]],
		"严苛": [["yán"], ["kē"]],
		"严令": [["yán"], ["lìng"]],
		"严正": [["yán"], ["zhèng"]],
		"严重": [["yán"], ["zhòng"]],
		"妍丽": [["yán"], ["lì"]],
		"芫花": [["yuán"], ["huā"]],
		"芫荽": [["yán"], ["sui"]],
		"言和": [["yán"], ["hé"]],
		"言传": [["yán"], ["chuán"]],
		"言教": [["yán"], ["jiào"]],
		"言论": [["yán"], ["lùn"]],
		"言说": [["yán"], ["shuō"]],
		"言语": [["yán"], ["yǔ"]],
		"言行": [["yán"], ["xíng"]],
		"言重": [["yán"], ["zhòng"]],
		"言中": [["yán"], ["zhōng"]],
		"岩浆": [["yán"], ["jiāng"]],
		"岩石": [["yán"], ["shí"]],
		"岩羊": [["yán"], ["yáng"]],
		"沿条": [["yán"], ["tiáo"]],
		"炎凉": [["yán"], ["liáng"]],
		"沿着": [["yán"], ["zhe"]],
		"炎症": [["yán"], ["zhèng"]],
		"研读": [["yán"], ["dú"]],
		"研究": [["yán"], ["jiū"]],
		"研磨": [["yán"], ["mó"]],
		"研拟": [["yán"], ["nǐ"]],
		"研求": [["yán"], ["qiú"]],
		"研判": [["yán"], ["pàn"]],
		"研讨": [["yán"], ["tǎo"]],
		"研析": [["yán"], ["xī"]],
		"研习": [["yán"], ["xí"]],
		"研制": [["yán"], ["zhì"]],
		"盐场": [["yán"], ["chǎng"]],
		"盐分": [["yán"], ["fèn"]],
		"檐头": [["yán"], ["tóu"]],
		"颜体": [["yán"], ["tǐ"]],
		"奄然": [["yǎn"], ["rán"]],
		"奄忽": [["yǎn"], ["hū"]],
		"衍射": [["yǎn"], ["shè"]],
		"奄奄": [["yǎn"], ["yǎn"]],
		"眼见": [["yǎn"], ["jiàn"]],
		"演化": [["yǎn"], ["huà"]],
		"演说": [["yǎn"], ["shuō"]],
		"演戏": [["yǎn"], ["xì"]],
		"演员": [["yǎn"], ["yuán"]],
		"厌恶": [["yàn"], ["wù"]],
		"砚石": [["yàn"], ["shí"]],
		"砚台": [["yàn"], ["tāi"]],
		"宴会": [["yàn"], ["huì"]],
		"宴乐": [["yàn"], ["lè"]],
		"艳称": [["yàn"], ["chēng"]],
		"艳服": [["yàn"], ["fú"]],
		"艳红": [["yàn"], ["hóng"]],
		"艳丽": [["yàn"], ["lì"]],
		"验查": [["yàn"], ["zhā"]],
		"验核": [["yàn"], ["hé"]],
		"验看": [["yàn"], ["kàn"]],
		"验票": [["yàn"], ["piào"]],
		"验血": [["yàn"], ["xuè"]],
		"雁行": [["yàn"], ["háng"]],
		"燕儿": [["yàn"], ["ér"]],
		"燕尔": [["yàn"], ["ěr"]],
		"燕京": [["yān"], ["jīng"]],
		"燕居": [["yàn"], ["jū"]],
		"燕麦": [["yān"], ["mài"]],
		"燕雀": [["yàn"], ["què"]],
		"燕山": [["yān"], ["shān"]],
		"燕尾": [["yàn"], ["wěi"]],
		"燕赵": [["yān"], ["zhào"]],
		"燕子": [["yàn"], ["zi"]],
		"燕窝": [["yàn"], ["wō"]],
		"扬长": [["yáng"], ["cháng"]],
		"扬场": [["yáng"], ["cháng"]],
		"羊肠": [["yáng"], ["cháng"]],
		"羊城": [["yáng"], ["chéng"]],
		"羊齿": [["yáng"], ["chǐ"]],
		"羊羔": [["yáng"], ["gāo"]],
		"羊羹": [["yáng"], ["gēng"]],
		"羊工": [["yáng"], ["gōng"]],
		"羊倌": [["yáng"], ["guān"]],
		"羊角": [["yáng"], ["jiǎo"]],
		"羊毛": [["yáng"], ["máo"]],
		"羊毫": [["yáng"], ["háo"]],
		"羊膜": [["yáng"], ["mó"]],
		"羊圈": [["yáng"], ["juàn"]],
		"羊水": [["yáng"], ["shuǐ"]],
		"羊桃": [["yáng"], ["táo"]],
		"羊头": [["yáng"], ["tóu"]],
		"羊脂": [["yáng"], ["zhī"]],
		"阳间": [["yáng"], ["jiān"]],
		"阳台": [["yáng"], ["tái"]],
		"佯称": [["yáng"], ["chēng"]],
		"洋场": [["yáng"], ["chǎng"]],
		"洋车": [["yáng"], ["chē"]],
		"洋服": [["yáng"], ["fú"]],
		"洋红": [["yáng"], ["hóng"]],
		"洋化": [["yáng"], ["huà"]],
		"洋相": [["yáng"], ["xiàng"]],
		"洋行": [["yáng"], ["háng"]],
		"仰承": [["yǎng"], ["chéng"]],
		"仰给": [["yǎng"], ["jǐ"]],
		"仰光": [["yǎng"], ["guāng"]],
		"仰角": [["yǎng"], ["jiǎo"]],
		"仰赖": [["yǎng"], ["lài"]],
		"仰面": [["yǎng"], ["miàn"]],
		"仰慕": [["yǎng"], ["mù"]],
		"仰视": [["yǎng"], ["shì"]],
		"仰首": [["yǎng"], ["shǒu"]],
		"仰天": [["yǎng"], ["tiān"]],
		"仰卧": [["yǎng"], ["wò"]],
		"仰望": [["yǎng"], ["wàng"]],
		"仰泳": [["yǎng"], ["yǒng"]],
		"仰仗": [["yǎng"], ["zhàng"]],
		"养分": [["yǎng"], ["fèn"]],
		"养父": [["yǎng"], ["fù"]],
		"养家": [["yǎng"], ["jiā"]],
		"养女": [["yǎng"], ["nǚ"]],
		"养畜": [["yǎng"], ["chù"]],
		"养殖": [["yǎng"], ["zhí"]],
		"氧化": [["yǎng"], ["huà"]],
		"样片": [["yàng"], ["piàn"]],
		"夭矫": [["yāo"], ["jiǎo"]],
		"夭折": [["yāo"], ["zhé"]],
		"夭亡": [["yāo"], ["wáng"]],
		"吆喝": [["yāo"], ["he"]],
		"妖风": [["yāo"], ["fēng"]],
		"妖女": [["yāo"], ["nǚ"]],
		"妖娆": [["yāo"], ["ráo"]],
		"妖术": [["yāo"], ["shù"]],
		"腰背": [["yāo"], ["bèi"]],
		"腰杆": [["yāo"], ["gǎn"]],
		"腰俞": [["yāo"], ["yú"]],
		"邀约": [["yāo"], ["yuē"]],
		"腰椎": [["yāo"], ["zhuī"]],
		"谣风": [["yáo"], ["fēng"]],
		"谣传": [["yáo"], ["chuán"]],
		"摇晃": [["yáo"], ["huàng"]],
		"摇头": [["yáo"], ["tóu"]],
		"摇椅": [["yáo"], ["yǐ"]],
		"遥远": [["yáo"], ["yuǎn"]],
		"繇役": [["yáo"], ["yì"]],
		"咬合": [["yǎo"], ["hé"]],
		"窈窕": [["yǎo"], ["tiǎo"]],
		"药厂": [["yào"], ["chǎng"]],
		"药单": [["yào"], ["dān"]],
		"药膏": [["yào"], ["gāo"]],
		"药捻": [["yào"], ["niǎn"]],
		"药片": [["yào"], ["piàn"]],
		"药石": [["yào"], ["shí"]],
		"药铺": [["yào"], ["pù"]],
		"药王": [["yào"], ["wáng"]],
		"要隘": [["yào"], ["ài"]],
		"要道": [["yào"], ["dào"]],
		"要不": [["yào"], ["bù"]],
		"要冲": [["yào"], ["chōng"]],
		"要得": [["yào"], ["de"]],
		"要地": [["yào"], ["dì"]],
		"要点": [["yào"], ["diǎn"]],
		"要端": [["yào"], ["duān"]],
		"要犯": [["yào"], ["fàn"]],
		"要饭": [["yào"], ["fàn"]],
		"要害": [["yào"], ["hài"]],
		"要谎": [["yào"], ["huǎng"]],
		"要好": [["yāo"], ["hǎo"]],
		"要击": [["yāo"], ["jī"]],
		"要件": [["yào"], ["jiàn"]],
		"要价": [["yào"], ["jià"]],
		"要津": [["yào"], ["jīn"]],
		"要紧": [["yào"], ["jǐn"]],
		"要诀": [["yào"], ["jué"]],
		"要览": [["yào"], ["lǎn"]],
		"要脸": [["yào"], ["liǎn"]],
		"要领": [["yào"], ["lǐng"]],
		"要路": [["yào"], ["lù"]],
		"要略": [["yào"], ["lüè"]],
		"要么": [["yào"], ["me"]],
		"要命": [["yào"], ["mìng"]],
		"要目": [["yào"], ["mù"]],
		"要钱": [["yào"], ["qián"]],
		"要强": [["yào"], ["qiáng"]],
		"要人": [["yào"], ["rén"]],
		"要求": [["yāo"], ["qiú"]],
		"要塞": [["yào"], ["sài"]],
		"要事": [["yào"], ["shì"]],
		"要是": [["yào"], ["shì"]],
		"要死": [["yào"], ["sǐ"]],
		"要素": [["yào"], ["sù"]],
		"要图": [["yào"], ["tú"]],
		"要位": [["yào"], ["wèi"]],
		"要闻": [["yào"], ["wén"]],
		"要挟": [["yāo"], ["xié"]],
		"要务": [["yào"], ["wù"]],
		"要言": [["yào"], ["yán"]],
		"要义": [["yào"], ["yì"]],
		"要员": [["yào"], ["yuán"]],
		"要约": [["yào"], ["yuē"]],
		"要则": [["yào"], ["zé"]],
		"要职": [["yào"], ["zhí"]],
		"要账": [["yào"], ["zhàng"]],
		"要旨": [["yào"], ["zhǐ"]],
		"要子": [["yào"], ["zǐ"]],
		"耶教": [["yē"], ["jiào"]],
		"耶稣": [["yē"], ["sū"]],
		"也罢": [["yě"], ["bà"]],
		"也好": [["yě"], ["hǎo"]],
		"也许": [["yě"], ["xǔ"]],
		"业大": [["yè"], ["dà"]],
		"叶柄": [["yè"], ["bǐng"]],
		"叶蜂": [["yè"], ["fēng"]],
		"叶猴": [["yè"], ["hóu"]],
		"叶轮": [["yè"], ["lún"]],
		"叶脉": [["yè"], ["mài"]],
		"叶面": [["yè"], ["miàn"]],
		"叶片": [["yè"], ["piàn"]],
		"叶鞘": [["yè"], ["qiào"]],
		"叶肉": [["yè"], ["ròu"]],
		"叶酸": [["yè"], ["suān"]],
		"叶序": [["yè"], ["xù"]],
		"叶叶": [["yè"], ["yè"]],
		"叶腋": [["yè"], ["yè"]],
		"叶韵": [["xié"], ["yùn"]],
		"叶枝": [["yè"], ["zhī"]],
		"叶子": [["yè"], ["zi"]],
		"夜叉": [["yè"], ["chā"]],
		"夜场": [["yè"], ["chǎng"]],
		"夜车": [["yè"], ["chē"]],
		"夜大": [["yè"], ["dà"]],
		"夜蛾": [["yè"], ["é"]],
		"夜分": [["yè"], ["fēn"]],
		"夜间": [["yè"], ["jiān"]],
		"夜禁": [["yè"], ["jìn"]],
		"夜景": [["yè"], ["jǐng"]],
		"夜空": [["yè"], ["kōng"]],
		"夜曲": [["yè"], ["qǔ"]],
		"夜校": [["yè"], ["xiào"]],
		"夜行": [["yè"], ["xíng"]],
		"腋臭": [["yè"], ["chòu"]],
		"一并": [["yī"], ["bìng"]],
		"一场": [["yī"], ["chǎng"]],
		"一朝": [["yī"], ["zhāo"]],
		"一撮": [["yī"], ["zuǒ"]],
		"一打": [["yī"], ["dǎ"]],
		"一得": [["yī"], ["de"]],
		"一度": [["yí"], ["dù"]],
		"一发": [["yī"], ["fà"]],
		"一番": [["yī"], ["fān"]],
		"一分": [["yī"], ["fēn"]],
		"一份": [["yī"], ["fèn"]],
		"一服": [["yī"], ["fù"]],
		"一干": [["yī"], ["gān"]],
		"一副": [["yī"], ["fù"]],
		"一个": [["yí"], ["gè"]],
		"一共": [["yī"], ["gòng"]],
		"一号": [["yī"], ["hào"]],
		"一晃": [["yī"], ["huǎng"]],
		"一家": [["yī"], ["jiā"]],
		"一会": [["yī"], ["huì"]],
		"一卷": [["yī"], ["juàn"]],
		"一觉": [["yī"], ["jiào"]],
		"一片": [["yī"], ["piàn"]],
		"一期": [["yī"], ["qī"]],
		"一齐": [["yī"], ["qí"]],
		"一切": [["yī"], ["qiè"]],
		"一任": [["yī"], ["rèn"]],
		"一似": [["yī"], ["sì"]],
		"一宿": [["yī"], ["xiǔ"]],
		"一体": [["yī"], ["tǐ"]],
		"一条": [["yī"], ["tiáo"]],
		"一同": [["yī"], ["tóng"]],
		"一头": [["yī"], ["tóu"]],
		"一些": [["yī"], ["xiē"]],
		"一行": [["yī"], ["xíng"]],
		"一应": [["yī"], ["yīng"]],
		"一种": [["yī"], ["zhǒng"]],
		"伊吾": [["yī"], ["wú"]],
		"衣蛾": [["yī"], ["é"]],
		"衣分": [["yī"], ["fēn"]],
		"衣服": [["yī"], ["fú"]],
		"衣冠": [["yì"], ["guān"]],
		"衣柜": [["yī"], ["guì"]],
		"衣裳": [["yī"], ["shang"]],
		"衣食": [["yī"], ["shí"]],
		"衣着": [["yī"], ["zhuó"]],
		"医家": [["yī"], ["jiā"]],
		"医术": [["yī"], ["shù"]],
		"依从": [["yī"], ["cóng"]],
		"依据": [["yī"], ["jù"]],
		"咿呀": [["yī"], ["yā"]],
		"依约": [["yī"], ["yuē"]],
		"仪节": [["yí"], ["jié"]],
		"怡和": [["yí"], ["hé"]],
		"迤逦": [["yǐ"], ["lǐ"]],
		"姨夫": [["yí"], ["fū"]],
		"姨父": [["yí"], ["fù"]],
		"遗毒": [["yí"], ["dú"]],
		"遗传": [["yí"], ["chuán"]],
		"遗风": [["yí"], ["fēng"]],
		"遗骨": [["yí"], ["gǔ"]],
		"遗落": [["yí"], ["luò"]],
		"遗尿": [["yí"], ["niào"]],
		"遗少": [["yí"], ["shào"]],
		"遗体": [["yí"], ["tǐ"]],
		"遗属": [["yí"], ["shǔ"]],
		"疑案": [["yí"], ["àn"]],
		"疑兵": [["yí"], ["bīng"]],
		"疑点": [["yí"], ["diǎn"]],
		"疑窦": [["yí"], ["dòu"]],
		"疑惑": [["yí"], ["huò"]],
		"疑忌": [["yí"], ["jì"]],
		"疑惧": [["yí"], ["jù"]],
		"疑虑": [["yí"], ["lǜ"]],
		"疑难": [["yí"], ["nán"]],
		"疑念": [["yí"], ["niàn"]],
		"疑团": [["yí"], ["tuán"]],
		"疑似": [["yí"], ["sì"]],
		"疑问": [["yí"], ["wèn"]],
		"疑心": [["yí"], ["xīn"]],
		"疑义": [["yí"], ["yì"]],
		"疑云": [["yí"], ["yún"]],
		"疑阵": [["yí"], ["zhèn"]],
		"以便": [["yǐ"], ["biàn"]],
		"以还": [["yǐ"], ["huán"]],
		"以内": [["yǐ"], ["nèi"]],
		"以期": [["yǐ"], ["qī"]],
		"以上": [["yǐ"], ["shàng"]],
		"以为": [["yǐ"], ["wéi"]],
		"迆逦": [["yǐ"], ["lǐ"]],
		"倚重": [["yǐ"], ["zhòng"]],
		"蚁王": [["yǐ"], ["wáng"]],
		"义女": [["yì"], ["nǚ"]],
		"义行": [["yì"], ["xíng"]],
		"亿万": [["yì"], ["wàn"]],
		"艺能": [["yì"], ["néng"]],
		"艺术": [["yì"], ["shù"]],
		"议长": [["yì"], ["cháng"]],
		"议场": [["yì"], ["chǎng"]],
		"议和": [["yì"], ["hé"]],
		"议会": [["yì"], ["huì"]],
		"议价": [["yì"], ["jià"]],
		"议论": [["yì"], ["lùn"]],
		"议员": [["yì"], ["yuán"]],
		"异地": [["yì"], ["dì"]],
		"异化": [["yì"], ["huà"]],
		"异读": [["yì"], ["dú"]],
		"异见": [["yì"], ["jiàn"]],
		"异教": [["yì"], ["jiào"]],
		"异能": [["yì"], ["néng"]],
		"异趣": [["yì"], ["qù"]],
		"异说": [["yì"], ["shuō"]],
		"异同": [["yì"], ["tóng"]],
		"佚失": [["yì"], ["shī"]],
		"佚文": [["yì"], ["wén"]],
		"役畜": [["yì"], ["xù"]],
		"呓语": [["yì"], ["yǔ"]],
		"译员": [["yì"], ["yuán"]],
		"译著": [["yì"], ["zhù"]],
		"易地": [["yì"], ["dì"]],
		"驿卒": [["yì"], ["zú"]],
		"疫疠": [["yì"], ["lì"]],
		"疫区": [["yì"], ["qū"]],
		"益处": [["yì"], ["chù"]],
		"益发": [["yì"], ["fā"]],
		"逸乐": [["yì"], ["lè"]],
		"意会": [["yì"], ["huì"]],
		"意见": [["yì"], ["jiàn"]],
		"意趣": [["yì"], ["qù"]],
		"意思": [["yì"], ["sī"]],
		"意识": [["yì"], ["shí"]],
		"意兴": [["yì"], ["xìng"]],
		"溢价": [["yì"], ["jià"]],
		"意中": [["yì"], ["zhōng"]],
		"翼侧": [["yì"], ["cè"]],
		"臆度": [["yì"], ["duó"]],
		"臆见": [["yì"], ["jiàn"]],
		"臆说": [["yì"], ["shuō"]],
		"因数": [["yīn"], ["shù"]],
		"因为": [["yīn"], ["wèi"]],
		"因应": [["yīn"], ["yìng"]],
		"阴毒": [["yīn"], ["dú"]],
		"阴风": [["yīn"], ["fēng"]],
		"阴干": [["yīn"], ["gàn"]],
		"阴核": [["yīn"], ["hé"]],
		"阴间": [["yīn"], ["jiān"]],
		"阴凉": [["yīn"], ["liáng"]],
		"阴模": [["yīn"], ["mó"]],
		"阴囊": [["yīn"], ["náng"]],
		"阴雨": [["yīn"], ["yǔ"]],
		"姻亲": [["yīn"], ["qīn"]],
		"荫庇": [["yìn"], ["bì"]],
		"荫蔽": [["yīn"], ["bì"]],
		"荫凉": [["yìn"], ["liáng"]],
		"音叉": [["yīn"], ["chā"]],
		"荫翳": [["yīn"], ["yì"]],
		"音调": [["yīn"], ["diào"]],
		"音读": [["yīn"], ["dú"]],
		"音乐": [["yīn"], ["yuè"]],
		"音节": [["yīn"], ["jié"]],
		"音量": [["yīn"], ["liàng"]],
		"音频": [["yīn"], ["pín"]],
		"音强": [["yīn"], ["qiáng"]],
		"音区": [["yīn"], ["qū"]],
		"殷富": [["yīn"], ["fù"]],
		"殷红": [["yān"], ["hóng"]],
		"音信": [["yīn"], ["xìn"]],
		"殷鉴": [["yīn"], ["jiàn"]],
		"殷切": [["yīn"], ["qiè"]],
		"殷勤": [["yīn"], ["qín"]],
		"殷商": [["yīn"], ["shāng"]],
		"殷实": [["yīn"], ["shí"]],
		"殷墟": [["yīn"], ["xū"]],
		"殷忧": [["yīn"], ["yōu"]],
		"殷殷": [["yīn"], ["yīn"]],
		"溵溜": [["yīn"], ["liū"]],
		"吟哦": [["yín"], ["é"]],
		"淫雨": [["yín"], ["yǔ"]],
		"引发": [["yǐn"], ["fā"]],
		"引得": [["yǐn"], ["de"]],
		"引号": [["yǐn"], ["hào"]],
		"引见": [["yǐn"], ["jiàn"]],
		"引颈": [["yǐn"], ["jǐng"]],
		"引信": [["yǐn"], ["xìn"]],
		"引语": [["yǐn"], ["yǔ"]],
		"引种": [["yǐn"], ["zhǒng"]],
		"吲哚": [["yǐn"], ["duǒ"]],
		"饮弹": [["yǐn"], ["dàn"]],
		"饮食": [["yǐn"], ["shí"]],
		"饮片": [["yǐn"], ["piàn"]],
		"隐蔽": [["yǐn"], ["bì"]],
		"瘾头": [["yǐn"], ["tóu"]],
		"印发": [["yìn"], ["fā"]],
		"印度": [["yìn"], ["dù"]],
		"印泥": [["yìn"], ["ní"]],
		"印刷": [["yìn"], ["shuā"]],
		"印台": [["yìn"], ["tái"]],
		"印纹": [["yìn"], ["wén"]],
		"印信": [["yìn"], ["xìn"]],
		"印行": [["yìn"], ["xíng"]],
		"应变": [["yìng"], ["biàn"]],
		"应承": [["yìng"], ["chéng"]],
		"应酬": [["yìng"], ["chóu"]],
		"应从": [["yìng"], ["cóng"]],
		"应当": [["yīng"], ["dāng"]],
		"应得": [["yīng"], ["de"]],
		"应答": [["yìng"], ["dá"]],
		"应对": [["yìng"], ["duì"]],
		"应敌": [["yìng"], ["dí"]],
		"应付": [["yìng"], ["fù"]],
		"应分": [["yīng"], ["fèn"]],
		"应和": [["yìng"], ["hè"]],
		"应急": [["yìng"], ["jí"]],
		"应该": [["yīng"], ["gāi"]],
		"应接": [["yìng"], ["jiē"]],
		"应举": [["yìng"], ["jǔ"]],
		"应届": [["yīng"], ["jiè"]],
		"应景": [["yìng"], ["jǐng"]],
		"应卯": [["yìng"], ["mǎo"]],
		"应考": [["yìng"], ["kǎo"]],
		"应募": [["yìng"], ["mù"]],
		"应门": [["yìng"], ["mén"]],
		"应诺": [["yìng"], ["nuò"]],
		"应聘": [["yìng"], ["pìn"]],
		"应声": [["yīng"], ["shēng"]],
		"应时": [["yìng"], ["shí"]],
		"应市": [["yìng"], ["shì"]],
		"应试": [["yìng"], ["shì"]],
		"应手": [["yìng"], ["shǒu"]],
		"应许": [["yīng"], ["xǔ"]],
		"应选": [["yìng"], ["xuǎn"]],
		"应验": [["yìng"], ["yàn"]],
		"应邀": [["yìng"], ["yāo"]],
		"应用": [["yìng"], ["yòng"]],
		"应有": [["yīng"], ["yǒu"]],
		"应约": [["yìng"], ["yuē"]],
		"应允": [["yīng"], ["yǔn"]],
		"应战": [["yìng"], ["zhàn"]],
		"应运": [["yìng"], ["yùn"]],
		"应召": [["yìng"], ["zhào"]],
		"应诊": [["yìng"], ["zhěn"]],
		"应征": [["yìng"], ["zhēng"]],
		"应徵": [["yìng"], ["zhǐ"]],
		"应制": [["yìng"], ["zhì"]],
		"英尺": [["yīng"], ["chǐ"]],
		"英华": [["yīng"], ["huá"]],
		"英石": [["yīng"], ["shí"]],
		"英语": [["yīng"], ["yǔ"]],
		"莺语": [["yīng"], ["yǔ"]],
		"迎风": [["yíng"], ["fēng"]],
		"迎合": [["yíng"], ["hé"]],
		"鹰爪": [["yīng"], ["zhǎo"]],
		"迎亲": [["yíng"], ["qīn"]],
		"迎头": [["yíng"], ["tóu"]],
		"茔地": [["yíng"], ["dì"]],
		"荥阳": [["xíng"], ["yáng"]],
		"荧屏": [["yíng"], ["píng"]],
		"赢得": [["yíng"], ["de"]],
		"蝇头": [["yíng"], ["tóu"]],
		"赢家": [["yíng"], ["jiā"]],
		"瀛台": [["yíng"], ["tái"]],
		"影调": [["yǐng"], ["diào"]],
		"影片": [["yǐng"], ["piān"]],
		"影区": [["yǐng"], ["qū"]],
		"影戏": [["yǐng"], ["xì"]],
		"影射": [["yǐng"], ["shè"]],
		"映射": [["yìng"], ["shè"]],
		"佣工": [["yōng"], ["gōng"]],
		"佣金": [["yòng"], ["jīn"]],
		"佣钱": [["yòng"], ["qián"]],
		"佣人": [["yōng"], ["rén"]],
		"拥塞": [["yōng"], ["sè"]],
		"拥有": [["yōng"], ["yǒu"]],
		"庸碌": [["yōng"], ["lù"]],
		"雍和": [["yōng"], ["hé"]],
		"雍正": [["yōng"], ["zhèng"]],
		"壅塞": [["yōng"], ["sè"]],
		"永别": [["yǒng"], ["bié"]],
		"永宁": [["yǒng"], ["níng"]],
		"永远": [["yǒng"], ["yuǎn"]],
		"勇夫": [["yǒng"], ["fū"]],
		"涌出": [["yǒng"], ["chū"]],
		"涌进": [["yǒng"], ["jìn"]],
		"涌浪": [["yǒng"], ["làng"]],
		"涌流": [["yǒng"], ["liú"]],
		"涌泉": [["yǒng"], ["quán"]],
		"涌现": [["yǒng"], ["xiàn"]],
		"蛹期": [["yǒng"], ["qī"]],
		"用场": [["yòng"], ["chǎng"]],
		"用处": [["yòng"], ["chǔ"]],
		"用度": [["yòng"], ["dù"]],
		"用劲": [["yòng"], ["jìn"]],
		"用语": [["yòng"], ["yǔ"]],
		"优待": [["yōu"], ["dài"]],
		"优化": [["yōu"], ["huà"]],
		"忧闷": [["yōu"], ["mèn"]],
		"优价": [["yōu"], ["jià"]],
		"忧思": [["yōu"], ["sī"]],
		"幽会": [["yōu"], ["huì"]],
		"幽禁": [["yōu"], ["jìn"]],
		"幽丽": [["yōu"], ["lì"]],
		"幽期": [["yōu"], ["qī"]],
		"幽思": [["yōu"], ["sī"]],
		"幽趣": [["yōu"], ["qù"]],
		"幽咽": [["yōu"], ["yè"]],
		"幽远": [["yōu"], ["yuǎn"]],
		"尤其": [["yóu"], ["qí"]],
		"由得": [["yóu"], ["de"]],
		"由头": [["yóu"], ["tou"]],
		"犹大": [["yóu"], ["dà"]],
		"犹若": [["yóu"], ["ruò"]],
		"犹疑": [["yóu"], ["nǐ"]],
		"邮差": [["yóu"], ["chāi"]],
		"邮车": [["yóu"], ["chē"]],
		"邮票": [["yóu"], ["piào"]],
		"油藏": [["yóu"], ["cáng"]],
		"油车": [["yóu"], ["chē"]],
		"油坊": [["yóu"], ["fáng"]],
		"油膏": [["yóu"], ["gāo"]],
		"油绿": [["yóu"], ["lǜ"]],
		"油泥": [["yóu"], ["ní"]],
		"油区": [["yóu"], ["qū"]],
		"油石": [["yóu"], ["shí"]],
		"油条": [["yóu"], ["tiáo"]],
		"柚木": [["yóu"], ["mù"]],
		"友好": [["yǒu"], ["hǎo"]],
		"有偿": [["yǒu"], ["cháng"]],
		"有成": [["yǒu"], ["chéng"]],
		"有道": [["yǒu"], ["dào"]],
		"有待": [["yǒu"], ["dài"]],
		"有得": [["yǒu"], ["de"]],
		"有德": [["yǒu"], ["dé"]],
		"有的": [["yǒu"], ["de"]],
		"有点": [["yǒu"], ["diǎn"]],
		"有底": [["yǒu"], ["dǐ"]],
		"有方": [["yǒu"], ["fāng"]],
		"有感": [["yǒu"], ["gǎn"]],
		"有关": [["yǒu"], ["guān"]],
		"有功": [["yǒu"], ["gōng"]],
		"有鬼": [["yǒu"], ["guǐ"]],
		"有害": [["yǒu"], ["hài"]],
		"有机": [["yǒu"], ["jī"]],
		"有恒": [["yǒu"], ["héng"]],
		"有节": [["yǒu"], ["jié"]],
		"有劲": [["yǒu"], ["jìn"]],
		"有旧": [["yǒu"], ["jiù"]],
		"有救": [["yǒu"], ["jiù"]],
		"有赖": [["yǒu"], ["lài"]],
		"有劳": [["yǒu"], ["láo"]],
		"有理": [["yǒu"], ["lǐ"]],
		"有力": [["yǒu"], ["lì"]],
		"有利": [["yǒu"], ["lì"]],
		"有脸": [["yǒu"], ["liǎn"]],
		"有零": [["yǒu"], ["líng"]],
		"有名": [["yǒu"], ["míng"]],
		"有年": [["yǒu"], ["nián"]],
		"有气": [["yǒu"], ["qì"]],
		"有钱": [["yǒu"], ["qián"]],
		"有情": [["yǒu"], ["qíng"]],
		"有顷": [["yǒu"], ["qǐng"]],
		"有请": [["yǒu"], ["qǐng"]],
		"有穷": [["yǒu"], ["qióng"]],
		"有趣": [["yǒu"], ["qù"]],
		"有染": [["yǒu"], ["rǎn"]],
		"有人": [["yǒu"], ["rén"]],
		"有如": [["yǒu"], ["rú"]],
		"有若": [["yǒu"], ["ruò"]],
		"有色": [["yǒu"], ["sè"]],
		"有神": [["yǒu"], ["shén"]],
		"有生": [["yǒu"], ["shēng"]],
		"有声": [["yǒu"], ["shēng"]],
		"有时": [["yǒu"], ["shí"]],
		"有识": [["yǒu"], ["shí"]],
		"有事": [["yǒu"], ["shì"]],
		"有数": [["yǒu"], ["shù"]],
		"有司": [["yǒu"], ["sī"]],
		"有望": [["yǒu"], ["wàng"]],
		"有为": [["yǒu"], ["wéi"]],
		"有味": [["yǒu"], ["wèi"]],
		"有无": [["yǒu"], ["wú"]],
		"有喜": [["yǒu"], ["xǐ"]],
		"有戏": [["yǒu"], ["xì"]],
		"有闲": [["yǒu"], ["xián"]],
		"有限": [["yǒu"], ["xiàn"]],
		"有效": [["yǒu"], ["xiào"]],
		"有些": [["yǒu"], ["xiē"]],
		"有心": [["yǒu"], ["xīn"]],
		"有幸": [["yǒu"], ["xìng"]],
		"有形": [["yǒu"], ["xíng"]],
		"有性": [["yǒu"], ["xìng"]],
		"有序": [["yǒu"], ["xù"]],
		"有言": [["yǒu"], ["yán"]],
		"有益": [["yǒu"], ["yì"]],
		"有意": [["yǒu"], ["yì"]],
		"有用": [["yǒu"], ["yòng"]],
		"有余": [["yǒu"], ["yú"]],
		"有缘": [["yǒu"], ["yuán"]],
		"有致": [["yǒu"], ["zhì"]],
		"有志": [["yǒu"], ["zhì"]],
		"有种": [["yǒu"], ["zhǒng"]],
		"有着": [["yǒu"], ["zhe"]],
		"有罪": [["yǒu"], ["zuì"]],
		"右臂": [["yòu"], ["bì"]],
		"右侧": [["yòu"], ["cè"]],
		"右行": [["yòu"], ["xíng"]],
		"幼教": [["yòu"], ["jiào"]],
		"幼体": [["yòu"], ["tǐ"]],
		"佑助": [["yòu"], ["zhù"]],
		"诱供": [["yòu"], ["gòng"]],
		"诱发": [["yòu"], ["fā"]],
		"诱降": [["yòu"], ["xiáng"]],
		"诱迫": [["yòu"], ["pò"]],
		"诱掖": [["yòu"], ["yè"]],
		"迂论": [["yū"], ["lùn"]],
		"迂曲": [["yū"], ["qū"]],
		"淤泥": [["yū"], ["ní"]],
		"淤塞": [["yū"], ["sè"]],
		"淤血": [["yū"], ["xuè"]],
		"瘀血": [["yū"], ["xuè"]],
		"于思": [["yú"], ["sāi"]],
		"予以": [["yǔ"], ["yǐ"]],
		"余地": [["yú"], ["dì"]],
		"余毒": [["yú"], ["dú"]],
		"余风": [["yú"], ["fēng"]],
		"余角": [["yú"], ["jiǎo"]],
		"余量": [["yú"], ["liàng"]],
		"余切": [["yú"], ["qiē"]],
		"余数": [["yú"], ["shù"]],
		"余头": [["yú"], ["tóu"]],
		"余兴": [["yú"], ["xìng"]],
		"於菟": [["wū"], ["tú"]],
		"鱼叉": [["yú"], ["chā"]],
		"鱼刺": [["yú"], ["cì"]],
		"鱼肚": [["yú"], ["dǔ"]],
		"鱼片": [["yú"], ["piàn"]],
		"鱼漂": [["yú"], ["piāo"]],
		"鱼汤": [["yú"], ["tāng"]],
		"鱼头": [["yú"], ["tóu"]],
		"鱼尾": [["yú"], ["wěi"]],
		"鱼种": [["yú"], ["zhǒng"]],
		"鱼鲜": [["yú"], ["xiān"]],
		"俞允": [["yú"], ["yǔn"]],
		"娱乐": [["yú"], ["lè"]],
		"逾分": [["yú"], ["fèn"]],
		"逾期": [["yú"], ["qī"]],
		"愚见": [["yú"], ["jiàn"]],
		"愚氓": [["yú"], ["méng"]],
		"愚蒙": [["yú"], ["méng"]],
		"榆中": [["yú"], ["zhōng"]],
		"愚弄": [["yú"], ["nòng"]],
		"瑜伽": [["yú"], ["jiā"]],
		"舆论": [["yú"], ["lùn"]],
		"与共": [["yǔ"], ["gòng"]],
		"与会": [["yù"], ["huì"]],
		"与门": [["yǔ"], ["mén"]],
		"与其": [["yǔ"], ["qí"]],
		"与闻": [["yù"], ["wén"]],
		"伛偻": [["yǔ"], ["lǚ"]],
		"宇内": [["yǔ"], ["nèi"]],
		"羽冠": [["yǔ"], ["guān"]],
		"羽化": [["yǔ"], ["huà"]],
		"羽扇": [["yǔ"], ["shàn"]],
		"雨布": [["yǔ"], ["bù"]],
		"雨带": [["yǔ"], ["dài"]],
		"雨滴": [["yǔ"], ["dī"]],
		"雨点": [["yǔ"], ["diǎn"]],
		"雨季": [["yǔ"], ["jì"]],
		"雨脚": [["yǔ"], ["jiǎo"]],
		"雨具": [["yǔ"], ["jù"]],
		"雨涝": [["yǔ"], ["lào"]],
		"雨量": [["yǔ"], ["liàng"]],
		"雨露": [["yǔ"], ["lù"]],
		"雨幕": [["yǔ"], ["mù"]],
		"雨蓬": [["yǔ"], ["péng"]],
		"雨披": [["yǔ"], ["pī"]],
		"雨前": [["yǔ"], ["qián"]],
		"雨情": [["yǔ"], ["qíng"]],
		"雨区": [["yǔ"], ["qū"]],
		"雨伞": [["yǔ"], ["sǎn"]],
		"雨势": [["yǔ"], ["shì"]],
		"雨丝": [["yǔ"], ["sī"]],
		"雨凇": [["yǔ"], ["sōng"]],
		"雨水": [["yǔ"], ["shuǐ"]],
		"雨蛙": [["yǔ"], ["wā"]],
		"雨雾": [["yǔ"], ["wù"]],
		"雨鞋": [["yǔ"], ["xié"]],
		"雨靴": [["yǔ"], ["xuē"]],
		"雨燕": [["yǔ"], ["yàn"]],
		"雨意": [["yǔ"], ["yì"]],
		"雨衣": [["yǔ"], ["yī"]],
		"雨云": [["yǔ"], ["yún"]],
		"语病": [["yǔ"], ["bìng"]],
		"雨珠": [["yǔ"], ["zhū"]],
		"语词": [["yǔ"], ["cí"]],
		"语调": [["yǔ"], ["diào"]],
		"语法": [["yǔ"], ["fǎ"]],
		"语境": [["yǔ"], ["jìng"]],
		"语汇": [["yǔ"], ["huì"]],
		"语感": [["yǔ"], ["gǎn"]],
		"语句": [["yǔ"], ["jù"]],
		"语录": [["yǔ"], ["lù"]],
		"语气": [["yǔ"], ["qì"]],
		"语塞": [["yǔ"], ["sè"]],
		"语声": [["yǔ"], ["shēng"]],
		"语素": [["yǔ"], ["sù"]],
		"语态": [["yǔ"], ["tài"]],
		"语体": [["yǔ"], ["tǐ"]],
		"语文": [["yǔ"], ["wén"]],
		"语系": [["yǔ"], ["xì"]],
		"语序": [["yǔ"], ["xù"]],
		"语言": [["yǔ"], ["yán"]],
		"语意": [["yǔ"], ["yì"]],
		"语音": [["yǔ"], ["yīn"]],
		"语源": [["yǔ"], ["yuán"]],
		"语云": [["yǔ"], ["yún"]],
		"语族": [["yǔ"], ["zú"]],
		"语种": [["yǔ"], ["zhǒng"]],
		"玉佛": [["yù"], ["fó"]],
		"玉女": [["yù"], ["nǚ"]],
		"玉石": [["yù"], ["shí"]],
		"玉食": [["yù"], ["shí"]],
		"玉体": [["yù"], ["tǐ"]],
		"吁请": [["yù"], ["qǐng"]],
		"吁求": [["yù"], ["qiú"]],
		"吁吁": [["xū"], ["xū"]],
		"芋头": [["yù"], ["tou"]],
		"育种": [["yù"], ["zhǒng"]],
		"郁结": [["yù"], ["jié"]],
		"郁闷": [["yù"], ["mèn"]],
		"狱卒": [["yù"], ["zú"]],
		"浴场": [["yù"], ["chǎng"]],
		"浴佛": [["yù"], ["fó"]],
		"浴血": [["yù"], ["xuè"]],
		"预卜": [["yù"], ["bǔ"]],
		"预估": [["yù"], ["gū"]],
		"预见": [["yù"], ["jiàn"]],
		"预期": [["yù"], ["qī"]],
		"预行": [["yù"], ["xíng"]],
		"预压": [["yù"], ["yā"]],
		"预知": [["yù"], ["zhī"]],
		"预约": [["yù"], ["yuē"]],
		"域内": [["yù"], ["nèi"]],
		"愈发": [["yù"], ["fā"]],
		"愈合": [["yù"], ["hé"]],
		"豫见": [["yù"], ["jiàn"]],
		"鸢尾": [["yuān"], ["wěi"]],
		"冤仇": [["yuān"], ["chóu"]],
		"冤家": [["yuān"], ["jiā"]],
		"元朝": [["yuán"], ["cháo"]],
		"冤头": [["yuān"], ["tóu"]],
		"元曲": [["yuán"], ["qǔ"]],
		"员工": [["yuán"], ["gōng"]],
		"员额": [["yuán"], ["é"]],
		"员警": [["yuán"], ["jǐng"]],
		"员司": [["yuán"], ["sī"]],
		"员外": [["yuán"], ["wài"]],
		"园地": [["yuán"], ["dì"]],
		"园丁": [["yuán"], ["dīng"]],
		"原地": [["yuán"], ["dì"]],
		"原处": [["yuán"], ["chǔ"]],
		"原价": [["yuán"], ["jià"]],
		"原任": [["yuán"], ["rèn"]],
		"原浆": [["yuán"], ["jiāng"]],
		"原汤": [["yuán"], ["tāng"]],
		"原委": [["yuán"], ["wěi"]],
		"原著": [["yuán"], ["zhù"]],
		"圆场": [["yuán"], ["chǎng"]],
		"圆钢": [["yuán"], ["gāng"]],
		"圆号": [["yuán"], ["hào"]],
		"圆笼": [["yuán"], ["lóng"]],
		"圆圈": [["yuán"], ["quān"]],
		"缘簿": [["yuán"], ["bù"]],
		"源地": [["yuán"], ["dì"]],
		"源头": [["yuán"], ["tóu"]],
		"远别": [["yuǎn"], ["bié"]],
		"远程": [["yuǎn"], ["chéng"]],
		"远大": [["yuǎn"], ["dà"]],
		"远处": [["yuǎn"], ["chù"]],
		"远道": [["yuǎn"], ["dào"]],
		"远地": [["yuǎn"], ["dì"]],
		"远东": [["yuǎn"], ["dōng"]],
		"远渡": [["yuǎn"], ["dù"]],
		"远方": [["yuǎn"], ["fāng"]],
		"远房": [["yuǎn"], ["fáng"]],
		"远古": [["yuǎn"], ["gǔ"]],
		"远海": [["yuǎn"], ["hǎi"]],
		"远航": [["yuǎn"], ["háng"]],
		"远郊": [["yuǎn"], ["jiāo"]],
		"远见": [["yuǎn"], ["jiàn"]],
		"远近": [["yuǎn"], ["jìn"]],
		"远景": [["yuǎn"], ["jǐng"]],
		"远客": [["yuǎn"], ["kè"]],
		"远路": [["yuǎn"], ["lù"]],
		"远离": [["yuǎn"], ["lí"]],
		"远虑": [["yuǎn"], ["lǜ"]],
		"远略": [["yuǎn"], ["lüè"]],
		"远门": [["yuǎn"], ["mén"]],
		"远谋": [["yuǎn"], ["móu"]],
		"远亲": [["yuǎn"], ["qīn"]],
		"远期": [["yuǎn"], ["qī"]],
		"远涉": [["yuǎn"], ["shè"]],
		"远识": [["yuǎn"], ["shí"]],
		"远视": [["yuǎn"], ["shì"]],
		"远天": [["yuǎn"], ["tiān"]],
		"远逝": [["yuǎn"], ["shì"]],
		"远眺": [["yuǎn"], ["tiào"]],
		"远望": [["yuǎn"], ["wàng"]],
		"远途": [["yuǎn"], ["tú"]],
		"远销": [["yuǎn"], ["xiāo"]],
		"远行": [["yuǎn"], ["xíng"]],
		"远扬": [["yuǎn"], ["yáng"]],
		"远洋": [["yuǎn"], ["yáng"]],
		"远因": [["yuǎn"], ["yīn"]],
		"怨毒": [["yuàn"], ["dú"]],
		"怨女": [["yuàn"], ["nǚ"]],
		"院长": [["yuàn"], ["cháng"]],
		"院落": [["yuàn"], ["luò"]],
		"垸子": [["yuàn"], ["zǐ"]],
		"约定": [["yuē"], ["dìng"]],
		"约旦": [["yuē"], ["dàn"]],
		"约法": [["yuē"], ["fǎ"]],
		"约分": [["yuē"], ["fēn"]],
		"约稿": [["yuē"], ["gǎo"]],
		"约会": [["yuē"], ["huì"]],
		"约集": [["yuē"], ["jí"]],
		"约计": [["yuē"], ["jì"]],
		"约见": [["yuē"], ["jiàn"]],
		"约略": [["yuē"], ["lüè"]],
		"约摸": [["yuē"], ["mō"]],
		"约莫": [["yuē"], ["mò"]],
		"约期": [["yuē"], ["qī"]],
		"约请": [["yuē"], ["qǐng"]],
		"约束": [["yuē"], ["shù"]],
		"约数": [["yuē"], ["shù"]],
		"约同": [["yuē"], ["tóng"]],
		"月底": [["yuè"], ["dǐ"]],
		"约言": [["yuē"], ["yán"]],
		"月度": [["yuè"], ["dù"]],
		"月份": [["yuè"], ["fèn"]],
		"月华": [["yuè"], ["huá"]],
		"月令": [["yuè"], ["lìng"]],
		"月票": [["yuè"], ["piào"]],
		"月食": [["yuè"], ["shí"]],
		"月石": [["yuè"], ["shí"]],
		"月氏": [["ròu"], ["zhī"]],
		"月台": [["yuè"], ["tái"]],
		"月尾": [["yuè"], ["wěi"]],
		"月相": [["yuè"], ["xiàng"]],
		"月晕": [["yuè"], ["yùn"]],
		"岳父": [["yuè"], ["fù"]],
		"月中": [["yuè"], ["zhōng"]],
		"岳家": [["yuè"], ["jiā"]],
		"钥匙": [["yào"], ["shi"]],
		"悦服": [["yuè"], ["fú"]],
		"阅读": [["yuè"], ["dú"]],
		"阅卷": [["yuè"], ["juàn"]],
		"阅看": [["yuè"], ["kàn"]],
		"云和": [["yún"], ["hé"]],
		"云景": [["yún"], ["jǐng"]],
		"云量": [["yún"], ["liàng"]],
		"云岭": [["yún"], ["lǐng"]],
		"云南": [["yún"], ["nán"]],
		"云雀": [["yún"], ["què"]],
		"云散": [["yún"], ["sàn"]],
		"云梢": [["yún"], ["shāo"]],
		"云头": [["yún"], ["tóu"]],
		"云涌": [["yún"], ["yǒng"]],
		"云雨": [["yún"], ["yǔ"]],
		"匀称": [["yún"], ["chèn"]],
		"匀兑": [["yún"], ["duì"]],
		"匀和": [["yún"], ["hé"]],
		"匀溜": [["yún"], ["liū"]],
		"匀净": [["yún"], ["jìng"]],
		"匀浆": [["yún"], ["jiāng"]],
		"允当": [["yǔn"], ["dàng"]],
		"允许": [["yǔn"], ["xǔ"]],
		"陨落": [["yǔn"], ["luò"]],
		"陨石": [["yǔn"], ["shí"]],
		"孕期": [["yùn"], ["qī"]],
		"孕吐": [["yùn"], ["tù"]],
		"运单": [["yùn"], ["dān"]],
		"运价": [["yùn"], ["jià"]],
		"运量": [["yùn"], ["liàng"]],
		"运数": [["yùn"], ["shù"]],
		"运思": [["yùn"], ["sī"]],
		"运行": [["yùn"], ["xíng"]],
		"运载": [["yùn"], ["zài"]],
		"运转": [["yùn"], ["zhuàn"]],
		"晕场": [["yùn"], ["chǎng"]],
		"晕车": [["yùn"], ["chē"]],
		"晕池": [["yùn"], ["chí"]],
		"晕船": [["yùn"], ["chuán"]],
		"晕倒": [["yūn"], ["dǎo"]],
		"晕高": [["yùn"], ["gāo"]],
		"晕眩": [["yūn"], ["xuàn"]],
		"晕厥": [["yūn"], ["jué"]],
		"晕针": [["yùn"], ["zhēn"]],
		"韵调": [["yùn"], ["diào"]],
		"韵头": [["yùn"], ["tóu"]],
		"韵尾": [["yùn"], ["wěi"]],
		"熨斗": [["yùn"], ["dǒu"]],
		"熨帖": [["yù"], ["tiē"]],
		"韵语": [["yùn"], ["yǔ"]],
		"蕴藏": [["yùn"], ["cáng"]],
		"蕴结": [["yùn"], ["jié"]],
		"蕴藉": [["yùn"], ["jiè"]],
		"匝地": [["zā"], ["dì"]],
		"杂拌": [["zá"], ["bàn"]],
		"拶子": [["zǎn"], ["zǐ"]],
		"杂差": [["zá"], ["chà"]],
		"杂处": [["zá"], ["chǔ"]],
		"杂沓": [["zá"], ["tà"]],
		"杂家": [["zá"], ["jiā"]],
		"杂食": [["zá"], ["shí"]],
		"杂说": [["zá"], ["shuō"]],
		"杂症": [["zá"], ["zhèng"]],
		"杂种": [["zá"], ["zhǒng"]],
		"灾区": [["zāi"], ["qū"]],
		"灾难": [["zāi"], ["nàn"]],
		"栽倒": [["zāi"], ["dǎo"]],
		"栽种": [["zāi"], ["zhòng"]],
		"宰相": [["zǎi"], ["xiàng"]],
		"载波": [["zài"], ["bō"]],
		"载荷": [["zài"], ["hè"]],
		"载货": [["zài"], ["huò"]],
		"载频": [["zài"], ["pín"]],
		"载运": [["zài"], ["yùn"]],
		"载重": [["zài"], ["zhòng"]],
		"再不": [["zài"], ["bù"]],
		"再度": [["zài"], ["dù"]],
		"再分": [["zài"], ["fēn"]],
		"再会": [["zài"], ["huì"]],
		"再见": [["zài"], ["jiàn"]],
		"再说": [["zài"], ["shuō"]],
		"再行": [["zài"], ["xíng"]],
		"在场": [["zài"], ["chǎng"]],
		"在朝": [["zài"], ["cháo"]],
		"在教": [["zài"], ["jiào"]],
		"在家": [["zài"], ["jiā"]],
		"在内": [["zài"], ["nèi"]],
		"在任": [["zài"], ["rèn"]],
		"在行": [["zài"], ["háng"]],
		"咱家": [["zá"], ["jiā"]],
		"咱们": [["zán"], ["men"]],
		"攒动": [["cuán"], ["dòng"]],
		"攒盒": [["cuán"], ["hé"]],
		"攒集": [["cuán"], ["jí"]],
		"攒聚": [["cuán"], ["jù"]],
		"攒眉": [["cuán"], ["méi"]],
		"攒射": [["cuán"], ["shè"]],
		"攒钱": [["zǎn"], ["qián"]],
		"攒攒": [["zǎn"], ["zǎn"]],
		"攒竹": [["zǎn"], ["zhú"]],
		"暂行": [["zàn"], ["xíng"]],
		"赞同": [["zàn"], ["tóng"]],
		"赞许": [["zàn"], ["xǔ"]],
		"赞语": [["zàn"], ["yǔ"]],
		"赞助": [["zàn"], ["zhù"]],
		"臧否": [["zāng"], ["pǐ"]],
		"遭难": [["zāo"], ["nàn"]],
		"早场": [["zǎo"], ["chǎng"]],
		"早朝": [["zǎo"], ["cháo"]],
		"早车": [["zǎo"], ["chē"]],
		"早间": [["zǎo"], ["jiān"]],
		"早上": [["zǎo"], ["shàng"]],
		"早期": [["zǎo"], ["qī"]],
		"早衰": [["zǎo"], ["shuāi"]],
		"枣核": [["zǎo"], ["hé"]],
		"早知": [["zǎo"], ["zhī"]],
		"枣泥": [["zǎo"], ["ní"]],
		"蚤休": [["zǎo"], ["xiū"]],
		"藻思": [["zǎo"], ["sī"]],
		"枣红": [["zǎo"], ["hóng"]],
		"灶间": [["zào"], ["jiān"]],
		"灶台": [["zào"], ["tái"]],
		"灶头": [["zào"], ["tou"]],
		"皂角": [["zào"], ["jiǎo"]],
		"皂化": [["zào"], ["huà"]],
		"皂隶": [["zào"], ["lì"]],
		"造化": [["zào"], ["huà"]],
		"造价": [["zào"], ["jià"]],
		"造假": [["zào"], ["jiǎ"]],
		"造句": [["zào"], ["jù"]],
		"燥裂": [["zào"], ["liè"]],
		"则甚": [["zé"], ["shèn"]],
		"择菜": [["zhái"], ["cài"]],
		"择吉": [["zé"], ["jí"]],
		"择交": [["zé"], ["jiāo"]],
		"择日": [["zé"], ["rì"]],
		"择要": [["zé"], ["yào"]],
		"择席": [["zhái"], ["xí"]],
		"择优": [["zé"], ["yōu"]],
		"泽国": [["zé"], ["guó"]],
		"泽兰": [["zé"], ["lán"]],
		"泽泻": [["zé"], ["xiè"]],
		"责令": [["zé"], ["lìng"]],
		"责打": [["zé"], ["dǎ"]],
		"责难": [["zé"], ["nàn"]],
		"责任": [["zé"], ["rèn"]],
		"贼风": [["zéi"], ["fēng"]],
		"怎的": [["zěn"], ["de"]],
		"怎地": [["zěn"], ["dì"]],
		"怎么": [["zěn"], ["me"]],
		"曾经": [["céng"], ["jīng"]],
		"曾祖": [["zēng"], ["zǔ"]],
		"曾孙": [["zēng"], ["sūn"]],
		"增长": [["zēng"], ["zhǎng"]],
		"增大": [["zēng"], ["dà"]],
		"增广": [["zēng"], ["guǎng"]],
		"增量": [["zēng"], ["liàng"]],
		"增强": [["zēng"], ["qiáng"]],
		"增压": [["zēng"], ["yā"]],
		"增殖": [["zēng"], ["zhí"]],
		"增重": [["zēng"], ["zhòng"]],
		"憎恶": [["zēng"], ["wù"]],
		"赠别": [["zèng"], ["bié"]],
		"赠答": [["zèng"], ["dá"]],
		"赠予": [["zèng"], ["yǔ"]],
		"赠与": [["zèng"], ["yǔ"]],
		"咋呼": [["zhā"], ["hū"]],
		"咋舌": [["zé"], ["shé"]],
		"扎根": [["zhā"], ["gēn"]],
		"扎堆": [["zhā"], ["duī"]],
		"扎花": [["zhā"], ["huā"]],
		"扎染": [["zā"], ["rǎn"]],
		"扎手": [["zhā"], ["shǒu"]],
		"扎实": [["zhā"], ["shí"]],
		"扎眼": [["zhā"], ["yǎn"]],
		"扎营": [["zhā"], ["yíng"]],
		"扎扎": [["zhā"], ["zhā"]],
		"扎针": [["zhā"], ["zhēn"]],
		"扎挣": [["zhá"], ["zhēng"]],
		"轧场": [["yà"], ["chǎng"]],
		"轧钢": [["zhá"], ["gāng"]],
		"闸把": [["zhá"], ["bǎ"]],
		"乍看": [["zhà"], ["kàn"]],
		"诈唬": [["zhà"], ["hǔ"]],
		"诈称": [["zhà"], ["chēng"]],
		"诈语": [["zhà"], ["yǔ"]],
		"诈降": [["zhà"], ["xiáng"]],
		"栅极": [["shān"], ["jí"]],
		"栅栏": [["zhà"], ["lán"]],
		"栅门": [["zhà"], ["mén"]],
		"栅子": [["zhà"], ["zǐ"]],
		"炸弹": [["zhà"], ["dàn"]],
		"炸糕": [["zhá"], ["gāo"]],
		"炸锅": [["zhà"], ["guō"]],
		"炸毁": [["zhà"], ["huǐ"]],
		"炸酱": [["zhá"], ["jiàng"]],
		"炸雷": [["zhà"], ["léi"]],
		"炸裂": [["zhà"], ["liè"]],
		"炸破": [["zhà"], ["pò"]],
		"炸碎": [["zhà"], ["suì"]],
		"炸窝": [["zhà"], ["wō"]],
		"炸药": [["zhà"], ["yào"]],
		"斋期": [["zhāi"], ["qī"]],
		"摘发": [["zhāi"], ["fā"]],
		"摘要": [["zhāi"], ["yào"]],
		"宅地": [["zhái"], ["dì"]],
		"债券": [["zhài"], ["quàn"]],
		"沾化": [["zhān"], ["huà"]],
		"沾亲": [["zhān"], ["qīn"]],
		"粘结": [["nián"], ["jié"]],
		"谵语": [["zhān"], ["yǔ"]],
		"瞻仰": [["zhān"], ["yǎng"]],
		"展读": [["zhǎn"], ["dú"]],
		"展期": [["zhǎn"], ["qī"]],
		"展转": [["zhǎn"], ["zhuǎn"]],
		"辗转": [["zhǎn"], ["zhuǎn"]],
		"占卜": [["zhān"], ["bǔ"]],
		"占卦": [["zhān"], ["guà"]],
		"占地": [["zhàn"], ["dì"]],
		"占居": [["zhàn"], ["jū"]],
		"占据": [["zhàn"], ["jù"]],
		"占课": [["zhān"], ["kè"]],
		"占领": [["zhàn"], ["lǐng"]],
		"占理": [["zhàn"], ["lǐ"]],
		"占梦": [["zhān"], ["mèng"]],
		"占线": [["zhàn"], ["xiàn"]],
		"占先": [["zhàn"], ["xiān"]],
		"占星": [["zhān"], ["xīng"]],
		"占压": [["zhàn"], ["yā"]],
		"占用": [["zhàn"], ["yòng"]],
		"占有": [["zhàn"], ["yǒu"]],
		"战场": [["zhàn"], ["chǎng"]],
		"战车": [["zhàn"], ["chē"]],
		"战地": [["zhàn"], ["dì"]],
		"战将": [["zhàn"], ["jiàng"]],
		"战斗": [["zhàn"], ["dòu"]],
		"战区": [["zhàn"], ["qū"]],
		"战术": [["zhàn"], ["shù"]],
		"站长": [["zhàn"], ["zhǎng"]],
		"站票": [["zhàn"], ["piào"]],
		"站台": [["zhàn"], ["tái"]],
		"张榜": [["zhāng"], ["bǎng"]],
		"张大": [["zhāng"], ["dà"]],
		"涨潮": [["zhǎng"], ["cháo"]],
		"涨风": [["zhǎng"], ["fēng"]],
		"涨价": [["zhǎng"], ["jià"]],
		"涨落": [["zhǎng"], ["luò"]],
		"涨钱": [["zhǎng"], ["qián"]],
		"涨水": [["zhǎng"], ["shuǐ"]],
		"丈夫": [["zhàng"], ["fū"]],
		"丈量": [["zhàng"], ["liáng"]],
		"帐簿": [["zhàng"], ["bù"]],
		"帐单": [["zhàng"], ["dān"]],
		"账簿": [["zhàng"], ["bù"]],
		"账单": [["zhàng"], ["dān"]],
		"瘴疠": [["zhàng"], ["lì"]],
		"账号": [["zhàng"], ["hào"]],
		"招待": [["zhāo"], ["dài"]],
		"招风": [["zhāo"], ["fēng"]],
		"招供": [["zhāo"], ["gòng"]],
		"招降": [["zhāo"], ["xiáng"]],
		"招徕": [["zhāo"], ["lái"]],
		"招亲": [["zhāo"], ["qīn"]],
		"招数": [["zhāo"], ["shù"]],
		"昭苏": [["zhāo"], ["sū"]],
		"昭著": [["zhāo"], ["zhù"]],
		"啁啾": [["zhōu"], ["jiū"]],
		"找碴": [["zhǎo"], ["chá"]],
		"找齐": [["zhǎo"], ["qí"]],
		"找头": [["zhǎo"], ["tou"]],
		"沼地": [["zhǎo"], ["dì"]],
		"沼泽": [["zhǎo"], ["zé"]],
		"召唤": [["zhào"], ["huàn"]],
		"召回": [["zhào"], ["huí"]],
		"召祸": [["zhào"], ["huò"]],
		"召集": [["zhào"], ["jí"]],
		"召见": [["zhào"], ["jiàn"]],
		"召开": [["zhào"], ["kāi"]],
		"召募": [["zhào"], ["mù"]],
		"兆头": [["zhào"], ["tou"]],
		"诏令": [["zhào"], ["lìng"]],
		"赵体": [["zhào"], ["tǐ"]],
		"照度": [["zhào"], ["dù"]],
		"照发": [["zhào"], ["fā"]],
		"照拂": [["zhào"], ["fú"]],
		"照会": [["zhào"], ["huì"]],
		"照见": [["zhào"], ["jiàn"]],
		"照看": [["zhào"], ["kàn"]],
		"照片": [["zhào"], ["piān"]],
		"照射": [["zhào"], ["shè"]],
		"照说": [["zhào"], ["shuō"]],
		"照相": [["zhào"], ["xiàng"]],
		"照应": [["zhào"], ["yìng"]],
		"遮藏": [["zhē"], ["cáng"]],
		"遮挡": [["zhē"], ["dǎng"]],
		"遮盖": [["zhē"], ["gài"]],
		"遮瞒": [["zhē"], ["mán"]],
		"遮荫": [["zhē"], ["yīn"]],
		"折半": [["zhé"], ["bàn"]],
		"折本": [["shé"], ["běn"]],
		"折变": [["zhé"], ["biàn"]],
		"折秤": [["shé"], ["chèng"]],
		"折尺": [["zhé"], ["chǐ"]],
		"折冲": [["zhé"], ["chōng"]],
		"折刀": [["zhé"], ["dāo"]],
		"折叠": [["zhé"], ["dié"]],
		"折断": [["zhé"], ["duàn"]],
		"折兑": [["zhé"], ["duì"]],
		"折堕": [["shé"], ["duò"]],
		"折返": [["zhé"], ["fǎn"]],
		"折服": [["zhé"], ["fú"]],
		"折福": [["zhé"], ["fú"]],
		"折桂": [["zhé"], ["guì"]],
		"折光": [["zhé"], ["guāng"]],
		"折耗": [["shé"], ["hào"]],
		"折合": [["zhé"], ["hé"]],
		"折痕": [["zhé"], ["hén"]],
		"折回": [["zhé"], ["huí"]],
		"折价": [["zhé"], ["jià"]],
		"折旧": [["zhé"], ["jiù"]],
		"折扣": [["zhé"], ["kòu"]],
		"折磨": [["zhé"], ["mó"]],
		"折辱": [["shé"], ["rǔ"]],
		"折杀": [["zhé"], ["shā"]],
		"折扇": [["zhé"], ["shàn"]],
		"折射": [["zhé"], ["shè"]],
		"折寿": [["zhé"], ["shòu"]],
		"折损": [["shé"], ["sǔn"]],
		"折算": [["zhé"], ["suàn"]],
		"折腾": [["zhē"], ["téng"]],
		"折弯": [["zhé"], ["wān"]],
		"折头": [["zhé"], ["tou"]],
		"折线": [["zhé"], ["xiàn"]],
		"折腰": [["zhé"], ["yāo"]],
		"折页": [["zhé"], ["yè"]],
		"折椅": [["zhé"], ["yǐ"]],
		"折账": [["zhé"], ["zhàng"]],
		"折枝": [["zhé"], ["zhī"]],
		"折纸": [["zhé"], ["zhǐ"]],
		"折中": [["zhé"], ["zhōng"]],
		"折皱": [["zhé"], ["zhòu"]],
		"折衷": [["shé"], ["zhōng"]],
		"折转": [["zhé"], ["zhuǎn"]],
		"折子": [["zhé"], ["zǐ"]],
		"哲思": [["zhé"], ["sī"]],
		"赭石": [["zhě"], ["shí"]],
		"这边": [["zhè"], ["biān"]],
		"这般": [["zhè"], ["bān"]],
		"这次": [["zhè"], ["cì"]],
		"这点": [["zhè"], ["diǎn"]],
		"这儿": [["zhè"], ["ér"]],
		"这个": [["zhè"], ["gè"]],
		"这么": [["zhè"], ["me"]],
		"这里": [["zhè"], ["lǐ"]],
		"这些": [["zhèi"], ["xiē"]],
		"这样": [["zhè"], ["yàng"]],
		"贞观": [["zhēn"], ["guān"]],
		"贞节": [["zhēn"], ["jié"]],
		"贞女": [["zhēn"], ["nǚ"]],
		"针刺": [["zhēn"], ["cì"]],
		"针头": [["zhēn"], ["tóu"]],
		"针叶": [["zhēn"], ["yè"]],
		"侦查": [["zhēn"], ["zhā"]],
		"针织": [["zhēn"], ["zhī"]],
		"侦缉": [["zhēn"], ["jī"]],
		"珍藏": [["zhēn"], ["cáng"]],
		"珍奇": [["zhēn"], ["qí"]],
		"珍摄": [["zhēn"], ["shè"]],
		"珍重": [["zhēn"], ["zhòng"]],
		"真传": [["zhēn"], ["chuán"]],
		"真个": [["zhēn"], ["gè"]],
		"真菌": [["zhēn"], ["jūn"]],
		"真空": [["zhēn"], ["kōng"]],
		"真切": [["zhēn"], ["qiè"]],
		"真数": [["zhēn"], ["shù"]],
		"真率": [["zhēn"], ["shuài"]],
		"真相": [["zhēn"], ["xiàng"]],
		"真正": [["zhēn"], ["zhèng"]],
		"真知": [["zhēn"], ["zhī"]],
		"甄别": [["zhēn"], ["bié"]],
		"诊脉": [["zhěn"], ["mài"]],
		"枕骨": [["zhěn"], ["gǔ"]],
		"枕藉": [["zhěn"], ["jiè"]],
		"枕头": [["zhěn"], ["tou"]],
		"阵地": [["zhèn"], ["dì"]],
		"阵发": [["zhèn"], ["fā"]],
		"阵亡": [["zhèn"], ["wáng"]],
		"阵风": [["zhèn"], ["fēng"]],
		"阵雨": [["zhèn"], ["yǔ"]],
		"鸩毒": [["zhèn"], ["dú"]],
		"振臂": [["zhèn"], ["bì"]],
		"振兴": [["zhèn"], ["xīng"]],
		"镇长": [["zhèn"], ["cháng"]],
		"镇尺": [["zhèn"], ["chǐ"]],
		"镇服": [["zhèn"], ["fú"]],
		"镇压": [["zhèn"], ["yā"]],
		"震颤": [["zhèn"], ["chàn"]],
		"震区": [["zhèn"], ["qū"]],
		"震中": [["zhèn"], ["zhōng"]],
		"争吵": [["zhēng"], ["chǎo"]],
		"争得": [["zhēng"], ["de"]],
		"争斗": [["zhēng"], ["dòu"]],
		"争论": [["zhēng"], ["lùn"]],
		"争强": [["zhēng"], ["qiáng"]],
		"争抢": [["zhēng"], ["qiǎng"]],
		"征调": [["zhēng"], ["diào"]],
		"征发": [["zhēng"], ["fā"]],
		"征夫": [["zhēng"], ["fū"]],
		"征服": [["zhēng"], ["fú"]],
		"征剿": [["zhēng"], ["jiǎo"]],
		"征召": [["zhēng"], ["zhào"]],
		"挣揣": [["zhèng"], ["chuài"]],
		"挣命": [["zhèng"], ["mìng"]],
		"挣钱": [["zhèng"], ["qián"]],
		"挣脱": [["zhèng"], ["tuō"]],
		"挣扎": [["zhēng"], ["zhá"]],
		"蒸发": [["zhēng"], ["fā"]],
		"蒸馏": [["zhēng"], ["liú"]],
		"蒸笼": [["zhēng"], ["lóng"]],
		"蒸散": [["zhēng"], ["sàn"]],
		"蒸食": [["zhēng"], ["shí"]],
		"整地": [["zhěng"], ["dì"]],
		"整个": [["zhěng"], ["gè"]],
		"整风": [["zhěng"], ["fēng"]],
		"整数": [["zhěng"], ["shù"]],
		"整齐": [["zhěng"], ["qí"]],
		"整宿": [["zhěng"], ["sù"]],
		"整体": [["zhěng"], ["tǐ"]],
		"整枝": [["zhěng"], ["zhī"]],
		"正本": [["zhèng"], ["běn"]],
		"正比": [["zhèng"], ["bǐ"]],
		"正步": [["zhèng"], ["bù"]],
		"正餐": [["zhèng"], ["cān"]],
		"正册": [["zhèng"], ["cè"]],
		"正常": [["zhèng"], ["cháng"]],
		"正传": [["zhèng"], ["zhuàn"]],
		"正出": [["zhèng"], ["chū"]],
		"正大": [["zhèng"], ["dà"]],
		"正旦": [["zhēng"], ["dàn"]],
		"正当": [["zhèng"], ["dāng"]],
		"正道": [["zhèng"], ["dào"]],
		"正德": [["zhèng"], ["dé"]],
		"正点": [["zhèng"], ["diǎn"]],
		"正电": [["zhèng"], ["diàn"]],
		"正殿": [["zhèng"], ["diàn"]],
		"正定": [["zhèng"], ["dìng"]],
		"正法": [["zhèng"], ["fǎ"]],
		"正犯": [["zhèng"], ["fàn"]],
		"正方": [["zhèng"], ["fāng"]],
		"正房": [["zhèng"], ["fáng"]],
		"正负": [["zhèng"], ["fù"]],
		"正告": [["zhèng"], ["gào"]],
		"正割": [["zhèng"], ["gē"]],
		"正格": [["zhèng"], ["gé"]],
		"正宫": [["zhèng"], ["gōng"]],
		"正骨": [["zhèng"], ["gǔ"]],
		"正规": [["zhèng"], ["guī"]],
		"正轨": [["zhèng"], ["guǐ"]],
		"正果": [["zhèng"], ["guǒ"]],
		"正好": [["zhèng"], ["hǎo"]],
		"正话": [["zhèng"], ["huà"]],
		"正号": [["zhèng"], ["hào"]],
		"正极": [["zhèng"], ["jí"]],
		"正见": [["zhèng"], ["jiàn"]],
		"正解": [["zhèng"], ["jiě"]],
		"正教": [["zhèng"], ["jiào"]],
		"正经": [["zhèng"], ["jīng"]],
		"正剧": [["zhèng"], ["jù"]],
		"正楷": [["zhèng"], ["kǎi"]],
		"正课": [["zhèng"], ["kè"]],
		"正理": [["zhèng"], ["lǐ"]],
		"正梁": [["zhèng"], ["liáng"]],
		"正路": [["zhèng"], ["lù"]],
		"正论": [["zhèng"], ["lùn"]],
		"正门": [["zhèng"], ["mén"]],
		"正面": [["zhèng"], ["miàn"]],
		"正名": [["zhèng"], ["míng"]],
		"正牌": [["zhèng"], ["pái"]],
		"正派": [["zhèng"], ["pài"]],
		"正片": [["zhèng"], ["piàn"]],
		"正品": [["zhèng"], ["pǐn"]],
		"正气": [["zhèng"], ["qì"]],
		"正巧": [["zhèng"], ["qiǎo"]],
		"正切": [["zhèng"], ["qiē"]],
		"正确": [["zhèng"], ["què"]],
		"正日": [["zhèng"], ["rì"]],
		"正色": [["zhèng"], ["sè"]],
		"正身": [["zhèng"], ["shēn"]],
		"正时": [["zhèng"], ["shí"]],
		"正史": [["zhèng"], ["shǐ"]],
		"正始": [["zhèng"], ["shǐ"]],
		"正式": [["zhèng"], ["shì"]],
		"正事": [["zhèng"], ["shì"]],
		"正视": [["zhèng"], ["shì"]],
		"正室": [["zhèng"], ["shì"]],
		"正是": [["zhèng"], ["shì"]],
		"正手": [["zhèng"], ["shǒu"]],
		"正书": [["zhèng"], ["shū"]],
		"正数": [["zhèng"], ["shù"]],
		"正朔": [["zhēng"], ["shuò"]],
		"正堂": [["zhèng"], ["táng"]],
		"正题": [["zhèng"], ["tí"]],
		"正体": [["zhèng"], ["tǐ"]],
		"正厅": [["zhèng"], ["tīng"]],
		"正统": [["zhèng"], ["tǒng"]],
		"正位": [["zhèng"], ["wèi"]],
		"正途": [["zhèng"], ["tú"]],
		"正文": [["zhèng"], ["wén"]],
		"正屋": [["zhèng"], ["wū"]],
		"正午": [["zhèng"], ["wǔ"]],
		"正误": [["zhèng"], ["wù"]],
		"正弦": [["zhèng"], ["xián"]],
		"正向": [["zhèng"], ["xiàng"]],
		"正行": [["zhèng"], ["xíng"]],
		"正像": [["zhèng"], ["xiàng"]],
		"正心": [["zhèng"], ["xīn"]],
		"正凶": [["zhèng"], ["xiōng"]],
		"正眼": [["zhèng"], ["yǎn"]],
		"正阳": [["zhèng"], ["yáng"]],
		"正盐": [["zhèng"], ["yán"]],
		"正要": [["zhèng"], ["yào"]],
		"正业": [["zhèng"], ["yè"]],
		"正音": [["zhèng"], ["yīn"]],
		"正义": [["zhèng"], ["yì"]],
		"正用": [["zhèng"], ["yòng"]],
		"正月": [["zhēng"], ["yuè"]],
		"正在": [["zhèng"], ["zài"]],
		"正则": [["zhèng"], ["zé"]],
		"正直": [["zhèng"], ["zhí"]],
		"正值": [["zhèng"], ["zhí"]],
		"正职": [["zhèng"], ["zhí"]],
		"正治": [["zhèng"], ["zhì"]],
		"正中": [["zhèng"], ["zhōng"]],
		"正字": [["zhèng"], ["zì"]],
		"正宗": [["zhèng"], ["zōng"]],
		"正座": [["zhèng"], ["zuò"]],
		"证见": [["zhèng"], ["jiàn"]],
		"证据": [["zhèng"], ["jù"]],
		"证券": [["zhèng"], ["quàn"]],
		"郑重": [["zhèng"], ["zhòng"]],
		"政纪": [["zhèng"], ["jì"]],
		"政见": [["zhèng"], ["jiàn"]],
		"政教": [["zhèng"], ["jiào"]],
		"政令": [["zhèng"], ["lìng"]],
		"政论": [["zhèng"], ["lùn"]],
		"政体": [["zhèng"], ["tǐ"]],
		"政委": [["zhèng"], ["wěi"]],
		"政要": [["zhèng"], ["yào"]],
		"症候": [["zhèng"], ["hòu"]],
		"症结": [["zhēng"], ["jié"]],
		"症状": [["zhèng"], ["zhuàng"]],
		"支差": [["zhī"], ["chāi"]],
		"支会": [["zhī"], ["huì"]],
		"支解": [["zhī"], ["jiě"]],
		"支棱": [["zhī"], ["léng"]],
		"支脉": [["zhī"], ["mài"]],
		"支那": [["zhī"], ["nà"]],
		"支票": [["zhī"], ["piào"]],
		"支渠": [["zhī"], ["qú"]],
		"支数": [["zhī"], ["shù"]],
		"支委": [["zhī"], ["wěi"]],
		"支吾": [["zhī"], ["wú"]],
		"支应": [["zhī"], ["yìng"]],
		"支助": [["zhī"], ["zhù"]],
		"吱扭": [["zī"], ["niǔ"]],
		"吱声": [["zhī"], ["shēng"]],
		"吱吱": [["zhī"], ["zhī"]],
		"枝杈": [["zhī"], ["chà"]],
		"枝干": [["zhī"], ["gàn"]],
		"枝接": [["zhī"], ["jiē"]],
		"枝节": [["zhī"], ["jié"]],
		"枝柯": [["zhī"], ["kē"]],
		"枝蔓": [["zhī"], ["wàn"]],
		"枝头": [["zhī"], ["tóu"]],
		"枝梢": [["zhī"], ["shāo"]],
		"枝条": [["zhī"], ["tiáo"]],
		"枝梧": [["zhī"], ["wú"]],
		"枝丫": [["zhī"], ["yā"]],
		"枝叶": [["zhī"], ["yè"]],
		"枝子": [["zhī"], ["zǐ"]],
		"知道": [["zhī"], ["dào"]],
		"知底": [["zhī"], ["dǐ"]],
		"知府": [["zhī"], ["fǔ"]],
		"知会": [["zhī"], ["huì"]],
		"知己": [["zhī"], ["jǐ"]],
		"知交": [["zhī"], ["jiāo"]],
		"知觉": [["zhī"], ["jué"]],
		"知了": [["zhī"], ["liǎo"]],
		"知名": [["zhī"], ["míng"]],
		"知命": [["zhī"], ["mìng"]],
		"知能": [["zhī"], ["néng"]],
		"知青": [["zhī"], ["qīng"]],
		"知情": [["zhī"], ["qíng"]],
		"知趣": [["zhī"], ["qù"]],
		"知人": [["zhī"], ["rén"]],
		"知识": [["zhī"], ["shí"]],
		"知事": [["zhī"], ["shì"]],
		"知悉": [["zhī"], ["xī"]],
		"知县": [["zhī"], ["xiàn"]],
		"知晓": [["zhī"], ["xiǎo"]],
		"知心": [["zhī"], ["xīn"]],
		"知音": [["zhī"], ["yīn"]],
		"知性": [["zhī"], ["xìng"]],
		"知友": [["zhī"], ["yǒu"]],
		"知遇": [["zhī"], ["yù"]],
		"知照": [["zhī"], ["zhào"]],
		"知者": [["zhī"], ["zhě"]],
		"织补": [["zhī"], ["bǔ"]],
		"知州": [["zhī"], ["zhōu"]],
		"知足": [["zhī"], ["zú"]],
		"织布": [["zhī"], ["bù"]],
		"织成": [["zhī"], ["chéng"]],
		"织花": [["zhī"], ["huā"]],
		"织机": [["zhī"], ["jī"]],
		"织锦": [["zhī"], ["jǐn"]],
		"织金": [["zhī"], ["jīn"]],
		"织女": [["zhī"], ["nǚ"]],
		"织品": [["zhī"], ["pǐn"]],
		"织物": [["zhī"], ["wù"]],
		"织造": [["zhī"], ["zào"]],
		"肢解": [["zhī"], ["jiě"]],
		"肢体": [["zhī"], ["tǐ"]],
		"执拗": [["zhí"], ["niù"]],
		"脂膏": [["zhī"], ["gāo"]],
		"执教": [["zhí"], ["jiào"]],
		"执泥": [["zhí"], ["ní"]],
		"执著": [["zhí"], ["zhuó"]],
		"执行": [["zhí"], ["xíng"]],
		"执着": [["zhí"], ["zhuó"]],
		"侄女": [["zhí"], ["nǚ"]],
		"侄孙": [["zhí"], ["sūn"]],
		"直尺": [["zhí"], ["chǐ"]],
		"直冲": [["zhí"], ["chōng"]],
		"直待": [["zhí"], ["dài"]],
		"直观": [["zhí"], ["guān"]],
		"直角": [["zhí"], ["jiǎo"]],
		"直觉": [["zhí"], ["jué"]],
		"直溜": [["zhí"], ["liū"]],
		"直率": [["zhí"], ["shuài"]],
		"直落": [["zhí"], ["luò"]],
		"直射": [["zhí"], ["shè"]],
		"直说": [["zhí"], ["shuō"]],
		"直系": [["zhí"], ["xì"]],
		"直行": [["zhí"], ["xíng"]],
		"直属": [["zhí"], ["shǔ"]],
		"值当": [["zhí"], ["dàng"]],
		"值得": [["zhí"], ["de"]],
		"止血": [["zhǐ"], ["xuè"]],
		"只此": [["zhī"], ["cǐ"]],
		"只当": [["zhǐ"], ["dāng"]],
		"只得": [["zhǐ"], ["de"]],
		"只顾": [["zhǐ"], ["gù"]],
		"只好": [["zhǐ"], ["hǎo"]],
		"只管": [["zhǐ"], ["guǎn"]],
		"只见": [["zhī"], ["jiàn"]],
		"只怕": [["zhǐ"], ["pà"]],
		"只能": [["zhǐ"], ["néng"]],
		"只身": [["zhī"], ["shēn"]],
		"只是": [["zhǐ"], ["shì"]],
		"只消": [["zhǐ"], ["xiāo"]],
		"只要": [["zhǐ"], ["yào"]],
		"只有": [["zhǐ"], ["yǒu"]],
		"只字": [["zhī"], ["zì"]],
		"旨趣": [["zhǐ"], ["qù"]],
		"旨要": [["zhǐ"], ["yào"]],
		"纸夹": [["zhǐ"], ["jiā"]],
		"纸浆": [["zhǐ"], ["jiāng"]],
		"纸捻": [["zhǐ"], ["niǎn"]],
		"纸票": [["zhǐ"], ["piào"]],
		"纸条": [["zhǐ"], ["tiáo"]],
		"咫尺": [["zhǐ"], ["chǐ"]],
		"指称": [["zhǐ"], ["chēng"]],
		"指缝": [["zhǐ"], ["féng"]],
		"指供": [["zhǐ"], ["gòng"]],
		"指教": [["zhǐ"], ["jiào"]],
		"指令": [["zhǐ"], ["lìng"]],
		"指节": [["zhǐ"], ["jié"]],
		"指南": [["zhǐ"], ["nán"]],
		"指数": [["zhǐ"], ["shù"]],
		"指头": [["zhǐ"], ["tou"]],
		"指纹": [["zhǐ"], ["wén"]],
		"指正": [["zhǐ"], ["zhèng"]],
		"枳壳": [["zhǐ"], ["ké"]],
		"至当": [["zhì"], ["dāng"]],
		"至好": [["zhì"], ["hǎo"]],
		"至亲": [["zhì"], ["qīn"]],
		"至若": [["zhì"], ["ruò"]],
		"至上": [["zhì"], ["shàng"]],
		"至少": [["zhì"], ["shǎo"]],
		"至为": [["zhì"], ["wéi"]],
		"至正": [["zhì"], ["zhèng"]],
		"志节": [["zhì"], ["jié"]],
		"志趣": [["zhì"], ["qù"]],
		"制度": [["zhì"], ["dù"]],
		"制服": [["zhì"], ["fú"]],
		"制约": [["zhì"], ["yuē"]],
		"治服": [["zhì"], ["fú"]],
		"治家": [["zhì"], ["jiā"]],
		"治丧": [["zhì"], ["sāng"]],
		"质地": [["zhì"], ["dì"]],
		"质量": [["zhì"], ["liàng"]],
		"质朴": [["zhì"], ["piáo"]],
		"质体": [["zhì"], ["tǐ"]],
		"质数": [["zhì"], ["shù"]],
		"质疑": [["zhì"], ["yí"]],
		"峙立": [["zhì"], ["lì"]],
		"贽见": [["zhì"], ["jiàn"]],
		"智囊": [["zhì"], ["náng"]],
		"智术": [["zhì"], ["shù"]],
		"置疑": [["zhì"], ["yí"]],
		"置信": [["zhì"], ["xìn"]],
		"中班": [["zhōng"], ["bān"]],
		"中饱": [["zhōng"], ["bǎo"]],
		"中保": [["zhōng"], ["bǎo"]],
		"中标": [["zhòng"], ["biāo"]],
		"中表": [["zhōng"], ["biǎo"]],
		"中波": [["zhōng"], ["bō"]],
		"中部": [["zhōng"], ["bù"]],
		"中彩": [["zhòng"], ["cǎi"]],
		"中餐": [["zhōng"], ["cān"]],
		"中策": [["zhōng"], ["cè"]],
		"中层": [["zhōng"], ["céng"]],
		"中产": [["zhōng"], ["chǎn"]],
		"中长": [["zhōng"], ["cháng"]],
		"中常": [["zhōng"], ["cháng"]],
		"中程": [["zhōng"], ["chéng"]],
		"中场": [["zhōng"], ["chǎng"]],
		"中辍": [["zhōng"], ["chuò"]],
		"中词": [["zhōng"], ["cí"]],
		"中弹": [["zhòng"], ["dàn"]],
		"中道": [["zhōng"], ["dào"]],
		"中稻": [["zhōng"], ["dào"]],
		"中的": [["zhōng"], ["de"]],
		"中等": [["zhōng"], ["děng"]],
		"中东": [["zhōng"], ["dōng"]],
		"中点": [["zhōng"], ["diǎn"]],
		"中都": [["zhōng"], ["dōu"]],
		"中毒": [["zhòng"], ["dú"]],
		"中度": [["zhōng"], ["dù"]],
		"中段": [["zhōng"], ["duàn"]],
		"中断": [["zhōng"], ["duàn"]],
		"中队": [["zhōng"], ["duì"]],
		"中耳": [["zhōng"], ["ěr"]],
		"中法": [["zhōng"], ["fǎ"]],
		"中幡": [["zhōng"], ["fān"]],
		"中饭": [["zhōng"], ["fàn"]],
		"中方": [["zhōng"], ["fāng"]],
		"中非": [["zhōng"], ["fēi"]],
		"中分": [["zhōng"], ["fēn"]],
		"中风": [["zhòng"], ["fēng"]],
		"中封": [["zhōng"], ["fēng"]],
		"中锋": [["zhōng"], ["fēng"]],
		"中缝": [["zhōng"], ["fèng"]],
		"中伏": [["zhōng"], ["fú"]],
		"中服": [["zhōng"], ["fú"]],
		"中府": [["zhōng"], ["fǔ"]],
		"中耕": [["zhōng"], ["gēng"]],
		"中古": [["zhōng"], ["gǔ"]],
		"中共": [["zhōng"], ["gòng"]],
		"中国": [["zhōng"], ["guó"]],
		"中号": [["zhōng"], ["hào"]],
		"中和": [["zhōng"], ["hé"]],
		"中华": [["zhōng"], ["huá"]],
		"中黄": [["zhōng"], ["huáng"]],
		"中级": [["zhōng"], ["jí"]],
		"中极": [["zhōng"], ["jí"]],
		"中计": [["zhòng"], ["jì"]],
		"中技": [["zhōng"], ["jì"]],
		"忠骨": [["zhōng"], ["gǔ"]],
		"忠仆": [["zhōng"], ["pú"]],
		"忠信": [["zhōng"], ["xìn"]],
		"终场": [["zhōng"], ["chǎng"]],
		"终将": [["zhōng"], ["jiāng"]],
		"终结": [["zhōng"], ["jié"]],
		"终了": [["zhōng"], ["liǎo"]],
		"钟头": [["zhōng"], ["tóu"]],
		"衷曲": [["zhōng"], ["qǔ"]],
		"肿大": [["zhǒng"], ["dà"]],
		"种别": [["zhǒng"], ["bié"]],
		"种菜": [["zhòng"], ["cài"]],
		"种草": [["zhǒng"], ["cǎo"]],
		"种差": [["zhǒng"], ["chà"]],
		"种蛋": [["zhǒng"], ["dàn"]],
		"种地": [["zhòng"], ["dì"]],
		"种痘": [["zhòng"], ["dòu"]],
		"种花": [["zhòng"], ["huā"]],
		"种类": [["zhǒng"], ["lèi"]],
		"种麻": [["zhǒng"], ["má"]],
		"种马": [["zhǒng"], ["mǎ"]],
		"种牛": [["zhòng"], ["niú"]],
		"种禽": [["zhǒng"], ["qín"]],
		"种群": [["zhǒng"], ["qún"]],
		"种树": [["zhòng"], ["shù"]],
		"种系": [["zhǒng"], ["xì"]],
		"种姓": [["zhǒng"], ["xìng"]],
		"种田": [["zhòng"], ["tián"]],
		"种畜": [["zhǒng"], ["chù"]],
		"种植": [["zhòng"], ["zhí"]],
		"种种": [["zhǒng"], ["zhǒng"]],
		"种籽": [["zhǒng"], ["zǐ"]],
		"种子": [["zhǒng"], ["zi"]],
		"仲家": [["zhòng"], ["jiā"]],
		"种族": [["zhǒng"], ["zú"]],
		"仲孙": [["zhòng"], ["sūn"]],
		"众数": [["zhòng"], ["shù"]],
		"众说": [["zhòng"], ["shuō"]],
		"重版": [["chóng"], ["bǎn"]],
		"重办": [["zhòng"], ["bàn"]],
		"重臂": [["zhòng"], ["bì"]],
		"重兵": [["zhòng"], ["bīng"]],
		"重播": [["chóng"], ["bō"]],
		"重彩": [["zhòng"], ["cǎi"]],
		"重茬": [["zhòng"], ["chá"]],
		"重唱": [["chóng"], ["chàng"]],
		"重臣": [["zhòng"], ["chén"]],
		"重惩": [["zhòng"], ["chéng"]],
		"重创": [["zhòng"], ["chuāng"]],
		"重出": [["chóng"], ["chū"]],
		"重大": [["zhòng"], ["dà"]],
		"重担": [["zhòng"], ["dàn"]],
		"重弹": [["chóng"], ["tán"]],
		"重地": [["zhòng"], ["dì"]],
		"重典": [["zhòng"], ["diǎn"]],
		"重点": [["zhòng"], ["diǎn"]],
		"重迭": [["zhòng"], ["dié"]],
		"重叠": [["chóng"], ["dié"]],
		"重读": [["zhòng"], ["dú"]],
		"重罚": [["zhòng"], ["fá"]],
		"重返": [["chóng"], ["fǎn"]],
		"重犯": [["chóng"], ["fàn"]],
		"重逢": [["chóng"], ["féng"]],
		"重负": [["zhòng"], ["fù"]],
		"重复": [["chóng"], ["fù"]],
		"重工": [["zhòng"], ["gōng"]],
		"重光": [["chóng"], ["guāng"]],
		"重合": [["chóng"], ["hé"]],
		"重荷": [["zhòng"], ["hè"]],
		"重话": [["zhòng"], ["huà"]],
		"重婚": [["chóng"], ["hūn"]],
		"重活": [["zhòng"], ["huó"]],
		"重价": [["zhòng"], ["jià"]],
		"重建": [["chóng"], ["jiàn"]],
		"重金": [["zhòng"], ["jīn"]],
		"重九": [["chóng"], ["jiǔ"]],
		"重聚": [["chóng"], ["jù"]],
		"重力": [["zhòng"], ["lì"]],
		"重利": [["zhòng"], ["lì"]],
		"重量": [["zhòng"], ["liàng"]],
		"重名": [["zhòng"], ["míng"]],
		"重楼": [["zhòng"], ["lóu"]],
		"重拍": [["chóng"], ["pāi"]],
		"重炮": [["zhòng"], ["pào"]],
		"重氢": [["zhòng"], ["qīng"]],
		"重庆": [["chóng"], ["qìng"]],
		"重任": [["zhòng"], ["rèn"]],
		"重伤": [["zhòng"], ["shāng"]],
		"重赏": [["zhòng"], ["shǎng"]],
		"重设": [["zhòng"], ["shè"]],
		"重申": [["chóng"], ["shēn"]],
		"重审": [["chóng"], ["shěn"]],
		"重生": [["chóng"], ["shēng"]],
		"重视": [["zhòng"], ["shì"]],
		"重述": [["chóng"], ["shù"]],
		"重数": [["chóng"], ["shù"]],
		"重税": [["zhòng"], ["shuì"]],
		"重水": [["zhòng"], ["shuǐ"]],
		"重提": [["chóng"], ["tí"]],
		"重孙": [["chóng"], ["sūn"]],
		"重听": [["zhòng"], ["tīng"]],
		"重头": [["chóng"], ["tóu"]],
		"重托": [["zhòng"], ["tuō"]],
		"重望": [["zhòng"], ["wàng"]],
		"重围": [["chóng"], ["wéi"]],
		"重温": [["chóng"], ["wēn"]],
		"重物": [["zhòng"], ["wù"]],
		"重现": [["chóng"], ["xiàn"]],
		"重霄": [["chóng"], ["xiāo"]],
		"重孝": [["zhòng"], ["xiào"]],
		"重心": [["zhòng"], ["xīn"]],
		"重新": [["chóng"], ["xīn"]],
		"重行": [["chóng"], ["xíng"]],
		"重型": [["zhòng"], ["xíng"]],
		"重选": [["zhòng"], ["xuǎn"]],
		"重修": [["chóng"], ["xiū"]],
		"重压": [["zhòng"], ["yā"]],
		"重言": [["zhòng"], ["yán"]],
		"重檐": [["zhòng"], ["yán"]],
		"重演": [["chóng"], ["yǎn"]],
		"重阳": [["chóng"], ["yáng"]],
		"重洋": [["chóng"], ["yáng"]],
		"重要": [["zhòng"], ["yào"]],
		"重译": [["chóng"], ["yì"]],
		"重音": [["zhòng"], ["yīn"]],
		"重印": [["chóng"], ["yìn"]],
		"重影": [["chóng"], ["yǐng"]],
		"重映": [["chóng"], ["yìng"]],
		"重油": [["zhòng"], ["yóu"]],
		"重圆": [["chóng"], ["yuán"]],
		"重载": [["zhòng"], ["zài"]],
		"重责": [["zhòng"], ["zé"]],
		"重镇": [["zhòng"], ["zhèn"]],
		"重装": [["zhòng"], ["zhuāng"]],
		"重重": [["chóng"], ["chóng"]],
		"重子": [["zhòng"], ["zǐ"]],
		"重奏": [["chóng"], ["zòu"]],
		"重罪": [["zhòng"], ["zuì"]],
		"州长": [["zhōu"], ["zhǎng"]],
		"舟车": [["zhōu"], ["chē"]],
		"周长": [["zhōu"], ["cháng"]],
		"周会": [["zhōu"], ["huì"]],
		"周济": [["zhōu"], ["jì"]],
		"周期": [["zhōu"], ["qī"]],
		"周详": [["zhōu"], ["xiáng"]],
		"周旋": [["zhōu"], ["xuán"]],
		"周折": [["zhōu"], ["zhé"]],
		"周知": [["zhōu"], ["zhī"]],
		"周正": [["zhōu"], ["zhēng"]],
		"周转": [["zhōu"], ["zhuǎn"]],
		"轴衬": [["zhóu"], ["chèn"]],
		"轴承": [["zhóu"], ["chéng"]],
		"轴瓦": [["zhóu"], ["wǎ"]],
		"轴线": [["zhóu"], ["xiàn"]],
		"轴心": [["zhóu"], ["xīn"]],
		"轴子": [["zhóu"], ["zǐ"]],
		"咒语": [["zhòu"], ["yǔ"]],
		"皱缩": [["zhòu"], ["suō"]],
		"皱纹": [["zhòu"], ["wén"]],
		"骤降": [["zhòu"], ["jiàng"]],
		"骤雨": [["zhòu"], ["yǔ"]],
		"朱笔": [["zhū"], ["bǐ"]],
		"朱红": [["zhū"], ["hóng"]],
		"朱槿": [["zhū"], ["jǐn"]],
		"朱门": [["zhū"], ["mén"]],
		"朱诺": [["zhū"], ["nuò"]],
		"朱墨": [["zhū"], ["mò"]],
		"朱批": [["zhū"], ["pī"]],
		"朱漆": [["zhū"], ["qī"]],
		"朱雀": [["zhū"], ["què"]],
		"朱砂": [["zhū"], ["shā"]],
		"朱文": [["zhū"], ["wén"]],
		"朱熹": [["zhū"], ["xī"]],
		"珠蚌": [["zhū"], ["bàng"]],
		"珠被": [["zhū"], ["bèi"]],
		"诸葛": [["zhū"], ["gě"]],
		"诸侯": [["zhū"], ["hóu"]],
		"猪排": [["zhū"], ["pái"]],
		"竹杠": [["zhú"], ["gàng"]],
		"竹笼": [["zhú"], ["lóng"]],
		"竹节": [["zhú"], ["jié"]],
		"竹排": [["zhú"], ["pái"]],
		"竹叶": [["zhú"], ["yè"]],
		"烛台": [["zhú"], ["tái"]],
		"竹枝": [["zhú"], ["zhī"]],
		"逐个": [["zhú"], ["gè"]],
		"逐臭": [["zhú"], ["chòu"]],
		"逐渐": [["zhú"], ["jiàn"]],
		"逐句": [["zhú"], ["jù"]],
		"逐条": [["zhú"], ["tiáo"]],
		"主从": [["zhǔ"], ["cóng"]],
		"主调": [["zhǔ"], ["diào"]],
		"主干": [["zhǔ"], ["gàn"]],
		"主观": [["zhǔ"], ["guān"]],
		"主祭": [["zhǔ"], ["jì"]],
		"主家": [["zhǔ"], ["jiā"]],
		"主见": [["zhǔ"], ["jiàn"]],
		"主角": [["zhǔ"], ["jué"]],
		"主将": [["zhǔ"], ["jiàng"]],
		"主教": [["zhǔ"], ["jiào"]],
		"主句": [["zhǔ"], ["jù"]],
		"主任": [["zhǔ"], ["rèn"]],
		"主仆": [["zhǔ"], ["pú"]],
		"主上": [["zhǔ"], ["shàng"]],
		"主食": [["zhǔ"], ["shí"]],
		"主体": [["zhǔ"], ["tǐ"]],
		"主语": [["zhǔ"], ["yǔ"]],
		"主要": [["zhǔ"], ["yào"]],
		"主轴": [["zhǔ"], ["zhóu"]],
		"住地": [["zhù"], ["dì"]],
		"住处": [["zhù"], ["chù"]],
		"住读": [["zhù"], ["dú"]],
		"住家": [["zhù"], ["jiā"]],
		"住宿": [["zhù"], ["sù"]],
		"住校": [["zhù"], ["xiào"]],
		"助产": [["zhù"], ["chǎn"]],
		"助长": [["zhù"], ["zhǎng"]],
		"助词": [["zhù"], ["cí"]],
		"助耕": [["zhù"], ["gēng"]],
		"助工": [["zhù"], ["gōng"]],
		"助攻": [["zhù"], ["gōng"]],
		"助教": [["zhù"], ["jiào"]],
		"助力": [["zhù"], ["lì"]],
		"助理": [["zhù"], ["lǐ"]],
		"助跑": [["zhù"], ["pǎo"]],
		"助燃": [["zhù"], ["rán"]],
		"助威": [["zhù"], ["wēi"]],
		"助手": [["zhù"], ["shǒu"]],
		"助推": [["zhù"], ["tuī"]],
		"助兴": [["zhù"], ["xìng"]],
		"助学": [["zhù"], ["xué"]],
		"助益": [["zhù"], ["yì"]],
		"助研": [["zhù"], ["yán"]],
		"助战": [["zhù"], ["zhàn"]],
		"注解": [["zhù"], ["jiě"]],
		"助阵": [["zhù"], ["zhèn"]],
		"注射": [["zhù"], ["shè"]],
		"注重": [["zhù"], ["zhòng"]],
		"贮藏": [["zhù"], ["cáng"]],
		"驻地": [["zhù"], ["dì"]],
		"驻屯": [["zhù"], ["tún"]],
		"驻扎": [["zhù"], ["zhā"]],
		"柱石": [["zhù"], ["shí"]],
		"抓差": [["zhuā"], ["chāi"]],
		"抓斗": [["zhuā"], ["dòu"]],
		"爪儿": [["zhuǎ"], ["ér"]],
		"爪哇": [["zhǎo"], ["wā"]],
		"爪牙": [["zhǎo"], ["yá"]],
		"爪子": [["zhuǎ"], ["zǐ"]],
		"专差": [["zhuān"], ["chāi"]],
		"专长": [["zhuān"], ["cháng"]],
		"专车": [["zhuān"], ["chē"]],
		"专场": [["zhuān"], ["chǎng"]],
		"专柜": [["zhuān"], ["guì"]],
		"专号": [["zhuān"], ["hào"]],
		"专横": [["zhuān"], ["hèng"]],
		"专家": [["zhuān"], ["jiā"]],
		"专论": [["zhuān"], ["lùn"]],
		"专区": [["zhuān"], ["qū"]],
		"专任": [["zhuān"], ["rèn"]],
		"专有": [["zhuān"], ["yǒu"]],
		"专员": [["zhuān"], ["yuán"]],
		"专著": [["zhuān"], ["zhù"]],
		"砖厂": [["zhuān"], ["chǎng"]],
		"砖头": [["zhuān"], ["tóu"]],
		"转变": [["zhuǎn"], ["biàn"]],
		"转播": [["zhuǎn"], ["bō"]],
		"转产": [["zhuǎn"], ["chǎn"]],
		"转场": [["zhuǎn"], ["chǎng"]],
		"转车": [["zhuǎn"], ["chē"]],
		"转乘": [["zhuǎn"], ["chéng"]],
		"转船": [["zhuǎn"], ["chuán"]],
		"转导": [["zhuǎn"], ["dǎo"]],
		"转达": [["zhuǎn"], ["dá"]],
		"转道": [["zhuǎn"], ["dào"]],
		"转递": [["zhuǎn"], ["dì"]],
		"转调": [["zhuǎn"], ["diào"]],
		"转动": [["zhuàn"], ["dòng"]],
		"转发": [["zhuǎn"], ["fā"]],
		"转干": [["zhuǎn"], ["gàn"]],
		"转告": [["zhuǎn"], ["gào"]],
		"转换": [["zhuǎn"], ["huàn"]],
		"转化": [["zhuǎn"], ["huà"]],
		"转回": [["zhuǎn"], ["huí"]],
		"转机": [["zhuǎn"], ["jī"]],
		"转寄": [["zhuǎn"], ["jì"]],
		"转嫁": [["zhuǎn"], ["jià"]],
		"转交": [["zhuǎn"], ["jiāo"]],
		"转角": [["zhuǎn"], ["jiǎo"]],
		"转接": [["zhuǎn"], ["jiē"]],
		"转筋": [["zhuàn"], ["jīn"]],
		"转借": [["zhuǎn"], ["jiè"]],
		"转矩": [["zhuàn"], ["jǔ"]],
		"转科": [["zhuǎn"], ["kē"]],
		"转口": [["zhuǎn"], ["kǒu"]],
		"转脸": [["zhuǎn"], ["liǎn"]],
		"转捩": [["zhuǎn"], ["liè"]],
		"转炉": [["zhuàn"], ["lú"]],
		"转轮": [["zhuàn"], ["lún"]],
		"转卖": [["zhuǎn"], ["mài"]],
		"转门": [["zhuàn"], ["mén"]],
		"转磨": [["zhuàn"], ["mò"]],
		"转念": [["zhuǎn"], ["niàn"]],
		"转年": [["zhuǎn"], ["nián"]],
		"转盘": [["zhuǎn"], ["pán"]],
		"转圈": [["zhuàn"], ["quān"]],
		"转让": [["zhuǎn"], ["ràng"]],
		"转任": [["zhuǎn"], ["rèn"]],
		"转入": [["zhuǎn"], ["rù"]],
		"转身": [["zhuǎn"], ["shēn"]],
		"转生": [["zhuǎn"], ["shēng"]],
		"转世": [["zhuǎn"], ["shì"]],
		"转手": [["zhuǎn"], ["shǒu"]],
		"转述": [["zhuǎn"], ["shù"]],
		"转瞬": [["zhuǎn"], ["shùn"]],
		"转送": [["zhuǎn"], ["sòng"]],
		"转速": [["zhuàn"], ["sù"]],
		"转台": [["zhuàn"], ["tái"]],
		"转体": [["zhuǎn"], ["tǐ"]],
		"转头": [["zhuǎn"], ["tóu"]],
		"转托": [["zhuǎn"], ["tuō"]],
		"转弯": [["zhuǎn"], ["wān"]],
		"转文": [["zhuǎi"], ["wén"]],
		"转徙": [["zhuǎn"], ["xǐ"]],
		"转向": [["zhuǎn"], ["xiàng"]],
		"转写": [["zhuǎn"], ["xiě"]],
		"转行": [["zhuǎn"], ["háng"]],
		"转学": [["zhuǎn"], ["xué"]],
		"转眼": [["zhuǎn"], ["yǎn"]],
		"转业": [["zhuǎn"], ["yè"]],
		"转移": [["zhuǎn"], ["yí"]],
		"转义": [["zhuǎn"], ["yì"]],
		"转椅": [["zhuàn"], ["yǐ"]],
		"转译": [["zhuǎn"], ["yì"]],
		"转引": [["zhuǎn"], ["yǐn"]],
		"转悠": [["zhuàn"], ["yōu"]],
		"转圜": [["zhuǎn"], ["huán"]],
		"转运": [["zhuǎn"], ["yùn"]],
		"转赠": [["zhuǎn"], ["zèng"]],
		"转载": [["zhuǎn"], ["zǎi"]],
		"转战": [["zhuǎn"], ["zhàn"]],
		"转帐": [["zhuǎn"], ["zhàng"]],
		"转折": [["zhuǎn"], ["zhé"]],
		"转账": [["zhuǎn"], ["zhàng"]],
		"转诊": [["zhuǎn"], ["zhěn"]],
		"转正": [["zhuǎn"], ["zhèng"]],
		"转职": [["zhuǎn"], ["zhí"]],
		"转轴": [["zhuǎn"], ["zhóu"]],
		"转注": [["zhuǎn"], ["zhù"]],
		"转转": [["zhuǎn"], ["zhuǎn"]],
		"转子": [["zhuàn"], ["zǐ"]],
		"转租": [["zhuǎn"], ["zū"]],
		"赚头": [["zhuàn"], ["tou"]],
		"赚得": [["zuàn"], ["de"]],
		"撰著": [["zhuàn"], ["zhe"]],
		"篆体": [["zhuàn"], ["tǐ"]],
		"庄家": [["zhuāng"], ["jiā"]],
		"庄重": [["zhuāng"], ["zhòng"]],
		"装潢": [["zhuāng"], ["huáng"]],
		"壮大": [["zhuàng"], ["dà"]],
		"壮丁": [["zhuàng"], ["dīng"]],
		"壮丽": [["zhuàng"], ["lì"]],
		"壮硕": [["zhuàng"], ["shuò"]],
		"壮观": [["zhuàng"], ["guān"]],
		"壮语": [["zhuàng"], ["yǔ"]],
		"幢幢": [["chuáng"], ["chuáng"]],
		"状语": [["zhuàng"], ["yǔ"]],
		"撞车": [["zhuàng"], ["chē"]],
		"撞坏": [["zhuàng"], ["huài"]],
		"撞见": [["zhuàng"], ["jiàn"]],
		"追逼": [["zhuī"], ["bī"]],
		"追比": [["zhuī"], ["bǐ"]],
		"追补": [["zhuī"], ["bǔ"]],
		"追兵": [["zhuī"], ["bīng"]],
		"追捕": [["zhuī"], ["bǔ"]],
		"追查": [["zhuī"], ["zhā"]],
		"追悼": [["zhuī"], ["dào"]],
		"追肥": [["zhuī"], ["féi"]],
		"追风": [["zhuī"], ["fēng"]],
		"追根": [["zhuī"], ["gēn"]],
		"追怀": [["zhuī"], ["huái"]],
		"追赶": [["zhuī"], ["gǎn"]],
		"追还": [["zhuī"], ["huán"]],
		"追悔": [["zhuī"], ["huǐ"]],
		"追击": [["zhuī"], ["jī"]],
		"追魂": [["zhuī"], ["hún"]],
		"追缉": [["zhuī"], ["jī"]],
		"追记": [["zhuī"], ["jì"]],
		"追加": [["zhuī"], ["jiā"]],
		"追歼": [["zhuī"], ["jiān"]],
		"追剿": [["zhuī"], ["jiǎo"]],
		"追究": [["zhuī"], ["jiū"]],
		"追缴": [["zhuī"], ["jiǎo"]],
		"追念": [["zhuī"], ["niàn"]],
		"追求": [["zhuī"], ["qiú"]],
		"追认": [["zhuī"], ["rèn"]],
		"追授": [["zhuī"], ["shòu"]],
		"追述": [["zhuī"], ["shù"]],
		"追思": [["zhuī"], ["sī"]],
		"追诉": [["zhuī"], ["sù"]],
		"追溯": [["zhuī"], ["sù"]],
		"追随": [["zhuī"], ["suí"]],
		"追索": [["zhuī"], ["suǒ"]],
		"追讨": [["zhuī"], ["tǎo"]],
		"追尾": [["zhuī"], ["wěi"]],
		"追问": [["zhuī"], ["wèn"]],
		"追想": [["zhuī"], ["xiǎng"]],
		"追叙": [["zhuī"], ["xù"]],
		"追寻": [["zhuī"], ["xún"]],
		"追忆": [["zhuī"], ["yì"]],
		"追赃": [["zhuī"], ["zāng"]],
		"追赠": [["zhuī"], ["zèng"]],
		"追逐": [["zhuī"], ["zhú"]],
		"追踪": [["zhuī"], ["zōng"]],
		"锥度": [["zhuī"], ["dù"]],
		"锥体": [["zhuī"], ["tǐ"]],
		"坠地": [["zhuì"], ["dì"]],
		"坠落": [["zhuì"], ["luò"]],
		"准将": [["zhǔn"], ["jiàng"]],
		"准据": [["zhǔn"], ["jù"]],
		"准头": [["zhǔn"], ["tou"]],
		"准信": [["zhǔn"], ["xìn"]],
		"准许": [["zhǔn"], ["xǔ"]],
		"准予": [["zhǔn"], ["yǔ"]],
		"卓识": [["zhuó"], ["shí"]],
		"卓见": [["zhuó"], ["jiàn"]],
		"卓著": [["zhuó"], ["zhù"]],
		"拙见": [["zhuō"], ["jiàn"]],
		"拙著": [["zhuō"], ["zhù"]],
		"拙朴": [["zhuō"], ["piáo"]],
		"捉弄": [["zhuō"], ["nòng"]],
		"灼见": [["zhuó"], ["jiàn"]],
		"茁长": [["zhuó"], ["zhǎng"]],
		"浊度": [["zhuó"], ["dù"]],
		"酌处": [["zhuó"], ["chǔ"]],
		"酌量": [["zhuó"], ["liàng"]],
		"着边": [["zhuó"], ["biān"]],
		"着凉": [["zháo"], ["liáng"]],
		"着迷": [["zháo"], ["mí"]],
		"着数": [["zhāo"], ["shù"]],
		"着意": [["zhuó"], ["yì"]],
		"濯濯": [["zhuó"], ["zhuó"]],
		"仔鸡": [["zǐ"], ["jī"]],
		"仔肩": [["zǐ"], ["jiān"]],
		"仔密": [["zǐ"], ["mì"]],
		"仔细": [["zǐ"], ["xì"]],
		"仔畜": [["zǐ"], ["chù"]],
		"仔猪": [["zǐ"], ["zhū"]],
		"仔鱼": [["zǐ"], ["yú"]],
		"资助": [["zī"], ["zhù"]],
		"辎重": [["zī"], ["zhòng"]],
		"趑趄": [["zī"], ["jū"]],
		"籽种": [["zǐ"], ["zhǒng"]],
		"子弹": [["zǐ"], ["dàn"]],
		"子弟": [["zǐ"], ["dì"]],
		"子句": [["zǐ"], ["jù"]],
		"子囊": [["zǐ"], ["náng"]],
		"子女": [["zǐ"], ["nǚ"]],
		"子孙": [["zǐ"], ["sūn"]],
		"子畜": [["zǐ"], ["chù"]],
		"子叶": [["zǐ"], ["yè"]],
		"姊夫": [["zǐ"], ["fū"]],
		"字调": [["zì"], ["diào"]],
		"字号": [["zì"], ["hào"]],
		"字节": [["zì"], ["jié"]],
		"字句": [["zì"], ["jù"]],
		"字据": [["zì"], ["jù"]],
		"字模": [["zì"], ["mú"]],
		"字数": [["zì"], ["shù"]],
		"字体": [["zì"], ["tǐ"]],
		"字条": [["zì"], ["tiáo"]],
		"字帖": [["zì"], ["tiè"]],
		"自便": [["zì"], ["biàn"]],
		"自嘲": [["zì"], ["cháo"]],
		"自称": [["zì"], ["chēng"]],
		"自乘": [["zì"], ["chéng"]],
		"自传": [["zì"], ["zhuàn"]],
		"自从": [["zì"], ["cóng"]],
		"自打": [["zì"], ["dǎ"]],
		"自大": [["zì"], ["dà"]],
		"自当": [["zì"], ["dāng"]],
		"自得": [["zì"], ["dé"]],
		"自渎": [["zì"], ["dú"]],
		"自发": [["zì"], ["fā"]],
		"自分": [["zì"], ["fēn"]],
		"自给": [["zì"], ["jǐ"]],
		"自供": [["zì"], ["gòng"]],
		"自汗": [["zì"], ["hàn"]],
		"自家": [["zì"], ["jiā"]],
		"自矜": [["zì"], ["jīn"]],
		"自尽": [["zì"], ["jìn"]],
		"自禁": [["zì"], ["jīn"]],
		"自净": [["zì"], ["jìng"]],
		"自觉": [["zì"], ["jué"]],
		"自夸": [["zì"], ["kuā"]],
		"自量": [["zì"], ["liàng"]],
		"自强": [["zì"], ["qiáng"]],
		"自若": [["zì"], ["ruò"]],
		"自省": [["zì"], ["xǐng"]],
		"自食": [["zì"], ["shí"]],
		"自信": [["zì"], ["xìn"]],
		"自行": [["zì"], ["xíng"]],
		"自许": [["zì"], ["xǔ"]],
		"自旋": [["zì"], ["xuán"]],
		"自知": [["zì"], ["zhī"]],
		"自重": [["zì"], ["zhòng"]],
		"自助": [["zì"], ["zhù"]],
		"恣睢": [["zì"], ["suī"]],
		"自转": [["zì"], ["zhuàn"]],
		"恣纵": [["zì"], ["zòng"]],
		"宗教": [["zōng"], ["jiào"]],
		"宗仰": [["zōng"], ["yǎng"]],
		"宗亲": [["zōng"], ["qīn"]],
		"综合": [["zōng"], ["hé"]],
		"综述": [["zōng"], ["shù"]],
		"鬃刷": [["zōng"], ["shuā"]],
		"总长": [["zǒng"], ["zhǎng"]],
		"总称": [["zǒng"], ["chēng"]],
		"总得": [["zǒng"], ["děi"]],
		"总共": [["zǒng"], ["gòng"]],
		"总合": [["zǒng"], ["hé"]],
		"总和": [["zǒng"], ["hé"]],
		"总价": [["zǒng"], ["jià"]],
		"总监": [["zǒng"], ["jiān"]],
		"总角": [["zǒng"], ["jiǎo"]],
		"总结": [["zǒng"], ["jié"]],
		"总括": [["zǒng"], ["kuò"]],
		"总量": [["zǒng"], ["liàng"]],
		"总论": [["zǒng"], ["lùn"]],
		"总数": [["zǒng"], ["shù"]],
		"总体": [["zǒng"], ["tǐ"]],
		"总行": [["zǒng"], ["xíng"]],
		"总校": [["zǒng"], ["xiào"]],
		"纵波": [["zòng"], ["bō"]],
		"纵步": [["zòng"], ["bù"]],
		"纵荡": [["zòng"], ["dàng"]],
		"纵队": [["zòng"], ["duì"]],
		"纵观": [["zòng"], ["guān"]],
		"纵贯": [["zòng"], ["guàn"]],
		"纵横": [["zòng"], ["héng"]],
		"纵酒": [["zòng"], ["jiǔ"]],
		"纵火": [["zòng"], ["huǒ"]],
		"纵览": [["zòng"], ["lǎn"]],
		"纵令": [["zòng"], ["lìng"]],
		"纵论": [["zòng"], ["lùn"]],
		"纵目": [["zòng"], ["mù"]],
		"纵情": [["zòng"], ["qíng"]],
		"纵然": [["zòng"], ["rán"]],
		"纵容": [["zòng"], ["róng"]],
		"纵身": [["zòng"], ["shēn"]],
		"纵深": [["zòng"], ["shēn"]],
		"纵声": [["zòng"], ["shēng"]],
		"纵使": [["zòng"], ["shǐ"]],
		"纵谈": [["zòng"], ["tán"]],
		"纵向": [["zòng"], ["xiàng"]],
		"纵欲": [["zòng"], ["yù"]],
		"走调": [["zǒu"], ["diào"]],
		"走风": [["zǒu"], ["fēng"]],
		"走读": [["zǒu"], ["dú"]],
		"走红": [["zǒu"], ["hóng"]],
		"走俏": [["zǒu"], ["qiào"]],
		"走散": [["zǒu"], ["sàn"]],
		"走卒": [["zǒu"], ["zú"]],
		"奏乐": [["zòu"], ["yuè"]],
		"奏折": [["zòu"], ["zhé"]],
		"租地": [["zū"], ["dì"]],
		"租佃": [["zū"], ["diàn"]],
		"租价": [["zū"], ["jià"]],
		"租约": [["zū"], ["yuē"]],
		"足底": [["zú"], ["dǐ"]],
		"租种": [["zū"], ["zhǒng"]],
		"足见": [["zú"], ["jiàn"]],
		"卒年": [["zú"], ["nián"]],
		"卒岁": [["zú"], ["suì"]],
		"卒业": [["zú"], ["yè"]],
		"卒子": [["zú"], ["zǐ"]],
		"阻挡": [["zǔ"], ["dǎng"]],
		"阻难": [["zǔ"], ["nàn"]],
		"阻塞": [["zǔ"], ["sè"]],
		"组分": [["zǔ"], ["fèn"]],
		"组合": [["zǔ"], ["hé"]],
		"组曲": [["zǔ"], ["qǔ"]],
		"组员": [["zǔ"], ["yuán"]],
		"组织": [["zǔ"], ["zhī"]],
		"祖传": [["zǔ"], ["chuán"]],
		"祖父": [["zǔ"], ["fù"]],
		"祖率": [["zǔ"], ["lǜ"]],
		"祖上": [["zǔ"], ["shàng"]],
		"祖孙": [["zǔ"], ["sūn"]],
		"钻床": [["zuàn"], ["chuáng"]],
		"钻洞": [["zuān"], ["dòng"]],
		"钻杆": [["zuàn"], ["gǎn"]],
		"钻机": [["zuàn"], ["jī"]],
		"钻戒": [["zuàn"], ["jiè"]],
		"钻劲": [["zuān"], ["jìn"]],
		"钻井": [["zuàn"], ["jǐng"]],
		"钻孔": [["zuān"], ["kǒng"]],
		"钻谋": [["zuān"], ["móu"]],
		"钻石": [["zuàn"], ["shí"]],
		"钻塔": [["zuàn"], ["tǎ"]],
		"钻台": [["zuàn"], ["tái"]],
		"钻探": [["zuān"], ["tàn"]],
		"钻头": [["zuàn"], ["tóu"]],
		"钻心": [["zuān"], ["xīn"]],
		"钻研": [["zuān"], ["yán"]],
		"钻营": [["zuān"], ["yíng"]],
		"嘴角": [["zuǐ"], ["jiǎo"]],
		"嘴头": [["zuǐ"], ["tóu"]],
		"罪恶": [["zuì"], ["è"]],
		"罪过": [["zuì"], ["guò"]],
		"罪行": [["zuì"], ["xíng"]],
		"遵从": [["zūn"], ["cóng"]],
		"遵行": [["zūn"], ["xíng"]],
		"撙节": [["zǔn"], ["jié"]],
		"左侧": [["zuǒ"], ["cè"]],
		"左券": [["zuǒ"], ["quàn"]],
		"左转": [["zuǒ"], ["zhuǎn"]],
		"作罢": [["zuò"], ["bà"]],
		"作别": [["zuò"], ["bié"]],
		"作答": [["zuò"], ["dá"]],
		"作恶": [["zuò"], ["è"]],
		"作坊": [["zuō"], ["fang"]],
		"作风": [["zuò"], ["fēng"]],
		"作家": [["zuò"], ["jiā"]],
		"作价": [["zuò"], ["jià"]],
		"作假": [["zuò"], ["jiǎ"]],
		"作乐": [["zuò"], ["yuè"]],
		"作难": [["zuò"], ["nán"]],
		"作弄": [["zuō"], ["nòng"]],
		"作曲": [["zuò"], ["qǔ"]],
		"作数": [["zuò"], ["shù"]],
		"作为": [["zuò"], ["wéi"]],
		"作呕": [["zuò"], ["ǒu"]],
		"坐禅": [["zuò"], ["chán"]],
		"坐车": [["zuò"], ["chē"]],
		"作兴": [["zuò"], ["xīng"]],
		"坐大": [["zuò"], ["dà"]],
		"坐待": [["zuò"], ["dài"]],
		"坐骨": [["zuò"], ["gǔ"]],
		"坐化": [["zuò"], ["huà"]],
		"坐监": [["zuò"], ["jiān"]],
		"坐落": [["zuò"], ["luò"]],
		"坐上": [["zuò"], ["shàng"]],
		"坐台": [["zuò"], ["tái"]],
		"柞蚕": [["zuò"], ["cán"]],
		"座号": [["zuò"], ["hào"]],
		"座落": [["zuò"], ["luò"]],
		"做假": [["zuò"], ["jiǎ"]],
		"做亲": [["zuò"], ["qīn"]],
		"阿比让": [
			["ā"],
			["bǐ"],
			["ràng"]
		],
		"阿鼻地狱": [
			["ā"],
			["bí"],
			["dì"],
			["yù"]
		],
		"阿波罗": [
			["ā"],
			["bō"],
			["luó"]
		],
		"阿昌族": [
			["ā"],
			["chāng"],
			["zú"]
		],
		"阿党比周": [
			["ē"],
			["dǎng"],
			["bǐ"],
			["zhōu"]
		],
		"阿党相为": [
			["ē"],
			["dǎng"],
			["xiāng"],
			["wéi"]
		],
		"阿的平": [
			["ā"],
			["dì"],
			["píng"]
		],
		"阿尔卑斯山脉": [
			["ā"],
			["ěr"],
			["bēi"],
			["sī"],
			["shān"],
			["mài"]
		],
		"阿尔巴尼亚": [
			["ā"],
			["ěr"],
			["bā"],
			["ní"],
			["yà"]
		],
		"阿尔法射线": [
			["ā"],
			["ěr"],
			["fǎ"],
			["shè"],
			["xiàn"]
		],
		"阿尔及利亚": [
			["ā"],
			["ěr"],
			["jí"],
			["lì"],
			["yà"]
		],
		"阿尔及尔": [
			["ā"],
			["ěr"],
			["jí"],
			["ěr"]
		],
		"阿房宫": [
			["ē"],
			["páng"],
			["gōng"]
		],
		"阿富汗": [
			["ā"],
			["fù"],
			["hàn"]
		],
		"阿根廷": [
			["ā"],
			["gēn"],
			["tíng"]
		],
		"阿狗阿猫": [
			["ā"],
			["gǒu"],
			["ā"],
			["māo"]
		],
		"阿姑阿翁": [
			["ā"],
			["gū"],
			["ā"],
			["wēng"]
		],
		"阿基米德": [
			["ā"],
			["jī"],
			["mǐ"],
			["dé"]
		],
		"阿家阿翁": [
			["ā"],
			["gū"],
			["ā"],
			["wēng"]
		],
		"阿娇金屋": [
			["ā"],
			["jiāo"],
			["jīn"],
			["wū"]
		],
		"阿拉伯国家": [
			["ā"],
			["lā"],
			["bó"],
			["guó"],
			["jiā"]
		],
		"阿拉伯半岛": [
			["ā"],
			["lā"],
			["bó"],
			["bàn"],
			["dǎo"]
		],
		"阿拉伯海": [
			["ā"],
			["lā"],
			["bó"],
			["hǎi"]
		],
		"阿拉伯联合酋长国": [
			["ā"],
			["lā"],
			["bó"],
			["lián"],
			["hé"],
			["qiú"],
			["zhǎng"],
			["guó"]
		],
		"阿拉伯人": [
			["ā"],
			["lā"],
			["bó"],
			["rén"]
		],
		"阿拉伯数字": [
			["ā"],
			["lā"],
			["bó"],
			["shù"],
			["zì"]
		],
		"阿拉伯语": [
			["ā"],
			["lā"],
			["bó"],
			["yǔ"]
		],
		"阿里山": [
			["ā"],
			["lǐ"],
			["shān"]
		],
		"阿鲁巴岛": [
			["ā"],
			["lǔ"],
			["bā"],
			["dǎo"]
		],
		"阿留申群岛": [
			["ā"],
			["liú"],
			["shēn"],
			["qún"],
			["dǎo"]
		],
		"阿罗汉": [
			["ā"],
			["luó"],
			["hàn"]
		],
		"阿猫阿狗": [
			["ā"],
			["māo"],
			["ā"],
			["gǒu"]
		],
		"阿弥陀佛": [
			["ē"],
			["mí"],
			["tuó"],
			["fó"]
		],
		"阿米巴痢疾": [
			["ā"],
			["mǐ"],
			["bā"],
			["lì"],
			["jí"]
		],
		"阿姆斯特丹": [
			["ā"],
			["mǔ"],
			["sī"],
			["tè"],
			["dān"]
		],
		"阿毗地狱": [
			["ā"],
			["pí"],
			["dì"],
			["yù"]
		],
		"阿平绝倒": [
			["ā"],
			["píng"],
			["jué"],
			["dǎo"]
		],
		"阿其所好": [
			["ē"],
			["qí"],
			["suǒ"],
			["hào"]
		],
		"阿塞拜疆": [
			["ā"],
			["sāi"],
			["bài"],
			["jiāng"]
		],
		"阿时趋俗": [
			["ē"],
			["shí"],
			["qū"],
			["sú"]
		],
		"阿世盗名": [
			["ē"],
			["shì"],
			["dào"],
			["míng"]
		],
		"阿世取容": [
			["ē"],
			["shì"],
			["qǔ"],
			["róng"]
		],
		"阿世媚俗": [
			["ē"],
			["shì"],
			["mèi"],
			["sú"]
		],
		"阿意取容": [
			["ē"],
			["yì"],
			["qǔ"],
			["róng"]
		],
		"阿谀谄媚": [
			["ē"],
			["yú"],
			["chǎn"],
			["mèi"]
		],
		"阿谀逢迎": [
			["ē"],
			["yú"],
			["féng"],
			["yíng"]
		],
		"阿谀奉承": [
			["ē"],
			["yú"],
			["fèng"],
			["chéng"]
		],
		"阿谀取容": [
			["ē"],
			["yú"],
			["qǔ"],
			["róng"]
		],
		"哀哀父母": [
			["āi"],
			["āi"],
			["fù"],
			["mǔ"]
		],
		"哀的美敦书": [
			["āi"],
			["de"],
			["měi"],
			["dūn"],
			["shū"]
		],
		"哀而不伤": [
			["āi"],
			["ér"],
			["bù"],
			["shāng"]
		],
		"哀感天地": [
			["āi"],
			["gǎn"],
			["tiān"],
			["dì"]
		],
		"哀感中年": [
			["āi"],
			["gǎn"],
			["zhōng"],
			["nián"]
		],
		"哀告宾服": [
			["āi"],
			["gào"],
			["bīn"],
			["fú"]
		],
		"哀鸿遍地": [
			["āi"],
			["hóng"],
			["biàn"],
			["dì"]
		],
		"哀毁骨立": [
			["āi"],
			["huǐ"],
			["gǔ"],
			["lì"]
		],
		"哀梨蒸食": [
			["āi"],
			["lí"],
			["zhēng"],
			["shí"]
		],
		"哀思如潮": [
			["āi"],
			["sī"],
			["rú"],
			["cháo"]
		],
		"哀天叫地": [
			["āi"],
			["tiān"],
			["jiào"],
			["dì"]
		],
		"哀莫大于心死": [
			["āi"],
			["mò"],
			["dà"],
			["yú"],
			["xīn"],
			["sǐ"]
		],
		"唉声叹气": [
			["āi"],
			["shēng"],
			["tàn"],
			["qì"]
		],
		"埃菲尔铁塔": [
			["āi"],
			["fēi"],
			["ěr"],
			["tiě"],
			["tǎ"]
		],
		"埃塞俄比亚": [
			["āi"],
			["sāi"],
			["é"],
			["bǐ"],
			["yà"]
		],
		"挨冻受饿": [
			["ái"],
			["dòng"],
			["shòu"],
			["è"]
		],
		"挨风缉缝": [
			["āi"],
			["fēng"],
			["jī"],
			["fèng"]
		],
		"挨家挨户": [
			["āi"],
			["jiā"],
			["āi"],
			["hù"]
		],
		"挨肩并足": [
			["āi"],
			["jiān"],
			["bìng"],
			["zú"]
		],
		"挨肩擦背": [
			["āi"],
			["jiān"],
			["cā"],
			["bèi"]
		],
		"挨肩擦膀": [
			["āi"],
			["jiān"],
			["cā"],
			["bǎng"]
		],
		"挨肩擦脸": [
			["āi"],
			["jiān"],
			["cā"],
			["liǎn"]
		],
		"挨肩搭背": [
			["āi"],
			["jiān"],
			["dā"],
			["bèi"]
		],
		"挨肩迭背": [
			["āi"],
			["jiān"],
			["dié"],
			["bèi"]
		],
		"挨肩叠背": [
			["āi"],
			["jiān"],
			["dié"],
			["bèi"]
		],
		"挨门挨户": [
			["āi"],
			["mén"],
			["āi"],
			["hù"]
		],
		"挨门逐户": [
			["āi"],
			["mén"],
			["zhú"],
			["hù"]
		],
		"挨三顶五": [
			["āi"],
			["sān"],
			["dǐng"],
			["wǔ"]
		],
		"挨山塞海": [
			["āi"],
			["shān"],
			["sè"],
			["hǎi"]
		],
		"捱风缉缝": [
			["āi"],
			["fēng"],
			["qī"],
			["fèng"]
		],
		"嗳声叹气": [
			["ài"],
			["shēng"],
			["tàn"],
			["qì"]
		],
		"矮个子": [
			["ǎi"],
			["gè"],
			["zi"]
		],
		"矮人观场": [
			["ǎi"],
			["rén"],
			["guān"],
			["cháng"]
		],
		"矮人看场": [
			["ǎi"],
			["rén"],
			["kàn"],
			["chǎng"]
		],
		"矮子观场": [
			["ǎi"],
			["zǐ"],
			["guān"],
			["cháng"]
		],
		"矮人看戏": [
			["ǎi"],
			["rén"],
			["kàn"],
			["xì"]
		],
		"矮子看戏": [
			["ǎi"],
			["zǐ"],
			["kàn"],
			["xì"]
		],
		"蔼然可亲": [
			["ǎi"],
			["rán"],
			["kě"],
			["qīn"]
		],
		"爱别离苦": [
			["ài"],
			["bié"],
			["lí"],
			["kǔ"]
		],
		"爱博而情不专": [
			["ài"],
			["bó"],
			["ér"],
			["qíng"],
			["bù"],
			["zhuān"]
		],
		"爱不忍释": [
			["ài"],
			["bù"],
			["rěn"],
			["shì"]
		],
		"爱不释手": [
			["ài"],
			["bù"],
			["shì"],
			["shǒu"]
		],
		"爱才若渴": [
			["ài"],
			["cái"],
			["ruò"],
			["kě"]
		],
		"爱答不理": [
			["ài"],
			["dá"],
			["bù"],
			["lǐ"]
		],
		"爱国如家": [
			["ài"],
			["guó"],
			["rú"],
			["jiā"]
		],
		"爱礼存羊": [
			["ài"],
			["lǐ"],
			["cún"],
			["yáng"]
		],
		"爱丽舍宫": [
			["ài"],
			["lì"],
			["shè"],
			["gōng"]
		],
		"爱莫能助": [
			["ài"],
			["mò"],
			["néng"],
			["zhù"]
		],
		"爱莫之助": [
			["ài"],
			["mò"],
			["zhī"],
			["zhù"]
		],
		"爱人好士": [
			["ài"],
			["rén"],
			["hào"],
			["shì"]
		],
		"爱沙尼亚人": [
			["ài"],
			["shā"],
			["ní"],
			["yà"],
			["rén"]
		],
		"爱生恶死": [
			["ài"],
			["shēng"],
			["wù"],
			["sǐ"]
		],
		"爱斯基摩人": [
			["ài"],
			["sī"],
			["jī"],
			["mó"],
			["rén"]
		],
		"爱素好古": [
			["ài"],
			["sù"],
			["hào"],
			["gǔ"]
		],
		"爱憎分明": [
			["ài"],
			["zēng"],
			["fēn"],
			["míng"]
		],
		"爱之欲其生": [
			["ài"],
			["zhī"],
			["yù"],
			["qí"],
			["shēng"]
		],
		"碍口识羞": [
			["ài"],
			["kǒu"],
			["shí"],
			["xiū"]
		],
		"碍难从命": [
			["ài"],
			["nán"],
			["cóng"],
			["mìng"]
		],
		"暧昧不明": [
			["ài"],
			["mèi"],
			["bù"],
			["míng"]
		],
		"安不忘危": [
			["ān"],
			["bù"],
			["wàng"],
			["wēi"]
		],
		"安步当车": [
			["ān"],
			["bù"],
			["dàng"],
			["chē"]
		],
		"安常处顺": [
			["ān"],
			["cháng"],
			["chǔ"],
			["shùn"]
		],
		"安常守分": [
			["ān"],
			["cháng"],
			["shǒu"],
			["fèn"]
		],
		"安车蒲轮": [
			["ān"],
			["chē"],
			["pú"],
			["lún"]
		],
		"安定团结": [
			["ān"],
			["dìng"],
			["tuán"],
			["jié"]
		],
		"安堵乐业": [
			["ān"],
			["dǔ"],
			["lè"],
			["yè"]
		],
		"安分守己": [
			["ān"],
			["fèn"],
			["shǒu"],
			["jǐ"]
		],
		"安分知足": [
			["ān"],
			["fèn"],
			["zhī"],
			["zú"]
		],
		"安份守己": [
			["ān"],
			["fèn"],
			["shǒu"],
			["jǐ"]
		],
		"安故重迁": [
			["ān"],
			["gù"],
			["zhòng"],
			["qiān"]
		],
		"安哥拉": [
			["ān"],
			["gē"],
			["lā"]
		],
		"安圭拉岛": [
			["ān"],
			["guī"],
			["lā"],
			["dǎo"]
		],
		"安国宁家": [
			["ān"],
			["guó"],
			["níng"],
			["jiā"]
		],
		"安徽省": [
			["ān"],
			["huī"],
			["shěng"]
		],
		"安魂曲": [
			["ān"],
			["hún"],
			["qǔ"]
		],
		"安家费": [
			["ān"],
			["jiā"],
			["fèi"]
		],
		"安家乐业": [
			["ān"],
			["jiā"],
			["lè"],
			["yè"]
		],
		"安家立业": [
			["ān"],
			["jiā"],
			["lì"],
			["yè"]
		],
		"安家落户": [
			["ān"],
			["jiā"],
			["luò"],
			["hù"]
		],
		"安居乐业": [
			["ān"],
			["jū"],
			["lè"],
			["yè"]
		],
		"安老怀少": [
			["ān"],
			["lǎo"],
			["huái"],
			["shào"]
		],
		"安乐死": [
			["ān"],
			["lè"],
			["sǐ"]
		],
		"安乐窝": [
			["ān"],
			["lè"],
			["wō"]
		],
		"安乐椅": [
			["ān"],
			["lè"],
			["yǐ"]
		],
		"安理会": [
			["ān"],
			["lǐ"],
			["huì"]
		],
		"安内攘外": [
			["ān"],
			["nèi"],
			["rǎng"],
			["wài"]
		],
		"安良除暴": [
			["ān"],
			["liáng"],
			["chú"],
			["bào"]
		],
		"安贫乐道": [
			["ān"],
			["pín"],
			["lè"],
			["dào"]
		],
		"安贫乐贱": [
			["ān"],
			["pín"],
			["lè"],
			["jiàn"]
		],
		"安全电压": [
			["ān"],
			["quán"],
			["diàn"],
			["yā"]
		],
		"安全理事会": [
			["ān"],
			["quán"],
			["lǐ"],
			["shì"],
			["huì"]
		],
		"安全系数": [
			["ān"],
			["quán"],
			["xì"],
			["shù"]
		],
		"安忍无亲": [
			["ān"],
			["rěn"],
			["wú"],
			["qīn"]
		],
		"安如磐石": [
			["ān"],
			["rú"],
			["pán"],
			["shí"]
		],
		"安若泰山": [
			["ān"],
			["ruò"],
			["tài"],
			["shān"]
		],
		"安身乐业": [
			["ān"],
			["shēn"],
			["lè"],
			["yè"]
		],
		"安身为乐": [
			["ān"],
			["shēn"],
			["wéi"],
			["lè"]
		],
		"安身之地": [
			["ān"],
			["shēn"],
			["zhī"],
			["dì"]
		],
		"安身之处": [
			["ān"],
			["shēn"],
			["zhī"],
			["chù"]
		],
		"安生服业": [
			["ān"],
			["shēng"],
			["fú"],
			["yè"]
		],
		"安生乐业": [
			["ān"],
			["shēng"],
			["lè"],
			["yè"]
		],
		"安时处顺": [
			["ān"],
			["shí"],
			["chǔ"],
			["shùn"]
		],
		"安室利处": [
			["ān"],
			["shì"],
			["lì"],
			["chù"]
		],
		"安土乐业": [
			["ān"],
			["tǔ"],
			["lè"],
			["yè"]
		],
		"安土重旧": [
			["ān"],
			["tǔ"],
			["zhòng"],
			["jiù"]
		],
		"安土重居": [
			["ān"],
			["tǔ"],
			["zhòng"],
			["jū"]
		],
		"安危与共": [
			["ān"],
			["wēi"],
			["yǔ"],
			["gòng"]
		],
		"安土重迁": [
			["ān"],
			["tǔ"],
			["zhòng"],
			["qiān"]
		],
		"安危相易": [
			["ān"],
			["wēi"],
			["xiāng"],
			["yì"]
		],
		"安闲自得": [
			["ān"],
			["xián"],
			["zì"],
			["dé"]
		],
		"安心乐业": [
			["ān"],
			["xīn"],
			["lè"],
			["yè"]
		],
		"安心乐意": [
			["ān"],
			["xīn"],
			["lè"],
			["yì"]
		],
		"安心落意": [
			["ān"],
			["xīn"],
			["luò"],
			["yì"]
		],
		"安营扎寨": [
			["ān"],
			["yíng"],
			["zhā"],
			["zhài"]
		],
		"安于盘石": [
			["ān"],
			["yú"],
			["pán"],
			["shí"]
		],
		"安宅正路": [
			["ān"],
			["zhái"],
			["zhèng"],
			["lù"]
		],
		"安之若素": [
			["ān"],
			["zhī"],
			["ruò"],
			["sù"]
		],
		"安之若命": [
			["ān"],
			["zhī"],
			["ruò"],
			["mìng"]
		],
		"安坐待毙": [
			["ān"],
			["zuò"],
			["dài"],
			["bì"]
		],
		"按兵不动": [
			["àn"],
			["bīng"],
			["bù"],
			["dòng"]
		],
		"按兵不举": [
			["àn"],
			["bīng"],
			["bù"],
			["jǔ"]
		],
		"按甲休兵": [
			["àn"],
			["jiǎ"],
			["xiū"],
			["bīng"]
		],
		"按劳分配": [
			["àn"],
			["láo"],
			["fēn"],
			["pèi"]
		],
		"按捺不住": [
			["àn"],
			["nà"],
			["bù"],
			["zhù"]
		],
		"按需分配": [
			["àn"],
			["xū"],
			["fēn"],
			["pèi"]
		],
		"按行自抑": [
			["àn"],
			["xíng"],
			["zì"],
			["yì"]
		],
		"案甲休兵": [
			["àn"],
			["jiǎ"],
			["xiū"],
			["bīng"]
		],
		"暗锤打人": [
			["àn"],
			["chuí"],
			["dǎ"],
			["rén"]
		],
		"按辔徐行": [
			["àn"],
			["pèi"],
			["xú"],
			["xíng"]
		],
		"暗地里": [
			["àn"],
			["dì"],
			["lǐ"]
		],
		"暗斗明争": [
			["àn"],
			["dòu"],
			["míng"],
			["zhēng"]
		],
		"暗度陈仓": [
			["àn"],
			["dù"],
			["chén"],
			["cāng"]
		],
		"暗度金针": [
			["àn"],
			["dù"],
			["jīn"],
			["zhēn"]
		],
		"暗箭难防": [
			["àn"],
			["jiàn"],
			["nán"],
			["fáng"]
		],
		"暗箭中人": [
			["àn"],
			["jiàn"],
			["zhòng"],
			["rén"]
		],
		"暗绿稀红": [
			["àn"],
			["lǜ"],
			["xī"],
			["hóng"]
		],
		"暗射地图": [
			["àn"],
			["shè"],
			["dì"],
			["tú"]
		],
		"暗室不欺": [
			["àn"],
			["shì"],
			["bù"],
			["qī"]
		],
		"昂昂自若": [
			["áng"],
			["áng"],
			["zì"],
			["ruò"]
		],
		"暗中摸索": [
			["àn"],
			["zhōng"],
			["mō"],
			["suǒ"]
		],
		"昂藏七尺": [
			["áng"],
			["cáng"],
			["qī"],
			["chǐ"]
		],
		"昂然自若": [
			["áng"],
			["rán"],
			["zì"],
			["ruò"]
		],
		"昂然自得": [
			["áng"],
			["rán"],
			["zì"],
			["dé"]
		],
		"昂头阔步": [
			["áng"],
			["tóu"],
			["kuò"],
			["bù"]
		],
		"昂头天外": [
			["áng"],
			["tóu"],
			["tiān"],
			["wài"]
		],
		"昂头挺胸": [
			["áng"],
			["tóu"],
			["tǐng"],
			["xiōng"]
		],
		"盎盂相敲": [
			["àng"],
			["yú"],
			["xiāng"],
			["qiāo"]
		],
		"盎盂相击": [
			["àng"],
			["yú"],
			["xiāng"],
			["jī"]
		],
		"凹版印刷": [
			["āo"],
			["bǎn"],
			["yìn"],
			["shuā"]
		],
		"凹面镜": [
			["āo"],
			["miàn"],
			["jìng"]
		],
		"凹透镜": [
			["āo"],
			["tòu"],
			["jìng"]
		],
		"敖不可长": [
			["ào"],
			["bù"],
			["kě"],
			["zhǎng"]
		],
		"嗷嗷待哺": [
			["áo"],
			["áo"],
			["dài"],
			["bǔ"]
		],
		"遨翔自得": [
			["áo"],
			["xiáng"],
			["zì"],
			["dé"]
		],
		"熬肠刮肚": [
			["áo"],
			["cháng"],
			["guā"],
			["dù"]
		],
		"熬出头": [
			["áo"],
			["chū"],
			["tóu"]
		],
		"熬更守夜": [
			["áo"],
			["gēng"],
			["shǒu"],
			["yè"]
		],
		"熬姜呷醋": [
			["áo"],
			["jiāng"],
			["xiā"],
			["cù"]
		],
		"熬枯受淡": [
			["áo"],
			["kū"],
			["shòu"],
			["dàn"]
		],
		"熬清守淡": [
			["áo"],
			["qīng"],
			["shǒu"],
			["dàn"]
		],
		"熬清守谈": [
			["áo"],
			["qīng"],
			["shǒu"],
			["tán"]
		],
		"熬清受淡": [
			["áo"],
			["qīng"],
			["shòu"],
			["dàn"]
		],
		"熬心费力": [
			["áo"],
			["xīn"],
			["fèi"],
			["lì"]
		],
		"熬油费火": [
			["áo"],
			["yóu"],
			["fèi"],
			["huǒ"]
		],
		"聱牙诘曲": [
			["áo"],
			["yá"],
			["jié"],
			["qū"]
		],
		"聱牙诘屈": [
			["áo"],
			["yá"],
			["jié"],
			["qū"]
		],
		"謷牙诘屈": [
			["áo"],
			["yá"],
			["jié"],
			["qū"]
		],
		"鳌鸣鳖应": [
			["áo"],
			["míng"],
			["biē"],
			["yīng"]
		],
		"鳌头独占": [
			["áo"],
			["tóu"],
			["dú"],
			["zhàn"]
		],
		"拗不过": [
			["niù"],
			["bù"],
			["guò"]
		],
		"拗口令": [
			["ào"],
			["kǒu"],
			["lìng"]
		],
		"傲不可长": [
			["ào"],
			["bù"],
			["kě"],
			["zhǎng"]
		],
		"傲骨嶙嶙": [
			["ào"],
			["gǔ"],
			["lín"],
			["lín"]
		],
		"傲慢不逊": [
			["ào"],
			["màn"],
			["bù"],
			["xùn"]
		],
		"傲慢少礼": [
			["ào"],
			["màn"],
			["shǎo"],
			["lǐ"]
		],
		"傲睨万物": [
			["ào"],
			["nì"],
			["wàn"],
			["wù"]
		],
		"傲睨得志": [
			["ào"],
			["nì"],
			["dé"],
			["zhì"]
		],
		"傲睨一切": [
			["ào"],
			["nì"],
			["yī"],
			["qiè"]
		],
		"傲睨自若": [
			["ào"],
			["nì"],
			["zì"],
			["ruò"]
		],
		"傲霜斗雪": [
			["ào"],
			["shuāng"],
			["dòu"],
			["xuě"]
		],
		"傲头傲脑": [
			["ào"],
			["tóu"],
			["ào"],
			["nǎo"]
		],
		"奥地利": [
			["ào"],
			["dì"],
			["lì"]
		],
		"奥地利帝国": [
			["ào"],
			["dì"],
			["lì"],
			["dì"],
			["guó"]
		],
		"奥地利人": [
			["ào"],
			["dì"],
			["lì"],
			["rén"]
		],
		"奥克兰": [
			["ào"],
			["kè"],
			["lán"]
		],
		"奥林匹克运动会": [
			["ào"],
			["lín"],
			["pǐ"],
			["kè"],
			["yùn"],
			["dòng"],
			["huì"]
		],
		"奥妙无穷": [
			["ào"],
			["miào"],
			["wú"],
			["qióng"]
		],
		"奥斯卡奖": [
			["ào"],
			["sī"],
			["kǎ"],
			["jiǎng"]
		],
		"奥斯陆": [
			["ào"],
			["sī"],
			["lù"]
		],
		"奥援有灵": [
			["ào"],
			["yuán"],
			["yǒu"],
			["líng"]
		],
		"奥运会": [
			["ào"],
			["yùn"],
			["huì"]
		],
		"澳大利亚": [
			["ào"],
			["dà"],
			["lì"],
			["yà"]
		],
		"澳大利亚人": [
			["ào"],
			["dà"],
			["lì"],
			["yà"],
			["rén"]
		],
		"八达岭": [
			["bā"],
			["dá"],
			["lǐng"]
		],
		"八大山人": [
			["bā"],
			["tài"],
			["shān"],
			["rén"]
		],
		"八斗才": [
			["bā"],
			["dǒu"],
			["cái"]
		],
		"八大胡同": [
			["bā"],
			["dà"],
			["hú"],
			["tòng"]
		],
		"八斗之才": [
			["bā"],
			["dǒu"],
			["zhī"],
			["cái"]
		],
		"八方风雨": [
			["bā"],
			["fāng"],
			["fēng"],
			["yǔ"]
		],
		"八方呼应": [
			["bā"],
			["fāng"],
			["hū"],
			["yìng"]
		],
		"八竿子打不着": [
			["bā"],
			["gān"],
			["zǐ"],
			["dǎ"],
			["bù"],
			["zháo"]
		],
		"八卦教": [
			["bā"],
			["guà"],
			["jiào"]
		],
		"八纮同轨": [
			["bā"],
			["hóng"],
			["tóng"],
			["guǐ"]
		],
		"八角茴香": [
			["bā"],
			["jiǎo"],
			["huí"],
			["xiāng"]
		],
		"八角帽": [
			["bā"],
			["jiǎo"],
			["mào"]
		],
		"八九不离十": [
			["bā"],
			["jiǔ"],
			["bù"],
			["lí"],
			["shí"]
		],
		"八面见光": [
			["bā"],
			["miàn"],
			["jiàn"],
			["guāng"]
		],
		"八面驶风": [
			["bā"],
			["miàn"],
			["shǐ"],
			["fēng"]
		],
		"八面威风": [
			["bā"],
			["miàn"],
			["wēi"],
			["fēng"]
		],
		"八难三灾": [
			["bā"],
			["nàn"],
			["sān"],
			["zāi"]
		],
		"八旗子弟": [
			["bā"],
			["qí"],
			["zi"],
			["dì"]
		],
		"八千里路云和月": [
			["bā"],
			["qiān"],
			["lǐ"],
			["lù"],
			["yún"],
			["hé"],
			["yuè"]
		],
		"八抬大轿": [
			["bā"],
			["tái"],
			["dà"],
			["jiào"]
		],
		"八万四千": [
			["bā"],
			["wàn"],
			["sì"],
			["qiān"]
		],
		"八仙过海": [
			["bā"],
			["xiān"],
			["guò"],
			["hǎi"]
		],
		"八行书": [
			["bā"],
			["háng"],
			["shū"]
		],
		"八一建军节": [
			["bā"],
			["yī"],
			["jiàn"],
			["jūn"],
			["jié"]
		],
		"八月节": [
			["bā"],
			["yuè"],
			["jié"]
		],
		"八珍玉食": [
			["bā"],
			["zhēn"],
			["yù"],
			["shí"]
		],
		"八字打开": [
			["bā"],
			["zì"],
			["dǎ"],
			["kāi"]
		],
		"八字还没有一撇": [
			["bā"],
			["zì"],
			["hái"],
			["méi"],
			["yǒu"],
			["yī"],
			["piě"]
		],
		"八字没见一撇": [
			["bā"],
			["zì"],
			["méi"],
			["jiàn"],
			["yī"],
			["piě"]
		],
		"八字没一撇": [
			["bā"],
			["zì"],
			["méi"],
			["yī"],
			["piě"]
		],
		"巴巴结结": [
			["bā"],
			["bā"],
			["jiē"],
			["jiē"]
		],
		"巴不得": [
			["bā"],
			["bù"],
			["dé"]
		],
		"巴尔干半岛": [
			["bā"],
			["ěr"],
			["gàn"],
			["bàn"],
			["dǎo"]
		],
		"巴尔喀什湖": [
			["bā"],
			["ěr"],
			["kā"],
			["shí"],
			["hú"]
		],
		"巴尔扎克": [
			["bā"],
			["ěr"],
			["zhā"],
			["kè"]
		],
		"巴高望上": [
			["bā"],
			["gāo"],
			["wàng"],
			["shàng"]
		],
		"巴高枝儿": [
			["bā"],
			["gāo"],
			["zhī"],
			["ér"]
		],
		"巴拉圭": [
			["bā"],
			["lā"],
			["guī"]
		],
		"巴勒斯坦": [
			["bā"],
			["lè"],
			["sī"],
			["tǎn"]
		],
		"巴黎和会": [
			["bā"],
			["lí"],
			["hé"],
			["huì"]
		],
		"巴山夜雨": [
			["bā"],
			["shān"],
			["yè"],
			["yǔ"]
		],
		"巴山度岭": [
			["bā"],
			["shān"],
			["dù"],
			["lǐng"]
		],
		"巴山越岭": [
			["bā"],
			["shān"],
			["yuè"],
			["lǐng"]
		],
		"巴头探脑": [
			["bā"],
			["tóu"],
			["tàn"],
			["nǎo"]
		],
		"扒耳搔腮": [
			["pá"],
			["ěr"],
			["sāo"],
			["sāi"]
		],
		"扒高踩低": [
			["bā"],
			["gāo"],
			["cǎi"],
			["dī"]
		],
		"芭蕉扇": [
			["bā"],
			["jiāo"],
			["shàn"]
		],
		"拔本塞原": [
			["bá"],
			["běn"],
			["sè"],
			["yuán"]
		],
		"拔本塞源": [
			["bá"],
			["běn"],
			["sè"],
			["yuán"]
		],
		"拔刀相向": [
			["bá"],
			["dāo"],
			["xiāng"],
			["xiàng"]
		],
		"拔地参天": [
			["bá"],
			["dì"],
			["cān"],
			["tiān"]
		],
		"拔刀相助": [
			["bá"],
			["dāo"],
			["xiāng"],
			["zhù"]
		],
		"拔地摇山": [
			["bá"],
			["dì"],
			["yáo"],
			["shān"]
		],
		"拔地倚天": [
			["bá"],
			["dì"],
			["yǐ"],
			["tiān"]
		],
		"拔丁抽楔": [
			["bá"],
			["dīng"],
			["chōu"],
			["xiē"]
		],
		"拔锅卷席": [
			["bá"],
			["guō"],
			["juǎn"],
			["xí"]
		],
		"拔剑论功": [
			["bá"],
			["jiàn"],
			["lùn"],
			["gōng"]
		],
		"拔葵去织": [
			["bá"],
			["kuí"],
			["qù"],
			["zhī"]
		],
		"拔了萝卜地皮宽": [
			["bá"],
			["le"],
			["luó"],
			["bo"],
			["dì"],
			["pí"],
			["kuān"]
		],
		"拔毛济世": [
			["bá"],
			["máo"],
			["jì"],
			["shì"]
		],
		"拔苗助长": [
			["bá"],
			["miáo"],
			["zhù"],
			["zhǎng"]
		],
		"拔山扛鼎": [
			["bá"],
			["shān"],
			["gāng"],
			["dǐng"]
		],
		"拔山盖世": [
			["bá"],
			["shān"],
			["gài"],
			["shì"]
		],
		"拔十得五": [
			["bá"],
			["shí"],
			["dé"],
			["wǔ"]
		],
		"拔宅上升": [
			["bá"],
			["zhái"],
			["shàng"],
			["shēng"]
		],
		"跋胡疐尾": [
			["bá"],
			["hú"],
			["zhì"],
			["wěi"]
		],
		"跋扈恣睢": [
			["bá"],
			["hù"],
			["zì"],
			["suī"]
		],
		"跋前疐后": [
			["bá"],
			["qián"],
			["zhì"],
			["hòu"]
		],
		"把臂入林": [
			["bǎ"],
			["bì"],
			["rù"],
			["lín"]
		],
		"把臂徐去": [
			["bǎ"],
			["bì"],
			["xú"],
			["qù"]
		],
		"把持不定": [
			["bǎ"],
			["chí"],
			["bù"],
			["dìng"]
		],
		"把饭叫饥": [
			["bǎ"],
			["fàn"],
			["jiào"],
			["jī"]
		],
		"把酒持螯": [
			["bǎ"],
			["jiǔ"],
			["chí"],
			["áo"]
		],
		"把素持斋": [
			["bǎ"],
			["sù"],
			["chí"],
			["zhāi"]
		],
		"把玩无厌": [
			["bǎ"],
			["wán"],
			["wǔ"],
			["yàn"]
		],
		"把薪助火": [
			["bǎ"],
			["xīn"],
			["zhù"],
			["huǒ"]
		],
		"把兄弟": [
			["bǎ"],
			["xiōng"],
			["dì"]
		],
		"罢黜百家": [
			["bā"],
			["chù"],
			["bǎi"],
			["jiā"]
		],
		"霸道横行": [
			["bà"],
			["dào"],
			["héng"],
			["xíng"]
		],
		"霸陵醉尉": [
			["bà"],
			["líng"],
			["zuì"],
			["wèi"]
		],
		"霸王鞭": [
			["bà"],
			["wáng"],
			["biān"]
		],
		"霸王别姬": [
			["bà"],
			["wáng"],
			["bié"],
			["jī"]
		],
		"霸王风月": [
			["bà"],
			["wáng"],
			["fēng"],
			["yuè"]
		],
		"白白朱朱": [
			["bái"],
			["bái"],
			["zhū"],
			["zhū"]
		],
		"白不呲咧": [
			["bái"],
			["bù"],
			["cī"],
			["liě"]
		],
		"白癜风": [
			["bái"],
			["diàn"],
			["fēng"]
		],
		"白丁俗客": [
			["bái"],
			["dīng"],
			["sú"],
			["kè"]
		],
		"白藋同心": [
			["bái"],
			["diào"],
			["tóng"],
			["xīn"]
		],
		"白发苍苍": [
			["bái"],
			["fà"],
			["cāng"],
			["cāng"]
		],
		"白发苍颜": [
			["bái"],
			["fà"],
			["cāng"],
			["yán"]
		],
		"白发丹心": [
			["bái"],
			["fà"],
			["dān"],
			["xīn"]
		],
		"白发红颜": [
			["bái"],
			["fà"],
			["hóng"],
			["yán"]
		],
		"白发千丈": [
			["bái"],
			["fà"],
			["qiān"],
			["zhàng"]
		],
		"白干儿": [
			["bái"],
			["gān"],
			["ér"]
		],
		"白发青衫": [
			["bái"],
			["fà"],
			["qīng"],
			["shān"]
		],
		"白发朱颜": [
			["bái"],
			["fà"],
			["zhū"],
			["yán"]
		],
		"白骨精": [
			["bái"],
			["gǔ"],
			["jīng"]
		],
		"白骨露野": [
			["bái"],
			["gǔ"],
			["lù"],
			["yě"]
		],
		"白骨再肉": [
			["bái"],
			["gǔ"],
			["zài"],
			["ròu"]
		],
		"白黑不分": [
			["bái"],
			["hēi"],
			["bù"],
			["fēn"]
		],
		"白黑颠倒": [
			["bái"],
			["hēi"],
			["diān"],
			["dǎo"]
		],
		"白黑分明": [
			["bái"],
			["hēi"],
			["fēn"],
			["míng"]
		],
		"白华之怨": [
			["bái"],
			["huá"],
			["zhī"],
			["yuàn"]
		],
		"白晃晃": [
			["bái"],
			["huàng"],
			["huǎng"]
		],
		"白袷蓝衫": [
			["bái"],
			["jiá"],
			["lán"],
			["shān"]
		],
		"白驹过隙": [
			["bái"],
			["jū"],
			["guò"],
			["xì"]
		],
		"白驹空谷": [
			["bái"],
			["jū"],
			["kōng"],
			["gǔ"]
		],
		"白兰地": [
			["bái"],
			["lán"],
			["dì"]
		],
		"白莲教": [
			["bái"],
			["lián"],
			["jiào"]
		],
		"白令海": [
			["bái"],
			["lìng"],
			["hǎi"]
		],
		"白龙鱼服": [
			["bái"],
			["lóng"],
			["yú"],
			["fú"]
		],
		"白马王子": [
			["bái"],
			["mǎ"],
			["wáng"],
			["zǐ"]
		],
		"白旄黄钺": [
			["bái"],
			["máo"],
			["huáng"],
			["yuè"]
		],
		"白毛女": [
			["bái"],
			["máo"],
			["nǚ"]
		],
		"白蒙蒙": [
			["bái"],
			["méng"],
			["méng"]
		],
		"白面儒冠": [
			["bái"],
			["miàn"],
			["rú"],
			["guān"]
		],
		"白面书郎": [
			["bái"],
			["miàn"],
			["shū"],
			["láng"]
		],
		"白内障": [
			["bái"],
			["nèi"],
			["zhàng"]
		],
		"白热化": [
			["bái"],
			["rè"],
			["huà"]
		],
		"白日见鬼": [
			["bái"],
			["rì"],
			["jiàn"],
			["guǐ"]
		],
		"白日上升": [
			["bái"],
			["rì"],
			["shàng"],
			["shēng"]
		],
		"白手空拳": [
			["bái"],
			["shǒu"],
			["kōng"],
			["quán"]
		],
		"白手起家": [
			["bái"],
			["shǒu"],
			["qǐ"],
			["jiā"]
		],
		"白手成家": [
			["bái"],
			["shǒu"],
			["chéng"],
			["jiā"]
		],
		"白首北面": [
			["bái"],
			["shǒu"],
			["běi"],
			["miàn"]
		],
		"白首不渝": [
			["bái"],
			["shǒu"],
			["bù"],
			["yú"]
		],
		"白首空归": [
			["bái"],
			["shǒu"],
			["kōng"],
			["guī"]
		],
		"白首齐眉": [
			["bái"],
			["shǒu"],
			["qí"],
			["méi"]
		],
		"白首同归": [
			["bái"],
			["shǒu"],
			["tóng"],
			["guī"]
		],
		"白首相知": [
			["bái"],
			["shǒu"],
			["xiāng"],
			["zhī"]
		],
		"白首为郎": [
			["bái"],
			["shǒu"],
			["wéi"],
			["láng"]
		],
		"白首相庄": [
			["bái"],
			["shǒu"],
			["xiāng"],
			["zhuāng"]
		],
		"白刷刷": [
			["bái"],
			["shuā"],
			["shuā"]
		],
		"白首一节": [
			["bái"],
			["shǒu"],
			["yī"],
			["jié"]
		],
		"白天见鬼": [
			["bái"],
			["tiān"],
			["jiàn"],
			["guǐ"]
		],
		"白头不终": [
			["bái"],
			["tóu"],
			["bù"],
			["zhōng"]
		],
		"白头到老": [
			["bái"],
			["tóu"],
			["dào"],
			["lǎo"]
		],
		"白头而新": [
			["bái"],
			["tóu"],
			["ér"],
			["xīn"]
		],
		"白头翁": [
			["bái"],
			["tóu"],
			["wēng"]
		],
		"白头如新": [
			["bái"],
			["tóu"],
			["rú"],
			["xīn"]
		],
		"白头相守": [
			["bái"],
			["tóu"],
			["xiāng"],
			["shǒu"]
		],
		"白头相并": [
			["bái"],
			["tóu"],
			["xiāng"],
			["bìng"]
		],
		"白头偕老": [
			["bái"],
			["tóu"],
			["xié"],
			["lǎo"]
		],
		"白头之叹": [
			["bái"],
			["tóu"],
			["zhī"],
			["tàn"]
		],
		"白雪难和": [
			["bái"],
			["xuě"],
			["nán"],
			["hé"]
		],
		"白血病": [
			["bái"],
			["xuè"],
			["bìng"]
		],
		"白血球": [
			["bái"],
			["xuè"],
			["qiú"]
		],
		"白眼相看": [
			["bái"],
			["yǎn"],
			["xiāng"],
			["kàn"]
		],
		"白衣卿相": [
			["bái"],
			["yī"],
			["qīng"],
			["xiàng"]
		],
		"白衣宰相": [
			["bái"],
			["yī"],
			["zǎi"],
			["xiàng"]
		],
		"白云亲舍": [
			["bái"],
			["yún"],
			["qīn"],
			["shè"]
		],
		"白种人": [
			["bái"],
			["zhǒng"],
			["rén"]
		],
		"百般刁难": [
			["bǎi"],
			["bān"],
			["diāo"],
			["nàn"]
		],
		"百宝万货": [
			["bǎi"],
			["bǎo"],
			["wàn"],
			["huò"]
		],
		"百般折磨": [
			["bǎi"],
			["bān"],
			["zhé"],
			["mó"]
		],
		"百不当一": [
			["bǎi"],
			["bù"],
			["dāng"],
			["yī"]
		],
		"百不获一": [
			["bǎi"],
			["bù"],
			["huò"],
			["yī"]
		],
		"百不失一": [
			["bǎi"],
			["bù"],
			["shī"],
			["yī"]
		],
		"百不一存": [
			["bǎi"],
			["bù"],
			["yī"],
			["cún"]
		],
		"百不一贷": [
			["bǎi"],
			["bù"],
			["yī"],
			["dài"]
		],
		"百不一遇": [
			["bǎi"],
			["bù"],
			["yī"],
			["yù"]
		],
		"百尺竿头": [
			["bǎi"],
			["chǐ"],
			["gān"],
			["tóu"]
		],
		"百尺竿头更进一步": [
			["bǎi"],
			["chǐ"],
			["gān"],
			["tóu"],
			["gèng"],
			["jìn"],
			["yī"],
			["bù"]
		],
		"百尺无枝": [
			["bǎi"],
			["chǐ"],
			["wú"],
			["zhī"]
		],
		"百川朝海": [
			["bǎi"],
			["chuān"],
			["cháo"],
			["hǎi"]
		],
		"百辞莫辩": [
			["bǎi"],
			["cí"],
			["mò"],
			["biàn"]
		],
		"百代过客": [
			["bǎi"],
			["dài"],
			["guò"],
			["kè"]
		],
		"百动不如一静": [
			["bǎi"],
			["dòng"],
			["bù"],
			["rú"],
			["yī"],
			["jìng"]
		],
		"百读不厌": [
			["bǎi"],
			["dú"],
			["bù"],
			["yàn"]
		],
		"百端待举": [
			["bǎi"],
			["duān"],
			["dài"],
			["jǔ"]
		],
		"百堕俱举": [
			["bǎi"],
			["huī"],
			["jù"],
			["jǔ"]
		],
		"百发百中": [
			["bǎi"],
			["fā"],
			["bǎi"],
			["zhòng"]
		],
		"百凡待举": [
			["bǎi"],
			["fán"],
			["dài"],
			["jǔ"]
		],
		"百废待举": [
			["bǎi"],
			["fèi"],
			["dài"],
			["jǔ"]
		],
		"百废待兴": [
			["bǎi"],
			["fèi"],
			["dài"],
			["xīng"]
		],
		"百废具兴": [
			["bǎi"],
			["fèi"],
			["jù"],
			["xīng"]
		],
		"百废俱兴": [
			["bǎi"],
			["fèi"],
			["jù"],
			["xīng"]
		],
		"百分比": [
			["bǎi"],
			["fēn"],
			["bǐ"]
		],
		"百分率": [
			["bǎi"],
			["fēn"],
			["lǜ"]
		],
		"百分数": [
			["bǎi"],
			["fēn"],
			["shù"]
		],
		"百分之百": [
			["bǎi"],
			["fēn"],
			["zhī"],
			["bǎi"]
		],
		"百分制": [
			["bǎi"],
			["fēn"],
			["zhì"]
		],
		"百夫长": [
			["bǎi"],
			["fū"],
			["zhǎng"]
		],
		"百怪千奇": [
			["bǎi"],
			["guài"],
			["qiān"],
			["qí"]
		],
		"百合花": [
			["bǎi"],
			["hé"],
			["huā"]
		],
		"百花齐放": [
			["bǎi"],
			["huā"],
			["qí"],
			["fàng"]
		],
		"百喙莫辩": [
			["bǎi"],
			["huì"],
			["mò"],
			["biàn"]
		],
		"百喙难辩": [
			["bǎi"],
			["huì"],
			["nán"],
			["biàn"]
		],
		"百喙难辞": [
			["bǎi"],
			["huì"],
			["nán"],
			["cí"]
		],
		"百家饭": [
			["bǎi"],
			["jiā"],
			["fàn"]
		],
		"百家姓": [
			["bǎi"],
			["jiā"],
			["xìng"]
		],
		"百家争鸣": [
			["bǎi"],
			["jiā"],
			["zhēng"],
			["míng"]
		],
		"百结愁肠": [
			["bǎi"],
			["jié"],
			["chóu"],
			["cháng"]
		],
		"百结悬鹑": [
			["bǎi"],
			["jié"],
			["xuán"],
			["chún"]
		],
		"百孔千创": [
			["bǎi"],
			["kǒng"],
			["qiān"],
			["chuāng"]
		],
		"百口莫辩": [
			["bǎi"],
			["kǒu"],
			["mò"],
			["biàn"]
		],
		"百口同声": [
			["bǎi"],
			["kǒu"],
			["tóng"],
			["shēng"]
		],
		"百口难分": [
			["bǎi"],
			["kǒu"],
			["nán"],
			["fēn"]
		],
		"百里挑一": [
			["bǎi"],
			["lǐ"],
			["tiāo"],
			["yī"]
		],
		"百炼成钢": [
			["bǎi"],
			["liàn"],
			["chéng"],
			["gāng"]
		],
		"百了千当": [
			["bǎi"],
			["liǎo"],
			["qiān"],
			["dāng"]
		],
		"百虑攒心": [
			["bǎi"],
			["lǜ"],
			["zǎn"],
			["xīn"]
		],
		"百慕大群岛": [
			["bǎi"],
			["mù"],
			["dà"],
			["qún"],
			["dǎo"]
		],
		"百年不遇": [
			["bǎi"],
			["nián"],
			["bù"],
			["yù"]
		],
		"百年大计": [
			["bǎi"],
			["nián"],
			["dà"],
			["jì"]
		],
		"百年大业": [
			["bǎi"],
			["nián"],
			["dà"],
			["yè"]
		],
		"百年好合": [
			["bǎi"],
			["nián"],
			["hǎo"],
			["hé"]
		],
		"百年难遇": [
			["bǎi"],
			["nián"],
			["nán"],
			["yù"]
		],
		"百年之好": [
			["bǎi"],
			["nián"],
			["zhī"],
			["hǎo"]
		],
		"百年好事": [
			["bǎi"],
			["nián"],
			["hǎo"],
			["shì"]
		],
		"百鸟朝凤": [
			["bǎi"],
			["niǎo"],
			["cháo"],
			["fèng"]
		],
		"百年之约": [
			["bǎi"],
			["nián"],
			["zhī"],
			["yuē"]
		],
		"百品千条": [
			["bǎi"],
			["pǐn"],
			["qiān"],
			["tiáo"]
		],
		"百日咳": [
			["bǎi"],
			["rì"],
			["hāi"]
		],
		"百舍重茧": [
			["bǎi"],
			["shè"],
			["chóng"],
			["jiǎn"]
		],
		"百身莫赎": [
			["bǎi"],
			["shēn"],
			["mò"],
			["shú"]
		],
		"百身何赎": [
			["bǎi"],
			["shēn"],
			["hé"],
			["shú"]
		],
		"百舍重趼": [
			["bǎi"],
			["shè"],
			["chóng"],
			["jiǎn"]
		],
		"百世不易": [
			["bǎi"],
			["shì"],
			["bù"],
			["yì"]
		],
		"百世不磨": [
			["bǎi"],
			["shì"],
			["bù"],
			["mó"]
		],
		"百事大吉": [
			["bǎi"],
			["shì"],
			["dà"],
			["jí"]
		],
		"百事可乐": [
			["bǎi"],
			["shì"],
			["kě"],
			["lè"]
		],
		"百兽率舞": [
			["bǎi"],
			["shòu"],
			["shuài"],
			["wǔ"]
		],
		"百思不得其解": [
			["bǎi"],
			["sī"],
			["bù"],
			["dé"],
			["qí"],
			["jiě"]
		],
		"百思不解": [
			["bǎi"],
			["sī"],
			["bù"],
			["jiě"]
		],
		"百思莫解": [
			["bǎi"],
			["sī"],
			["mò"],
			["jiě"]
		],
		"百岁之好": [
			["bǎi"],
			["suì"],
			["zhī"],
			["hǎo"]
		],
		"百万富翁": [
			["bǎi"],
			["wàn"],
			["fù"],
			["wēng"]
		],
		"百万雄兵": [
			["bǎi"],
			["wàn"],
			["xióng"],
			["bīng"]
		],
		"百万雄师": [
			["bǎi"],
			["wàn"],
			["xióng"],
			["shī"]
		],
		"百无禁忌": [
			["bǎi"],
			["wú"],
			["jìn"],
			["jì"]
		],
		"百闻不如一见": [
			["bǎi"],
			["wén"],
			["bù"],
			["rú"],
			["yī"],
			["jiàn"]
		],
		"百无是处": [
			["bǎi"],
			["wú"],
			["shì"],
			["chù"]
		],
		"百下百着": [
			["bǎi"],
			["xià"],
			["bǎi"],
			["zháo"]
		],
		"百无一能": [
			["bǎi"],
			["wú"],
			["yī"],
			["néng"]
		],
		"百星不如一月": [
			["bǎi"],
			["xīng"],
			["bù"],
			["rú"],
			["yī"],
			["yuè"]
		],
		"百业萧条": [
			["bǎi"],
			["yè"],
			["xiāo"],
			["tiáo"]
		],
		"百叶窗": [
			["bǎi"],
			["yè"],
			["chuāng"]
		],
		"百叶箱": [
			["bǎi"],
			["yè"],
			["xiāng"]
		],
		"百依百从": [
			["bǎi"],
			["yī"],
			["bǎi"],
			["cóng"]
		],
		"百战不殆": [
			["bǎi"],
			["zhàn"],
			["bù"],
			["dài"]
		],
		"百载树人": [
			["bǎi"],
			["zǎi"],
			["shù"],
			["rén"]
		],
		"百丈竿头": [
			["bǎi"],
			["zhàng"],
			["gān"],
			["tóu"]
		],
		"百折不回": [
			["bǎi"],
			["zhé"],
			["bù"],
			["huí"]
		],
		"百折不挠": [
			["bǎi"],
			["zhé"],
			["bù"],
			["náo"]
		],
		"百折不屈": [
			["bǎi"],
			["zhé"],
			["bù"],
			["qū"]
		],
		"百折不移": [
			["bǎi"],
			["zhé"],
			["bù"],
			["yí"]
		],
		"百折千回": [
			["bǎi"],
			["zhé"],
			["qiān"],
			["huí"]
		],
		"百中百发": [
			["bǎi"],
			["zhòng"],
			["bǎi"],
			["fā"]
		],
		"百紫千红": [
			["bǎi"],
			["zǐ"],
			["qiān"],
			["hóng"]
		],
		"百纵千随": [
			["bǎi"],
			["zòng"],
			["qiān"],
			["suí"]
		],
		"百足不僵": [
			["bǎi"],
			["zú"],
			["bù"],
			["jiāng"]
		],
		"柏拉图": [
			["bó"],
			["lā"],
			["tú"]
		],
		"柏油路": [
			["bǎi"],
			["yóu"],
			["lù"]
		],
		"柏舟之节": [
			["bǎi"],
			["zhōu"],
			["zhī"],
			["jié"]
		],
		"柏舟之誓": [
			["bǎi"],
			["zhōu"],
			["zhī"],
			["shì"]
		],
		"捭阖纵横": [
			["bǎi"],
			["hé"],
			["zòng"],
			["héng"]
		],
		"摆擂台": [
			["bǎi"],
			["lèi"],
			["tái"]
		],
		"摆尾摇头": [
			["bǎi"],
			["wěi"],
			["yáo"],
			["tóu"]
		],
		"败不旋踵": [
			["bài"],
			["bù"],
			["xuán"],
			["zhǒng"]
		],
		"败德辱行": [
			["bài"],
			["dé"],
			["rǔ"],
			["xíng"]
		],
		"败法乱纪": [
			["bài"],
			["fǎ"],
			["luàn"],
			["jì"]
		],
		"败国丧家": [
			["bài"],
			["guó"],
			["sàng"],
			["jiā"]
		],
		"败国亡家": [
			["bài"],
			["guó"],
			["wáng"],
			["jiā"]
		],
		"败绩失据": [
			["bài"],
			["jì"],
			["shī"],
			["jù"]
		],
		"败化伤风": [
			["bài"],
			["huà"],
			["shāng"],
			["fēng"]
		],
		"败家子": [
			["bài"],
			["jiā"],
			["zǐ"]
		],
		"败将残兵": [
			["bài"],
			["jiàng"],
			["cán"],
			["bīng"]
		],
		"败军之将": [
			["bài"],
			["jūn"],
			["zhī"],
			["jiàng"]
		],
		"败俗伤风": [
			["bài"],
			["sú"],
			["shāng"],
			["fēng"]
		],
		"败俗伤化": [
			["bài"],
			["sú"],
			["shāng"],
			["huà"]
		],
		"败兴而归": [
			["bài"],
			["xìng"],
			["ér"],
			["guī"]
		],
		"败血病": [
			["bài"],
			["xuè"],
			["bìng"]
		],
		"败血症": [
			["bài"],
			["xuè"],
			["zhèng"]
		],
		"拜把子": [
			["bài"],
			["bà"],
			["zi"]
		],
		"拜倒辕门": [
			["bài"],
			["dǎo"],
			["yuán"],
			["mén"]
		],
		"拜将封侯": [
			["bài"],
			["jiàng"],
			["fēng"],
			["hóu"]
		],
		"拜上帝会": [
			["bài"],
			["shàng"],
			["dì"],
			["huì"]
		],
		"拜天地": [
			["bài"],
			["tiān"],
			["dì"]
		],
		"拜物教": [
			["bài"],
			["wù"],
			["jiào"]
		],
		"稗官小说": [
			["bài"],
			["guān"],
			["xiǎo"],
			["shuō"]
		],
		"班班可考": [
			["bān"],
			["bān"],
			["kě"],
			["kǎo"]
		],
		"班禅额尔德尼": [
			["bān"],
			["chán"],
			["é"],
			["ěr"],
			["dé"],
			["ní"]
		],
		"班功行赏": [
			["bān"],
			["gōng"],
			["xíng"],
			["shǎng"]
		],
		"班门弄斧": [
			["bān"],
			["mén"],
			["nòng"],
			["fǔ"]
		],
		"班师得胜": [
			["bān"],
			["shī"],
			["dé"],
			["shèng"]
		],
		"班师回朝": [
			["bān"],
			["shī"],
			["huí"],
			["cháo"]
		],
		"班衣戏采": [
			["bān"],
			["yī"],
			["xì"],
			["cǎi"]
		],
		"斑衣戏彩": [
			["bān"],
			["yī"],
			["xì"],
			["cǎi"]
		],
		"搬唇弄舌": [
			["bān"],
			["chún"],
			["nòng"],
			["shé"]
		],
		"搬口弄舌": [
			["bān"],
			["kǒu"],
			["nòng"],
			["shé"]
		],
		"搬弄是非": [
			["bān"],
			["nòng"],
			["shì"],
			["fēi"]
		],
		"搬起石头打自己的脚": [
			["bān"],
			["qǐ"],
			["shí"],
			["tóu"],
			["dǎ"],
			["zì"],
			["jǐ"],
			["de"],
			["jiǎo"]
		],
		"搬石砸脚": [
			["bān"],
			["shí"],
			["zá"],
			["jiǎo"]
		],
		"阪上走丸": [
			["bǎn"],
			["shàng"],
			["zǒu"],
			["wán"]
		],
		"板板六十四": [
			["bǎn"],
			["bǎn"],
			["liù"],
			["shí"],
			["sì"]
		],
		"板上钉钉": [
			["bǎn"],
			["shàng"],
			["dìng"],
			["dīng"]
		],
		"板上砸钉": [
			["bǎn"],
			["shàng"],
			["zá"],
			["dīng"]
		],
		"版版六十四": [
			["bǎn"],
			["bǎn"],
			["liù"],
			["shí"],
			["sì"]
		],
		"版筑饭牛": [
			["bǎn"],
			["zhù"],
			["fàn"],
			["niú"]
		],
		"办不到": [
			["bàn"],
			["bú"],
			["dào"]
		],
		"办得到": [
			["bàn"],
			["dé"],
			["dào"]
		],
		"办公会议": [
			["bàn"],
			["gōng"],
			["huì"],
			["yì"]
		],
		"办事处": [
			["bàn"],
			["shì"],
			["chù"]
		],
		"办事员": [
			["bàn"],
			["shì"],
			["yuán"]
		],
		"半半拉拉": [
			["bàn"],
			["bàn"],
			["lā"],
			["lā"]
		],
		"半部论语": [
			["bàn"],
			["bù"],
			["lún"],
			["yǔ"]
		],
		"半部论语治天下": [
			["bàn"],
			["bù"],
			["lún"],
			["yǔ"],
			["zhì"],
			["tiān"],
			["xià"]
		],
		"半痴不颠": [
			["bàn"],
			["chī"],
			["bù"],
			["diān"]
		],
		"半筹不纳": [
			["bàn"],
			["chóu"],
			["bù"],
			["nà"]
		],
		"半大不小": [
			["bàn"],
			["dà"],
			["bù"],
			["xiǎo"]
		],
		"半筹莫展": [
			["bàn"],
			["chóu"],
			["mò"],
			["chǎn"]
		],
		"半导体": [
			["bàn"],
			["dǎo"],
			["tǐ"]
		],
		"半低不高": [
			["bàn"],
			["dī"],
			["bù"],
			["gāo"]
		],
		"半懂不懂": [
			["bàn"],
			["dǒng"],
			["bù"],
			["dǒng"]
		],
		"半工半读": [
			["bàn"],
			["gōng"],
			["bàn"],
			["dú"]
		],
		"半机械化": [
			["bàn"],
			["jī"],
			["xiè"],
			["huà"]
		],
		"半间半界": [
			["bàn"],
			["gān"],
			["bàn"],
			["gà"]
		],
		"半间不界": [
			["bàn"],
			["gān"],
			["bù"],
			["gà"]
		],
		"半解一知": [
			["bàn"],
			["jiě"],
			["yī"],
			["zhī"]
		],
		"半空中": [
			["bàn"],
			["kōng"],
			["zhōng"]
		],
		"半拉子": [
			["bàn"],
			["lǎ"],
			["zǐ"]
		],
		"半路出家": [
			["bàn"],
			["lù"],
			["chū"],
			["jiā"]
		],
		"半路修行": [
			["bàn"],
			["lù"],
			["xiū"],
			["xíng"]
		],
		"半面不忘": [
			["bàn"],
			["miàn"],
			["bù"],
			["wàng"]
		],
		"半农半牧区": [
			["bàn"],
			["nóng"],
			["bàn"],
			["mù"],
			["qū"]
		],
		"半三不四": [
			["bàn"],
			["sān"],
			["bù"],
			["sì"]
		],
		"半上半下": [
			["bàn"],
			["shàng"],
			["bàn"],
			["xià"]
		],
		"半上落下": [
			["bàn"],
			["shàng"],
			["luò"],
			["xià"]
		],
		"半身不遂": [
			["bàn"],
			["shēn"],
			["bù"],
			["suí"]
		],
		"半生不熟": [
			["bàn"],
			["shēng"],
			["bù"],
			["shú"]
		],
		"半衰期": [
			["bàn"],
			["shuāi"],
			["qī"]
		],
		"半死不活": [
			["bàn"],
			["sǐ"],
			["bù"],
			["huó"]
		],
		"半涂而罢": [
			["bàn"],
			["tú"],
			["ér"],
			["bà"]
		],
		"半吐半露": [
			["bàn"],
			["tǔ"],
			["bàn"],
			["lù"]
		],
		"半吞半吐": [
			["bàn"],
			["tūn"],
			["bàn"],
			["tǔ"]
		],
		"半文不白": [
			["bàn"],
			["wén"],
			["bù"],
			["bái"]
		],
		"半信半疑": [
			["bàn"],
			["xìn"],
			["bàn"],
			["yí"]
		],
		"半信不信": [
			["bàn"],
			["xìn"],
			["bù"],
			["xìn"]
		],
		"半新不旧": [
			["bàn"],
			["xīn"],
			["bù"],
			["jiù"]
		],
		"半夜三更": [
			["bàn"],
			["yè"],
			["sān"],
			["gēng"]
		],
		"半疑半信": [
			["bàn"],
			["yí"],
			["bàn"],
			["xìn"]
		],
		"半殖民地": [
			["bàn"],
			["zhí"],
			["mín"],
			["dì"]
		],
		"半真半假": [
			["bàn"],
			["zhēn"],
			["bàn"],
			["jiǎ"]
		],
		"半中间": [
			["bàn"],
			["zhōng"],
			["jiān"]
		],
		"半中腰": [
			["bàn"],
			["zhōng"],
			["yāo"]
		],
		"伴食宰相": [
			["bàn"],
			["shí"],
			["zǎi"],
			["xiàng"]
		],
		"伴食中书": [
			["bàn"],
			["shí"],
			["zhōng"],
			["shū"]
		],
		"绊脚石": [
			["bàn"],
			["jiǎo"],
			["shí"]
		],
		"邦以民为本": [
			["bāng"],
			["yǐ"],
			["mín"],
			["wéi"],
			["běn"]
		],
		"帮倒忙": [
			["bāng"],
			["dào"],
			["máng"]
		],
		"帮狗吃食": [
			["bāng"],
			["gǒu"],
			["chī"],
			["shí"]
		],
		"帮虎吃食": [
			["bāng"],
			["hǔ"],
			["chī"],
			["shí"]
		],
		"帮闲钻懒": [
			["bāng"],
			["xián"],
			["zuān"],
			["lǎn"]
		],
		"榜上无名": [
			["bǎng"],
			["shàng"],
			["wú"],
			["míng"]
		],
		"蚌病成珠": [
			["bàng"],
			["bìng"],
			["chéng"],
			["zhū"]
		],
		"膀大腰圆": [
			["bǎng"],
			["dà"],
			["yāo"],
			["yuán"]
		],
		"蚌病生珠": [
			["bàng"],
			["bìng"],
			["shēng"],
			["zhū"]
		],
		"蚌埠市": [
			["bèng"],
			["bù"],
			["shì"]
		],
		"蚌鹬相持": [
			["bàng"],
			["yù"],
			["xiāng"],
			["chí"]
		],
		"傍观冷眼": [
			["bàng"],
			["guān"],
			["lěng"],
			["yǎn"]
		],
		"傍观者清": [
			["bàng"],
			["guān"],
			["zhě"],
			["qīng"]
		],
		"傍人篱落": [
			["bàng"],
			["rén"],
			["lí"],
			["luò"]
		],
		"傍若无人": [
			["páng"],
			["ruò"],
			["wú"],
			["rén"]
		],
		"棒打鸳鸯": [
			["bàng"],
			["dǎ"],
			["yuān"],
			["yāng"]
		],
		"包藏祸心": [
			["bāo"],
			["cáng"],
			["huò"],
			["xīn"]
		],
		"包藏奸心": [
			["bāo"],
			["cáng"],
			["jiān"],
			["xīn"]
		],
		"包乘制": [
			["bāo"],
			["chéng"],
			["zhì"]
		],
		"包乘组": [
			["bāo"],
			["chéng"],
			["zǔ"]
		],
		"包打天下": [
			["bāo"],
			["dǎ"],
			["tiān"],
			["xià"]
		],
		"包打听": [
			["bāo"],
			["dǎ"],
			["tīng"]
		],
		"包干儿": [
			["bāo"],
			["gān"],
			["ér"]
		],
		"包干制": [
			["bāo"],
			["gān"],
			["zhì"]
		],
		"包工头": [
			["bāo"],
			["gōng"],
			["tóu"]
		],
		"包举宇内": [
			["bāo"],
			["jǔ"],
			["yǔ"],
			["nèi"]
		],
		"包罗万象": [
			["bāo"],
			["luó"],
			["wàn"],
			["xiàng"]
		],
		"包罗万有": [
			["bāo"],
			["luó"],
			["wàn"],
			["yǒu"]
		],
		"包头市": [
			["bāo"],
			["tóu"],
			["shì"]
		],
		"包围圈": [
			["bāo"],
			["wéi"],
			["quān"]
		],
		"苞苴竿牍": [
			["bāo"],
			["jū"],
			["gān"],
			["dú"]
		],
		"褒贬与夺": [
			["bǎo"],
			["biǎn"],
			["yǔ"],
			["duó"]
		],
		"褒善贬恶": [
			["bāo"],
			["shàn"],
			["biǎn"],
			["è"]
		],
		"宝刀不老": [
			["bǎo"],
			["dāo"],
			["bù"],
			["lǎo"]
		],
		"褒衣危冠": [
			["bāo"],
			["yī"],
			["wēi"],
			["guān"]
		],
		"宝贝疙瘩": [
			["bǎo"],
			["bèi"],
			["gē"],
			["dā"]
		],
		"宝盖头": [
			["bǎo"],
			["gài"],
			["tóu"]
		],
		"宝马香车": [
			["bǎo"],
			["mǎ"],
			["xiāng"],
			["chē"]
		],
		"宝山空回": [
			["bǎo"],
			["shān"],
			["kōng"],
			["huí"]
		],
		"饱汉不知饿汉饥": [
			["bǎo"],
			["hàn"],
			["bù"],
			["zhī"],
			["è"],
			["hàn"],
			["jī"]
		],
		"饱和点": [
			["bǎo"],
			["huó"],
			["diǎn"]
		],
		"饱和溶液": [
			["bǎo"],
			["hé"],
			["róng"],
			["yè"]
		],
		"饱经风霜": [
			["bǎo"],
			["jīng"],
			["fēng"],
			["shuāng"]
		],
		"饱经风雨": [
			["bǎo"],
			["jīng"],
			["fēng"],
			["yǔ"]
		],
		"饱暖思淫欲": [
			["bǎo"],
			["nuǎn"],
			["sī"],
			["yín"],
			["yù"]
		],
		"饱人不知饿人饥": [
			["bǎo"],
			["rén"],
			["bù"],
			["zhī"],
			["è"],
			["rén"],
			["jī"]
		],
		"饱食暖衣": [
			["bǎo"],
			["shí"],
			["nuǎn"],
			["yī"]
		],
		"饱食终日，无所用心": [
			["bǎo"],
			["shí"],
			["zhōng"],
			["rì"],
			["，"],
			["wú"],
			["suǒ"],
			["yòng"],
			["xīn"]
		],
		"饱食终日": [
			["bǎo"],
			["shí"],
			["zhōng"],
			["rì"]
		],
		"保不定": [
			["bǎo"],
			["bù"],
			["dìng"]
		],
		"保不住": [
			["bǎo"],
			["bú"],
			["zhù"]
		],
		"保不齐": [
			["bǎo"],
			["bù"],
			["qí"]
		],
		"保得住": [
			["bǎo"],
			["de"],
			["zhù"]
		],
		"保管员": [
			["bǎo"],
			["guǎn"],
			["yuán"]
		],
		"保家卫国": [
			["bǎo"],
			["jiā"],
			["wèi"],
			["guó"]
		],
		"保税区": [
			["bǎo"],
			["shuì"],
			["qū"]
		],
		"保外执行": [
			["bǎo"],
			["wài"],
			["zhí"],
			["xíng"]
		],
		"保险柜": [
			["bǎo"],
			["xiǎn"],
			["guì"]
		],
		"保育员": [
			["bǎo"],
			["yù"],
			["yuán"]
		],
		"保真度": [
			["bǎo"],
			["zhēn"],
			["dù"]
		],
		"报仇雪耻": [
			["bào"],
			["chóu"],
			["xuě"],
			["chǐ"]
		],
		"报仇雪恨": [
			["bào"],
			["chóu"],
			["xuě"],
			["hèn"]
		],
		"报务员": [
			["bào"],
			["wù"],
			["yuán"]
		],
		"报效万一": [
			["bào"],
			["xiào"],
			["wàn"],
			["yī"]
		],
		"报应不爽": [
			["bào"],
			["yìng"],
			["bù"],
			["shuǎng"]
		],
		"抱不平": [
			["bào"],
			["bù"],
			["píng"]
		],
		"抱打不平": [
			["bào"],
			["dǎ"],
			["bù"],
			["píng"]
		],
		"抱残守阙": [
			["bào"],
			["cán"],
			["shǒu"],
			["quē"]
		],
		"抱法处势": [
			["bào"],
			["fǎ"],
			["chǔ"],
			["shì"]
		],
		"抱佛脚": [
			["bào"],
			["fó"],
			["jiǎo"]
		],
		"抱负不凡": [
			["bào"],
			["fù"],
			["bù"],
			["fán"]
		],
		"抱关执钥": [
			["bào"],
			["guān"],
			["zhí"],
			["yuè"]
		],
		"抱蔓摘瓜": [
			["bào"],
			["wàn"],
			["zhāi"],
			["guā"]
		],
		"抱璞泣血": [
			["bào"],
			["pú"],
			["qì"],
			["xuè"]
		],
		"抱令守律": [
			["bào"],
			["lìng"],
			["shǒu"],
			["lǜ"]
		],
		"抱朴含真": [
			["bào"],
			["pǔ"],
			["hán"],
			["zhēn"]
		],
		"抱椠怀铅": [
			["bào"],
			["qiàn"],
			["huái"],
			["qiān"]
		],
		"抱头大哭": [
			["bào"],
			["tóu"],
			["dà"],
			["kū"]
		],
		"抱头鼠窜": [
			["bào"],
			["tóu"],
			["shǔ"],
			["cuàn"]
		],
		"抱枝拾叶": [
			["bào"],
			["zhī"],
			["shí"],
			["yè"]
		],
		"抱头痛哭": [
			["bào"],
			["tóu"],
			["tòng"],
			["kū"]
		],
		"抱柱之信": [
			["bào"],
			["zhù"],
			["zhī"],
			["xìn"]
		],
		"抱子弄孙": [
			["bào"],
			["zǐ"],
			["nòng"],
			["sūn"]
		],
		"豹头环眼": [
			["bào"],
			["tóu"],
			["huán"],
			["yǎn"]
		],
		"趵突泉": [
			["bō"],
			["tū"],
			["quán"]
		],
		"鲍子知我": [
			["bào"],
			["zǐ"],
			["zhī"],
			["wǒ"]
		],
		"暴发户": [
			["bào"],
			["fā"],
			["hù"]
		],
		"暴风疾雨": [
			["bào"],
			["fēng"],
			["jí"],
			["yǔ"]
		],
		"暴风雪": [
			["bào"],
			["fēng"],
			["xuě"]
		],
		"暴风雨": [
			["bào"],
			["fēng"],
			["yǔ"]
		],
		"暴风骤雨": [
			["bào"],
			["fēng"],
			["zhòu"],
			["yǔ"]
		],
		"暴虎冯河": [
			["bào"],
			["hǔ"],
			["píng"],
			["hé"]
		],
		"暴力革命": [
			["bào"],
			["lì"],
			["gé"],
			["mìng"]
		],
		"暴戾恣睢": [
			["bào"],
			["lì"],
			["zì"],
			["suī"]
		],
		"暴敛横征": [
			["bào"],
			["liǎn"],
			["héng"],
			["zhēng"]
		],
		"暴露文学": [
			["bào"],
			["lòu"],
			["wén"],
			["xué"]
		],
		"暴露无遗": [
			["bào"],
			["lù"],
			["wú"],
			["yí"]
		],
		"暴虐无道": [
			["bào"],
			["nüè"],
			["wú"],
			["dào"]
		],
		"暴内陵外": [
			["bào"],
			["nèi"],
			["líng"],
			["wài"]
		],
		"暴取豪夺": [
			["bào"],
			["qǔ"],
			["háo"],
			["duó"]
		],
		"暴跳如雷": [
			["bào"],
			["tiào"],
			["rú"],
			["léi"]
		],
		"暴殄天物": [
			["bào"],
			["tiǎn"],
			["tiān"],
			["wù"]
		],
		"暴腮龙门": [
			["pù"],
			["sāi"],
			["lóng"],
			["mén"]
		],
		"暴衣露盖": [
			["pù"],
			["yī"],
			["lù"],
			["gài"]
		],
		"暴衣露冠": [
			["pù"],
			["yī"],
			["lù"],
			["guàn"]
		],
		"暴饮暴食": [
			["bào"],
			["yǐn"],
			["bào"],
			["shí"]
		],
		"暴躁如雷": [
			["bào"],
			["zào"],
			["rú"],
			["léi"]
		],
		"爆发力": [
			["bào"],
			["fā"],
			["lì"]
		],
		"爆跳如雷": [
			["bào"],
			["tiào"],
			["rú"],
			["léi"]
		],
		"陂湖禀量": [
			["bēi"],
			["hú"],
			["bǐng"],
			["liáng"]
		],
		"卑卑不足道": [
			["bēi"],
			["bēi"],
			["bù"],
			["zú"],
			["dào"]
		],
		"卑辞重币": [
			["bēi"],
			["cí"],
			["zhòng"],
			["bì"]
		],
		"卑不足道": [
			["bēi"],
			["bù"],
			["zú"],
			["dào"]
		],
		"卑宫菲食": [
			["bēi"],
			["gōng"],
			["fěi"],
			["shí"]
		],
		"卑躬屈节": [
			["bēi"],
			["gōng"],
			["qū"],
			["jié"]
		],
		"卑身贱体": [
			["bēi"],
			["shēn"],
			["jiàn"],
			["tǐ"]
		],
		"卑身屈体": [
			["bēi"],
			["shēn"],
			["qū"],
			["tǐ"]
		],
		"卑之无甚高论": [
			["bēi"],
			["zhī"],
			["wú"],
			["shèn"],
			["gāo"],
			["lùn"]
		],
		"杯弓蛇影": [
			["bēi"],
			["gōng"],
			["shé"],
			["yǐng"]
		],
		"杯酒解怨": [
			["bēi"],
			["jiǔ"],
			["jiě"],
			["yuàn"]
		],
		"杯盘狼藉": [
			["bēi"],
			["pán"],
			["láng"],
			["jí"]
		],
		"杯蛇鬼车": [
			["bēi"],
			["shé"],
			["guǐ"],
			["chē"]
		],
		"杯蛇幻影": [
			["bēi"],
			["shé"],
			["huàn"],
			["yǐng"]
		],
		"杯水车薪": [
			["bēi"],
			["shuǐ"],
			["chē"],
			["xīn"]
		],
		"杯影蛇弓": [
			["bēi"],
			["yǐng"],
			["shé"],
			["gōng"]
		],
		"杯中蛇影": [
			["bēi"],
			["zhōng"],
			["shé"],
			["yǐng"]
		],
		"杯中物": [
			["bēi"],
			["zhōng"],
			["wù"]
		],
		"悲悲切切": [
			["bēi"],
			["bēi"],
			["qiè"],
			["qiē"]
		],
		"杯中之物": [
			["bēi"],
			["zhōng"],
			["zhī"],
			["wù"]
		],
		"悲不自胜": [
			["bēi"],
			["bù"],
			["zì"],
			["shèng"]
		],
		"悲从中来": [
			["bēi"],
			["cóng"],
			["zhōng"],
			["lái"]
		],
		"悲愤填膺": [
			["bēi"],
			["fèn"],
			["tián"],
			["yīng"]
		],
		"悲歌击筑": [
			["bēi"],
			["gē"],
			["jī"],
			["zhù"]
		],
		"悲观厌世": [
			["bēi"],
			["guān"],
			["yàn"],
			["shì"]
		],
		"悲欢离合": [
			["bēi"],
			["huān"],
			["lí"],
			["hé"]
		],
		"悲声载道": [
			["bēi"],
			["shēng"],
			["zài"],
			["dào"]
		],
		"北爱尔兰": [
			["běi"],
			["ài"],
			["ěr"],
			["lán"]
		],
		"北半球": [
			["běi"],
			["bàn"],
			["qiú"]
		],
		"北鄙之声": [
			["bēi"],
			["bǐ"],
			["zhī"],
			["shēng"]
		],
		"北鄙之音": [
			["bēi"],
			["bǐ"],
			["zhī"],
			["yīn"]
		],
		"北冰洋": [
			["běi"],
			["bīng"],
			["yáng"]
		],
		"北部湾": [
			["běi"],
			["bù"],
			["wān"]
		],
		"北辰星拱": [
			["bēi"],
			["chén"],
			["xīng"],
			["gǒng"]
		],
		"北窗高卧": [
			["bēi"],
			["chuāng"],
			["gāo"],
			["wò"]
		],
		"北大荒": [
			["běi"],
			["dà"],
			["huāng"]
		],
		"北戴河": [
			["běi"],
			["dài"],
			["hé"]
		],
		"北道主人": [
			["běi"],
			["dào"],
			["zhǔ"],
			["rén"]
		],
		"北斗七星": [
			["běi"],
			["dǒu"],
			["qī"],
			["xīng"]
		],
		"北斗星": [
			["běi"],
			["dǒu"],
			["xīng"]
		],
		"北斗之尊": [
			["běi"],
			["dǒu"],
			["zhī"],
			["zūn"]
		],
		"北伐战争": [
			["běi"],
			["fá"],
			["zhàn"],
			["zhēng"]
		],
		"北伐军": [
			["běi"],
			["fá"],
			["jūn"]
		],
		"北方方言": [
			["běi"],
			["fāng"],
			["fāng"],
			["yán"]
		],
		"北方话": [
			["běi"],
			["fāng"],
			["huà"]
		],
		"北方交通大学": [
			["běi"],
			["fāng"],
			["jiāo"],
			["tōng"],
			["dà"],
			["xué"]
		],
		"北方人": [
			["běi"],
			["fāng"],
			["rén"]
		],
		"北风之恋": [
			["běi"],
			["fēng"],
			["zhī"],
			["liàn"]
		],
		"北宫婴儿": [
			["běi"],
			["gōng"],
			["yīng"],
			["ér"]
		],
		"北郭先生": [
			["běi"],
			["guō"],
			["xiān"],
			["shēng"]
		],
		"北海道": [
			["běi"],
			["hǎi"],
			["dào"]
		],
		"北海市": [
			["běi"],
			["hǎi"],
			["shì"]
		],
		"北寒带": [
			["běi"],
			["hán"],
			["dài"]
		],
		"北极光": [
			["běi"],
			["jí"],
			["guāng"]
		],
		"北极圈": [
			["běi"],
			["jí"],
			["quān"]
		],
		"北极星": [
			["běi"],
			["jí"],
			["xīng"]
		],
		"北极熊": [
			["běi"],
			["jí"],
			["xióng"]
		],
		"北京大学": [
			["běi"],
			["jīng"],
			["dà"],
			["xué"]
		],
		"北京话": [
			["běi"],
			["jīng"],
			["huà"]
		],
		"北京科技大学": [
			["běi"],
			["jīng"],
			["kē"],
			["jì"],
			["dà"],
			["xué"]
		],
		"北京理工大学": [
			["běi"],
			["jīng"],
			["lǐ"],
			["gōng"],
			["dà"],
			["xué"]
		],
		"北京林业大学": [
			["běi"],
			["jīng"],
			["lín"],
			["yè"],
			["dà"],
			["xué"]
		],
		"北京人": [
			["běi"],
			["jīng"],
			["rén"]
		],
		"北京师范大学": [
			["běi"],
			["jīng"],
			["shī"],
			["fàn"],
			["dà"],
			["xué"]
		],
		"北京时间": [
			["běi"],
			["jīng"],
			["shí"],
			["jiān"]
		],
		"北京市": [
			["běi"],
			["jīng"],
			["shì"]
		],
		"北京鸭": [
			["běi"],
			["jīng"],
			["yā"]
		],
		"北京医科大学": [
			["běi"],
			["jīng"],
			["yī"],
			["kē"],
			["dà"],
			["xué"]
		],
		"北京猿人": [
			["běi"],
			["jīng"],
			["yuán"],
			["rén"]
		],
		"北门南牙": [
			["běi"],
			["mén"],
			["nán"],
			["yá"]
		],
		"北门管钥": [
			["běi"],
			["mén"],
			["guǎn"],
			["yuè"]
		],
		"北门锁钥": [
			["běi"],
			["mén"],
			["suǒ"],
			["yuè"]
		],
		"北门之管": [
			["běi"],
			["mén"],
			["zhī"],
			["guǎn"]
		],
		"北门之寄": [
			["běi"],
			["mén"],
			["zhī"],
			["jì"]
		],
		"北面称臣": [
			["běi"],
			["miàn"],
			["chēng"],
			["chén"]
		],
		"北叟失马": [
			["běi"],
			["sǒu"],
			["shī"],
			["mǎ"]
		],
		"北温带": [
			["běi"],
			["wēn"],
			["dài"]
		],
		"北洋军阀": [
			["běi"],
			["yáng"],
			["jūn"],
			["fá"]
		],
		"北辕适楚": [
			["běi"],
			["yuán"],
			["shì"],
			["chǔ"]
		],
		"北辕适粤": [
			["běi"],
			["yuán"],
			["shì"],
			["yuè"]
		],
		"北辙南辕": [
			["běi"],
			["zhé"],
			["nán"],
			["yuán"]
		],
		"贝阙珠宫": [
			["bèi"],
			["què"],
			["zhū"],
			["gōng"]
		],
		"备不住": [
			["bèi"],
			["bú"],
			["zhù"]
		],
		"备多力分": [
			["bèi"],
			["duō"],
			["lì"],
			["fēn"]
		],
		"备而不用": [
			["bèi"],
			["ér"],
			["bù"],
			["yòng"]
		],
		"备位充数": [
			["bèi"],
			["wèi"],
			["chōng"],
			["shù"]
		],
		"背暗投明": [
			["bèi"],
			["àn"],
			["tóu"],
			["míng"]
		],
		"背包袱": [
			["bēi"],
			["bāo"],
			["fú"]
		],
		"背碑覆局": [
			["bèi"],
			["bēi"],
			["fù"],
			["jú"]
		],
		"背本趋末": [
			["bèi"],
			["běn"],
			["qū"],
			["mò"]
		],
		"背不住": [
			["bèi"],
			["bú"],
			["zhù"]
		],
		"背本就末": [
			["bèi"],
			["běn"],
			["jiù"],
			["mò"]
		],
		"背城借一": [
			["bèi"],
			["chéng"],
			["jiè"],
			["yī"]
		],
		"背城一战": [
			["bèi"],
			["chéng"],
			["yī"],
			["zhàn"]
		],
		"背搭子": [
			["bèi"],
			["dā"],
			["zǐ"]
		],
		"背带裤": [
			["bēi"],
			["dài"],
			["kù"]
		],
		"背带裙": [
			["bēi"],
			["dài"],
			["qún"]
		],
		"背道而驰": [
			["bèi"],
			["dào"],
			["ér"],
			["chí"]
		],
		"背地里": [
			["bèi"],
			["dì"],
			["lǐ"]
		],
		"背恩负义": [
			["bèi"],
			["ēn"],
			["fù"],
			["yì"]
		],
		"背恩弃义": [
			["bèi"],
			["ēn"],
			["qì"],
			["yì"]
		],
		"背恩忘义": [
			["bèi"],
			["ēn"],
			["wàng"],
			["yì"]
		],
		"背风面": [
			["bèi"],
			["fēng"],
			["miàn"]
		],
		"背腹受敌": [
			["bèi"],
			["fù"],
			["shòu"],
			["dí"]
		],
		"背公向私": [
			["bèi"],
			["gōng"],
			["xiàng"],
			["sī"]
		],
		"背公营私": [
			["bèi"],
			["gōng"],
			["yíng"],
			["sī"]
		],
		"背光性": [
			["bèi"],
			["guāng"],
			["xìng"]
		],
		"背黑锅": [
			["bēi"],
			["hēi"],
			["guō"]
		],
		"背惠食言": [
			["bèi"],
			["huì"],
			["shí"],
			["yán"]
		],
		"背井离乡": [
			["bèi"],
			["jǐng"],
			["lí"],
			["xiāng"]
		],
		"背靠背": [
			["bèi"],
			["kào"],
			["bèi"]
		],
		"背盟败约": [
			["bèi"],
			["méng"],
			["bài"],
			["yuē"]
		],
		"背前面后": [
			["bèi"],
			["qián"],
			["miàn"],
			["hòu"]
		],
		"背曲腰躬": [
			["bèi"],
			["qǔ"],
			["yāo"],
			["gōng"]
		],
		"背曲腰弯": [
			["bèi"],
			["qǔ"],
			["yāo"],
			["wān"]
		],
		"背日性": [
			["bèi"],
			["rì"],
			["xìng"]
		],
		"背若芒刺": [
			["bèi"],
			["ruò"],
			["máng"],
			["cì"]
		],
		"背山起楼": [
			["bèi"],
			["shān"],
			["qǐ"],
			["lóu"]
		],
		"背生芒刺": [
			["bèi"],
			["shēng"],
			["máng"],
			["cì"]
		],
		"背水一战": [
			["bèi"],
			["shuǐ"],
			["yī"],
			["zhàn"]
		],
		"背水阵": [
			["bèi"],
			["shuǐ"],
			["zhèn"]
		],
		"背乡离井": [
			["bèi"],
			["xiāng"],
			["lí"],
			["jǐng"]
		],
		"背信弃义": [
			["bèi"],
			["xìn"],
			["qì"],
			["yì"]
		],
		"背义负恩": [
			["bèi"],
			["yù"],
			["fù"],
			["ēn"]
		],
		"背义负信": [
			["bèi"],
			["yù"],
			["fù"],
			["xìn"]
		],
		"背义忘恩": [
			["bèi"],
			["yù"],
			["wàng"],
			["ēn"]
		],
		"背着手": [
			["bèi"],
			["zhe"],
			["shǒu"]
		],
		"倍道而行": [
			["bèi"],
			["dào"],
			["ér"],
			["xíng"]
		],
		"倍道兼行": [
			["bèi"],
			["dào"],
			["jiān"],
			["xíng"]
		],
		"倍日并行": [
			["bèi"],
			["rì"],
			["bìng"],
			["xíng"]
		],
		"被宠若惊": [
			["bèi"],
			["chǒng"],
			["ruò"],
			["jīng"]
		],
		"被动式": [
			["bèi"],
			["dòng"],
			["shì"]
		],
		"被发文身": [
			["pī"],
			["fà"],
			["wén"],
			["shēn"]
		],
		"被发缨冠": [
			["pī"],
			["fà"],
			["yīng"],
			["guàn"]
		],
		"被发左衽": [
			["pī"],
			["fà"],
			["zuǒ"],
			["rèn"]
		],
		"被告人": [
			["bèi"],
			["gào"],
			["rén"]
		],
		"被害人": [
			["bèi"],
			["hài"],
			["rén"]
		],
		"被褐怀玉": [
			["pī"],
			["hè"],
			["huái"],
			["yù"]
		],
		"被褐怀珠": [
			["pī"],
			["hè"],
			["huái"],
			["zhū"]
		],
		"被甲持兵": [
			["pī"],
			["jiǎ"],
			["chí"],
			["bīng"]
		],
		"被甲据鞍": [
			["pī"],
			["jiǎ"],
			["jù"],
			["ān"]
		],
		"被甲枕戈": [
			["pī"],
			["jiǎ"],
			["zhěn"],
			["gē"]
		],
		"被甲执兵": [
			["pī"],
			["jiǎ"],
			["zhí"],
			["bīng"]
		],
		"被山带河": [
			["pī"],
			["shān"],
			["dài"],
			["hé"]
		],
		"被窝儿": [
			["bèi"],
			["wō"],
			["ér"]
		],
		"被选举权": [
			["bèi"],
			["xuǎn"],
			["jǔ"],
			["quán"]
		],
		"被泽蒙庥": [
			["bèi"],
			["zé"],
			["méng"],
			["xiū"]
		],
		"被子植物": [
			["bèi"],
			["zi"],
			["zhí"],
			["wù"]
		],
		"辈数儿": [
			["bèi"],
			["shù"],
			["ér"]
		],
		"奔头儿": [
			["bèn"],
			["tou"],
			["er"]
		],
		"奔轶绝尘": [
			["bēn"],
			["yì"],
			["jué"],
			["chén"]
		],
		"奔逸绝尘": [
			["bēn"],
			["yì"],
			["jué"],
			["chén"]
		],
		"奔走呼号": [
			["bēn"],
			["zǒu"],
			["hū"],
			["háo"]
		],
		"奔走如市": [
			["bēn"],
			["zǒu"],
			["rú"],
			["shì"]
		],
		"奔走相告": [
			["bēn"],
			["zǒu"],
			["xiāng"],
			["gào"]
		],
		"奔走之友": [
			["bēn"],
			["zǒu"],
			["zhī"],
			["yǒu"]
		],
		"奔走钻营": [
			["bēn"],
			["zǒu"],
			["zuān"],
			["yíng"]
		],
		"本本分分": [
			["běn"],
			["běn"],
			["fèn"],
			["fēn"]
		],
		"本地人": [
			["běn"],
			["dì"],
			["rén"]
		],
		"本固邦宁": [
			["běn"],
			["gù"],
			["bāng"],
			["níng"]
		],
		"本固枝荣": [
			["běn"],
			["gù"],
			["zhī"],
			["róng"]
		],
		"本末倒置": [
			["běn"],
			["mò"],
			["dào"],
			["zhì"]
		],
		"本年度": [
			["běn"],
			["nián"],
			["dù"]
		],
		"本世纪": [
			["běn"],
			["shì"],
			["jì"]
		],
		"本同末离": [
			["běn"],
			["tóng"],
			["mò"],
			["lí"]
		],
		"本同末异": [
			["běn"],
			["tóng"],
			["mò"],
			["yì"]
		],
		"本相毕露": [
			["běn"],
			["xiàng"],
			["bì"],
			["lù"]
		],
		"本性难移": [
			["běn"],
			["xìng"],
			["nán"],
			["yí"]
		],
		"本枝百世": [
			["běn"],
			["zhī"],
			["bǒi"],
			["shì"]
		],
		"笨头笨脑": [
			["bèn"],
			["tóu"],
			["bèn"],
			["nǎo"]
		],
		"绷扒吊拷": [
			["bēng"],
			["bā"],
			["diào"],
			["kǎo"]
		],
		"绷巴吊拷": [
			["bēng"],
			["bā"],
			["diào"],
			["kǎo"]
		],
		"绷场面": [
			["bēng"],
			["chǎng"],
			["miàn"]
		],
		"绷爬吊拷": [
			["bēng"],
			["pá"],
			["diào"],
			["kǎo"]
		],
		"蹦蹦跳跳": [
			["bèng"],
			["bèng"],
			["tiào"],
			["tiào"]
		],
		"逼不得已": [
			["bī"],
			["bù"],
			["dé"],
			["yǐ"]
		],
		"逼供信": [
			["bī"],
			["gòng"],
			["xìn"]
		],
		"逼良为娼": [
			["bī"],
			["liáng"],
			["wéi"],
			["chāng"]
		],
		"逼上梁山": [
			["bī"],
			["shàng"],
			["liáng"],
			["shān"]
		],
		"逼人太甚": [
			["bī"],
			["rén"],
			["tài"],
			["shèn"]
		],
		"鼻孔朝天": [
			["bí"],
			["kǒng"],
			["cháo"],
			["tiān"]
		],
		"鼻孔撩天": [
			["bí"],
			["kǒng"],
			["liáo"],
			["tiān"]
		],
		"鼻头出火": [
			["bí"],
			["tóu"],
			["chū"],
			["huǒ"]
		],
		"鼻咽癌": [
			["bí"],
			["yān"],
			["ái"]
		],
		"鼻中隔": [
			["bí"],
			["zhōng"],
			["gé"]
		],
		"匕鬯不惊": [
			["bǐ"],
			["chàng"],
			["bù"],
			["jīng"]
		],
		"比户可封": [
			["bǐ"],
			["hù"],
			["kě"],
			["fēng"]
		],
		"比肩并起": [
			["bǐ"],
			["jiān"],
			["bìng"],
			["qǐ"]
		],
		"比肩齐声": [
			["bǐ"],
			["jiān"],
			["qí"],
			["shēng"]
		],
		"比肩系踵": [
			["bǐ"],
			["jiān"],
			["xì"],
			["zhǒng"]
		],
		"比较价格": [
			["bǐ"],
			["jiào"],
			["jià"],
			["gé"]
		],
		"比较语言学": [
			["bǐ"],
			["jiào"],
			["yǔ"],
			["yán"],
			["xué"]
		],
		"比勒陀利亚": [
			["bǐ"],
			["lè"],
			["tuó"],
			["lì"],
			["yà"]
		],
		"比类从事": [
			["bǐ"],
			["lèi"],
			["cóng"],
			["shì"]
		],
		"比例尺": [
			["bǐ"],
			["lì"],
			["chǐ"]
		],
		"比量齐观": [
			["bǐ"],
			["liàng"],
			["qí"],
			["guān"]
		],
		"比目连枝": [
			["bǐ"],
			["mù"],
			["lián"],
			["zhī"]
		],
		"比年不登": [
			["bǐ"],
			["nián"],
			["bù"],
			["dēng"]
		],
		"比权量力": [
			["bǐ"],
			["quán"],
			["liàng"],
			["lì"]
		],
		"比手划脚": [
			["bǐ"],
			["shǒu"],
			["huà"],
			["jiǎo"]
		],
		"比岁不登": [
			["bǐ"],
			["suì"],
			["bù"],
			["dēng"]
		],
		"比屋可封": [
			["bǐ"],
			["wū"],
			["kě"],
			["fēng"]
		],
		"比物属事": [
			["bǐ"],
			["wù"],
			["zhǔ"],
			["shì"]
		],
		"比物假事": [
			["bǐ"],
			["wù"],
			["jiǎ"],
			["shì"]
		],
		"比翼连枝": [
			["bǐ"],
			["yì"],
			["lián"],
			["zhī"]
		],
		"比翼齐飞": [
			["bǐ"],
			["yì"],
			["qí"],
			["fēi"]
		],
		"比众不同": [
			["bǐ"],
			["zhòng"],
			["bù"],
			["tóng"]
		],
		"彼倡此和": [
			["bǐ"],
			["chàng"],
			["cǐ"],
			["hè"]
		],
		"彼唱此和": [
			["bǐ"],
			["chàng"],
			["cǐ"],
			["hè"]
		],
		"秕言谬说": [
			["bǐ"],
			["yán"],
			["miù"],
			["shuò"]
		],
		"笔大如椽": [
			["bǐ"],
			["dà"],
			["rú"],
			["chuán"]
		],
		"笔底超生": [
			["bǐ"],
			["dǐ"],
			["chāo"],
			["shēng"]
		],
		"笔底春风": [
			["bǐ"],
			["dǐ"],
			["chūn"],
			["fēng"]
		],
		"笔底龙蛇": [
			["bǐ"],
			["dǐ"],
			["lóng"],
			["shé"]
		],
		"笔底生花": [
			["bǐ"],
			["dǐ"],
			["shēng"],
			["huā"]
		],
		"笔底下": [
			["bǐ"],
			["dǐ"],
			["xià"]
		],
		"笔杆儿": [
			["bǐ"],
			["gǎn"],
			["ér"]
		],
		"笔管条直": [
			["bǐ"],
			["guǎn"],
			["tiáo"],
			["zhí"]
		],
		"笔墨横姿": [
			["bǐ"],
			["mò"],
			["héng"],
			["zī"]
		],
		"笔扫千军": [
			["bǐ"],
			["sǎo"],
			["qiān"],
			["jūn"]
		],
		"笔头儿": [
			["bǐ"],
			["tou"],
			["er"]
		],
		"笔头生花": [
			["bǐ"],
			["tóu"],
			["shēng"],
			["huā"]
		],
		"笔冢研穿": [
			["bǐ"],
			["zhǒng"],
			["yán"],
			["chuān"]
		],
		"笔削褒贬": [
			["bǐ"],
			["xuē"],
			["bāo"],
			["biǎn"]
		],
		"笔走龙蛇": [
			["bǐ"],
			["zǒu"],
			["lóng"],
			["shé"]
		],
		"鄙俚浅陋": [
			["bǐ"],
			["lǐ"],
			["qiǎn"],
			["lòu"]
		],
		"鄙夷不屑": [
			["bǐ"],
			["yí"],
			["bù"],
			["xiè"]
		],
		"鄙于不屑": [
			["bǐ"],
			["yú"],
			["bù"],
			["xiè"]
		],
		"币重言甘": [
			["bì"],
			["zhòng"],
			["yán"],
			["gān"]
		],
		"必不得已": [
			["bì"],
			["bù"],
			["dé"],
			["yǐ"]
		],
		"必不可少": [
			["bì"],
			["bù"],
			["kě"],
			["shǎo"]
		],
		"必不挠北": [
			["bì"],
			["bù"],
			["náo"],
			["běi"]
		],
		"必操胜券": [
			["bì"],
			["cāo"],
			["shèng"],
			["quàn"]
		],
		"必躬必亲": [
			["bì"],
			["gōng"],
			["bì"],
			["qīn"]
		],
		"必然王国": [
			["bì"],
			["rán"],
			["wáng"],
			["guó"]
		],
		"必要产品": [
			["bì"],
			["yào"],
			["chǎn"],
			["pǐn"]
		],
		"必要劳动": [
			["bì"],
			["yào"],
			["láo"],
			["dòng"]
		],
		"必要条件": [
			["bì"],
			["yào"],
			["tiáo"],
			["jiàn"]
		],
		"必也正名": [
			["bì"],
			["yě"],
			["zhèng"],
			["míng"]
		],
		"必争之地": [
			["bì"],
			["zhēng"],
			["zhī"],
			["dì"]
		],
		"毕达哥拉斯": [
			["bì"],
			["dá"],
			["gē"],
			["lā"],
			["sī"]
		],
		"毕力同心": [
			["bì"],
			["lì"],
			["tóng"],
			["xīn"]
		],
		"毕其功于一役": [
			["bì"],
			["qí"],
			["gōng"],
			["yú"],
			["yī"],
			["yì"]
		],
		"毕业论文": [
			["bì"],
			["yè"],
			["lùn"],
			["wén"]
		],
		"毕雨箕风": [
			["bì"],
			["yǔ"],
			["jī"],
			["fēng"]
		],
		"闭阁思过": [
			["bì"],
			["gé"],
			["sī"],
			["guò"]
		],
		"闭关却扫": [
			["bì"],
			["guān"],
			["què"],
			["sǎo"]
		],
		"闭合电路": [
			["bì"],
			["hé"],
			["diàn"],
			["lù"]
		],
		"闭合思过": [
			["bì"],
			["gé"],
			["sī"],
			["guò"]
		],
		"闭合自责": [
			["bì"],
			["gé"],
			["zì"],
			["zé"]
		],
		"闭户读书": [
			["bì"],
			["hù"],
			["dú"],
			["shū"]
		],
		"闭口不言": [
			["bì"],
			["kǒu"],
			["bù"],
			["yán"]
		],
		"闭口藏舌": [
			["bì"],
			["kǒu"],
			["cáng"],
			["shé"]
		],
		"闭口结舌": [
			["bì"],
			["kǒu"],
			["jié"],
			["shé"]
		],
		"闭门不出": [
			["bì"],
			["mén"],
			["bù"],
			["chū"]
		],
		"闭门不纳": [
			["bì"],
			["mén"],
			["bù"],
			["nà"]
		],
		"闭门读书": [
			["bì"],
			["mén"],
			["dú"],
			["shū"]
		],
		"闭门合辙": [
			["bì"],
			["kǒu"],
			["hé"],
			["shé"]
		],
		"闭门却扫": [
			["bì"],
			["mén"],
			["què"],
			["sǎo"]
		],
		"闭门觅句": [
			["bì"],
			["mén"],
			["mì"],
			["jù"]
		],
		"闭门塞窦": [
			["bì"],
			["kǒu"],
			["sè"],
			["dòu"]
		],
		"闭门塞户": [
			["bì"],
			["kǒu"],
			["sè"],
			["hù"]
		],
		"闭门扫轨": [
			["bì"],
			["mén"],
			["sǎo"],
			["guǐ"]
		],
		"闭门扫迹": [
			["bì"],
			["kǒu"],
			["sǎo"],
			["guǐ"]
		],
		"闭门埽轨": [
			["bì"],
			["mén"],
			["sào"],
			["guǐ"]
		],
		"闭门思过": [
			["bì"],
			["mén"],
			["sī"],
			["guò"]
		],
		"闭门造车": [
			["bì"],
			["mén"],
			["zào"],
			["chē"]
		],
		"闭门思愆": [
			["bì"],
			["gé"],
			["sī"],
			["qiān"]
		],
		"闭明塞聪": [
			["bì"],
			["míng"],
			["sè"],
			["cōng"]
		],
		"闭目塞聪": [
			["bì"],
			["mù"],
			["sāi"],
			["cōng"]
		],
		"闭目塞耳": [
			["bì"],
			["mù"],
			["sè"],
			["ěr"]
		],
		"闭目塞听": [
			["bì"],
			["mù"],
			["sè"],
			["tīng"]
		],
		"闭塞眼睛捉麻雀": [
			["bì"],
			["sè"],
			["yǎn"],
			["jīng"],
			["zhuō"],
			["má"],
			["què"]
		],
		"婢作夫人": [
			["bì"],
			["zuò"],
			["fū"],
			["rén"]
		],
		"敝鼓丧豚": [
			["bì"],
			["gǔ"],
			["sàng"],
			["tún"]
		],
		"敝盖不弃": [
			["bǐ"],
			["gài"],
			["bù"],
			["qì"]
		],
		"敝绨恶粟": [
			["bì"],
			["tí"],
			["è"],
			["sù"]
		],
		"敝帷不弃": [
			["bǐ"],
			["wéi"],
			["bù"],
			["qì"]
		],
		"敝綈恶粟": [
			["bì"],
			["tì"],
			["è"],
			["sù"]
		],
		"敝衣粝食": [
			["bì"],
			["yī"],
			["lì"],
			["shí"]
		],
		"弊车羸马": [
			["bì"],
			["chē"],
			["léi"],
			["mǎ"]
		],
		"弊绝风清": [
			["bì"],
			["jué"],
			["fēng"],
			["qīng"]
		],
		"弊衣箪食": [
			["bì"],
			["yī"],
			["dān"],
			["shí"]
		],
		"弊衣疏食": [
			["bì"],
			["yī"],
			["shū"],
			["shí"]
		],
		"弊衣蔬食": [
			["bì"],
			["yī"],
			["shū"],
			["shí"]
		],
		"碧鬟红袖": [
			["bì"],
			["huán"],
			["hóng"],
			["xiù"]
		],
		"碧空如洗": [
			["bì"],
			["kōng"],
			["rú"],
			["xǐ"]
		],
		"碧落黄泉": [
			["bì"],
			["luò"],
			["huáng"],
			["quán"]
		],
		"碧血丹心": [
			["bì"],
			["xuè"],
			["dān"],
			["xīn"]
		],
		"蔽聪塞明": [
			["bì"],
			["cōng"],
			["sè"],
			["míng"]
		],
		"蔽明塞聪": [
			["bì"],
			["míng"],
			["sè"],
			["cōng"]
		],
		"蔽日干云": [
			["bì"],
			["rì"],
			["gān"],
			["yún"]
		],
		"壁间蛇影": [
			["bì"],
			["jiān"],
			["shé"],
			["yǐng"]
		],
		"壁上观": [
			["bì"],
			["shàng"],
			["guān"]
		],
		"避而不谈": [
			["bì"],
			["ér"],
			["bù"],
			["tán"]
		],
		"避烦斗捷": [
			["bì"],
			["fán"],
			["dòu"],
			["jié"]
		],
		"避风港": [
			["bì"],
			["fēng"],
			["gǎng"]
		],
		"避迹藏时": [
			["bì"],
			["jì"],
			["cáng"],
			["shí"]
		],
		"避风头": [
			["bì"],
			["fēng"],
			["tou"]
		],
		"避坑落井": [
			["bì"],
			["kēng"],
			["luò"],
			["jǐng"]
		],
		"避凉附炎": [
			["bì"],
			["liáng"],
			["fù"],
			["yán"]
		],
		"避难就易": [
			["bì"],
			["nán"],
			["jiù"],
			["yì"]
		],
		"避难趋易": [
			["bì"],
			["nán"],
			["qiù"],
			["yì"]
		],
		"避溺山隅": [
			["bì"],
			["nì"],
			["shān"],
			["yú"]
		],
		"避强击惰": [
			["bì"],
			["qiáng"],
			["jī"],
			["duò"]
		],
		"避强打弱": [
			["bì"],
			["qiáng"],
			["dǎ"],
			["ruò"]
		],
		"避强击弱": [
			["bì"],
			["qiáng"],
			["jī"],
			["ruò"]
		],
		"避俗趋新": [
			["bì"],
			["sú"],
			["qū"],
			["xīn"]
		],
		"避凶趋吉": [
			["bì"],
			["xiōng"],
			["qū"],
			["jí"]
		],
		"避重就轻": [
			["bì"],
			["zhòng"],
			["jiù"],
			["qīng"]
		],
		"避之若浼": [
			["bì"],
			["zhī"],
			["ruò"],
			["měi"]
		],
		"避重逐轻": [
			["bì"],
			["zhòng"],
			["zhú"],
			["qīng"]
		],
		"璧合珠连": [
			["bì"],
			["hé"],
			["zhū"],
			["lián"]
		],
		"臂有四肘": [
			["bì"],
			["yǒu"],
			["sì"],
			["zhǒu"]
		],
		"璧合珠联": [
			["bì"],
			["hé"],
			["zhū"],
			["lián"]
		],
		"边尘不惊": [
			["biān"],
			["chén"],
			["bù"],
			["jīng"]
		],
		"边角料": [
			["biān"],
			["jiǎo"],
			["liào"]
		],
		"编年体": [
			["biān"],
			["nián"],
			["tǐ"]
		],
		"编织品": [
			["biān"],
			["zhī"],
			["pǐn"]
		],
		"编织物": [
			["biān"],
			["zhī"],
			["wù"]
		],
		"鞭辟近里": [
			["biān"],
			["pì"],
			["jìn"],
			["lǐ"]
		],
		"鞭辟入里": [
			["biān"],
			["pì"],
			["rù"],
			["lǐ"]
		],
		"鞭辟向里": [
			["biān"],
			["bì"],
			["xiàng"],
			["lǐ"]
		],
		"鞭辟着里": [
			["biān"],
			["bì"],
			["zhuó"],
			["lǐ"]
		],
		"鞭不及腹": [
			["biān"],
			["bù"],
			["jí"],
			["fù"]
		],
		"鞭长不及": [
			["biān"],
			["cháng"],
			["bù"],
			["jí"]
		],
		"鞭长不及马腹": [
			["biān"],
			["cháng"],
			["bù"],
			["jí"],
			["mǎ"],
			["fù"]
		],
		"鞭长驾远": [
			["biān"],
			["cháng"],
			["jià"],
			["yuǎn"]
		],
		"鞭长莫及": [
			["biān"],
			["cháng"],
			["mò"],
			["jí"]
		],
		"鞭打快牛": [
			["biān"],
			["dǎ"],
			["kuài"],
			["niú"]
		],
		"鞭擗进里": [
			["bīan"],
			["pì"],
			["jìn"],
			["lǐ"]
		],
		"鞭擗向里": [
			["biān"],
			["bì"],
			["xiàng"],
			["lǐ"]
		],
		"鞭约近里": [
			["biān"],
			["yuē"],
			["jīn"],
			["lǐ"]
		],
		"扁平足": [
			["biǎn"],
			["píng"],
			["zú"]
		],
		"扁桃体": [
			["biǎn"],
			["táo"],
			["tǐ"]
		],
		"扁桃体炎": [
			["biǎn"],
			["táo"],
			["tǐ"],
			["yán"]
		],
		"扁桃腺": [
			["biǎn"],
			["táo"],
			["xiàn"]
		],
		"扁形动物": [
			["biǎn"],
			["xíng"],
			["dòng"],
			["wù"]
		],
		"抃风舞润": [
			["biàn"],
			["fēng"],
			["wǔ"],
			["rùn"]
		],
		"抃风儛润": [
			["biàn"],
			["fēng"],
			["wǔ"],
			["rùn"]
		],
		"便步走": [
			["biàn"],
			["bù"],
			["zǒu"]
		],
		"便辞巧说": [
			["biàn"],
			["cí"],
			["qiǎo"],
			["shuō"]
		],
		"便携式": [
			["biàn"],
			["xié"],
			["shì"]
		],
		"便宜从事": [
			["biàn"],
			["yí"],
			["cóng"],
			["shì"]
		],
		"便宜货": [
			["pián"],
			["yí"],
			["huò"]
		],
		"便宜施行": [
			["biàn"],
			["yí"],
			["shī"],
			["xíng"]
		],
		"便宜行事": [
			["biàn"],
			["yì"],
			["xíng"],
			["shì"]
		],
		"变动不居": [
			["biàn"],
			["dòng"],
			["bù"],
			["jū"]
		],
		"变分法": [
			["biàn"],
			["fēn"],
			["fǎ"]
		],
		"变风改俗": [
			["biàn"],
			["fēng"],
			["yì"],
			["sú"]
		],
		"变化不测": [
			["biàn"],
			["huà"],
			["bù"],
			["cè"]
		],
		"变风易俗": [
			["biàn"],
			["fēng"],
			["yì"],
			["sú"]
		],
		"变化不穷": [
			["biàn"],
			["huà"],
			["bù"],
			["qióng"]
		],
		"变化多端": [
			["biàn"],
			["huà"],
			["duō"],
			["duān"]
		],
		"变化莫测": [
			["biàn"],
			["huà"],
			["mò"],
			["cè"]
		],
		"变化如神": [
			["biàn"],
			["huà"],
			["rú"],
			["shén"]
		],
		"变化无穷": [
			["biàn"],
			["huà"],
			["wú"],
			["qióng"]
		],
		"变化无常": [
			["biàn"],
			["huà"],
			["wú"],
			["cháng"]
		],
		"变幻不测": [
			["biàn"],
			["huà"],
			["bù"],
			["cè"]
		],
		"变幻莫测": [
			["biàn"],
			["huàn"],
			["mò"],
			["cè"]
		],
		"变生不测": [
			["biàn"],
			["shēng"],
			["bù"],
			["cè"]
		],
		"变俗易教": [
			["biàn"],
			["sú"],
			["yì"],
			["jiào"]
		],
		"变态反应": [
			["biàn"],
			["tài"],
			["fǎn"],
			["yìng"]
		],
		"变危为安": [
			["biàn"],
			["wēi"],
			["wéi"],
			["ān"]
		],
		"变贪厉薄": [
			["biǎn"],
			["tān"],
			["lì"],
			["bó"]
		],
		"变戏法": [
			["biàn"],
			["xì"],
			["fǎ"]
		],
		"变压器": [
			["biàn"],
			["yā"],
			["qì"]
		],
		"变奏曲": [
			["biàn"],
			["zòu"],
			["qǔ"]
		],
		"遍地开花": [
			["biàn"],
			["dì"],
			["kāi"],
			["huā"]
		],
		"遍体鳞伤": [
			["biàn"],
			["tǐ"],
			["lín"],
			["shāng"]
		],
		"辨别力": [
			["biàn"],
			["bié"],
			["lì"]
		],
		"辨日炎凉": [
			["biàn"],
			["rì"],
			["yán"],
			["liáng"]
		],
		"辨若悬河": [
			["biàn"],
			["ruò"],
			["xuán"],
			["hé"]
		],
		"辨证论治": [
			["biàn"],
			["zhèng"],
			["lùn"],
			["zhì"]
		],
		"彪形大汉": [
			["biāo"],
			["xíng"],
			["dà"],
			["hàn"]
		],
		"标点符号": [
			["biāo"],
			["diǎn"],
			["fú"],
			["hào"]
		],
		"标情夺趣": [
			["biāo"],
			["qíng"],
			["duó"],
			["qù"]
		],
		"标题音乐": [
			["biāo"],
			["tí"],
			["yīn"],
			["yuè"]
		],
		"标同伐异": [
			["biāo"],
			["tóng"],
			["fá"],
			["yì"]
		],
		"标新创异": [
			["biāo"],
			["xīn"],
			["chuàng"],
			["yì"]
		],
		"标枝野鹿": [
			["biāo"],
			["zhī"],
			["yě"],
			["lù"]
		],
		"标准大气压": [
			["biāo"],
			["zhǔn"],
			["dà"],
			["qì"],
			["yā"]
		],
		"标准化": [
			["biāo"],
			["zhǔn"],
			["huà"]
		],
		"标准时区": [
			["biāo"],
			["zhǔn"],
			["shí"],
			["qū"]
		],
		"标准语": [
			["biāo"],
			["zhǔn"],
			["yǔ"]
		],
		"膘肥体壮": [
			["biāo"],
			["féi"],
			["tǐ"],
			["zhuàng"]
		],
		"飙发电举": [
			["biāo"],
			["fā"],
			["diàn"],
			["jù"]
		],
		"表里不一": [
			["biǎo"],
			["lǐ"],
			["bù"],
			["yī"]
		],
		"表里为奸": [
			["biǎo"],
			["lǐ"],
			["wéi"],
			["jiān"]
		],
		"表里相符": [
			["biǎo"],
			["lǐ"],
			["xiāng"],
			["fú"]
		],
		"表里相济": [
			["biǎo"],
			["lǐ"],
			["xiāng"],
			["jì"]
		],
		"表里相依": [
			["biǎo"],
			["lǐ"],
			["xiāng"],
			["yī"]
		],
		"表里相应": [
			["biǎo"],
			["lǐ"],
			["xiāng"],
			["yìng"]
		],
		"表蒙子": [
			["biǎo"],
			["méng"],
			["zǐ"]
		],
		"表面化": [
			["biǎo"],
			["miàn"],
			["huà"]
		],
		"表兄弟": [
			["biǎo"],
			["xiōng"],
			["dì"]
		],
		"表演艺术": [
			["biǎo"],
			["yǎn"],
			["yì"],
			["shù"]
		],
		"表壮不如里壮": [
			["biǎo"],
			["zhuàng"],
			["bù"],
			["rú"],
			["lǐ"],
			["zhuàng"]
		],
		"表侄女": [
			["biǎo"],
			["zhí"],
			["nǚ"]
		],
		"摽梅之年": [
			["biào"],
			["mén"],
			["zhī"],
			["nián"]
		],
		"别抱琵琶": [
			["bié"],
			["bào"],
			["pí"],
			["pá"]
		],
		"别出机杼": [
			["bié"],
			["chū"],
			["jī"],
			["zhù"]
		],
		"别出手眼": [
			["bié"],
			["chū"],
			["shǒu"],
			["yǎn"]
		],
		"别财异居": [
			["bié"],
			["cái"],
			["yì"],
			["jū"]
		],
		"别出心裁": [
			["bié"],
			["chū"],
			["xīn"],
			["cái"]
		],
		"别出新裁": [
			["bié"],
			["chū"],
			["xīn"],
			["cái"]
		],
		"别出新意": [
			["bié"],
			["chū"],
			["xīn"],
			["yì"]
		],
		"别创一格": [
			["bié"],
			["chuàng"],
			["yí"],
			["gé"]
		],
		"别动队": [
			["bié"],
			["dòng"],
			["duì"]
		],
		"别风淮雨": [
			["bié"],
			["fēng"],
			["huái"],
			["yǔ"]
		],
		"别鹤孤鸾": [
			["bié"],
			["hè"],
			["gū"],
			["luán"]
		],
		"别鹤离鸾": [
			["bié"],
			["hè"],
			["lí"],
			["luán"]
		],
		"别籍异财": [
			["bié"],
			["jí"],
			["yì"],
			["cái"]
		],
		"别籍异居": [
			["bié"],
			["jí"],
			["yì"],
			["jū"]
		],
		"别居异财": [
			["bié"],
			["jū"],
			["yì"],
			["cái"]
		],
		"别具肺肠": [
			["bié"],
			["jù"],
			["fèi"],
			["cháng"]
		],
		"别具匠心": [
			["bié"],
			["jù"],
			["jiàng"],
			["xīn"]
		],
		"别具慧眼": [
			["bié"],
			["jù"],
			["huì"],
			["yǎn"]
		],
		"别具手眼": [
			["bié"],
			["jù"],
			["shǒu"],
			["yǎn"]
		],
		"别具心肠": [
			["bié"],
			["jù"],
			["xīn"],
			["cháng"]
		],
		"别具只眼": [
			["bié"],
			["jù"],
			["zhī"],
			["yǎn"]
		],
		"别具一格": [
			["bié"],
			["jù"],
			["yī"],
			["gé"]
		],
		"别开蹊径": [
			["bié"],
			["kāi"],
			["xī"],
			["jìng"]
		],
		"别开生面": [
			["bié"],
			["kāi"],
			["shēng"],
			["miàn"]
		],
		"别开一格": [
			["bié"],
			["kāi"],
			["yí"],
			["gé"]
		],
		"别来无恙": [
			["bié"],
			["lái"],
			["wú"],
			["yàng"]
		],
		"别类分门": [
			["bié"],
			["lèi"],
			["fān"],
			["mén"]
		],
		"别生枝节": [
			["bié"],
			["shēng"],
			["zhī"],
			["jié"]
		],
		"别饶风致": [
			["bié"],
			["ráo"],
			["fēng"],
			["zhì"]
		],
		"别树一旗": [
			["bié"],
			["shù"],
			["yī"],
			["qí"]
		],
		"别树一帜": [
			["bié"],
			["shù"],
			["yī"],
			["zhì"]
		],
		"别无长物": [
			["bié"],
			["wú"],
			["cháng"],
			["wù"]
		],
		"别无出路": [
			["bié"],
			["wú"],
			["chū"],
			["lù"]
		],
		"别无二致": [
			["bié"],
			["wú"],
			["èr"],
			["zhì"]
		],
		"别无他物": [
			["bié"],
			["wú"],
			["tā"],
			["wù"]
		],
		"别有洞天": [
			["bié"],
			["yǒu"],
			["dòng"],
			["tiān"]
		],
		"别有肺肠": [
			["bié"],
			["yǒu"],
			["fèi"],
			["cháng"]
		],
		"别有风趣": [
			["bié"],
			["yǒu"],
			["fēng"],
			["qù"]
		],
		"别有人间": [
			["bié"],
			["yǒu"],
			["rén"],
			["jiān"]
		],
		"别有风味": [
			["bié"],
			["yǒu"],
			["fēng"],
			["wèi"]
		],
		"别有天地": [
			["bié"],
			["yǒu"],
			["tiān"],
			["dì"]
		],
		"别有心肠": [
			["bié"],
			["yǒu"],
			["xīn"],
			["cháng"]
		],
		"别有心肝": [
			["bié"],
			["yǒu"],
			["xīn"],
			["gān"]
		],
		"别有用心": [
			["bié"],
			["yǒu"],
			["yòng"],
			["xīn"]
		],
		"别有滋味": [
			["bié"],
			["yǒu"],
			["zī"],
			["wèi"]
		],
		"别置一喙": [
			["bié"],
			["zhì"],
			["yī"],
			["huì"]
		],
		"别作良图": [
			["bié"],
			["zuò"],
			["liáng"],
			["tú"]
		],
		"别作一眼": [
			["bié"],
			["zuò"],
			["yī"],
			["yǎn"]
		],
		"彬彬济济": [
			["bīn"],
			["bīn"],
			["jǐ"],
			["jǐ"]
		],
		"彬彬有礼": [
			["bīn"],
			["bīn"],
			["yǒu"],
			["lǐ"]
		],
		"滨海区": [
			["bīn"],
			["hǎi"],
			["qū"]
		],
		"鬓乱钗横": [
			["bìn"],
			["luàn"],
			["chāi"],
			["héng"]
		],
		"冰碴儿": [
			["bīng"],
			["chá"],
			["ér"]
		],
		"冰川期": [
			["bīng"],
			["chuān"],
			["qī"]
		],
		"冰棍儿": [
			["bīng"],
			["gùn"],
			["ér"]
		],
		"冰肌玉骨": [
			["bīng"],
			["jī"],
			["yù"],
			["gǔ"]
		],
		"冰河期": [
			["bīng"],
			["hé"],
			["qī"]
		],
		"冰解冻释": [
			["bīng"],
			["jiě"],
			["dòng"],
			["shì"]
		],
		"冰解的破": [
			["bīng"],
			["jiě"],
			["dì"],
			["pò"]
		],
		"冰解云散": [
			["bīng"],
			["jiě"],
			["yún"],
			["sàn"]
		],
		"冰解壤分": [
			["bīng"],
			["jiě"],
			["rǎng"],
			["fēn"]
		],
		"冰淇淋": [
			["bīng"],
			["qí"],
			["lín"]
		],
		"冰散瓦解": [
			["bīng"],
			["sàn"],
			["wǎ"],
			["jiě"]
		],
		"冰山难靠": [
			["bīng"],
			["shān"],
			["nán"],
			["kào"]
		],
		"冰山易倒": [
			["bīng"],
			["shān"],
			["yì"],
			["dǎo"]
		],
		"冰上运动": [
			["bīng"],
			["shàng"],
			["yùn"],
			["dòng"]
		],
		"冰炭不同炉": [
			["bīng"],
			["tàn"],
			["bù"],
			["tóng"],
			["lú"]
		],
		"冰炭不同器": [
			["bīng"],
			["tàn"],
			["bù"],
			["tóng"],
			["qì"]
		],
		"冰炭不投": [
			["bīng"],
			["tàn"],
			["bù"],
			["tóu"]
		],
		"冰天雪地": [
			["bīng"],
			["tiān"],
			["xuě"],
			["dì"]
		],
		"冰消冻解": [
			["bīng"],
			["xiāo"],
			["dòng"],
			["jiě"]
		],
		"冰消瓦解": [
			["bīng"],
			["xiāo"],
			["wǎ"],
			["jiě"]
		],
		"冰消雾散": [
			["bīng"],
			["xiāo"],
			["wù"],
			["sàn"]
		],
		"冰消云散": [
			["bīng"],
			["xiāo"],
			["yún"],
			["sàn"]
		],
		"冰销雾散": [
			["bīng"],
			["xiāo"],
			["wù"],
			["sàn"]
		],
		"冰销叶散": [
			["bīng"],
			["xiāo"],
			["yè"],
			["sàn"]
		],
		"冰心一片": [
			["bīng"],
			["xīn"],
			["yī"],
			["piàn"]
		],
		"冰雪节": [
			["bīng"],
			["xuě"],
			["jié"]
		],
		"兵败如山倒": [
			["bīng"],
			["bài"],
			["rú"],
			["shān"],
			["dǎo"]
		],
		"兵不接刃": [
			["bīng"],
			["bù"],
			["jiē"],
			["rèn"]
		],
		"兵不污刃": [
			["bīng"],
			["bù"],
			["wū"],
			["rèn"]
		],
		"兵不雪刃": [
			["bīng"],
			["bù"],
			["xuě"],
			["rèn"]
		],
		"兵不厌权": [
			["bīng"],
			["bù"],
			["yàn"],
			["quán"]
		],
		"兵不厌诈": [
			["bīng"],
			["bù"],
			["yàn"],
			["zhà"]
		],
		"兵不由将": [
			["bīng"],
			["bù"],
			["yóu"],
			["jiàng"]
		],
		"兵不血刃": [
			["bīng"],
			["bù"],
			["xuè"],
			["rèn"]
		],
		"兵车之会": [
			["bīng"],
			["chē"],
			["zhī"],
			["huì"]
		],
		"兵多将广": [
			["bīng"],
			["duō"],
			["jiàng"],
			["guǎng"]
		],
		"兵工厂": [
			["bīng"],
			["gōng"],
			["chǎng"]
		],
		"兵连祸结": [
			["bīng"],
			["lián"],
			["huò"],
			["jié"]
		],
		"兵拏祸结": [
			["bīng"],
			["ná"],
			["huò"],
			["jié"]
		],
		"兵强将勇": [
			["bīng"],
			["qiáng"],
			["àng"],
			["yǒng"]
		],
		"兵强则灭": [
			["bīng"],
			["qiáng"],
			["zé"],
			["miè"]
		],
		"兵强马壮": [
			["bīng"],
			["qiáng"],
			["mǎ"],
			["zhuàng"]
		],
		"兵戎相见": [
			["bīng"],
			["róng"],
			["xiāng"],
			["jiàn"]
		],
		"兵微将寡": [
			["bīng"],
			["wēi"],
			["jiàng"],
			["guǎ"]
		],
		"兵未血刃": [
			["bīng"],
			["wèi"],
			["xuě"],
			["rèn"]
		],
		"兵无血刃": [
			["bīng"],
			["wú"],
			["xuè"],
			["rèn"]
		],
		"兵役制度": [
			["bīng"],
			["yì"],
			["zhì"],
			["dù"]
		],
		"兵行诡道": [
			["bīng"],
			["xíng"],
			["guǐ"],
			["dào"]
		],
		"兵在精而不在多": [
			["bīng"],
			["zài"],
			["jīng"],
			["ér"],
			["bù"],
			["zài"],
			["duō"]
		],
		"兵在其颈": [
			["bīng"],
			["zài"],
			["qí"],
			["jǐng"]
		],
		"掤扒吊拷": [
			["bīng"],
			["bā"],
			["diào"],
			["kǎo"]
		],
		"丙种射线": [
			["bǐng"],
			["zhǒng"],
			["shè"],
			["xiàn"]
		],
		"秉公任直": [
			["bǐng"],
			["gōng"],
			["rèn"],
			["zhí"]
		],
		"秉节持重": [
			["bǐng"],
			["jié"],
			["chí"],
			["zhòng"]
		],
		"秉钧持轴": [
			["bǐng"],
			["jūn"],
			["chí"],
			["zhóu"]
		],
		"秉钧当轴": [
			["bǐng"],
			["jūn"],
			["dāng"],
			["zhóu"]
		],
		"秉要执本": [
			["bǐng"],
			["yào"],
			["zhí"],
			["běn"]
		],
		"秉正无私": [
			["bǐng"],
			["zhèng"],
			["wú"],
			["sī"]
		],
		"秉烛待旦": [
			["bǐng"],
			["zhú"],
			["dài"],
			["dàn"]
		],
		"炳若观火": [
			["bǐng"],
			["ruò"],
			["guān"],
			["huǒ"]
		],
		"炳如观火": [
			["bǐng"],
			["rú"],
			["guān"],
			["huǒ"]
		],
		"炳若日星": [
			["bǐng"],
			["ruò"],
			["rì"],
			["xīng"]
		],
		"禀性难移": [
			["bǐng"],
			["xìng"],
			["nán"],
			["yí"]
		],
		"并存不悖": [
			["bìng"],
			["cún"],
			["bù"],
			["bèi"]
		],
		"并蒂芙蓉": [
			["bìng"],
			["dì"],
			["fú"],
			["róng"]
		],
		"并蒂莲": [
			["bìng"],
			["dì"],
			["lián"]
		],
		"并发症": [
			["bìng"],
			["fā"],
			["zhèng"]
		],
		"并驾齐驱": [
			["bìng"],
			["jià"],
			["qí"],
			["qū"]
		],
		"并肩作战": [
			["bìng"],
			["jiān"],
			["zuò"],
			["zhàn"]
		],
		"并疆兼巷": [
			["bìng"],
			["jiāng"],
			["jiān"],
			["xiàng"]
		],
		"并驱争先": [
			["bìng"],
			["qū"],
			["zhēng"],
			["xiān"]
		],
		"并日而食": [
			["bìng"],
			["rì"],
			["ér"],
			["shí"]
		],
		"并容徧覆": [
			["bìng"],
			["róng"],
			["biàn"],
			["fù"]
		],
		"并世无两": [
			["bìng"],
			["shì"],
			["wú"],
			["liǎng"]
		],
		"并威偶势": [
			["bìng"],
			["wēi"],
			["ǒu"],
			["shì"]
		],
		"并为一谈": [
			["bìng"],
			["wéi"],
			["yī"],
			["tán"]
		],
		"并行不悖": [
			["bìng"],
			["xíng"],
			["bù"],
			["bèi"]
		],
		"并赃拿贼": [
			["bìng"],
			["zhuō"],
			["ná"],
			["zéi"]
		],
		"病从口入": [
			["bìng"],
			["cóng"],
			["kǒu"],
			["rù"]
		],
		"病毒性肝炎": [
			["bìng"],
			["dú"],
			["xìng"],
			["gān"],
			["yán"]
		],
		"病骨支离": [
			["bìng"],
			["gǔ"],
			["zhī"],
			["lí"]
		],
		"病入膏肓": [
			["bìng"],
			["rù"],
			["gāo"],
			["huāng"]
		],
		"病染膏肓": [
			["bìng"],
			["rǎn"],
			["gāo"],
			["huāng"]
		],
		"病入骨隨": [
			["bìng"],
			["rù"],
			["gǔ"],
			["suǐ"]
		],
		"病入骨髓": [
			["bìng"],
			["rù"],
			["gǔ"],
			["suǐ"]
		],
		"病原体": [
			["bìng"],
			["yuán"],
			["tǐ"]
		],
		"拨草寻蛇": [
			["bō"],
			["cǎo"],
			["xún"],
			["shé"]
		],
		"病在膏肓": [
			["bìng"],
			["zài"],
			["gāo"],
			["huāng"]
		],
		"拨草瞻风": [
			["bō"],
			["cǎo"],
			["zhān"],
			["fēng"]
		],
		"拨乱反正": [
			["bō"],
			["luàn"],
			["fǎn"],
			["zhèng"]
		],
		"拨乱济时": [
			["bō"],
			["luàn"],
			["jì"],
			["shí"]
		],
		"拨乱济危": [
			["bō"],
			["luàn"],
			["jì"],
			["wēi"]
		],
		"拨乱为治": [
			["bō"],
			["luàn"],
			["wéi"],
			["zhì"]
		],
		"拨万轮千": [
			["bō"],
			["wàn"],
			["lún"],
			["qiān"]
		],
		"拨雨撩云": [
			["bō"],
			["yǔ"],
			["liáo"],
			["yún"]
		],
		"拨万论千": [
			["bō"],
			["wàn"],
			["lùn"],
			["qiān"]
		],
		"拨云见日": [
			["bō"],
			["yún"],
			["jiàn"],
			["rì"]
		],
		"拨嘴撩牙": [
			["bō"],
			["zuǐ"],
			["liáo"],
			["yá"]
		],
		"拨云撩雨": [
			["bō"],
			["yún"],
			["liáo"],
			["yǔ"]
		],
		"波波碌碌": [
			["bō"],
			["bō"],
			["lù"],
			["lù"]
		],
		"拨云雾见青天": [
			["bō"],
			["yún"],
			["wū"],
			["jiàn"],
			["qīng"],
			["tiān"]
		],
		"波骇云属": [
			["bō"],
			["hài"],
			["yún"],
			["zhǔ"]
		],
		"波罗的海": [
			["bō"],
			["luó"],
			["de"],
			["hǎi"]
		],
		"波罗塞戏": [
			["bō"],
			["luó"],
			["sāi"],
			["xì"]
		],
		"波斯猫": [
			["bō"],
			["sī"],
			["māo"]
		],
		"波涛汹涌": [
			["bō"],
			["tāo"],
			["xiōng"],
			["yǒng"]
		],
		"波属云委": [
			["bō"],
			["zhǔ"],
			["yún"],
			["wěi"]
		],
		"玻璃钢": [
			["bō"],
			["li"],
			["gāng"]
		],
		"玻璃纤维": [
			["bō"],
			["li"],
			["xiān"],
			["wéi"]
		],
		"剥床及肤": [
			["bō"],
			["chuáng"],
			["jí"],
			["fū"]
		],
		"剥肤之痛": [
			["bō"],
			["fū"],
			["zhī"],
			["tòng"]
		],
		"剥肤及髓": [
			["bō"],
			["fū"],
			["jí"],
			["suǐ"]
		],
		"剥肤椎髓": [
			["bō"],
			["fū"],
			["chuí"],
			["suǐ"]
		],
		"剥极必复": [
			["bō"],
			["jí"],
			["bì"],
			["fù"]
		],
		"剥极将复": [
			["bō"],
			["jí"],
			["jiāng"],
			["fù"]
		],
		"剥极则复": [
			["bō"],
			["jí"],
			["zé"],
			["fù"]
		],
		"剥茧抽丝": [
			["bō"],
			["jiǎn"],
			["chōu"],
			["sī"]
		],
		"剥皮抽筋": [
			["bō"],
			["pí"],
			["chōu"],
			["jīn"]
		],
		"剥削阶级": [
			["bō"],
			["xuē"],
			["jiē"],
			["jí"]
		],
		"剥削者": [
			["bō"],
			["xuē"],
			["zhě"]
		],
		"播穅眯目": [
			["bō"],
			["kāng"],
			["mǐ"],
			["mù"]
		],
		"播糠眯目": [
			["bō"],
			["kāng"],
			["mǐ"],
			["mù"]
		],
		"播弄是非": [
			["bō"],
			["nòng"],
			["shì"],
			["fēi"]
		],
		"播音员": [
			["bō"],
			["yīn"],
			["yuán"]
		],
		"播种机": [
			["bō"],
			["zhǒng"],
			["jī"]
		],
		"伯道无儿": [
			["bó"],
			["dào"],
			["wú"],
			["ér"]
		],
		"伯尔尼": [
			["bó"],
			["ěr"],
			["ní"]
		],
		"伯歌季舞": [
			["bó"],
			["gē"],
			["jì"],
			["wǔ"]
		],
		"伯劳飞燕": [
			["bó"],
			["láo"],
			["fēi"],
			["yàn"]
		],
		"伯乐相马": [
			["bó"],
			["lè"],
			["xiàng"],
			["mǎ"]
		],
		"伯乐一顾": [
			["bō"],
			["lè"],
			["yī"],
			["gù"]
		],
		"伯利兹": [
			["bó"],
			["lì"],
			["zī"]
		],
		"伯埙仲篪": [
			["bó"],
			["xūn"],
			["zhòng"],
			["chí"]
		],
		"伯玉知非": [
			["bó"],
			["yù"],
			["zhī"],
			["fēi"]
		],
		"伯仲叔季": [
			["bó"],
			["zhòng"],
			["shū"],
			["jì"]
		],
		"伯仲之间": [
			["bó"],
			["zhòng"],
			["zhī"],
			["jiān"]
		],
		"伯祖母": [
			["bó"],
			["zǔ"],
			["mǔ"]
		],
		"勃然变色": [
			["bó"],
			["rán"],
			["biàn"],
			["sè"]
		],
		"勃然大怒": [
			["bó"],
			["rán"],
			["dà"],
			["nù"]
		],
		"勃然奋励": [
			["bó"],
			["rán"],
			["fèn"],
			["lì"]
		],
		"博采众长": [
			["bó"],
			["cǎi"],
			["zhòng"],
			["cháng"]
		],
		"博采众议": [
			["bó"],
			["cǎi"],
			["zhòng"],
			["yì"]
		],
		"博茨瓦纳": [
			["bó"],
			["cí"],
			["wǎ"],
			["nà"]
		],
		"博大精深": [
			["bó"],
			["dà"],
			["jīng"],
			["shēn"]
		],
		"博而不精": [
			["bó"],
			["ér"],
			["bù"],
			["jīng"]
		],
		"博而寡要": [
			["bó"],
			["ér"],
			["guǎ"],
			["yào"]
		],
		"博览会": [
			["bó"],
			["lǎn"],
			["huì"]
		],
		"博览五车": [
			["bó"],
			["lǎn"],
			["wǔ"],
			["chē"]
		],
		"博施济众": [
			["bó"],
			["shī"],
			["jì"],
			["zhòng"]
		],
		"博识多通": [
			["bó"],
			["shí"],
			["duō"],
			["tōng"]
		],
		"博识洽闻": [
			["bó"],
			["shí"],
			["qià"],
			["wén"]
		],
		"博硕肥腯": [
			["bó"],
			["shuò"],
			["féi"],
			["tú"]
		],
		"博闻多识": [
			["bó"],
			["wén"],
			["duō"],
			["shí"]
		],
		"博文约礼": [
			["bó"],
			["wén"],
			["yuè"],
			["lǐ"]
		],
		"博闻强记": [
			["bó"],
			["wén"],
			["qiáng"],
			["jì"]
		],
		"博闻强识": [
			["bó"],
			["wén"],
			["qiáng"],
			["zhì"]
		],
		"博物学家": [
			["bó"],
			["wù"],
			["xué"],
			["jiā"]
		],
		"博闻强志": [
			["bó"],
			["wén"],
			["qiáng"],
			["zhì"]
		],
		"踣地呼天": [
			["bó"],
			["dì"],
			["hū"],
			["tiān"]
		],
		"薄唇轻言": [
			["báo"],
			["chún"],
			["qīng"],
			["yán"]
		],
		"薄寒中人": [
			["bó"],
			["hán"],
			["zhòng"],
			["rén"]
		],
		"薄荷脑": [
			["bò"],
			["he"],
			["nǎo"]
		],
		"薄技在身": [
			["bó"],
			["jì"],
			["zài"],
			["shēn"]
		],
		"薄利多销": [
			["bó"],
			["lì"],
			["duō"],
			["xiāo"]
		],
		"薄命佳人": [
			["bó"],
			["mìng"],
			["jiā"],
			["rén"]
		],
		"薄暮冥冥": [
			["bó"],
			["mù"],
			["míng"],
			["míng"]
		],
		"薄情无义": [
			["báo"],
			["qíng"],
			["wú"],
			["yì"]
		],
		"薄物细故": [
			["bó"],
			["wù"],
			["xì"],
			["gù"]
		],
		"跛行千里": [
			["bǒ"],
			["xíng"],
			["qiān"],
			["lǐ"]
		],
		"簸土扬沙": [
			["bǒ"],
			["tǔ"],
			["yáng"],
			["shā"]
		],
		"擘肌分理": [
			["bò"],
			["jī"],
			["fēn"],
			["lǐ"]
		],
		"擘两分星": [
			["bó"],
			["liǎng"],
			["fēn"],
			["xīng"]
		],
		"餔糟啜漓": [
			["bǔ"],
			["zāo"],
			["chuò"],
			["lí"]
		],
		"餔糟啜醨": [
			["bū"],
			["zāo"],
			["chuò"],
			["lí"]
		],
		"卜夜卜昼": [
			["bǔ"],
			["yè"],
			["bǔ"],
			["zhòu"]
		],
		"卜昼卜夜": [
			["bǔ"],
			["zhòu"],
			["bǔ"],
			["yè"]
		],
		"补骨脂": [
			["bǔ"],
			["gǔ"],
			["zhī"]
		],
		"补过饰非": [
			["bǔ"],
			["guò"],
			["shì"],
			["fēi"]
		],
		"补过拾遗": [
			["bǔ"],
			["guò"],
			["shí"],
			["yí"]
		],
		"补苴罅漏": [
			["bǔ"],
			["jū"],
			["xià"],
			["lòu"]
		],
		"补阙灯檠": [
			["bǔ"],
			["quē"],
			["dēng"],
			["qíng"]
		],
		"补阙挂漏": [
			["bǔ"],
			["quē"],
			["guà"],
			["lòu"]
		],
		"补阙拾遗": [
			["bǔ"],
			["quē"],
			["shí"],
			["yí"]
		],
		"补天柱地": [
			["bǔ"],
			["tiān"],
			["zhù"],
			["dì"]
		],
		"补习学校": [
			["bǔ"],
			["xí"],
			["xué"],
			["xiào"]
		],
		"捕风弄月": [
			["bǔ"],
			["fēng"],
			["nòng"],
			["yuè"]
		],
		"哺糟啜醨": [
			["bǔ"],
			["zāo"],
			["chuò"],
			["lí"]
		],
		"捕风捉影": [
			["bǔ"],
			["fēng"],
			["zhuō"],
			["yǐng"]
		],
		"捕影系风": [
			["bǔ"],
			["yǐng"],
			["xì"],
			["fēng"]
		],
		"不安分": [
			["bù"],
			["ān"],
			["fèn"]
		],
		"不安其室": [
			["bù"],
			["ān"],
			["qí"],
			["shì"]
		],
		"不安于室": [
			["bù"],
			["ān"],
			["yú"],
			["shì"]
		],
		"不安于位": [
			["bù"],
			["ān"],
			["yú"],
			["wèi"]
		],
		"不按君臣": [
			["bù"],
			["àn"],
			["jūn"],
			["chén"]
		],
		"不拔一毛": [
			["bù"],
			["bá"],
			["yì"],
			["máo"]
		],
		"不拔之志": [
			["bù"],
			["bá"],
			["zhī"],
			["zhì"]
		],
		"不白之冤": [
			["bù"],
			["bái"],
			["zhī"],
			["yuān"]
		],
		"不败之地": [
			["bù"],
			["bài"],
			["zhī"],
			["dì"]
		],
		"不卑不亢": [
			["bù"],
			["bēi"],
			["bù"],
			["kàng"]
		],
		"不辟斧钺": [
			["bù"],
			["bì"],
			["fǔ"],
			["yuè"]
		],
		"不避艰险": [
			["bù"],
			["bì"],
			["jiān"],
			["xiǎn"]
		],
		"不避斧钺": [
			["bù"],
			["bì"],
			["fǔ"],
			["yuè"]
		],
		"不避水火": [
			["bù"],
			["bì"],
			["shuǐ"],
			["huǒ"]
		],
		"不避汤火": [
			["bù"],
			["bì"],
			["tāng"],
			["huǒ"]
		],
		"不便水土": [
			["bù"],
			["biàn"],
			["shuǐ"],
			["tǔ"]
		],
		"不变价格": [
			["bù"],
			["biàn"],
			["jià"],
			["gé"]
		],
		"不变资本": [
			["bù"],
			["biàn"],
			["zī"],
			["běn"]
		],
		"不辨菽麦": [
			["bù"],
			["biàn"],
			["shū"],
			["mài"]
		],
		"不辨菽粟": [
			["bù"],
			["biàn"],
			["shū"],
			["sù"]
		],
		"不辨真伪": [
			["bù"],
			["biàn"],
			["zhēn"],
			["wěi"]
		],
		"不辩菽麦": [
			["bù"],
			["biàn"],
			["shū"],
			["mài"]
		],
		"不步人脚": [
			["bù"],
			["bù"],
			["rén"],
			["jiǎo"]
		],
		"不测之忧": [
			["bù"],
			["cè"],
			["zhī"],
			["yōu"]
		],
		"不测之祸": [
			["bù"],
			["cè"],
			["zhī"],
			["huò"]
		],
		"不测之罪": [
			["bù"],
			["cè"],
			["zhī"],
			["zuì"]
		],
		"不茶不饭": [
			["bù"],
			["chá"],
			["bù"],
			["fàn"]
		],
		"不差毫发": [
			["bù"],
			["chā"],
			["háo"],
			["fà"]
		],
		"不差毫厘": [
			["bù"],
			["chā"],
			["háo"],
			["lí"]
		],
		"不差累黍": [
			["bù"],
			["chā"],
			["lěi"],
			["shǔ"]
		],
		"不差上下": [
			["bù"],
			["chā"],
			["shàng"],
			["xià"]
		],
		"不差什么": [
			["bù"],
			["chà"],
			["shí"],
			["mǒ"]
		],
		"不臣之心": [
			["bù"],
			["chén"],
			["zhī"],
			["xīn"]
		],
		"不成才": [
			["bù"],
			["chéng"],
			["cái"]
		],
		"不成话": [
			["bù"],
			["chéng"],
			["huà"]
		],
		"不成器": [
			["bù"],
			["chéng"],
			["qì"]
		],
		"不成三瓦": [
			["bù"],
			["chéng"],
			["sān"],
			["wǎ"]
		],
		"不成体统": [
			["bù"],
			["chéng"],
			["tǐ"],
			["tǒng"]
		],
		"不成文法": [
			["bù"],
			["chéng"],
			["wén"],
			["fǎ"]
		],
		"不逞之徒": [
			["bù"],
			["chěng"],
			["zhī"],
			["tú"]
		],
		"不吃烟火食": [
			["bù"],
			["chī"],
			["yān"],
			["huǒ"],
			["shí"]
		],
		"不痴不聋": [
			["bù"],
			["chī"],
			["bù"],
			["lóng"]
		],
		"不齿于人": [
			["bù"],
			["chǐ"],
			["yú"],
			["rén"]
		],
		"不耻下问": [
			["bù"],
			["chǐ"],
			["xià"],
			["wèn"]
		],
		"不耻最后": [
			["bù"],
			["chǐ"],
			["zuì"],
			["hòu"]
		],
		"不啻天渊": [
			["bù"],
			["chì"],
			["tiān"],
			["yuān"]
		],
		"不偢不倸": [
			["bù"],
			["chǒu"],
			["bù"],
			["cǎi"]
		],
		"不出所料": [
			["bù"],
			["chū"],
			["suǒ"],
			["liào"]
		],
		"不瞅不睬": [
			["bù"],
			["chǒu"],
			["bù"],
			["cǎi"]
		],
		"不揣冒昧": [
			["bù"],
			["chuǎi"],
			["mào"],
			["mèi"]
		],
		"不辞而别": [
			["bù"],
			["cí"],
			["ér"],
			["bié"]
		],
		"不辞劳苦": [
			["bù"],
			["cí"],
			["láo"],
			["kǔ"]
		],
		"不次之迁": [
			["bù"],
			["cì"],
			["zhī"],
			["qiān"]
		],
		"不次之位": [
			["bù"],
			["cì"],
			["zhī"],
			["wèi"]
		],
		"不存不济": [
			["bù"],
			["cún"],
			["bù"],
			["jì"]
		],
		"不存芥蒂": [
			["bù"],
			["cún"],
			["jiè"],
			["dì"]
		],
		"不打不相识": [
			["bù"],
			["dǎ"],
			["bù"],
			["xiāng"],
			["shí"]
		],
		"不打紧": [
			["bù"],
			["dǎ"],
			["jǐn"]
		],
		"不打自招": [
			["bù"],
			["dǎ"],
			["zì"],
			["zhāo"]
		],
		"不大离": [
			["bù"],
			["dà"],
			["lí"]
		],
		"不待蓍龟": [
			["bù"],
			["dài"],
			["shī"],
			["guī"]
		],
		"不当不正": [
			["bù"],
			["dāng"],
			["bù"],
			["zhèng"]
		],
		"不当人子": [
			["bù"],
			["dāng"],
			["rén"],
			["zǐ"]
		],
		"不倒翁": [
			["bù"],
			["dǎo"],
			["wēng"]
		],
		"不到长城非好汉": [
			["bú"],
			["dào"],
			["cháng"],
			["chéng"],
			["fēi"],
			["hǎo"],
			["hàn"]
		],
		"不到黄河心不死": [
			["bù"],
			["dào"],
			["huáng"],
			["hé"],
			["xīn"],
			["bù"],
			["sǐ"]
		],
		"不道德": [
			["bù"],
			["dào"],
			["dé"]
		],
		"不得不": [
			["bù"],
			["dé"],
			["bù"]
		],
		"不得不尔": [
			["bù"],
			["dé"],
			["bù"],
			["ěr"]
		],
		"不得而知": [
			["bù"],
			["dé"],
			["ér"],
			["zhī"]
		],
		"不得劲": [
			["bù"],
			["dé"],
			["jìn"]
		],
		"不得开交": [
			["bù"],
			["dé"],
			["kāi"],
			["jiāo"]
		],
		"不得了": [
			["bù"],
			["dé"],
			["le"]
		],
		"不得其死": [
			["bù"],
			["dé"],
			["qí"],
			["sǐ"]
		],
		"不得其所": [
			["bù"],
			["dé"],
			["qí"],
			["suǒ"]
		],
		"不得人心": [
			["bù"],
			["dé"],
			["rén"],
			["xīn"]
		],
		"不得善终": [
			["bù"],
			["dé"],
			["shàn"],
			["zhōng"]
		],
		"不得违误": [
			["bù"],
			["dé"],
			["wéi"],
			["wù"]
		],
		"不得要领": [
			["bù"],
			["dé"],
			["yào"],
			["lǐng"]
		],
		"不得已": [
			["bù"],
			["dé"],
			["yǐ"]
		],
		"不得已而为之": [
			["bù"],
			["dé"],
			["yǐ"],
			["ér"],
			["wéi"],
			["zhī"]
		],
		"不得已而用之": [
			["bù"],
			["dé"],
			["yǐ"],
			["ér"],
			["yòng"],
			["zhī"]
		],
		"不得志": [
			["bù"],
			["dé"],
			["zhì"]
		],
		"不登大雅": [
			["bù"],
			["dēng"],
			["dà"],
			["yǎ"]
		],
		"不登大雅之堂": [
			["bù"],
			["dēng"],
			["dà"],
			["yǎ"],
			["zhī"],
			["táng"]
		],
		"不等号": [
			["bù"],
			["děng"],
			["hào"]
		],
		"不等价交换": [
			["bù"],
			["děng"],
			["jià"],
			["jiāo"],
			["huàn"]
		],
		"不等式": [
			["bù"],
			["děng"],
			["shì"]
		],
		"不点儿": [
			["bù"],
			["diǎn"],
			["er"]
		],
		"不定积分": [
			["bù"],
			["dìng"],
			["jī"],
			["fēn"]
		],
		"不懂装懂": [
			["bù"],
			["dǒng"],
			["zhuāng"],
			["dǒng"]
		],
		"不动产": [
			["bù"],
			["dòng"],
			["chǎn"]
		],
		"不动声色": [
			["bù"],
			["dòng"],
			["shēng"],
			["sè"]
		],
		"不冻港": [
			["bù"],
			["dòng"],
			["gǎng"]
		],
		"不断如带": [
			["bù"],
			["duàn"],
			["rú"],
			["dài"]
		],
		"不对茬儿": [
			["bú"],
			["duì"],
			["chá"],
			["ér"]
		],
		"不对劲": [
			["bú"],
			["duì"],
			["jìn"]
		],
		"不对头": [
			["bú"],
			["duì"],
			["tóu"]
		],
		"不恶而严": [
			["bù"],
			["è"],
			["ér"],
			["yán"]
		],
		"不二法门": [
			["bù"],
			["èr"],
			["fǎ"],
			["mén"]
		],
		"不二价": [
			["bù"],
			["èr"],
			["jià"]
		],
		"不乏其人": [
			["bù"],
			["fá"],
			["qí"],
			["rén"]
		],
		"不乏先例": [
			["bù"],
			["fá"],
			["xiān"],
			["lì"]
		],
		"不法常可": [
			["bù"],
			["fǎ"],
			["cháng"],
			["kě"]
		],
		"不法古不修今": [
			["bù"],
			["fǎ"],
			["gǔ"],
			["bù"],
			["xiū"],
			["jīn"]
		],
		"不法之徒": [
			["bù"],
			["fǎ"],
			["zhī"],
			["tú"]
		],
		"不方便": [
			["bù"],
			["fāng"],
			["biàn"]
		],
		"不悱不发": [
			["bù"],
			["fěi"],
			["bù"],
			["fā"]
		],
		"不废江河": [
			["bù"],
			["fèi"],
			["jiāng"],
			["hé"]
		],
		"不费吹灰之力": [
			["bù"],
			["fèi"],
			["chuī"],
			["huī"],
			["zhī"],
			["lì"]
		],
		"不费之惠": [
			["bù"],
			["fèi"],
			["zhī"],
			["huì"]
		],
		"不分彼此": [
			["bù"],
			["fēn"],
			["bǐ"],
			["cǐ"]
		],
		"不分伯仲": [
			["bù"],
			["fēn"],
			["bó"],
			["zhòng"]
		],
		"不分青白": [
			["bù"],
			["fēn"],
			["qīng"],
			["béi"]
		],
		"不分青红皂白": [
			["bù"],
			["fēn"],
			["qīng"],
			["hóng"],
			["zào"],
			["bái"]
		],
		"不分轩轾": [
			["bù"],
			["fēn"],
			["xuān"],
			["zhì"]
		],
		"不分玉石": [
			["bù"],
			["fēn"],
			["yù"],
			["shí"]
		],
		"不分皂白": [
			["bù"],
			["fēn"],
			["zào"],
			["bái"]
		],
		"不分畛域": [
			["bù"],
			["fēn"],
			["zhěn"],
			["yù"]
		],
		"不愤不启": [
			["bù"],
			["fèn"],
			["bù"],
			["qǐ"]
		],
		"不丰不俭": [
			["bù"],
			["fēng"],
			["bù"],
			["jiǎn"]
		],
		"不丰不杀": [
			["bù"],
			["fēng"],
			["bù"],
			["shā"]
		],
		"不伏烧埋": [
			["bù"],
			["fú"],
			["shāo"],
			["mái"]
		],
		"不服气": [
			["bù"],
			["fú"],
			["qì"]
		],
		"不服水土": [
			["bù"],
			["fú"],
			["shuǐ"],
			["tǔ"]
		],
		"不负众望": [
			["bù"],
			["fù"],
			["zhòng"],
			["wàng"]
		],
		"不复堪命": [
			["bù"],
			["fù"],
			["kān"],
			["mìng"]
		],
		"不改其乐": [
			["bù"],
			["gǎi"],
			["qí"],
			["lè"]
		],
		"不干不净": [
			["bù"],
			["gān"],
			["bù"],
			["jìng"]
		],
		"不甘雌伏": [
			["bù"],
			["gān"],
			["cí"],
			["fú"]
		],
		"不甘后人": [
			["bù"],
			["gān"],
			["hòu"],
			["rén"]
		],
		"不甘寂寞": [
			["bù"],
			["gān"],
			["jì"],
			["mò"]
		],
		"不尴不尬": [
			["bù"],
			["gān"],
			["bù"],
			["gà"]
		],
		"不甘示弱": [
			["bù"],
			["gān"],
			["shì"],
			["ruò"]
		],
		"不甘心": [
			["bù"],
			["gān"],
			["xīn"]
		],
		"不敢当": [
			["bù"],
			["gǎn"],
			["dāng"]
		],
		"不敢高攀": [
			["bù"],
			["gǎn"],
			["gāo"],
			["pān"]
		],
		"不敢苟同": [
			["bù"],
			["gǎn"],
			["gǒu"],
			["tóng"]
		],
		"不敢告劳": [
			["bù"],
			["gǎn"],
			["gào"],
			["láo"]
		],
		"不敢掠美": [
			["bù"],
			["gǎn"],
			["lüè"],
			["měi"]
		],
		"不敢后人": [
			["bù"],
			["gǎn"],
			["hòu"],
			["rén"]
		],
		"不敢旁骛": [
			["bù"],
			["gǎn"],
			["páng"],
			["wù"]
		],
		"不敢问津": [
			["bù"],
			["gǎn"],
			["wèn"],
			["jīn"]
		],
		"不敢越雷池一步": [
			["bù"],
			["gǎn"],
			["yuè"],
			["léi"],
			["chí"],
			["yī"],
			["bù"]
		],
		"不敢造次": [
			["bù"],
			["gǎn"],
			["zào"],
			["cì"]
		],
		"不敢自专": [
			["bù"],
			["gǎn"],
			["zì"],
			["zhuān"]
		],
		"不根之论": [
			["bù"],
			["gēn"],
			["zhī"],
			["lùn"]
		],
		"不根之谈": [
			["bù"],
			["gān"],
			["zhī"],
			["tán"]
		],
		"不更事": [
			["bù"],
			["gēng"],
			["shì"]
		],
		"不攻自破": [
			["bù"],
			["gōng"],
			["zì"],
			["pò"]
		],
		"不共戴天": [
			["bù"],
			["gòng"],
			["dài"],
			["tiān"]
		],
		"不苟言笑": [
			["bù"],
			["gǒu"],
			["yán"],
			["xiào"]
		],
		"不古不今": [
			["bù"],
			["gǔ"],
			["bù"],
			["jīn"]
		],
		"不瞽不聋": [
			["bù"],
			["gǔ"],
			["bù"],
			["lóng"]
		],
		"不顾大局": [
			["bù"],
			["gù"],
			["dà"],
			["jú"]
		],
		"不顾前后": [
			["bù"],
			["gù"],
			["qián"],
			["hòu"]
		],
		"不顾死活": [
			["bù"],
			["gù"],
			["sǐ"],
			["huó"]
		],
		"不顾一切": [
			["bù"],
			["gù"],
			["yī"],
			["qiè"]
		],
		"不关紧要": [
			["bù"],
			["guān"],
			["jǐn"],
			["yào"]
		],
		"不关痛痒": [
			["bù"],
			["guān"],
			["tòng"],
			["yǎng"]
		],
		"不管不顾": [
			["bù"],
			["guǎn"],
			["bù"],
			["gù"]
		],
		"不管三七二十一": [
			["bù"],
			["guǎn"],
			["sān"],
			["qī"],
			["èr"],
			["shí"],
			["yī"]
		],
		"不管一二": [
			["bù"],
			["guǎn"],
			["yī"],
			["èr"]
		],
		"不龟手药": [
			["bù"],
			["guī"],
			["shǒu"],
			["yào"]
		],
		"不规则": [
			["bù"],
			["guī"],
			["zé"]
		],
		"不轨之徒": [
			["bù"],
			["guǐ"],
			["zhī"],
			["tú"]
		],
		"不过尔尔": [
			["bù"],
			["guò"],
			["ěr"],
			["ěr"]
		],
		"不过如此": [
			["bù"],
			["guò"],
			["rú"],
			["cǐ"]
		],
		"不过意": [
			["bù"],
			["guò"],
			["yì"]
		],
		"不含糊": [
			["bù"],
			["hán"],
			["hu"]
		],
		"不寒而栗": [
			["bù"],
			["hán"],
			["ér"],
			["lì"]
		],
		"不好过": [
			["bù"],
			["hǎo"],
			["guò"]
		],
		"不好看": [
			["bù"],
			["hǎo"],
			["kàn"]
		],
		"不好惹": [
			["bù"],
			["hǎo"],
			["rě"]
		],
		"不好意思": [
			["bù"],
			["hǎo"],
			["yì"],
			["sī"]
		],
		"不合时宜": [
			["bù"],
			["hé"],
			["shí"],
			["yí"]
		],
		"不哼不哈": [
			["bù"],
			["hēng"],
			["bù"],
			["hā"]
		],
		"不护细行": [
			["bù"],
			["hù"],
			["xì"],
			["xíng"]
		],
		"不怀好意": [
			["bù"],
			["huái"],
			["hǎo"],
			["yì"]
		],
		"不欢而散": [
			["bù"],
			["huān"],
			["ér"],
			["sàn"]
		],
		"不慌不忙": [
			["bù"],
			["huāng"],
			["bù"],
			["máng"]
		],
		"不遑枚举": [
			["bù"],
			["huáng"],
			["méi"],
			["jǔ"]
		],
		"不遑宁处": [
			["bù"],
			["huáng"],
			["níng"],
			["chǔ"]
		],
		"不遑宁息": [
			["bù"],
			["huáng"],
			["níng"],
			["xī"]
		],
		"不遑启处": [
			["bù"],
			["huáng"],
			["qǐ"],
			["chǔ"]
		],
		"不讳之朝": [
			["bù"],
			["huì"],
			["zhī"],
			["cháo"]
		],
		"不遑暇食": [
			["bù"],
			["huáng"],
			["xiá"],
			["shí"]
		],
		"不讳之路": [
			["bù"],
			["huì"],
			["zhī"],
			["lù"]
		],
		"不讳之门": [
			["bù"],
			["huì"],
			["zhī"],
			["mén"]
		],
		"不惑之年": [
			["bù"],
			["huò"],
			["zhī"],
			["nián"]
		],
		"不饥不寒": [
			["bù"],
			["jī"],
			["bù"],
			["hán"]
		],
		"不羁之才": [
			["bù"],
			["jī"],
			["zhī"],
			["cái"]
		],
		"不羁之民": [
			["bù"],
			["jī"],
			["zhī"],
			["mín"]
		],
		"不及格": [
			["bù"],
			["jí"],
			["gé"]
		],
		"不及之法": [
			["bù"],
			["jí"],
			["zhī"],
			["fǎ"]
		],
		"不即不离": [
			["bù"],
			["jí"],
			["bù"],
			["lí"]
		],
		"不急之务": [
			["bù"],
			["jí"],
			["zhī"],
			["wù"]
		],
		"不计其数": [
			["bù"],
			["jì"],
			["qí"],
			["shù"]
		],
		"不疾不徐": [
			["bù"],
			["jí"],
			["bù"],
			["xú"]
		],
		"不记前仇": [
			["bù"],
			["jì"],
			["qián"],
			["chóu"]
		],
		"不济事": [
			["bù"],
			["jì"],
			["shì"]
		],
		"不假思索": [
			["bù"],
			["jiǎ"],
			["sī"],
			["suǒ"]
		],
		"不稼不穑": [
			["bù"],
			["jià"],
			["bù"],
			["sè"]
		],
		"不间不界": [
			["bù"],
			["gān"],
			["bù"],
			["gà"]
		],
		"不见得": [
			["bú"],
			["jiàn"],
			["de"]
		],
		"不见棺材不落泪": [
			["bù"],
			["jiàn"],
			["guān"],
			["cái"],
			["bù"],
			["luò"],
			["lèi"]
		],
		"不见棺材不下泪": [
			["bù"],
			["jiàn"],
			["guān"],
			["cái"],
			["bù"],
			["xià"],
			["lèi"]
		],
		"不见经传": [
			["bù"],
			["jiàn"],
			["jīng"],
			["zhuàn"]
		],
		"不见天日": [
			["bù"],
			["jiàn"],
			["tiān"],
			["rì"]
		],
		"不见舆薪": [
			["bú"],
			["jiàn"],
			["yú"],
			["xīn"]
		],
		"不骄不躁": [
			["bù"],
			["jiāo"],
			["bù"],
			["zào"]
		],
		"不教而杀": [
			["bù"],
			["jiào"],
			["ér"],
			["shā"]
		],
		"不教而诛": [
			["bù"],
			["jiào"],
			["ér"],
			["zhū"]
		],
		"不教之教": [
			["bù"],
			["jiào"],
			["zhī"],
			["jiào"]
		],
		"不结盟国家": [
			["bù"],
			["jié"],
			["méng"],
			["guó"],
			["jiā"]
		],
		"不结盟运动": [
			["bù"],
			["jié"],
			["méng"],
			["yùn"],
			["dòng"]
		],
		"不解之仇": [
			["bù"],
			["jiě"],
			["zhī"],
			["chóu"]
		],
		"不解之缘": [
			["bù"],
			["jiě"],
			["zhī"],
			["yuán"]
		],
		"不介意": [
			["bù"],
			["jiè"],
			["yì"]
		],
		"不今不古": [
			["bù"],
			["jīn"],
			["bù"],
			["gǔ"]
		],
		"不矜不伐": [
			["bù"],
			["jīn"],
			["bù"],
			["fá"]
		],
		"不矜细行": [
			["bù"],
			["jīn"],
			["xì"],
			["xíng"]
		],
		"不紧不慢": [
			["bù"],
			["jīn"],
			["bù"],
			["màn"]
		],
		"不尽然": [
			["bù"],
			["jìn"],
			["rán"]
		],
		"不近道理": [
			["bù"],
			["jìn"],
			["dào"],
			["lǐ"]
		],
		"不近人情": [
			["bù"],
			["jìn"],
			["rén"],
			["qíng"]
		],
		"不进则退": [
			["bù"],
			["jìn"],
			["zé"],
			["tuì"]
		],
		"不禁不由": [
			["bù"],
			["jīn"],
			["bù"],
			["yóu"]
		],
		"不经世故": [
			["bù"],
			["jīng"],
			["shì"],
			["gù"]
		],
		"不经意": [
			["bù"],
			["jīng"],
			["yì"]
		],
		"不经之说": [
			["bù"],
			["jīng"],
			["zhī"],
			["shuō"]
		],
		"不经之谈": [
			["bù"],
			["jīng"],
			["zhī"],
			["tán"]
		],
		"不经之语": [
			["bù"],
			["jīng"],
			["zhī"],
			["yǔ"]
		],
		"不景气": [
			["bù"],
			["jǐng"],
			["qì"]
		],
		"不胫而走": [
			["bù"],
			["jìng"],
			["ér"],
			["zǒu"]
		],
		"不揪不采": [
			["bù"],
			["jiū"],
			["bù"],
			["cǎi"]
		],
		"不揪不採": [
			["bù"],
			["jiū"],
			["bù"],
			["cǎi"]
		],
		"不揪不睬": [
			["bù"],
			["chǒu"],
			["bù"],
			["cǎi"]
		],
		"不咎既往": [
			["bù"],
			["jiù"],
			["jì"],
			["wǎng"]
		],
		"不拘细节": [
			["bù"],
			["jū"],
			["xì"],
			["jié"]
		],
		"不拘细行": [
			["bù"],
			["jū"],
			["xì"],
			["xíng"]
		],
		"不拘小节": [
			["bù"],
			["jū"],
			["xiǎo"],
			["jié"]
		],
		"不拘形迹": [
			["bù"],
			["jū"],
			["xíng"],
			["jī"]
		],
		"不拘一格": [
			["bù"],
			["jū"],
			["yī"],
			["gé"]
		],
		"不绝如带": [
			["bù"],
			["jué"],
			["rú"],
			["dài"]
		],
		"不绝如缕": [
			["bù"],
			["jué"],
			["rú"],
			["lǚ"]
		],
		"不绝如发": [
			["bù"],
			["jué"],
			["rú"],
			["fà"]
		],
		"不绝如线": [
			["bù"],
			["jué"],
			["rú"],
			["xiàn"]
		],
		"不绝若线": [
			["bù"],
			["jué"],
			["ruò"],
			["xiàn"]
		],
		"不绝于耳": [
			["bù"],
			["jué"],
			["yú"],
			["ěr"]
		],
		"不觉技痒": [
			["bù"],
			["jué"],
			["jì"],
			["yǎng"]
		],
		"不开眼": [
			["bù"],
			["kāi"],
			["yǎn"]
		],
		"不刊之论": [
			["bù"],
			["kān"],
			["zhī"],
			["lùn"]
		],
		"不刊之典": [
			["bù"],
			["kān"],
			["zhī"],
			["diǎn"]
		],
		"不刊之书": [
			["bù"],
			["kān"],
			["zhī"],
			["shū"]
		],
		"不刊之说": [
			["bù"],
			["kān"],
			["zhī"],
			["shuō"]
		],
		"不堪回首": [
			["bù"],
			["kān"],
			["huí"],
			["shǒu"]
		],
		"不堪其忧": [
			["bù"],
			["kān"],
			["qí"],
			["yōu"]
		],
		"不堪入耳": [
			["bù"],
			["kān"],
			["rù"],
			["ěr"]
		],
		"不堪入目": [
			["bù"],
			["kān"],
			["rù"],
			["mù"]
		],
		"不堪设想": [
			["bù"],
			["kān"],
			["shè"],
			["xiǎng"]
		],
		"不堪一击": [
			["bù"],
			["kān"],
			["yī"],
			["jī"]
		],
		"不堪言状": [
			["bù"],
			["kān"],
			["yán"],
			["zhuàng"]
		],
		"不堪造就": [
			["bù"],
			["kān"],
			["zào"],
			["jiù"]
		],
		"不亢不卑": [
			["bù"],
			["kàng"],
			["bù"],
			["bēi"]
		],
		"不看僧面看佛面": [
			["bù"],
			["kàn"],
			["sēng"],
			["miàn"],
			["kàn"],
			["fó"],
			["miàn"]
		],
		"不抗不卑": [
			["bù"],
			["kàng"],
			["bù"],
			["bēi"]
		],
		"不可动摇": [
			["bù"],
			["kě"],
			["dòng"],
			["yáo"]
		],
		"不可端倪": [
			["bù"],
			["kě"],
			["duān"],
			["ní"]
		],
		"不可多得": [
			["bù"],
			["kě"],
			["duō"],
			["dé"]
		],
		"不可分": [
			["bù"],
			["kě"],
			["fēn"]
		],
		"不可告人": [
			["bù"],
			["kě"],
			["gào"],
			["rén"]
		],
		"不可估量": [
			["bù"],
			["kě"],
			["gū"],
			["liang"]
		],
		"不可教训": [
			["bù"],
			["kě"],
			["jiào"],
			["xùn"]
		],
		"不可究诘": [
			["bù"],
			["kě"],
			["jiū"],
			["jié"]
		],
		"不可救疗": [
			["bù"],
			["kě"],
			["jiù"],
			["liáo"]
		],
		"不可救药": [
			["bù"],
			["kě"],
			["jiù"],
			["yào"]
		],
		"不可开交": [
			["bù"],
			["kě"],
			["kāi"],
			["jiāo"]
		],
		"不可抗力": [
			["bù"],
			["kě"],
			["kàng"],
			["lì"]
		],
		"不可揆度": [
			["bù"],
			["kě"],
			["kuí"],
			["duó"]
		],
		"不可理喻": [
			["bù"],
			["kě"],
			["lǐ"],
			["yù"]
		],
		"不可枚举": [
			["bù"],
			["kě"],
			["méi"],
			["jǔ"]
		],
		"不可名状": [
			["bù"],
			["kě"],
			["míng"],
			["zhuàng"]
		],
		"不可摸捉": [
			["bù"],
			["kě"],
			["mō"],
			["zhuō"]
		],
		"不可磨灭": [
			["bù"],
			["kě"],
			["mó"],
			["miè"]
		],
		"不可奈何": [
			["bù"],
			["kě"],
			["mài"],
			["hé"]
		],
		"不可能事件": [
			["bù"],
			["kě"],
			["néng"],
			["shì"],
			["jiàn"]
		],
		"不可偏废": [
			["bù"],
			["kě"],
			["piān"],
			["fèi"]
		],
		"不可企及": [
			["bù"],
			["kě"],
			["qǐ"],
			["jí"]
		],
		"不可胜道": [
			["bù"],
			["kě"],
			["shèng"],
			["dào"]
		],
		"不可胜计": [
			["bù"],
			["kě"],
			["shèng"],
			["jì"]
		],
		"不可胜纪": [
			["bù"],
			["kě"],
			["shèng"],
			["jì"]
		],
		"不可胜记": [
			["bù"],
			["kě"],
			["shèng"],
			["jì"]
		],
		"不可胜举": [
			["bù"],
			["kě"],
			["shèng"],
			["jù"]
		],
		"不可胜数": [
			["bù"],
			["kě"],
			["shèng"],
			["shǔ"]
		],
		"不可胜算": [
			["bù"],
			["kě"],
			["shèng"],
			["suàn"]
		],
		"不可胜言": [
			["bù"],
			["kě"],
			["shèng"],
			["yán"]
		],
		"不可收拾": [
			["bù"],
			["kě"],
			["shōu"],
			["shí"]
		],
		"不可思议": [
			["bù"],
			["kě"],
			["sī"],
			["yì"]
		],
		"不可同日而语": [
			["bù"],
			["kě"],
			["tóng"],
			["rì"],
			["ér"],
			["yǔ"]
		],
		"不可限量": [
			["bù"],
			["kě"],
			["xiàn"],
			["liàng"]
		],
		"不可乡迩": [
			["bù"],
			["kě"],
			["xiāng"],
			["ěr"]
		],
		"不可向迩": [
			["bù"],
			["kě"],
			["xiàng"],
			["ěr"]
		],
		"不可言传": [
			["bù"],
			["kě"],
			["yán"],
			["chuán"]
		],
		"不可言宣": [
			["bù"],
			["kě"],
			["yán"],
			["xuān"]
		],
		"不可言喻": [
			["bù"],
			["kě"],
			["yán"],
			["yù"]
		],
		"不可言状": [
			["bù"],
			["kě"],
			["yán"],
			["zhuàng"]
		],
		"不可一世": [
			["bù"],
			["kě"],
			["yī"],
			["shì"]
		],
		"不可逾越": [
			["bù"],
			["kě"],
			["yú"],
			["yuè"]
		],
		"不可造次": [
			["bù"],
			["kě"],
			["zào"],
			["cì"]
		],
		"不可知论": [
			["bù"],
			["kě"],
			["zhī"],
			["lùn"]
		],
		"不可终日": [
			["bù"],
			["kě"],
			["zhōng"],
			["rì"]
		],
		"不可捉摸": [
			["bù"],
			["kě"],
			["zhuō"],
			["mō"]
		],
		"不媿下学": [
			["bù"],
			["kuì"],
			["xià"],
			["xué"]
		],
		"不愧不作": [
			["bù"],
			["kuì"],
			["bù"],
			["zuò"]
		],
		"不愧不怍": [
			["bù"],
			["kuì"],
			["bù"],
			["zuò"]
		],
		"不愧屋漏": [
			["bù"],
			["kuì"],
			["wū"],
			["lòu"]
		],
		"不愧下学": [
			["bù"],
			["kuì"],
			["xià"],
			["xué"]
		],
		"不来梅": [
			["bù"],
			["lái"],
			["méi"]
		],
		"不稂不莠": [
			["bù"],
			["láng"],
			["bù"],
			["yǒu"]
		],
		"不郎不秀": [
			["bù"],
			["láng"],
			["bù"],
			["xiù"]
		],
		"不劳而成": [
			["bù"],
			["láo"],
			["ér"],
			["chéng"]
		],
		"不劳而获": [
			["bù"],
			["láo"],
			["ér"],
			["huò"]
		],
		"不冷不热": [
			["bù"],
			["lěng"],
			["bù"],
			["rè"]
		],
		"不老少": [
			["bù"],
			["lǎo"],
			["shào"]
		],
		"不立文字": [
			["bù"],
			["lì"],
			["wén"],
			["zì"]
		],
		"不凉不酸": [
			["bù"],
			["liáng"],
			["bù"],
			["suān"]
		],
		"不了不当": [
			["bù"],
			["liǎo"],
			["bù"],
			["dàng"]
		],
		"不了而了": [
			["bù"],
			["liǎo"],
			["ér"],
			["liǎo"]
		],
		"不了了之": [
			["bù"],
			["liǎo"],
			["liǎo"],
			["zhī"]
		],
		"不劣方头": [
			["bù"],
			["liè"],
			["fāng"],
			["tóu"]
		],
		"不磷不缁": [
			["bù"],
			["lín"],
			["bù"],
			["zī"]
		],
		"不吝赐教": [
			["bù"],
			["lìn"],
			["cì"],
			["jiào"]
		],
		"不吝指教": [
			["bù"],
			["lìn"],
			["zhǐ"],
			["jiào"]
		],
		"不吝珠玉": [
			["bù"],
			["lìn"],
			["zhū"],
			["yù"]
		],
		"不留余地": [
			["bù"],
			["liú"],
			["yú"],
			["dì"]
		],
		"不露锋芒": [
			["bù"],
			["lù"],
			["fēng"],
			["máng"]
		],
		"不露锋铓": [
			["bù"],
			["lù"],
			["fēng"],
			["huì"]
		],
		"不露圭角": [
			["bù"],
			["lù"],
			["guī"],
			["jiǎo"]
		],
		"不露神色": [
			["bù"],
			["lù"],
			["shén"],
			["sè"]
		],
		"不露声色": [
			["bù"],
			["lù"],
			["shēng"],
			["sè"]
		],
		"不露形色": [
			["bù"],
			["lù"],
			["xíng"],
			["sè"]
		],
		"不伦不类": [
			["bù"],
			["lún"],
			["bù"],
			["lèi"]
		],
		"不落边际": [
			["bù"],
			["luò"],
			["biān"],
			["jì"]
		],
		"不落窠臼": [
			["bù"],
			["luò"],
			["kē"],
			["jiù"]
		],
		"不落俗套": [
			["bù"],
			["luò"],
			["sú"],
			["tào"]
		],
		"不蔓不支": [
			["bù"],
			["màn"],
			["bù"],
			["zhī"]
		],
		"不蔓不枝": [
			["bù"],
			["màn"],
			["bù"],
			["zhī"]
		],
		"不忙不暴": [
			["bù"],
			["máng"],
			["bù"],
			["bào"]
		],
		"不毛之地": [
			["bù"],
			["máo"],
			["zhī"],
			["dì"]
		],
		"不名一钱": [
			["bù"],
			["míng"],
			["yī"],
			["qián"]
		],
		"不名一格": [
			["bù"],
			["míng"],
			["yī"],
			["gé"]
		],
		"不名一文": [
			["bù"],
			["míng"],
			["yī"],
			["wén"]
		],
		"不名誉": [
			["bù"],
			["míng"],
			["yù"]
		],
		"不明不白": [
			["bù"],
			["míng"],
			["bù"],
			["bái"]
		],
		"不摸头": [
			["bù"],
			["mō"],
			["tóu"]
		],
		"不谋而同": [
			["bù"],
			["móu"],
			["ér"],
			["tóng"]
		],
		"不谋而合": [
			["bù"],
			["móu"],
			["ér"],
			["hé"]
		],
		"不谋同辞": [
			["bù"],
			["móu"],
			["tóng"],
			["cí"]
		],
		"不牧之地": [
			["bù"],
			["mù"],
			["zhī"],
			["dì"]
		],
		"不耐烦": [
			["bù"],
			["nài"],
			["fán"]
		],
		"不奈之何": [
			["bù"],
			["nai"],
			["zhī"],
			["hé"]
		],
		"不挠不屈": [
			["bù"],
			["náo"],
			["bù"],
			["qū"]
		],
		"不挠不折": [
			["bù"],
			["náo"],
			["bù"],
			["zhé"]
		],
		"不能不": [
			["bù"],
			["néng"],
			["bù"]
		],
		"不能登大雅之堂": [
			["bù"],
			["néng"],
			["dēng"],
			["dà"],
			["yǎ"],
			["zhī"],
			["táng"]
		],
		"不能赞一词": [
			["bù"],
			["néng"],
			["zàn"],
			["yī"],
			["cí"]
		],
		"不能赞一辞": [
			["bù"],
			["néng"],
			["zàn"],
			["yī"],
			["cí"]
		],
		"不能自拔": [
			["bù"],
			["néng"],
			["zì"],
			["bá"]
		],
		"不念旧恶": [
			["bù"],
			["niàn"],
			["jiù"],
			["è"]
		],
		"不能自已": [
			["bù"],
			["néng"],
			["zì"],
			["yǐ"]
		],
		"不宁唯是": [
			["bù"],
			["níng"],
			["wéi"],
			["shì"]
		],
		"不念僧面念佛面": [
			["bù"],
			["niàn"],
			["sēng"],
			["miàn"],
			["niàn"],
			["fó"],
			["miàn"]
		],
		"不偏不党": [
			["bù"],
			["piān"],
			["bù"],
			["dǎng"]
		],
		"不偏不倚": [
			["bù"],
			["piān"],
			["bù"],
			["yǐ"]
		],
		"不平等条约": [
			["bù"],
			["píng"],
			["děng"],
			["tiáo"],
			["yuē"]
		],
		"不平则鸣": [
			["bù"],
			["píng"],
			["zé"],
			["míng"]
		],
		"不期而会": [
			["bù"],
			["qī"],
			["ér"],
			["huì"]
		],
		"不破不立": [
			["bù"],
			["pò"],
			["bù"],
			["lì"]
		],
		"不期而然": [
			["bù"],
			["qī"],
			["ér"],
			["rán"]
		],
		"不期而同": [
			["bù"],
			["qī"],
			["ér"],
			["tóng"]
		],
		"不期而遇": [
			["bù"],
			["qī"],
			["ér"],
			["yù"]
		],
		"不期然而然": [
			["bù"],
			["qī"],
			["rán"],
			["ér"],
			["rán"]
		],
		"不期修古": [
			["bù"],
			["qī"],
			["xiū"],
			["gǔ"]
		],
		"不欺闇室": [
			["bù"],
			["qī"],
			["àn"],
			["shì"]
		],
		"不欺暗室": [
			["bù"],
			["qī"],
			["àn"],
			["shì"]
		],
		"不欺屋漏": [
			["bù"],
			["qī"],
			["wū"],
			["lòu"]
		],
		"不起眼": [
			["bù"],
			["qǐ"],
			["yǎn"]
		],
		"不起诉": [
			["bù"],
			["qǐ"],
			["sù"]
		],
		"不弃草昧": [
			["bù"],
			["qì"],
			["cǎo"],
			["mèi"]
		],
		"不迁之庙": [
			["bù"],
			["qiān"],
			["zhī"],
			["miào"]
		],
		"不勤而获": [
			["bù"],
			["qín"],
			["ér"],
			["huò"]
		],
		"不切实际": [
			["bù"],
			["qiē"],
			["shí"],
			["jì"]
		],
		"不擒二毛": [
			["bù"],
			["qín"],
			["èr"],
			["máo"]
		],
		"不轻然诺": [
			["bù"],
			["qīng"],
			["rán"],
			["nuò"]
		],
		"不情之请": [
			["bù"],
			["qíng"],
			["zhī"],
			["qǐng"]
		],
		"不求甚解": [
			["bù"],
			["qiú"],
			["shèn"],
			["jiě"]
		],
		"不求闻达": [
			["bù"],
			["qiú"],
			["wén"],
			["dá"]
		],
		"不屈不挠": [
			["bù"],
			["qū"],
			["bù"],
			["náo"]
		],
		"不染一尘": [
			["bù"],
			["rǎn"],
			["yī"],
			["chén"]
		],
		"不忍卒读": [
			["bù"],
			["rěn"],
			["zú"],
			["dú"]
		],
		"不人道": [
			["bù"],
			["rén"],
			["dào"]
		],
		"不日不月": [
			["bù"],
			["rì"],
			["bù"],
			["yuè"]
		],
		"不容分说": [
			["bù"],
			["róng"],
			["fēn"],
			["shuō"]
		],
		"不容置辩": [
			["bù"],
			["róng"],
			["zhì"],
			["biàn"]
		],
		"不容置喙": [
			["bù"],
			["róng"],
			["zhì"],
			["huì"]
		],
		"不容置疑": [
			["bù"],
			["róng"],
			["zhì"],
			["yí"]
		],
		"不如归去": [
			["bù"],
			["rú"],
			["guī"],
			["qù"]
		],
		"不如意": [
			["bù"],
			["rú"],
			["yì"]
		],
		"不辱使命": [
			["bù"],
			["rǔ"],
			["shǐ"],
			["mìng"]
		],
		"不入时宜": [
			["bù"],
			["rù"],
			["shí"],
			["yí"]
		],
		"不三不四": [
			["bù"],
			["sān"],
			["bù"],
			["sì"]
		],
		"不僧不俗": [
			["bù"],
			["sēng"],
			["bù"],
			["sú"]
		],
		"不衫不履": [
			["bù"],
			["shān"],
			["bù"],
			["lǚ"]
		],
		"不伤脾胃": [
			["bù"],
			["shāng"],
			["pí"],
			["wèi"]
		],
		"不赏之功": [
			["bù"],
			["shǎng"],
			["zhī"],
			["gōng"]
		],
		"不上不落": [
			["bù"],
			["shàng"],
			["bù"],
			["luò"]
		],
		"不上不下": [
			["bù"],
			["shàng"],
			["bù"],
			["xià"]
		],
		"不舍昼夜": [
			["bù"],
			["shě"],
			["zhòu"],
			["yè"]
		],
		"不甚了了": [
			["bù"],
			["shèn"],
			["liǎo"],
			["liǎo"]
		],
		"不生不灭": [
			["bù"],
			["shēng"],
			["bù"],
			["miè"]
		],
		"不声不吭": [
			["bù"],
			["shēng"],
			["bù"],
			["kēng"]
		],
		"不声不响": [
			["bù"],
			["shēng"],
			["bù"],
			["xiǎng"]
		],
		"不声不气": [
			["bù"],
			["shēng"],
			["bù"],
			["qì"]
		],
		"不胜杯杓": [
			["bù"],
			["shèng"],
			["bēi"],
			["sháo"]
		],
		"不胜桮杓": [
			["bù"],
			["shèng"],
			["bēi"],
			["sháo"]
		],
		"不胜枚举": [
			["bù"],
			["shèng"],
			["méi"],
			["jǔ"]
		],
		"不胜其烦": [
			["bù"],
			["shèng"],
			["qí"],
			["fán"]
		],
		"不胜其苦": [
			["bù"],
			["shèng"],
			["qí"],
			["kǔ"]
		],
		"不胜其任": [
			["bù"],
			["shèng"],
			["qí"],
			["rèn"]
		],
		"不省人事": [
			["bù"],
			["xǐng"],
			["rén"],
			["shì"]
		],
		"不失圭撮": [
			["bù"],
			["shī"],
			["guī"],
			["cuō"]
		],
		"不失毫厘": [
			["bù"],
			["shī"],
			["háo"],
			["lí"]
		],
		"不失时机": [
			["bù"],
			["shī"],
			["shí"],
			["jī"]
		],
		"不失黍絫": [
			["bù"],
			["shī"],
			["shǔ"],
			["lěi"]
		],
		"不时之须": [
			["bù"],
			["shí"],
			["zhī"],
			["xū"]
		],
		"不时之需": [
			["bù"],
			["shí"],
			["zhī"],
			["xū"]
		],
		"不识不知": [
			["bù"],
			["shí"],
			["bù"],
			["zhī"]
		],
		"不识大体": [
			["bù"],
			["shí"],
			["dà"],
			["tǐ"]
		],
		"不识东家": [
			["bù"],
			["shí"],
			["dōng"],
			["jiā"]
		],
		"不识高低": [
			["bù"],
			["shí"],
			["gāo"],
			["dī"]
		],
		"不识好歹": [
			["bù"],
			["shí"],
			["hǎo"],
			["dǎi"]
		],
		"不识局面": [
			["bù"],
			["shí"],
			["jú"],
			["miàn"]
		],
		"不识庐山真面目": [
			["bù"],
			["shí"],
			["lú"],
			["shān"],
			["zhēn"],
			["miàn"],
			["mù"]
		],
		"不识马肝": [
			["bù"],
			["shí"],
			["mǎ"],
			["gān"]
		],
		"不识起倒": [
			["bù"],
			["shí"],
			["qǐ"],
			["dǎo"]
		],
		"不识人间有羞耻事": [
			["bù"],
			["shí"],
			["rén"],
			["jiān"],
			["yǒu"],
			["xiū"],
			["chǐ"],
			["shì"]
		],
		"不识时务": [
			["bù"],
			["shí"],
			["shí"],
			["wù"]
		],
		"不识抬举": [
			["bù"],
			["shí"],
			["tái"],
			["jǔ"]
		],
		"不识泰山": [
			["bù"],
			["shí"],
			["tài"],
			["shān"]
		],
		"不识一丁": [
			["bù"],
			["shí"],
			["yī"],
			["dīng"]
		],
		"不识之无": [
			["bù"],
			["shí"],
			["zhī"],
			["wú"]
		],
		"不实之词": [
			["bù"],
			["shí"],
			["zhī"],
			["cí"]
		],
		"不食马肝": [
			["bù"],
			["shí"],
			["mǎ"],
			["gān"]
		],
		"不食烟火": [
			["bù"],
			["shí"],
			["yān"],
			["huǒ"]
		],
		"不食之地": [
			["bù"],
			["shí"],
			["zhī"],
			["dì"]
		],
		"不世之功": [
			["bù"],
			["shì"],
			["zhī"],
			["gōng"]
		],
		"不世之业": [
			["bù"],
			["shì"],
			["zhī"],
			["yè"]
		],
		"不食周粟": [
			["bù"],
			["shí"],
			["zhōu"],
			["sù"]
		],
		"不事边幅": [
			["bù"],
			["shì"],
			["biān"],
			["fú"]
		],
		"不是味儿": [
			["bú"],
			["shì"],
			["wèi"],
			["ér"]
		],
		"不是冤家不聚头": [
			["bù"],
			["shì"],
			["yuān"],
			["jiā"],
			["bù"],
			["jù"],
			["tóu"]
		],
		"不受欢迎的人": [
			["bù"],
			["shòu"],
			["huān"],
			["yíng"],
			["de"],
			["rén"]
		],
		"不爽累黍": [
			["bù"],
			["shuǎng"],
			["lèi"],
			["shǔ"]
		],
		"不爽毫发": [
			["bù"],
			["shuǎng"],
			["háo"],
			["fā"]
		],
		"不死不活": [
			["bù"],
			["sǐ"],
			["bù"],
			["huó"]
		],
		"不速之客": [
			["bù"],
			["sù"],
			["zhī"],
			["kè"]
		],
		"不随以止": [
			["bu"],
			["shui"],
			["yi"],
			["zi"]
		],
		"不贪为宝": [
			["bù"],
			["tān"],
			["wé"],
			["bǎo"]
		],
		"不腆之仪": [
			["bù"],
			["tiǎn"],
			["zhī"],
			["yí"]
		],
		"不挑之祖": [
			["bù"],
			["tiāo"],
			["zhī"],
			["zǔ"]
		],
		"不祧之宗": [
			["bù"],
			["tiāo"],
			["zhī"],
			["zōng"]
		],
		"不祧之祖": [
			["bù"],
			["tiāo"],
			["zhī"],
			["zǔ"]
		],
		"不通水火": [
			["bù"],
			["tōng"],
			["shuǐ"],
			["huǒ"]
		],
		"不同戴天": [
			["bù"],
			["tóng"],
			["dài"],
			["tiān"]
		],
		"不同凡响": [
			["bù"],
			["tóng"],
			["fán"],
			["xiǎng"]
		],
		"不同流俗": [
			["bù"],
			["tóng"],
			["liú"],
			["sú"]
		],
		"不痛不痒": [
			["bù"],
			["tòng"],
			["bù"],
			["yǎng"]
		],
		"不吐不茹": [
			["bù"],
			["tǔ"],
			["bù"],
			["rú"]
		],
		"不忘故旧": [
			["bù"],
			["wàng"],
			["gù"],
			["jiù"]
		],
		"不忘沟壑": [
			["bù"],
			["wàng"],
			["gōu"],
			["hè"]
		],
		"不为五斗米折腰": [
			["bù"],
			["wèi"],
			["wǔ"],
			["dǒu"],
			["mǐ"],
			["zhé"],
			["yāo"]
		],
		"不为已甚": [
			["bù"],
			["wéi"],
			["yǐ"],
			["shèn"]
		],
		"不违农时": [
			["bù"],
			["wéi"],
			["nóng"],
			["shí"]
		],
		"不瘟不火": [
			["bù"],
			["wēn"],
			["bù"],
			["huǒ"]
		],
		"不文不武": [
			["bù"],
			["wén"],
			["bù"],
			["wǔ"]
		],
		"不闻不问": [
			["bù"],
			["wén"],
			["bù"],
			["wèn"]
		],
		"不问不闻": [
			["bù"],
			["wèn"],
			["bù"],
			["wén"]
		],
		"不问青红皂白": [
			["bù"],
			["wèn"],
			["qīng"],
			["hóng"],
			["zào"],
			["bái"]
		],
		"不问皂白": [
			["bù"],
			["wèn"],
			["zào"],
			["bái"]
		],
		"不猧不魀": [
			["bù"],
			["wō"],
			["bù"],
			["gà"]
		],
		"不无小补": [
			["bù"],
			["wú"],
			["xiǎo"],
			["bǔ"]
		],
		"不舞之鹤": [
			["bù"],
			["wǔ"],
			["zhī"],
			["hè"]
		],
		"不务空名": [
			["bù"],
			["wù"],
			["kōng"],
			["míng"]
		],
		"不务正业": [
			["bù"],
			["wù"],
			["zhèng"],
			["yè"]
		],
		"不惜工本": [
			["bù"],
			["xī"],
			["gōng"],
			["běn"]
		],
		"不习地土": [
			["bù"],
			["xí"],
			["dì"],
			["tǔ"]
		],
		"不习水土": [
			["bù"],
			["xí"],
			["shuǐ"],
			["tǔ"]
		],
		"不習水土": [
			["bù"],
			["xí"],
			["shuǐ"],
			["tǔ"]
		],
		"不下于": [
			["bù"],
			["xià"],
			["yú"]
		],
		"不咸不淡": [
			["bù"],
			["xián"],
			["bù"],
			["dàn"]
		],
		"不相称": [
			["bù"],
			["xiāng"],
			["chèn"]
		],
		"不相干": [
			["bù"],
			["xiāng"],
			["gān"]
		],
		"不相上下": [
			["bù"],
			["xiāng"],
			["shàng"],
			["xià"]
		],
		"不相为谋": [
			["bù"],
			["xiāng"],
			["wéi"],
			["móu"]
		],
		"不相闻问": [
			["bù"],
			["xiāng"],
			["wén"],
			["wèn"]
		],
		"不相问闻": [
			["bù"],
			["xiāng"],
			["wèn"],
			["wén"]
		],
		"不祥之兆": [
			["bù"],
			["xiáng"],
			["zhī"],
			["zhào"]
		],
		"不象话": [
			["bù"],
			["xiàng"],
			["huà"]
		],
		"不像话": [
			["bù"],
			["xiàng"],
			["huà"]
		],
		"不消说": [
			["bù"],
			["xiāo"],
			["shuō"]
		],
		"不晓世务": [
			["bù"],
			["xiǎo"],
			["shì"],
			["wù"]
		],
		"不肖子孙": [
			["bù"],
			["xiào"],
			["zǐ"],
			["sūn"]
		],
		"不屑毁誉": [
			["bù"],
			["xiè"],
			["huǐ"],
			["yù"]
		],
		"不屑教诲": [
			["bù"],
			["xiè"],
			["jiào"],
			["huì"]
		],
		"不屑一顾": [
			["bù"],
			["xiè"],
			["yī"],
			["gù"]
		],
		"不幸而言中": [
			["bù"],
			["xìng"],
			["ér"],
			["yán"],
			["zhòng"]
		],
		"不修边幅": [
			["bù"],
			["xiū"],
			["biān"],
			["fú"]
		],
		"不羞当面": [
			["bù"],
			["xiū"],
			["dāng"],
			["miàn"]
		],
		"不修小节": [
			["bù"],
			["xiū"],
			["xiǎo"],
			["jié"]
		],
		"不锈钢": [
			["bù"],
			["xiù"],
			["gāng"]
		],
		"不脩边幅": [
			["bù"],
			["xiū"],
			["biān"],
			["fú"]
		],
		"不虚此行": [
			["bù"],
			["xū"],
			["cǐ"],
			["xíng"]
		],
		"不徐不疾": [
			["bù"],
			["xú"],
			["bù"],
			["jí"]
		],
		"不恤人言": [
			["bù"],
			["xù"],
			["rén"],
			["yán"]
		],
		"不宣而战": [
			["bù"],
			["xuān"],
			["ér"],
			["zhàn"]
		],
		"不学无识": [
			["bù"],
			["xué"],
			["wú"],
			["shí"]
		],
		"不旋踵": [
			["bù"],
			["xuán"],
			["zhǒng"]
		],
		"不学无术": [
			["bù"],
			["xué"],
			["wú"],
			["shù"]
		],
		"不徇私情": [
			["bù"],
			["xún"],
			["sī"],
			["qíng"]
		],
		"不言而信": [
			["bù"],
			["yán"],
			["ér"],
			["xìn"]
		],
		"不言不语": [
			["bù"],
			["yán"],
			["bù"],
			["yǔ"]
		],
		"不言而谕": [
			["bù"],
			["yán"],
			["ér"],
			["yù"]
		],
		"不言而喻": [
			["bù"],
			["yán"],
			["ér"],
			["yù"]
		],
		"不厌其烦": [
			["bù"],
			["yàn"],
			["qí"],
			["fán"]
		],
		"不厌其繁": [
			["bù"],
			["yàn"],
			["qí"],
			["fán"]
		],
		"不厌其详": [
			["bù"],
			["yàn"],
			["qí"],
			["xiáng"]
		],
		"不要紧": [
			["bú"],
			["yào"],
			["jǐn"]
		],
		"不药而愈": [
			["bù"],
			["yào"],
			["ér"],
			["yù"]
		],
		"不要脸": [
			["bú"],
			["yào"],
			["liǎn"]
		],
		"不夜城": [
			["bù"],
			["yè"],
			["chéng"]
		],
		"不一定": [
			["bù"],
			["yí"],
			["dìng"]
		],
		"不一而足": [
			["bù"],
			["yī"],
			["ér"],
			["zú"]
		],
		"不一会儿": [
			["bù"],
			["yī"],
			["huì"],
			["er"]
		],
		"不依不饶": [
			["bù"],
			["yī"],
			["bù"],
			["ráo"]
		],
		"不壹而三": [
			["bù"],
			["yī"],
			["ér"],
			["sān"]
		],
		"不壹而足": [
			["bù"],
			["yī"],
			["ér"],
			["zú"]
		],
		"不夷不惠": [
			["bù"],
			["yí"],
			["bù"],
			["huì"]
		],
		"不遗巨细": [
			["bù"],
			["yí"],
			["jù"],
			["xì"]
		],
		"不遗寸长": [
			["bù"],
			["yí"],
			["cùn"],
			["cháng"]
		],
		"不遗余力": [
			["bù"],
			["yí"],
			["yú"],
			["lì"]
		],
		"不以辞害志": [
			["bù"],
			["yǐ"],
			["cí"],
			["hài"],
			["zhì"]
		],
		"不以人废言": [
			["bù"],
			["yǐ"],
			["rén"],
			["fèi"],
			["yán"]
		],
		"不以为耻": [
			["bù"],
			["yǐ"],
			["wéi"],
			["chǐ"]
		],
		"不以为奇": [
			["bù"],
			["yǐ"],
			["wéi"],
			["qí"]
		],
		"不以为意": [
			["bù"],
			["yǐ"],
			["wéi"],
			["yì"]
		],
		"不以一眚掩大德": [
			["bù"],
			["yǐ"],
			["yī"],
			["shěng"],
			["yǎn"],
			["dà"],
			["dé"]
		],
		"不以为然": [
			["bù"],
			["yǐ"],
			["wéi"],
			["rán"]
		],
		"不义之财": [
			["bù"],
			["yì"],
			["zhī"],
			["cái"]
		],
		"不亦乐乎": [
			["bù"],
			["yì"],
			["lè"],
			["hū"]
		],
		"不亦善夫": [
			["bù"],
			["yi"],
			["shàn"],
			["fū"]
		],
		"不易一字": [
			["bù"],
			["yì"],
			["yī"],
			["zì"]
		],
		"不易之典": [
			["bù"],
			["yì"],
			["zhī"],
			["diǎn"]
		],
		"不易之论": [
			["bù"],
			["yì"],
			["zhī"],
			["lùn"]
		],
		"不翼而飞": [
			["bù"],
			["yì"],
			["ér"],
			["fēi"]
		],
		"不因不由": [
			["bù"],
			["yīn"],
			["bù"],
			["yóu"]
		],
		"不因人热": [
			["bù"],
			["yīn"],
			["rén"],
			["rè"]
		],
		"不阴不阳": [
			["bù"],
			["yīn"],
			["bù"],
			["yáng"]
		],
		"不饮盗泉": [
			["bù"],
			["yǐn"],
			["dào"],
			["quán"]
		],
		"不由得": [
			["bù"],
			["yóu"],
			["de"]
		],
		"不由分说": [
			["bù"],
			["yóu"],
			["fēn"],
			["shuō"]
		],
		"不由自主": [
			["bù"],
			["yóu"],
			["zì"],
			["zhǔ"]
		],
		"不虞之誉": [
			["bù"],
			["yú"],
			["zhī"],
			["yù"]
		],
		"不远万里": [
			["bù"],
			["yuǎn"],
			["wàn"],
			["lǐ"]
		],
		"不远千里": [
			["bù"],
			["yuǎn"],
			["qiān"],
			["lǐ"]
		],
		"不约而同": [
			["bù"],
			["yuē"],
			["ér"],
			["tóng"]
		],
		"不越雷池": [
			["bù"],
			["yuè"],
			["léi"],
			["shi"]
		],
		"不在乎": [
			["bù"],
			["zài"],
			["hu"]
		],
		"不在话下": [
			["bù"],
			["zài"],
			["huà"],
			["xià"]
		],
		"不在意": [
			["bù"],
			["zài"],
			["yì"]
		],
		"不赞一词": [
			["bù"],
			["zàn"],
			["yī"],
			["cí"]
		],
		"不择生冷": [
			["bù"],
			["zé"],
			["shēng"],
			["lěng"]
		],
		"不择手段": [
			["bù"],
			["zé"],
			["shǒu"],
			["duàn"]
		],
		"不怎么样": [
			["bù"],
			["zěn"],
			["me"],
			["yàng"]
		],
		"不粘锅": [
			["bù"],
			["nián"],
			["guō"]
		],
		"不折不扣": [
			["bù"],
			["zhé"],
			["bù"],
			["kòu"]
		],
		"不争气": [
			["bù"],
			["zhēng"],
			["qì"]
		],
		"不正当竞争": [
			["bù"],
			["zhèng"],
			["dāng"],
			["jìng"],
			["zhēng"]
		],
		"不正之风": [
			["bù"],
			["zhèng"],
			["zhī"],
			["fēng"]
		],
		"不知不觉": [
			["bù"],
			["zhī"],
			["bù"],
			["jué"]
		],
		"不知颠倒": [
			["bù"],
			["zhī"],
			["diān"],
			["dǎo"]
		],
		"不知丁董": [
			["bù"],
			["zhī"],
			["dīng"],
			["dǒng"]
		],
		"不知薡蕫": [
			["bù"],
			["zhī"],
			["dīng"],
			["dǒng"]
		],
		"不知端倪": [
			["bù"],
			["zhī"],
			["duān"],
			["ní"]
		],
		"不知凡几": [
			["bù"],
			["zhī"],
			["fán"],
			["jǐ"]
		],
		"不知甘苦": [
			["bù"],
			["zhī"],
			["gān"],
			["kǔ"]
		],
		"不知高低": [
			["bù"],
			["zhī"],
			["gāo"],
			["dī"]
		],
		"不知高下": [
			["bù"],
			["zhī"],
			["gāo"],
			["xià"]
		],
		"不知好歹": [
			["bù"],
			["zhī"],
			["hǎo"],
			["dǎi"]
		],
		"不知纪极": [
			["bù"],
			["zhī"],
			["jì"],
			["jí"]
		],
		"不知进退": [
			["bù"],
			["zhī"],
			["jìn"],
			["tuì"]
		],
		"不知就里": [
			["bù"],
			["zhī"],
			["jiù"],
			["lǐ"]
		],
		"不知老之将至": [
			["bù"],
			["zhī"],
			["lǎo"],
			["zhī"],
			["jiāng"],
			["zhì"]
		],
		"不知利害": [
			["bù"],
			["zhī"],
			["lì"],
			["hài"]
		],
		"不知起倒": [
			["bù"],
			["zhī"],
			["qǐ"],
			["dǎo"]
		],
		"不知寝食": [
			["bù"],
			["zhī"],
			["qǐn"],
			["shí"]
		],
		"不知轻重": [
			["bù"],
			["zhī"],
			["qīng"],
			["zhòng"]
		],
		"不知去向": [
			["bù"],
			["zhī"],
			["qù"],
			["xiàng"]
		],
		"不知人间有羞耻事": [
			["bù"],
			["zhī"],
			["rén"],
			["jiān"],
			["yǒu"],
			["xiū"],
			["chǐ"],
			["shì"]
		],
		"不知肉味": [
			["bù"],
			["zhī"],
			["ròu"],
			["wèi"]
		],
		"不知深浅": [
			["bù"],
			["zhī"],
			["shēn"],
			["qiǎn"]
		],
		"不知世务": [
			["bù"],
			["zhī"],
			["shì"],
			["wù"]
		],
		"不知死活": [
			["bù"],
			["zhī"],
			["sǐ"],
			["huó"]
		],
		"不知所出": [
			["bù"],
			["zhī"],
			["suǒ"],
			["chū"]
		],
		"不知所厝": [
			["bù"],
			["zhī"],
			["suǒ"],
			["cuò"]
		],
		"不知所措": [
			["bù"],
			["zhī"],
			["suǒ"],
			["cuò"]
		],
		"不知所错": [
			["bù"],
			["zhī"],
			["suǒ"],
			["cuò"]
		],
		"不知所可": [
			["bù"],
			["zhī"],
			["suǒ"],
			["kě"]
		],
		"不知所言": [
			["bù"],
			["zhī"],
			["suǒ"],
			["yán"]
		],
		"不知所以": [
			["bù"],
			["zhī"],
			["suǒ"],
			["yǐ"]
		],
		"不知所云": [
			["bù"],
			["zhī"],
			["suǒ"],
			["yún"]
		],
		"不知疼痒": [
			["bù"],
			["zhī"],
			["téng"],
			["yǎng"]
		],
		"不知所终": [
			["bù"],
			["zhī"],
			["suǒ"],
			["zhōng"]
		],
		"不知天高地厚": [
			["bù"],
			["zhī"],
			["tiān"],
			["gāo"],
			["dì"],
			["hòu"]
		],
		"不知头脑": [
			["bù"],
			["zhī"],
			["tóu"],
			["nǎo"]
		],
		"不知痛痒": [
			["bù"],
			["zhī"],
			["tòng"],
			["yǎng"]
		],
		"不知者不罪": [
			["bù"],
			["zhī"],
			["zhě"],
			["bù"],
			["zuì"]
		],
		"不知自量": [
			["bù"],
			["zhī"],
			["zì"],
			["liàng"]
		],
		"不知自爱": [
			["bù"],
			["zhī"],
			["zì"],
			["ài"]
		],
		"不直一钱": [
			["bù"],
			["zhí"],
			["yī"],
			["qián"]
		],
		"不直一文": [
			["bù"],
			["zhí"],
			["yī"],
			["wén"]
		],
		"不值一驳": [
			["bù"],
			["zhí"],
			["yī"],
			["bó"]
		],
		"不值一顾": [
			["bù"],
			["zhí"],
			["yī"],
			["gù"]
		],
		"不值一钱": [
			["bù"],
			["zhí"],
			["yī"],
			["qián"]
		],
		"不值一哂": [
			["bù"],
			["zhí"],
			["yī"],
			["shěn"]
		],
		"不值一笑": [
			["bù"],
			["zhí"],
			["yī"],
			["xiào"]
		],
		"不至于": [
			["bù"],
			["zhì"],
			["yú"]
		],
		"不忮不求": [
			["bù"],
			["zhì"],
			["bù"],
			["qiú"]
		],
		"不栉进士": [
			["bù"],
			["zhì"],
			["jìn"],
			["shì"]
		],
		"不治之症": [
			["bù"],
			["zhì"],
			["zhī"],
			["zhèng"]
		],
		"不置褒贬": [
			["bù"],
			["zhì"],
			["bāo"],
			["biǎn"]
		],
		"不置可否": [
			["bù"],
			["zhì"],
			["kě"],
			["fǒu"]
		],
		"不中用": [
			["bù"],
			["zhōng"],
			["yòng"]
		],
		"不周延": [
			["bù"],
			["zhōu"],
			["yán"]
		],
		"不主故常": [
			["bù"],
			["zhǔ"],
			["gù"],
			["cháng"]
		],
		"不追既往": [
			["bù"],
			["zhuī"],
			["jì"],
			["wǎng"]
		],
		"不着边际": [
			["bù"],
			["zhuó"],
			["biān"],
			["jì"]
		],
		"不着疼热": [
			["bù"],
			["zhuó"],
			["téng"],
			["rè"]
		],
		"不自量": [
			["bù"],
			["zì"],
			["liàng"]
		],
		"不自量力": [
			["bù"],
			["zì"],
			["liàng"],
			["lì"]
		],
		"不自满假": [
			["bù"],
			["zì"],
			["mǎn"],
			["jiǎ"]
		],
		"不自在": [
			["bù"],
			["zì"],
			["zài"]
		],
		"不足齿数": [
			["bù"],
			["zú"],
			["chǐ"],
			["shǔ"]
		],
		"不足道": [
			["bù"],
			["zú"],
			["dào"]
		],
		"不足挂齿": [
			["bù"],
			["zú"],
			["guà"],
			["chǐ"]
		],
		"不足介意": [
			["bù"],
			["zú"],
			["jiè"],
			["yì"]
		],
		"不足轻重": [
			["bù"],
			["zú"],
			["qīng"],
			["zhòng"]
		],
		"不足为法": [
			["bù"],
			["zú"],
			["wéi"],
			["fǎ"]
		],
		"不足取": [
			["bù"],
			["zú"],
			["qǔ"]
		],
		"不足为凭": [
			["bù"],
			["zú"],
			["wéi"],
			["píng"]
		],
		"不足为据": [
			["bù"],
			["zú"],
			["wéi"],
			["jù"]
		],
		"不足为奇": [
			["bù"],
			["zú"],
			["wéi"],
			["qí"]
		],
		"不足为训": [
			["bù"],
			["zú"],
			["wéi"],
			["xùn"]
		],
		"不足为外人道": [
			["bù"],
			["zú"],
			["wéi"],
			["wài"],
			["rén"],
			["dào"]
		],
		"不足为意": [
			["bù"],
			["zú"],
			["wéi"],
			["yì"]
		],
		"不作声": [
			["bù"],
			["zuò"],
			["shēng"]
		],
		"不做声": [
			["bù"],
			["zuò"],
			["shēng"]
		],
		"不做不休": [
			["bù"],
			["zuò"],
			["bù"],
			["xiū"]
		],
		"布被瓦器": [
			["bù"],
			["bèi"],
			["wǎ"],
			["qì"]
		],
		"布达拉宫": [
			["bù"],
			["dá"],
			["lā"],
			["gōng"]
		],
		"布尔什维克": [
			["bù"],
			["ěr"],
			["shí"],
			["wéi"],
			["kè"]
		],
		"布拉柴维尔": [
			["bù"],
			["lā"],
			["chái"],
			["wéi"],
			["ěr"]
		],
		"布拉格": [
			["bù"],
			["lā"],
			["gé"]
		],
		"布拉吉": [
			["bù"],
			["lā"],
			["jí"]
		],
		"布鲁塞尔": [
			["bù"],
			["lǔ"],
			["sài"],
			["ěr"]
		],
		"布琼布拉": [
			["bù"],
			["qióng"],
			["bù"],
			["lā"]
		],
		"布天盖地": [
			["bù"],
			["tiān"],
			["gài"],
			["dì"]
		],
		"布衣粝食": [
			["bù"],
			["yī"],
			["lì"],
			["shí"]
		],
		"布衣蔬食": [
			["bù"],
			["yī"],
			["shū"],
			["shí"]
		],
		"步步为营": [
			["bù"],
			["bù"],
			["wéi"],
			["yíng"]
		],
		"步调一致": [
			["bù"],
			["diào"],
			["yī"],
			["zhì"]
		],
		"步罡踏斗": [
			["bù"],
			["gāng"],
			["tà"],
			["dǒu"]
		],
		"步斗踏罡": [
			["bù"],
			["dǒu"],
			["tà"],
			["gāng"]
		],
		"步线行针": [
			["bù"],
			["xiàn"],
			["xíng"],
			["zhēn"]
		],
		"擦拳磨掌": [
			["cā"],
			["quán"],
			["mó"],
			["zhǎng"]
		],
		"擦拳抹掌": [
			["cā"],
			["quán"],
			["mò"],
			["zhǎng"]
		],
		"擦掌磨拳": [
			["cā"],
			["zhǎng"],
			["mó"],
			["quán"]
		],
		"擦脂抹粉": [
			["cā"],
			["zhī"],
			["mǒ"],
			["fěn"]
		],
		"猜拳行令": [
			["cāi"],
			["quán"],
			["xíng"],
			["lìng"]
		],
		"猜枚行令": [
			["cāi"],
			["méi"],
			["xíng"],
			["lìng"]
		],
		"才蔽识浅": [
			["cái"],
			["bì"],
			["shí"],
			["qiǎn"]
		],
		"才薄智浅": [
			["cāi"],
			["bó"],
			["zhì"],
			["qiǎn"]
		],
		"才大难用": [
			["cái"],
			["dà"],
			["nán"],
			["yòng"]
		],
		"才大如海": [
			["cái"],
			["dà"],
			["rú"],
			["hǎi"]
		],
		"才短思涩": [
			["cái"],
			["duǎn"],
			["sī"],
			["sè"]
		],
		"才多识寡": [
			["cái"],
			["duō"],
			["shí"],
			["guǎ"]
		],
		"才高识远": [
			["cái"],
			["gāo"],
			["shí"],
			["yuǎn"]
		],
		"才高八斗": [
			["cái"],
			["gāo"],
			["bā"],
			["dǒu"]
		],
		"才高行洁": [
			["cái"],
			["gāo"],
			["xíng"],
			["jié"]
		],
		"才高行厚": [
			["cái"],
			["gāo"],
			["xíng"],
			["hòu"]
		],
		"才高意广": [
			["cái"],
			["gāo"],
			["yì"],
			["guǎng"]
		],
		"才广妨身": [
			["cái"],
			["guǎng"],
			["fáng"],
			["shēn"]
		],
		"才过屈宋": [
			["cái"],
			["guò"],
			["qū"],
			["sòng"]
		],
		"才华超众": [
			["cái"],
			["huá"],
			["chāo"],
			["zhòng"]
		],
		"才华横溢": [
			["cái"],
			["huá"],
			["héng"],
			["yì"]
		],
		"才华盖世": [
			["cái"],
			["huá"],
			["gài"],
			["shì"]
		],
		"才气过人": [
			["cái"],
			["qì"],
			["guò"],
			["rén"]
		],
		"才轻德薄": [
			["cái"],
			["qīng"],
			["dé"],
			["bó"]
		],
		"才夸八斗": [
			["cái"],
			["kuā"],
			["bā"],
			["dǒu"]
		],
		"才识过人": [
			["cái"],
			["shí"],
			["guò"],
			["rén"]
		],
		"才疏德薄": [
			["cái"],
			["shū"],
			["dé"],
			["bó"]
		],
		"才疏学浅": [
			["cái"],
			["shū"],
			["xué"],
			["qiǎn"]
		],
		"才疏意广": [
			["cái"],
			["shū"],
			["yì"],
			["guǎng"]
		],
		"才疏志大": [
			["cái"],
			["shū"],
			["zhì"],
			["dà"]
		],
		"才占八斗": [
			["cái"],
			["zhān"],
			["bā"],
			["dǒu"]
		],
		"材薄质衰": [
			["cái"],
			["bó"],
			["zhì"],
			["shuāi"]
		],
		"材大难用": [
			["cái"],
			["dà"],
			["nán"],
			["yòng"]
		],
		"材高知深": [
			["cái"],
			["gāo"],
			["zhì"],
			["shēn"]
		],
		"材剧志大": [
			["cái"],
			["jù"],
			["zhì"],
			["dà"]
		],
		"材茂行洁": [
			["cái"],
			["mào"],
			["xíng"],
			["jié"]
		],
		"材茂行絜": [
			["cái"],
			["mào"],
			["xíng"],
			["jié"]
		],
		"材能兼备": [
			["cái"],
			["néng"],
			["jiān"],
			["bèi"]
		],
		"材疏志大": [
			["cái"],
			["shū"],
			["zhì"],
			["dà"]
		],
		"材轻德薄": [
			["cái"],
			["qīng"],
			["dé"],
			["bó"]
		],
		"材朽行秽": [
			["cái"],
			["xiǔ"],
			["xíng"],
			["huì"]
		],
		"材优干济": [
			["cái"],
			["yōu"],
			["gàn"],
			["jǐ"]
		],
		"财不露白": [
			["cái"],
			["bù"],
			["lù"],
			["bái"]
		],
		"财大气粗": [
			["cái"],
			["dà"],
			["qì"],
			["cù"]
		],
		"财殚力尽": [
			["cái"],
			["dān"],
			["lì"],
			["jìn"]
		],
		"财殚力痡": [
			["cái"],
			["dān"],
			["lì"],
			["pū"]
		],
		"财竭力尽": [
			["cái"],
			["jié"],
			["lì"],
			["jìn"]
		],
		"财匮力绌": [
			["cái"],
			["kuì"],
			["lì"],
			["chù"]
		],
		"财运亨通": [
			["cái"],
			["yùn"],
			["hēng"],
			["tōng"]
		],
		"财政寡头": [
			["cái"],
			["zhèng"],
			["guǎ"],
			["tóu"]
		],
		"裁长补短": [
			["cái"],
			["cháng"],
			["bǔ"],
			["duǎn"]
		],
		"裁红点翠": [
			["cái"],
			["hóng"],
			["diǎn"],
			["cuì"]
		],
		"裁判员": [
			["cái"],
			["pàn"],
			["yuán"]
		],
		"采茶戏": [
			["cǎi"],
			["chá"],
			["xì"]
		],
		"采椽不斫": [
			["cǎi"],
			["chuán"],
			["bù"],
			["zhuó"]
		],
		"采风问俗": [
			["cǎi"],
			["fēng"],
			["wèn"],
			["sú"]
		],
		"采葑采菲": [
			["cǎi"],
			["fēng"],
			["cǎi"],
			["fēi"]
		],
		"采凤随鸦": [
			["cǎi"],
			["fèng"],
			["suí"],
			["yā"]
		],
		"采及葑菲": [
			["cǎi"],
			["jí"],
			["fēng"],
			["fēi"]
		],
		"采兰赠芍": [
			["cǎi"],
			["lán"],
			["zèng"],
			["sháo"]
		],
		"采兰赠药": [
			["cǎi"],
			["lán"],
			["zèng"],
			["yào"]
		],
		"采石场": [
			["cǎi"],
			["shí"],
			["chǎng"]
		],
		"采薪之疾": [
			["cǎi"],
			["xīn"],
			["zhī"],
			["jí"]
		],
		"采薪之患": [
			["cǎi"],
			["xīn"],
			["zhī"],
			["huàn"]
		],
		"采薪之忧": [
			["cǎi"],
			["xīn"],
			["zhī"],
			["yōu"]
		],
		"彩衣娱亲": [
			["cǎi"],
			["yī"],
			["yú"],
			["qīn"]
		],
		"彩云易散": [
			["cǎi"],
			["yún"],
			["yì"],
			["sàn"]
		],
		"参差不齐": [
			["cēn"],
			["cī"],
			["bù"],
			["qí"]
		],
		"参差不一": [
			["cēn"],
			["cī"],
			["bù"],
			["yī"]
		],
		"参差错落": [
			["cēn"],
			["cī"],
			["cuò"],
			["luò"]
		],
		"参辰日月": [
			["shēn"],
			["chén"],
			["rì"],
			["yuè"]
		],
		"参辰卯酉": [
			["shēn"],
			["chén"],
			["mǎo"],
			["yǒu"]
		],
		"参回斗转": [
			["shēn"],
			["huí"],
			["dǒu"],
			["zhuǎn"]
		],
		"参横斗转": [
			["shēn"],
			["héng"],
			["dǒu"],
			["zhuǎn"]
		],
		"参考书": [
			["cān"],
			["kǎo"],
			["shū"]
		],
		"参谋长": [
			["cān"],
			["móu"],
			["zhǎng"]
		],
		"参前倚衡": [
			["cān"],
			["qián"],
			["yǐ"],
			["héng"]
		],
		"参商之虞": [
			["shēn"],
			["shāng"],
			["zhī"],
			["yú"]
		],
		"参天贰地": [
			["cān"],
			["tiān"],
			["èr"],
			["dì"]
		],
		"参天两地": [
			["cān"],
			["tiān"],
			["liǎng"],
			["dì"]
		],
		"参透机关": [
			["cān"],
			["tòu"],
			["jī"],
			["guān"]
		],
		"参伍错综": [
			["cēn"],
			["wǔ"],
			["cuò"],
			["zōng"]
		],
		"参议会": [
			["cān"],
			["yì"],
			["huì"]
		],
		"参伍错纵": [
			["cān"],
			["wǔ"],
			["cuò"],
			["zòng"]
		],
		"参议院": [
			["cān"],
			["yì"],
			["yuàn"]
		],
		"参照系": [
			["cān"],
			["zhào"],
			["xì"]
		],
		"参政党": [
			["cān"],
			["zhèng"],
			["dǎng"]
		],
		"参政议政": [
			["cān"],
			["zhèng"],
			["yì"],
			["zhèng"]
		],
		"骖风驷霞": [
			["cēn"],
			["fēng"],
			["sì"],
			["xiá"]
		],
		"餐风露宿": [
			["cān"],
			["fēng"],
			["lù"],
			["sù"]
		],
		"餐风沐雨": [
			["cān"],
			["fēng"],
			["mù"],
			["yǔ"]
		],
		"餐风啮雪": [
			["cān"],
			["fēng"],
			["niè"],
			["xuě"]
		],
		"餐风茹雪": [
			["cān"],
			["fēng"],
			["rú"],
			["xuě"]
		],
		"餐风宿草": [
			["cān"],
			["fēng"],
			["sù"],
			["xuě"]
		],
		"餐风宿露": [
			["cān"],
			["fēng"],
			["sù"],
			["lù"]
		],
		"餐风宿水": [
			["cān"],
			["fēng"],
			["sù"],
			["shuǐ"]
		],
		"餐风宿雨": [
			["cān"],
			["fēng"],
			["sù"],
			["yǔ"]
		],
		"餐风咽露": [
			["cān"],
			["fēng"],
			["yàn"],
			["lù"]
		],
		"餐风饮露": [
			["cān"],
			["fēng"],
			["yǐn"],
			["lù"]
		],
		"餐松啖柏": [
			["cān"],
			["sōng"],
			["dàn"],
			["bǎi"]
		],
		"餐葩饮露": [
			["cān"],
			["pā"],
			["yǐn"],
			["lù"]
		],
		"餐霞吸露": [
			["cān"],
			["xiá"],
			["xī"],
			["lù"]
		],
		"餐霞饮景": [
			["cān"],
			["xiá"],
			["yǐn"],
			["jǐng"]
		],
		"餐云卧石": [
			["cān"],
			["yún"],
			["wò"],
			["shí"]
		],
		"残暴不仁": [
			["cán"],
			["bào"],
			["bù"],
			["rén"]
		],
		"残编裂简": [
			["cán"],
			["biān"],
			["liè"],
			["jiǎn"]
		],
		"残兵败将": [
			["cán"],
			["bīng"],
			["bài"],
			["jiàng"]
		],
		"残膏剩馥": [
			["cán"],
			["gāo"],
			["shèng"],
			["fù"]
		],
		"残军败将": [
			["cán"],
			["jūn"],
			["bài"],
			["jiàng"]
		],
		"残年暮景": [
			["cán"],
			["nián"],
			["mù"],
			["jǐng"]
		],
		"残缺不全": [
			["cán"],
			["quē"],
			["bù"],
			["quán"]
		],
		"残汤剩饭": [
			["cán"],
			["tāng"],
			["shèng"],
			["fàn"]
		],
		"蚕食鲸吞": [
			["cán"],
			["shí"],
			["jīng"],
			["tūn"]
		],
		"蚕头燕尾": [
			["cán"],
			["tóu"],
			["yàn"],
			["wěi"]
		],
		"惨不忍睹": [
			["cǎn"],
			["bù"],
			["rěn"],
			["dǔ"]
		],
		"惨不忍闻": [
			["cǎn"],
			["bù"],
			["rěn"],
			["wén"]
		],
		"惨不忍言": [
			["cǎn"],
			["bù"],
			["rěn"],
			["yán"]
		],
		"惨澹经营": [
			["cǎn"],
			["dàn"],
			["jīng"],
			["yíng"]
		],
		"惨绿愁红": [
			["cǎn"],
			["lü"],
			["chóu"],
			["hóng"]
		],
		"惨绿年华": [
			["cǎn"],
			["lǜ"],
			["nián"],
			["huá"]
		],
		"惨绿少年": [
			["cǎn"],
			["lǜ"],
			["shào"],
			["nián"]
		],
		"惨然不乐": [
			["cǎn"],
			["rán"],
			["bù"],
			["lè"]
		],
		"惨雨酸风": [
			["cǎn"],
			["yǔ"],
			["suān"],
			["fēng"]
		],
		"灿若繁星": [
			["càn"],
			["ruò"],
			["fán"],
			["xīng"]
		],
		"粲然可观": [
			["càn"],
			["rán"],
			["kě"],
			["guān"]
		],
		"粲花之论": [
			["càn"],
			["huā"],
			["zhī"],
			["lùn"]
		],
		"仓卒主人": [
			["cāng"],
			["cù"],
			["zhǔ"],
			["rén"]
		],
		"仓卒之际": [
			["cāng"],
			["cù"],
			["zhī"],
			["jì"]
		],
		"沧海横流": [
			["cāng"],
			["hǎi"],
			["héng"],
			["liú"]
		],
		"苍松翠柏": [
			["cāng"],
			["sōng"],
			["cuì"],
			["bǎi"]
		],
		"苍颜白发": [
			["cāng"],
			["yán"],
			["bái"],
			["fà"]
		],
		"苍蝇见血": [
			["cāng"],
			["yíng"],
			["jiàn"],
			["xuě"]
		],
		"藏锋敛锷": [
			["cáng"],
			["fēng"],
			["liǎn"],
			["è"]
		],
		"藏锋敛锐": [
			["cáng"],
			["fēng"],
			["liǎn"],
			["ruì"]
		],
		"藏锋敛颖": [
			["cáng"],
			["fēng"],
			["liǎn"],
			["yǐng"]
		],
		"藏弓烹狗": [
			["cáng"],
			["gōng"],
			["pēng"],
			["gǒu"]
		],
		"藏垢纳污": [
			["cáng"],
			["gòu"],
			["nà"],
			["wū"]
		],
		"藏红花": [
			["zàng"],
			["hóng"],
			["huā"]
		],
		"藏龙卧虎": [
			["cáng"],
			["lóng"],
			["wò"],
			["hǔ"]
		],
		"藏猫儿": [
			["cáng"],
			["māo"],
			["ér"]
		],
		"藏怒宿怨": [
			["cáng"],
			["nù"],
			["sù"],
			["yuàn"]
		],
		"藏器待时": [
			["cáng"],
			["qì"],
			["dài"],
			["shí"]
		],
		"藏巧于拙": [
			["cáng"],
			["qiǎo"],
			["yú"],
			["zhuō"]
		],
		"藏头亢脑": [
			["cáng"],
			["tóu"],
			["kàng"],
			["nǎo"]
		],
		"藏头露尾": [
			["cáng"],
			["tóu"],
			["lù"],
			["wěi"]
		],
		"藏污纳垢": [
			["cáng"],
			["wū"],
			["nà"],
			["gòu"]
		],
		"藏形匿影": [
			["cáng"],
			["xíng"],
			["nì"],
			["yǐng"]
		],
		"藏之名山": [
			["cáng"],
			["zhī"],
			["míng"],
			["shān"]
		],
		"藏诸名山": [
			["cáng"],
			["zhū"],
			["míng"],
			["shān"]
		],
		"藏踪蹑迹": [
			["cáng"],
			["zōng"],
			["niè"],
			["jī"]
		],
		"操戈同室": [
			["cāo"],
			["gē"],
			["tóng"],
			["shì"]
		],
		"操奇计赢": [
			["cāo"],
			["qí"],
			["jì"],
			["yíng"]
		],
		"操奇逐赢": [
			["cāo"],
			["qì"],
			["zhù"],
			["yíng"]
		],
		"操揉磨治": [
			["cāo"],
			["róu"],
			["mó"],
			["zhì"]
		],
		"操身行世": [
			["cāo"],
			["shēn"],
			["xíng"],
			["shì"]
		],
		"操赢致奇": [
			["cāo"],
			["yíng"],
			["zhì"],
			["qí"]
		],
		"操之过蹙": [
			["cāo"],
			["zhī"],
			["guò"],
			["cù"]
		],
		"操之过激": [
			["cāo"],
			["zhī"],
			["guò"],
			["jī"]
		],
		"操之过急": [
			["cāo"],
			["zhī"],
			["guò"],
			["jí"]
		],
		"操之过切": [
			["cāo"],
			["zhī"],
			["guò"],
			["qiè"]
		],
		"操纵自如": [
			["cāo"],
			["zòng"],
			["zì"],
			["rú"]
		],
		"操作台": [
			["cāo"],
			["zuò"],
			["tái"]
		],
		"嘈嘈切切": [
			["cáo"],
			["cáo"],
			["qiē"],
			["qiē"]
		],
		"草草了事": [
			["cǎo"],
			["cǎo"],
			["liǎo"],
			["shì"]
		],
		"草长莺飞": [
			["cǎo"],
			["zhǎng"],
			["yīng"],
			["fēi"]
		],
		"草创未就": [
			["cǎo"],
			["chuàng"],
			["wèi"],
			["jiù"]
		],
		"草甸子": [
			["cǎo"],
			["diàn"],
			["zǐ"]
		],
		"草间求活": [
			["cǎo"],
			["jiān"],
			["qiú"],
			["huó"]
		],
		"草芥人命": [
			["cǎo"],
			["jiè"],
			["rén"],
			["mìng"]
		],
		"草料场": [
			["cǎo"],
			["liào"],
			["chǎng"]
		],
		"草率从事": [
			["cǎo"],
			["shuài"],
			["cóng"],
			["shì"]
		],
		"草率将事": [
			["cǎo"],
			["lǜ"],
			["jiāng"],
			["shì"]
		],
		"草率收兵": [
			["cǎo"],
			["shuài"],
			["shōu"],
			["bīng"]
		],
		"草靡风行": [
			["cǎo"],
			["mí"],
			["fēng"],
			["xíng"]
		],
		"草木愚夫": [
			["cǎo"],
			["mù"],
			["yú"],
			["fū"]
		],
		"草木知威": [
			["cǎo"],
			["mù"],
			["zhī"],
			["wēi"]
		],
		"草蛇灰线": [
			["cǎo"],
			["shé"],
			["huī"],
			["xiàn"]
		],
		"草头天子": [
			["cǎo"],
			["tóu"],
			["tiān"],
			["zǐ"]
		],
		"草行露宿": [
			["cǎo"],
			["xíng"],
			["lù"],
			["sù"]
		],
		"草偃风从": [
			["cǎo"],
			["yǎn"],
			["fēng"],
			["cóng"]
		],
		"草偃风行": [
			["cǎo"],
			["yǎn"],
			["fēng"],
			["xíng"]
		],
		"草衣木食": [
			["cǎo"],
			["yī"],
			["mù"],
			["shí"]
		],
		"侧目而视": [
			["cè"],
			["mù"],
			["ér"],
			["shì"]
		],
		"侧足而立": [
			["cè"],
			["zú"],
			["ér"],
			["lì"]
		],
		"厕身其间": [
			["cè"],
			["shēn"],
			["qí"],
			["jiān"]
		],
		"厕足其间": [
			["cè"],
			["zú"],
			["qí"],
			["jiān"]
		],
		"恻隐之心": [
			["cè"],
			["yǐn"],
			["zhī"],
			["xīn"]
		],
		"测量学": [
			["cè"],
			["liáng"],
			["xué"]
		],
		"策名委质": [
			["cè"],
			["míng"],
			["wěi"],
			["zhì"]
		],
		"策顽磨钝": [
			["cè"],
			["wán"],
			["mó"],
			["dùn"]
		],
		"策源地": [
			["cè"],
			["yuán"],
			["dì"]
		],
		"岑楼齐末": [
			["cén"],
			["lóu"],
			["qí"],
			["mò"]
		],
		"层出不穷": [
			["céng"],
			["chū"],
			["bù"],
			["qióng"]
		],
		"层出迭见": [
			["céng"],
			["chū"],
			["dié"],
			["jiàn"]
		],
		"层出叠见": [
			["céng"],
			["chū"],
			["dié"],
			["jiàn"]
		],
		"层见错出": [
			["céng"],
			["jiàn"],
			["cuò"],
			["chū"]
		],
		"层见迭出": [
			["céng"],
			["chū"],
			["dié"],
			["jiàn"]
		],
		"层见叠出": [
			["céng"],
			["jiàn"],
			["dié"],
			["chū"]
		],
		"层台累榭": [
			["céng"],
			["tái"],
			["lěi"],
			["xiè"]
		],
		"插翅难飞": [
			["chā"],
			["chì"],
			["nán"],
			["fēi"]
		],
		"插翅难逃": [
			["chā"],
			["chì"],
			["nán"],
			["táo"]
		],
		"插队落户": [
			["chā"],
			["duì"],
			["luò"],
			["hù"]
		],
		"插科打诨": [
			["chā"],
			["kē"],
			["dǎ"],
			["hùn"]
		],
		"插架万轴": [
			["chā"],
			["jià"],
			["wàn"],
			["zhóu"]
		],
		"插科使砌": [
			["chā"],
			["kē"],
			["shǐ"],
			["qì"]
		],
		"插圈弄套": [
			["chā"],
			["quān"],
			["nòng"],
			["tào"]
		],
		"查号台": [
			["chá"],
			["hào"],
			["tái"]
		],
		"查无实据": [
			["chá"],
			["wú"],
			["shí"],
			["jù"]
		],
		"茶话会": [
			["chá"],
			["huà"],
			["huì"]
		],
		"茶叶蛋": [
			["chá"],
			["yè"],
			["dàn"]
		],
		"搽脂抹粉": [
			["chá"],
			["zhī"],
			["mǒ"],
			["fěn"]
		],
		"察察为明": [
			["chá"],
			["chá"],
			["wéi"],
			["míng"]
		],
		"察己知人": [
			["chá"],
			["jǐ"],
			["zhī"],
			["rén"]
		],
		"察见渊鱼": [
			["chá"],
			["jiàn"],
			["yuān"],
			["yú"]
		],
		"察今知古": [
			["chá"],
			["jīn"],
			["zhī"],
			["gǔ"]
		],
		"察言观色": [
			["chá"],
			["yán"],
			["guān"],
			["sè"]
		],
		"察言观行": [
			["chá"],
			["yán"],
			["guān"],
			["xíng"]
		],
		"察颜观色": [
			["chá"],
			["yán"],
			["guān"],
			["sè"]
		],
		"姹紫嫣红": [
			["chà"],
			["zǐ"],
			["yān"],
			["hóng"]
		],
		"差不多": [
			["chà"],
			["bù"],
			["duō"]
		],
		"差不离": [
			["chà"],
			["bù"],
			["lí"]
		],
		"差额选举": [
			["chā"],
			["é"],
			["xuǎn"],
			["jǔ"]
		],
		"差分放大器": [
			["chà"],
			["fēn"],
			["fàng"],
			["dà"],
			["qì"]
		],
		"差强人意": [
			["chā"],
			["qiáng"],
			["rén"],
			["yì"]
		],
		"差三错四": [
			["chā"],
			["sān"],
			["cuò"],
			["sì"]
		],
		"差一点": [
			["chà"],
			["yì"],
			["diǎn"]
		],
		"拆白道字": [
			["chāi"],
			["bái"],
			["dào"],
			["zì"]
		],
		"拆东补西": [
			["chāi"],
			["dōng"],
			["bǔ"],
			["xī"]
		],
		"拆东墙补西墙": [
			["chāi"],
			["dōng"],
			["qiáng"],
			["bǔ"],
			["xī"],
			["qiáng"]
		],
		"拆牌道字": [
			["chāi"],
			["pái"],
			["dào"],
			["zì"]
		],
		"拆墙脚": [
			["chāi"],
			["qiáng"],
			["jiǎo"]
		],
		"拆西补东": [
			["chāi"],
			["xī"],
			["bǔ"],
			["dōng"]
		],
		"钗横鬓乱": [
			["chāi"],
			["héng"],
			["bìn"],
			["luàn"]
		],
		"柴达木盆地": [
			["chái"],
			["dá"],
			["mù"],
			["pén"],
			["dì"]
		],
		"柴毁骨立": [
			["chái"],
			["huǐ"],
			["gǔ"],
			["lì"]
		],
		"柴立不阿": [
			["chái"],
			["lì"],
			["bù"],
			["ē"]
		],
		"柴米夫妻": [
			["chái"],
			["mǐ"],
			["fū"],
			["qī"]
		],
		"豺狼当道": [
			["chái"],
			["láng"],
			["dāng"],
			["dào"]
		],
		"豺狼当路": [
			["chái"],
			["láng"],
			["dāng"],
			["lù"]
		],
		"豺狼当涂": [
			["chái"],
			["láng"],
			["dāng"],
			["tú"]
		],
		"豺狼横道": [
			["chái"],
			["láng"],
			["héng"],
			["dào"]
		],
		"搀前落后": [
			["chān"],
			["qián"],
			["luò"],
			["hòu"]
		],
		"搀行夺市": [
			["chān"],
			["háng"],
			["duó"],
			["shì"]
		],
		"谗言佞语": [
			["chán"],
			["yán"],
			["nìng"],
			["yǔ"]
		],
		"禅世雕龙": [
			["chán"],
			["shì"],
			["diāo"],
			["lóng"]
		],
		"禅絮沾泥": [
			["chán"],
			["xū"],
			["zhān"],
			["ní"]
		],
		"缠夹不清": [
			["chán"],
			["jiā"],
			["bù"],
			["qīng"]
		],
		"缠绵蕴藉": [
			["chán"],
			["mián"],
			["yùn"],
			["jiè"]
		],
		"蝉不知雪": [
			["chán"],
			["bù"],
			["zhī"],
			["xuě"]
		],
		"蝉喘雷干": [
			["chán"],
			["chuǎn"],
			["léi"],
			["gān"]
		],
		"蝉腹龟肠": [
			["chán"],
			["fù"],
			["guī"],
			["cháng"]
		],
		"蟾宫折桂": [
			["chán"],
			["gōng"],
			["zhé"],
			["guì"]
		],
		"产品质量": [
			["chǎn"],
			["pǐn"],
			["zhì"],
			["liàng"]
		],
		"产褥期": [
			["chǎn"],
			["rù"],
			["qī"]
		],
		"产业结构": [
			["chǎn"],
			["yè"],
			["jié"],
			["gòu"]
		],
		"刬草除根": [
			["chǎn"],
			["cǎo"],
			["chú"],
			["gēn"]
		],
		"刬恶锄奸": [
			["chǎn"],
			["è"],
			["chú"],
			["jiān"]
		],
		"刬旧谋新": [
			["chǎn"],
			["jiù"],
			["móu"],
			["xīn"]
		],
		"剗草除根": [
			["chǎn"],
			["cǎo"],
			["chú"],
			["gēn"]
		],
		"剗恶锄奸": [
			["chǎn"],
			["è"],
			["chú"],
			["jiān"]
		],
		"剗旧谋新": [
			["chǎn"],
			["jiù"],
			["móu"],
			["xīn"]
		],
		"谄上傲下": [
			["chǎn"],
			["shàng"],
			["ào"],
			["xià"]
		],
		"谄词令色": [
			["chǎn"],
			["cí"],
			["lìng"],
			["sè"]
		],
		"谄上骄下": [
			["chǎn"],
			["shàng"],
			["jiāo"],
			["xià"]
		],
		"谄上欺下": [
			["chǎn"],
			["shàng"],
			["qī"],
			["xià"]
		],
		"谄上抑下": [
			["chǎn"],
			["shàng"],
			["yi"],
			["xià"]
		],
		"阐扬光大": [
			["chǎn"],
			["yáng"],
			["guāng"],
			["dà"]
		],
		"颤巍巍": [
			["chàn"],
			["wēi"],
			["wēi"]
		],
		"颤悠悠": [
			["chàn"],
			["yōu"],
			["yōu"]
		],
		"昌歜羊枣": [
			["chāng"],
			["chù"],
			["yáng"],
			["zǎo"]
		],
		"昌都县": [
			["chāng"],
			["dōu"],
			["xiàn"]
		],
		"昌亭旅食": [
			["cháng"],
			["tíng"],
			["lǚ"],
			["shí"]
		],
		"长安道上": [
			["cháng"],
			["ān"],
			["dào"],
			["shàng"]
		],
		"长安棋局": [
			["cháng"],
			["ān"],
			["qí"],
			["jú"]
		],
		"长安少年": [
			["cháng"],
			["ān"],
			["shào"],
			["nián"]
		],
		"长傲饰非": [
			["zhǎng"],
			["ào"],
			["shì"],
			["fēi"]
		],
		"长白山": [
			["cháng"],
			["bái"],
			["shān"]
		],
		"长才短驭": [
			["cháng"],
			["cái"],
			["duǎn"],
			["yù"]
		],
		"长臂猿": [
			["cháng"],
			["bì"],
			["yuán"]
		],
		"长才广度": [
			["cháng"],
			["cái"],
			["guǎng"],
			["dù"]
		],
		"长材茂学": [
			["cháng"],
			["cái"],
			["mào"],
			["xué"]
		],
		"长材小试": [
			["cháng"],
			["cái"],
			["xiǎo"],
			["shì"]
		],
		"长长短短": [
			["cháng"],
			["cháng"],
			["duǎn"],
			["duǎn"]
		],
		"长春不老": [
			["cháng"],
			["chún"],
			["bù"],
			["lǎo"]
		],
		"长春市": [
			["cháng"],
			["chūn"],
			["shì"]
		],
		"长此以往": [
			["cháng"],
			["cǐ"],
			["yǐ"],
			["wǎng"]
		],
		"长短句": [
			["cháng"],
			["duǎn"],
			["jù"]
		],
		"长恶不悛": [
			["cháng"],
			["è"],
			["bù"],
			["quān"]
		],
		"长恶靡悛": [
			["cháng"],
			["è"],
			["mǐ"],
			["quān"]
		],
		"长方形": [
			["cháng"],
			["fāng"],
			["xíng"]
		],
		"长方体": [
			["cháng"],
			["fāng"],
			["tǐ"]
		],
		"长风破浪": [
			["cháng"],
			["fēng"],
			["pò"],
			["làng"]
		],
		"长歌当哭": [
			["cháng"],
			["gē"],
			["dàng"],
			["kū"]
		],
		"长恨歌": [
			["cháng"],
			["hèn"],
			["gē"]
		],
		"长话短说": [
			["cháng"],
			["huà"],
			["duǎn"],
			["shuō"]
		],
		"长戟高门": [
			["cháng"],
			["jǐ"],
			["gāo"],
			["mén"]
		],
		"长虺成蛇": [
			["zhǎng"],
			["huǐ"],
			["chéng"],
			["shé"]
		],
		"长计远虑": [
			["cháng"],
			["jì"],
			["yuǎn"],
			["lǜ"]
		],
		"长驾远驭": [
			["cháng"],
			["jià"],
			["yuǎn"],
			["yù"]
		],
		"长江后浪推前浪": [
			["cháng"],
			["jiāng"],
			["hòu"],
			["làng"],
			["tuī"],
			["qián"],
			["làng"]
		],
		"长江三角洲": [
			["cháng"],
			["jiāng"],
			["sān"],
			["jiǎo"],
			["zhōu"]
		],
		"长江三峡": [
			["cháng"],
			["jiāng"],
			["sān"],
			["xiá"]
		],
		"长江天堑": [
			["cháng"],
			["jiāng"],
			["tiān"],
			["qiàn"]
		],
		"长街短巷": [
			["cháng"],
			["jiē"],
			["duǎn"],
			["xiàng"]
		],
		"长颈鸟喙": [
			["cháng"],
			["jǐng"],
			["niǎo"],
			["huì"]
		],
		"长颈鹿": [
			["cháng"],
			["jǐng"],
			["lù"]
		],
		"长久之计": [
			["cháng"],
			["jiǔ"],
			["zhī"],
			["jì"]
		],
		"长林丰草": [
			["cháng"],
			["lín"],
			["fēng"],
			["cǎo"]
		],
		"长乐未央": [
			["cháng"],
			["lè"],
			["wèi"],
			["yāng"]
		],
		"长虑顾后": [
			["cháng"],
			["lǜ"],
			["gù"],
			["hòu"]
		],
		"长虑后顾": [
			["cháng"],
			["lǜ"],
			["hòu"],
			["gù"]
		],
		"长虑却顾": [
			["cháng"],
			["lǜ"],
			["què"],
			["gù"]
		],
		"长毛绒": [
			["cháng"],
			["máo"],
			["róng"]
		],
		"长眠不起": [
			["cháng"],
			["mián"],
			["bù"],
			["qǐ"]
		],
		"长明灯": [
			["cháng"],
			["míng"],
			["dēng"]
		],
		"长鸣都尉": [
			["cháng"],
			["míng"],
			["dōu"],
			["wèi"]
		],
		"长命百岁": [
			["cháng"],
			["mìng"],
			["bǎi"],
			["suì"]
		],
		"长命锁": [
			["cháng"],
			["mìng"],
			["suǒ"]
		],
		"长命富贵": [
			["cháng"],
			["mìng"],
			["fù"],
			["guì"]
		],
		"长目飞耳": [
			["cháng"],
			["mù"],
			["fēi"],
			["ěr"]
		],
		"长年累月": [
			["cháng"],
			["nián"],
			["lěi"],
			["yuè"]
		],
		"长念却虑": [
			["cháng"],
			["niàn"],
			["què"],
			["lǜ"]
		],
		"长年三老": [
			["zhǎng"],
			["nián"],
			["sān"],
			["lǎo"]
		],
		"长辔远驭": [
			["cháng"],
			["pèi"],
			["yuǎn"],
			["yù"]
		],
		"长篇大论": [
			["cháng"],
			["piān"],
			["dà"],
			["lùn"]
		],
		"长辔远御": [
			["cháng"],
			["pèi"],
			["yuǎn"],
			["yù"]
		],
		"长篇大套": [
			["cháng"],
			["piān"],
			["dà"],
			["tào"]
		],
		"长篇累牍": [
			["cháng"],
			["piān"],
			["lěi"],
			["dú"]
		],
		"长篇小说": [
			["cháng"],
			["piān"],
			["xiǎo"],
			["shuō"]
		],
		"长七短八": [
			["cháng"],
			["qī"],
			["duǎn"],
			["bā"]
		],
		"长驱深入": [
			["cháng"],
			["qū"],
			["shēn"],
			["rù"]
		],
		"长驱直进": [
			["cháng"],
			["qū"],
			["zhí"],
			["jìn"]
		],
		"长驱直入": [
			["cháng"],
			["qū"],
			["zhí"],
			["rù"]
		],
		"长沙市": [
			["cháng"],
			["shā"],
			["shì"]
		],
		"长舌之妇": [
			["cháng"],
			["shé"],
			["zhī"],
			["fù"]
		],
		"长舌妇": [
			["cháng"],
			["shé"],
			["fù"]
		],
		"长蛇阵": [
			["cháng"],
			["shé"],
			["zhèn"]
		],
		"长蛇封豕": [
			["cháng"],
			["shé"],
			["fēng"],
			["shǐ"]
		],
		"长生不老": [
			["cháng"],
			["shēng"],
			["bù"],
			["lǎo"]
		],
		"长生不死": [
			["cháng"],
			["shēng"],
			["bū"],
			["sǐ"]
		],
		"长生果": [
			["cháng"],
			["shēng"],
			["guǒ"]
		],
		"长生久视": [
			["cháng"],
			["shēng"],
			["jiǔ"],
			["shì"]
		],
		"长绳系景": [
			["cháng"],
			["shéng"],
			["xì"],
			["jǐng"]
		],
		"长绳系日": [
			["cháng"],
			["shéng"],
			["jì"],
			["rì"]
		],
		"长算远略": [
			["cháng"],
			["suàn"],
			["yuǎn"],
			["lüè"]
		],
		"长谈阔论": [
			["cháng"],
			["tán"],
			["kuò"],
			["lùn"]
		],
		"长统靴": [
			["cháng"],
			["tǒng"],
			["xuē"]
		],
		"长途跋涉": [
			["cháng"],
			["tú"],
			["bá"],
			["shè"]
		],
		"长途电话": [
			["cháng"],
			["tú"],
			["diàn"],
			["huà"]
		],
		"长往远引": [
			["cháng"],
			["wǎng"],
			["yuǎn"],
			["yǐn"]
		],
		"长袖善舞": [
			["cháng"],
			["xiù"],
			["shàn"],
			["wǔ"]
		],
		"长嘘短叹": [
			["cháng"],
			["xū"],
			["duǎn"],
			["tàn"]
		],
		"长夜漫漫": [
			["cháng"],
			["yè"],
			["màn"],
			["màn"]
		],
		"长夜难明": [
			["cháng"],
			["yè"],
			["nán"],
			["míng"]
		],
		"长揖不拜": [
			["cháng"],
			["yī"],
			["bù"],
			["bài"]
		],
		"长幼有序": [
			["zhǎng"],
			["yòu"],
			["yǒu"],
			["xù"]
		],
		"长幼有叙": [
			["zhǎng"],
			["yòu"],
			["yǒu"],
			["xù"]
		],
		"长幼尊卑": [
			["zhǎng"],
			["yòu"],
			["zūn"],
			["bēi"]
		],
		"长吁短气": [
			["cháng"],
			["xū"],
			["duǎn"],
			["qì"]
		],
		"长吁短叹": [
			["cháng"],
			["xū"],
			["duǎn"],
			["tàn"]
		],
		"长斋绣佛": [
			["cháng"],
			["zhāi"],
			["xiù"],
			["fó"]
		],
		"长枕大被": [
			["cháng"],
			["zhěn"],
			["dà"],
			["bèi"]
		],
		"长枕大衾": [
			["cháng"],
			["zhěn"],
			["dà"],
			["qīn"]
		],
		"长治久安": [
			["cháng"],
			["zhì"],
			["jiǔ"],
			["ān"]
		],
		"苌弘碧血": [
			["cháng"],
			["hóng"],
			["bì"],
			["xuě"]
		],
		"苌弘化碧": [
			["cháng"],
			["hóng"],
			["huà"],
			["bì"]
		],
		"偿其大欲": [
			["cháng"],
			["qí"],
			["dà"],
			["yù"]
		],
		"常备不懈": [
			["cháng"],
			["bèi"],
			["bù"],
			["xiè"]
		],
		"常年累月": [
			["cháng"],
			["nián"],
			["lèi"],
			["yuè"]
		],
		"常胜将军": [
			["cháng"],
			["shèng"],
			["jiāng"],
			["jūn"]
		],
		"常用对数": [
			["cháng"],
			["yòng"],
			["duì"],
			["shù"]
		],
		"场面上": [
			["chǎng"],
			["miàn"],
			["shàng"]
		],
		"场面人": [
			["chǎng"],
			["miàn"],
			["rén"]
		],
		"敞篷车": [
			["chǎng"],
			["péng"],
			["chē"]
		],
		"怅然若失": [
			["chàng"],
			["rán"],
			["ruò"],
			["shī"]
		],
		"畅所欲为": [
			["chàng"],
			["suǒ"],
			["yù"],
			["wéi"]
		],
		"畅行无阻": [
			["chàng"],
			["xíng"],
			["wú"],
			["zǔ"]
		],
		"畅行无碍": [
			["chàng"],
			["xíng"],
			["wú"],
			["ài"]
		],
		"倡而不和": [
			["chàng"],
			["ér"],
			["bù"],
			["hè"]
		],
		"倡情冶思": [
			["chàng"],
			["qíng"],
			["yě"],
			["sī"]
		],
		"倡条冶叶": [
			["chāng"],
			["tiáo"],
			["yě"],
			["yè"]
		],
		"倡议书": [
			["chàng"],
			["yì"],
			["shū"]
		],
		"唱筹量沙": [
			["chàng"],
			["chóu"],
			["liáng"],
			["shā"]
		],
		"唱对台戏": [
			["chàng"],
			["duì"],
			["tái"],
			["xì"]
		],
		"唱反调": [
			["chàng"],
			["fǎn"],
			["diào"]
		],
		"唱沙作米": [
			["chàng"],
			["shā"],
			["zuò"],
			["mǐ"]
		],
		"超超玄著": [
			["chāo"],
			["chāo"],
			["xuán"],
			["zhù"]
		],
		"超导体": [
			["chāo"],
			["dǎo"],
			["tǐ"]
		],
		"超度众生": [
			["chāo"],
			["dù"],
			["zhòng"],
			["shēng"]
		],
		"超高频": [
			["chāo"],
			["gāo"],
			["pín"]
		],
		"超高压": [
			["chāo"],
			["gāo"],
			["yā"]
		],
		"超级大国": [
			["chāo"],
			["jí"],
			["dà"],
			["guó"]
		],
		"超级市场": [
			["chāo"],
			["jí"],
			["shì"],
			["chǎng"]
		],
		"超今冠古": [
			["chāo"],
			["jīn"],
			["guàn"],
			["gǔ"]
		],
		"超期服役": [
			["chāo"],
			["qī"],
			["fú"],
			["yì"]
		],
		"超然不群": [
			["chāo"],
			["rán"],
			["bù"],
			["qún"]
		],
		"超然独处": [
			["chāo"],
			["rán"],
			["dú"],
			["chǔ"]
		],
		"超然远举": [
			["chāo"],
			["rán"],
			["yuǎn"],
			["jǔ"]
		],
		"超然远引": [
			["chāo"],
			["rán"],
			["yuǎn"],
			["yǐn"]
		],
		"超然自得": [
			["chāo"],
			["rán"],
			["zì"],
			["dé"]
		],
		"巢焚原燎": [
			["cháo"],
			["fén"],
			["yuán"],
			["liáo"]
		],
		"巢居穴处": [
			["cháo"],
			["jū"],
			["xué"],
			["chǔ"]
		],
		"朝不保暮": [
			["zhāo"],
			["bù"],
			["bǎo"],
			["mù"]
		],
		"巢林一枝": [
			["cháo"],
			["lín"],
			["yī"],
			["zhī"]
		],
		"朝不保夕": [
			["zhāo"],
			["bù"],
			["bǎo"],
			["xī"]
		],
		"朝不及夕": [
			["zhāo"],
			["bù"],
			["jí"],
			["xī"]
		],
		"朝不虑夕": [
			["zhāo"],
			["bù"],
			["lǜ"],
			["xī"]
		],
		"朝朝暮暮": [
			["zhāo"],
			["zhāo"],
			["mù"],
			["mù"]
		],
		"朝不谋夕": [
			["zhāo"],
			["bù"],
			["móu"],
			["xī"]
		],
		"朝趁暮食": [
			["zhāo"],
			["chèn"],
			["mù"],
			["shí"]
		],
		"朝成暮徧": [
			["cháo"],
			["chéng"],
			["mù"],
			["shí"]
		],
		"朝成暮毁": [
			["zhāo"],
			["chéng"],
			["mù"],
			["huǐ"]
		],
		"朝成暮遍": [
			["zhāo"],
			["chéng"],
			["mù"],
			["biàn"]
		],
		"朝成夕毁": [
			["zhāo"],
			["chéng"],
			["xī"],
			["huǐ"]
		],
		"朝穿暮塞": [
			["zhāo"],
			["chuān"],
			["mù"],
			["sāi"]
		],
		"朝发暮至": [
			["zhāo"],
			["fā"],
			["mù"],
			["zhì"]
		],
		"朝歌暮弦": [
			["zhāo"],
			["gē"],
			["mù"],
			["xián"]
		],
		"朝发夕至": [
			["zhāo"],
			["fā"],
			["xī"],
			["zhì"]
		],
		"朝更暮改": [
			["zhāo"],
			["gèng"],
			["mù"],
			["gǎi"]
		],
		"朝歌夜弦": [
			["zhāo"],
			["gē"],
			["yè"],
			["xián"]
		],
		"朝过夕改": [
			["zhāo"],
			["guò"],
			["xī"],
			["gǎi"]
		],
		"朝华夕秀": [
			["zhāo"],
			["huá"],
			["xī"],
			["xiù"]
		],
		"朝欢暮乐": [
			["zhāo"],
			["huān"],
			["mù"],
			["lè"]
		],
		"朝齑暮盐": [
			["zhāo"],
			["jī"],
			["mù"],
			["yán"]
		],
		"朝经暮史": [
			["zhāo"],
			["jīng"],
			["mù"],
			["shǐ"]
		],
		"朝里无人莫做官": [
			["cháo"],
			["lǐ"],
			["wú"],
			["rén"],
			["mò"],
			["zuò"],
			["guān"]
		],
		"朝梁暮陈": [
			["zhāo"],
			["liáng"],
			["mù"],
			["chén"]
		],
		"朝梁暮晋": [
			["zhāo"],
			["liáng"],
			["mù"],
			["jìn"]
		],
		"朝令暮改": [
			["zhāo"],
			["lìng"],
			["mù"],
			["gǎi"]
		],
		"朝梁暮周": [
			["zhāo"],
			["liáng"],
			["mù"],
			["zhōu"]
		],
		"朝露溘至": [
			["zhāo"],
			["lù"],
			["kè"],
			["zhì"]
		],
		"朝攀暮折": [
			["zhāo"],
			["pān"],
			["mù"],
			["shé"]
		],
		"朝令夕改": [
			["zhāo"],
			["lìng"],
			["xī"],
			["gǎi"]
		],
		"朝气蓬勃": [
			["zhāo"],
			["qì"],
			["péng"],
			["bó"]
		],
		"朝前夕惕": [
			["zhāo"],
			["qiáng"],
			["xī"],
			["tì"]
		],
		"朝乾夕愓": [
			["zhāo"],
			["qián"],
			["xī"],
			["dàng"]
		],
		"朝乾夕惕": [
			["zhāo"],
			["qián"],
			["xī"],
			["tì"]
		],
		"朝秦暮楚": [
			["zhāo"],
			["qín"],
			["mù"],
			["chǔ"]
		],
		"朝三暮二": [
			["zhāo"],
			["sān"],
			["mù"],
			["èr"]
		],
		"朝升暮合": [
			["zhāo"],
			["shēng"],
			["mù"],
			["gě"]
		],
		"朝三暮四": [
			["zhāo"],
			["sān"],
			["mù"],
			["sì"]
		],
		"朝生夕死": [
			["zhāo"],
			["shēng"],
			["xī"],
			["sǐ"]
		],
		"朝生暮死": [
			["zhāo"],
			["shēng"],
			["mù"],
			["sǐ"]
		],
		"朝思暮想": [
			["zhāo"],
			["sī"],
			["mù"],
			["xiǎng"]
		],
		"朝闻夕改": [
			["zhāo"],
			["wén"],
			["xī"],
			["gǎi"]
		],
		"朝斯夕斯": [
			["zhāo"],
			["sī"],
			["xī"],
			["sī"]
		],
		"朝闻夕死": [
			["zhāo"],
			["wén"],
			["xī"],
			["sǐ"]
		],
		"朝夕相处": [
			["zhāo"],
			["xī"],
			["xiāng"],
			["chǔ"]
		],
		"朝鲜族": [
			["cháo"],
			["xiǎn"],
			["zú"]
		],
		"朝阳丹凤": [
			["cháo"],
			["yáng"],
			["dān"],
			["fèng"]
		],
		"朝阳鸣凤": [
			["zhāo"],
			["yáng"],
			["míng"],
			["fèng"]
		],
		"朝野上下": [
			["cháo"],
			["yě"],
			["shàng"],
			["xià"]
		],
		"朝衣东市": [
			["zhāo"],
			["yī"],
			["dōng"],
			["shì"]
		],
		"朝夷暮跖": [
			["zhāo"],
			["yí"],
			["mù"],
			["zhí"]
		],
		"朝饔夕飧": [
			["zhāo"],
			["yōng"],
			["xī"],
			["sūn"]
		],
		"朝云暮雨": [
			["zhāo"],
			["yún"],
			["mù"],
			["yǔ"]
		],
		"朝章国典": [
			["cháo"],
			["zhāng"],
			["guó"],
			["diǎn"]
		],
		"朝章国故": [
			["cháo"],
			["zhāng"],
			["guó"],
			["gù"]
		],
		"朝折暮折": [
			["zhāo"],
			["shé"],
			["mù"],
			["shé"]
		],
		"朝锺暮鼓": [
			["zhāo"],
			["zhōng"],
			["mù"],
			["gǔ"]
		],
		"朝钟暮鼓": [
			["zhāo"],
			["zhōng"],
			["mù"],
			["gǔ"]
		],
		"朝种暮获": [
			["zhāo"],
			["zhǒng"],
			["mù"],
			["hù"]
		],
		"朝奏暮召": [
			["zhāo"],
			["zòu"],
			["mù"],
			["zhào"]
		],
		"朝奏夕召": [
			["zhāo"],
			["zòu"],
			["xī"],
			["zhào"]
		],
		"嘲风弄月": [
			["cháo"],
			["fēng"],
			["nòng"],
			["yuè"]
		],
		"嘲风咏月": [
			["cháo"],
			["fēng"],
			["yǒng"],
			["yuè"]
		],
		"潮涨潮落": [
			["cháo"],
			["zhǎng"],
			["cháo"],
			["luò"]
		],
		"吵吵闹闹": [
			["chāo"],
			["chao"],
			["nào"],
			["nào"]
		],
		"炒地皮": [
			["chǎo"],
			["dì"],
			["pí"]
		],
		"炒股票": [
			["chǎo"],
			["gǔ"],
			["piào"]
		],
		"车把式": [
			["chē"],
			["bǎ"],
			["shì"]
		],
		"车尘马迹": [
			["chē"],
			["zhén"],
			["mǎ"],
			["jì"]
		],
		"车尘马足": [
			["chē"],
			["chén"],
			["mǎ"],
			["zú"]
		],
		"车驰马骤": [
			["chē"],
			["chí"],
			["mǎ"],
			["zhòu"]
		],
		"车怠马烦": [
			["chē"],
			["dài"],
			["mǎ"],
			["fán"]
		],
		"车殆马烦": [
			["chē"],
			["dài"],
			["mǎ"],
			["fán"]
		],
		"车到山前必有路": [
			["chē"],
			["dào"],
			["shān"],
			["qián"],
			["bì"],
			["yǒu"],
			["lù"]
		],
		"车烦马毙": [
			["chē"],
			["fán"],
			["mǎ"],
			["bì"]
		],
		"车轱辘": [
			["chē"],
			["gū"],
			["lù"]
		],
		"车轱辘话": [
			["chē"],
			["gū"],
			["lù"],
			["huà"]
		],
		"车击舟连": [
			["chē"],
			["jī"],
			["zhōu"],
			["lián"]
		],
		"车笠之盟": [
			["chē"],
			["lì"],
			["zhī"],
			["méng"]
		],
		"车辆厂": [
			["chē"],
			["liàng"],
			["chǎng"]
		],
		"车轮战": [
			["chē"],
			["lún"],
			["zhàn"]
		],
		"车马费": [
			["chē"],
			["mǎ"],
			["fèi"]
		],
		"车马辐辏": [
			["chē"],
			["mǎ"],
			["fú"],
			["còu"]
		],
		"车马骈阗": [
			["chē"],
			["mǎ"],
			["pián"],
			["tián"]
		],
		"车马填门": [
			["chē"],
			["mǎ"],
			["tián"],
			["mén"]
		],
		"车马盈门": [
			["chē"],
			["mǎ"],
			["yíng"],
			["mén"]
		],
		"车前子": [
			["chē"],
			["qián"],
			["zǐ"]
		],
		"车水马龙": [
			["chē"],
			["shuǐ"],
			["mǎ"],
			["lóng"]
		],
		"车填马隘": [
			["chē"],
			["tián"],
			["mǎ"],
			["ài"]
		],
		"车同轨": [
			["chē"],
			["tóng"],
			["guǐ"]
		],
		"车无退表": [
			["chē"],
			["wú"],
			["tuì"],
			["biǎo"]
		],
		"车行道": [
			["chē"],
			["háng"],
			["dào"]
		],
		"车载船装": [
			["chē"],
			["zǎi"],
			["chuán"],
			["zhuāng"]
		],
		"车载斗量": [
			["chē"],
			["zài"],
			["dǒu"],
			["liáng"]
		],
		"车在马前": [
			["chē"],
			["zài"],
			["mǎ"],
			["qián"]
		],
		"扯篷拉纤": [
			["chě"],
			["péng"],
			["lā"],
			["qiàn"]
		],
		"车辙马迹": [
			["chē"],
			["zhé"],
			["mǎ"],
			["jì"]
		],
		"扯旗放炮": [
			["chě"],
			["qí"],
			["fàng"],
			["pào"]
		],
		"扯空砑光": [
			["chě"],
			["kōng"],
			["yà"],
			["guāng"]
		],
		"扯顺风旗": [
			["chě"],
			["shǔn"],
			["fēng"],
			["qí"]
		],
		"扯纤拉烟": [
			["chě"],
			["qiàn"],
			["lā"],
			["yān"]
		],
		"彻上彻下": [
			["chè"],
			["shàng"],
			["chè"],
			["xià"]
		],
		"彻内彻外": [
			["chè"],
			["nèi"],
			["chè"],
			["wài"]
		],
		"彻首彻尾": [
			["chè"],
			["shǒu"],
			["chè"],
			["wěi"]
		],
		"彻头彻尾": [
			["chè"],
			["tóu"],
			["chè"],
			["wěi"]
		],
		"掣襟露肘": [
			["chè"],
			["jīn"],
			["lù"],
			["zhǒu"]
		],
		"澈底澄清": [
			["chè"],
			["dǐ"],
			["chéng"],
			["qīng"]
		],
		"嗔目切齿": [
			["chēn"],
			["mù"],
			["qiē"],
			["chǐ"]
		],
		"嗔拳不打笑面": [
			["chēn"],
			["quán"],
			["bù"],
			["dǎ"],
			["xiào"],
			["miàn"]
		],
		"瞋目切齿": [
			["chēn"],
			["mù"],
			["qiè"],
			["chǐ"]
		],
		"沉甸甸": [
			["chén"],
			["diàn"],
			["diàn"]
		],
		"沉博绝丽": [
			["chén"],
			["bó"],
			["jué"],
			["lì"]
		],
		"沉浮俯仰": [
			["chén"],
			["fú"],
			["fǔ"],
			["yǎng"]
		],
		"沉痼自若": [
			["chén"],
			["gù"],
			["zì"],
			["ruò"]
		],
		"沉疴宿疾": [
			["chén"],
			["kē"],
			["sù"],
			["jì"]
		],
		"沉疴难起": [
			["chén"],
			["kē"],
			["nán"],
			["qǐ"]
		],
		"沉迷不悟": [
			["chén"],
			["mí"],
			["bù"],
			["wù"]
		],
		"沉谋研虑": [
			["chén"],
			["móu"],
			["yán"],
			["lǜ"]
		],
		"沉谋重虑": [
			["chén"],
			["móu"],
			["chóng"],
			["lǜ"]
		],
		"沉思熟虑": [
			["chén"],
			["sī"],
			["shú"],
			["lǜ"]
		],
		"沉吟不决": [
			["chén"],
			["yīn"],
			["bù"],
			["jué"]
		],
		"沉吟章句": [
			["chén"],
			["yīn"],
			["zhāng"],
			["jù"]
		],
		"沉冤莫白": [
			["chén"],
			["yuān"],
			["mò"],
			["bái"]
		],
		"沉鱼落雁": [
			["chén"],
			["yú"],
			["luò"],
			["yàn"]
		],
		"沉冤莫雪": [
			["chén"],
			["yuān"],
			["mò"],
			["xuě"]
		],
		"沉重寡言": [
			["chén"],
			["zhòng"],
			["guǎ"],
			["yán"]
		],
		"沉重少言": [
			["chén"],
			["zhòng"],
			["shǎo"],
			["yán"]
		],
		"沉著痛快": [
			["chén"],
			["zhù"],
			["tòng"],
			["kuài"]
		],
		"沉着痛快": [
			["chén"],
			["zhuó"],
			["tòng"],
			["kuài"]
		],
		"陈陈相因": [
			["chén"],
			["chén"],
			["xiāng"],
			["yīn"]
		],
		"陈词滥调": [
			["chén"],
			["cí"],
			["làn"],
			["diào"]
		],
		"陈辞滥调": [
			["chén"],
			["cí"],
			["làn"],
			["diào"]
		],
		"陈古刺今": [
			["chén"],
			["gǔ"],
			["cì"],
			["jīn"]
		],
		"陈善闭邪": [
			["chén"],
			["shàn"],
			["bì"],
			["xié"]
		],
		"陈述句": [
			["chén"],
			["shù"],
			["jù"]
		],
		"晨参暮礼": [
			["chén"],
			["cān"],
			["mù"],
			["lǐ"]
		],
		"晨参暮省": [
			["chén"],
			["cān"],
			["mù"],
			["shěng"]
		],
		"晨昏定省": [
			["chén"],
			["hūn"],
			["dìng"],
			["xǐng"]
		],
		"晨提夕命": [
			["chén"],
			["tí"],
			["xī"],
			["mìng"]
		],
		"晨兴夜寐": [
			["chén"],
			["xīng"],
			["yè"],
			["mèi"]
		],
		"闯南走北": [
			["chuǎng"],
			["nán"],
			["zǒu"],
			["běi"]
		],
		"称柴而爨": [
			["chēng"],
			["chái"],
			["ér"],
			["cuàn"]
		],
		"称臣纳贡": [
			["chēng"],
			["chén"],
			["nà"],
			["gòng"]
		],
		"称德度功": [
			["chēng"],
			["dé"],
			["duó"],
			["gōng"]
		],
		"称功颂德": [
			["chēng"],
			["gōng"],
			["sòng"],
			["dé"]
		],
		"称家有无": [
			["chèn"],
			["jiā"],
			["yǒu"],
			["wú"]
		],
		"称孤道寡": [
			["chēng"],
			["gū"],
			["dào"],
			["guǎ"]
		],
		"称奇道绝": [
			["chēng"],
			["qí"],
			["dào"],
			["jué"]
		],
		"称赏不已": [
			["chēng"],
			["shǎng"],
			["bù"],
			["yǐ"]
		],
		"称体裁衣": [
			["chèn"],
			["tǐ"],
			["cái"],
			["yī"]
		],
		"称体载衣": [
			["chèn"],
			["tǐ"],
			["cái"],
			["yī"]
		],
		"称王称霸": [
			["chēng"],
			["wáng"],
			["chēng"],
			["bà"]
		],
		"称贤荐能": [
			["chēng"],
			["xián"],
			["jiàn"],
			["néng"]
		],
		"称心快意": [
			["chèn"],
			["xīn"],
			["kuài"],
			["yì"]
		],
		"称心满意": [
			["chèn"],
			["xīn"],
			["mǎn"],
			["yì"]
		],
		"称心如意": [
			["chèn"],
			["xīn"],
			["rú"],
			["yì"]
		],
		"称薪而爨": [
			["chēng"],
			["xīn"],
			["ér"],
			["cuàn"]
		],
		"称兄道弟": [
			["chēng"],
			["xiōng"],
			["dào"],
			["dì"]
		],
		"称雨道晴": [
			["chēng"],
			["yǔ"],
			["dào"],
			["aíng"]
		],
		"趁风使柁": [
			["chèn"],
			["fēng"],
			["shǐ"],
			["duò"]
		],
		"趁哄打劫": [
			["chèn"],
			["hōng"],
			["dǎ"],
			["jié"]
		],
		"趁火打劫": [
			["chèn"],
			["huǒ"],
			["dǎ"],
			["jié"]
		],
		"趁火抢劫": [
			["chèn"],
			["huǒ"],
			["qiǎng"],
			["jié"]
		],
		"趁热打铁": [
			["chèn"],
			["rè"],
			["dǎ"],
			["tiě"]
		],
		"趁势落篷": [
			["chèn"],
			["shì"],
			["luò"],
			["péng"]
		],
		"趁水和泥": [
			["chèn"],
			["shuǐ"],
			["huò"],
			["ní"]
		],
		"撑肠拄肚": [
			["chēng"],
			["cháng"],
			["zhǔ"],
			["dù"]
		],
		"撑场面": [
			["chēng"],
			["chǎng"],
			["miàn"]
		],
		"撑竿跳高": [
			["chēng"],
			["gān"],
			["tiào"],
			["gāo"]
		],
		"撑天柱地": [
			["chēng"],
			["tiān"],
			["zhù"],
			["dì"]
		],
		"撑天拄地": [
			["chēng"],
			["tiān"],
			["zhǔ"],
			["dì"]
		],
		"撑霆裂月": [
			["chēng"],
			["tíng"],
			["liè"],
			["yuè"]
		],
		"瞠乎其后": [
			["chēng"],
			["hū"],
			["qí"],
			["hòu"]
		],
		"瞠目结舌": [
			["chēng"],
			["mù"],
			["jié"],
			["shé"]
		],
		"成败得失": [
			["chéng"],
			["bài"],
			["dé"],
			["shī"]
		],
		"成败论人": [
			["chéng"],
			["bài"],
			["lùn"],
			["rén"]
		],
		"成败兴废": [
			["chéng"],
			["bài"],
			["xīng"],
			["fèi"]
		],
		"成帮结队": [
			["chéng"],
			["bāng"],
			["jié"],
			["duì"]
		],
		"成都平原": [
			["chéng"],
			["dū"],
			["píng"],
			["yuán"]
		],
		"成都市": [
			["chéng"],
			["dū"],
			["shì"]
		],
		"成风尽垩": [
			["chéng"],
			["fēng"],
			["jìn"],
			["è"]
		],
		"成风之斫": [
			["chéng"],
			["fēng"],
			["zhī"],
			["zhuó"]
		],
		"成佛作祖": [
			["chéng"],
			["fó"],
			["zuò"],
			["zǔ"]
		],
		"成功率": [
			["chéng"],
			["gōng"],
			["lǜ"]
		],
		"成活率": [
			["chéng"],
			["huó"],
			["lǜ"]
		],
		"成绩单": [
			["chéng"],
			["jì"],
			["dān"]
		],
		"成吉思汗": [
			["chéng"],
			["jí"],
			["sī"],
			["hán"]
		],
		"成家立计": [
			["chéng"],
			["jiā"],
			["lì"],
			["jì"]
		],
		"成家立业": [
			["chéng"],
			["jiā"],
			["lì"],
			["yiè"]
		],
		"成名成家": [
			["chéng"],
			["míng"],
			["chéng"],
			["jiā"]
		],
		"成年累月": [
			["chéng"],
			["nián"],
			["lěi"],
			["yuè"]
		],
		"成千成万": [
			["chéng"],
			["qiān"],
			["chéng"],
			["wàn"]
		],
		"成千论万": [
			["chéng"],
			["qiān"],
			["lùn"],
			["wàn"]
		],
		"成千累万": [
			["chéng"],
			["qiān"],
			["lèi"],
			["wàn"]
		],
		"成千上万": [
			["chéng"],
			["qiān"],
			["shàng"],
			["wàn"]
		],
		"成群打伙": [
			["chéng"],
			["qún"],
			["dǎ"],
			["huǒ"]
		],
		"成群结党": [
			["chéng"],
			["qún"],
			["jié"],
			["dǎng"]
		],
		"成群结队": [
			["chéng"],
			["qún"],
			["jié"],
			["duì"]
		],
		"成群结伙": [
			["chéng"],
			["qún"],
			["jié"],
			["huǒ"]
		],
		"成人教育": [
			["chéng"],
			["rén"],
			["jiào"],
			["yù"]
		],
		"成事不说": [
			["chéng"],
			["shì"],
			["bù"],
			["shuō"]
		],
		"成王败寇": [
			["chéng"],
			["wáng"],
			["bài"],
			["kòu"]
		],
		"成团打块": [
			["chéng"],
			["tuán"],
			["dǎ"],
			["kuài"]
		],
		"成也萧何败萧何": [
			["chéng"],
			["yě"],
			["xiāo"],
			["hé"],
			["bài"],
			["xiāo"],
			["hé"]
		],
		"成一家言": [
			["chěng"],
			["yī"],
			["jiān"],
			["yán"]
		],
		"承平盛世": [
			["chéng"],
			["píng"],
			["shèng"],
			["shì"]
		],
		"承嬗离合": [
			["chéng"],
			["shàn"],
			["lí"],
			["hé"]
		],
		"承上启下": [
			["chéng"],
			["shàng"],
			["qǐ"],
			["xià"]
		],
		"承上起下": [
			["chéng"],
			["shàng"],
			["qǐ"],
			["xià"]
		],
		"城北徐公": [
			["chéng"],
			["běi"],
			["xǘ"],
			["gōng"]
		],
		"诚心正意": [
			["chéng"],
			["xīn"],
			["zhèng"],
			["yì"]
		],
		"城市化": [
			["chéng"],
			["shì"],
			["huà"]
		],
		"城市社会学": [
			["chéng"],
			["shì"],
			["shè"],
			["huì"],
			["xué"]
		],
		"乘车戴笠": [
			["chéng"],
			["chē"],
			["dài"],
			["lì"]
		],
		"乘肥衣轻": [
			["chéng"],
			["féi"],
			["yì"],
			["qīng"]
		],
		"乘风破浪": [
			["chéng"],
			["fēng"],
			["pò"],
			["làng"]
		],
		"乘风兴浪": [
			["chéng"],
			["fēng"],
			["xīng"],
			["làng"]
		],
		"乘风转舵": [
			["chéng"],
			["fēng"],
			["zhuǎn"],
			["duò"]
		],
		"乘高决水": [
			["chéng"],
			["gāo"],
			["jué"],
			["shuǐ"]
		],
		"乘机打劫": [
			["chéng"],
			["jī"],
			["dǎ"],
			["jié"]
		],
		"乘坚策肥": [
			["chéng"],
			["jiān"],
			["cè"],
			["féi"]
		],
		"乘坚驱良": [
			["chéng"],
			["jiān"],
			["qū"],
			["liáng"]
		],
		"乘间抵隙": [
			["chéng"],
			["jiān"],
			["dǐ"],
			["xì"]
		],
		"乘间投隙": [
			["chéng"],
			["jiān"],
			["tóu"],
			["xì"]
		],
		"乘间伺隙": [
			["chéng"],
			["jiān"],
			["sì"],
			["xì"]
		],
		"乘龙佳婿": [
			["chéng"],
			["lóng"],
			["jiā"],
			["xù"]
		],
		"乘利席胜": [
			["chéng"],
			["lì"],
			["xí"],
			["shèng"]
		],
		"乘龙快婿": [
			["chéng"],
			["lóng"],
			["kuài"],
			["xù"]
		],
		"乘龙配凤": [
			["chéng"],
			["lóng"],
			["pèi"],
			["fèng"]
		],
		"乘鸾跨凤": [
			["chéng"],
			["luán"],
			["kuà"],
			["fèng"]
		],
		"乘其不备": [
			["chéng"],
			["qí"],
			["bù"],
			["bèi"]
		],
		"乘其不意": [
			["chéng"],
			["qí"],
			["bù"],
			["yì"]
		],
		"乘轻驱肥": [
			["chéng"],
			["qīng"],
			["qū"],
			["féi"]
		],
		"乘人之危": [
			["chéng"],
			["rén"],
			["zhī"],
			["wēi"]
		],
		"乘热打铁": [
			["chéng"],
			["rè"],
			["dǎ"],
			["tiě"]
		],
		"乘胜逐北": [
			["chéng"],
			["shèng"],
			["zhú"],
			["běi"]
		],
		"乘胜追击": [
			["chéng"],
			["shèng"],
			["zhuī"],
			["jī"]
		],
		"乘时乘势": [
			["chéng"],
			["shí"],
			["chéng"],
			["shì"]
		],
		"乘势使气": [
			["chéng"],
			["shì"],
			["shǐ"],
			["qì"]
		],
		"乘顺水船": [
			["chéng"],
			["shùn"],
			["shuǐ"],
			["chuán"]
		],
		"乘伪行诈": [
			["chéng"],
			["wěi"],
			["xíng"],
			["zhà"]
		],
		"乘务员": [
			["chéng"],
			["wù"],
			["yuán"]
		],
		"乘隙捣虚": [
			["chéng"],
			["xì"],
			["dǎo"],
			["xū"]
		],
		"乘隙而入": [
			["chéng"],
			["xì"],
			["ér"],
			["rù"]
		],
		"乘险抵巇": [
			["chéng"],
			["xiǎn"],
			["dǐ"],
			["xī"]
		],
		"乘兴而来": [
			["chéng"],
			["xìng"],
			["ér"],
			["lái"]
		],
		"乘虚蹈隙": [
			["chéng"],
			["xū"],
			["dǎo"],
			["xì"]
		],
		"乘虚迭出": [
			["chéng"],
			["xū"],
			["dié"],
			["chū"]
		],
		"乘虚而入": [
			["chéng"],
			["xū"],
			["ér"],
			["rù"]
		],
		"乘舆播越": [
			["chéng"],
			["yú"],
			["bō"],
			["yuè"]
		],
		"乘云行泥": [
			["chéng"],
			["yún"],
			["xíng"],
			["ní"]
		],
		"惩恶劝善": [
			["chéng"],
			["è"],
			["quàn"],
			["shàn"]
		],
		"澄江如练": [
			["chéng"],
			["jiāng"],
			["rú"],
			["liàn"]
		],
		"澄清天下": [
			["chéng"],
			["qīng"],
			["tiān"],
			["xià"]
		],
		"澄沙汰砾": [
			["dèng"],
			["shā"],
			["tài"],
			["lì"]
		],
		"澄神离形": [
			["chéng"],
			["shén"],
			["lí"],
			["xíng"]
		],
		"澄思渺虑": [
			["chéng"],
			["sī"],
			["miǎo"],
			["lǜ"]
		],
		"橙黄桔绿": [
			["chéng"],
			["huáng"],
			["jú"],
			["lǜ"]
		],
		"橙黄橘绿": [
			["chéng"],
			["huáng"],
			["jú"],
			["lǜ"]
		],
		"逞怪披奇": [
			["chěng"],
			["guài"],
			["pī"],
			["qí"]
		],
		"逞娇斗媚": [
			["chěng"],
			["jiāo"],
			["dòu"],
			["mèi"]
		],
		"逞奇眩异": [
			["chěng"],
			["qí"],
			["xuàn"],
			["yì"]
		],
		"逞强称能": [
			["chěng"],
			["qiáng"],
			["chēng"],
			["néng"]
		],
		"逞强好胜": [
			["chěng"],
			["qiáng"],
			["hào"],
			["shèng"]
		],
		"逞威风": [
			["chěng"],
			["wēi"],
			["fēng"]
		],
		"逞性妄为": [
			["chěng"],
			["xìng"],
			["wàng"],
			["wéi"]
		],
		"逞妍斗色": [
			["chěng"],
			["yán"],
			["dòu"],
			["sè"]
		],
		"逞异夸能": [
			["chěng"],
			["yì"],
			["kuā"],
			["néng"]
		],
		"骋耆奔欲": [
			["chěng"],
			["qí"],
			["bēn"],
			["yù"]
		],
		"骋嗜奔欲": [
			["chěng"],
			["shì"],
			["bēn"],
			["yù"]
		],
		"秤不离砣": [
			["chèng"],
			["bù"],
			["lí"],
			["tuó"]
		],
		"秤锤落井": [
			["chèng"],
			["chuí"],
			["luò"],
			["jǐng"]
		],
		"秤砣虽小压千斤": [
			["chèng"],
			["tuó"],
			["suī"],
			["xiǎo"],
			["yā"],
			["qiān"],
			["jīn"]
		],
		"秤平斗满": [
			["chèng"],
			["píng"],
			["dǒu"],
			["mǎn"]
		],
		"吃白食": [
			["chī"],
			["bái"],
			["shí"]
		],
		"吃不服": [
			["chī"],
			["bù"],
			["fú"]
		],
		"吃不来": [
			["chī"],
			["bù"],
			["lái"]
		],
		"吃不开": [
			["chī"],
			["bù"],
			["kāi"]
		],
		"吃不了": [
			["chī"],
			["bù"],
			["liǎo"]
		],
		"吃不了兜着走": [
			["chī"],
			["bù"],
			["liǎo"],
			["dōu"],
			["zhe"],
			["zǒu"]
		],
		"吃不上": [
			["chī"],
			["bù"],
			["shàng"]
		],
		"吃不透": [
			["chī"],
			["bù"],
			["tòu"]
		],
		"吃不消": [
			["chī"],
			["bù"],
			["xiāo"]
		],
		"吃不住": [
			["chī"],
			["bú"],
			["zhù"]
		],
		"吃不准": [
			["chī"],
			["bù"],
			["zhǔn"]
		],
		"吃穿用度": [
			["chī"],
			["chuān"],
			["yòng"],
			["dù"]
		],
		"吃吃喝喝": [
			["chī"],
			["chī"],
			["hē"],
			["hē"]
		],
		"吃大户": [
			["chī"],
			["dà"],
			["hù"]
		],
		"吃大锅饭": [
			["chī"],
			["dà"],
			["guō"],
			["fàn"]
		],
		"吃得开": [
			["chī"],
			["de"],
			["kāi"]
		],
		"吃得来": [
			["chī"],
			["de"],
			["lái"]
		],
		"吃得消": [
			["chī"],
			["de"],
			["xiāo"]
		],
		"吃得下": [
			["chī"],
			["de"],
			["xià"]
		],
		"吃得住": [
			["chī"],
			["de"],
			["zhù"]
		],
		"吃干饭": [
			["chī"],
			["gān"],
			["fàn"]
		],
		"吃独食": [
			["chī"],
			["dú"],
			["shí"]
		],
		"吃喝玩乐": [
			["chī"],
			["hē"],
			["wán"],
			["lè"]
		],
		"吃空额": [
			["chī"],
			["kòng"],
			["é"]
		],
		"吃里扒外": [
			["chī"],
			["lǐ"],
			["pá"],
			["wài"]
		],
		"吃粮不管事": [
			["chī"],
			["liáng"],
			["bù"],
			["guǎn"],
			["shì"]
		],
		"吃力不讨好": [
			["chī"],
			["lì"],
			["bù"],
			["tǎo"],
			["hǎo"]
		],
		"吃偏食": [
			["chī"],
			["piān"],
			["shí"]
		],
		"吃人不吐骨头": [
			["chī"],
			["rén"],
			["bù"],
			["tǔ"],
			["gú"],
			["tou"]
		],
		"吃软不吃硬": [
			["chī"],
			["ruǎn"],
			["bù"],
			["chī"],
			["yìng"]
		],
		"吃哑巴亏": [
			["chī"],
			["yǎ"],
			["bā"],
			["kuī"]
		],
		"吃硬不吃软": [
			["chī"],
			["yìng"],
			["bù"],
			["chī"],
			["ruǎn"]
		],
		"吃着不尽": [
			["chī"],
			["zhuó"],
			["bù"],
			["jìn"]
		],
		"吃着碗里瞧着锅里": [
			["chī"],
			["zhe"],
			["wǎn"],
			["lǐ"],
			["qiáo"],
			["zhe"],
			["guō"],
			["lǐ"]
		],
		"鸱鸮弄舌": [
			["chī"],
			["xiāo"],
			["nòng"],
			["shé"]
		],
		"痴儿呆女": [
			["chī"],
			["ér"],
			["dāi"],
			["nǚ"]
		],
		"痴男怨女": [
			["chī"],
			["nán"],
			["yuàn"],
			["nǚ"]
		],
		"弛高骛远": [
			["chí"],
			["gāo"],
			["wù"],
			["yuǎn"]
		],
		"痴人说梦": [
			["chī"],
			["rén"],
			["shuō"],
			["mèng"]
		],
		"池鱼幕燕": [
			["chí"],
			["yú"],
			["mù"],
			["yàn"]
		],
		"池鱼笼鸟": [
			["chí"],
			["yú"],
			["lóng"],
			["niǎo"]
		],
		"池鱼堂燕": [
			["chí"],
			["yú"],
			["táng"],
			["yàn"]
		],
		"池中物": [
			["chí"],
			["zhōng"],
			["wù"]
		],
		"驰风骋雨": [
			["chí"],
			["fēng"],
			["chěng"],
			["yǔ"]
		],
		"驰骋疆场": [
			["chí"],
			["chěng"],
			["jiāng"],
			["chǎng"]
		],
		"驰名当世": [
			["chí"],
			["míng"],
			["dāng"],
			["shì"]
		],
		"驰高鹜远": [
			["chí"],
			["gāo"],
			["wù"],
			["yuǎn"]
		],
		"驰名中外": [
			["chí"],
			["míng"],
			["zhōng"],
			["wài"]
		],
		"迟迟吾行": [
			["chí"],
			["chí"],
			["wú"],
			["xíng"]
		],
		"驰志伊吾": [
			["chí"],
			["zhì"],
			["yī"],
			["wú"]
		],
		"迟徊不决": [
			["chí"],
			["huái"],
			["bù"],
			["jué"]
		],
		"迟徊观望": [
			["chí"],
			["huái"],
			["guān"],
			["wàng"]
		],
		"迟回观望": [
			["chí"],
			["huí"],
			["guān"],
			["wàng"]
		],
		"迟疑不断": [
			["chí"],
			["yí"],
			["bù"],
			["duàn"]
		],
		"迟疑不定": [
			["chí"],
			["yí"],
			["bù"],
			["dìng"]
		],
		"迟疑不决": [
			["chí"],
			["yí"],
			["bù"],
			["jué"]
		],
		"迟疑顾望": [
			["chí"],
			["yí"],
			["gù"],
			["wàng"]
		],
		"迟疑观望": [
			["chí"],
			["yí"],
			["guān"],
			["wàng"]
		],
		"迟疑未决": [
			["chí"],
			["yí"],
			["wèi"],
			["jué"]
		],
		"持螯把酒": [
			["chí"],
			["áo"],
			["bǎ"],
			["jiǔ"]
		],
		"持平之论": [
			["chí"],
			["píng"],
			["zhī"],
			["lùn"]
		],
		"持论公允": [
			["chí"],
			["lùn"],
			["gōng"],
			["yǔn"]
		],
		"持权合变": [
			["chí"],
			["quán"],
			["hé"],
			["biàn"]
		],
		"持人长短": [
			["chí"],
			["rén"],
			["cháng"],
			["duǎn"]
		],
		"持斋把素": [
			["chí"],
			["zhāi"],
			["bǎ"],
			["sù"]
		],
		"持之有故": [
			["chí"],
			["zhī"],
			["yǒu"],
			["gù"]
		],
		"持正不阿": [
			["chí"],
			["zhèng"],
			["bù"],
			["ā"]
		],
		"踟蹰不前": [
			["chí"],
			["chú"],
			["bù"],
			["qián"]
		],
		"尺兵寸铁": [
			["chǐ"],
			["bīng"],
			["cùn"],
			["tiě"]
		],
		"尺板斗食": [
			["chǐ"],
			["bǎn"],
			["dòu"],
			["shí"]
		],
		"尺波电谢": [
			["chǐ"],
			["bō"],
			["diàn"],
			["xiè"]
		],
		"尺布斗粟": [
			["chǐ"],
			["bù"],
			["dǒu"],
			["sù"]
		],
		"尺步绳趋": [
			["chǐ"],
			["bù"],
			["shéng"],
			["qū"]
		],
		"尺椽片瓦": [
			["chǐ"],
			["chuán"],
			["piàn"],
			["wǎ"]
		],
		"尺寸可取": [
			["chǐ"],
			["cùn"],
			["kě"],
			["qǔ"]
		],
		"尺寸千里": [
			["chǐ"],
			["cùn"],
			["qiān"],
			["lǐ"]
		],
		"尺寸之柄": [
			["chǐ"],
			["cùn"],
			["zhī"],
			["bǐng"]
		],
		"尺寸之地": [
			["chǐ"],
			["cùn"],
			["zhī"],
			["dì"]
		],
		"尺寸之功": [
			["chǐ"],
			["cù"],
			["zhī"],
			["gōng"]
		],
		"尺短寸长": [
			["chǐ"],
			["duǎn"],
			["cù"],
			["cháng"]
		],
		"尺二秀才": [
			["chǐ"],
			["èr"],
			["xiù"],
			["cái"]
		],
		"尺二冤家": [
			["chǐ"],
			["èr"],
			["yuān"],
			["jia"]
		],
		"尺幅寸缣": [
			["chǐ"],
			["fú"],
			["cùn"],
			["jiān"]
		],
		"尺幅千里": [
			["chǐ"],
			["fú"],
			["qiān"],
			["lǐ"]
		],
		"尺蠖求伸": [
			["chǐ"],
			["huò"],
			["qiú"],
			["shēn"]
		],
		"尺籍伍符": [
			["chǐ"],
			["jí"],
			["wǔ"],
			["fú"]
		],
		"尺山寸水": [
			["chǐ"],
			["shān"],
			["cùn"],
			["shuǐ"]
		],
		"尺树寸泓": [
			["chǐ"],
			["shù"],
			["cùn"],
			["hóng"]
		],
		"尺水丈波": [
			["chǐ"],
			["shuǐ"],
			["zhàng"],
			["bō"]
		],
		"尺有所短": [
			["chǐ"],
			["yǒu"],
			["suǒ"],
			["duǎn"]
		],
		"尺瑜寸瑕": [
			["chǐ"],
			["yú"],
			["cùn"],
			["xiá"]
		],
		"尺泽之鲵": [
			["chǐ"],
			["zé"],
			["zhī"],
			["ní"]
		],
		"尺竹伍符": [
			["chǐ"],
			["zhú"],
			["wǔ"],
			["fú"]
		],
		"侈侈不休": [
			["chǐ"],
			["chǐ"],
			["bù"],
			["xiū"]
		],
		"侈丽闳衍": [
			["chǐ"],
			["lì"],
			["hóng"],
			["yǎn"]
		],
		"侈衣美食": [
			["chǐ"],
			["yī"],
			["měi"],
			["shí"]
		],
		"侈人观听": [
			["chǐ"],
			["rén"],
			["guān"],
			["tīng"]
		],
		"侈纵偷苟": [
			["chǐ"],
			["zòng"],
			["tōu"],
			["gǒu"]
		],
		"齿白唇红": [
			["chǐ"],
			["bái"],
			["chún"],
			["hóng"]
		],
		"齿甘乘肥": [
			["chǐ"],
			["gān"],
			["chéng"],
			["féi"]
		],
		"齿过肩随": [
			["chǐ"],
			["guò"],
			["jiān"],
			["suí"]
		],
		"齿豁头童": [
			["chǐ"],
			["huō"],
			["tóu"],
			["tóng"]
		],
		"齿落舌钝": [
			["chǐ"],
			["luò"],
			["shé"],
			["dùn"]
		],
		"齿如齐贝": [
			["chǐ"],
			["rú"],
			["qí"],
			["bèi"]
		],
		"齿若编贝": [
			["chǐ"],
			["ruò"],
			["biān"],
			["bèi"]
		],
		"齿少气锐": [
			["chǐ"],
			["shǎo"],
			["qì"],
			["ruì"]
		],
		"齿少心锐": [
			["chǐ"],
			["shǎo"],
			["xīn"],
			["ruì"]
		],
		"齿亡舌存": [
			["chǐ"],
			["wáng"],
			["shé"],
			["cún"]
		],
		"齿危发秀": [
			["chǐ"],
			["wēi"],
			["fā"],
			["xiù"]
		],
		"齿牙为猾": [
			["chǐ"],
			["yá"],
			["wéi"],
			["huá"]
		],
		"齿牙为祸": [
			["chǐ"],
			["yá"],
			["wéi"],
			["huò"]
		],
		"齿牙余论": [
			["chǐ"],
			["yá"],
			["yú"],
			["lùn"]
		],
		"齿牙馀论": [
			["chǐ"],
			["yá"],
			["yú"],
			["lùn"]
		],
		"耻居王后": [
			["chǐ"],
			["jū"],
			["wáng"],
			["hòu"]
		],
		"耻言人过": [
			["chǐ"],
			["yán"],
			["rén"],
			["guò"]
		],
		"耻与哙伍": [
			["chǐ"],
			["yú"],
			["kuài"],
			["wǔ"]
		],
		"叱嗟风云": [
			["chì"],
			["jiē"],
			["fēng"],
			["yún"]
		],
		"叱咤风云": [
			["chì"],
			["zhà"],
			["fēng"],
			["yún"]
		],
		"赤膊上阵": [
			["chì"],
			["bó"],
			["shàng"],
			["zhèn"]
		],
		"赤诚相待": [
			["chì"],
			["chéng"],
			["xiāng"],
			["dài"]
		],
		"赤地千里": [
			["chì"],
			["dì"],
			["qiān"],
			["lǐ"]
		],
		"赤口毒舌": [
			["chì"],
			["kǒu"],
			["dú"],
			["shé"]
		],
		"赤练蛇": [
			["chì"],
			["liàn"],
			["shé"]
		],
		"赤贫如洗": [
			["chì"],
			["pín"],
			["rú"],
			["xǐ"]
		],
		"赤身露体": [
			["chì"],
			["shēn"],
			["lù"],
			["tǐ"]
		],
		"赤身裸体": [
			["chì"],
			["shēn"],
			["luǒ"],
			["tǐ"]
		],
		"赤绳系足": [
			["chì"],
			["shéng"],
			["jì"],
			["zú"]
		],
		"赤手空拳": [
			["chì"],
			["shǒu"],
			["kōng"],
			["quán"]
		],
		"赤县神州": [
			["chì"],
			["xiàn"],
			["shén"],
			["zhōu"]
		],
		"赤心相待": [
			["chì"],
			["xīn"],
			["xiāng"],
			["dài"]
		],
		"充栋汗牛": [
			["chōng"],
			["dòng"],
			["hàn"],
			["niú"]
		],
		"充栋盈车": [
			["chōng"],
			["dòng"],
			["yíng"],
			["chē"]
		],
		"充耳不闻": [
			["chōng"],
			["ěr"],
			["bù"],
			["wén"]
		],
		"充其量": [
			["chōng"],
			["qí"],
			["liàng"]
		],
		"充类至尽": [
			["chōng"],
			["lèi"],
			["zhì"],
			["jìn"]
		],
		"充天塞地": [
			["chōng"],
			["tiān"],
			["sāi"],
			["dì"]
		],
		"冲盹儿": [
			["chòng"],
			["dǔn"],
			["er"]
		],
		"冲风冒雨": [
			["chōng"],
			["fēng"],
			["mào"],
			["yǔ"]
		],
		"冲锋队": [
			["chōng"],
			["fēng"],
			["duì"]
		],
		"冲风破浪": [
			["chōng"],
			["fēng"],
			["pò"],
			["làng"]
		],
		"冲锋号": [
			["chōng"],
			["fēng"],
			["hào"]
		],
		"冲锋枪": [
			["chōng"],
			["fēng"],
			["qiāng"]
		],
		"冲锋陷坚": [
			["chōng"],
			["fēng"],
			["xiàn"],
			["jiān"]
		],
		"冲锋陷阵": [
			["chōng"],
			["fēng"],
			["xiàn"],
			["zhèn"]
		],
		"冲锋陷锐": [
			["chōng"],
			["fēng"],
			["xiàn"],
			["ruì"]
		],
		"冲冠发怒": [
			["chōng"],
			["guàn"],
			["fā"],
			["nù"]
		],
		"冲冠怒发": [
			["chōng"],
			["guàn"],
			["nù"],
			["fà"]
		],
		"冲昏头脑": [
			["chōng"],
			["hūn"],
			["tóu"],
			["nǎo"]
		],
		"冲冠眦裂": [
			["chōng"],
			["guàn"],
			["zì"],
			["liè"]
		],
		"冲击波": [
			["chōng"],
			["jī"],
			["bō"]
		],
		"冲坚毁锐": [
			["chōng"],
			["jiān"],
			["huǐ"],
			["ruì"]
		],
		"冲劲儿": [
			["chòng"],
			["jìn"],
			["er"]
		],
		"冲口而出": [
			["chōng"],
			["kǒu"],
			["ér"],
			["chū"]
		],
		"冲浪板": [
			["chōng"],
			["làng"],
			["bǎn"]
		],
		"冲天炮": [
			["chōng"],
			["tiān"],
			["pào"]
		],
		"冲云破雾": [
			["chōng"],
			["yún"],
			["pò"],
			["wù"]
		],
		"冲州撞府": [
			["chōng"],
			["zhōu"],
			["zhuàng"],
			["fǔ"]
		],
		"冲州过府": [
			["chōng"],
			["zhōu"],
			["guò"],
			["fǔ"]
		],
		"舂容大雅": [
			["chōng"],
			["róng"],
			["dà"],
			["yá"]
		],
		"虫臂鼠肝": [
			["chóng"],
			["bì"],
			["shǔ"],
			["gān"]
		],
		"虫沙猿鹤": [
			["chóng"],
			["shā"],
			["yuán"],
			["hè"]
		],
		"崇论吰议": [
			["chóng"],
			["lùn"],
			["hóng"],
			["yì"]
		],
		"崇论闳议": [
			["chóng"],
			["lùn"],
			["hóng"],
			["yì"]
		],
		"崇论宏议": [
			["chóng"],
			["lùn"],
			["hóng"],
			["yì"]
		],
		"崇论谹议": [
			["chóng"],
			["lùn"],
			["hóng"],
			["yì"]
		],
		"崇山峻岭": [
			["chóng"],
			["shān"],
			["jùn"],
			["lǐng"]
		],
		"宠辱不惊": [
			["chǒng"],
			["rǔ"],
			["bù"],
			["jīng"]
		],
		"宠辱若惊": [
			["chǒng"],
			["rǔ"],
			["ruò"],
			["jīng"]
		],
		"抽丁拔楔": [
			["chōu"],
			["dīng"],
			["bá"],
			["xiē"]
		],
		"抽功夫": [
			["chōu"],
			["gōng"],
			["fū"]
		],
		"抽筋拔骨": [
			["chōu"],
			["jīn"],
			["bá"],
			["gǔ"]
		],
		"抽筋剥皮": [
			["chōu"],
			["jīn"],
			["bāo"],
			["pí"]
		],
		"抽祕骋妍": [
			["chōu"],
			["bì"],
			["chěng"],
			["yán"]
		],
		"抽秘骋妍": [
			["chōu"],
			["mì"],
			["chěng"],
			["yán"]
		],
		"抽丝剥茧": [
			["chōu"],
			["sī"],
			["bāo"],
			["jiǎn"]
		],
		"抽胎换骨": [
			["chōu"],
			["tāi"],
			["huàn"],
			["gǔ"]
		],
		"抽样调查": [
			["chōu"],
			["yàng"],
			["diào"],
			["chá"]
		],
		"抽象思维": [
			["chōu"],
			["xiàng"],
			["sī"],
			["wéi"]
		],
		"绸缪束薪": [
			["chóu"],
			["móu"],
			["shù"],
			["xīn"]
		],
		"绸缪帷幄": [
			["chóu"],
			["móu"],
			["wéi"],
			["wò"]
		],
		"愁长殢酒": [
			["chóu"],
			["cháng"],
			["tì"],
			["jiǔ"]
		],
		"愁肠百结": [
			["chóu"],
			["cháng"],
			["bǎi"],
			["jié"]
		],
		"愁肠九转": [
			["chóu"],
			["cháng"],
			["jiǔ"],
			["zhuǎn"]
		],
		"愁多夜长": [
			["chóu"],
			["duō"],
			["yè"],
			["cháng"]
		],
		"愁红惨绿": [
			["chóu"],
			["hóng"],
			["cǎn"],
			["lü"]
		],
		"愁红怨绿": [
			["chóu"],
			["hóng"],
			["yuàn"],
			["lǜ"]
		],
		"愁眉不展": [
			["chóu"],
			["méi"],
			["bù"],
			["zhān"]
		],
		"愁潘病沈": [
			["chóu"],
			["pān"],
			["bìng"],
			["shěn"]
		],
		"稠人广众": [
			["chóu"],
			["rén"],
			["guǎng"],
			["zhòng"]
		],
		"愁山闷海": [
			["chóu"],
			["shān"],
			["mèn"],
			["hǎi"]
		],
		"稠人广座": [
			["chóu"],
			["rén"],
			["guǎng"],
			["zuò"]
		],
		"稠人广坐": [
			["chóu"],
			["rén"],
			["guǎng"],
			["zuò"]
		],
		"酬功给效": [
			["chóu"],
			["gōng"],
			["gěi"],
			["xiào"]
		],
		"踌躇不决": [
			["chóu"],
			["chú"],
			["bù"],
			["jué"]
		],
		"踌躇不前": [
			["chóu"],
			["chú"],
			["bù"],
			["qián"]
		],
		"丑类恶物": [
			["chǒu"],
			["lèi"],
			["è"],
			["wù"]
		],
		"丑声远播": [
			["chǒu"],
			["shēng"],
			["yuǎn"],
			["bō"]
		],
		"丑态毕露": [
			["chǒu"],
			["tài"],
			["bì"],
			["lù"]
		],
		"丑媳妇总得见公婆": [
			["chǒu"],
			["xí"],
			["fù"],
			["zǒng"],
			["de"],
			["jiàn"],
			["gōng"],
			["pó"]
		],
		"臭不可当": [
			["chòu"],
			["bù"],
			["kě"],
			["dāng"]
		],
		"臭不可闻": [
			["chòu"],
			["bù"],
			["kě"],
			["wén"]
		],
		"臭豆腐": [
			["chòu"],
			["dòu"],
			["fǔ"]
		],
		"臭烘烘": [
			["chòu"],
			["hōng"],
			["hōng"]
		],
		"臭架子": [
			["chòu"],
			["jià"],
			["zi"]
		],
		"臭老九": [
			["chòu"],
			["lǎo"],
			["jiǔ"]
		],
		"臭名远扬": [
			["chòu"],
			["míng"],
			["yuǎn"],
			["yáng"]
		],
		"臭名昭著": [
			["chòu"],
			["míng"],
			["zhāo"],
			["zhù"]
		],
		"臭名昭彰": [
			["chòu"],
			["míng"],
			["zhāo"],
			["zhāng"]
		],
		"臭皮囊": [
			["chòu"],
			["pí"],
			["náng"]
		],
		"臭肉来蝇": [
			["chòu"],
			["ròu"],
			["lái"],
			["yíng"]
		],
		"臭味相投": [
			["xiù"],
			["wèi"],
			["xiāng"],
			["tóu"]
		],
		"臭氧层": [
			["chòu"],
			["yǎng"],
			["céng"]
		],
		"出厂价格": [
			["chū"],
			["chǎng"],
			["jià"],
			["gé"]
		],
		"出尘不染": [
			["chū"],
			["chén"],
			["bù"],
			["rǎn"]
		],
		"出处进退": [
			["chū"],
			["chǔ"],
			["jìn"],
			["tuì"]
		],
		"出处殊涂": [
			["chū"],
			["chǔ"],
			["shū"],
			["tú"]
		],
		"出处殊途": [
			["chū"],
			["chǔ"],
			["shū"],
			["tú"]
		],
		"出处语默": [
			["chū"],
			["chǔ"],
			["yǔ"],
			["mò"]
		],
		"出词吐气": [
			["chū"],
			["cí"],
			["tǔ"],
			["qì"]
		],
		"出敌不意": [
			["chū"],
			["dí"],
			["bù"],
			["yì"]
		],
		"出发点": [
			["chū"],
			["fā"],
			["diǎn"]
		],
		"出份子": [
			["chū"],
			["fèn"],
			["zi"]
		],
		"出风头": [
			["chū"],
			["fēng"],
			["tou"]
		],
		"出乖露丑": [
			["chū"],
			["guāi"],
			["lù"],
			["chǒu"]
		],
		"出乖弄丑": [
			["chū"],
			["guāi"],
			["nòng"],
			["chǒu"]
		],
		"出何经典": [
			["chū"],
			["hé"],
			["jīng"],
			["diǎn"]
		],
		"出何典记": [
			["chū"],
			["hé"],
			["diǎn"],
			["jì"]
		],
		"出家人": [
			["chū"],
			["jiā"],
			["rén"]
		],
		"出将入相": [
			["chū"],
			["jiàng"],
			["rù"],
			["xiàng"]
		],
		"出口加工区": [
			["chū"],
			["kǒu"],
			["jiā"],
			["gōng"],
			["qū"]
		],
		"出没不常": [
			["chū"],
			["mò"],
			["bù"],
			["cháng"]
		],
		"出没无常": [
			["chū"],
			["mò"],
			["wú"],
			["cháng"]
		],
		"出门应辙": [
			["chū"],
			["mén"],
			["yīng"],
			["zhé"]
		],
		"出门合辙": [
			["chū"],
			["mén"],
			["hé"],
			["zhé"]
		],
		"出谋划策": [
			["chū"],
			["móu"],
			["huà"],
			["cè"]
		],
		"出内之吝": [
			["chū"],
			["nèi"],
			["zhī"],
			["lìn"]
		],
		"出其不备": [
			["chū"],
			["qí"],
			["bù"],
			["bèi"]
		],
		"出其不虞": [
			["chū"],
			["qí"],
			["bù"],
			["yú"]
		],
		"出其不意": [
			["chū"],
			["qí"],
			["bù"],
			["yì"]
		],
		"出奇不穷": [
			["chū"],
			["qí"],
			["bù"],
			["qióng"]
		],
		"出奇划策": [
			["chū"],
			["qí"],
			["huá"],
			["cè"]
		],
		"出奇无穷": [
			["chū"],
			["qí"],
			["wú"],
			["qióng"]
		],
		"出奇制胜": [
			["chū"],
			["qí"],
			["zhì"],
			["shèng"]
		],
		"出奇取胜": [
			["chū"],
			["qí"],
			["qǔ"],
			["shèng"]
		],
		"出奇致胜": [
			["chū"],
			["qí"],
			["zhì"],
			["shèng"]
		],
		"出浅入深": [
			["chū"],
			["qiǎn"],
			["rù"],
			["shēn"]
		],
		"出勤率": [
			["chū"],
			["qín"],
			["lǜ"]
		],
		"出人头地": [
			["chū"],
			["rén"],
			["tóu"],
			["dì"]
		],
		"出圈儿": [
			["chū"],
			["quān"],
			["ér"]
		],
		"出入将相": [
			["chū"],
			["rù"],
			["jiāng"],
			["xiāng"]
		],
		"出入无间": [
			["chū"],
			["rù"],
			["wú"],
			["jiān"]
		],
		"出神入化": [
			["chū"],
			["shén"],
			["rù"],
			["huà"]
		],
		"出生率": [
			["chū"],
			["shēng"],
			["lǜ"]
		],
		"出师不利": [
			["chū"],
			["shī"],
			["bù"],
			["lì"]
		],
		"出师有名": [
			["chū"],
			["shī"],
			["yǒu"],
			["míng"]
		],
		"出手得卢": [
			["chū"],
			["shǒu"],
			["dé"],
			["lú"]
		],
		"出死断亡": [
			["chū"],
			["sǐ"],
			["duàn"],
			["wáng"]
		],
		"出头露面": [
			["chū"],
			["tóu"],
			["lù"],
			["miàn"]
		],
		"出头之日": [
			["chū"],
			["tóu"],
			["zhī"],
			["rì"]
		],
		"出污泥而不染": [
			["chū"],
			["wū"],
			["ní"],
			["ér"],
			["bù"],
			["rǎn"]
		],
		"出言不逊": [
			["chū"],
			["yán"],
			["bù"],
			["xùn"]
		],
		"出言吐词": [
			["chū"],
			["yán"],
			["tǔ"],
			["cí"]
		],
		"出言吐气": [
			["chū"],
			["yán"],
			["tǔ"],
			["qì"]
		],
		"出言吐语": [
			["chū"],
			["yán"],
			["tǔ"],
			["yǔ"]
		],
		"出言有章": [
			["chū"],
			["yán"],
			["yǒu"],
			["zhāng"]
		],
		"出洋相": [
			["chū"],
			["yáng"],
			["xiàng"]
		],
		"出一头地": [
			["chū"],
			["yī"],
			["tóu"],
			["dì"]
		],
		"出有入无": [
			["chū"],
			["yǒu"],
			["rù"],
			["wú"]
		],
		"出淤泥而不染": [
			["chū"],
			["yū"],
			["ní"],
			["ér"],
			["bù"],
			["rǎn"]
		],
		"出语成章": [
			["chū"],
			["yǔ"],
			["chéng"],
			["zhāng"]
		],
		"出云入泥": [
			["chū"],
			["yún"],
			["rù"],
			["ní"]
		],
		"出租汽车": [
			["chū"],
			["zū"],
			["qì"],
			["chē"]
		],
		"初等教育": [
			["chū"],
			["děng"],
			["jiào"],
			["yù"]
		],
		"初级中学": [
			["chū"],
			["jí"],
			["zhōng"],
			["xué"]
		],
		"初露头角": [
			["chū"],
			["lù"],
			["tóu"],
			["jiǎo"]
		],
		"初露锋芒": [
			["chū"],
			["lù"],
			["fēng"],
			["máng"]
		],
		"初生之犊不惧虎": [
			["chū"],
			["shēng"],
			["zhī"],
			["dú"],
			["bù"],
			["jù"],
			["hǔ"]
		],
		"初生之犊不畏虎": [
			["chū"],
			["shēng"],
			["zhī"],
			["dú"],
			["bù"],
			["wèi"],
			["hǔ"]
		],
		"初生牛犊不怕虎": [
			["chū"],
			["shēng"],
			["niú"],
			["dú"],
			["bù"],
			["pà"],
			["hǔ"]
		],
		"初中生": [
			["chū"],
			["zhōng"],
			["shēng"]
		],
		"樗栎庸材": [
			["chū"],
			["lì"],
			["yōng"],
			["cái"]
		],
		"刍荛之见": [
			["chú"],
			["ráo"],
			["zhī"],
			["jiàn"]
		],
		"除暴安良": [
			["chú"],
			["bào"],
			["ān"],
			["liáng"]
		],
		"除恶务本": [
			["chú"],
			["è"],
			["wù"],
			["běn"]
		],
		"除恶务尽": [
			["chú"],
			["è"],
			["wù"],
			["jìn"]
		],
		"除害兴利": [
			["chú"],
			["hài"],
			["xīng"],
			["lì"]
		],
		"除患兴利": [
			["chú"],
			["huàn"],
			["xīng"],
			["lì"]
		],
		"除旧更新": [
			["chú"],
			["jiù"],
			["gēng"],
			["xīn"]
		],
		"除狼得虎": [
			["chú"],
			["láng"],
			["dé"],
			["hǔ"]
		],
		"除邪惩恶": [
			["chú"],
			["xié"],
			["chéng"],
			["è"]
		],
		"锄强扶弱": [
			["chú"],
			["qiáng"],
			["fú"],
			["ruò"]
		],
		"础泣而雨": [
			["chǔ"],
			["qì"],
			["ér"],
			["yǔ"]
		],
		"础润而雨": [
			["chǔ"],
			["rùn"],
			["ér"],
			["yǔ"]
		],
		"储蓄银行": [
			["chǔ"],
			["xù"],
			["yín"],
			["háng"]
		],
		"楚楚可爱": [
			["chǔ"],
			["chǔ"],
			["kě"],
			["ài"]
		],
		"楚璧隋珍": [
			["chǔ"],
			["bì"],
			["suí"],
			["zhēn"]
		],
		"楚楚不凡": [
			["chǔ"],
			["chǔ"],
			["bù"],
			["fán"]
		],
		"楚楚可怜": [
			["chǔ"],
			["chǔ"],
			["kě"],
			["lián"]
		],
		"楚楚可人": [
			["chǔ"],
			["chǔ"],
			["kě"],
			["rén"]
		],
		"楚楚有致": [
			["chǔ"],
			["chǔ"],
			["yǒu"],
			["zhì"]
		],
		"楚弓楚得": [
			["chǔ"],
			["gōng"],
			["chǔ"],
			["dé"]
		],
		"楚得楚弓": [
			["chǔ"],
			["dé"],
			["chǔ"],
			["gōng"]
		],
		"楚歌四合": [
			["chǔ"],
			["gē"],
			["sì"],
			["hé"]
		],
		"楚弓复得": [
			["chǔ"],
			["gōng"],
			["fù"],
			["dé"]
		],
		"楚梦云雨": [
			["chǔ"],
			["mèng"],
			["yún"],
			["yǔ"]
		],
		"楚囊之情": [
			["chǔ"],
			["náng"],
			["zhī"],
			["qíng"]
		],
		"楚囚相对": [
			["chǔ"],
			["qiú"],
			["xiāng"],
			["duì"]
		],
		"楚天云雨": [
			["chǔ"],
			["tiān"],
			["yún"],
			["yǔ"]
		],
		"楚尾吴头": [
			["chǔ"],
			["wěi"],
			["wú"],
			["tóu"]
		],
		"楚腰纤细": [
			["chǔ"],
			["yāo"],
			["xiān"],
			["xì"]
		],
		"楚雨巫云": [
			["chǔ"],
			["yǔ"],
			["wū"],
			["yún"]
		],
		"楚云湘雨": [
			["chǔ"],
			["yún"],
			["xiāng"],
			["yǔ"]
		],
		"褚小杯大": [
			["zhǔ"],
			["xiǎo"],
			["bēi"],
			["dà"]
		],
		"褚小怀大": [
			["zhǔ"],
			["xiǎo"],
			["huái"],
			["dà"]
		],
		"处高临深": [
			["chǔ"],
			["gāo"],
			["lín"],
			["shēn"]
		],
		"处理品": [
			["chǔ"],
			["lǐ"],
			["pǐn"]
		],
		"处女地": [
			["chǔ"],
			["nǚ"],
			["dì"]
		],
		"处女膜": [
			["chǔ"],
			["nǚ"],
			["mó"]
		],
		"处女作": [
			["chǔ"],
			["nǚ"],
			["zuò"]
		],
		"处实效功": [
			["chǔ"],
			["shí"],
			["xiào"],
			["gōng"]
		],
		"处堂燕雀": [
			["chǔ"],
			["táng"],
			["yàn"],
			["què"]
		],
		"处堂燕鹊": [
			["chǔ"],
			["táng"],
			["yàn"],
			["què"]
		],
		"处心积虑": [
			["chǔ"],
			["xīn"],
			["jī"],
			["lǜ"]
		],
		"处之泰然": [
			["chǔ"],
			["zhī"],
			["tài"],
			["rán"]
		],
		"处尊居显": [
			["chǔ"],
			["zūn"],
			["jū"],
			["xiǎn"]
		],
		"触地号天": [
			["chù"],
			["dì"],
			["hào"],
			["tiān"]
		],
		"触处机来": [
			["chù"],
			["chǔ"],
			["jī"],
			["lái"]
		],
		"触斗蛮争": [
			["chù"],
			["dòu"],
			["mán"],
			["zhēng"]
		],
		"触机便发": [
			["chù"],
			["jī"],
			["biàn"],
			["fā"]
		],
		"触发器": [
			["chù"],
			["fā"],
			["qì"]
		],
		"触景伤怀": [
			["chù"],
			["jǐng"],
			["shāng"],
			["huái"]
		],
		"触景伤情": [
			["chù"],
			["jǐng"],
			["shāng"],
			["qíng"]
		],
		"触景伤心": [
			["chù"],
			["jǐng"],
			["shāng"],
			["xīn"]
		],
		"触景生情": [
			["chù"],
			["jǐng"],
			["shēng"],
			["qíng"]
		],
		"触类而长": [
			["chù"],
			["lèi"],
			["ér"],
			["cháng"]
		],
		"触类旁通": [
			["chù"],
			["lèi"],
			["páng"],
			["tōng"]
		],
		"触霉头": [
			["chù"],
			["méi"],
			["tóu"]
		],
		"触目兴叹": [
			["chù"],
			["mù"],
			["xīng"],
			["tàn"]
		],
		"触石决木": [
			["chù"],
			["shí"],
			["jué"],
			["mù"]
		],
		"触手可及": [
			["chù"],
			["shǒu"],
			["kě"],
			["jí"]
		],
		"触物兴怀": [
			["chù"],
			["wù"],
			["xīng"],
			["huái"]
		],
		"黜邪崇正": [
			["chù"],
			["xié"],
			["chóng"],
			["zhèng"]
		],
		"黜衣缩食": [
			["chù"],
			["yī"],
			["suō"],
			["shí"]
		],
		"揣骨听声": [
			["chuāi"],
			["gǔ"],
			["tīng"],
			["shēng"]
		],
		"揣合逢迎": [
			["chuǎi"],
			["hé"],
			["féng"],
			["yíng"]
		],
		"揣奸把猾": [
			["chuāi"],
			["jiān"],
			["bǎ"],
			["huá"]
		],
		"揣时度力": [
			["chuǎi"],
			["shí"],
			["duó"],
			["lì"]
		],
		"揣手儿": [
			["chuāi"],
			["shǒu"],
			["er"]
		],
		"啜食吐哺": [
			["chuò"],
			["shí"],
			["tǔ"],
			["bǔ"]
		],
		"啜菽饮水": [
			["chuò"],
			["shū"],
			["yǐn"],
			["shuǐ"]
		],
		"啜英咀华": [
			["chuò"],
			["yīng"],
			["jǔ"],
			["huá"]
		],
		"川流不息": [
			["chuān"],
			["liú"],
			["bù"],
			["xī"]
		],
		"川渟岳峙": [
			["chuān"],
			["tīng"],
			["yuè"],
			["zhì"]
		],
		"川泽纳污": [
			["chuān"],
			["zé"],
			["nà"],
			["wū"]
		],
		"川壅必溃": [
			["chuān"],
			["yōng"],
			["bì"],
			["kuì"]
		],
		"穿红着绿": [
			["chuān"],
			["hóng"],
			["zhuó"],
			["lǜ"]
		],
		"穿井得人": [
			["chuān"],
			["jǐng"],
			["dé"],
			["rén"]
		],
		"穿堂风": [
			["chuān"],
			["táng"],
			["fēng"]
		],
		"穿云裂石": [
			["chuān"],
			["yún"],
			["liè"],
			["shí"]
		],
		"穿凿附会": [
			["chuān"],
			["záo"],
			["fù"],
			["huì"]
		],
		"穿着打扮": [
			["chuān"],
			["zhe"],
			["dǎ"],
			["bàn"]
		],
		"传帮带": [
			["chuán"],
			["bāng"],
			["dài"]
		],
		"传杯换盏": [
			["chuán"],
			["bēi"],
			["huàn"],
			["zhǎn"]
		],
		"传柄移藉": [
			["chuán"],
			["bǐng"],
			["yí"],
			["jiè"]
		],
		"传杯弄盏": [
			["chuán"],
			["bēi"],
			["nòng"],
			["zhǎn"]
		],
		"传达室": [
			["chuán"],
			["dá"],
			["shì"]
		],
		"传道受业": [
			["chuán"],
			["dào"],
			["shòu"],
			["yè"]
		],
		"传动带": [
			["chuán"],
			["dòng"],
			["dài"]
		],
		"传风搧火": [
			["chuán"],
			["fēng"],
			["yǒu"],
			["huǒ"]
		],
		"传风扇火": [
			["chuán"],
			["fēng"],
			["shān"],
			["huǒ"]
		],
		"传龟袭紫": [
			["chuán"],
			["guī"],
			["xí"],
			["zǐ"]
		],
		"传圭袭组": [
			["chuán"],
			["guī"],
			["xí"],
			["zǔ"]
		],
		"传感器": [
			["chuán"],
			["gǎn"],
			["qì"]
		],
		"传呼电话": [
			["chuán"],
			["hū"],
			["diàn"],
			["huà"]
		],
		"传家宝": [
			["chuán"],
			["jiā"],
			["bǎo"]
		],
		"传教士": [
			["chuán"],
			["jiào"],
			["shì"]
		],
		"传经送宝": [
			["chuán"],
			["jīng"],
			["sòng"],
			["bǎo"]
		],
		"传爵袭紫": [
			["chuán"],
			["jué"],
			["xí"],
			["zǐ"]
		],
		"传令兵": [
			["chuán"],
			["lìng"],
			["bīng"]
		],
		"传染病": [
			["chuán"],
			["rǎn"],
			["bìng"]
		],
		"传神阿堵": [
			["chuán"],
			["shén"],
			["ā"],
			["dǔ"]
		],
		"传声器": [
			["chuán"],
			["shēng"],
			["qì"]
		],
		"传声筒": [
			["chuán"],
			["shēng"],
			["tǒng"]
		],
		"传送带": [
			["chuán"],
			["sòng"],
			["dài"]
		],
		"传诵一时": [
			["chuán"],
			["sòng"],
			["yī"],
			["shí"]
		],
		"传为佳话": [
			["chuán"],
			["wéi"],
			["jiā"],
			["huà"]
		],
		"传为美谈": [
			["chuán"],
			["wéi"],
			["měi"],
			["tán"]
		],
		"传为笑柄": [
			["chuán"],
			["wéi"],
			["xiào"],
			["bǐng"]
		],
		"传为笑谈": [
			["chuán"],
			["wéi"],
			["xiào"],
			["tán"]
		],
		"传闻不如亲见": [
			["chuán"],
			["wén"],
			["bù"],
			["rú"],
			["qīn"],
			["jiàn"]
		],
		"传闻异辞": [
			["chuán"],
			["wén"],
			["yì"],
			["cí"]
		],
		"传檄而定": [
			["chuán"],
			["xí"],
			["ér"],
			["dìng"]
		],
		"传真电报": [
			["chuán"],
			["zhēn"],
			["diàn"],
			["bào"]
		],
		"传宗接代": [
			["chuán"],
			["zōng"],
			["jiē"],
			["dài"]
		],
		"船到桥门自会直": [
			["chuán"],
			["dào"],
			["qiáo"],
			["mén"],
			["zì"],
			["huì"],
			["zhí"]
		],
		"船多不碍路": [
			["chuán"],
			["duō"],
			["bù"],
			["ài"],
			["lù"]
		],
		"船夫曲": [
			["chuán"],
			["fū"],
			["qǔ"]
		],
		"船坚炮利": [
			["chuán"],
			["jiān"],
			["pào"],
			["lì"]
		],
		"喘息之间": [
			["chuǎn"],
			["xī"],
			["zhī"],
			["jiān"]
		],
		"喘嘘嘘": [
			["chuǎn"],
			["xū"],
			["xū"]
		],
		"喘吁吁": [
			["chuǎn"],
			["xū"],
			["xū"]
		],
		"串并联": [
			["chuàn"],
			["bìng"],
			["lián"]
		],
		"串亲访友": [
			["chuàn"],
			["qīn"],
			["fǎng"],
			["yǒu"]
		],
		"串亲戚": [
			["chuàn"],
			["qīn"],
			["qī"]
		],
		"窗间过马": [
			["chuāng"],
			["jiān"],
			["guò"],
			["mǎ"]
		],
		"窗明几净": [
			["chuāng"],
			["míng"],
			["jī"],
			["jìng"]
		],
		"床上安床": [
			["chuáng"],
			["shàng"],
			["ān"],
			["chuáng"]
		],
		"床上叠床": [
			["chuáng"],
			["shàng"],
			["dié"],
			["chuáng"]
		],
		"床上迭床": [
			["chuáng"],
			["shàng"],
			["dié"],
			["chuáng"]
		],
		"床上施床": [
			["chuáng"],
			["shàng"],
			["shī"],
			["chuáng"]
		],
		"床头柜": [
			["chuáng"],
			["tóu"],
			["guì"]
		],
		"床头金尽": [
			["chuáng"],
			["tóu"],
			["jīn"],
			["jìn"]
		],
		"床下牛斗": [
			["chuáng"],
			["xià"],
			["niú"],
			["dòu"]
		],
		"创巨痛仍": [
			["chuàng"],
			["jù"],
			["tòng"],
			["réng"]
		],
		"创巨痛深": [
			["chuāng"],
			["jù"],
			["tòng"],
			["shēn"]
		],
		"创钜痛仍": [
			["chuàng"],
			["jù"],
			["tòng"],
			["réng"]
		],
		"创钜痛深": [
			["chuàng"],
			["jù"],
			["tòng"],
			["shēn"]
		],
		"创剧痛深": [
			["chuàng"],
			["jù"],
			["tòng"],
			["shēn"]
		],
		"创刊词": [
			["chuàng"],
			["kān"],
			["cí"]
		],
		"创刊号": [
			["chuàng"],
			["kān"],
			["hào"]
		],
		"创牌子": [
			["chuàng"],
			["pái"],
			["zi"]
		],
		"创始人": [
			["chuàng"],
			["shǐ"],
			["rén"]
		],
		"创世纪": [
			["chuàng"],
			["shì"],
			["jì"]
		],
		"创业垂统": [
			["chuàng"],
			["yè"],
			["chuí"],
			["tǒng"]
		],
		"创业史": [
			["chuàng"],
			["yè"],
			["shǐ"]
		],
		"创业维艰": [
			["chuàng"],
			["yè"],
			["wéi"],
			["jiān"]
		],
		"创意造言": [
			["chuàng"],
			["yì"],
			["zào"],
			["yán"]
		],
		"创造力": [
			["chuàng"],
			["zào"],
			["lì"]
		],
		"创造性": [
			["chuàng"],
			["zào"],
			["xìng"]
		],
		"创造性思维": [
			["chuàng"],
			["zào"],
			["xìng"],
			["sī"],
			["wéi"]
		],
		"创作方法": [
			["chuàng"],
			["zuò"],
			["fāng"],
			["fǎ"]
		],
		"怆地呼天": [
			["chuàng"],
			["dì"],
			["hū"],
			["tiān"]
		],
		"怆天呼地": [
			["chuàng"],
			["tiān"],
			["hū"],
			["dì"]
		],
		"吹吹打打": [
			["chuī"],
			["chuī"],
			["dǎ"],
			["dǎ"]
		],
		"吹篪乞食": [
			["chuī"],
			["chí"],
			["qǐ"],
			["shí"]
		],
		"吹弹得破": [
			["chuī"],
			["tán"],
			["dé"],
			["pò"]
		],
		"吹弹歌舞": [
			["chuī"],
			["tán"],
			["gē"],
			["wǔ"]
		],
		"吹花嚼蕊": [
			["chuī"],
			["huā"],
			["jiáo"],
			["ruǐ"]
		],
		"吹风机": [
			["chuī"],
			["fēng"],
			["jī"]
		],
		"吹角连营": [
			["chuī"],
			["jiǎo"],
			["lián"],
			["yíng"]
		],
		"吹拉弹唱": [
			["chuī"],
			["lā"],
			["tán"],
			["chàng"]
		],
		"吹糠见米": [
			["chuī"],
			["kāng"],
			["jiàn"],
			["mǐ"]
		],
		"吹毛数睫": [
			["chuī"],
			["máo"],
			["shù"],
			["jié"]
		],
		"吹冷风": [
			["chuī"],
			["lěng"],
			["fēng"]
		],
		"吹毛洗垢": [
			["chuī"],
			["máo"],
			["xǐ"],
			["gòu"]
		],
		"吹叶嚼蕊": [
			["chuī"],
			["yè"],
			["jiáo"],
			["ruǐ"]
		],
		"吹箫乞食": [
			["chuī"],
			["xiāo"],
			["qǐ"],
			["shí"]
		],
		"吹竹弹丝": [
			["chuí"],
			["zhú"],
			["dàn"],
			["sī"]
		],
		"炊沙成饭": [
			["chuī"],
			["shā"],
			["chéng"],
			["fàn"]
		],
		"炊沙镂冰": [
			["chuī"],
			["shā"],
			["lòu"],
			["bīng"]
		],
		"炊沙作饭": [
			["chuī"],
			["shā"],
			["zuò"],
			["fàn"]
		],
		"炊沙作糜": [
			["chuī"],
			["shā"],
			["zuò"],
			["mí"]
		],
		"炊事员": [
			["chuī"],
			["shì"],
			["yuán"]
		],
		"炊鲜漉清": [
			["chuī"],
			["xiān"],
			["lù"],
			["qīng"]
		],
		"垂手而得": [
			["chuí"],
			["shǒu"],
			["ér"],
			["dé"]
		],
		"垂首帖耳": [
			["chuí"],
			["shǒu"],
			["tiē"],
			["ěr"]
		],
		"垂手可得": [
			["chuí"],
			["shǒu"],
			["kě"],
			["dé"]
		],
		"垂首丧气": [
			["chuí"],
			["shǒu"],
			["sàng"],
			["qì"]
		],
		"垂死挣扎": [
			["chuí"],
			["sǐ"],
			["zhēng"],
			["zhá"]
		],
		"垂头塞耳": [
			["chuí"],
			["tóu"],
			["sāi"],
			["ěr"]
		],
		"垂头丧气": [
			["chuí"],
			["tóu"],
			["sàng"],
			["qì"]
		],
		"垂头铩羽": [
			["chuí"],
			["tóu"],
			["shā"],
			["yǔ"]
		],
		"垂头塌翅": [
			["chuí"],
			["tóu"],
			["tā"],
			["chì"]
		],
		"垂头搨翼": [
			["chuí"],
			["tóu"],
			["dá"],
			["yì"]
		],
		"垂涎三尺": [
			["chuí"],
			["xián"],
			["sān"],
			["chǐ"]
		],
		"垂直地带性": [
			["chuí"],
			["zhí"],
			["dì"],
			["dài"],
			["xìng"]
		],
		"垂直绿化": [
			["chuí"],
			["zhí"],
			["lǜ"],
			["huà"]
		],
		"垂直平分线": [
			["chuí"],
			["zhí"],
			["píng"],
			["fēn"],
			["xiàn"]
		],
		"捶骨沥髓": [
			["chuí"],
			["gǔ"],
			["lì"],
			["suǐ"]
		],
		"槌仁提义": [
			["chuí"],
			["rén"],
			["tí"],
			["yì"]
		],
		"槌胸蹋地": [
			["chuí"],
			["xiōng"],
			["tà"],
			["dì"]
		],
		"春冰虎尾": [
			["chūn"],
			["bīng"],
			["hǔ"],
			["wěi"]
		],
		"春蚕到死丝方尽": [
			["chūn"],
			["cán"],
			["dào"],
			["sǐ"],
			["sī"],
			["fāng"],
			["jìn"]
		],
		"春大麦": [
			["chūn"],
			["dà"],
			["mài"]
		],
		"春风得意": [
			["chūn"],
			["fēng"],
			["dé"],
			["yì"]
		],
		"春风和气": [
			["chūn"],
			["fēng"],
			["hé"],
			["qì"]
		],
		"春风风人": [
			["chūn"],
			["fēng"],
			["fèng"],
			["rén"]
		],
		"春风化雨": [
			["chūn"],
			["fēng"],
			["huà"],
			["yǔ"]
		],
		"春风满面": [
			["chūn"],
			["fēng"],
			["mǎn"],
			["miàn"]
		],
		"春风野火": [
			["chūn"],
			["fēng"],
			["yě"],
			["huǒ"]
		],
		"春风夏雨": [
			["chūn"],
			["fēng"],
			["xià"],
			["yǔ"]
		],
		"春风一度": [
			["chūn"],
			["fēng"],
			["yī"],
			["dù"]
		],
		"春风沂水": [
			["chūn"],
			["fēng"],
			["yí"],
			["shuǐ"]
		],
		"春光漏泄": [
			["chūn"],
			["guāng"],
			["lòu"],
			["xiè"]
		],
		"春风雨露": [
			["chūn"],
			["fēng"],
			["yǔ"],
			["lù"]
		],
		"春和景明": [
			["chūn"],
			["hé"],
			["jǐng"],
			["míng"]
		],
		"春华秋实": [
			["chūn"],
			["huá"],
			["qiū"],
			["shí"]
		],
		"春回大地": [
			["chūn"],
			["huí"],
			["dà"],
			["dì"]
		],
		"春露秋霜": [
			["chūn"],
			["lù"],
			["qiū"],
			["shuāng"]
		],
		"春葩丽藻": [
			["chūn"],
			["pā"],
			["lì"],
			["zǎo"]
		],
		"春秋鼎盛": [
			["chūn"],
			["qiū"],
			["dǐng"],
			["shèng"]
		],
		"春色撩人": [
			["chūn"],
			["sè"],
			["liáo"],
			["rén"]
		],
		"春蛇秋蚓": [
			["chūn"],
			["shé"],
			["qiū"],
			["yǐn"]
		],
		"春深似海": [
			["chūn"],
			["shēn"],
			["sì"],
			["hǎi"]
		],
		"春笋怒发": [
			["chūn"],
			["sǔn"],
			["mù"],
			["fā"]
		],
		"春蚓秋蛇": [
			["chūn"],
			["yǐn"],
			["qiū"],
			["shé"]
		],
		"春雨如油": [
			["chūn"],
			["yǔ"],
			["rú"],
			["yóu"]
		],
		"椿萱并茂": [
			["chūn"],
			["xuān"],
			["bìng"],
			["mào"]
		],
		"纯一不杂": [
			["chún"],
			["yī"],
			["bù"],
			["zá"]
		],
		"纯正无邪": [
			["chún"],
			["zhèng"],
			["wú"],
			["xié"]
		],
		"纯属骗局": [
			["chún"],
			["shú"],
			["piàn"],
			["jú"]
		],
		"唇齿相须": [
			["chún"],
			["chǐ"],
			["xiāng"],
			["xū"]
		],
		"唇齿相依": [
			["chún"],
			["chǐ"],
			["xiāng"],
			["yī"]
		],
		"唇不离腮": [
			["chún"],
			["bù"],
			["lí"],
			["sāi"]
		],
		"唇辅相连": [
			["chún"],
			["fǔ"],
			["xiāng"],
			["lián"]
		],
		"唇干口燥": [
			["chún"],
			["gān"],
			["kǒu"],
			["zào"]
		],
		"唇腐齿落": [
			["chún"],
			["fǔ"],
			["chǐ"],
			["luò"]
		],
		"唇红齿白": [
			["chún"],
			["hóng"],
			["chǐ"],
			["bái"]
		],
		"唇揭齿寒": [
			["chún"],
			["jiē"],
			["chǐ"],
			["hán"]
		],
		"唇亡齿寒": [
			["chún"],
			["wáng"],
			["chǐ"],
			["hán"]
		],
		"莼鲈之思": [
			["chún"],
			["lú"],
			["zhī"],
			["sī"]
		],
		"鹑居鷇食": [
			["chún"],
			["jū"],
			["kòu"],
			["shí"]
		],
		"鹑衣鷇食": [
			["chún"],
			["yī"],
			["kòu"],
			["shí"]
		],
		"鹑衣百结": [
			["chún"],
			["yī"],
			["bǎi"],
			["jié"]
		],
		"踔绝之能": [
			["chuō"],
			["jué"],
			["zhī"],
			["néng"]
		],
		"踔厉奋发": [
			["chuō"],
			["lì"],
			["fèn"],
			["fā"]
		],
		"踔厉风发": [
			["chuō"],
			["lì"],
			["fēng"],
			["fā"]
		],
		"踔厉骏发": [
			["chuō"],
			["lì"],
			["jùn"],
			["fā"]
		],
		"绰绰有余": [
			["chuò"],
			["chuò"],
			["yǒu"],
			["yú"]
		],
		"惙怛伤悴": [
			["chuò"],
			["dá"],
			["shāng"],
			["cuì"]
		],
		"绰绰有裕": [
			["chuò"],
			["chuò"],
			["yǒu"],
			["yù"]
		],
		"绰有余裕": [
			["chuò"],
			["yǒu"],
			["yú"],
			["yù"]
		],
		"绰约多姿": [
			["chuò"],
			["yuē"],
			["duō"],
			["zī"]
		],
		"辍毫栖牍": [
			["chuò"],
			["háo"],
			["qī"],
			["dú"]
		],
		"词不达意": [
			["cí"],
			["bù"],
			["dá"],
			["yì"]
		],
		"词不逮理": [
			["cí"],
			["bù"],
			["dài"],
			["lǐ"]
		],
		"词不逮意": [
			["cí"],
			["bù"],
			["dài"],
			["yì"]
		],
		"词华典赡": [
			["cí"],
			["huá"],
			["diǎn"],
			["shàn"]
		],
		"词穷理尽": [
			["cí"],
			["qióng"],
			["lǐ"],
			["jìn"]
		],
		"词无枝叶": [
			["cí"],
			["wú"],
			["zhī"],
			["yè"]
		],
		"词严义正": [
			["cí"],
			["yán"],
			["yì"],
			["zhèng"]
		],
		"词言义正": [
			["cí"],
			["yán"],
			["yì"],
			["zhèng"]
		],
		"词约指明": [
			["cí"],
			["yuē"],
			["zhǐ"],
			["míng"]
		],
		"词正理直": [
			["cí"],
			["zhèng"],
			["lǐ"],
			["zhí"]
		],
		"慈悲为本": [
			["cí"],
			["bēi"],
			["wéi"],
			["běn"]
		],
		"辞不达义": [
			["cí"],
			["bù"],
			["dá"],
			["yì"]
		],
		"辞不达意": [
			["cí"],
			["bù"],
			["dá"],
			["yì"]
		],
		"辞不获命": [
			["cí"],
			["bù"],
			["huò"],
			["mìng"]
		],
		"辞多受少": [
			["cí"],
			["duō"],
			["shòu"],
			["shǎo"]
		],
		"辞严气正": [
			["cí"],
			["yán"],
			["qì"],
			["zhèng"]
		],
		"辞微旨远": [
			["cí"],
			["wēi"],
			["zhǐ"],
			["yuǎn"]
		],
		"辞严义正": [
			["cí"],
			["yán"],
			["yì"],
			["zhèng"]
		],
		"辞严谊正": [
			["cí"],
			["yán"],
			["yì"],
			["zhèng"]
		],
		"辞严意正": [
			["cí"],
			["yán"],
			["yì"],
			["zhèng"]
		],
		"此唱彼和": [
			["cǐ"],
			["chàng"],
			["bǐ"],
			["hè"]
		],
		"此地无银三百两": [
			["cǐ"],
			["dì"],
			["wú"],
			["yín"],
			["sān"],
			["bǎi"],
			["liǎng"]
		],
		"此动彼应": [
			["cǐ"],
			["dòng"],
			["bǐ"],
			["yīng"]
		],
		"此发彼应": [
			["cǐ"],
			["fā"],
			["bǐ"],
			["yīng"]
		],
		"此风不可长": [
			["cǐ"],
			["fēng"],
			["bù"],
			["kě"],
			["zhǎng"]
		],
		"此呼彼应": [
			["cǐ"],
			["hū"],
			["bǐ"],
			["yīng"]
		],
		"此界彼疆": [
			["cǐ"],
			["jiè"],
			["bǐ"],
			["jiāng"]
		],
		"此疆尔界": [
			["cǐ"],
			["jiāng"],
			["ěr"],
			["jiè"]
		],
		"此起彼落": [
			["cǐ"],
			["qǐ"],
			["bǐ"],
			["luò"]
		],
		"此问彼难": [
			["cǐ"],
			["wèn"],
			["bǐ"],
			["nán"]
		],
		"此事体大": [
			["cǐ"],
			["shì"],
			["tǐ"],
			["dà"]
		],
		"此中三昧": [
			["cǐ"],
			["zhōng"],
			["sān"],
			["mèi"]
		],
		"次大陆": [
			["cì"],
			["dà"],
			["lù"]
		],
		"刺刺不休": [
			["cì"],
			["cì"],
			["bù"],
			["xiū"]
		],
		"刺儿头": [
			["cì"],
			["ér"],
			["tóu"]
		],
		"刺股悬梁": [
			["cì"],
			["gǔ"],
			["xuán"],
			["liáng"]
		],
		"刺股读书": [
			["cì"],
			["gǔ"],
			["dú"],
			["shū"]
		],
		"刺虎持鹬": [
			["cì"],
			["hǔ"],
			["chí"],
			["yù"]
		],
		"刺激素": [
			["cì"],
			["jī"],
			["sù"]
		],
		"刺激性": [
			["cì"],
			["jī"],
			["xìng"]
		],
		"刺上化下": [
			["cì"],
			["shàng"],
			["huà"],
			["xià"]
		],
		"刺心刻骨": [
			["cì"],
			["xīn"],
			["kè"],
			["gǔ"]
		],
		"刺心裂肝": [
			["cì"],
			["xīn"],
			["liè"],
			["gān"]
		],
		"刺心切骨": [
			["cì"],
			["xīn"],
			["qiè"],
			["gǔ"]
		],
		"从壁上观": [
			["cóng"],
			["bì"],
			["shàng"],
			["guān"]
		],
		"从长计较": [
			["cóng"],
			["cháng"],
			["jì"],
			["jiào"]
		],
		"从长计议": [
			["cóng"],
			["cháng"],
			["jì"],
			["yì"]
		],
		"从长商议": [
			["cóng"],
			["cháng"],
			["shāng"],
			["yì"]
		],
		"从从容容": [
			["cóng"],
			["cóng"],
			["róng"],
			["róng"]
		],
		"从恶如崩": [
			["cóng"],
			["è"],
			["rú"],
			["bēng"]
		],
		"从恶若崩": [
			["cóng"],
			["è"],
			["ruò"],
			["bēng"]
		],
		"从恶是崩": [
			["cóng"],
			["è"],
			["shì"],
			["bēng"]
		],
		"从风而服": [
			["cóng"],
			["fēng"],
			["ér"],
			["fú"]
		],
		"从风而靡": [
			["cóng"],
			["fēng"],
			["ér"],
			["mí"]
		],
		"从谏如流": [
			["cóng"],
			["jiàn"],
			["rú"],
			["liú"]
		],
		"从井救人": [
			["cóng"],
			["jǐng"],
			["jiù"],
			["rén"]
		],
		"从宽发落": [
			["cóng"],
			["kuān"],
			["fā"],
			["luò"]
		],
		"从令如流": [
			["cóng"],
			["lìng"],
			["rú"],
			["liú"]
		],
		"从流忘反": [
			["cóng"],
			["liú"],
			["wàng"],
			["fǎn"]
		],
		"从轻发落": [
			["cóng"],
			["qīng"],
			["fā"],
			["luò"]
		],
		"从容不迫": [
			["cóng"],
			["róng"],
			["bù"],
			["pò"]
		],
		"从容就义": [
			["cóng"],
			["róng"],
			["jiù"],
			["yì"]
		],
		"从容应对": [
			["cóng"],
			["róng"],
			["yìng"],
			["duì"]
		],
		"从容自如": [
			["cóng"],
			["róng"],
			["zì"],
			["rú"]
		],
		"从容自若": [
			["cóng"],
			["róng"],
			["zì"],
			["ruò"]
		],
		"从善如登": [
			["cóng"],
			["shàn"],
			["rú"],
			["dēng"]
		],
		"从善如流": [
			["cóng"],
			["shàn"],
			["rú"],
			["liú"]
		],
		"从善若流": [
			["cóng"],
			["shàn"],
			["ruò"],
			["liú"]
		],
		"从俗就简": [
			["cóng"],
			["sú"],
			["jiù"],
			["jiǎ"]
		],
		"从俗浮沉": [
			["cóng"],
			["sú"],
			["fú"],
			["chén"]
		],
		"从天而降": [
			["cóng"],
			["tiān"],
			["ér"],
			["jiàng"]
		],
		"从头彻尾": [
			["cóng"],
			["tóu"],
			["chè"],
			["wěi"]
		],
		"从天而下": [
			["cóng"],
			["tiān"],
			["ér"],
			["xià"]
		],
		"从头到尾": [
			["cóng"],
			["tóu"],
			["dào"],
			["wěi"]
		],
		"从头至尾": [
			["cóng"],
			["tóu"],
			["zhì"],
			["wěi"]
		],
		"从心所欲": [
			["cóng"],
			["xīn"],
			["suǒ"],
			["yù"]
		],
		"从一而终": [
			["cóng"],
			["yī"],
			["ér"],
			["zhōng"]
		],
		"从中渔利": [
			["cóng"],
			["zhōng"],
			["yú"],
			["lì"]
		],
		"从中作梗": [
			["cóng"],
			["zhōng"],
			["zuò"],
			["gěng"]
		],
		"聪明反被聪明误": [
			["cōng"],
			["míng"],
			["fǎn"],
			["bèi"],
			["cōng"],
			["míng"],
			["wù"]
		],
		"聪明智能": [
			["cōng"],
			["míng"],
			["zhì"],
			["néng"]
		],
		"聪明正直": [
			["cōng"],
			["míng"],
			["zhèng"],
			["zhí"]
		],
		"丛轻折轴": [
			["cóng"],
			["qīng"],
			["zhé"],
			["zhóu"]
		],
		"丛雀渊鱼": [
			["cóng"],
			["què"],
			["yuān"],
			["yú"]
		],
		"丛山峻岭": [
			["cóng"],
			["shān"],
			["jùn"],
			["lǐng"]
		],
		"凑份子": [
			["còu"],
			["fèn"],
			["zi"]
		],
		"粗风暴雨": [
			["cū"],
			["fēng"],
			["bào"],
			["yǔ"]
		],
		"粗服乱头": [
			["cū"],
			["fú"],
			["luàn"],
			["tóu"]
		],
		"粗袍粝食": [
			["cū"],
			["páo"],
			["lì"],
			["shí"]
		],
		"粗心大意": [
			["cū"],
			["xīn"],
			["dà"],
			["yì"]
		],
		"粗衣粝食": [
			["cū"],
			["yī"],
			["lì"],
			["shí"]
		],
		"粗衣恶食": [
			["cū"],
			["yī"],
			["è"],
			["shí"]
		],
		"粗枝大叶": [
			["cū"],
			["zhī"],
			["dà"],
			["yè"]
		],
		"粗中有细": [
			["cū"],
			["zhōng"],
			["yǒu"],
			["xì"]
		],
		"猝不及防": [
			["cù"],
			["bù"],
			["jí"],
			["fáng"]
		],
		"踧踖不安": [
			["cù"],
			["jí"],
			["bù"],
			["ān"]
		],
		"酢浆草": [
			["cù"],
			["jiāng"],
			["cǎo"]
		],
		"醋劲儿": [
			["cù"],
			["jìn"],
			["er"]
		],
		"蹙金结绣": [
			["cù"],
			["jīn"],
			["jié"],
			["xiù"]
		],
		"催化剂": [
			["cuī"],
			["huà"],
			["jì"]
		],
		"催化裂化": [
			["cuī"],
			["huà"],
			["liè"],
			["huà"]
		],
		"催泪弹": [
			["cuī"],
			["lèi"],
			["dàn"]
		],
		"催眠术": [
			["cuī"],
			["mián"],
			["shù"]
		],
		"催眠曲": [
			["cuī"],
			["mián"],
			["qǔ"]
		],
		"催吐剂": [
			["cuī"],
			["tǔ"],
			["jì"]
		],
		"摧枯拉腐": [
			["cuī"],
			["kū"],
			["lā"],
			["fǔ"]
		],
		"摧刚为柔": [
			["cuī"],
			["gāng"],
			["wéi"],
			["róu"]
		],
		"摧枯拉朽": [
			["cuī"],
			["kū"],
			["lā"],
			["xiǔ"]
		],
		"摧枯折腐": [
			["cuī"],
			["kū"],
			["zhé"],
			["fǔ"]
		],
		"摧兰折玉": [
			["cuī"],
			["lán"],
			["zhé"],
			["yù"]
		],
		"摧眉折腰": [
			["cuī"],
			["méi"],
			["zhé"],
			["yāo"]
		],
		"摧朽拉枯": [
			["cuī"],
			["xiǔ"],
			["lā"],
			["kū"]
		],
		"摧折豪强": [
			["cuī"],
			["zhé"],
			["háo"],
			["qiáng"]
		],
		"榱崩栋折": [
			["cuī"],
			["bēng"],
			["dòng"],
			["shé"]
		],
		"榱栋崩折": [
			["cuī"],
			["dòng"],
			["bēng"],
			["shé"]
		],
		"脆而不坚": [
			["cuì"],
			["ér"],
			["bù"],
			["jiān"]
		],
		"啛啛喳喳": [
			["cuì"],
			["cuì"],
			["chā"],
			["chā"]
		],
		"翠消红减": [
			["cuì"],
			["xiāo"],
			["hóng"],
			["jiǎn"]
		],
		"村夫俗子": [
			["cūn"],
			["fū"],
			["sú"],
			["zǐ"]
		],
		"村夫野老": [
			["cūn"],
			["fū"],
			["yě"],
			["lǎo"]
		],
		"村生泊长": [
			["cūn"],
			["shēng"],
			["bó"],
			["cháng"]
		],
		"村野匹夫": [
			["cūn"],
			["yě"],
			["pǐ"],
			["fū"]
		],
		"村学究语": [
			["cūn"],
			["xué"],
			["jiū"],
			["yǔ"]
		],
		"存车处": [
			["cún"],
			["chē"],
			["chù"]
		],
		"存而不论": [
			["cún"],
			["ér"],
			["bù"],
			["lùn"]
		],
		"存款单": [
			["cún"],
			["kuǎn"],
			["dān"]
		],
		"存亡安危": [
			["cún"],
			["wáng"],
			["ān"],
			["wēi"]
		],
		"存亡继绝": [
			["cún"],
			["wáng"],
			["jì"],
			["jué"]
		],
		"存亡未卜": [
			["cún"],
			["wáng"],
			["wèi"],
			["bǔ"]
		],
		"存亡绝续": [
			["cún"],
			["wáng"],
			["jué"],
			["xù"]
		],
		"存亡续绝": [
			["cún"],
			["wáng"],
			["xù"],
			["jué"]
		],
		"存心不良": [
			["cún"],
			["xīn"],
			["bù"],
			["liáng"]
		],
		"寸兵尺铁": [
			["cùn"],
			["bīng"],
			["chǐ"],
			["tiě"]
		],
		"寸步不让": [
			["cùn"],
			["bù"],
			["bù"],
			["ràng"]
		],
		"寸步不离": [
			["cùn"],
			["bù"],
			["bù"],
			["lí"]
		],
		"寸步难移": [
			["cùn"],
			["bù"],
			["nán"],
			["yí"]
		],
		"寸步难行": [
			["cùn"],
			["bù"],
			["nán"],
			["xíng"]
		],
		"寸草不生": [
			["cùn"],
			["cǎo"],
			["bù"],
			["shēng"]
		],
		"寸草不留": [
			["cùn"],
			["cǎo"],
			["bù"],
			["liú"]
		],
		"寸草衔结": [
			["cùn"],
			["cǎo"],
			["xián"],
			["jié"]
		],
		"寸长尺短": [
			["cùn"],
			["cháng"],
			["chǐ"],
			["duǎn"]
		],
		"寸长尺技": [
			["cùn"],
			["cháng"],
			["chǐ"],
			["jì"]
		],
		"寸长片善": [
			["cùn"],
			["cháng"],
			["piàn"],
			["shàn"]
		],
		"寸地尺天": [
			["cùn"],
			["dì"],
			["chǐ"],
			["tiān"]
		],
		"寸积铢累": [
			["cùn"],
			["jī"],
			["zhū"],
			["lěi"]
		],
		"寸劲儿": [
			["cùn"],
			["jìn"],
			["er"]
		],
		"寸进尺退": [
			["cùn"],
			["jìn"],
			["chǐ"],
			["tuì"]
		],
		"寸量铢称": [
			["cùn"],
			["liáng"],
			["zhū"],
			["chēng"]
		],
		"寸利必得": [
			["cùn"],
			["lì"],
			["bì"],
			["dé"]
		],
		"寸男尺女": [
			["cùn"],
			["nán"],
			["chǐ"],
			["nǚ"]
		],
		"寸善片长": [
			["cùn"],
			["shàn"],
			["piàn"],
			["cháng"]
		],
		"寸丝不挂": [
			["cùn"],
			["sī"],
			["bù"],
			["guà"]
		],
		"寸田尺宅": [
			["cùn"],
			["tián"],
			["chǐ"],
			["zhái"]
		],
		"寸蹄尺缣": [
			["cùn"],
			["tí"],
			["chǐ"],
			["jiān"]
		],
		"寸土不让": [
			["cùn"],
			["tǔ"],
			["bù"],
			["ràng"]
		],
		"寸土尺地": [
			["cùn"],
			["tǔ"],
			["chǐ"],
			["dì"]
		],
		"寸土尺金": [
			["cùn"],
			["tǔ"],
			["chǐ"],
			["jīn"]
		],
		"寸阴若岁": [
			["cùn"],
			["yīn"],
			["ruò"],
			["suì"]
		],
		"寸阴尺璧": [
			["cùn"],
			["yīn"],
			["chǐ"],
			["bì"]
		],
		"寸有所长": [
			["cùn"],
			["yǒu"],
			["suǒ"],
			["cháng"]
		],
		"撮科打哄": [
			["cuō"],
			["kē"],
			["dǎ"],
			["hòng"]
		],
		"撮土焚香": [
			["cuō"],
			["gǔ"],
			["fén"],
			["xiāng"]
		],
		"撮科打閧": [
			["cuō"],
			["kē"],
			["dǎ"],
			["hòng"]
		],
		"撮盐入火": [
			["cuō"],
			["yán"],
			["rù"],
			["huǒ"]
		],
		"撮盐入水": [
			["cuō"],
			["yán"],
			["rù"],
			["shuǐ"]
		],
		"厝火燎原": [
			["cuò"],
			["huǒ"],
			["liǎo"],
			["yuán"]
		],
		"挫骨扬灰": [
			["cuò"],
			["gǔ"],
			["yáng"],
			["huī"]
		],
		"措手不及": [
			["cuò"],
			["shǒu"],
			["bù"],
			["jí"]
		],
		"错别字": [
			["cuò"],
			["bié"],
			["zì"]
		],
		"错落不齐": [
			["cuò"],
			["luò"],
			["bù"],
			["qí"]
		],
		"错节盘根": [
			["cuò"],
			["jié"],
			["pán"],
			["gēn"]
		],
		"错落高下": [
			["cuò"],
			["luò"],
			["gāo"],
			["xià"]
		],
		"错落有致": [
			["cuò"],
			["luò"],
			["yǒu"],
			["zhì"]
		],
		"错综复杂": [
			["cuò"],
			["zōng"],
			["fù"],
			["zá"]
		],
		"搭搭撒撒": [
			["dā"],
			["dā"],
			["sā"],
			["sā"]
		],
		"搭街坊": [
			["dā"],
			["jiē"],
			["fāng"]
		],
		"嗒然若丧": [
			["tà"],
			["rán"],
			["ruò"],
			["sàng"]
		],
		"达地知根": [
			["dá"],
			["dì"],
			["zhī"],
			["gēn"]
		],
		"达官贵要": [
			["dá"],
			["guān"],
			["guì"],
			["yào"]
		],
		"达官要人": [
			["dá"],
			["guān"],
			["yào"],
			["rén"]
		],
		"达官知命": [
			["dá"],
			["guān"],
			["zhī"],
			["mìng"]
		],
		"达赖喇嘛": [
			["dá"],
			["lài"],
			["lǎ"],
			["ma"]
		],
		"达姆弹": [
			["dá"],
			["mǔ"],
			["dàn"]
		],
		"达权知变": [
			["dá"],
			["quán"],
			["zhī"],
			["biàn"]
		],
		"达人知命": [
			["dá"],
			["rén"],
			["zhī"],
			["mìng"]
		],
		"达斡尔族": [
			["dá"],
			["wò"],
			["ěr"],
			["zú"]
		],
		"沓来麕至": [
			["tà"],
			["lái"],
			["yǒu"],
			["zhì"]
		],
		"沓来踵至": [
			["tǎ"],
			["lái"],
			["zhǒng"],
			["zhì"]
		],
		"沓冈复岭": [
			["tà"],
			["gāng"],
			["fù"],
			["lǐng"]
		],
		"答茬儿": [
			["dá"],
			["chá"],
			["ér"]
		],
		"打把式": [
			["dǎ"],
			["bǎ"],
			["shì"]
		],
		"答非所问": [
			["dá"],
			["fēi"],
			["suǒ"],
			["wèn"]
		],
		"打把势": [
			["dǎ"],
			["bǎ"],
			["shì"]
		],
		"打靶场": [
			["dǎ"],
			["bǎ"],
			["chǎng"]
		],
		"打摆子": [
			["dǎ"],
			["bǎi"],
			["zǐ"]
		],
		"打板子": [
			["dǎ"],
			["bǎn"],
			["zi"]
		],
		"打包票": [
			["dǎ"],
			["bāo"],
			["piào"]
		],
		"打抱不平": [
			["dǎ"],
			["bào"],
			["bù"],
			["píng"]
		],
		"打边鼓": [
			["dǎ"],
			["biān"],
			["gǔ"]
		],
		"打不住": [
			["dǎ"],
			["bú"],
			["zhù"]
		],
		"打草惊蛇": [
			["dǎ"],
			["cǎo"],
			["jīng"],
			["shé"]
		],
		"打赤膊": [
			["dǎ"],
			["chì"],
			["bó"]
		],
		"打草蛇惊": [
			["dǎ"],
			["cǎo"],
			["shé"],
			["jīng"]
		],
		"打成一片": [
			["dǎ"],
			["chéng"],
			["yī"],
			["piàn"]
		],
		"打冲锋": [
			["dǎ"],
			["chōng"],
			["fēng"]
		],
		"打得火热": [
			["dǎ"],
			["dé"],
			["huǒ"],
			["rè"]
		],
		"打灯谜": [
			["dǎ"],
			["dēng"],
			["mí"]
		],
		"打底子": [
			["dǎ"],
			["dǐ"],
			["zi"]
		],
		"打电话": [
			["dǎ"],
			["diàn"],
			["huà"]
		],
		"打电报": [
			["dǎ"],
			["diàn"],
			["bào"]
		],
		"打短工": [
			["dǎ"],
			["duǎn"],
			["gōng"]
		],
		"打趸儿": [
			["dǎ"],
			["dǔn"],
			["ér"]
		],
		"打哆嗦": [
			["dǎ"],
			["duō"],
			["suo"]
		],
		"打耳光": [
			["dǎ"],
			["ěr"],
			["guāng"]
		],
		"打翻身仗": [
			["dǎ"],
			["fān"],
			["shēn"],
			["zhàng"]
		],
		"打凤捞龙": [
			["dǎ"],
			["fèng"],
			["lāo"],
			["lóng"]
		],
		"打凤牢龙": [
			["dǎ"],
			["fèng"],
			["láo"],
			["lóng"]
		],
		"打富济贫": [
			["dǎ"],
			["fù"],
			["jì"],
			["pín"]
		],
		"打工妹": [
			["dǎ"],
			["gōng"],
			["mèi"]
		],
		"打工仔": [
			["dǎ"],
			["gōng"],
			["zǎi"]
		],
		"打恭作揖": [
			["dǎ"],
			["gōng"],
			["zuò"],
			["yī"]
		],
		"打躬作揖": [
			["dǎ"],
			["gōng"],
			["zuō"],
			["yī"]
		],
		"打拱作揖": [
			["dǎ"],
			["gǒng"],
			["zuò"],
			["yī"]
		],
		"打狗看主": [
			["dǎ"],
			["gǒu"],
			["kàn"],
			["zhǔ"]
		],
		"打官腔": [
			["dǎ"],
			["guān"],
			["qiāng"]
		],
		"打谷场": [
			["dǎ"],
			["gǔ"],
			["chǎng"]
		],
		"打官司": [
			["dǎ"],
			["guān"],
			["sī"]
		],
		"打光棍": [
			["dǎ"],
			["guāng"],
			["gùn"]
		],
		"打滚撒泼": [
			["dǎ"],
			["gǔn"],
			["sā"],
			["pō"]
		],
		"打棍子": [
			["dǎ"],
			["gùn"],
			["zi"]
		],
		"打哈哈": [
			["dǎ"],
			["hā"],
			["hā"]
		],
		"打寒战": [
			["dǎ"],
			["hán"],
			["zhàn"]
		],
		"打呼噜": [
			["dǎ"],
			["hū"],
			["lū"]
		],
		"打虎牢龙": [
			["dǎ"],
			["hǔ"],
			["láo"],
			["lóng"]
		],
		"打呵欠": [
			["dǎ"],
			["hē"],
			["qiàn"]
		],
		"打诨插科": [
			["dǎ"],
			["hùn"],
			["chā"],
			["kē"]
		],
		"打火机": [
			["dǎ"],
			["huǒ"],
			["jī"]
		],
		"打击报复": [
			["dǎ"],
			["jī"],
			["bào"],
			["fù"]
		],
		"打击乐器": [
			["dǎ"],
			["jī"],
			["yuè"],
			["qì"]
		],
		"打鸡骂狗": [
			["dǎ"],
			["jī"],
			["mà"],
			["gǒu"]
		],
		"打基础": [
			["dǎ"],
			["jī"],
			["chǔ"]
		],
		"打家劫舍": [
			["dǎ"],
			["jiā"],
			["jié"],
			["shè"]
		],
		"打家截道": [
			["dǎ"],
			["jiā"],
			["jié"],
			["dào"]
		],
		"打家截舍": [
			["dǎ"],
			["jiā"],
			["jié"],
			["shě"]
		],
		"打交道": [
			["dǎ"],
			["jiāo"],
			["dào"]
		],
		"打街骂巷": [
			["dǎ"],
			["jiē"],
			["mà"],
			["xiàng"]
		],
		"打瞌睡": [
			["dǎ"],
			["kē"],
			["shuì"]
		],
		"打开天窗说亮话": [
			["dǎ"],
			["kāi"],
			["tiān"],
			["chuāng"],
			["shuō"],
			["liàng"],
			["huà"]
		],
		"打擂台": [
			["dǎ"],
			["lèi"],
			["tái"]
		],
		"打冷枪": [
			["dǎ"],
			["lěng"],
			["qiāng"]
		],
		"打冷战": [
			["dǎ"],
			["lěng"],
			["zhàn"]
		],
		"打落水狗": [
			["dǎ"],
			["luò"],
			["shuǐ"],
			["gǒu"]
		],
		"打马虎眼": [
			["dǎ"],
			["mǎ"],
			["hu"],
			["yǎn"]
		],
		"打埋伏": [
			["dǎ"],
			["mái"],
			["fú"]
		],
		"打毛衣": [
			["dǎ"],
			["máo"],
			["yī"]
		],
		"打闷葫芦": [
			["dǎ"],
			["mèn"],
			["hú"],
			["lu"]
		],
		"打鸣儿": [
			["dǎ"],
			["míng"],
			["ér"]
		],
		"打拍子": [
			["dǎ"],
			["pāi"],
			["zi"]
		],
		"打喷嚏": [
			["dǎ"],
			["pēn"],
			["tì"]
		],
		"打破常规": [
			["dǎ"],
			["pò"],
			["cháng"],
			["guī"]
		],
		"打破迷关": [
			["dǎ"],
			["pò"],
			["mí"],
			["guān"]
		],
		"打破砂锅问到底": [
			["dǎ"],
			["pò"],
			["shā"],
			["guō"],
			["wèn"],
			["dào"],
			["dǐ"]
		],
		"打破沙锅问到底": [
			["dǎ"],
			["pò"],
			["shā"],
			["guō"],
			["wèn"],
			["dào"],
			["dǐ"]
		],
		"打前站": [
			["dǎ"],
			["qián"],
			["zhàn"]
		],
		"打情骂俏": [
			["dǎ"],
			["qíng"],
			["mà"],
			["qiào"]
		],
		"打情骂趣": [
			["dǎ"],
			["qíng"],
			["mà"],
			["qù"]
		],
		"打情卖笑": [
			["dǎ"],
			["qíng"],
			["mài"],
			["xiào"]
		],
		"打秋风": [
			["dǎ"],
			["qiū"],
			["fēng"]
		],
		"打圈子": [
			["dǎ"],
			["quān"],
			["zi"]
		],
		"打群架": [
			["dǎ"],
			["qún"],
			["jià"]
		],
		"打人骂狗": [
			["dǎ"],
			["rén"],
			["mà"],
			["gǒu"]
		],
		"打入冷宫": [
			["dǎ"],
			["rù"],
			["lěng"],
			["gōng"]
		],
		"打蛇打七寸": [
			["dǎ"],
			["shé"],
			["dǎ"],
			["qī"],
			["cùn"]
		],
		"打手式": [
			["dǎ"],
			["shǒu"],
			["shì"]
		],
		"打手势": [
			["dǎ"],
			["shǒu"],
			["shì"]
		],
		"打死虎": [
			["dǎ"],
			["sǐ"],
			["hǔ"]
		],
		"打算盘": [
			["dǎ"],
			["suàn"],
			["pán"]
		],
		"打天下": [
			["dǎ"],
			["tiān"],
			["xià"]
		],
		"打铁趁热": [
			["dǎ"],
			["tiě"],
			["chèn"],
			["rè"]
		],
		"打挺儿": [
			["dǎ"],
			["tǐng"],
			["ér"]
		],
		"打通关": [
			["dǎ"],
			["tōng"],
			["guān"]
		],
		"打头炮": [
			["dǎ"],
			["tóu"],
			["pào"]
		],
		"打头风": [
			["dǎ"],
			["tóu"],
			["fēng"]
		],
		"打头阵": [
			["dǎ"],
			["tóu"],
			["zhèn"]
		],
		"打退堂鼓": [
			["dǎ"],
			["tuì"],
			["táng"],
			["gǔ"]
		],
		"打问号": [
			["dǎ"],
			["wèn"],
			["hào"]
		],
		"打先锋": [
			["dǎ"],
			["xiān"],
			["fēng"]
		],
		"打下手": [
			["dǎ"],
			["xià"],
			["shǒu"]
		],
		"打小报告": [
			["dǎ"],
			["xiǎo"],
			["bào"],
			["gào"]
		],
		"打鸭惊鸳": [
			["dǎ"],
			["yā"],
			["jīng"],
			["yuān"]
		],
		"打小算盘": [
			["dǎ"],
			["xiǎo"],
			["suàn"],
			["pán"]
		],
		"打雪仗": [
			["dǎ"],
			["xuě"],
			["zhàng"]
		],
		"打鸭惊鸳鸯": [
			["dǎ"],
			["yā"],
			["jīng"],
			["yuān"],
			["yāng"]
		],
		"打牙犯嘴": [
			["dǎ"],
			["yá"],
			["fàn"],
			["zuǐ"]
		],
		"打鸭子上架": [
			["dǎ"],
			["yā"],
			["zi"],
			["shàng"],
			["jià"]
		],
		"打牙祭": [
			["dǎ"],
			["yá"],
			["jì"]
		],
		"打牙配嘴": [
			["dǎ"],
			["yá"],
			["pèi"],
			["zuǐ"]
		],
		"打蔫儿": [
			["dǎ"],
			["niān"],
			["ér"]
		],
		"打掩护": [
			["dǎ"],
			["yǎn"],
			["hù"]
		],
		"打印机": [
			["dǎ"],
			["yìn"],
			["jī"]
		],
		"打油诗": [
			["dǎ"],
			["yóu"],
			["shī"]
		],
		"打游击": [
			["dǎ"],
			["yóu"],
			["jī"]
		],
		"打圆场": [
			["dǎ"],
			["yuán"],
			["chǎng"]
		],
		"打砸抢": [
			["dǎ"],
			["zá"],
			["qiǎng"]
		],
		"打招呼": [
			["dǎ"],
			["zhāo"],
			["hū"]
		],
		"打折扣": [
			["dǎ"],
			["zhé"],
			["kòu"]
		],
		"打肿脸充胖子": [
			["dǎ"],
			["zhǒng"],
			["liǎn"],
			["chōng"],
			["pàng"],
			["zī"]
		],
		"打主意": [
			["dǎ"],
			["zhǔ"],
			["yì"]
		],
		"打桩机": [
			["dǎ"],
			["zhuāng"],
			["jī"]
		],
		"打桩船": [
			["dǎ"],
			["zhuāng"],
			["chuán"]
		],
		"打字机": [
			["dǎ"],
			["zì"],
			["jī"]
		],
		"打嘴仗": [
			["dǎ"],
			["zuǐ"],
			["zhàng"]
		],
		"大白菜": [
			["dà"],
			["bái"],
			["cài"]
		],
		"大白话": [
			["dà"],
			["bái"],
			["huà"]
		],
		"大白鼠": [
			["dà"],
			["bái"],
			["shǔ"]
		],
		"大败亏轮": [
			["dà"],
			["bài"],
			["kuī"],
			["lún"]
		],
		"大败亏输": [
			["dà"],
			["bài"],
			["kuī"],
			["shū"]
		],
		"大板车": [
			["dà"],
			["bǎn"],
			["chē"]
		],
		"大半天": [
			["dà"],
			["bàn"],
			["tiān"]
		],
		"大包大揽": [
			["dà"],
			["bāo"],
			["dà"],
			["lǎn"]
		],
		"大包干": [
			["dà"],
			["bāo"],
			["gān"]
		],
		"大堡礁": [
			["dà"],
			["pù"],
			["jiāo"]
		],
		"大本大宗": [
			["dà"],
			["běn"],
			["dà"],
			["zōng"]
		],
		"大本营": [
			["dà"],
			["běn"],
			["yíng"]
		],
		"大笔如椽": [
			["dà"],
			["bǐ"],
			["rú"],
			["chuán"]
		],
		"大辩不言": [
			["dà"],
			["biàn"],
			["bù"],
			["yán"]
		],
		"大辩若讷": [
			["dà"],
			["biàn"],
			["ruò"],
			["nè"]
		],
		"大别山": [
			["dà"],
			["bié"],
			["shān"]
		],
		"大脖子病": [
			["dà"],
			["bó"],
			["zi"],
			["bìng"]
		],
		"大伯子": [
			["dà"],
			["bǎi"],
			["zǐ"]
		],
		"大不敬": [
			["dà"],
			["bù"],
			["jìng"]
		],
		"大不了": [
			["dà"],
			["bù"],
			["liǎo"]
		],
		"大步流星": [
			["dǎ"],
			["bù"],
			["liú"],
			["xīng"]
		],
		"大部分": [
			["dà"],
			["bù"],
			["fèn"]
		],
		"大部头": [
			["dà"],
			["bù"],
			["tóu"]
		],
		"大才榱盘": [
			["dà"],
			["cái"],
			["cuī"],
			["pán"]
		],
		"大才榱槃": [
			["dà"],
			["cái"],
			["cuī"],
			["pán"]
		],
		"大才盘盘": [
			["dà"],
			["cái"],
			["pán"],
			["pán"]
		],
		"大才槃槃": [
			["dà"],
			["cái"],
			["pán"],
			["pán"]
		],
		"大材小用": [
			["dà"],
			["cái"],
			["xiǎo"],
			["yòng"]
		],
		"大藏经": [
			["dà"],
			["zàng"],
			["jīng"]
		],
		"大肠杆菌": [
			["dà"],
			["cháng"],
			["gǎn"],
			["jūn"]
		],
		"大吵大闹": [
			["dà"],
			["chǎo"],
			["dà"],
			["nào"]
		],
		"大车以载": [
			["dà"],
			["chē"],
			["yǐ"],
			["zài"]
		],
		"大澈大悟": [
			["dà"],
			["chè"],
			["dà"],
			["wù"]
		],
		"大彻大悟": [
			["dà"],
			["chè"],
			["dà"],
			["wù"]
		],
		"大城市": [
			["dài"],
			["chéng"],
			["shì"]
		],
		"大吃大喝": [
			["dà"],
			["chī"],
			["dà"],
			["hè"]
		],
		"大吃一惊": [
			["dà"],
			["chī"],
			["yī"],
			["jīng"]
		],
		"大处着墨": [
			["dà"],
			["chù"],
			["zhuó"],
			["mò"]
		],
		"大处落墨": [
			["dà"],
			["chù"],
			["luò"],
			["mò"]
		],
		"大出血": [
			["dà"],
			["chū"],
			["xuè"]
		],
		"大处着眼": [
			["dà"],
			["chù"],
			["zhuó"],
			["yǎn"]
		],
		"大吹大打": [
			["dà"],
			["chuī"],
			["dà"],
			["dǎ"]
		],
		"大吹大擂": [
			["dà"],
			["chuī"],
			["dà"],
			["léi"]
		],
		"大吹法螺": [
			["dà"],
			["chuī"],
			["fǎ"],
			["luó"]
		],
		"大醇小疵": [
			["dà"],
			["chún"],
			["xiǎo"],
			["cī"]
		],
		"大慈大悲": [
			["dà"],
			["cí"],
			["dà"],
			["bēi"]
		],
		"大错特错": [
			["dà"],
			["cuò"],
			["tè"],
			["cuò"]
		],
		"大打出手": [
			["dà"],
			["dǎ"],
			["chū"],
			["shǒu"]
		],
		"大大咧咧": [
			["dà"],
			["dà"],
			["liē"],
			["liē"]
		],
		"大大落落": [
			["dà"],
			["dà"],
			["luò"],
			["luò"]
		],
		"大胆包身": [
			["dà"],
			["dǎn"],
			["bāo"],
			["shēn"]
		],
		"大刀阔斧": [
			["dà"],
			["dāo"],
			["kuò"],
			["fǔ"]
		],
		"大道理": [
			["dà"],
			["dào"],
			["lǐ"]
		],
		"大得人心": [
			["dà"],
			["dé"],
			["rén"],
			["xīn"]
		],
		"大敌当前": [
			["dà"],
			["dí"],
			["dāng"],
			["qián"]
		],
		"大地测量": [
			["dà"],
			["dì"],
			["cè"],
			["liáng"]
		],
		"大地回春": [
			["dà"],
			["dì"],
			["huí"],
			["chūn"]
		],
		"大地春回": [
			["dà"],
			["dì"],
			["chūn"],
			["huí"]
		],
		"大动肝火": [
			["dà"],
			["dòng"],
			["gān"],
			["huǒ"]
		],
		"大动干戈": [
			["dà"],
			["dòng"],
			["gān"],
			["gē"]
		],
		"大动公惯": [
			["dà"],
			["dòng"],
			["gōng"],
			["guàn"]
		],
		"大动脉": [
			["dà"],
			["dòng"],
			["mài"]
		],
		"大动作": [
			["dà"],
			["dòng"],
			["zuò"]
		],
		"大都会": [
			["dà"],
			["dū"],
			["huì"]
		],
		"大独裁者": [
			["dà"],
			["dú"],
			["cái"],
			["zhě"]
		],
		"大度包容": [
			["dà"],
			["dù"],
			["bāo"],
			["róng"]
		],
		"大肚子": [
			["dà"],
			["dǔ"],
			["zi"]
		],
		"大渡河": [
			["dà"],
			["dù"],
			["hé"]
		],
		"大恩大德": [
			["dà"],
			["ēn"],
			["dà"],
			["dé"]
		],
		"大多数": [
			["dà"],
			["duō"],
			["shù"]
		],
		"大而化之": [
			["dà"],
			["ér"],
			["huà"],
			["zhī"]
		],
		"大发慈悲": [
			["dà"],
			["fā"],
			["cí"],
			["bēi"]
		],
		"大而无当": [
			["dà"],
			["ér"],
			["wú"],
			["dàng"]
		],
		"大发雷霆": [
			["dà"],
			["fā"],
			["léi"],
			["tíng"]
		],
		"大发议论": [
			["dà"],
			["fā"],
			["yì"],
			["lùn"]
		],
		"大发谬论": [
			["dà"],
			["fā"],
			["miù"],
			["lùn"]
		],
		"大法小廉": [
			["dà"],
			["fǎ"],
			["xiǎo"],
			["lián"]
		],
		"大方向": [
			["dà"],
			["fāng"],
			["xiàng"]
		],
		"大方之家": [
			["dà"],
			["fāng"],
			["zhī"],
			["jiā"]
		],
		"大放悲声": [
			["dà"],
			["fàng"],
			["bēi"],
			["shēng"]
		],
		"大放厥词": [
			["dà"],
			["fàng"],
			["jué"],
			["cí"]
		],
		"大放厥辞": [
			["dà"],
			["fàng"],
			["jué"],
			["cí"]
		],
		"大风大浪": [
			["dà"],
			["fēng"],
			["dà"],
			["làng"]
		],
		"大风歌": [
			["dà"],
			["fēng"],
			["gē"]
		],
		"大腹便便": [
			["dà"],
			["fù"],
			["pián"],
			["pián"]
		],
		"大概其": [
			["dà"],
			["gài"],
			["qí"]
		],
		"大哥大": [
			["dà"],
			["gē"],
			["dà"]
		],
		"大革命": [
			["dà"],
			["gé"],
			["mìng"]
		],
		"大工告成": [
			["dà"],
			["gōng"],
			["gào"],
			["chéng"]
		],
		"大个子": [
			["dà"],
			["gè"],
			["zi"]
		],
		"大公报": [
			["dà"],
			["gōng"],
			["bào"]
		],
		"大公无私": [
			["dà"],
			["gōng"],
			["wú"],
			["sī"]
		],
		"大功毕成": [
			["dà"],
			["gōng"],
			["bì"],
			["chéng"]
		],
		"大功告成": [
			["dà"],
			["gōng"],
			["gào"],
			["chéng"]
		],
		"大姑娘": [
			["dà"],
			["gū"],
			["niáng"]
		],
		"大姑子": [
			["dà"],
			["gū"],
			["zǐ"]
		],
		"大骨节病": [
			["dà"],
			["gǔ"],
			["jié"],
			["bìng"]
		],
		"大海捞针": [
			["dà"],
			["hǎi"],
			["lāo"],
			["zhēn"]
		],
		"大锅饭": [
			["dà"],
			["guō"],
			["fàn"]
		],
		"大含细入": [
			["dà"],
			["hán"],
			["xì"],
			["rù"]
		],
		"大寒索裘": [
			["dà"],
			["hán"],
			["suǒ"],
			["qiú"]
		],
		"大喊大叫": [
			["dà"],
			["hǎn"],
			["dà"],
			["jiào"]
		],
		"大汉族主义": [
			["dà"],
			["hàn"],
			["zú"],
			["zhǔ"],
			["yì"]
		],
		"大旱望云霓": [
			["dà"],
			["hàn"],
			["wàng"],
			["yún"],
			["ní"]
		],
		"大旱望云": [
			["dà"],
			["hàn"],
			["wàng"],
			["yún"]
		],
		"大好河山": [
			["dà"],
			["hǎo"],
			["hé"],
			["shān"]
		],
		"大合唱": [
			["dà"],
			["hé"],
			["chàng"]
		],
		"大轰大嗡": [
			["dà"],
			["hōng"],
			["dà"],
			["wēng"]
		],
		"大红大绿": [
			["dà"],
			["hóng"],
			["dà"],
			["lǜ"]
		],
		"大红大紫": [
			["dà"],
			["hóng"],
			["dà"],
			["zǐ"]
		],
		"大后方": [
			["dà"],
			["hòu"],
			["fāng"]
		],
		"大后天": [
			["dà"],
			["hòu"],
			["tiān"]
		],
		"大后年": [
			["dà"],
			["hòu"],
			["nián"]
		],
		"大呼隆": [
			["dà"],
			["hū"],
			["lóng"]
		],
		"大呼小喝": [
			["dà"],
			["hū"],
			["xiǎo"],
			["hē"]
		],
		"大呼小叫": [
			["dà"],
			["hū"],
			["xiǎo"],
			["jiào"]
		],
		"大花脸": [
			["dà"],
			["huā"],
			["liǎn"]
		],
		"大换血": [
			["dà"],
			["huàn"],
			["xuè"]
		],
		"大黄鱼": [
			["dài"],
			["huáng"],
			["yú"]
		],
		"大茴香": [
			["dà"],
			["huí"],
			["xiāng"]
		],
		"大获全胜": [
			["dà"],
			["huò"],
			["quán"],
			["shèng"]
		],
		"大惑不解": [
			["dà"],
			["huò"],
			["bù"],
			["jiě"]
		],
		"大吉大利": [
			["dà"],
			["jí"],
			["dà"],
			["lì"]
		],
		"大计小用": [
			["dà"],
			["jì"],
			["xiǎo"],
			["yòng"]
		],
		"大家风范": [
			["dà"],
			["jiā"],
			["fēng"],
			["fàn"]
		],
		"大家伙": [
			["dà"],
			["jiā"],
			["huo"]
		],
		"大家闺秀": [
			["dà"],
			["jiā"],
			["guī"],
			["xiù"]
		],
		"大家庭": [
			["dà"],
			["jiā"],
			["tíng"]
		],
		"大江东去": [
			["dà"],
			["jiāng"],
			["dōng"],
			["qù"]
		],
		"大渐弥留": [
			["dà"],
			["jiàn"],
			["mí"],
			["liú"]
		],
		"大江南北": [
			["dà"],
			["jiāng"],
			["nán"],
			["běi"]
		],
		"大将军": [
			["dà"],
			["jiàng"],
			["jūn"]
		],
		"大匠运斤": [
			["dà"],
			["jiàng"],
			["yùn"],
			["jīn"]
		],
		"大教堂": [
			["dà"],
			["jiào"],
			["táng"]
		],
		"大街小巷": [
			["dà"],
			["jiē"],
			["xiǎo"],
			["xiàng"]
		],
		"大节不夺": [
			["dà"],
			["jié"],
			["bù"],
			["duó"]
		],
		"大经大法": [
			["dà"],
			["jīng"],
			["dà"],
			["fǎ"]
		],
		"大惊失色": [
			["dà"],
			["jīng"],
			["shī"],
			["sè"]
		],
		"大惊小怪": [
			["dà"],
			["jīng"],
			["xiǎo"],
			["guài"]
		],
		"大舅子": [
			["dà"],
			["jiù"],
			["zǐ"]
		],
		"大开大合": [
			["dà"],
			["kāi"],
			["dà"],
			["hé"]
		],
		"大开方便之门": [
			["dà"],
			["kāi"],
			["fāng"],
			["biàn"],
			["zhī"],
			["mén"]
		],
		"大开眼界": [
			["dà"],
			["kāi"],
			["yǎn"],
			["jiè"]
		],
		"大客车": [
			["dà"],
			["kè"],
			["chē"]
		],
		"大块头": [
			["dà"],
			["kuài"],
			["tóu"]
		],
		"大块文章": [
			["dà"],
			["kuài"],
			["wén"],
			["zhāng"]
		],
		"大快人心": [
			["dà"],
			["kuài"],
			["rén"],
			["xīn"]
		],
		"大浪淘沙": [
			["dà"],
			["làng"],
			["táo"],
			["shā"]
		],
		"大老粗": [
			["dà"],
			["lǎo"],
			["cū"]
		],
		"大老婆": [
			["dà"],
			["lǎo"],
			["pó"]
		],
		"大老爷们儿": [
			["dà"],
			["lǎo"],
			["yé"],
			["men"],
			["ér"]
		],
		"大老远": [
			["dà"],
			["lǎo"],
			["yuǎn"]
		],
		"大礼拜": [
			["dà"],
			["lǐ"],
			["bài"]
		],
		"大礼服": [
			["dà"],
			["lǐ"],
			["fú"]
		],
		"大礼堂": [
			["dà"],
			["lǐ"],
			["táng"]
		],
		"大理石": [
			["dà"],
			["lǐ"],
			["shí"]
		],
		"大理市": [
			["dà"],
			["lǐ"],
			["shì"]
		],
		"大理寺": [
			["dà"],
			["lǐ"],
			["sì"]
		],
		"大力士": [
			["dà"],
			["lì"],
			["shì"]
		],
		"大丽花": [
			["dà"],
			["lì"],
			["huā"]
		],
		"大连理工大学": [
			["dà"],
			["lián"],
			["lǐ"],
			["gōng"],
			["dà"],
			["xué"]
		],
		"大连市": [
			["dà"],
			["lián"],
			["shì"]
		],
		"大陆架": [
			["dà"],
			["lù"],
			["jià"]
		],
		"大陆坡": [
			["dà"],
			["lù"],
			["pō"]
		],
		"大辂椎轮": [
			["dà"],
			["lù"],
			["zhuī"],
			["lún"]
		],
		"大陆性气候": [
			["dà"],
			["lù"],
			["xìng"],
			["qì"],
			["hòu"]
		],
		"大路活": [
			["dà"],
			["lù"],
			["huó"]
		],
		"大路椎轮": [
			["dà"],
			["lù"],
			["zhuī"],
			["lún"]
		],
		"大路货": [
			["dà"],
			["lù"],
			["huò"]
		],
		"大麻哈鱼": [
			["dà"],
			["má"],
			["hā"],
			["yú"]
		],
		"大马哈鱼": [
			["dà"],
			["mǎ"],
			["hā"],
			["yú"]
		],
		"大马金刀": [
			["dà"],
			["mǎ"],
			["jīn"],
			["dāo"]
		],
		"大马士革": [
			["dà"],
			["mǎ"],
			["shì"],
			["gé"]
		],
		"大帽子": [
			["dà"],
			["mào"],
			["zi"]
		],
		"大梦方醒": [
			["dà"],
			["mèng"],
			["fāng"],
			["xǐng"]
		],
		"大梦初醒": [
			["dà"],
			["mèng"],
			["chū"],
			["xǐng"]
		],
		"大名鼎鼎": [
			["dà"],
			["míng"],
			["dǐng"],
			["dǐng"]
		],
		"大名难居": [
			["dà"],
			["míng"],
			["nán"],
			["jū"]
		],
		"大明法度": [
			["dà"],
			["jíng"],
			["fǎ"],
			["dù"]
		],
		"大谬不然": [
			["dà"],
			["miù"],
			["bù"],
			["rán"]
		],
		"大缪不然": [
			["dà"],
			["miù"],
			["bù"],
			["rán"]
		],
		"大模大样": [
			["dà"],
			["mó"],
			["dà"],
			["yàng"]
		],
		"大莫与京": [
			["dà"],
			["mò"],
			["yǔ"],
			["jīng"]
		],
		"大谋不谋": [
			["dà"],
			["móu"],
			["bù"],
			["móu"]
		],
		"大拇哥": [
			["dà"],
			["mǔ"],
			["gē"]
		],
		"大拇指": [
			["dà"],
			["mǔ"],
			["zhǐ"]
		],
		"大男大女": [
			["dà"],
			["nán"],
			["dà"],
			["nǚ"]
		],
		"大难不死": [
			["dà"],
			["nàn"],
			["bù"],
			["sǐ"]
		],
		"大难临头": [
			["dà"],
			["nàn"],
			["lín"],
			["tóu"]
		],
		"大脑皮层": [
			["dà"],
			["nǎo"],
			["pí"],
			["céng"]
		],
		"大脑皮质": [
			["dà"],
			["nǎo"],
			["pí"],
			["zhì"]
		],
		"大脑炎": [
			["dà"],
			["nǎo"],
			["yán"]
		],
		"大逆不道": [
			["dà"],
			["nì"],
			["bù"],
			["dào"]
		],
		"大逆无道": [
			["dà"],
			["nì"],
			["wú"],
			["dào"]
		],
		"大年初一": [
			["dà"],
			["nián"],
			["chū"],
			["yī"]
		],
		"大年三十": [
			["dà"],
			["nián"],
			["sān"],
			["shí"]
		],
		"大年夜": [
			["dà"],
			["nián"],
			["yè"]
		],
		"大璞不完": [
			["tài"],
			["bú"],
			["bù"],
			["wán"]
		],
		"大气磅礴": [
			["dà"],
			["qì"],
			["páng"],
			["bó"]
		],
		"大起大落": [
			["dà"],
			["qǐ"],
			["dà"],
			["luò"]
		],
		"大气层": [
			["dà"],
			["qì"],
			["céng"]
		],
		"大气圈": [
			["dà"],
			["qì"],
			["quān"]
		],
		"大气污染": [
			["dà"],
			["qì"],
			["wū"],
			["rǎn"]
		],
		"大气压": [
			["dà"],
			["qì"],
			["yā"]
		],
		"大器晚成": [
			["dà"],
			["qì"],
			["wǎn"],
			["chéng"]
		],
		"大千世界": [
			["dà"],
			["qiān"],
			["shì"],
			["jiè"]
		],
		"大前年": [
			["dà"],
			["qián"],
			["nián"]
		],
		"大前提": [
			["dà"],
			["qián"],
			["tí"]
		],
		"大前天": [
			["dà"],
			["qián"],
			["tiān"]
		],
		"大巧若拙": [
			["dà"],
			["qiǎo"],
			["ruò"],
			["zhuō"]
		],
		"大清早": [
			["dà"],
			["qīng"],
			["zǎo"]
		],
		"大晴天": [
			["dà"],
			["qíng"],
			["tiān"]
		],
		"大请大受": [
			["dà"],
			["qǐng"],
			["dà"],
			["shòu"]
		],
		"大庆市": [
			["dà"],
			["qìng"],
			["shì"]
		],
		"大庆油田": [
			["dà"],
			["qìng"],
			["yóu"],
			["tián"]
		],
		"大秋作物": [
			["dà"],
			["qiū"],
			["zuò"],
			["wù"]
		],
		"大权独揽": [
			["dà"],
			["quán"],
			["dú"],
			["lǎn"]
		],
		"大权旁落": [
			["dà"],
			["quán"],
			["páng"],
			["luò"]
		],
		"大权在握": [
			["dà"],
			["quán"],
			["zài"],
			["wò"]
		],
		"大人物": [
			["dà"],
			["rén"],
			["wù"]
		],
		"大人先生": [
			["dà"],
			["rén"],
			["xiān"],
			["sheng"]
		],
		"大仁大义": [
			["dà"],
			["rén"],
			["dà"],
			["yì"]
		],
		"大扫除": [
			["dà"],
			["sǎo"],
			["chú"]
		],
		"大嫂子": [
			["dà"],
			["sǎo"],
			["zi"]
		],
		"大杀风景": [
			["dà"],
			["shā"],
			["fēng"],
			["jǐng"]
		],
		"大煞风景": [
			["dà"],
			["shā"],
			["fēng"],
			["jǐng"]
		],
		"大煞风趣": [
			["dà"],
			["shà"],
			["fēng"],
			["qù"]
		],
		"大少爷": [
			["dà"],
			["shào"],
			["yé"]
		],
		"大舌头": [
			["dà"],
			["shé"],
			["tou"]
		],
		"大婶儿": [
			["dà"],
			["shěn"],
			["ér"]
		],
		"大声疾呼": [
			["dà"],
			["shēng"],
			["jí"],
			["hū"]
		],
		"大牲畜": [
			["dà"],
			["shēng"],
			["chù"]
		],
		"大失人望": [
			["dà"],
			["shī"],
			["rén"],
			["wàng"]
		],
		"大失所望": [
			["dà"],
			["shī"],
			["suǒ"],
			["wàng"]
		],
		"大师傅": [
			["dà"],
			["shī"],
			["fū"]
		],
		"大使馆": [
			["dà"],
			["shǐ"],
			["guǎn"]
		],
		"大世界": [
			["dà"],
			["shì"],
			["jiè"]
		],
		"大事不糊涂": [
			["dà"],
			["shì"],
			["bù"],
			["hú"],
			["tú"]
		],
		"大事记": [
			["dà"],
			["shì"],
			["jì"]
		],
		"大事铺张": [
			["dà"],
			["shì"],
			["pū"],
			["zhāng"]
		],
		"大事去矣": [
			["dà"],
			["shì"],
			["qù"],
			["yǐ"]
		],
		"大势所趋": [
			["dà"],
			["shì"],
			["suǒ"],
			["qū"]
		],
		"大势已去": [
			["dà"],
			["shì"],
			["yǐ"],
			["qù"]
		],
		"大是大非": [
			["dà"],
			["shì"],
			["dà"],
			["fēi"]
		],
		"大手笔": [
			["dà"],
			["shǒu"],
			["bǐ"]
		],
		"大手大脚": [
			["dà"],
			["shǒu"],
			["dà"],
			["jiǎo"]
		],
		"大手术": [
			["dà"],
			["shǒu"],
			["shù"]
		],
		"大书特书": [
			["dà"],
			["shū"],
			["tè"],
			["shū"]
		],
		"大树将军": [
			["dà"],
			["shù"],
			["jiāng"],
			["jūn"]
		],
		"大司马": [
			["dà"],
			["sī"],
			["mǎ"]
		],
		"大肆挥霍": [
			["dà"],
			["sì"],
			["huī"],
			["huò"]
		],
		"大肆宣传": [
			["dà"],
			["sì"],
			["xuān"],
			["chuán"]
		],
		"大肆厥辞": [
			["dà"],
			["sì"],
			["jué"],
			["cí"]
		],
		"大踏步": [
			["dà"],
			["tà"],
			["bù"]
		],
		"大提琴": [
			["dà"],
			["tí"],
			["qín"]
		],
		"大题小作": [
			["dà"],
			["tí"],
			["xiǎo"],
			["zuò"]
		],
		"大题小做": [
			["dà"],
			["tí"],
			["xiǎo"],
			["zuò"]
		],
		"大天白日": [
			["dà"],
			["tiān"],
			["bái"],
			["rì"]
		],
		"大田作物": [
			["dà"],
			["tián"],
			["zuò"],
			["wù"]
		],
		"大廷广众": [
			["dà"],
			["tíng"],
			["guǎng"],
			["zhòng"]
		],
		"大庭广众": [
			["dà"],
			["tíng"],
			["guǎng"],
			["zhòng"]
		],
		"大同江": [
			["dà"],
			["tóng"],
			["jiāng"]
		],
		"大同市": [
			["dà"],
			["tóng"],
			["shì"]
		],
		"大同小异": [
			["dà"],
			["tóng"],
			["xiǎo"],
			["yì"]
		],
		"大头菜": [
			["dà"],
			["tóu"],
			["cài"]
		],
		"大头小尾": [
			["dà"],
			["tóu"],
			["xiǎo"],
			["wěi"]
		],
		"大头鱼": [
			["dà"],
			["tóu"],
			["yú"]
		],
		"大头针": [
			["dà"],
			["tóu"],
			["zhēn"]
		],
		"大团结": [
			["dà"],
			["tuán"],
			["jié"]
		],
		"大团圆": [
			["dà"],
			["tuán"],
			["yuán"]
		],
		"大碗茶": [
			["dà"],
			["wǎn"],
			["chá"]
		],
		"大五金": [
			["dà"],
			["wǔ"],
			["jīn"]
		],
		"大无畏": [
			["dà"],
			["wú"],
			["wèi"]
		],
		"大西北": [
			["dà"],
			["xī"],
			["běi"]
		],
		"大西洋": [
			["dà"],
			["xī"],
			["yáng"]
		],
		"大喜过望": [
			["dà"],
			["xǐ"],
			["guò"],
			["wàng"]
		],
		"大喜若狂": [
			["dā"],
			["xǐ"],
			["ruò"],
			["kuáng"]
		],
		"大厦栋梁": [
			["dà"],
			["shà"],
			["dòng"],
			["liáng"]
		],
		"大厦将颠": [
			["dà"],
			["shà"],
			["jiāng"],
			["diān"]
		],
		"大显身手": [
			["dà"],
			["xiǎn"],
			["shēn"],
			["shǒu"]
		],
		"大厦将倾": [
			["dà"],
			["shà"],
			["jiāng"],
			["qīng"]
		],
		"大显神通": [
			["dà"],
			["xiǎn"],
			["shén"],
			["tōng"]
		],
		"大相径庭": [
			["dà"],
			["xiāng"],
			["jìng"],
			["tíng"]
		],
		"大相迳庭": [
			["dà"],
			["xiāng"],
			["jìng"],
			["tíng"]
		],
		"大小姐": [
			["dà"],
			["xiǎo"],
			["jiě"]
		],
		"大卸八块": [
			["dà"],
			["xiè"],
			["bā"],
			["kuài"]
		],
		"大兴土木": [
			["dà"],
			["xīng"],
			["tǔ"],
			["mù"]
		],
		"大兴安岭": [
			["dà"],
			["xīng"],
			["ān"],
			["lǐng"]
		],
		"大猩猩": [
			["dà"],
			["xīng"],
			["xīng"]
		],
		"大行大市": [
			["dà"],
			["háng"],
			["dà"],
			["shì"]
		],
		"大行星": [
			["dà"],
			["háng"],
			["xīng"]
		],
		"大雄宝殿": [
			["dà"],
			["xióng"],
			["bǎo"],
			["diàn"]
		],
		"大熊猫": [
			["dà"],
			["xióng"],
			["māo"]
		],
		"大熊座": [
			["dà"],
			["xióng"],
			["zuò"]
		],
		"大学生": [
			["dà"],
			["xué"],
			["shēng"]
		],
		"大学士": [
			["dà"],
			["xué"],
			["shì"]
		],
		"大雪山": [
			["dà"],
			["xuě"],
			["shān"]
		],
		"大雅君子": [
			["dà"],
			["yǎ"],
			["jūn"],
			["zǐ"]
		],
		"大循环": [
			["dà"],
			["xún"],
			["huán"]
		],
		"大雅之堂": [
			["dà"],
			["yǎ"],
			["zhī"],
			["táng"]
		],
		"大烟鬼": [
			["dà"],
			["yān"],
			["guǐ"]
		],
		"大言不惭": [
			["dà"],
			["yán"],
			["bù"],
			["cán"]
		],
		"大眼瞪小眼": [
			["dà"],
			["yǎn"],
			["dèng"],
			["xiǎo"],
			["yǎn"]
		],
		"大眼望小眼": [
			["dà"],
			["yǎn"],
			["wàng"],
			["xiǎo"],
			["yǎn"]
		],
		"大洋洲": [
			["dà"],
			["yáng"],
			["zhōu"]
		],
		"大吆小喝": [
			["dà"],
			["yāo"],
			["xiǎo"],
			["hē"]
		],
		"大摇大摆": [
			["dà"],
			["yáo"],
			["dà"],
			["bǎi"]
		],
		"大一统": [
			["dà"],
			["yī"],
			["tǒng"]
		],
		"大姨子": [
			["dà"],
			["yí"],
			["zǐ"]
		],
		"大义凛然": [
			["dà"],
			["yì"],
			["lǐn"],
			["rán"]
		],
		"大义灭亲": [
			["dà"],
			["yì"],
			["miè"],
			["qīn"]
		],
		"大音希声": [
			["dà"],
			["yīn"],
			["xī"],
			["shēng"]
		],
		"大勇若怯": [
			["dà"],
			["yǒng"],
			["ruò"],
			["qiè"]
		],
		"大有见地": [
			["dà"],
			["yǒu"],
			["jiàn"],
			["dì"]
		],
		"大有裨益": [
			["dà"],
			["yǒu"],
			["bì"],
			["yì"]
		],
		"大有径庭": [
			["dà"],
			["yǒu"],
			["jìng"],
			["tíng"]
		],
		"大有迳庭": [
			["dà"],
			["yǒu"],
			["jìng"],
			["tíng"]
		],
		"大有可观": [
			["dà"],
			["yǒu"],
			["kě"],
			["guān"]
		],
		"大有可为": [
			["dà"],
			["yǒu"],
			["kě"],
			["wéi"]
		],
		"大有起色": [
			["dà"],
			["yǒu"],
			["qǐ"],
			["sè"]
		],
		"大有人在": [
			["dà"],
			["yǒu"],
			["rén"],
			["zài"]
		],
		"大有文章": [
			["dà"],
			["yǒu"],
			["wén"],
			["zhāng"]
		],
		"大有希望": [
			["dà"],
			["yǒu"],
			["xī"],
			["wàng"]
		],
		"大有作为": [
			["dà"],
			["yǒu"],
			["zuò"],
			["wéi"]
		],
		"大鱼吃小鱼": [
			["dà"],
			["yú"],
			["chī"],
			["xiǎo"],
			["yú"]
		],
		"大雨滂沱": [
			["dà"],
			["yǔ"],
			["páng"],
			["tuó"]
		],
		"大雨倾盆": [
			["dà"],
			["yǔ"],
			["qīng"],
			["pén"]
		],
		"大雨如注": [
			["dà"],
			["yǔ"],
			["rú"],
			["zhù"]
		],
		"大元帅": [
			["dà"],
			["yuán"],
			["shuài"]
		],
		"大禹治水": [
			["dà"],
			["yǔ"],
			["zhì"],
			["shuǐ"]
		],
		"大约摸": [
			["dà"],
			["yuē"],
			["mō"]
		],
		"大跃进": [
			["dà"],
			["yuè"],
			["jìn"]
		],
		"大运河": [
			["dà"],
			["yùn"],
			["hé"]
		],
		"大杂烩": [
			["dà"],
			["zá"],
			["huì"]
		],
		"大杂院": [
			["dà"],
			["zá"],
			["yuàn"]
		],
		"大展宏图": [
			["dà"],
			["zhǎn"],
			["hóng"],
			["tú"]
		],
		"大展经纶": [
			["dà"],
			["zhǎn"],
			["jīng"],
			["lún"]
		],
		"大张其词": [
			["dà"],
			["zhāng"],
			["qí"],
			["cí"]
		],
		"大张旗鼓": [
			["dà"],
			["zhāng"],
			["qí"],
			["gǔ"]
		],
		"大张声势": [
			["dà"],
			["zhāng"],
			["shēng"],
			["shì"]
		],
		"大张挞伐": [
			["dà"],
			["zhāng"],
			["tà"],
			["fá"]
		],
		"大丈夫": [
			["dà"],
			["zhàng"],
			["fū"]
		],
		"大杖则走": [
			["dà"],
			["zhàng"],
			["zé"],
			["zǒu"]
		],
		"大昭寺": [
			["dà"],
			["zhāo"],
			["sì"]
		],
		"大政方针": [
			["dà"],
			["zhèng"],
			["fāng"],
			["zhēn"]
		],
		"大直若诎": [
			["dà"],
			["zhí"],
			["ruò"],
			["qū"]
		],
		"大直若屈": [
			["dà"],
			["zhí"],
			["ruò"],
			["qū"]
		],
		"大智大勇": [
			["dà"],
			["zhì"],
			["dà"],
			["yǒng"]
		],
		"大智如愚": [
			["dà"],
			["zhì"],
			["rú"],
			["yú"]
		],
		"大智若愚": [
			["dà"],
			["zhì"],
			["ruò"],
			["yú"]
		],
		"大中至正": [
			["dà"],
			["zhōng"],
			["zhì"],
			["zhèng"]
		],
		"大众传播": [
			["dà"],
			["zhòng"],
			["chuán"],
			["bō"]
		],
		"大轴子": [
			["dà"],
			["zhòu"],
			["zǐ"]
		],
		"大主教": [
			["dà"],
			["zhǔ"],
			["jiào"]
		],
		"大专院校": [
			["dà"],
			["zhuān"],
			["yuàn"],
			["xiào"]
		],
		"大字报": [
			["dà"],
			["zì"],
			["bào"]
		],
		"大自然": [
			["dà"],
			["zì"],
			["rán"]
		],
		"大总统": [
			["dà"],
			["zǒng"],
			["tǒng"]
		],
		"大做文章": [
			["dà"],
			["zuò"],
			["wén"],
			["zhāng"]
		],
		"呆里撒奸": [
			["dāi"],
			["lǐ"],
			["sā"],
			["jiān"]
		],
		"呆似木鸡": [
			["dāi"],
			["sì"],
			["mù"],
			["jī"]
		],
		"呆若木鸡": [
			["dāi"],
			["ruò"],
			["mù"],
			["jī"]
		],
		"呆头呆脑": [
			["dāi"],
			["tóu"],
			["dāi"],
			["nǎo"]
		],
		"代代相传": [
			["dài"],
			["dài"],
			["xiāng"],
			["chuán"]
		],
		"代马望北": [
			["dài"],
			["mǎ"],
			["wàng"],
			["běi"]
		],
		"代马依风": [
			["dài"],
			["mǎ"],
			["yī"],
			["fēng"]
		],
		"代人受过": [
			["dài"],
			["rén"],
			["shòu"],
			["guò"]
		],
		"代人说项": [
			["dài"],
			["rén"],
			["shuō"],
			["xiàng"]
		],
		"代数方程": [
			["dài"],
			["shù"],
			["fāng"],
			["chéng"]
		],
		"代数和": [
			["dài"],
			["shù"],
			["hé"]
		],
		"代数式": [
			["dài"],
			["shù"],
			["shì"]
		],
		"代数学": [
			["dài"],
			["shù"],
			["xué"]
		],
		"代为说项": [
			["dài"],
			["wéi"],
			["shuō"],
			["xiàng"]
		],
		"带刺儿": [
			["dài"],
			["cì"],
			["ér"]
		],
		"带好儿": [
			["dài"],
			["hǎo"],
			["ér"]
		],
		"带菌者": [
			["dài"],
			["jūn"],
			["zhě"]
		],
		"带水拖泥": [
			["dài"],
			["shuǐ"],
			["tuō"],
			["ní"]
		],
		"带徒弟": [
			["dài"],
			["tú"],
			["dì"]
		],
		"带着铃铛去做贼": [
			["dài"],
			["zhe"],
			["líng"],
			["dāng"],
			["qù"],
			["zuò"],
			["zéi"]
		],
		"待定系数法": [
			["dài"],
			["dìng"],
			["xì"],
			["shù"],
			["fǎ"]
		],
		"待贾而沽": [
			["dài"],
			["jiǎ"],
			["ér"],
			["gū"]
		],
		"待价而沽": [
			["dài"],
			["jià"],
			["ér"],
			["gū"]
		],
		"待理不理": [
			["dài"],
			["lǐ"],
			["bù"],
			["lǐ"]
		],
		"待人接物": [
			["dài"],
			["rén"],
			["jiē"],
			["wù"]
		],
		"待时而动": [
			["dài"],
			["shí"],
			["ér"],
			["dòng"]
		],
		"待时守分": [
			["dài"],
			["shí"],
			["shǒu"],
			["fèn"]
		],
		"待兔守株": [
			["dài"],
			["tù"],
			["shǒu"],
			["zhū"]
		],
		"待月西厢": [
			["dài"],
			["yuè"],
			["xī"],
			["xiāng"]
		],
		"待字闺中": [
			["dài"],
			["zì"],
			["guī"],
			["zhōng"]
		],
		"戴发含齿": [
			["dài"],
			["fā"],
			["hán"],
			["chǐ"]
		],
		"戴发含牙": [
			["dài"],
			["fā"],
			["hán"],
			["yá"]
		],
		"戴笠乘车": [
			["dài"],
			["lì"],
			["chéng"],
			["chē"]
		],
		"戴绿帽子": [
			["dài"],
			["lǜ"],
			["mào"],
			["zi"]
		],
		"戴日戴斗": [
			["dài"],
			["rì"],
			["dài"],
			["dòu"]
		],
		"戴天蹐地": [
			["dài"],
			["tiān"],
			["jí"],
			["dì"]
		],
		"戴天履地": [
			["dài"],
			["tiān"],
			["lǚ"],
			["dì"]
		],
		"戴头识脸": [
			["dài"],
			["tóu"],
			["shí"],
			["liǎn"]
		],
		"丹凤朝阳": [
			["dān"],
			["fèng"],
			["cháo"],
			["yáng"]
		],
		"丹铅甲乙": [
			["dān"],
			["qiān"],
			["jiǎ"],
			["yǐ"]
		],
		"丹青不渝": [
			["dān"],
			["qīng"],
			["bù"],
			["yú"]
		],
		"丹书铁券": [
			["dān"],
			["shū"],
			["tiě"],
			["quàn"]
		],
		"丹书铁契": [
			["dān"],
			["shū"],
			["tiě"],
			["qì"]
		],
		"丹心碧血": [
			["dān"],
			["xīn"],
			["bì"],
			["xuè"]
		],
		"丹之所藏者赤": [
			["dān"],
			["zhī"],
			["suǒ"],
			["cáng"],
			["zhě"],
			["chì"]
		],
		"单板计算机": [
			["dān"],
			["bǎn"],
			["jì"],
			["suàn"],
			["jī"]
		],
		"单兵孤城": [
			["dān"],
			["bīng"],
			["gū"],
			["chéng"]
		],
		"单纯词": [
			["dān"],
			["chún"],
			["cí"]
		],
		"单打一": [
			["dān"],
			["dǎ"],
			["yī"]
		],
		"单刀直入": [
			["dān"],
			["dāo"],
			["zhí"],
			["rù"]
		],
		"单刀赴会": [
			["dān"],
			["dāo"],
			["fù"],
			["huì"]
		],
		"单方面": [
			["dān"],
			["fāng"],
			["miàn"]
		],
		"单峰驼": [
			["dān"],
			["fēng"],
			["tuó"]
		],
		"单干户": [
			["dān"],
			["gàn"],
			["hù"]
		],
		"单个儿": [
			["dān"],
			["gè"],
			["ér"]
		],
		"单鹄寡凫": [
			["dān"],
			["hú"],
			["guǎ"],
			["fú"]
		],
		"单簧管": [
			["dān"],
			["huáng"],
			["guǎn"]
		],
		"单见浅闻": [
			["dān"],
			["jiàn"],
			["qiǎn"],
			["wén"]
		],
		"单季稻": [
			["dān"],
			["jì"],
			["dào"]
		],
		"单孑独立": [
			["dān"],
			["jié"],
			["dú"],
			["lì"]
		],
		"单晶硅": [
			["dān"],
			["jīng"],
			["guī"]
		],
		"单口相声": [
			["dān"],
			["kǒu"],
			["xiàng"],
			["sheng"]
		],
		"单门独户": [
			["dān"],
			["mén"],
			["dú"],
			["hù"]
		],
		"单枪独马": [
			["dān"],
			["qiāng"],
			["dú"],
			["mǎ"]
		],
		"单枪匹马": [
			["dān"],
			["qiāng"],
			["pí"],
			["mǎ"]
		],
		"单人独马": [
			["dān"],
			["rén"],
			["dú"],
			["mǎ"]
		],
		"单人滑": [
			["dān"],
			["rén"],
			["huá"]
		],
		"单人舞": [
			["dān"],
			["rén"],
			["wǔ"]
		],
		"单色光": [
			["dān"],
			["sè"],
			["guāng"]
		],
		"单身汉": [
			["dān"],
			["shēn"],
			["hàn"]
		],
		"单丝不成线": [
			["dān"],
			["sī"],
			["bù"],
			["chéng"],
			["xiàn"]
		],
		"单丝不线": [
			["dān"],
			["sī"],
			["bù"],
			["xiàn"]
		],
		"单文孤证": [
			["dān"],
			["wén"],
			["gū"],
			["zhèng"]
		],
		"单弦儿": [
			["dān"],
			["xián"],
			["ér"]
		],
		"单相思": [
			["dān"],
			["xiāng"],
			["sī"]
		],
		"单行本": [
			["dān"],
			["xíng"],
			["běn"]
		],
		"单行线": [
			["dān"],
			["xíng"],
			["xiàn"]
		],
		"单眼皮": [
			["dān"],
			["yǎn"],
			["pí"]
		],
		"单音词": [
			["dān"],
			["yīn"],
			["cí"]
		],
		"单忧极瘁": [
			["dān"],
			["yōu"],
			["jí"],
			["cuì"]
		],
		"单子叶植物": [
			["dān"],
			["zi"],
			["yè"],
			["zhí"],
			["wù"]
		],
		"担不是": [
			["dān"],
			["bú"],
			["shì"]
		],
		"担担面": [
			["dàn"],
			["dan"],
			["miàn"]
		],
		"担惊忍怕": [
			["dān"],
			["jīng"],
			["rěn"],
			["pà"]
		],
		"担架队": [
			["dān"],
			["jià"],
			["duì"]
		],
		"担惊受恐": [
			["dān"],
			["jīng"],
			["shòu"],
			["kǒng"]
		],
		"担惊受怕": [
			["dān"],
			["jīng"],
			["shòu"],
			["pà"]
		],
		"担雪塞井": [
			["dān"],
			["xuě"],
			["sāi"],
			["jǐng"]
		],
		"担雪填井": [
			["dān"],
			["xuě"],
			["tián"],
			["jǐng"]
		],
		"担雪填河": [
			["dān"],
			["xuě"],
			["tián"],
			["hé"]
		],
		"殚见洽闻": [
			["dān"],
			["jiàn"],
			["qià"],
			["wén"]
		],
		"殚思极虑": [
			["dān"],
			["sī"],
			["jí"],
			["lǜ"]
		],
		"箪豆见色": [
			["dān"],
			["dòu"],
			["jiàn"],
			["sè"]
		],
		"箪瓢屡空": [
			["dān"],
			["piáo"],
			["lǚ"],
			["kōng"]
		],
		"箪食壶浆": [
			["dān"],
			["sì"],
			["hú"],
			["jiāng"]
		],
		"箪食壶酒": [
			["dān"],
			["sì"],
			["hú"],
			["jiǔ"]
		],
		"箪食瓢饮": [
			["dān"],
			["sì"],
			["piáo"],
			["yǐn"]
		],
		"儋石之储": [
			["dàn"],
			["shí"],
			["zhī"],
			["chǔ"]
		],
		"胆颤心惊": [
			["dǎn"],
			["chàn"],
			["xīn"],
			["jīng"]
		],
		"胆大包天": [
			["dǎn"],
			["dà"],
			["bāo"],
			["tiān"]
		],
		"胆大妄为": [
			["dǎn"],
			["dà"],
			["wàng"],
			["wéi"]
		],
		"胆大泼天": [
			["dǎn"],
			["dà"],
			["pō"],
			["tiān"]
		],
		"胆大如斗": [
			["dǎn"],
			["dà"],
			["rú"],
			["dǒu"]
		],
		"胆大心粗": [
			["dǎn"],
			["dā"],
			["xīn"],
			["cū"]
		],
		"胆大心细": [
			["dǎn"],
			["dà"],
			["xīn"],
			["xì"]
		],
		"胆大心小": [
			["dǎn"],
			["dà"],
			["xīn"],
			["xiǎo"]
		],
		"胆大心雄": [
			["dǎn"],
			["dà"],
			["xīn"],
			["xióng"]
		],
		"胆大于身": [
			["dǎn"],
			["dà"],
			["yú"],
			["shēn"]
		],
		"胆寒发竖": [
			["dǎn"],
			["hán"],
			["fā"],
			["shù"]
		],
		"胆结石": [
			["dǎn"],
			["jié"],
			["shí"]
		],
		"胆裂魂飞": [
			["dǎn"],
			["liè"],
			["hún"],
			["fēi"]
		],
		"胆丧魂惊": [
			["dǎn"],
			["sàng"],
			["hún"],
			["jīng"]
		],
		"胆囊炎": [
			["dǎn"],
			["náng"],
			["yán"]
		],
		"胆丧魂消": [
			["dǎn"],
			["sàng"],
			["hún"],
			["xiāo"]
		],
		"旦角儿": [
			["dàn"],
			["jué"],
			["ér"]
		],
		"旦种暮成": [
			["dàn"],
			["zhòng"],
			["mù"],
			["chéng"]
		],
		"旦暮入地": [
			["dàn"],
			["mù"],
			["rù"],
			["dì"]
		],
		"诞幻不经": [
			["dàn"],
			["huàn"],
			["bù"],
			["jīng"]
		],
		"诞谩不经": [
			["dàn"],
			["màn"],
			["bù"],
			["jīng"]
		],
		"诞罔不经": [
			["dàn"],
			["wǎng"],
			["bù"],
			["jīng"]
		],
		"诞妄不经": [
			["dàn"],
			["wàng"],
			["bù"],
			["jīng"]
		],
		"啖以重利": [
			["dàn"],
			["yǐ"],
			["zhòng"],
			["lì"]
		],
		"弹冠结绶": [
			["tán"],
			["guān"],
			["jié"],
			["shòu"]
		],
		"弹冠相庆": [
			["tán"],
			["guān"],
			["xiāng"],
			["qìng"]
		],
		"弹冠振衿": [
			["tán"],
			["guān"],
			["zhèn"],
			["jīn"]
		],
		"弹冠振衣": [
			["tán"],
			["guān"],
			["zhèn"],
			["yī"]
		],
		"弹铗无鱼": [
			["dàn"],
			["jiá"],
			["wú"],
			["yú"]
		],
		"弹剑作歌": [
			["tán"],
			["jiàn"],
			["zuò"],
			["gē"]
		],
		"弹斤估两": [
			["tán"],
			["jīn"],
			["gū"],
			["liǎng"]
		],
		"弹尽粮绝": [
			["dàn"],
			["jìn"],
			["liáng"],
			["jué"]
		],
		"弹尽援绝": [
			["dàn"],
			["jìn"],
			["yuán"],
			["jué"]
		],
		"弹空说嘴": [
			["tán"],
			["kōng"],
			["shuō"],
			["zuǐ"]
		],
		"弹丝品竹": [
			["tán"],
			["sī"],
			["pǐn"],
			["zhú"]
		],
		"弹丸黑志": [
			["dàn"],
			["wán"],
			["hēi"],
			["zhì"]
		],
		"弹丸黑子": [
			["dàn"],
			["wán"],
			["hēi"],
			["zǐ"]
		],
		"弹丸脱手": [
			["tán"],
			["wán"],
			["tuō"],
			["shǒu"]
		],
		"弹丸之地": [
			["dàn"],
			["wán"],
			["zhī"],
			["dì"]
		],
		"弹无虚发": [
			["dàn"],
			["wú"],
			["xū"],
			["fā"]
		],
		"弹性体": [
			["tán"],
			["xìng"],
			["tǐ"]
		],
		"弹雨枪林": [
			["dàn"],
			["yǔ"],
			["qiāng"],
			["lín"]
		],
		"弹指之间": [
			["tán"],
			["zhǐ"],
			["zhī"],
			["jiān"]
		],
		"惮赫千里": [
			["dàn"],
			["hè"],
			["qiān"],
			["lǐ"]
		],
		"淡而不厌": [
			["dàn"],
			["ér"],
			["bù"],
			["yàn"]
		],
		"淡泊明志": [
			["dàn"],
			["bó"],
			["míng"],
			["zhì"]
		],
		"淡然处之": [
			["dàn"],
			["rán"],
			["chǔ"],
			["zhī"]
		],
		"淡汝浓抹": [
			["dàn"],
			["zhuāng"],
			["nóng"],
			["mǒ"]
		],
		"淡扫蛾眉": [
			["dàn"],
			["sǎo"],
			["é"],
			["méi"]
		],
		"淡妆浓抹": [
			["dàn"],
			["zhuāng"],
			["nóng"],
			["mǒ"]
		],
		"淡妆轻抹": [
			["dàn"],
			["zhuāng"],
			["qīng"],
			["mò"]
		],
		"澹泊寡欲": [
			["dàn"],
			["bó"],
			["guǎ"],
			["yù"]
		],
		"当不起": [
			["dāng"],
			["bù"],
			["qǐ"]
		],
		"当场出彩": [
			["dāng"],
			["chǎng"],
			["chū"],
			["cǎi"]
		],
		"当场出丑": [
			["dāng"],
			["chǎng"],
			["chū"],
			["chǒu"]
		],
		"当断不断": [
			["dāng"],
			["duàn"],
			["bù"],
			["duàn"]
		],
		"当耳边风": [
			["dāng"],
			["ěr"],
			["biān"],
			["fēng"]
		],
		"当风秉烛": [
			["dāng"],
			["fēng"],
			["bǐng"],
			["zhú"]
		],
		"当耳旁风": [
			["dāng"],
			["ěr"],
			["páng"],
			["fēng"]
		],
		"当机立断": [
			["dāng"],
			["jī"],
			["lì"],
			["duàn"]
		],
		"当机立决": [
			["dāng"],
			["jī"],
			["lì"],
			["jué"]
		],
		"当家的": [
			["dāng"],
			["jiā"],
			["de"]
		],
		"当家理纪": [
			["dāng"],
			["jiā"],
			["lǐ"],
			["jì"]
		],
		"当家立计": [
			["dāng"],
			["jiā"],
			["lì"],
			["jì"]
		],
		"当家立事": [
			["dāng"],
			["jiā"],
			["lì"],
			["shì"]
		],
		"当家立纪": [
			["dāng"],
			["jiā"],
			["lì"],
			["jì"]
		],
		"当家立业": [
			["dāng"],
			["jiā"],
			["lì"],
			["yè"]
		],
		"当家人": [
			["dāng"],
			["jiā"],
			["rén"]
		],
		"当家作主": [
			["dāng"],
			["jiā"],
			["zuò"],
			["zhǔ"]
		],
		"当家做主": [
			["dāng"],
			["jiā"],
			["zuò"],
			["zhǔ"]
		],
		"当间儿": [
			["dāng"],
			["jiàn"],
			["ér"]
		],
		"当今无辈": [
			["dāng"],
			["jīn"],
			["wú"],
			["bèi"]
		],
		"当局者迷": [
			["dāng"],
			["jú"],
			["zhě"],
			["mí"]
		],
		"当口儿": [
			["dāng"],
			["kǒu"],
			["er"]
		],
		"当立之年": [
			["dāng"],
			["lì"],
			["zhī"],
			["nián"]
		],
		"当门抵户": [
			["dāng"],
			["mén"],
			["dǐ"],
			["hù"]
		],
		"当面错过": [
			["dāng"],
			["miàn"],
			["cuò"],
			["guò"]
		],
		"当面锣对面鼓": [
			["dāng"],
			["miàn"],
			["luó"],
			["duì"],
			["miàn"],
			["gǔ"]
		],
		"当面输心背面笑": [
			["dāng"],
			["miàn"],
			["shū"],
			["xīn"],
			["bèi"],
			["miàn"],
			["xiào"]
		],
		"当权派": [
			["dāng"],
			["quán"],
			["pài"]
		],
		"当仁不让": [
			["dāng"],
			["rén"],
			["bù"],
			["ràng"]
		],
		"当世才度": [
			["dāng"],
			["shì"],
			["cái"],
			["dù"]
		],
		"当世无双": [
			["dāng"],
			["shì"],
			["wú"],
			["shuāng"]
		],
		"当事人": [
			["dāng"],
			["shì"],
			["rén"]
		],
		"当头棒喝": [
			["dāng"],
			["tóu"],
			["bàng"],
			["hè"]
		],
		"当事者": [
			["dāng"],
			["shì"],
			["zhě"]
		],
		"当头一棒": [
			["dāng"],
			["tóu"],
			["yī"],
			["bàng"]
		],
		"当头对面": [
			["dāng"],
			["tóu"],
			["duì"],
			["miàn"]
		],
		"当务始终": [
			["dang"],
			["wu"],
			["shi"],
			["zhong"]
		],
		"当务之急": [
			["dāng"],
			["wù"],
			["zhī"],
			["jí"]
		],
		"当刑而王": [
			["dāng"],
			["xíng"],
			["ér"],
			["wáng"]
		],
		"当行本色": [
			["dāng"],
			["xíng"],
			["běn"],
			["sè"]
		],
		"当行出色": [
			["dāng"],
			["háng"],
			["chū"],
			["sè"]
		],
		"当一天和尚撞一天钟": [
			["dāng"],
			["yì"],
			["tiān"],
			["hé"],
			["shàng"],
			["zhuàng"],
			["yì"],
			["tiān"],
			["zhōng"]
		],
		"当之无愧": [
			["dāng"],
			["zhī"],
			["wú"],
			["kuì"]
		],
		"当之有愧": [
			["dāng"],
			["zhī"],
			["yǒu"],
			["kuì"]
		],
		"当着不着": [
			["dāng"],
			["zhuó"],
			["bù"],
			["zhuó"]
		],
		"当轴处中": [
			["dāng"],
			["zhóu"],
			["chǔ"],
			["zhōng"]
		],
		"挡车工": [
			["dǎng"],
			["chē"],
			["gōng"]
		],
		"挡箭牌": [
			["dǎng"],
			["jiàn"],
			["pái"]
		],
		"挡泥板": [
			["dǎng"],
			["ní"],
			["bǎn"]
		],
		"党豺为虐": [
			["dǎng"],
			["chái"],
			["wéi"],
			["nüè"]
		],
		"挡土墙": [
			["dǎng"],
			["tǔ"],
			["qiáng"]
		],
		"党的基本路线": [
			["dǎng"],
			["de"],
			["jī"],
			["běn"],
			["lù"],
			["xiàn"]
		],
		"党的建设": [
			["dǎng"],
			["de"],
			["jiàn"],
			["shè"]
		],
		"党恶佑奸": [
			["dǎng"],
			["è"],
			["yòu"],
			["jiān"]
		],
		"党坚势盛": [
			["dǎng"],
			["jiān"],
			["shì"],
			["shèng"]
		],
		"党同妒异": [
			["dǎng"],
			["tóng"],
			["dù"],
			["yì"]
		],
		"党同伐异": [
			["dǎng"],
			["tóng"],
			["fá"],
			["yì"]
		],
		"党邪丑正": [
			["dǎng"],
			["xié"],
			["chǒu"],
			["zhèng"]
		],
		"党邪陷正": [
			["dǎng"],
			["xié"],
			["xiàn"],
			["zhèng"]
		],
		"谠论侃侃": [
			["dǎng"],
			["lùn"],
			["kǎn"],
			["kǎn"]
		],
		"谠言嘉论": [
			["dǎng"],
			["yán"],
			["jiā"],
			["lùn"]
		],
		"荡产倾家": [
			["dàng"],
			["chǎn"],
			["qīng"],
			["jiā"]
		],
		"荡魂摄魄": [
			["dàng"],
			["hún"],
			["shè"],
			["pò"]
		],
		"刀把子": [
			["dāo"],
			["bà"],
			["zi"]
		],
		"刀刀见血": [
			["dāo"],
			["dāo"],
			["jiàn"],
			["xiě"]
		],
		"刀耕火种": [
			["dāo"],
			["gēng"],
			["huǒ"],
			["zhòng"]
		],
		"刀光血影": [
			["dāo"],
			["guāng"],
			["xuè"],
			["yǐng"]
		],
		"刀过竹解": [
			["dāo"],
			["guò"],
			["zhú"],
			["jiě"]
		],
		"刀头剑首": [
			["dāo"],
			["tóu"],
			["jiàn"],
			["shǒu"]
		],
		"刀枪不入": [
			["dāo"],
			["qiāng"],
			["bù"],
			["rù"]
		],
		"刀头舔蜜": [
			["dāo"],
			["tóu"],
			["tiǎn"],
			["mì"]
		],
		"刀削面": [
			["dāo"],
			["xiāo"],
			["miàn"]
		],
		"刀头燕尾": [
			["dāo"],
			["tóu"],
			["yàn"],
			["wěi"]
		],
		"叨陪末座": [
			["tāo"],
			["péi"],
			["mò"],
			["zuò"]
		],
		"叨在知己": [
			["tāo"],
			["zài"],
			["zhī"],
			["jǐ"]
		],
		"导弹基地": [
			["dǎo"],
			["dàn"],
			["jī"],
			["dì"]
		],
		"导弹艇": [
			["dǎo"],
			["dàn"],
			["tǐng"]
		],
		"导德齐礼": [
			["dǎo"],
			["dé"],
			["qí"],
			["lǐ"]
		],
		"导航台": [
			["dǎo"],
			["háng"],
			["tái"]
		],
		"倒背如流": [
			["dào"],
			["bèi"],
			["rú"],
			["liú"]
		],
		"倒绷孩儿": [
			["dào"],
			["bēng"],
			["hái"],
			["ér"]
		],
		"倒插门": [
			["dào"],
			["chā"],
			["mén"]
		],
		"倒持干戈": [
			["dǎo"],
			["chí"],
			["gān"],
			["gē"]
		],
		"倒持手板": [
			["dǎo"],
			["chí"],
			["shǒu"],
			["bǎn"]
		],
		"倒持戈矛": [
			["dǎo"],
			["chí"],
			["gē"],
			["máo"]
		],
		"倒持太阿": [
			["dǎo"],
			["chí"],
			["tài"],
			["ā"]
		],
		"倒持泰阿": [
			["dào"],
			["chí"],
			["tài"],
			["ē"]
		],
		"倒打一耙": [
			["dào"],
			["dǎ"],
			["yī"],
			["pá"]
		],
		"倒春寒": [
			["dǎo"],
			["chūn"],
			["hán"]
		],
		"倒打一瓦": [
			["dào"],
			["dǎ"],
			["yī"],
			["wǎ"]
		],
		"倒凤颠鸾": [
			["dǎo"],
			["fèng"],
			["diān"],
			["luán"]
		],
		"倒戈卸甲": [
			["dǎo"],
			["gē"],
			["xiè"],
			["jiǎ"]
		],
		"倒挂金钟": [
			["dào"],
			["guà"],
			["jīn"],
			["zhōng"]
		],
		"倒冠落佩": [
			["dǎo"],
			["guān"],
			["luò"],
			["pèi"]
		],
		"倒冠落珮": [
			["dǎo"],
			["guàn"],
			["luò"],
			["pèi"]
		],
		"倒果为因": [
			["dào"],
			["guǒ"],
			["wéi"],
			["yīn"]
		],
		"倒过儿": [
			["dào"],
			["guò"],
			["ér"]
		],
		"倒好儿": [
			["dǎo"],
			["hǎo"],
			["ér"]
		],
		"倒海翻江": [
			["dǎo"],
			["hǎi"],
			["fān"],
			["jiāng"]
		],
		"倒街卧巷": [
			["dǎo"],
			["jiē"],
			["wò"],
			["xiàng"]
		],
		"倒廪倾囷": [
			["dǎo"],
			["lǐn"],
			["qīng"],
			["qūn"]
		],
		"倒买倒卖": [
			["dǎo"],
			["mǎi"],
			["dǎo"],
			["mài"]
		],
		"倒戢干戈": [
			["dǎo"],
			["jí"],
			["gān"],
			["gē"]
		],
		"倒箧倾筐": [
			["dǎo"],
			["qiè"],
			["qīng"],
			["kuāng"]
		],
		"倒箧倾囊": [
			["dǎo"],
			["qiè"],
			["qīng"],
			["náng"]
		],
		"倒三颠四": [
			["dǎo"],
			["sān"],
			["diān"],
			["sì"]
		],
		"倒山倾海": [
			["dǎo"],
			["shān"],
			["qīng"],
			["hǎi"]
		],
		"倒裳索领": [
			["dào"],
			["cháng"],
			["suǒ"],
			["lǐng"]
		],
		"倒胃口": [
			["dǎo"],
			["wèi"],
			["kǒu"]
		],
		"倒屣相迎": [
			["dào"],
			["xǐ"],
			["xiāng"],
			["yíng"]
		],
		"倒峡泻河": [
			["dǎo"],
			["xiá"],
			["xiè"],
			["hé"]
		],
		"倒行逆施": [
			["dào"],
			["xíng"],
			["nì"],
			["shī"]
		],
		"倒悬之急": [
			["dào"],
			["xuán"],
			["zhī"],
			["jí"]
		],
		"倒悬之苦": [
			["dào"],
			["xuán"],
			["zhī"],
			["kǔ"]
		],
		"倒因为果": [
			["dǎo"],
			["yīn"],
			["wéi"],
			["guǒ"]
		],
		"倒栽葱": [
			["dǎo"],
			["zāi"],
			["cōng"]
		],
		"倒载干戈": [
			["dào"],
			["zài"],
			["gān"],
			["gē"]
		],
		"倒执手版": [
			["dǎo"],
			["zhí"],
			["shǒu"],
			["bǎn"]
		],
		"倒置干戈": [
			["dào"],
			["zhì"],
			["gān"],
			["gē"]
		],
		"捣虚撇抗": [
			["dǎo"],
			["xū"],
			["piē"],
			["kàng"]
		],
		"捣虚批吭": [
			["dǎo"],
			["xū"],
			["pī"],
			["háng"]
		],
		"蹈锋饮血": [
			["dǎo"],
			["fēng"],
			["yǐn"],
			["xuè"]
		],
		"蹈赴汤火": [
			["dǎo"],
			["fù"],
			["tāng"],
			["huǒ"]
		],
		"蹈火赴汤": [
			["dǎo"],
			["huǒ"],
			["fù"],
			["tāng"]
		],
		"蹈火探汤": [
			["dǎo"],
			["huǒ"],
			["tàn"],
			["tāng"]
		],
		"蹈节死义": [
			["dǎo"],
			["jié"],
			["sǐ"],
			["yì"]
		],
		"蹈厉奋发": [
			["dǎo"],
			["lì"],
			["fèn"],
			["fā"]
		],
		"蹈其覆辙": [
			["dǎo"],
			["qì"],
			["fù"],
			["zhé"]
		],
		"蹈刃不旋": [
			["dǎo"],
			["rèn"],
			["bù"],
			["xuán"]
		],
		"蹈汤赴火": [
			["dǎo"],
			["tāng"],
			["fù"],
			["huǒ"]
		],
		"到此为止": [
			["dào"],
			["cǐ"],
			["wéi"],
			["zhǐ"]
		],
		"到头来": [
			["dào"],
			["tóu"],
			["lái"]
		],
		"盗食致饱": [
			["dào"],
			["shí"],
			["zhì"],
			["bǎo"]
		],
		"盗亦有道": [
			["dào"],
			["yì"],
			["yǒu"],
			["dào"]
		],
		"道傍之筑": [
			["dào"],
			["bàng"],
			["zhī"],
			["zhù"]
		],
		"道傍筑室": [
			["dào"],
			["bàng"],
			["zhù"],
			["shì"]
		],
		"道不掇遗": [
			["dào"],
			["bù"],
			["duō"],
			["yí"]
		],
		"道不举遗": [
			["dào"],
			["bù"],
			["jǔ"],
			["yí"]
		],
		"道不拾遗": [
			["dào"],
			["bù"],
			["shí"],
			["yí"]
		],
		"道不同不相为谋": [
			["dào"],
			["bù"],
			["tóng"],
			["bù"],
			["xiāng"],
			["wéi"],
			["móu"]
		],
		"道长论短": [
			["dào"],
			["cháng"],
			["lùn"],
			["duǎn"]
		],
		"道长争短": [
			["dào"],
			["cháng"],
			["zhēng"],
			["duǎn"]
		],
		"道不相谋": [
			["dào"],
			["bù"],
			["xiāng"],
			["móu"]
		],
		"道大莫容": [
			["dào"],
			["dà"],
			["mò"],
			["róng"]
		],
		"道道地地": [
			["dào"],
			["dào"],
			["dì"],
			["dì"]
		],
		"道德教育": [
			["dào"],
			["dé"],
			["jiào"],
			["yù"]
		],
		"道德行为": [
			["dào"],
			["dé"],
			["xíng"],
			["wéi"]
		],
		"道弟称兄": [
			["dào"],
			["dì"],
			["chēng"],
			["xiōng"]
		],
		"道东说西": [
			["dào"],
			["dōng"],
			["shuō"],
			["xī"]
		],
		"道而不径": [
			["dào"],
			["ér"],
			["bù"],
			["jìng"]
		],
		"道高德重": [
			["dào"],
			["gāo"],
			["dé"],
			["zhòng"]
		],
		"道高魔重": [
			["dào"],
			["gāo"],
			["mó"],
			["zhòng"]
		],
		"道高望重": [
			["dào"],
			["gāo"],
			["wàng"],
			["zhòng"]
		],
		"道骨仙风": [
			["dào"],
			["gǔ"],
			["xiān"],
			["fēng"]
		],
		"道寡称孤": [
			["dào"],
			["guǎ"],
			["chēng"],
			["gū"]
		],
		"道合志同": [
			["dào"],
			["hé"],
			["zhì"],
			["tóng"]
		],
		"道尽涂殚": [
			["dào"],
			["jìn"],
			["tú"],
			["dān"]
		],
		"道尽涂穷": [
			["dào"],
			["jìn"],
			["tú"],
			["qióng"]
		],
		"道尽途殚": [
			["dào"],
			["jìn"],
			["tú"],
			["dān"]
		],
		"道尽途穷": [
			["dào"],
			["jìn"],
			["tú"],
			["qióng"]
		],
		"道殣相望": [
			["dào"],
			["jìn"],
			["xiāng"],
			["wàng"]
		],
		"道殣相枕": [
			["dào"],
			["jìn"],
			["xiāng"],
			["zhěn"]
		],
		"道殣相属": [
			["dào"],
			["jìn"],
			["xiāng"],
			["shǔ"]
		],
		"道旁苦李": [
			["dào"],
			["páng"],
			["kǔ"],
			["lǐ"]
		],
		"道听耳食": [
			["dào"],
			["tīng"],
			["ěr"],
			["shí"]
		],
		"道听涂说": [
			["dào"],
			["tīng"],
			["tú"],
			["shuō"]
		],
		"道听途说": [
			["dào"],
			["tīng"],
			["tú"],
			["shuō"]
		],
		"道同义合": [
			["dào"],
			["tóng"],
			["yì"],
			["hé"]
		],
		"道同契合": [
			["dào"],
			["tóng"],
			["qì"],
			["hé"]
		],
		"道同志合": [
			["dào"],
			["tóng"],
			["zhì"],
			["hé"]
		],
		"道头会尾": [
			["dào"],
			["tóu"],
			["huì"],
			["wěi"]
		],
		"道头知尾": [
			["dào"],
			["tóu"],
			["zhī"],
			["wěi"]
		],
		"道微德薄": [
			["dào"],
			["wēi"],
			["dé"],
			["báo"]
		],
		"道无拾遗": [
			["dào"],
			["wú"],
			["shí"],
			["yí"]
		],
		"道西说东": [
			["dào"],
			["xī"],
			["shuō"],
			["dōng"]
		],
		"道远日暮": [
			["dào"],
			["yuàn"],
			["rì"],
			["mù"]
		],
		"道在人为": [
			["dào"],
			["zài"],
			["rén"],
			["wéi"]
		],
		"道远知骥": [
			["dào"],
			["yuǎn"],
			["zhī"],
			["jì"]
		],
		"道在屎溺": [
			["dào"],
			["zài"],
			["shǐ"],
			["nì"]
		],
		"得薄能鲜": [
			["dé"],
			["bó"],
			["néng"],
			["xiān"]
		],
		"得不补失": [
			["dé"],
			["bù"],
			["bǔ"],
			["shī"]
		],
		"得不偿丧": [
			["dé"],
			["bù"],
			["cháng"],
			["sàng"]
		],
		"得不偿失": [
			["dé"],
			["bù"],
			["cháng"],
			["shī"]
		],
		"得不酬失": [
			["dé"],
			["bù"],
			["chóu"],
			["shī"]
		],
		"得步进步": [
			["dé"],
			["bù"],
			["jìn"],
			["bù"]
		],
		"得尺得寸": [
			["dé"],
			["chǐ"],
			["dé"],
			["cùn"]
		],
		"得寸进尺": [
			["dé"],
			["cùn"],
			["jìn"],
			["chǐ"]
		],
		"得寸得尺": [
			["dé"],
			["cùn"],
			["dé"],
			["chǐ"]
		],
		"得道多助": [
			["dé"],
			["dào"],
			["duō"],
			["zhù"]
		],
		"得而复失": [
			["dé"],
			["ér"],
			["fù"],
			["shī"]
		],
		"得过且过": [
			["dé"],
			["guò"],
			["qiě"],
			["guò"]
		],
		"得陇望蜀": [
			["dé"],
			["lǒng"],
			["wàng"],
			["shǔ"]
		],
		"得马生灾": [
			["dé"],
			["mǎ"],
			["shēng"],
			["zāi"]
		],
		"得马失马": [
			["dé"],
			["mǎ"],
			["shī"],
			["mǎ"]
		],
		"得马折足": [
			["dé"],
			["mǎ"],
			["shé"],
			["zú"]
		],
		"得其三昧": [
			["dé"],
			["qí"],
			["sān"],
			["mèi"]
		],
		"得其所哉": [
			["dé"],
			["qí"],
			["suǒ"],
			["zāi"]
		],
		"得饶人处且饶人": [
			["dé"],
			["ráo"],
			["rén"],
			["chù"],
			["qiě"],
			["ráo"],
			["rén"]
		],
		"得人死力": [
			["dé"],
			["rén"],
			["sǐ"],
			["lì"]
		],
		"得人心": [
			["dé"],
			["rén"],
			["xīn"]
		],
		"得胜回朝": [
			["dé"],
			["shèng"],
			["huí"],
			["cháo"]
		],
		"得胜头回": [
			["dé"],
			["shèng"],
			["tóu"],
			["huí"]
		],
		"得失参半": [
			["dé"],
			["shī"],
			["cān"],
			["bàn"]
		],
		"得失成败": [
			["dé"],
			["shī"],
			["chéng"],
			["bài"]
		],
		"得失荣枯": [
			["dé"],
			["shī"],
			["róng"],
			["kū"]
		],
		"得失相半": [
			["dé"],
			["shī"],
			["xiāng"],
			["bàn"]
		],
		"得失在人": [
			["dé"],
			["shī"],
			["zài"],
			["rén"]
		],
		"得手应心": [
			["dé"],
			["shǒu"],
			["yīng"],
			["xīn"]
		],
		"得天独厚": [
			["dé"],
			["tiān"],
			["dú"],
			["hòu"]
		],
		"得兔忘蹄": [
			["dé"],
			["tù"],
			["wàng"],
			["tí"]
		],
		"得未尝有": [
			["dé"],
			["wèi"],
			["cháng"],
			["yǒu"]
		],
		"得未曾有": [
			["dé"],
			["wèi"],
			["céng"],
			["yǒu"]
		],
		"得心应手": [
			["dé"],
			["xīn"],
			["yìng"],
			["shǒu"]
		],
		"得婿如龙": [
			["dé"],
			["xù"],
			["rú"],
			["lóng"]
		],
		"得意忘象": [
			["dé"],
			["yì"],
			["wàng"],
			["xiàng"]
		],
		"得意门生": [
			["dé"],
			["yì"],
			["mén"],
			["shēng"]
		],
		"得意忘形": [
			["dé"],
			["yì"],
			["wàng"],
			["xíng"]
		],
		"得意扬扬": [
			["dé"],
			["yì"],
			["yáng"],
			["yáng"]
		],
		"得意忘言": [
			["dé"],
			["yì"],
			["wàng"],
			["yán"]
		],
		"得意洋洋": [
			["dé"],
			["yì"],
			["yáng"],
			["yáng"]
		],
		"得意之作": [
			["dé"],
			["yì"],
			["zhī"],
			["zuò"]
		],
		"得意之色": [
			["dé"],
			["yì"],
			["zhī"],
			["sè"]
		],
		"得鱼忘荃": [
			["dé"],
			["yú"],
			["wàng"],
			["quán"]
		],
		"得月较先": [
			["dé"],
			["yuè"],
			["jiào"],
			["xiān"]
		],
		"得鱼忘筌": [
			["dé"],
			["yú"],
			["wàng"],
			["quán"]
		],
		"德薄才疏": [
			["dé"],
			["bó"],
			["cái"],
			["shū"]
		],
		"德薄能鲜": [
			["dé"],
			["bó"],
			["néng"],
			["xiǎn"]
		],
		"德薄才鲜": [
			["dé"],
			["báo"],
			["cái"],
			["xiān"]
		],
		"德高望重": [
			["dé"],
			["gāo"],
			["wàng"],
			["zhòng"]
		],
		"德隆望重": [
			["dé"],
			["lóng"],
			["wàng"],
			["zhòng"]
		],
		"德配天地": [
			["dé"],
			["pèi"],
			["tiān"],
			["dì"]
		],
		"德浅行薄": [
			["dé"],
			["qiǎn"],
			["xíng"],
			["báo"]
		],
		"德胜头迴": [
			["dé"],
			["shèng"],
			["tóu"],
			["huí"]
		],
		"德兴市": [
			["dé"],
			["xīng"],
			["shì"]
		],
		"德音莫违": [
			["dé"],
			["yīn"],
			["mò"],
			["wéi"]
		],
		"德重恩弘": [
			["dé"],
			["zhòng"],
			["ēn"],
			["hóng"]
		],
		"德尊望重": [
			["dé"],
			["zūn"],
			["wàng"],
			["zhòng"]
		],
		"的确良": [
			["dí"],
			["què"],
			["liáng"]
		],
		"的一确二": [
			["dí"],
			["yī"],
			["què"],
			["èr"]
		],
		"灯蛾扑火": [
			["dé"],
			["é"],
			["pū"],
			["huǒ"]
		],
		"灯红酒绿": [
			["dēng"],
			["hóng"],
			["jiǔ"],
			["lǜ"]
		],
		"灯火万家": [
			["dēng"],
			["huǒ"],
			["wàn"],
			["jiā"]
		],
		"灯尽油干": [
			["dēng"],
			["jìn"],
			["yóu"],
			["gàn"]
		],
		"灯笼裤": [
			["dēng"],
			["lóng"],
			["kù"]
		],
		"登高望远": [
			["dēng"],
			["gāo"],
			["wàng"],
			["yuǎn"]
		],
		"登山越岭": [
			["dēng"],
			["shān"],
			["yuè"],
			["lǐng"]
		],
		"登山陟岭": [
			["dēng"],
			["shān"],
			["zhì"],
			["lǐng"]
		],
		"登台拜将": [
			["dēng"],
			["tái"],
			["bài"],
			["jiàng"]
		],
		"登坛拜将": [
			["dēng"],
			["tán"],
			["bài"],
			["jiàng"]
		],
		"等比级数": [
			["děng"],
			["bǐ"],
			["jí"],
			["shù"]
		],
		"等比数列": [
			["děng"],
			["bǐ"],
			["shù"],
			["liè"]
		],
		"等边三角形": [
			["děng"],
			["biān"],
			["sān"],
			["jiǎo"],
			["xíng"]
		],
		"等不及": [
			["děng"],
			["bù"],
			["jí"]
		],
		"等差级数": [
			["děng"],
			["chà"],
			["jí"],
			["shù"]
		],
		"等差数列": [
			["děng"],
			["chā"],
			["shù"],
			["liè"]
		],
		"等而上之": [
			["děng"],
			["ér"],
			["shàng"],
			["zhī"]
		],
		"等价交换": [
			["děng"],
			["jià"],
			["jiāo"],
			["huàn"]
		],
		"等价连城": [
			["děng"],
			["jià"],
			["lián"],
			["chéng"]
		],
		"等离子体": [
			["děng"],
			["lí"],
			["zǐ"],
			["tǐ"]
		],
		"等礼相亢": [
			["děng"],
			["lǐ"],
			["xiāng"],
			["kàng"]
		],
		"等量齐观": [
			["děng"],
			["liàng"],
			["qí"],
			["guān"]
		],
		"等压线": [
			["děng"],
			["yā"],
			["xiàn"]
		],
		"等腰三角形": [
			["děng"],
			["yāo"],
			["sān"],
			["jiǎo"],
			["xíng"]
		],
		"邓小平理论": [
			["dèng"],
			["xiǎo"],
			["píng"],
			["lǐ"],
			["lùn"]
		],
		"瞪眼咋舌": [
			["dèng"],
			["yǎn"],
			["zé"],
			["shé"]
		],
		"瞪目结舌": [
			["dèng"],
			["mù"],
			["jié"],
			["shé"]
		],
		"低唱浅斟": [
			["dì"],
			["chàng"],
			["qiǎn"],
			["zhēn"]
		],
		"低唱浅酌": [
			["dì"],
			["chàng"],
			["qiǎn"],
			["zhuó"]
		],
		"低回不已": [
			["dī"],
			["huí"],
			["bù"],
			["yǐ"]
		],
		"低级趣味": [
			["dī"],
			["jí"],
			["qù"],
			["wèi"]
		],
		"低眉折腰": [
			["dī"],
			["méi"],
			["zhé"],
			["yāo"]
		],
		"低能儿": [
			["dī"],
			["néng"],
			["ér"]
		],
		"低情曲意": [
			["dī"],
			["qíng"],
			["qū"],
			["yì"]
		],
		"低声细语": [
			["dī"],
			["shēng"],
			["xì"],
			["yǔ"]
		],
		"低声哑气": [
			["dī"],
			["shēng"],
			["yǎ"],
			["qì"]
		],
		"低头耷脑": [
			["dī"],
			["tóu"],
			["dā"],
			["nǎo"]
		],
		"低头搭脑": [
			["dī"],
			["tóu"],
			["dā"],
			["nǎo"]
		],
		"低头丧气": [
			["dī"],
			["tóu"],
			["sàng"],
			["qì"]
		],
		"低头哈腰": [
			["dī"],
			["tóu"],
			["hā"],
			["yāo"]
		],
		"低血糖": [
			["dī"],
			["xuè"],
			["táng"]
		],
		"低血压": [
			["dī"],
			["xuè"],
			["yā"]
		],
		"低吟浅唱": [
			["dī"],
			["yín"],
			["qiǎn"],
			["chàng"]
		],
		"羝羊触藩": [
			["dī"],
			["yáng"],
			["chù"],
			["fān"]
		],
		"堤溃蚁孔": [
			["dī"],
			["kuì"],
			["yǐ"],
			["kǒng"]
		],
		"堤溃蚁穴": [
			["dī"],
			["kuì"],
			["yǐ"],
			["xué"]
		],
		"滴溜儿": [
			["dī"],
			["liù"],
			["ér"]
		],
		"滴滴答答": [
			["dī"],
			["dī"],
			["dā"],
			["dā"]
		],
		"滴溜溜": [
			["dī"],
			["liū"],
			["liū"]
		],
		"滴露研珠": [
			["dī"],
			["lù"],
			["yán"],
			["zhū"]
		],
		"滴露研朱": [
			["dī"],
			["lù"],
			["yán"],
			["zhū"]
		],
		"滴水不羼": [
			["dī"],
			["shuǐ"],
			["bù"],
			["chàn"]
		],
		"滴水不漏": [
			["dī"],
			["shuǐ"],
			["bù"],
			["lòu"]
		],
		"滴水穿石": [
			["dī"],
			["shuǐ"],
			["chuān"],
			["shí"]
		],
		"滴水难消": [
			["dī"],
			["shuǐ"],
			["nán"],
			["xiāo"]
		],
		"敌不可假": [
			["dí"],
			["bù"],
			["kě"],
			["jiǎ"]
		],
		"迪斯尼乐园": [
			["dí"],
			["sī"],
			["ní"],
			["lè"],
			["yuán"]
		],
		"敌忾同仇": [
			["dí"],
			["kài"],
			["tóng"],
			["chóu"]
		],
		"敌不可纵": [
			["dí"],
			["bù"],
			["kě"],
			["zòng"]
		],
		"敌力角气": [
			["dí"],
			["lì"],
			["jiǎo"],
			["qì"]
		],
		"敌王所忾": [
			["dí"],
			["wáng"],
			["suǒ"],
			["kài"]
		],
		"敌占区": [
			["dí"],
			["zhàn"],
			["qū"]
		],
		"涤地无类": [
			["dí"],
			["dì"],
			["wú"],
			["lèi"]
		],
		"涤故更新": [
			["dí"],
			["gù"],
			["gēng"],
			["xīn"]
		],
		"嫡长子": [
			["dí"],
			["zhǎng"],
			["zǐ"]
		],
		"底死谩生": [
			["dǐ"],
			["sǐ"],
			["màn"],
			["shēng"]
		],
		"底下人": [
			["dǐ"],
			["xià"],
			["rén"]
		],
		"抵背扼喉": [
			["dǐ"],
			["bèi"],
			["è"],
			["hóu"]
		],
		"抵死瞒生": [
			["dǐ"],
			["sǐ"],
			["mán"],
			["shēng"]
		],
		"砥节奉公": [
			["dǐ"],
			["jié"],
			["fèng"],
			["gōng"]
		],
		"砥节厉行": [
			["dǐ"],
			["jié"],
			["lì"],
			["xíng"]
		],
		"砥节励行": [
			["dǐ"],
			["jié"],
			["lì"],
			["xíng"]
		],
		"砥节砺行": [
			["dǐ"],
			["jié"],
			["lì"],
			["xíng"]
		],
		"砥砺风节": [
			["dǐ"],
			["lì"],
			["fēng"],
			["jié"]
		],
		"砥厉名号": [
			["dǐ"],
			["lì"],
			["míng"],
			["hào"]
		],
		"砥砺名号": [
			["dǐ"],
			["lì"],
			["míng"],
			["hào"]
		],
		"砥砺名节": [
			["dǐ"],
			["lì"],
			["míng"],
			["jié"]
		],
		"砥砺琢磨": [
			["dǐ"],
			["lì"],
			["zhuó"],
			["mó"]
		],
		"砥身砺行": [
			["dǐ"],
			["shēn"],
			["lì"],
			["xíng"]
		],
		"砥行立名": [
			["dǐ"],
			["xíng"],
			["lì"],
			["míng"]
		],
		"砥行磨名": [
			["dǐ"],
			["xíng"],
			["mó"],
			["míng"]
		],
		"砥志研思": [
			["dǐ"],
			["zhì"],
			["yán"],
			["sī"]
		],
		"砥柱中流": [
			["dǐ"],
			["zhù"],
			["zhōng"],
			["liú"]
		],
		"地北天南": [
			["dì"],
			["běi"],
			["tiān"],
			["nán"]
		],
		"地崩山摧": [
			["dì"],
			["bēng"],
			["shān"],
			["cuī"]
		],
		"地表水": [
			["dì"],
			["biǎo"],
			["shuǐ"]
		],
		"地层学": [
			["dì"],
			["céng"],
			["xué"]
		],
		"地坼天崩": [
			["dì"],
			["chè"],
			["tiān"],
			["bēng"]
		],
		"地丑力敌": [
			["dì"],
			["chǒu"],
			["lì"],
			["dí"]
		],
		"地丑德齐": [
			["dì"],
			["chǒu"],
			["dé"],
			["qí"]
		],
		"地带性": [
			["dì"],
			["dài"],
			["xìng"]
		],
		"地大物博": [
			["dì"],
			["dà"],
			["wù"],
			["bó"]
		],
		"地道战": [
			["dì"],
			["dào"],
			["zhàn"]
		],
		"地动山摧": [
			["dì"],
			["dòng"],
			["shān"],
			["cuī"]
		],
		"地动山摇": [
			["dì"],
			["dòng"],
			["shēn"],
			["yáo"]
		],
		"地动仪": [
			["dì"],
			["dòng"],
			["yí"]
		],
		"地方病": [
			["dì"],
			["fāng"],
			["bìng"]
		],
		"地方官": [
			["dì"],
			["fāng"],
			["guān"]
		],
		"地方民族主义": [
			["dì"],
			["fāng"],
			["mín"],
			["zú"],
			["zhǔ"],
			["yì"]
		],
		"地方时": [
			["dì"],
			["fāng"],
			["shí"]
		],
		"地方税": [
			["dì"],
			["fāng"],
			["shuì"]
		],
		"地方戏": [
			["dì"],
			["fāng"],
			["xì"]
		],
		"地方志": [
			["dì"],
			["fāng"],
			["zhì"]
		],
		"地方主义": [
			["dì"],
			["fāng"],
			["zhǔ"],
			["yì"]
		],
		"地负海涵": [
			["dì"],
			["fù"],
			["hǎi"],
			["hán"]
		],
		"地覆天翻": [
			["dì"],
			["fù"],
			["tiān"],
			["fān"]
		],
		"地广人希": [
			["dì"],
			["guǎng"],
			["rén"],
			["xī"]
		],
		"地骨皮": [
			["dì"],
			["gǔ"],
			["pí"]
		],
		"地广人稀": [
			["dì"],
			["guǎng"],
			["rén"],
			["xī"]
		],
		"地滚球": [
			["dì"],
			["gǔn"],
			["qiú"]
		],
		"地棘天荆": [
			["dì"],
			["jí"],
			["tiān"],
			["jīng"]
		],
		"地瘠民贫": [
			["dì"],
			["jí"],
			["mín"],
			["pín"]
		],
		"地价税": [
			["dì"],
			["jià"],
			["shuì"]
		],
		"地角天涯": [
			["dì"],
			["jiǎo"],
			["tiān"],
			["yá"]
		],
		"地久天长": [
			["dì"],
			["jiǔ"],
			["tiān"],
			["cháng"]
		],
		"地壳运动": [
			["dì"],
			["qiào"],
			["yùn"],
			["dòng"]
		],
		"地空导弹": [
			["dì"],
			["kōng"],
			["dǎo"],
			["dàn"]
		],
		"地旷人稀": [
			["dì"],
			["kuàng"],
			["rén"],
			["xī"]
		],
		"地老虎": [
			["dì"],
			["lǎo"],
			["hǔ"]
		],
		"地老天荒": [
			["dì"],
			["lǎo"],
			["tiān"],
			["huāng"]
		],
		"地老天昏": [
			["dì"],
			["lǎo"],
			["tiān"],
			["hūn"]
		],
		"地雷战": [
			["dì"],
			["léi"],
			["zhàn"]
		],
		"地理环境": [
			["dì"],
			["lǐ"],
			["huán"],
			["jìng"]
		],
		"地理数据库": [
			["dì"],
			["lǐ"],
			["shù"],
			["jù"],
			["kù"]
		],
		"地理位置": [
			["dì"],
			["lǐ"],
			["wèi"],
			["zhì"]
		],
		"地理信息": [
			["dì"],
			["lǐ"],
			["xìn"],
			["xī"]
		],
		"地理信息系统": [
			["dì"],
			["lǐ"],
			["xìn"],
			["xī"],
			["xì"],
			["tǒng"]
		],
		"地理学": [
			["dì"],
			["lǐ"],
			["xué"]
		],
		"地利人和": [
			["dì"],
			["lì"],
			["rén"],
			["hé"]
		],
		"地沥青": [
			["dì"],
			["lì"],
			["qīng"]
		],
		"地灵人杰": [
			["dì"],
			["líng"],
			["rén"],
			["jié"]
		],
		"地貌学": [
			["dì"],
			["mào"],
			["xué"]
		],
		"地面沉降": [
			["dì"],
			["miàn"],
			["chén"],
			["jiàng"]
		],
		"地面灌溉": [
			["dì"],
			["miàn"],
			["guàn"],
			["gài"]
		],
		"地面水": [
			["dì"],
			["miàn"],
			["shuǐ"]
		],
		"地平线": [
			["dì"],
			["píng"],
			["xiàn"]
		],
		"地平天成": [
			["dì"],
			["píng"],
			["tiān"],
			["chéng"]
		],
		"地球化学": [
			["dì"],
			["qiú"],
			["huà"],
			["xué"]
		],
		"地球物理学": [
			["dì"],
			["qiú"],
			["wù"],
			["lǐ"],
			["xué"]
		],
		"地球仪": [
			["dì"],
			["qiú"],
			["yí"]
		],
		"地球资源卫星": [
			["dì"],
			["qiú"],
			["zī"],
			["yuán"],
			["wèi"],
			["xīng"]
		],
		"地区差价": [
			["dì"],
			["qū"],
			["chā"],
			["jià"]
		],
		"地塞米松": [
			["dì"],
			["sāi"],
			["mǐ"],
			["sōng"]
		],
		"地上茎": [
			["dì"],
			["shàng"],
			["jīng"]
		],
		"地上天宫": [
			["dì"],
			["shàng"],
			["tiān"],
			["gōng"]
		],
		"地上天官": [
			["dì"],
			["shàng"],
			["tiān"],
			["guān"]
		],
		"地塌天荒": [
			["dì"],
			["tā"],
			["tiān"],
			["huāng"]
		],
		"地头蛇": [
			["dì"],
			["tóu"],
			["shé"]
		],
		"地图册": [
			["dì"],
			["tú"],
			["cè"]
		],
		"地网天罗": [
			["dì"],
			["wǎng"],
			["tiān"],
			["luó"]
		],
		"地图学": [
			["dì"],
			["tú"],
			["xué"]
		],
		"地下河": [
			["dì"],
			["xià"],
			["hé"]
		],
		"地下街": [
			["dì"],
			["xià"],
			["jiē"]
		],
		"地下茎": [
			["dì"],
			["xià"],
			["jīng"]
		],
		"地下室": [
			["dì"],
			["xià"],
			["shì"]
		],
		"地下水": [
			["dì"],
			["xià"],
			["shuǐ"]
		],
		"地下水库": [
			["dì"],
			["xià"],
			["shuǐ"],
			["kù"]
		],
		"地下铁道": [
			["dì"],
			["xià"],
			["tiě"],
			["dào"]
		],
		"地心说": [
			["dì"],
			["xīn"],
			["shuō"]
		],
		"地下修文": [
			["dì"],
			["xià"],
			["xiū"],
			["wén"]
		],
		"地心引力": [
			["dì"],
			["xīn"],
			["yǐn"],
			["lì"]
		],
		"地形图": [
			["dì"],
			["xíng"],
			["tú"]
		],
		"地窨子": [
			["dì"],
			["yìn"],
			["zǐ"]
		],
		"地狱变相": [
			["dì"],
			["yù"],
			["biàn"],
			["xiàng"]
		],
		"地震波": [
			["dì"],
			["zhèn"],
			["bō"]
		],
		"地震带": [
			["dì"],
			["zhèn"],
			["dài"]
		],
		"地震烈度": [
			["dì"],
			["zhèn"],
			["liè"],
			["dù"]
		],
		"地震学": [
			["dì"],
			["zhèn"],
			["xué"]
		],
		"地震仪": [
			["dì"],
			["zhèn"],
			["yí"]
		],
		"地震预报": [
			["dì"],
			["zhèn"],
			["yù"],
			["bào"]
		],
		"地震震级": [
			["dì"],
			["zhèn"],
			["zhèn"],
			["jí"]
		],
		"地质力学": [
			["dì"],
			["zhì"],
			["lì"],
			["xué"]
		],
		"地质年代": [
			["dì"],
			["zhì"],
			["nián"],
			["dài"]
		],
		"地质学": [
			["dì"],
			["zhì"],
			["xué"]
		],
		"地中海": [
			["dì"],
			["zhōng"],
			["hǎi"]
		],
		"地中海气候": [
			["dì"],
			["zhōng"],
			["hǎi"],
			["qì"],
			["hòu"]
		],
		"地主阶级": [
			["dì"],
			["zhǔ"],
			["jiē"],
			["jí"]
		],
		"地主之仪": [
			["dì"],
			["zhǔ"],
			["zhī"],
			["yí"]
		],
		"地主之谊": [
			["dì"],
			["zhǔ"],
			["zhī"],
			["yì"]
		],
		"弟男子侄": [
			["dì"],
			["nán"],
			["zǐ"],
			["zhí"]
		],
		"帝王将相": [
			["dì"],
			["wáng"],
			["jiàng"],
			["xiàng"]
		],
		"递条子": [
			["dì"],
			["tiáo"],
			["zi"]
		],
		"递兴递废": [
			["dì"],
			["xīng"],
			["dì"],
			["fèi"]
		],
		"第二信号系统": [
			["dì"],
			["èr"],
			["xìn"],
			["hào"],
			["xì"],
			["tǒng"]
		],
		"第五纵队": [
			["dì"],
			["wǔ"],
			["zòng"],
			["duì"]
		],
		"第一次世界大战": [
			["dì"],
			["yí"],
			["cì"],
			["shì"],
			["jiè"],
			["dà"],
			["zhàn"]
		],
		"第一信号系统": [
			["dì"],
			["yī"],
			["shēn"],
			["hào"],
			["xì"],
			["tǒng"]
		],
		"谛分审布": [
			["dì"],
			["fēn"],
			["shěn"],
			["bù"]
		],
		"缔约国": [
			["dì"],
			["yuē"],
			["guó"]
		],
		"掂斤估两": [
			["diān"],
			["jīn"],
			["gū"],
			["liǎng"]
		],
		"掂斤抹两": [
			["diān"],
			["jīn"],
			["mò"],
			["liǎng"]
		],
		"掂梢折本": [
			["diān"],
			["shāo"],
			["shé"],
			["běn"]
		],
		"颠簸不破": [
			["diān"],
			["bǒ"],
			["bù"],
			["pò"]
		],
		"颠唇簸嘴": [
			["diān"],
			["chún"],
			["bò"],
			["zuǐ"]
		],
		"颠倒干坤": [
			["diān"],
			["dǎo"],
			["gàn"],
			["kūn"]
		],
		"颠倒黑白": [
			["diān"],
			["dǎo"],
			["hēi"],
			["bái"]
		],
		"颠倒乾坤": [
			["diān"],
			["dǎo"],
			["qián"],
			["kūn"]
		],
		"颠倒是非": [
			["diān"],
			["dǎo"],
			["shì"],
			["fēi"]
		],
		"颠倒衣裳": [
			["diān"],
			["dǎo"],
			["yī"],
			["cháng"]
		],
		"颠倒阴阳": [
			["diān"],
			["dǎo"],
			["yīn"],
			["yáng"]
		],
		"颠颠倒倒": [
			["diān"],
			["diān"],
			["dǎo"],
			["dǎo"]
		],
		"颠来簸去": [
			["diān"],
			["lái"],
			["bǒ"],
			["qù"]
		],
		"颠来倒去": [
			["diān"],
			["lái"],
			["dǎo"],
			["qù"]
		],
		"颠毛种种": [
			["diān"],
			["máo"],
			["zhǒng"],
			["zhǒng"]
		],
		"颠鸾倒凤": [
			["diān"],
			["luán"],
			["dǎo"],
			["fèng"]
		],
		"颠仆流离": [
			["diān"],
			["pú"],
			["liú"],
			["lí"]
		],
		"颠扑不磨": [
			["diān"],
			["pū"],
			["bù"],
			["mó"]
		],
		"颠扑不破": [
			["diān"],
			["pū"],
			["bù"],
			["pò"]
		],
		"颠乾倒坤": [
			["diān"],
			["qiān"],
			["dǎo"],
			["kūn"]
		],
		"颠三倒四": [
			["diān"],
			["sān"],
			["dǎo"],
			["sì"]
		],
		"颠衣到裳": [
			["diān"],
			["yī"],
			["dào"],
			["shang"]
		],
		"攧扑不破": [
			["diān"],
			["pū"],
			["bù"],
			["pò"]
		],
		"典妻鬻子": [
			["diǎn"],
			["qī"],
			["yù"],
			["zǐ"]
		],
		"典型化": [
			["diǎn"],
			["xíng"],
			["huà"]
		],
		"点金乏术": [
			["diǎn"],
			["jīn"],
			["fá"],
			["shù"]
		],
		"点金无术": [
			["diǎn"],
			["jīn"],
			["wú"],
			["shù"]
		],
		"点石成金": [
			["diǎn"],
			["shí"],
			["chéng"],
			["jīn"]
		],
		"点手划脚": [
			["diǎn"],
			["shǒu"],
			["jí"],
			["jiǎo"]
		],
		"点石为金": [
			["diǎn"],
			["shí"],
			["wéi"],
			["jīn"]
		],
		"点水不漏": [
			["diǎn"],
			["shuǐ"],
			["bù"],
			["lòu"]
		],
		"点头会意": [
			["diǎn"],
			["tóu"],
			["huì"],
			["yì"]
		],
		"点头哈腰": [
			["diǎn"],
			["tóu"],
			["hā"],
			["yāo"]
		],
		"点头咂嘴": [
			["diǎn"],
			["tóu"],
			["zā"],
			["zuǐ"]
		],
		"点头之交": [
			["diǎn"],
			["tóu"],
			["zhī"],
			["jiāo"]
		],
		"点胸洗眼": [
			["diǎn"],
			["xiōng"],
			["xǐ"],
			["yǎn"]
		],
		"点指划脚": [
			["diǎn"],
			["zhǐ"],
			["jí"],
			["jiǎo"]
		],
		"碘化物": [
			["diǎn"],
			["huà"],
			["wù"]
		],
		"电报挂号": [
			["diàn"],
			["bào"],
			["guà"],
			["hào"]
		],
		"电冰柜": [
			["diàn"],
			["bīng"],
			["guì"]
		],
		"电掣风驰": [
			["diàn"],
			["chè"],
			["fēng"],
			["chí"]
		],
		"电吹风": [
			["diàn"],
			["chuī"],
			["fēng"]
		],
		"电磁场": [
			["diàn"],
			["cí"],
			["chǎng"]
		],
		"电磁感应": [
			["diàn"],
			["cí"],
			["gǎn"],
			["yìng"]
		],
		"电灯泡": [
			["diàn"],
			["dēng"],
			["pào"]
		],
		"电度表": [
			["diàn"],
			["dù"],
			["biǎo"]
		],
		"电风扇": [
			["diàn"],
			["fēng"],
			["shàn"]
		],
		"电功率": [
			["diàn"],
			["gōng"],
			["lǜ"]
		],
		"电光朝露": [
			["diàn"],
			["guāng"],
			["zhāo"],
			["lù"]
		],
		"电光石火": [
			["diàn"],
			["guāng"],
			["shí"],
			["huǒ"]
		],
		"电荷耦合器件": [
			["diàn"],
			["hè"],
			["ǒu"],
			["hé"],
			["qì"],
			["jiàn"]
		],
		"电化教学": [
			["diàn"],
			["huà"],
			["jiào"],
			["xué"]
		],
		"电化教育": [
			["diàn"],
			["huà"],
			["jiào"],
			["yù"]
		],
		"电话会议": [
			["diàn"],
			["huà"],
			["huì"],
			["yì"]
		],
		"电话号码": [
			["diàn"],
			["huà"],
			["hào"],
			["mǎ"]
		],
		"电解质": [
			["diàn"],
			["jiě"],
			["zhì"]
		],
		"电烙铁": [
			["diàn"],
			["lào"],
			["tiě"]
		],
		"电力机车": [
			["diàn"],
			["lì"],
			["jī"],
			["chē"]
		],
		"电力系统": [
			["diàn"],
			["lì"],
			["xì"],
			["tǒng"]
		],
		"电流放大器": [
			["diàn"],
			["liú"],
			["fàng"],
			["dà"],
			["qì"]
		],
		"电流强度": [
			["diàn"],
			["liú"],
			["qiáng"],
			["dù"]
		],
		"电流星散": [
			["diàn"],
			["liú"],
			["xīng"],
			["sàn"]
		],
		"电脑病毒": [
			["diàn"],
			["nǎo"],
			["bìng"],
			["dú"]
		],
		"电能表": [
			["diàn"],
			["néng"],
			["biǎo"]
		],
		"电瓶车": [
			["diàn"],
			["píng"],
			["chē"]
		],
		"电气化": [
			["diàn"],
			["qì"],
			["huà"]
		],
		"电气石": [
			["diàn"],
			["qì"],
			["shí"]
		],
		"电气化铁路": [
			["diàn"],
			["qì"],
			["huà"],
			["tiě"],
			["lù"]
		],
		"电石气": [
			["diàn"],
			["shí"],
			["qì"]
		],
		"电势差": [
			["diàn"],
			["shì"],
			["chà"]
		],
		"电视大学": [
			["diàn"],
			["shì"],
			["dà"],
			["xué"]
		],
		"电视发射塔": [
			["diàn"],
			["shì"],
			["fā"],
			["shè"],
			["tǎ"]
		],
		"电视广播": [
			["diàn"],
			["shì"],
			["guǎng"],
			["bō"]
		],
		"电视会议": [
			["diàn"],
			["shì"],
			["huì"],
			["yì"]
		],
		"电视片": [
			["diàn"],
			["shì"],
			["piàn"]
		],
		"电视频道": [
			["diàn"],
			["shì"],
			["pín"],
			["dào"]
		],
		"电视台": [
			["diàn"],
			["shì"],
			["tái"]
		],
		"电视系列片": [
			["diàn"],
			["shì"],
			["xì"],
			["liè"],
			["piàn"]
		],
		"电位差": [
			["diàn"],
			["wèi"],
			["chà"]
		],
		"电线杆": [
			["diàn"],
			["xiàn"],
			["gān"]
		],
		"电压表": [
			["diàn"],
			["yā"],
			["biǎo"]
		],
		"电压放大器": [
			["diàn"],
			["yā"],
			["fàng"],
			["dà"],
			["qì"]
		],
		"电压互感器": [
			["diàn"],
			["yā"],
			["hù"],
			["gǎn"],
			["qì"]
		],
		"电压计": [
			["diàn"],
			["yā"],
			["jì"]
		],
		"电影摄影机": [
			["diàn"],
			["yǐng"],
			["shè"],
			["yǐng"],
			["jī"]
		],
		"电熨斗": [
			["diàn"],
			["yùn"],
			["dǒu"]
		],
		"电照风行": [
			["diàn"],
			["zhào"],
			["fēng"],
			["xíng"]
		],
		"电子干扰": [
			["diàn"],
			["zǐ"],
			["gān"],
			["rǎo"]
		],
		"电子乐器": [
			["diàn"],
			["zǐ"],
			["yuè"],
			["qì"]
		],
		"电子音乐": [
			["diàn"],
			["zǐ"],
			["yīn"],
			["yuè"]
		],
		"电子游戏": [
			["diàn"],
			["zǐ"],
			["yóu"],
			["xì"]
		],
		"电子游戏机": [
			["diàn"],
			["zǐ"],
			["yóu"],
			["xì"],
			["jī"]
		],
		"电阻率": [
			["diàn"],
			["zǔ"],
			["lǜ"]
		],
		"垫底儿": [
			["diàn"],
			["dǐ"],
			["ér"]
		],
		"垫上运动": [
			["diàn"],
			["shàng"],
			["yùn"],
			["dòng"]
		],
		"垫脚石": [
			["diàn"],
			["jiǎo"],
			["shí"]
		],
		"钿合金钗": [
			["diàn"],
			["hé"],
			["jīn"],
			["chāi"]
		],
		"奠基石": [
			["diàn"],
			["jī"],
			["shí"]
		],
		"簟纹如水": [
			["diàn"],
			["wén"],
			["rú"],
			["shuǐ"]
		],
		"刁斗森严": [
			["diāo"],
			["dǒu"],
			["sēn"],
			["yán"]
		],
		"刁天决地": [
			["diāo"],
			["tiān"],
			["jué"],
			["dì"]
		],
		"刁钻促搯": [
			["diāo"],
			["zuàn"],
			["cù"],
			["chāo"]
		],
		"刁钻促狭": [
			["diāo"],
			["zuàn"],
			["cù"],
			["xiá"]
		],
		"刁钻古怪": [
			["diāo"],
			["zuān"],
			["gǔ"],
			["guài"]
		],
		"刁钻刻薄": [
			["diāo"],
			["zuān"],
			["kè"],
			["bó"]
		],
		"彫肝琢肾": [
			["diāo"],
			["gān"],
			["zhuó"],
			["shèn"]
		],
		"彫章镂句": [
			["diāo"],
			["zhāng"],
			["lòu"],
			["jù"]
		],
		"貂狗相属": [
			["diāo"],
			["gǒu"],
			["xiāng"],
			["shǔ"]
		],
		"雕虫薄技": [
			["diāo"],
			["chóng"],
			["báo"],
			["jì"]
		],
		"雕虫末伎": [
			["diāo"],
			["chóng"],
			["mò"],
			["jì"]
		],
		"雕风镂月": [
			["diāo"],
			["fēng"],
			["lòu"],
			["yuè"]
		],
		"雕肝琢膂": [
			["diāo"],
			["gān"],
			["zhuó"],
			["lǚ"]
		],
		"雕肝琢肾": [
			["diāo"],
			["gān"],
			["zhuó"],
			["shèn"]
		],
		"雕蚶镂蛤": [
			["diāo"],
			["hān"],
			["lòu"],
			["gé"]
		],
		"雕栏玉砌": [
			["diāo"],
			["lán"],
			["yù"],
			["qì"]
		],
		"雕阑玉砌": [
			["diāo"],
			["lán"],
			["yù"],
			["qì"]
		],
		"雕盘绮食": [
			["diāo"],
			["pán"],
			["qǐ"],
			["shí"]
		],
		"雕文织采": [
			["diāo"],
			["wén"],
			["zhī"],
			["cǎi"]
		],
		"雕心雁爪": [
			["diāo"],
			["xīn"],
			["yàn"],
			["zhǎo"]
		],
		"雕心鹰爪": [
			["diāo"],
			["xīn"],
			["yīng"],
			["zhǎo"]
		],
		"雕楹碧槛": [
			["diāo"],
			["yíng"],
			["bì"],
			["kǎn"]
		],
		"雕章镂句": [
			["diāo"],
			["zhāng"],
			["lòu"],
			["jù"]
		],
		"雕章绘句": [
			["diāo"],
			["zhāng"],
			["huì"],
			["jù"]
		],
		"雕章琢句": [
			["diāo"],
			["zhāng"],
			["zhuó"],
			["jù"]
		],
		"吊胆提心": [
			["diào"],
			["dǎn"],
			["tí"],
			["xīn"]
		],
		"吊儿郎当": [
			["diào"],
			["er"],
			["láng"],
			["dāng"]
		],
		"吊尔郎当": [
			["diào"],
			["er"],
			["láng"],
			["dāng"]
		],
		"钓名要誉": [
			["diào"],
			["míng"],
			["yào"],
			["yù"]
		],
		"钓游之地": [
			["diào"],
			["yóu"],
			["zhī"],
			["dì"]
		],
		"钓鱼台": [
			["diào"],
			["yú"],
			["tái"]
		],
		"调兵遣将": [
			["diào"],
			["bīng"],
			["qiǎn"],
			["jiàng"]
		],
		"调查研究": [
			["diào"],
			["chá"],
			["yán"],
			["jiū"]
		],
		"调唇弄舌": [
			["tiáo"],
			["chún"],
			["nòng"],
			["shé"]
		],
		"调词架讼": [
			["tiáo"],
			["cí"],
			["jià"],
			["sòng"]
		],
		"调风变俗": [
			["tiáo"],
			["fēng"],
			["biàn"],
			["sú"]
		],
		"调风弄月": [
			["tiáo"],
			["fēng"],
			["nòng"],
			["yuè"]
		],
		"调和鼎鼐": [
			["tiáo"],
			["hé"],
			["dǐng"],
			["nài"]
		],
		"调和阴阳": [
			["tiáo"],
			["hé"],
			["yīn"],
			["yáng"]
		],
		"调虎离山": [
			["diào"],
			["hǔ"],
			["lí"],
			["shān"]
		],
		"调理阴阳": [
			["tiáo"],
			["lǐ"],
			["yīn"],
			["yáng"]
		],
		"调良稳泛": [
			["tiáo"],
			["liáng"],
			["wěn"],
			["fàn"]
		],
		"调门儿": [
			["diào"],
			["mén"],
			["ér"]
		],
		"调墨弄笔": [
			["tiáo"],
			["mò"],
			["nòng"],
			["bǐ"]
		],
		"调皮鬼": [
			["tiáo"],
			["pí"],
			["guǐ"]
		],
		"调三窝四": [
			["tiáo"],
			["sān"],
			["wō"],
			["sì"]
		],
		"调三惑四": [
			["tiáo"],
			["sān"],
			["huò"],
			["sì"]
		],
		"调三斡四": [
			["tiáo"],
			["sān"],
			["wò"],
			["sì"]
		],
		"调色板": [
			["tiáo"],
			["sè"],
			["bǎn"]
		],
		"调舌弄唇": [
			["tiáo"],
			["shé"],
			["nòng"],
			["chún"]
		],
		"调神畅情": [
			["tiáo"],
			["shén"],
			["chàng"],
			["qíng"]
		],
		"调丝品竹": [
			["tiáo"],
			["sī"],
			["pǐn"],
			["zhú"]
		],
		"调停两用": [
			["tiáo"],
			["tíng"],
			["liǎng"],
			["yòng"]
		],
		"调味品": [
			["tiáo"],
			["wèi"],
			["pǐn"]
		],
		"调弦品竹": [
			["diào"],
			["xián"],
			["pǐn"],
			["zhú"]
		],
		"调脂弄粉": [
			["tiáo"],
			["zhī"],
			["nòng"],
			["fěn"]
		],
		"调嘴调舌": [
			["tiáo"],
			["zuǐ"],
			["diào"],
			["shé"]
		],
		"调朱傅粉": [
			["tiáo"],
			["zhū"],
			["fù"],
			["fěn"]
		],
		"调朱弄粉": [
			["tiáo"],
			["zhū"],
			["nòng"],
			["fěn"]
		],
		"调嘴弄舌": [
			["tiáo"],
			["zuǐ"],
			["nòng"],
			["shé"]
		],
		"调嘴学舌": [
			["tiáo"],
			["zuǐ"],
			["xué"],
			["shé"]
		],
		"掉臂不顾": [
			["diào"],
			["bì"],
			["bù"],
			["gù"]
		],
		"掉过儿": [
			["diào"],
			["guò"],
			["ér"]
		],
		"掉头鼠窜": [
			["diào"],
			["tóu"],
			["shǔ"],
			["cuàn"]
		],
		"跌打损伤": [
			["diē"],
			["dǎ"],
			["sǔn"],
			["shāng"]
		],
		"跌弹斑鸠": [
			["diē"],
			["dàn"],
			["bān"],
			["jiū"]
		],
		"跌宕不羁": [
			["dié"],
			["dàng"],
			["bù"],
			["jī"]
		],
		"跌宕风流": [
			["diē"],
			["dàng"],
			["fēng"],
			["liú"]
		],
		"跌荡不拘": [
			["diē"],
			["dàng"],
			["bù"],
			["jū"]
		],
		"跌荡不羁": [
			["diē"],
			["dàng"],
			["bù"],
			["jī"]
		],
		"跌荡风流": [
			["diē"],
			["dàng"],
			["fēng"],
			["liú"]
		],
		"迭矩重规": [
			["dié"],
			["jǔ"],
			["chóng"],
			["guī"]
		],
		"喋喋不休": [
			["dié"],
			["dié"],
			["bù"],
			["xiū"]
		],
		"叠矩重规": [
			["dié"],
			["jǔ"],
			["chóng"],
			["guī"]
		],
		"蹀躞不下": [
			["dié"],
			["xiè"],
			["bù"],
			["xià"]
		],
		"鲽离鹣背": [
			["dié"],
			["lí"],
			["jiān"],
			["bèi"]
		],
		"丁点儿": [
			["dīng"],
			["diǎn"],
			["er"]
		],
		"丁丁当当": [
			["dīng"],
			["dīng"],
			["dāng"],
			["dāng"]
		],
		"丁公凿井": [
			["dīng"],
			["gōng"],
			["záo"],
			["jǐng"]
		],
		"丁公藤": [
			["dīng"],
			["gōng"],
			["téng"]
		],
		"丁零当啷": [
			["dīng"],
			["líng"],
			["dāng"],
			["lāng"]
		],
		"丁一卯二": [
			["dīng"],
			["yī"],
			["mǎo"],
			["èr"]
		],
		"丁一确二": [
			["dīng"],
			["yī"],
			["què"],
			["èr"]
		],
		"丁字尺": [
			["dīng"],
			["zì"],
			["chǐ"]
		],
		"丁字街": [
			["dīng"],
			["zì"],
			["jiē"]
		],
		"叮叮当当": [
			["dīng"],
			["dīng"],
			["dāng"],
			["dāng"]
		],
		"钉齿耙": [
			["dīng"],
			["chǐ"],
			["bà"]
		],
		"钉头磷磷": [
			["ding"],
			["tou"],
			["lin"],
			["lin"]
		],
		"钉子户": [
			["dīng"],
			["zi"],
			["hù"]
		],
		"钉嘴铁舌": [
			["dīng"],
			["zuǐ"],
			["tiě"],
			["shé"]
		],
		"顶风冒雪": [
			["dǐng"],
			["fēng"],
			["mào"],
			["xuě"]
		],
		"顶呱呱": [
			["dǐng"],
			["guā"],
			["guā"]
		],
		"顶门杠": [
			["dǐng"],
			["mén"],
			["gàng"]
		],
		"顶天踵地": [
			["dǐng"],
			["tiān"],
			["zhǒng"],
			["dì"]
		],
		"顶天立地": [
			["dǐng"],
			["tiān"],
			["lì"],
			["dì"]
		],
		"顶名冒姓": [
			["dǐng"],
			["míng"],
			["mào"],
			["xìng"]
		],
		"顶头上司": [
			["dǐng"],
			["tóu"],
			["shàng"],
			["sī"]
		],
		"顶踵尽捐": [
			["dǐng"],
			["zhǒng"],
			["jìn"],
			["juān"]
		],
		"鼎铛玉石": [
			["dǐng"],
			["chēng"],
			["yù"],
			["shí"]
		],
		"顶踵捐糜": [
			["dǐng"],
			["zhǒng"],
			["juān"],
			["mí"]
		],
		"鼎铛有耳": [
			["dǐng"],
			["chēng"],
			["yǒu"],
			["ěr"]
		],
		"鼎鼎大名": [
			["dǐng"],
			["dǐng"],
			["dà"],
			["míng"]
		],
		"鼎鼎有名": [
			["dǐng"],
			["dǐng"],
			["yǒu"],
			["míng"]
		],
		"鼎分三足": [
			["dǐng"],
			["fēn"],
			["sān"],
			["zú"]
		],
		"鼎鼐调和": [
			["dǐng"],
			["nai"],
			["tiáo"],
			["hé"]
		],
		"鼎食鸣钟": [
			["dǐng"],
			["shí"],
			["míng"],
			["zhōng"]
		],
		"鼎食鸣锺": [
			["dǐng"],
			["shí"],
			["míng"],
			["zhōng"]
		],
		"鼎食钟鸣": [
			["dǐng"],
			["shí"],
			["zhōng"],
			["míng"]
		],
		"鼎鱼幕燕": [
			["dǐng"],
			["yú"],
			["mù"],
			["yàn"]
		],
		"鼎玉龟符": [
			["dǐng"],
			["yù"],
			["guī"],
			["fú"]
		],
		"鼎折覆餗": [
			["dǐng"],
			["shé"],
			["fù"],
			["sù"]
		],
		"鼎折餗覆": [
			["dǐng"],
			["shé"],
			["sù"],
			["fù"]
		],
		"鼎足三分": [
			["dǐng"],
			["zú"],
			["sān"],
			["fēn"]
		],
		"定场白": [
			["dìng"],
			["chǎng"],
			["bái"]
		],
		"定场诗": [
			["dìng"],
			["chǎng"],
			["shī"]
		],
		"定调子": [
			["dìng"],
			["diào"],
			["zi"]
		],
		"定冠词": [
			["dìng"],
			["guàn"],
			["cí"]
		],
		"定货单": [
			["dìng"],
			["huò"],
			["dān"]
		],
		"定量分析": [
			["dìng"],
			["liàng"],
			["fēn"],
			["xī"]
		],
		"定乱扶衰": [
			["dìng"],
			["luàn"],
			["fú"],
			["shuāi"]
		],
		"定时炸弹": [
			["dìng"],
			["shí"],
			["zhà"],
			["dàn"]
		],
		"定性分析": [
			["dìng"],
			["xìng"],
			["fēn"],
			["xī"]
		],
		"丢魂丧胆": [
			["diu1"],
			["hún"],
			["sàng"],
			["dǎn"]
		],
		"丢三落四": [
			["diū"],
			["sān"],
			["là"],
			["sì"]
		],
		"丢三拉四": [
			["diu"],
			["sān"],
			["lā"],
			["sì"]
		],
		"丢下耙儿弄扫帚": [
			["diū"],
			["xià"],
			["pá"],
			["er"],
			["nòng"],
			["sào"],
			["zhǒu"]
		],
		"丢卒保车": [
			["diū"],
			["zú"],
			["bǎo"],
			["jū"]
		],
		"东挨西撞": [
			["dōng"],
			["āi"],
			["xī"],
			["zhuàng"]
		],
		"东北虎": [
			["dōng"],
			["běi"],
			["hǔ"]
		],
		"东奔西窜": [
			["dōng"],
			["bēn"],
			["xī"],
			["cuàn"]
		],
		"东奔西跑": [
			["dōng"],
			["bēn"],
			["xī"],
			["pǎo"]
		],
		"东奔西逃": [
			["dōng"],
			["bēn"],
			["xī"],
			["táo"]
		],
		"东奔西向": [
			["dōng"],
			["bēn"],
			["xī"],
			["xiàng"]
		],
		"东奔西撞": [
			["dōng"],
			["bēn"],
			["xī"],
			["zhuàng"]
		],
		"东奔西走": [
			["dōng"],
			["bēn"],
			["xī"],
			["zǒu"]
		],
		"东猜西揣": [
			["dōng"],
			["cāi"],
			["xī"],
			["chuāi"]
		],
		"东猜西疑": [
			["dōng"],
			["cāi"],
			["xī"],
			["yí"]
		],
		"东差西误": [
			["dōng"],
			["chà"],
			["xī"],
			["wù"]
		],
		"东藏西躲": [
			["dōng"],
			["cáng"],
			["xī"],
			["duǒ"]
		],
		"东扯西拉": [
			["dōng"],
			["chě"],
			["xī"],
			["lā"]
		],
		"东扯西拽": [
			["dōng"],
			["chě"],
			["xī"],
			["zhuāi"]
		],
		"东冲西决": [
			["dōng"],
			["chōng"],
			["xī"],
			["jué"]
		],
		"东冲西突": [
			["dōng"],
			["chōng"],
			["xī"],
			["tū"]
		],
		"东冲西撞": [
			["dōng"],
			["chōng"],
			["xī"],
			["zhuàng"]
		],
		"东窗事发": [
			["dōng"],
			["chuāng"],
			["shì"],
			["fā"]
		],
		"东床择对": [
			["dōng"],
			["chuáng"],
			["zé"],
			["duì"]
		],
		"东床姣婿": [
			["dōng"],
			["chuáng"],
			["jiāo"],
			["xù"]
		],
		"东倒西歪": [
			["dōng"],
			["dǎo"],
			["xī"],
			["wāi"]
		],
		"东躲西藏": [
			["dōng"],
			["duǒ"],
			["xī"],
			["cáng"]
		],
		"东躲西跑": [
			["dōng"],
			["duǒ"],
			["xī"],
			["pǎo"]
		],
		"东方不亮西方亮": [
			["dōng"],
			["fāng"],
			["bù"],
			["liàng"],
			["xī"],
			["fāng"],
			["liàng"]
		],
		"东方将白": [
			["dong"],
			["fang"],
			["jiang"],
			["bai"]
		],
		"东方文化": [
			["dōng"],
			["fāng"],
			["wén"],
			["huà"]
		],
		"东风吹马耳": [
			["dōng"],
			["fēng"],
			["chuī"],
			["mǎ"],
			["ěr"]
		],
		"东风过耳": [
			["dōng"],
			["fēng"],
			["guò"],
			["ěr"]
		],
		"东风浩荡": [
			["dōng"],
			["fēng"],
			["hào"],
			["dàng"]
		],
		"东风化雨": [
			["dōng"],
			["fēng"],
			["huà"],
			["yǔ"]
		],
		"东风马耳": [
			["dōng"],
			["fēng"],
			["mǎ"],
			["ěr"]
		],
		"东风人面": [
			["dōng"],
			["fēng"],
			["rén"],
			["miàn"]
		],
		"东风入律": [
			["dōng"],
			["fēng"],
			["rù"],
			["lǜ"]
		],
		"东风射马耳": [
			["dōng"],
			["fēng"],
			["shè"],
			["mǎ"],
			["ěr"]
		],
		"东风压倒西风": [
			["dōng"],
			["fēng"],
			["yā"],
			["dǎo"],
			["xī"],
			["fēng"]
		],
		"东扶西倒": [
			["dōng"],
			["fú"],
			["xī"],
			["dǎo"]
		],
		"东观西望": [
			["dōng"],
			["guāng"],
			["xī"],
			["wàng"]
		],
		"东观续史": [
			["dōng"],
			["guān"],
			["xù"],
			["shǐ"]
		],
		"东观之殃": [
			["dōng"],
			["guān"],
			["zhī"],
			["yāng"]
		],
		"东横西倒": [
			["dōng"],
			["héng"],
			["xī"],
			["dǎo"]
		],
		"东家西舍": [
			["dōng"],
			["jiā"],
			["xī"],
			["shě"]
		],
		"东家效颦": [
			["dōng"],
			["jiā"],
			["xiào"],
			["pín"]
		],
		"东箭南金": [
			["dōng"],
			["jiàn"],
			["nán"],
			["jīn"]
		],
		"东京大学": [
			["dōng"],
			["jīng"],
			["dà"],
			["xué"]
		],
		"东拉西扯": [
			["dōng"],
			["lā"],
			["xī"],
			["chě"]
		],
		"东劳西燕": [
			["dōng"],
			["láo"],
			["xī"],
			["yàn"]
		],
		"东量西折": [
			["dōng"],
			["liàng"],
			["xī"],
			["shé"]
		],
		"东鳞西爪": [
			["dōng"],
			["lín"],
			["xī"],
			["zhǎo"]
		],
		"东零西落": [
			["dōng"],
			["líng"],
			["xī"],
			["luò"]
		],
		"东零西散": [
			["dōng"],
			["líng"],
			["xī"],
			["sàn"]
		],
		"东流西上": [
			["dōng"],
			["liú"],
			["xī"],
			["shàng"]
		],
		"东流西落": [
			["dōng"],
			["liú"],
			["xī"],
			["luò"]
		],
		"东鸣西应": [
			["dōng"],
			["míng"],
			["xī"],
			["yīng"]
		],
		"东抹西涂": [
			["dōng"],
			["mò"],
			["xī"],
			["tú"]
		],
		"东南半壁": [
			["dōng"],
			["nán"],
			["bàn"],
			["bì"]
		],
		"东南欧": [
			["dōng"],
			["nán"],
			["ōu"]
		],
		"东南雀飞": [
			["dōng"],
			["nán"],
			["què"],
			["fēi"]
		],
		"东南亚": [
			["dōng"],
			["nán"],
			["yà"]
		],
		"东南亚国家联盟": [
			["dōng"],
			["nán"],
			["yà"],
			["guó"],
			["jiā"],
			["lián"],
			["méng"]
		],
		"东南之宝": [
			["dōng"],
			["nán"],
			["zhī"],
			["bǎo"]
		],
		"东南之美": [
			["dōng"],
			["nán"],
			["zhī"],
			["měi"]
		],
		"东南之秀": [
			["dōng"],
			["nán"],
			["zhī"],
			["xiù"]
		],
		"东南竹箭": [
			["dōng"],
			["nán"],
			["zhú"],
			["jiàn"]
		],
		"东挪西撮": [
			["dōng"],
			["nuó"],
			["xī"],
			["cuō"]
		],
		"东跑西颠": [
			["dōng"],
			["pǎo"],
			["xī"],
			["diān"]
		],
		"东飘西泊": [
			["dōng"],
			["piāo"],
			["xī"],
			["bó"]
		],
		"东墙处子": [
			["dōng"],
			["qiáng"],
			["chǔ"],
			["zǐ"]
		],
		"东趋西步": [
			["dōng"],
			["qū"],
			["xī"],
			["bù"]
		],
		"东萨摩亚": [
			["dōng"],
			["sà"],
			["mó"],
			["yà"]
		],
		"东三省": [
			["dōng"],
			["sān"],
			["xǐng"]
		],
		"东食西宿": [
			["dōng"],
			["shí"],
			["xī"],
			["sù"]
		],
		"东市朝衣": [
			["dōng"],
			["shì"],
			["cháo"],
			["yī"]
		],
		"东涂西抹": [
			["dōng"],
			["tú"],
			["xī"],
			["mǒ"]
		],
		"东谈西说": [
			["dōng"],
			["tán"],
			["xī"],
			["shuō"]
		],
		"东歪西倒": [
			["dōng"],
			["wāi"],
			["xī"],
			["dǎo"]
		],
		"东望西观": [
			["dōng"],
			["wàng"],
			["xī"],
			["guān"]
		],
		"东西南北": [
			["dōng"],
			["xī"],
			["nán"],
			["běi"]
		],
		"东西南北客": [
			["dōng"],
			["xi"],
			["nán"],
			["běi"],
			["kè"]
		],
		"东西南北人": [
			["dōng"],
			["xi"],
			["nán"],
			["běi"],
			["rén"]
		],
		"东西南朔": [
			["dōng"],
			["xī"],
			["nán"],
			["shuò"]
		],
		"东踅西倒": [
			["dōng"],
			["xué"],
			["xī"],
			["dǎo"]
		],
		"东洋车": [
			["dōng"],
			["yáng"],
			["chē"]
		],
		"东洋大海": [
			["dōng"],
			["yáng"],
			["dà"],
			["hǎi"]
		],
		"东印度公司": [
			["dōng"],
			["yìn"],
			["dù"],
			["gōng"],
			["sī"]
		],
		"东张西觑": [
			["dōng"],
			["zhāng"],
			["xī"],
			["qù"]
		],
		"东正教": [
			["dōng"],
			["zhèng"],
			["jiào"]
		],
		"东支西吾": [
			["dōng"],
			["zhī"],
			["xī"],
			["wú"]
		],
		"东撙西节": [
			["dōng"],
			["zǔn"],
			["xī"],
			["jié"]
		],
		"冬不拉": [
			["dōng"],
			["bù"],
			["lā"]
		],
		"冬烘头脑": [
			["dōng"],
			["hōng"],
			["tóu"],
			["nǎo"]
		],
		"冬裘夏葛": [
			["dōng"],
			["qiú"],
			["xià"],
			["gě"]
		],
		"冬扇夏炉": [
			["dōng"],
			["shàn"],
			["xià"],
			["lú"]
		],
		"冬日可爱": [
			["dōng"],
			["rì"],
			["kě"],
			["ài"]
		],
		"董事会": [
			["dǒng"],
			["shì"],
			["huì"]
		],
		"动不动": [
			["dòng"],
			["bù"],
			["dòng"]
		],
		"动不失时": [
			["dòng"],
			["bù"],
			["shī"],
			["shí"]
		],
		"动荡不安": [
			["dòng"],
			["dàng"],
			["bù"],
			["ān"]
		],
		"动荡不定": [
			["dòng"],
			["dàng"],
			["bù"],
			["dìng"]
		],
		"动地惊天": [
			["dòng"],
			["dì"],
			["jīng"],
			["tiān"]
		],
		"动画片": [
			["dòng"],
			["huà"],
			["piān"]
		],
		"动画影片": [
			["dòng"],
			["huà"],
			["yǐng"],
			["piān"]
		],
		"动静有常": [
			["dòng"],
			["jìng"],
			["yǒu"],
			["cháng"]
		],
		"动脉弓": [
			["dòng"],
			["mài"],
			["gōng"]
		],
		"动脉硬化": [
			["dòng"],
			["mài"],
			["yìng"],
			["huà"]
		],
		"动脉粥样硬化": [
			["dòng"],
			["mài"],
			["zhōu"],
			["yàng"],
			["yìng"],
			["huà"]
		],
		"动如参商": [
			["dòng"],
			["rú"],
			["cān"],
			["shāng"]
		],
		"动手术": [
			["dòng"],
			["shǒu"],
			["shù"]
		],
		"动物纤维": [
			["dòng"],
			["wù"],
			["xiān"],
			["wéi"]
		],
		"动辄得咎": [
			["dòng"],
			["zhé"],
			["dé"],
			["jiù"]
		],
		"动员令": [
			["dòng"],
			["yuán"],
			["lìng"]
		],
		"动中窾要": [
			["dòng"],
			["zhōng"],
			["zhe"],
			["yào"]
		],
		"冻解冰释": [
			["dòng"],
			["jiě"],
			["bīng"],
			["shì"]
		],
		"恫疑虚喝": [
			["dòng"],
			["yí"],
			["xū"],
			["hè"]
		],
		"恫疑虚猲": [
			["dòng"],
			["yí"],
			["xū"],
			["gé"]
		],
		"栋折榱崩": [
			["dòng"],
			["zhé"],
			["cuī"],
			["bēng"]
		],
		"栋折榱坏": [
			["dòng"],
			["shé"],
			["cuī"],
			["huài"]
		],
		"洞察其奸": [
			["dòng"],
			["chá"],
			["qí"],
			["jiān"]
		],
		"洞察一切": [
			["dòng"],
			["chá"],
			["yī"],
			["qiè"]
		],
		"洞见症结": [
			["dòng"],
			["jiàn"],
			["zhèng"],
			["jié"]
		],
		"洞鉴废兴": [
			["dòng"],
			["jiàn"],
			["fèi"],
			["xīng"]
		],
		"洞如观火": [
			["dòng"],
			["rú"],
			["guān"],
			["huǒ"]
		],
		"洞若观火": [
			["dòng"],
			["ruò"],
			["guān"],
			["huǒ"]
		],
		"洞天福地": [
			["dòng"],
			["tiān"],
			["fú"],
			["dì"]
		],
		"洞隐烛微": [
			["dòng"],
			["yǐn"],
			["zhú"],
			["wēi"]
		],
		"洞幽烛远": [
			["dòng"],
			["yōu"],
			["zhú"],
			["yuǎn"]
		],
		"洞中肯綮": [
			["dòng"],
			["zhōng"],
			["kěn"],
			["qìng"]
		],
		"洞烛其奸": [
			["dòng"],
			["zhú"],
			["qí"],
			["jiān"]
		],
		"都柏林": [
			["dōu"],
			["bó"],
			["lín"]
		],
		"都察院": [
			["dū"],
			["chá"],
			["yuàn"]
		],
		"都江堰": [
			["dū"],
			["jiāng"],
			["yàn"]
		],
		"都头异姓": [
			["dū"],
			["tóu"],
			["yì"],
			["xìng"]
		],
		"都俞吁咈": [
			["dōu"],
			["yú"],
			["xū"],
			["fú"]
		],
		"都中纸贵": [
			["dū"],
			["zhōng"],
			["zhǐ"],
			["guì"]
		],
		"兜肚连肠": [
			["dōu"],
			["dǔ"],
			["lián"],
			["cháng"]
		],
		"兜头盖脸": [
			["dōu"],
			["tóu"],
			["gài"],
			["liǎn"]
		],
		"斗唇合舌": [
			["dòu"],
			["chún"],
			["hé"],
			["shé"]
		],
		"斗而铸兵": [
			["dòu"],
			["ér"],
			["zhù"],
			["bīng"]
		],
		"斗而铸锥": [
			["dòu"],
			["ér"],
			["zhù"],
			["zhuī"]
		],
		"斗方名士": [
			["dǒu"],
			["fāng"],
			["míng"],
			["shì"]
		],
		"斗怪争奇": [
			["dòu"],
			["guài"],
			["zhēng"],
			["qí"]
		],
		"斗鸡眼": [
			["dòu"],
			["jī"],
			["yǎn"]
		],
		"斗鸡养狗": [
			["dòu"],
			["jī"],
			["yǎng"],
			["gǒu"]
		],
		"斗鸡走狗": [
			["dòu"],
			["jī"],
			["zǒu"],
			["gǒu"]
		],
		"斗鸡走马": [
			["dòu"],
			["jī"],
			["zǒu"],
			["mǎ"]
		],
		"斗鸡走犬": [
			["dòu"],
			["jī"],
			["zǒu"],
			["quǎn"]
		],
		"斗酒百篇": [
			["dǒu"],
			["jiǔ"],
			["bǎi"],
			["piān"]
		],
		"斗酒双柑": [
			["dòu"],
			["jiǔ"],
			["shuāng"],
			["gān"]
		],
		"斗酒学士": [
			["dǒu"],
			["jiǔ"],
			["xué"],
			["shì"]
		],
		"斗酒只鸡": [
			["dǒu"],
			["jiǔ"],
			["zhī"],
			["jī"]
		],
		"斗绝一隅": [
			["dǒu"],
			["jué"],
			["yī"],
			["yú"]
		],
		"斗丽争妍": [
			["dòu"],
			["lì"],
			["zhēng"],
			["yán"]
		],
		"斗量筲计": [
			["dǒu"],
			["liáng"],
			["shāo"],
			["jì"]
		],
		"斗量车载": [
			["dǒu"],
			["liáng"],
			["chē"],
			["zài"]
		],
		"斗美夸丽": [
			["dòu"],
			["měi"],
			["kuā"],
			["lì"]
		],
		"斗媚争妍": [
			["dòu"],
			["mèi"],
			["zhēng"],
			["yán"]
		],
		"斗牛场": [
			["dòu"],
			["niú"],
			["chǎng"]
		],
		"斗米尺布": [
			["dǒu"],
			["mǐ"],
			["chǐ"],
			["bù"]
		],
		"斗南一人": [
			["dǒu"],
			["nán"],
			["yī"],
			["rén"]
		],
		"斗色争妍": [
			["dòu"],
			["sè"],
			["zhēng"],
			["yán"]
		],
		"斗筲穿窬": [
			["dòu"],
			["shāo"],
			["chuān"],
			["yú"]
		],
		"斗筲之器": [
			["dǒu"],
			["shāo"],
			["zhī"],
			["qì"]
		],
		"斗筲之人": [
			["dǒu"],
			["shāo"],
			["zhī"],
			["rén"]
		],
		"斗升之水": [
			["dǒu"],
			["shēng"],
			["zhī"],
			["shuǐ"]
		],
		"斗霜傲雪": [
			["dòu"],
			["shuāng"],
			["ào"],
			["xuě"]
		],
		"斗水活鳞": [
			["dòu"],
			["shuǐ"],
			["huó"],
			["lín"]
		],
		"斗粟尺布": [
			["dǒu"],
			["sù"],
			["chǐ"],
			["bù"]
		],
		"斗榫合缝": [
			["dǒu"],
			["sǔn"],
			["hé"],
			["fèng"]
		],
		"斗蟋蟀": [
			["dòu"],
			["xī"],
			["shuài"]
		],
		"斗心眼儿": [
			["dòu"],
			["xīn"],
			["yǎn"],
			["ér"]
		],
		"斗艳争芳": [
			["dòu"],
			["yàn"],
			["zhēng"],
			["fāng"]
		],
		"斗牙拌齿": [
			["dòu"],
			["yá"],
			["bàn"],
			["chǐ"]
		],
		"斗艳争辉": [
			["dòu"],
			["yàn"],
			["zhēng"],
			["huī"]
		],
		"斗艳争妍": [
			["dòu"],
			["yàn"],
			["zhēng"],
			["yán"]
		],
		"斗折蛇行": [
			["dǒu"],
			["zhé"],
			["shé"],
			["xíng"]
		],
		"斗挹箕扬": [
			["dǒu"],
			["yì"],
			["jī"],
			["yáng"]
		],
		"斗争性": [
			["dòu"],
			["zhēng"],
			["xìng"]
		],
		"斗志昂扬": [
			["dòu"],
			["zhì"],
			["áng"],
			["yáng"]
		],
		"斗转参横": [
			["dǒu"],
			["zhuǎn"],
			["shēn"],
			["héng"]
		],
		"斗转星移": [
			["dǒu"],
			["zhuǎn"],
			["xīng"],
			["yí"]
		],
		"抖威风": [
			["dǒu"],
			["wēi"],
			["fēng"]
		],
		"抖擞精神": [
			["dǒu"],
			["sǒu"],
			["jīng"],
			["shén"]
		],
		"豆分瓜剖": [
			["dòu"],
			["fēn"],
			["guā"],
			["pōu"]
		],
		"豆腐干": [
			["dòu"],
			["fǔ"],
			["gàn"]
		],
		"豆角儿": [
			["dòu"],
			["jué"],
			["ér"]
		],
		"豆蔻年华": [
			["dòu"],
			["kòu"],
			["nián"],
			["huá"]
		],
		"豆剖瓜分": [
			["dòu"],
			["pōu"],
			["guā"],
			["fēn"]
		],
		"豆萁相煎": [
			["dòu"],
			["qí"],
			["xiāng"],
			["jiān"]
		],
		"逗闷子": [
			["dòu"],
			["mèn"],
			["zǐ"]
		],
		"豆重榆瞑": [
			["dòu"],
			["chóng"],
			["yú"],
			["míng"]
		],
		"逗趣儿": [
			["dòu"],
			["qù"],
			["ér"]
		],
		"毒赋剩敛": [
			["dú"],
			["fù"],
			["shèng"],
			["liǎn"]
		],
		"毒辣辣": [
			["dú"],
			["là"],
			["là"]
		],
		"毒魔狠怪": [
			["dú"],
			["mó"],
			["hěn"],
			["guài"]
		],
		"毒泷恶雾": [
			["dú"],
			["lóng"],
			["è"],
			["wù"]
		],
		"毒手尊前": [
			["dú"],
			["shǒu"],
			["zūn"],
			["qián"]
		],
		"毒蛇猛兽": [
			["dú"],
			["shé"],
			["měng"],
			["shòu"]
		],
		"毒手尊拳": [
			["dú"],
			["shǒu"],
			["zūn"],
			["quán"]
		],
		"毒瓦斯": [
			["dú"],
			["wǎ"],
			["sī"]
		],
		"读不舍手": [
			["dú"],
			["bù"],
			["shě"],
			["shǒu"]
		],
		"读后感": [
			["dú"],
			["hòu"],
			["gǎn"]
		],
		"读书笔记": [
			["dú"],
			["shū"],
			["bǐ"],
			["jì"]
		],
		"读书得间": [
			["dú"],
			["shū"],
			["dé"],
			["jiàn"]
		],
		"读书君子": [
			["dú"],
			["shū"],
			["jūn"],
			["zǐ"]
		],
		"读书人": [
			["dú"],
			["shū"],
			["rén"]
		],
		"读书三到": [
			["dú"],
			["shū"],
			["sān"],
			["dào"]
		],
		"读书三余": [
			["dú"],
			["shū"],
			["sān"],
			["yú"]
		],
		"读书种子": [
			["dú"],
			["shū"],
			["zhǒng"],
			["zǐ"]
		],
		"读者文摘": [
			["dú"],
			["zhě"],
			["wén"],
			["zhāi"]
		],
		"渎职罪": [
			["dú"],
			["zhí"],
			["zuì"]
		],
		"犊牧采薪": [
			["dú"],
			["mù"],
			["cǎi"],
			["xīn"]
		],
		"独辟蹊径": [
			["dú"],
			["pì"],
			["xī"],
			["jìng"]
		],
		"独步当时": [
			["dú"],
			["bù"],
			["dāng"],
			["shí"]
		],
		"独步当世": [
			["dú"],
			["bù"],
			["dāng"],
			["shì"]
		],
		"独出己见": [
			["dú"],
			["chū"],
			["jǐ"],
			["jiàn"]
		],
		"独当一面": [
			["dú"],
			["dāng"],
			["yī"],
			["miàn"]
		],
		"独到之处": [
			["dú"],
			["dào"],
			["zhī"],
			["chù"]
		],
		"独得之见": [
			["dú"],
			["dé"],
			["zhī"],
			["jiàn"]
		],
		"独断专行": [
			["dú"],
			["duàn"],
			["zhuān"],
			["xíng"]
		],
		"独断独行": [
			["dú"],
			["duàn"],
			["dú"],
			["xíng"]
		],
		"独夫民贼": [
			["dú"],
			["fū"],
			["mín"],
			["zéi"]
		],
		"独角戏": [
			["dú"],
			["jiǎo"],
			["xì"]
		],
		"独脚戏": [
			["dú"],
			["jiǎo"],
			["xì"]
		],
		"独具只眼": [
			["dú"],
			["jù"],
			["zhī"],
			["yǎn"]
		],
		"独揽大权": [
			["dú"],
			["lǎn"],
			["dà"],
			["quán"]
		],
		"独立王国": [
			["dú"],
			["lì"],
			["wáng"],
			["guó"]
		],
		"独轮车": [
			["dú"],
			["lún"],
			["chē"]
		],
		"独木不成林": [
			["dú"],
			["mù"],
			["bù"],
			["chéng"],
			["lín"]
		],
		"独木不林": [
			["dú"],
			["mù"],
			["bù"],
			["lín"]
		],
		"独木难支": [
			["dú"],
			["mù"],
			["nán"],
			["zhī"]
		],
		"独善其身": [
			["dú"],
			["shàn"],
			["qí"],
			["shēn"]
		],
		"独善吾身": [
			["dú"],
			["shàn"],
			["wú"],
			["shēn"]
		],
		"独生女": [
			["dú"],
			["shēng"],
			["nǚ"]
		],
		"独行独断": [
			["dú"],
			["xíng"],
			["dú"],
			["duàn"]
		],
		"独行踽踽": [
			["dú"],
			["xíng"],
			["jǔ"],
			["jǔ"]
		],
		"独行其是": [
			["dú"],
			["xíng"],
			["qí"],
			["shì"]
		],
		"独行其道": [
			["dú"],
			["xíng"],
			["qí"],
			["dào"]
		],
		"独有千古": [
			["dú"],
			["yǒu"],
			["qiān"],
			["gǔ"]
		],
		"独有千秋": [
			["dú"],
			["yòu"],
			["qiān"],
			["qiū"]
		],
		"独占鳌头": [
			["dú"],
			["zhàn"],
			["áo"],
			["tóu"]
		],
		"笃而论之": [
			["dǔ"],
			["ér"],
			["lùn"],
			["zhī"]
		],
		"笃近举远": [
			["dǔ"],
			["jìn"],
			["jǔ"],
			["juǎn"]
		],
		"笃论高言": [
			["dǔ"],
			["lùn"],
			["gāo"],
			["yán"]
		],
		"笃实好学": [
			["dǔ"],
			["shí"],
			["hào"],
			["xué"]
		],
		"笃信好学": [
			["dǔ"],
			["xìn"],
			["hào"],
			["xué"]
		],
		"笃学不倦": [
			["dǔ"],
			["xué"],
			["bù"],
			["juàn"]
		],
		"笃学好古": [
			["dǔ"],
			["xué"],
			["hào"],
			["gǔ"]
		],
		"赌长较短": [
			["dǔ"],
			["cháng"],
			["jiào"],
			["duǎn"]
		],
		"笃志好学": [
			["dǔ"],
			["zhì"],
			["hǎo"],
			["xué"]
		],
		"赌神发咒": [
			["dǔ"],
			["shén"],
			["fā"],
			["zhòu"]
		],
		"赌誓发原": [
			["dǔ"],
			["shì"],
			["fā"],
			["yuán"]
		],
		"赌誓发愿": [
			["dǔ"],
			["shì"],
			["fā"],
			["yuàn"]
		],
		"睹景伤情": [
			["dǔ"],
			["jǐng"],
			["shāng"],
			["qíng"]
		],
		"赌咒发誓": [
			["dǔ"],
			["zhòu"],
			["fā"],
			["shì"]
		],
		"睹始知终": [
			["dǔ"],
			["shǐ"],
			["zhī"],
			["zhōng"]
		],
		"睹微知著": [
			["dǔ"],
			["wēi"],
			["zhī"],
			["zhù"]
		],
		"睹物思人": [
			["dǔ"],
			["wù"],
			["sī"],
			["rén"]
		],
		"睹物兴情": [
			["dǔ"],
			["wù"],
			["xīng"],
			["qíng"]
		],
		"睹著知微": [
			["dǔ"],
			["zhù"],
			["zhī"],
			["wēi"]
		],
		"睹着知微": [
			["dǔ"],
			["zhe"],
			["zhī"],
			["wēi"]
		],
		"妒能害贤": [
			["dù"],
			["néng"],
			["hài"],
			["xián"]
		],
		"妒贤疾能": [
			["dù"],
			["xián"],
			["jí"],
			["néng"]
		],
		"妒贤嫉能": [
			["dù"],
			["xián"],
			["jí"],
			["néng"]
		],
		"杜耳恶闻": [
			["dù"],
			["ěr"],
			["è"],
			["wén"]
		],
		"杜渐除微": [
			["dù"],
			["jiàn"],
			["chú"],
			["wēi"]
		],
		"杜渐防萌": [
			["dù"],
			["jiàn"],
			["fáng"],
			["méng"]
		],
		"杜渐防微": [
			["dù"],
			["jiàn"],
			["fáng"],
			["wēi"]
		],
		"杜鹃啼血": [
			["dù"],
			["juān"],
			["tí"],
			["xuě"]
		],
		"杜口结舌": [
			["dù"],
			["kǒu"],
			["jié"],
			["shé"]
		],
		"杜门不出": [
			["dù"],
			["mén"],
			["bù"],
			["chū"]
		],
		"杜门屏迹": [
			["dù"],
			["mén"],
			["píng"],
			["jì"]
		],
		"杜门却扫": [
			["dù"],
			["mén"],
			["què"],
			["sǎo"]
		],
		"杜默为诗": [
			["dù"],
			["mò"],
			["wéi"],
			["shī"]
		],
		"肚里蛔虫": [
			["dù"],
			["lǐ"],
			["huí"],
			["chóng"]
		],
		"肚里泪下": [
			["dù"],
			["lǐ"],
			["lèi"],
			["xià"]
		],
		"度长絜大": [
			["dù"],
			["cháng"],
			["xié"],
			["dà"]
		],
		"度德量力": [
			["duó"],
			["dé"],
			["liàng"],
			["lì"]
		],
		"度长絜短": [
			["dù"],
			["cháng"],
			["xié"],
			["duǎn"]
		],
		"度己以绳": [
			["duó"],
			["jǐ"],
			["yǐ"],
			["shéng"]
		],
		"度假村": [
			["dù"],
			["jià"],
			["cūn"]
		],
		"度量衡": [
			["dù"],
			["liàng"],
			["héng"]
		],
		"度蜜月": [
			["dù"],
			["mì"],
			["yuè"]
		],
		"度日如年": [
			["dù"],
			["rì"],
			["rú"],
			["nián"]
		],
		"度外之人": [
			["dù"],
			["wài"],
			["zhī"],
			["rén"]
		],
		"度日如岁": [
			["dù"],
			["rì"],
			["rú"],
			["suì"]
		],
		"蠹居棊处": [
			["dù"],
			["jū"],
			["què"],
			["chǔ"]
		],
		"蠹居棋处": [
			["dù"],
			["jū"],
			["qí"],
			["chǔ"]
		],
		"蠹众木折": [
			["dù"],
			["zhòng"],
			["mù"],
			["zhé"]
		],
		"端本澄源": [
			["duān"],
			["běn"],
			["chéng"],
			["yuán"]
		],
		"端本正源": [
			["duān"],
			["běn"],
			["zhèng"],
			["yuán"]
		],
		"端倪可察": [
			["duān"],
			["ní"],
			["kě"],
			["chá"]
		],
		"端人正士": [
			["duān"],
			["rén"],
			["zhèng"],
			["shì"]
		],
		"端午节": [
			["duān"],
			["wǔ"],
			["jié"]
		],
		"短兵相接": [
			["duǎn"],
			["bīng"],
			["xiāng"],
			["jiē"]
		],
		"短不了": [
			["duǎn"],
			["bù"],
			["liǎo"]
		],
		"短吃少穿": [
			["duǎn"],
			["chī"],
			["shǎo"],
			["chuān"]
		],
		"短歌行": [
			["duǎn"],
			["gē"],
			["xíng"]
		],
		"短褐不完": [
			["duān"],
			["hè"],
			["bù"],
			["wán"]
		],
		"短褐穿结": [
			["duǎn"],
			["hè"],
			["chuān"],
			["jié"]
		],
		"短见薄识": [
			["duǎn"],
			["jiàn"],
			["bó"],
			["shí"]
		],
		"短篇小说": [
			["duǎn"],
			["piān"],
			["xiǎo"],
			["shuō"]
		],
		"短叹长吁": [
			["duǎn"],
			["tàn"],
			["cháng"],
			["xū"]
		],
		"短中取长": [
			["duǎn"],
			["zhōng"],
			["qǔ"],
			["cháng"]
		],
		"断长补短": [
			["duàn"],
			["chāng"],
			["bǔ"],
			["duǎn"]
		],
		"断长续短": [
			["duàn"],
			["chāng"],
			["xù"],
			["duǎn"]
		],
		"断发文身": [
			["duàn"],
			["fà"],
			["wén"],
			["shēn"]
		],
		"断发纹身": [
			["duàn"],
			["fā"],
			["wén"],
			["shēn"]
		],
		"断管残沈": [
			["duàn"],
			["guǎn"],
			["cán"],
			["shěn"]
		],
		"断还归宗": [
			["duàn"],
			["huán"],
			["guī"],
			["zōng"]
		],
		"断根绝种": [
			["duàn"],
			["gēn"],
			["jué"],
			["zhǒng"]
		],
		"断齑画粥": [
			["duàn"],
			["jī"],
			["huà"],
			["zhōu"]
		],
		"断蛟刺虎": [
			["duàn"],
			["jiāo"],
			["cì"],
			["hǔ"]
		],
		"断缣尺楮": [
			["duàn"],
			["jiān"],
			["chǐ"],
			["chǔ"]
		],
		"断齑块粥": [
			["duàn"],
			["jī"],
			["kuài"],
			["zhōu"]
		],
		"断烂朝报": [
			["duàn"],
			["làn"],
			["cháo"],
			["bào"]
		],
		"断木掘地": [
			["duàn"],
			["mù"],
			["jué"],
			["dì"]
		],
		"断头将军": [
			["duàn"],
			["tóu"],
			["jiāng"],
			["jūn"]
		],
		"断线风筝": [
			["duàn"],
			["xiàn"],
			["fēng"],
			["zhēng"]
		],
		"断头台": [
			["duàn"],
			["tóu"],
			["tái"]
		],
		"断线偶戏": [
			["duàn"],
			["xiàn"],
			["ǒu"],
			["xì"]
		],
		"断章截句": [
			["duàn"],
			["zhāng"],
			["jié"],
			["jù"]
		],
		"断雨残云": [
			["duàn"],
			["yǔ"],
			["cán"],
			["yún"]
		],
		"断章摘句": [
			["duàn"],
			["zhāng"],
			["zhāi"],
			["jù"]
		],
		"断织之诫": [
			["duàn"],
			["zhī"],
			["zhī"],
			["jiè"]
		],
		"断织劝学": [
			["duàn"],
			["zhī"],
			["quàn"],
			["xué"]
		],
		"断杼择邻": [
			["duàn"],
			["zhù"],
			["zé"],
			["lín"]
		],
		"断子绝孙": [
			["duàn"],
			["zǐ"],
			["jué"],
			["sūn"]
		],
		"堆案盈几": [
			["duī"],
			["àn"],
			["yíng"],
			["jī"]
		],
		"对比度": [
			["duì"],
			["bǐ"],
			["dù"]
		],
		"对薄公堂": [
			["duì"],
			["bù"],
			["gōng"],
			["táng"]
		],
		"对不起": [
			["duì"],
			["bù"],
			["qǐ"]
		],
		"对不住": [
			["duì"],
			["bú"],
			["zhù"]
		],
		"对簿公堂": [
			["duì"],
			["bù"],
			["gōng"],
			["táng"]
		],
		"对称性": [
			["duì"],
			["chèn"],
			["xìng"]
		],
		"对称轴": [
			["duì"],
			["chèn"],
			["zhóu"]
		],
		"对床风雨": [
			["duì"],
			["chuáng"],
			["fēng"],
			["yǔ"]
		],
		"对床夜雨": [
			["duì"],
			["chuáng"],
			["yè"],
			["yǔ"]
		],
		"对床夜语": [
			["duì"],
			["chuáng"],
			["yè"],
			["yǔ"]
		],
		"对答如流": [
			["duì"],
			["dá"],
			["rú"],
			["liú"]
		],
		"对得起": [
			["duì"],
			["de"],
			["qǐ"]
		],
		"对得住": [
			["duì"],
			["de"],
			["zhù"]
		],
		"对号入座": [
			["duì"],
			["hào"],
			["rù"],
			["zuò"]
		],
		"对角线": [
			["duì"],
			["jiǎo"],
			["xiàn"]
		],
		"对景挂画": [
			["duì"],
			["jǐng"],
			["guà"],
			["huà"]
		],
		"对景伤情": [
			["duì"],
			["jǐng"],
			["shāng"],
			["qíng"]
		],
		"对酒当歌": [
			["duì"],
			["jiǔ"],
			["dāng"],
			["gē"]
		],
		"对空射击": [
			["duì"],
			["kōng"],
			["shè"],
			["jī"]
		],
		"对口相声": [
			["duì"],
			["kǒu"],
			["xiàng"],
			["sheng"]
		],
		"对牛弹琴": [
			["duì"],
			["niú"],
			["tán"],
			["qín"]
		],
		"对台戏": [
			["duì"],
			["tái"],
			["xì"]
		],
		"对头冤家": [
			["duì"],
			["tóu"],
			["yuān"],
			["jiā"]
		],
		"对症发药": [
			["duì"],
			["zhèng"],
			["fā"],
			["yào"]
		],
		"对症之药": [
			["duì"],
			["zhèng"],
			["zhī"],
			["yào"]
		],
		"对症下药": [
			["duì"],
			["zhèng"],
			["xià"],
			["yào"]
		],
		"对着干": [
			["duì"],
			["zhe"],
			["gàn"]
		],
		"兑换券": [
			["duì"],
			["huàn"],
			["quàn"]
		],
		"敦本务实": [
			["dūn"],
			["běn"],
			["wù"],
			["shí"]
		],
		"敦风厉俗": [
			["dūn"],
			["fēng"],
			["lì"],
			["sú"]
		],
		"敦煌石窟": [
			["dūn"],
			["huáng"],
			["shí"],
			["kū"]
		],
		"敦默寡言": [
			["dūn"],
			["mò"],
			["guǎ"],
			["yán"]
		],
		"敦诗说礼": [
			["dūn"],
			["shī"],
			["shuō"],
			["lǐ"]
		],
		"敦世厉俗": [
			["dūn"],
			["shì"],
			["lì"],
			["sú"]
		],
		"囤积居奇": [
			["tún"],
			["jī"],
			["jū"],
			["qí"]
		],
		"顿开茅塞": [
			["dùn"],
			["kāi"],
			["máo"],
			["sè"]
		],
		"顿纲振纪": [
			["dùn"],
			["gāng"],
			["zhèn"],
			["jì"]
		],
		"顿学累功": [
			["dùn"],
			["xué"],
			["lěi"],
			["gōng"]
		],
		"顿足不前": [
			["dùn"],
			["zú"],
			["bù"],
			["qián"]
		],
		"顿足椎胸": [
			["dùn"],
			["zú"],
			["zhuī"],
			["xiōng"]
		],
		"遁迹藏名": [
			["dùn"],
			["jì"],
			["cáng"],
			["míng"]
		],
		"遁迹黄冠": [
			["dùn"],
			["jì"],
			["huáng"],
			["guàn"]
		],
		"遁迹空门": [
			["dùn"],
			["jì"],
			["kōng"],
			["mén"]
		],
		"遁身远迹": [
			["dùn"],
			["shēn"],
			["yuǎn"],
			["jì"]
		],
		"遁入空门": [
			["dùn"],
			["rù"],
			["kōng"],
			["mén"]
		],
		"遁世长往": [
			["dùn"],
			["shì"],
			["cháng"],
			["wǎng"]
		],
		"遁世无闷": [
			["dùn"],
			["shì"],
			["wú"],
			["mèn"]
		],
		"遁世隐居": [
			["dùn"],
			["shì"],
			["yǐn"],
			["jū"]
		],
		"遁俗无闷": [
			["dùn"],
			["sú"],
			["wú"],
			["mèn"]
		],
		"遁天妄行": [
			["dùn"],
			["tiān"],
			["wàng"],
			["xíng"]
		],
		"遁逸无闷": [
			["dùn"],
			["yì"],
			["wú"],
			["mèn"]
		],
		"遁形远世": [
			["dùn"],
			["xíng"],
			["yuǎn"],
			["shì"]
		],
		"遁阴匿景": [
			["dùn"],
			["yīn"],
			["nì"],
			["jǐng"]
		],
		"多倍体": [
			["duō"],
			["bèi"],
			["tǐ"]
		],
		"多财善贾": [
			["duō"],
			["cái"],
			["shàn"],
			["gǔ"]
		],
		"多藏厚亡": [
			["duō"],
			["cáng"],
			["hòu"],
			["wáng"]
		],
		"多吃多占": [
			["duō"],
			["chī"],
			["duō"],
			["zhàn"]
		],
		"多弹头": [
			["duō"],
			["dàn"],
			["tóu"]
		],
		"多动症": [
			["duō"],
			["dòng"],
			["zhèng"]
		],
		"多端寡要": [
			["duō"],
			["duān"],
			["guǎi"],
			["yào"]
		],
		"多发病": [
			["duō"],
			["fā"],
			["bìng"]
		],
		"多多少少": [
			["duō"],
			["duō"],
			["shǎo"],
			["shǎo"]
		],
		"多见广识": [
			["duō"],
			["jiàn"],
			["guǎng"],
			["shí"]
		],
		"多会儿": [
			["duō"],
			["huì"],
			["er"]
		],
		"多角形": [
			["duō"],
			["jiǎo"],
			["xíng"]
		],
		"多晶体": [
			["duō"],
			["jīng"],
			["tǐ"]
		],
		"多口相声": [
			["duō"],
			["kǒu"],
			["xiàng"],
			["sheng"]
		],
		"多口阿师": [
			["duō"],
			["kǒu"],
			["ā"],
			["shī"]
		],
		"多快好省": [
			["duō"],
			["kuài"],
			["hǎo"],
			["shěng"]
		],
		"多劳多得": [
			["duō"],
			["láo"],
			["duō"],
			["de"]
		],
		"多棱镜": [
			["duō"],
			["léng"],
			["jìng"]
		],
		"多面角": [
			["duō"],
			["miàn"],
			["jiǎo"]
		],
		"多米尼加共和国": [
			["duō"],
			["mǐ"],
			["ní"],
			["jiā"],
			["gòng"],
			["hé"],
			["guó"]
		],
		"多民族国家": [
			["duō"],
			["mín"],
			["zú"],
			["guó"],
			["jiā"]
		],
		"多难兴邦": [
			["duō"],
			["nàn"],
			["xīng"],
			["bāng"]
		],
		"多面体": [
			["duō"],
			["miàn"],
			["tǐ"]
		],
		"多能多艺": [
			["duō"],
			["néng"],
			["duō"],
			["yì"]
		],
		"多普勒效应": [
			["duō"],
			["pǔ"],
			["lè"],
			["xiào"],
			["yìng"]
		],
		"多歧亡羊": [
			["duō"],
			["qí"],
			["wáng"],
			["yáng"]
		],
		"多钱善贾": [
			["duō"],
			["qián"],
			["shàn"],
			["gǔ"]
		],
		"多神教": [
			["duō"],
			["shén"],
			["jiào"]
		],
		"多收并畜": [
			["duō"],
			["shōu"],
			["bìng"],
			["chù"]
		],
		"多文强记": [
			["duō"],
			["wén"],
			["qiáng"],
			["jì"]
		],
		"多文为富": [
			["duō"],
			["wén"],
			["wéi"],
			["fù"]
		],
		"多闻阙疑": [
			["duō"],
			["wén"],
			["quē"],
			["yí"]
		],
		"多闻强记": [
			["duō"],
			["wén"],
			["qiáng"],
			["jì"]
		],
		"多行不义必自毙": [
			["duō"],
			["xíng"],
			["bù"],
			["yì"],
			["bì"],
			["zì"],
			["bì"]
		],
		"多凶少吉": [
			["duō"],
			["xiōng"],
			["shǎo"],
			["jí"]
		],
		"多许少与": [
			["duō"],
			["xǔ"],
			["shǎo"],
			["yǔ"]
		],
		"多言繁称": [
			["duō"],
			["yán"],
			["fán"],
			["chēng"]
		],
		"多言多语": [
			["duō"],
			["yán"],
			["duō"],
			["yǔ"]
		],
		"多言或中": [
			["duō"],
			["yán"],
			["huò"],
			["zhōng"]
		],
		"多言数穷": [
			["duō"],
			["yán"],
			["shuò"],
			["qióng"]
		],
		"多一事不如少一事": [
			["duō"],
			["yī"],
			["shì"],
			["bù"],
			["rú"],
			["shǎo"],
			["yī"],
			["shì"]
		],
		"多一事不如省一事": [
			["duō"],
			["yī"],
			["shì"],
			["bù"],
			["rú"],
			["shěng"],
			["yī"],
			["shì"]
		],
		"多元论": [
			["duō"],
			["yuán"],
			["lùn"]
		],
		"多灾多难": [
			["duō"],
			["zāi"],
			["duō"],
			["nàn"]
		],
		"多种多样": [
			["duō"],
			["zhǒng"],
			["duō"],
			["yàng"]
		],
		"多嘴献浅": [
			["duō"],
			["zuǐ"],
			["xiàn"],
			["qiǎn"]
		],
		"咄咄书空": [
			["duō"],
			["duō"],
			["shū"],
			["kōng"]
		],
		"咄嗟便办": [
			["duō"],
			["jiē"],
			["biàn"],
			["bàn"]
		],
		"咄嗟之间": [
			["duō"],
			["jiē"],
			["zhī"],
			["jiān"]
		],
		"夺人所好": [
			["duó"],
			["rén"],
			["suǒ"],
			["hào"]
		],
		"夺其谈经": [
			["duó"],
			["qí"],
			["tán"],
			["jīng"]
		],
		"夺胎换骨": [
			["duó"],
			["tāi"],
			["huàn"],
			["gǔ"]
		],
		"掇菁撷华": [
			["duō"],
			["jīng"],
			["xié"],
			["huá"]
		],
		"掇青拾紫": [
			["duō"],
			["qīng"],
			["shí"],
			["zǐ"]
		],
		"掇拾章句": [
			["duō"],
			["shí"],
			["zhāng"],
			["jù"]
		],
		"朵颐大嚼": [
			["duǒ"],
			["yī"],
			["dà"],
			["jiáo"]
		],
		"堕溷飘茵": [
			["duò"],
			["hùn"],
			["piāo"],
			["yīn"]
		],
		"躲猫猫": [
			["duǒ"],
			["māo"],
			["māo"]
		],
		"堕云雾中": [
			["duò"],
			["yún"],
			["wù"],
			["zhōng"]
		],
		"堕甑不顾": [
			["duò"],
			["zèng"],
			["bù"],
			["gù"]
		],
		"惰性气体": [
			["duò"],
			["xìng"],
			["qì"],
			["tǐ"]
		],
		"讹以传讹": [
			["é"],
			["yǐ"],
			["chuán"],
			["é"]
		],
		"屙金溺银": [
			["ē"],
			["jīn"],
			["niào"],
			["yín"]
		],
		"峨冠博带": [
			["é"],
			["guān"],
			["bó"],
			["dài"]
		],
		"峨峨汤汤": [
			["é"],
			["é"],
			["shāng"],
			["shāng"]
		],
		"鹅不食草": [
			["é"],
			["bù"],
			["shí"],
			["cǎo"]
		],
		"鹅湖之会": [
			["é"],
			["hú"],
			["zhī"],
			["huì"]
		],
		"鹅卵石": [
			["é"],
			["luǎn"],
			["shí"]
		],
		"鹅毛大雪": [
			["é"],
			["máo"],
			["dà"],
			["xuě"]
		],
		"鹅王择乳": [
			["é"],
			["wáng"],
			["zé"],
			["rǔ"]
		],
		"鹅毛扇": [
			["é"],
			["máo"],
			["shàn"]
		],
		"鹅行鸭步": [
			["é"],
			["xíng"],
			["yā"],
			["bù"]
		],
		"蛾眉皓齿": [
			["é"],
			["méi"],
			["hào"],
			["chǐ"]
		],
		"鹅掌风": [
			["é"],
			["zhǎng"],
			["fēng"]
		],
		"蛾眉螓首": [
			["é"],
			["méi"],
			["qín"],
			["shǒu"]
		],
		"蛾眉月": [
			["é"],
			["méi"],
			["yuè"]
		],
		"额手称庆": [
			["é"],
			["shǒu"],
			["chēng"],
			["qìng"]
		],
		"额手相庆": [
			["é"],
			["shǒu"],
			["xiāng"],
			["qìng"]
		],
		"额首称庆": [
			["é"],
			["shǒu"],
			["chēng"],
			["qìng"]
		],
		"额手称颂": [
			["é"],
			["shǒu"],
			["chēng"],
			["sòng"]
		],
		"婀娜多姿": [
			["ē"],
			["nuó"],
			["duō"],
			["zī"]
		],
		"扼喉抚背": [
			["è"],
			["hóu"],
			["fǔ"],
			["bèi"]
		],
		"扼襟控咽": [
			["è"],
			["jīn"],
			["kòng"],
			["yān"]
		],
		"扼吭夺食": [
			["è"],
			["gāng"],
			["duó"],
			["shí"]
		],
		"扼吭拊背": [
			["è"],
			["gāng"],
			["fǔ"],
			["bèi"]
		],
		"扼亢拊背": [
			["è"],
			["kàng"],
			["fǔ"],
			["bèi"]
		],
		"扼腕长叹": [
			["è"],
			["wàn"],
			["cháng"],
			["tàn"]
		],
		"恶不去善": [
			["wù"],
			["bù"],
			["qù"],
			["shàn"]
		],
		"恶尘无染": [
			["è"],
			["chén"],
			["wú"],
			["rǎn"]
		],
		"恶叉白赖": [
			["è"],
			["chā"],
			["bái"],
			["lài"]
		],
		"恶贯满盈": [
			["è"],
			["guàn"],
			["mǎn"],
			["yíng"]
		],
		"恶恶从短": [
			["wù"],
			["wù"],
			["cóng"],
			["duǎn"]
		],
		"恶贯已盈": [
			["è"],
			["guàn"],
			["yǐ"],
			["yíng"]
		],
		"恶狠狠": [
			["è"],
			["hěn"],
			["hěn"]
		],
		"恶虎不食子": [
			["è"],
			["hǔ"],
			["bù"],
			["shí"],
			["zǐ"]
		],
		"恶迹昭著": [
			["è"],
			["jì"],
			["zhāo"],
			["zhù"]
		],
		"恶迹昭着": [
			["è"],
			["jì"],
			["zhāo"],
			["zhe"]
		],
		"恶积祸盈": [
			["è"],
			["jī"],
			["huò"],
			["yíng"]
		],
		"恶籍盈指": [
			["è"],
			["jí"],
			["yíng"],
			["zhǐ"]
		],
		"恶居下流": [
			["wù"],
			["jū"],
			["xià"],
			["liú"]
		],
		"恶人先告状": [
			["è"],
			["rén"],
			["xiān"],
			["gào"],
			["zhuàng"]
		],
		"恶声恶气": [
			["è"],
			["shēng"],
			["è"],
			["qì"]
		],
		"恶湿居下": [
			["wù"],
			["shī"],
			["jū"],
			["xià"]
		],
		"恶事传千里": [
			["è"],
			["shì"],
			["chuán"],
			["qiān"],
			["lǐ"]
		],
		"恶事行千里": [
			["è"],
			["shì"],
			["xíng"],
			["qiān"],
			["lǐ"]
		],
		"恶向胆边生": [
			["è"],
			["xiàng"],
			["dǎn"],
			["biān"],
			["shēng"]
		],
		"恶势力": [
			["è"],
			["shì"],
			["lì"]
		],
		"恶性循环": [
			["è"],
			["xìng"],
			["xún"],
			["huán"]
		],
		"恶凶凶": [
			["è"],
			["xiōng"],
			["xiōng"]
		],
		"恶言厉色": [
			["è"],
			["yán"],
			["lì"],
			["sè"]
		],
		"恶性肿瘤": [
			["è"],
			["xìng"],
			["zhǒng"],
			["liú"]
		],
		"恶言詈辞": [
			["è"],
			["yán"],
			["lì"],
			["cí"]
		],
		"恶衣菲食": [
			["è"],
			["yī"],
			["fēi"],
			["shí"]
		],
		"恶衣恶食": [
			["è"],
			["yī"],
			["è"],
			["shí"]
		],
		"恶衣蔬食": [
			["è"],
			["yī"],
			["shū"],
			["shí"]
		],
		"恶衣粝食": [
			["è"],
			["yī"],
			["lì"],
			["shí"]
		],
		"恶意中伤": [
			["è"],
			["yì"],
			["zhòng"],
			["shāng"]
		],
		"恶语伤人": [
			["è"],
			["yǔ"],
			["shāng"],
			["rén"]
		],
		"恶有恶报": [
			["è"],
			["yǒu"],
			["è"],
			["bào"]
		],
		"恶语伤人六月寒": [
			["è"],
			["yǔ"],
			["shāng"],
			["rén"],
			["liù"],
			["yuè"],
			["hán"]
		],
		"恶语相加": [
			["è"],
			["yǔ"],
			["xiāng"],
			["jiā"]
		],
		"恶语中伤": [
			["è"],
			["yǔ"],
			["zhòng"],
			["shāng"]
		],
		"恶直丑正": [
			["è"],
			["zhí"],
			["chǒu"],
			["zhèng"]
		],
		"恶醉强酒": [
			["wù"],
			["zuì"],
			["qiǎng"],
			["jiǔ"]
		],
		"恶紫夺朱": [
			["wù"],
			["zǐ"],
			["duó"],
			["zhū"]
		],
		"恶作剧": [
			["è"],
			["zuò"],
			["jù"]
		],
		"饿莩遍野": [
			["è"],
			["piǎo"],
			["biàn"],
			["yě"]
		],
		"饿莩载道": [
			["è"],
			["piǎo"],
			["zǎi"],
			["dào"]
		],
		"饿虎扑食": [
			["è"],
			["hǔ"],
			["pū"],
			["shí"]
		],
		"饿虎擒羊": [
			["è"],
			["hǔ"],
			["qín"],
			["yáng"]
		],
		"饿虎扑羊": [
			["è"],
			["hǔ"],
			["pū"],
			["yáng"]
		],
		"饿殍载道": [
			["è"],
			["piǎo"],
			["zài"],
			["dào"]
		],
		"饿虎吞羊": [
			["è"],
			["hǔ"],
			["tūn"],
			["yáng"]
		],
		"饿殍枕藉": [
			["è"],
			["piǎo"],
			["zhěn"],
			["jí"]
		],
		"遏恶扬善": [
			["è"],
			["è"],
			["yán"],
			["shàn"]
		],
		"遏渐防萌": [
			["è"],
			["jiàn"],
			["fáng"],
			["méng"]
		],
		"搤臂啮指": [
			["è"],
			["bì"],
			["niè"],
			["zhǐ"]
		],
		"恩不放债": [
			["ēn"],
			["bù"],
			["fàng"],
			["zhai"]
		],
		"恩恩相报": [
			["ēn"],
			["ēn"],
			["xiāng"],
			["bào"]
		],
		"恩将仇报": [
			["ēn"],
			["jiāng"],
			["chóu"],
			["bào"]
		],
		"恩荣并济": [
			["ēn"],
			["róng"],
			["bìng"],
			["jì"]
		],
		"恩若再生": [
			["ēn"],
			["ruò"],
			["zài"],
			["shēng"]
		],
		"恩深义重": [
			["ēn"],
			["shēn"],
			["yì"],
			["zhòng"]
		],
		"恩甚怨生": [
			["ēn"],
			["shèn"],
			["yuàn"],
			["shēng"]
		],
		"恩同父母": [
			["ēn"],
			["tóng"],
			["fù"],
			["mǔ"]
		],
		"恩同山岳": [
			["ēn"],
			["tóng"],
			["shān"],
			["yuè"]
		],
		"恩同再造": [
			["ēn"],
			["tóng"],
			["zài"],
			["zào"]
		],
		"恩威并用": [
			["ēn"],
			["wēi"],
			["bìng"],
			["yòng"]
		],
		"恩威并行": [
			["ēn"],
			["wēi"],
			["bìng"],
			["xíng"]
		],
		"恩有重报": [
			["ēn"],
			["yǒu"],
			["zhòng"],
			["bào"]
		],
		"恩怨分明": [
			["ēn"],
			["yuàn"],
			["fēn"],
			["míng"]
		],
		"恩重如山": [
			["ēn"],
			["zhòng"],
			["rú"],
			["shān"]
		],
		"恩重泰山": [
			["ēn"],
			["zhòng"],
			["tài"],
			["shān"]
		],
		"摁钉儿": [
			["èn"],
			["dīng"],
			["ér"]
		],
		"儿女成行": [
			["ér"],
			["nǚ"],
			["chéng"],
			["háng"]
		],
		"儿女情长": [
			["ér"],
			["nǚ"],
			["qíng"],
			["cháng"]
		],
		"儿女亲家": [
			["ér"],
			["nǚ"],
			["qìng"],
			["jiā"]
		],
		"儿女心肠": [
			["ér"],
			["nǘ"],
			["xīn"],
			["cháng"]
		],
		"儿女债": [
			["ér"],
			["nǚ"],
			["zhài"]
		],
		"儿女之情": [
			["ér"],
			["nǚ"],
			["zhī"],
			["qíng"]
		],
		"儿童节": [
			["ér"],
			["tóng"],
			["jié"]
		],
		"儿童乐园": [
			["ér"],
			["tóng"],
			["lè"],
			["yuán"]
		],
		"耳边风": [
			["ěr"],
			["biān"],
			["fēng"]
		],
		"耳鬓斯磨": [
			["ěr"],
			["bìn"],
			["sī"],
			["mó"]
		],
		"耳鬓撕磨": [
			["ěr"],
			["bìn"],
			["sī"],
			["mó"]
		],
		"耳鬓厮磨": [
			["ěr"],
			["bìn"],
			["sī"],
			["mó"]
		],
		"耳根清净": [
			["ěr"],
			["gēn"],
			["qīng"],
			["jìng"]
		],
		"耳红面赤": [
			["ěr"],
			["hóng"],
			["miàn"],
			["chì"]
		],
		"耳后生风": [
			["ěr"],
			["hòu"],
			["shēng"],
			["fēng"]
		],
		"耳目闭塞": [
			["ěr"],
			["mù"],
			["bì"],
			["sāi"]
		],
		"耳旁风": [
			["ěr"],
			["páng"],
			["fēng"]
		],
		"耳食之论": [
			["ěr"],
			["shí"],
			["zhī"],
			["lùn"]
		],
		"耳食之谈": [
			["ěr"],
			["shí"],
			["zhī"],
			["tán"]
		],
		"耳食之言": [
			["ěr"],
			["shí"],
			["zhī"],
			["yán"]
		],
		"耳视目食": [
			["ěr"],
			["shì"],
			["mù"],
			["shí"]
		],
		"耳熟能详": [
			["ěr"],
			["shú"],
			["néng"],
			["xiáng"]
		],
		"耳提面命": [
			["ěr"],
			["tí"],
			["miàn"],
			["mìng"]
		],
		"耳闻不如面见": [
			["ěr"],
			["wén"],
			["bù"],
			["rú"],
			["miàn"],
			["jiàn"]
		],
		"耳闻不如目见": [
			["ěr"],
			["wén"],
			["bù"],
			["rú"],
			["mù"],
			["jiàn"]
		],
		"耳闻目见": [
			["ěr"],
			["wén"],
			["mù"],
			["jiàn"]
		],
		"耳熏目染": [
			["ěr"],
			["xūn"],
			["mù"],
			["rǎn"]
		],
		"迩安远至": [
			["ěr"],
			["ān"],
			["yuǎn"],
			["zhì"]
		],
		"二把刀": [
			["èr"],
			["bǎ"],
			["dāo"]
		],
		"二把手": [
			["èr"],
			["bǎ"],
			["shǒu"]
		],
		"二传手": [
			["èr"],
			["chuán"],
			["shǒu"]
		],
		"二次能源": [
			["èr"],
			["cì"],
			["néng"],
			["yuán"]
		],
		"二次曲线": [
			["èr"],
			["cì"],
			["qū"],
			["xiàn"]
		],
		"二地主": [
			["èr"],
			["dì"],
			["zhǔ"]
		],
		"二分明月": [
			["èr"],
			["fēn"],
			["míng"],
			["yuè"]
		],
		"二锅头": [
			["èr"],
			["guō"],
			["tóu"]
		],
		"二化螟": [
			["èr"],
			["huà"],
			["míng"]
		],
		"二话没说": [
			["èr"],
			["huà"],
			["méi"],
			["shuō"]
		],
		"二话不说": [
			["èr"],
			["huà"],
			["bù"],
			["shuō"]
		],
		"二郎腿": [
			["èr"],
			["láng"],
			["tuǐ"]
		],
		"二龙戏珠": [
			["èr"],
			["lóng"],
			["xì"],
			["zhū"]
		],
		"二面角": [
			["èr"],
			["miàn"],
			["jiǎo"]
		],
		"二七大罢工": [
			["èr"],
			["qī"],
			["dà"],
			["bà"],
			["gōng"]
		],
		"二人台": [
			["èr"],
			["rén"],
			["tái"]
		],
		"二人转": [
			["èr"],
			["rén"],
			["zhuàn"]
		],
		"二三其德": [
			["èr"],
			["sān"],
			["qí"],
			["dé"]
		],
		"二三其意": [
			["èr"],
			["sān"],
			["qí"],
			["yì"]
		],
		"二十八宿": [
			["èr"],
			["shí"],
			["bā"],
			["xiù"]
		],
		"二十四节气": [
			["èr"],
			["shí"],
			["sì"],
			["jié"],
			["qì"]
		],
		"二竖为虐": [
			["èr"],
			["shù"],
			["wéi"],
			["nüè"]
		],
		"二万五千里长征": [
			["èr"],
			["wàn"],
			["wǔ"],
			["qiān"],
			["lǐ"],
			["cháng"],
			["zhēng"]
		],
		"二姓之好": [
			["èr"],
			["xìng"],
			["zhī"],
			["hǎo"]
		],
		"二氧化硅": [
			["èr"],
			["yǎng"],
			["huà"],
			["guī"]
		],
		"二氧化硫": [
			["èr"],
			["yǎng"],
			["huà"],
			["liú"]
		],
		"二氧化锰": [
			["èr"],
			["yǎng"],
			["huà"],
			["měng"]
		],
		"二氧化碳": [
			["èr"],
			["yǎng"],
			["huà"],
			["tàn"]
		],
		"二氧化物": [
			["èr"],
			["yǎng"],
			["huà"],
			["wù"]
		],
		"二元论": [
			["èr"],
			["yuán"],
			["lùn"]
		],
		"二者不可得兼": [
			["èr"],
			["zhě"],
			["bù"],
			["kě"],
			["dé"],
			["jiān"]
		],
		"二重唱": [
			["èr"],
			["chóng"],
			["chàng"]
		],
		"二重根": [
			["èr"],
			["chóng"],
			["gēn"]
		],
		"二重性": [
			["èr"],
			["chóng"],
			["xìng"]
		],
		"二重奏": [
			["èr"],
			["chóng"],
			["zòu"]
		],
		"发报机": [
			["fā"],
			["bào"],
			["jī"]
		],
		"发病率": [
			["fā"],
			["bìng"],
			["lǜ"]
		],
		"发财致富": [
			["fā"],
			["cái"],
			["zhì"],
			["fù"]
		],
		"发策决科": [
			["fā"],
			["cè"],
			["jué"],
			["kē"]
		],
		"发达国家": [
			["fā"],
			["dá"],
			["guó"],
			["jiā"]
		],
		"发电厂": [
			["fā"],
			["diàn"],
			["chǎng"]
		],
		"发电机": [
			["fā"],
			["diàn"],
			["jī"]
		],
		"发动机": [
			["fā"],
			["dòng"],
			["jī"]
		],
		"发端词": [
			["fā"],
			["duān"],
			["cí"]
		],
		"发短心长": [
			["fà"],
			["duǎn"],
			["xīn"],
			["cháng"]
		],
		"发凡起例": [
			["fā"],
			["fán"],
			["qǐ"],
			["lì"]
		],
		"发奋图强": [
			["fā"],
			["fèn"],
			["tú"],
			["qiáng"]
		],
		"发愤图强": [
			["fā"],
			["fèn"],
			["tú"],
			["qiáng"]
		],
		"发愤忘食": [
			["fā"],
			["fèn"],
			["wàng"],
			["shí"]
		],
		"发高烧": [
			["fā"],
			["gāo"],
			["shāo"]
		],
		"发号施令": [
			["fā"],
			["hào"],
			["shī"],
			["lìng"]
		],
		"发横财": [
			["fā"],
			["hèng"],
			["cái"]
		],
		"发昏章第十一": [
			["fā"],
			["hūn"],
			["zhāng"],
			["dì"],
			["shí"],
			["yī"]
		],
		"发家致富": [
			["fā"],
			["jiā"],
			["zhì"],
			["fù"]
		],
		"发奸擿伏": [
			["fā"],
			["jiān"],
			["tì"],
			["fú"]
		],
		"发酒疯": [
			["fā"],
			["jiǔ"],
			["fēng"]
		],
		"发刊词": [
			["fā"],
			["kān"],
			["cí"]
		],
		"发科打诨": [
			["fā"],
			["kē"],
			["dǎ"],
			["hùn"]
		],
		"发牢骚": [
			["fā"],
			["láo"],
			["sāo"]
		],
		"发令枪": [
			["fā"],
			["lìng"],
			["qiāng"]
		],
		"发聋振聩": [
			["fā"],
			["lóng"],
			["zhèn"],
			["kuì"]
		],
		"发蒙解缚": [
			["fā"],
			["méng"],
			["jiě"],
			["fu"]
		],
		"发蒙解惑": [
			["fā"],
			["méng"],
			["jiě"],
			["huò"]
		],
		"发蒙振落": [
			["fā"],
			["méng"],
			["zhèn"],
			["luò"]
		],
		"发蒙振聩": [
			["fā"],
			["méng"],
			["zhèn"],
			["kuì"]
		],
		"发明家": [
			["fā"],
			["míng"],
			["jiā"]
		],
		"发明权": [
			["fā"],
			["míng"],
			["quán"]
		],
		"发怒冲冠": [
			["fā"],
			["nù"],
			["chōng"],
			["guàn"]
		],
		"发怒穿冠": [
			["fà"],
			["nù"],
			["chuān"],
			["guān"]
		],
		"发疟子": [
			["fā"],
			["yào"],
			["zǐ"]
		],
		"发脾气": [
			["fā"],
			["pí"],
			["qì"]
		],
		"发起人": [
			["fā"],
			["qǐ"],
			["rén"]
		],
		"发人深省": [
			["fā"],
			["rén"],
			["shēn"],
			["xǐng"]
		],
		"发人深思": [
			["fā"],
			["rén"],
			["shēn"],
			["sī"]
		],
		"发上冲冠": [
			["fā"],
			["shàng"],
			["chōng"],
			["guàn"]
		],
		"发上指冠": [
			["fā"],
			["shàng"],
			["zhǐ"],
			["guàn"]
		],
		"发烧友": [
			["fā"],
			["shāo"],
			["yǒu"]
		],
		"发神经": [
			["fā"],
			["shén"],
			["jīng"]
		],
		"发生炉煤气": [
			["fā"],
			["shēng"],
			["lú"],
			["méi"],
			["qì"]
		],
		"发棠之请": [
			["fā"],
			["táng"],
			["zhī"],
			["qǐng"]
		],
		"发秃齿豁": [
			["fà"],
			["tū"],
			["chǐ"],
			["huò"]
		],
		"发屋求狸": [
			["fā"],
			["wū"],
			["qiú"],
			["lí"]
		],
		"发宪布令": [
			["fā"],
			["xiàn"],
			["bù"],
			["lìng"]
		],
		"发祥地": [
			["fā"],
			["xiáng"],
			["dì"]
		],
		"发行人": [
			["fā"],
			["xíng"],
			["rén"]
		],
		"发行量": [
			["fā"],
			["xíng"],
			["liàng"]
		],
		"发硎新试": [
			["fā"],
			["xíng"],
			["xīn"],
			["shì"]
		],
		"发芽率": [
			["fā"],
			["yá"],
			["lǜ"]
		],
		"发言人": [
			["fā"],
			["yán"],
			["rén"]
		],
		"发言权": [
			["fā"],
			["yán"],
			["quán"]
		],
		"发扬踔厉": [
			["fā"],
			["yáng"],
			["chuō"],
			["lì"]
		],
		"发言盈庭": [
			["fā"],
			["yán"],
			["yíng"],
			["tíng"]
		],
		"发扬光大": [
			["fā"],
			["yáng"],
			["guāng"],
			["dà"]
		],
		"发洋财": [
			["fā"],
			["yáng"],
			["cái"]
		],
		"发扬蹈厉": [
			["fā"],
			["yáng"],
			["dǎo"],
			["lì"]
		],
		"发音器官": [
			["fā"],
			["yīn"],
			["qì"],
			["guān"]
		],
		"发隐擿伏": [
			["fā"],
			["yǐn"],
			["tī"],
			["fú"]
		],
		"发引千钧": [
			["fà"],
			["yǐn"],
			["qiān"],
			["jūn"]
		],
		"发踊冲冠": [
			["fà"],
			["yǒng"],
			["chōng"],
			["guān"]
		],
		"发语词": [
			["fā"],
			["yǔ"],
			["cí"]
		],
		"发源地": [
			["fā"],
			["yuán"],
			["dì"]
		],
		"发展速度": [
			["fā"],
			["zhǎn"],
			["sù"],
			["dù"]
		],
		"发展心理学": [
			["fā"],
			["zhǎn"],
			["xīn"],
			["lǐ"],
			["xué"]
		],
		"发政施仁": [
			["fā"],
			["zhèng"],
			["shī"],
			["rén"]
		],
		"发展中国家": [
			["fā"],
			["zhǎn"],
			["zhōng"],
			["guó"],
			["jiā"]
		],
		"发植穿冠": [
			["fà"],
			["zhí"],
			["chuān"],
			["guān"]
		],
		"发指眦裂": [
			["fà"],
			["zhǐ"],
			["zì"],
			["liè"]
		],
		"发综指示": [
			["fā"],
			["zōng"],
			["zhǐ"],
			["shì"]
		],
		"发踪指使": [
			["fā"],
			["zōng"],
			["zhǐ"],
			["shǐ"]
		],
		"发踪指示": [
			["fā"],
			["zōng"],
			["zhǐ"],
			["shì"]
		],
		"发纵指使": [
			["fā"],
			["zòng"],
			["zhǐ"],
			["shǐ"]
		],
		"发纵指示": [
			["fā"],
			["zòng"],
			["zhǐ"],
			["shì"]
		],
		"伐冰之家": [
			["fá"],
			["bīng"],
			["zhī"],
			["jiā"]
		],
		"伐功矜能": [
			["fá"],
			["gōng"],
			["jīn"],
			["néng"]
		],
		"伐毛洗髓": [
			["fá"],
			["máo"],
			["xǐ"],
			["suǐ"]
		],
		"伐异党同": [
			["fá"],
			["yì"],
			["dǎng"],
			["tóng"]
		],
		"罚不责众": [
			["fá"],
			["bù"],
			["zé"],
			["zhòng"]
		],
		"罚不当罪": [
			["fá"],
			["bù"],
			["dāng"],
			["zuì"]
		],
		"法不阿贵": [
			["fǎ"],
			["bù"],
			["ē"],
			["guì"]
		],
		"法不传六耳": [
			["fǎ"],
			["bù"],
			["chuán"],
			["liù"],
			["ěr"]
		],
		"法不徇情": [
			["fǎ"],
			["bù"],
			["xùn"],
			["qíng"]
		],
		"法定人数": [
			["fǎ"],
			["dìng"],
			["rén"],
			["shù"]
		],
		"法国号": [
			["fǎ"],
			["guó"],
			["hào"]
		],
		"法拉第": [
			["fǎ"],
			["lā"],
			["dì"]
		],
		"法律关系": [
			["fǎ"],
			["lǜ"],
			["guān"],
			["xì"]
		],
		"法律行为": [
			["fǎ"],
			["lǜ"],
			["xíng"],
			["wéi"]
		],
		"法律意识": [
			["fǎ"],
			["lǜ"],
			["yì"],
			["shí"]
		],
		"法律责任": [
			["fǎ"],
			["lǜ"],
			["zé"],
			["rèn"]
		],
		"法律制度": [
			["fǎ"],
			["lǜ"],
			["zhì"],
			["dù"]
		],
		"法脉准绳": [
			["fǎ"],
			["mài"],
			["zhǔn"],
			["shéng"]
		],
		"法轮常转": [
			["fǎ"],
			["lún"],
			["cháng"],
			["zhuàn"]
		],
		"法向加速度": [
			["fǎ"],
			["xiàng"],
			["jiā"],
			["sù"],
			["dù"]
		],
		"法无可贷": [
			["fǎ"],
			["wú"],
			["kě"],
			["dài"]
		],
		"番红花": [
			["fān"],
			["hóng"],
			["huā"]
		],
		"番窠倒臼": [
			["fān"],
			["kē"],
			["dǎo"],
			["jiù"]
		],
		"番来覆去": [
			["fān"],
			["lái"],
			["fù"],
			["qù"]
		],
		"番木瓜": [
			["fān"],
			["mù"],
			["guā"]
		],
		"番石榴": [
			["fān"],
			["shí"],
			["liú"]
		],
		"翻肠倒肚": [
			["fān"],
			["cháng"],
			["dǎo"],
			["dǔ"]
		],
		"翻肠搅肚": [
			["fān"],
			["cháng"],
			["jiǎo"],
			["dù"]
		],
		"翻车鱼": [
			["fān"],
			["chē"],
			["yú"]
		],
		"翻唇弄舌": [
			["fān"],
			["chún"],
			["nòng"],
			["shé"]
		],
		"翻个儿": [
			["fān"],
			["gè"],
			["ér"]
		],
		"翻跟斗": [
			["fān"],
			["gēn"],
			["dǒu"]
		],
		"翻跟头": [
			["fān"],
			["gēn"],
			["tou"]
		],
		"翻黄倒皁": [
			["fān"],
			["huáng"],
			["dǎo"],
			["yí"]
		],
		"翻黄倒皂": [
			["fān"],
			["huáng"],
			["dǎo"],
			["zào"]
		],
		"翻江倒海": [
			["fān"],
			["jiāng"],
			["dǎo"],
			["hǎi"]
		],
		"翻空出奇": [
			["fān"],
			["kōng"],
			["chū"],
			["qí"]
		],
		"翻筋斗": [
			["fān"],
			["jīn"],
			["dǒu"]
		],
		"翻脸不认人": [
			["fān"],
			["liǎn"],
			["bù"],
			["rèn"],
			["rén"]
		],
		"翻山越岭": [
			["fān"],
			["shān"],
			["yuè"],
			["lǐng"]
		],
		"翻手云覆手雨": [
			["fān"],
			["shǒu"],
			["yún"],
			["fù"],
			["shǒu"],
			["yǔ"]
		],
		"翻箱倒柜": [
			["fān"],
			["xiāng"],
			["dǎo"],
			["guì"]
		],
		"翻天作地": [
			["fān"],
			["tiān"],
			["zuò"],
			["dì"]
		],
		"翻天覆地": [
			["fān"],
			["tiān"],
			["fù"],
			["dì"]
		],
		"翻箱倒笼": [
			["fān"],
			["xiāng"],
			["dǎo"],
			["lóng"]
		],
		"藩镇割据": [
			["fān"],
			["zhèn"],
			["gē"],
			["jù"]
		],
		"翻云覆雨": [
			["fān"],
			["yún"],
			["fù"],
			["yǔ"]
		],
		"凡才浅识": [
			["fán"],
			["cái"],
			["qiǎn"],
			["shí"]
		],
		"凡尔丁": [
			["fán"],
			["ěr"],
			["dīng"]
		],
		"凡夫肉眼": [
			["fán"],
			["fū"],
			["ròu"],
			["yǎn"]
		],
		"凡夫俗子": [
			["fán"],
			["fū"],
			["sú"],
			["zǐ"]
		],
		"凡胎浊骨": [
			["fán"],
			["tāi"],
			["zhuó"],
			["gǔ"]
		],
		"凡胎浊体": [
			["fán"],
			["tāi"],
			["zhuó"],
			["tǐ"]
		],
		"繁花似锦": [
			["fán"],
			["huā"],
			["sì"],
			["jǐn"]
		],
		"繁华损枝": [
			["fán"],
			["huá"],
			["sǔn"],
			["zhī"]
		],
		"繁荣富强": [
			["fán"],
			["róng"],
			["fù"],
			["qiáng"]
		],
		"繁荣昌盛": [
			["fán"],
			["róng"],
			["chāng"],
			["shèng"]
		],
		"繁荣兴旺": [
			["fán"],
			["róng"],
			["xīng"],
			["wàng"]
		],
		"繁体字": [
			["fán"],
			["tǐ"],
			["zì"]
		],
		"繁文末节": [
			["fán"],
			["wén"],
			["mò"],
			["jié"]
		],
		"繁文缛节": [
			["fán"],
			["wén"],
			["rù"],
			["jié"]
		],
		"繁文缛礼": [
			["fán"],
			["wén"],
			["rù"],
			["lǐ"]
		],
		"繁弦急管": [
			["fán"],
			["xián"],
			["jí"],
			["guǎn"]
		],
		"繁刑重赋": [
			["fán"],
			["xíng"],
			["zhòng"],
			["fù"]
		],
		"繁征博引": [
			["fán"],
			["zhēng"],
			["bó"],
			["yǐn"]
		],
		"繁枝细节": [
			["fán"],
			["zhī"],
			["xì"],
			["jié"]
		],
		"反败为胜": [
			["fǎn"],
			["bài"],
			["wéi"],
			["shèng"]
		],
		"反唇相讥": [
			["fǎn"],
			["chún"],
			["xiāng"],
			["jī"]
		],
		"反冲力": [
			["fǎn"],
			["chōng"],
			["lì"]
		],
		"反唇相稽": [
			["fǎn"],
			["chún"],
			["xiāng"],
			["jī"]
		],
		"反对票": [
			["fǎn"],
			["duì"],
			["piào"]
		],
		"反风灭火": [
			["fǎn"],
			["fēng"],
			["miè"],
			["huǒ"]
		],
		"反戈相向": [
			["fǎn"],
			["gē"],
			["xiāng"],
			["xiàng"]
		],
		"反攻倒算": [
			["fǎn"],
			["gōng"],
			["dǎo"],
			["suàn"]
		],
		"反躬自省": [
			["fǎn"],
			["gōng"],
			["zì"],
			["xǐng"]
		],
		"反间谍": [
			["fǎn"],
			["jiàn"],
			["dié"]
		],
		"反间计": [
			["fǎn"],
			["jiàn"],
			["jì"]
		],
		"反间之计": [
			["fǎn"],
			["jiàn"],
			["zhī"],
			["jì"]
		],
		"反经合道": [
			["fǎn"],
			["jīng"],
			["hé"],
			["dào"]
		],
		"反经合义": [
			["fǎn"],
			["jīng"],
			["hé"],
			["yì"]
		],
		"反经行权": [
			["fǎn"],
			["jīng"],
			["xíng"],
			["quán"]
		],
		"反劳为逸": [
			["fǎn"],
			["láo"],
			["wéi"],
			["yì"]
		],
		"反客为主": [
			["fǎn"],
			["kè"],
			["wéi"],
			["zhǔ"]
		],
		"反老还童": [
			["fǎn"],
			["lǎo"],
			["huán"],
			["tóng"]
		],
		"反面教员": [
			["fǎn"],
			["miàn"],
			["jiào"],
			["yuán"]
		],
		"反目成仇": [
			["fǎn"],
			["mù"],
			["chéng"],
			["chóu"]
		],
		"反朴归真": [
			["fǎn"],
			["pǔ"],
			["guī"],
			["zhēn"]
		],
		"反朴还淳": [
			["fǎn"],
			["pǔ"],
			["huán"],
			["chún"]
		],
		"反其道而行之": [
			["fǎn"],
			["qí"],
			["dào"],
			["ér"],
			["xíng"],
			["zhī"]
		],
		"反气旋": [
			["fǎn"],
			["qì"],
			["xuán"]
		],
		"反射定律": [
			["fǎn"],
			["shè"],
			["dìng"],
			["lǜ"]
		],
		"反射角": [
			["fǎn"],
			["shè"],
			["jiǎo"]
		],
		"反手可得": [
			["fǎn"],
			["shǒu"],
			["kě"],
			["dé"]
		],
		"反水不收": [
			["fǎn"],
			["shuǐ"],
			["bù"],
			["shōu"]
		],
		"反坦克炮": [
			["fǎn"],
			["tǎn"],
			["kè"],
			["pào"]
		],
		"反听内视": [
			["fǎn"],
			["tīng"],
			["nèi"],
			["shì"]
		],
		"反眼不识": [
			["fǎn"],
			["yǎn"],
			["bù"],
			["shí"]
		],
		"反应堆": [
			["fǎn"],
			["yìng"],
			["duī"]
		],
		"反应器": [
			["fǎn"],
			["yìng"],
			["qì"]
		],
		"反应式": [
			["fǎn"],
			["yìng"],
			["shì"]
		],
		"反映论": [
			["fǎn"],
			["yìng"],
			["lùn"]
		],
		"反右派斗争": [
			["fǎn"],
			["yòu"],
			["pài"],
			["dòu"],
			["zhēng"]
		],
		"反正拨乱": [
			["fǎn"],
			["zhèng"],
			["bō"],
			["luàn"]
		],
		"反正还淳": [
			["fǎn"],
			["zhèng"],
			["huán"],
			["chún"]
		],
		"反治其身": [
			["fǎn"],
			["zhì"],
			["qí"],
			["shēn"]
		],
		"返本朝元": [
			["fǎn"],
			["běn"],
			["cháo"],
			["yuán"]
		],
		"反转片": [
			["fǎn"],
			["zhuǎn"],
			["piàn"]
		],
		"返本还元": [
			["fǎn"],
			["běn"],
			["huán"],
			["yuán"]
		],
		"返本还原": [
			["fǎn"],
			["běn"],
			["huán"],
			["yuán"]
		],
		"返本还源": [
			["fǎn"],
			["běn"],
			["huán"],
			["yuán"]
		],
		"返老还童": [
			["fǎn"],
			["lǎo"],
			["huán"],
			["tóng"]
		],
		"返观内照": [
			["fǎn"],
			["guān"],
			["nèi"],
			["zhào"]
		],
		"返观内视": [
			["fǎn"],
			["guān"],
			["nèi"],
			["shì"]
		],
		"返朴归真": [
			["fǎn"],
			["pǔ"],
			["guī"],
			["zhēn"]
		],
		"返朴还淳": [
			["fǎn"],
			["pǔ"],
			["huán"],
			["chún"]
		],
		"返视内照": [
			["fǎn"],
			["shì"],
			["nèi"],
			["zhào"]
		],
		"返朴还真": [
			["fǎn"],
			["pǔ"],
			["huán"],
			["zhēn"]
		],
		"返我初服": [
			["fǎn"],
			["wǒ"],
			["chū"],
			["fú"]
		],
		"返邪归正": [
			["fǎn"],
			["xié"],
			["guī"],
			["zhèng"]
		],
		"犯不着": [
			["fàn"],
			["bù"],
			["zháo"]
		],
		"犯不上": [
			["fàn"],
			["bù"],
			["shàng"]
		],
		"犯得上": [
			["fàn"],
			["děi"],
			["shàng"]
		],
		"犯而不校": [
			["fàn"],
			["ér"],
			["bù"],
			["jiào"]
		],
		"犯得着": [
			["fàn"],
			["de"],
			["zháo"]
		],
		"犯而勿校": [
			["fàn"],
			["ér"],
			["wù"],
			["xiào"]
		],
		"犯节气": [
			["fàn"],
			["jié"],
			["qì"]
		],
		"犯上作乱": [
			["fàn"],
			["shàng"],
			["zuò"],
			["luàn"]
		],
		"犯罪嫌疑人": [
			["fàn"],
			["zuì"],
			["xián"],
			["yí"],
			["rén"]
		],
		"泛浩摩苍": [
			["fàn"],
			["hào"],
			["mó"],
			["cāng"]
		],
		"泛神论": [
			["fàn"],
			["shén"],
			["lùn"]
		],
		"泛应曲当": [
			["fàn"],
			["yīng"],
			["qǔ"],
			["dāng"]
		],
		"饭囊酒瓮": [
			["fàn"],
			["náng"],
			["jiǔ"],
			["wèng"]
		],
		"泛宅浮家": [
			["fàn"],
			["zhái"],
			["fú"],
			["jiā"]
		],
		"饭坑酒囊": [
			["fàn"],
			["kēng"],
			["jiǔ"],
			["náng"]
		],
		"饭囊酒甕": [
			["fàn"],
			["náng"],
			["jiǔ"],
			["wèng"]
		],
		"饭囊衣架": [
			["fàn"],
			["náng"],
			["yī"],
			["jià"]
		],
		"范水模山": [
			["fàn"],
			["shuǐ"],
			["mó"],
			["shān"]
		],
		"贩夫贩妇": [
			["fàn"],
			["fū"],
			["fàn"],
			["fù"]
		],
		"贩夫俗子": [
			["fàn"],
			["fū"],
			["sú"],
			["zǐ"]
		],
		"贩夫皁隶": [
			["fàn"],
			["fū"],
			["yě"],
			["lì"]
		],
		"贩夫驺卒": [
			["fàn"],
			["fū"],
			["zōu"],
			["zú"]
		],
		"贩夫皂隶": [
			["fàn"],
			["fū"],
			["zào"],
			["lì"]
		],
		"贩夫走卒": [
			["fàn"],
			["fū"],
			["zǒu"],
			["fú"]
		],
		"梵册贝叶": [
			["fàn"],
			["cè"],
			["bèi"],
			["yè"]
		],
		"梵哑铃": [
			["fàn"],
			["yǎ"],
			["líng"]
		],
		"方便面": [
			["fāng"],
			["biàn"],
			["miàn"]
		],
		"方便之门": [
			["fāng"],
			["biàn"],
			["zhī"],
			["mén"]
		],
		"方骖并路": [
			["fāng"],
			["cān"],
			["bìng"],
			["lù"]
		],
		"方寸不乱": [
			["fāng"],
			["cùn"],
			["bù"],
			["luàn"]
		],
		"方寸万重": [
			["fāng"],
			["cùn"],
			["wàn"],
			["chóng"]
		],
		"方寸之地": [
			["fāng"],
			["cùn"],
			["zhī"],
			["dì"]
		],
		"方底圆盖": [
			["fāng"],
			["dǐ"],
			["yuán"],
			["gài"]
		],
		"方法论": [
			["fāng"],
			["fǎ"],
			["lùn"]
		],
		"方方正正": [
			["fāng"],
			["fāng"],
			["zhèng"],
			["zhèng"]
		],
		"方解石": [
			["fāng"],
			["jiě"],
			["shí"]
		],
		"方括号": [
			["fāng"],
			["kuò"],
			["hào"]
		],
		"方领圆冠": [
			["fāng"],
			["lǐng"],
			["yuán"],
			["guàn"]
		],
		"方面大耳": [
			["fāng"],
			["miàn"],
			["dà"],
			["ěr"]
		],
		"方枘圜凿": [
			["fāng"],
			["ruì"],
			["huán"],
			["záo"]
		],
		"方头不劣": [
			["fāng"],
			["tóu"],
			["bù"],
			["liè"]
		],
		"方头不律": [
			["fāng"],
			["tóu"],
			["bù"],
			["lǜ"]
		],
		"方位角": [
			["fāng"],
			["wèi"],
			["jiǎo"]
		],
		"方兴未艾": [
			["fāng"],
			["xīng"],
			["wèi"],
			["ài"]
		],
		"方兴未已": [
			["fāng"],
			["xīng"],
			["wèi"],
			["yǐ"]
		],
		"方言矩行": [
			["fāng"],
			["yán"],
			["jǔ"],
			["xíng"]
		],
		"方员可施": [
			["fāng"],
			["yuán"],
			["kě"],
			["shī"]
		],
		"方正不阿": [
			["fāng"],
			["zhèng"],
			["bù"],
			["ē"]
		],
		"芳年华月": [
			["fāng"],
			["nián"],
			["huá"],
			["yuè"]
		],
		"芳兰竟体": [
			["fāng"],
			["lán"],
			["jìng"],
			["tǐ"]
		],
		"防不及防": [
			["fáng"],
			["bù"],
			["jí"],
			["fáng"]
		],
		"防不胜防": [
			["fáng"],
			["bù"],
			["shèng"],
			["fáng"]
		],
		"防城港市": [
			["fáng"],
			["chéng"],
			["gǎng"],
			["shì"]
		],
		"防毒面具": [
			["fáng"],
			["dú"],
			["miàn"],
			["jù"]
		],
		"防风林": [
			["fáng"],
			["fēng"],
			["lín"]
		],
		"防空洞": [
			["fáng"],
			["kōng"],
			["dòng"]
		],
		"防萌杜渐": [
			["fáng"],
			["méng"],
			["dù"],
			["jiàn"]
		],
		"防空壕": [
			["fáng"],
			["kōng"],
			["háo"]
		],
		"防沙林": [
			["fáng"],
			["shā"],
			["lín"]
		],
		"防微杜渐": [
			["fáng"],
			["wēi"],
			["dù"],
			["jiàn"]
		],
		"防微虑远": [
			["fáng"],
			["wēi"],
			["lǜ"],
			["yuǎn"]
		],
		"防卫过当": [
			["fáng"],
			["wèi"],
			["guò"],
			["dāng"]
		],
		"防心摄行": [
			["fáng"],
			["xīn"],
			["shè"],
			["xíng"]
		],
		"妨功害能": [
			["fáng"],
			["gōng"],
			["hài"],
			["néng"]
		],
		"房地产": [
			["fáng"],
			["dì"],
			["chǎn"]
		],
		"房地产市场": [
			["fáng"],
			["dì"],
			["chǎn"],
			["shì"],
			["chǎng"]
		],
		"鲂鱼赪尾": [
			["fáng"],
			["yú"],
			["chēng"],
			["wěi"]
		],
		"仿宋体": [
			["fǎng"],
			["sòng"],
			["tǐ"]
		],
		"访亲问友": [
			["fǎng"],
			["qīn"],
			["wèn"],
			["yǒu"]
		],
		"纺织工业": [
			["fǎng"],
			["zhī"],
			["gōng"],
			["yè"]
		],
		"纺织娘": [
			["fǎng"],
			["zhī"],
			["niáng"]
		],
		"纺织品": [
			["fǎng"],
			["zhī"],
			["pǐn"]
		],
		"放辟邪侈": [
			["fàng"],
			["pì"],
			["xié"],
			["chǐ"]
		],
		"放辟淫侈": [
			["fàng"],
			["pì"],
			["yín"],
			["chǐ"]
		],
		"放长线钓大鱼": [
			["fáng"],
			["cháng"],
			["xiàn"],
			["diào"],
			["dà"],
			["yú"]
		],
		"放达不羁": [
			["fàng"],
			["dá"],
			["bù"],
			["jī"]
		],
		"放大镜": [
			["fàng"],
			["dà"],
			["jìng"]
		],
		"放大率": [
			["fàng"],
			["dà"],
			["shuài"]
		],
		"放大器": [
			["fàng"],
			["dà"],
			["qì"]
		],
		"放大炮": [
			["fàng"],
			["dà"],
			["pào"]
		],
		"放大纸": [
			["fàng"],
			["dà"],
			["zhǐ"]
		],
		"放诞不羁": [
			["fàng"],
			["dàn"],
			["bù"],
			["jī"]
		],
		"放诞不拘": [
			["fàng"],
			["dàn"],
			["bù"],
			["jū"]
		],
		"放诞风流": [
			["fàng"],
			["dàn"],
			["fēng"],
			["liú"]
		],
		"放荡不羁": [
			["fàng"],
			["dàng"],
			["bù"],
			["jī"]
		],
		"放刁把滥": [
			["fàng"],
			["diāo"],
			["bǎ"],
			["làn"]
		],
		"放刁撒泼": [
			["fàng"],
			["diāo"],
			["sā"],
			["pō"]
		],
		"放歌纵酒": [
			["fàng"],
			["gē"],
			["zòng"],
			["jiǔ"]
		],
		"放空气": [
			["fàng"],
			["kōng"],
			["qì"]
		],
		"放空炮": [
			["fàng"],
			["kōng"],
			["pào"]
		],
		"放浪不羁": [
			["fàng"],
			["làng"],
			["bù"],
			["jī"]
		],
		"放浪不拘": [
			["fàng"],
			["làng"],
			["bù"],
			["jū"]
		],
		"放浪无拘": [
			["fàng"],
			["làng"],
			["wú"],
			["jū"]
		],
		"放冷风": [
			["fàng"],
			["lěng"],
			["fēng"]
		],
		"放马后炮": [
			["fàng"],
			["mǎ"],
			["hòu"],
			["pào"]
		],
		"放马华阳": [
			["fàng"],
			["mǎ"],
			["huá"],
			["yáng"]
		],
		"放屁添风": [
			["fàng"],
			["pì"],
			["tiān"],
			["fēng"]
		],
		"放僻邪侈": [
			["fàng"],
			["pì"],
			["xié"],
			["chǐ"]
		],
		"放僻淫佚": [
			["fàng"],
			["pì"],
			["yín"],
			["yì"]
		],
		"放泼撒豪": [
			["fàng"],
			["pō"],
			["sā"],
			["háo"]
		],
		"放任自流": [
			["fàng"],
			["rèn"],
			["zì"],
			["liú"]
		],
		"放射病": [
			["fàng"],
			["shè"],
			["bìng"]
		],
		"放射疗法": [
			["fàng"],
			["shè"],
			["liáo"],
			["fǎ"]
		],
		"放射线": [
			["fàng"],
			["shè"],
			["xiàn"]
		],
		"放射性": [
			["fàng"],
			["shè"],
			["xìng"]
		],
		"放射形": [
			["fàng"],
			["shè"],
			["xíng"]
		],
		"放射性同位素": [
			["fàng"],
			["shè"],
			["xìng"],
			["tóng"],
			["wèi"],
			["sù"]
		],
		"放射性元素": [
			["fàng"],
			["shè"],
			["xìng"],
			["yuán"],
			["sù"]
		],
		"放心解体": [
			["fàng"],
			["xīn"],
			["jiě"],
			["tǐ"]
		],
		"放言高论": [
			["fàng"],
			["yán"],
			["gāo"],
			["lùn"]
		],
		"放纵不羁": [
			["fàng"],
			["zòng"],
			["bù"],
			["jī"]
		],
		"放纵不拘": [
			["fàng"],
			["zòng"],
			["bù"],
			["jū"]
		],
		"放纵驰荡": [
			["fàng"],
			["zòng"],
			["chí"],
			["dàng"]
		],
		"飞刍转饷": [
			["fēi"],
			["chú"],
			["zhuǎn"],
			["xiǎng"]
		],
		"飞车走壁": [
			["fēi"],
			["chē"],
			["zǒu"],
			["bì"]
		],
		"飞短流长": [
			["fēi"],
			["duǎn"],
			["liú"],
			["cháng"]
		],
		"飞蛾赴火": [
			["fēi"],
			["é"],
			["fù"],
			["huǒ"]
		],
		"飞蛾赴焰": [
			["fēi"],
			["é"],
			["fù"],
			["yàn"]
		],
		"飞蛾赴烛": [
			["fēi"],
			["é"],
			["fù"],
			["zhú"]
		],
		"飞蛾扑火": [
			["fēi"],
			["é"],
			["pū"],
			["huǒ"]
		],
		"飞蛾投火": [
			["fēi"],
			["é"],
			["tóu"],
			["huǒ"]
		],
		"飞鸿雪爪": [
			["fēi"],
			["hóng"],
			["xuě"],
			["zhǎo"]
		],
		"飞机场": [
			["fēi"],
			["jī"],
			["chǎng"]
		],
		"飞将军": [
			["fēi"],
			["jiàng"],
			["jūn"]
		],
		"飞将数奇": [
			["fēi"],
			["jiàng"],
			["shù"],
			["jī"]
		],
		"飞流短长": [
			["fēi"],
			["liú"],
			["duǎn"],
			["cháng"]
		],
		"飞来横祸": [
			["fēi"],
			["lái"],
			["hèng"],
			["huò"]
		],
		"飞龙乘云": [
			["fēi"],
			["lóng"],
			["chéng"],
			["yún"]
		],
		"飞米转刍": [
			["fēi"],
			["mǐ"],
			["zhuǎn"],
			["chú"]
		],
		"飞鸟惊蛇": [
			["fēi"],
			["niǎo"],
			["jīng"],
			["shé"]
		],
		"飞沙扬砾": [
			["fēi"],
			["shā"],
			["yáng"],
			["lì"]
		],
		"飞蓬随风": [
			["fēi"],
			["péng"],
			["suí"],
			["fēng"]
		],
		"飞沙走砾": [
			["fēi"],
			["shē"],
			["zǒu"],
			["lì"]
		],
		"飞沙走石": [
			["fēi"],
			["shā"],
			["zǒu"],
			["shí"]
		],
		"飞砂转石": [
			["fēi"],
			["shā"],
			["zhuǎn"],
			["shí"]
		],
		"飞砂走石": [
			["fēi"],
			["shā"],
			["zǒu"],
			["shí"]
		],
		"飞霜六月": [
			["fēi"],
			["shuāng"],
			["liù"],
			["yuè"]
		],
		"飞行员": [
			["fēi"],
			["xíng"],
			["yuán"]
		],
		"飞眼传情": [
			["fēi"],
			["yǎn"],
			["chuán"],
			["qíng"]
		],
		"飞鹰奔犬": [
			["fēi"],
			["yīng"],
			["bēn"],
			["quǎn"]
		],
		"飞灾横祸": [
			["fēi"],
			["zāi"],
			["hèng"],
			["huò"]
		],
		"飞珠溅玉": [
			["fēi"],
			["zhū"],
			["jiàn"],
			["yù"]
		],
		"非池中物": [
			["fēi"],
			["chí"],
			["zhōng"],
			["wù"]
		],
		"非电解质": [
			["fēi"],
			["diàn"],
			["jiě"],
			["zhì"]
		],
		"非分之财": [
			["fēi"],
			["fèn"],
			["zhī"],
			["cái"]
		],
		"非分之念": [
			["fēi"],
			["fèn"],
			["zhī"],
			["niàn"]
		],
		"非分之想": [
			["fēi"],
			["fèn"],
			["zhī"],
			["xiǎng"]
		],
		"非金属": [
			["fēi"],
			["jīn"],
			["shǔ"]
		],
		"非晶体": [
			["fēi"],
			["jīng"],
			["tǐ"]
		],
		"非亲非故": [
			["fēi"],
			["qīn"],
			["fēi"],
			["gù"]
		],
		"非同儿戏": [
			["fēi"],
			["tóng"],
			["ér"],
			["xì"]
		],
		"非同寻常": [
			["fēi"],
			["tóng"],
			["xún"],
			["cháng"]
		],
		"非同小可": [
			["fēi"],
			["tóng"],
			["xiǎo"],
			["kě"]
		],
		"非异人任": [
			["fēi"],
			["yì"],
			["rén"],
			["rèn"]
		],
		"非意相干": [
			["fēi"],
			["yì"],
			["xiāng"],
			["gān"]
		],
		"非正式": [
			["fēi"],
			["zhèng"],
			["shì"]
		],
		"非正义战争": [
			["fēi"],
			["zhèng"],
			["yì"],
			["zhàn"],
			["zhēng"]
		],
		"菲食薄衣": [
			["fěi"],
			["shí"],
			["bó"],
			["yī"]
		],
		"蜚短流长": [
			["fēi"],
			["duǎn"],
			["liú"],
			["cháng"]
		],
		"蜚瓦拔木": [
			["fēi"],
			["wǎ"],
			["bá"],
			["mù"]
		],
		"肥头大面": [
			["féi"],
			["tóu"],
			["dà"],
			["miàn"]
		],
		"肥头大耳": [
			["féi"],
			["tóu"],
			["dà"],
			["ěr"]
		],
		"肥头胖耳": [
			["féi"],
			["tóu"],
			["pàng"],
			["ěr"]
		],
		"肥皂泡": [
			["féi"],
			["zào"],
			["pào"]
		],
		"肥鱼大肉": [
			["féi"],
			["yú"],
			["dà"],
			["ròu"]
		],
		"匪朝伊夕": [
			["fěi"],
			["cháo"],
			["yī"],
			["xī"]
		],
		"匪石匪席": [
			["fěi"],
			["shí"],
			["fěi"],
			["xí"]
		],
		"匪石之心": [
			["fěi"],
			["shí"],
			["zhī"],
			["xīn"]
		],
		"匪伊朝夕": [
			["fěi"],
			["yí"],
			["zhāo"],
			["xī"]
		],
		"匪夷所思": [
			["fěi"],
			["yí"],
			["suǒ"],
			["sī"]
		],
		"斐然乡风": [
			["fěi"],
			["rán"],
			["xiāng"],
			["fēng"]
		],
		"斐然成章": [
			["fěi"],
			["rán"],
			["chéng"],
			["zhāng"]
		],
		"斐然向风": [
			["fěi"],
			["rán"],
			["xiàng"],
			["fēng"]
		],
		"吠非其主": [
			["fèi"],
			["fēi"],
			["qí"],
			["zhǔ"]
		],
		"废寝忘食": [
			["fèi"],
			["qǐn"],
			["wàng"],
			["shí"]
		],
		"废文任武": [
			["fèi"],
			["wén"],
			["rèn"],
			["wǔ"]
		],
		"沸沸汤汤": [
			["fèi"],
			["fèi"],
			["shāng"],
			["shāng"]
		],
		"肺动脉": [
			["fèi"],
			["dòng"],
			["mài"]
		],
		"沸天震地": [
			["fèi"],
			["tiān"],
			["zhèn"],
			["dì"]
		],
		"肺活量": [
			["fèi"],
			["huó"],
			["liàng"]
		],
		"肺结核": [
			["fèi"],
			["jié"],
			["hé"]
		],
		"肺静脉": [
			["fèi"],
			["jìng"],
			["mài"]
		],
		"肺石风清": [
			["fèi"],
			["shí"],
			["fēng"],
			["qīng"]
		],
		"费尽心机": [
			["fèi"],
			["jìn"],
			["xīn"],
			["jī"]
		],
		"痱子粉": [
			["fèi"],
			["zǐ"],
			["fěn"]
		],
		"分崩离析": [
			["fēn"],
			["bēng"],
			["lí"],
			["xī"]
		],
		"分别部居": [
			["fēn"],
			["bié"],
			["bù"],
			["jū"]
		],
		"分别门户": [
			["fēn"],
			["bié"],
			["mén"],
			["hù"]
		],
		"分钗劈凤": [
			["fēn"],
			["chāi"],
			["pī"],
			["fèng"]
		],
		"分钗断带": [
			["fēn"],
			["chāi"],
			["duàn"],
			["dài"]
		],
		"分钗破镜": [
			["fēn"],
			["chāi"],
			["pò"],
			["jìng"]
		],
		"分床同梦": [
			["fēn"],
			["chuáng"],
			["tóng"],
			["mèng"]
		],
		"分寸之末": [
			["fēn"],
			["cùn"],
			["zhī"],
			["mò"]
		],
		"分道扬镳": [
			["fēn"],
			["dào"],
			["yáng"],
			["biāo"]
		],
		"分而治之": [
			["fēn"],
			["ér"],
			["zhì"],
			["zhī"]
		],
		"分房减口": [
			["fēn"],
			["fáng"],
			["jiǎn"],
			["kǒu"]
		],
		"分风劈流": [
			["fēn"],
			["fēng"],
			["pǐ"],
			["liú"]
		],
		"分甘共苦": [
			["fēn"],
			["gān"],
			["gòng"],
			["kǔ"]
		],
		"分甘绝少": [
			["fēn"],
			["gān"],
			["jué"],
			["shǎo"]
		],
		"分甘同苦": [
			["fēn"],
			["gān"],
			["tóng"],
			["kǔ"]
		],
		"分工合作": [
			["fēn"],
			["gōng"],
			["hé"],
			["zuò"]
		],
		"分毫不差": [
			["fēn"],
			["háo"],
			["bù"],
			["chā"]
		],
		"分毫不爽": [
			["fēn"],
			["háo"],
			["bù"],
			["shuǎng"]
		],
		"分毫不取": [
			["fēn"],
			["háo"],
			["bù"],
			["qǔ"]
		],
		"分毫不值": [
			["fēn"],
			["háo"],
			["bù"],
			["zhí"]
		],
		"分毫无爽": [
			["fēn"],
			["háo"],
			["wú"],
			["shuǎng"]
		],
		"分毫析厘": [
			["fēn"],
			["háo"],
			["xī"],
			["lí"]
		],
		"分花拂柳": [
			["fēn"],
			["huā"],
			["fú"],
			["liǔ"]
		],
		"分花约柳": [
			["fēn"],
			["huā"],
			["yuē"],
			["liǔ"]
		],
		"分化瓦解": [
			["fēn"],
			["huà"],
			["wǎ"],
			["jiě"]
		],
		"分家析产": [
			["fēn"],
			["jiā"],
			["xī"],
			["chǎn"]
		],
		"分角器": [
			["fēn"],
			["jiǎo"],
			["qì"]
		],
		"分解者": [
			["fēn"],
			["jiě"],
			["zhě"]
		],
		"分界线": [
			["fēn"],
			["jiè"],
			["xiàn"]
		],
		"分斤掰两": [
			["fēn"],
			["jīn"],
			["bāi"],
			["liǎng"]
		],
		"分斤拨两": [
			["fēn"],
			["jīn"],
			["bō"],
			["liǎng"]
		],
		"分金掰两": [
			["fēn"],
			["jīn"],
			["bāi"],
			["liǎng"]
		],
		"分镜头": [
			["fēn"],
			["jìng"],
			["tóu"]
		],
		"分进合击": [
			["fēn"],
			["jìn"],
			["hé"],
			["jī"]
		],
		"分居异爨": [
			["fēn"],
			["jū"],
			["yì"],
			["cuàn"]
		],
		"分劳赴功": [
			["fēn"],
			["láo"],
			["fù"],
			["gōng"]
		],
		"分类学": [
			["fēn"],
			["lèi"],
			["xué"]
		],
		"分厘毫丝": [
			["fēn"],
			["lí"],
			["háo"],
			["sī"]
		],
		"分理处": [
			["fēn"],
			["lǐ"],
			["chù"]
		],
		"分列式": [
			["fēn"],
			["liè"],
			["shì"]
		],
		"分路扬镳": [
			["fēn"],
			["lù"],
			["yáng"],
			["biāo"]
		],
		"分茅赐土": [
			["fēn"],
			["máo"],
			["cì"],
			["tǔ"]
		],
		"分茅列土": [
			["fēn"],
			["máo"],
			["liè"],
			["tǔ"]
		],
		"分茅裂土": [
			["fēn"],
			["máo"],
			["liè"],
			["tǔ"]
		],
		"分茅锡土": [
			["fēn"],
			["máo"],
			["xī"],
			["tǔ"]
		],
		"分茅胙土": [
			["fēn"],
			["máo"],
			["zuò"],
			["tǔ"]
		],
		"分门别户": [
			["fēn"],
			["mén"],
			["bié"],
			["hù"]
		],
		"分门别类": [
			["fēn"],
			["mén"],
			["bié"],
			["lèi"]
		],
		"分内之事": [
			["fèn"],
			["nèi"],
			["zhī"],
			["shì"]
		],
		"分秒必争": [
			["fēn"],
			["miǎo"],
			["bì"],
			["zhēng"]
		],
		"分配律": [
			["fēn"],
			["pèi"],
			["lǜ"]
		],
		"分朋引类": [
			["fēn"],
			["péng"],
			["yǐn"],
			["lèi"]
		],
		"分贫振穷": [
			["fēn"],
			["pín"],
			["zhèn"],
			["qióng"]
		],
		"分情破爱": [
			["fēn"],
			["qíng"],
			["pò"],
			["ài"]
		],
		"分三别两": [
			["fēn"],
			["sān"],
			["bié"],
			["liǎng"]
		],
		"分散染料": [
			["fēn"],
			["sǎn"],
			["rǎn"],
			["liào"]
		],
		"分散主义": [
			["fēn"],
			["sǎn"],
			["zhǔ"],
			["yì"]
		],
		"分身减口": [
			["fēn"],
			["shēn"],
			["jiǎn"],
			["kǒu"]
		],
		"分身术": [
			["fēn"],
			["shēn"],
			["shù"]
		],
		"分身无术": [
			["fēn"],
			["shēn"],
			["wú"],
			["shù"]
		],
		"分守要津": [
			["fēn"],
			["shǒu"],
			["yào"],
			["jīn"]
		],
		"分数线": [
			["fēn"],
			["shù"],
			["xiàn"]
		],
		"分水岭": [
			["fēn"],
			["shuǐ"],
			["lǐng"]
		],
		"分水线": [
			["fēn"],
			["shuǐ"],
			["xiàn"]
		],
		"分丝析缕": [
			["fēn"],
			["sī"],
			["xī"],
			["lǚ"]
		],
		"分条析理": [
			["fēn"],
			["tiáo"],
			["xī"],
			["lǐ"]
		],
		"分庭伉礼": [
			["fēn"],
			["tíng"],
			["kàng"],
			["lǐ"]
		],
		"分庭抗礼": [
			["fēn"],
			["tíng"],
			["kàng"],
			["lǐ"]
		],
		"分外妖娆": [
			["fèn"],
			["wài"],
			["yāo"],
			["ráo"]
		],
		"分文不取": [
			["fēn"],
			["wén"],
			["bù"],
			["qǔ"]
		],
		"分文不名": [
			["fēn"],
			["wén"],
			["bù"],
			["míng"]
		],
		"分文不直": [
			["fēn"],
			["wén"],
			["bù"],
			["zhí"]
		],
		"分文不值": [
			["fēn"],
			["wén"],
			["bù"],
			["zhí"]
		],
		"分文未取": [
			["fēn"],
			["wén"],
			["wèi"],
			["qǔ"]
		],
		"分我杯羹": [
			["fēn"],
			["wǒ"],
			["bēi"],
			["gēng"]
		],
		"分析语": [
			["fēn"],
			["xī"],
			["yǔ"]
		],
		"分香卖履": [
			["fēn"],
			["xiāng"],
			["mài"],
			["lǚ"]
		],
		"分宵达曙": [
			["fēn"],
			["xiāo"],
			["dá"],
			["shǔ"]
		],
		"分销店": [
			["fēn"],
			["xiāo"],
			["diàn"]
		],
		"分鞋破镜": [
			["fēn"],
			["xié"],
			["pò"],
			["jìng"]
		],
		"分心挂腹": [
			["fēn"],
			["xīn"],
			["guà"],
			["fù"]
		],
		"分星拨两": [
			["fēn"],
			["xīng"],
			["bō"],
			["liǎng"]
		],
		"分星擘两": [
			["fēn"],
			["xīng"],
			["bò"],
			["liǎng"]
		],
		"分星劈两": [
			["fēn"],
			["xīng"],
			["pī"],
			["liǎng"]
		],
		"分形共气": [
			["fēn"],
			["xíng"],
			["gòng"],
			["qì"]
		],
		"分形同气": [
			["fēn"],
			["xíng"],
			["tóng"],
			["qì"]
		],
		"分形连气": [
			["fēn"],
			["xíng"],
			["lián"],
			["qì"]
		],
		"分烟析产": [
			["fēn"],
			["yān"],
			["xī"],
			["chǎn"]
		],
		"分烟析生": [
			["fēn"],
			["yān"],
			["xī"],
			["shēng"]
		],
		"分章析句": [
			["fēn"],
			["zhāng"],
			["xī"],
			["jù"]
		],
		"分子力": [
			["fèn"],
			["zǐ"],
			["lì"]
		],
		"分子量": [
			["fèn"],
			["zǐ"],
			["liàng"]
		],
		"分子筛": [
			["fèn"],
			["zǐ"],
			["shāi"]
		],
		"分子生物学": [
			["fèn"],
			["zǐ"],
			["shēng"],
			["wù"],
			["xué"]
		],
		"分子式": [
			["fèn"],
			["zǐ"],
			["shì"]
		],
		"分子物理学": [
			["fèn"],
			["zǐ"],
			["wù"],
			["lǐ"],
			["xué"]
		],
		"分子运动论": [
			["fèn"],
			["zǐ"],
			["yùn"],
			["dòng"],
			["lùn"]
		],
		"纷纷不一": [
			["fēn"],
			["fēn"],
			["bù"],
			["yī"]
		],
		"纷红骇绿": [
			["fēn"],
			["hóng"],
			["hài"],
			["lǜ"]
		],
		"纷纭杂沓": [
			["fēn"],
			["yún"],
			["zá"],
			["tà"]
		],
		"纷至沓来": [
			["fēn"],
			["zhì"],
			["tà"],
			["lái"]
		],
		"焚膏继晷": [
			["fén"],
			["gāo"],
			["jì"],
			["guǐ"]
		],
		"焚骨扬灰": [
			["fén"],
			["gǔ"],
			["yáng"],
			["huī"]
		],
		"焚枯食淡": [
			["fén"],
			["kū"],
			["shí"],
			["dàn"]
		],
		"焚香扫地": [
			["fén"],
			["xiāng"],
			["sǎo"],
			["dì"]
		],
		"焚林竭泽": [
			["fén"],
			["lín"],
			["jié"],
			["zé"]
		],
		"粉白黛绿": [
			["fěn"],
			["bái"],
			["dài"],
			["lǜ"]
		],
		"粉骨糜身": [
			["fěn"],
			["gǔ"],
			["mí"],
			["shēn"]
		],
		"粉骨捐躯": [
			["fěn"],
			["gǔ"],
			["juān"],
			["qū"]
		],
		"粉骨碎身": [
			["fěn"],
			["gǔ"],
			["suì"],
			["shēn"]
		],
		"粉骨糜躯": [
			["fěn"],
			["gǔ"],
			["mí"],
			["qū"]
		],
		"粉面油头": [
			["fěn"],
			["miàn"],
			["yóu"],
			["tóu"]
		],
		"粉墨登场": [
			["fěn"],
			["mò"],
			["dēng"],
			["chǎng"]
		],
		"粉面朱唇": [
			["fěn"],
			["miàn"],
			["zhū"],
			["chún"]
		],
		"粉身灰骨": [
			["fěn"],
			["shēn"],
			["huī"],
			["gǔ"]
		],
		"粉身碎骨": [
			["fěn"],
			["shēn"],
			["suì"],
			["gǔ"]
		],
		"粉妆玉砌": [
			["fěn"],
			["zhuāng"],
			["yù"],
			["qì"]
		],
		"粉妆玉琢": [
			["fěn"],
			["zhuāng"],
			["yù"],
			["zhuó"]
		],
		"粉装玉琢": [
			["fěn"],
			["zhuāng"],
			["yù"],
			["zhuó"]
		],
		"份儿饭": [
			["fèn"],
			["ér"],
			["fàn"]
		],
		"奋不顾命": [
			["fèn"],
			["bù"],
			["gù"],
			["mìng"]
		],
		"奋不顾身": [
			["fèn"],
			["bù"],
			["gù"],
			["shēn"]
		],
		"奋发蹈厉": [
			["fèn"],
			["fā"],
			["dǎo"],
			["lì"]
		],
		"奋发踔厉": [
			["fèn"],
			["fā"],
			["chuō"],
			["lì"]
		],
		"奋发有为": [
			["fèn"],
			["fā"],
			["yǒu"],
			["wéi"]
		],
		"奋发图强": [
			["fèn"],
			["fā"],
			["tú"],
			["qiáng"]
		],
		"奋起直追": [
			["fèn"],
			["qǐ"],
			["zhí"],
			["zhuī"]
		],
		"奋身不顾": [
			["fèn"],
			["shēn"],
			["bù"],
			["gù"]
		],
		"忿不顾身": [
			["fèn"],
			["bù"],
			["gù"],
			["shēn"]
		],
		"忿忿不平": [
			["fèn"],
			["fèn"],
			["bù"],
			["píng"]
		],
		"奋勇当先": [
			["fèn"],
			["yǒng"],
			["dāng"],
			["xiān"]
		],
		"忿火中烧": [
			["fèn"],
			["huǒ"],
			["zhōng"],
			["shāo"]
		],
		"愤不顾身": [
			["fèn"],
			["bù"],
			["gù"],
			["shēn"]
		],
		"愤不欲生": [
			["fèn"],
			["bù"],
			["yù"],
			["shēng"]
		],
		"愤风惊浪": [
			["fèn"],
			["fēng"],
			["jīng"],
			["làng"]
		],
		"愤愤不平": [
			["fèn"],
			["fèn"],
			["bù"],
			["píng"]
		],
		"愤世疾邪": [
			["fèn"],
			["shì"],
			["jí"],
			["xié"]
		],
		"粪土不如": [
			["fèn"],
			["tú"],
			["bù"],
			["rú"]
		],
		"丰标不凡": [
			["fēng"],
			["biāo"],
			["bù"],
			["fán"]
		],
		"丰草长林": [
			["fēng"],
			["cǎo"],
			["cháng"],
			["lín"]
		],
		"丰度翩翩": [
			["fēng"],
			["dù"],
			["piān"],
			["piān"]
		],
		"丰富多采": [
			["fēng"],
			["fù"],
			["duō"],
			["cǎi"]
		],
		"丰功盛烈": [
			["fēng"],
			["gōng"],
			["shèng"],
			["liè"]
		],
		"丰功硕德": [
			["fēng"],
			["gōng"],
			["shuò"],
			["dé"]
		],
		"丰亨豫大": [
			["fēng"],
			["hēng"],
			["yù"],
			["dà"]
		],
		"丰肌弱骨": [
			["fēng"],
			["jī"],
			["ruò"],
			["gǔ"]
		],
		"丰肌秀骨": [
			["fēng"],
			["jī"],
			["xiù"],
			["gǔ"]
		],
		"丰取刻与": [
			["fēng"],
			["qǔ"],
			["kè"],
			["yǔ"]
		],
		"丰神绰约": [
			["fēng"],
			["shén"],
			["chuò"],
			["yuē"]
		],
		"丰屋蔀家": [
			["fēng"],
			["wū"],
			["zhī"],
			["jiā"]
		],
		"丰屋之过": [
			["fēng"],
			["wū"],
			["zhī"],
			["guò"]
		],
		"丰衣足食": [
			["fēng"],
			["yī"],
			["zú"],
			["shí"]
		],
		"丰姿绰约": [
			["fēng"],
			["zī"],
			["chuò"],
			["yuē"]
		],
		"丰姿冶丽": [
			["fēng"],
			["zī"],
			["yě"],
			["lì"]
		],
		"风兵草甲": [
			["fēng"],
			["bīng"],
			["cǎo"],
			["jiǎ"]
		],
		"风不鸣条": [
			["fēng"],
			["bù"],
			["míng"],
			["tiáo"]
		],
		"风餐露宿": [
			["fēng"],
			["cān"],
			["lù"],
			["sù"]
		],
		"风车云马": [
			["fēng"],
			["chē"],
			["yún"],
			["mǎ"]
		],
		"风车雨马": [
			["fēng"],
			["chē"],
			["yǔ"],
			["mǎ"]
		],
		"风掣雷行": [
			["fēng"],
			["chè"],
			["léi"],
			["xíng"]
		],
		"风尘肮脏": [
			["fēng"],
			["chén"],
			["āng"],
			["zāng"]
		],
		"风尘碌碌": [
			["fēng"],
			["chén"],
			["lù"],
			["lù"]
		],
		"风尘之变": [
			["fēng"],
			["chén"],
			["zhī"],
			["biàn"]
		],
		"风尘仆仆": [
			["fēng"],
			["chén"],
			["pú"],
			["pú"]
		],
		"风驰草靡": [
			["fēng"],
			["chí"],
			["cǎo"],
			["mǐ"]
		],
		"风尘之会": [
			["fēng"],
			["chén"],
			["zhī"],
			["huì"]
		],
		"风驰电掣": [
			["fēng"],
			["chí"],
			["diàn"],
			["chè"]
		],
		"风驰电骋": [
			["fēng"],
			["chí"],
			["diàn"],
			["chěng"]
		],
		"风驰电赴": [
			["fēng"],
			["chí"],
			["diàn"],
			["fù"]
		],
		"风驰电击": [
			["fēng"],
			["chí"],
			["diàn"],
			["jī"]
		],
		"风驰电逝": [
			["fēng"],
			["chí"],
			["diàn"],
			["shì"]
		],
		"风驰电卷": [
			["fēng"],
			["chí"],
			["diàn"],
			["juǎn"]
		],
		"风驰霆击": [
			["fēng"],
			["chí"],
			["tíng"],
			["jī"]
		],
		"风驰雨骤": [
			["fēng"],
			["chí"],
			["yǔ"],
			["zhòu"]
		],
		"风驰云卷": [
			["fēng"],
			["chí"],
			["yún"],
			["juǎn"]
		],
		"风驰云走": [
			["fēng"],
			["chí"],
			["yún"],
			["zǒu"]
		],
		"风吹草动": [
			["fēng"],
			["chuī"],
			["cǎo"],
			["dòng"]
		],
		"风吹浪打": [
			["fēng"],
			["chuī"],
			["làng"],
			["dǎ"]
		],
		"风吹马耳": [
			["fēng"],
			["chuī"],
			["mǎ"],
			["ěr"]
		],
		"风吹日晒": [
			["fēng"],
			["chuī"],
			["rì"],
			["shài"]
		],
		"风吹雨打": [
			["fēng"],
			["chuī"],
			["yǔ"],
			["dǎ"]
		],
		"风吹云散": [
			["fēng"],
			["chuī"],
			["yún"],
			["sàn"]
		],
		"风刀霜剑": [
			["fēng"],
			["dāo"],
			["shuāng"],
			["jiàn"]
		],
		"风调雨顺": [
			["fēng"],
			["tiáo"],
			["yǔ"],
			["shùn"]
		],
		"风动工具": [
			["fēng"],
			["dòng"],
			["gōng"],
			["jù"]
		],
		"风度翩翩": [
			["fēng"],
			["dù"],
			["piān"],
			["piān"]
		],
		"风风雨雨": [
			["fēng"],
			["fēng"],
			["yǔ"],
			["yǔ"]
		],
		"风风火火": [
			["fēng"],
			["fēng"],
			["huǒ"],
			["huǒ"]
		],
		"风风韵韵": [
			["fēng"],
			["fēng"],
			["yùn"],
			["yùn"]
		],
		"风骨峭峻": [
			["fēng"],
			["gǔ"],
			["qiào"],
			["jùn"]
		],
		"风光旖旎": [
			["fēng"],
			["guāng"],
			["yǐ"],
			["nǐ"]
		],
		"风光月霁": [
			["fēng"],
			["guāng"],
			["yuè"],
			["jì"]
		],
		"风禾尽起": [
			["fēng"],
			["hé"],
			["jìn"],
			["qǐ"]
		],
		"风和日丽": [
			["fēng"],
			["hé"],
			["rì"],
			["lì"]
		],
		"风和日美": [
			["fēng"],
			["hé"],
			["rì"],
			["měi"]
		],
		"风和日暖": [
			["fēng"],
			["hé"],
			["rì"],
			["nuǎn"]
		],
		"风虎云龙": [
			["fēng"],
			["hǔ"],
			["yún"],
			["lóng"]
		],
		"风和日暄": [
			["fēng"],
			["hé"],
			["rì"],
			["xuān"]
		],
		"风花雪夜": [
			["fēng"],
			["huā"],
			["xuě"],
			["yè"]
		],
		"风华绝代": [
			["fēng"],
			["huá"],
			["jué"],
			["dài"]
		],
		"风花雪月": [
			["fēng"],
			["huā"],
			["xuě"],
			["yuè"]
		],
		"风华正茂": [
			["fēng"],
			["huá"],
			["zhèng"],
			["mào"]
		],
		"风鬟雾鬓": [
			["fēng"],
			["huán"],
			["wù"],
			["bìn"]
		],
		"风鬟雨鬓": [
			["fēng"],
			["huán"],
			["yǔ"],
			["bìn"]
		],
		"风回电激": [
			["fēng"],
			["huí"],
			["diàn"],
			["jī"]
		],
		"风火墙": [
			["fēng"],
			["huǒ"],
			["qiáng"]
		],
		"风激电飞": [
			["fēng"],
			["jī"],
			["diàn"],
			["fēi"]
		],
		"风激电骇": [
			["fēng"],
			["jī"],
			["diàn"],
			["hài"]
		],
		"风景不殊": [
			["fēng"],
			["jǐng"],
			["bù"],
			["shū"]
		],
		"风纪扣": [
			["fēng"],
			["jì"],
			["kòu"]
		],
		"风急浪高": [
			["fēng"],
			["jí"],
			["làng"],
			["gāo"]
		],
		"风景画": [
			["fēng"],
			["jǐng"],
			["huà"]
		],
		"风举云飞": [
			["fēng"],
			["jǔ"],
			["yún"],
			["fēi"]
		],
		"风举云摇": [
			["fēng"],
			["jǔ"],
			["yún"],
			["yáo"]
		],
		"风卷残云": [
			["fēng"],
			["juǎn"],
			["cán"],
			["yún"]
		],
		"风口浪尖": [
			["fēng"],
			["kǒu"],
			["làng"],
			["jiān"]
		],
		"风谲云诡": [
			["fēng"],
			["jué"],
			["yún"],
			["guǐ"]
		],
		"风雷火炮": [
			["fēng"],
			["léi"],
			["huǒ"],
			["pào"]
		],
		"风雷之变": [
			["fēng"],
			["léi"],
			["zhī"],
			["biàn"]
		],
		"风凉话": [
			["fēng"],
			["liáng"],
			["huà"]
		],
		"风流才子": [
			["fēng"],
			["liú"],
			["cái"],
			["zǐ"]
		],
		"风流跌宕": [
			["fēng"],
			["liú"],
			["diē"],
			["dàng"]
		],
		"风流千古": [
			["fēng"],
			["liú"],
			["qiān"],
			["gǔ"]
		],
		"风流人物": [
			["fēng"],
			["liú"],
			["rén"],
			["wù"]
		],
		"风流倜傥": [
			["fēng"],
			["liú"],
			["tì"],
			["tǎng"]
		],
		"风流潇洒": [
			["fēng"],
			["liú"],
			["xiāo"],
			["sǎ"]
		],
		"风流儒雅": [
			["fēng"],
			["liú"],
			["rú"],
			["yǎ"]
		],
		"风流冤孽": [
			["fēng"],
			["liú"],
			["yuān"],
			["niè"]
		],
		"风流云散": [
			["fēng"],
			["liú"],
			["yún"],
			["sàn"]
		],
		"风流蕴藉": [
			["fēng"],
			["liú"],
			["yùn"],
			["jiè"]
		],
		"风流韵事": [
			["fēng"],
			["liú"],
			["yùn"],
			["shì"]
		],
		"风流罪过": [
			["fēng"],
			["liú"],
			["zuì"],
			["guò"]
		],
		"风马不接": [
			["fēng"],
			["mǎ"],
			["bù"],
			["jiē"]
		],
		"风马牛不相及": [
			["fēng"],
			["mǎ"],
			["niú"],
			["bù"],
			["xiāng"],
			["jí"]
		],
		"风马云车": [
			["fēng"],
			["mǎ"],
			["yún"],
			["chē"]
		],
		"风媒花": [
			["fēng"],
			["méi"],
			["huā"]
		],
		"风门水口": [
			["fēng"],
			["mén"],
			["shuǐ"],
			["kǒu"]
		],
		"风靡一时": [
			["fēng"],
			["mǐ"],
			["yī"],
			["shí"]
		],
		"风靡一世": [
			["fēng"],
			["mǐ"],
			["yī"],
			["shì"]
		],
		"风木含悲": [
			["fēng"],
			["mù"],
			["hán"],
			["bēi"]
		],
		"风木之思": [
			["fēng"],
			["mù"],
			["zhī"],
			["sī"]
		],
		"风木之悲": [
			["fēng"],
			["mù"],
			["zhī"],
			["bēi"]
		],
		"风牛马不相及": [
			["fēng"],
			["niú"],
			["mǎ"],
			["bù"],
			["xiāng"],
			["jí"]
		],
		"风平波息": [
			["fēng"],
			["píng"],
			["bō"],
			["xī"]
		],
		"风平浪静": [
			["fēng"],
			["píng"],
			["làng"],
			["jìng"]
		],
		"风起水涌": [
			["fēng"],
			["qǐ"],
			["shuǐ"],
			["yǒng"]
		],
		"风起云涌": [
			["fēng"],
			["qǐ"],
			["yún"],
			["yǒng"]
		],
		"风起云蒸": [
			["fēng"],
			["qǐ"],
			["yún"],
			["zhēng"]
		],
		"风前月下": [
			["fēng"],
			["qián"],
			["yuè"],
			["xià"]
		],
		"风前残烛": [
			["fēng"],
			["qián"],
			["cán"],
			["zhú"]
		],
		"风樯阵马": [
			["fēng"],
			["qiáng"],
			["zhèn"],
			["mǎ"]
		],
		"风轻云净": [
			["fēng"],
			["qīng"],
			["yún"],
			["jìng"]
		],
		"风清弊绝": [
			["fēng"],
			["qīng"],
			["bì"],
			["jué"]
		],
		"风清月皎": [
			["fēng"],
			["qīng"],
			["yuè"],
			["jiāo"]
		],
		"风清月朗": [
			["fēng"],
			["qīng"],
			["yuè"],
			["lǎng"]
		],
		"风清月明": [
			["fēng"],
			["qīng"],
			["yuè"],
			["míng"]
		],
		"风情月思": [
			["fēng"],
			["qíng"],
			["yuè"],
			["sī"]
		],
		"风情月意": [
			["fēng"],
			["qíng"],
			["yuè"],
			["yì"]
		],
		"风驱电击": [
			["fēng"],
			["qū"],
			["diàn"],
			["jī"]
		],
		"风情月债": [
			["fēng"],
			["qíng"],
			["yuè"],
			["zhài"]
		],
		"风驱电扫": [
			["fēng"],
			["qū"],
			["diàn"],
			["sǎo"]
		],
		"风趣横生": [
			["fēng"],
			["qù"],
			["héng"],
			["shēng"]
		],
		"风声鹤唳": [
			["fēng"],
			["shēng"],
			["hè"],
			["lì"]
		],
		"风湿病": [
			["fēng"],
			["shī"],
			["bìng"]
		],
		"风湿性关节炎": [
			["fēng"],
			["shī"],
			["xìng"],
			["guān"],
			["jié"],
			["yán"]
		],
		"风霜雨雪": [
			["fēng"],
			["shuāng"],
			["yǔ"],
			["xuě"]
		],
		"风水先生": [
			["fēng"],
			["shuǐ"],
			["xiān"],
			["shēng"]
		],
		"风俗画": [
			["fēng"],
			["sú"],
			["huà"]
		],
		"风俗人情": [
			["fēng"],
			["sú"],
			["rén"],
			["qíng"]
		],
		"风俗习惯": [
			["fēng"],
			["sú"],
			["xí"],
			["guàn"]
		],
		"风速器": [
			["fēng"],
			["sù"],
			["qì"]
		],
		"风土人情": [
			["fēng"],
			["tú"],
			["rén"],
			["qíng"]
		],
		"风向标": [
			["fēng"],
			["xiàng"],
			["biāo"]
		],
		"风向器": [
			["fēng"],
			["xiàng"],
			["qì"]
		],
		"风潇雨晦": [
			["fēng"],
			["xiāo"],
			["yǔ"],
			["huì"]
		],
		"风信年华": [
			["fēng"],
			["xìn"],
			["nián"],
			["huá"]
		],
		"风信子": [
			["fēng"],
			["xìn"],
			["zǐ"]
		],
		"风行草从": [
			["fēng"],
			["xíng"],
			["cǎo"],
			["cóng"]
		],
		"风行草靡": [
			["fēng"],
			["xíng"],
			["cǎo"],
			["mí"]
		],
		"风行草偃": [
			["fēng"],
			["xíng"],
			["cǎo"],
			["yǎn"]
		],
		"风行电掣": [
			["fēng"],
			["xíng"],
			["diàn"],
			["chè"]
		],
		"风行电击": [
			["fēng"],
			["xíng"],
			["diàn"],
			["jī"]
		],
		"风行电扫": [
			["fēng"],
			["xíng"],
			["diàn"],
			["sǎo"]
		],
		"风行电照": [
			["fēng"],
			["xíng"],
			["diàn"],
			["zhào"]
		],
		"风行雷厉": [
			["fēng"],
			["xíng"],
			["léi"],
			["lì"]
		],
		"风行革偃": [
			["fēng"],
			["xíng"],
			["gé"],
			["yǎn"]
		],
		"风行水上": [
			["fēng"],
			["xíng"],
			["shuǐ"],
			["shàng"]
		],
		"风行一时": [
			["fēng"],
			["xíng"],
			["yī"],
			["shī"]
		],
		"风行一世": [
			["fēng"],
			["xíng"],
			["yī"],
			["shì"]
		],
		"风旋电掣": [
			["fēng"],
			["xuán"],
			["diàn"],
			["chè"]
		],
		"风行雨散": [
			["fēng"],
			["xíng"],
			["yǔ"],
			["sàn"]
		],
		"风雪交加": [
			["fēng"],
			["xuě"],
			["jiāo"],
			["jiā"]
		],
		"风言醋语": [
			["fēng"],
			["yán"],
			["cù"],
			["yǔ"]
		],
		"风言雾语": [
			["fēng"],
			["yán"],
			["wù"],
			["yǔ"]
		],
		"风言风语": [
			["fēng"],
			["yán"],
			["fēng"],
			["yǔ"]
		],
		"风言影语": [
			["fēng"],
			["yán"],
			["yǐng"],
			["yǔ"]
		],
		"风影敷衍": [
			["fēng"],
			["yǐng"],
			["fū"],
			["yān"]
		],
		"风雨不测": [
			["fēng"],
			["yǔ"],
			["bù"],
			["cè"]
		],
		"风油精": [
			["fēng"],
			["yóu"],
			["jīng"]
		],
		"风雨不透": [
			["fēng"],
			["yǔ"],
			["bù"],
			["tòu"]
		],
		"风雨不改": [
			["fēng"],
			["yǔ"],
			["bù"],
			["gǎi"]
		],
		"风雨灯": [
			["fēng"],
			["yǔ"],
			["dēng"]
		],
		"风雨对床": [
			["fēng"],
			["yǔ"],
			["duì"],
			["chuáng"]
		],
		"风雨共舟": [
			["fēng"],
			["yǔ"],
			["gòng"],
			["zhōu"]
		],
		"风雨晦冥": [
			["fēng"],
			["yǔ"],
			["huì"],
			["míng"]
		],
		"风雨晦暝": [
			["fēng"],
			["yǔ"],
			["huì"],
			["míng"]
		],
		"风雨交加": [
			["fēng"],
			["yǔ"],
			["jiāo"],
			["jiā"]
		],
		"风雨漂摇": [
			["fēng"],
			["yǔ"],
			["piāo"],
			["yáo"]
		],
		"风雨连床": [
			["fēng"],
			["yǔ"],
			["lián"],
			["chuáng"]
		],
		"风雨飘零": [
			["fēng"],
			["yǔ"],
			["piāo"],
			["líng"]
		],
		"风雨飘摇": [
			["fēng"],
			["yǔ"],
			["piāo"],
			["yáo"]
		],
		"风雨飘飖": [
			["fēng"],
			["yǔ"],
			["piāo"],
			["yáo"]
		],
		"风雨凄凄": [
			["fēng"],
			["yǔ"],
			["qī"],
			["qī"]
		],
		"风雨如磐": [
			["fēng"],
			["yǔ"],
			["rú"],
			["pán"]
		],
		"风雨时若": [
			["fēng"],
			["yǔ"],
			["shí"],
			["ruò"]
		],
		"风雨如晦": [
			["fēng"],
			["yǔ"],
			["rú"],
			["huì"]
		],
		"风雨同舟": [
			["fēng"],
			["yǔ"],
			["tóng"],
			["zhōu"]
		],
		"风雨无阻": [
			["fēng"],
			["yǔ"],
			["wú"],
			["zǔ"]
		],
		"风雨摇摆": [
			["fēng"],
			["yǔ"],
			["yáo"],
			["bǎi"]
		],
		"风雨衣": [
			["fēng"],
			["yǔ"],
			["yī"]
		],
		"风雨萧条": [
			["fēng"],
			["yǔ"],
			["xiāo"],
			["tiáo"]
		],
		"风语不透": [
			["fēng"],
			["yǔ"],
			["bù"],
			["tòu"]
		],
		"风月无涯": [
			["fēng"],
			["yuè"],
			["wú"],
			["yá"]
		],
		"风月无边": [
			["fēng"],
			["yuè"],
			["wú"],
			["biān"]
		],
		"风云变幻": [
			["fēng"],
			["yún"],
			["biàn"],
			["huàn"]
		],
		"风云变态": [
			["fēng"],
			["yún"],
			["biàn"],
			["tài"]
		],
		"风云不测": [
			["fēng"],
			["yún"],
			["bù"],
			["cè"]
		],
		"风云际会": [
			["fēng"],
			["yún"],
			["jì"],
			["huì"]
		],
		"风云人物": [
			["fēng"],
			["yún"],
			["rén"],
			["wù"]
		],
		"风云突变": [
			["fēng"],
			["yún"],
			["tū"],
			["biàn"]
		],
		"风云之志": [
			["fēng"],
			["yún"],
			["zhī"],
			["zhì"]
		],
		"风云月露": [
			["fēng"],
			["yún"],
			["yuè"],
			["lù"]
		],
		"风韵犹存": [
			["fēng"],
			["yùn"],
			["yóu"],
			["cún"]
		],
		"风疹块": [
			["fēng"],
			["zhěn"],
			["kuài"]
		],
		"风栉雨沐": [
			["fēng"],
			["zhì"],
			["yǔ"],
			["mù"]
		],
		"风中秉烛": [
			["fēng"],
			["zhōng"],
			["bǐng"],
			["zhú"]
		],
		"风中之烛": [
			["fēng"],
			["zhōng"],
			["zhī"],
			["zhú"]
		],
		"风烛残年": [
			["fēng"],
			["zhú"],
			["cán"],
			["nián"]
		],
		"风烛草露": [
			["fēng"],
			["zhú"],
			["cǎo"],
			["lù"]
		],
		"风烛之年": [
			["fēng"],
			["zhú"],
			["zhī"],
			["nián"]
		],
		"风姿绰约": [
			["fēng"],
			["zī"],
			["chuō"],
			["yué"]
		],
		"封官许原": [
			["fēng"],
			["guān"],
			["xǔ"],
			["yuán"]
		],
		"封建把头": [
			["fēng"],
			["jiàn"],
			["bǎ"],
			["tóu"]
		],
		"封官许愿": [
			["fēng"],
			["guān"],
			["xǔ"],
			["yuàn"]
		],
		"封建割据": [
			["fēng"],
			["jiàn"],
			["gē"],
			["jù"]
		],
		"封建社会": [
			["fēng"],
			["jiàn"],
			["shè"],
			["huì"]
		],
		"封建制度": [
			["fēng"],
			["jiàn"],
			["zhì"],
			["dù"]
		],
		"封妻荫子": [
			["fēng"],
			["qī"],
			["yìn"],
			["zǐ"]
		],
		"封豕长蛇": [
			["fēng"],
			["shǐ"],
			["cháng"],
			["shé"]
		],
		"封豨修蛇": [
			["fēng"],
			["xī"],
			["yǒu"],
			["shé"]
		],
		"峰回路转": [
			["fēng"],
			["huí"],
			["lù"],
			["zhuǎn"]
		],
		"烽鼓不息": [
			["fēng"],
			["gǔ"],
			["bù"],
			["xī"]
		],
		"烽火台": [
			["fēng"],
			["huǒ"],
			["tái"]
		],
		"烽火相连": [
			["fēng"],
			["huǒ"],
			["xiāng"],
			["lián"]
		],
		"葑菲之采": [
			["fēng"],
			["fēi"],
			["zhī"],
			["cǎi"]
		],
		"锋不可当": [
			["fēng"],
			["bù"],
			["kě"],
			["dāng"]
		],
		"锋发韵流": [
			["fēng"],
			["fā"],
			["yùn"],
			["liú"]
		],
		"锋芒毕露": [
			["fēng"],
			["máng"],
			["bì"],
			["lù"]
		],
		"锋芒不露": [
			["fēng"],
			["máng"],
			["bù"],
			["lù"]
		],
		"锋铓毕露": [
			["fēng"],
			["máng"],
			["bì"],
			["lù"]
		],
		"蜂虿有毒": [
			["fēng"],
			["chài"],
			["yǒu"],
			["dú"]
		],
		"蜂合豕突": [
			["fēng"],
			["hé"],
			["shǐ"],
			["tū"]
		],
		"蜂合蚁聚": [
			["fēng"],
			["hé"],
			["yǐ"],
			["jù"]
		],
		"蜂起云涌": [
			["fēng"],
			["qǐ"],
			["yún"],
			["yǒng"]
		],
		"蜂趋蚁附": [
			["fēng"],
			["qū"],
			["yǐ"],
			["fù"]
		],
		"蜂扇蚁聚": [
			["fēng"],
			["shān"],
			["yǐ"],
			["jù"]
		],
		"蜂识莺猜": [
			["fēng"],
			["shí"],
			["yīng"],
			["cāi"]
		],
		"蜂屯乌合": [
			["fēng"],
			["tún"],
			["wū"],
			["hé"]
		],
		"蜂屯蚁聚": [
			["fēng"],
			["tún"],
			["yǐ"],
			["jù"]
		],
		"蜂屯蚁附": [
			["fēng"],
			["tún"],
			["yǐ"],
			["fù"]
		],
		"蜂屯蚁杂": [
			["fēng"],
			["tún"],
			["yǐ"],
			["zá"]
		],
		"蜂王浆": [
			["fēng"],
			["wáng"],
			["jiāng"]
		],
		"蜂腰削背": [
			["fēng"],
			["yāo"],
			["xuē"],
			["bèi"]
		],
		"蜂腰猿背": [
			["fēng"],
			["yāo"],
			["yuán"],
			["bèi"]
		],
		"蜂拥而上": [
			["fēng"],
			["yōng"],
			["ér"],
			["shàng"]
		],
		"蜂拥蚁屯": [
			["fēng"],
			["yōng"],
			["yǐ"],
			["tún"]
		],
		"蜂攒蚁集": [
			["fēng"],
			["cuán"],
			["yǐ"],
			["jí"]
		],
		"蜂攒蚁聚": [
			["fēng"],
			["cuán"],
			["yǐ"],
			["jù"]
		],
		"冯河暴虎": [
			["féng"],
			["hé"],
			["bào"],
			["hǔ"]
		],
		"冯驩弹铗": [
			["féng"],
			["huān"],
			["dàn"],
			["jiá"]
		],
		"冯生弹铗": [
			["féng"],
			["shēng"],
			["dàn"],
			["jiá"]
		],
		"冯唐白首": [
			["féng"],
			["táng"],
			["bái"],
			["shǒu"]
		],
		"冯唐头白": [
			["féng"],
			["táng"],
			["tóu"],
			["bái"]
		],
		"冯唐已老": [
			["féng"],
			["táng"],
			["yǐ"],
			["lǎo"]
		],
		"冯唐易老": [
			["féng"],
			["táng"],
			["yì"],
			["lǎo"]
		],
		"逢场竿木": [
			["féng"],
			["chǎng"],
			["gān"],
			["mù"]
		],
		"逢场游戏": [
			["féng"],
			["chǎng"],
			["yóu"],
			["xì"]
		],
		"逢场作乐": [
			["féng"],
			["chǎng"],
			["zuò"],
			["lè"]
		],
		"逢场作趣": [
			["féng"],
			["chǎng"],
			["zuò"],
			["qù"]
		],
		"逢场作戏": [
			["féng"],
			["chǎng"],
			["zuò"],
			["xì"]
		],
		"逢恶导非": [
			["féng"],
			["è"],
			["dǎo"],
			["fēi"]
		],
		"逢机遘会": [
			["féng"],
			["jī"],
			["gòu"],
			["huì"]
		],
		"逢吉丁辰": [
			["féng"],
			["jí"],
			["dīng"],
			["chén"]
		],
		"逢君之恶": [
			["féng"],
			["jūn"],
			["zhī"],
			["è"]
		],
		"逢年过节": [
			["féng"],
			["nián"],
			["guò"],
			["jié"]
		],
		"逢人说项": [
			["féng"],
			["rén"],
			["shuō"],
			["xiàng"]
		],
		"逢凶化吉": [
			["féng"],
			["xiōng"],
			["huà"],
			["jí"]
		],
		"逢时遇节": [
			["féng"],
			["shí"],
			["yù"],
			["jié"]
		],
		"缝缝连连": [
			["fèng"],
			["fèng"],
			["lián"],
			["lián"]
		],
		"缝纫机": [
			["féng"],
			["rèn"],
			["jī"]
		],
		"缝衣浅带": [
			["féng"],
			["yī"],
			["qiǎn"],
			["dài"]
		],
		"凤泊鸾漂": [
			["fèng"],
			["bó"],
			["luán"],
			["piāo"]
		],
		"讽多要寡": [
			["fěng"],
			["duō"],
			["yào"],
			["guǎ"]
		],
		"凤泊鸾飘": [
			["fèng"],
			["bó"],
			["luán"],
			["piāo"]
		],
		"凤采鸾章": [
			["fèng"],
			["cǎi"],
			["luán"],
			["zhāng"]
		],
		"凤冠霞帔": [
			["fèng"],
			["guān"],
			["xiá"],
			["pèi"]
		],
		"凤骨龙姿": [
			["fèng"],
			["gǔ"],
			["lóng"],
			["zī"]
		],
		"凤楼龙阙": [
			["fèng"],
			["lóu"],
			["lóng"],
			["què"]
		],
		"凤毛济美": [
			["fèng"],
			["máo"],
			["jì"],
			["měi"]
		],
		"凤毛麟角": [
			["fèng"],
			["máo"],
			["lín"],
			["jiǎo"]
		],
		"凤靡鸾吪": [
			["fèng"],
			["mǐ"],
			["luán"],
			["é"]
		],
		"凤鸣朝阳": [
			["fèng"],
			["míng"],
			["zhāo"],
			["yáng"]
		],
		"凤食鸾栖": [
			["fèng"],
			["shí"],
			["luán"],
			["qī"]
		],
		"凤尾草": [
			["fèng"],
			["wěi"],
			["cǎo"]
		],
		"凤尾鱼": [
			["fèng"],
			["wěi"],
			["yú"]
		],
		"凤尾竹": [
			["fèng"],
			["wěi"],
			["zhú"]
		],
		"凤枭同巢": [
			["fèng"],
			["xiāo"],
			["tóng"],
			["cháo"]
		],
		"凤协鸾和": [
			["fèng"],
			["xié"],
			["luán"],
			["hé"]
		],
		"凤只鸾孤": [
			["fèng"],
			["zhī"],
			["luán"],
			["gū"]
		],
		"奉公不阿": [
			["fèng"],
			["gōng"],
			["bù"],
			["ē"]
		],
		"凤子龙孙": [
			["fèng"],
			["zǐ"],
			["lóng"],
			["sūn"]
		],
		"奉公正己": [
			["fèng"],
			["gōng"],
			["zhèng"],
			["jǐ"]
		],
		"奉令承教": [
			["fèng"],
			["lìng"],
			["chéng"],
			["jiào"]
		],
		"奉若神明": [
			["fèng"],
			["ruò"],
			["shén"],
			["míng"]
		],
		"奉头鼠窜": [
			["fèng"],
			["tóu"],
			["shǔ"],
			["cuàn"]
		],
		"奉为至宝": [
			["fèng"],
			["wéi"],
			["zhì"],
			["bǎo"]
		],
		"奉为圭臬": [
			["fèng"],
			["wéi"],
			["guī"],
			["niè"]
		],
		"奉为楷模": [
			["fèng"],
			["wéi"],
			["kǎi"],
			["mó"]
		],
		"奉行故事": [
			["fèng"],
			["xíng"],
			["gù"],
			["shì"]
		],
		"奉扬仁风": [
			["fèng"],
			["yáng"],
			["rén"],
			["fēng"]
		],
		"佛光寺": [
			["fó"],
			["guāng"],
			["sì"]
		],
		"佛甲草": [
			["fó"],
			["jiǎ"],
			["cǎo"]
		],
		"佛教徒": [
			["fó"],
			["jiào"],
			["tú"]
		],
		"佛口蛇心": [
			["fó"],
			["kǒu"],
			["shé"],
			["xīn"]
		],
		"佛罗伦萨": [
			["fó"],
			["luó"],
			["lún"],
			["sà"]
		],
		"佛门弟子": [
			["fó"],
			["mén"],
			["dì"],
			["zǐ"]
		],
		"佛山市": [
			["fó"],
			["shān"],
			["shì"]
		],
		"佛手柑": [
			["fó"],
			["shǒu"],
			["gān"]
		],
		"佛头加秽": [
			["fó"],
			["tóu"],
			["jiā"],
			["huì"]
		],
		"佛头着粪": [
			["fó"],
			["tóu"],
			["zhuó"],
			["fèn"]
		],
		"佛心蛇口": [
			["fó"],
			["xīn"],
			["shé"],
			["kǒu"]
		],
		"佛头著粪": [
			["fó"],
			["tóu"],
			["zhuó"],
			["fèn"]
		],
		"佛性禅心": [
			["fó"],
			["xìng"],
			["chán"],
			["xīn"]
		],
		"佛眼相看": [
			["fó"],
			["yǎn"],
			["xiāng"],
			["kàn"]
		],
		"佛眼佛心": [
			["fó"],
			["yǎn"],
			["fó"],
			["xīn"]
		],
		"否极泰回": [
			["pǐ"],
			["jí"],
			["tài"],
			["huí"]
		],
		"否极泰来": [
			["pǐ"],
			["jí"],
			["tài"],
			["lái"]
		],
		"否决权": [
			["fǒu"],
			["jué"],
			["quán"]
		],
		"否极阳回": [
			["pǐ"],
			["jí"],
			["yáng"],
			["huí"]
		],
		"否去泰来": [
			["pǐ"],
			["qù"],
			["tài"],
			["lái"]
		],
		"否往泰来": [
			["pǐ"],
			["wǎng"],
			["tài"],
			["lái"]
		],
		"否终复泰": [
			["pǐ"],
			["zhōng"],
			["fù"],
			["tài"]
		],
		"否终则泰": [
			["pǐ"],
			["zhōng"],
			["zé"],
			["tài"]
		],
		"夫倡妇随": [
			["fū"],
			["chàng"],
			["fù"],
			["suí"]
		],
		"夫唱妇随": [
			["fū"],
			["chàng"],
			["fù"],
			["suí"]
		],
		"夫负妻戴": [
			["fū"],
			["fù"],
			["qī"],
			["dài"]
		],
		"夫贵妻荣": [
			["fū"],
			["guì"],
			["qī"],
			["róng"]
		],
		"夫妻店": [
			["fū"],
			["qī"],
			["diàn"]
		],
		"夫妻反目": [
			["fū"],
			["qī"],
			["fǎn"],
			["mù"]
		],
		"夫人裙带": [
			["fū"],
			["rén"],
			["qún"],
			["dài"]
		],
		"夫荣妻贵": [
			["fū"],
			["róng"],
			["qī"],
			["guì"]
		],
		"夫荣妻显": [
			["fū"],
			["róng"],
			["qī"],
			["xiǎn"]
		],
		"夫子自道": [
			["fū"],
			["zǐ"],
			["zì"],
			["dào"]
		],
		"夫子庙": [
			["fū"],
			["zǐ"],
			["miào"]
		],
		"肤寸而合": [
			["fū"],
			["cùn"],
			["ér"],
			["hé"]
		],
		"肤见谫识": [
			["fū"],
			["jiàn"],
			["jiǎn"],
			["shí"]
		],
		"肤见謭识": [
			["fū"],
			["jiàn"],
			["guǎng"],
			["shí"]
		],
		"肤皮潦草": [
			["fū"],
			["pǐ"],
			["liǎo"],
			["cǎo"]
		],
		"肤受之愬": [
			["fū"],
			["shòu"],
			["zhī"],
			["xiāng"]
		],
		"跗萼载韡": [
			["fū"],
			["è"],
			["zǎi"],
			["wěi"]
		],
		"敷衍了事": [
			["fū"],
			["yǎn"],
			["liǎo"],
			["shì"]
		],
		"敷衍塞责": [
			["fū"],
			["yǎn"],
			["sè"],
			["zé"]
		],
		"敷衍搪塞": [
			["fū"],
			["yǎn"],
			["táng"],
			["sè"]
		],
		"伏地圣人": [
			["fú"],
			["dì"],
			["shèng"],
			["rén"]
		],
		"伏而咶天": [
			["fú"],
			["ér"],
			["shì"],
			["tiān"]
		],
		"伏虎降龙": [
			["fú"],
			["hǔ"],
			["xiáng"],
			["lóng"]
		],
		"凫短鹤长": [
			["fú"],
			["duǎn"],
			["hè"],
			["cháng"]
		],
		"凫鹤从方": [
			["fú"],
			["hè"],
			["cóng"],
			["fāng"]
		],
		"孚尹旁达": [
			["fú"],
			["yǐn"],
			["páng"],
			["dá"]
		],
		"凫趋雀跃": [
			["fú"],
			["qū"],
			["què"],
			["yuè"]
		],
		"扶弱抑强": [
			["fú"],
			["ruò"],
			["yì"],
			["qiáng"]
		],
		"扶倾济弱": [
			["fú"],
			["qīng"],
			["jì"],
			["ruò"]
		],
		"扶危济急": [
			["fú"],
			["wēi"],
			["jì"],
			["jí"]
		],
		"扶危济困": [
			["fú"],
			["wēi"],
			["jì"],
			["kùn"]
		],
		"扶危拯溺": [
			["fú"],
			["wēi"],
			["zhěng"],
			["nì"]
		],
		"扶摇万里": [
			["fú"],
			["yáo"],
			["wàn"],
			["lǐ"]
		],
		"扶正黜邪": [
			["fú"],
			["zhèng"],
			["chù"],
			["xié"]
		],
		"扶摇直上": [
			["fú"],
			["yáo"],
			["zhí"],
			["shàng"]
		],
		"扶正祛邪": [
			["fú"],
			["zhèng"],
			["qū"],
			["xié"]
		],
		"芙蓉并蒂": [
			["fú"],
			["róng"],
			["bìng"],
			["dì"]
		],
		"拂袖而归": [
			["fú"],
			["xiù"],
			["ér"],
			["guī"]
		],
		"怫然不悦": [
			["fú"],
			["rán"],
			["bù"],
			["yuè"]
		],
		"拂袖而去": [
			["fú"],
			["xiù"],
			["ér"],
			["qù"]
		],
		"服低做小": [
			["fú"],
			["dī"],
			["zuò"],
			["xiǎo"]
		],
		"服服贴贴": [
			["fú"],
			["fú"],
			["tiē"],
			["tiē"]
		],
		"服服帖帖": [
			["fú"],
			["fu"],
			["tiē"],
			["tiē"]
		],
		"服牛乘马": [
			["fú"],
			["niú"],
			["chéng"],
			["mǎ"]
		],
		"服田力穑": [
			["fú"],
			["tián"],
			["lì"],
			["sè"]
		],
		"服务行业": [
			["fú"],
			["wù"],
			["háng"],
			["yè"]
		],
		"服务业": [
			["fú"],
			["wù"],
			["yè"]
		],
		"服务员": [
			["fú"],
			["wù"],
			["yuán"]
		],
		"浮动汇率": [
			["fú"],
			["dòng"],
			["huì"],
			["lǜ"]
		],
		"浮白载笔": [
			["fú"],
			["bái"],
			["zǎi"],
			["bǐ"]
		],
		"浮而不实": [
			["fú"],
			["ér"],
			["bù"],
			["shí"]
		],
		"浮瓜沈李": [
			["fú"],
			["guā"],
			["shěn"],
			["lǐ"]
		],
		"浮家泛宅": [
			["fú"],
			["jiā"],
			["fàn"],
			["zhái"]
		],
		"浮名薄利": [
			["fú"],
			["míng"],
			["bó"],
			["lì"]
		],
		"浮皮潦草": [
			["fú"],
			["pí"],
			["liáo"],
			["cǎo"]
		],
		"浮生六记": [
			["fú"],
			["shēng"],
			["liù"],
			["jì"]
		],
		"浮生切响": [
			["fú"],
			["shēng"],
			["qiè"],
			["xiǎng"]
		],
		"浮生若梦": [
			["fú"],
			["shēng"],
			["ruò"],
			["mèng"]
		],
		"浮声切响": [
			["fú"],
			["shēng"],
			["qiè"],
			["xiǎng"]
		],
		"浮石沉木": [
			["fú"],
			["shí"],
			["chén"],
			["mù"]
		],
		"浮收勒索": [
			["fú"],
			["shōu"],
			["lè"],
			["suǒ"]
		],
		"浮收勒折": [
			["fú"],
			["shōu"],
			["lè"],
			["shé"]
		],
		"浮头滑脑": [
			["fú"],
			["tóu"],
			["huá"],
			["nǎo"]
		],
		"浮文巧语": [
			["fú"],
			["wén"],
			["qiǎo"],
			["yǔ"]
		],
		"浮一大白": [
			["fú"],
			["yī"],
			["dà"],
			["bái"]
		],
		"浮云朝露": [
			["fú"],
			["yún"],
			["zhāo"],
			["lù"]
		],
		"浮语虚辞": [
			["fú"],
			["yǔ"],
			["xū"],
			["cí"]
		],
		"桴鼓相应": [
			["fú"],
			["gǔ"],
			["xiāng"],
			["yìng"]
		],
		"符号论": [
			["fú"],
			["hào"],
			["lùn"]
		],
		"符号逻辑": [
			["fú"],
			["hào"],
			["luó"],
			["ji"]
		],
		"艴然不悦": [
			["fú"],
			["rán"],
			["bù"],
			["yuè"]
		],
		"福不盈眦": [
			["fú"],
			["bù"],
			["yíng"],
			["zì"]
		],
		"福地洞天": [
			["fú"],
			["dì"],
			["dòng"],
			["tiān"]
		],
		"福过灾生": [
			["fú"],
			["guò"],
			["zāi"],
			["shēng"]
		],
		"福建省": [
			["fú"],
			["jiàn"],
			["shěng"]
		],
		"福衢寿车": [
			["fú"],
			["qú"],
			["shòu"],
			["chē"]
		],
		"福寿康宁": [
			["fú"],
			["shòu"],
			["kāng"],
			["níng"]
		],
		"福寿无疆": [
			["fú"],
			["shòu"],
			["wú"],
			["jiāng"]
		],
		"福寿齐天": [
			["fú"],
			["shòu"],
			["qí"],
			["tiān"]
		],
		"福孙荫子": [
			["fú"],
			["sūn"],
			["yìn"],
			["zǐ"]
		],
		"福为祸始": [
			["fú"],
			["wéi"],
			["huò"],
			["shǐ"]
		],
		"福为祸先": [
			["fú"],
			["wéi"],
			["huò"],
			["xiān"]
		],
		"蜉蝣撼大树": [
			["fú"],
			["yóu"],
			["hàn"],
			["dà"],
			["shù"]
		],
		"辐射能": [
			["fú"],
			["shè"],
			["néng"]
		],
		"抚今思昔": [
			["fǔ"],
			["jīn"],
			["sī"],
			["xī"]
		],
		"抚今追昔": [
			["fǔ"],
			["jīn"],
			["zhuī"],
			["xī"]
		],
		"抚景伤情": [
			["fǔ"],
			["jǐng"],
			["shāng"],
			["qíng"]
		],
		"抚绥万方": [
			["fǔ"],
			["suí"],
			["wàn"],
			["fāng"]
		],
		"抚掌大笑": [
			["fǔ"],
			["zhǎng"],
			["dà"],
			["xiào"]
		],
		"抚掌击节": [
			["fǔ"],
			["zhǎng"],
			["jī"],
			["jié"]
		],
		"拊背扼喉": [
			["fǔ"],
			["bèi"],
			["è"],
			["hóu"]
		],
		"拊背扼吭": [
			["fǔ"],
			["bèi"],
			["è"],
			["kēng"]
		],
		"拊心泣血": [
			["fǔ"],
			["xīn"],
			["qì"],
			["xuè"]
		],
		"拊背搤吭": [
			["fǔ"],
			["bèi"],
			["hè"],
			["kēng"]
		],
		"斧钺汤镬": [
			["fǔ"],
			["yuè"],
			["tāng"],
			["huò"]
		],
		"俯拾地芥": [
			["fǔ"],
			["shí"],
			["dì"],
			["jiè"]
		],
		"俯拾即是": [
			["fǔ"],
			["shí"],
			["jí"],
			["shì"]
		],
		"俯拾仰取": [
			["fǔ"],
			["shí"],
			["yǎng"],
			["qǔ"]
		],
		"俯拾皆是": [
			["fǔ"],
			["shí"],
			["jiē"],
			["shì"]
		],
		"俯首帖耳": [
			["fǔ"],
			["shǒu"],
			["tiē"],
			["ěr"]
		],
		"俯仰随人": [
			["fǔ"],
			["yǎng"],
			["suí"],
			["rén"]
		],
		"俯仰唯唯": [
			["fǔ"],
			["yǎng"],
			["wéi"],
			["wéi"]
		],
		"俯仰无愧": [
			["fǔ"],
			["yǎng"],
			["wú"],
			["kuì"]
		],
		"俯仰由人": [
			["fǔ"],
			["yǎng"],
			["yóu"],
			["rén"]
		],
		"俯仰之间": [
			["fǔ"],
			["yǎng"],
			["zhī"],
			["jiān"]
		],
		"釜底抽薪": [
			["fǔ"],
			["dǐ"],
			["chōu"],
			["xīn"]
		],
		"釜底游魂": [
			["fǔ"],
			["dǐ"],
			["yóu"],
			["hún"]
		],
		"釜底游鱼": [
			["fǔ"],
			["dǐ"],
			["yóu"],
			["yú"]
		],
		"釜鱼幕燕": [
			["fǔ"],
			["yú"],
			["mù"],
			["yàn"]
		],
		"釜中生尘": [
			["fǔ"],
			["zhōng"],
			["shēng"],
			["chén"]
		],
		"釜中生鱼": [
			["fǔ"],
			["zhōng"],
			["shēng"],
			["yú"]
		],
		"釜中游鱼": [
			["fǔ"],
			["zhōng"],
			["yóu"],
			["yú"]
		],
		"釜中之鱼": [
			["fǔ"],
			["zhōng"],
			["zhī"],
			["yú"]
		],
		"辅车唇齿": [
			["fǔ"],
			["chē"],
			["chún"],
			["chǐ"]
		],
		"辅车相将": [
			["fǔ"],
			["chē"],
			["xiāng"],
			["jiāng"]
		],
		"辅车相依": [
			["fǔ"],
			["chē"],
			["xiāng"],
			["yī"]
		],
		"辅导员": [
			["fǔ"],
			["dǎo"],
			["yuán"]
		],
		"辅世长民": [
			["fǔ"],
			["shì"],
			["zhǎng"],
			["mín"]
		],
		"辅牙相倚": [
			["fǔ"],
			["yá"],
			["xiāng"],
			["yǐ"]
		],
		"腐殖质": [
			["fǔ"],
			["zhí"],
			["zhì"]
		],
		"簠簋不饬": [
			["fǔ"],
			["guǐ"],
			["bù"],
			["chì"]
		],
		"黼蔀黻纪": [
			["fǔ"],
			["bù"],
			["fú"],
			["jì"]
		],
		"黼国黻家": [
			["fǔ"],
			["guó"],
			["fú"],
			["jiā"]
		],
		"父慈子孝": [
			["fù"],
			["cí"],
			["zǐ"],
			["xiào"]
		],
		"父母恩勤": [
			["fù"],
			["mǔ"],
			["ēn"],
			["qín"]
		],
		"父母官": [
			["fù"],
			["mǔ"],
			["guān"]
		],
		"父母之邦": [
			["fù"],
			["mǔ"],
			["zhī"],
			["bāng"]
		],
		"父亲节": [
			["fù"],
			["qīn"],
			["jié"]
		],
		"父权制": [
			["fù"],
			["quán"],
			["zhì"]
		],
		"父为子隐": [
			["fù"],
			["wéi"],
			["zǐ"],
			["yǐn"]
		],
		"父析子荷": [
			["fù"],
			["xī"],
			["zǐ"],
			["hé"]
		],
		"父严子孝": [
			["fù"],
			["yán"],
			["zǐ"],
			["xiào"]
		],
		"付之丙丁": [
			["fù"],
			["zhī"],
			["bǐng"],
			["dīng"]
		],
		"父债子还": [
			["fù"],
			["zhài"],
			["zǐ"],
			["huán"]
		],
		"付之度外": [
			["fù"],
			["zhī"],
			["dù"],
			["wài"]
		],
		"妇道人家": [
			["fù"],
			["dào"],
			["rén"],
			["jiā"]
		],
		"妇姑勃溪": [
			["fù"],
			["gū"],
			["bó"],
			["xī"]
		],
		"妇姑勃谿": [
			["fù"],
			["gū"],
			["bó"],
			["xī"]
		],
		"妇女病": [
			["fù"],
			["nǚ"],
			["bìng"]
		],
		"妇女节": [
			["fù"],
			["nǚ"],
			["jié"]
		],
		"妇女运动": [
			["fù"],
			["nǚ"],
			["yùn"],
			["dòng"]
		],
		"妇孺皆知": [
			["fù"],
			["rú"],
			["jiē"],
			["zhī"]
		],
		"负才任气": [
			["fù"],
			["cái"],
			["rèn"],
			["qì"]
		],
		"负材矜地": [
			["fù"],
			["cái"],
			["jīn"],
			["dì"]
		],
		"负材任气": [
			["fù"],
			["cái"],
			["rèn"],
			["qì"]
		],
		"负乘致寇": [
			["fù"],
			["chéng"],
			["zhì"],
			["kòu"]
		],
		"负乘斯夺": [
			["fù"],
			["chéng"],
			["sī"],
			["duó"]
		],
		"负德背义": [
			["fù"],
			["dé"],
			["bèi"],
			["yì"]
		],
		"负地矜才": [
			["fù"],
			["dì"],
			["jīn"],
			["cái"]
		],
		"负恩背义": [
			["fù"],
			["ēn"],
			["bèi"],
			["yì"]
		],
		"负固不宾": [
			["fù"],
			["gù"],
			["bù"],
			["bīn"]
		],
		"负固不服": [
			["fù"],
			["gù"],
			["bù"],
			["fú"]
		],
		"负衡据鼎": [
			["fù"],
			["héng"],
			["jù"],
			["dǐng"]
		],
		"负老提幼": [
			["fù"],
			["lǎo"],
			["tí"],
			["yòu"]
		],
		"负气斗狠": [
			["fù"],
			["qì"],
			["dǒu"],
			["hěn"]
		],
		"负任蒙劳": [
			["fù"],
			["rèn"],
			["méng"],
			["láo"]
		],
		"负石赴河": [
			["fù"],
			["shí"],
			["fù"],
			["hé"]
		],
		"负俗之累": [
			["fù"],
			["sú"],
			["zhī"],
			["lèi"]
		],
		"负险不宾": [
			["fù"],
			["xiǎn"],
			["bù"],
			["bīn"]
		],
		"负险不臣": [
			["fù"],
			["xiǎn"],
			["bù"],
			["chén"]
		],
		"负债累累": [
			["fù"],
			["zhai"],
			["lèi"],
			["lèi"]
		],
		"负重含污": [
			["fù"],
			["zhòng"],
			["hán"],
			["wū"]
		],
		"负重涉远": [
			["fù"],
			["zhòng"],
			["shè"],
			["yuǎn"]
		],
		"负重吞污": [
			["fù"],
			["zhòng"],
			["tūn"],
			["wū"]
		],
		"负重致远": [
			["fù"],
			["zhòng"],
			["zhì"],
			["yuǎn"]
		],
		"附耳射声": [
			["fù"],
			["ěr"],
			["shè"],
			["shēng"]
		],
		"负阻不宾": [
			["fù"],
			["zǔ"],
			["bù"],
			["bīn"]
		],
		"附肤落毛": [
			["fù"],
			["fū"],
			["luò"],
			["máo"]
		],
		"附会穿凿": [
			["fù"],
			["huì"],
			["chuān"],
			["záo"]
		],
		"附骥尾": [
			["fù"],
			["jì"],
			["wěi"]
		],
		"附膻逐腥": [
			["fù"],
			["shān"],
			["zhú"],
			["xīng"]
		],
		"附上罔下": [
			["fù"],
			["shàng"],
			["wǎng"],
			["xià"]
		],
		"附势趋炎": [
			["fù"],
			["shì"],
			["qū"],
			["yán"]
		],
		"附下罔上": [
			["fù"],
			["xià"],
			["wǎng"],
			["shàng"]
		],
		"附炎趋热": [
			["fù"],
			["yán"],
			["qū"],
			["rè"]
		],
		"附庸风雅": [
			["fù"],
			["yōng"],
			["fēng"],
			["yǎ"]
		],
		"附属国": [
			["fù"],
			["shǔ"],
			["guó"]
		],
		"附赘县疣": [
			["fù"],
			["zhuì"],
			["xiàn"],
			["yóu"]
		],
		"复旦大学": [
			["fù"],
			["dàn"],
			["dà"],
			["xué"]
		],
		"复合材料": [
			["fù"],
			["hé"],
			["cái"],
			["liào"]
		],
		"复合词": [
			["fù"],
			["hé"],
			["cí"]
		],
		"复合肥料": [
			["fù"],
			["hé"],
			["féi"],
			["liào"]
		],
		"复合量词": [
			["fù"],
			["hé"],
			["liàng"],
			["cí"]
		],
		"复合元音": [
			["fù"],
			["hé"],
			["yuán"],
			["yīn"]
		],
		"复合物": [
			["fù"],
			["hé"],
			["wù"]
		],
		"复活节": [
			["fù"],
			["huó"],
			["jié"]
		],
		"复名数": [
			["fù"],
			["míng"],
			["shù"]
		],
		"复种指数": [
			["fù"],
			["zhǒng"],
			["zhǐ"],
			["shù"]
		],
		"赴汤蹈火": [
			["fù"],
			["tāng"],
			["dǎo"],
			["huǒ"]
		],
		"副标题": [
			["fù"],
			["biāo"],
			["tí"]
		],
		"副产品": [
			["fù"],
			["chǎn"],
			["pǐn"]
		],
		"副产物": [
			["fù"],
			["chǎn"],
			["wù"]
		],
		"副教授": [
			["fù"],
			["jiào"],
			["shòu"]
		],
		"副食品": [
			["fù"],
			["shí"],
			["pǐn"]
		],
		"副研究员": [
			["fù"],
			["yán"],
			["jiū"],
			["yuán"]
		],
		"副油箱": [
			["fù"],
			["yóu"],
			["xiāng"]
		],
		"副作用": [
			["fù"],
			["zuò"],
			["yòng"]
		],
		"傅粉何郎": [
			["fù"],
			["fěn"],
			["hé"],
			["láng"]
		],
		"傅粉施朱": [
			["fù"],
			["fěn"],
			["shī"],
			["zhū"]
		],
		"傅立叶": [
			["fù"],
			["lì"],
			["yè"]
		],
		"富富有余": [
			["fù"],
			["fù"],
			["yǒu"],
			["yú"]
		],
		"富贵不能淫": [
			["fù"],
			["guì"],
			["bù"],
			["néng"],
			["yín"]
		],
		"富贵荣华": [
			["fù"],
			["guì"],
			["róng"],
			["huá"]
		],
		"富贵不淫": [
			["fù"],
			["guì"],
			["bù"],
			["yín"]
		],
		"富国彊兵": [
			["fù"],
			["guó"],
			["jiāng"],
			["bīng"]
		],
		"富国强兵": [
			["fù"],
			["guó"],
			["qiáng"],
			["bīng"]
		],
		"富国强民": [
			["fù"],
			["guó"],
			["qiáng"],
			["mín"]
		],
		"富家大室": [
			["fù"],
			["jiā"],
			["dà"],
			["shì"]
		],
		"富家巨室": [
			["fù"],
			["jiā"],
			["jù"],
			["shì"]
		],
		"富可敌国": [
			["fù"],
			["kě"],
			["dí"],
			["guó"]
		],
		"富轹万古": [
			["fù"],
			["lì"],
			["wàn"],
			["gǔ"]
		],
		"富丽堂皇": [
			["fù"],
			["lì"],
			["táng"],
			["huáng"]
		],
		"富埒王侯": [
			["fù"],
			["liè"],
			["wáng"],
			["hóu"]
		],
		"富商大贾": [
			["fù"],
			["shāng"],
			["dà"],
			["jiǎ"]
		],
		"富商巨贾": [
			["fù"],
			["shāng"],
			["jù"],
			["jiǎ"]
		],
		"富商蓄贾": [
			["fù"],
			["shāng"],
			["xù"],
			["jiǎ"]
		],
		"富室大家": [
			["fù"],
			["shì"],
			["dà"],
			["jiā"]
		],
		"富营养化": [
			["fù"],
			["yíng"],
			["yǎng"],
			["huà"]
		],
		"富裕中农": [
			["fù"],
			["yù"],
			["zhōng"],
			["nóng"]
		],
		"富在知足": [
			["fù"],
			["zài"],
			["zhī"],
			["zú"]
		],
		"腹饱万言": [
			["fù"],
			["bǎo"],
			["wàn"],
			["yán"]
		],
		"腹心相照": [
			["fù"],
			["xīn"],
			["xiāng"],
			["zhào"]
		],
		"腹背之毛": [
			["fù"],
			["bèi"],
			["zhī"],
			["máo"]
		],
		"腹背受敌": [
			["fù"],
			["bèi"],
			["shòu"],
			["dí"]
		],
		"腹有鳞甲": [
			["fù"],
			["yǒu"],
			["lín"],
			["jiǎ"]
		],
		"腹载五车": [
			["fù"],
			["zài"],
			["wǔ"],
			["chē"]
		],
		"腹中兵甲": [
			["fù"],
			["zhōng"],
			["bīng"],
			["jiǎ"]
		],
		"覆车之轨": [
			["fù"],
			["chē"],
			["zhī"],
			["guǐ"]
		],
		"覆车之戒": [
			["fù"],
			["chē"],
			["zhī"],
			["jiè"]
		],
		"覆车之鉴": [
			["fù"],
			["chē"],
			["zhī"],
			["jiàn"]
		],
		"覆地翻天": [
			["fù"],
			["dì"],
			["fān"],
			["tiān"]
		],
		"覆盖面": [
			["fù"],
			["gài"],
			["miàn"]
		],
		"覆军杀将": [
			["fù"],
			["jūn"],
			["shā"],
			["jiāng"]
		],
		"覆盆难照": [
			["fù"],
			["pén"],
			["nán"],
			["zhào"]
		],
		"覆水难收": [
			["fù"],
			["shuǐ"],
			["nán"],
			["shōu"]
		],
		"覆雨翻云": [
			["fù"],
			["yǔ"],
			["fān"],
			["yún"]
		],
		"覆亡无日": [
			["fù"],
			["wáng"],
			["wú"],
			["rì"]
		],
		"伽马射线": [
			["gā"],
			["mǎ"],
			["shè"],
			["xiàn"]
		],
		"伽利略": [
			["jiā"],
			["lì"],
			["lüè"]
		],
		"嘎嘣脆": [
			["gā"],
			["bēng"],
			["cuì"]
		],
		"嘎渣儿": [
			["gā"],
			["zhā"],
			["ér"]
		],
		"改操易节": [
			["gǎi"],
			["cāo"],
			["yì"],
			["jié"]
		],
		"改朝换代": [
			["gǎi"],
			["cháo"],
			["huàn"],
			["dài"]
		],
		"改朝换姓": [
			["gǎi"],
			["cháo"],
			["huàn"],
			["xìng"]
		],
		"改恶从善": [
			["gǎi"],
			["è"],
			["cóng"],
			["shàn"]
		],
		"改恶为善": [
			["gǎi"],
			["è"],
			["wéi"],
			["shàn"]
		],
		"改恶向善": [
			["gǎi"],
			["è"],
			["xiàng"],
			["shàn"]
		],
		"改恶行善": [
			["gǎi"],
			["è"],
			["xíng"],
			["shàn"]
		],
		"改而更张": [
			["gǎi"],
			["ér"],
			["gèng"],
			["zhāng"]
		],
		"改过不吝": [
			["gǎi"],
			["guò"],
			["bù"],
			["lìn"]
		],
		"改过从善": [
			["gǎi"],
			["guò"],
			["cóng"],
			["shàn"]
		],
		"改过作新": [
			["gǎi"],
			["guò"],
			["zuò"],
			["xīn"]
		],
		"改过迁善": [
			["gǎi"],
			["guò"],
			["qiān"],
			["shàn"]
		],
		"改过自新": [
			["gǎi"],
			["guò"],
			["zì"],
			["xīn"]
		],
		"改换家门": [
			["gǎi"],
			["huàn"],
			["jiā"],
			["mén"]
		],
		"改换头面": [
			["gǎi"],
			["huàn"],
			["tóu"],
			["miàn"]
		],
		"改节易操": [
			["gǎi"],
			["jié"],
			["yì"],
			["cāo"]
		],
		"改柯易节": [
			["gǎi"],
			["kē"],
			["yì"],
			["jié"]
		],
		"改柯易叶": [
			["gǎi"],
			["kē"],
			["yì"],
			["yè"]
		],
		"改口沓舌": [
			["gǎi"],
			["kǒu"],
			["tà"],
			["shé"]
		],
		"改曲易调": [
			["gǎi"],
			["qǔ"],
			["yì"],
			["diào"]
		],
		"改俗迁风": [
			["gǎi"],
			["sú"],
			["qiān"],
			["fēng"]
		],
		"改天换地": [
			["gǎi"],
			["tiān"],
			["huàn"],
			["dì"]
		],
		"改头换面": [
			["gǎi"],
			["tóu"],
			["huàn"],
			["miàn"]
		],
		"改头换尾": [
			["gǎi"],
			["tóu"],
			["huàn"],
			["wěi"]
		],
		"改弦易调": [
			["gǎi"],
			["xián"],
			["yì"],
			["diào"]
		],
		"改弦更张": [
			["gǎi"],
			["xián"],
			["gēng"],
			["zhāng"]
		],
		"改邪归正": [
			["gǎi"],
			["xié"],
			["guī"],
			["zhèng"]
		],
		"改行从善": [
			["gǎi"],
			["xíng"],
			["cóng"],
			["shàn"]
		],
		"改行迁善": [
			["gǎi"],
			["xíng"],
			["qiān"],
			["shàn"]
		],
		"改行为善": [
			["gǎi"],
			["xíng"],
			["wéi"],
			["shàn"]
		],
		"改行自新": [
			["gǎi"],
			["xíng"],
			["zì"],
			["xīn"]
		],
		"改姓更名": [
			["gǎi"],
			["xìng"],
			["gēng"],
			["míng"]
		],
		"改玉改行": [
			["gǎi"],
			["yù"],
			["gǎi"],
			["xíng"]
		],
		"改张易调": [
			["gǎi"],
			["zhāng"],
			["yì"],
			["diào"]
		],
		"改政移风": [
			["gǎi"],
			["zhèng"],
			["yí"],
			["fēng"]
		],
		"盖不由己": [
			["gài"],
			["bù"],
			["yóu"],
			["jǐ"]
		],
		"盖棺论定": [
			["gài"],
			["guān"],
			["lùn"],
			["dìng"]
		],
		"盖棺事定": [
			["gài"],
			["guān"],
			["shì"],
			["dìng"]
		],
		"盖帽儿": [
			["gài"],
			["mào"],
			["ér"]
		],
		"盖世太保": [
			["gài"],
			["shì"],
			["tài"],
			["bǎo"]
		],
		"盖世无双": [
			["gài"],
			["shì"],
			["wú"],
			["shuāng"]
		],
		"盖世英雄": [
			["gài"],
			["shì"],
			["yīng"],
			["xióng"]
		],
		"盖头换面": [
			["gài"],
			["tóu"],
			["huàn"],
			["miàn"]
		],
		"盖世之才": [
			["gài"],
			["shì"],
			["zhī"],
			["cái"]
		],
		"概率论": [
			["gài"],
			["lǜ"],
			["lùn"]
		],
		"概莫能外": [
			["gài"],
			["mò"],
			["néng"],
			["wài"]
		],
		"概念化": [
			["gài"],
			["niàn"],
			["huà"]
		],
		"干巴巴": [
			["gān"],
			["bā"],
			["bā"]
		],
		"干巴利脆": [
			["gān"],
			["bā"],
			["lì"],
			["cuì"]
		],
		"干巴利落": [
			["gān"],
			["bā"],
			["lì"],
			["luò"]
		],
		"干部学校": [
			["gàn"],
			["bù"],
			["xué"],
			["xiào"]
		],
		"干柴烈火": [
			["gān"],
			["chái"],
			["liè"],
			["huǒ"]
		],
		"干城之将": [
			["gān"],
			["chéng"],
			["zhī"],
			["jiàng"]
		],
		"干脆利落": [
			["gān"],
			["cuì"],
			["lì"],
			["luò"]
		],
		"干脆利索": [
			["gàn"],
			["cuì"],
			["lì"],
			["suǒ"]
		],
		"干打垒": [
			["gàn"],
			["dǎ"],
			["lěi"]
		],
		"干瞪眼": [
			["gàn"],
			["dèng"],
			["yǎn"]
		],
		"干电池": [
			["gàn"],
			["diàn"],
			["chí"]
		],
		"干端坤倪": [
			["gàn"],
			["duān"],
			["kūn"],
			["ní"]
		],
		"干父之蛊": [
			["gàn"],
			["fù"],
			["zhī"],
			["gǔ"]
		],
		"干干净净": [
			["gàn"],
			["gān"],
			["jìng"],
			["jìng"]
		],
		"干干翼翼": [
			["gàn"],
			["gàn"],
			["yì"],
			["yì"]
		],
		"干戈载戢": [
			["gàn"],
			["gē"],
			["zǎi"],
			["jí"]
		],
		"干将莫邪": [
			["gān"],
			["jiàng"],
			["mò"],
			["yé"]
		],
		"干酵母": [
			["gàn"],
			["jiào"],
			["mǔ"]
		],
		"干净利落": [
			["gān"],
			["jìng"],
			["lì"],
			["luò"]
		],
		"干净利索": [
			["gàn"],
			["jìng"],
			["lì"],
			["suǒ"]
		],
		"干名采誉": [
			["gān"],
			["míng"],
			["cǎi"],
			["yù"]
		],
		"干名犯义": [
			["gàn"],
			["míng"],
			["fàn"],
			["yì"]
		],
		"干卿底事": [
			["gān"],
			["qīng"],
			["dǐ"],
			["shì"]
		],
		"干涉现象": [
			["gān"],
			["shè"],
			["xiàn"],
			["xiàng"]
		],
		"干什么": [
			["gàn"],
			["shén"],
			["me"]
		],
		"干啼湿哭": [
			["gàn"],
			["tí"],
			["shī"],
			["kū"]
		],
		"干霄蔽日": [
			["gàn"],
			["xiāo"],
			["bì"],
			["rì"]
		],
		"干霄凌云": [
			["gān"],
			["xiāo"],
			["líng"],
			["yún"]
		],
		"干性油": [
			["gàn"],
			["xìng"],
			["yóu"]
		],
		"干云蔽日": [
			["gān"],
			["yún"],
			["bì"],
			["rì"]
		],
		"干燥剂": [
			["gān"],
			["zào"],
			["jì"]
		],
		"干燥器": [
			["gān"],
			["zào"],
			["qì"]
		],
		"甘败下风": [
			["gān"],
			["bài"],
			["xià"],
			["fēng"]
		],
		"干着急": [
			["gān"],
			["zháo"],
			["jí"]
		],
		"甘拜下风": [
			["gān"],
			["bài"],
			["xià"],
			["fēng"]
		],
		"甘处下流": [
			["gān"],
			["chǔ"],
			["xià"],
			["liú"]
		],
		"甘分随时": [
			["gān"],
			["fèn"],
			["suí"],
			["shí"]
		],
		"甘苦与共": [
			["gān"],
			["kǔ"],
			["yǔ"],
			["gòng"]
		],
		"甘冒虎口": [
			["gān"],
			["mào"],
			["hǔ"],
			["kǒu"]
		],
		"甘贫乐道": [
			["gān"],
			["pín"],
			["lè"],
			["dào"]
		],
		"甘贫守分": [
			["gān"],
			["pín"],
			["shǒu"],
			["fēn"]
		],
		"甘雨随车": [
			["gān"],
			["yǔ"],
			["suí"],
			["chē"]
		],
		"甘言美语": [
			["gān"],
			["yán"],
			["měi"],
			["yǔ"]
		],
		"甘之若素": [
			["gān"],
			["zhī"],
			["ruò"],
			["sù"]
		],
		"肝胆过人": [
			["gān"],
			["dǎn"],
			["guò"],
			["rén"]
		],
		"肝胆涂地": [
			["gān"],
			["dǎn"],
			["tú"],
			["dì"]
		],
		"肝胆相照": [
			["gān"],
			["dǎn"],
			["xiāng"],
			["zhào"]
		],
		"肝脑涂地": [
			["gān"],
			["nǎo"],
			["tú"],
			["dì"]
		],
		"肝心若裂": [
			["gān"],
			["xīn"],
			["ruò"],
			["liè"]
		],
		"肝硬化": [
			["gān"],
			["yìng"],
			["huà"]
		],
		"肝心涂地": [
			["gān"],
			["xīn"],
			["tú"],
			["dì"]
		],
		"竿头日进": [
			["gān"],
			["tóu"],
			["rì"],
			["jìn"]
		],
		"竿头日上": [
			["gān"],
			["tóu"],
			["rí"],
			["shàng"]
		],
		"竿头一步": [
			["gān"],
			["tóu"],
			["yī"],
			["bù"]
		],
		"竿头直上": [
			["gān"],
			["tóu"],
			["zhí"],
			["shàng"]
		],
		"赶不及": [
			["gǎn"],
			["bù"],
			["jí"]
		],
		"赶不上": [
			["gǎn"],
			["bù"],
			["shàng"]
		],
		"赶得及": [
			["gǎn"],
			["de"],
			["jí"]
		],
		"赶得上": [
			["gǎn"],
			["děi"],
			["shàng"]
		],
		"赶尽杀绝": [
			["gǎn"],
			["jìn"],
			["shā"],
			["jué"]
		],
		"赶浪头": [
			["gǎn"],
			["làng"],
			["tóu"]
		],
		"赶任务": [
			["gǎn"],
			["rèn"],
			["wù"]
		],
		"赶庙会": [
			["gǎn"],
			["miào"],
			["huì"]
		],
		"赶趟儿": [
			["gǎn"],
			["tàng"],
			["ér"]
		],
		"赶鸭子上架": [
			["gǎn"],
			["yā"],
			["zī"],
			["shàng"],
			["jià"]
		],
		"敢不承命": [
			["gǎn"],
			["bù"],
			["chéng"],
			["mìng"]
		],
		"敢怒而不敢言": [
			["gǎn"],
			["nù"],
			["ér"],
			["bù"],
			["gǎn"],
			["yán"]
		],
		"敢为敢做": [
			["gǎn"],
			["wéi"],
			["gǎn"],
			["zuò"]
		],
		"敢勇当先": [
			["gǎn"],
			["yǒng"],
			["dāng"],
			["xiān"]
		],
		"敢怨而不敢言": [
			["gǎn"],
			["yuàn"],
			["ér"],
			["bù"],
			["gǎn"],
			["yán"]
		],
		"敢作敢当": [
			["gǎn"],
			["zuò"],
			["gǎn"],
			["dāng"]
		],
		"敢作敢为": [
			["gǎn"],
			["zuò"],
			["gǎn"],
			["wéi"]
		],
		"感恩节": [
			["gǎn"],
			["ēn"],
			["jié"]
		],
		"感光片": [
			["gǎn"],
			["guāng"],
			["piàn"]
		],
		"感激不尽": [
			["gǎn"],
			["jī"],
			["bù"],
			["jìn"]
		],
		"感今思昔": [
			["gǎn"],
			["jīn"],
			["sī"],
			["xī"]
		],
		"感慨万端": [
			["gǎn"],
			["kǎi"],
			["wàn"],
			["duān"]
		],
		"感觉器官": [
			["gǎn"],
			["jué"],
			["qì"],
			["guān"]
		],
		"感慨万千": [
			["gǎn"],
			["kǎi"],
			["wàn"],
			["qiān"]
		],
		"感慨系之": [
			["gǎn"],
			["kǎi"],
			["xì"],
			["zhī"]
		],
		"感叹号": [
			["gǎn"],
			["tàn"],
			["hào"]
		],
		"感叹句": [
			["gǎn"],
			["tàn"],
			["jù"]
		],
		"感天动地": [
			["gǎn"],
			["tiān"],
			["dòng"],
			["dì"]
		],
		"感同身受": [
			["gǎn"],
			["tóng"],
			["shēn"],
			["shòu"]
		],
		"感性认识": [
			["gǎn"],
			["xìng"],
			["rèn"],
			["shi"]
		],
		"感应电流": [
			["gǎn"],
			["yìng"],
			["diàn"],
			["liú"]
		],
		"感应圈": [
			["gǎn"],
			["yìng"],
			["quān"]
		],
		"橄榄绿": [
			["gǎn"],
			["lǎn"],
			["lǜ"]
		],
		"橄榄石": [
			["gǎn"],
			["lǎn"],
			["shí"]
		],
		"橄榄枝": [
			["gǎn"],
			["lǎn"],
			["zhī"]
		],
		"旰食宵衣": [
			["gàn"],
			["shí"],
			["xiāo"],
			["yī"]
		],
		"旰食之劳": [
			["gàn"],
			["shí"],
			["zhī"],
			["láo"]
		],
		"刚柔相济": [
			["gāng"],
			["róu"],
			["xiāng"],
			["jì"]
		],
		"刚肠嫉恶": [
			["gāng"],
			["cháng"],
			["jí"],
			["è"]
		],
		"刚正不阿": [
			["gāng"],
			["zhèng"],
			["bù"],
			["ē"]
		],
		"刚直不阿": [
			["gāng"],
			["zhí"],
			["bù"],
			["ē"]
		],
		"刚中柔外": [
			["gāng"],
			["zhōng"],
			["róu"],
			["wài"]
		],
		"岗头泽底": [
			["gāng"],
			["tóu"],
			["zé"],
			["dǐ"]
		],
		"岗位责任制": [
			["gǎng"],
			["wèi"],
			["zé"],
			["rèn"],
			["zhì"]
		],
		"纲纪废弛": [
			["gāng"],
			["jì"],
			["fèi"],
			["chí"]
		],
		"纲目不疏": [
			["gāng"],
			["mù"],
			["bù"],
			["shū"]
		],
		"纲提领挈": [
			["gāng"],
			["tí"],
			["lǐng"],
			["qiè"]
		],
		"钢笔套": [
			["gāng"],
			["bǐ"],
			["tào"]
		],
		"钢化玻璃": [
			["gāng"],
			["huà"],
			["bō"],
			["li"]
		],
		"钢浇铁铸": [
			["gāng"],
			["jiāo"],
			["tiě"],
			["zhù"]
		],
		"钢结构": [
			["gāng"],
			["jié"],
			["gòu"]
		],
		"钢筋混凝土": [
			["gāng"],
			["jīn"],
			["hùn"],
			["níng"],
			["tǔ"]
		],
		"钢筋铁骨": [
			["gāng"],
			["jīng"],
			["tiě"],
			["gǔ"]
		],
		"钢丝床": [
			["gāng"],
			["sī"],
			["chuáng"]
		],
		"钢丝锯": [
			["gāng"],
			["sī"],
			["jù"]
		],
		"钢丝绳": [
			["gāng"],
			["sī"],
			["shéng"]
		],
		"港务监督": [
			["gǎng"],
			["wù"],
			["jiān"],
			["dū"]
		],
		"港务局": [
			["gǎng"],
			["wù"],
			["jú"]
		],
		"高傲自大": [
			["gāo"],
			["ào"],
			["zì"],
			["dà"]
		],
		"高八度": [
			["gāo"],
			["bā"],
			["dù"]
		],
		"高不成低不就": [
			["gāo"],
			["bù"],
			["chéng"],
			["dī"],
			["bù"],
			["jiù"]
		],
		"高不凑低不就": [
			["gāo"],
			["bù"],
			["còu"],
			["dī"],
			["bù"],
			["jiù"]
		],
		"高不辏低不就": [
			["gāo"],
			["bù"],
			["còu"],
			["dī"],
			["bù"],
			["jiù"]
		],
		"高不可登": [
			["gāo"],
			["bù"],
			["kě"],
			["dēng"]
		],
		"高不可攀": [
			["gāo"],
			["bù"],
			["kě"],
			["pān"]
		],
		"高才大学": [
			["gāo"],
			["cái"],
			["dà"],
			["xué"]
		],
		"高才远识": [
			["gāo"],
			["cái"],
			["yuǎn"],
			["shí"]
		],
		"高层建筑": [
			["gāo"],
			["céng"],
			["jiàn"],
			["zhù"]
		],
		"高才卓识": [
			["gāo"],
			["cái"],
			["zhuó"],
			["shí"]
		],
		"高车驷马": [
			["gāo"],
			["chē"],
			["sì"],
			["mǎ"]
		],
		"高蹈远举": [
			["gāo"],
			["dǎo"],
			["yuǎn"],
			["jǔ"]
		],
		"高等教育": [
			["gāo"],
			["děng"],
			["jiào"],
			["yù"]
		],
		"高等学校": [
			["gāo"],
			["děng"],
			["xué"],
			["xiào"]
		],
		"高低杠": [
			["gāo"],
			["dī"],
			["gàng"]
		],
		"高遏行云": [
			["gāo"],
			["è"],
			["xíng"],
			["yún"]
		],
		"高度计": [
			["gāo"],
			["dù"],
			["jì"]
		],
		"高而不危": [
			["gāo"],
			["ér"],
			["bù"],
			["wēi"]
		],
		"高尔夫球": [
			["gāo"],
			["ěr"],
			["fū"],
			["qiú"]
		],
		"高飞远遁": [
			["gāo"],
			["fēi"],
			["yuǎn"],
			["dùn"]
		],
		"高飞远集": [
			["gāo"],
			["fēi"],
			["yuǎn"],
			["jí"]
		],
		"高飞远举": [
			["gāo"],
			["fēi"],
			["yuǎn"],
			["jǔ"]
		],
		"高飞远翔": [
			["gāo"],
			["fēi"],
			["yuǎn"],
			["xiáng"]
		],
		"高飞远走": [
			["gāo"],
			["fēi"],
			["yuǎn"],
			["zǒu"]
		],
		"高分子": [
			["gāo"],
			["fèn"],
			["zǐ"]
		],
		"高分子化合物": [
			["gāo"],
			["fèn"],
			["zǐ"],
			["huà"],
			["hé"],
			["wù"]
		],
		"高风劲节": [
			["gāo"],
			["fēng"],
			["jìng"],
			["jié"]
		],
		"高风峻节": [
			["gāo"],
			["fēng"],
			["jùn"],
			["jié"]
		],
		"高风亮节": [
			["gāo"],
			["fēng"],
			["liàng"],
			["jié"]
		],
		"高高在上": [
			["gāo"],
			["gāo"],
			["zài"],
			["shàng"]
		],
		"高高兴兴": [
			["gāo"],
			["gāo"],
			["xìng"],
			["xīng"]
		],
		"高官重禄": [
			["gāo"],
			["guān"],
			["zhòng"],
			["lù"]
		],
		"高冠博带": [
			["gāo"],
			["guān"],
			["bó"],
			["dài"]
		],
		"高级中学": [
			["gāo"],
			["jí"],
			["zhōng"],
			["xué"]
		],
		"高技术": [
			["gāo"],
			["jì"],
			["shù"]
		],
		"高甲戏": [
			["gāo"],
			["jiǎ"],
			["xì"]
		],
		"高见远识": [
			["gāo"],
			["jiàn"],
			["yuǎn"],
			["shí"]
		],
		"高节清风": [
			["gāo"],
			["jié"],
			["qīng"],
			["fēng"]
		],
		"高举深藏": [
			["gāo"],
			["jǔ"],
			["shēn"],
			["cáng"]
		],
		"高举远蹈": [
			["gāo"],
			["jǔ"],
			["yuǎn"],
			["dǎo"]
		],
		"高空槽": [
			["gāo"],
			["kōng"],
			["cáo"]
		],
		"高爵重禄": [
			["gāo"],
			["jué"],
			["zhòng"],
			["lù"]
		],
		"高空作业": [
			["gāo"],
			["kōng"],
			["zuò"],
			["yè"]
		],
		"高丽参": [
			["gāo"],
			["lí"],
			["shēn"]
		],
		"高丽纸": [
			["gāo"],
			["lí"],
			["zhǐ"]
		],
		"高岭土": [
			["gāo"],
			["lǐng"],
			["tǔ"]
		],
		"高楼大厦": [
			["gāo"],
			["lóu"],
			["dà"],
			["shà"]
		],
		"高门大户": [
			["gāo"],
			["mén"],
			["dà"],
			["hù"]
		],
		"高门大屋": [
			["gāo"],
			["mén"],
			["dà"],
			["wū"]
		],
		"高明远识": [
			["gāo"],
			["míng"],
			["yuǎn"],
			["shí"]
		],
		"高名大姓": [
			["gāo"],
			["míng"],
			["dà"],
			["xìng"]
		],
		"高睨大谈": [
			["gāo"],
			["nì"],
			["dà"],
			["tán"]
		],
		"高频头": [
			["gāo"],
			["pín"],
			["tóu"]
		],
		"高情逸兴": [
			["gāo"],
			["qíng"],
			["yì"],
			["xīng"]
		],
		"高情远意": [
			["gāo"],
			["qíng"],
			["yuǎn"],
			["yì"]
		],
		"高情远韵": [
			["gāo"],
			["qíng"],
			["yuǎn"],
			["yùn"]
		],
		"高情远致": [
			["gāo"],
			["qíng"],
			["yuǎn"],
			["zhì"]
		],
		"高山景行": [
			["gāo"],
			["shān"],
			["jǐng"],
			["xíng"]
		],
		"高山反应": [
			["gāo"],
			["shān"],
			["fǎn"],
			["yìng"]
		],
		"高山峻岭": [
			["gāo"],
			["shān"],
			["jùn"],
			["lǐng"]
		],
		"高山仰之": [
			["gāo"],
			["shān"],
			["yǎng"],
			["zhī"]
		],
		"高山仰止": [
			["gāo"],
			["shān"],
			["yǎng"],
			["zhǐ"]
		],
		"高射炮": [
			["gāo"],
			["shè"],
			["pào"]
		],
		"高深莫测": [
			["gāo"],
			["shēn"],
			["mò"],
			["cè"]
		],
		"高识远见": [
			["gāo"],
			["shí"],
			["yuǎn"],
			["jiàn"]
		],
		"高速钢": [
			["gāo"],
			["sù"],
			["gāng"]
		],
		"高谈大论": [
			["gāo"],
			["tán"],
			["dà"],
			["lùn"]
		],
		"高谈弘论": [
			["gāo"],
			["tán"],
			["hóng"],
			["lùn"]
		],
		"高碳钢": [
			["gāo"],
			["tàn"],
			["gāng"]
		],
		"高谈虚论": [
			["gāo"],
			["tán"],
			["xū"],
			["lùn"]
		],
		"高谈阔论": [
			["gāo"],
			["tán"],
			["kuò"],
			["lùn"]
		],
		"高天厚地": [
			["gāo"],
			["tiān"],
			["hòu"],
			["dì"]
		],
		"高挑儿": [
			["gāo"],
			["tiǎo"],
			["ér"]
		],
		"高堂大厦": [
			["gāo"],
			["táng"],
			["dà"],
			["shà"]
		],
		"高头大马": [
			["gāo"],
			["tóu"],
			["dà"],
			["mǎ"]
		],
		"高位重禄": [
			["gāo"],
			["wèi"],
			["zhòng"],
			["lù"]
		],
		"高纬度": [
			["gāo"],
			["wěi"],
			["dù"]
		],
		"高头讲章": [
			["gāo"],
			["tóu"],
			["jiǎng"],
			["zhāng"]
		],
		"高文大册": [
			["gāo"],
			["wén"],
			["dà"],
			["cè"]
		],
		"高下任心": [
			["gāo"],
			["xià"],
			["rèn"],
			["xīn"]
		],
		"高下其手": [
			["gāo"],
			["xià"],
			["qí"],
			["shǒu"]
		],
		"高翔远引": [
			["gāo"],
			["xiáng"],
			["yuǎn"],
			["yǐn"]
		],
		"高效能": [
			["gāo"],
			["xiào"],
			["néng"]
		],
		"高血压": [
			["gāo"],
			["xuè"],
			["yā"]
		],
		"高姓大名": [
			["gāo"],
			["xìng"],
			["dà"],
			["míng"]
		],
		"高压电": [
			["gāo"],
			["yā"],
			["diàn"]
		],
		"高压锅": [
			["gāo"],
			["yā"],
			["guō"]
		],
		"高压线": [
			["gāo"],
			["yā"],
			["xiàn"]
		],
		"高牙大纛": [
			["gāo"],
			["yá"],
			["dà"],
			["dào"]
		],
		"高义薄云": [
			["gāo"],
			["yì"],
			["bó"],
			["yún"]
		],
		"高义薄云天": [
			["gāo"],
			["yì"],
			["báo"],
			["yún"],
			["tiān"]
		],
		"高掌远跖": [
			["gāo"],
			["zhǎng"],
			["yuǎn"],
			["zhí"]
		],
		"高瞻远瞩": [
			["gāo"],
			["zhān"],
			["yuǎn"],
			["zhǔ"]
		],
		"高掌远蹠": [
			["gāo"],
			["zhǎng"],
			["yuǎn"],
			["zhí"]
		],
		"高足弟子": [
			["gāo"],
			["zú"],
			["dì"],
			["zǐ"]
		],
		"高祖父": [
			["gāo"],
			["zǔ"],
			["fù"]
		],
		"膏场绣浍": [
			["gāo"],
			["cháng"],
			["xiù"],
			["kuài"]
		],
		"膏车秣马": [
			["gào"],
			["chē"],
			["mò"],
			["mǎ"]
		],
		"膏唇贩舌": [
			["gào"],
			["chún"],
			["fàn"],
			["shé"]
		],
		"膏唇试舌": [
			["gāo"],
			["chún"],
			["shì"],
			["shé"]
		],
		"膏唇岐舌": [
			["gào"],
			["chún"],
			["qí"],
			["shé"]
		],
		"膏唇拭舌": [
			["gāo"],
			["chún"],
			["shì"],
			["shé"]
		],
		"膏肓之疾": [
			["gāo"],
			["huāng"],
			["zhī"],
			["jí"]
		],
		"膏火之费": [
			["gāo"],
			["huǒ"],
			["zhī"],
			["fèi"]
		],
		"膏火自煎": [
			["gāo"],
			["huǒ"],
			["zì"],
			["jiān"]
		],
		"膏梁锦绣": [
			["gāo"],
			["liáng"],
			["jǐn"],
			["xiù"]
		],
		"膏梁纨袴": [
			["gāo"],
			["liáng"],
			["wán"],
			["kù"]
		],
		"膏粱锦绣": [
			["gāo"],
			["liáng"],
			["jǐn"],
			["xiù"]
		],
		"膏粱纨袴": [
			["gāo"],
			["liáng"],
			["wán"],
			["kù"]
		],
		"膏粱年少": [
			["gāo"],
			["liáng"],
			["nián"],
			["shào"]
		],
		"膏粱子弟": [
			["gāo"],
			["liáng"],
			["zǐ"],
			["dì"]
		],
		"膏粱文绣": [
			["gāo"],
			["liáng"],
			["wén"],
			["xiù"]
		],
		"膏腴贵游": [
			["gāo"],
			["yú"],
			["guì"],
			["yóu"]
		],
		"膏腴之地": [
			["gāo"],
			["yú"],
			["zhī"],
			["dì"]
		],
		"膏腴子弟": [
			["gāo"],
			["yú"],
			["zǐ"],
			["dì"]
		],
		"槁苏暍醒": [
			["gǎo"],
			["sū"],
			["yē"],
			["xǐng"]
		],
		"膏泽脂香": [
			["gāo"],
			["zé"],
			["zhī"],
			["xiāng"]
		],
		"槁项没齿": [
			["gǎo"],
			["xiàng"],
			["méi"],
			["chǐ"]
		],
		"告老还家": [
			["gào"],
			["lǎo"],
			["huán"],
			["jiā"]
		],
		"告老还乡": [
			["gào"],
			["lǎo"],
			["huán"],
			["xiāng"]
		],
		"告老在家": [
			["gào"],
			["lǎo"],
			["zài"],
			["jiā"]
		],
		"告朔饩羊": [
			["gù"],
			["shuò"],
			["xì"],
			["yáng"]
		],
		"告往知来": [
			["gào"],
			["wǎng"],
			["zhī"],
			["lái"]
		],
		"戈兰高地": [
			["gē"],
			["lán"],
			["gāo"],
			["dì"]
		],
		"疙瘩汤": [
			["gē"],
			["dā"],
			["tāng"]
		],
		"疙疙瘩瘩": [
			["gē"],
			["gē"],
			["dā"],
			["dá"]
		],
		"疙里疙瘩": [
			["gē"],
			["lǐ"],
			["gē"],
			["dā"]
		],
		"哥本哈根": [
			["gē"],
			["běn"],
			["hā"],
			["gēn"]
		],
		"哥老会": [
			["gē"],
			["lǎo"],
			["huì"]
		],
		"胳膊拧不过大腿": [
			["gē"],
			["bo"],
			["nǐng"],
			["bù"],
			["guò"],
			["dà"],
			["tuǐ"]
		],
		"胳膊腕子": [
			["gē"],
			["bo"],
			["wàn"],
			["zǐ"]
		],
		"胳膊肘": [
			["gē"],
			["bo"],
			["zhǒu"]
		],
		"胳肢窝": [
			["gē"],
			["zhī"],
			["wō"]
		],
		"胳膊肘子": [
			["gē"],
			["bo"],
			["zhǒu"],
			["zǐ"]
		],
		"鸽子笼": [
			["gē"],
			["zi"],
			["lóng"]
		],
		"割臂盟公": [
			["gē"],
			["bì"],
			["méng"],
			["gōng"]
		],
		"割臂之盟": [
			["gē"],
			["bì"],
			["zhī"],
			["méng"]
		],
		"割地称臣": [
			["gē"],
			["dì"],
			["chēng"],
			["chén"]
		],
		"割地求和": [
			["gē"],
			["dì"],
			["qiú"],
			["hé"]
		],
		"割肚牵肠": [
			["gē"],
			["dù"],
			["qiān"],
			["cháng"]
		],
		"割股疗亲": [
			["gē"],
			["gǔ"],
			["liáo"],
			["qīn"]
		],
		"割骨疗亲": [
			["gē"],
			["gǔ"],
			["liáo"],
			["qīn"]
		],
		"割据一方": [
			["gē"],
			["jù"],
			["yī"],
			["fāng"]
		],
		"割尾巴": [
			["gē"],
			["wěi"],
			["bā"]
		],
		"割席分坐": [
			["gē"],
			["xí"],
			["fēn"],
			["zuò"]
		],
		"搁不住": [
			["gé"],
			["bú"],
			["zhù"]
		],
		"搁得住": [
			["gé"],
			["de"],
			["zhù"]
		],
		"歌唱家": [
			["gē"],
			["chàng"],
			["jiā"]
		],
		"歌片儿": [
			["gē"],
			["piān"],
			["er"]
		],
		"歌台舞榭": [
			["gē"],
			["tái"],
			["wǔ"],
			["xiè"]
		],
		"歌舞伎": [
			["gē"],
			["wǔ"],
			["jì"]
		],
		"歌莺舞燕": [
			["gē"],
			["yíng"],
			["wǔ"],
			["yàn"]
		],
		"歌仔戏": [
			["gē"],
			["zǎi"],
			["xì"]
		],
		"革风易俗": [
			["gé"],
			["fēng"],
			["yì"],
			["sú"]
		],
		"革奸铲暴": [
			["gé"],
			["jiān"],
			["chǎn"],
			["bào"]
		],
		"革旧从新": [
			["gé"],
			["jiù"],
			["cóng"],
			["xīn"]
		],
		"革面洗心": [
			["gé"],
			["miàn"],
			["xǐ"],
			["xīn"]
		],
		"革命创制": [
			["gé"],
			["mìng"],
			["chuàng"],
			["zhì"]
		],
		"革命反正": [
			["gé"],
			["mìng"],
			["fǎn"],
			["zhèng"]
		],
		"革命根据地": [
			["gé"],
			["mìng"],
			["gēn"],
			["jù"],
			["dì"]
		],
		"革命家": [
			["gé"],
			["mìng"],
			["jiā"]
		],
		"革命委员会": [
			["gé"],
			["mìng"],
			["wěi"],
			["yuán"],
			["huì"]
		],
		"革邪反正": [
			["gé"],
			["xié"],
			["fǎn"],
			["zhèng"]
		],
		"格不相入": [
			["gé"],
			["bù"],
			["xiāng"],
			["rù"]
		],
		"革心易行": [
			["gé"],
			["xīn"],
			["yì"],
			["xíng"]
		],
		"格高意远": [
			["gé"],
			["gāo"],
			["yì"],
			["yuǎn"]
		],
		"格格不吐": [
			["gē"],
			["gē"],
			["bù"],
			["tǔ"]
		],
		"格格不纳": [
			["gē"],
			["gē"],
			["bù"],
			["nà"]
		],
		"格格不入": [
			["gé"],
			["gé"],
			["bù"],
			["rù"]
		],
		"格林尼治时间": [
			["gé"],
			["lín"],
			["ní"],
			["zhì"],
			["shí"],
			["jiān"]
		],
		"格杀不论": [
			["gé"],
			["shā"],
			["bù"],
			["lùn"]
		],
		"格杀弗论": [
			["gé"],
			["shā"],
			["fú"],
			["lùn"]
		],
		"格杀无论": [
			["gé"],
			["shā"],
			["wú"],
			["lùn"]
		],
		"格杀勿论": [
			["gé"],
			["shā"],
			["wù"],
			["lùn"]
		],
		"格物致知": [
			["gé"],
			["wù"],
			["zhì"],
			["zhī"]
		],
		"葛屦履霜": [
			["gě"],
			["jù"],
			["lǚ"],
			["shuāng"]
		],
		"蛤蟆镜": [
			["há"],
			["má"],
			["jìng"]
		],
		"隔岸观火": [
			["gé"],
			["àn"],
			["guān"],
			["huǒ"]
		],
		"隔墙有耳": [
			["gé"],
			["qiáng"],
			["yǒu"],
			["ěr"]
		],
		"隔三差五": [
			["gé"],
			["sān"],
			["chà"],
			["wǔ"]
		],
		"隔行如隔山": [
			["gé"],
			["háng"],
			["rú"],
			["gé"],
			["shān"]
		],
		"隔音符号": [
			["gé"],
			["yīn"],
			["fú"],
			["hào"]
		],
		"个旧市": [
			["gè"],
			["jiù"],
			["shì"]
		],
		"个人财产": [
			["gè"],
			["rén"],
			["cái"],
			["chǎn"]
		],
		"个人主义": [
			["gè"],
			["rén"],
			["zhǔ"],
			["yì"]
		],
		"个体户": [
			["gè"],
			["tǐ"],
			["hù"]
		],
		"个体经济": [
			["gè"],
			["tǐ"],
			["jīng"],
			["jì"]
		],
		"个体所有制": [
			["gè"],
			["tǐ"],
			["suǒ"],
			["yǒu"],
			["zhì"]
		],
		"个头儿": [
			["gè"],
			["tou"],
			["er"]
		],
		"个中妙趣": [
			["gè"],
			["zhōng"],
			["miào"],
			["qù"]
		],
		"个中滋味": [
			["gè"],
			["zhōng"],
			["zī"],
			["wèi"]
		],
		"各安生业": [
			["gè"],
			["ān"],
			["shēng"],
			["yè"]
		],
		"各奔前程": [
			["gè"],
			["bèn"],
			["qián"],
			["chéng"]
		],
		"各不相谋": [
			["gè"],
			["bù"],
			["xiāng"],
			["móu"]
		],
		"各不相让": [
			["gè"],
			["bù"],
			["xiāng"],
			["ràng"]
		],
		"各持己见": [
			["gè"],
			["chí"],
			["jǐ"],
			["jiàn"]
		],
		"各从其志": [
			["gè"],
			["cóng"],
			["qí"],
			["zhì"]
		],
		"各得其所": [
			["gè"],
			["dé"],
			["qí"],
			["suǒ"]
		],
		"各得其宜": [
			["gè"],
			["dé"],
			["qí"],
			["yí"]
		],
		"各个击破": [
			["gè"],
			["gè"],
			["jī"],
			["pò"]
		],
		"各尽所能": [
			["gè"],
			["jìn"],
			["suǒ"],
			["néng"]
		],
		"各就各位": [
			["gè"],
			["jiù"],
			["gè"],
			["wèi"]
		],
		"各取所长": [
			["gè"],
			["qǔ"],
			["suǒ"],
			["cháng"]
		],
		"各人自扫门前雪": [
			["gè"],
			["rén"],
			["zì"],
			["sǎo"],
			["mén"],
			["qián"],
			["xuě"]
		],
		"各取所需": [
			["gè"],
			["qǔ"],
			["suǒ"],
			["xū"]
		],
		"各色各样": [
			["gè"],
			["sè"],
			["gè"],
			["yàng"]
		],
		"各色名样": [
			["gè"],
			["sè"],
			["gè"],
			["yàng"]
		],
		"各抒己见": [
			["gè"],
			["shū"],
			["jǐ"],
			["jiàn"]
		],
		"各色人等": [
			["gè"],
			["sè"],
			["rén"],
			["děng"]
		],
		"各抒所见": [
			["gè"],
			["shū"],
			["suǒ"],
			["jiàn"]
		],
		"各式各样": [
			["gè"],
			["shì"],
			["gè"],
			["yàng"]
		],
		"各司其事": [
			["gè"],
			["sī"],
			["qí"],
			["shì"]
		],
		"各为其主": [
			["gè"],
			["wèi"],
			["qí"],
			["zhǔ"]
		],
		"各行各业": [
			["gè"],
			["háng"],
			["gè"],
			["yè"]
		],
		"各行其是": [
			["gè"],
			["xíng"],
			["qí"],
			["shì"]
		],
		"各行其志": [
			["gè"],
			["xíng"],
			["qí"],
			["zhì"]
		],
		"各有千秋": [
			["gè"],
			["yǒu"],
			["qiān"],
			["qiū"]
		],
		"各有所长": [
			["gè"],
			["yǒu"],
			["suǒ"],
			["chéng"]
		],
		"各有所短": [
			["gè"],
			["yǒu"],
			["suǒ"],
			["duǎn"]
		],
		"各有所好": [
			["gè"],
			["yǒu"],
			["suǒ"],
			["hào"]
		],
		"各有所职": [
			["gè"],
			["yǒu"],
			["suǒ"],
			["zhí"]
		],
		"各执己见": [
			["gè"],
			["zhí"],
			["jǐ"],
			["jiàn"]
		],
		"各执一词": [
			["gè"],
			["zhí"],
			["yī"],
			["cí"]
		],
		"各种各样": [
			["gè"],
			["zhǒng"],
			["gè"],
			["yàng"]
		],
		"各自为战": [
			["gè"],
			["zì"],
			["wéi"],
			["zhàn"]
		],
		"各自为政": [
			["gè"],
			["zì"],
			["wéi"],
			["zhèng"]
		],
		"给面子": [
			["gěi"],
			["miàn"],
			["zi"]
		],
		"根孤伎薄": [
			["gēn"],
			["gū"],
			["jì"],
			["báo"]
		],
		"根椽片瓦": [
			["gēn"],
			["chuán"],
			["piàn"],
			["wǎ"]
		],
		"根结盘固": [
			["gēn"],
			["jié"],
			["pán"],
			["gù"]
		],
		"根结盘据": [
			["gēn"],
			["jié"],
			["pán"],
			["jù"]
		],
		"根据地": [
			["gēn"],
			["jù"],
			["dì"]
		],
		"根据盘互": [
			["gēn"],
			["jù"],
			["pán"],
			["hù"]
		],
		"根据槃互": [
			["gēn"],
			["jù"],
			["pán"],
			["hù"]
		],
		"根瘤菌": [
			["gēn"],
			["liú"],
			["jūn"]
		],
		"根盘蒂结": [
			["gēn"],
			["pán"],
			["dì"],
			["jié"]
		],
		"根蟠节错": [
			["gēn"],
			["pán"],
			["jié"],
			["cuò"]
		],
		"根深柢固": [
			["gēn"],
			["shēn"],
			["dǐ"],
			["gù"]
		],
		"根深蒂结": [
			["gēn"],
			["shēn"],
			["dì"],
			["jié"]
		],
		"根深叶茂": [
			["gēn"],
			["shēn"],
			["yè"],
			["mào"]
		],
		"根深枝茂": [
			["gēn"],
			["shēn"],
			["zhī"],
			["mào"]
		],
		"根生土长": [
			["gēn"],
			["shēn"],
			["tǔ"],
			["zhǎng"]
		],
		"根指数": [
			["gēn"],
			["zhǐ"],
			["shù"]
		],
		"根株附丽": [
			["gēn"],
			["zhū"],
			["fù"],
			["lì"]
		],
		"根株结盘": [
			["gēn"],
			["zhū"],
			["jié"],
			["pán"]
		],
		"根壮叶茂": [
			["gēn"],
			["zhuàng"],
			["yè"],
			["mào"]
		],
		"亘古不灭": [
			["gèn"],
			["gǔ"],
			["bù"],
			["miè"]
		],
		"亘古奇闻": [
			["gèn"],
			["gǔ"],
			["qī"],
			["wén"]
		],
		"亘古未有": [
			["gèn"],
			["gǔ"],
			["wèi"],
			["yǒu"]
		],
		"更长梦短": [
			["gēng"],
			["cháng"],
			["mèng"],
			["duǎn"]
		],
		"更唱迭和": [
			["gēng"],
			["chàng"],
			["dié"],
			["hé"]
		],
		"更唱叠和": [
			["gēng"],
			["chàng"],
			["dié"],
			["hé"]
		],
		"更待干罢": [
			["gèng"],
			["dài"],
			["gàn"],
			["bà"]
		],
		"更阑人静": [
			["gēng"],
			["lán"],
			["rén"],
			["jǐng"]
		],
		"更进一竿": [
			["gèng"],
			["jìn"],
			["yī"],
			["gān"]
		],
		"更令明号": [
			["gēng"],
			["lìng"],
			["míng"],
			["hào"]
		],
		"更名改姓": [
			["gèng"],
			["míng"],
			["gǎi"],
			["xìng"]
		],
		"更难仆数": [
			["gēng"],
			["nán"],
			["pú"],
			["shù"]
		],
		"更年期": [
			["gēng"],
			["nián"],
			["qī"]
		],
		"更仆难尽": [
			["gèng"],
			["pú"],
			["nán"],
			["jìn"]
		],
		"更仆难数": [
			["gēng"],
			["pú"],
			["nán"],
			["shǔ"]
		],
		"更仆难终": [
			["gēng"],
			["pú"],
			["nán"],
			["zhōng"]
		],
		"更上一层楼": [
			["gèng"],
			["shàng"],
			["yī"],
			["céng"],
			["lóu"]
		],
		"更深夜静": [
			["gēng"],
			["shēn"],
			["yè"],
			["jìng"]
		],
		"更深人静": [
			["gēng"],
			["shēn"],
			["rén"],
			["jìng"]
		],
		"更弦改辙": [
			["gēng"],
			["xián"],
			["gǎi"],
			["zhé"]
		],
		"更弦易辙": [
			["gēng"],
			["xián"],
			["yì"],
			["zhé"]
		],
		"更新换代": [
			["gēng"],
			["xīn"],
			["huàn"],
			["dài"]
		],
		"更姓改物": [
			["gēng"],
			["xìng"],
			["gǎi"],
			["wù"]
		],
		"更衣室": [
			["gēng"],
			["yī"],
			["shì"]
		],
		"庚癸频呼": [
			["gēng"],
			["guǐ"],
			["pín"],
			["hū"]
		],
		"耕当问奴": [
			["gēng"],
			["dāng"],
			["wèn"],
			["nú"]
		],
		"耕云播雨": [
			["gēng"],
			["yún"],
			["bō"],
			["yǔ"]
		],
		"耕者有其田": [
			["gēng"],
			["zhě"],
			["yǒu"],
			["qí"],
			["tián"]
		],
		"羹藜唅糗": [
			["gēng"],
			["lí"],
			["hán"],
			["qiǔ"]
		],
		"梗泛萍漂": [
			["gěng"],
			["fàn"],
			["píng"],
			["piāo"]
		],
		"梗顽不化": [
			["gěng"],
			["wán"],
			["bù"],
			["huà"]
		],
		"工读学校": [
			["gōng"],
			["dú"],
			["xué"],
			["xiào"]
		],
		"工间操": [
			["gōng"],
			["jiān"],
			["cāo"]
		],
		"工具钢": [
			["gōng"],
			["jù"],
			["gāng"]
		],
		"工农兵学员": [
			["gōng"],
			["nóng"],
			["bīng"],
			["xué"],
			["yuán"]
		],
		"工农红军": [
			["gōng"],
			["nóng"],
			["hóng"],
			["jūn"]
		],
		"工业化": [
			["gōng"],
			["yè"],
			["huà"]
		],
		"工业基地": [
			["gōng"],
			["yè"],
			["jī"],
			["dì"]
		],
		"工业建筑": [
			["gōng"],
			["yè"],
			["jiàn"],
			["zhù"]
		],
		"工业区": [
			["gōng"],
			["yè"],
			["qū"]
		],
		"工业区位论": [
			["gōng"],
			["yè"],
			["qū"],
			["wèi"],
			["lùn"]
		],
		"工业体系": [
			["gōng"],
			["yè"],
			["tǐ"],
			["xì"]
		],
		"工艺美术": [
			["gōng"],
			["yì"],
			["měi"],
			["shù"]
		],
		"工字钢": [
			["gōng"],
			["zì"],
			["gāng"]
		],
		"工作服": [
			["gōng"],
			["zuò"],
			["fú"]
		],
		"工作量": [
			["gōng"],
			["zuò"],
			["liàng"]
		],
		"弓影杯蛇": [
			["gōng"],
			["yǐng"],
			["bēi"],
			["shé"]
		],
		"弓调马服": [
			["gōng"],
			["diào"],
			["mǎ"],
			["fú"]
		],
		"弓折刀尽": [
			["gōng"],
			["zhé"],
			["dāo"],
			["jìn"]
		],
		"公倍数": [
			["gōng"],
			["bèi"],
			["shù"]
		],
		"公报私仇": [
			["gōng"],
			["bào"],
			["sī"],
			["chóu"]
		],
		"公道合理": [
			["gōng"],
			["dào"],
			["hé"],
			["lǐ"]
		],
		"公共厕所": [
			["gōng"],
			["gòng"],
			["cè"],
			["suǒ"]
		],
		"公共场所": [
			["gōng"],
			["gòng"],
			["chǎng"],
			["suǒ"]
		],
		"公共关系": [
			["gōng"],
			["gòng"],
			["guān"],
			["xì"]
		],
		"公共积累": [
			["gōng"],
			["gòng"],
			["jī"],
			["lěi"]
		],
		"公共建筑": [
			["gōng"],
			["gòng"],
			["jiàn"],
			["zhù"]
		],
		"公共课": [
			["gōng"],
			["gòng"],
			["kè"]
		],
		"公共交通": [
			["gōng"],
			["gòng"],
			["jiāo"],
			["tōng"]
		],
		"公共汽车": [
			["gōng"],
			["gòng"],
			["qì"],
			["chē"]
		],
		"公共事业": [
			["gōng"],
			["gòng"],
			["shì"],
			["yè"]
		],
		"公共卫生": [
			["gōng"],
			["gòng"],
			["wèi"],
			["shēng"]
		],
		"公共秩序": [
			["gōng"],
			["gòng"],
			["zhì"],
			["xù"]
		],
		"公教人员": [
			["gōng"],
			["jiào"],
			["rén"],
			["yuán"]
		],
		"公开信": [
			["gōng"],
			["kāi"],
			["xìn"]
		],
		"公立学校": [
			["gōng"],
			["lì"],
			["xué"],
			["xiào"]
		],
		"公民投票": [
			["gōng"],
			["mín"],
			["tóu"],
			["piào"]
		],
		"公明正大": [
			["gōng"],
			["míng"],
			["zhèng"],
			["dà"]
		],
		"公平合理": [
			["gōng"],
			["píng"],
			["hé"],
			["lǐ"]
		],
		"公切线": [
			["gōng"],
			["qiē"],
			["xiàn"]
		],
		"公式化": [
			["gōng"],
			["shì"],
			["huà"]
		],
		"公司债券": [
			["gōng"],
			["sī"],
			["zhài"],
			["quàn"]
		],
		"公私合营": [
			["gōng"],
			["sī"],
			["hé"],
			["yíng"]
		],
		"公私两济": [
			["gōng"],
			["sī"],
			["liǎng"],
			["jì"]
		],
		"公私两便": [
			["gōng"],
			["sī"],
			["liǎng"],
			["biàn"]
		],
		"公听并观": [
			["gōng"],
			["tīng"],
			["bìng"],
			["guān"]
		],
		"公务员": [
			["gōng"],
			["wù"],
			["yuán"]
		],
		"公休日": [
			["gōng"],
			["xiū"],
			["rì"]
		],
		"公有制": [
			["gōng"],
			["yǒu"],
			["zhì"]
		],
		"公约数": [
			["gōng"],
			["yuē"],
			["shù"]
		],
		"公债券": [
			["gōng"],
			["zhài"],
			["quàn"]
		],
		"公正不阿": [
			["gōng"],
			["zhèng"],
			["bù"],
			["ē"]
		],
		"公正廉明": [
			["gōng"],
			["zhèng"],
			["lián"],
			["míng"]
		],
		"公正廉洁": [
			["gōng"],
			["zhèng"],
			["lián"],
			["jié"]
		],
		"公正无私": [
			["gōng"],
			["zhèng"],
			["wú"],
			["sī"]
		],
		"公职人员": [
			["gōng"],
			["zhí"],
			["rén"],
			["yuán"]
		],
		"公诸同好": [
			["gōng"],
			["zhū"],
			["tóng"],
			["hào"]
		],
		"公忠体国": [
			["gōng"],
			["zhōng"],
			["tǐ"],
			["guó"]
		],
		"公子王孙": [
			["gōng"],
			["zǐ"],
			["wáng"],
			["sūn"]
		],
		"功薄蝉翼": [
			["gōng"],
			["bó"],
			["chán"],
			["yì"]
		],
		"功成不居": [
			["gōng"],
			["chéng"],
			["bù"],
			["jū"]
		],
		"功成骨枯": [
			["gōng"],
			["chéng"],
			["gǔ"],
			["kū"]
		],
		"功成行满": [
			["gōng"],
			["chéng"],
			["xíng"],
			["mǎn"]
		],
		"功德无量": [
			["gōng"],
			["dé"],
			["wú"],
			["liàng"]
		],
		"功夫片": [
			["gōng"],
			["fū"],
			["piàn"]
		],
		"功夫茶": [
			["gōng"],
			["fū"],
			["chá"]
		],
		"功盖天下": [
			["gōng"],
			["gài"],
			["tiān"],
			["xià"]
		],
		"功高不赏": [
			["gōng"],
			["gāo"],
			["bù"],
			["shǎng"]
		],
		"功高盖世": [
			["gōng"],
			["gāo"],
			["gài"],
			["shì"]
		],
		"功高望重": [
			["gōng"],
			["gāo"],
			["wàng"],
			["zhòng"]
		],
		"功劳簿": [
			["gōng"],
			["láo"],
			["bù"]
		],
		"功率放大器": [
			["gōng"],
			["lǜ"],
			["fàng"],
			["dà"],
			["qì"]
		],
		"功若丘山": [
			["gōng"],
			["ruò"],
			["qiū"],
			["shān"]
		],
		"攻城掠地": [
			["gōng"],
			["chéng"],
			["lüě"],
			["dì"]
		],
		"攻城略地": [
			["gōng"],
			["chéng"],
			["lüè"],
			["dì"]
		],
		"攻过箴阙": [
			["gōng"],
			["guò"],
			["zhēn"],
			["què"]
		],
		"攻苦食啖": [
			["gōng"],
			["kǔ"],
			["shí"],
			["dàn"]
		],
		"攻击行为": [
			["gōng"],
			["jī"],
			["xíng"],
			["wéi"]
		],
		"攻苦食淡": [
			["gōng"],
			["kǔ"],
			["shí"],
			["dàn"]
		],
		"攻苦食俭": [
			["gōng"],
			["kǔ"],
			["shí"],
			["jiǎn"]
		],
		"攻其不备": [
			["gōng"],
			["qí"],
			["bù"],
			["bèi"]
		],
		"攻其无备": [
			["gōng"],
			["qí"],
			["wú"],
			["bèi"]
		],
		"攻守同盟": [
			["gōng"],
			["shǒu"],
			["tóng"],
			["méng"]
		],
		"攻无不克": [
			["gōng"],
			["wú"],
			["bù"],
			["kè"]
		],
		"攻心为上": [
			["gōng"],
			["xīn"],
			["wèi"],
			["shàng"]
		],
		"攻心扼吭": [
			["gōng"],
			["xīn"],
			["è"],
			["kēng"]
		],
		"供不应求": [
			["gōng"],
			["bù"],
			["yìng"],
			["qiú"]
		],
		"供过于求": [
			["gōng"],
			["guò"],
			["yú"],
			["qiú"]
		],
		"供给制": [
			["gōng"],
			["jǐ"],
			["zhì"]
		],
		"供求关系": [
			["gōng"],
			["qiú"],
			["guān"],
			["xì"]
		],
		"供销合作社": [
			["gōng"],
			["xiāo"],
			["hé"],
			["zuò"],
			["shè"]
		],
		"供销社": [
			["gōng"],
			["xiāo"],
			["shè"]
		],
		"宫车晏驾": [
			["gōng"],
			["chē"],
			["yàn"],
			["jià"]
		],
		"恭而有礼": [
			["gōng"],
			["ér"],
			["yǒu"],
			["lǐ"]
		],
		"恭逢其盛": [
			["gōng"],
			["féng"],
			["qí"],
			["shèng"]
		],
		"恭敬不如从命": [
			["gōng"],
			["jìng"],
			["bù"],
			["rú"],
			["cóng"],
			["mìng"]
		],
		"恭行天罚": [
			["gōng"],
			["xíng"],
			["tiān"],
			["fá"]
		],
		"躬蹈矢石": [
			["gōng"],
			["dǎo"],
			["shǐ"],
			["shí"]
		],
		"躬逢其盛": [
			["gōng"],
			["féng"],
			["qí"],
			["shèng"]
		],
		"躬耕乐道": [
			["gōng"],
			["gēng"],
			["lè"],
			["dào"]
		],
		"躬体力行": [
			["gōng"],
			["tǐ"],
			["lì"],
			["xíng"]
		],
		"躬冒矢石": [
			["gōng"],
			["mào"],
			["shǐ"],
			["shí"]
		],
		"躬先士卒": [
			["gōng"],
			["xiān"],
			["shì"],
			["zú"]
		],
		"躬行节俭": [
			["gōng"],
			["xíng"],
			["jié"],
			["jiǎn"]
		],
		"躬行实践": [
			["gōng"],
			["xíng"],
			["shí"],
			["jiàn"]
		],
		"躬自菲薄": [
			["gōng"],
			["zì"],
			["fěi"],
			["bó"]
		],
		"龚行天罚": [
			["gōng"],
			["xíng"],
			["tiān"],
			["fá"]
		],
		"觥饭不及壶飧": [
			["gōng"],
			["fàn"],
			["bù"],
			["jí"],
			["hú"],
			["sūn"]
		],
		"拱肩缩背": [
			["gǒng"],
			["jiān"],
			["suō"],
			["bèi"]
		],
		"汞溴红": [
			["gǒng"],
			["xiù"],
			["hóng"]
		],
		"拱手而降": [
			["gǒng"],
			["shòu"],
			["ér"],
			["xiáng"]
		],
		"共产党": [
			["gòng"],
			["chǎn"],
			["dǎng"]
		],
		"共产党宣言": [
			["gòng"],
			["chǎn"],
			["dǎng"],
			["xuān"],
			["yán"]
		],
		"共产主义": [
			["gòng"],
			["chǎn"],
			["zhǔ"],
			["yì"]
		],
		"共产主义道德": [
			["gòng"],
			["chǎn"],
			["zhǔ"],
			["yì"],
			["dào"],
			["dé"]
		],
		"共产主义青年团": [
			["gòng"],
			["chǎn"],
			["zhǔ"],
			["yì"],
			["qīng"],
			["nián"],
			["tuán"]
		],
		"共产主义社会": [
			["gòng"],
			["chǎn"],
			["zhǔ"],
			["yì"],
			["shè"],
			["huì"]
		],
		"共存亡": [
			["gòng"],
			["cún"],
			["wáng"]
		],
		"共贯同条": [
			["gòng"],
			["guàn"],
			["tóng"],
			["tiáo"]
		],
		"共和党": [
			["gòng"],
			["hé"],
			["dǎng"]
		],
		"共和国": [
			["gòng"],
			["hé"],
			["guó"]
		],
		"共和制": [
			["gòng"],
			["hé"],
			["zhì"]
		],
		"共价键": [
			["gòng"],
			["jià"],
			["jiàn"]
		],
		"共进会": [
			["gòng"],
			["jìn"],
			["huì"]
		],
		"共聚物": [
			["gòng"],
			["jù"],
			["wù"]
		],
		"共鸣器": [
			["gòng"],
			["míng"],
			["qì"]
		],
		"共青团": [
			["gòng"],
			["qīng"],
			["tuán"]
		],
		"共商国是": [
			["gòng"],
			["shāng"],
			["guó"],
			["shì"]
		],
		"共生矿": [
			["gòng"],
			["shēng"],
			["kuàng"]
		],
		"共同犯罪": [
			["gòng"],
			["tóng"],
			["fàn"],
			["zuì"]
		],
		"共同富裕": [
			["gòng"],
			["tóng"],
			["fù"],
			["yù"]
		],
		"共同纲领": [
			["gòng"],
			["tóng"],
			["gāng"],
			["lǐng"]
		],
		"共同社": [
			["gòng"],
			["tóng"],
			["shè"]
		],
		"共同市场": [
			["gòng"],
			["tóng"],
			["shì"],
			["chǎng"]
		],
		"共同体": [
			["gòng"],
			["tóng"],
			["tǐ"]
		],
		"共同语": [
			["gòng"],
			["tóng"],
			["yǔ"]
		],
		"共同语言": [
			["gòng"],
			["tóng"],
			["yǔ"],
			["yán"]
		],
		"共为唇齿": [
			["gòng"],
			["wéi"],
			["chún"],
			["chǐ"]
		],
		"共挽鹿车": [
			["gòng"],
			["wǎn"],
			["lù"],
			["chē"]
		],
		"共振器": [
			["gòng"],
			["zhèn"],
			["qì"]
		],
		"共枝别干": [
			["gòng"],
			["zhī"],
			["bié"],
			["gàn"]
		],
		"贡禹弹冠": [
			["gòng"],
			["yǔ"],
			["tán"],
			["guān"]
		],
		"勾勾搭搭": [
			["gōu"],
			["gōu"],
			["dā"],
			["dā"]
		],
		"勾股定理": [
			["gōu"],
			["gǔ"],
			["dìng"],
			["lǐ"]
		],
		"勾魂摄魄": [
			["gōu"],
			["hún"],
			["shè"],
			["pò"]
		],
		"勾三搭四": [
			["gōu"],
			["sān"],
			["dā"],
			["sì"]
		],
		"勾心斗角": [
			["gōu"],
			["xīn"],
			["dòu"],
			["jiǎo"]
		],
		"佝偻病": [
			["gōu"],
			["lóu"],
			["bìng"]
		],
		"钩深极奥": [
			["gōu"],
			["shēn"],
			["jí"],
			["ào"]
		],
		"钩深索隐": [
			["gōu"],
			["shēn"],
			["suǒ"],
			["yǐn"]
		],
		"钩深致远": [
			["gōu"],
			["shēn"],
			["zhì"],
			["yuǎn"]
		],
		"钩深图远": [
			["gōu"],
			["shēn"],
			["tú"],
			["yuǎn"]
		],
		"钩心斗角": [
			["gōu"],
			["xīn"],
			["dòu"],
			["jiǎo"]
		],
		"钩元摘秘": [
			["gōu"],
			["yuán"],
			["zhāi"],
			["mì"]
		],
		"钩玄猎秘": [
			["gōu"],
			["xuán"],
			["liè"],
			["mì"]
		],
		"钩元提要": [
			["gōu"],
			["yuán"],
			["tí"],
			["yào"]
		],
		"钩玄提要": [
			["gōu"],
			["xuán"],
			["tí"],
			["yào"]
		],
		"钩章棘句": [
			["gōu"],
			["zhāng"],
			["jí"],
			["jù"]
		],
		"钩爪锯牙": [
			["gōu"],
			["zhǎo"],
			["jù"],
			["yá"]
		],
		"狗恶酒酸": [
			["gǒu"],
			["è"],
			["jiǔ"],
			["suān"]
		],
		"狗吠不惊": [
			["gǒu"],
			["fèi"],
			["bù"],
			["jīng"]
		],
		"狗急跳墙": [
			["gǒu"],
			["jí"],
			["tiào"],
			["qiáng"]
		],
		"狗口里生不出象牙": [
			["gǒu"],
			["kǒu"],
			["lǐ"],
			["shēng"],
			["bù"],
			["chū"],
			["xiàng"],
			["yá"]
		],
		"狗口里吐不出象牙": [
			["gǒu"],
			["kǒu"],
			["lǐ"],
			["tǔ"],
			["bù"],
			["chū"],
			["xiàng"],
			["yá"]
		],
		"狗皮膏药": [
			["gǒu"],
			["pí"],
			["gāo"],
			["yào"]
		],
		"狗屁不通": [
			["gǒu"],
			["pì"],
			["bù"],
			["tōng"]
		],
		"狗头军师": [
			["gǒu"],
			["tóu"],
			["jūn"],
			["shī"]
		],
		"狗头鼠脑": [
			["gǒu"],
			["tóu"],
			["shǔ"],
			["nǎo"]
		],
		"狗尾草": [
			["gǒu"],
			["wěi"],
			["cǎo"]
		],
		"狗尾貂续": [
			["gǒu"],
			["wěi"],
			["diāo"],
			["xù"]
		],
		"狗心狗行": [
			["gǒu"],
			["xīn"],
			["gǒu"],
			["xíng"]
		],
		"狗尾续貂": [
			["gǒu"],
			["wěi"],
			["xù"],
			["diāo"]
		],
		"狗行狼心": [
			["gǒu"],
			["xíng"],
			["láng"],
			["xīn"]
		],
		"狗续貂尾": [
			["gǒu"],
			["xù"],
			["diāo"],
			["wěi"]
		],
		"狗续侯冠": [
			["gǒu"],
			["xù"],
			["hòu"],
			["guàn"]
		],
		"狗血淋头": [
			["gǒu"],
			["xuè"],
			["lín"],
			["tóu"]
		],
		"狗血喷头": [
			["gǒu"],
			["xuè"],
			["pēn"],
			["tóu"]
		],
		"狗眼看人": [
			["gǒu"],
			["yǎn"],
			["kàn"],
			["rén"]
		],
		"狗彘不如": [
			["gǒu"],
			["zhì"],
			["bù"],
			["rú"]
		],
		"狗彘不若": [
			["gǒu"],
			["zhì"],
			["bù"],
			["ruò"]
		],
		"狗彘不食": [
			["gǒu"],
			["zhì"],
			["bù"],
			["shí"]
		],
		"狗彘不食其余": [
			["gǒu"],
			["zhì"],
			["bù"],
			["shí"],
			["qí"],
			["yú"]
		],
		"狗猪不食其余": [
			["gǒu"],
			["zhū"],
			["bù"],
			["shí"],
			["qí"],
			["yú"]
		],
		"狗追耗子": [
			["gǒu"],
			["zhuī"],
			["hào"],
			["zǐ"]
		],
		"狗嘴里吐不出象牙": [
			["gǒu"],
			["zuǐ"],
			["lǐ"],
			["tǔ"],
			["bù"],
			["chū"],
			["xiàng"],
			["yá"]
		],
		"狗嘴吐不出象牙": [
			["gǒu"],
			["zuǐ"],
			["tǔ"],
			["bù"],
			["chū"],
			["xiàng"],
			["yá"]
		],
		"苟合取容": [
			["gǒu"],
			["hé"],
			["qǔ"],
			["ān"]
		],
		"苟且偷安": [
			["gǒu"],
			["qiě"],
			["tōu"],
			["ān"]
		],
		"苟且偷生": [
			["gǒu"],
			["qiě"],
			["tōu"],
			["shēng"]
		],
		"枸杞子": [
			["gǒu"],
			["qǐ"],
			["zǐ"]
		],
		"苟且之心": [
			["gǒu"],
			["qiě"],
			["zhī"],
			["xīn"]
		],
		"构造地震": [
			["gòu"],
			["zào"],
			["dì"],
			["zhèn"]
		],
		"构筑物": [
			["gòu"],
			["zhù"],
			["wù"]
		],
		"诟如不闻": [
			["gòu"],
			["rú"],
			["bù"],
			["wén"]
		],
		"诟龟呼天": [
			["gòu"],
			["guī"],
			["hū"],
			["tiān"]
		],
		"购物中心": [
			["gòu"],
			["wù"],
			["zhōng"],
			["xīn"]
		],
		"购销差价": [
			["gòu"],
			["xiāo"],
			["chā"],
			["jià"]
		],
		"垢面蓬头": [
			["gòu"],
			["miàn"],
			["péng"],
			["tóu"]
		],
		"够劲儿": [
			["gòu"],
			["jìn"],
			["er"]
		],
		"够受的": [
			["gòu"],
			["shòu"],
			["de"]
		],
		"估堆儿": [
			["gū"],
			["duī"],
			["ér"]
		],
		"够意思": [
			["gòu"],
			["yì"],
			["sī"]
		],
		"姑娘家": [
			["gū"],
			["niáng"],
			["jiā"]
		],
		"姑射神人": [
			["gū"],
			["yè"],
			["shén"],
			["rén"]
		],
		"姑置勿论": [
			["gū"],
			["zhì"],
			["wù"],
			["lùn"]
		],
		"孤傲不群": [
			["gū"],
			["ào"],
			["bù"],
			["qún"]
		],
		"孤雌生殖": [
			["gū"],
			["cí"],
			["shēng"],
			["zhí"]
		],
		"孤独矜寡": [
			["gū"],
			["dú"],
			["guān"],
			["guǎ"]
		],
		"孤家寡人": [
			["gū"],
			["jiā"],
			["guǎ"],
			["rén"]
		],
		"孤苦零丁": [
			["gū"],
			["kǔ"],
			["líng"],
			["dīng"]
		],
		"孤立无助": [
			["gū"],
			["lì"],
			["wú"],
			["zhù"]
		],
		"孤立寡与": [
			["gū"],
			["lì"],
			["guǎ"],
			["yǔ"]
		],
		"孤履危行": [
			["gū"],
			["lǚ"],
			["wēi"],
			["xíng"]
		],
		"孤身只影": [
			["gū"],
			["shēn"],
			["zhī"],
			["yǐng"]
		],
		"孤文断句": [
			["gū"],
			["wén"],
			["duàn"],
			["jù"]
		],
		"孤文只义": [
			["gū"],
			["wén"],
			["zhī"],
			["yì"]
		],
		"孤行己见": [
			["gū"],
			["xíng"],
			["jǐ"],
			["jiàn"]
		],
		"孤行己意": [
			["gū"],
			["xíng"],
			["jǐ"],
			["yì"]
		],
		"孤行一意": [
			["gū"],
			["xíng"],
			["yī"],
			["yì"]
		],
		"孤掌难鸣": [
			["gū"],
			["zhǎng"],
			["nán"],
			["míng"]
		],
		"沽名干誉": [
			["gū"],
			["míng"],
			["gàn"],
			["yù"]
		],
		"沽名要誉": [
			["gū"],
			["míng"],
			["yào"],
			["yù"]
		],
		"辜恩背义": [
			["gū"],
			["ēn"],
			["bèi"],
			["yì"]
		],
		"毂击肩摩": [
			["gǔ"],
			["jī"],
			["jiān"],
			["mó"]
		],
		"古北口": [
			["gǔ"],
			["běi"],
			["kǒu"]
		],
		"古地理学": [
			["gǔ"],
			["dì"],
			["lǐ"],
			["xué"]
		],
		"古调不弹": [
			["gǔ"],
			["diào"],
			["bù"],
			["tán"]
		],
		"古典音乐": [
			["gǔ"],
			["diǎn"],
			["yīn"],
			["yuè"]
		],
		"古调单弹": [
			["gǔ"],
			["diào"],
			["dān"],
			["tán"]
		],
		"古尔邦节": [
			["gǔ"],
			["ěr"],
			["bāng"],
			["jié"]
		],
		"古井不波": [
			["gǔ"],
			["jǐng"],
			["bù"],
			["bō"]
		],
		"古今中外": [
			["gǔ"],
			["jīn"],
			["zhōng"],
			["wài"]
		],
		"古木参天": [
			["gǔ"],
			["mù"],
			["cān"],
			["tiān"]
		],
		"古体诗": [
			["gǔ"],
			["tǐ"],
			["shī"]
		],
		"古为今用": [
			["gǔ"],
			["wéi"],
			["jīn"],
			["yòng"]
		],
		"谷父蚕母": [
			["gǔ"],
			["fù"],
			["cán"],
			["mǔ"]
		],
		"股份公司": [
			["gǔ"],
			["fèn"],
			["gōng"],
			["sī"]
		],
		"股份制": [
			["gǔ"],
			["fèn"],
			["zhì"]
		],
		"股掌之上": [
			["gǔ"],
			["zhǎng"],
			["zhī"],
			["shàng"]
		],
		"骨朵儿": [
			["gū"],
			["duǒ"],
			["er"]
		],
		"骨骼肌": [
			["gǔ"],
			["gé"],
			["jī"]
		],
		"骨鲠在喉": [
			["gǔ"],
			["gěng"],
			["zài"],
			["hóu"]
		],
		"骨鲠之臣": [
			["gǔ"],
			["gěng"],
			["zhī"],
			["chén"]
		],
		"骨寒毛竖": [
			["gǔ"],
			["hán"],
			["máo"],
			["shù"]
		],
		"骨化风成": [
			["gǔ"],
			["huà"],
			["fēng"],
			["chéng"]
		],
		"骨灰盒": [
			["gǔ"],
			["huī"],
			["hé"]
		],
		"骨化形销": [
			["gǔ"],
			["huà"],
			["xíng"],
			["xiāo"]
		],
		"骨结核": [
			["gǔ"],
			["jié"],
			["hé"]
		],
		"骨碌碌": [
			["gū"],
			["lù"],
			["lù"]
		],
		"骨肉离散": [
			["gǔ"],
			["ròu"],
			["lí"],
			["sàn"]
		],
		"骨肉团圆": [
			["gǔ"],
			["ròu"],
			["tuán"],
			["yuán"]
		],
		"骨肉未寒": [
			["gǔ"],
			["ròu"],
			["wèi"],
			["hán"]
		],
		"骨肉相残": [
			["gǔ"],
			["ròu"],
			["xiāng"],
			["cán"]
		],
		"骨肉至亲": [
			["gǔ"],
			["ròu"],
			["zhì"],
			["qīn"]
		],
		"骨肉相连": [
			["gǔ"],
			["ròu"],
			["xiāng"],
			["lián"]
		],
		"骨软筋麻": [
			["gǔ"],
			["ruǎn"],
			["jīn"],
			["má"]
		],
		"骨软筋酥": [
			["gǔ"],
			["ruǎn"],
			["jīn"],
			["sū"]
		],
		"骨软肉酥": [
			["gǔ"],
			["ruǎn"],
			["ròu"],
			["sū"]
		],
		"骨瘦如柴": [
			["gǔ"],
			["shòu"],
			["rú"],
			["chái"]
		],
		"骨瘦如豺": [
			["gǔ"],
			["shòu"],
			["rú"],
			["chái"]
		],
		"骨瘦形销": [
			["gǔ"],
			["shòu"],
			["xíng"],
			["xiāo"]
		],
		"骨碎补": [
			["gǔ"],
			["suì"],
			["bǔ"]
		],
		"骨腾肉飞": [
			["gǔ"],
			["téng"],
			["ròu"],
			["fēi"]
		],
		"骨头架子": [
			["gú"],
			["tou"],
			["jià"],
			["zi"]
		],
		"骨子里": [
			["gǔ"],
			["zi"],
			["lǐ"]
		],
		"鹄峙鸾停": [
			["hú"],
			["zhì"],
			["luán"],
			["tíng"]
		],
		"鹄峙鸾翔": [
			["hú"],
			["zhì"],
			["luán"],
			["xiáng"]
		],
		"鼓唇弄舌": [
			["gǔ"],
			["chún"],
			["nòng"],
			["shé"]
		],
		"鼓唇咋舌": [
			["gǔ"],
			["chún"],
			["zǎ"],
			["shé"]
		],
		"鼓风机": [
			["gǔ"],
			["fēng"],
			["jī"]
		],
		"鼓风炉": [
			["gǔ"],
			["fēng"],
			["lú"]
		],
		"鼓腹含和": [
			["gǔ"],
			["fù"],
			["hán"],
			["hé"]
		],
		"鼓鼓囊囊": [
			["gǔ"],
			["gǔ"],
			["nāng"],
			["nāng"]
		],
		"鼓角齐鸣": [
			["gǔ"],
			["jiǎo"],
			["qí"],
			["míng"]
		],
		"鼓睛暴眼": [
			["gǔ"],
			["jīng"],
			["bào"],
			["yǎn"]
		],
		"鼓乐喧天": [
			["gǔ"],
			["yuè"],
			["xuān"],
			["tiān"]
		],
		"鼓乐齐鸣": [
			["gǔ"],
			["yuè"],
			["qí"],
			["míng"]
		],
		"鼓囊囊": [
			["gǔ"],
			["nāng"],
			["nang"]
		],
		"鼓脑争头": [
			["gǔ"],
			["nǎo"],
			["zhēng"],
			["tóu"]
		],
		"鼓旗相当": [
			["gǔ"],
			["qí"],
			["xiāng"],
			["dāng"]
		],
		"鼓衰力尽": [
			["gǔ"],
			["shuāi"],
			["lì"],
			["jìn"]
		],
		"鼓吻奋爪": [
			["gǔ"],
			["wěn"],
			["fèn"],
			["zhǎo"]
		],
		"鼓吻弄舌": [
			["gǔ"],
			["wěn"],
			["nòng"],
			["shé"]
		],
		"固定汇率": [
			["gù"],
			["dìng"],
			["huì"],
			["lǜ"]
		],
		"固定价格": [
			["gù"],
			["dìng"],
			["jià"],
			["gé"]
		],
		"固若金汤": [
			["gù"],
			["ruò"],
			["jīn"],
			["tāng"]
		],
		"固沙林": [
			["gù"],
			["shā"],
			["lín"]
		],
		"固体潮": [
			["gù"],
			["tǐ"],
			["cháo"]
		],
		"固体燃料": [
			["gù"],
			["tǐ"],
			["rán"],
			["liào"]
		],
		"固有频率": [
			["gù"],
			["yǒu"],
			["pín"],
			["lǜ"]
		],
		"固执成见": [
			["gù"],
			["zhí"],
			["chéng"],
			["jiàn"]
		],
		"固执己见": [
			["gù"],
			["zhí"],
			["jǐ"],
			["jiàn"]
		],
		"故伎重演": [
			["gù"],
			["jì"],
			["zhòng"],
			["yǎn"]
		],
		"故技重演": [
			["gù"],
			["jì"],
			["chóng"],
			["yǎn"]
		],
		"故弄虚玄": [
			["gù"],
			["nòng"],
			["xū"],
			["xuán"]
		],
		"故旧不弃": [
			["gù"],
			["jiù"],
			["bù"],
			["qì"]
		],
		"故家乔木": [
			["gù"],
			["jiā"],
			["qiáo"],
			["mù"]
		],
		"故弄玄虚": [
			["gù"],
			["nòng"],
			["xuán"],
			["xū"]
		],
		"故事片": [
			["gù"],
			["shì"],
			["piàn"]
		],
		"故甚其词": [
			["gù"],
			["shèn"],
			["qí"],
			["cí"]
		],
		"故态复还": [
			["gù"],
			["tài"],
			["fù"],
			["huán"]
		],
		"故土难离": [
			["gù"],
			["tǔ"],
			["nán"],
			["lí"]
		],
		"顾虑重重": [
			["gù"],
			["lǜ"],
			["chóng"],
			["chóng"]
		],
		"顾景惭形": [
			["gù"],
			["yǐng"],
			["cán"],
			["xíng"]
		],
		"顾名思义": [
			["gù"],
			["míng"],
			["sī"],
			["yì"]
		],
		"顾前不顾后": [
			["gù"],
			["qián"],
			["bù"],
			["gù"],
			["hòu"]
		],
		"顾曲周郎": [
			["gù"],
			["qǔ"],
			["zhōu"],
			["láng"]
		],
		"顾全大局": [
			["gù"],
			["quán"],
			["dà"],
			["jú"]
		],
		"顾头不顾尾": [
			["gù"],
			["tóu"],
			["bù"],
			["gù"],
			["wěi"]
		],
		"顾小失大": [
			["gù"],
			["xiǎo"],
			["shī"],
			["dà"]
		],
		"顾影弄姿": [
			["gù"],
			["yǐng"],
			["nòng"],
			["zī"]
		],
		"雇佣军": [
			["gù"],
			["yōng"],
			["jūn"]
		],
		"雇佣劳动": [
			["gù"],
			["yōng"],
			["láo"],
			["dòng"]
		],
		"瓜分豆剖": [
			["guā"],
			["fēn"],
			["dòu"],
			["pōu"]
		],
		"瓜分鼎峙": [
			["guā"],
			["fēn"],
			["dǐng"],
			["zhì"]
		],
		"瓜葛相连": [
			["guā"],
			["gě"],
			["xiāng"],
			["lián"]
		],
		"瓜剖豆分": [
			["guā"],
			["pōu"],
			["dòu"],
			["fēn"]
		],
		"瓜连蔓引": [
			["guā"],
			["lián"],
			["màn"],
			["yǐn"]
		],
		"瓜区豆分": [
			["guā"],
			["qū"],
			["dòu"],
			["fēn"]
		],
		"瓜熟蒂落": [
			["guā"],
			["shú"],
			["dì"],
			["luò"]
		],
		"瓜字初分": [
			["guā"],
			["zì"],
			["chū"],
			["fēn"]
		],
		"刮肠洗胃": [
			["guā"],
			["cháng"],
			["xǐ"],
			["wèi"]
		],
		"刮地皮": [
			["guā"],
			["dì"],
			["pí"]
		],
		"刮垢磨光": [
			["guā"],
			["gòu"],
			["mó"],
			["guāng"]
		],
		"刮垢磨痕": [
			["guā"],
			["gòu"],
			["mó"],
			["hén"]
		],
		"刮骨抽筋": [
			["guā"],
			["gǔ"],
			["chōu"],
			["jīn"]
		],
		"刮骨去毒": [
			["guā"],
			["gǔ"],
			["qù"],
			["dú"]
		],
		"刮目相待": [
			["guā"],
			["mù"],
			["xiāng"],
			["dài"]
		],
		"刮目相见": [
			["guā"],
			["mù"],
			["xiāng"],
			["jiàn"]
		],
		"刮目相看": [
			["guā"],
			["mù"],
			["xiāng"],
			["kàn"]
		],
		"刮野扫地": [
			["guā"],
			["yě"],
			["sǎo"],
			["dì"]
		],
		"呱呱堕地": [
			["gū"],
			["gū"],
			["duò"],
			["dì"]
		],
		"呱嗒板儿": [
			["guā"],
			["dā"],
			["bǎn"],
			["ér"]
		],
		"呱呱叫": [
			["guā"],
			["guā"],
			["jiào"]
		],
		"呱呱坠地": [
			["gū"],
			["gū"],
			["zhuì"],
			["dì"]
		],
		"寡不敌众": [
			["guǎ"],
			["bù"],
			["dí"],
			["zhòng"]
		],
		"寡二少双": [
			["guǎ"],
			["èr"],
			["shǎo"],
			["shuāng"]
		],
		"寡见少闻": [
			["guǎ"],
			["jiàn"],
			["shǎo"],
			["wén"]
		],
		"寡不胜众": [
			["guǎ"],
			["bù"],
			["shèng"],
			["zhòng"]
		],
		"寡凫单鹄": [
			["guǎ"],
			["fú"],
			["dān"],
			["hú"]
		],
		"寡见鲜闻": [
			["guǎ"],
			["jiàn"],
			["xiǎn"],
			["wén"]
		],
		"寡廉鲜耻": [
			["guǎ"],
			["lián"],
			["xiǎn"],
			["chǐ"]
		],
		"寡情薄意": [
			["guǎ"],
			["qíng"],
			["báo"],
			["yì"]
		],
		"寡闻少见": [
			["guǎ"],
			["wén"],
			["shǎo"],
			["jiàn"]
		],
		"寡头政治": [
			["guǎ"],
			["tóu"],
			["zhèng"],
			["zhì"]
		],
		"寡信轻诺": [
			["guǎ"],
			["xìn"],
			["qīng"],
			["nuò"]
		],
		"挂灯结彩": [
			["guà"],
			["dēng"],
			["jié"],
			["cǎi"]
		],
		"挂不住": [
			["guà"],
			["bú"],
			["zhù"]
		],
		"挂肚牵肠": [
			["guà"],
			["dù"],
			["qiān"],
			["cháng"]
		],
		"挂肚牵心": [
			["guà"],
			["dù"],
			["qiān"],
			["xīn"]
		],
		"挂冠归去": [
			["guà"],
			["guān"],
			["guī"],
			["qù"]
		],
		"挂冠求去": [
			["guà"],
			["guān"],
			["qiú"],
			["qù"]
		],
		"挂号信": [
			["guà"],
			["hào"],
			["xìn"]
		],
		"挂席为门": [
			["guà"],
			["xí"],
			["wéi"],
			["mén"]
		],
		"挂羊头卖狗肉": [
			["guà"],
			["yáng"],
			["tóu"],
			["mài"],
			["gǒu"],
			["ròu"]
		],
		"挂一漏万": [
			["guà"],
			["yī"],
			["lòu"],
			["wàn"]
		],
		"乖僻邪谬": [
			["guāi"],
			["pì"],
			["xié"],
			["miù"]
		],
		"拐弯抹角": [
			["guǎi"],
			["wān"],
			["mò"],
			["jiǎo"]
		],
		"怪不得": [
			["guài"],
			["bù"],
			["dé"]
		],
		"怪诞诡奇": [
			["guài"],
			["dàn"],
			["guǐ"],
			["qí"]
		],
		"怪诞不经": [
			["guài"],
			["dàn"],
			["bù"],
			["jīng"]
		],
		"怪模怪样": [
			["guài"],
			["mó"],
			["guài"],
			["yàng"]
		],
		"怪雨盲风": [
			["guài"],
			["yǔ"],
			["máng"],
			["fēng"]
		],
		"关键期": [
			["guān"],
			["jiàn"],
			["qī"]
		],
		"关节点": [
			["guān"],
			["jié"],
			["diǎn"]
		],
		"关节痛": [
			["guān"],
			["jié"],
			["tòng"]
		],
		"关节炎": [
			["guān"],
			["jié"],
			["yán"]
		],
		"关门打狗": [
			["guān"],
			["mén"],
			["dǎ"],
			["gǒu"]
		],
		"关门落闩": [
			["guān"],
			["mén"],
			["luò"],
			["shuān"]
		],
		"关门大吉": [
			["guān"],
			["mén"],
			["dà"],
			["jí"]
		],
		"关情脉脉": [
			["guān"],
			["qíng"],
			["mài"],
			["mài"]
		],
		"关系户": [
			["guān"],
			["xì"],
			["hù"]
		],
		"关系网": [
			["guān"],
			["xì"],
			["wǎng"]
		],
		"关系学": [
			["guān"],
			["xì"],
			["xué"]
		],
		"观察家": [
			["guān"],
			["chá"],
			["jiā"]
		],
		"观察力": [
			["guān"],
			["chá"],
			["lì"]
		],
		"观察哨": [
			["guān"],
			["chá"],
			["shào"]
		],
		"观察使": [
			["guān"],
			["chá"],
			["shǐ"]
		],
		"观察所": [
			["guān"],
			["chá"],
			["suǒ"]
		],
		"观察员": [
			["guān"],
			["chá"],
			["yuán"]
		],
		"观场矮人": [
			["guān"],
			["chǎng"],
			["ǎi"],
			["rén"]
		],
		"观风察俗": [
			["guān"],
			["fēng"],
			["chá"],
			["sú"]
		],
		"观过知仁": [
			["guān"],
			["guò"],
			["zhī"],
			["rén"]
		],
		"观化听风": [
			["guān"],
			["huà"],
			["tīng"],
			["fēng"]
		],
		"观机而作": [
			["guān"],
			["jī"],
			["ér"],
			["zuò"]
		],
		"观机而动": [
			["guān"],
			["jī"],
			["ér"],
			["dòng"]
		],
		"观今宜鉴古": [
			["guān"],
			["jīn"],
			["yì"],
			["jiàn"],
			["gǔ"]
		],
		"观貌察色": [
			["guān"],
			["mào"],
			["chá"],
			["sè"]
		],
		"观眉说眼": [
			["guān"],
			["méi"],
			["shuō"],
			["yǎn"]
		],
		"观念形态": [
			["guān"],
			["niàn"],
			["xíng"],
			["tài"]
		],
		"观山玩水": [
			["guān"],
			["shān"],
			["wán"],
			["shuǐ"]
		],
		"观世音": [
			["guān"],
			["shì"],
			["yīn"]
		],
		"观赏植物": [
			["guān"],
			["shǎng"],
			["zhí"],
			["wù"]
		],
		"观往知来": [
			["guān"],
			["wǎng"],
			["zhī"],
			["lái"]
		],
		"观望不前": [
			["guān"],
			["wàng"],
			["bù"],
			["qián"]
		],
		"观象台": [
			["guān"],
			["xiàng"],
			["tái"]
		],
		"观星台": [
			["guān"],
			["xīng"],
			["tái"]
		],
		"观形察色": [
			["guān"],
			["xíng"],
			["chá"],
			["sè"]
		],
		"观隅反三": [
			["guān"],
			["yú"],
			["fǎn"],
			["sān"]
		],
		"观音土": [
			["guān"],
			["yīn"],
			["tǔ"]
		],
		"观音竹": [
			["guān"],
			["yīn"],
			["zhú"]
		],
		"观者成堵": [
			["guān"],
			["zhě"],
			["chéng"],
			["dǔ"]
		],
		"观者如堵": [
			["guān"],
			["zhě"],
			["rú"],
			["dǔ"]
		],
		"观者如垛": [
			["guān"],
			["zhě"],
			["rú"],
			["duǒ"]
		],
		"观者如市": [
			["guān"],
			["zhě"],
			["rú"],
			["shì"]
		],
		"观者如云": [
			["guān"],
			["zhě"],
			["rú"],
			["yún"]
		],
		"观者如织": [
			["guān"],
			["zhě"],
			["rú"],
			["zhī"]
		],
		"官报私仇": [
			["guān"],
			["bào"],
			["sī"],
			["chóu"]
		],
		"观者云集": [
			["guān"],
			["zhě"],
			["yún"],
			["jí"]
		],
		"观众席": [
			["guān"],
			["zhòng"],
			["xí"]
		],
		"官场如戏": [
			["guān"],
			["chǎng"],
			["rú"],
			["xì"]
		],
		"官场现形记": [
			["guān"],
			["chǎng"],
			["xiàn"],
			["xíng"],
			["jì"]
		],
		"官官相护": [
			["guān"],
			["guān"],
			["xiāng"],
			["hù"]
		],
		"官官相为": [
			["guān"],
			["guān"],
			["xiāng"],
			["wéi"]
		],
		"官官相卫": [
			["guān"],
			["guān"],
			["xiāng"],
			["wèi"]
		],
		"官能团": [
			["guān"],
			["néng"],
			["tuán"]
		],
		"官情纸薄": [
			["guān"],
			["qíng"],
			["zhǐ"],
			["báo"]
		],
		"官运亨通": [
			["guān"],
			["yùn"],
			["hēng"],
			["gōng"]
		],
		"官止神行": [
			["guān"],
			["zhǐ"],
			["shén"],
			["xíng"]
		],
		"冠盖如云": [
			["guān"],
			["gài"],
			["rú"],
			["yún"]
		],
		"冠盖相望": [
			["guān"],
			["gài"],
			["xiāng"],
			["wàng"]
		],
		"冠屦倒施": [
			["guàn"],
			["jù"],
			["dǎo"],
			["shī"]
		],
		"冠绝一时": [
			["guàn"],
			["jué"],
			["yī"],
			["shí"]
		],
		"冠履倒易": [
			["guān"],
			["lǚ"],
			["dào"],
			["yì"]
		],
		"冠履倒置": [
			["guān"],
			["lǚ"],
			["dào"],
			["zhì"]
		],
		"冠冕堂皇": [
			["guān"],
			["miǎn"],
			["táng"],
			["huáng"]
		],
		"冠袍带履": [
			["guān"],
			["páo"],
			["dài"],
			["lǚ"]
		],
		"冠山戴粒": [
			["guàn"],
			["shān"],
			["dài"],
			["lì"]
		],
		"冠上加冠": [
			["guān"],
			["shàng"],
			["jiā"],
			["guān"]
		],
		"冠上履下": [
			["guān"],
			["shàng"],
			["lǚ"],
			["xià"]
		],
		"冠心病": [
			["guān"],
			["xīn"],
			["bìng"]
		],
		"冠状动脉": [
			["guān"],
			["zhuàng"],
			["dòng"],
			["mài"]
		],
		"管鲍分金": [
			["guǎn"],
			["bào"],
			["fēn"],
			["jīn"]
		],
		"管风琴": [
			["guǎn"],
			["fēng"],
			["qín"]
		],
		"管家婆": [
			["guǎn"],
			["jiā"],
			["pó"]
		],
		"管见所及": [
			["guǎn"],
			["jiàn"],
			["suǒ"],
			["jí"]
		],
		"管乐器": [
			["guǎn"],
			["yuè"],
			["qì"]
		],
		"管宁割席": [
			["guǎn"],
			["níng"],
			["gē"],
			["xí"]
		],
		"管弦乐": [
			["guǎn"],
			["xián"],
			["yuè"]
		],
		"管中窥豹": [
			["guǎn"],
			["zhōng"],
			["kuī"],
			["bào"]
		],
		"管中窥天": [
			["guǎn"],
			["zhōng"],
			["kuī"],
			["tiān"]
		],
		"贯穿融会": [
			["guàn"],
			["chuān"],
			["róng"],
			["huì"]
		],
		"贯斗双龙": [
			["guàn"],
			["dòu"],
			["shuāng"],
			["lóng"]
		],
		"贯通融会": [
			["guàn"],
			["tōng"],
			["róng"],
			["huì"]
		],
		"贯朽粟红": [
			["guàn"],
			["xiǔ"],
			["sù"],
			["hóng"]
		],
		"贯盈恶稔": [
			["guàn"],
			["yíng"],
			["è"],
			["rěn"]
		],
		"盥洗室": [
			["guàn"],
			["xǐ"],
			["shì"]
		],
		"灌夫骂座": [
			["guàn"],
			["fū"],
			["mà"],
			["zuò"]
		],
		"灌夫骂坐": [
			["guàn"],
			["fū"],
			["mà"],
			["zuò"]
		],
		"灌溉渠": [
			["guàn"],
			["gài"],
			["qú"]
		],
		"灌米汤": [
			["guàn"],
			["mǐ"],
			["tāng"]
		],
		"光采夺目": [
			["guāng"],
			["cǎi"],
			["duó"],
			["mù"]
		],
		"光车骏马": [
			["guāng"],
			["chē"],
			["jùn"],
			["mǎ"]
		],
		"光导纤维": [
			["guāng"],
			["dǎo"],
			["xiān"],
			["wéi"]
		],
		"光风霁月": [
			["guāng"],
			["fēng"],
			["jì"],
			["yuè"]
		],
		"光杆儿": [
			["guāng"],
			["gǎn"],
			["ér"]
		],
		"光棍儿": [
			["guāng"],
			["gùn"],
			["ér"]
		],
		"光合作用": [
			["guāng"],
			["hé"],
			["zuò"],
			["yòng"]
		],
		"光华夺目": [
			["guāng"],
			["huá"],
			["duó"],
			["mù"]
		],
		"光洁度": [
			["guāng"],
			["jié"],
			["dù"]
		],
		"光可鉴人": [
			["guāng"],
			["kě"],
			["jiàn"],
			["rén"]
		],
		"光溜溜": [
			["guāng"],
			["liū"],
			["liū"]
		],
		"光芒万丈": [
			["guāng"],
			["máng"],
			["wàn"],
			["zhàng"]
		],
		"光明磊落": [
			["guāng"],
			["míng"],
			["lěi"],
			["luò"]
		],
		"光明正大": [
			["guāng"],
			["míng"],
			["zhèng"],
			["dà"]
		],
		"光荣榜": [
			["guāng"],
			["róng"],
			["bǎng"]
		],
		"光天化日": [
			["guāng"],
			["tiān"],
			["huà"],
			["rì"]
		],
		"光纤通信": [
			["guāng"],
			["xiān"],
			["tōng"],
			["xìn"]
		],
		"光焰万丈": [
			["guāng"],
			["yàn"],
			["wàn"],
			["zhàng"]
		],
		"光阴似箭": [
			["guāng"],
			["yīn"],
			["sì"],
			["jiàn"]
		],
		"广播电台": [
			["guǎng"],
			["bō"],
			["diàn"],
			["tái"]
		],
		"广播剧": [
			["guǎng"],
			["bō"],
			["jù"]
		],
		"广播体操": [
			["guǎng"],
			["bō"],
			["tǐ"],
			["cāo"]
		],
		"广播站": [
			["guǎng"],
			["bō"],
			["zhàn"]
		],
		"广东音乐": [
			["guǎng"],
			["dōng"],
			["yīn"],
			["yuè"]
		],
		"广而言之": [
			["guǎng"],
			["ér"],
			["yán"],
			["zhī"]
		],
		"广寒宫": [
			["guǎng"],
			["hán"],
			["gōng"]
		],
		"广寒仙子": [
			["guǎng"],
			["hán"],
			["xiān"],
			["zǐ"]
		],
		"广交会": [
			["guǎng"],
			["jiāo"],
			["huì"]
		],
		"广见洽闻": [
			["guǎng"],
			["jiàn"],
			["qià"],
			["wén"]
		],
		"广角镜头": [
			["guǎng"],
			["jiǎo"],
			["jìng"],
			["tóu"]
		],
		"广结良缘": [
			["guǎng"],
			["jié"],
			["liáng"],
			["yuán"]
		],
		"广开才路": [
			["guǎng"],
			["kāi"],
			["cái"],
			["lù"]
		],
		"广开言路": [
			["guǎng"],
			["kāi"],
			["yán"],
			["lù"]
		],
		"广陵散绝": [
			["guǎng"],
			["líng"],
			["sǎn"],
			["jué"]
		],
		"广譬曲谕": [
			["guǎng"],
			["pì"],
			["qǔ"],
			["yù"]
		],
		"广庭大众": [
			["guǎng"],
			["tíng"],
			["dà"],
			["zhòng"]
		],
		"广土众民": [
			["guǎng"],
			["tǔ"],
			["zhòng"],
			["mín"]
		],
		"广文先生": [
			["guǎng"],
			["wén"],
			["xiān"],
			["sheng"]
		],
		"广夏细旃": [
			["guǎng"],
			["xià"],
			["xì"],
			["zhān"]
		],
		"广厦万间": [
			["guǎng"],
			["shà"],
			["wàn"],
			["jiān"]
		],
		"广义相对论": [
			["guǎng"],
			["yì"],
			["xiāng"],
			["duì"],
			["lùn"]
		],
		"广种薄收": [
			["guǎng"],
			["zhòng"],
			["bó"],
			["shōu"]
		],
		"归根结底": [
			["guī"],
			["gēn"],
			["jié"],
			["dǐ"]
		],
		"归根到底": [
			["guī"],
			["gēn"],
			["dào"],
			["dǐ"]
		],
		"归根结柢": [
			["guī"],
			["gēn"],
			["jié"],
			["dǐ"]
		],
		"归根结蒂": [
			["guī"],
			["gēn"],
			["jié"],
			["dì"]
		],
		"归根究柢": [
			["guī"],
			["gēn"],
			["jiū"],
			["dǐ"]
		],
		"归奇顾怪": [
			["guī"],
			["qí"],
			["gù"],
			["guài"]
		],
		"归邪转曜": [
			["guī"],
			["xié"],
			["zhuǎn"],
			["yào"]
		],
		"归正邱首": [
			["guī"],
			["zhèng"],
			["qiū"],
			["shǒu"]
		],
		"归真反朴": [
			["guī"],
			["zhēn"],
			["fǎn"],
			["pǔ"]
		],
		"归正守丘": [
			["guī"],
			["zhèng"],
			["shǒu"],
			["qiū"]
		],
		"归心似箭": [
			["guī"],
			["xīn"],
			["sì"],
			["jiàn"]
		],
		"归正首丘": [
			["guī"],
			["zhèng"],
			["shǒu"],
			["qiū"]
		],
		"归正首邱": [
			["guī"],
			["zhèng"],
			["shǒu"],
			["qiū"]
		],
		"归之若水": [
			["guī"],
			["zhī"],
			["ruò"],
			["shuǐ"]
		],
		"圭角岸然": [
			["guī"],
			["jiǎo"],
			["àn"],
			["rán"]
		],
		"圭角不露": [
			["guī"],
			["jiǎo"],
			["bù"],
			["lù"]
		],
		"龟鹤遐龄": [
			["guī"],
			["hè"],
			["xiá"],
			["líng"]
		],
		"龟鹤遐寿": [
			["guī"],
			["hè"],
			["xiá"],
			["shòu"]
		],
		"龟冷支床": [
			["guī"],
			["lěng"],
			["zhī"],
			["chuáng"]
		],
		"龟冷搘床": [
			["guī"],
			["lěng"],
			["zhī"],
			["chuáng"]
		],
		"龟龙鳞凤": [
			["guī"],
			["lóng"],
			["lín"],
			["fèng"]
		],
		"龟龄鹤算": [
			["guī"],
			["líng"],
			["hè"],
			["suàn"]
		],
		"龟龙麟凤": [
			["guī"],
			["lóng"],
			["lín"],
			["fèng"]
		],
		"龟毛兔角": [
			["guī"],
			["máo"],
			["tù"],
			["jiǎo"]
		],
		"龟龙片甲": [
			["guī"],
			["lóng"],
			["piàn"],
			["jiǎ"]
		],
		"龟年鹤寿": [
			["guī"],
			["nián"],
			["hè"],
			["shòu"]
		],
		"龟年鹤算": [
			["guī"],
			["nián"],
			["hè"],
			["suàn"]
		],
		"龟厌不告": [
			["guī"],
			["yàn"],
			["bù"],
			["gào"]
		],
		"龟文鸟迹": [
			["guī"],
			["wén"],
			["niǎo"],
			["jì"]
		],
		"龟玉毁椟": [
			["guī"],
			["yù"],
			["huǐ"],
			["dú"]
		],
		"规范化": [
			["guī"],
			["fàn"],
			["huà"]
		],
		"规求无度": [
			["guī"],
			["qiú"],
			["wú"],
			["dù"]
		],
		"规天矩地": [
			["guī"],
			["tiān"],
			["jǔ"],
			["dì"]
		],
		"规行矩步": [
			["guī"],
			["xíng"],
			["jǔ"],
			["bù"]
		],
		"规行矩止": [
			["guī"],
			["xíng"],
			["jǔ"],
			["zhǐ"]
		],
		"规旋矩折": [
			["guī"],
			["xuán"],
			["jǔ"],
			["shé"]
		],
		"规重矩迭": [
			["guī"],
			["zhòng"],
			["jǔ"],
			["dié"]
		],
		"规重矩叠": [
			["guī"],
			["chóng"],
			["jǔ"],
			["dié"]
		],
		"瑰意奇行": [
			["guī"],
			["yì"],
			["qí"],
			["xíng"]
		],
		"瑰意琦行": [
			["guī"],
			["yì"],
			["qí"],
			["xíng"]
		],
		"佹得佹失": [
			["guǐ"],
			["dé"],
			["guǐ"],
			["shī"]
		],
		"佹形僪状": [
			["guǐ"],
			["xíng"],
			["yù"],
			["zhuàng"]
		],
		"诡诞不经": [
			["guǐ"],
			["dàn"],
			["bù"],
			["jīng"]
		],
		"诡秘莫测": [
			["guǐ"],
			["mì"],
			["mò"],
			["cè"]
		],
		"诡形奇制": [
			["guǐ"],
			["xíng"],
			["qí"],
			["zhì"]
		],
		"鬼把戏": [
			["guǐ"],
			["bǎ"],
			["xì"]
		],
		"诡言浮说": [
			["guǐ"],
			["yán"],
			["fú"],
			["shuō"]
		],
		"鬼打墙": [
			["guǐ"],
			["dǎ"],
			["qiáng"]
		],
		"鬼见愁": [
			["guǐ"],
			["jiàn"],
			["chóu"]
		],
		"鬼瞰其室": [
			["guǐ"],
			["kàn"],
			["qí"],
			["shì"]
		],
		"鬼哭神号": [
			["guǐ"],
			["kū"],
			["shén"],
			["hào"]
		],
		"鬼魅伎俩": [
			["guǐ"],
			["mèi"],
			["jì"],
			["liǎng"]
		],
		"鬼怕恶人": [
			["guǐ"],
			["pà"],
			["èr"],
			["én"]
		],
		"鬼神不测": [
			["guǐ"],
			["shén"],
			["bù"],
			["cè"]
		],
		"鬼泣神号": [
			["guǐ"],
			["qì"],
			["shén"],
			["hào"]
		],
		"鬼神莫测": [
			["guǐ"],
			["shén"],
			["mò"],
			["cè"]
		],
		"鬼使神差": [
			["guǐ"],
			["shǐ"],
			["shén"],
			["chāi"]
		],
		"鬼剃头": [
			["guǐ"],
			["tì"],
			["tóu"]
		],
		"鬼头鬼脑": [
			["guǐ"],
			["tóu"],
			["guǐ"],
			["nǎo"]
		],
		"鬼头滑脑": [
			["guǐ"],
			["tóu"],
			["huá"],
			["nǎo"]
		],
		"鬼蜮伎俩": [
			["guǐ"],
			["yù"],
			["jì"],
			["liǎng"]
		],
		"鬼吒狼嚎": [
			["guǐ"],
			["zhà"],
			["láng"],
			["háo"]
		],
		"贵不可言": [
			["guì"],
			["bù"],
			["kě"],
			["yán"]
		],
		"贵不召骄": [
			["guì"],
			["bù"],
			["zhào"],
			["jiāo"]
		],
		"贵不期骄": [
			["guì"],
			["bù"],
			["qī"],
			["jiāo"]
		],
		"贵冠履轻头足": [
			["guì"],
			["guān"],
			["lǚ"],
			["qīng"],
			["tóu"],
			["zú"]
		],
		"贵金属": [
			["guì"],
			["jīn"],
			["shǔ"]
		],
		"贵少贱老": [
			["guì"],
			["shǎo"],
			["jiàn"],
			["lǎo"]
		],
		"贵远鄙近": [
			["guì"],
			["yuǎn"],
			["bǐ"],
			["jìn"]
		],
		"贵远贱近": [
			["guì"],
			["yuǎn"],
			["jiàn"],
			["jìn"]
		],
		"贵在知心": [
			["guì"],
			["zài"],
			["zhī"],
			["xīn"]
		],
		"桂酒椒浆": [
			["guì"],
			["jiǔ"],
			["jiāo"],
			["jiāng"]
		],
		"桂林一枝": [
			["guì"],
			["lín"],
			["yī"],
			["zhī"]
		],
		"桂玉之地": [
			["guì"],
			["yù"],
			["zhī"],
			["dì"]
		],
		"桂折兰摧": [
			["guì"],
			["shé"],
			["lán"],
			["cuī"]
		],
		"桂折一枝": [
			["guì"],
			["shé"],
			["yī"],
			["zhī"]
		],
		"桂枝片玉": [
			["guì"],
			["zhī"],
			["piàn"],
			["yù"]
		],
		"滚动轴承": [
			["gǔn"],
			["dòng"],
			["zhóu"],
			["chéng"]
		],
		"桂子兰孙": [
			["guì"],
			["zǐ"],
			["lán"],
			["sūn"]
		],
		"滚珠轴承": [
			["gǔn"],
			["zhū"],
			["zhóu"],
			["chéng"]
		],
		"滚柱轴承": [
			["gǔn"],
			["zhù"],
			["zhóu"],
			["chéng"]
		],
		"棍儿茶": [
			["gùn"],
			["ér"],
			["chá"]
		],
		"国步艰难": [
			["guó"],
			["bù"],
			["jiān"],
			["nán"]
		],
		"国仇家恨": [
			["guó"],
			["chóu"],
			["jiā"],
			["hèn"]
		],
		"国而忘家": [
			["guó"],
			["ér"],
			["wàng"],
			["jiā"]
		],
		"国尔忘家": [
			["guó"],
			["ěr"],
			["wàng"],
			["jiā"]
		],
		"国耳忘家": [
			["guó"],
			["ěr"],
			["wàng"],
			["jiā"]
		],
		"国富兵强": [
			["guó"],
			["fù"],
			["bīng"],
			["qiáng"]
		],
		"国富民强": [
			["guó"],
			["fù"],
			["mín"],
			["qiáng"]
		],
		"国际单位制": [
			["guó"],
			["jì"],
			["dān"],
			["wèi"],
			["zhì"]
		],
		"国际儿童节": [
			["guó"],
			["jì"],
			["ér"],
			["tóng"],
			["jié"]
		],
		"国际妇女节": [
			["guó"],
			["jì"],
			["fù"],
			["nǚ"],
			["jié"]
		],
		"国际复兴开发银行": [
			["guó"],
			["jì"],
			["fù"],
			["xīng"],
			["kāi"],
			["fā"],
			["yín"],
			["háng"]
		],
		"国际劳动节": [
			["guó"],
			["jì"],
			["láo"],
			["dòng"],
			["jié"]
		],
		"国家栋梁": [
			["guó"],
			["jiā"],
			["dòng"],
			["liáng"]
		],
		"国家机关": [
			["guó"],
			["jiā"],
			["jī"],
			["guān"]
		],
		"国家机器": [
			["guó"],
			["jiā"],
			["jī"],
			["qì"]
		],
		"国家资本主义": [
			["guó"],
			["jiā"],
			["zī"],
			["běn"],
			["zhǔ"],
			["yì"]
		],
		"国将不国": [
			["guó"],
			["jiāng"],
			["bù"],
			["guó"]
		],
		"国库券": [
			["guó"],
			["kù"],
			["quàn"]
		],
		"国民经济": [
			["guó"],
			["mín"],
			["jīng"],
			["jì"]
		],
		"国难当头": [
			["guó"],
			["nàn"],
			["dāng"],
			["tóu"]
		],
		"国破家亡": [
			["guó"],
			["pò"],
			["jiā"],
			["wáng"]
		],
		"国庆节": [
			["guó"],
			["qìng"],
			["jié"]
		],
		"国统区": [
			["guó"],
			["tǒng"],
			["qū"]
		],
		"国无宁日": [
			["guó"],
			["wú"],
			["níng"],
			["rì"]
		],
		"国营经济": [
			["guó"],
			["yíng"],
			["jīng"],
			["jì"]
		],
		"国有化": [
			["guó"],
			["yǒu"],
			["huà"]
		],
		"国之干城": [
			["guó"],
			["zhī"],
			["gān"],
			["chéng"]
		],
		"国子监": [
			["guó"],
			["zǐ"],
			["jiàn"]
		],
		"果不其然": [
			["guǒ"],
			["bù"],
			["qí"],
			["rán"]
		],
		"果熟蒂落": [
			["guǒ"],
			["shú"],
			["dì"],
			["luò"]
		],
		"果行育德": [
			["guǒ"],
			["xíng"],
			["yù"],
			["dé"]
		],
		"果刑信赏": [
			["guǒ"],
			["xíng"],
			["xìn"],
			["shǎng"]
		],
		"果于自信": [
			["guǒ"],
			["yú"],
			["zì"],
			["xìn"]
		],
		"果子露": [
			["guǒ"],
			["zǐ"],
			["lù"]
		],
		"裹血力战": [
			["guǒ"],
			["xuè"],
			["lì"],
			["zhàn"]
		],
		"裹足不前": [
			["guǒ"],
			["zú"],
			["bù"],
			["qián"]
		],
		"过半数": [
			["guò"],
			["bàn"],
			["shù"]
		],
		"过不去": [
			["guò"],
			["bù"],
			["qù"]
		],
		"过从甚密": [
			["guò"],
			["cóng"],
			["shèn"],
			["mì"]
		],
		"过得硬": [
			["guò"],
			["de"],
			["yìng"]
		],
		"过得去": [
			["guò"],
			["děi"],
			["qù"]
		],
		"过电影": [
			["guò"],
			["diàn"],
			["yǐng"]
		],
		"过冬作物": [
			["guò"],
			["dōng"],
			["zuò"],
			["wù"]
		],
		"过都历块": [
			["guò"],
			["dū"],
			["lì"],
			["kuài"]
		],
		"过而能改": [
			["guò"],
			["ér"],
			["néng"],
			["gǎi"]
		],
		"过府冲州": [
			["guò"],
			["fǔ"],
			["chōng"],
			["zhōu"]
		],
		"过河拆桥": [
			["guò"],
			["hé"],
			["chāi"],
			["qiáo"]
		],
		"过关斩将": [
			["guò"],
			["guān"],
			["zhǎn"],
			["jiàng"]
		],
		"过河卒子": [
			["guò"],
			["hé"],
			["zú"],
			["zǐ"]
		],
		"过化存神": [
			["guò"],
			["huà"],
			["cún"],
			["shén"]
		],
		"过家家": [
			["guō"],
			["jiā"],
			["jiā"]
		],
		"过江之鲫": [
			["guò"],
			["jiāng"],
			["zhī"],
			["jì"]
		],
		"过街老鼠": [
			["guò"],
			["jiē"],
			["lǎo"],
			["shǔ"]
		],
		"过街天桥": [
			["guò"],
			["jiē"],
			["tiān"],
			["qiáo"]
		],
		"过街楼": [
			["guò"],
			["jiē"],
			["lóu"]
		],
		"过节儿": [
			["guò"],
			["jié"],
			["ér"]
		],
		"过来人": [
			["guò"],
			["lái"],
			["rén"]
		],
		"过磷酸钙": [
			["guò"],
			["lín"],
			["suān"],
			["gài"]
		],
		"过滤嘴": [
			["guò"],
			["lǜ"],
			["zuǐ"]
		],
		"过路财神": [
			["guò"],
			["lù"],
			["cái"],
			["shén"]
		],
		"过门不入": [
			["guò"],
			["mén"],
			["bù"],
			["rù"]
		],
		"过目不忘": [
			["guò"],
			["mù"],
			["bù"],
			["wàng"]
		],
		"过目成诵": [
			["guò"],
			["mù"],
			["chéng"],
			["sòng"]
		],
		"过桥拆桥": [
			["guò"],
			["qiáo"],
			["chāi"],
			["qiáo"]
		],
		"过桥抽板": [
			["guò"],
			["qiáo"],
			["chōu"],
			["bǎn"]
		],
		"过日子": [
			["guò"],
			["rì"],
			["zi"]
		],
		"过生日": [
			["guò"],
			["shēng"],
			["rì"]
		],
		"过甚其辞": [
			["guò"],
			["shèn"],
			["qí"],
			["cí"]
		],
		"过甚其词": [
			["guò"],
			["shèn"],
			["qí"],
			["cí"]
		],
		"过失杀人": [
			["guò"],
			["shī"],
			["shā"],
			["rén"]
		],
		"过时黄花": [
			["guò"],
			["shí"],
			["huáng"],
			["huā"]
		],
		"过市招摇": [
			["guò"],
			["shì"],
			["zhāo"],
			["yáo"]
		],
		"过堂风": [
			["guò"],
			["táng"],
			["fēng"]
		],
		"过水面": [
			["guò"],
			["shuǐ"],
			["miàn"]
		],
		"过庭之训": [
			["guò"],
			["tíng"],
			["zhī"],
			["xùn"]
		],
		"过屠大嚼": [
			["guò"],
			["tú"],
			["dà"],
			["jué"]
		],
		"过屠门而大嚼": [
			["guò"],
			["tú"],
			["mén"],
			["ér"],
			["dà"],
			["jiáo"]
		],
		"过为已甚": [
			["guò"],
			["wéi"],
			["yǐ"],
			["shèn"]
		],
		"过五关": [
			["guò"],
			["wǔ"],
			["guān"]
		],
		"过五关斩六将": [
			["guò"],
			["wǔ"],
			["guān"],
			["zhǎn"],
			["liù"],
			["jiàng"]
		],
		"过隙白驹": [
			["guò"],
			["xī"],
			["bái"],
			["jū"]
		],
		"过眼云烟": [
			["guò"],
			["yǎn"],
			["yún"],
			["yān"]
		],
		"过眼烟云": [
			["guò"],
			["yǎn"],
			["yān"],
			["yún"]
		],
		"过意不去": [
			["guò"],
			["yì"],
			["bù"],
			["qù"]
		],
		"过犹不及": [
			["guò"],
			["yóu"],
			["bù"],
			["jí"]
		],
		"哈巴狗": [
			["hǎ"],
			["bā"],
			["gǒu"]
		],
		"哈尔滨": [
			["hā"],
			["ěr"],
			["bīn"]
		],
		"哈哈镜": [
			["hā"],
			["hā"],
			["jìng"]
		],
		"哈喇子": [
			["hā"],
			["lǎ"],
			["zǐ"]
		],
		"哈雷彗星": [
			["hā"],
			["léi"],
			["huì"],
			["xīng"]
		],
		"哈密瓜": [
			["hā"],
			["mì"],
			["guā"]
		],
		"哈尼族": [
			["hā"],
			["ní"],
			["zú"]
		],
		"哈萨克斯坦": [
			["hā"],
			["sà"],
			["kè"],
			["sī"],
			["tǎn"]
		],
		"哈萨克族": [
			["hā"],
			["sà"],
			["kè"],
			["zú"]
		],
		"孩子头": [
			["hái"],
			["zi"],
			["tóu"]
		],
		"孩子王": [
			["hái"],
			["zi"],
			["wáng"]
		],
		"海不波溢": [
			["hǎi"],
			["bù"],
			["bō"],
			["yì"]
		],
		"海北天南": [
			["hǎi"],
			["běi"],
			["tiān"],
			["nán"]
		],
		"海参崴": [
			["hǎi"],
			["shēn"],
			["wēi"]
		],
		"海不扬波": [
			["hǎi"],
			["bù"],
			["yáng"],
			["bō"]
		],
		"海德堡大学": [
			["hǎi"],
			["dé"],
			["pù"],
			["dà"],
			["xué"]
		],
		"海底捞月": [
			["hǎi"],
			["dǐ"],
			["lāo"],
			["yuè"]
		],
		"海底捞针": [
			["hǎi"],
			["dǐ"],
			["lāo"],
			["zhēn"]
		],
		"海沸山裂": [
			["hǎi"],
			["fèi"],
			["shān"],
			["liè"]
		],
		"海涵地负": [
			["hǎi"],
			["hán"],
			["dì"],
			["fù"]
		],
		"海涸石烂": [
			["hǎi"],
			["hé"],
			["shí"],
			["làn"]
		],
		"海角天涯": [
			["hǎi"],
			["jiǎo"],
			["tiān"],
			["yá"]
		],
		"海角天隅": [
			["hǎi"],
			["jiǎo"],
			["tiān"],
			["yú"]
		],
		"海军航空兵": [
			["hǎi"],
			["jūn"],
			["háng"],
			["kōng"],
			["bīng"]
		],
		"海枯见底": [
			["hǎi"],
			["kū"],
			["jiàn"],
			["dǐ"]
		],
		"海枯石烂": [
			["hǎi"],
			["kū"],
			["shí"],
			["làn"]
		],
		"海阔天空": [
			["hǎi"],
			["kuò"],
			["tiān"],
			["kōng"]
		],
		"海内鼎沸": [
			["hǎi"],
			["nèi"],
			["dǐng"],
			["fèi"]
		],
		"海内无双": [
			["hǎi"],
			["nèi"],
			["wú"],
			["shuāng"]
		],
		"海南岛": [
			["hǎi"],
			["nán"],
			["dǎo"]
		],
		"海南省": [
			["hǎi"],
			["nán"],
			["shěng"]
		],
		"海水不可斗量": [
			["hǎi"],
			["shuǐ"],
			["bù"],
			["kě"],
			["dǒu"],
			["liáng"]
		],
		"海水难量": [
			["hǎi"],
			["shuǐ"],
			["nán"],
			["liáng"]
		],
		"海外关系": [
			["hǎi"],
			["wài"],
			["guān"],
			["xì"]
		],
		"海外奇谈": [
			["hǎi"],
			["wài"],
			["qí"],
			["tán"]
		],
		"海王星": [
			["hǎi"],
			["wáng"],
			["xīng"]
		],
		"海涯天角": [
			["hǎi"],
			["yá"],
			["tiān"],
			["jiǎo"]
		],
		"海约山盟": [
			["hǎi"],
			["yuē"],
			["shān"],
			["méng"]
		],
		"海中捞月": [
			["hǎi"],
			["zhōng"],
			["lāo"],
			["yuè"]
		],
		"亥豕相望": [
			["hài"],
			["shǐ"],
			["xiāng"],
			["wàng"]
		],
		"骇龙走蛇": [
			["hài"],
			["lóng"],
			["zǒu"],
			["shé"]
		],
		"骇人闻见": [
			["hài"],
			["rén"],
			["wén"],
			["jiàn"]
		],
		"害人不浅": [
			["hài"],
			["rén"],
			["bù"],
			["qiǎn"]
		],
		"酣畅淋漓": [
			["hān"],
			["chàng"],
			["lín"],
			["lí"]
		],
		"酣痛淋漓": [
			["hān"],
			["tòng"],
			["lín"],
			["lí"]
		],
		"酣嬉淋漓": [
			["hān"],
			["xī"],
			["lín"],
			["lí"]
		],
		"憨状可掬": [
			["hān"],
			["zhuàng"],
			["kě"],
			["jū"]
		],
		"含苞待放": [
			["hán"],
			["bāo"],
			["dài"],
			["fàng"]
		],
		"含齿戴发": [
			["hán"],
			["chǐ"],
			["dài"],
			["fā"]
		],
		"含宫咀征": [
			["hán"],
			["gōng"],
			["jǔ"],
			["zhēng"]
		],
		"含宫咀徵": [
			["hán"],
			["gōng"],
			["jǔ"],
			["zhēng"]
		],
		"含垢藏瑕": [
			["hán"],
			["gòu"],
			["cáng"],
			["xiá"]
		],
		"含垢藏疾": [
			["hán"],
			["gǒu"],
			["cáng"],
			["jí"]
		],
		"含含糊糊": [
			["hán"],
			["hán"],
			["hu"],
			["hū"]
		],
		"含糊不明": [
			["hán"],
			["hú"],
			["bù"],
			["míng"]
		],
		"含糊其词": [
			["hán"],
			["hú"],
			["qí"],
			["cí"]
		],
		"含糊其辞": [
			["hán"],
			["hú"],
			["qí"],
			["cí"]
		],
		"含菁咀华": [
			["hán"],
			["jīng"],
			["jǔ"],
			["huá"]
		],
		"含明隐迹": [
			["hán"],
			["míng"],
			["yǐn"],
			["jì"]
		],
		"含蓼问疾": [
			["hán"],
			["liǎo"],
			["wèn"],
			["jí"]
		],
		"含情脉脉": [
			["hán"],
			["qíng"],
			["mò"],
			["mò"]
		],
		"含沙射影": [
			["hán"],
			["shā"],
			["shè"],
			["yǐng"]
		],
		"含商咀徵": [
			["hán"],
			["shāng"],
			["jǔ"],
			["zhēng"]
		],
		"含商咀征": [
			["hán"],
			["shāng"],
			["jǔ"],
			["zhēng"]
		],
		"含水量": [
			["hán"],
			["shuǐ"],
			["liàng"]
		],
		"含血喷人": [
			["hán"],
			["xuè"],
			["pēn"],
			["rén"]
		],
		"含血噀人": [
			["hán"],
			["xuè"],
			["xùn"],
			["rén"]
		],
		"含血潠人": [
			["hán"],
			["xuè"],
			["xùn"],
			["rén"]
		],
		"含牙戴角": [
			["hán"],
			["yá"],
			["dài"],
			["jiǎo"]
		],
		"含牙带角": [
			["hán"],
			["yá"],
			["dài"],
			["jiǎo"]
		],
		"含笑入地": [
			["hán"],
			["xiào"],
			["rù"],
			["dì"]
		],
		"含饴弄孙": [
			["hán"],
			["yí"],
			["nòng"],
			["sūn"]
		],
		"含英咀华": [
			["hán"],
			["yīng"],
			["jǔ"],
			["huá"]
		],
		"含冤莫白": [
			["hán"],
			["yuān"],
			["mò"],
			["bái"]
		],
		"含着骨头露着肉": [
			["hán"],
			["zhe"],
			["gǔ"],
			["tóu"],
			["lù"],
			["zhe"],
			["ròu"]
		],
		"邯郸重步": [
			["hán"],
			["dān"],
			["zhóng"],
			["bù"]
		],
		"函盖充周": [
			["hán"],
			["gài"],
			["chōng"],
			["zhōu"]
		],
		"函盖乾坤": [
			["hán"],
			["gài"],
			["qián"],
			["kūn"]
		],
		"函矢相攻": [
			["hán"],
			["shǐ"],
			["xiāng"],
			["gōng"]
		],
		"函授学校": [
			["hán"],
			["shòu"],
			["xué"],
			["xiào"]
		],
		"函授大学": [
			["hán"],
			["shòu"],
			["dà"],
			["xué"]
		],
		"寒蝉凄切": [
			["hán"],
			["chán"],
			["qī"],
			["qiè"]
		],
		"寒冬腊月": [
			["hán"],
			["dōng"],
			["là"],
			["yuè"]
		],
		"寒风侵肌": [
			["hán"],
			["fēng"],
			["qīn"],
			["jī"]
		],
		"寒腹短识": [
			["hán"],
			["fù"],
			["duǎn"],
			["shí"]
		],
		"寒花晚节": [
			["hán"],
			["huā"],
			["wǎn"],
			["jié"]
		],
		"寒木春华": [
			["hán"],
			["mù"],
			["chūn"],
			["huá"]
		],
		"寒灰更然": [
			["hán"],
			["huī"],
			["gèng"],
			["rán"]
		],
		"寒泉之思": [
			["hán"],
			["quán"],
			["zhī"],
			["sī"]
		],
		"寒暑假": [
			["hán"],
			["shǔ"],
			["jià"]
		],
		"寒武纪": [
			["hán"],
			["wǔ"],
			["jì"]
		],
		"寒酸落魄": [
			["hán"],
			["suān"],
			["luò"],
			["pò"]
		],
		"韩潮苏海": [
			["hán"],
			["cháo"],
			["sū"],
			["hǎi"]
		],
		"韩海苏潮": [
			["hán"],
			["hǎi"],
			["sū"],
			["cháo"]
		],
		"韩寿分香": [
			["hán"],
			["shòu"],
			["fēn"],
			["xiāng"]
		],
		"罕言寡语": [
			["hǎn"],
			["yán"],
			["guǎ"],
			["yǔ"]
		],
		"汉堡包": [
			["hàn"],
			["pù"],
			["bāo"]
		],
		"汉白玉石": [
			["hàn"],
			["bái"],
			["yù"],
			["shí"]
		],
		"汉学家": [
			["hàn"],
			["xué"],
			["jiā"]
		],
		"汉语拼音方案": [
			["hàn"],
			["yǔ"],
			["pīn"],
			["yīn"],
			["fāng"],
			["àn"]
		],
		"汉贼不两立": [
			["hàn"],
			["zéi"],
			["bù"],
			["liǎng"],
			["lì"]
		],
		"扞格不入": [
			["hàn"],
			["gé"],
			["bù"],
			["rù"]
		],
		"汗涔涔": [
			["hàn"],
			["cén"],
			["cén"]
		],
		"汗不敢出": [
			["hàn"],
			["bù"],
			["gǎn"],
			["chū"]
		],
		"汗背心": [
			["hàn"],
			["bèi"],
			["xīn"]
		],
		"汗出浃背": [
			["hàn"],
			["chū"],
			["jiā"],
			["bèi"]
		],
		"汗出洽背": [
			["hàn"],
			["chū"],
			["qià"],
			["bèi"]
		],
		"汗淋淋": [
			["hàn"],
			["lín"],
			["lín"]
		],
		"汗津津": [
			["hàn"],
			["jīn"],
			["jīn"]
		],
		"汗褂儿": [
			["hàn"],
			["guà"],
			["er"]
		],
		"汗流夹背": [
			["hàn"],
			["liú"],
			["jiā"],
			["bèi"]
		],
		"汗流浃背": [
			["hàn"],
			["liú"],
			["jiā"],
			["bèi"]
		],
		"汗流浃肤": [
			["hàn"],
			["liú"],
			["jiā"],
			["fū"]
		],
		"汗流浃体": [
			["hàn"],
			["liú"],
			["jiā"],
			["tǐ"]
		],
		"汗流浃踵": [
			["hàn"],
			["liú"],
			["jiā"],
			["zhǒng"]
		],
		"汗流满面": [
			["hàn"],
			["liú"],
			["mǎn"],
			["miàn"]
		],
		"汗流接踵": [
			["hàn"],
			["liú"],
			["jiē"],
			["zhǒng"]
		],
		"汗流洽背": [
			["hàn"],
			["liú"],
			["qià"],
			["bèi"]
		],
		"汗流洽衣": [
			["hàn"],
			["liú"],
			["qià"],
			["yī"]
		],
		"汗流至踵": [
			["hàn"],
			["liú"],
			["zhì"],
			["zhǒng"]
		],
		"汗马功劳": [
			["hàn"],
			["mǎ"],
			["gōng"],
			["láo"]
		],
		"汗马之劳": [
			["hàn"],
			["mǎ"],
			["zhī"],
			["láo"]
		],
		"汗马之功": [
			["hàn"],
			["mǎ"],
			["zhī"],
			["gōng"]
		],
		"汗牛充栋": [
			["hàn"],
			["niú"],
			["chōng"],
			["dòng"]
		],
		"汗牛充屋": [
			["hàn"],
			["niú"],
			["chōng"],
			["wū"]
		],
		"汗牛塞栋": [
			["hàn"],
			["niú"],
			["sāi"],
			["dòng"]
		],
		"汗洽股栗": [
			["hàn"],
			["qià"],
			["gǔ"],
			["lì"]
		],
		"汗青头白": [
			["hàn"],
			["qīng"],
			["tóu"],
			["bái"]
		],
		"汗如雨下": [
			["hàn"],
			["rú"],
			["yǔ"],
			["xià"]
		],
		"汗血盐车": [
			["hàn"],
			["xuè"],
			["yán"],
			["chē"]
		],
		"汗颜无地": [
			["hàn"],
			["yán"],
			["wú"],
			["dì"]
		],
		"汗渍渍": [
			["hàn"],
			["zì"],
			["zì"]
		],
		"旱魃为虐": [
			["hàn"],
			["bá"],
			["wèi"],
			["nüè"]
		],
		"旱冰场": [
			["hàn"],
			["bīng"],
			["chǎng"]
		],
		"旱苗得雨": [
			["hàn"],
			["miáo"],
			["dé"],
			["yǔ"]
		],
		"悍然不顾": [
			["hàn"],
			["rán"],
			["bù"],
			["gù"]
		],
		"熯天炽地": [
			["hàn"],
			["tiān"],
			["chì"],
			["dì"]
		],
		"撼地摇天": [
			["hàn"],
			["dì"],
			["yáo"],
			["tiān"]
		],
		"撼天动地": [
			["hàn"],
			["tiān"],
			["dòng"],
			["dì"]
		],
		"撼天震地": [
			["hàn"],
			["tiān"],
			["zhèn"],
			["dì"]
		],
		"航空港": [
			["háng"],
			["kōng"],
			["gǎng"]
		],
		"航空母舰": [
			["háng"],
			["kōng"],
			["mǔ"],
			["jiàn"]
		],
		"航空信": [
			["háng"],
			["kōng"],
			["xìn"]
		],
		"毫不讳言": [
			["háo"],
			["bù"],
			["huì"],
			["yán"]
		],
		"毫不介意": [
			["háo"],
			["bù"],
			["jiè"],
			["yì"]
		],
		"毫发不爽": [
			["háo"],
			["fà"],
			["bù"],
			["shuǎng"]
		],
		"毫分缕析": [
			["háo"],
			["fēn"],
			["lǚ"],
			["xī"]
		],
		"毫发丝粟": [
			["háo"],
			["fā"],
			["sī"],
			["sù"]
		],
		"毫毛不犯": [
			["háo"],
			["máo"],
			["bù"],
			["fàn"]
		],
		"毫厘不爽": [
			["háo"],
			["lí"],
			["bù"],
			["shuǎng"]
		],
		"毫无疑义": [
			["háo"],
			["wú"],
			["yí"],
			["yì"]
		],
		"豪放不羁": [
			["háo"],
			["fàng"],
			["bù"],
			["jī"]
		],
		"豪干暴取": [
			["háo"],
			["gàn"],
			["bào"],
			["qǔ"]
		],
		"豪横跋扈": [
			["háo"],
			["héng"],
			["bá"],
			["hù"]
		],
		"豪迈不群": [
			["háo"],
			["mài"],
			["bù"],
			["qún"]
		],
		"豪取智笼": [
			["háo"],
			["qǔ"],
			["zhì"],
			["lóng"]
		],
		"豪商巨贾": [
			["háo"],
			["shāng"],
			["jù"],
			["jiǎ"]
		],
		"豪言壮语": [
			["háo"],
			["yán"],
			["zhuàng"],
			["yǔ"]
		],
		"嚎天动地": [
			["háo"],
			["tiān"],
			["dòng"],
			["dì"]
		],
		"嚎啕大哭": [
			["háo"],
			["táo"],
			["dà"],
			["kū"]
		],
		"濠梁之上": [
			["háo"],
			["liáng"],
			["zhī"],
			["shàng"]
		],
		"嚎天喊地": [
			["háo"],
			["tiān"],
			["hǎn"],
			["dì"]
		],
		"好不好": [
			["hǎo"],
			["bù"],
			["hǎo"]
		],
		"好吃懒做": [
			["hào"],
			["chī"],
			["lǎn"],
			["zuò"]
		],
		"好大喜功": [
			["hào"],
			["dà"],
			["xǐ"],
			["gōng"]
		],
		"好戴高帽": [
			["hǎo"],
			["dài"],
			["gāo"],
			["mào"]
		],
		"好端端": [
			["hǎo"],
			["duān"],
			["duān"]
		],
		"好丹非素": [
			["hào"],
			["dān"],
			["fēi"],
			["sù"]
		],
		"好恶不同": [
			["hǎo"],
			["è"],
			["bù"],
			["tóng"]
		],
		"好高骛远": [
			["hào"],
			["gāo"],
			["wù"],
			["yuǎn"]
		],
		"好高鹜远": [
			["hǎo"],
			["gāo"],
			["wù"],
			["yuǎn"]
		],
		"好管闲事": [
			["hǎo"],
			["guǎn"],
			["xián"],
			["shì"]
		],
		"好汉不吃眼前亏": [
			["hǎo"],
			["hàn"],
			["bù"],
			["chī"],
			["yǎn"],
			["qián"],
			["kuī"]
		],
		"好好先生": [
			["hǎo"],
			["hǎo"],
			["xiān"],
			["shēng"]
		],
		"好好儿": [
			["hǎo"],
			["hǎo"],
			["ér"]
		],
		"好极了": [
			["hǎo"],
			["jí"],
			["le"]
		],
		"好家伙": [
			["hǎo"],
			["jiā"],
			["huo"]
		],
		"好景不常": [
			["hǎo"],
			["jǐng"],
			["bù"],
			["cháng"]
		],
		"好酒贪杯": [
			["hào"],
			["jiǔ"],
			["tān"],
			["bēi"]
		],
		"好来好去": [
			["hǎo"],
			["lái"],
			["hǎo"],
			["qù"]
		],
		"好景不长": [
			["hǎo"],
			["jǐng"],
			["bù"],
			["cháng"]
		],
		"好莱坞": [
			["hǎo"],
			["lái"],
			["wù"]
		],
		"好离好散": [
			["hǎo"],
			["lí"],
			["hǎo"],
			["sàn"]
		],
		"好了疮疤忘了痛": [
			["hǎo"],
			["le"],
			["chuāng"],
			["bā"],
			["wàng"],
			["le"],
			["tòng"]
		],
		"好梦不长": [
			["hǎo"],
			["mèng"],
			["bù"],
			["cháng"]
		],
		"好梦难成": [
			["hǎo"],
			["mèng"],
			["nán"],
			["chéng"]
		],
		"好梦难圆": [
			["hǎo"],
			["mèng"],
			["nán"],
			["yuán"]
		],
		"好模好样": [
			["hǎo"],
			["mó"],
			["hǎo"],
			["yàng"]
		],
		"好谋善断": [
			["hào"],
			["móu"],
			["shàn"],
			["duàn"]
		],
		"好女不穿嫁时衣": [
			["hǎo"],
			["nǚ"],
			["bù"],
			["chuān"],
			["jià"],
			["shí"],
			["yī"]
		],
		"好奇尚异": [
			["hǎo"],
			["qí"],
			["shàng"],
			["yì"]
		],
		"好奇心": [
			["hào"],
			["qí"],
			["xīn"]
		],
		"好骑者堕": [
			["hào"],
			["qí"],
			["zhě"],
			["duò"]
		],
		"好人家": [
			["hǎo"],
			["rén"],
			["jiā"]
		],
		"好日子": [
			["hǎo"],
			["rì"],
			["zi"]
		],
		"好容易": [
			["hǎo"],
			["róng"],
			["yì"]
		],
		"好肉剜疮": [
			["hǎo"],
			["ròu"],
			["wān"],
			["chuāng"]
		],
		"好色之徒": [
			["hào"],
			["sè"],
			["zhī"],
			["tú"]
		],
		"好善恶恶": [
			["hǎo"],
			["shàn"],
			["wù"],
			["è"]
		],
		"好善嫉恶": [
			["hǎo"],
			["shàn"],
			["jí"],
			["è"]
		],
		"好善乐施": [
			["hào"],
			["shàn"],
			["lè"],
			["shī"]
		],
		"好身手": [
			["hǎo"],
			["shēn"],
			["shǒu"]
		],
		"好生之德": [
			["hào"],
			["shēng"],
			["zhī"],
			["dé"]
		],
		"好声好气": [
			["hǎo"],
			["shēng"],
			["hǎo"],
			["qì"]
		],
		"好事多磨": [
			["hǎo"],
			["shì"],
			["duō"],
			["mó"]
		],
		"好事多悭": [
			["hǎo"],
			["shì"],
			["duō"],
			["qiān"]
		],
		"好事天悭": [
			["hǎo"],
			["shì"],
			["tiān"],
			["qiān"]
		],
		"好事之徒": [
			["hào"],
			["shì"],
			["zhī"],
			["tú"]
		],
		"好说歹说": [
			["hǎo"],
			["shuō"],
			["dǎi"],
			["shuō"]
		],
		"好说话": [
			["hǎo"],
			["shuō"],
			["huà"]
		],
		"好天良夜": [
			["hǎo"],
			["tiān"],
			["liáng"],
			["yè"]
		],
		"好玩儿": [
			["hǎo"],
			["wán"],
			["ér"]
		],
		"好望角": [
			["hǎo"],
			["wàng"],
			["jiǎo"]
		],
		"好为人师": [
			["hào"],
			["wéi"],
			["rén"],
			["shī"]
		],
		"好问决疑": [
			["hào"],
			["wèn"],
			["jué"],
			["yí"]
		],
		"好为事端": [
			["hào"],
			["wéi"],
			["shì"],
			["duān"]
		],
		"好问则裕": [
			["hào"],
			["wèn"],
			["zé"],
			["yù"]
		],
		"好消息": [
			["hǎo"],
			["xiāo"],
			["xī"]
		],
		"好心好意": [
			["hǎo"],
			["xīn"],
			["hǎo"],
			["yì"]
		],
		"好心做了驴肝肺": [
			["hǎo"],
			["xīn"],
			["zuò"],
			["le"],
			["lǘ"],
			["gān"],
			["fèi"]
		],
		"好行小惠": [
			["hào"],
			["xíng"],
			["xiǎo"],
			["huì"]
		],
		"好行小慧": [
			["hǎo"],
			["xíng"],
			["xiǎo"],
			["huì"]
		],
		"好学不倦": [
			["hào"],
			["xué"],
			["bù"],
			["juàn"]
		],
		"好言好语": [
			["hǎo"],
			["yán"],
			["hǎo"],
			["yǔ"]
		],
		"好佚恶劳": [
			["hǎo"],
			["yì"],
			["wù"],
			["láo"]
		],
		"好意思": [
			["hǎo"],
			["yì"],
			["sī"]
		],
		"好逸恶劳": [
			["hào"],
			["yì"],
			["wù"],
			["láo"]
		],
		"好勇斗狠": [
			["hào"],
			["yǒng"],
			["dòu"],
			["hěn"]
		],
		"好语如珠": [
			["hǎo"],
			["yǔ"],
			["rú"],
			["zhū"]
		],
		"好语似珠": [
			["hǎo"],
			["yǔ"],
			["sì"],
			["zhū"]
		],
		"好整以暇": [
			["hào"],
			["zhěng"],
			["yǐ"],
			["xiá"]
		],
		"好自为之": [
			["hào"],
			["zì"],
			["wéi"],
			["zhī"]
		],
		"号寒啼饥": [
			["háo"],
			["hán"],
			["tí"],
			["jī"]
		],
		"号令如山": [
			["hào"],
			["lìng"],
			["rú"],
			["shān"]
		],
		"号码机": [
			["hào"],
			["mǎ"],
			["jī"]
		],
		"号咷大哭": [
			["háo"],
			["táo"],
			["dà"],
			["kū"]
		],
		"号啕大哭": [
			["háo"],
			["táo"],
			["dà"],
			["kū"]
		],
		"号天扣地": [
			["hào"],
			["tiān"],
			["kòu"],
			["dì"]
		],
		"号志灯": [
			["hào"],
			["zhì"],
			["dēng"]
		],
		"昊天不吊": [
			["hào"],
			["tiān"],
			["bù"],
			["diào"]
		],
		"浩浩汤汤": [
			["hào"],
			["hào"],
			["shāng"],
			["shāng"]
		],
		"浩气长存": [
			["hào"],
			["qì"],
			["cháng"],
			["cún"]
		],
		"皓齿蛾眉": [
			["hào"],
			["chǐ"],
			["é"],
			["méi"]
		],
		"诃佛诋巫": [
			["hē"],
			["fó"],
			["dǐ"],
			["wū"]
		],
		"呵佛骂祖": [
			["hē"],
			["fó"],
			["mà"],
			["zǔ"]
		],
		"呵壁问天": [
			["hē"],
			["bì"],
			["wèn"],
			["tiān"]
		],
		"呵欠连天": [
			["hē"],
			["qiàn"],
			["lián"],
			["tiān"]
		],
		"喝倒彩": [
			["hè"],
			["dào"],
			["cǎi"]
		],
		"喝墨水": [
			["hē"],
			["mò"],
			["shuǐ"]
		],
		"喝西北风": [
			["hē"],
			["xī"],
			["běi"],
			["fēng"]
		],
		"合不来": [
			["hé"],
			["bù"],
			["lái"]
		],
		"合并症": [
			["hé"],
			["bìng"],
			["zhèng"]
		],
		"合成词": [
			["hé"],
			["chéng"],
			["cí"]
		],
		"合成革": [
			["hé"],
			["chéng"],
			["gé"]
		],
		"合成纤维": [
			["hé"],
			["chéng"],
			["xiān"],
			["wéi"]
		],
		"合成橡胶": [
			["hé"],
			["chéng"],
			["xiàng"],
			["jiāo"]
		],
		"合胆同心": [
			["hé"],
			["dǎn"],
			["tóng"],
			["xīn"]
		],
		"合从连衡": [
			["hé"],
			["zòng"],
			["lián"],
			["héng"]
		],
		"合得来": [
			["hé"],
			["de"],
			["lái"]
		],
		"合而为一": [
			["hé"],
			["ér"],
			["wéi"],
			["yī"]
		],
		"合订本": [
			["hé"],
			["dìng"],
			["běn"]
		],
		"合二为一": [
			["hé"],
			["èr"],
			["wéi"],
			["yī"]
		],
		"合法性": [
			["hé"],
			["fǎ"],
			["xìng"]
		],
		"合伙人": [
			["hé"],
			["huǒ"],
			["rén"]
		],
		"合家欢": [
			["hé"],
			["jiā"],
			["huān"]
		],
		"合金钢": [
			["hé"],
			["jīn"],
			["gāng"]
		],
		"合理化": [
			["hé"],
			["lǐ"],
			["huà"]
		],
		"合两为一": [
			["hé"],
			["liǎng"],
			["wéi"],
			["yī"]
		],
		"合盘托出": [
			["hé"],
			["pán"],
			["tuō"],
			["chū"]
		],
		"合浦还珠": [
			["hé"],
			["pǔ"],
			["huán"],
			["zhū"]
		],
		"合浦珠还": [
			["hé"],
			["pǔ"],
			["zhū"],
			["huán"]
		],
		"合情合理": [
			["hé"],
			["qíng"],
			["hé"],
			["lǐ"]
		],
		"合同工": [
			["hé"],
			["tóng"],
			["gōng"]
		],
		"合眼摸象": [
			["hé"],
			["yǎn"],
			["mō"],
			["xiàng"]
		],
		"合议庭": [
			["hé"],
			["yì"],
			["tíng"]
		],
		"合议制": [
			["hé"],
			["yì"],
			["zhì"]
		],
		"合衷共济": [
			["hé"],
			["zhōng"],
			["gòng"],
			["jì"]
		],
		"合作化": [
			["hé"],
			["zuò"],
			["huà"]
		],
		"合作社": [
			["hé"],
			["zuò"],
			["shè"]
		],
		"何必当初": [
			["hé"],
			["bì"],
			["dāng"],
			["chū"]
		],
		"何患无辞": [
			["hé"],
			["huàn"],
			["wú"],
			["cí"]
		],
		"何乐不为": [
			["hé"],
			["lè"],
			["bù"],
			["wéi"]
		],
		"何乐而不为": [
			["hé"],
			["lè"],
			["ér"],
			["bù"],
			["wéi"]
		],
		"何其毒也": [
			["hé"],
			["qí"],
			["dú"],
			["yě"]
		],
		"何其相似乃尔": [
			["hé"],
			["qí"],
			["xiāng"],
			["sì"],
			["nǎi"],
			["ěr"]
		],
		"何去何从": [
			["hé"],
			["qù"],
			["hé"],
			["cóng"]
		],
		"何首乌": [
			["hé"],
			["shǒu"],
			["wū"]
		],
		"何所不为": [
			["hé"],
			["suǒ"],
			["bù"],
			["wéi"]
		],
		"何所不有": [
			["hé"],
			["suǒ"],
			["bù"],
			["yǒu"]
		],
		"何仙姑": [
			["hé"],
			["xiān"],
			["gū"]
		],
		"何所不至": [
			["hé"],
			["suǒ"],
			["bù"],
			["zhì"]
		],
		"何许人": [
			["hé"],
			["xǔ"],
			["rén"]
		],
		"何足挂齿": [
			["hé"],
			["zú"],
			["guà"],
			["chǐ"]
		],
		"何足道哉": [
			["hé"],
			["zú"],
			["dào"],
			["zāi"]
		],
		"何足介意": [
			["hé"],
			["zú"],
			["jiè"],
			["yì"]
		],
		"和蔼近人": [
			["hé"],
			["ǎi"],
			["jìn"],
			["rén"]
		],
		"何足为奇": [
			["hé"],
			["zú"],
			["wéi"],
			["qí"]
		],
		"何罪之有": [
			["hé"],
			["zuì"],
			["zhī"],
			["yǒu"]
		],
		"和蔼可亲": [
			["hé"],
			["ǎi"],
			["kě"],
			["qīn"]
		],
		"和璧隋珠": [
			["hé"],
			["bì"],
			["suí"],
			["zhū"]
		],
		"和而不唱": [
			["hé"],
			["ér"],
			["bù"],
			["chàng"]
		],
		"和而不同": [
			["hé"],
			["ér"],
			["bù"],
			["tóng"]
		],
		"和风丽日": [
			["hé"],
			["fēng"],
			["lì"],
			["rì"]
		],
		"和光同尘": [
			["hé"],
			["guāng"],
			["tóng"],
			["chén"]
		],
		"和风细雨": [
			["hé"],
			["fēng"],
			["xì"],
			["yǔ"]
		],
		"和睦相处": [
			["hé"],
			["mù"],
			["xiāng"],
			["chǔ"]
		],
		"和盘托出": [
			["hé"],
			["pán"],
			["tuō"],
			["chū"]
		],
		"和平鸽": [
			["hé"],
			["píng"],
			["gē"]
		],
		"和平共处五项原则": [
			["hé"],
			["píng"],
			["gòng"],
			["chǔ"],
			["wǔ"],
			["xiàng"],
			["yuán"],
			["zé"]
		],
		"和平共处": [
			["hé"],
			["píng"],
			["gòng"],
			["chǔ"]
		],
		"和气生财": [
			["hé"],
			["qì"],
			["shēng"],
			["cái"]
		],
		"和气致祥": [
			["hé"],
			["qì"],
			["zhì"],
			["xiáng"]
		],
		"和容悦色": [
			["hé"],
			["róng"],
			["yuè"],
			["sè"]
		],
		"和如琴瑟": [
			["hé"],
			["rú"],
			["qín"],
			["sè"]
		],
		"和尚头": [
			["hé"],
			["shàng"],
			["tóu"]
		],
		"和氏璧": [
			["hé"],
			["shì"],
			["bì"]
		],
		"和事佬": [
			["hé"],
			["shì"],
			["lǎo"]
		],
		"和事老": [
			["hé"],
			["shì"],
			["lǎo"]
		],
		"和稀泥": [
			["huò"],
			["xī"],
			["ní"]
		],
		"和颜说色": [
			["hé"],
			["yán"],
			["yuè"],
			["sè"]
		],
		"和颜悦色": [
			["hé"],
			["yán"],
			["yuè"],
			["sè"]
		],
		"和衣而卧": [
			["hé"],
			["yī"],
			["ér"],
			["wò"]
		],
		"和衷共济": [
			["hé"],
			["zhōng"],
			["gòng"],
			["jì"]
		],
		"河北梆子": [
			["hé"],
			["běi"],
			["bāng"],
			["zi"]
		],
		"河北省": [
			["hé"],
			["běi"],
			["shěng"]
		],
		"河伯为患": [
			["hé"],
			["bó"],
			["wéi"],
			["huàn"]
		],
		"河奔海聚": [
			["hé"],
			["bēn"],
			["hǎi"],
			["jù"]
		],
		"河不出图": [
			["hé"],
			["bù"],
			["chū"],
			["tú"]
		],
		"河海不择细流": [
			["hé"],
			["hǎi"],
			["bù"],
			["zé"],
			["xì"],
			["liú"]
		],
		"河涸海干": [
			["hé"],
			["hé"],
			["hǎi"],
			["qián"]
		],
		"河溓海晏": [
			["hé"],
			["lián"],
			["hǎi"],
			["yàn"]
		],
		"河溓海夷": [
			["hé"],
			["lián"],
			["hǎi"],
			["yí"]
		],
		"河落海干": [
			["hé"],
			["luò"],
			["hǎi"],
			["gān"]
		],
		"河南梆子": [
			["hé"],
			["nán"],
			["bāng"],
			["zi"]
		],
		"河南坠子": [
			["hé"],
			["nán"],
			["zhuì"],
			["zǐ"]
		],
		"河倾月落": [
			["hé"],
			["qīng"],
			["yuè"],
			["luò"]
		],
		"河清难俟": [
			["hé"],
			["qīng"],
			["nán"],
			["sì"]
		],
		"河沙世界": [
			["hé"],
			["shā"],
			["shì"],
			["jiè"]
		],
		"河水不犯井水": [
			["hé"],
			["shuǐ"],
			["bù"],
			["fàn"],
			["jǐng"],
			["shuǐ"]
		],
		"河水不洗船": [
			["hé"],
			["shuǐ"],
			["bù"],
			["xǐ"],
			["chuán"]
		],
		"河同水密": [
			["hé"],
			["tóng"],
			["shuǐ"],
			["mì"]
		],
		"河斜月落": [
			["hé"],
			["xié"],
			["yuè"],
			["luò"]
		],
		"核爆炸": [
			["hé"],
			["bào"],
			["zhà"]
		],
		"核磁共振": [
			["hé"],
			["cí"],
			["gòng"],
			["zhèn"]
		],
		"核弹头": [
			["hé"],
			["dàn"],
			["tóu"]
		],
		"核蛋白": [
			["hé"],
			["dàn"],
			["bái"]
		],
		"核电厂": [
			["hé"],
			["diàn"],
			["chǎng"]
		],
		"核电站": [
			["hé"],
			["diàn"],
			["zhàn"]
		],
		"核讹诈": [
			["hé"],
			["é"],
			["zhà"]
		],
		"核反应": [
			["hé"],
			["fǎn"],
			["yìng"]
		],
		"核反应堆": [
			["hé"],
			["fǎn"],
			["yìng"],
			["duī"]
		],
		"核黄素": [
			["hé"],
			["huáng"],
			["sù"]
		],
		"核潜艇": [
			["hé"],
			["qián"],
			["tǐng"]
		],
		"核燃料": [
			["hé"],
			["rán"],
			["liào"]
		],
		"核试验": [
			["hé"],
			["shì"],
			["yàn"]
		],
		"核糖核酸": [
			["hé"],
			["táng"],
			["hé"],
			["suān"]
		],
		"核武器": [
			["hé"],
			["wǔ"],
			["qì"]
		],
		"核战争": [
			["hé"],
			["zhàn"],
			["zhēng"]
		],
		"核装置": [
			["hé"],
			["zhuāng"],
			["zhì"]
		],
		"荷尔蒙": [
			["hé"],
			["ěr"],
			["méng"]
		],
		"荷枪实弹": [
			["hè"],
			["qiāng"],
			["shí"],
			["dàn"]
		],
		"涸鱼得水": [
			["hé"],
			["yú"],
			["dé"],
			["shuǐ"]
		],
		"涸思干虑": [
			["hé"],
			["sī"],
			["qián"],
			["lǜ"]
		],
		"涸鲋得水": [
			["hé"],
			["fù"],
			["dé"],
			["shuǐ"]
		],
		"涸泽而渔": [
			["hé"],
			["zé"],
			["ér"],
			["yú"]
		],
		"贺年卡": [
			["hè"],
			["nián"],
			["kǎ"]
		],
		"贺年片": [
			["hè"],
			["nián"],
			["piàn"]
		],
		"褐衣不完": [
			["hè"],
			["yī"],
			["bù"],
			["wán"]
		],
		"褐衣蔬食": [
			["hè"],
			["yī"],
			["shū"],
			["shí"]
		],
		"赫赫有名": [
			["hè"],
			["hè"],
			["yǒu"],
			["míng"]
		],
		"鹤背扬州": [
			["hè"],
			["bèi"],
			["yáng"],
			["zhōu"]
		],
		"鹤长凫短": [
			["hè"],
			["cháng"],
			["fú"],
			["duǎn"]
		],
		"鹤处鸡群": [
			["hè"],
			["chǔ"],
			["jī"],
			["qún"]
		],
		"鹤发鸡皮": [
			["hè"],
			["fà"],
			["jī"],
			["pí"]
		],
		"鹤短凫长": [
			["hè"],
			["duǎn"],
			["fú"],
			["cháng"]
		],
		"鹤发松姿": [
			["hè"],
			["fà"],
			["sōng"],
			["zī"]
		],
		"鹤发童颜": [
			["hè"],
			["fà"],
			["tóng"],
			["yán"]
		],
		"鹤骨鸡肤": [
			["hè"],
			["gǔ"],
			["jī"],
			["fū"]
		],
		"鹤骨龙筋": [
			["hè"],
			["gǔ"],
			["lóng"],
			["jīn"]
		],
		"鹤骨松筋": [
			["hè"],
			["gǔ"],
			["sōng"],
			["jīn"]
		],
		"鹤骨霜髯": [
			["hè"],
			["gǔ"],
			["shuāng"],
			["rán"]
		],
		"鹤骨松姿": [
			["hè"],
			["gǔ"],
			["sōng"],
			["zī"]
		],
		"鹤唳风声": [
			["hè"],
			["lì"],
			["fēng"],
			["shēng"]
		],
		"鹤唳华亭": [
			["hè"],
			["lì"],
			["huá"],
			["tíng"]
		],
		"鹤鸣九皋": [
			["hè"],
			["míng"],
			["jiǔ"],
			["gāo"]
		],
		"鹤行鸡群": [
			["hè"],
			["xíng"],
			["jī"],
			["qún"]
		],
		"鹤知夜半": [
			["hè"],
			["zhī"],
			["yè"],
			["bàn"]
		],
		"鹤子梅妻": [
			["hè"],
			["zǐ"],
			["méi"],
			["qī"]
		],
		"鹤归华表": [
			["hè"],
			["guī"],
			["huá"],
			["biǎo"]
		],
		"黑白分明": [
			["hēi"],
			["bái"],
			["fēn"],
			["míng"]
		],
		"黑白混淆": [
			["hēi"],
			["bái"],
			["hùn"],
			["xiáo"]
		],
		"黑白片": [
			["hēi"],
			["bái"],
			["piàn"]
		],
		"黑不溜秋": [
			["hēi"],
			["bù"],
			["liū"],
			["qiū"]
		],
		"黑地昏天": [
			["hēi"],
			["dì"],
			["hūn"],
			["tiān"]
		],
		"黑风孽海": [
			["hēi"],
			["fēng"],
			["niè"],
			["hǎi"]
		],
		"黑更半夜": [
			["hēi"],
			["gēng"],
			["bàn"],
			["yè"]
		],
		"黑糊糊": [
			["hēi"],
			["hū"],
			["hū"]
		],
		"黑家白日": [
			["hēi"],
			["jiā"],
			["bái"],
			["rì"]
		],
		"黑价白日": [
			["hēi"],
			["jià"],
			["bái"],
			["rì"]
		],
		"黑溜溜": [
			["hēi"],
			["liū"],
			["liū"]
		],
		"黑蒙蒙": [
			["hēi"],
			["méng"],
			["méng"]
		],
		"黑名单": [
			["hēi"],
			["míng"],
			["dān"]
		],
		"黑漆皮灯笼": [
			["hēi"],
			["qī"],
			["pí"],
			["dēng"],
			["lóng"]
		],
		"黑色金属": [
			["hēi"],
			["sè"],
			["jīn"],
			["shǔ"]
		],
		"黑社会": [
			["hēi"],
			["shè"],
			["huì"]
		],
		"黑陶文化": [
			["hēi"],
			["táo"],
			["wén"],
			["huà"]
		],
		"黑体字": [
			["hēi"],
			["tǐ"],
			["zì"]
		],
		"黑天墨地": [
			["hēi"],
			["tiān"],
			["mò"],
			["dì"]
		],
		"黑天摸地": [
			["hēi"],
			["tiān"],
			["mō"],
			["dì"]
		],
		"黑压压": [
			["hēi"],
			["yā"],
			["yā"]
		],
		"黑言诳语": [
			["hēi"],
			["yán"],
			["kuáng"],
			["yǔ"]
		],
		"黑云压城城欲摧": [
			["hēi"],
			["yún"],
			["yā"],
			["chéng"],
			["chéng"],
			["yù"],
			["cuī"]
		],
		"恨不得": [
			["hèn"],
			["bù"],
			["dé"]
		],
		"恨不能": [
			["hèn"],
			["bù"],
			["néng"]
		],
		"恨海难填": [
			["hèn"],
			["hǎi"],
			["nán"],
			["tián"]
		],
		"恨如头醋": [
			["hèn"],
			["rú"],
			["tóu"],
			["cù"]
		],
		"恨入骨髓": [
			["hèn"],
			["rù"],
			["gǔ"],
			["suǐ"]
		],
		"恨铁不成钢": [
			["hèn"],
			["tiě"],
			["bù"],
			["chéng"],
			["gāng"]
		],
		"恨相见晚": [
			["hèn"],
			["xiāng"],
			["jiàn"],
			["wǎn"]
		],
		"恨相知晚": [
			["hèn"],
			["xiāng"],
			["zhī"],
			["wǎn"]
		],
		"恨之入骨": [
			["hèn"],
			["zhī"],
			["rù"],
			["gǔ"]
		],
		"亨嘉之会": [
			["hēng"],
			["jiā"],
			["zhī"],
			["huì"]
		],
		"恒河沙数": [
			["héng"],
			["hé"],
			["shā"],
			["shù"]
		],
		"哼哈二将": [
			["hēng"],
			["hā"],
			["èr"],
			["jiàng"]
		],
		"恒河一沙": [
			["héng"],
			["hé"],
			["yī"],
			["shā"]
		],
		"横草之功": [
			["héng"],
			["cǎo"],
			["zhī"],
			["gōng"]
		],
		"横冲直闯": [
			["héng"],
			["chōng"],
			["zhí"],
			["chuǎng"]
		],
		"横冲直撞": [
			["héng"],
			["chōng"],
			["zhí"],
			["zhuàng"]
		],
		"横从穿贯": [
			["héng"],
			["cóng"],
			["chuān"],
			["guàn"]
		],
		"横刀跃马": [
			["héng"],
			["dāo"],
			["yuè"],
			["mǎ"]
		],
		"横刀揭斧": [
			["héng"],
			["dāo"],
			["jiē"],
			["fǔ"]
		],
		"横倒竖卧": [
			["héng"],
			["dǎo"],
			["shù"],
			["wò"]
		],
		"横断面": [
			["héng"],
			["duàn"],
			["miàn"]
		],
		"横恩滥赏": [
			["hèng"],
			["ēn"],
			["làn"],
			["shǎng"]
		],
		"横峰侧岭": [
			["héng"],
			["fēng"],
			["cè"],
			["lǐng"]
		],
		"横赋暴敛": [
			["héng"],
			["fù"],
			["bào"],
			["liǎn"]
		],
		"横戈盘马": [
			["héng"],
			["gē"],
			["pán"],
			["mǎ"]
		],
		"横戈跃马": [
			["héng"],
			["gē"],
			["yuè"],
			["mǎ"]
		],
		"横祸飞灾": [
			["hèng"],
			["huò"],
			["fēi"],
			["zāi"]
		],
		"横祸非灾": [
			["hèng"],
			["huò"],
			["fēi"],
			["zāi"]
		],
		"横见侧出": [
			["héng"],
			["jiàn"],
			["cè"],
			["chū"]
		],
		"横金拖玉": [
			["héng"],
			["jīn"],
			["tuō"],
			["yù"]
		],
		"横科暴敛": [
			["hèng"],
			["kē"],
			["bào"],
			["liǎn"]
		],
		"横拦竖挡": [
			["héng"],
			["lán"],
			["shù"],
			["dǎng"]
		],
		"横蛮无理": [
			["hèng"],
			["mán"],
			["wú"],
			["lǐ"]
		],
		"横眉瞪目": [
			["héng"],
			["méi"],
			["dèng"],
			["mù"]
		],
		"横眉瞪眼": [
			["héng"],
			["méi"],
			["dèng"],
			["yǎn"]
		],
		"横眉冷对千夫指": [
			["héng"],
			["méi"],
			["lěng"],
			["duì"],
			["qiān"],
			["fū"],
			["zhǐ"]
		],
		"横眉冷目": [
			["héng"],
			["méi"],
			["lěng"],
			["mù"]
		],
		"横眉冷眼": [
			["héng"],
			["méi"],
			["lěng"],
			["yǎn"]
		],
		"横眉立目": [
			["héng"],
			["méi"],
			["lì"],
			["mù"]
		],
		"横眉努目": [
			["héng"],
			["méi"],
			["nǔ"],
			["mù"]
		],
		"横眉立眼": [
			["héng"],
			["méi"],
			["lì"],
			["yǎn"]
		],
		"横眉怒目": [
			["héng"],
			["méi"],
			["nù"],
			["mù"]
		],
		"横眉竖目": [
			["héng"],
			["méi"],
			["shù"],
			["mù"]
		],
		"横眉怒视": [
			["héng"],
			["méi"],
			["nù"],
			["shì"]
		],
		"横眉竖眼": [
			["héng"],
			["méi"],
			["shù"],
			["yǎn"]
		],
		"横眉吐气": [
			["héng"],
			["méi"],
			["tǔ"],
			["qì"]
		],
		"横七竖八": [
			["héng"],
			["qī"],
			["shù"],
			["bā"]
		],
		"横抢武夺": [
			["hèng"],
			["qiǎng"],
			["wǔ"],
			["duó"]
		],
		"横枪跃马": [
			["héng"],
			["qiāng"],
			["yuè"],
			["mǎ"]
		],
		"横抢硬夺": [
			["hèng"],
			["qiǎng"],
			["yìng"],
			["duó"]
		],
		"横驱别骛": [
			["héng"],
			["qū"],
			["bié"],
			["wù"]
		],
		"横三竖四": [
			["héng"],
			["sān"],
			["shù"],
			["sì"]
		],
		"横僿不文": [
			["héng"],
			["sài"],
			["bù"],
			["wén"]
		],
		"横三顺四": [
			["héng"],
			["sān"],
			["shùn"],
			["sì"]
		],
		"横扫千军": [
			["héng"],
			["sǎo"],
			["qiān"],
			["jūn"]
		],
		"横切面": [
			["héng"],
			["qiē"],
			["miàn"]
		],
		"横生枝节": [
			["héng"],
			["shēng"],
			["zhī"],
			["jié"]
		],
		"横槊赋诗": [
			["héng"],
			["shuò"],
			["fù"],
			["shī"]
		],
		"横说竖说": [
			["héng"],
			["shuō"],
			["shù"],
			["shuō"]
		],
		"横躺竖卧": [
			["héng"],
			["tǎng"],
			["shù"],
			["wò"]
		],
		"横挑鼻子竖挑眼": [
			["héng"],
			["tiāo"],
			["bí"],
			["zi"],
			["shù"],
			["tiāo"],
			["yǎn"]
		],
		"横拖倒扯": [
			["héng"],
			["tuō"],
			["dào"],
			["chě"]
		],
		"横拖倒拽": [
			["héng"],
			["tuō"],
			["dào"],
			["zhuāi"]
		],
		"横拖竖拉": [
			["héng"],
			["tuō"],
			["shù"],
			["lā"]
		],
		"横纹肌": [
			["héng"],
			["wén"],
			["jī"]
		],
		"横无忌惮": [
			["hèng"],
			["wú"],
			["jì"],
			["dàn"]
		],
		"横翔捷出": [
			["héng"],
			["xiáng"],
			["jié"],
			["chū"]
		],
		"横行霸道": [
			["héng"],
			["xíng"],
			["bà"],
			["dào"]
		],
		"横行不法": [
			["héng"],
			["xíng"],
			["bù"],
			["fǎ"]
		],
		"横行逆施": [
			["héng"],
			["xíng"],
			["nì"],
			["shī"]
		],
		"横行天下": [
			["héng"],
			["xíng"],
			["tiān"],
			["xià"]
		],
		"横行无忌": [
			["héng"],
			["xíng"],
			["wú"],
			["jì"]
		],
		"横行直撞": [
			["héng"],
			["xíng"],
			["zhí"],
			["zhuàng"]
		],
		"横殃飞祸": [
			["hèng"],
			["yāng"],
			["fēi"],
			["huò"]
		],
		"横灾飞祸": [
			["hèng"],
			["zāi"],
			["fēi"],
			["huò"]
		],
		"横行直走": [
			["héng"],
			["xíng"],
			["zhí"],
			["zǒu"]
		],
		"横遮竖挡": [
			["héng"],
			["zhē"],
			["shù"],
			["dǎng"]
		],
		"横针竖线": [
			["héng"],
			["zhēn"],
			["shù"],
			["xiàn"]
		],
		"横征暴赋": [
			["hèng"],
			["zhēng"],
			["bào"],
			["fù"]
		],
		"横征暴敛": [
			["héng"],
			["zhēng"],
			["bào"],
			["liǎn"]
		],
		"横征苛敛": [
			["hèng"],
			["zhēng"],
			["kē"],
			["liǎn"]
		],
		"横征苛役": [
			["hèng"],
			["zhēng"],
			["kē"],
			["yì"]
		],
		"横坐标": [
			["héng"],
			["zuò"],
			["biāo"]
		],
		"衡门深巷": [
			["héng"],
			["mén"],
			["shēn"],
			["xiàng"]
		],
		"衡短论长": [
			["héng"],
			["duǎn"],
			["lùn"],
			["cháng"]
		],
		"衡石程书": [
			["héng"],
			["shí"],
			["chéng"],
			["shū"]
		],
		"衡石量书": [
			["héng"],
			["shí"],
			["liàng"],
			["shū"]
		],
		"轰堂大笑": [
			["hōng"],
			["táng"],
			["dà"],
			["xiào"]
		],
		"轰天烈地": [
			["hōng"],
			["tiān"],
			["liè"],
			["dì"]
		],
		"轰天裂地": [
			["hōng"],
			["tiān"],
			["liè"],
			["dì"]
		],
		"轰炸机": [
			["hōng"],
			["zhà"],
			["jī"]
		],
		"哄动一时": [
			["hōng"],
			["dòng"],
			["yī"],
			["shí"]
		],
		"哄堂大笑": [
			["hōng"],
			["táng"],
			["dà"],
			["xiào"]
		],
		"烘堂大笑": [
			["hōng"],
			["táng"],
			["dà"],
			["xiào"]
		],
		"弘奖风流": [
			["hóng"],
			["jiǎng"],
			["fēng"],
			["liú"]
		],
		"红白喜事": [
			["hóng"],
			["bái"],
			["xǐ"],
			["shì"]
		],
		"红宝石": [
			["hóng"],
			["bǎo"],
			["shí"]
		],
		"红不棱登": [
			["hóng"],
			["bù"],
			["lēng"],
			["dēng"]
		],
		"红澄澄": [
			["hóng"],
			["deng"],
			["deng"]
		],
		"红愁绿惨": [
			["hóng"],
			["chóu"],
			["lǜ"],
			["cǎn"]
		],
		"红得发紫": [
			["hóng"],
			["de"],
			["fā"],
			["zǐ"]
		],
		"红灯区": [
			["hóng"],
			["dēng"],
			["qū"]
		],
		"红豆蔻": [
			["hóng"],
			["dòu"],
			["kòu"]
		],
		"红豆相思": [
			["hóng"],
			["dòu"],
			["xiāng"],
			["sī"]
		],
		"红飞翠舞": [
			["hóng"],
			["fēi"],
			["cuì"],
			["wǔ"]
		],
		"红粉青楼": [
			["hóng"],
			["fěn"],
			["qīng"],
			["lóu"]
		],
		"红腐贯朽": [
			["hóng"],
			["fǔ"],
			["guàn"],
			["xiǔ"]
		],
		"红光满面": [
			["hóng"],
			["guāng"],
			["mǎn"],
			["miàn"]
		],
		"红口白牙": [
			["hóng"],
			["kǒu"],
			["bái"],
			["yá"]
		],
		"红楼梦": [
			["hóng"],
			["lóu"],
			["mèng"]
		],
		"红绿灯": [
			["hóng"],
			["lǜ"],
			["dēng"]
		],
		"红领巾": [
			["hóng"],
			["lǐng"],
			["jīn"]
		],
		"红帽子": [
			["hóng"],
			["mào"],
			["zi"]
		],
		"红霉素": [
			["hóng"],
			["méi"],
			["sù"]
		],
		"红模子": [
			["hóng"],
			["mú"],
			["zǐ"]
		],
		"红男绿女": [
			["hóng"],
			["nán"],
			["lǜ"],
			["nǚ"]
		],
		"红皮书": [
			["hóng"],
			["pí"],
			["shū"]
		],
		"红扑扑": [
			["hóng"],
			["pū"],
			["pū"]
		],
		"红旗报捷": [
			["hóng"],
			["qí"],
			["bào"],
			["jié"]
		],
		"红旗手": [
			["hóng"],
			["qí"],
			["shǒu"]
		],
		"红情绿意": [
			["hóng"],
			["qíng"],
			["lǜ"],
			["yì"]
		],
		"红日三竿": [
			["hóng"],
			["rì"],
			["sān"],
			["gān"]
		],
		"红烧肉": [
			["hóng"],
			["shāo"],
			["ròu"]
		],
		"红绳系足": [
			["hóng"],
			["shéng"],
			["jì"],
			["zú"]
		],
		"红十字会": [
			["hóng"],
			["shí"],
			["zì"],
			["huì"]
		],
		"红衰翠减": [
			["hóng"],
			["shuāi"],
			["cuì"],
			["jiǎn"]
		],
		"红水河": [
			["hóng"],
			["shuǐ"],
			["hé"]
		],
		"红通通": [
			["hóng"],
			["tōng"],
			["tōng"]
		],
		"红彤彤": [
			["hóng"],
			["tōng"],
			["tōng"]
		],
		"红头文件": [
			["hóng"],
			["tóu"],
			["wén"],
			["jiàn"]
		],
		"红外线": [
			["hóng"],
			["wài"],
			["xiàn"]
		],
		"红卫兵": [
			["hóng"],
			["wèi"],
			["bīng"]
		],
		"红细胞": [
			["hóng"],
			["xì"],
			["bāo"]
		],
		"红小鬼": [
			["hóng"],
			["xiǎo"],
			["guǐ"]
		],
		"红新月会": [
			["hóng"],
			["xīn"],
			["yuè"],
			["huì"]
		],
		"红杏出墙": [
			["hóng"],
			["xìng"],
			["chū"],
			["qiáng"]
		],
		"红血球": [
			["hóng"],
			["xuè"],
			["qiú"]
		],
		"红颜薄命": [
			["hóng"],
			["yán"],
			["bó"],
			["mìng"]
		],
		"红眼病": [
			["hóng"],
			["yǎn"],
			["bìng"]
		],
		"红艳艳": [
			["hóng"],
			["yàn"],
			["yàn"]
		],
		"红药水": [
			["hóng"],
			["yào"],
			["shuǐ"]
		],
		"红叶题诗": [
			["hóng"],
			["yè"],
			["tí"],
			["shī"]
		],
		"红衣主教": [
			["hóng"],
			["yī"],
			["zhǔ"],
			["jiào"]
		],
		"红殷殷": [
			["hóng"],
			["yīn"],
			["yīn"]
		],
		"红缨枪": [
			["hóng"],
			["yīng"],
			["qiāng"]
		],
		"红紫乱朱": [
			["hóng"],
			["zǐ"],
			["luàn"],
			["zhū"]
		],
		"宏才大略": [
			["hóng"],
			["cái"],
			["dà"],
			["lüè"]
		],
		"宏材大略": [
			["hóng"],
			["cái"],
			["dà"],
			["lüè"]
		],
		"宏观经济": [
			["hóng"],
			["guān"],
			["jīng"],
			["jì"]
		],
		"宏观经济学": [
			["hóng"],
			["guān"],
			["jīng"],
			["jì"],
			["xué"]
		],
		"宏观世界": [
			["hóng"],
			["guān"],
			["shì"],
			["jiè"]
		],
		"宏图大志": [
			["hóng"],
			["tú"],
			["dà"],
			["zhì"]
		],
		"闳侈不经": [
			["hóng"],
			["chǐ"],
			["bù"],
			["jīng"]
		],
		"闳大不经": [
			["hóng"],
			["dà"],
			["bù"],
			["jīng"]
		],
		"闳识孤怀": [
			["hóng"],
			["shí"],
			["gū"],
			["huái"]
		],
		"闳中肆外": [
			["hóng"],
			["zhōng"],
			["sì"],
			["wài"]
		],
		"闳言高论": [
			["hóng"],
			["yán"],
			["gāo"],
			["lùn"]
		],
		"洪都拉斯": [
			["hóng"],
			["dōu"],
			["lā"],
			["sī"]
		],
		"洪福齐天": [
			["hóng"],
			["fú"],
			["qí"],
			["tiān"]
		],
		"洪炉燎发": [
			["hóng"],
			["lú"],
			["liáo"],
			["fà"]
		],
		"洪乔捎书": [
			["hóng"],
			["qiáo"],
			["shāo"],
			["shū"]
		],
		"洪水横流": [
			["hóng"],
			["shuǐ"],
			["héng"],
			["liú"]
		],
		"洪泽湖": [
			["hóng"],
			["zé"],
			["hú"]
		],
		"虹销雨霁": [
			["hóng"],
			["xiāo"],
			["yǔ"],
			["jì"]
		],
		"鸿案相庄": [
			["hóng"],
			["àn"],
			["xiāng"],
			["zhuāng"]
		],
		"鸿案鹿车": [
			["hóng"],
			["àn"],
			["lù"],
			["chē"]
		],
		"鸿笔丽藻": [
			["hóng"],
			["bǐ"],
			["lì"],
			["zǎo"]
		],
		"鸿都买第": [
			["hóng"],
			["dōu"],
			["mǎi"],
			["dì"]
		],
		"鸿飞霜降": [
			["hóng"],
			["fēi"],
			["shuāng"],
			["jiàng"]
		],
		"鸿飞雪爪": [
			["hóng"],
			["fēi"],
			["xuě"],
			["zhǎo"]
		],
		"鸿鹄将至": [
			["hóng"],
			["hú"],
			["jiāng"],
			["zhì"]
		],
		"鸿渐于干": [
			["hóng"],
			["jiàn"],
			["yú"],
			["gàn"]
		],
		"鸿渐之仪": [
			["hóng"],
			["jiàn"],
			["zhī"],
			["yí"]
		],
		"鸿渐之翼": [
			["hóng"],
			["jiàn"],
			["zhī"],
			["yì"]
		],
		"鸿蒙初辟": [
			["hóng"],
			["méng"],
			["chū"],
			["pì"]
		],
		"鸿篇巨著": [
			["hóng"],
			["piān"],
			["jù"],
			["zhù"]
		],
		"鸿泥雪爪": [
			["hóng"],
			["ní"],
			["xuě"],
			["zhǎo"]
		],
		"鸿篇巨着": [
			["hóng"],
			["piān"],
			["jù"],
			["zhe"]
		],
		"鸿儒硕学": [
			["hóng"],
			["rú"],
			["shuò"],
			["xué"]
		],
		"鸿图华构": [
			["hóng"],
			["tú"],
			["huá"],
			["gòu"]
		],
		"鸿商富贾": [
			["hóng"],
			["shāng"],
			["fù"],
			["jiǎ"]
		],
		"鸿业远图": [
			["hóng"],
			["yè"],
			["yuǎn"],
			["tú"]
		],
		"鸿衣羽裳": [
			["hóng"],
			["yī"],
			["yǔ"],
			["shang"]
		],
		"鸿隐凤伏": [
			["hóng"],
			["yǐn"],
			["fèng"],
			["fú"]
		],
		"鸿爪春泥": [
			["hóng"],
			["zhǎo"],
			["chūn"],
			["ní"]
		],
		"鸿爪留泥": [
			["hóng"],
			["zhǎo"],
			["liú"],
			["ní"]
		],
		"鸿爪雪泥": [
			["hóng"],
			["zhǎo"],
			["xuě"],
			["ní"]
		],
		"侯服玉食": [
			["hóu"],
			["fú"],
			["yù"],
			["shí"]
		],
		"侯门如海": [
			["hóu"],
			["mén"],
			["rú"],
			["hǎi"]
		],
		"侯门深似海": [
			["hóu"],
			["mén"],
			["shēn"],
			["sì"],
			["hǎi"]
		],
		"侯门似海": [
			["hóu"],
			["mén"],
			["sì"],
			["hǎi"]
		],
		"喉长气短": [
			["hóu"],
			["cháng"],
			["qì"],
			["duǎn"]
		],
		"猴头猴脑": [
			["hóu"],
			["tóu"],
			["hóu"],
			["nǎo"]
		],
		"后车之戒": [
			["hòu"],
			["chē"],
			["zhī"],
			["jiè"]
		],
		"后发制人": [
			["hòu"],
			["fā"],
			["zhì"],
			["rén"]
		],
		"后福无量": [
			["hòu"],
			["fú"],
			["wú"],
			["liàng"]
		],
		"后悔不及": [
			["hòu"],
			["huǐ"],
			["bù"],
			["jí"]
		],
		"后悔莫及": [
			["hòu"],
			["huǐ"],
			["mò"],
			["jí"]
		],
		"后会无期": [
			["hòu"],
			["huì"],
			["wú"],
			["qī"]
		],
		"后继有人": [
			["hòu"],
			["jì"],
			["yǒu"],
			["rén"]
		],
		"后会有期": [
			["hòu"],
			["huì"],
			["yǒu"],
			["qī"]
		],
		"后来居上": [
			["hòu"],
			["lái"],
			["jū"],
			["shàng"]
		],
		"后来者居上": [
			["hòu"],
			["lái"],
			["zhě"],
			["jū"],
			["shàng"]
		],
		"后生可畏": [
			["hòu"],
			["shēng"],
			["kě"],
			["wèi"]
		],
		"后手不接": [
			["hòu"],
			["shǒu"],
			["bù"],
			["jiē"]
		],
		"后台老板": [
			["hòu"],
			["tái"],
			["lǎo"],
			["bǎn"]
		],
		"后遗症": [
			["hòu"],
			["yí"],
			["zhèng"]
		],
		"厚此薄彼": [
			["hòu"],
			["cǐ"],
			["bó"],
			["bǐ"]
		],
		"厚德载福": [
			["hòu"],
			["dé"],
			["zǎi"],
			["fú"]
		],
		"厚德载物": [
			["hòu"],
			["dé"],
			["zài"],
			["wù"]
		],
		"厚古薄今": [
			["hòu"],
			["gǔ"],
			["bó"],
			["jīn"]
		],
		"厚积薄发": [
			["hòu"],
			["jī"],
			["bó"],
			["fā"]
		],
		"厚往薄来": [
			["hòu"],
			["wǎng"],
			["báo"],
			["lái"]
		],
		"厚今薄古": [
			["hòu"],
			["jīn"],
			["bó"],
			["gǔ"]
		],
		"厚味腊毒": [
			["hòu"],
			["wèi"],
			["xī"],
			["dú"]
		],
		"候风地动仪": [
			["hòu"],
			["fēng"],
			["dì"],
			["dòng"],
			["yí"]
		],
		"候车室": [
			["hòu"],
			["chē"],
			["shì"]
		],
		"呼不给吸": [
			["hū"],
			["bù"],
			["jǐ"],
			["xī"]
		],
		"呼风唤雨": [
			["hū"],
			["fēng"],
			["huàn"],
			["yǔ"]
		],
		"呼和浩特": [
			["hū"],
			["hé"],
			["hào"],
			["tè"]
		],
		"呼啦啦": [
			["hū"],
			["lā"],
			["lā"]
		],
		"呼来喝去": [
			["hū"],
			["lái"],
			["hè"],
			["qù"]
		],
		"呼卢喝雉": [
			["hū"],
			["lú"],
			["hè"],
			["zhì"]
		],
		"呼天号地": [
			["hū"],
			["tiān"],
			["hào"],
			["dì"]
		],
		"呼群结党": [
			["hū"],
			["qún"],
			["jié"],
			["dǎng"]
		],
		"呼天叫地": [
			["hū"],
			["tiān"],
			["jiào"],
			["dì"]
		],
		"呼天抢地": [
			["hū"],
			["tiān"],
			["qiāng"],
			["dì"]
		],
		"呼天唤地": [
			["hū"],
			["tiān"],
			["huàn"],
			["dì"]
		],
		"呼天吁地": [
			["hū"],
			["tiān"],
			["yù"],
			["dì"]
		],
		"呼天钥地": [
			["hū"],
			["tiān"],
			["yào"],
			["dì"]
		],
		"呼吸系统": [
			["hū"],
			["xī"],
			["xì"],
			["tǒng"]
		],
		"呼天叩地": [
			["hū"],
			["tiān"],
			["kòu"],
			["dì"]
		],
		"呼吸相通": [
			["hū"],
			["xī"],
			["xiāng"],
			["tōng"]
		],
		"呼吸之间": [
			["hū"],
			["xī"],
			["zhī"],
			["jiān"]
		],
		"呼幺喝六": [
			["hū"],
			["yāo"],
			["hè"],
			["liù"]
		],
		"忽忽不乐": [
			["hū"],
			["hū"],
			["bù"],
			["lè"]
		],
		"忽隐忽现": [
			["hū"],
			["yǐn"],
			["hū"],
			["xiàn"]
		],
		"囫囵半片": [
			["hú"],
			["lún"],
			["bàn"],
			["piàn"]
		],
		"狐奔鼠窜": [
			["hú"],
			["bēn"],
			["shǔ"],
			["cuàn"]
		],
		"弧圈球": [
			["hú"],
			["quān"],
			["qiú"]
		],
		"狐不二雄": [
			["hú"],
			["bù"],
			["èr"],
			["xióng"]
		],
		"狐假虎威": [
			["hú"],
			["jiǎ"],
			["hǔ"],
			["wēi"]
		],
		"狐假鸱张": [
			["hú"],
			["jiǎ"],
			["chī"],
			["zhāng"]
		],
		"狐唱枭和": [
			["hú"],
			["chàng"],
			["xiāo"],
			["hé"]
		],
		"狐藉虎威": [
			["hú"],
			["jiè"],
			["hǔ"],
			["wēi"]
		],
		"狐狸尾巴": [
			["hú"],
			["li"],
			["wěi"],
			["ba"]
		],
		"狐埋狐扬": [
			["hú"],
			["mái"],
			["hú"],
			["yáng"]
		],
		"狐埋狐搰": [
			["hú"],
			["mái"],
			["hú"],
			["hú"]
		],
		"狐鸣篝中": [
			["hú"],
			["míng"],
			["gōu"],
			["zhōng"]
		],
		"狐裘尨茸": [
			["hú"],
			["qiú"],
			["méng"],
			["róng"]
		],
		"狐裘蒙茸": [
			["hú"],
			["qiú"],
			["méng"],
			["róng"]
		],
		"狐疑不决": [
			["hú"],
			["yí"],
			["bù"],
			["jué"]
		],
		"狐裘蒙戎": [
			["hú"],
			["qiú"],
			["méng"],
			["róng"]
		],
		"胡吃海喝": [
			["hú"],
			["chī"],
			["hǎi"],
			["hē"]
		],
		"胡服骑射": [
			["hú"],
			["fú"],
			["qí"],
			["shè"]
		],
		"胡打海摔": [
			["hú"],
			["dǎ"],
			["hǎi"],
			["shuāi"]
		],
		"胡拉乱扯": [
			["hú"],
			["lā"],
			["luàn"],
			["chě"]
		],
		"胡萝卜": [
			["hú"],
			["luó"],
			["bo"]
		],
		"胡说八道": [
			["hú"],
			["shuō"],
			["bā"],
			["dào"]
		],
		"胡说乱道": [
			["hú"],
			["shuō"],
			["luàn"],
			["dào"]
		],
		"胡说白道": [
			["hú"],
			["shuō"],
			["bái"],
			["dào"]
		],
		"胡思乱量": [
			["hú"],
			["sī"],
			["luàn"],
			["liàng"]
		],
		"胡思乱想": [
			["hú"],
			["sī"],
			["luàn"],
			["xiǎng"]
		],
		"胡天胡地": [
			["hú"],
			["tiān"],
			["hú"],
			["dì"]
		],
		"胡行乱为": [
			["hú"],
			["xíng"],
			["luàn"],
			["wéi"]
		],
		"胡言汉语": [
			["hú"],
			["yán"],
			["hàn"],
			["yǔ"]
		],
		"胡言乱语": [
			["hú"],
			["yán"],
			["luàn"],
			["yǔ"]
		],
		"胡越同舟": [
			["hú"],
			["yuè"],
			["tóng"],
			["zhōu"]
		],
		"胡越一家": [
			["hú"],
			["yuè"],
			["yī"],
			["jiā"]
		],
		"胡支扯叶": [
			["hú"],
			["zhī"],
			["chě"],
			["yè"]
		],
		"胡枝扯叶": [
			["hú"],
			["zhī"],
			["chě"],
			["yè"]
		],
		"胡子拉碴": [
			["hú"],
			["zǐ"],
			["lā"],
			["chā"]
		],
		"胡诌乱说": [
			["hú"],
			["zhōu"],
			["luàn"],
			["shuō"]
		],
		"胡作非为": [
			["hú"],
			["zuò"],
			["fēi"],
			["wéi"]
		],
		"胡作胡为": [
			["hú"],
			["zuò"],
			["hú"],
			["wéi"]
		],
		"胡作乱为": [
			["hú"],
			["zuò"],
			["luàn"],
			["wéi"]
		],
		"壶里乾坤": [
			["hú"],
			["lǐ"],
			["qián"],
			["kūn"]
		],
		"壶浆塞道": [
			["hú"],
			["jiāng"],
			["sāi"],
			["dào"]
		],
		"壶中日月": [
			["hú"],
			["zhōng"],
			["rì"],
			["yuè"]
		],
		"壶中天地": [
			["hú"],
			["zhōng"],
			["tiān"],
			["dì"]
		],
		"湖北大鼓": [
			["hú"],
			["běi"],
			["dà"],
			["gǔ"]
		],
		"糊糊涂涂": [
			["hū"],
			["hū"],
			["tú"],
			["tú"]
		],
		"糊口度日": [
			["hú"],
			["kǒu"],
			["dù"],
			["rì"]
		],
		"糊里糊涂": [
			["hú"],
			["lǐ"],
			["hú"],
			["tú"]
		],
		"糊涂虫": [
			["hú"],
			["tú"],
			["chóng"]
		],
		"糊涂蛋": [
			["hú"],
			["tú"],
			["dàn"]
		],
		"蝴蝶结": [
			["hú"],
			["dié"],
			["jié"]
		],
		"糊涂账": [
			["hú"],
			["tú"],
			["zhàng"]
		],
		"虎背熊腰": [
			["hǔ"],
			["bèi"],
			["xióng"],
			["yāo"]
		],
		"虎步龙行": [
			["hǔ"],
			["bù"],
			["lóng"],
			["xíng"]
		],
		"虎不食儿": [
			["hǔ"],
			["bù"],
			["shí"],
			["ér"]
		],
		"虎荡羊群": [
			["hǔ"],
			["dàng"],
			["yáng"],
			["qún"]
		],
		"虎而冠": [
			["hǔ"],
			["ér"],
			["guàn"]
		],
		"虎骨酒": [
			["hǔ"],
			["gǔ"],
			["jiǔ"]
		],
		"虎据龙蟠": [
			["hǔ"],
			["jù"],
			["lóng"],
			["pán"]
		],
		"虎落平川": [
			["hǔ"],
			["luò"],
			["píng"],
			["chuān"]
		],
		"虎珀拾芥": [
			["hǔ"],
			["pò"],
			["shí"],
			["jiè"]
		],
		"虎入羊群": [
			["hǔ"],
			["rù"],
			["yáng"],
			["qún"]
		],
		"虎体熊腰": [
			["hǔ"],
			["tǐ"],
			["xióng"],
			["yāo"]
		],
		"虎斗龙争": [
			["hǔ"],
			["dòu"],
			["lóng"],
			["zhēng"]
		],
		"虎头虎脑": [
			["hǔ"],
			["tóu"],
			["hǔ"],
			["nǎo"]
		],
		"虎头蛇尾": [
			["hǔ"],
			["tóu"],
			["shé"],
			["wěi"]
		],
		"虎尾春冰": [
			["hǔ"],
			["wěi"],
			["chūn"],
			["bīng"]
		],
		"虎头燕颔": [
			["hǔ"],
			["tóu"],
			["yàn"],
			["hàn"]
		],
		"虎卧龙跳": [
			["hǔ"],
			["wò"],
			["lóng"],
			["tiào"]
		],
		"虎啸风生": [
			["hǔ"],
			["xiào"],
			["fēng"],
			["shēng"]
		],
		"互剥痛疮": [
			["hù"],
			["bō"],
			["tòng"],
			["chuāng"]
		],
		"互通有无": [
			["hù"],
			["tōng"],
			["yǒu"],
			["wú"]
		],
		"互为表里": [
			["hù"],
			["wéi"],
			["biǎo"],
			["lǐ"]
		],
		"互为因果": [
			["hù"],
			["wéi"],
			["yīn"],
			["guò"]
		],
		"互相标榜": [
			["hù"],
			["xiāng"],
			["biāo"],
			["bǎng"]
		],
		"互相推诿": [
			["hù"],
			["xiāng"],
			["tuī"],
			["wěi"]
		],
		"互助组": [
			["hù"],
			["zhù"],
			["zǔ"]
		],
		"户曹参军": [
			["hù"],
			["cáo"],
			["cān"],
			["jūn"]
		],
		"户口簿": [
			["hù"],
			["kǒu"],
			["bù"]
		],
		"户枢不蠹": [
			["hù"],
			["shū"],
			["bù"],
			["dù"]
		],
		"户枢不蝼": [
			["hù"],
			["shū"],
			["bù"],
			["lóu"]
		],
		"户枢不朽": [
			["hù"],
			["shū"],
			["bù"],
			["xiǔ"]
		],
		"户限为穿": [
			["hù"],
			["xiàn"],
			["wéi"],
			["chuān"]
		],
		"护过饰非": [
			["hù"],
			["guò"],
			["shì"],
			["fēi"]
		],
		"护士长": [
			["hù"],
			["shì"],
			["zhǎng"]
		],
		"怙恶不悛": [
			["hù"],
			["è"],
			["bù"],
			["quān"]
		],
		"怙过不悛": [
			["hù"],
			["guò"],
			["bù"],
			["quān"]
		],
		"怙顽不悛": [
			["hù"],
			["wán"],
			["bù"],
			["quān"]
		],
		"怙终不悔": [
			["hù"],
			["zhōng"],
			["bù"],
			["huǐ"]
		],
		"怙终不悛": [
			["hù"],
			["zhōng"],
			["bù"],
			["quān"]
		],
		"花不棱登": [
			["huā"],
			["bù"],
			["lēng"],
			["dēng"]
		],
		"花朝月夕": [
			["huā"],
			["zhāo"],
			["yuè"],
			["xī"]
		],
		"花朝月夜": [
			["huā"],
			["zhāo"],
			["yuè"],
			["yè"]
		],
		"花大姐": [
			["huā"],
			["dà"],
			["jiě"]
		],
		"花簇锦攒": [
			["huā"],
			["cù"],
			["jǐn"],
			["cuán"]
		],
		"花灯戏": [
			["huā"],
			["dēng"],
			["xì"]
		],
		"花骨朵": [
			["huā"],
			["gū"],
			["duǒ"]
		],
		"花岗石": [
			["huā"],
			["gǎng"],
			["shí"]
		],
		"花鼓戏": [
			["huā"],
			["gǔ"],
			["xì"]
		],
		"花好月圆": [
			["huā"],
			["hǎo"],
			["yuè"],
			["yuán"]
		],
		"花红柳绿": [
			["huā"],
			["hóng"],
			["liǔ"],
			["lǜ"]
		],
		"花花绿绿": [
			["huā"],
			["huā"],
			["lǜ"],
			["lǜ"]
		],
		"花街柳巷": [
			["huā"],
			["jiē"],
			["liǔ"],
			["xiàng"]
		],
		"花露水": [
			["huā"],
			["lù"],
			["shuǐ"]
		],
		"花说柳说": [
			["huā"],
			["shuō"],
			["liǔ"],
			["shuō"]
		],
		"花天酒地": [
			["huā"],
			["tiān"],
			["jiǔ"],
			["dì"]
		],
		"花天锦地": [
			["huā"],
			["tiān"],
			["jǐn"],
			["dì"]
		],
		"花香鸟语": [
			["huā"],
			["xiāng"],
			["niǎo"],
			["yǔ"]
		],
		"花信年华": [
			["huā"],
			["xìn"],
			["nián"],
			["huá"]
		],
		"花言巧语": [
			["huā"],
			["yán"],
			["qiǎo"],
			["yǔ"]
		],
		"花攒锦簇": [
			["huā"],
			["cuán"],
			["jǐn"],
			["cù"]
		],
		"花攒锦聚": [
			["huā"],
			["cuán"],
			["jǐn"],
			["jù"]
		],
		"花遮柳隐": [
			["huā"],
			["zhē"],
			["liǔ"],
			["yǐn"]
		],
		"花枝招展": [
			["huā"],
			["zhī"],
			["zhāo"],
			["zhǎn"]
		],
		"花枝招颤": [
			["huā"],
			["zhī"],
			["zhāo"],
			["chàn"]
		],
		"花枝招颭": [
			["huā"],
			["zhī"],
			["zhāo"],
			["zhǎn"]
		],
		"华北平原": [
			["huá"],
			["běi"],
			["píng"],
			["yuán"]
		],
		"华不再扬": [
			["huá"],
			["bù"],
			["zài"],
			["yáng"]
		],
		"华达呢": [
			["huá"],
			["dá"],
			["ní"]
		],
		"华尔兹": [
			["huá"],
			["ěr"],
			["zī"]
		],
		"华而不实": [
			["huá"],
			["ér"],
			["bù"],
			["shí"]
		],
		"华尔街": [
			["huá"],
			["ěr"],
			["jiē"]
		],
		"华冠丽服": [
			["huá"],
			["guān"],
			["lì"],
			["fú"]
		],
		"华封三祝": [
			["huá"],
			["fēng"],
			["sān"],
			["zhù"]
		],
		"华盛顿": [
			["huá"],
			["shèng"],
			["dùn"]
		],
		"华氏温度计": [
			["huà"],
			["shì"],
			["wēn"],
			["dù"],
			["jì"]
		],
		"华亭鹤唳": [
			["huà"],
			["tíng"],
			["hè"],
			["lì"]
		],
		"华屋丘墟": [
			["huá"],
			["wū"],
			["qiū"],
			["xū"]
		],
		"华屋秋墟": [
			["huá"],
			["wū"],
			["qiū"],
			["xū"]
		],
		"华屋山丘": [
			["huá"],
			["wū"],
			["shān"],
			["qiū"]
		],
		"华星秋月": [
			["huá"],
			["xīng"],
			["qiū"],
			["yuè"]
		],
		"华严宗": [
			["huá"],
			["yán"],
			["zōng"]
		],
		"华阴市": [
			["huá"],
			["yīn"],
			["shì"]
		],
		"哗世动俗": [
			["huá"],
			["shì"],
			["dòng"],
			["sú"]
		],
		"哗啦啦": [
			["huā"],
			["lā"],
			["lā"]
		],
		"哗世取宠": [
			["huá"],
			["shì"],
			["qǔ"],
			["chǒng"]
		],
		"哗世取名": [
			["huá"],
			["shì"],
			["qǔ"],
			["míng"]
		],
		"滑冰场": [
			["huá"],
			["bīng"],
			["chǎng"]
		],
		"哗众取宠": [
			["huá"],
			["zhòng"],
			["qǔ"],
			["chǒng"]
		],
		"滑不唧溜": [
			["huá"],
			["bù"],
			["jī"],
			["liū"]
		],
		"滑稽戏": [
			["huá"],
			["jī"],
			["xì"]
		],
		"滑稽剧": [
			["huá"],
			["jī"],
			["jù"]
		],
		"滑泥扬波": [
			["huá"],
			["ní"],
			["yáng"],
			["bō"]
		],
		"滑石粉": [
			["huá"],
			["shí"],
			["fěn"]
		],
		"滑天下之大稽": [
			["huá"],
			["tiān"],
			["xià"],
			["zhī"],
			["dà"],
			["jī"]
		],
		"滑头滑脑": [
			["huá"],
			["tóu"],
			["huá"],
			["nǎo"]
		],
		"化鸱为凤": [
			["huà"],
			["chī"],
			["wéi"],
			["fèng"]
		],
		"化粪池": [
			["huà"],
			["fèn"],
			["chí"]
		],
		"化腐为奇": [
			["huà"],
			["fǔ"],
			["wéi"],
			["qí"]
		],
		"化腐成奇": [
			["huà"],
			["fǔ"],
			["chéng"],
			["qí"]
		],
		"化腐朽为神奇": [
			["huà"],
			["fǔ"],
			["xiǔ"],
			["wéi"],
			["shén"],
			["qí"]
		],
		"化干戈为玉帛": [
			["huà"],
			["gān"],
			["gē"],
			["wéi"],
			["yù"],
			["bó"]
		],
		"化合物": [
			["huà"],
			["hé"],
			["wù"]
		],
		"化及豚鱼": [
			["huà"],
			["jí"],
			["tún"],
			["yú"]
		],
		"化零为整": [
			["huà"],
			["líng"],
			["wéi"],
			["zhěng"]
		],
		"化民成俗": [
			["huà"],
			["mín"],
			["chéng"],
			["sú"]
		],
		"化民易俗": [
			["huà"],
			["mín"],
			["yì"],
			["sú"]
		],
		"化日光天": [
			["huà"],
			["rì"],
			["guāng"],
			["tiān"]
		],
		"化若偃草": [
			["huà"],
			["ruò"],
			["yǎn"],
			["cǎo"]
		],
		"化铁炉": [
			["huà"],
			["tiě"],
			["lú"]
		],
		"化外之民": [
			["huà"],
			["wài"],
			["zhī"],
			["mín"]
		],
		"化为泡影": [
			["huà"],
			["wéi"],
			["pāo"],
			["yǐng"]
		],
		"化为乌有": [
			["huà"],
			["wéi"],
			["wū"],
			["yǒu"]
		],
		"化险为夷": [
			["huà"],
			["xiǎn"],
			["wéi"],
			["yí"]
		],
		"化枭为鸠": [
			["huà"],
			["xiāo"],
			["wéi"],
			["jiū"]
		],
		"化性起伪": [
			["huà"],
			["xìng"],
			["qǐ"],
			["wěi"]
		],
		"化学肥料": [
			["huà"],
			["xué"],
			["féi"],
			["liào"]
		],
		"化学元素": [
			["huà"],
			["xué"],
			["yuán"],
			["sù"]
		],
		"化整为零": [
			["huà"],
			["zhěng"],
			["wéi"],
			["líng"]
		],
		"化妆品": [
			["huà"],
			["zhuāng"],
			["pǐn"]
		],
		"划不来": [
			["huá"],
			["bù"],
			["lái"]
		],
		"划得来": [
			["huá"],
			["de"],
			["lái"]
		],
		"划时代": [
			["huà"],
			["shí"],
			["dài"]
		],
		"划地为牢": [
			["huá"],
			["dì"],
			["wéi"],
			["láo"]
		],
		"划一不二": [
			["huà"],
			["yī"],
			["bù"],
			["èr"]
		],
		"划粥割齑": [
			["huà"],
			["zhōu"],
			["gē"],
			["jī"]
		],
		"画等号": [
			["huà"],
			["děng"],
			["hào"]
		],
		"画荻和丸": [
			["huà"],
			["dí"],
			["huò"],
			["wán"]
		],
		"画荻教子": [
			["huà"],
			["dí"],
			["jiào"],
			["zǐ"]
		],
		"画地成牢": [
			["huà"],
			["dì"],
			["chéng"],
			["láo"]
		],
		"画地成图": [
			["huà"],
			["dì"],
			["chéng"],
			["tú"]
		],
		"画地刻木": [
			["huà"],
			["dì"],
			["kè"],
			["mù"]
		],
		"画地而趋": [
			["huà"],
			["dì"],
			["ér"],
			["qū"]
		],
		"画地为牢": [
			["huà"],
			["dì"],
			["wéi"],
			["láo"]
		],
		"画地为狱": [
			["huà"],
			["dì"],
			["wéi"],
			["yù"]
		],
		"画地作狱": [
			["huà"],
			["dì"],
			["zuò"],
			["yù"]
		],
		"画虎不成": [
			["huà"],
			["hǔ"],
			["bù"],
			["chéng"]
		],
		"画虎不成反类狗": [
			["huà"],
			["hǔ"],
			["bù"],
			["chéng"],
			["fǎn"],
			["lèi"],
			["gǒu"]
		],
		"画虎不成反类犬": [
			["huà"],
			["hǔ"],
			["bù"],
			["chéng"],
			["fǎn"],
			["lèi"],
			["quǎn"]
		],
		"画虎画皮难画骨": [
			["huà"],
			["hǔ"],
			["huà"],
			["pí"],
			["nán"],
			["huà"],
			["gǔ"]
		],
		"画疆墨守": [
			["huà"],
			["jiāng"],
			["mò"],
			["shǒu"]
		],
		"画龙不成反为狗": [
			["huà"],
			["lóng"],
			["bù"],
			["chéng"],
			["fǎn"],
			["wéi"],
			["gǒu"]
		],
		"画沙聚米": [
			["huà"],
			["shā"],
			["jù"],
			["mǐ"]
		],
		"画沙印泥": [
			["huà"],
			["shā"],
			["yìn"],
			["ní"]
		],
		"画蛇著足": [
			["huà"],
			["shé"],
			["zhuó"],
			["zú"]
		],
		"画蛇添足": [
			["huà"],
			["shé"],
			["tiān"],
			["zú"]
		],
		"画土分疆": [
			["huà"],
			["tǔ"],
			["fēn"],
			["jiāng"]
		],
		"画野分疆": [
			["huà"],
			["yě"],
			["fēn"],
			["jiāng"]
		],
		"画中有诗": [
			["huà"],
			["zhōng"],
			["yǒu"],
			["shī"]
		],
		"话把儿": [
			["huà"],
			["bà"],
			["er"]
		],
		"话不投机": [
			["huà"],
			["bù"],
			["tóu"],
			["jī"]
		],
		"话不相投": [
			["huà"],
			["bù"],
			["xiāng"],
			["tóu"]
		],
		"话不虚传": [
			["huà"],
			["bù"],
			["xū"],
			["chuán"]
		],
		"话长说短": [
			["huà"],
			["cháng"],
			["shuō"],
			["duǎn"]
		],
		"话里藏阄": [
			["huà"],
			["lǐ"],
			["cáng"],
			["jiū"]
		],
		"话里带刺": [
			["huà"],
			["lǐ"],
			["dài"],
			["cì"]
		],
		"话里有刺": [
			["huà"],
			["lǐ"],
			["yǒu"],
			["cì"]
		],
		"话里有话": [
			["huà"],
			["lǐ"],
			["yǒu"],
			["huà"]
		],
		"话务员": [
			["huà"],
			["wù"],
			["yuán"]
		],
		"话言话语": [
			["huà"],
			["yán"],
			["huà"],
			["yǔ"]
		],
		"话中有话": [
			["huà"],
			["zhōng"],
			["yǒu"],
			["huà"]
		],
		"怀璧其罪": [
			["huái"],
			["bì"],
			["qí"],
			["zuì"]
		],
		"怀才不遇": [
			["huái"],
			["cái"],
			["bū"],
			["yù"]
		],
		"怀敌附远": [
			["huái"],
			["dí"],
			["fù"],
			["yuǎn"]
		],
		"怀铅提椠": [
			["huái"],
			["qiān"],
			["tí"],
			["qiàn"]
		],
		"怀铅握椠": [
			["huái"],
			["qiān"],
			["wò"],
			["qiàn"]
		],
		"怀珠韫玉": [
			["huái"],
			["zhū"],
			["yùn"],
			["yù"]
		],
		"怀着鬼胎": [
			["huái"],
			["zhe"],
			["guǐ"],
			["tāi"]
		],
		"淮橘为枳": [
			["huái"],
			["jú"],
			["wéi"],
			["zhǐ"]
		],
		"淮南鸡犬": [
			["huái"],
			["nán"],
			["jī"],
			["quǎn"]
		],
		"淮王鸡狗": [
			["huái"],
			["wáng"],
			["jī"],
			["gǒu"]
		],
		"槐南一梦": [
			["huái"],
			["nán"],
			["yī"],
			["mēng"]
		],
		"踝子骨": [
			["huái"],
			["zǐ"],
			["gǔ"]
		],
		"坏东西": [
			["huài"],
			["dōng"],
			["xī"]
		],
		"坏法乱纪": [
			["huài"],
			["fǎ"],
			["luàn"],
			["jì"]
		],
		"坏分子": [
			["huài"],
			["fèn"],
			["zǐ"]
		],
		"坏脾气": [
			["huài"],
			["pí"],
			["qì"]
		],
		"坏人心术": [
			["huài"],
			["rén"],
			["xīn"],
			["shù"]
		],
		"坏裳为裤": [
			["huài"],
			["shang"],
			["wéi"],
			["kù"]
		],
		"坏血病": [
			["huài"],
			["xuè"],
			["bìng"]
		],
		"坏植散群": [
			["huài"],
			["zhí"],
			["sàn"],
			["qún"]
		],
		"欢迸乱跳": [
			["huān"],
			["bèng"],
			["luàn"],
			["tiào"]
		],
		"欢蹦乱跳": [
			["huān"],
			["bèng"],
			["luàn"],
			["tiào"]
		],
		"欢呼雀跃": [
			["huān"],
			["hū"],
			["qué"],
			["yué"]
		],
		"欢声笑语": [
			["huān"],
			["shēng"],
			["xiào"],
			["yǔ"]
		],
		"欢若平生": [
			["huān"],
			["ruò"],
			["píng"],
			["shēng"]
		],
		"欢天喜地": [
			["huān"],
			["tiān"],
			["xǐ"],
			["dì"]
		],
		"欢喜若狂": [
			["huān"],
			["xǐ"],
			["ruò"],
			["kuáng"]
		],
		"欢喜冤家": [
			["huān"],
			["xǐ"],
			["yuān"],
			["jiā"]
		],
		"欢欣若狂": [
			["huān"],
			["xīn"],
			["ruò"],
			["kuáng"]
		],
		"还淳反古": [
			["huán"],
			["chún"],
			["fǎn"],
			["gǔ"]
		],
		"还淳反朴": [
			["huán"],
			["chún"],
			["fǎn"],
			["pǔ"]
		],
		"还淳反素": [
			["huán"],
			["chún"],
			["fǎn"],
			["sù"]
		],
		"还淳返朴": [
			["huán"],
			["chún"],
			["fǎn"],
			["pǔ"]
		],
		"还醇返朴": [
			["huán"],
			["chún"],
			["fǎn"],
			["pǔ"]
		],
		"还年卻老": [
			["huán"],
			["nián"],
			["què"],
			["lǎo"]
		],
		"还年却老": [
			["huán"],
			["nián"],
			["què"],
			["lǎo"]
		],
		"还年驻色": [
			["huán"],
			["nián"],
			["zhù"],
			["sè"]
		],
		"还朴反古": [
			["huán"],
			["pǔ"],
			["fǎn"],
			["gǔ"]
		],
		"还我河山": [
			["huán"],
			["wǒ"],
			["hé"],
			["shān"]
		],
		"还乡团": [
			["huán"],
			["xiāng"],
			["tuán"]
		],
		"还乡昼锦": [
			["huán"],
			["xiāng"],
			["zhòu"],
			["jǐn"]
		],
		"还元返本": [
			["huán"],
			["yuán"],
			["fǎn"],
			["běn"]
		],
		"还原反本": [
			["huán"],
			["yuán"],
			["fǎn"],
			["běn"]
		],
		"还原染料": [
			["huán"],
			["yuán"],
			["rǎn"],
			["liào"]
		],
		"还珠返璧": [
			["huán"],
			["zhū"],
			["fǎn"],
			["bì"]
		],
		"还珠合浦": [
			["huán"],
			["zhū"],
			["hé"],
			["pǔ"]
		],
		"还珠买椟": [
			["huán"],
			["zhū"],
			["mǎi"],
			["dú"]
		],
		"环肥燕瘦": [
			["huán"],
			["féi"],
			["yàn"],
			["shòu"]
		],
		"缓不济急": [
			["huǎn"],
			["bù"],
			["jì"],
			["jí"]
		],
		"缓步代车": [
			["huǎn"],
			["bù"],
			["dài"],
			["chē"]
		],
		"缓急轻重": [
			["huǎn"],
			["jí"],
			["qīng"],
			["zhòng"]
		],
		"缓急相济": [
			["huǎn"],
			["jí"],
			["xiāng"],
			["jì"]
		],
		"幻灯片": [
			["huàn"],
			["dēng"],
			["piàn"]
		],
		"宦海风波": [
			["huàn"],
			["hǎi"],
			["fēng"],
			["bō"]
		],
		"幻想曲": [
			["huàn"],
			["xiǎng"],
			["qǔ"]
		],
		"换斗移星": [
			["huàn"],
			["dǒu"],
			["yí"],
			["xīng"]
		],
		"换个儿": [
			["huàn"],
			["gè"],
			["ér"]
		],
		"换骨脱胎": [
			["huàn"],
			["gǔ"],
			["tuō"],
			["tāi"]
		],
		"换骨夺胎": [
			["huàn"],
			["gǔ"],
			["duó"],
			["tāi"]
		],
		"换汤不换药": [
			["huàn"],
			["tāng"],
			["bù"],
			["huàn"],
			["yào"]
		],
		"涣发大号": [
			["huàn"],
			["fā"],
			["dà"],
			["hào"]
		],
		"涣汗大号": [
			["huàn"],
			["hàn"],
			["dà"],
			["hào"]
		],
		"涣若冰释": [
			["huàn"],
			["ruò"],
			["bīng"],
			["shì"]
		],
		"涣若冰消": [
			["huàn"],
			["ruò"],
			["bīng"],
			["xiāo"]
		],
		"患得患失": [
			["huàn"],
			["dé"],
			["huàn"],
			["shī"]
		],
		"患难夫妻": [
			["huàn"],
			["nàn"],
			["fū"],
			["qī"]
		],
		"患难与共": [
			["huàn"],
			["nàn"],
			["yǔ"],
			["gòng"]
		],
		"患难之交": [
			["huàn"],
			["nàn"],
			["zhī"],
			["jiāo"]
		],
		"荒诞不经": [
			["huāng"],
			["dàn"],
			["bù"],
			["jīng"]
		],
		"荒诞无稽": [
			["huāng"],
			["dàn"],
			["wú"],
			["jī"]
		],
		"荒时暴月": [
			["huāng"],
			["shí"],
			["bào"],
			["yuè"]
		],
		"荒唐无稽": [
			["huāng"],
			["táng"],
			["wú"],
			["jī"]
		],
		"荒淫无度": [
			["huāng"],
			["yín"],
			["wú"],
			["dù"]
		],
		"皇皇不可终日": [
			["huáng"],
			["huáng"],
			["bù"],
			["kě"],
			["zhōng"],
			["rì"]
		],
		"慌不择路": [
			["huāng"],
			["bù"],
			["zé"],
			["lù"]
		],
		"皇亲国戚": [
			["huáng"],
			["qīn"],
			["guó"],
			["qī"]
		],
		"皇天不负苦心人": [
			["huáng"],
			["tiān"],
			["bù"],
			["fù"],
			["kǔ"],
			["xīn"],
			["rén"]
		],
		"黄耳传书": [
			["huáng"],
			["ěr"],
			["chuán"],
			["shū"]
		],
		"黄发垂髫": [
			["huáng"],
			["fà"],
			["chuí"],
			["tiáo"]
		],
		"黄发儿齿": [
			["huáng"],
			["fà"],
			["ér"],
			["chǐ"]
		],
		"黄发骀背": [
			["huáng"],
			["fā"],
			["dài"],
			["bèi"]
		],
		"黄发台背": [
			["huáng"],
			["fā"],
			["tái"],
			["bèi"]
		],
		"黄发鲐背": [
			["huáng"],
			["fā"],
			["tái"],
			["bèi"]
		],
		"黄风雾罩": [
			["huáng"],
			["fēng"],
			["wù"],
			["zhào"]
		],
		"黄干黑廋": [
			["huáng"],
			["gān"],
			["hēi"],
			["sōu"]
		],
		"黄冠草服": [
			["huáng"],
			["guàn"],
			["cǎo"],
			["fú"]
		],
		"黄冠草履": [
			["huáng"],
			["guàn"],
			["cǎo"],
			["lǚ"]
		],
		"黄冠野服": [
			["huáng"],
			["guàn"],
			["yě"],
			["fú"]
		],
		"黄花晚节": [
			["huáng"],
			["huā"],
			["wǎn"],
			["jié"]
		],
		"黄金时间": [
			["huáng"],
			["jīn"],
			["shí"],
			["jiān"]
		],
		"黄卷青灯": [
			["huáng"],
			["juàn"],
			["qīng"],
			["dēng"]
		],
		"黄卷幼妇": [
			["huáng"],
			["juàn"],
			["yòu"],
			["fù"]
		],
		"黄麻紫泥": [
			["huáng"],
			["má"],
			["zǐ"],
			["ní"]
		],
		"黄袍加体": [
			["huáng"],
			["páo"],
			["jiā"],
			["tǐ"]
		],
		"黄埔港": [
			["huáng"],
			["pǔ"],
			["gǎng"]
		],
		"黄雀伺蝉": [
			["huáng"],
			["què"],
			["sì"],
			["chán"]
		],
		"黄雀衔环": [
			["huáng"],
			["què"],
			["xián"],
			["huán"]
		],
		"黄雀在后": [
			["huáng"],
			["què"],
			["zài"],
			["hòu"]
		],
		"黄台之瓜": [
			["huáng"],
			["tái"],
			["zhī"],
			["guā"]
		],
		"黄汤淡水": [
			["huáng"],
			["tāng"],
			["dàn"],
			["shuǐ"]
		],
		"黄汤辣水": [
			["huáng"],
			["tāng"],
			["là"],
			["shuǐ"]
		],
		"黄钟长弃": [
			["huáng"],
			["zhōng"],
			["cháng"],
			["qì"]
		],
		"黄钟大吕": [
			["huáng"],
			["zhōng"],
			["dà"],
			["lǚ"]
		],
		"黄钟瓦釜": [
			["huáng"],
			["zhōng"],
			["wǎ"],
			["fǔ"]
		],
		"黄锺瓦缶": [
			["huáng"],
			["zhōng"],
			["wǎ"],
			["fǒu"]
		],
		"惶惶不可终日": [
			["huáng"],
			["huáng"],
			["bù"],
			["kě"],
			["zhōng"],
			["rì"]
		],
		"惶惶不安": [
			["huáng"],
			["huáng"],
			["bù"],
			["ān"]
		],
		"惶恐不安": [
			["huáng"],
			["kǒng"],
			["bù"],
			["ān"]
		],
		"潢池盗弄": [
			["huáng"],
			["shi"],
			["dào"],
			["nòng"]
		],
		"潢池弄兵": [
			["huáng"],
			["chí"],
			["nòng"],
			["bīng"]
		],
		"恍然大悟": [
			["huǎng"],
			["rán"],
			["dà"],
			["wù"]
		],
		"恍然若失": [
			["huǎng"],
			["rán"],
			["ruò"],
			["shī"]
		],
		"晃晃悠悠": [
			["huàng"],
			["huǎng"],
			["yōu"],
			["yōu"]
		],
		"灰不溜丢": [
			["huī"],
			["bù"],
			["liū"],
			["diū"]
		],
		"灰溜溜": [
			["huī"],
			["liū"],
			["liū"]
		],
		"灰蒙蒙": [
			["huī"],
			["mēng"],
			["méng"]
		],
		"灰身粉骨": [
			["huī"],
			["shēn"],
			["fěn"],
			["gǔ"]
		],
		"灰躯糜骨": [
			["huī"],
			["qū"],
			["mí"],
			["gǔ"]
		],
		"灰头土脸": [
			["huī"],
			["tóu"],
			["tǔ"],
			["liǎn"]
		],
		"灰头土面": [
			["huī"],
			["tóu"],
			["tǔ"],
			["miàn"]
		],
		"灰心丧气": [
			["huī"],
			["xīn"],
			["sàng"],
			["qì"]
		],
		"灰心丧意": [
			["huī"],
			["xīn"],
			["sàng"],
			["yì"]
		],
		"恢复期": [
			["huī"],
			["fù"],
			["qī"]
		],
		"恢宏大度": [
			["huī"],
			["hóng"],
			["dà"],
			["dù"]
		],
		"恢恢有余": [
			["huī"],
			["huī"],
			["yǒu"],
			["yú"]
		],
		"恢廓大度": [
			["huī"],
			["kuò"],
			["dà"],
			["dù"]
		],
		"挥发性": [
			["huī"],
			["fā"],
			["xìng"]
		],
		"挥发油": [
			["huī"],
			["fā"],
			["yóu"]
		],
		"挥汗成雨": [
			["huī"],
			["hàn"],
			["chéng"],
			["yǔ"]
		],
		"挥汗如雨": [
			["huī"],
			["hàn"],
			["rú"],
			["yǔ"]
		],
		"挥毫落纸": [
			["huī"],
			["háo"],
			["luò"],
			["zhǐ"]
		],
		"挥霍无度": [
			["huī"],
			["huò"],
			["wú"],
			["dù"]
		],
		"挥沐吐餐": [
			["huī"],
			["mù"],
			["tǔ"],
			["cān"]
		],
		"挥洒自如": [
			["huī"],
			["sǎ"],
			["zì"],
			["rú"]
		],
		"隳胆抽肠": [
			["huī"],
			["dǎn"],
			["chōu"],
			["cháng"]
		],
		"隳肝尝胆": [
			["huī"],
			["gān"],
			["cháng"],
			["dǎn"]
		],
		"隳肝沥胆": [
			["huī"],
			["gān"],
			["lì"],
			["dǎn"]
		],
		"隳节败名": [
			["huī"],
			["jié"],
			["bài"],
			["míng"]
		],
		"回肠百转": [
			["huí"],
			["cháng"],
			["bǎi"],
			["zhuǎn"]
		],
		"回肠九转": [
			["huí"],
			["cháng"],
			["jiǔ"],
			["zhuǎn"]
		],
		"回筹转策": [
			["huí"],
			["chóu"],
			["zhuǎn"],
			["cè"]
		],
		"回船转舵": [
			["huí"],
			["chuán"],
			["zhǎn"],
			["duò"]
		],
		"回春之术": [
			["huí"],
			["chūn"],
			["zhī"],
			["shù"]
		],
		"回干就湿": [
			["huí"],
			["gān"],
			["jiù"],
			["shī"]
		],
		"回黄转绿": [
			["huí"],
			["huáng"],
			["zhuǎn"],
			["lǜ"]
		],
		"回老家": [
			["huí"],
			["lǎo"],
			["jiā"]
		],
		"回娘家": [
			["huí"],
			["niáng"],
			["jiā"]
		],
		"回山倒海": [
			["huí"],
			["shān"],
			["dǎo"],
			["hǎi"]
		],
		"回山转海": [
			["huí"],
			["shān"],
			["zhuǎn"],
			["hǎi"]
		],
		"回天倒日": [
			["huí"],
			["tiān"],
			["dǎo"],
			["rì"]
		],
		"回天乏术": [
			["huí"],
			["tiān"],
			["fá"],
			["shù"]
		],
		"回天转地": [
			["huí"],
			["tiān"],
			["zhuǎn"],
			["dì"]
		],
		"回天运斗": [
			["huí"],
			["tiān"],
			["yùn"],
			["dǒu"]
		],
		"回头见": [
			["huí"],
			["tóu"],
			["jiàn"]
		],
		"回头路": [
			["huí"],
			["tóu"],
			["lù"]
		],
		"回头是岸": [
			["huí"],
			["tóu"],
			["shì"],
			["àn"]
		],
		"回文织锦": [
			["huí"],
			["wén"],
			["zhī"],
			["jǐn"]
		],
		"回邪入正": [
			["huí"],
			["xié"],
			["rù"],
			["zhèng"]
		],
		"回心转意": [
			["huí"],
			["xīn"],
			["zhuǎn"],
			["yì"]
		],
		"回旋曲": [
			["huí"],
			["xuán"],
			["qǔ"]
		],
		"悔不当初": [
			["huǐ"],
			["bù"],
			["dāng"],
			["chū"]
		],
		"悔读南华": [
			["huǐ"],
			["dú"],
			["nán"],
			["huá"]
		],
		"悔过书": [
			["huǐ"],
			["guò"],
			["shū"]
		],
		"悔过自新": [
			["huǐ"],
			["guò"],
			["zì"],
			["xīn"]
		],
		"悔过自责": [
			["huǐ"],
			["guò"],
			["zì"],
			["zè"]
		],
		"悔其少作": [
			["huǐ"],
			["qí"],
			["shǎo"],
			["zuò"]
		],
		"悔之不及": [
			["huǐ"],
			["zhī"],
			["bù"],
			["jí"]
		],
		"汇丰银行": [
			["huì"],
			["fēng"],
			["yín"],
			["háng"]
		],
		"会道能说": [
			["huì"],
			["dào"],
			["néng"],
			["shuō"]
		],
		"会道门": [
			["huì"],
			["dào"],
			["mén"]
		],
		"会逢其适": [
			["huì"],
			["féng"],
			["qí"],
			["shì"]
		],
		"会计师": [
			["kuài"],
			["jì"],
			["shī"]
		],
		"会计制度": [
			["kuài"],
			["jì"],
			["zhì"],
			["dù"]
		],
		"会家不忙": [
			["huì"],
			["jiā"],
			["bù"],
			["máng"]
		],
		"会客室": [
			["huì"],
			["kè"],
			["shì"]
		],
		"会少离多": [
			["huì"],
			["shǎo"],
			["lí"],
			["duō"]
		],
		"会议室": [
			["huì"],
			["yì"],
			["shì"]
		],
		"会员国": [
			["huì"],
			["yuán"],
			["guó"]
		],
		"会者不忙": [
			["huì"],
			["zhě"],
			["bù"],
			["máng"]
		],
		"讳恶不悛": [
			["huì"],
			["è"],
			["bù"],
			["quān"]
		],
		"讳莫高深": [
			["huì"],
			["mò"],
			["gāo"],
			["shēn"]
		],
		"讳莫如深": [
			["huì"],
			["mò"],
			["rú"],
			["shēn"]
		],
		"讳树数马": [
			["huì"],
			["shù"],
			["shù"],
			["mǎ"]
		],
		"诲人不倦": [
			["huì"],
			["rén"],
			["bù"],
			["juàn"]
		],
		"诲人不惓": [
			["huì"],
			["rén"],
			["bù"],
			["tiě"]
		],
		"贿货公行": [
			["huì"],
			["huò"],
			["gōng"],
			["xíng"]
		],
		"贿赂公行": [
			["huì"],
			["lù"],
			["gōng"],
			["xíng"]
		],
		"贿赂并行": [
			["huì"],
			["lù"],
			["bìng"],
			["xíng"]
		],
		"晦盲否塞": [
			["huì"],
			["máng"],
			["pǐ"],
			["sè"]
		],
		"秽德垢行": [
			["huì"],
			["dé"],
			["gòu"],
			["xíng"]
		],
		"秽言污语": [
			["huì"],
			["yán"],
			["wū"],
			["yǔ"]
		],
		"喙长三尺": [
			["huì"],
			["cháng"],
			["sān"],
			["chǐ"]
		],
		"惠而不费": [
			["huì"],
			["ér"],
			["bù"],
			["fèi"]
		],
		"惠更斯": [
			["huì"],
			["gēng"],
			["sī"]
		],
		"惠风和畅": [
			["huì"],
			["fēng"],
			["hé"],
			["chàng"]
		],
		"惠子知我": [
			["huì"],
			["zǐ"],
			["zhī"],
			["wǒ"]
		],
		"毁不灭性": [
			["huǐ"],
			["bù"],
			["miè"],
			["xìng"]
		],
		"毁不危身": [
			["huǐ"],
			["bù"],
			["wēi"],
			["shēn"]
		],
		"毁车杀马": [
			["huǐ"],
			["chē"],
			["shā"],
			["mǎ"]
		],
		"毁风败俗": [
			["huǐ"],
			["fēng"],
			["bài"],
			["sú"]
		],
		"毁方瓦合": [
			["huǐ"],
			["fāng"],
			["wǎ"],
			["hé"]
		],
		"毁冠裂裳": [
			["huǐ"],
			["guān"],
			["liè"],
			["cháng"]
		],
		"毁家纾国": [
			["huǐ"],
			["jiā"],
			["shū"],
			["guó"]
		],
		"毁家纾难": [
			["huǐ"],
			["jiā"],
			["shū"],
			["nàn"]
		],
		"毁誉参半": [
			["huǐ"],
			["yù"],
			["cān"],
			["bàn"]
		],
		"毁瓦画墁": [
			["huǐ"],
			["wǎ"],
			["huà"],
			["màn"]
		],
		"毁誉不一": [
			["huǐ"],
			["yù"],
			["bù"],
			["yī"]
		],
		"毁钟为铎": [
			["huǐ"],
			["zhōng"],
			["wéi"],
			["duó"]
		],
		"毁舟为杕": [
			["huǐ"],
			["zhōu"],
			["wéi"],
			["duò"]
		],
		"慧心巧思": [
			["huì"],
			["xīn"],
			["qiǎo"],
			["sī"]
		],
		"昏定晨省": [
			["hūn"],
			["dìng"],
			["chén"],
			["xǐng"]
		],
		"昏镜重明": [
			["hūn"],
			["jìng"],
			["chóng"],
			["míng"]
		],
		"昏镜重磨": [
			["hūn"],
			["jìng"],
			["chóng"],
			["mó"]
		],
		"昏聩无能": [
			["hūn"],
			["kuì"],
			["wú"],
			["néng"]
		],
		"昏迷不省": [
			["hūn"],
			["mí"],
			["bù"],
			["xǐng"]
		],
		"昏迷不醒": [
			["hūn"],
			["mí"],
			["bù"],
			["xǐng"]
		],
		"昏天暗地": [
			["hūn"],
			["tiān"],
			["àn"],
			["dì"]
		],
		"昏天黑地": [
			["hūn"],
			["tiān"],
			["hēi"],
			["dì"]
		],
		"昏头搭脑": [
			["hūn"],
			["tóu"],
			["dā"],
			["nǎo"]
		],
		"昏头打脑": [
			["hūn"],
			["tóu"],
			["dǎ"],
			["nǎo"]
		],
		"昏头昏脑": [
			["hūn"],
			["tóu"],
			["hūn"],
			["nǎo"]
		],
		"昏头晕脑": [
			["hūn"],
			["tóu"],
			["yūn"],
			["nǎo"]
		],
		"昏头转向": [
			["hūn"],
			["tóu"],
			["zhuǎn"],
			["xiàng"]
		],
		"浑抡吞枣": [
			["hún"],
			["lún"],
			["tūn"],
			["zǎo"]
		],
		"浑然无知": [
			["hún"],
			["rán"],
			["wú"],
			["zhī"]
		],
		"浑身解数": [
			["hún"],
			["shēn"],
			["xiè"],
			["shù"]
		],
		"浑身上下": [
			["hún"],
			["shēn"],
			["shàng"],
			["xià"]
		],
		"浑然一体": [
			["hún"],
			["rán"],
			["yī"],
			["tǐ"]
		],
		"浑俗和光": [
			["hún"],
			["sú"],
			["hé"],
			["guāng"]
		],
		"浑头浑脑": [
			["hún"],
			["tóu"],
			["hún"],
			["nǎo"]
		],
		"魂不负体": [
			["hún"],
			["bù"],
			["fù"],
			["tǐ"]
		],
		"魂不附体": [
			["hún"],
			["bù"],
			["fù"],
			["tǐ"]
		],
		"魂不赴体": [
			["hún"],
			["bù"],
			["fù"],
			["tǐ"]
		],
		"魂不守舍": [
			["hún"],
			["bù"],
			["shǒu"],
			["shè"]
		],
		"魂不著体": [
			["hún"],
			["bù"],
			["zhuó"],
			["tǐ"]
		],
		"魂不守宅": [
			["hún"],
			["bù"],
			["shǒu"],
			["zhái"]
		],
		"魂颠梦倒": [
			["hún"],
			["diān"],
			["mèng"],
			["dǎo"]
		],
		"魂不着体": [
			["hún"],
			["bù"],
			["zhuó"],
			["tǐ"]
		],
		"魂飞胆颤": [
			["hún"],
			["fēi"],
			["dǎn"],
			["chàn"]
		],
		"魂飞胆裂": [
			["hún"],
			["fēi"],
			["dǎn"],
			["liè"]
		],
		"魂飞胆落": [
			["hún"],
			["fēi"],
			["dǎn"],
			["luò"]
		],
		"魂飞胆丧": [
			["hún"],
			["fēi"],
			["dǎn"],
			["sàng"]
		],
		"魂飞魄散": [
			["hún"],
			["fēi"],
			["pò"],
			["sàn"]
		],
		"魂飞魄丧": [
			["hún"],
			["fēi"],
			["pò"],
			["sāng"]
		],
		"魂飞神丧": [
			["hún"],
			["fēi"],
			["shén"],
			["sàng"]
		],
		"魂耗魄丧": [
			["hún"],
			["hào"],
			["pò"],
			["sàng"]
		],
		"魂惊胆颤": [
			["hún"],
			["jīng"],
			["dǎn"],
			["chàn"]
		],
		"魂惊魄落": [
			["hún"],
			["jīng"],
			["pò"],
			["luò"]
		],
		"魂惊胆落": [
			["hún"],
			["jīng"],
			["dǎn"],
			["luò"]
		],
		"魂飘魄散": [
			["hún"],
			["piāo"],
			["pò"],
			["sàn"]
		],
		"魂丧神夺": [
			["hún"],
			["sàng"],
			["shén"],
			["duó"]
		],
		"魂慑色沮": [
			["hún"],
			["shè"],
			["sè"],
			["jǔ"]
		],
		"魂慴色沮": [
			["hún"],
			["shè"],
			["sè"],
			["jǔ"]
		],
		"魂亡胆落": [
			["hún"],
			["wáng"],
			["dǎn"],
			["luò"]
		],
		"魂亡魄失": [
			["hún"],
			["wáng"],
			["pò"],
			["shī"]
		],
		"魂消胆丧": [
			["hún"],
			["xiāo"],
			["dǎn"],
			["sàng"]
		],
		"魂消魄丧": [
			["hún"],
			["xiāo"],
			["pò"],
			["sàng"]
		],
		"混沌不分": [
			["hùn"],
			["dùn"],
			["bù"],
			["fēn"]
		],
		"混混沌沌": [
			["hùn"],
			["hùn"],
			["dùn"],
			["dùn"]
		],
		"混混噩噩": [
			["hún"],
			["hún"],
			["è"],
			["è"]
		],
		"混混沄沄": [
			["hùn"],
			["hùn"],
			["yún"],
			["yún"]
		],
		"混然天成": [
			["hùn"],
			["rán"],
			["tiān"],
			["chéng"]
		],
		"混然一体": [
			["hún"],
			["rán"],
			["yī"],
			["tǐ"]
		],
		"混世魔王": [
			["hùn"],
			["shì"],
			["mó"],
			["wáng"]
		],
		"混水捞鱼": [
			["hùn"],
			["shuǐ"],
			["lāo"],
			["yú"]
		],
		"混日子": [
			["hùn"],
			["rì"],
			["zi"]
		],
		"混水摸鱼": [
			["hùn"],
			["shuǐ"],
			["mō"],
			["yú"]
		],
		"混俗和光": [
			["hùn"],
			["sú"],
			["hé"],
			["guāng"]
		],
		"混为一谈": [
			["hùn"],
			["wéi"],
			["yī"],
			["tán"]
		],
		"混淆视听": [
			["hùn"],
			["xiáo"],
			["shì"],
			["tīng"]
		],
		"混淆黑白": [
			["hùn"],
			["xiáo"],
			["hēi"],
			["bái"]
		],
		"混淆是非": [
			["hùn"],
			["xiáo"],
			["shì"],
			["fēi"]
		],
		"混应滥应": [
			["hùn"],
			["yīng"],
			["làn"],
			["yīng"]
		],
		"混作一谈": [
			["hùn"],
			["zuò"],
			["yī"],
			["tán"]
		],
		"豁出去": [
			["huō"],
			["chū"],
			["qù"]
		],
		"豁达大度": [
			["huò"],
			["dá"],
			["dà"],
			["dù"]
		],
		"豁口截舌": [
			["huō"],
			["kǒu"],
			["jié"],
			["shé"]
		],
		"豁免权": [
			["huò"],
			["miǎn"],
			["quán"]
		],
		"豁然大悟": [
			["huò"],
			["rán"],
			["dà"],
			["wù"]
		],
		"豁然贯通": [
			["huò"],
			["rán"],
			["guàn"],
			["tōng"]
		],
		"豁然顿悟": [
			["huò"],
			["rán"],
			["dùn"],
			["wù"]
		],
		"豁然开朗": [
			["huò"],
			["rán"],
			["kāi"],
			["lǎng"]
		],
		"豁然开悟": [
			["huò"],
			["rán"],
			["kāi"],
			["wù"]
		],
		"豁然省悟": [
			["huò"],
			["rán"],
			["xǐng"],
			["wù"]
		],
		"豁然确斯": [
			["huò"],
			["rán"],
			["què"],
			["sī"]
		],
		"豁人耳目": [
			["huò"],
			["rén"],
			["ěr"],
			["mù"]
		],
		"活蹦活跳": [
			["huó"],
			["bèng"],
			["huó"],
			["tiào"]
		],
		"活蹦乱跳": [
			["huó"],
			["bèng"],
			["luàn"],
			["tiào"]
		],
		"活剥生吞": [
			["huó"],
			["bāo"],
			["shēng"],
			["tūn"]
		],
		"活地狱": [
			["huó"],
			["dì"],
			["yù"]
		],
		"活动分子": [
			["huó"],
			["dòng"],
			["fèn"],
			["zǐ"]
		],
		"活动家": [
			["huó"],
			["dòng"],
			["jiā"]
		],
		"活见鬼": [
			["huó"],
			["jiàn"],
			["guǐ"]
		],
		"活龙鲜健": [
			["huó"],
			["lóng"],
			["xiān"],
			["jiàn"]
		],
		"活教材": [
			["huó"],
			["jiào"],
			["cái"]
		],
		"活期存款": [
			["huó"],
			["qī"],
			["cún"],
			["kuǎn"]
		],
		"活鲜鲜": [
			["huó"],
			["xiān"],
			["xiān"]
		],
		"活阎王": [
			["huó"],
			["yán"],
			["wáng"]
		],
		"活字印刷": [
			["huó"],
			["zì"],
			["yìn"],
			["shuā"]
		],
		"火把节": [
			["huǒ"],
			["bǎ"],
			["jié"]
		],
		"火车头": [
			["huǒ"],
			["chē"],
			["tóu"]
		],
		"火耕流种": [
			["huǒ"],
			["gēng"],
			["liú"],
			["zhǒng"]
		],
		"火耕水种": [
			["huǒ"],
			["gēng"],
			["shuǐ"],
			["zhòng"]
		],
		"火急火燎": [
			["huǒ"],
			["jí"],
			["huǒ"],
			["liǎo"]
		],
		"火箭炮": [
			["huǒ"],
			["jiàn"],
			["pào"]
		],
		"火尽灰冷": [
			["huǒ"],
			["jìn"],
			["huī"],
			["lěng"]
		],
		"火尽薪传": [
			["huǒ"],
			["jìn"],
			["xīn"],
			["chuán"]
		],
		"火力发电": [
			["huǒ"],
			["lì"],
			["fā"],
			["diàn"]
		],
		"火冒三尺": [
			["huǒ"],
			["mào"],
			["sān"],
			["chǐ"]
		],
		"火冒三丈": [
			["huǒ"],
			["mào"],
			["sān"],
			["zhàng"]
		],
		"火妻灰子": [
			["huǒ"],
			["qī"],
			["huī"],
			["zǐ"]
		],
		"火山汤海": [
			["huǒ"],
			["shān"],
			["tāng"],
			["hǎi"]
		],
		"火上加油": [
			["huǒ"],
			["shàng"],
			["jiā"],
			["yóu"]
		],
		"火上浇油": [
			["huǒ"],
			["shàng"],
			["jiāo"],
			["yóu"]
		],
		"火上弄冰": [
			["huǒ"],
			["shàng"],
			["nòng"],
			["bīng"]
		],
		"火上添油": [
			["huǒ"],
			["shàng"],
			["tiān"],
			["yóu"]
		],
		"火烧火燎": [
			["huǒ"],
			["shāo"],
			["huǒ"],
			["liǎo"]
		],
		"火头军": [
			["huǒ"],
			["tóu"],
			["jūn"]
		],
		"火头上": [
			["huǒ"],
			["tóu"],
			["shàng"]
		],
		"火中取栗": [
			["huǒ"],
			["zhōng"],
			["qǔ"],
			["lì"]
		],
		"伙伴关系": [
			["huǒ"],
			["bàn"],
			["guān"],
			["xì"]
		],
		"或多或少": [
			["huò"],
			["duō"],
			["huò"],
			["shǎo"]
		],
		"货而不售": [
			["huo"],
			["er"],
			["bu"],
			["shou"]
		],
		"货贿公行": [
			["huò"],
			["huì"],
			["gōng"],
			["xíng"]
		],
		"货郎鼓": [
			["huò"],
			["láng"],
			["gǔ"]
		],
		"货郎担": [
			["huò"],
			["láng"],
			["dān"]
		],
		"货赂大行": [
			["huò"],
			["lù"],
			["dà"],
			["xíng"]
		],
		"货赂公行": [
			["huò"],
			["lù"],
			["gōng"],
			["xíng"]
		],
		"货真价实": [
			["huò"],
			["zhēn"],
			["jià"],
			["shí"]
		],
		"获得性免疫": [
			["huò"],
			["dé"],
			["xìng"],
			["miǎn"],
			["yì"]
		],
		"获隽公车": [
			["huò"],
			["jūn"],
			["gōng"],
			["chē"]
		],
		"祸不单行": [
			["huò"],
			["bù"],
			["dān"],
			["xíng"]
		],
		"祸不旋踵": [
			["huò"],
			["bù"],
			["xuán"],
			["zhǒng"]
		],
		"祸从口出": [
			["huò"],
			["cóng"],
			["kǒu"],
			["chū"]
		],
		"祸从口生": [
			["huò"],
			["cóng"],
			["kǒu"],
			["shēng"]
		],
		"祸福同门": [
			["huò"],
			["fú"],
			["tóng"],
			["mén"]
		],
		"祸从天降": [
			["huò"],
			["cóng"],
			["tiān"],
			["jiàng"]
		],
		"祸福相生": [
			["huò"],
			["fú"],
			["xiāng"],
			["shēng"]
		],
		"祸福相依": [
			["huò"],
			["fú"],
			["xiāng"],
			["yī"]
		],
		"祸福相倚": [
			["huò"],
			["fú"],
			["xiāng"],
			["yī"]
		],
		"祸福有命": [
			["huò"],
			["fú"],
			["yǒu"],
			["mìng"]
		],
		"祸结兵连": [
			["huò"],
			["jié"],
			["bīng"],
			["lián"]
		],
		"祸稔恶积": [
			["huò"],
			["rěn"],
			["è"],
			["jī"]
		],
		"祸迫眉睫": [
			["huò"],
			["pò"],
			["méi"],
			["jié"]
		],
		"祸为福先": [
			["huò"],
			["wéi"],
			["fú"],
			["xiān"]
		],
		"祸中有福": [
			["huò"],
			["zhōng"],
			["yǒu"],
			["fú"]
		],
		"祸盈恶稔": [
			["huò"],
			["yíng"],
			["è"],
			["rěn"]
		],
		"蠖屈不伸": [
			["huò"],
			["qū"],
			["bù"],
			["shēn"]
		],
		"击搏挽裂": [
			["jī"],
			["bó"],
			["wǎn"],
			["liè"]
		],
		"击电奔星": [
			["jī"],
			["diàn"],
			["bēn"],
			["xīng"]
		],
		"击毂摩肩": [
			["jī"],
			["gǔ"],
			["mó"],
			["jiān"]
		],
		"击楫中流": [
			["jī"],
			["jí"],
			["zhōng"],
			["liú"]
		],
		"击节称赏": [
			["jī"],
			["jié"],
			["chēng"],
			["shǎng"]
		],
		"击节叹赏": [
			["jī"],
			["jié"],
			["tàn"],
			["shǎng"]
		],
		"击排冒没": [
			["jī"],
			["pái"],
			["mào"],
			["mò"]
		],
		"击其不意": [
			["jī"],
			["qí"],
			["bù"],
			["yì"]
		],
		"击石弹丝": [
			["jī"],
			["shí"],
			["tán"],
			["sī"]
		],
		"击中要害": [
			["jī"],
			["zhòng"],
			["yào"],
			["hài"]
		],
		"击钟鼎食": [
			["jī"],
			["zhōng"],
			["dǐng"],
			["shí"]
		],
		"击筑悲歌": [
			["jī"],
			["zhù"],
			["bēi"],
			["gē"]
		],
		"叽叽嘎嘎": [
			["jī"],
			["jī"],
			["gā"],
			["gā"]
		],
		"叽叽喳喳": [
			["jī"],
			["jī"],
			["zhā"],
			["zhā"]
		],
		"叽里呱啦": [
			["jī"],
			["lǐ"],
			["guā"],
			["lā"]
		],
		"叽哩咕噜": [
			["jī"],
			["lǐ"],
			["gū"],
			["lū"]
		],
		"饥不遑食": [
			["jī"],
			["bù"],
			["huáng"],
			["shí"]
		],
		"饥不暇食": [
			["jī"],
			["bù"],
			["xiá"],
			["shí"]
		],
		"饥不择食": [
			["jī"],
			["bù"],
			["zé"],
			["shí"]
		],
		"饥冻交切": [
			["jī"],
			["dòng"],
			["jiāo"],
			["qiē"]
		],
		"饥寒交迫": [
			["jī"],
			["hán"],
			["jiāo"],
			["pò"]
		],
		"饥焰中烧": [
			["jī"],
			["yàn"],
			["zhōng"],
			["shāo"]
		],
		"饥寒交切": [
			["jī"],
			["hán"],
			["jiāo"],
			["qiē"]
		],
		"机不可失": [
			["jī"],
			["bù"],
			["kě"],
			["shī"]
		],
		"机不容发": [
			["jī"],
			["bù"],
			["róng"],
			["fā"]
		],
		"机不旋踵": [
			["jī"],
			["bù"],
			["xuán"],
			["zhǒng"]
		],
		"机动车": [
			["jī"],
			["dòng"],
			["chē"]
		],
		"机关车": [
			["jī"],
			["guān"],
			["chē"]
		],
		"机关炮": [
			["jī"],
			["guān"],
			["pào"]
		],
		"机关算尽": [
			["jī"],
			["guān"],
			["suàn"],
			["jìn"]
		],
		"机关用尽": [
			["jī"],
			["guān"],
			["yòng"],
			["jìn"]
		],
		"机会主义": [
			["jī"],
			["huì"],
			["zhǔ"],
			["yì"]
		],
		"机难轻失": [
			["jī"],
			["nán"],
			["qīng"],
			["shī"]
		],
		"机器脚踏车": [
			["jī"],
			["qì"],
			["jiǎo"],
			["tà"],
			["chē"]
		],
		"机事不密": [
			["jī"],
			["shì"],
			["bù"],
			["mì"]
		],
		"机械化": [
			["jī"],
			["xiè"],
			["huà"]
		],
		"机械论": [
			["jī"],
			["xiè"],
			["lùn"]
		],
		"机要秘书": [
			["jī"],
			["yào"],
			["mì"],
			["shū"]
		],
		"机要员": [
			["jī"],
			["yào"],
			["yuán"]
		],
		"机杼一家": [
			["jī"],
			["zhù"],
			["yī"],
			["jiā"]
		],
		"肌劈理解": [
			["jī"],
			["pī"],
			["lǐ"],
			["jiě"]
		],
		"鸡肠狗肚": [
			["jī"],
			["cháng"],
			["gǒu"],
			["dù"]
		],
		"鸡不及凤": [
			["jī"],
			["bù"],
			["jí"],
			["fèng"]
		],
		"鸡虫得丧": [
			["jī"],
			["chóng"],
			["dé"],
			["sàng"]
		],
		"鸡虫得失": [
			["jī"],
			["chóng"],
			["dé"],
			["shī"]
		],
		"鸡蛋里找骨头": [
			["jī"],
			["dàn"],
			["lǐ"],
			["zhǎo"],
			["gǔ"],
			["tóu"]
		],
		"鸡飞蛋打": [
			["jī"],
			["fēi"],
			["dàn"],
			["dǎ"]
		],
		"鸡飞狗跳": [
			["jī"],
			["fēi"],
			["gǒu"],
			["tiào"]
		],
		"鸡肤鹤发": [
			["jī"],
			["fū"],
			["hè"],
			["fā"]
		],
		"鸡公车": [
			["jī"],
			["gōng"],
			["chē"]
		],
		"鸡骨支床": [
			["jī"],
			["gǔ"],
			["zhī"],
			["chuáng"]
		],
		"鸡毛掸子": [
			["jī"],
			["máo"],
			["dǎn"],
			["zǐ"]
		],
		"鸡毛信": [
			["jī"],
			["máo"],
			["xìn"]
		],
		"鸡内金": [
			["jī"],
			["nà"],
			["jīn"]
		],
		"鸡皮疙瘩": [
			["jī"],
			["pí"],
			["gē"],
			["dā"]
		],
		"鸡皮鹤发": [
			["jī"],
			["pí"],
			["hè"],
			["fà"]
		],
		"鸡犬不安": [
			["jī"],
			["quǎn"],
			["bù"],
			["ān"]
		],
		"鸡栖凤巢": [
			["jī"],
			["qī"],
			["fèng"],
			["cháo"]
		],
		"鸡犬不惊": [
			["jī"],
			["quǎn"],
			["bù"],
			["jīng"]
		],
		"鸡犬不留": [
			["jī"],
			["quǎn"],
			["bù"],
			["liú"]
		],
		"鸡犬不宁": [
			["jī"],
			["quǎn"],
			["bù"],
			["níng"]
		],
		"鸡犬不闻": [
			["jī"],
			["quǎn"],
			["bù"],
			["wén"]
		],
		"鸡犬相闻": [
			["jī"],
			["quǎn"],
			["xiāng"],
			["wén"]
		],
		"鸡声鹅斗": [
			["jī"],
			["shēng"],
			["é"],
			["dòu"]
		],
		"鸡尸牛从": [
			["jī"],
			["shī"],
			["niú"],
			["cóng"]
		],
		"鸡头鱼刺": [
			["jī"],
			["tóu"],
			["yú"],
			["cì"]
		],
		"鸡尾酒": [
			["jī"],
			["wěi"],
			["jiǔ"]
		],
		"鸡尾酒会": [
			["jī"],
			["wěi"],
			["jiǔ"],
			["huì"]
		],
		"鸡鹜相争": [
			["jī"],
			["wù"],
			["xiāng"],
			["zhēng"]
		],
		"鸡鹜争食": [
			["jī"],
			["wù"],
			["zhēng"],
			["shí"]
		],
		"鸡胸龟背": [
			["jī"],
			["xiōng"],
			["guī"],
			["bèi"]
		],
		"鸡血石": [
			["jī"],
			["xiě"],
			["shí"]
		],
		"鸡争鹅斗": [
			["jī"],
			["zhēng"],
			["é"],
			["dòu"]
		],
		"唧唧喳喳": [
			["jī"],
			["jī"],
			["zhā"],
			["zhā"]
		],
		"屐齿之折": [
			["jī"],
			["chǐ"],
			["zhī"],
			["zhé"]
		],
		"积不相能": [
			["jī"],
			["bù"],
			["xiāng"],
			["néng"]
		],
		"积草屯粮": [
			["jī"],
			["cǎo"],
			["tún"],
			["liáng"]
		],
		"积谗糜骨": [
			["jī"],
			["chán"],
			["méi"],
			["gǔ"]
		],
		"积德累功": [
			["jī"],
			["dé"],
			["lěi"],
			["gōng"]
		],
		"积谗磨骨": [
			["jī"],
			["chán"],
			["mó"],
			["gǔ"]
		],
		"积德累善": [
			["jī"],
			["dé"],
			["lěi"],
			["shàn"]
		],
		"积德累仁": [
			["jī"],
			["dé"],
			["lěi"],
			["rén"]
		],
		"积恶余殃": [
			["jī"],
			["è"],
			["yú"],
			["yāng"]
		],
		"积毁销骨": [
			["jī"],
			["huǐ"],
			["xiāo"],
			["gǔ"]
		],
		"积功兴业": [
			["jī"],
			["gōng"],
			["xīng"],
			["yè"]
		],
		"积极分子": [
			["jī"],
			["jí"],
			["fèn"],
			["zǐ"]
		],
		"积甲山齐": [
			["jī"],
			["jiǎ"],
			["shān"],
			["qí"]
		],
		"积金累玉": [
			["jī"],
			["jīn"],
			["lèi"],
			["yù"]
		],
		"积露为波": [
			["jī"],
			["lù"],
			["wéi"],
			["bō"]
		],
		"积年累岁": [
			["jī"],
			["nián"],
			["lěi"],
			["suì"]
		],
		"积年累月": [
			["jī"],
			["nián"],
			["lěi"],
			["yuè"]
		],
		"积日累久": [
			["jī"],
			["rì"],
			["lěi"],
			["jiǔ"]
		],
		"积日累月": [
			["jī"],
			["rì"],
			["lěi"],
			["yuè"]
		],
		"积日累岁": [
			["jī"],
			["rì"],
			["lěi"],
			["suì"]
		],
		"积沙成塔": [
			["jī"],
			["shā"],
			["chéng"],
			["tǎ"]
		],
		"积沙成滩": [
			["jī"],
			["shā"],
			["chéng"],
			["tān"]
		],
		"积时累日": [
			["jī"],
			["shí"],
			["lěi"],
			["rì"]
		],
		"积少成多": [
			["jī"],
			["shǎo"],
			["chéng"],
			["duō"]
		],
		"积思广益": [
			["jī"],
			["sī"],
			["guǎng"],
			["yì"]
		],
		"积素累旧": [
			["jī"],
			["sù"],
			["lěi"],
			["jiù"]
		],
		"积岁累月": [
			["jī"],
			["suì"],
			["lěi"],
			["yuè"]
		],
		"积微成著": [
			["jī"],
			["wēi"],
			["chéng"],
			["zhù"]
		],
		"积习难除": [
			["jī"],
			["xí"],
			["nán"],
			["chú"]
		],
		"积习难改": [
			["jī"],
			["xí"],
			["nán"],
			["gǎi"]
		],
		"积小成大": [
			["jī"],
			["xiǎo"],
			["chéng"],
			["dà"]
		],
		"积雪囊萤": [
			["jī"],
			["xuě"],
			["náng"],
			["yíng"]
		],
		"积薪候燎": [
			["jī"],
			["xīn"],
			["hòu"],
			["liáo"]
		],
		"积以为常": [
			["jī"],
			["yǐ"],
			["wéi"],
			["cháng"]
		],
		"积雨云": [
			["jī"],
			["yǔ"],
			["yún"]
		],
		"积重不反": [
			["jī"],
			["zhòng"],
			["bù"],
			["fǎn"]
		],
		"积重不返": [
			["jī"],
			["zhòng"],
			["bù"],
			["fǎn"]
		],
		"积重难反": [
			["jī"],
			["zhòng"],
			["nán"],
			["fǎn"]
		],
		"积重难返": [
			["jī"],
			["zhòng"],
			["nán"],
			["fǎn"]
		],
		"积铢累寸": [
			["jī"],
			["zhū"],
			["lěi"],
			["cùn"]
		],
		"赍粮藉寇": [
			["jī"],
			["liáng"],
			["jiè"],
			["kòu"]
		],
		"赍志而没": [
			["jī"],
			["zhì"],
			["ér"],
			["mò"]
		],
		"赍志以没": [
			["jī"],
			["zhì"],
			["yǐ"],
			["méi"]
		],
		"畸重畸轻": [
			["jī"],
			["zhòng"],
			["jī"],
			["qīng"]
		],
		"箕裘相继": [
			["jī"],
			["qiú"],
			["xiāng"],
			["jì"]
		],
		"箕风毕雨": [
			["jī"],
			["fēng"],
			["bì"],
			["yǔ"]
		],
		"箕山之风": [
			["jī"],
			["shān"],
			["zhī"],
			["fēng"]
		],
		"畸轻畸重": [
			["jī"],
			["qīng"],
			["jī"],
			["zhòng"]
		],
		"箕山之节": [
			["jī"],
			["shān"],
			["zhī"],
			["jié"]
		],
		"稽古揆今": [
			["jī"],
			["gǔ"],
			["zhèn"],
			["jīn"]
		],
		"稽古振今": [
			["jī"],
			["gǔ"],
			["zhèn"],
			["jīn"]
		],
		"稽疑送难": [
			["jī"],
			["yí"],
			["sòng"],
			["nán"]
		],
		"齑身粉骨": [
			["jī"],
			["shēn"],
			["fěn"],
			["gǔ"]
		],
		"激薄停浇": [
			["jī"],
			["bó"],
			["tíng"],
			["jiāo"]
		],
		"激忿填膺": [
			["jī"],
			["fèn"],
			["tián"],
			["yīng"]
		],
		"激将法": [
			["jī"],
			["jiàng"],
			["fǎ"]
		],
		"及笄年华": [
			["jí"],
			["jī"],
			["nián"],
			["huá"]
		],
		"及宾有鱼": [
			["jí"],
			["bīn"],
			["yoǔ"],
			["yú"]
		],
		"及溺呼船": [
			["jí"],
			["nì"],
			["hū"],
			["chuán"]
		],
		"及时行乐": [
			["jí"],
			["shí"],
			["xíng"],
			["lè"]
		],
		"及时雨": [
			["jí"],
			["shí"],
			["yǔ"]
		],
		"吉卜赛": [
			["jí"],
			["bǔ"],
			["sài"]
		],
		"吉光片裘": [
			["jí"],
			["guāng"],
			["piàn"],
			["qiú"]
		],
		"吉光片羽": [
			["jí"],
			["guāng"],
			["piàn"],
			["yǔ"]
		],
		"吉普车": [
			["jí"],
			["pǔ"],
			["chē"]
		],
		"吉人自有天相": [
			["jí"],
			["rén"],
			["zì"],
			["yǒu"],
			["tiān"],
			["xiàng"]
		],
		"吉人天相": [
			["jí"],
			["rén"],
			["tiān"],
			["xiàng"]
		],
		"吉凶未卜": [
			["jí"],
			["xiōng"],
			["wèi"],
			["bǔ"]
		],
		"岌岌不可终日": [
			["jí"],
			["jí"],
			["bù"],
			["kě"],
			["zhōng"],
			["rì"]
		],
		"岌岌可危": [
			["jí"],
			["jí"],
			["kě"],
			["wēi"]
		],
		"即景生情": [
			["jí"],
			["jǐng"],
			["shēng"],
			["qíng"]
		],
		"即小见大": [
			["jí"],
			["xiǎo"],
			["jiàn"],
			["dà"]
		],
		"即兴之作": [
			["jí"],
			["xìng"],
			["zhī"],
			["zuò"]
		],
		"极大值": [
			["jí"],
			["dà"],
			["zhí"]
		],
		"极恶不赦": [
			["jí"],
			["è"],
			["bù"],
			["shè"]
		],
		"极恶穷凶": [
			["jí"],
			["è"],
			["qióng"],
			["xiōng"]
		],
		"极乐世界": [
			["jí"],
			["lè"],
			["shì"],
			["jiè"]
		],
		"极乐鸟": [
			["jí"],
			["lè"],
			["niǎo"]
		],
		"极目远望": [
			["jí"],
			["mù"],
			["yuǎn"],
			["wàng"]
		],
		"极目远眺": [
			["jí"],
			["mù"],
			["yuǎn"],
			["tiào"]
		],
		"极情尽致": [
			["jí"],
			["qíng"],
			["jìn"],
			["zhì"]
		],
		"极情纵欲": [
			["jí"],
			["qíng"],
			["zòng"],
			["yù"]
		],
		"极深研几": [
			["jí"],
			["shēn"],
			["yán"],
			["jī"]
		],
		"极深研幾": [
			["jí"],
			["shēn"],
			["yán"],
			["jī"]
		],
		"极寿无疆": [
			["jí"],
			["shòu"],
			["wú"],
			["jiāng"]
		],
		"极天际地": [
			["jí"],
			["tiān"],
			["jì"],
			["dì"]
		],
		"极天蟠地": [
			["jí"],
			["tiān"],
			["pán"],
			["dì"]
		],
		"极天罔地": [
			["jí"],
			["tiān"],
			["wǎng"],
			["dì"]
		],
		"极往知来": [
			["jí"],
			["wǎng"],
			["zhī"],
			["lái"]
		],
		"极智穷思": [
			["jí"],
			["zhì"],
			["qióng"],
			["sī"]
		],
		"极重不反": [
			["jí"],
			["zhòng"],
			["bù"],
			["fǎn"]
		],
		"亟疾苛察": [
			["jí"],
			["jí"],
			["kē"],
			["chá"]
		],
		"极重难返": [
			["jí"],
			["zhòng"],
			["nán"],
			["fǎn"]
		],
		"急不及待": [
			["jí"],
			["bù"],
			["jí"],
			["dài"]
		],
		"急不可耐": [
			["jí"],
			["bù"],
			["kě"],
			["nài"]
		],
		"急不可待": [
			["jí"],
			["bù"],
			["kě"],
			["dài"]
		],
		"急不暇择": [
			["jí"],
			["bù"],
			["xiá"],
			["zé"]
		],
		"急不择路": [
			["jí"],
			["bù"],
			["zé"],
			["lù"]
		],
		"急不择言": [
			["jí"],
			["bù"],
			["zé"],
			["yán"]
		],
		"急不择途": [
			["jí"],
			["bù"],
			["zé"],
			["tú"]
		],
		"急风暴雨": [
			["jí"],
			["fēng"],
			["bào"],
			["yǔ"]
		],
		"急处从宽": [
			["jí"],
			["chù"],
			["cóng"],
			["kuān"]
		],
		"急风骤雨": [
			["jí"],
			["fēng"],
			["zhòu"],
			["yǔ"]
		],
		"急公好施": [
			["jí"],
			["gōng"],
			["hào"],
			["shī"]
		],
		"急功好利": [
			["jí"],
			["gōng"],
			["hào"],
			["lì"]
		],
		"急公好义": [
			["jí"],
			["gōng"],
			["hào"],
			["yì"]
		],
		"急管繁弦": [
			["jí"],
			["guǎn"],
			["fán"],
			["xián"]
		],
		"急急如律令": [
			["jí"],
			["jí"],
			["rú"],
			["lǜ"],
			["lìng"]
		],
		"急惊风撞着慢郎中": [
			["jí"],
			["jīng"],
			["fēng"],
			["zhuàng"],
			["zhe"],
			["màn"],
			["láng"],
			["zhōng"]
		],
		"急景凋年": [
			["jí"],
			["yǐng"],
			["diāo"],
			["nián"]
		],
		"急景流年": [
			["jí"],
			["jǐng"],
			["liú"],
			["nián"]
		],
		"急救车": [
			["jí"],
			["jiù"],
			["chē"]
		],
		"急口令": [
			["jí"],
			["kǒu"],
			["lìng"]
		],
		"急来报佛脚": [
			["jí"],
			["lái"],
			["bào"],
			["fó"],
			["jiǎo"]
		],
		"急来抱佛脚": [
			["jí"],
			["lái"],
			["bào"],
			["fó"],
			["jiǎo"]
		],
		"急敛暴征": [
			["jí"],
			["liǎn"],
			["bào"],
			["zhēng"]
		],
		"急脉缓灸": [
			["jí"],
			["mài"],
			["huǎn"],
			["jiù"]
		],
		"急脉缓受": [
			["jí"],
			["mài"],
			["huǎn"],
			["shòu"]
		],
		"急拍繁弦": [
			["jí"],
			["pāi"],
			["fán"],
			["xián"]
		],
		"急起直追": [
			["jí"],
			["qǐ"],
			["zhí"],
			["zhuī"]
		],
		"急如风火": [
			["jí"],
			["rú"],
			["fēng"],
			["huǒ"]
		],
		"急人之难": [
			["jí"],
			["rén"],
			["zhī"],
			["nán"]
		],
		"急刹车": [
			["jí"],
			["shā"],
			["chē"]
		],
		"急行军": [
			["jí"],
			["xíng"],
			["jūn"]
		],
		"急张拘诸": [
			["jí"],
			["zhāng"],
			["jū"],
			["zhū"]
		],
		"急中生智": [
			["jí"],
			["zhōng"],
			["shēng"],
			["zhì"]
		],
		"急竹繁丝": [
			["jí"],
			["zhú"],
			["fán"],
			["sī"]
		],
		"急转弯": [
			["jí"],
			["zhuǎn"],
			["wān"]
		],
		"急转直下": [
			["jí"],
			["zhuǎn"],
			["zhí"],
			["xià"]
		],
		"疾病相扶": [
			["jí"],
			["bìng"],
			["xiāng"],
			["fú"]
		],
		"疾不可为": [
			["jí"],
			["bù"],
			["kě"],
			["wéi"]
		],
		"疾恶如仇": [
			["jí"],
			["è"],
			["rú"],
			["chóu"]
		],
		"疾恶如风": [
			["jí"],
			["è"],
			["rú"],
			["fēng"]
		],
		"疾恶如雠": [
			["jí"],
			["è"],
			["rú"],
			["chóu"]
		],
		"疾恶若雠": [
			["jí"],
			["è"],
			["ruò"],
			["chóu"]
		],
		"疾风暴雨": [
			["jí"],
			["fēng"],
			["bào"],
			["yǔ"]
		],
		"疾风劲草": [
			["jí"],
			["fēng"],
			["jìng"],
			["cǎo"]
		],
		"疾风扫秋叶": [
			["jí"],
			["fēng"],
			["sǎo"],
			["qiū"],
			["yè"]
		],
		"疾风迅雷": [
			["jí"],
			["fēng"],
			["xùn"],
			["léi"]
		],
		"疾风甚雨": [
			["jí"],
			["fēng"],
			["shèn"],
			["yǔ"]
		],
		"疾风知劲草": [
			["jí"],
			["fēng"],
			["zhī"],
			["jìng"],
			["cǎo"]
		],
		"疾风彰劲草": [
			["jí"],
			["fēng"],
			["zhāng"],
			["jìng"],
			["cǎo"]
		],
		"疾风骤雨": [
			["jí"],
			["fēng"],
			["zhòu"],
			["yǔ"]
		],
		"疾雷不及塞耳": [
			["jí"],
			["léi"],
			["bù"],
			["jí"],
			["sāi"],
			["ěr"]
		],
		"疾雷不暇掩耳": [
			["jí"],
			["léi"],
			["bù"],
			["xiá"],
			["yǎn"],
			["ěr"]
		],
		"疾如旋踵": [
			["jí"],
			["rú"],
			["xuán"],
			["zhǒng"]
		],
		"疾雷不及掩耳": [
			["jí"],
			["léi"],
			["bù"],
			["jí"],
			["yǎn"],
			["ěr"]
		],
		"疾雨暴风": [
			["jí"],
			["yǔ"],
			["bào"],
			["fēng"]
		],
		"疾霆不暇掩目": [
			["jí"],
			["tíng"],
			["bù"],
			["xiá"],
			["yǎn"],
			["mù"]
		],
		"戢鳞委翼": [
			["jí"],
			["lín"],
			["wěi"],
			["yì"]
		],
		"疾走先得": [
			["jí"],
			["zǒu"],
			["xiān"],
			["dé"]
		],
		"疾足先得": [
			["jí"],
			["zú"],
			["xiān"],
			["dé"]
		],
		"棘地荆天": [
			["jí"],
			["dì"],
			["jīng"],
			["tiān"]
		],
		"集大成": [
			["jí"],
			["dà"],
			["chéng"]
		],
		"集散地": [
			["jí"],
			["sàn"],
			["dì"]
		],
		"集思广议": [
			["jí"],
			["sī"],
			["guǎng"],
			["yì"]
		],
		"集思广益": [
			["jí"],
			["sī"],
			["guǎng"],
			["yì"]
		],
		"集体户": [
			["jí"],
			["tǐ"],
			["hù"]
		],
		"集体经济": [
			["jí"],
			["tǐ"],
			["jīng"],
			["jì"]
		],
		"集体主义": [
			["jí"],
			["tǐ"],
			["zhǔ"],
			["yì"]
		],
		"集腋为裘": [
			["jí"],
			["yè"],
			["wéi"],
			["qiú"]
		],
		"集中营": [
			["jí"],
			["zhōng"],
			["yíng"]
		],
		"嫉恶如仇": [
			["jí"],
			["è"],
			["rú"],
			["chóu"]
		],
		"嫉恶若仇": [
			["jí"],
			["è"],
			["ruò"],
			["chóu"]
		],
		"嫉闲妒能": [
			["jí"],
			["xián"],
			["dù"],
			["néng"]
		],
		"嫉贤妒能": [
			["jí"],
			["xián"],
			["dù"],
			["néng"]
		],
		"蹐地局天": [
			["jí"],
			["dì"],
			["jú"],
			["tiān"]
		],
		"蹐地跼天": [
			["jí"],
			["dì"],
			["jú"],
			["tiān"]
		],
		"几不欲生": [
			["jī"],
			["bù"],
			["yù"],
			["shēng"]
		],
		"几次三番": [
			["jǐ"],
			["cì"],
			["sān"],
			["fān"]
		],
		"几何学": [
			["jǐ"],
			["hé"],
			["xué"]
		],
		"几乎不": [
			["jī"],
			["hū"],
			["bù"]
		],
		"几起几落": [
			["jǐ"],
			["qǐ"],
			["jǐ"],
			["luò"]
		],
		"己饥己溺": [
			["jǐ"],
			["jī"],
			["jǐ"],
			["nì"]
		],
		"己溺己饥": [
			["jǐ"],
			["nì"],
			["jǐ"],
			["jī"]
		],
		"虮虱相吊": [
			["jǐ"],
			["shī"],
			["xiāng"],
			["diào"]
		],
		"挤眉溜眼": [
			["jǐ"],
			["méi"],
			["liū"],
			["yǎn"]
		],
		"挤眉弄眼": [
			["jǐ"],
			["méi"],
			["nòng"],
			["yǎn"]
		],
		"挤牙膏": [
			["jǐ"],
			["yá"],
			["gāo"]
		],
		"脊梁骨": [
			["jǐ"],
			["liáng"],
			["gǔ"]
		],
		"脊椎动物": [
			["jǐ"],
			["zhuī"],
			["dòng"],
			["wù"]
		],
		"脊椎骨": [
			["jǐ"],
			["zhuī"],
			["gǔ"]
		],
		"掎角之势": [
			["jǐ"],
			["jiǎo"],
			["zhī"],
			["shì"]
		],
		"掎挈伺诈": [
			["jǐ"],
			["qiè"],
			["sì"],
			["zhà"]
		],
		"掎裳连袂": [
			["jǐ"],
			["cháng"],
			["lián"],
			["mèi"]
		],
		"戟指嚼舌": [
			["jǐ"],
			["zhǐ"],
			["jiáo"],
			["shé"]
		],
		"掎裳连襼": [
			["jǐ"],
			["shang"],
			["lián"],
			["zhēng"]
		],
		"计不反顾": [
			["jì"],
			["bù"],
			["fǎn"],
			["gù"]
		],
		"计不旋跬": [
			["jì"],
			["bù"],
			["xuán"],
			["kuǐ"]
		],
		"计不返顾": [
			["jì"],
			["bù"],
			["fǎn"],
			["gù"]
		],
		"计不旋踵": [
			["jì"],
			["bù"],
			["xuán"],
			["zhǒng"]
		],
		"计出万全": [
			["jì"],
			["chū"],
			["wàn"],
			["quán"]
		],
		"计绌方匮": [
			["jì"],
			["chù"],
			["fāng"],
			["kuì"]
		],
		"计出万死": [
			["jì"],
			["chū"],
			["wàn"],
			["sǐ"]
		],
		"计斗负才": [
			["jì"],
			["dòu"],
			["fù"],
			["cái"]
		],
		"计伐称勋": [
			["jì"],
			["fá"],
			["chēng"],
			["xūn"]
		],
		"计功补过": [
			["jì"],
			["gōng"],
			["bǔ"],
			["guò"]
		],
		"计功量罪": [
			["jì"],
			["gōng"],
			["liàng"],
			["zuì"]
		],
		"计功行封": [
			["jì"],
			["gōng"],
			["xíng"],
			["fēng"]
		],
		"计过自讼": [
			["jì"],
			["guò"],
			["zì"],
			["sòng"]
		],
		"计功行赏": [
			["jì"],
			["gōng"],
			["xíng"],
			["shǎng"]
		],
		"计合谋从": [
			["jì"],
			["hé"],
			["móu"],
			["cóng"]
		],
		"计尽力穷": [
			["jì"],
			["jìn"],
			["lì"],
			["qióng"]
		],
		"计将安出": [
			["jì"],
			["jiāng"],
			["ān"],
			["chū"]
		],
		"计穷力尽": [
			["jì"],
			["qióng"],
			["lì"],
			["jìn"]
		],
		"计穷虑尽": [
			["jì"],
			["qióng"],
			["lǜ"],
			["jìn"]
		],
		"计穷势迫": [
			["jì"],
			["qióng"],
			["shì"],
			["pò"]
		],
		"计然之术": [
			["jì"],
			["rán"],
			["zhī"],
			["shù"]
		],
		"计日而待": [
			["jì"],
			["rì"],
			["ér"],
			["dài"]
		],
		"计日而俟": [
			["jì"],
			["rì"],
			["ér"],
			["sì"]
		],
		"计日可待": [
			["jì"],
			["rì"],
			["kě"],
			["dài"]
		],
		"计日可期": [
			["jì"],
			["rì"],
			["kě"],
			["qī"]
		],
		"计日以期": [
			["jì"],
			["rì"],
			["yǐ"],
			["qī"]
		],
		"计日以待": [
			["jì"],
			["rì"],
			["yǐ"],
			["dài"]
		],
		"计日以俟": [
			["jì"],
			["rì"],
			["yǐ"],
			["sì"]
		],
		"计日指期": [
			["jì"],
			["rì"],
			["zhǐ"],
			["qī"]
		],
		"计上心来": [
			["jì"],
			["shàng"],
			["xīn"],
			["lái"]
		],
		"计上心头": [
			["jì"],
			["shàng"],
			["xīn"],
			["tóu"]
		],
		"计深虑远": [
			["jì"],
			["shēng"],
			["lǜ"],
			["yuǎn"]
		],
		"计行虑义": [
			["jì"],
			["xíng"],
			["lǜ"],
			["yì"]
		],
		"计勋行赏": [
			["jì"],
			["xūn"],
			["xíng"],
			["shǎng"]
		],
		"计研心算": [
			["jì"],
			["yán"],
			["xīn"],
			["suàn"]
		],
		"计行言听": [
			["jì"],
			["xíng"],
			["yán"],
			["tīng"]
		],
		"记分册": [
			["jì"],
			["fēn"],
			["cè"]
		],
		"记功忘过": [
			["jì"],
			["gōng"],
			["wàng"],
			["guò"]
		],
		"记录片": [
			["jì"],
			["lù"],
			["piàn"]
		],
		"纪纲人论": [
			["jì"],
			["gāng"],
			["rén"],
			["lún"]
		],
		"纪念碑": [
			["jì"],
			["niàn"],
			["bēi"]
		],
		"纪念册": [
			["jì"],
			["niàn"],
			["cè"]
		],
		"纪念馆": [
			["jì"],
			["niàn"],
			["guǎn"]
		],
		"纪念品": [
			["jì"],
			["niàn"],
			["pǐn"]
		],
		"纪传体": [
			["jì"],
			["chuán"],
			["tǐ"]
		],
		"纪念日": [
			["jì"],
			["niàn"],
			["rì"]
		],
		"纪念堂": [
			["jì"],
			["niàn"],
			["táng"]
		],
		"纪念章": [
			["jì"],
			["niàn"],
			["zhāng"]
		],
		"纪群之交": [
			["jì"],
			["qún"],
			["zhī"],
			["jiāo"]
		],
		"技工学校": [
			["jì"],
			["gōng"],
			["xué"],
			["xiào"]
		],
		"技术革命": [
			["jì"],
			["shù"],
			["gé"],
			["mìng"]
		],
		"技术革新": [
			["jì"],
			["shù"],
			["gé"],
			["xīn"]
		],
		"技术员": [
			["jì"],
			["shù"],
			["yuán"]
		],
		"际地蟠天": [
			["jì"],
			["dì"],
			["pán"],
			["tiān"]
		],
		"际会风云": [
			["jì"],
			["huì"],
			["fēng"],
			["yún"]
		],
		"际遇风云": [
			["jì"],
			["yù"],
			["fēng"],
			["yún"]
		],
		"季风气候": [
			["jì"],
			["fēng"],
			["qì"],
			["hòu"]
		],
		"季孟之间": [
			["jì"],
			["mèng"],
			["zhī"],
			["jiān"]
		],
		"季孙之忧": [
			["jì"],
			["sūn"],
			["zhī"],
			["yōu"]
		],
		"季友伯兄": [
			["jì"],
			["yǒu"],
			["bó"],
			["xiōng"]
		],
		"哜哜嘈嘈": [
			["jì"],
			["jì"],
			["cáo"],
			["cáo"]
		],
		"既得利益": [
			["jì"],
			["dé"],
			["lì"],
			["yì"]
		],
		"既往不咎": [
			["jì"],
			["wǎng"],
			["bù"],
			["jiù"]
		],
		"济寒赈贫": [
			["jì"],
			["hán"],
			["zhèn"],
			["pín"]
		],
		"济河焚舟": [
			["jì"],
			["hé"],
			["fén"],
			["zhōu"]
		],
		"济济一堂": [
			["jǐ"],
			["jǐ"],
			["yī"],
			["táng"]
		],
		"济苦怜贫": [
			["jì"],
			["kǔ"],
			["lián"],
			["pín"]
		],
		"济困扶危": [
			["jì"],
			["kùn"],
			["fú"],
			["wēi"]
		],
		"济南市": [
			["jǐ"],
			["nán"],
			["shì"]
		],
		"济窍飘风": [
			["jì"],
			["qiào"],
			["piāo"],
			["fēng"]
		],
		"济贫拔苦": [
			["jì"],
			["pín"],
			["bá"],
			["kǔ"]
		],
		"济人利物": [
			["jì"],
			["rén"],
			["lì"],
			["wù"]
		],
		"济弱锄强": [
			["jì"],
			["ruò"],
			["chú"],
			["qiáng"]
		],
		"济弱扶倾": [
			["jì"],
			["ruò"],
			["fú"],
			["qīng"]
		],
		"济世安邦": [
			["jì"],
			["shì"],
			["ān"],
			["bāng"]
		],
		"济世安民": [
			["jì"],
			["shì"],
			["ān"],
			["mín"]
		],
		"济世安人": [
			["jì"],
			["shì"],
			["ān"],
			["rén"]
		],
		"济世救人": [
			["jì"],
			["shì"],
			["jiù"],
			["rén"]
		],
		"济世匡时": [
			["jì"],
			["shì"],
			["kuāng"],
			["shí"]
		],
		"济世之才": [
			["jì"],
			["shì"],
			["zhī"],
			["cái"]
		],
		"继晷焚膏": [
			["jì"],
			["guǐ"],
			["fén"],
			["gāo"]
		],
		"寂然不动": [
			["jì"],
			["rán"],
			["bù"],
			["dòng"]
		],
		"寂若无人": [
			["jì"],
			["ruò"],
			["wú"],
			["rén"]
		],
		"寂天寞地": [
			["jì"],
			["tiān"],
			["mò"],
			["dì"]
		],
		"寄兴寓情": [
			["jì"],
			["xìng"],
			["yù"],
			["qíng"]
		],
		"寄雁传书": [
			["jì"],
			["yàn"],
			["chuán"],
			["shū"]
		],
		"霁风朗月": [
			["jī"],
			["fēng"],
			["lǎng"],
			["yuè"]
		],
		"霁月光风": [
			["jī"],
			["yuè"],
			["guāng"],
			["fēng"]
		],
		"骥伏盐车": [
			["jì"],
			["fú"],
			["yán"],
			["chē"]
		],
		"骥服盐车": [
			["jì"],
			["fú"],
			["yán"],
			["chē"]
		],
		"加尔各答": [
			["jiā"],
			["ěr"],
			["gè"],
			["dá"]
		],
		"加减乘除": [
			["jiā"],
			["jiǎn"],
			["chéng"],
			["chú"]
		],
		"加勒比海": [
			["jiā"],
			["lè"],
			["bǐ"],
			["hǎi"]
		],
		"加农炮": [
			["jiā"],
			["nóng"],
			["pào"]
		],
		"加塞儿": [
			["jiā"],
			["sāi"],
			["ér"]
		],
		"加速度": [
			["jiā"],
			["sù"],
			["dù"]
		],
		"加枝添叶": [
			["jiā"],
			["zhī"],
			["tiān"],
			["yè"]
		],
		"夹板气": [
			["jiā"],
			["bǎn"],
			["qì"]
		],
		"夹板医驼子": [
			["jiá"],
			["bǎn"],
			["yī"],
			["tuó"],
			["zǐ"]
		],
		"夹层玻璃": [
			["jiā"],
			["céng"],
			["bō"],
			["li"]
		],
		"夹袋人物": [
			["jiā"],
			["dài"],
			["rén"],
			["wù"]
		],
		"夹七夹八": [
			["jiā"],
			["qī"],
			["jiā"],
			["bā"]
		],
		"夹枪带棒": [
			["jiā"],
			["qiāng"],
			["dài"],
			["bàng"]
		],
		"夹生饭": [
			["jiā"],
			["shēng"],
			["fàn"]
		],
		"夹枪带棍": [
			["jiā"],
			["qiāng"],
			["dài"],
			["gùn"]
		],
		"夹竹桃": [
			["jiā"],
			["zhú"],
			["táo"]
		],
		"佳兵不祥": [
			["jiā"],
			["bīng"],
			["bù"],
			["xiáng"]
		],
		"佳人薄命": [
			["jiā"],
			["rén"],
			["bó"],
			["mìng"]
		],
		"浃背汗流": [
			["jiā"],
			["bèi"],
			["hàn"],
			["liú"]
		],
		"家败人亡": [
			["jiā"],
			["bài"],
			["rén"],
			["wáng"]
		],
		"家藏户有": [
			["jiā"],
			["cáng"],
			["hù"],
			["yǒu"]
		],
		"家长礼短": [
			["jiā"],
			["cháng"],
			["lǐ"],
			["duǎn"]
		],
		"家长里短": [
			["jiā"],
			["cháng"],
			["lǐ"],
			["duǎn"]
		],
		"家长制": [
			["jiā"],
			["zhǎng"],
			["zhì"]
		],
		"家常便饭": [
			["jiā"],
			["cháng"],
			["biàn"],
			["fàn"]
		],
		"家常茶饭": [
			["jiā"],
			["cháng"],
			["chá"],
			["fàn"]
		],
		"家常饭": [
			["jiā"],
			["cháng"],
			["fàn"]
		],
		"家常话": [
			["jiā"],
			["cháng"],
			["huà"]
		],
		"家常里短": [
			["jiā"],
			["cháng"],
			["lǐ"],
			["duǎn"]
		],
		"家成业就": [
			["jiā"],
			["chéng"],
			["yè"],
			["jiù"]
		],
		"家丑不可外谈": [
			["jiā"],
			["chǒu"],
			["bù"],
			["kě"],
			["wài"],
			["tán"]
		],
		"家丑不可外扬": [
			["jiā"],
			["chǒu"],
			["bù"],
			["kě"],
			["wài"],
			["yáng"]
		],
		"家传户诵": [
			["jiā"],
			["chuán"],
			["hù"],
			["sòng"]
		],
		"家传户颂": [
			["jiā"],
			["chuán"],
			["hù"],
			["sòng"]
		],
		"家传人诵": [
			["jiā"],
			["chuán"],
			["rén"],
			["sòng"]
		],
		"家道从容": [
			["jiā"],
			["dào"],
			["cōng"],
			["róng"]
		],
		"家道消乏": [
			["jiā"],
			["dào"],
			["xiāo"],
			["fá"]
		],
		"家道中落": [
			["jiā"],
			["dào"],
			["zhōng"],
			["luò"]
		],
		"家道小康": [
			["jiā"],
			["dào"],
			["xiǎo"],
			["kāng"]
		],
		"家翻宅乱": [
			["jiā"],
			["fān"],
			["zhái"],
			["luàn"]
		],
		"家反宅乱": [
			["jiā"],
			["fǎn"],
			["zhái"],
			["luàn"]
		],
		"家烦宅乱": [
			["jiā"],
			["fán"],
			["zhái"],
			["luàn"]
		],
		"家给民足": [
			["jiā"],
			["jǐ"],
			["mín"],
			["zú"]
		],
		"家给人足": [
			["jiā"],
			["jǐ"],
			["rén"],
			["zú"]
		],
		"家鸡野鹜": [
			["jiā"],
			["jī"],
			["yě"],
			["wù"]
		],
		"家鸡野雉": [
			["jiā"],
			["jī"],
			["yě"],
			["zhì"]
		],
		"家骥人璧": [
			["jiā"],
			["jì"],
			["rén"],
			["bì"]
		],
		"家家户户": [
			["jiā"],
			["jiā"],
			["hù"],
			["hù"]
		],
		"家见户说": [
			["jiā"],
			["jiàn"],
			["hù"],
			["shuō"]
		],
		"家累千金": [
			["jiā"],
			["lèi"],
			["qiān"],
			["jīn"]
		],
		"家贫如洗": [
			["jiā"],
			["pín"],
			["rú"],
			["xǐ"]
		],
		"家贫亲老": [
			["jiā"],
			["pín"],
			["qīn"],
			["lǎo"]
		],
		"家破人离": [
			["jiā"],
			["pò"],
			["rén"],
			["lí"]
		],
		"家破人亡": [
			["jiā"],
			["pò"],
			["rén"],
			["wáng"]
		],
		"家破身亡": [
			["jiā"],
			["pò"],
			["shēn"],
			["wáng"]
		],
		"家雀儿": [
			["jiā"],
			["qiǎo"],
			["ér"]
		],
		"家散人亡": [
			["jiā"],
			["sàn"],
			["rén"],
			["wáng"]
		],
		"家书抵万金": [
			["jiā"],
			["shū"],
			["dǐ"],
			["wàn"],
			["jīn"]
		],
		"家天下": [
			["jiā"],
			["tiān"],
			["xià"]
		],
		"家庭妇女": [
			["jiā"],
			["tíng"],
			["fù"],
			["nǚ"]
		],
		"家庭副业": [
			["jiā"],
			["tíng"],
			["fù"],
			["yè"]
		],
		"家庭教师": [
			["jiā"],
			["tíng"],
			["jiào"],
			["shī"]
		],
		"家徒壁立": [
			["jiā"],
			["tú"],
			["bì"],
			["lì"]
		],
		"家徒四壁": [
			["jiā"],
			["tú"],
			["sì"],
			["bì"]
		],
		"家亡国破": [
			["jiā"],
			["wáng"],
			["guó"],
			["pò"]
		],
		"家无常礼": [
			["jiā"],
			["wú"],
			["cháng"],
			["lǐ"]
		],
		"家无担石": [
			["jiā"],
			["wú"],
			["dàn"],
			["shí"]
		],
		"家无儋石": [
			["jiā"],
			["wú"],
			["dàn"],
			["shí"]
		],
		"家无斗储": [
			["jiā"],
			["wú"],
			["dòu"],
			["chǔ"]
		],
		"家无二主": [
			["jiā"],
			["wú"],
			["èr"],
			["zhǔ"]
		],
		"家务活": [
			["jiā"],
			["wù"],
			["huó"]
		],
		"家务事": [
			["jiā"],
			["wù"],
			["shì"]
		],
		"家弦户诵": [
			["jiā"],
			["xián"],
			["hù"],
			["sòng"]
		],
		"家学渊源": [
			["jiā"],
			["xué"],
			["yuān"],
			["yuán"]
		],
		"家殷人足": [
			["jiā"],
			["yīn"],
			["rén"],
			["zú"]
		],
		"家用电器": [
			["jiā"],
			["yòng"],
			["diàn"],
			["qì"]
		],
		"家谕户晓": [
			["jiā"],
			["yù"],
			["hù"],
			["xiǎo"]
		],
		"家喻户习": [
			["jiā"],
			["yù"],
			["hù"],
			["xí"]
		],
		"家喻户晓": [
			["jiā"],
			["yù"],
			["hù"],
			["xiǎo"]
		],
		"家贼难防": [
			["jiā"],
			["zéi"],
			["nán"],
			["fáng"]
		],
		"家至户到": [
			["jiā"],
			["zhì"],
			["hù"],
			["dào"]
		],
		"家至户察": [
			["jiā"],
			["zhì"],
			["hù"],
			["chá"]
		],
		"家至户晓": [
			["jiā"],
			["zhì"],
			["hù"],
			["xiǎo"]
		],
		"家至人说": [
			["jiā"],
			["zhì"],
			["rén"],
			["shuō"]
		],
		"葭莩之亲": [
			["jiā"],
			["fú"],
			["zhī"],
			["qīn"]
		],
		"嘉兴市": [
			["jiā"],
			["xīng"],
			["shì"]
		],
		"嘉言善行": [
			["jiā"],
			["yán"],
			["shàn"],
			["xíng"]
		],
		"嘉言懿行": [
			["jiā"],
			["yán"],
			["yì"],
			["xíng"]
		],
		"颊上三毫": [
			["jiá"],
			["shàng"],
			["sān"],
			["háo"]
		],
		"颊上三毛": [
			["jiá"],
			["shàng"],
			["sān"],
			["máo"]
		],
		"颊上添毫": [
			["jiá"],
			["shàng"],
			["tiān"],
			["háo"]
		],
		"甲骨文": [
			["jiǎ"],
			["gǔ"],
			["wén"]
		],
		"甲冠天下": [
			["jiǎ"],
			["guàn"],
			["tiān"],
			["xià"]
		],
		"价等连城": [
			["jià"],
			["děng"],
			["lián"],
			["chéng"]
		],
		"价廉物美": [
			["jià"],
			["lián"],
			["wù"],
			["měi"]
		],
		"价增一顾": [
			["jià"],
			["zēng"],
			["yī"],
			["gù"]
		],
		"价值规律": [
			["jià"],
			["zhí"],
			["guī"],
			["lǜ"]
		],
		"价值连城": [
			["jià"],
			["zhí"],
			["lián"],
			["chéng"]
		],
		"架不住": [
			["jià"],
			["bú"],
			["zhù"]
		],
		"架谎凿空": [
			["jià"],
			["huǎng"],
			["záo"],
			["kōng"]
		],
		"架子车": [
			["jià"],
			["zi"],
			["chē"]
		],
		"假痴假呆": [
			["jiǎ"],
			["chī"],
			["jiǎ"],
			["dāi"]
		],
		"假痴不癫": [
			["jiǎ"],
			["chī"],
			["bù"],
			["diān"]
		],
		"假慈悲": [
			["jiǎ"],
			["cí"],
			["bēi"]
		],
		"假道灭虢": [
			["jiǎ"],
			["dào"],
			["miè"],
			["guó"]
		],
		"假分数": [
			["jiǎ"],
			["fēn"],
			["shù"]
		],
		"假公济私": [
			["jiǎ"],
			["gōng"],
			["jì"],
			["sī"]
		],
		"假虎张威": [
			["jiǎ"],
			["hǔ"],
			["zhāng"],
			["wēi"]
		],
		"假公营私": [
			["jiǎ"],
			["gōng"],
			["yíng"],
			["sī"]
		],
		"假力于人": [
			["jiǎ"],
			["lì"],
			["yú"],
			["rén"]
		],
		"假眉三道": [
			["jiǎ"],
			["méi"],
			["sān"],
			["dào"]
		],
		"假门假氏": [
			["jiǎ"],
			["mén"],
			["jiǎ"],
			["shì"]
		],
		"假门假事": [
			["jiǎ"],
			["mén"],
			["jiǎ"],
			["shì"]
		],
		"假名托姓": [
			["jiǎ"],
			["míng"],
			["tuō"],
			["xìng"]
		],
		"假人辞色": [
			["jiǎ"],
			["rén"],
			["cí"],
			["sè"]
		],
		"假人假义": [
			["jiǎ"],
			["rén"],
			["jiǎ"],
			["yì"]
		],
		"假仁假义": [
			["jiǎ"],
			["rén"],
			["jiǎ"],
			["yì"]
		],
		"假仁假意": [
			["jiǎ"],
			["rén"],
			["jiǎ"],
			["yì"]
		],
		"假手于人": [
			["jiǎ"],
			["shǒu"],
			["yú"],
			["rén"]
		],
		"假途灭虢": [
			["jiǎ"],
			["tú"],
			["miè"],
			["guó"]
		],
		"假戏真做": [
			["jiǎ"],
			["xì"],
			["zhēn"],
			["zuò"]
		],
		"假惺惺": [
			["jiǎ"],
			["xīng"],
			["xīng"]
		],
		"假洋鬼子": [
			["jiǎ"],
			["yáng"],
			["guǐ"],
			["zi"]
		],
		"假以辞色": [
			["jiǎ"],
			["yǐ"],
			["cí"],
			["sè"]
		],
		"假誉驰声": [
			["jiǎ"],
			["yù"],
			["chí"],
			["shēng"]
		],
		"稼穑艰难": [
			["jià"],
			["sè"],
			["jiān"],
			["nán"]
		],
		"尖担两头脱": [
			["jiān"],
			["dàn"],
			["liǎng"],
			["tóu"],
			["tuō"]
		],
		"尖溜溜": [
			["jiān"],
			["liū"],
			["liū"]
		],
		"尖酸刻薄": [
			["jiān"],
			["suān"],
			["kè"],
			["bó"]
		],
		"尖言尖语": [
			["jiān"],
			["yán"],
			["jiān"],
			["yǔ"]
		],
		"尖言冷语": [
			["jiān"],
			["yán"],
			["lěng"],
			["yǔ"]
		],
		"尖嘴薄舌": [
			["jiān"],
			["zuǐ"],
			["bó"],
			["shé"]
		],
		"坚不可摧": [
			["jiān"],
			["bù"],
			["kě"],
			["cuī"]
		],
		"坚持不懈": [
			["jiān"],
			["chí"],
			["bù"],
			["xiè"]
		],
		"坚持不渝": [
			["jiān"],
			["chí"],
			["bù"],
			["yú"]
		],
		"坚定不移": [
			["jiān"],
			["dìng"],
			["bù"],
			["yí"]
		],
		"坚强不屈": [
			["jiān"],
			["qiáng"],
			["bù"],
			["qū"]
		],
		"坚忍不拔": [
			["jiān"],
			["rěn"],
			["bù"],
			["bá"]
		],
		"坚韧不拔": [
			["jiān"],
			["rèn"],
			["bù"],
			["bá"]
		],
		"坚如盘石": [
			["jiān"],
			["rú"],
			["pán"],
			["shí"]
		],
		"坚如磐石": [
			["jiān"],
			["rú"],
			["pán"],
			["shí"]
		],
		"坚守不渝": [
			["jiān"],
			["shǒu"],
			["bù"],
			["yú"]
		],
		"坚贞不屈": [
			["jiān"],
			["zhēn"],
			["bù"],
			["qū"]
		],
		"坚贞不渝": [
			["jiān"],
			["zhēn"],
			["bù"],
			["yú"]
		],
		"坚执不从": [
			["jiān"],
			["zhí"],
			["bù"],
			["cóng"]
		],
		"间不容发": [
			["jiān"],
			["bù"],
			["róng"],
			["fà"]
		],
		"间不容缓": [
			["jiān"],
			["bù"],
			["róng"],
			["huǎn"]
		],
		"间不容缕": [
			["jiān"],
			["bù"],
			["róng"],
			["lǚ"]
		],
		"间不容砺": [
			["jiān"],
			["bù"],
			["róng"],
			["lì"]
		],
		"间不容瞚": [
			["jiān"],
			["bù"],
			["róng"],
			["xǐ"]
		],
		"间不容瞬": [
			["jiān"],
			["bù"],
			["róng"],
			["shùn"]
		],
		"间不容息": [
			["jiàn"],
			["bù"],
			["róng"],
			["xī"]
		],
		"间见层出": [
			["jiàn"],
			["xiàn"],
			["céng"],
			["chū"]
		],
		"间奏曲": [
			["jiàn"],
			["zòu"],
			["qǔ"]
		],
		"肩背难望": [
			["jiān"],
			["bèi"],
			["nán"],
			["wàng"]
		],
		"肩背相望": [
			["jiān"],
			["bèi"],
			["xiāng"],
			["wàng"]
		],
		"肩从齿序": [
			["jiān"],
			["cóng"],
			["chǐ"],
			["xù"]
		],
		"肩胛骨": [
			["jiān"],
			["jiǎ"],
			["gǔ"]
		],
		"肩劳任怨": [
			["jiān"],
			["láo"],
			["rèn"],
			["yuàn"]
		],
		"肩摩毂击": [
			["jiān"],
			["mó"],
			["gǔ"],
			["jī"]
		],
		"肩摩毂接": [
			["jiān"],
			["mó"],
			["gū"],
			["jiē"]
		],
		"肩摩袂接": [
			["jiān"],
			["mó"],
			["mèi"],
			["jiē"]
		],
		"肩摩踵接": [
			["jiān"],
			["mó"],
			["zhǒng"],
			["jiē"]
		],
		"艰苦创业": [
			["jiān"],
			["kǔ"],
			["chuàng"],
			["yè"]
		],
		"艰苦奋斗": [
			["jiān"],
			["kǔ"],
			["fèn"],
			["dòu"]
		],
		"艰苦朴素": [
			["jiān"],
			["kǔ"],
			["pǔ"],
			["sù"]
		],
		"艰难竭蹶": [
			["jiān"],
			["nán"],
			["jié"],
			["jué"]
		],
		"艰难曲折": [
			["jiān"],
			["nán"],
			["qū"],
			["zhé"]
		],
		"艰难困苦": [
			["jiān"],
			["nán"],
			["kùn"],
			["kǔ"]
		],
		"艰难险阻": [
			["jiān"],
			["nán"],
			["xiǎn"],
			["zǔ"]
		],
		"艰难玉成": [
			["jiān"],
			["nán"],
			["yù"],
			["chéng"]
		],
		"兼包并容": [
			["jiān"],
			["bāo"],
			["bìng"],
			["róng"]
		],
		"兼包并畜": [
			["jiān"],
			["bāo"],
			["bìng"],
			["chù"]
		],
		"兼而有之": [
			["jiān"],
			["ér"],
			["yǒu"],
			["zhī"]
		],
		"兼程并进": [
			["jiān"],
			["chéng"],
			["bìng"],
			["jìn"]
		],
		"兼官重绂": [
			["jiān"],
			["guān"],
			["zhòng"],
			["fú"]
		],
		"兼容并包": [
			["jiān"],
			["róng"],
			["bìng"],
			["bāo"]
		],
		"兼容并蓄": [
			["jiān"],
			["róng"],
			["bìng"],
			["xù"]
		],
		"兼收并采": [
			["jiān"],
			["shōu"],
			["bìng"],
			["cǎi"]
		],
		"兼收并录": [
			["jiān"],
			["shōu"],
			["bìng"],
			["lù"]
		],
		"兼收并畜": [
			["jiān"],
			["shōu"],
			["bìng"],
			["chù"]
		],
		"兼收并蓄": [
			["jiān"],
			["shōu"],
			["bìng"],
			["xù"]
		],
		"兼收博采": [
			["jiān"],
			["shōu"],
			["bó"],
			["cǎi"]
		],
		"兼听则明，偏信则暗": [
			["jiān"],
			["tīng"],
			["zé"],
			["míng"],
			["，"],
			["piān"],
			["xìn"],
			["zé"],
			["àn"]
		],
		"兼朱重紫": [
			["jiān"],
			["zhū"],
			["zhòng"],
			["zǐ"]
		],
		"监护人": [
			["jiān"],
			["hù"],
			["rén"]
		],
		"监临自盗": [
			["jiān"],
			["lín"],
			["zì"],
			["dào"]
		],
		"监市履狶": [
			["jiān"],
			["shì"],
			["lǚ"],
			["xī"]
		],
		"监守自盗": [
			["jiān"],
			["shǒu"],
			["zì"],
			["dào"]
		],
		"监主自盗": [
			["jiān"],
			["zhǔ"],
			["zì"],
			["dào"]
		],
		"缄口不言": [
			["jiān"],
			["kǒu"],
			["bù"],
			["yán"]
		],
		"缄口结舌": [
			["jiān"],
			["kǒu"],
			["jié"],
			["shé"]
		],
		"蒹葭之思": [
			["jiān"],
			["jiā"],
			["zhī"],
			["sī"]
		],
		"拣佛烧香": [
			["jiǎn"],
			["fó"],
			["shāo"],
			["xiāng"]
		],
		"拣精择肥": [
			["jiǎn"],
			["jīng"],
			["zé"],
			["féi"]
		],
		"俭故能广": [
			["jiǎn"],
			["gù"],
			["néng"],
			["guǎng"]
		],
		"俭不中礼": [
			["jiǎn"],
			["bù"],
			["zhòng"],
			["lǐ"]
		],
		"俭可养廉": [
			["jiǎn"],
			["kě"],
			["yǎng"],
			["lián"]
		],
		"剪恶除奸": [
			["jiǎn"],
			["è"],
			["chú"],
			["jiān"]
		],
		"剪发被褐": [
			["jiǎn"],
			["fā"],
			["bèi"],
			["hè"]
		],
		"剪发杜门": [
			["jiǎn"],
			["fà"],
			["dù"],
			["mén"]
		],
		"剪发披缁": [
			["jiǎn"],
			["fā"],
			["pī"],
			["zī"]
		],
		"简单化": [
			["jiǎn"],
			["dān"],
			["huà"]
		],
		"简分数": [
			["jiǎn"],
			["fēn"],
			["shù"]
		],
		"简化汉字": [
			["jiǎn"],
			["huà"],
			["hàn"],
			["zì"]
		],
		"简化字": [
			["jiǎn"],
			["huà"],
			["zì"]
		],
		"简捷了当": [
			["jiǎn"],
			["jié"],
			["liǎo"],
			["dàng"]
		],
		"简截了当": [
			["jiǎn"],
			["jié"],
			["liǎo"],
			["dàng"]
		],
		"简落狐狸": [
			["jiǎn"],
			["luò"],
			["hú"],
			["lí"]
		],
		"简明扼要": [
			["jiǎn"],
			["míng"],
			["é"],
			["yào"]
		],
		"简能而任": [
			["jiǎn"],
			["néng"],
			["ér"],
			["rèn"]
		],
		"简切了当": [
			["jiǎn"],
			["qiè"],
			["liǎo"],
			["dàng"]
		],
		"简丝数米": [
			["jiǎn"],
			["sī"],
			["shǔ"],
			["mǐ"]
		],
		"简体字": [
			["jiǎn"],
			["tǐ"],
			["zì"]
		],
		"简贤任能": [
			["jiǎn"],
			["xián"],
			["rèn"],
			["néng"]
		],
		"简要不烦": [
			["jiǎn"],
			["yào"],
			["bù"],
			["fán"]
		],
		"简要清通": [
			["jiǎn"],
			["yào"],
			["qīng"],
			["tōng"]
		],
		"简约详核": [
			["jiǎn"],
			["yuē"],
			["xiáng"],
			["hé"]
		],
		"碱金属": [
			["jiǎn"],
			["jīn"],
			["shǔ"]
		],
		"蹇人上天": [
			["jiǎn"],
			["rén"],
			["shàng"],
			["tiān"]
		],
		"见鞍思马": [
			["jiàn"],
			["ān"],
			["sī"],
			["mǎ"]
		],
		"见不得": [
			["jiàn"],
			["bù"],
			["dé"]
		],
		"见财起意": [
			["jiàn"],
			["cái"],
			["qǐ"],
			["yì"]
		],
		"见弹求鹗": [
			["jiàn"],
			["dàn"],
			["qiú"],
			["è"]
		],
		"见弹求鸮": [
			["jiàn"],
			["dàn"],
			["qiú"],
			["háo"]
		],
		"见多识广": [
			["jiàn"],
			["duō"],
			["shí"],
			["guǎng"]
		],
		"见德思齐": [
			["jiàn"],
			["dé"],
			["sī"],
			["qí"]
		],
		"见风使船": [
			["jiàn"],
			["fēng"],
			["shǐ"],
			["chuán"]
		],
		"见风使舵": [
			["jiàn"],
			["fēng"],
			["shǐ"],
			["duò"]
		],
		"见风使帆": [
			["jiàn"],
			["fēng"],
			["shǐ"],
			["fān"]
		],
		"见风是雨": [
			["jiàn"],
			["fēng"],
			["shì"],
			["yǔ"]
		],
		"见风转舵": [
			["jiàn"],
			["fēng"],
			["zhuǎn"],
			["duò"]
		],
		"见风转篷": [
			["jiàn"],
			["fēng"],
			["zhuǎn"],
			["péng"]
		],
		"见缝插针": [
			["jiàn"],
			["fèng"],
			["chā"],
			["zhēn"]
		],
		"见缝就钻": [
			["jiàn"],
			["fèng"],
			["jiù"],
			["zuān"]
		],
		"见羹见墙": [
			["jiàn"],
			["gēng"],
			["jiàn"],
			["qiáng"]
		],
		"见怪不怪": [
			["jiàn"],
			["guài"],
			["bù"],
			["guài"]
		],
		"见怪非怪": [
			["jiàn"],
			["guài"],
			["fēi"],
			["guài"]
		],
		"见惯不惊": [
			["jiàn"],
			["guàn"],
			["bù"],
			["jīng"]
		],
		"见惯司空": [
			["jiàn"],
			["guàn"],
			["sī"],
			["kōng"]
		],
		"见机而作": [
			["jiàn"],
			["jī"],
			["ér"],
			["zuò"]
		],
		"见机而行": [
			["jiàn"],
			["jī"],
			["ér"],
			["xíng"]
		],
		"见机行事": [
			["jiàn"],
			["jī"],
			["xíng"],
			["shì"]
		],
		"见几而作": [
			["jiàn"],
			["jī"],
			["ér"],
			["zuò"]
		],
		"见幾而作": [
			["jiàn"],
			["jī"],
			["ér"],
			["zuò"]
		],
		"见经识经": [
			["jiàn"],
			["jīng"],
			["shí"],
			["jīng"]
		],
		"见精识精": [
			["jiàn"],
			["jīng"],
			["shí"],
			["jīng"]
		],
		"见可而进": [
			["jiàn"],
			["kě"],
			["ér"],
			["jìn"]
		],
		"见景生情": [
			["jiàn"],
			["jǐng"],
			["shēng"],
			["qíng"]
		],
		"见哭兴悲": [
			["jiàn"],
			["kū"],
			["xīng"],
			["bēi"]
		],
		"见棱见角": [
			["jiàn"],
			["léng"],
			["jiàn"],
			["jiǎo"]
		],
		"见利思义": [
			["jiàn"],
			["lì"],
			["sī"],
			["yì"]
		],
		"见猎心喜": [
			["jiàn"],
			["liè"],
			["xīn"],
			["xǐ"]
		],
		"见利忘义": [
			["jiàn"],
			["lì"],
			["wàng"],
			["yì"]
		],
		"见卵求鸡": [
			["jiàn"],
			["luǎn"],
			["qiú"],
			["jī"]
		],
		"见马克思": [
			["jiàn"],
			["mǎ"],
			["kè"],
			["sī"]
		],
		"见貌辨色": [
			["jiàn"],
			["mào"],
			["biàn"],
			["sè"]
		],
		"见溺不救": [
			["jiàn"],
			["nì"],
			["bù"],
			["jiù"]
		],
		"见面礼": [
			["jiàn"],
			["miàn"],
			["lǐ"]
		],
		"见其一未见其二": [
			["jiàn"],
			["qí"],
			["yī"],
			["wèi"],
			["jiàn"],
			["qí"],
			["èr"]
		],
		"见弃于人": [
			["jiàn"],
			["qì"],
			["yǔ"],
			["rén"]
		],
		"见钱眼红": [
			["jiàn"],
			["qián"],
			["yǎn"],
			["hóng"]
		],
		"见诮大方": [
			["jiàn"],
			["qiào"],
			["dà"],
			["fāng"]
		],
		"见墙见羹": [
			["jiàn"],
			["qiáng"],
			["jiàn"],
			["gēng"]
		],
		"见钱眼开": [
			["jiàn"],
			["qián"],
			["yǎn"],
			["kāi"]
		],
		"见雀张罗": [
			["jiàn"],
			["què"],
			["zhāng"],
			["luó"]
		],
		"见仁见智": [
			["jiàn"],
			["rén"],
			["jiàn"],
			["zhì"]
		],
		"见善必迁": [
			["jiàn"],
			["shàn"],
			["bì"],
			["qiān"]
		],
		"见上帝": [
			["jiàn"],
			["shàng"],
			["dì"]
		],
		"见神见鬼": [
			["jiàn"],
			["shén"],
			["jiàn"],
			["guǐ"]
		],
		"见时知几": [
			["jiàn"],
			["shí"],
			["zhī"],
			["jǐ"]
		],
		"见世面": [
			["xiàn"],
			["shì"],
			["miàn"]
		],
		"见豕负涂": [
			["jiàn"],
			["shǐ"],
			["fù"],
			["tú"]
		],
		"见始知终": [
			["jiàn"],
			["shǐ"],
			["zhī"],
			["zhōng"]
		],
		"见世生苗": [
			["jiàn"],
			["shì"],
			["shēng"],
			["miáo"]
		],
		"见事风生": [
			["jiàn"],
			["shì"],
			["fēng"],
			["shēng"]
		],
		"见事生风": [
			["jiàn"],
			["shì"],
			["shēng"],
			["fēng"]
		],
		"见势不妙": [
			["jiàn"],
			["shì"],
			["bù"],
			["miào"]
		],
		"见死不救": [
			["jiàn"],
			["sǐ"],
			["bù"],
			["jiù"]
		],
		"见素抱朴": [
			["xiàn"],
			["sù"],
			["bào"],
			["pǔ"]
		],
		"见所不见": [
			["jiàn"],
			["suǒ"],
			["bù"],
			["jiàn"]
		],
		"见所未见": [
			["jiàn"],
			["suǒ"],
			["wèi"],
			["jiàn"]
		],
		"见兔放鹰": [
			["jiàn"],
			["tù"],
			["fàng"],
			["yīng"]
		],
		"见兔顾犬": [
			["jiàn"],
			["tù"],
			["gù"],
			["quǎn"]
		],
		"见危授命": [
			["jiàn"],
			["wēi"],
			["shòu"],
			["mìng"]
		],
		"见危致命": [
			["jiàn"],
			["wēi"],
			["zhì"],
			["mìng"]
		],
		"见微知萌": [
			["jiàn"],
			["wēi"],
			["zhī"],
			["méng"]
		],
		"见微知著": [
			["jiàn"],
			["wēi"],
			["zhī"],
			["zhù"]
		],
		"见物不见人": [
			["jiàn"],
			["wù"],
			["bù"],
			["jiàn"],
			["rén"]
		],
		"见习生": [
			["jiàn"],
			["xí"],
			["shēng"]
		],
		"见贤思齐": [
			["jiàn"],
			["xián"],
			["sī"],
			["qí"]
		],
		"见小暗大": [
			["jiàn"],
			["xiǎo"],
			["àn"],
			["dà"]
		],
		"见笑大方": [
			["jiàn"],
			["xiào"],
			["dà"],
			["fāng"]
		],
		"见性成佛": [
			["jiàn"],
			["xìng"],
			["chéng"],
			["fó"]
		],
		"见阎王": [
			["jiàn"],
			["yán"],
			["wáng"]
		],
		"见噎废食": [
			["jiàn"],
			["yē"],
			["fèi"],
			["shí"]
		],
		"见义必为": [
			["jiàn"],
			["yì"],
			["bì"],
			["wéi"]
		],
		"见义当为": [
			["jiàn"],
			["yì"],
			["dāng"],
			["wéi"]
		],
		"见义敢为": [
			["jiàn"],
			["yì"],
			["gǎn"],
			["wéi"]
		],
		"见义勇为": [
			["jiàn"],
			["yì"],
			["yǒng"],
			["wéi"]
		],
		"见异思迁": [
			["jiàn"],
			["yì"],
			["sī"],
			["qiān"]
		],
		"见证人": [
			["jiàn"],
			["zhèng"],
			["rén"]
		],
		"见智见仁": [
			["jiàn"],
			["zhì"],
			["jiàn"],
			["rén"]
		],
		"建筑面积": [
			["jiàn"],
			["zhù"],
			["miàn"],
			["jī"]
		],
		"建筑物": [
			["jiàn"],
			["zhù"],
			["wù"]
		],
		"建筑学": [
			["jiàn"],
			["zhù"],
			["xué"]
		],
		"剑首一吷": [
			["jiàn"],
			["shǒu"],
			["yī"],
			["guī"]
		],
		"贱骨头": [
			["jiàn"],
			["gú"],
			["tou"]
		],
		"剑头一吷": [
			["jiàn"],
			["tóu"],
			["yī"],
			["xuè"]
		],
		"贱敛贵发": [
			["jiàn"],
			["liǎn"],
			["guì"],
			["fā"]
		],
		"渐不可长": [
			["jiàn"],
			["bù"],
			["kě"],
			["zhǎng"]
		],
		"渐入佳境": [
			["jiàn"],
			["rù"],
			["jiā"],
			["jìng"]
		],
		"渐至佳境": [
			["jiàn"],
			["zhì"],
			["jiā"],
			["jìng"]
		],
		"践土食毛": [
			["jiàn"],
			["tǔ"],
			["shí"],
			["máo"]
		],
		"鉴机识变": [
			["jiàn"],
			["jī"],
			["shí"],
			["biàn"]
		],
		"鉴空衡平": [
			["jiàn"],
			["kōng"],
			["héng"],
			["píng"]
		],
		"鉴往知来": [
			["jiàn"],
			["wǎng"],
			["zhī"],
			["lái"]
		],
		"鉴影度形": [
			["jiàn"],
			["yǐng"],
			["duó"],
			["xíng"]
		],
		"键盘乐器": [
			["jiàn"],
			["pán"],
			["yuè"],
			["qì"]
		],
		"箭不虚发": [
			["jiàn"],
			["bù"],
			["xū"],
			["fā"]
		],
		"槛花笼鹤": [
			["jiàn"],
			["huā"],
			["lóng"],
			["hè"]
		],
		"箭在弦上": [
			["jiàn"],
			["zài"],
			["xián"],
			["shàng"]
		],
		"江东父老": [
			["jiāng"],
			["dōng"],
			["fù"],
			["lǎo"]
		],
		"江翻海倒": [
			["jiāng"],
			["fān"],
			["hǎi"],
			["dǎo"]
		],
		"江海不逆小流": [
			["jiāng"],
			["hǎi"],
			["bù"],
			["nì"],
			["xiǎo"],
			["liú"]
		],
		"江汉朝宗": [
			["jiāng"],
			["hàn"],
			["cháo"],
			["zōng"]
		],
		"江河行地": [
			["jiāng"],
			["hé"],
			["xíng"],
			["dì"]
		],
		"江郎才尽": [
			["jiāng"],
			["láng"],
			["cái"],
			["jìn"]
		],
		"江郎才掩": [
			["jiāng"],
			["láng"],
			["cái"],
			["yǎn"]
		],
		"江南海北": [
			["jiāng"],
			["nán"],
			["hǎi"],
			["běi"]
		],
		"江水不犯河水": [
			["jiāng"],
			["shuǐ"],
			["bù"],
			["fàn"],
			["hé"],
			["shuǐ"]
		],
		"江苏省": [
			["jiāng"],
			["sū"],
			["shěng"]
		],
		"江淹才尽": [
			["jiāng"],
			["yān"],
			["cái"],
			["jìn"]
		],
		"江洋大盗": [
			["jiāng"],
			["yáng"],
			["dà"],
			["dào"]
		],
		"江泽民": [
			["jiāng"],
			["zé"],
			["mín"]
		],
		"江左夷吾": [
			["jiāng"],
			["zuǒ"],
			["yí"],
			["wú"]
		],
		"将本求财": [
			["jiāng"],
			["běn"],
			["qiú"],
			["cái"]
		],
		"将本求利": [
			["jiāng"],
			["běn"],
			["qiú"],
			["lì"]
		],
		"将伯之呼": [
			["qiāng"],
			["bó"],
			["zhī"],
			["hū"]
		],
		"将伯之助": [
			["qiāng"],
			["bó"],
			["zhī"],
			["zhù"]
		],
		"将错就错": [
			["jiāng"],
			["cuò"],
			["jiù"],
			["cuò"]
		],
		"将夺固与": [
			["jiāng"],
			["duó"],
			["gū"],
			["yǔ"]
		],
		"将飞翼伏": [
			["jiāng"],
			["fēi"],
			["yì"],
			["fú"]
		],
		"将功补过": [
			["jiāng"],
			["gōng"],
			["bǔ"],
			["guò"]
		],
		"将功抵罪": [
			["jiāng"],
			["gōng"],
			["dǐ"],
			["zuì"]
		],
		"将功赎罪": [
			["jiāng"],
			["gōng"],
			["shú"],
			["zuì"]
		],
		"将功折过": [
			["jiāng"],
			["gōng"],
			["shé"],
			["guò"]
		],
		"将功折罪": [
			["jiāng"],
			["gōng"],
			["zhé"],
			["zuì"]
		],
		"将机就机": [
			["jiāng"],
			["jī"],
			["jiù"],
			["jī"]
		],
		"将机就计": [
			["jiāng"],
			["jī"],
			["jiù"],
			["jì"]
		],
		"将计就计": [
			["jiāng"],
			["jì"],
			["jiù"],
			["jì"]
		],
		"将门虎子": [
			["jiàng"],
			["mén"],
			["hǔ"],
			["zǐ"]
		],
		"将李代桃": [
			["jiāng"],
			["lǐ"],
			["dài"],
			["táo"]
		],
		"将门无犬子": [
			["jiàng"],
			["mén"],
			["wú"],
			["quǎn"],
			["zǐ"]
		],
		"将门有将": [
			["jiàng"],
			["mén"],
			["yǒu"],
			["jiàng"]
		],
		"将取固予": [
			["jiāng"],
			["qǔ"],
			["gū"],
			["yǔ"]
		],
		"将勤补拙": [
			["jiāng"],
			["qín"],
			["bǔ"],
			["zhuō"]
		],
		"将顺其美": [
			["jiāng"],
			["shùn"],
			["qí"],
			["měi"]
		],
		"将天就地": [
			["jiāng"],
			["tiān"],
			["jiù"],
			["dì"]
		],
		"将无作有": [
			["jiāng"],
			["wú"],
			["zuò"],
			["yǒu"]
		],
		"将无做有": [
			["jiāng"],
			["wú"],
			["zuò"],
			["yǒu"]
		],
		"将虾钓鳖": [
			["jiāng"],
			["xiā"],
			["diào"],
			["biē"]
		],
		"将相之器": [
			["jiàng"],
			["xiàng"],
			["zhī"],
			["qì"]
		],
		"将心比心": [
			["jiāng"],
			["xīn"],
			["bǐ"],
			["xīn"]
		],
		"将信将疑": [
			["jiāng"],
			["xìn"],
			["jiāng"],
			["yí"]
		],
		"将胸比肚": [
			["jiāng"],
			["xiōng"],
			["bǐ"],
			["dù"]
		],
		"将遇良材": [
			["jiàng"],
			["yù"],
			["liáng"],
			["cái"]
		],
		"浆酒霍肉": [
			["jiāng"],
			["jiǔ"],
			["huò"],
			["ròu"]
		],
		"浆酒藿肉": [
			["jiāng"],
			["jiǔ"],
			["huò"],
			["ròu"]
		],
		"浆水不交": [
			["jiāng"],
			["shuǐ"],
			["bù"],
			["jiāo"]
		],
		"讲古论今": [
			["jiǎng"],
			["gǔ"],
			["lùn"],
			["jīn"]
		],
		"讲价钱": [
			["jiǎng"],
			["jià"],
			["qián"]
		],
		"讲解员": [
			["jiǎng"],
			["jiě"],
			["yuán"]
		],
		"讲经说法": [
			["jiǎng"],
			["jīng"],
			["shuō"],
			["fǎ"]
		],
		"讲是说非": [
			["jiǎng"],
			["shì"],
			["shuō"],
			["fēi"]
		],
		"讲信修睦": [
			["jiǎng"],
			["xìn"],
			["xiū"],
			["mù"]
		],
		"奖罚分明": [
			["jiǎng"],
			["fá"],
			["fēn"],
			["míng"]
		],
		"匠石运金": [
			["jiàng"],
			["shí"],
			["yùn"],
			["jīn"]
		],
		"降本流末": [
			["jiàng"],
			["běn"],
			["liú"],
			["mò"]
		],
		"降格以求": [
			["jiàng"],
			["gé"],
			["yǐ"],
			["qiú"]
		],
		"降贵纡尊": [
			["jiàng"],
			["guì"],
			["yū"],
			["zūn"]
		],
		"降龙伏虎": [
			["xiáng"],
			["lóng"],
			["fú"],
			["hǔ"]
		],
		"降落伞": [
			["jiàng"],
			["luò"],
			["sǎn"]
		],
		"降心顺俗": [
			["jiàng"],
			["xīn"],
			["shùn"],
			["sú"]
		],
		"降心俯首": [
			["jiàng"],
			["xīn"],
			["fǔ"],
			["shǒu"]
		],
		"降心下气": [
			["jiàng"],
			["xīn"],
			["xià"],
			["qì"]
		],
		"降心相从": [
			["jiàng"],
			["xīn"],
			["xiāng"],
			["cóng"]
		],
		"降颜屈体": [
			["jiàng"],
			["yán"],
			["qū"],
			["tǐ"]
		],
		"降妖捉怪": [
			["xiáng"],
			["yāo"],
			["zhuō"],
			["guài"]
		],
		"降雨量": [
			["jiàng"],
			["yǔ"],
			["liàng"]
		],
		"降志辱身": [
			["jiàng"],
			["zhì"],
			["rǔ"],
			["shēn"]
		],
		"降尊临卑": [
			["jiàng"],
			["zūn"],
			["lín"],
			["bēi"]
		],
		"降尊纡贵": [
			["jiàng"],
			["zūn"],
			["yū"],
			["guì"]
		],
		"交白卷": [
			["jiāo"],
			["bái"],
			["juàn"]
		],
		"交臂失之": [
			["jiāo"],
			["bì"],
			["shī"],
			["zhī"]
		],
		"交臂历指": [
			["jiāo"],
			["bì"],
			["lì"],
			["zhǐ"]
		],
		"交臂相失": [
			["jiāo"],
			["bì"],
			["xiāng"],
			["shī"]
		],
		"交叉点": [
			["jiāo"],
			["chā"],
			["diǎn"]
		],
		"交叉感染": [
			["jiāo"],
			["chā"],
			["gǎn"],
			["rǎn"]
		],
		"交淡若水": [
			["jiāo"],
			["dàn"],
			["ruò"],
			["shuǐ"]
		],
		"交换价值": [
			["jiāo"],
			["huàn"],
			["jià"],
			["zhí"]
		],
		"交换台": [
			["jiāo"],
			["huàn"],
			["tái"]
		],
		"交颈并头": [
			["jiāo"],
			["jǐng"],
			["bìng"],
			["tóu"]
		],
		"交口称誉": [
			["jiāo"],
			["kǒu"],
			["chēng"],
			["yù"]
		],
		"交口称赞": [
			["jiāo"],
			["kǒu"],
			["chēng"],
			["zàn"]
		],
		"交口同声": [
			["jiāo"],
			["kǒu"],
			["tóng"],
			["shēng"]
		],
		"交能易作": [
			["jiāo"],
			["néng"],
			["yì"],
			["zuò"]
		],
		"交浅言深": [
			["jiāo"],
			["qiǎn"],
			["yán"],
			["shēn"]
		],
		"交通车": [
			["jiāo"],
			["tōng"],
			["chē"]
		],
		"交通员": [
			["jiāo"],
			["tōng"],
			["yuán"]
		],
		"交头互耳": [
			["jiāo"],
			["tóu"],
			["hù"],
			["ěr"]
		],
		"交头接耳": [
			["jiāo"],
			["tóu"],
			["jiē"],
			["ěr"]
		],
		"交相辉映": [
			["jiāo"],
			["xiāng"],
			["huī"],
			["yìng"]
		],
		"交响乐": [
			["jiāo"],
			["xiǎng"],
			["yuè"]
		],
		"交响曲": [
			["jiāo"],
			["xiǎng"],
			["qǔ"]
		],
		"浇淳散朴": [
			["jiāo"],
			["chún"],
			["sàn"],
			["pǔ"]
		],
		"浇醇散朴": [
			["jiāo"],
			["chún"],
			["sàn"],
			["pǔ"]
		],
		"骄侈暴佚": [
			["jiāo"],
			["chǐ"],
			["bào"],
			["yì"]
		],
		"浇风薄俗": [
			["jiāo"],
			["fēng"],
			["bó"],
			["sú"]
		],
		"骄儿騃女": [
			["jiāo"],
			["ér"],
			["bā"],
			["nǚ"]
		],
		"骄奢淫泆": [
			["jiāo"],
			["shē"],
			["yín"],
			["yí"]
		],
		"骄泰淫泆": [
			["jiāo"],
			["tai"],
			["yín"],
			["zhuàng"]
		],
		"骄佚奢淫": [
			["jiāo"],
			["yì"],
			["shē"],
			["yín"]
		],
		"骄奢淫佚": [
			["jiāo"],
			["shē"],
			["yín"],
			["yì"]
		],
		"胶鬲之困": [
			["jiāo"],
			["gé"],
			["zhī"],
			["kùn"]
		],
		"胶合板": [
			["jiāo"],
			["hé"],
			["bǎn"]
		],
		"胶柱调瑟": [
			["jiāo"],
			["zhù"],
			["tiáo"],
			["sè"]
		],
		"椒焚桂折": [
			["jiāo"],
			["fén"],
			["guì"],
			["zhé"]
		],
		"焦熬投石": [
			["jiāo"],
			["áo"],
			["tóu"],
			["shí"]
		],
		"焦唇干肺": [
			["jiāo"],
			["chún"],
			["gān"],
			["fèi"]
		],
		"焦唇干舌": [
			["jiāo"],
			["chún"],
			["gàn"],
			["shé"]
		],
		"焦金流石": [
			["jiāo"],
			["jīn"],
			["liú"],
			["shí"]
		],
		"焦金烁石": [
			["jiāo"],
			["jīn"],
			["shuò"],
			["shí"]
		],
		"焦圈儿": [
			["jiāo"],
			["quān"],
			["ér"]
		],
		"焦沙烂石": [
			["jiāo"],
			["shā"],
			["shí"],
			["làn"]
		],
		"焦头烂额": [
			["jiāo"],
			["tóu"],
			["làn"],
			["é"]
		],
		"焦思苦虑": [
			["jiāo"],
			["sī"],
			["kǔ"],
			["lǜ"]
		],
		"焦心劳思": [
			["jiāo"],
			["xīn"],
			["láo"],
			["sī"]
		],
		"焦心热中": [
			["jiāo"],
			["xīn"],
			["rè"],
			["zhōng"]
		],
		"蛟龙得水": [
			["jiāo"],
			["lóng"],
			["dé"],
			["shuǐ"]
		],
		"蛟龙戏水": [
			["jiāo"],
			["lóng"],
			["xì"],
			["shuǐ"]
		],
		"燋头烂额": [
			["jiāo"],
			["tóu"],
			["làn"],
			["é"]
		],
		"燋金烁石": [
			["jiāo"],
			["jīn"],
			["shuò"],
			["shí"]
		],
		"鹪鹩一枝": [
			["jiāo"],
			["liáo"],
			["yī"],
			["zhī"]
		],
		"角动量": [
			["jiǎo"],
			["dòng"],
			["liàng"]
		],
		"角户分门": [
			["jiǎo"],
			["hù"],
			["fēn"],
			["mén"]
		],
		"角巾东路": [
			["jiǎo"],
			["jīn"],
			["dōng"],
			["lù"]
		],
		"角巾私第": [
			["jiǎo"],
			["jīn"],
			["sī"],
			["dì"]
		],
		"角立杰出": [
			["jiao"],
			["li"],
			["jie"],
			["chu"]
		],
		"角膜炎": [
			["jiǎo"],
			["mó"],
			["yán"]
		],
		"角速度": [
			["jiǎo"],
			["sù"],
			["dù"]
		],
		"挢抂过正": [
			["jiǎo"],
			["kuāng"],
			["guò"],
			["zhèng"]
		],
		"挢枉过正": [
			["jiǎo"],
			["wǎng"],
			["guò"],
			["zhèng"]
		],
		"狡焉思逞": [
			["jiǎo"],
			["yān"],
			["sī"],
			["chěng"]
		],
		"狡焉思启": [
			["jiǎo"],
			["yān"],
			["sī"],
			["qǐ"]
		],
		"狡焉思肆": [
			["jiǎo"],
			["yān"],
			["sī"],
			["sì"]
		],
		"绞尽脑汁": [
			["jiǎo"],
			["jìn"],
			["nǎo"],
			["zhī"]
		],
		"皎阳似火": [
			["jiǎo"],
			["yáng"],
			["shì"],
			["huǒ"]
		],
		"矫国革俗": [
			["jiǎo"],
			["guó"],
			["gé"],
			["sú"]
		],
		"矫国更俗": [
			["jiǎo"],
			["guó"],
			["gēng"],
			["sú"]
		],
		"矫矫不群": [
			["jiǎo"],
			["jiǎo"],
			["bù"],
			["qùn"]
		],
		"矫情干誉": [
			["jiǎo"],
			["qíng"],
			["gān"],
			["yù"]
		],
		"矫情饰貌": [
			["jiǎo"],
			["qíng"],
			["shì"],
			["mào"]
		],
		"矫情饰行": [
			["jiǎo"],
			["qíng"],
			["shì"],
			["xíng"]
		],
		"矫情饰诈": [
			["jiǎo"],
			["qíng"],
			["shì"],
			["zhà"]
		],
		"矫情镇物": [
			["jiǎo"],
			["qíng"],
			["zhèn"],
			["wù"]
		],
		"矫揉造作": [
			["jiǎo"],
			["róu"],
			["zào"],
			["zuò"]
		],
		"矫若惊龙": [
			["jiǎo"],
			["ruò"],
			["jīng"],
			["lóng"]
		],
		"矫若游龙": [
			["jiǎo"],
			["ruò"],
			["yóu"],
			["lóng"]
		],
		"矫时慢物": [
			["jiǎo"],
			["shí"],
			["màn"],
			["wù"]
		],
		"矫世变俗": [
			["jiǎo"],
			["shì"],
			["biàn"],
			["sú"]
		],
		"矫世厉俗": [
			["jiǎo"],
			["shì"],
			["lì"],
			["sú"]
		],
		"矫世励俗": [
			["jiǎo"],
			["shì"],
			["lì"],
			["sú"]
		],
		"矫枉过当": [
			["jiǎo"],
			["wǎng"],
			["guò"],
			["dāng"]
		],
		"矫枉过正": [
			["jiǎo"],
			["wǎng"],
			["guò"],
			["zhèng"]
		],
		"矫枉过直": [
			["jiǎo"],
			["wǎng"],
			["guò"],
			["zhí"]
		],
		"矫枉过中": [
			["jiǎo"],
			["wǎng"],
			["guò"],
			["zhōng"]
		],
		"矫尾厉角": [
			["jiǎo"],
			["wěi"],
			["lì"],
			["jiǎo"]
		],
		"矫邪归正": [
			["jiǎo"],
			["xié"],
			["guī"],
			["zhèng"]
		],
		"矫言伪行": [
			["jiǎo"],
			["yán"],
			["wěi"],
			["xíng"]
		],
		"脚不点地": [
			["jiǎo"],
			["bù"],
			["diǎn"],
			["dì"]
		],
		"脚不沾地": [
			["jiǎo"],
			["bù"],
			["zhān"],
			["dì"]
		],
		"脚踏实地": [
			["jiǎo"],
			["tà"],
			["shí"],
			["dì"]
		],
		"脚踏两只船": [
			["jiǎo"],
			["tà"],
			["liǎng"],
			["zhī"],
			["chuán"]
		],
		"脚心朝天": [
			["jiǎo"],
			["xīn"],
			["cháo"],
			["tiān"]
		],
		"搅拌机": [
			["jiǎo"],
			["bàn"],
			["jī"]
		],
		"叫苦不迭": [
			["jiào"],
			["kǔ"],
			["bù"],
			["dié"]
		],
		"较短量长": [
			["jiào"],
			["duǎn"],
			["liáng"],
			["cháng"]
		],
		"较德焯勤": [
			["jiào"],
			["dé"],
			["zhuō"],
			["qín"]
		],
		"较长絜短": [
			["jiào"],
			["cháng"],
			["xié"],
			["duǎn"]
		],
		"较短比长": [
			["jiào"],
			["duǎn"],
			["bǐ"],
			["cháng"]
		],
		"较短絜长": [
			["jiào"],
			["duǎn"],
			["xié"],
			["cháng"]
		],
		"较若画一": [
			["jiào"],
			["ruò"],
			["huà"],
			["yī"]
		],
		"较瘦量肥": [
			["jiào"],
			["shòu"],
			["liàng"],
			["féi"]
		],
		"较武论文": [
			["jiào"],
			["wǔ"],
			["lùn"],
			["wén"]
		],
		"教导有方": [
			["jiào"],
			["dǎo"],
			["yǒu"],
			["fāng"]
		],
		"教猱升木": [
			["jiāo"],
			["náo"],
			["shēng"],
			["mù"]
		],
		"教无常师": [
			["jiào"],
			["wú"],
			["cháng"],
			["shī"]
		],
		"教学相长": [
			["jiào"],
			["xué"],
			["xiāng"],
			["zhǎng"]
		],
		"教一识百": [
			["jiāo"],
			["yī"],
			["shí"],
			["bǎi"]
		],
		"教亦多术": [
			["jiào"],
			["yì"],
			["duō"],
			["shù"]
		],
		"教育经济学": [
			["jiào"],
			["yù"],
			["jīng"],
			["jì"],
			["xué"]
		],
		"斠若画一": [
			["jiào"],
			["ruò"],
			["huà"],
			["yī"]
		],
		"阶级斗争": [
			["jiē"],
			["jí"],
			["dòu"],
			["zhēng"]
		],
		"阶级社会": [
			["jiē"],
			["jí"],
			["shè"],
			["huì"]
		],
		"阶前万里": [
			["jiē"],
			["qián"],
			["wàn"],
			["lǐ"]
		],
		"皆大欢喜": [
			["jiē"],
			["dà"],
			["huān"],
			["xǐ"]
		],
		"接风洗尘": [
			["jiē"],
			["fēng"],
			["xǐ"],
			["chén"]
		],
		"接连不断": [
			["jiē"],
			["lián"],
			["bù"],
			["duàn"]
		],
		"嗟来之食": [
			["jiē"],
			["lái"],
			["zhī"],
			["shí"]
		],
		"揭不开锅": [
			["jiē"],
			["bù"],
			["kāi"],
			["guō"]
		],
		"揭地掀天": [
			["jiē"],
			["dì"],
			["xiān"],
			["tiān"]
		],
		"揭竿而起": [
			["jiē"],
			["gān"],
			["ér"],
			["qǐ"]
		],
		"揭老底": [
			["jiē"],
			["lǎo"],
			["dǐ"]
		],
		"揭盖子": [
			["jiē"],
			["gài"],
			["zi"]
		],
		"揭箧担囊": [
			["jiē"],
			["qiè"],
			["dān"],
			["náng"]
		],
		"揭箧探囊": [
			["jiē"],
			["qiè"],
			["tàn"],
			["náng"]
		],
		"街坊邻里": [
			["jiē"],
			["fāng"],
			["lín"],
			["lǐ"]
		],
		"街坊四邻": [
			["jiē"],
			["fāng"],
			["sì"],
			["lín"]
		],
		"街号巷哭": [
			["jiē"],
			["hào"],
			["xiàng"],
			["kū"]
		],
		"街面儿上": [
			["jiē"],
			["miàn"],
			["ér"],
			["shàng"]
		],
		"街谈巷说": [
			["jiē"],
			["tán"],
			["xiàng"],
			["shuō"]
		],
		"街谈巷谚": [
			["jiē"],
			["tán"],
			["xiàng"],
			["yàn"]
		],
		"街谈巷议": [
			["jiē"],
			["tán"],
			["xiàng"],
			["yì"]
		],
		"街谈巷语": [
			["jiē"],
			["tán"],
			["xiàng"],
			["yǔ"]
		],
		"街谭巷议": [
			["jiē"],
			["tán"],
			["xiàng"],
			["yì"]
		],
		"街头剧": [
			["jiē"],
			["tóu"],
			["jù"]
		],
		"街头诗": [
			["jiē"],
			["tóu"],
			["shī"]
		],
		"街头巷底": [
			["jiē"],
			["tóu"],
			["xiàng"],
			["dǐ"]
		],
		"街巷阡陌": [
			["jiē"],
			["xiàng"],
			["qiān"],
			["mò"]
		],
		"街头巷尾": [
			["jiē"],
			["tóu"],
			["xiàng"],
			["wěi"]
		],
		"节哀顺变": [
			["jié"],
			["āi"],
			["shùn"],
			["biàn"]
		],
		"节度使": [
			["jié"],
			["dù"],
			["shǐ"]
		],
		"节骨眼": [
			["jiē"],
			["gǔ"],
			["yǎn"]
		],
		"节假日": [
			["jié"],
			["jià"],
			["rì"]
		],
		"节目单": [
			["jié"],
			["mù"],
			["dān"]
		],
		"节目主持人": [
			["jié"],
			["mù"],
			["zhǔ"],
			["chí"],
			["rén"]
		],
		"节外生枝": [
			["jié"],
			["wài"],
			["shēng"],
			["zhī"]
		],
		"节衣缩食": [
			["jié"],
			["yī"],
			["suō"],
			["shí"]
		],
		"节用裕民": [
			["jié"],
			["yòng"],
			["yù"],
			["mín"]
		],
		"节用爱民": [
			["jié"],
			["yòng"],
			["ài"],
			["mín"]
		],
		"节肢动物": [
			["jié"],
			["zhī"],
			["dòng"],
			["wù"]
		],
		"节制资本": [
			["jié"],
			["zhì"],
			["zī"],
			["běn"]
		],
		"节奏感": [
			["jié"],
			["zòu"],
			["gǎn"]
		],
		"劫富济贫": [
			["jié"],
			["fù"],
			["jì"],
			["pín"]
		],
		"劫数难逃": [
			["jié"],
			["shù"],
			["nán"],
			["táo"]
		],
		"诘曲聱牙": [
			["jié"],
			["qǔ"],
			["áo"],
			["yá"]
		],
		"诘诎聱牙": [
			["jié"],
			["qū"],
			["áo"],
			["yá"]
		],
		"诘屈磝碻": [
			["jié"],
			["qū"],
			["bìng"],
			["zhòu"]
		],
		"诘屈聱牙": [
			["jié"],
			["qū"],
			["áo"],
			["yá"]
		],
		"诘屈謷牙": [
			["jié"],
			["qū"],
			["dà"],
			["yá"]
		],
		"诘戎治兵": [
			["jié"],
			["róng"],
			["zhì"],
			["bīng"]
		],
		"洁己从公": [
			["jié"],
			["jǐ"],
			["cóng"],
			["gōng"]
		],
		"洁身累行": [
			["jié"],
			["shēn"],
			["lèi"],
			["xíng"]
		],
		"洁身自好": [
			["jié"],
			["shēn"],
			["zì"],
			["hào"]
		],
		"结不解缘": [
			["jié"],
			["bù"],
			["jiě"],
			["yuán"]
		],
		"结草衔环": [
			["jié"],
			["cǎo"],
			["xián"],
			["huán"]
		],
		"结党营私": [
			["jié"],
			["dǎng"],
			["yíng"],
			["sī"]
		],
		"结缔组织": [
			["jié"],
			["dì"],
			["zǔ"],
			["zhī"]
		],
		"结发夫妻": [
			["jié"],
			["fà"],
			["fū"],
			["qī"]
		],
		"结核病": [
			["jié"],
			["hé"],
			["bìng"]
		],
		"结核杆菌": [
			["jié"],
			["hé"],
			["gǎn"],
			["jūn"]
		],
		"结婚证书": [
			["jié"],
			["hūn"],
			["zhèng"],
			["shū"]
		],
		"结结巴巴": [
			["jiē"],
			["jiē"],
			["bā"],
			["bā"]
		],
		"结晶体": [
			["jié"],
			["jīng"],
			["tǐ"]
		],
		"结膜炎": [
			["jié"],
			["mó"],
			["yán"]
		],
		"结舌杜口": [
			["jié"],
			["shé"],
			["dù"],
			["kǒu"]
		],
		"结绳而治": [
			["jié"],
			["shéng"],
			["ér"],
			["zhì"]
		],
		"结驷连骑": [
			["jié"],
			["sì"],
			["lián"],
			["qí"]
		],
		"结束语": [
			["jié"],
			["shù"],
			["yǔ"]
		],
		"桀敖不驯": [
			["jié"],
			["áo"],
			["bù"],
			["xùn"]
		],
		"桀傲不恭": [
			["jié"],
			["ào"],
			["bù"],
			["gōng"]
		],
		"桀傲不驯": [
			["jié"],
			["ào"],
			["bù"],
			["xùn"]
		],
		"桀骜不恭": [
			["jié"],
			["ào"],
			["bù"],
			["gōng"]
		],
		"桀骜不驯": [
			["jié"],
			["ào"],
			["bù"],
			["xùn"]
		],
		"桀骜不逊": [
			["jié"],
			["ào"],
			["bù"],
			["xùn"]
		],
		"桀骜难驯": [
			["jié"],
			["ào"],
			["nán"],
			["xùn"]
		],
		"捷报频传": [
			["jié"],
			["bào"],
			["pín"],
			["chuán"]
		],
		"捷雷不及掩耳": [
			["jié"],
			["léi"],
			["bù"],
			["jí"],
			["yǎn"],
			["ěr"]
		],
		"捷足先得": [
			["jié"],
			["zú"],
			["xiān"],
			["dé"]
		],
		"截长补短": [
			["jié"],
			["cháng"],
			["bǔ"],
			["duǎn"]
		],
		"截发留宾": [
			["jié"],
			["fā"],
			["liú"],
			["bīn"]
		],
		"截发剉稾": [
			["jié"],
			["fā"],
			["cuò"],
			["gǎo"]
		],
		"截然不同": [
			["jié"],
			["rán"],
			["bù"],
			["tóng"]
		],
		"截铁斩钉": [
			["jié"],
			["tiě"],
			["zhǎn"],
			["dìng"]
		],
		"竭诚相待": [
			["jié"],
			["chéng"],
			["xiāng"],
			["dài"]
		],
		"竭诚尽节": [
			["jié"],
			["chéng"],
			["jìn"],
			["jié"]
		],
		"竭尽全力": [
			["jié"],
			["jìn"],
			["quán"],
			["lì"]
		],
		"竭尽心力": [
			["jié"],
			["jìn"],
			["xīn"],
			["lì"]
		],
		"竭泽而渔": [
			["jié"],
			["zé"],
			["ér"],
			["yú"]
		],
		"竭泽焚薮": [
			["jié"],
			["zé"],
			["fén"],
			["sǒu"]
		],
		"竭智尽力": [
			["jié"],
			["zhì"],
			["jìn"],
			["lì"]
		],
		"竭智尽忠": [
			["jié"],
			["zhì"],
			["jìn"],
			["zhōng"]
		],
		"竭忠尽智": [
			["jié"],
			["zhōng"],
			["jìn"],
			["zhì"]
		],
		"解兵释甲": [
			["jiě"],
			["bīng"],
			["shì"],
			["jiǎ"]
		],
		"解骖推食": [
			["jiě"],
			["cān"],
			["tuī"],
			["shí"]
		],
		"解发佯狂": [
			["jiě"],
			["fà"],
			["yáng"],
			["kuáng"]
		],
		"解放军": [
			["jiě"],
			["fàng"],
			["jūn"]
		],
		"解放区": [
			["jiě"],
			["fàng"],
			["qū"]
		],
		"解放战争": [
			["jiě"],
			["fàng"],
			["zhàn"],
			["zhēng"]
		],
		"解纷排难": [
			["jiě"],
			["fēn"],
			["pái"],
			["nán"]
		],
		"解甲倒戈": [
			["jiě"],
			["jiǎ"],
			["dǎo"],
			["gē"]
		],
		"解甲投戈": [
			["jiě"],
			["jiǎ"],
			["tóu"],
			["gē"]
		],
		"解甲归田": [
			["jiě"],
			["jiǎ"],
			["guī"],
			["tián"]
		],
		"解剑拜仇": [
			["jiě"],
			["jiàn"],
			["bài"],
			["chóu"]
		],
		"解甲休士": [
			["jiě"],
			["jiǎ"],
			["xiū"],
			["shì"]
		],
		"解甲休兵": [
			["jiě"],
			["jiǎ"],
			["xiū"],
			["bīng"]
		],
		"解扣儿": [
			["jiě"],
			["kòu"],
			["ér"]
		],
		"解铃还是系铃人": [
			["jiě"],
			["líng"],
			["hái"],
			["shì"],
			["xì"],
			["líng"],
			["rén"]
		],
		"解铃还须系铃人": [
			["jiě"],
			["líng"],
			["hái"],
			["xū"],
			["xì"],
			["líng"],
			["rén"]
		],
		"解铃还需系铃人": [
			["jiě"],
			["líng"],
			["hái"],
			["xū"],
			["jì"],
			["líng"],
			["rén"]
		],
		"解铃系铃": [
			["jiě"],
			["líng"],
			["jì"],
			["líng"]
		],
		"解铃须用系铃人": [
			["jiě"],
			["líng"],
			["xū"],
			["yòng"],
			["xì"],
			["líng"],
			["rén"]
		],
		"解囊相助": [
			["jiě"],
			["náng"],
			["xiāng"],
			["zhù"]
		],
		"解民倒悬": [
			["jiě"],
			["mín"],
			["dào"],
			["xuán"]
		],
		"解黏去缚": [
			["jiě"],
			["nián"],
			["qù"],
			["fù"]
		],
		"解剖麻雀": [
			["jiě"],
			["pōu"],
			["má"],
			["què"]
		],
		"解剖学": [
			["jiě"],
			["pōu"],
			["xué"]
		],
		"解剖室": [
			["jiě"],
			["pōu"],
			["shì"]
		],
		"解人难得": [
			["jiě"],
			["rén"],
			["nán"],
			["dé"]
		],
		"解说词": [
			["jiě"],
			["shuō"],
			["cí"]
		],
		"解析几何": [
			["jiě"],
			["xī"],
			["jǐ"],
			["hé"]
		],
		"解弦更张": [
			["jiě"],
			["xián"],
			["gēng"],
			["zhāng"]
		],
		"解衣般礴": [
			["jiě"],
			["yī"],
			["bān"],
			["bó"]
		],
		"解衣磅礴": [
			["jiě"],
			["yī"],
			["páng"],
			["bó"]
		],
		"解衣包火": [
			["jiě"],
			["yī"],
			["bāo"],
			["huǒ"]
		],
		"解衣抱火": [
			["jiě"],
			["yī"],
			["bào"],
			["huǒ"]
		],
		"解衣盘磅": [
			["jiě"],
			["yī"],
			["pán"],
			["páng"]
		],
		"解衣盘礴": [
			["jiě"],
			["yī"],
			["pán"],
			["bó"]
		],
		"解衣槃磅": [
			["jiě"],
			["yī"],
			["pán"],
			["páng"]
		],
		"解衣推食": [
			["jiě"],
			["yī"],
			["tuī"],
			["shí"]
		],
		"解衣卸甲": [
			["jiě"],
			["yī"],
			["xiè"],
			["jiǎ"]
		],
		"解衣衣人": [
			["jiè"],
			["yī"],
			["yī"],
			["rén"]
		],
		"解疑释惑": [
			["jiě"],
			["yí"],
			["shì"],
			["huò"]
		],
		"介绍信": [
			["jiè"],
			["shào"],
			["xìn"]
		],
		"戒严令": [
			["jiè"],
			["yán"],
			["lìng"]
		],
		"戒奢宁俭": [
			["jiè"],
			["shē"],
			["nìng"],
			["jiān"]
		],
		"芥子气": [
			["jiè"],
			["zǐ"],
			["qì"]
		],
		"借东风": [
			["jiè"],
			["dōng"],
			["fēng"]
		],
		"借风使船": [
			["jiè"],
			["fēng"],
			["shǐ"],
			["chuán"]
		],
		"借公行私": [
			["jiè"],
			["gōng"],
			["xíng"],
			["sī"]
		],
		"借花献佛": [
			["jiè"],
			["huā"],
			["xiàn"],
			["fó"]
		],
		"借交报仇": [
			["jiè"],
			["jiāo"],
			["bào"],
			["chóu"]
		],
		"借景生情": [
			["jiè"],
			["jǐng"],
			["shēng"],
			["qíng"]
		],
		"借镜观形": [
			["jiè"],
			["jìng"],
			["guān"],
			["xíng"]
		],
		"借客报仇": [
			["jiè"],
			["kè"],
			["bào"],
			["chóu"]
		],
		"借面吊丧": [
			["jiè"],
			["miàn"],
			["diào"],
			["sāng"]
		],
		"借篷使风": [
			["jiè"],
			["péng"],
			["shǐ"],
			["fēng"]
		],
		"借尸还魂": [
			["jiè"],
			["shī"],
			["huán"],
			["hún"]
		],
		"借身报仇": [
			["jiè"],
			["shēn"],
			["bào"],
			["chóu"]
		],
		"借尸还阳": [
			["jiè"],
			["shī"],
			["huán"],
			["yáng"]
		],
		"借水行舟": [
			["jiè"],
			["shuǐ"],
			["xíng"],
			["zhōu"]
		],
		"借题发挥": [
			["jiè"],
			["tí"],
			["fā"],
			["huī"]
		],
		"藉草枕块": [
			["jiè"],
			["cǎo"],
			["zhěn"],
			["kuài"]
		],
		"巾帼奇才": [
			["jīn"],
			["guó"],
			["qí"],
			["cái"]
		],
		"巾帼丈夫": [
			["jīn"],
			["guó"],
			["zhàng"],
			["fū"]
		],
		"今不如昔": [
			["jīn"],
			["bù"],
			["rú"],
			["xī"]
		],
		"今蝉蜕壳": [
			["jīn"],
			["chán"],
			["tuì"],
			["ké"]
		],
		"今朝有酒今朝醉": [
			["jīn"],
			["zhāo"],
			["yǒu"],
			["jiǔ"],
			["jīn"],
			["zhāo"],
			["zuì"]
		],
		"今儿个": [
			["jīn"],
			["ér"],
			["gè"]
		],
		"今日有酒今日醉": [
			["jīn"],
			["rì"],
			["yǒu"],
			["jiǔ"],
			["jīn"],
			["rì"],
			["zuì"]
		],
		"今夕何夕": [
			["jīn"],
			["xī"],
			["hé"],
			["xī"]
		],
		"今雨新知": [
			["jīn"],
			["yǔ"],
			["xīn"],
			["zhī"]
		],
		"斤斤较量": [
			["jīn"],
			["jīn"],
			["jiào"],
			["liàng"]
		],
		"金榜挂名": [
			["jīn"],
			["bǎng"],
			["guà"],
			["míng"]
		],
		"金榜题名": [
			["jīn"],
			["bǎng"],
			["tí"],
			["míng"]
		],
		"金镳玉络": [
			["jīn"],
			["biāo"],
			["yù"],
			["luò"]
		],
		"金不换": [
			["jīn"],
			["bù"],
			["huàn"]
		],
		"金钗细合": [
			["jīn"],
			["chāi"],
			["xì"],
			["hé"]
		],
		"金蝉脱壳": [
			["jīn"],
			["chán"],
			["tuō"],
			["qiào"]
		],
		"金城石室": [
			["jīn"],
			["chéng"],
			["shí"],
			["shì"]
		],
		"金翅擘海": [
			["jīn"],
			["chì"],
			["bāi"],
			["hǎi"]
		],
		"金城汤池": [
			["jīn"],
			["chéng"],
			["tāng"],
			["chí"]
		],
		"金丹换骨": [
			["jīn"],
			["dān"],
			["huàn"],
			["gǔ"]
		],
		"金风送爽": [
			["jīn"],
			["fēng"],
			["sòng"],
			["shuǎng"]
		],
		"金风玉露": [
			["jīn"],
			["fēng"],
			["yù"],
			["lù"]
		],
		"金刚石": [
			["jīn"],
			["gāng"],
			["shí"]
		],
		"金刚钻": [
			["jīn"],
			["gāng"],
			["zuàn"]
		],
		"金谷酒数": [
			["jīn"],
			["gǔ"],
			["jiǔ"],
			["shù"]
		],
		"金鼓齐鸣": [
			["jīn"],
			["gǔ"],
			["qí"],
			["míng"]
		],
		"金光盖地": [
			["jīn"],
			["guāng"],
			["gài"],
			["dì"]
		],
		"金龟换酒": [
			["jīn"],
			["guī"],
			["huàn"],
			["jiǔ"]
		],
		"金龟子": [
			["jīn"],
			["guī"],
			["zǐ"]
		],
		"金合欢": [
			["jīn"],
			["hé"],
			["huān"]
		],
		"金环蛇": [
			["jīn"],
			["huán"],
			["shé"]
		],
		"金晃晃": [
			["jīn"],
			["huàng"],
			["huǎng"]
		],
		"金浆玉醴": [
			["jīn"],
			["jiāng"],
			["yù"],
			["lǐ"]
		],
		"金浆玉液": [
			["jīn"],
			["jiāng"],
			["yù"],
			["yè"]
		],
		"金交椅": [
			["jīn"],
			["jiāo"],
			["yǐ"]
		],
		"金尽裘敝": [
			["jīn"],
			["jìn"],
			["qiú"],
			["bì"]
		],
		"金尽裘弊": [
			["jīn"],
			["jìn"],
			["qiú"],
			["bì"]
		],
		"金科玉条": [
			["jīn"],
			["kē"],
			["yù"],
			["tiáo"]
		],
		"金匮石室": [
			["jīn"],
			["guì"],
			["shí"],
			["shì"]
		],
		"金兰之契": [
			["jīn"],
			["lán"],
			["zhī"],
			["qì"]
		],
		"金苹果": [
			["jīn"],
			["píng"],
			["guǒ"]
		],
		"金瓶落井": [
			["jīn"],
			["píng"],
			["luò"],
			["jǐng"]
		],
		"金融寡头": [
			["jīn"],
			["róng"],
			["guǎ"],
			["tóu"]
		],
		"金沙江": [
			["jīn"],
			["shā"],
			["jiāng"]
		],
		"金沙萨": [
			["jīn"],
			["shā"],
			["sà"]
		],
		"金声玉服": [
			["jīn"],
			["shēng"],
			["yù"],
			["fú"]
		],
		"金声掷地": [
			["jīn"],
			["shēng"],
			["zhì"],
			["dì"]
		],
		"金石不渝": [
			["jīn"],
			["shí"],
			["bù"],
			["yú"]
		],
		"金石交情": [
			["jīn"],
			["shí"],
			["jiāo"],
			["qíng"]
		],
		"金石可开": [
			["jīn"],
			["shí"],
			["kě"],
			["kāi"]
		],
		"金石良言": [
			["jīn"],
			["shí"],
			["liáng"],
			["yán"]
		],
		"金石丝竹": [
			["jīn"],
			["shí"],
			["sī"],
			["zhú"]
		],
		"金石为开": [
			["jīn"],
			["shí"],
			["wèi"],
			["kāi"]
		],
		"金石学": [
			["jīn"],
			["shí"],
			["xué"]
		],
		"金石之策": [
			["jīn"],
			["shí"],
			["zhī"],
			["cè"]
		],
		"金石之计": [
			["jīn"],
			["shí"],
			["zhī"],
			["jì"]
		],
		"金石之功": [
			["jīn"],
			["shí"],
			["zhī"],
			["gōng"]
		],
		"金石之坚": [
			["jīn"],
			["shí"],
			["zhī"],
			["jiān"]
		],
		"金石之交": [
			["jīn"],
			["shí"],
			["zhī"],
			["jiāo"]
		],
		"金石至交": [
			["jīn"],
			["shí"],
			["zhì"],
			["jiāo"]
		],
		"金石之言": [
			["jīn"],
			["shí"],
			["zhī"],
			["yán"]
		],
		"金丝雀": [
			["jīn"],
			["sī"],
			["què"]
		],
		"金丝燕": [
			["jīn"],
			["sī"],
			["yàn"]
		],
		"金台市骏": [
			["jīn"],
			["tái"],
			["shì"],
			["jùn"]
		],
		"金汤之固": [
			["jīn"],
			["tāng"],
			["zhī"],
			["gù"]
		],
		"金淘沙拣": [
			["jīn"],
			["táo"],
			["shā"],
			["jiǎn"]
		],
		"金童玉女": [
			["jīn"],
			["tóng"],
			["yù"],
			["nǚ"]
		],
		"金吾不禁": [
			["jīn"],
			["wú"],
			["bù"],
			["jìn"]
		],
		"金屋藏娇": [
			["jīn"],
			["wū"],
			["cáng"],
			["jiāo"]
		],
		"金相玉式": [
			["jīn"],
			["xiāng"],
			["yù"],
			["shì"]
		],
		"金相玉映": [
			["jīn"],
			["xiāng"],
			["yù"],
			["yìng"]
		],
		"金相玉振": [
			["jīn"],
			["xiāng"],
			["yù"],
			["zhèn"]
		],
		"金相玉质": [
			["jīn"],
			["xiàng"],
			["yù"],
			["zhì"]
		],
		"金玉其质": [
			["jīn"],
			["yù"],
			["qí"],
			["zhì"]
		],
		"金钥匙": [
			["jīn"],
			["yào"],
			["shi"]
		],
		"金圆券": [
			["jīn"],
			["yuán"],
			["quàn"]
		],
		"金章玉句": [
			["jīn"],
			["zhāng"],
			["yù"],
			["jù"]
		],
		"金针度人": [
			["jīn"],
			["zhēn"],
			["dù"],
			["rén"]
		],
		"金针见血": [
			["jīn"],
			["zhēn"],
			["jiàn"],
			["xuè"]
		],
		"金枝玉叶": [
			["jīn"],
			["zhī"],
			["yù"],
			["yè"]
		],
		"金鳷擘海": [
			["jīn"],
			["zhī"],
			["bò"],
			["hǎi"]
		],
		"金属陶瓷": [
			["jīn"],
			["shǔ"],
			["táo"],
			["cí"]
		],
		"津津乐道": [
			["jīn"],
			["jīn"],
			["lè"],
			["dào"]
		],
		"津关险塞": [
			["jīn"],
			["guān"],
			["xiǎn"],
			["sài"]
		],
		"津津有味": [
			["jīn"],
			["jīn"],
			["yǒu"],
			["wèi"]
		],
		"矜功不立": [
			["jīn"],
			["gōng"],
			["bù"],
			["lì"]
		],
		"矜才使气": [
			["jīn"],
			["cái"],
			["shǐ"],
			["qì"]
		],
		"矜功伐能": [
			["jīn"],
			["gōng"],
			["fá"],
			["néng"]
		],
		"矜功伐善": [
			["jīn"],
			["gōng"],
			["fá"],
			["shàn"]
		],
		"矜功负气": [
			["jīn"],
			["gōng"],
			["fǔ"],
			["qì"]
		],
		"矜功恃宠": [
			["jīn"],
			["gōng"],
			["shì"],
			["chǒng"]
		],
		"矜功自伐": [
			["jīn"],
			["gōng"],
			["zì"],
			["fá"]
		],
		"矜己自饰": [
			["jīn"],
			["jǐ"],
			["zhì"],
			["shì"]
		],
		"矜纠收缭": [
			["jīn"],
			["jiū"],
			["shōu"],
			["liáo"]
		],
		"矜名妒能": [
			["jīn"],
			["míng"],
			["dù"],
			["néng"]
		],
		"矜名嫉能": [
			["jīn"],
			["míng"],
			["jì"],
			["néng"]
		],
		"矜能负才": [
			["jīn"],
			["néng"],
			["fù"],
			["cái"]
		],
		"矜贫救厄": [
			["jīn"],
			["pín"],
			["jiù"],
			["è"]
		],
		"矜贫恤独": [
			["jīn"],
			["pín"],
			["xù"],
			["dú"]
		],
		"矜愚饰智": [
			["jīn"],
			["yú"],
			["shì"],
			["zhì"]
		],
		"矜智负能": [
			["jīn"],
			["zhì"],
			["fù"],
			["néng"]
		],
		"矜平躁释": [
			["jīn"],
			["píng"],
			["zào"],
			["shì"]
		],
		"筋疲力尽": [
			["jīn"],
			["pí"],
			["lì"],
			["jìn"]
		],
		"襟怀磊落": [
			["jīn"],
			["huái"],
			["lěi"],
			["luò"]
		],
		"襟怀洒落": [
			["jīn"],
			["huái"],
			["sǎ"],
			["luò"]
		],
		"仅此而已": [
			["jǐn"],
			["cǐ"],
			["ér"],
			["yǐ"]
		],
		"仅次于": [
			["jǐn"],
			["cì"],
			["yú"]
		],
		"仅容旋马": [
			["jǐn"],
			["róng"],
			["xuán"],
			["mǎ"]
		],
		"仅以身免": [
			["jǐn"],
			["yǐ"],
			["shēn"],
			["miǎn"]
		],
		"紧绷绷": [
			["jǐn"],
			["bēng"],
			["bēng"]
		],
		"紧打慢敲": [
			["jǐn"],
			["dǎ"],
			["màn"],
			["qiāo"]
		],
		"紧行无好步": [
			["jǐn"],
			["xíng"],
			["wú"],
			["hǎo"],
			["bù"]
		],
		"紧要关头": [
			["jǐn"],
			["yào"],
			["guān"],
			["tóu"]
		],
		"紧追不舍": [
			["jǐn"],
			["zhuī"],
			["bù"],
			["shě"]
		],
		"谨本详始": [
			["jǐn"],
			["běn"],
			["xiáng"],
			["shǐ"]
		],
		"谨身节用": [
			["jǐn"],
			["shēn"],
			["jié"],
			["yòng"]
		],
		"谨谢不敏": [
			["jǐn"],
			["xiè"],
			["bù"],
			["mǐn"]
		],
		"谨行俭用": [
			["jǐn"],
			["xíng"],
			["jiǎn"],
			["yòng"]
		],
		"谨言慎行": [
			["jǐn"],
			["yán"],
			["shèn"],
			["xíng"]
		],
		"锦囊还矢": [
			["jǐn"],
			["náng"],
			["huán"],
			["shǐ"]
		],
		"锦囊佳句": [
			["jǐn"],
			["náng"],
			["jiā"],
			["jù"]
		],
		"锦囊佳制": [
			["jǐn"],
			["náng"],
			["jiā"],
			["zhì"]
		],
		"锦囊妙计": [
			["jǐn"],
			["náng"],
			["miào"],
			["jì"]
		],
		"锦囊玉轴": [
			["jǐn"],
			["náng"],
			["yù"],
			["zhóu"]
		],
		"锦片前程": [
			["jǐn"],
			["piàn"],
			["qián"],
			["chéng"]
		],
		"锦瑟华年": [
			["jǐn"],
			["sè"],
			["huá"],
			["nián"]
		],
		"锦瑟年华": [
			["jǐn"],
			["sè"],
			["nián"],
			["huá"]
		],
		"锦上添花": [
			["jǐn"],
			["shàng"],
			["tiān"],
			["huā"]
		],
		"锦天绣地": [
			["jǐn"],
			["tiān"],
			["xiù"],
			["dì"]
		],
		"锦衣行昼": [
			["jǐn"],
			["yī"],
			["xíng"],
			["zhòu"]
		],
		"锦衣肉食": [
			["jǐn"],
			["yī"],
			["ròu"],
			["shí"]
		],
		"尽诚竭节": [
			["jìn"],
			["chéng"],
			["jié"],
			["jié"]
		],
		"锦衣玉食": [
			["jǐn"],
			["yī"],
			["yù"],
			["shí"]
		],
		"尽多尽少": [
			["jǐn"],
			["duō"],
			["jǐn"],
			["shǎo"]
		],
		"尽付东流": [
			["jìn"],
			["fù"],
			["dōng"],
			["liú"]
		],
		"尽欢而散": [
			["jìn"],
			["huān"],
			["ér"],
			["sàn"]
		],
		"尽可能": [
			["jìn"],
			["kě"],
			["néng"]
		],
		"尽力而为": [
			["jìn"],
			["lì"],
			["ér"],
			["wéi"]
		],
		"尽美尽善": [
			["jìn"],
			["měi"],
			["jìn"],
			["shàn"]
		],
		"尽其所长": [
			["jìn"],
			["qí"],
			["suǒ"],
			["cháng"]
		],
		"尽其所能": [
			["jìn"],
			["qí"],
			["suǒ"],
			["néng"]
		],
		"尽全力": [
			["jìn"],
			["quán"],
			["lì"]
		],
		"尽人皆知": [
			["jìn"],
			["rén"],
			["jiē"],
			["zhī"]
		],
		"尽人事": [
			["jìn"],
			["rén"],
			["shì"]
		],
		"尽如人意": [
			["jìn"],
			["rú"],
			["rén"],
			["yì"]
		],
		"尽入彀中": [
			["jìn"],
			["rù"],
			["gòu"],
			["zhōng"]
		],
		"尽善尽美": [
			["jìn"],
			["shàn"],
			["jìn"],
			["měi"]
		],
		"尽收眼底": [
			["jìn"],
			["shōu"],
			["yǎn"],
			["dǐ"]
		],
		"尽态极妍": [
			["jìn"],
			["tài"],
			["jí"],
			["yán"]
		],
		"尽心竭力": [
			["jìn"],
			["xīn"],
			["jié"],
			["lì"]
		],
		"尽心尽力": [
			["jìn"],
			["xīn"],
			["jìn"],
			["lì"]
		],
		"尽信书不如无书": [
			["jìn"],
			["xìn"],
			["shū"],
			["bù"],
			["rú"],
			["wú"],
			["shū"]
		],
		"尽义务": [
			["jìn"],
			["yì"],
			["wù"]
		],
		"尽忠报国": [
			["jìn"],
			["zhōng"],
			["bào"],
			["guó"]
		],
		"尽忠竭力": [
			["jìn"],
			["zhōng"],
			["jié"],
			["lì"]
		],
		"近程导弹": [
			["jìn"],
			["chéng"],
			["dǎo"],
			["dàn"]
		],
		"近地点": [
			["jìn"],
			["dì"],
			["diǎn"]
		],
		"近交远攻": [
			["jìn"],
			["jiāo"],
			["yuǎn"],
			["gōng"]
		],
		"近亲繁殖": [
			["jìn"],
			["qīn"],
			["fán"],
			["zhí"]
		],
		"近水楼台": [
			["jìn"],
			["shuǐ"],
			["lóu"],
			["tái"]
		],
		"近水楼台先得月": [
			["jìn"],
			["shuǐ"],
			["lóu"],
			["tái"],
			["xiān"],
			["dé"],
			["yuè"]
		],
		"近体诗": [
			["jìn"],
			["tǐ"],
			["shī"]
		],
		"近似值": [
			["jìn"],
			["sì"],
			["zhí"]
		],
		"近悦远来": [
			["jìn"],
			["yuè"],
			["yuǎn"],
			["lái"]
		],
		"近在咫尺": [
			["jìn"],
			["zài"],
			["zhǐ"],
			["chǐ"]
		],
		"近朱者赤，近墨者黑": [
			["jìn"],
			["zhū"],
			["zhě"],
			["chì"],
			["，"],
			["jìn"],
			["mò"],
			["zhě"],
			["hēi"]
		],
		"进寸退尺": [
			["jǐn"],
			["cùn"],
			["tuì"],
			["chǐ"]
		],
		"进道若蜷": [
			["jìn"],
			["dào"],
			["ruò"],
			["quán"]
		],
		"进道若踡": [
			["jìn"],
			["dào"],
			["ruò"],
			["quán"]
		],
		"进道若退": [
			["jìn"],
			["dào"],
			["ruò"],
			["tuì"]
		],
		"进给量": [
			["jìn"],
			["jǐ"],
			["liàng"]
		],
		"进化论": [
			["jìn"],
			["huà"],
			["lùn"]
		],
		"进军号": [
			["jìn"],
			["jūn"],
			["hào"]
		],
		"进可替不": [
			["jìn"],
			["kě"],
			["tì"],
			["bù"]
		],
		"进可替否": [
			["jìn"],
			["kě"],
			["tì"],
			["fǒu"]
		],
		"进善惩恶": [
			["jìn"],
			["shàn"],
			["chéng"],
			["è"]
		],
		"进壤广地": [
			["jìn"],
			["rǎng"],
			["guǎng"],
			["dì"]
		],
		"进善黜恶": [
			["jìn"],
			["shàn"],
			["chù"],
			["è"]
		],
		"进善退恶": [
			["jìn"],
			["shàn"],
			["tuì"],
			["è"]
		],
		"进退跋疐": [
			["jìn"],
			["tuì"],
			["bá"],
			["zǔ"]
		],
		"进退出处": [
			["jìn"],
			["tuì"],
			["chū"],
			["chǔ"]
		],
		"进退存亡": [
			["jìn"],
			["tuì"],
			["cún"],
			["wáng"]
		],
		"进退触籓": [
			["jìn"],
			["tuì"],
			["chù"],
			["zǔ"]
		],
		"进退狐疑": [
			["jìn"],
			["tuì"],
			["hú"],
			["yí"]
		],
		"进退可度": [
			["jìn"],
			["tuì"],
			["kě"],
			["dù"]
		],
		"进退可否": [
			["jìn"],
			["tuì"],
			["kě"],
			["fǒu"]
		],
		"进退两难": [
			["jǐn"],
			["tuì"],
			["liǎng"],
			["nán"]
		],
		"进退失据": [
			["jìn"],
			["tuì"],
			["shī"],
			["jù"]
		],
		"进退亡据": [
			["jìn"],
			["tuì"],
			["wáng"],
			["jù"]
		],
		"进退双难": [
			["jìn"],
			["tuì"],
			["shuāng"],
			["nán"]
		],
		"进退为难": [
			["jìn"],
			["tuì"],
			["wéi"],
			["nán"]
		],
		"进退无据": [
			["jìn"],
			["tuì"],
			["wú"],
			["jù"]
		],
		"进退维亟": [
			["jìn"],
			["tuì"],
			["wéi"],
			["jí"]
		],
		"进退应矩": [
			["jìn"],
			["tuì"],
			["yīng"],
			["jǔ"]
		],
		"进退消长": [
			["jìn"],
			["tuì"],
			["xiāo"],
			["cháng"]
		],
		"进退有常": [
			["jìn"],
			["tuì"],
			["yǒu"],
			["cháng"]
		],
		"进退有度": [
			["jìn"],
			["tuì"],
			["yǒu"],
			["dù"]
		],
		"进退中绳": [
			["jìn"],
			["tuì"],
			["zhōng"],
			["shéng"]
		],
		"进退中度": [
			["jìn"],
			["tuì"],
			["zhòng"],
			["dù"]
		],
		"进退有节": [
			["jìn"],
			["tuì"],
			["yǒu"],
			["jié"]
		],
		"进贤拔能": [
			["jìn"],
			["xián"],
			["bá"],
			["néng"]
		],
		"进贤黜恶": [
			["jìn"],
			["xián"],
			["chù"],
			["è"]
		],
		"进贤达能": [
			["jìn"],
			["xián"],
			["dá"],
			["néng"]
		],
		"进贤进能": [
			["jìn"],
			["xián"],
			["jìn"],
			["néng"]
		],
		"进贤任能": [
			["jìn"],
			["xián"],
			["rèn"],
			["néng"]
		],
		"进贤屏恶": [
			["jìn"],
			["xián"],
			["píng"],
			["è"]
		],
		"进贤兴功": [
			["jìn"],
			["xián"],
			["xīng"],
			["gōng"]
		],
		"进贤用能": [
			["jìn"],
			["xián"],
			["yòng"],
			["néng"]
		],
		"进种善群": [
			["jìn"],
			["zhǒng"],
			["shàn"],
			["qún"]
		],
		"侭多侭少": [
			["jǐn"],
			["duō"],
			["jǐn"],
			["shǎo"]
		],
		"祲威盛容": [
			["lóng"],
			["wēi"],
			["shèng"],
			["róng"]
		],
		"禁暴正乱": [
			["jìn"],
			["bào"],
			["zhèng"],
			["luàn"]
		],
		"禁暴诛乱": [
			["jìn"],
			["bào"],
			["zhū"],
			["luàn"]
		],
		"禁闭室": [
			["jìn"],
			["bì"],
			["shì"]
		],
		"禁不起": [
			["jīn"],
			["bù"],
			["qǐ"]
		],
		"禁不住": [
			["jīn"],
			["bú"],
			["zhù"]
		],
		"禁得起": [
			["jīn"],
			["de"],
			["qǐ"]
		],
		"禁得住": [
			["jīn"],
			["de"],
			["zhù"]
		],
		"禁鼎一脔": [
			["jìn"],
			["dǐng"],
			["yī"],
			["luán"]
		],
		"禁攻寝兵": [
			["jìn"],
			["gōng"],
			["qǐn"],
			["bīng"]
		],
		"禁情割欲": [
			["jìn"],
			["qíng"],
			["gē"],
			["yù"]
		],
		"禁舍开塞": [
			["jìn"],
			["shě"],
			["kāi"],
			["sāi"]
		],
		"禁网疏阔": [
			["jìn"],
			["wǎng"],
			["shū"],
			["kuò"]
		],
		"禁卫军": [
			["jìn"],
			["wèi"],
			["jūn"]
		],
		"禁止令行": [
			["jìn"],
			["zhǐ"],
			["lìng"],
			["xíng"]
		],
		"禁中颇牧": [
			["jìn"],
			["zhōng"],
			["pō"],
			["mù"]
		],
		"噤口卷舌": [
			["jìn"],
			["kǒu"],
			["juǎn"],
			["shé"]
		],
		"噤口捲舌": [
			["jìn"],
			["kǒu"],
			["juǎn"],
			["shé"]
		],
		"噤若寒蝉": [
			["jìn"],
			["ruò"],
			["hán"],
			["chán"]
		],
		"京广铁路": [
			["jīng"],
			["guǎng"],
			["tiě"],
			["lù"]
		],
		"京韵大鼓": [
			["jīng"],
			["yùn"],
			["dà"],
			["gǔ"]
		],
		"泾渭不分": [
			["jīng"],
			["wèi"],
			["bù"],
			["fēn"]
		],
		"泾渭分明": [
			["jīng"],
			["wèi"],
			["fēn"],
			["míng"]
		],
		"泾渭自分": [
			["jīng"],
			["wèi"],
			["zì"],
			["fēn"]
		],
		"经邦论道": [
			["jīng"],
			["bāng"],
			["lùn"],
			["dào"]
		],
		"经国大业": [
			["jīng"],
			["guó"],
			["dà"],
			["yè"]
		],
		"经纪人": [
			["jīng"],
			["jì"],
			["rén"]
		],
		"经济犯罪": [
			["jīng"],
			["jì"],
			["fàn"],
			["zuì"]
		],
		"经济规律": [
			["jīng"],
			["jì"],
			["guī"],
			["lǜ"]
		],
		"经济合同": [
			["jīng"],
			["jì"],
			["hé"],
			["tóng"]
		],
		"经济基础": [
			["jīng"],
			["jì"],
			["jī"],
			["chǔ"]
		],
		"经济开发区": [
			["jīng"],
			["jì"],
			["kāi"],
			["fā"],
			["qū"]
		],
		"经济特区": [
			["jīng"],
			["jì"],
			["tè"],
			["qū"]
		],
		"经济效益": [
			["jīng"],
			["jì"],
			["xiào"],
			["yì"]
		],
		"经济之才": [
			["jīng"],
			["jì"],
			["zhī"],
			["cái"]
		],
		"经久不衰": [
			["jīng"],
			["jiǔ"],
			["bù"],
			["shuāi"]
		],
		"经久不息": [
			["jīng"],
			["jiǔ"],
			["bù"],
			["xī"]
		],
		"经纶济世": [
			["jing"],
			["lun"],
			["ji"],
			["shi"]
		],
		"经纶满腹": [
			["jīng"],
			["lún"],
			["mǎn"],
			["fù"]
		],
		"经明行修": [
			["jīng"],
			["míng"],
			["xíng"],
			["xiū"]
		],
		"经年累月": [
			["jīng"],
			["nián"],
			["lěi"],
			["yuè"]
		],
		"经纬度": [
			["jīng"],
			["wěi"],
			["dù"]
		],
		"经天纬地": [
			["jīng"],
			["tiān"],
			["wěi"],
			["dì"]
		],
		"经纬万端": [
			["jīng"],
			["wěi"],
			["wàn"],
			["duān"]
		],
		"荆棘塞途": [
			["jīng"],
			["jí"],
			["sè"],
			["tú"]
		],
		"荆棘载途": [
			["jīng"],
			["jí"],
			["zài"],
			["tú"]
		],
		"荆人涉澭": [
			["jīng"],
			["rén"],
			["shè"],
			["yōng"]
		],
		"荆三棱": [
			["jīng"],
			["sān"],
			["léng"]
		],
		"荆天棘地": [
			["jīng"],
			["tiān"],
			["jí"],
			["dì"]
		],
		"惊才风逸": [
			["jīng"],
			["cái"],
			["fēng"],
			["yì"]
		],
		"惊采绝艳": [
			["jīng"],
			["cǎi"],
			["jué"],
			["yàn"]
		],
		"惊风骇浪": [
			["jīng"],
			["fēng"],
			["hài"],
			["làng"]
		],
		"惊风怒涛": [
			["jīng"],
			["fēng"],
			["nù"],
			["tāo"]
		],
		"惊惶万状": [
			["jīng"],
			["huáng"],
			["wàn"],
			["zhuàng"]
		],
		"惊魂落魄": [
			["jīng"],
			["hún"],
			["luò"],
			["pò"]
		],
		"惊魂摄魄": [
			["jīng"],
			["hún"],
			["shè"],
			["pò"]
		],
		"惊魂丧魄": [
			["jīng"],
			["hún"],
			["sàng"],
			["pò"]
		],
		"惊见骇闻": [
			["jīng"],
			["jiàn"],
			["hài"],
			["wén"]
		],
		"惊蛇入草": [
			["jīng"],
			["shé"],
			["rù"],
			["cǎo"]
		],
		"惊恐万状": [
			["jīng"],
			["kǒng"],
			["wàn"],
			["zhuàng"]
		],
		"惊天地泣鬼神": [
			["jīng"],
			["tiān"],
			["dì"],
			["qì"],
			["guǐ"],
			["shén"]
		],
		"惊天动地": [
			["jīng"],
			["tiān"],
			["dòng"],
			["dì"]
		],
		"惊喜若狂": [
			["jīng"],
			["xǐ"],
			["ruò"],
			["kuáng"]
		],
		"惊心裂胆": [
			["jīng"],
			["xīn"],
			["liè"],
			["dǎn"]
		],
		"惊心丧魄": [
			["jīng"],
			["xīn"],
			["sàng"],
			["pò"]
		],
		"旌旗卷舒": [
			["jīng"],
			["qí"],
			["juǎn"],
			["shū"]
		],
		"晶状体": [
			["jīng"],
			["zhuàng"],
			["tǐ"]
		],
		"兢兢干干": [
			["jīng"],
			["jīng"],
			["gàn"],
			["gàn"]
		],
		"兢兢乾乾": [
			["jīng"],
			["jīng"],
			["qián"],
			["qián"]
		],
		"精兵强将": [
			["jīng"],
			["bīng"],
			["qiáng"],
			["jiàng"]
		],
		"精采秀发": [
			["jīng"],
			["cǎi"],
			["xiù"],
			["fā"]
		],
		"精诚团结": [
			["jīng"],
			["chéng"],
			["tuán"],
			["jié"]
		],
		"精打细算": [
			["jīng"],
			["dǎ"],
			["xì"],
			["suàn"]
		],
		"精密度": [
			["jīng"],
			["mì"],
			["dù"]
		],
		"精明能干": [
			["jīng"],
			["míng"],
			["néng"],
			["gàn"]
		],
		"精明强干": [
			["jīng"],
			["míng"],
			["qiáng"],
			["gàn"]
		],
		"精疲力尽": [
			["jīng"],
			["pí"],
			["lì"],
			["jìn"]
		],
		"精强力壮": [
			["jīng"],
			["qiáng"],
			["lì"],
			["zhuàng"]
		],
		"精确度": [
			["jīng"],
			["què"],
			["dù"]
		],
		"精神抖擞": [
			["jīng"],
			["shén"],
			["dǒu"],
			["sǒu"]
		],
		"精神分裂症": [
			["jīng"],
			["shén"],
			["fēn"],
			["liè"],
			["zhèng"]
		],
		"精神焕发": [
			["jīng"],
			["shén"],
			["huàn"],
			["fā"]
		],
		"精神衰弱": [
			["jīng"],
			["shén"],
			["shuāi"],
			["ruò"]
		],
		"精卫填海": [
			["jīng"],
			["wèi"],
			["tián"],
			["hǎi"]
		],
		"鲸吞蚕食": [
			["jīng"],
			["tūn"],
			["cán"],
			["shí"]
		],
		"鲸吞蛇噬": [
			["jīng"],
			["tūn"],
			["shé"],
			["shì"]
		],
		"井底蛤蟆": [
			["jǐng"],
			["dǐ"],
			["há"],
			["má"]
		],
		"井底鸣蛙": [
			["jǐng"],
			["dǐ"],
			["míng"],
			["wā"]
		],
		"井底虾蟆": [
			["jǐng"],
			["dǐ"],
			["xiā"],
			["má"]
		],
		"井底之蛙": [
			["jǐng"],
			["dǐ"],
			["zhī"],
			["wā"]
		],
		"井管拘墟": [
			["jǐng"],
			["guǎn"],
			["jū"],
			["xū"]
		],
		"井井有法": [
			["jǐng"],
			["jǐng"],
			["yǒu"],
			["fǎ"]
		],
		"井井有方": [
			["jǐng"],
			["jǐng"],
			["yǒu"],
			["fāng"]
		],
		"井井有条": [
			["jǐng"],
			["jǐng"],
			["yǒu"],
			["tiáo"]
		],
		"井井有序": [
			["jǐng"],
			["jǐng"],
			["yǒu"],
			["xù"]
		],
		"井井有绪": [
			["jǐng"],
			["jǐng"],
			["yǒu"],
			["xù"]
		],
		"井然有序": [
			["jǐng"],
			["rán"],
			["yǒu"],
			["xù"]
		],
		"井然有条": [
			["jǐng"],
			["rán"],
			["yǒu"],
			["tiáo"]
		],
		"井臼亲操": [
			["jǐng"],
			["jiù"],
			["qīn"],
			["cāo"]
		],
		"井水不犯河水": [
			["jǐng"],
			["shuǐ"],
			["bù"],
			["fàn"],
			["hé"],
			["shuǐ"]
		],
		"井渫不食": [
			["jǐng"],
			["xiè"],
			["bù"],
			["shí"]
		],
		"井蛙之见": [
			["jǐng"],
			["wā"],
			["zhī"],
			["jiàn"]
		],
		"井渫莫食": [
			["jǐng"],
			["xiè"],
			["mò"],
			["shí"]
		],
		"井中求火": [
			["jǐng"],
			["zhōng"],
			["qiú"],
			["huǒ"]
		],
		"井中视星": [
			["jǐng"],
			["zhōng"],
			["shì"],
			["xīng"]
		],
		"景德镇": [
			["jǐng"],
			["dé"],
			["zhèn"]
		],
		"景颇族": [
			["jǐng"],
			["pō"],
			["zú"]
		],
		"景升豚犬": [
			["jǐng"],
			["shēng"],
			["tún"],
			["quǎn"]
		],
		"景入桑榆": [
			["jǐng"],
			["rù"],
			["sāng"],
			["yú"]
		],
		"景泰蓝": [
			["jǐng"],
			["tài"],
			["lán"]
		],
		"景星凤皇": [
			["jǐng"],
			["xīng"],
			["fèng"],
			["huáng"]
		],
		"景星麟凤": [
			["jǐng"],
			["xīng"],
			["lín"],
			["fèng"]
		],
		"景星庆云": [
			["jǐng"],
			["xīng"],
			["qìng"],
			["yún"]
		],
		"景星凤凰": [
			["jǐng"],
			["xīng"],
			["fèng"],
			["huáng"]
		],
		"景阳冈": [
			["jǐng"],
			["yáng"],
			["gāng"]
		],
		"憬然有悟": [
			["jǐng"],
			["rán"],
			["yǒu"],
			["wù"]
		],
		"警备区": [
			["jǐng"],
			["bèi"],
			["qū"]
		],
		"警愦觉聋": [
			["jǐng"],
			["kuì"],
			["jué"],
			["lóng"]
		],
		"警卫员": [
			["jǐng"],
			["wèi"],
			["yuán"]
		],
		"径情直行": [
			["jìng"],
			["qíng"],
			["zhí"],
			["xíng"]
		],
		"径行直遂": [
			["jìng"],
			["xíng"],
			["zhí"],
			["suí"]
		],
		"胫大于股": [
			["jìng"],
			["dà"],
			["yú"],
			["gǔ"]
		],
		"竞短争长": [
			["jìng"],
			["duǎn"],
			["zhēng"],
			["cháng"]
		],
		"敬陈管见": [
			["jìng"],
			["chén"],
			["guǎn"],
			["jiàn"]
		],
		"敬而远之": [
			["jìng"],
			["ér"],
			["yuǎn"],
			["zhī"]
		],
		"敬鬼神而远之": [
			["jìng"],
			["guǐ"],
			["shén"],
			["ér"],
			["yuǎn"],
			["zhī"]
		],
		"敬酒不吃吃罚酒": [
			["jìng"],
			["jiǔ"],
			["bù"],
			["chī"],
			["chī"],
			["fá"],
			["jiǔ"]
		],
		"敬老慈少": [
			["jìng"],
			["lǎo"],
			["cí"],
			["shǎo"]
		],
		"敬如上宾": [
			["jìng"],
			["rú"],
			["shàng"],
			["bīn"]
		],
		"敬若神明": [
			["jìng"],
			["ruò"],
			["shén"],
			["míng"]
		],
		"敬上爱下": [
			["jìng"],
			["shàng"],
			["ài"],
			["xià"]
		],
		"敬上接下": [
			["jìng"],
			["shàng"],
			["jiē"],
			["xià"]
		],
		"敬事不暇": [
			["jìng"],
			["shì"],
			["bù"],
			["xiá"]
		],
		"敬事后食": [
			["jìng"],
			["shì"],
			["hòu"],
			["shí"]
		],
		"敬谢不敏": [
			["jìng"],
			["xiè"],
			["bù"],
			["mǐn"]
		],
		"敬贤重士": [
			["jìng"],
			["xián"],
			["zhòng"],
			["shì"]
		],
		"敬业乐群": [
			["jìng"],
			["yè"],
			["yào"],
			["qún"]
		],
		"静观默察": [
			["jìng"],
			["guān"],
			["mò"],
			["chá"]
		],
		"静极思动": [
			["jìng"],
			["jí"],
			["sī"],
			["dòng"]
		],
		"静悄悄": [
			["jìng"],
			["qiāo"],
			["qiāo"]
		],
		"静言令色": [
			["jìng"],
			["yán"],
			["lìng"],
			["sè"]
		],
		"镜分鸾凤": [
			["jìng"],
			["fēn"],
			["luán"],
			["fèng"]
		],
		"镜里采花": [
			["jìng"],
			["lǐ"],
			["cǎi"],
			["huā"]
		],
		"镜里观花": [
			["jìng"],
			["lǐ"],
			["guān"],
			["huā"]
		],
		"镜破钗分": [
			["jìng"],
			["pò"],
			["chāi"],
			["fēn"]
		],
		"镜圆璧合": [
			["jìng"],
			["yuán"],
			["bì"],
			["hé"]
		],
		"迥不犹人": [
			["jiǒng"],
			["bù"],
			["yóu"],
			["rén"]
		],
		"迥乎不同": [
			["jiǒng"],
			["hū"],
			["bù"],
			["tóng"]
		],
		"迥然不群": [
			["jiǒng"],
			["rán"],
			["bù"],
			["qún"]
		],
		"迥然不同": [
			["jiǒng"],
			["rán"],
			["bù"],
			["tóng"]
		],
		"炯炯有神": [
			["jiǒng"],
			["jiǒng"],
			["yǒu"],
			["shén"]
		],
		"纠缠不清": [
			["jiū"],
			["chán"],
			["bù"],
			["qīng"]
		],
		"纠合之众": [
			["jiū"],
			["hé"],
			["zhī"],
			["zhòng"]
		],
		"鸠车竹马": [
			["jiū"],
			["chē"],
			["zhú"],
			["mǎ"]
		],
		"鸠占鹊巢": [
			["jiū"],
			["zhàn"],
			["què"],
			["cháo"]
		],
		"赳赳武夫": [
			["jiū"],
			["jiū"],
			["wǔ"],
			["fū"]
		],
		"九变十化": [
			["jiǔ"],
			["biàn"],
			["shí"],
			["huà"]
		],
		"九大行星": [
			["jiǔ"],
			["dà"],
			["háng"],
			["xīng"]
		],
		"九鼎不足为重": [
			["jiǔ"],
			["dǐng"],
			["bù"],
			["zú"],
			["wéi"],
			["zhòng"]
		],
		"九鼎大吕": [
			["jiǔ"],
			["dǐng"],
			["dà"],
			["lǚ"]
		],
		"九垓八埏": [
			["jiǔ"],
			["gāi"],
			["bā"],
			["yán"]
		],
		"九故十亲": [
			["jiǔ"],
			["gù"],
			["shí"],
			["qīn"]
		],
		"九间朝殿": [
			["jiǔ"],
			["jiān"],
			["cháo"],
			["diàn"]
		],
		"九合一匡": [
			["jiǔ"],
			["hé"],
			["yī"],
			["kuāng"]
		],
		"九间大殿": [
			["jiǔ"],
			["jiān"],
			["dà"],
			["diàn"]
		],
		"九流百家": [
			["jiǔ"],
			["liú"],
			["bǎi"],
			["jiā"]
		],
		"九流十家": [
			["jiǔ"],
			["liú"],
			["shí"],
			["jiā"]
		],
		"九流三教": [
			["jiǔ"],
			["liú"],
			["sān"],
			["jiào"]
		],
		"九品中正": [
			["jiǔ"],
			["pǐn"],
			["zhōng"],
			["zhèng"]
		],
		"九牛拉不转": [
			["jiǔ"],
			["niú"],
			["lā"],
			["bù"],
			["zhuàn"]
		],
		"九曲回肠": [
			["jiǔ"],
			["qū"],
			["huí"],
			["cháng"]
		],
		"九世之仇": [
			["jiǔ"],
			["shì"],
			["zhī"],
			["chóu"]
		],
		"九死不悔": [
			["jiǔ"],
			["sǐ"],
			["bù"],
			["huǐ"]
		],
		"九天仙女": [
			["jiǔ"],
			["tiān"],
			["xiān"],
			["nǚ"]
		],
		"九天九地": [
			["jiǔ"],
			["tiān"],
			["jiǔ"],
			["dì"]
		],
		"九头鸟": [
			["jiǔ"],
			["tóu"],
			["niǎo"]
		],
		"九尾狐": [
			["jiǔ"],
			["wěi"],
			["hú"]
		],
		"九行八业": [
			["jiǔ"],
			["háng"],
			["bā"],
			["yè"]
		],
		"九朽一罢": [
			["jiǔ"],
			["xiǔ"],
			["yī"],
			["bà"]
		],
		"九原可作": [
			["jiǔ"],
			["yuán"],
			["kě"],
			["zuò"]
		],
		"九折臂": [
			["jiǔ"],
			["zhé"],
			["bì"]
		],
		"九蒸三熯": [
			["jiǔ"],
			["zhēng"],
			["sān"],
			["shēng"]
		],
		"九重霄": [
			["jiǔ"],
			["chóng"],
			["xiāo"]
		],
		"九转功成": [
			["jiǔ"],
			["zhuàn"],
			["gōng"],
			["chéng"]
		],
		"久安长治": [
			["jiǔ"],
			["ān"],
			["cháng"],
			["zhì"]
		],
		"久别重逢": [
			["jiǔ"],
			["bié"],
			["chóng"],
			["féng"]
		],
		"久负盛名": [
			["jiǔ"],
			["fù"],
			["shèng"],
			["míng"]
		],
		"久旱逢甘雨": [
			["jiǔ"],
			["hàn"],
			["féng"],
			["gān"],
			["yǔ"]
		],
		"久假不归": [
			["jiǔ"],
			["jiǎ"],
			["bù"],
			["guī"]
		],
		"久经风霜": [
			["jiǔ"],
			["jīng"],
			["fēng"],
			["shuāng"]
		],
		"久久不忘": [
			["jiǔ"],
			["jiǔ"],
			["bù"],
			["wàng"]
		],
		"久历风尘": [
			["jiǔ"],
			["lì"],
			["fēng"],
			["chén"]
		],
		"久闻大名": [
			["jiǔ"],
			["wén"],
			["dà"],
			["míng"]
		],
		"久悬不决": [
			["jiǔ"],
			["xuán"],
			["bù"],
			["jué"]
		],
		"久要不忘": [
			["jiǔ"],
			["yāo"],
			["bù"],
			["wàng"]
		],
		"灸艾分痛": [
			["jiù"],
			["ài"],
			["fēn"],
			["tòng"]
		],
		"酒吧间": [
			["jiǔ"],
			["bā"],
			["jiān"]
		],
		"酒地花天": [
			["jiǔ"],
			["dì"],
			["huā"],
			["tiān"]
		],
		"酒逢知己千杯少": [
			["jiǔ"],
			["féng"],
			["zhī"],
			["jǐ"],
			["qiān"],
			["bēi"],
			["shǎo"]
		],
		"酒阑人散": [
			["jiǔ"],
			["lán"],
			["rén"],
			["sàn"]
		],
		"酒绿灯红": [
			["jiǔ"],
			["lǜ"],
			["dēng"],
			["hóng"]
		],
		"酒囊饭包": [
			["jiǔ"],
			["náng"],
			["fàn"],
			["bāo"]
		],
		"酒囊饭袋": [
			["jiǔ"],
			["náng"],
			["fàn"],
			["dài"]
		],
		"酒石酸": [
			["jiǔ"],
			["shí"],
			["suān"]
		],
		"酒食地狱": [
			["jiǔ"],
			["shí"],
			["dì"],
			["yù"]
		],
		"酒肉兄弟": [
			["jiǔ"],
			["ròu"],
			["xiōng"],
			["dì"]
		],
		"酒食征逐": [
			["jiǔ"],
			["shí"],
			["zhēng"],
			["zhú"]
		],
		"酒酸不售": [
			["jiǔ"],
			["suān"],
			["bù"],
			["shòu"]
		],
		"酒瓮饭囊": [
			["jiǔ"],
			["wèng"],
			["fàn"],
			["náng"]
		],
		"酒有别肠": [
			["jiǔ"],
			["yǒu"],
			["bié"],
			["cháng"]
		],
		"旧病难医": [
			["jiù"],
			["bìng"],
			["nán"],
			["yī"]
		],
		"旧病复发": [
			["jiù"],
			["bìng"],
			["fù"],
			["fā"]
		],
		"旧仇宿怨": [
			["jiù"],
			["chóu"],
			["sù"],
			["yuàn"]
		],
		"旧大陆": [
			["jiù"],
			["dà"],
			["lù"]
		],
		"旧的不去新的不来": [
			["jiù"],
			["de"],
			["bù"],
			["qù"],
			["xīn"],
			["de"],
			["bù"],
			["lái"]
		],
		"旧地重游": [
			["jiù"],
			["dì"],
			["chóng"],
			["yóu"]
		],
		"旧恨新仇": [
			["jiù"],
			["hèn"],
			["xīn"],
			["chóu"]
		],
		"旧话重提": [
			["jiù"],
			["huà"],
			["chóng"],
			["tí"]
		],
		"旧调重弹": [
			["jiù"],
			["diào"],
			["chóng"],
			["tán"]
		],
		"旧社会": [
			["jiù"],
			["shè"],
			["huì"]
		],
		"旧石器时代": [
			["jiù"],
			["shí"],
			["qì"],
			["shí"],
			["dài"]
		],
		"旧事重提": [
			["jiù"],
			["shì"],
			["zhòng"],
			["tí"]
		],
		"旧燕归巢": [
			["jiù"],
			["yàn"],
			["guī"],
			["cháo"]
		],
		"旧雨今雨": [
			["jiù"],
			["yǔ"],
			["jīn"],
			["yǔ"]
		],
		"旧雨重逢": [
			["jiù"],
			["yǔ"],
			["chóng"],
			["féng"]
		],
		"臼头深目": [
			["jiù"],
			["tóu"],
			["shēn"],
			["mù"]
		],
		"救焚拯溺": [
			["jiù"],
			["fén"],
			["zhěng"],
			["nì"]
		],
		"咎有应得": [
			["jiù"],
			["yǒu"],
			["yīng"],
			["dé"]
		],
		"救过补阙": [
			["jiù"],
			["guò"],
			["bǔ"],
			["quē"]
		],
		"救过不给": [
			["jiù"],
			["guò"],
			["bù"],
			["gěi"]
		],
		"救过不赡": [
			["jiù"],
			["guò"],
			["bù"],
			["shàn"]
		],
		"救寒莫如重裘": [
			["jiù"],
			["hán"],
			["mò"],
			["rú"],
			["chóng"],
			["qiú"]
		],
		"救过不暇": [
			["jiù"],
			["guò"],
			["bù"],
			["xiá"]
		],
		"救火拯溺": [
			["jiù"],
			["huǒ"],
			["zhěng"],
			["nì"]
		],
		"救饥拯溺": [
			["jiù"],
			["jī"],
			["zhěng"],
			["nì"]
		],
		"救苦救难": [
			["jiù"],
			["kǔ"],
			["jiù"],
			["nàn"]
		],
		"救难解危": [
			["jiù"],
			["nán"],
			["jiě"],
			["wēi"]
		],
		"救燎助薪": [
			["jiù"],
			["liáo"],
			["zhù"],
			["xīn"]
		],
		"救世济民": [
			["jiù"],
			["shì"],
			["jì"],
			["mín"]
		],
		"救亡图存": [
			["jiù"],
			["wáng"],
			["tú"],
			["cún"]
		],
		"就地取材": [
			["jiù"],
			["dì"],
			["qǔ"],
			["cái"]
		],
		"就地正法": [
			["jiù"],
			["dì"],
			["zhèng"],
			["fǎ"]
		],
		"就棍打腿": [
			["jiù"],
			["gùn"],
			["dǎ"],
			["tuǐ"]
		],
		"就事论事": [
			["jiù"],
			["shì"],
			["lùn"],
			["shì"]
		],
		"就汤下面": [
			["jiù"],
			["tāng"],
			["xià"],
			["miàn"]
		],
		"就正有道": [
			["jiù"],
			["zhèng"],
			["yǒu"],
			["dào"]
		],
		"居安思危": [
			["jū"],
			["ān"],
			["sī"],
			["wēi"]
		],
		"居不重席": [
			["jū"],
			["bù"],
			["chóng"],
			["xí"]
		],
		"居不重茵": [
			["jū"],
			["bù"],
			["chóng"],
			["yīn"]
		],
		"居大不易": [
			["jū"],
			["dà"],
			["bù"],
			["yì"]
		],
		"居利思义": [
			["jū"],
			["lì"],
			["sī"],
			["yì"]
		],
		"居民区": [
			["jū"],
			["mín"],
			["qū"]
		],
		"居之不疑": [
			["jū"],
			["zhī"],
			["bù"],
			["yí"]
		],
		"居心不良": [
			["jū"],
			["xīn"],
			["bù"],
			["liáng"]
		],
		"居下讪上": [
			["jú"],
			["xià"],
			["shàn"],
			["shàng"]
		],
		"居心险恶": [
			["jū"],
			["xīn"],
			["xiǎn"],
			["è"]
		],
		"居重驭轻": [
			["jū"],
			["zhòng"],
			["yù"],
			["qīng"]
		],
		"居轴处中": [
			["jū"],
			["zhóu"],
			["chǔ"],
			["zhōng"]
		],
		"拘留所": [
			["jū"],
			["liú"],
			["suǒ"]
		],
		"拘挛补衲": [
			["jū"],
			["luán"],
			["bǔ"],
			["nà"]
		],
		"拘奇抉异": [
			["jū"],
			["qí"],
			["jué"],
			["yì"]
		],
		"拘俗守常": [
			["jū"],
			["sú"],
			["shǒu"],
			["cháng"]
		],
		"拘神遣将": [
			["jū"],
			["shén"],
			["qiǎn"],
			["jiàng"]
		],
		"驹齿未落": [
			["jū"],
			["chǐ"],
			["wèi"],
			["luò"]
		],
		"拘文牵义": [
			["jū"],
			["wén"],
			["qiān"],
			["yì"]
		],
		"驹光过隙": [
			["jū"],
			["guāng"],
			["guò"],
			["xì"]
		],
		"驹留空谷": [
			["jū"],
			["liú"],
			["kōng"],
			["gǔ"]
		],
		"鞠躬尽瘁": [
			["jū"],
			["gōng"],
			["jìn"],
			["cuì"]
		],
		"鞠躬尽力": [
			["jū"],
			["gōng"],
			["jìn"],
			["lì"]
		],
		"鞠躬屏气": [
			["jū"],
			["gōng"],
			["bǐng"],
			["qì"]
		],
		"鞠为茂草": [
			["jū"],
			["wéi"],
			["mào"],
			["cǎo"]
		],
		"鞫为茂草": [
			["jū"],
			["wéi"],
			["mào"],
			["cǎo"]
		],
		"局促不安": [
			["jú"],
			["cù"],
			["bù"],
			["ān"]
		],
		"局地扣天": [
			["jú"],
			["dì"],
			["kòu"],
			["tiān"]
		],
		"局地钥天": [
			["jú"],
			["dì"],
			["yào"],
			["tiān"]
		],
		"局内人": [
			["jú"],
			["nèi"],
			["rén"]
		],
		"局天促地": [
			["jú"],
			["tiān"],
			["cù"],
			["dì"]
		],
		"局天蹐地": [
			["jú"],
			["tiān"],
			["jí"],
			["dì"]
		],
		"局天扣地": [
			["jú"],
			["tiān"],
			["kòu"],
			["dì"]
		],
		"局中人": [
			["jú"],
			["zhōng"],
			["rén"]
		],
		"跼地籥天": [
			["jú"],
			["dì"],
			["yuè"],
			["tiān"]
		],
		"跼蹐不安": [
			["jú"],
			["jí"],
			["bù"],
			["ān"]
		],
		"跼天促地": [
			["jú"],
			["tiān"],
			["cù"],
			["dì"]
		],
		"跼天蹐地": [
			["jú"],
			["tiān"],
			["jí"],
			["dì"]
		],
		"橘化为枳": [
			["jú"],
			["huà"],
			["wéi"],
			["zhǐ"]
		],
		"咀嚼英华": [
			["jǔ"],
			["jué"],
			["yīng"],
			["huá"]
		],
		"举案齐眉": [
			["jǔ"],
			["àn"],
			["qí"],
			["méi"]
		],
		"举不胜举": [
			["jǔ"],
			["bù"],
			["shèng"],
			["jǔ"]
		],
		"举步生风": [
			["jǔ"],
			["bù"],
			["shēng"],
			["fēng"]
		],
		"举措不当": [
			["jǔ"],
			["cuò"],
			["bù"],
			["dàng"]
		],
		"举措失当": [
			["jǔ"],
			["cuò"],
			["shī"],
			["dàng"]
		],
		"举国若狂": [
			["jǔ"],
			["guó"],
			["ruò"],
			["kuáng"]
		],
		"举国上下": [
			["jǔ"],
			["guó"],
			["shàng"],
			["xià"]
		],
		"举例发凡": [
			["jǔ"],
			["lì"],
			["fā"],
			["fán"]
		],
		"举目无亲": [
			["jǔ"],
			["mù"],
			["wú"],
			["qīn"]
		],
		"举棋不定": [
			["jǔ"],
			["qí"],
			["bù"],
			["dìng"]
		],
		"举棋若定": [
			["jǔ"],
			["qí"],
			["ruò"],
			["dìng"]
		],
		"举十知九": [
			["jǔ"],
			["shí"],
			["zhī"],
			["jiǔ"]
		],
		"举世混浊": [
			["jǔ"],
			["shì"],
			["hún"],
			["zhuó"]
		],
		"举手相庆": [
			["jǔ"],
			["shǒu"],
			["xiāng"],
			["qìng"]
		],
		"举世皆知": [
			["jǔ"],
			["shì"],
			["jiē"],
			["zhī"]
		],
		"举贤任能": [
			["jǔ"],
			["xián"],
			["rèn"],
			["néng"]
		],
		"举贤使能": [
			["jǔ"],
			["xián"],
			["shǐ"],
			["néng"]
		],
		"举要删芜": [
			["jǔ"],
			["yào"],
			["shān"],
			["wú"]
		],
		"举止不凡": [
			["jǔ"],
			["zhǐ"],
			["bù"],
			["fán"]
		],
		"举止大方": [
			["jǔ"],
			["zhǐ"],
			["dà"],
			["fāng"]
		],
		"举重若轻": [
			["jǔ"],
			["zhòng"],
			["ruò"],
			["qīng"]
		],
		"举足轻重": [
			["jǔ"],
			["zú"],
			["qīng"],
			["zhòng"]
		],
		"举止自若": [
			["jǔ"],
			["zhǐ"],
			["zì"],
			["ruò"]
		],
		"矩步方行": [
			["jǔ"],
			["bù"],
			["fāng"],
			["xíng"]
		],
		"龃龉不合": [
			["jǔ"],
			["yǔ"],
			["bù"],
			["hé"]
		],
		"踽踽独行": [
			["jǔ"],
			["jǔ"],
			["dú"],
			["xíng"]
		],
		"踽踽凉凉": [
			["jǔ"],
			["jǔ"],
			["liáng"],
			["liáng"]
		],
		"句比字栉": [
			["jù"],
			["bǐ"],
			["zì"],
			["zhì"]
		],
		"句斟字酌": [
			["jù"],
			["zhēn"],
			["zì"],
			["zhuó"]
		],
		"句栉字比": [
			["jù"],
			["zhì"],
			["zì"],
			["bǐ"]
		],
		"句子成分": [
			["jù"],
			["zi"],
			["chéng"],
			["fèn"]
		],
		"苣荬菜": [
			["qǔ"],
			["mǎi"],
			["cài"]
		],
		"具体而微": [
			["jù"],
			["tǐ"],
			["ér"],
			["wēi"]
		],
		"具体劳动": [
			["jù"],
			["tǐ"],
			["láo"],
			["dòng"]
		],
		"钜人长德": [
			["jù"],
			["rén"],
			["cháng"],
			["dé"]
		],
		"俱乐部": [
			["jù"],
			["lè"],
			["bù"]
		],
		"俱收并蓄": [
			["jù"],
			["shōu"],
			["bìng"],
			["xù"]
		],
		"剧中人": [
			["jù"],
			["zhōng"],
			["rén"]
		],
		"剧作家": [
			["jù"],
			["zuò"],
			["jiā"]
		],
		"据鞍读书": [
			["jù"],
			["ān"],
			["dú"],
			["shū"]
		],
		"据高临下": [
			["jù"],
			["gāo"],
			["lín"],
			["xià"]
		],
		"据理力争": [
			["jù"],
			["lǐ"],
			["lì"],
			["zhēng"]
		],
		"据图刎首": [
			["jù"],
			["tú"],
			["wěn"],
			["shǒu"]
		],
		"据为己有": [
			["jù"],
			["wéi"],
			["jǐ"],
			["yǒu"]
		],
		"据义履方": [
			["jù"],
			["yì"],
			["lǚ"],
			["fāng"]
		],
		"锯木厂": [
			["jù"],
			["mù"],
			["chǎng"]
		],
		"锯牙钩爪": [
			["jù"],
			["yá"],
			["gōu"],
			["zhǎo"]
		],
		"聚变反应": [
			["jù"],
			["biàn"],
			["fǎn"],
			["yìng"]
		],
		"聚精会神": [
			["jù"],
			["jīng"],
			["huì"],
			["shén"]
		],
		"聚米为谷": [
			["jù"],
			["mǐ"],
			["wéi"],
			["gǔ"]
		],
		"聚米为山": [
			["jù"],
			["mǐ"],
			["wéi"],
			["shān"]
		],
		"聚沙成塔": [
			["jù"],
			["shā"],
			["chéng"],
			["tǎ"]
		],
		"聚少成多": [
			["jù"],
			["shǎo"],
			["chéng"],
			["duō"]
		],
		"踞炉炭上": [
			["jù"],
			["lú"],
			["tàn"],
			["shàng"]
		],
		"瞿塘峡": [
			["qú"],
			["táng"],
			["xiá"]
		],
		"娟好静秀": [
			["juān"],
			["hǎo"],
			["jìng"],
			["xiù"]
		],
		"捐躯赴难": [
			["juān"],
			["qū"],
			["fù"],
			["nàn"]
		],
		"涓滴不漏": [
			["juān"],
			["dī"],
			["bù"],
			["lòu"]
		],
		"涓滴不遗": [
			["juān"],
			["dī"],
			["bù"],
			["yí"]
		],
		"镌骨铭心": [
			["juān"],
			["gǔ"],
			["míng"],
			["xīn"]
		],
		"镌空妄实": [
			["juān"],
			["kōng"],
			["wàng"],
			["shí"]
		],
		"镌脾琢肾": [
			["juān"],
			["pí"],
			["zhuó"],
			["shèn"]
		],
		"卷笔刀": [
			["juǎn"],
			["bǐ"],
			["dāo"]
		],
		"镌心铭骨": [
			["juān"],
			["xīn"],
			["míng"],
			["gǔ"]
		],
		"卷层云": [
			["juàn"],
			["céng"],
			["yún"]
		],
		"卷地皮": [
			["juàn"],
			["dì"],
			["pí"]
		],
		"卷积云": [
			["juàn"],
			["jī"],
			["yún"]
		],
		"卷甲束兵": [
			["juàn"],
			["jiǎ"],
			["shù"],
			["bīng"]
		],
		"卷甲倍道": [
			["juǎn"],
			["jiǎ"],
			["bèi"],
			["dào"]
		],
		"卷甲韬戈": [
			["juàn"],
			["jiǎ"],
			["tāo"],
			["gē"]
		],
		"卷甲衔枚": [
			["juàn"],
			["jiǎ"],
			["xián"],
			["méi"]
		],
		"卷铺盖": [
			["juǎn"],
			["pū"],
			["gài"]
		],
		"卷旗息鼓": [
			["juǎn"],
			["qí"],
			["xī"],
			["gǔ"]
		],
		"卷舌音": [
			["juǎn"],
			["shé"],
			["yīn"]
		],
		"卷舌元音": [
			["juǎn"],
			["shé"],
			["yuán"],
			["yīn"]
		],
		"卷筒纸": [
			["juàn"],
			["tǒng"],
			["zhǐ"]
		],
		"卷土重来": [
			["juǎn"],
			["tǔ"],
			["chóng"],
			["lái"]
		],
		"卷席而居": [
			["juàn"],
			["xí"],
			["ér"],
			["jū"]
		],
		"卷席而葬": [
			["juǎn"],
			["xí"],
			["ér"],
			["zàng"]
		],
		"卷心菜": [
			["juàn"],
			["xīn"],
			["cài"]
		],
		"卷扬机": [
			["juǎn"],
			["yáng"],
			["jī"]
		],
		"卷帙浩繁": [
			["juàn"],
			["zhì"],
			["hào"],
			["fán"]
		],
		"卷子本": [
			["juǎn"],
			["zi"],
			["běn"]
		],
		"倦鸟知还": [
			["juàn"],
			["niǎo"],
			["zhī"],
			["huán"]
		],
		"倦尾赤色": [
			["juàn"],
			["wěi"],
			["chì"],
			["sè"]
		],
		"眷红偎翠": [
			["juàn"],
			["hóng"],
			["wēi"],
			["cuì"]
		],
		"撅天扑地": [
			["juē"],
			["tiān"],
			["pū"],
			["dì"]
		],
		"撅坑撅堑": [
			["jué"],
			["kēng"],
			["jué"],
			["qiàn"]
		],
		"决不待时": [
			["jué"],
			["bù"],
			["dài"],
			["shí"]
		],
		"决定论": [
			["jué"],
			["dìng"],
			["lùn"]
		],
		"决疣溃痈": [
			["jué"],
			["yóu"],
			["kuì"],
			["yōng"]
		],
		"抉奥阐幽": [
			["jué"],
			["ào"],
			["chǎn"],
			["yōu"]
		],
		"绝长补短": [
			["jué"],
			["cháng"],
			["bǔ"],
			["duǎn"]
		],
		"绝长继短": [
			["jué"],
			["cháng"],
			["jì"],
			["duǎn"]
		],
		"绝长续短": [
			["jué"],
			["cháng"],
			["xù"],
			["duǎn"]
		],
		"绝处逢生": [
			["jué"],
			["chù"],
			["féng"],
			["shēng"]
		],
		"绝甘分少": [
			["jué"],
			["gān"],
			["fēn"],
			["shǎo"]
		],
		"绝口不道": [
			["jué"],
			["kǒu"],
			["bù"],
			["dào"]
		],
		"绝妙好辞": [
			["jué"],
			["miào"],
			["hǎo"],
			["cí"]
		],
		"绝其本根": [
			["jué"],
			["qí"],
			["běn"],
			["gēn"]
		],
		"绝少分甘": [
			["jué"],
			["shǎo"],
			["fēn"],
			["gān"]
		],
		"绝无仅有": [
			["jué"],
			["wú"],
			["jǐn"],
			["yǒu"]
		],
		"绝缘体": [
			["jué"],
			["yuán"],
			["tǐ"]
		],
		"绝子绝孙": [
			["jué"],
			["zǐ"],
			["jué"],
			["sūn"]
		],
		"觉人觉世": [
			["jué"],
			["rén"],
			["jué"],
			["shì"]
		],
		"倔强倨傲": [
			["jué"],
			["jiàng"],
			["jù"],
			["ào"]
		],
		"倔头倔脑": [
			["juè"],
			["tou"],
			["juè"],
			["nǎo"]
		],
		"倔头强脑": [
			["juè"],
			["tóu"],
			["jiàng"],
			["nǎo"]
		],
		"崛地而起": [
			["jué"],
			["dì"],
			["ér"],
			["qǐ"]
		],
		"谲而不正": [
			["jué"],
			["ér"],
			["bù"],
			["zhèng"]
		],
		"爵士乐": [
			["jué"],
			["shì"],
			["yuè"]
		],
		"爵士音乐": [
			["jué"],
			["shì"],
			["yīn"],
			["yuè"]
		],
		"嚼齿穿龈": [
			["jiáo"],
			["chǐ"],
			["chuān"],
			["yín"]
		],
		"嚼穿龈血": [
			["jiáo"],
			["chuān"],
			["yín"],
			["xuè"]
		],
		"嚼墨喷纸": [
			["jué"],
			["mò"],
			["pēn"],
			["zhǐ"]
		],
		"嚼腭搥床": [
			["jiáo"],
			["è"],
			["chuí"],
			["chuáng"]
		],
		"嚼舌根": [
			["jiáo"],
			["shé"],
			["gēn"]
		],
		"嚼舌头": [
			["jiáo"],
			["shé"],
			["tou"]
		],
		"嚼铁咀金": [
			["jiáo"],
			["tiě"],
			["jǔ"],
			["jīn"]
		],
		"攫金不见人": [
			["jué"],
			["jīn"],
			["bù"],
			["jiàn"],
			["rén"]
		],
		"攫为己有": [
			["jué"],
			["wéi"],
			["jǐ"],
			["yǒu"]
		],
		"军不血刃": [
			["jūn"],
			["bù"],
			["xuè"],
			["rèn"]
		],
		"军法从事": [
			["jūn"],
			["fǎ"],
			["cóng"],
			["shì"]
		],
		"军分区": [
			["jūn"],
			["fēn"],
			["qū"]
		],
		"军工厂": [
			["jūn"],
			["gōng"],
			["chǎng"]
		],
		"军管会": [
			["jūn"],
			["guǎn"],
			["huì"]
		],
		"军机处": [
			["jūn"],
			["jī"],
			["chù"]
		],
		"军乐队": [
			["jūn"],
			["yuè"],
			["duì"]
		],
		"军令状": [
			["jūn"],
			["lìng"],
			["zhuàng"]
		],
		"军令如山": [
			["jūn"],
			["lìng"],
			["rú"],
			["shān"]
		],
		"军事基地": [
			["jūn"],
			["shì"],
			["jī"],
			["dì"]
		],
		"军事体育": [
			["jūn"],
			["shì"],
			["tǐ"],
			["yù"]
		],
		"军中无戏言": [
			["jūn"],
			["zhōng"],
			["wú"],
			["xì"],
			["yán"]
		],
		"君子好逑": [
			["jūn"],
			["zǐ"],
			["hào"],
			["qiú"]
		],
		"钧天广乐": [
			["jūn"],
			["tiān"],
			["guǎng"],
			["yuè"]
		],
		"麇骇雉伏": [
			["jūn"],
			["hài"],
			["zhì"],
			["fú"]
		],
		"麇至沓来": [
			["qún"],
			["zhì"],
			["tà"],
			["lái"]
		],
		"郡县制": [
			["jùn"],
			["xiàn"],
			["zhì"]
		],
		"峻阪盐车": [
			["jùn"],
			["bǎn"],
			["yún"],
			["chē"]
		],
		"骏骨牵盐": [
			["jùn"],
			["gǔ"],
			["qiān"],
			["yán"]
		],
		"咖啡店": [
			["kā"],
			["fēi"],
			["diàn"]
		],
		"咖啡因": [
			["kā"],
			["fēi"],
			["yīn"]
		],
		"卡宾枪": [
			["kǎ"],
			["bīn"],
			["qiāng"]
		],
		"卡脖子": [
			["qiǎ"],
			["bó"],
			["zi"]
		],
		"卡介苗": [
			["kǎ"],
			["jiè"],
			["miáo"]
		],
		"卡拉奇": [
			["kǎ"],
			["lā"],
			["qí"]
		],
		"卡路里": [
			["kǎ"],
			["lù"],
			["lǐ"]
		],
		"开场白": [
			["kāi"],
			["chǎng"],
			["bái"]
		],
		"开诚相见": [
			["kāi"],
			["chéng"],
			["xiāng"],
			["jiàn"]
		],
		"开倒车": [
			["kāi"],
			["dào"],
			["chē"]
		],
		"开房间": [
			["kāi"],
			["fáng"],
			["jiān"]
		],
		"开弓不放箭": [
			["kāi"],
			["gōng"],
			["bù"],
			["fàng"],
			["jiàn"]
		],
		"开国承家": [
			["kāi"],
			["guó"],
			["chéng"],
			["jiā"]
		],
		"开合自如": [
			["kāi"],
			["hé"],
			["zì"],
			["rú"]
		],
		"开花结果": [
			["kāi"],
			["huā"],
			["jié"],
			["guǒ"]
		],
		"开花结实": [
			["kāi"],
			["huā"],
			["jié"],
			["shí"]
		],
		"开华结果": [
			["kāi"],
			["huā"],
			["jié"],
			["guǒ"]
		],
		"开基创业": [
			["kāi"],
			["jī"],
			["chuàng"],
			["yè"]
		],
		"开疆辟土": [
			["kāi"],
			["jiāng"],
			["pì"],
			["tǔ"]
		],
		"开疆拓境": [
			["kāi"],
			["jiāng"],
			["tuò"],
			["jìng"]
		],
		"开疆拓土": [
			["kāi"],
			["jiāng"],
			["tuò"],
			["tǔ"]
		],
		"开疆拓宇": [
			["kāi"],
			["jiāng"],
			["tuò"],
			["yǔ"]
		],
		"开疆展土": [
			["kāi"],
			["jiāng"],
			["zhǎn"],
			["tǔ"]
		],
		"开卷有益": [
			["kāi"],
			["juàn"],
			["yǒu"],
			["yì"]
		],
		"开口见胆": [
			["kāi"],
			["kǒu"],
			["jiàn"],
			["dǎn"]
		],
		"开口见喉咙": [
			["kāi"],
			["kǒu"],
			["jiàn"],
			["hóu"],
			["lóng"]
		],
		"开口见心": [
			["kāi"],
			["kǒu"],
			["jiàn"],
			["xīn"]
		],
		"开快车": [
			["kāi"],
			["kuài"],
			["chē"]
		],
		"开阔地": [
			["kāi"],
			["kuò"],
			["dì"]
		],
		"开绿灯": [
			["kāi"],
			["lǜ"],
			["dēng"]
		],
		"开锣喝道": [
			["kāi"],
			["luó"],
			["hè"],
			["dào"]
		],
		"开门见山": [
			["kāi"],
			["mén"],
			["jiàn"],
			["shān"]
		],
		"开门红": [
			["kāi"],
			["mén"],
			["hóng"]
		],
		"开台锣鼓": [
			["kāi"],
			["tái"],
			["luó"],
			["gǔ"]
		],
		"开天辟地": [
			["kāi"],
			["tiān"],
			["pì"],
			["dì"]
		],
		"开小差": [
			["kāi"],
			["xiǎo"],
			["chāi"]
		],
		"开心见肠": [
			["kāi"],
			["xīn"],
			["jiàn"],
			["cháng"]
		],
		"开心见诚": [
			["kāi"],
			["xīn"],
			["jiàn"],
			["chéng"]
		],
		"开心见胆": [
			["kāi"],
			["xīn"],
			["jiàn"],
			["dǎn"]
		],
		"开夜车": [
			["kāi"],
			["yè"],
			["chē"]
		],
		"开源节流": [
			["kāi"],
			["yuán"],
			["jié"],
			["liú"]
		],
		"开云见日": [
			["kāi"],
			["yún"],
			["jiàn"],
			["rì"]
		],
		"开云见天": [
			["kāi"],
			["yún"],
			["jiàn"],
			["tiān"]
		],
		"开斋节": [
			["kāi"],
			["zhāi"],
			["jié"]
		],
		"凯旋门": [
			["kǎi"],
			["xuán"],
			["mén"]
		],
		"慨当以慷": [
			["kǎi"],
			["dāng"],
			["yǐ"],
			["kāng"]
		],
		"慨然应允": [
			["kǎi"],
			["rán"],
			["yīng"],
			["yǔn"]
		],
		"刊心刻骨": [
			["kān"],
			["xīn"],
			["kè"],
			["gǔ"]
		],
		"堪培拉": [
			["kān"],
			["péi"],
			["lā"]
		],
		"坎坷不平": [
			["kǎn"],
			["kě"],
			["bù"],
			["píng"]
		],
		"坎帕拉": [
			["kǎn"],
			["pà"],
			["lā"]
		],
		"坎止流行": [
			["kǎn"],
			["zhǐ"],
			["liú"],
			["xíng"]
		],
		"侃大山": [
			["kǎn"],
			["tài"],
			["shān"]
		],
		"埳井之蛙": [
			["kǎn"],
			["jǐng"],
			["zhī"],
			["wā"]
		],
		"看不惯": [
			["kàn"],
			["bù"],
			["guàn"]
		],
		"看不过": [
			["kàn"],
			["bù"],
			["guò"]
		],
		"看不见": [
			["kàn"],
			["bú"],
			["jiàn"]
		],
		"看不起": [
			["kàn"],
			["bù"],
			["qǐ"]
		],
		"看不清": [
			["kàn"],
			["bù"],
			["qīng"]
		],
		"看不上": [
			["kàn"],
			["bù"],
			["shàng"]
		],
		"看不上眼": [
			["kàn"],
			["bù"],
			["shàng"],
			["yǎn"]
		],
		"看财奴": [
			["kàn"],
			["cái"],
			["nú"]
		],
		"看菜吃饭": [
			["kàn"],
			["cài"],
			["chī"],
			["fàn"]
		],
		"看得起": [
			["kàn"],
			["de"],
			["qǐ"]
		],
		"看风使船": [
			["kàn"],
			["fēng"],
			["shǐ"],
			["chuán"]
		],
		"看风使舵": [
			["kàn"],
			["fēng"],
			["shǐ"],
			["duò"]
		],
		"看风使帆": [
			["kàn"],
			["fēng"],
			["shǐ"],
			["fān"]
		],
		"看风驶船": [
			["kàn"],
			["fēng"],
			["shǐ"],
			["chuán"]
		],
		"看家本领": [
			["kān"],
			["jiā"],
			["běn"],
			["lǐng"]
		],
		"看家狗": [
			["kān"],
			["jiā"],
			["gǒu"]
		],
		"看家本事": [
			["kān"],
			["jiā"],
			["běn"],
			["shì"]
		],
		"看家戏": [
			["kān"],
			["jiā"],
			["xì"]
		],
		"看景生情": [
			["kàn"],
			["jǐng"],
			["shēng"],
			["qíng"]
		],
		"看门狗": [
			["kān"],
			["mén"],
			["gǒu"]
		],
		"看破红尘": [
			["kàn"],
			["pò"],
			["hóng"],
			["chén"]
		],
		"看起来": [
			["kàn"],
			["qǐ"],
			["lái"]
		],
		"看人眉睫": [
			["kàn"],
			["rén"],
			["méi"],
			["jié"]
		],
		"看人下菜": [
			["kàn"],
			["rén"],
			["xià"],
			["cài"]
		],
		"看人眉眼": [
			["kàn"],
			["rén"],
			["méi"],
			["yǎn"]
		],
		"看人下菜碟儿": [
			["kàn"],
			["rén"],
			["xià"],
			["cài"],
			["dié"],
			["ér"]
		],
		"看人行事": [
			["kàn"],
			["rén"],
			["xíng"],
			["shì"]
		],
		"看杀卫玠": [
			["kàn"],
			["shā"],
			["wèi"],
			["jiè"]
		],
		"看守所": [
			["kān"],
			["shǒu"],
			["suǒ"]
		],
		"看笑话": [
			["kàn"],
			["xiào"],
			["huà"]
		],
		"看样子": [
			["kàn"],
			["yàng"],
			["zi"]
		],
		"看医生": [
			["kàn"],
			["yī"],
			["shēng"]
		],
		"看朱成碧": [
			["kàn"],
			["zhū"],
			["chéng"],
			["bì"]
		],
		"瞰瑕伺隙": [
			["kàn"],
			["xiá"],
			["sì"],
			["xì"]
		],
		"康庄大道": [
			["kāng"],
			["zhuāng"],
			["dà"],
			["dào"]
		],
		"慷慨解囊": [
			["kāng"],
			["kǎi"],
			["jiě"],
			["náng"]
		],
		"慷慨输将": [
			["kāng"],
			["kǎi"],
			["shū"],
			["jiāng"]
		],
		"慷慨淋漓": [
			["kāng"],
			["kǎi"],
			["lín"],
			["lí"]
		],
		"糠豆不赡": [
			["kang"],
			["dou"],
			["bu"],
			["shan"]
		],
		"扛长工": [
			["káng"],
			["cháng"],
			["gōng"]
		],
		"扛鼎拔山": [
			["gāng"],
			["dǐng"],
			["bá"],
			["shān"]
		],
		"扛鼎抃牛": [
			["gāng"],
			["dǐng"],
			["biàn"],
			["niú"]
		],
		"亢龙有悔": [
			["kàng"],
			["lóng"],
			["yǒu"],
			["huǐ"]
		],
		"抗干扰": [
			["kàng"],
			["gān"],
			["rǎo"]
		],
		"抗菌素": [
			["kàng"],
			["jūn"],
			["sù"]
		],
		"抗颜为师": [
			["kàng"],
			["yán"],
			["wéi"],
			["shī"]
		],
		"考据学": [
			["kǎo"],
			["jù"],
			["xué"]
		],
		"考勤簿": [
			["kǎo"],
			["qín"],
			["bù"]
		],
		"靠不住": [
			["kào"],
			["bú"],
			["zhù"]
		],
		"靠得住": [
			["kào"],
			["de"],
			["zhù"]
		],
		"苛性钠": [
			["kē"],
			["xìng"],
			["nà"]
		],
		"苛捐杂税": [
			["kē"],
			["juān"],
			["zá"],
			["shuì"]
		],
		"苛政猛于虎": [
			["kē"],
			["zhè"],
			["měng"],
			["yú"],
			["hǔ"]
		],
		"科教片": [
			["kē"],
			["jiào"],
			["piān"]
		],
		"科头箕踞": [
			["kē"],
			["tóu"],
			["jī"],
			["jù"]
		],
		"科头跣足": [
			["kē"],
			["tóu"],
			["xiǎn"],
			["zú"]
		],
		"科学家": [
			["kē"],
			["xué"],
			["jiā"]
		],
		"科研所": [
			["kē"],
			["yán"],
			["suǒ"]
		],
		"磕头虫": [
			["kē"],
			["tóu"],
			["chóng"]
		],
		"磕头礼拜": [
			["kē"],
			["tóu"],
			["lǐ"],
			["bài"]
		],
		"磕头碰脑": [
			["kē"],
			["tóu"],
			["pèng"],
			["nǎo"]
		],
		"磕头如捣": [
			["kē"],
			["tóu"],
			["rú"],
			["dǎo"]
		],
		"磕头如捣蒜": [
			["kē"],
			["tóu"],
			["rú"],
			["dǎo"],
			["suàn"]
		],
		"壳郎猪": [
			["ké"],
			["láng"],
			["zhū"]
		],
		"咳声叹气": [
			["hāi"],
			["shēng"],
			["tàn"],
			["qì"]
		],
		"咳唾成珠": [
			["ké"],
			["tuò"],
			["chéng"],
			["zhū"]
		],
		"咳珠唾玉": [
			["ké"],
			["zhū"],
			["tuò"],
			["yù"]
		],
		"可不是": [
			["kě"],
			["bú"],
			["shì"]
		],
		"可操左券": [
			["kě"],
			["cāo"],
			["zuǒ"],
			["quàn"]
		],
		"可乘之机": [
			["kě"],
			["chéng"],
			["zhī"],
			["jī"]
		],
		"可乘之隙": [
			["kě"],
			["chéng"],
			["zhī"],
			["xì"]
		],
		"可的松": [
			["kě"],
			["dì"],
			["sōng"]
		],
		"可读性": [
			["kě"],
			["dú"],
			["xìng"]
		],
		"可发一噱": [
			["kě"],
			["fā"],
			["yī"],
			["jué"]
		],
		"可歌可泣": [
			["kě"],
			["gē"],
			["kě"],
			["qì"]
		],
		"可耕地": [
			["kě"],
			["gēng"],
			["dì"]
		],
		"可见度": [
			["kě"],
			["jiàn"],
			["dù"]
		],
		"可见光": [
			["kě"],
			["jiàn"],
			["guāng"]
		],
		"可见一斑": [
			["kě"],
			["jiàn"],
			["yī"],
			["bān"]
		],
		"可卡因": [
			["kě"],
			["kǎ"],
			["yīn"]
		],
		"可靠性": [
			["kě"],
			["kào"],
			["xìng"]
		],
		"可可豆": [
			["kě"],
			["kě"],
			["dòu"]
		],
		"可口可乐": [
			["kě"],
			["kǒu"],
			["kě"],
			["lè"]
		],
		"可兰经": [
			["kě"],
			["lán"],
			["jīng"]
		],
		"可怜巴巴": [
			["kě"],
			["lián"],
			["bā"],
			["bā"]
		],
		"可怜虫": [
			["kě"],
			["lián"],
			["chóng"]
		],
		"可怜相": [
			["kě"],
			["lián"],
			["xiāng"]
		],
		"可泣可歌": [
			["kě"],
			["qì"],
			["kě"],
			["gē"]
		],
		"可塑性": [
			["kě"],
			["sù"],
			["xìng"]
		],
		"可望不可即": [
			["kě"],
			["wàng"],
			["bù"],
			["kě"],
			["jí"]
		],
		"可望而不可即": [
			["kě"],
			["wàng"],
			["ér"],
			["bù"],
			["kě"],
			["jí"]
		],
		"可望而不可及": [
			["kě"],
			["wàng"],
			["ér"],
			["bù"],
			["kě"],
			["jí"]
		],
		"可想而知": [
			["kě"],
			["xiǎng"],
			["ér"],
			["zhī"]
		],
		"可心如意": [
			["kě"],
			["xīn"],
			["rú"],
			["yì"]
		],
		"可行性": [
			["kě"],
			["xíng"],
			["xìng"]
		],
		"可有可无": [
			["kě"],
			["yǒu"],
			["kě"],
			["wú"]
		],
		"渴尘万斛": [
			["kě"],
			["chén"],
			["wàn"],
			["hú"]
		],
		"渴骥奔泉": [
			["kě"],
			["jì"],
			["bēn"],
			["quán"]
		],
		"克传弓冶": [
			["kè"],
			["chuán"],
			["gōng"],
			["yě"]
		],
		"克丁克卯": [
			["kè"],
			["dīng"],
			["kè"],
			["mǎo"]
		],
		"克分子": [
			["kè"],
			["fèn"],
			["zǐ"]
		],
		"克己慎行": [
			["kè"],
			["jǐ"],
			["shèn"],
			["xíng"]
		],
		"克格勃": [
			["kè"],
			["gé"],
			["bó"]
		],
		"克尽厥职": [
			["kè"],
			["jìn"],
			["jué"],
			["zhí"]
		],
		"克什米尔": [
			["kè"],
			["shí"],
			["mǐ"],
			["ěr"]
		],
		"刻薄寡思": [
			["kè"],
			["bó"],
			["guǎ"],
			["sī"]
		],
		"刻不待时": [
			["kè"],
			["bù"],
			["dài"],
			["shí"]
		],
		"刻不容缓": [
			["kè"],
			["bù"],
			["róng"],
			["huǎn"]
		],
		"刻不容松": [
			["kè"],
			["bù"],
			["róng"],
			["sōng"]
		],
		"刻翠裁红": [
			["kè"],
			["cuì"],
			["cái"],
			["hóng"]
		],
		"刻骨崩心": [
			["kè"],
			["gǔ"],
			["bēng"],
			["xīn"]
		],
		"刻骨仇恨": [
			["kè"],
			["gǔ"],
			["chóu"],
			["hèn"]
		],
		"刻骨镂心": [
			["kè"],
			["gǔ"],
			["lòu"],
			["xīn"]
		],
		"刻骨铭心": [
			["kè"],
			["gǔ"],
			["míng"],
			["xīn"]
		],
		"刻骨相思": [
			["kè"],
			["gǔ"],
			["xiāng"],
			["sī"]
		],
		"刻肌刻骨": [
			["kè"],
			["jī"],
			["kè"],
			["gǔ"]
		],
		"刻木为鹄": [
			["kè"],
			["mù"],
			["wéi"],
			["hú"]
		],
		"刻木为吏": [
			["kè"],
			["mù"],
			["wéi"],
			["lì"]
		],
		"刻雾裁风": [
			["kè"],
			["wù"],
			["cái"],
			["fēng"]
		],
		"刻章琢句": [
			["kè"],
			["zhāng"],
			["zhuó"],
			["jù"]
		],
		"客观唯心主义": [
			["kè"],
			["guān"],
			["wéi"],
			["xīn"],
			["zhǔ"],
			["yì"]
		],
		"客家话": [
			["kè"],
			["jiā"],
			["huà"]
		],
		"客里空": [
			["kè"],
			["lǐ"],
			["kōng"]
		],
		"客座教授": [
			["kè"],
			["zuò"],
			["jiào"],
			["shòu"]
		],
		"恪守不渝": [
			["kè"],
			["shǒu"],
			["bù"],
			["yú"]
		],
		"课语讹言": [
			["kè"],
			["yǔ"],
			["é"],
			["yán"]
		],
		"课嘴撩牙": [
			["kè"],
			["zuǐ"],
			["liáo"],
			["yá"]
		],
		"溘然长逝": [
			["kè"],
			["rán"],
			["cháng"],
			["shì"]
		],
		"嗑牙料嘴": [
			["kē"],
			["yá"],
			["liào"],
			["zuǐ"]
		],
		"溘然长往": [
			["kè"],
			["rán"],
			["cháng"],
			["wǎng"]
		],
		"溘先朝露": [
			["kè"],
			["xiān"],
			["zhāo"],
			["lù"]
		],
		"肯不肯": [
			["kěn"],
			["bù"],
			["kěn"]
		],
		"坑绷拐骗": [
			["kēng"],
			["bēng"],
			["guǎi"],
			["piàn"]
		],
		"坑家败业": [
			["kēng"],
			["jiā"],
			["bài"],
			["yè"]
		],
		"坑蒙拐骗": [
			["kēng"],
			["méng"],
			["guǎi"],
			["piàn"]
		],
		"铿锵有力": [
			["kēng"],
			["qiāng"],
			["yǒu"],
			["lì"]
		],
		"空白点": [
			["kòng"],
			["bái"],
			["diǎn"]
		],
		"空包弹": [
			["kōng"],
			["bāo"],
			["dàn"]
		],
		"空城计": [
			["kōng"],
			["chéng"],
			["jì"]
		],
		"空荡荡": [
			["kōng"],
			["dàng"],
			["dàng"]
		],
		"空洞洞": [
			["kōng"],
			["dòng"],
			["dòng"]
		],
		"空洞无物": [
			["kōng"],
			["dòng"],
			["wú"],
			["wù"]
		],
		"空对空": [
			["kōng"],
			["duì"],
			["kōng"]
		],
		"空腹便便": [
			["kōng"],
			["fù"],
			["pián"],
			["pián"]
		],
		"空费词说": [
			["kōng"],
			["fèi"],
			["cí"],
			["shuō"]
		],
		"空腹高心": [
			["kōng"],
			["fù"],
			["gāo"],
			["xīn"]
		],
		"空谷传声": [
			["kōng"],
			["gǔ"],
			["chuán"],
			["shēng"]
		],
		"空谷白驹": [
			["kōng"],
			["gǔ"],
			["bái"],
			["jū"]
		],
		"空谷幽兰": [
			["kōng"],
			["gǔ"],
			["yōu"],
			["lán"]
		],
		"空谷足音": [
			["kōng"],
			["gǔ"],
			["zú"],
			["yīn"]
		],
		"空话连篇": [
			["kōng"],
			["huà"],
			["lián"],
			["piān"]
		],
		"空架子": [
			["kōng"],
			["jià"],
			["zi"]
		],
		"空间站": [
			["kōng"],
			["jiān"],
			["zhàn"]
		],
		"空空导弹": [
			["kōng"],
			["kōng"],
			["dǎo"],
			["dàn"]
		],
		"空空洞洞": [
			["kōng"],
			["kōng"],
			["dòng"],
			["dòng"]
		],
		"空空如也": [
			["kōng"],
			["kōng"],
			["rú"],
			["yě"]
		],
		"空口说白话": [
			["kōng"],
			["kǒu"],
			["shuō"],
			["bái"],
			["huà"]
		],
		"空口无凭": [
			["kōng"],
			["kǒu"],
			["wú"],
			["píng"]
		],
		"空落落": [
			["kōng"],
			["luò"],
			["luò"]
		],
		"空气污染": [
			["kōng"],
			["qì"],
			["wū"],
			["rǎn"]
		],
		"空气压缩机": [
			["kōng"],
			["qì"],
			["yā"],
			["suō"],
			["jī"]
		],
		"空气浴": [
			["kōng"],
			["qì"],
			["yù"]
		],
		"空前绝后": [
			["kōng"],
			["qián"],
			["jué"],
			["hòu"]
		],
		"空室清野": [
			["kōng"],
			["shì"],
			["qīng"],
			["yě"]
		],
		"空手道": [
			["kōng"],
			["shǒu"],
			["dào"]
		],
		"空谈快意": [
			["kōng"],
			["tán"],
			["kuài"],
			["yì"]
		],
		"空头支票": [
			["kōng"],
			["tóu"],
			["zhī"],
			["piào"]
		],
		"空心汤圆": [
			["kōng"],
			["xīn"],
			["tāng"],
			["yuán"]
		],
		"空心砖": [
			["kōng"],
			["xīn"],
			["zhuān"]
		],
		"空穴来风": [
			["kōng"],
			["xué"],
			["lái"],
			["fēng"]
		],
		"空中楼阁": [
			["kōng"],
			["zhōng"],
			["lóu"],
			["gé"]
		],
		"空中小姐": [
			["kōng"],
			["zhōng"],
			["xiǎo"],
			["jiě"]
		],
		"孔情周思": [
			["kǒng"],
			["qíng"],
			["zhōu"],
			["sī"]
		],
		"孔雀绿": [
			["kǒng"],
			["què"],
			["lǜ"]
		],
		"孔雀石": [
			["kǒng"],
			["què"],
			["shí"]
		],
		"孔雀舞": [
			["kǒng"],
			["què"],
			["wǔ"]
		],
		"孔思周情": [
			["kǒng"],
			["sī"],
			["zhōu"],
			["qíng"]
		],
		"孔武有力": [
			["kǒng"],
			["wǔ"],
			["yǒu"],
			["lì"]
		],
		"孔席不暖": [
			["kǒng"],
			["xí"],
			["bù"],
			["nuǎn"]
		],
		"孔席不适": [
			["kǒng"],
			["xí"],
			["bù"],
			["shì"]
		],
		"恐慌万状": [
			["kǒng"],
			["huāng"],
			["wàn"],
			["zhuàng"]
		],
		"抠心挖肚": [
			["kōu"],
			["xīn"],
			["wā"],
			["dù"]
		],
		"抠心挖血": [
			["kōu"],
			["xīn"],
			["wā"],
			["xuè"]
		],
		"口碑载道": [
			["kǒu"],
			["bēi"],
			["zài"],
			["dào"]
		],
		"口不二价": [
			["kǒu"],
			["bù"],
			["èr"],
			["jià"]
		],
		"口不应心": [
			["kǒu"],
			["bù"],
			["yìng"],
			["xīn"]
		],
		"口不择言": [
			["kǒu"],
			["bù"],
			["zé"],
			["yán"]
		],
		"口出不逊": [
			["kǒu"],
			["chū"],
			["bù"],
			["xùn"]
		],
		"口出大言": [
			["kǒu"],
			["chū"],
			["dā"],
			["yán"]
		],
		"口传心授": [
			["kǒu"],
			["chuán"],
			["xīn"],
			["shòu"]
		],
		"口多食寡": [
			["kǒu"],
			["duō"],
			["shí"],
			["guǎ"]
		],
		"口耳相承": [
			["kǒu"],
			["ěr"],
			["xiāng"],
			["chéng"]
		],
		"口耳并重": [
			["kǒu"],
			["ěr"],
			["bìng"],
			["zhòng"]
		],
		"口耳相传": [
			["kǒu"],
			["ěr"],
			["xiāng"],
			["chuán"]
		],
		"口服心服": [
			["kǒu"],
			["fú"],
			["xīn"],
			["fú"]
		],
		"口腹之累": [
			["kǒu"],
			["fù"],
			["zhī"],
			["lěi"]
		],
		"口干舌燥": [
			["kǒu"],
			["gān"],
			["shé"],
			["zào"]
		],
		"口干舌焦": [
			["kǒu"],
			["gàn"],
			["shé"],
			["jiāo"]
		],
		"口惠而实不至": [
			["kǒu"],
			["huì"],
			["ér"],
			["shí"],
			["bù"],
			["zhì"]
		],
		"口角风情": [
			["kǒu"],
			["jiǎo"],
			["fēng"],
			["qíng"]
		],
		"口角春风": [
			["kǒu"],
			["jiǎo"],
			["chūn"],
			["fēng"]
		],
		"口角炎": [
			["kǒu"],
			["jué"],
			["yán"]
		],
		"口角生风": [
			["kǒu"],
			["jiǎo"],
			["shēng"],
			["fēng"]
		],
		"口口相传": [
			["kǒu"],
			["kǒu"],
			["xiāng"],
			["chuán"]
		],
		"口若悬河": [
			["kǒu"],
			["ruò"],
			["xuán"],
			["hé"]
		],
		"口轻舌薄": [
			["kǒu"],
			["qīng"],
			["shé"],
			["bó"]
		],
		"口说无凭": [
			["kǒu"],
			["shuō"],
			["wú"],
			["píng"]
		],
		"口尚乳臭": [
			["kǒu"],
			["shàng"],
			["rǔ"],
			["xiù"]
		],
		"口似悬河": [
			["kǒu"],
			["sì"],
			["xuán"],
			["hé"]
		],
		"口头禅": [
			["kǒu"],
			["tóu"],
			["chán"]
		],
		"口头文学": [
			["kǒu"],
			["tóu"],
			["wén"],
			["xué"]
		],
		"口头语": [
			["kǒu"],
			["tóu"],
			["yǔ"]
		],
		"口吐珠玑": [
			["kǒu"],
			["tǔ"],
			["zhū"],
			["jī"]
		],
		"口无择言": [
			["kǒu"],
			["wú"],
			["zé"],
			["yán"]
		],
		"口谐辞给": [
			["kǒu"],
			["xié"],
			["cí"],
			["gěi"]
		],
		"口血未干": [
			["kǒu"],
			["xuè"],
			["wèi"],
			["gān"]
		],
		"口壅若川": [
			["kǒu"],
			["yōng"],
			["ruò"],
			["chuān"]
		],
		"口语体": [
			["kǒu"],
			["yǔ"],
			["tǐ"]
		],
		"口燥唇干": [
			["kǒu"],
			["zào"],
			["chún"],
			["gān"]
		],
		"口中雌黄": [
			["kǒu"],
			["zhōng"],
			["cí"],
			["huáng"]
		],
		"口中蚤虱": [
			["kǒu"],
			["zhōng"],
			["zǎo"],
			["shī"]
		],
		"叩石垦壤": [
			["kòu"],
			["shí"],
			["kěn"],
			["rǎng"]
		],
		"叩心泣血": [
			["kòu"],
			["xīn"],
			["qì"],
			["xuè"]
		],
		"扣壶长吟": [
			["kòu"],
			["hú"],
			["cháng"],
			["yín"]
		],
		"叩源推委": [
			["kòu"],
			["yuán"],
			["tuī"],
			["wěi"]
		],
		"扣楫中流": [
			["kòu"],
			["jí"],
			["zhōng"],
			["liú"]
		],
		"扣盘扪钥": [
			["kòu"],
			["pán"],
			["mén"],
			["yào"]
		],
		"刳脂剔膏": [
			["kū"],
			["zhī"],
			["tī"],
			["gāo"]
		],
		"枯骨生肉": [
			["kū"],
			["gǔ"],
			["shēng"],
			["ròu"]
		],
		"枯骨之馀": [
			["kū"],
			["gǔ"],
			["zhī"],
			["yú"]
		],
		"刳精呕血": [
			["kū"],
			["jīng"],
			["ǒu"],
			["xuè"]
		],
		"枯苗望雨": [
			["kū"],
			["miáo"],
			["wàng"],
			["yǔ"]
		],
		"枯木发荣": [
			["kū"],
			["mù"],
			["fā"],
			["róng"]
		],
		"枯树生华": [
			["kū"],
			["shù"],
			["shēng"],
			["huā"]
		],
		"枯体灰心": [
			["kū"],
			["tǐ"],
			["huī"],
			["xīn"]
		],
		"枯枝败叶": [
			["kū"],
			["zhī"],
			["bài"],
			["yè"]
		],
		"枯枝再春": [
			["kū"],
			["zhī"],
			["zài"],
			["chūn"]
		],
		"哭丧棒": [
			["kū"],
			["sang"],
			["bàng"]
		],
		"哭丧着脸": [
			["kū"],
			["sāng"],
			["zhe"],
			["liǎn"]
		],
		"哭天喊地": [
			["kū"],
			["tiān"],
			["hǎn"],
			["dì"]
		],
		"哭天抹泪": [
			["kū"],
			["tiān"],
			["mǒ"],
			["lèi"]
		],
		"哭笑不得": [
			["kū"],
			["xiào"],
			["bù"],
			["dé"]
		],
		"苦不可言": [
			["kǔ"],
			["bù"],
			["kě"],
			["yán"]
		],
		"苦不堪言": [
			["kǔ"],
			["bù"],
			["kān"],
			["yán"]
		],
		"苦大仇深": [
			["kǔ"],
			["dà"],
			["chóu"],
			["shēn"]
		],
		"苦差事": [
			["kǔ"],
			["chāi"],
			["shì"]
		],
		"苦尽甘来": [
			["kǔ"],
			["jìn"],
			["gān"],
			["lái"]
		],
		"苦尽甜来": [
			["kǔ"],
			["jìn"],
			["tián"],
			["lái"]
		],
		"苦乐不均": [
			["kǔ"],
			["lè"],
			["bù"],
			["jūn"]
		],
		"苦难深重": [
			["kǔ"],
			["nàn"],
			["shēn"],
			["zhòng"]
		],
		"苦身焦思": [
			["kǔ"],
			["shēn"],
			["jiāo"],
			["sī"]
		],
		"苦行僧": [
			["kǔ"],
			["xíng"],
			["sēng"]
		],
		"苦思冥想": [
			["kǔ"],
			["sī"],
			["míng"],
			["xiǎng"]
		],
		"苦雨凄风": [
			["kǔ"],
			["yǔ"],
			["qī"],
			["fēng"]
		],
		"苦中作乐": [
			["kǔ"],
			["zhōng"],
			["zuò"],
			["lè"]
		],
		"楛耘伤岁": [
			["kǔ"],
			["yún"],
			["shāng"],
			["suì"]
		],
		"夸大其词": [
			["kuā"],
			["dà"],
			["qí"],
			["cí"]
		],
		"夸大其辞": [
			["kuā"],
			["dà"],
			["qí"],
			["cí"]
		],
		"夸多斗靡": [
			["kuā"],
			["duō"],
			["dòu"],
			["mí"]
		],
		"夸父追日": [
			["kuā"],
			["fù"],
			["zhuī"],
			["rì"]
		],
		"夸父逐日": [
			["kuā"],
			["fù"],
			["zhú"],
			["rì"]
		],
		"夸海口": [
			["kuā"],
			["hǎi"],
			["kǒu"]
		],
		"夸夸而谈": [
			["kuā"],
			["kuā"],
			["ér"],
			["tán"]
		],
		"夸夸其谈": [
			["kuā"],
			["kuā"],
			["qí"],
			["tán"]
		],
		"夸强道会": [
			["kuā"],
			["qiáng"],
			["dào"],
			["huì"]
		],
		"姱容修态": [
			["kuā"],
			["róng"],
			["xiū"],
			["tài"]
		],
		"跨凤乘龙": [
			["kuà"],
			["fèng"],
			["chéng"],
			["lóng"]
		],
		"跨凤乘鸾": [
			["kuà"],
			["fèng"],
			["chéng"],
			["luán"]
		],
		"跨年度": [
			["kuà"],
			["nián"],
			["dù"]
		],
		"跨山压海": [
			["kuà"],
			["shān"],
			["yā"],
			["hǎi"]
		],
		"快犊破车": [
			["kuài"],
			["dú"],
			["pò"],
			["chē"]
		],
		"快人快语": [
			["kuài"],
			["rén"],
			["kuài"],
			["yǔ"]
		],
		"快意当前": [
			["kuài"],
			["yì"],
			["dāng"],
			["qián"]
		],
		"宽大为怀": [
			["kuān"],
			["dà"],
			["wéi"],
			["huái"]
		],
		"宽打窄用": [
			["kuān"],
			["dǎ"],
			["zhǎi"],
			["yòng"]
		],
		"宽宏大度": [
			["kuān"],
			["hóng"],
			["dà"],
			["dù"]
		],
		"宽宏大量": [
			["kuān"],
			["hóng"],
			["dà"],
			["liàng"]
		],
		"宽洪大度": [
			["kuān"],
			["hóng"],
			["dà"],
			["dù"]
		],
		"宽洪大量": [
			["kuān"],
			["hóng"],
			["dà"],
			["liàng"]
		],
		"宽洪海量": [
			["kuān"],
			["hóng"],
			["hǎi"],
			["liàng"]
		],
		"宽怀大度": [
			["kuān"],
			["huái"],
			["dà"],
			["dù"]
		],
		"宽豁大度": [
			["kuān"],
			["huō"],
			["dà"],
			["dù"]
		],
		"宽猛并济": [
			["kuān"],
			["měng"],
			["bìng"],
			["jì"]
		],
		"宽猛相济": [
			["kuān"],
			["měng"],
			["xiāng"],
			["jì"]
		],
		"宽仁大度": [
			["kuān"],
			["rén"],
			["dà"],
			["dù"]
		],
		"宽以待人": [
			["kuān"],
			["yǐ"],
			["dài"],
			["rén"]
		],
		"款曲周至": [
			["kuǎn"],
			["qǔ"],
			["zhōu"],
			["zhì"]
		],
		"款语温言": [
			["kuǎn"],
			["yǔ"],
			["wēn"],
			["yán"]
		],
		"匡鼎解颐": [
			["kuāng"],
			["dǐng"],
			["jiě"],
			["yí"]
		],
		"匡国济时": [
			["kuāng"],
			["guó"],
			["jì"],
			["shí"]
		],
		"匡救弥缝": [
			["kuāng"],
			["jiù"],
			["mí"],
			["fèng"]
		],
		"匡乱反正": [
			["kuāng"],
			["luàn"],
			["fǎn"],
			["zhèng"]
		],
		"匡谬正俗": [
			["kuāng"],
			["miù"],
			["zhèng"],
			["sú"]
		],
		"匡其不逮": [
			["kuāng"],
			["qí"],
			["bù"],
			["dǎi"]
		],
		"匡时济世": [
			["kuāng"],
			["shí"],
			["jì"],
			["shì"]
		],
		"匡时济俗": [
			["kuāng"],
			["shí"],
			["jì"],
			["sú"]
		],
		"匡俗济时": [
			["kuāng"],
			["sú"],
			["jì"],
			["shí"]
		],
		"筐箧中物": [
			["kuāng"],
			["qiè"],
			["zhōng"],
			["wù"]
		],
		"恇怯不前": [
			["kuāng"],
			["qiè"],
			["bù"],
			["qián"]
		],
		"狂吠狴犴": [
			["kuáng"],
			["fèi"],
			["bì"],
			["àn"]
		],
		"狂风暴雨": [
			["kuáng"],
			["fēng"],
			["bào"],
			["yǔ"]
		],
		"狂风恶浪": [
			["kuáng"],
			["fēng"],
			["è"],
			["làng"]
		],
		"狂风怒号": [
			["kuáng"],
			["fēng"],
			["nù"],
			["háo"]
		],
		"狂风骤雨": [
			["kuáng"],
			["fēng"],
			["zhòu"],
			["yǔ"]
		],
		"狂轰滥炸": [
			["kuáng"],
			["hōng"],
			["làn"],
			["zhà"]
		],
		"狂欢节": [
			["kuáng"],
			["huān"],
			["jié"]
		],
		"狂嫖滥赌": [
			["kuáng"],
			["piáo"],
			["làn"],
			["dǔ"]
		],
		"狂妄自大": [
			["kuáng"],
			["wàng"],
			["zì"],
			["dà"]
		],
		"狂想曲": [
			["kuáng"],
			["xiǎng"],
			["qǔ"]
		],
		"旷达不羁": [
			["kuàng"],
			["dá"],
			["bù"],
			["jī"]
		],
		"旷夫怨女": [
			["kuàng"],
			["fū"],
			["yuàn"],
			["nǚ"]
		],
		"旷古未有": [
			["kuàng"],
			["gǔ"],
			["wèi"],
			["yǒu"]
		],
		"旷古奇闻": [
			["kuàng"],
			["gǔ"],
			["qí"],
			["wén"]
		],
		"旷日长久": [
			["kuàng"],
			["rì"],
			["cháng"],
			["jiǔ"]
		],
		"旷日累时": [
			["kuàng"],
			["rì"],
			["lěi"],
			["shí"]
		],
		"旷日弥久": [
			["kuàng"],
			["rì"],
			["mí"],
			["jiǔ"]
		],
		"旷若发蒙": [
			["kuàng"],
			["ruò"],
			["fā"],
			["méng"]
		],
		"旷世奇才": [
			["kuàng"],
			["shì"],
			["qí"],
			["cái"]
		],
		"亏心短行": [
			["kuī"],
			["xīn"],
			["duǎn"],
			["xíng"]
		],
		"岿然不动": [
			["kuī"],
			["rán"],
			["bù"],
			["dòng"]
		],
		"窥间伺隙": [
			["kuī"],
			["jiàn"],
			["sì"],
			["xì"]
		],
		"窥见一斑": [
			["kuī"],
			["jiàn"],
			["yī"],
			["bān"]
		],
		"揆理度情": [
			["kuí"],
			["lǐ"],
			["duó"],
			["qíng"]
		],
		"揆理度势": [
			["kuí"],
			["lǐ"],
			["dù"],
			["shì"]
		],
		"揆情度理": [
			["kuí"],
			["qíng"],
			["duó"],
			["lǐ"]
		],
		"魁北克": [
			["kuí"],
			["běi"],
			["kè"]
		],
		"揆时度势": [
			["kuí"],
			["shí"],
			["dù"],
			["shì"]
		],
		"魁梧奇伟": [
			["kuí"],
			["wǔ"],
			["qí"],
			["wěi"]
		],
		"喟然长叹": [
			["kuì"],
			["rán"],
			["cháng"],
			["tàn"]
		],
		"愧悔无地": [
			["kuì"],
			["huǐ"],
			["wú"],
			["dì"]
		],
		"愧天怍人": [
			["kuì"],
			["tiān"],
			["zuò"],
			["rén"]
		],
		"溃兵游勇": [
			["kuì"],
			["bīng"],
			["yóu"],
			["yǒng"]
		],
		"溃不成军": [
			["kuì"],
			["bù"],
			["chéng"],
			["jūn"]
		],
		"坤角儿": [
			["kūn"],
			["jué"],
			["ér"]
		],
		"昆弟之好": [
			["kūn"],
			["dì"],
			["zhī"],
			["hǎo"]
		],
		"昆山片玉": [
			["kūn"],
			["shān"],
			["piàn"],
			["yù"]
		],
		"悃愊无华": [
			["kǔn"],
			["bì"],
			["wú"],
			["huá"]
		],
		"困而不学": [
			["kùn"],
			["ér"],
			["bù"],
			["xué"]
		],
		"困知勉行": [
			["kùn"],
			["zhī"],
			["miǎn"],
			["xíng"]
		],
		"困兽犹斗": [
			["kùn"],
			["shòu"],
			["yóu"],
			["dòu"]
		],
		"困心横虑": [
			["kùn"],
			["xīn"],
			["héng"],
			["lǜ"]
		],
		"扩大化": [
			["kuò"],
			["dà"],
			["huà"]
		],
		"扩大会议": [
			["kuò"],
			["dà"],
			["huì"],
			["yì"]
		],
		"括目相待": [
			["kuò"],
			["mù"],
			["xiāng"],
			["dài"]
		],
		"括约肌": [
			["kuò"],
			["yuē"],
			["jī"]
		],
		"阔论高谈": [
			["kuò"],
			["lùn"],
			["gāo"],
			["tán"]
		],
		"阔叶树": [
			["kuò"],
			["yè"],
			["shù"]
		],
		"廓达大度": [
			["kuò"],
			["dá"],
			["dà"],
			["dù"]
		],
		"廓大镜": [
			["kuò"],
			["dà"],
			["jìng"]
		],
		"拉捭摧藏": [
			["lā"],
			["bǎi"],
			["cuī"],
			["cáng"]
		],
		"拉帮结伙": [
			["lā"],
			["bāng"],
			["jié"],
			["huǒ"]
		],
		"拉帮结派": [
			["lā"],
			["bāng"],
			["jié"],
			["pài"]
		],
		"拉不下脸": [
			["lā"],
			["bù"],
			["xià"],
			["liǎn"]
		],
		"拉大旗作虎皮": [
			["lā"],
			["dà"],
			["qí"],
			["zuò"],
			["hǔ"],
			["pí"]
		],
		"拉丁美洲": [
			["lā"],
			["dīng"],
			["měi"],
			["zhōu"]
		],
		"拉肚子": [
			["lā"],
			["dǔ"],
			["zi"]
		],
		"拉关系": [
			["lā"],
			["guān"],
			["xì"]
		],
		"拉祜族": [
			["lā"],
			["hù"],
			["zú"]
		],
		"拉后腿": [
			["lā"],
			["hòu"],
			["tuǐ"]
		],
		"拉家常": [
			["lá"],
			["jiā"],
			["cháng"]
		],
		"拉家带口": [
			["lā"],
			["jiā"],
			["dài"],
			["kǒu"]
		],
		"拉交情": [
			["lā"],
			["jiāo"],
			["qíng"]
		],
		"拉近乎": [
			["lā"],
			["jìn"],
			["hū"]
		],
		"拉枯折朽": [
			["lā"],
			["kū"],
			["shé"],
			["xiǔ"]
		],
		"拉亏空": [
			["lā"],
			["kuī"],
			["kōng"]
		],
		"拉拉扯扯": [
			["lā"],
			["lā"],
			["chě"],
			["chě"]
		],
		"拉拉队": [
			["lā"],
			["lā"],
			["duì"]
		],
		"拉拉杂杂": [
			["lā"],
			["lā"],
			["zá"],
			["zá"]
		],
		"拉郎配": [
			["lā"],
			["láng"],
			["pèi"]
		],
		"拉力器": [
			["lā"],
			["lì"],
			["qì"]
		],
		"拉马克": [
			["lā"],
			["mǎ"],
			["kè"]
		],
		"拉买卖": [
			["lā"],
			["mǎi"],
			["mài"]
		],
		"拉皮条": [
			["lā"],
			["pí"],
			["tiáo"]
		],
		"拉三扯四": [
			["lā"],
			["sān"],
			["chě"],
			["sì"]
		],
		"拉山头": [
			["lā"],
			["shān"],
			["tóu"]
		],
		"拉下脸": [
			["lā"],
			["xià"],
			["liǎn"]
		],
		"拉下马": [
			["lā"],
			["xià"],
			["mǎ"]
		],
		"拉闲散闷": [
			["lā"],
			["xián"],
			["sàn"],
			["mèn"]
		],
		"拉下水": [
			["lā"],
			["xià"],
			["shuǐ"]
		],
		"拉朽摧枯": [
			["lā"],
			["xiǔ"],
			["cuī"],
			["kū"]
		],
		"拉洋片": [
			["lā"],
			["yáng"],
			["piàn"]
		],
		"喇嘛教": [
			["lǎ"],
			["ma"],
			["jiào"]
		],
		"腊八粥": [
			["là"],
			["bā"],
			["zhōu"]
		],
		"腊尽春回": [
			["là"],
			["jìn"],
			["chūn"],
			["huí"]
		],
		"瘌痢头": [
			["là"],
			["lì"],
			["tóu"]
		],
		"来不得": [
			["lái"],
			["bù"],
			["dé"]
		],
		"来处不易": [
			["lái"],
			["chù"],
			["bù"],
			["yì"]
		],
		"来不及": [
			["lái"],
			["bù"],
			["jí"]
		],
		"来得及": [
			["lái"],
			["de"],
			["jí"]
		],
		"来而不往非礼也": [
			["lái"],
			["ér"],
			["bù"],
			["wǎng"],
			["fēi"],
			["lǐ"],
			["yě"]
		],
		"来好息师": [
			["lái"],
			["hǎo"],
			["xī"],
			["shī"]
		],
		"来鸿去燕": [
			["lái"],
			["hóng"],
			["qù"],
			["yàn"]
		],
		"来回票": [
			["lái"],
			["huí"],
			["piào"]
		],
		"来历不明": [
			["lái"],
			["lì"],
			["bù"],
			["míng"]
		],
		"来龙去脉": [
			["lái"],
			["lóng"],
			["qù"],
			["mài"]
		],
		"来路不明": [
			["lái"],
			["lù"],
			["bù"],
			["míng"]
		],
		"来去分明": [
			["lái"],
			["qù"],
			["fēn"],
			["míng"]
		],
		"来日大难": [
			["lái"],
			["rì"],
			["dà"],
			["nàn"]
		],
		"来日方长": [
			["lái"],
			["rì"],
			["fāng"],
			["cháng"]
		],
		"来世不可待": [
			["lái"],
			["shì"],
			["bù"],
			["kě"],
			["dài"]
		],
		"来者不善": [
			["lái"],
			["zhě"],
			["bù"],
			["shàn"]
		],
		"来者不拒": [
			["lái"],
			["zhě"],
			["bù"],
			["jù"]
		],
		"来者居上": [
			["lái"],
			["zhě"],
			["jū"],
			["shàng"]
		],
		"来者可追": [
			["lái"],
			["zhě"],
			["kě"],
			["zhuī"]
		],
		"来之不易": [
			["lái"],
			["zhī"],
			["bù"],
			["yì"]
		],
		"赖有此耳": [
			["lài"],
			["yǒu"],
			["cǐ"],
			["ěr"]
		],
		"癞蛤蟆": [
			["lài"],
			["há"],
			["má"]
		],
		"癞蛤蟆想吃天鹅肉": [
			["lài"],
			["há"],
			["ma"],
			["xiǎng"],
			["chī"],
			["tiān"],
			["é"],
			["ròu"]
		],
		"兰艾难分": [
			["lán"],
			["ài"],
			["nán"],
			["fēn"]
		],
		"兰艾同焚": [
			["lán"],
			["ài"],
			["tóng"],
			["fén"]
		],
		"兰摧玉折": [
			["lán"],
			["cuī"],
			["yù"],
			["zhé"]
		],
		"兰桂齐芳": [
			["lán"],
			["guì"],
			["qí"],
			["fāng"]
		],
		"兰陵王": [
			["lán"],
			["líng"],
			["wáng"]
		],
		"兰熏桂馥": [
			["lán"],
			["xūn"],
			["guì"],
			["fù"]
		],
		"兰质熏心": [
			["lán"],
			["zhì"],
			["xūn"],
			["xīn"]
		],
		"兰州大学": [
			["lán"],
			["zhōu"],
			["dà"],
			["xué"]
		],
		"拦不住": [
			["lán"],
			["bú"],
			["zhù"]
		],
		"阑风伏雨": [
			["lán"],
			["fēng"],
			["fú"],
			["yǔ"]
		],
		"阑风长雨": [
			["lán"],
			["fēng"],
			["zhàng"],
			["yǔ"]
		],
		"蓝宝石": [
			["lán"],
			["bǎo"],
			["shí"]
		],
		"阑尾炎": [
			["lán"],
			["wěi"],
			["yán"]
		],
		"澜倒波随": [
			["lán"],
			["dǎo"],
			["bō"],
			["suí"]
		],
		"览闻辩见": [
			["lǎn"],
			["wén"],
			["biàn"],
			["jiàn"]
		],
		"揽辔登车": [
			["lǎn"],
			["pèi"],
			["dēng"],
			["chē"]
		],
		"揽辔澄清": [
			["lǎn"],
			["pèi"],
			["chéng"],
			["qīng"]
		],
		"揽辔中原": [
			["lǎn"],
			["pèi"],
			["zhōng"],
			["yuán"]
		],
		"烂额焦头": [
			["làn"],
			["é"],
			["jiāo"],
			["tóu"]
		],
		"烂若披锦": [
			["làn"],
			["ruò"],
			["pī"],
			["jǐn"]
		],
		"烂若披掌": [
			["làn"],
			["ruò"],
			["pī"],
			["zhǎng"]
		],
		"烂若舒锦": [
			["làn"],
			["ruò"],
			["shū"],
			["jǐn"]
		],
		"烂醉如泥": [
			["làn"],
			["zuì"],
			["rú"],
			["ní"]
		],
		"滥竽充数": [
			["làn"],
			["yú"],
			["chōng"],
			["shù"]
		],
		"郎才女貌": [
			["láng"],
			["cái"],
			["nǚ"],
			["mào"]
		],
		"郎才女姿": [
			["láng"],
			["cái"],
			["nǚ"],
			["zī"]
		],
		"狼狈不堪": [
			["láng"],
			["bèi"],
			["bù"],
			["kān"]
		],
		"狼狈万状": [
			["láng"],
			["bèi"],
			["wàn"],
			["zhuàng"]
		],
		"狼狈为奸": [
			["láng"],
			["bèi"],
			["wéi"],
			["jiān"]
		],
		"狼奔鼠窜": [
			["láng"],
			["bēn"],
			["shǔ"],
			["cuàn"]
		],
		"狼奔豕突": [
			["láng"],
			["bēn"],
			["shǐ"],
			["tū"]
		],
		"狼奔鼠偷": [
			["láng"],
			["bēn"],
			["shǔ"],
			["tōu"]
		],
		"狼飡虎食": [
			["láng"],
			["cān"],
			["hǔ"],
			["shí"]
		],
		"狼奔兔脱": [
			["láng"],
			["bēn"],
			["tù"],
			["tuō"]
		],
		"狼餐虎咽": [
			["láng"],
			["cān"],
			["hǔ"],
			["yàn"]
		],
		"狼飡虎咽": [
			["láng"],
			["cān"],
			["hǔ"],
			["yān"]
		],
		"狼吃幞头": [
			["láng"],
			["chī"],
			["fú"],
			["tóu"]
		],
		"狼多肉少": [
			["láng"],
			["duō"],
			["ròu"],
			["shǎo"]
		],
		"狼顾狐疑": [
			["láng"],
			["gù"],
			["hú"],
			["yí"]
		],
		"狼号鬼哭": [
			["láng"],
			["háo"],
			["guǐ"],
			["kū"]
		],
		"狼艰狈蹶": [
			["láng"],
			["jiān"],
			["bèi"],
			["juě"]
		],
		"狼猛蜂毒": [
			["láng"],
			["měng"],
			["fēng"],
			["dú"]
		],
		"狼飧虎咽": [
			["láng"],
			["sūn"],
			["hǔ"],
			["yàn"]
		],
		"狼吞虎咽": [
			["láng"],
			["tūn"],
			["hǔ"],
			["yàn"]
		],
		"狼心狗行": [
			["láng"],
			["xīn"],
			["gǒu"],
			["xíng"]
		],
		"狼烟大话": [
			["láng"],
			["yān"],
			["dà"],
			["huà"]
		],
		"狼羊同饲": [
			["láng"],
			["yáng"],
			["tóng"],
			["sì"]
		],
		"琅琅上口": [
			["láng"],
			["láng"],
			["shàng"],
			["kǒu"]
		],
		"琅嬛福地": [
			["láng"],
			["huán"],
			["fú"],
			["dì"]
		],
		"稂不稂莠不莠": [
			["láng"],
			["bù"],
			["láng"],
			["yǒu"],
			["bù"],
			["yǒu"]
		],
		"稂莠不齐": [
			["láng"],
			["yǒu"],
			["bù"],
			["qí"]
		],
		"锒铛入狱": [
			["láng"],
			["dāng"],
			["rù"],
			["yù"]
		],
		"朗朗乾坤": [
			["lǎng"],
			["lǎng"],
			["qián"],
			["kūn"]
		],
		"朗朗上口": [
			["lǎng"],
			["lǎng"],
			["shàng"],
			["kǒu"]
		],
		"朗月清风": [
			["lǎng"],
			["yuè"],
			["qīng"],
			["fēng"]
		],
		"浪子回头": [
			["làng"],
			["zǐ"],
			["huí"],
			["tóu"]
		],
		"浪子回头金不换": [
			["làng"],
			["zǐ"],
			["huí"],
			["tóu"],
			["jīn"],
			["bù"],
			["huàn"]
		],
		"浪子宰相": [
			["làng"],
			["zǐ"],
			["zǎi"],
			["xiàng"]
		],
		"捞一把": [
			["lāo"],
			["yī"],
			["bǎ"]
		],
		"劳动教养": [
			["láo"],
			["dòng"],
			["jiào"],
			["yǎng"]
		],
		"劳动节": [
			["láo"],
			["dòng"],
			["jié"]
		],
		"劳动模范": [
			["láo"],
			["dòng"],
			["mó"],
			["fàn"]
		],
		"劳动强度": [
			["láo"],
			["dòng"],
			["qiáng"],
			["dù"]
		],
		"劳动生产率": [
			["láo"],
			["dòng"],
			["shēng"],
			["chǎn"],
			["lǜ"]
		],
		"劳筋苦骨": [
			["láo"],
			["jīn"],
			["kǔ"],
			["gǔ"]
		],
		"劳身焦思": [
			["láo"],
			["shēn"],
			["jiāo"],
			["sī"]
		],
		"劳师糜饷": [
			["láo"],
			["shī"],
			["mí"],
			["xiǎng"]
		],
		"劳师袭远": [
			["láo"],
			["shī"],
			["xí"],
			["yuǎn"]
		],
		"劳什子": [
			["láo"],
			["shí"],
			["zǐ"]
		],
		"劳思逸淫": [
			["láo"],
			["sī"],
			["yì"],
			["yín"]
		],
		"劳心焦思": [
			["láo"],
			["xīn"],
			["jiāo"],
			["sī"]
		],
		"劳心苦思": [
			["láo"],
			["xīn"],
			["kǔ"],
			["sī"]
		],
		"劳燕分飞": [
			["láo"],
			["yàn"],
			["fēn"],
			["fēi"]
		],
		"劳逸结合": [
			["láo"],
			["yì"],
			["jié"],
			["hé"]
		],
		"牢不可破": [
			["láo"],
			["bù"],
			["kě"],
			["pò"]
		],
		"唠唠叨叨": [
			["lāo"],
			["lāo"],
			["dāo"],
			["dāo"]
		],
		"牢什古子": [
			["láo"],
			["shí"],
			["gǔ"],
			["zi"]
		],
		"牢骚满腹": [
			["láo"],
			["sāo"],
			["mǎn"],
			["fù"]
		],
		"老白干儿": [
			["lǎo"],
			["bái"],
			["gān"],
			["ér"]
		],
		"老蚌生珠": [
			["lǎo"],
			["bàng"],
			["shēng"],
			["zhū"]
		],
		"老蚌珠胎": [
			["lǎo"],
			["bàng"],
			["zhū"],
			["tāi"]
		],
		"老伯伯": [
			["lǎo"],
			["bó"],
			["bo"]
		],
		"老成持重": [
			["lǎo"],
			["chéng"],
			["chí"],
			["zhòng"]
		],
		"老成见到": [
			["lǎo"],
			["chéng"],
			["jiàn"],
			["dào"]
		],
		"老处女": [
			["lǎo"],
			["chǔ"],
			["nǚ"]
		],
		"老大哥": [
			["lǎo"],
			["dà"],
			["gē"]
		],
		"老大姐": [
			["lǎo"],
			["dà"],
			["jiě"]
		],
		"老大难": [
			["lǎo"],
			["dà"],
			["nàn"]
		],
		"老大娘": [
			["lǎo"],
			["dà"],
			["niáng"]
		],
		"老大徒伤悲": [
			["lǎo"],
			["dà"],
			["tú"],
			["shāng"],
			["bēi"]
		],
		"老大无成": [
			["lǎo"],
			["dà"],
			["wú"],
			["chéng"]
		],
		"老大爷": [
			["lǎo"],
			["dà"],
			["yé"]
		],
		"老当益壮": [
			["lǎo"],
			["dāng"],
			["yì"],
			["zhuàng"]
		],
		"老调重弹": [
			["lǎo"],
			["diào"],
			["zhòng"],
			["dàn"]
		],
		"老调重谈": [
			["lǎo"],
			["diào"],
			["chóng"],
			["tán"]
		],
		"老而不死": [
			["lǎo"],
			["ér"],
			["bù"],
			["sǐ"]
		],
		"老而不死是为贼": [
			["lǎo"],
			["ér"],
			["bù"],
			["sǐ"],
			["shì"],
			["wéi"],
			["zéi"]
		],
		"老佛爷": [
			["lǎo"],
			["fó"],
			["yé"]
		],
		"老夫子": [
			["lǎo"],
			["fū"],
			["zǐ"]
		],
		"老好人": [
			["lǎo"],
			["hǎo"],
			["rén"]
		],
		"老骨头": [
			["lǎo"],
			["gú"],
			["tou"]
		],
		"老疙瘩": [
			["lǎo"],
			["gē"],
			["dā"]
		],
		"老糊涂": [
			["lǎo"],
			["hú"],
			["tú"]
		],
		"老虎屁股摸不得": [
			["lǎo"],
			["hǔ"],
			["pì"],
			["gǔ"],
			["mō"],
			["bù"],
			["dé"]
		],
		"老虎头上扑苍蝇": [
			["lǎo"],
			["hǔ"],
			["tóu"],
			["shàng"],
			["pū"],
			["cāng"],
			["yíng"]
		],
		"老虎头上搔痒": [
			["lǎo"],
			["hǔ"],
			["tóu"],
			["shàng"],
			["sāo"],
			["yǎng"]
		],
		"老来少": [
			["lǎo"],
			["lái"],
			["shào"]
		],
		"老来俏": [
			["lǎo"],
			["lái"],
			["qiào"]
		],
		"老莱娱亲": [
			["lǎo"],
			["lái"],
			["yú"],
			["qīn"]
		],
		"老泪纵横": [
			["lǎo"],
			["lèi"],
			["zòng"],
			["héng"]
		],
		"老马识途": [
			["lǎo"],
			["mǎ"],
			["shí"],
			["tú"]
		],
		"老牛破车": [
			["lǎo"],
			["niú"],
			["pò"],
			["chē"]
		],
		"老婆当军": [
			["lǎo"],
			["pó"],
			["dāng"],
			["jūn"]
		],
		"老气横秋": [
			["lǎo"],
			["qì"],
			["héng"],
			["qiū"]
		],
		"老人家": [
			["lǎo"],
			["rén"],
			["jiā"]
		],
		"老师宿儒": [
			["lǎo"],
			["shī"],
			["xiǔ"],
			["rú"]
		],
		"老鼠过街": [
			["lǎo"],
			["shǔ"],
			["guò"],
			["jiē"]
		],
		"老死不相往来": [
			["lǎo"],
			["sǐ"],
			["bù"],
			["xiāng"],
			["wǎng"],
			["lái"]
		],
		"老天拔地": [
			["lǎo"],
			["tiān"],
			["bá"],
			["dì"]
		],
		"老头儿": [
			["lǎo"],
			["tou"],
			["er"]
		],
		"老头子": [
			["lǎo"],
			["tóu"],
			["zi"]
		],
		"老朽无能": [
			["lǎo"],
			["xiǔ"],
			["wú"],
			["néng"]
		],
		"老相识": [
			["lǎo"],
			["xiāng"],
			["shí"]
		],
		"老油条": [
			["lǎo"],
			["yóu"],
			["tiáo"]
		],
		"老有所终": [
			["lǎo"],
			["yǒu"],
			["suǒ"],
			["zhōng"]
		],
		"老妪能解": [
			["lǎo"],
			["yù"],
			["néng"],
			["jiě"]
		],
		"老之将至": [
			["lǎo"],
			["zhī"],
			["jiāng"],
			["zhì"]
		],
		"老着脸皮": [
			["lǎo"],
			["zhe"],
			["liǎn"],
			["pí"]
		],
		"潦原浸天": [
			["lǎo"],
			["yuán"],
			["jìn"],
			["tiān"]
		],
		"乐不极盘": [
			["lè"],
			["bù"],
			["jí"],
			["pán"]
		],
		"乐不可极": [
			["lè"],
			["bù"],
			["kě"],
			["jí"]
		],
		"乐不可言": [
			["lè"],
			["bù"],
			["kě"],
			["yán"]
		],
		"乐不可支": [
			["lè"],
			["bù"],
			["kě"],
			["zhī"]
		],
		"乐昌分镜": [
			["lè"],
			["chāng"],
			["fēn"],
			["jìng"]
		],
		"乐不思蜀": [
			["lè"],
			["bù"],
			["sī"],
			["shǔ"]
		],
		"乐昌破镜": [
			["lè"],
			["chāng"],
			["pò"],
			["jìng"]
		],
		"乐昌之镜": [
			["lè"],
			["chāng"],
			["zhī"],
			["jìng"]
		],
		"乐成人美": [
			["lè"],
			["chéng"],
			["rén"],
			["měi"]
		],
		"乐此不倦": [
			["lè"],
			["cǐ"],
			["bù"],
			["juàn"]
		],
		"乐此不疲": [
			["lè"],
			["cǐ"],
			["bù"],
			["pí"]
		],
		"乐道安命": [
			["lè"],
			["dào"],
			["ān"],
			["mìng"]
		],
		"乐道好古": [
			["lè"],
			["dào"],
			["hǎo"],
			["gǔ"]
		],
		"乐道安贫": [
			["lè"],
			["dào"],
			["ān"],
			["pín"]
		],
		"乐道忘饥": [
			["lè"],
			["dào"],
			["wàng"],
			["jī"]
		],
		"乐道遗荣": [
			["lè"],
			["dào"],
			["yí"],
			["róng"]
		],
		"乐而不荒": [
			["lè"],
			["ér"],
			["bù"],
			["huāng"]
		],
		"乐颠颠": [
			["lè"],
			["diān"],
			["diān"]
		],
		"乐而不厌": [
			["lè"],
			["ér"],
			["bù"],
			["yàn"]
		],
		"乐而不淫": [
			["lè"],
			["ér"],
			["bù"],
			["yín"]
		],
		"乐而忘返": [
			["lè"],
			["ér"],
			["wàng"],
			["fǎn"]
		],
		"乐而忘死": [
			["lè"],
			["ér"],
			["wàng"],
			["sǐ"]
		],
		"乐府诗": [
			["yuè"],
			["fǔ"],
			["shī"]
		],
		"乐观主义": [
			["lè"],
			["guān"],
			["zhǔ"],
			["yì"]
		],
		"乐呵呵": [
			["lè"],
			["hē"],
			["hē"]
		],
		"乐祸幸灾": [
			["lè"],
			["huò"],
			["xìng"],
			["zāi"]
		],
		"乐极哀来": [
			["lè"],
			["jí"],
			["āi"],
			["lái"]
		],
		"乐极悲来": [
			["lè"],
			["jí"],
			["bēi"],
			["lái"]
		],
		"乐极悲生": [
			["lè"],
			["jí"],
			["bēi"],
			["shēng"]
		],
		"乐极生哀": [
			["lè"],
			["jí"],
			["shēng"],
			["āi"]
		],
		"乐极生悲": [
			["lè"],
			["jí"],
			["shēng"],
			["bēi"]
		],
		"乐极则悲": [
			["lè"],
			["jí"],
			["zé"],
			["bēi"]
		],
		"乐极则忧": [
			["lè"],
			["jí"],
			["zé"],
			["yōu"]
		],
		"乐嗟苦咄": [
			["lè"],
			["jiē"],
			["kǔ"],
			["duō"]
		],
		"乐尽哀生": [
			["lè"],
			["jìn"],
			["āi"],
			["shēng"]
		],
		"乐尽悲来": [
			["lè"],
			["jìn"],
			["bēi"],
			["lái"]
		],
		"乐融融": [
			["lè"],
			["róng"],
			["róng"]
		],
		"乐山乐水": [
			["yào"],
			["shān"],
			["yào"],
			["shuǐ"]
		],
		"乐山爱水": [
			["lè"],
			["shān"],
			["ài"],
			["shuǐ"]
		],
		"乐善不倦": [
			["lè"],
			["shàn"],
			["bù"],
			["juàn"]
		],
		"乐善好施": [
			["lè"],
			["shàn"],
			["hào"],
			["shī"]
		],
		"乐善好义": [
			["lè"],
			["shàn"],
			["hǎo"],
			["yì"]
		],
		"乐天安命": [
			["lè"],
			["tiān"],
			["ān"],
			["mìng"]
		],
		"乐陶陶": [
			["lè"],
			["táo"],
			["táo"]
		],
		"乐事劝功": [
			["lè"],
			["shì"],
			["quàn"],
			["gōng"]
		],
		"乐天派": [
			["lè"],
			["tiān"],
			["pài"]
		],
		"乐天任命": [
			["lè"],
			["tiān"],
			["rèn"],
			["mìng"]
		],
		"乐天知命": [
			["lè"],
			["tiān"],
			["zhī"],
			["mìng"]
		],
		"乐退安贫": [
			["lè"],
			["tuì"],
			["ān"],
			["pín"]
		],
		"乐往哀来": [
			["lè"],
			["wǎng"],
			["āi"],
			["lái"]
		],
		"乐新厌旧": [
			["lè"],
			["xīn"],
			["yàn"],
			["jiù"]
		],
		"乐行忧违": [
			["lè"],
			["xíng"],
			["yōu"],
			["wéi"]
		],
		"乐业安居": [
			["lè"],
			["yè"],
			["ān"],
			["jū"]
		],
		"乐以忘忧": [
			["lè"],
			["yǐ"],
			["wàng"],
			["yōu"]
		],
		"乐悠悠": [
			["lè"],
			["yōu"],
			["yōu"]
		],
		"乐在其中": [
			["lè"],
			["zài"],
			["qí"],
			["zhōng"]
		],
		"乐滋滋": [
			["lè"],
			["zī"],
			["zī"]
		],
		"雷奔云谲": [
			["léi"],
			["bēn"],
			["yún"],
			["jué"]
		],
		"雷打不动": [
			["léi"],
			["dǎ"],
			["bù"],
			["dòng"]
		],
		"雷动风行": [
			["léi"],
			["dòng"],
			["fēng"],
			["xíng"]
		],
		"雷厉风飞": [
			["léi"],
			["lì"],
			["fēng"],
			["fēi"]
		],
		"雷厉风行": [
			["léi"],
			["lì"],
			["fēng"],
			["xíng"]
		],
		"雷令风行": [
			["léi"],
			["lìng"],
			["fēng"],
			["xíng"]
		],
		"雷鸣瓦釜": [
			["léi"],
			["míng"],
			["wǎ"],
			["fǔ"]
		],
		"雷霆万钧": [
			["léi"],
			["tíng"],
			["wàn"],
			["jūn"]
		],
		"雷阵雨": [
			["léi"],
			["zhèn"],
			["yǔ"]
		],
		"雷雨云": [
			["léi"],
			["yǔ"],
			["yún"]
		],
		"镭射气": [
			["léi"],
			["shè"],
			["qì"]
		],
		"傫如丧狗": [
			["lěi"],
			["rú"],
			["sàng"],
			["gǒu"]
		],
		"磊瑰不羁": [
			["lěi"],
			["guī"],
			["bù"],
			["jī"]
		],
		"磊浪不羁": [
			["lěi"],
			["làng"],
			["bù"],
			["jī"]
		],
		"磊磊落落": [
			["lěi"],
			["lěi"],
			["luò"],
			["luò"]
		],
		"磊落不凡": [
			["lěi"],
			["luò"],
			["bù"],
			["fán"]
		],
		"磊落不羁": [
			["lěi"],
			["luò"],
			["bù"],
			["jī"]
		],
		"磊落豪横": [
			["lěi"],
			["luò"],
			["háo"],
			["héng"]
		],
		"磊落光明": [
			["lěi"],
			["luò"],
			["guāng"],
			["míng"]
		],
		"磊落飒爽": [
			["lěi"],
			["luò"],
			["sà"],
			["shuǎng"]
		],
		"磊落轶荡": [
			["lěi"],
			["luò"],
			["yì"],
			["dàng"]
		],
		"泪干肠断": [
			["lèi"],
			["gān"],
			["cháng"],
			["duàn"]
		],
		"泪如泉涌": [
			["lèi"],
			["rú"],
			["quán"],
			["yǒng"]
		],
		"泪如雨下": [
			["lèi"],
			["rú"],
			["yǔ"],
			["xià"]
		],
		"类毒素": [
			["lèi"],
			["dú"],
			["sù"]
		],
		"类聚群分": [
			["lèi"],
			["jù"],
			["qún"],
			["fēn"]
		],
		"累牍连篇": [
			["lěi"],
			["dú"],
			["lián"],
			["piān"]
		],
		"累及无辜": [
			["lěi"],
			["jí"],
			["wú"],
			["gū"]
		],
		"累教不改": [
			["lěi"],
			["jiào"],
			["bù"],
			["gǎi"]
		],
		"累块积苏": [
			["lěi"],
			["kuài"],
			["jī"],
			["sū"]
		],
		"累累如珠": [
			["lěi"],
			["lěi"],
			["rú"],
			["zhū"]
		],
		"累卵之危": [
			["lěi"],
			["luǎn"],
			["zhī"],
			["wēi"]
		],
		"累苏积块": [
			["lěi"],
			["sū"],
			["jī"],
			["kuài"]
		],
		"累土聚沙": [
			["lěi"],
			["tǔ"],
			["jù"],
			["shā"]
		],
		"累土至山": [
			["lěi"],
			["tǔ"],
			["zhì"],
			["shān"]
		],
		"累瓦结绳": [
			["lěi"],
			["wǎ"],
			["jié"],
			["shéng"]
		],
		"累屋重架": [
			["lěi"],
			["wū"],
			["chóng"],
			["jià"]
		],
		"累月经年": [
			["lěi"],
			["yuè"],
			["jīng"],
			["nián"]
		],
		"累足成步": [
			["lěi"],
			["zú"],
			["chéng"],
			["bù"]
		],
		"擂鼓鸣金": [
			["léi"],
			["gǔ"],
			["míng"],
			["jīn"]
		],
		"擂鼓筛锣": [
			["léi"],
			["gǔ"],
			["shāi"],
			["luó"]
		],
		"擂天倒地": [
			["léi"],
			["tiān"],
			["dǎo"],
			["dì"]
		],
		"楞眉横眼": [
			["lèng"],
			["méi"],
			["héng"],
			["yǎn"]
		],
		"楞头呆脑": [
			["léng"],
			["tóu"],
			["dāi"],
			["nǎo"]
		],
		"楞头磕脑": [
			["léng"],
			["tóu"],
			["kē"],
			["nǎo"]
		],
		"楞头楞脑": [
			["léng"],
			["tóu"],
			["léng"],
			["nǎo"]
		],
		"冷不丁": [
			["lěng"],
			["bù"],
			["dīng"]
		],
		"冷不防": [
			["lěng"],
			["bù"],
			["fáng"]
		],
		"冷藏库": [
			["lěng"],
			["cáng"],
			["kù"]
		],
		"冷嘲热讽": [
			["lěng"],
			["cháo"],
			["rè"],
			["fěng"]
		],
		"冷嘲热骂": [
			["lěng"],
			["cháo"],
			["rè"],
			["mà"]
		],
		"冷处理": [
			["lěng"],
			["chǔ"],
			["lǐ"]
		],
		"冷暖自知": [
			["lěng"],
			["nuǎn"],
			["zì"],
			["zhī"]
		],
		"冷水浇背": [
			["lěng"],
			["shuǐ"],
			["jiāo"],
			["bèi"]
		],
		"冷若冰霜": [
			["lěng"],
			["ruò"],
			["bīng"],
			["shuāng"]
		],
		"冷水浇头": [
			["lěng"],
			["shuǐ"],
			["jiāo"],
			["tóu"]
		],
		"冷血动物": [
			["lěng"],
			["xuè"],
			["dòng"],
			["wù"]
		],
		"冷言冷语": [
			["lěng"],
			["yán"],
			["lěng"],
			["yǔ"]
		],
		"冷言热语": [
			["lěng"],
			["yán"],
			["rè"],
			["yǔ"]
		],
		"冷眼静看": [
			["lěng"],
			["yǎn"],
			["jìng"],
			["kàn"]
		],
		"冷眼旁观": [
			["lěng"],
			["yǎn"],
			["páng"],
			["guān"]
		],
		"冷眼相待": [
			["lěng"],
			["yǎn"],
			["xiāng"],
			["dài"]
		],
		"冷语冰人": [
			["lěng"],
			["yǔ"],
			["bīng"],
			["rén"]
		],
		"愣头愣脑": [
			["lèng"],
			["tóu"],
			["lèng"],
			["nǎo"]
		],
		"梨花带雨": [
			["lí"],
			["huā"],
			["dài"],
			["yǔ"]
		],
		"梨眉艾发": [
			["lí"],
			["méi"],
			["ài"],
			["fā"]
		],
		"梨园弟子": [
			["lí"],
			["yuán"],
			["dì"],
			["zǐ"]
		],
		"梨园子弟": [
			["lí"],
			["yuán"],
			["zǐ"],
			["dì"]
		],
		"离本徼末": [
			["lí"],
			["běn"],
			["yāo"],
			["mò"]
		],
		"离不开": [
			["lí"],
			["bù"],
			["kāi"]
		],
		"离本趣末": [
			["lí"],
			["běn"],
			["qū"],
			["mò"]
		],
		"离合器": [
			["lí"],
			["hé"],
			["qì"]
		],
		"离合悲欢": [
			["lí"],
			["hé"],
			["bēi"],
			["huān"]
		],
		"离魂倩女": [
			["lí"],
			["hún"],
			["qiàn"],
			["nǚ"]
		],
		"离鸾别凤": [
			["lí"],
			["luán"],
			["bié"],
			["fèng"]
		],
		"离鸾别鹄": [
			["lí"],
			["luán"],
			["bié"],
			["hú"]
		],
		"离鸾别鹤": [
			["lí"],
			["luán"],
			["bié"],
			["hè"]
		],
		"离奇古怪": [
			["lí"],
			["qí"],
			["gǔ"],
			["guài"]
		],
		"离情别绪": [
			["lí"],
			["qíng"],
			["bié"],
			["xù"]
		],
		"离山调虎": [
			["lí"],
			["shān"],
			["diào"],
			["hǔ"]
		],
		"离世遁上": [
			["lí"],
			["shì"],
			["dùn"],
			["shàng"]
		],
		"离题万里": [
			["lí"],
			["tí"],
			["wàn"],
			["lǐ"]
		],
		"离析分崩": [
			["lí"],
			["xī"],
			["fēn"],
			["bēng"]
		],
		"离乡背井": [
			["lí"],
			["xiāng"],
			["bèi"],
			["jǐng"]
		],
		"离析涣奔": [
			["lí"],
			["xī"],
			["huàn"],
			["bēn"]
		],
		"离乡背土": [
			["lí"],
			["xiāng"],
			["bèi"],
			["tǔ"]
		],
		"离乡别土": [
			["lí"],
			["xiāng"],
			["bié"],
			["tǔ"]
		],
		"离乡别井": [
			["lí"],
			["xiāng"],
			["bié"],
			["jǐng"]
		],
		"犁牛骍角": [
			["lí"],
			["niú"],
			["mài"],
			["jiǎo"]
		],
		"犁生骍角": [
			["lí"],
			["shēng"],
			["yuè"],
			["jiǎo"]
		],
		"犁庭扫穴": [
			["lí"],
			["tíng"],
			["sǎo"],
			["xué"]
		],
		"犁庭扫闾": [
			["lí"],
			["tíng"],
			["sǎo"],
			["lǚ"]
		],
		"嫠不恤纬": [
			["lí"],
			["bù"],
			["xù"],
			["wěi"]
		],
		"篱牢犬不入": [
			["lí"],
			["láo"],
			["quǎn"],
			["bù"],
			["rù"]
		],
		"礼崩乐坏": [
			["lǐ"],
			["bēng"],
			["yuè"],
			["huài"]
		],
		"礼多人不怪": [
			["lǐ"],
			["duō"],
			["rén"],
			["bù"],
			["guài"]
		],
		"礼坏乐崩": [
			["lǐ"],
			["huài"],
			["yuè"],
			["bēng"]
		],
		"礼让为国": [
			["lǐ"],
			["ràng"],
			["wéi"],
			["guó"]
		],
		"礼奢宁俭": [
			["lǐ"],
			["shē"],
			["níng"],
			["jiǎn"]
		],
		"礼为情貌": [
			["lǐ"],
			["wéi"],
			["qíng"],
			["mào"]
		],
		"礼无不答": [
			["lǐ"],
			["wú"],
			["bù"],
			["dá"]
		],
		"李白桃红": [
			["lǐ"],
			["bái"],
			["táo"],
			["hóng"]
		],
		"李卜克内西": [
			["lǐ"],
			["bǔ"],
			["kè"],
			["nèi"],
			["xī"]
		],
		"李广不侯": [
			["lǐ"],
			["guǎng"],
			["bù"],
			["hòu"]
		],
		"李广难封": [
			["lǐ"],
			["guǎng"],
			["nán"],
			["fēng"]
		],
		"李广未封": [
			["lǐ"],
			["guǎng"],
			["wèi"],
			["fēng"]
		],
		"李郭同船": [
			["lǐ"],
			["guō"],
			["tóng"],
			["chuán"]
		],
		"李郭同舟": [
			["lǐ"],
			["guō"],
			["tóng"],
			["zhōu"]
		],
		"里勾外连": [
			["lǐ"],
			["gōu"],
			["wài"],
			["lián"]
		],
		"里谈巷议": [
			["lǐ"],
			["tán"],
			["xiàng"],
			["yì"]
		],
		"里外夹攻": [
			["lǐ"],
			["wài"],
			["jiā"],
			["gōng"]
		],
		"里应外合": [
			["lǐ"],
			["yìng"],
			["wài"],
			["hé"]
		],
		"哩哩啦啦": [
			["li"],
			["li"],
			["lā"],
			["lā"]
		],
		"哩哩罗罗": [
			["li"],
			["li"],
			["luō"],
			["luō"]
		],
		"理不胜辞": [
			["lǐ"],
			["bù"],
			["shèng"],
			["cí"]
		],
		"理不忘乱": [
			["lǐ"],
			["bù"],
			["wàng"],
			["luàn"]
		],
		"理所当然": [
			["lǐ"],
			["suǒ"],
			["dāng"],
			["rán"]
		],
		"理所不容": [
			["lǐ"],
			["suǒ"],
			["bù"],
			["róng"]
		],
		"理之当然": [
			["lǐ"],
			["zhī"],
			["dāng"],
			["rán"]
		],
		"理正词直": [
			["lǐ"],
			["zhèng"],
			["cí"],
			["zhí"]
		],
		"鲤鱼跳龙门": [
			["lǐ"],
			["yú"],
			["tiào"],
			["lóng"],
			["mén"]
		],
		"醴酒不设": [
			["lǐ"],
			["jiǔ"],
			["bù"],
			["shè"]
		],
		"力不从心": [
			["lì"],
			["bù"],
			["cóng"],
			["xīn"]
		],
		"力不能及": [
			["lì"],
			["bù"],
			["néng"],
			["jí"]
		],
		"力不能支": [
			["lì"],
			["bù"],
			["néng"],
			["zhī"]
		],
		"力不胜任": [
			["lì"],
			["bù"],
			["shèng"],
			["rèn"]
		],
		"力大无比": [
			["lì"],
			["dà"],
			["wú"],
			["bǐ"]
		],
		"力不自胜": [
			["lì"],
			["bù"],
			["zì"],
			["shèng"]
		],
		"力尽筋疲": [
			["lì"],
			["jìn"],
			["jīn"],
			["pí"]
		],
		"力可拔山": [
			["lì"],
			["kě"],
			["bá"],
			["shān"]
		],
		"力能扛鼎": [
			["lì"],
			["néng"],
			["gāng"],
			["dǐng"]
		],
		"力排众议": [
			["lì"],
			["pái"],
			["zhòng"],
			["yì"]
		],
		"力所不及": [
			["lì"],
			["suǒ"],
			["bù"],
			["jí"]
		],
		"力所能及": [
			["lì"],
			["suǒ"],
			["néng"],
			["jí"]
		],
		"力透纸背": [
			["lì"],
			["tòu"],
			["zhǐ"],
			["bèi"]
		],
		"力学不倦": [
			["lì"],
			["xué"],
			["bù"],
			["juàn"]
		],
		"力小任重": [
			["lì"],
			["xiǎo"],
			["rèn"],
			["zhòng"]
		],
		"力学笃行": [
			["lì"],
			["xué"],
			["dǔ"],
			["xíng"]
		],
		"力有未逮": [
			["lì"],
			["yǒu"],
			["wèi"],
			["dǎi"]
		],
		"力争上游": [
			["lì"],
			["zhēng"],
			["shàng"],
			["yóu"]
		],
		"历精更始": [
			["lì"],
			["jīng"],
			["gèng"],
			["shǐ"]
		],
		"历精为治": [
			["lì"],
			["jīng"],
			["wéi"],
			["zhì"]
		],
		"历久弥坚": [
			["lì"],
			["jiǔ"],
			["mí"],
			["jiān"]
		],
		"历历可辨": [
			["lì"],
			["lì"],
			["kě"],
			["biàn"]
		],
		"历历可见": [
			["lì"],
			["lì"],
			["kě"],
			["jiàn"]
		],
		"历历可考": [
			["lì"],
			["lì"],
			["kě"],
			["kǎo"]
		],
		"历历可数": [
			["lì"],
			["lì"],
			["kě"],
			["shǔ"]
		],
		"历历落落": [
			["lì"],
			["lì"],
			["luò"],
			["luò"]
		],
		"历史小说": [
			["lì"],
			["shǐ"],
			["xiǎo"],
			["shuō"]
		],
		"历世摩钝": [
			["lì"],
			["shì"],
			["mó"],
			["dùn"]
		],
		"历世磨钝": [
			["lì"],
			["shì"],
			["mó"],
			["dùn"]
		],
		"厉精更始": [
			["lì"],
			["jīng"],
			["gēng"],
			["shǐ"]
		],
		"厉世摩钝": [
			["lì"],
			["shì"],
			["mó"],
			["dùn"]
		],
		"厉行节约": [
			["lì"],
			["xíng"],
			["jié"],
			["yuē"]
		],
		"立地成佛": [
			["lì"],
			["dì"],
			["chéng"],
			["fó"]
		],
		"立地书橱": [
			["lì"],
			["dì"],
			["shū"],
			["chú"]
		],
		"立地书厨": [
			["lì"],
			["dì"],
			["shū"],
			["chú"]
		],
		"立方体": [
			["lì"],
			["fāng"],
			["tǐ"]
		],
		"立竿见影": [
			["lì"],
			["gān"],
			["jiàn"],
			["yǐng"]
		],
		"立马万言": [
			["lì"],
			["mǎ"],
			["wàn"],
			["yán"]
		],
		"立木南门": [
			["lì"],
			["mù"],
			["nán"],
			["mén"]
		],
		"立身处世": [
			["lì"],
			["shēn"],
			["chǔ"],
			["shì"]
		],
		"立身行己": [
			["lì"],
			["shēn"],
			["xíng"],
			["jǐ"]
		],
		"立谈之间": [
			["lì"],
			["tán"],
			["zhī"],
			["jiān"]
		],
		"立体几何": [
			["lì"],
			["tǐ"],
			["jǐ"],
			["hé"]
		],
		"立体交叉": [
			["lì"],
			["tǐ"],
			["jiāo"],
			["chā"]
		],
		"立体声": [
			["lì"],
			["tǐ"],
			["shēng"]
		],
		"立于不败之地": [
			["lì"],
			["yú"],
			["bù"],
			["bài"],
			["zhī"],
			["dì"]
		],
		"立锥之地": [
			["lì"],
			["zhuī"],
			["zhī"],
			["dì"]
		],
		"立足之地": [
			["lì"],
			["zú"],
			["zhī"],
			["dì"]
		],
		"丽句清辞": [
			["lì"],
			["jù"],
			["qīng"],
			["cí"]
		],
		"丽句清词": [
			["lì"],
			["jù"],
			["qīng"],
			["cí"]
		],
		"丽藻春葩": [
			["lì"],
			["zǎo"],
			["chūn"],
			["pā"]
		],
		"利齿能牙": [
			["lì"],
			["chǐ"],
			["néng"],
			["yá"]
		],
		"利不亏义": [
			["lì"],
			["bù"],
			["kuī"],
			["yì"]
		],
		"利害得失": [
			["lì"],
			["hài"],
			["dé"],
			["shī"]
		],
		"利害相关": [
			["lì"],
			["hài"],
			["xiāng"],
			["guān"]
		],
		"利令智昏": [
			["lì"],
			["lìng"],
			["zhì"],
			["hūn"]
		],
		"利令志惛": [
			["lì"],
			["lìng"],
			["zhì"],
			["zào"]
		],
		"利息率": [
			["lì"],
			["xī"],
			["lǜ"]
		],
		"利欲熏心": [
			["lì"],
			["yù"],
			["xūn"],
			["xīn"]
		],
		"利灾乐祸": [
			["lì"],
			["zāi"],
			["lè"],
			["huò"]
		],
		"励精更始": [
			["lì"],
			["jīng"],
			["gēng"],
			["shǐ"]
		],
		"沥胆隳肝": [
			["lì"],
			["dǎn"],
			["huī"],
			["gān"]
		],
		"沥胆堕肝": [
			["lì"],
			["dǎn"],
			["duò"],
			["gān"]
		],
		"沥胆濯肝": [
			["lì"],
			["dǎn"],
			["zhuó"],
			["gān"]
		],
		"沥血披肝": [
			["lì"],
			["xuè"],
			["pī"],
			["gān"]
		],
		"沥血叩心": [
			["lì"],
			["xuè"],
			["kòu"],
			["xīn"]
		],
		"例行差事": [
			["lì"],
			["xíng"],
			["chāi"],
			["shì"]
		],
		"沥血披心": [
			["lì"],
			["xuè"],
			["pī"],
			["xīn"]
		],
		"例直禁简": [
			["lì"],
			["zhí"],
			["jìn"],
			["jiǎn"]
		],
		"例行公事": [
			["lì"],
			["xíng"],
			["gōng"],
			["shì"]
		],
		"栎阳雨金": [
			["lì"],
			["yáng"],
			["yǔ"],
			["jīn"]
		],
		"轹釜待炊": [
			["lì"],
			["fǔ"],
			["dài"],
			["chuī"]
		],
		"砺世磨钝": [
			["lì"],
			["shì"],
			["mó"],
			["dùn"]
		],
		"砺世摩钝": [
			["lì"],
			["shì"],
			["mó"],
			["dùn"]
		],
		"粝食粗衣": [
			["lì"],
			["shí"],
			["cū"],
			["yī"]
		],
		"连镳并驾": [
			["lián"],
			["biāo"],
			["bìng"],
			["jià"]
		],
		"詈夷为跖": [
			["lì"],
			["yí"],
			["wéi"],
			["zhí"]
		],
		"连编累牍": [
			["lián"],
			["biān"],
			["lěi"],
			["dú"]
		],
		"连车平斗": [
			["lián"],
			["chē"],
			["píng"],
			["dǒu"]
		],
		"连镳并轸": [
			["lián"],
			["biāo"],
			["bìng"],
			["zhěn"]
		],
		"连二并三": [
			["lián"],
			["èr"],
			["bìng"],
			["sān"]
		],
		"连根带梢": [
			["lián"],
			["gēn"],
			["dài"],
			["shāo"]
		],
		"连更彻夜": [
			["lián"],
			["gèng"],
			["chè"],
			["yè"]
		],
		"连更晓夜": [
			["lián"],
			["gèng"],
			["xiǎo"],
			["yè"]
		],
		"连阶累任": [
			["lián"],
			["jiē"],
			["lèi"],
			["rèn"]
		],
		"连更星夜": [
			["lián"],
			["gèng"],
			["xīng"],
			["yè"]
		],
		"连街倒巷": [
			["lián"],
			["jiē"],
			["dǎo"],
			["xiàng"]
		],
		"连理分枝": [
			["lián"],
			["lǐ"],
			["fēn"],
			["zhī"]
		],
		"连绵不断": [
			["lián"],
			["mián"],
			["bù"],
			["duàn"]
		],
		"连理枝": [
			["lián"],
			["lǐ"],
			["zhī"]
		],
		"连绵不绝": [
			["lián"],
			["mián"],
			["bù"],
			["jué"]
		],
		"连篇絫牍": [
			["lián"],
			["piān"],
			["lèi"],
			["dú"]
		],
		"连篇絫幅": [
			["lián"],
			["piān"],
			["lèi"],
			["fú"]
		],
		"连篇累册": [
			["lián"],
			["piān"],
			["lèi"],
			["cè"]
		],
		"连篇累牍": [
			["lián"],
			["piān"],
			["lěi"],
			["dú"]
		],
		"连篇累幅": [
			["lián"],
			["piān"],
			["lèi"],
			["fú"]
		],
		"连篇累帧": [
			["lián"],
			["piān"],
			["lèi"],
			["zhēn"]
		],
		"连篇累帙": [
			["lián"],
			["piān"],
			["lèi"],
			["zhì"]
		],
		"连阡累陌": [
			["lián"],
			["qiān"],
			["lèi"],
			["mò"]
		],
		"连三并四": [
			["lián"],
			["sān"],
			["bìng"],
			["sì"]
		],
		"连山排海": [
			["lián"],
			["shān"],
			["pái"],
			["hǎi"]
		],
		"连锁反应": [
			["lián"],
			["suǒ"],
			["fǎn"],
			["yìng"]
		],
		"连汤带水": [
			["lián"],
			["tāng"],
			["dài"],
			["shuǐ"]
		],
		"连天匝地": [
			["lián"],
			["tiān"],
			["zā"],
			["dì"]
		],
		"连舆并席": [
			["lián"],
			["yú"],
			["bìng"],
			["xí"]
		],
		"连章累牍": [
			["lián"],
			["zhāng"],
			["lèi"],
			["dú"]
		],
		"连枝并头": [
			["lián"],
			["zhī"],
			["bìng"],
			["tóu"]
		],
		"连枝比翼": [
			["lián"],
			["zhī"],
			["bǐ"],
			["yì"]
		],
		"连枝带叶": [
			["lián"],
			["zhī"],
			["dài"],
			["yè"]
		],
		"连枝分叶": [
			["lián"],
			["zhī"],
			["fēn"],
			["yè"]
		],
		"连枝共冢": [
			["lián"],
			["zhī"],
			["gòng"],
			["zhǒng"]
		],
		"连枝同气": [
			["lián"],
			["zhī"],
			["tóng"],
			["qì"]
		],
		"连帙累牍": [
			["lián"],
			["zhì"],
			["lèi"],
			["dú"]
		],
		"连中三元": [
			["lián"],
			["zhòng"],
			["sān"],
			["yuán"]
		],
		"连州比县": [
			["lián"],
			["zhōu"],
			["bǐ"],
			["xiàn"]
		],
		"连珠合璧": [
			["lián"],
			["zhū"],
			["hé"],
			["bì"]
		],
		"莲花落": [
			["lián"],
			["huā"],
			["lào"]
		],
		"联合国": [
			["lián"],
			["hé"],
			["guó"]
		],
		"联合机": [
			["lián"],
			["hé"],
			["jī"]
		],
		"联合收割机": [
			["lián"],
			["hé"],
			["shōu"],
			["gē"],
			["jī"]
		],
		"联合战线": [
			["lián"],
			["hé"],
			["zhàn"],
			["xiàn"]
		],
		"联合政府": [
			["lián"],
			["hé"],
			["zhèng"],
			["fǔ"]
		],
		"联篇累牍": [
			["lián"],
			["piān"],
			["lěi"],
			["dú"]
		],
		"联席会议": [
			["lián"],
			["xí"],
			["huì"],
			["yì"]
		],
		"廉而不刿": [
			["lián"],
			["ér"],
			["bù"],
			["guì"]
		],
		"廉可寄财": [
			["lián"],
			["kě"],
			["jì"],
			["cái"]
		],
		"廉远堂高": [
			["lián"],
			["yuǎn"],
			["táng"],
			["gāo"]
		],
		"廉明公正": [
			["lián"],
			["míng"],
			["gōng"],
			["zhèng"]
		],
		"敛骨吹魂": [
			["liǎn"],
			["gǔ"],
			["chuí"],
			["hún"]
		],
		"敛容屏气": [
			["liǎn"],
			["róng"],
			["bǐng"],
			["qì"]
		],
		"敛色屏气": [
			["liǎn"],
			["sè"],
			["bǐng"],
			["qì"]
		],
		"敛声屏气": [
			["liǎn"],
			["shēng"],
			["bǐng"],
			["qì"]
		],
		"敛声屏息": [
			["liǎn"],
			["shēng"],
			["píng"],
			["xī"]
		],
		"敛手待毙": [
			["liǎn"],
			["shǒu"],
			["dài"],
			["bì"]
		],
		"敛手屏足": [
			["liǎn"],
			["shǒu"],
			["píng"],
			["zú"]
		],
		"脸红耳赤": [
			["liǎn"],
			["hóng"],
			["ěr"],
			["chì"]
		],
		"脸红耳热": [
			["liǎn"],
			["hóng"],
			["ěr"],
			["rè"]
		],
		"脸红筋暴": [
			["liǎn"],
			["hóng"],
			["jīn"],
			["bào"]
		],
		"脸红筋涨": [
			["liǎn"],
			["hóng"],
			["jīn"],
			["zhǎng"]
		],
		"练习曲": [
			["liàn"],
			["xí"],
			["qǔ"]
		],
		"炼金术": [
			["liàn"],
			["jīn"],
			["shù"]
		],
		"炼石补天": [
			["liàn"],
			["shí"],
			["bǔ"],
			["tiān"]
		],
		"炼油厂": [
			["liàn"],
			["yóu"],
			["chǎng"]
		],
		"恋恋难舍": [
			["liàn"],
			["liàn"],
			["nán"],
			["shě"]
		],
		"恋恋不舍": [
			["liàn"],
			["liàn"],
			["bù"],
			["shě"]
		],
		"恋栈不去": [
			["liàn"],
			["zhàn"],
			["bù"],
			["qù"]
		],
		"链球菌": [
			["liàn"],
			["qiú"],
			["jūn"]
		],
		"链式反应": [
			["liàn"],
			["shì"],
			["fǎn"],
			["yìng"]
		],
		"良辰美景": [
			["liáng"],
			["chén"],
			["měi"],
			["jǐng"]
		],
		"良辰媚景": [
			["liáng"],
			["chén"],
			["mèi"],
			["jǐng"]
		],
		"良贾深藏": [
			["liáng"],
			["jiǎ"],
			["shēn"],
			["cáng"]
		],
		"良禽择木": [
			["liáng"],
			["qín"],
			["zé"],
			["mù"]
		],
		"良时美景": [
			["liáng"],
			["shí"],
			["měi"],
			["jǐng"]
		],
		"良宵好景": [
			["liáng"],
			["xiāo"],
			["hǎo"],
			["jǐng"]
		],
		"良宵美景": [
			["liáng"],
			["xiāo"],
			["měi"],
			["jǐng"]
		],
		"良心发现": [
			["liáng"],
			["xīn"],
			["fā"],
			["xiàn"]
		],
		"良莠不分": [
			["liáng"],
			["yǒu"],
			["bù"],
			["fēn"]
		],
		"良莠不齐": [
			["liáng"],
			["yǒu"],
			["bù"],
			["qí"]
		],
		"良莠不一": [
			["liáng"],
			["yǒu"],
			["bù"],
			["yī"]
		],
		"良知良能": [
			["liáng"],
			["zhī"],
			["liáng"],
			["néng"]
		],
		"凉白开": [
			["liáng"],
			["bái"],
			["kāi"]
		],
		"凉冰冰": [
			["liáng"],
			["bīng"],
			["bīng"]
		],
		"凉了半截": [
			["liáng"],
			["le"],
			["bàn"],
			["jié"]
		],
		"凉丝丝": [
			["liáng"],
			["sī"],
			["sī"]
		],
		"凉飕飕": [
			["liáng"],
			["sōu"],
			["sōu"]
		],
		"梁孟相敬": [
			["liáng"],
			["mèng"],
			["xiāng"],
			["jìn"]
		],
		"梁上君子": [
			["liáng"],
			["shàng"],
			["jūn"],
			["zǐ"]
		],
		"粮多草广": [
			["liáng"],
			["duō"],
			["cǎo"],
			["guǎng"]
		],
		"粮尽援绝": [
			["liáng"],
			["jìn"],
			["yuán"],
			["jué"]
		],
		"粮食作物": [
			["liáng"],
			["shí"],
			["zuò"],
			["wù"]
		],
		"踉踉跄跄": [
			["liàng"],
			["liàng"],
			["qiàng"],
			["qiàng"]
		],
		"两边倒": [
			["liǎng"],
			["biān"],
			["dǎo"]
		],
		"两次三番": [
			["liǎng"],
			["cì"],
			["sān"],
			["fān"]
		],
		"两点论": [
			["liǎng"],
			["diǎn"],
			["lùn"]
		],
		"两豆塞耳": [
			["liǎng"],
			["dòu"],
			["sāi"],
			["ěr"]
		],
		"两分法": [
			["liǎng"],
			["fēn"],
			["fǎ"]
		],
		"两耳塞豆": [
			["liǎng"],
			["ěr"],
			["sāi"],
			["dòu"]
		],
		"两瞽相扶": [
			["liǎng"],
			["gǔ"],
			["xiāng"],
			["fú"]
		],
		"两虎相斗": [
			["liǎng"],
			["hǔ"],
			["xiāng"],
			["dòu"]
		],
		"两极分化": [
			["liǎng"],
			["jí"],
			["fēn"],
			["huà"]
		],
		"两脚居间": [
			["liǎng"],
			["jiǎo"],
			["jū"],
			["jiān"]
		],
		"两肋插刀": [
			["liǎng"],
			["lèi"],
			["chā"],
			["dāo"]
		],
		"两栖动物": [
			["liǎng"],
			["qī"],
			["dòng"],
			["wù"]
		],
		"两栖类": [
			["liǎng"],
			["qī"],
			["lèi"]
		],
		"两全其美": [
			["liǎng"],
			["quán"],
			["qí"],
			["měi"]
		],
		"两世为人": [
			["liǎng"],
			["shì"],
			["wéi"],
			["rén"]
		],
		"两手空空": [
			["liǎng"],
			["shǒu"],
			["kōng"],
			["kōng"]
		],
		"两鼠斗穴": [
			["liǎng"],
			["shǔ"],
			["dòu"],
			["xué"]
		],
		"两头白面": [
			["liǎng"],
			["tóu"],
			["bái"],
			["miàn"]
		],
		"两头和番": [
			["liǎng"],
			["tóu"],
			["hé"],
			["fān"]
		],
		"两头三面": [
			["liǎng"],
			["tóu"],
			["sān"],
			["miàn"]
		],
		"两头三绪": [
			["liǎng"],
			["tóu"],
			["sān"],
			["xù"]
		],
		"两头蛇": [
			["liǎng"],
			["tóu"],
			["shé"]
		],
		"两相情原": [
			["liǎng"],
			["xiāng"],
			["qíng"],
			["yuán"]
		],
		"两相情愿": [
			["liǎng"],
			["xiāng"],
			["qíng"],
			["yuàn"]
		],
		"两性生殖": [
			["liǎng"],
			["xìng"],
			["shēng"],
			["zhí"]
		],
		"两雄不并立": [
			["liǎng"],
			["xióng"],
			["bù"],
			["bìng"],
			["lì"]
		],
		"两袖清风": [
			["liǎng"],
			["xiù"],
			["qīng"],
			["fēng"]
		],
		"两叶掩目": [
			["liǎng"],
			["yè"],
			["yǎn"],
			["mù"]
		],
		"量才而为": [
			["liàng"],
			["cái"],
			["ér"],
			["wéi"]
		],
		"量才录用": [
			["liàng"],
			["cái"],
			["lù"],
			["yòng"]
		],
		"量才器使": [
			["liàng"],
			["cái"],
			["qì"],
			["shǐ"]
		],
		"量材录用": [
			["liàng"],
			["cái"],
			["lù"],
			["yòng"]
		],
		"量己审分": [
			["liàng"],
			["jǐ"],
			["shěn"],
			["fēn"]
		],
		"量角器": [
			["liáng"],
			["jiǎo"],
			["qì"]
		],
		"量金买赋": [
			["liàng"],
			["jīn"],
			["mǎi"],
			["fù"]
		],
		"量力度德": [
			["liàng"],
			["lì"],
			["duó"],
			["dé"]
		],
		"量力而为": [
			["liàng"],
			["lì"],
			["ér"],
			["wéi"]
		],
		"量力而行": [
			["liàng"],
			["lì"],
			["ér"],
			["xíng"]
		],
		"量能授官": [
			["liàng"],
			["néng"],
			["shòu"],
			["guān"]
		],
		"量如江海": [
			["liàng"],
			["rú"],
			["jiāng"],
			["hǎi"]
		],
		"量入为出": [
			["liàng"],
			["rù"],
			["wéi"],
			["chū"]
		],
		"量入计出": [
			["liàng"],
			["rù"],
			["jì"],
			["chū"]
		],
		"量枘制凿": [
			["liàng"],
			["ruì"],
			["zhì"],
			["záo"]
		],
		"量时度力": [
			["liàng"],
			["shí"],
			["dù"],
			["lì"]
		],
		"量体裁衣": [
			["liàng"],
			["tǐ"],
			["cái"],
			["yī"]
		],
		"量体温": [
			["liáng"],
			["tǐ"],
			["wēn"]
		],
		"量小力微": [
			["liàng"],
			["xiǎo"],
			["lì"],
			["wēi"]
		],
		"量凿正枘": [
			["liàng"],
			["záo"],
			["zhèng"],
			["ruì"]
		],
		"量子力学": [
			["liàng"],
			["zǐ"],
			["lì"],
			["xué"]
		],
		"聊以解嘲": [
			["liáo"],
			["yǐ"],
			["jiě"],
			["cháo"]
		],
		"聊以塞责": [
			["liáo"],
			["yǐ"],
			["sè"],
			["zé"]
		],
		"聊以卒岁": [
			["liáo"],
			["yǐ"],
			["zú"],
			["suì"]
		],
		"寥寥可数": [
			["liáo"],
			["liáo"],
			["kě"],
			["shǔ"]
		],
		"寥寥数语": [
			["liáo"],
			["liáo"],
			["shù"],
			["yǔ"]
		],
		"寥寥无几": [
			["liáo"],
			["liáo"],
			["wú"],
			["jǐ"]
		],
		"寥若晨星": [
			["liáo"],
			["ruò"],
			["chén"],
			["xīng"]
		],
		"撩蜂吃螫": [
			["liáo"],
			["fēng"],
			["chī"],
			["shì"]
		],
		"撩蜂剔蝎": [
			["liáo"],
			["fēng"],
			["tì"],
			["xiē"]
		],
		"撩火加油": [
			["liáo"],
			["huǒ"],
			["jiā"],
			["yóu"]
		],
		"撩云拨雨": [
			["liáo"],
			["yún"],
			["bō"],
			["yǔ"]
		],
		"燎发摧枯": [
			["liǎo"],
			["fà"],
			["cuī"],
			["kū"]
		],
		"燎如观火": [
			["liǎo"],
			["rú"],
			["guān"],
			["huǒ"]
		],
		"燎若观火": [
			["liáo"],
			["ruò"],
			["guān"],
			["huǒ"]
		],
		"燎原烈火": [
			["liáo"],
			["yuán"],
			["liè"],
			["huǒ"]
		],
		"蓼虫忘辛": [
			["liǎo"],
			["chóng"],
			["wàng"],
			["xīn"]
		],
		"了不长进": [
			["liǎo"],
			["bù"],
			["zhǎng"],
			["jǐn"]
		],
		"了不得": [
			["liǎo"],
			["bù"],
			["dé"]
		],
		"了不可见": [
			["liǎo"],
			["bù"],
			["kě"],
			["jiàn"]
		],
		"了不起": [
			["liǎo"],
			["bù"],
			["qǐ"]
		],
		"了了可见": [
			["liǎo"],
			["liǎo"],
			["kě"],
			["jiàn"]
		],
		"了然无闻": [
			["le"],
			["rán"],
			["wú"],
			["wén"]
		],
		"了然于胸": [
			["liǎo"],
			["rán"],
			["yú"],
			["xiōng"]
		],
		"了如指掌": [
			["liǎo"],
			["rú"],
			["zhǐ"],
			["zhǎng"]
		],
		"了身达命": [
			["liǎo"],
			["shēn"],
			["dá"],
			["mìng"]
		],
		"了若指掌": [
			["liǎo"],
			["ruò"],
			["zhǐ"],
			["zhǎng"]
		],
		"了身脱命": [
			["le"],
			["shēn"],
			["tuō"],
			["mìng"]
		],
		"了望台": [
			["liào"],
			["wàng"],
			["tái"]
		],
		"尥蹶子": [
			["liào"],
			["jué"],
			["zǐ"]
		],
		"了无惧色": [
			["liǎo"],
			["wū"],
			["jǔ"],
			["sè"]
		],
		"料敌若神": [
			["liào"],
			["dí"],
			["ruò"],
			["shén"]
		],
		"撂挑子": [
			["liào"],
			["tiāo"],
			["zi"]
		],
		"瞭望哨": [
			["liào"],
			["wàng"],
			["shào"]
		],
		"列车长": [
			["liè"],
			["chē"],
			["zhǎng"]
		],
		"列车员": [
			["liè"],
			["chē"],
			["yuán"]
		],
		"列鼎而食": [
			["liè"],
			["dǐng"],
			["ér"],
			["shí"]
		],
		"列风淫雨": [
			["liè"],
			["fēng"],
			["yín"],
			["yǔ"]
		],
		"列功覆过": [
			["liè"],
			["gōng"],
			["fù"],
			["guò"]
		],
		"列土分茅": [
			["liè"],
			["tǔ"],
			["fēn"],
			["máo"]
		],
		"列宁主义": [
			["liè"],
			["níng"],
			["zhǔ"],
			["yì"]
		],
		"列土封疆": [
			["liè"],
			["tǔ"],
			["fēng"],
			["jiāng"]
		],
		"劣迹昭著": [
			["liè"],
			["jì"],
			["zhāo"],
			["zhù"]
		],
		"劣迹昭着": [
			["liè"],
			["jì"],
			["zhāo"],
			["zhe"]
		],
		"埒才角妙": [
			["liè"],
			["cái"],
			["jué"],
			["miào"]
		],
		"埒材角妙": [
			["liè"],
			["cái"],
			["jiǎo"],
			["miào"]
		],
		"烈火干柴": [
			["liè"],
			["huǒ"],
			["gān"],
			["chái"]
		],
		"烈火见真金": [
			["liè"],
			["huǒ"],
			["jiàn"],
			["zhēn"],
			["jīn"]
		],
		"裂冠毁冕": [
			["liè"],
			["guàn"],
			["huǐ"],
			["miǎn"]
		],
		"裂裳裹足": [
			["liè"],
			["cháng"],
			["guǒ"],
			["zú"]
		],
		"裂裳衣疮": [
			["liè"],
			["sháng"],
			["yī"],
			["chuāng"]
		],
		"裂石穿云": [
			["liè"],
			["shí"],
			["chuān"],
			["yún"]
		],
		"裂土分茅": [
			["liè"],
			["tǔ"],
			["fēn"],
			["máo"]
		],
		"裂眦嚼齿": [
			["liè"],
			["zì"],
			["jiáo"],
			["chǐ"]
		],
		"邻女窥墙": [
			["lín"],
			["nǚ"],
			["kuī"],
			["qiáng"]
		],
		"邻女詈人": [
			["lín"],
			["nǚ"],
			["lì"],
			["rén"]
		],
		"林栖谷隐": [
			["lín"],
			["qī"],
			["gǔ"],
			["yǐn"]
		],
		"林务员": [
			["lín"],
			["wù"],
			["yuán"]
		],
		"林下风度": [
			["lín"],
			["xià"],
			["fēng"],
			["dù"]
		],
		"林下风范": [
			["lín"],
			["xià"],
			["fēng"],
			["fàn"]
		],
		"林下风气": [
			["lín"],
			["xià"],
			["fēng"],
			["qì"]
		],
		"林下风韵": [
			["lín"],
			["xià"],
			["fēng"],
			["yùn"]
		],
		"林下风致": [
			["lín"],
			["xià"],
			["fēng"],
			["zhì"]
		],
		"林下高风": [
			["lín"],
			["xià"],
			["gāo"],
			["fēng"]
		],
		"林下清风": [
			["lín"],
			["xià"],
			["qīng"],
			["fēng"]
		],
		"林荫道": [
			["lín"],
			["yīn"],
			["dào"]
		],
		"临别赠言": [
			["lín"],
			["bié"],
			["zèng"],
			["yán"]
		],
		"临别赠语": [
			["lín"],
			["bié"],
			["zèng"],
			["yǔ"]
		],
		"临财不苟": [
			["lín"],
			["cái"],
			["bù"],
			["gǒu"]
		],
		"临敌易将": [
			["lín"],
			["dí"],
			["yì"],
			["jiàng"]
		],
		"临风对月": [
			["lín"],
			["fēng"],
			["duì"],
			["yuè"]
		],
		"临机应变": [
			["lín"],
			["jī"],
			["yìng"],
			["biàn"]
		],
		"临界角": [
			["lín"],
			["jiè"],
			["jiǎo"]
		],
		"临难不避": [
			["lín"],
			["nán"],
			["bù"],
			["bì"]
		],
		"临难不惧": [
			["lín"],
			["nàn"],
			["bù"],
			["jǔ"]
		],
		"临难不恐": [
			["lín"],
			["nàn"],
			["bù"],
			["kǒng"]
		],
		"临难苟免": [
			["lín"],
			["nàn"],
			["gǒu"],
			["miǎn"]
		],
		"临难无慑": [
			["lín"],
			["nán"],
			["wú"],
			["shè"]
		],
		"临难铸兵": [
			["lín"],
			["nàn"],
			["zhù"],
			["bīng"]
		],
		"临深履薄": [
			["lín"],
			["shēn"],
			["lǚ"],
			["bó"]
		],
		"临时抱佛脚": [
			["lín"],
			["shí"],
			["bào"],
			["fó"],
			["jiǎo"]
		],
		"临潼斗宝": [
			["lín"],
			["tóng"],
			["dòu"],
			["bǎo"]
		],
		"临危不顾": [
			["lín"],
			["wēi"],
			["bù"],
			["gù"]
		],
		"临危不惧": [
			["lín"],
			["wēi"],
			["bù"],
			["jù"]
		],
		"临文不讳": [
			["lín"],
			["wén"],
			["bù"],
			["huì"]
		],
		"临危不挠": [
			["lín"],
			["wēi"],
			["bù"],
			["náo"]
		],
		"临崖勒马": [
			["lín"],
			["yá"],
			["lè"],
			["mǎ"]
		],
		"临阵磨刀": [
			["lín"],
			["zhèn"],
			["mó"],
			["dāo"]
		],
		"临阵磨枪": [
			["lín"],
			["zhèn"],
			["mó"],
			["qiāng"]
		],
		"淋漓尽致": [
			["lín"],
			["lí"],
			["jìn"],
			["zhì"]
		],
		"鳞集仰流": [
			["lín"],
			["jí"],
			["yǎng"],
			["liú"]
		],
		"鳞次相比": [
			["lín"],
			["cì"],
			["xiāng"],
			["bǐ"]
		],
		"麟角凤毛": [
			["lín"],
			["jiǎo"],
			["fèng"],
			["máo"]
		],
		"麟角凤距": [
			["lín"],
			["jiǎo"],
			["fèng"],
			["jù"]
		],
		"麟凤龟龙": [
			["lín"],
			["fèng"],
			["guī"],
			["lóng"]
		],
		"麟角凤觜": [
			["lín"],
			["jiǎo"],
			["fèng"],
			["zuǐ"]
		],
		"麟角凤嘴": [
			["lín"],
			["jiǎo"],
			["fèng"],
			["zuǐ"]
		],
		"麟角虎翅": [
			["lín"],
			["jiǎo"],
			["hǔ"],
			["chì"]
		],
		"凛若冰霜": [
			["lǐn"],
			["ruò"],
			["bīng"],
			["shuāng"]
		],
		"凛若秋霜": [
			["lǐn"],
			["ruò"],
			["qiū"],
			["shuāng"]
		],
		"赁耳佣目": [
			["lìn"],
			["ěr"],
			["yōng"],
			["mù"]
		],
		"灵长目": [
			["líng"],
			["zhǎng"],
			["mù"]
		],
		"灵敏度": [
			["líng"],
			["mǐn"],
			["dù"]
		],
		"灵蛇之珠": [
			["líng"],
			["shé"],
			["zhī"],
			["zhū"]
		],
		"凌弱暴寡": [
			["líng"],
			["ruò"],
			["bào"],
			["guǎ"]
		],
		"凌上虐下": [
			["líng"],
			["shàng"],
			["nüè"],
			["xià"]
		],
		"陵劲淬砺": [
			["líng"],
			["jìng"],
			["cuì"],
			["lì"]
		],
		"陵弱暴寡": [
			["líng"],
			["ruò"],
			["bào"],
			["guǎ"]
		],
		"羚羊挂角": [
			["líng"],
			["yáng"],
			["guà"],
			["jiǎo"]
		],
		"菱角磨作鸡头": [
			["líng"],
			["jiǎo"],
			["mó"],
			["zuò"],
			["jī"],
			["tóu"]
		],
		"零打碎敲": [
			["líng"],
			["dǎ"],
			["suì"],
			["qiāo"]
		],
		"零丁孤苦": [
			["líng"],
			["dīng"],
			["gū"],
			["kǔ"]
		],
		"零光片羽": [
			["líng"],
			["guāng"],
			["piàn"],
			["yǔ"]
		],
		"零零散散": [
			["líng"],
			["líng"],
			["sǎn"],
			["sǎn"]
		],
		"零敲碎打": [
			["líng"],
			["qiāo"],
			["suì"],
			["dǎ"]
		],
		"令不虚行": [
			["lìng"],
			["bù"],
			["xū"],
			["xíng"]
		],
		"令箭荷花": [
			["lìng"],
			["jiàn"],
			["hé"],
			["huā"]
		],
		"令人齿冷": [
			["lìng"],
			["rén"],
			["chǐ"],
			["lěng"]
		],
		"令人发指": [
			["lìng"],
			["rén"],
			["fà"],
			["zhǐ"]
		],
		"令人莫测": [
			["lìng"],
			["rén"],
			["mò"],
			["cè"]
		],
		"令人喷饭": [
			["lìng"],
			["rén"],
			["pēn"],
			["fàn"]
		],
		"令人捧腹": [
			["lìng"],
			["rén"],
			["pěng"],
			["fǔ"]
		],
		"令人起敬": [
			["lìng"],
			["rén"],
			["qǐ"],
			["jìng"]
		],
		"令人切齿": [
			["lìng"],
			["rén"],
			["qiè"],
			["chǐ"]
		],
		"令人神往": [
			["lìng"],
			["rén"],
			["shén"],
			["wǎng"]
		],
		"令人瞩目": [
			["lìng"],
			["rén"],
			["zhǔ"],
			["mù"]
		],
		"令人注目": [
			["lìng"],
			["rén"],
			["zhù"],
			["mù"]
		],
		"令人作呕": [
			["lìng"],
			["rén"],
			["zuò"],
			["ǒu"]
		],
		"令行禁止": [
			["lìng"],
			["xíng"],
			["jìn"],
			["zhǐ"]
		],
		"令行如流": [
			["lìng"],
			["xíng"],
			["rú"],
			["liú"]
		],
		"令原之戚": [
			["líng"],
			["yuán"],
			["zhī"],
			["qī"]
		],
		"另辟蹊径": [
			["lìng"],
			["pì"],
			["xī"],
			["jìng"]
		],
		"另眼看待": [
			["lìng"],
			["yǎn"],
			["kàn"],
			["dài"]
		],
		"另眼看戏": [
			["lìng"],
			["yǎn"],
			["kàn"],
			["xì"]
		],
		"另眼相待": [
			["lìng"],
			["yǎn"],
			["xiāng"],
			["dài"]
		],
		"另眼相看": [
			["lìng"],
			["yǎn"],
			["xiāng"],
			["kàn"]
		],
		"另有洞天": [
			["lìng"],
			["yǒu"],
			["dòng"],
			["tiān"]
		],
		"溜冰场": [
			["liū"],
			["bīng"],
			["chǎng"]
		],
		"溜肩膀": [
			["liū"],
			["jiān"],
			["bǎng"]
		],
		"溜须拍马": [
			["liū"],
			["xū"],
			["pāi"],
			["mǎ"]
		],
		"溜之大吉": [
			["liū"],
			["zhī"],
			["dà"],
			["jí"]
		],
		"溜之乎也": [
			["liū"],
			["zhī"],
			["hū"],
			["yě"]
		],
		"刘郎前度": [
			["liú"],
			["láng"],
			["qián"],
			["dù"]
		],
		"刘毅答诏": [
			["liú"],
			["yì"],
			["dá"],
			["zhào"]
		],
		"流风回雪": [
			["liú"],
			["fēng"],
			["huí"],
			["xuě"]
		],
		"流风遗迹": [
			["liú"],
			["fēng"],
			["yí"],
			["jì"]
		],
		"流风余俗": [
			["liú"],
			["fēng"],
			["yú"],
			["sú"]
		],
		"流风余韵": [
			["liú"],
			["fēng"],
			["yú"],
			["yùn"]
		],
		"流汗浃背": [
			["liú"],
			["hàn"],
			["jiā"],
			["bèi"]
		],
		"流金铄石": [
			["liú"],
			["jīn"],
			["shuò"],
			["shí"]
		],
		"流离颠疐": [
			["liú"],
			["lí"],
			["diān"],
			["shǔ"]
		],
		"流离琐尾": [
			["liú"],
			["lí"],
			["suǒ"],
			["wěi"]
		],
		"流离转徙": [
			["liú"],
			["lí"],
			["zhuǎn"],
			["xǐ"]
		],
		"流落风尘": [
			["liú"],
			["luò"],
			["fēng"],
			["chén"]
		],
		"流落江湖": [
			["liú"],
			["luò"],
			["jiāng"],
			["hú"]
		],
		"流落失所": [
			["liú"],
			["luò"],
			["shī"],
			["suǒ"]
		],
		"流落他乡": [
			["liú"],
			["luò"],
			["tā"],
			["xiāng"]
		],
		"流落天涯": [
			["liú"],
			["luò"],
			["tiān"],
			["yá"]
		],
		"流氓无产者": [
			["liú"],
			["máng"],
			["wú"],
			["chǎn"],
			["zhě"]
		],
		"流溺忘反": [
			["liú"],
			["nì"],
			["wàng"],
			["fǎn"]
		],
		"流年不利": [
			["liú"],
			["nián"],
			["bù"],
			["lì"]
		],
		"流年似水": [
			["liú"],
			["nián"],
			["sì"],
			["shuǐ"]
		],
		"流水朝宗": [
			["liú"],
			["shuǐ"],
			["cháo"],
			["zōng"]
		],
		"流水落花": [
			["liú"],
			["shuǐ"],
			["luò"],
			["huā"]
		],
		"流水行云": [
			["liú"],
			["shuǐ"],
			["xíng"],
			["yún"]
		],
		"流天澈地": [
			["liú"],
			["tiān"],
			["chè"],
			["dì"]
		],
		"流通券": [
			["liú"],
			["tōng"],
			["quàn"]
		],
		"流星雨": [
			["liú"],
			["xīng"],
			["yǔ"]
		],
		"流行病": [
			["liú"],
			["xíng"],
			["bìng"]
		],
		"流行坎止": [
			["liú"],
			["xíng"],
			["kǎn"],
			["zhǐ"]
		],
		"流行歌曲": [
			["liú"],
			["xíng"],
			["gē"],
			["qǔ"]
		],
		"流行性感冒": [
			["liú"],
			["xíng"],
			["xìng"],
			["gǎn"],
			["mào"]
		],
		"流行音乐": [
			["liú"],
			["xíng"],
			["yīn"],
			["yuè"]
		],
		"流血漂卤": [
			["liú"],
			["xuè"],
			["piāo"],
			["lǔ"]
		],
		"流血千里": [
			["liú"],
			["xuè"],
			["qiān"],
			["lǐ"]
		],
		"流言飞语": [
			["liú"],
			["yán"],
			["fēi"],
			["yǔ"]
		],
		"流言蜚语": [
			["liú"],
			["yán"],
			["fēi"],
			["yǔ"]
		],
		"流言风语": [
			["liú"],
			["yán"],
			["fēng"],
			["yǔ"]
		],
		"流言混话": [
			["liú"],
			["yán"],
			["hùn"],
			["huà"]
		],
		"流质食物": [
			["liú"],
			["zhì"],
			["shí"],
			["wù"]
		],
		"留连不舍": [
			["liú"],
			["lián"],
			["bù"],
			["shě"]
		],
		"留恋不舍": [
			["liú"],
			["liàn"],
			["bù"],
			["shě"]
		],
		"留取丹心照汗青": [
			["liú"],
			["qǔ"],
			["dān"],
			["xīn"],
			["zhào"],
			["hàn"],
			["qīng"]
		],
		"留尾巴": [
			["liú"],
			["wěi"],
			["bā"]
		],
		"留有余地": [
			["liú"],
			["yǒu"],
			["yú"],
			["dì"]
		],
		"留余地": [
			["liú"],
			["yú"],
			["dì"]
		],
		"硫化物": [
			["liú"],
			["huà"],
			["wù"]
		],
		"榴弹炮": [
			["liú"],
			["dàn"],
			["pào"]
		],
		"榴霰弹": [
			["liú"],
			["xiàn"],
			["dàn"]
		],
		"柳骨颜筋": [
			["jiǔ"],
			["gǔ"],
			["yán"],
			["jīn"]
		],
		"柳街花巷": [
			["liǔ"],
			["jiē"],
			["huā"],
			["xiòng"]
		],
		"柳绿花红": [
			["liǔ"],
			["lǜ"],
			["huā"],
			["hóng"]
		],
		"柳绿桃红": [
			["liǔ"],
			["lǜ"],
			["táo"],
			["hóng"]
		],
		"柳眉倒竖": [
			["liǔ"],
			["méi"],
			["dào"],
			["shù"]
		],
		"柳门竹巷": [
			["liǔ"],
			["mén"],
			["zhú"],
			["xiàng"]
		],
		"柳条帽": [
			["liǔ"],
			["tiáo"],
			["mào"]
		],
		"柳巷花街": [
			["liǔ"],
			["xiòng"],
			["huā"],
			["jiē"]
		],
		"柳叶眉": [
			["liǔ"],
			["yè"],
			["méi"]
		],
		"柳莺花燕": [
			["liǔ"],
			["yīng"],
			["huā"],
			["yàn"]
		],
		"柳折花残": [
			["liǔ"],
			["zhé"],
			["huā"],
			["cán"]
		],
		"柳子戏": [
			["liǔ"],
			["zǐ"],
			["xì"]
		],
		"六臂三头": [
			["liù"],
			["bì"],
			["sān"],
			["tóu"]
		],
		"六边形": [
			["liù"],
			["biān"],
			["xíng"]
		],
		"六朝金粉": [
			["liù"],
			["cháo"],
			["jīn"],
			["fěn"]
		],
		"六尘不染": [
			["liù"],
			["chén"],
			["bù"],
			["rǎn"]
		],
		"六尺之孤": [
			["liù"],
			["chǐ"],
			["zhī"],
			["gū"]
		],
		"六尺之讬": [
			["liù"],
			["chǐ"],
			["zhī"],
			["quàn"]
		],
		"六出纷飞": [
			["liù"],
			["chū"],
			["fēn"],
			["fēi"]
		],
		"六出奇计": [
			["liù"],
			["chū"],
			["qí"],
			["jì"]
		],
		"六道轮回": [
			["liù"],
			["dào"],
			["lún"],
			["huí"]
		],
		"六耳不同谋": [
			["liù"],
			["ěr"],
			["bù"],
			["tóng"],
			["móu"]
		],
		"六根清静": [
			["liù"],
			["gēn"],
			["qīng"],
			["jìng"]
		],
		"六根清净": [
			["liù"],
			["gēn"],
			["qīng"],
			["jìng"]
		],
		"六合之内": [
			["liù"],
			["hé"],
			["zhī"],
			["nèi"]
		],
		"六街三陌": [
			["liù"],
			["jiē"],
			["sān"],
			["mò"]
		],
		"六街三市": [
			["liù"],
			["jiē"],
			["sān"],
			["shì"]
		],
		"六六六": [
			["liù"],
			["liù"],
			["liù"]
		],
		"六马仰秣": [
			["liù"],
			["mǎ"],
			["yǎng"],
			["mò"]
		],
		"六盘山": [
			["liù"],
			["pán"],
			["shān"]
		],
		"六亲不认": [
			["liù"],
			["qīn"],
			["bù"],
			["rèn"]
		],
		"六亲无靠": [
			["liù"],
			["qīn"],
			["wú"],
			["kào"]
		],
		"六趣轮回": [
			["liù"],
			["qù"],
			["lún"],
			["huí"]
		],
		"六神不安": [
			["liù"],
			["shén"],
			["bǔ"],
			["ān"]
		],
		"六神无主": [
			["liù"],
			["shén"],
			["wú"],
			["zhǔ"]
		],
		"六十花甲子": [
			["liù"],
			["shí"],
			["huā"],
			["jiá"],
			["zǐ"]
		],
		"六韬三略": [
			["liù"],
			["tāo"],
			["sān"],
			["lüè"]
		],
		"六通四辟": [
			["liù"],
			["tōng"],
			["sì"],
			["pì"]
		],
		"六通四达": [
			["liù"],
			["tōng"],
			["sì"],
			["dá"]
		],
		"六问三推": [
			["liù"],
			["wèn"],
			["sān"],
			["tuī"]
		],
		"六弦琴": [
			["liù"],
			["xián"],
			["qín"]
		],
		"六畜不安": [
			["liù"],
			["chù"],
			["bù"],
			["ān"]
		],
		"六畜兴旺": [
			["liù"],
			["chù"],
			["xīng"],
			["wàng"]
		],
		"六一儿童节": [
			["liù"],
			["yī"],
			["ér"],
			["tóng"],
			["jié"]
		],
		"六一国际儿童节": [
			["liù"],
			["yī"],
			["guó"],
			["jì"],
			["ér"],
			["tóng"],
			["jié"]
		],
		"六月飞霜": [
			["liù"],
			["yuè"],
			["fēi"],
			["shuāng"]
		],
		"六月雪": [
			["liù"],
			["yuè"],
			["xuě"]
		],
		"六指儿": [
			["liù"],
			["zhǐ"],
			["ér"]
		],
		"龙雏凤种": [
			["lóng"],
			["chú"],
			["fèng"],
			["zhǒng"]
		],
		"龙雕凤咀": [
			["lóng"],
			["diāo"],
			["fèng"],
			["jǔ"]
		],
		"龙断可登": [
			["lóng"],
			["duàn"],
			["kě"],
			["dēng"]
		],
		"龙鬼蛇神": [
			["lóng"],
			["guǐ"],
			["shé"],
			["shén"]
		],
		"龙飞虎跳": [
			["lóng"],
			["fēi"],
			["hǔ"],
			["tiào"]
		],
		"龙虎榜": [
			["lóng"],
			["hǔ"],
			["bǎng"]
		],
		"龙虎斗": [
			["lóng"],
			["hǔ"],
			["dòu"]
		],
		"龙虎风云": [
			["lóng"],
			["hǔ"],
			["fēng"],
			["yún"]
		],
		"龙化虎变": [
			["lóng"],
			["huà"],
			["hǔ"],
			["biàn"]
		],
		"龙荒蛮甸": [
			["lóng"],
			["huāng"],
			["mán"],
			["diàn"]
		],
		"龙举云属": [
			["lóng"],
			["jǔ"],
			["yún"],
			["shǔ"]
		],
		"龙举云兴": [
			["lóng"],
			["jǔ"],
			["yún"],
			["xīng"]
		],
		"龙卷风": [
			["lóng"],
			["juǎn"],
			["fēng"]
		],
		"龙口夺食": [
			["lóng"],
			["kǒu"],
			["duó"],
			["shí"]
		],
		"龙楼凤阙": [
			["lóng"],
			["lóu"],
			["fèng"],
			["què"]
		],
		"龙眉豹颈": [
			["lóng"],
			["méi"],
			["bào"],
			["jǐng"]
		],
		"龙拏虎跳": [
			["lóng"],
			["ná"],
			["hǔ"],
			["tiào"]
		],
		"龙蟠虬结": [
			["lóng"],
			["pán"],
			["qiú"],
			["jié"]
		],
		"龙潜凤采": [
			["lóng"],
			["qián"],
			["fèng"],
			["cǎi"]
		],
		"龙屈蛇伸": [
			["lóng"],
			["qū"],
			["shé"],
			["shēn"]
		],
		"龙山文化": [
			["lóng"],
			["shān"],
			["wén"],
			["huà"]
		],
		"龙蛇飞动": [
			["lóng"],
			["shé"],
			["fēi"],
			["dòng"]
		],
		"龙蛇飞舞": [
			["lóng"],
			["shé"],
			["fēi"],
			["wǔ"]
		],
		"龙蛇混杂": [
			["lóng"],
			["shé"],
			["hùn"],
			["zá"]
		],
		"龙生九种": [
			["lóng"],
			["shēng"],
			["jiǔ"],
			["zhǒng"]
		],
		"龙跳虎伏": [
			["lóng"],
			["tiào"],
			["hǔ"],
			["fú"]
		],
		"龙跳虎卧": [
			["lóng"],
			["tiào"],
			["hǔ"],
			["wò"]
		],
		"龙头锯角": [
			["lóng"],
			["tóu"],
			["jù"],
			["jiǎo"]
		],
		"龙头蛇尾": [
			["lóng"],
			["tóu"],
			["shé"],
			["wěi"]
		],
		"龙王爷": [
			["lóng"],
			["wáng"],
			["yé"]
		],
		"龙威燕颔": [
			["lóng"],
			["wēi"],
			["yàn"],
			["hàn"]
		],
		"龙骧凤矫": [
			["lóng"],
			["xiāng"],
			["fèng"],
			["jiǎo"]
		],
		"龙兴凤举": [
			["lóng"],
			["xīng"],
			["fèng"],
			["jǔ"]
		],
		"龙行虎变": [
			["lóng"],
			["xíng"],
			["hǔ"],
			["biàn"]
		],
		"龙兴云属": [
			["lóng"],
			["xīng"],
			["yún"],
			["shǔ"]
		],
		"龙行虎步": [
			["lóng"],
			["xíng"],
			["hǔ"],
			["bù"]
		],
		"龙血凤髓": [
			["lóng"],
			["xuè"],
			["fèng"],
			["suǐ"]
		],
		"龙血玄黄": [
			["lóng"],
			["xuě"],
			["xuán"],
			["huáng"]
		],
		"龙游曲沼": [
			["long"],
			["you"],
			["qu"],
			["zhao"]
		],
		"龙言凤语": [
			["lóng"],
			["yán"],
			["fèng"],
			["yǔ"]
		],
		"龙驭上宾": [
			["lóng"],
			["yù"],
			["shàng"],
			["bīn"]
		],
		"龙御上宾": [
			["lóng"],
			["yù"],
			["shàng"],
			["bīn"]
		],
		"龙跃鸿矫": [
			["lóng"],
			["yuè"],
			["hóng"],
			["jiǎo"]
		],
		"龙章麟角": [
			["lóng"],
			["zhāng"],
			["lín"],
			["jiǎo"]
		],
		"龙章秀骨": [
			["lóng"],
			["zhāng"],
			["xiù"],
			["gǔ"]
		],
		"龙争虎斗": [
			["lóng"],
			["zhēng"],
			["hǔ"],
			["dòu"]
		],
		"龙爪槐": [
			["lóng"],
			["zhǎo"],
			["huái"]
		],
		"龙姿凤采": [
			["lóng"],
			["zī"],
			["fèng"],
			["cǎi"]
		],
		"笼络人心": [
			["lǒng"],
			["luò"],
			["rén"],
			["xīn"]
		],
		"笼鸟池鱼": [
			["lóng"],
			["niǎo"],
			["shi"],
			["yú"]
		],
		"笼鸟槛猿": [
			["lóng"],
			["niǎo"],
			["jiàn"],
			["yuán"]
		],
		"笼中之鸟": [
			["lóng"],
			["zhōng"],
			["zhī"],
			["niǎo"]
		],
		"陇头音信": [
			["lǒng"],
			["tóu"],
			["yīn"],
			["xìn"]
		],
		"楼阁台榭": [
			["lóu"],
			["gé"],
			["tái"],
			["xiè"]
		],
		"楼阁亭台": [
			["lóu"],
			["gé"],
			["tíng"],
			["tái"]
		],
		"楼台亭阁": [
			["lóu"],
			["tái"],
			["tíng"],
			["gé"]
		],
		"楼梯间": [
			["lóu"],
			["tī"],
			["jiān"]
		],
		"陋巷箪瓢": [
			["lòu"],
			["xiàng"],
			["dān"],
			["piáo"]
		],
		"漏尽更阑": [
			["lòu"],
			["jìn"],
			["gēng"],
			["lán"]
		],
		"漏尽钟鸣": [
			["lòu"],
			["jìn"],
			["zhōng"],
			["míng"]
		],
		"漏尽锺鸣": [
			["lòu"],
			["jìn"],
			["zhōng"],
			["míng"]
		],
		"漏泄春光": [
			["lòu"],
			["xiè"],
			["chūn"],
			["guāng"]
		],
		"漏泄天机": [
			["lòu"],
			["xiè"],
			["tiān"],
			["jī"]
		],
		"镂骨铭肌": [
			["lòu"],
			["gǔ"],
			["míng"],
			["jī"]
		],
		"漏卮难满": [
			["lòu"],
			["zhī"],
			["nán"],
			["mǎn"]
		],
		"镂骨铭心": [
			["lòu"],
			["gǔ"],
			["míng"],
			["xīn"]
		],
		"镂金错采": [
			["lòu"],
			["jīn"],
			["cuò"],
			["cǎi"]
		],
		"镂心刻骨": [
			["lòu"],
			["xīn"],
			["kè"],
			["gǔ"]
		],
		"镂心呕血": [
			["lòu"],
			["xīn"],
			["ǒu"],
			["xuè"]
		],
		"镂金铺翠": [
			["lòu"],
			["jīn"],
			["pù"],
			["cuì"]
		],
		"露才扬己": [
			["lù"],
			["cái"],
			["yáng"],
			["jǐ"]
		],
		"露餐风宿": [
			["lù"],
			["cān"],
			["fēng"],
			["sù"]
		],
		"露钞雪纂": [
			["lù"],
			["chāo"],
			["xuě"],
			["zuǎn"]
		],
		"露胆披诚": [
			["lù"],
			["dǎn"],
			["pī"],
			["chéng"]
		],
		"露胆披肝": [
			["lù"],
			["dǎn"],
			["pī"],
			["gān"]
		],
		"露红烟绿": [
			["lù"],
			["hóng"],
			["yān"],
			["lǜ"]
		],
		"露红烟紫": [
			["lù"],
			["hóng"],
			["yān"],
			["zǐ"]
		],
		"露己扬才": [
			["lù"],
			["jǐ"],
			["yáng"],
			["cái"]
		],
		"露马脚": [
			["lòu"],
			["mǎ"],
			["jiǎo"]
		],
		"露面抛头": [
			["lù"],
			["miàn"],
			["pāo"],
			["tóu"]
		],
		"露水夫妻": [
			["lù"],
			["shuǐ"],
			["fū"],
			["qī"]
		],
		"露宿风餐": [
			["lù"],
			["sù"],
			["fēng"],
			["cān"]
		],
		"露天开采": [
			["lù"],
			["tiān"],
			["kāi"],
			["cǎi"]
		],
		"露天矿": [
			["lù"],
			["tiān"],
			["kuàng"]
		],
		"露头角": [
			["lù"],
			["tóu"],
			["jiǎo"]
		],
		"露往霜来": [
			["lù"],
			["wǎng"],
			["shuāng"],
			["lái"]
		],
		"露尾藏头": [
			["lù"],
			["wěi"],
			["cáng"],
			["tóu"]
		],
		"露馅儿": [
			["lòu"],
			["xiàn"],
			["ér"]
		],
		"露一手": [
			["lòu"],
			["yī"],
			["shǒu"]
		],
		"露影藏形": [
			["lù"],
			["yǐng"],
			["cáng"],
			["xíng"]
		],
		"露纂雪钞": [
			["lù"],
			["zuǎn"],
			["xuě"],
			["chāo"]
		],
		"炉甘石": [
			["lú"],
			["gān"],
			["shí"]
		],
		"卤莽灭裂": [
			["lǔ"],
			["mǎng"],
			["miè"],
			["liè"]
		],
		"鲁莽灭裂": [
			["lǔ"],
			["mǎng"],
			["miè"],
			["liè"]
		],
		"鲁斤燕削": [
			["lǔ"],
			["jīn"],
			["yàn"],
			["xuē"]
		],
		"鹿车共挽": [
			["lù"],
			["chē"],
			["gòng"],
			["wǎn"]
		],
		"鹿角霜": [
			["lù"],
			["jiǎo"],
			["shuāng"]
		],
		"鹿裘不完": [
			["lù"],
			["qiú"],
			["bù"],
			["wán"]
		],
		"鹿死不择荫": [
			["lù"],
			["sǐ"],
			["bù"],
			["zé"],
			["yīn"]
		],
		"鹿死不择音": [
			["lù"],
			["sǐ"],
			["bù"],
			["zé"],
			["yīn"]
		],
		"鹿驯豕暴": [
			["lù"],
			["xùn"],
			["shǐ"],
			["bào"]
		],
		"鹿走苏台": [
			["lù"],
			["zǒu"],
			["sū"],
			["tái"]
		],
		"碌碌寡合": [
			["lù"],
			["lù"],
			["guǎ"],
			["hé"]
		],
		"碌碌无能": [
			["lù"],
			["lù"],
			["wú"],
			["néng"]
		],
		"碌碌无奇": [
			["lù"],
			["lù"],
			["wú"],
			["qí"]
		],
		"碌碌无为": [
			["lù"],
			["lù"],
			["wú"],
			["wéi"]
		],
		"碌碌无闻": [
			["lù"],
			["lù"],
			["wú"],
			["wén"]
		],
		"路不拾遗": [
			["lù"],
			["bù"],
			["shí"],
			["yí"]
		],
		"路见不平": [
			["lù"],
			["jiàn"],
			["bù"],
			["píng"]
		],
		"路人皆知": [
			["lù"],
			["rén"],
			["jiē"],
			["zhī"]
		],
		"路无拾遗": [
			["lù"],
			["wú"],
			["shí"],
			["yí"]
		],
		"路远迢迢": [
			["lù"],
			["yuǎn"],
			["tiáo"],
			["tiáo"]
		],
		"戮力齐心": [
			["lù"],
			["lì"],
			["qí"],
			["xīn"]
		],
		"戮力同心": [
			["lù"],
			["lì"],
			["tóng"],
			["xīn"]
		],
		"鹭序鸳行": [
			["lù"],
			["xù"],
			["yuān"],
			["xíng"]
		],
		"鹭约鸥盟": [
			["lù"],
			["yuē"],
			["ōu"],
			["méng"]
		],
		"鹭序鹓行": [
			["lù"],
			["xù"],
			["yuān"],
			["xíng"]
		],
		"驴唇不对马嘴": [
			["lǘ"],
			["chún"],
			["bù"],
			["duì"],
			["mǎ"],
			["zuǐ"]
		],
		"驴唇马觜": [
			["lǘ"],
			["chún"],
			["mǎ"],
			["zī"]
		],
		"驴打滚": [
			["lǘ"],
			["dǎ"],
			["gǔn"]
		],
		"驴头不对马嘴": [
			["lǘ"],
			["tóu"],
			["bù"],
			["duì"],
			["mǎ"],
			["zuǐ"]
		],
		"闾阎扑地": [
			["lǘ"],
			["yán"],
			["pū"],
			["dì"]
		],
		"吕端大事不糊涂": [
			["lǚ"],
			["duān"],
			["dà"],
			["shì"],
			["bù"],
			["hú"],
			["tú"]
		],
		"旅差费": [
			["lǚ"],
			["chà"],
			["fèi"]
		],
		"旅行社": [
			["lǚ"],
			["xíng"],
			["shè"]
		],
		"旅游区": [
			["lǚ"],
			["yóu"],
			["qū"]
		],
		"屡次三番": [
			["lǚ"],
			["cì"],
			["sān"],
			["fān"]
		],
		"屡见不鲜": [
			["lǚ"],
			["jiàn"],
			["bù"],
			["xiān"]
		],
		"屡教不改": [
			["lǚ"],
			["jiàn"],
			["bù"],
			["gǎi"]
		],
		"屡试不爽": [
			["lǚ"],
			["shì"],
			["bù"],
			["shuǎng"]
		],
		"履薄临深": [
			["lǚ"],
			["bó"],
			["lín"],
			["shēn"]
		],
		"履机乘变": [
			["lǚ"],
			["jī"],
			["chéng"],
			["biàn"]
		],
		"履霜知冰": [
			["lǚ"],
			["shuāng"],
			["zhī"],
			["bīng"]
		],
		"履汤蹈火": [
			["lǚ"],
			["tāng"],
			["dǎo"],
			["huǒ"]
		],
		"履险若夷": [
			["lǚ"],
			["xiǎn"],
			["ruò"],
			["yí"]
		],
		"履信思顺": [
			["lǚ"],
			["xìn"],
			["sī"],
			["shùn"]
		],
		"履足差肩": [
			["lǚ"],
			["zú"],
			["chà"],
			["jiān"]
		],
		"率尔操觚": [
			["shuài"],
			["ér"],
			["cāo"],
			["gū"]
		],
		"率尔成章": [
			["shuài"],
			["ěr"],
			["chéng"],
			["zhāng"]
		],
		"率马以骥": [
			["shuài"],
			["mǎ"],
			["yǐ"],
			["jì"]
		],
		"率土归心": [
			["shuài"],
			["tǔ"],
			["guī"],
			["xīn"]
		],
		"率兽食人": [
			["shuài"],
			["shòu"],
			["shí"],
			["rén"]
		],
		"率土同庆": [
			["shuài"],
			["tǔ"],
			["tóng"],
			["qìng"]
		],
		"率土宅心": [
			["shuài"],
			["tǔ"],
			["zhái"],
			["xīn"]
		],
		"率以为常": [
			["shuài"],
			["yǐ"],
			["wéi"],
			["cháng"]
		],
		"率由旧则": [
			["shuài"],
			["yóu"],
			["jiù"],
			["zé"]
		],
		"绿暗红稀": [
			["lǜ"],
			["àn"],
			["hóng"],
			["xī"]
		],
		"率由旧章": [
			["shuài"],
			["yóu"],
			["jiù"],
			["zhāng"]
		],
		"绿鬓红颜": [
			["lǜ"],
			["bìn"],
			["hóng"],
			["yán"]
		],
		"绿鬓朱颜": [
			["lǜ"],
			["bìn"],
			["zhū"],
			["yán"]
		],
		"绿惨红愁": [
			["lǜ"],
			["cǎn"],
			["hóng"],
			["chóu"]
		],
		"绿草如茵": [
			["lǜ"],
			["cǎo"],
			["rú"],
			["yīn"]
		],
		"绿惨红销": [
			["lǜ"],
			["cǎn"],
			["hóng"],
			["xiāo"]
		],
		"绿肥红瘦": [
			["lǜ"],
			["féi"],
			["hóng"],
			["shòu"]
		],
		"绿酒红灯": [
			["lǜ"],
			["jiǔ"],
			["hóng"],
			["dēng"]
		],
		"绿林大盗": [
			["lù"],
			["lín"],
			["dà"],
			["dào"]
		],
		"绿林豪杰": [
			["lù"],
			["lín"],
			["háo"],
			["jié"]
		],
		"绿林好汉": [
			["lù"],
			["lín"],
			["hǎo"],
			["hàn"]
		],
		"绿林豪士": [
			["lù"],
			["lín"],
			["háo"],
			["shì"]
		],
		"绿林豪客": [
			["lù"],
			["lín"],
			["háo"],
			["kè"]
		],
		"绿林强盗": [
			["lù"],
			["lín"],
			["qiáng"],
			["dào"]
		],
		"绿女红男": [
			["lǜ"],
			["nǚ"],
			["hóng"],
			["nán"]
		],
		"绿水青山": [
			["lǜ"],
			["shuǐ"],
			["qīng"],
			["shān"]
		],
		"绿蓑青笠": [
			["lǜ"],
			["suō"],
			["qīng"],
			["lì"]
		],
		"绿叶成阴": [
			["lǜ"],
			["yè"],
			["chéng"],
			["yīn"]
		],
		"绿叶成荫": [
			["lǜ"],
			["yè"],
			["chéng"],
			["yīn"]
		],
		"绿衣使者": [
			["lǜ"],
			["yī"],
			["shǐ"],
			["zhě"]
		],
		"绿衣黄里": [
			["lǜ"],
			["yī"],
			["huáng"],
			["lǐ"]
		],
		"氯化钾": [
			["lǜ"],
			["huà"],
			["jiǎ"]
		],
		"氯化钠": [
			["lǜ"],
			["huà"],
			["nà"]
		],
		"氯化物": [
			["lǜ"],
			["huà"],
			["wù"]
		],
		"鸾分凤离": [
			["luán"],
			["fēn"],
			["fèng"],
			["lí"]
		],
		"鸾凤分飞": [
			["luán"],
			["fèng"],
			["fēn"],
			["fēi"]
		],
		"鸾颠凤倒": [
			["luán"],
			["diān"],
			["fèng"],
			["dǎo"]
		],
		"鸾凤和鸣": [
			["luán"],
			["fèng"],
			["hè"],
			["míng"]
		],
		"鸾孤凤只": [
			["luán"],
			["gū"],
			["fèng"],
			["zhī"]
		],
		"鸾漂凤泊": [
			["luán"],
			["piāo"],
			["fèng"],
			["bó"]
		],
		"鸾飘凤泊": [
			["luán"],
			["piāo"],
			["fèng"],
			["bó"]
		],
		"鸾鹄停峙": [
			["luán"],
			["hú"],
			["tíng"],
			["zhì"]
		],
		"鸾跂鸿惊": [
			["luán"],
			["qí"],
			["hóng"],
			["jīng"]
		],
		"鸾停鹄峙": [
			["luán"],
			["tíng"],
			["hú"],
			["zhì"]
		],
		"鸾音鹤信": [
			["luán"],
			["yīn"],
			["hè"],
			["xìn"]
		],
		"鸾只凤单": [
			["luán"],
			["zhī"],
			["fèng"],
			["dān"]
		],
		"卵石不敌": [
			["luǎn"],
			["shí"],
			["bù"],
			["dí"]
		],
		"卵与石斗": [
			["luǎn"],
			["yǔ"],
			["shí"],
			["dòu"]
		],
		"乱弹琴": [
			["luàn"],
			["tán"],
			["qín"]
		],
		"乱哄哄": [
			["luàn"],
			["hǒng"],
			["hǒng"]
		],
		"乱箭攒心": [
			["luàn"],
			["jiàn"],
			["cuán"],
			["xīn"]
		],
		"乱头粗服": [
			["luàn"],
			["tóu"],
			["cū"],
			["fú"]
		],
		"乱作胡为": [
			["luàn"],
			["zuò"],
			["hú"],
			["wéi"]
		],
		"乱语胡言": [
			["luàn"],
			["yǔ"],
			["hú"],
			["yán"]
		],
		"掠地攻城": [
			["lüè"],
			["dì"],
			["gōng"],
			["chéng"]
		],
		"略识之无": [
			["lüè"],
			["shí"],
			["zhī"],
			["wú"]
		],
		"略迹论心": [
			["lüè"],
			["jì"],
			["lùn"],
			["xīn"]
		],
		"略见一斑": [
			["lüè"],
			["jiàn"],
			["yī"],
			["bān"]
		],
		"略无忌惮": [
			["lüè"],
			["wú"],
			["jì"],
			["dàn"]
		],
		"略知皮毛": [
			["lüè"],
			["zhī"],
			["pí"],
			["máo"]
		],
		"略知一二": [
			["lüè"],
			["zhī"],
			["yī"],
			["èr"]
		],
		"伦敦大学": [
			["lún"],
			["dūn"],
			["dà"],
			["xué"]
		],
		"沦落风尘": [
			["lún"],
			["luò"],
			["fēng"],
			["chén"]
		],
		"沦陷区": [
			["lún"],
			["xiàn"],
			["qū"]
		],
		"纶巾羽扇": [
			["guān"],
			["jīn"],
			["yǔ"],
			["shàn"]
		],
		"纶音佛语": [
			["lún"],
			["yīn"],
			["fó"],
			["yǔ"]
		],
		"轮机长": [
			["lún"],
			["jī"],
			["zhǎng"]
		],
		"轮扁斫轮": [
			["lún"],
			["biǎn"],
			["zhuó"],
			["lún"]
		],
		"论长道短": [
			["lùn"],
			["cháng"],
			["dào"],
			["duǎn"]
		],
		"论辩风生": [
			["lùn"],
			["biàn"],
			["fēng"],
			["shēng"]
		],
		"论长说短": [
			["lùn"],
			["cháng"],
			["shuō"],
			["duǎn"]
		],
		"论道经邦": [
			["lùn"],
			["dào"],
			["jīng"],
			["bāng"]
		],
		"论德使能": [
			["lùn"],
			["dé"],
			["shǐ"],
			["néng"]
		],
		"论短道长": [
			["lùn"],
			["duǎn"],
			["dào"],
			["cháng"]
		],
		"论甘忌辛": [
			["lùn"],
			["gān"],
			["jì"],
			["xīn"]
		],
		"论高寡合": [
			["lùn"],
			["gāo"],
			["guǎ"],
			["hé"]
		],
		"论功封赏": [
			["lùn"],
			["gōng"],
			["fēng"],
			["shǎng"]
		],
		"论功受赏": [
			["lùn"],
			["gōng"],
			["shòu"],
			["shǎng"]
		],
		"论功行赏": [
			["lùn"],
			["gōng"],
			["xíng"],
			["shǎng"]
		],
		"论功行封": [
			["lùn"],
			["gōng"],
			["xíng"],
			["fēng"]
		],
		"论黄数白": [
			["lùn"],
			["huáng"],
			["shù"],
			["bái"]
		],
		"论黄数黑": [
			["lùn"],
			["huáng"],
			["shǔ"],
			["hēi"]
		],
		"论今说古": [
			["lùn"],
			["jīn"],
			["shuō"],
			["gǔ"]
		],
		"论理学": [
			["lùn"],
			["lǐ"],
			["xué"]
		],
		"论列是非": [
			["lùn"],
			["liè"],
			["shì"],
			["fēi"]
		],
		"论千论万": [
			["lùn"],
			["qiān"],
			["lùn"],
			["wàn"]
		],
		"论世知人": [
			["lùn"],
			["shì"],
			["zhī"],
			["rén"]
		],
		"论说文": [
			["lùn"],
			["shuō"],
			["wén"]
		],
		"论心定罪": [
			["lùn"],
			["xīn"],
			["dìng"],
			["zuì"]
		],
		"论议风生": [
			["lùn"],
			["yì"],
			["fēng"],
			["shēng"]
		],
		"论资排辈": [
			["lùn"],
			["zī"],
			["pái"],
			["bèi"]
		],
		"捋虎须": [
			["luō"],
			["hǔ"],
			["xū"]
		],
		"捋袖揎拳": [
			["luō"],
			["xiù"],
			["xuān"],
			["quán"]
		],
		"罗敷有夫": [
			["luó"],
			["fū"],
			["yǒu"],
			["fū"]
		],
		"罗掘一空": [
			["luó"],
			["jué"],
			["yī"],
			["kōng"]
		],
		"罗圈儿揖": [
			["luó"],
			["quān"],
			["ér"],
			["yī"]
		],
		"罗圈腿": [
			["luó"],
			["quān"],
			["tuǐ"]
		],
		"罗雀掘鼠": [
			["luó"],
			["què"],
			["jué"],
			["shǔ"]
		],
		"罗织构陷": [
			["luò"],
			["zhī"],
			["gòu"],
			["xiàn"]
		],
		"罗织罪名": [
			["luó"],
			["zhī"],
			["zuì"],
			["míng"]
		],
		"螺丝钉": [
			["luó"],
			["sī"],
			["dīng"]
		],
		"螺旋桨": [
			["luó"],
			["xuán"],
			["jiǎng"]
		],
		"裸裎袒裼": [
			["luǒ"],
			["chéng"],
			["tǎn"],
			["xī"]
		],
		"络腮胡子": [
			["luò"],
			["sāi"],
			["hú"],
			["zǐ"]
		],
		"络绎不绝": [
			["luò"],
			["yì"],
			["bù"],
			["jué"]
		],
		"荦荦大端": [
			["luò"],
			["luò"],
			["dà"],
			["duān"]
		],
		"骆驼刺": [
			["luò"],
			["tuó"],
			["cì"]
		],
		"骆驿不绝": [
			["luò"],
			["yì"],
			["bù"],
			["jué"]
		],
		"落不是": [
			["luò"],
			["bú"],
			["shì"]
		],
		"落草为寇": [
			["luò"],
			["cǎo"],
			["wéi"],
			["kòu"]
		],
		"落地窗": [
			["luò"],
			["dì"],
			["chuāng"]
		],
		"落地灯": [
			["luò"],
			["dì"],
			["dēng"]
		],
		"落地生根": [
			["luò"],
			["dì"],
			["shēng"],
			["gēn"]
		],
		"落花流水": [
			["luò"],
			["huā"],
			["liú"],
			["shuǐ"]
		],
		"落花生": [
			["luò"],
			["huā"],
			["shēng"]
		],
		"落花无言": [
			["luò"],
			["huā"],
			["wú"],
			["yán"]
		],
		"落荒而逃": [
			["luò"],
			["huāng"],
			["ér"],
			["táo"]
		],
		"落荒而走": [
			["luò"],
			["huāng"],
			["ér"],
			["zǒu"]
		],
		"落井投石": [
			["luò"],
			["jǐng"],
			["tóu"],
			["shí"]
		],
		"落井下石": [
			["luò"],
			["jǐng"],
			["xià"],
			["shí"]
		],
		"落阱下石": [
			["luò"],
			["jǐng"],
			["xià"],
			["shí"]
		],
		"落落大方": [
			["luò"],
			["luò"],
			["dà"],
			["fāng"]
		],
		"落落寡合": [
			["luò"],
			["luò"],
			["guǎ"],
			["hé"]
		],
		"落落穆穆": [
			["luò"],
			["luò"],
			["mù"],
			["mù"]
		],
		"落落难合": [
			["luò"],
			["luò"],
			["nán"],
			["hé"]
		],
		"落魄不羁": [
			["luò"],
			["pò"],
			["bù"],
			["jī"]
		],
		"落魄不偶": [
			["luo"],
			["tuo"],
			["bu"],
			["ou"]
		],
		"落魄江湖": [
			["luò"],
			["pò"],
			["jīng"],
			["hú"]
		],
		"落水狗": [
			["luò"],
			["shuǐ"],
			["gǒu"]
		],
		"落水管": [
			["luò"],
			["shuǐ"],
			["guǎn"]
		],
		"落汤鸡": [
			["luò"],
			["tāng"],
			["jī"]
		],
		"落汤螃蟹": [
			["luò"],
			["tāng"],
			["páng"],
			["xiè"]
		],
		"落拓不羁": [
			["luò"],
			["tuò"],
			["bù"],
			["jī"]
		],
		"落雁沉鱼": [
			["luò"],
			["yàn"],
			["chén"],
			["yú"]
		],
		"落叶归根": [
			["luò"],
			["yè"],
			["guī"],
			["gēn"]
		],
		"落叶树": [
			["luò"],
			["yè"],
			["shù"]
		],
		"落叶知秋": [
			["luò"],
			["yè"],
			["zhī"],
			["qiū"]
		],
		"落英缤纷": [
			["luò"],
			["yīng"],
			["bīn"],
			["fēn"]
		],
		"落月屋梁": [
			["luò"],
			["yuè"],
			["wū"],
			["liáng"]
		],
		"落纸云烟": [
			["luò"],
			["zhǐ"],
			["yún"],
			["yān"]
		],
		"麻痹不仁": [
			["má"],
			["bì"],
			["bù"],
			["rén"]
		],
		"麻痺不仁": [
			["má"],
			["bì"],
			["bù"],
			["rén"]
		],
		"麻痹大意": [
			["má"],
			["bì"],
			["dà"],
			["yì"]
		],
		"麻木不仁": [
			["má"],
			["mù"],
			["bù"],
			["rén"]
		],
		"马不解鞍": [
			["mǎ"],
			["bù"],
			["jiě"],
			["ān"]
		],
		"马勃牛溲": [
			["mǎ"],
			["bó"],
			["niú"],
			["sōu"]
		],
		"马不停蹄": [
			["mǎ"],
			["bù"],
			["tíng"],
			["tí"]
		],
		"马尘不及": [
			["mǎ"],
			["chén"],
			["bù"],
			["jí"]
		],
		"马大哈": [
			["mǎ"],
			["dà"],
			["hā"]
		],
		"马齿徒长": [
			["mǎ"],
			["chǐ"],
			["tú"],
			["zhǎng"]
		],
		"马耳春风": [
			["mǎ"],
			["ěr"],
			["chūn"],
			["fēng"]
		],
		"马耳东风": [
			["mǎ"],
			["ěr"],
			["dōng"],
			["fēng"]
		],
		"马翻人仰": [
			["mǎ"],
			["fān"],
			["rén"],
			["yǎng"]
		],
		"马放南山": [
			["mǎ"],
			["fàng"],
			["nán"],
			["shān"]
		],
		"马革盛尸": [
			["mǎ"],
			["gé"],
			["shèng"],
			["shī"]
		],
		"马赫数": [
			["mǎ"],
			["hè"],
			["shù"]
		],
		"马后炮": [
			["mǎ"],
			["hòu"],
			["pào"]
		],
		"马角乌白": [
			["mǎ"],
			["jiǎo"],
			["wū"],
			["bái"]
		],
		"马角乌头": [
			["mǎ"],
			["jiǎo"],
			["wū"],
			["tóu"]
		],
		"马克思列宁主义": [
			["mǎ"],
			["kè"],
			["sī"],
			["liè"],
			["níng"],
			["zhǔ"],
			["yì"]
		],
		"马克思": [
			["mǎ"],
			["kè"],
			["sī"]
		],
		"马克思主义": [
			["mǎ"],
			["kè"],
			["sī"],
			["zhǔ"],
			["yì"]
		],
		"马空冀北": [
			["mǎ"],
			["kōng"],
			["jì"],
			["běi"]
		],
		"马拉松": [
			["mǎ"],
			["lā"],
			["sōng"]
		],
		"马拉松赛跑": [
			["mǎ"],
			["lā"],
			["sōng"],
			["sài"],
			["pǎo"]
		],
		"马六甲": [
			["mǎ"],
			["liù"],
			["jiǎ"]
		],
		"马龙车水": [
			["mǎ"],
			["lóng"],
			["chē"],
			["shuǐ"]
		],
		"马面牛头": [
			["mǎ"],
			["miàn"],
			["niú"],
			["tóu"]
		],
		"马尼拉麻": [
			["mǎ"],
			["ní"],
			["lā"],
			["má"]
		],
		"马牛其风": [
			["mǎ"],
			["niú"],
			["qí"],
			["fēng"]
		],
		"马前卒": [
			["mǎ"],
			["qián"],
			["zú"]
		],
		"马入华山": [
			["mǎ"],
			["rù"],
			["huá"],
			["shān"]
		],
		"马上得天下": [
			["mǎ"],
			["shàng"],
			["dé"],
			["tiān"],
			["xià"]
		],
		"马上房子": [
			["mǎ"],
			["shàng"],
			["fáng"],
			["zi"]
		],
		"马上看花": [
			["mǎ"],
			["shàng"],
			["kàn"],
			["huā"]
		],
		"马上功成": [
			["mǎ"],
			["shàng"],
			["gōng"],
			["chéng"]
		],
		"马上墙头": [
			["mǎ"],
			["shàng"],
			["qiáng"],
			["tóu"]
		],
		"马瘦毛长": [
			["mǎ"],
			["shòu"],
			["máo"],
			["cháng"]
		],
		"马水车龙": [
			["mǎ"],
			["shuǐ"],
			["chē"],
			["lóng"]
		],
		"马头琴": [
			["mǎ"],
			["tóu"],
			["qín"]
		],
		"马尾松": [
			["mǎ"],
			["yǐ"],
			["sōng"]
		],
		"马尾辫": [
			["mǎ"],
			["yǐ"],
			["biàn"]
		],
		"马尾藻": [
			["mǎ"],
			["yǐ"],
			["zǎo"]
		],
		"马歇尔计划": [
			["mǎ"],
			["xiē"],
			["ěr"],
			["jì"],
			["huà"]
		],
		"马咽车阗": [
			["mǎ"],
			["yān"],
			["chē"],
			["tián"]
		],
		"马仰人翻": [
			["mǎ"],
			["yǎng"],
			["rén"],
			["fān"]
		],
		"马壮人强": [
			["mǎ"],
			["zhuàng"],
			["rén"],
			["qiáng"]
		],
		"马中关五": [
			["mǎ"],
			["zhōng"],
			["guān"],
			["wǔ"]
		],
		"马足车尘": [
			["mǎ"],
			["zú"],
			["chē"],
			["chén"]
		],
		"马足龙沙": [
			["mǎ"],
			["zú"],
			["lóng"],
			["shā"]
		],
		"蚂蟥钉": [
			["mǎ"],
			["huáng"],
			["dīng"]
		],
		"蚂蚁搬泰山": [
			["mǎ"],
			["yǐ"],
			["bān"],
			["tài"],
			["shān"]
		],
		"蚂蚁啃骨头": [
			["mǎ"],
			["yǐ"],
			["kěn"],
			["gú"],
			["tou"]
		],
		"蚂蚁缘槐": [
			["mǎ"],
			["yǐ"],
			["yuán"],
			["huái"]
		],
		"骂不绝口": [
			["mà"],
			["bù"],
			["jué"],
			["kǒu"]
		],
		"骂大街": [
			["mà"],
			["dà"],
			["jiē"]
		],
		"骂骂咧咧": [
			["mà"],
			["mà"],
			["liē"],
			["liē"]
		],
		"骂天扯地": [
			["mà"],
			["tiān"],
			["chě"],
			["dì"]
		],
		"埋轮破柱": [
			["mái"],
			["lún"],
			["pò"],
			["zhù"]
		],
		"骂天咒地": [
			["mà"],
			["tiān"],
			["zhòu"],
			["dì"]
		],
		"埋三怨四": [
			["mán"],
			["sān"],
			["yuàn"],
			["sì"]
		],
		"埋声晦迹": [
			["mái"],
			["shēng"],
			["huì"],
			["jì"]
		],
		"埋天怨地": [
			["mán"],
			["tiān"],
			["yuàn"],
			["dì"]
		],
		"埋头顾影": [
			["mái"],
			["tóu"],
			["gù"],
			["yǐng"]
		],
		"埋头苦干": [
			["mái"],
			["tóu"],
			["kǔ"],
			["gàn"]
		],
		"买得起": [
			["mǎi"],
			["de"],
			["qǐ"]
		],
		"买椟还珠": [
			["mǎi"],
			["dú"],
			["huán"],
			["zhū"]
		],
		"买关节": [
			["mǎi"],
			["guān"],
			["jié"]
		],
		"买空卖空": [
			["mǎi"],
			["kōng"],
			["mài"],
			["kōng"]
		],
		"买上告下": [
			["mǎi"],
			["shàng"],
			["gào"],
			["xià"]
		],
		"买上嘱下": [
			["mǎi"],
			["shàng"],
			["zhǔ"],
			["xià"]
		],
		"买铁思金": [
			["mǎi"],
			["tiě"],
			["sī"],
			["jīn"]
		],
		"买王得羊": [
			["mǎi"],
			["wáng"],
			["dé"],
			["yáng"]
		],
		"买笑追欢": [
			["mǎi"],
			["xiào"],
			["zhuī"],
			["huān"]
		],
		"麦饭石": [
			["mài"],
			["fàn"],
			["shí"]
		],
		"麦克风": [
			["mài"],
			["kè"],
			["fēng"]
		],
		"卖大号": [
			["mài"],
			["dà"],
			["hào"]
		],
		"卖儿鬻女": [
			["mài"],
			["ér"],
			["yù"],
			["nǚ"]
		],
		"卖方市场": [
			["mài"],
			["fāng"],
			["shì"],
			["chǎng"]
		],
		"卖富差贫": [
			["mài"],
			["fù"],
			["chà"],
			["pín"]
		],
		"卖狗皮膏药": [
			["mài"],
			["gǒu"],
			["pí"],
			["gāo"],
			["yào"]
		],
		"卖乖弄俏": [
			["mài"],
			["guāi"],
			["nòng"],
			["qiào"]
		],
		"卖狗悬羊": [
			["mài"],
			["gǒu"],
			["xuán"],
			["yáng"]
		],
		"卖关节": [
			["mài"],
			["guān"],
			["jié"]
		],
		"卖空买空": [
			["mài"],
			["kōng"],
			["mǎi"],
			["kōng"]
		],
		"卖李钻核": [
			["mài"],
			["lǐ"],
			["zuān"],
			["hé"]
		],
		"卖履分香": [
			["mài"],
			["lǚ"],
			["fēn"],
			["xiāng"]
		],
		"卖男鬻女": [
			["mài"],
			["nán"],
			["yù"],
			["nǚ"]
		],
		"卖俏行奸": [
			["mài"],
			["qiào"],
			["xíng"],
			["jiān"]
		],
		"卖妻鬻子": [
			["mài"],
			["qī"],
			["yù"],
			["zǐ"]
		],
		"卖俏迎奸": [
			["mài"],
			["qiào"],
			["yíng"],
			["jiān"]
		],
		"卖身契": [
			["mài"],
			["shēn"],
			["qì"]
		],
		"卖头卖脚": [
			["mài"],
			["tóu"],
			["mài"],
			["jiǎo"]
		],
		"卖文为生": [
			["mài"],
			["wén"],
			["wéi"],
			["shēn"]
		],
		"卖笑追欢": [
			["mài"],
			["xiào"],
			["zhuī"],
			["huān"]
		],
		"脉动电流": [
			["mài"],
			["dòng"],
			["diàn"],
			["liú"]
		],
		"脉脉含情": [
			["mò"],
			["mò"],
			["hán"],
			["qíng"]
		],
		"脉脉相通": [
			["mài"],
			["mài"],
			["xiāng"],
			["tōng"]
		],
		"蛮不讲理": [
			["mán"],
			["bù"],
			["jiǎng"],
			["lǐ"]
		],
		"蛮触相争": [
			["mán"],
			["chù"],
			["xiāng"],
			["zhēng"]
		],
		"蛮横无理": [
			["mán"],
			["hèng"],
			["wú"],
			["lǐ"]
		],
		"蛮烟瘴雨": [
			["mán"],
			["yān"],
			["zhàng"],
			["yǔ"]
		],
		"瞒上不瞒下": [
			["mán"],
			["shàng"],
			["bù"],
			["mán"],
			["xià"]
		],
		"瞒上欺下": [
			["mán"],
			["shàng"],
			["qī"],
			["xià"]
		],
		"瞒神弄鬼": [
			["mán"],
			["shén"],
			["nòng"],
			["guǐ"]
		],
		"瞒天大谎": [
			["mán"],
			["tiān"],
			["dà"],
			["huǎng"]
		],
		"瞒天过海": [
			["mán"],
			["tiān"],
			["guò"],
			["hǎi"]
		],
		"瞒天瞒地": [
			["mán"],
			["tiān"],
			["mán"],
			["dì"]
		],
		"瞒天昧地": [
			["mán"],
			["tiān"],
			["mèi"],
			["dì"]
		],
		"瞒天讨价": [
			["mán"],
			["tiān"],
			["tǎo"],
			["jià"]
		],
		"瞒天要价": [
			["mán"],
			["tiān"],
			["yào"],
			["jià"]
		],
		"满不在乎": [
			["mǎn"],
			["bù"],
			["zài"],
			["hū"]
		],
		"瞒心昧己": [
			["mán"],
			["xīn"],
			["mèi"],
			["jǐ"]
		],
		"满不在意": [
			["mǎn"],
			["bù"],
			["zài"],
			["yì"]
		],
		"满城风雨": [
			["mǎn"],
			["chéng"],
			["fēng"],
			["yǔ"]
		],
		"满打满算": [
			["mǎn"],
			["dǎ"],
			["mǎn"],
			["suàn"]
		],
		"满而不溢": [
			["mǎn"],
			["ér"],
			["bù"],
			["yì"]
		],
		"满腹狐疑": [
			["mǎn"],
			["fù"],
			["hú"],
			["yí"]
		],
		"满腹经纶": [
			["mǎn"],
			["fù"],
			["jīng"],
			["lún"]
		],
		"满腹牢骚": [
			["mǎn"],
			["fù"],
			["láo"],
			["sāo"]
		],
		"满腹疑团": [
			["mǎn"],
			["fù"],
			["yí"],
			["tuán"]
		],
		"满怀信心": [
			["mǎn"],
			["huái"],
			["xìn"],
			["xīn"]
		],
		"满江红": [
			["mǎn"],
			["jiāng"],
			["hóng"]
		],
		"满脸春风": [
			["mǎn"],
			["liǎn"],
			["chūn"],
			["fēng"]
		],
		"满满当当": [
			["mǎn"],
			["mǎn"],
			["dāng"],
			["dāng"]
		],
		"满面春风": [
			["mǎn"],
			["miàn"],
			["chūn"],
			["fēng"]
		],
		"满面红光": [
			["mǎn"],
			["miàn"],
			["hóng"],
			["guāng"]
		],
		"满目凄凉": [
			["mǎn"],
			["mù"],
			["qī"],
			["liáng"]
		],
		"满堂红": [
			["mǎn"],
			["táng"],
			["hóng"]
		],
		"满天星斗": [
			["mǎn"],
			["tiān"],
			["xīng"],
			["dǒu"]
		],
		"满纸空言": [
			["mǎn"],
			["zhǐ"],
			["kōng"],
			["yán"]
		],
		"满袖春风": [
			["mǎn"],
			["xiù"],
			["chūn"],
			["fēng"]
		],
		"满载而归": [
			["mǎn"],
			["zài"],
			["ér"],
			["guī"]
		],
		"满坐风生": [
			["mǎn"],
			["zuò"],
			["fēng"],
			["shēng"]
		],
		"满座风生": [
			["mǎn"],
			["zuò"],
			["fēng"],
			["shēng"]
		],
		"谩不经意": [
			["màn"],
			["bù"],
			["jīng"],
			["yì"]
		],
		"谩藏诲盗": [
			["màn"],
			["cáng"],
			["huì"],
			["dào"]
		],
		"谩辞哗说": [
			["màn"],
			["cí"],
			["huá"],
			["shuō"]
		],
		"谩天谩地": [
			["màn"],
			["tiān"],
			["màn"],
			["dì"]
		],
		"谩天昧地": [
			["mán"],
			["tiān"],
			["mèi"],
			["dì"]
		],
		"慢藏诲盗": [
			["màn"],
			["cáng"],
			["huì"],
			["dào"]
		],
		"慢条丝礼": [
			["màn"],
			["tiáo"],
			["sī"],
			["lǐ"]
		],
		"慢条斯礼": [
			["màn"],
			["tiáo"],
			["sī"],
			["lǐ"]
		],
		"慢条斯理": [
			["màn"],
			["tiáo"],
			["sī"],
			["lǐ"]
		],
		"慢条厮礼": [
			["màn"],
			["tiáo"],
			["sī"],
			["lǐ"]
		],
		"漫不加意": [
			["màn"],
			["bù"],
			["jiā"],
			["yì"]
		],
		"漫不经心": [
			["màn"],
			["bù"],
			["jīng"],
			["xīn"]
		],
		"漫不经意": [
			["màn"],
			["bù"],
			["jīng"],
			["yì"]
		],
		"漫藏诲盗": [
			["màn"],
			["cáng"],
			["huì"],
			["dào"]
		],
		"漫地漫天": [
			["màn"],
			["dì"],
			["màn"],
			["tiān"]
		],
		"漫反射": [
			["màn"],
			["fǎn"],
			["shè"]
		],
		"漫山塞野": [
			["màn"],
			["shān"],
			["sāi"],
			["yě"]
		],
		"漫天遍地": [
			["màn"],
			["shān"],
			["biàn"],
			["dì"]
		],
		"漫天大谎": [
			["màn"],
			["tiān"],
			["dà"],
			["huǎng"]
		],
		"漫天盖地": [
			["màn"],
			["tiān"],
			["gài"],
			["dì"]
		],
		"漫天叫价": [
			["màn"],
			["tiān"],
			["jiào"],
			["jià"]
		],
		"漫天过海": [
			["màn"],
			["tiān"],
			["guò"],
			["hǎi"]
		],
		"漫天开价": [
			["màn"],
			["tiān"],
			["kāi"],
			["jià"]
		],
		"漫天掩地": [
			["màn"],
			["tiān"],
			["yǎn"],
			["dì"]
		],
		"漫天要价": [
			["màn"],
			["tiān"],
			["yào"],
			["jià"]
		],
		"漫天匝地": [
			["màn"],
			["tiān"],
			["zā"],
			["dì"]
		],
		"漫条斯理": [
			["màn"],
			["tiáo"],
			["sī"],
			["lǐ"]
		],
		"蔓草难除": [
			["màn"],
			["cǎo"],
			["nán"],
			["chú"]
		],
		"蔓蔓日茂": [
			["màn"],
			["màn"],
			["rì"],
			["mào"]
		],
		"蔓生植物": [
			["màn"],
			["shēng"],
			["zhí"],
			["wù"]
		],
		"蔓引株求": [
			["màn"],
			["yǐn"],
			["zhū"],
			["qiú"]
		],
		"忙不迭": [
			["máng"],
			["bù"],
			["dié"]
		],
		"忙不择价": [
			["máng"],
			["bù"],
			["zé"],
			["jià"]
		],
		"忙忙碌碌": [
			["máng"],
			["máng"],
			["lù"],
			["lù"]
		],
		"忙中有失": [
			["máng"],
			["zhōng"],
			["yǒu"],
			["shī"]
		],
		"芒刺在背": [
			["máng"],
			["cì"],
			["zài"],
			["bèi"]
		],
		"芒寒色正": [
			["máng"],
			["hán"],
			["sè"],
			["zhèng"]
		],
		"尨眉皓发": [
			["máng"],
			["méi"],
			["hào"],
			["fà"]
		],
		"盲风怪雨": [
			["máng"],
			["fēng"],
			["guài"],
			["yǔ"]
		],
		"盲风暴雨": [
			["máng"],
			["fēng"],
			["bào"],
			["yǔ"]
		],
		"盲风妒雨": [
			["máng"],
			["fēng"],
			["dù"],
			["yǔ"]
		],
		"盲风怪云": [
			["máng"],
			["fēng"],
			["guài"],
			["yún"]
		],
		"盲风涩雨": [
			["máng"],
			["fēng"],
			["sè"],
			["yǔ"]
		],
		"盲风晦雨": [
			["máng"],
			["fēng"],
			["huì"],
			["yǔ"]
		],
		"盲人把烛": [
			["máng"],
			["rén"],
			["bǎ"],
			["zhú"]
		],
		"盲人说象": [
			["máng"],
			["rén"],
			["shuō"],
			["xiàng"]
		],
		"盲翁扪钥": [
			["máng"],
			["wēng"],
			["mén"],
			["yào"]
		],
		"盲者得镜": [
			["máng"],
			["zhě"],
			["dé"],
			["jìng"]
		],
		"茫然不解": [
			["máng"],
			["rán"],
			["bù"],
			["jiě"]
		],
		"茫然若失": [
			["máng"],
			["rán"],
			["ruò"],
			["shī"]
		],
		"茫无所知": [
			["máng"],
			["wú"],
			["suǒ"],
			["zhī"]
		],
		"茫无头绪": [
			["máng"],
			["wú"],
			["tóu"],
			["xù"]
		],
		"蟒袍玉带": [
			["mǎng"],
			["páo"],
			["yù"],
			["dài"]
		],
		"猫哭老鼠": [
			["māo"],
			["kū"],
			["lǎo"],
			["shǔ"]
		],
		"猫噬鹦鹉": [
			["māo"],
			["shì"],
			["yīng"],
			["wǔ"]
		],
		"猫鼠同处": [
			["māo"],
			["shǔ"],
			["tóng"],
			["chǔ"]
		],
		"猫鼠同乳": [
			["māo"],
			["shǔ"],
			["tóng"],
			["rǔ"]
		],
		"猫鼠同眠": [
			["māo"],
			["shǔ"],
			["tóng"],
			["mián"]
		],
		"猫头鹰": [
			["māo"],
			["tóu"],
			["yīng"]
		],
		"毛地黄": [
			["máo"],
			["dì"],
			["huáng"]
		],
		"毛发不爽": [
			["máo"],
			["fā"],
			["bù"],
			["shuǎng"]
		],
		"毛发丝粟": [
			["máo"],
			["fà"],
			["sī"],
			["sù"]
		],
		"毛发倒竖": [
			["máo"],
			["fā"],
			["dǎo"],
			["shù"]
		],
		"毛发悚然": [
			["máo"],
			["fā"],
			["sǒng"],
			["rán"]
		],
		"毛发之功": [
			["máo"],
			["fà"],
			["zhī"],
			["gōng"]
		],
		"毛发耸然": [
			["máo"],
			["fā"],
			["sǒng"],
			["rán"]
		],
		"毛骨悚然": [
			["máo"],
			["gǔ"],
			["sǒng"],
			["rán"]
		],
		"毛骨耸然": [
			["máo"],
			["gǔ"],
			["sǒng"],
			["rán"]
		],
		"毛骨竦然": [
			["máo"],
			["gǔ"],
			["sǒng"],
			["rán"]
		],
		"毛巾被": [
			["máo"],
			["jīn"],
			["bèi"]
		],
		"毛利率": [
			["máo"],
			["lì"],
			["lǜ"]
		],
		"毛毛雨": [
			["máo"],
			["máo"],
			["yǔ"]
		],
		"毛南族": [
			["máo"],
			["nán"],
			["zú"]
		],
		"毛森骨立": [
			["máo"],
			["sēn"],
			["gǔ"],
			["lì"]
		],
		"毛头毛脑": [
			["máo"],
			["tóu"],
			["máo"],
			["nǎo"]
		],
		"毛遂堕井": [
			["máo"],
			["suí"],
			["duò"],
			["jǐng"]
		],
		"毛头小子": [
			["máo"],
			["tóu"],
			["xiǎo"],
			["zi"]
		],
		"毛羽零落": [
			["máo"],
			["yǔ"],
			["líng"],
			["luò"]
		],
		"毛丫头": [
			["máo"],
			["yā"],
			["tou"]
		],
		"毛泽东": [
			["máo"],
			["zé"],
			["dōng"]
		],
		"毛泽东思想": [
			["máo"],
			["zé"],
			["dōng"],
			["sī"],
			["xiǎng"]
		],
		"毛泽东选集": [
			["máo"],
			["zé"],
			["dōng"],
			["xuǎn"],
			["jí"]
		],
		"毛织品": [
			["máo"],
			["zhī"],
			["pǐn"]
		],
		"茅塞顿开": [
			["máo"],
			["sè"],
			["dùn"],
			["kāi"]
		],
		"矛盾论": [
			["máo"],
			["dùn"],
			["lùn"]
		],
		"茅台酒": [
			["máo"],
			["tái"],
			["jiǔ"]
		],
		"茅屋采椽": [
			["máo"],
			["wū"],
			["cǎi"],
			["chuán"]
		],
		"铆钉枪": [
			["mǎo"],
			["dīng"],
			["qiāng"]
		],
		"铆劲儿": [
			["mǎo"],
			["jìn"],
			["er"]
		],
		"冒大不韪": [
			["mào"],
			["dà"],
			["bù"],
			["wěi"]
		],
		"冒风险": [
			["mào"],
			["fēng"],
			["xiǎn"]
		],
		"冒尖户": [
			["mào"],
			["jiān"],
			["hù"]
		],
		"冒名顶替": [
			["mào"],
			["míng"],
			["dǐng"],
			["tì"]
		],
		"冒冒失失": [
			["mào"],
			["mào"],
			["shī"],
			["shī"]
		],
		"冒名接脚": [
			["mào"],
			["míng"],
			["jiě"],
			["jiǎo"]
		],
		"冒牌货": [
			["mào"],
			["pái"],
			["huò"]
		],
		"冒失鬼": [
			["mào"],
			["shī"],
			["guǐ"]
		],
		"冒天下之大不韪": [
			["mào"],
			["tiān"],
			["xià"],
			["zhī"],
			["dà"],
			["bù"],
			["wéi"]
		],
		"冒险家": [
			["mào"],
			["xiǎn"],
			["jiā"]
		],
		"贸首之仇": [
			["mào"],
			["shǒu"],
			["zhī"],
			["chóu"]
		],
		"贸易风": [
			["mào"],
			["yì"],
			["fēng"]
		],
		"貌不惊人": [
			["mào"],
			["bù"],
			["jīng"],
			["rén"]
		],
		"貌合神离": [
			["mào"],
			["hé"],
			["shén"],
			["lí"]
		],
		"貌合情离": [
			["mào"],
			["hé"],
			["qíng"],
			["lí"]
		],
		"貌合心离": [
			["mào"],
			["hé"],
			["xīn"],
			["lí"]
		],
		"貌合行离": [
			["mào"],
			["hé"],
			["xíng"],
			["lí"]
		],
		"貌合形离": [
			["mào"],
			["hé"],
			["xíng"],
			["lí"]
		],
		"貌离神合": [
			["mào"],
			["lí"],
			["shén"],
			["hé"]
		],
		"貌似强大": [
			["mào"],
			["sì"],
			["qiáng"],
			["dà"]
		],
		"没查没利": [
			["méi"],
			["chá"],
			["méi"],
			["lì"]
		],
		"没边儿": [
			["méi"],
			["biān"],
			["ér"]
		],
		"没齿难忘": [
			["mò"],
			["chǐ"],
			["nán"],
			["wàng"]
		],
		"没齿不忘": [
			["mò"],
			["chǐ"],
			["bù"],
			["wàng"]
		],
		"没齿无怨": [
			["mò"],
			["chǐ"],
			["wú"],
			["yuàn"]
		],
		"没词儿": [
			["méi"],
			["cí"],
			["ér"]
		],
		"没出息": [
			["méi"],
			["chū"],
			["xī"]
		],
		"没大没小": [
			["méi"],
			["dà"],
			["méi"],
			["xiǎo"]
		],
		"没颠没倒": [
			["méi"],
			["diān"],
			["méi"],
			["dǎo"]
		],
		"没多少": [
			["méi"],
			["duō"],
			["shǎo"]
		],
		"没而不朽": [
			["méi"],
			["ér"],
			["bù"],
			["xiǔ"]
		],
		"没法儿": [
			["méi"],
			["fǎ"],
			["ér"]
		],
		"没法没天": [
			["méi"],
			["fǎ"],
			["méi"],
			["tiān"]
		],
		"没法奈何": [
			["méi"],
			["fǎ"],
			["nài"],
			["hé"]
		],
		"没关系": [
			["méi"],
			["guān"],
			["xì"]
		],
		"没好气": [
			["méi"],
			["hǎo"],
			["qì"]
		],
		"没计奈何": [
			["méi"],
			["jì"],
			["nài"],
			["hé"]
		],
		"没金铩羽": [
			["méi"],
			["jīn"],
			["shā"],
			["yǔ"]
		],
		"没金饮羽": [
			["mò"],
			["jīn"],
			["yǐn"],
			["yǔ"]
		],
		"没精打彩": [
			["méi"],
			["jīng"],
			["dǎ"],
			["cǎi"]
		],
		"没精打采": [
			["méi"],
			["jīng"],
			["dǎ"],
			["cǎi"]
		],
		"没精没彩": [
			["méi"],
			["jīng"],
			["méi"],
			["cǎi"]
		],
		"没精塌彩": [
			["méi"],
			["jīng"],
			["tā"],
			["cǎi"]
		],
		"没可奈何": [
			["méi"],
			["kě"],
			["nài"],
			["hé"]
		],
		"没里没外": [
			["méi"],
			["lǐ"],
			["méi"],
			["wài"]
		],
		"没来由": [
			["méi"],
			["lái"],
			["yóu"]
		],
		"没毛大虫": [
			["méi"],
			["máo"],
			["dà"],
			["chóng"]
		],
		"没没无闻": [
			["mò"],
			["mò"],
			["wú"],
			["wén"]
		],
		"没眉没眼": [
			["méi"],
			["méi"],
			["méi"],
			["yǎn"]
		],
		"没门儿": [
			["méi"],
			["mén"],
			["ér"]
		],
		"没奈何": [
			["mò"],
			["nài"],
			["hé"]
		],
		"没皮没脸": [
			["méi"],
			["pí"],
			["méi"],
			["liǎn"]
		],
		"没谱儿": [
			["méi"],
			["pǔ"],
			["er"]
		],
		"没轻没重": [
			["méi"],
			["qīng"],
			["méi"],
			["zhòng"]
		],
		"没日没夜": [
			["méi"],
			["rì"],
			["méi"],
			["yè"]
		],
		"没上没下": [
			["méi"],
			["shàng"],
			["méi"],
			["xià"]
		],
		"没深没浅": [
			["méi"],
			["shēn"],
			["méi"],
			["qiǎn"]
		],
		"没什么": [
			["méi"],
			["shén"],
			["me"]
		],
		"没石饮羽": [
			["méi"],
			["shí"],
			["yǐn"],
			["yǔ"]
		],
		"没世不忘": [
			["mò"],
			["shì"],
			["bù"],
			["wàng"]
		],
		"没世难忘": [
			["mò"],
			["shì"],
			["nán"],
			["wàng"]
		],
		"没世不渝": [
			["méi"],
			["shì"],
			["bù"],
			["yú"]
		],
		"没世穷年": [
			["méi"],
			["shì"],
			["qióng"],
			["nián"]
		],
		"没世无称": [
			["méi"],
			["shì"],
			["wú"],
			["chēng"]
		],
		"没世无闻": [
			["méi"],
			["shì"],
			["wú"],
			["wén"]
		],
		"没事儿": [
			["méi"],
			["shì"],
			["ér"]
		],
		"没事人": [
			["méi"],
			["shì"],
			["rén"]
		],
		"没头苍蝇": [
			["méi"],
			["tóu"],
			["cāng"],
			["ying"]
		],
		"没头没脸": [
			["méi"],
			["tóu"],
			["méi"],
			["liǎn"]
		],
		"没头没脑": [
			["méi"],
			["tóu"],
			["méi"],
			["nǎo"]
		],
		"没头没尾": [
			["méi"],
			["tóu"],
			["mò"],
			["wěi"]
		],
		"没头脑": [
			["méi"],
			["tóu"],
			["nǎo"]
		],
		"没完没了": [
			["méi"],
			["wán"],
			["méi"],
			["liǎo"]
		],
		"没卫饮羽": [
			["méi"],
			["wèi"],
			["yǐn"],
			["yǔ"]
		],
		"没屋架梁": [
			["méi"],
			["wū"],
			["jià"],
			["liáng"]
		],
		"没心没肺": [
			["méi"],
			["xīn"],
			["méi"],
			["fèi"]
		],
		"没影儿": [
			["méi"],
			["yǐng"],
			["ér"]
		],
		"没意思": [
			["méi"],
			["yì"],
			["sī"]
		],
		"没衷一是": [
			["mò"],
			["zhōng"],
			["yī"],
			["shì"]
		],
		"眉毛胡子一把抓": [
			["méi"],
			["máo"],
			["hú"],
			["zi"],
			["yī"],
			["bǎ"],
			["zhuā"]
		],
		"眉睫之内": [
			["méi"],
			["jié"],
			["zhī"],
			["nèi"]
		],
		"眉目传情": [
			["méi"],
			["mù"],
			["chuán"],
			["qíng"]
		],
		"眉头不伸": [
			["méi"],
			["tóu"],
			["bù"],
			["shēn"]
		],
		"眉语目笑": [
			["méi"],
			["yǔ"],
			["mù"],
			["xiào"]
		],
		"眉头眼尾": [
			["méi"],
			["tóu"],
			["yǎn"],
			["wěi"]
		],
		"梅妻鹤子": [
			["méi"],
			["qī"],
			["hè"],
			["zǐ"]
		],
		"煤矸石": [
			["méi"],
			["gān"],
			["shí"]
		],
		"煤核儿": [
			["méi"],
			["hú"],
			["ér"]
		],
		"每饭不忘": [
			["měi"],
			["fàn"],
			["bù"],
			["wàng"]
		],
		"美不胜收": [
			["měi"],
			["bù"],
			["shèng"],
			["shōu"]
		],
		"美景良辰": [
			["měi"],
			["jǐng"],
			["liáng"],
			["chén"]
		],
		"美女簪花": [
			["měi"],
			["nǚ"],
			["zān"],
			["huā"]
		],
		"美其名曰": [
			["měi"],
			["qí"],
			["míng"],
			["yuē"]
		],
		"美如冠玉": [
			["měi"],
			["rú"],
			["guān"],
			["yù"]
		],
		"美容术": [
			["měi"],
			["róng"],
			["shù"]
		],
		"美食家": [
			["měi"],
			["shí"],
			["jiā"]
		],
		"美术片": [
			["měi"],
			["shù"],
			["piàn"]
		],
		"美术字": [
			["měi"],
			["shù"],
			["zì"]
		],
		"美言不信": [
			["měi"],
			["yán"],
			["bù"],
			["xìn"]
		],
		"美中不足": [
			["měi"],
			["zhōng"],
			["bù"],
			["zú"]
		],
		"昧地瞒天": [
			["mèi"],
			["dì"],
			["mán"],
			["tiān"]
		],
		"昧旦晨兴": [
			["mèi"],
			["dàn"],
			["chún"],
			["xīng"]
		],
		"昧地谩天": [
			["mèi"],
			["dì"],
			["mán"],
			["tiān"]
		],
		"昧己瞒心": [
			["mèi"],
			["jǐ"],
			["mán"],
			["xīn"]
		],
		"袂云汗雨": [
			["mèi"],
			["yún"],
			["hàn"],
			["yǔ"]
		],
		"门不停宾": [
			["mén"],
			["bù"],
			["tíng"],
			["bīn"]
		],
		"门不夜关": [
			["mén"],
			["bù"],
			["yè"],
			["guān"]
		],
		"门殚户尽": [
			["mén"],
			["dān"],
			["hù"],
			["jìn"]
		],
		"门不夜扃": [
			["mén"],
			["bù"],
			["yè"],
			["jiōng"]
		],
		"门单户薄": [
			["mén"],
			["dān"],
			["hù"],
			["bó"]
		],
		"门当户对": [
			["mén"],
			["dāng"],
			["hù"],
			["duì"]
		],
		"门到户说": [
			["mén"],
			["dào"],
			["hù"],
			["shuō"]
		],
		"门户之见": [
			["mén"],
			["hù"],
			["zhī"],
			["jiàn"]
		],
		"门捷列夫": [
			["mén"],
			["jié"],
			["liè"],
			["fū"]
		],
		"门禁森严": [
			["mén"],
			["jìn"],
			["sēn"],
			["yán"]
		],
		"门静脉": [
			["mén"],
			["jìng"],
			["mài"]
		],
		"门堪罗雀": [
			["mén"],
			["kān"],
			["luó"],
			["què"]
		],
		"门可罗雀": [
			["mén"],
			["kě"],
			["luó"],
			["què"]
		],
		"门可张罗": [
			["mén"],
			["kě"],
			["zhāng"],
			["luó"]
		],
		"门衰祚薄": [
			["mén"],
			["shuāi"],
			["zuò"],
			["báo"]
		],
		"门庭若市": [
			["mén"],
			["tíng"],
			["ruò"],
			["shì"]
		],
		"扪参历井": [
			["mén"],
			["shēn"],
			["lì"],
			["jǐng"]
		],
		"闷沉沉": [
			["mèn"],
			["chén"],
			["chén"]
		],
		"闷罐车": [
			["mèn"],
			["guàn"],
			["chē"]
		],
		"闷海愁山": [
			["mèn"],
			["hǎi"],
			["chóu"],
			["shān"]
		],
		"闷葫芦": [
			["mèn"],
			["hú"],
			["lú"]
		],
		"闷闷不乐": [
			["mèn"],
			["mèn"],
			["bù"],
			["lè"]
		],
		"闷头儿": [
			["mèn"],
			["tou"],
			["er"]
		],
		"闷子车": [
			["mèn"],
			["zǐ"],
			["chē"]
		],
		"盟兄弟": [
			["méng"],
			["xiōng"],
			["dì"]
		],
		"蒙得维的亚": [
			["méng"],
			["de"],
			["wéi"],
			["de"],
			["yà"]
		],
		"蒙古包": [
			["měng"],
			["gǔ"],
			["bāo"]
		],
		"蒙古人种": [
			["měng"],
			["gǔ"],
			["rén"],
			["zhǒng"]
		],
		"蒙古族": [
			["měng"],
			["gǔ"],
			["zú"]
		],
		"蒙汗药": [
			["méng"],
			["hàn"],
			["yào"]
		],
		"蒙混过关": [
			["méng"],
			["hùn"],
			["guò"],
			["guān"]
		],
		"蒙昧无知": [
			["méng"],
			["mèi"],
			["wú"],
			["zhī"]
		],
		"蒙昧主义": [
			["méng"],
			["mèi"],
			["zhǔ"],
			["yì"]
		],
		"蒙袂辑屦": [
			["méng"],
			["mèi"],
			["jí"],
			["jù"]
		],
		"蒙蒙亮": [
			["méng"],
			["mēng"],
			["liàng"]
		],
		"蒙蒙黑": [
			["mēng"],
			["mēng"],
			["hēi"]
		],
		"蒙太奇": [
			["méng"],
			["tài"],
			["qí"]
		],
		"蒙头转向": [
			["mēng"],
			["tóu"],
			["zhuàn"],
			["xiàng"]
		],
		"蒙以养正": [
			["méng"],
			["yǐ"],
			["yǎng"],
			["zhèng"]
		],
		"蒙在鼓里": [
			["méng"],
			["zài"],
			["gǔ"],
			["lǐ"]
		],
		"孟加拉国": [
			["mèng"],
			["jiā"],
			["lā"],
			["guó"]
		],
		"孟什维克": [
			["mèng"],
			["shí"],
			["wéi"],
			["kè"]
		],
		"梦幻泡影": [
			["mèng"],
			["huàn"],
			["pào"],
			["yǐng"]
		],
		"梦魂颠倒": [
			["mèng"],
			["hún"],
			["diān"],
			["dǎo"]
		],
		"梦见周公": [
			["mèng"],
			["jiàn"],
			["zhōu"],
			["gōng"]
		],
		"梦里南轲": [
			["mèng"],
			["lǐ"],
			["nán"],
			["kē"]
		],
		"梦撒寮丁": [
			["mèng"],
			["sā"],
			["liáo"],
			["dīng"]
		],
		"梦撒撩丁": [
			["mèng"],
			["sā"],
			["liáo"],
			["dīng"]
		],
		"梦想颠倒": [
			["mèng"],
			["xiǎng"],
			["diān"],
			["dǎo"]
		],
		"梦中说梦": [
			["mèng"],
			["zhōng"],
			["shuō"],
			["mèng"]
		],
		"弥缝其阙": [
			["mí"],
			["féng"],
			["qí"],
			["què"]
		],
		"弥勒佛": [
			["mí"],
			["lè"],
			["fó"]
		],
		"弥留之际": [
			["mí"],
			["liú"],
			["zhī"],
			["jì"]
		],
		"弥日累夜": [
			["mí"],
			["rì"],
			["lèi"],
			["yè"]
		],
		"弥山亘野": [
			["mí"],
			["shān"],
			["gèn"],
			["yě"]
		],
		"弥天大谎": [
			["mí"],
			["tiān"],
			["dà"],
			["huǎng"]
		],
		"弥天大罪": [
			["mí"],
			["tiān"],
			["dà"],
			["zuì"]
		],
		"弥天大祸": [
			["mí"],
			["tiān"],
			["dà"],
			["huò"]
		],
		"迷而不反": [
			["mí"],
			["ér"],
			["bù"],
			["fǎn"]
		],
		"迷而不返": [
			["mí"],
			["ér"],
			["bù"],
			["fǎn"]
		],
		"迷而知反": [
			["mí"],
			["ér"],
			["zhī"],
			["fǎn"]
		],
		"迷而知返": [
			["mí"],
			["ér"],
			["zhī"],
			["fǎn"]
		],
		"迷魂汤": [
			["mí"],
			["hún"],
			["tāng"]
		],
		"迷惑不解": [
			["mí"],
			["huò"],
			["bù"],
			["jiě"]
		],
		"迷恋骸骨": [
			["mí"],
			["liàn"],
			["hài"],
			["gǔ"]
		],
		"迷迷糊糊": [
			["mí"],
			["mí"],
			["hu"],
			["hū"]
		],
		"迷天大谎": [
			["mí"],
			["tiān"],
			["dà"],
			["huǎng"]
		],
		"迷头认影": [
			["mí"],
			["tóu"],
			["rèn"],
			["yǐng"]
		],
		"迷天大罪": [
			["mí"],
			["tiān"],
			["dà"],
			["zuì"]
		],
		"迷涂知反": [
			["mí"],
			["tú"],
			["zhī"],
			["fǎn"]
		],
		"迷途知反": [
			["mí"],
			["tú"],
			["zhī"],
			["fǎn"]
		],
		"迷途知返": [
			["mí"],
			["tú"],
			["zhī"],
			["fǎn"]
		],
		"糜躯碎首": [
			["mí"],
			["qū"],
			["suì"],
			["shǒu"]
		],
		"靡坚不摧": [
			["mí"],
			["jiān"],
			["bù"],
			["cuī"]
		],
		"靡靡之乐": [
			["mǐ"],
			["mǐ"],
			["zhī"],
			["yuè"]
		],
		"靡然成风": [
			["mí"],
			["rán"],
			["chéng"],
			["fēng"]
		],
		"靡然顺风": [
			["mí"],
			["rán"],
			["shùn"],
			["fēng"]
		],
		"靡然从风": [
			["mǐ"],
			["rán"],
			["cóng"],
			["fēng"]
		],
		"靡然乡风": [
			["mí"],
			["rán"],
			["xiāng"],
			["fēng"]
		],
		"靡然向风": [
			["mí"],
			["rán"],
			["xiàng"],
			["fēng"]
		],
		"靡所底止": [
			["mí"],
			["suǒ"],
			["dǐ"],
			["zhǐ"]
		],
		"靡所适从": [
			["mí"],
			["suǒ"],
			["shì"],
			["cóng"]
		],
		"靡衣偷食": [
			["mǐ"],
			["yī"],
			["tōu"],
			["shí"]
		],
		"靡衣媮食": [
			["mǐ"],
			["yī"],
			["tōu"],
			["shí"]
		],
		"靡衣玉食": [
			["mí"],
			["yī"],
			["yù"],
			["shí"]
		],
		"靡有孑遗": [
			["mǐ"],
			["yǒu"],
			["jié"],
			["yí"]
		],
		"靡知所措": [
			["mí"],
			["zhī"],
			["suǒ"],
			["cuò"]
		],
		"秘而不露": [
			["mì"],
			["ér"],
			["bù"],
			["lù"]
		],
		"泌尿系统": [
			["mì"],
			["niào"],
			["xì"],
			["tǒng"]
		],
		"秘而不宣": [
			["mì"],
			["ér"],
			["bù"],
			["xuān"]
		],
		"秘而不言": [
			["mì"],
			["ér"],
			["bù"],
			["yán"]
		],
		"密不通风": [
			["mì"],
			["bù"],
			["tōng"],
			["fēng"]
		],
		"密约偷期": [
			["mì"],
			["yuē"],
			["tōu"],
			["qī"]
		],
		"密云不雨": [
			["mì"],
			["yún"],
			["bù"],
			["yǔ"]
		],
		"幂级数": [
			["mì"],
			["jí"],
			["shù"]
		],
		"蜜里调油": [
			["mì"],
			["lǐ"],
			["tiáo"],
			["yóu"]
		],
		"眠花宿柳": [
			["mián"],
			["huā"],
			["sù"],
			["liǔ"]
		],
		"眠花藉柳": [
			["mián"],
			["huā"],
			["jiè"],
			["liǔ"]
		],
		"眠云卧石": [
			["mián"],
			["yún"],
			["wò"],
			["shí"]
		],
		"眠思梦想": [
			["mián"],
			["sī"],
			["mèng"],
			["xiǎng"]
		],
		"绵里薄材": [
			["mián"],
			["lǐ"],
			["bó"],
			["cái"]
		],
		"绵里藏针": [
			["mián"],
			["lǐ"],
			["cáng"],
			["zhēn"]
		],
		"绵力薄材": [
			["mián"],
			["lì"],
			["bó"],
			["cái"]
		],
		"绵绵不断": [
			["mián"],
			["mián"],
			["bù"],
			["duàn"]
		],
		"绵绵不绝": [
			["mián"],
			["mián"],
			["bù"],
			["jué"]
		],
		"绵延不断": [
			["mián"],
			["yán"],
			["bù"],
			["duàn"]
		],
		"棉大衣": [
			["mián"],
			["dà"],
			["yī"]
		],
		"绵言细语": [
			["mián"],
			["yán"],
			["xì"],
			["yǔ"]
		],
		"棉红蜘蛛": [
			["mián"],
			["hóng"],
			["zhī"],
			["zhū"]
		],
		"棉织品": [
			["mián"],
			["zhī"],
			["pǐn"]
		],
		"免不得": [
			["miǎn"],
			["bù"],
			["dé"]
		],
		"免不了": [
			["miǎn"],
			["bù"],
			["liǎo"]
		],
		"黾穴鸲巢": [
			["měng"],
			["xué"],
			["qú"],
			["cháo"]
		],
		"俛拾仰取": [
			["fǔ"],
			["shí"],
			["yǎng"],
			["qǔ"]
		],
		"俛首帖耳": [
			["mǎ"],
			["shǒu"],
			["tiē"],
			["ěr"]
		],
		"勉勉强强": [
			["miǎn"],
			["miǎn"],
			["qiǎng"],
			["qiáng"]
		],
		"俛拾地芥": [
			["bì"],
			["shí"],
			["dì"],
			["jiè"]
		],
		"勉为其难": [
			["miǎn"],
			["wéi"],
			["qí"],
			["nán"]
		],
		"腼颜事仇": [
			["miǎn"],
			["yán"],
			["shì"],
			["chóu"]
		],
		"面包车": [
			["miàn"],
			["bāo"],
			["chē"]
		],
		"面北眉南": [
			["miàn"],
			["běi"],
			["méi"],
			["nán"]
		],
		"面壁磨砖": [
			["miàn"],
			["bì"],
			["mó"],
			["zhuān"]
		],
		"面从腹诽": [
			["miàn"],
			["cóng"],
			["fù"],
			["fěi"]
		],
		"面不改色": [
			["miàn"],
			["bù"],
			["gǎi"],
			["sè"]
		],
		"面不改容": [
			["miàn"],
			["bù"],
			["gǎi"],
			["róng"]
		],
		"面红耳热": [
			["miàn"],
			["hóng"],
			["ěr"],
			["rè"]
		],
		"面红耳赤": [
			["miàn"],
			["hóng"],
			["ěr"],
			["chì"]
		],
		"面红颈赤": [
			["miàn"],
			["hóng"],
			["jǐng"],
			["chì"]
		],
		"面红面赤": [
			["miàn"],
			["hóng"],
			["miàn"],
			["chì"]
		],
		"面红面绿": [
			["miàn"],
			["hóng"],
			["miàn"],
			["lǜ"]
		],
		"面面观": [
			["miàn"],
			["miàn"],
			["guān"]
		],
		"面面厮觑": [
			["miàn"],
			["miàn"],
			["sī"],
			["qù"]
		],
		"面面相睹": [
			["miàn"],
			["miàn"],
			["xiāng"],
			["dǔ"]
		],
		"面面相看": [
			["miàn"],
			["miàn"],
			["xiāng"],
			["kàn"]
		],
		"面面相窥": [
			["miàn"],
			["miàn"],
			["xiāng"],
			["kuī"]
		],
		"面面相觑": [
			["miàn"],
			["miàn"],
			["xiāng"],
			["qù"]
		],
		"面命耳提": [
			["miàn"],
			["mìng"],
			["ěr"],
			["tí"]
		],
		"面片儿": [
			["miàn"],
			["piān"],
			["er"]
		],
		"面目可憎": [
			["miàn"],
			["mù"],
			["kě"],
			["zēng"]
		],
		"面如冠玉": [
			["miàn"],
			["rú"],
			["guān"],
			["yù"]
		],
		"面若死灰": [
			["miàn"],
			["ruò"],
			["sǐ"],
			["huī"]
		],
		"面是背非": [
			["miàn"],
			["shì"],
			["bèi"],
			["fēi"]
		],
		"面似靴皮": [
			["miàn"],
			["sì"],
			["xuē"],
			["pí"]
		],
		"面有菜色": [
			["miàn"],
			["yǒu"],
			["cài"],
			["sè"]
		],
		"面有难色": [
			["miàn"],
			["yǒu"],
			["nán"],
			["sè"]
		],
		"面誉背毁": [
			["miàn"],
			["yù"],
			["bèi"],
			["huǐ"]
		],
		"面谀背毁": [
			["miàn"],
			["yú"],
			["bèi"],
			["huǐ"]
		],
		"面誉背非": [
			["miàn"],
			["yù"],
			["bèi"],
			["fēi"]
		],
		"面折廷争": [
			["miàn"],
			["zhé"],
			["tíng"],
			["zhēng"]
		],
		"面折廷诤": [
			["miàn"],
			["shé"],
			["tíng"],
			["zhèng"]
		],
		"苗而不秀": [
			["miáo"],
			["ér"],
			["bù"],
			["xiù"]
		],
		"面争庭论": [
			["miàn"],
			["zhēng"],
			["tíng"],
			["lùn"]
		],
		"面折庭争": [
			["miàn"],
			["shé"],
			["tíng"],
			["zhēng"]
		],
		"描头画角": [
			["miáo"],
			["tóu"],
			["huà"],
			["jiǎo"]
		],
		"描写画角": [
			["miáo"],
			["xiě"],
			["huà"],
			["jiǎo"]
		],
		"渺无音信": [
			["miǎo"],
			["wú"],
			["yīn"],
			["xìn"]
		],
		"渺不足道": [
			["miǎo"],
			["bù"],
			["zú"],
			["dào"]
		],
		"邈处欿视": [
			["miǎo"],
			["chǔ"],
			["jī"],
			["shì"]
		],
		"邈若河汉": [
			["miǎo"],
			["ruò"],
			["hé"],
			["hàn"]
		],
		"邈若河山": [
			["miǎo"],
			["ruò"],
			["hé"],
			["shān"]
		],
		"邈若山河": [
			["miǎo"],
			["ruò"],
			["shān"],
			["hé"]
		],
		"妙不可言": [
			["miào"],
			["bù"],
			["kě"],
			["yán"]
		],
		"妙处不传": [
			["miào"],
			["chù"],
			["bù"],
			["chuán"]
		],
		"妙趣横生": [
			["miào"],
			["qù"],
			["héng"],
			["shēng"]
		],
		"妙手偶得": [
			["miào"],
			["shǒu"],
			["ǒu"],
			["dé"]
		],
		"妙手空空": [
			["miào"],
			["shǒu"],
			["kōng"],
			["kōng"]
		],
		"妙言要道": [
			["miào"],
			["yán"],
			["yào"],
			["dào"]
		],
		"妙语解烦": [
			["miào"],
			["yǔ"],
			["jiě"],
			["fán"]
		],
		"妙语解颐": [
			["miào"],
			["yǔ"],
			["jiě"],
			["yí"]
		],
		"妙语惊人": [
			["miào"],
			["yǔ"],
			["jīng"],
			["rén"]
		],
		"妙语连珠": [
			["miào"],
			["yǔ"],
			["lián"],
			["zhū"]
		],
		"乜斜缠帐": [
			["niè"],
			["xié"],
			["chán"],
			["zhàng"]
		],
		"灭此朝食": [
			["miè"],
			["cǐ"],
			["zhāo"],
			["shí"]
		],
		"灭景追风": [
			["miè"],
			["yǐng"],
			["zhuī"],
			["fēng"]
		],
		"民办公助": [
			["mín"],
			["bàn"],
			["gōng"],
			["zhù"]
		],
		"民胞物与": [
			["mín"],
			["bāo"],
			["wù"],
			["yǔ"]
		],
		"民保于信": [
			["mín"],
			["bǎo"],
			["yú"],
			["xìn"]
		],
		"民不堪命": [
			["mín"],
			["bù"],
			["kān"],
			["mìng"]
		],
		"民不聊生": [
			["mín"],
			["bù"],
			["liáo"],
			["shēng"]
		],
		"民淳俗厚": [
			["mín"],
			["chún"],
			["sú"],
			["hòu"]
		],
		"民富国强": [
			["mín"],
			["fù"],
			["guó"],
			["qiáng"]
		],
		"民膏民脂": [
			["mín"],
			["gāo"],
			["mín"],
			["zhī"]
		],
		"民和年丰": [
			["mín"],
			["hé"],
			["nián"],
			["fēng"]
		],
		"民和年稔": [
			["mín"],
			["hé"],
			["nián"],
			["rěn"]
		],
		"民间故事": [
			["mín"],
			["jiān"],
			["gù"],
			["shì"]
		],
		"民间文学": [
			["mín"],
			["jiān"],
			["wén"],
			["xué"]
		],
		"民间艺术": [
			["mín"],
			["jiān"],
			["yì"],
			["shù"]
		],
		"民穷财尽": [
			["mín"],
			["qióng"],
			["cái"],
			["jìn"]
		],
		"民穷财匮": [
			["mín"],
			["qióng"],
			["cái"],
			["kuì"]
		],
		"民心不壹": [
			["mín"],
			["xīn"],
			["bù"],
			["yī"]
		],
		"民以食为天": [
			["mín"],
			["yǐ"],
			["shí"],
			["wéi"],
			["tiān"]
		],
		"民殷财阜": [
			["mín"],
			["yīn"],
			["cái"],
			["fù"]
		],
		"民殷国富": [
			["mín"],
			["yīn"],
			["guó"],
			["fù"]
		],
		"民有菜色": [
			["mín"],
			["yǒu"],
			["cài"],
			["sè"]
		],
		"民贼独夫": [
			["mín"],
			["zéi"],
			["dú"],
			["fū"]
		],
		"民脂民膏": [
			["mín"],
			["zhī"],
			["mín"],
			["gāo"]
		],
		"民主集中制": [
			["mín"],
			["zhǔ"],
			["jí"],
			["zhōng"],
			["zhì"]
		],
		"民族共同语": [
			["mín"],
			["zú"],
			["gòng"],
			["tóng"],
			["yǔ"]
		],
		"闵乱思治": [
			["mǐn"],
			["luàn"],
			["sī"],
			["zhì"]
		],
		"闽南话": [
			["mǐn"],
			["nán"],
			["huà"]
		],
		"闽北话": [
			["mǐn"],
			["běi"],
			["huà"]
		],
		"名不符实": [
			["míng"],
			["bù"],
			["fú"],
			["shí"]
		],
		"名不副实": [
			["míng"],
			["bù"],
			["fù"],
			["shí"]
		],
		"名不虚传": [
			["míng"],
			["bù"],
			["xū"],
			["chuán"]
		],
		"名不虚得": [
			["míng"],
			["bù"],
			["xū"],
			["dé"]
		],
		"名不虚立": [
			["míng"],
			["bù"],
			["xū"],
			["lì"]
		],
		"名垂万古": [
			["míng"],
			["chuí"],
			["wàn"],
			["gǔ"]
		],
		"名从主人": [
			["míng"],
			["cóng"],
			["zhǔ"],
			["rén"]
		],
		"名德重望": [
			["míng"],
			["dé"],
			["zhòng"],
			["wàng"]
		],
		"名存实亡": [
			["míng"],
			["cún"],
			["shí"],
			["wáng"]
		],
		"名符其实": [
			["míng"],
			["fú"],
			["qí"],
			["shí"]
		],
		"名副其实": [
			["míng"],
			["fù"],
			["qí"],
			["shí"]
		],
		"名高难副": [
			["míng"],
			["gāo"],
			["nán"],
			["fù"]
		],
		"名过其实": [
			["míng"],
			["guò"],
			["qí"],
			["shí"]
		],
		"名利场": [
			["míng"],
			["lì"],
			["chǎng"]
		],
		"名落孙山": [
			["míng"],
			["luò"],
			["sūn"],
			["shān"]
		],
		"名目繁多": [
			["míng"],
			["mù"],
			["fán"],
			["duō"]
		],
		"名山大川": [
			["míng"],
			["shān"],
			["dà"],
			["chuān"]
		],
		"名声过实": [
			["míng"],
			["shēng"],
			["guò"],
			["shí"]
		],
		"名声籍甚": [
			["míng"],
			["shēng"],
			["jí"],
			["shèn"]
		],
		"名实难副": [
			["míng"],
			["shí"],
			["nán"],
			["fù"]
		],
		"名实相副": [
			["míng"],
			["shí"],
			["xiāng"],
			["fù"]
		],
		"名实相符": [
			["míng"],
			["shí"],
			["xiāng"],
			["fú"]
		],
		"名士风流": [
			["míng"],
			["shì"],
			["fēng"],
			["liú"]
		],
		"名同实异": [
			["míng"],
			["tóng"],
			["shí"],
			["yì"]
		],
		"名我固当": [
			["ming"],
			["wo"],
			["gu"],
			["dang"]
		],
		"名正言顺": [
			["míng"],
			["zhèng"],
			["yán"],
			["shùn"]
		],
		"名正理顺": [
			["míng"],
			["zhèng"],
			["lǐ"],
			["shùn"]
		],
		"名重一时": [
			["míng"],
			["zhòng"],
			["yī"],
			["shí"]
		],
		"明白了当": [
			["míng"],
			["bái"],
			["liǎo"],
			["dàng"]
		],
		"明摆着": [
			["míng"],
			["bǎi"],
			["zhe"]
		],
		"明查暗访": [
			["míng"],
			["chá"],
			["àn"],
			["fǎng"]
		],
		"明耻教战": [
			["míng"],
			["chǐ"],
			["jiào"],
			["zhàn"]
		],
		"明窗净几": [
			["míng"],
			["chuāng"],
			["jìng"],
			["jī"]
		],
		"明儿个": [
			["míng"],
			["ér"],
			["gè"]
		],
		"明法审令": [
			["míng"],
			["fǎ"],
			["shěn"],
			["lìng"]
		],
		"明发不寐": [
			["míng"],
			["fā"],
			["bù"],
			["mèi"]
		],
		"明公正道": [
			["míng"],
			["gōng"],
			["zhèng"],
			["dào"]
		],
		"明公正气": [
			["míng"],
			["gōng"],
			["zhèng"],
			["qì"]
		],
		"明公正义": [
			["míng"],
			["gōng"],
			["zhèng"],
			["yì"]
		],
		"明晃晃": [
			["míng"],
			["huǎng"],
			["huǎng"]
		],
		"明婚正配": [
			["míng"],
			["hūn"],
			["zhèng"],
			["pèi"]
		],
		"明婚正娶": [
			["míng"],
			["hūn"],
			["zhèng"],
			["qǔ"]
		],
		"明见万里": [
			["míng"],
			["jiàn"],
			["wàn"],
			["lǐ"]
		],
		"明角灯": [
			["míng"],
			["jiǎo"],
			["dēng"]
		],
		"明教不变": [
			["míng"],
			["jiào"],
			["bù"],
			["biàn"]
		],
		"明媒正娶": [
			["míng"],
			["méi"],
			["zhèng"],
			["qǔ"]
		],
		"明媒正礼": [
			["míng"],
			["méi"],
			["zhèng"],
			["lǐ"]
		],
		"明抢暗偷": [
			["míng"],
			["qiǎng"],
			["àn"],
			["tōu"]
		],
		"明人不做暗事": [
			["míng"],
			["rén"],
			["bù"],
			["zuò"],
			["àn"],
			["shì"]
		],
		"明若观火": [
			["míng"],
			["ruò"],
			["guān"],
			["huǒ"]
		],
		"明赏不费": [
			["míng"],
			["shǎng"],
			["bù"],
			["fèi"]
		],
		"明升暗降": [
			["míng"],
			["shēng"],
			["àn"],
			["jiàng"]
		],
		"明堂正道": [
			["míng"],
			["táng"],
			["zhèng"],
			["dào"]
		],
		"明效大验": [
			["míng"],
			["xiào"],
			["dà"],
			["yà"]
		],
		"明心见性": [
			["míng"],
			["xīn"],
			["jiàn"],
			["xìng"]
		],
		"明信片": [
			["míng"],
			["xìn"],
			["piàn"]
		],
		"明刑弼教": [
			["míng"],
			["xíng"],
			["bì"],
			["jiào"]
		],
		"明刑不戮": [
			["míng"],
			["xíng"],
			["bù"],
			["lù"]
		],
		"明验大效": [
			["míng"],
			["yàn"],
			["dà"],
			["xiào"]
		],
		"明扬侧陋": [
			["míng"],
			["yáng"],
			["cè"],
			["lòu"]
		],
		"明月清风": [
			["míng"],
			["yuè"],
			["qīng"],
			["fēng"]
		],
		"明昭昏蒙": [
			["míng"],
			["zhāo"],
			["hūn"],
			["méng"]
		],
		"明争暗斗": [
			["míng"],
			["zhēng"],
			["àn"],
			["dòu"]
		],
		"明正典刑": [
			["míng"],
			["zhèng"],
			["diǎn"],
			["xíng"]
		],
		"明知故问": [
			["míng"],
			["zhī"],
			["gù"],
			["wèn"]
		],
		"明知故犯": [
			["míng"],
			["zhī"],
			["gù"],
			["fàn"]
		],
		"明珠弹雀": [
			["míng"],
			["zhū"],
			["tán"],
			["què"]
		],
		"鸣不平": [
			["míng"],
			["bù"],
			["píng"]
		],
		"鸣凤朝阳": [
			["míng"],
			["fèng"],
			["zhāo"],
			["yáng"]
		],
		"鸣鹤之应": [
			["míng"],
			["hè"],
			["zhī"],
			["yīng"]
		],
		"鸣锣喝道": [
			["míng"],
			["luó"],
			["hè"],
			["dào"]
		],
		"鸣野食苹": [
			["míng"],
			["yě"],
			["shí"],
			["píng"]
		],
		"冥漠之都": [
			["míng"],
			["mò"],
			["zhī"],
			["dōu"]
		],
		"鸣钟食鼎": [
			["míng"],
			["zhōng"],
			["shí"],
			["dǐng"]
		],
		"冥思苦索": [
			["míng"],
			["sī"],
			["kǔ"],
			["suǒ"]
		],
		"冥思苦想": [
			["míng"],
			["sī"],
			["kǔ"],
			["xiǎng"]
		],
		"冥顽不灵": [
			["míng"],
			["wán"],
			["bù"],
			["líng"]
		],
		"冥王星": [
			["míng"],
			["wáng"],
			["xīng"]
		],
		"冥行盲索": [
			["míng"],
			["xíng"],
			["máng"],
			["suǒ"]
		],
		"冥行擿埴": [
			["míng"],
			["xíng"],
			["zhì"],
			["zhí"]
		],
		"冥昭瞢闇": [
			["míng"],
			["zhāo"],
			["méng"],
			["àn"]
		],
		"铭肤镂骨": [
			["míng"],
			["fū"],
			["lòu"],
			["gǔ"]
		],
		"铭感不忘": [
			["míng"],
			["gǎn"],
			["bù"],
			["wàng"]
		],
		"铭感五内": [
			["míng"],
			["gǎn"],
			["wǔ"],
			["nèi"]
		],
		"铭肌镂骨": [
			["míng"],
			["jī"],
			["lòu"],
			["gǔ"]
		],
		"铭记不忘": [
			["míng"],
			["jì"],
			["bù"],
			["wàng"]
		],
		"铭心刻骨": [
			["míng"],
			["xīn"],
			["kè"],
			["gǔ"]
		],
		"铭心镂骨": [
			["míng"],
			["xīn"],
			["lòu"],
			["gǔ"]
		],
		"瞑思苦想": [
			["míng"],
			["sī"],
			["kǔ"],
			["xiǎng"]
		],
		"酩酊大醉": [
			["mǐng"],
			["dǐng"],
			["dà"],
			["zuì"]
		],
		"酩酊烂醉": [
			["mǐng"],
			["dǐng"],
			["làn"],
			["zuì"]
		],
		"命薄缘悭": [
			["mìng"],
			["báo"],
			["yuán"],
			["qiān"]
		],
		"命令句": [
			["mìng"],
			["lìng"],
			["jù"]
		],
		"命令主义": [
			["mìng"],
			["lìng"],
			["zhǔ"],
			["yì"]
		],
		"命若悬丝": [
			["mìng"],
			["ruò"],
			["xuán"],
			["sī"]
		],
		"命中注定": [
			["mìng"],
			["zhōng"],
			["zhù"],
			["dìng"]
		],
		"命中率": [
			["mìng"],
			["zhòng"],
			["lǜ"]
		],
		"谬采虚声": [
			["miù"],
			["cǎi"],
			["xū"],
			["shēng"]
		],
		"谬采虚誉": [
			["miù"],
			["cǎi"],
			["xū"],
			["yù"]
		],
		"谬托知己": [
			["miù"],
			["tuō"],
			["zhī"],
			["jǐ"]
		],
		"谬妄无稽": [
			["miù"],
			["wàng"],
			["wú"],
			["jī"]
		],
		"谬种流传": [
			["miù"],
			["zhǒng"],
			["liú"],
			["chuán"]
		],
		"缪种流传": [
			["miù"],
			["zhǒng"],
			["liú"],
			["chuán"]
		],
		"摸不着": [
			["mō"],
			["bù"],
			["zháo"]
		],
		"摸不着边": [
			["mō"],
			["bù"],
			["zhuó"],
			["biān"]
		],
		"摸不着头脑": [
			["mō"],
			["bù"],
			["zháo"],
			["tóu"],
			["nǎo"]
		],
		"摸金校尉": [
			["mō"],
			["jīn"],
			["xiào"],
			["wèi"]
		],
		"摸门不着": [
			["mō"],
			["mén"],
			["bù"],
			["zháo"]
		],
		"摸头不着": [
			["mō"],
			["tóu"],
			["bù"],
			["zháo"]
		],
		"摸着石头过河": [
			["mō"],
			["zhe"],
			["shí"],
			["tou"],
			["guò"],
			["hé"]
		],
		"模棱两端": [
			["mó"],
			["léng"],
			["liǎng"],
			["duān"]
		],
		"模模糊糊": [
			["mó"],
			["mó"],
			["hu"],
			["hū"]
		],
		"模棱两可": [
			["mó"],
			["léng"],
			["liǎng"],
			["kě"]
		],
		"模山范水": [
			["mó"],
			["shān"],
			["fàn"],
			["shuǐ"]
		],
		"模式识别": [
			["mó"],
			["shì"],
			["shí"],
			["bié"]
		],
		"模特儿": [
			["mó"],
			["tè"],
			["ér"]
		],
		"摩擦力": [
			["mó"],
			["cā"],
			["lì"]
		],
		"摩顶放踵": [
			["mó"],
			["dǐng"],
			["fàng"],
			["zhǒng"]
		],
		"摩顶至踵": [
			["mó"],
			["dǐng"],
			["zhì"],
			["zhǒng"]
		],
		"摩顶至足": [
			["mó"],
			["dǐng"],
			["zhì"],
			["zú"]
		],
		"摩加迪沙": [
			["mó"],
			["jiā"],
			["dí"],
			["shā"]
		],
		"摩肩擦踵": [
			["mó"],
			["jiān"],
			["cā"],
			["zhǒng"]
		],
		"摩肩击毂": [
			["mó"],
			["jiān"],
			["jī"],
			["gǔ"]
		],
		"摩肩接毂": [
			["mó"],
			["jiān"],
			["jiē"],
			["gǔ"]
		],
		"摩肩接踵": [
			["mó"],
			["jiān"],
			["jiē"],
			["zhǒng"]
		],
		"摩厉以须": [
			["mó"],
			["lì"],
			["yǐ"],
			["xū"]
		],
		"摩口膏舌": [
			["mó"],
			["kǒu"],
			["gāo"],
			["shé"]
		],
		"摩厉以需": [
			["mó"],
			["lì"],
			["yǐ"],
			["xū"]
		],
		"摩砺以须": [
			["mó"],
			["lì"],
			["yǐ"],
			["xū"]
		],
		"摩拳擦掌": [
			["mó"],
			["quán"],
			["cā"],
			["zhǎng"]
		],
		"摩天楼": [
			["mó"],
			["tiān"],
			["lóu"]
		],
		"摩托车": [
			["mó"],
			["tuō"],
			["chē"]
		],
		"磨不开": [
			["mó"],
			["bù"],
			["kāi"]
		],
		"磨杵作针": [
			["mó"],
			["chǔ"],
			["zuò"],
			["zhēn"]
		],
		"磨杵成针": [
			["mó"],
			["chǔ"],
			["chéng"],
			["zhēn"]
		],
		"磨穿铁砚": [
			["mó"],
			["chuān"],
			["tiě"],
			["yàn"]
		],
		"磨穿铁鞋": [
			["mó"],
			["chuān"],
			["tiě"],
			["xié"]
		],
		"磨刀不误砍柴工": [
			["mó"],
			["dāo"],
			["bù"],
			["wù"],
			["kǎn"],
			["chái"],
			["gōng"]
		],
		"磨刀擦枪": [
			["mó"],
			["dāo"],
			["cā"],
			["qiāng"]
		],
		"磨刀霍霍": [
			["mó"],
			["dāo"],
			["huò"],
			["huò"]
		],
		"磨砥刻厉": [
			["mó"],
			["dǐ"],
			["kè"],
			["lì"]
		],
		"磨豆腐": [
			["mó"],
			["dòu"],
			["fǔ"]
		],
		"磨盾之暇": [
			["mó"],
			["dùn"],
			["zhī"],
			["xiá"]
		],
		"磨昬抉聩": [
			["mó"],
			["hūn"],
			["jué"],
			["kuì"]
		],
		"磨棱刓角": [
			["mó"],
			["léng"],
			["liǎng"],
			["jiǎo"]
		],
		"磨厉以须": [
			["mó"],
			["lì"],
			["yǐ"],
			["xū"]
		],
		"磨砻底厉": [
			["mó"],
			["lóng"],
			["dǐ"],
			["lì"]
		],
		"磨砺以须": [
			["mó"],
			["lì"],
			["yǐ"],
			["xū"]
		],
		"磨砻砥砺": [
			["mó"],
			["lóng"],
			["dǐ"],
			["lì"]
		],
		"磨砻镌切": [
			["mó"],
			["lóng"],
			["juān"],
			["qiē"]
		],
		"磨砻浸灌": [
			["mó"],
			["lóng"],
			["jìn"],
			["guàn"]
		],
		"磨礲浸灌": [
			["mó"],
			["lóng"],
			["jìn"],
			["guàn"]
		],
		"磨礲淬励": [
			["mó"],
			["lóng"],
			["cuì"],
			["lì"]
		],
		"磨礲砥砺": [
			["mó"],
			["lóng"],
			["dǐ"],
			["lì"]
		],
		"磨盘两圆": [
			["mò"],
			["pán"],
			["liǎng"],
			["yuán"]
		],
		"磨铅策蹇": [
			["mó"],
			["qiān"],
			["cè"],
			["jiǎn"]
		],
		"磨拳擦掌": [
			["mó"],
			["quán"],
			["cā"],
			["zhǎng"]
		],
		"磨形炼性": [
			["mó"],
			["xíng"],
			["liàn"],
			["xìng"]
		],
		"磨牙吮血": [
			["mó"],
			["yá"],
			["shǔn"],
			["xuè"]
		],
		"磨牙凿齿": [
			["mó"],
			["yá"],
			["záo"],
			["chǐ"]
		],
		"磨洋工": [
			["mó"],
			["yáng"],
			["gōng"]
		],
		"磨踵灭顶": [
			["mó"],
			["zhǒng"],
			["miè"],
			["dǐng"]
		],
		"磨砖成镜": [
			["mó"],
			["zhuān"],
			["chéng"],
			["jìng"]
		],
		"抹不开": [
			["mò"],
			["bù"],
			["kāi"]
		],
		"魔术师": [
			["mó"],
			["shù"],
			["shī"]
		],
		"抹脖子": [
			["mǒ"],
			["bó"],
			["zi"]
		],
		"抹粉施脂": [
			["mò"],
			["fěn"],
			["shī"],
			["zhī"]
		],
		"抹稀泥": [
			["mǒ"],
			["xī"],
			["ní"]
		],
		"抹月秕风": [
			["mǒ"],
			["yuè"],
			["pī"],
			["fēng"]
		],
		"抹一鼻子灰": [
			["mǒ"],
			["yī"],
			["bí"],
			["zi"],
			["huī"]
		],
		"抹月批风": [
			["mǒ"],
			["yuè"],
			["pī"],
			["fēng"]
		],
		"末班车": [
			["mò"],
			["bān"],
			["chē"]
		],
		"末大必折": [
			["mò"],
			["dà"],
			["bì"],
			["zhé"]
		],
		"末大不掉": [
			["mò"],
			["dà"],
			["bù"],
			["diào"]
		],
		"末节细行": [
			["mò"],
			["jié"],
			["xì"],
			["xíng"]
		],
		"末路之难": [
			["mò"],
			["lù"],
			["zhī"],
			["nán"]
		],
		"末如之何": [
			["mò"],
			["rú"],
			["zhī"],
			["hé"]
		],
		"末梢神经": [
			["mò"],
			["shāo"],
			["shén"],
			["jīng"]
		],
		"陌路相逢": [
			["mò"],
			["lù"],
			["xiāng"],
			["féng"]
		],
		"莫辨楮叶": [
			["mò"],
			["biàn"],
			["chǔ"],
			["yè"]
		],
		"莫不是": [
			["mò"],
			["bú"],
			["shì"]
		],
		"莫测高深": [
			["mò"],
			["cè"],
			["gāo"],
			["shēn"]
		],
		"莫此为甚": [
			["mò"],
			["cǐ"],
			["wéi"],
			["shèn"]
		],
		"莫敢谁何": [
			["mò"],
			["gǎn"],
			["shuí"],
			["hé"]
		],
		"莫过于": [
			["mò"],
			["guò"],
			["yú"]
		],
		"莫可究诘": [
			["mò"],
			["kě"],
			["jiū"],
			["jié"]
		],
		"莫可名状": [
			["mò"],
			["kě"],
			["míng"],
			["zhuàng"]
		],
		"莫可奈何": [
			["mò"],
			["kě"],
			["nài"],
			["hé"]
		],
		"莫名其妙": [
			["mò"],
			["míng"],
			["qí"],
			["miào"]
		],
		"莫明其妙": [
			["mò"],
			["míng"],
			["qí"],
			["miào"]
		],
		"莫逆于心": [
			["mò"],
			["nì"],
			["yú"],
			["xīn"]
		],
		"莫逆之交": [
			["mò"],
			["nì"],
			["zhī"],
			["jiāo"]
		],
		"莫桑比克": [
			["mò"],
			["sāng"],
			["bǐ"],
			["kè"]
		],
		"莫斯科": [
			["mò"],
			["sī"],
			["kē"]
		],
		"莫斯科大学": [
			["mò"],
			["sī"],
			["kē"],
			["dà"],
			["xué"]
		],
		"莫为已甚": [
			["mò"],
			["wéi"],
			["yǐ"],
			["shèn"]
		],
		"莫须有": [
			["mò"],
			["xū"],
			["yǒu"]
		],
		"莫予毒也": [
			["mò"],
			["yù"],
			["dú"],
			["yě"]
		],
		"莫余毒也": [
			["mò"],
			["yú"],
			["dú"],
			["yě"]
		],
		"莫展一筹": [
			["mò"],
			["zhǎn"],
			["yī"],
			["chóu"]
		],
		"莫之与京": [
			["mò"],
			["zhī"],
			["yǔ"],
			["jīng"]
		],
		"莫知所为": [
			["mò"],
			["zhī"],
			["suǒ"],
			["wéi"]
		],
		"漠不关心": [
			["mò"],
			["bù"],
			["guān"],
			["xīn"]
		],
		"漠不相关": [
			["mò"],
			["bù"],
			["xiāng"],
			["guān"]
		],
		"莫衷一是": [
			["mò"],
			["zhōng"],
			["yī"],
			["shì"]
		],
		"墨斗鱼": [
			["mò"],
			["dǒu"],
			["yú"]
		],
		"墨迹未干": [
			["mò"],
			["jì"],
			["wèi"],
			["gān"]
		],
		"墨突不黔": [
			["mò"],
			["tū"],
			["bù"],
			["qián"]
		],
		"墨汁未干": [
			["mò"],
			["zhī"],
			["wèi"],
			["gān"]
		],
		"默而识之": [
			["mò"],
			["ér"],
			["shí"],
			["zhī"]
		],
		"默不作声": [
			["mò"],
			["bù"],
			["zuò"],
			["shēng"]
		],
		"默化潜移": [
			["mò"],
			["huà"],
			["qián"],
			["yí"]
		],
		"默契神会": [
			["mò"],
			["qì"],
			["shén"],
			["huì"]
		],
		"默转潜移": [
			["mò"],
			["zhuǎn"],
			["qián"],
			["yí"]
		],
		"侔色揣称": [
			["móu"],
			["sè"],
			["chuǎi"],
			["chèn"]
		],
		"谋臣猛将": [
			["móu"],
			["chén"],
			["měng"],
			["jiāng"]
		],
		"谋臣如雨": [
			["móu"],
			["chén"],
			["rú"],
			["yǔ"]
		],
		"谋听计行": [
			["móu"],
			["tīng"],
			["jì"],
			["xíng"]
		],
		"谋如涌泉": [
			["móu"],
			["rú"],
			["yǒng"],
			["quán"]
		],
		"谋臣武将": [
			["móu"],
			["chén"],
			["wǔ"],
			["jiàng"]
		],
		"谋夫孔多": [
			["móu"],
			["fū"],
			["kǒng"],
			["duō"]
		],
		"谋图不轨": [
			["móu"],
			["tú"],
			["bù"],
			["guǐ"]
		],
		"谋为不轨": [
			["móu"],
			["wéi"],
			["bù"],
			["guǐ"]
		],
		"母难之日": [
			["mǔ"],
			["nán"],
			["zhī"],
			["rì"]
		],
		"母夜叉": [
			["mǔ"],
			["yè"],
			["chā"]
		],
		"木雕泥塑": [
			["mù"],
			["diāo"],
			["ní"],
			["sù"]
		],
		"木干鸟栖": [
			["mù"],
			["gàn"],
			["niǎo"],
			["qī"]
		],
		"木坏山颓": [
			["mù"],
			["huài"],
			["shān"],
			["tuí"]
		],
		"木化石": [
			["mù"],
			["huà"],
			["shí"]
		],
		"木落归本": [
			["mù"],
			["luò"],
			["guī"],
			["běn"]
		],
		"木偶片": [
			["mù"],
			["ǒu"],
			["piàn"]
		],
		"木偶戏": [
			["mù"],
			["ǒu"],
			["xì"]
		],
		"木石心肠": [
			["mù"],
			["shí"],
			["xīn"],
			["cháng"]
		],
		"木人石心": [
			["mù"],
			["rén"],
			["shí"],
			["xīn"]
		],
		"木头木脑": [
			["mù"],
			["tóu"],
			["mù"],
			["nǎo"]
		],
		"木心石腹": [
			["mù"],
			["xīn"],
			["shí"],
			["fù"]
		],
		"木头人": [
			["mù"],
			["tou"],
			["rén"]
		],
		"目别汇分": [
			["mù"],
			["bié"],
			["huì"],
			["fēn"]
		],
		"目不别视": [
			["mù"],
			["bù"],
			["bié"],
			["shì"]
		],
		"目不给赏": [
			["mù"],
			["bù"],
			["gěi"],
			["shǎng"]
		],
		"目不苟视": [
			["mù"],
			["bù"],
			["gǒu"],
			["shì"]
		],
		"目不见睫": [
			["mù"],
			["bù"],
			["jiàn"],
			["jié"]
		],
		"目不交睫": [
			["mù"],
			["bù"],
			["jiāo"],
			["jié"]
		],
		"目不忍睹": [
			["mù"],
			["bù"],
			["rěn"],
			["dǔ"]
		],
		"目不窥园": [
			["mù"],
			["bù"],
			["kuī"],
			["yuán"]
		],
		"目不忍见": [
			["mù"],
			["bù"],
			["rěn"],
			["jiàn"]
		],
		"目不忍视": [
			["mù"],
			["bù"],
			["rěn"],
			["shì"]
		],
		"目不识书": [
			["mù"],
			["bù"],
			["shí"],
			["shū"]
		],
		"目不识丁": [
			["mù"],
			["bù"],
			["shí"],
			["dīng"]
		],
		"目不暇给": [
			["mù"],
			["bù"],
			["xiá"],
			["jǐ"]
		],
		"目不暇接": [
			["mù"],
			["bù"],
			["xiá"],
			["jiē"]
		],
		"目不邪视": [
			["mù"],
			["bù"],
			["xié"],
			["shì"]
		],
		"目不斜视": [
			["mù"],
			["bù"],
			["xié"],
			["shì"]
		],
		"目成心许": [
			["mù"],
			["chéng"],
			["xīn"],
			["xǔ"]
		],
		"目不知书": [
			["mù"],
			["bù"],
			["zhī"],
			["shū"]
		],
		"目不转睛": [
			["mù"],
			["bù"],
			["zhuǎn"],
			["jīng"]
		],
		"目的地": [
			["mù"],
			["dì"],
			["dì"]
		],
		"目的论": [
			["mù"],
			["dì"],
			["lùn"]
		],
		"目瞪口结": [
			["mù"],
			["dèng"],
			["kǒu"],
			["jié"]
		],
		"目瞪舌彊": [
			["mù"],
			["dèng"],
			["shé"],
			["jiàng"]
		],
		"目瞪舌强": [
			["mù"],
			["dèng"],
			["shé"],
			["qiáng"]
		],
		"目光短浅": [
			["mù"],
			["guāng"],
			["duǎn"],
			["qiǎn"]
		],
		"目睫之论": [
			["mù"],
			["jié"],
			["zhī"],
			["lùn"]
		],
		"目见耳闻": [
			["mù"],
			["jiàn"],
			["ěr"],
			["wén"]
		],
		"目空一切": [
			["mù"],
			["kōng"],
			["yī"],
			["qiè"]
		],
		"目量意营": [
			["mù"],
			["liàng"],
			["yì"],
			["yíng"]
		],
		"目空一世": [
			["mù"],
			["kōng"],
			["yī"],
			["shì"]
		],
		"目空余子": [
			["mù"],
			["kōng"],
			["yú"],
			["zǐ"]
		],
		"目目相觑": [
			["mù"],
			["mù"],
			["xiāng"],
			["qù"]
		],
		"目若悬珠": [
			["mù"],
			["ruò"],
			["xuán"],
			["zhū"]
		],
		"目使颐令": [
			["mù"],
			["shǐ"],
			["yí"],
			["lìng"]
		],
		"目食耳视": [
			["mù"],
			["shí"],
			["ěr"],
			["shì"]
		],
		"目挑心悦": [
			["mù"],
			["tiāo"],
			["xīn"],
			["yuè"]
		],
		"目挑眉语": [
			["mù"],
			["tiāo"],
			["méi"],
			["yǔ"]
		],
		"目挑心招": [
			["mù"],
			["tiǎo"],
			["xīn"],
			["zhāo"]
		],
		"目窕心与": [
			["mù"],
			["tiǎo"],
			["xīn"],
			["yǔ"]
		],
		"目无法纪": [
			["mù"],
			["wú"],
			["fǎ"],
			["jì"]
		],
		"目无三尺": [
			["mù"],
			["wú"],
			["sān"],
			["chǐ"]
		],
		"目无王法": [
			["mù"],
			["wú"],
			["wáng"],
			["fǎ"]
		],
		"目无尊长": [
			["mù"],
			["wú"],
			["zūn"],
			["zhǎng"]
		],
		"目眩头昏": [
			["mù"],
			["xuàn"],
			["tóu"],
			["hūn"]
		],
		"目下十行": [
			["mù"],
			["xià"],
			["shí"],
			["háng"]
		],
		"目眩头晕": [
			["mù"],
			["xuàn"],
			["tóu"],
			["yūn"]
		],
		"目语额瞬": [
			["mù"],
			["yǔ"],
			["é"],
			["shùn"]
		],
		"目眢心忳": [
			["mù"],
			["yuān"],
			["xīn"],
			["wǎng"]
		],
		"目知眼见": [
			["mù"],
			["zhī"],
			["yǎn"],
			["jiàn"]
		],
		"目中无人": [
			["mù"],
			["zhōng"],
			["wú"],
			["rén"]
		],
		"目眦尽裂": [
			["mù"],
			["zì"],
			["jìn"],
			["liè"]
		],
		"沐猴衣冠": [
			["mù"],
			["hóu"],
			["yī"],
			["guàn"]
		],
		"沐猴而冠": [
			["mù"],
			["hóu"],
			["ér"],
			["guàn"]
		],
		"沐露梳风": [
			["mù"],
			["lù"],
			["shū"],
			["fēng"]
		],
		"沐露沾霜": [
			["mù"],
			["lù"],
			["zhān"],
			["shuāng"]
		],
		"沐雨经霜": [
			["mù"],
			["yǔ"],
			["jīng"],
			["shuāng"]
		],
		"沐雨梳风": [
			["mù"],
			["yǔ"],
			["shū"],
			["fēng"]
		],
		"沐雨栉风": [
			["mù"],
			["yǔ"],
			["zhì"],
			["fēng"]
		],
		"牧羊人": [
			["mù"],
			["yáng"],
			["rén"]
		],
		"牧猪奴戏": [
			["mù"],
			["zhòu"],
			["nú"],
			["xì"]
		],
		"幕天席地": [
			["mù"],
			["tiān"],
			["xí"],
			["dì"]
		],
		"幕燕鼎鱼": [
			["mù"],
			["yàn"],
			["dǐng"],
			["yú"]
		],
		"幕燕釜鱼": [
			["mù"],
			["yàn"],
			["fǔ"],
			["yú"]
		],
		"暮楚朝秦": [
			["mù"],
			["chǔ"],
			["cháo"],
			["qín"]
		],
		"慕古薄今": [
			["mù"],
			["gǔ"],
			["bó"],
			["jīn"]
		],
		"暮爨朝舂": [
			["mù"],
			["cuàn"],
			["cháo"],
			["chōng"]
		],
		"暮翠朝红": [
			["mù"],
			["cuì"],
			["cháo"],
			["hóng"]
		],
		"暮鼓朝钟": [
			["mù"],
			["gǔ"],
			["cháo"],
			["zhōng"]
		],
		"暮虢朝虞": [
			["mù"],
			["guó"],
			["zhāo"],
			["yú"]
		],
		"暮景残光": [
			["mù"],
			["jǐng"],
			["cán"],
			["guāng"]
		],
		"暮景桑榆": [
			["mù"],
			["jǐng"],
			["sāng"],
			["yú"]
		],
		"暮礼晨参": [
			["mù"],
			["lǐ"],
			["chén"],
			["cān"]
		],
		"暮暮朝朝": [
			["mù"],
			["mù"],
			["zhāo"],
			["zhāo"]
		],
		"暮去朝来": [
			["mù"],
			["qù"],
			["cháo"],
			["lái"]
		],
		"暮四朝三": [
			["mù"],
			["sì"],
			["cháo"],
			["sān"]
		],
		"暮想朝思": [
			["mù"],
			["xiǎng"],
			["cháo"],
			["sī"]
		],
		"暮夜无知": [
			["mù"],
			["yè"],
			["wú"],
			["zhī"]
		],
		"暮雨朝云": [
			["mù"],
			["yǔ"],
			["zhāo"],
			["yún"]
		],
		"穆如清风": [
			["mù"],
			["rú"],
			["qīng"],
			["fēng"]
		],
		"拏风跃云": [
			["ná"],
			["fēng"],
			["yuè"],
			["yún"]
		],
		"拏云攫石": [
			["ná"],
			["yún"],
			["jué"],
			["shí"]
		],
		"拿不出手": [
			["ná"],
			["bù"],
			["chū"],
			["shǒu"]
		],
		"拿不准": [
			["ná"],
			["bù"],
			["zhǔn"]
		],
		"拿粗挟细": [
			["ná"],
			["cū"],
			["xié"],
			["xì"]
		],
		"拿粗夹细": [
			["ná"],
			["cū"],
			["jiā"],
			["xì"]
		],
		"拿刀弄杖": [
			["ná"],
			["dāo"],
			["nòng"],
			["zhàng"]
		],
		"拿大顶": [
			["ná"],
			["dà"],
			["dǐng"]
		],
		"拿摩温": [
			["ná"],
			["mó"],
			["wēn"]
		],
		"拿腔作调": [
			["ná"],
			["qiāng"],
			["zuò"],
			["diào"]
		],
		"拿手好戏": [
			["ná"],
			["shǒu"],
			["hǎo"],
			["xì"]
		],
		"拿云攫石": [
			["ná"],
			["yún"],
			["jué"],
			["shí"]
		],
		"拿贼见赃": [
			["ná"],
			["zéi"],
			["jiàn"],
			["zāng"]
		],
		"哪会儿": [
			["něi"],
			["huì"],
			["er"]
		],
		"哪门子": [
			["nǎ"],
			["mén"],
			["zǐ"]
		],
		"内部矛盾": [
			["nèi"],
			["bù"],
			["máo"],
			["dùn"]
		],
		"内出血": [
			["nèi"],
			["chū"],
			["xuè"]
		],
		"内查外调": [
			["nèi"],
			["chá"],
			["wài"],
			["diào"]
		],
		"内当家": [
			["nèi"],
			["dāng"],
			["jiā"]
		],
		"内分泌": [
			["nèi"],
			["fēn"],
			["mì"]
		],
		"内顾之忧": [
			["nèi"],
			["gù"],
			["zhī"],
			["yōu"]
		],
		"内果皮": [
			["nèi"],
			["guǒ"],
			["pí"]
		],
		"内紧外松": [
			["nèi"],
			["jǐn"],
			["wài"],
			["sōng"]
		],
		"内峻外和": [
			["nèi"],
			["jùn"],
			["wai"],
			["hé"]
		],
		"内陆国": [
			["nèi"],
			["lù"],
			["guó"]
		],
		"内陆海": [
			["nèi"],
			["lù"],
			["hǎi"]
		],
		"内陆河": [
			["nèi"],
			["lù"],
			["hé"]
		],
		"内陆湖": [
			["nèi"],
			["lù"],
			["hú"]
		],
		"内切圆": [
			["nèi"],
			["qiē"],
			["yuán"]
		],
		"内燃机": [
			["nèi"],
			["rán"],
			["jī"]
		],
		"内容提要": [
			["nèi"],
			["róng"],
			["tí"],
			["yào"]
		],
		"内柔外刚": [
			["nèi"],
			["róu"],
			["wai"],
			["gāng"]
		],
		"内省不疚": [
			["nèi"],
			["xǐng"],
			["bù"],
			["jiù"]
		],
		"内圣外王": [
			["nèi"],
			["shèng"],
			["wài"],
			["wáng"]
		],
		"内视反听": [
			["nèi"],
			["shì"],
			["fǎn"],
			["tīng"]
		],
		"内外夹攻": [
			["nèi"],
			["wài"],
			["jiā"],
			["gōng"]
		],
		"内外交困": [
			["nèi"],
			["wài"],
			["jiāo"],
			["kùn"]
		],
		"内斜视": [
			["nèi"],
			["xié"],
			["shì"]
		],
		"内心里": [
			["nèi"],
			["xīn"],
			["lǐ"]
		],
		"内心世界": [
			["nèi"],
			["xīn"],
			["shì"],
			["jiè"]
		],
		"内修外攘": [
			["nèi"],
			["xiū"],
			["wai"],
			["rǎng"]
		],
		"内忧外患": [
			["nèi"],
			["yōu"],
			["wài"],
			["huàn"]
		],
		"内忧外侮": [
			["nèi"],
			["yōu"],
			["wài"],
			["wǔ"]
		],
		"内掌柜": [
			["nèi"],
			["zhǎng"],
			["guì"]
		],
		"内侄女": [
			["nèi"],
			["zhí"],
			["nǚ"]
		],
		"内助之贤": [
			["nèi"],
			["zhù"],
			["zhī"],
			["xián"]
		],
		"那不勒斯": [
			["nà"],
			["bù"],
			["lè"],
			["sī"]
		],
		"那达慕": [
			["nà"],
			["dá"],
			["mù"]
		],
		"那会儿": [
			["nà"],
			["huì"],
			["er"]
		],
		"那么些": [
			["nà"],
			["mǒ"],
			["xiē"]
		],
		"那么点儿": [
			["nà"],
			["me"],
			["diǎn"],
			["er"]
		],
		"那么多": [
			["nà"],
			["me"],
			["duō"]
		],
		"那么着": [
			["nà"],
			["me"],
			["zhāo"]
		],
		"那阵儿": [
			["nà"],
			["zhèn"],
			["ér"]
		],
		"纳贡称臣": [
			["nà"],
			["gòng"],
			["chēng"],
			["chén"]
		],
		"纳垢藏污": [
			["nà"],
			["gòu"],
			["cáng"],
			["wū"]
		],
		"纳闷儿": [
			["nà"],
			["mèn"],
			["ér"]
		],
		"纳新吐故": [
			["nà"],
			["xīn"],
			["tǔ"],
			["gù"]
		],
		"乃心王室": [
			["nǎi"],
			["xīn"],
			["wáng"],
			["shì"]
		],
		"耐人咀嚼": [
			["nài"],
			["rén"],
			["jǔ"],
			["jué"]
		],
		"男傧相": [
			["nán"],
			["bīn"],
			["xiàng"]
		],
		"男才女貌": [
			["nán"],
			["cái"],
			["nǚ"],
			["mào"]
		],
		"男唱女随": [
			["nán"],
			["chàng"],
			["nǚ"],
			["suí"]
		],
		"男大当婚": [
			["nán"],
			["dà"],
			["dāng"],
			["hūn"]
		],
		"男大当娶": [
			["nán"],
			["dà"],
			["dāng"],
			["qǔ"]
		],
		"男大须婚": [
			["nán"],
			["dà"],
			["xū"],
			["hūn"]
		],
		"男盗女娼": [
			["nán"],
			["dào"],
			["nǚ"],
			["chāng"]
		],
		"男儿有泪不轻弹": [
			["nán"],
			["ér"],
			["yǒu"],
			["lèi"],
			["bù"],
			["qīng"],
			["tán"]
		],
		"男耕女织": [
			["nán"],
			["gēng"],
			["nǚ"],
			["zhī"]
		],
		"男欢女爱": [
			["nán"],
			["huān"],
			["nǚ"],
			["ài"]
		],
		"男婚女嫁": [
			["nán"],
			["hūn"],
			["nǚ"],
			["jià"]
		],
		"男婚女聘": [
			["nán"],
			["hūn"],
			["nǚ"],
			["pìn"]
		],
		"男男女女": [
			["nán"],
			["nán"],
			["nǚ"],
			["nǚ"]
		],
		"男女老少": [
			["nán"],
			["nǚ"],
			["lǎo"],
			["shào"]
		],
		"男女老小": [
			["nán"],
			["nǚ"],
			["lǎo"],
			["xiǎo"]
		],
		"男女老幼": [
			["nán"],
			["nǚ"],
			["lǎo"],
			["yòu"]
		],
		"男女平等": [
			["nán"],
			["nǚ"],
			["píng"],
			["děng"]
		],
		"男女授受不亲": [
			["nán"],
			["nǚ"],
			["shòu"],
			["shòu"],
			["bù"],
			["qīn"]
		],
		"男女有别": [
			["nán"],
			["nǚ"],
			["yǒu"],
			["bié"]
		],
		"男室女家": [
			["nán"],
			["shì"],
			["nǚ"],
			["jiā"]
		],
		"男中音": [
			["nán"],
			["zhōng"],
			["yīn"]
		],
		"男尊女卑": [
			["nán"],
			["zūn"],
			["nǚ"],
			["bēi"]
		],
		"南半球": [
			["nán"],
			["bàn"],
			["qiú"]
		],
		"南北朝": [
			["nán"],
			["běi"],
			["cháo"]
		],
		"南船北车": [
			["nán"],
			["chuán"],
			["běi"],
			["chē"]
		],
		"南贩北贾": [
			["nán"],
			["fàn"],
			["běi"],
			["gǔ"]
		],
		"南风不竞": [
			["nán"],
			["fēng"],
			["bù"],
			["jìng"]
		],
		"南瓜子": [
			["nán"],
			["guā"],
			["zǐ"]
		],
		"南冠楚囚": [
			["nán"],
			["guān"],
			["chǔ"],
			["qiú"]
		],
		"南郭先生": [
			["nán"],
			["guō"],
			["xiān"],
			["shēng"]
		],
		"南郭处士": [
			["nán"],
			["guō"],
			["chǔ"],
			["shì"]
		],
		"南航北骑": [
			["nán"],
			["háng"],
			["běi"],
			["qí"]
		],
		"南户窥郎": [
			["nán"],
			["hù"],
			["kuī"],
			["láng"]
		],
		"南箕北斗": [
			["nán"],
			["jī"],
			["běi"],
			["dǒu"]
		],
		"南金东箭": [
			["nán"],
			["jīn"],
			["dōng"],
			["jiàn"]
		],
		"南橘北枳": [
			["nán"],
			["jú"],
			["běi"],
			["zhǐ"]
		],
		"南柯梦": [
			["nán"],
			["kē"],
			["mèng"]
		],
		"南柯一梦": [
			["nán"],
			["kē"],
			["yī"],
			["mèng"]
		],
		"南来北往": [
			["nán"],
			["lái"],
			["běi"],
			["wǎng"]
		],
		"南蛮鴃舌": [
			["nán"],
			["mán"],
			["jué"],
			["shé"]
		],
		"南蛮鴂舌": [
			["nán"],
			["mán"],
			["xiāng"],
			["shé"]
		],
		"南美洲": [
			["nán"],
			["měi"],
			["zhōu"]
		],
		"南面称孤": [
			["nán"],
			["miàn"],
			["chēng"],
			["gū"]
		],
		"南面百城": [
			["nán"],
			["miàn"],
			["bǎi"],
			["chéng"]
		],
		"南南合作": [
			["nán"],
			["nán"],
			["hé"],
			["zuò"]
		],
		"南泥湾": [
			["nán"],
			["ní"],
			["wān"]
		],
		"南腔北调": [
			["nán"],
			["qiāng"],
			["běi"],
			["diào"]
		],
		"南去北来": [
			["nán"],
			["qù"],
			["běi"],
			["lái"]
		],
		"南阮北阮": [
			["nán"],
			["ruǎn"],
			["běi"],
			["ruǎn"]
		],
		"南沙群岛": [
			["nán"],
			["shā"],
			["qún"],
			["dǎo"]
		],
		"南山可移": [
			["nán"],
			["shān"],
			["kě"],
			["yí"]
		],
		"南山铁案": [
			["nán"],
			["shān"],
			["tiě"],
			["àn"]
		],
		"南天门": [
			["nán"],
			["tiān"],
			["mén"]
		],
		"南天竹": [
			["nán"],
			["tiān"],
			["zhú"]
		],
		"南温带": [
			["nán"],
			["wēn"],
			["dài"]
		],
		"南亚次大陆": [
			["nán"],
			["yà"],
			["cì"],
			["dà"],
			["lù"]
		],
		"南阳市": [
			["nán"],
			["yáng"],
			["shì"]
		],
		"南鹞北鹰": [
			["nán"],
			["yào"],
			["běi"],
			["yīng"]
		],
		"南辕北辙": [
			["nán"],
			["yuán"],
			["běi"],
			["zhé"]
		],
		"南舣北驾": [
			["nán"],
			["yǐ"],
			["běi"],
			["jià"]
		],
		"南棹北辕": [
			["nán"],
			["zhào"],
			["běi"],
			["yuán"]
		],
		"南征北伐": [
			["nán"],
			["zhēng"],
			["běi"],
			["fá"]
		],
		"南征北讨": [
			["nán"],
			["zhēng"],
			["běi"],
			["tǎo"]
		],
		"南征北战": [
			["nán"],
			["zhēng"],
			["běi"],
			["zhàn"]
		],
		"南枝北枝": [
			["nán"],
			["zhī"],
			["běi"],
			["zhī"]
		],
		"南州冠冕": [
			["nán"],
			["zhōu"],
			["guān"],
			["miǎn"]
		],
		"难得糊涂": [
			["nán"],
			["dé"],
			["hú"],
			["tú"]
		],
		"难弟难兄": [
			["nán"],
			["dì"],
			["nán"],
			["xiōng"]
		],
		"难分难解": [
			["nán"],
			["fēn"],
			["nán"],
			["jiě"]
		],
		"难分难舍": [
			["nán"],
			["fēn"],
			["nán"],
			["shě"]
		],
		"难割难舍": [
			["nán"],
			["gē"],
			["nán"],
			["shè"]
		],
		"难更仆数": [
			["nán"],
			["gēng"],
			["pú"],
			["shǔ"]
		],
		"难乎其难": [
			["nán"],
			["hū"],
			["qí"],
			["nán"]
		],
		"难乎为情": [
			["nán"],
			["hū"],
			["wéi"],
			["qíng"]
		],
		"难乎为继": [
			["nán"],
			["hū"],
			["wéi"],
			["jì"]
		],
		"难解难分": [
			["nán"],
			["jiě"],
			["nán"],
			["fēn"]
		],
		"难进易退": [
			["nan"],
			["jin"],
			["yi"],
			["tui"]
		],
		"难鸣孤掌": [
			["nán"],
			["míng"],
			["gū"],
			["zhǎng"]
		],
		"难能可贵": [
			["nán"],
			["néng"],
			["kě"],
			["guì"]
		],
		"难上难": [
			["nán"],
			["shàng"],
			["nán"]
		],
		"难上加难": [
			["nán"],
			["shàng"],
			["jiā"],
			["nán"]
		],
		"难舍难分": [
			["nán"],
			["shě"],
			["nán"],
			["fēn"]
		],
		"难说话": [
			["nán"],
			["shuō"],
			["huà"]
		],
		"难为情": [
			["nán"],
			["wéi"],
			["qíng"]
		],
		"难兄难弟": [
			["nàn"],
			["xiōng"],
			["nàn"],
			["dì"]
		],
		"难言之隐": [
			["nán"],
			["yán"],
			["zhī"],
			["yǐn"]
		],
		"难以为情": [
			["nán"],
			["yǐ"],
			["wéi"],
			["qíng"]
		],
		"难以为继": [
			["nán"],
			["yǐ"],
			["wéi"],
			["jì"]
		],
		"难以预料": [
			["nán"],
			["yǐ"],
			["yù"],
			["liào"]
		],
		"难以置信": [
			["nán"],
			["yǐ"],
			["zhì"],
			["xìn"]
		],
		"难于上青天": [
			["nán"],
			["yú"],
			["shàng"],
			["qīng"],
			["tiān"]
		],
		"难于上天": [
			["nán"],
			["yú"],
			["shàng"],
			["tiān"]
		],
		"喃喃细语": [
			["nán"],
			["nán"],
			["xì"],
			["yǔ"]
		],
		"喃喃自语": [
			["nán"],
			["nán"],
			["zì"],
			["yǔ"]
		],
		"赧颜汗下": [
			["nǎn"],
			["yán"],
			["hàn"],
			["xià"]
		],
		"囊里盛锥": [
			["náng"],
			["lǐ"],
			["shèng"],
			["zhuī"]
		],
		"囊漏储中": [
			["náng"],
			["lòu"],
			["chǔ"],
			["zhōng"]
		],
		"囊漏贮中": [
			["náng"],
			["lòu"],
			["zhù"],
			["zhōng"]
		],
		"囊匣如洗": [
			["náng"],
			["xiá"],
			["rú"],
			["xǐ"]
		],
		"囊萤映雪": [
			["náng"],
			["yíng"],
			["yìng"],
			["xuě"]
		],
		"囊萤照读": [
			["náng"],
			["yíng"],
			["zhào"],
			["shū"]
		],
		"囊萤照书": [
			["náng"],
			["yíng"],
			["zhào"],
			["shū"]
		],
		"囊锥露颖": [
			["náng"],
			["zhuī"],
			["lù"],
			["yǐng"]
		],
		"挠曲枉直": [
			["náo"],
			["qū"],
			["wǎng"],
			["zhí"]
		],
		"挠直为曲": [
			["náo"],
			["zhí"],
			["wéi"],
			["qū"]
		],
		"脑充血": [
			["nǎo"],
			["chōng"],
			["xuè"]
		],
		"脑贫血": [
			["nǎo"],
			["pín"],
			["xuè"]
		],
		"脑溢血": [
			["nǎo"],
			["yì"],
			["xuè"]
		],
		"闹别扭": [
			["nào"],
			["biè"],
			["niǔ"]
		],
		"闹肚子": [
			["nào"],
			["dǔ"],
			["zi"]
		],
		"闹哄哄": [
			["nào"],
			["hōng"],
			["hǒng"]
		],
		"闹嚷嚷": [
			["nào"],
			["rāng"],
			["rang"]
		],
		"闹意见": [
			["nào"],
			["yì"],
			["jiàn"]
		],
		"闹着玩": [
			["nào"],
			["zhe"],
			["wán"]
		],
		"闹着玩儿": [
			["nào"],
			["zhe"],
			["wán"],
			["ér"]
		],
		"讷口少言": [
			["nè"],
			["kǒu"],
			["shǎo"],
			["yán"]
		],
		"讷言敏行": [
			["nè"],
			["yán"],
			["mǐn"],
			["xíng"]
		],
		"呢喃细语": [
			["ní"],
			["nán"],
			["xì"],
			["yǔ"]
		],
		"能不称官": [
			["néng"],
			["bù"],
			["chèn"],
			["guān"]
		],
		"能动性": [
			["néng"],
			["dòng"],
			["xìng"]
		],
		"能工巧匠": [
			["néng"],
			["gōng"],
			["qiǎo"],
			["jiàng"]
		],
		"能见度": [
			["néng"],
			["jiàn"],
			["dù"]
		],
		"能近取譬": [
			["néng"],
			["jìn"],
			["qǔ"],
			["pì"]
		],
		"能谋善断": [
			["néng"],
			["móu"],
			["shàn"],
			["duàn"]
		],
		"能掐会算": [
			["néng"],
			["qiā"],
			["huì"],
			["suàn"]
		],
		"能上能下": [
			["néng"],
			["shàng"],
			["néng"],
			["xià"]
		],
		"能屈能伸": [
			["néng"],
			["qū"],
			["néng"],
			["shēn"]
		],
		"能说惯道": [
			["néng"],
			["shuō"],
			["guàn"],
			["dào"]
		],
		"能伸能屈": [
			["néng"],
			["shēn"],
			["néng"],
			["qū"]
		],
		"能说会道": [
			["néng"],
			["shuō"],
			["huì"],
			["dào"]
		],
		"能文能武": [
			["néng"],
			["wén"],
			["néng"],
			["wǔ"]
		],
		"能写会算": [
			["néng"],
			["xiě"],
			["huì"],
			["suàn"]
		],
		"能言快语": [
			["néng"],
			["yán"],
			["kuài"],
			["yǔ"]
		],
		"能言快说": [
			["néng"],
			["yán"],
			["kuài"],
			["shuō"]
		],
		"能牙利齿": [
			["néng"],
			["yá"],
			["lì"],
			["chǐ"]
		],
		"能言巧辩": [
			["néng"],
			["yán"],
			["qiǎo"],
			["biàn"]
		],
		"能言善辩": [
			["néng"],
			["yán"],
			["shàn"],
			["biàn"]
		],
		"能者多劳": [
			["néng"],
			["zhě"],
			["duō"],
			["láo"]
		],
		"能者为师": [
			["néng"],
			["zhě"],
			["wéi"],
			["shī"]
		],
		"能征惯战": [
			["néng"],
			["zhēng"],
			["guàn"],
			["zhàn"]
		],
		"泥车瓦马": [
			["ní"],
			["chē"],
			["wǎ"],
			["mǎ"]
		],
		"泥船渡河": [
			["ní"],
			["chuán"],
			["dù"],
			["hé"]
		],
		"泥多佛大": [
			["ní"],
			["duō"],
			["fó"],
			["dà"]
		],
		"泥而不滓": [
			["niè"],
			["ér"],
			["bù"],
			["zǐ"]
		],
		"泥古不化": [
			["nì"],
			["gǔ"],
			["bù"],
			["huà"]
		],
		"泥饭碗": [
			["ní"],
			["fàn"],
			["wǎn"]
		],
		"泥古非今": [
			["nì"],
			["gǔ"],
			["fēi"],
			["jīn"]
		],
		"泥古拘方": [
			["nì"],
			["gǔ"],
			["jū"],
			["fāng"]
		],
		"泥金万点": [
			["ní"],
			["jīn"],
			["wàn"],
			["diǎn"]
		],
		"泥名失实": [
			["nì"],
			["míng"],
			["shī"],
			["shí"]
		],
		"泥牛入海": [
			["ní"],
			["niú"],
			["rù"],
			["hǎi"]
		],
		"泥蟠不滓": [
			["ní"],
			["pān"],
			["bù"],
			["zǐ"]
		],
		"泥菩萨": [
			["ní"],
			["pú"],
			["sà"]
		],
		"泥菩萨过江": [
			["ní"],
			["pú"],
			["sà"],
			["guò"],
			["jiāng"]
		],
		"泥沙俱下": [
			["ní"],
			["shā"],
			["jù"],
			["xià"]
		],
		"泥石流": [
			["ní"],
			["shí"],
			["liú"]
		],
		"泥水匠": [
			["ní"],
			["shuǐ"],
			["jiàng"]
		],
		"泥塑木雕": [
			["ní"],
			["sù"],
			["mù"],
			["diāo"]
		],
		"泥娃娃": [
			["ní"],
			["wá"],
			["wa"]
		],
		"泥中隐刺": [
			["ní"],
			["zhōng"],
			["yǐn"],
			["cì"]
		],
		"泥瓦匠": [
			["ní"],
			["wǎ"],
			["jiàng"]
		],
		"泥猪疥狗": [
			["ní"],
			["zhū"],
			["jiè"],
			["gǒu"]
		],
		"泥猪癞狗": [
			["ní"],
			["zhū"],
			["lài"],
			["gǒu"]
		],
		"泥猪瓦狗": [
			["ní"],
			["zhū"],
			["wǎ"],
			["gǒu"]
		],
		"泥足巨人": [
			["ní"],
			["zú"],
			["jù"],
			["rén"]
		],
		"你唱我和": [
			["nǐ"],
			["chàng"],
			["wǒ"],
			["hé"]
		],
		"你追我赶": [
			["nǐ"],
			["zhuī"],
			["wǒ"],
			["gǎn"]
		],
		"拟非其伦": [
			["nǐ"],
			["fēi"],
			["qí"],
			["lún"]
		],
		"拟人化": [
			["nǐ"],
			["rén"],
			["huà"]
		],
		"拟于不伦": [
			["nǐ"],
			["yú"],
			["bù"],
			["lún"]
		],
		"儗不于伦": [
			["lǐ"],
			["bù"],
			["yú"],
			["lún"]
		],
		"儗非其伦": [
			["nǐ"],
			["fēi"],
			["qí"],
			["lún"]
		],
		"逆耳利行": [
			["nì"],
			["ěr"],
			["lì"],
			["xíng"]
		],
		"逆风恶浪": [
			["nì"],
			["fēng"],
			["è"],
			["làng"]
		],
		"逆天暴物": [
			["nì"],
			["tiān"],
			["bào"],
			["wù"]
		],
		"逆施倒行": [
			["nì"],
			["shī"],
			["dǎo"],
			["xíng"]
		],
		"逆水行舟": [
			["nì"],
			["shuǐ"],
			["xíng"],
			["zhōu"]
		],
		"逆行倒施": [
			["nì"],
			["xíng"],
			["dào"],
			["shī"]
		],
		"匿名信": [
			["nì"],
			["míng"],
			["xìn"]
		],
		"匿迹隐形": [
			["nì"],
			["jì"],
			["yǐn"],
			["xíng"]
		],
		"匿影藏形": [
			["nì"],
			["yǐng"],
			["cáng"],
			["xíng"]
		],
		"溺心灭质": [
			["nì"],
			["xīn"],
			["miè"],
			["zhì"]
		],
		"拈毫弄管": [
			["niān"],
			["háo"],
			["nòng"],
			["guǎn"]
		],
		"拈花弄柳": [
			["niān"],
			["huā"],
			["nòng"],
			["liǔ"]
		],
		"拈花弄月": [
			["niān"],
			["huā"],
			["nòng"],
			["yuè"]
		],
		"拈华摘艳": [
			["niān"],
			["huá"],
			["zhāi"],
			["yàn"]
		],
		"拈轻掇重": [
			["niān"],
			["qīng"],
			["duō"],
			["zhòng"]
		],
		"拈轻怕重": [
			["niān"],
			["qīng"],
			["pà"],
			["zhòng"]
		],
		"年产量": [
			["nián"],
			["chǎn"],
			["liàng"]
		],
		"年富力强": [
			["nián"],
			["fù"],
			["lì"],
			["qiáng"]
		],
		"年高望重": [
			["nián"],
			["gāo"],
			["wàng"],
			["zhòng"]
		],
		"年谷不登": [
			["nián"],
			["gǔ"],
			["bù"],
			["dēng"]
		],
		"年华垂暮": [
			["nián"],
			["huá"],
			["chuí"],
			["mù"]
		],
		"年老体弱": [
			["nián"],
			["lǎo"],
			["tǐ"],
			["ruò"]
		],
		"年衰岁暮": [
			["nián"],
			["shuāi"],
			["suì"],
			["mù"]
		],
		"年头月尾": [
			["nián"],
			["tóu"],
			["yuè"],
			["wěi"]
		],
		"年湮世远": [
			["nián"],
			["yān"],
			["shì"],
			["yuǎn"]
		],
		"年谊世好": [
			["nián"],
			["yì"],
			["shì"],
			["hào"]
		],
		"鲇鱼上竿": [
			["nián"],
			["yú"],
			["shàng"],
			["gān"]
		],
		"鲇鱼上竹": [
			["nián"],
			["yú"],
			["shàng"],
			["zhú"]
		],
		"鲇鱼上竹竿": [
			["nián"],
			["yú"],
			["shàng"],
			["zhú"],
			["gān"]
		],
		"黏合剂": [
			["nián"],
			["hé"],
			["jì"]
		],
		"黏吝缴绕": [
			["nián"],
			["lìn"],
			["jiǎo"],
			["rào"]
		],
		"黏皮带骨": [
			["nián"],
			["pí"],
			["dài"],
			["gǔ"]
		],
		"黏黏糊糊": [
			["nián"],
			["nián"],
			["hū"],
			["hū"]
		],
		"黏皮着骨": [
			["nián"],
			["pí"],
			["zhe"],
			["gǔ"]
		],
		"捻土为香": [
			["niǎn"],
			["tǔ"],
			["wéi"],
			["xiāng"]
		],
		"捻神捻鬼": [
			["niǎn"],
			["shén"],
			["niǎn"],
			["guǐ"]
		],
		"捻土焚香": [
			["niǎn"],
			["tǔ"],
			["fén"],
			["xiāng"]
		],
		"念念不忘": [
			["niàn"],
			["niàn"],
			["bù"],
			["wàng"]
		],
		"念念有词": [
			["niàn"],
			["niàn"],
			["yǒu"],
			["cǐ"]
		],
		"念兹在兹": [
			["niàn"],
			["zī"],
			["zài"],
			["zī"]
		],
		"鸟尽弓藏": [
			["niǎo"],
			["jìn"],
			["gōng"],
			["cáng"]
		],
		"鸟道羊肠": [
			["niǎo"],
			["dào"],
			["yáng"],
			["cháng"]
		],
		"鸟得弓藏": [
			["niǎo"],
			["dé"],
			["gōng"],
			["cáng"]
		],
		"鸟惊鱼溃": [
			["niǎo"],
			["jīng"],
			["yú"],
			["kuì"]
		],
		"鸟惊鱼散": [
			["niǎo"],
			["jīng"],
			["yú"],
			["sàn"]
		],
		"鸟枪换炮": [
			["niǎo"],
			["qiāng"],
			["huàn"],
			["pào"]
		],
		"鸟入樊笼": [
			["niǎo"],
			["rù"],
			["fán"],
			["lóng"]
		],
		"鸟散鱼溃": [
			["niǎo"],
			["sàn"],
			["yú"],
			["kuì"]
		],
		"鸟兽散": [
			["niǎo"],
			["shòu"],
			["sàn"]
		],
		"鸟啼花落": [
			["niǎo"],
			["tí"],
			["huā"],
			["luò"]
		],
		"袅娜娉婷": [
			["niǎo"],
			["nuó"],
			["pīng"],
			["tíng"]
		],
		"鸟语花香": [
			["niǎo"],
			["yǔ"],
			["huā"],
			["xiāng"]
		],
		"袅袅娜娜": [
			["niǎo"],
			["niǎo"],
			["nuó"],
			["nuó"]
		],
		"尿崩症": [
			["niào"],
			["bēng"],
			["zhèng"]
		],
		"尿道炎": [
			["niào"],
			["dào"],
			["yán"]
		],
		"尿流屁滚": [
			["niào"],
			["liú"],
			["pì"],
			["gǔn"]
		],
		"捏把汗": [
			["niē"],
			["bǎ"],
			["hàn"]
		],
		"捏怪排科": [
			["niē"],
			["guài"],
			["pái"],
			["kē"]
		],
		"捏一把汗": [
			["niē"],
			["yī"],
			["bǎ"],
			["hàn"]
		],
		"涅而不淄": [
			["niè"],
			["ér"],
			["bù"],
			["zī"]
		],
		"涅而不缁": [
			["niè"],
			["ér"],
			["bù"],
			["zī"]
		],
		"啮臂之好": [
			["niè"],
			["bì"],
			["zhī"],
			["hǎo"]
		],
		"啮血沁骨": [
			["niè"],
			["xuè"],
			["qìn"],
			["gǔ"]
		],
		"啮血为盟": [
			["niè"],
			["xuè"],
			["wéi"],
			["méng"]
		],
		"蹑屩担簦": [
			["niè"],
			["juē"],
			["dān"],
			["dēng"]
		],
		"蹑影藏形": [
			["niè"],
			["yǐng"],
			["cáng"],
			["xíng"]
		],
		"蹑蹻担簦": [
			["niè"],
			["juē"],
			["dān"],
			["dēng"]
		],
		"蹑影追风": [
			["niè"],
			["yǐng"],
			["zhuī"],
			["fēng"]
		],
		"蹑足其间": [
			["niè"],
			["zú"],
			["qí"],
			["jiān"]
		],
		"孽障种子": [
			["niè"],
			["zhàng"],
			["zhǒng"],
			["zǐ"]
		],
		"宁缺毋滥": [
			["nìng"],
			["quē"],
			["wù"],
			["làn"]
		],
		"宁缺勿滥": [
			["nìng"],
			["quē"],
			["wù"],
			["làn"]
		],
		"宁死不屈": [
			["nìng"],
			["sǐ"],
			["bù"],
			["qū"]
		],
		"宁死不辱": [
			["níng"],
			["sǐ"],
			["bù"],
			["rǔ"]
		],
		"宁为玉碎，不为瓦全": [
			["nìng"],
			["wéi"],
			["yù"],
			["suì"],
			["，"],
			["bù"],
			["wéi"],
			["wǎ"],
			["quán"]
		],
		"宁馨儿": [
			["níng"],
			["xīn"],
			["ér"]
		],
		"宁折不弯": [
			["nìng"],
			["zhé"],
			["bù"],
			["wān"]
		],
		"拧成一股绳": [
			["níng"],
			["chéng"],
			["yī"],
			["gǔ"],
			["shéng"]
		],
		"凝血酶": [
			["níng"],
			["xuè"],
			["méi"]
		],
		"凝瞩不转": [
			["níng"],
			["zhǔ"],
			["bù"],
			["zhuǎn"]
		],
		"牛不喝水强按头": [
			["niú"],
			["bù"],
			["hē"],
			["shuǐ"],
			["qiǎng"],
			["àn"],
			["tóu"]
		],
		"牛高马大": [
			["niú"],
			["gāo"],
			["mǎ"],
			["dà"]
		],
		"牛鬼蛇神": [
			["niú"],
			["guǐ"],
			["shé"],
			["shén"]
		],
		"牛骥共牢": [
			["niú"],
			["jì"],
			["gòng"],
			["láo"]
		],
		"牛骥同槽": [
			["niú"],
			["jì"],
			["tóng"],
			["cáo"]
		],
		"牛骥同皁": [
			["niú"],
			["jì"],
			["tóng"],
			["wěn"]
		],
		"牛骥同皂": [
			["niú"],
			["jì"],
			["tóng"],
			["zào"]
		],
		"牛角挂书": [
			["niú"],
			["jiǎo"],
			["guà"],
			["shū"]
		],
		"牛角尖": [
			["niú"],
			["jiǎo"],
			["jiān"]
		],
		"牛角书生": [
			["niú"],
			["jiǎo"],
			["shū"],
			["shēng"]
		],
		"牛角之歌": [
			["niú"],
			["jiǎo"],
			["zhī"],
			["gē"]
		],
		"牛郎星": [
			["niú"],
			["láng"],
			["xīng"]
		],
		"牛毛细雨": [
			["niú"],
			["máo"],
			["xì"],
			["yǔ"]
		],
		"牛郎织女": [
			["niú"],
			["láng"],
			["zhī"],
			["nǚ"]
		],
		"牛毛雨": [
			["niú"],
			["máo"],
			["yǔ"]
		],
		"牛溲马勃": [
			["niú"],
			["sōu"],
			["mǎ"],
			["bó"]
		],
		"牛蹄中鱼": [
			["niú"],
			["tí"],
			["zhōng"],
			["yú"]
		],
		"牛听弹琴": [
			["niú"],
			["tīng"],
			["tán"],
			["qín"]
		],
		"牛头不对马面": [
			["niú"],
			["tóu"],
			["bù"],
			["duì"],
			["mǎ"],
			["miàn"]
		],
		"牛头马面": [
			["niú"],
			["tóu"],
			["mǎ"],
			["miàn"]
		],
		"牛头不对马嘴": [
			["niú"],
			["tóu"],
			["bù"],
			["duì"],
			["mǎ"],
			["zuǐ"]
		],
		"牛星织女": [
			["niú"],
			["xīng"],
			["zhī"],
			["nǚ"]
		],
		"牛羊勿践": [
			["niú"],
			["yáng"],
			["wù"],
			["jiàn"]
		],
		"牛仔裤": [
			["niú"],
			["zǎi"],
			["kù"]
		],
		"忸怩不安": [
			["niǔ"],
			["ní"],
			["bù"],
			["ān"]
		],
		"扭曲作直": [
			["niǔ"],
			["qū"],
			["zuò"],
			["zhí"]
		],
		"扭直作曲": [
			["niǔ"],
			["zhí"],
			["zuò"],
			["qū"]
		],
		"扭转干坤": [
			["niǔ"],
			["zhuǎn"],
			["gàn"],
			["kūn"]
		],
		"扭转乾坤": [
			["niǔ"],
			["zhuǎn"],
			["qián"],
			["kūn"]
		],
		"农林牧副渔": [
			["nóng"],
			["lín"],
			["mù"],
			["fù"],
			["yú"]
		],
		"农贸市场": [
			["nóng"],
			["mào"],
			["shì"],
			["chǎng"]
		],
		"农民协会": [
			["nóng"],
			["mín"],
			["xié"],
			["huì"]
		],
		"农转非": [
			["nóng"],
			["zhuǎn"],
			["fēi"]
		],
		"浓眉大眼": [
			["nóng"],
			["méi"],
			["dà"],
			["yǎn"]
		],
		"浓抹淡妆": [
			["nóng"],
			["mò"],
			["dàn"],
			["zhuāng"]
		],
		"浓墨重彩": [
			["nóng"],
			["mò"],
			["zhòng"],
			["cǎi"]
		],
		"浓荫蔽日": [
			["nóng"],
			["yīn"],
			["bì"],
			["rì"]
		],
		"浓妆艳服": [
			["nóng"],
			["zhuāng"],
			["yàn"],
			["fú"]
		],
		"浓妆艳抹": [
			["nóng"],
			["zhuāng"],
			["yàn"],
			["mǒ"]
		],
		"浓装艳抹": [
			["nóng"],
			["zhuāng"],
			["yàn"],
			["mò"]
		],
		"弄兵潢池": [
			["nòng"],
			["bīng"],
			["huáng"],
			["shi"]
		],
		"弄潮儿": [
			["nòng"],
			["cháo"],
			["ér"]
		],
		"弄法舞文": [
			["nòng"],
			["fǎ"],
			["wǔ"],
			["wén"]
		],
		"弄粉调朱": [
			["nòng"],
			["fěn"],
			["diào"],
			["zhū"]
		],
		"弄斧班门": [
			["nòng"],
			["fǔ"],
			["bān"],
			["mén"]
		],
		"弄管调弦": [
			["nòng"],
			["guǎn"],
			["diào"],
			["xián"]
		],
		"弄鬼掉猴": [
			["nòng"],
			["guǐ"],
			["diào"],
			["hóu"]
		],
		"弄鬼弄神": [
			["nòng"],
			["guǐ"],
			["nòng"],
			["shén"]
		],
		"弄鬼妆幺": [
			["nòng"],
			["guǐ"],
			["zhuāng"],
			["yāo"]
		],
		"弄假成真": [
			["nòng"],
			["jiǎ"],
			["chéng"],
			["zhēn"]
		],
		"弄斤操斧": [
			["nòng"],
			["jīn"],
			["cāo"],
			["fǔ"]
		],
		"弄口鸣舌": [
			["nòng"],
			["kǒu"],
			["míng"],
			["shé"]
		],
		"弄眉挤眼": [
			["nòng"],
			["méi"],
			["jǐ"],
			["yǎn"]
		],
		"弄巧成拙": [
			["nòng"],
			["qiǎo"],
			["chéng"],
			["zhuō"]
		],
		"弄巧反拙": [
			["nòng"],
			["qiǎo"],
			["fǎn"],
			["zhuō"]
		],
		"弄神弄鬼": [
			["nòng"],
			["shén"],
			["nòng"],
			["guǐ"]
		],
		"弄瓦之喜": [
			["nòng"],
			["wǎ"],
			["zhī"],
			["xǐ"]
		],
		"弄性尚气": [
			["nòng"],
			["xìng"],
			["shàng"],
			["qì"]
		],
		"弄虚作假": [
			["nòng"],
			["xū"],
			["zuò"],
			["jiǎ"]
		],
		"弄影团风": [
			["nòng"],
			["yǐng"],
			["tuán"],
			["fēng"]
		],
		"弄玉吹箫": [
			["nòng"],
			["yù"],
			["chuí"],
			["xiāo"]
		],
		"弄月嘲风": [
			["nòng"],
			["yuè"],
			["cháo"],
			["fēng"]
		],
		"弄月吟风": [
			["nòng"],
			["yuè"],
			["yín"],
			["fēng"]
		],
		"弄璋之喜": [
			["nòng"],
			["zhāng"],
			["zhī"],
			["xǐ"]
		],
		"弄竹弹丝": [
			["nòng"],
			["zhú"],
			["dàn"],
			["sī"]
		],
		"弄嘴弄舌": [
			["nòng"],
			["zuǐ"],
			["nòng"],
			["shé"]
		],
		"奴隶社会": [
			["nú"],
			["lì"],
			["shè"],
			["huì"]
		],
		"奴隶主": [
			["nú"],
			["lì"],
			["zhǔ"]
		],
		"奴隶主义": [
			["nú"],
			["lì"],
			["zhǔ"],
			["yì"]
		],
		"奴颜媚骨": [
			["nú"],
			["yán"],
			["mèi"],
			["gǔ"]
		],
		"驽马铅刀": [
			["nú"],
			["mǎ"],
			["qiān"],
			["dāo"]
		],
		"努尔哈赤": [
			["nǔ"],
			["ěr"],
			["hā"],
			["chì"]
		],
		"努劲儿": [
			["nǔ"],
			["jìn"],
			["er"]
		],
		"努瓦克肖特": [
			["nǔ"],
			["wǎ"],
			["kè"],
			["xiāo"],
			["tè"]
		],
		"怒不可遏": [
			["nù"],
			["bù"],
			["kě"],
			["è"]
		],
		"怒冲冲": [
			["nù"],
			["chōng"],
			["chōng"]
		],
		"怒火冲天": [
			["nù"],
			["huǒ"],
			["chōng"],
			["tiān"]
		],
		"怒发冲冠": [
			["nù"],
			["fà"],
			["chōng"],
			["guān"]
		],
		"怒火中烧": [
			["nù"],
			["huǒ"],
			["zhōng"],
			["shāo"]
		],
		"怒目横眉": [
			["nù"],
			["mù"],
			["héng"],
			["méi"]
		],
		"怒目切齿": [
			["nù"],
			["mù"],
			["qiè"],
			["chǐ"]
		],
		"怒气冲冲": [
			["nù"],
			["qì"],
			["chōng"],
			["chōng"]
		],
		"怒气冲天": [
			["nù"],
			["qì"],
			["chōng"],
			["tiān"]
		],
		"怒气填胸": [
			["nù"],
			["qì"],
			["tián"],
			["xiōng"]
		],
		"女扮男装": [
			["nǚ"],
			["bàn"],
			["nán"],
			["zhuāng"]
		],
		"女博士": [
			["nǚ"],
			["bó"],
			["shì"]
		],
		"女厕所": [
			["nǚ"],
			["cè"],
			["suǒ"]
		],
		"女长当嫁": [
			["nǚ"],
			["zhǎng"],
			["dāng"],
			["jià"]
		],
		"女长须嫁": [
			["nǚ"],
			["zhǎng"],
			["xū"],
			["jià"]
		],
		"女大不中留": [
			["nǚ"],
			["dà"],
			["bù"],
			["zhòng"],
			["liú"]
		],
		"女大当嫁": [
			["nǚ"],
			["dà"],
			["dāng"],
			["jià"]
		],
		"女大难留": [
			["nǚ"],
			["dà"],
			["nán"],
			["liú"]
		],
		"女大须嫁": [
			["nǚ"],
			["dà"],
			["xū"],
			["jià"]
		],
		"女大十八变": [
			["nǚ"],
			["dà"],
			["shí"],
			["bā"],
			["biàn"]
		],
		"女儿墙": [
			["nǚ"],
			["ér"],
			["qiáng"]
		],
		"女歌手": [
			["nǚ"],
			["gē"],
			["shǒu"]
		],
		"女公子": [
			["nǚ"],
			["gōng"],
			["zǐ"]
		],
		"女管家": [
			["nǚ"],
			["guǎn"],
			["jiā"]
		],
		"女孩儿": [
			["nǚ"],
			["hái"],
			["ér"]
		],
		"女教师": [
			["nǚ"],
			["jiào"],
			["shī"]
		],
		"女貌郎才": [
			["nǚ"],
			["mào"],
			["láng"],
			["cái"]
		],
		"女能人": [
			["nǚ"],
			["néng"],
			["rén"]
		],
		"女朋友": [
			["nǚ"],
			["péng"],
			["yǒu"]
		],
		"女强人": [
			["nǚ"],
			["qiǎng"],
			["rén"]
		],
		"女人气": [
			["nǚ"],
			["rén"],
			["qì"]
		],
		"女娲补天": [
			["nǚ"],
			["wā"],
			["bǔ"],
			["tiān"]
		],
		"女校长": [
			["nǚ"],
			["xiào"],
			["zhǎng"]
		],
		"女佣人": [
			["nǚ"],
			["yōng"],
			["rén"]
		],
		"女招待": [
			["nǚ"],
			["zhāo"],
			["dài"]
		],
		"女织男耕": [
			["nǚ"],
			["zhī"],
			["nán"],
			["gēng"]
		],
		"女中豪杰": [
			["nǚ"],
			["zhōng"],
			["háo"],
			["jié"]
		],
		"女中尧舜": [
			["nǚ"],
			["zhōng"],
			["yáo"],
			["shùn"]
		],
		"女中丈夫": [
			["nǚ"],
			["zhōng"],
			["zhàng"],
			["fū"]
		],
		"女主角": [
			["nǚ"],
			["zhǔ"],
			["jué"]
		],
		"女主人": [
			["nǚ"],
			["zhǔ"],
			["rén"]
		],
		"暖衣饱食": [
			["nuǎn"],
			["yī"],
			["bǎo"],
			["shí"]
		],
		"诺曼底登陆": [
			["nuò"],
			["màn"],
			["dǐ"],
			["dēng"],
			["lù"]
		],
		"搦朽磨钝": [
			["nuò"],
			["xiǔ"],
			["mó"],
			["dùn"]
		],
		"喏喏连声": [
			["nuò"],
			["nuò"],
			["lián"],
			["shēng"]
		],
		"懦词怪说": [
			["nuò"],
			["cí"],
			["guài"],
			["shuō"]
		],
		"欧风美雨": [
			["ōu"],
			["fēng"],
			["měi"],
			["yǔ"]
		],
		"欧罗巴人种": [
			["ōu"],
			["luó"],
			["bā"],
			["rén"],
			["zhǒng"]
		],
		"欧亚大陆": [
			["ōu"],
			["yà"],
			["dà"],
			["lù"]
		],
		"鸥水相依": [
			["ōu"],
			["shuǐ"],
			["xiāng"],
			["yī"]
		],
		"呕心抽肠": [
			["ǒu"],
			["xīn"],
			["chōu"],
			["cháng"]
		],
		"呕心滴血": [
			["ǒu"],
			["xīn"],
			["dī"],
			["xuè"]
		],
		"呕心沥血": [
			["ǒu"],
			["xīn"],
			["lì"],
			["xuè"]
		],
		"呕心镂骨": [
			["ǒu"],
			["xīn"],
			["lòu"],
			["gǔ"]
		],
		"偶函数": [
			["ǒu"],
			["hán"],
			["shù"]
		],
		"偶一为之": [
			["ǒu"],
			["yī"],
			["wéi"],
			["zhī"]
		],
		"沤沫槿艳": [
			["ōu"],
			["mò"],
			["jǐn"],
			["yàn"]
		],
		"沤浮泡影": [
			["ōu"],
			["fú"],
			["pào"],
			["yǐng"]
		],
		"沤珠槿艳": [
			["ōu"],
			["zhū"],
			["jǐn"],
			["yàn"]
		],
		"爬行动物": [
			["pá"],
			["xíng"],
			["dòng"],
			["wù"]
		],
		"爬梳洗剔": [
			["pá"],
			["shū"],
			["xǐ"],
			["tī"]
		],
		"帕斯卡定律": [
			["pà"],
			["sī"],
			["kǎ"],
			["dìng"],
			["lǜ"]
		],
		"怕风怯雨": [
			["pà"],
			["fēng"],
			["qiè"],
			["yǔ"]
		],
		"怕鬼有鬼": [
			["pà"],
			["guǐ"],
			["yǒu"],
			["guǐ"]
		],
		"拍案惊奇": [
			["pāi"],
			["àn"],
			["jīng"],
			["qí"]
		],
		"拍马溜须": [
			["pāi"],
			["mǎ"],
			["liū"],
			["xū"]
		],
		"拍手称快": [
			["pāi"],
			["shǒu"],
			["chēng"],
			["kuài"]
		],
		"拍纸簿": [
			["pāi"],
			["zhǐ"],
			["bù"]
		],
		"排斥异己": [
			["pái"],
			["chì"],
			["yì"],
			["jǐ"]
		],
		"排除万难": [
			["pái"],
			["chú"],
			["wàn"],
			["nán"]
		],
		"排除异己": [
			["pái"],
			["chú"],
			["yì"],
			["jǐ"]
		],
		"排患解纷": [
			["pái"],
			["huàn"],
			["jiě"],
			["fēn"]
		],
		"排糠障风": [
			["pái"],
			["kāng"],
			["zhàng"],
			["fēng"]
		],
		"排难解纷": [
			["pái"],
			["nàn"],
			["jiě"],
			["fēn"]
		],
		"排沙简金": [
			["pái"],
			["shā"],
			["jiǎn"],
			["jīn"]
		],
		"排沙见金": [
			["pái"],
			["shā"],
			["jiàn"],
			["jīn"]
		],
		"排山倒海": [
			["pái"],
			["shān"],
			["dǎo"],
			["hǎi"]
		],
		"排山压卵": [
			["pái"],
			["shān"],
			["yā"],
			["luǎn"]
		],
		"排头兵": [
			["pái"],
			["tóu"],
			["bīng"]
		],
		"排忧解难": [
			["pái"],
			["yōu"],
			["jiě"],
			["nàn"]
		],
		"排子车": [
			["pǎi"],
			["zǐ"],
			["chē"]
		],
		"派不是": [
			["pài"],
			["bú"],
			["shì"]
		],
		"潘多拉": [
			["pān"],
			["duō"],
			["lā"]
		],
		"潘文乐旨": [
			["pān"],
			["wén"],
			["lè"],
			["zhǐ"]
		],
		"攀蟾折桂": [
			["pān"],
			["chán"],
			["shé"],
			["guì"]
		],
		"攀车卧辙": [
			["pān"],
			["chē"],
			["wò"],
			["zhé"]
		],
		"攀高结贵": [
			["pān"],
			["gāo"],
			["jié"],
			["guì"]
		],
		"攀高枝儿": [
			["pān"],
			["gāo"],
			["zhī"],
			["ér"]
		],
		"攀花折柳": [
			["pān"],
			["huā"],
			["shé"],
			["liǔ"]
		],
		"攀藤附葛": [
			["pān"],
			["téng"],
			["fù"],
			["gě"]
		],
		"攀藤揽葛": [
			["pān"],
			["téng"],
			["lǎn"],
			["gě"]
		],
		"攀枝花": [
			["pān"],
			["zhī"],
			["huā"]
		],
		"攀枝花市": [
			["pān"],
			["zhī"],
			["huā"],
			["shì"]
		],
		"盘根错节": [
			["pán"],
			["gēn"],
			["cuò"],
			["jié"]
		],
		"盘根究底": [
			["pán"],
			["gēn"],
			["jiū"],
			["dǐ"]
		],
		"盘根问底": [
			["pán"],
			["gēn"],
			["wèn"],
			["dǐ"]
		],
		"盘古开天地": [
			["pán"],
			["gǔ"],
			["kāi"],
			["tiān"],
			["dì"]
		],
		"盘石桑苞": [
			["pán"],
			["shí"],
			["sāng"],
			["bāo"]
		],
		"盘游无度": [
			["pán"],
			["yóu"],
			["wú"],
			["dù"]
		],
		"槃根错节": [
			["pán"],
			["gēn"],
			["cuò"],
			["jié"]
		],
		"磐石之安": [
			["pán"],
			["shí"],
			["zhī"],
			["ān"]
		],
		"磐石之固": [
			["pán"],
			["shí"],
			["zhī"],
			["gù"]
		],
		"蟠桃会": [
			["pán"],
			["táo"],
			["huì"]
		],
		"判别式": [
			["pàn"],
			["bié"],
			["shì"]
		],
		"判然不同": [
			["pàn"],
			["rán"],
			["bù"],
			["tóng"]
		],
		"判若鸿沟": [
			["pàn"],
			["ruò"],
			["hóng"],
			["gōu"]
		],
		"判若两人": [
			["pàn"],
			["ruò"],
			["liǎng"],
			["rén"]
		],
		"判若水火": [
			["pàn"],
			["ruò"],
			["shuǐ"],
			["huǒ"]
		],
		"判若天渊": [
			["pàn"],
			["ruò"],
			["tiān"],
			["yuān"]
		],
		"判若云泥": [
			["pàn"],
			["ruò"],
			["yún"],
			["ní"]
		],
		"滂沱大雨": [
			["páng"],
			["tuó"],
			["dà"],
			["yǔ"]
		],
		"庞眉白发": [
			["páng"],
			["méi"],
			["bái"],
			["fà"]
		],
		"庞眉皓发": [
			["páng"],
			["méi"],
			["hào"],
			["fà"]
		],
		"庞眉鹤发": [
			["páng"],
			["méi"],
			["hè"],
			["fā"]
		],
		"庞眉黄发": [
			["páng"],
			["méi"],
			["huáng"],
			["fā"]
		],
		"庞然大物": [
			["páng"],
			["rán"],
			["dà"],
			["wù"]
		],
		"旁岔儿": [
			["páng"],
			["chà"],
			["ér"]
		],
		"旁观者清": [
			["páng"],
			["guān"],
			["zhě"],
			["qīng"]
		],
		"旁观者效应": [
			["páng"],
			["guān"],
			["zhě"],
			["xiào"],
			["yìng"]
		],
		"旁见侧出": [
			["páng"],
			["jiàn"],
			["cè"],
			["chū"]
		],
		"旁门外道": [
			["páng"],
			["mén"],
			["wài"],
			["dào"]
		],
		"旁门小道": [
			["páng"],
			["mén"],
			["xiǎo"],
			["dào"]
		],
		"旁门邪道": [
			["páng"],
			["mén"],
			["xié"],
			["dào"]
		],
		"旁门左道": [
			["páng"],
			["mén"],
			["zuǒ"],
			["dào"]
		],
		"旁敲侧击": [
			["páng"],
			["qiāo"],
			["cè"],
			["jī"]
		],
		"旁求博考": [
			["páng"],
			["qiú"],
			["bó"],
			["kǎo"]
		],
		"旁求俊彦": [
			["páng"],
			["qiú"],
			["jùn"],
			["yàn"]
		],
		"旁若无人": [
			["páng"],
			["ruò"],
			["wú"],
			["rén"]
		],
		"旁收博采": [
			["páng"],
			["shōu"],
			["bó"],
			["cǎi"]
		],
		"旁搜博采": [
			["páng"],
			["sōu"],
			["bó"],
			["cǎi"]
		],
		"旁搜远绍": [
			["páng"],
			["sōu"],
			["yuǎn"],
			["shào"]
		],
		"旁蒐远绍": [
			["páng"],
			["sōu"],
			["yuǎn"],
			["shào"]
		],
		"旁听席": [
			["páng"],
			["tīng"],
			["xí"]
		],
		"旁文剩义": [
			["páng"],
			["wén"],
			["shèng"],
			["yì"]
		],
		"旁推侧引": [
			["páng"],
			["tuī"],
			["cè"],
			["yǐn"]
		],
		"旁通曲鬯": [
			["páng"],
			["tōng"],
			["qǔ"],
			["chàng"]
		],
		"旁通曲畅": [
			["páng"],
			["tōng"],
			["qǔ"],
			["chàng"]
		],
		"旁系亲属": [
			["páng"],
			["xì"],
			["qīn"],
			["shǔ"]
		],
		"旁行斜上": [
			["páng"],
			["xíng"],
			["xié"],
			["shàng"]
		],
		"旁压力": [
			["páng"],
			["yā"],
			["lì"]
		],
		"旁摇阴煽": [
			["páng"],
			["yáo"],
			["yīn"],
			["shān"]
		],
		"旁逸横出": [
			["páng"],
			["yì"],
			["héng"],
			["chū"]
		],
		"旁引曲证": [
			["páng"],
			["yǐn"],
			["qǔ"],
			["zhèng"]
		],
		"旁征博引": [
			["páng"],
			["zhēng"],
			["bó"],
			["yǐn"]
		],
		"旁指曲谕": [
			["páng"],
			["zhǐ"],
			["qǔ"],
			["yù"]
		],
		"旁枝末节": [
			["páng"],
			["zhī"],
			["mò"],
			["jié"]
		],
		"胖大海": [
			["pàng"],
			["dà"],
			["hǎi"]
		],
		"胖头鱼": [
			["pàng"],
			["tóu"],
			["yú"]
		],
		"抛头露面": [
			["pāo"],
			["tóu"],
			["lù"],
			["miàn"]
		],
		"刨根儿": [
			["páo"],
			["gēn"],
			["ér"]
		],
		"刨根究底": [
			["páo"],
			["gēn"],
			["jiū"],
			["dǐ"]
		],
		"刨根问底": [
			["páo"],
			["gēn"],
			["wèn"],
			["dǐ"]
		],
		"刨花板": [
			["páo"],
			["huā"],
			["bǎn"]
		],
		"刨树搜根": [
			["páo"],
			["shù"],
			["sōu"],
			["gēn"]
		],
		"庖丁解牛": [
			["páo"],
			["dīng"],
			["jiě"],
			["niú"]
		],
		"炮凤烹龙": [
			["páo"],
			["fèng"],
			["pēng"],
			["lóng"]
		],
		"炮火连天": [
			["pào"],
			["huǒ"],
			["lián"],
			["tiān"]
		],
		"炮龙烹凤": [
			["pào"],
			["lóng"],
			["pēng"],
			["fèng"]
		],
		"炮子儿": [
			["pào"],
			["zǐ"],
			["er"]
		],
		"炮筒子": [
			["pào"],
			["tǒng"],
			["zǐ"]
		],
		"炰鳖脍鲤": [
			["fèng"],
			["biē"],
			["kuài"],
			["lǐ"]
		],
		"袍笏登场": [
			["páo"],
			["hù"],
			["dēng"],
			["chǎng"]
		],
		"匏瓜空悬": [
			["páo"],
			["guā"],
			["kōng"],
			["xuán"]
		],
		"跑单帮": [
			["pǎo"],
			["dān"],
			["bāng"]
		],
		"跑旱船": [
			["pǎo"],
			["hàn"],
			["chuán"]
		],
		"跑江湖": [
			["pǎo"],
			["jiāng"],
			["hú"]
		],
		"跑警报": [
			["pǎo"],
			["jǐng"],
			["bào"]
		],
		"跑了和尚跑不了庙": [
			["pǎo"],
			["le"],
			["hé"],
			["shàng"],
			["pǎo"],
			["bù"],
			["le"],
			["miào"]
		],
		"跑了和尚跑不了寺": [
			["pǎo"],
			["le"],
			["hé"],
			["shàng"],
			["pǎo"],
			["bù"],
			["le"],
			["sì"]
		],
		"跑龙套": [
			["pǎo"],
			["lóng"],
			["tào"]
		],
		"跑马场": [
			["pǎo"],
			["mǎ"],
			["chǎng"]
		],
		"跑马观花": [
			["pǎo"],
			["mǎ"],
			["guān"],
			["huā"]
		],
		"跑马卖解": [
			["pǎo"],
			["mǎ"],
			["mài"],
			["xiè"]
		],
		"跑码头": [
			["pǎo"],
			["mǎ"],
			["tóu"]
		],
		"跑买卖": [
			["pǎo"],
			["mǎi"],
			["mài"]
		],
		"跑跑颠颠": [
			["pǎo"],
			["pǎo"],
			["diān"],
			["diān"]
		],
		"跑跑跳跳": [
			["pǎo"],
			["pǎo"],
			["tiào"],
			["tiào"]
		],
		"跑生意": [
			["pǎo"],
			["shēng"],
			["yì"]
		],
		"跑腿儿": [
			["pǎo"],
			["tuǐ"],
			["ér"]
		],
		"跑圆场": [
			["pǎo"],
			["yuán"],
			["chǎng"]
		],
		"泡病号": [
			["pào"],
			["bìng"],
			["hào"]
		],
		"泡蘑菇": [
			["pào"],
			["mó"],
			["gū"]
		],
		"泡沫经济": [
			["pào"],
			["mò"],
			["jīng"],
			["jì"]
		],
		"泡沫塑料": [
			["pào"],
			["mò"],
			["sù"],
			["liào"]
		],
		"泡泡纱": [
			["pào"],
			["pào"],
			["shā"]
		],
		"泡罩塔": [
			["pào"],
			["zhào"],
			["tǎ"]
		],
		"陪审制度": [
			["péi"],
			["shěn"],
			["zhì"],
			["dù"]
		],
		"赔不是": [
			["péi"],
			["bú"],
			["shì"]
		],
		"赔了夫人又折兵": [
			["péi"],
			["le"],
			["fū"],
			["rén"],
			["yòu"],
			["zhé"],
			["bīng"]
		],
		"沛雨甘霖": [
			["pèi"],
			["yǔ"],
			["gān"],
			["lín"]
		],
		"配享从汜": [
			["pèi"],
			["xiǎng"],
			["cóng"],
			["sì"]
		],
		"配音演员": [
			["pèi"],
			["yīn"],
			["yǎn"],
			["yuán"]
		],
		"喷鼻息": [
			["pēn"],
			["bí"],
			["xī"]
		],
		"喷薄欲出": [
			["pēn"],
			["bó"],
			["yù"],
			["chū"]
		],
		"喷火器": [
			["pēn"],
			["huǒ"],
			["qì"]
		],
		"喷气发动机": [
			["pēn"],
			["qì"],
			["fā"],
			["dòng"],
			["jī"]
		],
		"喷气式飞机": [
			["pēn"],
			["qì"],
			["shì"],
			["fēi"],
			["jī"]
		],
		"喷水池": [
			["pēn"],
			["shuǐ"],
			["chí"]
		],
		"喷雾器": [
			["pēn"],
			["wù"],
			["qì"]
		],
		"喷血自污": [
			["pēn"],
			["xuè"],
			["zì"],
			["wū"]
		],
		"喷云吐雾": [
			["pēn"],
			["yún"],
			["tǔ"],
			["wù"]
		],
		"喷雨嘘云": [
			["pēn"],
			["yǔ"],
			["xū"],
			["yún"]
		],
		"喷云泄雾": [
			["pēn"],
			["yún"],
			["xiè"],
			["wù"]
		],
		"烹狗藏弓": [
			["pēng"],
			["gǒu"],
			["cáng"],
			["gōng"]
		],
		"烹龙炮凤": [
			["pēng"],
			["lóng"],
			["páo"],
			["fèng"]
		],
		"烹犬藏弓": [
			["pēng"],
			["quǎn"],
			["cáng"],
			["gōng"]
		],
		"朋比为奸": [
			["péng"],
			["bǐ"],
			["wéi"],
			["jiān"]
		],
		"弸中彪外": [
			["péng"],
			["zhōng"],
			["biāo"],
			["wài"]
		],
		"蓬生麻中": [
			["péng"],
			["shēng"],
			["má"],
			["zhōng"]
		],
		"蓬头赤脚": [
			["péng"],
			["tóu"],
			["chì"],
			["jiǎo"]
		],
		"蓬头垢面": [
			["péng"],
			["tóu"],
			["gòu"],
			["miàn"]
		],
		"蓬头厉齿": [
			["péng"],
			["tóu"],
			["lì"],
			["chǐ"]
		],
		"蓬头历齿": [
			["péng"],
			["tóu"],
			["lì"],
			["chǐ"]
		],
		"蓬头跣足": [
			["péng"],
			["tóu"],
			["xiǎn"],
			["zú"]
		],
		"鹏霄万里": [
			["péng"],
			["xiāo"],
			["wàn"],
			["lǐ"]
		],
		"鹏程万里": [
			["péng"],
			["chéng"],
			["wàn"],
			["lǐ"]
		],
		"膨体纱": [
			["péng"],
			["tǐ"],
			["shā"]
		],
		"膨胀系数": [
			["péng"],
			["zhàng"],
			["xì"],
			["shù"]
		],
		"捧腹大笑": [
			["pěng"],
			["fù"],
			["dà"],
			["xiào"]
		],
		"捧头鼠窜": [
			["pěng"],
			["tóu"],
			["shǔ"],
			["cuàn"]
		],
		"碰钉子": [
			["pèng"],
			["dìng"],
			["zǐ"]
		],
		"碰碰车": [
			["pèng"],
			["pèng"],
			["chē"]
		],
		"碰头会": [
			["pèng"],
			["tóu"],
			["kuài"]
		],
		"批发商": [
			["pī"],
			["fā"],
			["shāng"]
		],
		"批红判白": [
			["pī"],
			["hóng"],
			["pàn"],
			["bái"]
		],
		"批风抹月": [
			["pī"],
			["fēng"],
			["mò"],
			["yuè"]
		],
		"批吭捣虚": [
			["pī"],
			["háng"],
			["dǎo"],
			["xū"]
		],
		"批评家": [
			["pī"],
			["píng"],
			["jiā"]
		],
		"批隙导窾": [
			["pī"],
			["xì"],
			["dǎo"],
			["yín"]
		],
		"批郤导窾": [
			["pī"],
			["xì"],
			["dǎo"],
			["kuǎn"]
		],
		"批砉导窾": [
			["pī"],
			["huā"],
			["dǎo"],
			["táo"]
		],
		"披发文身": [
			["pī"],
			["fà"],
			["wén"],
			["shēn"]
		],
		"披发缨冠": [
			["pī"],
			["fā"],
			["yīng"],
			["guàn"]
		],
		"披发入山": [
			["pī"],
			["fā"],
			["rù"],
			["shān"]
		],
		"披发左衽": [
			["pī"],
			["fà"],
			["zuǒ"],
			["rèn"]
		],
		"披肝沥血": [
			["pī"],
			["gān"],
			["lì"],
			["xuè"]
		],
		"披红戴花": [
			["pī"],
			["hóng"],
			["dài"],
			["huā"]
		],
		"披肝露胆": [
			["pī"],
			["gān"],
			["lù"],
			["dǎn"]
		],
		"披露腹心": [
			["pī"],
			["lù"],
			["fù"],
			["xīn"]
		],
		"披襟解带": [
			["pī"],
			["jīn"],
			["jiě"],
			["dài"]
		],
		"披露肝胆": [
			["pī"],
			["lù"],
			["gān"],
			["dǎn"]
		],
		"披沙拣金": [
			["pī"],
			["shā"],
			["jiǎn"],
			["jīn"]
		],
		"披毛戴角": [
			["pī"],
			["máo"],
			["dài"],
			["jiǎo"]
		],
		"披沙简金": [
			["pī"],
			["shā"],
			["jiǎn"],
			["jīn"]
		],
		"披头盖脑": [
			["pī"],
			["tóu"],
			["gài"],
			["nǎo"]
		],
		"披沙剖璞": [
			["pī"],
			["shā"],
			["pōu"],
			["pú"]
		],
		"披头散发": [
			["pī"],
			["tóu"],
			["sàn"],
			["fà"]
		],
		"披心沥血": [
			["pī"],
			["xīn"],
			["lì"],
			["xuè"]
		],
		"披心相付": [
			["pī"],
			["xīn"],
			["xiāng"],
			["fù"]
		],
		"披榛采兰": [
			["pī"],
			["zhēn"],
			["cǎi"],
			["lán"]
		],
		"劈风斩浪": [
			["pī"],
			["fēng"],
			["zhǎn"],
			["làng"]
		],
		"劈荆斩棘": [
			["pī"],
			["jīng"],
			["zhǎn"],
			["jí"]
		],
		"劈劈啪啪": [
			["pī"],
			["pī"],
			["pā"],
			["pā"]
		],
		"劈头盖脸": [
			["pī"],
			["tóu"],
			["gài"],
			["liǎn"]
		],
		"劈天盖地": [
			["pī"],
			["tiān"],
			["gài"],
			["dì"]
		],
		"劈头盖脑": [
			["pī"],
			["tóu"],
			["gài"],
			["nǎo"]
		],
		"劈头劈脑": [
			["pī"],
			["tóu"],
			["pī"],
			["nǎo"]
		],
		"噼里啪啦": [
			["pī"],
			["lǐ"],
			["pā"],
			["lā"]
		],
		"皮包骨头": [
			["pí"],
			["bāo"],
			["gú"],
			["tou"]
		],
		"皮夹子": [
			["pí"],
			["jiā"],
			["zi"]
		],
		"皮下注射": [
			["pí"],
			["xià"],
			["zhù"],
			["shè"]
		],
		"皮相之见": [
			["pí"],
			["xiàng"],
			["zhī"],
			["jiàn"]
		],
		"皮相之谈": [
			["pí"],
			["xiàng"],
			["zhī"],
			["tán"]
		],
		"皮笑肉不笑": [
			["pí"],
			["xiào"],
			["ròu"],
			["bù"],
			["xiào"]
		],
		"皮影戏": [
			["pí"],
			["yǐng"],
			["xì"]
		],
		"枇杷门巷": [
			["pí"],
			["pá"],
			["mén"],
			["xiàng"]
		],
		"疲于奔命": [
			["pí"],
			["yú"],
			["bēn"],
			["mìng"]
		],
		"疲惫不堪": [
			["pí"],
			["bèi"],
			["bù"],
			["kān"]
		],
		"蚍蜉撼大树": [
			["pí"],
			["fú"],
			["hàn"],
			["dà"],
			["shù"]
		],
		"琵琶别抱": [
			["pí"],
			["pá"],
			["bié"],
			["bào"]
		],
		"琵琶别弄": [
			["pí"],
			["pá"],
			["bié"],
			["nòng"]
		],
		"琵琶骨": [
			["pí"],
			["pá"],
			["gǔ"]
		],
		"琵琶胡语": [
			["pí"],
			["pá"],
			["hú"],
			["yǔ"]
		],
		"琵琶旧语": [
			["pí"],
			["pá"],
			["jiù"],
			["yǔ"]
		],
		"琵琶行": [
			["pí"],
			["pá"],
			["xíng"]
		],
		"匹夫沟渎": [
			["pǐ"],
			["fū"],
			["gōu"],
			["dú"]
		],
		"匹夫怀璧": [
			["pǐ"],
			["fū"],
			["huái"],
			["bì"]
		],
		"匹夫匹妇": [
			["pǐ"],
			["fū"],
			["pǐ"],
			["fù"]
		],
		"匹夫无罪": [
			["pǐ"],
			["fū"],
			["wú"],
			["zuì"]
		],
		"匹夫有责": [
			["pǐ"],
			["fū"],
			["yǒu"],
			["zé"]
		],
		"匹夫小谅": [
			["pǐ"],
			["fū"],
			["xiǎo"],
			["liàng"]
		],
		"匹夫之谅": [
			["pǐ"],
			["fū"],
			["zhī"],
			["liàng"]
		],
		"匹夫之勇": [
			["pǐ"],
			["fū"],
			["zhī"],
			["yǒng"]
		],
		"匹妇沟渠": [
			["pǐ"],
			["fù"],
			["gōu"],
			["qú"]
		],
		"匹马当先": [
			["pǐ"],
			["mǎ"],
			["dāng"],
			["xiān"]
		],
		"匹马单枪": [
			["pǐ"],
			["mǎ"],
			["dān"],
			["qiāng"]
		],
		"匹马只轮": [
			["pǐ"],
			["mǎ"],
			["zhī"],
			["lún"]
		],
		"擗踊拊心": [
			["pǐ"],
			["yǒng"],
			["fǔ"],
			["xīn"]
		],
		"屁滚尿流": [
			["pì"],
			["gǔn"],
			["niào"],
			["liú"]
		],
		"睥睨一切": [
			["pì"],
			["nì"],
			["yī"],
			["qiè"]
		],
		"僻字涩句": [
			["pì"],
			["zì"],
			["sè"],
			["jù"]
		],
		"片长薄技": [
			["piàn"],
			["cháng"],
			["bó"],
			["jì"]
		],
		"片长末技": [
			["piàn"],
			["cháng"],
			["mò"],
			["jì"]
		],
		"片词只句": [
			["piàn"],
			["cí"],
			["zhī"],
			["jù"]
		],
		"片儿汤": [
			["piān"],
			["er"],
			["tāng"]
		],
		"片光零羽": [
			["piàn"],
			["guāng"],
			["líng"],
			["yǔ"]
		],
		"片甲不存": [
			["piàn"],
			["jiǎ"],
			["bù"],
			["cún"]
		],
		"片甲不还": [
			["piàn"],
			["jiǎ"],
			["bù"],
			["huán"]
		],
		"片甲不回": [
			["piàn"],
			["jiǎ"],
			["bù"],
			["huí"]
		],
		"片接寸附": [
			["piàn"],
			["jiē"],
			["cùn"],
			["fù"]
		],
		"片甲无存": [
			["piàn"],
			["jiǎ"],
			["wú"],
			["cún"]
		],
		"片甲不留": [
			["piàn"],
			["jiǎ"],
			["bù"],
			["liú"]
		],
		"片假名": [
			["piàn"],
			["jiǎ"],
			["míng"]
		],
		"片鳞半爪": [
			["piàn"],
			["lín"],
			["bàn"],
			["zhǎo"]
		],
		"片鳞碎甲": [
			["piàn"],
			["lín"],
			["suì"],
			["jiǎ"]
		],
		"片鳞残甲": [
			["piàn"],
			["lín"],
			["cán"],
			["jiǎ"]
		],
		"片鳞只甲": [
			["piàn"],
			["lín"],
			["zhī"],
			["jiǎ"]
		],
		"片面性": [
			["piàn"],
			["miàn"],
			["xìng"]
		],
		"片瓦不留": [
			["piàn"],
			["wǎ"],
			["bù"],
			["liú"]
		],
		"片瓦无存": [
			["piàn"],
			["wǎ"],
			["wú"],
			["cún"]
		],
		"片文只事": [
			["piàn"],
			["wén"],
			["zhī"],
			["shì"]
		],
		"片言一字": [
			["piàn"],
			["yán"],
			["yī"],
			["zì"]
		],
		"片言折狱": [
			["piàn"],
			["yán"],
			["zhé"],
			["yù"]
		],
		"片言只语": [
			["piàn"],
			["yán"],
			["zhǐ"],
			["yǔ"]
		],
		"片言只字": [
			["piàn"],
			["yán"],
			["zhǐ"],
			["zì"]
		],
		"片语只辞": [
			["piàn"],
			["yán"],
			["zhǐ"],
			["cí"]
		],
		"片云遮顶": [
			["piàn"],
			["yún"],
			["zhē"],
			["dǐng"]
		],
		"片纸只字": [
			["piàn"],
			["zhǐ"],
			["yán"],
			["zì"]
		],
		"偏听偏信": [
			["piān"],
			["tīng"],
			["piān"],
			["xìn"]
		],
		"偏信则暗": [
			["piān"],
			["xìn"],
			["zé"],
			["àn"]
		],
		"翩翩风度": [
			["piān"],
			["piān"],
			["fēng"],
			["dù"]
		],
		"翩翩年少": [
			["piān"],
			["piān"],
			["nián"],
			["shǎo"]
		],
		"翩翩少年": [
			["piān"],
			["piān"],
			["shào"],
			["nián"]
		],
		"翩若惊鸿": [
			["piān"],
			["ruò"],
			["jīng"],
			["hóng"]
		],
		"骈肩累迹": [
			["pián"],
			["jiān"],
			["lěi"],
			["jì"]
		],
		"骈肩累踵": [
			["pián"],
			["jiān"],
			["lèi"],
			["zhǒng"]
		],
		"骈肩累足": [
			["pián"],
			["jiān"],
			["lěi"],
			["zú"]
		],
		"骈拇枝指": [
			["pián"],
			["mǔ"],
			["zhī"],
			["zhǐ"]
		],
		"骈首就系": [
			["pián"],
			["shǒu"],
			["jiù"],
			["xì"]
		],
		"骈四俪六": [
			["pián"],
			["sì"],
			["lì"],
			["liù"]
		],
		"骈兴错出": [
			["pián"],
			["xīng"],
			["cuò"],
			["chū"]
		],
		"骈枝俪叶": [
			["pián"],
			["zhī"],
			["lì"],
			["yè"]
		],
		"漂白粉": [
			["piǎo"],
			["bái"],
			["fěn"]
		],
		"漂泊无定": [
			["piāo"],
			["bó"],
			["wú"],
			["dìng"]
		],
		"漂亮话": [
			["piào"],
			["liàng"],
			["huà"]
		],
		"漂零蓬断": [
			["piāo"],
			["líng"],
			["péng"],
			["duàn"]
		],
		"漂母进饭": [
			["piāo"],
			["mǔ"],
			["jìn"],
			["fàn"]
		],
		"漂蓬断梗": [
			["piāo"],
			["péng"],
			["duàn"],
			["gěng"]
		],
		"飘泊无定": [
			["piāo"],
			["bó"],
			["wú"],
			["dìng"]
		],
		"飘籓坠溷": [
			["piāo"],
			["fān"],
			["zhuì"],
			["hùn"]
		],
		"飘樊落溷": [
			["piāo"],
			["fán"],
			["luò"],
			["hùn"]
		],
		"飘风暴雨": [
			["piāo"],
			["fēng"],
			["bào"],
			["yǔ"]
		],
		"飘风急雨": [
			["piāo"],
			["fēng"],
			["jí"],
			["yǔ"]
		],
		"飘风过耳": [
			["piāo"],
			["fēng"],
			["guò"],
			["ěr"]
		],
		"飘风苦雨": [
			["piāo"],
			["fēng"],
			["kǔ"],
			["yǔ"]
		],
		"飘风骤雨": [
			["piāo"],
			["fēng"],
			["zhòu"],
			["yǔ"]
		],
		"飘瓦虚舟": [
			["piāo"],
			["wǎ"],
			["xū"],
			["zhōu"]
		],
		"飘洋过海": [
			["piāo"],
			["yáng"],
			["guò"],
			["hǎi"]
		],
		"飘茵堕溷": [
			["piāo"],
			["yīn"],
			["duò"],
			["hùn"]
		],
		"飘茵落溷": [
			["piāo"],
			["yīn"],
			["luò"],
			["hùn"]
		],
		"瓢泼大雨": [
			["piáo"],
			["pō"],
			["dà"],
			["yǔ"]
		],
		"票据交换所": [
			["piào"],
			["jù"],
			["jiāo"],
			["huàn"],
			["suǒ"]
		],
		"撇呆打堕": [
			["piě"],
			["dāi"],
			["dǎ"],
			["duò"]
		],
		"拼命三郎": [
			["pīn"],
			["mìng"],
			["sān"],
			["láng"]
		],
		"贫病交迫": [
			["pín"],
			["bìng"],
			["jiāo"],
			["pò"]
		],
		"贫不学俭": [
			["pín"],
			["bù"],
			["xué"],
			["jiǎn"]
		],
		"贫而乐道": [
			["pín"],
			["ér"],
			["lè"],
			["dào"]
		],
		"贫贱不能移": [
			["pín"],
			["jiàn"],
			["bù"],
			["néng"],
			["yí"]
		],
		"贫贱不移": [
			["pín"],
			["jiàn"],
			["bù"],
			["yí"]
		],
		"贫贱之知": [
			["pín"],
			["jiàn"],
			["zhī"],
			["zhī"]
		],
		"贫困潦倒": [
			["pín"],
			["kùn"],
			["liáo"],
			["dǎo"]
		],
		"贫无立锥之地": [
			["pín"],
			["wú"],
			["lì"],
			["zhuī"],
			["zhī"],
			["dì"]
		],
		"贫下中农": [
			["pín"],
			["xià"],
			["zhōng"],
			["nóng"]
		],
		"贫嘴恶舌": [
			["pín"],
			["zuǐ"],
			["è"],
			["shé"]
		],
		"贫嘴薄舌": [
			["pín"],
			["zuǐ"],
			["bó"],
			["shé"]
		],
		"品头论足": [
			["pǐn"],
			["tóu"],
			["lùn"],
			["zú"]
		],
		"品头评足": [
			["pǐn"],
			["tóu"],
			["píng"],
			["zú"]
		],
		"品头题足": [
			["pǐn"],
			["tóu"],
			["tí"],
			["zú"]
		],
		"品竹弹丝": [
			["pǐn"],
			["zhú"],
			["tán"],
			["sī"]
		],
		"品竹调丝": [
			["pǐn"],
			["zhú"],
			["tiáo"],
			["sī"]
		],
		"品竹调弦": [
			["pǐn"],
			["zhú"],
			["diào"],
			["xián"]
		],
		"娉婷婀娜": [
			["pīng"],
			["tíng"],
			["ē"],
			["nà"]
		],
		"娉婷袅娜": [
			["pīng"],
			["tíng"],
			["niǎo"],
			["nuó"]
		],
		"平板车": [
			["píng"],
			["bǎn"],
			["chē"]
		],
		"平淡无奇": [
			["píng"],
			["dàn"],
			["wú"],
			["qí"]
		],
		"平澹无奇": [
			["píng"],
			["dàn"],
			["wú"],
			["qí"]
		],
		"平地风波": [
			["píng"],
			["dì"],
			["fēng"],
			["bō"]
		],
		"平地风雷": [
			["píng"],
			["dì"],
			["fēng"],
			["léi"]
		],
		"平地登云": [
			["píng"],
			["dì"],
			["dēng"],
			["yún"]
		],
		"平地楼台": [
			["píng"],
			["dì"],
			["lóu"],
			["tái"]
		],
		"平地起孤丁": [
			["píng"],
			["dì"],
			["qǐ"],
			["gū"],
			["dīng"]
		],
		"平地起家": [
			["píng"],
			["dì"],
			["qǐ"],
			["jiā"]
		],
		"平地青云": [
			["píng"],
			["dì"],
			["qīng"],
			["yún"]
		],
		"平地起雷": [
			["píng"],
			["dì"],
			["qǐ"],
			["léi"]
		],
		"平地一声雷": [
			["píng"],
			["dì"],
			["yī"],
			["shēng"],
			["léi"]
		],
		"平分秋色": [
			["píng"],
			["fēn"],
			["qiū"],
			["sè"]
		],
		"平风静浪": [
			["píng"],
			["fēng"],
			["jìng"],
			["làng"]
		],
		"平衡觉": [
			["píng"],
			["héng"],
			["jué"]
		],
		"平假名": [
			["píng"],
			["jiǎ"],
			["míng"]
		],
		"平均差": [
			["píng"],
			["jūn"],
			["chà"]
		],
		"平均地权": [
			["píng"],
			["jūn"],
			["dì"],
			["quán"]
		],
		"平均数": [
			["píng"],
			["jūn"],
			["shù"]
		],
		"平面几何": [
			["píng"],
			["miàn"],
			["jǐ"],
			["hé"]
		],
		"平面角": [
			["píng"],
			["miàn"],
			["jiǎo"]
		],
		"平铺直序": [
			["píng"],
			["pù"],
			["zhí"],
			["xù"]
		],
		"平铺直叙": [
			["píng"],
			["pū"],
			["zhí"],
			["xù"]
		],
		"平射炮": [
			["píng"],
			["shè"],
			["pào"]
		],
		"平头百姓": [
			["píng"],
			["tóu"],
			["bǎi"],
			["xìng"]
		],
		"平头数": [
			["píng"],
			["tóu"],
			["shù"]
		],
		"平头正脸": [
			["píng"],
			["tóu"],
			["zhèng"],
			["liǎn"]
		],
		"平心而论": [
			["píng"],
			["xīn"],
			["ér"],
			["lùn"]
		],
		"平行四边形": [
			["píng"],
			["xíng"],
			["sì"],
			["biān"],
			["xíng"]
		],
		"平行线": [
			["píng"],
			["xíng"],
			["xiàn"]
		],
		"平行作业": [
			["píng"],
			["xíng"],
			["zuò"],
			["yè"]
		],
		"评功摆好": [
			["píng"],
			["gōng"],
			["bǎi"],
			["hǎo"]
		],
		"评论家": [
			["píng"],
			["lùn"],
			["jiā"]
		],
		"评论员": [
			["píng"],
			["lùn"],
			["yuán"]
		],
		"评头论脚": [
			["píng"],
			["tóu"],
			["lùn"],
			["jiǎo"]
		],
		"评头论足": [
			["píng"],
			["tóu"],
			["lùn"],
			["zú"]
		],
		"评头品足": [
			["píng"],
			["tóu"],
			["pǐn"],
			["zú"]
		],
		"凭几据杖": [
			["píng"],
			["jī"],
			["jù"],
			["zhàng"]
		],
		"凭几之诏": [
			["píng"],
			["jǐ"],
			["zhī"],
			["zhào"]
		],
		"凭空捏造": [
			["píng"],
			["kōng"],
			["niē"],
			["zào"]
		],
		"凭轼结辙": [
			["píng"],
			["shì"],
			["jié"],
			["zhé"]
		],
		"凭轼旁观": [
			["píng"],
			["shì"],
			["páng"],
			["guān"]
		],
		"屏气敛息": [
			["bǐng"],
			["qì"],
			["liǎn"],
			["xī"]
		],
		"屏气凝神": [
			["bǐng"],
			["qì"],
			["níng"],
			["shén"]
		],
		"屏气慑息": [
			["bǐng"],
			["qì"],
			["shè"],
			["xī"]
		],
		"屏气吞声": [
			["píng"],
			["qì"],
			["tūn"],
			["shēng"]
		],
		"屏声静气": [
			["píng"],
			["shēng"],
			["jìng"],
			["qì"]
		],
		"屏声敛息": [
			["píng"],
			["shēng"],
			["liǎn"],
			["xī"]
		],
		"屏声息气": [
			["bǐng"],
			["shēng"],
			["xī"],
			["qì"]
		],
		"帡天极地": [
			["jú"],
			["tiān"],
			["jí"],
			["dì"]
		],
		"瓶沉簪折": [
			["píng"],
			["chén"],
			["zān"],
			["zhé"]
		],
		"萍水相逢": [
			["píng"],
			["shuǐ"],
			["xiāng"],
			["féng"]
		],
		"萍飘蓬转": [
			["píng"],
			["piāo"],
			["péng"],
			["zhuàn"]
		],
		"瓶坠簪折": [
			["píng"],
			["zhùi"],
			["zān"],
			["zhé"]
		],
		"泼水难收": [
			["pō"],
			["shuǐ"],
			["nán"],
			["shōu"]
		],
		"泼水节": [
			["pō"],
			["shuǐ"],
			["jié"]
		],
		"泼天大祸": [
			["pō"],
			["tiān"],
			["dà"],
			["huò"]
		],
		"迫不及待": [
			["pò"],
			["bù"],
			["jí"],
			["dài"]
		],
		"迫不得已": [
			["pò"],
			["bù"],
			["dé"],
			["yǐ"]
		],
		"迫不可待": [
			["pò"],
			["bù"],
			["kě"],
			["dài"]
		],
		"迫击炮": [
			["pǎi"],
			["jī"],
			["pào"]
		],
		"迫在眉睫": [
			["pò"],
			["zài"],
			["méi"],
			["jié"]
		],
		"破愁为笑": [
			["pò"],
			["chóu"],
			["wéi"],
			["xiào"]
		],
		"破除迷信": [
			["pò"],
			["chú"],
			["mí"],
			["xìn"]
		],
		"破釜沈舟": [
			["pò"],
			["fǔ"],
			["shěn"],
			["zhōu"]
		],
		"破觚为圜": [
			["pò"],
			["gū"],
			["wéi"],
			["yuán"]
		],
		"破肝糜胃": [
			["pò"],
			["gān"],
			["mí"],
			["wèi"]
		],
		"破国亡家": [
			["pò"],
			["guó"],
			["wáng"],
			["jiā"]
		],
		"破家败产": [
			["pò"],
			["jiā"],
			["bài"],
			["chǎn"]
		],
		"破家荡产": [
			["pò"],
			["jiā"],
			["dàng"],
			["chǎn"]
		],
		"破家荡业": [
			["pò"],
			["jiā"],
			["dàng"],
			["yè"]
		],
		"破家丧产": [
			["pò"],
			["jiā"],
			["sàng"],
			["chǎn"]
		],
		"破家竭产": [
			["pò"],
			["jiā"],
			["jié"],
			["chǎn"]
		],
		"破家亡国": [
			["pò"],
			["jiā"],
			["wáng"],
			["guó"]
		],
		"破家为国": [
			["pò"],
			["jiā"],
			["wéi"],
			["guó"]
		],
		"破家县令": [
			["pò"],
			["jiā"],
			["xiàn"],
			["lìng"]
		],
		"破奸发伏": [
			["pò"],
			["jiān"],
			["fā"],
			["fú"]
		],
		"破镜分钗": [
			["pò"],
			["jìng"],
			["fēn"],
			["chāi"]
		],
		"破镜重圆": [
			["pò"],
			["jìng"],
			["chóng"],
			["yuán"]
		],
		"破镜重合": [
			["pò"],
			["jìng"],
			["zhòng"],
			["hé"]
		],
		"破矩为圆": [
			["pò"],
			["jǔ"],
			["wéi"],
			["yuán"]
		],
		"破军杀将": [
			["pò"],
			["jūn"],
			["shā"],
			["jiāng"]
		],
		"破口大骂": [
			["pò"],
			["kǒu"],
			["dà"],
			["mà"]
		],
		"破浪乘风": [
			["pò"],
			["làng"],
			["chéng"],
			["fēng"]
		],
		"破烂不堪": [
			["pò"],
			["làn"],
			["bù"],
			["kān"]
		],
		"破落户": [
			["pò"],
			["luò"],
			["hù"]
		],
		"破伤风": [
			["pò"],
			["shāng"],
			["fēng"]
		],
		"破体字": [
			["pò"],
			["tǐ"],
			["zì"]
		],
		"破涕为笑": [
			["pò"],
			["tì"],
			["wéi"],
			["xiào"]
		],
		"破桐之叶": [
			["pò"],
			["tóng"],
			["zhī"],
			["yè"]
		],
		"破头烂额": [
			["pò"],
			["tóu"],
			["làn"],
			["é"]
		],
		"破瓦寒窑": [
			["pò"],
			["wǎ"],
			["hán"],
			["yáo"]
		],
		"破瓦颓垣": [
			["pò"],
			["wǎ"],
			["tuí"],
			["yuán"]
		],
		"破甑不顾": [
			["pò"],
			["zèng"],
			["bù"],
			["gù"]
		],
		"破崖绝角": [
			["pò"],
			["yá"],
			["jué"],
			["jiǎo"]
		],
		"破折号": [
			["pò"],
			["zhé"],
			["hào"]
		],
		"魄散魂飞": [
			["pò"],
			["sàn"],
			["hún"],
			["fēi"]
		],
		"魄散魂飘": [
			["pò"],
			["sàn"],
			["hún"],
			["piāo"]
		],
		"魄散魂消": [
			["pò"],
			["sàn"],
			["hún"],
			["xiāo"]
		],
		"魄消魂散": [
			["pò"],
			["xiāo"],
			["hún"],
			["sàn"]
		],
		"剖蚌得珠": [
			["pōu"],
			["bàng"],
			["dé"],
			["zhū"]
		],
		"剖蚌求珠": [
			["pōu"],
			["bàng"],
			["qiú"],
			["zhū"]
		],
		"剖腹藏珠": [
			["pōu"],
			["fù"],
			["cáng"],
			["zhū"]
		],
		"剖心泣血": [
			["pōu"],
			["xīn"],
			["qì"],
			["xuè"]
		],
		"剖肝泣血": [
			["pōu"],
			["gān"],
			["qì"],
			["xuè"]
		],
		"掊斗折衡": [
			["pǒu"],
			["dǒu"],
			["zhé"],
			["héng"]
		],
		"仆仆道途": [
			["pú"],
			["pú"],
			["dào"],
			["tú"]
		],
		"仆仆风尘": [
			["pú"],
			["pú"],
			["fēng"],
			["chén"]
		],
		"仆仆亟拜": [
			["pú"],
			["pú"],
			["jí"],
			["bài"]
		],
		"扑地掀天": [
			["pū"],
			["dì"],
			["xiān"],
			["tiān"]
		],
		"扑天盖地": [
			["pū"],
			["tiān"],
			["gài"],
			["dì"]
		],
		"铺采摛文": [
			["pù"],
			["cǎi"],
			["chī"],
			["wén"]
		],
		"铺盖卷": [
			["pū"],
			["gài"],
			["juǎn"]
		],
		"铺盖卷儿": [
			["pū"],
			["gài"],
			["juǎn"],
			["ér"]
		],
		"铺锦列绣": [
			["pū"],
			["jǐn"],
			["liè"],
			["xiù"]
		],
		"铺眉蒙眼": [
			["pū"],
			["méi"],
			["méng"],
			["yǎn"]
		],
		"铺眉苫眼": [
			["pū"],
			["méi"],
			["shàn"],
			["yǎn"]
		],
		"铺面房": [
			["pū"],
			["miàn"],
			["fáng"]
		],
		"铺谋定计": [
			["pù"],
			["móu"],
			["dìng"],
			["jì"]
		],
		"铺胸纳地": [
			["pū"],
			["xiōng"],
			["nà"],
			["dì"]
		],
		"铺天盖地": [
			["pū"],
			["tiān"],
			["gài"],
			["dì"]
		],
		"铺张浪费": [
			["pū"],
			["zhāng"],
			["làng"],
			["fèi"]
		],
		"莆仙戏": [
			["pú"],
			["xiān"],
			["xì"]
		],
		"铺张扬厉": [
			["pū"],
			["zhāng"],
			["yáng"],
			["lì"]
		],
		"葡萄干": [
			["pú"],
			["táo"],
			["gān"]
		],
		"朴讷诚笃": [
			["pǔ"],
			["nè"],
			["chéng"],
			["dǔ"]
		],
		"朴实无华": [
			["pǔ"],
			["shí"],
			["wú"],
			["huá"]
		],
		"朴素无华": [
			["pǔ"],
			["sù"],
			["wú"],
			["huá"]
		],
		"朴斫之材": [
			["pǔ"],
			["zhuó"],
			["zhī"],
			["cái"]
		],
		"普度群生": [
			["pǔ"],
			["dù"],
			["qún"],
			["shēng"]
		],
		"普度众生": [
			["pǔ"],
			["dù"],
			["zhòng"],
			["shēng"]
		],
		"普济群生": [
			["pǔ"],
			["jì"],
			["qún"],
			["shēng"]
		],
		"普济众生": [
			["pǔ"],
			["jì"],
			["zhòng"],
			["shēng"]
		],
		"普天率土": [
			["pǔ"],
			["tiān"],
			["shuài"],
			["tǔ"]
		],
		"普天匝地": [
			["pǔ"],
			["tiān"],
			["zā"],
			["dì"]
		],
		"普天同庆": [
			["pǔ"],
			["tiān"],
			["tóng"],
			["qìng"]
		],
		"普通教育": [
			["pǔ"],
			["tōng"],
			["jiào"],
			["yù"]
		],
		"溥天率土": [
			["pǔ"],
			["tiān"],
			["lǜ"],
			["tǔ"]
		],
		"溥天同庆": [
			["pǔ"],
			["tiān"],
			["tóng"],
			["qìng"]
		],
		"曝背食芹": [
			["pù"],
			["bèi"],
			["shí"],
			["qín"]
		],
		"曝骨履肠": [
			["pù"],
			["gǔ"],
			["lǚ"],
			["cháng"]
		],
		"曝光表": [
			["bào"],
			["guāng"],
			["biǎo"]
		],
		"曝书见竹": [
			["pù"],
			["shū"],
			["jiàn"],
			["zhú"]
		],
		"七病八倒": [
			["qī"],
			["bìng"],
			["bā"],
			["dǎo"]
		],
		"七步八叉": [
			["qī"],
			["bù"],
			["bā"],
			["chā"]
		],
		"七长八短": [
			["qī"],
			["cháng"],
			["bā"],
			["duǎn"]
		],
		"七尺之躯": [
			["qī"],
			["chǐ"],
			["zhī"],
			["qū"]
		],
		"七次量衣一次裁": [
			["qī"],
			["cì"],
			["liáng"],
			["yī"],
			["yī"],
			["cì"],
			["cái"]
		],
		"七大八小": [
			["qī"],
			["dà"],
			["bā"],
			["xiǎo"]
		],
		"七大洲": [
			["qī"],
			["dà"],
			["zhōu"]
		],
		"七担八挪": [
			["qī"],
			["dān"],
			["bā"],
			["nuó"]
		],
		"七颠八倒": [
			["qī"],
			["diān"],
			["bā"],
			["dǎo"]
		],
		"七返还丹": [
			["qī"],
			["fǎn"],
			["huán"],
			["dān"]
		],
		"七拱八翘": [
			["qī"],
			["gǒng"],
			["bā"],
			["qiào"]
		],
		"七横八竖": [
			["qī"],
			["héng"],
			["bā"],
			["shù"]
		],
		"七拉八扯": [
			["qī"],
			["lā"],
			["bā"],
			["chě"]
		],
		"七开八得": [
			["qī"],
			["kāi"],
			["bā"],
			["dé"]
		],
		"七老八倒": [
			["qī"],
			["lǎo"],
			["bā"],
			["dǎo"]
		],
		"七棱八瓣": [
			["qī"],
			["léng"],
			["bā"],
			["bàn"]
		],
		"七了八当": [
			["qī"],
			["le"],
			["bā"],
			["dāng"]
		],
		"七零八落": [
			["qī"],
			["líng"],
			["bā"],
			["luò"]
		],
		"七窍冒火": [
			["qī"],
			["qiào"],
			["mào"],
			["huǒ"]
		],
		"七情六欲": [
			["qī"],
			["qíng"],
			["liù"],
			["yù"]
		],
		"七擒七纵": [
			["qī"],
			["qín"],
			["qī"],
			["zòng"]
		],
		"七上八落": [
			["qī"],
			["shàng"],
			["bā"],
			["luò"]
		],
		"七上八下": [
			["qī"],
			["shàng"],
			["bā"],
			["xià"]
		],
		"七十二行": [
			["qī"],
			["shí"],
			["èr"],
			["háng"]
		],
		"七相五公": [
			["qī"],
			["xiāng"],
			["wǔ"],
			["gōng"]
		],
		"七行俱下": [
			["qī"],
			["háng"],
			["jù"],
			["xià"]
		],
		"七叶树": [
			["qī"],
			["yè"],
			["shù"]
		],
		"七言八语": [
			["qī"],
			["yán"],
			["bā"],
			["yǔ"]
		],
		"七叶一枝花": [
			["qī"],
			["yè"],
			["yī"],
			["zhī"],
			["huā"]
		],
		"七折八扣": [
			["qī"],
			["zhé"],
			["bā"],
			["kòu"]
		],
		"七纵七禽": [
			["qī"],
			["zòng"],
			["qī"],
			["qín"]
		],
		"七纵八横": [
			["qī"],
			["zòng"],
			["bā"],
			["héng"]
		],
		"七纵七擒": [
			["qī"],
			["zòng"],
			["qī"],
			["qín"]
		],
		"妻儿老少": [
			["qī"],
			["ér"],
			["lǎo"],
			["shǎo"]
		],
		"妻儿老小": [
			["qī"],
			["ér"],
			["lǎo"],
			["xiǎo"]
		],
		"妻离子散": [
			["qī"],
			["lí"],
			["zǐ"],
			["sàn"]
		],
		"妻梅子鹤": [
			["qī"],
			["mén"],
			["zǐ"],
			["hè"]
		],
		"妻荣夫贵": [
			["qī"],
			["róng"],
			["fū"],
			["guì"]
		],
		"凄风楚雨": [
			["qī"],
			["fēng"],
			["chǔ"],
			["yǔ"]
		],
		"凄风寒雨": [
			["qī"],
			["fēng"],
			["hán"],
			["yǔ"]
		],
		"凄风苦雨": [
			["qī"],
			["fēng"],
			["kǔ"],
			["yǔ"]
		],
		"凄风冷雨": [
			["qī"],
			["fēng"],
			["lěng"],
			["yǔ"]
		],
		"栖冲业简": [
			["qī"],
			["chōng"],
			["yè"],
			["jiǎn"]
		],
		"栖风宿雨": [
			["qī"],
			["fēng"],
			["xiǔ"],
			["yǔ"]
		],
		"栖栖遑遑": [
			["qī"],
			["qī"],
			["huáng"],
			["huáng"]
		],
		"栖丘饮谷": [
			["qī"],
			["qiū"],
			["yǐn"],
			["gǔ"]
		],
		"戚家军": [
			["qī"],
			["jiā"],
			["jūn"]
		],
		"期货交易": [
			["qī"],
			["huò"],
			["jiāo"],
			["yì"]
		],
		"期货市场": [
			["qī"],
			["huò"],
			["shì"],
			["chǎng"]
		],
		"期末考试": [
			["qī"],
			["mò"],
			["kǎo"],
			["shì"]
		],
		"期期艾艾": [
			["qī"],
			["qī"],
			["ài"],
			["ài"]
		],
		"期颐之寿": [
			["qī"],
			["yí"],
			["zhī"],
			["shòu"]
		],
		"期中考试": [
			["qī"],
			["zhōng"],
			["kǎo"],
			["shì"]
		],
		"欺大压小": [
			["qī"],
			["dà"],
			["yā"],
			["xiǎo"]
		],
		"欺人太甚": [
			["qī"],
			["rén"],
			["tài"],
			["shèn"]
		],
		"欺君罔上": [
			["qī"],
			["jūn"],
			["wǎng"],
			["shàng"]
		],
		"欺三瞒四": [
			["qī"],
			["sān"],
			["mán"],
			["sì"]
		],
		"欺善怕恶": [
			["qī"],
			["shàn"],
			["pà"],
			["è"]
		],
		"欺上瞒下": [
			["qī"],
			["shàng"],
			["mán"],
			["xià"]
		],
		"欺上罔下": [
			["qī"],
			["shàng"],
			["wǎng"],
			["xià"]
		],
		"欺天诳地": [
			["qī"],
			["tiān"],
			["kuāng"],
			["dì"]
		],
		"欺天罔地": [
			["qī"],
			["tiān"],
			["wǎng"],
			["dì"]
		],
		"欺行霸市": [
			["qī"],
			["háng"],
			["bà"],
			["shì"]
		],
		"嘁哩喀喳": [
			["qī"],
			["lǐ"],
			["kā"],
			["chā"]
		],
		"嘁嘁喳喳": [
			["qī"],
			["qī"],
			["zhā"],
			["zhā"]
		],
		"齐镳并驱": [
			["qí"],
			["biāo"],
			["bìng"],
			["qū"]
		],
		"齐步走": [
			["qí"],
			["bù"],
			["zǒu"]
		],
		"齐大非偶": [
			["qí"],
			["dà"],
			["fēi"],
			["ǒu"]
		],
		"齐轨连辔": [
			["qí"],
			["guǐ"],
			["lián"],
			["pèi"]
		],
		"齐东野语": [
			["qí"],
			["dōng"],
			["yě"],
			["yǔ"]
		],
		"齐大非耦": [
			["qí"],
			["dà"],
			["fēi"],
			["ǒu"]
		],
		"齐家治国": [
			["qí"],
			["jiā"],
			["zhì"],
			["guó"]
		],
		"齐量等观": [
			["qí"],
			["liàng"],
			["děng"],
			["guān"]
		],
		"齐眉举案": [
			["qí"],
			["méi"],
			["jǔ"],
			["àn"]
		],
		"齐名并价": [
			["qí"],
			["míng"],
			["bìng"],
			["jià"]
		],
		"齐齐整整": [
			["qí"],
			["qí"],
			["zhěng"],
			["zhěng"]
		],
		"齐驱并驾": [
			["qí"],
			["qū"],
			["bìng"],
			["jià"]
		],
		"齐驱并进": [
			["qí"],
			["qū"],
			["bìng"],
			["jìn"]
		],
		"齐驱并骤": [
			["qí"],
			["qū"],
			["bìng"],
			["zhòu"]
		],
		"齐趋并驾": [
			["qí"],
			["qū"],
			["bìng"],
			["jià"]
		],
		"齐人攫金": [
			["qí"],
			["rén"],
			["jué"],
			["jīn"]
		],
		"齐刷刷": [
			["qí"],
			["shuā"],
			["shuā"]
		],
		"齐天洪福": [
			["qí"],
			["tiān"],
			["hóng"],
			["fú"]
		],
		"齐天大圣": [
			["qí"],
			["tiān"],
			["dà"],
			["shèng"]
		],
		"齐头并进": [
			["qí"],
			["tóu"],
			["bìng"],
			["jìn"]
		],
		"齐纨鲁缟": [
			["qí"],
			["wán"],
			["lǔ"],
			["gǎo"]
		],
		"齐王舍牛": [
			["qí"],
			["wáng"],
			["shě"],
			["niú"]
		],
		"齐心并力": [
			["qí"],
			["xīn"],
			["bìng"],
			["lì"]
		],
		"齐心併力": [
			["qí"],
			["xīn"],
			["bìng"],
			["lì"]
		],
		"齐心涤虑": [
			["qí"],
			["xīn"],
			["dí"],
			["lǜ"]
		],
		"齐心合力": [
			["qí"],
			["xīn"],
			["hé"],
			["lì"]
		],
		"齐心戮力": [
			["qí"],
			["xīn"],
			["lù"],
			["lì"]
		],
		"齐心同力": [
			["qí"],
			["xīn"],
			["tóng"],
			["lì"]
		],
		"齐心一力": [
			["qí"],
			["xīn"],
			["yī"],
			["lì"]
		],
		"齐心协力": [
			["qí"],
			["xīn"],
			["xié"],
			["lì"]
		],
		"齐烟九点": [
			["qí"],
			["yān"],
			["jiǔ"],
			["diǎn"]
		],
		"齐足并驱": [
			["qí"],
			["zú"],
			["bìng"],
			["qū"]
		],
		"其道亡繇": [
			["qí"],
			["dào"],
			["wáng"],
			["yáo"]
		],
		"其道无由": [
			["qí"],
			["dào"],
			["wú"],
			["yóu"]
		],
		"其乐不穷": [
			["qí"],
			["lè"],
			["bù"],
			["qióng"]
		],
		"其乐无穷": [
			["qí"],
			["lè"],
			["wú"],
			["qióng"]
		],
		"其貌不扬": [
			["qí"],
			["mào"],
			["bù"],
			["yáng"]
		],
		"其势汹汹": [
			["qí"],
			["shì"],
			["xiōng"],
			["xiōng"]
		],
		"其味无穷": [
			["qí"],
			["wèi"],
			["wú"],
			["qióng"]
		],
		"其应如响": [
			["qí"],
			["yìng"],
			["rú"],
			["xiǎng"]
		],
		"其应若响": [
			["qí"],
			["yìng"],
			["ruò"],
			["xiǎng"]
		],
		"奇才异能": [
			["qí"],
			["cái"],
			["yì"],
			["néng"]
		],
		"奇耻大辱": [
			["qí"],
			["chǐ"],
			["dà"],
			["rǔ"]
		],
		"奇光异彩": [
			["qí"],
			["guāng"],
			["yì"],
			["cǎi"]
		],
		"奇函数": [
			["jī"],
			["hán"],
			["shù"]
		],
		"奇花异草": [
			["qí"],
			["huā"],
			["yì"],
			["cǎo"]
		],
		"奇花异卉": [
			["qí"],
			["huā"],
			["yì"],
			["huì"]
		],
		"奇货可居": [
			["qí"],
			["huò"],
			["kě"],
			["jū"]
		],
		"奇技淫巧": [
			["qí"],
			["jì"],
			["yín"],
			["qiǎo"]
		],
		"奇离古怪": [
			["qí"],
			["lí"],
			["gǔ"],
			["guài"]
		],
		"奇门遁甲": [
			["qí"],
			["mén"],
			["dùn"],
			["jiǎ"]
		],
		"奇葩异卉": [
			["qí"],
			["pā"],
			["yì"],
			["hùi"]
		],
		"奇谈怪论": [
			["qí"],
			["tán"],
			["guài"],
			["lùn"]
		],
		"奇文共赏": [
			["qí"],
			["wén"],
			["gòng"],
			["shǎng"]
		],
		"奇文瑰句": [
			["qí"],
			["wén"],
			["guī"],
			["jù"]
		],
		"奇形怪状": [
			["qí"],
			["xíng"],
			["guài"],
			["zhuàng"]
		],
		"奇想天开": [
			["qí"],
			["xiǎng"],
			["tiān"],
			["kāi"]
		],
		"奇形异状": [
			["qí"],
			["xíng"],
			["yì"],
			["zhuàng"]
		],
		"奇珍异宝": [
			["qí"],
			["zhēn"],
			["yì"],
			["bǎo"]
		],
		"奇珍异玩": [
			["qí"],
			["zhēn"],
			["yì"],
			["wán"]
		],
		"奇装异服": [
			["qí"],
			["zhuāng"],
			["yì"],
			["fú"]
		],
		"歧路亡羊": [
			["qí"],
			["lù"],
			["wáng"],
			["yáng"]
		],
		"祈使句": [
			["qí"],
			["shǐ"],
			["jù"]
		],
		"耆德硕老": [
			["qí"],
			["dé"],
			["shuò"],
			["lǎo"]
		],
		"耆年硕德": [
			["qí"],
			["nián"],
			["shuò"],
			["dé"]
		],
		"崎嵚历落": [
			["qí"],
			["qīn"],
			["lì"],
			["luò"]
		],
		"骑曹不记马": [
			["qí"],
			["cáo"],
			["bù"],
			["jì"],
			["mǎ"]
		],
		"骐骥困盐车": [
			["qí"],
			["jì"],
			["kùn"],
			["yán"],
			["chē"]
		],
		"骐骥过隙": [
			["qí"],
			["jì"],
			["guò"],
			["xì"]
		],
		"骑鹤上维扬": [
			["qí"],
			["hè"],
			["shàng"],
			["wéi"],
			["yáng"]
		],
		"骑鹤上扬": [
			["qí"],
			["hè"],
			["shàng"],
			["yáng"]
		],
		"骑鹤上扬州": [
			["qí"],
			["hè"],
			["shàng"],
			["yáng"],
			["zhōu"]
		],
		"骑虎难下": [
			["qí"],
			["hǔ"],
			["nán"],
			["xià"]
		],
		"骑驴倒堕": [
			["qí"],
			["lǘ"],
			["dǎo"],
			["duò"]
		],
		"骑龙弄凤": [
			["qí"],
			["lóng"],
			["nòng"],
			["fèng"]
		],
		"骑驴风雪中": [
			["qí"],
			["lǘ"],
			["fēng"],
			["xuě"],
			["zhōng"]
		],
		"骑驴索句": [
			["qí"],
			["lǘ"],
			["suǒ"],
			["jù"]
		],
		"骑驴吟灞上": [
			["qí"],
			["lǘ"],
			["yín"],
			["bà"],
			["shàng"]
		],
		"骑牛读汉书": [
			["qí"],
			["niú"],
			["dú"],
			["hàn"],
			["shū"]
		],
		"骑上扬州鹤": [
			["qí"],
			["shàng"],
			["yáng"],
			["zhōu"],
			["hè"]
		],
		"骑者善堕": [
			["qí"],
			["zhě"],
			["shàn"],
			["duò"]
		],
		"棋布错峙": [
			["qí"],
			["bù"],
			["cuò"],
			["zhì"]
		],
		"棋输先著": [
			["qí"],
			["shū"],
			["xiān"],
			["zhuó"]
		],
		"棋高一着": [
			["qí"],
			["gāo"],
			["yī"],
			["zhāo"]
		],
		"棋输先着": [
			["qí"],
			["shū"],
			["xiān"],
			["zhāo"]
		],
		"旗布星峙": [
			["qí"],
			["bù"],
			["xīng"],
			["zhì"]
		],
		"旗鼓相当": [
			["qí"],
			["gǔ"],
			["xiāng"],
			["dāng"]
		],
		"旗开得胜": [
			["qí"],
			["kāi"],
			["dé"],
			["shèng"]
		],
		"旗帜鲜明": [
			["qí"],
			["zhì"],
			["xiān"],
			["míng"]
		],
		"綦溪利跂": [
			["qí"],
			["xī"],
			["lì"],
			["guì"]
		],
		"乞儿乘车": [
			["qǐ"],
			["ér"],
			["chéng"],
			["chē"]
		],
		"乞浆得酒": [
			["qǐ"],
			["jiāng"],
			["dé"],
			["jiǔ"]
		],
		"乞穷俭相": [
			["qǐ"],
			["qióng"],
			["jiǎn"],
			["xiāng"]
		],
		"企业化": [
			["qǐ"],
			["yè"],
			["huà"]
		],
		"企业家": [
			["qǐ"],
			["yè"],
			["jiā"]
		],
		"企踵可待": [
			["qǐ"],
			["zhǒng"],
			["kě"],
			["dài"]
		],
		"企足而待": [
			["qǐ"],
			["zú"],
			["ér"],
			["dài"]
		],
		"岂弟君子": [
			["kǎi"],
			["tì"],
			["jūn"],
			["zǐ"]
		],
		"岂有此理": [
			["qǐ"],
			["yǒu"],
			["cǐ"],
			["lǐ"]
		],
		"岂有是理": [
			["qǐ"],
			["yǒu"],
			["shì"],
			["lǐ"]
		],
		"启瞶振聋": [
			["qǐ"],
			["guì"],
			["zhèn"],
			["lóng"]
		],
		"起承转合": [
			["qǐ"],
			["chéng"],
			["zhuǎn"],
			["hé"]
		],
		"起根发由": [
			["qǐ"],
			["gēn"],
			["fā"],
			["yóu"]
		],
		"起死人而肉白骨": [
			["qǐ"],
			["sǐ"],
			["rén"],
			["ér"],
			["ròu"],
			["bái"],
			["gǔ"]
		],
		"起死人肉白骨": [
			["qǐ"],
			["sǐ"],
			["rén"],
			["ròu"],
			["bái"],
			["gǔ"]
		],
		"起偃为竖": [
			["qǐ"],
			["yǎn"],
			["wéi"],
			["shù"]
		],
		"起重机": [
			["qǐ"],
			["zhòng"],
			["jī"]
		],
		"气不忿儿": [
			["qì"],
			["bù"],
			["fèn"],
			["ér"]
		],
		"气不公": [
			["qì"],
			["bù"],
			["gōng"]
		],
		"气不过": [
			["qì"],
			["bù"],
			["guò"]
		],
		"气冲冲": [
			["qì"],
			["chōng"],
			["chōng"]
		],
		"气冲牛斗": [
			["qì"],
			["chōng"],
			["niú"],
			["dǒu"]
		],
		"气冲斗牛": [
			["qì"],
			["chōng"],
			["dǒu"],
			["niú"]
		],
		"气冲霄汉": [
			["qì"],
			["chōng"],
			["xiāo"],
			["hàn"]
		],
		"气喘吁吁": [
			["qì"],
			["chuǎn"],
			["xū"],
			["xū"]
		],
		"气得志满": [
			["qì"],
			["dé"],
			["zhì"],
			["mǎn"]
		],
		"气愤填膺": [
			["qì"],
			["fèn"],
			["tián"],
			["yīng"]
		],
		"气贯长虹": [
			["qì"],
			["guàn"],
			["cháng"],
			["hóng"]
		],
		"气急败坏": [
			["qì"],
			["jí"],
			["bài"],
			["huài"]
		],
		"气急败丧": [
			["qì"],
			["jí"],
			["bài"],
			["sàng"]
		],
		"气克斗牛": [
			["qì"],
			["kè"],
			["dǒu"],
			["niú"]
		],
		"气满志得": [
			["qì"],
			["mǎn"],
			["zhì"],
			["dé"]
		],
		"气势磅礴": [
			["qì"],
			["shì"],
			["páng"],
			["bó"]
		],
		"气吞牛斗": [
			["qì"],
			["tūn"],
			["niú"],
			["dǒu"]
		],
		"气头上": [
			["qì"],
			["tóu"],
			["shàng"]
		],
		"气味相投": [
			["qì"],
			["wèi"],
			["xiāng"],
			["tóu"]
		],
		"气息奄奄": [
			["qì"],
			["xī"],
			["yān"],
			["yān"]
		],
		"气象台": [
			["qì"],
			["xiàng"],
			["tái"]
		],
		"气象万千": [
			["qì"],
			["xiàng"],
			["wàn"],
			["qiān"]
		],
		"气压表": [
			["qì"],
			["yā"],
			["biǎo"]
		],
		"气血方刚": [
			["qì"],
			["xuè"],
			["fāng"],
			["gāng"]
		],
		"气焰熏天": [
			["qì"],
			["yàn"],
			["xūn"],
			["tiān"]
		],
		"气涌如山": [
			["qì"],
			["yǒng"],
			["rú"],
			["shān"]
		],
		"气谊相投": [
			["qì"],
			["yì"],
			["xiāng"],
			["tóu"]
		],
		"气义相投": [
			["qì"],
			["yì"],
			["xiāng"],
			["tóu"]
		],
		"讫情尽意": [
			["qì"],
			["qíng"],
			["jìn"],
			["yì"]
		],
		"气吁吁": [
			["qì"],
			["xū"],
			["xū"]
		],
		"弃笔从戎": [
			["qì"],
			["bǐ"],
			["cóng"],
			["róng"]
		],
		"弃车走林": [
			["qì"],
			["chē"],
			["zǒu"],
			["lín"]
		],
		"弃道任术": [
			["qì"],
			["dào"],
			["rèn"],
			["shù"]
		],
		"弃短就长": [
			["qì"],
			["duǎn"],
			["jiù"],
			["cháng"]
		],
		"弃短用长": [
			["qì"],
			["duǎn"],
			["yòng"],
			["cháng"]
		],
		"弃恶从善": [
			["qì"],
			["è"],
			["cóng"],
			["shàn"]
		],
		"弃过图新": [
			["qì"],
			["guò"],
			["tú"],
			["xīn"]
		],
		"弃好背盟": [
			["qì"],
			["hǎo"],
			["bèi"],
			["méng"]
		],
		"弃家荡产": [
			["qì"],
			["jiā"],
			["dàng"],
			["chǎn"]
		],
		"弃甲倒戈": [
			["qì"],
			["jiǎ"],
			["dǎo"],
			["gē"]
		],
		"弃其馀鱼": [
			["qì"],
			["qí"],
			["yú"],
			["yú"]
		],
		"弃琼拾砾": [
			["qì"],
			["qióng"],
			["shí"],
			["lì"]
		],
		"弃若敝屣": [
			["qì"],
			["ruò"],
			["bì"],
			["xǐ"]
		],
		"弃同即异": [
			["qì"],
			["tóng"],
			["jí"],
			["yì"]
		],
		"弃伪从真": [
			["qì"],
			["wěi"],
			["cóng"],
			["zhēn"]
		],
		"弃邪从正": [
			["qì"],
			["xié"],
			["cóng"],
			["zhèng"]
		],
		"弃瑕忘过": [
			["qì"],
			["xiá"],
			["wàng"],
			["guò"]
		],
		"弃邪归正": [
			["qì"],
			["xié"],
			["guī"],
			["zhèng"]
		],
		"弃易求难": [
			["qì"],
			["yì"],
			["qiú"],
			["nán"]
		],
		"弃义倍信": [
			["qì"],
			["yì"],
			["bèi"],
			["xìn"]
		],
		"弃之可惜": [
			["qì"],
			["zhī"],
			["kě"],
			["xī"]
		],
		"弃之度外": [
			["qì"],
			["zhī"],
			["dù"],
			["wai"]
		],
		"汽车工业": [
			["qì"],
			["chē"],
			["gōng"],
			["yè"]
		],
		"汽车制造厂": [
			["qì"],
			["chē"],
			["zhì"],
			["zào"],
			["chǎng"]
		],
		"汽化热": [
			["qì"],
			["huà"],
			["rè"]
		],
		"汽轮发电机": [
			["qì"],
			["lún"],
			["fā"],
			["diàn"],
			["jī"]
		],
		"泣不可仰": [
			["qì"],
			["bù"],
			["kě"],
			["yǎng"]
		],
		"泣不成声": [
			["qǐ"],
			["bù"],
			["chéng"],
			["shēng"]
		],
		"泣数行下": [
			["qì"],
			["shù"],
			["háng"],
			["xià"]
		],
		"泣下如雨": [
			["qǐ"],
			["xià"],
			["rú"],
			["yǔ"]
		],
		"泣血捶膺": [
			["qì"],
			["xuè"],
			["chuí"],
			["yīng"]
		],
		"泣血稽颡": [
			["qì"],
			["xuè"],
			["jī"],
			["sǎng"]
		],
		"泣血枕戈": [
			["qì"],
			["xuè"],
			["zhěn"],
			["gē"]
		],
		"契船求剑": [
			["qì"],
			["chuán"],
			["qiú"],
			["jiàn"]
		],
		"契合金兰": [
			["qì"],
			["hé"],
			["jīn"],
			["lán"]
		],
		"契若金兰": [
			["qì"],
			["ruò"],
			["jīn"],
			["lán"]
		],
		"砌词捏控": [
			["qì"],
			["cí"],
			["niē"],
			["kòng"]
		],
		"砌红堆绿": [
			["qì"],
			["hóng"],
			["duī"],
			["lǜ"]
		],
		"器二不匮": [
			["qì"],
			["èr"],
			["bù"],
			["kuì"]
		],
		"泣涕如雨": [
			["qì"],
			["tì"],
			["rú"],
			["yǔ"]
		],
		"器满将覆": [
			["qì"],
			["mǎn"],
			["jiāng"],
			["fù"]
		],
		"器满意得": [
			["qì"],
			["mǎn"],
			["yì"],
			["dé"]
		],
		"器宇不凡": [
			["qì"],
			["yǔ"],
			["bù"],
			["fán"]
		],
		"掐尖落钞": [
			["qiā"],
			["jiān"],
			["luò"],
			["chāo"]
		],
		"掐头去尾": [
			["qiā"],
			["tóu"],
			["qù"],
			["wěi"]
		],
		"恰到好处": [
			["qià"],
			["dào"],
			["hǎo"],
			["chù"]
		],
		"恰如其分": [
			["qià"],
			["rú"],
			["qí"],
			["fèn"]
		],
		"洽闻强记": [
			["qià"],
			["wén"],
			["qiáng"],
			["jì"]
		],
		"千变万化": [
			["qiān"],
			["biàn"],
			["wàn"],
			["huà"]
		],
		"千变万轸": [
			["qiān"],
			["biàn"],
			["wàn"],
			["zhěn"]
		],
		"千变万状": [
			["qiān"],
			["biàn"],
			["wàn"],
			["zhuàng"]
		],
		"千兵万马": [
			["qiān"],
			["bīng"],
			["wàn"],
			["mǎ"]
		],
		"千层底": [
			["qiān"],
			["céng"],
			["dǐ"]
		],
		"千仓万箱": [
			["qiān"],
			["cāng"],
			["wàn"],
			["xiāng"]
		],
		"千差万别": [
			["qiān"],
			["chā"],
			["wàn"],
			["bié"]
		],
		"千差万错": [
			["qiān"],
			["chà"],
			["wàn"],
			["cuò"]
		],
		"千乘万骑": [
			["qiān"],
			["chéng"],
			["wàn"],
			["qí"]
		],
		"千仇万恨": [
			["qiān"],
			["chóu"],
			["wàn"],
			["hèn"]
		],
		"千愁万恨": [
			["qiān"],
			["chóu"],
			["wàn"],
			["hèn"]
		],
		"千愁万绪": [
			["qiān"],
			["chóu"],
			["wàn"],
			["xù"]
		],
		"千村万落": [
			["qiān"],
			["cūn"],
			["wàn"],
			["luò"]
		],
		"千刀万剁": [
			["qiān"],
			["dāo"],
			["wàn"],
			["duò"]
		],
		"千刀万剐": [
			["qiān"],
			["dāo"],
			["wàn"],
			["guǎ"]
		],
		"千端万绪": [
			["qiān"],
			["duān"],
			["wàn"],
			["xù"]
		],
		"千叮万嘱": [
			["qiān"],
			["dīng"],
			["wàn"],
			["zhǔ"]
		],
		"千恩万谢": [
			["qiān"],
			["ēn"],
			["wàn"],
			["xiè"]
		],
		"千方万计": [
			["qiān"],
			["fāng"],
			["wàn"],
			["jì"]
		],
		"千分尺": [
			["qiān"],
			["fēn"],
			["chǐ"]
		],
		"千峰万壑": [
			["qiān"],
			["fēng"],
			["wàn"],
			["hè"]
		],
		"千夫所指": [
			["qiān"],
			["fū"],
			["suǒ"],
			["zhǐ"]
		],
		"千夫指": [
			["qiān"],
			["fū"],
			["zhǐ"]
		],
		"千沟万壑": [
			["qiān"],
			["gōu"],
			["wàn"],
			["hè"]
		],
		"千古不磨": [
			["qiān"],
			["gǔ"],
			["bù"],
			["mó"]
		],
		"千古不朽": [
			["qiān"],
			["gǔ"],
			["bù"],
			["xiǔ"]
		],
		"千古绝调": [
			["qiān"],
			["gǔ"],
			["jué"],
			["diào"]
		],
		"千红万紫": [
			["qiān"],
			["hóng"],
			["wàn"],
			["zǐ"]
		],
		"千古奇闻": [
			["qiān"],
			["gǔ"],
			["qí"],
			["wén"]
		],
		"千呼万唤": [
			["qiān"],
			["hū"],
			["wàn"],
			["huàn"]
		],
		"千回百转": [
			["qiān"],
			["huí"],
			["bǎi"],
			["zhuǎn"]
		],
		"千回百折": [
			["qiān"],
			["huí"],
			["bǎi"],
			["zhé"]
		],
		"千回万转": [
			["qiān"],
			["huí"],
			["wàn"],
			["zhuǎn"]
		],
		"千汇万状": [
			["qiān"],
			["huì"],
			["wàn"],
			["zhuàng"]
		],
		"千家万户": [
			["qiān"],
			["jiā"],
			["wàn"],
			["hù"]
		],
		"千金市骨": [
			["qiān"],
			["jīn"],
			["shì"],
			["gǔ"]
		],
		"千金之家": [
			["qiān"],
			["jīn"],
			["zhī"],
			["jiā"]
		],
		"千军万马": [
			["qiān"],
			["jūn"],
			["wàn"],
			["mǎ"]
		],
		"千钧重负": [
			["qiān"],
			["jūn"],
			["zhòng"],
			["fù"]
		],
		"千钧一发": [
			["qiān"],
			["jūn"],
			["yī"],
			["fà"]
		],
		"千里结言": [
			["qiān"],
			["lǐ"],
			["jié"],
			["yán"]
		],
		"千里骏骨": [
			["qiān"],
			["lǐ"],
			["jùn"],
			["gǔ"]
		],
		"千里同风": [
			["qiān"],
			["lǐ"],
			["tóng"],
			["fēng"]
		],
		"千里一曲": [
			["qiān"],
			["lǐ"],
			["yī"],
			["qǔ"]
		],
		"千里之任": [
			["qiān"],
			["lǐ"],
			["zhī"],
			["rèn"]
		],
		"千了百当": [
			["qiān"],
			["liǎo"],
			["bǎi"],
			["dàng"]
		],
		"千了百了": [
			["qiān"],
			["le"],
			["bǎi"],
			["le"]
		],
		"千了万当": [
			["qiān"],
			["le"],
			["wàn"],
			["dàng"]
		],
		"千龄万代": [
			["qiān"],
			["líng"],
			["wàn"],
			["dài"]
		],
		"千虑一得": [
			["qiān"],
			["lǜ"],
			["yī"],
			["dé"]
		],
		"千门万户": [
			["qiān"],
			["mén"],
			["wàn"],
			["hù"]
		],
		"千磨百折": [
			["qiān"],
			["mó"],
			["bǎi"],
			["shé"]
		],
		"千难万苦": [
			["qiān"],
			["nán"],
			["wàn"],
			["kǔ"]
		],
		"千难万难": [
			["qiān"],
			["nán"],
			["wàn"],
			["nán"]
		],
		"千难万险": [
			["qiān"],
			["nán"],
			["wàn"],
			["xiǎn"]
		],
		"千年万载": [
			["qiān"],
			["nián"],
			["wàn"],
			["zǎi"]
		],
		"千奇百怪": [
			["qiān"],
			["qí"],
			["bǎi"],
			["guài"]
		],
		"千千万万": [
			["qiān"],
			["qiān"],
			["wàn"],
			["wàn"]
		],
		"千秋万代": [
			["qiān"],
			["qiū"],
			["wàn"],
			["dài"]
		],
		"千秋万古": [
			["qiān"],
			["qiū"],
			["wàn"],
			["gǔ"]
		],
		"千秋万世": [
			["qiān"],
			["qiū"],
			["wàn"],
			["shì"]
		],
		"千秋万岁": [
			["qiān"],
			["qiū"],
			["wàn"],
			["suì"]
		],
		"千仞无枝": [
			["qiān"],
			["rèn"],
			["wú"],
			["zhī"]
		],
		"千日打柴一日烧": [
			["qiān"],
			["rì"],
			["dǎ"],
			["chái"],
			["yī"],
			["rì"],
			["shāo"]
		],
		"千日红": [
			["qiān"],
			["rì"],
			["hóng"]
		],
		"千生万劫": [
			["qiān"],
			["shēng"],
			["wàn"],
			["jié"]
		],
		"千山万壑": [
			["qiān"],
			["shān"],
			["wàn"],
			["hè"]
		],
		"千山万水": [
			["qiān"],
			["shān"],
			["wàn"],
			["shuǐ"]
		],
		"千生万死": [
			["qiān"],
			["shēng"],
			["wàn"],
			["sǐ"]
		],
		"千水万山": [
			["qiān"],
			["shuǐ"],
			["wàn"],
			["shān"]
		],
		"千丝万缕": [
			["qiān"],
			["sī"],
			["wàn"],
			["lǚ"]
		],
		"千思万虑": [
			["qiān"],
			["sī"],
			["wàn"],
			["lǜ"]
		],
		"千思万想": [
			["qiān"],
			["sī"],
			["wàn"],
			["xiǎng"]
		],
		"千态万状": [
			["qiān"],
			["tai"],
			["wàn"],
			["zhuàng"]
		],
		"千条万端": [
			["qiān"],
			["tiáo"],
			["wàn"],
			["duān"]
		],
		"千条万缕": [
			["qiān"],
			["tiáo"],
			["wàn"],
			["lǚ"]
		],
		"千头万序": [
			["qiān"],
			["tóu"],
			["wàn"],
			["xù"]
		],
		"千条万绪": [
			["qiān"],
			["tiáo"],
			["wàn"],
			["xù"]
		],
		"千头万绪": [
			["qiān"],
			["tóu"],
			["wàn"],
			["xù"]
		],
		"千推万阻": [
			["qiān"],
			["tuī"],
			["wàn"],
			["zǔ"]
		],
		"千万买邻": [
			["qiān"],
			["wàn"],
			["mǎi"],
			["lín"]
		],
		"千闻不如一见": [
			["qiān"],
			["wén"],
			["bù"],
			["rú"],
			["yī"],
			["jiàn"]
		],
		"千言万说": [
			["qiān"],
			["yán"],
			["wàn"],
			["shuō"]
		],
		"千言万语": [
			["qiān"],
			["yán"],
			["wàn"],
			["yǔ"]
		],
		"千形万状": [
			["qiān"],
			["xíng"],
			["wàn"],
			["zhuàng"]
		],
		"千辛万苦": [
			["qiān"],
			["xīn"],
			["wàn"],
			["kǔ"]
		],
		"千绪万端": [
			["qiān"],
			["xù"],
			["wàn"],
			["duān"]
		],
		"千岩万壑": [
			["qiān"],
			["yán"],
			["wàn"],
			["hè"]
		],
		"千依万顺": [
			["qiān"],
			["yī"],
			["wàn"],
			["shùn"]
		],
		"千语万言": [
			["qiān"],
			["yǔ"],
			["wàn"],
			["yán"]
		],
		"千灾百难": [
			["qiān"],
			["zāi"],
			["bǎi"],
			["nán"]
		],
		"千载难逢": [
			["qiān"],
			["zǎi"],
			["nán"],
			["féng"]
		],
		"千载难遇": [
			["qiān"],
			["zǎi"],
			["nán"],
			["yù"]
		],
		"千载奇遇": [
			["qiān"],
			["zǎi"],
			["qí"],
			["yù"]
		],
		"千载一弹": [
			["qiān"],
			["zǎi"],
			["yī"],
			["dàn"]
		],
		"千载一合": [
			["qiān"],
			["zài"],
			["yī"],
			["hé"]
		],
		"千载一会": [
			["qiān"],
			["zǎi"],
			["yī"],
			["huì"]
		],
		"千载一逢": [
			["qiān"],
			["zǎi"],
			["yī"],
			["féng"]
		],
		"千载一日": [
			["qiān"],
			["zǎi"],
			["yī"],
			["rì"]
		],
		"千载一圣": [
			["qiān"],
			["zǎi"],
			["yī"],
			["shèng"]
		],
		"千载一时": [
			["qiān"],
			["zǎi"],
			["yī"],
			["shí"]
		],
		"千章万句": [
			["qiān"],
			["zhāng"],
			["wàn"],
			["jù"]
		],
		"千载一遇": [
			["qiān"],
			["zǎi"],
			["yī"],
			["yù"]
		],
		"千真万确": [
			["qiān"],
			["zhēn"],
			["wàn"],
			["què"]
		],
		"千状万态": [
			["qiān"],
			["zhuàng"],
			["wàn"],
			["tai"]
		],
		"千状万端": [
			["qiān"],
			["zhuàng"],
			["wàn"],
			["duān"]
		],
		"千姿万态": [
			["qiān"],
			["zī"],
			["wàn"],
			["tai"]
		],
		"迁风移俗": [
			["qiān"],
			["fēng"],
			["yí"],
			["sú"]
		],
		"迁客骚人": [
			["qiān"],
			["kè"],
			["sāo"],
			["rén"]
		],
		"迁善黜恶": [
			["qiān"],
			["shàn"],
			["chù"],
			["è"]
		],
		"迁善改过": [
			["qiān"],
			["shàn"],
			["gǎi"],
			["guò"]
		],
		"迁善去恶": [
			["qiān"],
			["shàn"],
			["qù"],
			["è"]
		],
		"迁善塞违": [
			["qiān"],
			["shàn"],
			["sāi"],
			["wéi"]
		],
		"迁善远罪": [
			["qiān"],
			["shàn"],
			["yuǎn"],
			["zuì"]
		],
		"迁思回虑": [
			["qiān"],
			["sī"],
			["huí"],
			["lǜ"]
		],
		"迁延观望": [
			["qiān"],
			["yán"],
			["guān"],
			["wàng"]
		],
		"迁延稽留": [
			["qiān"],
			["yán"],
			["jī"],
			["liú"]
		],
		"牵肠割肚": [
			["qiān"],
			["cháng"],
			["gē"],
			["dù"]
		],
		"牵肠挂肚": [
			["qiān"],
			["cháng"],
			["guà"],
			["dù"]
		],
		"牵鬼上剑": [
			["qiān"],
			["guǐ"],
			["shàng"],
			["jiàn"]
		],
		"牵合附会": [
			["qiān"],
			["hé"],
			["fù"],
			["huì"]
		],
		"牵合傅会": [
			["qiān"],
			["hé"],
			["fù"],
			["huì"]
		],
		"牵牛织女": [
			["qiān"],
			["niú"],
			["zhī"],
			["nǚ"]
		],
		"牵萝莫补": [
			["qiān"],
			["luó"],
			["mò"],
			["bǔ"]
		],
		"牵强附合": [
			["qiān"],
			["qiáng"],
			["fù"],
			["hé"]
		],
		"牵强附会": [
			["qiān"],
			["qiáng"],
			["fù"],
			["huì"]
		],
		"牵羊担酒": [
			["qiān"],
			["yáng"],
			["dàn"],
			["jiǔ"]
		],
		"牵一发而动全身": [
			["qiān"],
			["yī"],
			["fà"],
			["ér"],
			["dòng"],
			["quán"],
			["shēn"]
		],
		"牵衣肘见": [
			["qiān"],
			["yī"],
			["zhǒu"],
			["jiàn"]
		],
		"牵引附会": [
			["qiān"],
			["yǐn"],
			["fù"],
			["huì"]
		],
		"牵着鼻子走": [
			["qiān"],
			["zhe"],
			["bí"],
			["zi"],
			["zǒu"]
		],
		"铅玻璃": [
			["qiān"],
			["bō"],
			["li"]
		],
		"铅笔画": [
			["qiān"],
			["bǐ"],
			["huà"]
		],
		"铅垂线": [
			["qiān"],
			["chuí"],
			["xiàn"]
		],
		"铅刀一割": [
			["qiān"],
			["dāo"],
			["yī"],
			["gē"]
		],
		"铅中毒": [
			["qiān"],
			["zhòng"],
			["dú"]
		],
		"搴旗取将": [
			["qiān"],
			["qí"],
			["qǔ"],
			["jiàng"]
		],
		"搴旗斩将": [
			["qiān"],
			["qí"],
			["zhǎn"],
			["jiàng"]
		],
		"前跋后疐": [
			["qián"],
			["bá"],
			["hòu"],
			["máo"]
		],
		"前不久": [
			["qián"],
			["bù"],
			["jiǔ"]
		],
		"前车可鉴": [
			["qián"],
			["chē"],
			["kě"],
			["jiàn"]
		],
		"前车之鉴": [
			["qián"],
			["chē"],
			["zhī"],
			["jiàn"]
		],
		"前程万里": [
			["qián"],
			["chéng"],
			["wàn"],
			["lǐ"]
		],
		"前度刘郎": [
			["qián"],
			["dù"],
			["liú"],
			["láng"]
		],
		"前俯后仰": [
			["qián"],
			["fǔ"],
			["hòu"],
			["yǎng"]
		],
		"前功尽废": [
			["qián"],
			["gōng"],
			["jìn"],
			["fèi"]
		],
		"前功尽灭": [
			["qián"],
			["gōng"],
			["jìn"],
			["miè"]
		],
		"前功尽弃": [
			["qián"],
			["gōng"],
			["jìn"],
			["qì"]
		],
		"前古未有": [
			["qián"],
			["gǔ"],
			["wèi"],
			["yǒu"]
		],
		"前合后仰": [
			["qián"],
			["hé"],
			["hòu"],
			["yǎng"]
		],
		"前街后巷": [
			["qián"],
			["jiē"],
			["hòu"],
			["xiàng"]
		],
		"前仆后踣": [
			["qián"],
			["pú"],
			["hòu"],
			["bó"]
		],
		"前仆后继": [
			["qián"],
			["pū"],
			["hòu"],
			["jì"]
		],
		"前思后想": [
			["qián"],
			["sī"],
			["hòu"],
			["xiǎng"]
		],
		"前所未有": [
			["qián"],
			["suǒ"],
			["wèi"],
			["yǒu"]
		],
		"前徒倒戈": [
			["qián"],
			["tú"],
			["dǎo"],
			["gē"]
		],
		"前言不搭后语": [
			["qián"],
			["yán"],
			["bù"],
			["dā"],
			["hòu"],
			["yǔ"]
		],
		"前言往行": [
			["qián"],
			["yán"],
			["wǎng"],
			["xíng"]
		],
		"前仰后合": [
			["qián"],
			["yǎng"],
			["hòu"],
			["hé"]
		],
		"前辙可鉴": [
			["qián"],
			["zhé"],
			["kě"],
			["jiàn"]
		],
		"荨麻疹": [
			["xún"],
			["má"],
			["zhěn"]
		],
		"前奏曲": [
			["qián"],
			["zòu"],
			["qǔ"]
		],
		"钱可通神": [
			["qián"],
			["kě"],
			["tōng"],
			["shén"]
		],
		"乾端坤倪": [
			["qián"],
			["duān"],
			["kūn"],
			["ní"]
		],
		"钳口结舌": [
			["qián"],
			["kǒu"],
			["jié"],
			["shé"]
		],
		"钳口不言": [
			["qián"],
			["kǒu"],
			["bù"],
			["yán"]
		],
		"乾乾翼翼": [
			["qián"],
			["qián"],
			["yì"],
			["yì"]
		],
		"潜德秘行": [
			["qián"],
			["dé"],
			["mì"],
			["xíng"]
		],
		"潜德隐行": [
			["qián"],
			["dé"],
			["yǐn"],
			["xíng"]
		],
		"潜伏期": [
			["qián"],
			["fú"],
			["qī"]
		],
		"潜光隐德": [
			["qián"],
			["guāng"],
			["yǐn"],
			["dé"]
		],
		"潜光隐耀": [
			["qián"],
			["guāng"],
			["yǐn"],
			["yào"]
		],
		"潜精积思": [
			["qián"],
			["jīng"],
			["jī"],
			["sī"]
		],
		"潜精研思": [
			["qián"],
			["jīng"],
			["yán"],
			["sī"]
		],
		"潜濡默被": [
			["qián"],
			["rú"],
			["mò"],
			["bèi"]
		],
		"潜濡默化": [
			["qián"],
			["rú"],
			["mò"],
			["huà"]
		],
		"潜山隐市": [
			["qián"],
			["shān"],
			["yǐn"],
			["shì"]
		],
		"潜神嘿规": [
			["qián"],
			["shén"],
			["hēi"],
			["guī"]
		],
		"潜水员": [
			["qián"],
			["shuǐ"],
			["yuán"]
		],
		"潜台词": [
			["qián"],
			["tái"],
			["cí"]
		],
		"潜消默化": [
			["qián"],
			["xiāo"],
			["mò"],
			["huà"]
		],
		"潜休隐德": [
			["qián"],
			["xiū"],
			["yǐn"],
			["dé"]
		],
		"潜移暗化": [
			["qián"],
			["yí"],
			["àn"],
			["huà"]
		],
		"潜移嘿夺": [
			["qián"],
			["yí"],
			["hēi"],
			["duó"]
		],
		"潜移默化": [
			["qián"],
			["yí"],
			["mò"],
			["huà"]
		],
		"潜移默转": [
			["qián"],
			["yí"],
			["mò"],
			["zhuǎn"]
		],
		"潜意识": [
			["qián"],
			["yì"],
			["shí"]
		],
		"潜踪隐迹": [
			["qián"],
			["zōng"],
			["yǐn"],
			["jì"]
		],
		"浅尝辄止": [
			["qiǎn"],
			["cháng"],
			["zhé"],
			["zhǐ"]
		],
		"浅浮雕": [
			["qiǎn"],
			["fú"],
			["diāo"]
		],
		"浅见寡闻": [
			["qiǎn"],
			["jiàn"],
			["guǎ"],
			["wén"]
		],
		"浅希近求": [
			["qiǎn"],
			["xī"],
			["jìn"],
			["qiú"]
		],
		"浅斟低唱": [
			["qiǎn"],
			["zhēn"],
			["dī"],
			["chàng"]
		],
		"遣兵调将": [
			["qiǎn"],
			["bīng"],
			["diào"],
			["jiàng"]
		],
		"遣将调兵": [
			["qiǎn"],
			["jiāng"],
			["diào"],
			["bīng"]
		],
		"遣将征兵": [
			["qiǎn"],
			["jiāng"],
			["zhēng"],
			["bīng"]
		],
		"遣兴陶情": [
			["qiǎn"],
			["xìng"],
			["táo"],
			["qíng"]
		],
		"倩女离魂": [
			["qiàn"],
			["nǚ"],
			["lí"],
			["hún"]
		],
		"堑山堙谷": [
			["qiàn"],
			["shān"],
			["yīn"],
			["gǔ"]
		],
		"枪打出头鸟": [
			["qiāng"],
			["dǎ"],
			["chū"],
			["tóu"],
			["niǎo"]
		],
		"枪杆子": [
			["qiāng"],
			["gǎn"],
			["zi"]
		],
		"枪榴弹": [
			["qiāng"],
			["liú"],
			["dàn"]
		],
		"枪林弹雨": [
			["qiāng"],
			["lín"],
			["dàn"],
			["yǔ"]
		],
		"枪烟炮雨": [
			["qiāng"],
			["yān"],
			["pào"],
			["yǔ"]
		],
		"枪烟砲雨": [
			["qiāng"],
			["yān"],
			["pào"],
			["yǔ"]
		],
		"强本节用": [
			["qiáng"],
			["běn"],
			["jié"],
			["yòng"]
		],
		"强本弱末": [
			["qiáng"],
			["běn"],
			["ruò"],
			["mò"]
		],
		"强本弱支": [
			["qiáng"],
			["běn"],
			["ruò"],
			["zhī"]
		],
		"强本弱枝": [
			["qiáng"],
			["běn"],
			["ruò"],
			["zhī"]
		],
		"强兵富国": [
			["qiáng"],
			["bīng"],
			["fù"],
			["guó"]
		],
		"强不知以为知": [
			["qiǎng"],
			["bù"],
			["zhī"],
			["yǐ"],
			["wéi"],
			["zhī"]
		],
		"强唇劣嘴": [
			["qiáng"],
			["chún"],
			["liè"],
			["zuǐ"]
		],
		"强词夺理": [
			["qiǎng"],
			["cí"],
			["duó"],
			["lǐ"]
		],
		"强得易贫": [
			["qiǎng"],
			["dé"],
			["yì"],
			["pín"]
		],
		"强词夺正": [
			["qiǎng"],
			["cí"],
			["duó"],
			["zhèng"]
		],
		"强而后可": [
			["qiǎng"],
			["ér"],
			["hòu"],
			["kě"]
		],
		"强凫变鹤": [
			["qiǎng"],
			["fú"],
			["biàn"],
			["hè"]
		],
		"强干弱枝": [
			["qiáng"],
			["gān"],
			["ruò"],
			["zhī"]
		],
		"强聒不舍": [
			["qiǎng"],
			["guō"],
			["bù"],
			["shě"]
		],
		"强弓劲弩": [
			["qiáng"],
			["gōng"],
			["jìng"],
			["nǔ"]
		],
		"强记博闻": [
			["qiáng"],
			["jì"],
			["bó"],
			["wén"]
		],
		"强加于人": [
			["qiáng"],
			["jiā"],
			["yú"],
			["rén"]
		],
		"强奸民意": [
			["qiáng"],
			["jiān"],
			["mín"],
			["yì"]
		],
		"强将手下无弱兵": [
			["qiáng"],
			["jiàng"],
			["shǒu"],
			["xià"],
			["wú"],
			["ruò"],
			["bīng"]
		],
		"强龙不压地头蛇": [
			["qiáng"],
			["lóng"],
			["bù"],
			["yā"],
			["dì"],
			["tóu"],
			["shé"]
		],
		"强扭的瓜不甜": [
			["qiáng"],
			["niǔ"],
			["de"],
			["guā"],
			["bù"],
			["tián"]
		],
		"强弩末矢": [
			["qiáng"],
			["nǔ"],
			["mò"],
			["shǐ"]
		],
		"强弩之极": [
			["qiáng"],
			["nǔ"],
			["zhī"],
			["jí"]
		],
		"强弩之末": [
			["qiáng"],
			["nǔ"],
			["zhī"],
			["mò"]
		],
		"强取豪夺": [
			["qiáng"],
			["qǔ"],
			["háo"],
			["duó"]
		],
		"强人所难": [
			["qiǎng"],
			["rén"],
			["suǒ"],
			["nán"]
		],
		"强识博闻": [
			["qiǎng"],
			["shí"],
			["bó"],
			["wén"]
		],
		"强食靡角": [
			["qiǎng"],
			["shí"],
			["mí"],
			["jiǎo"]
		],
		"强食弱肉": [
			["qiáng"],
			["shí"],
			["ruò"],
			["ròu"]
		],
		"强食自爱": [
			["qiǎng"],
			["shí"],
			["zì"],
			["ài"]
		],
		"强死赖活": [
			["qiǎng"],
			["sǐ"],
			["lài"],
			["huó"]
		],
		"强死强活": [
			["qiǎng"],
			["sǐ"],
			["qiǎng"],
			["huó"]
		],
		"强文假醋": [
			["qiǎng"],
			["wén"],
			["jiǎ"],
			["cù"]
		],
		"强文浉醋": [
			["qiǎng"],
			["wén"],
			["jiǎ"],
			["cù"]
		],
		"强心剂": [
			["qiáng"],
			["xīn"],
			["jì"]
		],
		"强心针": [
			["qiáng"],
			["xīn"],
			["zhēn"]
		],
		"强行军": [
			["qiáng"],
			["xíng"],
			["jūn"]
		],
		"强颜欢笑": [
			["qiǎng"],
			["yán"],
			["huān"],
			["xiào"]
		],
		"强有力": [
			["qiáng"],
			["yǒu"],
			["lì"]
		],
		"强枝弱本": [
			["qiáng"],
			["zhī"],
			["ruò"],
			["běn"]
		],
		"强直自遂": [
			["qiáng"],
			["zhí"],
			["zì"],
			["suí"]
		],
		"强中自有强中手": [
			["qiáng"],
			["zhōng"],
			["zì"],
			["yǒu"],
			["qiáng"],
			["zhōng"],
			["shǒu"]
		],
		"强中更有强中手": [
			["qiáng"],
			["zhōng"],
			["gèng"],
			["yǒu"],
			["qiáng"],
			["zhōng"],
			["shǒu"]
		],
		"强壮剂": [
			["qiáng"],
			["zhuàng"],
			["jì"]
		],
		"强自取折": [
			["qiáng"],
			["zì"],
			["qǔ"],
			["shé"]
		],
		"强嘴拗舌": [
			["jiàng"],
			["zuǐ"],
			["niù"],
			["shé"]
		],
		"强自取柱": [
			["qiáng"],
			["zì"],
			["qǔ"],
			["zhù"]
		],
		"强嘴硬牙": [
			["jiàng"],
			["zuǐ"],
			["yìng"],
			["yá"]
		],
		"强作解人": [
			["qiǎng"],
			["zuò"],
			["jiě"],
			["rén"]
		],
		"墙倒众人推": [
			["qiáng"],
			["dǎo"],
			["zhòng"],
			["rén"],
			["tuī"]
		],
		"墙头草": [
			["qiáng"],
			["tóu"],
			["cǎo"]
		],
		"墙头马上": [
			["qiáng"],
			["tóu"],
			["mǎ"],
			["shàng"]
		],
		"墙有耳": [
			["qiáng"],
			["yǒu"],
			["ěr"]
		],
		"抢地呼天": [
			["qiāng"],
			["dì"],
			["hū"],
			["tiān"]
		],
		"抢劫案": [
			["qiǎng"],
			["jié"],
			["àn"]
		],
		"抢劫犯": [
			["qiǎng"],
			["jié"],
			["fàn"]
		],
		"抢时间": [
			["qiǎng"],
			["shí"],
			["jiān"]
		],
		"抢手货": [
			["qiǎng"],
			["shǒu"],
			["huò"]
		],
		"悄没声": [
			["qiǎo"],
			["méi"],
			["shēng"]
		],
		"悄悄话": [
			["qiāo"],
			["qiāo"],
			["huà"]
		],
		"悄然无声": [
			["qiǎo"],
			["rán"],
			["wú"],
			["shēng"]
		],
		"跷足而待": [
			["qiāo"],
			["zú"],
			["ér"],
			["dài"]
		],
		"敲膏吸髓": [
			["qiāo"],
			["gāo"],
			["xī"],
			["suǐ"]
		],
		"敲骨剥髓": [
			["qiāo"],
			["gǔ"],
			["bāo"],
			["suǐ"]
		],
		"敲骨取髓": [
			["qiāo"],
			["gǔ"],
			["qǔ"],
			["suǐ"]
		],
		"敲骨吸髓": [
			["qiāo"],
			["gǔ"],
			["xī"],
			["suǐ"]
		],
		"敲骨榨髓": [
			["qiāo"],
			["gǔ"],
			["zhà"],
			["suǐ"]
		],
		"敲金击石": [
			["qiāo"],
			["jīn"],
			["jī"],
			["shí"]
		],
		"敲锣打鼓": [
			["qiāo"],
			["luó"],
			["dǎ"],
			["gǔ"]
		],
		"敲锣放炮": [
			["qiāo"],
			["luó"],
			["fàng"],
			["pào"]
		],
		"敲敲打打": [
			["qiāo"],
			["qiāo"],
			["dā"],
			["dā"]
		],
		"敲诈勒索": [
			["qiāo"],
			["zhà"],
			["lè"],
			["suǒ"]
		],
		"敲髓洒膏": [
			["qiāo"],
			["suǐ"],
			["sǎ"],
			["gāo"]
		],
		"敲榨勒索": [
			["qiāo"],
			["zhà"],
			["lè"],
			["suǒ"]
		],
		"敲竹杠": [
			["qiāo"],
			["zhū"],
			["gàng"]
		],
		"乔其纱": [
			["qiáo"],
			["qí"],
			["shā"]
		],
		"乔文假醋": [
			["qiáo"],
			["wén"],
			["jiǎ"],
			["cù"]
		],
		"乔妆打扮": [
			["qiáo"],
			["zhuāng"],
			["dǎ"],
			["bàn"]
		],
		"乔装打扮": [
			["qiáo"],
			["zhuāng"],
			["dǎ"],
			["bàn"]
		],
		"桥头堡": [
			["qiáo"],
			["tóu"],
			["bǎo"]
		],
		"樵苏不爨": [
			["qiáo"],
			["sū"],
			["bù"],
			["cuàn"]
		],
		"樵苏失爨": [
			["qiáo"],
			["sū"],
			["shī"],
			["cuàn"]
		],
		"瞧不起": [
			["qiáo"],
			["bù"],
			["qǐ"]
		],
		"瞧得起": [
			["qiáo"],
			["de"],
			["qǐ"]
		],
		"巧不可阶": [
			["qiǎo"],
			["bù"],
			["kě"],
			["jiē"]
		],
		"巧不可接": [
			["qiǎo"],
			["bù"],
			["kě"],
			["jiē"]
		],
		"巧发奇中": [
			["qiǎo"],
			["fā"],
			["qí"],
			["zhòng"]
		],
		"巧妇难为无米之炊": [
			["qiǎo"],
			["fù"],
			["nán"],
			["wéi"],
			["wú"],
			["mǐ"],
			["zhī"],
			["chuī"]
		],
		"巧捷万端": [
			["qiǎo"],
			["jié"],
			["wàn"],
			["duān"]
		],
		"巧同造化": [
			["qiǎo"],
			["tóng"],
			["zào"],
			["huà"]
		],
		"巧伪趋利": [
			["qiǎo"],
			["wěi"],
			["qū"],
			["lì"]
		],
		"巧言令色": [
			["qiǎo"],
			["yán"],
			["lìng"],
			["sè"]
		],
		"巧语花言": [
			["qiǎo"],
			["yǔ"],
			["huā"],
			["yán"]
		],
		"愀然无乐": [
			["qiǎo"],
			["rán"],
			["wú"],
			["lè"]
		],
		"愀然不乐": [
			["qiǎo"],
			["rán"],
			["bù"],
			["lè"]
		],
		"俏成俏败": [
			["qiào"],
			["chéng"],
			["qiào"],
			["bài"]
		],
		"俏皮话": [
			["qiào"],
			["pí"],
			["huà"]
		],
		"峭论鲠议": [
			["qiào"],
			["lùn"],
			["gěng"],
			["yì"]
		],
		"翘辫子": [
			["qiào"],
			["biàn"],
			["zi"]
		],
		"翘舌音": [
			["qiào"],
			["shé"],
			["yīn"]
		],
		"翘首企足": [
			["qiáo"],
			["shǒu"],
			["qǐ"],
			["zú"]
		],
		"翘首引领": [
			["qiáo"],
			["shǒu"],
			["yǐn"],
			["lǐng"]
		],
		"翘尾巴": [
			["qiào"],
			["wěi"],
			["bā"]
		],
		"翘足而待": [
			["qiáo"],
			["zú"],
			["ér"],
			["dài"]
		],
		"翘足引领": [
			["qiáo"],
			["zú"],
			["yǐn"],
			["lǐng"]
		],
		"鞘里藏刀": [
			["qiào"],
			["lǐ"],
			["cáng"],
			["dāo"]
		],
		"切齿拊心": [
			["qiè"],
			["chǐ"],
			["fǔ"],
			["xīn"]
		],
		"切齿腐心": [
			["qiè"],
			["chǐ"],
			["fǔ"],
			["xīn"]
		],
		"切齿痛恨": [
			["qiè"],
			["chǐ"],
			["tòng"],
			["hèn"]
		],
		"切齿痛心": [
			["qiè"],
			["chǐ"],
			["tòng"],
			["xīn"]
		],
		"切瑳琢磨": [
			["qiē"],
			["cùn"],
			["zhuó"],
			["mó"]
		],
		"切肤之痛": [
			["qiè"],
			["fū"],
			["zhī"],
			["tòng"]
		],
		"切骨之仇": [
			["qiè"],
			["gǔ"],
			["zhī"],
			["chóu"]
		],
		"切磋琢磨": [
			["qiē"],
			["cuō"],
			["zhuó"],
			["mó"]
		],
		"切近的当": [
			["qiē"],
			["jìn"],
			["de"],
			["dāng"]
		],
		"切理会心": [
			["qiē"],
			["lǐ"],
			["huì"],
			["xīn"]
		],
		"切理厌心": [
			["qiē"],
			["lǐ"],
			["yàn"],
			["xīn"]
		],
		"切理餍心": [
			["qiē"],
			["lǐ"],
			["yàn"],
			["xīn"]
		],
		"切片机": [
			["qiē"],
			["piàn"],
			["jī"]
		],
		"切切此布": [
			["qiè"],
			["qiè"],
			["cǐ"],
			["bù"]
		],
		"切切在心": [
			["qiè"],
			["qiè"],
			["zài"],
			["xīn"]
		],
		"切切私语": [
			["qiè"],
			["qiè"],
			["sī"],
			["yǔ"]
		],
		"切身体会": [
			["qiē"],
			["shēn"],
			["tǐ"],
			["huì"]
		],
		"切树倒根": [
			["qiē"],
			["shù"],
			["dǎo"],
			["gēn"]
		],
		"切中时病": [
			["qiè"],
			["zhòng"],
			["shí"],
			["bìng"]
		],
		"切中时弊": [
			["qiè"],
			["zhòng"],
			["shí"],
			["bì"]
		],
		"切中要害": [
			["qiē"],
			["zhōng"],
			["yào"],
			["hài"]
		],
		"且食蛤蜊": [
			["qiě"],
			["shí"],
			["há"],
			["lí"]
		],
		"且住为佳": [
			["qiě"],
			["zhù"],
			["wéi"],
			["jiā"]
		],
		"怯头怯脑": [
			["qiè"],
			["tóu"],
			["qiè"],
			["nǎo"]
		],
		"窃据要津": [
			["qiè"],
			["jù"],
			["yào"],
			["jīn"]
		],
		"挈领提纲": [
			["qiè"],
			["lǐng"],
			["tí"],
			["gāng"]
		],
		"窃窃私语": [
			["qiè"],
			["qiè"],
			["sī"],
			["yǔ"]
		],
		"挈瓶之知": [
			["qiè"],
			["píng"],
			["zhī"],
			["zhì"]
		],
		"惬心贵当": [
			["qiè"],
			["xīn"],
			["guì"],
			["dāng"]
		],
		"锲而不舍": [
			["qiè"],
			["ér"],
			["bù"],
			["shě"]
		],
		"亲当矢石": [
			["qīn"],
			["dāng"],
			["shǐ"],
			["shí"]
		],
		"亲操井臼": [
			["qīn"],
			["cāo"],
			["jǐng"],
			["jiù"]
		],
		"亲骨肉": [
			["qīn"],
			["gǔ"],
			["ròu"]
		],
		"亲和力": [
			["qīn"],
			["hé"],
			["lì"]
		],
		"亲家公": [
			["qìng"],
			["jiā"],
			["gōng"]
		],
		"亲家母": [
			["qìng"],
			["jiā"],
			["mǔ"]
		],
		"亲离众叛": [
			["qīn"],
			["lí"],
			["zhòng"],
			["pàn"]
		],
		"亲临其境": [
			["qīn"],
			["lín"],
			["qí"],
			["jìng"]
		],
		"亲冒矢石": [
			["qīn"],
			["mào"],
			["shǐ"],
			["shí"]
		],
		"亲密无间": [
			["qīn"],
			["mì"],
			["wú"],
			["jiàn"]
		],
		"亲仁善邻": [
			["qīn"],
			["rén"],
			["shàn"],
			["lín"]
		],
		"亲如骨肉": [
			["qīn"],
			["rú"],
			["gǔ"],
			["ròu"]
		],
		"亲如手足": [
			["qīn"],
			["rú"],
			["shǒu"],
			["zú"]
		],
		"亲上成亲": [
			["qīn"],
			["shàng"],
			["chéng"],
			["qīn"]
		],
		"亲上做亲": [
			["qīn"],
			["shàng"],
			["zuò"],
			["qīn"]
		],
		"亲疏贵贱": [
			["qīn"],
			["shū"],
			["guì"],
			["jiàn"]
		],
		"亲痛仇快": [
			["qīn"],
			["tòng"],
			["chóu"],
			["kuài"]
		],
		"亲贤远佞": [
			["qīn"],
			["xián"],
			["yuǎn"],
			["nìng"]
		],
		"亲兄弟": [
			["qīn"],
			["xiōng"],
			["dì"]
		],
		"钦差大臣": [
			["qīn"],
			["chāi"],
			["dà"],
			["chén"]
		],
		"嵚崎磊落": [
			["qīn"],
			["qí"],
			["lěi"],
			["luò"]
		],
		"嵚崎历落": [
			["qīn"],
			["qí"],
			["lì"],
			["luò"]
		],
		"秦晋之好": [
			["qín"],
			["jìn"],
			["zhī"],
			["hǎo"]
		],
		"秦失其鹿": [
			["qín"],
			["shī"],
			["qí"],
			["lù"]
		],
		"琴断朱弦": [
			["qín"],
			["duàn"],
			["zhū"],
			["xián"]
		],
		"琴瑟不调": [
			["qín"],
			["sè"],
			["bù"],
			["tiáo"]
		],
		"琴瑟调和": [
			["qín"],
			["sè"],
			["tiáo"],
			["hé"]
		],
		"琴瑟失调": [
			["qín"],
			["sè"],
			["shī"],
			["tiáo"]
		],
		"琴瑟和好": [
			["qín"],
			["sè"],
			["hé"],
			["hǎo"]
		],
		"琴瑟之好": [
			["qí"],
			["sè"],
			["zhī"],
			["hǎo"]
		],
		"琴挑文君": [
			["qín"],
			["tiāo"],
			["wén"],
			["jūn"]
		],
		"禽困覆车": [
			["qín"],
			["kùn"],
			["fù"],
			["chē"]
		],
		"勤工助学": [
			["qín"],
			["gōng"],
			["zhù"],
			["xué"]
		],
		"勤能补拙": [
			["qín"],
			["néng"],
			["bǔ"],
			["zhuō"]
		],
		"勤务员": [
			["qín"],
			["wù"],
			["yuán"]
		],
		"勤学好问": [
			["qín"],
			["xué"],
			["hǎo"],
			["wèn"]
		],
		"勤杂人员": [
			["qín"],
			["zá"],
			["rén"],
			["yuán"]
		],
		"噙齿戴发": [
			["qín"],
			["chǐ"],
			["dài"],
			["fā"]
		],
		"擒奸讨暴": [
			["qín"],
			["jiān"],
			["tǎo"],
			["bào"]
		],
		"擒奸擿伏": [
			["qín"],
			["jiān"],
			["fā"],
			["fú"]
		],
		"擒贼擒王": [
			["qín"],
			["zéi"],
			["qín"],
			["wáng"]
		],
		"擒贼先擒王": [
			["qín"],
			["zéi"],
			["xiān"],
			["qín"],
			["wáng"]
		],
		"螓首蛾眉": [
			["qín"],
			["shǒu"],
			["ér"],
			["méi"]
		],
		"寝不安席": [
			["qǐn"],
			["bù"],
			["ān"],
			["xí"]
		],
		"寝不成寐": [
			["qǐn"],
			["bù"],
			["chéng"],
			["mèi"]
		],
		"寝不聊寐": [
			["qǐn"],
			["bù"],
			["liáo"],
			["mèi"]
		],
		"寝关曝纩": [
			["qǐn"],
			["guān"],
			["pù"],
			["kuàng"]
		],
		"寝皮食肉": [
			["qǐn"],
			["pí"],
			["shí"],
			["ròu"]
		],
		"寝苫枕草": [
			["qǐn"],
			["shān"],
			["zhěn"],
			["cǎo"]
		],
		"寝苫枕戈": [
			["qǐn"],
			["shān"],
			["zhěn"],
			["gē"]
		],
		"寝苫枕干": [
			["qǐn"],
			["shān"],
			["zhěn"],
			["gàn"]
		],
		"寝苫枕土": [
			["qǐn"],
			["shān"],
			["zhěn"],
			["tǔ"]
		],
		"寝苫枕块": [
			["qǐn"],
			["shān"],
			["zhěn"],
			["kuài"]
		],
		"寝食不安": [
			["qǐn"],
			["shí"],
			["bù"],
			["ān"]
		],
		"寝食俱废": [
			["qǐn"],
			["shí"],
			["jù"],
			["fèi"]
		],
		"青藏高原": [
			["qīng"],
			["zàng"],
			["gāo"],
			["yuán"]
		],
		"青春期": [
			["qīng"],
			["chūn"],
			["qī"]
		],
		"青灯古佛": [
			["qīng"],
			["dēng"],
			["gǔ"],
			["fó"]
		],
		"青灯黄卷": [
			["qīng"],
			["dēng"],
			["huáng"],
			["juàn"]
		],
		"青肝碧血": [
			["qīng"],
			["gān"],
			["bì"],
			["xuè"]
		],
		"青过于蓝": [
			["qīng"],
			["guò"],
			["yú"],
			["lán"]
		],
		"青红皁白": [
			["qīng"],
			["hóng"],
			["tóu"],
			["bái"]
		],
		"青红皂白": [
			["qīng"],
			["hóng"],
			["zào"],
			["bái"]
		],
		"青黄不接": [
			["qīng"],
			["huáng"],
			["bù"],
			["jiē"]
		],
		"青林黑塞": [
			["qīng"],
			["lín"],
			["hēi"],
			["sài"]
		],
		"青龙金匮": [
			["qīng"],
			["lóng"],
			["jīn"],
			["kuì"]
		],
		"青年会": [
			["qīng"],
			["nián"],
			["huì"]
		],
		"青年节": [
			["qīng"],
			["nián"],
			["jié"]
		],
		"青鸟殷勤": [
			["qīng"],
			["niǎo"],
			["yīn"],
			["qín"]
		],
		"青钱万选": [
			["qīng"],
			["qián"],
			["wàn"],
			["xuǎn"]
		],
		"青山不老": [
			["qīng"],
			["shān"],
			["bù"],
			["lǎo"]
		],
		"青山绿水": [
			["qīng"],
			["shān"],
			["lǜ"],
			["shuǐ"]
		],
		"青山一发": [
			["qīng"],
			["shān"],
			["yī"],
			["fà"]
		],
		"青少年": [
			["qīng"],
			["shào"],
			["nián"]
		],
		"青史传名": [
			["qīng"],
			["shǐ"],
			["chuán"],
			["míng"]
		],
		"青堂瓦舍": [
			["qīng"],
			["táng"],
			["wǎ"],
			["shè"]
		],
		"青田石": [
			["qīng"],
			["tián"],
			["shí"]
		],
		"青霄直上": [
			["qīng"],
			["xiāo"],
			["zhí"],
			["shàng"]
		],
		"青眼相看": [
			["qīng"],
			["yǎn"],
			["xiāng"],
			["kàn"]
		],
		"青羊宫": [
			["qīng"],
			["yáng"],
			["gōng"]
		],
		"青云万里": [
			["qīng"],
			["yún"],
			["wàn"],
			["lǐ"]
		],
		"青云直上": [
			["qīng"],
			["yún"],
			["zhí"],
			["shàng"]
		],
		"青州从事": [
			["qīng"],
			["zhōu"],
			["cóng"],
			["shì"]
		],
		"青枝绿叶": [
			["qīng"],
			["zhī"],
			["lǜ"],
			["yè"]
		],
		"青紫被体": [
			["qīng"],
			["zǐ"],
			["pī"],
			["tǐ"]
		],
		"氢氧化钾": [
			["qīng"],
			["yǎng"],
			["huà"],
			["jiǎ"]
		],
		"轻薄无礼": [
			["qīng"],
			["báo"],
			["wú"],
			["lǐ"]
		],
		"轻薄无行": [
			["qīng"],
			["báo"],
			["wú"],
			["xíng"]
		],
		"轻才好施": [
			["qīng"],
			["cái"],
			["hào"],
			["shī"]
		],
		"轻薄无知": [
			["qīng"],
			["báo"],
			["wú"],
			["zhī"]
		],
		"轻财好施": [
			["qīng"],
			["cái"],
			["hǎo"],
			["shī"]
		],
		"轻财好士": [
			["qīng"],
			["cái"],
			["hǎo"],
			["shì"]
		],
		"轻财好义": [
			["qīng"],
			["cái"],
			["hào"],
			["yì"]
		],
		"轻财重士": [
			["qīng"],
			["cái"],
			["zhòng"],
			["shì"]
		],
		"轻车减从": [
			["qīng"],
			["chē"],
			["jiǎn"],
			["cóng"]
		],
		"轻财重义": [
			["qīng"],
			["cái"],
			["zhòng"],
			["yì"]
		],
		"轻车简从": [
			["qīng"],
			["chē"],
			["jiǎn"],
			["cóng"]
		],
		"轻车熟道": [
			["qīng"],
			["chē"],
			["shú"],
			["dào"]
		],
		"轻车熟路": [
			["qīng"],
			["chē"],
			["shú"],
			["lù"]
		],
		"轻尘栖弱草": [
			["qīng"],
			["chén"],
			["qī"],
			["ruò"],
			["cǎo"]
		],
		"轻赋薄敛": [
			["qīng"],
			["fù"],
			["báo"],
			["liǎn"]
		],
		"轻金属": [
			["qīng"],
			["jīn"],
			["shǔ"]
		],
		"轻举远游": [
			["qīng"],
			["jǔ"],
			["yuǎn"],
			["yóu"]
		],
		"轻口薄舌": [
			["qīng"],
			["kǒu"],
			["báo"],
			["shé"]
		],
		"轻怜重惜": [
			["qīng"],
			["lián"],
			["zhòng"],
			["xī"]
		],
		"轻量级": [
			["qīng"],
			["liàng"],
			["jí"]
		],
		"轻虑浅谋": [
			["qīng"],
			["lǜ"],
			["qiǎn"],
			["móu"]
		],
		"轻诺寡信": [
			["qīng"],
			["nuò"],
			["guǎ"],
			["xìn"]
		],
		"轻骑减从": [
			["qīng"],
			["qí"],
			["jiǎn"],
			["cóng"]
		],
		"轻骑简从": [
			["qīng"],
			["jì"],
			["jiǎn"],
			["cóng"]
		],
		"轻若鸿毛": [
			["qīng"],
			["ruò"],
			["hóng"],
			["máo"]
		],
		"轻身重义": [
			["qīng"],
			["shēn"],
			["zhòng"],
			["yì"]
		],
		"轻生重义": [
			["qīng"],
			["shēng"],
			["zhòng"],
			["yì"]
		],
		"轻死重气": [
			["qīng"],
			["sǐ"],
			["zhòng"],
			["qì"]
		],
		"轻死重义": [
			["qīng"],
			["sǐ"],
			["zhòng"],
			["yì"]
		],
		"轻吞慢吐": [
			["qīng"],
			["tūn"],
			["màn"],
			["tǔ"]
		],
		"轻言寡信": [
			["qīng"],
			["yán"],
			["guǎ"],
			["xìn"]
		],
		"轻言轻语": [
			["qīng"],
			["yán"],
			["qīng"],
			["yǔ"]
		],
		"轻言软语": [
			["qīng"],
			["yán"],
			["ruǎn"],
			["yǔ"]
		],
		"轻言细语": [
			["qīng"],
			["yán"],
			["xì"],
			["yǔ"]
		],
		"轻傜薄赋": [
			["qīng"],
			["yāo"],
			["báo"],
			["fù"]
		],
		"轻徭薄赋": [
			["qīng"],
			["yáo"],
			["báo"],
			["fù"]
		],
		"轻徭薄税": [
			["qīng"],
			["yáo"],
			["báo"],
			["shuì"]
		],
		"轻繇薄赋": [
			["qīng"],
			["yáo"],
			["báo"],
			["fù"]
		],
		"轻音乐": [
			["qīng"],
			["yīn"],
			["yuè"]
		],
		"轻重倒置": [
			["qīng"],
			["zhòng"],
			["dào"],
			["zhì"]
		],
		"轻重缓急": [
			["qīng"],
			["zhòng"],
			["huǎn"],
			["jí"]
		],
		"轻重量级": [
			["qīng"],
			["zhòng"],
			["liàng"],
			["jí"]
		],
		"轻装简从": [
			["qīng"],
			["zhuāng"],
			["jiǎn"],
			["cóng"]
		],
		"轻装上阵": [
			["qīng"],
			["zhuāng"],
			["shàng"],
			["zhèn"]
		],
		"轻重失宜": [
			["qīng"],
			["zhòng"],
			["shī"],
			["yí"]
		],
		"轻卒锐兵": [
			["qīng"],
			["zú"],
			["ruì"],
			["bīng"]
		],
		"轻嘴薄舌": [
			["qīng"],
			["zuǐ"],
			["bó"],
			["shé"]
		],
		"倾盖如故": [
			["qīng"],
			["gài"],
			["rú"],
			["gù"]
		],
		"倾肠倒肚": [
			["qīng"],
			["cháng"],
			["dào"],
			["dǔ"]
		],
		"倾家败产": [
			["qīng"],
			["jiā"],
			["bài"],
			["chǎn"]
		],
		"倾家荡产": [
			["qīng"],
			["jiā"],
			["dàng"],
			["chǎn"]
		],
		"倾家竭产": [
			["qīng"],
			["jiā"],
			["jié"],
			["chǎn"]
		],
		"倾家破产": [
			["qīng"],
			["jiā"],
			["pò"],
			["chǎn"]
		],
		"倾筐倒庋": [
			["qīng"],
			["kuāng"],
			["dào"],
			["guǐ"]
		],
		"倾筐倒箧": [
			["qīng"],
			["kuāng"],
			["dào"],
			["qiè"]
		],
		"倾盆大雨": [
			["qīng"],
			["pén"],
			["dà"],
			["yǔ"]
		],
		"倾箱倒箧": [
			["qīng"],
			["xiāng"],
			["dào"],
			["qiè"]
		],
		"倾斜度": [
			["qīng"],
			["xié"],
			["dù"]
		],
		"倾心吐胆": [
			["qīng"],
			["xīn"],
			["tǔ"],
			["dǎn"]
		],
		"卿大夫": [
			["qīng"],
			["dài"],
			["fū"]
		],
		"清词丽句": [
			["qīng"],
			["cí"],
			["lì"],
			["jù"]
		],
		"清辞丽句": [
			["qīng"],
			["cí"],
			["lì"],
			["jù"]
		],
		"清辞丽曲": [
			["qīng"],
			["cí"],
			["lì"],
			["qǔ"]
		],
		"清都绛阙": [
			["qīng"],
			["dōu"],
			["jiàng"],
			["què"]
		],
		"清都紫府": [
			["qīng"],
			["dōu"],
			["zǐ"],
			["fǔ"]
		],
		"清都紫微": [
			["qīng"],
			["dōu"],
			["zǐ"],
			["wēi"]
		],
		"清风高节": [
			["qīng"],
			["fēng"],
			["gāo"],
			["jié"]
		],
		"清风劲节": [
			["qīng"],
			["fēng"],
			["jìng"],
			["jié"]
		],
		"清风峻节": [
			["qīng"],
			["fēng"],
			["jùn"],
			["jié"]
		],
		"清风朗月": [
			["qīng"],
			["fēng"],
			["lǎng"],
			["yuè"]
		],
		"清风两袖": [
			["qīng"],
			["fēng"],
			["liǎng"],
			["xiù"]
		],
		"清风亮节": [
			["qīng"],
			["fēng"],
			["liàng"],
			["jié"]
		],
		"清风明月": [
			["qīng"],
			["fēng"],
			["míng"],
			["yuè"]
		],
		"清官难断家务事": [
			["qīng"],
			["guān"],
			["nán"],
			["duàn"],
			["jiā"],
			["wù"],
			["shì"]
		],
		"清官能断家务事": [
			["qīng"],
			["guān"],
			["nán"],
			["duàn"],
			["jiā"],
			["wù"],
			["shì"]
		],
		"清华大学": [
			["qīng"],
			["huá"],
			["dà"],
			["xué"]
		],
		"清净寂灭": [
			["qīng"],
			["jìng"],
			["jì"],
			["miè"]
		],
		"清净无为": [
			["qīng"],
			["jìng"],
			["wú"],
			["wéi"]
		],
		"清静无为": [
			["qīng"],
			["jìng"],
			["wú"],
			["wéi"]
		],
		"清君侧": [
			["qīng"],
			["jūn"],
			["cè"]
		],
		"清廉正直": [
			["qīng"],
			["lián"],
			["zhèng"],
			["zhí"]
		],
		"清洌可鉴": [
			["qīng"],
			["liè"],
			["kě"],
			["jiàn"]
		],
		"清明节": [
			["qīng"],
			["míng"],
			["jié"]
		],
		"清贫如洗": [
			["qīng"],
			["pín"],
			["rú"],
			["xǐ"]
		],
		"清水无大鱼": [
			["qīng"],
			["shuǐ"],
			["wú"],
			["dà"],
			["yú"]
		],
		"清汤寡水": [
			["qīng"],
			["tāng"],
			["guǎ"],
			["shuǐ"]
		],
		"清微淡远": [
			["qīng"],
			["wēi"],
			["dàn"],
			["yuǎn"]
		],
		"清心少欲": [
			["qīng"],
			["xīn"],
			["shǎo"],
			["yù"]
		],
		"清源正本": [
			["qīng"],
			["yuán"],
			["zhèng"],
			["běn"]
		],
		"清浊同流": [
			["qīng"],
			["zhuó"],
			["tóng"],
			["liú"]
		],
		"蜻蜓撼石柱": [
			["qīng"],
			["tíng"],
			["hàn"],
			["shí"],
			["zhù"]
		],
		"情不可却": [
			["qíng"],
			["bù"],
			["kě"],
			["què"]
		],
		"情不自禁": [
			["qíng"],
			["bù"],
			["zì"],
			["jīn"]
		],
		"情不自已": [
			["qíng"],
			["bù"],
			["zì"],
			["yǐ"]
		],
		"情长纸短": [
			["qíng"],
			["cháng"],
			["zhǐ"],
			["duǎn"]
		],
		"情非得已": [
			["qíng"],
			["fēi"],
			["dé"],
			["yǐ"]
		],
		"情孚意合": [
			["qíng"],
			["fú"],
			["yì"],
			["hé"]
		],
		"情见乎词": [
			["qíng"],
			["jiàn"],
			["hū"],
			["cí"]
		],
		"情见乎辞": [
			["qíng"],
			["xiàn"],
			["hū"],
			["cí"]
		],
		"情见乎言": [
			["qíng"],
			["jiàn"],
			["hū"],
			["yán"]
		],
		"情见力屈": [
			["qíng"],
			["xiàn"],
			["lì"],
			["qū"]
		],
		"情见势屈": [
			["qíng"],
			["xiàn"],
			["shì"],
			["qū"]
		],
		"情见于色": [
			["qíng"],
			["jiàn"],
			["yú"],
			["sè"]
		],
		"情见埶竭": [
			["qíng"],
			["jiàn"],
			["zhōu"],
			["jié"]
		],
		"情景交融": [
			["qíng"],
			["jǐng"],
			["jiāo"],
			["róng"]
		],
		"情理难容": [
			["qíng"],
			["lǐ"],
			["nán"],
			["róng"]
		],
		"情凄意切": [
			["qíng"],
			["qī"],
			["yì"],
			["qiē"]
		],
		"情面难却": [
			["qíng"],
			["miàn"],
			["nán"],
			["què"]
		],
		"情深骨肉": [
			["qíng"],
			["shēn"],
			["gǔ"],
			["ròu"]
		],
		"情深似海": [
			["qíng"],
			["shēn"],
			["sì"],
			["hǎi"]
		],
		"情深义重": [
			["qíng"],
			["shēn"],
			["yì"],
			["zhòng"]
		],
		"情深意重": [
			["qíng"],
			["shēn"],
			["yì"],
			["zhòng"]
		],
		"情同手足": [
			["qíng"],
			["tóng"],
			["shǒu"],
			["zú"]
		],
		"情同骨肉": [
			["qíng"],
			["tóng"],
			["gǔ"],
			["ròu"]
		],
		"情同一家": [
			["qíng"],
			["tóng"],
			["yī"],
			["jiā"]
		],
		"情投契合": [
			["qíng"],
			["tóu"],
			["qì"],
			["hé"]
		],
		"情投谊合": [
			["qíng"],
			["tóu"],
			["yì"],
			["hé"]
		],
		"情投意合": [
			["qíng"],
			["tóu"],
			["yì"],
			["hé"]
		],
		"情文并茂": [
			["qíng"],
			["wén"],
			["bìng"],
			["mào"]
		],
		"情有可原": [
			["qíng"],
			["yǒu"],
			["kě"],
			["yuán"]
		],
		"情逾骨肉": [
			["qíng"],
			["yú"],
			["gǔ"],
			["ròu"]
		],
		"情真意切": [
			["qíng"],
			["zhēn"],
			["yì"],
			["qiè"]
		],
		"情至意尽": [
			["qíng"],
			["zhì"],
			["yì"],
			["jìn"]
		],
		"情重姜肱": [
			["qíng"],
			["zhòng"],
			["jiāng"],
			["gōng"]
		],
		"晴雨表": [
			["qíng"],
			["yǔ"],
			["biǎo"]
		],
		"晴雨伞": [
			["qíng"],
			["yǔ"],
			["sǎn"]
		],
		"氰化钾": [
			["qíng"],
			["huà"],
			["jiǎ"]
		],
		"氰化物": [
			["qíng"],
			["huà"],
			["wù"]
		],
		"请将不如激将": [
			["qǐng"],
			["jiàng"],
			["bù"],
			["rú"],
			["jī"],
			["jiàng"]
		],
		"请自隗始": [
			["qǐng"],
			["zì"],
			["wěi"],
			["shǐ"]
		],
		"庆吊不行": [
			["qìng"],
			["diào"],
			["bù"],
			["xíng"]
		],
		"庆功会": [
			["qìng"],
			["gōng"],
			["huì"]
		],
		"磬笔难书": [
			["qìng"],
			["bǐ"],
			["nán"],
			["shū"]
		],
		"磬石之固": [
			["qìng"],
			["shí"],
			["zhī"],
			["gù"]
		],
		"磬竹难书": [
			["qìng"],
			["zhú"],
			["nán"],
			["shū"]
		],
		"罄竹难书": [
			["qìng"],
			["zhú"],
			["nán"],
			["shū"]
		],
		"穷不失义": [
			["qióng"],
			["bù"],
			["shī"],
			["yì"]
		],
		"跫响空谷": [
			["qióng"],
			["xiǎng"],
			["kōng"],
			["gǔ"]
		],
		"穷愁潦倒": [
			["qióng"],
			["chóu"],
			["liáo"],
			["dǎo"]
		],
		"穷大失居": [
			["qióng"],
			["dà"],
			["shī"],
			["jū"]
		],
		"穷当益坚": [
			["qióng"],
			["dāng"],
			["yì"],
			["jiān"]
		],
		"穷根究底": [
			["qióng"],
			["gēn"],
			["jiū"],
			["dǐ"]
		],
		"穷骨头": [
			["qióng"],
			["gú"],
			["tou"]
		],
		"穷极思变": [
			["qióng"],
			["jí"],
			["sī"],
			["biàn"]
		],
		"穷极要妙": [
			["qióng"],
			["jí"],
			["yào"],
			["miào"]
		],
		"穷家富路": [
			["qióng"],
			["jiā"],
			["fù"],
			["lù"]
		],
		"穷寇勿追": [
			["qióng"],
			["kòu"],
			["wù"],
			["zhuī"]
		],
		"穷困潦倒": [
			["qióng"],
			["kùn"],
			["liáo"],
			["dǎo"]
		],
		"穷理尽性": [
			["qióng"],
			["lǐ"],
			["jìn"],
			["xìng"]
		],
		"穷年累世": [
			["qióng"],
			["nián"],
			["lěi"],
			["shì"]
		],
		"穷年累月": [
			["qióng"],
			["nián"],
			["lěi"],
			["yuè"]
		],
		"穷且益坚": [
			["qióng"],
			["qiě"],
			["yì"],
			["jiān"]
		],
		"穷山恶水": [
			["qióng"],
			["shān"],
			["è"],
			["shuǐ"]
		],
		"穷天极地": [
			["qióng"],
			["tiān"],
			["jí"],
			["dì"]
		],
		"穷途潦倒": [
			["qióng"],
			["tú"],
			["liáo"],
			["dǎo"]
		],
		"穷形尽相": [
			["qióng"],
			["xíng"],
			["jìn"],
			["xiàng"]
		],
		"穷巷陋室": [
			["qióng"],
			["xiàng"],
			["lòu"],
			["shì"]
		],
		"穷凶极恶": [
			["qióng"],
			["xiōng"],
			["jí"],
			["è"]
		],
		"穷原竟委": [
			["qióng"],
			["yuán"],
			["jìng"],
			["wěi"]
		],
		"穷源竟委": [
			["qióng"],
			["yuán"],
			["jìng"],
			["wěi"]
		],
		"穷猿奔林": [
			["qióng"],
			["yuán"],
			["bēn"],
			["lín"]
		],
		"穷则思变": [
			["qióng"],
			["zé"],
			["sī"],
			["biàn"]
		],
		"琼堆玉砌": [
			["qióng"],
			["duī"],
			["yù"],
			["qì"]
		],
		"琼浆金液": [
			["qióng"],
			["jiāng"],
			["jīn"],
			["yè"]
		],
		"琼浆玉液": [
			["qióng"],
			["jiāng"],
			["yù"],
			["yè"]
		],
		"琼楼金阙": [
			["qióng"],
			["lóu"],
			["jīn"],
			["què"]
		],
		"琼枝玉树": [
			["qióng"],
			["zhī"],
			["yù"],
			["shù"]
		],
		"琼枝玉叶": [
			["qióng"],
			["zhī"],
			["yù"],
			["yè"]
		],
		"秋风过耳": [
			["qiū"],
			["fēng"],
			["guò"],
			["ěr"]
		],
		"秋风扫落叶": [
			["qiū"],
			["fēng"],
			["sǎo"],
			["luò"],
			["yè"]
		],
		"秋风扫叶": [
			["qiū"],
			["fēng"],
			["sǎo"],
			["yè"]
		],
		"秋风落叶": [
			["qiū"],
			["fēng"],
			["luò"],
			["yè"]
		],
		"秋风团扇": [
			["qiū"],
			["fēng"],
			["tuán"],
			["shàn"]
		],
		"秋高气和": [
			["qiū"],
			["gāo"],
			["qì"],
			["hé"]
		],
		"秋风纨扇": [
			["qiū"],
			["fēng"],
			["wán"],
			["shàn"]
		],
		"秋毫不犯": [
			["qiū"],
			["háo"],
			["bù"],
			["fàn"]
		],
		"秋毫见捐": [
			["qiū"],
			["háo"],
			["jiàn"],
			["juān"]
		],
		"秋扇见捐": [
			["qiū"],
			["shàn"],
			["jiàn"],
			["juān"]
		],
		"秋色平分": [
			["qiū"],
			["sè"],
			["píng"],
			["fēn"]
		],
		"秋实春华": [
			["qiū"],
			["shí"],
			["chūn"],
			["huā"]
		],
		"秋月春风": [
			["qiū"],
			["yuè"],
			["chūn"],
			["fēng"]
		],
		"秋收冬藏": [
			["qiū"],
			["shōu"],
			["dōng"],
			["cáng"]
		],
		"秋行夏令": [
			["qiū"],
			["xíng"],
			["xià"],
			["líng"]
		],
		"囚首丧面": [
			["qiú"],
			["shǒu"],
			["sàng"],
			["miàn"]
		],
		"求过于供": [
			["qiú"],
			["guò"],
			["yú"],
			["gòng"]
		],
		"求亲告友": [
			["qiú"],
			["qīn"],
			["gào"],
			["yǒu"]
		],
		"求人不如求己": [
			["qiú"],
			["rén"],
			["bù"],
			["rú"],
			["qiú"],
			["jǐ"]
		],
		"求浆得酒": [
			["qiú"],
			["jiāng"],
			["dé"],
			["jiǔ"]
		],
		"求亲靠友": [
			["qiú"],
			["qīn"],
			["kào"],
			["yǒu"]
		],
		"求仁得仁": [
			["qiú"],
			["rén"],
			["dé"],
			["rén"]
		],
		"求神问卜": [
			["qiú"],
			["shén"],
			["wèn"],
			["bǔ"]
		],
		"求同存异": [
			["qiú"],
			["tóng"],
			["cún"],
			["yì"]
		],
		"求之不得": [
			["qiú"],
			["zhī"],
			["bù"],
			["dé"]
		],
		"求知若渴": [
			["qiú"],
			["zhī"],
			["ruò"],
			["kě"]
		],
		"裘弊金尽": [
			["qiú"],
			["bì"],
			["jīn"],
			["jìn"]
		],
		"求贤若渴": [
			["qiú"],
			["xián"],
			["ruò"],
			["kě"]
		],
		"求知欲": [
			["qiú"],
			["zhī"],
			["yù"]
		],
		"区公所": [
			["qū"],
			["gōng"],
			["suǒ"]
		],
		"区区此心": [
			["qū"],
			["qū"],
			["cǐ"],
			["xīn"]
		],
		"区区小事": [
			["qū"],
			["qū"],
			["xiǎo"],
			["shì"]
		],
		"区区之众": [
			["qū"],
			["qū"],
			["zhī"],
			["zhòng"]
		],
		"区闻陬见": [
			["qū"],
			["wén"],
			["zōu"],
			["jiàn"]
		],
		"曲别针": [
			["qǔ"],
			["bié"],
			["zhēn"]
		],
		"曲高和寡": [
			["qǔ"],
			["gāo"],
			["hè"],
			["guǎ"]
		],
		"曲不离口": [
			["qǔ"],
			["bù"],
			["lí"],
			["kǒu"]
		],
		"曲肱而枕": [
			["qǔ"],
			["gōng"],
			["ér"],
			["zhěn"]
		],
		"曲棍球": [
			["qū"],
			["gùn"],
			["qiú"]
		],
		"曲尽其妙": [
			["qū"],
			["jìn"],
			["qí"],
			["miào"]
		],
		"曲颈甑": [
			["qǔ"],
			["jǐng"],
			["zèng"]
		],
		"曲径通幽": [
			["qū"],
			["jìng"],
			["tōng"],
			["yōu"]
		],
		"曲里拐弯": [
			["qū"],
			["lǐ"],
			["guǎn"],
			["wān"]
		],
		"曲眉丰颊": [
			["qǔ"],
			["méi"],
			["fēng"],
			["jiá"]
		],
		"曲曲弯弯": [
			["qū"],
			["qū"],
			["wān"],
			["wān"]
		],
		"曲曲折折": [
			["qū"],
			["qū"],
			["zhé"],
			["shé"]
		],
		"曲水流觞": [
			["qǔ"],
			["shuǐ"],
			["liú"],
			["shāng"]
		],
		"曲突移薪": [
			["qǔ"],
			["tū"],
			["yí"],
			["xīn"]
		],
		"曲突徙薪": [
			["qū"],
			["tū"],
			["xǐ"],
			["xīn"]
		],
		"曲线板": [
			["qū"],
			["xiàn"],
			["bǎn"]
		],
		"曲线美": [
			["qū"],
			["xiàn"],
			["měi"]
		],
		"曲线图": [
			["qū"],
			["xiàn"],
			["tú"]
		],
		"曲学诐行": [
			["qǔ"],
			["xué"],
			["hǎo"],
			["xíng"]
		],
		"曲线运动": [
			["qū"],
			["xiàn"],
			["yùn"],
			["dòng"]
		],
		"曲学阿世": [
			["qǔ"],
			["xué"],
			["ā"],
			["shì"]
		],
		"曲意承迎": [
			["qǔ"],
			["yì"],
			["chéng"],
			["yíng"]
		],
		"曲意逢迎": [
			["qū"],
			["yì"],
			["féng"],
			["yíng"]
		],
		"曲意奉迎": [
			["qǔ"],
			["yì"],
			["fèng"],
			["yíng"]
		],
		"曲意迎合": [
			["qǔ"],
			["yì"],
			["yíng"],
			["hé"]
		],
		"曲终奏雅": [
			["qǔ"],
			["zhōng"],
			["zòu"],
			["yǎ"]
		],
		"诎要桡腘": [
			["qū"],
			["yào"],
			["ráo"],
			["yù"]
		],
		"驱羊战狼": [
			["qū"],
			["yáng"],
			["zhàn"],
			["láng"]
		],
		"诎寸信尺": [
			["qū"],
			["cùn"],
			["xìn"],
			["chǐ"]
		],
		"驱羊攻虎": [
			["qū"],
			["yáng"],
			["gōng"],
			["hǔ"]
		],
		"驱逐令": [
			["qū"],
			["zhú"],
			["lìng"]
		],
		"屈打成招": [
			["qū"],
			["dǎ"],
			["chéng"],
			["zhāo"]
		],
		"屈光度": [
			["qū"],
			["guāng"],
			["dù"]
		],
		"屈指可数": [
			["qū"],
			["zhǐ"],
			["kě"],
			["shǔ"]
		],
		"屈节辱命": [
			["qū"],
			["jié"],
			["rǔ"],
			["mìng"]
		],
		"趋光性": [
			["qū"],
			["guāng"],
			["xìng"]
		],
		"趋权附势": [
			["qū"],
			["quán"],
			["fù"],
			["shì"]
		],
		"趋时奉势": [
			["qū"],
			["shí"],
			["fèng"],
			["shì"]
		],
		"趋时附势": [
			["qū"],
			["shí"],
			["fù"],
			["shì"]
		],
		"趋利避害": [
			["qū"],
			["lì"],
			["bì"],
			["hài"]
		],
		"趋炎附热": [
			["qū"],
			["yán"],
			["fù"],
			["rè"]
		],
		"取长补短": [
			["qǔ"],
			["cháng"],
			["bǔ"],
			["duǎn"]
		],
		"趋之若骛": [
			["qū"],
			["zhī"],
			["ruò"],
			["wù"]
		],
		"趋之若鹜": [
			["qū"],
			["zhī"],
			["ruò"],
			["wù"]
		],
		"取长弃短": [
			["qǔ"],
			["cháng"],
			["qì"],
			["duǎn"]
		],
		"趋炎附势": [
			["qū"],
			["yán"],
			["fù"],
			["shì"]
		],
		"取乱侮亡": [
			["qǔ"],
			["luàn"],
			["wǔ"],
			["wáng"]
		],
		"取乱存亡": [
			["qǔ"],
			["luàn"],
			["cún"],
			["wáng"]
		],
		"取巧图便": [
			["qǔ"],
			["qiǎo"],
			["tú"],
			["biàn"]
		],
		"取青妃白": [
			["qǔ"],
			["qīng"],
			["fēi"],
			["bái"]
		],
		"取信于民": [
			["qǔ"],
			["xìn"],
			["yú"],
			["mín"]
		],
		"取信于人": [
			["qǔ"],
			["xìn"],
			["yú"],
			["rén"]
		],
		"取予有节": [
			["qǔ"],
			["yù"],
			["yǒu"],
			["jié"]
		],
		"取诸宫中": [
			["qǔ"],
			["zhū"],
			["gōng"],
			["zhōng"]
		],
		"取之不尽，用之不竭": [
			["qǔ"],
			["zhī"],
			["bù"],
			["jìn"],
			["，"],
			["yòng"],
			["zhī"],
			["bù"],
			["jié"]
		],
		"去本趋末": [
			["qù"],
			["běn"],
			["qū"],
			["mò"]
		],
		"去就之分": [
			["qù"],
			["jiù"],
			["zhī"],
			["fēn"]
		],
		"去甚去泰": [
			["qù"],
			["shèn"],
			["qù"],
			["tài"]
		],
		"去食存信": [
			["qù"],
			["shí"],
			["cún"],
			["xìn"]
		],
		"去太去甚": [
			["qù"],
			["tai"],
			["qù"],
			["shèn"]
		],
		"去泰去甚": [
			["qù"],
			["tài"],
			["qù"],
			["shèn"]
		],
		"去邪归正": [
			["qù"],
			["xié"],
			["guī"],
			["zhèng"]
		],
		"去住两难": [
			["qù"],
			["zhù"],
			["liǎng"],
			["nán"]
		],
		"去天尺五": [
			["qù"],
			["tiān"],
			["chǐ"],
			["wǔ"]
		],
		"阒其无人": [
			["qù"],
			["qí"],
			["wú"],
			["rén"]
		],
		"圈牢养物": [
			["juàn"],
			["láo"],
			["yǎng"],
			["wù"]
		],
		"全国人民代表大会": [
			["quán"],
			["guó"],
			["rén"],
			["mín"],
			["dài"],
			["biǎo"],
			["dà"],
			["huì"]
		],
		"全功尽弃": [
			["quán"],
			["gōng"],
			["jìn"],
			["qì"]
		],
		"全军覆没": [
			["quán"],
			["jūn"],
			["fù"],
			["mò"]
		],
		"全家福": [
			["quán"],
			["jiā"],
			["fú"]
		],
		"全国人大": [
			["quán"],
			["guó"],
			["rén"],
			["dà"]
		],
		"全能全智": [
			["quán"],
			["néng"],
			["quán"],
			["zhì"]
		],
		"全民所有制": [
			["quán"],
			["mín"],
			["suǒ"],
			["yǒu"],
			["zhì"]
		],
		"全能冠军": [
			["quán"],
			["néng"],
			["guàn"],
			["jūn"]
		],
		"全球定位系统": [
			["quán"],
			["qiú"],
			["dìng"],
			["wèi"],
			["xì"],
			["tǒng"]
		],
		"全能运动": [
			["quán"],
			["néng"],
			["yùn"],
			["dòng"]
		],
		"全运会": [
			["quán"],
			["yùn"],
			["huì"]
		],
		"全知全能": [
			["quán"],
			["zhī"],
			["quán"],
			["néng"]
		],
		"全身远害": [
			["quán"],
			["shēn"],
			["yuǎn"],
			["hài"]
		],
		"权豪势要": [
			["quán"],
			["háo"],
			["shì"],
			["yào"]
		],
		"全智全能": [
			["quán"],
			["zhì"],
			["quán"],
			["néng"]
		],
		"权衡轻重": [
			["quán"],
			["héng"],
			["qīng"],
			["zhòng"]
		],
		"权欲熏心": [
			["quán"],
			["yù"],
			["xūn"],
			["xīn"]
		],
		"权重望崇": [
			["quán"],
			["zhòng"],
			["wàng"],
			["chóng"]
		],
		"权均力齐": [
			["quán"],
			["jūn"],
			["lì"],
			["qí"]
		],
		"权倾中外": [
			["quán"],
			["qīng"],
			["zhōng"],
			["wai"]
		],
		"拳打脚踢": [
			["quán"],
			["dǎ"],
			["jiǎo"],
			["tī"]
		],
		"泉石膏肓": [
			["quán"],
			["shí"],
			["gāo"],
			["huāng"]
		],
		"拳拳服膺": [
			["quán"],
			["quán"],
			["fú"],
			["yīng"]
		],
		"权重秩卑": [
			["quán"],
			["zhòng"],
			["zhì"],
			["bēi"]
		],
		"拳拳盛意": [
			["quán"],
			["quán"],
			["shèng"],
			["yì"]
		],
		"拳头产品": [
			["quán"],
			["tou"],
			["chǎn"],
			["pǐn"]
		],
		"拳中掿沙": [
			["quán"],
			["zhōng"],
			["nuò"],
			["shā"]
		],
		"犬牙盘石": [
			["quǎn"],
			["yá"],
			["pán"],
			["shí"]
		],
		"犬牙相制": [
			["quǎn"],
			["yá"],
			["xiāng"],
			["zhì"]
		],
		"犬牙相错": [
			["quǎn"],
			["yá"],
			["xiāng"],
			["cuò"]
		],
		"劝善黜恶": [
			["quàn"],
			["shàn"],
			["chù"],
			["è"]
		],
		"劝善惩恶": [
			["quàn"],
			["shàn"],
			["chéng"],
			["è"]
		],
		"犬牙鹰爪": [
			["quǎn"],
			["yá"],
			["yīng"],
			["zhǎo"]
		],
		"劝善戒恶": [
			["quàn"],
			["shàn"],
			["jiè"],
			["è"]
		],
		"劝业场": [
			["quàn"],
			["yè"],
			["chǎng"]
		],
		"缺心少肺": [
			["quē"],
			["xīn"],
			["shǎo"],
			["fèi"]
		],
		"缺衣少食": [
			["quē"],
			["yī"],
			["shǎo"],
			["shí"]
		],
		"缺食无衣": [
			["quē"],
			["shí"],
			["wú"],
			["yī"]
		],
		"缺一不可": [
			["quē"],
			["yī"],
			["bù"],
			["kě"]
		],
		"缺吃少穿": [
			["quē"],
			["chī"],
			["shǎo"],
			["chuān"]
		],
		"却老还童": [
			["què"],
			["lǎo"],
			["huán"],
			["tóng"]
		],
		"却之不恭": [
			["què"],
			["zhī"],
			["bù"],
			["gōng"]
		],
		"雀马鱼龙": [
			["què"],
			["mǎ"],
			["yú"],
			["lóng"]
		],
		"却行求前": [
			["què"],
			["xíng"],
			["qiú"],
			["qián"]
		],
		"雀角鼠牙": [
			["què"],
			["jiǎo"],
			["shǔ"],
			["yá"]
		],
		"雀目鼠步": [
			["què"],
			["mù"],
			["shǔ"],
			["bù"]
		],
		"雀屏中选": [
			["què"],
			["píng"],
			["zhòng"],
			["xuǎn"]
		],
		"雀鼠之争": [
			["què"],
			["shǔ"],
			["zhī"],
			["zhēng"]
		],
		"雀喧鸠聚": [
			["què"],
			["xuān"],
			["jiū"],
			["jù"]
		],
		"雀小脏全": [
			["què"],
			["xiǎo"],
			["zàng"],
			["quán"]
		],
		"确然不群": [
			["què"],
			["rán"],
			["bù"],
			["qún"]
		],
		"确固不拔": [
			["què"],
			["gù"],
			["bù"],
			["bá"]
		],
		"确乎不拔": [
			["què"],
			["hū"],
			["bù"],
			["bá"]
		],
		"确凿不移": [
			["què"],
			["záo"],
			["bù"],
			["yí"]
		],
		"确切不移": [
			["què"],
			["qiè"],
			["bù"],
			["yí"]
		],
		"鹊巢鸠据": [
			["què"],
			["cháo"],
			["jiū"],
			["jù"]
		],
		"鹊巢鸠占": [
			["què"],
			["cháo"],
			["jiū"],
			["zhàn"]
		],
		"裙带风": [
			["qún"],
			["dài"],
			["fēng"]
		],
		"裙屐少年": [
			["qún"],
			["jī"],
			["shào"],
			["nián"]
		],
		"阙一不可": [
			["què"],
			["yī"],
			["bù"],
			["kě"]
		],
		"裙带关系": [
			["qún"],
			["dài"],
			["guān"],
			["xì"]
		],
		"群雌粥粥": [
			["qún"],
			["cí"],
			["yù"],
			["yù"]
		],
		"群而不党": [
			["qún"],
			["ér"],
			["bù"],
			["dǎng"]
		],
		"群居穴处": [
			["qún"],
			["jū"],
			["xué"],
			["chǔ"]
		],
		"群空冀北": [
			["qún"],
			["kōng"],
			["jì"],
			["běi"]
		],
		"群轻折轴": [
			["qún"],
			["qīng"],
			["zhé"],
			["zhóu"]
		],
		"群鸿戏海": [
			["qún"],
			["hóng"],
			["xì"],
			["hǎi"]
		],
		"群蚁附膻": [
			["qún"],
			["yǐ"],
			["fù"],
			["shān"]
		],
		"群蚁溃堤": [
			["qún"],
			["yǐ"],
			["kuì"],
			["dī"]
		],
		"群众组织": [
			["qún"],
			["zhòng"],
			["zǔ"],
			["zhī"]
		],
		"群众关系": [
			["qún"],
			["zhòng"],
			["guān"],
			["xì"]
		],
		"群英会": [
			["qún"],
			["yīng"],
			["huì"]
		],
		"然荻读书": [
			["rán"],
			["dí"],
			["dú"],
			["shū"]
		],
		"燃烧弹": [
			["rán"],
			["shāo"],
			["dàn"]
		],
		"染风习俗": [
			["rǎn"],
			["fēng"],
			["xí"],
			["sú"]
		],
		"染色体": [
			["rǎn"],
			["sè"],
			["tǐ"]
		],
		"染神刻骨": [
			["rǎn"],
			["shén"],
			["kè"],
			["gǔ"]
		],
		"穰穰满家": [
			["ráng"],
			["ráng"],
			["mǎn"],
			["jiā"]
		],
		"染须种齿": [
			["rǎn"],
			["xū"],
			["zhǒng"],
			["chǐ"]
		],
		"攘臂一呼": [
			["rǎng"],
			["bì"],
			["yī"],
			["hū"]
		],
		"攘肌及骨": [
			["rǎng"],
			["jī"],
			["jí"],
			["gǔ"]
		],
		"攘外安内": [
			["rǎng"],
			["wài"],
			["ān"],
			["nèi"]
		],
		"饶舌调唇": [
			["ráo"],
			["shé"],
			["tiáo"],
			["chún"]
		],
		"饶有兴趣": [
			["ráo"],
			["yǒu"],
			["xìng"],
			["qù"]
		],
		"饶有风趣": [
			["ráo"],
			["yǒu"],
			["fēng"],
			["qù"]
		],
		"桡动脉": [
			["ráo"],
			["dòng"],
			["mài"]
		],
		"绕口令": [
			["rào"],
			["kǒu"],
			["lìng"]
		],
		"绕远儿": [
			["rào"],
			["yuǎn"],
			["ér"]
		],
		"热熬翻饼": [
			["rě"],
			["áo"],
			["fān"],
			["bǐng"]
		],
		"绕圈子": [
			["rào"],
			["quān"],
			["zi"]
		],
		"热处理": [
			["rè"],
			["chǔ"],
			["lǐ"]
		],
		"热传导": [
			["rè"],
			["chuán"],
			["dǎo"]
		],
		"热电厂": [
			["rè"],
			["diàn"],
			["chǎng"]
		],
		"热功当量": [
			["rè"],
			["gōng"],
			["dāng"],
			["liàng"]
		],
		"热辐射": [
			["rè"],
			["fú"],
			["shè"]
		],
		"热得快": [
			["rè"],
			["de"],
			["kuài"]
		],
		"热锅上的蚂蚁": [
			["rè"],
			["guō"],
			["shàng"],
			["de"],
			["mǎ"],
			["yǐ"]
		],
		"热锅上蚂蚁": [
			["rè"],
			["guō"],
			["shàng"],
			["mǎ"],
			["yǐ"]
		],
		"热火朝天": [
			["rè"],
			["huǒ"],
			["cháo"],
			["tiān"]
		],
		"热核反应": [
			["rè"],
			["hé"],
			["fǎn"],
			["yìng"]
		],
		"热可炙手": [
			["rè"],
			["kě"],
			["zhì"],
			["shǒu"]
		],
		"热哄哄": [
			["rè"],
			["hǒng"],
			["hǒng"]
		],
		"热锅上蝼蚁": [
			["rè"],
			["guō"],
			["shàng"],
			["lóu"],
			["yǐ"]
		],
		"热血动物": [
			["rè"],
			["xuè"],
			["dòng"],
			["wù"]
		],
		"热血沸腾": [
			["rè"],
			["xuè"],
			["fèi"],
			["téng"]
		],
		"人百其身": [
			["rén"],
			["bǎi"],
			["qí"],
			["shēn"]
		],
		"人不可貌相": [
			["rén"],
			["bù"],
			["kě"],
			["mào"],
			["xiàng"]
		],
		"人不自安": [
			["rén"],
			["bù"],
			["zì"],
			["ān"]
		],
		"人不聊生": [
			["rén"],
			["bù"],
			["liáo"],
			["shēng"]
		],
		"人不知鬼不觉": [
			["rén"],
			["bù"],
			["zhī"],
			["guǐ"],
			["bù"],
			["jué"]
		],
		"人才济济": [
			["rén"],
			["cái"],
			["jǐ"],
			["jǐ"]
		],
		"人才难得": [
			["rén"],
			["cái"],
			["cái"],
			["dé"]
		],
		"人财两空": [
			["rén"],
			["cái"],
			["liǎng"],
			["kōng"]
		],
		"人参果": [
			["rén"],
			["shēn"],
			["guǒ"]
		],
		"人单势孤": [
			["rén"],
			["dān"],
			["shì"],
			["gū"]
		],
		"人地生疏": [
			["rén"],
			["dì"],
			["shēng"],
			["shū"]
		],
		"人丁兴旺": [
			["rén"],
			["dīng"],
			["xīng"],
			["wàng"]
		],
		"人非木石": [
			["rén"],
			["fēi"],
			["mù"],
			["shí"]
		],
		"人多阙少": [
			["rén"],
			["duō"],
			["què"],
			["shǎo"]
		],
		"人各有志": [
			["rén"],
			["gè"],
			["yǒu"],
			["zhì"]
		],
		"人格化": [
			["rén"],
			["gé"],
			["huà"]
		],
		"人浮于食": [
			["rén"],
			["fú"],
			["yú"],
			["shí"]
		],
		"人工合成": [
			["rén"],
			["gōng"],
			["hé"],
			["chéng"]
		],
		"人给家足": [
			["rén"],
			["jǐ"],
			["jiā"],
			["zú"]
		],
		"人际关系": [
			["rén"],
			["jì"],
			["guān"],
			["xì"]
		],
		"人海战术": [
			["rén"],
			["hǎi"],
			["zhàn"],
			["shù"]
		],
		"人工降雨": [
			["rén"],
			["gōng"],
			["jiàng"],
			["yǔ"]
		],
		"人急偎亲": [
			["rén"],
			["jí"],
			["wēi"],
			["qīn"]
		],
		"人间地狱": [
			["rén"],
			["jiān"],
			["dì"],
			["yù"]
		],
		"人间天堂": [
			["rén"],
			["jiān"],
			["tiān"],
			["táng"]
		],
		"人间重晚晴": [
			["rén"],
			["jiān"],
			["zhòng"],
			["wǎn"],
			["qíng"]
		],
		"人杰地灵": [
			["rén"],
			["jié"],
			["dì"],
			["líng"]
		],
		"人间天上": [
			["rén"],
			["jiān"],
			["tiān"],
			["shàng"]
		],
		"人尽其才": [
			["rén"],
			["jìn"],
			["qí"],
			["cái"]
		],
		"人力车": [
			["rén"],
			["lì"],
			["chē"]
		],
		"人民代表大会": [
			["rén"],
			["mín"],
			["dài"],
			["biǎo"],
			["dà"],
			["huì"]
		],
		"人满为患": [
			["rén"],
			["mǎn"],
			["wéi"],
			["huàn"]
		],
		"人口密度": [
			["rén"],
			["kǒu"],
			["mì"],
			["dù"]
		],
		"人民大会堂": [
			["rén"],
			["mín"],
			["dà"],
			["huì"],
			["táng"]
		],
		"人民教师": [
			["rén"],
			["mín"],
			["jiào"],
			["shī"]
		],
		"人民团体": [
			["rén"],
			["mín"],
			["tuán"],
			["tǐ"]
		],
		"人命危浅": [
			["rén"],
			["mìng"],
			["wēi"],
			["qiǎn"]
		],
		"人民英雄纪念碑": [
			["rén"],
			["mín"],
			["yīng"],
			["xióng"],
			["jì"],
			["niàn"],
			["bēi"]
		],
		"人民内部矛盾": [
			["rén"],
			["mín"],
			["nèi"],
			["bù"],
			["máo"],
			["dùn"]
		],
		"人莫予毒": [
			["rén"],
			["mò"],
			["yú"],
			["dú"]
		],
		"人模狗样": [
			["rén"],
			["mú"],
			["gǒu"],
			["yàng"]
		],
		"人千人万": [
			["rén"],
			["qiān"],
			["rén"],
			["wàn"]
		],
		"人去楼空": [
			["rén"],
			["qù"],
			["lóu"],
			["kōng"]
		],
		"人强胜天": [
			["rén"],
			["qiáng"],
			["shèng"],
			["tiān"]
		],
		"人强马壮": [
			["rén"],
			["qiáng"],
			["mǎ"],
			["zhuàng"]
		],
		"人取我与": [
			["rén"],
			["qǔ"],
			["wǒ"],
			["yǔ"]
		],
		"人琴两亡": [
			["rén"],
			["qín"],
			["liǎng"],
			["wáng"]
		],
		"人人皆知": [
			["rén"],
			["rén"],
			["jiē"],
			["zhī"]
		],
		"人琴俱亡": [
			["rén"],
			["qín"],
			["jù"],
			["wáng"]
		],
		"人人得而诛之": [
			["rén"],
			["rén"],
			["dé"],
			["ér"],
			["zhū"],
			["zhī"]
		],
		"人神同嫉": [
			["rén"],
			["shén"],
			["tóng"],
			["jí"]
		],
		"人生朝露": [
			["rén"],
			["shēng"],
			["cháo"],
			["lù"]
		],
		"人神共嫉": [
			["rén"],
			["shén"],
			["gòng"],
			["jí"]
		],
		"人神共愤": [
			["rén"],
			["shén"],
			["gòng"],
			["fèn"]
		],
		"人涉卬否": [
			["rén"],
			["shè"],
			["áng"],
			["fǒu"]
		],
		"人生何处不相逢": [
			["rén"],
			["shēng"],
			["hé"],
			["chù"],
			["bù"],
			["xiāng"],
			["f"]
		],
		"人生面不熟": [
			["rén"],
			["shēng"],
			["miàn"],
			["bù"],
			["shú"]
		],
		"人生路不熟": [
			["rén"],
			["shēng"],
			["lù"],
			["bù"],
			["shú"]
		],
		"人生观": [
			["rén"],
			["shēng"],
			["guān"]
		],
		"人世间": [
			["rén"],
			["shì"],
			["jiān"]
		],
		"人事不醒": [
			["rén"],
			["shì"],
			["bù"],
			["xǐng"]
		],
		"人事不省": [
			["rén"],
			["shì"],
			["bù"],
			["xǐng"]
		],
		"人生若寄": [
			["rén"],
			["shēng"],
			["ruò"],
			["jì"]
		],
		"人生如朝露": [
			["rén"],
			["shēng"],
			["rú"],
			["zhāo"],
			["lù"]
		],
		"人头畜鸣": [
			["rén"],
			["tóu"],
			["chù"],
			["míng"]
		],
		"人亡邦瘁": [
			["rén"],
			["wáng"],
			["bāng"],
			["cuì"]
		],
		"人头税": [
			["rén"],
			["tóu"],
			["shuì"]
		],
		"人所共知": [
			["rén"],
			["suǒ"],
			["gòng"],
			["zhī"]
		],
		"人事不知": [
			["rén"],
			["shì"],
			["bù"],
			["zhī"]
		],
		"人亡家破": [
			["rén"],
			["wáng"],
			["jiā"],
			["pò"]
		],
		"人亡政息": [
			["rén"],
			["wáng"],
			["zhèng"],
			["xī"]
		],
		"人物肖像": [
			["rén"],
			["wù"],
			["xiào"],
			["xiàng"]
		],
		"人亡物在": [
			["rén"],
			["wáng"],
			["wù"],
			["zài"]
		],
		"人小鬼大": [
			["rén"],
			["xiǎo"],
			["guǐ"],
			["dà"]
		],
		"人心不古": [
			["rén"],
			["xīn"],
			["bù"],
			["gǔ"]
		],
		"人心不足蛇吞象": [
			["rén"],
			["xīn"],
			["bù"],
			["zú"],
			["shé"],
			["tūn"],
			["xiàng"]
		],
		"人心涣散": [
			["rén"],
			["xīn"],
			["huàn"],
			["sàn"]
		],
		"人心大快": [
			["rén"],
			["xīn"],
			["dà"],
			["kuài"]
		],
		"人心隔肚皮": [
			["rén"],
			["xīn"],
			["gé"],
			["dù"],
			["pí"]
		],
		"人心莫测": [
			["rén"],
			["xīn"],
			["mò"],
			["cè"]
		],
		"人行横道": [
			["rén"],
			["xíng"],
			["héng"],
			["dào"]
		],
		"人行道": [
			["rén"],
			["xíng"],
			["dào"]
		],
		"人心丧尽": [
			["rén"],
			["xīn"],
			["sàng"],
			["jìn"]
		],
		"人心难测": [
			["rén"],
			["xīn"],
			["nán"],
			["cè"]
		],
		"人心向背": [
			["rén"],
			["xīn"],
			["xiàng"],
			["bèi"]
		],
		"人言藉藉": [
			["rén"],
			["yán"],
			["jí"],
			["jí"]
		],
		"人仰马翻": [
			["rén"],
			["yǎng"],
			["mǎ"],
			["fān"]
		],
		"人以群分": [
			["rén"],
			["yǐ"],
			["qún"],
			["fēn"]
		],
		"人言可畏": [
			["rén"],
			["yán"],
			["kě"],
			["wèi"]
		],
		"人性论": [
			["rén"],
			["xìng"],
			["lùn"]
		],
		"人语马嘶": [
			["rén"],
			["yǔ"],
			["mǎ"],
			["sī"]
		],
		"人造纤维": [
			["rén"],
			["zào"],
			["xiān"],
			["wéi"]
		],
		"人造地球卫星": [
			["rén"],
			["zào"],
			["dì"],
			["qiú"],
			["wèi"],
			["xīng"]
		],
		"人欲横流": [
			["rén"],
			["yù"],
			["héng"],
			["liú"]
		],
		"人约黄昏": [
			["rén"],
			["yuē"],
			["huáng"],
			["hūn"]
		],
		"人造行星": [
			["rén"],
			["zào"],
			["xíng"],
			["xīng"]
		],
		"人中骐骥": [
			["rén"],
			["zhōng"],
			["qí"],
			["jì"]
		],
		"人中之龙": [
			["rén"],
			["zhōng"],
			["zhī"],
			["lóng"]
		],
		"人中龙虎": [
			["rén"],
			["zhōng"],
			["lóng"],
			["hǔ"]
		],
		"人中狮子": [
			["rén"],
			["zhōng"],
			["shī"],
			["zǐ"]
		],
		"人自为战": [
			["rén"],
			["zì"],
			["wéi"],
			["zhàn"]
		],
		"人自为政": [
			["rén"],
			["zì"],
			["wéi"],
			["zhèng"]
		],
		"人足家给": [
			["rén"],
			["zú"],
			["jiā"],
			["jǐ"]
		],
		"仁至义尽": [
			["rén"],
			["zhì"],
			["yì"],
			["jìn"]
		],
		"仁同一视": [
			["rén"],
			["tóng"],
			["yī"],
			["shì"]
		],
		"仁浆义粟": [
			["rén"],
			["jiāng"],
			["yì"],
			["sù"]
		],
		"仁心仁术": [
			["rén"],
			["xīn"],
			["rén"],
			["shù"]
		],
		"仁者能仁": [
			["rén"],
			["zhě"],
			["néng"],
			["rén"]
		],
		"忍辱负重": [
			["rěn"],
			["rǔ"],
			["fù"],
			["zhòng"]
		],
		"忍无可忍": [
			["rěn"],
			["wú"],
			["kě"],
			["rěn"]
		],
		"忍俊不住": [
			["rěn"],
			["jùn"],
			["bù"],
			["zhù"]
		],
		"忍饥挨饿": [
			["rěn"],
			["jī"],
			["ái"],
			["è"]
		],
		"忍俊不禁": [
			["rěn"],
			["jùn"],
			["bù"],
			["jìn"]
		],
		"稔恶不悛": [
			["rěn"],
			["è"],
			["bù"],
			["quān"]
		],
		"稔恶藏奸": [
			["rěn"],
			["è"],
			["cáng"],
			["jiān"]
		],
		"稔恶盈贯": [
			["rěn"],
			["è"],
			["yíng"],
			["guàn"]
		],
		"刃迎缕解": [
			["rèn"],
			["yíng"],
			["lǚ"],
			["jiě"]
		],
		"认识论": [
			["rèn"],
			["shi"],
			["lùn"]
		],
		"认奴作郎": [
			["rèn"],
			["nú"],
			["zuò"],
			["láng"]
		],
		"认影迷头": [
			["rèn"],
			["yǐng"],
			["mí"],
			["tóu"]
		],
		"认仇作父": [
			["rèn"],
			["chóu"],
			["zuò"],
			["fù"]
		],
		"认敌作父": [
			["rèn"],
			["dí"],
			["zuò"],
			["fù"]
		],
		"认贼为子": [
			["rèn"],
			["zéi"],
			["wéi"],
			["zǐ"]
		],
		"认影为头": [
			["rèn"],
			["yǐng"],
			["wéi"],
			["tóu"]
		],
		"任达不拘": [
			["rèn"],
			["láo"],
			["bù"],
			["jū"]
		],
		"认贼作父": [
			["rèn"],
			["zéi"],
			["zuò"],
			["fù"]
		],
		"认贼为父": [
			["rèn"],
			["zéi"],
			["wéi"],
			["fù"]
		],
		"认知科学": [
			["rèn"],
			["zhī"],
			["kē"],
			["xué"]
		],
		"任其自然": [
			["rèn"],
			["qí"],
			["zì"],
			["rán"]
		],
		"任人唯亲": [
			["rèn"],
			["rén"],
			["wéi"],
			["qīn"]
		],
		"任其自流": [
			["rèn"],
			["qí"],
			["zì"],
			["liú"]
		],
		"任劳任怨": [
			["rèn"],
			["láo"],
			["rèn"],
			["yuàn"]
		],
		"任怨任劳": [
			["rèn"],
			["yuàn"],
			["rèn"],
			["láo"]
		],
		"任重才轻": [
			["rèn"],
			["zhòng"],
			["cái"],
			["qīng"]
		],
		"任贤使能": [
			["rèn"],
			["xián"],
			["shǐ"],
			["néng"]
		],
		"任人唯贤": [
			["rèn"],
			["rén"],
			["wéi"],
			["xián"]
		],
		"任意球": [
			["rèn"],
			["yì"],
			["qiú"]
		],
		"任重道远": [
			["rèn"],
			["zhòng"],
			["dào"],
			["yuǎn"]
		],
		"任重至远": [
			["rèn"],
			["zhòng"],
			["zhì"],
			["yuǎn"]
		],
		"任重致远": [
			["rèn"],
			["zhòng"],
			["zhì"],
			["yuǎn"]
		],
		"任重道悠": [
			["rèn"],
			["zhòng"],
			["dào"],
			["yōu"]
		],
		"衽扱囊括": [
			["rèn"],
			["xī"],
			["náng"],
			["kuò"]
		],
		"日薄虞渊": [
			["rì"],
			["báo"],
			["yú"],
			["yuān"]
		],
		"日薄桑榆": [
			["rì"],
			["báo"],
			["sāng"],
			["yú"]
		],
		"日薄西山": [
			["rì"],
			["bó"],
			["xī"],
			["shān"]
		],
		"日不我与": [
			["rì"],
			["bù"],
			["wǒ"],
			["yǔ"]
		],
		"日不暇给": [
			["rì"],
			["bù"],
			["xiá"],
			["jǐ"]
		],
		"日长似岁": [
			["rì"],
			["cháng"],
			["sì"],
			["suì"]
		],
		"日长一线": [
			["rì"],
			["cháng"],
			["yī"],
			["xiàn"]
		],
		"日不移晷": [
			["rì"],
			["bù"],
			["yí"],
			["guǐ"]
		],
		"日不移影": [
			["rì"],
			["bù"],
			["yí"],
			["yǐng"]
		],
		"日短心长": [
			["rì"],
			["duǎn"],
			["xīn"],
			["cháng"]
		],
		"日旰不食": [
			["rì"],
			["gàn"],
			["bù"],
			["shí"]
		],
		"日旰忘食": [
			["rì"],
			["gàn"],
			["wàng"],
			["shí"]
		],
		"日和风暖": [
			["rì"],
			["hé"],
			["fēng"],
			["nuǎn"]
		],
		"日旰忘餐": [
			["rì"],
			["gàn"],
			["wàng"],
			["cān"]
		],
		"日出不穷": [
			["rì"],
			["chū"],
			["bù"],
			["qióng"]
		],
		"日积月累": [
			["rì"],
			["jī"],
			["yuè"],
			["lěi"]
		],
		"日渐月染": [
			["rì"],
			["jiàn"],
			["yuè"],
			["rǎn"]
		],
		"日角龙庭": [
			["rì"],
			["jiǎo"],
			["lóng"],
			["tíng"]
		],
		"日环食": [
			["rì"],
			["huán"],
			["shí"]
		],
		"日记簿": [
			["rì"],
			["jì"],
			["bù"]
		],
		"日角偃月": [
			["rì"],
			["jiǎo"],
			["yǎn"],
			["yuè"]
		],
		"日角珠庭": [
			["rì"],
			["jiǎo"],
			["zhū"],
			["tíng"]
		],
		"日进斗金": [
			["rì"],
			["jìn"],
			["dǒu"],
			["jīn"]
		],
		"日近长安远": [
			["rì"],
			["jìn"],
			["cháng"],
			["ān"],
			["yuǎn"]
		],
		"日角龙颜": [
			["rì"],
			["jiǎo"],
			["lóng"],
			["yán"]
		],
		"日久见人心": [
			["rì"],
			["jiǔ"],
			["jiàn"],
			["rén"],
			["xīn"]
		],
		"日理万机": [
			["rì"],
			["lǐ"],
			["wàn"],
			["jī"]
		],
		"日久天长": [
			["rì"],
			["jiǔ"],
			["tiān"],
			["cháng"]
		],
		"日久岁长": [
			["rì"],
			["jiǔ"],
			["suì"],
			["cháng"]
		],
		"日累月积": [
			["rì"],
			["lèi"],
			["yuè"],
			["jī"]
		],
		"日就月将": [
			["rì"],
			["jiù"],
			["yuè"],
			["jiāng"]
		],
		"日丽风清": [
			["rì"],
			["lì"],
			["fēng"],
			["qīng"]
		],
		"日丽风和": [
			["rì"],
			["lì"],
			["fēng"],
			["hé"]
		],
		"日落千丈": [
			["rì"],
			["luò"],
			["qiān"],
			["zhàng"]
		],
		"日莫途远": [
			["rì"],
			["mò"],
			["tú"],
			["yuǎn"]
		],
		"日落西山": [
			["rì"],
			["luò"],
			["xī"],
			["shān"]
		],
		"日暖风和": [
			["rì"],
			["nuǎn"],
			["fēng"],
			["hé"]
		],
		"日暖风恬": [
			["rì"],
			["nuǎn"],
			["fēng"],
			["tián"]
		],
		"日暮道远": [
			["rì"],
			["mù"],
			["dào"],
			["yuǎn"]
		],
		"日暮路远": [
			["rì"],
			["mù"],
			["lù"],
			["yuǎn"]
		],
		"日暮途远": [
			["rì"],
			["mù"],
			["tú"],
			["yuǎn"]
		],
		"日乾夕惕": [
			["rì"],
			["qián"],
			["xī"],
			["tì"]
		],
		"日射病": [
			["rì"],
			["shè"],
			["bìng"]
		],
		"日上三竿": [
			["rì"],
			["shàng"],
			["sān"],
			["gān"]
		],
		"日偏食": [
			["rì"],
			["piān"],
			["shí"]
		],
		"日全食": [
			["rì"],
			["quán"],
			["shí"]
		],
		"日省月课": [
			["rì"],
			["xǐng"],
			["yuè"],
			["kè"]
		],
		"日甚一日": [
			["rì"],
			["shèn"],
			["yī"],
			["rì"]
		],
		"日省月试": [
			["rì"],
			["xǐng"],
			["yuè"],
			["shì"]
		],
		"日食万钱": [
			["rì"],
			["shí"],
			["wàn"],
			["qián"]
		],
		"日诵五车": [
			["rì"],
			["sòng"],
			["wǔ"],
			["chē"]
		],
		"日削月朘": [
			["rì"],
			["xuē"],
			["yuè"],
			["juān"]
		],
		"日削月割": [
			["rì"],
			["xuē"],
			["yuè"],
			["gē"]
		],
		"日省月修": [
			["rì"],
			["xǐng"],
			["yuè"],
			["xiū"]
		],
		"日试万言": [
			["rì"],
			["shì"],
			["wàn"],
			["yán"]
		],
		"日新月盛": [
			["rì"],
			["xīn"],
			["yuè"],
			["shèng"]
		],
		"日新月著": [
			["rì"],
			["xīn"],
			["yuè"],
			["zhù"]
		],
		"日行千里": [
			["rì"],
			["xíng"],
			["qiān"],
			["lǐ"]
		],
		"日以为常": [
			["rì"],
			["yǐ"],
			["wéi"],
			["cháng"]
		],
		"日异月更": [
			["rì"],
			["yì"],
			["yuè"],
			["gèng"]
		],
		"日许多时": [
			["rì"],
			["xǔ"],
			["duō"],
			["shí"]
		],
		"日许时间": [
			["rì"],
			["xǔ"],
			["shí"],
			["jiān"]
		],
		"日引月长": [
			["rì"],
			["yǐn"],
			["yuè"],
			["cháng"]
		],
		"日堙月塞": [
			["rì"],
			["yīn"],
			["yuè"],
			["sāi"]
		],
		"日饮亡何": [
			["rì"],
			["yǐn"],
			["wáng"],
			["hé"]
		],
		"日饮无何": [
			["rì"],
			["yǐn"],
			["wú"],
			["hé"]
		],
		"日有万机": [
			["rì"],
			["yǒu"],
			["wàn"],
			["jī"]
		],
		"日月不居": [
			["rì"],
			["yuè"],
			["bù"],
			["jū"]
		],
		"日月合壁": [
			["rì"],
			["yuè"],
			["hé"],
			["bì"]
		],
		"日月参辰": [
			["rì"],
			["yuè"],
			["shēn"],
			["chén"]
		],
		"日月合璧": [
			["rì"],
			["yuè"],
			["hé"],
			["bì"]
		],
		"日月交食": [
			["rì"],
			["yuè"],
			["jiāo"],
			["shí"]
		],
		"日月丽天": [
			["rì"],
			["yuè"],
			["lì"],
			["tiān"]
		],
		"日月其除": [
			["rì"],
			["yuè"],
			["qí"],
			["chú"]
		],
		"日月重光": [
			["rì"],
			["yuè"],
			["chóng"],
			["guāng"]
		],
		"日昃不食": [
			["rì"],
			["zè"],
			["bù"],
			["shí"]
		],
		"日昃旰食": [
			["rì"],
			["zè"],
			["gàn"],
			["shí"]
		],
		"日昃忘食": [
			["rì"],
			["zè"],
			["wàng"],
			["shí"]
		],
		"日增月盛": [
			["rì"],
			["zēng"],
			["yuè"],
			["shèng"]
		],
		"日炙风吹": [
			["rì"],
			["zhì"],
			["fēng"],
			["chuī"]
		],
		"日炙风筛": [
			["rì"],
			["zhì"],
			["fēng"],
			["shāi"]
		],
		"日中必彗": [
			["rì"],
			["zhōng"],
			["bì"],
			["huì"]
		],
		"日中必湲": [
			["rì"],
			["zhōng"],
			["bì"],
			["tóng"]
		],
		"日中必移": [
			["rì"],
			["zhōng"],
			["bì"],
			["yí"]
		],
		"日中必昃": [
			["rì"],
			["zhōng"],
			["bì"],
			["zè"]
		],
		"日中将昃": [
			["rì"],
			["zhōng"],
			["jiāng"],
			["zè"]
		],
		"日中为市": [
			["rì"],
			["zhōng"],
			["wéi"],
			["shì"]
		],
		"日中则移": [
			["rì"],
			["zhōng"],
			["zé"],
			["yí"]
		],
		"日中则昃": [
			["rì"],
			["zhōng"],
			["zé"],
			["zè"]
		],
		"日转千阶": [
			["rì"],
			["zhuǎn"],
			["qiān"],
			["jiē"]
		],
		"日转千街": [
			["rì"],
			["zhuǎn"],
			["qiān"],
			["jiē"]
		],
		"日朘月减": [
			["rì"],
			["juān"],
			["yuè"],
			["jiǎn"]
		],
		"日朘月削": [
			["rì"],
			["juān"],
			["yuè"],
			["xuē"]
		],
		"戎马倥偬": [
			["róng"],
			["mǎ"],
			["kǒng"],
			["zǒng"]
		],
		"戎马倥傯": [
			["róng"],
			["mǎ"],
			["kǒng"],
			["zǒng"]
		],
		"戎马劻勷": [
			["róng"],
			["mǎ"],
			["dān"],
			["xiào"]
		],
		"容光焕发": [
			["róng"],
			["guāng"],
			["huàn"],
			["fā"]
		],
		"荣华富贵": [
			["róng"],
			["huá"],
			["fù"],
			["guì"]
		],
		"容头过身": [
			["róng"],
			["tóu"],
			["guò"],
			["shēn"]
		],
		"容膝之地": [
			["róng"],
			["xī"],
			["zhī"],
			["dì"]
		],
		"溶解度": [
			["róng"],
			["jiě"],
			["dù"]
		],
		"融会贯通": [
			["róng"],
			["huì"],
			["guàn"],
			["tōng"]
		],
		"融会通浃": [
			["róng"],
			["huì"],
			["tōng"],
			["jiā"]
		],
		"融洽无间": [
			["róng"],
			["qià"],
			["wú"],
			["jiàn"]
		],
		"冗词赘句": [
			["rǒng"],
			["cí"],
			["zhuì"],
			["jù"]
		],
		"融为一体": [
			["róng"],
			["wéi"],
			["yī"],
			["tǐ"]
		],
		"柔肠百结": [
			["róu"],
			["cháng"],
			["bǎi"],
			["jié"]
		],
		"柔肠百转": [
			["róu"],
			["cháng"],
			["bǎi"],
			["zhuǎn"]
		],
		"柔而不犯": [
			["róu"],
			["ér"],
			["bù"],
			["fàn"]
		],
		"柔肤弱体": [
			["róu"],
			["fū"],
			["ruò"],
			["tǐ"]
		],
		"柔筋脆骨": [
			["róu"],
			["jīn"],
			["cuì"],
			["gǔ"]
		],
		"柔能制刚": [
			["róu"],
			["néng"],
			["zhì"],
			["gāng"]
		],
		"柔情绰态": [
			["róu"],
			["qíng"],
			["chuō"],
			["tai"]
		],
		"柔情侠骨": [
			["róu"],
			["qíng"],
			["xiá"],
			["gǔ"]
		],
		"柔茹刚吐": [
			["róu"],
			["rú"],
			["gāng"],
			["tǔ"]
		],
		"柔心弱骨": [
			["róu"],
			["xīn"],
			["ruò"],
			["gǔ"]
		],
		"柔远怀迩": [
			["róu"],
			["yuǎn"],
			["huái"],
			["ěr"]
		],
		"柔远能迩": [
			["róu"],
			["yuǎn"],
			["néng"],
			["ěr"]
		],
		"柔远怀来": [
			["róu"],
			["yuǎn"],
			["huái"],
			["lái"]
		],
		"柔远绥怀": [
			["róu"],
			["yuǎn"],
			["suí"],
			["huái"]
		],
		"柔远镇迩": [
			["róu"],
			["yuǎn"],
			["zhèn"],
			["ěr"]
		],
		"柔枝嫩条": [
			["róu"],
			["zhī"],
			["nèn"],
			["tiáo"]
		],
		"柔枝嫩叶": [
			["róu"],
			["zhī"],
			["nèn"],
			["yè"]
		],
		"肉包子打狗": [
			["ròu"],
			["bāo"],
			["zi"],
			["dǎ"],
			["gǒu"]
		],
		"肉薄骨并": [
			["ròu"],
			["bó"],
			["gǔ"],
			["bìng"]
		],
		"肉颤心惊": [
			["ròu"],
			["chàn"],
			["xīn"],
			["jīng"]
		],
		"肉食者鄙": [
			["ròu"],
			["shí"],
			["zhě"],
			["bǐ"]
		],
		"肉袒牵羊": [
			["ròu"],
			["tǎn"],
			["qiān"],
			["yáng"]
		],
		"肉跳神惊": [
			["ròu"],
			["tiào"],
			["shén"],
			["jīng"]
		],
		"肉跳心惊": [
			["ròu"],
			["tiào"],
			["xīn"],
			["jīng"]
		],
		"肉眼凡夫": [
			["ròu"],
			["yǎn"],
			["fán"],
			["fū"]
		],
		"肉中刺": [
			["ròu"],
			["zhōng"],
			["cì"]
		],
		"肉孜节": [
			["ròu"],
			["zī"],
			["jié"]
		],
		"如臂使指": [
			["rú"],
			["bì"],
			["shǐ"],
			["zhǐ"]
		],
		"如不胜衣": [
			["rú"],
			["bù"],
			["shèng"],
			["yī"]
		],
		"如操左券": [
			["rú"],
			["cāo"],
			["zuǒ"],
			["quàn"]
		],
		"如痴似醉": [
			["rú"],
			["chī"],
			["sì"],
			["zuì"]
		],
		"如持左券": [
			["rú"],
			["chí"],
			["zuǒ"],
			["quàn"]
		],
		"如此这般": [
			["rú"],
			["cǐ"],
			["zhè"],
			["bān"]
		],
		"如蹈汤火": [
			["rú"],
			["dǎo"],
			["tāng"],
			["huǒ"]
		],
		"如登春台": [
			["rú"],
			["dé"],
			["chūn"],
			["tái"]
		],
		"如堕五里雾中": [
			["rú"],
			["duò"],
			["wǔ"],
			["lǐ"],
			["wù"],
			["zhōng"]
		],
		"如堕烟海": [
			["rú"],
			["duò"],
			["yān"],
			["hǎi"]
		],
		"如堕烟雾": [
			["rú"],
			["duò"],
			["yān"],
			["wù"]
		],
		"如法炮制": [
			["rú"],
			["fǎ"],
			["páo"],
			["zhì"]
		],
		"如法泡制": [
			["rú"],
			["fǎ"],
			["pào"],
			["zhì"]
		],
		"如风过耳": [
			["rú"],
			["fēng"],
			["guò"],
			["ěr"]
		],
		"如虎得翼": [
			["rú"],
			["hǔ"],
			["dé"],
			["yì"]
		],
		"如花似朵": [
			["rú"],
			["huā"],
			["sì"],
			["duǒ"]
		],
		"如花似锦": [
			["rú"],
			["huā"],
			["sì"],
			["jǐn"]
		],
		"如花似玉": [
			["rú"],
			["huā"],
			["sì"],
			["yù"]
		],
		"如花似月": [
			["rú"],
			["huā"],
			["sì"],
			["yuè"]
		],
		"如火燎原": [
			["rú"],
			["huǒ"],
			["liáo"],
			["yuán"]
		],
		"如饥似渴": [
			["rú"],
			["jī"],
			["sì"],
			["kě"]
		],
		"如见肺肝": [
			["rú"],
			["jiàn"],
			["fèi"],
			["gān"]
		],
		"如胶似漆": [
			["rú"],
			["jiāo"],
			["sì"],
			["qī"]
		],
		"如解倒悬": [
			["rú"],
			["jiě"],
			["dào"],
			["xuán"]
		],
		"如来佛": [
			["rú"],
			["lái"],
			["fó"]
		],
		"如狼牧羊": [
			["rú"],
			["láng"],
			["mù"],
			["yáng"]
		],
		"如狼似虎": [
			["rú"],
			["láng"],
			["sì"],
			["hǔ"]
		],
		"如临大敌": [
			["rú"],
			["lín"],
			["dà"],
			["dí"]
		],
		"如龙似虎": [
			["rú"],
			["lóng"],
			["sì"],
			["hǔ"]
		],
		"如履平地": [
			["rú"],
			["lǚ"],
			["píng"],
			["dì"]
		],
		"如履薄冰": [
			["rú"],
			["lǚ"],
			["bó"],
			["bīng"]
		],
		"如芒刺背": [
			["rú"],
			["máng"],
			["cì"],
			["bèi"]
		],
		"如芒在背": [
			["rú"],
			["máng"],
			["zài"],
			["bèi"]
		],
		"如梦初觉": [
			["rú"],
			["mèng"],
			["chū"],
			["jué"]
		],
		"如鸟兽散": [
			["rú"],
			["niǎo"],
			["shòu"],
			["sàn"]
		],
		"如牛负重": [
			["rú"],
			["niú"],
			["fù"],
			["zhòng"]
		],
		"如泣草芥": [
			["rú"],
			["qì"],
			["cǎo"],
			["jiè"]
		],
		"如切如磋": [
			["rú"],
			["qiē"],
			["rú"],
			["cuō"]
		],
		"如日方中": [
			["rú"],
			["rì"],
			["fāng"],
			["zhōng"]
		],
		"如日中天": [
			["rú"],
			["rì"],
			["zhōng"],
			["tiān"]
		],
		"如丧考妣": [
			["rú"],
			["sàng"],
			["kǎo"],
			["bǐ"]
		],
		"如山压卵": [
			["rú"],
			["shān"],
			["yā"],
			["luǎn"]
		],
		"如石投水": [
			["rú"],
			["shí"],
			["tóu"],
			["shuǐ"]
		],
		"如拾地芥": [
			["rú"],
			["shí"],
			["dì"],
			["jiè"]
		],
		"如释重负": [
			["rú"],
			["shì"],
			["zhòng"],
			["fù"]
		],
		"如数家珍": [
			["rú"],
			["shǔ"],
			["jiā"],
			["zhēn"]
		],
		"如水投石": [
			["rú"],
			["shǔ"],
			["tóu"],
			["shí"]
		],
		"如汤灌雪": [
			["rú"],
			["tāng"],
			["guàn"],
			["xuě"]
		],
		"如汤浇雪": [
			["rú"],
			["tāng"],
			["jiāo"],
			["xuě"]
		],
		"如无其事": [
			["rú"],
			["wú"],
			["qí"],
			["shì"]
		],
		"如汤泼雪": [
			["rú"],
			["tāng"],
			["pō"],
			["xuě"]
		],
		"如汤沃雪": [
			["rú"],
			["tāng"],
			["wò"],
			["xuě"]
		],
		"如蚁附膻": [
			["rú"],
			["yǐ"],
			["fù"],
			["shān"]
		],
		"如兄如弟": [
			["rú"],
			["xiōng"],
			["rú"],
			["dì"]
		],
		"如蚁慕膻": [
			["rú"],
			["yǐ"],
			["mù"],
			["shān"]
		],
		"如饮醍醐": [
			["rú"],
			["yǐn"],
			["tí"],
			["hú"]
		],
		"如应斯响": [
			["rú"],
			["yìng"],
			["sī"],
			["xiǎng"]
		],
		"如蝇逐臭": [
			["rú"],
			["yíng"],
			["zhú"],
			["chòu"]
		],
		"如有所失": [
			["rú"],
			["yǒu"],
			["suǒ"],
			["shī"]
		],
		"如鱼得水": [
			["rú"],
			["yú"],
			["dé"],
			["shuǐ"]
		],
		"如鱼似水": [
			["rú"],
			["yú"],
			["sì"],
			["shuǐ"]
		],
		"如振落叶": [
			["rú"],
			["zhèn"],
			["luò"],
			["yè"]
		],
		"如之奈何": [
			["rú"],
			["zhī"],
			["nai"],
			["hé"]
		],
		"如锥画沙": [
			["rú"],
			["zhuī"],
			["huà"],
			["shā"]
		],
		"如坐春风": [
			["rú"],
			["zuò"],
			["chūn"],
			["fēng"]
		],
		"茹毛饮血": [
			["rú"],
			["máo"],
			["yǐn"],
			["xuè"]
		],
		"茹柔吐刚": [
			["rú"],
			["róu"],
			["tǔ"],
			["gāng"]
		],
		"儒雅风流": [
			["rú"],
			["yǎ"],
			["fēng"],
			["liú"]
		],
		"孺子可教": [
			["rú"],
			["zǐ"],
			["kě"],
			["jiào"]
		],
		"汝成人耶": [
			["nu"],
			["cheng"],
			["ren"],
			["ye"]
		],
		"汝南晨鸡": [
			["rǔ"],
			["nán"],
			["chén"],
			["jī"]
		],
		"乳臭未除": [
			["rǔ"],
			["chòu"],
			["wèi"],
			["chú"]
		],
		"乳臭未干": [
			["rǔ"],
			["xiù"],
			["wèi"],
			["gān"]
		],
		"乳犊不怕虎": [
			["rǔ"],
			["dú"],
			["bù"],
			["pà"],
			["hǔ"]
		],
		"乳间股脚": [
			["rǔ"],
			["jiān"],
			["gǔ"],
			["jiǎo"]
		],
		"辱国丧师": [
			["rǔ"],
			["guó"],
			["sàng"],
			["shī"]
		],
		"入宝山而空回": [
			["rù"],
			["bǎo"],
			["shān"],
			["ér"],
			["kōng"],
			["huí"]
		],
		"入不敷出": [
			["rù"],
			["bù"],
			["fū"],
			["chū"]
		],
		"入场券": [
			["rù"],
			["chǎng"],
			["quàn"]
		],
		"入地无门": [
			["rù"],
			["dì"],
			["wú"],
			["mén"]
		],
		"入国问禁": [
			["rù"],
			["guó"],
			["wèn"],
			["jìn"]
		],
		"入骨相思": [
			["rù"],
			["gǔ"],
			["xiāng"],
			["sī"]
		],
		"入海算沙": [
			["rù"],
			["hǎi"],
			["suàn"],
			["shā"]
		],
		"入竟问禁": [
			["rù"],
			["jìng"],
			["wèn"],
			["jìn"]
		],
		"入火赴汤": [
			["rù"],
			["huǒ"],
			["fù"],
			["tāng"]
		],
		"入口处": [
			["rù"],
			["kǒu"],
			["chù"]
		],
		"入境问禁": [
			["rù"],
			["jìng"],
			["wèn"],
			["jìn"]
		],
		"入理切情": [
			["rù"],
			["lǐ"],
			["qiē"],
			["qíng"]
		],
		"入木三分": [
			["rù"],
			["mù"],
			["sān"],
			["fēn"]
		],
		"入铁主簿": [
			["rù"],
			["tiě"],
			["zhǔ"],
			["bù"]
		],
		"入土为安": [
			["rù"],
			["tú"],
			["wéi"],
			["ān"]
		],
		"入吾彀中": [
			["rù"],
			["wǔ"],
			["gòu"],
			["zhōng"]
		],
		"入孝出弟": [
			["rù"],
			["xiào"],
			["chū"],
			["tì"]
		],
		"阮囊羞涩": [
			["ruǎn"],
			["náng"],
			["xiū"],
			["sè"]
		],
		"软钉子": [
			["ruǎn"],
			["dīng"],
			["zi"]
		],
		"软骨病": [
			["ruǎn"],
			["gǔ"],
			["bìng"]
		],
		"软骨头": [
			["ruǎn"],
			["gú"],
			["tou"]
		],
		"软红十丈": [
			["ruǎn"],
			["hóng"],
			["shí"],
			["zhàng"]
		],
		"软红香土": [
			["ruǎn"],
			["hóng"],
			["xiāng"],
			["yù"]
		],
		"软骨鱼": [
			["ruǎn"],
			["gǔ"],
			["yú"]
		],
		"软谈丽语": [
			["ruǎn"],
			["tán"],
			["lì"],
			["yǔ"]
		],
		"软体动物": [
			["ruǎn"],
			["tǐ"],
			["dòng"],
			["wù"]
		],
		"软硬不吃": [
			["ruǎn"],
			["yìng"],
			["bù"],
			["chī"]
		],
		"软语温言": [
			["ruǎn"],
			["yǔ"],
			["wēn"],
			["yán"]
		],
		"软着陆": [
			["ruǎn"],
			["zhuó"],
			["lù"]
		],
		"软组织": [
			["ruǎn"],
			["zǔ"],
			["zhī"]
		],
		"锐不可当": [
			["ruì"],
			["bù"],
			["kě"],
			["dāng"]
		],
		"若崩厥角": [
			["ruò"],
			["bēng"],
			["jué"],
			["jiǎo"]
		],
		"若敖之鬼": [
			["ruò"],
			["áo"],
			["zhī"],
			["guǐ"]
		],
		"若敖鬼馁": [
			["ruò"],
			["áo"],
			["guǐ"],
			["něi"]
		],
		"若存若亡": [
			["ruò"],
			["cún"],
			["ruò"],
			["wáng"]
		],
		"若合符节": [
			["ruò"],
			["hé"],
			["fú"],
			["jié"]
		],
		"若即若离": [
			["ruò"],
			["jí"],
			["ruò"],
			["lí"]
		],
		"若离若即": [
			["ruò"],
			["lí"],
			["ruò"],
			["jí"]
		],
		"若卵投石": [
			["ruò"],
			["luǎn"],
			["tóu"],
			["shí"]
		],
		"若明若暗": [
			["ruò"],
			["míng"],
			["ruò"],
			["àn"]
		],
		"若明若昧": [
			["ruò"],
			["míng"],
			["ruò"],
			["mèi"]
		],
		"若烹小鲜": [
			["ruò"],
			["pēng"],
			["xiǎo"],
			["xiān"]
		],
		"若丧考妣": [
			["ruò"],
			["sàng"],
			["kǎo"],
			["bǐ"]
		],
		"若涉渊冰": [
			["ruò"],
			["shè"],
			["yuān"],
			["bīng"]
		],
		"若涉渊水": [
			["ruò"],
			["shè"],
			["yuān"],
			["shuǐ"]
		],
		"若释重负": [
			["ruò"],
			["shì"],
			["zhòng"],
			["fù"]
		],
		"若无其事": [
			["ruò"],
			["wú"],
			["qí"],
			["shì"]
		],
		"若隐若现": [
			["ruò"],
			["yǐn"],
			["ruò"],
			["xiàn"]
		],
		"若隐若显": [
			["ruò"],
			["yǐn"],
			["ruò"],
			["xiǎn"]
		],
		"若有若无": [
			["ruò"],
			["yǒu"],
			["ruò"],
			["wú"]
		],
		"若有所丧": [
			["ruò"],
			["yǒu"],
			["suǒ"],
			["sàng"]
		],
		"若有所失": [
			["ruò"],
			["yǒu"],
			["suǒ"],
			["shī"]
		],
		"若有所思": [
			["ruò"],
			["yǒu"],
			["suǒ"],
			["sī"]
		],
		"若有所亡": [
			["ruò"],
			["yǒu"],
			["suǒ"],
			["wáng"]
		],
		"弱本强末": [
			["ruò"],
			["běn"],
			["qiáng"],
			["mò"]
		],
		"弱不好弄": [
			["ruò"],
			["bù"],
			["hǎo"],
			["nòng"]
		],
		"弱不胜衣": [
			["ruò"],
			["bù"],
			["shèng"],
			["yī"]
		],
		"弱不禁风": [
			["ruò"],
			["bù"],
			["jīn"],
			["fēng"]
		],
		"弱肉强食": [
			["ruò"],
			["ròu"],
			["qiáng"],
			["shí"]
		],
		"撒痴撒娇": [
			["sā"],
			["chī"],
			["sā"],
			["jiāo"]
		],
		"撒豆成兵": [
			["sǎ"],
			["dòu"],
			["chéng"],
			["bīng"]
		],
		"撒欢儿": [
			["sā"],
			["huān"],
			["ér"]
		],
		"撒娇卖俏": [
			["sā"],
			["jiāo"],
			["mài"],
			["qiào"]
		],
		"撒娇撒痴": [
			["sā"],
			["jiāo"],
			["sā"],
			["chī"]
		],
		"撒科打诨": [
			["sā"],
			["kē"],
			["dǎ"],
			["hùn"]
		],
		"撒拉族": [
			["sā"],
			["lā"],
			["zú"]
		],
		"撒泼打滚": [
			["sā"],
			["pō"],
			["dǎ"],
			["gǔn"]
		],
		"撒泼放刁": [
			["sā"],
			["pō"],
			["fàng"],
			["diāo"]
		],
		"撒骚放屁": [
			["sā"],
			["sāo"],
			["fàng"],
			["pì"]
		],
		"撒手锏": [
			["sā"],
			["shǒu"],
			["jiǎn"]
		],
		"撒水拿鱼": [
			["sā"],
			["shuǐ"],
			["ná"],
			["yú"]
		],
		"撒丫子": [
			["sā"],
			["yā"],
			["zǐ"]
		],
		"撒鸭子": [
			["sā"],
			["yā"],
			["zǐ"]
		],
		"撒呓挣": [
			["sā"],
			["yì"],
			["zhēng"]
		],
		"撒诈捣虚": [
			["sā"],
			["zhà"],
			["dǎo"],
			["xū"]
		],
		"洒狗血": [
			["sǎ"],
			["gǒu"],
			["xiě"]
		],
		"洒洒潇潇": [
			["sǎ"],
			["sǎ"],
			["xiāo"],
			["xiāo"]
		],
		"洒水车": [
			["sǎ"],
			["shuǐ"],
			["chē"]
		],
		"洒扫应对": [
			["sǎ"],
			["sào"],
			["yìng"],
			["duì"]
		],
		"洒心更始": [
			["sǎ"],
			["xīn"],
			["gèng"],
			["shǐ"]
		],
		"塞擦音": [
			["sāi"],
			["cā"],
			["yīn"]
		],
		"塞北江南": [
			["sāi"],
			["běi"],
			["jiāng"],
			["nán"]
		],
		"塞耳盗钟": [
			["sāi"],
			["ěr"],
			["dào"],
			["zhōng"]
		],
		"塞耳偷铃": [
			["sāi"],
			["ěr"],
			["tōu"],
			["líng"]
		],
		"塞井焚舍": [
			["sāi"],
			["jǐng"],
			["fén"],
			["shě"]
		],
		"塞井夷灶": [
			["sāi"],
			["jǐng"],
			["yí"],
			["zào"]
		],
		"塞内加尔": [
			["sāi"],
			["nèi"],
			["jiā"],
			["ěr"]
		],
		"塞纳河": [
			["sāi"],
			["nà"],
			["hé"]
		],
		"塞上江南": [
			["sāi"],
			["shàng"],
			["jiāng"],
			["nán"]
		],
		"塞翁得马": [
			["sài"],
			["wēng"],
			["dé"],
			["mǎ"]
		],
		"塞翁失马": [
			["sài"],
			["wēng"],
			["shī"],
			["mǎ"]
		],
		"塞翁之马": [
			["sài"],
			["wēng"],
			["zhī"],
			["mǎ"]
		],
		"赛璐玢": [
			["sài"],
			["lù"],
			["bīn"]
		],
		"赛马场": [
			["sài"],
			["mǎ"],
			["chǎng"]
		],
		"三八节": [
			["sān"],
			["bā"],
			["jié"]
		],
		"三八作风": [
			["sān"],
			["bā"],
			["zuò"],
			["fēng"]
		],
		"三百六十行": [
			["sān"],
			["bǎi"],
			["liù"],
			["shí"],
			["háng"]
		],
		"三班倒": [
			["sān"],
			["bān"],
			["dǎo"]
		],
		"三班六房": [
			["sān"],
			["bān"],
			["liù"],
			["fáng"]
		],
		"三榜定案": [
			["sān"],
			["bǎng"],
			["dìng"],
			["àn"]
		],
		"三杯通大道": [
			["sān"],
			["bēi"],
			["tōng"],
			["dà"],
			["dào"]
		],
		"三不拗六": [
			["sān"],
			["bù"],
			["niù"],
			["liù"]
		],
		"三不管": [
			["sān"],
			["bù"],
			["guǎn"]
		],
		"三不知": [
			["sān"],
			["bù"],
			["zhī"]
		],
		"三部曲": [
			["sān"],
			["bù"],
			["qǔ"]
		],
		"三叉戟": [
			["sān"],
			["chā"],
			["jǐ"]
		],
		"三茶六饭": [
			["sān"],
			["chá"],
			["liù"],
			["fàn"]
		],
		"三茶六礼": [
			["sān"],
			["chá"],
			["liù"],
			["lǐ"]
		],
		"三差两错": [
			["sān"],
			["chā"],
			["liǎng"],
			["cuò"]
		],
		"三差五错": [
			["sān"],
			["chā"],
			["wǔ"],
			["cuò"]
		],
		"三长两短": [
			["sān"],
			["cháng"],
			["liǎng"],
			["duǎn"]
		],
		"三长四短": [
			["sān"],
			["cháng"],
			["sì"],
			["duǎn"]
		],
		"三朝五日": [
			["sān"],
			["cháo"],
			["wǔ"],
			["rì"]
		],
		"三朝元老": [
			["sān"],
			["cháo"],
			["yuán"],
			["lǎo"]
		],
		"三寸不烂之舌": [
			["sān"],
			["cùn"],
			["bù"],
			["làn"],
			["zhī"],
			["shé"]
		],
		"三从四德": [
			["sān"],
			["cóng"],
			["sì"],
			["dé"]
		],
		"三大差别": [
			["sān"],
			["dà"],
			["chā"],
			["bié"]
		],
		"三大法宝": [
			["sān"],
			["dà"],
			["fǎ"],
			["bǎo"]
		],
		"三大战役": [
			["sān"],
			["dà"],
			["zhàn"],
			["yì"]
		],
		"三大政策": [
			["sān"],
			["dà"],
			["zhèng"],
			["cè"]
		],
		"三大作风": [
			["sān"],
			["dà"],
			["zuò"],
			["fēng"]
		],
		"三对六面": [
			["sān"],
			["duì"],
			["liù"],
			["miàn"]
		],
		"三番两次": [
			["sān"],
			["fān"],
			["liǎng"],
			["cì"]
		],
		"三番五次": [
			["sān"],
			["fān"],
			["wǔ"],
			["cì"]
		],
		"三分鼎立": [
			["sān"],
			["fēn"],
			["dǐng"],
			["lì"]
		],
		"三夫之对": [
			["sān"],
			["fū"],
			["zhī"],
			["duì"]
		],
		"三分鼎足": [
			["sān"],
			["fēn"],
			["dǐng"],
			["zú"]
		],
		"三夫成市虎": [
			["sān"],
			["fū"],
			["chéng"],
			["shì"],
			["hǔ"]
		],
		"三风十愆": [
			["sān"],
			["fēng"],
			["shí"],
			["qiān"]
		],
		"三夫之言": [
			["sān"],
			["fū"],
			["zhī"],
			["yán"]
		],
		"三个面向": [
			["sān"],
			["gè"],
			["miàn"],
			["xiàng"]
		],
		"三个世界": [
			["sān"],
			["gè"],
			["shì"],
			["jiè"]
		],
		"三更半夜": [
			["sān"],
			["gēng"],
			["bàn"],
			["yè"]
		],
		"三宫六院": [
			["sān"],
			["gōng"],
			["liù"],
			["yuàn"]
		],
		"三姑六婆": [
			["sān"],
			["gū"],
			["liù"],
			["pó"]
		],
		"三好二怯": [
			["sān"],
			["hǎo"],
			["èr"],
			["qiè"]
		],
		"三过其门而不入": [
			["sān"],
			["guò"],
			["qí"],
			["mén"],
			["ér"],
			["bù"],
			["rù"]
		],
		"三好两歹": [
			["sān"],
			["hǎo"],
			["liǎng"],
			["dǎi"]
		],
		"三好两歉": [
			["sān"],
			["hǎo"],
			["liǎng"],
			["qiàn"]
		],
		"三合板": [
			["sān"],
			["hé"],
			["bǎn"]
		],
		"三合房": [
			["sān"],
			["hé"],
			["fáng"]
		],
		"三合会": [
			["sān"],
			["hé"],
			["huì"]
		],
		"三合土": [
			["sān"],
			["hé"],
			["tǔ"]
		],
		"三户亡秦": [
			["sān"],
			["hù"],
			["wáng"],
			["qín"]
		],
		"三回九转": [
			["sān"],
			["huí"],
			["jiǔ"],
			["zhuǎn"]
		],
		"三级跳远": [
			["sān"],
			["jí"],
			["tiào"],
			["yuǎn"]
		],
		"三家村": [
			["sān"],
			["jiā"],
			["cūn"]
		],
		"三缄其口": [
			["sān"],
			["jiān"],
			["qí"],
			["kǒu"]
		],
		"三江七泽": [
			["sān"],
			["jiāng"],
			["qī"],
			["zé"]
		],
		"三角板": [
			["sān"],
			["jiǎo"],
			["bǎn"]
		],
		"三角函数": [
			["sān"],
			["jiǎo"],
			["hán"],
			["shù"]
		],
		"三角恋爱": [
			["sān"],
			["jiǎo"],
			["liàn"],
			["ài"]
		],
		"三角铁": [
			["sān"],
			["jiǎo"],
			["tiě"]
		],
		"三角学": [
			["sān"],
			["jiǎo"],
			["xué"]
		],
		"三角形": [
			["sān"],
			["jiǎo"],
			["xíng"]
		],
		"三角债": [
			["sān"],
			["jiǎo"],
			["zhài"]
		],
		"三角洲": [
			["sān"],
			["jiǎo"],
			["zhōu"]
		],
		"三脚猫": [
			["sān"],
			["jiǎo"],
			["māo"]
		],
		"三教九流": [
			["sān"],
			["jiào"],
			["jiǔ"],
			["liú"]
		],
		"三街六市": [
			["sān"],
			["jiē"],
			["liù"],
			["shì"]
		],
		"三街六巷": [
			["sān"],
			["jiē"],
			["liù"],
			["xiàng"]
		],
		"三节两寿": [
			["sān"],
			["jié"],
			["liǎng"],
			["shòu"]
		],
		"三结合": [
			["sān"],
			["jié"],
			["hé"]
		],
		"三句不离本行": [
			["sān"],
			["jù"],
			["bù"],
			["lí"],
			["běn"],
			["háng"]
		],
		"三老四少": [
			["sān"],
			["lǎo"],
			["sì"],
			["shǎo"]
		],
		"三句话不离本行": [
			["sān"],
			["jù"],
			["huà"],
			["bù"],
			["lí"],
			["běn"],
			["háng"]
		],
		"三老五更": [
			["sān"],
			["lǎo"],
			["wǔ"],
			["gēng"]
		],
		"三棱镜": [
			["sān"],
			["léng"],
			["jìng"]
		],
		"三连冠": [
			["sān"],
			["lián"],
			["guàn"]
		],
		"三联单": [
			["sān"],
			["lián"],
			["dān"]
		],
		"三令五申": [
			["sān"],
			["lìng"],
			["wǔ"],
			["shēn"]
		],
		"三六九等": [
			["sān"],
			["liù"],
			["jiǔ"],
			["děng"]
		],
		"三轮车": [
			["sān"],
			["lún"],
			["chē"]
		],
		"三马同槽": [
			["sān"],
			["mǎ"],
			["tóng"],
			["cáo"]
		],
		"三媒六证": [
			["sān"],
			["méi"],
			["liù"],
			["zhèng"]
		],
		"三面红旗": [
			["sān"],
			["miàn"],
			["hóng"],
			["qí"]
		],
		"三沐三熏": [
			["sān"],
			["mù"],
			["sān"],
			["xūn"]
		],
		"三臡八菹": [
			["sān"],
			["ní"],
			["bā"],
			["zū"]
		],
		"三妻四妾": [
			["sān"],
			["qī"],
			["sì"],
			["qiè"]
		],
		"三年化碧": [
			["sān"],
			["nián"],
			["huà"],
			["bì"]
		],
		"三年五载": [
			["sān"],
			["nián"],
			["wǔ"],
			["zài"]
		],
		"三期贤佞": [
			["sān"],
			["qī"],
			["xián"],
			["nìng"]
		],
		"三迁之教": [
			["sān"],
			["qiān"],
			["zhī"],
			["jiào"]
		],
		"三亲六故": [
			["sān"],
			["qīn"],
			["liù"],
			["gù"]
		],
		"三亲六眷": [
			["sān"],
			["qīn"],
			["liù"],
			["juàn"]
		],
		"三亲四眷": [
			["sān"],
			["qīn"],
			["sì"],
			["juàn"]
		],
		"三权分立": [
			["sān"],
			["quán"],
			["fēn"],
			["lì"]
		],
		"三拳不敌四手": [
			["sān"],
			["quán"],
			["bù"],
			["dí"],
			["sì"],
			["shǒu"]
		],
		"三蛇七鼠": [
			["sān"],
			["shé"],
			["qī"],
			["shǔ"]
		],
		"三人为众": [
			["sān"],
			["rén"],
			["wèi"],
			["zhòng"]
		],
		"三生有幸": [
			["sān"],
			["shēng"],
			["yǒu"],
			["xìng"]
		],
		"三省吾身": [
			["sān"],
			["xǐng"],
			["wú"],
			["shēn"]
		],
		"三尸暴跳": [
			["sān"],
			["shī"],
			["bào"],
			["tiào"]
		],
		"三十六策": [
			["sān"],
			["shí"],
			["liù"],
			["cè"]
		],
		"三十六计": [
			["sān"],
			["shí"],
			["liù"],
			["jì"]
		],
		"三十六": [
			["sān"],
			["shí"],
			["liù"]
		],
		"三十六行": [
			["sān"],
			["shí"],
			["liù"],
			["háng"]
		],
		"三首六臂": [
			["sān"],
			["shǒu"],
			["liù"],
			["bì"]
		],
		"三台八座": [
			["sān"],
			["tái"],
			["bā"],
			["zuò"]
		],
		"三思而行": [
			["sān"],
			["sī"],
			["ér"],
			["xíng"]
		],
		"三思而后行": [
			["sān"],
			["sī"],
			["ér"],
			["hòu"],
			["xíng"]
		],
		"三汤两割": [
			["sān"],
			["tāng"],
			["liǎng"],
			["gē"]
		],
		"三汤五割": [
			["sān"],
			["tāng"],
			["wǔ"],
			["gē"]
		],
		"三天两头": [
			["sān"],
			["tiān"],
			["liǎng"],
			["tóu"]
		],
		"三头八臂": [
			["sān"],
			["tóu"],
			["bā"],
			["bì"]
		],
		"三头两面": [
			["sān"],
			["tóu"],
			["liǎng"],
			["miàn"]
		],
		"三头对案": [
			["sān"],
			["tóu"],
			["duì"],
			["àn"]
		],
		"三头两日": [
			["sān"],
			["tóu"],
			["liǎng"],
			["rì"]
		],
		"三头两绪": [
			["sān"],
			["tóu"],
			["liǎng"],
			["xù"]
		],
		"三头六臂": [
			["sān"],
			["tóu"],
			["liù"],
			["bì"]
		],
		"三头六面": [
			["sān"],
			["tóu"],
			["liù"],
			["miàn"]
		],
		"三头六证": [
			["sān"],
			["tóu"],
			["liù"],
			["zhèng"]
		],
		"三吐三握": [
			["sān"],
			["tǔ"],
			["sān"],
			["wò"]
		],
		"三推六问": [
			["sān"],
			["tuī"],
			["liù"],
			["wèn"]
		],
		"三瓦两巷": [
			["sān"],
			["wǎ"],
			["liǎng"],
			["xiàng"]
		],
		"三瓦两舍": [
			["sān"],
			["wǎ"],
			["liǎng"],
			["shě"]
		],
		"三位一体": [
			["sān"],
			["wèi"],
			["yī"],
			["tǐ"]
		],
		"三徙成都": [
			["sān"],
			["xǐ"],
			["chéng"],
			["dōu"]
		],
		"三熏三沐": [
			["sān"],
			["xūn"],
			["sān"],
			["mù"]
		],
		"三言两句": [
			["sān"],
			["yán"],
			["liǎng"],
			["jù"]
		],
		"三旬九食": [
			["sān"],
			["xún"],
			["jiǔ"],
			["shí"]
		],
		"三言两语": [
			["sān"],
			["yán"],
			["liǎng"],
			["yǔ"]
		],
		"三叶虫": [
			["sān"],
			["yè"],
			["chóng"]
		],
		"三余读书": [
			["sān"],
			["yú"],
			["dú"],
			["shū"]
		],
		"三月不知肉味": [
			["sān"],
			["yuè"],
			["bù"],
			["zhī"],
			["ròu"],
			["wèi"]
		],
		"三灾八难": [
			["sān"],
			["zāi"],
			["bā"],
			["nàn"]
		],
		"三灾六难": [
			["sān"],
			["zāi"],
			["liù"],
			["nán"]
		],
		"三占从二": [
			["sān"],
			["zhān"],
			["cóng"],
			["èr"]
		],
		"三战三北": [
			["sān"],
			["zhān"],
			["sān"],
			["běi"]
		],
		"三折肱": [
			["sān"],
			["zhé"],
			["gōng"]
		],
		"三折肱为良医": [
			["sān"],
			["zhé"],
			["gōng"],
			["wéi"],
			["liáng"],
			["yī"]
		],
		"三只手": [
			["sān"],
			["zhī"],
			["shǒu"]
		],
		"三旨相公": [
			["sān"],
			["zhǐ"],
			["xiàng"],
			["gōng"]
		],
		"三座大山": [
			["sān"],
			["zuò"],
			["tài"],
			["shān"]
		],
		"散兵游勇": [
			["sǎn"],
			["bīng"],
			["yóu"],
			["yǒng"]
		],
		"散带衡门": [
			["sàn"],
			["dài"],
			["héng"],
			["mén"]
		],
		"散马休牛": [
			["sàn"],
			["mǎ"],
			["xiū"],
			["niú"]
		],
		"散灰扃户": [
			["sàn"],
			["huī"],
			["jiōng"],
			["hù"]
		],
		"散热器": [
			["sàn"],
			["rè"],
			["qì"]
		],
		"散伤丑害": [
			["sàn"],
			["shāng"],
			["chǒu"],
			["hài"]
		],
		"散摊子": [
			["sàn"],
			["tān"],
			["zi"]
		],
		"散文诗": [
			["sǎn"],
			["wén"],
			["shī"]
		],
		"散言碎语": [
			["sàn"],
			["yán"],
			["suì"],
			["yǔ"]
		],
		"散阵投巢": [
			["sàn"],
			["zhèn"],
			["tóu"],
			["cháo"]
		],
		"桑给巴尔": [
			["sāng"],
			["gěi"],
			["bā"],
			["ěr"]
		],
		"桑户棬枢": [
			["sāng"],
			["hù"],
			["juàn"],
			["shū"]
		],
		"桑间濮上": [
			["sāng"],
			["jiān"],
			["pú"],
			["shàng"]
		],
		"桑间之音": [
			["sāng"],
			["jiān"],
			["zhī"],
			["yīn"]
		],
		"桑间之咏": [
			["sāng"],
			["jiān"],
			["zhī"],
			["yǒng"]
		],
		"桑间之约": [
			["sāng"],
			["jiān"],
			["zhī"],
			["yuē"]
		],
		"桑落瓦解": [
			["sāng"],
			["luò"],
			["wǎ"],
			["jiě"]
		],
		"桑土绸缪": [
			["sāng"],
			["tǔ"],
			["chóu"],
			["miù"]
		],
		"桑荫不徙": [
			["sāng"],
			["yīn"],
			["bù"],
			["xǐ"]
		],
		"桑荫未移": [
			["sāng"],
			["yīn"],
			["wèi"],
			["yí"]
		],
		"桑榆末景": [
			["sāng"],
			["yú"],
			["mò"],
			["jǐng"]
		],
		"桑榆暮景": [
			["sāng"],
			["yú"],
			["mù"],
			["jǐng"]
		],
		"桑榆之景": [
			["sāng"],
			["yú"],
			["zhī"],
			["jǐng"]
		],
		"桑中之喜": [
			["sāng"],
			["zhōng"],
			["zhī"],
			["xǐ"]
		],
		"桑中之约": [
			["sāng"],
			["zhōng"],
			["zhī"],
			["yuē"]
		],
		"丧胆亡魂": [
			["sàng"],
			["dǎn"],
			["wáng"],
			["hún"]
		],
		"丧胆销魂": [
			["sàng"],
			["hún"],
			["xiāo"],
			["hún"]
		],
		"丧胆游魂": [
			["sàng"],
			["dǎn"],
			["yóu"],
			["hún"]
		],
		"丧家犬": [
			["sàng"],
			["jiā"],
			["quǎn"]
		],
		"丧魂落魄": [
			["sàng"],
			["hún"],
			["luò"],
			["pò"]
		],
		"丧魂失魄": [
			["sàng"],
			["hún"],
			["shī"],
			["pò"]
		],
		"丧家之狗": [
			["sàng"],
			["jiā"],
			["zhī"],
			["gǒu"]
		],
		"丧家之犬": [
			["sàng"],
			["jiā"],
			["zhī"],
			["quǎn"]
		],
		"丧尽天良": [
			["sàng"],
			["jìn"],
			["tiān"],
			["liáng"]
		],
		"丧门神": [
			["sàng"],
			["mén"],
			["shén"]
		],
		"丧门星": [
			["sàng"],
			["mén"],
			["xīng"]
		],
		"丧明之痛": [
			["sàng"],
			["míng"],
			["zhī"],
			["tòng"]
		],
		"丧气话": [
			["sàng"],
			["qì"],
			["huà"]
		],
		"丧权辱国": [
			["sàng"],
			["quán"],
			["rǔ"],
			["guó"]
		],
		"丧身失节": [
			["sàng"],
			["shēn"],
			["shī"],
			["jié"]
		],
		"丧失殆尽": [
			["sàng"],
			["shī"],
			["dài"],
			["jìn"]
		],
		"丧师辱国": [
			["sàng"],
			["shī"],
			["rǔ"],
			["guó"]
		],
		"丧天害理": [
			["sàng"],
			["tiān"],
			["hài"],
			["lǐ"]
		],
		"丧心病狂": [
			["sàng"],
			["xīn"],
			["bìng"],
			["kuáng"]
		],
		"丧葬费": [
			["sāng"],
			["zàng"],
			["fèi"]
		],
		"搔到痒处": [
			["sāo"],
			["dào"],
			["yǎng"],
			["chù"]
		],
		"搔首弄姿": [
			["sāo"],
			["shǒu"],
			["nòng"],
			["zī"]
		],
		"搔头摸耳": [
			["sāo"],
			["tóu"],
			["mō"],
			["ěr"]
		],
		"搔头弄姿": [
			["sāo"],
			["tóu"],
			["nòng"],
			["zī"]
		],
		"搔头抓耳": [
			["sāo"],
			["tóu"],
			["zhuā"],
			["ěr"]
		],
		"搔着痒处": [
			["sāo"],
			["zhe"],
			["yǎng"],
			["chù"]
		],
		"骚情赋骨": [
			["sāo"],
			["qíng"],
			["fù"],
			["gǔ"]
		],
		"骚人词客": [
			["sāo"],
			["rén"],
			["cí"],
			["kè"]
		],
		"骚人墨客": [
			["sāo"],
			["rén"],
			["mò"],
			["kè"]
		],
		"骚人墨士": [
			["sāo"],
			["rén"],
			["mò"],
			["shì"]
		],
		"骚人雅士": [
			["sāo"],
			["rén"],
			["yǎ"],
			["shì"]
		],
		"骚人逸客": [
			["sāo"],
			["rén"],
			["yì"],
			["kè"]
		],
		"骚翁墨客": [
			["sāo"],
			["wēng"],
			["mò"],
			["kè"]
		],
		"缫丝厂": [
			["sāo"],
			["sī"],
			["chǎng"]
		],
		"扫地出门": [
			["sǎo"],
			["dì"],
			["chū"],
			["mén"]
		],
		"扫除天下": [
			["sǎo"],
			["chú"],
			["tiān"],
			["xià"]
		],
		"扫地俱尽": [
			["sǎo"],
			["dì"],
			["jù"],
			["jìn"]
		],
		"扫地无遗": [
			["sǎo"],
			["dì"],
			["wú"],
			["yí"]
		],
		"扫地无余": [
			["sǎo"],
			["dì"],
			["wú"],
			["yú"]
		],
		"扫地以尽": [
			["sǎo"],
			["dì"],
			["yǐ"],
			["jìn"]
		],
		"扫锅刮灶": [
			["sǎo"],
			["guō"],
			["guā"],
			["zào"]
		],
		"扫雷舰": [
			["sǎo"],
			["léi"],
			["jiàn"]
		],
		"扫眉才子": [
			["sǎo"],
			["méi"],
			["cái"],
			["zǐ"]
		],
		"扫墓望丧": [
			["sǎo"],
			["mù"],
			["wàng"],
			["sàng"]
		],
		"扫榻以待": [
			["sǎo"],
			["tà"],
			["yǐ"],
			["dài"]
		],
		"扫堂腿": [
			["sǎo"],
			["táng"],
			["tuǐ"]
		],
		"扫穴擒渠": [
			["sǎo"],
			["xué"],
			["qín"],
			["qú"]
		],
		"扫穴犁庭": [
			["sǎo"],
			["xué"],
			["lí"],
			["tíng"]
		],
		"扫帚星": [
			["sào"],
			["zhǒu"],
			["xīng"]
		],
		"嫂夫人": [
			["sǎo"],
			["fū"],
			["rén"]
		],
		"嫂溺叔援": [
			["sǎo"],
			["nì"],
			["shū"],
			["yuán"]
		],
		"色厉胆薄": [
			["sè"],
			["lì"],
			["dǎn"],
			["bó"]
		],
		"色厉内荏": [
			["sè"],
			["lì"],
			["nèi"],
			["rěn"]
		],
		"色仁行违": [
			["sè"],
			["rén"],
			["xíng"],
			["wéi"]
		],
		"色若死灰": [
			["sè"],
			["ruò"],
			["sǐ"],
			["huī"]
		],
		"色授魂与": [
			["sè"],
			["shòu"],
			["hún"],
			["yǔ"]
		],
		"色衰爱弛": [
			["sè"],
			["shuāi"],
			["ài"],
			["chí"]
		],
		"涩于言论": [
			["sè"],
			["yú"],
			["yán"],
			["lùn"]
		],
		"瑟调琴弄": [
			["sè"],
			["tiáo"],
			["qín"],
			["nòng"]
		],
		"瑟弄琴调": [
			["sè"],
			["nòng"],
			["qín"],
			["tiáo"]
		],
		"森罗万象": [
			["sēn"],
			["luó"],
			["wàn"],
			["xiàng"]
		],
		"僧多粥少": [
			["sēng"],
			["duō"],
			["zhōu"],
			["shǎo"]
		],
		"杀风景": [
			["shā"],
			["fēng"],
			["jǐng"]
		],
		"杀鸡抹脖": [
			["shā"],
			["jī"],
			["mǒ"],
			["bó"]
		],
		"杀鸡为黍": [
			["shā"],
			["jī"],
			["wéi"],
			["shǔ"]
		],
		"杀鸡吓猴": [
			["shā"],
			["jī"],
			["xià"],
			["hóu"]
		],
		"杀菌剂": [
			["shā"],
			["jūn"],
			["jì"]
		],
		"杀马毁车": [
			["shā"],
			["mǎ"],
			["huǐ"],
			["chē"]
		],
		"杀妻求将": [
			["shā"],
			["qī"],
			["qiú"],
			["jiàng"]
		],
		"杀人不见血": [
			["shā"],
			["rén"],
			["bù"],
			["jiàn"],
			["xuè"]
		],
		"杀人不眨眼": [
			["shā"],
			["rén"],
			["bù"],
			["zhǎ"],
			["yǎn"]
		],
		"杀时间": [
			["shā"],
			["shí"],
			["jiān"]
		],
		"杀衣缩食": [
			["shài"],
			["yī"],
			["suō"],
			["shí"]
		],
		"杀彘教子": [
			["shā"],
			["zhì"],
			["jiào"],
			["zǐ"]
		],
		"沙丁鱼": [
			["shā"],
			["dīng"],
			["yú"]
		],
		"沙发椅": [
			["shā"],
			["fā"],
			["yǐ"]
		],
		"沙里淘金": [
			["shā"],
			["lǐ"],
			["táo"],
			["jīn"]
		],
		"沙鸥翔集": [
			["sha"],
			["ou"],
			["xiang"],
			["ji"]
		],
		"沙沙声": [
			["shā"],
			["shā"],
			["shēng"]
		],
		"沙文主义": [
			["shā"],
			["wén"],
			["zhǔ"],
			["yì"]
		],
		"铩羽暴鳞": [
			["shā"],
			["yǔ"],
			["bào"],
			["lín"]
		],
		"傻呵呵": [
			["shǎ"],
			["hē"],
			["hē"]
		],
		"傻劲儿": [
			["shǎ"],
			["jìn"],
			["er"]
		],
		"傻头傻脑": [
			["shǎ"],
			["tóu"],
			["shǎ"],
			["nǎo"]
		],
		"歃血为盟": [
			["shà"],
			["xuè"],
			["wéi"],
			["méng"]
		],
		"煞费苦心": [
			["shà"],
			["fèi"],
			["kǔ"],
			["xīn"]
		],
		"煞费心机": [
			["shà"],
			["fèi"],
			["xīn"],
			["jī"]
		],
		"煞风景": [
			["shā"],
			["fēng"],
			["jǐng"]
		],
		"煞有介事": [
			["shà"],
			["yǒu"],
			["jiè"],
			["shì"]
		],
		"筛锣擂鼓": [
			["shāi"],
			["luó"],
			["léi"],
			["gǔ"]
		],
		"霎时间": [
			["shà"],
			["shí"],
			["jiān"]
		],
		"山崩地裂": [
			["shān"],
			["bēng"],
			["dì"],
			["liè"]
		],
		"山崩地坼": [
			["shān"],
			["bēng"],
			["dì"],
			["chè"]
		],
		"山崩地塌": [
			["shān"],
			["bēng"],
			["dì"],
			["tā"]
		],
		"山崩地陷": [
			["shān"],
			["bēng"],
			["dì"],
			["xiàn"]
		],
		"山崩钟应": [
			["shān"],
			["bēng"],
			["zhōng"],
			["yìng"]
		],
		"山长水阔": [
			["shān"],
			["cháng"],
			["shuǐ"],
			["kuò"]
		],
		"山长水远": [
			["shān"],
			["cháng"],
			["shuǐ"],
			["yuǎn"]
		],
		"山高水长": [
			["shān"],
			["gāo"],
			["shuǐ"],
			["cháng"]
		],
		"山高皇帝远": [
			["shān"],
			["gāo"],
			["huáng"],
			["dì"],
			["yuǎn"]
		],
		"山核桃": [
			["shān"],
			["hé"],
			["táo"]
		],
		"山公倒载": [
			["shān"],
			["gōng"],
			["dǎo"],
			["zǎi"]
		],
		"山回路转": [
			["shān"],
			["huí"],
			["lù"],
			["zhuǎn"]
		],
		"山积波委": [
			["shān"],
			["jī"],
			["bō"],
			["wěi"]
		],
		"山节藻棁": [
			["shān"],
			["jié"],
			["zǎo"],
			["lì"]
		],
		"山枯石死": [
			["shān"],
			["kū"],
			["shí"],
			["sǐ"]
		],
		"山里红": [
			["shān"],
			["lǐ"],
			["hóng"]
		],
		"山林隐逸": [
			["shān"],
			["lín"],
			["yǐn"],
			["yì"]
		],
		"山鸣谷应": [
			["shān"],
			["míng"],
			["gǔ"],
			["yìng"]
		],
		"山溜穿石": [
			["shān"],
			["liù"],
			["chuān"],
			["shí"]
		],
		"山南海北": [
			["shān"],
			["nán"],
			["hǎi"],
			["běi"]
		],
		"山栖谷饮": [
			["shān"],
			["qī"],
			["gǔ"],
			["yǐn"]
		],
		"山坡地": [
			["shān"],
			["pō"],
			["dì"]
		],
		"山栖谷隐": [
			["shān"],
			["qī"],
			["gǔ"],
			["yǐn"]
		],
		"山穷水尽": [
			["shān"],
			["qióng"],
			["shuǐ"],
			["jìn"]
		],
		"山锐则不高": [
			["shān"],
			["ruì"],
			["zé"],
			["bù"],
			["gāo"]
		],
		"山水相连": [
			["shān"],
			["shuǐ"],
			["xiāng"],
			["lián"]
		],
		"山头主义": [
			["shān"],
			["tóu"],
			["zhǔ"],
			["yì"]
		],
		"山童石烂": [
			["shān"],
			["tóng"],
			["shí"],
			["làn"]
		],
		"山颓木坏": [
			["shān"],
			["tuí"],
			["mù"],
			["huài"]
		],
		"山行海宿": [
			["shān"],
			["xíng"],
			["hǎi"],
			["xiǔ"]
		],
		"山羊胡子": [
			["shān"],
			["yáng"],
			["hú"],
			["zǐ"]
		],
		"山摇地动": [
			["shān"],
			["yáo"],
			["dì"],
			["dòng"]
		],
		"山殽野湋": [
			["shān"],
			["yāo"],
			["yě"],
			["fù"]
		],
		"山遥路远": [
			["shān"],
			["yáo"],
			["lù"],
			["yuǎn"]
		],
		"山遥水远": [
			["shān"],
			["yáo"],
			["shuǐ"],
			["yuǎn"]
		],
		"山阴道上": [
			["shān"],
			["yīn"],
			["dào"],
			["shàng"]
		],
		"山阴乘兴": [
			["shān"],
			["yīn"],
			["chéng"],
			["xīng"]
		],
		"山吟泽唱": [
			["shān"],
			["yín"],
			["zé"],
			["chàng"]
		],
		"山雨欲来": [
			["shān"],
			["yǔ"],
			["yù"],
			["lái"]
		],
		"山雨欲来风满楼": [
			["shān"],
			["yǔ"],
			["yù"],
			["lái"],
			["fēng"],
			["mǎn"],
			["lóu"]
		],
		"山止川行": [
			["shān"],
			["zhǐ"],
			["chuān"],
			["xíng"]
		],
		"山峙渊渟": [
			["shān"],
			["zhì"],
			["yuān"],
			["zī"]
		],
		"山中宰相": [
			["shān"],
			["zhōng"],
			["zǎi"],
			["xiàng"]
		],
		"山重水复": [
			["shān"],
			["zhòng"],
			["shuǐ"],
			["fù"]
		],
		"删繁就简": [
			["shān"],
			["fán"],
			["jiù"],
			["jiǎn"]
		],
		"删华就素": [
			["shān"],
			["huá"],
			["jiù"],
			["sù"]
		],
		"删节号": [
			["shān"],
			["jié"],
			["hào"]
		],
		"芟繁就简": [
			["shān"],
			["fán"],
			["jiù"],
			["jiǎn"]
		],
		"姗姗来迟": [
			["shān"],
			["shān"],
			["lái"],
			["chí"]
		],
		"煽风点火": [
			["shān"],
			["fēng"],
			["diǎn"],
			["huǒ"]
		],
		"闪烁其词": [
			["shǎn"],
			["shuò"],
			["qí"],
			["cí"]
		],
		"闪烁其辞": [
			["shǎn"],
			["shuò"],
			["qí"],
			["cí"]
		],
		"陕甘宁": [
			["shǎn"],
			["gān"],
			["níng"]
		],
		"陕甘宁边区": [
			["shǎn"],
			["gān"],
			["níng"],
			["biān"],
			["qū"]
		],
		"讪牙闲嗑": [
			["shàn"],
			["yá"],
			["xián"],
			["kē"]
		],
		"汕头市": [
			["shàn"],
			["tóu"],
			["shì"]
		],
		"苫眼铺眉": [
			["shān"],
			["yǎn"],
			["pū"],
			["méi"]
		],
		"扇风点火": [
			["shàn"],
			["fēng"],
			["diǎn"],
			["huǒ"]
		],
		"扇面儿": [
			["shàn"],
			["miàn"],
			["ér"]
		],
		"扇火止沸": [
			["shàn"],
			["huǒ"],
			["zhǐ"],
			["fèi"]
		],
		"扇骨子": [
			["shàn"],
			["gǔ"],
			["zi"]
		],
		"扇风机": [
			["shān"],
			["fēng"],
			["jī"]
		],
		"扇枕温衾": [
			["shàn"],
			["zhěn"],
			["wēn"],
			["qīn"]
		],
		"扇席温枕": [
			["shàn"],
			["xí"],
			["wēn"],
			["zhěn"]
		],
		"扇枕温被": [
			["shān"],
			["zhěn"],
			["wēn"],
			["chuáng"]
		],
		"扇枕温席": [
			["shān"],
			["zhěn"],
			["wēn"],
			["xí"]
		],
		"善罢干休": [
			["shàn"],
			["bà"],
			["gān"],
			["xiū"]
		],
		"善罢甘休": [
			["shàn"],
			["bà"],
			["gān"],
			["xiū"]
		],
		"善财难舍": [
			["shàn"],
			["cái"],
			["nán"],
			["shě"]
		],
		"善刀而藏": [
			["shàn"],
			["dāo"],
			["ér"],
			["cáng"]
		],
		"善贾而沽": [
			["shàn"],
			["jià"],
			["ér"],
			["gū"]
		],
		"善门难开": [
			["shàn"],
			["mén"],
			["nán"],
			["kāi"]
		],
		"善男信女": [
			["shàn"],
			["nán"],
			["xìn"],
			["nǚ"]
		],
		"善骑者堕": [
			["shàn"],
			["qí"],
			["zhě"],
			["duò"]
		],
		"善善从长": [
			["shàn"],
			["shàn"],
			["cóng"],
			["cháng"]
		],
		"善善恶恶": [
			["shàn"],
			["shàn"],
			["wù"],
			["è"]
		],
		"善始令终": [
			["shàn"],
			["shǐ"],
			["lìng"],
			["zhōng"]
		],
		"善为说辞": [
			["shàn"],
			["wéi"],
			["shuō"],
			["cí"]
		],
		"善文能武": [
			["shàn"],
			["wén"],
			["néng"],
			["wǔ"]
		],
		"善与人交": [
			["shàn"],
			["yǔ"],
			["rén"],
			["jiāo"]
		],
		"善有善报": [
			["shàn"],
			["yǒu"],
			["shàn"],
			["bào"]
		],
		"善游者溺": [
			["shàn"],
			["yóu"],
			["zhě"],
			["nì"]
		],
		"善自为谋": [
			["shàn"],
			["zì"],
			["wéi"],
			["móu"]
		],
		"伤风败化": [
			["shāng"],
			["fēng"],
			["bài"],
			["huà"]
		],
		"伤病员": [
			["shāng"],
			["bìng"],
			["yuán"]
		],
		"伤风败俗": [
			["shāng"],
			["fēng"],
			["bài"],
			["sú"]
		],
		"伤教败俗": [
			["shāng"],
			["jiào"],
			["bài"],
			["sú"]
		],
		"伤化败俗": [
			["shāng"],
			["huà"],
			["bài"],
			["sú"]
		],
		"伤筋动骨": [
			["shāng"],
			["jīn"],
			["dòng"],
			["gǔ"]
		],
		"伤亡事故": [
			["shāng"],
			["wáng"],
			["shì"],
			["gù"]
		],
		"伤言扎语": [
			["shāng"],
			["yán"],
			["zhā"],
			["yǔ"]
		],
		"商务办事处": [
			["shāng"],
			["wù"],
			["bàn"],
			["shì"],
			["chù"]
		],
		"赏不当功": [
			["shǎng"],
			["bù"],
			["dāng"],
			["gōng"]
		],
		"赏不逾日": [
			["shǎng"],
			["bù"],
			["yú"],
			["rì"]
		],
		"赏罚分明": [
			["shǎng"],
			["fá"],
			["fēn"],
			["míng"]
		],
		"赏奇析疑": [
			["shǎng"],
			["qí"],
			["xī"],
			["yí"]
		],
		"赏善罚恶": [
			["shǎng"],
			["shàn"],
			["fá"],
			["è"]
		],
		"赏善罚否": [
			["shǎng"],
			["shàn"],
			["fá"],
			["fǒu"]
		],
		"赏同罚异": [
			["shǎng"],
			["tóng"],
			["fá"],
			["yì"]
		],
		"赏贤罚暴": [
			["shǎng"],
			["xián"],
			["fá"],
			["bào"]
		],
		"赏不逾时": [
			["shǎng"],
			["bù"],
			["yú"],
			["shí"]
		],
		"赏罚不明": [
			["shǎng"],
			["fá"],
			["bù"],
			["míng"]
		],
		"赏罚信明": [
			["shǎng"],
			["fá"],
			["xìn"],
			["míng"]
		],
		"赏贤使能": [
			["shǎng"],
			["xián"],
			["shǐ"],
			["néng"]
		],
		"赏心乐事": [
			["shǎng"],
			["xīn"],
			["lè"],
			["shì"]
		],
		"赏信罚必": [
			["shǎng"],
			["xìn"],
			["fá"],
			["bì"]
		],
		"赏信罚明": [
			["shǎng"],
			["xìn"],
			["fá"],
			["míng"]
		],
		"上半晌": [
			["shàng"],
			["bàn"],
			["shǎng"]
		],
		"上半身": [
			["shàng"],
			["bàn"],
			["shēn"]
		],
		"上半天": [
			["shàng"],
			["bàn"],
			["tiān"]
		],
		"上半夜": [
			["shàng"],
			["bàn"],
			["yè"]
		],
		"上辈子": [
			["shàng"],
			["bèi"],
			["zi"]
		],
		"上兵伐谋": [
			["shàng"],
			["bīng"],
			["fá"],
			["móu"]
		],
		"上层建筑": [
			["shàng"],
			["céng"],
			["jiàn"],
			["zhù"]
		],
		"上谄下渎": [
			["shàng"],
			["chǎn"],
			["xià"],
			["dú"]
		],
		"上层社会": [
			["shàng"],
			["céng"],
			["shè"],
			["huì"]
		],
		"上场门": [
			["shàng"],
			["chǎng"],
			["mén"]
		],
		"上蹿下跳": [
			["shàng"],
			["cuān"],
			["xià"],
			["tiào"]
		],
		"上窜下跳": [
			["shàng"],
			["cuàn"],
			["xià"],
			["tiào"]
		],
		"上当受骗": [
			["shàng"],
			["dàng"],
			["shòu"],
			["piàn"]
		],
		"上当学乖": [
			["shàng"],
			["dāng"],
			["xué"],
			["guāi"]
		],
		"上等兵": [
			["shàng"],
			["děng"],
			["bīng"]
		],
		"上方宝剑": [
			["shàng"],
			["fāng"],
			["bǎo"],
			["jiàn"]
		],
		"上方剑": [
			["shàng"],
			["fāng"],
			["jiàn"]
		],
		"上竿掇梯": [
			["shàng"],
			["gān"],
			["duō"],
			["tī"]
		],
		"上纲上线": [
			["shàng"],
			["gāng"],
			["shàng"],
			["xiàn"]
		],
		"上根大器": [
			["shàng"],
			["gēn"],
			["dà"],
			["qì"]
		],
		"上轨道": [
			["shàng"],
			["guǐ"],
			["dào"]
		],
		"上好下甚": [
			["shàng"],
			["hǎo"],
			["xià"],
			["shèn"]
		],
		"上和下睦": [
			["shàng"],
			["hé"],
			["xià"],
			["mù"]
		],
		"上交不谄": [
			["shàng"],
			["jiāo"],
			["bù"],
			["chǎn"]
		],
		"上进心": [
			["shàng"],
			["jìn"],
			["xīn"]
		],
		"上陵下替": [
			["shàng"],
			["líng"],
			["xià"],
			["tì"]
		],
		"上梁不正下梁歪": [
			["shàng"],
			["liáng"],
			["bù"],
			["zhèng"],
			["xià"],
			["liáng"],
			["wāi"]
		],
		"上流社会": [
			["shàng"],
			["liú"],
			["shè"],
			["huì"]
		],
		"上楼去梯": [
			["shàng"],
			["lóu"],
			["qù"],
			["tī"]
		],
		"上漏下湿": [
			["shàng"],
			["lòu"],
			["xià"],
			["shī"]
		],
		"上嫚下暴": [
			["shàng"],
			["màn"],
			["xià"],
			["bào"]
		],
		"上慢下暴": [
			["shàng"],
			["màn"],
			["xià"],
			["bào"]
		],
		"上南落北": [
			["shàng"],
			["nán"],
			["luò"],
			["běi"]
		],
		"上年纪": [
			["shàng"],
			["nián"],
			["jì"]
		],
		"上篇上论": [
			["shàng"],
			["piān"],
			["shàng"],
			["lùn"]
		],
		"上坡路": [
			["shàng"],
			["pō"],
			["lù"]
		],
		"上气不接下气": [
			["shàng"],
			["qì"],
			["bù"],
			["jiē"],
			["xià"],
			["qì"]
		],
		"上勤下顺": [
			["shàng"],
			["qín"],
			["xià"],
			["shùn"]
		],
		"上情下达": [
			["shàng"],
			["qíng"],
			["xià"],
			["dá"]
		],
		"上山下乡": [
			["shàng"],
			["shān"],
			["xià"],
			["xiāng"]
		],
		"上上下下": [
			["shàng"],
			["shàng"],
			["xià"],
			["xià"]
		],
		"上市公司": [
			["shàng"],
			["shì"],
			["gōng"],
			["sī"]
		],
		"上树拔梯": [
			["shàng"],
			["shù"],
			["bá"],
			["tī"]
		],
		"上岁数": [
			["shàng"],
			["suì"],
			["shù"]
		],
		"上替下陵": [
			["shàng"],
			["tì"],
			["xià"],
			["líng"]
		],
		"上天入地": [
			["shàng"],
			["tiān"],
			["rù"],
			["dì"]
		],
		"上推下卸": [
			["shàng"],
			["tuī"],
			["xià"],
			["xiè"]
		],
		"上西天": [
			["shàng"],
			["xī"],
			["tiān"]
		],
		"上下床": [
			["shàng"],
			["xià"],
			["chuáng"]
		],
		"上下交困": [
			["shàng"],
			["xià"],
			["jiāo"],
			["kùn"]
		],
		"上下其手": [
			["shàng"],
			["xià"],
			["qí"],
			["shǒu"]
		],
		"上下水": [
			["shàng"],
			["xià"],
			["shuǐ"]
		],
		"上下同门": [
			["shàng"],
			["xià"],
			["tóng"],
			["mén"]
		],
		"上下同心": [
			["shàng"],
			["xià"],
			["tóng"],
			["xīn"]
		],
		"上下同欲": [
			["shàng"],
			["xià"],
			["tóng"],
			["yù"]
		],
		"上下文": [
			["shàng"],
			["xià"],
			["wén"]
		],
		"上下一心": [
			["shàng"],
			["xià"],
			["yī"],
			["xīn"]
		],
		"上行下效": [
			["shàng"],
			["xíng"],
			["xià"],
			["xiào"]
		],
		"上医医国": [
			["shàng"],
			["yī"],
			["yī"],
			["guó"]
		],
		"上溢下漏": [
			["shàng"],
			["yì"],
			["xià"],
			["lòu"]
		],
		"上元节": [
			["shàng"],
			["yuán"],
			["jié"]
		],
		"上雨旁风": [
			["shàng"],
			["yǔ"],
			["páng"],
			["fēng"]
		],
		"上援下推": [
			["shàng"],
			["yuán"],
			["xià"],
			["tuī"]
		],
		"上烝下报": [
			["shàng"],
			["zhēng"],
			["xià"],
			["bào"]
		],
		"上蒸下报": [
			["shàng"],
			["zhēng"],
			["xià"],
			["bào"]
		],
		"上智下愚": [
			["shàng"],
			["zhì"],
			["xià"],
			["yú"]
		],
		"上中农": [
			["shàng"],
			["zhōng"],
			["nóng"]
		],
		"尚虚中馈": [
			["shàng"],
			["xū"],
			["zhōng"],
			["kuì"]
		],
		"捎关打节": [
			["shāo"],
			["guān"],
			["dǎ"],
			["jié"]
		],
		"烧犀观火": [
			["shāo"],
			["xī"],
			["guān"],
			["huǒ"]
		],
		"稍胜一筹": [
			["shāo"],
			["shèng"],
			["yī"],
			["chóu"]
		],
		"稍逊一筹": [
			["shāo"],
			["xùn"],
			["yī"],
			["chóu"]
		],
		"稍纵即逝": [
			["shāo"],
			["zòng"],
			["jí"],
			["shì"]
		],
		"韶华如驶": [
			["sháo"],
			["huá"],
			["rú"],
			["shǐ"]
		],
		"勺状软骨": [
			["sháo"],
			["zhuàng"],
			["ruǎn"],
			["gǔ"]
		],
		"少安无躁": [
			["shǎo"],
			["ān"],
			["wú"],
			["zào"]
		],
		"少安毋躁": [
			["shǎo"],
			["ān"],
			["wú"],
			["zào"]
		],
		"少白头": [
			["shǎo"],
			["bái"],
			["tóu"]
		],
		"少不得": [
			["shào"],
			["bù"],
			["dé"]
		],
		"少不更事": [
			["shào"],
			["bù"],
			["gēng"],
			["shì"]
		],
		"少不经事": [
			["shào"],
			["bù"],
			["jīng"],
			["shì"]
		],
		"少成若性": [
			["shào"],
			["chéng"],
			["ruò"],
			["xìng"]
		],
		"少不了": [
			["shào"],
			["bù"],
			["liǎo"]
		],
		"少吃俭用": [
			["shǎo"],
			["chī"],
			["jiǎn"],
			["yòng"]
		],
		"少东家": [
			["shǎo"],
			["dōng"],
			["jiā"]
		],
		"少而精": [
			["shǎo"],
			["ér"],
			["jīng"]
		],
		"少见多怪": [
			["shǎo"],
			["jiàn"],
			["duō"],
			["guài"]
		],
		"少林拳": [
			["shǎo"],
			["lín"],
			["quán"]
		],
		"少林寺": [
			["shǎo"],
			["lín"],
			["sì"]
		],
		"少奶奶": [
			["shào"],
			["nǎi"],
			["nai"]
		],
		"少年犯": [
			["shào"],
			["nián"],
			["fàn"]
		],
		"少年宫": [
			["shào"],
			["nián"],
			["gōng"]
		],
		"少年老成": [
			["shào"],
			["nián"],
			["lǎo"],
			["chéng"]
		],
		"少年老诚": [
			["shǎo"],
			["nián"],
			["lǎo"],
			["chéng"]
		],
		"少年先锋队": [
			["shào"],
			["nián"],
			["xiān"],
			["fēng"],
			["duì"]
		],
		"少年行": [
			["shào"],
			["nián"],
			["xíng"]
		],
		"少年之家": [
			["shào"],
			["nián"],
			["zhī"],
			["jiā"]
		],
		"少女装": [
			["shào"],
			["nǚ"],
			["zhuāng"]
		],
		"少气无力": [
			["shǎo"],
			["qì"],
			["wú"],
			["lì"]
		],
		"少数民族": [
			["shǎo"],
			["shù"],
			["mín"],
			["zú"]
		],
		"少私寡欲": [
			["shǎo"],
			["sī"],
			["guǎ"],
			["yù"]
		],
		"少条失教": [
			["shǎo"],
			["tiáo"],
			["shī"],
			["jiào"]
		],
		"少头缺尾": [
			["shǎo"],
			["tóu"],
			["quē"],
			["wěi"]
		],
		"少先队": [
			["shǎo"],
			["xiān"],
			["duì"]
		],
		"少小无猜": [
			["shào"],
			["xiǎo"],
			["wú"],
			["cāi"]
		],
		"少言寡语": [
			["shǎo"],
			["yán"],
			["guǎ"],
			["yǔ"]
		],
		"少壮派": [
			["shào"],
			["zhuàng"],
			["pài"]
		],
		"少纵即逝": [
			["shǎo"],
			["zòng"],
			["jí"],
			["shì"]
		],
		"绍兴酒": [
			["shào"],
			["xīng"],
			["jiǔ"]
		],
		"绍兴戏": [
			["shào"],
			["xīng"],
			["xì"]
		],
		"舌桥不下": [
			["shé"],
			["qiáo"],
			["bù"],
			["xià"]
		],
		"舌挢不下": [
			["shé"],
			["jiǎo"],
			["bù"],
			["xià"]
		],
		"蛇口蜂针": [
			["shé"],
			["kǒu"],
			["fēng"],
			["zhēn"]
		],
		"蛇食鲸吞": [
			["shé"],
			["shí"],
			["jīng"],
			["tūn"]
		],
		"蛇头鼠眼": [
			["shé"],
			["tóu"],
			["shǔ"],
			["yǎn"]
		],
		"蛇蝎为心": [
			["shé"],
			["xiē"],
			["wéi"],
			["xīn"]
		],
		"蛇蝎心肠": [
			["shé"],
			["xiē"],
			["xīn"],
			["cháng"]
		],
		"蛇心佛口": [
			["shé"],
			["xīn"],
			["fó"],
			["kǒu"]
		],
		"蛇影杯弓": [
			["shé"],
			["yǐng"],
			["bēi"],
			["gōng"]
		],
		"蛇欲吞象": [
			["shé"],
			["yù"],
			["tūn"],
			["xiàng"]
		],
		"舍策追羊": [
			["shě"],
			["cè"],
			["zhuī"],
			["yáng"]
		],
		"舍不得": [
			["shě"],
			["bù"],
			["dé"]
		],
		"舍己从人": [
			["shě"],
			["jǐ"],
			["cóng"],
			["rén"]
		],
		"舍短取长": [
			["shě"],
			["duǎn"],
			["qǔ"],
			["cháng"]
		],
		"舍近即远": [
			["shě"],
			["jìn"],
			["jí"],
			["yuǎn"]
		],
		"舍己为人": [
			["shě"],
			["jǐ"],
			["wèi"],
			["rén"]
		],
		"舍己为公": [
			["shě"],
			["jǐ"],
			["wèi"],
			["gōng"]
		],
		"舍近求远": [
			["shě"],
			["jìn"],
			["qiú"],
			["yuǎn"]
		],
		"舍近务远": [
			["shě"],
			["jìn"],
			["wù"],
			["yuǎn"]
		],
		"舍我其谁": [
			["shě"],
			["wǒ"],
			["qí"],
			["shuí"]
		],
		"舍身为国": [
			["shě"],
			["shēn"],
			["wéi"],
			["guó"]
		],
		"设圈套": [
			["shè"],
			["quān"],
			["tào"]
		],
		"设身处地": [
			["shè"],
			["shēn"],
			["chǔ"],
			["dì"]
		],
		"设心处虑": [
			["shè"],
			["xīn"],
			["chǔ"],
			["lǜ"]
		],
		"社会保险": [
			["shè"],
			["huì"],
			["bǎo"],
			["xiǎn"]
		],
		"社会存在": [
			["shè"],
			["huì"],
			["cún"],
			["zài"]
		],
		"社会关系": [
			["shè"],
			["huì"],
			["guān"],
			["xì"]
		],
		"社会活动": [
			["shè"],
			["huì"],
			["huó"],
			["dòng"]
		],
		"社会教育": [
			["shè"],
			["huì"],
			["jiào"],
			["yù"]
		],
		"社会科学": [
			["shè"],
			["huì"],
			["kē"],
			["xué"]
		],
		"社会青年": [
			["shè"],
			["huì"],
			["qīng"],
			["nián"]
		],
		"社会贤达": [
			["shè"],
			["huì"],
			["xián"],
			["dá"]
		],
		"社会学": [
			["shè"],
			["huì"],
			["xué"]
		],
		"社会意识": [
			["shè"],
			["huì"],
			["yì"],
			["shí"]
		],
		"社会制度": [
			["shè"],
			["huì"],
			["zhì"],
			["dù"]
		],
		"社会主义": [
			["shè"],
			["huì"],
			["zhǔ"],
			["yì"]
		],
		"社会主义革命": [
			["shè"],
			["huì"],
			["zhǔ"],
			["yì"],
			["gé"],
			["mìng"]
		],
		"社会总需求": [
			["shè"],
			["huì"],
			["zǒng"],
			["xū"],
			["qiú"]
		],
		"射电望远镜": [
			["shè"],
			["diàn"],
			["wàng"],
			["yuǎn"],
			["jìng"]
		],
		"社燕秋鸿": [
			["shè"],
			["yàn"],
			["qiū"],
			["hóng"]
		],
		"射击场": [
			["shè"],
			["jī"],
			["chǎng"]
		],
		"射利沽名": [
			["shè"],
			["lì"],
			["gū"],
			["míng"]
		],
		"射人先射马": [
			["shè"],
			["rén"],
			["xiān"],
			["shè"],
			["mǎ"]
		],
		"射石饮羽": [
			["shè"],
			["shí"],
			["yǐn"],
			["yǔ"]
		],
		"射像止啼": [
			["shè"],
			["xiàng"],
			["zhǐ"],
			["tí"]
		],
		"射影含沙": [
			["shè"],
			["yǐng"],
			["hán"],
			["shā"]
		],
		"射鱼指天": [
			["shè"],
			["yú"],
			["zhǐ"],
			["tiān"]
		],
		"涉笔成趣": [
			["shè"],
			["bǐ"],
			["chéng"],
			["qù"]
		],
		"赦过宥罪": [
			["shè"],
			["guò"],
			["yòu"],
			["zuì"]
		],
		"摄护腺": [
			["shè"],
			["hù"],
			["xiàn"]
		],
		"摄魄钩魂": [
			["shè"],
			["pò"],
			["gōu"],
			["hún"]
		],
		"摄氏温标": [
			["shè"],
			["shì"],
			["wēn"],
			["biāo"]
		],
		"摄氏度": [
			["shè"],
			["shì"],
			["dù"]
		],
		"摄威擅势": [
			["shè"],
			["wēi"],
			["shàn"],
			["shì"]
		],
		"摄氏温度计": [
			["shè"],
			["shì"],
			["wēn"],
			["dù"],
			["jì"]
		],
		"摄像机": [
			["shè"],
			["xiàng"],
			["jī"]
		],
		"摄像管": [
			["shè"],
			["xiàng"],
			["guǎn"]
		],
		"摄影棚": [
			["shè"],
			["yǐng"],
			["péng"]
		],
		"摄影师": [
			["shè"],
			["yǐng"],
			["shī"]
		],
		"摄影艺术": [
			["shè"],
			["yǐng"],
			["yì"],
			["shù"]
		],
		"摄政王": [
			["shè"],
			["zhèng"],
			["wáng"]
		],
		"申冤吐气": [
			["shēn"],
			["yuān"],
			["tǔ"],
			["qì"]
		],
		"伸舌头": [
			["shēn"],
			["shé"],
			["tou"]
		],
		"伸手不见五指": [
			["shēn"],
			["shǒu"],
			["bù"],
			["jiàn"],
			["wǔ"],
			["zhǐ"]
		],
		"伸缩性": [
			["shēn"],
			["suō"],
			["xìng"]
		],
		"伸头缩颈": [
			["shēn"],
			["tóu"],
			["suō"],
			["jǐng"]
		],
		"伸头探脑": [
			["shēn"],
			["tóu"],
			["tàn"],
			["nǎo"]
		],
		"身败名隳": [
			["shēn"],
			["bài"],
			["míng"],
			["huī"]
		],
		"身败名裂": [
			["shēn"],
			["bài"],
			["míng"],
			["liè"]
		],
		"身不由己": [
			["shēn"],
			["bù"],
			["yóu"],
			["jǐ"]
		],
		"身不遇时": [
			["shēn"],
			["bù"],
			["yù"],
			["shí"]
		],
		"身不由主": [
			["shēn"],
			["bù"],
			["yóu"],
			["zhǔ"]
		],
		"身单力薄": [
			["shēn"],
			["dān"],
			["lì"],
			["bó"]
		],
		"身当其境": [
			["shēn"],
			["dāng"],
			["qí"],
			["jìng"]
		],
		"身当矢石": [
			["shēn"],
			["dāng"],
			["shǐ"],
			["shí"]
		],
		"身非木石": [
			["shēn"],
			["fēi"],
			["mù"],
			["shí"]
		],
		"身废名裂": [
			["shēn"],
			["fèi"],
			["míng"],
			["liè"]
		],
		"身分证": [
			["shēn"],
			["fèn"],
			["zhèng"]
		],
		"身后识方干": [
			["shēn"],
			["hòu"],
			["shí"],
			["fāng"],
			["gān"]
		],
		"身后萧条": [
			["shēn"],
			["hòu"],
			["xiāo"],
			["tiáo"]
		],
		"身怀六甲": [
			["shēn"],
			["huái"],
			["liù"],
			["jiǎ"]
		],
		"身家性命": [
			["shēn"],
			["jiā"],
			["xìng"],
			["mìng"]
		],
		"身价百倍": [
			["shēn"],
			["jià"],
			["bǎi"],
			["bèi"]
		],
		"身历其境": [
			["shēn"],
			["lì"],
			["qí"],
			["jìng"]
		],
		"身临其境": [
			["shēn"],
			["lín"],
			["qí"],
			["jìng"]
		],
		"身强力壮": [
			["shēn"],
			["qiáng"],
			["lì"],
			["zhuàng"]
		],
		"身首异处": [
			["shēn"],
			["shǒu"],
			["yì"],
			["chù"]
		],
		"身首异地": [
			["shēn"],
			["shǒu"],
			["yì"],
			["dì"]
		],
		"身体发肤": [
			["shēn"],
			["tǐ"],
			["fà"],
			["fū"]
		],
		"身体力行": [
			["shēn"],
			["tǐ"],
			["lì"],
			["xíng"]
		],
		"身微力薄": [
			["shēn"],
			["wēi"],
			["lì"],
			["báo"]
		],
		"身无长处": [
			["shēn"],
			["wú"],
			["cháng"],
			["chù"]
		],
		"身无长物": [
			["shēn"],
			["wú"],
			["cháng"],
			["wù"]
		],
		"身无分文": [
			["shēn"],
			["wú"],
			["fēn"],
			["wén"]
		],
		"身无择行": [
			["shēn"],
			["wú"],
			["zé"],
			["xíng"]
		],
		"身先朝露": [
			["shēn"],
			["xiān"],
			["cháo"],
			["lù"]
		],
		"身先士卒": [
			["shēn"],
			["xiān"],
			["shì"],
			["zú"]
		],
		"身远心近": [
			["shēn"],
			["yuǎn"],
			["xīn"],
			["jìn"]
		],
		"身做身当": [
			["shēn"],
			["zuò"],
			["shēn"],
			["dāng"]
		],
		"深奥莫测": [
			["shēn"],
			["ào"],
			["mò"],
			["cè"]
		],
		"深不可测": [
			["shēn"],
			["bù"],
			["kě"],
			["cè"]
		],
		"深藏若虚": [
			["shēn"],
			["cáng"],
			["ruò"],
			["xū"]
		],
		"深仇大恨": [
			["shēn"],
			["chóu"],
			["dà"],
			["hèn"]
		],
		"深仇重怨": [
			["shēn"],
			["chóu"],
			["zhòng"],
			["yuàn"]
		],
		"深仇宿怨": [
			["shēn"],
			["chóu"],
			["xiǔ"],
			["yuàn"]
		],
		"深雠大恨": [
			["shēn"],
			["chóu"],
			["dà"],
			["hèn"]
		],
		"深刺腧髓": [
			["shēn"],
			["cì"],
			["shù"],
			["suǐ"]
		],
		"深恶痛嫉": [
			["shēn"],
			["wù"],
			["tòng"],
			["jí"]
		],
		"深恶痛绝": [
			["shēn"],
			["wù"],
			["tòng"],
			["jué"]
		],
		"深得人心": [
			["shēn"],
			["dé"],
			["rén"],
			["xīn"]
		],
		"深恶痛疾": [
			["shēn"],
			["wù"],
			["tòng"],
			["jí"]
		],
		"深根固柢": [
			["shēn"],
			["gēn"],
			["gù"],
			["dǐ"]
		],
		"深根宁极": [
			["shēn"],
			["gēn"],
			["níng"],
			["jí"]
		],
		"深根蟠结": [
			["shēn"],
			["gēn"],
			["pán"],
			["jié"]
		],
		"深更半夜": [
			["shēn"],
			["gēng"],
			["bàn"],
			["yè"]
		],
		"深谷为陵": [
			["shēn"],
			["gǔ"],
			["wéi"],
			["líng"]
		],
		"深计远虑": [
			["shēn"],
			["jì"],
			["yuǎn"],
			["lǜ"]
		],
		"深扃固钥": [
			["shēn"],
			["jiōng"],
			["gù"],
			["yào"]
		],
		"深见远虑": [
			["shēn"],
			["jiàn"],
			["yuǎn"],
			["lǜ"]
		],
		"深明大义": [
			["shēn"],
			["míng"],
			["dà"],
			["yì"]
		],
		"深厉浅揭": [
			["shēn"],
			["lì"],
			["qiǎn"],
			["qì"]
		],
		"深谋远虑": [
			["shēn"],
			["móu"],
			["yuǎn"],
			["lǜ"]
		],
		"深谋远略": [
			["shēn"],
			["móu"],
			["yuǎn"],
			["lüè"]
		],
		"深切著白": [
			["shēn"],
			["qiè"],
			["zhù"],
			["bái"]
		],
		"深切著明": [
			["shēn"],
			["qiè"],
			["zhù"],
			["míng"]
		],
		"深切着白": [
			["shēn"],
			["qiē"],
			["zhe"],
			["bái"]
		],
		"深切着明": [
			["shēn"],
			["qiē"],
			["zhe"],
			["míng"]
		],
		"深情底理": [
			["shēn"],
			["qíng"],
			["dǐ"],
			["lǐ"]
		],
		"深仁厚泽": [
			["shēn"],
			["rén"],
			["hòu"],
			["zé"]
		],
		"深入膏肓": [
			["shēn"],
			["rù"],
			["gāo"],
			["huāng"]
		],
		"深入骨髓": [
			["shēn"],
			["rù"],
			["gǔ"],
			["suǐ"]
		],
		"深入浅出": [
			["shēn"],
			["rù"],
			["qiǎn"],
			["chū"]
		],
		"深山长谷": [
			["shēn"],
			["shān"],
			["cháng"],
			["gǔ"]
		],
		"深思苦索": [
			["shēn"],
			["sī"],
			["kǔ"],
			["suǒ"]
		],
		"深思熟虑": [
			["shēn"],
			["sī"],
			["shú"],
			["lǜ"]
		],
		"深思远虑": [
			["shēn"],
			["sī"],
			["yuǎn"],
			["lǜ"]
		],
		"深惟重虑": [
			["shēn"],
			["wéi"],
			["zhòng"],
			["lǜ"]
		],
		"深图远算": [
			["shēn"],
			["tú"],
			["yuǎn"],
			["suàn"]
		],
		"深文大义": [
			["shēn"],
			["wén"],
			["dà"],
			["yì"]
		],
		"深文附会": [
			["shēn"],
			["wén"],
			["fù"],
			["huì"]
		],
		"深文傅会": [
			["shēn"],
			["wén"],
			["fù"],
			["huì"]
		],
		"深文曲折": [
			["shēn"],
			["wén"],
			["qǔ"],
			["shé"]
		],
		"深文周内": [
			["shēn"],
			["wén"],
			["zhōu"],
			["nà"]
		],
		"深信不疑": [
			["shēn"],
			["xìn"],
			["bù"],
			["yí"]
		],
		"深猷远计": [
			["shēn"],
			["yóu"],
			["yuǎn"],
			["jì"]
		],
		"深宅大院": [
			["shēn"],
			["zhái"],
			["dà"],
			["yuàn"]
		],
		"深知灼见": [
			["shēn"],
			["zhī"],
			["zhuó"],
			["jiàn"]
		],
		"深中笃行": [
			["shēn"],
			["zhōng"],
			["dǔ"],
			["xíng"]
		],
		"深中肯綮": [
			["shēn"],
			["zhōng"],
			["kěn"],
			["qìng"]
		],
		"深中隐厚": [
			["shēn"],
			["zhōng"],
			["yǐn"],
			["hòu"]
		],
		"神不附体": [
			["shén"],
			["bù"],
			["fù"],
			["tǐ"]
		],
		"神兵天将": [
			["shén"],
			["bīng"],
			["tiān"],
			["jiāng"]
		],
		"神不收舍": [
			["shén"],
			["bù"],
			["shōu"],
			["shě"]
		],
		"神不守舍": [
			["shén"],
			["bù"],
			["shǒu"],
			["shě"]
		],
		"神不知鬼不觉": [
			["shén"],
			["bù"],
			["zhī"],
			["guǐ"],
			["bù"],
			["jué"]
		],
		"神采奕然": [
			["shén"],
			["cǎi"],
			["yì"],
			["rán"]
		],
		"神采飞扬": [
			["shén"],
			["cǎi"],
			["fēi"],
			["yáng"]
		],
		"神不知鬼不晓": [
			["shén"],
			["bù"],
			["zhī"],
			["guǐ"],
			["bù"],
			["xiǎo"]
		],
		"神采焕发": [
			["shén"],
			["cǎi"],
			["huàn"],
			["fā"]
		],
		"神采奕奕": [
			["shén"],
			["cǎi"],
			["yì"],
			["yì"]
		],
		"神采英拔": [
			["shén"],
			["cǎi"],
			["yīng"],
			["bá"]
		],
		"神差鬼遣": [
			["shén"],
			["chà"],
			["guǐ"],
			["qiǎn"]
		],
		"神藏鬼伏": [
			["shén"],
			["cáng"],
			["guǐ"],
			["fú"]
		],
		"神差鬼使": [
			["shén"],
			["chāi"],
			["guǐ"],
			["shǐ"]
		],
		"神出鬼没": [
			["shén"],
			["chū"],
			["guǐ"],
			["mò"]
		],
		"神道设教": [
			["shén"],
			["dào"],
			["shè"],
			["jiào"]
		],
		"神功圣化": [
			["shén"],
			["gōng"],
			["shèng"],
			["huà"]
		],
		"神鬼不测": [
			["shén"],
			["guǐ"],
			["bù"],
			["cè"]
		],
		"神鬼莫测": [
			["shén"],
			["guǐ"],
			["mò"],
			["cè"]
		],
		"神鬼难测": [
			["shén"],
			["guǐ"],
			["nán"],
			["cè"]
		],
		"神号鬼泣": [
			["shén"],
			["hào"],
			["guǐ"],
			["qì"]
		],
		"神号鬼哭": [
			["shén"],
			["háo"],
			["guǐ"],
			["kū"]
		],
		"神乎其技": [
			["shén"],
			["hū"],
			["qí"],
			["jì"]
		],
		"神乎其神": [
			["shén"],
			["hū"],
			["qí"],
			["shén"]
		],
		"神哗鬼叫": [
			["shén"],
			["huá"],
			["guǐ"],
			["jiào"]
		],
		"神会心融": [
			["shén"],
			["huì"],
			["xīn"],
			["róng"]
		],
		"神机莫测": [
			["shén"],
			["jī"],
			["mò"],
			["cè"]
		],
		"神魂颠倒": [
			["shén"],
			["hún"],
			["diān"],
			["dǎo"]
		],
		"神经官能症": [
			["shén"],
			["jīng"],
			["guān"],
			["néng"],
			["zhèng"]
		],
		"神经过敏": [
			["shén"],
			["jīng"],
			["guò"],
			["mǐn"]
		],
		"神经末梢": [
			["shén"],
			["jīng"],
			["mò"],
			["shāo"]
		],
		"神经衰弱": [
			["shén"],
			["jīng"],
			["shuāi"],
			["ruò"]
		],
		"神经系统": [
			["shén"],
			["jīng"],
			["xì"],
			["tǒng"]
		],
		"神经纤维": [
			["shén"],
			["jīng"],
			["xiān"],
			["wéi"]
		],
		"神经中枢": [
			["shén"],
			["jīng"],
			["zhōng"],
			["shū"]
		],
		"神领意得": [
			["shén"],
			["lǐng"],
			["yì"],
			["dé"]
		],
		"神龙见首": [
			["shén"],
			["lóng"],
			["jiàn"],
			["shǒu"]
		],
		"神龙见首不见尾": [
			["shén"],
			["lóng"],
			["jiàn"],
			["shǒu"],
			["bù"],
			["jiàn"],
			["wěi"]
		],
		"神龙失埶": [
			["shén"],
			["lóng"],
			["shī"],
			["zhì"]
		],
		"神秘主义": [
			["shén"],
			["mì"],
			["zhǔ"],
			["yì"]
		],
		"神妙莫测": [
			["shén"],
			["miào"],
			["mò"],
			["cè"]
		],
		"神谟远算": [
			["shén"],
			["mó"],
			["yuǎn"],
			["suàn"]
		],
		"神女峰": [
			["shén"],
			["nǚ"],
			["fēng"]
		],
		"神清骨秀": [
			["shén"],
			["qīng"],
			["gǔ"],
			["xiù"]
		],
		"神情不属": [
			["shén"],
			["qíng"],
			["bù"],
			["shǔ"]
		],
		"神情自若": [
			["shén"],
			["qíng"],
			["zì"],
			["ruò"]
		],
		"神区鬼奥": [
			["shén"],
			["qū"],
			["guǐ"],
			["ào"]
		],
		"神丧胆落": [
			["shén"],
			["sàng"],
			["dǎn"],
			["luò"]
		],
		"神色不动": [
			["shén"],
			["sè"],
			["bù"],
			["dòng"]
		],
		"神色不惊": [
			["shén"],
			["sè"],
			["bù"],
			["jīng"]
		],
		"神色自若": [
			["shén"],
			["sè"],
			["zì"],
			["ruò"]
		],
		"神使鬼差": [
			["shén"],
			["shǐ"],
			["guǐ"],
			["chà"]
		],
		"神枢鬼藏": [
			["shén"],
			["shū"],
			["guǐ"],
			["cáng"]
		],
		"神术妙计": [
			["shén"],
			["shù"],
			["miào"],
			["jì"]
		],
		"神思恍惚": [
			["shén"],
			["sī"],
			["huǎng"],
			["hū"]
		],
		"神通广大": [
			["shén"],
			["tōng"],
			["guǎng"],
			["dà"]
		],
		"神头鬼脸": [
			["shén"],
			["tóu"],
			["guǐ"],
			["liǎn"]
		],
		"神头鬼面": [
			["shén"],
			["tóu"],
			["guǐ"],
			["miàn"]
		],
		"神武挂冠": [
			["shén"],
			["wǔ"],
			["guà"],
			["guàn"]
		],
		"神仙会": [
			["shén"],
			["xiān"],
			["huì"]
		],
		"神仙中人": [
			["shén"],
			["xiān"],
			["zhōng"],
			["rén"]
		],
		"神霄绛阙": [
			["shén"],
			["xiāo"],
			["jiàng"],
			["què"]
		],
		"神怿气愉": [
			["shén"],
			["yì"],
			["qì"],
			["yú"]
		],
		"神湛骨寒": [
			["shén"],
			["zhàn"],
			["gǔ"],
			["hán"]
		],
		"神意自若": [
			["shén"],
			["yì"],
			["zì"],
			["ruò"]
		],
		"神志不清": [
			["shén"],
			["zhì"],
			["bù"],
			["qīng"]
		],
		"神州赤县": [
			["shén"],
			["zhōu"],
			["chì"],
			["xiàn"]
		],
		"沈博绝丽": [
			["chén"],
			["bó"],
			["jué"],
			["lì"]
		],
		"沈诗任笔": [
			["shěn"],
			["shī"],
			["rèn"],
			["bǐ"]
		],
		"沈腰潘鬓": [
			["shěn"],
			["yāo"],
			["pān"],
			["bìn"]
		],
		"审几度势": [
			["shěn"],
			["jǐ"],
			["dù"],
			["shì"]
		],
		"审己度人": [
			["shěn"],
			["jǐ"],
			["duó"],
			["rén"]
		],
		"审美观": [
			["shěn"],
			["měi"],
			["guān"]
		],
		"审判长": [
			["shěn"],
			["pàn"],
			["cháng"]
		],
		"审判员": [
			["shěn"],
			["pàn"],
			["yuán"]
		],
		"审时度势": [
			["shěn"],
			["shí"],
			["duó"],
			["shì"]
		],
		"审曲面埶": [
			["shěn"],
			["qǔ"],
			["miàn"],
			["xīn"]
		],
		"审曲面势": [
			["shěn"],
			["qǔ"],
			["miàn"],
			["shì"]
		],
		"肾结石": [
			["shèn"],
			["jié"],
			["shí"]
		],
		"甚而至于": [
			["shèn"],
			["ér"],
			["zhì"],
			["yú"]
		],
		"甚嚣尘上": [
			["shèn"],
			["xiāo"],
			["chén"],
			["shàng"]
		],
		"甚至于": [
			["shèn"],
			["zhì"],
			["yú"]
		],
		"慎终追远": [
			["shèn"],
			["zhōng"],
			["zhuī"],
			["yuǎn"]
		],
		"慎重其事": [
			["shèn"],
			["zhòng"],
			["qí"],
			["shì"]
		],
		"升降舵": [
			["shēng"],
			["jiàng"],
			["duò"]
		],
		"升官发财": [
			["shēng"],
			["guān"],
			["fā"],
			["cái"]
		],
		"升降机": [
			["shēng"],
			["jiàng"],
			["jī"]
		],
		"升山采珠": [
			["shēng"],
			["shān"],
			["cǎi"],
			["zhū"]
		],
		"生不逢时": [
			["shēng"],
			["bù"],
			["féng"],
			["shí"]
		],
		"生不逢辰": [
			["shēng"],
			["bù"],
			["féng"],
			["chén"]
		],
		"生不遇时": [
			["shēng"],
			["bù"],
			["yù"],
			["shí"]
		],
		"生财有道": [
			["shēng"],
			["cái"],
			["yǒu"],
			["dào"]
		],
		"生产关系": [
			["shēng"],
			["chǎn"],
			["guān"],
			["xì"]
		],
		"生产合作社": [
			["shēng"],
			["chǎn"],
			["hé"],
			["zuò"],
			["shè"]
		],
		"生产过剩": [
			["shēng"],
			["chǎn"],
			["guò"],
			["shèng"]
		],
		"生产率": [
			["shēng"],
			["chǎn"],
			["lǜ"]
		],
		"生产能力": [
			["shēng"],
			["chǎn"],
			["néng"],
			["lì"]
		],
		"生长点": [
			["shēng"],
			["zhǎng"],
			["diǎn"]
		],
		"生长激素": [
			["shēng"],
			["zhǎng"],
			["jī"],
			["sù"]
		],
		"生长期": [
			["shēng"],
			["zhǎng"],
			["qī"]
		],
		"生齿日繁": [
			["shēng"],
			["chǐ"],
			["rì"],
			["fán"]
		],
		"生而知之": [
			["shēng"],
			["ér"],
			["zhī"],
			["zhī"]
		],
		"生发未燥": [
			["shēng"],
			["fà"],
			["wèi"],
			["zào"]
		],
		"生公说法": [
			["shēng"],
			["gōng"],
			["shuō"],
			["fǎ"]
		],
		"生机勃勃": [
			["shēng"],
			["jī"],
			["bó"],
			["bó"]
		],
		"生聚教训": [
			["shēng"],
			["jù"],
			["jiào"],
			["xùn"]
		],
		"生拉硬拽": [
			["shēng"],
			["lā"],
			["yìng"],
			["zhuài"]
		],
		"生拉硬扯": [
			["shēng"],
			["lā"],
			["yìng"],
			["chě"]
		],
		"生离死别": [
			["shēng"],
			["lí"],
			["sǐ"],
			["bié"]
		],
		"生闷气": [
			["shēng"],
			["mēn"],
			["qì"]
		],
		"生灵涂地": [
			["shēng"],
			["líng"],
			["tú"],
			["dì"]
		],
		"生气勃勃": [
			["shēng"],
			["qì"],
			["bó"],
			["bó"]
		],
		"生荣死衰": [
			["shēng"],
			["róng"],
			["sǐ"],
			["shuāi"]
		],
		"生杀予夺": [
			["shēng"],
			["shā"],
			["yǔ"],
			["duó"]
		],
		"生生不息": [
			["shēng"],
			["shēng"],
			["bù"],
			["xī"]
		],
		"生生不已": [
			["shēng"],
			["shēng"],
			["bù"],
			["yǐ"]
		],
		"生石灰": [
			["shēng"],
			["shí"],
			["huī"]
		],
		"生石膏": [
			["shēng"],
			["shí"],
			["gāo"]
		],
		"生死不渝": [
			["shēng"],
			["sǐ"],
			["bù"],
			["yú"]
		],
		"生死簿": [
			["shēng"],
			["sǐ"],
			["bù"]
		],
		"生死存亡": [
			["shēng"],
			["sǐ"],
			["cún"],
			["wáng"]
		],
		"生死关头": [
			["shēng"],
			["sǐ"],
			["guān"],
			["tóu"]
		],
		"生死观": [
			["shēng"],
			["sǐ"],
			["guān"]
		],
		"生死肉骨": [
			["shēng"],
			["sǐ"],
			["ròu"],
			["gǔ"]
		],
		"生死未卜": [
			["shēng"],
			["sǐ"],
			["wèi"],
			["bǔ"]
		],
		"生死相依": [
			["shēng"],
			["sǐ"],
			["xiāng"],
			["yī"]
		],
		"生死有命": [
			["shēng"],
			["sǐ"],
			["yǒu"],
			["mìng"]
		],
		"生死与共": [
			["shēng"],
			["sǐ"],
			["yǔ"],
			["gòng"]
		],
		"生死予夺": [
			["shēng"],
			["sǐ"],
			["yǔ"],
			["duó"]
		],
		"生态系统": [
			["shēng"],
			["tài"],
			["xì"],
			["tǒng"]
		],
		"生吞活剥": [
			["shēng"],
			["tūn"],
			["huó"],
			["bō"]
		],
		"生拖死拽": [
			["shēng"],
			["tuō"],
			["sǐ"],
			["zhuāi"]
		],
		"生物化学": [
			["shēng"],
			["wù"],
			["huà"],
			["xué"]
		],
		"生物圈": [
			["shēng"],
			["wù"],
			["quān"]
		],
		"生育率": [
			["shēng"],
			["yù"],
			["lǜ"]
		],
		"生殖器": [
			["shēng"],
			["zhí"],
			["qì"]
		],
		"生众食寡": [
			["shēng"],
			["zhòng"],
			["shí"],
			["guǎ"]
		],
		"声价十倍": [
			["shēng"],
			["jià"],
			["shí"],
			["bèi"]
		],
		"声名狼藉": [
			["shēng"],
			["míng"],
			["láng"],
			["jí"]
		],
		"声名大噪": [
			["shēng"],
			["míng"],
			["dà"],
			["zào"]
		],
		"声气相求": [
			["shēng"],
			["qì"],
			["xiāng"],
			["qiú"]
		],
		"声气相通": [
			["shēng"],
			["qì"],
			["xiāng"],
			["tōng"]
		],
		"声气相投": [
			["shēng"],
			["qì"],
			["xiāng"],
			["tóu"]
		],
		"声情并茂": [
			["shēng"],
			["qíng"],
			["bìng"],
			["mào"]
		],
		"声求气应": [
			["shēng"],
			["qiú"],
			["qì"],
			["yìng"]
		],
		"声威大震": [
			["shēng"],
			["wēi"],
			["dà"],
			["zhèn"]
		],
		"声势浩大": [
			["shēng"],
			["shì"],
			["hào"],
			["dà"]
		],
		"声闻过情": [
			["shēng"],
			["wén"],
			["guò"],
			["qíng"]
		],
		"声应气求": [
			["shēng"],
			["yìng"],
			["qì"],
			["qiú"]
		],
		"胜败乃兵家常事": [
			["shèng"],
			["bài"],
			["nǎi"],
			["bīng"],
			["jiā"],
			["cháng"],
			["shì"]
		],
		"声振屋瓦": [
			["shēng"],
			["zhèn"],
			["wū"],
			["wǎ"]
		],
		"胜读十年书": [
			["shèng"],
			["dú"],
			["shí"],
			["nián"],
			["shū"]
		],
		"胜任愉快": [
			["shèng"],
			["rèn"],
			["yú"],
			["kuài"]
		],
		"笙磬同音": [
			["shēng"],
			["qìng"],
			["tóng"],
			["yīn"]
		],
		"渑池之功": [
			["miǎn"],
			["chí"],
			["zhī"],
			["gōng"]
		],
		"绳床瓦灶": [
			["shéng"],
			["chuáng"],
			["wǎ"],
			["zào"]
		],
		"绳其祖武": [
			["shéng"],
			["qí"],
			["zǔ"],
			["wǔ"]
		],
		"绳愆纠缪": [
			["sheng"],
			["qian"],
			["jiu"],
			["miu"]
		],
		"绳趋尺步": [
			["shéng"],
			["qū"],
			["chǐ"],
			["bù"]
		],
		"省吃俭用": [
			["shěng"],
			["chī"],
			["jiǎn"],
			["yòng"]
		],
		"省烦从简": [
			["shěng"],
			["fán"],
			["cóng"],
			["jiǎn"]
		],
		"省略号": [
			["shěng"],
			["lüè"],
			["hào"]
		],
		"省辖市": [
			["shěng"],
			["xiá"],
			["shì"]
		],
		"省油灯": [
			["shěng"],
			["yóu"],
			["dēng"]
		],
		"圣诞节": [
			["shèng"],
			["dàn"],
			["jié"]
		],
		"圣帝明王": [
			["shèng"],
			["dì"],
			["míng"],
			["wáng"]
		],
		"圣君贤相": [
			["shèng"],
			["jīng"],
			["xián"],
			["xiàng"]
		],
		"圣经贤传": [
			["shèng"],
			["jīng"],
			["xián"],
			["zhuàn"]
		],
		"盛必虑衰": [
			["shèng"],
			["bì"],
			["lǜ"],
			["shuāi"]
		],
		"盛极一时": [
			["shèng"],
			["jí"],
			["yī"],
			["shí"]
		],
		"盛况空前": [
			["shèng"],
			["kuàng"],
			["kōng"],
			["qián"]
		],
		"盛名难副": [
			["shèng"],
			["míng"],
			["nán"],
			["fù"]
		],
		"盛气凌人": [
			["shèng"],
			["qì"],
			["líng"],
			["rén"]
		],
		"盛情难却": [
			["shèng"],
			["qíng"],
			["nán"],
			["què"]
		],
		"盛食厉兵": [
			["shèng"],
			["shí"],
			["lì"],
			["bīng"]
		],
		"盛衰荣辱": [
			["shèng"],
			["shuāi"],
			["róng"],
			["rǔ"]
		],
		"盛衰兴废": [
			["shèng"],
			["shuāi"],
			["xīng"],
			["fèi"]
		],
		"盛水不漏": [
			["chéng"],
			["shuǐ"],
			["bù"],
			["lòu"]
		],
		"盛筵难再": [
			["shèng"],
			["yán"],
			["nán"],
			["zài"]
		],
		"盛宴难再": [
			["shèng"],
			["yàn"],
			["nán"],
			["zài"]
		],
		"盛筵必散": [
			["shèng"],
			["yán"],
			["bì"],
			["sàn"]
		],
		"剩馥残膏": [
			["shèng"],
			["fù"],
			["cán"],
			["gāo"]
		],
		"剩余价值": [
			["shèng"],
			["yú"],
			["jià"],
			["zhí"]
		],
		"尸横遍野": [
			["shī"],
			["héng"],
			["biàn"],
			["yě"]
		],
		"失败为成功之母": [
			["shī"],
			["bài"],
			["wéi"],
			["chéng"],
			["gōng"],
			["zhī"],
			["mǔ"]
		],
		"尸居龙见": [
			["shī"],
			["jū"],
			["lóng"],
			["xiàn"]
		],
		"尸山血海": [
			["shī"],
			["shān"],
			["xuè"],
			["hǎi"]
		],
		"失道寡助": [
			["shī"],
			["dào"],
			["guǎ"],
			["zhù"]
		],
		"失而复得": [
			["shī"],
			["ér"],
			["fù"],
			["de"]
		],
		"失魂落魄": [
			["shī"],
			["hún"],
			["luò"],
			["pò"]
		],
		"失魂丧魄": [
			["shī"],
			["hún"],
			["sàng"],
			["pò"]
		],
		"失魂丧胆": [
			["shī"],
			["hún"],
			["sàng"],
			["dǎn"]
		],
		"失惊打怪": [
			["shī"],
			["jīng"],
			["dǎ"],
			["guài"]
		],
		"失惊倒怪": [
			["shī"],
			["jīng"],
			["dǎo"],
			["guài"]
		],
		"失落感": [
			["shī"],
			["luò"],
			["gǎn"]
		],
		"失精落彩": [
			["shī"],
			["jīng"],
			["luò"],
			["cǎi"]
		],
		"失马塞翁": [
			["shī"],
			["mǎ"],
			["sài"],
			["wēng"]
		],
		"失时落势": [
			["shī"],
			["shí"],
			["luò"],
			["shì"]
		],
		"失语症": [
			["shī"],
			["yǔ"],
			["zhèng"]
		],
		"失张冒势": [
			["shī"],
			["zhāng"],
			["mào"],
			["shì"]
		],
		"失之交臂": [
			["shī"],
			["zhī"],
			["jiāo"],
			["bì"]
		],
		"失诸交臂": [
			["shī"],
			["zhū"],
			["jiāo"],
			["bì"]
		],
		"师出有名": [
			["shī"],
			["chū"],
			["yǒu"],
			["míng"]
		],
		"师范学校": [
			["shī"],
			["fàn"],
			["xué"],
			["xiào"]
		],
		"师直为壮": [
			["shī"],
			["zhí"],
			["wéi"],
			["zhuàng"]
		],
		"虱处裈中": [
			["shī"],
			["chǔ"],
			["kūn"],
			["zhōng"]
		],
		"虱多不痒": [
			["shī"],
			["duō"],
			["bù"],
			["yǎng"]
		],
		"诗家三昧": [
			["shī"],
			["jiā"],
			["sān"],
			["mèi"]
		],
		"诗酒风流": [
			["shī"],
			["jiǔ"],
			["fēng"],
			["liú"]
		],
		"诗礼传家": [
			["shī"],
			["lǐ"],
			["chuán"],
			["jiā"]
		],
		"诗礼人家": [
			["shī"],
			["lǐ"],
			["rén"],
			["jiā"]
		],
		"诗礼之家": [
			["shī"],
			["lǐ"],
			["zhī"],
			["jiā"]
		],
		"诗书发冢": [
			["shī"],
			["shū"],
			["fà"],
			["zhǒng"]
		],
		"诗中有画": [
			["shī"],
			["zhōng"],
			["yǒu"],
			["huà"]
		],
		"施绯拖绿": [
			["shī"],
			["fēi"],
			["tuō"],
			["lǜ"]
		],
		"施而不费": [
			["shī"],
			["ér"],
			["bù"],
			["fèi"]
		],
		"施号发令": [
			["shī"],
			["hào"],
			["fā"],
			["lìng"]
		],
		"施衿结褵": [
			["shī"],
			["jīn"],
			["jié"],
			["lí"]
		],
		"施命发号": [
			["shī"],
			["mìng"],
			["fā"],
			["hào"]
		],
		"施施而行": [
			["shī"],
			["shī"],
			["ér"],
			["xíng"]
		],
		"狮子大开口": [
			["shī"],
			["zī"],
			["dà"],
			["kāi"],
			["kǒu"]
		],
		"狮子会": [
			["shī"],
			["zi"],
			["huì"]
		],
		"狮子头": [
			["shī"],
			["zi"],
			["tóu"]
		],
		"湿度计": [
			["shī"],
			["dù"],
			["jì"]
		],
		"湿淋淋": [
			["shī"],
			["lín"],
			["lín"]
		],
		"湿肉伴干柴": [
			["shī"],
			["ròu"],
			["bàn"],
			["gān"],
			["chái"]
		],
		"十变五化": [
			["shí"],
			["biàn"],
			["wǔ"],
			["huà"]
		],
		"十八层地狱": [
			["shí"],
			["bā"],
			["céng"],
			["dì"],
			["yù"]
		],
		"十不当一": [
			["shí"],
			["bù"],
			["huò"],
			["yī"]
		],
		"十步香车": [
			["shí"],
			["bù"],
			["xiāng"],
			["chē"]
		],
		"十冬腊月": [
			["shí"],
			["dōng"],
			["là"],
			["yuè"]
		],
		"十恶五逆": [
			["shí"],
			["è"],
			["wǔ"],
			["nì"]
		],
		"十恶不赦": [
			["shí"],
			["è"],
			["bù"],
			["shè"]
		],
		"十二分": [
			["shí"],
			["èr"],
			["fēn"]
		],
		"十二个": [
			["shí"],
			["èr"],
			["gè"]
		],
		"十二经脉": [
			["shí"],
			["èr"],
			["jīng"],
			["mài"]
		],
		"十二生肖": [
			["shí"],
			["èr"],
			["shēng"],
			["xiào"]
		],
		"十二万分": [
			["shí"],
			["èr"],
			["wàn"],
			["fēn"]
		],
		"十二属": [
			["shí"],
			["èr"],
			["shǔ"]
		],
		"十发十中": [
			["shí"],
			["fā"],
			["shí"],
			["zhōng"]
		],
		"十风五雨": [
			["shí"],
			["fēng"],
			["wǔ"],
			["yǔ"]
		],
		"十夫桡椎": [
			["shí"],
			["fū"],
			["ráo"],
			["zhuī"]
		],
		"十夫楺椎": [
			["shí"],
			["fū"],
			["zhī"],
			["zhuī"]
		],
		"十寒一暴": [
			["shí"],
			["hán"],
			["yī"],
			["bào"]
		],
		"十浆五馈": [
			["shí"],
			["jiāng"],
			["wǔ"],
			["kuì"]
		],
		"十口相传": [
			["shí"],
			["kǒu"],
			["xiāng"],
			["chuán"]
		],
		"十里长亭": [
			["shí"],
			["lǐ"],
			["cháng"],
			["tíng"]
		],
		"十里洋场": [
			["shí"],
			["lǐ"],
			["yáng"],
			["chǎng"]
		],
		"十六烷值": [
			["shí"],
			["liù"],
			["wán"],
			["zhí"]
		],
		"十面埋伏": [
			["shí"],
			["miàn"],
			["mái"],
			["fú"]
		],
		"十年读书": [
			["shí"],
			["nián"],
			["dú"],
			["shū"]
		],
		"十魔九难": [
			["shí"],
			["mó"],
			["jiǔ"],
			["nàn"]
		],
		"十年九不遇": [
			["shí"],
			["nián"],
			["jiǔ"],
			["bù"],
			["yù"]
		],
		"十年磨剑": [
			["shí"],
			["nián"],
			["mó"],
			["jiàn"]
		],
		"十年内乱": [
			["shí"],
			["nián"],
			["nèi"],
			["luàn"]
		],
		"十亲九故": [
			["shí"],
			["qīn"],
			["jiǔ"],
			["gù"]
		],
		"十亲九眷": [
			["shí"],
			["qīn"],
			["jiǔ"],
			["juàn"]
		],
		"十日并出": [
			["shí"],
			["rì"],
			["bìng"],
			["chū"]
		],
		"十世单传": [
			["shí"],
			["shì"],
			["dān"],
			["chuán"]
		],
		"十室九空": [
			["shí"],
			["shì"],
			["jiǔ"],
			["kōng"]
		],
		"十室九匮": [
			["shí"],
			["shì"],
			["jiǔ"],
			["kuì"]
		],
		"十鼠同穴": [
			["shí"],
			["shǔ"],
			["tóng"],
			["xué"]
		],
		"十死不问": [
			["shí"],
			["sǐ"],
			["bù"],
			["wèn"]
		],
		"十四行诗": [
			["shí"],
			["sì"],
			["háng"],
			["shī"]
		],
		"十万八千里": [
			["shí"],
			["wàn"],
			["bā"],
			["qiān"],
			["lǐ"]
		],
		"十万火急": [
			["shí"],
			["wàn"],
			["huǒ"],
			["jí"]
		],
		"十万火速": [
			["shí"],
			["wàn"],
			["huǒ"],
			["sù"]
		],
		"十行俱下": [
			["shí"],
			["háng"],
			["jù"],
			["xià"]
		],
		"十羊九牧": [
			["shí"],
			["yáng"],
			["jiǔ"],
			["mù"]
		],
		"十有八九": [
			["shí"],
			["yǒu"],
			["bā"],
			["jiǔ"]
		],
		"十雨五风": [
			["shí"],
			["yǔ"],
			["wǔ"],
			["fēng"]
		],
		"十载寒窗": [
			["shí"],
			["zǎi"],
			["hán"],
			["chuāng"]
		],
		"十指有长短": [
			["shí"],
			["zhǐ"],
			["yǒu"],
			["cháng"],
			["duǎn"]
		],
		"十捉九着": [
			["shí"],
			["zhuō"],
			["jiǔ"],
			["zhe"]
		],
		"十转九空": [
			["shí"],
			["zhuǎn"],
			["jiǔ"],
			["kōng"]
		],
		"十字街头": [
			["shí"],
			["zì"],
			["jiē"],
			["tóu"]
		],
		"十字路头": [
			["shí"],
			["zì"],
			["lù"],
			["tóu"]
		],
		"什件儿": [
			["shí"],
			["jiàn"],
			["ér"]
		],
		"什么的": [
			["shén"],
			["me"],
			["de"]
		],
		"什么时候": [
			["shén"],
			["me"],
			["shí"],
			["hòu"]
		],
		"什么事": [
			["shén"],
			["me"],
			["shì"]
		],
		"什围伍攻": [
			["shí"],
			["wéi"],
			["wǔ"],
			["gōng"]
		],
		"什袭而藏": [
			["shí"],
			["xī"],
			["ér"],
			["cáng"]
		],
		"什伍东西": [
			["shí"],
			["wǔ"],
			["dōng"],
			["xī"]
		],
		"什袭以藏": [
			["shí"],
			["xí"],
			["yǐ"],
			["cáng"]
		],
		"什袭珍藏": [
			["shí"],
			["xí"],
			["zhēn"],
			["cáng"]
		],
		"石菖蒲": [
			["shí"],
			["chāng"],
			["pú"]
		],
		"石沉大海": [
			["shí"],
			["chén"],
			["dà"],
			["hǎi"]
		],
		"石城汤池": [
			["shí"],
			["chéng"],
			["tāng"],
			["chí"]
		],
		"石赤不夺": [
			["shí"],
			["chì"],
			["bù"],
			["duó"]
		],
		"石鼓文": [
			["shí"],
			["gǔ"],
			["wén"]
		],
		"石河子市": [
			["shí"],
			["hé"],
			["zǐ"],
			["shì"]
		],
		"石灰石": [
			["shí"],
			["huī"],
			["shí"]
		],
		"石灰水": [
			["shí"],
			["huī"],
			["shuǐ"]
		],
		"石灰岩": [
			["shí"],
			["huī"],
			["yán"]
		],
		"石火电光": [
			["shí"],
			["huǒ"],
			["diàn"],
			["guāng"]
		],
		"石火风灯": [
			["shí"],
			["huǒ"],
			["fēng"],
			["dēng"]
		],
		"石火风烛": [
			["shí"],
			["huǒ"],
			["fēng"],
			["zhú"]
		],
		"石火光阴": [
			["shí"],
			["huǒ"],
			["guāng"],
			["yīn"]
		],
		"石家庄": [
			["shí"],
			["jiā"],
			["zhuāng"]
		],
		"石缄金匮": [
			["shí"],
			["jiān"],
			["jīn"],
			["kuì"]
		],
		"石决明": [
			["shí"],
			["jué"],
			["míng"]
		],
		"石烂海枯": [
			["shí"],
			["làn"],
			["hǎi"],
			["kū"]
		],
		"石烂江枯": [
			["shí"],
			["làn"],
			["jiāng"],
			["kū"]
		],
		"石泐海枯": [
			["shí"],
			["lè"],
			["hǎi"],
			["kū"]
		],
		"石榴花": [
			["shí"],
			["liú"],
			["huā"]
		],
		"石榴裙": [
			["shí"],
			["liú"],
			["qún"]
		],
		"石棉瓦": [
			["shí"],
			["mián"],
			["wǎ"]
		],
		"石脑油": [
			["shí"],
			["nǎo"],
			["yóu"]
		],
		"石破天惊": [
			["shí"],
			["pò"],
			["tiān"],
			["jīng"]
		],
		"石蕊试纸": [
			["shí"],
			["ruǐ"],
			["shì"],
			["zhǐ"]
		],
		"石狮市": [
			["shí"],
			["shī"],
			["shì"]
		],
		"石沈大海": [
			["shí"],
			["shěn"],
			["dà"],
			["hǎi"]
		],
		"石狮子": [
			["shí"],
			["shī"],
			["zi"]
		],
		"石室金匮": [
			["shí"],
			["shì"],
			["jīn"],
			["guì"]
		],
		"石室金鐀": [
			["shí"],
			["shì"],
			["jīn"],
			["guì"]
		],
		"石头城": [
			["shí"],
			["tou"],
			["chéng"]
		],
		"石心木肠": [
			["shí"],
			["xīn"],
			["mù"],
			["cháng"]
		],
		"石英玻璃": [
			["shí"],
			["yīng"],
			["bō"],
			["li"]
		],
		"石英钟": [
			["shí"],
			["yīng"],
			["zhōng"]
		],
		"石尤风": [
			["shí"],
			["yóu"],
			["fēng"]
		],
		"石钟乳": [
			["shí"],
			["zhōng"],
			["rǔ"]
		],
		"石子儿": [
			["shí"],
			["zǐ"],
			["er"]
		],
		"时不可失": [
			["shí"],
			["bù"],
			["kě"],
			["shī"]
		],
		"时不时": [
			["shí"],
			["bù"],
			["shí"]
		],
		"时不我待": [
			["shí"],
			["bù"],
			["wǒ"],
			["dài"]
		],
		"时不我与": [
			["shí"],
			["bù"],
			["wǒ"],
			["yǔ"]
		],
		"时不再来": [
			["shí"],
			["bù"],
			["zài"],
			["lái"]
		],
		"时过境迁": [
			["shí"],
			["guò"],
			["jìng"],
			["qiān"]
		],
		"时和岁丰": [
			["shí"],
			["hé"],
			["suì"],
			["fēng"]
		],
		"时和年丰": [
			["shí"],
			["hé"],
			["nián"],
			["fēng"]
		],
		"时和岁稔": [
			["shí"],
			["hé"],
			["suì"],
			["rěn"]
		],
		"时亨运泰": [
			["shí"],
			["hēng"],
			["yùn"],
			["tai"]
		],
		"时间性": [
			["shí"],
			["jiān"],
			["xìng"]
		],
		"时来运旋": [
			["shí"],
			["lái"],
			["yùn"],
			["xuán"]
		],
		"时来运转": [
			["shí"],
			["lái"],
			["yùn"],
			["zhuǎn"]
		],
		"时令病": [
			["shí"],
			["lìng"],
			["bìng"]
		],
		"时日曷丧": [
			["shí"],
			["rì"],
			["hé"],
			["sàng"]
		],
		"时殊风异": [
			["shí"],
			["shū"],
			["fēng"],
			["yì"]
		],
		"时隐时见": [
			["shí"],
			["yǐn"],
			["shí"],
			["jiàn"]
		],
		"时运不齐": [
			["shí"],
			["yùn"],
			["bù"],
			["jì"]
		],
		"时运亨通": [
			["shí"],
			["yùn"],
			["hēng"],
			["tōng"]
		],
		"识变从宜": [
			["shí"],
			["biàn"],
			["cóng"],
			["yí"]
		],
		"识才尊贤": [
			["shí"],
			["cái"],
			["zūn"],
			["xián"]
		],
		"识大体": [
			["shí"],
			["dà"],
			["tǐ"]
		],
		"识多才广": [
			["shí"],
			["duō"],
			["cái"],
			["guǎng"]
		],
		"识二五而不知十": [
			["shí"],
			["èr"],
			["wǔ"],
			["ér"],
			["bù"],
			["zhī"],
			["shí"]
		],
		"识礼知书": [
			["shí"],
			["lǐ"],
			["zhī"],
			["shū"]
		],
		"识明智审": [
			["shí"],
			["míng"],
			["zhì"],
			["shěn"]
		],
		"识时达变": [
			["shí"],
			["shí"],
			["dá"],
			["biàn"]
		],
		"识时达务": [
			["shí"],
			["shí"],
			["dá"],
			["wù"]
		],
		"识时通变": [
			["shí"],
			["shí"],
			["tōng"],
			["biàn"]
		],
		"识时务": [
			["shí"],
			["shí"],
			["wù"]
		],
		"识途老马": [
			["shí"],
			["tú"],
			["lǎo"],
			["mǎ"]
		],
		"识时务者为俊杰": [
			["shí"],
			["shí"],
			["wù"],
			["zhě"],
			["wéi"],
			["jùn"],
			["jié"]
		],
		"识微见几": [
			["shí"],
			["wēi"],
			["jiàn"],
			["jǐ"]
		],
		"识涂老马": [
			["shí"],
			["tú"],
			["lǎo"],
			["mǎ"]
		],
		"识微见远": [
			["shí"],
			["wēi"],
			["jiàn"],
			["yuǎn"]
		],
		"识微知著": [
			["shí"],
			["wēi"],
			["zhī"],
			["zhuó"]
		],
		"识文断字": [
			["shí"],
			["wén"],
			["duàn"],
			["zì"]
		],
		"识文谈字": [
			["shí"],
			["wén"],
			["tán"],
			["zì"]
		],
		"识字班": [
			["shí"],
			["zì"],
			["bān"]
		],
		"识字知书": [
			["shí"],
			["zì"],
			["zhī"],
			["shū"]
		],
		"实偪处此": [
			["shí"],
			["bèng"],
			["chǔ"],
			["cǐ"]
		],
		"实逼处此": [
			["shí"],
			["bī"],
			["chǔ"],
			["cǐ"]
		],
		"实打实": [
			["shí"],
			["dǎ"],
			["shí"]
		],
		"实蕃有徒": [
			["shí"],
			["fān"],
			["yǒu"],
			["tú"]
		],
		"实繁有徒": [
			["shí"],
			["fán"],
			["yǒu"],
			["tú"]
		],
		"实话实说": [
			["shí"],
			["huà"],
			["shí"],
			["shuō"]
		],
		"实体词": [
			["shí"],
			["tǐ"],
			["cí"]
		],
		"实物地租": [
			["shí"],
			["wù"],
			["dì"],
			["zū"]
		],
		"实业家": [
			["shí"],
			["yè"],
			["jiā"]
		],
		"实与有力": [
			["shí"],
			["yù"],
			["yǒu"],
			["lì"]
		],
		"拾陈蹈故": [
			["shí"],
			["chén"],
			["dǎo"],
			["gù"]
		],
		"拾带重还": [
			["shí"],
			["dài"],
			["zhòng"],
			["huán"]
		],
		"拾掇无遗": [
			["shi"],
			["duo"],
			["wu"],
			["yi"]
		],
		"拾金不昧": [
			["shí"],
			["jīn"],
			["bù"],
			["mèi"]
		],
		"拾人涕唾": [
			["shí"],
			["rén"],
			["tì"],
			["tuò"]
		],
		"拾人唾涕": [
			["shí"],
			["rén"],
			["tuò"],
			["tì"]
		],
		"拾人唾余": [
			["shí"],
			["rén"],
			["tuò"],
			["yú"]
		],
		"拾人牙慧": [
			["shí"],
			["rén"],
			["yá"],
			["huì"]
		],
		"拾遗补阙": [
			["shí"],
			["yí"],
			["bǔ"],
			["quē"]
		],
		"食案方丈": [
			["shí"],
			["àn"],
			["fāng"],
			["zhàng"]
		],
		"食必方丈": [
			["shí"],
			["bì"],
			["fāng"],
			["zhàng"]
		],
		"食辨劳薪": [
			["shí"],
			["biàn"],
			["láo"],
			["xīn"]
		],
		"食不充肠": [
			["shí"],
			["bù"],
			["chōng"],
			["cháng"]
		],
		"食不充口": [
			["shí"],
			["bù"],
			["chōng"],
			["kǒu"]
		],
		"食不充饥": [
			["shí"],
			["bù"],
			["chōng"],
			["jī"]
		],
		"食不二味": [
			["shí"],
			["bù"],
			["èr"],
			["wèi"]
		],
		"食不甘味": [
			["shí"],
			["bù"],
			["gān"],
			["wèi"]
		],
		"食不果腹": [
			["shí"],
			["bù"],
			["guǒ"],
			["fù"]
		],
		"食不餬口": [
			["shí"],
			["bù"],
			["hú"],
			["kǒu"]
		],
		"食不遑味": [
			["shí"],
			["bù"],
			["huáng"],
			["wèi"]
		],
		"食不兼肉": [
			["shí"],
			["bù"],
			["jiān"],
			["ròu"]
		],
		"食不兼味": [
			["shí"],
			["bù"],
			["jiān"],
			["wèi"]
		],
		"食不暇饱": [
			["shí"],
			["bù"],
			["xiá"],
			["bǎo"]
		],
		"食不求甘": [
			["shí"],
			["bù"],
			["qiú"],
			["gān"]
		],
		"食不知味": [
			["shí"],
			["bù"],
			["zhī"],
			["wèi"]
		],
		"食不下咽": [
			["shí"],
			["bù"],
			["xià"],
			["yàn"]
		],
		"食不终味": [
			["shí"],
			["bù"],
			["zhōng"],
			["wèi"]
		],
		"食不重肉": [
			["shí"],
			["bù"],
			["zhóng"],
			["ròu"]
		],
		"食不重味": [
			["shí"],
			["bù"],
			["chóng"],
			["wèi"]
		],
		"食箪浆壶": [
			["shí"],
			["dān"],
			["jiāng"],
			["hú"]
		],
		"食而不化": [
			["shí"],
			["ér"],
			["bù"],
			["huà"]
		],
		"食方于前": [
			["shí"],
			["fāng"],
			["yú"],
			["qián"]
		],
		"食甘寝安": [
			["shí"],
			["gān"],
			["qǐn"],
			["ān"]
		],
		"食甘寝宁": [
			["shí"],
			["gān"],
			["qǐn"],
			["níng"]
		],
		"食古如鲠": [
			["shí"],
			["gǔ"],
			["rú"],
			["gěng"]
		],
		"食古不化": [
			["shí"],
			["gǔ"],
			["bù"],
			["huà"]
		],
		"食藿悬鹑": [
			["shí"],
			["huò"],
			["xuán"],
			["chún"]
		],
		"食饥息劳": [
			["shí"],
			["jī"],
			["xī"],
			["láo"]
		],
		"食不累味": [
			["shí"],
			["bù"],
			["lèi"],
			["wèi"]
		],
		"食马留肝": [
			["shí"],
			["mǎ"],
			["liú"],
			["gān"]
		],
		"食毛践土": [
			["shí"],
			["máo"],
			["jiàn"],
			["tǔ"]
		],
		"食前方丈": [
			["shí"],
			["qián"],
			["fāng"],
			["zhàng"]
		],
		"食亲财黑": [
			["shí"],
			["qīn"],
			["cái"],
			["hēi"]
		],
		"食日万钱": [
			["shí"],
			["rì"],
			["wàn"],
			["qián"]
		],
		"食肉寝皮": [
			["shí"],
			["ròu"],
			["qǐn"],
			["pí"]
		],
		"食少事烦": [
			["shí"],
			["shǎo"],
			["shì"],
			["fán"]
		],
		"食为民天": [
			["shí"],
			["wéi"],
			["mín"],
			["tiān"]
		],
		"食宿相兼": [
			["shí"],
			["sù"],
			["xiāng"],
			["jiān"]
		],
		"食荼卧棘": [
			["shí"],
			["tú"],
			["wò"],
			["jí"]
		],
		"食生不化": [
			["shí"],
			["shēng"],
			["bù"],
			["huà"]
		],
		"食少事繁": [
			["shí"],
			["shǎo"],
			["shì"],
			["fán"]
		],
		"食味方丈": [
			["shí"],
			["wèi"],
			["fāng"],
			["zhàng"]
		],
		"食无求饱": [
			["shí"],
			["wú"],
			["qiú"],
			["bǎo"]
		],
		"食物链": [
			["shí"],
			["wù"],
			["liàn"]
		],
		"食物中毒": [
			["shí"],
			["wù"],
			["zhòng"],
			["dú"]
		],
		"食心虫": [
			["shí"],
			["xīn"],
			["chóng"]
		],
		"食蚁兽": [
			["shí"],
			["yǐ"],
			["shòu"]
		],
		"食言而肥": [
			["shí"],
			["yán"],
			["ér"],
			["féi"]
		],
		"食鱼遇鲭": [
			["shí"],
			["yú"],
			["yù"],
			["qīng"]
		],
		"食玉炊桂": [
			["shí"],
			["yù"],
			["chuī"],
			["guì"]
		],
		"食指大动": [
			["shí"],
			["zhǐ"],
			["dà"],
			["dòng"]
		],
		"食子徇君": [
			["shí"],
			["zǐ"],
			["xùn"],
			["jūn"]
		],
		"食租衣税": [
			["shí"],
			["zū"],
			["yī"],
			["shuì"]
		],
		"史不绝书": [
			["shǐ"],
			["bù"],
			["jué"],
			["shū"]
		],
		"矢不虚发": [
			["shǐ"],
			["bù"],
			["xū"],
			["fā"]
		],
		"矢尽兵穷": [
			["shǐ"],
			["jìn"],
			["bīng"],
			["qióng"]
		],
		"矢口否认": [
			["shǐ"],
			["kǒu"],
			["fǒu"],
			["rèn"]
		],
		"矢石之难": [
			["shǐ"],
			["shí"],
			["zhī"],
			["nán"]
		],
		"矢在弦上": [
			["shǐ"],
			["zài"],
			["xián"],
			["shàng"]
		],
		"矢志不移": [
			["shǐ"],
			["zhì"],
			["bù"],
			["yí"]
		],
		"矢志不渝": [
			["shǐ"],
			["zhì"],
			["bù"],
			["yú"]
		],
		"矢忠不二": [
			["shǐ"],
			["zhōng"],
			["bù"],
			["èr"]
		],
		"豕分蛇断": [
			["shǐ"],
			["fēn"],
			["shé"],
			["duàn"]
		],
		"豕虎传讹": [
			["shǐ"],
			["hǔ"],
			["chuán"],
			["é"]
		],
		"豕交兽畜": [
			["shǐ"],
			["jiāo"],
			["shòu"],
			["chù"]
		],
		"豕突狼奔": [
			["shǐ"],
			["tū"],
			["láng"],
			["bēn"]
		],
		"豕食丐衣": [
			["shǐ"],
			["shí"],
			["gài"],
			["yī"]
		],
		"使臂使指": [
			["shǐ"],
			["bì"],
			["shǐ"],
			["zhǐ"]
		],
		"使不得": [
			["shǐ"],
			["bù"],
			["dé"]
		],
		"使功不如使过": [
			["shǐ"],
			["gōng"],
			["bù"],
			["rú"],
			["shǐ"],
			["guò"]
		],
		"使乖弄巧": [
			["shǐ"],
			["guāi"],
			["nòng"],
			["qiǎo"]
		],
		"使贤任能": [
			["shǐ"],
			["xián"],
			["rèn"],
			["néng"]
		],
		"使心别气": [
			["shǐ"],
			["xīn"],
			["bié"],
			["qì"]
		],
		"使羊将狼": [
			["shǐ"],
			["yáng"],
			["jiàng"],
			["láng"]
		],
		"使用价值": [
			["shǐ"],
			["yòng"],
			["jià"],
			["zhí"]
		],
		"使愚使过": [
			["shǐ"],
			["yú"],
			["shǐ"],
			["guò"]
		],
		"始愿不及此": [
			["shǐ"],
			["yuàn"],
			["bù"],
			["jí"],
			["cǐ"]
		],
		"始终不懈": [
			["shǐ"],
			["zhōng"],
			["bù"],
			["xiè"]
		],
		"始终不易": [
			["shǐ"],
			["zhōng"],
			["bù"],
			["yì"]
		],
		"始终不渝": [
			["shǐ"],
			["zhōng"],
			["bù"],
			["yú"]
		],
		"始终若一": [
			["shǐ"],
			["zhōng"],
			["ruò"],
			["yī"]
		],
		"屎壳郎": [
			["shǐ"],
			["ke"],
			["làng"]
		],
		"屎滚尿流": [
			["shǐ"],
			["gǔn"],
			["niào"],
			["liú"]
		],
		"士大夫": [
			["shì"],
			["dà"],
			["fū"]
		],
		"士死知己": [
			["shì"],
			["sǐ"],
			["zhī"],
			["jǐ"]
		],
		"士可杀不可辱": [
			["shì"],
			["kě"],
			["shā"],
			["bù"],
			["kě"],
			["rǔ"]
		],
		"士为知己者死": [
			["shì"],
			["wèi"],
			["zhī"],
			["jǐ"],
			["zhě"],
			["sǐ"]
		],
		"世风日下": [
			["shì"],
			["fēng"],
			["rì"],
			["xià"]
		],
		"世纪末": [
			["shì"],
			["jì"],
			["mò"]
		],
		"世济其美": [
			["shì"],
			["jì"],
			["qí"],
			["měi"]
		],
		"世界大学生运动会": [
			["shì"],
			["jiè"],
			["dà"],
			["xué"],
			["shēng"],
			["yùn"],
			["dòng"],
			["huì"]
		],
		"世界观": [
			["shì"],
			["jiè"],
			["guān"]
		],
		"世界语": [
			["shì"],
			["jiè"],
			["yǔ"]
		],
		"世上无难事": [
			["shì"],
			["shàng"],
			["wú"],
			["nán"],
			["shì"]
		],
		"世态炎凉": [
			["shì"],
			["tài"],
			["yán"],
			["liáng"]
		],
		"世俗之见": [
			["shì"],
			["sú"],
			["zhī"],
			["jiàn"]
		],
		"世掌丝纶": [
			["shì"],
			["zhǎng"],
			["sī"],
			["lún"]
		],
		"市不二价": [
			["shì"],
			["bù"],
			["èr"],
			["jià"]
		],
		"仕女图": [
			["shì"],
			["nǚ"],
			["tú"]
		],
		"市场调节": [
			["shì"],
			["chǎng"],
			["tiáo"],
			["jié"]
		],
		"市场机制": [
			["shì"],
			["chǎng"],
			["jī"],
			["zhì"]
		],
		"市场经济": [
			["shì"],
			["chǎng"],
			["jīng"],
			["jì"]
		],
		"市场体系": [
			["shì"],
			["chǎng"],
			["tǐ"],
			["xì"]
		],
		"市场信息": [
			["shì"],
			["chǎng"],
			["xìn"],
			["xī"]
		],
		"市无二价": [
			["shì"],
			["wú"],
			["èr"],
			["jià"]
		],
		"市中心": [
			["shì"],
			["zhōng"],
			["xīn"]
		],
		"事必躬亲": [
			["shì"],
			["bì"],
			["gōng"],
			["qīn"]
		],
		"事不关己": [
			["shì"],
			["bù"],
			["guān"],
			["jǐ"]
		],
		"事不过三": [
			["shì"],
			["bù"],
			["guò"],
			["sān"]
		],
		"事不师古": [
			["shì"],
			["bù"],
			["shī"],
			["gǔ"]
		],
		"事不宜迟": [
			["shì"],
			["bù"],
			["yí"],
			["chí"]
		],
		"事不有余": [
			["shì"],
			["bù"],
			["yǒu"],
			["yú"]
		],
		"事出有因": [
			["shì"],
			["chū"],
			["yǒu"],
			["yīn"]
		],
		"事过景迁": [
			["shì"],
			["guò"],
			["jǐng"],
			["qiān"]
		],
		"事过境迁": [
			["shì"],
			["guò"],
			["jìng"],
			["qiān"]
		],
		"事核言直": [
			["shì"],
			["hé"],
			["yán"],
			["zhí"]
		],
		"事过情迁": [
			["shì"],
			["guò"],
			["qíng"],
			["qiān"]
		],
		"事后诸葛亮": [
			["shì"],
			["hòu"],
			["zhū"],
			["gé"],
			["liàng"]
		],
		"事齐事楚": [
			["shì"],
			["qí"],
			["shì"],
			["chǔ"]
		],
		"事实上": [
			["shì"],
			["shí"],
			["shàng"]
		],
		"事危累卵": [
			["shì"],
			["wēi"],
			["lèi"],
			["luǎn"]
		],
		"事无大小": [
			["shì"],
			["wú"],
			["dà"],
			["xiǎo"]
		],
		"事无三不成": [
			["shì"],
			["wú"],
			["sān"],
			["bù"],
			["chéng"]
		],
		"事务员": [
			["shì"],
			["wù"],
			["yuán"]
		],
		"事业单位": [
			["shì"],
			["yè"],
			["dān"],
			["wèi"]
		],
		"事与心违": [
			["shì"],
			["yù"],
			["xīn"],
			["wéi"]
		],
		"事与原违": [
			["shì"],
			["yǔ"],
			["yuán"],
			["wéi"]
		],
		"事与愿违": [
			["shì"],
			["yǔ"],
			["yuàn"],
			["wéi"]
		],
		"事在必行": [
			["shì"],
			["zài"],
			["bì"],
			["xíng"]
		],
		"事在人为": [
			["shì"],
			["zài"],
			["rén"],
			["wéi"]
		],
		"侍应生": [
			["shì"],
			["yìng"],
			["shēng"]
		],
		"侍执巾节": [
			["shì"],
			["zhí"],
			["jīn"],
			["jié"]
		],
		"势不可当": [
			["shì"],
			["bù"],
			["kě"],
			["dāng"]
		],
		"势不可挡": [
			["shì"],
			["bù"],
			["kě"],
			["dǎng"]
		],
		"势不可遏": [
			["shì"],
			["bù"],
			["kě"],
			["è"]
		],
		"势不两存": [
			["shì"],
			["bù"],
			["liǎng"],
			["cún"]
		],
		"势不两立": [
			["shì"],
			["bù"],
			["liǎng"],
			["lì"]
		],
		"势孤力薄": [
			["shì"],
			["gū"],
			["lì"],
			["báo"]
		],
		"势合形离": [
			["shì"],
			["hé"],
			["xíng"],
			["lí"]
		],
		"势倾朝野": [
			["shì"],
			["qīng"],
			["cháo"],
			["yě"]
		],
		"势如劈竹": [
			["shì"],
			["rú"],
			["pī"],
			["zhú"]
		],
		"势焰熏天": [
			["shì"],
			["yàn"],
			["xūn"],
			["tiān"]
		],
		"势若脱兔": [
			["shì"],
			["ruò"],
			["tuō"],
			["tù"]
		],
		"势在必行": [
			["shì"],
			["zài"],
			["bì"],
			["xíng"]
		],
		"视而不见": [
			["shì"],
			["ér"],
			["bù"],
			["jiàn"]
		],
		"视丹如绿": [
			["shì"],
			["dān"],
			["rú"],
			["lǜ"]
		],
		"视如草芥": [
			["shì"],
			["rú"],
			["cǎo"],
			["jiè"]
		],
		"视如寇仇": [
			["shì"],
			["rú"],
			["kòu"],
			["chóu"]
		],
		"视如土芥": [
			["shì"],
			["rú"],
			["tǔ"],
			["jiè"]
		],
		"视若儿戏": [
			["shì"],
			["ruò"],
			["ér"],
			["xì"]
		],
		"视若路人": [
			["shì"],
			["ruò"],
			["lù"],
			["rén"]
		],
		"视若无睹": [
			["shì"],
			["ruò"],
			["wú"],
			["dǔ"]
		],
		"视死若归": [
			["shì"],
			["sǐ"],
			["ruò"],
			["guī"]
		],
		"视死若生": [
			["shì"],
			["sǐ"],
			["ruò"],
			["shēng"]
		],
		"视同儿戏": [
			["shì"],
			["tóng"],
			["ér"],
			["xì"]
		],
		"视同拱璧": [
			["shì"],
			["tóng"],
			["gǒng"],
			["bì"]
		],
		"视同陌路": [
			["shì"],
			["tóng"],
			["mò"],
			["lù"]
		],
		"视同路人": [
			["shì"],
			["tóng"],
			["lù"],
			["rén"]
		],
		"视同秦越": [
			["shì"],
			["tóng"],
			["qín"],
			["yuè"]
		],
		"视同一律": [
			["shì"],
			["tóng"],
			["yī"],
			["lǜ"]
		],
		"视微知著": [
			["shì"],
			["wēi"],
			["zhī"],
			["zhuó"]
		],
		"视为儿戏": [
			["shì"],
			["wéi"],
			["ér"],
			["xì"]
		],
		"视为寇雠": [
			["shì"],
			["wéi"],
			["kòu"],
			["chóu"]
		],
		"视为畏途": [
			["shì"],
			["wéi"],
			["wèi"],
			["tú"]
		],
		"视为知己": [
			["shì"],
			["wéi"],
			["zhī"],
			["jǐ"]
		],
		"视险若夷": [
			["shì"],
			["xiǎn"],
			["ruò"],
			["yí"]
		],
		"视远步高": [
			["shì"],
			["yuǎn"],
			["bù"],
			["gāo"]
		],
		"试金石": [
			["shì"],
			["jīn"],
			["shí"]
		],
		"饰非遂过": [
			["shì"],
			["fēi"],
			["suí"],
			["guò"]
		],
		"饰非文过": [
			["shì"],
			["fēi"],
			["wén"],
			["guò"]
		],
		"饰非掩过": [
			["shì"],
			["fēi"],
			["yǎn"],
			["guò"]
		],
		"饰非养过": [
			["shì"],
			["fēi"],
			["yǎng"],
			["guò"]
		],
		"饰怪装奇": [
			["shì"],
			["guài"],
			["zhuāng"],
			["qí"]
		],
		"饰情矫行": [
			["shì"],
			["qíng"],
			["jiǎo"],
			["xíng"]
		],
		"饰智矜愚": [
			["shì"],
			["zhì"],
			["jīn"],
			["yú"]
		],
		"室迩人远": [
			["shì"],
			["ěr"],
			["rén"],
			["yuǎn"]
		],
		"室如县罄": [
			["shì"],
			["rú"],
			["xiàn"],
			["qìng"]
		],
		"恃强凌弱": [
			["shì"],
			["qiáng"],
			["líng"],
			["ruò"]
		],
		"拭目以待": [
			["shì"],
			["mù"],
			["yǐ"],
			["dài"]
		],
		"拭目而待": [
			["shì"],
			["mù"],
			["ér"],
			["dài"]
		],
		"拭目以俟": [
			["shì"],
			["mù"],
			["yǐ"],
			["sì"]
		],
		"是不是": [
			["shì"],
			["bú"],
			["shì"]
		],
		"是非得失": [
			["shì"],
			["fēi"],
			["dé"],
			["shī"]
		],
		"是非颠倒": [
			["shì"],
			["fēi"],
			["diān"],
			["dǎo"]
		],
		"是非分明": [
			["shì"],
			["fēi"],
			["fēn"],
			["míng"]
		],
		"是非曲直": [
			["shì"],
			["fēi"],
			["qǔ"],
			["zhí"]
		],
		"是非只为多开口": [
			["shì"],
			["fēi"],
			["zhī"],
			["wèi"],
			["duō"],
			["kāi"],
			["kǒu"]
		],
		"是非自有公论": [
			["shì"],
			["fēi"],
			["zì"],
			["yǒu"],
			["gōng"],
			["lùn"]
		],
		"适当其冲": [
			["shì"],
			["dāng"],
			["qí"],
			["chōng"]
		],
		"适当其时": [
			["shì"],
			["dāng"],
			["qí"],
			["shí"]
		],
		"适得其反": [
			["shì"],
			["dé"],
			["qí"],
			["fǎn"]
		],
		"适逢其会": [
			["shì"],
			["féng"],
			["qí"],
			["huì"]
		],
		"适逢其时": [
			["shì"],
			["féng"],
			["qí"],
			["shí"]
		],
		"适居其反": [
			["shì"],
			["jú"],
			["qí"],
			["fǎn"]
		],
		"适可而止": [
			["shì"],
			["kě"],
			["ér"],
			["zhǐ"]
		],
		"适情率意": [
			["shì"],
			["qíng"],
			["shuài"],
			["yì"]
		],
		"适情任欲": [
			["shì"],
			["qíng"],
			["rèn"],
			["yù"]
		],
		"适如其分": [
			["shì"],
			["rú"],
			["qí"],
			["fèn"]
		],
		"适时应务": [
			["shì"],
			["shí"],
			["yīng"],
			["wù"]
		],
		"适性任情": [
			["shì"],
			["xìng"],
			["rèn"],
			["qíng"]
		],
		"适以相成": [
			["shì"],
			["yǐ"],
			["xiāng"],
			["chéng"]
		],
		"适应症": [
			["shì"],
			["yìng"],
			["zhèng"]
		],
		"舐皮论骨": [
			["shì"],
			["pí"],
			["lùn"],
			["gǔ"]
		],
		"逝将去汝": [
			["shì"],
			["jiāng"],
			["qù"],
			["rǔ"]
		],
		"释迦牟尼": [
			["shì"],
			["jiā"],
			["mù"],
			["ní"]
		],
		"释知遗形": [
			["shì"],
			["shì"],
			["yí"],
			["xíng"]
		],
		"誓不罢休": [
			["shì"],
			["bù"],
			["bà"],
			["xiū"]
		],
		"誓不两立": [
			["shì"],
			["bù"],
			["liǎng"],
			["lì"]
		],
		"誓死不二": [
			["shì"],
			["sǐ"],
			["bù"],
			["èr"]
		],
		"誓死不贰": [
			["shì"],
			["sǐ"],
			["bù"],
			["èr"]
		],
		"誓死不屈": [
			["shì"],
			["sǐ"],
			["bù"],
			["qū"]
		],
		"誓死不渝": [
			["shì"],
			["sǐ"],
			["bù"],
			["yú"]
		],
		"誓天断发": [
			["shì"],
			["tiān"],
			["duàn"],
			["fā"]
		],
		"誓同生死": [
			["shì"],
			["tóng"],
			["shēng"],
			["sǐ"]
		],
		"噬菌体": [
			["shì"],
			["jūn"],
			["tǐ"]
		],
		"噬脐何及": [
			["shì"],
			["qí"],
			["hé"],
			["jí"]
		],
		"噬脐莫及": [
			["shì"],
			["qí"],
			["mò"],
			["jí"]
		],
		"螫手解腕": [
			["shì"],
			["shǒu"],
			["jǐe"],
			["wǎn"]
		],
		"收藏家": [
			["shōu"],
			["cáng"],
			["jiā"]
		],
		"收离纠散": [
			["shōu"],
			["lí"],
			["jiū"],
			["sàn"]
		],
		"收离聚散": [
			["shōu"],
			["lí"],
			["jù"],
			["sàn"]
		],
		"收锣罢鼓": [
			["shōu"],
			["luó"],
			["bà"],
			["gǔ"]
		],
		"收旗卷伞": [
			["shōu"],
			["qí"],
			["juàn"],
			["sǎn"]
		],
		"收因结果": [
			["shōu"],
			["yīn"],
			["jié"],
			["guǒ"]
		],
		"收因种果": [
			["shōu"],
			["yīn"],
			["zhǒng"],
			["guǒ"]
		],
		"收园结果": [
			["shōu"],
			["yuán"],
			["jié"],
			["guǒ"]
		],
		"手不释书": [
			["shǒu"],
			["bù"],
			["shì"],
			["shū"]
		],
		"收缘结果": [
			["shōu"],
			["yuán"],
			["jié"],
			["guǒ"]
		],
		"手不释卷": [
			["shǒu"],
			["bù"],
			["shì"],
			["juàn"]
		],
		"手不停毫": [
			["shǒu"],
			["bù"],
			["tíng"],
			["háo"]
		],
		"手不停挥": [
			["shǒu"],
			["bù"],
			["tíng"],
			["huī"]
		],
		"手不应心": [
			["shǒu"],
			["bù"],
			["yīng"],
			["xīn"]
		],
		"手底下": [
			["shǒu"],
			["dǐ"],
			["xià"]
		],
		"手风琴": [
			["shǒu"],
			["fēng"],
			["qín"]
		],
		"手脚干净": [
			["shǒu"],
			["jiǎo"],
			["gàn"],
			["jìng"]
		],
		"手榴弹": [
			["shǒu"],
			["liú"],
			["dàn"]
		],
		"手提包": [
			["shǒu"],
			["tí"],
			["bāo"]
		],
		"手提箱": [
			["shǒu"],
			["tí"],
			["xiāng"]
		],
		"手推车": [
			["shǒu"],
			["tuī"],
			["chē"]
		],
		"手写体": [
			["shǒu"],
			["xiě"],
			["tǐ"]
		],
		"手泽之遗": [
			["shǒu"],
			["zé"],
			["zhī"],
			["yí"]
		],
		"手足异处": [
			["shǒu"],
			["zú"],
			["yì"],
			["chǔ"]
		],
		"手足重茧": [
			["shǒu"],
			["zú"],
			["chóng"],
			["jiǎn"]
		],
		"守分安常": [
			["shǒu"],
			["fēn"],
			["ān"],
			["cháng"]
		],
		"守节不移": [
			["shǒu"],
			["jié"],
			["bù"],
			["yí"]
		],
		"守门员": [
			["shǒu"],
			["mén"],
			["yuán"]
		],
		"守阙抱残": [
			["shǒu"],
			["què"],
			["bào"],
			["cán"]
		],
		"守土有责": [
			["shǒu"],
			["tǔ"],
			["yǒu"],
			["zé"]
		],
		"守望相助": [
			["shǒu"],
			["wàng"],
			["xiāng"],
			["zhù"]
		],
		"守先待后": [
			["shǒu"],
			["xiān"],
			["dài"],
			["hòu"]
		],
		"守正不阿": [
			["shǒu"],
			["zhèng"],
			["bù"],
			["ē"]
		],
		"守正不回": [
			["shǒu"],
			["zhèng"],
			["bù"],
			["huí"]
		],
		"守约施搏": [
			["shǒu"],
			["yuē"],
			["shī"],
			["bó"]
		],
		"守正不桡": [
			["shǒu"],
			["zhèng"],
			["bù"],
			["ráo"]
		],
		"守正不挠": [
			["shǒu"],
			["zhèng"],
			["bù"],
			["náo"]
		],
		"守株待兔": [
			["shǒu"],
			["zhū"],
			["dài"],
			["tù"]
		],
		"首当其冲": [
			["shǒu"],
			["dāng"],
			["qí"],
			["chōng"]
		],
		"首善之地": [
			["shǒu"],
			["shàn"],
			["zhī"],
			["dì"]
		],
		"首善之区": [
			["shǒu"],
			["shàn"],
			["zhī"],
			["qū"]
		],
		"首身分离": [
			["shǒu"],
			["shēn"],
			["fēn"],
			["lí"]
		],
		"首尾共济": [
			["shǒu"],
			["wěi"],
			["gòng"],
			["jì"]
		],
		"首尾两端": [
			["shǒu"],
			["wěi"],
			["liǎng"],
			["duān"]
		],
		"首尾相继": [
			["shǒu"],
			["wěi"],
			["xiāng"],
			["jì"]
		],
		"首尾相连": [
			["shǒu"],
			["wěi"],
			["xiāng"],
			["lián"]
		],
		"首尾相卫": [
			["shǒu"],
			["wěi"],
			["xiāng"],
			["wèi"]
		],
		"首尾相应": [
			["shǒu"],
			["wěi"],
			["xiāng"],
			["yìng"]
		],
		"首尾相援": [
			["shǒu"],
			["wěi"],
			["xiāng"],
			["yuán"]
		],
		"首足异处": [
			["shǒu"],
			["zú"],
			["yì"],
			["chǔ"]
		],
		"寿比南山": [
			["shòu"],
			["bǐ"],
			["nán"],
			["shān"]
		],
		"寿不压职": [
			["shòu"],
			["bù"],
			["yā"],
			["zhí"]
		],
		"寿山石": [
			["shòu"],
			["shān"],
			["shí"]
		],
		"寿元无量": [
			["shòu"],
			["yuán"],
			["wú"],
			["liàng"]
		],
		"寿终正寝": [
			["shòu"],
			["zhōng"],
			["zhèng"],
			["qǐn"]
		],
		"受宠若惊": [
			["shòu"],
			["chǒng"],
			["ruò"],
			["jīng"]
		],
		"兽聚鸟散": [
			["shòu"],
			["jù"],
			["niǎo"],
			["sàn"]
		],
		"售货员": [
			["shòu"],
			["huò"],
			["yuán"]
		],
		"授受不亲": [
			["shòu"],
			["shòu"],
			["bù"],
			["qīn"]
		],
		"授业解惑": [
			["shòu"],
			["yè"],
			["jiě"],
			["huò"]
		],
		"瘦高挑儿": [
			["shòu"],
			["gāo"],
			["tiǎo"],
			["ér"]
		],
		"瘦骨嶙嶙": [
			["shòu"],
			["gǔ"],
			["lín"],
			["lín"]
		],
		"瘦骨嶙峋": [
			["shòu"],
			["gǔ"],
			["lí"],
			["xún"]
		],
		"瘦骨梭棱": [
			["shòu"],
			["gǔ"],
			["léng"],
			["léng"]
		],
		"瘦骨如柴": [
			["shòu"],
			["gǔ"],
			["rú"],
			["chái"]
		],
		"瘦羊博士": [
			["shòu"],
			["yáng"],
			["bó"],
			["shì"]
		],
		"书不尽言": [
			["shū"],
			["bù"],
			["jìn"],
			["yán"]
		],
		"书不释手": [
			["shū"],
			["bù"],
			["shì"],
			["shǒu"]
		],
		"书不尽意": [
			["shū"],
			["bù"],
			["jìn"],
			["yì"]
		],
		"书读五车": [
			["shū"],
			["dú"],
			["wǔ"],
			["chē"]
		],
		"书空咄咄": [
			["shū"],
			["kōng"],
			["duō"],
			["duō"]
		],
		"书面语": [
			["shū"],
			["miàn"],
			["yǔ"]
		],
		"书囊无底": [
			["shū"],
			["náng"],
			["wú"],
			["dǐ"]
		],
		"书缺有间": [
			["shū"],
			["quē"],
			["yǒu"],
			["jiàn"]
		],
		"书卷气": [
			["shū"],
			["juàn"],
			["qì"]
		],
		"书香人家": [
			["shū"],
			["xiāng"],
			["rén"],
			["jiā"]
		],
		"书名号": [
			["shū"],
			["míng"],
			["hào"]
		],
		"书生之见": [
			["shū"],
			["shēng"],
			["zhī"],
			["jiàn"]
		],
		"书香世家": [
			["shū"],
			["xiāng"],
			["shì"],
			["jiā"]
		],
		"叔度陂湖": [
			["shū"],
			["dù"],
			["bēi"],
			["hú"]
		],
		"倏忽之间": [
			["shū"],
			["hū"],
			["zhī"],
			["jiān"]
		],
		"殊不知": [
			["shū"],
			["bù"],
			["zhī"]
		],
		"殊方同致": [
			["shū"],
			["fāng"],
			["tóng"],
			["zhì"]
		],
		"殊路同归": [
			["shū"],
			["lù"],
			["tóng"],
			["guī"]
		],
		"殊涂同归": [
			["shū"],
			["tú"],
			["tóng"],
			["guī"]
		],
		"殊涂同会": [
			["shū"],
			["tú"],
			["tóng"],
			["huì"]
		],
		"殊涂同致": [
			["shū"],
			["tú"],
			["tóng"],
			["zhì"]
		],
		"殊途同归": [
			["shū"],
			["tú"],
			["tóng"],
			["guī"]
		],
		"殊致同归": [
			["shū"],
			["zhì"],
			["tóng"],
			["guī"]
		],
		"殊言别语": [
			["shū"],
			["yán"],
			["bié"],
			["yǔ"]
		],
		"梳妆打扮": [
			["shū"],
			["zhuāng"],
			["dǎ"],
			["bàn"]
		],
		"疏不间亲": [
			["shū"],
			["bù"],
			["jiàn"],
			["qīn"]
		],
		"疏财重义": [
			["shū"],
			["cái"],
			["zhòng"],
			["yì"]
		],
		"疏而不漏": [
			["shū"],
			["ér"],
			["bù"],
			["lòu"]
		],
		"疏忽大意": [
			["shū"],
			["hū"],
			["dà"],
			["yì"]
		],
		"舒头探脑": [
			["shū"],
			["tóu"],
			["tàn"],
			["nǎo"]
		],
		"输财助边": [
			["shū"],
			["cái"],
			["zhù"],
			["biān"]
		],
		"输尿管": [
			["shū"],
			["niào"],
			["guǎn"]
		],
		"输心服意": [
			["shū"],
			["xīn"],
			["fú"],
			["yì"]
		],
		"熟读深思": [
			["shú"],
			["dú"],
			["shēn"],
			["sī"]
		],
		"熟路轻车": [
			["shú"],
			["lù"],
			["qīng"],
			["chē"]
		],
		"熟能生巧": [
			["shú"],
			["néng"],
			["shēng"],
			["qiǎo"]
		],
		"熟石膏": [
			["shú"],
			["shí"],
			["gāo"]
		],
		"熟石灰": [
			["shú"],
			["shí"],
			["huī"]
		],
		"熟思审处": [
			["shú"],
			["sī"],
			["shěn"],
			["chǔ"]
		],
		"暑雨祁寒": [
			["shǔ"],
			["yǔ"],
			["qí"],
			["hán"]
		],
		"鼠臂虮肝": [
			["shǔ"],
			["bì"],
			["jǐ"],
			["gān"]
		],
		"鼠窜狼奔": [
			["shǔ"],
			["cuàn"],
			["láng"],
			["bēn"]
		],
		"鼠肚鸡肠": [
			["shǔ"],
			["dù"],
			["jī"],
			["cháng"]
		],
		"鼠肝虫臂": [
			["shǔ"],
			["gān"],
			["chóng"],
			["bì"]
		],
		"鼠目獐头": [
			["shǔ"],
			["mù"],
			["zhāng"],
			["tóu"]
		],
		"鼠目麞头": [
			["shǔ"],
			["mù"],
			["zhāng"],
			["tóu"]
		],
		"鼠雀之牙": [
			["shǔ"],
			["què"],
			["zhī"],
			["yá"]
		],
		"鼠雀之辈": [
			["shǔ"],
			["què"],
			["zhī"],
			["bèi"]
		],
		"鼠入牛角": [
			["shǔ"],
			["rù"],
			["niú"],
			["jiǎo"]
		],
		"鼠穴寻羊": [
			["shǔ"],
			["xué"],
			["xún"],
			["yáng"]
		],
		"鼠牙雀角": [
			["shǔ"],
			["yá"],
			["què"],
			["jiǎo"]
		],
		"薯莨绸": [
			["shǔ"],
			["liáng"],
			["chóu"]
		],
		"束椽为柱": [
			["shù"],
			["chuán"],
			["wéi"],
			["zhù"]
		],
		"束发封帛": [
			["shù"],
			["fā"],
			["fēng"],
			["bó"]
		],
		"束带结发": [
			["shù"],
			["dài"],
			["jié"],
			["fā"]
		],
		"束戈卷甲": [
			["shù"],
			["gē"],
			["juàn"],
			["jiǎ"]
		],
		"束广就狭": [
			["shù"],
			["guǎng"],
			["jiù"],
			["xiá"]
		],
		"束教管闻": [
			["shù"],
			["jiào"],
			["guǎn"],
			["wén"]
		],
		"束马县车": [
			["shù"],
			["mǎ"],
			["xiàn"],
			["chē"]
		],
		"束马悬车": [
			["shù"],
			["mǎ"],
			["xuán"],
			["chē"]
		],
		"束蒲为脯": [
			["shù"],
			["pú"],
			["wéi"],
			["pú"]
		],
		"束上起下": [
			["shù"],
			["shàng"],
			["qǐ"],
			["xià"]
		],
		"束身自好": [
			["shù"],
			["shēn"],
			["zì"],
			["hào"]
		],
		"束手待毙": [
			["shù"],
			["shǒu"],
			["dài"],
			["bì"]
		],
		"束手待死": [
			["shù"],
			["shǒu"],
			["dài"],
			["sǐ"]
		],
		"束手旁观": [
			["shù"],
			["shǒu"],
			["páng"],
			["guān"]
		],
		"束手无术": [
			["shù"],
			["shǒu"],
			["wú"],
			["shù"]
		],
		"束修自好": [
			["shù"],
			["xiū"],
			["zì"],
			["hǎo"]
		],
		"束缊举火": [
			["shù"],
			["yūn"],
			["jǔ"],
			["huǒ"]
		],
		"束缊还妇": [
			["shù"],
			["yūn"],
			["huán"],
			["fù"]
		],
		"束缊请火": [
			["shù"],
			["yùn"],
			["qǐng"],
			["huǒ"]
		],
		"述而不作": [
			["shù"],
			["ér"],
			["bù"],
			["zuò"]
		],
		"树碑立传": [
			["shù"],
			["bēi"],
			["lì"],
			["zhuàn"]
		],
		"树大根深": [
			["shù"],
			["dà"],
			["gēn"],
			["shēn"]
		],
		"树大招风": [
			["shù"],
			["dà"],
			["zhāo"],
			["fēng"]
		],
		"树倒根摧": [
			["shù"],
			["dǎo"],
			["gēn"],
			["cuī"]
		],
		"树倒猢孙散": [
			["shù"],
			["dǎo"],
			["hú"],
			["sūn"],
			["sàn"]
		],
		"树倒猢狲散": [
			["shù"],
			["dǎo"],
			["hú"],
			["sūn"],
			["sàn"]
		],
		"树高招风": [
			["shù"],
			["gāo"],
			["zhāo"],
			["fēng"]
		],
		"树上开花": [
			["shù"],
			["shàng"],
			["kāi"],
			["huā"]
		],
		"树俗立化": [
			["shù"],
			["sú"],
			["lì"],
			["huà"]
		],
		"树同拔异": [
			["shù"],
			["tóng"],
			["bá"],
			["yì"]
		],
		"树欲静而风不宁": [
			["shù"],
			["yù"],
			["jìng"],
			["ér"],
			["fēng"],
			["bù"],
			["níng"]
		],
		"树欲静而风不停": [
			["shù"],
			["yù"],
			["jìng"],
			["ér"],
			["fēng"],
			["bù"],
			["tíng"]
		],
		"树欲静而风不止": [
			["shù"],
			["yù"],
			["jìng"],
			["ér"],
			["fēng"],
			["bù"],
			["zhǐ"]
		],
		"树欲息而风不停": [
			["shù"],
			["yù"],
			["xī"],
			["ér"],
			["fēng"],
			["bù"],
			["tíng"]
		],
		"恕不奉陪": [
			["shù"],
			["bù"],
			["fèng"],
			["péi"]
		],
		"数白论黄": [
			["shǔ"],
			["bái"],
			["lùn"],
			["huáng"]
		],
		"数不清": [
			["shǔ"],
			["bù"],
			["qīng"]
		],
		"数不胜数": [
			["shǔ"],
			["bù"],
			["shèng"],
			["shǔ"]
		],
		"数不着": [
			["shǔ"],
			["bù"],
			["zháo"]
		],
		"数得上": [
			["shǔ"],
			["děi"],
			["shàng"]
		],
		"数得着": [
			["shǔ"],
			["de"],
			["zháo"]
		],
		"数典忘祖": [
			["shǔ"],
			["diǎn"],
			["wàng"],
			["zǔ"]
		],
		"数短论长": [
			["shǔ"],
			["duǎn"],
			["lùn"],
			["cháng"]
		],
		"数黑论白": [
			["shù"],
			["hēi"],
			["lùn"],
			["bái"]
		],
		"数黑论黄": [
			["shǔ"],
			["hēi"],
			["lùn"],
			["huáng"]
		],
		"数黄道白": [
			["shù"],
			["huáng"],
			["dào"],
			["bái"]
		],
		"数黄道黑": [
			["shu"],
			["huang"],
			["dao"],
			["hei"]
		],
		"数见不鲜": [
			["shuò"],
			["jiàn"],
			["bù"],
			["xiān"]
		],
		"数九寒天": [
			["shǔ"],
			["jiǔ"],
			["hán"],
			["tiān"]
		],
		"数据库": [
			["shù"],
			["jù"],
			["kù"]
		],
		"数来宝": [
			["shǔ"],
			["lái"],
			["bǎo"]
		],
		"数理逻辑": [
			["shù"],
			["lǐ"],
			["luó"],
			["ji"]
		],
		"数量词": [
			["shù"],
			["liàng"],
			["cí"]
		],
		"数米量柴": [
			["shǔ"],
			["mǐ"],
			["ér"],
			["chái"]
		],
		"数往知来": [
			["shǔ"],
			["wǎng"],
			["zhī"],
			["lái"]
		],
		"数米而炊": [
			["shǔ"],
			["mǐ"],
			["ér"],
			["chuī"]
		],
		"数一数二": [
			["shǔ"],
			["yī"],
			["shǔ"],
			["èr"]
		],
		"数目字": [
			["shù"],
			["mù"],
			["zì"]
		],
		"数以万计": [
			["shǔ"],
			["yǐ"],
			["wàn"],
			["jì"]
		],
		"数罪并罚": [
			["shù"],
			["zuì"],
			["bìng"],
			["fá"]
		],
		"漱流枕石": [
			["shù"],
			["liú"],
			["zhěn"],
			["shí"]
		],
		"漱石枕流": [
			["shù"],
			["shí"],
			["zhěn"],
			["liú"]
		],
		"耍笔杆": [
			["shuǎ"],
			["bǐ"],
			["gǎn"]
		],
		"耍把戏": [
			["shuǎ"],
			["bǎ"],
			["xì"]
		],
		"耍单儿": [
			["shuǎ"],
			["dān"],
			["ér"]
		],
		"耍滑头": [
			["shuǎ"],
			["huá"],
			["tóu"]
		],
		"耍流氓": [
			["shuǎ"],
			["liú"],
			["máng"]
		],
		"耍排场": [
			["shuǎ"],
			["pái"],
			["chang"]
		],
		"耍态度": [
			["shuǎ"],
			["tài"],
			["dù"]
		],
		"耍威风": [
			["shuǎ"],
			["wēi"],
			["fēng"]
		],
		"衰当益壮": [
			["shuāi"],
			["dāng"],
			["yì"],
			["zhuàng"]
		],
		"摔跟头": [
			["shuāi"],
			["gēn"],
			["tou"]
		],
		"甩手掌柜": [
			["shuǎi"],
			["shǒu"],
			["zhǎng"],
			["guì"]
		],
		"栓皮栎": [
			["shuān"],
			["pí"],
			["lì"]
		],
		"涮羊肉": [
			["shuàn"],
			["yáng"],
			["ròu"]
		],
		"双宾语": [
			["shuāng"],
			["bīn"],
			["yǔ"]
		],
		"双飞燕": [
			["shuāng"],
			["fēi"],
			["yàn"]
		],
		"双挂号": [
			["shuāng"],
			["guà"],
			["hào"]
		],
		"双柑斗酒": [
			["shuài"],
			["gān"],
			["dǒu"],
			["jiǔ"]
		],
		"双关语": [
			["shuāng"],
			["guān"],
			["yǔ"]
		],
		"双管齐下": [
			["shuāng"],
			["guǎn"],
			["qí"],
			["xià"]
		],
		"双栖双宿": [
			["shuāng"],
			["qī"],
			["shuāng"],
			["sù"]
		],
		"双曲线": [
			["shuāng"],
			["qū"],
			["xiàn"]
		],
		"双宿双飞": [
			["shuāng"],
			["sù"],
			["shuāng"],
			["fēi"]
		],
		"双重国籍": [
			["shuāng"],
			["chóng"],
			["guó"],
			["jí"]
		],
		"双重人格": [
			["shuāng"],
			["chóng"],
			["rén"],
			["gé"]
		],
		"双足重茧": [
			["shuāng"],
			["zú"],
			["chóng"],
			["jiǎn"]
		],
		"霜凋夏绿": [
			["shuāng"],
			["diāo"],
			["xià"],
			["lǜ"]
		],
		"霜露之悲": [
			["shuāng"],
			["lù"],
			["zhī"],
			["bēi"]
		],
		"霜露之病": [
			["shuāng"],
			["lù"],
			["zhī"],
			["bìng"]
		],
		"霜露之辰": [
			["shuāng"],
			["lù"],
			["zhī"],
			["chén"]
		],
		"霜露之感": [
			["shuāng"],
			["lù"],
			["zhī"],
			["gǎn"]
		],
		"霜露之思": [
			["shuāng"],
			["lù"],
			["zhī"],
			["sī"]
		],
		"霜淇淋": [
			["shuāng"],
			["qí"],
			["lín"]
		],
		"霜气横秋": [
			["shuāng"],
			["qì"],
			["héng"],
			["qiū"]
		],
		"霜行草宿": [
			["shuāng"],
			["xíng"],
			["cǎo"],
			["xiǔ"]
		],
		"孀妻弱子": [
			["shuāng"],
			["qī"],
			["ruò"],
			["zǐ"]
		],
		"爽心豁目": [
			["shuǎng"],
			["xīn"],
			["huō"],
			["mù"]
		],
		"爽然若失": [
			["shuǎng"],
			["rán"],
			["ruò"],
			["shī"]
		],
		"水菜不交": [
			["shuǐ"],
			["cài"],
			["bù"],
			["jiāo"]
		],
		"水长船高": [
			["shuǐ"],
			["zhǎng"],
			["chuán"],
			["gāo"]
		],
		"水到渠成": [
			["shuǐ"],
			["dào"],
			["qú"],
			["chéng"]
		],
		"水到鱼行": [
			["shuǐ"],
			["dào"],
			["yú"],
			["xíng"]
		],
		"水滴石穿": [
			["shuǐ"],
			["dī"],
			["shí"],
			["chuān"]
		],
		"水底捞月": [
			["shuǐ"],
			["dǐ"],
			["lāo"],
			["yuè"]
		],
		"水底捞针": [
			["shuǐ"],
			["dǐ"],
			["lāo"],
			["zhēn"]
		],
		"水底摸月": [
			["shuǐ"],
			["dǐ"],
			["mō"],
			["yuè"]
		],
		"水底纳瓜": [
			["shuǐ"],
			["dǐ"],
			["nà"],
			["guā"]
		],
		"水调歌头": [
			["shuǐ"],
			["diào"],
			["gē"],
			["tóu"]
		],
		"水过地皮湿": [
			["shuǐ"],
			["guò"],
			["dì"],
			["pí"],
			["shī"]
		],
		"水过鸭背": [
			["shuǐ"],
			["guò"],
			["yā"],
			["bèi"]
		],
		"水合物": [
			["shuǐ"],
			["hé"],
			["wù"]
		],
		"水火不避": [
			["shuǐ"],
			["huǒ"],
			["bù"],
			["bì"]
		],
		"水火不辞": [
			["shuǐ"],
			["huǒ"],
			["bù"],
			["cí"]
		],
		"水火不兼容": [
			["shuǐ"],
			["huǒ"],
			["bù"],
			["xiāng"],
			["róng"]
		],
		"水火不相容": [
			["shuǐ"],
			["huǒ"],
			["bù"],
			["xiāng"],
			["róng"]
		],
		"水火棍": [
			["shuǐ"],
			["huǒ"],
			["gùn"]
		],
		"水火之中": [
			["shuǐ"],
			["huǒ"],
			["zhī"],
			["zhōng"]
		],
		"水浇地": [
			["shuǐ"],
			["jiāo"],
			["dì"]
		],
		"水尽鹅飞": [
			["shuǐ"],
			["jìn"],
			["é"],
			["fēi"]
		],
		"水尽山穷": [
			["shuǐ"],
			["jìn"],
			["shān"],
			["qióng"]
		],
		"水晶灯笼": [
			["shuǐ"],
			["jīng"],
			["dēng"],
			["lóng"]
		],
		"水净鹅飞": [
			["shuǐ"],
			["jìng"],
			["é"],
			["fēi"]
		],
		"水枯石烂": [
			["shuǐ"],
			["kū"],
			["shí"],
			["làn"]
		],
		"水力发电": [
			["shuǐ"],
			["lì"],
			["fā"],
			["diàn"]
		],
		"水淋淋": [
			["shuǐ"],
			["lín"],
			["lín"]
		],
		"水流花落": [
			["shuǐ"],
			["liú"],
			["huā"],
			["luò"]
		],
		"水流云散": [
			["shuǐ"],
			["liú"],
			["yún"],
			["sàn"]
		],
		"水龙头": [
			["shuǐ"],
			["lóng"],
			["tóu"]
		],
		"水轮发电机": [
			["shuǐ"],
			["lún"],
			["fā"],
			["diàn"],
			["jī"]
		],
		"水落管": [
			["shuǐ"],
			["luò"],
			["guǎn"]
		],
		"水落归漕": [
			["shuǐ"],
			["luò"],
			["guī"],
			["cáo"]
		],
		"水落归槽": [
			["shuǐ"],
			["luò"],
			["guī"],
			["cáo"]
		],
		"水落石出": [
			["shuǐ"],
			["luò"],
			["shí"],
			["chū"]
		],
		"水米无干": [
			["shuǐ"],
			["mǐ"],
			["wú"],
			["gàn"]
		],
		"水磨石": [
			["shuǐ"],
			["mó"],
			["shí"]
		],
		"水磨工夫": [
			["shuǐ"],
			["mó"],
			["gōng"],
			["fū"]
		],
		"水木清华": [
			["shuǐ"],
			["mù"],
			["qīng"],
			["huá"]
		],
		"水漂儿": [
			["shuǐ"],
			["piǎo"],
			["ér"]
		],
		"水佩风裳": [
			["shuǐ"],
			["pèi"],
			["fēng"],
			["shang"]
		],
		"水穷山尽": [
			["shuǐ"],
			["qióng"],
			["shān"],
			["jìn"]
		],
		"水蛇腰": [
			["shuǐ"],
			["shé"],
			["yāo"]
		],
		"水石清华": [
			["shuǐ"],
			["shí"],
			["qīng"],
			["huá"]
		],
		"水刷石": [
			["shuǐ"],
			["shuā"],
			["shí"]
		],
		"水宿风餐": [
			["shuǐ"],
			["xiǔ"],
			["fēng"],
			["cān"]
		],
		"水宿山行": [
			["shuǐ"],
			["xiǔ"],
			["shān"],
			["xíng"]
		],
		"水土不服": [
			["shuǐ"],
			["tǔ"],
			["bù"],
			["fú"]
		],
		"水楔不通": [
			["shuǐ"],
			["xiē"],
			["bù"],
			["tōng"]
		],
		"水泄不漏": [
			["shuǐ"],
			["xiè"],
			["bù"],
			["lòu"]
		],
		"水泄不通": [
			["shuǐ"],
			["xiè"],
			["bù"],
			["tōng"]
		],
		"水泄不透": [
			["shuǐ"],
			["xiè"],
			["bù"],
			["tòu"]
		],
		"水洩不通": [
			["shuǐ"],
			["xiè"],
			["bù"],
			["tōng"]
		],
		"水远山长": [
			["shuǐ"],
			["yuǎn"],
			["shān"],
			["cháng"]
		],
		"水远山遥": [
			["shuǐ"],
			["yuǎn"],
			["shān"],
			["yáo"]
		],
		"水涨船高": [
			["shuǐ"],
			["zhǎng"],
			["chuán"],
			["gāo"]
		],
		"水月观音": [
			["shuǐ"],
			["yuè"],
			["guān"],
			["yīn"]
		],
		"水中著盐": [
			["shuǐ"],
			["zhōng"],
			["zhuó"],
			["yán"]
		],
		"水中捉月": [
			["shui"],
			["zhong"],
			["zhuo"],
			["yue"]
		],
		"水中捞月": [
			["shuǐ"],
			["zhōng"],
			["lāo"],
			["yuè"]
		],
		"睡懒觉": [
			["shuì"],
			["lǎn"],
			["jué"]
		],
		"税务员": [
			["shuì"],
			["wù"],
			["yuán"]
		],
		"税务官": [
			["shuì"],
			["wù"],
			["guān"]
		],
		"睡卧不宁": [
			["shuì"],
			["wò"],
			["bù"],
			["níng"]
		],
		"顺非而泽": [
			["shùn"],
			["fēi"],
			["ér"],
			["zé"]
		],
		"睡眼惺忪": [
			["shuì"],
			["yǎn"],
			["xīng"],
			["sōng"]
		],
		"顺风扯帆": [
			["shùn"],
			["fēng"],
			["chě"],
			["fān"]
		],
		"顺风吹火": [
			["shǔn"],
			["fēng"],
			["chuī"],
			["huǒ"]
		],
		"顺风而呼": [
			["shǔn"],
			["fēng"],
			["ér"],
			["hū"]
		],
		"顺风使船": [
			["shǔn"],
			["fēng"],
			["shǐ"],
			["chuán"]
		],
		"顺风耳": [
			["shùn"],
			["fēng"],
			["ěr"]
		],
		"顺风使帆": [
			["shùn"],
			["fēng"],
			["shǐ"],
			["fān"]
		],
		"顺风使舵": [
			["shùn"],
			["fēng"],
			["shǐ"],
			["duò"]
		],
		"顺风行船": [
			["shùn"],
			["fēng"],
			["xíng"],
			["chuán"]
		],
		"顺风驶船": [
			["shǔn"],
			["fēng"],
			["shǐ"],
			["chuán"]
		],
		"顺过饰非": [
			["shùn"],
			["guò"],
			["shì"],
			["fēi"]
		],
		"顺风转舵": [
			["shǔn"],
			["fēng"],
			["zhuǎn"],
			["duò"]
		],
		"顺风张帆": [
			["shùn"],
			["fēng"],
			["zhāng"],
			["fān"]
		],
		"顺口溜": [
			["shùn"],
			["kǒu"],
			["liū"]
		],
		"顺蔓摸瓜": [
			["shùn"],
			["màn"],
			["mō"],
			["guā"]
		],
		"顺美匡恶": [
			["shùn"],
			["měi"],
			["kuāng"],
			["è"]
		],
		"顺人应天": [
			["shùn"],
			["rén"],
			["yìng"],
			["tiān"]
		],
		"顺手牵羊": [
			["shùn"],
			["shǒu"],
			["qiān"],
			["yáng"]
		],
		"顺水顺风": [
			["shùn"],
			["shuǐ"],
			["shùn"],
			["fēng"]
		],
		"顺水行舟": [
			["shùn"],
			["shuǐ"],
			["xíng"],
			["zhōu"]
		],
		"顺天从人": [
			["shùn"],
			["tiān"],
			["cóng"],
			["rén"]
		],
		"顺天应人": [
			["shùn"],
			["tiān"],
			["yìng"],
			["rén"]
		],
		"瞬息万变": [
			["shùn"],
			["xī"],
			["wàn"],
			["biàn"]
		],
		"顺天应时": [
			["shùn"],
			["tiān"],
			["yīng"],
			["shí"]
		],
		"说白道黑": [
			["shuō"],
			["bái"],
			["dào"],
			["hēi"]
		],
		"瞬息之间": [
			["shùn"],
			["xī"],
			["zhī"],
			["jiān"]
		],
		"说白道绿": [
			["shuō"],
			["bái"],
			["dào"],
			["lǜ"]
		],
		"说不定": [
			["shuō"],
			["bù"],
			["dìng"]
		],
		"说不出口": [
			["shuō"],
			["bù"],
			["chū"],
			["kǒu"]
		],
		"说不得": [
			["shuō"],
			["bù"],
			["dé"]
		],
		"说不过去": [
			["shuō"],
			["bù"],
			["guò"],
			["qù"]
		],
		"说不来": [
			["shuō"],
			["bù"],
			["lái"]
		],
		"说不清": [
			["shuō"],
			["bù"],
			["qīng"]
		],
		"说不上": [
			["shuō"],
			["bù"],
			["shàng"]
		],
		"说不着": [
			["shuō"],
			["bù"],
			["zháo"]
		],
		"说长道短": [
			["shuō"],
			["cháng"],
			["dào"],
			["duǎn"]
		],
		"说长论短": [
			["shuō"],
			["cháng"],
			["lùn"],
			["duǎn"]
		],
		"说长话短": [
			["shuō"],
			["cháng"],
			["huà"],
			["duǎn"]
		],
		"说长说短": [
			["shuō"],
			["cháng"],
			["shuō"],
			["duǎn"]
		],
		"说唱文学": [
			["shuō"],
			["chàng"],
			["wén"],
			["xué"]
		],
		"说大话": [
			["shuō"],
			["dà"],
			["huà"]
		],
		"说得过去": [
			["shuō"],
			["dé"],
			["guò"],
			["qù"]
		],
		"说到做到": [
			["shuō"],
			["dào"],
			["zuò"],
			["dào"]
		],
		"说得来": [
			["shuō"],
			["de"],
			["lái"]
		],
		"说地谈天": [
			["shuō"],
			["dì"],
			["tán"],
			["tiān"]
		],
		"说东道西": [
			["shuō"],
			["dōng"],
			["dào"],
			["xī"]
		],
		"说东谈西": [
			["shuō"],
			["dōng"],
			["tán"],
			["xī"]
		],
		"说短道长": [
			["shuō"],
			["duǎn"],
			["dào"],
			["cháng"]
		],
		"说短论长": [
			["shuō"],
			["duǎn"],
			["lùn"],
			["cháng"]
		],
		"说古道今": [
			["shuō"],
			["gǔ"],
			["dào"],
			["jīn"]
		],
		"说古谈今": [
			["shuō"],
			["gǔ"],
			["tán"],
			["jīn"]
		],
		"说好嫌歹": [
			["shuō"],
			["hǎo"],
			["xián"],
			["dǎi"]
		],
		"说黑道白": [
			["shuō"],
			["hēi"],
			["dào"],
			["bái"]
		],
		"说黄道黑": [
			["shuō"],
			["huáng"],
			["dào"],
			["hēi"]
		],
		"说今道古": [
			["shuō"],
			["jīn"],
			["dào"],
			["gǔ"]
		],
		"说来话长": [
			["shuō"],
			["lái"],
			["huà"],
			["cháng"]
		],
		"说来说去": [
			["shuō"],
			["lái"],
			["shuō"],
			["qù"]
		],
		"说梅止渴": [
			["shuō"],
			["méi"],
			["zhǐ"],
			["kě"]
		],
		"说梦话": [
			["shuō"],
			["mèng"],
			["huà"]
		],
		"说明书": [
			["shuō"],
			["míng"],
			["shū"]
		],
		"说明文": [
			["shuō"],
			["míng"],
			["wén"]
		],
		"说千道万": [
			["shuō"],
			["qiān"],
			["dào"],
			["wàn"]
		],
		"说千说万": [
			["shuō"],
			["qiān"],
			["shuō"],
			["wàn"]
		],
		"说亲道热": [
			["shuō"],
			["qīn"],
			["dào"],
			["rè"]
		],
		"说三道四": [
			["shuō"],
			["sān"],
			["dào"],
			["sì"]
		],
		"说实话": [
			["shuō"],
			["shí"],
			["huà"]
		],
		"说是道非": [
			["shuō"],
			["shì"],
			["dào"],
			["fēi"]
		],
		"说是弄非": [
			["shuō"],
			["shì"],
			["nòng"],
			["fēi"]
		],
		"说是谈非": [
			["shuō"],
			["shì"],
			["tán"],
			["fēi"]
		],
		"说头儿": [
			["shuō"],
			["tou"],
			["er"]
		],
		"说文解字": [
			["shuō"],
			["wén"],
			["jiě"],
			["zì"]
		],
		"说咸道淡": [
			["shuō"],
			["xián"],
			["dào"],
			["dàn"]
		],
		"说闲话": [
			["shuō"],
			["xián"],
			["huà"]
		],
		"说笑话": [
			["shuō"],
			["xiào"],
			["huà"]
		],
		"说一不二": [
			["shuō"],
			["yī"],
			["bù"],
			["èr"]
		],
		"说真的": [
			["shuō"],
			["zhēn"],
			["de"]
		],
		"说嘴郎中": [
			["shuō"],
			["zuǐ"],
			["láng"],
			["zhōng"]
		],
		"烁石流金": [
			["shuò"],
			["shí"],
			["liú"],
			["jīn"]
		],
		"铄古切今": [
			["shuò"],
			["gǔ"],
			["qiē"],
			["jīn"]
		],
		"铄金毁骨": [
			["shuò"],
			["jīn"],
			["huǐ"],
			["gǔ"]
		],
		"铄石流金": [
			["shuò"],
			["shí"],
			["liú"],
			["jīn"]
		],
		"硕大无比": [
			["shuò"],
			["dà"],
			["wú"],
			["bǐ"]
		],
		"硕大无朋": [
			["shuò"],
			["dà"],
			["wú"],
			["péng"]
		],
		"硕果仅存": [
			["shuò"],
			["guǒ"],
			["jǐn"],
			["cún"]
		],
		"硕望宿德": [
			["shuò"],
			["wàng"],
			["xiǔ"],
			["dé"]
		],
		"槊血满袖": [
			["shuò"],
			["xuè"],
			["mǎn"],
			["xiù"]
		],
		"丝恩发怨": [
			["sī"],
			["ēn"],
			["fà"],
			["yuàn"]
		],
		"丝发之功": [
			["sī"],
			["fā"],
			["zhī"],
			["gōng"]
		],
		"丝瓜络": [
			["sī"],
			["guā"],
			["luò"]
		],
		"丝织品": [
			["sī"],
			["zhī"],
			["pǐn"]
		],
		"司号员": [
			["sī"],
			["hào"],
			["yuán"]
		],
		"司空见惯": [
			["sī"],
			["kōng"],
			["jiàn"],
			["guàn"]
		],
		"司令部": [
			["sī"],
			["lìng"],
			["bù"]
		],
		"司令员": [
			["sī"],
			["lìng"],
			["yuán"]
		],
		"司马称好": [
			["sī"],
			["mǎ"],
			["chēng"],
			["hǎo"]
		],
		"司马昭之心，路人皆知": [
			["sī"],
			["mǎ"],
			["zhāo"],
			["zhī"],
			["xīn"],
			["，"],
			["lù"],
			["rén"],
			["jiē"],
			["zhī"]
		],
		"司农仰屋": [
			["sī"],
			["nóng"],
			["yǎng"],
			["wū"]
		],
		"司务长": [
			["sī"],
			["wù"],
			["zhǎng"]
		],
		"私底下": [
			["sī"],
			["dǐ"],
			["xià"]
		],
		"私淑弟子": [
			["sī"],
			["shū"],
			["dì"],
			["zǐ"]
		],
		"私相授受": [
			["sī"],
			["xiāng"],
			["shòu"],
			["shòu"]
		],
		"思不出位": [
			["sī"],
			["bù"],
			["chū"],
			["wèi"]
		],
		"思潮起伏": [
			["sī"],
			["cháo"],
			["qǐ"],
			["fú"]
		],
		"思妇病母": [
			["sī"],
			["fù"],
			["bìng"],
			["mǔ"]
		],
		"思归其雌": [
			["sī"],
			["guī"],
			["qí"],
			["cí"]
		],
		"思患预防": [
			["sī"],
			["huàn"],
			["yù"],
			["fáng"]
		],
		"思前想后": [
			["sī"],
			["qián"],
			["xiǎng"],
			["hòu"]
		],
		"思如涌泉": [
			["sī"],
			["rú"],
			["yǒng"],
			["quán"]
		],
		"思深忧远": [
			["sī"],
			["shēn"],
			["yōu"],
			["yuǎn"]
		],
		"思所逐之": [
			["si"],
			["shuo"],
			["zhu"],
			["zi"]
		],
		"思维能力": [
			["sī"],
			["wéi"],
			["néng"],
			["lì"]
		],
		"思贤如渴": [
			["sī"],
			["xián"],
			["rú"],
			["kě"]
		],
		"思想家": [
			["sī"],
			["xiǎng"],
			["jiā"]
		],
		"思想体系": [
			["sī"],
			["xiǎng"],
			["tǐ"],
			["xì"]
		],
		"思想性": [
			["sī"],
			["xiǎng"],
			["xìng"]
		],
		"思绪万千": [
			["sī"],
			["xù"],
			["wàn"],
			["qiān"]
		],
		"斯德哥尔摩": [
			["sī"],
			["dé"],
			["gē"],
			["ěr"],
			["mó"]
		],
		"斯事体大": [
			["sī"],
			["shì"],
			["tǐ"],
			["dà"]
		],
		"斯文扫地": [
			["sī"],
			["wén"],
			["sǎo"],
			["dì"]
		],
		"缌麻服": [
			["sī"],
			["má"],
			["fú"]
		],
		"撕心裂肺": [
			["sī"],
			["xīn"],
			["liè"],
			["fèi"]
		],
		"死败涂地": [
			["sǐ"],
			["bài"],
			["tú"],
			["dì"]
		],
		"死不改悔": [
			["sǐ"],
			["bù"],
			["gǎi"],
			["huǐ"]
		],
		"死别生离": [
			["sǐ"],
			["bié"],
			["shēng"],
			["lí"]
		],
		"死不悔改": [
			["sǐ"],
			["bù"],
			["huǐ"],
			["gǎi"]
		],
		"死不足惜": [
			["sǐ"],
			["bù"],
			["zú"],
			["xī"]
		],
		"死不旋踵": [
			["sǐ"],
			["bù"],
			["xuán"],
			["zhǒng"]
		],
		"死不瞑目": [
			["sǐ"],
			["bù"],
			["míng"],
			["mù"]
		],
		"死得其所": [
			["sǐ"],
			["dé"],
			["qí"],
			["suǒ"]
		],
		"死对头": [
			["sǐ"],
			["duì"],
			["tóu"]
		],
		"死而不朽": [
			["sǐ"],
			["ér"],
			["bù"],
			["xiǔ"]
		],
		"死骨更肉": [
			["sǐ"],
			["gǔ"],
			["gèng"],
			["ròu"]
		],
		"死胡同": [
			["sǐ"],
			["hú"],
			["tòng"]
		],
		"死劲儿": [
			["sǐ"],
			["jìng"],
			["er"]
		],
		"死记硬背": [
			["sǐ"],
			["jì"],
			["yìng"],
			["bèi"]
		],
		"死马当活马医": [
			["sǐ"],
			["mǎ"],
			["dāng"],
			["huó"],
			["mǎ"],
			["yī"]
		],
		"死模活样": [
			["sǐ"],
			["mó"],
			["huó"],
			["yàng"]
		],
		"死且不朽": [
			["sǐ"],
			["qiě"],
			["bù"],
			["xiǔ"]
		],
		"死说活说": [
			["sǐ"],
			["shuō"],
			["huó"],
			["shuō"]
		],
		"死生存亡": [
			["sǐ"],
			["shēng"],
			["cún"],
			["wáng"]
		],
		"死亡无日": [
			["sǐ"],
			["wáng"],
			["wú"],
			["rì"]
		],
		"死亡率": [
			["sǐ"],
			["wáng"],
			["lǜ"]
		],
		"死亡线": [
			["sǐ"],
			["wáng"],
			["xiàn"]
		],
		"死亡枕藉": [
			["sǐ"],
			["wáng"],
			["zhěn"],
			["jiè"]
		],
		"死无葬身之地": [
			["sǐ"],
			["wú"],
			["zàng"],
			["shēn"],
			["zhī"],
			["dì"]
		],
		"死心搭地": [
			["sǐ"],
			["xīn"],
			["dā"],
			["dì"]
		],
		"死心塌地": [
			["sǐ"],
			["xīn"],
			["tā"],
			["dì"]
		],
		"死心落地": [
			["sǐ"],
			["xīn"],
			["luò"],
			["dì"]
		],
		"死心踏地": [
			["sǐ"],
			["xīn"],
			["tà"],
			["dì"]
		],
		"死有余辜": [
			["sǐ"],
			["yǒu"],
			["yú"],
			["gū"]
		],
		"死有余责": [
			["sǐ"],
			["yǒu"],
			["yú"],
			["zé"]
		],
		"死有余僇": [
			["sǐ"],
			["yǒu"],
			["yú"],
			["lù"]
		],
		"死有余诛": [
			["sǐ"],
			["yǒu"],
			["yú"],
			["zhū"]
		],
		"死有余罪": [
			["sǐ"],
			["yǒu"],
			["yú"],
			["zuì"]
		],
		"死诸葛能走生仲达": [
			["sǐ"],
			["zhū"],
			["gé"],
			["néng"],
			["zǒu"],
			["shēng"],
			["zhòng"],
			["dá"]
		],
		"死诸葛吓走生仲达": [
			["sǐ"],
			["zhū"],
			["gé"],
			["xià"],
			["zǒu"],
			["shēng"],
			["zhòng"],
			["dá"]
		],
		"死中求活": [
			["sǐ"],
			["zhōng"],
			["qiú"],
			["huó"]
		],
		"死中求生": [
			["sǐ"],
			["zhōng"],
			["qiú"],
			["shēng"]
		],
		"死重泰山": [
			["sǐ"],
			["zhòng"],
			["tài"],
			["shān"]
		],
		"四不拗六": [
			["sì"],
			["bù"],
			["niù"],
			["liù"]
		],
		"四不像": [
			["sì"],
			["bù"],
			["xiàng"]
		],
		"四冲八达": [
			["sì"],
			["chōng"],
			["bā"],
			["dá"]
		],
		"四冲六达": [
			["sì"],
			["chōng"],
			["liù"],
			["dá"]
		],
		"四大家族": [
			["sì"],
			["dà"],
			["jiā"],
			["zú"]
		],
		"四大皆空": [
			["sì"],
			["dà"],
			["jiē"],
			["kōng"]
		],
		"四分五裂": [
			["sì"],
			["fēn"],
			["wǔ"],
			["liè"]
		],
		"四分五落": [
			["sì"],
			["fēn"],
			["wǔ"],
			["luò"]
		],
		"四分五剖": [
			["sì"],
			["fēn"],
			["wǔ"],
			["pōu"]
		],
		"四纷五落": [
			["sì"],
			["fēn"],
			["wǔ"],
			["luò"]
		],
		"四海承风": [
			["sì"],
			["hǎi"],
			["chéng"],
			["fēng"]
		],
		"四海皆兄弟": [
			["sì"],
			["hǎi"],
			["jiē"],
			["xiōng"],
			["dì"]
		],
		"四海为家": [
			["sì"],
			["hǎi"],
			["wéi"],
			["jiā"]
		],
		"四海一家": [
			["sì"],
			["hǎi"],
			["yī"],
			["jiā"]
		],
		"四海之内皆兄弟": [
			["sì"],
			["hǎi"],
			["zhī"],
			["nèi"],
			["jiē"],
			["xiōng"],
			["dì"]
		],
		"四合房": [
			["sì"],
			["hé"],
			["fáng"]
		],
		"四合院": [
			["sì"],
			["hé"],
			["yuàn"]
		],
		"四合院儿": [
			["sì"],
			["hé"],
			["yuàn"],
			["ér"]
		],
		"四角俱全": [
			["sì"],
			["jiǎo"],
			["jù"],
			["quán"]
		],
		"四脚朝天": [
			["sì"],
			["jiǎo"],
			["cháo"],
			["tiān"]
		],
		"四脚蛇": [
			["sì"],
			["jiǎo"],
			["shé"]
		],
		"四六文": [
			["sì"],
			["liù"],
			["wén"]
		],
		"四马攒蹄": [
			["sì"],
			["mǎ"],
			["cuán"],
			["tí"]
		],
		"四清六活": [
			["sì"],
			["qīng"],
			["liù"],
			["huó"]
		],
		"四时八节": [
			["sì"],
			["shí"],
			["bā"],
			["jié"]
		],
		"四体百骸": [
			["sì"],
			["tǐ"],
			["bǎi"],
			["hái"]
		],
		"四体不勤": [
			["sì"],
			["tǐ"],
			["bù"],
			["qín"]
		],
		"四亭八当": [
			["sì"],
			["tíng"],
			["bā"],
			["dàng"]
		],
		"四停八当": [
			["sì"],
			["tíng"],
			["bā"],
			["dāng"]
		],
		"四战之地": [
			["sì"],
			["zhàn"],
			["zhī"],
			["dì"]
		],
		"四肢百体": [
			["sì"],
			["zhī"],
			["bǎi"],
			["tǐ"]
		],
		"伺瑕导蠙": [
			["sì"],
			["xiá"],
			["dǎo"],
			["pín"]
		],
		"伺瑕导隙": [
			["sì"],
			["xiá"],
			["dǎo"],
			["xì"]
		],
		"伺瑕抵蠙": [
			["sì"],
			["xiá"],
			["dǐ"],
			["pín"]
		],
		"伺瑕抵隙": [
			["sì"],
			["xiá"],
			["dǐ"],
			["xì"]
		],
		"似懂非懂": [
			["sì"],
			["dǒng"],
			["fēi"],
			["dǒng"]
		],
		"似非而是": [
			["sì"],
			["fēi"],
			["ér"],
			["shì"]
		],
		"似箭在弦": [
			["sì"],
			["jiàn"],
			["zài"],
			["xián"]
		],
		"似漆如胶": [
			["sì"],
			["qī"],
			["rú"],
			["jiāo"]
		],
		"似是而非": [
			["sì"],
			["shì"],
			["ér"],
			["fēi"]
		],
		"似水流年": [
			["sì"],
			["shuǐ"],
			["liú"],
			["nián"]
		],
		"似水如鱼": [
			["sì"],
			["shuǐ"],
			["rú"],
			["yú"]
		],
		"似笑非笑": [
			["sì"],
			["xiào"],
			["fēi"],
			["xiào"]
		],
		"似有如无": [
			["sì"],
			["yǒu"],
			["rú"],
			["wú"]
		],
		"似曾相识": [
			["sì"],
			["céng"],
			["xiāng"],
			["shí"]
		],
		"似醉如痴": [
			["sì"],
			["zuì"],
			["rú"],
			["chī"]
		],
		"饲养员": [
			["sì"],
			["yǎng"],
			["yuán"]
		],
		"驷不及舌": [
			["sì"],
			["bù"],
			["jí"],
			["shé"]
		],
		"驷马不追": [
			["sì"],
			["mǎ"],
			["bù"],
			["zhuī"]
		],
		"驷马高车": [
			["sì"],
			["mǎ"],
			["gāo"],
			["chē"]
		],
		"驷马莫追": [
			["sì"],
			["mǎ"],
			["mò"],
			["zhuī"]
		],
		"驷马高盖": [
			["sì"],
			["mǎ"],
			["gāo"],
			["gài"]
		],
		"驷马难追": [
			["sì"],
			["mǎ"],
			["nán"],
			["zhuī"]
		],
		"驷马仰秣": [
			["sì"],
			["mǎ"],
			["yǎng"],
			["mò"]
		],
		"驷马轩车": [
			["sì"],
			["mǎ"],
			["xuān"],
			["chē"]
		],
		"驷之过蠙": [
			["sì"],
			["zhī"],
			["guò"],
			["pín"]
		],
		"驷之过隙": [
			["sì"],
			["zhī"],
			["guò"],
			["xì"]
		],
		"俟河之清": [
			["sì"],
			["hé"],
			["zhī"],
			["qīng"]
		],
		"肆无忌惮": [
			["sì"],
			["wú"],
			["jì"],
			["dàn"]
		],
		"肆虐横行": [
			["sì"],
			["nüè"],
			["héng"],
			["xíng"]
		],
		"肆行无忌": [
			["sì"],
			["xíng"],
			["wú"],
			["jì"]
		],
		"肆意横行": [
			["sì"],
			["yì"],
			["héng"],
			["xíng"]
		],
		"肆意妄为": [
			["sì"],
			["yì"],
			["wàng"],
			["wéi"]
		],
		"騃女痴男": [
			["ái"],
			["nǚ"],
			["chī"],
			["nán"]
		],
		"騃童钝夫": [
			["ái"],
			["tóng"],
			["dùn"],
			["fū"]
		],
		"松柏寒盟": [
			["sōng"],
			["bǎi"],
			["hán"],
			["méng"]
		],
		"松柏后凋": [
			["sōng"],
			["bǎi"],
			["hòu"],
			["diāo"]
		],
		"松柏之茂": [
			["sōng"],
			["bǎi"],
			["zhī"],
			["mào"]
		],
		"松柏之寿": [
			["sōng"],
			["bǎi"],
			["zhī"],
			["shòu"]
		],
		"松柏之志": [
			["sōng"],
			["bǎi"],
			["zhī"],
			["zhì"]
		],
		"松节油": [
			["sōng"],
			["jié"],
			["yóu"]
		],
		"松筠之节": [
			["sōng"],
			["jūn"],
			["zhī"],
			["jié"]
		],
		"松萝共倚": [
			["sōng"],
			["luó"],
			["gòng"],
			["yǐ"]
		],
		"松形鹤骨": [
			["sōng"],
			["xíng"],
			["hè"],
			["gǔ"]
		],
		"松枝挂剑": [
			["sōng"],
			["zhī"],
			["guà"],
			["jiàn"]
		],
		"崧生岳降": [
			["sōng"],
			["shēng"],
			["yuè"],
			["jiàng"]
		],
		"耸肩曲背": [
			["sǒng"],
			["jiān"],
			["qū"],
			["bèi"]
		],
		"嵩生岳降": [
			["sōng"],
			["shēng"],
			["yuè"],
			["jiàng"]
		],
		"耸肩缩背": [
			["sǒng"],
			["jiān"],
			["suō"],
			["bèi"]
		],
		"宋斤鲁削": [
			["sòng"],
			["jīn"],
			["lǔ"],
			["xuē"]
		],
		"宋体字": [
			["sòng"],
			["tǐ"],
			["zì"]
		],
		"送风机": [
			["sòng"],
			["fēng"],
			["jī"]
		],
		"送佛送到西天": [
			["sòng"],
			["fó"],
			["sòng"],
			["dào"],
			["xī"],
			["tiān"]
		],
		"送货上门": [
			["sòng"],
			["huò"],
			["shàng"],
			["mén"]
		],
		"送信儿": [
			["sòng"],
			["xìn"],
			["ér"]
		],
		"送子观音": [
			["sòng"],
			["zǐ"],
			["guān"],
			["yīn"]
		],
		"颂声载道": [
			["sòng"],
			["shēng"],
			["zǎi"],
			["dào"]
		],
		"搜肠刮肚": [
			["sōu"],
			["cháng"],
			["guā"],
			["dù"]
		],
		"搜奇抉怪": [
			["sōu"],
			["qí"],
			["jué"],
			["guài"]
		],
		"搜扬侧陋": [
			["sōu"],
			["yáng"],
			["cè"],
			["lòu"]
		],
		"薮中荆曲": [
			["sǒu"],
			["zhōng"],
			["jí"],
			["qǔ"]
		],
		"搜岩采干": [
			["sōu"],
			["yán"],
			["cǎi"],
			["gàn"]
		],
		"苏海韩潮": [
			["sū"],
			["hǎi"],
			["hán"],
			["cháo"]
		],
		"搜章摘句": [
			["sōu"],
			["zhāng"],
			["zhāi"],
			["jù"]
		],
		"苏合香": [
			["sū"],
			["hé"],
			["xiāng"]
		],
		"苏维埃": [
			["sū"],
			["wéi"],
			["āi"]
		],
		"苏小小": [
			["sū"],
			["xiǎo"],
			["xiǎo"]
		],
		"苏伊士运河": [
			["sū"],
			["yī"],
			["shì"],
			["yùn"],
			["hé"]
		],
		"苏州码子": [
			["sū"],
			["zhōu"],
			["mǎ"],
			["zǐ"]
		],
		"俗不可耐": [
			["sú"],
			["bù"],
			["kě"],
			["nài"]
		],
		"俗不可医": [
			["sú"],
			["bù"],
			["kě"],
			["yī"]
		],
		"俗体字": [
			["sú"],
			["tǐ"],
			["zì"]
		],
		"夙世冤家": [
			["sù"],
			["shì"],
			["yuān"],
			["jiā"]
		],
		"夙夜不解": [
			["sù"],
			["yè"],
			["bù"],
			["jiě"]
		],
		"夙兴昧旦": [
			["sù"],
			["xīng"],
			["mèi"],
			["dàn"]
		],
		"夙兴夜处": [
			["sù"],
			["xīng"],
			["yè"],
			["chǔ"]
		],
		"夙夜匪解": [
			["sù"],
			["yè"],
			["fěi"],
			["jiě"]
		],
		"夙兴夜寐": [
			["sù"],
			["xīng"],
			["yè"],
			["mèi"]
		],
		"素不相能": [
			["sù"],
			["bù"],
			["xiāng"],
			["néng"]
		],
		"素不相识": [
			["sù"],
			["bù"],
			["xiāng"],
			["shí"]
		],
		"素车白马": [
			["sù"],
			["chē"],
			["bái"],
			["mǎ"]
		],
		"素丝羔羊": [
			["sù"],
			["sī"],
			["gāo"],
			["yáng"]
		],
		"素隐行怪": [
			["sù"],
			["yǐn"],
			["xíng"],
			["guài"]
		],
		"速食面": [
			["sù"],
			["shí"],
			["miàn"]
		],
		"宿弊一清": [
			["sù"],
			["bì"],
			["yī"],
			["qīng"]
		],
		"宿水餐风": [
			["xiǔ"],
			["shuǐ"],
			["cān"],
			["fēng"]
		],
		"宿水飡风": [
			["xiǔ"],
			["shuǐ"],
			["cān"],
			["fēng"]
		],
		"宿学旧儒": [
			["sù"],
			["xué"],
			["jiù"],
			["rú"]
		],
		"宿雨餐风": [
			["xiǔ"],
			["yǔ"],
			["cān"],
			["fēng"]
		],
		"粟红贯朽": [
			["sù"],
			["hóng"],
			["guàn"],
			["xiǔ"]
		],
		"塑料薄膜": [
			["sù"],
			["liào"],
			["báo"],
			["mó"]
		],
		"溯端竟委": [
			["sù"],
			["duān"],
			["jìng"],
			["wěi"]
		],
		"溯流追源": [
			["sù"],
			["liú"],
			["zhuī"],
			["yuán"]
		],
		"溯水行舟": [
			["sù"],
			["shuǐ"],
			["xíng"],
			["zhōu"]
		],
		"酸不溜丢": [
			["suān"],
			["bù"],
			["liū"],
			["diū"]
		],
		"酸梅汤": [
			["suān"],
			["méi"],
			["tāng"]
		],
		"酸文假醋": [
			["suān"],
			["wén"],
			["jiǎ"],
			["cù"]
		],
		"酸辣汤": [
			["suān"],
			["là"],
			["tāng"]
		],
		"酸溜溜": [
			["suān"],
			["liū"],
			["liū"]
		],
		"虽覆能复": [
			["suī"],
			["fù"],
			["néng"],
			["fù"]
		],
		"隋侯之珠": [
			["suí"],
			["hóu"],
			["zhī"],
			["zhū"]
		],
		"隋珠弹雀": [
			["suí"],
			["zhū"],
			["tán"],
			["què"]
		],
		"隋珠和璧": [
			["suí"],
			["zhū"],
			["hé"],
			["bì"]
		],
		"隋珠荆璧": [
			["suí"],
			["zhū"],
			["jīng"],
			["bì"]
		],
		"隋珠和玉": [
			["suí"],
			["zhū"],
			["hé"],
			["yù"]
		],
		"随车夏雨": [
			["suí"],
			["chē"],
			["xià"],
			["yǔ"]
		],
		"随车甘雨": [
			["suí"],
			["chē"],
			["gān"],
			["yǔ"]
		],
		"随车致雨": [
			["suí"],
			["chē"],
			["zhì"],
			["yǔ"]
		],
		"随地随时": [
			["suí"],
			["dì"],
			["suí"],
			["shí"]
		],
		"随风倒舵": [
			["suí"],
			["fēng"],
			["dǎo"],
			["duò"]
		],
		"随风而靡": [
			["suí"],
			["fēng"],
			["ér"],
			["mǐ"]
		],
		"随风逐浪": [
			["suí"],
			["fēng"],
			["zhú"],
			["làng"]
		],
		"随风转舵": [
			["suí"],
			["fēng"],
			["zhuǎn"],
			["duò"]
		],
		"随机应变": [
			["suí"],
			["jī"],
			["yìng"],
			["biàn"]
		],
		"随近逐便": [
			["suí"],
			["jìn"],
			["zhú"],
			["biàn"]
		],
		"随人俯仰": [
			["suí"],
			["rén"],
			["fǔ"],
			["yǎng"]
		],
		"随声附和": [
			["suí"],
			["shēng"],
			["fù"],
			["hè"]
		],
		"随声趋和": [
			["suí"],
			["shēng"],
			["qū"],
			["hé"]
		],
		"随时随地": [
			["suí"],
			["shí"],
			["suí"],
			["dì"]
		],
		"随物应机": [
			["suí"],
			["wù"],
			["yīng"],
			["jī"]
		],
		"随行就市": [
			["suí"],
			["háng"],
			["jiù"],
			["shì"]
		],
		"随行逐队": [
			["suí"],
			["xíng"],
			["zhú"],
			["duì"]
		],
		"随缘乐助": [
			["suí"],
			["yuán"],
			["lè"],
			["zhù"]
		],
		"随珠弹雀": [
			["suí"],
			["zhū"],
			["tán"],
			["què"]
		],
		"随珠和璧": [
			["suí"],
			["zhū"],
			["hé"],
			["bì"]
		],
		"岁不我与": [
			["suì"],
			["bù"],
			["wǒ"],
			["yǔ"]
		],
		"岁比不登": [
			["suì"],
			["bǐ"],
			["bù"],
			["dēng"]
		],
		"岁寒松柏": [
			["suì"],
			["hán"],
			["sōng"],
			["bǎi"]
		],
		"岁寒知松柏": [
			["suì"],
			["hán"],
			["zhī"],
			["sōng"],
			["bǎi"]
		],
		"岁序更新": [
			["suì"],
			["xù"],
			["gēng"],
			["xīn"]
		],
		"岁聿其莫": [
			["suì"],
			["yù"],
			["qí"],
			["mù"]
		],
		"岁时伏腊": [
			["suì"],
			["shí"],
			["fú"],
			["là"]
		],
		"岁月不居": [
			["suì"],
			["yuè"],
			["bù"],
			["jú"]
		],
		"岁在龙蛇": [
			["suì"],
			["zài"],
			["lóng"],
			["shé"]
		],
		"遂非文过": [
			["suí"],
			["fēi"],
			["wén"],
			["guò"]
		],
		"遂迷不寤": [
			["suí"],
			["mí"],
			["bù"],
			["wù"]
		],
		"遂迷不窹": [
			["suí"],
			["méi"],
			["bù"],
			["wù"]
		],
		"遂心应手": [
			["suì"],
			["xīn"],
			["yīng"],
			["shǒu"]
		],
		"睟面盎背": [
			["suì"],
			["miàn"],
			["àng"],
			["bèi"]
		],
		"碎骨粉身": [
			["suì"],
			["gǔ"],
			["fěn"],
			["shēn"]
		],
		"碎身粉骨": [
			["suì"],
			["shēn"],
			["fěn"],
			["gǔ"]
		],
		"碎骨粉尸": [
			["suì"],
			["gǔ"],
			["fěn"],
			["shī"]
		],
		"碎身糜躯": [
			["suì"],
			["shēn"],
			["mí"],
			["qū"]
		],
		"碎尸万段": [
			["suì"],
			["shī"],
			["wàn"],
			["duàn"]
		],
		"碎首糜躯": [
			["suì"],
			["shǒu"],
			["mí"],
			["qū"]
		],
		"碎瓦颓垣": [
			["suì"],
			["wǎ"],
			["tuí"],
			["yuán"]
		],
		"燧人氏": [
			["suì"],
			["rén"],
			["shì"]
		],
		"碎心裂胆": [
			["suì"],
			["xīn"],
			["liè"],
			["dǎn"]
		],
		"孙康映雪": [
			["sūn"],
			["kāng"],
			["yìng"],
			["xuě"]
		],
		"孙女婿": [
			["sūn"],
			["nǚ"],
			["xù"]
		],
		"孙媳妇": [
			["sūn"],
			["xí"],
			["fù"]
		],
		"孙庞斗智": [
			["sūn"],
			["páng"],
			["dòu"],
			["zhì"]
		],
		"损军折将": [
			["sǔn"],
			["jūn"],
			["zhé"],
			["jiàng"]
		],
		"损人不利己": [
			["sǔn"],
			["rén"],
			["bù"],
			["lì"],
			["jǐ"]
		],
		"损兵折将": [
			["sǔn"],
			["bīng"],
			["zhé"],
			["jiàng"]
		],
		"损上益下": [
			["sǔn"],
			["shàng"],
			["yì"],
			["xià"]
		],
		"损有余补不足": [
			["sǔn"],
			["yǒu"],
			["yú"],
			["bǔ"],
			["bù"],
			["zú"]
		],
		"缩地补天": [
			["suō"],
			["dì"],
			["bǔ"],
			["tiān"]
		],
		"梭天摸地": [
			["suō"],
			["tiān"],
			["mō"],
			["dì"]
		],
		"缩成一团": [
			["suō"],
			["chéng"],
			["yī"],
			["tuán"]
		],
		"缩略语": [
			["suō"],
			["lüè"],
			["yǔ"]
		],
		"缩砂密": [
			["sù"],
			["shā"],
			["mì"]
		],
		"缩手缩脚": [
			["suō"],
			["shǒu"],
			["suō"],
			["jiǎo"]
		],
		"缩头缩颈": [
			["suō"],
			["tóu"],
			["suō"],
			["jǐng"]
		],
		"缩头缩脑": [
			["suō"],
			["tóu"],
			["suō"],
			["nǎo"]
		],
		"缩衣节口": [
			["suō"],
			["yī"],
			["jié"],
			["kǒu"]
		],
		"缩衣节食": [
			["suō"],
			["yī"],
			["jié"],
			["shí"]
		],
		"缩衣啬食": [
			["suō"],
			["yī"],
			["sè"],
			["shí"]
		],
		"所当无敌": [
			["suǒ"],
			["dāng"],
			["wú"],
			["dí"]
		],
		"所到之处": [
			["suǒ"],
			["dào"],
			["zhī"],
			["chù"]
		],
		"所得税": [
			["suǒ"],
			["de"],
			["shuì"]
		],
		"所费不赀": [
			["suǒ"],
			["fèi"],
			["bù"],
			["zī"]
		],
		"所见略同": [
			["suǒ"],
			["jiàn"],
			["lüè"],
			["tóng"]
		],
		"所剩无几": [
			["suǒ"],
			["shèng"],
			["wú"],
			["jǐ"]
		],
		"所见所闻": [
			["suǒ"],
			["jiàn"],
			["suǒ"],
			["wén"]
		],
		"所有者权益": [
			["suǒ"],
			["yǒu"],
			["zhě"],
			["quán"],
			["yì"]
		],
		"所有权": [
			["suǒ"],
			["yǒu"],
			["quán"]
		],
		"所有制": [
			["suǒ"],
			["yǒu"],
			["zhì"]
		],
		"所在地": [
			["suǒ"],
			["zài"],
			["dì"]
		],
		"所作所为": [
			["suǒ"],
			["zuò"],
			["suǒ"],
			["wéi"]
		],
		"索隐行怪": [
			["suǒ"],
			["yǐn"],
			["xíng"],
			["guài"]
		],
		"琐尾流离": [
			["suǒ"],
			["wěi"],
			["liú"],
			["lí"]
		],
		"他山之石": [
			["tā"],
			["shān"],
			["zhī"],
			["shí"]
		],
		"他乡故知": [
			["tā"],
			["xiāng"],
			["gù"],
			["zhī"]
		],
		"他乡异县": [
			["tā"],
			["xiāng"],
			["yì"],
			["xiàn"]
		],
		"他乡遇故知": [
			["tā"],
			["xiāng"],
			["yù"],
			["gù"],
			["zhī"]
		],
		"它山之石": [
			["tā"],
			["shān"],
			["zhī"],
			["shí"]
		],
		"塔夫绸": [
			["tǎ"],
			["fū"],
			["chóu"]
		],
		"塔尖上功德": [
			["tǎ"],
			["jiān"],
			["shàng"],
			["gōng"],
			["dé"]
		],
		"塔里木盆地": [
			["tǎ"],
			["lǐ"],
			["mù"],
			["pén"],
			["dì"]
		],
		"塔什干": [
			["tǎ"],
			["shí"],
			["gàn"]
		],
		"遝冈复岭": [
			["tà"],
			["gāng"],
			["fù"],
			["lǐng"]
		],
		"狧穅及米": [
			["shì"],
			["kǎn"],
			["jí"],
			["mǐ"]
		],
		"踏脚石": [
			["tà"],
			["jiǎo"],
			["shí"]
		],
		"骀背鹤发": [
			["dài"],
			["bèi"],
			["hè"],
			["fā"]
		],
		"台阁生风": [
			["tái"],
			["gé"],
			["shēng"],
			["fēng"]
		],
		"台南市": [
			["tái"],
			["nán"],
			["shì"]
		],
		"台湾省": [
			["tái"],
			["wān"],
			["shěng"]
		],
		"台柱子": [
			["tái"],
			["zhù"],
			["zi"]
		],
		"抬头纹": [
			["tái"],
			["tóu"],
			["wén"]
		],
		"太阿倒持": [
			["tài"],
			["ē"],
			["dào"],
			["chí"]
		],
		"太夫人": [
			["tài"],
			["fū"],
			["rén"]
		],
		"太和殿": [
			["tài"],
			["hé"],
			["diàn"]
		],
		"太湖石": [
			["tài"],
			["hú"],
			["shí"]
		],
		"太平间": [
			["tài"],
			["píng"],
			["jiān"]
		],
		"太平龙头": [
			["tài"],
			["píng"],
			["lóng"],
			["tóu"]
		],
		"太平盛世": [
			["tài"],
			["píng"],
			["shèng"],
			["shì"]
		],
		"太丘道广": [
			["tài"],
			["qiū"],
			["dào"],
			["guǎng"]
		],
		"太山北斗": [
			["tài"],
			["shān"],
			["běi"],
			["dòu"]
		],
		"太上老君": [
			["tài"],
			["shàng"],
			["lǎo"],
			["jūn"]
		],
		"太上皇": [
			["tài"],
			["shàng"],
			["huáng"]
		],
		"太上忘情": [
			["tài"],
			["shàng"],
			["wàng"],
			["qíng"]
		],
		"太师椅": [
			["tài"],
			["shī"],
			["yǐ"]
		],
		"太岁头上动土": [
			["tài"],
			["suì"],
			["tóu"],
			["shàng"],
			["dòng"],
			["tǔ"]
		],
		"太阳地儿": [
			["tài"],
			["yáng"],
			["dì"],
			["ér"]
		],
		"太行山": [
			["tài"],
			["háng"],
			["shān"]
		],
		"太阳能": [
			["tài"],
			["yáng"],
			["néng"]
		],
		"太阳系": [
			["tài"],
			["yáng"],
			["xì"]
		],
		"太子港": [
			["tài"],
			["zǐ"],
			["gǎng"]
		],
		"泰极而否": [
			["tài"],
			["jí"],
			["ér"],
			["pǐ"]
		],
		"泰来否极": [
			["tai"],
			["lái"],
			["fǒu"],
			["jí"]
		],
		"泰来否往": [
			["tài"],
			["lái"],
			["pǐ"],
			["wǎng"]
		],
		"泰然处之": [
			["tài"],
			["rán"],
			["chǔ"],
			["zhī"]
		],
		"泰然自若": [
			["tài"],
			["rán"],
			["zì"],
			["ruò"]
		],
		"泰山北斗": [
			["tài"],
			["shān"],
			["běi"],
			["dǒu"]
		],
		"泰山不让土壤": [
			["tài"],
			["shān"],
			["bù"],
			["ràng"],
			["tǔ"],
			["rǎng"]
		],
		"泰山盘石": [
			["tai"],
			["shān"],
			["pán"],
			["shí"]
		],
		"泰山磐石": [
			["tài"],
			["shān"],
			["pán"],
			["shí"]
		],
		"泰山其颓": [
			["tài"],
			["shān"],
			["qí"],
			["tuí"]
		],
		"泰山石敢当": [
			["tài"],
			["shān"],
			["shí"],
			["gǎn"],
			["dāng"]
		],
		"泰山压顶": [
			["tài"],
			["shān"],
			["yā"],
			["dǐng"]
		],
		"贪便宜": [
			["tān"],
			["pián"],
			["yí"]
		],
		"泰山压卵": [
			["tài"],
			["shān"],
			["yā"],
			["luǎn"]
		],
		"贪财好色": [
			["tān"],
			["cái"],
			["hào"],
			["sè"]
		],
		"贪得无厌": [
			["tān"],
			["dé"],
			["wú"],
			["yàn"]
		],
		"贪多嚼不烂": [
			["tān"],
			["duō"],
			["jiáo"],
			["bù"],
			["làn"]
		],
		"贪多务得": [
			["tān"],
			["duō"],
			["wù"],
			["dé"]
		],
		"贪而无信": [
			["tān"],
			["ér"],
			["wú"],
			["xìn"]
		],
		"贪夫徇财": [
			["tān"],
			["fū"],
			["xùn"],
			["cái"]
		],
		"贪夫狥财": [
			["tān"],
			["fū"],
			["huái"],
			["cái"]
		],
		"贪夫狥利": [
			["tān"],
			["fū"],
			["yě"],
			["lì"]
		],
		"贪夫殉利": [
			["tān"],
			["fū"],
			["xùn"],
			["lì"]
		],
		"贪惏无餍": [
			["tān"],
			["lín"],
			["wú"],
			["yàn"]
		],
		"贪蛇忘尾": [
			["tān"],
			["shé"],
			["wàng"],
			["wěi"]
		],
		"贪墨成风": [
			["tān"],
			["mò"],
			["chéng"],
			["fēng"]
		],
		"贪生恶死": [
			["tān"],
			["shēng"],
			["è"],
			["sǐ"]
		],
		"贪污腐化": [
			["tān"],
			["wū"],
			["fǔ"],
			["huà"]
		],
		"贪污狼藉": [
			["tān"],
			["wū"],
			["láng"],
			["jí"]
		],
		"贪小失大": [
			["tān"],
			["xiǎo"],
			["shī"],
			["dà"]
		],
		"贪心不足": [
			["tān"],
			["xīn"],
			["bù"],
			["zú"]
		],
		"贪赃坏法": [
			["tān"],
			["zāng"],
			["huài"],
			["fǎ"]
		],
		"谈不容口": [
			["tán"],
			["bù"],
			["róng"],
			["kǒu"]
		],
		"谈不上": [
			["tán"],
			["bù"],
			["shàng"]
		],
		"谈得来": [
			["tán"],
			["de"],
			["lái"]
		],
		"谈古说今": [
			["tán"],
			["gǔ"],
			["shuō"],
			["jīn"]
		],
		"谈古论今": [
			["tán"],
			["gǔ"],
			["lùn"],
			["jīn"]
		],
		"谈过其实": [
			["tán"],
			["guò"],
			["qí"],
			["shí"]
		],
		"谈何容易": [
			["tán"],
			["hé"],
			["róng"],
			["yì"]
		],
		"谈今论古": [
			["tán"],
			["jīn"],
			["lùn"],
			["gǔ"]
		],
		"谈空说幻": [
			["tán"],
			["kōng"],
			["shuō"],
			["huàn"]
		],
		"谈空说有": [
			["tán"],
			["kōng"],
			["shuō"],
			["yǒu"]
		],
		"谈论风生": [
			["tán"],
			["lùn"],
			["fēng"],
			["shēng"]
		],
		"谈情说爱": [
			["tán"],
			["qíng"],
			["shuō"],
			["ài"]
		],
		"谈若悬河": [
			["tán"],
			["ruò"],
			["xuán"],
			["hé"]
		],
		"谈天论地": [
			["tán"],
			["tiān"],
			["lùn"],
			["dì"]
		],
		"谈吐风生": [
			["tán"],
			["tǔ"],
			["fēng"],
			["shēng"]
		],
		"谈天说地": [
			["tán"],
			["tiān"],
			["shuō"],
			["dì"]
		],
		"谈吐生风": [
			["tán"],
			["tǔ"],
			["shēng"],
			["fēng"]
		],
		"谈笑风生": [
			["tán"],
			["xiào"],
			["fēng"],
			["shēng"]
		],
		"谈笑封侯": [
			["tán"],
			["xiào"],
			["fēng"],
			["hóu"]
		],
		"谈笑有鸿儒": [
			["tán"],
			["xiào"],
			["yǒu"],
			["hóng"],
			["rú"]
		],
		"谈笑自若": [
			["tán"],
			["xiào"],
			["zì"],
			["ruò"]
		],
		"谈玄说妙": [
			["tán"],
			["xuán"],
			["shuō"],
			["miào"]
		],
		"谈言微中": [
			["tán"],
			["yán"],
			["wēi"],
			["zhòng"]
		],
		"谈议风生": [
			["tán"],
			["yì"],
			["fēng"],
			["shēng"]
		],
		"谈圆说通": [
			["tán"],
			["yuán"],
			["shuō"],
			["tōng"]
		],
		"谭天说地": [
			["tán"],
			["tiān"],
			["shuō"],
			["dì"]
		],
		"谭言微中": [
			["tán"],
			["yán"],
			["wēi"],
			["zhòng"]
		],
		"檀郎谢女": [
			["tán"],
			["láng"],
			["xiè"],
			["nǚ"]
		],
		"檀香扇": [
			["tán"],
			["xiāng"],
			["shàn"]
		],
		"忐上忑下": [
			["tǎn"],
			["shàng"],
			["tè"],
			["xià"]
		],
		"忐忑不定": [
			["tǎn"],
			["tè"],
			["bù"],
			["dìng"]
		],
		"忐忑不安": [
			["tǎn"],
			["tè"],
			["bù"],
			["ān"]
		],
		"坦克车": [
			["tǎn"],
			["kè"],
			["chē"]
		],
		"坦然自若": [
			["tǎn"],
			["rán"],
			["zì"],
			["ruò"]
		],
		"袒裼裸裎": [
			["tǎn"],
			["xī"],
			["luǒ"],
			["chéng"]
		],
		"袒臂挥拳": [
			["tǎn"],
			["bì"],
			["huī"],
			["quán"]
		],
		"袒胸露背": [
			["tǎn"],
			["xiōng"],
			["lù"],
			["bèi"]
		],
		"袒胸露臂": [
			["tǎn"],
			["xiōng"],
			["lù"],
			["bì"]
		],
		"叹观止矣": [
			["tàn"],
			["guān"],
			["zhǐ"],
			["yǐ"]
		],
		"叹为观止": [
			["tàn"],
			["wéi"],
			["guān"],
			["zhǐ"]
		],
		"探观止矣": [
			["tàn"],
			["guān"],
			["zhǐ"],
			["yǐ"]
		],
		"探骊得珠": [
			["tàn"],
			["lí"],
			["dé"],
			["zhū"]
		],
		"探囊胠箧": [
			["tàn"],
			["náng"],
			["wú"],
			["qiè"]
		],
		"探囊取物": [
			["tàn"],
			["náng"],
			["qǔ"],
			["wù"]
		],
		"探汤蹈火": [
			["tàn"],
			["tāng"],
			["dǎo"],
			["huǒ"]
		],
		"探头缩脑": [
			["tàn"],
			["tóu"],
			["suō"],
			["nǎo"]
		],
		"探头探脑": [
			["tàn"],
			["tóu"],
			["tàn"],
			["nǎo"]
		],
		"探幽索隐": [
			["tàn"],
			["yōu"],
			["suǒ"],
			["yǐn"]
		],
		"探赜索隐": [
			["tàn"],
			["zé"],
			["suǒ"],
			["yǐn"]
		],
		"碳化硅": [
			["tàn"],
			["huà"],
			["guī"]
		],
		"碳水化合物": [
			["tàn"],
			["shuǐ"],
			["huà"],
			["hé"],
			["wù"]
		],
		"碳化物": [
			["tàn"],
			["huà"],
			["wù"]
		],
		"碳素钢": [
			["tàn"],
			["sù"],
			["gāng"]
		],
		"汤池铁城": [
			["tāng"],
			["chí"],
			["tiě"],
			["chéng"]
		],
		"汤去三面": [
			["tāng"],
			["qù"],
			["sān"],
			["miàn"]
		],
		"汤婆子": [
			["tāng"],
			["pó"],
			["zǐ"]
		],
		"汤烧火热": [
			["tāng"],
			["shāo"],
			["huǒ"],
			["rè"]
		],
		"唐古拉山": [
			["táng"],
			["gǔ"],
			["lā"],
			["shān"]
		],
		"唐临晋帖": [
			["táng"],
			["lín"],
			["jìn"],
			["tiē"]
		],
		"唐宋八大家": [
			["táng"],
			["sòng"],
			["bā"],
			["dà"],
			["jiā"]
		],
		"堂皇富丽": [
			["táng"],
			["huáng"],
			["fù"],
			["lì"]
		],
		"堂皇冠冕": [
			["táng"],
			["huáng"],
			["guàn"],
			["miǎn"]
		],
		"堂皇正大": [
			["táng"],
			["huáng"],
			["zhèng"],
			["dà"]
		],
		"堂堂正正": [
			["táng"],
			["táng"],
			["zhèng"],
			["zhèng"]
		],
		"堂兄弟": [
			["táng"],
			["xiōng"],
			["dì"]
		],
		"糖萝卜": [
			["táng"],
			["luó"],
			["bo"]
		],
		"糖尿病": [
			["táng"],
			["niào"],
			["bìng"]
		],
		"螳臂当车": [
			["táng"],
			["bì"],
			["dāng"],
			["chē"]
		],
		"螳臂当辙": [
			["táng"],
			["bì"],
			["dāng"],
			["zhé"]
		],
		"糖衣炮弹": [
			["táng"],
			["yī"],
			["pào"],
			["dàn"]
		],
		"螳臂挡车": [
			["táng"],
			["bì"],
			["dǎng"],
			["chē"]
		],
		"螳螂奋臂": [
			["táng"],
			["láng"],
			["fèn"],
			["bì"]
		],
		"螳螂黄雀": [
			["táng"],
			["láng"],
			["huáng"],
			["què"]
		],
		"倘来之物": [
			["tǎng"],
			["lái"],
			["zhī"],
			["wù"]
		],
		"滔滔不断": [
			["tāo"],
			["tāo"],
			["bù"],
			["duàn"]
		],
		"滔滔不尽": [
			["tāo"],
			["tāo"],
			["bù"],
			["jìn"]
		],
		"滔滔不竭": [
			["tāo"],
			["tāo"],
			["bù"],
			["jié"]
		],
		"滔滔不绝": [
			["tāo"],
			["tāo"],
			["bù"],
			["jué"]
		],
		"滔滔汩汩": [
			["tāo"],
			["tāo"],
			["gǔ"],
			["gǔ"]
		],
		"滔天大罪": [
			["tāo"],
			["tiān"],
			["dà"],
			["zuì"]
		],
		"滔天罪行": [
			["tāo"],
			["tiān"],
			["zuì"],
			["xíng"]
		],
		"韬光俟奋": [
			["tāo"],
			["guāng"],
			["sì"],
			["fèn"]
		],
		"韬戈卷甲": [
			["tāo"],
			["gē"],
			["juàn"],
			["jiǎ"]
		],
		"韬光隐晦": [
			["tāo"],
			["guāng"],
			["yǐn"],
			["huì"]
		],
		"韬光隐迹": [
			["tāo"],
			["guāng"],
			["yǐn"],
			["jì"]
		],
		"韬光韫玉": [
			["tāo"],
			["guāng"],
			["yùn"],
			["yù"]
		],
		"韬晦待时": [
			["tāo"],
			["huì"],
			["dài"],
			["shí"]
		],
		"韬迹隐智": [
			["tāo"],
			["jì"],
			["yǐn"],
			["zhì"]
		],
		"饕风虐雪": [
			["tāo"],
			["fēng"],
			["nüè"],
			["xuě"]
		],
		"逃灾避难": [
			["táo"],
			["zāi"],
			["bì"],
			["nàn"]
		],
		"桃红柳绿": [
			["táo"],
			["hóng"],
			["liǔ"],
			["lǜ"]
		],
		"桃花扇": [
			["táo"],
			["huā"],
			["shàn"]
		],
		"桃来李答": [
			["táo"],
			["lái"],
			["lǐ"],
			["dá"]
		],
		"桃李春风": [
			["táo"],
			["lǐ"],
			["chūn"],
			["fēng"]
		],
		"桃李之教": [
			["táo"],
			["lǐ"],
			["zhī"],
			["jiào"]
		],
		"桃蹊柳曲": [
			["táo"],
			["qī"],
			["liǔ"],
			["qǔ"]
		],
		"陶犬瓦鸡": [
			["táo"],
			["quǎn"],
			["wǎ"],
			["jī"]
		],
		"陶然自得": [
			["táo"],
			["rán"],
			["zì"],
			["dé"]
		],
		"淘沙得金": [
			["táo"],
			["shā"],
			["dé"],
			["jīn"]
		],
		"淘沙取金": [
			["táo"],
			["shā"],
			["qǔ"],
			["jīn"]
		],
		"讨便宜": [
			["tǎo"],
			["pián"],
			["yí"]
		],
		"讨恶翦暴": [
			["tǎo"],
			["è"],
			["jiǎn"],
			["bào"]
		],
		"讨价还价": [
			["tǎo"],
			["jià"],
			["huán"],
			["jià"]
		],
		"讨类知原": [
			["tǎo"],
			["lèi"],
			["zhī"],
			["yuán"]
		],
		"套口供": [
			["tào"],
			["kǒu"],
			["gòng"]
		],
		"套中人": [
			["tào"],
			["zhōng"],
			["rén"]
		],
		"特大号": [
			["tè"],
			["dà"],
			["hào"]
		],
		"特立独行": [
			["tè"],
			["lì"],
			["dú"],
			["xíng"]
		],
		"特派员": [
			["tè"],
			["pài"],
			["yuán"]
		],
		"特殊教育": [
			["tè"],
			["shū"],
			["jiào"],
			["yù"]
		],
		"特殊化": [
			["tè"],
			["shū"],
			["huà"]
		],
		"特异功能": [
			["tè"],
			["yì"],
			["gōng"],
			["néng"]
		],
		"特种邮票": [
			["tè"],
			["zhǒng"],
			["yóu"],
			["piào"]
		],
		"腾空而起": [
			["téng"],
			["kōng"],
			["ér"],
			["qǐ"]
		],
		"剔抽禿刷": [
			["tī"],
			["chōu"],
			["tū"],
			["shuā"]
		],
		"剔抽秃揣": [
			["tī"],
			["chōu"],
			["tū"],
			["chuǎi"]
		],
		"剔蝎撩蜂": [
			["tī"],
			["xiē"],
			["liáo"],
			["fēng"]
		],
		"踢天弄井": [
			["tī"],
			["tiān"],
			["nòng"],
			["jǐng"]
		],
		"绨袍之义": [
			["tì"],
			["páo"],
			["zhī"],
			["yì"]
		],
		"啼饥号寒": [
			["tí"],
			["jī"],
			["háo"],
			["hán"]
		],
		"啼天哭地": [
			["tí"],
			["tiān"],
			["kū"],
			["dì"]
		],
		"提纲举领": [
			["tí"],
			["gāng"],
			["jǔ"],
			["lǐng"]
		],
		"提纲振领": [
			["tí"],
			["gāng"],
			["zhèn"],
			["lǐng"]
		],
		"提纲挈领": [
			["tí"],
			["gāng"],
			["qiè"],
			["lǐng"]
		],
		"提名道姓": [
			["tí"],
			["míng"],
			["dào"],
			["xìng"]
		],
		"提心吊胆": [
			["tí"],
			["xīn"],
			["diào"],
			["dǎn"]
		],
		"提心在口": [
			["tí"],
			["xīn"],
			["zài"],
			["kǒu"]
		],
		"蹄间三寻": [
			["tí"],
			["jìan"],
			["sān"],
			["xún"]
		],
		"蹄閒三寻": [
			["tí"],
			["jiàn"],
			["sān"],
			["xún"]
		],
		"醍醐灌顶": [
			["tí"],
			["hú"],
			["guàn"],
			["dǐng"]
		],
		"鶗鴂雕卉": [
			["tí"],
			["jué"],
			["diāo"],
			["huì"]
		],
		"提要钩玄": [
			["tí"],
			["yào"],
			["gōu"],
			["xuán"]
		],
		"体大思精": [
			["tǐ"],
			["dà"],
			["sī"],
			["jīng"]
		],
		"体规画圆": [
			["tǐ"],
			["guī"],
			["huà"],
			["yuán"]
		],
		"体国经野": [
			["tǐ"],
			["guó"],
			["jīng"],
			["yě"]
		],
		"体力劳动": [
			["tǐ"],
			["lì"],
			["láo"],
			["dòng"]
		],
		"体态语": [
			["tǐ"],
			["tài"],
			["yǔ"]
		],
		"体贴入妙": [
			["tǐ"],
			["tiē"],
			["rù"],
			["miào"]
		],
		"体贴入微": [
			["tǐ"],
			["tiē"],
			["rù"],
			["wēi"]
		],
		"体外受精": [
			["tǐ"],
			["wài"],
			["shòu"],
			["jīng"]
		],
		"体温表": [
			["tǐ"],
			["wēn"],
			["biǎo"]
		],
		"体温计": [
			["tǐ"],
			["wēn"],
			["jì"]
		],
		"体无完肤": [
			["tǐ"],
			["wú"],
			["wán"],
			["fū"]
		],
		"体无完皮": [
			["tǐ"],
			["wú"],
			["wán"],
			["pí"]
		],
		"体物缘情": [
			["tǐ"],
			["wù"],
			["yuán"],
			["qíng"]
		],
		"体恤入微": [
			["tǐ"],
			["xù"],
			["rù"],
			["wēi"]
		],
		"体育场": [
			["tǐ"],
			["yù"],
			["chǎng"]
		],
		"体育道德": [
			["tǐ"],
			["yù"],
			["dào"],
			["dé"]
		],
		"体育馆": [
			["tǐ"],
			["yù"],
			["guǎn"]
		],
		"体育运动": [
			["tǐ"],
			["yù"],
			["yùn"],
			["dòng"]
		],
		"体胀系数": [
			["tǐ"],
			["zhàng"],
			["xì"],
			["shù"]
		],
		"体制改革": [
			["tǐ"],
			["zhì"],
			["gǎi"],
			["gé"]
		],
		"剃光头": [
			["tì"],
			["guāng"],
			["tóu"]
		],
		"倜傥不羁": [
			["tì"],
			["tǎng"],
			["bù"],
			["jī"]
		],
		"倜傥不群": [
			["tì"],
			["tǎng"],
			["bù"],
			["qún"]
		],
		"涕泗横流": [
			["tì"],
			["sì"],
			["héng"],
			["liú"]
		],
		"涕零如雨": [
			["tì"],
			["líng"],
			["rú"],
			["yǔ"]
		],
		"涕泗滂沲": [
			["tì"],
			["sì"],
			["pāng"],
			["tuó"]
		],
		"涕泗纵横": [
			["tì"],
			["sì"],
			["zòng"],
			["héng"]
		],
		"逖听远闻": [
			["tì"],
			["tīng"],
			["yuǎn"],
			["wén"]
		],
		"逷听远闻": [
			["tì"],
			["tīng"],
			["yuǎn"],
			["wén"]
		],
		"替古人担忧": [
			["tì"],
			["gǔ"],
			["rén"],
			["dān"],
			["yōu"]
		],
		"替身演员": [
			["tì"],
			["shēn"],
			["yǎn"],
			["yuán"]
		],
		"替天行道": [
			["tì"],
			["tiān"],
			["xíng"],
			["dào"]
		],
		"替罪羊": [
			["tì"],
			["zuì"],
			["yáng"]
		],
		"殢雨尤云": [
			["tì"],
			["yǔ"],
			["yóu"],
			["yún"]
		],
		"殢云尤雨": [
			["tì"],
			["yún"],
			["yóu"],
			["yǔ"]
		],
		"天安门广场": [
			["tiān"],
			["ān"],
			["mén"],
			["guǎng"],
			["chǎng"]
		],
		"天宝当年": [
			["tian"],
			["bao"],
			["dang"],
			["nian"]
		],
		"天崩地坼": [
			["tiān"],
			["bēng"],
			["dì"],
			["chè"]
		],
		"天崩地解": [
			["tiān"],
			["bēng"],
			["dì"],
			["jiě"]
		],
		"天崩地裂": [
			["tiān"],
			["bēng"],
			["dì"],
			["liè"]
		],
		"天崩地塌": [
			["tiān"],
			["bēng"],
			["dì"],
			["tā"]
		],
		"天崩地坍": [
			["tiān"],
			["bēng"],
			["dì"],
			["tān"]
		],
		"天崩地陷": [
			["tiān"],
			["bēng"],
			["dì"],
			["xiàn"]
		],
		"天兵天将": [
			["tiān"],
			["bīng"],
			["tiān"],
			["jiàng"]
		],
		"天不假年": [
			["tiān"],
			["bù"],
			["jiǎ"],
			["nián"]
		],
		"天不绝人": [
			["tiān"],
			["bù"],
			["jué"],
			["rén"]
		],
		"天才论": [
			["tiān"],
			["cái"],
			["lùn"]
		],
		"天不作美": [
			["tiān"],
			["bù"],
			["zuò"],
			["měi"]
		],
		"天差地远": [
			["tiān"],
			["chā"],
			["dì"],
			["yuǎn"]
		],
		"天长地久": [
			["tiān"],
			["cháng"],
			["dì"],
			["jiǔ"]
		],
		"天长地老": [
			["tiān"],
			["cháng"],
			["dì"],
			["lǎo"]
		],
		"天长日久": [
			["tiān"],
			["cháng"],
			["rì"],
			["jiǔ"]
		],
		"天成地平": [
			["tiān"],
			["chéng"],
			["dì"],
			["píng"]
		],
		"天愁地惨": [
			["tiān"],
			["chóu"],
			["dì"],
			["cǎn"]
		],
		"天从人原": [
			["tiān"],
			["cóng"],
			["rén"],
			["yuán"]
		],
		"天从人愿": [
			["tiān"],
			["cóng"],
			["rén"],
			["yuàn"]
		],
		"天摧地塌": [
			["tiān"],
			["cuī"],
			["dì"],
			["tā"]
		],
		"天打雷劈": [
			["tiān"],
			["dǎ"],
			["léi"],
			["pī"]
		],
		"天大地大": [
			["tiān"],
			["dà"],
			["dì"],
			["dà"]
		],
		"天道好还": [
			["tiān"],
			["dào"],
			["hǎo"],
			["huán"]
		],
		"天道无亲": [
			["tiān"],
			["dào"],
			["wú"],
			["qīn"]
		],
		"天道宁论": [
			["tiān"],
			["dào"],
			["níng"],
			["lùn"]
		],
		"天底下": [
			["tiān"],
			["dǐ"],
			["xià"]
		],
		"天地不容": [
			["tiān"],
			["dì"],
			["bù"],
			["róng"]
		],
		"天地长久": [
			["tiān"],
			["dì"],
			["cháng"],
			["jiǔ"]
		],
		"天地会": [
			["tiān"],
			["dì"],
			["huì"]
		],
		"天地经纬": [
			["tiān"],
			["dì"],
			["jīng"],
			["wěi"]
		],
		"天地良心": [
			["tiān"],
			["dì"],
			["liáng"],
			["xīn"]
		],
		"天地诛灭": [
			["tiān"],
			["dì"],
			["zhū"],
			["miè"]
		],
		"天地诛戮": [
			["tiān"],
			["dì"],
			["zhū"],
			["lù"]
		],
		"天地剖判": [
			["tiān"],
			["dì"],
			["pōu"],
			["pàn"]
		],
		"天夺其魄": [
			["tiān"],
			["duó"],
			["qí"],
			["pò"]
		],
		"天翻地覆": [
			["tiān"],
			["fān"],
			["dì"],
			["fù"]
		],
		"天覆地载": [
			["tiān"],
			["fù"],
			["dì"],
			["zǎi"]
		],
		"天高地厚": [
			["tiān"],
			["gāo"],
			["dì"],
			["hòu"]
		],
		"天高地迥": [
			["tiān"],
			["gāo"],
			["dì"],
			["jiǒng"]
		],
		"天高地下": [
			["tiān"],
			["gāo"],
			["dì"],
			["xià"]
		],
		"天高皇帝远": [
			["tiān"],
			["gāo"],
			["huáng"],
			["dì"],
			["yuǎn"]
		],
		"天高日远": [
			["tiān"],
			["gāo"],
			["rì"],
			["yuǎn"]
		],
		"天各一方": [
			["tiān"],
			["gè"],
			["yī"],
			["fāng"]
		],
		"天公地道": [
			["tiān"],
			["gōng"],
			["dì"],
			["dào"]
		],
		"天冠地屦": [
			["tiān"],
			["guān"],
			["dì"],
			["jù"]
		],
		"天寒地冻": [
			["tiān"],
			["hán"],
			["dì"],
			["dòng"]
		],
		"天华乱坠": [
			["tiān"],
			["huā"],
			["luàn"],
			["zhuì"]
		],
		"天荒地老": [
			["tiān"],
			["huāng"],
			["dì"],
			["lǎo"]
		],
		"天潢贵胄": [
			["tiān"],
			["huáng"],
			["guì"],
			["zhòu"]
		],
		"天昏地暗": [
			["tiān"],
			["hūn"],
			["dì"],
			["àn"]
		],
		"天昏地黑": [
			["tiān"],
			["hūn"],
			["dì"],
			["hēi"]
		],
		"天假良缘": [
			["tiān"],
			["jiǎ"],
			["liáng"],
			["yuán"]
		],
		"天假其年": [
			["tiān"],
			["jiǎ"],
			["qí"],
			["nián"]
		],
		"天假因缘": [
			["tiān"],
			["jiǎ"],
			["yīn"],
			["yuán"]
		],
		"天假之年": [
			["tiān"],
			["jiǎ"],
			["zhī"],
			["nián"]
		],
		"天津大学": [
			["tiān"],
			["jīn"],
			["dà"],
			["xué"]
		],
		"天经地纬": [
			["tiān"],
			["jīng"],
			["dì"],
			["wěi"]
		],
		"天经地义": [
			["tiān"],
			["jīng"],
			["dì"],
			["yì"]
		],
		"天荆地棘": [
			["tiān"],
			["jīng"],
			["dì"],
			["jí"]
		],
		"天惊石破": [
			["tiān"],
			["jīng"],
			["shí"],
			["pò"]
		],
		"天开地辟": [
			["tiān"],
			["kāi"],
			["dì"],
			["pì"]
		],
		"天空海阔": [
			["tiān"],
			["kōng"],
			["hǎi"],
			["kuò"]
		],
		"天老地荒": [
			["tiān"],
			["lǎo"],
			["dì"],
			["huāng"]
		],
		"天理不容": [
			["tiān"],
			["lǐ"],
			["bù"],
			["róng"]
		],
		"天理教": [
			["tiān"],
			["lǐ"],
			["jiào"]
		],
		"天理难容": [
			["tiān"],
			["lǐ"],
			["nán"],
			["róng"]
		],
		"天伦之乐": [
			["tiān"],
			["lún"],
			["zhī"],
			["lè"]
		],
		"天灵盖": [
			["tiān"],
			["líng"],
			["gài"]
		],
		"天罗地网": [
			["tiān"],
			["luó"],
			["dì"],
			["wǎng"]
		],
		"天马行空": [
			["tiān"],
			["mǎ"],
			["xíng"],
			["kōng"]
		],
		"天命有归": [
			["tiān"],
			["mìng"],
			["yǒu"],
			["guī"]
		],
		"天末凉风": [
			["tiān"],
			["mò"],
			["liáng"],
			["fēng"]
		],
		"天南地北": [
			["tiān"],
			["nán"],
			["dì"],
			["běi"]
		],
		"天南海北": [
			["tiān"],
			["nán"],
			["hǎi"],
			["běi"]
		],
		"天年不测": [
			["tiān"],
			["nián"],
			["bù"],
			["cè"]
		],
		"天年不齐": [
			["tiān"],
			["nián"],
			["bù"],
			["qí"]
		],
		"天年不遂": [
			["tiān"],
			["nián"],
			["bù"],
			["suì"]
		],
		"天凝地闭": [
			["tiān"],
			["níng"],
			["dì"],
			["bì"]
		],
		"天女散花": [
			["tiān"],
			["nǚ"],
			["sàn"],
			["huā"]
		],
		"天平地成": [
			["tiān"],
			["píng"],
			["dì"],
			["chéng"]
		],
		"天壤王郎": [
			["tiān"],
			["rǎng"],
			["wáng"],
			["láng"]
		],
		"天人共鉴": [
			["tiān"],
			["rén"],
			["gòng"],
			["jiàn"]
		],
		"天人合一": [
			["tiān"],
			["rén"],
			["hé"],
			["yī"]
		],
		"天上石麟": [
			["tiān"],
			["shàng"],
			["shí"],
			["lín"]
		],
		"天上人间": [
			["tiān"],
			["shàng"],
			["rén"],
			["jiān"]
		],
		"天壤之别": [
			["tiān"],
			["rǎng"],
			["zhī"],
			["bié"]
		],
		"天上麒麟": [
			["tiān"],
			["shàng"],
			["qí"],
			["lín"]
		],
		"天生地设": [
			["tiān"],
			["shēng"],
			["dì"],
			["shè"]
		],
		"天生丽质": [
			["tiān"],
			["shēng"],
			["lì"],
			["zhì"]
		],
		"天生天化": [
			["tiān"],
			["shēng"],
			["tiān"],
			["huà"]
		],
		"天授地设": [
			["tiān"],
			["shòu"],
			["dì"],
			["shè"]
		],
		"天时地利人和": [
			["tiān"],
			["shí"],
			["dì"],
			["lì"],
			["rén"],
			["hé"]
		],
		"天粟马角": [
			["tiān"],
			["sù"],
			["mǎ"],
			["jiǎo"]
		],
		"天塌地陷": [
			["tiān"],
			["tā"],
			["dì"],
			["xiàn"]
		],
		"天台路迷": [
			["tiān"],
			["tái"],
			["lù"],
			["mí"]
		],
		"天堂地狱": [
			["tiān"],
			["táng"],
			["dì"],
			["yù"]
		],
		"天外有天": [
			["tiān"],
			["wài"],
			["yǒu"],
			["tiān"]
		],
		"天王老子": [
			["tiān"],
			["wáng"],
			["lǎo"],
			["zǐ"]
		],
		"天王星": [
			["tiān"],
			["wáng"],
			["xīng"]
		],
		"天文单位": [
			["tiān"],
			["wén"],
			["dān"],
			["wèi"]
		],
		"天文地理": [
			["tiān"],
			["wén"],
			["dì"],
			["lǐ"]
		],
		"天文数字": [
			["tiān"],
			["wén"],
			["shù"],
			["zì"]
		],
		"天文台": [
			["tiān"],
			["wén"],
			["tái"]
		],
		"天文望远镜": [
			["tiān"],
			["wén"],
			["wàng"],
			["yuǎn"],
			["jìng"]
		],
		"天下大乱": [
			["tiān"],
			["xià"],
			["dà"],
			["luàn"]
		],
		"天下莫敌": [
			["tiān"],
			["xià"],
			["mò"],
			["dí"]
		],
		"天下为公": [
			["tiān"],
			["xià"],
			["wéi"],
			["gōng"]
		],
		"天下为笼": [
			["tiān"],
			["xià"],
			["wéi"],
			["lóng"]
		],
		"天下为家": [
			["tiān"],
			["xià"],
			["wéi"],
			["jiā"]
		],
		"天下一家": [
			["tiān"],
			["xià"],
			["yī"],
			["jiā"]
		],
		"天晓得": [
			["tiān"],
			["xiǎo"],
			["de"]
		],
		"天悬地隔": [
			["tiān"],
			["xuán"],
			["dì"],
			["gé"]
		],
		"天旋地转": [
			["tiān"],
			["xuán"],
			["dì"],
			["zhuàn"]
		],
		"天涯地角": [
			["tiān"],
			["yá"],
			["dì"],
			["jiǎo"]
		],
		"天涯海角": [
			["tiān"],
			["yá"],
			["hǎi"],
			["jiǎo"]
		],
		"天涯若比邻": [
			["tiān"],
			["yá"],
			["ruò"],
			["bǐ"],
			["lín"]
		],
		"天涯咫尺": [
			["tiān"],
			["yá"],
			["zhǐ"],
			["chǐ"]
		],
		"天摇地动": [
			["tiān"],
			["yáo"],
			["dì"],
			["dòng"]
		],
		"天行时气": [
			["tiān"],
			["xíng"],
			["shí"],
			["qì"]
		],
		"天衣无缝": [
			["tiān"],
			["yī"],
			["wú"],
			["fèng"]
		],
		"天有不测风云": [
			["tiān"],
			["yǒu"],
			["bù"],
			["cè"],
			["fēng"],
			["yún"]
		],
		"天诱其衷": [
			["tiān"],
			["yòu"],
			["qí"],
			["zhōng"]
		],
		"天与人归": [
			["tiān"],
			["yǔ"],
			["rén"],
			["guī"]
		],
		"天渊之别": [
			["tiān"],
			["yuān"],
			["zhī"],
			["bié"]
		],
		"天缘凑合": [
			["tiān"],
			["yuán"],
			["còu"],
			["hé"]
		],
		"天灾地变": [
			["tiān"],
			["zāi"],
			["dì"],
			["biàn"]
		],
		"天灾地妖": [
			["tiān"],
			["zāi"],
			["dì"],
			["yāo"]
		],
		"天造地设": [
			["tiān"],
			["zào"],
			["dì"],
			["shè"]
		],
		"天震地骇": [
			["tiān"],
			["zhèn"],
			["dì"],
			["hài"]
		],
		"天知道": [
			["tiān"],
			["zhī"],
			["dào"]
		],
		"天知地知": [
			["tiān"],
			["zhī"],
			["dì"],
			["zhī"]
		],
		"天诛地灭": [
			["tiān"],
			["zhū"],
			["dì"],
			["miè"]
		],
		"天主教": [
			["tiān"],
			["zhǔ"],
			["jiào"]
		],
		"天作之合": [
			["tiān"],
			["zuò"],
			["zhī"],
			["hé"]
		],
		"天字第一号": [
			["tiān"],
			["zì"],
			["dì"],
			["yī"],
			["hào"]
		],
		"添盐着醋": [
			["tiān"],
			["yán"],
			["zhe"],
			["cù"]
		],
		"添枝加叶": [
			["tiān"],
			["zhī"],
			["jiā"],
			["yè"]
		],
		"添枝接叶": [
			["tiān"],
			["zhī"],
			["jiē"],
			["yè"]
		],
		"添枝增叶": [
			["tiān"],
			["zhī"],
			["zēng"],
			["yè"]
		],
		"添砖加瓦": [
			["tiān"],
			["zhuān"],
			["jiē"],
			["wǎ"]
		],
		"田夫野老": [
			["tián"],
			["fū"],
			["yě"],
			["lǎo"]
		],
		"田父献曝": [
			["tián"],
			["fǔ"],
			["xiàn"],
			["pù"]
		],
		"田父之功": [
			["tián"],
			["fǔ"],
			["zhī"],
			["gōng"]
		],
		"田间管理": [
			["tián"],
			["jiān"],
			["guǎn"],
			["lǐ"]
		],
		"恬不为怪": [
			["tián"],
			["bù"],
			["wéi"],
			["guài"]
		],
		"恬不为意": [
			["tián"],
			["bù"],
			["wéi"],
			["yì"]
		],
		"恬不知耻": [
			["tián"],
			["bù"],
			["zhī"],
			["chǐ"]
		],
		"恬不知愧": [
			["tián"],
			["bù"],
			["zhī"],
			["kuì"]
		],
		"恬不知怪": [
			["tián"],
			["bù"],
			["zhī"],
			["guài"]
		],
		"恬不知羞": [
			["tián"],
			["bù"],
			["zhī"],
			["xiū"]
		],
		"恬淡无为": [
			["tián"],
			["dàn"],
			["wú"],
			["wéi"]
		],
		"甜言美语": [
			["tián"],
			["yán"],
			["měi"],
			["yǔ"]
		],
		"甜言媚语": [
			["tián"],
			["yán"],
			["mèi"],
			["yǔ"]
		],
		"甜言蜜语": [
			["tián"],
			["yán"],
			["mì"],
			["yǔ"]
		],
		"甜言软语": [
			["tián"],
			["yán"],
			["ruǎn"],
			["yǔ"]
		],
		"填坑满谷": [
			["tián"],
			["kēng"],
			["mǎn"],
			["gǔ"]
		],
		"填鸭式": [
			["tián"],
			["yā"],
			["shì"]
		],
		"靦颜事仇": [
			["tiǎn"],
			["yán"],
			["shì"],
			["chóu"]
		],
		"挑拨离间": [
			["tiǎo"],
			["bō"],
			["lí"],
			["jiàn"]
		],
		"填街塞巷": [
			["tián"],
			["jiē"],
			["sāi"],
			["xiàng"]
		],
		"挑茶斡刺": [
			["tiāo"],
			["chá"],
			["wò"],
			["cì"]
		],
		"挑唇料嘴": [
			["tiǎo"],
			["chún"],
			["liào"],
			["zuǐ"]
		],
		"挑大梁": [
			["tiǎo"],
			["dà"],
			["liáng"]
		],
		"挑得篮里便是菜": [
			["tiǎo"],
			["dé"],
			["lán"],
			["lǐ"],
			["biàn"],
			["shì"],
			["cài"]
		],
		"挑肥拣瘦": [
			["tiāo"],
			["féi"],
			["jiǎn"],
			["shòu"]
		],
		"挑精拣肥": [
			["tiāo"],
			["jīng"],
			["jiǎn"],
			["féi"]
		],
		"挑毛拣刺": [
			["tiāo"],
			["máo"],
			["jiǎn"],
			["cì"]
		],
		"挑么挑六": [
			["tiāo"],
			["yāo"],
			["tiāo"],
			["liù"]
		],
		"挑三拨四": [
			["tiāo"],
			["sān"],
			["bō"],
			["sì"]
		],
		"挑三豁四": [
			["tiāo"],
			["sān"],
			["huō"],
			["sì"]
		],
		"挑三拣四": [
			["tiāo"],
			["sān"],
			["jiǎn"],
			["sì"]
		],
		"挑三检四": [
			["tiāo"],
			["sān"],
			["jiǎn"],
			["sì"]
		],
		"挑三嫌四": [
			["tiāo"],
			["sān"],
			["xián"],
			["sì"]
		],
		"挑雪填井": [
			["tiāo"],
			["xuě"],
			["tián"],
			["jǐng"]
		],
		"挑牙料唇": [
			["tiǎo"],
			["yá"],
			["liào"],
			["chún"]
		],
		"条分缕析": [
			["tiáo"],
			["fēn"],
			["lǚ"],
			["xī"]
		],
		"挑幺挑六": [
			["tiāo"],
			["yāo"],
			["tiāo"],
			["liù"]
		],
		"条贯部分": [
			["tiáo"],
			["guàn"],
			["bù"],
			["fēn"]
		],
		"条分节解": [
			["tiáo"],
			["fēn"],
			["jié"],
			["jiě"]
		],
		"条件刺激": [
			["tiáo"],
			["jiàn"],
			["cì"],
			["jī"]
		],
		"条件反射": [
			["tiáo"],
			["jiàn"],
			["fǎn"],
			["shè"]
		],
		"条解支劈": [
			["tiáo"],
			["jiě"],
			["zhī"],
			["pī"]
		],
		"条入叶贯": [
			["tiáo"],
			["rù"],
			["yè"],
			["guàn"]
		],
		"条三窝四": [
			["tiáo"],
			["sān"],
			["wō"],
			["sì"]
		],
		"条条大路通罗马": [
			["tiáo"],
			["tiáo"],
			["dà"],
			["lù"],
			["tōng"],
			["luó"],
			["mǎ"]
		],
		"条条框框": [
			["tiáo"],
			["tiáo"],
			["kuàng"],
			["kuàng"]
		],
		"粜风卖雨": [
			["tiào"],
			["fēng"],
			["mài"],
			["yǔ"]
		],
		"跳到黄河洗不清": [
			["tiào"],
			["dào"],
			["huáng"],
			["hé"],
			["xǐ"],
			["bù"],
			["qīng"]
		],
		"跳房子": [
			["tiào"],
			["fáng"],
			["zi"]
		],
		"跳进黄河洗不清": [
			["tiào"],
			["jìn"],
			["huáng"],
			["hé"],
			["xǐ"],
			["bù"],
			["qīng"]
		],
		"跳梁小丑": [
			["tiào"],
			["liáng"],
			["xiǎo"],
			["chǒu"]
		],
		"跳皮筋": [
			["tiào"],
			["pí"],
			["jīn"]
		],
		"跳伞塔": [
			["tiào"],
			["sǎn"],
			["tǎ"]
		],
		"条修叶贯": [
			["tiáo"],
			["xiū"],
			["yè"],
			["guàn"]
		],
		"跳丸日月": [
			["tiào"],
			["wán"],
			["rì"],
			["yuè"]
		],
		"跳水池": [
			["tiào"],
			["shuǐ"],
			["chí"]
		],
		"跳起来": [
			["tiào"],
			["qǐ"],
			["lái"]
		],
		"跳在黄河洗不清": [
			["tiào"],
			["zài"],
			["huáng"],
			["hé"],
			["xǐ"],
			["bù"],
			["qīng"]
		],
		"贴膏药": [
			["tiē"],
			["gāo"],
			["yào"]
		],
		"铁板钉钉": [
			["tiě"],
			["bǎn"],
			["dìng"],
			["dīng"]
		],
		"铁棒磨成针": [
			["tiě"],
			["bàng"],
			["mó"],
			["chéng"],
			["zhēn"]
		],
		"铁肠石心": [
			["tiě"],
			["cháng"],
			["shí"],
			["xīn"]
		],
		"铁杵磨成针": [
			["tiě"],
			["chǔ"],
			["mó"],
			["chéng"],
			["zhēn"]
		],
		"铁绰铜琶": [
			["tiě"],
			["chuō"],
			["tóng"],
			["pá"]
		],
		"铁窗风味": [
			["tiě"],
			["chuāng"],
			["fēng"],
			["wèi"]
		],
		"铁板不易": [
			["tiě"],
			["bǎn"],
			["bù"],
			["yì"]
		],
		"铁打铜铸": [
			["tiě"],
			["dǎ"],
			["tóng"],
			["zhù"]
		],
		"铁打心肠": [
			["tiě"],
			["dǎ"],
			["xīn"],
			["cháng"]
		],
		"铁观音": [
			["tiě"],
			["guān"],
			["yīn"]
		],
		"铁甲车": [
			["tiě"],
			["jiǎ"],
			["chē"]
		],
		"铁矿石": [
			["tiě"],
			["kuàng"],
			["shí"]
		],
		"铁了心": [
			["tiě"],
			["le"],
			["xīn"]
		],
		"铁路车辆": [
			["tiě"],
			["lù"],
			["chē"],
			["liàng"]
		],
		"铁沙掌": [
			["tiě"],
			["shā"],
			["zhǎng"]
		],
		"铁石心肠": [
			["tiě"],
			["shí"],
			["xīn"],
			["cháng"]
		],
		"铁心石肠": [
			["tiě"],
			["xīn"],
			["shí"],
			["cháng"]
		],
		"铁石心肝": [
			["tiě"],
			["shí"],
			["xīn"],
			["gān"]
		],
		"铁树开华": [
			["tiě"],
			["shù"],
			["kāi"],
			["huā"]
		],
		"铁扇公主": [
			["tiě"],
			["shàn"],
			["gōng"],
			["zhǔ"]
		],
		"铁血政策": [
			["tiě"],
			["xuè"],
			["zhèng"],
			["cè"]
		],
		"铁砚磨穿": [
			["tiě"],
			["yàn"],
			["mó"],
			["chuān"]
		],
		"铁氧体": [
			["tiě"],
			["yǎng"],
			["tǐ"]
		],
		"铁中铮铮": [
			["tiě"],
			["zhōng"],
			["zhēng"],
			["zhēng"]
		],
		"铁嘴钢牙": [
			["tiě"],
			["zuǐ"],
			["gāng"],
			["yá"]
		],
		"听不懂": [
			["tīng"],
			["bù"],
			["dǒng"]
		],
		"铁狱铜笼": [
			["tiě"],
			["yù"],
			["tóng"],
			["lóng"]
		],
		"听不清": [
			["tīng"],
			["bù"],
			["qīng"]
		],
		"听而不闻": [
			["tīng"],
			["ér"],
			["bú"],
			["wén"]
		],
		"听风听水": [
			["tīng"],
			["fēng"],
			["tīng"],
			["shuǐ"]
		],
		"听见风就是雨": [
			["tīng"],
			["jiàn"],
			["fēng"],
			["jiù"],
			["shì"],
			["yǔ"]
		],
		"听其言而观其行": [
			["tīng"],
			["qí"],
			["yán"],
			["ér"],
			["guān"],
			["qí"],
			["xíng"]
		],
		"听其自流": [
			["tīng"],
			["qí"],
			["zì"],
			["liú"]
		],
		"听其自然": [
			["tīng"],
			["qí"],
			["zì"],
			["rán"]
		],
		"听之任之": [
			["tīng"],
			["zhī"],
			["rèn"],
			["zhī"]
		],
		"廷争面折": [
			["tíng"],
			["zhēng"],
			["miàn"],
			["zhé"]
		],
		"亭台楼阁": [
			["tíng"],
			["tái"],
			["lóu"],
			["gé"]
		],
		"亭子间": [
			["tíng"],
			["zi"],
			["jiān"]
		],
		"停留长智": [
			["tíng"],
			["liú"],
			["zhǎng"],
			["zhì"]
		],
		"停妻再娶": [
			["tíng"],
			["qī"],
			["zài"],
			["qǔ"]
		],
		"停云落月": [
			["tíng"],
			["yún"],
			["luò"],
			["yuè"]
		],
		"停滞不前": [
			["tíng"],
			["zhì"],
			["bù"],
			["qián"]
		],
		"挺胸凸肚": [
			["tǐng"],
			["xiōng"],
			["tū"],
			["dù"]
		],
		"铤而走险": [
			["tǐng"],
			["ér"],
			["zǒu"],
			["xiǎn"]
		],
		"铤鹿走险": [
			["dìng"],
			["lù"],
			["zǒu"],
			["xiǎn"]
		],
		"通才练识": [
			["tōng"],
			["cái"],
			["liàn"],
			["shí"]
		],
		"通才硕学": [
			["tōng"],
			["cái"],
			["shuò"],
			["xué"]
		],
		"通材达识": [
			["tōng"],
			["cái"],
			["dá"],
			["shí"]
		],
		"通都大埠": [
			["tōng"],
			["dōu"],
			["dà"],
			["bù"]
		],
		"通都大邑": [
			["tōng"],
			["dū"],
			["dà"],
			["yì"]
		],
		"通都巨邑": [
			["tōng"],
			["dōu"],
			["jù"],
			["yì"]
		],
		"通风报信": [
			["tōng"],
			["fēng"],
			["bào"],
			["xìn"]
		],
		"通风报讯": [
			["tōng"],
			["fēng"],
			["bào"],
			["xùn"]
		],
		"通风机": [
			["tōng"],
			["fēng"],
			["jī"]
		],
		"通风设备": [
			["tōng"],
			["fēng"],
			["shè"],
			["bèi"]
		],
		"通风讨信": [
			["tōng"],
			["fēng"],
			["tǎo"],
			["xìn"]
		],
		"通共有无": [
			["tōng"],
			["gòng"],
			["yǒu"],
			["wú"]
		],
		"通关节": [
			["tōng"],
			["guān"],
			["jié"]
		],
		"通货紧缩": [
			["tōng"],
			["huò"],
			["jǐn"],
			["suō"]
		],
		"通缉令": [
			["tōng"],
			["jī"],
			["lìng"]
		],
		"通家之好": [
			["tōng"],
			["jiā"],
			["zhī"],
			["hǎo"]
		],
		"通力合作": [
			["tōng"],
			["lì"],
			["hé"],
			["zuò"]
		],
		"通南彻北": [
			["tōng"],
			["nán"],
			["chè"],
			["běi"]
		],
		"通勤车": [
			["tōng"],
			["qín"],
			["chē"]
		],
		"通衢大邑": [
			["tōng"],
			["qú"],
			["dà"],
			["yì"]
		],
		"通衢广陌": [
			["tōng"],
			["qú"],
			["guǎng"],
			["mò"]
		],
		"通儒达识": [
			["tōng"],
			["rú"],
			["dá"],
			["shí"]
		],
		"通儒硕学": [
			["tōng"],
			["rú"],
			["shuò"],
			["xué"]
		],
		"通时合变": [
			["tōng"],
			["shí"],
			["hé"],
			["biàn"]
		],
		"通上彻下": [
			["tōng"],
			["shàng"],
			["chè"],
			["xià"]
		],
		"通首至尾": [
			["tōng"],
			["shǒu"],
			["zhì"],
			["wěi"]
		],
		"通俗化": [
			["tōng"],
			["sú"],
			["huà"]
		],
		"通天彻地": [
			["tōng"],
			["tiān"],
			["chè"],
			["dì"]
		],
		"通天达地": [
			["tōng"],
			["tiān"],
			["dá"],
			["dì"]
		],
		"通同一气": [
			["tōng"],
			["tóng"],
			["yī"],
			["yì"]
		],
		"通同作弊": [
			["tōng"],
			["tóng"],
			["zuò"],
			["bì"]
		],
		"通文调武": [
			["tōng"],
			["wén"],
			["diào"],
			["wǔ"]
		],
		"通无共有": [
			["tōng"],
			["wú"],
			["gòng"],
			["yǒu"]
		],
		"通信兵": [
			["tōng"],
			["xìn"],
			["bīng"]
		],
		"通信卫星": [
			["tōng"],
			["xìn"],
			["wèi"],
			["xīng"]
		],
		"通信员": [
			["tōng"],
			["xìn"],
			["yuán"]
		],
		"通讯员": [
			["tōng"],
			["xùn"],
			["yuán"]
		],
		"通邑大都": [
			["tōng"],
			["yì"],
			["dà"],
			["dōu"]
		],
		"通行证": [
			["tōng"],
			["xíng"],
			["zhèng"]
		],
		"通忧共患": [
			["tōng"],
			["yōu"],
			["gòng"],
			["huàn"]
		],
		"通元识微": [
			["tōng"],
			["yuán"],
			["shí"],
			["wēi"]
		],
		"通知单": [
			["tōng"],
			["zhī"],
			["dān"]
		],
		"通知书": [
			["tōng"],
			["zhī"],
			["shū"]
		],
		"痌瘝在抱": [
			["tōng"],
			["guān"],
			["zào"],
			["bào"]
		],
		"同案犯": [
			["tóng"],
			["àn"],
			["fàn"]
		],
		"同胞共气": [
			["tóng"],
			["bāo"],
			["gòng"],
			["qì"]
		],
		"同敝相济": [
			["tóng"],
			["bì"],
			["xiāng"],
			["jì"]
		],
		"同病相怜": [
			["tóng"],
			["bìng"],
			["xiāng"],
			["lián"]
		],
		"同尘合污": [
			["tóng"],
			["chén"],
			["hé"],
			["wū"]
		],
		"同仇敌慨": [
			["tóng"],
			["chóu"],
			["dí"],
			["kǎi"]
		],
		"同仇敌忾": [
			["tóng"],
			["chóu"],
			["dí"],
			["kài"]
		],
		"同出一辙": [
			["tóng"],
			["chū"],
			["yī"],
			["zhé"]
		],
		"同船合命": [
			["tóng"],
			["chuán"],
			["hé"],
			["mìng"]
		],
		"同床各梦": [
			["tóng"],
			["chuáng"],
			["gè"],
			["mèng"]
		],
		"同床共枕": [
			["tóng"],
			["chuáng"],
			["gòng"],
			["zhěn"]
		],
		"同床异梦": [
			["tóng"],
			["chuáng"],
			["yì"],
			["mèng"]
		],
		"同垂不朽": [
			["tóng"],
			["chuí"],
			["bù"],
			["xiǔ"]
		],
		"同德协力": [
			["tóng"],
			["dé"],
			["xié"],
			["lì"]
		],
		"同德一心": [
			["tóng"],
			["dé"],
			["yī"],
			["xīn"]
		],
		"同等学力": [
			["tóng"],
			["děng"],
			["xué"],
			["lì"]
		],
		"同德同心": [
			["tóng"],
			["dé"],
			["tóng"],
			["xīn"]
		],
		"同等学历": [
			["tóng"],
			["děng"],
			["xué"],
			["lì"]
		],
		"同恶共济": [
			["tóng"],
			["è"],
			["gòng"],
			["jì"]
		],
		"同恶相党": [
			["tóng"],
			["è"],
			["xiāng"],
			["dǎng"]
		],
		"同恶相济": [
			["tóng"],
			["è"],
			["xiāng"],
			["jì"]
		],
		"同恶相求": [
			["tóng"],
			["è"],
			["xiāng"],
			["qiú"]
		],
		"同恶相恤": [
			["tóng"],
			["wù"],
			["xiāng"],
			["xù"]
		],
		"同恶相助": [
			["tóng"],
			["wù"],
			["xiāng"],
			["zhù"]
		],
		"同符合契": [
			["tóng"],
			["fú"],
			["hé"],
			["qì"]
		],
		"同甘共苦": [
			["tóng"],
			["gān"],
			["gòng"],
			["kǔ"]
		],
		"同工同酬": [
			["tóng"],
			["gōng"],
			["tóng"],
			["chóu"]
		],
		"同工异曲": [
			["tóng"],
			["gōng"],
			["yì"],
			["qǔ"]
		],
		"同功一体": [
			["tóng"],
			["gōng"],
			["yī"],
			["tǐ"]
		],
		"同归殊涂": [
			["tóng"],
			["guī"],
			["shū"],
			["tú"]
		],
		"同归殊途": [
			["tóng"],
			["guī"],
			["shū"],
			["tú"]
		],
		"同归于尽": [
			["tóng"],
			["guī"],
			["yú"],
			["jìn"]
		],
		"同呼吸": [
			["tóng"],
			["hū"],
			["xī"]
		],
		"同化政策": [
			["tóng"],
			["huà"],
			["zhèng"],
			["cè"]
		],
		"同化作用": [
			["tóng"],
			["huà"],
			["zuò"],
			["yòng"]
		],
		"同乐会": [
			["tóng"],
			["lè"],
			["huì"]
		],
		"同类相从": [
			["tóng"],
			["lèi"],
			["xiāng"],
			["cóng"]
		],
		"同类相妒": [
			["tóng"],
			["lèi"],
			["xiāng"],
			["dù"]
		],
		"同类相求": [
			["tóng"],
			["lèi"],
			["xiāng"],
			["qiú"]
		],
		"同力协契": [
			["tóng"],
			["lì"],
			["xié"],
			["qì"]
		],
		"同利相死": [
			["tóng"],
			["lì"],
			["xiāng"],
			["sǐ"]
		],
		"同流合污": [
			["tóng"],
			["liú"],
			["hé"],
			["wū"]
		],
		"同路人": [
			["tóng"],
			["lù"],
			["rén"]
		],
		"同美相妒": [
			["tóng"],
			["měi"],
			["xiāng"],
			["dù"]
		],
		"同门异户": [
			["tóng"],
			["mén"],
			["yì"],
			["hù"]
		],
		"同盟国": [
			["tóng"],
			["méng"],
			["guó"]
		],
		"同盟军": [
			["tóng"],
			["méng"],
			["jūn"]
		],
		"同明相照": [
			["tóng"],
			["míng"],
			["xiāng"],
			["zhào"]
		],
		"同年而校": [
			["tóng"],
			["nián"],
			["ér"],
			["xiào"]
		],
		"同年而语": [
			["tóng"],
			["nián"],
			["ér"],
			["yǔ"]
		],
		"同盘而食": [
			["tóng"],
			["pán"],
			["ér"],
			["shí"]
		],
		"同袍同泽": [
			["tóng"],
			["páo"],
			["tóng"],
			["zé"]
		],
		"同气连枝": [
			["tóng"],
			["qì"],
			["lián"],
			["zhī"]
		],
		"同气相求": [
			["tóng"],
			["qì"],
			["xiāng"],
			["qiú"]
		],
		"同情心": [
			["tóng"],
			["qíng"],
			["xīn"]
		],
		"同然一辞": [
			["tóng"],
			["rán"],
			["yī"],
			["cí"]
		],
		"同日而道": [
			["tóng"],
			["rì"],
			["ér"],
			["dào"]
		],
		"同日而论": [
			["tóng"],
			["rì"],
			["ér"],
			["lùn"]
		],
		"同日而语": [
			["tóng"],
			["rì"],
			["ér"],
			["yǔ"]
		],
		"同日而言": [
			["tóng"],
			["rì"],
			["ér"],
			["yán"]
		],
		"同生共死": [
			["tóng"],
			["shēng"],
			["gòng"],
			["sǐ"]
		],
		"同声翻译": [
			["tóng"],
			["shēng"],
			["fān"],
			["yì"]
		],
		"同声共气": [
			["tóng"],
			["shēng"],
			["gòng"],
			["qì"]
		],
		"同声同气": [
			["tóng"],
			["shēng"],
			["tóng"],
			["qì"]
		],
		"同声相求": [
			["tóng"],
			["shēng"],
			["xiāng"],
			["qiú"]
		],
		"同声相应": [
			["tóng"],
			["shēng"],
			["xiāng"],
			["yìng"]
		],
		"同声一辞": [
			["tóng"],
			["shēng"],
			["yī"],
			["cí"]
		],
		"同室操戈": [
			["tóng"],
			["shì"],
			["cāo"],
			["gē"]
		],
		"同堂兄弟": [
			["tóng"],
			["táng"],
			["xiōng"],
			["dì"]
		],
		"同条共贯": [
			["tóng"],
			["tiáo"],
			["gòng"],
			["guàn"]
		],
		"同位素": [
			["tóng"],
			["wèi"],
			["sù"]
		],
		"同温层": [
			["tóng"],
			["wēn"],
			["céng"]
		],
		"同文共规": [
			["tóng"],
			["wén"],
			["gòng"],
			["guī"]
		],
		"同文共轨": [
			["tóng"],
			["wén"],
			["gòng"],
			["guǐ"]
		],
		"同乡会": [
			["tóng"],
			["xiāng"],
			["huì"]
		],
		"同心毕力": [
			["tóng"],
			["xīn"],
			["bì"],
			["lì"]
		],
		"同心并力": [
			["tóng"],
			["xīn"],
			["bìng"],
			["lì"]
		],
		"同心敌忾": [
			["tóng"],
			["xīn"],
			["dí"],
			["kài"]
		],
		"同心共胆": [
			["tóng"],
			["xīn"],
			["gòng"],
			["dǎn"]
		],
		"同心断金": [
			["tóng"],
			["xīn"],
			["duàn"],
			["jīn"]
		],
		"同心共济": [
			["tóng"],
			["xīn"],
			["gòng"],
			["jì"]
		],
		"同心合胆": [
			["tóng"],
			["xīn"],
			["hé"],
			["dǎn"]
		],
		"同心合德": [
			["tóng"],
			["xīn"],
			["hé"],
			["dé"]
		],
		"同心合力": [
			["tóng"],
			["xīn"],
			["hé"],
			["lì"]
		],
		"同心合意": [
			["tóng"],
			["xīn"],
			["hé"],
			["yì"]
		],
		"同心竭力": [
			["tóng"],
			["xīn"],
			["jié"],
			["lì"]
		],
		"同心僇力": [
			["tóng"],
			["xīn"],
			["jié"],
			["lì"]
		],
		"同心戮力": [
			["tóng"],
			["xīn"],
			["lù"],
			["lì"]
		],
		"同心同德": [
			["tóng"],
			["xīn"],
			["tóng"],
			["dé"]
		],
		"同心协德": [
			["tóng"],
			["xīn"],
			["xié"],
			["dé"]
		],
		"同心协济": [
			["tóng"],
			["xīn"],
			["xié"],
			["jì"]
		],
		"同心协力": [
			["tóng"],
			["xīn"],
			["xié"],
			["lì"]
		],
		"同心叶力": [
			["tóng"],
			["xīn"],
			["yè"],
			["lì"]
		],
		"同心一德": [
			["tóng"],
			["xīn"],
			["yī"],
			["dé"]
		],
		"同心一力": [
			["tóng"],
			["xīn"],
			["yī"],
			["lì"]
		],
		"同心一意": [
			["tóng"],
			["xīn"],
			["yī"],
			["yì"]
		],
		"同心圆": [
			["tóng"],
			["xīn"],
			["yuán"]
		],
		"同性恋": [
			["tóng"],
			["xìng"],
			["liàn"]
		],
		"同休等戚": [
			["tóng"],
			["xiū"],
			["děng"],
			["qī"]
		],
		"同休共戚": [
			["tóng"],
			["xiū"],
			["gòng"],
			["qī"]
		],
		"同业相仇": [
			["tóng"],
			["yè"],
			["xiāng"],
			["chóu"]
		],
		"同一律": [
			["tóng"],
			["yī"],
			["lǜ"]
		],
		"同一性": [
			["tóng"],
			["yī"],
			["xìng"]
		],
		"同义词": [
			["tóng"],
			["yì"],
			["cí"]
		],
		"同义字": [
			["tóng"],
			["yì"],
			["zì"]
		],
		"同音共律": [
			["tóng"],
			["yīn"],
			["gòng"],
			["lǜ"]
		],
		"同音词": [
			["tóng"],
			["yīn"],
			["cí"]
		],
		"同忧相救": [
			["tóng"],
			["yōu"],
			["xiāng"],
			["jiù"]
		],
		"同浴讥裸": [
			["tóng"],
			["yù"],
			["jī"],
			["luǒ"]
		],
		"同源共流": [
			["tóng"],
			["yuán"],
			["gòng"],
			["liú"]
		],
		"同源异流": [
			["tóng"],
			["yuán"],
			["yì"],
			["liú"]
		],
		"同源异派": [
			["tóng"],
			["yuán"],
			["yì"],
			["pai"]
		],
		"同舟敌国": [
			["tóng"],
			["zhōu"],
			["dí"],
			["guó"]
		],
		"同舟共济": [
			["tóng"],
			["zhōu"],
			["gòng"],
			["jì"]
		],
		"同舟共命": [
			["tóng"],
			["zhōu"],
			["gòng"],
			["mìng"]
		],
		"同舟遇风": [
			["tóng"],
			["zhōu"],
			["yù"],
			["fēng"]
		],
		"铜臭熏天": [
			["tóng"],
			["chòu"],
			["xūn"],
			["tiān"]
		],
		"铜打铁铸": [
			["tóng"],
			["dǎ"],
			["tiě"],
			["zhù"]
		],
		"铜筋铁骨": [
			["tóng"],
			["jīn"],
			["tiě"],
			["gǔ"]
		],
		"铜筋铁肋": [
			["tóng"],
			["jīn"],
			["tiě"],
			["lèi"]
		],
		"铜盘重肉": [
			["tóng"],
			["pán"],
			["zhòng"],
			["ròu"]
		],
		"铜头铁臂": [
			["tóng"],
			["tóu"],
			["tiě"],
			["bì"]
		],
		"铜头铁额": [
			["tóng"],
			["tóu"],
			["tiě"],
			["é"]
		],
		"童男童女": [
			["tóng"],
			["nán"],
			["tóng"],
			["nǚ"]
		],
		"童牛角马": [
			["tóng"],
			["niú"],
			["jiǎo"],
			["mǎ"]
		],
		"童山濯濯": [
			["tóng"],
			["shān"],
			["zhuó"],
			["zhuó"]
		],
		"童颜鹤发": [
			["tóng"],
			["yán"],
			["hè"],
			["fà"]
		],
		"统计员": [
			["tǒng"],
			["jì"],
			["yuán"]
		],
		"统一体": [
			["tǒng"],
			["yī"],
			["tǐ"]
		],
		"痛不欲生": [
			["tòng"],
			["bù"],
			["yù"],
			["shēng"]
		],
		"痛定思痛": [
			["tòng"],
			["dìng"],
			["sī"],
			["tòng"]
		],
		"痛湔宿垢": [
			["tòng"],
			["jiān"],
			["sù"],
			["gòu"]
		],
		"痛剿穷迫": [
			["tòng"],
			["jiǎo"],
			["qióng"],
			["pò"]
		],
		"痛快淋漓": [
			["tòng"],
			["kuài"],
			["lín"],
			["lí"]
		],
		"痛入骨髓": [
			["tòng"],
			["rù"],
			["gǔ"],
			["suǐ"]
		],
		"痛心入骨": [
			["tòng"],
			["xīn"],
			["rù"],
			["gǔ"]
		],
		"痛深恶绝": [
			["tòng"],
			["shēn"],
			["wù"],
			["jué"]
		],
		"痛心切骨": [
			["tòng"],
			["xīn"],
			["qiè"],
			["gǔ"]
		],
		"痛痒相关": [
			["tòng"],
			["yǎng"],
			["xiāng"],
			["guān"]
		],
		"痛自创艾": [
			["tòng"],
			["zì"],
			["chuāng"],
			["yì"]
		],
		"偷狗戏鸡": [
			["tōu"],
			["gǒu"],
			["xì"],
			["jī"]
		],
		"偷合苟从": [
			["tōu"],
			["hé"],
			["gǒu"],
			["cóng"]
		],
		"偷合苟容": [
			["tōu"],
			["hé"],
			["gǒu"],
			["róng"]
		],
		"偷合取容": [
			["tōu"],
			["hé"],
			["qǔ"],
			["róng"]
		],
		"偷鸡不着蚀把米": [
			["tōu"],
			["jī"],
			["bù"],
			["zhe"],
			["shí"],
			["bǎ"],
			["mǐ"]
		],
		"头出头没": [
			["tóu"],
			["chū"],
			["tóu"],
			["mò"]
		],
		"头盖骨": [
			["tóu"],
			["gài"],
			["gǔ"]
		],
		"头高头低": [
			["tóu"],
			["gāo"],
			["tóu"],
			["dī"]
		],
		"头会箕赋": [
			["tóu"],
			["kuài"],
			["jī"],
			["fù"]
		],
		"头会箕敛": [
			["tóu"],
			["kuàn"],
			["jī"],
			["liǎn"]
		],
		"头昏目眩": [
			["tóu"],
			["hūn"],
			["mù"],
			["xuàn"]
		],
		"头昏目晕": [
			["tóu"],
			["hūn"],
			["mù"],
			["yūn"]
		],
		"头昏脑闷": [
			["tóu"],
			["hūn"],
			["nǎo"],
			["mèn"]
		],
		"头昏脑眩": [
			["tóu"],
			["hūn"],
			["nǎo"],
			["xuàn"]
		],
		"头昏脑胀": [
			["tóu"],
			["hūn"],
			["nǎo"],
			["zhàng"]
		],
		"头昏眼暗": [
			["tóu"],
			["hūn"],
			["yǎn"],
			["àn"]
		],
		"头昏眼晕": [
			["tóu"],
			["hūn"],
			["yǎn"],
			["yūn"]
		],
		"头昏眼花": [
			["tóu"],
			["hūn"],
			["yǎn"],
			["huā"]
		],
		"头焦额烂": [
			["tóu"],
			["jiāo"],
			["é"],
			["làn"]
		],
		"头角峥嵘": [
			["tóu"],
			["jiǎo"],
			["zhēng"],
			["róng"]
		],
		"头没杯案": [
			["tóu"],
			["mò"],
			["bēi"],
			["àn"]
		],
		"头破血淋": [
			["tóu"],
			["pò"],
			["xuè"],
			["lín"]
		],
		"头面人物": [
			["tóu"],
			["miàn"],
			["rén"],
			["wù"]
		],
		"头破血出": [
			["tóu"],
			["pò"],
			["xuè"],
			["chū"]
		],
		"头破血流": [
			["tóu"],
			["pò"],
			["xuè"],
			["liú"]
		],
		"头上安头": [
			["tóu"],
			["shàng"],
			["ān"],
			["tóu"]
		],
		"头上末下": [
			["tóu"],
			["shàng"],
			["mò"],
			["xià"]
		],
		"头上著头": [
			["tóu"],
			["shàng"],
			["zhuó"],
			["tóu"]
		],
		"头梢自领": [
			["tóu"],
			["shāo"],
			["zì"],
			["lǐng"]
		],
		"头稍自领": [
			["tóu"],
			["shāo"],
			["zì"],
			["lǐng"]
		],
		"头童齿豁": [
			["tóu"],
			["tóng"],
			["chǐ"],
			["huò"]
		],
		"头疼脑热": [
			["tóu"],
			["téng"],
			["nǎo"],
			["rè"]
		],
		"头痛额热": [
			["tóu"],
			["tòng"],
			["é"],
			["rè"]
		],
		"头痛脑热": [
			["tóu"],
			["tòng"],
			["nǎo"],
			["rè"]
		],
		"头头脑脑": [
			["tóu"],
			["tóu"],
			["nǎo"],
			["nǎo"]
		],
		"头头是道": [
			["tóu"],
			["tóu"],
			["shì"],
			["dào"]
		],
		"头眩目昏": [
			["tóu"],
			["xuàn"],
			["mù"],
			["hūn"]
		],
		"头痒搔跟": [
			["tóu"],
			["yǎng"],
			["sāo"],
			["gēn"]
		],
		"头晕目眩": [
			["tóu"],
			["yūn"],
			["mù"],
			["xuàn"]
		],
		"头一无二": [
			["tóu"],
			["yī"],
			["wú"],
			["èr"]
		],
		"头晕眼花": [
			["tóu"],
			["yūn"],
			["yǎn"],
			["huā"]
		],
		"头重脚轻": [
			["tóu"],
			["zhòng"],
			["jiǎo"],
			["qīng"]
		],
		"头状花序": [
			["tóu"],
			["zhuàng"],
			["huā"],
			["xù"]
		],
		"头足倒置": [
			["tóu"],
			["zú"],
			["dào"],
			["zhì"]
		],
		"头足异处": [
			["tóu"],
			["zú"],
			["yì"],
			["chǔ"]
		],
		"头足异所": [
			["tóu"],
			["zú"],
			["yì"],
			["suǒ"]
		],
		"投笔从戎": [
			["tóu"],
			["bǐ"],
			["cóng"],
			["róng"]
		],
		"投传而去": [
			["tóu"],
			["zhuàn"],
			["ér"],
			["qù"]
		],
		"投递员": [
			["tóu"],
			["dì"],
			["yuán"]
		],
		"投膏止火": [
			["tóu"],
			["gāo"],
			["zhǐ"],
			["huǒ"]
		],
		"投机倒把": [
			["tóu"],
			["jī"],
			["dǎo"],
			["bǎ"]
		],
		"投河奔井": [
			["tóu"],
			["hé"],
			["bēn"],
			["jǐng"]
		],
		"投间抵隙": [
			["tóu"],
			["jiān"],
			["dǐ"],
			["xì"]
		],
		"投阱下石": [
			["tóu"],
			["jǐng"],
			["xià"],
			["shí"]
		],
		"投井下石": [
			["tóu"],
			["jǐng"],
			["xià"],
			["shí"]
		],
		"投卵击石": [
			["tóu"],
			["luǎn"],
			["jī"],
			["shí"]
		],
		"投票站": [
			["tóu"],
			["piào"],
			["zhàn"]
		],
		"投其所好": [
			["tóu"],
			["qí"],
			["suǒ"],
			["hào"]
		],
		"投石拔距": [
			["tóu"],
			["shí"],
			["bá"],
			["jù"]
		],
		"投石超距": [
			["tóu"],
			["shí"],
			["chāo"],
			["jù"]
		],
		"投石问路": [
			["tóu"],
			["shí"],
			["wèn"],
			["lù"]
		],
		"投石下井": [
			["tóu"],
			["shí"],
			["xià"],
			["jǐng"]
		],
		"投梭折齿": [
			["tóu"],
			["suō"],
			["zhé"],
			["chǐ"]
		],
		"投闲置散": [
			["tóu"],
			["xián"],
			["zhì"],
			["sàn"]
		],
		"透骨酸心": [
			["tòu"],
			["gǔ"],
			["suān"],
			["xīn"]
		],
		"透明度": [
			["tòu"],
			["míng"],
			["dù"]
		],
		"透明体": [
			["tòu"],
			["míng"],
			["tǐ"]
		],
		"透心凉": [
			["tòu"],
			["xīn"],
			["liáng"]
		],
		"凸版印刷": [
			["tū"],
			["bǎn"],
			["yìn"],
			["shuā"]
		],
		"突如其来": [
			["tū"],
			["rú"],
			["qí"],
			["lái"]
		],
		"图谋不轨": [
			["tú"],
			["móu"],
			["bù"],
			["guǐ"]
		],
		"图穷匕见": [
			["tú"],
			["qióng"],
			["bǐ"],
			["xiàn"]
		],
		"图穷匕首见": [
			["tú"],
			["qióng"],
			["bǐ"],
			["shǒu"],
			["xiàn"]
		],
		"图文并茂": [
			["tú"],
			["wén"],
			["bìng"],
			["mào"]
		],
		"图作不轨": [
			["tú"],
			["zuò"],
			["bù"],
			["guǐ"]
		],
		"徒读父书": [
			["tú"],
			["dú"],
			["fù"],
			["shū"]
		],
		"徒唤奈何": [
			["tú"],
			["huàn"],
			["nài"],
			["hé"]
		],
		"徒讬空言": [
			["tú"],
			["tún"],
			["kōng"],
			["yán"]
		],
		"徒托空言": [
			["tú"],
			["tuō"],
			["kōng"],
			["yán"]
		],
		"徒有其名": [
			["tú"],
			["yǒu"],
			["qí"],
			["míng"]
		],
		"徒有虚名": [
			["tú"],
			["yǒu"],
			["xū"],
			["míng"]
		],
		"徒子徒孙": [
			["tú"],
			["zǐ"],
			["tú"],
			["sūn"]
		],
		"涂歌巷舞": [
			["tú"],
			["gē"],
			["xiàng"],
			["wǔ"]
		],
		"涂脂抹粉": [
			["tú"],
			["zhī"],
			["mǒ"],
			["fěn"]
		],
		"荼毒生灵": [
			["tú"],
			["dú"],
			["shēng"],
			["líng"]
		],
		"屠毒笔墨": [
			["tú"],
			["dú"],
			["bǐ"],
			["mò"]
		],
		"屠所牛羊": [
			["tú"],
			["suǒ"],
			["niú"],
			["yáng"]
		],
		"屠龙之伎": [
			["tú"],
			["lóng"],
			["zhī"],
			["jì"]
		],
		"屠门大嚼": [
			["tú"],
			["mén"],
			["dà"],
			["jiáo"]
		],
		"土崩瓦解": [
			["tǔ"],
			["bēng"],
			["wǎ"],
			["jiě"]
		],
		"土地革命": [
			["tǔ"],
			["dì"],
			["gé"],
			["mìng"]
		],
		"土地改革": [
			["tǔ"],
			["dì"],
			["gǎi"],
			["gé"]
		],
		"土地规划": [
			["tǔ"],
			["dì"],
			["guī"],
			["huà"]
		],
		"土地庙": [
			["tǔ"],
			["dì"],
			["miào"]
		],
		"土地税": [
			["tǔ"],
			["dì"],
			["shuì"]
		],
		"土地爷": [
			["tǔ"],
			["dì"],
			["yé"]
		],
		"土地证": [
			["tǔ"],
			["dì"],
			["zhèng"]
		],
		"土耳其": [
			["tǔ"],
			["ěr"],
			["qí"]
		],
		"土耳其人": [
			["tǔ"],
			["ěr"],
			["qí"],
			["rén"]
		],
		"土疙瘩": [
			["tǔ"],
			["gē"],
			["da"]
		],
		"土鸡瓦狗": [
			["tǔ"],
			["jī"],
			["wǎ"],
			["gǒu"]
		],
		"土鸡瓦犬": [
			["tǔ"],
			["jī"],
			["wǎ"],
			["quǎn"]
		],
		"土家族": [
			["tǔ"],
			["jiā"],
			["zú"]
		],
		"土坷垃": [
			["tǔ"],
			["kē"],
			["lā"]
		],
		"土偶蒙金": [
			["tǔ"],
			["ǒu"],
			["méng"],
			["jīn"]
		],
		"土壤胶体": [
			["tǔ"],
			["rǎng"],
			["jiāo"],
			["tǐ"]
		],
		"土生土长": [
			["tǔ"],
			["shēng"],
			["tǔ"],
			["zhǎng"]
		],
		"土石方": [
			["tǔ"],
			["shí"],
			["fāng"]
		],
		"土头土脑": [
			["tǔ"],
			["tóu"],
			["tǔ"],
			["nǎo"]
		],
		"土洋结合": [
			["tǔ"],
			["yáng"],
			["jié"],
			["hé"]
		],
		"土洋并举": [
			["tǔ"],
			["yáng"],
			["bìng"],
			["jǔ"]
		],
		"土专家": [
			["tǔ"],
			["zhuān"],
			["jiā"]
		],
		"吐哺辍洗": [
			["tǔ"],
			["bǔ"],
			["chuò"],
			["xǐ"]
		],
		"吐哺握发": [
			["tǔ"],
			["bǔ"],
			["wò"],
			["fà"]
		],
		"吐哺捉发": [
			["tǔ"],
			["bǔ"],
			["zhuō"],
			["fā"]
		],
		"吐胆倾心": [
			["tǔ"],
			["dǎn"],
			["qīng"],
			["xīn"]
		],
		"吐肝露胆": [
			["tǔ"],
			["gān"],
			["lù"],
			["dǎn"]
		],
		"吐刚茹柔": [
			["tǔ"],
			["gāng"],
			["rú"],
			["róu"]
		],
		"吐谷浑": [
			["tǔ"],
			["yù"],
			["hún"]
		],
		"吐故纳新": [
			["tǔ"],
			["gù"],
			["nà"],
			["xīn"]
		],
		"吐气扬眉": [
			["tǔ"],
			["qì"],
			["yáng"],
			["méi"]
		],
		"吐食握发": [
			["tǔ"],
			["shí"],
			["wò"],
			["fā"]
		],
		"吐绶鸡": [
			["tǔ"],
			["shòu"],
			["jī"]
		],
		"吐丝自缚": [
			["tǔ"],
			["sī"],
			["zì"],
			["fù"]
		],
		"吐心吐胆": [
			["tǔ"],
			["xīn"],
			["tǔ"],
			["dǎn"]
		],
		"兔角龟毛": [
			["tu"],
			["jiao"],
			["gui"],
			["mao"]
		],
		"兔葵燕麦": [
			["tù"],
			["kuí"],
			["yàn"],
			["mài"]
		],
		"兔角牛翼": [
			["tù"],
			["jiǎo"],
			["niú"],
			["yì"]
		],
		"兔起鹘落": [
			["tù"],
			["qǐ"],
			["hú"],
			["luò"]
		],
		"兔头麞脑": [
			["tù"],
			["tóu"],
			["suō"],
			["nǎo"]
		],
		"兔丝燕麦": [
			["tù"],
			["sī"],
			["yàn"],
			["mài"]
		],
		"兔子不吃窝边草": [
			["tù"],
			["zi"],
			["bù"],
			["chī"],
			["wō"],
			["biān"],
			["cǎo"]
		],
		"兔走鹘落": [
			["tù"],
			["zǒu"],
			["gǔ"],
			["luò"]
		],
		"团结一致": [
			["tuán"],
			["jié"],
			["yī"],
			["zhì"]
		],
		"团体操": [
			["tuán"],
			["tǐ"],
			["cāo"]
		],
		"团团转": [
			["tuán"],
			["tuán"],
			["zhuàn"]
		],
		"团圆节": [
			["tuán"],
			["yuán"],
			["jié"]
		],
		"团头聚面": [
			["tuàn"],
			["tóu"],
			["jù"],
			["miàn"]
		],
		"抟沙嚼蜡": [
			["tuán"],
			["shā"],
			["jiáo"],
			["là"]
		],
		"抟空捕影": [
			["tuán"],
			["kōng"],
			["bǔ"],
			["yǐng"]
		],
		"抟香弄粉": [
			["tuán"],
			["xiāng"],
			["nòng"],
			["fěn"]
		],
		"抟沙作饭": [
			["tuán"],
			["shā"],
			["zuò"],
			["fàn"]
		],
		"剸繁决剧": [
			["shí"],
			["fán"],
			["jué"],
			["jù"]
		],
		"剸繁治剧": [
			["shí"],
			["fán"],
			["zhì"],
			["jù"]
		],
		"推波助澜": [
			["tuī"],
			["bō"],
			["zhù"],
			["lán"]
		],
		"推诚相见": [
			["tuī"],
			["chéng"],
			["xiāng"],
			["jiàn"]
		],
		"推而广之": [
			["tuī"],
			["ér"],
			["guǎng"],
			["zhī"]
		],
		"推干就湿": [
			["tuī"],
			["gàn"],
			["jiù"],
			["shī"]
		],
		"推枯折腐": [
			["tuī"],
			["kū"],
			["shé"],
			["fǔ"]
		],
		"推聋妆哑": [
			["tuī"],
			["lóng"],
			["zhuāng"],
			["yǎ"]
		],
		"推聋作哑": [
			["tuī"],
			["lóng"],
			["zuò"],
			["yǎ"]
		],
		"推天抢地": [
			["tuī"],
			["tiān"],
			["qiǎng"],
			["dì"]
		],
		"推食解衣": [
			["tuī"],
			["shí"],
			["jiě"],
			["yī"]
		],
		"推亡固存": [
			["tuī"],
			["wáng"],
			["gù"],
			["cún"]
		],
		"推贤让能": [
			["tuī"],
			["xián"],
			["ràng"],
			["néng"]
		],
		"颓垣断堑": [
			["tuí"],
			["yuán"],
			["duàn"],
			["piàn"]
		],
		"退食从容": [
			["tuì"],
			["shí"],
			["cóng"],
			["róng"]
		],
		"退藏于密": [
			["tuì"],
			["cáng"],
			["yú"],
			["mì"]
		],
		"腿肚子": [
			["tuǐ"],
			["dǔ"],
			["zi"]
		],
		"退思补过": [
			["tuì"],
			["sī"],
			["bǔ"],
			["guò"]
		],
		"退休金": [
			["tuì"],
			["xiū"],
			["jīn"]
		],
		"退食自公": [
			["tuì"],
			["shí"],
			["zì"],
			["gōng"]
		],
		"退有后言": [
			["tuì"],
			["yǒu"],
			["hòu"],
			["yán"]
		],
		"蜕化变质": [
			["tuì"],
			["huà"],
			["biàn"],
			["zhì"]
		],
		"褪后趋前": [
			["tuì"],
			["hòu"],
			["qū"],
			["qián"]
		],
		"吞刀吐火": [
			["tūn"],
			["dāo"],
			["tǔ"],
			["huǒ"]
		],
		"吞风饮雨": [
			["tūn"],
			["fēng"],
			["yǐn"],
			["yǔ"]
		],
		"吞符翕景": [
			["tūn"],
			["fú"],
			["xī"],
			["jǐng"]
		],
		"吞吞吐吐": [
			["tūn"],
			["tūn"],
			["tǔ"],
			["tǔ"]
		],
		"吞言咽理": [
			["tūn"],
			["yán"],
			["yān"],
			["lǐ"]
		],
		"吞云吐雾": [
			["tūn"],
			["yún"],
			["tǔ"],
			["wù"]
		],
		"屯积居奇": [
			["tún"],
			["jī"],
			["jū"],
			["qí"]
		],
		"屯街塞巷": [
			["tún"],
			["jiē"],
			["sāi"],
			["xiàng"]
		],
		"屯蹶否塞": [
			["tún"],
			["juě"],
			["fǒu"],
			["sāi"]
		],
		"屯粮积草": [
			["tún"],
			["liáng"],
			["jī"],
			["cǎo"]
		],
		"屯田客": [
			["tún"],
			["tián"],
			["kè"]
		],
		"屯毛不辨": [
			["tún"],
			["máo"],
			["bù"],
			["biàn"]
		],
		"托公行私": [
			["tuō"],
			["gōng"],
			["xíng"],
			["sī"]
		],
		"托拉斯": [
			["tuō"],
			["lā"],
			["sī"]
		],
		"托物寓兴": [
			["tuō"],
			["wù"],
			["yù"],
			["xīng"]
		],
		"托于空言": [
			["tuō"],
			["yú"],
			["kōng"],
			["yán"]
		],
		"托之空言": [
			["tuō"],
			["zhī"],
			["kōng"],
			["yán"]
		],
		"托诸空言": [
			["tuō"],
			["zhū"],
			["kōng"],
			["yán"]
		],
		"拖儿带女": [
			["tuō"],
			["ér"],
			["dài"],
			["nǚ"]
		],
		"拖家带口": [
			["tuō"],
			["jiā"],
			["dài"],
			["kǒu"]
		],
		"拖金委紫": [
			["tuō"],
			["jīn"],
			["wěi"],
			["zǐ"]
		],
		"拖拉机": [
			["tuō"],
			["lā"],
			["jī"]
		],
		"拖麻拽布": [
			["tuō"],
			["má"],
			["zhuài"],
			["bù"]
		],
		"拖男带女": [
			["tuō"],
			["nán"],
			["dài"],
			["nǚ"]
		],
		"拖泥带水": [
			["tuō"],
			["ní"],
			["dài"],
			["shuǐ"]
		],
		"拖人落水": [
			["tuō"],
			["rén"],
			["luò"],
			["shuǐ"]
		],
		"拖天扫地": [
			["tuō"],
			["tiān"],
			["sǎo"],
			["dì"]
		],
		"拖拖拉拉": [
			["tuō"],
			["tuō"],
			["lā"],
			["lā"]
		],
		"脱白挂绿": [
			["tuō"],
			["bái"],
			["guà"],
			["lǜ"]
		],
		"脱壳金蝉": [
			["tuō"],
			["ké"],
			["jīn"],
			["chán"]
		],
		"脱手弹丸": [
			["tuō"],
			["shǒu"],
			["dàn"],
			["wán"]
		],
		"脱胎换骨": [
			["tuō"],
			["tāi"],
			["huàn"],
			["gǔ"]
		],
		"脱颖囊锥": [
			["tuō"],
			["yǐng"],
			["náng"],
			["zhuī"]
		],
		"妥首帖耳": [
			["tuǒ"],
			["shǒu"],
			["tiē"],
			["ěr"]
		],
		"唾地成文": [
			["tuò"],
			["dì"],
			["chéng"],
			["wén"]
		],
		"唾面自干": [
			["tuò"],
			["miàn"],
			["zì"],
			["gān"]
		],
		"唾手可得": [
			["tuò"],
			["shǒu"],
			["kě"],
			["dé"]
		],
		"唾手可取": [
			["tuò"],
			["shǒu"],
			["kě"],
			["qǔ"]
		],
		"跅弛不羁": [
			["tuò"],
			["chí"],
			["bù"],
			["jī"]
		],
		"跅幪不羁": [
			["tuò"],
			["méng"],
			["bù"],
			["jī"]
		],
		"跅弢不羁": [
			["tuò"],
			["tāo"],
			["bù"],
			["jī"]
		],
		"娃娃亲": [
			["wá"],
			["wa"],
			["qīn"]
		],
		"挖耳当招": [
			["wā"],
			["ěr"],
			["dāng"],
			["zhāo"]
		],
		"挖空心思": [
			["wā"],
			["kōng"],
			["xīn"],
			["sī"]
		],
		"蛙蟆胜负": [
			["wā"],
			["má"],
			["shèng"],
			["fù"]
		],
		"瓦查尿溺": [
			["wǎ"],
			["chá"],
			["niào"],
			["nì"]
		],
		"瓦釜雷鸣": [
			["wǎ"],
			["fǔ"],
			["léi"],
			["míng"]
		],
		"瓦岗军": [
			["wǎ"],
			["gāng"],
			["jūn"]
		],
		"瓦合之卒": [
			["wǎ"],
			["hé"],
			["zhī"],
			["zú"]
		],
		"瓦解冰泮": [
			["wǎ"],
			["jiě"],
			["bīng"],
			["pàn"]
		],
		"瓦解冰消": [
			["wǎ"],
			["jiě"],
			["bīng"],
			["xiāo"]
		],
		"瓦解冰销": [
			["wǎ"],
			["jiě"],
			["bīng"],
			["xiāo"]
		],
		"瓦解土崩": [
			["wǎ"],
			["jiě"],
			["tǔ"],
			["bēng"]
		],
		"瓦解星散": [
			["wǎ"],
			["jiě"],
			["xīng"],
			["sàn"]
		],
		"瓦楞纸": [
			["wǎ"],
			["léng"],
			["zhǐ"]
		],
		"瓦楞子": [
			["wǎ"],
			["léng"],
			["zǐ"]
		],
		"瓦器蚌盘": [
			["wǎ"],
			["qì"],
			["bàng"],
			["pán"]
		],
		"歪打正着": [
			["wāi"],
			["dǎ"],
			["zhèng"],
			["zháo"]
		],
		"歪不横楞": [
			["wāi"],
			["bù"],
			["héng"],
			["léng"]
		],
		"瓦玉集糅": [
			["wǎ"],
			["yù"],
			["jí"],
			["róu"]
		],
		"歪门邪道": [
			["wāi"],
			["mén"],
			["xié"],
			["dào"]
		],
		"歪风邪气": [
			["wāi"],
			["fēng"],
			["xié"],
			["qì"]
		],
		"歪心邪意": [
			["wāi"],
			["xīn"],
			["xié"],
			["yì"]
		],
		"歪歪倒倒": [
			["wāi"],
			["wāi"],
			["dǎo"],
			["dǎo"]
		],
		"歪嘴和尚": [
			["wāi"],
			["zuǐ"],
			["hé"],
			["shàng"]
		],
		"外出血": [
			["wài"],
			["chū"],
			["xuè"]
		],
		"外方内员": [
			["wài"],
			["fāng"],
			["nèi"],
			["yuán"]
		],
		"外方内圆": [
			["wài"],
			["fāng"],
			["nèi"],
			["yuán"]
		],
		"外国语": [
			["wài"],
			["guó"],
			["yǔ"]
		],
		"外感内伤": [
			["wài"],
			["gǎn"],
			["nèi"],
			["shāng"]
		],
		"外分泌": [
			["wài"],
			["fēn"],
			["mì"]
		],
		"外合里差": [
			["wài"],
			["hé"],
			["lǐ"],
			["chà"]
		],
		"外合里应": [
			["wài"],
			["hé"],
			["lǐ"],
			["yìng"]
		],
		"外简内明": [
			["wài"],
			["jiǎn"],
			["nèi"],
			["míng"]
		],
		"外宽内忌": [
			["wài"],
			["kuān"],
			["nèi"],
			["jì"]
		],
		"外宽内明": [
			["wài"],
			["kuān"],
			["nèi"],
			["míng"]
		],
		"外宽内深": [
			["wài"],
			["kuān"],
			["nèi"],
			["shēn"]
		],
		"外厉内荏": [
			["wài"],
			["lì"],
			["nèi"],
			["rěn"]
		],
		"外来语": [
			["wài"],
			["lái"],
			["yǔ"]
		],
		"外强中干": [
			["wài"],
			["qiáng"],
			["zhōng"],
			["gān"]
		],
		"外强中瘠": [
			["wài"],
			["qiáng"],
			["zhōng"],
			["jí"]
		],
		"外巧内嫉": [
			["wài"],
			["qiǎo"],
			["nèi"],
			["jí"]
		],
		"外亲内疏": [
			["wài"],
			["qīn"],
			["nèi"],
			["shū"]
		],
		"外甥女": [
			["wài"],
			["shēng"],
			["nǚ"]
		],
		"外孙女": [
			["wài"],
			["sūn"],
			["nǚ"]
		],
		"外圆内方": [
			["wài"],
			["yuán"],
			["nèi"],
			["fāng"]
		],
		"外祖父": [
			["wài"],
			["zǔ"],
			["fù"]
		],
		"外孙子": [
			["wài"],
			["sūn"],
			["zi"]
		],
		"弯弯曲曲": [
			["wān"],
			["wān"],
			["qū"],
			["qū"]
		],
		"丸泥封关": [
			["wán"],
			["ní"],
			["fēng"],
			["guān"]
		],
		"刓方为圆": [
			["shū"],
			["fāng"],
			["wéi"],
			["yuán"]
		],
		"丸散膏丹": [
			["wán"],
			["sàn"],
			["gāo"],
			["dān"]
		],
		"纨袴膏粱": [
			["wán"],
			["kù"],
			["gāo"],
			["liáng"]
		],
		"纨袴子弟": [
			["wán"],
			["kǔ"],
			["zǐ"],
			["dì"]
		],
		"纨绔子弟": [
			["wán"],
			["kù"],
			["zǐ"],
			["dì"]
		],
		"完好无缺": [
			["wán"],
			["hǎo"],
			["wú"],
			["quē"]
		],
		"完名全节": [
			["wán"],
			["míng"],
			["quán"],
			["jié"]
		],
		"完事大吉": [
			["wán"],
			["shì"],
			["dà"],
			["jí"]
		],
		"玩儿不转": [
			["wán"],
			["ér"],
			["bù"],
			["zhuàn"]
		],
		"玩儿票": [
			["wán"],
			["ér"],
			["piào"]
		],
		"玩日愒时": [
			["wán"],
			["rì"],
			["kài"],
			["shí"]
		],
		"玩人丧德": [
			["wán"],
			["rén"],
			["sàng"],
			["dé"]
		],
		"玩世不恭": [
			["wán"],
			["shì"],
			["bù"],
			["gōng"]
		],
		"玩时愒日": [
			["wán"],
			["shí"],
			["ài"],
			["rì"]
		],
		"玩岁愒日": [
			["wán"],
			["suì"],
			["kài"],
			["rì"]
		],
		"玩岁愒时": [
			["wán"],
			["suì"],
			["yī"],
			["shí"]
		],
		"玩岁愒月": [
			["wán"],
			["suì"],
			["yī"],
			["yuè"]
		],
		"玩物丧志": [
			["wán"],
			["wù"],
			["sàng"],
			["zhì"]
		],
		"顽父嚚母": [
			["wán"],
			["fù"],
			["yín"],
			["mǔ"]
		],
		"顽梗不化": [
			["wán"],
			["gěng"],
			["bù"],
			["huà"]
		],
		"顽固不化": [
			["wán"],
			["gù"],
			["bù"],
			["huà"]
		],
		"顽皮赖骨": [
			["wán"],
			["pí"],
			["lài"],
			["gǔ"]
		],
		"顽皮贼骨": [
			["wán"],
			["pí"],
			["zéi"],
			["gǔ"]
		],
		"顽石点头": [
			["wán"],
			["shí"],
			["diǎn"],
			["tóu"]
		],
		"宛转蛾眉": [
			["wǎn"],
			["zhuǎn"],
			["é"],
			["méi"]
		],
		"宛转悠扬": [
			["wǎn"],
			["zhuǎn"],
			["yōu"],
			["yáng"]
		],
		"晚节不保": [
			["wǎn"],
			["jíe"],
			["bù"],
			["bǎo"]
		],
		"晚节不终": [
			["wǎn"],
			["jié"],
			["bù"],
			["zhōng"]
		],
		"晚节黄花": [
			["wǎn"],
			["jié"],
			["huáng"],
			["huā"]
		],
		"晚食当肉": [
			["wǎn"],
			["shí"],
			["dàng"],
			["ròu"]
		],
		"莞尔而笑": [
			["wǎn"],
			["ěr"],
			["ér"],
			["xiào"]
		],
		"皖南事变": [
			["wǎn"],
			["nán"],
			["shì"],
			["biàn"]
		],
		"万别千差": [
			["wàn"],
			["bié"],
			["qiān"],
			["chā"]
		],
		"万变不离其宗": [
			["wàn"],
			["biàn"],
			["bù"],
			["lí"],
			["qí"],
			["zōng"]
		],
		"万不得已": [
			["wàn"],
			["bù"],
			["dé"],
			["yǐ"]
		],
		"万不失一": [
			["wàn"],
			["bù"],
			["shī"],
			["yī"]
		],
		"万代千秋": [
			["wàn"],
			["dài"],
			["qiān"],
			["qiū"]
		],
		"万儿八千": [
			["wàn"],
			["ér"],
			["bā"],
			["qiān"]
		],
		"万夫不当": [
			["wàn"],
			["fū"],
			["bù"],
			["dāng"]
		],
		"万夫不当之勇": [
			["wàn"],
			["fū"],
			["bù"],
			["dāng"],
			["zhī"],
			["yǒng"]
		],
		"万夫莫当": [
			["wàn"],
			["fū"],
			["mò"],
			["dāng"]
		],
		"万古长春": [
			["wàn"],
			["gǔ"],
			["cháng"],
			["chūn"]
		],
		"万古长青": [
			["wàn"],
			["gǔ"],
			["cháng"],
			["qīng"]
		],
		"万古长存": [
			["wàn"],
			["gǔ"],
			["cháng"],
			["cún"]
		],
		"万古流芳": [
			["wàn"],
			["gǔ"],
			["liú"],
			["fāng"]
		],
		"万古留芳": [
			["wàn"],
			["gǔ"],
			["liú"],
			["fāng"]
		],
		"万古千秋": [
			["wàn"],
			["gǔ"],
			["qiān"],
			["qiū"]
		],
		"万贯家财": [
			["wàn"],
			["guàn"],
			["jiā"],
			["cái"]
		],
		"万贯家私": [
			["wàn"],
			["guàn"],
			["ji"],
			["sī"]
		],
		"万壑千岩": [
			["wàn"],
			["hè"],
			["qiān"],
			["yán"]
		],
		"万壑争流": [
			["wàn"],
			["hè"],
			["zhēng"],
			["liú"]
		],
		"万恨千愁": [
			["wàn"],
			["hèn"],
			["qiān"],
			["chóu"]
		],
		"万户侯": [
			["wàn"],
			["hù"],
			["hòu"]
		],
		"万花筒": [
			["wàn"],
			["huā"],
			["tǒng"]
		],
		"万户千门": [
			["wàn"],
			["hù"],
			["qiān"],
			["mén"]
		],
		"万家灯火": [
			["wàn"],
			["jiā"],
			["dēng"],
			["huǒ"]
		],
		"万家生佛": [
			["wàn"],
			["jiā"],
			["shēng"],
			["fó"]
		],
		"万箭穿心": [
			["wàn"],
			["jiàn"],
			["chuān"],
			["xīn"]
		],
		"万箭攒心": [
			["wàn"],
			["jiàn"],
			["cuán"],
			["xīn"]
		],
		"万劫不复": [
			["wàn"],
			["jié"],
			["bù"],
			["fù"]
		],
		"万金油": [
			["wàn"],
			["jīn"],
			["yóu"]
		],
		"万口一词": [
			["wàn"],
			["kǒu"],
			["yī"],
			["cí"]
		],
		"万口一辞": [
			["wàn"],
			["kǒu"],
			["yī"],
			["cí"]
		],
		"万苦千辛": [
			["wàn"],
			["kǔ"],
			["qiān"],
			["xīn"]
		],
		"万口一谈": [
			["wàn"],
			["kǒu"],
			["yī"],
			["tán"]
		],
		"万赖无声": [
			["wàn"],
			["lài"],
			["wú"],
			["shēng"]
		],
		"万赖俱寂": [
			["wàn"],
			["lài"],
			["jù"],
			["jì"]
		],
		"万籁俱寂": [
			["wàn"],
			["lài"],
			["jù"],
			["jì"]
		],
		"万籁无声": [
			["wàn"],
			["lài"],
			["wú"],
			["shēng"]
		],
		"万里长城": [
			["wàn"],
			["lǐ"],
			["cháng"],
			["chéng"]
		],
		"万里长征": [
			["wàn"],
			["lǐ"],
			["cháng"],
			["zhēng"]
		],
		"万里鹏程": [
			["wàn"],
			["lǐ"],
			["péng"],
			["chéng"]
		],
		"万里鹏翼": [
			["wàn"],
			["lǐ"],
			["péng"],
			["yì"]
		],
		"万里迢迢": [
			["wàn"],
			["lǐ"],
			["tiáo"],
			["tiáo"]
		],
		"万流景仰": [
			["wàn"],
			["liú"],
			["jǐng"],
			["yǎng"]
		],
		"万里无云": [
			["wàn"],
			["lǐ"],
			["wú"],
			["yún"]
		],
		"万缕千丝": [
			["wàn"],
			["lǚ"],
			["qiān"],
			["sī"]
		],
		"万马奔腾": [
			["wàn"],
			["mǎ"],
			["bēn"],
			["téng"]
		],
		"万马齐喑": [
			["wàn"],
			["mǎ"],
			["qí"],
			["yīn"]
		],
		"万民涂炭": [
			["wàn"],
			["mín"],
			["tú"],
			["tàn"]
		],
		"万目睽睽": [
			["wàn"],
			["mù"],
			["kuí"],
			["kuí"]
		],
		"万目睚眦": [
			["wàn"],
			["mù"],
			["yá"],
			["zì"]
		],
		"万年历": [
			["wàn"],
			["nián"],
			["lì"]
		],
		"万年青": [
			["wàn"],
			["nián"],
			["qīng"]
		],
		"万年无疆": [
			["wàn"],
			["nián"],
			["wú"],
			["jiāng"]
		],
		"万念俱灰": [
			["wàn"],
			["niàn"],
			["jù"],
			["huī"]
		],
		"万念俱寂": [
			["wàn"],
			["niàn"],
			["jù"],
			["jì"]
		],
		"万签插架": [
			["wàn"],
			["qiān"],
			["chā"],
			["jià"]
		],
		"万全之策": [
			["wàn"],
			["quán"],
			["zhī"],
			["cè"]
		],
		"万人坑": [
			["wàn"],
			["rén"],
			["kēng"]
		],
		"万全之计": [
			["wàn"],
			["quán"],
			["zhī"],
			["jì"]
		],
		"万人空巷": [
			["wàn"],
			["rén"],
			["kōng"],
			["xiàng"]
		],
		"万人之敌": [
			["wàn"],
			["rén"],
			["zhī"],
			["dí"]
		],
		"万世不易": [
			["wàn"],
			["shì"],
			["bù"],
			["yì"]
		],
		"万世师表": [
			["wàn"],
			["shì"],
			["shī"],
			["biǎo"]
		],
		"万世流芳": [
			["wàn"],
			["shì"],
			["liú"],
			["fāng"]
		],
		"万世无疆": [
			["wàn"],
			["shì"],
			["wú"],
			["jiāng"]
		],
		"万事大吉": [
			["wàn"],
			["shì"],
			["dà"],
			["jí"]
		],
		"万世一时": [
			["wàn"],
			["shì"],
			["yī"],
			["shí"]
		],
		"万事亨通": [
			["wàn"],
			["shì"],
			["hēng"],
			["tōng"]
		],
		"万事俱备，只欠东风": [
			["wàn"],
			["shì"],
			["jù"],
			["bèi"],
			["，"],
			["zhǐ"],
			["qiàn"],
			["dōng"],
			["fēng"]
		],
		"万事通": [
			["wàn"],
			["shì"],
			["tōng"]
		],
		"万寿无疆": [
			["wàn"],
			["shòu"],
			["wú"],
			["jiāng"]
		],
		"万水千山": [
			["wàn"],
			["shuǐ"],
			["qiān"],
			["shān"]
		],
		"万死一生": [
			["wàn"],
			["sǐ"],
			["yī"],
			["shēng"]
		],
		"万死不辞": [
			["wàn"],
			["sǐ"],
			["bù"],
			["cí"]
		],
		"万死犹轻": [
			["wàn"],
			["sǐ"],
			["yóu"],
			["qīng"]
		],
		"万岁千秋": [
			["wàn"],
			["suì"],
			["qiān"],
			["qiū"]
		],
		"万头攒动": [
			["wàn"],
			["tóu"],
			["cuán"],
			["dòng"]
		],
		"万万千千": [
			["wàn"],
			["wàn"],
			["qiān"],
			["qiān"]
		],
		"万无一失": [
			["wàn"],
			["wú"],
			["yī"],
			["shī"]
		],
		"万物之灵": [
			["wàn"],
			["wù"],
			["zhī"],
			["líng"]
		],
		"万象更新": [
			["wàn"],
			["xiàng"],
			["gēng"],
			["xīn"]
		],
		"万象森罗": [
			["wàn"],
			["xiàng"],
			["sēn"],
			["luó"]
		],
		"万绪千端": [
			["wàn"],
			["xù"],
			["qiān"],
			["duān"]
		],
		"万绪千头": [
			["wàn"],
			["xù"],
			["qiān"],
			["tóu"]
		],
		"万选青钱": [
			["wàn"],
			["xuǎn"],
			["qīng"],
			["qián"]
		],
		"万应灵丹": [
			["wàn"],
			["yìng"],
			["líng"],
			["dān"]
		],
		"万有引力": [
			["wàn"],
			["yǒu"],
			["yǐn"],
			["lì"]
		],
		"万语千言": [
			["wàn"],
			["yǔ"],
			["qiān"],
			["yán"]
		],
		"万载千秋": [
			["wàn"],
			["zài"],
			["qiān"],
			["qiū"]
		],
		"万丈高楼平地起": [
			["wàn"],
			["zhàng"],
			["gāo"],
			["lóu"],
			["píng"],
			["dì"],
			["qǐ"]
		],
		"万众一心": [
			["wàn"],
			["zhòng"],
			["yī"],
			["xīn"]
		],
		"万紫千红": [
			["wàn"],
			["zǐ"],
			["qiān"],
			["hóng"]
		],
		"汪洋大海": [
			["wāng"],
			["yáng"],
			["dà"],
			["hǎi"]
		],
		"汪洋大肆": [
			["wāng"],
			["yáng"],
			["dà"],
			["sì"]
		],
		"亡不待夕": [
			["wáng"],
			["bù"],
			["dài"],
			["xī"]
		],
		"亡不旋跬": [
			["wáng"],
			["bù"],
			["xuán"],
			["kuǐ"]
		],
		"亡不旋踵": [
			["wáng"],
			["bù"],
			["xuán"],
			["zhǒng"]
		],
		"亡国大夫": [
			["wáng"],
			["guó"],
			["dà"],
			["fū"]
		],
		"亡国灭种": [
			["wáng"],
			["guó"],
			["miè"],
			["zhǒng"]
		],
		"亡国奴": [
			["wáng"],
			["guó"],
			["nú"]
		],
		"亡国之器": [
			["wáng"],
			["guó"],
			["zhī"],
			["qì"]
		],
		"亡国破家": [
			["wáng"],
			["guó"],
			["pò"],
			["jiā"]
		],
		"亡国之社": [
			["wáng"],
			["guó"],
			["zhī"],
			["shè"]
		],
		"亡国之声": [
			["wáng"],
			["guó"],
			["zhī"],
			["shēng"]
		],
		"亡国之音": [
			["wáng"],
			["guó"],
			["zhī"],
			["yīn"]
		],
		"亡魂丧胆": [
			["wáng"],
			["hún"],
			["sàng"],
			["dǎn"]
		],
		"亡魂丧魄": [
			["wáng"],
			["hún"],
			["sàng"],
			["pò"]
		],
		"亡魂失魄": [
			["wáng"],
			["hún"],
			["shī"],
			["hún"]
		],
		"亡可奈何": [
			["wáng"],
			["kě"],
			["nài"],
			["hé"]
		],
		"亡戟得矛": [
			["wáng"],
			["jǐ"],
			["dé"],
			["máo"]
		],
		"亡命之徒": [
			["wáng"],
			["mìng"],
			["zhī"],
			["tú"]
		],
		"亡羊补牢": [
			["wáng"],
			["yáng"],
			["bǔ"],
			["láo"]
		],
		"亡矢遗镞": [
			["wáng"],
			["shǐ"],
			["yí"],
			["zú"]
		],
		"亡秦三户": [
			["wáng"],
			["qín"],
			["sān"],
			["hù"]
		],
		"亡羊得牛": [
			["wáng"],
			["yáng"],
			["dé"],
			["niú"]
		],
		"亡羊之叹": [
			["wáng"],
			["yáng"],
			["zhī"],
			["tàn"]
		],
		"亡猿灾木": [
			["wáng"],
			["yuán"],
			["zāi"],
			["mù"]
		],
		"亡猿祸木": [
			["wáng"],
			["yuán"],
			["huò"],
			["mù"]
		],
		"王八蛋": [
			["wáng"],
			["bā"],
			["dàn"]
		],
		"王八羔子": [
			["wáng"],
			["bā"],
			["gāo"],
			["zǐ"]
		],
		"王不留行": [
			["wáng"],
			["bù"],
			["liú"],
			["xíng"]
		],
		"王公贵戚": [
			["wáng"],
			["gōng"],
			["guì"],
			["qī"]
		],
		"王公大人": [
			["wáng"],
			["gōng"],
			["dà"],
			["rén"]
		],
		"王贡弹冠": [
			["wáng"],
			["gòng"],
			["dàn"],
			["guàn"]
		],
		"王顾左右而言他": [
			["wáng"],
			["gù"],
			["zuǒ"],
			["yòu"],
			["ér"],
			["yán"],
			["tā"]
		],
		"王侯将相": [
			["wáng"],
			["hóu"],
			["jiàng"],
			["xiàng"]
		],
		"王后卢前": [
			["wáng"],
			["hòu"],
			["lú"],
			["qián"]
		],
		"王老五": [
			["wáng"],
			["lǎo"],
			["wǔ"]
		],
		"王母娘娘": [
			["wáng"],
			["mǔ"],
			["niáng"],
			["niáng"]
		],
		"王孙贵戚": [
			["wáng"],
			["sūn"],
			["guì"],
			["qī"]
		],
		"王孙公子": [
			["wáng"],
			["sūn"],
			["gōng"],
			["zǐ"]
		],
		"王祥卧冰": [
			["wáng"],
			["xiáng"],
			["wò"],
			["bīng"]
		],
		"王佐之才": [
			["wáng"],
			["zuǒ"],
			["zhī"],
			["cái"]
		],
		"往渚还汀": [
			["wǎng"],
			["zhǔ"],
			["huán"],
			["tīng"]
		],
		"枉尺直寻": [
			["wǎng"],
			["chǐ"],
			["zhí"],
			["xún"]
		],
		"枉费工夫": [
			["wǎng"],
			["fèi"],
			["gōng"],
			["fū"]
		],
		"枉费心思": [
			["wǎng"],
			["fèi"],
			["xīn"],
			["sī"]
		],
		"枉己正人": [
			["wǎng"],
			["jǐ"],
			["zhèng"],
			["rén"]
		],
		"枉矫过激": [
			["wǎng"],
			["jiǎo"],
			["guò"],
			["jī"]
		],
		"枉口嚼舌": [
			["wǎng"],
			["kǒu"],
			["jiáo"],
			["shé"]
		],
		"枉墨矫绳": [
			["wǎng"],
			["mò"],
			["jiǎo"],
			["shéng"]
		],
		"枉曲直凑": [
			["wǎng"],
			["qǔ"],
			["zhí"],
			["còu"]
		],
		"枉物难消": [
			["wǎng"],
			["wù"],
			["nán"],
			["xiāo"]
		],
		"枉直同贯": [
			["wǎng"],
			["zhí"],
			["tóng"],
			["guàn"]
		],
		"惘然若失": [
			["wǎng"],
			["rán"],
			["ruò"],
			["shī"]
		],
		"妄自菲薄": [
			["wàng"],
			["zì"],
			["fěi"],
			["bó"]
		],
		"罔知所措": [
			["wǎng"],
			["zhī"],
			["suǒ"],
			["cuò"]
		],
		"妄自尊大": [
			["wàng"],
			["zì"],
			["zūn"],
			["dà"]
		],
		"忘啜废枕": [
			["wàng"],
			["chuò"],
			["fèi"],
			["zhěn"]
		],
		"忘恩背义": [
			["wàng"],
			["ēn"],
			["bèi"],
			["yì"]
		],
		"忘乎其形": [
			["wàng"],
			["hū"],
			["qí"],
			["xíng"]
		],
		"忘年之好": [
			["wàng"],
			["nián"],
			["zhī"],
			["hǎo"]
		],
		"忘年之契": [
			["wàng"],
			["nián"],
			["zhī"],
			["qì"]
		],
		"忘其所以": [
			["wàng"],
			["qí"],
			["suǒ"],
			["yǐ"]
		],
		"忘寝废食": [
			["wàng"],
			["qǐn"],
			["fèi"],
			["shí"]
		],
		"忘象得意": [
			["wàng"],
			["xiàng"],
			["dé"],
			["yì"]
		],
		"忘形之契": [
			["wàng"],
			["xíng"],
			["zhī"],
			["qì"]
		],
		"望表知里": [
			["wàng"],
			["biǎo"],
			["zhī"],
			["lǐ"]
		],
		"望尘奔北": [
			["wàng"],
			["chén"],
			["bēn"],
			["běi"]
		],
		"望尘奔溃": [
			["wàng"],
			["chén"],
			["bēn"],
			["kuì"]
		],
		"望尘不及": [
			["wàng"],
			["chén"],
			["bù"],
			["jí"]
		],
		"望尘僄声": [
			["wàng"],
			["chén"],
			["bù"],
			["shēng"]
		],
		"望尘莫及": [
			["wàng"],
			["chén"],
			["mò"],
			["jí"]
		],
		"望尘追迹": [
			["wàng"],
			["chén"],
			["zhuī"],
			["jì"]
		],
		"望风捕影": [
			["wàng"],
			["fēng"],
			["bǔ"],
			["yǐng"]
		],
		"望风承旨": [
			["wàng"],
			["fēng"],
			["chéng"],
			["zhǐ"]
		],
		"望风而遁": [
			["wàng"],
			["fēng"],
			["ér"],
			["dùn"]
		],
		"望风而降": [
			["wàng"],
			["fēng"],
			["ér"],
			["jiàng"]
		],
		"望风而靡": [
			["wàng"],
			["fēng"],
			["ér"],
			["mí"]
		],
		"望风而逃": [
			["wàng"],
			["fēng"],
			["ér"],
			["táo"]
		],
		"望风扑影": [
			["wàng"],
			["fēng"],
			["pū"],
			["yǐng"]
		],
		"望风披靡": [
			["wàng"],
			["fēng"],
			["pī"],
			["mǐ"]
		],
		"望风希旨": [
			["wàng"],
			["fēng"],
			["xī"],
			["zhǐ"]
		],
		"望风希指": [
			["wàng"],
			["fēng"],
			["xī"],
			["zhǐ"]
		],
		"望风响应": [
			["wàng"],
			["fēng"],
			["xiǎng"],
			["yīng"]
		],
		"望空捉影": [
			["wàng"],
			["kōng"],
			["zhuō"],
			["yǐng"]
		],
		"望其肩项": [
			["wàng"],
			["qí"],
			["jiān"],
			["xiàng"]
		],
		"望其项背": [
			["wàng"],
			["qí"],
			["xiàng"],
			["bèi"]
		],
		"望闻问切": [
			["wàng"],
			["wén"],
			["wèn"],
			["qiē"]
		],
		"望眼将穿": [
			["wàng"],
			["yǎn"],
			["jiāng"],
			["chuān"]
		],
		"望屋以食": [
			["wàng"],
			["wū"],
			["yǐ"],
			["shí"]
		],
		"望屋而食": [
			["wàng"],
			["wū"],
			["ér"],
			["shí"]
		],
		"望洋兴叹": [
			["wàng"],
			["yáng"],
			["xīng"],
			["tàn"]
		],
		"望影揣情": [
			["wàng"],
			["yǐng"],
			["chuāi"],
			["qíng"]
		],
		"危而不持": [
			["wēi"],
			["ér"],
			["bù"],
			["chí"]
		],
		"危急存亡": [
			["wēi"],
			["jí"],
			["cún"],
			["wáng"]
		],
		"危急存亡之秋": [
			["wēi"],
			["jí"],
			["cún"],
			["wáng"],
			["zhī"],
			["qiū"]
		],
		"危迫利诱": [
			["wēi"],
			["pò"],
			["lì"],
			["yòu"]
		],
		"危如累卵": [
			["wēi"],
			["rú"],
			["lěi"],
			["luǎn"]
		],
		"危如朝露": [
			["wēi"],
			["rú"],
			["zhāo"],
			["lù"]
		],
		"危若朝露": [
			["wēi"],
			["ruò"],
			["zhāo"],
			["lù"]
		],
		"危言核论": [
			["wēi"],
			["yán"],
			["hé"],
			["lùn"]
		],
		"危言高论": [
			["wēi"],
			["yán"],
			["gāo"],
			["lùn"]
		],
		"危言覈论": [
			["wēi"],
			["yán"],
			["hé"],
			["lùn"]
		],
		"危言竦论": [
			["wēi"],
			["yán"],
			["sǒng"],
			["lùn"]
		],
		"危言正色": [
			["wēi"],
			["yán"],
			["zhèng"],
			["sè"]
		],
		"危言危行": [
			["wēi"],
			["yán"],
			["wēi"],
			["xíng"]
		],
		"危于累卵": [
			["wēi"],
			["yú"],
			["lěi"],
			["luǎn"]
		],
		"威风八面": [
			["wēi"],
			["fēng"],
			["bā"],
			["miàn"]
		],
		"威风凛凛": [
			["wēi"],
			["fēng"],
			["lǐn"],
			["lǐn"]
		],
		"威风扫地": [
			["wēi"],
			["fēng"],
			["sǎo"],
			["dì"]
		],
		"威风祥麟": [
			["wēi"],
			["fēng"],
			["xiáng"],
			["lín"]
		],
		"威迫利诱": [
			["wēi"],
			["pò"],
			["lì"],
			["yòu"]
		],
		"威望素著": [
			["wēi"],
			["wàng"],
			["sù"],
			["zhù"]
		],
		"威武不屈": [
			["wēi"],
			["wǔ"],
			["bù"],
			["qū"]
		],
		"威信扫地": [
			["wēi"],
			["xìn"],
			["sǎo"],
			["dì"]
		],
		"威重令行": [
			["wēi"],
			["zhòng"],
			["lìng"],
			["xíng"]
		],
		"偎干就湿": [
			["wēi"],
			["gàn"],
			["jiù"],
			["shī"]
		],
		"偎红倚翠": [
			["wēi"],
			["hóng"],
			["yǐ"],
			["cuì"]
		],
		"逶迤退食": [
			["wēi"],
			["yí"],
			["tuì"],
			["shí"]
		],
		"偎慵堕懒": [
			["wēi"],
			["yōng"],
			["duò"],
			["lǎn"]
		],
		"微不足道": [
			["wēi"],
			["bù"],
			["zú"],
			["dào"]
		],
		"微服私行": [
			["wēi"],
			["fú"],
			["sī"],
			["xíng"]
		],
		"微过细故": [
			["wēi"],
			["guò"],
			["xì"],
			["gù"]
		],
		"微乎其微": [
			["wēi"],
			["hū"],
			["qí"],
			["wēi"]
		],
		"微积分": [
			["wēi"],
			["jī"],
			["fēn"]
		],
		"微血管": [
			["wēi"],
			["xuè"],
			["guǎn"]
		],
		"微言大义": [
			["wēi"],
			["yán"],
			["dà"],
			["yì"]
		],
		"微言大谊": [
			["wēi"],
			["yán"],
			["dà"],
			["yì"]
		],
		"煨干避湿": [
			["wēi"],
			["gàn"],
			["bì"],
			["shī"]
		],
		"煨干就湿": [
			["wēi"],
			["gàn"],
			["jiù"],
			["shī"]
		],
		"为丛驱雀": [
			["wèi"],
			["cóng"],
			["qū"],
			["què"]
		],
		"为德不终": [
			["wéi"],
			["dé"],
			["bù"],
			["zhōng"]
		],
		"为德不卒": [
			["wéi"],
			["dé"],
			["bù"],
			["zú"]
		],
		"为恶不悛": [
			["wéi"],
			["è"],
			["bù"],
			["quān"]
		],
		"为法自弊": [
			["wéi"],
			["fǎ"],
			["zì"],
			["bì"]
		],
		"为鬼为蜮": [
			["wéi"],
			["guǐ"],
			["wéi"],
			["yù"]
		],
		"为富不仁": [
			["wéi"],
			["fù"],
			["bù"],
			["rén"]
		],
		"为非作恶": [
			["wéi"],
			["fēi"],
			["zuò"],
			["è"]
		],
		"为国捐躯": [
			["wèi"],
			["guó"],
			["juān"],
			["qū"]
		],
		"为非作歹": [
			["wéi"],
			["fēi"],
			["zuò"],
			["dǎi"]
		],
		"为国为民": [
			["wéi"],
			["guó"],
			["wéi"],
			["mín"]
		],
		"为好成歉": [
			["wéi"],
			["hǎo"],
			["chéng"],
			["qiàn"]
		],
		"为虎傅翼": [
			["wèi"],
			["hǔ"],
			["fù"],
			["yì"]
		],
		"为虎添翼": [
			["wèi"],
			["hǔ"],
			["tiān"],
			["yì"]
		],
		"为虎作伥": [
			["wèi"],
			["hǔ"],
			["zuò"],
			["chāng"]
		],
		"为虺弗摧": [
			["wéi"],
			["huǐ"],
			["fú"],
			["cuī"]
		],
		"为民除害": [
			["wèi"],
			["mín"],
			["chú"],
			["hài"]
		],
		"为民父母": [
			["wéi"],
			["mín"],
			["fù"],
			["mǔ"]
		],
		"为期不远": [
			["wéi"],
			["qī"],
			["bù"],
			["yuǎn"]
		],
		"为民请命": [
			["wèi"],
			["mín"],
			["qǐng"],
			["mìng"]
		],
		"为裘为箕": [
			["wéi"],
			["qiú"],
			["wéi"],
			["jī"]
		],
		"为人师表": [
			["wéi"],
			["rén"],
			["shī"],
			["biǎo"]
		],
		"为人作嫁": [
			["wèi"],
			["rén"],
			["zuò"],
			["jià"]
		],
		"为人说项": [
			["wèi"],
			["rén"],
			["shuō"],
			["xiàng"]
		],
		"为仁不富": [
			["wéi"],
			["rén"],
			["bù"],
			["fù"]
		],
		"为山止篑": [
			["wéi"],
			["shān"],
			["zhǐ"],
			["kuì"]
		],
		"为蛇画足": [
			["wéi"],
			["shé"],
			["huà"],
			["zú"]
		],
		"为善最乐": [
			["wéi"],
			["shàn"],
			["zuì"],
			["lè"]
		],
		"为蛇添足": [
			["wéi"],
			["shé"],
			["tiān"],
			["zú"]
		],
		"为什么": [
			["wéi"],
			["shèn"],
			["mǒ"]
		],
		"为时过早": [
			["wéi"],
			["shí"],
			["guò"],
			["zǎo"]
		],
		"为所欲为": [
			["wéi"],
			["suǒ"],
			["yù"],
			["wéi"]
		],
		"为五斗米折腰": [
			["wèi"],
			["wǔ"],
			["dǒu"],
			["mǐ"],
			["zhé"],
			["yāo"]
		],
		"为小失大": [
			["wèi"],
			["xiǎo"],
			["shī"],
			["dà"]
		],
		"为渊驱鱼": [
			["wèi"],
			["yuān"],
			["qū"],
			["yú"]
		],
		"韦裤布被": [
			["wéi"],
			["kù"],
			["bù"],
			["bèi"]
		],
		"围城打援": [
			["wéi"],
			["chéng"],
			["dǎ"],
			["yuán"]
		],
		"围点打援": [
			["wéi"],
			["diǎn"],
			["dǎ"],
			["yuán"]
		],
		"围追堵截": [
			["wéi"],
			["zhuī"],
			["dǔ"],
			["jié"]
		],
		"帏箔不修": [
			["wéi"],
			["bó"],
			["bù"],
			["xiū"]
		],
		"帏薄不修": [
			["wéi"],
			["báo"],
			["bù"],
			["xiū"]
		],
		"违法乱纪": [
			["wéi"],
			["fǎ"],
			["luàn"],
			["jì"]
		],
		"违强陵弱": [
			["wéi"],
			["qiáng"],
			["líng"],
			["ruò"]
		],
		"违条犯法": [
			["wéi"],
			["tiáo"],
			["fàn"],
			["fǎ"]
		],
		"违条舞法": [
			["wéi"],
			["tiáo"],
			["wǔ"],
			["fǎ"]
		],
		"违心之论": [
			["wéi"],
			["xīn"],
			["zhī"],
			["lùn"]
		],
		"违信背约": [
			["wéi"],
			["xìn"],
			["bèi"],
			["yuē"]
		],
		"唯邻是卜": [
			["wéi"],
			["lín"],
			["shì"],
			["bǔ"]
		],
		"唯理论": [
			["wéi"],
			["lǐ"],
			["lùn"]
		],
		"唯妙唯肖": [
			["wéi"],
			["miào"],
			["wéi"],
			["xiāo"]
		],
		"唯命是从": [
			["wéi"],
			["mìng"],
			["shì"],
			["cóng"]
		],
		"唯所欲为": [
			["wéi"],
			["suǒ"],
			["yù"],
			["wéi"]
		],
		"唯唯否否": [
			["wěi"],
			["wěi"],
			["fǒu"],
			["fǒu"]
		],
		"唯吾独尊": [
			["wéi"],
			["wú"],
			["dú"],
			["zūn"]
		],
		"唯物论": [
			["wéi"],
			["wù"],
			["lùn"]
		],
		"唯物史观": [
			["wéi"],
			["wù"],
			["shǐ"],
			["guān"]
		],
		"帷箔不修": [
			["wéi"],
			["bó"],
			["bù"],
			["xiū"]
		],
		"帷薄不修": [
			["wéi"],
			["bó"],
			["bù"],
			["xiū"]
		],
		"帷幕不修": [
			["wéi"],
			["mù"],
			["bù"],
			["xiū"]
		],
		"惟妙惟肖": [
			["wéi"],
			["miào"],
			["wéi"],
			["xiào"]
		],
		"惟利是趋": [
			["wéi"],
			["lì"],
			["shì"],
			["qú"]
		],
		"惟命是从": [
			["wéi"],
			["mìng"],
			["shì"],
			["cóng"]
		],
		"惟日不足": [
			["wéi"],
			["rì"],
			["bù"],
			["zú"]
		],
		"惟日为岁": [
			["wéi"],
			["rì"],
			["wéi"],
			["suì"]
		],
		"惟所欲为": [
			["wéi"],
			["suǒ"],
			["yù"],
			["wéi"]
		],
		"惟肖惟妙": [
			["wéi"],
			["xiāo"],
			["wéi"],
			["miào"]
		],
		"嵬眼澒耳": [
			["wéi"],
			["yǎn"],
			["xiāng"],
			["ěr"]
		],
		"维妙维肖": [
			["wéi"],
			["miào"],
			["wéi"],
			["xiào"]
		],
		"尾大不掉": [
			["wěi"],
			["dà"],
			["bù"],
			["diào"]
		],
		"尾大难掉": [
			["wěi"],
			["dà"],
			["nán"],
			["diào"]
		],
		"尾生抱柱": [
			["wěi"],
			["shēng"],
			["bào"],
			["zhù"]
		],
		"尾生之信": [
			["wěi"],
			["shēng"],
			["zhī"],
			["xìn"]
		],
		"委过于人": [
			["wěi"],
			["guò"],
			["yú"],
			["rén"]
		],
		"委决不下": [
			["wěi"],
			["jué"],
			["bù"],
			["xià"]
		],
		"委靡不振": [
			["wěi"],
			["mǐ"],
			["bù"],
			["zhèn"]
		],
		"委曲成全": [
			["wěi"],
			["qǔ"],
			["chéng"],
			["quán"]
		],
		"委曲求全": [
			["wěi"],
			["qū"],
			["qiú"],
			["quán"]
		],
		"委任状": [
			["wěi"],
			["rèn"],
			["zhuàng"]
		],
		"委肉虎蹊": [
			["wěi"],
			["ròu"],
			["hǔ"],
			["xī"]
		],
		"委委佗佗": [
			["wēi"],
			["wēi"],
			["tuó"],
			["tuó"]
		],
		"委托书": [
			["wěi"],
			["tuō"],
			["shū"]
		],
		"委员会": [
			["wěi"],
			["yuán"],
			["huì"]
		],
		"委重投艰": [
			["wěi"],
			["zhòng"],
			["tóu"],
			["jiān"]
		],
		"委罪于人": [
			["wěi"],
			["zuì"],
			["yú"],
			["rén"]
		],
		"娓娓不倦": [
			["wěi"],
			["wěi"],
			["bù"],
			["juàn"]
		],
		"萎靡不振": [
			["wěi"],
			["mǐ"],
			["bù"],
			["zhèn"]
		],
		"亹亹不倦": [
			["tān"],
			["wěi"],
			["bù"],
			["juàn"]
		],
		"卫生间": [
			["wèi"],
			["shēng"],
			["jiān"]
		],
		"卫戍区": [
			["wèi"],
			["shù"],
			["qū"]
		],
		"卫生员": [
			["wèi"],
			["shēng"],
			["yuán"]
		],
		"卫星通信": [
			["wèi"],
			["xīng"],
			["tōng"],
			["xìn"]
		],
		"未艾方兴": [
			["wèi"],
			["ài"],
			["fāng"],
			["xīng"]
		],
		"未卜先知": [
			["wèi"],
			["bǔ"],
			["xiān"],
			["zhī"]
		],
		"未达一间": [
			["wèi"],
			["dá"],
			["yī"],
			["jiān"]
		],
		"未风先雨": [
			["wèi"],
			["fēng"],
			["xiān"],
			["yǔ"]
		],
		"未敢苟同": [
			["wèi"],
			["gǎn"],
			["gǒu"],
			["tóng"]
		],
		"未婚夫": [
			["wèi"],
			["hūn"],
			["fū"]
		],
		"未婚妻": [
			["wèi"],
			["hūn"],
			["qī"]
		],
		"未可厚非": [
			["wèi"],
			["kě"],
			["hòu"],
			["fēi"]
		],
		"未老先衰": [
			["wèi"],
			["lǎo"],
			["xiān"],
			["shuāi"]
		],
		"未可同日而语": [
			["wèi"],
			["kě"],
			["tóng"],
			["rì"],
			["ér"],
			["yǔ"]
		],
		"未了公案": [
			["wèi"],
			["liǎo"],
			["gōng"],
			["àn"]
		],
		"未能免俗": [
			["wèi"],
			["néng"],
			["miǎn"],
			["sú"]
		],
		"未识一丁": [
			["wèi"],
			["shí"],
			["yī"],
			["dīng"]
		],
		"未亡人": [
			["wèi"],
			["wáng"],
			["rén"]
		],
		"未为不可": [
			["wèi"],
			["wéi"],
			["bù"],
			["kě"]
		],
		"未雨绸缪": [
			["wèi"],
			["yǔ"],
			["chóu"],
			["móu"]
		],
		"未知数": [
			["wèi"],
			["zhī"],
			["shù"]
		],
		"未知万一": [
			["wèi"],
			["zhī"],
			["wàn"],
			["yī"]
		],
		"未足轻重": [
			["wèi"],
			["zú"],
			["qīng"],
			["zhòng"]
		],
		"位不期骄": [
			["wèi"],
			["bù"],
			["qī"],
			["jiāo"]
		],
		"味如鸡肋": [
			["wèi"],
			["rú"],
			["jī"],
			["lèi"]
		],
		"味如嚼蜡": [
			["wèi"],
			["rú"],
			["jiáo"],
			["là"]
		],
		"味同嚼蜡": [
			["wèi"],
			["tóng"],
			["jiáo"],
			["là"]
		],
		"畏首畏尾": [
			["wèi"],
			["shǒu"],
			["wèi"],
			["wěi"]
		],
		"畏缩不前": [
			["wèi"],
			["suō"],
			["bù"],
			["qián"]
		],
		"畏葸不前": [
			["wèi"],
			["xǐ"],
			["bù"],
			["qián"]
		],
		"畏影恶迹": [
			["wèi"],
			["yǐng"],
			["è"],
			["jì"]
		],
		"胃溃疡": [
			["wèi"],
			["kuì"],
			["yáng"]
		],
		"谓予不信": [
			["wèi"],
			["yú"],
			["bù"],
			["xìn"]
		],
		"蔚成风气": [
			["wèi"],
			["chéng"],
			["fēng"],
			["qì"]
		],
		"蔚然成风": [
			["wèi"],
			["rán"],
			["chéng"],
			["fēng"]
		],
		"蔚为大观": [
			["wèi"],
			["wéi"],
			["dà"],
			["guān"]
		],
		"魏颗结草": [
			["wèi"],
			["kē"],
			["jié"],
			["cǎo"]
		],
		"魏鹊无枝": [
			["wèi"],
			["què"],
			["wú"],
			["zhī"]
		],
		"温度表": [
			["wēn"],
			["dù"],
			["biǎo"]
		],
		"温度计": [
			["wēn"],
			["dù"],
			["jì"]
		],
		"温故知新": [
			["wēn"],
			["gù"],
			["zhī"],
			["xīn"]
		],
		"温衾扇枕": [
			["wēn"],
			["qīn"],
			["shān"],
			["zhěn"]
		],
		"温情脉脉": [
			["wēn"],
			["qíng"],
			["mò"],
			["mò"]
		],
		"温凊定省": [
			["wēn"],
			["qǐng"],
			["dìng"],
			["shěng"]
		],
		"温柔敦厚": [
			["wēn"],
			["róu"],
			["dūn"],
			["hòu"]
		],
		"温润而泽": [
			["wēn"],
			["rùn"],
			["ér"],
			["zé"]
		],
		"温席扇枕": [
			["wēn"],
			["xí"],
			["shān"],
			["zhěn"]
		],
		"温枕扇席": [
			["wēn"],
			["zhěn"],
			["shān"],
			["xí"]
		],
		"文不对题": [
			["wén"],
			["bù"],
			["duì"],
			["tí"]
		],
		"文不加点": [
			["wén"],
			["bù"],
			["jiā"],
			["diǎn"]
		],
		"文采风流": [
			["wén"],
			["cǎi"],
			["fēng"],
			["liú"]
		],
		"文从字顺": [
			["wén"],
			["cóng"],
			["zì"],
			["shùn"]
		],
		"文房四侯": [
			["wén"],
			["fáng"],
			["sì"],
			["hòu"]
		],
		"文风不动": [
			["wén"],
			["fēng"],
			["bù"],
			["dòng"]
		],
		"文过其实": [
			["wén"],
			["guò"],
			["qí"],
			["shí"]
		],
		"文过饰非": [
			["wén"],
			["guò"],
			["shì"],
			["fēi"]
		],
		"文过遂非": [
			["wén"],
			["guò"],
			["suí"],
			["fēi"]
		],
		"文化宫": [
			["wén"],
			["huà"],
			["gōng"]
		],
		"文化馆": [
			["wén"],
			["huà"],
			["guǎn"]
		],
		"文化人": [
			["wén"],
			["huà"],
			["rén"]
		],
		"文化生活": [
			["wén"],
			["huà"],
			["shēng"],
			["huó"]
		],
		"文化遗产": [
			["wén"],
			["huà"],
			["yí"],
			["chǎn"]
		],
		"文奸济恶": [
			["wén"],
			["jiān"],
			["jì"],
			["è"]
		],
		"文理不通": [
			["wén"],
			["lǐ"],
			["bù"],
			["tōng"]
		],
		"文明戏": [
			["wén"],
			["míng"],
			["xì"]
		],
		"文曲星": [
			["wén"],
			["qǔ"],
			["xīng"]
		],
		"文期酒会": [
			["wén"],
			["qī"],
			["jiǔ"],
			["huì"]
		],
		"文人相轻": [
			["wén"],
			["rén"],
			["xiāng"],
			["qīng"]
		],
		"文人无行": [
			["wén"],
			["rén"],
			["wú"],
			["xíng"]
		],
		"文如其人": [
			["wén"],
			["rú"],
			["qí"],
			["rén"]
		],
		"文山会海": [
			["wén"],
			["shān"],
			["huì"],
			["hǎi"]
		],
		"文身断发": [
			["wén"],
			["shēn"],
			["duàn"],
			["fā"]
		],
		"文身剪发": [
			["wén"],
			["shēn"],
			["jiǎn"],
			["fā"]
		],
		"文身翦发": [
			["wén"],
			["shēn"],
			["jiǎn"],
			["fā"]
		],
		"文丝不动": [
			["wén"],
			["sī"],
			["bù"],
			["dòng"]
		],
		"文似其人": [
			["wén"],
			["sì"],
			["qí"],
			["rén"]
		],
		"文搜丁甲": [
			["wén"],
			["sōu"],
			["dīng"],
			["jiǎ"]
		],
		"文武差事": [
			["wén"],
			["wǔ"],
			["chà"],
			["shì"]
		],
		"文行出处": [
			["wén"],
			["xíng"],
			["chū"],
			["chǔ"]
		],
		"文献之家": [
			["wén"],
			["xiàn"],
			["zhī"],
			["jiā"]
		],
		"文学家": [
			["wén"],
			["xué"],
			["jiā"]
		],
		"文学语言": [
			["wén"],
			["xué"],
			["yǔ"],
			["yán"]
		],
		"文以载道": [
			["wén"],
			["yǐ"],
			["zài"],
			["dào"]
		],
		"文艺复兴": [
			["wén"],
			["yì"],
			["fù"],
			["xīng"]
		],
		"文艺家": [
			["wén"],
			["yì"],
			["jiā"]
		],
		"文章经济": [
			["wén"],
			["zhāng"],
			["jīng"],
			["jì"]
		],
		"文章盖世": [
			["wén"],
			["zhāng"],
			["gài"],
			["shì"]
		],
		"文章山斗": [
			["wén"],
			["zhāng"],
			["shān"],
			["dòu"]
		],
		"文章宿老": [
			["wén"],
			["zhāng"],
			["sù"],
			["lǎo"]
		],
		"文章星斗": [
			["wén"],
			["zhāng"],
			["xīng"],
			["dòu"]
		],
		"文子同升": [
			["wén"],
			["zǐ"],
			["tóng"],
			["shēng"]
		],
		"文子文孙": [
			["wén"],
			["zǐ"],
			["wén"],
			["sūn"]
		],
		"纹丝不动": [
			["wén"],
			["sī"],
			["bù"],
			["dòng"]
		],
		"闻宠若惊": [
			["wén"],
			["chǒng"],
			["ruò"],
			["jīng"]
		],
		"闻风而动": [
			["wén"],
			["fēng"],
			["ér"],
			["dòng"]
		],
		"闻风而起": [
			["wén"],
			["fēng"],
			["ér"],
			["qǐ"]
		],
		"闻风而逃": [
			["wén"],
			["fēng"],
			["ér"],
			["táo"]
		],
		"闻风而至": [
			["wén"],
			["fēng"],
			["ér"],
			["zhì"]
		],
		"闻风而兴": [
			["wén"],
			["fēng"],
			["ér"],
			["xīng"]
		],
		"闻风破胆": [
			["wén"],
			["fēng"],
			["pò"],
			["dǎn"]
		],
		"闻风丧胆": [
			["wén"],
			["fēng"],
			["sàng"],
			["dǎn"]
		],
		"闻风响应": [
			["wén"],
			["fēng"],
			["xiǎng"],
			["yīng"]
		],
		"闻风远遁": [
			["wén"],
			["fēng"],
			["yuǎn"],
			["dùn"]
		],
		"闻风远扬": [
			["wén"],
			["fēng"],
			["yuǎn"],
			["yáng"]
		],
		"闻过则喜": [
			["wén"],
			["guò"],
			["zé"],
			["xǐ"]
		],
		"闻名不如见面": [
			["wén"],
			["míng"],
			["bù"],
			["rú"],
			["jiàn"],
			["miàn"]
		],
		"闻名丧胆": [
			["wén"],
			["míng"],
			["sàng"],
			["dǎn"]
		],
		"闻所不闻": [
			["wén"],
			["suǒ"],
			["bù"],
			["wén"]
		],
		"闻融敦厚": [
			["wén"],
			["róng"],
			["dūn"],
			["hòu"]
		],
		"闻声相思": [
			["wén"],
			["shēng"],
			["xiāng"],
			["sī"]
		],
		"闻噎废食": [
			["wén"],
			["yē"],
			["fèi"],
			["shí"]
		],
		"闻一知二": [
			["wén"],
			["yī"],
			["zhī"],
			["èr"]
		],
		"闻一知十": [
			["wén"],
			["yī"],
			["zhī"],
			["shí"]
		],
		"刎颈之交": [
			["wěn"],
			["jǐng"],
			["zhī"],
			["jiāo"]
		],
		"刎颈交": [
			["wěn"],
			["jǐng"],
			["jiāo"]
		],
		"稳操胜券": [
			["wén"],
			["cāo"],
			["shèng"],
			["quàn"]
		],
		"稳操左券": [
			["wén"],
			["cāo"],
			["zuǒ"],
			["quàn"]
		],
		"稳稳当当": [
			["wěn"],
			["wěn"],
			["dāng"],
			["dāng"]
		],
		"稳扎稳打": [
			["wěn"],
			["zhā"],
			["wěn"],
			["dǎ"]
		],
		"稳坐钓鱼台": [
			["wěn"],
			["zuò"],
			["diào"],
			["yú"],
			["tái"]
		],
		"问长问短": [
			["wèn"],
			["cháng"],
			["wèn"],
			["duǎn"]
		],
		"问鼎中原": [
			["wèn"],
			["dǐng"],
			["zhōng"],
			["yuán"]
		],
		"问官答花": [
			["wèn"],
			["guān"],
			["dá"],
			["huā"]
		],
		"问牛知马": [
			["wèn"],
			["niú"],
			["zhī"],
			["mǎ"]
		],
		"问羊知马": [
			["wèn"],
			["yáng"],
			["zhī"],
			["mǎ"]
		],
		"问一答十": [
			["wèn"],
			["yī"],
			["dá"],
			["shí"]
		],
		"汶阳田反": [
			["wèn"],
			["yáng"],
			["tián"],
			["fǎn"]
		],
		"瓮尽杯干": [
			["wèng"],
			["jìn"],
			["bēi"],
			["gān"]
		],
		"瓮天之见": [
			["wèng"],
			["tiān"],
			["zhī"],
			["jiàn"]
		],
		"瓮中之鳖": [
			["wèng"],
			["zhōng"],
			["zhī"],
			["biē"]
		],
		"瓮中捉鳖": [
			["wèng"],
			["zhōng"],
			["zhuō"],
			["biē"]
		],
		"窝囊废": [
			["wō"],
			["nāng"],
			["fèi"]
		],
		"窝窝头": [
			["wō"],
			["wō"],
			["tóu"]
		],
		"窝囊气": [
			["wō"],
			["nāng"],
			["qì"]
		],
		"蜗角虚名": [
			["wō"],
			["jiǎo"],
			["xū"],
			["míng"]
		],
		"蜗角蝇头": [
			["wō"],
			["jiǎo"],
			["yíng"],
			["tóu"]
		],
		"蜗角之争": [
			["wō"],
			["jiǎo"],
			["zhī"],
			["zhēng"]
		],
		"蜗行牛步": [
			["wō"],
			["xíng"],
			["niú"],
			["bù"]
		],
		"我见犹怜": [
			["wǒ"],
			["jiàn"],
			["yóu"],
			["lián"]
		],
		"我行我素": [
			["wǒ"],
			["xíng"],
			["wǒ"],
			["sù"]
		],
		"捰袖揎拳": [
			["luò"],
			["xiù"],
			["xuān"],
			["quán"]
		],
		"卧不安席": [
			["wò"],
			["bù"],
			["ān"],
			["xí"]
		],
		"卧床不起": [
			["wò"],
			["chuáng"],
			["bù"],
			["qǐ"]
		],
		"卧虎藏龙": [
			["wò"],
			["hǔ"],
			["cáng"],
			["lóng"]
		],
		"握发吐飧": [
			["wò"],
			["fā"],
			["tǔ"],
			["sūn"]
		],
		"握发吐哺": [
			["wò"],
			["fā"],
			["tǔ"],
			["bǔ"]
		],
		"握风捕影": [
			["wò"],
			["fēng"],
			["bǔ"],
			["yǐng"]
		],
		"握铅抱椠": [
			["wò"],
			["qiān"],
			["bào"],
			["qiàn"]
		],
		"握纲提领": [
			["wò"],
			["gāng"],
			["tí"],
			["lǐng"]
		],
		"握拳透爪": [
			["wò"],
			["quán"],
			["tòu"],
			["zhǎo"]
		],
		"握蛇骑虎": [
			["wò"],
			["shé"],
			["qí"],
			["hǔ"]
		],
		"握素怀铅": [
			["wò"],
			["sù"],
			["huái"],
			["qiān"]
		],
		"握粟出卜": [
			["wò"],
			["sù"],
			["chū"],
			["bo"]
		],
		"握炭流汤": [
			["wò"],
			["tàn"],
			["liú"],
			["tāng"]
		],
		"握雨携云": [
			["wò"],
			["yǔ"],
			["xié"],
			["yún"]
		],
		"乌白马角": [
			["wū"],
			["bái"],
			["mǎ"],
			["jiǎo"]
		],
		"乌骨鸡": [
			["wū"],
			["gǔ"],
			["jī"]
		],
		"乌合之众": [
			["wū"],
			["hé"],
			["zhī"],
			["zhòng"]
		],
		"乌拉草": [
			["wù"],
			["la"],
			["cǎo"]
		],
		"乌拉尔山脉": [
			["wù"],
			["la"],
			["ěr"],
			["shān"],
			["mài"]
		],
		"乌拉圭": [
			["wù"],
			["la"],
			["guī"]
		],
		"乌溜溜": [
			["wū"],
			["liū"],
			["liū"]
		],
		"乌鲁木齐": [
			["wū"],
			["lǔ"],
			["mù"],
			["qí"]
		],
		"乌帽红裙": [
			["wū"],
			["mào"],
			["hóng"],
			["qún"]
		],
		"乌梢蛇": [
			["wū"],
			["shāo"],
			["shé"]
		],
		"乌苏里江": [
			["wū"],
			["sū"],
			["lǐ"],
			["jiāng"]
		],
		"乌天黑地": [
			["wū"],
			["tiān"],
			["hēi"],
			["dì"]
		],
		"乌头马角": [
			["wū"],
			["tóu"],
			["mǎ"],
			["jiǎo"]
		],
		"乌头白马生角": [
			["wū"],
			["tóu"],
			["bái"],
			["mǎ"],
			["shēng"],
			["jiǎo"]
		],
		"乌压压": [
			["wū"],
			["yā"],
			["yā"]
		],
		"乌有先生": [
			["wū"],
			["yǒu"],
			["xiān"],
			["shēng"]
		],
		"乌衣子弟": [
			["wū"],
			["yī"],
			["zǐ"],
			["dì"]
		],
		"污泥浊水": [
			["wū"],
			["ní"],
			["zhuó"],
			["shuǐ"]
		],
		"污言秽语": [
			["wū"],
			["yán"],
			["huì"],
			["yǔ"]
		],
		"呜呜咽咽": [
			["wū"],
			["wū"],
			["yè"],
			["yè"]
		],
		"巫山云雨": [
			["wū"],
			["shān"],
			["yún"],
			["yǔ"]
		],
		"巫云楚雨": [
			["wū"],
			["yún"],
			["chǔ"],
			["yǔ"]
		],
		"屋上建瓴": [
			["wū"],
			["shàng"],
			["jiàn"],
			["líng"]
		],
		"诬良为盗": [
			["wū"],
			["liáng"],
			["wéi"],
			["dào"]
		],
		"屋上乌": [
			["wū"],
			["shàng"],
			["wū"]
		],
		"无般不识": [
			["wú"],
			["bān"],
			["bù"],
			["shí"]
		],
		"无背无侧": [
			["wú"],
			["bèi"],
			["wú"],
			["cè"]
		],
		"无边风月": [
			["wú"],
			["biān"],
			["fēng"],
			["yuè"]
		],
		"无肠可断": [
			["wú"],
			["cháng"],
			["kě"],
			["duàn"]
		],
		"无出其右": [
			["wú"],
			["chū"],
			["qí"],
			["yòu"]
		],
		"无从置喙": [
			["wú"],
			["cóng"],
			["zhì"],
			["huì"]
		],
		"无大不大": [
			["wú"],
			["dà"],
			["bù"],
			["dà"]
		],
		"无大无小": [
			["wú"],
			["dà"],
			["wú"],
			["xiǎo"]
		],
		"无德而称": [
			["wú"],
			["dé"],
			["ér"],
			["chēng"]
		],
		"无待蓍龟": [
			["wú"],
			["dài"],
			["shī"],
			["guī"]
		],
		"无的放矢": [
			["wú"],
			["dì"],
			["fàng"],
			["shǐ"]
		],
		"无底洞": [
			["wú"],
			["dǐ"],
			["dòng"]
		],
		"无地自厝": [
			["wú"],
			["dì"],
			["zì"],
			["cuò"]
		],
		"无地可容": [
			["wú"],
			["dì"],
			["kě"],
			["róng"]
		],
		"无地自处": [
			["wú"],
			["dì"],
			["zì"],
			["chǔ"]
		],
		"无地自容": [
			["wú"],
			["dì"],
			["zì"],
			["róng"]
		],
		"无颠无倒": [
			["wú"],
			["diān"],
			["wú"],
			["dǎo"]
		],
		"无动为大": [
			["wú"],
			["dòng"],
			["wéi"],
			["dà"]
		],
		"无动于中": [
			["wú"],
			["dòng"],
			["yú"],
			["zhōng"]
		],
		"无毒不丈夫": [
			["wú"],
			["dú"],
			["bù"],
			["zhàng"],
			["fū"]
		],
		"无独有偶": [
			["wú"],
			["dú"],
			["yǒu"],
			["ǒu"]
		],
		"无恶不为": [
			["wú"],
			["è"],
			["bù"],
			["wéi"]
		],
		"无恶不造": [
			["wú"],
			["è"],
			["bù"],
			["zào"]
		],
		"无恶不作": [
			["wú"],
			["è"],
			["bù"],
			["zuò"]
		],
		"无风不起浪": [
			["wú"],
			["fēng"],
			["bù"],
			["qǐ"],
			["làng"]
		],
		"无风起浪": [
			["wú"],
			["fēng"],
			["qǐ"],
			["làng"]
		],
		"无风三尺浪": [
			["wú"],
			["fēng"],
			["sān"],
			["chǐ"],
			["làng"]
		],
		"无风生浪": [
			["wú"],
			["fēng"],
			["shēng"],
			["làng"]
		],
		"无风扬波": [
			["wú"],
			["fēng"],
			["yáng"],
			["bō"]
		],
		"无风作浪": [
			["wú"],
			["fēng"],
			["zuò"],
			["làng"]
		],
		"无缝天衣": [
			["wú"],
			["féng"],
			["tiān"],
			["yī"]
		],
		"无缝钢管": [
			["wú"],
			["fèng"],
			["gāng"],
			["guǎn"]
		],
		"无佛处称尊": [
			["wú"],
			["fó"],
			["chù"],
			["chēng"],
			["zūn"]
		],
		"无服之丧": [
			["wú"],
			["fú"],
			["zhī"],
			["sàng"]
		],
		"无服之殇": [
			["wú"],
			["fú"],
			["zhī"],
			["shāng"]
		],
		"无父无君": [
			["wú"],
			["fù"],
			["wú"],
			["jūn"]
		],
		"无功功率": [
			["wú"],
			["gōng"],
			["gōng"],
			["lǜ"]
		],
		"无关大局": [
			["wú"],
			["guān"],
			["dà"],
			["jú"]
		],
		"无关大体": [
			["wú"],
			["guān"],
			["dà"],
			["tǐ"]
		],
		"无关紧要": [
			["wú"],
			["guān"],
			["jǐn"],
			["yào"]
		],
		"无轨电车": [
			["wú"],
			["guǐ"],
			["diàn"],
			["chē"]
		],
		"无何有乡": [
			["wú"],
			["hé"],
			["yǒu"],
			["xiāng"]
		],
		"无何有之乡": [
			["wú"],
			["hé"],
			["yǒu"],
			["zhī"],
			["xiāng"]
		],
		"无乎不可": [
			["wú"],
			["hū"],
			["bù"],
			["kě"]
		],
		"无机化学": [
			["wú"],
			["jī"],
			["huà"],
			["xué"]
		],
		"无机可乘": [
			["wú"],
			["jī"],
			["kě"],
			["chéng"]
		],
		"无迹可求": [
			["wú"],
			["jì"],
			["kě"],
			["qiú"]
		],
		"无迹可寻": [
			["wú"],
			["jì"],
			["kě"],
			["xún"]
		],
		"无稽之言": [
			["wú"],
			["jī"],
			["zhī"],
			["yán"]
		],
		"无稽之谈": [
			["wú"],
			["jī"],
			["zhī"],
			["tán"]
		],
		"无计可奈": [
			["wú"],
			["jì"],
			["kě"],
			["nài"]
		],
		"无计可施": [
			["wú"],
			["jì"],
			["kě"],
			["shī"]
		],
		"无记名投票": [
			["wú"],
			["jì"],
			["míng"],
			["tóu"],
			["piào"]
		],
		"无计奈何": [
			["wú"],
			["jì"],
			["nài"],
			["hé"]
		],
		"无际可寻": [
			["wú"],
			["jì"],
			["kě"],
			["xún"]
		],
		"无济于事": [
			["wú"],
			["jì"],
			["yú"],
			["shì"]
		],
		"无家可奔": [
			["wú"],
			["jiā"],
			["kě"],
			["bēn"]
		],
		"无家可归": [
			["wú"],
			["jiā"],
			["kě"],
			["guī"]
		],
		"无价宝": [
			["wú"],
			["jià"],
			["bǎo"]
		],
		"无家无室": [
			["wú"],
			["jiā"],
			["wú"],
			["shì"]
		],
		"无价之宝": [
			["wú"],
			["jià"],
			["zhī"],
			["bǎo"]
		],
		"无坚不摧": [
			["wú"],
			["jiān"],
			["bù"],
			["cuī"]
		],
		"无坚不陷": [
			["wú"],
			["jiān"],
			["bù"],
			["xiàn"]
		],
		"无间冬夏": [
			["wú"],
			["jiān"],
			["dōng"],
			["xià"]
		],
		"无间可乘": [
			["wú"],
			["jiān"],
			["kě"],
			["chéng"]
		],
		"无间可伺": [
			["wú"],
			["jiān"],
			["kě"],
			["sì"]
		],
		"无间是非": [
			["wú"],
			["jiàn"],
			["shì"],
			["fēi"]
		],
		"无疆之休": [
			["wú"],
			["jiāng"],
			["zhī"],
			["xiū"]
		],
		"无节制": [
			["wú"],
			["jié"],
			["zhì"]
		],
		"无尽无穷": [
			["wú"],
			["jìn"],
			["wú"],
			["qióng"]
		],
		"无尽无休": [
			["wú"],
			["jìn"],
			["wú"],
			["xiū"]
		],
		"无精嗒彩": [
			["wú"],
			["jīng"],
			["dā"],
			["cǎi"]
		],
		"无胫而行": [
			["wú"],
			["jìng"],
			["ér"],
			["xíng"]
		],
		"无精打彩": [
			["wú"],
			["jīng"],
			["dǎ"],
			["cǎi"]
		],
		"无精打采": [
			["wú"],
			["jīng"],
			["dǎ"],
			["cǎi"]
		],
		"无拘束": [
			["wú"],
			["jū"],
			["shù"]
		],
		"无拘无碍": [
			["wú"],
			["jū"],
			["wú"],
			["ài"]
		],
		"无拘无缚": [
			["wú"],
			["jū"],
			["wú"],
			["fù"]
		],
		"无拘无束": [
			["wú"],
			["jū"],
			["wú"],
			["shù"]
		],
		"无可比伦": [
			["wú"],
			["kě"],
			["bǐ"],
			["lún"]
		],
		"无可比拟": [
			["wú"],
			["kě"],
			["bǐ"],
			["nì"]
		],
		"无可比象": [
			["wú"],
			["kě"],
			["bǐ"],
			["xiàng"]
		],
		"无可不可": [
			["wú"],
			["kě"],
			["bù"],
			["kě"]
		],
		"无可非议": [
			["wú"],
			["kě"],
			["fēi"],
			["yì"]
		],
		"无可奉告": [
			["wú"],
			["kě"],
			["fèng"],
			["gào"]
		],
		"无可厚非": [
			["wú"],
			["kě"],
			["hòu"],
			["fēi"]
		],
		"无可讳言": [
			["wú"],
			["kě"],
			["huì"],
			["yán"]
		],
		"无可名状": [
			["wú"],
			["kě"],
			["míng"],
			["zhuàng"]
		],
		"无可救药": [
			["wú"],
			["kě"],
			["jiù"],
			["yào"]
		],
		"无可奈何": [
			["wú"],
			["kě"],
			["nài"],
			["hé"]
		],
		"无可奈何花落去": [
			["wú"],
			["kě"],
			["nài"],
			["hé"],
			["huā"],
			["luò"],
			["qù"]
		],
		"无可如何": [
			["wú"],
			["kě"],
			["rú"],
			["hé"]
		],
		"无可柰何": [
			["wú"],
			["kě"],
			["nài"],
			["hé"]
		],
		"无可无不可": [
			["wú"],
			["kě"],
			["wú"],
			["bù"],
			["kě"]
		],
		"无可争辩": [
			["wú"],
			["kě"],
			["zhēng"],
			["biàn"]
		],
		"无可置辩": [
			["wú"],
			["kě"],
			["zhì"],
			["biàn"]
		],
		"无可置喙": [
			["wú"],
			["kě"],
			["zhì"],
			["huì"]
		],
		"无可置疑": [
			["wú"],
			["kě"],
			["zhì"],
			["yí"]
		],
		"无空不入": [
			["wú"],
			["kōng"],
			["bù"],
			["rù"]
		],
		"无孔不钻": [
			["wú"],
			["kǒng"],
			["bù"],
			["zuān"]
		],
		"无孔不入": [
			["wú"],
			["kǒng"],
			["bù"],
			["rù"]
		],
		"无寇暴死": [
			["wu"],
			["kou"],
			["bào"],
			["shi"]
		],
		"无理数": [
			["wú"],
			["lǐ"],
			["shù"]
		],
		"无立锥之地": [
			["wú"],
			["lì"],
			["zhuī"],
			["zhī"],
			["dì"]
		],
		"无了根蒂": [
			["wú"],
			["le"],
			["gēn"],
			["dì"]
		],
		"无了无休": [
			["wú"],
			["le"],
			["wú"],
			["xiū"]
		],
		"无路可走": [
			["wú"],
			["lù"],
			["kě"],
			["zǒu"]
		],
		"无虑无思": [
			["wú"],
			["lǜ"],
			["wú"],
			["sī"]
		],
		"无论如何": [
			["wú"],
			["lùn"],
			["rú"],
			["hé"]
		],
		"无毛大虫": [
			["wú"],
			["máo"],
			["dà"],
			["chóng"]
		],
		"无面目见江东父老": [
			["wú"],
			["miàn"],
			["mù"],
			["jiàn"],
			["jiāng"],
			["dōng"],
			["fù"],
			["lǎo"]
		],
		"无冕之王": [
			["wú"],
			["miǎn"],
			["zhī"],
			["wáng"]
		],
		"无名氏": [
			["wú"],
			["míng"],
			["shì"]
		],
		"无名帖": [
			["wú"],
			["míng"],
			["tiě"]
		],
		"无名小卒": [
			["wú"],
			["míng"],
			["xiǎo"],
			["zú"]
		],
		"无名肿毒": [
			["wú"],
			["míng"],
			["zhǒng"],
			["dú"]
		],
		"无名之朴": [
			["wú"],
			["míng"],
			["zhī"],
			["pǔ"]
		],
		"无奈何": [
			["wú"],
			["nài"],
			["hé"]
		],
		"无奈我何": [
			["wú"],
			["nài"],
			["wǒ"],
			["hé"]
		],
		"无能为役": [
			["wú"],
			["néng"],
			["wéi"],
			["yì"]
		],
		"无能为力": [
			["wú"],
			["néng"],
			["wéi"],
			["lì"]
		],
		"无偏无陂": [
			["wú"],
			["piān"],
			["wú"],
			["bēi"]
		],
		"无平不颇": [
			["wú"],
			["píng"],
			["bù"],
			["pō"]
		],
		"无期徒刑": [
			["wú"],
			["qī"],
			["tú"],
			["xíng"]
		],
		"无其伦比": [
			["wú"],
			["qí"],
			["lún"],
			["bǐ"]
		],
		"无其奈何": [
			["wú"],
			["qí"],
			["nài"],
			["hé"]
		],
		"无奇不有": [
			["wú"],
			["qí"],
			["bù"],
			["yǒu"]
		],
		"无千待万": [
			["wú"],
			["qiān"],
			["dài"],
			["wàn"]
		],
		"无千无万": [
			["wú"],
			["qiān"],
			["wú"],
			["wàn"]
		],
		"无巧不成话": [
			["wú"],
			["qiǎo"],
			["bù"],
			["chéng"],
			["huà"]
		],
		"无巧不成书": [
			["wú"],
			["qiǎo"],
			["bù"],
			["chéng"],
			["shū"]
		],
		"无亲无故": [
			["wú"],
			["qīn"],
			["wú"],
			["gù"]
		],
		"无情少面": [
			["wú"],
			["qíng"],
			["shǎo"],
			["miàn"]
		],
		"无穷尽": [
			["wú"],
			["qióng"],
			["jìn"]
		],
		"无穷大": [
			["wú"],
			["qióng"],
			["dà"]
		],
		"无穷无尽": [
			["wú"],
			["qióng"],
			["wú"],
			["jìn"]
		],
		"无人区": [
			["wú"],
			["rén"],
			["qū"]
		],
		"无人之地": [
			["wú"],
			["rén"],
			["zhī"],
			["dì"]
		],
		"无任之禄": [
			["wú"],
			["rèn"],
			["zhī"],
			["lù"]
		],
		"无容身之地": [
			["wú"],
			["róng"],
			["shēn"],
			["zhī"],
			["dì"]
		],
		"无容置疑": [
			["wú"],
			["róng"],
			["zhì"],
			["yí"]
		],
		"无如奈何": [
			["wú"],
			["rú"],
			["nài"],
			["hé"]
		],
		"无如之何": [
			["wú"],
			["rú"],
			["zhī"],
			["hé"]
		],
		"无伤大体": [
			["wú"],
			["shāng"],
			["dà"],
			["tǐ"]
		],
		"无伤大雅": [
			["wú"],
			["shāng"],
			["dà"],
			["yǎ"]
		],
		"无伤无臭": [
			["wú"],
			["shēng"],
			["wú"],
			["xiù"]
		],
		"无神论": [
			["wú"],
			["shén"],
			["lùn"]
		],
		"无声片": [
			["wú"],
			["shēng"],
			["piàn"]
		],
		"无声无臭": [
			["wú"],
			["shēng"],
			["wú"],
			["xiù"]
		],
		"无施不可": [
			["wú"],
			["shī"],
			["bù"],
			["kě"]
		],
		"无施不效": [
			["wú"],
			["shī"],
			["bù"],
			["xiào"]
		],
		"无事不登三宝殿": [
			["wú"],
			["shì"],
			["bù"],
			["dēng"],
			["sān"],
			["bǎo"],
			["diàn"]
		],
		"无适无莫": [
			["wú"],
			["shì"],
			["wú"],
			["mò"]
		],
		"无霜期": [
			["wú"],
			["shuāng"],
			["qī"]
		],
		"无適无莫": [
			["wú"],
			["dí"],
			["wú"],
			["mò"]
		],
		"无束无拘": [
			["wú"],
			["shù"],
			["wú"],
			["jū"]
		],
		"无丝有线": [
			["wú"],
			["sī"],
			["yǒu"],
			["xiàn"]
		],
		"无私有弊": [
			["wú"],
			["sī"],
			["yǒu"],
			["bì"]
		],
		"无私有意": [
			["wú"],
			["sī"],
			["yǒu"],
			["yì"]
		],
		"无思无虑": [
			["wú"],
			["sī"],
			["wú"],
			["lǜ"]
		],
		"无所不包": [
			["wú"],
			["suǒ"],
			["bù"],
			["bāo"]
		],
		"无所不备": [
			["wú"],
			["suǒ"],
			["bù"],
			["bèi"]
		],
		"无所不及": [
			["wú"],
			["suǒ"],
			["bù"],
			["jí"]
		],
		"无所不可": [
			["wú"],
			["suǒ"],
			["bù"],
			["kě"]
		],
		"无所不尽其极": [
			["wú"],
			["suǒ"],
			["bù"],
			["jìn"],
			["qí"],
			["jí"]
		],
		"无所不容": [
			["wú"],
			["suǒ"],
			["bù"],
			["róng"]
		],
		"无所不能": [
			["wú"],
			["suǒ"],
			["bù"],
			["néng"]
		],
		"无所不通": [
			["wú"],
			["suǒ"],
			["bù"],
			["tōng"]
		],
		"无所不晓": [
			["wú"],
			["suǒ"],
			["bù"],
			["xiǎo"]
		],
		"无所不用其极": [
			["wú"],
			["suǒ"],
			["bù"],
			["yòng"],
			["qí"],
			["jí"]
		],
		"无所不为": [
			["wú"],
			["suǒ"],
			["bù"],
			["wéi"]
		],
		"无所不有": [
			["wú"],
			["suǒ"],
			["bù"],
			["yǒu"]
		],
		"无所不在": [
			["wú"],
			["suǒ"],
			["bù"],
			["zài"]
		],
		"无所不至": [
			["wú"],
			["suǒ"],
			["bù"],
			["zhì"]
		],
		"无所不知": [
			["wú"],
			["suǒ"],
			["bù"],
			["zhī"]
		],
		"无所不作": [
			["wú"],
			["suǒ"],
			["bù"],
			["zuò"]
		],
		"无所顾惮": [
			["wú"],
			["suǒ"],
			["gù"],
			["dàn"]
		],
		"无所忌惮": [
			["wú"],
			["suǒ"],
			["jì"],
			["dàn"]
		],
		"无所可否": [
			["wú"],
			["suǒ"],
			["kě"],
			["fǒu"]
		],
		"无所施其伎": [
			["wú"],
			["suǒ"],
			["shī"],
			["qí"],
			["jì"]
		],
		"无所施其技": [
			["wú"],
			["suǒ"],
			["shī"],
			["qí"],
			["jì"]
		],
		"无所适从": [
			["wú"],
			["suǒ"],
			["shì"],
			["cóng"]
		],
		"无所畏惮": [
			["wú"],
			["suǒ"],
			["wèi"],
			["dàn"]
		],
		"无所重轻": [
			["wú"],
			["suǒ"],
			["zhòng"],
			["qīng"]
		],
		"无所作为": [
			["wú"],
			["suǒ"],
			["zuò"],
			["wéi"]
		],
		"无条件": [
			["wú"],
			["tiáo"],
			["jiàn"]
		],
		"无头案": [
			["wú"],
			["tóu"],
			["àn"]
		],
		"无头告示": [
			["wú"],
			["tóu"],
			["gào"],
			["shì"]
		],
		"无头无尾": [
			["wú"],
			["tóu"],
			["wú"],
			["wěi"]
		],
		"无万大千": [
			["wú"],
			["wàn"],
			["dà"],
			["qiān"]
		],
		"无往不复": [
			["wú"],
			["wǎng"],
			["bù"],
			["fù"]
		],
		"无往不克": [
			["wú"],
			["wǎng"],
			["bù"],
			["kè"]
		],
		"无往不利": [
			["wú"],
			["wǎng"],
			["bù"],
			["lì"]
		],
		"无往不胜": [
			["wú"],
			["wǎng"],
			["bù"],
			["shèng"]
		],
		"无为而成": [
			["wú"],
			["wéi"],
			["ér"],
			["chéng"]
		],
		"无微不至": [
			["wú"],
			["wēi"],
			["bù"],
			["zhì"]
		],
		"无为而治": [
			["wú"],
			["wéi"],
			["ér"],
			["zhì"]
		],
		"无为之治": [
			["wú"],
			["wéi"],
			["zhī"],
			["zhì"]
		],
		"无为自成": [
			["wú"],
			["wéi"],
			["zì"],
			["chéng"]
		],
		"无为自化": [
			["wú"],
			["wéi"],
			["zì"],
			["huà"]
		],
		"无隙可乘": [
			["wú"],
			["xì"],
			["kě"],
			["chéng"]
		],
		"无下箸处": [
			["wú"],
			["xià"],
			["zhù"],
			["chǔ"]
		],
		"无线电台": [
			["wú"],
			["xiàn"],
			["diàn"],
			["tái"]
		],
		"无线电传真": [
			["wú"],
			["xiàn"],
			["diàn"],
			["chuán"],
			["zhēn"]
		],
		"无线电通信": [
			["wú"],
			["xiàn"],
			["diàn"],
			["tōng"],
			["xìn"]
		],
		"无限大": [
			["wú"],
			["xiàn"],
			["dà"]
		],
		"无相无作": [
			["wú"],
			["xiāng"],
			["wú"],
			["zuò"]
		],
		"无懈可击": [
			["wú"],
			["xiè"],
			["kě"],
			["jī"]
		],
		"无形之中": [
			["wú"],
			["xíng"],
			["zhī"],
			["zhōng"]
		],
		"无形中": [
			["wú"],
			["xíng"],
			["zhōng"]
		],
		"无休无了": [
			["wú"],
			["xiū"],
			["wú"],
			["le"]
		],
		"无言可对": [
			["wú"],
			["yán"],
			["kě"],
			["duì"]
		],
		"无盐不解淡": [
			["wú"],
			["yán"],
			["bù"],
			["jiě"],
			["dàn"]
		],
		"无颜落色": [
			["wú"],
			["yán"],
			["luò"],
			["sè"]
		],
		"无一不备": [
			["wú"],
			["yī"],
			["bù"],
			["bèi"]
		],
		"无一不知": [
			["wú"],
			["yī"],
			["bù"],
			["zhī"]
		],
		"无以塞责": [
			["wú"],
			["yǐ"],
			["sè"],
			["zé"]
		],
		"无意识": [
			["wú"],
			["yì"],
			["shí"]
		],
		"无庸置疑": [
			["wú"],
			["yōng"],
			["zhì"],
			["yí"]
		],
		"无用武之地": [
			["wú"],
			["yòng"],
			["wǔ"],
			["zhī"],
			["dì"]
		],
		"无与伦比": [
			["wú"],
			["yǔ"],
			["lún"],
			["bǐ"]
		],
		"无有伦比": [
			["wú"],
			["yǒu"],
			["lún"],
			["bǐ"]
		],
		"无幽不烛": [
			["wú"],
			["yōu"],
			["bù"],
			["zhú"]
		],
		"无与比伦": [
			["wú"],
			["yǔ"],
			["bǐ"],
			["lún"]
		],
		"无与为比": [
			["wú"],
			["yǔ"],
			["wéi"],
			["bǐ"]
		],
		"无远弗届": [
			["wú"],
			["yuǎn"],
			["fú"],
			["jiè"]
		],
		"无远不届": [
			["wú"],
			["yuǎn"],
			["bù"],
			["jiè"]
		],
		"无遮大会": [
			["wú"],
			["zhē"],
			["dà"],
			["huì"]
		],
		"无征不信": [
			["wú"],
			["zhēng"],
			["bù"],
			["xìn"]
		],
		"无知妄作": [
			["wú"],
			["zhī"],
			["wàng"],
			["zuò"]
		],
		"无置锥地": [
			["wú"],
			["zhì"],
			["zhuī"],
			["dì"]
		],
		"无中生有": [
			["wú"],
			["zhōng"],
			["shēng"],
			["yǒu"]
		],
		"无足轻重": [
			["wú"],
			["zú"],
			["qīng"],
			["zhòng"]
		],
		"无足重轻": [
			["wú"],
			["zú"],
			["zhòng"],
			["qīng"]
		],
		"吴带当风": [
			["wú"],
			["dài"],
			["dāng"],
			["fēng"]
		],
		"吴头楚尾": [
			["wú"],
			["tóu"],
			["chǔ"],
			["wěi"]
		],
		"吴下阿蒙": [
			["wú"],
			["xià"],
			["ā"],
			["méng"]
		],
		"吴越同舟": [
			["wú"],
			["yuè"],
			["tóng"],
			["zhōu"]
		],
		"吾家千里驹": [
			["wú"],
			["jiā"],
			["qiān"],
			["lǐ"],
			["jū"]
		],
		"吾谁与归": [
			["wú"],
			["shuí"],
			["yǔ"],
			["guī"]
		],
		"吾膝如铁": [
			["wú"],
			["xī"],
			["rú"],
			["tiě"]
		],
		"吾自有处": [
			["wu"],
			["zi"],
			["you"],
			["chu"]
		],
		"梧桐断角": [
			["wú"],
			["tóng"],
			["duàn"],
			["jiǎo"]
		],
		"梧桐一叶落": [
			["wú"],
			["tóng"],
			["yī"],
			["yè"],
			["luò"]
		],
		"五藏六府": [
			["wǔ"],
			["cáng"],
			["liù"],
			["fǔ"]
		],
		"五车腹笥": [
			["wǔ"],
			["chē"],
			["fù"],
			["sì"]
		],
		"五尺竖子": [
			["wǔ"],
			["chǐ"],
			["shù"],
			["zǐ"]
		],
		"五尺童子": [
			["wǔ"],
			["chǐ"],
			["tóng"],
			["zǐ"]
		],
		"五尺之童": [
			["wǔ"],
			["chǐ"],
			["zhī"],
			["tóng"]
		],
		"五尺之僮": [
			["wǔ"],
			["chǐ"],
			["zhī"],
			["tóng"]
		],
		"五大三粗": [
			["wǔ"],
			["dà"],
			["sān"],
			["cū"]
		],
		"五鼎万钟": [
			["wǔ"],
			["dǐng"],
			["wàn"],
			["zhōng"]
		],
		"五冬六夏": [
			["wǔ"],
			["dōng"],
			["liù"],
			["xià"]
		],
		"五斗橱": [
			["wǔ"],
			["dǒu"],
			["chú"]
		],
		"五斗柜": [
			["wǔ"],
			["dǒu"],
			["guì"]
		],
		"五斗折腰": [
			["wǔ"],
			["dǒu"],
			["zhé"],
			["yāo"]
		],
		"五毒俱全": [
			["wǔ"],
			["dú"],
			["jù"],
			["quán"]
		],
		"五方杂处": [
			["wǔ"],
			["fāng"],
			["zá"],
			["chǔ"]
		],
		"五风十雨": [
			["wǔ"],
			["fēng"],
			["shí"],
			["yǔ"]
		],
		"五更天": [
			["wǔ"],
			["gēng"],
			["tiān"]
		],
		"五谷不分": [
			["wǔ"],
			["gǔ"],
			["bù"],
			["fēn"]
		],
		"五谷不升": [
			["wǔ"],
			["gǔ"],
			["bù"],
			["shēng"]
		],
		"五羖大夫": [
			["wǔ"],
			["gǔ"],
			["dà"],
			["fū"]
		],
		"五合六聚": [
			["wǔ"],
			["hé"],
			["liù"],
			["jù"]
		],
		"五侯蜡烛": [
			["wǔ"],
			["hòu"],
			["là"],
			["zhú"]
		],
		"五侯七贵": [
			["wǔ"],
			["hòu"],
			["qī"],
			["guì"]
		],
		"五胡十六国": [
			["wǔ"],
			["hú"],
			["shí"],
			["liù"],
			["guó"]
		],
		"五花大绑": [
			["wǔ"],
			["huā"],
			["dà"],
			["bǎng"]
		],
		"五黄六月": [
			["wǔ"],
			["huáng"],
			["liù"],
			["yuè"]
		],
		"五积六受": [
			["wǔ"],
			["jī"],
			["liù"],
			["shòu"]
		],
		"五脊六兽": [
			["wǔ"],
			["jí"],
			["liù"],
			["shòu"]
		],
		"五角大楼": [
			["wǔ"],
			["jiǎo"],
			["dà"],
			["lóu"]
		],
		"五角六张": [
			["wǔ"],
			["jiǎo"],
			["liù"],
			["zhāng"]
		],
		"五经扫地": [
			["wǔ"],
			["jīng"],
			["sǎo"],
			["dì"]
		],
		"五里雾中": [
			["wǔ"],
			["lǐ"],
			["wù"],
			["zhōng"]
		],
		"五陵年少": [
			["wǔ"],
			["líng"],
			["nián"],
			["shào"]
		],
		"五陵英少": [
			["wǔ"],
			["líng"],
			["yīng"],
			["shǎo"]
		],
		"五零二落": [
			["wǔ"],
			["líng"],
			["èr"],
			["luò"]
		],
		"五零四散": [
			["wǔ"],
			["líng"],
			["sì"],
			["sàn"]
		],
		"五马分尸": [
			["wǔ"],
			["mǎ"],
			["fēn"],
			["shī"]
		],
		"五内俱崩": [
			["wǔ"],
			["nèi"],
			["jù"],
			["bēng"]
		],
		"五内如焚": [
			["wǔ"],
			["nèi"],
			["rú"],
			["fén"]
		],
		"五男二女": [
			["wǔ"],
			["nán"],
			["èr"],
			["nǚ"]
		],
		"五抢六夺": [
			["wǔ"],
			["qiǎng"],
			["liù"],
			["duó"]
		],
		"五亲六眷": [
			["wǔ"],
			["qīn"],
			["liù"],
			["juàn"]
		],
		"五雀六燕": [
			["wǔ"],
			["què"],
			["liù"],
			["yàn"]
		],
		"五色相宣": [
			["wǔ"],
			["sè"],
			["xiāng"],
			["xuān"]
		],
		"五申三令": [
			["wǔ"],
			["shēn"],
			["sān"],
			["lìng"]
		],
		"五石六鹢": [
			["wǔ"],
			["shí"],
			["liù"],
			["yī"]
		],
		"五世其昌": [
			["wǔ"],
			["shì"],
			["qí"],
			["chāng"]
		],
		"五四青年节": [
			["wǔ"],
			["sì"],
			["qīng"],
			["nián"],
			["jié"]
		],
		"五台山": [
			["wǔ"],
			["tái"],
			["shān"]
		],
		"五体投地": [
			["wǔ"],
			["tǐ"],
			["tóu"],
			["dì"]
		],
		"五体投诚": [
			["wǔ"],
			["tǐ"],
			["tóu"],
			["chéng"]
		],
		"五心六意": [
			["wǔ"],
			["xīn"],
			["liù"],
			["yì"]
		],
		"五星红旗": [
			["wǔ"],
			["xīng"],
			["hóng"],
			["qí"]
		],
		"五行八作": [
			["wǔ"],
			["háng"],
			["bā"],
			["zuò"]
		],
		"五行并下": [
			["wǔ"],
			["háng"],
			["bìng"],
			["xià"]
		],
		"五行俱下": [
			["wǔ"],
			["xíng"],
			["jù"],
			["xià"]
		],
		"五行生克": [
			["wǔ"],
			["háng"],
			["shēng"],
			["kè"]
		],
		"五虚六耗": [
			["wǔ"],
			["xū"],
			["liù"],
			["hào"]
		],
		"五言长城": [
			["wǔ"],
			["yán"],
			["cháng"],
			["chéng"]
		],
		"五颜六色": [
			["wǔ"],
			["yán"],
			["liù"],
			["sè"]
		],
		"五言绝句": [
			["wǔ"],
			["yán"],
			["jué"],
			["jù"]
		],
		"五一国际劳动节": [
			["wǔ"],
			["yī"],
			["guó"],
			["jì"],
			["láo"],
			["dòng"],
			["jié"]
		],
		"五一节": [
			["wǔ"],
			["yī"],
			["jié"]
		],
		"五音六律": [
			["wǔ"],
			["yīn"],
			["liù"],
			["lǜ"]
		],
		"五月节": [
			["wǔ"],
			["yuè"],
			["jié"]
		],
		"五蕴皆空": [
			["wǔ"],
			["yùn"],
			["jiē"],
			["kōng"]
		],
		"五脏六腑": [
			["wǔ"],
			["zàng"],
			["liù"],
			["fǔ"]
		],
		"武不善作": [
			["wǔ"],
			["bù"],
			["shàn"],
			["zuò"]
		],
		"武当山": [
			["wǔ"],
			["dāng"],
			["shān"]
		],
		"武断乡曲": [
			["wǔ"],
			["duàn"],
			["xiāng"],
			["qū"]
		],
		"武断专横": [
			["wǔ"],
			["duàn"],
			["zhuān"],
			["héng"]
		],
		"武爵武任": [
			["wǔ"],
			["jué"],
			["wǔ"],
			["rèn"]
		],
		"武侠小说": [
			["wǔ"],
			["xiá"],
			["xiǎo"],
			["shuō"]
		],
		"武装力量": [
			["wǔ"],
			["zhuāng"],
			["lì"],
			["liàng"]
		],
		"捂盖子": [
			["wǔ"],
			["gài"],
			["zi"]
		],
		"碔砆混玉": [
			["zhì"],
			["fū"],
			["hùn"],
			["yù"]
		],
		"舞笔弄文": [
			["wǔ"],
			["bǐ"],
			["nòng"],
			["wén"]
		],
		"舞词弄札": [
			["wǔ"],
			["cí"],
			["nòng"],
			["zhá"]
		],
		"舞弄文墨": [
			["wǔ"],
			["nòng"],
			["wén"],
			["mò"]
		],
		"舞裙歌扇": [
			["wǔ"],
			["qún"],
			["gē"],
			["shàn"]
		],
		"舞衫歌扇": [
			["wǔ"],
			["shān"],
			["gē"],
			["shàn"]
		],
		"舞文弄墨": [
			["wǔ"],
			["wén"],
			["nòng"],
			["mò"]
		],
		"舞榭歌台": [
			["wǔ"],
			["xiè"],
			["gē"],
			["tái"]
		],
		"舞文弄法": [
			["wǔ"],
			["wén"],
			["nòng"],
			["fǎ"]
		],
		"舞爪张牙": [
			["wǔ"],
			["zhǎo"],
			["zhāng"],
			["yá"]
		],
		"勿谓言之不预": [
			["wù"],
			["wèi"],
			["yán"],
			["zhī"],
			["bù"],
			["yù"]
		],
		"勿谓言之不预也": [
			["wù"],
			["wèi"],
			["yán"],
			["zhī"],
			["bù"],
			["yù"],
			["yě"]
		],
		"物华天宝": [
			["wù"],
			["huá"],
			["tiān"],
			["bǎo"]
		],
		"物极将返": [
			["wù"],
			["jí"],
			["jiāng"],
			["fǎn"]
		],
		"物尽其用": [
			["wù"],
			["jìn"],
			["qí"],
			["yòng"]
		],
		"物竞天择": [
			["wù"],
			["jìn"],
			["tiān"],
			["zé"]
		],
		"物理变化": [
			["wù"],
			["lǐ"],
			["biàn"],
			["huà"]
		],
		"物理化学": [
			["wù"],
			["lǐ"],
			["huà"],
			["xué"]
		],
		"物理量": [
			["wù"],
			["lǐ"],
			["liàng"]
		],
		"物美价廉": [
			["jià"],
			["lián"],
			["wù"],
			["měi"]
		],
		"物伤其类": [
			["wù"],
			["shāng"],
			["qí"],
			["lèi"]
		],
		"物稀为贵": [
			["wù"],
			["xī"],
			["wéi"],
			["guì"]
		],
		"物以群分": [
			["wù"],
			["yǐ"],
			["qún"],
			["fēn"]
		],
		"物以希为贵": [
			["wù"],
			["yǐ"],
			["xī"],
			["wéi"],
			["guì"]
		],
		"物殷俗阜": [
			["wù"],
			["yīn"],
			["sú"],
			["fù"]
		],
		"物在人亡": [
			["wù"],
			["zài"],
			["rén"],
			["wáng"]
		],
		"物以稀为贵": [
			["wù"],
			["yǐ"],
			["xī"],
			["wéi"],
			["guì"]
		],
		"误打误撞": [
			["wù"],
			["dǎ"],
			["wù"],
			["zhuàng"]
		],
		"误人子弟": [
			["wù"],
			["rén"],
			["zǐ"],
			["dì"]
		],
		"误作非为": [
			["wù"],
			["zuò"],
			["fēi"],
			["wéi"]
		],
		"雾鬓风鬟": [
			["wù"],
			["bìn"],
			["fēng"],
			["huán"]
		],
		"雾集云合": [
			["wù"],
			["jí"],
			["yún"],
			["hé"]
		],
		"雾里看花": [
			["wù"],
			["lǐ"],
			["kàn"],
			["huā"]
		],
		"雾鳞云爪": [
			["wù"],
			["lín"],
			["yún"],
			["zhǎo"]
		],
		"雾起云涌": [
			["wù"],
			["qǐ"],
			["yún"],
			["yǒng"]
		],
		"雾散云披": [
			["wù"],
			["sàn"],
			["yún"],
			["pī"]
		],
		"雾兴云涌": [
			["wù"],
			["xīng"],
			["yún"],
			["yǒng"]
		],
		"雾涌云蒸": [
			["wù"],
			["yǒng"],
			["yún"],
			["zhēng"]
		],
		"夕寐宵兴": [
			["xī"],
			["mèi"],
			["xiāo"],
			["xīng"]
		],
		"夕惕朝乾": [
			["xī"],
			["tì"],
			["zhāo"],
			["qián"]
		],
		"夕惕若厉": [
			["xī"],
			["tì"],
			["ruò"],
			["lì"]
		],
		"西北风": [
			["xī"],
			["běi"],
			["fēng"]
		],
		"西伯利亚": [
			["xī"],
			["bó"],
			["lì"],
			["yà"]
		],
		"西方国家": [
			["xī"],
			["fāng"],
			["guó"],
			["jiā"]
		],
		"西方净国": [
			["xī"],
			["fāng"],
			["jìng"],
			["guó"]
		],
		"西方净土": [
			["xī"],
			["fāng"],
			["jìng"],
			["tǔ"]
		],
		"西风残照": [
			["xī"],
			["fēng"],
			["cán"],
			["zhào"]
		],
		"西风落叶": [
			["xī"],
			["fēng"],
			["luò"],
			["yè"]
		],
		"西红柿": [
			["xī"],
			["hóng"],
			["shì"]
		],
		"西赆南琛": [
			["xī"],
			["jìn"],
			["nán"],
			["chēn"]
		],
		"西沙群岛": [
			["xī"],
			["shā"],
			["qún"],
			["dǎo"]
		],
		"西山日薄": [
			["xī"],
			["shān"],
			["rì"],
			["báo"]
		],
		"西食东眠": [
			["xī"],
			["shí"],
			["dōng"],
			["mián"]
		],
		"西王母": [
			["xī"],
			["wáng"],
			["mǔ"]
		],
		"西台痛哭": [
			["xī"],
			["tái"],
			["tòng"],
			["kū"]
		],
		"西洋景": [
			["xī"],
			["yáng"],
			["jǐng"]
		],
		"西洋参": [
			["xī"],
			["yáng"],
			["shēn"]
		],
		"西印度群岛": [
			["xī"],
			["yìn"],
			["dù"],
			["qún"],
			["dǎo"]
		],
		"吸风饮露": [
			["xī"],
			["fēng"],
			["yǐn"],
			["lù"]
		],
		"吸新吐故": [
			["xī"],
			["xīn"],
			["tǔ"],
			["gù"]
		],
		"吸铁石": [
			["xī"],
			["tiě"],
			["shí"]
		],
		"吸血鬼": [
			["xī"],
			["xuè"],
			["guǐ"]
		],
		"希奇古怪": [
			["xī"],
			["qí"],
			["gǔ"],
			["guài"]
		],
		"析肝吐胆": [
			["xī"],
			["gān"],
			["tǔ"],
			["dǎn"]
		],
		"析骨而炊": [
			["xī"],
			["gǔ"],
			["ér"],
			["chuī"]
		],
		"析圭担爵": [
			["xī"],
			["guī"],
			["dān"],
			["jué"]
		],
		"析圭儋爵": [
			["xī"],
			["guī"],
			["dān"],
			["jué"]
		],
		"析圭分组": [
			["xī"],
			["guī"],
			["fēn"],
			["zǔ"]
		],
		"析交离亲": [
			["xī"],
			["jiāo"],
			["lí"],
			["qīn"]
		],
		"析缕分条": [
			["xī"],
			["lǚ"],
			["fēn"],
			["tiáo"]
		],
		"析疑匡谬": [
			["xī"],
			["yí"],
			["kuāng"],
			["miù"]
		],
		"息迹静处": [
			["xī"],
			["jì"],
			["jìng"],
			["chù"]
		],
		"息事宁人": [
			["xī"],
			["shì"],
			["níng"],
			["rén"]
		],
		"息息相通": [
			["xī"],
			["xī"],
			["xiāng"],
			["tōng"]
		],
		"悉索薄赋": [
			["xī"],
			["suǒ"],
			["bó"],
			["fù"]
		],
		"息息相关": [
			["xī"],
			["xī"],
			["xiāng"],
			["guān"]
		],
		"晰毛辨发": [
			["xī"],
			["máo"],
			["biàn"],
			["fà"]
		],
		"惜客好义": [
			["xī"],
			["kè"],
			["hǎo"],
			["yì"]
		],
		"犀顶龟文": [
			["xī"],
			["dǐng"],
			["guī"],
			["wén"]
		],
		"犀角烛怪": [
			["xī"],
			["jiǎo"],
			["zhú"],
			["guài"]
		],
		"稀里糊涂": [
			["xī"],
			["lǐ"],
			["hú"],
			["tú"]
		],
		"稀里哗啦": [
			["xī"],
			["lǐ"],
			["huā"],
			["lā"]
		],
		"稀溜溜": [
			["xī"],
			["liū"],
			["liū"]
		],
		"稀奇古怪": [
			["xī"],
			["qí"],
			["gǔ"],
			["guài"]
		],
		"稀稀拉拉": [
			["xī"],
			["xī"],
			["lā"],
			["lā"]
		],
		"稀稀落落": [
			["xī"],
			["xī"],
			["luò"],
			["luò"]
		],
		"稀有金属": [
			["xī"],
			["yǒu"],
			["jīn"],
			["shǔ"]
		],
		"稀有元素": [
			["xī"],
			["yǒu"],
			["yuán"],
			["sù"]
		],
		"锡伯族": [
			["xī"],
			["bó"],
			["zú"]
		],
		"嘻嘻哈哈": [
			["xī"],
			["xī"],
			["hā"],
			["hā"]
		],
		"膝盖骨": [
			["xī"],
			["gài"],
			["gǔ"]
		],
		"膝关节": [
			["xī"],
			["guān"],
			["jié"]
		],
		"膝行而前": [
			["xī"],
			["xíng"],
			["ér"],
			["qián"]
		],
		"膝语蛇行": [
			["xī"],
			["yǔ"],
			["shé"],
			["xíng"]
		],
		"膝行肘步": [
			["xī"],
			["xíng"],
			["zhǒu"],
			["bù"]
		],
		"膝痒搔背": [
			["xī"],
			["yǎng"],
			["sāo"],
			["bèi"]
		],
		"膝行匍伏": [
			["xī"],
			["xíng"],
			["pú"],
			["fú"]
		],
		"膝行蒲伏": [
			["xī"],
			["xíng"],
			["pú"],
			["fú"]
		],
		"歙漆阿胶": [
			["shè"],
			["qī"],
			["ē"],
			["jiāo"]
		],
		"羲皇上人": [
			["xī"],
			["huáng"],
			["shàng"],
			["rén"]
		],
		"鼷腹鹪枝": [
			["xī"],
			["fù"],
			["jiāo"],
			["zhī"]
		],
		"习而不察": [
			["xí"],
			["ér"],
			["bù"],
			["chá"]
		],
		"习以为常": [
			["xí"],
			["yǐ"],
			["wéi"],
			["cháng"]
		],
		"习焉不察": [
			["xī"],
			["yān"],
			["bù"],
			["chá"]
		],
		"习与性成": [
			["xí"],
			["yǔ"],
			["xìng"],
			["chéng"]
		],
		"席不暇暖": [
			["xí"],
			["bù"],
			["xiá"],
			["nuǎn"]
		],
		"习字帖": [
			["xí"],
			["zì"],
			["tiè"]
		],
		"习字簿": [
			["xí"],
			["zì"],
			["bù"]
		],
		"席地而坐": [
			["xí"],
			["dì"],
			["ér"],
			["zuò"]
		],
		"席卷八荒": [
			["xí"],
			["juǎn"],
			["bā"],
			["huāng"]
		],
		"席卷而逃": [
			["xí"],
			["juǎn"],
			["ér"],
			["táo"]
		],
		"席地幕天": [
			["xí"],
			["dì"],
			["mù"],
			["tiān"]
		],
		"席卷天下": [
			["xí"],
			["juǎn"],
			["tiān"],
			["xià"]
		],
		"席门蓬巷": [
			["xí"],
			["mén"],
			["péng"],
			["xiàng"]
		],
		"席门穷巷": [
			["xí"],
			["mén"],
			["qióng"],
			["xiàng"]
		],
		"席梦思": [
			["xí"],
			["mèng"],
			["sī"]
		],
		"席上之珍": [
			["xí"],
			["shàng"],
			["zhī"],
			["zhēn"]
		],
		"席珍待聘": [
			["xí"],
			["zhēn"],
			["dài"],
			["pìn"]
		],
		"洗兵牧马": [
			["xǐ"],
			["bīng"],
			["mù"],
			["mǎ"]
		],
		"洗肠涤胃": [
			["xǐ"],
			["cháng"],
			["dí"],
			["wèi"]
		],
		"洗涤剂": [
			["xǐ"],
			["dí"],
			["jì"]
		],
		"洗耳恭听": [
			["xǐ"],
			["ěr"],
			["gōng"],
			["tīng"]
		],
		"洗耳拱听": [
			["xǐ"],
			["ěr"],
			["gǒng"],
			["tīng"]
		],
		"洗垢匿瑕": [
			["xǐ"],
			["gòu"],
			["nì"],
			["xiá"]
		],
		"洗垢求瘢": [
			["xǐ"],
			["gòu"],
			["qiú"],
			["bān"]
		],
		"洗垢求瑕": [
			["xǐ"],
			["gòu"],
			["qiú"],
			["xiá"]
		],
		"洗垢索瘢": [
			["xǐ"],
			["gòu"],
			["suǒ"],
			["bān"]
		],
		"洗脚上船": [
			["xǐ"],
			["jiǎo"],
			["shàng"],
			["chuán"]
		],
		"洗劫一空": [
			["xǐ"],
			["jié"],
			["yī"],
			["kōng"]
		],
		"洗颈就戮": [
			["xǐ"],
			["jǐng"],
			["jiù"],
			["lù"]
		],
		"洗脸盆": [
			["xǐ"],
			["liǎn"],
			["pén"]
		],
		"洗眉刷目": [
			["xǐ"],
			["méi"],
			["shuā"],
			["mù"]
		],
		"洗煤厂": [
			["xǐ"],
			["méi"],
			["chǎng"]
		],
		"洗染店": [
			["xǐ"],
			["rǎn"],
			["diàn"]
		],
		"洗手不干": [
			["xǐ"],
			["shǒu"],
			["bù"],
			["gàn"]
		],
		"洗手奉公": [
			["xǐ"],
			["shǒu"],
			["fèng"],
			["gōng"]
		],
		"洗手奉职": [
			["xǐ"],
			["shǒu"],
			["fèng"],
			["zhí"]
		],
		"洗手间": [
			["xǐ"],
			["shǒu"],
			["jiān"]
		],
		"洗髓伐毛": [
			["xǐ"],
			["suǐ"],
			["fá"],
			["máo"]
		],
		"洗心涤虑": [
			["xǐ"],
			["xīn"],
			["dí"],
			["lǜ"]
		],
		"洗心革面": [
			["xǐ"],
			["xīn"],
			["gé"],
			["miàn"]
		],
		"洗心换骨": [
			["xǐ"],
			["xīn"],
			["huàn"],
			["gǔ"]
		],
		"洗心回面": [
			["xǐ"],
			["xīn"],
			["huí"],
			["miàn"]
		],
		"洗雪逋负": [
			["xǐ"],
			["xuě"],
			["bū"],
			["fù"]
		],
		"洗心自新": [
			["xǐ"],
			["xīn"],
			["zì"],
			["xīn"]
		],
		"洗衣店": [
			["xǐ"],
			["yī"],
			["diàn"]
		],
		"洗衣粉": [
			["xǐ"],
			["yī"],
			["fěn"]
		],
		"洗衣机": [
			["xǐ"],
			["yī"],
			["jī"]
		],
		"洗濯磨淬": [
			["xǐ"],
			["zhuó"],
			["mó"],
			["cuì"]
		],
		"徙善远罪": [
			["xǐ"],
			["shàn"],
			["yuǎn"],
			["zuì"]
		],
		"徙薪曲突": [
			["xǐ"],
			["xīn"],
			["qū"],
			["tū"]
		],
		"徙宅忘妻": [
			["xǐ"],
			["zhái"],
			["wàng"],
			["qī"]
		],
		"喜不自胜": [
			["xǐ"],
			["bù"],
			["zì"],
			["shèng"]
		],
		"喜冲冲": [
			["xǐ"],
			["chōng"],
			["chōng"]
		],
		"喜从天降": [
			["xǐ"],
			["cóng"],
			["tiān"],
			["jiàng"]
		],
		"喜见于色": [
			["xǐ"],
			["jiàn"],
			["yú"],
			["sè"]
		],
		"喜怒哀乐": [
			["xǐ"],
			["nù"],
			["āi"],
			["lè"]
		],
		"喜上眉梢": [
			["xǐ"],
			["shàng"],
			["méi"],
			["shāo"]
		],
		"喜行于色": [
			["xǐ"],
			["xíng"],
			["yú"],
			["sè"]
		],
		"喜闻乐见": [
			["xǐ"],
			["wén"],
			["lè"],
			["jiàn"]
		],
		"喜溢眉梢": [
			["xǐ"],
			["yì"],
			["méi"],
			["shāo"]
		],
		"戏班子": [
			["xì"],
			["bān"],
			["zi"]
		],
		"戏报子": [
			["xì"],
			["bào"],
			["zǐ"]
		],
		"戏彩娱亲": [
			["xì"],
			["cǎi"],
			["yú"],
			["qīn"]
		],
		"戏蝶游蜂": [
			["xì"],
			["dié"],
			["yóu"],
			["fēng"]
		],
		"戏馆子": [
			["xì"],
			["guǎn"],
			["zǐ"]
		],
		"戏剧性": [
			["xì"],
			["jù"],
			["xìng"]
		],
		"戏园子": [
			["xì"],
			["yuán"],
			["zǐ"]
		],
		"系风捕景": [
			["xì"],
			["fēng"],
			["bǔ"],
			["jǐng"]
		],
		"系风捕影": [
			["xì"],
			["fēng"],
			["bǔ"],
			["yǐng"]
		],
		"系列化": [
			["xì"],
			["liè"],
			["huà"]
		],
		"系列剧": [
			["xì"],
			["liè"],
			["jù"]
		],
		"系马埋轮": [
			["xì"],
			["mǎ"],
			["mái"],
			["lún"]
		],
		"细大不捐": [
			["xì"],
			["dà"],
			["bù"],
			["juān"]
		],
		"细大不逾": [
			["xì"],
			["dà"],
			["bù"],
			["yú"]
		],
		"细高挑儿": [
			["xì"],
			["gāo"],
			["tiǎo"],
			["ér"]
		],
		"细水长流": [
			["xì"],
			["shuǐ"],
			["cháng"],
			["liú"]
		],
		"细微末节": [
			["xì"],
			["wēi"],
			["mò"],
			["jié"]
		],
		"细枝末节": [
			["xì"],
			["zhī"],
			["mò"],
			["jié"]
		],
		"隙大墙坏": [
			["xì"],
			["dà"],
			["qiáng"],
			["huài"]
		],
		"呷醋节帅": [
			["xiā"],
			["cù"],
			["jié"],
			["shuài"]
		],
		"瞎说八道": [
			["xiā"],
			["shuō"],
			["bā"],
			["dào"]
		],
		"虾兵蟹将": [
			["xiā"],
			["bīng"],
			["xiè"],
			["jiàng"]
		],
		"狭路相逢": [
			["xiá"],
			["lù"],
			["xiāng"],
			["féng"]
		],
		"狭心症": [
			["xiá"],
			["xīn"],
			["zhèng"]
		],
		"遐迩一体": [
			["xiá"],
			["ěr"],
			["yī"],
			["tǐ"]
		],
		"遐迩著闻": [
			["xiá"],
			["ěr"],
			["zhù"],
			["wén"]
		],
		"瑕不掩瑜": [
			["xiá"],
			["bù"],
			["yǎn"],
			["yú"]
		],
		"霞光万道": [
			["xiá"],
			["guāng"],
			["wàn"],
			["dào"]
		],
		"瑕不揜瑜": [
			["xiá"],
			["bù"],
			["yǎn"],
			["yú"]
		],
		"瑕瑜互见": [
			["xiá"],
			["yú"],
			["hù"],
			["xiàn"]
		],
		"霞思天想": [
			["xiá"],
			["sī"],
			["tiān"],
			["xiǎng"]
		],
		"霞思云想": [
			["xiá"],
			["sī"],
			["yún"],
			["xiǎng"]
		],
		"厦门": [["xià"], ["mén"]],
		"下半场": [
			["xià"],
			["bàn"],
			["chǎng"]
		],
		"下笔有神": [
			["xià"],
			["bǐ"],
			["yǒu"],
			["shén"]
		],
		"下不来": [
			["xià"],
			["bù"],
			["lái"]
		],
		"下不来台": [
			["xià"],
			["bù"],
			["lái"],
			["tái"]
		],
		"下不了台": [
			["xià"],
			["bù"],
			["liǎo"],
			["tái"]
		],
		"下不为例": [
			["xià"],
			["bù"],
			["wéi"],
			["lì"]
		],
		"下场门": [
			["xià"],
			["chǎng"],
			["mén"]
		],
		"下车伊始": [
			["xià"],
			["chē"],
			["yī"],
			["shǐ"]
		],
		"下车泣罪": [
			["xià"],
			["chē"],
			["qì"],
			["zuì"]
		],
		"下车之始": [
			["xià"],
			["chē"],
			["zhī"],
			["shǐ"]
		],
		"下工夫": [
			["xià"],
			["gōng"],
			["fū"]
		],
		"下车作威": [
			["xià"],
			["chē"],
			["zuò"],
			["wēi"]
		],
		"下功夫": [
			["xià"],
			["gōng"],
			["fū"]
		],
		"下回分解": [
			["xià"],
			["huí"],
			["fēn"],
			["jiě"]
		],
		"下井投石": [
			["xià"],
			["jǐng"],
			["tóu"],
			["shí"]
		],
		"下落不明": [
			["xià"],
			["luò"],
			["bù"],
			["míng"]
		],
		"下陵上替": [
			["xià"],
			["líng"],
			["shàng"],
			["tì"]
		],
		"下马冯妇": [
			["xià"],
			["mǎ"],
			["féng"],
			["fù"]
		],
		"下马看花": [
			["xià"],
			["mǎ"],
			["kàn"],
			["huā"]
		],
		"下情上达": [
			["xià"],
			["qíng"],
			["shàng"],
			["dá"]
		],
		"下愚不移": [
			["xià"],
			["yú"],
			["bù"],
			["yí"]
		],
		"下塞上聋": [
			["xià"],
			["sāi"],
			["shàng"],
			["lóng"]
		],
		"下学上达": [
			["xià"],
			["xué"],
			["shàng"],
			["dá"]
		],
		"下意识": [
			["xià"],
			["yì"],
			["shí"]
		],
		"下中农": [
			["xià"],
			["zhōng"],
			["nóng"]
		],
		"下逐客令": [
			["xià"],
			["zhú"],
			["kè"],
			["lìng"]
		],
		"夏虫不可以语冰": [
			["xià"],
			["chóng"],
			["bù"],
			["kě"],
			["yǐ"],
			["yǔ"],
			["bīng"]
		],
		"夏虫朝菌": [
			["xià"],
			["chóng"],
			["zhāo"],
			["jūn"]
		],
		"夏虫语冰": [
			["xià"],
			["chóng"],
			["yǔ"],
			["bīng"]
		],
		"夏虫疑冰": [
			["xià"],
			["chóng"],
			["yí"],
			["bīng"]
		],
		"夏令时": [
			["xià"],
			["lìng"],
			["shí"]
		],
		"夏炉冬扇": [
			["xià"],
			["lú"],
			["dōng"],
			["shàn"]
		],
		"夏日可畏": [
			["xià"],
			["rì"],
			["kě"],
			["wèi"]
		],
		"夏令营": [
			["xià"],
			["lìng"],
			["yíng"]
		],
		"夏雨雨人": [
			["xià"],
			["yǔ"],
			["yǔ"],
			["rén"]
		],
		"仙风道格": [
			["xiān"],
			["fēng"],
			["dào"],
			["gé"]
		],
		"仙风道骨": [
			["xiān"],
			["fēng"],
			["dào"],
			["gǔ"]
		],
		"仙风道气": [
			["xiān"],
			["fēng"],
			["dào"],
			["qì"]
		],
		"仙露明珠": [
			["xiān"],
			["lù"],
			["míng"],
			["zhū"]
		],
		"仙液琼浆": [
			["xiān"],
			["yè"],
			["qióng"],
			["jiāng"]
		],
		"仙姿佚貌": [
			["xiān"],
			["zī"],
			["yì"],
			["mào"]
		],
		"先得我心": [
			["xiān"],
			["dé"],
			["wǒ"],
			["xīn"]
		],
		"先睹为快": [
			["xiān"],
			["dǔ"],
			["wéi"],
			["kuài"]
		],
		"先发制人": [
			["xiān"],
			["fā"],
			["zhì"],
			["rén"]
		],
		"先号后庆": [
			["xiān"],
			["hào"],
			["hòu"],
			["qìng"]
		],
		"先号后笑": [
			["xiān"],
			["hào"],
			["hòu"],
			["xiào"]
		],
		"先见之明": [
			["xiān"],
			["jiàn"],
			["zhī"],
			["míng"]
		],
		"先入为主": [
			["xiān"],
			["rù"],
			["wéi"],
			["zhǔ"]
		],
		"先难后获": [
			["xiān"],
			["nán"],
			["hòu"],
			["huò"]
		],
		"先入之见": [
			["xiān"],
			["rù"],
			["zhī"],
			["jiàn"]
		],
		"先天不足": [
			["xiān"],
			["tiān"],
			["bù"],
			["zú"]
		],
		"先我着鞭": [
			["xiān"],
			["wǒ"],
			["zhuó"],
			["biān"]
		],
		"先下手为强": [
			["xiān"],
			["xià"],
			["shǒu"],
			["wéi"],
			["qiáng"]
		],
		"先笑后号": [
			["xiān"],
			["xiào"],
			["hòu"],
			["hào"]
		],
		"先行官": [
			["xiān"],
			["xíng"],
			["guān"]
		],
		"先行后闻": [
			["xiān"],
			["xíng"],
			["hòu"],
			["wén"]
		],
		"先行者": [
			["xiān"],
			["xíng"],
			["zhě"]
		],
		"先验论": [
			["xiān"],
			["yàn"],
			["lùn"]
		],
		"先忧后乐": [
			["xiān"],
			["yōu"],
			["hòu"],
			["lè"]
		],
		"先知先觉": [
			["xiān"],
			["zhī"],
			["xiān"],
			["jué"]
		],
		"先自隗始": [
			["xiān"],
			["zì"],
			["wěi"],
			["shǐ"]
		],
		"纤尘不染": [
			["xiān"],
			["chén"],
			["bù"],
			["rǎn"]
		],
		"纤介之失": [
			["xiān"],
			["jiè"],
			["zhī"],
			["shī"]
		],
		"纤芥之疾": [
			["xiān"],
			["jiè"],
			["zhī"],
			["jí"]
		],
		"纤毛虫": [
			["xiān"],
			["máo"],
			["chóng"]
		],
		"纤维板": [
			["xiān"],
			["wéi"],
			["bǎn"]
		],
		"纤维素": [
			["xiān"],
			["wéi"],
			["sù"]
		],
		"纤悉无遗": [
			["xiān"],
			["xī"],
			["wú"],
			["yí"]
		],
		"掀风鼓浪": [
			["xiān"],
			["fēng"],
			["gǔ"],
			["làng"]
		],
		"掀天动地": [
			["xiān"],
			["tiān"],
			["dòng"],
			["dì"]
		],
		"掀天揭地": [
			["xiān"],
			["tiān"],
			["jiē"],
			["dì"]
		],
		"鲜蹦活跳": [
			["xiān"],
			["bèng"],
			["huó"],
			["tiào"]
		],
		"掀天斡地": [
			["xiān"],
			["tiān"],
			["wò"],
			["dì"]
		],
		"鲜车健马": [
			["xiān"],
			["chē"],
			["jiàn"],
			["mǎ"]
		],
		"鲜车怒马": [
			["xiān"],
			["chē"],
			["nù"],
			["mǎ"]
		],
		"鲜廉寡耻": [
			["xiān"],
			["lián"],
			["guǎ"],
			["chǐ"]
		],
		"鲜眉亮眼": [
			["xiān"],
			["méi"],
			["liàng"],
			["yǎn"]
		],
		"鲜血淋漓": [
			["xiān"],
			["xuè"],
			["lín"],
			["lí"]
		],
		"鲜艳夺目": [
			["xiān"],
			["yàn"],
			["duó"],
			["mù"]
		],
		"鲜艳艳": [
			["xiān"],
			["yàn"],
			["yàn"]
		],
		"鲜衣良马": [
			["xiān"],
			["yī"],
			["liáng"],
			["mǎ"]
		],
		"鲜衣美食": [
			["xiān"],
			["yī"],
			["měi"],
			["shí"]
		],
		"鲜衣怒马": [
			["xiān"],
			["yī"],
			["nù"],
			["mǎ"]
		],
		"闲愁万种": [
			["xián"],
			["chóu"],
			["wàn"],
			["zhǒng"]
		],
		"闲工夫": [
			["xián"],
			["gōng"],
			["fū"]
		],
		"闲见层出": [
			["xián"],
			["jiàn"],
			["céng"],
			["chū"]
		],
		"闲情别致": [
			["xián"],
			["qíng"],
			["bié"],
			["zhì"]
		],
		"闲情逸趣": [
			["xián"],
			["qíng"],
			["yì"],
			["qù"]
		],
		"闲邪存诚": [
			["xián"],
			["xié"],
			["cún"],
			["chéng"]
		],
		"闲言淡语": [
			["xián"],
			["yán"],
			["dàn"],
			["yǔ"]
		],
		"闲言长语": [
			["xián"],
			["yán"],
			["cháng"],
			["yǔ"]
		],
		"闲言冷语": [
			["xián"],
			["yán"],
			["lěng"],
			["yǔ"]
		],
		"闲言泼语": [
			["xián"],
			["yán"],
			["pō"],
			["yǔ"]
		],
		"闲言闲语": [
			["xián"],
			["yán"],
			["xián"],
			["yǔ"]
		],
		"闲言赘语": [
			["xián"],
			["yán"],
			["zhuì"],
			["yǔ"]
		],
		"闲言碎语": [
			["xián"],
			["yán"],
			["suì"],
			["yǔ"]
		],
		"弦乐器": [
			["xián"],
			["yuè"],
			["qì"]
		],
		"弦切角": [
			["xián"],
			["qiē"],
			["jiǎo"]
		],
		"弦外有音": [
			["xián"],
			["wài"],
			["yǒu"],
			["yīn"]
		],
		"弦无虚发": [
			["xián"],
			["wú"],
			["xū"],
			["fā"]
		],
		"贤内助": [
			["xián"],
			["nèi"],
			["zhù"]
		],
		"贤母良妻": [
			["xián"],
			["mǔ"],
			["liáng"],
			["qī"]
		],
		"贤良方正": [
			["xián"],
			["liáng"],
			["fāng"],
			["zhèng"]
		],
		"贤妻良母": [
			["xián"],
			["qī"],
			["liáng"],
			["mǔ"]
		],
		"贤身贵体": [
			["xián"],
			["shēn"],
			["guì"],
			["tǐ"]
		],
		"咸风蛋雨": [
			["xián"],
			["fēng"],
			["dàn"],
			["yǔ"]
		],
		"咸与惟新": [
			["xián"],
			["yǔ"],
			["wéi"],
			["xīn"]
		],
		"咸与维新": [
			["xián"],
			["yǔ"],
			["wéi"],
			["xīn"]
		],
		"挦章撦句": [
			["lóng"],
			["zhāng"],
			["zōng"],
			["jù"]
		],
		"涎言涎语": [
			["xián"],
			["yán"],
			["xián"],
			["yǔ"]
		],
		"涎着脸": [
			["xián"],
			["zhe"],
			["liǎn"]
		],
		"衔华佩实": [
			["xián"],
			["huá"],
			["pèi"],
			["shí"]
		],
		"衔胆栖冰": [
			["xián"],
			["dǎn"],
			["qī"],
			["bīng"]
		],
		"衔环结草": [
			["xián"],
			["huán"],
			["jié"],
			["cǎo"]
		],
		"衔沙填海": [
			["xián"],
			["shā"],
			["tián"],
			["hǎi"]
		],
		"衔石填海": [
			["xián"],
			["shí"],
			["tián"],
			["hǎi"]
		],
		"衔尾相随": [
			["xián"],
			["wěi"],
			["xiāng"],
			["suí"]
		],
		"衔玉贾石": [
			["xián"],
			["yù"],
			["jiǎ"],
			["shí"]
		],
		"嫌好道歹": [
			["xián"],
			["hǎo"],
			["dào"],
			["dǎi"]
		],
		"嫌长道短": [
			["xián"],
			["cháng"],
			["dào"],
			["duǎn"]
		],
		"嫌好道恶": [
			["xián"],
			["hǎo"],
			["dào"],
			["è"]
		],
		"嫌好道歉": [
			["xián"],
			["hǎo"],
			["dào"],
			["qiàn"]
		],
		"嫌疑犯": [
			["xián"],
			["yí"],
			["fàn"]
		],
		"显而易见": [
			["xiǎn"],
			["ér"],
			["yì"],
			["jiàn"]
		],
		"显露头角": [
			["xiǎn"],
			["lù"],
			["tóu"],
			["jiǎo"]
		],
		"显亲扬名": [
			["xiǎn"],
			["qīn"],
			["yáng"],
			["míng"]
		],
		"显山露水": [
			["xiǎn"],
			["shān"],
			["lù"],
			["shuǐ"]
		],
		"险遭不测": [
			["xiǎn"],
			["zāo"],
			["bù"],
			["cè"]
		],
		"险阻艰难": [
			["xiǎn"],
			["zǔ"],
			["jiān"],
			["nán"]
		],
		"跣足科头": [
			["xiǎn"],
			["zú"],
			["kē"],
			["tóu"]
		],
		"县太爷": [
			["xiàn"],
			["tài"],
			["yé"]
		],
		"县知事": [
			["xiàn"],
			["zhī"],
			["shì"]
		],
		"现场会": [
			["xiàn"],
			["chǎng"],
			["huì"]
		],
		"现大洋": [
			["xiàn"],
			["dà"],
			["yáng"]
		],
		"现代化": [
			["xiàn"],
			["dài"],
			["huà"]
		],
		"现代戏": [
			["xiàn"],
			["dài"],
			["xì"]
		],
		"现行法": [
			["xiàn"],
			["xíng"],
			["fǎ"]
		],
		"现身说法": [
			["xiàn"],
			["shēn"],
			["shuō"],
			["fǎ"]
		],
		"现钟不打": [
			["xiàn"],
			["zhōng"],
			["bù"],
			["dǎ"]
		],
		"现行犯": [
			["xiàn"],
			["xíng"],
			["fàn"]
		],
		"现钟弗打": [
			["xiàn"],
			["zhōng"],
			["fú"],
			["dǎ"]
		],
		"线粒体": [
			["xiàn"],
			["lì"],
			["tǐ"]
		],
		"陷落计中": [
			["xiàn"],
			["luò"],
			["jì"],
			["zhōng"]
		],
		"献可替否": [
			["xiàn"],
			["kě"],
			["tì"],
			["fǒu"]
		],
		"献曝之忱": [
			["xiàn"],
			["pù"],
			["zhī"],
			["chén"]
		],
		"献替可否": [
			["xiàn"],
			["tì"],
			["kě"],
			["fǒu"]
		],
		"献殷勤": [
			["xiàn"],
			["yīn"],
			["qín"]
		],
		"乡规民约": [
			["xiāng"],
			["guī"],
			["mín"],
			["yuē"]
		],
		"乡书难寄": [
			["xiāng"],
			["shū"],
			["nán"],
			["jì"]
		],
		"相安相受": [
			["xiāng"],
			["ān"],
			["xiāng"],
			["shòu"]
		],
		"相安无事": [
			["xiāng"],
			["ān"],
			["wú"],
			["shì"]
		],
		"相差无几": [
			["xiāng"],
			["chā"],
			["wú"],
			["jǐ"]
		],
		"相持不下": [
			["xiāng"],
			["chí"],
			["bù"],
			["xià"]
		],
		"相待如宾": [
			["xiāng"],
			["dài"],
			["rú"],
			["bīn"]
		],
		"相得甚欢": [
			["xiāng"],
			["dé"],
			["shèn"],
			["huān"]
		],
		"相得益章": [
			["xiāng"],
			["dé"],
			["yì"],
			["zhāng"]
		],
		"相得益彰": [
			["xiāng"],
			["dé"],
			["yì"],
			["zhāng"]
		],
		"相对论": [
			["xiāng"],
			["duì"],
			["lùn"]
		],
		"相对无言": [
			["xiāng"],
			["duì"],
			["wú"],
			["yán"]
		],
		"相反数": [
			["xiāng"],
			["fǎn"],
			["shù"]
		],
		"相反相成": [
			["xiāng"],
			["fǎn"],
			["xiāng"],
			["chéng"]
		],
		"相逢恨晚": [
			["xiāng"],
			["féng"],
			["hèn"],
			["wǎn"]
		],
		"相逢狭路": [
			["xiāng"],
			["féng"],
			["xiá"],
			["lù"]
		],
		"相辅而行": [
			["xiāng"],
			["fǔ"],
			["ér"],
			["xíng"]
		],
		"相辅相成": [
			["xiāng"],
			["fǔ"],
			["xiāng"],
			["chéng"]
		],
		"相顾失色": [
			["xiāng"],
			["gù"],
			["shī"],
			["sè"]
		],
		"相机而动": [
			["xiàng"],
			["jī"],
			["ér"],
			["dòng"]
		],
		"相机行事": [
			["xiāng"],
			["jī"],
			["xíng"],
			["shì"]
		],
		"相煎何急": [
			["xiāng"],
			["jiān"],
			["hé"],
			["jí"]
		],
		"相煎太急": [
			["xiāng"],
			["jiān"],
			["tài"],
			["jí"]
		],
		"相见恨晚": [
			["xiāng"],
			["jiàn"],
			["hèn"],
			["wǎn"]
		],
		"相结合": [
			["xiāng"],
			["jié"],
			["hé"]
		],
		"相敬如宾": [
			["xiāng"],
			["jìng"],
			["rú"],
			["bīn"]
		],
		"相惊伯有": [
			["xiāng"],
			["jīng"],
			["bó"],
			["yǒu"]
		],
		"相克相济": [
			["xiāng"],
			["kè"],
			["xiāng"],
			["jì"]
		],
		"相貌堂堂": [
			["xiàng"],
			["mào"],
			["táng"],
			["táng"]
		],
		"相门有相": [
			["xiàng"],
			["mén"],
			["yǒu"],
			["xiàng"]
		],
		"相女配夫": [
			["xiàng"],
			["nǚ"],
			["pèi"],
			["fū"]
		],
		"相切相磋": [
			["xiāng"],
			["qiē"],
			["xiāng"],
			["cuō"]
		],
		"相去几何": [
			["xiāng"],
			["qù"],
			["jǐ"],
			["hé"]
		],
		"相亲相爱": [
			["xiāng"],
			["qīn"],
			["xiāng"],
			["ài"]
		],
		"相去无几": [
			["xiāng"],
			["qù"],
			["wú"],
			["jǐ"]
		],
		"相去悬殊": [
			["xiāng"],
			["qù"],
			["xuán"],
			["shū"]
		],
		"相忍为国": [
			["xiāng"],
			["rěn"],
			["wèi"],
			["guó"]
		],
		"相生相成": [
			["xiāng"],
			["shēng"],
			["xiāng"],
			["chéng"]
		],
		"相濡以沫": [
			["xiāng"],
			["rú"],
			["yǐ"],
			["mò"]
		],
		"相生相克": [
			["xiāng"],
			["shēng"],
			["xiāng"],
			["kè"]
		],
		"相失交臂": [
			["xiāng"],
			["shī"],
			["jiāo"],
			["bì"]
		],
		"相时而动": [
			["xiàng"],
			["shí"],
			["ér"],
			["dòng"]
		],
		"相视莫逆": [
			["xiāng"],
			["shì"],
			["mò"],
			["nì"]
		],
		"相视而笑": [
			["xiāng"],
			["shì"],
			["ér"],
			["xiào"]
		],
		"相鼠有皮": [
			["xiàng"],
			["shǔ"],
			["yǒu"],
			["pí"]
		],
		"相思病": [
			["xiāng"],
			["sī"],
			["bìng"]
		],
		"相帅成风": [
			["xiāng"],
			["shuài"],
			["chéng"],
			["fēng"]
		],
		"相思树": [
			["xiāng"],
			["sī"],
			["shù"]
		],
		"相思子": [
			["xiāng"],
			["sī"],
			["zǐ"]
		],
		"相提并论": [
			["xiāng"],
			["tí"],
			["bìng"],
			["lùn"]
		],
		"相忘形骸": [
			["xiāng"],
			["wàng"],
			["xíng"],
			["hái"]
		],
		"相形见绌": [
			["xiāng"],
			["xíng"],
			["jiàn"],
			["chù"]
		],
		"相形见拙": [
			["xiāng"],
			["xíng"],
			["jiàn"],
			["zhuō"]
		],
		"相习成风": [
			["xiāng"],
			["xí"],
			["chéng"],
			["fēng"]
		],
		"相形失色": [
			["xiāng"],
			["xíng"],
			["shī"],
			["sè"]
		],
		"相呴相济": [
			["xiāng"],
			["xǔ"],
			["xiāng"],
			["jì"]
		],
		"相沿成俗": [
			["xiāng"],
			["yán"],
			["chéng"],
			["sú"]
		],
		"相呴以湿": [
			["xiāng"],
			["xǔ"],
			["yǐ"],
			["shī"]
		],
		"相沿成习": [
			["xiāng"],
			["yán"],
			["chéng"],
			["xí"]
		],
		"相依为命": [
			["xiāng"],
			["yī"],
			["wéi"],
			["mìng"]
		],
		"相因相生": [
			["xiāng"],
			["yīn"],
			["xiāng"],
			["shēng"]
		],
		"相映成趣": [
			["xiāng"],
			["yìng"],
			["chéng"],
			["qù"]
		],
		"相知恨晚": [
			["xiāng"],
			["zhī"],
			["hèn"],
			["wǎn"]
		],
		"相与为一": [
			["xiāng"],
			["yǔ"],
			["wéi"],
			["yī"]
		],
		"相知有素": [
			["xiāng"],
			["zhī"],
			["yǒu"],
			["sù"]
		],
		"相庄如宾": [
			["xiāng"],
			["zhuāng"],
			["rú"],
			["bīn"]
		],
		"香槟酒": [
			["xiāng"],
			["bīn"],
			["jiǔ"]
		],
		"香车宝马": [
			["xiāng"],
			["chē"],
			["bǎo"],
			["mǎ"]
		],
		"香格里拉": [
			["xiāng"],
			["gé"],
			["lǐ"],
			["lā"]
		],
		"香花供养": [
			["xiāng"],
			["huā"],
			["gòng"],
			["yǎng"]
		],
		"香火不绝": [
			["xiāng"],
			["huǒ"],
			["bù"],
			["jué"]
		],
		"香培玉琢": [
			["xiang"],
			["pei"],
			["yu"],
			["zuo"]
		],
		"香喷喷": [
			["xiāng"],
			["pēn"],
			["pēn"]
		],
		"湘妃竹": [
			["xiāng"],
			["fēi"],
			["zhú"]
		],
		"湘夫人": [
			["xiāng"],
			["fū"],
			["rén"]
		],
		"详情度理": [
			["xiáng"],
			["qíng"],
			["dù"],
			["lǐ"]
		],
		"详星拜斗": [
			["xiáng"],
			["xīng"],
			["bài"],
			["dǒu"]
		],
		"祥风时雨": [
			["xiáng"],
			["fēng"],
			["shí"],
			["yǔ"]
		],
		"享乐主义": [
			["xiǎng"],
			["lè"],
			["zhǔ"],
			["yì"]
		],
		"响答影随": [
			["xiǎng"],
			["dá"],
			["yǐng"],
			["suí"]
		],
		"响当当": [
			["xiǎng"],
			["dāng"],
			["dāng"]
		],
		"响遏行云": [
			["xiǎng"],
			["è"],
			["xíng"],
			["yún"]
		],
		"响和景从": [
			["xiǎng"],
			["hé"],
			["jǐng"],
			["cóng"]
		],
		"想不到": [
			["xiǎng"],
			["bú"],
			["dào"]
		],
		"响尾蛇": [
			["xiǎng"],
			["wěi"],
			["shé"]
		],
		"想不开": [
			["xiǎng"],
			["bù"],
			["kāi"]
		],
		"想当然": [
			["xiǎng"],
			["dāng"],
			["rán"]
		],
		"想望丰采": [
			["xiǎng"],
			["wàng"],
			["fēng"],
			["cǎi"]
		],
		"向风慕义": [
			["xiàng"],
			["fēng"],
			["mù"],
			["yì"]
		],
		"想望风褱": [
			["xiǎng"],
			["wàng"],
			["fēng"],
			["shèng"]
		],
		"想望风采": [
			["xiǎng"],
			["wàng"],
			["fēng"],
			["cǎi"]
		],
		"向若而叹": [
			["xiàng"],
			["ruò"],
			["ér"],
			["tàn"]
		],
		"向上一路": [
			["xiàng"],
			["shàng"],
			["yī"],
			["lù"]
		],
		"巷尾街头": [
			["xiàng"],
			["wěi"],
			["jiē"],
			["tóu"]
		],
		"向声背实": [
			["xiàng"],
			["shēng"],
			["bèi"],
			["shí"]
		],
		"巷议街谈": [
			["xiàng"],
			["yì"],
			["jiē"],
			["tán"]
		],
		"项背相望": [
			["xiàng"],
			["bèi"],
			["xiāng"],
			["wàng"]
		],
		"象煞有介事": [
			["xiàng"],
			["shà"],
			["yǒu"],
			["jiè"],
			["shì"]
		],
		"像模像样": [
			["xiàng"],
			["mó"],
			["xiàng"],
			["yàng"]
		],
		"像煞有介事": [
			["xiàng"],
			["shà"],
			["yǒu"],
			["jiè"],
			["shì"]
		],
		"像心称意": [
			["xiàng"],
			["xīn"],
			["chēng"],
			["yì"]
		],
		"橡皮钉子": [
			["xiàng"],
			["pí"],
			["dìng"],
			["zǐ"]
		],
		"橡皮膏": [
			["xiàng"],
			["pí"],
			["gāo"]
		],
		"橡皮泥": [
			["xiàng"],
			["pí"],
			["ní"]
		],
		"橡皮圈": [
			["xiàng"],
			["pí"],
			["quān"]
		],
		"枭蛇鬼怪": [
			["xiāo"],
			["shé"],
			["guǐ"],
			["guài"]
		],
		"削草除根": [
			["xuē"],
			["cǎo"],
			["chú"],
			["gēn"]
		],
		"削发披缁": [
			["xuē"],
			["fà"],
			["pī"],
			["zī"]
		],
		"削尖脑袋": [
			["xuē"],
			["jiān"],
			["nǎo"],
			["dài"]
		],
		"削铁如泥": [
			["xuē"],
			["tiě"],
			["rú"],
			["ní"]
		],
		"削木为吏": [
			["xuē"],
			["mù"],
			["wéi"],
			["lì"]
		],
		"削职为民": [
			["xuē"],
			["zhí"],
			["wéi"],
			["mín"]
		],
		"削铁无声": [
			["xuē"],
			["tiě"],
			["wú"],
			["shēng"]
		],
		"削趾适屦": [
			["xuē"],
			["zhǐ"],
			["shì"],
			["jù"]
		],
		"削株掘根": [
			["xuē"],
			["zhū"],
			["jué"],
			["gēn"]
		],
		"削足适履": [
			["xuē"],
			["zú"],
			["shì"],
			["lǚ"]
		],
		"哓哓不休": [
			["xiāo"],
			["xiāo"],
			["bù"],
			["xiū"]
		],
		"枵腹从公": [
			["xiāo"],
			["fù"],
			["cóng"],
			["gōng"]
		],
		"枵腹终朝": [
			["xiāo"],
			["fù"],
			["zhōng"],
			["cháo"]
		],
		"宵旰焦劳": [
			["xiāo"],
			["gàn"],
			["jiāo"],
			["láo"]
		],
		"宵旰图治": [
			["xiāo"],
			["gàn"],
			["tú"],
			["zhì"]
		],
		"宵旰忧劳": [
			["xiāo"],
			["gàn"],
			["yōu"],
			["láo"]
		],
		"宵旰忧勤": [
			["xiāo"],
			["gàn"],
			["yōu"],
			["qín"]
		],
		"宵衣旰食": [
			["xiāo"],
			["yī"],
			["gàn"],
			["shí"]
		],
		"宵鱼垂化": [
			["xiāo"],
			["yú"],
			["chuí"],
			["huà"]
		],
		"消愁解闷": [
			["xiāo"],
			["chóu"],
			["jiě"],
			["mèn"]
		],
		"消化不良": [
			["xiāo"],
			["huà"],
			["bù"],
			["liáng"]
		],
		"消化道": [
			["xiāo"],
			["huà"],
			["dào"]
		],
		"消化酶": [
			["xiāo"],
			["huà"],
			["méi"]
		],
		"消化系统": [
			["xiāo"],
			["huà"],
			["xì"],
			["tǒng"]
		],
		"消化腺": [
			["xiāo"],
			["huà"],
			["xiàn"]
		],
		"消石灰": [
			["xiāo"],
			["shí"],
			["huī"]
		],
		"消息盈冲": [
			["xiāo"],
			["xī"],
			["yíng"],
			["chōng"]
		],
		"消炎片": [
			["xiāo"],
			["yán"],
			["piàn"]
		],
		"逍遥自得": [
			["xiāo"],
			["yáo"],
			["zì"],
			["dé"]
		],
		"鸮鸣鼠暴": [
			["zhāng"],
			["míng"],
			["shǔ"],
			["bào"]
		],
		"萧郎陌路": [
			["xiāo"],
			["láng"],
			["mò"],
			["lù"]
		],
		"硝云弹雨": [
			["xiāo"],
			["yún"],
			["dàn"],
			["yǔ"]
		],
		"销毁骨立": [
			["xiāo"],
			["huǐ"],
			["gǔ"],
			["lì"]
		],
		"潇洒风流": [
			["xiāo"],
			["sǎ"],
			["fēng"],
			["liú"]
		],
		"霄壤之别": [
			["xiāo"],
			["rǎng"],
			["zhī"],
			["bié"]
		],
		"霄鱼垂化": [
			["xiāo"],
			["yú"],
			["chuí"],
			["huà"]
		],
		"小把戏": [
			["xiǎo"],
			["bǎ"],
			["xì"]
		],
		"小便池": [
			["xiǎo"],
			["biàn"],
			["chí"]
		],
		"小便宜": [
			["xiǎo"],
			["pián"],
			["yí"]
		],
		"小不点": [
			["xiǎo"],
			["bù"],
			["diǎn"]
		],
		"小不点儿": [
			["xiǎo"],
			["bù"],
			["diǎn"],
			["er"]
		],
		"小不忍则乱大谋": [
			["xiǎo"],
			["bù"],
			["rěn"],
			["zé"],
			["luàn"],
			["dà"],
			["móu"]
		],
		"小惩大诫": [
			["xiǎo"],
			["chéng"],
			["dà"],
			["jiè"]
		],
		"小丑跳梁": [
			["xiǎo"],
			["chǒu"],
			["tiào"],
			["liáng"]
		],
		"小打小闹": [
			["xiǎo"],
			["dǎ"],
			["xiǎo"],
			["nào"]
		],
		"小大人儿": [
			["xiǎo"],
			["dà"],
			["rén"],
			["ér"]
		],
		"小大由之": [
			["xiǎo"],
			["dà"],
			["yóu"],
			["zhī"]
		],
		"小刀会": [
			["xiǎo"],
			["dāo"],
			["huì"]
		],
		"小肚鸡肠": [
			["xiǎo"],
			["dù"],
			["jī"],
			["cháng"]
		],
		"小儿麻痹症": [
			["xiǎo"],
			["ér"],
			["má"],
			["bì"],
			["zhèng"]
		],
		"小肚子": [
			["xiǎo"],
			["dǔ"],
			["zi"]
		],
		"小分队": [
			["xiǎo"],
			["fēn"],
			["duì"]
		],
		"小钢炮": [
			["xiǎo"],
			["gāng"],
			["pào"]
		],
		"小广播": [
			["xiǎo"],
			["guǎng"],
			["bō"]
		],
		"小姑独处": [
			["xiǎo"],
			["gū"],
			["dú"],
			["chǔ"]
		],
		"小鬼头": [
			["xiǎo"],
			["guǐ"],
			["tóu"]
		],
		"小合唱": [
			["xiǎo"],
			["hé"],
			["chàng"]
		],
		"小户人家": [
			["xiǎo"],
			["hù"],
			["rén"],
			["jiā"]
		],
		"小己得失": [
			["xiǎo"],
			["jǐ"],
			["dé"],
			["shī"]
		],
		"小家碧玉": [
			["xiǎo"],
			["jiā"],
			["bì"],
			["yù"]
		],
		"小家庭": [
			["xiǎo"],
			["jiā"],
			["tíng"]
		],
		"小家伙": [
			["xiǎo"],
			["jiā"],
			["huo"]
		],
		"小家子": [
			["xiǎo"],
			["jiā"],
			["zǐ"]
		],
		"小脚女人": [
			["xiǎo"],
			["jiǎo"],
			["nǚ"],
			["rén"]
		],
		"小家子气": [
			["xiǎo"],
			["jiā"],
			["zi"],
			["qì"]
		],
		"小轿车": [
			["xiǎo"],
			["jiào"],
			["chē"]
		],
		"小客车": [
			["xiǎo"],
			["kè"],
			["chē"]
		],
		"小康之家": [
			["xiǎo"],
			["kāng"],
			["zhī"],
			["jiā"]
		],
		"小廉曲谨": [
			["xiǎo"],
			["lián"],
			["qǔ"],
			["jǐn"]
		],
		"小老头": [
			["xiǎo"],
			["lǎo"],
			["tóu"]
		],
		"小廉大法": [
			["xiǎo"],
			["lián"],
			["dà"],
			["fǎ"]
		],
		"小萝卜": [
			["xiǎo"],
			["luó"],
			["bo"]
		],
		"小萝卜头": [
			["xiǎo"],
			["luó"],
			["bo"],
			["tóu"]
		],
		"小农经济": [
			["xiǎo"],
			["nóng"],
			["jīng"],
			["jì"]
		],
		"小毛头": [
			["xiǎo"],
			["máo"],
			["tóu"]
		],
		"小女子": [
			["xiǎo"],
			["nǚ"],
			["zǐ"]
		],
		"小前提": [
			["xiǎo"],
			["qián"],
			["tí"]
		],
		"小钱柜": [
			["xiǎo"],
			["qián"],
			["guì"]
		],
		"小曲儿": [
			["xiǎo"],
			["qǔ"],
			["ér"]
		],
		"小屈大伸": [
			["xiǎo"],
			["qū"],
			["dà"],
			["shēn"]
		],
		"小屈大申": [
			["xiǎo"],
			["qū"],
			["dà"],
			["shēn"]
		],
		"小圈子": [
			["xiǎo"],
			["quān"],
			["zi"]
		],
		"小人得志": [
			["xiǎo"],
			["rén"],
			["dé"],
			["zhì"]
		],
		"小时了了": [
			["xiǎo"],
			["shí"],
			["liǎo"],
			["liǎo"]
		],
		"小受大走": [
			["xiǎo"],
			["shòu"],
			["dà"],
			["zǒu"]
		],
		"小数点": [
			["xiǎo"],
			["shǔ"],
			["diǎn"]
		],
		"小说家": [
			["xiǎo"],
			["shuō"],
			["jiā"]
		],
		"小苏打": [
			["xiǎo"],
			["sū"],
			["dá"]
		],
		"小鹿触心头": [
			["xiǎo"],
			["lù"],
			["chù"],
			["xīn"],
			["tóu"]
		],
		"小提琴": [
			["xiǎo"],
			["tí"],
			["qín"]
		],
		"小题大作": [
			["xiǎo"],
			["tí"],
			["dà"],
			["zuò"]
		],
		"小题大做": [
			["xiǎo"],
			["tí"],
			["dà"],
			["zuò"]
		],
		"小天地": [
			["xiǎo"],
			["tiān"],
			["dì"]
		],
		"小王子": [
			["xiǎo"],
			["wáng"],
			["zǐ"]
		],
		"小往大来": [
			["xiǎo"],
			["wǎng"],
			["dà"],
			["lái"]
		],
		"小枉大直": [
			["xiǎo"],
			["wǎng"],
			["dà"],
			["zhí"]
		],
		"小巫见大巫": [
			["xiǎo"],
			["wū"],
			["jiàn"],
			["dà"],
			["wū"]
		],
		"小黠大痴": [
			["xiǎo"],
			["xiá"],
			["dà"],
			["chī"]
		],
		"小小不言": [
			["xiǎo"],
			["xiǎo"],
			["bù"],
			["yán"]
		],
		"小小说": [
			["xiǎo"],
			["xiǎo"],
			["shuō"]
		],
		"小行星": [
			["xiǎo"],
			["xíng"],
			["xīng"]
		],
		"小兄弟": [
			["xiǎo"],
			["xiōng"],
			["dì"]
		],
		"小熊猫": [
			["xiǎo"],
			["xióng"],
			["māo"]
		],
		"小眼薄皮": [
			["xiǎo"],
			["yǎn"],
			["bó"],
			["pí"]
		],
		"小夜曲": [
			["xiǎo"],
			["yè"],
			["qǔ"]
		],
		"小异大同": [
			["xiǎo"],
			["yì"],
			["dà"],
			["tóng"]
		],
		"小意思": [
			["xiǎo"],
			["yì"],
			["sī"]
		],
		"晓风残月": [
			["xiǎo"],
			["fēng"],
			["cán"],
			["yuè"]
		],
		"晓行夜宿": [
			["xiǎo"],
			["xíng"],
			["yè"],
			["sù"]
		],
		"晓行夜住": [
			["xiǎo"],
			["xíng"],
			["yè"],
			["zhù"]
		],
		"晓以大义": [
			["xiǎo"],
			["yǐ"],
			["dà"],
			["yì"]
		],
		"孝思不匮": [
			["xiào"],
			["sī"],
			["bù"],
			["kuì"]
		],
		"孝悌忠信": [
			["xiào"],
			["tì"],
			["zhōng"],
			["xìn"]
		],
		"孝子慈孙": [
			["xiào"],
			["zǐ"],
			["cí"],
			["sūn"]
		],
		"孝子顺孙": [
			["xiào"],
			["zǐ"],
			["shùn"],
			["sūn"]
		],
		"孝子贤孙": [
			["xiào"],
			["zǐ"],
			["xián"],
			["sūn"]
		],
		"肖像画": [
			["xiào"],
			["xiàng"],
			["huà"]
		],
		"效死疆场": [
			["xiào"],
			["sǐ"],
			["jiāng"],
			["chǎng"]
		],
		"校对员": [
			["jiào"],
			["duì"],
			["yuán"]
		],
		"校短量长": [
			["jiào"],
			["duǎn"],
			["liáng"],
			["cháng"]
		],
		"校短推长": [
			["xiào"],
			["duǎn"],
			["tuī"],
			["cháng"]
		],
		"笑傲风月": [
			["xiào"],
			["ào"],
			["fēng"],
			["yuè"]
		],
		"笑不可仰": [
			["xiào"],
			["bù"],
			["kě"],
			["yǎng"]
		],
		"笑而不答": [
			["xiào"],
			["ér"],
			["bù"],
			["dá"]
		],
		"笑呵呵": [
			["xiào"],
			["hē"],
			["hē"]
		],
		"笑哈哈": [
			["xiào"],
			["hā"],
			["hā"]
		],
		"笑咧咧": [
			["xiào"],
			["liē"],
			["liē"]
		],
		"笑里藏刀": [
			["xiào"],
			["lǐ"],
			["cáng"],
			["dāo"]
		],
		"笑眯眯": [
			["xiào"],
			["mī"],
			["mī"]
		],
		"笑面夜叉": [
			["xiào"],
			["miàn"],
			["yè"],
			["chā"]
		],
		"笑容可掬": [
			["xiào"],
			["róng"],
			["kě"],
			["jū"]
		],
		"啸傲风月": [
			["xiào"],
			["ào"],
			["fēng"],
			["yuè"]
		],
		"啸吒风云": [
			["xiào"],
			["zhà"],
			["fēng"],
			["yún"]
		],
		"啸咤风云": [
			["xiào"],
			["zhà"],
			["fēng"],
			["yún"]
		],
		"敩学相长": [
			["zuàn"],
			["xué"],
			["xiāng"],
			["cháng"]
		],
		"歇后语": [
			["xiē"],
			["hòu"],
			["yǔ"]
		],
		"歇斯底里": [
			["xiē"],
			["sī"],
			["dǐ"],
			["lǐ"]
		],
		"蝎蝎螫螫": [
			["xiē"],
			["xiē"],
			["zhē"],
			["zhē"]
		],
		"协力齐心": [
			["xié"],
			["lì"],
			["qí"],
			["xīn"]
		],
		"协力同心": [
			["xié"],
			["lì"],
			["tóng"],
			["xīn"]
		],
		"协私罔上": [
			["xié"],
			["sī"],
			["wǎng"],
			["shàng"]
		],
		"协心同力": [
			["xié"],
			["xīn"],
			["tóng"],
			["lì"]
		],
		"协约国": [
			["xié"],
			["yuē"],
			["guó"]
		],
		"协奏曲": [
			["xié"],
			["zòu"],
			["qǔ"]
		],
		"邪不敌正": [
			["xié"],
			["bù"],
			["dí"],
			["zhèng"]
		],
		"邪不伐正": [
			["xié"],
			["bù"],
			["fá"],
			["zhèng"]
		],
		"邪不犯正": [
			["xié"],
			["bù"],
			["fàn"],
			["zhèng"]
		],
		"邪不干正": [
			["xié"],
			["bù"],
			["gān"],
			["zhèng"]
		],
		"邪不胜正": [
			["xié"],
			["bù"],
			["shèng"],
			["zhèng"]
		],
		"邪不压正": [
			["xié"],
			["bù"],
			["yā"],
			["zhèng"]
		],
		"邪门儿": [
			["xié"],
			["mén"],
			["ér"]
		],
		"邪门歪道": [
			["xié"],
			["mén"],
			["wāi"],
			["dào"]
		],
		"邪魔歪道": [
			["xié"],
			["mó"],
			["wāi"],
			["dào"]
		],
		"邪魔怪道": [
			["xié"],
			["mó"],
			["guài"],
			["dào"]
		],
		"邪魔外道": [
			["xié"],
			["mó"],
			["wài"],
			["dào"]
		],
		"邪魔外祟": [
			["xié"],
			["mó"],
			["wai"],
			["suì"]
		],
		"胁不沾席": [
			["xié"],
			["bù"],
			["zhān"],
			["xí"]
		],
		"胁肩絫足": [
			["xié"],
			["jiān"],
			["lèi"],
			["zú"]
		],
		"胁肩累足": [
			["xié"],
			["jiān"],
			["lěi"],
			["zú"]
		],
		"挟山超海": [
			["xié"],
			["shān"],
			["chāo"],
			["hǎi"]
		],
		"挟势弄权": [
			["jiā"],
			["shì"],
			["nòng"],
			["quán"]
		],
		"挟天子以令天下": [
			["xié"],
			["tiān"],
			["zǐ"],
			["yǐ"],
			["lìng"],
			["tiān"],
			["xià"]
		],
		"挟天子以令诸侯": [
			["xié"],
			["tiān"],
			["zǐ"],
			["yǐ"],
			["lìng"],
			["zhū"],
			["hóu"]
		],
		"挟细拿粗": [
			["xié"],
			["xì"],
			["ná"],
			["cū"]
		],
		"挟主行令": [
			["jiā"],
			["zhǔ"],
			["xíng"],
			["lìng"]
		],
		"斜风细雨": [
			["xié"],
			["fēng"],
			["xì"],
			["yǔ"]
		],
		"斜行横阵": [
			["xié"],
			["xíng"],
			["héng"],
			["zhèn"]
		],
		"斜头歪脑": [
			["xié"],
			["tóu"],
			["wāi"],
			["nǎo"]
		],
		"携家带口": [
			["xié"],
			["jiā"],
			["dài"],
			["kǒu"]
		],
		"携男挈女": [
			["xié"],
			["nán"],
			["qiè"],
			["nǚ"]
		],
		"携云握雨": [
			["xié"],
			["yún"],
			["wò"],
			["yǔ"]
		],
		"鞋弓袜浅": [
			["xié"],
			["gōng"],
			["wà"],
			["qiǎn"]
		],
		"鞋弓襪浅": [
			["xié"],
			["gōng"],
			["wà"],
			["qiǎn"]
		],
		"写字间": [
			["xiě"],
			["zì"],
			["jiān"]
		],
		"写字台": [
			["xiě"],
			["zì"],
			["tái"]
		],
		"泄漏天机": [
			["xiè"],
			["lòu"],
			["tiān"],
			["jī"]
		],
		"泄露天机": [
			["xiè"],
			["lòu"],
			["tiān"],
			["jī"]
		],
		"卸磨杀驴": [
			["xiè"],
			["mò"],
			["shā"],
			["lǘ"]
		],
		"谢家宝树": [
			["xiè"],
			["jiā"],
			["bǎo"],
			["shù"]
		],
		"谢家活计": [
			["xiè"],
			["jiā"],
			["huó"],
			["jì"]
		],
		"谢兰燕桂": [
			["xiè"],
			["lán"],
			["yàn"],
			["guì"]
		],
		"谢天谢地": [
			["xiè"],
			["tiān"],
			["xiè"],
			["dì"]
		],
		"邂逅不偶": [
			["xiè"],
			["hòu"],
			["bù"],
			["ǒu"]
		],
		"邂逅相逢": [
			["xiè"],
			["hòu"],
			["xiāng"],
			["féng"]
		],
		"邂逅相遇": [
			["xiè"],
			["hòu"],
			["xiāng"],
			["yù"]
		],
		"心安理得": [
			["xīn"],
			["ān"],
			["lǐ"],
			["dé"]
		],
		"心病还须心药医": [
			["xīn"],
			["bìng"],
			["hái"],
			["xū"],
			["xīn"],
			["yào"],
			["yī"]
		],
		"心不两用": [
			["xīn"],
			["bù"],
			["liǎng"],
			["yòng"]
		],
		"心不应口": [
			["xīn"],
			["bù"],
			["yīng"],
			["kǒu"]
		],
		"心不由意": [
			["xīn"],
			["bù"],
			["yóu"],
			["yì"]
		],
		"心不在焉": [
			["xīn"],
			["bù"],
			["zài"],
			["yān"]
		],
		"心不由主": [
			["xīn"],
			["bù"],
			["yóu"],
			["zhǔ"]
		],
		"心长绠短": [
			["xīn"],
			["cháng"],
			["gěng"],
			["duǎn"]
		],
		"心长发短": [
			["xīn"],
			["cháng"],
			["fà"],
			["duǎn"]
		],
		"心长力短": [
			["xīn"],
			["cháng"],
			["lì"],
			["duǎn"]
		],
		"心驰魏阙": [
			["xīn"],
			["chí"],
			["wèi"],
			["què"]
		],
		"心存芥蒂": [
			["xīn"],
			["cún"],
			["jiè"],
			["dì"]
		],
		"心粗胆大": [
			["xīn"],
			["cū"],
			["dǎn"],
			["dà"]
		],
		"心胆俱裂": [
			["xīn"],
			["dǎn"],
			["jù"],
			["liè"]
		],
		"心到神知": [
			["xīn"],
			["dào"],
			["shén"],
			["zhī"]
		],
		"心低意沮": [
			["xīn"],
			["dī"],
			["yì"],
			["jǔ"]
		],
		"心电感应": [
			["xīn"],
			["diàn"],
			["gǎn"],
			["yìng"]
		],
		"心非巷议": [
			["xīn"],
			["fēi"],
			["xiàng"],
			["yì"]
		],
		"心服首肯": [
			["xīn"],
			["fú"],
			["shǒu"],
			["kěn"]
		],
		"心服口服": [
			["xīn"],
			["fú"],
			["kǒu"],
			["fú"]
		],
		"心浮气盛": [
			["xīn"],
			["fú"],
			["qì"],
			["shèng"]
		],
		"心腹大患": [
			["xīn"],
			["fù"],
			["dà"],
			["huàn"]
		],
		"心广体胖": [
			["xīn"],
			["guǎng"],
			["tǐ"],
			["pán"]
		],
		"心腹重患": [
			["xīn"],
			["fù"],
			["zhòng"],
			["huàn"]
		],
		"心狠手毒": [
			["xīn"],
			["hěn"],
			["shǒu"],
			["dú"]
		],
		"心寒胆落": [
			["xīn"],
			["hán"],
			["dǎn"],
			["luò"]
		],
		"心花怒发": [
			["xīn"],
			["huā"],
			["nù"],
			["fā"]
		],
		"心慌撩乱": [
			["xīn"],
			["huāng"],
			["liáo"],
			["luàn"]
		],
		"心回意转": [
			["xīn"],
			["huí"],
			["yì"],
			["zhuǎn"]
		],
		"心肌梗塞": [
			["xīn"],
			["jī"],
			["gěng"],
			["sè"]
		],
		"心急火燎": [
			["xīn"],
			["jí"],
			["huǒ"],
			["liǎo"]
		],
		"心焦火燎": [
			["xīn"],
			["jiāo"],
			["huǒ"],
			["liáo"]
		],
		"心坚石穿": [
			["xīn"],
			["jiān"],
			["shí"],
			["chuān"]
		],
		"心惊胆颤": [
			["xīn"],
			["jīng"],
			["dǎn"],
			["chàn"]
		],
		"心惊胆裂": [
			["xīn"],
			["jīng"],
			["dǎn"],
			["liè"]
		],
		"心惊胆落": [
			["xīn"],
			["jīng"],
			["dǎn"],
			["luò"]
		],
		"心惊肉跳": [
			["xīn"],
			["jīng"],
			["ròu"],
			["tiào"]
		],
		"心口不一": [
			["xīn"],
			["kǒu"],
			["bù"],
			["yī"]
		],
		"心口相应": [
			["xīn"],
			["kǒu"],
			["xiāng"],
			["yīng"]
		],
		"心宽体胖": [
			["xīn"],
			["kuān"],
			["tǐ"],
			["pán"]
		],
		"心旷神愉": [
			["xīn"],
			["kuàng"],
			["shén"],
			["yú"]
		],
		"心力衰竭": [
			["xīn"],
			["lì"],
			["shuāi"],
			["jié"]
		],
		"心领神会": [
			["xīn"],
			["lǐng"],
			["shén"],
			["huì"]
		],
		"心领意会": [
			["xīn"],
			["lǐng"],
			["yì"],
			["huì"]
		],
		"心满意得": [
			["xīn"],
			["mǎn"],
			["yì"],
			["dé"]
		],
		"心摹手追": [
			["xīn"],
			["mó"],
			["shǒu"],
			["zhuī"]
		],
		"心慕手追": [
			["xīn"],
			["mù"],
			["shǒu"],
			["zhuī"]
		],
		"心平气和": [
			["xīn"],
			["píng"],
			["qì"],
			["hé"]
		],
		"心去难留": [
			["xīn"],
			["qù"],
			["nán"],
			["liú"]
		],
		"心如金石": [
			["xīn"],
			["rú"],
			["jīn"],
			["shí"]
		],
		"心如坚石": [
			["xīn"],
			["rú"],
			["jiān"],
			["shí"]
		],
		"心如木石": [
			["xīn"],
			["rú"],
			["mù"],
			["shí"]
		],
		"心如铁石": [
			["xīn"],
			["rú"],
			["tiě"],
			["shí"]
		],
		"心若死灰": [
			["xīn"],
			["ruò"],
			["sǐ"],
			["huī"]
		],
		"心上心下": [
			["xīn"],
			["shàng"],
			["xīn"],
			["xià"]
		],
		"心上人": [
			["xīn"],
			["shàng"],
			["rén"]
		],
		"心神不定": [
			["xīn"],
			["shén"],
			["bù"],
			["dìng"]
		],
		"心神不宁": [
			["xīn"],
			["shén"],
			["bù"],
			["níng"]
		],
		"心事重重": [
			["xīn"],
			["shì"],
			["chóng"],
			["chóng"]
		],
		"心手相忘": [
			["xīn"],
			["shǒu"],
			["xiāng"],
			["wàng"]
		],
		"心手相应": [
			["xīn"],
			["shǒu"],
			["xiāng"],
			["yìng"]
		],
		"心术不端": [
			["xīn"],
			["shù"],
			["bù"],
			["duān"]
		],
		"心术不正": [
			["xīn"],
			["shù"],
			["bù"],
			["zhèng"]
		],
		"心同止水": [
			["xīn"],
			["rú"],
			["zhǐ"],
			["shuǐ"]
		],
		"心头鹿撞": [
			["xīn"],
			["tóu"],
			["lù"],
			["zhuàng"]
		],
		"心头肉": [
			["xīn"],
			["tóu"],
			["ròu"]
		],
		"心头撞鹿": [
			["xīn"],
			["tóu"],
			["zhuàng"],
			["lù"]
		],
		"心无旁骛": [
			["xīn"],
			["wú"],
			["páng"],
			["wù"]
		],
		"心细于发": [
			["xīn"],
			["xì"],
			["yú"],
			["fā"]
		],
		"心细如发": [
			["xīn"],
			["xì"],
			["rú"],
			["fā"]
		],
		"心小志大": [
			["xīn"],
			["xiǎo"],
			["zhì"],
			["dà"]
		],
		"心心相印": [
			["xīn"],
			["xīn"],
			["xiāng"],
			["yìn"]
		],
		"心雄万夫": [
			["xīn"],
			["xióng"],
			["wàn"],
			["fū"]
		],
		"心血来潮": [
			["xīn"],
			["xuè"],
			["lái"],
			["cháo"]
		],
		"心痒难挠": [
			["xīn"],
			["yǎng"],
			["nán"],
			["náo"]
		],
		"心痒难揉": [
			["xīn"],
			["yǎng"],
			["nán"],
			["róu"]
		],
		"心痒难挝": [
			["xīn"],
			["yǎng"],
			["nán"],
			["zhuā"]
		],
		"心痒难抓": [
			["xīn"],
			["yǎng"],
			["nán"],
			["zhuā"]
		],
		"心逸日休": [
			["xīn"],
			["yì"],
			["rì"],
			["xiū"]
		],
		"心有灵犀一点通": [
			["xīn"],
			["yǒu"],
			["líng"],
			["xī"],
			["yī"],
			["diǎn"],
			["tōng"]
		],
		"心有余而力不足": [
			["xīn"],
			["yǒu"],
			["yú"],
			["ér"],
			["lì"],
			["bù"],
			["zú"]
		],
		"心有余悸": [
			["xīn"],
			["yǒu"],
			["yú"],
			["jì"]
		],
		"心悦诚服": [
			["xīn"],
			["yuè"],
			["chéng"],
			["fú"]
		],
		"心殒胆落": [
			["xīn"],
			["yǔn"],
			["dǎn"],
			["luò"]
		],
		"心在魏阙": [
			["xīn"],
			["zài"],
			["wèi"],
			["què"]
		],
		"心瞻魏阙": [
			["xīn"],
			["zhān"],
			["wèi"],
			["què"]
		],
		"心照不宣": [
			["xīn"],
			["zhào"],
			["bù"],
			["xuān"]
		],
		"心之官则思": [
			["xīn"],
			["zhī"],
			["guān"],
			["zé"],
			["sī"]
		],
		"心知其意": [
			["xīn"],
			["zhī"],
			["qí"],
			["yì"]
		],
		"心织笔耕": [
			["xīn"],
			["zhī"],
			["bǐ"],
			["gēng"]
		],
		"心中无数": [
			["xīn"],
			["zhōng"],
			["wú"],
			["shù"]
		],
		"心中有数": [
			["xīn"],
			["zhōng"],
			["yǒu"],
			["shù"]
		],
		"心拙口夯": [
			["xīn"],
			["zhuō"],
			["kǒu"],
			["bèn"]
		],
		"欣然自得": [
			["xīn"],
			["rán"],
			["zì"],
			["dé"]
		],
		"欣欣自得": [
			["xīn"],
			["xīn"],
			["zì"],
			["dé"]
		],
		"欣喜若狂": [
			["xīn"],
			["xǐ"],
			["ruò"],
			["kuáng"]
		],
		"新长征": [
			["xīn"],
			["cháng"],
			["zhēng"]
		],
		"新仇旧恨": [
			["xīn"],
			["chóu"],
			["jiù"],
			["hèn"]
		],
		"新大陆": [
			["xīn"],
			["dà"],
			["lù"]
		],
		"新发于硎": [
			["xīn"],
			["fā"],
			["yú"],
			["xíng"]
		],
		"新技术": [
			["xīn"],
			["jì"],
			["shù"]
		],
		"新官上任三把火": [
			["xīn"],
			["guān"],
			["shàng"],
			["rèn"],
			["sān"],
			["bǎ"],
			["huǒ"]
		],
		"新纪元": [
			["xīn"],
			["jì"],
			["yuán"]
		],
		"新婚燕尔": [
			["xīn"],
			["hūn"],
			["yàn"],
			["ěr"]
		],
		"新疆维吾尔自治区": [
			["xīn"],
			["jiāng"],
			["wéi"],
			["wú"],
			["ěr"],
			["zì"],
			["zhì"],
			["qū"]
		],
		"新疆大学": [
			["xīn"],
			["jiāng"],
			["dà"],
			["xué"]
		],
		"新郎官": [
			["xīn"],
			["láng"],
			["guān"]
		],
		"新能源": [
			["xīn"],
			["néng"],
			["yuán"]
		],
		"新石器时代": [
			["xīn"],
			["shí"],
			["qì"],
			["shí"],
			["dài"]
		],
		"新天地": [
			["xīn"],
			["tiān"],
			["dì"]
		],
		"新文化": [
			["xīn"],
			["wén"],
			["huà"]
		],
		"新文化运动": [
			["xīn"],
			["wén"],
			["huà"],
			["yùn"],
			["dòng"]
		],
		"薪尽火传": [
			["xīn"],
			["jìn"],
			["huǒ"],
			["chuán"]
		],
		"信笔涂鸦": [
			["xìn"],
			["bǐ"],
			["tú"],
			["yā"]
		],
		"信步而行": [
			["xìn"],
			["bù"],
			["ér"],
			["xíng"]
		],
		"信得过": [
			["xìn"],
			["dé"],
			["guò"]
		],
		"信而好古": [
			["xìn"],
			["ér"],
			["hào"],
			["gǔ"]
		],
		"信而有征": [
			["xìn"],
			["ér"],
			["yǒu"],
			["zhēng"]
		],
		"信而有证": [
			["xìn"],
			["ér"],
			["yǒu"],
			["zhèng"]
		],
		"信号弹": [
			["xìn"],
			["hào"],
			["dàn"]
		],
		"信号灯": [
			["xìn"],
			["hào"],
			["dēng"]
		],
		"信号旗": [
			["xìn"],
			["hào"],
			["qí"]
		],
		"信号枪": [
			["xìn"],
			["hào"],
			["qiāng"]
		],
		"信及豚鱼": [
			["xìn"],
			["jí"],
			["tún"],
			["yú"]
		],
		"信口雌黄": [
			["xìn"],
			["kǒu"],
			["cí"],
			["huáng"]
		],
		"信口胡言": [
			["xìn"],
			["kǒu"],
			["hú"],
			["yán"]
		],
		"信口开呵": [
			["xìn"],
			["kǒu"],
			["kāi"],
			["hē"]
		],
		"信口开喝": [
			["xìn"],
			["kǒu"],
			["kāi"],
			["hē"]
		],
		"信口开合": [
			["xìn"],
			["kǒu"],
			["kāi"],
			["hé"]
		],
		"信口开河": [
			["xìn"],
			["kǒu"],
			["kāi"],
			["hé"]
		],
		"信马由缰": [
			["xìn"],
			["mǎ"],
			["yóu"],
			["jiāng"]
		],
		"信皮儿": [
			["xìn"],
			["pí"],
			["er"]
		],
		"信赏必罚": [
			["xìn"],
			["shǎng"],
			["bì"],
			["fá"]
		],
		"信誓旦旦": [
			["xìn"],
			["shì"],
			["dàn"],
			["dàn"]
		],
		"信手拈来": [
			["xìn"],
			["shǒu"],
			["niān"],
			["lái"]
		],
		"信守不渝": [
			["xìn"],
			["shǒu"],
			["bù"],
			["yú"]
		],
		"信天翁": [
			["xìn"],
			["tiān"],
			["wēng"]
		],
		"信息论": [
			["xìn"],
			["xī"],
			["lùn"]
		],
		"信天游": [
			["xìn"],
			["tiān"],
			["yóu"]
		],
		"信言不美": [
			["xìn"],
			["yán"],
			["bù"],
			["měi"]
		],
		"信以为真": [
			["xìn"],
			["yǐ"],
			["wéi"],
			["zhēn"]
		],
		"信用合作社": [
			["xìn"],
			["yòng"],
			["hé"],
			["zuò"],
			["shè"]
		],
		"信用社": [
			["xìn"],
			["yòng"],
			["shè"]
		],
		"衅发萧墙": [
			["xìn"],
			["fā"],
			["xiāo"],
			["qiáng"]
		],
		"衅稔恶盈": [
			["xìn"],
			["rěn"],
			["è"],
			["yíng"]
		],
		"兴邦立国": [
			["xīng"],
			["bāng"],
			["lì"],
			["guó"]
		],
		"焮天铄地": [
			["xìn"],
			["tiān"],
			["shuò"],
			["dì"]
		],
		"兴兵动众": [
			["xīng"],
			["bīng"],
			["dòng"],
			["zhòng"]
		],
		"兴词构讼": [
			["xīng"],
			["cí"],
			["gòu"],
			["sòng"]
		],
		"兴冲冲": [
			["xīng"],
			["chōng"],
			["chōng"]
		],
		"兴讹造讪": [
			["xīng"],
			["é"],
			["zào"],
			["shàn"]
		],
		"兴废继绝": [
			["xīng"],
			["fèi"],
			["jì"],
			["jué"]
		],
		"兴奋剂": [
			["xīng"],
			["fèn"],
			["jì"]
		],
		"兴风作浪": [
			["xīng"],
			["fēng"],
			["zuò"],
			["làng"]
		],
		"兴高采烈": [
			["xìng"],
			["gāo"],
			["cǎi"],
			["liè"]
		],
		"兴高彩烈": [
			["xìng"],
			["gāo"],
			["cǎi"],
			["liè"]
		],
		"兴观群怨": [
			["xìng"],
			["guān"],
			["qún"],
			["yuàn"]
		],
		"兴家立业": [
			["xīng"],
			["jiā"],
			["lì"],
			["yè"]
		],
		"兴会淋漓": [
			["xìng"],
			["huì"],
			["lín"],
			["lí"]
		],
		"兴利除弊": [
			["xīng"],
			["lì"],
			["chú"],
			["bì"]
		],
		"兴灭继绝": [
			["xīng"],
			["miè"],
			["jì"],
			["jué"]
		],
		"兴趣盎然": [
			["xìng"],
			["qù"],
			["àng"],
			["rán"]
		],
		"兴如嚼蜡": [
			["xìng"],
			["rú"],
			["jiáo"],
			["là"]
		],
		"兴师动众": [
			["xīng"],
			["shī"],
			["dòng"],
			["zhòng"]
		],
		"兴师问罪": [
			["xīng"],
			["shī"],
			["wèn"],
			["zuì"]
		],
		"兴亡祸福": [
			["xīng"],
			["wáng"],
			["huò"],
			["fú"]
		],
		"兴亡继绝": [
			["xīng"],
			["wáng"],
			["jì"],
			["jué"]
		],
		"兴微继绝": [
			["xīng"],
			["wēi"],
			["jì"],
			["jué"]
		],
		"兴味索然": [
			["xìng"],
			["wèi"],
			["suǒ"],
			["rán"]
		],
		"兴妖作怪": [
			["xīng"],
			["yāo"],
			["zuò"],
			["guài"]
		],
		"兴文匽武": [
			["xīng"],
			["wén"],
			["diào"],
			["wǔ"]
		],
		"兴妖作乱": [
			["xīng"],
			["yāo"],
			["zuò"],
			["luàn"]
		],
		"兴妖作孽": [
			["xīng"],
			["yāo"],
			["zuò"],
			["niè"]
		],
		"兴云致雨": [
			["xīng"],
			["yún"],
			["zhì"],
			["yǔ"]
		],
		"兴致勃勃": [
			["xìng"],
			["zhì"],
			["bó"],
			["bó"]
		],
		"兴致淋漓": [
			["xìng"],
			["zhì"],
			["lín"],
			["lí"]
		],
		"兴致索然": [
			["xìng"],
			["zhì"],
			["suǒ"],
			["rán"]
		],
		"星驰电发": [
			["xīng"],
			["chí"],
			["diàn"],
			["fā"]
		],
		"兴中会": [
			["xīng"],
			["zhōng"],
			["huì"]
		],
		"星飞云散": [
			["xīng"],
			["fēi"],
			["yún"],
			["sàn"]
		],
		"星离雨散": [
			["xīng"],
			["lí"],
			["yǔ"],
			["sàn"]
		],
		"星离月会": [
			["xīng"],
			["lí"],
			["yuè"],
			["huì"]
		],
		"星落云散": [
			["xīng"],
			["luò"],
			["yún"],
			["sàn"]
		],
		"星期日": [
			["xīng"],
			["qī"],
			["rì"]
		],
		"星火燎原": [
			["xīng"],
			["huǒ"],
			["liáo"],
			["yuán"]
		],
		"星条旗": [
			["xīng"],
			["tiáo"],
			["qí"]
		],
		"星星落落": [
			["xīng"],
			["xīng"],
			["luò"],
			["luò"]
		],
		"星行电征": [
			["xīng"],
			["xíng"],
			["diàn"],
			["zhēng"]
		],
		"星行夜归": [
			["xīng"],
			["xíng"],
			["yè"],
			["guī"]
		],
		"星移斗转": [
			["xīng"],
			["yí"],
			["dǒu"],
			["zhuǎn"]
		],
		"星移漏转": [
			["xīng"],
			["yí"],
			["lòu"],
			["zhuǎn"]
		],
		"惺惺相惜": [
			["xīng"],
			["xīng"],
			["xiāng"],
			["xī"]
		],
		"猩红热": [
			["xīng"],
			["hóng"],
			["rè"]
		],
		"腥风醎雨": [
			["xīng"],
			["fēng"],
			["xián"],
			["yǔ"]
		],
		"腥风血雨": [
			["xīng"],
			["fēng"],
			["xuè"],
			["yǔ"]
		],
		"刑措不用": [
			["xíng"],
			["cuò"],
			["bù"],
			["yòng"]
		],
		"腥闻在上": [
			["xíng"],
			["wén"],
			["zài"],
			["shàng"]
		],
		"刑期无刑": [
			["xíng"],
			["qī"],
			["wú"],
			["xíng"]
		],
		"刑事责任": [
			["xíng"],
			["shì"],
			["zé"],
			["rèn"]
		],
		"刑于之化": [
			["xíng"],
			["yú"],
			["zhī"],
			["huà"]
		],
		"行百里者半九十": [
			["xíng"],
			["bǎi"],
			["lǐ"],
			["zhě"],
			["bàn"],
			["jiǔ"],
			["shí"]
		],
		"行百里者半于九十": [
			["xíng"],
			["bǎi"],
			["lǐ"],
			["zhě"],
			["bàn"],
			["yú"],
			["jiǔ"],
			["shí"]
		],
		"行兵布阵": [
			["xíng"],
			["bīng"],
			["bù"],
			["zhèn"]
		],
		"行不从径": [
			["xíng"],
			["bù"],
			["cóng"],
			["jìng"]
		],
		"行不得也哥哥": [
			["xíng"],
			["bù"],
			["dé"],
			["yě"],
			["gē"],
			["gē"]
		],
		"行不贰过": [
			["xíng"],
			["bù"],
			["èr"],
			["guò"]
		],
		"行不副言": [
			["xíng"],
			["bù"],
			["fù"],
			["yán"]
		],
		"行不苟合": [
			["xíng"],
			["bù"],
			["gǒu"],
			["hé"]
		],
		"行不履危": [
			["xíng"],
			["bù"],
			["lǚ"],
			["wēi"]
		],
		"行不通": [
			["xíng"],
			["bù"],
			["tōng"]
		],
		"行不行": [
			["xíng"],
			["bù"],
			["xíng"]
		],
		"行不胜衣": [
			["xíng"],
			["bù"],
			["shèng"],
			["yī"]
		],
		"行步如飞": [
			["xíng"],
			["bù"],
			["rú"],
			["fēi"]
		],
		"行不逾方": [
			["xíng"],
			["bù"],
			["yú"],
			["fāng"]
		],
		"行不由径": [
			["xíng"],
			["bù"],
			["yóu"],
			["jìng"]
		],
		"行藏用舍": [
			["xíng"],
			["cáng"],
			["yòng"],
			["shě"]
		],
		"行成于思": [
			["xíng"],
			["chéng"],
			["yú"],
			["sī"]
		],
		"行道树": [
			["háng"],
			["dào"],
			["shù"]
		],
		"行动坐卧": [
			["xíng"],
			["dòng"],
			["zuò"],
			["wò"]
		],
		"行方便": [
			["xíng"],
			["fāng"],
			["biàn"]
		],
		"行古志今": [
			["xíng"],
			["gǔ"],
			["zhì"],
			["jīn"]
		],
		"行号巷哭": [
			["xíng"],
			["háo"],
			["xiàng"],
			["kū"]
		],
		"行号卧泣": [
			["xíng"],
			["háo"],
			["wò"],
			["qì"]
		],
		"行合趋同": [
			["xíng"],
			["hé"],
			["qū"],
			["tóng"]
		],
		"行己有耻": [
			["xíng"],
			["jǐ"],
			["yǒu"],
			["chǐ"]
		],
		"行间字里": [
			["háng"],
			["jiān"],
			["zì"],
			["lǐ"]
		],
		"行家里手": [
			["háng"],
			["jiā"],
			["lǐ"],
			["shǒu"]
		],
		"行将就木": [
			["xíng"],
			["jiāng"],
			["jiù"],
			["mù"]
		],
		"行奸卖俏": [
			["xíng"],
			["jiān"],
			["mài"],
			["qiào"]
		],
		"行军床": [
			["xíng"],
			["jūn"],
			["chuáng"]
		],
		"行李房": [
			["xíng"],
			["lǐ"],
			["fáng"]
		],
		"行列式": [
			["háng"],
			["liè"],
			["shì"]
		],
		"行眠立盹": [
			["xíng"],
			["mián"],
			["lì"],
			["dǔn"]
		],
		"行若狗彘": [
			["xíng"],
			["ruò"],
			["gǒu"],
			["zhì"]
		],
		"行若无事": [
			["xíng"],
			["ruò"],
			["wú"],
			["shì"]
		],
		"行色匆匆": [
			["xíng"],
			["sè"],
			["cōng"],
			["cōng"]
		],
		"行色怱怱": [
			["xíng"],
			["sè"],
			["cōng"],
			["cōng"]
		],
		"行尸走骨": [
			["xíng"],
			["shī"],
			["zǒu"],
			["gǔ"]
		],
		"行尸走肉": [
			["xíng"],
			["shī"],
			["zǒu"],
			["ròu"]
		],
		"行师动众": [
			["xíng"],
			["shī"],
			["dòng"],
			["zhòng"]
		],
		"行思坐想": [
			["xíng"],
			["sī"],
			["zuò"],
			["xiǎng"]
		],
		"行思坐忆": [
			["xíng"],
			["sī"],
			["zuò"],
			["yì"]
		],
		"行思坐筹": [
			["xíng"],
			["sī"],
			["zuò"],
			["chóu"]
		],
		"行同狗豨": [
			["xíng"],
			["tóng"],
			["gǒu"],
			["xī"]
		],
		"行同狗彘": [
			["xíng"],
			["tóng"],
			["gǒu"],
			["zhì"]
		],
		"行同能偶": [
			["xíng"],
			["tóng"],
			["néng"],
			["ǒu"]
		],
		"行侠好义": [
			["xíng"],
			["xiá"],
			["hào"],
			["yì"]
		],
		"行险徼幸": [
			["xíng"],
			["xiǎn"],
			["jiǎo"],
			["xìng"]
		],
		"行崄侥幸": [
			["xíng"],
			["xiǎn"],
			["jiǎo"],
			["xìng"]
		],
		"行香挂牌": [
			["xíng"],
			["xiāng"],
			["guà"],
			["pái"]
		],
		"行行出状元": [
			["háng"],
			["háng"],
			["chū"],
			["zhuàng"],
			["yuán"]
		],
		"行行蛇蚓": [
			["háng"],
			["háng"],
			["shé"],
			["yǐn"]
		],
		"行吟诗人": [
			["xíng"],
			["yín"],
			["shī"],
			["rén"]
		],
		"行易知难": [
			["xíng"],
			["yì"],
			["zhī"],
			["nán"]
		],
		"行有余力": [
			["xíng"],
			["yǒu"],
			["yú"],
			["lì"]
		],
		"行远升高": [
			["xíng"],
			["yuǎn"],
			["shēng"],
			["gāo"]
		],
		"行远自迩": [
			["xíng"],
			["yuǎn"],
			["zì"],
			["ěr"]
		],
		"行者让路": [
			["xíng"],
			["zhě"],
			["ràng"],
			["lù"]
		],
		"行云流水": [
			["xíng"],
			["yún"],
			["liú"],
			["shuǐ"]
		],
		"行针步线": [
			["xíng"],
			["zhēn"],
			["bù"],
			["xiàn"]
		],
		"行政处分": [
			["xíng"],
			["zhèng"],
			["chǔ"],
			["fèn"]
		],
		"行政法": [
			["xíng"],
			["zhèng"],
			["fǎ"]
		],
		"行之有效": [
			["xíng"],
			["zhī"],
			["yǒu"],
			["xiào"]
		],
		"行住坐卧": [
			["xíng"],
			["zhù"],
			["zuò"],
			["wò"]
		],
		"行踪无定": [
			["xíng"],
			["zōng"],
			["wú"],
			["dìng"]
		],
		"行浊言清": [
			["xíng"],
			["zhuó"],
			["yán"],
			["qīng"]
		],
		"形单影双": [
			["xíng"],
			["dān"],
			["yǐng"],
			["shuāng"]
		],
		"形单影只": [
			["xíng"],
			["dān"],
			["yǐng"],
			["zhī"]
		],
		"形而上": [
			["xíng"],
			["ér"],
			["shàng"]
		],
		"形格势禁": [
			["xíng"],
			["gé"],
			["shì"],
			["jìn"]
		],
		"形而上学": [
			["xíng"],
			["ér"],
			["shàng"],
			["xué"]
		],
		"形孤影只": [
			["xíng"],
			["gū"],
			["yǐng"],
			["zhī"]
		],
		"形劫势禁": [
			["xíng"],
			["jié"],
			["shì"],
			["jìn"]
		],
		"形迹可疑": [
			["xíng"],
			["jì"],
			["kě"],
			["yí"]
		],
		"形禁势格": [
			["xíng"],
			["jìn"],
			["shì"],
			["gé"]
		],
		"形枉影曲": [
			["xíng"],
			["wǎng"],
			["yǐng"],
			["qū"]
		],
		"形销骨立": [
			["xíng"],
			["xiāo"],
			["gǔ"],
			["lì"]
		],
		"形影不离": [
			["xíng"],
			["yǐng"],
			["bù"],
			["lí"]
		],
		"形影相吊": [
			["xíng"],
			["yǐng"],
			["xiāng"],
			["diào"]
		],
		"形影相对": [
			["xíng"],
			["yǐng"],
			["xiāng"],
			["duì"]
		],
		"形影相附": [
			["xíng"],
			["yǐng"],
			["xiāng"],
			["fù"]
		],
		"形影相随": [
			["xíng"],
			["yǐng"],
			["xiāng"],
			["suí"]
		],
		"形影相依": [
			["xíng"],
			["yǐng"],
			["xiāng"],
			["yī"]
		],
		"形只影单": [
			["xíng"],
			["zhī"],
			["yǐng"],
			["dān"]
		],
		"杏花春雨": [
			["xìng"],
			["huā"],
			["chūn"],
			["yǔ"]
		],
		"杏雨梨云": [
			["xìng"],
			["yǔ"],
			["lí"],
			["yún"]
		],
		"幸灾乐祸": [
			["xìng"],
			["zāi"],
			["lè"],
			["huò"]
		],
		"性关系": [
			["xìng"],
			["guān"],
			["xì"]
		],
		"凶喘肤汗": [
			["xiōng"],
			["chuǎn"],
			["fū"],
			["hàn"]
		],
		"凶多吉少": [
			["xiōng"],
			["duō"],
			["jí"],
			["shǎo"]
		],
		"凶神恶煞": [
			["xiōng"],
			["shén"],
			["è"],
			["shà"]
		],
		"凶相毕露": [
			["xiōng"],
			["xiàng"],
			["bì"],
			["lù"]
		],
		"兄弟阋墙": [
			["xiōng"],
			["dì"],
			["xì"],
			["qiáng"]
		],
		"兄弟怡怡": [
			["xiōng"],
			["dì"],
			["yí"],
			["yí"]
		],
		"兄肥弟瘦": [
			["xiōng"],
			["féi"],
			["dì"],
			["shòu"]
		],
		"兄死弟及": [
			["xiōng"],
			["féi"],
			["dì"],
			["jí"]
		],
		"汹涌澎湃": [
			["xiōng"],
			["yǒng"],
			["péng"],
			["pài"]
		],
		"汹涌彭湃": [
			["xiōng"],
			["yǒng"],
			["péng"],
			["pai"]
		],
		"汹涌淜湃": [
			["xiōng"],
			["yǒng"],
			["péng"],
			["pai"]
		],
		"胸怀大志": [
			["xiōng"],
			["huái"],
			["dà"],
			["zhì"]
		],
		"胸无大志": [
			["xiōng"],
			["wú"],
			["dà"],
			["zhì"]
		],
		"胸怀磊落": [
			["xiōng"],
			["huái"],
			["lěi"],
			["luò"]
		],
		"胸无宿物": [
			["xiōng"],
			["wú"],
			["sù"],
			["wù"]
		],
		"胸有成略": [
			["xiōng"],
			["yǒu"],
			["chéng"],
			["lüè"]
		],
		"胸有城府": [
			["xiōng"],
			["yǒu"],
			["chéng"],
			["fǔ"]
		],
		"胸有成竹": [
			["xiōng"],
			["yǒu"],
			["chéng"],
			["zhú"]
		],
		"胸有成算": [
			["xiōng"],
			["yǒu"],
			["chéng"],
			["suàn"]
		],
		"胸有鳞甲": [
			["xiōng"],
			["yǒu"],
			["lín"],
			["jiǎ"]
		],
		"胸有丘壑": [
			["xiōng"],
			["yǒu"],
			["qiū"],
			["hè"]
		],
		"胸有邱壑": [
			["xiōng"],
			["yǒu"],
			["qiū"],
			["hè"]
		],
		"胸有悬镜": [
			["xiōng"],
			["yǒu"],
			["xuán"],
			["jìng"]
		],
		"胸中甲兵": [
			["xiōng"],
			["zhōng"],
			["jiǎ"],
			["bīng"]
		],
		"胸中垒块": [
			["xiōng"],
			["zhōng"],
			["lěi"],
			["kuài"]
		],
		"胸中鳞甲": [
			["xiōng"],
			["zhōng"],
			["lín"],
			["jiǎ"]
		],
		"胸中万卷": [
			["xiōng"],
			["zhōng"],
			["wàn"],
			["juàn"]
		],
		"胸中无数": [
			["xiōng"],
			["zhōng"],
			["wú"],
			["shù"]
		],
		"胸中有数": [
			["xiōng"],
			["zhōng"],
			["yǒu"],
			["shù"]
		],
		"雄才大略": [
			["xióng"],
			["cái"],
			["dà"],
			["lüè"]
		],
		"雄材大略": [
			["xióng"],
			["cái"],
			["dà"],
			["lüè"]
		],
		"雄唱雌和": [
			["xióng"],
			["chàng"],
			["cí"],
			["hé"]
		],
		"雄鸡断尾": [
			["xióng"],
			["jī"],
			["duàn"],
			["wěi"]
		],
		"雄文大手": [
			["xióng"],
			["wén"],
			["dà"],
			["shǒu"]
		],
		"雄伟壮观": [
			["xióng"],
			["wěi"],
			["zhuàng"],
			["guān"]
		],
		"雄心勃勃": [
			["xióng"],
			["xīn"],
			["bó"],
			["bó"]
		],
		"熊据虎跱": [
			["xióng"],
			["jù"],
			["hǔ"],
			["shēn"]
		],
		"雄姿英发": [
			["xióng"],
			["zī"],
			["yīng"],
			["fā"]
		],
		"熊罴百万": [
			["xióng"],
			["pí"],
			["bǎi"],
			["wàn"]
		],
		"熊腰虎背": [
			["xióng"],
			["yāo"],
			["hǔ"],
			["bèi"]
		],
		"休兵罢战": [
			["xiū"],
			["bīng"],
			["bà"],
			["zhàn"]
		],
		"休耕地": [
			["xiū"],
			["gēng"],
			["dì"]
		],
		"休明盛世": [
			["xiū"],
			["míng"],
			["shèng"],
			["shì"]
		],
		"休牛归马": [
			["xiū"],
			["niú"],
			["guī"],
			["mǎ"]
		],
		"休牛散马": [
			["xiū"],
			["niú"],
			["sàn"],
			["mǎ"]
		],
		"休戚相关": [
			["xiū"],
			["qī"],
			["xiāng"],
			["guān"]
		],
		"休戚与共": [
			["xiū"],
			["qī"],
			["yǔ"],
			["gòng"]
		],
		"休声美誉": [
			["xiū"],
			["shēng"],
			["měi"],
			["yù"]
		],
		"休休有容": [
			["xiū"],
			["xiū"],
			["yǒu"],
			["róng"]
		],
		"休养所": [
			["xiū"],
			["yǎng"],
			["suǒ"]
		],
		"休止符": [
			["xiū"],
			["zhǐ"],
			["fú"]
		],
		"修短随化": [
			["xiū"],
			["duǎn"],
			["suí"],
			["huà"]
		],
		"修鳞养爪": [
			["xiū"],
			["lín"],
			["yǎng"],
			["zhǎo"]
		],
		"修齐治平": [
			["xiū"],
			["qí"],
			["zhì"],
			["píng"]
		],
		"修身洁行": [
			["xiū"],
			["shēn"],
			["jié"],
			["xíng"]
		],
		"修正主义": [
			["xiū"],
			["zhèng"],
			["zhǔ"],
			["yì"]
		],
		"羞答答": [
			["xiū"],
			["dā"],
			["dā"]
		],
		"羞面见人": [
			["xiū"],
			["miàn"],
			["jiàn"],
			["rén"]
		],
		"羞人答答": [
			["xiū"],
			["rén"],
			["dā"],
			["dā"]
		],
		"羞羞答答": [
			["xiū"],
			["xiū"],
			["dā"],
			["dā"]
		],
		"羞与哙伍": [
			["xiū"],
			["yǔ"],
			["kuài"],
			["wǔ"]
		],
		"羞与为伍": [
			["xiū"],
			["yǔ"],
			["wéi"],
			["wǔ"]
		],
		"朽骨重肉": [
			["xiǔ"],
			["gǔ"],
			["zhòng"],
			["ròu"]
		],
		"朽棘不彫": [
			["xiǔ"],
			["jí"],
			["bù"],
			["diāo"]
		],
		"朽棘不雕": [
			["xiǔ"],
			["jí"],
			["bù"],
			["diāo"]
		],
		"朽木不雕": [
			["xiǔ"],
			["mù"],
			["bù"],
			["diāo"]
		],
		"休养生息": [
			["xiū"],
			["yǎng"],
			["shēng"],
			["xī"]
		],
		"朽木不可雕": [
			["xiǔ"],
			["mù"],
			["bù"],
			["kě"],
			["diāo"]
		],
		"朽木难彫": [
			["xiǔ"],
			["mù"],
			["nán"],
			["diāo"]
		],
		"朽木难雕": [
			["xiǔ"],
			["mù"],
			["nán"],
			["diāo"]
		],
		"朽条腐索": [
			["xiǔ"],
			["tiáo"],
			["fǔ"],
			["suǒ"]
		],
		"秀出班行": [
			["xiù"],
			["chū"],
			["bān"],
			["háng"]
		],
		"秀而不实": [
			["xiù"],
			["ér"],
			["bù"],
			["shí"]
		],
		"秀色可餐": [
			["xiù"],
			["sè"],
			["kě"],
			["cān"]
		],
		"秀外慧中": [
			["xiù"],
			["wài"],
			["huì"],
			["zhōng"]
		],
		"绣花枕头": [
			["xiù"],
			["huā"],
			["zhěn"],
			["tóu"]
		],
		"袖手旁观": [
			["xiù"],
			["shǒu"],
			["páng"],
			["guān"]
		],
		"褎然冠首": [
			["yòu"],
			["rán"],
			["guàn"],
			["shǒu"]
		],
		"须发皆白": [
			["xū"],
			["fà"],
			["jiē"],
			["bái"]
		],
		"须弥芥子": [
			["xū"],
			["mí"],
			["jiè"],
			["zǐ"]
		],
		"虚词诡说": [
			["xū"],
			["cí"],
			["guǐ"],
			["shuō"]
		],
		"虚度年华": [
			["xū"],
			["dù"],
			["nián"],
			["huá"]
		],
		"虚废词说": [
			["xū"],
			["fèi"],
			["cí"],
			["shuō"]
		],
		"虚晃一枪": [
			["xiù"],
			["huàng"],
			["yī"],
			["qiāng"]
		],
		"虚怀若谷": [
			["xū"],
			["huái"],
			["ruò"],
			["gǔ"]
		],
		"虚论高议": [
			["xū"],
			["lùn"],
			["gāo"],
			["yì"]
		],
		"虚情假意": [
			["xū"],
			["qíng"],
			["jiǎ"],
			["yì"]
		],
		"虚位以待": [
			["xū"],
			["wèi"],
			["yǐ"],
			["dài"]
		],
		"虚无缥缈": [
			["xū"],
			["wú"],
			["piāo"],
			["miǎo"]
		],
		"虚有其表": [
			["xū"],
			["yǒu"],
			["qí"],
			["biǎo"]
		],
		"虚应故事": [
			["xū"],
			["yìng"],
			["gù"],
			["shì"]
		],
		"虚舟飘瓦": [
			["xū"],
			["zhōu"],
			["piāo"],
			["wǎ"]
		],
		"虚与委蛇": [
			["xū"],
			["yǔ"],
			["wēi"],
			["yí"]
		],
		"虚左以待": [
			["xū"],
			["zuǒ"],
			["yǐ"],
			["dài"]
		],
		"嘘寒问暖": [
			["xū"],
			["hán"],
			["wèn"],
			["nuǎn"]
		],
		"嘘枯吹生": [
			["xū"],
			["kū"],
			["chuī"],
			["shēng"]
		],
		"需沙出穴": [
			["xū"],
			["shā"],
			["chū"],
			["xué"]
		],
		"魆风骤雨": [
			["zhuō"],
			["fēng"],
			["zhòu"],
			["yǔ"]
		],
		"呴湿濡沫": [
			["xǔ"],
			["shī"],
			["rú"],
			["mò"]
		],
		"许可证": [
			["xǔ"],
			["kě"],
			["zhèng"]
		],
		"序数词": [
			["xù"],
			["shù"],
			["cí"]
		],
		"畜牧场": [
			["xù"],
			["mù"],
			["chǎng"]
		],
		"畜牧业": [
			["xù"],
			["mù"],
			["yè"]
		],
		"畜妻养子": [
			["xù"],
			["qī"],
			["yǎng"],
			["zǐ"]
		],
		"絮絮叨叨": [
			["xù"],
			["xù"],
			["dāo"],
			["dāo"]
		],
		"轩盖如云": [
			["xuān"],
			["gài"],
			["rú"],
			["yún"]
		],
		"轩鹤冠猴": [
			["xuān"],
			["hè"],
			["guàn"],
			["hóu"]
		],
		"轩然大波": [
			["xuān"],
			["rán"],
			["dà"],
			["bō"]
		],
		"轩轩甚得": [
			["xuān"],
			["xuān"],
			["shèn"],
			["dé"]
		],
		"轩轾不分": [
			["xuān"],
			["zhì"],
			["bù"],
			["fēn"]
		],
		"宣传弹": [
			["xuān"],
			["chuán"],
			["dàn"]
		],
		"宣传队": [
			["xuān"],
			["chuán"],
			["duì"]
		],
		"宣传画": [
			["xuān"],
			["chuán"],
			["huà"]
		],
		"宣传品": [
			["xuān"],
			["chuán"],
			["pǐn"]
		],
		"宣化承流": [
			["xuān"],
			["huà"],
			["chéng"],
			["liú"]
		],
		"揎拳裸臂": [
			["xuān"],
			["quán"],
			["luǒ"],
			["bì"]
		],
		"揎拳捋袖": [
			["xuān"],
			["quán"],
			["luō"],
			["xiù"]
		],
		"揎拳捰袖": [
			["xuān"],
			["quán"],
			["lǒng"],
			["xiù"]
		],
		"揎腕攘臂": [
			["xuān"],
			["wàn"],
			["rǎng"],
			["bì"]
		],
		"玄辞冷语": [
			["xuán"],
			["cí"],
			["lěng"],
			["yǔ"]
		],
		"玄妙莫测": [
			["xuán"],
			["miào"],
			["mò"],
			["cè"]
		],
		"悬肠挂肚": [
			["xuán"],
			["cháng"],
			["guà"],
			["dù"]
		],
		"悬车束马": [
			["xuán"],
			["chē"],
			["shù"],
			["mǎ"]
		],
		"悬车告老": [
			["xuán"],
			["chē"],
			["gào"],
			["lǎo"]
		],
		"悬车之年": [
			["xuán"],
			["chē"],
			["zhī"],
			["nián"]
		],
		"悬车之岁": [
			["xuán"],
			["chē"],
			["zhī"],
			["suì"]
		],
		"悬车致仕": [
			["xuán"],
			["chē"],
			["zhì"],
			["shì"]
		],
		"悬灯结彩": [
			["xuán"],
			["dēng"],
			["jié"],
			["cǎi"]
		],
		"悬鹑百结": [
			["xuán"],
			["chún"],
			["bǎi"],
			["jié"]
		],
		"悬龟系鱼": [
			["xuán"],
			["guī"],
			["jì"],
			["yú"]
		],
		"悬鼓待椎": [
			["xuán"],
			["gǔ"],
			["dài"],
			["zhuī"]
		],
		"悬狟素飡": [
			["xuán"],
			["huán"],
			["sù"],
			["kòu"]
		],
		"悬剑空垄": [
			["xuán"],
			["jiàn"],
			["kōng"],
			["lǒng"]
		],
		"悬旌万里": [
			["xuán"],
			["jīng"],
			["wàn"],
			["lǐ"]
		],
		"悬梁刺股": [
			["xuán"],
			["liáng"],
			["cì"],
			["gǔ"]
		],
		"悬梁刺骨": [
			["xuán"],
			["liáng"],
			["cì"],
			["gǔ"]
		],
		"悬石程书": [
			["xuán"],
			["dàn"],
			["chéng"],
			["shū"]
		],
		"悬若日月": [
			["xuán"],
			["ruò"],
			["rì"],
			["yuè"]
		],
		"悬首吴阙": [
			["xuán"],
			["shǒu"],
			["wú"],
			["què"]
		],
		"悬头刺股": [
			["xuán"],
			["tóu"],
			["cì"],
			["gǔ"]
		],
		"悬驼就石": [
			["xuán"],
			["tuó"],
			["jiù"],
			["shí"]
		],
		"悬崖勒马": [
			["xuán"],
			["yá"],
			["lè"],
			["mǎ"]
		],
		"悬崖撒手": [
			["xuán"],
			["yá"],
			["sā"],
			["shǒu"]
		],
		"悬崖转石": [
			["xuán"],
			["yá"],
			["zhuǎn"],
			["shí"]
		],
		"旋得旋失": [
			["xuán"],
			["dé"],
			["xuán"],
			["shī"]
		],
		"旋干转坤": [
			["xuán"],
			["qián"],
			["zhuǎn"],
			["kūn"]
		],
		"旋乾转坤": [
			["xuán"],
			["qián"],
			["zhuǎn"],
			["kūn"]
		],
		"旋生旋灭": [
			["xuán"],
			["shēng"],
			["xuán"],
			["miè"]
		],
		"旋转干坤": [
			["xuán"],
			["zhuǎn"],
			["gàn"],
			["kūn"]
		],
		"旋转乾坤": [
			["xuán"],
			["zhuǎn"],
			["qián"],
			["kūn"]
		],
		"璇霄丹阙": [
			["xuán"],
			["xiāo"],
			["dān"],
			["què"]
		],
		"璇霄丹台": [
			["xuán"],
			["xiāo"],
			["dān"],
			["tái"]
		],
		"选贤任能": [
			["xuǎn"],
			["xián"],
			["rèn"],
			["néng"]
		],
		"选贤举能": [
			["xuǎn"],
			["xián"],
			["jǔ"],
			["néng"]
		],
		"选贤与能": [
			["xuǎn"],
			["xián"],
			["yǔ"],
			["néng"]
		],
		"选择性": [
			["xuǎn"],
			["zé"],
			["xìng"]
		],
		"炫奇争胜": [
			["xuàn"],
			["qí"],
			["zhēng"],
			["shèng"]
		],
		"炫石为玉": [
			["xuàn"],
			["shí"],
			["wéi"],
			["yù"]
		],
		"炫巧斗妍": [
			["xuàn"],
			["qiǎo"],
			["dòu"],
			["yán"]
		],
		"炫异争奇": [
			["xuàn"],
			["yì"],
			["zhēng"],
			["qí"]
		],
		"炫玉贾石": [
			["xuàn"],
			["yù"],
			["gǔ"],
			["shí"]
		],
		"绚丽多彩": [
			["xuàn"],
			["lì"],
			["duō"],
			["cǎi"]
		],
		"眩碧成朱": [
			["xuàn"],
			["bì"],
			["chéng"],
			["zhū"]
		],
		"衒玉贾石": [
			["zuì"],
			["yù"],
			["jiǎ"],
			["shí"]
		],
		"穴居野处": [
			["xué"],
			["jū"],
			["yě"],
			["chǔ"]
		],
		"学分制": [
			["xué"],
			["fēn"],
			["zhì"]
		],
		"学而不厌": [
			["xué"],
			["ér"],
			["bù"],
			["yàn"]
		],
		"学富五车": [
			["xué"],
			["fù"],
			["wǔ"],
			["chē"]
		],
		"学贯中西": [
			["xué"],
			["guàn"],
			["zhōng"],
			["xī"]
		],
		"学前教育": [
			["xué"],
			["qián"],
			["jiào"],
			["yù"]
		],
		"学浅才疏": [
			["xué"],
			["qiǎn"],
			["cái"],
			["shū"]
		],
		"学识渊博": [
			["xué"],
			["shí"],
			["yuān"],
			["bó"]
		],
		"学疏才浅": [
			["xué"],
			["shū"],
			["cái"],
			["qiǎn"]
		],
		"学术界": [
			["xué"],
			["shù"],
			["jiè"]
		],
		"雪茄": [["xuě"], ["jiā"]],
		"雪北香南": [
			["xuě"],
			["běi"],
			["xiāng"],
			["nán"]
		],
		"雪耻报仇": [
			["xuě"],
			["chǐ"],
			["bào"],
			["chóu"]
		],
		"雪窗萤几": [
			["xuě"],
			["chuāng"],
			["yíng"],
			["jǐ"]
		],
		"雪鸿指爪": [
			["xuě"],
			["hóng"],
			["zhǐ"],
			["zhǎo"]
		],
		"雪泥鸿迹": [
			["xuě"],
			["ní"],
			["hóng"],
			["jì"]
		],
		"雪泥鸿爪": [
			["xuě"],
			["ní"],
			["hóng"],
			["zhǎo"]
		],
		"雪上加霜": [
			["xuě"],
			["shàng"],
			["jiā"],
			["shuāng"]
		],
		"雪虐风饕": [
			["xuě"],
			["nüè"],
			["fēng"],
			["tāo"]
		],
		"雪月风花": [
			["xuě"],
			["yuè"],
			["fēng"],
			["huā"]
		],
		"雪胎梅骨": [
			["xuě"],
			["tāi"],
			["méi"],
			["gǔ"]
		],
		"雪中鸿爪": [
			["xuě"],
			["zhōng"],
			["hóng"],
			["zhǎo"]
		],
		"雪中送炭": [
			["xuě"],
			["zhōng"],
			["sòng"],
			["tàn"]
		],
		"血风肉雨": [
			["xuè"],
			["fēng"],
			["ròu"],
			["yǔ"]
		],
		"血光之灾": [
			["xuè"],
			["guāng"],
			["zhī"],
			["zāi"]
		],
		"血海深仇": [
			["xuè"],
			["hǎi"],
			["shēn"],
			["chóu"]
		],
		"血红蛋白": [
			["xuè"],
			["hóng"],
			["dàn"],
			["bái"]
		],
		"血糊糊": [
			["xiě"],
			["hū"],
			["hū"]
		],
		"血口喷人": [
			["xuè"],
			["kǒu"],
			["pēn"],
			["rén"]
		],
		"血迹斑斑": [
			["xuè"],
			["jì"],
			["bān"],
			["bān"]
		],
		"血泪斑斑": [
			["xuè"],
			["lèi"],
			["bān"],
			["bān"]
		],
		"血泪盈襟": [
			["xuè"],
			["lèi"],
			["yíng"],
			["jīn"]
		],
		"血淋淋": [
			["xiě"],
			["lín"],
			["lín"]
		],
		"血流成渠": [
			["xuè"],
			["liú"],
			["chéng"],
			["qú"]
		],
		"血流成河": [
			["xuè"],
			["liú"],
			["chéng"],
			["hé"]
		],
		"血流漂杵": [
			["xuè"],
			["liú"],
			["piāo"],
			["chǔ"]
		],
		"血流如注": [
			["xuè"],
			["liú"],
			["rú"],
			["zhù"]
		],
		"血盆大口": [
			["xuè"],
			["pén"],
			["dà"],
			["kǒu"]
		],
		"血染沙场": [
			["xuè"],
			["rǎn"],
			["shā"],
			["chǎng"]
		],
		"血气方刚": [
			["xuè"],
			["qì"],
			["fāng"],
			["gāng"]
		],
		"血肉模糊": [
			["xuè"],
			["ròu"],
			["mó"],
			["hu"]
		],
		"血肉横飞": [
			["xuè"],
			["ròu"],
			["héng"],
			["fēi"]
		],
		"血肉相联": [
			["xuè"],
			["ròu"],
			["xiāng"],
			["lián"]
		],
		"血肉相连": [
			["xuè"],
			["ròu"],
			["xiāng"],
			["lián"]
		],
		"血吸虫": [
			["xuè"],
			["xī"],
			["chóng"]
		],
		"血细胞": [
			["xuè"],
			["xì"],
			["bāo"]
		],
		"血小板": [
			["xuè"],
			["xiǎo"],
			["bǎn"]
		],
		"血性男儿": [
			["xuè"],
			["xìng"],
			["nán"],
			["ér"]
		],
		"血友病": [
			["xuè"],
			["yǒu"],
			["bìng"]
		],
		"血压计": [
			["xuè"],
			["yā"],
			["jì"]
		],
		"血液病": [
			["xuè"],
			["yè"],
			["bìng"]
		],
		"血雨腥风": [
			["xuè"],
			["yǔ"],
			["xīng"],
			["fēng"]
		],
		"血缘关系": [
			["xuè"],
			["yuán"],
			["guān"],
			["xì"]
		],
		"血债累累": [
			["xuè"],
			["zhài"],
			["lěi"],
			["lěi"]
		],
		"血战到底": [
			["xuè"],
			["zhàn"],
			["dào"],
			["dǐ"]
		],
		"谑而不虐": [
			["xuè"],
			["ér"],
			["bù"],
			["nüè"]
		],
		"熏风解愠": [
			["xūn"],
			["fēng"],
			["jiě"],
			["yùn"]
		],
		"埙篪相和": [
			["xūn"],
			["chí"],
			["xiāng"],
			["hè"]
		],
		"熏陶成性": [
			["xūn"],
			["táo"],
			["chéng"],
			["xìng"]
		],
		"熏天赫地": [
			["xūn"],
			["tiān"],
			["hè"],
			["dì"]
		],
		"熏莸不同器": [
			["xún"],
			["yóu"],
			["bù"],
			["tóng"],
			["qì"]
		],
		"熏莸同器": [
			["xún"],
			["yóu"],
			["tóng"],
			["qì"]
		],
		"熏蒸剂": [
			["xūn"],
			["zhēng"],
			["jì"]
		],
		"薰莸不同器": [
			["xūn"],
			["yóu"],
			["bù"],
			["tóng"],
			["qì"]
		],
		"薰天赫地": [
			["xūn"],
			["tiān"],
			["hè"],
			["dì"]
		],
		"薰莸同器": [
			["xūn"],
			["yóu"],
			["tóng"],
			["qì"]
		],
		"寻短见": [
			["xún"],
			["duǎn"],
			["jiàn"]
		],
		"寻风捉影": [
			["xún"],
			["fēng"],
			["zhuō"],
			["yǐng"]
		],
		"寻根究底": [
			["xún"],
			["gēn"],
			["jiū"],
			["dǐ"]
		],
		"寻根问底": [
			["xún"],
			["gēn"],
			["wèn"],
			["dǐ"]
		],
		"寻根追底": [
			["xún"],
			["gēn"],
			["zhuī"],
			["dǐ"]
		],
		"寻欢作乐": [
			["xún"],
			["huān"],
			["zuò"],
			["lè"]
		],
		"寻瑕伺隙": [
			["xún"],
			["xiá"],
			["sì"],
			["xì"]
		],
		"寻行数墨": [
			["xún"],
			["háng"],
			["shǔ"],
			["mò"]
		],
		"寻行逐队": [
			["xún"],
			["xíng"],
			["zhú"],
			["duì"]
		],
		"寻章摘句": [
			["xún"],
			["zhāng"],
			["zhāi"],
			["jù"]
		],
		"寻枝摘叶": [
			["xún"],
			["zhī"],
			["zhāi"],
			["yè"]
		],
		"询根问底": [
			["xún"],
			["gēn"],
			["wèn"],
			["dǐ"]
		],
		"询谋谘度": [
			["xún"],
			["móu"],
			["zī"],
			["dù"]
		],
		"询谋佥同": [
			["xún"],
			["móu"],
			["qiān"],
			["tóng"]
		],
		"循环论": [
			["xún"],
			["huán"],
			["lùn"]
		],
		"循名核实": [
			["xún"],
			["míng"],
			["hé"],
			["shí"]
		],
		"循诵习传": [
			["xún"],
			["sòng"],
			["xí"],
			["chuán"]
		],
		"循序渐进": [
			["xún"],
			["xù"],
			["jiàn"],
			["jìn"]
		],
		"训练有素": [
			["xùn"],
			["liàn"],
			["yǒu"],
			["sù"]
		],
		"迅雷不及掩耳": [
			["xùn"],
			["léi"],
			["bù"],
			["jí"],
			["yǎn"],
			["ěr"]
		],
		"迅雷风烈": [
			["xùn"],
			["léi"],
			["fēng"],
			["liè"]
		],
		"噀玉喷珠": [
			["xùn"],
			["yù"],
			["pēn"],
			["zhū"]
		],
		"压担子": [
			["yā"],
			["dàn"],
			["zi"]
		],
		"压倒元白": [
			["yā"],
			["dǎo"],
			["yuán"],
			["bái"]
		],
		"压根儿": [
			["yà"],
			["gēn"],
			["ér"]
		],
		"压肩迭背": [
			["yā"],
			["jiān"],
			["dié"],
			["bèi"]
		],
		"压肩叠背": [
			["yā"],
			["jiān"],
			["dié"],
			["bèi"]
		],
		"压卷之作": [
			["yā"],
			["juàn"],
			["zhī"],
			["zuò"]
		],
		"压力锅": [
			["yā"],
			["lì"],
			["guō"]
		],
		"压路机": [
			["yā"],
			["lù"],
			["jī"]
		],
		"压良为贱": [
			["yā"],
			["liáng"],
			["wéi"],
			["jiàn"]
		],
		"压岁钱": [
			["yā"],
			["suì"],
			["qián"]
		],
		"压缩机": [
			["yā"],
			["suō"],
			["jī"]
		],
		"压缩空气": [
			["yā"],
			["suō"],
			["kōng"],
			["qì"]
		],
		"压台戏": [
			["yā"],
			["tái"],
			["xì"]
		],
		"压雪求油": [
			["yā"],
			["xuě"],
			["qiú"],
			["yóu"]
		],
		"压寨夫人": [
			["yā"],
			["zhài"],
			["fū"],
			["rén"]
		],
		"压轴戏": [
			["yā"],
			["zhòu"],
			["xì"]
		],
		"鸦飞雀乱": [
			["yā"],
			["fēi"],
			["què"],
			["luàn"]
		],
		"鸦没鹊静": [
			["yā"],
			["méi"],
			["què"],
			["jìng"]
		],
		"鸦默雀静": [
			["yā"],
			["mò"],
			["què"],
			["jìng"]
		],
		"鸦片战争": [
			["yā"],
			["piàn"],
			["zhàn"],
			["zhēng"]
		],
		"鸦雀无声": [
			["yā"],
			["què"],
			["wú"],
			["shēng"]
		],
		"鸦雀无闻": [
			["yā"],
			["què"],
			["wú"],
			["wén"]
		],
		"鸭步鹅行": [
			["yā"],
			["bù"],
			["é"],
			["xíng"]
		],
		"鸭绿江": [
			["yā"],
			["lù"],
			["jiāng"]
		],
		"鸭行鹅步": [
			["yā"],
			["xíng"],
			["é"],
			["bù"]
		],
		"牙签万轴": [
			["yá"],
			["qiān"],
			["wàn"],
			["zhóu"]
		],
		"牙签锦轴": [
			["yá"],
			["qiān"],
			["jǐn"],
			["zhóu"]
		],
		"牙签玉轴": [
			["yá"],
			["qiān"],
			["yù"],
			["zhóu"]
		],
		"牙签犀轴": [
			["yá"],
			["qiān"],
			["xī"],
			["zhóu"]
		],
		"牙牙学语": [
			["yá"],
			["yá"],
			["xué"],
			["yǔ"]
		],
		"哑巴吃黄连": [
			["yǎ"],
			["bā"],
			["chī"],
			["huáng"],
			["lián"]
		],
		"哑口无言": [
			["yǎ"],
			["kǒu"],
			["wú"],
			["yán"]
		],
		"哑口无声": [
			["yǎ"],
			["kǒu"],
			["wú"],
			["shēng"]
		],
		"哑巴亏": [
			["yǎ"],
			["bā"],
			["kuī"]
		],
		"哑然失笑": [
			["yǎ"],
			["rán"],
			["shī"],
			["xiào"]
		],
		"哑子吃黄连": [
			["yǎ"],
			["zǐ"],
			["chī"],
			["huáng"],
			["lián"]
		],
		"哑子托梦": [
			["yǎ"],
			["zǐ"],
			["tuō"],
			["mèng"]
		],
		"哑子做梦": [
			["yǎ"],
			["zǐ"],
			["zuò"],
			["mèng"]
		],
		"哑子寻梦": [
			["yǎ"],
			["zǐ"],
			["xún"],
			["mèng"]
		],
		"雅典娜": [
			["yǎ"],
			["diǎn"],
			["nà"]
		],
		"雅量高致": [
			["yǎ"],
			["liàng"],
			["gāo"],
			["zhì"]
		],
		"雅鲁藏布江": [
			["yǎ"],
			["lǔ"],
			["cáng"],
			["bù"],
			["jiāng"]
		],
		"雅雀无声": [
			["yǎ"],
			["què"],
			["wú"],
			["shēng"]
		],
		"雅俗共赏": [
			["yǎ"],
			["sú"],
			["gòng"],
			["shǎng"]
		],
		"亚得里亚海": [
			["yà"],
			["de"],
			["lǐ"],
			["yà"],
			["hǎi"]
		],
		"亚肩迭背": [
			["yà"],
			["jiān"],
			["dié"],
			["bèi"]
		],
		"亚非拉": [
			["yà"],
			["fēi"],
			["lā"]
		],
		"亚肩叠背": [
			["yà"],
			["jiān"],
			["dié"],
			["bèi"]
		],
		"亚马孙河": [
			["yà"],
			["mǎ"],
			["sūn"],
			["hé"]
		],
		"亚太地区": [
			["yà"],
			["tài"],
			["dì"],
			["qū"]
		],
		"揠苗助长": [
			["yà"],
			["miáo"],
			["zhù"],
			["zhǎng"]
		],
		"咽苦吐甘": [
			["yàn"],
			["kǔ"],
			["tǔ"],
			["gān"]
		],
		"咽苦吞甘": [
			["yàn"],
			["kǔ"],
			["tūn"],
			["gān"]
		],
		"咽峡炎": [
			["yān"],
			["xiá"],
			["yán"]
		],
		"烟不出火不进": [
			["yān"],
			["bù"],
			["chū"],
			["huǒ"],
			["bù"],
			["jìn"]
		],
		"烟飞星散": [
			["yān"],
			["fēi"],
			["xīng"],
			["sàn"]
		],
		"烟霏雨散": [
			["yān"],
			["fēi"],
			["yǔ"],
			["sàn"]
		],
		"烟花风月": [
			["yān"],
			["huā"],
			["fēng"],
			["yuè"]
		],
		"烟聚波属": [
			["yān"],
			["jù"],
			["bō"],
			["shǔ"]
		],
		"烟卷儿": [
			["yān"],
			["juǎn"],
			["ér"]
		],
		"烟幕弹": [
			["yān"],
			["mù"],
			["dàn"]
		],
		"烟视媚行": [
			["yān"],
			["shì"],
			["mèi"],
			["xíng"]
		],
		"烟蓑雨笠": [
			["yān"],
			["suō"],
			["yǔ"],
			["lì"]
		],
		"烟消雾散": [
			["yān"],
			["xiāo"],
			["wù"],
			["sàn"]
		],
		"烟消云散": [
			["yān"],
			["xiāo"],
			["yún"],
			["sàn"]
		],
		"烟熏火燎": [
			["yān"],
			["xūn"],
			["huǒ"],
			["liǎo"]
		],
		"烟云过眼": [
			["yān"],
			["yún"],
			["guò"],
			["yǎn"]
		],
		"淹会贯通": [
			["yān"],
			["huì"],
			["guàn"],
			["tōng"]
		],
		"湮没无闻": [
			["yān"],
			["mò"],
			["wú"],
			["wén"]
		],
		"嫣红姹紫": [
			["yān"],
			["hóng"],
			["chà"],
			["zǐ"]
		],
		"蔫儿坏": [
			["niān"],
			["ér"],
			["huài"]
		],
		"蔫头耷脑": [
			["niān"],
			["tóu"],
			["dā"],
			["nǎo"]
		],
		"延津剑合": [
			["yán"],
			["jīn"],
			["jiàn"],
			["hé"]
		],
		"延津之合": [
			["yán"],
			["jīn"],
			["zhī"],
			["hé"]
		],
		"延颈鹤望": [
			["yán"],
			["jǐng"],
			["hè"],
			["wàng"]
		],
		"延颈举踵": [
			["yán"],
			["jǐng"],
			["jǔ"],
			["zhǒng"]
		],
		"延颈跂踵": [
			["yán"],
			["jǐng"],
			["qǐ"],
			["zhǒng"]
		],
		"延颈企踵": [
			["yán"],
			["jǐng"],
			["qǐ"],
			["zhǒng"]
		],
		"严陈以待": [
			["yán"],
			["chén"],
			["yǐ"],
			["dài"]
		],
		"严惩不贷": [
			["yán"],
			["chéng"],
			["bù"],
			["dài"]
		],
		"严家饿隶": [
			["yán"],
			["jiā"],
			["è"],
			["lì"]
		],
		"严气正性": [
			["yán"],
			["qì"],
			["zhèng"],
			["xìng"]
		],
		"严丝合缝": [
			["yán"],
			["sī"],
			["hé"],
			["fèng"]
		],
		"严阵以待": [
			["yán"],
			["zhèn"],
			["yǐ"],
			["dài"]
		],
		"妍蚩好恶": [
			["yán"],
			["chī"],
			["hǎo"],
			["è"]
		],
		"言必有据": [
			["yán"],
			["bì"],
			["yǒu"],
			["jù"]
		],
		"言必有物": [
			["yán"],
			["bì"],
			["yǒu"],
			["wù"]
		],
		"言不达意": [
			["yán"],
			["bù"],
			["dá"],
			["yì"]
		],
		"言必有中": [
			["yán"],
			["bì"],
			["yǒu"],
			["zhòng"]
		],
		"言不逮意": [
			["yán"],
			["bù"],
			["dǎi"],
			["yì"]
		],
		"言不二价": [
			["yán"],
			["bù"],
			["èr"],
			["jià"]
		],
		"言不顾行": [
			["yán"],
			["bù"],
			["gù"],
			["xíng"]
		],
		"言不及行": [
			["yán"],
			["bù"],
			["jí"],
			["xíng"]
		],
		"言不及义": [
			["yán"],
			["bù"],
			["jí"],
			["yì"]
		],
		"言不尽意": [
			["yán"],
			["bù"],
			["jìn"],
			["yì"]
		],
		"言不由中": [
			["yán"],
			["bù"],
			["yóu"],
			["zhōng"]
		],
		"言差语错": [
			["yán"],
			["chà"],
			["yǔ"],
			["cuò"]
		],
		"言出祸从": [
			["yán"],
			["chū"],
			["huò"],
			["cóng"]
		],
		"言不由衷": [
			["yán"],
			["bù"],
			["yóu"],
			["zhōng"]
		],
		"言传身教": [
			["yán"],
			["chuán"],
			["shēn"],
			["jiào"]
		],
		"言从计纳": [
			["yán"],
			["cóng"],
			["jì"],
			["nà"]
		],
		"言从计听": [
			["yán"],
			["cóng"],
			["jì"],
			["tīng"]
		],
		"言从计行": [
			["yán"],
			["cóng"],
			["jì"],
			["xíng"]
		],
		"言颠语倒": [
			["yán"],
			["diān"],
			["yǔ"],
			["dǎo"]
		],
		"言多伤行": [
			["yán"],
			["duō"],
			["shāng"],
			["xíng"]
		],
		"言多语失": [
			["yán"],
			["duō"],
			["yǔ"],
			["shī"]
		],
		"言而不信": [
			["yán"],
			["ér"],
			["bù"],
			["xìn"]
		],
		"言而无信": [
			["yán"],
			["ér"],
			["wú"],
			["xìn"]
		],
		"言而有信": [
			["yán"],
			["ér"],
			["yǒu"],
			["xìn"]
		],
		"言发祸随": [
			["yán"],
			["fā"],
			["huò"],
			["suí"]
		],
		"言方行圆": [
			["yán"],
			["fāng"],
			["xíng"],
			["yuán"]
		],
		"言芳行洁": [
			["yán"],
			["fāng"],
			["xíng"],
			["jié"]
		],
		"言高语低": [
			["yán"],
			["gāo"],
			["yǔ"],
			["dī"]
		],
		"言归于好": [
			["yán"],
			["guī"],
			["yú"],
			["hǎo"]
		],
		"言归和好": [
			["yán"],
			["guī"],
			["hé"],
			["hǎo"]
		],
		"言归正传": [
			["yán"],
			["guī"],
			["zhèng"],
			["zhuàn"]
		],
		"言过其实": [
			["yán"],
			["guò"],
			["qí"],
			["shí"]
		],
		"言和意顺": [
			["yán"],
			["hé"],
			["yì"],
			["shùn"]
		],
		"言简意少": [
			["yán"],
			["jiǎn"],
			["yì"],
			["shǎo"]
		],
		"言近意远": [
			["yán"],
			["jìn"],
			["yì"],
			["yuǎn"]
		],
		"言近旨远": [
			["yán"],
			["jìn"],
			["zhǐ"],
			["yuǎn"]
		],
		"言近指远": [
			["yán"],
			["jìn"],
			["zhǐ"],
			["yuǎn"]
		],
		"言来语去": [
			["yán"],
			["lái"],
			["yǔ"],
			["qù"]
		],
		"言论风生": [
			["yán"],
			["lùn"],
			["fēng"],
			["shēng"]
		],
		"言清行浊": [
			["yán"],
			["qīng"],
			["xíng"],
			["zhuó"]
		],
		"言若悬河": [
			["yán"],
			["ruò"],
			["xuán"],
			["hé"]
		],
		"言三语四": [
			["yán"],
			["sān"],
			["yǔ"],
			["sì"]
		],
		"言提其耳": [
			["yán"],
			["tí"],
			["qí"],
			["ěr"]
		],
		"言听计从": [
			["yán"],
			["tīng"],
			["jì"],
			["cóng"]
		],
		"言听计行": [
			["yán"],
			["tīng"],
			["jì"],
			["xíng"]
		],
		"言听事行": [
			["yán"],
			["tīng"],
			["shì"],
			["xíng"]
		],
		"言听行从": [
			["yán"],
			["tīng"],
			["xíng"],
			["cóng"]
		],
		"言为心声": [
			["yán"],
			["wéi"],
			["xīn"],
			["shēng"]
		],
		"言文行远": [
			["yán"],
			["wén"],
			["xíng"],
			["yuǎn"]
		],
		"言无不尽": [
			["yán"],
			["wú"],
			["bù"],
			["jìn"]
		],
		"言无二价": [
			["yán"],
			["wú"],
			["èr"],
			["jià"]
		],
		"言笑不苟": [
			["yán"],
			["xiào"],
			["bù"],
			["gǒu"]
		],
		"言笑自若": [
			["yán"],
			["xiào"],
			["zì"],
			["ruò"]
		],
		"言信行果": [
			["yán"],
			["xìn"],
			["xíng"],
			["guǒ"]
		],
		"言行抱一": [
			["yán"],
			["xíng"],
			["bào"],
			["yī"]
		],
		"言行不符": [
			["yán"],
			["xíng"],
			["bù"],
			["fú"]
		],
		"言行不贰": [
			["yán"],
			["xíng"],
			["bù"],
			["èr"]
		],
		"言行不一": [
			["yán"],
			["xíng"],
			["bù"],
			["yī"]
		],
		"言行计从": [
			["yán"],
			["xíng"],
			["jì"],
			["cóng"]
		],
		"言行若一": [
			["yán"],
			["xíng"],
			["ruò"],
			["yī"]
		],
		"言行相悖": [
			["yán"],
			["xíng"],
			["xiāng"],
			["bèi"]
		],
		"言行相符": [
			["yán"],
			["xíng"],
			["xiāng"],
			["fú"]
		],
		"言行相副": [
			["yán"],
			["xíng"],
			["xiāng"],
			["fù"]
		],
		"言行相顾": [
			["yán"],
			["xíng"],
			["xiāng"],
			["gù"]
		],
		"言行相诡": [
			["yán"],
			["xíng"],
			["xiāng"],
			["guǐ"]
		],
		"言行信果": [
			["yán"],
			["xíng"],
			["xìn"],
			["guǒ"]
		],
		"言行一致": [
			["yán"],
			["xíng"],
			["yī"],
			["zhì"]
		],
		"言扬行举": [
			["yán"],
			["yáng"],
			["xíng"],
			["jǔ"]
		],
		"言语道断": [
			["yán"],
			["yǔ"],
			["dào"],
			["duàn"]
		],
		"言与心违": [
			["yán"],
			["yǔ"],
			["xīn"],
			["wéi"]
		],
		"言语路绝": [
			["yán"],
			["yǔ"],
			["lù"],
			["jué"]
		],
		"言语妙天下": [
			["yán"],
			["yǔ"],
			["miào"],
			["tiān"],
			["xià"]
		],
		"言约旨远": [
			["yán"],
			["yuē"],
			["zhǐ"],
			["yuǎn"]
		],
		"言者不知": [
			["yán"],
			["zhě"],
			["bù"],
			["zhī"]
		],
		"言者弗知": [
			["yán"],
			["zhě"],
			["fú"],
			["zhī"]
		],
		"言之不预": [
			["yán"],
			["zhī"],
			["bù"],
			["yù"]
		],
		"言之过甚": [
			["yán"],
			["zhī"],
			["guò"],
			["shèn"]
		],
		"言之有故": [
			["yán"],
			["zhī"],
			["yǒu"],
			["gù"]
		],
		"言之有据": [
			["yán"],
			["zhī"],
			["yǒu"],
			["jù"]
		],
		"言之有理": [
			["yán"],
			["zhī"],
			["yǒu"],
			["lǐ"]
		],
		"言之有礼": [
			["yán"],
			["zhī"],
			["yǒu"],
			["lǐ"]
		],
		"言之有物": [
			["yán"],
			["zhī"],
			["yǒu"],
			["wù"]
		],
		"言之有序": [
			["yán"],
			["zhī"],
			["yǒu"],
			["xù"]
		],
		"言中事隐": [
			["yán"],
			["zhōng"],
			["shì"],
			["yǐn"]
		],
		"言重九鼎": [
			["yán"],
			["zhòng"],
			["jiǔ"],
			["dǐng"]
		],
		"岩居川观": [
			["yán"],
			["jū"],
			["chuān"],
			["guān"]
		],
		"岩居穴处": [
			["yán"],
			["jū"],
			["xué"],
			["chǔ"]
		],
		"岩栖谷隐": [
			["yán"],
			["qī"],
			["gǔ"],
			["yǐn"]
		],
		"岩栖谷饮": [
			["yán"],
			["qī"],
			["gǔ"],
			["yǐn"]
		],
		"岩栖穴处": [
			["yán"],
			["qī"],
			["xué"],
			["chǔ"]
		],
		"沿条儿": [
			["yán"],
			["tiáo"],
			["ér"]
		],
		"炎黄子孙": [
			["yán"],
			["huáng"],
			["zǐ"],
			["sūn"]
		],
		"炎凉世态": [
			["yán"],
			["liáng"],
			["shì"],
			["tài"]
		],
		"研机综微": [
			["yán"],
			["jī"],
			["zōng"],
			["wēi"]
		],
		"研京练都": [
			["yán"],
			["jīng"],
			["liàn"],
			["dōu"]
		],
		"研经铸史": [
			["yán"],
			["jīng"],
			["zhù"],
			["shǐ"]
		],
		"研精毕智": [
			["yán"],
			["jīng"],
			["bì"],
			["zhì"]
		],
		"研精阐微": [
			["yán"],
			["jīng"],
			["chǎn"],
			["wēi"]
		],
		"研精殚力": [
			["yán"],
			["jīng"],
			["dān"],
			["lì"]
		],
		"研精殚思": [
			["yán"],
			["jīng"],
			["dān"],
			["sī"]
		],
		"研精钩深": [
			["yán"],
			["jīng"],
			["gōu"],
			["shēn"]
		],
		"研精究微": [
			["yán"],
			["jīng"],
			["jiū"],
			["wēi"]
		],
		"研精竭虑": [
			["yán"],
			["jīng"],
			["jié"],
			["lǜ"]
		],
		"研精苦思": [
			["yán"],
			["jīng"],
			["kǔ"],
			["sī"]
		],
		"研精覃思": [
			["yán"],
			["jīng"],
			["tán"],
			["sī"]
		],
		"研精致思": [
			["yán"],
			["jīng"],
			["zhì"],
			["sī"]
		],
		"研究生": [
			["yán"],
			["jiū"],
			["shēng"]
		],
		"研究所": [
			["yán"],
			["jiū"],
			["suǒ"]
		],
		"研究员": [
			["yán"],
			["jiū"],
			["yuán"]
		],
		"研桑心计": [
			["yán"],
			["sāng"],
			["xīn"],
			["jì"]
		],
		"盐碱地": [
			["yán"],
			["jiǎn"],
			["dì"]
		],
		"盐梅相成": [
			["yán"],
			["méi"],
			["xiāng"],
			["chéng"]
		],
		"颜丹鬓绿": [
			["yán"],
			["dān"],
			["bìn"],
			["lǜ"]
		],
		"颜骨柳筋": [
			["yán"],
			["gǔ"],
			["liǔ"],
			["jīn"]
		],
		"颜筋柳骨": [
			["yán"],
			["jīn"],
			["liǔ"],
			["gǔ"]
		],
		"颜精柳骨": [
			["yán"],
			["jīng"],
			["liǔ"],
			["gǔ"]
		],
		"颜面扫地": [
			["yán"],
			["miàn"],
			["sǎo"],
			["dì"]
		],
		"奄奄一息": [
			["yǎn"],
			["yǎn"],
			["yī"],
			["xī"]
		],
		"俨乎其然": [
			["yǎn"],
			["hū"],
			["qí"],
			["rán"]
		],
		"偃革倒戈": [
			["yǎn"],
			["gé"],
			["dǎo"],
			["gē"]
		],
		"偃革为轩": [
			["yǎn"],
			["gé"],
			["wéi"],
			["xuān"]
		],
		"偃旗仆鼓": [
			["yǎn"],
			["qí"],
			["pú"],
			["gǔ"]
		],
		"偃武兴文": [
			["yǎn"],
			["wǔ"],
			["xīng"],
			["wén"]
		],
		"偃武行文": [
			["yǎn"],
			["wǔ"],
			["xíng"],
			["wén"]
		],
		"偃武休兵": [
			["yǎn"],
			["wǔ"],
			["xiū"],
			["bīng"]
		],
		"掩鼻而过": [
			["yǎn"],
			["bí"],
			["ér"],
			["guò"]
		],
		"掩恶扬美": [
			["yǎn"],
			["è"],
			["yáng"],
			["měi"]
		],
		"掩恶扬善": [
			["yǎn"],
			["è"],
			["yáng"],
			["shàn"]
		],
		"掩骼埋窆": [
			["yǎn"],
			["gé"],
			["mái"],
			["biǎn"]
		],
		"掩骼埋胔": [
			["yǎn"],
			["gé"],
			["mái"],
			["zì"]
		],
		"掩过饰非": [
			["yǎn"],
			["guò"],
			["shì"],
			["fēi"]
		],
		"掩过扬善": [
			["yǎn"],
			["guò"],
			["yáng"],
			["shàn"]
		],
		"掩目捕雀": [
			["yǎn"],
			["mù"],
			["bǔ"],
			["què"]
		],
		"掩其不备": [
			["yǎn"],
			["qí"],
			["bù"],
			["bèi"]
		],
		"掩瑕藏疾": [
			["yǎn"],
			["xiá"],
			["cáng"],
			["jí"]
		],
		"掩其无备": [
			["yǎn"],
			["qí"],
			["wú"],
			["bèi"]
		],
		"掩眼捕雀": [
			["yǎn"],
			["yǎn"],
			["bǔ"],
			["què"]
		],
		"眼不见为净": [
			["yǎn"],
			["bù"],
			["jiàn"],
			["wéi"],
			["jìng"]
		],
		"眼馋肚饱": [
			["yǎn"],
			["chán"],
			["dù"],
			["bǎo"]
		],
		"眼观六路": [
			["yǎn"],
			["guān"],
			["liù"],
			["lù"]
		],
		"眼观六路，耳听八方": [
			["yǎn"],
			["guān"],
			["liù"],
			["lù"],
			["，"],
			["ěr"],
			["tīng"],
			["bā"],
			["fāng"]
		],
		"眼花撩乱": [
			["yǎn"],
			["huā"],
			["liáo"],
			["luàn"]
		],
		"眼花雀乱": [
			["yǎn"],
			["huā"],
			["què"],
			["luàn"]
		],
		"眼见得": [
			["yǎn"],
			["jiàn"],
			["de"]
		],
		"眼空四海": [
			["yǎn"],
			["kōng"],
			["sì"],
			["hǎi"]
		],
		"眼内无珠": [
			["yǎn"],
			["nèi"],
			["wú"],
			["zhū"]
		],
		"眼中拔钉": [
			["yǎn"],
			["zhōng"],
			["bá"],
			["dīng"]
		],
		"眼中钉": [
			["yǎn"],
			["zhōng"],
			["dīng"]
		],
		"眼中有铁": [
			["yǎn"],
			["zhōng"],
			["yǒu"],
			["tiě"]
		],
		"演兵场": [
			["yǎn"],
			["bīng"],
			["chǎng"]
		],
		"厌难折冲": [
			["yàn"],
			["nán"],
			["zhé"],
			["chōng"]
		],
		"宴安酖毒": [
			["yàn"],
			["ān"],
			["dān"],
			["dú"]
		],
		"宴安鸠毒": [
			["yàn"],
			["ān"],
			["jiū"],
			["dú"]
		],
		"宴安鸩毒": [
			["yàn"],
			["ān"],
			["zhèn"],
			["dú"]
		],
		"晏安酖毒": [
			["yàn"],
			["ān"],
			["dān"],
			["dú"]
		],
		"验明正身": [
			["yàn"],
			["míng"],
			["zhèng"],
			["shēn"]
		],
		"艳紫妖红": [
			["yàn"],
			["zǐ"],
			["yāo"],
			["hóng"]
		],
		"掞藻飞声": [
			["shǎn"],
			["zǎo"],
			["fēi"],
			["shēng"]
		],
		"雁泊人户": [
			["yàn"],
			["bó"],
			["rén"],
			["hù"]
		],
		"雁过拔毛": [
			["yàn"],
			["guò"],
			["bá"],
			["máo"]
		],
		"雁过留声": [
			["yàn"],
			["guò"],
			["liú"],
			["shēng"]
		],
		"雁过拨毛": [
			["yàn"],
			["guò"],
			["bō"],
			["máo"]
		],
		"雁来红": [
			["yàn"],
			["lái"],
			["hóng"]
		],
		"雁南燕北": [
			["yàn"],
			["nán"],
			["yàn"],
			["běi"]
		],
		"雁影分飞": [
			["yàn"],
			["yǐng"],
			["fēn"],
			["fēi"]
		],
		"燕安酖毒": [
			["yàn"],
			["ān"],
			["dān"],
			["dú"]
		],
		"燕安鸩毒": [
			["yàn"],
			["ān"],
			["zhèn"],
			["dú"]
		],
		"燕巢飞幕": [
			["yàn"],
			["cháo"],
			["fēi"],
			["mù"]
		],
		"燕巢幕上": [
			["yàn"],
			["cháo"],
			["mù"],
			["shàng"]
		],
		"燕巢幙上": [
			["yàn"],
			["cháo"],
			["yú"],
			["shàng"]
		],
		"燕巢危幕": [
			["yàn"],
			["cháo"],
			["wēi"],
			["mù"]
		],
		"燕巢卫幕": [
			["yàn"],
			["cháo"],
			["wèi"],
			["mù"]
		],
		"燕巢于幕": [
			["yàn"],
			["cháo"],
			["yú"],
			["mù"]
		],
		"燕俦莺侣": [
			["yàn"],
			["chóu"],
			["yīng"],
			["lǚ"]
		],
		"燕处危巢": [
			["yàn"],
			["chǔ"],
			["wēi"],
			["cháo"]
		],
		"燕处焚巢": [
			["yàn"],
			["chǔ"],
			["fén"],
			["cháo"]
		],
		"燕岱之石": [
			["yān"],
			["dài"],
			["zhī"],
			["shí"]
		],
		"燕妒莺惭": [
			["yàn"],
			["dù"],
			["yīng"],
			["cán"]
		],
		"燕额虎头": [
			["yàn"],
			["é"],
			["hǔ"],
			["tóu"]
		],
		"燕尔新婚": [
			["yàn"],
			["ěr"],
			["xīn"],
			["hūn"]
		],
		"燕歌赵舞": [
			["yān"],
			["gē"],
			["zhào"],
			["wǔ"]
		],
		"燕颔虎颈": [
			["yàn"],
			["hàn"],
			["hǔ"],
			["jǐng"]
		],
		"燕颔虎头": [
			["yàn"],
			["hàn"],
			["hǔ"],
			["tóu"]
		],
		"燕颔虎须": [
			["yàn"],
			["hàn"],
			["hǔ"],
			["xū"]
		],
		"燕颔虬须": [
			["yàn"],
			["hàn"],
			["qiú"],
			["xū"]
		],
		"燕颔儒生": [
			["yàn"],
			["hàn"],
			["rú"],
			["shēng"]
		],
		"燕颔书生": [
			["yàn"],
			["hàn"],
			["shū"],
			["shēng"]
		],
		"燕驾越毂": [
			["yān"],
			["jià"],
			["yuè"],
			["gū"]
		],
		"燕金募秀": [
			["yān"],
			["jīn"],
			["mù"],
			["xiù"]
		],
		"燕侣莺俦": [
			["yàn"],
			["lǚ"],
			["yīng"],
			["chóu"]
		],
		"燕骏千金": [
			["yān"],
			["jùn"],
			["qiān"],
			["jīn"]
		],
		"燕麦粥": [
			["yān"],
			["mài"],
			["zhōu"]
		],
		"燕雀安知鸿鹄之志": [
			["yàn"],
			["què"],
			["ān"],
			["zhī"],
			["hóng"],
			["hú"],
			["zhī"],
			["zhì"]
		],
		"燕幕自安": [
			["yàn"],
			["mù"],
			["zì"],
			["ān"]
		],
		"燕雀处堂": [
			["yàn"],
			["què"],
			["chǔ"],
			["táng"]
		],
		"燕雀处屋": [
			["yàn"],
			["què"],
			["chǔ"],
			["wū"]
		],
		"燕雀安知鸿鹄志": [
			["yàn"],
			["què"],
			["ān"],
			["zhī"],
			["hóng"],
			["hú"],
			["zhì"]
		],
		"燕雀岂知雕鹗志": [
			["yàn"],
			["què"],
			["qǐ"],
			["zhī"],
			["diāo"],
			["è"],
			["zhì"]
		],
		"燕雀相贺": [
			["yàn"],
			["què"],
			["xiāng"],
			["hè"]
		],
		"燕雀之见": [
			["yàn"],
			["què"],
			["zhī"],
			["jiàn"]
		],
		"燕雀之居": [
			["yàn"],
			["què"],
			["zhī"],
			["jū"]
		],
		"燕石妄珍": [
			["yān"],
			["shí"],
			["wàng"],
			["zhēn"]
		],
		"燕市悲歌": [
			["yān"],
			["shì"],
			["bēi"],
			["gē"]
		],
		"燕瘦环肥": [
			["yàn"],
			["shòu"],
			["huán"],
			["féi"]
		],
		"燕尾服": [
			["yàn"],
			["wěi"],
			["fú"]
		],
		"燕舞莺歌": [
			["yàn"],
			["wǔ"],
			["yīng"],
			["gē"]
		],
		"燕舞莺啼": [
			["yàn"],
			["wǔ"],
			["yīng"],
			["tí"]
		],
		"燕雁代飞": [
			["yàn"],
			["yàn"],
			["dài"],
			["fēi"]
		],
		"燕燕莺莺": [
			["yàn"],
			["yàn"],
			["yīng"],
			["yīng"]
		],
		"燕燕于归": [
			["yàn"],
			["yàn"],
			["yú"],
			["guī"]
		],
		"燕语莺声": [
			["yàn"],
			["yǔ"],
			["yīng"],
			["shēng"]
		],
		"燕翼贻谋": [
			["yàn"],
			["yì"],
			["yí"],
			["móu"]
		],
		"燕语莺啼": [
			["yàn"],
			["yǔ"],
			["yīng"],
			["tí"]
		],
		"燕约莺期": [
			["yàn"],
			["yuē"],
			["yīng"],
			["qī"]
		],
		"燕跃鹄踊": [
			["yàn"],
			["yuè"],
			["hú"],
			["yǒng"]
		],
		"燕昭好马": [
			["yān"],
			["zhāo"],
			["hǎo"],
			["mǎ"]
		],
		"燕昭市骏": [
			["yān"],
			["zhāo"],
			["shì"],
			["jùn"]
		],
		"燕子衔食": [
			["yàn"],
			["zǐ"],
			["xián"],
			["shí"]
		],
		"泱泱大风": [
			["yāng"],
			["yāng"],
			["dà"],
			["fēng"]
		],
		"鞅鞅不乐": [
			["yāng"],
			["yāng"],
			["bù"],
			["lè"]
		],
		"扬长避短": [
			["yáng"],
			["cháng"],
			["bì"],
			["duǎn"]
		],
		"扬长而去": [
			["yáng"],
			["cháng"],
			["ér"],
			["qù"]
		],
		"扬风扢雅": [
			["yáng"],
			["fēng"],
			["bào"],
			["yǎ"]
		],
		"扬厉铺张": [
			["yáng"],
			["lì"],
			["pù"],
			["zhāng"]
		],
		"扬己露才": [
			["yáng"],
			["jǐ"],
			["lù"],
			["cái"]
		],
		"扬眉眴目": [
			["yáng"],
			["méi"],
			["shùn"],
			["mù"]
		],
		"扬眉吐气": [
			["yáng"],
			["méi"],
			["tǔ"],
			["qì"]
		],
		"扬铃打鼓": [
			["yáng"],
			["líng"],
			["dǎ"],
			["gǔ"]
		],
		"扬汤止沸": [
			["yáng"],
			["tāng"],
			["zhǐ"],
			["fèi"]
		],
		"扬名显亲": [
			["yáng"],
			["míng"],
			["xiǎn"],
			["qīn"]
		],
		"扬扬得意": [
			["yáng"],
			["yáng"],
			["dé"],
			["yì"]
		],
		"扬扬自得": [
			["yáng"],
			["yáng"],
			["zì"],
			["dé"]
		],
		"羊肠九曲": [
			["yáng"],
			["cháng"],
			["jiǔ"],
			["qǔ"]
		],
		"羊肠鸟道": [
			["yáng"],
			["cháng"],
			["niǎo"],
			["dào"]
		],
		"羊肠线": [
			["yáng"],
			["cháng"],
			["xiàn"]
		],
		"羊肠小道": [
			["yáng"],
			["cháng"],
			["xiǎo"],
			["dào"]
		],
		"羊触藩篱": [
			["yáng"],
			["chù"],
			["fān"],
			["lí"]
		],
		"羊癫风": [
			["yáng"],
			["diān"],
			["fēng"]
		],
		"羊狠狼贪": [
			["yáng"],
			["hěn"],
			["láng"],
			["tān"]
		],
		"羊羔美酒": [
			["yán"],
			["gāo"],
			["měi"],
			["jiǔ"]
		],
		"羊角风": [
			["yáng"],
			["jiǎo"],
			["fēng"]
		],
		"羊落虎口": [
			["yáng"],
			["luò"],
			["hǔ"],
			["kǒu"]
		],
		"羊毛出在羊身上": [
			["yáng"],
			["máo"],
			["chū"],
			["zài"],
			["yáng"],
			["shēn"],
			["shàng"]
		],
		"羊毛衫": [
			["yáng"],
			["máo"],
			["shān"]
		],
		"羊毛衣": [
			["yáng"],
			["máo"],
			["yī"]
		],
		"羊毛脂": [
			["yáng"],
			["máo"],
			["zhī"]
		],
		"羊皮筏": [
			["yáng"],
			["pí"],
			["fá"]
		],
		"羊皮纸": [
			["yáng"],
			["pí"],
			["zhǐ"]
		],
		"羊绒衫": [
			["yáng"],
			["róng"],
			["shān"]
		],
		"羊肉串": [
			["yáng"],
			["ròu"],
			["chuàn"]
		],
		"羊入虎群": [
			["yáng"],
			["rù"],
			["hǔ"],
			["qún"]
		],
		"羊续悬鱼": [
			["yáng"],
			["xù"],
			["xuán"],
			["yú"]
		],
		"羊痫风": [
			["yáng"],
			["xián"],
			["fēng"]
		],
		"羊质虎皮": [
			["yáng"],
			["zhì"],
			["hǔ"],
			["pí"]
		],
		"阳春有脚": [
			["yáng"],
			["chūn"],
			["yǒu"],
			["jiǎo"]
		],
		"阳关大道": [
			["yáng"],
			["guān"],
			["dà"],
			["dào"]
		],
		"阳起石": [
			["yáng"],
			["qǐ"],
			["shí"]
		],
		"阳解阴毒": [
			["yáng"],
			["jiě"],
			["yīn"],
			["dú"]
		],
		"杨穿三叶": [
			["yáng"],
			["chuān"],
			["sān"],
			["yè"]
		],
		"杨雀衔环": [
			["yáng"],
			["què"],
			["xián"],
			["huán"]
		],
		"杨生黄雀": [
			["yáng"],
			["shēng"],
			["huáng"],
			["què"]
		],
		"佯风诈冒": [
			["yáng"],
			["fēng"],
			["zhà"],
			["mào"]
		],
		"杨朱泣岐": [
			["yáng"],
			["zhū"],
			["qì"],
			["qí"]
		],
		"洋葱头": [
			["yáng"],
			["cōng"],
			["tóu"]
		],
		"洋地黄": [
			["yáng"],
			["dì"],
			["huáng"]
		],
		"洋为中用": [
			["yáng"],
			["wéi"],
			["zhōng"],
			["yòng"]
		],
		"洋洋大观": [
			["yáng"],
			["yáng"],
			["dà"],
			["guān"]
		],
		"洋洋得意": [
			["yáng"],
			["yáng"],
			["dé"],
			["yì"]
		],
		"洋洋洒洒": [
			["yáng"],
			["yáng"],
			["sǎ"],
			["sǎ"]
		],
		"洋洋纚纚": [
			["yáng"],
			["yáng"],
			["sǎ"],
			["sǎ"]
		],
		"洋洋自得": [
			["yáng"],
			["yáng"],
			["zì"],
			["dé"]
		],
		"卬首信眉": [
			["áng"],
			["shǒu"],
			["shēn"],
			["méi"]
		],
		"卬头阔步": [
			["áng"],
			["tóu"],
			["kuò"],
			["bù"]
		],
		"仰不愧天": [
			["yǎng"],
			["bù"],
			["kuì"],
			["tiān"]
		],
		"仰观俯察": [
			["yǎng"],
			["guān"],
			["fǔ"],
			["chá"]
		],
		"仰八叉": [
			["yǎng"],
			["bā"],
			["chā"]
		],
		"仰面朝天": [
			["yǎng"],
			["miàn"],
			["cháo"],
			["tiān"]
		],
		"仰面唾天": [
			["yǎng"],
			["miàn"],
			["tuò"],
			["tiān"]
		],
		"仰取俯拾": [
			["yǎng"],
			["qǔ"],
			["fǔ"],
			["shí"]
		],
		"仰人鼻息": [
			["yǎng"],
			["rén"],
			["bí"],
			["xī"]
		],
		"仰韶文化": [
			["yǎng"],
			["sháo"],
			["wén"],
			["huà"]
		],
		"仰人眉睫": [
			["yǎng"],
			["rén"],
			["méi"],
			["jié"]
		],
		"仰拾俯取": [
			["yǎng"],
			["shí"],
			["fǔ"],
			["qǔ"]
		],
		"仰事俯畜": [
			["yǎng"],
			["shì"],
			["fǔ"],
			["xù"]
		],
		"仰事俯育": [
			["yǎng"],
			["shì"],
			["fǔ"],
			["yù"]
		],
		"仰事俛畜": [
			["yǎng"],
			["shì"],
			["fǔ"],
			["chù"]
		],
		"仰首伸眉": [
			["yǎng"],
			["shǒu"],
			["shēn"],
			["méi"]
		],
		"仰卧起坐": [
			["yǎng"],
			["wò"],
			["qǐ"],
			["zuò"]
		],
		"仰屋着书": [
			["yǎng"],
			["wū"],
			["zhù"],
			["shū"]
		],
		"仰屋窃叹": [
			["yǎng"],
			["wū"],
			["qiè"],
			["tàn"]
		],
		"仰屋著书": [
			["yǎng"],
			["wū"],
			["zhù"],
			["shū"]
		],
		"仰之弥高": [
			["yǎng"],
			["zhī"],
			["mí"],
			["gāo"]
		],
		"养虎为患": [
			["yǎng"],
			["hǔ"],
			["wéi"],
			["huàn"]
		],
		"养虺成蛇": [
			["yǎng"],
			["huǐ"],
			["chéng"],
			["shé"]
		],
		"养家糊口": [
			["yǎng"],
			["jiā"],
			["hú"],
			["kǒu"]
		],
		"养家活口": [
			["yǎng"],
			["jiā"],
			["huó"],
			["kǒu"]
		],
		"养精畜锐": [
			["yǎng"],
			["jīng"],
			["xù"],
			["ruì"]
		],
		"养生丧死": [
			["yǎng"],
			["shēng"],
			["sàng"],
			["sǐ"]
		],
		"养音九皋": [
			["yǎng"],
			["yīn"],
			["jiǔ"],
			["gāo"]
		],
		"养殖场": [
			["yǎng"],
			["zhí"],
			["chǎng"]
		],
		"养尊处优": [
			["yǎng"],
			["zūn"],
			["chǔ"],
			["yōu"]
		],
		"氧化汞": [
			["yǎng"],
			["huà"],
			["gǒng"]
		],
		"氧化铜": [
			["yǎng"],
			["huà"],
			["tóng"]
		],
		"氧化物": [
			["yǎng"],
			["huà"],
			["wù"]
		],
		"怏怏不乐": [
			["yàng"],
			["yàng"],
			["bù"],
			["lè"]
		],
		"怏怏不悦": [
			["yàng"],
			["yàng"],
			["bù"],
			["yuè"]
		],
		"样板戏": [
			["yàng"],
			["bǎn"],
			["xì"]
		],
		"幺麽小丑": [
			["yāo"],
			["mǒ"],
			["xiǎo"],
			["chǒu"]
		],
		"吆五喝六": [
			["yāo"],
			["wǔ"],
			["hè"],
			["liù"]
		],
		"妖不胜德": [
			["yāo"],
			["bù"],
			["shèng"],
			["dé"]
		],
		"妖由人兴": [
			["yāo"],
			["yóu"],
			["rén"],
			["xīng"]
		],
		"腰缠万贯": [
			["yāo"],
			["chán"],
			["wàn"],
			["guàn"]
		],
		"腰杆子": [
			["yāo"],
			["gān"],
			["zi"]
		],
		"腰鼓兄弟": [
			["yāo"],
			["gǔ"],
			["xiōng"],
			["dì"]
		],
		"腰酸背痛": [
			["yāo"],
			["suān"],
			["bèi"],
			["tòng"]
		],
		"尧趋舜步": [
			["yáo"],
			["qū"],
			["shùn"],
			["bù"]
		],
		"邀名射利": [
			["yāo"],
			["míng"],
			["shè"],
			["lì"]
		],
		"摇滚乐": [
			["yáo"],
			["gǔn"],
			["yuè"]
		],
		"摇鹅毛扇": [
			["yáo"],
			["é"],
			["máo"],
			["shàn"]
		],
		"摇篮曲": [
			["yáo"],
			["lán"],
			["qǔ"]
		],
		"摇旗呐喊": [
			["yáo"],
			["qí"],
			["nà"],
			["hǎn"]
		],
		"摇手触禁": [
			["yáo"],
			["shǒu"],
			["chù"],
			["jìn"]
		],
		"摇头摆脑": [
			["yáo"],
			["tóu"],
			["bǎi"],
			["nǎo"]
		],
		"摇头摆尾": [
			["yáo"],
			["tóu"],
			["bǎi"],
			["wěi"]
		],
		"摇头稾脑": [
			["yáo"],
			["tóu"],
			["gǎo"],
			["nǎo"]
		],
		"摇头晃脑": [
			["yáo"],
			["tóu"],
			["huàng"],
			["nǎo"]
		],
		"摇头幌脑": [
			["yáo"],
			["tóu"],
			["huǎng"],
			["nǎo"]
		],
		"摇头麰尾": [
			["yáo"],
			["tóu"],
			["móu"],
			["wěi"]
		],
		"摇头叹息": [
			["yáo"],
			["tóu"],
			["tàn"],
			["xī"]
		],
		"摇尾乞怜": [
			["yáo"],
			["wěi"],
			["qǐ"],
			["lián"]
		],
		"摇尾求食": [
			["yáo"],
			["wěi"],
			["qiú"],
			["shí"]
		],
		"摇尾涂中": [
			["yáo"],
			["wěi"],
			["tú"],
			["zhōng"]
		],
		"摇羽毛扇": [
			["yáo"],
			["yǔ"],
			["máo"],
			["shàn"]
		],
		"遥呼相应": [
			["yáo"],
			["hū"],
			["xiāng"],
			["yìng"]
		],
		"遥相呼应": [
			["yáo"],
			["xiāng"],
			["hū"],
			["yìng"]
		],
		"遥遥华胄": [
			["yáo"],
			["yáo"],
			["huá"],
			["zhòu"]
		],
		"遥遥无期": [
			["yáo"],
			["yáo"],
			["wú"],
			["qī"]
		],
		"瑶草奇花": [
			["yáo"],
			["cǎo"],
			["qí"],
			["huā"]
		],
		"遥遥相对": [
			["yáo"],
			["yáo"],
			["xiāng"],
			["duì"]
		],
		"瑶池女使": [
			["yáo"],
			["shi"],
			["nǚ"],
			["shǐ"]
		],
		"瑶台琼室": [
			["yáo"],
			["tái"],
			["qióng"],
			["shì"]
		],
		"瑶台银阙": [
			["yáo"],
			["tái"],
			["yín"],
			["què"]
		],
		"杳不可闻": [
			["yǎo"],
			["bù"],
			["kě"],
			["wén"]
		],
		"杳无信息": [
			["yǎo"],
			["wú"],
			["xìn"],
			["xī"]
		],
		"杳无音信": [
			["yǎo"],
			["wú"],
			["yīn"],
			["xìn"]
		],
		"咬得菜根": [
			["yǎo"],
			["dé"],
			["cài"],
			["gēn"]
		],
		"咬钉嚼铁": [
			["yǎo"],
			["dīng"],
			["jiáo"],
			["tiě"]
		],
		"咬人狗儿不露齿": [
			["yǎo"],
			["rén"],
			["gǒu"],
			["ér"],
			["bù"],
			["lòu"],
			["chǐ"]
		],
		"咬文嚼字": [
			["yǎo"],
			["wén"],
			["jiáo"],
			["zì"]
		],
		"咬血为盟": [
			["yǎo"],
			["xuè"],
			["wéi"],
			["méng"]
		],
		"咬牙切齿": [
			["yǎo"],
			["yá"],
			["qiè"],
			["chǐ"]
		],
		"药剂拌种": [
			["yào"],
			["jì"],
			["bàn"],
			["zhǒng"]
		],
		"窈窕淑女": [
			["yǎo"],
			["tiǎo"],
			["shū"],
			["nǚ"]
		],
		"药笼中物": [
			["yào"],
			["lóng"],
			["zhōng"],
			["wù"]
		],
		"药石之言": [
			["yào"],
			["shí"],
			["zhī"],
			["yán"]
		],
		"要不得": [
			["yào"],
			["bù"],
			["dé"]
		],
		"要不然": [
			["yào"],
			["bù"],
			["rán"]
		],
		"要不是": [
			["yào"],
			["bú"],
			["shì"]
		],
		"要而论之": [
			["yào"],
			["ér"],
			["lùn"],
			["zhī"]
		],
		"要而言之": [
			["yào"],
			["ér"],
			["yán"],
			["zhī"]
		],
		"要害之地": [
			["yào"],
			["hài"],
			["zhī"],
			["dì"]
		],
		"要价还价": [
			["yào"],
			["jià"],
			["huán"],
			["jià"]
		],
		"要面子": [
			["yào"],
			["miàn"],
			["zi"]
		],
		"要死不活": [
			["yào"],
			["sǐ"],
			["bù"],
			["huó"]
		],
		"要死要活": [
			["yào"],
			["sǐ"],
			["yào"],
			["huó"]
		],
		"要言不烦": [
			["yào"],
			["yán"],
			["bù"],
			["fán"]
		],
		"要言妙道": [
			["yào"],
			["yán"],
			["miào"],
			["dào"]
		],
		"耶和华": [
			["yē"],
			["hé"],
			["huá"]
		],
		"耶稣会": [
			["yē"],
			["sū"],
			["huì"]
		],
		"耶稣教": [
			["yē"],
			["sū"],
			["jiào"]
		],
		"冶叶倡条": [
			["yě"],
			["yè"],
			["chàng"],
			["tiáo"]
		],
		"野调无腔": [
			["yě"],
			["diào"],
			["wú"],
			["qiāng"]
		],
		"野没遗贤": [
			["yě"],
			["méi"],
			["yí"],
			["xián"]
		],
		"野人献曝": [
			["yě"],
			["rén"],
			["xiàn"],
			["pù"]
		],
		"野人奏曝": [
			["yě"],
			["rén"],
			["zòu"],
			["pù"]
		],
		"野心勃勃": [
			["yě"],
			["xīn"],
			["bó"],
			["bó"]
		],
		"业业矜矜": [
			["yè"],
			["yè"],
			["jīn"],
			["jīn"]
		],
		"业余教育": [
			["yè"],
			["yú"],
			["jiào"],
			["yù"]
		],
		"叶斑病": [
			["yè"],
			["bān"],
			["bìng"]
		],
		"叶公好龙": [
			["yè"],
			["gōng"],
			["hào"],
			["lóng"]
		],
		"叶红素": [
			["yè"],
			["hóng"],
			["sù"]
		],
		"叶黄素": [
			["yè"],
			["huáng"],
			["sù"]
		],
		"叶绿素": [
			["yè"],
			["lǜ"],
			["sù"]
		],
		"叶落归根": [
			["yè"],
			["luò"],
			["huī"],
			["gēn"]
		],
		"叶落知秋": [
			["yè"],
			["luò"],
			["zhī"],
			["qiū"]
		],
		"叶甜菜": [
			["yè"],
			["tián"],
			["cài"]
		],
		"叶瘦花残": [
			["yè"],
			["shòu"],
			["huā"],
			["cán"]
		],
		"叶子烟": [
			["yè"],
			["zi"],
			["yān"]
		],
		"曳光弹": [
			["yè"],
			["guāng"],
			["dàn"]
		],
		"曳裾王门": [
			["yè"],
			["jū"],
			["wáng"],
			["mén"]
		],
		"曳尾泥涂": [
			["yè"],
			["wěi"],
			["ní"],
			["tú"]
		],
		"曳尾涂中": [
			["yè"],
			["wěi"],
			["tú"],
			["zhōng"]
		],
		"邺架之藏": [
			["yè"],
			["jià"],
			["zhī"],
			["cáng"]
		],
		"夜不闭户": [
			["yè"],
			["bù"],
			["bì"],
			["hù"]
		],
		"夜不成寐": [
			["yè"],
			["bù"],
			["chéng"],
			["mèi"]
		],
		"夜长梦多": [
			["yè"],
			["cháng"],
			["mèng"],
			["duō"]
		],
		"夜长梦短": [
			["yè"],
			["cháng"],
			["mèng"],
			["duǎn"]
		],
		"夜大学": [
			["yè"],
			["dà"],
			["xué"]
		],
		"夜静更阑": [
			["yè"],
			["jìng"],
			["gēng"],
			["lán"]
		],
		"夜静更深": [
			["yè"],
			["jìng"],
			["gēng"],
			["shēn"]
		],
		"夜郎自大": [
			["yè"],
			["láng"],
			["zì"],
			["dà"]
		],
		"夜礼服": [
			["yè"],
			["lǐ"],
			["fú"]
		],
		"夜盲症": [
			["yè"],
			["máng"],
			["zhèng"]
		],
		"夜猫子": [
			["yè"],
			["māo"],
			["zǐ"]
		],
		"夜尿症": [
			["yè"],
			["niào"],
			["zhèng"]
		],
		"夜行被绣": [
			["yè"],
			["xíng"],
			["bèi"],
			["xiù"]
		],
		"夜行军": [
			["yè"],
			["xíng"],
			["jūn"]
		],
		"夜总会": [
			["yè"],
			["zǒng"],
			["huì"]
		],
		"夜雨对床": [
			["yè"],
			["yǔ"],
			["duì"],
			["chuáng"]
		],
		"液压油": [
			["yè"],
			["yā"],
			["yóu"]
		],
		"一把手": [
			["yī"],
			["bǎ"],
			["shǒu"]
		],
		"一把死拿": [
			["yī"],
			["bǎ"],
			["sǐ"],
			["ná"]
		],
		"一把钥匙开一把锁": [
			["yī"],
			["bǎ"],
			["yào"],
			["shi"],
			["kāi"],
			["yī"],
			["bǎ"],
			["suǒ"]
		],
		"一把抓": [
			["yī"],
			["bǎ"],
			["zhuā"]
		],
		"一百八十度": [
			["yī"],
			["bǎi"],
			["bā"],
			["shí"],
			["dù"]
		],
		"一把子": [
			["yī"],
			["bà"],
			["zi"]
		],
		"一百二十行": [
			["yī"],
			["bǎi"],
			["èr"],
			["shí"],
			["háng"]
		],
		"一败涂地": [
			["yī"],
			["bài"],
			["tú"],
			["dì"]
		],
		"一般见识": [
			["yī"],
			["bān"],
			["jiàn"],
			["shí"]
		],
		"一棒一条痕": [
			["yī"],
			["bàng"],
			["yī"],
			["tiáo"],
			["hén"]
		],
		"一包在内": [
			["yī"],
			["bāo"],
			["zài"],
			["nèi"]
		],
		"一报还一报": [
			["yī"],
			["bào"],
			["huán"],
			["yī"],
			["bào"]
		],
		"一暴十寒": [
			["yī"],
			["pù"],
			["shí"],
			["hán"]
		],
		"一本万利": [
			["yī"],
			["běn"],
			["wàn"],
			["lì"]
		],
		"一本正经": [
			["yī"],
			["běn"],
			["zhèng"],
			["jīng"]
		],
		"一笔不苟": [
			["yī"],
			["bǐ"],
			["bù"],
			["gǒu"]
		],
		"一笔勾断": [
			["yī"],
			["bǐ"],
			["gōu"],
			["duàn"]
		],
		"一笔勾消": [
			["yī"],
			["bǐ"],
			["gōu"],
			["xiāo"]
		],
		"一笔勾销": [
			["yī"],
			["bǐ"],
			["gōu"],
			["xiāo"]
		],
		"一笔抹摋": [
			["yī"],
			["bǐ"],
			["mò"],
			["sà"]
		],
		"一笔抹杀": [
			["yī"],
			["bǐ"],
			["mǒ"],
			["shā"]
		],
		"一碧万顷": [
			["yī"],
			["bì"],
			["wàn"],
			["qǐng"]
		],
		"一笔抹煞": [
			["yī"],
			["bǐ"],
			["mǒ"],
			["shā"]
		],
		"一臂之力": [
			["yī"],
			["bì"],
			["zhī"],
			["lì"]
		],
		"一边倒": [
			["yī"],
			["biān"],
			["dǎo"]
		],
		"一鞭先著": [
			["yī"],
			["biān"],
			["xiān"],
			["zhuó"]
		],
		"一鞭一条痕": [
			["yī"],
			["biān"],
			["yī"],
			["tiáo"],
			["hén"]
		],
		"一病不起": [
			["yī"],
			["bìng"],
			["bù"],
			["qǐ"]
		],
		"一秉大公": [
			["yī"],
			["bǐng"],
			["dà"],
			["gōng"]
		],
		"一波才动万波随": [
			["yī"],
			["bō"],
			["cái"],
			["dòng"],
			["wàn"],
			["bō"],
			["suí"]
		],
		"一波三折": [
			["yī"],
			["bō"],
			["sān"],
			["zhé"]
		],
		"一波万波": [
			["yī"],
			["bō"],
			["wàn"],
			["bō"]
		],
		"一不扭众": [
			["yī"],
			["bù"],
			["niǔ"],
			["zhòng"]
		],
		"一步一个脚印": [
			["yī"],
			["bù"],
			["yī"],
			["gè"],
			["jiǎo"],
			["yìn"]
		],
		"一步一趋": [
			["yī"],
			["bù"],
			["yī"],
			["qū"]
		],
		"一差半错": [
			["yī"],
			["chà"],
			["bàn"],
			["cuò"]
		],
		"一差二错": [
			["yī"],
			["chà"],
			["èr"],
			["cuò"]
		],
		"一差二误": [
			["yī"],
			["chà"],
			["èr"],
			["wù"]
		],
		"一差二悮": [
			["yī"],
			["chà"],
			["èr"],
			["wù"]
		],
		"一差两讹": [
			["yī"],
			["chà"],
			["liǎng"],
			["é"]
		],
		"一长半短": [
			["yī"],
			["cháng"],
			["bàn"],
			["duǎn"]
		],
		"一长串": [
			["yī"],
			["cháng"],
			["chuàn"]
		],
		"一长二短": [
			["yī"],
			["cháng"],
			["èr"],
			["duǎn"]
		],
		"一长两短": [
			["yī"],
			["cháng"],
			["liǎng"],
			["duǎn"]
		],
		"一长一短": [
			["yī"],
			["cháng"],
			["yī"],
			["duǎn"]
		],
		"一场春梦": [
			["yī"],
			["chǎng"],
			["chūn"],
			["mèng"]
		],
		"一倡百和": [
			["yī"],
			["chàng"],
			["bǎi"],
			["hè"]
		],
		"一场空": [
			["yī"],
			["cháng"],
			["kōng"]
		],
		"一倡一和": [
			["yī"],
			["chàng"],
			["yī"],
			["hé"]
		],
		"一倡三叹": [
			["yī"],
			["chàng"],
			["sān"],
			["tàn"]
		],
		"一唱一和": [
			["yī"],
			["chàng"],
			["yī"],
			["hè"]
		],
		"一唱百和": [
			["yī"],
			["chàng"],
			["bǎi"],
			["hé"]
		],
		"一朝千里": [
			["yī"],
			["zhāo"],
			["qiān"],
			["lǐ"]
		],
		"一朝天子一朝臣": [
			["yī"],
			["cháo"],
			["tiān"],
			["zǐ"],
			["yī"],
			["cháo"],
			["chén"]
		],
		"一朝之忿": [
			["yī"],
			["zhāo"],
			["zhī"],
			["fèn"]
		],
		"一朝之患": [
			["yī"],
			["zhāo"],
			["zhī"],
			["huàn"]
		],
		"一朝一夕": [
			["yī"],
			["zhāo"],
			["yī"],
			["xī"]
		],
		"一彻万融": [
			["yī"],
			["chè"],
			["wàn"],
			["róng"]
		],
		"一尘不到": [
			["yī"],
			["chén"],
			["bù"],
			["dào"]
		],
		"一尘不染": [
			["yī"],
			["chén"],
			["bù"],
			["rǎn"]
		],
		"一尘不缁": [
			["yī"],
			["chén"],
			["bù"],
			["zī"]
		],
		"一成不变": [
			["yī"],
			["chéng"],
			["bù"],
			["biàn"]
		],
		"一成不易": [
			["yī"],
			["chéng"],
			["bù"],
			["yì"]
		],
		"一尺水翻腾做一丈波": [
			["yī"],
			["chǐ"],
			["shuǐ"],
			["fān"],
			["téng"],
			["zuò"],
			["yī"],
			["zhàng"],
			["bō"]
		],
		"一尺水翻腾做百丈波": [
			["yī"],
			["chǐ"],
			["shuǐ"],
			["fān"],
			["téng"],
			["zuò"],
			["bǎi"],
			["zhàng"],
			["bō"]
		],
		"一筹莫展": [
			["yī"],
			["chóu"],
			["mò"],
			["zhǎn"]
		],
		"一尺水十丈波": [
			["yī"],
			["chǐ"],
			["shuǐ"],
			["shí"],
			["zhàng"],
			["bō"]
		],
		"一触即溃": [
			["yī"],
			["chù"],
			["jí"],
			["kuì"]
		],
		"一触即发": [
			["yī"],
			["chù"],
			["jí"],
			["fā"]
		],
		"一床锦被遮盖": [
			["yī"],
			["chuáng"],
			["jǐn"],
			["bèi"],
			["zhē"],
			["gài"]
		],
		"一床两好": [
			["yī"],
			["chuáng"],
			["liǎng"],
			["hǎo"]
		],
		"一辞莫赞": [
			["yī"],
			["cí"],
			["mò"],
			["zàn"]
		],
		"一辞同轨": [
			["yī"],
			["cí"],
			["tóng"],
			["guǐ"]
		],
		"一蹴而得": [
			["yī"],
			["cù"],
			["ér"],
			["dé"]
		],
		"一蹴可几": [
			["yī"],
			["cù"],
			["kě"],
			["jǐ"]
		],
		"一大把": [
			["yī"],
			["dà"],
			["bǎ"]
		],
		"一大半": [
			["yī"],
			["dà"],
			["bàn"]
		],
		"一大堆": [
			["yī"],
			["dà"],
			["duī"]
		],
		"一大早": [
			["yī"],
			["dà"],
			["zǎo"]
		],
		"一代不如一代": [
			["yī"],
			["dài"],
			["bù"],
			["rú"],
			["yī"],
			["dài"]
		],
		"一代风流": [
			["yī"],
			["dài"],
			["fēng"],
			["liú"]
		],
		"一代楷模": [
			["yī"],
			["dài"],
			["kǎi"],
			["mó"]
		],
		"一弹指顷": [
			["yī"],
			["tán"],
			["zhǐ"],
			["qǐng"]
		],
		"一刀切": [
			["yī"],
			["dāo"],
			["qiē"]
		],
		"一得之功": [
			["yī"],
			["dé"],
			["zhī"],
			["gōng"]
		],
		"一得之见": [
			["yī"],
			["dé"],
			["zhī"],
			["jiàn"]
		],
		"一得之愚": [
			["yī"],
			["dé"],
			["zhī"],
			["yú"]
		],
		"一跌不振": [
			["yī"],
			["diē"],
			["bù"],
			["zhèn"]
		],
		"一丁不识": [
			["yī"],
			["dīng"],
			["bù"],
			["shí"]
		],
		"一丁点儿": [
			["yī"],
			["dīng"],
			["diǎn"],
			["er"]
		],
		"一定不移": [
			["yī"],
			["dìng"],
			["bù"],
			["yí"]
		],
		"一定不易": [
			["yī"],
			["dìng"],
			["bù"],
			["yì"]
		],
		"一动不动": [
			["yī"],
			["dòng"],
			["bù"],
			["dòng"]
		],
		"一动不如一静": [
			["yī"],
			["dòng"],
			["bù"],
			["rú"],
			["yī"],
			["jìng"]
		],
		"一肚子": [
			["yī"],
			["dǔ"],
			["zi"]
		],
		"一发千钧": [
			["yī"],
			["fà"],
			["qiān"],
			["jūn"]
		],
		"一帆风顺": [
			["yī"],
			["fán"],
			["fēng"],
			["shùn"]
		],
		"一帆顺风": [
			["yī"],
			["fān"],
			["shùn"],
			["fēng"]
		],
		"一反其道": [
			["yī"],
			["fǎn"],
			["qí"],
			["dào"]
		],
		"一饭三吐哺": [
			["yī"],
			["fàn"],
			["sān"],
			["tǔ"],
			["bǔ"]
		],
		"一方之任": [
			["yī"],
			["fāng"],
			["zhī"],
			["rèn"]
		],
		"一飞冲天": [
			["yī"],
			["fēi"],
			["chōng"],
			["tiān"]
		],
		"一分为二": [
			["yī"],
			["fēn"],
			["wéi"],
			["èr"]
		],
		"一分一毫": [
			["yī"],
			["fēn"],
			["yī"],
			["háo"]
		],
		"一风吹": [
			["yī"],
			["fēng"],
			["chuī"]
		],
		"一佛出世": [
			["yī"],
			["fó"],
			["chū"],
			["shì"]
		],
		"一夫当关": [
			["yī"],
			["fū"],
			["dāng"],
			["guān"]
		],
		"一夫一妻制": [
			["yī"],
			["fū"],
			["yī"],
			["qī"],
			["zhì"]
		],
		"一夫之勇": [
			["yī"],
			["fū"],
			["zhī"],
			["yǒng"]
		],
		"一夫之用": [
			["yī"],
			["fū"],
			["zhī"],
			["yòng"]
		],
		"一概而论": [
			["yī"],
			["gài"],
			["ér"],
			["lùn"]
		],
		"一干二净": [
			["yī"],
			["gān"],
			["èr"],
			["jìng"]
		],
		"一干人犯": [
			["yī"],
			["gān"],
			["rén"],
			["fàn"]
		],
		"一个劲": [
			["yí"],
			["gè"],
			["jìn"]
		],
		"一个巴掌拍不响": [
			["yī"],
			["gè"],
			["bā"],
			["zhǎng"],
			["pāi"],
			["bù"],
			["xiǎng"]
		],
		"一个半个": [
			["yī"],
			["gè"],
			["bàn"],
			["gè"]
		],
		"一个萝卜一个坑": [
			["yī"],
			["gè"],
			["luó"],
			["bo"],
			["yī"],
			["gè"],
			["kēng"]
		],
		"一个心眼": [
			["yí"],
			["gè"],
			["xīn"],
			["yǎn"]
		],
		"一个心眼儿": [
			["yí"],
			["gè"],
			["xīn"],
			["yǎn"],
			["ér"]
		],
		"一谷不登": [
			["yī"],
			["gǔ"],
			["bù"],
			["dēng"]
		],
		"一谷不升": [
			["yī"],
			["gǔ"],
			["bù"],
			["shēng"]
		],
		"一股劲儿": [
			["yī"],
			["gǔ"],
			["jìn"],
			["er"]
		],
		"一骨碌": [
			["yī"],
			["gū"],
			["lù"]
		],
		"一轨同风": [
			["yī"],
			["guǐ"],
			["tóng"],
			["fēng"]
		],
		"一棍子打死": [
			["yī"],
			["gùn"],
			["zi"],
			["dǎ"],
			["sǐ"]
		],
		"一锅粥": [
			["yī"],
			["guō"],
			["zhōu"]
		],
		"一毫不差": [
			["yī"],
			["háo"],
			["bù"],
			["chā"]
		],
		"一毫不苟": [
			["yī"],
			["háo"],
			["bù"],
			["gǒu"]
		],
		"一毫不染": [
			["yī"],
			["háo"],
			["bù"],
			["rǎn"]
		],
		"一轰而散": [
			["yī"],
			["hōng"],
			["ér"],
			["sàn"]
		],
		"一呵而就": [
			["yī"],
			["hē"],
			["ér"],
			["jiù"]
		],
		"一哄而散": [
			["yī"],
			["hòng"],
			["ér"],
			["sàn"]
		],
		"一哄而起": [
			["yī"],
			["hōng"],
			["ér"],
			["qǐ"]
		],
		"一哄而上": [
			["yì"],
			["hōng"],
			["ér"],
			["shàng"]
		],
		"一呼百应": [
			["yī"],
			["hū"],
			["bǎi"],
			["yìng"]
		],
		"一呼再喏": [
			["yī"],
			["hū"],
			["zài"],
			["nuò"]
		],
		"一狐之掖": [
			["yī"],
			["hú"],
			["zhī"],
			["yè"]
		],
		"一虎不河": [
			["yī"],
			["hǔ"],
			["bù"],
			["hé"]
		],
		"一还一报": [
			["yī"],
			["huán"],
			["yī"],
			["bào"]
		],
		"一褱而论": [
			["yī"],
			["huái"],
			["ér"],
			["lùn"]
		],
		"一会儿": [
			["yī"],
			["huì"],
			["er"]
		],
		"一己之见": [
			["yī"],
			["jǐ"],
			["zhī"],
			["jiàn"]
		],
		"一技之长": [
			["yī"],
			["jì"],
			["zhī"],
			["cháng"]
		],
		"一家眷属": [
			["yī"],
			["jiā"],
			["juàn"],
			["shǔ"]
		],
		"一家老小": [
			["yī"],
			["jiā"],
			["lǎo"],
			["xiǎo"]
		],
		"一家人": [
			["yī"],
			["jiā"],
			["rén"]
		],
		"一家无二": [
			["yī"],
			["jiā"],
			["wú"],
			["èr"]
		],
		"一家一火": [
			["yī"],
			["jiā"],
			["yī"],
			["huǒ"]
		],
		"一家一计": [
			["yī"],
			["jiā"],
			["yī"],
			["jì"]
		],
		"一家之辞": [
			["yī"],
			["jiā"],
			["zhī"],
			["cí"]
		],
		"一家之计": [
			["yī"],
			["jiā"],
			["zhī"],
			["jì"]
		],
		"一家之学": [
			["yī"],
			["jiā"],
			["zhī"],
			["xué"]
		],
		"一家之主": [
			["yī"],
			["jiā"],
			["zhī"],
			["zhǔ"]
		],
		"一家之言": [
			["yī"],
			["jiā"],
			["zhī"],
			["yán"]
		],
		"一家之作": [
			["yī"],
			["jiā"],
			["zhī"],
			["zuò"]
		],
		"一家子": [
			["yī"],
			["jiā"],
			["zǐ"]
		],
		"一见了然": [
			["yī"],
			["jiàn"],
			["le"],
			["rán"]
		],
		"一见倾心": [
			["yī"],
			["jiàn"],
			["qīng"],
			["xīn"]
		],
		"一见如故": [
			["yī"],
			["jiàn"],
			["rú"],
			["gù"]
		],
		"一见如旧": [
			["yī"],
			["jiàn"],
			["rú"],
			["jiù"]
		],
		"一见钟情": [
			["yī"],
			["jiàn"],
			["zhōng"],
			["qíng"]
		],
		"一剑之任": [
			["yī"],
			["jiàn"],
			["zhī"],
			["rèn"]
		],
		"一箭之地": [
			["yī"],
			["jiàn"],
			["zhī"],
			["dì"]
		],
		"一箭上垛": [
			["yī"],
			["jiàn"],
			["shàng"],
			["duò"]
		],
		"一浆十饼": [
			["yī"],
			["jiāng"],
			["shí"],
			["bǐng"]
		],
		"一脚不移": [
			["yī"],
			["jiǎo"],
			["bù"],
			["yí"]
		],
		"一介不苟": [
			["yī"],
			["jiè"],
			["bù"],
			["gǒu"]
		],
		"一介不取": [
			["yī"],
			["jiè"],
			["bù"],
			["qǔ"]
		],
		"一举两得": [
			["yī"],
			["jǔ"],
			["liǎng"],
			["dé"]
		],
		"一举万里": [
			["yī"],
			["jǔ"],
			["wàn"],
			["lǐ"]
		],
		"一句话": [
			["yī"],
			["jù"],
			["huà"]
		],
		"一蹶不兴": [
			["yī"],
			["juě"],
			["bù"],
			["xīng"]
		],
		"一蹶不振": [
			["yī"],
			["jué"],
			["bù"],
			["zhèn"]
		],
		"一客不烦二主": [
			["yī"],
			["kè"],
			["bù"],
			["fán"],
			["èr"],
			["zhǔ"]
		],
		"一空依傍": [
			["yī"],
			["kōng"],
			["yī"],
			["bàng"]
		],
		"一孔之见": [
			["yī"],
			["kǒng"],
			["zhī"],
			["jiàn"]
		],
		"一孔不达": [
			["yī"],
			["kǒng"],
			["bù"],
			["dá"]
		],
		"一口两匙": [
			["yī"],
			["kǒu"],
			["liǎng"],
			["chí"]
		],
		"一口同声": [
			["yī"],
			["kǒu"],
			["tóng"],
			["shēng"]
		],
		"一口同音": [
			["yī"],
			["kǒu"],
			["tóng"],
			["yīn"]
		],
		"一口吸尽西江水": [
			["yī"],
			["kǒu"],
			["xī"],
			["jìn"],
			["xī"],
			["jiāng"],
			["shuǐ"]
		],
		"一块石头落地": [
			["yī"],
			["kuài"],
			["shí"],
			["tóu"],
			["luò"],
			["dì"]
		],
		"一匡九合": [
			["yī"],
			["kuāng"],
			["jiǔ"],
			["hé"]
		],
		"一块石头落了地": [
			["yī"],
			["kuài"],
			["shí"],
			["tou"],
			["luò"],
			["le"],
			["dì"]
		],
		"一夔一契": [
			["yī"],
			["kuí"],
			["yī"],
			["qì"]
		],
		"一力承当": [
			["yī"],
			["lì"],
			["chéng"],
			["dāng"]
		],
		"一了百当": [
			["yī"],
			["liǎo"],
			["bǎi"],
			["dàng"]
		],
		"一了百了": [
			["yī"],
			["liǎo"],
			["bǎi"],
			["liǎo"]
		],
		"一鳞半爪": [
			["yī"],
			["lín"],
			["bàn"],
			["zhǎo"]
		],
		"一鳞片甲": [
			["yī"],
			["lín"],
			["piàn"],
			["jiǎ"]
		],
		"一鳞片爪": [
			["yī"],
			["lín"],
			["piàn"],
			["zhǎo"]
		],
		"一鳞一爪": [
			["yī"],
			["lín"],
			["yī"],
			["zhǎo"]
		],
		"一溜儿": [
			["yī"],
			["liù"],
			["ér"]
		],
		"一溜风": [
			["yī"],
			["liū"],
			["fēng"]
		],
		"一溜歪斜": [
			["yī"],
			["liū"],
			["wāi"],
			["xié"]
		],
		"一溜烟": [
			["yī"],
			["liú"],
			["yān"]
		],
		"一龙一蛇": [
			["yī"],
			["lóng"],
			["yī"],
			["shé"]
		],
		"一路风尘": [
			["yī"],
			["lù"],
			["fēng"],
			["chén"]
		],
		"一路风清": [
			["yī"],
			["lù"],
			["fēng"],
			["qīng"]
		],
		"一路顺风": [
			["yī"],
			["lù"],
			["shùn"],
			["fēng"]
		],
		"一路神祇": [
			["yī"],
			["lù"],
			["shén"],
			["qí"]
		],
		"一乱涂地": [
			["yī"],
			["luàn"],
			["tú"],
			["dì"]
		],
		"一落千丈": [
			["yī"],
			["luò"],
			["qiān"],
			["zhàng"]
		],
		"一马当先": [
			["yī"],
			["mǎ"],
			["dāng"],
			["xiān"]
		],
		"一脉同气": [
			["yī"],
			["mài"],
			["tóng"],
			["qì"]
		],
		"一脉相承": [
			["yī"],
			["mài"],
			["xiāng"],
			["chéng"]
		],
		"一脉相通": [
			["yī"],
			["mài"],
			["xiāng"],
			["tōng"]
		],
		"一脉相传": [
			["yī"],
			["mài"],
			["xiāng"],
			["chuán"]
		],
		"一脉香烟": [
			["yī"],
			["mài"],
			["xiāng"],
			["yān"]
		],
		"一毛不拔": [
			["yī"],
			["máo"],
			["bù"],
			["bá"]
		],
		"一门同气": [
			["yī"],
			["mén"],
			["tóng"],
			["qì"]
		],
		"一门心思": [
			["yī"],
			["mén"],
			["xīn"],
			["sī"]
		],
		"一梦华胥": [
			["yī"],
			["mèng"],
			["huá"],
			["xū"]
		],
		"一面之识": [
			["yī"],
			["miàn"],
			["zhī"],
			["shí"]
		],
		"一民同俗": [
			["yī"],
			["mín"],
			["tóng"],
			["sú"]
		],
		"一瞑不视": [
			["yī"],
			["míng"],
			["bù"],
			["shì"]
		],
		"一暝不视": [
			["yī"],
			["míng"],
			["bù"],
			["shì"]
		],
		"一模二样": [
			["yī"],
			["mó"],
			["èr"],
			["yàng"]
		],
		"一抹黑": [
			["yī"],
			["mǒ"],
			["hēi"]
		],
		"一模一样": [
			["yī"],
			["mú"],
			["yī"],
			["yàng"]
		],
		"一木难支": [
			["yī"],
			["mù"],
			["nán"],
			["zhī"]
		],
		"一目了然": [
			["yī"],
			["mù"],
			["liǎo"],
			["rán"]
		],
		"一目十行": [
			["yī"],
			["mù"],
			["shí"],
			["háng"]
		],
		"一目数行": [
			["yī"],
			["mù"],
			["shù"],
			["háng"]
		],
		"一目五行": [
			["yī"],
			["mù"],
			["wǔ"],
			["háng"]
		],
		"一男半女": [
			["yī"],
			["nán"],
			["bàn"],
			["nǚ"]
		],
		"一年半载": [
			["yī"],
			["nián"],
			["bàn"],
			["zǎi"]
		],
		"一年到头": [
			["yì"],
			["nián"],
			["dào"],
			["tóu"]
		],
		"一年一度": [
			["yī"],
			["nián"],
			["yī"],
			["dù"]
		],
		"一念之差": [
			["yī"],
			["niàn"],
			["zhī"],
			["chā"]
		],
		"一牛吼地": [
			["yī"],
			["niú"],
			["hǒu"],
			["dì"]
		],
		"一牛鸣地": [
			["yī"],
			["niú"],
			["míng"],
			["dì"]
		],
		"一拍即合": [
			["yī"],
			["pāi"],
			["jí"],
			["hé"]
		],
		"一盘散沙": [
			["yī"],
			["pán"],
			["sǎn"],
			["shā"]
		],
		"一喷一醒": [
			["yī"],
			["pēn"],
			["yī"],
			["xǐng"]
		],
		"一片冰心": [
			["yī"],
			["piàn"],
			["bīng"],
			["xīn"]
		],
		"一片宫商": [
			["yī"],
			["piàn"],
			["gōng"],
			["shāng"]
		],
		"一片丹心": [
			["yī"],
			["piàn"],
			["dān"],
			["xīn"]
		],
		"一片焦土": [
			["yī"],
			["piàn"],
			["jiāo"],
			["tǔ"]
		],
		"一片散沙": [
			["yī"],
			["piàn"],
			["sàn"],
			["shā"]
		],
		"一片汪洋": [
			["yī"],
			["piàn"],
			["wāng"],
			["yáng"]
		],
		"一偏之见": [
			["yī"],
			["piān"],
			["zhī"],
			["jiàn"]
		],
		"一偏之论": [
			["yī"],
			["piān"],
			["zhī"],
			["lùn"]
		],
		"一贫如洗": [
			["yī"],
			["pín"],
			["rú"],
			["xǐ"]
		],
		"一品红": [
			["yī"],
			["pǐn"],
			["hóng"]
		],
		"一掊土": [
			["yī"],
			["póu"],
			["tǔ"]
		],
		"一曝十寒": [
			["yī"],
			["pù"],
			["shí"],
			["hán"]
		],
		"一齐众楚": [
			["yī"],
			["qí"],
			["zhòng"],
			["chǔ"]
		],
		"一栖两雄": [
			["yī"],
			["qī"],
			["liǎng"],
			["xióng"]
		],
		"一气呵成": [
			["yī"],
			["qì"],
			["hē"],
			["chéng"]
		],
		"一钱不落虚空地": [
			["yī"],
			["qián"],
			["bù"],
			["luò"],
			["xū"],
			["kōng"],
			["dì"]
		],
		"一钱不名": [
			["yī"],
			["qián"],
			["bù"],
			["míng"]
		],
		"一钱不值": [
			["yī"],
			["qián"],
			["bù"],
			["zhí"]
		],
		"一窍不通": [
			["yī"],
			["qiào"],
			["bù"],
			["tōng"]
		],
		"一切万物": [
			["yī"],
			["qiē"],
			["wàn"],
			["wù"]
		],
		"一切众生": [
			["yī"],
			["qiè"],
			["zhòng"],
			["shēng"]
		],
		"一丘之貉": [
			["yī"],
			["qiū"],
			["zhī"],
			["hé"]
		],
		"一邱之貉": [
			["yī"],
			["qiū"],
			["zhī"],
			["hè"]
		],
		"一日三省": [
			["yī"],
			["rì"],
			["sān"],
			["xǐng"]
		],
		"一曲阳关": [
			["yī"],
			["qǔ"],
			["yáng"],
			["guān"]
		],
		"一去不复返": [
			["yī"],
			["qù"],
			["bù"],
			["fù"],
			["fǎn"]
		],
		"一人有庆": [
			["yī"],
			["rén"],
			["yǒu"],
			["qìng"]
		],
		"一日万机": [
			["yī"],
			["rì"],
			["wàn"],
			["jī"]
		],
		"一日万几": [
			["yī"],
			["rì"],
			["wàn"],
			["jǐ"]
		],
		"一日万里": [
			["yī"],
			["rì"],
			["wàn"],
			["lǐ"]
		],
		"一日之长": [
			["yī"],
			["rì"],
			["zhī"],
			["cháng"]
		],
		"一扫而空": [
			["yī"],
			["sǎo"],
			["ér"],
			["kōng"]
		],
		"一扫而光": [
			["yī"],
			["sǎo"],
			["ér"],
			["guāng"]
		],
		"一刹那": [
			["yī"],
			["chà"],
			["nà"]
		],
		"一霎那": [
			["yī"],
			["shà"],
			["nà"]
		],
		"一山不藏二虎": [
			["yī"],
			["shān"],
			["bù"],
			["cáng"],
			["èr"],
			["hǔ"]
		],
		"一蛇两头": [
			["yī"],
			["shé"],
			["liǎng"],
			["tóu"]
		],
		"一射之地": [
			["yī"],
			["shè"],
			["zhī"],
			["dì"]
		],
		"一身都是胆": [
			["yī"],
			["shēn"],
			["dōu"],
			["shì"],
			["dǎn"]
		],
		"一身而二任": [
			["yī"],
			["shēn"],
			["ér"],
			["èr"],
			["rèn"]
		],
		"一身二任": [
			["yī"],
			["shēn"],
			["èr"],
			["rèn"]
		],
		"一身两头": [
			["yī"],
			["shēn"],
			["liǎng"],
			["tóu"]
		],
		"一神教": [
			["yī"],
			["shén"],
			["jiào"]
		],
		"一声不吭": [
			["yī"],
			["shēng"],
			["bù"],
			["kēng"]
		],
		"一十八层地狱": [
			["yī"],
			["shí"],
			["bā"],
			["céng"],
			["dì"],
			["yù"]
		],
		"一石二鸟": [
			["yī"],
			["shí"],
			["èr"],
			["niǎo"]
		],
		"一时伯仲": [
			["yī"],
			["shí"],
			["bó"],
			["zhòng"]
		],
		"一时半会儿": [
			["yī"],
			["shí"],
			["bàn"],
			["huì"],
			["er"]
		],
		"一时间": [
			["yī"],
			["shí"],
			["jiān"]
		],
		"一时千载": [
			["yī"],
			["shí"],
			["qiān"],
			["zǎi"]
		],
		"一事不知": [
			["yī"],
			["shì"],
			["bù"],
			["zhī"]
		],
		"一视同仁": [
			["yī"],
			["shì"],
			["tóng"],
			["rén"]
		],
		"一丝不苟": [
			["yī"],
			["sī"],
			["bù"],
			["gǒu"]
		],
		"一双两好": [
			["yī"],
			["shuāng"],
			["liǎng"],
			["hǎo"]
		],
		"一丝不挂": [
			["yī"],
			["sī"],
			["bù"],
			["guà"]
		],
		"一丝不紊": [
			["yī"],
			["sī"],
			["bù"],
			["wěn"]
		],
		"一塌糊涂": [
			["yī"],
			["tā"],
			["hú"],
			["tú"]
		],
		"一索得男": [
			["yī"],
			["suǒ"],
			["dé"],
			["nán"]
		],
		"一榻横陈": [
			["yī"],
			["tà"],
			["héng"],
			["chén"]
		],
		"一岁载赦": [
			["yī"],
			["suì"],
			["zài"],
			["shè"]
		],
		"一体同心": [
			["yī"],
			["tǐ"],
			["tóng"],
			["xīn"]
		],
		"一天一地": [
			["yī"],
			["tiān"],
			["yī"],
			["dì"]
		],
		"一头热": [
			["yī"],
			["tóu"],
			["rè"]
		],
		"一条心": [
			["yī"],
			["tiáo"],
			["xīn"]
		],
		"一条龙": [
			["yī"],
			["tiáo"],
			["lóng"]
		],
		"一天星斗": [
			["yī"],
			["tiān"],
			["xīng"],
			["dǒu"]
		],
		"一吐为快": [
			["yī"],
			["tǔ"],
			["wéi"],
			["kuài"]
		],
		"一团和气": [
			["yī"],
			["tuán"],
			["hé"],
			["qì"]
		],
		"一退六二五": [
			["yī"],
			["tuī"],
			["liù"],
			["èr"],
			["wǔ"]
		],
		"一网打尽": [
			["yī"],
			["wǎng"],
			["dǎ"],
			["jìn"]
		],
		"一网尽扫": [
			["yī"],
			["wǎng"],
			["jìn"],
			["sǎo"]
		],
		"一苇可航": [
			["yī"],
			["wěi"],
			["kě"],
			["háng"]
		],
		"一望而知": [
			["yī"],
			["wàng"],
			["ér"],
			["zhī"]
		],
		"一文不值": [
			["yī"],
			["wén"],
			["bù"],
			["zhí"]
		],
		"一文不名": [
			["yī"],
			["wén"],
			["bù"],
			["míng"]
		],
		"一文钱难倒英雄汉": [
			["yī"],
			["wén"],
			["qián"],
			["nán"],
			["dǎo"],
			["yīng"],
			["xióng"],
			["hàn"]
		],
		"一问三不知": [
			["yī"],
			["wèn"],
			["sān"],
			["bù"],
			["zhī"]
		],
		"一窝风": [
			["yī"],
			["wō"],
			["fēng"]
		],
		"一卧不起": [
			["yī"],
			["wò"],
			["bù"],
			["qǐ"]
		],
		"一无是处": [
			["yī"],
			["wú"],
			["shì"],
			["chù"]
		],
		"一无长物": [
			["yī"],
			["wú"],
			["cháng"],
			["wù"]
		],
		"一无可取": [
			["yī"],
			["wú"],
			["kě"],
			["qǔ"]
		],
		"一无所得": [
			["yī"],
			["wú"],
			["suǒ"],
			["dé"]
		],
		"一无所长": [
			["yī"],
			["wú"],
			["suǒ"],
			["cháng"]
		],
		"一无所能": [
			["yī"],
			["wú"],
			["suǒ"],
			["néng"]
		],
		"一无所有": [
			["yī"],
			["wú"],
			["suǒ"],
			["yǒu"]
		],
		"一无所知": [
			["yī"],
			["wú"],
			["suǒ"],
			["zhī"]
		],
		"一物不知": [
			["yī"],
			["wù"],
			["bù"],
			["zhī"]
		],
		"一物降一物": [
			["yī"],
			["wù"],
			["xiáng"],
			["yī"],
			["wù"]
		],
		"一夕一朝": [
			["yī"],
			["xī"],
			["yī"],
			["zhāo"]
		],
		"一息奄奄": [
			["yī"],
			["xī"],
			["yǎn"],
			["yǎn"]
		],
		"一席之地": [
			["yī"],
			["xí"],
			["zhī"],
			["dì"]
		],
		"一系列": [
			["yī"],
			["xì"],
			["liè"]
		],
		"一现昙华": [
			["yī"],
			["xiàn"],
			["tán"],
			["huā"]
		],
		"一相情原": [
			["yī"],
			["xiāng"],
			["qíng"],
			["yuán"]
		],
		"一相情愿": [
			["yī"],
			["xiāng"],
			["qíng"],
			["yuàn"]
		],
		"一小撮": [
			["yī"],
			["xiǎo"],
			["cuō"]
		],
		"一笑了事": [
			["yī"],
			["xiào"],
			["le"],
			["shì"]
		],
		"一笑了之": [
			["yī"],
			["xiào"],
			["liǎo"],
			["zhī"]
		],
		"一些半些": [
			["yī"],
			["xiē"],
			["bàn"],
			["xiē"]
		],
		"一泻万里": [
			["yī"],
			["xiè"],
			["wàn"],
			["lǐ"]
		],
		"一蟹不如一蟹": [
			["yī"],
			["xiè"],
			["bù"],
			["rú"],
			["yī"],
			["xiè"]
		],
		"一心同功": [
			["yī"],
			["xīn"],
			["tóng"],
			["gōng"]
		],
		"一心同归": [
			["yī"],
			["xīn"],
			["tóng"],
			["guī"]
		],
		"一心同体": [
			["yī"],
			["xīn"],
			["tóng"],
			["tǐ"]
		],
		"一行人": [
			["yī"],
			["xíng"],
			["rén"]
		],
		"一行作吏": [
			["yī"],
			["xíng"],
			["zuò"],
			["lì"]
		],
		"一熏一莸": [
			["yī"],
			["xūn"],
			["yī"],
			["yóu"]
		],
		"一言不发": [
			["yī"],
			["yán"],
			["bù"],
			["fā"]
		],
		"一言半句": [
			["yī"],
			["yán"],
			["bàn"],
			["jù"]
		],
		"一言半语": [
			["yī"],
			["yán"],
			["bàn"],
			["yǔ"]
		],
		"一言难尽": [
			["yī"],
			["yán"],
			["nán"],
			["jìn"]
		],
		"一言两语": [
			["yī"],
			["yán"],
			["liǎng"],
			["yǔ"]
		],
		"一言丧邦": [
			["yī"],
			["yán"],
			["sàng"],
			["bāng"]
		],
		"一言为定": [
			["yī"],
			["yán"],
			["wéi"],
			["dìng"]
		],
		"一言兴邦": [
			["yī"],
			["yán"],
			["xīng"],
			["bāng"]
		],
		"一言一行": [
			["yī"],
			["yán"],
			["yī"],
			["xíng"]
		],
		"一氧化碳": [
			["yī"],
			["yǎng"],
			["huà"],
			["tàn"]
		],
		"一叶报秋": [
			["yī"],
			["yè"],
			["bào"],
			["qiū"]
		],
		"一叶迷山": [
			["yī"],
			["yè"],
			["mí"],
			["shān"]
		],
		"一叶落知天下秋": [
			["yī"],
			["yè"],
			["luò"],
			["zhī"],
			["tiān"],
			["xià"],
			["qiū"]
		],
		"一叶障目": [
			["yī"],
			["yè"],
			["zhàng"],
			["mù"]
		],
		"一叶知秋": [
			["yī"],
			["yè"],
			["zhī"],
			["qiū"]
		],
		"一以当百": [
			["yī"],
			["yǐ"],
			["dāng"],
			["bǎi"]
		],
		"一以当十": [
			["yī"],
			["yǐ"],
			["dāng"],
			["shí"]
		],
		"一意孤行": [
			["yī"],
			["yì"],
			["gū"],
			["xíng"]
		],
		"一应俱全": [
			["yī"],
			["yīng"],
			["jù"],
			["quán"]
		],
		"一迎一和": [
			["yī"],
			["yíng"],
			["yī"],
			["hé"]
		],
		"一拥而上": [
			["yī"],
			["yōng"],
			["ér"],
			["shàng"]
		],
		"一隅之地": [
			["yī"],
			["yú"],
			["zhī"],
			["dì"]
		],
		"一隅之说": [
			["yī"],
			["yú"],
			["zhī"],
			["shuō"]
		],
		"一隅之见": [
			["yī"],
			["yú"],
			["zhī"],
			["jiàn"]
		],
		"一语道破": [
			["yī"],
			["yǔ"],
			["dào"],
			["pò"]
		],
		"一语破的": [
			["yī"],
			["yǔ"],
			["pò"],
			["dì"]
		],
		"一语双关": [
			["yī"],
			["yǔ"],
			["shuāng"],
			["guān"]
		],
		"一语中人": [
			["yī"],
			["yǔ"],
			["zhōng"],
			["rén"]
		],
		"一语中的": [
			["yī"],
			["yǔ"],
			["zhōng"],
			["dì"]
		],
		"一元大武": [
			["yī"],
			["yuán"],
			["dà"],
			["wǔ"]
		],
		"一渊不两蛟": [
			["yī"],
			["yuān"],
			["bù"],
			["liǎng"],
			["jiāo"]
		],
		"一元论": [
			["yī"],
			["yuán"],
			["lùn"]
		],
		"一元化": [
			["yī"],
			["yuán"],
			["huà"]
		],
		"一缘一会": [
			["yī"],
			["yuán"],
			["yī"],
			["huì"]
		],
		"一针见血": [
			["yī"],
			["zhēn"],
			["jiàn"],
			["xiě"]
		],
		"一枕南柯": [
			["yī"],
			["zhěn"],
			["nán"],
			["kē"]
		],
		"一阵风": [
			["yī"],
			["zhèn"],
			["fēng"]
		],
		"一之为甚": [
			["yī"],
			["zhī"],
			["wéi"],
			["shèn"]
		],
		"一之谓甚": [
			["yī"],
			["zhī"],
			["wèi"],
			["shèn"]
		],
		"一之已甚": [
			["yī"],
			["zhī"],
			["yǐ"],
			["shèn"]
		],
		"一支半节": [
			["yī"],
			["zhī"],
			["bàn"],
			["jié"]
		],
		"一枝香": [
			["yī"],
			["zhī"],
			["xiāng"]
		],
		"一枝一节": [
			["yī"],
			["zhī"],
			["yī"],
			["jié"]
		],
		"一枝一栖": [
			["yī"],
			["zhī"],
			["yī"],
			["qī"]
		],
		"一枝之栖": [
			["yī"],
			["zhī"],
			["zhī"],
			["qī"]
		],
		"一知半见": [
			["yī"],
			["zhī"],
			["bàn"],
			["jiàn"]
		],
		"一知半解": [
			["yī"],
			["zhī"],
			["bàn"],
			["jiě"]
		],
		"一知片解": [
			["yī"],
			["zhī"],
			["piàn"],
			["jiě"]
		],
		"一肢半节": [
			["yī"],
			["zhī"],
			["bàn"],
			["jié"]
		],
		"一肢一节": [
			["yī"],
			["zhī"],
			["yī"],
			["jié"]
		],
		"一纸空文": [
			["yī"],
			["zhǐ"],
			["kōng"],
			["wén"]
		],
		"一掷百万": [
			["yī"],
			["zhì"],
			["bǎi"],
			["wàn"]
		],
		"一重一掩": [
			["yī"],
			["chóng"],
			["yī"],
			["yǎn"]
		],
		"一转眼": [
			["yī"],
			["zhuǎn"],
			["yǎn"]
		],
		"一字不苟": [
			["yī"],
			["zì"],
			["bù"],
			["gǒu"]
		],
		"一字不易": [
			["yī"],
			["zì"],
			["bù"],
			["yì"]
		],
		"一字长城": [
			["yī"],
			["zì"],
			["cháng"],
			["chéng"]
		],
		"一字长蛇阵": [
			["yī"],
			["zì"],
			["cháng"],
			["shé"],
			["zhèn"]
		],
		"一字一句": [
			["yī"],
			["zì"],
			["yī"],
			["jù"]
		],
		"一走了之": [
			["yī"],
			["zǒu"],
			["liǎo"],
			["zhī"]
		],
		"一醉解千愁": [
			["yī"],
			["zuì"],
			["jiě"],
			["qiān"],
			["chóu"]
		],
		"一坐尽惊": [
			["yī"],
			["zuò"],
			["jìn"],
			["jīng"]
		],
		"一坐尽倾": [
			["yī"],
			["zuò"],
			["jìn"],
			["qīng"]
		],
		"伊甸园": [
			["yī"],
			["diàn"],
			["yuán"]
		],
		"伊何底止": [
			["yī"],
			["hé"],
			["dǐ"],
			["zhǐ"]
		],
		"伊斯兰教": [
			["yī"],
			["sī"],
			["lán"],
			["jiào"]
		],
		"伊于胡底": [
			["yī"],
			["yú"],
			["hú"],
			["dǐ"]
		],
		"衣被群生": [
			["yì"],
			["bèi"],
			["qún"],
			["shēng"]
		],
		"衣钵相传": [
			["yī"],
			["bō"],
			["xiāng"],
			["chuán"]
		],
		"衣不解带": [
			["yī"],
			["bù"],
			["jiě"],
			["dài"]
		],
		"衣不蔽体": [
			["yī"],
			["bù"],
			["bì"],
			["tǐ"]
		],
		"衣不完采": [
			["yī"],
			["bù"],
			["wán"],
			["cǎi"]
		],
		"衣冠楚楚": [
			["yī"],
			["guān"],
			["chǔ"],
			["chǔ"]
		],
		"衣单食薄": [
			["yī"],
			["dān"],
			["shí"],
			["bó"]
		],
		"衣冠礼乐": [
			["yī"],
			["guàn"],
			["lǐ"],
			["lè"]
		],
		"衣冠禽兽": [
			["yī"],
			["guān"],
			["qín"],
			["shòu"]
		],
		"衣冠土枭": [
			["yī"],
			["guān"],
			["tǔ"],
			["xiāo"]
		],
		"衣冠枭獍": [
			["yī"],
			["guān"],
			["xiāo"],
			["jìng"]
		],
		"衣冠冢": [
			["yì"],
			["guān"],
			["zhǒng"]
		],
		"衣架饭囊": [
			["yī"],
			["jià"],
			["fàn"],
			["náng"]
		],
		"衣锦过乡": [
			["yì"],
			["jǐn"],
			["guò"],
			["xiāng"]
		],
		"衣锦还乡": [
			["yì"],
			["jǐn"],
			["huán"],
			["xiāng"]
		],
		"衣锦食肉": [
			["yì"],
			["jǐn"],
			["shí"],
			["ròu"]
		],
		"衣锦夜行": [
			["yì"],
			["jǐn"],
			["yè"],
			["xíng"]
		],
		"衣锦昼行": [
			["yì"],
			["jǐn"],
			["zhòu"],
			["xíng"]
		],
		"衣帽间": [
			["yī"],
			["mào"],
			["jiān"]
		],
		"衣裳之会": [
			["yī"],
			["shāng"],
			["zhī"],
			["huì"]
		],
		"衣轻乘肥": [
			["yì"],
			["qīng"],
			["chéng"],
			["féi"]
		],
		"衣食不周": [
			["yī"],
			["shí"],
			["bù"],
			["zhōu"]
		],
		"衣食父母": [
			["yī"],
			["shí"],
			["fù"],
			["mǔ"]
		],
		"衣食税租": [
			["yī"],
			["shí"],
			["shuì"],
			["zū"]
		],
		"衣食住行": [
			["yī"],
			["shí"],
			["zhù"],
			["xíng"]
		],
		"衣绣夜行": [
			["yī"],
			["xiù"],
			["yè"],
			["xíng"]
		],
		"衣宵食旰": [
			["yī"],
			["xiāo"],
			["shí"],
			["gàn"]
		],
		"衣绣昼行": [
			["yì"],
			["xiù"],
			["zhòu"],
			["xíng"]
		],
		"衣租食税": [
			["yì"],
			["zū"],
			["shí"],
			["shuì"]
		],
		"依阿取容": [
			["yī"],
			["ē"],
			["qǔ"],
			["róng"]
		],
		"依翠偎红": [
			["yī"],
			["cuì"],
			["wēi"],
			["hóng"]
		],
		"依法炮制": [
			["yī"],
			["fǎ"],
			["páo"],
			["zhì"]
		],
		"依丱附木": [
			["yī"],
			["kuàng"],
			["fù"],
			["mù"]
		],
		"依头缕当": [
			["yī"],
			["tóu"],
			["lǚ"],
			["dàng"]
		],
		"依违两可": [
			["yī"],
			["wéi"],
			["liǎng"],
			["kě"]
		],
		"依头顺尾": [
			["yī"],
			["tóu"],
			["shùn"],
			["wěi"]
		],
		"依依不舍": [
			["yī"],
			["yī"],
			["bù"],
			["shě"]
		],
		"依依惜别": [
			["yī"],
			["yī"],
			["xī"],
			["bié"]
		],
		"壹败涂地": [
			["yī"],
			["bài"],
			["tú"],
			["dì"]
		],
		"壹倡三叹": [
			["yī"],
			["chàng"],
			["sān"],
			["tàn"]
		],
		"欹嵚历落": [
			["qī"],
			["qīn"],
			["lì"],
			["luò"]
		],
		"仪静体闲": [
			["yí"],
			["jìng"],
			["tǐ"],
			["xián"]
		],
		"仪态万方": [
			["yí"],
			["tài"],
			["wàn"],
			["fāng"]
		],
		"仪态万千": [
			["yí"],
			["tài"],
			["wàn"],
			["qiān"]
		],
		"夷然自若": [
			["yí"],
			["rán"],
			["zì"],
			["ruò"]
		],
		"沂水春风": [
			["yí"],
			["shuǐ"],
			["chūn"],
			["fēng"]
		],
		"宜家宜室": [
			["yí"],
			["jiā"],
			["yí"],
			["shì"]
		],
		"宜室宜家": [
			["yí"],
			["shì"],
			["yí"],
			["jiā"]
		],
		"怡然自得": [
			["yí"],
			["rán"],
			["zì"],
			["dé"]
		],
		"怡然自乐": [
			["yí"],
			["rán"],
			["zì"],
			["lè"]
		],
		"怡然自若": [
			["yí"],
			["rán"],
			["zì"],
			["ruò"]
		],
		"怡堂燕雀": [
			["yí"],
			["táng"],
			["yàn"],
			["què"]
		],
		"饴含抱孙": [
			["yí"],
			["hán"],
			["bào"],
			["sūn"]
		],
		"姨姥姥": [
			["yí"],
			["lǎo"],
			["lao"]
		],
		"贻臭万年": [
			["yí"],
			["chòu"],
			["wàn"],
			["nián"]
		],
		"贻厥孙谋": [
			["yí"],
			["jué"],
			["sūn"],
			["móu"]
		],
		"贻笑大方": [
			["yí"],
			["xiào"],
			["dà"],
			["fāng"]
		],
		"移风崇教": [
			["yí"],
			["fēng"],
			["chóng"],
			["jiào"]
		],
		"移的就箭": [
			["yí"],
			["dì"],
			["jiù"],
			["jiàn"]
		],
		"移风改俗": [
			["yí"],
			["fēng"],
			["gǎi"],
			["sú"]
		],
		"移风革俗": [
			["yí"],
			["fēng"],
			["gé"],
			["sú"]
		],
		"移风平俗": [
			["yí"],
			["fēng"],
			["píng"],
			["sú"]
		],
		"移风易尚": [
			["yí"],
			["fēng"],
			["yì"],
			["shàng"]
		],
		"移风易俗": [
			["yí"],
			["fēng"],
			["yì"],
			["sú"]
		],
		"移风振俗": [
			["yí"],
			["fēng"],
			["zhèn"],
			["sú"]
		],
		"移根换叶": [
			["yí"],
			["gēn"],
			["huàn"],
			["yè"]
		],
		"移根接叶": [
			["yí"],
			["gēn"],
			["jiē"],
			["yè"]
		],
		"移气养体": [
			["yí"],
			["qì"],
			["yǎng"],
			["tǐ"]
		],
		"移日卜夜": [
			["yí"],
			["rì"],
			["bǔ"],
			["yè"]
		],
		"移山倒海": [
			["yí"],
			["shān"],
			["dǎo"],
			["hǎi"]
		],
		"移山填海": [
			["yí"],
			["shān"],
			["tián"],
			["hǎi"]
		],
		"移孝为忠": [
			["yí"],
			["xiào"],
			["wéi"],
			["zhōng"]
		],
		"移星换斗": [
			["yí"],
			["xīng"],
			["huàn"],
			["dǒu"]
		],
		"移有足无": [
			["yí"],
			["yǒu"],
			["zú"],
			["wú"]
		],
		"移樽就教": [
			["yí"],
			["zūn"],
			["jiù"],
			["jiào"]
		],
		"遗臭千年": [
			["yí"],
			["chòu"],
			["qiān"],
			["nián"]
		],
		"遗臭千秋": [
			["yí"],
			["chòu"],
			["qiān"],
			["qiū"]
		],
		"遗臭万代": [
			["yí"],
			["chòu"],
			["wàn"],
			["dài"]
		],
		"遗臭万年": [
			["yí"],
			["chòu"],
			["wàn"],
			["nián"]
		],
		"遗臭万世": [
			["yí"],
			["chòu"],
			["wàn"],
			["shì"]
		],
		"遗臭万载": [
			["yí"],
			["chòu"],
			["wàn"],
			["zǎi"]
		],
		"遗臭无穷": [
			["yí"],
			["chòu"],
			["wú"],
			["qióng"]
		],
		"遗传病": [
			["yí"],
			["chuán"],
			["bìng"]
		],
		"遗传工程": [
			["yí"],
			["chuán"],
			["gōng"],
			["chéng"]
		],
		"遗传学": [
			["yí"],
			["chuán"],
			["xué"]
		],
		"遗大投艰": [
			["yí"],
			["dà"],
			["tóu"],
			["jiān"]
		],
		"遗德休烈": [
			["yí"],
			["dé"],
			["xiū"],
			["liè"]
		],
		"遗珥堕簪": [
			["yí"],
			["ěr"],
			["duò"],
			["zān"]
		],
		"遗风古道": [
			["yí"],
			["fēng"],
			["gǔ"],
			["dào"]
		],
		"遗风逸尘": [
			["yí"],
			["fēng"],
			["yì"],
			["chén"]
		],
		"遗风旧俗": [
			["yí"],
			["fēng"],
			["jiù"],
			["sú"]
		],
		"遗风余采": [
			["yí"],
			["fēng"],
			["yú"],
			["cǎi"]
		],
		"遗风余思": [
			["yí"],
			["fēng"],
			["yú"],
			["sī"]
		],
		"遗风余俗": [
			["yí"],
			["fēng"],
			["yú"],
			["sú"]
		],
		"遗风余教": [
			["yí"],
			["fēng"],
			["yú"],
			["jiào"]
		],
		"遗风余习": [
			["yí"],
			["fēng"],
			["yú"],
			["xí"]
		],
		"遗风余烈": [
			["yí"],
			["fēng"],
			["yú"],
			["liè"]
		],
		"遗风余象": [
			["yí"],
			["fēng"],
			["yú"],
			["xiàng"]
		],
		"遗风余韵": [
			["yí"],
			["fēng"],
			["yú"],
			["yùn"]
		],
		"遗风余泽": [
			["yí"],
			["fēng"],
			["yú"],
			["zé"]
		],
		"遗华反质": [
			["yí"],
			["huá"],
			["fǎn"],
			["zhì"]
		],
		"遗惠余泽": [
			["yí"],
			["huì"],
			["yú"],
			["zé"]
		],
		"遗艰投大": [
			["yí"],
			["jiān"],
			["tóu"],
			["dà"]
		],
		"遗魂亡魄": [
			["yí"],
			["hún"],
			["wáng"],
			["pò"]
		],
		"遗落世事": [
			["yí"],
			["luò"],
			["shì"],
			["shì"]
		],
		"遗老遗少": [
			["yí"],
			["lǎo"],
			["yí"],
			["shào"]
		],
		"遗哂大方": [
			["yí"],
			["shěn"],
			["dà"],
			["fāng"]
		],
		"遗寝载怀": [
			["yí"],
			["qǐn"],
			["zài"],
			["huái"]
		],
		"遗声余价": [
			["yí"],
			["shēng"],
			["yú"],
			["jià"]
		],
		"遗世忘累": [
			["yí"],
			["shì"],
			["wàng"],
			["lěi"]
		],
		"遗文逸句": [
			["yí"],
			["wén"],
			["yì"],
			["jù"]
		],
		"遗物识心": [
			["yí"],
			["wù"],
			["shí"],
			["xīn"]
		],
		"遗笑大方": [
			["yí"],
			["xiào"],
			["dà"],
			["fāng"]
		],
		"遗形藏志": [
			["yí"],
			["xíng"],
			["cáng"],
			["zhì"]
		],
		"遗休余烈": [
			["yí"],
			["xiū"],
			["yú"],
			["liè"]
		],
		"遗训余风": [
			["yí"],
			["xùn"],
			["yú"],
			["fēng"]
		],
		"遗簪堕珥": [
			["yí"],
			["zān"],
			["duò"],
			["ěr"]
		],
		"颐和园": [
			["yí"],
			["hé"],
			["yuán"]
		],
		"遗簪堕履": [
			["yí"],
			["zān"],
			["duò"],
			["lǚ"]
		],
		"颐指风使": [
			["yí"],
			["zhǐ"],
			["fēng"],
			["shǐ"]
		],
		"疑神见鬼": [
			["yí"],
			["shén"],
			["jiàn"],
			["guǐ"]
		],
		"疑难杂症": [
			["yí"],
			["nán"],
			["zá"],
			["zhèng"]
		],
		"疑鬼疑神": [
			["yí"],
			["guǐ"],
			["yí"],
			["shén"]
		],
		"疑神疑鬼": [
			["yí"],
			["shén"],
			["yí"],
			["guǐ"]
		],
		"疑事无功": [
			["yí"],
			["shì"],
			["wú"],
			["gōng"]
		],
		"疑似之间": [
			["yí"],
			["sì"],
			["zhī"],
			["jiān"]
		],
		"疑团满腹": [
			["yí"],
			["tuán"],
			["mǎn"],
			["fù"]
		],
		"疑团莫释": [
			["yí"],
			["tuán"],
			["mò"],
			["shì"]
		],
		"疑问句": [
			["yí"],
			["wèn"],
			["jù"]
		],
		"疑误天下": [
			["yí"],
			["wù"],
			["tiān"],
			["xià"]
		],
		"疑心病": [
			["yí"],
			["xīn"],
			["bìng"]
		],
		"疑心生暗鬼": [
			["yí"],
			["xīn"],
			["shēng"],
			["àn"],
			["guǐ"]
		],
		"疑信参半": [
			["yí"],
			["xìn"],
			["cān"],
			["bàn"]
		],
		"疑行无成": [
			["yí"],
			["xíng"],
			["wú"],
			["chéng"]
		],
		"乙种粒子": [
			["yǐ"],
			["zhǒng"],
			["lì"],
			["zǐ"]
		],
		"乙种射线": [
			["yǐ"],
			["zhǒng"],
			["shè"],
			["xiàn"]
		],
		"乙状结肠": [
			["yǐ"],
			["zhuàng"],
			["jié"],
			["cháng"]
		],
		"已知数": [
			["yǐ"],
			["zhī"],
			["shù"]
		],
		"以暴易暴": [
			["yǐ"],
			["bào"],
			["yì"],
			["bào"]
		],
		"以白为黑": [
			["yǐ"],
			["bái"],
			["wéi"],
			["hēi"]
		],
		"以不济可": [
			["yǐ"],
			["fǒu"],
			["jì"],
			["kě"]
		],
		"以大恶细": [
			["yǐ"],
			["dà"],
			["wù"],
			["xì"]
		],
		"以德服人": [
			["yǐ"],
			["dé"],
			["fú"],
			["rén"]
		],
		"以德追祸": [
			["yǐ"],
			["dé"],
			["zhuī"],
			["huò"]
		],
		"以毒攻毒": [
			["yǐ"],
			["dú"],
			["gōng"],
			["dú"]
		],
		"以讹传讹": [
			["yǐ"],
			["é"],
			["chuán"],
			["é"]
		],
		"以耳为目": [
			["yǐ"],
			["ěr"],
			["wéi"],
			["mù"]
		],
		"以恶报恶": [
			["yǐ"],
			["è"],
			["bào"],
			["è"]
		],
		"以法为教": [
			["yǐ"],
			["fǎ"],
			["wéi"],
			["jiào"]
		],
		"以防不测": [
			["yǐ"],
			["fáng"],
			["bù"],
			["cè"]
		],
		"以防万一": [
			["yǐ"],
			["fáng"],
			["wàn"],
			["yī"]
		],
		"以功补过": [
			["yǐ"],
			["gōng"],
			["bǔ"],
			["guò"]
		],
		"以攻为守": [
			["yǐ"],
			["gōng"],
			["wéi"],
			["shǒu"]
		],
		"以宫笑角": [
			["yǐ"],
			["gōng"],
			["xiào"],
			["jué"]
		],
		"以古为鉴": [
			["yǐ"],
			["gǔ"],
			["wéi"],
			["jiàn"]
		],
		"以古为镜": [
			["yǐ"],
			["gǔ"],
			["wéi"],
			["jìng"]
		],
		"以骨去蚁": [
			["yǐ"],
			["gǔ"],
			["qù"],
			["yǐ"]
		],
		"以冠补履": [
			["yǐ"],
			["guān"],
			["bǔ"],
			["lǚ"]
		],
		"以观后效": [
			["yǐ"],
			["guān"],
			["hòu"],
			["xiào"]
		],
		"以规为瑱": [
			["yǐ"],
			["guī"],
			["wéi"],
			["tiàn"]
		],
		"以黑为白": [
			["yǐ"],
			["hēi"],
			["wéi"],
			["bái"]
		],
		"以毁为罚": [
			["yǐ"],
			["huǐ"],
			["wéi"],
			["fá"]
		],
		"以火去蛾": [
			["yǐ"],
			["huǒ"],
			["qù"],
			["é"]
		],
		"以己度人": [
			["yǐ"],
			["jǐ"],
			["duó"],
			["rén"]
		],
		"以假乱真": [
			["yǐ"],
			["jiǎ"],
			["luàn"],
			["zhēn"]
		],
		"以简驭繁": [
			["yǐ"],
			["jiǎn"],
			["yù"],
			["fán"]
		],
		"以简御繁": [
			["yǐ"],
			["jiǎn"],
			["yù"],
			["fán"]
		],
		"以酒解酲": [
			["yǐ"],
			["jiǔ"],
			["jiě"],
			["chéng"]
		],
		"以渴服马": [
			["yǐ"],
			["kě"],
			["fú"],
			["mǎ"]
		],
		"以类相从": [
			["yǐ"],
			["lèi"],
			["xiāng"],
			["cóng"]
		],
		"以礼相待": [
			["yǐ"],
			["lǐ"],
			["xiāng"],
			["dài"]
		],
		"以力服人": [
			["yǐ"],
			["lì"],
			["fú"],
			["rén"]
		],
		"以理服人": [
			["yǐ"],
			["lǐ"],
			["fú"],
			["rén"]
		],
		"以利累形": [
			["yǐ"],
			["lì"],
			["lěi"],
			["xíng"]
		],
		"以邻为壑": [
			["yǐ"],
			["lín"],
			["wéi"],
			["hè"]
		],
		"以鹿为马": [
			["yǐ"],
			["lù"],
			["wéi"],
			["mǎ"]
		],
		"以卵敌石": [
			["yǐ"],
			["luǎn"],
			["dí"],
			["shí"]
		],
		"以卵击石": [
			["yǐ"],
			["luǎn"],
			["jī"],
			["shí"]
		],
		"以卵投石": [
			["yǐ"],
			["luǎn"],
			["tóu"],
			["shí"]
		],
		"以毛相马": [
			["yǐ"],
			["máo"],
			["xiàng"],
			["mǎ"]
		],
		"以沫相濡": [
			["yǐ"],
			["mò"],
			["xiāng"],
			["rú"]
		],
		"以强凌弱": [
			["yǐ"],
			["qiáng"],
			["líng"],
			["ruò"]
		],
		"以强胜弱": [
			["yǐ"],
			["qiáng"],
			["shèng"],
			["ruò"]
		],
		"以筌为鱼": [
			["yǐ"],
			["quán"],
			["wéi"],
			["yú"]
		],
		"以人为鉴": [
			["yǐ"],
			["rén"],
			["wéi"],
			["jiàn"]
		],
		"以人为镜": [
			["yǐ"],
			["rén"],
			["wéi"],
			["jìng"]
		],
		"以人择官": [
			["yǐ"],
			["rén"],
			["zé"],
			["guān"]
		],
		"以忍为阍": [
			["yǐ"],
			["rěn"],
			["wéi"],
			["hūn"]
		],
		"以日为年": [
			["yǐ"],
			["rì"],
			["wéi"],
			["nián"]
		],
		"以弱胜强": [
			["yǐ"],
			["ruò"],
			["shèng"],
			["qiáng"]
		],
		"以弱制强": [
			["yǐ"],
			["ruò"],
			["zhì"],
			["qiáng"]
		],
		"以慎为键": [
			["yǐ"],
			["shèn"],
			["wéi"],
			["jiàn"]
		],
		"以身许国": [
			["yǐ"],
			["shēng"],
			["xǔ"],
			["guó"]
		],
		"以升量石": [
			["yǐ"],
			["shēng"],
			["liáng"],
			["dàn"]
		],
		"以石投卵": [
			["yǐ"],
			["shí"],
			["tóu"],
			["luǎn"]
		],
		"以石投水": [
			["yǐ"],
			["shí"],
			["tóu"],
			["shuǐ"]
		],
		"以售其奸": [
			["yǐ"],
			["shòu"],
			["qí"],
			["jiān"]
		],
		"以守为攻": [
			["yǐ"],
			["shǒu"],
			["wéi"],
			["gōng"]
		],
		"以书为御": [
			["yǐ"],
			["shū"],
			["wéi"],
			["yù"]
		],
		"以水济水": [
			["yǐ"],
			["shuǐ"],
			["jǐ"],
			["shuǐ"]
		],
		"以疏间亲": [
			["yǐ"],
			["shū"],
			["jiàn"],
			["qīn"]
		],
		"以水投石": [
			["yǐ"],
			["shuǐ"],
			["tóu"],
			["shí"]
		],
		"以水洗血": [
			["yǐ"],
			["shuǐ"],
			["xǐ"],
			["xuè"]
		],
		"以汤沃沸": [
			["yǐ"],
			["tāng"],
			["wò"],
			["fèi"]
		],
		"以汤沃雪": [
			["yǐ"],
			["tāng"],
			["wò"],
			["xuě"]
		],
		"以汤止沸": [
			["yǐ"],
			["tāng"],
			["zhǐ"],
			["fèi"]
		],
		"以螳当车": [
			["yǐ"],
			["táng"],
			["dāng"],
			["chē"]
		],
		"以退为进": [
			["yǐ"],
			["tuì"],
			["wéi"],
			["jìn"]
		],
		"以天下为己任": [
			["yǐ"],
			["tiān"],
			["xià"],
			["wéi"],
			["jǐ"],
			["rèn"]
		],
		"以微知著": [
			["yǐ"],
			["wēi"],
			["zhī"],
			["zhù"]
		],
		"以微知着": [
			["yǐ"],
			["wēi"],
			["zhī"],
			["zhù"]
		],
		"以为后图": [
			["yǐ"],
			["wéi"],
			["hòu"],
			["tú"]
		],
		"以文会友": [
			["yǐ"],
			["wén"],
			["huì"],
			["yǒu"]
		],
		"以郄视文": [
			["yǐ"],
			["xì"],
			["shì"],
			["wén"]
		],
		"以小见大": [
			["yǐ"],
			["xiǎo"],
			["jiàn"],
			["dà"]
		],
		"以心传心": [
			["yǐ"],
			["xīn"],
			["chuán"],
			["xīn"]
		],
		"以血洗血": [
			["yǐ"],
			["xuè"],
			["xǐ"],
			["xuè"]
		],
		"以牙还牙": [
			["yǐ"],
			["yá"],
			["huán"],
			["yá"]
		],
		"以言为讳": [
			["yǐ"],
			["yán"],
			["wéi"],
			["huì"]
		],
		"以眼还眼，以牙还牙": [
			["yǐ"],
			["yǎn"],
			["huán"],
			["yǎn"],
			["，"],
			["yǐ"],
			["yá"],
			["huá"],
			["yá"]
		],
		"以眼还眼": [
			["yǐ"],
			["yǎn"],
			["huán"],
			["yǎn"]
		],
		"以羊易牛": [
			["yǐ"],
			["yáng"],
			["yì"],
			["niú"]
		],
		"以夜继朝": [
			["yǐ"],
			["yè"],
			["jì"],
			["zhāo"]
		],
		"以一持万": [
			["yǐ"],
			["yī"],
			["chí"],
			["wàn"]
		],
		"以一当十": [
			["yǐ"],
			["yī"],
			["dāng"],
			["shí"]
		],
		"以一知万": [
			["yǐ"],
			["yī"],
			["zhī"],
			["wàn"]
		],
		"以意为之": [
			["yǐ"],
			["yì"],
			["wéi"],
			["zhī"]
		],
		"以疑决疑": [
			["yǐ"],
			["yí"],
			["jué"],
			["yí"]
		],
		"以逸待劳": [
			["yǐ"],
			["yì"],
			["dài"],
			["láo"]
		],
		"以镒称铢": [
			["yǐ"],
			["yì"],
			["chēng"],
			["zhū"]
		],
		"以佚待劳": [
			["yǐ"],
			["yì"],
			["dài"],
			["láo"]
		],
		"以誉进能": [
			["yǐ"],
			["yù"],
			["jìn"],
			["néng"]
		],
		"以泽量尸": [
			["yǐ"],
			["zé"],
			["liáng"],
			["shī"]
		],
		"以正视听": [
			["yǐ"],
			["zhèng"],
			["shì"],
			["tīng"]
		],
		"以誉为赏": [
			["yǐ"],
			["yù"],
			["wéi"],
			["shǎng"]
		],
		"以众暴寡": [
			["yǐ"],
			["zhòng"],
			["bào"],
			["guǎ"]
		],
		"以珠弹雀": [
			["yǐ"],
			["zhū"],
			["tán"],
			["què"]
		],
		"以铢称镒": [
			["yǐ"],
			["zhū"],
			["chēng"],
			["yì"]
		],
		"以锥刺地": [
			["yǐ"],
			["zhuī"],
			["cì"],
			["dì"]
		],
		"以紫乱朱": [
			["yǐ"],
			["zǐ"],
			["luàn"],
			["zhū"]
		],
		"以紫为朱": [
			["yǐ"],
			["zǐ"],
			["wéi"],
			["zhū"]
		],
		"蚁斗蜗争": [
			["yǐ"],
			["dòu"],
			["wō"],
			["zhēng"]
		],
		"蚁附蜂屯": [
			["yǐ"],
			["fù"],
			["fēng"],
			["tún"]
		],
		"蚁封穴雨": [
			["yǐ"],
			["fēng"],
			["xué"],
			["yǔ"]
		],
		"蚁集蜂攒": [
			["yǐ"],
			["jí"],
			["fēng"],
			["cuán"]
		],
		"蚁聚蜂屯": [
			["yǐ"],
			["jù"],
			["fēng"],
			["tún"]
		],
		"蚁聚蜂攒": [
			["yǐ"],
			["jù"],
			["fēng"],
			["cuán"]
		],
		"蚁溃鼠骇": [
			["yǐ"],
			["kuì"],
			["shǔ"],
			["hài"]
		],
		"蚁穴坏堤": [
			["yǐ"],
			["xué"],
			["huài"],
			["dī"]
		],
		"蚁穴溃堤": [
			["yǐ"],
			["xué"],
			["kuì"],
			["dī"]
		],
		"蚁拥蜂攒": [
			["yǐ"],
			["yōng"],
			["fēng"],
			["cuán"]
		],
		"倚翠偎红": [
			["yǐ"],
			["cuì"],
			["wēi"],
			["hóng"]
		],
		"倚官挟势": [
			["yǐ"],
			["guān"],
			["xié"],
			["shì"]
		],
		"倚姣作媚": [
			["yǐ"],
			["jiāo"],
			["zuò"],
			["mèi"]
		],
		"倚闾望切": [
			["yǐ"],
			["lǘ"],
			["wàng"],
			["qiē"]
		],
		"倚马可待": [
			["yǐ"],
			["mǎ"],
			["kě"],
			["dài"]
		],
		"倚门卖俏": [
			["yǐ"],
			["mén"],
			["mài"],
			["qiào"]
		],
		"倚强凌弱": [
			["yǐ"],
			["qiáng"],
			["líng"],
			["ruò"]
		],
		"倚天拔地": [
			["yǐ"],
			["tiān"],
			["bá"],
			["dì"]
		],
		"旖旎风光": [
			["yǐ"],
			["nǐ"],
			["fēng"],
			["guāng"]
		],
		"义薄云天": [
			["yì"],
			["bó"],
			["yún"],
			["tiān"]
		],
		"义不取容": [
			["yì"],
			["bù"],
			["qǔ"],
			["róng"]
		],
		"义不反顾": [
			["yì"],
			["bù"],
			["fǎn"],
			["gù"]
		],
		"义不容辞": [
			["yì"],
			["bù"],
			["róng"],
			["cí"]
		],
		"义不生财": [
			["yì"],
			["bù"],
			["shēng"],
			["cái"]
		],
		"义愤填胸": [
			["yì"],
			["fèn"],
			["tián"],
			["xiōng"]
		],
		"义愤填膺": [
			["yì"],
			["fèn"],
			["tián"],
			["yīng"]
		],
		"义和团": [
			["yì"],
			["hé"],
			["tuán"]
		],
		"义和拳": [
			["yì"],
			["hé"],
			["quán"]
		],
		"义浆仁粟": [
			["yì"],
			["jiāng"],
			["rén"],
			["sù"]
		],
		"义气相投": [
			["yì"],
			["qì"],
			["xiāng"],
			["tóu"]
		],
		"义无旋踵": [
			["yì"],
			["wú"],
			["xuán"],
			["zhǒng"]
		],
		"义务教育": [
			["yì"],
			["wù"],
			["jiào"],
			["yù"]
		],
		"义正词严": [
			["yì"],
			["zhèng"],
			["cí"],
			["yán"]
		],
		"义正辞约": [
			["yì"],
			["zhèng"],
			["cí"],
			["yuē"]
		],
		"义正辞严": [
			["yì"],
			["zhèng"],
			["cí"],
			["yán"]
		],
		"义重恩深": [
			["yì"],
			["zhòng"],
			["ēn"],
			["shēn"]
		],
		"亿万斯年": [
			["yì"],
			["wàn"],
			["sī"],
			["nián"]
		],
		"亿辛万苦": [
			["yì"],
			["xīn"],
			["wàn"],
			["kǔ"]
		],
		"弋人何篡": [
			["yì"],
			["rén"],
			["hé"],
			["cuàn"]
		],
		"艺不压身": [
			["yì"],
			["bù"],
			["yā"],
			["shēn"]
		],
		"忆苦思甜": [
			["yì"],
			["kǔ"],
			["sī"],
			["tián"]
		],
		"艺高胆大": [
			["yì"],
			["gāo"],
			["dǎn"],
			["dà"]
		],
		"艺高人胆大": [
			["yì"],
			["gāo"],
			["rén"],
			["dǎn"],
			["dà"]
		],
		"艺术家": [
			["yì"],
			["shù"],
			["jiā"]
		],
		"艺术品": [
			["yì"],
			["shù"],
			["pǐn"]
		],
		"艺术体操": [
			["yì"],
			["shù"],
			["tǐ"],
			["cāo"]
		],
		"艺术性": [
			["yì"],
			["shù"],
			["xìng"]
		],
		"仡佬族": [
			["gē"],
			["lǎo"],
			["zú"]
		],
		"议不反顾": [
			["yì"],
			["bù"],
			["fǎn"],
			["gù"]
		],
		"议会制": [
			["yì"],
			["huì"],
			["zhì"]
		],
		"议论纷错": [
			["yì"],
			["lùn"],
			["fēn"],
			["cuò"]
		],
		"议论纷纷": [
			["yì"],
			["lùn"],
			["fēn"],
			["fēn"]
		],
		"议论纷纭": [
			["yì"],
			["lùn"],
			["fēn"],
			["yún"]
		],
		"议论风发": [
			["yì"],
			["lùn"],
			["fēng"],
			["fā"]
		],
		"议论风生": [
			["yì"],
			["lùn"],
			["fēng"],
			["shēng"]
		],
		"议论文": [
			["yì"],
			["lùn"],
			["wén"]
		],
		"议论英发": [
			["yì"],
			["lùn"],
			["yīng"],
			["fā"]
		],
		"亦步亦趋": [
			["yì"],
			["bù"],
			["yì"],
			["qū"]
		],
		"亦趋亦步": [
			["yì"],
			["qū"],
			["yì"],
			["bù"]
		],
		"异宝奇珍": [
			["yì"],
			["bǎo"],
			["qí"],
			["zhēn"]
		],
		"异草奇花": [
			["yì"],
			["cǎo"],
			["qí"],
			["huā"]
		],
		"异地相逢": [
			["yì"],
			["dì"],
			["xiāng"],
			["féng"]
		],
		"异端邪说": [
			["yì"],
			["duān"],
			["xié"],
			["shuō"]
		],
		"异口同声": [
			["yì"],
			["kǒu"],
			["tóng"],
			["shēng"]
		],
		"异口同音": [
			["yì"],
			["kǒu"],
			["tóng"],
			["yīn"]
		],
		"异口同韵": [
			["yì"],
			["kǒu"],
			["tóng"],
			["yùn"]
		],
		"异路同归": [
			["yì"],
			["lù"],
			["tóng"],
			["guī"]
		],
		"异名同实": [
			["yì"],
			["míng"],
			["tóng"],
			["shí"]
		],
		"异木奇花": [
			["yì"],
			["mù"],
			["qí"],
			["huā"]
		],
		"异体字": [
			["yì"],
			["tǐ"],
			["zì"]
		],
		"异涂同归": [
			["yì"],
			["tú"],
			["tóng"],
			["guī"]
		],
		"异曲同工": [
			["yì"],
			["qǔ"],
			["tóng"],
			["gōng"]
		],
		"异途同归": [
			["yì"],
			["tú"],
			["tóng"],
			["guī"]
		],
		"异闻传说": [
			["yì"],
			["wén"],
			["chuán"],
			["shuō"]
		],
		"抑强扶弱": [
			["yì"],
			["qiáng"],
			["fú"],
			["ruò"]
		],
		"抑菌作用": [
			["yì"],
			["jūn"],
			["zuò"],
			["yòng"]
		],
		"抑塞磊落": [
			["yì"],
			["sè"],
			["lěi"],
			["luò"]
		],
		"译意风": [
			["yì"],
			["yì"],
			["fēng"]
		],
		"译制片": [
			["yì"],
			["zhì"],
			["piàn"]
		],
		"易地而处": [
			["yì"],
			["dì"],
			["ér"],
			["chǔ"]
		],
		"易口以食": [
			["yì"],
			["kǒu"],
			["yǐ"],
			["shí"]
		],
		"易如拾芥": [
			["yì"],
			["rú"],
			["shí"],
			["jiè"]
		],
		"易俗移风": [
			["yì"],
			["sú"],
			["yí"],
			["fēng"]
		],
		"易同反掌": [
			["yì"],
			["tóng"],
			["fǎn"],
			["zhǎng"]
		],
		"易于拾遗": [
			["yì"],
			["yú"],
			["shí"],
			["yí"]
		],
		"易子而教": [
			["yì"],
			["zǐ"],
			["ér"],
			["jiào"]
		],
		"羿射九日": [
			["yì"],
			["shè"],
			["jiǔ"],
			["rì"]
		],
		"易子而食": [
			["yì"],
			["zǐ"],
			["ér"],
			["shí"]
		],
		"悒悒不乐": [
			["yì"],
			["yì"],
			["bù"],
			["lè"]
		],
		"挹彼注兹": [
			["yì"],
			["bǐ"],
			["zhù"],
			["zī"]
		],
		"挹斗扬箕": [
			["yì"],
			["dǒu"],
			["yáng"],
			["jī"]
		],
		"谊不容辞": [
			["yì"],
			["bù"],
			["róng"],
			["cí"]
		],
		"谊不敢辞": [
			["yì"],
			["bù"],
			["gǎn"],
			["cí"]
		],
		"谊切苔岑": [
			["yì"],
			["qiè"],
			["tái"],
			["cén"]
		],
		"逸尘断鞅": [
			["yì"],
			["chén"],
			["duàn"],
			["yāng"]
		],
		"逸趣横生": [
			["yì"],
			["qù"],
			["héng"],
			["shēng"]
		],
		"逸态横生": [
			["yì"],
			["tài"],
			["héng"],
			["shēng"]
		],
		"逸闻趣事": [
			["yì"],
			["wén"],
			["qù"],
			["shì"]
		],
		"逸兴遄飞": [
			["yì"],
			["xìng"],
			["chuán"],
			["fēi"]
		],
		"逸兴横飞": [
			["yì"],
			["xìng"],
			["héng"],
			["fēi"]
		],
		"逸兴云飞": [
			["yì"],
			["xìng"],
			["yún"],
			["fēi"]
		],
		"逸以待劳": [
			["yì"],
			["yǐ"],
			["dài"],
			["láo"]
		],
		"意得志满": [
			["yì"],
			["dé"],
			["zhì"],
			["mǎn"]
		],
		"意广才疏": [
			["yì"],
			["guǎng"],
			["cái"],
			["shū"]
		],
		"意合情投": [
			["yì"],
			["hé"],
			["qíng"],
			["tóu"]
		],
		"意见箱": [
			["yì"],
			["jiàn"],
			["xiāng"]
		],
		"意满志得": [
			["yì"],
			["mǎn"],
			["zhì"],
			["dé"]
		],
		"意气风发": [
			["yì"],
			["qì"],
			["fēng"],
			["fā"]
		],
		"意气相得": [
			["yì"],
			["qì"],
			["xiāng"],
			["dé"]
		],
		"意气相投": [
			["yì"],
			["qì"],
			["xiāng"],
			["tóu"]
		],
		"意气自若": [
			["yì"],
			["qì"],
			["zì"],
			["ruò"]
		],
		"意识形态": [
			["yì"],
			["shí"],
			["xíng"],
			["tài"]
		],
		"意味深长": [
			["yì"],
			["wèi"],
			["shēn"],
			["cháng"]
		],
		"意味着": [
			["yì"],
			["wèi"],
			["zhe"]
		],
		"意想不到": [
			["yì"],
			["xiǎng"],
			["bù"],
			["dào"]
		],
		"意兴盎然": [
			["yì"],
			["xìng"],
			["àng"],
			["rán"]
		],
		"意兴索然": [
			["yì"],
			["xīng"],
			["suǒ"],
			["rán"]
		],
		"意义深长": [
			["yì"],
			["yì"],
			["shēn"],
			["cháng"]
		],
		"意转心回": [
			["yì"],
			["zhuǎn"],
			["xīn"],
			["huí"]
		],
		"意中人": [
			["yì"],
			["zhōng"],
			["rén"]
		],
		"溢美溢恶": [
			["yì"],
			["měi"],
			["yì"],
			["lè"]
		],
		"溢美之语": [
			["yì"],
			["měi"],
			["zhī"],
			["yǔ"]
		],
		"瘗玉埋香": [
			["yì"],
			["yù"],
			["mái"],
			["xiāng"]
		],
		"薏苡蒙谤": [
			["yì"],
			["yǐ"],
			["méng"],
			["bàng"]
		],
		"因材施教": [
			["yīn"],
			["cái"],
			["shī"],
			["jiào"]
		],
		"因敌为资": [
			["yīn"],
			["dí"],
			["wéi"],
			["zī"]
		],
		"因地制宜": [
			["yīn"],
			["dì"],
			["zhì"],
			["yí"]
		],
		"因风吹火": [
			["yīn"],
			["fēng"],
			["chuī"],
			["huǒ"]
		],
		"因公假私": [
			["yīn"],
			["gōng"],
			["jiǎ"],
			["sī"]
		],
		"因公行私": [
			["yīn"],
			["gōng"],
			["xíng"],
			["sī"]
		],
		"因果报应": [
			["yīn"],
			["guǒ"],
			["bào"],
			["yìng"]
		],
		"因祸得福": [
			["yīn"],
			["huò"],
			["dé"],
			["fú"]
		],
		"因祸为福": [
			["yīn"],
			["huò"],
			["wéi"],
			["fú"]
		],
		"因利乘便": [
			["yīn"],
			["lì"],
			["chéng"],
			["biàn"]
		],
		"因难见巧": [
			["yīn"],
			["nán"],
			["jiàn"],
			["qiǎo"]
		],
		"因树为屋": [
			["yīn"],
			["shù"],
			["wéi"],
			["wū"]
		],
		"因任授官": [
			["yīn"],
			["rèn"],
			["shòu"],
			["guān"]
		],
		"因循苟且": [
			["yīn"],
			["xún"],
			["gǒu"],
			["qiě"]
		],
		"因小失大": [
			["yīn"],
			["xiǎo"],
			["shī"],
			["dà"]
		],
		"因噎废食": [
			["yīn"],
			["yē"],
			["fèi"],
			["shí"]
		],
		"因缘为市": [
			["yīn"],
			["yuán"],
			["wéi"],
			["shì"]
		],
		"阴错阳差": [
			["yīn"],
			["cuò"],
			["yáng"],
			["chā"]
		],
		"阴曹地府": [
			["yīn"],
			["cáo"],
			["dì"],
			["fǔ"]
		],
		"阴服微行": [
			["yīn"],
			["fú"],
			["wēi"],
			["xíng"]
		],
		"阴差阳错": [
			["yīn"],
			["chā"],
			["yáng"],
			["cuò"]
		],
		"阴魂不散": [
			["yīn"],
			["hún"],
			["bù"],
			["sàn"]
		],
		"阴山背后": [
			["yīn"],
			["shān"],
			["bèi"],
			["hòu"]
		],
		"阴阳家": [
			["yīn"],
			["yáng"],
			["jiā"]
		],
		"阴疑阳战": [
			["yīn"],
			["yí"],
			["yáng"],
			["zhàn"]
		],
		"荫子封妻": [
			["yìn"],
			["zǐ"],
			["fēng"],
			["qī"]
		],
		"阴着儿": [
			["yīn"],
			["zhāo"],
			["ér"]
		],
		"音节文字": [
			["yīn"],
			["jié"],
			["wén"],
			["zì"]
		],
		"音容宛在": [
			["yīn"],
			["róng"],
			["wǎn"],
			["zài"]
		],
		"音信杳无": [
			["yīn"],
			["xìn"],
			["yǎo"],
			["wú"]
		],
		"音乐剧": [
			["yīn"],
			["yuè"],
			["jù"]
		],
		"音乐老师": [
			["yīn"],
			["yuè"],
			["lǎo"],
			["shī"]
		],
		"音乐喷泉": [
			["yīn"],
			["yuè"],
			["pēn"],
			["quán"]
		],
		"音乐频道": [
			["yīn"],
			["yuè"],
			["pín"],
			["dào"]
		],
		"殷鉴不远": [
			["yīn"],
			["jiàn"],
			["bù"],
			["yuǎn"]
		],
		"殷浩书空": [
			["yīn"],
			["hào"],
			["shū"],
			["kōng"]
		],
		"殷天蔽日": [
			["yīn"],
			["tiān"],
			["bì"],
			["rì"]
		],
		"殷民阜财": [
			["yīn"],
			["mín"],
			["fù"],
			["cái"]
		],
		"殷殷屯屯": [
			["yīn"],
			["yīn"],
			["tún"],
			["tún"]
		],
		"堙谷堑山": [
			["yīn"],
			["gǔ"],
			["qiàn"],
			["shān"]
		],
		"吟风弄月": [
			["yín"],
			["fēng"],
			["nòng"],
			["yuè"]
		],
		"吟风咏月": [
			["yín"],
			["fēng"],
			["yǒng"],
			["yuè"]
		],
		"崟崎磊落": [
			["yín"],
			["qí"],
			["lěi"],
			["luò"]
		],
		"淫词秽语": [
			["yín"],
			["cí"],
			["huì"],
			["yǔ"]
		],
		"淫词亵语": [
			["yín"],
			["cí"],
			["xiè"],
			["yǔ"]
		],
		"淫词艳曲": [
			["yín"],
			["cí"],
			["yàn"],
			["qǔ"]
		],
		"淫辞秽语": [
			["yín"],
			["cí"],
			["huì"],
			["yǔ"]
		],
		"淫辞邪说": [
			["yín"],
			["cí"],
			["xié"],
			["shuō"]
		],
		"淫心匿行": [
			["yín"],
			["xīn"],
			["nì"],
			["xíng"]
		],
		"淫言诐行": [
			["yín"],
			["yán"],
			["bì"],
			["xíng"]
		],
		"淫言狎语": [
			["yín"],
			["yán"],
			["xiá"],
			["yǔ"]
		],
		"淫言媟语": [
			["yín"],
			["yán"],
			["liǎng"],
			["yǔ"]
		],
		"银钩虿尾": [
			["yín"],
			["gōu"],
			["chài"],
			["wěi"]
		],
		"银河倒泻": [
			["yín"],
			["hé"],
			["dào"],
			["xiè"]
		],
		"银屏金屋": [
			["yín"],
			["píng"],
			["jīn"],
			["wū"]
		],
		"银样蜡枪头": [
			["yín"],
			["yàng"],
			["là"],
			["qiāng"],
			["tóu"]
		],
		"银样镴枪头": [
			["yín"],
			["yàng"],
			["là"],
			["qiāng"],
			["tóu"]
		],
		"龈齿弹舌": [
			["yín"],
			["chǐ"],
			["dàn"],
			["shé"]
		],
		"龈龈计较": [
			["yín"],
			["yín"],
			["jì"],
			["jiào"]
		],
		"引车卖浆": [
			["yǐn"],
			["chē"],
			["mài"],
			["jiāng"]
		],
		"引短推长": [
			["yǐn"],
			["duǎn"],
			["tuī"],
			["cháng"]
		],
		"引而不发": [
			["yǐn"],
			["ér"],
			["bù"],
			["fā"]
		],
		"引风吹火": [
			["yǐn"],
			["fēng"],
			["chuī"],
			["huǒ"]
		],
		"引鬼上门": [
			["yǐn"],
			["guǐ"],
			["shàng"],
			["mén"]
		],
		"引过自责": [
			["yǐn"],
			["guò"],
			["zì"],
			["zé"]
		],
		"引经据典": [
			["yǐn"],
			["jīng"],
			["jù"],
			["diǎn"]
		],
		"引经据古": [
			["yǐn"],
			["jīng"],
			["jù"],
			["gǔ"]
		],
		"引吭悲歌": [
			["yǐn"],
			["háng"],
			["bēi"],
			["gē"]
		],
		"引颈受戮": [
			["yǐn"],
			["jǐng"],
			["shòu"],
			["lù"]
		],
		"引吭高唱": [
			["yǐn"],
			["háng"],
			["gāo"],
			["chàng"]
		],
		"引吭高歌": [
			["yǐn"],
			["háng"],
			["gāo"],
			["gē"]
		],
		"引吭高声": [
			["yǐn"],
			["háng"],
			["gāo"],
			["shēng"]
		],
		"引商刻角": [
			["yǐn"],
			["shāng"],
			["kè"],
			["jiǎo"]
		],
		"引绳排根": [
			["yǐn"],
			["shéng"],
			["pái"],
			["gēn"]
		],
		"引蛇出洞": [
			["yǐn"],
			["shé"],
			["chū"],
			["dòng"]
		],
		"引绳切墨": [
			["yǐn"],
			["shéng"],
			["qiē"],
			["mò"]
		],
		"引新吐故": [
			["yǐn"],
			["xīn"],
			["tǔ"],
			["gù"]
		],
		"引以为耻": [
			["yǐn"],
			["yǐ"],
			["wéi"],
			["chǐ"]
		],
		"引以为憾": [
			["yǐn"],
			["yǐ"],
			["wéi"],
			["hàn"]
		],
		"引以为戒": [
			["yǐn"],
			["yǐ"],
			["wéi"],
			["jiè"]
		],
		"引以为荣": [
			["yǐn"],
			["yǐ"],
			["wéi"],
			["róng"]
		],
		"引针拾芥": [
			["yǐn"],
			["zhēn"],
			["shí"],
			["jiè"]
		],
		"引锥刺股": [
			["yǐn"],
			["zhuī"],
			["cì"],
			["gǔ"]
		],
		"饮冰内热": [
			["yǐn"],
			["bīng"],
			["nèi"],
			["rè"]
		],
		"饮冰食檗": [
			["yǐn"],
			["bīng"],
			["shí"],
			["bò"]
		],
		"饮冰食蘖": [
			["yǐn"],
			["bīng"],
			["shí"],
			["bò"]
		],
		"饮胆尝血": [
			["yǐn"],
			["dǎn"],
			["cháng"],
			["xuè"]
		],
		"饮犊上流": [
			["yìn"],
			["dú"],
			["shàng"],
			["liú"]
		],
		"饮风餐露": [
			["yǐn"],
			["fēng"],
			["cān"],
			["lù"]
		],
		"饮谷栖丘": [
			["yǐn"],
			["gǔ"],
			["qī"],
			["qiū"]
		],
		"饮灰洗胃": [
			["yǐn"],
			["huī"],
			["xǐ"],
			["wèi"]
		],
		"饮露餐风": [
			["yǐn"],
			["lù"],
			["cān"],
			["fēng"]
		],
		"饮马长江": [
			["yǐn"],
			["mǎ"],
			["cháng"],
			["jiāng"]
		],
		"饮泉清节": [
			["yǐn"],
			["quán"],
			["qīng"],
			["jié"]
		],
		"饮食疗法": [
			["yǐn"],
			["shí"],
			["liáo"],
			["fǎ"]
		],
		"饮食男女": [
			["yǐn"],
			["shí"],
			["nán"],
			["nǚ"]
		],
		"饮食起居": [
			["yǐn"],
			["shí"],
			["qǐ"],
			["jū"]
		],
		"饮水啜菽": [
			["yǐn"],
			["shuǐ"],
			["chuò"],
			["shū"]
		],
		"饮水栖衡": [
			["yǐn"],
			["shuǐ"],
			["qī"],
			["héng"]
		],
		"饮水曲肱": [
			["yǐn"],
			["shuǐ"],
			["qū"],
			["gōng"]
		],
		"饮水食菽": [
			["yǐn"],
			["shuǐ"],
			["shí"],
			["shū"]
		],
		"饮水思源": [
			["yǐn"],
			["shuǐ"],
			["sī"],
			["yuán"]
		],
		"饮水知源": [
			["yǐn"],
			["shuǐ"],
			["zhī"],
			["yuán"]
		],
		"饮血崩心": [
			["yǐn"],
			["xuè"],
			["bēng"],
			["xīn"]
		],
		"饮鸩解渴": [
			["yǐn"],
			["zhèn"],
			["jiě"],
			["kě"]
		],
		"饮血茹毛": [
			["yǐn"],
			["xuè"],
			["rú"],
			["máo"]
		],
		"隐晦曲折": [
			["yǐn"],
			["huì"],
			["qū"],
			["zhé"]
		],
		"隐恶扬善": [
			["yǐn"],
			["è"],
			["yáng"],
			["shàn"]
		],
		"隐介藏形": [
			["yǐn"],
			["jiè"],
			["cáng"],
			["xíng"]
		],
		"隐迹埋名": [
			["yǐn"],
			["jì"],
			["mái"],
			["míng"]
		],
		"隐居求志": [
			["yǐn"],
			["jū"],
			["qiú"],
			["zhì"]
		],
		"隐鳞藏彩": [
			["yǐn"],
			["lín"],
			["cáng"],
			["cǎi"]
		],
		"隐鳞戢羽": [
			["yǐn"],
			["lín"],
			["jí"],
			["yǔ"]
		],
		"隐鳞戢翼": [
			["yǐn"],
			["lín"],
			["jí"],
			["yì"]
		],
		"隐名埋姓": [
			["yǐn"],
			["míng"],
			["mái"],
			["xìng"]
		],
		"隐然敌国": [
			["yǐn"],
			["rán"],
			["dí"],
			["guó"]
		],
		"隐忍不言": [
			["yǐn"],
			["rěn"],
			["bù"],
			["yán"]
		],
		"隐若敌国": [
			["yǐn"],
			["ruò"],
			["dí"],
			["guó"]
		],
		"隐忍不发": [
			["yǐn"],
			["rěn"],
			["bù"],
			["fā"]
		],
		"隐天蔽日": [
			["yǐn"],
			["tiān"],
			["bì"],
			["rì"]
		],
		"隐姓埋名": [
			["yǐn"],
			["xìng"],
			["mái"],
			["míng"]
		],
		"隐隐约约": [
			["yǐn"],
			["yǐn"],
			["yuē"],
			["yuē"]
		],
		"隐约其词": [
			["yǐn"],
			["yuē"],
			["qí"],
			["cí"]
		],
		"隐约其辞": [
			["yǐn"],
			["yuē"],
			["qí"],
			["cí"]
		],
		"隐占身体": [
			["yin"],
			["zhan"],
			["shen"],
			["qi"]
		],
		"印把子": [
			["yìn"],
			["bà"],
			["zi"]
		],
		"印度教": [
			["yìn"],
			["dù"],
			["jiào"]
		],
		"印度尼西亚": [
			["yìn"],
			["dù"],
			["ní"],
			["xī"],
			["yà"]
		],
		"印度洋": [
			["yìn"],
			["dù"],
			["yáng"]
		],
		"印累绶若": [
			["yìn"],
			["léi"],
			["shòu"],
			["ruò"]
		],
		"印刷品": [
			["yìn"],
			["shuā"],
			["pǐn"]
		],
		"印刷所": [
			["yìn"],
			["shuā"],
			["suǒ"]
		],
		"印刷业": [
			["yìn"],
			["shuā"],
			["yè"]
		],
		"印刷体": [
			["yìn"],
			["shuā"],
			["tǐ"]
		],
		"印相纸": [
			["yìn"],
			["xiàng"],
			["zhǐ"]
		],
		"应变无方": [
			["yìng"],
			["biàn"],
			["wú"],
			["fāng"]
		],
		"应答如流": [
			["yìng"],
			["dá"],
			["rú"],
			["liú"]
		],
		"应答如响": [
			["yìng"],
			["dá"],
			["rú"],
			["xiǎng"]
		],
		"应对如响": [
			["yìng"],
			["duì"],
			["rú"],
			["xiǎng"]
		],
		"应对如流": [
			["yìng"],
			["duì"],
			["rú"],
			["liú"]
		],
		"应付裕如": [
			["yìng"],
			["fù"],
			["yù"],
			["rú"]
		],
		"应付自如": [
			["yìng"],
			["fù"],
			["zì"],
			["rú"]
		],
		"应机立断": [
			["yìng"],
			["jī"],
			["lì"],
			["duàn"]
		],
		"应接不暇": [
			["yìng"],
			["jiē"],
			["bù"],
			["xiá"]
		],
		"应节合拍": [
			["yìng"],
			["jié"],
			["hé"],
			["pāi"]
		],
		"应名点卯": [
			["yìng"],
			["míng"],
			["diǎn"],
			["mǎo"]
		],
		"应名儿": [
			["yìng"],
			["míng"],
			["ér"]
		],
		"应权通变": [
			["yìng"],
			["quán"],
			["tōng"],
			["biàn"]
		],
		"应刃而解": [
			["yìng"],
			["rèn"],
			["ér"],
			["jiě"]
		],
		"应声虫": [
			["yìng"],
			["shēng"],
			["chóng"]
		],
		"应天承运": [
			["yìng"],
			["tiān"],
			["chéng"],
			["yùn"]
		],
		"应时对景": [
			["yìng"],
			["shí"],
			["duì"],
			["jǐng"]
		],
		"应天从人": [
			["yìng"],
			["tiān"],
			["cóng"],
			["rén"]
		],
		"应天顺民": [
			["yìng"],
			["tiān"],
			["shùn"],
			["mín"]
		],
		"应天顺人": [
			["yìng"],
			["tiān"],
			["shùn"],
			["rén"]
		],
		"应弦而倒": [
			["yìng"],
			["xián"],
			["ér"],
			["dǎo"]
		],
		"应天顺时": [
			["yīng"],
			["tiān"],
			["shùn"],
			["shí"]
		],
		"应用文": [
			["yìng"],
			["yòng"],
			["wén"]
		],
		"应有尽有": [
			["yīng"],
			["yǒu"],
			["jìn"],
			["yǒu"]
		],
		"应运而生": [
			["yìng"],
			["yùn"],
			["ér"],
			["shēng"]
		],
		"英风亮节": [
			["yīng"],
			["fēng"],
			["liàng"],
			["jié"]
		],
		"英雄榜": [
			["yīng"],
			["xióng"],
			["bǎng"]
		],
		"英雄传": [
			["yīng"],
			["xióng"],
			["chuán"]
		],
		"英雄所见略同": [
			["yīng"],
			["xióng"],
			["suǒ"],
			["jiàn"],
			["lüè"],
			["tóng"]
		],
		"英雄无用武之地": [
			["yīng"],
			["xióng"],
			["wú"],
			["yòng"],
			["wǔ"],
			["zhī"],
			["dì"]
		],
		"英姿勃勃": [
			["yīng"],
			["zī"],
			["bó"],
			["bó"]
		],
		"英姿焕发": [
			["yīng"],
			["zī"],
			["huàn"],
			["fā"]
		],
		"英姿勃发": [
			["yīng"],
			["zī"],
			["bó"],
			["fā"]
		],
		"莺猜燕妒": [
			["yīng"],
			["cāi"],
			["yàn"],
			["dù"]
		],
		"莺巢燕垒": [
			["yīng"],
			["cháo"],
			["yàn"],
			["lěi"]
		],
		"莺俦燕侣": [
			["yīng"],
			["chóu"],
			["yàn"],
			["lǚ"]
		],
		"莺飞草长": [
			["yīng"],
			["fēi"],
			["cǎo"],
			["zhǎng"]
		],
		"莺飞燕舞": [
			["yīng"],
			["fēi"],
			["yàn"],
			["wǔ"]
		],
		"莺歌燕语": [
			["yīng"],
			["gē"],
			["yàn"],
			["yǔ"]
		],
		"莺歌燕舞": [
			["yīng"],
			["gē"],
			["yàn"],
			["wǔ"]
		],
		"莺闺燕阁": [
			["yīng"],
			["guī"],
			["yàn"],
			["gé"]
		],
		"莺期燕约": [
			["yīng"],
			["qī"],
			["yàn"],
			["yuē"]
		],
		"莺声燕语": [
			["yīng"],
			["shēng"],
			["yàn"],
			["yǔ"]
		],
		"莺啼燕语": [
			["yīng"],
			["tí"],
			["yàn"],
			["yǔ"]
		],
		"莺吟燕舞": [
			["yīng"],
			["yín"],
			["yàn"],
			["wǔ"]
		],
		"莺吟燕儛": [
			["yīng"],
			["yín"],
			["yàn"],
			["sāi"]
		],
		"鹦鹉学语": [
			["yīng"],
			["wǔ"],
			["xué"],
			["yǔ"]
		],
		"鹰撮霆击": [
			["yīng"],
			["cuō"],
			["tíng"],
			["jī"]
		],
		"鹰击长空": [
			["yīng"],
			["jī"],
			["cháng"],
			["kōng"]
		],
		"鹰拿燕雀": [
			["yīng"],
			["ná"],
			["yàn"],
			["què"]
		],
		"鹰觑鹘望": [
			["yīng"],
			["qù"],
			["hú"],
			["wàng"]
		],
		"鹰犬塞途": [
			["yīng"],
			["quǎn"],
			["sāi"],
			["tú"]
		],
		"鹰头雀脑": [
			["yīng"],
			["tóu"],
			["què"],
			["nǎo"]
		],
		"鹰心雁爪": [
			["yīng"],
			["xīn"],
			["yàn"],
			["zhǎo"]
		],
		"鹰挚狼食": [
			["yīng"],
			["zhì"],
			["láng"],
			["shí"]
		],
		"迎风待月": [
			["yíng"],
			["fēng"],
			["dài"],
			["yuè"]
		],
		"迎风冒雪": [
			["yíng"],
			["fēng"],
			["mào"],
			["xuě"]
		],
		"迎风招展": [
			["yíng"],
			["fēng"],
			["zhāo"],
			["zhǎn"]
		],
		"迎奸卖俏": [
			["yíng"],
			["jiān"],
			["mài"],
			["qiào"]
		],
		"迎刃冰解": [
			["yíng"],
			["rèn"],
			["bīng"],
			["jiě"]
		],
		"迎刃而解": [
			["yíng"],
			["rèn"],
			["ér"],
			["jiě"]
		],
		"迎刃立解": [
			["yíng"],
			["rèn"],
			["lì"],
			["jiě"]
		],
		"迎刃以解": [
			["yíng"],
			["rèn"],
			["yǐ"],
			["jiě"]
		],
		"迎神赛会": [
			["yíng"],
			["shén"],
			["sài"],
			["huì"]
		],
		"迎头赶上": [
			["yíng"],
			["tóu"],
			["gǎn"],
			["shàng"]
		],
		"迎头痛击": [
			["yíng"],
			["tóu"],
			["tòng"],
			["jī"]
		],
		"盈篇累牍": [
			["yíng"],
			["piān"],
			["lěi"],
			["dú"]
		],
		"盈千累万": [
			["yíng"],
			["qiān"],
			["lěi"],
			["wàn"]
		],
		"荧光屏": [
			["yíng"],
			["guāng"],
			["píng"]
		],
		"营蝇斐锦": [
			["yíng"],
			["yíng"],
			["fēi"],
			["jǐn"]
		],
		"蝇附骥尾而致千里": [
			["yíng"],
			["fù"],
			["jì"],
			["wěi"],
			["ér"],
			["zhì"],
			["qiān"],
			["lǐ"]
		],
		"蝇随骥尾": [
			["yíng"],
			["suí"],
			["jì"],
			["wěi"]
		],
		"蝇头微利": [
			["yíng"],
			["tóu"],
			["wēi"],
			["lì"]
		],
		"蝇头蜗角": [
			["yíng"],
			["tóu"],
			["wō"],
			["jiǎo"]
		],
		"蝇头小楷": [
			["yíng"],
			["tóu"],
			["xiǎo"],
			["kǎi"]
		],
		"蝇攒蚁附": [
			["yíng"],
			["cuán"],
			["yǐ"],
			["fù"]
		],
		"蝇头小利": [
			["yíng"],
			["tóu"],
			["xiǎo"],
			["lì"]
		],
		"郢书燕说": [
			["yǐng"],
			["shū"],
			["yān"],
			["shuō"]
		],
		"蝇攒蚁聚": [
			["yíng"],
			["cuán"],
			["yǐ"],
			["jù"]
		],
		"郢中白雪": [
			["yǐng"],
			["zhōng"],
			["bái"],
			["xuě"]
		],
		"嬴奸买俏": [
			["yíng"],
			["jiān"],
			["mǎi"],
			["qiào"]
		],
		"赢奸卖俏": [
			["yíng"],
			["jiān"],
			["mài"],
			["qiào"]
		],
		"影调剧": [
			["yǐng"],
			["diào"],
			["jù"]
		],
		"影形不离": [
			["yǐng"],
			["xíng"],
			["bù"],
			["lí"]
		],
		"影影绰绰": [
			["yǐng"],
			["yǐng"],
			["chuò"],
			["chuò"]
		],
		"影只形单": [
			["yǐng"],
			["zhī"],
			["xíng"],
			["dān"]
		],
		"影只形孤": [
			["yǐng"],
			["zhī"],
			["xíng"],
			["gū"]
		],
		"影子内阁": [
			["yǐng"],
			["zi"],
			["nèi"],
			["gé"]
		],
		"映山红": [
			["yìng"],
			["shān"],
			["hóng"]
		],
		"映雪读书": [
			["yìng"],
			["xuě"],
			["dú"],
			["shū"]
		],
		"映雪囊萤": [
			["yìng"],
			["xuě"],
			["náng"],
			["yíng"]
		],
		"映月读书": [
			["yìng"],
			["yuè"],
			["dú"],
			["shū"]
		],
		"硬语盘空": [
			["yìng"],
			["yǔ"],
			["pán"],
			["kōng"]
		],
		"佣中佼佼": [
			["yòng"],
			["zhōng"],
			["jiǎo"],
			["jiǎo"]
		],
		"拥军优属": [
			["yōng"],
			["jūn"],
			["yōu"],
			["shǔ"]
		],
		"拥书南面": [
			["yōng"],
			["shū"],
			["nán"],
			["miàn"]
		],
		"庸俗进化论": [
			["yōng"],
			["sú"],
			["jìn"],
			["huà"],
			["lùn"]
		],
		"庸言庸行": [
			["yōng"],
			["yán"],
			["yōng"],
			["xíng"]
		],
		"庸中皦皦": [
			["yōng"],
			["zhōng"],
			["bì"],
			["tóng"]
		],
		"庸庸碌碌": [
			["yōng"],
			["yōng"],
			["lù"],
			["lù"]
		],
		"庸中佼佼": [
			["yōng"],
			["zhōng"],
			["jiǎo"],
			["jiǎo"]
		],
		"雍荣华贵": [
			["yōng"],
			["róng"],
			["huá"],
			["guì"]
		],
		"雍容不迫": [
			["yōng"],
			["róng"],
			["bù"],
			["pò"]
		],
		"雍容大度": [
			["yōng"],
			["róng"],
			["dà"],
			["dù"]
		],
		"雍容大雅": [
			["yōng"],
			["róng"],
			["dà"],
			["yǎ"]
		],
		"雍容华贵": [
			["yōng"],
			["róng"],
			["huá"],
			["guì"]
		],
		"饔飧不饱": [
			["yōng"],
			["sūn"],
			["bù"],
			["bǎo"]
		],
		"饔飧不给": [
			["yōng"],
			["sūn"],
			["bù"],
			["jǐ"]
		],
		"饔飧不济": [
			["yōng"],
			["sūn"],
			["bù"],
			["jì"]
		],
		"饔飧不继": [
			["yōng"],
			["sūn"],
			["bù"],
			["jì"]
		],
		"永不磨灭": [
			["yǒng"],
			["bù"],
			["mó"],
			["miè"]
		],
		"永垂不朽": [
			["yǒng"],
			["chuí"],
			["bù"],
			["xiǔ"]
		],
		"永无宁日": [
			["yǒng"],
			["wú"],
			["níng"],
			["rì"]
		],
		"永志不忘": [
			["yǒng"],
			["zhì"],
			["bù"],
			["wàng"]
		],
		"咏叹调": [
			["yǒng"],
			["tàn"],
			["diào"]
		],
		"咏嘲风月": [
			["yǒng"],
			["cháo"],
			["fēng"],
			["yuè"]
		],
		"咏月嘲花": [
			["yǒng"],
			["yuè"],
			["cháo"],
			["huā"]
		],
		"咏月嘲风": [
			["yǒng"],
			["yuè"],
			["cháo"],
			["fēng"]
		],
		"勇冠三军": [
			["yǒng"],
			["guàn"],
			["sān"],
			["jūn"]
		],
		"勇者不惧": [
			["yǒng"],
			["zhě"],
			["bù"],
			["jù"]
		],
		"用非其人": [
			["yòng"],
			["fēi"],
			["qí"],
			["rén"]
		],
		"用工夫": [
			["yòng"],
			["gōng"],
			["fū"]
		],
		"用尽心机": [
			["yòng"],
			["jìn"],
			["xīn"],
			["jī"]
		],
		"用其所长": [
			["yòng"],
			["qí"],
			["suǒ"],
			["cháng"]
		],
		"用舍行藏": [
			["yòng"],
			["shě"],
			["xíng"],
			["cáng"]
		],
		"用天因地": [
			["yòng"],
			["tiān"],
			["yīn"],
			["dì"]
		],
		"用武之地": [
			["yòng"],
			["wǔ"],
			["zhī"],
			["dì"]
		],
		"用行舍藏": [
			["yòng"],
			["xíng"],
			["cáng"],
			["shě"]
		],
		"用一当十": [
			["yòng"],
			["yī"],
			["dāng"],
			["shí"]
		],
		"用逸待劳": [
			["yòng"],
			["yì"],
			["dài"],
			["láo"]
		],
		"用之不竭": [
			["yòng"],
			["zhī"],
			["bù"],
			["jié"]
		],
		"用智铺谋": [
			["yòng"],
			["zhì"],
			["pù"],
			["móu"]
		],
		"优待券": [
			["yōu"],
			["dài"],
			["quàn"]
		],
		"优惠待遇": [
			["yōu"],
			["huì"],
			["dài"],
			["yù"]
		],
		"优惠券": [
			["yōu"],
			["huì"],
			["quàn"]
		],
		"优孟衣冠": [
			["yōu"],
			["mèng"],
			["yī"],
			["guān"]
		],
		"优游不断": [
			["yōu"],
			["yóu"],
			["bù"],
			["duàn"]
		],
		"优游自得": [
			["yōu"],
			["yóu"],
			["zì"],
			["dé"]
		],
		"优游自若": [
			["yōu"],
			["yóu"],
			["zì"],
			["ruò"]
		],
		"优游卒岁": [
			["yōu"],
			["yóu"],
			["zú"],
			["suì"]
		],
		"忧国忘家": [
			["yōu"],
			["guó"],
			["wàng"],
			["jiā"]
		],
		"忧深思远": [
			["yōu"],
			["shēn"],
			["sī"],
			["yuǎn"]
		],
		"忧盛危明": [
			["yōu"],
			["shèng"],
			["wēi"],
			["míng"]
		],
		"忧心悄悄": [
			["yōu"],
			["xīn"],
			["qiāo"],
			["qiāo"]
		],
		"忧郁症": [
			["yōu"],
			["yù"],
			["zhèng"]
		],
		"幽期密约": [
			["yōu"],
			["qī"],
			["mì"],
			["yuē"]
		],
		"悠然自得": [
			["yōu"],
			["rán"],
			["zì"],
			["dé"]
		],
		"悠游自得": [
			["yōu"],
			["yóu"],
			["zì"],
			["dé"]
		],
		"尤红殢翠": [
			["yóu"],
			["hóng"],
			["tì"],
			["cuì"]
		],
		"尤云殢雨": [
			["yóu"],
			["yún"],
			["zhì"],
			["yǔ"]
		],
		"由博返约": [
			["yóu"],
			["bó"],
			["fǎn"],
			["yuē"]
		],
		"由不得": [
			["yóu"],
			["bù"],
			["dé"]
		],
		"由近及远": [
			["yóu"],
			["jìn"],
			["jí"],
			["yuǎn"]
		],
		"由浅入深": [
			["yóu"],
			["qiǎn"],
			["rù"],
			["shēn"]
		],
		"犹解倒悬": [
			["yóu"],
			["jiě"],
			["dào"],
			["xuán"]
		],
		"犹太教": [
			["yóu"],
			["tài"],
			["jiào"]
		],
		"犹豫不决": [
			["yóu"],
			["yù"],
			["bù"],
			["jué"]
		],
		"邮递员": [
			["yóu"],
			["dì"],
			["yuán"]
		],
		"油壁香车": [
			["yóu"],
			["bì"],
			["xiāng"],
			["chē"]
		],
		"油干灯草尽": [
			["yóu"],
			["gān"],
			["dēng"],
			["cǎo"],
			["jìn"]
		],
		"油干火尽": [
			["yóu"],
			["gān"],
			["huǒ"],
			["jìn"]
		],
		"油干灯尽": [
			["yóu"],
			["gàn"],
			["dēng"],
			["jìn"]
		],
		"油罐车": [
			["yóu"],
			["guàn"],
			["chē"]
		],
		"油光可鉴": [
			["yóu"],
			["guāng"],
			["kě"],
			["jiàn"]
		],
		"油煎火燎": [
			["yóu"],
			["jiān"],
			["huǒ"],
			["liáo"]
		],
		"油浇火燎": [
			["yóu"],
			["jiāo"],
			["huǒ"],
			["liáo"]
		],
		"油头粉面": [
			["yóu"],
			["tóu"],
			["fěn"],
			["miàn"]
		],
		"油头光棍": [
			["yóu"],
			["tóu"],
			["guāng"],
			["gùn"]
		],
		"油腔滑调": [
			["yóu"],
			["qiāng"],
			["huá"],
			["diào"]
		],
		"油头滑面": [
			["yóu"],
			["tóu"],
			["huá"],
			["miàn"]
		],
		"油头滑脸": [
			["yóu"],
			["tóu"],
			["huá"],
			["liǎn"]
		],
		"油头滑脑": [
			["yóu"],
			["tóu"],
			["huá"],
			["nǎo"]
		],
		"游必有方": [
			["yōu"],
			["bì"],
			["yǒu"],
			["fāng"]
		],
		"游标卡尺": [
			["yóu"],
			["biāo"],
			["kǎ"],
			["chǐ"]
		],
		"游荡不羁": [
			["yóu"],
			["dàng"],
			["bù"],
			["jī"]
		],
		"游蜂戏蝶": [
			["yóu"],
			["fēng"],
			["xì"],
			["dié"]
		],
		"游回磨转": [
			["yóu"],
			["huí"],
			["mó"],
			["zhuǎn"]
		],
		"游目骋观": [
			["yóu"],
			["mù"],
			["chěng"],
			["guān"]
		],
		"游刃有余": [
			["yóu"],
			["rèn"],
			["yǒu"],
			["yú"]
		],
		"游手好闲": [
			["yóu"],
			["shǒu"],
			["hào"],
			["xián"]
		],
		"游山玩景": [
			["yóu"],
			["shān"],
			["wán"],
			["jǐng"]
		],
		"游思妄想": [
			["yóu"],
			["sī"],
			["wàng"],
			["xiǎng"]
		],
		"游戏笔墨": [
			["yóu"],
			["xì"],
			["bǐ"],
			["mò"]
		],
		"游戏尘寰": [
			["yóu"],
			["xì"],
			["chén"],
			["huán"]
		],
		"游戏翰墨": [
			["yóu"],
			["xì"],
			["hàn"],
			["mò"]
		],
		"游戏人间": [
			["yóu"],
			["xì"],
			["rén"],
			["jiān"]
		],
		"游戏人世": [
			["yóu"],
			["xì"],
			["rén"],
			["shì"]
		],
		"游戏三昧": [
			["yóu"],
			["xì"],
			["sān"],
			["mèi"]
		],
		"游移不定": [
			["yóu"],
			["yí"],
			["bù"],
			["dìng"]
		],
		"友风子雨": [
			["yǒu"],
			["fēng"],
			["zǐ"],
			["yǔ"]
		],
		"有案可查": [
			["yǒu"],
			["àn"],
			["kě"],
			["chá"]
		],
		"有案可稽": [
			["yǒu"],
			["àn"],
			["kě"],
			["jī"]
		],
		"有板有眼": [
			["yǒu"],
			["bǎn"],
			["yǒu"],
			["yǎn"]
		],
		"有本有源": [
			["yǒu"],
			["běn"],
			["yǒu"],
			["yuán"]
		],
		"有本有原": [
			["yǒu"],
			["běn"],
			["yǒu"],
			["yuán"]
		],
		"有备无患": [
			["yǒu"],
			["bèi"],
			["wú"],
			["huàn"]
		],
		"有鼻子有眼": [
			["yǒu"],
			["bí"],
			["zi"],
			["yǒu"],
			["yǎn"]
		],
		"有蠙可乘": [
			["yǒu"],
			["bīn"],
			["kě"],
			["chéng"]
		],
		"有才无命": [
			["yǒu"],
			["cái"],
			["wú"],
			["mìng"]
		],
		"有财有势": [
			["yǒu"],
			["cái"],
			["yǒu"],
			["shì"]
		],
		"有产者": [
			["yǒu"],
			["chǎn"],
			["zhě"]
		],
		"有朝一日": [
			["yǒu"],
			["zhāo"],
			["yī"],
			["rì"]
		],
		"有巢氏": [
			["yǒu"],
			["cháo"],
			["shì"]
		],
		"有翅难飞": [
			["yǒu"],
			["chì"],
			["nán"],
			["fēi"]
		],
		"有耻且格": [
			["yǒu"],
			["chǐ"],
			["qiě"],
			["gé"]
		],
		"有胆有识": [
			["yǒu"],
			["dǎn"],
			["yǒu"],
			["shí"]
		],
		"有道是": [
			["yǒu"],
			["dào"],
			["shì"]
		],
		"有的放矢": [
			["yǒu"],
			["dì"],
			["fàng"],
			["shǐ"]
		],
		"有的是": [
			["yǒu"],
			["de"],
			["shì"]
		],
		"有风有化": [
			["yǒu"],
			["fēng"],
			["yǒu"],
			["huà"]
		],
		"有凤来仪": [
			["yǒu"],
			["fèng"],
			["lái"],
			["yí"]
		],
		"有福同享": [
			["yǒu"],
			["fú"],
			["tóng"],
			["xiǎng"]
		],
		"有负众望": [
			["yǒu"],
			["fù"],
			["zhòng"],
			["wàng"]
		],
		"有根有底": [
			["yǒu"],
			["gēn"],
			["yǒu"],
			["dǐ"]
		],
		"有根有苗": [
			["yǒu"],
			["gēn"],
			["yǒu"],
			["miáo"]
		],
		"有光纸": [
			["yǒu"],
			["guāng"],
			["zhǐ"]
		],
		"有轨电车": [
			["yǒu"],
			["guǐ"],
			["diàn"],
			["chē"]
		],
		"有国难投": [
			["yǒu"],
			["guó"],
			["nán"],
			["tóu"]
		],
		"有过之而无不及": [
			["yǒu"],
			["guò"],
			["zhī"],
			["ér"],
			["wú"],
			["bù"],
			["jí"]
		],
		"有过之无不及": [
			["yǒu"],
			["guò"],
			["zhī"],
			["wú"],
			["bù"],
			["jí"]
		],
		"有何面目": [
			["yǒu"],
			["hé"],
			["miàn"],
			["mù"]
		],
		"有害无利": [
			["yǒu"],
			["hài"],
			["wú"],
			["lì"]
		],
		"有会子": [
			["yǒu"],
			["huì"],
			["zǐ"]
		],
		"有机玻璃": [
			["yǒu"],
			["jī"],
			["bō"],
			["li"]
		],
		"有机肥料": [
			["yǒu"],
			["jī"],
			["féi"],
			["liào"]
		],
		"有机合成": [
			["yǒu"],
			["jī"],
			["hé"],
			["chéng"]
		],
		"有机化合物": [
			["yǒu"],
			["jī"],
			["huà"],
			["hé"],
			["wù"]
		],
		"有机化学": [
			["yǒu"],
			["jī"],
			["huà"],
			["xué"]
		],
		"有机可乘": [
			["yǒu"],
			["jī"],
			["kě"],
			["chéng"]
		],
		"有机酸": [
			["yǒu"],
			["jī"],
			["suān"]
		],
		"有机体": [
			["yǒu"],
			["jī"],
			["tǐ"]
		],
		"有机物": [
			["yǒu"],
			["jī"],
			["wù"]
		],
		"有机质": [
			["yǒu"],
			["jī"],
			["zhì"]
		],
		"有己无人": [
			["yǒu"],
			["jǐ"],
			["wú"],
			["rén"]
		],
		"有加无已": [
			["yǒu"],
			["jiā"],
			["wǔ"],
			["yǐ"]
		],
		"有家难奔": [
			["yǒu"],
			["jiā"],
			["nán"],
			["bēn"]
		],
		"有价证券": [
			["yǒu"],
			["jià"],
			["zhèng"],
			["quàn"]
		],
		"有脚书橱": [
			["yǒu"],
			["jiǎo"],
			["shū"],
			["chú"]
		],
		"有脚书厨": [
			["yǒu"],
			["jiǎo"],
			["shū"],
			["chú"]
		],
		"有教无类": [
			["yǒu"],
			["jiào"],
			["wú"],
			["lèi"]
		],
		"有脚阳春": [
			["yǒu"],
			["jiǎo"],
			["yáng"],
			["chūn"]
		],
		"有借无还": [
			["yǒu"],
			["jiè"],
			["wú"],
			["huán"]
		],
		"有进无退": [
			["yǒu"],
			["jìn"],
			["wú"],
			["tuì"]
		],
		"有口皆碑": [
			["yǒu"],
			["kǒu"],
			["jiē"],
			["bēi"]
		],
		"有口难辩": [
			["yǒu"],
			["kǒu"],
			["nán"],
			["biàn"]
		],
		"有口难分": [
			["yǒu"],
			["kǒu"],
			["nán"],
			["fēn"]
		],
		"有口难言": [
			["yǒu"],
			["kǒu"],
			["nán"],
			["yán"]
		],
		"有口无行": [
			["yǒu"],
			["kǒu"],
			["wú"],
			["xíng"]
		],
		"有口无心": [
			["yǒu"],
			["kǒu"],
			["wú"],
			["xīn"]
		],
		"有来无回": [
			["yǒu"],
			["lái"],
			["wú"],
			["huí"]
		],
		"有来有往": [
			["yǒu"],
			["lái"],
			["yǒu"],
			["wǎng"]
		],
		"有棱有角": [
			["yǒu"],
			["léng"],
			["yǒu"],
			["jiǎo"]
		],
		"有理方程": [
			["yǒu"],
			["lǐ"],
			["fāng"],
			["chéng"]
		],
		"有理分式": [
			["yǒu"],
			["lǐ"],
			["fēn"],
			["shì"]
		],
		"有理数": [
			["yǒu"],
			["lǐ"],
			["shù"]
		],
		"有理式": [
			["yǒu"],
			["lǐ"],
			["shì"]
		],
		"有利可图": [
			["yǒu"],
			["lì"],
			["kě"],
			["tú"]
		],
		"有利有弊": [
			["yǒu"],
			["lì"],
			["yǒu"],
			["bì"]
		],
		"有例可援": [
			["yǒu"],
			["lì"],
			["kě"],
			["yuán"]
		],
		"有两下子": [
			["yǒu"],
			["liǎng"],
			["xià"],
			["zǐ"]
		],
		"有名亡实": [
			["yǒu"],
			["míng"],
			["wáng"],
			["shí"]
		],
		"有名无实": [
			["yǒu"],
			["míng"],
			["wú"],
			["shí"]
		],
		"有目共睹": [
			["yǒu"],
			["mù"],
			["gòng"],
			["dǔ"]
		],
		"有目共赏": [
			["yǒu"],
			["mù"],
			["gòng"],
			["shǎng"]
		],
		"有目共见": [
			["yǒu"],
			["mù"],
			["gòng"],
			["jiàn"]
		],
		"有目无睹": [
			["yǒu"],
			["mù"],
			["wú"],
			["dǔ"]
		],
		"有奶便是娘": [
			["yǒu"],
			["nǎi"],
			["biàn"],
			["shì"],
			["niáng"]
		],
		"有奶就是娘": [
			["yǒu"],
			["nǎi"],
			["jiù"],
			["shì"],
			["niáng"]
		],
		"有年无月": [
			["yǒu"],
			["nián"],
			["wú"],
			["yuè"]
		],
		"有女怀春": [
			["yǒu"],
			["nǚ"],
			["huái"],
			["chūn"]
		],
		"有盼儿": [
			["yǒu"],
			["pàn"],
			["ér"]
		],
		"有期徒刑": [
			["yǒu"],
			["qī"],
			["tú"],
			["xíng"]
		],
		"有凭有据": [
			["yǒu"],
			["píng"],
			["yǒu"],
			["jù"]
		],
		"有其父必有其子": [
			["yǒu"],
			["qí"],
			["fù"],
			["bì"],
			["yǒu"],
			["qí"],
			["zǐ"]
		],
		"有气没力": [
			["yǒu"],
			["qì"],
			["méi"],
			["lì"]
		],
		"有气无力": [
			["yǒu"],
			["qì"],
			["wú"],
			["lì"]
		],
		"有气无烟": [
			["yǒu"],
			["qì"],
			["wú"],
			["yān"]
		],
		"有钱能使鬼推磨": [
			["yǒu"],
			["qián"],
			["néng"],
			["shǐ"],
			["guǐ"],
			["tuī"],
			["mò"]
		],
		"有钱有势": [
			["yǒu"],
			["qián"],
			["yǒu"],
			["shì"]
		],
		"有求必应": [
			["yǒu"],
			["qiú"],
			["bì"],
			["yìng"]
		],
		"有人家儿": [
			["yǒu"],
			["rén"],
			["jiā"],
			["ér"]
		],
		"有日子": [
			["yǒu"],
			["rì"],
			["zi"]
		],
		"有三有俩": [
			["yǒu"],
			["sān"],
			["yǒu"],
			["liǎng"]
		],
		"有色金属": [
			["yǒu"],
			["sè"],
			["jīn"],
			["shǔ"]
		],
		"有色人种": [
			["yǒu"],
			["sè"],
			["rén"],
			["zhǒng"]
		],
		"有色眼镜": [
			["yǒu"],
			["sè"],
			["yǎn"],
			["jìng"]
		],
		"有伤风化": [
			["yǒu"],
			["shāng"],
			["fēng"],
			["huà"]
		],
		"有神论": [
			["yǒu"],
			["shén"],
			["lùn"]
		],
		"有生力量": [
			["yǒu"],
			["shēng"],
			["lì"],
			["liàng"]
		],
		"有生之年": [
			["yǒu"],
			["shēng"],
			["zhī"],
			["nián"]
		],
		"有生以来": [
			["yǒu"],
			["shēng"],
			["yǐ"],
			["lái"]
		],
		"有声电影": [
			["yǒu"],
			["shēng"],
			["diàn"],
			["yǐng"]
		],
		"有声读物": [
			["yǒu"],
			["shēng"],
			["dú"],
			["wù"]
		],
		"有声没气": [
			["yǒu"],
			["shēng"],
			["méi"],
			["qì"]
		],
		"有声无气": [
			["yǒu"],
			["shēng"],
			["wú"],
			["qì"]
		],
		"有声无实": [
			["yǒu"],
			["shēng"],
			["wú"],
			["shí"]
		],
		"有声有色": [
			["yǒu"],
			["shēng"],
			["yǒu"],
			["sè"]
		],
		"有识之士": [
			["yǒu"],
			["shí"],
			["zhī"],
			["shì"]
		],
		"有始无终": [
			["yǒu"],
			["shǐ"],
			["wú"],
			["zhōng"]
		],
		"有始有终": [
			["yǒu"],
			["shǐ"],
			["yǒu"],
			["zhōng"]
		],
		"有始有卒": [
			["yǒu"],
			["shǐ"],
			["yǒu"],
			["zú"]
		],
		"有事之秋": [
			["yǒu"],
			["shì"],
			["zhī"],
			["qiū"]
		],
		"有恃毋恐": [
			["yǒu"],
			["shì"],
			["wú"],
			["kǒng"]
		],
		"有恃无恐": [
			["yǒu"],
			["shì"],
			["wú"],
			["kǒng"]
		],
		"有说有笑": [
			["yǒu"],
			["shuō"],
			["yǒu"],
			["xiào"]
		],
		"有死无二": [
			["yǒu"],
			["sǐ"],
			["wú"],
			["èr"]
		],
		"有损无益": [
			["yǒu"],
			["sǔn"],
			["wú"],
			["yì"]
		],
		"有所作为": [
			["yǒu"],
			["suǒ"],
			["zuò"],
			["wéi"]
		],
		"有蹄类": [
			["yǒu"],
			["tí"],
			["lèi"]
		],
		"有天没日": [
			["yǒu"],
			["tiān"],
			["méi"],
			["rì"]
		],
		"有天无日": [
			["yǒu"],
			["tiān"],
			["wú"],
			["rì"]
		],
		"有条不紊": [
			["yǒu"],
			["tiáo"],
			["bù"],
			["wěn"]
		],
		"有天没日头": [
			["yǒu"],
			["tiān"],
			["méi"],
			["rì"],
			["tóu"]
		],
		"有条有理": [
			["yǒu"],
			["tiáo"],
			["yǒu"],
			["lǐ"]
		],
		"有头没脑": [
			["yǒu"],
			["tóu"],
			["méi"],
			["nǎo"]
		],
		"有头无尾": [
			["yǒu"],
			["tóu"],
			["wú"],
			["wěi"]
		],
		"有头无脑": [
			["yǒu"],
			["tóu"],
			["wú"],
			["nǎo"]
		],
		"有头有脸": [
			["yǒu"],
			["tóu"],
			["yǒu"],
			["liǎn"]
		],
		"有头有脑": [
			["yǒu"],
			["tóu"],
			["yǒu"],
			["nǎo"]
		],
		"有头有尾": [
			["yǒu"],
			["tóu"],
			["yǒu"],
			["wěi"]
		],
		"有文无行": [
			["yǒu"],
			["wén"],
			["wú"],
			["xíng"]
		],
		"有闻必录": [
			["yǒu"],
			["wén"],
			["bì"],
			["lù"]
		],
		"有我无人": [
			["yǒu"],
			["wǒ"],
			["wú"],
			["rén"]
		],
		"有问必答": [
			["yǒu"],
			["wèn"],
			["bì"],
			["dá"]
		],
		"有无相通": [
			["yǒu"],
			["wú"],
			["xiāng"],
			["tōng"]
		],
		"有物有则": [
			["yǒu"],
			["wù"],
			["yǒu"],
			["zé"]
		],
		"有隙可乘": [
			["yǒu"],
			["xì"],
			["kě"],
			["chèng"]
		],
		"有线电话": [
			["yǒu"],
			["xiàn"],
			["diàn"],
			["huà"]
		],
		"有线广播": [
			["yǒu"],
			["xiàn"],
			["guǎng"],
			["bō"]
		],
		"有限公司": [
			["yǒu"],
			["xiàn"],
			["gōng"],
			["sī"]
		],
		"有效期": [
			["yǒu"],
			["xiào"],
			["qī"]
		],
		"有心力": [
			["yǒu"],
			["xīn"],
			["lì"]
		],
		"有心人": [
			["yǒu"],
			["xīn"],
			["rén"]
		],
		"有心有意": [
			["yǒu"],
			["xīn"],
			["yǒu"],
			["yì"]
		],
		"有心无力": [
			["yǒu"],
			["xīn"],
			["wú"],
			["lì"]
		],
		"有形损耗": [
			["yǒu"],
			["xíng"],
			["sǔn"],
			["hào"]
		],
		"有性生殖": [
			["yǒu"],
			["xìng"],
			["shēng"],
			["zhí"]
		],
		"有性杂交": [
			["yǒu"],
			["xìng"],
			["zá"],
			["jiāo"]
		],
		"有血有肉": [
			["yǒu"],
			["xuè"],
			["yǒu"],
			["ròu"]
		],
		"有言在先": [
			["yǒu"],
			["yán"],
			["zài"],
			["xiān"]
		],
		"有眼不识泰山": [
			["yǒu"],
			["yǎn"],
			["bù"],
			["shí"],
			["tài"],
			["shān"]
		],
		"有眼如盲": [
			["yǒu"],
			["yǎn"],
			["rú"],
			["máng"]
		],
		"有眼无瞳": [
			["yǒu"],
			["yǎn"],
			["wú"],
			["tóng"]
		],
		"有眼无珠": [
			["yǒu"],
			["yǎn"],
			["wú"],
			["zhū"]
		],
		"有一搭没一搭": [
			["yǒu"],
			["yī"],
			["dā"],
			["méi"],
			["yī"],
			["dā"]
		],
		"有一得一": [
			["yǒu"],
			["yī"],
			["dé"],
			["yī"]
		],
		"有一无二": [
			["yǒu"],
			["yī"],
			["wú"],
			["èr"]
		],
		"有一利必有一弊": [
			["yǒu"],
			["yī"],
			["lì"],
			["bì"],
			["yǒu"],
			["yī"],
			["bì"]
		],
		"有一手": [
			["yǒu"],
			["yī"],
			["shǒu"]
		],
		"有意识": [
			["yǒu"],
			["yì"],
			["shí"]
		],
		"有以善处": [
			["yǒu"],
			["yǐ"],
			["shàn"],
			["chǔ"]
		],
		"有意思": [
			["yǒu"],
			["yì"],
			["sī"]
		],
		"有意无意": [
			["yǒu"],
			["yì"],
			["wú"],
			["yì"]
		],
		"有勇无谋": [
			["yǒu"],
			["yǒng"],
			["wú"],
			["móu"]
		],
		"有勇有谋": [
			["yǒu"],
			["yǒng"],
			["yǒu"],
			["móu"]
		],
		"有勇知方": [
			["yǒu"],
			["yǒng"],
			["zhī"],
			["fāng"]
		],
		"有缘千里来相会": [
			["yǒu"],
			["yuán"],
			["qiān"],
			["lǐ"],
			["lái"],
			["xiāng"],
			["huì"]
		],
		"有约在先": [
			["yǒu"],
			["yuē"],
			["zài"],
			["xiān"]
		],
		"有增无损": [
			["yǒu"],
			["zēng"],
			["wú"],
			["sǔn"]
		],
		"有增无已": [
			["yǒu"],
			["zēng"],
			["wú"],
			["yǐ"]
		],
		"有枝有叶": [
			["yǒu"],
			["zhī"],
			["yǒu"],
			["yè"]
		],
		"有征无战": [
			["yǒu"],
			["zhēng"],
			["wú"],
			["zhàn"]
		],
		"有志不在年高": [
			["yǒu"],
			["zhì"],
			["bù"],
			["zài"],
			["nián"],
			["gāo"]
		],
		"有枝添叶": [
			["yǒu"],
			["zhī"],
			["tiān"],
			["yè"]
		],
		"有志竟成": [
			["yǒu"],
			["zhì"],
			["jìng"],
			["chéng"]
		],
		"有志无时": [
			["yǒu"],
			["zhì"],
			["wú"],
			["shí"]
		],
		"有志者事竟成": [
			["yǒu"],
			["zhì"],
			["zhě"],
			["shì"],
			["jìng"],
			["chéng"]
		],
		"有志之士": [
			["yǒu"],
			["zhì"],
			["zhī"],
			["shì"]
		],
		"有子万事足": [
			["yǒu"],
			["zǐ"],
			["wàn"],
			["shì"],
			["zú"]
		],
		"有嘴没舌": [
			["yǒu"],
			["zuǐ"],
			["méi"],
			["shé"]
		],
		"有嘴没心": [
			["yǒu"],
			["zuǐ"],
			["méi"],
			["xīn"]
		],
		"牖中窥日": [
			["yǒu"],
			["zhōng"],
			["kuī"],
			["rì"]
		],
		"又当别论": [
			["yòu"],
			["dāng"],
			["bié"],
			["lùn"]
		],
		"有嘴无心": [
			["yǒu"],
			["zuǐ"],
			["wú"],
			["xīn"]
		],
		"又弱一个": [
			["yòu"],
			["ruò"],
			["yī"],
			["gè"]
		],
		"又红又专": [
			["yòu"],
			["hóng"],
			["yòu"],
			["zhuān"]
		],
		"又作别论": [
			["yòu"],
			["zuò"],
			["bié"],
			["lùn"]
		],
		"右传之八章": [
			["yòu"],
			["chuán"],
			["zhī"],
			["bā"],
			["zhāng"]
		],
		"囿于成见": [
			["yòu"],
			["yú"],
			["chéng"],
			["jiàn"]
		],
		"右侍郎": [
			["yòu"],
			["shì"],
			["láng"]
		],
		"幼学壮行": [
			["yòu"],
			["xué"],
			["zhuàng"],
			["xíng"]
		],
		"诱掖后进": [
			["yòu"],
			["yè"],
			["hòu"],
			["jìn"]
		],
		"诱掖奖劝": [
			["yòu"],
			["yè"],
			["jiǎng"],
			["quàn"]
		],
		"纡朱怀金": [
			["yū"],
			["zhū"],
			["huái"],
			["jīn"]
		],
		"纡朱曳紫": [
			["yū"],
			["zhū"],
			["yè"],
			["zǐ"]
		],
		"纡朱拖紫": [
			["yū"],
			["zhū"],
			["tuō"],
			["zǐ"]
		],
		"纡尊降贵": [
			["yū"],
			["zūn"],
			["jiàng"],
			["guì"]
		],
		"迂夫子": [
			["yū"],
			["fū"],
			["zǐ"]
		],
		"迂谈阔论": [
			["yū"],
			["tán"],
			["kuò"],
			["lùn"]
		],
		"于安思危": [
			["yú"],
			["ān"],
			["sī"],
			["wēi"]
		],
		"迂回曲折": [
			["yū"],
			["huí"],
			["qū"],
			["zhé"]
		],
		"于飞之乐": [
			["yú"],
			["fēi"],
			["zhī"],
			["lè"]
		],
		"于家为国": [
			["yú"],
			["jiā"],
			["wéi"],
			["guó"]
		],
		"于今为烈": [
			["yú"],
			["jīn"],
			["wéi"],
			["liè"]
		],
		"于心何忍": [
			["yú"],
			["xīn"],
			["hé"],
			["rěn"]
		],
		"予夺生杀": [
			["yǔ"],
			["duó"],
			["shēng"],
			["shā"]
		],
		"予齿去角": [
			["yǔ"],
			["chǐ"],
			["qù"],
			["jiǎo"]
		],
		"予取予夺": [
			["yú"],
			["qǔ"],
			["yú"],
			["duó"]
		],
		"予取予求": [
			["yú"],
			["qǔ"],
			["yú"],
			["qiú"]
		],
		"予取予携": [
			["yú"],
			["qǔ"],
			["yú"],
			["xié"]
		],
		"予人口实": [
			["yǔ"],
			["rén"],
			["kǒu"],
			["shí"]
		],
		"余风遗文": [
			["yú"],
			["fēng"],
			["yí"],
			["wén"]
		],
		"予智予雄": [
			["yú"],
			["zhì"],
			["yú"],
			["xióng"]
		],
		"余膏剩馥": [
			["yú"],
			["gāo"],
			["shèng"],
			["fù"]
		],
		"余光分人": [
			["yú"],
			["guāng"],
			["fēn"],
			["rén"]
		],
		"余食赘行": [
			["yú"],
			["shí"],
			["zhuì"],
			["xíng"]
		],
		"余勇可贾": [
			["yú"],
			["yǒng"],
			["kě"],
			["gǔ"]
		],
		"余霞散绮": [
			["yú"],
			["xiá"],
			["sàn"],
			["qǐ"]
		],
		"余韵流风": [
			["yú"],
			["yùn"],
			["liú"],
			["fēng"]
		],
		"余子碌碌": [
			["yú"],
			["zǐ"],
			["lù"],
			["lù"]
		],
		"杅穿皮蠹": [
			["yú"],
			["chuān"],
			["shuǐ"],
			["dù"]
		],
		"鱼肠尺素": [
			["yú"],
			["cháng"],
			["chǐ"],
			["sù"]
		],
		"鱼传尺素": [
			["yú"],
			["chuán"],
			["chǐ"],
			["sù"]
		],
		"鱼沉雁落": [
			["yú"],
			["chén"],
			["yàn"],
			["luò"]
		],
		"鱼大水小": [
			["yú"],
			["dà"],
			["shuǐ"],
			["xiǎo"]
		],
		"鱼肚白": [
			["yú"],
			["dǔ"],
			["bái"]
		],
		"鱼封雁帖": [
			["yú"],
			["fēng"],
			["yàn"],
			["tiē"]
		],
		"鱼贯而行": [
			["yú"],
			["guàn"],
			["ér"],
			["xíng"]
		],
		"鱼贯雁行": [
			["yú"],
			["guàn"],
			["yàn"],
			["xíng"]
		],
		"鱼惊鸟散": [
			["yú"],
			["jīng"],
			["niǎo"],
			["sàn"]
		],
		"鱼溃鸟散": [
			["yú"],
			["kuì"],
			["niǎo"],
			["sàn"]
		],
		"鱼溃鸟离": [
			["yú"],
			["kuì"],
			["niǎo"],
			["lí"]
		],
		"鱼烂而亡": [
			["yú"],
			["làn"],
			["ér"],
			["wáng"]
		],
		"鱼烂瓦解": [
			["yú"],
			["làn"],
			["wǎ"],
			["jiě"]
		],
		"鱼烂取亡": [
			["yú"],
			["làn"],
			["qǔ"],
			["wáng"]
		],
		"鱼龙变化": [
			["yú"],
			["lóng"],
			["biàn"],
			["huà"]
		],
		"鱼龙混杂": [
			["yú"],
			["lóng"],
			["hùn"],
			["zá"]
		],
		"鱼米之地": [
			["yú"],
			["mǐ"],
			["zhī"],
			["dì"]
		],
		"鱼目混珍": [
			["yú"],
			["mù"],
			["hùn"],
			["zhēn"]
		],
		"鱼目混珎": [
			["yú"],
			["mù"],
			["hùn"],
			["zhū"]
		],
		"鱼目混珠": [
			["yú"],
			["mù"],
			["hùn"],
			["zhū"]
		],
		"鱼目间珠": [
			["yú"],
			["mù"],
			["jiān"],
			["zhū"]
		],
		"鱼生空釜": [
			["yú"],
			["shēng"],
			["kōng"],
			["fǔ"]
		],
		"鱼石脂": [
			["yú"],
			["shí"],
			["zhī"]
		],
		"鱼书雁帖": [
			["yú"],
			["shū"],
			["yàn"],
			["tiě"]
		],
		"鱼书雁信": [
			["yú"],
			["shū"],
			["yàn"],
			["xìn"]
		],
		"鱼水和谐": [
			["yú"],
			["shuǐ"],
			["hé"],
			["xié"]
		],
		"鱼水相欢": [
			["yú"],
			["shuǐ"],
			["xiāng"],
			["huān"]
		],
		"鱼水相投": [
			["yú"],
			["shuǐ"],
			["xiāng"],
			["tóu"]
		],
		"鱼尾纹": [
			["yú"],
			["wěi"],
			["wén"]
		],
		"鱼尾雁行": [
			["yú"],
			["wěi"],
			["yàn"],
			["xíng"]
		],
		"鱼县鸟窜": [
			["yú"],
			["xiàn"],
			["niǎo"],
			["cuàn"]
		],
		"鱼游釜内": [
			["yú"],
			["yóu"],
			["fǔ"],
			["nèi"]
		],
		"鱼游釜底": [
			["yú"],
			["yóu"],
			["fǔ"],
			["dǐ"]
		],
		"鱼游釜中": [
			["yú"],
			["yóu"],
			["fǔ"],
			["zhōng"]
		],
		"鱼游濠上": [
			["yú"],
			["yóu"],
			["háo"],
			["shàng"]
		],
		"鱼游燋釜": [
			["yú"],
			["yóu"],
			["zhuó"],
			["fǔ"]
		],
		"娱乐场": [
			["yú"],
			["lè"],
			["chǎng"]
		],
		"娱乐圈": [
			["yú"],
			["lè"],
			["quān"]
		],
		"娱乐频道": [
			["yú"],
			["lè"],
			["pín"],
			["dào"]
		],
		"鱼与熊掌": [
			["yú"],
			["yǔ"],
			["xióng"],
			["zhǎng"]
		],
		"渔夺侵牟": [
			["yú"],
			["duó"],
			["qīn"],
			["móu"]
		],
		"娱妻弄子": [
			["yú"],
			["qī"],
			["nòng"],
			["zǐ"]
		],
		"渔人得利": [
			["yú"],
			["rén"],
			["dé"],
			["lì"]
		],
		"渔翁得利": [
			["yú"],
			["wēng"],
			["dé"],
			["lì"]
		],
		"渔阳鞞鼓": [
			["yǔ"],
			["yáng"],
			["pí"],
			["gǔ"]
		],
		"逾千越万": [
			["yú"],
			["qiān"],
			["yuè"],
			["wàn"]
		],
		"逾墙钻蠙": [
			["yú"],
			["qiáng"],
			["zuàn"],
			["pín"]
		],
		"逾墙钻隙": [
			["yú"],
			["qiáng"],
			["zuān"],
			["xì"]
		],
		"逾墙钻穴": [
			["yú"],
			["qiáng"],
			["zuàn"],
			["xué"]
		],
		"逾绳越契": [
			["yú"],
			["shéng"],
			["yuè"],
			["qì"]
		],
		"逾沙轶漠": [
			["yú"],
			["shā"],
			["yì"],
			["mò"]
		],
		"愚不可及": [
			["yú"],
			["bù"],
			["kě"],
			["jí"]
		],
		"愚夫蠢妇": [
			["yú"],
			["fū"],
			["chǔn"],
			["fù"]
		],
		"愚夫愚妇": [
			["yú"],
			["fū"],
			["yú"],
			["fù"]
		],
		"愚昧无知": [
			["yú"],
			["mèi"],
			["wú"],
			["zhī"]
		],
		"愚人节": [
			["yú"],
			["rén"],
			["jié"]
		],
		"榆枋之见": [
			["yú"],
			["fāng"],
			["zhī"],
			["jiàn"]
		],
		"榆瞑豆重": [
			["yú"],
			["míng"],
			["dòu"],
			["zhòng"]
		],
		"榆木疙瘩": [
			["yú"],
			["mù"],
			["gē"],
			["da"]
		],
		"榆木脑壳": [
			["yú"],
			["mù"],
			["nǎo"],
			["ké"]
		],
		"榆叶梅": [
			["yú"],
			["yè"],
			["méi"]
		],
		"瑜不掩瑕": [
			["yú"],
			["bù"],
			["yǎn"],
			["xiá"]
		],
		"瑜不揜瑕": [
			["yú"],
			["bù"],
			["yǎn"],
			["xiá"]
		],
		"舆论哗然": [
			["yú"],
			["lùn"],
			["huá"],
			["rán"]
		],
		"与狐谋皮": [
			["yǔ"],
			["hú"],
			["móu"],
			["pí"]
		],
		"与虎谋皮": [
			["yǔ"],
			["hǔ"],
			["móu"],
			["pí"]
		],
		"与虎添翼": [
			["yǔ"],
			["hǔ"],
			["tiān"],
			["yì"]
		],
		"与民更始": [
			["yǔ"],
			["rén"],
			["gēng"],
			["shǐ"]
		],
		"与民除害": [
			["yǔ"],
			["hǔ"],
			["chú"],
			["hài"]
		],
		"与民同乐": [
			["yǔ"],
			["mín"],
			["tóng"],
			["lè"]
		],
		"与人为善": [
			["yǔ"],
			["rén"],
			["wéi"],
			["shàn"]
		],
		"与日俱增": [
			["yǔ"],
			["rì"],
			["jù"],
			["zēng"]
		],
		"与时推移": [
			["yǔ"],
			["shí"],
			["tuī"],
			["yí"]
		],
		"与时消息": [
			["yǔ"],
			["shí"],
			["xiāo"],
			["xi"]
		],
		"与时偕行": [
			["yǔ"],
			["shí"],
			["xié"],
			["xíng"]
		],
		"与世长辞": [
			["yǔ"],
			["shì"],
			["cháng"],
			["cí"]
		],
		"与世浮沉": [
			["yǔ"],
			["shì"],
			["fú"],
			["chén"]
		],
		"与世沉浮": [
			["yú"],
			["shì"],
			["chén"],
			["fú"]
		],
		"与世俯仰": [
			["yǔ"],
			["shì"],
			["fǔ"],
			["yǎng"]
		],
		"与世隔绝": [
			["yǔ"],
			["shì"],
			["gé"],
			["jué"]
		],
		"与世推移": [
			["yǔ"],
			["shì"],
			["tuī"],
			["yí"]
		],
		"与世偃仰": [
			["yǔ"],
			["shì"],
			["yǎn"],
			["yǎng"]
		],
		"与世无争": [
			["yú"],
			["shì"],
			["wú"],
			["zhēng"]
		],
		"与受同科": [
			["yǔ"],
			["shòu"],
			["tóng"],
			["kē"]
		],
		"与物无竞": [
			["yǔ"],
			["wù"],
			["wú"],
			["jìng"]
		],
		"与物无忤": [
			["yǔ"],
			["wù"],
			["wú"],
			["wǔ"]
		],
		"与众不同": [
			["yǔ"],
			["zhòng"],
			["bù"],
			["tóng"]
		],
		"宇航员": [
			["yǔ"],
			["háng"],
			["yuán"]
		],
		"宇宙观": [
			["yǔ"],
			["zhòu"],
			["guān"]
		],
		"宇宙空间": [
			["yǔ"],
			["zhòu"],
			["kōng"],
			["jiān"]
		],
		"宇宙速度": [
			["yǔ"],
			["zhòu"],
			["sù"],
			["dù"]
		],
		"羽扇纶巾": [
			["yǔ"],
			["shàn"],
			["guān"],
			["jīn"]
		],
		"雨鬓风鬟": [
			["yǔ"],
			["bìn"],
			["fēng"],
			["huán"]
		],
		"雨僝风僽": [
			["yǔ"],
			["chán"],
			["fēng"],
			["zhòu"]
		],
		"雨僝云僽": [
			["yǔ"],
			["chán"],
			["yún"],
			["zhòu"]
		],
		"雨愁烟恨": [
			["yǔ"],
			["chóu"],
			["yān"],
			["hèn"]
		],
		"雨凑云集": [
			["yǔ"],
			["còu"],
			["yún"],
			["jí"]
		],
		"雨打风吹": [
			["yǔ"],
			["dǎ"],
			["fēng"],
			["chuī"]
		],
		"雨栋风帘": [
			["yǔ"],
			["dòng"],
			["fēng"],
			["lián"]
		],
		"雨断云销": [
			["yǔ"],
			["duàn"],
			["yún"],
			["xiāo"]
		],
		"雨膏烟腻": [
			["yǔ"],
			["gāo"],
			["yān"],
			["nì"]
		],
		"雨覆云翻": [
			["yǔ"],
			["fù"],
			["yún"],
			["fān"]
		],
		"雨过天青": [
			["yǔ"],
			["guò"],
			["tiān"],
			["qīng"]
		],
		"雨恨云愁": [
			["yǔ"],
			["hèn"],
			["yún"],
			["chóu"]
		],
		"雨过天晴": [
			["yǔ"],
			["guò"],
			["tiān"],
			["qíng"]
		],
		"雨后春笋": [
			["yǔ"],
			["hòu"],
			["chūn"],
			["sǔn"]
		],
		"雨后送伞": [
			["yǔ"],
			["hòu"],
			["sòng"],
			["sǎn"]
		],
		"雨花石": [
			["yǔ"],
			["huā"],
			["shí"]
		],
		"雨花台": [
			["yǔ"],
			["huā"],
			["tái"]
		],
		"雨迹云踪": [
			["yǔ"],
			["jì"],
			["yún"],
			["zōng"]
		],
		"雨夹雪": [
			["yǔ"],
			["jiā"],
			["xuě"]
		],
		"雨巾风帽": [
			["yǔ"],
			["jīn"],
			["fēng"],
			["mào"]
		],
		"雨井烟垣": [
			["yǔ"],
			["jǐng"],
			["yān"],
			["yuán"]
		],
		"雨笠烟蓑": [
			["yǔ"],
			["lì"],
			["yān"],
			["suō"]
		],
		"雨帘云栋": [
			["yǔ"],
			["lián"],
			["yún"],
			["dòng"]
		],
		"雨鬣霜蹄": [
			["yǔ"],
			["liè"],
			["shuāng"],
			["tí"]
		],
		"雨淋日晒": [
			["yǔ"],
			["lín"],
			["rì"],
			["shài"]
		],
		"雨淋日炙": [
			["yǔ"],
			["lín"],
			["rì"],
			["zhì"]
		],
		"雨零星散": [
			["yǔ"],
			["líng"],
			["xīng"],
			["sàn"]
		],
		"雨零星乱": [
			["yǔ"],
			["líng"],
			["xīng"],
			["luàn"]
		],
		"雨露之恩": [
			["yǔ"],
			["lù"],
			["zhī"],
			["ēn"]
		],
		"雨霾风障": [
			["yǔ"],
			["mái"],
			["fēng"],
			["zhàng"]
		],
		"雨沐风餐": [
			["yǔ"],
			["mù"],
			["fēng"],
			["cān"]
		],
		"雨泣云愁": [
			["yǔ"],
			["qì"],
			["yún"],
			["chóu"]
		],
		"雨散风流": [
			["yǔ"],
			["sàn"],
			["fēng"],
			["liú"]
		],
		"雨散云飞": [
			["yǔ"],
			["sàn"],
			["yún"],
			["fēi"]
		],
		"雨散云收": [
			["yǔ"],
			["sàn"],
			["yún"],
			["shōu"]
		],
		"雨收云散": [
			["yǔ"],
			["shōu"],
			["yún"],
			["sàn"]
		],
		"雨水管": [
			["yǔ"],
			["shuǐ"],
			["guǎn"]
		],
		"雨顺风调": [
			["yǔ"],
			["shùn"],
			["fēng"],
			["tiáo"]
		],
		"雨丝风片": [
			["yǔ"],
			["sī"],
			["fēng"],
			["piàn"]
		],
		"雨宿风餐": [
			["yǔ"],
			["sù"],
			["fēng"],
			["cān"]
		],
		"雨蓑风笠": [
			["yǔ"],
			["suō"],
			["fēng"],
			["lì"]
		],
		"雨蓑烟笠": [
			["yǔ"],
			["suō"],
			["yān"],
			["lì"]
		],
		"雨条烟叶": [
			["yǔ"],
			["tiáo"],
			["yān"],
			["yè"]
		],
		"雨卧风餐": [
			["yǔ"],
			["wò"],
			["fēng"],
			["cān"]
		],
		"雨消云散": [
			["yǔ"],
			["xiāo"],
			["yún"],
			["sàn"]
		],
		"雨歇云收": [
			["yǔ"],
			["xiē"],
			["yún"],
			["shōu"]
		],
		"雨旸时若": [
			["yǔ"],
			["yáng"],
			["shí"],
			["ruò"]
		],
		"雨约云期": [
			["yǔ"],
			["yuē"],
			["yún"],
			["qī"]
		],
		"雨沾云惹": [
			["yǔ"],
			["zhān"],
			["yún"],
			["rě"]
		],
		"雨僽风僝": [
			["yǔ"],
			["zhòu"],
			["fēng"],
			["chán"]
		],
		"雨踪云迹": [
			["yǔ"],
			["zōng"],
			["yún"],
			["jì"]
		],
		"禹行舜趋": [
			["yǔ"],
			["xíng"],
			["shùn"],
			["qū"]
		],
		"语不惊人": [
			["yǔ"],
			["bù"],
			["jīng"],
			["rèn"]
		],
		"语长心重": [
			["yǔ"],
			["cháng"],
			["xīn"],
			["zhòng"]
		],
		"语不投机": [
			["yǔ"],
			["bù"],
			["tóu"],
			["jī"]
		],
		"语短情长": [
			["yǔ"],
			["duǎn"],
			["qíng"],
			["cháng"]
		],
		"语出月胁": [
			["yǔ"],
			["chū"],
			["yuè"],
			["xié"]
		],
		"语法学": [
			["yǔ"],
			["fǎ"],
			["xué"]
		],
		"语简意赅": [
			["yǔ"],
			["jiǎn"],
			["yì"],
			["gāi"]
		],
		"语近词冗": [
			["yǔ"],
			["jìn"],
			["cí"],
			["rǒng"]
		],
		"语近指远": [
			["yǔ"],
			["jìn"],
			["zhǐ"],
			["yuǎn"]
		],
		"语妙绝伦": [
			["yǔ"],
			["miào"],
			["jué"],
			["lún"]
		],
		"语妙天下": [
			["yǔ"],
			["miào"],
			["tiān"],
			["xià"]
		],
		"语四言三": [
			["yǔ"],
			["sì"],
			["yán"],
			["sān"]
		],
		"语气词": [
			["yǔ"],
			["qì"],
			["cí"]
		],
		"语体文": [
			["yǔ"],
			["tǐ"],
			["wén"]
		],
		"语无伦次": [
			["yǔ"],
			["wú"],
			["lún"],
			["cì"]
		],
		"语无诠次": [
			["yǔ"],
			["wú"],
			["quán"],
			["cì"]
		],
		"语笑喧哗": [
			["yǔ"],
			["xiào"],
			["xuān"],
			["huá"]
		],
		"语笑喧呼": [
			["yǔ"],
			["xiào"],
			["xuān"],
			["hū"]
		],
		"语笑喧阗": [
			["yǔ"],
			["xiào"],
			["xuān"],
			["tiān"]
		],
		"语焉不详": [
			["yǔ"],
			["yān"],
			["bù"],
			["xiáng"]
		],
		"语言无味": [
			["yǔ"],
			["yán"],
			["wú"],
			["wèi"]
		],
		"语言学": [
			["yǔ"],
			["yán"],
			["xué"]
		],
		"语义学": [
			["yǔ"],
			["yì"],
			["xué"]
		],
		"语音学": [
			["yǔ"],
			["yīn"],
			["xué"]
		],
		"语源学": [
			["yǔ"],
			["yuán"],
			["xué"]
		],
		"语重心长": [
			["yǔ"],
			["zhòng"],
			["xīn"],
			["cháng"]
		],
		"语重情深": [
			["yǔ"],
			["zhòng"],
			["qíng"],
			["shēn"]
		],
		"语重心沉": [
			["yǔ"],
			["zhòng"],
			["xīn"],
			["chén"]
		],
		"语助词": [
			["yǔ"],
			["zhù"],
			["cí"]
		],
		"玉成其美": [
			["yù"],
			["chéng"],
			["qí"],
			["měi"]
		],
		"玉皇大帝": [
			["yù"],
			["huáng"],
			["dà"],
			["dì"]
		],
		"玉成其事": [
			["yù"],
			["chéng"],
			["qí"],
			["shì"]
		],
		"玉尺量才": [
			["yù"],
			["chǐ"],
			["liáng"],
			["cái"]
		],
		"玉骨冰肌": [
			["yù"],
			["gǔ"],
			["bīng"],
			["jī"]
		],
		"玉毁椟中": [
			["yù"],
			["huǐ"],
			["dú"],
			["zhōng"]
		],
		"玉米片": [
			["yù"],
			["mǐ"],
			["piàn"]
		],
		"玉砌雕阑": [
			["yù"],
			["qì"],
			["diāo"],
			["lán"]
		],
		"玉楼赴召": [
			["yù"],
			["lóu"],
			["fù"],
			["zhào"]
		],
		"玉石不分": [
			["yù"],
			["shí"],
			["bù"],
			["fēn"]
		],
		"玉石混淆": [
			["yù"],
			["shí"],
			["hùn"],
			["xiáo"]
		],
		"玉兰片": [
			["yù"],
			["lán"],
			["piàn"]
		],
		"玉石皆碎": [
			["yù"],
			["shí"],
			["jiē"],
			["suì"]
		],
		"玉石俱摧": [
			["yù"],
			["shí"],
			["jù"],
			["cuī"]
		],
		"玉石俱焚": [
			["yù"],
			["shí"],
			["jù"],
			["fén"]
		],
		"玉石俱碎": [
			["yù"],
			["shí"],
			["jù"],
			["suì"]
		],
		"玉石同沉": [
			["yù"],
			["shí"],
			["tóng"],
			["chén"]
		],
		"玉石同碎": [
			["yù"],
			["shí"],
			["tóng"],
			["suì"]
		],
		"玉石相揉": [
			["yù"],
			["shí"],
			["xiāng"],
			["róu"]
		],
		"玉石杂糅": [
			["yù"],
			["shí"],
			["zá"],
			["róu"]
		],
		"玉食锦衣": [
			["yù"],
			["shí"],
			["jǐn"],
			["yī"]
		],
		"玉树临风": [
			["yù"],
			["shù"],
			["lín"],
			["fēng"]
		],
		"玉树琼枝": [
			["yù"],
			["shù"],
			["qióng"],
			["zhī"]
		],
		"玉燕投怀": [
			["yù"],
			["yàn"],
			["tóu"],
			["huái"]
		],
		"玉叶金枝": [
			["yù"],
			["yè"],
			["jīn"],
			["zhī"]
		],
		"玉液金浆": [
			["yù"],
			["yè"],
			["jīn"],
			["jiāng"]
		],
		"玉卮无当": [
			["yù"],
			["zhī"],
			["wú"],
			["dàng"]
		],
		"玉液琼浆": [
			["yù"],
			["yè"],
			["qióng"],
			["jiāng"]
		],
		"玉质金相": [
			["yù"],
			["zhì"],
			["jīn"],
			["xiàng"]
		],
		"吁咈都俞": [
			["yù"],
			["fú"],
			["dōu"],
			["yú"]
		],
		"吁天呼地": [
			["yù"],
			["tiān"],
			["hū"],
			["dì"]
		],
		"饫闻厌见": [
			["yù"],
			["wén"],
			["yàn"],
			["jiàn"]
		],
		"郁郁不乐": [
			["yù"],
			["yù"],
			["bù"],
			["lè"]
		],
		"郁郁累累": [
			["yù"],
			["yù"],
			["lěi"],
			["lěi"]
		],
		"浴血奋战": [
			["yù"],
			["xuè"],
			["fèn"],
			["zhàn"]
		],
		"预产期": [
			["yù"],
			["chǎn"],
			["qī"]
		],
		"预防接种": [
			["yù"],
			["fáng"],
			["jiē"],
			["zhòng"]
		],
		"预应力": [
			["yù"],
			["yìng"],
			["lì"]
		],
		"欲罢不能": [
			["yù"],
			["bà"],
			["bù"],
			["néng"]
		],
		"欲得而甘心": [
			["yù"],
			["dé"],
			["ér"],
			["gān"],
			["xīn"]
		],
		"欲盖而彰": [
			["yù"],
			["gài"],
			["ér"],
			["zhāng"]
		],
		"欲盖弥彰": [
			["yù"],
			["gài"],
			["mí"],
			["zhāng"]
		],
		"欲壑难填": [
			["yù"],
			["hè"],
			["nán"],
			["tián"]
		],
		"欲加之罪，何患无辞": [
			["yù"],
			["jiā"],
			["zhī"],
			["zuì"],
			["，"],
			["hé"],
			["huàn"],
			["wú"],
			["cí"]
		],
		"欲擒故纵": [
			["yù"],
			["qín"],
			["gù"],
			["zòng"]
		],
		"欲取姑予": [
			["yù"],
			["qǔ"],
			["gū"],
			["yǔ"]
		],
		"欲速不达": [
			["yù"],
			["sù"],
			["bù"],
			["dá"]
		],
		"欲速则不达": [
			["yù"],
			["sù"],
			["zé"],
			["bù"],
			["dá"]
		],
		"寓情于景": [
			["yù"],
			["qíng"],
			["yú"],
			["jǐng"]
		],
		"寓意深长": [
			["yù"],
			["yì"],
			["shēn"],
			["cháng"]
		],
		"御沟红叶": [
			["yù"],
			["gōu"],
			["hóng"],
			["yè"]
		],
		"寓意深远": [
			["yù"],
			["yì"],
			["shēn"],
			["yuǎn"]
		],
		"遇难成祥": [
			["yù"],
			["nàn"],
			["chéng"],
			["xiáng"]
		],
		"遇难呈祥": [
			["yù"],
			["nàn"],
			["chéng"],
			["xiáng"]
		],
		"遇人不淑": [
			["yù"],
			["rén"],
			["bù"],
			["shū"]
		],
		"愈来愈少": [
			["yù"],
			["lái"],
			["yù"],
			["shǎo"]
		],
		"遇事生风": [
			["yù"],
			["shì"],
			["shēng"],
			["fēng"]
		],
		"誉不绝口": [
			["yù"],
			["bù"],
			["jué"],
			["kǒu"]
		],
		"毓子孕孙": [
			["yù"],
			["zǐ"],
			["yùn"],
			["sūn"]
		],
		"鹬蚌相持": [
			["yù"],
			["bàng"],
			["xiāng"],
			["chí"]
		],
		"鹬蚌相斗": [
			["yù"],
			["bàng"],
			["xiāng"],
			["dòu"]
		],
		"鹬蚌相危": [
			["yù"],
			["bàng"],
			["xiāng"],
			["wēi"]
		],
		"鹬蚌相争": [
			["yù"],
			["bàng"],
			["xiāng"],
			["zhēng"]
		],
		"鹬蚌相争，渔翁得利": [
			["yù"],
			["bàng"],
			["xiāng"],
			["zhēng"],
			["，"],
			["yú"],
			["wēng"],
			["dé"],
			["lì"]
		],
		"鬻儿卖女": [
			["yù"],
			["ér"],
			["mài"],
			["nǚ"]
		],
		"鬻鸡为凤": [
			["yù"],
			["jī"],
			["wéi"],
			["fèng"]
		],
		"鬻矛誉楯": [
			["yù"],
			["máo"],
			["yù"],
			["dùn"]
		],
		"鬻驽窃价": [
			["yù"],
			["nǔ"],
			["qiè"],
			["jià"]
		],
		"鸢肩鹄颈": [
			["yuān"],
			["jiān"],
			["hú"],
			["jǐng"]
		],
		"冤沉海底": [
			["yuān"],
			["chén"],
			["hǎi"],
			["dǐ"]
		],
		"冤大头": [
			["yuān"],
			["dà"],
			["tóu"]
		],
		"冤家路狭": [
			["yuān"],
			["jia"],
			["lù"],
			["xiá"]
		],
		"冤家对头": [
			["yuān"],
			["jia"],
			["duì"],
			["tóu"]
		],
		"冤假错案": [
			["yuān"],
			["jiǎ"],
			["cuò"],
			["àn"]
		],
		"冤家路窄": [
			["yuān"],
			["jiā"],
			["lù"],
			["zhǎi"]
		],
		"冤天屈地": [
			["yuān"],
			["tiān"],
			["qū"],
			["dì"]
		],
		"冤冤相报": [
			["yuān"],
			["yuān"],
			["xiāng"],
			["bào"]
		],
		"渊谋远略": [
			["yuān"],
			["móu"],
			["yuǎn"],
			["lüè"]
		],
		"渊涓蠖濩": [
			["yuān"],
			["juān"],
			["huò"],
			["hù"]
		],
		"渊清玉絜": [
			["yuān"],
			["qīng"],
			["yù"],
			["jié"]
		],
		"渊渟岳立": [
			["yuān"],
			["tíng"],
			["yuè"],
			["lì"]
		],
		"渊渟岳峙": [
			["yuān"],
			["tíng"],
			["yuè"],
			["zhì"]
		],
		"渊渟泽汇": [
			["yuān"],
			["tíng"],
			["zé"],
			["huì"]
		],
		"渊图远算": [
			["yuān"],
			["tú"],
			["yuǎn"],
			["suàn"]
		],
		"渊涌风厉": [
			["yuān"],
			["yǒng"],
			["fēng"],
			["lì"]
		],
		"渊源有自": [
			["yuān"],
			["yuán"],
			["yǒu"],
			["zì"]
		],
		"渊源有自来": [
			["yuān"],
			["yuán"],
			["yǒu"],
			["zì"],
			["lái"]
		],
		"渊鱼丛雀": [
			["yuān"],
			["yú"],
			["cóng"],
			["què"]
		],
		"元恶大奸": [
			["yuán"],
			["è"],
			["dà"],
			["jiān"]
		],
		"元恶大憝": [
			["yuán"],
			["è"],
			["dà"],
			["duì"]
		],
		"元奸巨恶": [
			["yuán"],
			["jiān"],
			["jù"],
			["è"]
		],
		"元经秘旨": [
			["yuán"],
			["jīng"],
			["mì"],
			["zhǐ"]
		],
		"元戎启行": [
			["yuán"],
			["róng"],
			["qǐ"],
			["xíng"]
		],
		"沅江九肋": [
			["yuán"],
			["jiāng"],
			["jiǔ"],
			["lèi"]
		],
		"原封不动": [
			["yuán"],
			["fēng"],
			["bù"],
			["dòng"]
		],
		"原始见终": [
			["yuán"],
			["shǐ"],
			["jiàn"],
			["zhōng"]
		],
		"原始社会": [
			["yuán"],
			["shǐ"],
			["shè"],
			["huì"]
		],
		"原始要终": [
			["yuán"],
			["shǐ"],
			["yào"],
			["zhōng"]
		],
		"原形败露": [
			["yuán"],
			["xíng"],
			["bài"],
			["lù"]
		],
		"原线圈": [
			["yuán"],
			["xiàn"],
			["quān"]
		],
		"原形毕露": [
			["yuán"],
			["xíng"],
			["bì"],
			["lù"]
		],
		"原原委委": [
			["yuán"],
			["yuán"],
			["wěi"],
			["wěi"]
		],
		"原子弹": [
			["yuán"],
			["zǐ"],
			["dàn"]
		],
		"原子反应堆": [
			["yuán"],
			["zǐ"],
			["fǎn"],
			["yìng"],
			["duī"]
		],
		"原子核": [
			["yuán"],
			["zǐ"],
			["hé"]
		],
		"原子能": [
			["yuán"],
			["zǐ"],
			["néng"]
		],
		"圆括号": [
			["yuán"],
			["kuò"],
			["hào"]
		],
		"圆舞曲": [
			["yuán"],
			["wǔ"],
			["qǔ"]
		],
		"圆溜溜": [
			["yuán"],
			["liū"],
			["liū"]
		],
		"圆周率": [
			["yuán"],
			["zhōu"],
			["lǜ"]
		],
		"圆柱体": [
			["yuán"],
			["zhù"],
			["tǐ"]
		],
		"圆桌会议": [
			["yuán"],
			["zhuō"],
			["huì"],
			["yì"]
		],
		"袁大头": [
			["yuán"],
			["dà"],
			["tóu"]
		],
		"援古刺今": [
			["yuán"],
			["gǔ"],
			["cì"],
			["jīn"]
		],
		"鼋鸣鳖应": [
			["yuán"],
			["míng"],
			["biē"],
			["yìng"]
		],
		"源泉万斛": [
			["yuán"],
			["quán"],
			["wàn"],
			["hú"]
		],
		"缘情体物": [
			["yuán"],
			["qíng"],
			["tǐ"],
			["wù"]
		],
		"援鳖失龟": [
			["yuán"],
			["biē"],
			["shī"],
			["guī"]
		],
		"源头活水": [
			["yuán"],
			["tóu"],
			["huó"],
			["shuǐ"]
		],
		"源源不断": [
			["yuán"],
			["yuán"],
			["bù"],
			["duàn"]
		],
		"源远流长": [
			["yuán"],
			["yuǎn"],
			["liú"],
			["cháng"]
		],
		"源源不绝": [
			["yuán"],
			["yuán"],
			["bù"],
			["jué"]
		],
		"猿鹤虫沙": [
			["yuán"],
			["hè"],
			["chóng"],
			["shā"]
		],
		"猿鹤沙虫": [
			["yuán"],
			["hè"],
			["shā"],
			["chóng"]
		],
		"猿穴坏山": [
			["yuán"],
			["xué"],
			["huài"],
			["shān"]
		],
		"远不间亲": [
			["yuǎn"],
			["bù"],
			["jiàn"],
			["qīn"]
		],
		"远愁近虑": [
			["yuǎn"],
			["chóu"],
			["jìn"],
			["lǜ"]
		],
		"远垂不朽": [
			["yuǎn"],
			["chuí"],
			["bù"],
			["xiǔ"]
		],
		"远见卓识": [
			["yuǎn"],
			["jiàn"],
			["zhuó"],
			["shí"]
		],
		"远怀近集": [
			["yuǎn"],
			["huái"],
			["jìn"],
			["jí"]
		],
		"远交近攻": [
			["yuǎn"],
			["jiāo"],
			["jìn"],
			["gōng"]
		],
		"远井不解近渴": [
			["yuǎn"],
			["jǐng"],
			["bù"],
			["jiě"],
			["jìn"],
			["kě"]
		],
		"远距离": [
			["yuǎn"],
			["jù"],
			["lí"]
		],
		"远来和尚好看经": [
			["yuǎn"],
			["lái"],
			["hé"],
			["shàng"],
			["hǎo"],
			["kàn"],
			["jīng"]
		],
		"远虑深谋": [
			["yuǎn"],
			["lǜ"],
			["shēn"],
			["móu"]
		],
		"远谋深算": [
			["yuǎn"],
			["móu"],
			["shēn"],
			["suàn"]
		],
		"远年近日": [
			["yuǎn"],
			["nián"],
			["jìn"],
			["rì"]
		],
		"远年近岁": [
			["yuǎn"],
			["nián"],
			["jìn"],
			["suì"]
		],
		"远亲不如近邻": [
			["yuǎn"],
			["qīn"],
			["bù"],
			["rú"],
			["jìn"],
			["lín"]
		],
		"远亲近邻": [
			["yuǎn"],
			["qīn"],
			["jìn"],
			["lín"]
		],
		"远求骐骥": [
			["yuǎn"],
			["qiú"],
			["qí"],
			["jì"]
		],
		"远山芙蓉": [
			["yuǎn"],
			["shān"],
			["fú"],
			["róng"]
		],
		"远涉重洋": [
			["yuǎn"],
			["shè"],
			["chóng"],
			["yáng"]
		],
		"远水不解近渴": [
			["yuǎn"],
			["shuǐ"],
			["bù"],
			["jiě"],
			["jìn"],
			["kě"]
		],
		"远水不救近火": [
			["yuǎn"],
			["shuǐ"],
			["bù"],
			["jiù"],
			["jìn"],
			["huǒ"]
		],
		"远水救不了近火": [
			["yuǎn"],
			["shuǐ"],
			["jiù"],
			["bù"],
			["liǎo"],
			["jìn"],
			["huǒ"]
		],
		"远至迩安": [
			["yuǎn"],
			["zhì"],
			["ěr"],
			["ān"]
		],
		"远溯博索": [
			["yuǎn"],
			["sù"],
			["bó"],
			["suǒ"]
		],
		"远水救不得近火": [
			["yuǎn"],
			["shuǐ"],
			["jiù"],
			["bù"],
			["dé"],
			["jìn"],
			["huǒ"]
		],
		"远水解不了近渴": [
			["yuǎn"],
			["shuǐ"],
			["jiě"],
			["bù"],
			["liǎo"],
			["jìn"],
			["kě"]
		],
		"远瞩高瞻": [
			["yuǎn"],
			["zhǔ"],
			["gāo"],
			["zhān"]
		],
		"远走高飞": [
			["yuǎn"],
			["zǒu"],
			["gāo"],
			["fēi"]
		],
		"怨不得": [
			["yuàn"],
			["bù"],
			["dé"]
		],
		"怨家债主": [
			["yuàn"],
			["jiā"],
			["zhài"],
			["zhǔ"]
		],
		"怨女旷夫": [
			["yuàn"],
			["nǚ"],
			["kuàng"],
			["fū"]
		],
		"怨气冲天": [
			["yuàn"],
			["qì"],
			["chōng"],
			["tiān"]
		],
		"怨入骨髓": [
			["yuàn"],
			["rù"],
			["gǔ"],
			["suǐ"]
		],
		"怨声载道": [
			["yuàn"],
			["shēng"],
			["zài"],
			["dào"]
		],
		"怨天怨地": [
			["yuàn"],
			["tiān"],
			["yuàn"],
			["dì"]
		],
		"约法三章": [
			["yuè"],
			["fǎ"],
			["sān"],
			["zhāng"]
		],
		"约定俗成": [
			["yuē"],
			["dìng"],
			["sú"],
			["chéng"]
		],
		"月白风清": [
			["yuè"],
			["bái"],
			["fēng"],
			["qīng"]
		],
		"月地云阶": [
			["yuè"],
			["dì"],
			["yún"],
			["jiē"]
		],
		"月份牌": [
			["yuè"],
			["fèn"],
			["pái"]
		],
		"月黑风高": [
			["yuè"],
			["hēi"],
			["fēng"],
			["gāo"]
		],
		"月朗风清": [
			["yuè"],
			["lǎng"],
			["fēng"],
			["qīng"]
		],
		"月露风云": [
			["yuè"],
			["lù"],
			["fēng"],
			["yún"]
		],
		"月露之体": [
			["yuè"],
			["lù"],
			["zhī"],
			["tǐ"]
		],
		"月落参横": [
			["yuè"],
			["luò"],
			["shēn"],
			["héng"]
		],
		"月落星沉": [
			["yuè"],
			["luò"],
			["xīng"],
			["chén"]
		],
		"月没参横": [
			["yuè"],
			["mò"],
			["shēn"],
			["héng"]
		],
		"月全食": [
			["yuè"],
			["quán"],
			["shí"]
		],
		"月缺难圆": [
			["yuè"],
			["quē"],
			["nán"],
			["yuán"]
		],
		"月台票": [
			["yuè"],
			["tái"],
			["piào"]
		],
		"月头儿": [
			["yuè"],
			["tou"],
			["er"]
		],
		"月夕花朝": [
			["yuè"],
			["xī"],
			["huā"],
			["zhāo"]
		],
		"月夜花朝": [
			["yuè"],
			["yè"],
			["huā"],
			["zhāo"]
		],
		"月圆花好": [
			["yuè"],
			["yuán"],
			["huā"],
			["hǎo"]
		],
		"月盈则食": [
			["yuè"],
			["yíng"],
			["zé"],
			["shí"]
		],
		"月月红": [
			["yuè"],
			["yuè"],
			["hóng"]
		],
		"月晕础润": [
			["yuè"],
			["yūn"],
			["chǔ"],
			["rùn"]
		],
		"月晕而风": [
			["yuè"],
			["yùn"],
			["ér"],
			["fēng"]
		],
		"月章星句": [
			["yuè"],
			["zhāng"],
			["xīng"],
			["jù"]
		],
		"月中折桂": [
			["yuè"],
			["zhōng"],
			["shé"],
			["guì"]
		],
		"月坠花折": [
			["yuè"],
			["zhuì"],
			["huā"],
			["zhé"]
		],
		"岳镇渊渟": [
			["yuè"],
			["zhèn"],
			["yuān"],
			["tīng"]
		],
		"岳峙渊渟": [
			["yuè"],
			["zhì"],
			["yuān"],
			["tíng"]
		],
		"悦近来远": [
			["yuè"],
			["jìn"],
			["lái"],
			["yuǎn"]
		],
		"跃然纸上": [
			["yuè"],
			["rán"],
			["zhǐ"],
			["shàng"]
		],
		"越鸟南栖": [
			["yuè"],
			["niǎo"],
			["nán"],
			["qī"]
		],
		"云悲海思": [
			["yún"],
			["bēi"],
			["hǎi"],
			["sī"]
		],
		"云布雨润": [
			["yún"],
			["bù"],
			["yǔ"],
			["rùn"]
		],
		"云布雨施": [
			["yún"],
			["bù"],
			["yǔ"],
			["shī"]
		],
		"云朝雨暮": [
			["yún"],
			["zhāo"],
			["yǔ"],
			["mù"]
		],
		"云程发轫": [
			["yún"],
			["chéng"],
			["fā"],
			["rèn"]
		],
		"云程万里": [
			["yún"],
			["chéng"],
			["wàn"],
			["lǐ"]
		],
		"云愁海思": [
			["yún"],
			["chóu"],
			["hǎi"],
			["sī"]
		],
		"云愁雨怨": [
			["yún"],
			["chóu"],
			["yǔ"],
			["yuàn"]
		],
		"云窗雾槛": [
			["yún"],
			["chuāng"],
			["wù"],
			["jiàn"]
		],
		"云淡风轻": [
			["yún"],
			["dàn"],
			["fēng"],
			["qīng"]
		],
		"云翻雨覆": [
			["yún"],
			["fān"],
			["yǔ"],
			["fù"]
		],
		"云飞泥沉": [
			["yún"],
			["fēi"],
			["ní"],
			["chén"]
		],
		"云飞雨散": [
			["yún"],
			["fēi"],
			["yǔ"],
			["sàn"]
		],
		"云过天空": [
			["yún"],
			["guò"],
			["tiān"],
			["kōng"]
		],
		"云冈石窟": [
			["yún"],
			["gāng"],
			["shí"],
			["kū"]
		],
		"云合景从": [
			["yún"],
			["hé"],
			["jǐng"],
			["cóng"]
		],
		"云合雾集": [
			["yún"],
			["hé"],
			["wù"],
			["jí"]
		],
		"云合响应": [
			["yún"],
			["hé"],
			["xiǎng"],
			["yìng"]
		],
		"云集景从": [
			["yún"],
			["jí"],
			["jǐng"],
			["cóng"]
		],
		"云集响应": [
			["yún"],
			["jí"],
			["xiǎng"],
			["yìng"]
		],
		"云集景附": [
			["yún"],
			["jí"],
			["jǐng"],
			["fù"]
		],
		"云交雨合": [
			["yún"],
			["jiāo"],
			["yǔ"],
			["hé"]
		],
		"云阶月地": [
			["yún"],
			["jiē"],
			["yuè"],
			["dì"]
		],
		"云堦月地": [
			["yún"],
			["jiē"],
			["yuè"],
			["dì"]
		],
		"云净天空": [
			["yún"],
			["jìng"],
			["tiān"],
			["kōng"]
		],
		"云开见日": [
			["yún"],
			["kāi"],
			["jiàn"],
			["rì"]
		],
		"云开见天": [
			["yún"],
			["kāi"],
			["jiàn"],
			["tiān"]
		],
		"云开雾散": [
			["yún"],
			["kāi"],
			["wù"],
			["sàn"]
		],
		"云龙风虎": [
			["yún"],
			["lóng"],
			["fēng"],
			["hǔ"]
		],
		"云泥殊路": [
			["yún"],
			["ní"],
			["shū"],
			["lù"]
		],
		"云泥异路": [
			["yún"],
			["ní"],
			["yì"],
			["lù"]
		],
		"云泥之别": [
			["yún"],
			["ní"],
			["zhī"],
			["bié"]
		],
		"云泥之差": [
			["yún"],
			["ní"],
			["zhī"],
			["chā"]
		],
		"云片糕": [
			["yún"],
			["piàn"],
			["gāo"]
		],
		"云期雨信": [
			["yún"],
			["qī"],
			["yǔ"],
			["xìn"]
		],
		"云期雨约": [
			["yún"],
			["qī"],
			["yǔ"],
			["yuē"]
		],
		"云情雨意": [
			["yún"],
			["qíng"],
			["yǔ"],
			["yì"]
		],
		"云趋鹜赴": [
			["yún"],
			["qū"],
			["wù"],
			["fù"]
		],
		"云扰幅裂": [
			["yún"],
			["rǎo"],
			["fú"],
			["liè"]
		],
		"云收雨散": [
			["yún"],
			["shōu"],
			["yǔ"],
			["sàn"]
		],
		"云散风流": [
			["yún"],
			["sàn"],
			["fēng"],
			["liú"]
		],
		"云舒霞卷": [
			["yún"],
			["shū"],
			["xiá"],
			["juǎn"]
		],
		"云树之思": [
			["yún"],
			["shù"],
			["zhī"],
			["sī"]
		],
		"云屯飙散": [
			["yún"],
			["tún"],
			["biāo"],
			["sàn"]
		],
		"云天雾地": [
			["yún"],
			["tiān"],
			["wù"],
			["dì"]
		],
		"云屯鸟散": [
			["yún"],
			["tún"],
			["niǎo"],
			["sàn"]
		],
		"云屯雾集": [
			["yún"],
			["tún"],
			["wù"],
			["jí"]
		],
		"云屯森立": [
			["yún"],
			["tún"],
			["sēn"],
			["lì"]
		],
		"云屯星聚": [
			["yún"],
			["tún"],
			["xīng"],
			["jù"]
		],
		"云屯席卷": [
			["yún"],
			["tún"],
			["xí"],
			["juǎn"]
		],
		"云屯雾散": [
			["yún"],
			["tún"],
			["wù"],
			["sàn"]
		],
		"云屯蚁聚": [
			["yún"],
			["tún"],
			["yǐ"],
			["jù"]
		],
		"云屯雨集": [
			["yún"],
			["tún"],
			["yǔ"],
			["jí"]
		],
		"云雾迷蒙": [
			["yún"],
			["wù"],
			["mí"],
			["méng"]
		],
		"云消雾散": [
			["yún"],
			["xiāo"],
			["wù"],
			["sàn"]
		],
		"云消雨散": [
			["yún"],
			["xiāo"],
			["yǔ"],
			["sàn"]
		],
		"云兴霞蔚": [
			["yún"],
			["xīng"],
			["xiá"],
			["wèi"]
		],
		"云行雨洽": [
			["yún"],
			["xíng"],
			["yǔ"],
			["qià"]
		],
		"云行雨施": [
			["yún"],
			["xíng"],
			["yǔ"],
			["shī"]
		],
		"云涌飙发": [
			["yún"],
			["yǒng"],
			["biāo"],
			["fā"]
		],
		"云烟过眼": [
			["yún"],
			["yān"],
			["guò"],
			["yǎn"]
		],
		"云涌风飞": [
			["yún"],
			["yǒng"],
			["fēng"],
			["fēi"]
		],
		"云尤雨殢": [
			["yún"],
			["yóu"],
			["yǔ"],
			["tì"]
		],
		"云雨巫山": [
			["yún"],
			["yǔ"],
			["wū"],
			["shān"]
		],
		"匀红点翠": [
			["yún"],
			["hóng"],
			["diǎn"],
			["cuì"]
		],
		"云中白鹤": [
			["yún"],
			["zhōng"],
			["bái"],
			["hè"]
		],
		"匀脂抹粉": [
			["yún"],
			["zhī"],
			["mǒ"],
			["fěn"]
		],
		"云中仙鹤": [
			["yún"],
			["zhōng"],
			["xiān"],
			["hè"]
		],
		"允执厥中": [
			["yǔn"],
			["zhí"],
			["jué"],
			["zhōng"]
		],
		"允执其中": [
			["yǔn"],
			["zhí"],
			["qí"],
			["zhōng"]
		],
		"陨身糜骨": [
			["yǔn"],
			["shēn"],
			["mí"],
			["gǔ"]
		],
		"运筹出奇": [
			["yùn"],
			["chóu"],
			["chū"],
			["qí"]
		],
		"殒身不恤": [
			["yǔn"],
			["shēn"],
			["bú"],
			["xù"]
		],
		"运动会": [
			["yùn"],
			["dòng"],
			["huì"]
		],
		"运动场": [
			["yùn"],
			["dòng"],
			["chǎng"]
		],
		"运动健将": [
			["yùn"],
			["dòng"],
			["jiàn"],
			["jiàng"]
		],
		"运动量": [
			["yùn"],
			["dòng"],
			["liàng"]
		],
		"运动俱乐部": [
			["yùn"],
			["dòng"],
			["jù"],
			["lè"],
			["bù"]
		],
		"运动员": [
			["yùn"],
			["dòng"],
			["yuán"]
		],
		"运计铺谋": [
			["yùn"],
			["jì"],
			["pù"],
			["móu"]
		],
		"运斤如风": [
			["yùn"],
			["jīn"],
			["rú"],
			["fēng"]
		],
		"运斤成风": [
			["yùn"],
			["jīn"],
			["chéng"],
			["fēng"]
		],
		"运输量": [
			["yùn"],
			["shū"],
			["liàng"]
		],
		"运旺时盛": [
			["yùn"],
			["wàng"],
			["shí"],
			["shèng"]
		],
		"运算放大器": [
			["yùn"],
			["suàn"],
			["fàng"],
			["dà"],
			["qì"]
		],
		"运载火箭": [
			["yùn"],
			["zài"],
			["huǒ"],
			["jiàn"]
		],
		"运之掌上": [
			["yùn"],
			["zhī"],
			["zhǎng"],
			["shàng"]
		],
		"运智铺谋": [
			["yùn"],
			["zhì"],
			["pù"],
			["móu"]
		],
		"运转时来": [
			["yùn"],
			["zhuǎn"],
			["shí"],
			["lái"]
		],
		"晕高儿": [
			["yūn"],
			["gāo"],
			["ér"]
		],
		"晕乎乎": [
			["yùn"],
			["hū"],
			["hū"]
		],
		"缊褐瓢箪": [
			["yùn"],
			["hè"],
			["piáo"],
			["dān"]
		],
		"晕晕沉沉": [
			["yūn"],
			["yūn"],
			["chén"],
			["chén"]
		],
		"晕头转向": [
			["yūn"],
			["tóu"],
			["zhuàn"],
			["xiàng"]
		],
		"韫椟藏珠": [
			["yùn"],
			["dú"],
			["cáng"],
			["zhū"]
		],
		"韫椟而藏": [
			["yùn"],
			["dú"],
			["ér"],
			["cáng"]
		],
		"咂嘴弄唇": [
			["zā"],
			["zuǐ"],
			["nòng"],
			["chún"]
		],
		"咂嘴弄舌": [
			["zā"],
			["zuǐ"],
			["nòng"],
			["shé"]
		],
		"杂拌儿": [
			["zá"],
			["bàn"],
			["ér"]
		],
		"杂货铺": [
			["zá"],
			["huò"],
			["pù"]
		],
		"灾难深重": [
			["zāi"],
			["nán"],
			["shēn"],
			["zhòng"]
		],
		"栽跟头": [
			["zāi"],
			["gēn"],
			["tou"]
		],
		"宰鸡教猴": [
			["zǎi"],
			["jī"],
			["jiào"],
			["hóu"]
		],
		"宰相肚里好撑船": [
			["zǎi"],
			["xiàng"],
			["dù"],
			["lǐ"],
			["hǎo"],
			["chēng"],
			["chuán"]
		],
		"载沉载浮": [
			["zài"],
			["chén"],
			["zài"],
			["fú"]
		],
		"载驰载驱": [
			["zǎi"],
			["chí"],
			["zǎi"],
			["qū"]
		],
		"载歌且舞": [
			["zài"],
			["gē"],
			["qiě"],
			["wǔ"]
		],
		"宰牲节": [
			["zǎi"],
			["shēng"],
			["jié"]
		],
		"载歌载舞": [
			["zài"],
			["gē"],
			["zài"],
			["wǔ"]
		],
		"载酒问字": [
			["zài"],
			["jiǔ"],
			["wèn"],
			["zì"]
		],
		"载驱载驰": [
			["zài"],
			["qū"],
			["zài"],
			["chí"]
		],
		"载笑载言": [
			["zài"],
			["xiào"],
			["zài"],
			["yán"]
		],
		"载一抱素": [
			["zài"],
			["yī"],
			["bào"],
			["sù"]
		],
		"载重量": [
			["zài"],
			["zhòng"],
			["liàng"]
		],
		"载舟覆舟": [
			["zài"],
			["zhōu"],
			["fù"],
			["zhōu"]
		],
		"再别康桥": [
			["zài"],
			["bié"],
			["kāng"],
			["qiáo"]
		],
		"再不其然": [
			["zài"],
			["bù"],
			["qí"],
			["rán"]
		],
		"再不然": [
			["zài"],
			["bù"],
			["rán"]
		],
		"再生父母": [
			["zài"],
			["shēng"],
			["fù"],
			["mǔ"]
		],
		"再衰三涸": [
			["zài"],
			["shuāi"],
			["sān"],
			["hé"]
		],
		"再衰三竭": [
			["zài"],
			["shuāi"],
			["sān"],
			["jié"]
		],
		"再作冯妇": [
			["zài"],
			["zuò"],
			["féng"],
			["fù"]
		],
		"在家出家": [
			["zài"],
			["jiā"],
			["chū"],
			["jiā"]
		],
		"在劫难逃": [
			["zài"],
			["jié"],
			["nán"],
			["táo"]
		],
		"在理会": [
			["zài"],
			["lǐ"],
			["huì"]
		],
		"在所不辞": [
			["zài"],
			["suǒ"],
			["bù"],
			["cí"]
		],
		"在所不惜": [
			["zài"],
			["suǒ"],
			["bù"],
			["xī"]
		],
		"在所难免": [
			["zài"],
			["suǒ"],
			["nán"],
			["miǎn"]
		],
		"攒锋聚镝": [
			["cuán"],
			["fēng"],
			["jù"],
			["dí"]
		],
		"攒零合整": [
			["cuán"],
			["líng"],
			["hé"],
			["zhěng"]
		],
		"攒眉蹙额": [
			["cuán"],
			["mei"],
			["cù"],
			["é"]
		],
		"攒眉苦脸": [
			["zǎn"],
			["méi"],
			["kǔ"],
			["liǎn"]
		],
		"攒三聚五": [
			["cuán"],
			["sān"],
			["jù"],
			["wǔ"]
		],
		"攒三集五": [
			["cuán"],
			["sān"],
			["jí"],
			["wǔ"]
		],
		"赞不绝口": [
			["zàn"],
			["bù"],
			["jué"],
			["kǒu"]
		],
		"赞口不绝": [
			["zàn"],
			["kǒu"],
			["bù"],
			["jué"]
		],
		"赞声不绝": [
			["zàn"],
			["shēng"],
			["bù"],
			["jué"]
		],
		"赞叹不已": [
			["zàn"],
			["tàn"],
			["bù"],
			["yǐ"]
		],
		"赃贿狼藉": [
			["zāng"],
			["huì"],
			["láng"],
			["jí"]
		],
		"赃秽狼藉": [
			["zāng"],
			["huì"],
			["láng"],
			["jí"]
		],
		"赃货狼藉": [
			["zāng"],
			["huò"],
			["láng"],
			["jí"]
		],
		"赃私狼藉": [
			["zāng"],
			["sī"],
			["láng"],
			["jí"]
		],
		"赃污狼藉": [
			["zāng"],
			["wū"],
			["láng"],
			["jí"]
		],
		"赃盈恶贯": [
			["zāng"],
			["yíng"],
			["è"],
			["guàn"]
		],
		"臧否人物": [
			["zāng"],
			["pǐ"],
			["rén"],
			["wù"]
		],
		"臧谷亡羊": [
			["zāng"],
			["gǔ"],
			["wáng"],
			["yáng"]
		],
		"臧穀亡羊": [
			["zāng"],
			["gǔ"],
			["wáng"],
			["yáng"]
		],
		"脏污狼藉": [
			["zāng"],
			["wū"],
			["láng"],
			["jí"]
		],
		"遭逢会遇": [
			["zāo"],
			["féng"],
			["huì"],
			["yù"]
		],
		"遭逢不偶": [
			["zāo"],
			["féng"],
			["bù"],
			["ǒu"]
		],
		"遭逢际会": [
			["zāo"],
			["féng"],
			["jì"],
			["huì"]
		],
		"遭际不偶": [
			["zāo"],
			["jì"],
			["bù"],
			["ǒu"]
		],
		"遭逢时会": [
			["zāo"],
			["féng"],
			["shí"],
			["huì"]
		],
		"遭际时会": [
			["zāo"],
			["jì"],
			["shí"],
			["huì"]
		],
		"遭家不造": [
			["zāo"],
			["jiā"],
			["bù"],
			["zào"]
		],
		"遭劫在数": [
			["zāo"],
			["jié"],
			["zài"],
			["shù"]
		],
		"遭时不偶": [
			["zāo"],
			["shí"],
			["bù"],
			["ǒu"]
		],
		"遭遇不偶": [
			["zāo"],
			["yù"],
			["bù"],
			["ǒu"]
		],
		"遭遇际会": [
			["zāo"],
			["yù"],
			["jì"],
			["huì"]
		],
		"遭遇运会": [
			["zāo"],
			["yù"],
			["yùn"],
			["huì"]
		],
		"糟糠之妻": [
			["zāo"],
			["kāng"],
			["zhī"],
			["qī"]
		],
		"糟糠之妻不下堂": [
			["zāo"],
			["kāng"],
			["zhī"],
			["qī"],
			["bù"],
			["xià"],
			["táng"]
		],
		"凿骨捣髓": [
			["záo"],
			["gǔ"],
			["dǎo"],
			["suǐ"]
		],
		"凿龟数策": [
			["záo"],
			["guī"],
			["shǔ"],
			["cè"]
		],
		"凿坏而遁": [
			["záo"],
			["pī"],
			["ér"],
			["dùn"]
		],
		"凿坏以遁": [
			["záo"],
			["pī"],
			["yǐ"],
			["dùn"]
		],
		"凿空取办": [
			["záo"],
			["kōng"],
			["qǔ"],
			["bàn"]
		],
		"凿空投隙": [
			["záo"],
			["kōng"],
			["tóu"],
			["xì"]
		],
		"凿空之论": [
			["záo"],
			["kōng"],
			["zhī"],
			["lùn"]
		],
		"凿凿可据": [
			["záo"],
			["záo"],
			["kě"],
			["jù"]
		],
		"凿饮耕食": [
			["záo"],
			["yǐn"],
			["gēng"],
			["shí"]
		],
		"凿凿有据": [
			["záo"],
			["záo"],
			["yǒu"],
			["jù"]
		],
		"早朝晏罢": [
			["zǎo"],
			["cháo"],
			["yàn"],
			["bà"]
		],
		"早期白话": [
			["zǎo"],
			["qī"],
			["bái"],
			["huà"]
		],
		"早上好": [
			["zǎo"],
			["shàng"],
			["hǎo"]
		],
		"早占勿药": [
			["zǎo"],
			["zhān"],
			["wù"],
			["yào"]
		],
		"灶王爷": [
			["zào"],
			["wáng"],
			["yé"]
		],
		"皂白不分": [
			["zào"],
			["bái"],
			["bù"],
			["fēn"]
		],
		"造车合辙": [
			["zào"],
			["chē"],
			["hé"],
			["zhé"]
		],
		"造船厂": [
			["zào"],
			["chuán"],
			["chǎng"]
		],
		"造次行事": [
			["zào"],
			["cì"],
			["xíng"],
			["shì"]
		],
		"造端倡始": [
			["zào"],
			["duān"],
			["chàng"],
			["shǐ"]
		],
		"造恶不悛": [
			["zào"],
			["è"],
			["bù"],
			["quān"]
		],
		"造化小儿": [
			["zào"],
			["huà"],
			["xiǎo"],
			["ér"]
		],
		"造型艺术": [
			["zào"],
			["xíng"],
			["yì"],
			["shù"]
		],
		"造谣中伤": [
			["zào"],
			["yáo"],
			["zhòng"],
			["shāng"]
		],
		"造因结果": [
			["zào"],
			["yīn"],
			["jié"],
			["guǒ"]
		],
		"造因得果": [
			["zào"],
			["yīn"],
			["dé"],
			["guǒ"]
		],
		"造作矫揉": [
			["zào"],
			["zuò"],
			["jiǎo"],
			["róu"]
		],
		"择肥而噬": [
			["zé"],
			["féi"],
			["ér"],
			["shì"]
		],
		"躁言丑句": [
			["zào"],
			["yán"],
			["chǒu"],
			["jù"]
		],
		"择地而蹈": [
			["zé"],
			["dì"],
			["ér"],
			["dǎo"]
		],
		"择福宜重": [
			["zé"],
			["fú"],
			["yí"],
			["zhòng"]
		],
		"择邻而居": [
			["zé"],
			["lín"],
			["ér"],
			["jū"]
		],
		"择善而从": [
			["zé"],
			["shàn"],
			["ér"],
			["cóng"]
		],
		"择善而行": [
			["zé"],
			["shàn"],
			["ér"],
			["xíng"]
		],
		"择主而事": [
			["zé"],
			["zhǔ"],
			["ér"],
			["shì"]
		],
		"泽及枯骨": [
			["zé"],
			["jí"],
			["kū"],
			["gǔ"]
		],
		"泽被后世": [
			["zé"],
			["bèi"],
			["hòu"],
			["shì"]
		],
		"泽吻磨牙": [
			["zé"],
			["wěn"],
			["mó"],
			["yá"]
		],
		"责任感": [
			["zé"],
			["rèn"],
			["gǎn"]
		],
		"责任事故": [
			["zé"],
			["rèn"],
			["shì"],
			["gù"]
		],
		"责任心": [
			["zé"],
			["rèn"],
			["xīn"]
		],
		"责任制": [
			["zé"],
			["rèn"],
			["zhì"]
		],
		"责无旁贷": [
			["zé"],
			["wú"],
			["páng"],
			["dài"]
		],
		"责有所归": [
			["zé"],
			["yǒu"],
			["suǒ"],
			["guī"]
		],
		"责有攸归": [
			["zé"],
			["yǒu"],
			["yōu"],
			["guī"]
		],
		"啧有烦言": [
			["zé"],
			["yǒu"],
			["fán"],
			["yán"]
		],
		"啧啧称羡": [
			["zé"],
			["zé"],
			["chēng"],
			["xiàn"]
		],
		"啧啧称赞": [
			["zé"],
			["zé"],
			["chēng"],
			["zàn"]
		],
		"昃食宵衣": [
			["zè"],
			["shí"],
			["xiāo"],
			["yī"]
		],
		"贼骨头": [
			["zéi"],
			["gú"],
			["tou"]
		],
		"贼溜溜": [
			["zéi"],
			["liū"],
			["liū"]
		],
		"贼头狗脑": [
			["zéi"],
			["tóu"],
			["gǒu"],
			["nǎo"]
		],
		"贼头鼠脑": [
			["zéi"],
			["tóu"],
			["shǔ"],
			["nǎo"]
		],
		"贼头鬼脑": [
			["zéi"],
			["tóu"],
			["guǐ"],
			["nǎo"]
		],
		"贼头贼脑": [
			["zéi"],
			["tóu"],
			["zéi"],
			["nǎo"]
		],
		"贼心不死": [
			["zéi"],
			["xīn"],
			["bù"],
			["sǐ"]
		],
		"怎么样": [
			["zěn"],
			["me"],
			["yàng"]
		],
		"怎么着": [
			["zěn"],
			["me"],
			["zhāo"]
		],
		"曾不惨然": [
			["zeng"],
			["bu"],
			["chan"],
			["ran"]
		],
		"谮下谩上": [
			["zèn"],
			["xià"],
			["mán"],
			["shàng"]
		],
		"曾参杀人": [
			["zēng"],
			["shēn"],
			["shā"],
			["rén"]
		],
		"曾经沧海": [
			["céng"],
			["jīng"],
			["cāng"],
			["hǎi"]
		],
		"曾几何时": [
			["céng"],
			["jǐ"],
			["hé"],
			["shí"]
		],
		"曾母投杼": [
			["zēng"],
			["mǔ"],
			["tóu"],
			["zhù"]
		],
		"曾无与二": [
			["céng"],
			["wú"],
			["yǔ"],
			["èr"]
		],
		"曾祖母": [
			["zēng"],
			["zǔ"],
			["mǔ"]
		],
		"增长速度": [
			["zēng"],
			["zhǎng"],
			["sù"],
			["dù"]
		],
		"增收节支": [
			["zēng"],
			["shōu"],
			["jié"],
			["zhī"]
		],
		"增砖添瓦": [
			["zēng"],
			["zhuān"],
			["tiān"],
			["wǎ"]
		],
		"憎爱分明": [
			["zēng"],
			["ài"],
			["fēn"],
			["míng"]
		],
		"扎根串连": [
			["zhā"],
			["gēn"],
			["chuàn"],
			["lián"]
		],
		"扎耳朵": [
			["zhā"],
			["ěr"],
			["duǒ"]
		],
		"扎猛子": [
			["zhā"],
			["měng"],
			["zǐ"]
		],
		"轧钢厂": [
			["zhá"],
			["gāng"],
			["chǎng"]
		],
		"轧钢机": [
			["zhá"],
			["gāng"],
			["jī"]
		],
		"眨眼间": [
			["zhǎ"],
			["yǎn"],
			["jiān"]
		],
		"乍暖还寒": [
			["zhà"],
			["nuǎn"],
			["hái"],
			["hán"]
		],
		"诈痴不颠": [
			["zhà"],
			["chī"],
			["bù"],
			["diān"]
		],
		"诈奸不及": [
			["zhà"],
			["jiān"],
			["bù"],
			["jí"]
		],
		"诈哑佯聋": [
			["zhà"],
			["yǎ"],
			["yáng"],
			["lóng"]
		],
		"炸丸子": [
			["zhá"],
			["wán"],
			["zǐ"]
		],
		"榨油厂": [
			["zhà"],
			["yóu"],
			["chǎng"]
		],
		"摘瓜抱蔓": [
			["zhāi"],
			["guā"],
			["bào"],
			["màn"]
		],
		"摘艳熏香": [
			["zhāi"],
			["yàn"],
			["xūn"],
			["xiāng"]
		],
		"摘句寻章": [
			["zhāi"],
			["jù"],
			["xún"],
			["zhāng"]
		],
		"债多不愁": [
			["zhài"],
			["duō"],
			["bù"],
			["chóu"]
		],
		"宅中图大": [
			["zhái"],
			["zhōng"],
			["tú"],
			["dà"]
		],
		"债台高筑": [
			["zhài"],
			["tái"],
			["gāo"],
			["zhù"]
		],
		"沾风惹草": [
			["zhān"],
			["fēng"],
			["rě"],
			["cǎo"]
		],
		"沾泥带水": [
			["zhān"],
			["ní"],
			["dài"],
			["shuǐ"]
		],
		"沾亲带故": [
			["zhān"],
			["qīn"],
			["dài"],
			["gù"]
		],
		"沾亲带友": [
			["zhān"],
			["qīn"],
			["dài"],
			["yǒu"]
		],
		"沾沾自好": [
			["zhān"],
			["zhān"],
			["zì"],
			["hào"]
		],
		"毡上拖毛": [
			["zhān"],
			["shàng"],
			["tuō"],
			["máo"]
		],
		"粘合剂": [
			["nián"],
			["hé"],
			["jì"]
		],
		"粘皮带骨": [
			["zhān"],
			["pí"],
			["dài"],
			["gǔ"]
		],
		"詹言曲说": [
			["zhān"],
			["yán"],
			["qǔ"],
			["shuō"]
		],
		"詀言詀语": [
			["zhān"],
			["yán"],
			["zhān"],
			["yǔ"]
		],
		"斩钉截铁": [
			["zhǎn"],
			["dīng"],
			["jié"],
			["tiě"]
		],
		"斩钉切铁": [
			["zhǎn"],
			["dīng"],
			["qiē"],
			["tiě"]
		],
		"斩竿揭木": [
			["zhǎn"],
			["gān"],
			["jiē"],
			["mù"]
		],
		"斩将搴旗": [
			["zhǎn"],
			["jiàng"],
			["qiān"],
			["qí"]
		],
		"斩钢截铁": [
			["zhǎn"],
			["gāng"],
			["jié"],
			["tiě"]
		],
		"斩将刈旗": [
			["zhǎn"],
			["jiàng"],
			["yì"],
			["qí"]
		],
		"斩尽杀绝": [
			["zhǎn"],
			["jìn"],
			["shā"],
			["jué"]
		],
		"斩木揭竿": [
			["zhǎn"],
			["mù"],
			["jiē"],
			["gān"]
		],
		"斩头沥血": [
			["zhǎn"],
			["tóu"],
			["lì"],
			["xuè"]
		],
		"斩头去尾": [
			["zhǎn"],
			["tóu"],
			["qù"],
			["wěi"]
		],
		"展览会": [
			["zhǎn"],
			["lǎn"],
			["huì"]
		],
		"展销会": [
			["zhǎn"],
			["xiāo"],
			["huì"]
		],
		"崭露头角": [
			["zhǎn"],
			["lù"],
			["tóu"],
			["jiǎo"]
		],
		"崭露头脚": [
			["zhǎn"],
			["lù"],
			["tóu"],
			["jiǎo"]
		],
		"辗转反侧": [
			["zhǎn"],
			["zhuǎn"],
			["fǎn"],
			["cè"]
		],
		"占便宜": [
			["zhàn"],
			["pián"],
			["yí"]
		],
		"占风使帆": [
			["zhān"],
			["fēng"],
			["shǐ"],
			["fān"]
		],
		"占风望气": [
			["zhān"],
			["fēng"],
			["wàng"],
			["qì"]
		],
		"占上风": [
			["zhàn"],
			["shàng"],
			["fēng"]
		],
		"占星术": [
			["zhān"],
			["xīng"],
			["shù"]
		],
		"占优势": [
			["zhàn"],
			["yōu"],
			["shì"]
		],
		"占有权": [
			["zhàn"],
			["yǒu"],
			["quán"]
		],
		"战不旋踵": [
			["zhàn"],
			["bù"],
			["xuán"],
			["zhǒng"]
		],
		"战斗机": [
			["zhàn"],
			["dòu"],
			["jī"]
		],
		"战斗力": [
			["zhàn"],
			["dòu"],
			["lì"]
		],
		"战斗员": [
			["zhàn"],
			["dòu"],
			["yuán"]
		],
		"战斗英雄": [
			["zhàn"],
			["dòu"],
			["yīng"],
			["xióng"]
		],
		"战天斗地": [
			["zhàn"],
			["tiān"],
			["dòu"],
			["dì"]
		],
		"战无不克": [
			["zhàn"],
			["wú"],
			["bù"],
			["kè"]
		],
		"战无不胜": [
			["zhàn"],
			["wú"],
			["bù"],
			["shèng"]
		],
		"站柜台": [
			["zhàn"],
			["guì"],
			["tái"]
		],
		"湛恩汪濊": [
			["zhàn"],
			["ēn"],
			["wāng"],
			["hún"]
		],
		"站台票": [
			["zhàn"],
			["tái"],
			["piào"]
		],
		"张大其词": [
			["zhāng"],
			["dà"],
			["qí"],
			["cí"]
		],
		"张大其辞": [
			["zhāng"],
			["dà"],
			["qí"],
			["cí"]
		],
		"张大其事": [
			["zhāng"],
			["dà"],
			["qí"],
			["shì"]
		],
		"张灯结采": [
			["zhāng"],
			["dēng"],
			["jié"],
			["cǎi"]
		],
		"张灯结彩": [
			["zhāng"],
			["dēng"],
			["jié"],
			["cǎi"]
		],
		"张冠李戴": [
			["zhāng"],
			["guān"],
			["lǐ"],
			["dài"]
		],
		"张皇其事": [
			["zhāng"],
			["huáng"],
			["qí"],
			["shì"]
		],
		"张口结舌": [
			["zhāng"],
			["kǒu"],
			["jié"],
			["shé"]
		],
		"张脉偾兴": [
			["zhāng"],
			["mài"],
			["fèn"],
			["xīng"]
		],
		"张王李赵": [
			["zhāng"],
			["wáng"],
			["lǐ"],
			["zhào"]
		],
		"张王赵李": [
			["zhāng"],
			["wáng"],
			["zhào"],
			["lǐ"]
		],
		"张牙舞爪": [
			["zhāng"],
			["yá"],
			["wǔ"],
			["zhǎo"]
		],
		"张眼露睛": [
			["zhāng"],
			["yǎn"],
			["lù"],
			["jīng"]
		],
		"章句小儒": [
			["zhāng"],
			["jù"],
			["xiāo"],
			["rú"]
		],
		"章句之徒": [
			["zhāng"],
			["jù"],
			["zhī"],
			["tú"]
		],
		"章台杨柳": [
			["zhāng"],
			["tái"],
			["yáng"],
			["liǔ"]
		],
		"彰明较着": [
			["zhāng"],
			["míng"],
			["jiào"],
			["zhù"]
		],
		"彰明较著": [
			["zhāng"],
			["míng"],
			["jiào"],
			["zhù"]
		],
		"彰明昭著": [
			["zhāng"],
			["míng"],
			["zhāo"],
			["zhù"]
		],
		"彰明昭着": [
			["zhāng"],
			["míng"],
			["zhāo"],
			["zhe"]
		],
		"彰善瘅恶": [
			["zhāng"],
			["shàn"],
			["dàn"],
			["è"]
		],
		"獐麇马鹿": [
			["zhāng"],
			["jūn"],
			["mǎ"],
			["lù"]
		],
		"獐头鼠目": [
			["zhāng"],
			["tóu"],
			["shǔ"],
			["mù"]
		],
		"掌上观文": [
			["zhǎng"],
			["shàng"],
			["guān"],
			["wén"]
		],
		"掌上观纹": [
			["zhǎng"],
			["shàng"],
			["guān"],
			["wén"]
		],
		"掌上明珠": [
			["zhǎng"],
			["shàng"],
			["míng"],
			["zhū"]
		],
		"丈二和尚": [
			["zhàng"],
			["èr"],
			["hé"],
			["shàng"]
		],
		"丈八蛇矛": [
			["zhàng"],
			["bā"],
			["shé"],
			["máo"]
		],
		"仗节死义": [
			["zhàng"],
			["jié"],
			["sǐ"],
			["yì"]
		],
		"杖履相从": [
			["zhàng"],
			["lǚ"],
			["xiāng"],
			["cóng"]
		],
		"杖履纵横": [
			["zhàng"],
			["lǚ"],
			["zòng"],
			["héng"]
		],
		"障碍赛跑": [
			["zhàng"],
			["ài"],
			["sài"],
			["pǎo"]
		],
		"瘴乡恶土": [
			["zhàng"],
			["xiāng"],
			["è"],
			["tǔ"]
		],
		"瘴雨蛮烟": [
			["zhàng"],
			["yǔ"],
			["mán"],
			["yān"]
		],
		"招待会": [
			["zhāo"],
			["dāi"],
			["huì"]
		],
		"招待所": [
			["zhāo"],
			["dài"],
			["suǒ"]
		],
		"招待员": [
			["zhāo"],
			["dài"],
			["yuán"]
		],
		"招风揽火": [
			["zhāo"],
			["fēng"],
			["lǎn"],
			["huǒ"]
		],
		"招风惹草": [
			["zhāo"],
			["fēng"],
			["rě"],
			["cǎo"]
		],
		"招风惹雨": [
			["zhāo"],
			["fēng"],
			["rě"],
			["yǔ"]
		],
		"招架不住": [
			["zhāo"],
			["jià"],
			["bù"],
			["zhù"]
		],
		"招女婿": [
			["zhāo"],
			["nǚ"],
			["xù"]
		],
		"招降纳叛": [
			["zhāo"],
			["xiáng"],
			["nà"],
			["pàn"]
		],
		"招亡纳叛": [
			["zhāo"],
			["wáng"],
			["nà"],
			["pàn"]
		],
		"招摇过市": [
			["zhāo"],
			["yáo"],
			["guò"],
			["shì"]
		],
		"昭德塞违": [
			["zhāo"],
			["dé"],
			["sè"],
			["wéi"]
		],
		"昭聋发聩": [
			["zhāo"],
			["lóng"],
			["fā"],
			["kuì"]
		],
		"昭然若揭": [
			["zhāo"],
			["rán"],
			["ruò"],
			["jiē"]
		],
		"找碴儿": [
			["zhǎo"],
			["chá"],
			["ér"]
		],
		"沼泽地": [
			["zhǎo"],
			["zé"],
			["dì"]
		],
		"召之即来": [
			["zhào"],
			["zhī"],
			["jí"],
			["lái"]
		],
		"兆载永劫": [
			["zhào"],
			["zǎi"],
			["yǒng"],
			["jié"]
		],
		"照猫画虎": [
			["zhào"],
			["māo"],
			["huà"],
			["hǔ"]
		],
		"照功行赏": [
			["zhào"],
			["gōng"],
			["xíng"],
			["shǎng"]
		],
		"照明弹": [
			["zhào"],
			["míng"],
			["dàn"]
		],
		"照相版": [
			["zhào"],
			["xiàng"],
			["bǎn"]
		],
		"照相机": [
			["zhào"],
			["xiàng"],
			["jī"]
		],
		"照相纸": [
			["zhào"],
			["xiàng"],
			["zhǐ"]
		],
		"遮地盖天": [
			["zhē"],
			["dì"],
			["gài"],
			["tiān"]
		],
		"遮地漫天": [
			["zhē"],
			["dì"],
			["màn"],
			["tiān"]
		],
		"遮风挡雨": [
			["zhē"],
			["fēng"],
			["dǎng"],
			["yǔ"]
		],
		"遮空蔽日": [
			["zhē"],
			["kōng"],
			["bì"],
			["rì"]
		],
		"遮三瞒四": [
			["zhē"],
			["sān"],
			["mán"],
			["sì"]
		],
		"遮天盖地": [
			["zhē"],
			["tiān"],
			["gài"],
			["dì"]
		],
		"遮天盖日": [
			["zhē"],
			["tiān"],
			["gài"],
			["rì"]
		],
		"遮天迷地": [
			["zhē"],
			["tiān"],
			["mí"],
			["dì"]
		],
		"折长补短": [
			["zhé"],
			["cháng"],
			["bǔ"],
			["duǎn"]
		],
		"折冲厌难": [
			["zhé"],
			["chōng"],
			["yàn"],
			["nán"]
		],
		"折冲御侮": [
			["zhé"],
			["chōng"],
			["yù"],
			["wǔ"]
		],
		"折冲之臣": [
			["zhé"],
			["chōng"],
			["zhī"],
			["chén"]
		],
		"折冲尊俎": [
			["zhé"],
			["chōng"],
			["zūn"],
			["zǔ"]
		],
		"折叠椅": [
			["zhé"],
			["dié"],
			["yǐ"]
		],
		"折冲樽俎": [
			["zhé"],
			["chōng"],
			["zūn"],
			["zǔ"]
		],
		"折鼎覆餗": [
			["zhé"],
			["dǐng"],
			["fù"],
			["sù"]
		],
		"折而族之": [
			["zhe"],
			["er"],
			["zu"],
			["zi"]
		],
		"折槁振落": [
			["zhé"],
			["gǎo"],
			["zhèn"],
			["luò"]
		],
		"折跟头": [
			["zhē"],
			["gēn"],
			["tou"]
		],
		"折戟沉沙": [
			["zhé"],
			["jǐ"],
			["chén"],
			["shā"]
		],
		"折胶堕指": [
			["zhé"],
			["jiāo"],
			["duò"],
			["zhǐ"]
		],
		"折箭为誓": [
			["shé"],
			["jiàn"],
			["wéi"],
			["shì"]
		],
		"折节读书": [
			["zhé"],
			["jié"],
			["dú"],
			["shū"]
		],
		"折节下士": [
			["zhé"],
			["jié"],
			["xià"],
			["shì"]
		],
		"折旧费": [
			["zhé"],
			["jiù"],
			["fèi"]
		],
		"折矩周规": [
			["zhé"],
			["jǔ"],
			["zhōu"],
			["guī"]
		],
		"折射线": [
			["zhé"],
			["shè"],
			["xiàn"]
		],
		"折腰五斗": [
			["shé"],
			["yāo"],
			["wǔ"],
			["dòu"]
		],
		"折子戏": [
			["zhé"],
			["zǐ"],
			["xì"]
		],
		"折足覆餗": [
			["zhé"],
			["zú"],
			["fù"],
			["sù"]
		],
		"哲人其萎": [
			["zhé"],
			["rén"],
			["qí"],
			["wěi"]
		],
		"赭衣塞路": [
			["zhě"],
			["yī"],
			["sài"],
			["lù"]
		],
		"这会儿": [
			["zhè"],
			["huì"],
			["er"]
		],
		"这么点儿": [
			["zhè"],
			["me"],
			["diǎn"],
			["er"]
		],
		"这么些": [
			["zhè"],
			["mǒ"],
			["xiē"]
		],
		"这么样": [
			["zhè"],
			["me"],
			["yàng"]
		],
		"这么着": [
			["zhè"],
			["me"],
			["zhāo"]
		],
		"这山望着那山高": [
			["zhè"],
			["shān"],
			["wàng"],
			["zhe"],
			["nà"],
			["shān"],
			["gāo"]
		],
		"浙江大学": [
			["zhè"],
			["jiāng"],
			["dà"],
			["xué"]
		],
		"浙江省": [
			["zhè"],
			["jiāng"],
			["shěng"]
		],
		"贞不绝俗": [
			["zhēn"],
			["bù"],
			["jué"],
			["sú"]
		],
		"贞风亮节": [
			["zhēn"],
			["fēng"],
			["liàng"],
			["jié"]
		],
		"贞观之治": [
			["zhēn"],
			["guān"],
			["zhī"],
			["zhì"]
		],
		"贞松劲柏": [
			["zhēn"],
			["sōng"],
			["jìng"],
			["bǎi"]
		],
		"贞元会合": [
			["zhēn"],
			["yuán"],
			["huì"],
			["hé"]
		],
		"针刺麻醉": [
			["zhēn"],
			["cì"],
			["má"],
			["zuì"]
		],
		"针芥相投": [
			["zhēn"],
			["jiè"],
			["xiāng"],
			["tóu"]
		],
		"针锋相对": [
			["zhēn"],
			["fēng"],
			["xiāng"],
			["duì"]
		],
		"针芥之合": [
			["zhēn"],
			["jiè"],
			["zhī"],
			["hé"]
		],
		"针芥之契": [
			["zhēn"],
			["jiè"],
			["zhī"],
			["qì"]
		],
		"针芥之投": [
			["zhēn"],
			["jiè"],
			["zhī"],
			["tóu"]
		],
		"针头线脑": [
			["zhēn"],
			["tóu"],
			["xiàn"],
			["nǎo"]
		],
		"针头线尾": [
			["zhēn"],
			["tóu"],
			["xiàn"],
			["wěi"]
		],
		"针头削铁": [
			["zhēn"],
			["tóu"],
			["xuē"],
			["tiě"]
		],
		"针叶林": [
			["zhēn"],
			["yè"],
			["lín"]
		],
		"针织品": [
			["zhēn"],
			["zhī"],
			["pǐn"]
		],
		"侦察员": [
			["zhēn"],
			["chá"],
			["yuán"]
		],
		"侦探片": [
			["zhēn"],
			["tàn"],
			["piàn"]
		],
		"侦探小说": [
			["zhēn"],
			["tàn"],
			["xiǎo"],
			["shuō"]
		],
		"珍禽奇兽": [
			["zhēn"],
			["qín"],
			["qí"],
			["shòu"]
		],
		"真分数": [
			["zhēn"],
			["fēn"],
			["shù"]
		],
		"真格的": [
			["zhēn"],
			["gé"],
			["de"]
		],
		"真金不怕火": [
			["zhēn"],
			["jīn"],
			["bù"],
			["pà"],
			["huǒ"]
		],
		"真金不镀": [
			["zhēn"],
			["jīn"],
			["bù"],
			["dù"]
		],
		"真金不怕火炼": [
			["zhēn"],
			["jīn"],
			["bù"],
			["pà"],
			["huǒ"],
			["liàn"]
		],
		"真空泵": [
			["zhēn"],
			["kōng"],
			["bèng"]
		],
		"真空管": [
			["zhēn"],
			["kōng"],
			["guǎn"]
		],
		"真凭实据": [
			["zhēn"],
			["píng"],
			["shí"],
			["jù"]
		],
		"真枪实弹": [
			["zhēn"],
			["qiāng"],
			["shí"],
			["dàn"]
		],
		"真人不露相": [
			["zhēn"],
			["rén"],
			["bù"],
			["lòu"],
			["xiàng"]
		],
		"真伪莫辨": [
			["zhēn"],
			["wěi"],
			["mò"],
			["biàn"]
		],
		"真相毕露": [
			["zhēn"],
			["xiāng"],
			["bì"],
			["lù"]
		],
		"真真假假": [
			["zhēn"],
			["zhēn"],
			["jiǎ"],
			["jiǎ"]
		],
		"真相大白": [
			["zhēn"],
			["xiàng"],
			["dà"],
			["bái"]
		],
		"真知卓见": [
			["zhēn"],
			["zhī"],
			["zhuó"],
			["jiàn"]
		],
		"真知灼见": [
			["zhēn"],
			["zhī"],
			["zhuó"],
			["jiàn"]
		],
		"甄奇录异": [
			["zhēn"],
			["qí"],
			["lù"],
			["yì"]
		],
		"枕干之雠": [
			["zhěn"],
			["gàn"],
			["zhī"],
			["chóu"]
		],
		"枕戈待旦": [
			["zhěn"],
			["gē"],
			["dài"],
			["dàn"]
		],
		"枕戈待敌": [
			["zhěn"],
			["gē"],
			["dài"],
			["dí"]
		],
		"枕戈待命": [
			["zhěn"],
			["gē"],
			["dài"],
			["mìng"]
		],
		"枕戈汗马": [
			["zhěn"],
			["gē"],
			["hàn"],
			["mǎ"]
		],
		"枕戈泣血": [
			["zhěn"],
			["gē"],
			["qì"],
			["xuè"]
		],
		"枕戈饮血": [
			["zhěn"],
			["gē"],
			["yǐn"],
			["xuè"]
		],
		"枕流漱石": [
			["zhěn"],
			["liú"],
			["shù"],
			["shí"]
		],
		"枕戈以待": [
			["zhěn"],
			["gē"],
			["yǐ"],
			["dài"]
		],
		"枕曲藉糟": [
			["zhěn"],
			["qū"],
			["jiè"],
			["zāo"]
		],
		"枕麹藉糟": [
			["zhěn"],
			["qū"],
			["jiè"],
			["zāo"]
		],
		"枕山臂江": [
			["zhěn"],
			["shān"],
			["bì"],
			["jiāng"]
		],
		"枕山栖谷": [
			["zhěn"],
			["shān"],
			["qī"],
			["gǔ"]
		],
		"枕石寝绳": [
			["zhěn"],
			["shí"],
			["qǐn"],
			["shéng"]
		],
		"枕石嗽流": [
			["zhěn"],
			["shí"],
			["shù"],
			["liú"]
		],
		"枕石漱流": [
			["zhěn"],
			["shí"],
			["sòu"],
			["liú"]
		],
		"枕头风": [
			["zhěn"],
			["tou"],
			["fēng"]
		],
		"枕席过师": [
			["zhěn"],
			["xí"],
			["guò"],
			["shī"]
		],
		"枕席还师": [
			["zhěn"],
			["xí"],
			["huán"],
			["shī"]
		],
		"枕中鸿宝": [
			["zhěn"],
			["zhōng"],
			["hóng"],
			["bǎo"]
		],
		"阵马风樯": [
			["zhèn"],
			["mǎ"],
			["fēng"],
			["qiáng"]
		],
		"阵地战": [
			["zhèn"],
			["dì"],
			["zhàn"]
		],
		"振臂一呼": [
			["zhèn"],
			["bì"],
			["yī"],
			["hū"]
		],
		"振兵泽旅": [
			["zhèn"],
			["bīng"],
			["shì"],
			["lǚ"]
		],
		"振领提纲": [
			["zhèn"],
			["lǐng"],
			["tí"],
			["gāng"]
		],
		"振聋发聩": [
			["zhèn"],
			["lóng"],
			["fā"],
			["kuì"]
		],
		"振贫济乏": [
			["zhèn"],
			["pín"],
			["jì"],
			["fá"]
		],
		"振衣濯足": [
			["zhèn"],
			["yī"],
			["zhuó"],
			["zú"]
		],
		"振振有词": [
			["zhèn"],
			["zhèn"],
			["yǒu"],
			["cí"]
		],
		"振振有辞": [
			["zhèn"],
			["zhèn"],
			["yǒu"],
			["cí"]
		],
		"镇定自若": [
			["zhèn"],
			["dìng"],
			["zì"],
			["ruò"]
		],
		"震聋发聩": [
			["zhèn"],
			["lóng"],
			["fā"],
			["kuì"]
		],
		"震天动地": [
			["zhèn"],
			["tiān"],
			["dòng"],
			["dì"]
		],
		"争长竞短": [
			["zhēng"],
			["cháng"],
			["jìng"],
			["duǎn"]
		],
		"争长论短": [
			["zhēng"],
			["cháng"],
			["lùn"],
			["duǎn"]
		],
		"争短论长": [
			["zhēng"],
			["duǎn"],
			["lùn"],
			["cháng"]
		],
		"争多论少": [
			["zhēng"],
			["duō"],
			["lùn"],
			["shǎo"]
		],
		"争分夺秒": [
			["zhēng"],
			["fēn"],
			["duó"],
			["miǎo"]
		],
		"争风吃醋": [
			["zhēng"],
			["fēng"],
			["chī"],
			["cù"]
		],
		"争鸡失羊": [
			["zhēng"],
			["jī"],
			["shī"],
			["yáng"]
		],
		"争斤论两": [
			["zhēng"],
			["jīn"],
			["lùn"],
			["liǎng"]
		],
		"争猫丢牛": [
			["zhēng"],
			["māo"],
			["diū"],
			["niú"]
		],
		"争奇斗艳": [
			["zhēng"],
			["qí"],
			["dòu"],
			["yàn"]
		],
		"争强斗狠": [
			["zhēng"],
			["qiáng"],
			["dòu"],
			["hěn"]
		],
		"争强斗胜": [
			["zhēng"],
			["qiáng"],
			["dòu"],
			["shèng"]
		],
		"争强好胜": [
			["zhēng"],
			["qiáng"],
			["hào"],
			["shèng"]
		],
		"争强显胜": [
			["zhēng"],
			["qiáng"],
			["xiǎn"],
			["shèng"]
		],
		"争妍斗艳": [
			["zhēng"],
			["yán"],
			["dòu"],
			["yàn"]
		],
		"征敛无度": [
			["zhēng"],
			["liǎn"],
			["wú"],
			["dù"]
		],
		"铮铮铁骨": [
			["zhēng"],
			["zhēng"],
			["tiě"],
			["gǔ"]
		],
		"铮铮有声": [
			["zhēng"],
			["zhēng"],
			["yǒu"],
			["shēng"]
		],
		"蒸馏水": [
			["zhēng"],
			["liú"],
			["shuǐ"]
		],
		"蒸汽机车": [
			["zhēng"],
			["qì"],
			["jī"],
			["chē"]
		],
		"蒸沙成饭": [
			["zhēng"],
			["shā"],
			["chéng"],
			["fàn"]
		],
		"蒸蒸日上": [
			["zhēng"],
			["zhēng"],
			["rì"],
			["shàng"]
		],
		"蒸沙为饭": [
			["zhēng"],
			["shā"],
			["wéi"],
			["fàn"]
		],
		"拯溺扶危": [
			["zhěng"],
			["nì"],
			["fú"],
			["wēi"]
		],
		"整本大套": [
			["zhěng"],
			["běn"],
			["dà"],
			["tào"]
		],
		"整顿干坤": [
			["zhěng"],
			["dùn"],
			["gàn"],
			["kūn"]
		],
		"整躬率物": [
			["zhěng"],
			["gōng"],
			["shuài"],
			["wù"]
		],
		"整冠纳履": [
			["zhěng"],
			["guàn"],
			["nà"],
			["lǚ"]
		],
		"整年累月": [
			["zhěng"],
			["nián"],
			["lèi"],
			["yuè"]
		],
		"整旅厉卒": [
			["zhěng"],
			["lǚ"],
			["lì"],
			["zú"]
		],
		"整整齐齐": [
			["zhěng"],
			["zhěng"],
			["qí"],
			["qí"]
		],
		"整装待发": [
			["zhěng"],
			["zhuāng"],
			["dài"],
			["fā"]
		],
		"正本澄源": [
			["zhèng"],
			["běn"],
			["chéng"],
			["yuán"]
		],
		"正本清源": [
			["zhèng"],
			["běn"],
			["qīng"],
			["yuán"]
		],
		"正比例": [
			["zhèng"],
			["bǐ"],
			["lì"]
		],
		"正大光明": [
			["zhèng"],
			["dà"],
			["guāng"],
			["míng"]
		],
		"正大堂皇": [
			["zhèng"],
			["dà"],
			["táng"],
			["huáng"]
		],
		"正大堂煌": [
			["zhèng"],
			["dà"],
			["táng"],
			["huáng"]
		],
		"正当防卫": [
			["zhèng"],
			["dàng"],
			["fáng"],
			["wèi"]
		],
		"正当年": [
			["zhèng"],
			["dāng"],
			["nián"]
		],
		"正当时": [
			["zhèng"],
			["dāng"],
			["shí"]
		],
		"正当中": [
			["zhèng"],
			["dāng"],
			["zhōng"]
		],
		"正电荷": [
			["zhèng"],
			["diàn"],
			["hè"]
		],
		"正多边形": [
			["zhèng"],
			["duō"],
			["biān"],
			["xíng"]
		],
		"正多面体": [
			["zhèng"],
			["duō"],
			["miàn"],
			["tǐ"]
		],
		"正儿巴经": [
			["zhèng"],
			["ér"],
			["bā"],
			["jīng"]
		],
		"正儿八经": [
			["zhèng"],
			["ér"],
			["bā"],
			["jīng"]
		],
		"正法直度": [
			["zhèng"],
			["fǎ"],
			["zhí"],
			["dù"]
		],
		"正法眼藏": [
			["zhèng"],
			["fǎ"],
			["yǎn"],
			["cáng"]
		],
		"正方形": [
			["zhèng"],
			["fāng"],
			["xíng"]
		],
		"正冠李下": [
			["zhèng"],
			["guàn"],
			["lǐ"],
			["xià"]
		],
		"正冠纳履": [
			["zhèng"],
			["guàn"],
			["nà"],
			["lǚ"]
		],
		"正规军": [
			["zhèng"],
			["guī"],
			["jūn"]
		],
		"正规战": [
			["zhèng"],
			["guī"],
			["zhàn"]
		],
		"正襟危坐": [
			["zhèng"],
			["jīn"],
			["wēi"],
			["zuò"]
		],
		"正经八百": [
			["zhèng"],
			["jīng"],
			["bā"],
			["bǎi"]
		],
		"正经八板": [
			["zhèng"],
			["jīng"],
			["bā"],
			["bǎn"]
		],
		"正经八本": [
			["zhèng"],
			["jīng"],
			["bā"],
			["běn"]
		],
		"正理平治": [
			["zhèng"],
			["lǐ"],
			["píng"],
			["zhì"]
		],
		"正面人物": [
			["zhèng"],
			["miàn"],
			["rén"],
			["wù"]
		],
		"正名定分": [
			["zhèng"],
			["míng"],
			["dìng"],
			["fēn"]
		],
		"正明公道": [
			["zhèng"],
			["míng"],
			["gōng"],
			["dào"]
		],
		"正气凛然": [
			["zhèng"],
			["qì"],
			["lǐn"],
			["rán"]
		],
		"正人君子": [
			["zhèng"],
			["rén"],
			["jūn"],
			["zǐ"]
		],
		"正容亢色": [
			["zhèng"],
			["róng"],
			["kàng"],
			["sè"]
		],
		"正色敢言": [
			["zhèng"],
			["sè"],
			["gǎn"],
			["yán"]
		],
		"正色厉声": [
			["zhèng"],
			["sè"],
			["lì"],
			["shēng"]
		],
		"正色危言": [
			["zhèng"],
			["sè"],
			["wēi"],
			["yán"]
		],
		"正色直绳": [
			["zhèng"],
			["sè"],
			["zhí"],
			["shéng"]
		],
		"正色直言": [
			["zhèng"],
			["sè"],
			["zhí"],
			["yán"]
		],
		"正身率下": [
			["zhèng"],
			["shēn"],
			["shuài"],
			["xià"]
		],
		"正身明法": [
			["zhèng"],
			["shēn"],
			["míng"],
			["fǎ"]
		],
		"正身清心": [
			["zhèng"],
			["shēn"],
			["qīng"],
			["xīn"]
		],
		"正声雅音": [
			["zhèng"],
			["shēng"],
			["yǎ"],
			["yīn"]
		],
		"正始之音": [
			["zhèng"],
			["shǐ"],
			["zhī"],
			["yīn"]
		],
		"正视绳行": [
			["zhèng"],
			["shì"],
			["shéng"],
			["xíng"]
		],
		"正心诚意": [
			["zhèng"],
			["xīn"],
			["chéng"],
			["yì"]
		],
		"正言不讳": [
			["zhèng"],
			["yán"],
			["bù"],
			["huì"]
		],
		"正言厉色": [
			["zhèng"],
			["yán"],
			["lì"],
			["sè"]
		],
		"正言厉颜": [
			["zhèng"],
			["yán"],
			["lì"],
			["yán"]
		],
		"正言直谏": [
			["zhèng"],
			["yán"],
			["zhí"],
			["jiàn"]
		],
		"正颜厉色": [
			["zhèng"],
			["yán"],
			["lì"],
			["sè"]
		],
		"正义性": [
			["zhèng"],
			["yì"],
			["xìng"]
		],
		"正音法": [
			["zhèng"],
			["yīn"],
			["fǎ"]
		],
		"正正经经": [
			["zhèng"],
			["zhèng"],
			["jīng"],
			["jīng"]
		],
		"正正气气": [
			["zhèng"],
			["zhèng"],
			["qì"],
			["qì"]
		],
		"正正堂堂": [
			["zhèng"],
			["zhèng"],
			["táng"],
			["táng"]
		],
		"正正之旗": [
			["zhèng"],
			["zhèng"],
			["zhī"],
			["qí"]
		],
		"正直无私": [
			["zhèng"],
			["zhí"],
			["wú"],
			["sī"]
		],
		"正直无邪": [
			["zhèng"],
			["zhí"],
			["wú"],
			["xié"]
		],
		"正中己怀": [
			["zhèng"],
			["zhòng"],
			["jǐ"],
			["huái"]
		],
		"正中下怀": [
			["zhèng"],
			["zhòng"],
			["xià"],
			["huái"]
		],
		"正字法": [
			["zhèng"],
			["zì"],
			["fǎ"]
		],
		"证龟成鳖": [
			["zhèng"],
			["guī"],
			["chéng"],
			["biē"]
		],
		"证据确凿": [
			["zhèng"],
			["jù"],
			["què"],
			["záo"]
		],
		"证券交易所": [
			["zhèng"],
			["quàn"],
			["jiāo"],
			["yì"],
			["suǒ"]
		],
		"郑重其辞": [
			["zhèng"],
			["zhòng"],
			["qí"],
			["cí"]
		],
		"郑重其事": [
			["zhèng"],
			["zhòng"],
			["qí"],
			["shì"]
		],
		"政教合一": [
			["zhèng"],
			["jiào"],
			["hé"],
			["yī"]
		],
		"政令不一": [
			["zhèng"],
			["lìng"],
			["bù"],
			["yī"]
		],
		"政通人和": [
			["zhèng"],
			["tōng"],
			["rén"],
			["hé"]
		],
		"政清人和": [
			["zhèng"],
			["qīng"],
			["rén"],
			["hé"]
		],
		"政治避难": [
			["zhèng"],
			["zhì"],
			["bì"],
			["nàn"]
		],
		"政治地理学": [
			["zhèng"],
			["zhì"],
			["dì"],
			["lǐ"],
			["xué"]
		],
		"政治家": [
			["zhèng"],
			["zhì"],
			["jiā"]
		],
		"政治经济学": [
			["zhèng"],
			["zhì"],
			["jīng"],
			["jì"],
			["xué"]
		],
		"政治体制改革": [
			["zhèng"],
			["zhì"],
			["tǐ"],
			["zhì"],
			["gǎi"],
			["gé"]
		],
		"政治委员": [
			["zhèng"],
			["zhì"],
			["wěi"],
			["yuán"]
		],
		"政治协商会议": [
			["zhèng"],
			["zhì"],
			["xié"],
			["shāng"],
			["huì"],
			["yì"]
		],
		"政治指导员": [
			["zhèng"],
			["zhì"],
			["zhǐ"],
			["dǎo"],
			["yuán"]
		],
		"之死不渝": [
			["zhī"],
			["sǐ"],
			["bù"],
			["yú"]
		],
		"支策据梧": [
			["zhī"],
			["cè"],
			["jù"],
			["wú"]
		],
		"支分节解": [
			["zhī"],
			["fēn"],
			["jié"],
			["jiě"]
		],
		"支纷节解": [
			["zhī"],
			["fēn"],
			["jié"],
			["jiě"]
		],
		"支分族解": [
			["zhī"],
			["fēn"],
			["zú"],
			["jiě"]
		],
		"支委会": [
			["zhī"],
			["wěi"],
			["huì"]
		],
		"支吾其词": [
			["zhī"],
			["wū"],
			["qí"],
			["cí"]
		],
		"支支吾吾": [
			["zhī"],
			["zhī"],
			["wú"],
			["wú"]
		],
		"支着儿": [
			["zhī"],
			["zhāo"],
			["ér"]
		],
		"吱哩哇啦": [
			["zhī"],
			["lī"],
			["wā"],
			["lā"]
		],
		"吱吱嘎嘎": [
			["zhī"],
			["zhī"],
			["gā"],
			["gā"]
		],
		"枝别条异": [
			["zhī"],
			["bié"],
			["tiáo"],
			["yì"]
		],
		"枝布叶分": [
			["zhī"],
			["bù"],
			["yè"],
			["fēn"]
		],
		"枝词蔓说": [
			["zhī"],
			["cí"],
			["màn"],
			["shuō"]
		],
		"枝辞蔓语": [
			["zhī"],
			["cí"],
			["màn"],
			["yǔ"]
		],
		"枝词蔓语": [
			["zhī"],
			["cí"],
			["màn"],
			["yǔ"]
		],
		"枝大于本": [
			["zhī"],
			["dà"],
			["yù"],
			["běn"]
		],
		"枝对叶比": [
			["zhī"],
			["duì"],
			["yè"],
			["bǐ"]
		],
		"枝繁叶茂": [
			["zhī"],
			["fán"],
			["yè"],
			["mào"]
		],
		"枝分缕解": [
			["zhī"],
			["fēn"],
			["lǚ"],
			["jiě"]
		],
		"枝分叶散": [
			["zhī"],
			["fēn"],
			["yè"],
			["sàn"]
		],
		"枝附叶从": [
			["zhī"],
			["fù"],
			["yè"],
			["cóng"]
		],
		"枝附叶连": [
			["zhī"],
			["fù"],
			["yè"],
			["lián"]
		],
		"枝附叶著": [
			["zhī"],
			["fù"],
			["yiè"],
			["zhuó"]
		],
		"枝附叶着": [
			["zhī"],
			["fù"],
			["yiè"],
			["zhuó"]
		],
		"枝附影从": [
			["zhī"],
			["fù"],
			["yǐng"],
			["cóng"]
		],
		"枝干相持": [
			["zhī"],
			["gàn"],
			["xiāng"],
			["chí"]
		],
		"枝节横生": [
			["zhī"],
			["jié"],
			["héng"],
			["shēng"]
		],
		"枝流叶布": [
			["zhī"],
			["liú"],
			["yè"],
			["bù"]
		],
		"枝末生根": [
			["zhī"],
			["mò"],
			["shēng"],
			["gēn"]
		],
		"枝外生枝": [
			["zhī"],
			["wài"],
			["shēng"],
			["zhī"]
		],
		"枝叶扶疏": [
			["zhī"],
			["yè"],
			["fú"],
			["shū"]
		],
		"枝叶扶苏": [
			["zhī"],
			["yè"],
			["fú"],
			["sū"]
		],
		"枝源派本": [
			["zhī"],
			["yuán"],
			["pài"],
			["běn"]
		],
		"枝叶相持": [
			["zhī"],
			["yè"],
			["xiāng"],
			["chí"]
		],
		"枝枝节节": [
			["zhī"],
			["zhī"],
			["jié"],
			["jié"]
		],
		"知白守黑": [
			["zhī"],
			["bái"],
			["shǒu"],
			["hēi"]
		],
		"知彼知己": [
			["zhī"],
			["bǐ"],
			["zhī"],
			["jǐ"]
		],
		"知地知天": [
			["zhī"],
			["dì"],
			["zhī"],
			["tiān"]
		],
		"知恩报德": [
			["zhī"],
			["ēn"],
			["bào"],
			["dé"]
		],
		"知恩报恩": [
			["zhī"],
			["ēn"],
			["bào"],
			["ēn"]
		],
		"知法犯法": [
			["zhī"],
			["fǎ"],
			["fàn"],
			["fǎ"]
		],
		"知根知底": [
			["zhī"],
			["gēn"],
			["zhī"],
			["dǐ"]
		],
		"知过必改": [
			["zhī"],
			["guò"],
			["bì"],
			["gǎi"]
		],
		"知过能改": [
			["zhī"],
			["guò"],
			["néng"],
			["gǎi"]
		],
		"知己之遇": [
			["zhī"],
			["jǐ"],
			["zhī"],
			["yù"]
		],
		"知己知彼": [
			["zhī"],
			["jǐ"],
			["zhī"],
			["bǐ"]
		],
		"知尽能索": [
			["zhī"],
			["jìn"],
			["néng"],
			["suǒ"]
		],
		"知冷知热": [
			["zhī"],
			["lěng"],
			["zhī"],
			["rè"]
		],
		"知来藏往": [
			["zhī"],
			["lái"],
			["cáng"],
			["wǎng"]
		],
		"知名当世": [
			["zhī"],
			["míng"],
			["dāng"],
			["shì"]
		],
		"知命不忧": [
			["zhī"],
			["mìng"],
			["bù"],
			["yōu"]
		],
		"知命乐天": [
			["zhī"],
			["mìng"],
			["lè"],
			["tiān"]
		],
		"知命之年": [
			["zhī"],
			["mìng"],
			["zhī"],
			["nián"]
		],
		"知难而进": [
			["zhī"],
			["nán"],
			["ér"],
			["jìn"]
		],
		"知难而退": [
			["zhī"],
			["nán"],
			["ér"],
			["tuì"]
		],
		"知其一不知其二": [
			["zhī"],
			["qí"],
			["yī"],
			["bù"],
			["zhī"],
			["qí"],
			["èr"]
		],
		"知情不举": [
			["zhī"],
			["qíng"],
			["bù"],
			["jǔ"]
		],
		"知情不报": [
			["zhī"],
			["qíng"],
			["bù"],
			["bào"]
		],
		"知情达理": [
			["zhī"],
			["qíng"],
			["dá"],
			["lǐ"]
		],
		"知情人": [
			["zhī"],
			["qíng"],
			["rén"]
		],
		"知人论世": [
			["zhī"],
			["rén"],
			["lùn"],
			["shì"]
		],
		"知人善任": [
			["zhī"],
			["rén"],
			["shàn"],
			["rèn"]
		],
		"知人之明": [
			["zhī"],
			["rén"],
			["zhī"],
			["míng"]
		],
		"知人下士": [
			["zhī"],
			["rén"],
			["xià"],
			["shì"]
		],
		"知人知面不知心": [
			["zhī"],
			["rén"],
			["zhī"],
			["miàn"],
			["bù"],
			["zhī"],
			["xīn"]
		],
		"知荣守辱": [
			["zhī"],
			["róng"],
			["shǒu"],
			["rǔ"]
		],
		"知识分子": [
			["zhī"],
			["shí"],
			["fèn"],
			["zǐ"]
		],
		"知识产权": [
			["zhī"],
			["shí"],
			["chǎn"],
			["quán"]
		],
		"知识青年": [
			["zhī"],
			["shí"],
			["qīng"],
			["nián"]
		],
		"知书达礼": [
			["zhī"],
			["shū"],
			["dá"],
			["lǐ"]
		],
		"知疼着热": [
			["zhī"],
			["téng"],
			["zháo"],
			["rè"]
		],
		"知疼着痒": [
			["zhī"],
			["téng"],
			["zháo"],
			["yǎng"]
		],
		"知往鉴今": [
			["zhī"],
			["wǎng"],
			["jiàn"],
			["jīn"]
		],
		"知微知彰": [
			["zhī"],
			["wēi"],
			["zhī"],
			["zhāng"]
		],
		"知无不言，言无不尽": [
			["zhī"],
			["wú"],
			["bù"],
			["yán"],
			["，"],
			["yán"],
			["wú"],
			["bù"],
			["jìn"]
		],
		"知我罪我": [
			["zhī"],
			["wǒ"],
			["zuì"],
			["wǒ"]
		],
		"知小谋大": [
			["zhī"],
			["xiǎo"],
			["móu"],
			["dà"]
		],
		"知无不言": [
			["zhī"],
			["wú"],
			["bù"],
			["yán"]
		],
		"知心话": [
			["zhī"],
			["xīn"],
			["huà"]
		],
		"知行合一": [
			["zhī"],
			["xíng"],
			["hé"],
			["yī"]
		],
		"知雄守雌": [
			["zhī"],
			["xióng"],
			["shǒu"],
			["cí"]
		],
		"知羞识廉": [
			["zhī"],
			["xiū"],
			["shí"],
			["lián"]
		],
		"知一万毕": [
			["zhī"],
			["yī"],
			["wàn"],
			["bì"]
		],
		"知易行难": [
			["zhī"],
			["yì"],
			["xíng"],
			["nán"]
		],
		"知遇之恩": [
			["zhī"],
			["yù"],
			["zhī"],
			["ēn"]
		],
		"知止不殆": [
			["zhī"],
			["zhǐ"],
			["bù"],
			["dài"]
		],
		"知子莫若父": [
			["zhī"],
			["zǐ"],
			["mò"],
			["ruò"],
			["fù"]
		],
		"知足不辱": [
			["zhī"],
			["zú"],
			["bù"],
			["rǔ"]
		],
		"知足常乐": [
			["zhī"],
			["zú"],
			["cháng"],
			["lè"]
		],
		"知足知止": [
			["zhī"],
			["zú"],
			["zhī"],
			["zhǐ"]
		],
		"织白守黑": [
			["zhī"],
			["bái"],
			["shǒu"],
			["hēi"]
		],
		"织布机": [
			["zhī"],
			["bù"],
			["jī"]
		],
		"织楚成门": [
			["zhī"],
			["chǔ"],
			["chéng"],
			["mén"]
		],
		"织当访婢": [
			["zhī"],
			["dāng"],
			["fǎng"],
			["bì"]
		],
		"织女星": [
			["zhī"],
			["nǚ"],
			["xīng"]
		],
		"脂膏不润": [
			["zhī"],
			["gāo"],
			["bù"],
			["rùn"]
		],
		"脂膏莫润": [
			["zhī"],
			["gāo"],
			["mò"],
			["rùn"]
		],
		"执而不化": [
			["zhí"],
			["ér"],
			["bù"],
			["huà"]
		],
		"执法不阿": [
			["zhí"],
			["fǎ"],
			["bù"],
			["ā"]
		],
		"执两用中": [
			["zhí"],
			["liǎng"],
			["yòng"],
			["zhōng"]
		],
		"执经问难": [
			["zhí"],
			["jīng"],
			["wèn"],
			["nán"]
		],
		"执迷不返": [
			["zhí"],
			["mí"],
			["bù"],
			["fǎn"]
		],
		"执迷不反": [
			["zhí"],
			["mí"],
			["bù"],
			["fǎn"]
		],
		"执迷不悟": [
			["zhí"],
			["mí"],
			["bù"],
			["wù"]
		],
		"执迷不醒": [
			["zhí"],
			["mí"],
			["bù"],
			["xǐng"]
		],
		"执行主席": [
			["zhí"],
			["xíng"],
			["zhǔ"],
			["xí"]
		],
		"执意不从": [
			["zhí"],
			["yì"],
			["bù"],
			["cóng"]
		],
		"侄孙女": [
			["zhí"],
			["sūn"],
			["nǚ"]
		],
		"侄女婿": [
			["zhí"],
			["nǚ"],
			["xù"]
		],
		"直道而行": [
			["zhí"],
			["dào"],
			["ér"],
			["xíng"]
		],
		"直勾勾": [
			["zhí"],
			["gōu"],
			["gōu"]
		],
		"直角尺": [
			["zhí"],
			["jiǎo"],
			["chǐ"]
		],
		"直角三角形": [
			["zhí"],
			["jiǎo"],
			["sān"],
			["jiǎo"],
			["xíng"]
		],
		"直接了当": [
			["zhí"],
			["jiē"],
			["liǎo"],
			["dàng"]
		],
		"直捷了当": [
			["zhí"],
			["jié"],
			["liǎo"],
			["dàng"]
		],
		"直截了当": [
			["zhí"],
			["jié"],
			["liǎo"],
			["dàng"]
		],
		"直撅撅": [
			["zhí"],
			["juē"],
			["juē"]
		],
		"直觉性": [
			["zhí"],
			["jué"],
			["xìng"]
		],
		"直流发电机": [
			["zhí"],
			["liú"],
			["fā"],
			["diàn"],
			["jī"]
		],
		"直溜溜": [
			["zhí"],
			["liū"],
			["liū"]
		],
		"直内方外": [
			["zhí"],
			["nèi"],
			["fāng"],
			["wài"]
		],
		"直扑无华": [
			["zhí"],
			["pǔ"],
			["wú"],
			["huá"]
		],
		"直情径行": [
			["zhí"],
			["qíng"],
			["jìng"],
			["xíng"]
		],
		"直权无华": [
			["zhí"],
			["quán"],
			["wú"],
			["huá"]
		],
		"直上青云": [
			["zhí"],
			["shàng"],
			["qīng"],
			["yún"]
		],
		"直认不讳": [
			["zhí"],
			["rèn"],
			["bù"],
			["huì"]
		],
		"直上直下": [
			["zhí"],
			["shàng"],
			["zhí"],
			["xià"]
		],
		"直抒己见": [
			["zhí"],
			["shū"],
			["jǐ"],
			["jiàn"]
		],
		"直系亲属": [
			["zhí"],
			["xì"],
			["qīn"],
			["shǔ"]
		],
		"直言不讳": [
			["zhí"],
			["yán"],
			["bù"],
			["huì"]
		],
		"直言贾祸": [
			["zhí"],
			["yán"],
			["gǔ"],
			["huò"]
		],
		"直言切谏": [
			["zhí"],
			["yán"],
			["qiē"],
			["jiàn"]
		],
		"直言无隐": [
			["zhí"],
			["yán"],
			["wú"],
			["yǐn"]
		],
		"直言正谏": [
			["zhí"],
			["yán"],
			["zhèng"],
			["jiàn"]
		],
		"直言正论": [
			["zhí"],
			["yán"],
			["zhèng"],
			["lùn"]
		],
		"直言正色": [
			["zhí"],
			["yán"],
			["zhèng"],
			["sè"]
		],
		"直撞横冲": [
			["zhí"],
			["zhuàng"],
			["héng"],
			["chōng"]
		],
		"职业教育": [
			["zhí"],
			["yè"],
			["jiào"],
			["yù"]
		],
		"植发冲冠": [
			["zhí"],
			["fà"],
			["chōng"],
			["guàn"]
		],
		"植发穿冠": [
			["zhí"],
			["fà"],
			["chuān"],
			["guàn"]
		],
		"植善倾恶": [
			["zhí"],
			["shàn"],
			["qīng"],
			["è"]
		],
		"殖民地": [
			["zhí"],
			["mín"],
			["dì"]
		],
		"止暴禁非": [
			["zhǐ"],
			["bào"],
			["jìn"],
			["fēi"]
		],
		"止戈为武": [
			["zhǐ"],
			["gē"],
			["wéi"],
			["wǔ"]
		],
		"止戈散马": [
			["zhǐ"],
			["gē"],
			["sàn"],
			["mǎ"]
		],
		"止戈兴仁": [
			["zhǐ"],
			["gē"],
			["xīng"],
			["rén"]
		],
		"止渴思梅": [
			["zhǐ"],
			["kě"],
			["sī"],
			["méi"]
		],
		"止谈风月": [
			["zhǐ"],
			["tán"],
			["fēng"],
			["yuè"]
		],
		"止血剂": [
			["zhǐ"],
			["xuè"],
			["jì"]
		],
		"只读存储器": [
			["zhī"],
			["dú"],
			["cún"],
			["chǔ"],
			["qì"]
		],
		"只不过": [
			["zhǐ"],
			["bù"],
			["guò"]
		],
		"只鸡斗酒": [
			["zhī"],
			["jī"],
			["dǒu"],
			["jiǔ"]
		],
		"只鸡樽酒": [
			["zhī"],
			["jī"],
			["zūn"],
			["jiǔ"]
		],
		"只鸡絮酒": [
			["zhī"],
			["jī"],
			["xù"],
			["jiǔ"]
		],
		"只轮不反": [
			["zhī"],
			["lún"],
			["bù"],
			["fǎn"]
		],
		"只轮无反": [
			["zhī"],
			["lún"],
			["wú"],
			["fǎn"]
		],
		"只轮不返": [
			["zhī"],
			["lún"],
			["bù"],
			["fǎn"]
		],
		"只骑不反": [
			["zhī"],
			["qí"],
			["bù"],
			["fǎn"]
		],
		"只身孤影": [
			["zhī"],
			["shēn"],
			["gū"],
			["yǐng"]
		],
		"只言片语": [
			["zhī"],
			["yán"],
			["piàn"],
			["yǔ"]
		],
		"只争旦夕": [
			["zhǐ"],
			["zhēng"],
			["dàn"],
			["xī"]
		],
		"只争朝夕": [
			["zhǐ"],
			["zhēng"],
			["zhāo"],
			["xī"]
		],
		"只重衣衫不重人": [
			["zhǐ"],
			["zhòng"],
			["yī"],
			["shān"],
			["bù"],
			["zhòng"],
			["rén"]
		],
		"只字不提": [
			["zhī"],
			["zì"],
			["bù"],
			["tí"]
		],
		"纸包不住火": [
			["zhǐ"],
			["bāo"],
			["bú"],
			["zhù"],
			["huǒ"]
		],
		"纸短情长": [
			["zhǐ"],
			["duǎn"],
			["qíng"],
			["cháng"]
		],
		"纸落云烟": [
			["zhǐ"],
			["luò"],
			["yún"],
			["yān"]
		],
		"纸上谈兵": [
			["zhǐ"],
			["shàng"],
			["tán"],
			["bīng"]
		],
		"咫尺千里": [
			["zhǐ"],
			["chǐ"],
			["qiān"],
			["lǐ"]
		],
		"咫尺天涯": [
			["zhǐ"],
			["chǐ"],
			["tiān"],
			["yá"]
		],
		"咫尺天颜": [
			["zhǐ"],
			["chǐ"],
			["tiān"],
			["yán"]
		],
		"咫尺之功": [
			["zhǐ"],
			["chǐ"],
			["zhī"],
			["gōng"]
		],
		"咫尺威颜": [
			["zhǐ"],
			["chǐ"],
			["wēi"],
			["yán"]
		],
		"咫尺万里": [
			["zhǐ"],
			["chǐ"],
			["wàn"],
			["lǐ"]
		],
		"咫尺之书": [
			["zhǐ"],
			["chǐ"],
			["zhī"],
			["shū"]
		],
		"咫角骖驹": [
			["zhǐ"],
			["jiǎo"],
			["cān"],
			["jū"]
		],
		"指北针": [
			["zhǐ"],
			["běi"],
			["zhēn"]
		],
		"指不胜屈": [
			["zhǐ"],
			["bù"],
			["shèng"],
			["qū"]
		],
		"指不胜偻": [
			["zhǐ"],
			["bù"],
			["shèng"],
			["lǚ"]
		],
		"指导性计划": [
			["zhǐ"],
			["dǎo"],
			["xìng"],
			["jì"],
			["huà"]
		],
		"指导员": [
			["zhǐ"],
			["dǎo"],
			["yuán"]
		],
		"指东划西": [
			["zhǐ"],
			["dōng"],
			["huà"],
			["xī"]
		],
		"指东说西": [
			["zhǐ"],
			["dōng"],
			["shuō"],
			["xī"]
		],
		"指腹为婚": [
			["zhǐ"],
			["fù"],
			["wéi"],
			["hūn"]
		],
		"指挥若定": [
			["zhǐ"],
			["huī"],
			["ruò"],
			["dìng"]
		],
		"指挥可定": [
			["zhǐ"],
			["huī"],
			["kě"],
			["dìng"]
		],
		"指挥员": [
			["zhǐ"],
			["huī"],
			["yuán"]
		],
		"指麾可定": [
			["zhǐ"],
			["huī"],
			["kě"],
			["dìng"]
		],
		"指甲盖": [
			["zhǐ"],
			["jiá"],
			["gài"]
		],
		"指空话空": [
			["zhǐ"],
			["kōng"],
			["huà"],
			["kōng"]
		],
		"指鹿为马": [
			["zhǐ"],
			["lù"],
			["wéi"],
			["mǎ"]
		],
		"指南车": [
			["zhǐ"],
			["nán"],
			["chē"]
		],
		"指南攻北": [
			["zhǐ"],
			["nán"],
			["gōng"],
			["běi"]
		],
		"指南针": [
			["zhǐ"],
			["nán"],
			["zhēn"]
		],
		"指亲托故": [
			["zhǐ"],
			["qīn"],
			["tuō"],
			["gù"]
		],
		"指日而待": [
			["zhǐ"],
			["rì"],
			["ér"],
			["dài"]
		],
		"指囷相赠": [
			["zhǐ"],
			["què"],
			["xiāng"],
			["zèng"]
		],
		"指日可待": [
			["zhǐ"],
			["rì"],
			["kě"],
			["dài"]
		],
		"指山卖磨": [
			["zhǐ"],
			["shān"],
			["mài"],
			["mò"]
		],
		"指桑说槐": [
			["zhǐ"],
			["sāng"],
			["shuō"],
			["huái"]
		],
		"指日可下": [
			["zhǐ"],
			["rì"],
			["kě"],
			["xià"]
		],
		"指山说磨": [
			["zhǐ"],
			["shān"],
			["shuō"],
			["mò"]
		],
		"指手划脚": [
			["zhǐ"],
			["shǒu"],
			["huà"],
			["jiǎo"]
		],
		"指树为姓": [
			["zhǐ"],
			["shù"],
			["wéi"],
			["xìng"]
		],
		"指天画地": [
			["zhǐ"],
			["tiān"],
			["huà"],
			["dì"]
		],
		"指天射鱼": [
			["zhǐ"],
			["tiān"],
			["shè"],
			["yú"]
		],
		"指天为誓": [
			["zhǐ"],
			["tiān"],
			["wéi"],
			["shì"]
		],
		"指雁为羹": [
			["zhǐ"],
			["yàn"],
			["wéi"],
			["gēng"]
		],
		"指皂为白": [
			["zhǐ"],
			["zào"],
			["wéi"],
			["bái"]
		],
		"指皁为白": [
			["zhǐ"],
			["zào"],
			["wéi"],
			["bái"]
		],
		"指战员": [
			["zhǐ"],
			["zhàn"],
			["yuán"]
		],
		"指掌可取": [
			["zhǐ"],
			["zhǎng"],
			["kě"],
			["qǔ"]
		],
		"趾踵相错": [
			["zhǐ"],
			["zhǒng"],
			["xiāng"],
			["cuò"]
		],
		"趾踵相接": [
			["zhǐ"],
			["zhǒng"],
			["xiāng"],
			["jiē"]
		],
		"至诚高节": [
			["zhì"],
			["chéng"],
			["gāo"],
			["jié"]
		],
		"至大至刚": [
			["zhì"],
			["dà"],
			["zhì"],
			["gāng"]
		],
		"至高无上": [
			["zhì"],
			["gāo"],
			["wú"],
			["shàng"]
		],
		"至当不易": [
			["zhì"],
			["dàng"],
			["bù"],
			["yì"]
		],
		"至亲好友": [
			["zhì"],
			["qīn"],
			["hǎo"],
			["yǒu"]
		],
		"至亲骨肉": [
			["zhì"],
			["qīn"],
			["gǔ"],
			["ròu"]
		],
		"至死不变": [
			["zhì"],
			["sǐ"],
			["bù"],
			["biàn"]
		],
		"至死不渝": [
			["zhì"],
			["sǐ"],
			["bù"],
			["yú"]
		],
		"至死不悟": [
			["zhì"],
			["sǐ"],
			["bù"],
			["wù"]
		],
		"志大才疏": [
			["zhì"],
			["dà"],
			["cái"],
			["shū"]
		],
		"至矣尽矣": [
			["zhì"],
			["yǐ"],
			["jìn"],
			["yǐ"]
		],
		"志得气盈": [
			["zhì"],
			["dé"],
			["qì"],
			["yíng"]
		],
		"志广才疏": [
			["zhì"],
			["guǎng"],
			["cái"],
			["shū"]
		],
		"志得意满": [
			["zhì"],
			["dé"],
			["yì"],
			["mǎn"]
		],
		"志坚行苦": [
			["zhì"],
			["jiān"],
			["xíng"],
			["kǔ"]
		],
		"志洁行芳": [
			["zhì"],
			["jié"],
			["xíng"],
			["fāng"]
		],
		"志满气得": [
			["zhì"],
			["mǎn"],
			["qì"],
			["dé"]
		],
		"志满意得": [
			["zhì"],
			["mǎn"],
			["yì"],
			["dé"]
		],
		"志美行厉": [
			["zhì"],
			["měi"],
			["xíng"],
			["lì"]
		],
		"志同道合": [
			["zhì"],
			["tóng"],
			["dào"],
			["hé"]
		],
		"制服呢": [
			["zhì"],
			["fú"],
			["ne"]
		],
		"制革厂": [
			["zhì"],
			["gé"],
			["chǎng"]
		],
		"制空权": [
			["zhì"],
			["kōng"],
			["quán"]
		],
		"制糖厂": [
			["zhì"],
			["táng"],
			["chǎng"]
		],
		"制药厂": [
			["zhì"],
			["yào"],
			["chǎng"]
		],
		"制造厂": [
			["zhì"],
			["zào"],
			["chǎng"]
		],
		"炙手可热": [
			["zhì"],
			["shǒu"],
			["kě"],
			["rè"]
		],
		"质而不俚": [
			["zhì"],
			["ér"],
			["bù"],
			["lǐ"]
		],
		"质而不野": [
			["zhì"],
			["ér"],
			["bù"],
			["yě"]
		],
		"质疑辨惑": [
			["zhì"],
			["yí"],
			["biàn"],
			["huò"]
		],
		"质因数": [
			["zhì"],
			["yīn"],
			["shù"]
		],
		"质疑问难": [
			["zhì"],
			["yí"],
			["wèn"],
			["nàn"]
		],
		"质伛影曲": [
			["zhì"],
			["yǔ"],
			["yǐng"],
			["qū"]
		],
		"栉比鳞差": [
			["zhì"],
			["bǐ"],
			["lín"],
			["cǐ"]
		],
		"栉风酾雨": [
			["zhì"],
			["fēng"],
			["shī"],
			["yǔ"]
		],
		"栉风沐雨": [
			["zhì"],
			["fēng"],
			["mù"],
			["yǔ"]
		],
		"栉沐风雨": [
			["zhì"],
			["mù"],
			["fēng"],
			["yǔ"]
		],
		"栉霜沐露": [
			["zhì"],
			["shuāng"],
			["mù"],
			["lù"]
		],
		"陟罚臧否": [
			["zhì"],
			["fá"],
			["zāng"],
			["pǐ"]
		],
		"致远任重": [
			["zhì"],
			["yuǎn"],
			["rèn"],
			["zhàng"]
		],
		"掷地赋声": [
			["zhì"],
			["dì"],
			["fù"],
			["shēng"]
		],
		"掷地金声": [
			["zhì"],
			["dì"],
			["jīn"],
			["shēng"]
		],
		"掷地有声": [
			["zhì"],
			["dì"],
			["yǒu"],
			["shēng"]
		],
		"掷果潘郎": [
			["zhì"],
			["guǒ"],
			["pān"],
			["láng"]
		],
		"掷地作金石声": [
			["zhì"],
			["dì"],
			["zuò"],
			["jīn"],
			["shí"],
			["shēng"]
		],
		"窒碍难行": [
			["zhì"],
			["ài"],
			["nán"],
			["xíng"]
		],
		"彘肩斗酒": [
			["zhì"],
			["jiān"],
			["dòu"],
			["jiǔ"]
		],
		"智藏瘝在": [
			["zhì"],
			["cáng"],
			["guān"],
			["zài"]
		],
		"智尽能索": [
			["zhì"],
			["jìn"],
			["néng"],
			["suǒ"]
		],
		"智囊团": [
			["zhì"],
			["náng"],
			["tuán"]
		],
		"智穷才尽": [
			["zhì"],
			["qióng"],
			["cái"],
			["jìn"]
		],
		"智小言大": [
			["zhì"],
			["xiǎo"],
			["yán"],
			["dà"]
		],
		"智小谋大": [
			["zhì"],
			["xiǎo"],
			["móu"],
			["dà"]
		],
		"智圆行方": [
			["zhì"],
			["yuán"],
			["xíng"],
			["fāng"]
		],
		"智周万物": [
			["zhì"],
			["zhōu"],
			["wàn"],
			["wù"]
		],
		"稚齿婑媠": [
			["zhì"],
			["chǐ"],
			["wǒ"],
			["tuǒ"]
		],
		"置若罔闻": [
			["zhì"],
			["ruò"],
			["wǎng"],
			["wén"]
		],
		"置之不理": [
			["zhì"],
			["zhī"],
			["bù"],
			["lǐ"]
		],
		"置之不顾": [
			["zhì"],
			["zhī"],
			["bù"],
			["gù"]
		],
		"置之度外": [
			["zhì"],
			["zhī"],
			["dù"],
			["wài"]
		],
		"置之死地": [
			["zhì"],
			["zhī"],
			["sǐ"],
			["dì"]
		],
		"置之死地而后快": [
			["zhì"],
			["zhī"],
			["sǐ"],
			["dì"],
			["ér"],
			["hòu"],
			["kuài"]
		],
		"置之死地而后生": [
			["zhì"],
			["zhī"],
			["sǐ"],
			["dì"],
			["ér"],
			["hòu"],
			["shēng"]
		],
		"置锥之地": [
			["zhì"],
			["zhuī"],
			["zhī"],
			["dì"]
		],
		"雉头狐腋": [
			["zhì"],
			["tóu"],
			["hú"],
			["yè"]
		],
		"擿伏发奸": [
			["tī"],
			["fú"],
			["fā"],
			["jiān"]
		],
		"擿伏发隐": [
			["tī"],
			["fú"],
			["fā"],
			["yǐn"]
		],
		"擿奸发伏": [
			["tī"],
			["jiān"],
			["fā"],
			["fú"]
		],
		"擿埴索途": [
			["zhāi"],
			["zhí"],
			["suǒ"],
			["tú"]
		],
		"擿埴索涂": [
			["zhāi"],
			["zhí"],
			["suǒ"],
			["tú"]
		],
		"擿植索涂": [
			["zhāi"],
			["zhí"],
			["suǒ"],
			["tú"]
		],
		"中饱私囊": [
			["zhōng"],
			["bǎo"],
			["sī"],
			["náng"]
		],
		"中草药": [
			["zhōng"],
			["cǎo"],
			["yào"]
		],
		"中层干部": [
			["zhōng"],
			["céng"],
			["gàn"],
			["bù"]
		],
		"中产阶级": [
			["zhōng"],
			["chǎn"],
			["jiē"],
			["jí"]
		],
		"中长跑": [
			["zhōng"],
			["cháng"],
			["pǎo"]
		],
		"中道而废": [
			["zhōng"],
			["dào"],
			["ér"],
			["fèi"]
		],
		"中等教育": [
			["zhōng"],
			["děng"],
			["jiào"],
			["yù"]
		],
		"中耳炎": [
			["zhōng"],
			["ěr"],
			["yán"]
		],
		"中共中央": [
			["zhōng"],
			["gòng"],
			["zhōng"],
			["yāng"]
		],
		"中冓之言": [
			["zhōng"],
			["gòu"],
			["zhī"],
			["yán"]
		],
		"中国福利会": [
			["zhōng"],
			["guó"],
			["fú"],
			["lì"],
			["huì"]
		],
		"中国工程院": [
			["zhōng"],
			["guó"],
			["gōng"],
			["chéng"],
			["yuàn"]
		],
		"中国工农红军": [
			["zhōng"],
			["guó"],
			["gōng"],
			["nóng"],
			["hóng"],
			["jūn"]
		],
		"中国工人": [
			["zhōng"],
			["guó"],
			["gōng"],
			["rén"]
		],
		"中国共产党": [
			["zhōng"],
			["guó"],
			["gòng"],
			["chǎn"],
			["dǎng"]
		],
		"中国国际广播电台": [
			["zhōng"],
			["guó"],
			["guó"],
			["jì"],
			["guǎng"],
			["bō"],
			["diàn"],
			["tái"]
		],
		"中国海": [
			["zhōng"],
			["guó"],
			["hǎi"]
		],
		"中国画": [
			["zhōng"],
			["guó"],
			["huà"]
		],
		"中国话": [
			["zhōng"],
			["guó"],
			["huà"]
		],
		"中国科学技术大学": [
			["zhōng"],
			["guó"],
			["kē"],
			["xué"],
			["jì"],
			["shù"],
			["dà"],
			["xué"]
		],
		"中国民主促进会": [
			["zhōng"],
			["guó"],
			["mín"],
			["zhǔ"],
			["cù"],
			["jìn"],
			["huì"]
		],
		"中国民主同盟": [
			["zhōng"],
			["guó"],
			["mín"],
			["zhǔ"],
			["tóng"],
			["méng"]
		],
		"中国农工民主党": [
			["zhōng"],
			["guó"],
			["nóng"],
			["gōng"],
			["mín"],
			["zhǔ"],
			["dǎng"]
		],
		"中国农业银行": [
			["zhōng"],
			["guó"],
			["nóng"],
			["yè"],
			["yín"],
			["háng"]
		],
		"中国青年": [
			["zhōng"],
			["guó"],
			["qīng"],
			["nián"]
		],
		"中国人": [
			["zhōng"],
			["guó"],
			["rén"]
		],
		"中国人民解放军": [
			["zhōng"],
			["guó"],
			["rén"],
			["mín"],
			["jiě"],
			["fàng"],
			["jūn"]
		],
		"中国通": [
			["zhōng"],
			["guó"],
			["tōng"]
		],
		"中国象棋": [
			["zhōng"],
			["guó"],
			["xiàng"],
			["qí"]
		],
		"中国致公党": [
			["zhōng"],
			["guó"],
			["zhì"],
			["gōng"],
			["dǎng"]
		],
		"中国字": [
			["zhōng"],
			["guó"],
			["zì"]
		],
		"中华民族": [
			["zhōng"],
			["huá"],
			["mín"],
			["zú"]
		],
		"中华民国": [
			["zhōng"],
			["huá"],
			["mín"],
			["guó"]
		],
		"中华人民共和国": [
			["zhōng"],
			["huá"],
			["rén"],
			["mín"],
			["gòng"],
			["hé"],
			["guó"]
		],
		"中奖": [["zhòng"], ["jiǎng"]],
		"中馈乏人": [
			["zhōng"],
			["kuì"],
			["fá"],
			["rén"]
		],
		"中立不倚": [
			["zhōng"],
			["lì"],
			["bù"],
			["yǐ"]
		],
		"中馈犹虚": [
			["zhōng"],
			["kuì"],
			["yóu"],
			["xū"]
		],
		"中流底柱": [
			["zhōng"],
			["liú"],
			["dǐ"],
			["zhù"]
		],
		"中流砥柱": [
			["zhōng"],
			["liú"],
			["dǐ"],
			["zhù"]
		],
		"中流击楫": [
			["zhōng"],
			["liú"],
			["jī"],
			["jí"]
		],
		"中流一壶": [
			["zhōng"],
			["liú"],
			["yī"],
			["hú"]
		],
		"中外合璧": [
			["zhōng"],
			["wài"],
			["hé"],
			["bì"]
		],
		"中西合璧": [
			["zhōng"],
			["xī"],
			["hé"],
			["bì"]
		],
		"中心摇摇": [
			["zhōng"],
			["xīn"],
			["yáo"],
			["yáo"]
		],
		"中庸之道": [
			["zhōng"],
			["yōng"],
			["zhī"],
			["dào"]
		],
		"中原逐鹿": [
			["zhōng"],
			["yuán"],
			["zhú"],
			["lù"]
		],
		"忠不避危": [
			["zhōng"],
			["bù"],
			["bì"],
			["wēi"]
		],
		"忠孝节义": [
			["zhōng"],
			["xiào"],
			["jié"],
			["yì"]
		],
		"忠贞不渝": [
			["zhōng"],
			["zhēn"],
			["bù"],
			["yú"]
		],
		"终成泡影": [
			["zhōng"],
			["chéng"],
			["pào"],
			["yǐng"]
		],
		"终南捷径": [
			["zhōng"],
			["nán"],
			["jié"],
			["jìng"]
		],
		"终其天年": [
			["zhōng"],
			["qí"],
			["tiān"],
			["nián"]
		],
		"终身大事": [
			["zhōng"],
			["shēn"],
			["dà"],
			["shì"]
		],
		"终身教育": [
			["zhōng"],
			["shēn"],
			["jiào"],
			["yù"]
		],
		"终始不渝": [
			["zhōng"],
			["shǐ"],
			["bù"],
			["yú"]
		],
		"终始若一": [
			["zhōng"],
			["shǐ"],
			["ruò"],
			["yī"]
		],
		"钟鼎人家": [
			["zhōng"],
			["dǐng"],
			["rén"],
			["jia"]
		],
		"钟鼎之家": [
			["zhōng"],
			["dǐng"],
			["zhī"],
			["jiā"]
		],
		"钟漏并歇": [
			["zhōng"],
			["lòu"],
			["bìng"],
			["xiē"]
		],
		"钟鸣鼎食": [
			["zhōng"],
			["míng"],
			["dǐng"],
			["shí"]
		],
		"钟鸣鼎重": [
			["zhōng"],
			["míng"],
			["dǐng"],
			["zhòng"]
		],
		"钟鸣漏尽": [
			["zhōng"],
			["míng"],
			["lòu"],
			["jìn"]
		],
		"钟乳石": [
			["zhōng"],
			["rǔ"],
			["shí"]
		],
		"种瓜得瓜，种豆得豆": [
			["zhòng"],
			["guā"],
			["dé"],
			["guā"],
			["，"],
			["zhòng"],
			["dòu"],
			["dé"],
			["dòu"]
		],
		"种牛痘": [
			["zhòng"],
			["niú"],
			["dòu"]
		],
		"种子队": [
			["zhǒng"],
			["zi"],
			["duì"]
		],
		"踵迹相接": [
			["zhǒng"],
			["jì"],
			["xiāng"],
			["jiē"]
		],
		"踵接肩摩": [
			["zhǒng"],
			["jiē"],
			["jiān"],
			["mó"]
		],
		"踵决肘见": [
			["zhǒng"],
			["jué"],
			["zhǒu"],
			["jiàn"]
		],
		"踵事增华": [
			["zhǒng"],
			["shì"],
			["zēng"],
			["huá"]
		],
		"踵武相接": [
			["zhǒng"],
			["wǔ"],
			["xiāng"],
			["jiē"]
		],
		"踵趾相接": [
			["zhǒng"],
			["zhǐ"],
			["xiāng"],
			["jiē"]
		],
		"踵足相接": [
			["zhǒng"],
			["zú"],
			["xiāng"],
			["jiē"]
		],
		"众寡不敌": [
			["zhòng"],
			["guǎ"],
			["bù"],
			["dí"]
		],
		"种子田": [
			["zhǒng"],
			["zi"],
			["tián"]
		],
		"冢中枯骨": [
			["zhǒng"],
			["zhōng"],
			["kū"],
			["gǔ"]
		],
		"众好众恶": [
			["zhòng"],
			["hào"],
			["zhòng"],
			["wù"]
		],
		"种族歧视": [
			["zhǒng"],
			["zú"],
			["qí"],
			["shì"]
		],
		"众虎同心": [
			["zhòng"],
			["hǔ"],
			["tóng"],
			["xīn"]
		],
		"众毁销骨": [
			["zhòng"],
			["huǐ"],
			["xiāo"],
			["gǔ"]
		],
		"众口交传": [
			["zhòng"],
			["kǒu"],
			["jiāo"],
			["chuán"]
		],
		"众口同声": [
			["zhòng"],
			["kǒu"],
			["tóng"],
			["shēng"]
		],
		"众口难调": [
			["zhòng"],
			["kǒu"],
			["nán"],
			["tiáo"]
		],
		"众口相传": [
			["zhòng"],
			["kǒu"],
			["xiāng"],
			["chuán"]
		],
		"众口熏天": [
			["zhòng"],
			["kǒu"],
			["xūn"],
			["tiān"]
		],
		"众目共睹": [
			["zhòng"],
			["mù"],
			["gòng"],
			["dǔ"]
		],
		"众毛攒裘": [
			["zhòng"],
			["máo"],
			["cuán"],
			["qiú"]
		],
		"众目共视": [
			["zhòng"],
			["mù"],
			["gòng"],
			["shì"]
		],
		"众毛飞骨": [
			["zhòng"],
			["máo"],
			["fēi"],
			["gǔ"]
		],
		"众难群移": [
			["zhòng"],
			["nán"],
			["qún"],
			["yí"]
		],
		"众难群疑": [
			["zhòng"],
			["nán"],
			["qún"],
			["yí"]
		],
		"众怒难犯": [
			["zhòng"],
			["nù"],
			["nán"],
			["fàn"]
		],
		"众怒难任": [
			["zhòng"],
			["nù"],
			["nán"],
			["rèn"]
		],
		"众叛亲离": [
			["zhòng"],
			["pàn"],
			["qīn"],
			["lí"]
		],
		"众人广坐": [
			["zhòng"],
			["rén"],
			["guǎng"],
			["zuò"]
		],
		"众人拾柴火焰高": [
			["zhòng"],
			["rén"],
			["shí"],
			["chái"],
			["huǒ"],
			["yàn"],
			["gāo"]
		],
		"众少成多": [
			["zhòng"],
			["shǎo"],
			["chéng"],
			["duō"]
		],
		"众生相": [
			["zhòng"],
			["shēng"],
			["xiàng"]
		],
		"众矢之的": [
			["zhòng"],
			["shǐ"],
			["zhī"],
			["dì"]
		],
		"众说纷揉": [
			["zhòng"],
			["shuō"],
			["fēn"],
			["róu"]
		],
		"众所共知": [
			["zhòng"],
			["suǒ"],
			["gòng"],
			["zhī"]
		],
		"众说纷纭": [
			["zhòng"],
			["shuō"],
			["fēn"],
			["yún"]
		],
		"众所周知": [
			["zhòng"],
			["suǒ"],
			["zhōu"],
			["zhī"]
		],
		"众星攒月": [
			["zhòng"],
			["xīng"],
			["cuán"],
			["yuè"]
		],
		"众星拱北": [
			["zhòng"],
			["xīng"],
			["gǒng"],
			["běi"]
		],
		"众喣漂山": [
			["zhòng"],
			["xǔ"],
			["piāo"],
			["shān"]
		],
		"众啄同音": [
			["zhòng"],
			["zhòu"],
			["tóng"],
			["yīn"]
		],
		"重财轻义": [
			["zhòng"],
			["cái"],
			["qīng"],
			["yì"]
		],
		"重操旧业": [
			["chóng"],
			["cāo"],
			["jiù"],
			["yè"]
		],
		"重床迭架": [
			["chóng"],
			["chuáng"],
			["dié"],
			["jià"]
		],
		"重床迭屋": [
			["chóng"],
			["chuáng"],
			["dié"],
			["wū"]
		],
		"重床叠架": [
			["chóng"],
			["chuáng"],
			["dié"],
			["jià"]
		],
		"重床叠屋": [
			["chóng"],
			["chuáng"],
			["dié"],
			["wū"]
		],
		"重蹈覆辙": [
			["chóng"],
			["dǎo"],
			["fù"],
			["zhé"]
		],
		"重睹天日": [
			["chóng"],
			["dǔ"],
			["tiān"],
			["rì"]
		],
		"重铬酸钾": [
			["chóng"],
			["gè"],
			["suān"],
			["jiǎ"]
		],
		"重工业": [
			["zhòng"],
			["gōng"],
			["yè"]
		],
		"重光累洽": [
			["chóng"],
			["guāng"],
			["lèi"],
			["qià"]
		],
		"重关击柝": [
			["chóng"],
			["guān"],
			["jī"],
			["tuò"]
		],
		"重圭叠组": [
			["chóng"],
			["guī"],
			["dié"],
			["zǔ"]
		],
		"重规沓矩": [
			["chóng"],
			["guī"],
			["tà"],
			["jǔ"]
		],
		"重规迭矩": [
			["chóng"],
			["guī"],
			["dié"],
			["jǔ"]
		],
		"重规累矩": [
			["chóng"],
			["guī"],
			["lèi"],
			["jǔ"]
		],
		"重规叠矩": [
			["chóng"],
			["guī"],
			["dié"],
			["jǔ"]
		],
		"重规袭矩": [
			["chóng"],
			["guī"],
			["xí"],
			["jǔ"]
		],
		"重珪迭组": [
			["chóng"],
			["guī"],
			["dié"],
			["zǔ"]
		],
		"重珪叠组": [
			["chóng"],
			["guī"],
			["dié"],
			["zǔ"]
		],
		"重厚寡言": [
			["zhòng"],
			["hòu"],
			["guǎ"],
			["yán"]
		],
		"重厚少文": [
			["zhòng"],
			["hòu"],
			["shǎo"],
			["wén"]
		],
		"重机枪": [
			["zhòng"],
			["jī"],
			["qiāng"]
		],
		"重迹屏气": [
			["chóng"],
			["jì"],
			["bǐng"],
			["qì"]
		],
		"重见天日": [
			["chóng"],
			["jiàn"],
			["tiān"],
			["rì"]
		],
		"重结晶": [
			["zhòng"],
			["jié"],
			["jīng"]
		],
		"重金兼紫": [
			["chóng"],
			["jīn"],
			["jiān"],
			["zǐ"]
		],
		"重金袭汤": [
			["chóng"],
			["jīn"],
			["xí"],
			["tāng"]
		],
		"重金属": [
			["zhòng"],
			["jīn"],
			["shǔ"]
		],
		"重晶石": [
			["zhòng"],
			["jīng"],
			["shí"]
		],
		"重九登高": [
			["chóng"],
			["jiǔ"],
			["dēng"],
			["gāo"]
		],
		"重理旧业": [
			["chóng"],
			["lǐ"],
			["jiù"],
			["yè"]
		],
		"重力场": [
			["zhòng"],
			["lì"],
			["chǎng"]
		],
		"重力加速度": [
			["zhòng"],
			["lì"],
			["jiā"],
			["sù"],
			["dù"]
		],
		"重峦迭巘": [
			["chóng"],
			["luán"],
			["dié"],
			["yǎn"]
		],
		"重峦迭嶂": [
			["chóng"],
			["luán"],
			["dié"],
			["zhàng"]
		],
		"重峦叠巘": [
			["chóng"],
			["luán"],
			["dié"],
			["yǎn"]
		],
		"重峦叠嶂": [
			["chóng"],
			["luán"],
			["dié"],
			["zhàng"]
		],
		"重峦复嶂": [
			["chóng"],
			["luán"],
			["fù"],
			["zhàng"]
		],
		"重门击柝": [
			["chóng"],
			["mén"],
			["jī"],
			["tuò"]
		],
		"重明继焰": [
			["chóng"],
			["míng"],
			["jì"],
			["yàn"]
		],
		"重男轻女": [
			["zhòng"],
			["nán"],
			["qīng"],
			["nǚ"]
		],
		"重逆无道": [
			["zhòng"],
			["nì"],
			["wú"],
			["dào"]
		],
		"重葩累藻": [
			["chóng"],
			["pā"],
			["lèi"],
			["zǎo"]
		],
		"重纰貤缪": [
			["chóng"],
			["pī"],
			["yí"],
			["miù"]
		],
		"重起炉灶": [
			["chóng"],
			["qǐ"],
			["lú"],
			["zào"]
		],
		"重气轻命": [
			["zhòng"],
			["qì"],
			["qīng"],
			["mìng"]
		],
		"重气轻生": [
			["zhòng"],
			["qì"],
			["qīng"],
			["shēng"]
		],
		"重气狥名": [
			["zhòng"],
			["qì"],
			["xùn"],
			["míng"]
		],
		"重气徇命": [
			["zhòng"],
			["qì"],
			["xùn"],
			["míng"]
		],
		"重三迭四": [
			["chóng"],
			["sān"],
			["dié"],
			["sì"]
		],
		"重三叠四": [
			["chóng"],
			["sān"],
			["dié"],
			["sì"]
		],
		"重山复岭": [
			["chóng"],
			["shān"],
			["fù"],
			["lǐng"]
		],
		"重山复水": [
			["chóng"],
			["shān"],
			["fù"],
			["shuǐ"]
		],
		"重山峻岭": [
			["chóng"],
			["shān"],
			["jùn"],
			["lǐng"]
		],
		"重生父母": [
			["chóng"],
			["shēng"],
			["fù"],
			["mǔ"]
		],
		"重生爷娘": [
			["chóng"],
			["shēng"],
			["yé"],
			["niáng"]
		],
		"重孙女": [
			["chóng"],
			["sūn"],
			["nǚ"]
		],
		"重手累足": [
			["chóng"],
			["shǒu"],
			["lěi"],
			["zú"]
		],
		"重头戏": [
			["chóng"],
			["tóu"],
			["xì"]
		],
		"重望高名": [
			["zhòng"],
			["wàng"],
			["gāo"],
			["míng"]
		],
		"重温旧梦": [
			["chóng"],
			["wēn"],
			["jiù"],
			["mèng"]
		],
		"重温旧业": [
			["chóng"],
			["wēn"],
			["jiù"],
			["yè"]
		],
		"重武器": [
			["zhòng"],
			["wǔ"],
			["qì"]
		],
		"重熙累绩": [
			["chóng"],
			["xī"],
			["lěi"],
			["jì"]
		],
		"重熙累洽": [
			["chóng"],
			["xī"],
			["lěi"],
			["qià"]
		],
		"重熙累盛": [
			["chóng"],
			["xī"],
			["lěi"],
			["shèng"]
		],
		"重熙累叶": [
			["chóng"],
			["xī"],
			["lěi"],
			["yè"]
		],
		"重兴旗鼓": [
			["chóng"],
			["xīng"],
			["qí"],
			["gǔ"]
		],
		"重修旧好": [
			["chóng"],
			["xiū"],
			["jiù"],
			["hǎo"]
		],
		"重岩迭障": [
			["chóng"],
			["yán"],
			["dié"],
			["zhàng"]
		],
		"重岩迭嶂": [
			["zhòng"],
			["yán"],
			["dié"],
			["zhàng"]
		],
		"重岩叠嶂": [
			["chóng"],
			["yán"],
			["dié"],
			["zhàng"]
		],
		"重要性": [
			["zhòng"],
			["yào"],
			["xìng"]
		],
		"重义轻财": [
			["zhòng"],
			["yì"],
			["qīng"],
			["cái"]
		],
		"重义轻生": [
			["zhòng"],
			["yì"],
			["qīng"],
			["shēng"]
		],
		"重裀列鼎": [
			["chóng"],
			["yīn"],
			["liè"],
			["dǐng"]
		],
		"重于泰山": [
			["zhòng"],
			["yú"],
			["tài"],
			["shān"]
		],
		"重垣迭锁": [
			["chóng"],
			["yuán"],
			["dié"],
			["suǒ"]
		],
		"重元素": [
			["zhòng"],
			["yuán"],
			["sù"]
		],
		"重垣叠锁": [
			["chóng"],
			["yuán"],
			["dié"],
			["suǒ"]
		],
		"重振旗鼓": [
			["chóng"],
			["zhèn"],
			["qí"],
			["gǔ"]
		],
		"重整旗鼓": [
			["chóng"],
			["zhěng"],
			["qí"],
			["gǔ"]
		],
		"重纸累札": [
			["chóng"],
			["zhǐ"],
			["lèi"],
			["zhá"]
		],
		"重足而立": [
			["chóng"],
			["zú"],
			["ér"],
			["lì"]
		],
		"重足累息": [
			["chóng"],
			["zú"],
			["lèi"],
			["xī"]
		],
		"重足屏气": [
			["chóng"],
			["zú"],
			["bǐng"],
			["qì"]
		],
		"重足屏息": [
			["chóng"],
			["zú"],
			["bǐng"],
			["xī"]
		],
		"重足一迹": [
			["chóng"],
			["zú"],
			["yī"],
			["jì"]
		],
		"重作冯妇": [
			["zhòng"],
			["zuò"],
			["féng"],
			["fù"]
		],
		"舟车劳顿": [
			["zhōu"],
			["chē"],
			["láo"],
			["dùn"]
		],
		"舟中敌国": [
			["zhōu"],
			["zhōng"],
			["dí"],
			["guó"]
		],
		"诌上抑下": [
			["zhōu"],
			["shàng"],
			["yì"],
			["xià"]
		],
		"周而不比": [
			["zhōu"],
			["ér"],
			["bù"],
			["bǐ"]
		],
		"侜张为幻": [
			["zhōu"],
			["zhāng"],
			["wéi"],
			["huàn"]
		],
		"周公吐哺": [
			["zhōu"],
			["gōng"],
			["tǔ"],
			["bǔ"]
		],
		"周规折矩": [
			["zhōu"],
			["guī"],
			["zhé"],
			["jǔ"]
		],
		"周郎顾曲": [
			["zhōu"],
			["láng"],
			["gù"],
			["qǔ"]
		],
		"周情孔思": [
			["zhōu"],
			["qíng"],
			["kǒng"],
			["sī"]
		],
		"周穷恤匮": [
			["zhōu"],
			["qióng"],
			["xù"],
			["kuì"]
		],
		"洲际弹道导弹": [
			["zhōu"],
			["jì"],
			["dàn"],
			["dào"],
			["dǎo"],
			["dàn"]
		],
		"洲际导弹": [
			["zhōu"],
			["jì"],
			["dǎo"],
			["dàn"]
		],
		"诪张变眩": [
			["zhōu"],
			["zhāng"],
			["biàn"],
			["xuàn"]
		],
		"诪张为幻": [
			["zhōu"],
			["zhāng"],
			["wéi"],
			["huàn"]
		],
		"粥少僧多": [
			["zhōu"],
			["shǎo"],
			["sēng"],
			["duō"]
		],
		"粥粥无能": [
			["zhōu"],
			["zhōu"],
			["wú"],
			["néng"]
		],
		"轴对称": [
			["zhóu"],
			["duì"],
			["chèn"]
		],
		"肘行膝步": [
			["zhǒu"],
			["xíng"],
			["xī"],
			["bù"]
		],
		"咒天骂地": [
			["zhòu"],
			["tiān"],
			["mà"],
			["dì"]
		],
		"昼伏夜行": [
			["zhòu"],
			["fú"],
			["yè"],
			["xíng"]
		],
		"昼度夜思": [
			["zhòu"],
			["duó"],
			["yè"],
			["sī"]
		],
		"昼干夕惕": [
			["zhòu"],
			["gàn"],
			["xī"],
			["tì"]
		],
		"昼乾夕惕": [
			["zhòu"],
			["qián"],
			["xī"],
			["tì"]
		],
		"昼思夜想": [
			["zhòu"],
			["sī"],
			["yè"],
			["xiǎng"]
		],
		"昼夜兼行": [
			["zhòu"],
			["yè"],
			["jiān"],
			["xíng"]
		],
		"骤不及防": [
			["zhòu"],
			["bù"],
			["jí"],
			["fáng"]
		],
		"骤风暴雨": [
			["zhòu"],
			["fēng"],
			["bào"],
			["yǔ"]
		],
		"骤雨暴风": [
			["zhòu"],
			["yǔ"],
			["bào"],
			["fēng"]
		],
		"骤风急雨": [
			["zhòu"],
			["fēng"],
			["jí"],
			["yǔ"]
		],
		"朱陈之好": [
			["zhū"],
			["chén"],
			["zhī"],
			["hǎo"]
		],
		"朱唇粉面": [
			["zhū"],
			["chún"],
			["fěn"],
			["miàn"]
		],
		"骤雨狂风": [
			["zhòu"],
			["yǔ"],
			["kuáng"],
			["fēng"]
		],
		"朱唇皓齿": [
			["zhū"],
			["chún"],
			["hào"],
			["chǐ"]
		],
		"朱唇玉面": [
			["zhū"],
			["chún"],
			["yù"],
			["miàn"]
		],
		"朱轓皂盖": [
			["zhū"],
			["fān"],
			["zào"],
			["gài"]
		],
		"朱轓皁盖": [
			["zhū"],
			["fān"],
			["hǎi"],
			["gài"]
		],
		"朱干玉戚": [
			["zhū"],
			["gān"],
			["yù"],
			["qī"]
		],
		"朱阁青楼": [
			["zhū"],
			["gé"],
			["qīng"],
			["lóu"]
		],
		"朱楼碧瓦": [
			["zhū"],
			["lóu"],
			["bì"],
			["wǎ"]
		],
		"朱楼绮户": [
			["zhū"],
			["lóu"],
			["qǐ"],
			["hù"]
		],
		"朱轮华毂": [
			["zhū"],
			["lún"],
			["huá"],
			["gǔ"]
		],
		"朱门绣户": [
			["zhū"],
			["mén"],
			["xiù"],
			["hù"]
		],
		"朱甍碧瓦": [
			["zhū"],
			["méng"],
			["bì"],
			["wǎ"]
		],
		"朱盘玉敦": [
			["zhū"],
			["pán"],
			["yù"],
			["duì"]
		],
		"朱雀玄武": [
			["zhū"],
			["què"],
			["xuán"],
			["wǔ"]
		],
		"朱槃玉敦": [
			["zhū"],
			["pán"],
			["yù"],
			["duì"]
		],
		"朱弦三叹": [
			["zhū"],
			["xián"],
			["sān"],
			["tàn"]
		],
		"朱颜翠发": [
			["zhū"],
			["yán"],
			["cuì"],
			["fā"]
		],
		"朱颜绿发": [
			["zhū"],
			["yán"],
			["lǜ"],
			["fā"]
		],
		"朱颜鹤发": [
			["zhū"],
			["yán"],
			["hè"],
			["fā"]
		],
		"朱衣点头": [
			["zhū"],
			["yī"],
			["diǎn"],
			["tóu"]
		],
		"朱衣使者": [
			["zhū"],
			["yī"],
			["shǐ"],
			["zhě"]
		],
		"侏儒观戏": [
			["zhū"],
			["rǔ"],
			["guān"],
			["xì"]
		],
		"侏儒症": [
			["zhū"],
			["rú"],
			["zhèng"]
		],
		"侏儒一节": [
			["zhū"],
			["rǔ"],
			["yī"],
			["jié"]
		],
		"诛暴讨逆": [
			["zhū"],
			["bào"],
			["tǎo"],
			["nì"]
		],
		"诛尽杀绝": [
			["zhū"],
			["jìn"],
			["shā"],
			["jué"]
		],
		"诛求不已": [
			["zhū"],
			["qiú"],
			["bù"],
			["yǐ"]
		],
		"诛求无度": [
			["zhū"],
			["qiú"],
			["wú"],
			["dù"]
		],
		"诛心之论": [
			["zhū"],
			["xīn"],
			["zhī"],
			["lùn"]
		],
		"株连蔓引": [
			["zhū"],
			["lián"],
			["màn"],
			["yǐn"]
		],
		"珠箔银屏": [
			["zhū"],
			["bó"],
			["yín"],
			["píng"]
		],
		"珠宫贝阙": [
			["zhū"],
			["gōng"],
			["bèi"],
			["què"]
		],
		"珠还合浦": [
			["zhū"],
			["huán"],
			["hé"],
			["pǔ"]
		],
		"珠连璧合": [
			["zhū"],
			["lián"],
			["bì"],
			["hé"]
		],
		"珠联璧合": [
			["zhū"],
			["lián"],
			["bì"],
			["hé"]
		],
		"珠流璧转": [
			["zhū"],
			["liú"],
			["bì"],
			["zhuǎn"]
		],
		"珠零玉落": [
			["zhū"],
			["líng"],
			["yù"],
			["luò"]
		],
		"珠盘玉敦": [
			["zhū"],
			["pán"],
			["yù"],
			["dūn"]
		],
		"珠槃玉敦": [
			["zhū"],
			["pán"],
			["yù"],
			["dūn"]
		],
		"珠玉在侧": [
			["zhū"],
			["yù"],
			["zài"],
			["cè"]
		],
		"诸恶莫作": [
			["zhū"],
			["è"],
			["mò"],
			["zuò"]
		],
		"诸葛亮": [
			["zhū"],
			["gě"],
			["liàng"]
		],
		"诸宫调": [
			["zhū"],
			["gōng"],
			["diào"]
		],
		"诸亲好友": [
			["zhū"],
			["qīn"],
			["hǎo"],
			["yǒu"]
		],
		"诸亲六眷": [
			["zhū"],
			["qīn"],
			["liù"],
			["juàn"]
		],
		"诸若此类": [
			["zhū"],
			["ruò"],
			["cǐ"],
			["lèi"]
		],
		"诸有此类": [
			["zhū"],
			["yǒu"],
			["cǐ"],
			["lèi"]
		],
		"诸子百家": [
			["zhū"],
			["zǐ"],
			["bǎi"],
			["jiā"]
		],
		"猪笼草": [
			["zhū"],
			["lóng"],
			["cǎo"]
		],
		"铢称寸量": [
			["zhū"],
			["chēng"],
			["cùn"],
			["liáng"]
		],
		"铢寸累积": [
			["zhū"],
			["cùn"],
			["lèi"],
			["jī"]
		],
		"铢分毫析": [
			["zhū"],
			["fēn"],
			["háo"],
			["xī"]
		],
		"铢积寸累": [
			["zhū"],
			["jī"],
			["cùn"],
			["lěi"]
		],
		"铢积丝累": [
			["zhū"],
			["jī"],
			["sī"],
			["lèi"]
		],
		"铢积锱累": [
			["zhū"],
			["jī"],
			["zī"],
			["lèi"]
		],
		"铢累寸积": [
			["zhū"],
			["lèi"],
			["cùn"],
			["jī"]
		],
		"铢两分寸": [
			["zhū"],
			["liǎng"],
			["fēn"],
			["cùn"]
		],
		"铢两相称": [
			["zhū"],
			["liǎng"],
			["xiāng"],
			["chèn"]
		],
		"铢两悉称": [
			["zhū"],
			["liǎng"],
			["xī"],
			["chèn"]
		],
		"铢量寸度": [
			["zhū"],
			["liáng"],
			["cùn"],
			["duó"]
		],
		"铢铢较量": [
			["zhū"],
			["zhū"],
			["jiào"],
			["liàng"]
		],
		"铢铢校量": [
			["zhū"],
			["zhū"],
			["xiào"],
			["liàng"]
		],
		"竹柏异心": [
			["zhú"],
			["bǎi"],
			["yì"],
			["xīn"]
		],
		"竹篮打水一场空": [
			["zhú"],
			["lán"],
			["dǎ"],
			["shuǐ"],
			["yī"],
			["chǎng"],
			["kōng"]
		],
		"竹篮打水": [
			["zhú"],
			["lán"],
			["dá"],
			["shuǐ"]
		],
		"竹筒倒豆子": [
			["zhú"],
			["tǒng"],
			["dǎo"],
			["dòu"],
			["zi"]
		],
		"竹头木屑": [
			["zhú"],
			["tóu"],
			["mù"],
			["xiè"]
		],
		"竹叶青": [
			["zhú"],
			["yè"],
			["qīng"]
		],
		"竹枝词": [
			["zhú"],
			["zhī"],
			["cí"]
		],
		"烛照数计": [
			["zhú"],
			["zhào"],
			["shù"],
			["jì"]
		],
		"逐臭之夫": [
			["zhú"],
			["chòu"],
			["zhī"],
			["fū"]
		],
		"逐电追风": [
			["zhú"],
			["diàn"],
			["zhuī"],
			["fēng"]
		],
		"逐风追电": [
			["zhú"],
			["fēng"],
			["zhuī"],
			["diàn"]
		],
		"逐近弃远": [
			["zhú"],
			["jìn"],
			["qì"],
			["yuǎn"]
		],
		"逐机应变": [
			["zhú"],
			["jī"],
			["yìng"],
			["biàn"]
		],
		"逐句逐字": [
			["zhú"],
			["jù"],
			["zhú"],
			["zì"]
		],
		"逐客令": [
			["zhú"],
			["kè"],
			["lìng"]
		],
		"逐鹿中原": [
			["zhú"],
			["lù"],
			["zhōng"],
			["yuán"]
		],
		"逐名趋势": [
			["zhú"],
			["míng"],
			["qū"],
			["shì"]
		],
		"逐日追风": [
			["zhú"],
			["rì"],
			["zhuī"],
			["fēng"]
		],
		"逐新趣异": [
			["zhú"],
			["xīn"],
			["qù"],
			["yì"]
		],
		"逐物不还": [
			["zhú"],
			["wù"],
			["bù"],
			["huán"]
		],
		"逐字逐句": [
			["zhú"],
			["zì"],
			["zhú"],
			["jù"]
		],
		"舳舻相继": [
			["zhú"],
			["lú"],
			["xiāng"],
			["jì"]
		],
		"劚玉如泥": [
			["zhú"],
			["yù"],
			["rú"],
			["ní"]
		],
		"主动脉": [
			["zhǔ"],
			["dòng"],
			["mài"]
		],
		"主干线": [
			["zhǔ"],
			["gàn"],
			["xiàn"]
		],
		"主观能动性": [
			["zhǔ"],
			["guān"],
			["néng"],
			["dòng"],
			["xìng"]
		],
		"主观唯心主义": [
			["zhǔ"],
			["guān"],
			["wéi"],
			["xīn"],
			["zhǔ"],
			["yì"]
		],
		"主观主义": [
			["zhǔ"],
			["guān"],
			["zhǔ"],
			["yì"]
		],
		"主客颠倒": [
			["zhǔ"],
			["kè"],
			["diān"],
			["dǎo"]
		],
		"主人家": [
			["zhǔ"],
			["rén"],
			["jiā"]
		],
		"主少国疑": [
			["zhǔ"],
			["shǎo"],
			["guó"],
			["yí"]
		],
		"主席台": [
			["zhǔ"],
			["xí"],
			["tái"]
		],
		"主旋律": [
			["zhǔ"],
			["xuán"],
			["lǜ"]
		],
		"主心骨": [
			["zhǔ"],
			["xīn"],
			["gǔ"]
		],
		"拄笏看山": [
			["zhǔ"],
			["hù"],
			["kàn"],
			["shān"]
		],
		"拄颊看山": [
			["zhǔ"],
			["jiá"],
			["kàn"],
			["shān"]
		],
		"属词比事": [
			["zhǔ"],
			["cí"],
			["bǐ"],
			["shì"]
		],
		"属辞比事": [
			["zhǔ"],
			["cí"],
			["bǐ"],
			["shì"]
		],
		"属毛离里": [
			["zhǔ"],
			["máo"],
			["lí"],
			["lǐ"]
		],
		"属人耳目": [
			["shǔ"],
			["rén"],
			["ěr"],
			["mù"]
		],
		"属垣有耳": [
			["zhǔ"],
			["yuán"],
			["yǒu"],
			["ěr"]
		],
		"煮粥焚须": [
			["zhǔ"],
			["zhōu"],
			["fén"],
			["xū"]
		],
		"麈尾之诲": [
			["zhǔ"],
			["wěi"],
			["zhī"],
			["huì"]
		],
		"住宅区": [
			["zhù"],
			["zhái"],
			["qū"]
		],
		"助边输财": [
			["zhù"],
			["biān"],
			["shū"],
			["cái"]
		],
		"助产士": [
			["zhù"],
			["chǎn"],
			["shì"]
		],
		"助动词": [
			["zhù"],
			["dòng"],
			["cí"]
		],
		"助桀为暴": [
			["zhù"],
			["jié"],
			["wéi"],
			["bào"]
		],
		"助桀为恶": [
			["zhù"],
			["jié"],
			["wéi"],
			["è"]
		],
		"助桀为虐": [
			["zhù"],
			["jié"],
			["wéi"],
			["nüè"]
		],
		"助人为乐": [
			["zhù"],
			["rén"],
			["wéi"],
			["lè"]
		],
		"助人下石": [
			["zhù"],
			["rén"],
			["xià"],
			["shí"]
		],
		"助天为虐": [
			["zhù"],
			["tiān"],
			["wéi"],
			["nüè"]
		],
		"助听器": [
			["zhù"],
			["tīng"],
			["qì"]
		],
		"助我张目": [
			["zhù"],
			["wǒ"],
			["zhāng"],
			["mù"]
		],
		"助纣为虐": [
			["zhù"],
			["zhòu"],
			["wéi"],
			["nüè"]
		],
		"助学金": [
			["zhù"],
			["xué"],
			["jīn"]
		],
		"杼柚空虚": [
			["zhù"],
			["zhóu"],
			["kōng"],
			["xū"]
		],
		"杼柚其空": [
			["zhù"],
			["zhóu"],
			["qí"],
			["kōng"]
		],
		"杼柚之空": [
			["zhù"],
			["zhóu"],
			["zhī"],
			["kōng"]
		],
		"注射器": [
			["zhù"],
			["shè"],
			["qì"]
		],
		"驻红却白": [
			["zhù"],
			["hóng"],
			["què"],
			["bái"]
		],
		"驻颜有术": [
			["zhù"],
			["yán"],
			["yǒu"],
			["shù"]
		],
		"柱石之坚": [
			["zhù"],
			["shí"],
			["zhī"],
			["jiān"]
		],
		"柱天踏地": [
			["zhù"],
			["tiān"],
			["tà"],
			["dì"]
		],
		"柱小倾大": [
			["zhù"],
			["xiǎo"],
			["qīng"],
			["dà"]
		],
		"祝不胜诅": [
			["zhù"],
			["bù"],
			["shèng"],
			["zǔ"]
		],
		"祝发空门": [
			["zhù"],
			["fā"],
			["kōng"],
			["mén"]
		],
		"祝发文身": [
			["zhù"],
			["fā"],
			["wén"],
			["shēn"]
		],
		"祝咽祝哽": [
			["zhù"],
			["yān"],
			["zhù"],
			["gěng"]
		],
		"著书立说": [
			["zhù"],
			["shū"],
			["lì"],
			["shuō"]
		],
		"著述等身": [
			["zhù"],
			["shù"],
			["děng"],
			["shēn"]
		],
		"著作等身": [
			["zhù"],
			["zuò"],
			["děng"],
			["shēn"]
		],
		"著于竹帛": [
			["zhù"],
			["yú"],
			["zhú"],
			["bó"]
		],
		"著作权法": [
			["zhù"],
			["zuò"],
			["quán"],
			["fǎ"]
		],
		"筑舍道傍": [
			["zhù"],
			["shè"],
			["dào"],
			["bàng"]
		],
		"筑室道谋": [
			["zhù"],
			["shì"],
			["dào"],
			["móu"]
		],
		"筑室反耕": [
			["zhù"],
			["shì"],
			["fǎn"],
			["gēng"]
		],
		"筑坛拜将": [
			["zhù"],
			["tán"],
			["bài"],
			["jiàng"]
		],
		"铸成大错": [
			["zhù"],
			["chéng"],
			["dà"],
			["cuò"]
		],
		"铸剑为犁": [
			["zhù"],
			["jiàn"],
			["wéi"],
			["lí"]
		],
		"箸长碗短": [
			["zhù"],
			["chàng"],
			["wǎn"],
			["duǎn"]
		],
		"抓工夫": [
			["zhuā"],
			["gōng"],
			["fū"]
		],
		"抓乖卖俏": [
			["zhuā"],
			["guāi"],
			["mài"],
			["qiào"]
		],
		"抓乖弄俏": [
			["zhuā"],
			["guāi"],
			["nòng"],
			["qiào"]
		],
		"抓壮丁": [
			["zhuā"],
			["zhuàng"],
			["dīng"]
		],
		"爪尖儿": [
			["zhuǎ"],
			["jiān"],
			["er"]
		],
		"拽布披麻": [
			["zhuài"],
			["bù"],
			["pī"],
			["má"]
		],
		"拽布拖麻": [
			["zhuāi"],
			["bù"],
			["tuō"],
			["má"]
		],
		"拽耙扶犁": [
			["zhuāi"],
			["pá"],
			["fú"],
			["lí"]
		],
		"拽巷啰街": [
			["zhuài"],
			["xiàng"],
			["luó"],
			["jiē"]
		],
		"拽巷逻街": [
			["zhuài"],
			["xiàng"],
			["luó"],
			["jiē"]
		],
		"拽巷攞街": [
			["zhuài"],
			["xiàng"],
			["luǒ"],
			["jiē"]
		],
		"拽象拖犀": [
			["zhuài"],
			["xiàng"],
			["tuō"],
			["xī"]
		],
		"专横跋扈": [
			["zhuān"],
			["hèng"],
			["bá"],
			["hù"]
		],
		"专精覃思": [
			["zhuān"],
			["jīng"],
			["tán"],
			["sī"]
		],
		"专科学校": [
			["zhuān"],
			["kē"],
			["xué"],
			["xiào"]
		],
		"专栏作家": [
			["zhuān"],
			["lán"],
			["zuò"],
			["jiā"]
		],
		"专门家": [
			["zhuān"],
			["mén"],
			["jiā"]
		],
		"专名号": [
			["zhuān"],
			["míng"],
			["hào"]
		],
		"专业教育": [
			["zhuān"],
			["yè"],
			["jiào"],
			["yù"]
		],
		"专业银行": [
			["zhuān"],
			["yè"],
			["yín"],
			["háng"]
		],
		"专有名词": [
			["zhuān"],
			["yǒu"],
			["míng"],
			["cí"]
		],
		"专欲难成": [
			["zhuān"],
			["yù"],
			["nán"],
			["chéng"]
		],
		"专员公署": [
			["zhuān"],
			["yuán"],
			["gōng"],
			["shǔ"]
		],
		"砖瓦厂": [
			["zhuān"],
			["wǎ"],
			["chǎng"]
		],
		"转败为功": [
			["zhuǎn"],
			["bài"],
			["wéi"],
			["gōng"]
		],
		"转败为成": [
			["zhuǎn"],
			["bài"],
			["wéi"],
			["chéng"]
		],
		"转败为胜": [
			["zhuǎn"],
			["bài"],
			["wéi"],
			["shèng"]
		],
		"转悲为喜": [
			["zhuǎn"],
			["bēi"],
			["wéi"],
			["xǐ"]
		],
		"转嗔为喜": [
			["zhuǎn"],
			["chēn"],
			["wéi"],
			["xǐ"]
		],
		"转愁为喜": [
			["zhuǎn"],
			["chóu"],
			["wéi"],
			["xǐ"]
		],
		"转斗千里": [
			["zhuǎn"],
			["dòu"],
			["qiān"],
			["lǐ"]
		],
		"转关系": [
			["zhuǎn"],
			["guān"],
			["xì"]
		],
		"转喉触讳": [
			["zhuǎn"],
			["hóu"],
			["chù"],
			["huì"]
		],
		"转海回天": [
			["zhuǎn"],
			["hǎi"],
			["huí"],
			["tiān"]
		],
		"转祸为福": [
			["zhuǎn"],
			["huò"],
			["wéi"],
			["fú"]
		],
		"转来转去": [
			["zhuàn"],
			["lái"],
			["zhuàn"],
			["qù"]
		],
		"转捩点": [
			["zhuǎn"],
			["liè"],
			["diǎn"]
		],
		"转轮手枪": [
			["zhuàn"],
			["lún"],
			["shǒu"],
			["qiāng"]
		],
		"转日回天": [
			["zhuǎn"],
			["rì"],
			["huí"],
			["tiān"]
		],
		"转瞬之间": [
			["zhuǎn"],
			["shùn"],
			["zhī"],
			["jiān"]
		],
		"转死沟壑": [
			["zhuǎn"],
			["sǐ"],
			["gōu"],
			["hè"]
		],
		"转死沟渠": [
			["zhuǎn"],
			["sǐ"],
			["gōu"],
			["qú"]
		],
		"转弯磨角": [
			["zhuǎn"],
			["wān"],
			["mó"],
			["jiǎo"]
		],
		"转弯抹角": [
			["zhuǎn"],
			["wān"],
			["mò"],
			["jiǎo"]
		],
		"转湾抹角": [
			["zhuǎn"],
			["wān"],
			["mò"],
			["jiǎo"]
		],
		"转危为安": [
			["zhuǎn"],
			["wēi"],
			["wéi"],
			["ān"]
		],
		"转学生": [
			["zhuǎn"],
			["xué"],
			["shēng"]
		],
		"转眼之间": [
			["zhuǎn"],
			["yǎn"],
			["zhī"],
			["jiān"]
		],
		"转忧为喜": [
			["zhuǎn"],
			["yōu"],
			["wéi"],
			["xǐ"]
		],
		"转灾为福": [
			["zhuǎn"],
			["zāi"],
			["wéi"],
			["fú"]
		],
		"转辗反侧": [
			["zhuǎn"],
			["zhǎn"],
			["fǎn"],
			["cè"]
		],
		"转战千里": [
			["zhuǎn"],
			["zhàn"],
			["qiān"],
			["lǐ"]
		],
		"转折点": [
			["zhuǎn"],
			["zhé"],
			["diǎn"]
		],
		"妆聋做哑": [
			["zhuāng"],
			["lóng"],
			["zuò"],
			["yǎ"]
		],
		"庄稼地": [
			["zhuāng"],
			["jià"],
			["dì"]
		],
		"妆模作样": [
			["zhuāng"],
			["mó"],
			["zuò"],
			["yàng"]
		],
		"庄严宝相": [
			["zhuāng"],
			["yán"],
			["bǎo"],
			["xiàng"]
		],
		"装潢门面": [
			["zhuāng"],
			["huáng"],
			["mén"],
			["miàn"]
		],
		"装甲车": [
			["zhuāng"],
			["jiǎ"],
			["chē"]
		],
		"装聋作哑": [
			["zhuāng"],
			["lóng"],
			["zuò"],
			["yǎ"]
		],
		"装模作样": [
			["zhuāng"],
			["mú"],
			["zuò"],
			["yàng"]
		],
		"装神弄鬼": [
			["zhuāng"],
			["shén"],
			["nòng"],
			["guǐ"]
		],
		"壮发冲冠": [
			["zhuàng"],
			["fā"],
			["chōng"],
			["guàn"]
		],
		"壮士解腕": [
			["zhuàng"],
			["shì"],
			["jiě"],
			["wàn"]
		],
		"壮心不已": [
			["zhuàng"],
			["xīn"],
			["bù"],
			["yǐ"]
		],
		"撞府冲州": [
			["zhuàng"],
			["fǔ"],
			["chōng"],
			["zhōu"]
		],
		"撞头搕脑": [
			["zhuàng"],
			["tóu"],
			["kē"],
			["nǎo"]
		],
		"撞头磕脑": [
			["zhuàng"],
			["tóu"],
			["kē"],
			["nǎo"]
		],
		"撞阵冲军": [
			["zhuàng"],
			["zhèn"],
			["chōng"],
			["jūn"]
		],
		"追奔逐北": [
			["zhuī"],
			["bēn"],
			["zhú"],
			["běi"]
		],
		"追本穷源": [
			["zhuī"],
			["běn"],
			["qióng"],
			["yuán"]
		],
		"追本溯源": [
			["zhuī"],
			["běn"],
			["sù"],
			["yuán"]
		],
		"追悼会": [
			["zhuī"],
			["dào"],
			["huì"]
		],
		"追风掣电": [
			["zhuī"],
			["fēng"],
			["chè"],
			["diàn"]
		],
		"追风蹑景": [
			["zhuī"],
			["fēng"],
			["niè"],
			["jǐng"]
		],
		"追风蹑影": [
			["zhuī"],
			["fēng"],
			["niè"],
			["yǐng"]
		],
		"追风逐电": [
			["zhuī"],
			["fēng"],
			["zhú"],
			["diàn"]
		],
		"追风摄景": [
			["zhuī"],
			["fēng"],
			["niè"],
			["jǐng"]
		],
		"追风逐日": [
			["zhuī"],
			["fēng"],
			["zhú"],
			["rì"]
		],
		"追风逐影": [
			["zhuī"],
			["fēng"],
			["zhú"],
			["yǐng"]
		],
		"追根查源": [
			["zhuī"],
			["gēn"],
			["chá"],
			["yuán"]
		],
		"追根究底": [
			["zhuī"],
			["gēn"],
			["jiū"],
			["dǐ"]
		],
		"追根究蒂": [
			["zhuī"],
			["gēn"],
			["jiū"],
			["dì"]
		],
		"追根穷源": [
			["zhuī"],
			["gēn"],
			["qióng"],
			["yuán"]
		],
		"追根求源": [
			["zhuī"],
			["gēn"],
			["qiú"],
			["yuán"]
		],
		"追根溯源": [
			["zhuī"],
			["gēn"],
			["sù"],
			["yuán"]
		],
		"追根问底": [
			["zhuī"],
			["gēn"],
			["wèn"],
			["dǐ"]
		],
		"追根寻底": [
			["zhuī"],
			["gēn"],
			["xún"],
			["dǐ"]
		],
		"追欢买笑": [
			["zhuī"],
			["huān"],
			["mǎi"],
			["xiào"]
		],
		"追欢卖笑": [
			["zhuī"],
			["huān"],
			["mài"],
			["xiào"]
		],
		"追欢取乐": [
			["zhuī"],
			["huān"],
			["qǔ"],
			["lè"]
		],
		"追欢作乐": [
			["zhuī"],
			["huān"],
			["zuò"],
			["lè"]
		],
		"追悔何及": [
			["zhuī"],
			["huǐ"],
			["hé"],
			["jí"]
		],
		"追悔莫及": [
			["zhuī"],
			["huǐ"],
			["mò"],
			["jí"]
		],
		"追魂夺命": [
			["zhuī"],
			["hún"],
			["duó"],
			["mìng"]
		],
		"追魂夺魄": [
			["zhuī"],
			["hún"],
			["duó"],
			["pò"]
		],
		"追趋逐耆": [
			["zhuī"],
			["qū"],
			["zhú"],
			["shì"]
		],
		"追魂摄魄": [
			["zhuī"],
			["hún"],
			["shè"],
			["pò"]
		],
		"追亡逐北": [
			["zhuī"],
			["bēn"],
			["zhú"],
			["běi"]
		],
		"追亡逐遁": [
			["zhuī"],
			["wáng"],
			["zhú"],
			["dùn"]
		],
		"追远慎终": [
			["zhuī"],
			["yuǎn"],
			["shèn"],
			["zhōng"]
		],
		"追云逐电": [
			["zhuī"],
			["yún"],
			["zhú"],
			["diàn"]
		],
		"椎锋陷陈": [
			["chuī"],
			["fēng"],
			["xiàn"],
			["chén"]
		],
		"椎锋陷阵": [
			["chuí"],
			["fēng"],
			["xiàn"],
			["zhèn"]
		],
		"椎肤剥髓": [
			["chuí"],
			["fū"],
			["bō"],
			["suǐ"]
		],
		"椎肤剥体": [
			["chuí"],
			["fū"],
			["bō"],
			["tǐ"]
		],
		"椎髻布衣": [
			["zhuī"],
			["jì"],
			["bù"],
			["yī"]
		],
		"椎埋狗窃": [
			["chuí"],
			["mái"],
			["gǒu"],
			["qiè"]
		],
		"椎埋屠狗": [
			["chuí"],
			["mái"],
			["tú"],
			["gǒu"]
		],
		"椎牛发冢": [
			["chuí"],
			["niú"],
			["fā"],
			["zhǒng"]
		],
		"椎牛歃血": [
			["chuí"],
			["niú"],
			["shà"],
			["xuè"]
		],
		"椎牛飨士": [
			["chuí"],
			["niú"],
			["xiǎng"],
			["shì"]
		],
		"椎天抢地": [
			["chuí"],
			["tiān"],
			["qiǎng"],
			["dì"]
		],
		"椎心顿足": [
			["chuí"],
			["xīn"],
			["dùn"],
			["zú"]
		],
		"椎心呕血": [
			["chuí"],
			["xīn"],
			["ǒu"],
			["xuè"]
		],
		"椎心泣血": [
			["chuí"],
			["xīn"],
			["qì"],
			["xuè"]
		],
		"椎心饮泣": [
			["chuí"],
			["xīn"],
			["yǐn"],
			["qì"]
		],
		"椎胸顿足": [
			["chuí"],
			["xiōng"],
			["dùn"],
			["zú"]
		],
		"椎胸跌足": [
			["chuí"],
			["xiōng"],
			["diē"],
			["zú"]
		],
		"椎膺顿足": [
			["chuí"],
			["yīng"],
			["dùn"],
			["zú"]
		],
		"锥处囊中": [
			["zhuī"],
			["chǔ"],
			["náng"],
			["zhōng"]
		],
		"坠茵落溷": [
			["zhuì"],
			["yīn"],
			["luò"],
			["hùn"]
		],
		"惴惴不安": [
			["zhuì"],
			["zhuì"],
			["bù"],
			["ān"]
		],
		"赘食太仓": [
			["zhuì"],
			["shí"],
			["tài"],
			["cāng"]
		],
		"谆谆不倦": [
			["zhūn"],
			["zhūn"],
			["bù"],
			["juàn"]
		],
		"谆谆教导": [
			["zhūn"],
			["zhūn"],
			["jiào"],
			["dǎo"]
		],
		"准噶尔盆地": [
			["zhǔn"],
			["gá"],
			["ěr"],
			["pén"],
			["dì"]
		],
		"卓尔不群": [
			["zhuó"],
			["ěr"],
			["bù"],
			["qún"]
		],
		"卓乎不群": [
			["zhuó"],
			["hū"],
			["bù"],
			["qún"]
		],
		"卓尔独行": [
			["zhuó"],
			["ěr"],
			["dú"],
			["xíng"]
		],
		"卓荦不羁": [
			["zhuó"],
			["luò"],
			["bù"],
			["jī"]
		],
		"卓然不群": [
			["zhuó"],
			["rán"],
			["bù"],
			["qún"]
		],
		"卓有成效": [
			["zhuó"],
			["yǒu"],
			["chéng"],
			["xiào"]
		],
		"捉风捕影": [
			["zhuō"],
			["fēng"],
			["bǔ"],
			["yǐng"]
		],
		"捉风捕月": [
			["zhuō"],
			["fēng"],
			["bǔ"],
			["yuè"]
		],
		"捉衿见肘": [
			["zhuō"],
			["jīn"],
			["jiàn"],
			["zhǒu"]
		],
		"捉衿露肘": [
			["zhuō"],
			["jīn"],
			["lù"],
			["zhǒu"]
		],
		"捉衿肘见": [
			["zhuō"],
			["jīn"],
			["zhǒu"],
			["jiàn"]
		],
		"捉襟露肘": [
			["zhuō"],
			["jīn"],
			["lù"],
			["zhǒu"]
		],
		"捉襟见肘": [
			["zhuō"],
			["jīn"],
			["jiàn"],
			["zhǒu"]
		],
		"捉襟肘见": [
			["zhuō"],
			["jīn"],
			["zhǒu"],
			["jiàn"]
		],
		"捉迷藏": [
			["zhuō"],
			["mí"],
			["cáng"]
		],
		"捉鼠拿猫": [
			["zhuō"],
			["shǔ"],
			["ná"],
			["māo"]
		],
		"捉摸不定": [
			["zhuō"],
			["mō"],
			["bù"],
			["dìng"]
		],
		"捉影捕风": [
			["zhuō"],
			["yǐng"],
			["bǔ"],
			["fēng"]
		],
		"桌面儿上": [
			["zhuō"],
			["miàn"],
			["ér"],
			["shàng"]
		],
		"桌面上": [
			["zhuō"],
			["miàn"],
			["shàng"]
		],
		"桌椅板凳": [
			["zhuō"],
			["yǐ"],
			["bǎn"],
			["dèng"]
		],
		"灼艾分痛": [
			["zhuó"],
			["ài"],
			["fēn"],
			["tòng"]
		],
		"灼见真知": [
			["zhuó"],
			["jiàn"],
			["zhēn"],
			["zhī"]
		],
		"茁壮成长": [
			["zhuó"],
			["zhuàng"],
			["chéng"],
			["zhǎng"]
		],
		"斫雕为朴": [
			["zhuó"],
			["diāo"],
			["wéi"],
			["pǔ"]
		],
		"斫琱为朴": [
			["zhuó"],
			["diāo"],
			["wéi"],
			["pǔ"]
		],
		"浊骨凡胎": [
			["zhuó"],
			["gǔ"],
			["fán"],
			["tāi"]
		],
		"酌古参今": [
			["zhuó"],
			["gǔ"],
			["cān"],
			["jīn"]
		],
		"酌水知源": [
			["zhuó"],
			["shuǐ"],
			["zhī"],
			["yuán"]
		],
		"着人先鞭": [
			["zhuó"],
			["rén"],
			["xiān"],
			["biān"]
		],
		"着三不着两": [
			["zháo"],
			["sān"],
			["bù"],
			["zháo"],
			["liǎng"]
		],
		"着手成春": [
			["zhuó"],
			["shǒu"],
			["chéng"],
			["chūn"]
		],
		"着书立说": [
			["zhù"],
			["shū"],
			["lì"],
			["shuō"]
		],
		"着眼点": [
			["zhuó"],
			["yǎn"],
			["diǎn"]
		],
		"着重号": [
			["zhuó"],
			["zhòng"],
			["hào"]
		],
		"擢发莫数": [
			["zhuó"],
			["fà"],
			["mò"],
			["shǔ"]
		],
		"擢发难数": [
			["zhuó"],
			["fà"],
			["nán"],
			["shǔ"]
		],
		"擢筋剥肤": [
			["zhuó"],
			["jīn"],
			["bō"],
			["fū"]
		],
		"擢筋割骨": [
			["zhuó"],
			["jīn"],
			["gē"],
			["gǔ"]
		],
		"濯足濯缨": [
			["zhuó"],
			["zú"],
			["zhuó"],
			["yīng"]
		],
		"濯污扬清": [
			["zhuó"],
			["wū"],
			["yáng"],
			["qīng"]
		],
		"孜孜不辍": [
			["zī"],
			["zī"],
			["bù"],
			["chuò"]
		],
		"孜孜不怠": [
			["zī"],
			["zī"],
			["bù"],
			["dài"]
		],
		"孜孜不倦": [
			["zī"],
			["zī"],
			["bù"],
			["juàn"]
		],
		"孜孜不懈": [
			["zī"],
			["zī"],
			["bù"],
			["xiè"]
		],
		"兹事体大": [
			["zī"],
			["shì"],
			["tǐ"],
			["dà"]
		],
		"姿意妄为": [
			["zī"],
			["yì"],
			["wàng"],
			["wéi"]
		],
		"资本家": [
			["zī"],
			["běn"],
			["jiā"]
		],
		"资本市场": [
			["zī"],
			["běn"],
			["shì"],
			["chǎng"]
		],
		"资本论": [
			["zī"],
			["běn"],
			["lùn"]
		],
		"资本主义社会": [
			["zī"],
			["běn"],
			["zhǔ"],
			["yì"],
			["shè"],
			["huì"]
		],
		"资不抵债": [
			["zī"],
			["bù"],
			["dǐ"],
			["zhài"]
		],
		"资深望重": [
			["zī"],
			["shēng"],
			["wàng"],
			["zhòng"]
		],
		"孳蔓难图": [
			["zī"],
			["màn"],
			["nán"],
			["tú"]
		],
		"孳孳不倦": [
			["zī"],
			["zī"],
			["bù"],
			["juàn"]
		],
		"滋蔓难图": [
			["zī"],
			["màn"],
			["nán"],
			["tú"]
		],
		"趑趄不前": [
			["zī"],
			["jū"],
			["bù"],
			["qián"]
		],
		"锱铢不爽": [
			["zī"],
			["zhū"],
			["bù"],
			["shuǎng"]
		],
		"锱铢较量": [
			["zī"],
			["zhū"],
			["jiào"],
			["liàng"]
		],
		"龇牙咧嘴": [
			["zī"],
			["yá"],
			["liě"],
			["zuǐ"]
		],
		"龇牙裂嘴": [
			["zī"],
			["yá"],
			["liè"],
			["zuǐ"]
		],
		"子弟兵": [
			["zǐ"],
			["dì"],
			["bīng"]
		],
		"子母弹": [
			["zǐ"],
			["mǔ"],
			["dàn"]
		],
		"子女玉帛": [
			["zǐ"],
			["nǚ"],
			["yù"],
			["bó"]
		],
		"子为父隐": [
			["zǐ"],
			["wéi"],
			["fù"],
			["yǐn"]
		],
		"子孙后代": [
			["zǐ"],
			["sūn"],
			["hòu"],
			["dài"]
		],
		"子虚乌有": [
			["zǐ"],
			["xū"],
			["wū"],
			["yǒu"]
		],
		"子孝父慈": [
			["zǐ"],
			["xiào"],
			["fù"],
			["cí"]
		],
		"子子孙孙": [
			["zǐ"],
			["zǐ"],
			["sūn"],
			["sūn"]
		],
		"紫石英": [
			["zǐ"],
			["shí"],
			["yīng"]
		],
		"字里行间": [
			["zì"],
			["lǐ"],
			["háng"],
			["jiān"]
		],
		"字顺文从": [
			["zì"],
			["shùn"],
			["wén"],
			["cóng"]
		],
		"字斟句酌": [
			["zì"],
			["zhēn"],
			["jù"],
			["zhuó"]
		],
		"字正腔圆": [
			["zì"],
			["zhèng"],
			["qiāng"],
			["yuán"]
		],
		"自报家门": [
			["zì"],
			["bào"],
			["jiā"],
			["mén"]
		],
		"自暴自弃": [
			["zì"],
			["bào"],
			["zì"],
			["qì"]
		],
		"自不待言": [
			["zì"],
			["bù"],
			["dài"],
			["yán"]
		],
		"自不量力": [
			["zì"],
			["bù"],
			["liàng"],
			["lì"]
		],
		"自成一家": [
			["zì"],
			["chéng"],
			["yī"],
			["jiā"]
		],
		"自出机轴": [
			["zì"],
			["chū"],
			["jī"],
			["zhóu"]
		],
		"自出一家": [
			["zì"],
			["chū"],
			["yī"],
			["jiā"]
		],
		"自厝同异": [
			["zì"],
			["cuò"],
			["tóng"],
			["yì"]
		],
		"自吹自擂": [
			["zì"],
			["chuī"],
			["zì"],
			["léi"]
		],
		"自大狂": [
			["zì"],
			["dà"],
			["kuáng"]
		],
		"自得其乐": [
			["zì"],
			["dé"],
			["qí"],
			["lè"]
		],
		"自动化": [
			["zì"],
			["dòng"],
			["huà"]
		],
		"自甘堕落": [
			["zì"],
			["gān"],
			["duò"],
			["luò"]
		],
		"自高自大": [
			["zì"],
			["gāo"],
			["zì"],
			["dà"]
		],
		"自甘暴弃": [
			["zì"],
			["gān"],
			["bào"],
			["qì"]
		],
		"自负不凡": [
			["zì"],
			["fù"],
			["bù"],
			["fán"]
		],
		"自个儿": [
			["zì"],
			["gě"],
			["ér"]
		],
		"自给自足": [
			["zì"],
			["jǐ"],
			["zì"],
			["zú"]
		],
		"自供状": [
			["zì"],
			["gòng"],
			["zhuàng"]
		],
		"自顾不暇": [
			["zì"],
			["gù"],
			["bù"],
			["xiá"]
		],
		"自坏长城": [
			["zì"],
			["huài"],
			["cháng"],
			["chéng"]
		],
		"自家人": [
			["zì"],
			["jiā"],
			["rén"]
		],
		"自觉性": [
			["zì"],
			["jué"],
			["xìng"]
		],
		"自觉自愿": [
			["zì"],
			["jué"],
			["zì"],
			["yuàn"]
		],
		"自觉形秽": [
			["zì"],
			["jué"],
			["xíng"],
			["huì"]
		],
		"自愧不如": [
			["zì"],
			["kuì"],
			["bù"],
			["rú"]
		],
		"自来红": [
			["zì"],
			["lái"],
			["hóng"]
		],
		"自力更生": [
			["zì"],
			["lì"],
			["gēng"],
			["shēng"]
		],
		"自留地": [
			["zì"],
			["liú"],
			["dì"]
		],
		"自留畜": [
			["zì"],
			["liú"],
			["chù"]
		],
		"自卖自夸": [
			["zì"],
			["mài"],
			["zì"],
			["kuā"]
		],
		"自鸣得意": [
			["zì"],
			["míng"],
			["dé"],
			["yì"]
		],
		"自命不凡": [
			["zì"],
			["mìng"],
			["bù"],
			["fán"]
		],
		"自弃自暴": [
			["zì"],
			["qì"],
			["zì"],
			["bào"]
		],
		"自强不息": [
			["zì"],
			["qiáng"],
			["bù"],
			["xī"]
		],
		"自取灭亡": [
			["zì"],
			["qǔ"],
			["miè"],
			["wáng"]
		],
		"自取其祸": [
			["zì"],
			["qǔ"],
			["qí"],
			["huò"]
		],
		"自取其咎": [
			["zì"],
			["qǔ"],
			["qí"],
			["jiù"]
		],
		"自然地理学": [
			["zì"],
			["rán"],
			["dì"],
			["lǐ"],
			["xué"]
		],
		"自然经济": [
			["zì"],
			["rán"],
			["jīng"],
			["jì"]
		],
		"自扫门前雪": [
			["zì"],
			["sǎo"],
			["mén"],
			["qián"],
			["xuě"]
		],
		"自上而下": [
			["zì"],
			["shàng"],
			["ér"],
			["xià"]
		],
		"自身难保": [
			["zì"],
			["shēn"],
			["nán"],
			["bǎo"]
		],
		"自食其恶果": [
			["zì"],
			["shí"],
			["qí"],
			["è"],
			["guǒ"]
		],
		"自食其果": [
			["zì"],
			["shí"],
			["qí"],
			["guǒ"]
		],
		"自食其力": [
			["zì"],
			["shí"],
			["qí"],
			["lì"]
		],
		"自视甚高": [
			["zì"],
			["shì"],
			["shèn"],
			["gāo"]
		],
		"自食其言": [
			["zì"],
			["shí"],
			["qí"],
			["yán"]
		],
		"自说自话": [
			["zì"],
			["shuō"],
			["zì"],
			["huà"]
		],
		"自讨没趣": [
			["zì"],
			["tǎo"],
			["méi"],
			["qù"]
		],
		"自为阶级": [
			["zì"],
			["wèi"],
			["jiē"],
			["jí"]
		],
		"自我吹嘘": [
			["zì"],
			["wǒ"],
			["chuí"],
			["xū"]
		],
		"自下而上": [
			["zì"],
			["xià"],
			["ér"],
			["shàng"]
		],
		"自我解嘲": [
			["zì"],
			["wǒ"],
			["jiě"],
			["cháo"]
		],
		"自我教育": [
			["zì"],
			["wǒ"],
			["jiào"],
			["yù"]
		],
		"自相残杀": [
			["zì"],
			["xiāng"],
			["cán"],
			["shā"]
		],
		"自相残害": [
			["zì"],
			["xiāng"],
			["cán"],
			["hài"]
		],
		"自相惊扰": [
			["zì"],
			["xiāng"],
			["jīng"],
			["rǎo"]
		],
		"自相惊忧": [
			["zì"],
			["xiāng"],
			["jīng"],
			["rǎo"]
		],
		"自相矛盾": [
			["zì"],
			["xiāng"],
			["máo"],
			["dùn"]
		],
		"自相鱼肉": [
			["zì"],
			["xiāng"],
			["yú"],
			["ròu"]
		],
		"自相水火": [
			["zì"],
			["xiāng"],
			["shuǐ"],
			["huǒ"]
		],
		"自信不疑": [
			["zì"],
			["xìn"],
			["bù"],
			["yí"]
		],
		"自信心": [
			["zì"],
			["xìn"],
			["xīn"]
		],
		"自行车": [
			["zì"],
			["xíng"],
			["chē"]
		],
		"自行其是": [
			["zì"],
			["xíng"],
			["qí"],
			["shì"]
		],
		"自寻短见": [
			["zì"],
			["xún"],
			["duǎn"],
			["jiàn"]
		],
		"自言自语": [
			["zì"],
			["yán"],
			["zì"],
			["yǔ"]
		],
		"自诒伊戚": [
			["zì"],
			["yí"],
			["yī"],
			["qī"]
		],
		"自业自得": [
			["zì"],
			["yè"],
			["zì"],
			["dé"]
		],
		"自以为得计": [
			["zì"],
			["yǐ"],
			["wéi"],
			["dé"],
			["jì"]
		],
		"自以为是": [
			["zì"],
			["yǐ"],
			["wéi"],
			["shì"]
		],
		"自由放任": [
			["zì"],
			["yóu"],
			["fàng"],
			["rèn"]
		],
		"自由港": [
			["zì"],
			["yóu"],
			["gǎng"]
		],
		"自由王国": [
			["zì"],
			["yóu"],
			["wáng"],
			["guó"]
		],
		"自由市场": [
			["zì"],
			["yóu"],
			["shì"],
			["chǎng"]
		],
		"自由体操": [
			["zì"],
			["yóu"],
			["tǐ"],
			["cāo"]
		],
		"自有公论": [
			["zì"],
			["yǒu"],
			["gōng"],
			["lùn"]
		],
		"自圆其说": [
			["zì"],
			["yuán"],
			["qí"],
			["shuō"]
		],
		"自知之明": [
			["zì"],
			["zhī"],
			["zhī"],
			["míng"]
		],
		"自治区": [
			["zì"],
			["zhì"],
			["qū"]
		],
		"自治县": [
			["zì"],
			["zhì"],
			["xiàn"]
		],
		"自助餐": [
			["zì"],
			["zhù"],
			["cān"]
		],
		"自作解人": [
			["zì"],
			["zuò"],
			["jiě"],
			["rén"]
		],
		"恣情纵欲": [
			["zì"],
			["qíng"],
			["zòng"],
			["yù"]
		],
		"恣无忌惮": [
			["zì"],
			["wú"],
			["jì"],
			["dàn"]
		],
		"恣睢无忌": [
			["zì"],
			["suī"],
			["wú"],
			["jì"]
		],
		"恣心纵欲": [
			["zì"],
			["xīn"],
			["zòng"],
			["yù"]
		],
		"恣凶稔恶": [
			["zì"],
			["xiōng"],
			["rěn"],
			["è"]
		],
		"恣行无忌": [
			["zì"],
			["xíng"],
			["wú"],
			["jì"]
		],
		"恣意妄为": [
			["zì"],
			["yì"],
			["wàng"],
			["wéi"]
		],
		"恣意妄行": [
			["zì"],
			["yì"],
			["wàng"],
			["xíng"]
		],
		"眦裂发指": [
			["zì"],
			["liè"],
			["fà"],
			["zhǐ"]
		],
		"综合国力": [
			["zōng"],
			["hé"],
			["guó"],
			["lì"]
		],
		"综核名实": [
			["zōng"],
			["hé"],
			["míng"],
			["shí"]
		],
		"总罢工": [
			["zǒng"],
			["bà"],
			["gōng"]
		],
		"总动员": [
			["zǒng"],
			["dòng"],
			["yuán"]
		],
		"总工会": [
			["zǒng"],
			["gōng"],
			["huì"]
		],
		"总角之好": [
			["zǒng"],
			["jiǎo"],
			["zhī"],
			["hǎo"]
		],
		"总角之交": [
			["zǒng"],
			["jiǎo"],
			["zhī"],
			["jiāo"]
		],
		"总司令": [
			["zǒng"],
			["sī"],
			["lìng"]
		],
		"纵断面": [
			["zòng"],
			["duàn"],
			["miàn"]
		],
		"纵风止燎": [
			["zòng"],
			["fēng"],
			["zhǐ"],
			["liáo"]
		],
		"纵横驰骋": [
			["zòng"],
			["héng"],
			["chí"],
			["chěng"]
		],
		"纵横捭阖": [
			["zòng"],
			["héng"],
			["bǎi"],
			["hé"]
		],
		"纵横家": [
			["zòng"],
			["héng"],
			["jiā"]
		],
		"纵横交错": [
			["zòng"],
			["héng"],
			["jiāo"],
			["cuò"]
		],
		"纵横开合": [
			["zòng"],
			["héng"],
			["kāi"],
			["hé"]
		],
		"纵横交贯": [
			["zòng"],
			["héng"],
			["jiāo"],
			["guàn"]
		],
		"纵横开阖": [
			["zòng"],
			["héng"],
			["kāi"],
			["hé"]
		],
		"纵横天下": [
			["zòng"],
			["héng"],
			["tiān"],
			["xià"]
		],
		"纵虎出柙": [
			["zòng"],
			["hǔ"],
			["chū"],
			["xiá"]
		],
		"纵虎归山": [
			["zòng"],
			["hǔ"],
			["guī"],
			["shān"]
		],
		"纵曲枉直": [
			["zòng"],
			["qǔ"],
			["wǎng"],
			["zhí"]
		],
		"纵剖面": [
			["zòng"],
			["pōu"],
			["miàn"]
		],
		"纵坐标": [
			["zòng"],
			["zuò"],
			["biāo"]
		],
		"邹缨齐紫": [
			["zōu"],
			["yīng"],
			["qí"],
			["zǐ"]
		],
		"走调儿": [
			["zǒu"],
			["diào"],
			["ér"]
		],
		"走读生": [
			["zǒu"],
			["dú"],
			["shēng"]
		],
		"走伏无地": [
			["zǒu"],
			["fú"],
			["wú"],
			["dì"]
		],
		"走钢丝": [
			["zǒu"],
			["gāng"],
			["sī"]
		],
		"走过场": [
			["zǒu"],
			["guò"],
			["chǎng"]
		],
		"走好运": [
			["zǒu"],
			["hǎo"],
			["yùn"]
		],
		"走花溜冰": [
			["zǒu"],
			["huā"],
			["liū"],
			["bīng"]
		],
		"走花溜水": [
			["zǒu"],
			["huā"],
			["liū"],
			["bīng"]
		],
		"走街串巷": [
			["zǒu"],
			["jiē"],
			["chuàn"],
			["xiàng"]
		],
		"走马到任": [
			["zǒu"],
			["mǎ"],
			["dào"],
			["rèn"]
		],
		"走马赴任": [
			["zǒu"],
			["mǎ"],
			["fù"],
			["rèn"]
		],
		"走马观花": [
			["zǒu"],
			["mǎ"],
			["guān"],
			["huā"]
		],
		"走马看花": [
			["zǒu"],
			["mǎ"],
			["kàn"],
			["huā"]
		],
		"走马上任": [
			["zǒu"],
			["mǎ"],
			["shàng"],
			["rèn"]
		],
		"走马章台": [
			["zǒu"],
			["mǎ"],
			["zhāng"],
			["tái"]
		],
		"走内线": [
			["zǒu"],
			["nèi"],
			["xiàn"]
		],
		"走南闯北": [
			["zǒu"],
			["nán"],
			["chuǎng"],
			["běi"]
		],
		"走娘家": [
			["zǒu"],
			["niáng"],
			["jiā"]
		],
		"走亲戚": [
			["zǒu"],
			["qīn"],
			["qī"]
		],
		"走石飞沙": [
			["zǒu"],
			["shí"],
			["fēi"],
			["shā"]
		],
		"走头无路": [
			["zǒu"],
			["tóu"],
			["wú"],
			["lù"]
		],
		"走投没路": [
			["zǒu"],
			["tóu"],
			["méi"],
			["lù"]
		],
		"走为上策": [
			["zǒu"],
			["wéi"],
			["shàng"],
			["cè"]
		],
		"走为上计": [
			["zǒu"],
			["wèi"],
			["shàng"],
			["jì"]
		],
		"走为上着": [
			["zǒu"],
			["wèi"],
			["shàng"],
			["zhaō"]
		],
		"走着瞧": [
			["zǒu"],
			["zhe"],
			["qiáo"]
		],
		"奏鸣曲": [
			["zòu"],
			["míng"],
			["qǔ"]
		],
		"租借地": [
			["zū"],
			["jiè"],
			["dì"]
		],
		"租庸调": [
			["zū"],
			["yōng"],
			["diào"]
		],
		"足兵足食": [
			["zú"],
			["bīng"],
			["zú"],
			["shí"]
		],
		"足不出户": [
			["zú"],
			["bù"],
			["chū"],
			["hù"]
		],
		"足不出门": [
			["zú"],
			["bù"],
			["chū"],
			["mén"]
		],
		"足不窥户": [
			["zú"],
			["bù"],
			["kuī"],
			["hù"]
		],
		"足不履影": [
			["zú"],
			["bù"],
			["lǚ"],
			["yǐng"]
		],
		"足不逾户": [
			["zú"],
			["bù"],
			["yú"],
			["hù"]
		],
		"足尺加二": [
			["zú"],
			["chǐ"],
			["jiā"],
			["èr"]
		],
		"足食丰衣": [
			["zú"],
			["shí"],
			["fēng"],
			["yī"]
		],
		"足高气强": [
			["zú"],
			["gāo"],
			["qì"],
			["qiáng"]
		],
		"足踏实地": [
			["zú"],
			["tà"],
			["shí"],
			["dì"]
		],
		"足食足兵": [
			["zú"],
			["shí"],
			["zú"],
			["bīng"]
		],
		"足衣足食": [
			["zú"],
			["yī"],
			["zú"],
			["shí"]
		],
		"足音空谷": [
			["zú"],
			["yīn"],
			["kōng"],
			["gǔ"]
		],
		"足足有余": [
			["zú"],
			["zú"],
			["yǒu"],
			["yú"]
		],
		"镞砺括羽": [
			["zú"],
			["lì"],
			["kuò"],
			["yǔ"]
		],
		"组织法": [
			["zǔ"],
			["zhī"],
			["fǎ"]
		],
		"组织路线": [
			["zǔ"],
			["zhī"],
			["lù"],
			["xiàn"]
		],
		"组织生活": [
			["zǔ"],
			["zhī"],
			["shēng"],
			["huó"]
		],
		"组织学": [
			["zǔ"],
			["zhī"],
			["xué"]
		],
		"组织液": [
			["zǔ"],
			["zhī"],
			["yè"]
		],
		"俎樽折冲": [
			["zǔ"],
			["zūn"],
			["zhé"],
			["chōng"]
		],
		"俎上肉": [
			["zǔ"],
			["shàng"],
			["ròu"]
		],
		"祖父母": [
			["zǔ"],
			["fù"],
			["mǔ"]
		],
		"祖母绿": [
			["zǔ"],
			["mǔ"],
			["lǜ"]
		],
		"祖宗法度": [
			["zǔ"],
			["zōng"],
			["fǎ"],
			["dù"]
		],
		"祖宗家法": [
			["zǔ"],
			["zōng"],
			["jiā"],
			["fǎ"]
		],
		"钻冰求酥": [
			["zuān"],
			["bīng"],
			["qiú"],
			["sū"]
		],
		"钻冰取火": [
			["zuàn"],
			["bīng"],
			["qǔ"],
			["huǒ"]
		],
		"钻冰求火": [
			["zuān"],
			["bīng"],
			["qiú"],
			["huǒ"]
		],
		"钻洞觅缝": [
			["zuàn"],
			["dòng"],
			["mì"],
			["féng"]
		],
		"钻故纸堆": [
			["zuàn"],
			["gù"],
			["zhǐ"],
			["duī"]
		],
		"钻坚研微": [
			["zuàn"],
			["jiān"],
			["yán"],
			["wēi"]
		],
		"钻火得冰": [
			["zuān"],
			["huǒ"],
			["dé"],
			["bīng"]
		],
		"钻坚仰高": [
			["zuàn"],
			["jiān"],
			["yǎng"],
			["gāo"]
		],
		"钻井船": [
			["zuàn"],
			["jǐng"],
			["chuán"]
		],
		"钻空子": [
			["zuān"],
			["kòng"],
			["zi"]
		],
		"钻懒帮闲": [
			["zuān"],
			["lǎn"],
			["bāng"],
			["xián"]
		],
		"钻木取火": [
			["zuàn"],
			["mù"],
			["qǔ"],
			["huǒ"]
		],
		"钻牛角": [
			["zuàn"],
			["niú"],
			["jiǎo"]
		],
		"钻皮出羽": [
			["zuān"],
			["pí"],
			["chū"],
			["yǔ"]
		],
		"钻牛角尖": [
			["zuān"],
			["niú"],
			["jiǎo"],
			["jiān"]
		],
		"钻山塞海": [
			["zuàn"],
			["shān"],
			["sāi"],
			["hǎi"]
		],
		"钻探机": [
			["zuān"],
			["tàn"],
			["jī"]
		],
		"钻天打洞": [
			["zuān"],
			["tiān"],
			["dǎ"],
			["dòng"]
		],
		"钻天觅缝": [
			["zuàn"],
			["tiān"],
			["mì"],
			["féng"]
		],
		"钻天杨": [
			["zuān"],
			["tiān"],
			["yáng"]
		],
		"钻头就锁": [
			["zuàn"],
			["tóu"],
			["jiù"],
			["suǒ"]
		],
		"钻头觅缝": [
			["zuān"],
			["tóu"],
			["mì"],
			["fèng"]
		],
		"钻隙逾墙": [
			["zuān"],
			["xì"],
			["yú"],
			["qiáng"]
		],
		"钻心虫": [
			["zuān"],
			["xīn"],
			["chóng"]
		],
		"钻穴逾隙": [
			["zuān"],
			["xué"],
			["yú"],
			["xì"]
		],
		"钻穴逾墙": [
			["zuān"],
			["xué"],
			["yú"],
			["qiáng"]
		],
		"钻心刺骨": [
			["zuàn"],
			["xīn"],
			["cì"],
			["gǔ"]
		],
		"钻穴逾垣": [
			["zuàn"],
			["xué"],
			["yú"],
			["yuán"]
		],
		"嘴尖舌头快": [
			["zuǐ"],
			["jiān"],
			["shé"],
			["tóu"],
			["kuài"]
		],
		"最大公约数": [
			["zuì"],
			["dà"],
			["gōng"],
			["yuē"],
			["shù"]
		],
		"晬面盎背": [
			["zuì"],
			["miàn"],
			["àng"],
			["bèi"]
		],
		"嘴快舌长": [
			["zuǐ"],
			["kuài"],
			["shé"],
			["cháng"]
		],
		"最小公倍数": [
			["zuì"],
			["xiǎo"],
			["gōng"],
			["bèi"],
			["shù"]
		],
		"罪不可逭": [
			["zuì"],
			["bù"],
			["kě"],
			["huàn"]
		],
		"罪不容诛": [
			["zuì"],
			["bù"],
			["róng"],
			["zhū"]
		],
		"罪不胜诛": [
			["zuì"],
			["bù"],
			["shèng"],
			["zhū"]
		],
		"罪大恶极": [
			["zuì"],
			["dà"],
			["è"],
			["jí"]
		],
		"罪当万死": [
			["zuì"],
			["dāng"],
			["wàn"],
			["sǐ"]
		],
		"罪恶贯盈": [
			["zuì"],
			["è"],
			["guàn"],
			["yíng"]
		],
		"罪恶昭彰": [
			["zuì"],
			["è"],
			["zhāo"],
			["zhāng"]
		],
		"罪恶滔天": [
			["zuì"],
			["è"],
			["tāo"],
			["tiān"]
		],
		"罪恶昭著": [
			["zuì"],
			["è"],
			["zhāo"],
			["zhù"]
		],
		"罪该万死": [
			["zuì"],
			["gāi"],
			["wàn"],
			["sǐ"]
		],
		"罪逆深重": [
			["zuì"],
			["nì"],
			["shēn"],
			["zhòng"]
		],
		"罪孽深重": [
			["zuì"],
			["niè"],
			["shēn"],
			["zhòng"]
		],
		"罪人不孥": [
			["zuì"],
			["rén"],
			["bù"],
			["nú"]
		],
		"罪业深重": [
			["zuì"],
			["yè"],
			["shēn"],
			["zhòng"]
		],
		"罪应万死": [
			["zuì"],
			["yīng"],
			["wàn"],
			["sǐ"]
		],
		"罪有应得": [
			["zuì"],
			["yǒu"],
			["yīng"],
			["dé"]
		],
		"罪有攸归": [
			["zuì"],
			["yǒu"],
			["yōu"],
			["guī"]
		],
		"罪责难逃": [
			["zuì"],
			["zé"],
			["nán"],
			["táo"]
		],
		"醉山颓倒": [
			["zuì"],
			["shān"],
			["tuí"],
			["dǎo"]
		],
		"醉吐相茵": [
			["zuì"],
			["tǔ"],
			["xiāng"],
			["yīn"]
		],
		"醉翁之意不在酒": [
			["zuì"],
			["wēng"],
			["zhī"],
			["yì"],
			["bù"],
			["zài"],
			["jiǔ"]
		],
		"尊师重道": [
			["zūn"],
			["shī"],
			["zhòng"],
			["dào"]
		],
		"尊无二上": [
			["zūn"],
			["wú"],
			["èr"],
			["shàng"]
		],
		"尊贤使能": [
			["zūn"],
			["xián"],
			["shǐ"],
			["néng"]
		],
		"尊姓大名": [
			["zūn"],
			["xìng"],
			["dà"],
			["míng"]
		],
		"尊主泽民": [
			["zūn"],
			["zhǔ"],
			["zé"],
			["mín"]
		],
		"尊俎折冲": [
			["zūn"],
			["zǔ"],
			["zhé"],
			["chōng"]
		],
		"遵而不失": [
			["zūn"],
			["ér"],
			["bù"],
			["shī"]
		],
		"遵养待时": [
			["zūn"],
			["yǎng"],
			["dài"],
			["shí"]
		],
		"樽酒论文": [
			["zūn"],
			["jiǔ"],
			["lùn"],
			["wén"]
		],
		"樽俎折冲": [
			["zūn"],
			["zǔ"],
			["zhé"],
			["chōng"]
		],
		"昨儿个": [
			["zuó"],
			["ér"],
			["gè"]
		],
		"左不过": [
			["zuǒ"],
			["bù"],
			["guò"]
		],
		"左膀右臂": [
			["zuǒ"],
			["bǎng"],
			["yòu"],
			["bì"]
		],
		"左道旁门": [
			["zuǒ"],
			["dào"],
			["páng"],
			["mén"]
		],
		"左家娇女": [
			["zuǒ"],
			["jiā"],
			["jiāo"],
			["nǚ"]
		],
		"左撇子": [
			["zuǒ"],
			["piě"],
			["zǐ"]
		],
		"左铅右椠": [
			["zuǒ"],
			["qiān"],
			["yòu"],
			["qiàn"]
		],
		"左说右说": [
			["zuǒ"],
			["shuō"],
			["yòu"],
			["shuō"]
		],
		"左思右想": [
			["zuǒ"],
			["sī"],
			["yòu"],
			["xiǎng"]
		],
		"左提右挈": [
			["zuǒ"],
			["tí"],
			["yòu"],
			["qiè"]
		],
		"左宜右有": [
			["zuǒ"],
			["yí"],
			["yòu"],
			["fú"]
		],
		"左萦右拂": [
			["zuǒ"],
			["yíng"],
			["yòu"],
			["fú"]
		],
		"左右两难": [
			["zuǒ"],
			["yòu"],
			["liǎng"],
			["nán"]
		],
		"左右采获": [
			["zuǒ"],
			["yòu"],
			["cǎi"],
			["huò"]
		],
		"左支右调": [
			["zuǒ"],
			["zhī"],
			["yòu"],
			["tiáo"]
		],
		"左枝右梧": [
			["zuǒ"],
			["zhī"],
			["yòu"],
			["wū"]
		],
		"左右为难": [
			["zuǒ"],
			["yòu"],
			["wéi"],
			["nán"]
		],
		"左支右吾": [
			["zuǒ"],
			["zhī"],
			["yòu"],
			["wū"]
		],
		"佐雍得尝": [
			["zuǒ"],
			["yōng"],
			["dé"],
			["cháng"]
		],
		"佐饔得尝": [
			["zuǒ"],
			["yōng"],
			["dé"],
			["cháng"]
		],
		"作壁上观": [
			["zuò"],
			["bì"],
			["shàng"],
			["guān"]
		],
		"作歹为非": [
			["zuò"],
			["dǎi"],
			["wéi"],
			["fēi"]
		],
		"作恶多端": [
			["zuò"],
			["è"],
			["duō"],
			["duān"]
		],
		"作古正经": [
			["zuò"],
			["gǔ"],
			["zhèng"],
			["jīng"]
		],
		"作好作歹": [
			["zuò"],
			["hǎo"],
			["zuò"],
			["dǎi"]
		],
		"作嫁衣裳": [
			["zuò"],
			["jià"],
			["yī"],
			["shāng"]
		],
		"作困兽斗": [
			["zuò"],
			["kùn"],
			["shòu"],
			["dòu"]
		],
		"作金石声": [
			["zuò"],
			["jīn"],
			["shí"],
			["shēng"]
		],
		"作浪兴风": [
			["zuò"],
			["làng"],
			["xīng"],
			["fēng"]
		],
		"作如是观": [
			["zuò"],
			["rú"],
			["shì"],
			["guān"]
		],
		"作善降祥": [
			["zuò"],
			["shàn"],
			["jiàng"],
			["xiáng"]
		],
		"作舍道旁": [
			["zuò"],
			["shě"],
			["dào"],
			["páng"]
		],
		"作小服低": [
			["zuò"],
			["xiǎo"],
			["fú"],
			["dī"]
		],
		"坐标轴": [
			["zuò"],
			["biāo"],
			["zhóu"]
		],
		"作作有芒": [
			["zuò"],
			["zuò"],
			["yǒu"],
			["máng"]
		],
		"作言造语": [
			["zuò"],
			["yán"],
			["zào"],
			["yǔ"]
		],
		"坐不垂堂": [
			["zuò"],
			["bù"],
			["chuí"],
			["táng"]
		],
		"坐不安席": [
			["zuò"],
			["bù"],
			["ān"],
			["xí"]
		],
		"坐不窥堂": [
			["zùo"],
			["bù"],
			["kuī"],
			["táng"]
		],
		"坐不重席": [
			["zuò"],
			["bù"],
			["chóng"],
			["xí"]
		],
		"坐吃山空": [
			["zuò"],
			["chī"],
			["shān"],
			["kōng"]
		],
		"坐地分赃": [
			["zuò"],
			["dì"],
			["fēn"],
			["zāng"]
		],
		"坐地自划": [
			["zuò"],
			["dì"],
			["zì"],
			["huá"]
		],
		"坐而待弊": [
			["zuò"],
			["ér"],
			["dài"],
			["bì"]
		],
		"坐而待毙": [
			["zuò"],
			["ér"],
			["dài"],
			["bì"]
		],
		"坐而论道": [
			["zuò"],
			["ér"],
			["lùn"],
			["dào"]
		],
		"坐骨神经": [
			["zuò"],
			["gǔ"],
			["shén"],
			["jīng"]
		],
		"坐而待旦": [
			["zuò"],
			["ér"],
			["dài"],
			["dàn"]
		],
		"坐观成败": [
			["zuò"],
			["guān"],
			["chéng"],
			["bài"]
		],
		"坐怀不乱": [
			["zuò"],
			["huái"],
			["bù"],
			["luàn"]
		],
		"坐禁闭": [
			["zuò"],
			["jìn"],
			["bì"]
		],
		"坐井观天": [
			["zuò"],
			["jǐng"],
			["guān"],
			["tiān"]
		],
		"坐立不安": [
			["zuò"],
			["lì"],
			["bù"],
			["ān"]
		],
		"坐山观虎斗": [
			["zuò"],
			["shān"],
			["guān"],
			["hǔ"],
			["dòu"]
		],
		"坐食山空": [
			["zuò"],
			["shí"],
			["shān"],
			["kōng"]
		],
		"坐上琴心": [
			["zuò"],
			["shàng"],
			["qín"],
			["xīn"]
		],
		"坐树不言": [
			["zuò"],
			["shù"],
			["bù"],
			["yán"]
		],
		"坐视不救": [
			["zuò"],
			["shī"],
			["bù"],
			["jiù"]
		],
		"坐卧不安": [
			["zuò"],
			["wò"],
			["bù"],
			["ān"]
		],
		"坐卧不离": [
			["zuò"],
			["wò"],
			["bù"],
			["lí"]
		],
		"坐卧不宁": [
			["zuò"],
			["wò"],
			["bù"],
			["níng"]
		],
		"坐享其成": [
			["zuò"],
			["xiǎng"],
			["qí"],
			["chéng"]
		],
		"坐享其功": [
			["zuò"],
			["xiǎng"],
			["qí"],
			["gōng"]
		],
		"坐言起行": [
			["zuò"],
			["yán"],
			["qǐ"],
			["xíng"]
		],
		"坐以待毙": [
			["zuò"],
			["yǐ"],
			["dài"],
			["bì"]
		],
		"坐以待旦": [
			["zuò"],
			["yǐ"],
			["dài"],
			["dàn"]
		],
		"柞丝绸": [
			["zuò"],
			["sī"],
			["chóu"]
		],
		"做好事": [
			["zuò"],
			["hǎo"],
			["shì"]
		],
		"座上客": [
			["zuò"],
			["shàng"],
			["kè"]
		],
		"做好做歹": [
			["zuò"],
			["hǎo"],
			["zuò"],
			["dǎi"]
		],
		"做好做恶": [
			["zuò"],
			["hǎo"],
			["zuò"],
			["è"]
		],
		"做一日和尚撞一日钟": [
			["zuò"],
			["yī"],
			["rì"],
			["hé"],
			["shàng"],
			["zhuàng"],
			["yī"],
			["rì"],
			["zhōng"]
		],
		"做一日和尚撞一天钟": [
			["zuò"],
			["yī"],
			["rì"],
			["hé"],
			["shàng"],
			["zhuàng"],
			["yī"],
			["tiān"],
			["zhōng"]
		],
		"做一天和尚撞一天钟": [
			["zuò"],
			["yī"],
			["tiān"],
			["hé"],
			["shàng"],
			["zhuàng"],
			["yī"],
			["tiān"],
			["zhōng"]
		]
	};
	function _classCallCheck(instance, Constructor) {
		if (!(instance instanceof Constructor)) {
			throw new TypeError("Cannot call a class as a function");
		}
	}
	function _defineProperties(target, props) {
		for (var i = 0; i < props.length; i++) {
			var descriptor = props[i];
			descriptor.enumerable = descriptor.enumerable || false;
			descriptor.configurable = true;
			if ("value" in descriptor) descriptor.writable = true;
			Object.defineProperty(target, descriptor.key, descriptor);
		}
	}
	function _createClass(Constructor, protoProps, staticProps) {
		if (protoProps) _defineProperties(Constructor.prototype, protoProps);
		if (staticProps) _defineProperties(Constructor, staticProps);
		return Constructor;
	}
	function _defineProperty(obj, key, value) {
		if (key in obj) {
			Object.defineProperty(obj, key, {
				value,
				enumerable: true,
				configurable: true,
				writable: true
			});
		} else {
			obj[key] = value;
		}
		return obj;
	}
	function _inherits(subClass, superClass) {
		if (typeof superClass !== "function" && superClass !== null) {
			throw new TypeError("Super expression must either be null or a function");
		}
		subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: {
			value: subClass,
			writable: true,
			configurable: true
		} });
		if (superClass) _setPrototypeOf(subClass, superClass);
	}
	function _getPrototypeOf(o) {
		_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
			return o.__proto__ || Object.getPrototypeOf(o);
		};
		return _getPrototypeOf(o);
	}
	function _setPrototypeOf(o, p) {
		_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
			o.__proto__ = p;
			return o;
		};
		return _setPrototypeOf(o, p);
	}
	function _assertThisInitialized(self) {
		if (self === void 0) {
			throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
		}
		return self;
	}
	function _possibleConstructorReturn(self, call) {
		if (call && (typeof call === "object" || typeof call === "function")) {
			return call;
		}
		return _assertThisInitialized(self);
	}
	function _toConsumableArray(arr) {
		return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();
	}
	function _arrayWithoutHoles(arr) {
		if (Array.isArray(arr)) {
			for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
			return arr2;
		}
	}
	function _iterableToArray(iter) {
		if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
	}
	function _nonIterableSpread() {
		throw new TypeError("Invalid attempt to spread non-iterable instance");
	}
	/**
	* 单词类型
	*/
	var POSTAG = {
		D_A: 1073741824,
		D_B: 536870912,
		D_C: 268435456,
		D_D: 134217728,
		D_E: 67108864,
		D_F: 33554432,
		D_I: 16777216,
		D_L: 8388608,
		A_M: 4194304,
		D_MQ: 2097152,
		D_N: 1048576,
		D_O: 524288,
		D_P: 262144,
		A_Q: 131072,
		D_R: 65536,
		D_S: 32768,
		D_T: 16384,
		D_U: 8192,
		D_V: 4096,
		D_W: 2048,
		D_X: 1024,
		D_Y: 512,
		D_Z: 256,
		A_NR: 128,
		A_NS: 64,
		A_NT: 32,
		A_NX: 16,
		A_NZ: 8,
		D_ZH: 4,
		D_K: 2,
		UNK: 0,
		URL: 1
	};
	var Tokenizer = /* @__PURE__ */ function() {
		/**
		* 分词模块管理器
		*
		* @param {Segment} 分词接口
		*/
		function Tokenizer(segment) {
			_classCallCheck(this, Tokenizer);
			this.segment = segment;
		}
		/**
		* 对一段文本进行分词
		*
		* @param {string} text 文本
		* @param {array} modules 分词模块数组
		* @return {array}
		*/
		_createClass(Tokenizer, [{
			key: "split",
			value: function split(text, modules) {
				if (modules.length < 1) {
					throw Error("No tokenizer module!");
				}
				var result = [{ w: text }];
				modules.forEach(function(module$4) {
					result = module$4.split(result);
				});
				return result;
			}
		}]);
		return Tokenizer;
	}();
	var Optimizer = /* @__PURE__ */ function() {
		/**
		* 优化模块管理器
		*
		* @param {Segment} 分词接口
		*/
		function Optimizer(segment) {
			_classCallCheck(this, Optimizer);
			this.segment = segment;
		}
		/**
		* 分词一段文本
		*
		* @param {array} words 单词数组
		* @param {array} modules 分词模块数组
		* @return {array}
		*/
		_createClass(Optimizer, [{
			key: "doOptimize",
			value: function doOptimize(words, modules) {
				var result = _toConsumableArray(words);
				modules.forEach(function(module$5) {
					result = module$5.doOptimize(result);
				});
				return result;
			}
		}]);
		return Optimizer;
	}();
	/**
	* 创建分词器接口
	*/
	var Segment = /* @__PURE__ */ function() {
		function Segment() {
			var _this = this;
			_classCallCheck(this, Segment);
			_defineProperty(this, "use", function(Module) {
				if (Array.isArray(Module)) {
					Module.forEach(_this.use);
				} else {
					if (typeof Module.init === "function") {
						Module.init(_this);
						_this.modules[Module.type].push(Module);
					} else {
						var module$6 = new Module(_this);
						_this.modules[module$6.type].push(module$6);
					}
				}
				return _this;
			});
			_defineProperty(this, "loadDict", function(dict) {
				var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "TABLE";
				var convertToLower = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
				if (Array.isArray(dict)) {
					dict.forEach(function(d) {
						return _this.loadDict(d);
					});
				} else {
					if (!_this.DICT[type]) _this.DICT[type] = {};
					if (!_this.DICT["".concat(type, "2")]) _this.DICT["".concat(type, "2")] = {};
					var TABLE = _this.DICT[type];
					var TABLE2 = _this.DICT["".concat(type, "2")];
					dict.split(/\r?\n/).map(function(line) {
						if (convertToLower) return line.toLowerCase();
						return line;
					}).forEach(function(line) {
						var blocks = line.split("|");
						if (blocks.length > 2) {
							var w = blocks[0].trim();
							var p = Number(blocks[1]);
							var f = Number(blocks[2]);
							if (w.length > 0) {
								TABLE[w] = {
									f,
									p
								};
								if (!TABLE2[w.length]) TABLE2[w.length] = {};
								TABLE2[w.length][w] = TABLE[w];
							}
						}
					});
				}
				return _this;
			});
			_defineProperty(this, "getDict", function(type) {
				return _this.DICT[type];
			});
			_defineProperty(this, "loadSynonymDict", function(dict) {
				if (Array.isArray(dict)) {
					dict.forEach(function(d) {
						return _this.loadSynonymDict(d);
					});
				} else {
					var type = "SYNONYM";
					if (!_this.DICT[type]) _this.DICT[type] = {};
					var TABLE = _this.DICT[type];
					dict.split(/\r?\n/).map(function(line) {
						return line.split(",");
					}).forEach(function(blocks) {
						if (blocks.length > 1) {
							var n1 = blocks[0].trim();
							var n2 = blocks[1].trim();
							TABLE[n1] = n2;
							if (TABLE[n2] === n1) {
								delete TABLE[n2];
							}
						}
					});
				}
				return _this;
			});
			_defineProperty(this, "loadStopwordDict", function(dict) {
				if (Array.isArray(dict)) {
					dict.forEach(function(d) {
						return _this.loadStopwordDict(d);
					});
				} else {
					var type = "STOPWORD";
					if (!_this.DICT[type]) _this.DICT[type] = {};
					var TABLE = _this.DICT[type];
					dict.split(/\r?\n/).map(function(line) {
						return line.trim();
					}).forEach(function(line) {
						if (line) {
							TABLE[line] = true;
						}
					});
				}
				return _this;
			});
			_defineProperty(this, "doSegment", function(text, options) {
				var me = _this;
				options = options || {};
				var ret = [];
				text.replace(/\r/g, "\n").split(/\n+/).forEach(function(section) {
					var section = section.trim();
					if (section.length < 1) return;
					var sret = me.tokenizer.split(section, me.modules.tokenizer);
					sret = me.optimizer.doOptimize(sret, me.modules.optimizer);
					if (sret.length > 0) ret = ret.concat(sret);
				});
				if (options.stripPunctuation) {
					ret = ret.filter(function(item) {
						return item.p !== POSTAG.D_W;
					});
				}
				function convertSynonym(list) {
					var count = 0;
					var TABLE = me.getDict("SYNONYM");
					list = list.map(function(item) {
						if (item.w in TABLE) {
							count++;
							return {
								w: TABLE[item.w],
								p: item.p
							};
						}
						return item;
					});
					return {
						count,
						list
					};
				}
				if (options.convertSynonym) {
					do {
						var result = convertSynonym(ret);
						ret = result.list;
					} while (result.count > 0);
				}
				if (options.stripStopword) {
					var STOPWORD = me.getDict("STOPWORD");
					ret = ret.filter(function(item) {
						return !(item.w in STOPWORD);
					});
				}
				if (options.simple) {
					ret = ret.map(function(item) {
						return item.w;
					});
				}
				return ret;
			});
			this.POSTAG = POSTAG;
			this.DICT = {};
			this.modules = {
				tokenizer: [],
				optimizer: []
			};
			this.tokenizer = new Tokenizer(this);
			this.optimizer = new Optimizer(this);
		}
		/**
		* 载入分词模块
		*
		* @param {String|Array|Object} module 模块名称(数组)或模块对象
		* @return {Segment}
		*/
		_createClass(Segment, [
			{
				key: "toString",
				value: function toString(words) {
					return words.map(function(item) {
						return item.w;
					}).join("");
				}
			},
			{
				key: "split",
				value: function split(words, s) {
					var ret = [];
					var lasti = 0;
					var i = 0;
					var f = typeof s === "string" ? "w" : "p";
					while (i < words.length) {
						if (words[i][f] === s) {
							if (lasti < i) ret.push(words.slice(lasti, i));
							ret.push(words.slice(i, i + 1));
							i++;
							lasti = i;
						} else {
							i++;
						}
					}
					if (lasti < words.length - 1) {
						ret.push(words.slice(lasti, words.length));
					}
					return ret;
				}
			},
			{
				key: "indexOf",
				value: function indexOf(words, s, cur) {
					cur = isNaN(cur) ? 0 : cur;
					var f = typeof s === "string" ? "w" : "p";
					while (cur < words.length) {
						if (words[cur][f] === s) return cur;
						cur++;
					}
					return -1;
				}
			}
		]);
		return Segment;
	}();
	var Module = function Module(segment) {
		_classCallCheck(this, Module);
		_defineProperty(this, "type", void 0);
		this.segment = segment;
	};
	var Tokenizer$1 = /* @__PURE__ */ function(_Module) {
		_inherits(Tokenizer, _Module);
		function Tokenizer() {
			var _getPrototypeOf2;
			var _this;
			_classCallCheck(this, Tokenizer);
			for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
				args[_key] = arguments[_key];
			}
			_this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Tokenizer)).call.apply(_getPrototypeOf2, [this].concat(args)));
			_defineProperty(_assertThisInitialized(_this), "type", "tokenizer");
			return _this;
		}
		return Tokenizer;
	}(Module);
	var Optimizer$1 = /* @__PURE__ */ function(_Module2) {
		_inherits(Optimizer, _Module2);
		function Optimizer() {
			var _getPrototypeOf3;
			var _this2;
			_classCallCheck(this, Optimizer);
			for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
				args[_key2] = arguments[_key2];
			}
			_this2 = _possibleConstructorReturn(this, (_getPrototypeOf3 = _getPrototypeOf(Optimizer)).call.apply(_getPrototypeOf3, [this].concat(args)));
			_defineProperty(_assertThisInitialized(_this2), "type", "optimizer");
			return _this2;
		}
		return Optimizer;
	}(Module);
	var COLOR_WITH_RGB = [
		[
			"薰衣草紫红",
			"#fff0f5",
			"255,245,245"
		],
		[
			"淡藕合",
			"#f0dfee",
			"240,238,238"
		],
		[
			"甘石粉",
			"#ffe8f3",
			"255,243,243"
		],
		[
			"浅粉红",
			"#ffd9e6",
			"255,230,230"
		],
		[
			"浅血牙",
			"#ffd7ea",
			"255,234,234"
		],
		[
			"粉凤仙",
			"#fccce6",
			"252,230,230"
		],
		[
			"浅珍珠红",
			"#ffb3e6",
			"255,230,230"
		],
		[
			"淡粉",
			"#ffb3cc",
			"255,204,204"
		],
		[
			"火鹤红",
			"#e68ab8",
			"230,184,184"
		],
		[
			"豆棕",
			"#502e3e",
			"80,62,62"
		],
		[
			"茄皮紫",
			"#3a212f",
			"58,47,47"
		],
		[
			"蒲萄灰",
			"#4e2c3f",
			"78,63,63"
		],
		[
			"荷花",
			"#eb7faf",
			"235,175,175"
		],
		[
			"灰紫红",
			"#db7093",
			"219,147,147"
		],
		[
			"浅珊瑚红",
			"#ff80bf",
			"255,191,191"
		],
		[
			"暗粉",
			"#ff77bb",
			"255,187,187"
		],
		[
			"陈玫红",
			"#b85798",
			"184,152,152"
		],
		[
			"肉红",
			"#d26091",
			"210,145,145"
		],
		[
			"尖晶石红",
			"#ff73b3",
			"255,179,179"
		],
		[
			"银红",
			"#c85b92",
			"200,146,146"
		],
		[
			"暖粉红",
			"#ff69b4",
			"255,180,180"
		],
		[
			"浅玫瑰红",
			"#ff66cc",
			"255,204,204"
		],
		[
			"紫扇贝色",
			"#923a60",
			"146,96,96"
		],
		[
			"长春花色",
			"#ff47d1",
			"255,209,209"
		],
		[
			"山茶红",
			"#e63995",
			"230,149,149"
		],
		[
			"中青紫红",
			"#c71585",
			"199,133,133"
		],
		[
			"深粉红",
			"#ff1493",
			"255,147,147"
		],
		[
			"洋玫瑰红",
			"#ff0da6",
			"255,166,166"
		],
		[
			"玫瑰红",
			"#ff007f",
			"255,127,127"
		],
		[
			"品红",
			"#f400a1",
			"244,161,161"
		],
		[
			"胭脂红",
			"#e6005c",
			"230,92,92"
		],
		[
			"艶粉",
			"#e6005c",
			"230,92,92"
		],
		[
			"红宝石色",
			"#cc0080",
			"204,128,128"
		],
		[
			"枢机红",
			"#990036",
			"153,54,54"
		],
		[
			"毅红",
			"#8a002e",
			"138,46,46"
		],
		[
			"牵牛紫",
			"#800040",
			"128,64,64"
		],
		[
			"紫粉",
			"#80002b",
			"128,43,43"
		],
		[
			"鶏冠花红",
			"#660033",
			"102,51,51"
		],
		[
			"枣红",
			"#640021",
			"100,33,33"
		],
		[
			"紫绛色",
			"#51001b",
			"81,27,27"
		],
		[
			"玫瑰灰",
			"#4d0026",
			"77,38,38"
		],
		[
			"勃艮第酒红",
			"#470024",
			"71,36,36"
		],
		[
			"黒紫",
			"#3e0014",
			"62,20,20"
		],
		[
			"雪紫",
			"#33001a",
			"51,26,26"
		],
		[
			"深红",
			"#33001a",
			"51,26,26"
		],
		[
			"雪色",
			"#fffafa",
			"255,250,250"
		],
		[
			"浅肉粉",
			"#f5eeeb",
			"245,235,235"
		],
		[
			"粉棕",
			"#ebdad3",
			"235,211,211"
		],
		[
			"雾玫瑰色",
			"#ffe4e1",
			"255,225,225"
		],
		[
			"米红",
			"#fddfdf",
			"253,223,223"
		],
		[
			"沙棕",
			"#e6c3c3",
			"230,195,195"
		],
		[
			"肉粉",
			"#ffd7d7",
			"255,215,215"
		],
		[
			"奶棕",
			"#deb6b6",
			"222,182,182"
		],
		[
			"玫瑰褐",
			"#bc8f8f",
			"188,143,143"
		],
		[
			"红灰莲",
			"#ab8282",
			"171,130,130"
		],
		[
			"粉红",
			"#ffc0cb",
			"255,203,203"
		],
		[
			"亮粉红",
			"#ffb6c1",
			"255,193,193"
		],
		[
			"壳黄红",
			"#ffb3bf",
			"255,191,191"
		],
		[
			"浅粉",
			"#ffb3b3",
			"255,179,179"
		],
		[
			"十様锦",
			"#ffb3b3",
			"255,179,179"
		],
		[
			"深烟",
			"#311f1e",
			"49,30,30"
		],
		[
			"凤仙粉",
			"#ff9393",
			"255,147,147"
		],
		[
			"亮珊瑚色",
			"#f08080",
			"240,128,128"
		],
		[
			"暗鲑红",
			"#e9967a",
			"233,122,122"
		],
		[
			"绛紫",
			"#492525",
			"73,37,37"
		],
		[
			"浅鲑红",
			"#ff8099",
			"255,153,153"
		],
		[
			"紫铜色",
			"#6b3636",
			"107,54,54"
		],
		[
			"珈琲色",
			"#623131",
			"98,49,49"
		],
		[
			"烟栗色",
			"#221311",
			"34,17,17"
		],
		[
			"亮鲑红",
			"#ffa07a",
			"255,122,122"
		],
		[
			"红莲灰",
			"#c76079",
			"199,121,121"
		],
		[
			"鲑红",
			"#fa8072",
			"250,114,114"
		],
		[
			"印度红",
			"#cd5c5c",
			"205,92,92"
		],
		[
			"银朱",
			"#c85554",
			"200,84,84"
		],
		[
			"赦红",
			"#d1634b",
			"209,75,75"
		],
		[
			"二硃",
			"#c24545",
			"194,69,69"
		],
		[
			"芯木色",
			"#c14444",
			"193,68,68"
		],
		[
			"銹红",
			"#4d1919",
			"77,25,25"
		],
		[
			"珊瑚红",
			"#ff7f50",
			"255,80,80"
		],
		[
			"辰沙",
			"#ce3b3b",
			"206,59,59"
		],
		[
			"红扇贝色",
			"#ce3b3b",
			"206,59,59"
		],
		[
			"蕃茄红",
			"#ff6347",
			"255,71,71"
		],
		[
			"柿子橙",
			"#ff4d40",
			"255,64,64"
		],
		[
			"妃红",
			"#b8542e",
			"184,46,46"
		],
		[
			"甎红",
			"#ab2b2b",
			"171,43,43"
		],
		[
			"褐色",
			"#a52a2a",
			"165,42,42"
		],
		[
			"硃砂",
			"#972626",
			"151,38,38"
		],
		[
			"土红",
			"#bc2e2e",
			"188,46,46"
		],
		[
			"樱桃红",
			"#de3163",
			"222,99,99"
		],
		[
			"砖红色",
			"#b22222",
			"178,34,34"
		],
		[
			"茜红",
			"#e32636",
			"227,54,54"
		],
		[
			"银星海棠",
			"#f52443",
			"245,67,67"
		],
		[
			"橙色",
			"#fe621f",
			"254,31,31"
		],
		[
			"桔红",
			"#ff441a",
			"255,26,26"
		],
		[
			"柿子色",
			"#ff531a",
			"255,26,26"
		],
		[
			"绯红",
			"#dc143c",
			"220,60,60"
		],
		[
			"月季红",
			"#e10b2b",
			"225,43,43"
		],
		[
			"鸟罗松红",
			"#c80926",
			"200,38,38"
		],
		[
			"蕉红色",
			"#d70419",
			"215,25,25"
		],
		[
			"艶红",
			"#bf0417",
			"191,23,23"
		],
		[
			"烟色",
			"#2e0a01",
			"46,1,1"
		],
		[
			"牡丹红",
			"#b80233",
			"184,51,51"
		],
		[
			"榴花红",
			"#b02502",
			"176,2,2"
		],
		[
			"枣紫",
			"#540101",
			"84,1,1"
		],
		[
			"红色",
			"#ff0000",
			"255,0,0"
		],
		[
			"腥红",
			"#ff2400",
			"255,0,0"
		],
		[
			"橙红",
			"#ff4500",
			"255,0,0"
		],
		[
			"朱红",
			"#ff4d00",
			"255,0,0"
		],
		[
			"鲜红",
			"#e60000",
			"230,0,0"
		],
		[
			"曙红",
			"#e60039",
			"230,57,57"
		],
		[
			"章丹",
			"#dd3700",
			"221,0,0"
		],
		[
			"茉莉花红",
			"#cc0033",
			"204,51,51"
		],
		[
			"猩红",
			"#cc0000",
			"204,0,0"
		],
		[
			"象牙红",
			"#b30000",
			"179,0,0"
		],
		[
			"血红",
			"#990000",
			"153,0,0"
		],
		[
			"深釉红",
			"#971b00",
			"151,0,0"
		],
		[
			"暗红",
			"#8b0000",
			"139,0,0"
		],
		[
			"栗色",
			"#800000",
			"128,0,0"
		],
		[
			"釉红",
			"#7b1800",
			"123,0,0"
		],
		[
			"臙脂",
			"#700000",
			"112,0,0"
		],
		[
			"花卉白",
			"#fffaf0",
			"255,240,240"
		],
		[
			"海贝色",
			"#fff5ee",
			"255,238,238"
		],
		[
			"浅棕灰",
			"#eee7dd",
			"238,221,221"
		],
		[
			"亚麻色",
			"#faf0e6",
			"250,230,230"
		],
		[
			"胡粉",
			"#fffae8",
			"255,232,232"
		],
		[
			"旧蕾丝色",
			"#fdf5e6",
			"253,230,230"
		],
		[
			"银白色",
			"#fffae6",
			"255,230,230"
		],
		[
			"铁灰色",
			"#625b57",
			"98,87,87"
		],
		[
			"蝋白",
			"#fef8de",
			"254,222,222"
		],
		[
			"玉米丝色",
			"#fff8dc",
			"255,220,220"
		],
		[
			"古董白",
			"#faebd7",
			"250,215,215"
		],
		[
			"红梍",
			"#3a3932",
			"58,50,50"
		],
		[
			"蕃木瓜色",
			"#ffefd5",
			"255,213,213"
		],
		[
			"芽灰",
			"#e3dbbf",
			"227,191,191"
		],
		[
			"米灰",
			"#d3cbaf",
			"211,175,175"
		],
		[
			"元青",
			"#24231e",
			"36,30,30"
		],
		[
			"果肉色",
			"#fee3d1",
			"254,209,209"
		],
		[
			"杏仁白",
			"#ffebcd",
			"255,205,205"
		],
		[
			"柠檬绸色",
			"#fffacd",
			"255,205,205"
		],
		[
			"乳白色",
			"#fef3c9",
			"254,201,201"
		],
		[
			"淡黄",
			"#fef8c9",
			"254,201,201"
		],
		[
			"真丝紬色",
			"#ffe3c8",
			"255,200,200"
		],
		[
			"肉黄",
			"#fce2c4",
			"252,196,196"
		],
		[
			"芦黄",
			"#ebd2b8",
			"235,184,184"
		],
		[
			"陶坯黄",
			"#ffe4c4",
			"255,196,196"
		],
		[
			"深银灰",
			"#c7bd9a",
			"199,154,154"
		],
		[
			"承徳梍",
			"#474336",
			"71,54,54"
		],
		[
			"粉扑桃色",
			"#ffdab9",
			"255,185,185"
		],
		[
			"小麦色",
			"#f5deb3",
			"245,179,179"
		],
		[
			"乳黄色",
			"#feefb6",
			"254,182,182"
		],
		[
			"小鸠黄",
			"#efe7ab",
			"239,171,171"
		],
		[
			"鹿皮鞋色",
			"#ffe4b5",
			"255,181,181"
		],
		[
			"桃色",
			"#ffe5b4",
			"255,180,180"
		],
		[
			"牙黄",
			"#fef4b4",
			"254,180,180"
		],
		[
			"富春纺色",
			"#fef4b4",
			"254,180,180"
		],
		[
			"乳灰",
			"#cfc592",
			"207,146,146"
		],
		[
			"灰米",
			"#c4be8c",
			"196,140,140"
		],
		[
			"庭院瓦灰色",
			"#706750",
			"112,80,80"
		],
		[
			"肉棕",
			"#debf9a",
			"222,154,154"
		],
		[
			"灰土色",
			"#ccb38c",
			"204,140,140"
		],
		[
			"那瓦霍白",
			"#ffdead",
			"255,173,173"
		],
		[
			"甘草黄",
			"#eddd9e",
			"237,158,158"
		],
		[
			"日晒色",
			"#d2b48c",
			"210,140,140"
		],
		[
			"纸棕",
			"#d2b38c",
			"210,140,140"
		],
		[
			"相思灰",
			"#4a4331",
			"74,49,49"
		],
		[
			"蝶粉",
			"#ffd0a2",
			"255,162,162"
		],
		[
			"乳棕",
			"#c9b481",
			"201,129,129"
		],
		[
			"燋茶色",
			"#3d3a27",
			"61,39,39"
		],
		[
			"浅驼色",
			"#d7af88",
			"215,136,136"
		],
		[
			"中驼",
			"#ad876b",
			"173,107,107"
		],
		[
			"玛瑙粉",
			"#ffbc9b",
			"255,155,155"
		],
		[
			"硬木色",
			"#deb887",
			"222,135,135"
		],
		[
			"土布色",
			"#fdd599",
			"253,153,153"
		],
		[
			"骆驼色",
			"#dcb183",
			"220,131,131"
		],
		[
			"亮卡其色",
			"#f0e68c",
			"240,140,140"
		],
		[
			"中棕灰",
			"#695f3d",
			"105,61,61"
		],
		[
			"淡棕茶",
			"#c0a86d",
			"192,109,109"
		],
		[
			"草灰色",
			"#3d3123",
			"61,35,35"
		],
		[
			"肉棕灰",
			"#cd9b69",
			"205,105,105"
		],
		[
			"珈琲棕",
			"#705438",
			"112,56,56"
		],
		[
			"深栗色",
			"#402f20",
			"64,32,32"
		],
		[
			"深褐色",
			"#251c12",
			"37,18,18"
		],
		[
			"黄棕色",
			"#b39255",
			"179,85,85"
		],
		[
			"杏黄",
			"#e69966",
			"230,102,102"
		],
		[
			"獣皮色",
			"#c69c57",
			"198,87,87"
		],
		[
			"驼色",
			"#a16b47",
			"161,71,71"
		],
		[
			"卡其黄",
			"#cda456",
			"205,86,86"
		],
		[
			"蜜橙",
			"#ffb366",
			"255,102,102"
		],
		[
			"茉莉黄",
			"#e6c35c",
			"230,92,92"
		],
		[
			"红孤色",
			"#c98150",
			"201,80,80"
		],
		[
			"沙褐",
			"#f4a460",
			"244,96,96"
		],
		[
			"蛤蜊粉",
			"#ffb061",
			"255,97,97"
		],
		[
			"丹东石",
			"#f9e459",
			"249,89,89"
		],
		[
			"南瓜黄",
			"#f4ad57",
			"244,87,87"
		],
		[
			"浅黄",
			"#f3aa58",
			"243,88,88"
		],
		[
			"鹿皮色",
			"#fad156",
			"250,86,86"
		],
		[
			"赦石色",
			"#d17547",
			"209,71,71"
		],
		[
			"秘鲁色",
			"#cd853f",
			"205,63,63"
		],
		[
			"向日黄",
			"#ffc34d",
			"255,77,77"
		],
		[
			"将校呢",
			"#363210",
			"54,16,16"
		],
		[
			"棕茶",
			"#c78738",
			"199,56,56"
		],
		[
			"铜色",
			"#b87333",
			"184,51,51"
		],
		[
			"赭黄",
			"#a0522d",
			"160,45,45"
		],
		[
			"桂皮色",
			"#c66f35",
			"198,53,53"
		],
		[
			"罗汉果色",
			"#502f16",
			"80,22,22"
		],
		[
			"醤色",
			"#39200f",
			"57,15,15"
		],
		[
			"雄黄",
			"#c66231",
			"198,49,49"
		],
		[
			"金黄",
			"#b85c2e",
			"184,46,46"
		],
		[
			"松皮色",
			"#a45128",
			"164,40,40"
		],
		[
			"棕红",
			"#934824",
			"147,36,36"
		],
		[
			"黄鸭色",
			"#874521",
			"135,33,33"
		],
		[
			"浅桔黄",
			"#ec9433",
			"236,51,51"
		],
		[
			"热带橙",
			"#ff8033",
			"255,51,51"
		],
		[
			"卡其色",
			"#996b1f",
			"153,31,31"
		],
		[
			"乌贼墨色",
			"#704214",
			"112,20,20"
		],
		[
			"赭色",
			"#cc7722",
			"204,34,34"
		],
		[
			"明黄",
			"#ffc428",
			"255,40,40"
		],
		[
			"丝爪花黄",
			"#fed927",
			"254,39,39"
		],
		[
			"大赤金",
			"#e6b422",
			"230,34,34"
		],
		[
			"金菊色",
			"#daa520",
			"218,32,32"
		],
		[
			"粉橙色",
			"#ff7b24",
			"255,36,36"
		],
		[
			"巧克力色",
			"#d2691e",
			"210,30,30"
		],
		[
			"鞍褐",
			"#8b4513",
			"139,19,19"
		],
		[
			"选金",
			"#e9c61f",
			"233,31,31"
		],
		[
			"库金",
			"#e0b712",
			"224,18,18"
		],
		[
			"玛瑙色",
			"#b1470e",
			"177,14,14"
		],
		[
			"黄金色",
			"#dab710",
			"218,16,16"
		],
		[
			"琉璃色",
			"#c9780c",
			"201,12,12"
		],
		[
			"暗金菊色",
			"#b8860b",
			"184,11,11"
		],
		[
			"坛香色",
			"#d57306",
			"213,6,6"
		],
		[
			"苍黄",
			"#c65306",
			"198,6,6"
		],
		[
			"艶黄",
			"#fc8705",
			"252,5,5"
		],
		[
			"雄精",
			"#d94f04",
			"217,4,4"
		],
		[
			"姜黄",
			"#806102",
			"128,2,2"
		],
		[
			"朱古力色",
			"#381801",
			"56,1,1"
		],
		[
			"蛋黄",
			"#e6a202",
			"230,2,2"
		],
		[
			"黄琉璃",
			"#e4b803",
			"228,3,3"
		],
		[
			"枝黄",
			"#cfb603",
			"207,3,3"
		],
		[
			"鹿皮棕",
			"#a67902",
			"166,2,2"
		],
		[
			"阳橙",
			"#ff7300",
			"255,0,0"
		],
		[
			"暗橙",
			"#ff8c00",
			"255,0,0"
		],
		[
			"万寿菊黄",
			"#ff9900",
			"255,0,0"
		],
		[
			"琥珀色",
			"#ffbf00",
			"255,0,0"
		],
		[
			"金色",
			"#ffd700",
			"255,0,0"
		],
		[
			"石黄",
			"#f9bb00",
			"249,0,0"
		],
		[
			"鹅黄",
			"#f8b500",
			"248,0,0"
		],
		[
			"橘色",
			"#f28500",
			"242,0,0"
		],
		[
			"桔黄",
			"#f08300",
			"240,0,0"
		],
		[
			"硃膘",
			"#eb6101",
			"235,1,1"
		],
		[
			"土黄",
			"#e88b00",
			"232,0,0"
		],
		[
			"铬黄",
			"#e6b800",
			"230,0,0"
		],
		[
			"金红",
			"#e65c00",
			"230,0,0"
		],
		[
			"虾黄",
			"#db6d00",
			"219,0,0"
		],
		[
			"燃橙",
			"#cc5500",
			"204,0,0"
		],
		[
			"椰褐",
			"#4d1f00",
			"77,0,0"
		],
		[
			"咖啡色",
			"#4d3900",
			"77,0,0"
		],
		[
			"灯草灰",
			"#131100",
			"19,0,0"
		],
		[
			"蛤粉",
			"#fdfff4",
			"253,244,244"
		],
		[
			"红灰",
			"#5f605b",
			"95,91,91"
		],
		[
			"象牙色",
			"#fffff0",
			"255,240,240"
		],
		[
			"貂水灰",
			"#8b8e86",
			"139,134,134"
		],
		[
			"蝋黄",
			"#edf9df",
			"237,223,223"
		],
		[
			"米黄色",
			"#f5f5dc",
			"245,220,220"
		],
		[
			"松緑色",
			"#ced5bd",
			"206,189,189"
		],
		[
			"黄灰",
			"#b6bea9",
			"182,169,169"
		],
		[
			"亮黄",
			"#ffffe0",
			"255,224,224"
		],
		[
			"春緑",
			"#e3efd1",
			"227,209,209"
		],
		[
			"承徳灰",
			"#4f4f44",
			"79,68,68"
		],
		[
			"油烟墨",
			"#272923",
			"39,35,35"
		],
		[
			"淡米色",
			"#ffffd7",
			"255,215,215"
		],
		[
			"亮金菊黄",
			"#fafad2",
			"250,210,210"
		],
		[
			"芦灰",
			"#c1d0ae",
			"193,174,174"
		],
		[
			"奶緑",
			"#cadcb6",
			"202,182,182"
		],
		[
			"奶油色",
			"#fffdd0",
			"255,208,208"
		],
		[
			"水黄",
			"#ddeec4",
			"221,196,196"
		],
		[
			"銹緑",
			"#d9e7ba",
			"217,186,186"
		],
		[
			"虾灰",
			"#dad6ab",
			"218,171,171"
		],
		[
			"法国梧桐皮色",
			"#949773",
			"148,115,115"
		],
		[
			"灰金菊色",
			"#eee8aa",
			"238,170,170"
		],
		[
			"中条虾緑",
			"#687452",
			"104,82,82"
		],
		[
			"茶緑",
			"#343724",
			"52,36,36"
		],
		[
			"牙緑",
			"#f4fea3",
			"244,163,163"
		],
		[
			"鉄緑",
			"#3f472c",
			"63,44,44"
		],
		[
			"香槟黄",
			"#ffff99",
			"255,153,153"
		],
		[
			"浅草緑",
			"#ccff99",
			"204,153,153"
		],
		[
			"枯緑",
			"#d3d37c",
			"211,124,124"
		],
		[
			"铜緑色",
			"#a6d279",
			"166,121,121"
		],
		[
			"嫩葱緑",
			"#93b469",
			"147,105,105"
		],
		[
			"暗卡其色",
			"#bdb76b",
			"189,107,107"
		],
		[
			"青豆色",
			"#98bc67",
			"152,103,103"
		],
		[
			"苦瓜緑",
			"#e1ff86",
			"225,134,134"
		],
		[
			"卡其緑",
			"#717234",
			"113,52,52"
		],
		[
			"暗橄榄绿",
			"#556b2f",
			"85,47,47"
		],
		[
			"杨桃色",
			"#eefd6a",
			"238,106,106"
		],
		[
			"嫩姜黄",
			"#fef263",
			"254,99,99"
		],
		[
			"芥末黄",
			"#cccc4d",
			"204,77,77"
		],
		[
			"黄緑",
			"#8cb33e",
			"140,62,62"
		],
		[
			"草绿",
			"#99e64d",
			"153,77,77"
		],
		[
			"月黄",
			"#ffff4d",
			"255,77,77"
		],
		[
			"槐黄",
			"#ffff4d",
			"255,77,77"
		],
		[
			"藤黄",
			"#faed4b",
			"250,75,75"
		],
		[
			"苔藓绿",
			"#697723",
			"105,35,35"
		],
		[
			"橄榄军服绿",
			"#6b8e23",
			"107,35,35"
		],
		[
			"黄绿",
			"#9acd32",
			"154,50,50"
		],
		[
			"含羞草黄",
			"#e6d933",
			"230,51,51"
		],
		[
			"绿黄",
			"#adff2f",
			"173,47,47"
		],
		[
			"嫩草緑",
			"#a3b61f",
			"163,31,31"
		],
		[
			"橄榄緑",
			"#49460c",
			"73,12,12"
		],
		[
			"柠檬黄",
			"#ffff24",
			"255,36,36"
		],
		[
			"草黄",
			"#f4ea20",
			"244,32,32"
		],
		[
			"深芽緑",
			"#739b06",
			"115,6,6"
		],
		[
			"军緑",
			"#3d6402",
			"61,2,2"
		],
		[
			"鲜黄",
			"#ffff00",
			"255,0,0"
		],
		[
			"黄色",
			"#ffff00",
			"255,0,0"
		],
		[
			"亮柠檬绿",
			"#ccff00",
			"204,0,0"
		],
		[
			"查特酒绿",
			"#7fff00",
			"127,0,0"
		],
		[
			"草坪绿",
			"#7cfc00",
			"124,0,0"
		],
		[
			"苹果绿",
			"#8ce600",
			"140,0,0"
		],
		[
			"橄榄色",
			"#808000",
			"128,0,0"
		],
		[
			"新芽色",
			"#7d7d00",
			"125,0,0"
		],
		[
			"蜜瓜绿",
			"#f0fff0",
			"240,240,240"
		],
		[
			"织锦灰",
			"#7b8c7c",
			"123,124,124"
		],
		[
			"竜泉青瓷釉色",
			"#c8e6c6",
			"200,198,198"
		],
		[
			"暗灰",
			"#465146",
			"70,70,70"
		],
		[
			"深灰",
			"#353e35",
			"53,53,53"
		],
		[
			"橄揽灰",
			"#75856d",
			"117,109,109"
		],
		[
			"冬灰色",
			"#63715b",
			"99,91,91"
		],
		[
			"苔灰",
			"#425140",
			"66,64,64"
		],
		[
			"暗海绿",
			"#8fbc8f",
			"143,143,143"
		],
		[
			"暗苔緑",
			"#405742",
			"64,66,66"
		],
		[
			"灰绿",
			"#98fb98",
			"152,152,152"
		],
		[
			"亮绿",
			"#90ee90",
			"144,144,144"
		],
		[
			"荷茎緑",
			"#a0d878",
			"160,120,120"
		],
		[
			"果緑",
			"#8ace57",
			"138,87,87"
		],
		[
			"葱緑",
			"#99f158",
			"153,88,88"
		],
		[
			"钴绿",
			"#66ff59",
			"102,89,89"
		],
		[
			"叶绿",
			"#73b839",
			"115,57,57"
		],
		[
			"嫩绿",
			"#99ff4d",
			"153,77,77"
		],
		[
			"常春藤绿",
			"#36bf36",
			"54,54,54"
		],
		[
			"柠檬绿",
			"#32cd32",
			"50,50,50"
		],
		[
			"森林绿",
			"#228b22",
			"34,34,34"
		],
		[
			"鹦鹉緑",
			"#156a1e",
			"21,30,30"
		],
		[
			"孔雀石绿",
			"#22c32e",
			"34,46,46"
		],
		[
			"双緑",
			"#043403",
			"4,3,3"
		],
		[
			"明绿",
			"#66ff00",
			"102,0,0"
		],
		[
			"鲜绿色",
			"#00ff00",
			"0,0,0"
		],
		[
			"绿色",
			"#008000",
			"0,0,0"
		],
		[
			"暗绿",
			"#006400",
			"0,0,0"
		],
		[
			"鉄灰",
			"#3e403f",
			"62,63,63"
		],
		[
			"薄荷奶油色",
			"#f5fffa",
			"245,250,250"
		],
		[
			"深瓦灰",
			"#717774",
			"113,116,116"
		],
		[
			"大理石色",
			"#c9d8cd",
			"201,205,205"
		],
		[
			"淡灰緑",
			"#c0d6cb",
			"192,203,203"
		],
		[
			"粗晶梍",
			"#323836",
			"50,54,54"
		],
		[
			"枝緑",
			"#dffff5",
			"223,245,245"
		],
		[
			"淡緑",
			"#dbfbe3",
			"219,227,227"
		],
		[
			"青虾色",
			"#6f847d",
			"111,125,125"
		],
		[
			"浅水緑",
			"#ccfbea",
			"204,234,234"
		],
		[
			"蟹青",
			"#6f9388",
			"111,136,136"
		],
		[
			"油緑",
			"#2b3c2f",
			"43,47,47"
		],
		[
			"三緑",
			"#b3ffbc",
			"179,188,188"
		],
		[
			"苍色",
			"#a6ffcc",
			"166,204,204"
		],
		[
			"墨緑",
			"#1e3124",
			"30,36,36"
		],
		[
			"老緑",
			"#2d5131",
			"45,49,49"
		],
		[
			"碧蓝色",
			"#7fffd4",
			"127,212,212"
		],
		[
			"青瓷绿",
			"#73e68c",
			"115,140,140"
		],
		[
			"中碧蓝色",
			"#66cdaa",
			"102,170,170"
		],
		[
			"玉緑",
			"#6ff9c1",
			"111,193,193"
		],
		[
			"夜緑色",
			"#285b41",
			"40,65,65"
		],
		[
			"冬緑",
			"#337d56",
			"51,86,86"
		],
		[
			"碧绿",
			"#50c878",
			"80,120,120"
		],
		[
			"緑琉璃色",
			"#296939",
			"41,57,57"
		],
		[
			"中海绿",
			"#3cb371",
			"60,113,113"
		],
		[
			"绿松石绿",
			"#4de680",
			"77,128,128"
		],
		[
			"冬瓜緑",
			"#349e69",
			"52,105,105"
		],
		[
			"海绿",
			"#2e8b57",
			"46,87,87"
		],
		[
			"铬绿",
			"#127436",
			"18,54,54"
		],
		[
			"薄荷绿",
			"#16982b",
			"22,43,43"
		],
		[
			"粗孔雀緑",
			"#028255",
			"2,85,85"
		],
		[
			"深緑宝石",
			"#02774f",
			"2,79,79"
		],
		[
			"巴黎緑",
			"#02b340",
			"2,64,64"
		],
		[
			"翡翠",
			"#015437",
			"1,55,55"
		],
		[
			"春绿",
			"#00ff80",
			"0,128,128"
		],
		[
			"中春绿色",
			"#00fa9a",
			"0,154,154"
		],
		[
			"孔雀绿",
			"#00a15c",
			"0,92,92"
		],
		[
			"正灰",
			"#bcc7c7",
			"188,199,199"
		],
		[
			"鸭蛋青",
			"#e6fffd",
			"230,253,253"
		],
		[
			"浅青色",
			"#e0f3f8",
			"224,248,248"
		],
		[
			"月白色",
			"#daf3ef",
			"218,239,239"
		],
		[
			"云灰",
			"#cbe2e4",
			"203,228,228"
		],
		[
			"亮青",
			"#e0ffff",
			"224,255,255"
		],
		[
			"蓝灰色",
			"#8ba39e",
			"139,158,158"
		],
		[
			"春蓝",
			"#98b4b3",
			"152,179,179"
		],
		[
			"石板色",
			"#4a595b",
			"74,91,91"
		],
		[
			"婴儿粉蓝",
			"#b0e0e6",
			"176,230,230"
		],
		[
			"水色",
			"#afdfe4",
			"175,228,228"
		],
		[
			"亮蓝",
			"#add8e6",
			"173,230,230"
		],
		[
			"灰绿松石色",
			"#afeeee",
			"175,238,238"
		],
		[
			"浅鲜緑",
			"#b6fee9",
			"182,233,233"
		],
		[
			"鸠灰",
			"#9ec8da",
			"158,218,218"
		],
		[
			"湖蓝灰",
			"#425c60",
			"66,96,96"
		],
		[
			"蟹蓝",
			"#597e82",
			"89,130,130"
		],
		[
			"灰蓝",
			"#477066",
			"71,102,102"
		],
		[
			"黛蓝",
			"#131e1e",
			"19,30,30"
		],
		[
			"果灰",
			"#7ecdb6",
			"126,182,182"
		],
		[
			"碧玉石",
			"#66a8a8",
			"102,168,168"
		],
		[
			"灰緑",
			"#5c968a",
			"92,138,138"
		],
		[
			"军服蓝",
			"#5f9ea0",
			"95,160,160"
		],
		[
			"暗岩灰",
			"#2f4f4f",
			"47,79,79"
		],
		[
			"浅松緑",
			"#79d2d2",
			"121,210,210"
		],
		[
			"天蓝",
			"#87ceeb",
			"135,235,235"
		],
		[
			"玉石蓝",
			"#427371",
			"66,113,113"
		],
		[
			"毛緑",
			"#28414a",
			"40,74,74"
		],
		[
			"水蓝",
			"#66ffe6",
			"102,230,230"
		],
		[
			"萨克斯蓝",
			"#4798b3",
			"71,179,179"
		],
		[
			"深松緑",
			"#42bfac",
			"66,172,172"
		],
		[
			"中绿松石色",
			"#48d1cc",
			"72,204,204"
		],
		[
			"绿松石色",
			"#30d5c8",
			"48,200,200"
		],
		[
			"土耳其蓝",
			"#33e6cc",
			"51,204,204"
		],
		[
			"亮海绿",
			"#20b2aa",
			"32,170,170"
		],
		[
			"青蓝",
			"#0dbf8c",
			"13,140,140"
		],
		[
			"品緑",
			"#07817a",
			"7,122,122"
		],
		[
			"湖緑",
			"#015f5a",
			"1,90,90"
		],
		[
			"青色",
			"#00ffff",
			"0,255,255"
		],
		[
			"深天蓝",
			"#00bfff",
			"0,255,255"
		],
		[
			"暗绿松石色",
			"#00ced1",
			"0,209,209"
		],
		[
			"暗青",
			"#008b8b",
			"0,139,139"
		],
		[
			"孔雀蓝",
			"#00808c",
			"0,140,140"
		],
		[
			"凫绿",
			"#008080",
			"0,128,128"
		],
		[
			"浓蓝",
			"#006374",
			"0,116,116"
		],
		[
			"沙緑",
			"#003129",
			"0,41,41"
		],
		[
			"银蓝",
			"#e1e3e6",
			"225,230,230"
		],
		[
			"爱丽丝蓝",
			"#f0f8ff",
			"240,255,255"
		],
		[
			"鉄青",
			"#292c2e",
			"41,46,46"
		],
		[
			"亮钢蓝",
			"#b0c4de",
			"176,222,222"
		],
		[
			"亮岩灰",
			"#778899",
			"119,153,153"
		],
		[
			"岩灰",
			"#708090",
			"112,144,144"
		],
		[
			"花青",
			"#576d93",
			"87,147,147"
		],
		[
			"鹊灰",
			"#283144",
			"40,68,68"
		],
		[
			"钴蓝",
			"#6b9bb8",
			"107,184,184"
		],
		[
			"浅蓝",
			"#89cff0",
			"137,240,240"
		],
		[
			"绀青",
			"#3f4470",
			"63,112,112"
		],
		[
			"浅天蓝",
			"#87cefa",
			"135,250,250"
		],
		[
			"竹月色",
			"#6b9ac9",
			"107,201,201"
		],
		[
			"栢坊灰蓝",
			"#41627c",
			"65,124,124"
		],
		[
			"灰丁宁蓝",
			"#5e86c1",
			"94,193,193"
		],
		[
			"韦奇伍德瓷蓝",
			"#5686bf",
			"86,191,191"
		],
		[
			"矢车菊蓝",
			"#6495ed",
			"100,237,237"
		],
		[
			"钢青色",
			"#4682b4",
			"70,180,180"
		],
		[
			"浅海昌蓝",
			"#2f4988",
			"47,136,136"
		],
		[
			"鼠尾草蓝",
			"#4d80e6",
			"77,230,230"
		],
		[
			"労动布色",
			"#1c2859",
			"28,89,89"
		],
		[
			"品蓝",
			"#4169e1",
			"65,225,225"
		],
		[
			"暗矿蓝",
			"#24367d",
			"36,125,125"
		],
		[
			"深毛月色",
			"#284f95",
			"40,149,149"
		],
		[
			"沙青",
			"#205580",
			"32,128,128"
		],
		[
			"琉璃蓝",
			"#183a65",
			"24,101,101"
		],
		[
			"浅土蓝",
			"#122c4b",
			"18,75,75"
		],
		[
			"绒蓝",
			"#1f4f89",
			"31,137,137"
		],
		[
			"北京毛蓝",
			"#1f4f89",
			"31,137,137"
		],
		[
			"深竹月",
			"#2e62cd",
			"46,205,205"
		],
		[
			"毛月色",
			"#2c80c5",
			"44,197,197"
		],
		[
			"蔚蓝",
			"#2a52be",
			"42,190,190"
		],
		[
			"深蓝",
			"#0e1a49",
			"14,73,73"
		],
		[
			"蔵蓝",
			"#111f6a",
			"17,106,106"
		],
		[
			"道奇蓝",
			"#1e90ff",
			"30,255,255"
		],
		[
			"海蓝",
			"#0b2d64",
			"11,100,100"
		],
		[
			"蓝宝石色",
			"#082567",
			"8,103,103"
		],
		[
			"深毛蓝",
			"#031025",
			"3,37,37"
		],
		[
			"天青石蓝",
			"#0d33ff",
			"13,255,255"
		],
		[
			"郡青",
			"#043ab9",
			"4,185,185"
		],
		[
			"湛蓝",
			"#007fff",
			"0,255,255"
		],
		[
			"极浓海蓝",
			"#0033ff",
			"0,255,255"
		],
		[
			"国际奇连蓝",
			"#002fa7",
			"0,167,167"
		],
		[
			"矿蓝",
			"#004d99",
			"0,153,153"
		],
		[
			"暗婴儿粉蓝",
			"#003399",
			"0,153,153"
		],
		[
			"水手蓝",
			"#00477d",
			"0,125,125"
		],
		[
			"普鲁士蓝",
			"#003153",
			"0,83,83"
		],
		[
			"雪灰",
			"#ededef",
			"237,239,239"
		],
		[
			"幽灵白",
			"#f8f8ff",
			"248,255,255"
		],
		[
			"薰衣草紫",
			"#e6e6fa",
			"230,250,250"
		],
		[
			"雪青灰",
			"#bfbed3",
			"191,211,211"
		],
		[
			"闪蝶紫",
			"#b4a4ca",
			"180,202,202"
		],
		[
			"矿紫",
			"#b8a1cf",
			"184,207,207"
		],
		[
			"青金色",
			"#9fa0d7",
			"159,215,215"
		],
		[
			"罗蓝灰",
			"#3c374a",
			"60,74,74"
		],
		[
			"浅灰紫红",
			"#8674a1",
			"134,161,161"
		],
		[
			"紫水晶",
			"#d9b3ff",
			"217,255,255"
		],
		[
			"紫丁香色",
			"#b399ff",
			"179,255,255"
		],
		[
			"浅石英紫",
			"#cc99ff",
			"204,255,255"
		],
		[
			"蔵墨蓝",
			"#27243c",
			"39,60,60"
		],
		[
			"雪蓝",
			"#777bce",
			"119,206,206"
		],
		[
			"中紫红",
			"#9370db",
			"147,219,219"
		],
		[
			"靛蓝",
			"#201f3d",
			"32,61,61"
		],
		[
			"木槿紫",
			"#bf80ff",
			"191,255,255"
		],
		[
			"钛鉄",
			"#1a152b",
			"26,43,43"
		],
		[
			"中岩蓝",
			"#7b68ee",
			"123,238,238"
		],
		[
			"岩蓝",
			"#6a5acd",
			"106,205,205"
		],
		[
			"暗岩蓝",
			"#483d8b",
			"72,139,139"
		],
		[
			"紫藤色",
			"#5c50e6",
			"92,230,230"
		],
		[
			"紫水晶色",
			"#6633cc",
			"102,204,204"
		],
		[
			"午夜蓝",
			"#191970",
			"25,112,112"
		],
		[
			"宝石蓝",
			"#1e25bb",
			"30,187,187"
		],
		[
			"鲜蓝",
			"#1515f9",
			"21,249,249"
		],
		[
			"蓝色",
			"#0000ff",
			"0,255,255"
		],
		[
			"中蓝",
			"#0000cd",
			"0,205,205"
		],
		[
			"缬草紫",
			"#5000b8",
			"80,184,184"
		],
		[
			"暗蓝",
			"#00008b",
			"0,139,139"
		],
		[
			"藏青",
			"#000080",
			"0,128,128"
		],
		[
			"浅藤紫",
			"#ece4f3",
			"236,243,243"
		],
		[
			"淡紫丁香色",
			"#e6cfe6",
			"230,230,230"
		],
		[
			"蓟紫",
			"#d8bfd8",
			"216,216,216"
		],
		[
			"莲灰",
			"#d1bfdd",
			"209,221,221"
		],
		[
			"紫藤灰",
			"#b5a4c4",
			"181,196,196"
		],
		[
			"铁线莲紫",
			"#cca3cc",
			"204,204,204"
		],
		[
			"梅红色",
			"#dda0dd",
			"221,221,221"
		],
		[
			"紫薇花",
			"#ff99ff",
			"255,255,255"
		],
		[
			"凤仙紫",
			"#9565b1",
			"149,177,177"
		],
		[
			"丁香紫",
			"#503a65",
			"80,101,101"
		],
		[
			"亮紫",
			"#ee82ee",
			"238,238,238"
		],
		[
			"兰紫",
			"#da70d6",
			"218,214,214"
		],
		[
			"洋葱紫",
			"#8e488e",
			"142,142,142"
		],
		[
			"优品紫红",
			"#e680ff",
			"230,255,255"
		],
		[
			"浅凤仙紫",
			"#e666ff",
			"230,255,255"
		],
		[
			"中兰紫",
			"#ba55d3",
			"186,211,211"
		],
		[
			"紫罗蓝",
			"#732e7e",
			"115,126,126"
		],
		[
			"锦葵紫",
			"#d94dff",
			"217,255,255"
		],
		[
			"暗兰紫",
			"#9932cc",
			"153,204,204"
		],
		[
			"蓝紫",
			"#8a2be2",
			"138,226,226"
		],
		[
			"紫罗兰色",
			"#8b00ff",
			"139,255,255"
		],
		[
			"洋红",
			"#ff00ff",
			"255,255,255"
		],
		[
			"暗紫",
			"#9400d3",
			"148,211,211"
		],
		[
			"三色堇紫",
			"#7400a1",
			"116,161,161"
		],
		[
			"青莲紫",
			"#730099",
			"115,153,153"
		],
		[
			"暗洋红",
			"#8b008b",
			"139,139,139"
		],
		[
			"靛色",
			"#4b0080",
			"75,128,128"
		],
		[
			"紫色",
			"#800080",
			"128,128,128"
		],
		[
			"竜胆紫",
			"#1a0033",
			"26,51,51"
		],
		[
			"白色",
			"#ffffff",
			"255,255,255"
		],
		[
			"立徳粉",
			"#ffffff",
			"255,255,255"
		],
		[
			"白烟色",
			"#f5f5f5",
			"245,245,245"
		],
		[
			"庚斯博罗灰",
			"#dcdcdc",
			"220,220,220"
		],
		[
			"亮灰色",
			"#d3d3d3",
			"211,211,211"
		],
		[
			"银箔",
			"#d4d4d4",
			"212,212,212"
		],
		[
			"银色",
			"#c0c0c0",
			"192,192,192"
		],
		[
			"灰色",
			"#808080",
			"128,128,128"
		],
		[
			"银鼠灰",
			"#797979",
			"121,121,121"
		],
		[
			"昏灰",
			"#696969",
			"105,105,105"
		],
		[
			"青灰色",
			"#484848",
			"72,72,72"
		],
		[
			"百草霜",
			"#1c1c1c",
			"28,28,28"
		],
		[
			"黑色",
			"#000000",
			"0,0,0"
		],
		[
			"妃色",
			"#ED5736",
			"237,87,54"
		],
		[
			"桃红",
			"#F47983",
			"244,121,131"
		],
		[
			"海棠红",
			"#DB5A6B",
			"219,90,107"
		],
		[
			"石榴红",
			"#F20C00",
			"242,12,0"
		],
		[
			"樱桃色",
			"#C93756",
			"201,55,86"
		],
		[
			"大红",
			"#FF2121",
			"255,33,33"
		],
		[
			"胭脂",
			"#9D2933",
			"157,41,51"
		],
		[
			"丹",
			"#FF4E20",
			"255,78,32"
		],
		[
			"彤",
			"#F35336",
			"243,83,54"
		],
		[
			"茜色",
			"#CB3A56",
			"203,58,86"
		],
		[
			"火红",
			"#FF2D51",
			"255,45,81"
		],
		[
			"赫赤",
			"#C91F37",
			"201,31,55"
		],
		[
			"嫣红",
			"#EF7A82",
			"239,122,130"
		],
		[
			"炎",
			"#FF3300",
			"255,51,0"
		],
		[
			"赤",
			"#C3272B",
			"195,39,43"
		],
		[
			"绾",
			"#A98175",
			"169,129,117"
		],
		[
			"檀",
			"#B36D61",
			"179,109,97"
		],
		[
			"殷红",
			"#BE002F",
			"190,0,47"
		],
		[
			"酡红",
			"#DC3023",
			"220,48,35"
		],
		[
			"酡颜",
			"#F9906F",
			"249,144,111"
		],
		[
			"鸭黄",
			"#FAFF72",
			"250,255,114"
		],
		[
			"樱草色",
			"#EAFF56",
			"234,255,86"
		],
		[
			"杏红",
			"#FF8C31",
			"255,140,​​49"
		],
		[
			"橘黄",
			"#FF8936",
			"255,137,54"
		],
		[
			"橙黄",
			"#FFA400",
			"255,164,0"
		],
		[
			"橘红",
			"#FF7500",
			"255,117,0"
		],
		[
			"缃色",
			"#F0C239",
			"240,194,57"
		],
		[
			"茶色",
			"#B35C44",
			"179,92,68"
		],
		[
			"昏黄",
			"#C89B40",
			"200,155,64"
		],
		[
			"棕色",
			"#B25D25",
			"178,93,37"
		],
		[
			"棕绿",
			"#827100",
			"130,113,0"
		],
		[
			"棕黑",
			"#7C4B00",
			"124,75,0"
		],
		[
			"棕黄",
			"#AE7000",
			"174,112,0"
		],
		[
			"琥珀",
			"#CA6924",
			"202,105,36"
		],
		[
			"枯黄",
			"#D3B17D",
			"211,177,125"
		],
		[
			"黄栌",
			"#E29C45",
			"226,156,69"
		],
		[
			"秋色",
			"#896C39",
			"137,108,57"
		],
		[
			"秋香色",
			"#D9B611",
			"217,182,17"
		],
		[
			"柳黄",
			"#C9DD22",
			"201,221,34"
		],
		[
			"柳绿",
			"#AFDD22",
			"175,221,34"
		],
		[
			"竹青",
			"#789262",
			"120,146,98"
		],
		[
			"葱黄",
			"#A3D900",
			"163,217,0"
		],
		[
			"葱绿",
			"#9ED900",
			"158,217,0"
		],
		[
			"葱青",
			"#0EB83A",
			"14,184,58"
		],
		[
			"青葱",
			"#0AA344",
			"10,163,68"
		],
		[
			"油绿",
			"#00BC12",
			"0,188,18"
		],
		[
			"绿沉",
			"#0C8918",
			"12,137,24"
		],
		[
			"碧色",
			"#1BD1A5",
			"27,209,165"
		],
		[
			"青碧",
			"#48C0A3",
			"72,192,163"
		],
		[
			"翡翠色",
			"#3DE1AD",
			"61,225,173"
		],
		[
			"青翠",
			"#00E079",
			"0,224,121"
		],
		[
			"青白",
			"#C0EBD7",
			"192,235,215"
		],
		[
			"鸭卵青",
			"#E0EEE8",
			"224,238,232"
		],
		[
			"蟹壳青",
			"#BBCDC5",
			"187,205,197"
		],
		[
			"鸦青",
			"#424C50",
			"66,76,80"
		],
		[
			"豆绿",
			"#9ED048",
			"158,208,72"
		],
		[
			"豆青",
			"#96CE54",
			"150,206,84"
		],
		[
			"石青",
			"#7BCFA6",
			"123,207,166"
		],
		[
			"玉色",
			"#7BCFA6",
			"46,223,163"
		],
		[
			"缥",
			"#7FECAD",
			"127,236,173"
		],
		[
			"艾绿",
			"#A4E2C6",
			"164,226,198"
		],
		[
			"松柏绿",
			"#21A675",
			"33,166,117"
		],
		[
			"松花绿",
			"#057748",
			"5,119,72"
		],
		[
			"松花色",
			"#BCE672",
			"5,119,72"
		],
		[
			"蓝",
			"#44CEF6",
			"68,206,246"
		],
		[
			"靛青",
			"#177CB0",
			"23,124,176"
		],
		[
			"碧蓝",
			"#3EEDE7",
			"62,237,231"
		],
		[
			"宝蓝",
			"#4B5CC4",
			"75,92,196"
		],
		[
			"藏蓝",
			"#3B2E7E",
			"59,46,126"
		],
		[
			"黛",
			"#4A4266",
			"74,66,102"
		],
		[
			"黛绿",
			"#426666",
			"66,102,102"
		],
		[
			"黛紫",
			"#574266",
			"87,66,102"
		],
		[
			"紫酱",
			"#815463",
			"129,84,99"
		],
		[
			"酱紫",
			"#815476",
			"129,84,118"
		],
		[
			"紫檀",
			"#4C221B",
			"76,34,27"
		],
		[
			"紫棠",
			"#56004F",
			"86,0,79"
		],
		[
			"青莲",
			"#801DAE",
			"128,29,174"
		],
		[
			"群青",
			"#4C8DAE",
			"76,141,174"
		],
		[
			"雪青",
			"#B0A4E3",
			"176,164,227"
		],
		[
			"丁香色",
			"#CCA4E3",
			"204,164,227"
		],
		[
			"藕色",
			"#EDD1D8",
			"237,209,216"
		],
		[
			"藕荷色",
			"#E4C6D0",
			"228,198,208"
		],
		[
			"苍青",
			"#A29B7C",
			"162,155,124"
		],
		[
			"苍黑",
			"#7397AB",
			"115,151,171"
		],
		[
			"苍白",
			"#D1D9E0",
			"209,217,224"
		],
		[
			"水红",
			"#F3D3E7",
			"243,211,231"
		],
		[
			"水绿",
			"#D4F2E7",
			"212,242,231"
		],
		[
			"淡青",
			"#D3E0F3",
			"211,224,243"
		],
		[
			"湖蓝",
			"#30DFF3",
			"48,2​​23,243"
		],
		[
			"湖绿",
			"#25F8CB",
			"37,248,203"
		],
		[
			"精白",
			"#FFFFFF",
			"255,255,255"
		],
		[
			"像牙白",
			"#FFFBF0",
			"255,251,240"
		],
		[
			"雪白",
			"#F0FCFF",
			"240,252,255"
		],
		[
			"月白",
			"#D6ECF0",
			"214,236,240"
		],
		[
			"缟",
			"#F2ECDE",
			"242,236,222"
		],
		[
			"素",
			"#E0F0E9",
			"224,240,233"
		],
		[
			"荼白",
			"#F3F9F1",
			"243,249,241"
		],
		[
			"霜色",
			"#E9F1F6",
			"233,241,246"
		],
		[
			"花白",
			"#C2CCD0",
			"194,204,208"
		],
		[
			"鱼肚白",
			"#FCEFE8",
			"252,239,232"
		],
		[
			"莹白",
			"#E3F9FD",
			"227,239,253"
		],
		[
			"牙色",
			"#EEDEB0",
			"238,222,176"
		],
		[
			"铅白",
			"#F0F0F4",
			"240,240,244"
		],
		[
			"玄色",
			"#622A1D",
			"98,42,29"
		],
		[
			"玄青",
			"#3D3B4F",
			"61,59,79"
		],
		[
			"乌色",
			"#725E82",
			"114,94,130"
		],
		[
			"乌黑",
			"#392F41",
			"57,47,65"
		],
		[
			"漆黑",
			"#161823",
			"22,24,35"
		],
		[
			"墨色",
			"#50616D",
			"80,97,109"
		],
		[
			"墨灰",
			"#758A99",
			"117,138,153"
		],
		[
			"缁色",
			"#493131",
			"73,49,49"
		],
		[
			"煤黑",
			"#312520",
			"49,37,32"
		],
		[
			"黧",
			"#5D513C",
			"93,81,60"
		],
		[
			"黎",
			"#75664D",
			"117,102,77"
		],
		[
			"黝",
			"#6B6882",
			"107,104,130"
		],
		[
			"黝黑",
			"#665757",
			"102,87,87"
		],
		[
			"黯",
			"#41555D",
			"65,85,93"
		],
		[
			"赤金",
			"#F2BE45",
			"242,190,69"
		],
		[
			"银白",
			"#E9E7EF",
			"233,231,239"
		],
		[
			"铜绿",
			"#549688",
			"84,150,136"
		],
		[
			"乌金",
			"#A78E44",
			"167,142,68"
		],
		[
			"老银",
			"#BACAC6",
			"186,202,198"
		],
		[
			"猩红色",
			"#FF2400",
			"255,36,0"
		],
		[
			"朱红色",
			"#FF4D00",
			"255,77,0"
		],
		[
			"柠檬绿色",
			"#CCFF00",
			"204,255,0"
		],
		[
			"黄绿色",
			"#66FF00",
			"102,255,0"
		],
		[
			"蔚蓝色",
			"#007FFF",
			"0,127,255"
		],
		[
			"蓝绿色",
			"#7FFFD4",
			"127,255,212"
		],
		[
			"浅蓝色",
			"#E0FFFF",
			"137,207,240"
		],
		[
			"绿松色",
			"#30D5C8",
			"48,213,200"
		],
		[
			"粉末蓝",
			"#003399",
			"0,51,153"
		],
		[
			"皇室蓝",
			"#4169E1",
			"65,105,225"
		],
		[
			"天青蓝",
			"#2A52BE",
			"42,82,190"
		],
		[
			"钴蓝色",
			"#0047AB",
			"0,71,171"
		],
		[
			"海军蓝",
			"#000080",
			"0,0,128"
		],
		[
			"白牛仔布色",
			"#5E86C1",
			"94,134,193"
		],
		[
			"青玉色",
			"#082567",
			"8,37,103"
		],
		[
			"深茜红",
			"#E32636",
			"227,38,54"
		],
		[
			"洋红色",
			"#FF00FF",
			"255,0,255"
		],
		[
			"橙黄色",
			"#FFCC00",
			"255,204,0"
		],
		[
			"春绿色",
			"#00FF80",
			"0,255,128"
		],
		[
			"鸭绿色",
			"#008080",
			"0,128,128"
		],
		[
			"鲑肉色",
			"#FF8C69",
			"255,140,105"
		],
		[
			"米色",
			"#F5F5DC",
			"245,245,210"
		],
		[
			"薰衣草色",
			"#E6E6FA",
			"230,230,250"
		],
		[
			"兰花色",
			"#DA70D6",
			"218,112,214"
		],
		[
			"粉红色",
			"#FFC0CB",
			"255,192,203"
		],
		[
			"燃橙色",
			"#CC5500",
			"204,85,0"
		],
		[
			"暗灰色",
			"#404040",
			"64,64,64"
		]
	];
	var colors = [
		"赤",
		"朱",
		"丹",
		"绯",
		"彤",
		"绛",
		"茜",
		"纁",
		"赭",
		"栗",
		"褐",
		"驼",
		"赭",
		"橘",
		"曙",
		"翠",
		"碧",
		"金",
		"米",
		"缃",
		"靛",
		"紫",
		"藕",
		"桃",
		"青",
		"玄",
		"皂",
		"乌",
		"墨",
		"黛",
		"黝",
		"素",
		"杏",
		"缟",
		"鹤",
		"皓",
		"苍",
		"华",
		"银"
	].concat(_toConsumableArray(COLOR_WITH_RGB.map(function(item) {
		return item[0];
	})));
	var AdjectiveOptimizer = /* @__PURE__ */ function(_Optimizer) {
		_inherits(AdjectiveOptimizer, _Optimizer);
		function AdjectiveOptimizer() {
			_classCallCheck(this, AdjectiveOptimizer);
			return _possibleConstructorReturn(this, _getPrototypeOf(AdjectiveOptimizer).apply(this, arguments));
		}
		_createClass(AdjectiveOptimizer, [{
			key: "doOptimize",
			value: function doOptimize(words) {
				var POSTAG = this.segment.POSTAG;
				var index = 0;
				while (index < words.length) {
					var word = words[index];
					var nextword = words[index + 1];
					if (nextword) {
						if (nextword.p === POSTAG.D_U && colors.includes(word.w)) {
							word.p = POSTAG.D_A;
						}
						if (word.p === POSTAG.D_N && this.isNominal(nextword.p) && colors.includes(word.w)) {
							word.p = POSTAG.D_A;
						}
					}
					index += 1;
				}
				return words;
			}
		}, {
			key: "isNominal",
			value: function isNominal(pos) {
				if (Array.isArray(pos)) {
					return this.isNominal(pos[0]);
				}
				var POSTAG = this.segment.POSTAG;
				return pos === POSTAG.D_N || pos === POSTAG.A_NT || pos === POSTAG.A_NX || pos === POSTAG.A_NZ || pos === POSTAG.A_NR || pos === POSTAG.A_NS || pos === POSTAG.URL;
			}
		}]);
		return AdjectiveOptimizer;
	}(Optimizer$1);
	/**
	* 中文姓
	*/
	function addOrderInfo(chars, order) {
		var result = {};
		chars.forEach(function(char) {
			result[char] = order;
		});
		return result;
	}
	var FAMILY_NAME_1 = addOrderInfo([
		"王",
		"张",
		"黄",
		"周",
		"徐",
		"胡",
		"高",
		"林",
		"马",
		"于",
		"程",
		"傅",
		"曾",
		"叶",
		"余",
		"夏",
		"钟",
		"田",
		"任",
		"方",
		"石",
		"熊",
		"白",
		"毛",
		"江",
		"史",
		"候",
		"龙",
		"万",
		"段",
		"雷",
		"钱",
		"汤",
		"易",
		"常",
		"武",
		"赖",
		"文",
		"查",
		"赵",
		"肖",
		"孙",
		"李",
		"吴",
		"郑",
		"冯",
		"陈",
		"褚",
		"卫",
		"蒋",
		"沈",
		"韩",
		"杨",
		"朱",
		"秦",
		"尤",
		"许",
		"何",
		"吕",
		"施",
		"桓",
		"孔",
		"曹",
		"严",
		"华",
		"金",
		"魏",
		"陶",
		"姜",
		"戚",
		"谢",
		"邹",
		"喻",
		"柏",
		"窦",
		"苏",
		"潘",
		"葛",
		"奚",
		"范",
		"彭",
		"鲁",
		"韦",
		"昌",
		"俞",
		"袁",
		"酆",
		"鲍",
		"唐",
		"费",
		"廉",
		"岑",
		"薛",
		"贺",
		"倪",
		"滕",
		"殷",
		"罗",
		"毕",
		"郝",
		"邬",
		"卞",
		"康",
		"卜",
		"顾",
		"孟",
		"穆",
		"萧",
		"尹",
		"姚",
		"邵",
		"湛",
		"汪",
		"祁",
		"禹",
		"狄",
		"贝",
		"臧",
		"伏",
		"戴",
		"宋",
		"茅",
		"庞",
		"纪",
		"舒",
		"屈",
		"祝",
		"董",
		"梁",
		"杜",
		"阮",
		"闵",
		"贾",
		"娄",
		"颜",
		"郭",
		"邱",
		"骆",
		"蔡",
		"樊",
		"凌",
		"霍",
		"虞",
		"柯",
		"昝",
		"卢",
		"柯",
		"缪",
		"宗",
		"丁",
		"贲",
		"邓",
		"郁",
		"杭",
		"洪",
		"崔",
		"龚",
		"嵇",
		"邢",
		"滑",
		"裴",
		"陆",
		"荣",
		"荀",
		"惠",
		"甄",
		"芮",
		"羿",
		"储",
		"靳",
		"汲",
		"邴",
		"糜",
		"隗",
		"侯",
		"宓",
		"蓬",
		"郗",
		"仲",
		"栾",
		"钭",
		"历",
		"戎",
		"刘",
		"詹",
		"幸",
		"韶",
		"郜",
		"黎",
		"蓟",
		"溥",
		"蒲",
		"邰",
		"鄂",
		"咸",
		"卓",
		"蔺",
		"屠",
		"乔",
		"郁",
		"胥",
		"苍",
		"莘",
		"翟",
		"谭",
		"贡",
		"劳",
		"冉",
		"郦",
		"雍",
		"璩",
		"桑",
		"桂",
		"濮",
		"扈",
		"冀",
		"浦",
		"庄",
		"晏",
		"瞿",
		"阎",
		"慕",
		"茹",
		"习",
		"宦",
		"艾",
		"容",
		"慎",
		"戈",
		"廖",
		"庾",
		"衡",
		"耿",
		"弘",
		"匡",
		"阙",
		"殳",
		"沃",
		"蔚",
		"夔",
		"隆",
		"巩",
		"聂",
		"晁",
		"敖",
		"融",
		"訾",
		"辛",
		"阚",
		"毋",
		"乜",
		"鞠",
		"丰",
		"蒯",
		"荆",
		"竺",
		"盍",
		"单",
		"欧"
	], 1);
	var FAMILY_NAME_2 = addOrderInfo([
		"司马",
		"上官",
		"欧阳",
		"夏侯",
		"诸葛",
		"闻人",
		"东方",
		"赫连",
		"皇甫",
		"尉迟",
		"公羊",
		"澹台",
		"公冶",
		"宗政",
		"濮阳",
		"淳于",
		"单于",
		"太叔",
		"申屠",
		"公孙",
		"仲孙",
		"轩辕",
		"令狐",
		"徐离",
		"宇文",
		"长孙",
		"慕容",
		"司徒",
		"司空",
		"万俟"
	], 2);
	var DOUBLE_NAME_1 = addOrderInfo([
		"阿",
		"建",
		"小",
		"晓",
		"文",
		"志",
		"国",
		"玉",
		"丽",
		"永",
		"海",
		"春",
		"金",
		"明",
		"新",
		"德",
		"秀",
		"红",
		"亚",
		"伟",
		"雪",
		"俊",
		"桂",
		"爱",
		"美",
		"世",
		"正",
		"庆",
		"学",
		"家",
		"立",
		"淑",
		"振",
		"云",
		"华",
		"光",
		"惠",
		"兴",
		"天",
		"长",
		"艳",
		"慧",
		"利",
		"宏",
		"佳",
		"瑞",
		"凤",
		"荣",
		"秋",
		"继",
		"嘉",
		"卫",
		"燕",
		"思",
		"维",
		"少",
		"福",
		"忠",
		"宝",
		"子",
		"成",
		"月",
		"洪",
		"东",
		"一",
		"泽",
		"林",
		"大",
		"素",
		"旭",
		"宇",
		"智",
		"锦",
		"冬",
		"玲",
		"雅",
		"伯",
		"翠",
		"传",
		"启",
		"剑",
		"安",
		"树",
		"良",
		"中",
		"梦",
		"广",
		"昌",
		"元",
		"万",
		"清",
		"静",
		"友",
		"宗",
		"兆",
		"丹",
		"克",
		"彩",
		"绍",
		"喜",
		"远",
		"朝",
		"敏",
		"培",
		"胜",
		"祖",
		"先",
		"菊",
		"士",
		"向",
		"有",
		"连",
		"军",
		"健",
		"巧",
		"耀",
		"莉",
		"英",
		"方",
		"和",
		"仁",
		"孝",
		"梅",
		"汉",
		"兰",
		"松",
		"水",
		"江",
		"益",
		"开",
		"景",
		"运",
		"贵",
		"祥",
		"青",
		"芳",
		"碧",
		"婷",
		"龙",
		"鹏",
		"自",
		"顺",
		"双",
		"书",
		"生",
		"义",
		"跃",
		"银",
		"佩",
		"雨",
		"保",
		"贤",
		"仲",
		"鸿",
		"浩",
		"加",
		"定",
		"炳",
		"飞",
		"锡",
		"柏",
		"发",
		"超",
		"道",
		"怀",
		"进",
		"其",
		"富",
		"平",
		"全",
		"阳",
		"吉",
		"茂",
		"彦",
		"诗",
		"洁",
		"润",
		"承",
		"治",
		"焕",
		"如",
		"君",
		"增",
		"善",
		"希",
		"根",
		"应",
		"勇",
		"宜",
		"守",
		"会",
		"凯",
		"育",
		"湘",
		"凌",
		"本",
		"敬",
		"博",
		"延",
		"乐",
		"三",
		"二",
		"四",
		"五",
		"六",
		"七",
		"八",
		"九",
		"十"
	], 1);
	var DOUBLE_NAME_2 = addOrderInfo([
		"华",
		"平",
		"明",
		"英",
		"军",
		"林",
		"萍",
		"芳",
		"玲",
		"红",
		"生",
		"霞",
		"梅",
		"文",
		"荣",
		"珍",
		"兰",
		"娟",
		"峰",
		"琴",
		"云",
		"辉",
		"东",
		"龙",
		"敏",
		"伟",
		"强",
		"丽",
		"春",
		"杰",
		"燕",
		"民",
		"君",
		"波",
		"国",
		"芬",
		"清",
		"祥",
		"斌",
		"婷",
		"飞",
		"良",
		"忠",
		"新",
		"凤",
		"锋",
		"成",
		"勇",
		"刚",
		"玉",
		"元",
		"宇",
		"海",
		"兵",
		"安",
		"庆",
		"涛",
		"鹏",
		"亮",
		"青",
		"阳",
		"艳",
		"松",
		"江",
		"莲",
		"娜",
		"兴",
		"光",
		"德",
		"武",
		"香",
		"俊",
		"秀",
		"慧",
		"雄",
		"才",
		"宏",
		"群",
		"琼",
		"胜",
		"超",
		"彬",
		"莉",
		"中",
		"山",
		"富",
		"花",
		"宁",
		"利",
		"贵",
		"福",
		"发",
		"义",
		"蓉",
		"喜",
		"娥",
		"昌",
		"仁",
		"志",
		"全",
		"宝",
		"权",
		"美",
		"琳",
		"建",
		"金",
		"贤",
		"星",
		"丹",
		"根",
		"和",
		"珠",
		"康",
		"菊",
		"琪",
		"坤",
		"泉",
		"秋",
		"静",
		"佳",
		"顺",
		"源",
		"珊",
		"达",
		"欣",
		"如",
		"莹",
		"章",
		"浩",
		"勤",
		"芹",
		"容",
		"友",
		"芝",
		"豪",
		"洁",
		"鑫",
		"惠",
		"洪",
		"旺",
		"虎",
		"远",
		"妮",
		"森",
		"妹",
		"南",
		"雯",
		"奇",
		"健",
		"卿",
		"虹",
		"娇",
		"媛",
		"怡",
		"铭",
		"川",
		"进",
		"博",
		"智",
		"来",
		"琦",
		"学",
		"聪",
		"洋",
		"乐",
		"年",
		"翔",
		"然",
		"栋",
		"凯",
		"颖",
		"鸣",
		"丰",
		"瑞",
		"奎",
		"立",
		"堂",
		"威",
		"雪",
		"鸿",
		"晶",
		"桂",
		"凡",
		"娣",
		"先",
		"洲",
		"毅",
		"雅",
		"月",
		"旭",
		"田",
		"晖",
		"方",
		"恒",
		"亚",
		"泽",
		"风",
		"银",
		"高",
		"贞",
		"九",
		"薇"
	], 2);
	var SINGLE_NAME = addOrderInfo([
		"家",
		"民",
		"敏",
		"伟",
		"勇",
		"军",
		"斌",
		"静",
		"丽",
		"涛",
		"芳",
		"杰",
		"萍",
		"强",
		"俊",
		"明",
		"燕",
		"磊",
		"玲",
		"华",
		"平",
		"鹏",
		"健",
		"波",
		"红",
		"丹",
		"辉",
		"超",
		"艳",
		"莉",
		"刚",
		"娟",
		"峰",
		"婷",
		"亮",
		"洁",
		"颖",
		"琳",
		"英",
		"慧",
		"飞",
		"霞",
		"浩",
		"凯",
		"宇",
		"毅",
		"林",
		"佳",
		"云",
		"莹",
		"娜",
		"晶",
		"洋",
		"文",
		"鑫",
		"欣",
		"琴",
		"宁",
		"琼",
		"兵",
		"青",
		"琦",
		"翔",
		"彬",
		"锋",
		"阳",
		"璐",
		"旭",
		"蕾",
		"剑",
		"虹",
		"蓉",
		"建",
		"倩",
		"梅",
		"宏",
		"威",
		"博",
		"君",
		"力",
		"龙",
		"晨",
		"薇",
		"雪",
		"琪",
		"欢",
		"荣",
		"江",
		"炜",
		"成",
		"庆",
		"冰",
		"东",
		"帆",
		"雷",
		"楠",
		"锐",
		"进",
		"海",
		"凡",
		"巍",
		"维",
		"迪",
		"媛",
		"玮",
		"杨",
		"群",
		"瑛",
		"悦",
		"春",
		"瑶",
		"婧",
		"兰",
		"茜",
		"松",
		"爽",
		"立",
		"瑜",
		"睿",
		"晖",
		"聪",
		"帅",
		"瑾",
		"骏",
		"雯",
		"晓",
		"昊",
		"勤",
		"新",
		"瑞",
		"岩",
		"星",
		"忠",
		"志",
		"怡",
		"坤",
		"康",
		"航",
		"利",
		"畅",
		"坚",
		"雄",
		"智",
		"萌",
		"哲",
		"岚",
		"洪",
		"捷",
		"珊",
		"恒",
		"靖",
		"清",
		"扬",
		"昕",
		"乐",
		"武",
		"玉",
		"诚",
		"菲",
		"锦",
		"凤",
		"珍",
		"晔",
		"妍",
		"璇",
		"胜",
		"菁",
		"科",
		"芬",
		"露",
		"越",
		"彤",
		"曦",
		"义",
		"良",
		"鸣",
		"芸",
		"方",
		"月",
		"铭",
		"光",
		"震",
		"冬",
		"源",
		"政",
		"虎",
		"莎",
		"彪",
		"蓓",
		"钢",
		"凌",
		"奇",
		"卫",
		"彦",
		"烨",
		"可",
		"黎",
		"川",
		"淼",
		"惠",
		"祥",
		"然",
		"三",
		"二",
		"一",
		"四",
		"五",
		"六",
		"七",
		"八",
		"九",
		"十"
	], 1);
	var ChsNameTokenizer = /* @__PURE__ */ function(_Tokenizer) {
		_inherits(ChsNameTokenizer, _Tokenizer);
		function ChsNameTokenizer() {
			_classCallCheck(this, ChsNameTokenizer);
			return _possibleConstructorReturn(this, _getPrototypeOf(ChsNameTokenizer).apply(this, arguments));
		}
		_createClass(ChsNameTokenizer, [{
			key: "split",
			value: function split(words) {
				var POSTAG = this.segment.POSTAG;
				var ret = [];
				for (var i = 0, word; word = words[i]; i++) {
					if (word.p > 0) {
						ret.push(word);
						continue;
					}
					var nameinfo = ChsNameTokenizer.matchName(word.w);
					if (nameinfo.length < 1) {
						ret.push(word);
						continue;
					}
					var lastc = 0;
					for (var ui = 0, url; url = nameinfo[ui]; ui++) {
						if (url.c > lastc) {
							ret.push({ w: word.w.substr(lastc, url.c - lastc) });
						}
						ret.push({
							w: url.w,
							p: POSTAG.A_NR
						});
						lastc = url.c + url.w.length;
					}
					var lastn = nameinfo[nameinfo.length - 1];
					if (lastn.c + lastn.w.length < word.w.length) {
						ret.push({ w: word.w.substr(lastn.c + lastn.w.length) });
					}
				}
				return ret;
			}
		}], [{
			key: "matchName",
			value: function matchName(text, startPos) {
				var startPosition = 0;
				if (!isNaN(startPos)) startPosition = startPos;
				var result = [];
				while (startPosition < text.length) {
					var name = false;
					var f2 = text.substr(startPosition, 2);
					if (f2 in FAMILY_NAME_2) {
						var n1 = text.charAt(startPosition + 2);
						var n2 = text.charAt(startPosition + 3);
						if (n1 in DOUBLE_NAME_1 && n2 in DOUBLE_NAME_2) {
							name = f2 + n1 + n2;
						} else if (n1 in SINGLE_NAME) {
							name = f2 + n1 + (n1 === n2 ? n2 : "");
						}
					}
					var f1 = text.charAt(startPosition);
					if (name === false && f1 in FAMILY_NAME_1) {
						var _n = text.charAt(startPosition + 1);
						var _n2 = text.charAt(startPosition + 2);
						if (_n in DOUBLE_NAME_1 && _n2 in DOUBLE_NAME_2) {
							name = f1 + _n + _n2;
						} else if (_n in SINGLE_NAME) {
							name = f1 + _n + (_n === _n2 ? _n2 : "");
						}
					}
					if (name === false) {
						startPosition++;
					} else {
						result.push({
							w: name,
							c: startPosition
						});
						startPosition += name.length;
					}
				}
				return result;
			}
		}]);
		return ChsNameTokenizer;
	}(Tokenizer$1);
	var DictOptimizer = /* @__PURE__ */ function(_Optimizer) {
		_inherits(DictOptimizer, _Optimizer);
		function DictOptimizer() {
			_classCallCheck(this, DictOptimizer);
			return _possibleConstructorReturn(this, _getPrototypeOf(DictOptimizer).apply(this, arguments));
		}
		_createClass(DictOptimizer, [{
			key: "doOptimize",
			value: function doOptimize(words, isNotFirst) {
				if (typeof isNotFirst === "undefined") {
					isNotFirst = false;
				}
				var TABLE = this.segment.getDict("TABLE");
				var POSTAG = this.segment.POSTAG;
				var i = 0;
				var ie = words.length - 1;
				while (i < ie) {
					var w1 = words[i];
					var w2 = words[i + 1];
					var nw = w1.w + w2.w;
					if (w1.p === w2.p && nw in TABLE) {
						words.splice(i, 2, {
							w: nw,
							p: TABLE[nw].p
						});
						ie--;
						continue;
					}
					if ((w1.p & POSTAG.D_A) > 0 && w2.p & POSTAG.D_U) {
						words.splice(i, 2, {
							w: nw,
							p: POSTAG.D_A
						});
						ie--;
						continue;
					}
					if ((w1.p & POSTAG.A_M) > 0) {
						if ((w2.p & POSTAG.A_M) > 0 || w2.w === "%") {
							words.splice(i, 2, {
								w: w1.w + w2.w,
								p: POSTAG.A_M
							});
							ie--;
							continue;
						}
						if ((w2.p & POSTAG.A_Q) > 0) {
							words.splice(i, 2, {
								w: w1.w + w2.w,
								p: POSTAG.D_MQ
							});
							ie--;
							continue;
						}
						var w3 = words[i + 2];
						if (w3 && (w3.p & POSTAG.A_M) > 0 && (w2.w === "." || w2.w === "点" || w2.w === "分之")) {
							words.splice(i, 3, {
								w: w1.w + w2.w + w3.w,
								p: POSTAG.A_M
							});
							ie -= 2;
							continue;
						}
					}
					if ((w1.p & POSTAG.D_MQ) > 0 && w1.w.substr(-1) === "点" && w2.p & POSTAG.A_M) {
						var i2 = 2;
						var w4w = "";
						for (var j = i + i2; j < ie; j++) {
							var w3 = words[j];
							if ((w3.p & POSTAG.A_M) > 0) {
								w4w += w3.w;
								i2++;
							} else {
								break;
							}
						}
						words.splice(i, i2, {
							w: w1.w + w2.w + w4w,
							p: POSTAG.D_MQ
						});
						ie -= i2 - 1;
						continue;
					}
					i++;
				}
				return isNotFirst === true ? words : this.doOptimize(words, true);
			}
		}]);
		return DictOptimizer;
	}(Optimizer$1);
	var _EMAILCHAR = "!\"#$%&'*+-/0123456789=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`abcdefghijklmnopqrstuvwxyz{|}~.".split("");
	var EMAILCHAR = {};
	for (var i in _EMAILCHAR) {
		EMAILCHAR[_EMAILCHAR[i]] = 1;
	}
	var EmailOptimizer = /* @__PURE__ */ function(_Optimizer) {
		_inherits(EmailOptimizer, _Optimizer);
		function EmailOptimizer() {
			_classCallCheck(this, EmailOptimizer);
			return _possibleConstructorReturn(this, _getPrototypeOf(EmailOptimizer).apply(this, arguments));
		}
		_createClass(EmailOptimizer, [{
			key: "doOptimize",
			value: function doOptimize(words) {
				var POSTAG = this.segment.POSTAG;
				var i = 0;
				var ie = words.length - 1;
				var addr_start = false;
				var has_at = false;
				while (i < ie) {
					var word = words[i];
					var is_ascii = !!(word.p === POSTAG.A_NX || word.p === POSTAG.A_M && word.w.charCodeAt(0) < 128);
					if (addr_start === false && is_ascii) {
						addr_start = i;
						i++;
						continue;
					} else {
						if (has_at === false && word.w === "@") {
							has_at = true;
							i++;
							continue;
						}
						if (has_at !== false && words[i - 1].w != "@" && is_ascii === false && !(word.w in EMAILCHAR)) {
							var mailws = words.slice(addr_start, i);
							words.splice(addr_start, mailws.length, {
								w: EmailOptimizer.toEmailAddress(mailws),
								p: POSTAG.URL
							});
							i = addr_start + 1;
							ie -= mailws.length - 1;
							addr_start = false;
							has_at = false;
							continue;
						}
						if (addr_start !== false && (is_ascii || word.w in EMAILCHAR)) {
							i++;
							continue;
						}
					}
					addr_start = false;
					has_at = false;
					i++;
				}
				if (addr_start && has_at && words[ie]) {
					var word = words[ie];
					var is_ascii = !!(word.p === POSTAG.A_NX || word.p === POSTAG.A_M && word.w in EMAILCHAR);
					if (is_ascii) {
						var mailws = words.slice(addr_start, words.length);
						words.splice(addr_start, mailws.length, {
							w: EmailOptimizer.toEmailAddress(mailws),
							p: POSTAG.URL
						});
					}
				}
				return words;
			}
		}], [{
			key: "toEmailAddress",
			value: function toEmailAddress(words) {
				var ret = words[0].w;
				for (var i = 1, word; word = words[i]; i++) {
					ret += word.w;
				}
				return ret;
			}
		}]);
		return EmailOptimizer;
	}(Optimizer$1);
	var _STOPWORD = " ,.;+-|/\\'\":?<>[]{}=!@#$%^&*()~`" + "。，、＇：∶；?‘’“”〝〞ˆˇ﹕︰﹔﹖﹑·¨….¸;！´？！～—ˉ｜‖＂〃｀@﹫¡¿﹏﹋﹌︴々﹟#﹩$﹠&﹪%*﹡﹢﹦" + "﹤‐￣¯―﹨ˆ˜﹍﹎+=<­＿_-ˇ~﹉﹊（）〈〉‹›﹛﹜『』〖〗［］《》〔〕{}「」【】︵︷︿︹︽_﹁﹃︻︶︸" + "﹀︺︾ˉ﹂﹄︼＋－×÷﹢﹣±／＝≈≡≠∧∨∑∏∪∩∈⊙⌒⊥∥∠∽≌＜＞≤≥≮≯∧∨√﹙﹚[]﹛﹜∫∮∝∞⊙∏" + "┌┬┐┏┳┓╒╤╕─│├┼┤┣╋┫╞╪╡━┃└┴┘┗┻┛╘╧╛┄┆┅┇╭─╮┏━┓╔╦╗┈┊│╳│┃┃╠╬╣┉┋╰─╯┗━┛" + "╚╩╝╲╱┞┟┠┡┢┦┧┨┩┪╉╊┭┮┯┰┱┲┵┶┷┸╇╈┹┺┽┾┿╀╁╂╃╄╅╆" + "○◇□△▽☆●◆■▲▼★♠♥♦♣☼☺◘♀√☻◙♂×▁▂▃▄▅▆▇█⊙◎۞卍卐╱╲▁▏↖↗↑←↔◤◥╲╱▔▕↙↘↓→↕◣◢∷▒░℡™";
	_STOPWORD = _STOPWORD.split("");
	var STOPWORD = {};
	var STOPWORD2 = {};
	for (var i$1 in _STOPWORD) {
		if (_STOPWORD[i$1] === "") continue;
		var len = _STOPWORD[i$1].length;
		STOPWORD[_STOPWORD[i$1]] = len;
		if (!STOPWORD2[len]) STOPWORD2[len] = {};
		STOPWORD2[len][_STOPWORD[i$1]] = len;
	}
	var PunctuationTokenizer = /* @__PURE__ */ function(_Tokenizer) {
		_inherits(PunctuationTokenizer, _Tokenizer);
		function PunctuationTokenizer() {
			_classCallCheck(this, PunctuationTokenizer);
			return _possibleConstructorReturn(this, _getPrototypeOf(PunctuationTokenizer).apply(this, arguments));
		}
		_createClass(PunctuationTokenizer, [{
			key: "split",
			value: function split(words) {
				var POSTAG = this.segment.POSTAG;
				var ret = [];
				for (var i = 0, word; word = words[i]; i++) {
					if (word.p > 0) {
						ret.push(word);
						continue;
					}
					var stopinfo = PunctuationTokenizer.matchStopword(word.w);
					if (stopinfo.length < 1) {
						ret.push(word);
						continue;
					}
					var lastc = 0;
					for (var ui = 0, sw; sw = stopinfo[ui]; ui++) {
						if (sw.c > lastc) {
							ret.push({ w: word.w.substr(lastc, sw.c - lastc) });
						}
						if (sw.w != " ") {
							ret.push({
								w: sw.w,
								p: POSTAG.D_W
							});
						}
						lastc = sw.c + sw.w.length;
					}
					var lastsw = stopinfo[stopinfo.length - 1];
					if (lastsw.c + lastsw.w.length < word.w.length) {
						ret.push({ w: word.w.substr(lastsw.c + lastsw.w.length) });
					}
				}
				return ret;
			}
		}], [{
			key: "matchStopword",
			value: function matchStopword(text, cur) {
				if (isNaN(cur)) cur = 0;
				var ret = [];
				var isMatch = false;
				while (cur < text.length) {
					for (var _i in STOPWORD2) {
						var w = text.substr(cur, _i);
						if (w in STOPWORD2[_i]) {
							ret.push({
								w,
								c: cur
							});
							isMatch = true;
							break;
						}
					}
					cur += isMatch === false ? 1 : w.length;
					isMatch = false;
				}
				return ret;
			}
		}]);
		return PunctuationTokenizer;
	}(Tokenizer$1);
	var PROTOTAL = [
		"http://",
		"https://",
		"ftp://",
		"news://",
		"telnet://"
	];
	var MIN_PROTOTAL_LEN = 100;
	for (var i$2 in PROTOTAL) {
		if (PROTOTAL[i$2].length < MIN_PROTOTAL_LEN) {
			MIN_PROTOTAL_LEN = PROTOTAL[i$2].length;
		}
	}
	var _URLCHAR = [
		"a",
		"b",
		"c",
		"d",
		"e",
		"f",
		"g",
		"h",
		"i",
		"j",
		"k",
		"l",
		"m",
		"n",
		"o",
		"p",
		"q",
		"r",
		"s",
		"t",
		"u",
		"v",
		"w",
		"x",
		"y",
		"z",
		"A",
		"B",
		"C",
		"D",
		"E",
		"F",
		"G",
		"H",
		"I",
		"J",
		"K",
		"L",
		"M",
		"N",
		"O",
		"P",
		"Q",
		"R",
		"S",
		"T",
		"U",
		"V",
		"W",
		"X",
		"Y",
		"Z",
		"0",
		"1",
		"2",
		"3",
		"4",
		"5",
		"6",
		"7",
		"8",
		"9",
		"!",
		"#",
		"$",
		"%",
		"&",
		"‘",
		"(",
		")",
		"*",
		"+",
		",",
		"-",
		".",
		"/",
		":",
		";",
		"=",
		"?",
		"@",
		"[",
		"\\",
		"]",
		"^",
		"_",
		"`",
		"|",
		"~"
	];
	var URLCHAR = {};
	for (var i$2 in _URLCHAR) {
		URLCHAR[_URLCHAR[i$2]] = 1;
	}
	var URLTokenizer = /* @__PURE__ */ function(_Tokenizer) {
		_inherits(URLTokenizer, _Tokenizer);
		function URLTokenizer() {
			_classCallCheck(this, URLTokenizer);
			return _possibleConstructorReturn(this, _getPrototypeOf(URLTokenizer).apply(this, arguments));
		}
		_createClass(URLTokenizer, [{
			key: "split",
			value: function split(words) {
				var POSTAG = this.segment.POSTAG;
				var ret = [];
				for (var i = 0, word; word = words[i]; i++) {
					if (word.p > 0) {
						ret.push(word);
						continue;
					}
					var urlinfo = URLTokenizer.matchURL(word.w);
					if (urlinfo.length < 1) {
						ret.push(word);
						continue;
					}
					var lastc = 0;
					for (var ui = 0, url; url = urlinfo[ui]; ui++) {
						if (url.c > lastc) {
							ret.push({ w: word.w.substr(lastc, url.c - lastc) });
						}
						ret.push({
							w: url.w,
							p: POSTAG.URL
						});
						lastc = url.c + url.w.length;
					}
					var lasturl = urlinfo[urlinfo.length - 1];
					if (lasturl.c + lasturl.w.length < word.w.length) {
						ret.push({ w: word.w.substr(lasturl.c + lasturl.w.length) });
					}
				}
				return ret;
			}
		}], [{
			key: "matchURL",
			value: function matchURL(text, cur) {
				if (isNaN(cur)) cur = 0;
				var ret = [];
				var s = false;
				while (cur < text.length) {
					if (s === false && cur < text.length - MIN_PROTOTAL_LEN) {
						for (var i = 0, prot; prot = PROTOTAL[i]; i++) {
							if (text.substr(cur, prot.length) === prot) {
								s = cur;
								cur += prot.length - 1;
								break;
							}
						}
					} else if (s !== false && !(text.charAt(cur) in URLCHAR)) {
						ret.push({
							w: text.substr(s, cur - s),
							c: s
						});
						s = false;
					}
					cur++;
				}
				if (s !== false) {
					ret.push({
						w: text.substr(s, cur - s),
						c: s
					});
				}
				return ret;
			}
		}]);
		return URLTokenizer;
	}(Tokenizer$1);
	var ChsNameOptimizer = /* @__PURE__ */ function(_Optimizer) {
		_inherits(ChsNameOptimizer, _Optimizer);
		function ChsNameOptimizer() {
			_classCallCheck(this, ChsNameOptimizer);
			return _possibleConstructorReturn(this, _getPrototypeOf(ChsNameOptimizer).apply(this, arguments));
		}
		_createClass(ChsNameOptimizer, [{
			key: "doOptimize",
			value: function doOptimize(words) {
				var POSTAG = this.segment.POSTAG;
				var i = 0;
				while (i < words.length) {
					var word = words[i];
					var nextword = words[i + 1];
					if (nextword) {
						if (nextword && (word.w === "小" || word.w === "老") && (nextword.w in FAMILY_NAME_1 || nextword.w in FAMILY_NAME_2)) {
							words.splice(i, 2, {
								w: word.w + nextword.w,
								p: POSTAG.A_NR
							});
							i++;
							continue;
						}
						if ((word.w in FAMILY_NAME_1 || word.w in FAMILY_NAME_2) && (nextword.p & POSTAG.A_NR) > 0 && nextword.w.length <= 2) {
							words.splice(i, 2, {
								w: word.w + nextword.w,
								p: POSTAG.A_NR
							});
							i++;
							continue;
						}
						if (!word.p || !nextword.p) {
							if (word.w in SINGLE_NAME && word.w === nextword.w || word.w in DOUBLE_NAME_1 && nextword.w in DOUBLE_NAME_2) {
								words.splice(i, 2, {
									w: word.w + nextword.w,
									p: POSTAG.A_NR
								});
								var preword = words[i - 1];
								if (preword && (preword.w in FAMILY_NAME_1 || preword.w in FAMILY_NAME_2)) {
									words.splice(i - 1, 2, {
										w: preword.w + word.w + nextword.w,
										p: POSTAG.A_NR
									});
								} else {
									i++;
								}
								continue;
							}
						}
						if ((word.w in FAMILY_NAME_1 || word.w in FAMILY_NAME_2) && (!word.p || !nextword.p)) {
							words.splice(i, 2, {
								w: word.w + nextword.w,
								p: POSTAG.A_NR
							});
						}
					}
					i++;
				}
				i = 0;
				while (i < words.length) {
					var _word = words[i];
					var _nextword = words[i + 1];
					if (_nextword) {
						if ((_word.w in FAMILY_NAME_1 || _word.w in FAMILY_NAME_2) && _nextword.w in SINGLE_NAME) {
							words.splice(i, 2, {
								w: _word.w + _nextword.w,
								p: POSTAG.A_NR
							});
							i++;
							continue;
						}
					}
					i++;
				}
				return words;
			}
		}]);
		return ChsNameOptimizer;
	}(Optimizer$1);
	var DATETIME_WORDS = [
		"世纪",
		"年",
		"年份",
		"年度",
		"月",
		"月份",
		"月度",
		"日",
		"号",
		"时",
		"点",
		"点钟",
		"分",
		"分钟",
		"秒",
		"毫秒"
	];
	var DATETIME = {};
	for (var i$3 in DATETIME_WORDS) {
		DATETIME[DATETIME_WORDS[i$3]] = DATETIME_WORDS[i$3].length;
	}
	var DatetimeOptimizer = /* @__PURE__ */ function(_Optimizer) {
		_inherits(DatetimeOptimizer, _Optimizer);
		function DatetimeOptimizer() {
			_classCallCheck(this, DatetimeOptimizer);
			return _possibleConstructorReturn(this, _getPrototypeOf(DatetimeOptimizer).apply(this, arguments));
		}
		_createClass(DatetimeOptimizer, [{
			key: "doOptimize",
			value: function doOptimize(words, isNotFirst) {
				this.segment.getDict("TABLE");
				var POSTAG = this.segment.POSTAG;
				var i = 0;
				var ie = words.length - 1;
				while (i < ie) {
					var w1 = words[i];
					var w2 = words[i + 1];
					if ((w1.p & POSTAG.A_M) > 0) {
						if (w2.w in DATETIME) {
							var nw = w1.w + w2.w;
							var len = 2;
							while (true) {
								var w1 = words[i + len];
								var w2 = words[i + len + 1];
								if (w1 && w2 && (w1.p & POSTAG.A_M) > 0 && w2.w in DATETIME) {
									len += 2;
									nw += w1.w + w2.w;
								} else {
									break;
								}
							}
							words.splice(i, len, {
								w: nw,
								p: POSTAG.D_T
							});
							ie -= len - 1;
							continue;
						}
					}
					i++;
				}
				return words;
			}
		}]);
		return DatetimeOptimizer;
	}(Optimizer$1);
	var _DATETIME = [
		"世纪",
		"年",
		"年份",
		"年度",
		"月",
		"月份",
		"月度",
		"日",
		"号",
		"时",
		"点",
		"点钟",
		"分",
		"分钟",
		"秒",
		"毫秒"
	];
	var DATETIME$1 = {};
	for (var i$4 in _DATETIME) {
		DATETIME$1[_DATETIME[i$4]] = _DATETIME[i$4].length;
	}
	/**
	* 对未识别的单词进行分词
	*
	* @param {array} words 单词数组
	* @return {array}
	*/
	var DictTokenizer = /* @__PURE__ */ function(_Tokenizer) {
		_inherits(DictTokenizer, _Tokenizer);
		function DictTokenizer() {
			_classCallCheck(this, DictTokenizer);
			return _possibleConstructorReturn(this, _getPrototypeOf(DictTokenizer).apply(this, arguments));
		}
		_createClass(DictTokenizer, [
			{
				key: "split",
				value: function split(words) {
					this.segment.POSTAG;
					var TABLE = this.segment.getDict("TABLE");
					var ret = [];
					for (var i = 0, word; word = words[i]; i++) {
						if (word.p > 0) {
							ret.push(word);
							continue;
						}
						var wordinfo = this.matchWord(word.w, 0, words[i - 1]);
						if (wordinfo.length < 1) {
							ret.push(word);
							continue;
						}
						var lastc = 0;
						for (var ui = 0, bw; bw = wordinfo[ui]; ui++) {
							if (bw.c > lastc) {
								ret.push({ w: word.w.substr(lastc, bw.c - lastc) });
							}
							ret.push({
								w: bw.w,
								p: TABLE[bw.w].p
							});
							lastc = bw.c + bw.w.length;
						}
						var lastword = wordinfo[wordinfo.length - 1];
						if (lastword.c + lastword.w.length < word.w.length) {
							ret.push({ w: word.w.substr(lastword.c + lastword.w.length) });
						}
					}
					return ret;
				}
			},
			{
				key: "matchWord",
				value: function matchWord(text, cur, preword) {
					if (isNaN(cur)) cur = 0;
					var ret = [];
					var TABLE = this.segment.getDict("TABLE2");
					while (cur < text.length) {
						for (var _i in TABLE) {
							var w = text.substr(cur, _i);
							if (w in TABLE[_i]) {
								ret.push({
									w,
									c: cur,
									f: TABLE[_i][w].f
								});
							}
						}
						cur++;
					}
					return this.filterWord(ret, preword, text);
				}
			},
			{
				key: "filterWord",
				value: function filterWord(words, preword, text) {
					var POSTAG = this.segment.POSTAG;
					var TABLE = this.segment.getDict("TABLE");
					var ret = [];
					var wordpos = DictTokenizer.getPosInfo(words, text);
					var chunks = DictTokenizer.getChunks(wordpos, 0, text);
					var assess = [];
					for (var i = 0, chunk; chunk = chunks[i]; i++) {
						assess[i] = {
							x: chunk.length,
							a: 0,
							b: 0,
							c: 0,
							d: 0
						};
						var sp = text.length / chunk.length;
						var has_D_V = false;
						if (preword) {
							var prew = {
								w: preword.w,
								p: preword.p,
								f: preword.f
							};
						} else {
							prew = false;
						}
						for (var j = 0, w; w = chunk[j]; j++) {
							if (w.w in TABLE) {
								w.p = TABLE[w.w].p;
								assess[i].a += w.f;
								if (prew) {
									if ((prew.p & POSTAG.A_M) > 0 && ((TABLE[w.w].p & POSTAG.A_Q) > 0 || w.w in DATETIME$1)) {
										assess[i].d++;
									}
									if ((w.p & POSTAG.D_V) > 0) {
										has_D_V = true;
										if ((prew.p & POSTAG.D_A) > 0) {
											assess[i].d++;
										}
									}
									if (((prew.p & POSTAG.A_NS) > 0 || prew.p & POSTAG.A_NT || (prew.p & POSTAG.D_A) > 0) && ((w.p & POSTAG.D_N) > 0 || (w.p & POSTAG.A_NR) > 0 || (w.p & POSTAG.A_NS) > 0 || (w.p & POSTAG.A_NZ) > 0 || (w.p & POSTAG.A_NT) > 0)) {
										assess[i].d++;
									}
									if ((prew.p & POSTAG.D_F) > 0 && (w.p & POSTAG.A_M > 0 || w.p & POSTAG.D_MQ > 0)) {
										assess[i].d++;
									}
									if ((prew.w in FAMILY_NAME_1 || prew.w in FAMILY_NAME_2) && ((w.p & POSTAG.D_N) > 0 || (w.p & POSTAG.A_NZ) > 0)) {
										assess[i].d++;
									}
									var nextw = chunk[j + 1];
									if (nextw) {
										if (nextw.w in TABLE) {
											nextw.p = TABLE[nextw.w].p;
										}
										if ((w.p & POSTAG.D_C) > 0 && prew.p === nextw.p) {
											assess[i].d++;
										}
										if ((w.w === "的" || w.w === "之") && ((nextw.p & POSTAG.D_N) > 0 || (nextw.p & POSTAG.A_NR) > 0 || (nextw.p & POSTAG.A_NS) > 0 || (nextw.p & POSTAG.A_NZ) > 0 || (nextw.p & POSTAG.A_NT) > 0)) {
											assess[i].d += 1.5;
										}
									}
								}
							} else {
								assess[i].c++;
							}
							assess[i].b += Math.pow(sp - w.w.length, 2);
							prew = chunk[j];
						}
						if (has_D_V === false) assess[i].d -= .5;
						assess[i].a = assess[i].a / chunk.length;
						assess[i].b = assess[i].b / chunk.length;
					}
					var top = DictTokenizer.getTops(assess);
					var currchunk = chunks[top];
					for (var i = 0, word; word = currchunk[i]; i++) {
						if (!(word.w in TABLE)) {
							currchunk.splice(i--, 1);
						}
					}
					ret = currchunk;
					return ret;
				}
			}
		], [
			{
				key: "getPosInfo",
				value: function getPosInfo(words, text) {
					var wordpos = {};
					for (var i = 0, word; word = words[i]; i++) {
						if (!wordpos[word.c]) {
							wordpos[word.c] = [];
						}
						wordpos[word.c].push(word);
					}
					for (var i = 0; i < text.length; i++) {
						if (!wordpos[i]) {
							wordpos[i] = [{
								w: text.charAt(i),
								c: i,
								f: 0
							}];
						}
					}
					return wordpos;
				}
			},
			{
				key: "getChunks",
				value: function getChunks(wordpos, pos, text) {
					var words = wordpos[pos] || [];
					var ret = [];
					for (var _i2 = 0; _i2 < words.length; _i2++) {
						var word = words[_i2];
						var nextcur = word.c + word.w.length;
						if (!wordpos[nextcur]) {
							ret.push([word]);
						} else {
							var chunks = DictTokenizer.getChunks(wordpos, nextcur);
							for (var j = 0; j < chunks.length; j++) {
								ret.push([word].concat(chunks[j]));
							}
						}
					}
					return ret;
				}
			},
			{
				key: "getTops",
				value: function getTops(assess) {
					var top = {
						x: assess[0].x,
						a: assess[0].a,
						b: assess[0].b,
						c: assess[0].c,
						d: assess[0].d
					};
					for (var i = 1, ass; ass = assess[i]; i++) {
						if (ass.a > top.a) top.a = ass.a;
						if (ass.b < top.b) top.b = ass.b;
						if (ass.c > top.c) top.c = ass.c;
						if (ass.d < top.d) top.d = ass.d;
						if (ass.x > top.x) top.x = ass.x;
					}
					var tops = [];
					for (var i = 0, ass; ass = assess[i]; i++) {
						tops[i] = 0;
						tops[i] += (top.x - ass.x) * 1.5;
						if (ass.a >= top.a) tops[i] += 1;
						if (ass.b <= top.b) tops[i] += 1;
						tops[i] += top.c - ass.c;
						tops[i] += (ass.d < 0 ? top.d + ass.d : ass.d - top.d) * 1;
					}
					var curri = 0;
					var maxs = tops[0];
					for (var i in tops) {
						var s = tops[i];
						if (s > maxs) {
							curri = i;
							maxs = s;
						} else if (s === maxs) {
							var a = 0;
							var b = 0;
							if (assess[i].c < assess[curri].c) a++;
							else b++;
							if (assess[i].a > assess[curri].a) a++;
							else b++;
							if (assess[i].x < assess[curri].x) a++;
							else b++;
							if (a > b) {
								curri = i;
								maxs = s;
							}
						}
					}
					return curri;
				}
			}
		]);
		return DictTokenizer;
	}(Tokenizer$1);
	var ForeignTokenizer = /* @__PURE__ */ function(_Tokenizer) {
		_inherits(ForeignTokenizer, _Tokenizer);
		function ForeignTokenizer() {
			_classCallCheck(this, ForeignTokenizer);
			return _possibleConstructorReturn(this, _getPrototypeOf(ForeignTokenizer).apply(this, arguments));
		}
		_createClass(ForeignTokenizer, [{
			key: "split",
			value: function split(words) {
				this.segment.POSTAG;
				var ret = [];
				for (var i = 0, word; word = words[i]; i++) {
					if (word.p) {
						ret.push(word);
					} else {
						ret = ret.concat(this.splitForeign(word.w));
					}
				}
				return ret;
			}
		}, {
			key: "splitForeign",
			value: function splitForeign(text, cur) {
				var POSTAG = this.segment.POSTAG;
				var ret = [];
				var lastcur = 0;
				var lasttype = 0;
				var c = text.charCodeAt(0);
				if (c >= 65296 && c <= 65370) c -= 65248;
				if (c >= 48 && c <= 57) lasttype = POSTAG.A_M;
				else if (c >= 65 && c <= 90 || c >= 97 && c <= 122) {
					lasttype = POSTAG.A_NX;
				} else lasttype = POSTAG.UNK;
				for (var i = 1; i < text.length; i++) {
					var c = text.charCodeAt(i);
					if (c >= 65296 && c <= 65370) c -= 65248;
					if (c >= 48 && c <= 57) {
						if (lasttype !== POSTAG.A_M) {
							var nw = { w: text.substr(lastcur, i - lastcur) };
							if (lasttype !== POSTAG.UNK) nw.p = lasttype;
							ret.push(nw);
							lastcur = i;
						}
						lasttype = POSTAG.A_M;
					} else if (c >= 65 && c <= 90 || c >= 97 && c <= 122) {
						if (lasttype !== POSTAG.A_NX) {
							var nw = { w: text.substr(lastcur, i - lastcur) };
							if (lasttype !== POSTAG.UNK) nw.p = lasttype;
							ret.push(nw);
							lastcur = i;
						}
						lasttype = POSTAG.A_NX;
					} else {
						if (lasttype !== POSTAG.UNK) {
							ret.push({
								w: text.substr(lastcur, i - lastcur),
								p: [lasttype]
							});
							lastcur = i;
						}
						lasttype = POSTAG.UNK;
					}
				}
				var nw = { w: text.substr(lastcur, i - lastcur) };
				if (lasttype !== POSTAG.UNK) nw.p = lasttype;
				ret.push(nw);
				return ret;
			}
		}]);
		return ForeignTokenizer;
	}(Tokenizer$1);
	var WildcardTokenizer = /* @__PURE__ */ function(_Tokenizer) {
		_inherits(WildcardTokenizer, _Tokenizer);
		function WildcardTokenizer() {
			_classCallCheck(this, WildcardTokenizer);
			return _possibleConstructorReturn(this, _getPrototypeOf(WildcardTokenizer).apply(this, arguments));
		}
		_createClass(WildcardTokenizer, [{
			key: "split",
			value: function split(words) {
				this.segment.POSTAG;
				var TABLE = this.segment.getDict("WILDCARD");
				var ret = [];
				for (var i = 0, word; word = words[i]; i++) {
					if (word.p > 0) {
						ret.push(word);
						continue;
					}
					var wordinfo = this.matchWord(word.w);
					if (wordinfo.length < 1) {
						ret.push(word);
						continue;
					}
					var lastc = 0;
					for (var ui = 0, bw; bw = wordinfo[ui]; ui++) {
						if (bw.c > lastc) {
							ret.push({ w: word.w.substr(lastc, bw.c - lastc) });
						}
						ret.push({
							w: bw.w,
							p: TABLE[bw.w.toLowerCase()].p
						});
						lastc = bw.c + bw.w.length;
					}
					var lastword = wordinfo[wordinfo.length - 1];
					if (lastword.c + lastword.w.length < word.w.length) {
						ret.push({ w: word.w.substr(lastword.c + lastword.w.length) });
					}
				}
				return ret;
			}
		}, {
			key: "matchWord",
			value: function matchWord(text, cur) {
				if (isNaN(cur)) cur = 0;
				var ret = [];
				var TABLE = this.segment.getDict("WILDCARD2");
				var lowertext = text.toLowerCase();
				while (cur < text.length) {
					var stopword = false;
					for (var i in TABLE) {
						if (lowertext.substr(cur, i) in TABLE[i]) {
							stopword = {
								w: text.substr(cur, i),
								c: cur
							};
						}
					}
					if (stopword !== false) {
						ret.push(stopword);
						cur += stopword.w.length;
					} else {
						cur++;
					}
				}
				return ret;
			}
		}]);
		return WildcardTokenizer;
	}(Tokenizer$1);
	var modules = [
		URLTokenizer,
		WildcardTokenizer,
		PunctuationTokenizer,
		ForeignTokenizer,
		DictTokenizer,
		ChsNameTokenizer,
		EmailOptimizer,
		ChsNameOptimizer,
		DictOptimizer,
		DatetimeOptimizer,
		AdjectiveOptimizer
	];
	var pangu = "﻿爱|0x1000|323\n安|0x1000|1651\n凹|0x40000000|10293\n熬|0x1000|36595\n八|0x400000|355\n扒|0x1000|16883\n拔|0x1000|3784\n把|0x40000|22\n摆|0x1000|951\n拜|0x1000|3985\n搬|0x1000|2305\n办|0x1000|261\n扮|0x1000|10508\n拌|0x1000|11672\n绊|0x1000|12776\n帮|0x1000|889\n绑|0x1000|7942\n傍|0x1000|12168\n包|0x1000|884\n饱|0x40000000|4431\n保|0x1000|981\n报|0x100000|438\n背|0x1000|3930\n倍|0x8000000|973\n本|0x10000|115\n绷|0x100000|14002\n逼|0x1000|2473\n比|0x40000|98\n必|0x8000000|1335\n毙|0x1000|8263\n避|0x1000|4562\n编|0x1000|2131\n贬|0x1000|9759\n拚|0x0400|0\n变|0x1000|264\n遍|0x20000|1624\n辨|0x1000|7007\n别|0x8000000|40734\n瘪|0x1000|15221\n并|0x10000000|45\n病|0x100000|383\n拨|0x1000|3172\n剥|0x1000|6852\n播|0x1000|5785\n驳|0x100000|9902\n搏|0x1000|11464\n补|0x1000|1726\n捕|0x1000|5370\n不|0x8000000|5\n步|0x20000|397\n擦|0x1000|2620\n才|0x8000000|82\n采|0x1000|2522\n操|0x1000|4061\n层|0x20000|640\n插|0x1000|2659\n查|0x1000|1652\n岔|0x100000|12396\n差|0x40000000|1299\n产|0x1000|1945\n长|0x40000000|1368\n常|0x8000000|648\n场|0x20000|6159\n抄|0x1000|5307\n超|0x1000|1760\n朝|0x100000|993\n吵|0x1000|5029\n炒|0x1000|5094\n扯|0x1000|3761\n闯|0x1000|2295\n称|0x1000|448\n乘|0x1000|1581\n吃|0x1000|184\n持|0x1000|1894\n斥|0x1000|0\n冲|0x1000|1093\n丑|0x40000000|5722\n出|0x1000|49\n除|0x40000|663\n穿|0x1000|774\n吹|0x1000|1510\n纯|0x40000000|3093\n蠢|0x1000|0\n此|0x10000|119\n次|0x20000|57\n从|0x40000|27\n促|0x1000|3235\n存|0x1000|2089\n寸|0x20000|5741\n搓|0x1000|7703\n打|0x1000|17890\n大|0x40000000|19\n代|0x1000|503\n带|0x1000|178\n待|0x1000|4627\n贷|0x1000|6275\n单|0x8000000|816\n但|0x10000000|37\n淡|0x40000000|5053\n当|0x40000|591\n挡|0x1000|5085\n倒|0x1000|1212\n到|0x1000|18\n得|0x2000|4434\n的|0x2000|1\n登|0x1000|1810\n等|0x2000|24\n低|0x40000000|254\n敌|0x1000|2139\n地|0x2000|1382\n第|0x100000|0\n点|0x20000|116\n电|0x100000|462\n钓|0x100000|11268\n钉|0x1000|9869\n顶|0x1000|1298\n订|0x1000|4503\n定|0x1000|694\n动|0x1000|772\n冻|0x1000|5210\n都|0x8000000|1244\n斗|0x1000|4900\n毒|0x100000|2969\n独|0x8000000|2378\n堵|0x1000|4272\n短|0x40000000|788\n段|0x20000|301\n堆|0x20000|1577\n对|0x40000|14\n兑|0x100000|10085\n顿|0x20000|1803\n夺|0x1000|2841\n朵|0x20000|3952\n恶|0x40000000|2459\n而|0x10000000|28\n二|0x40400000|88\n发|0x1000|3954\n罚|0x1000|3677\n翻|0x1000|1476\n凡|0x8000000|1749\n反|0x1000|315\n犯|0x1000|1800\n方|0x20000|372\n防|0x100000|1637\n仿|0x1000|9692\n放|0x1000|425\n非|0x8000000|185\n肥|0x100000|3240\n废|0x1000|3560\n费|0x1000|1015\n分|0x20000|168\n份|0x20000|490\n封|0x20000|1050\n否|0x1000|6368\n扶|0x1000|3217\n拂|0x1000|9728\n付|0x1000|3646\n负|0x1000|1282\n附|0x1000|1327\n赴|0x100000|1530\n副|0x20000000|122\n傅|0x0400|7535\n富|0x40000000|1725\n赋|0x100000|7857\n缚|0x1000|10335\n该|0x10000|107\n改|0x1000|665\n盖|0x1000|1401\n干|0x1000|8006\n赶|0x1000|1951\n敢|0x1000|805\n刚|0x8000000|542\n高|0x40000000|76\n搞|0x1000|339\n告|0x1000|2472\n割|0x1000|4622\n个|0x20000|8\n给|0x40000|54\n跟|0x40000|434\n更|0x8000000|56\n攻|0x1000|2631\n供|0x1000|1332\n共|0x8000000|358\n够|0x1000|1816\n估|0x1000|15021\n古|0x40000000|1283\n故|0x10000000|1574\n关|0x1000|903\n管|0x1000|368\n光|0x100000|558\n广|0x40000000|1429\n归|0x1000|1388\n滚|0x1000|3632\n过|0x2000|2722\n含|0x1000|1541\n喊|0x1000|1617\n好|0x40000000|722\n耗|0x1000|6572\n喝|0x1000|2636\n合|0x1000|4244\n何|0x10000|1081\n和|0x10000000|373\n黑|0x40000000|628\n狠|0x8000000|5760\n恨|0x1000|2846\n烘|0x1000|17075\n红|0x40000000|537\n后|0x2000000|43\n乎|0x0200|0\n划|0x1000|1961\n坏|0x40000000|1379\n还|0x8000000|550\n换|0x1000|833\n黄|0x40000000|865\n灰|0x100000|2751\n挥|0x1000|3379\n会|0x1000|35\n或|0x10000000|81\n及|0x10000000|780\n即|0x1000|172\n急|0x40000000|1074\n几|0x400000|2502\n己|0x100000|3585\n挤|0x1000|2218\n计|0x1000|1755\n继|0x8000000|0\n加|0x1000|543\n件|0x20000|166\n将|0x8000000|1460\n讲|0x1000|215\n交|0x1000|738\n叫|0x1000|309\n较|0x1000|272\n她|0x10000|55\n仅|0x1000|538\n紧|0x40000000|1415\n尽|0x1000|4931\n近|0x40000000|192\n竟|0x8000000|786\n九|0x400000|533\n久|0x40000000|1260\n旧|0x40000000|681\n就|0x8000000|13\n举|0x1000|1466\n句|0x20000|367\n具|0x1000|1610\n锯|0x100000|12388\n捐|0x100000|5574\n卷|0x20000|3230\n看|0x1000|4382\n考|0x1000|2255\n烤|0x1000|6817\n靠|0x1000|354\n可|0x1000|61\n肯|0x1000|2490\n空|0x40000000|2292\n苦|0x40000000|1231\n夸|0x1000|7755\n块|0x20000|362\n快|0x40000000|210\n困|0x1000|4885\n拉|0x1000|843\n啦|0x0200|1414\n来|0x1000|23\n兰|0x100000|5326\n蓝|0x40000000|3073\n老|0x40000000|132\n擂|0x1000|14715\n冷|0x40000000|1717\n里|0x2000000|53\n连|0x1000|242\n练|0x100000|2935\n炼|0x1000|8304\n两|0x400000|26\n辆|0x20000|793\n量|0x100000|734\n了|0x2000|590\n列|0x1000|1906\n零|0x400000|2599\n领|0x1000|1305\n令|0x1000|24066\n六|0x500000|313\n录|0x1000|4192\n缕|0x100000|7214\n绿|0x40000000|1167\n乱|0x8000000|626\n略|0x1000|2297\n买|0x1000|303\n慢|0x8000000|2409\n没|0x8000000|623\n每|0x10000|149\n美|0x100000|193\n免|0x1000|2991\n面|0x20000|378\n秒|0x20000|2688\n名|0x20000|102\n末|0x2000000|1718\n拿|0x1000|280\n内|0x2000000|110\n那|0x10000|52856\n男|0x100000|1012\n闹|0x1000|1588\n呢|0x100000|1712\n能|0x1000|29\n你|0x10000|69\n女|0x100000|329\n怕|0x1000|853\n拍|0x1000|1166\n排|0x1000|857\n派|0x1000|606\n判|0x1000|4739\n旁|0x2000000|1910\n匹|0x20000|4005\n片|0x20000|403\n拼|0x1000|4700\n七|0x500000|478\n期|0x20000|515\n其|0x10000|68\n奇|0x40000000|3582\n起|0x1000|72\n气|0x100000|596\n弃|0x1000|4392\n千|0x400000|706\n签|0x1000|4064\n前|0x2000000|83\n欠|0x1000|2329\n强|0x40000000|286\n且|0x10000000|597\n擒|0x1000|6751\n轻|0x40000000|1162\n清|0x40000000|686\n请|0x1000|308\n求|0x1000|777\n趋|0x1000|3767\n取|0x1000|965\n去|0x100000|62\n圈|0x100000|17973\n全|0x40000000|159\n却|0x8000000|87\n让|0x1000|67\n热|0x40000000|696\n认|0x1000|2736\n仍|0x1000|260\n日|0x100000|131\n如|0x1000|104\n入|0x100000|394\n三|0x400000|38\n扫|0x1000|4228\n扇|0x20000|5829\n上|0x2000000|9\n尚|0x10000000|955\n少|0x40000000|1809\n设|0x1000|1161\n十|0x40400000|205\n室|0x100000|1213\n是|0x1000|2\n手|0x100000|289\n数|0x400000|3939\n说|0x1000|15\n死|0x1000|360\n四|0x500000|100\n俗|0x100000|5035\n诉|0x1000|5691\n所|0x2000|52\n他|0x10000|11\n它|0x10000|75\n台|0x20000|405\n太|0x8000000|237\n讨|0x1000|2937\n套|0x20000|654\n特|0x8000000|1644\n甜|0x40000000|4176\n填|0x1000|4118\n条|0x20000|89\n厅|0x100000|3859\n听|0x1000|256\n停|0x1000|990\n同|0x40000|99\n偷|0x1000|2943\n头|0x100000|245\n推|0x1000|1125\n退|0x1000|827\n托|0x1000|2641\n玩|0x1000|1436\n万|0x400000|267\n亡|0x1000|0\n为|0x40000|1196\n伪|0x40000000|6324\n未|0x8000000|276\n位|0x20000|90\n闻|0x1000|2286\n问|0x1000|208\n我|0x10000|16\n无|0x1000|123\n吾|0x10000|5190\n五|0x500000|135\n下|0x2000000|41\n先|0x2000000|257\n鲜|0x40000000|2054\n贤|0x100000|4880\n向|0x40000|47\n象|0x100000|1353\n像|0x100000|140\n小|0x40000000|65\n写|0x1000|203\n新|0x40000000|51\n信|0x100000|395\n姓|0x1000|1947\n学|0x1000|239\n亚|0x40000000|2806\n摇|0x1000|2572\n也|0x8000000|10\n一|0x400000|4\n已|0x8000000|48\n以|0x40000|32\n因|0x10000000|163\n应|0x1000|1220\n硬|0x40000000|1318\n由|0x40000|63\n有|0x1000|6\n又|0x10000000|30\n右|0x2000000|1500\n于|0x40000|0\n余|0x400000|300\n与|0x40000|0\n元|0x4000|0\n员|0x20000|2585\n原|0x100000|421\n曰|0x1000|8242\n约|0x8000000|320\n月|0x100000|127\n在|0x40000|3\n曾|0x8000000|1340\n占|0x1000|6534\n张|0x20000|124\n招|0x1000|2082\n找|0x1000|278\n照|0x1000|1389\n真|0x8000000|296\n正|0x8000000|7160\n之|0x2000|36\n支|0x20000|413\n直|0x8000000|1007\n只|0x8000000|3965\n中|0x2000000|534\n重|0x40000000|8155\n抓|0x1000|474\n子|0x100000|676\n自|0x40000|182\n总|0x8000000|174\n走|0x1000|84\n最|0x8000000|58\n左|0x2000000|1527\n作|0x1000|134\n坐|0x1000|379\n做|0x1000|77\n成|0x1000|100\n3G|0x100000|100\nC#|0x0008|0\n吖嗪|0x0080|0\n阿Ｑ|0x0000|20845\n阿坝|0x0040|1275\n阿爸|0x100000|18137\n阿鼻|0x100000|1065\n阿布|0x0080|1214\n阿城|0x0040|1406\n阿呆|0x100000|573\n阿弟|0x100000|941\n阿爹|0x100000|458\n阿斗|0x100000|42632\n阿飞|0x100000|48603\n阿哥|0x100000|840\n阿公|0x100000|850\n阿訇|0x100000|34432\n阿胶|0x100000|28360\n阿姐|0x100000|870\n阿拉|0x0080|1040\n阿里|0x100000|795\n阿伦|0x0080|1293\n阿妈|0x100000|16220\n阿曼|0x0040|1352\n阿妹|0x100000|825\n阿门|0x40000000|47913\n阿蒙|0x100000|905\n阿明|0x0080|1394\n阿片|0x100000|1078\n阿婆|0x100000|796\n阿嚏|0x80000|54643\n阿魏|0x100000|1022\n阿兄|0x100000|1134\n阿爷|0x100000|1058\n阿姨|0x100000|6842\n阿谀|0x1000|29309\n啊啊|0x80000|587\n啊哈|0x80000|767\n啊呀|0x80000|15418\n啊哟|0x80000|23908\n哎呀|0x80000|8456\n哎哟|0x80000|11815\n哎唷|0x0000|475\n哀哀|0x80000|486\n哀愁|0x40000000|25684\n哀辞|0x100000|1283\n哀悼|0x1000|8091\n哀帝|0x0008|1040\n哀告|0x1000|36418\n哀歌|0x100000|40509\n哀嚎|0x1000|45194\n哀号|0x1000|29605\n哀呼|0x1000|0\n哀家|0x10000|1033\n哀叫|0x1000|35031\n哀矜|0x1000|1123\n哀哭|0x0000|41402\n哀苦|0x40000000|0\n哀乐|0x100000|20602\n哀怜|0x1000|35032\n哀悯|0x40000000|0\n哀鸣|0x1000|28081\n哀戚|0x1000|46661\n哀启|0x100000|0\n哀泣|0x1000|44322\n哀求|0x1000|11984\n哀荣|0x100000|1100\n哀伤|0x40000000|19763\n哀思|0x100000|23975\n哀诉|0x1000|1137\n哀叹|0x1000|26507\n哀恸|0x40000000|46377\n哀痛|0x40000000|27828\n哀婉|0x40000000|32720\n哀艳|0x40000000|1030\n哀怨|0x40000000|23209\n哀哉|0x0000|448\n哀子|0x100000|0\n唉唉|0x4000000|822\n唉叹|0x1000|1057\n唉呀|0x0000|25872\n埃及|0x0040|3121\n埃森|0x0080|994\n挨边|0x1000|1162\n挨次|0x8000000|40951\n挨打|0x1000|702\n挨冻|0x1000|960\n挨斗|0x1000|1152\n挨饿|0x1000|16362\n挨个|0x8000000|786\n挨过|0x0000|492\n挨户|0x8000000|17735\n挨挤|0x1000|0\n挨家|0x8000000|961\n挨近|0x1000|26596\n挨骂|0x1000|755\n挨门|0x8000000|0\n挨批|0x1000|34907\n挨整|0x1000|37482\n挨着|0x1000|712\n挨揍|0x1000|36941\n欸乃|0x100000|0\n捱过|0x0000|442\n皑皑|0x0100|28598\n癌变|0x1000|35321\n癌病|0x100000|1050\n癌症|0x100000|6730\n癌肿|0x100000|44071\n嗳气|0x1000|417\n嗳酸|0x1000|0\n矮矮|0x0100|617\n矮凳|0x100000|1065\n矮个|0x100000|4\n矮化|0x1000|1007\n矮林|0x100000|1262\n矮胖|0x40000000|27829\n矮墙|0x100000|947\n矮人|0x0000|625\n矮树|0x0000|420\n矮小|0x40000000|16293\n矮星|0x100000|13\n矮子|0x100000|22440\n蔼蔼|0x0100|1058\n蔼然|0x0100|380\n霭霭|0x0100|1067\n艾草|0x0080|451\n艾迪|0x0080|1306\n艾蒿|0x0080|36593\n艾灸|0x100000|1082\n艾玛|0x0080|1384\n艾绒|0x0080|1175\n艾叶|0x0008|0\n艾炙|0x0080|0\n艾灼|0x0080|0\n艾滋|0x100000|600\n爱称|0x100000|46662\n爱戴|0x1000|11712\n爱多|0x0008|1341\n爱抚|0x1000|19330\n爱国|0x40000000|2338\n爱好|0x1000|5492\n爱河|0x100000|36942\n爱护|0x1000|5862\n爱辉|0x0008|1038\n爱火|0x0008|1272\n爱家|0x0008|1178\n爱将|0x100000|34908\n爱教|0x40000000|5\n爱看|0x40000000|632\n爱哭|0x40000000|532\n爱乐|0x0008|1166\n爱怜|0x1000|23303\n爱恋|0x100000|22255\n爱侣|0x100000|761\n爱马|0x100000|1029\n爱美|0x40000000|21216\n爱民|0x1000|769\n爱慕|0x1000|18550\n爱女|0x100000|29712\n爱妻|0x100000|755\n爱妾|0x100000|1000\n爱情|0x100000|2005\n爱犬|0x100000|789\n爱群|0x0008|1043\n爱人|0x100000|5519\n爱上|0x1000|487\n爱神|0x100000|30357\n爱徒|0x100000|900\n爱惜|0x1000|14976\n爱现|0x0008|1\n爱笑|0x0000|550\n爱心|0x100000|4350\n爱液|0x100000|481\n爱意|0x100000|617\n爱婴|0x0000|467\n爱语|0x0008|0\n爱玉|0x0008|983\n爱欲|0x100000|829\n爱憎|0x100000|24550\n爱重|0x1000|0\n爱滋|0x0008|1389\n爱子|0x100000|780\n隘口|0x100000|39452\n隘岭|0x0040|0\n隘路|0x100000|1262\n隘巷|0x0040|0\n碍口|0x40000000|54644\n碍难|0x1000|48993\n碍事|0x40000000|24816\n碍手|0x0008|0\n碍眼|0x40000000|43825\n暧昧|0x40000000|17148\n安安|0x0008|1200\n安邦|0x1000|1381\n安保|0x0008|803\n安瓿|0x100000|1072\n安插|0x1000|27587\n安厝|0x1000|1269\n安达|0x0080|1166\n安打|0x0008|994\n安抵|0x0000|45796\n安定|0x40000000|4956\n安东|0x0080|1355\n安度|0x1000|27830\n安顿|0x1000|15085\n安多|0x0040|1501\n安放|0x1000|15202\n安分|0x40000000|19045\n安份|0x0080|467\n安福|0x0080|1443\n安抚|0x1000|16334\n安国|0x0040|1310\n安好|0x40000000|36594\n安化|0x0080|1419\n安徽|0x0040|3002\n安魂|0x1000|852\n安吉|0x0080|1149\n安家|0x1000|21467\n安检|0x100000|20603\n安静|0x40000000|5113\n安居|0x1000|15923\n安康|0x40000000|12674\n安可|0x0080|1378\n安拉|0x100000|1438\n安澜|0x40000000|965\n安乐|0x40000000|19724\n安龙|0x0080|1451\n安陆|0x100000|1416\n安曼|0x0040|1004\n安谧|0x40000000|36770\n安眠|0x1000|32861\n安民|0x1000|880\n安娜|0x0080|1130\n安南|0x0080|1272\n安妮|0x0080|1037\n安宁|0x40000000|6724\n安排|0x1000|613\n安培|0x0080|22659\n安平|0x0080|1134\n安寝|0x1000|44324\n安庆|0x0040|1038\n安丘|0x0040|1294\n安全|0x40000000|709\n安然|0x40000000|11659\n安仁|0x0080|1514\n安塞|0x0080|1533\n安上|0x1000|870\n安设|0x1000|42847\n安身|0x1000|27022\n安神|0x1000|34572\n安生|0x40000000|22441\n安适|0x40000000|31376\n安睡|0x1000|28897\n安顺|0x0040|1147\n安胎|0x100000|963\n安泰|0x40000000|39037\n安恬|0x40000000|1112\n安图|0x0040|1528\n安妥|0x40000000|1077\n安危|0x100000|10168\n安慰|0x1000|3875\n安稳|0x40000000|14568\n安卧|0x1000|1103\n安西|0x0080|1347\n安息|0x1000|18762\n安溪|0x0080|1224\n安闲|0x40000000|25466\n安县|0x0040|1061\n安乡|0x0080|1504\n安详|0x40000000|12330\n安祥|0x0080|1288\n安享|0x1000|33609\n安歇|0x1000|38045\n安心|0x40000000|4180\n安新|0x0080|1440\n安阳|0x0040|1032\n安养|0x0008|54116\n安义|0x0080|1039\n安逸|0x40000000|18491\n安营|0x1000|36943\n安于|0x1000|24930\n安源|0x100000|1414\n安远|0x0080|1442\n安岳|0x0080|1544\n安葬|0x1000|17219\n安泽|0x0080|985\n安枕|0x1000|1000\n安置|0x1000|2645\n安装|0x1000|3200\n安坐|0x1000|903\n桉树|0x100000|32345\n桉油|0x100000|1210\n氨化|0x1000|1117\n氨基|0x100000|785\n氨解|0x100000|0\n氨气|0x100000|41641\n氨水|0x100000|34573\n氨酸|0x0000|515\n庵堂|0x100000|46088\n庵主|0x100000|0\n谙达|0x1000|1314\n谙练|0x40000000|55567\n谙熟|0x1000|36771\n谙晓|0x1000|1332\n鹌鹑|0x100000|29290\n鞍部|0x100000|1110\n鞍点|0x100000|0\n鞍钢|0x0008|779\n鞍鞯|0x100000|1174\n鞍马|0x100000|26027\n鞍山|0x0040|1005\n鞍尾|0x0008|1351\n鞍子|0x100000|38627\n俺家|0x10000|781\n俺们|0x10000|663\n铵基|0x0080|0\n铵盐|0x0080|1031\n岸壁|0x0080|1219\n岸边|0x8000|665\n岸标|0x100000|1293\n岸防|0x0080|1151\n岸基|0x100000|4\n岸礁|0x0008|0\n岸然|0x40000000|50468\n岸上|0x8000|731\n岸滩|0x100000|1194\n按动|0x1000|845\n按键|0x100000|32346\n按揭|0x100000|23054\n按金|0x100000|1070\n按理|0x1000|30787\n按例|0x100000|48995\n按量|0x8000000|952\n按铃|0x1000|988\n按脉|0x1000|52135\n按摩|0x1000|10229\n按捺|0x1000|25943\n按年|0x0000|505\n按钮|0x100000|18863\n按期|0x8000000|12723\n按日|0x0000|473\n按上|0x0000|514\n按时|0x8000000|5677\n按说|0x8000000|19355\n按序|0x0000|416\n按压|0x1000|37125\n按语|0x100000|34909\n按月|0x0000|574\n按照|0x1000|634\n按住|0x1000|675\n案板|0x100000|28985\n案秤|0x100000|1224\n案底|0x100000|1014\n案牍|0x100000|48605\n案发|0x1000|13946\n案犯|0x100000|20151\n案件|0x100000|1461\n案卷|0x100000|23156\n案例|0x100000|7184\n案情|0x100000|11301\n案头|0x100000|18138\n案由|0x100000|36095\n案语|0x100000|1258\n案源|0x100000|1059\n案值|0x100000|13209\n案桌|0x0000|403\n案子|0x100000|6523\n胺基|0x0008|987\n暗暗|0x8000000|6258\n暗坝|0x100000|1494\n暗堡|0x100000|45195\n暗补|0x0000|53105\n暗藏|0x1000|25244\n暗娼|0x100000|34574\n暗场|0x100000|55568\n暗潮|0x100000|49705\n暗处|0x100000|19837\n暗疮|0x100000|824\n暗淡|0x40000000|14340\n暗道|0x100000|37484\n暗地|0x8000000|10450\n暗斗|0x0000|428\n暗房|0x100000|46981\n暗访|0x1000|14710\n暗讽|0x0000|425\n暗沟|0x100000|50469\n暗管|0x0000|380\n暗害|0x1000|42848\n暗含|0x1000|37485\n暗号|0x100000|24620\n暗合|0x1000|38046\n暗河|0x100000|39453\n暗盒|0x100000|55569\n暗黑|0x20000000|656\n暗红|0x100000|32467\n暗花|0x100000|843\n暗话|0x100000|0\n暗疾|0x100000|55084\n暗计|0x100000|1257\n暗记|0x100000|48252\n暗箭|0x100000|40723\n暗礁|0x100000|32206\n暗亏|0x0008|1\n暗里|0x8000000|25539\n暗恋|0x100000|37126\n暗流|0x100000|33724\n暗绿|0x0000|42123\n暗码|0x100000|1126\n暗昧|0x40000000|1069\n暗门|0x100000|980\n暗盘|0x0008|1\n暗泣|0x0000|46982\n暗器|0x100000|48253\n暗渠|0x100000|1138\n暗弱|0x40000000|1098\n暗色|0x20000000|854\n暗杀|0x1000|11305\n暗伤|0x100000|51258\n暗哨|0x100000|54645\n暗示|0x100000|6515\n暗事|0x100000|0\n暗室|0x100000|38214\n暗算|0x1000|26799\n暗锁|0x100000|51702\n暗滩|0x100000|1310\n暗探|0x100000|41869\n暗喜|0x1000|41403\n暗匣|0x100000|1347\n暗线|0x100000|54646\n暗香|0x100000|702\n暗箱|0x100000|851\n暗想|0x1000|16118\n暗巷|0x0040|0\n暗笑|0x1000|26308\n暗影|0x100000|762\n暗语|0x100000|39865\n暗喻|0x100000|45798\n暗指|0x0000|465\n暗中|0x8000000|6274\n暗转|0x100000|55085\n暗自|0x8000000|12063\n黯淡|0x40000000|14340\n黯然|0x40000000|17605\n肮脏|0x40000000|10361\n昂昂|0x40000000|386\n昂藏|0x40000000|1140\n昂贵|0x40000000|10673\n昂起|0x1000|909\n昂然|0x40000000|19075\n昂仁|0x0080|1173\n昂首|0x1000|17992\n昂扬|0x1000|10466\n盎然|0x0100|15295\n盎司|0x20000|29384\n盎斯|0x0008|1197\n凹版|0x100000|52136\n凹槽|0x100000|898\n凹处|0x0040|1024\n凹洞|0x0040|1027\n凹度|0x100000|0\n凹沟|0x0040|1289\n凹痕|0x0000|430\n凹角|0x0040|1365\n凹进|0x1000|1070\n凹镜|0x100000|55911\n凹口|0x0040|1188\n凹面|0x100000|55086\n凹凸|0x100000|40724\n凹洼|0x0040|1288\n凹陷|0x1000|24551\n凹形|0x0008|1072\n敖包|0x100000|41404\n嗷嗷|0x80000|29178\n遨游|0x1000|20391\n熬熬|0x1000|556\n熬过|0x0000|545\n熬煎|0x1000|29713\n熬心|0x40000000|1316\n熬药|0x0000|410\n熬夜|0x1000|27024\n翱翔|0x1000|20192\n聱牙|0x40000000|1325\n鳌头|0x100000|965\n鏖兵|0x100000|1544\n鏖战|0x1000|19916\n拗断|0x0080|382\n拗口|0x40000000|41171\n傲岸|0x40000000|46378\n傲骨|0x100000|35469\n傲慢|0x40000000|13485\n傲气|0x40000000|24871\n傲然|0x0100|23409\n傲人|0x0008|5\n傲世|0x1000|54117\n傲视|0x1000|31596\n奥博|0x40000000|883\n奥迪|0x0008|976\n奥兰|0x0080|1514\n奥林|0x0080|1326\n奥秘|0x100000|11108\n奥妙|0x100000|17348\n奥义|0x100000|1403\n奥援|0x100000|50073\n奥运|0x0008|488\n奥旨|0x100000|0\n澳抗|0x100000|53106\n澳门|0x0040|2475\n澳元|0x100000|585\n澳洲|0x0040|13402\n懊恨|0x1000|0\n懊悔|0x40000000|14668\n懊恼|0x40000000|17125\n懊丧|0x40000000|22085\n鏊子|0x100000|45197\n八百|0x600000|18\n八宝|0x20400000|0\n八成|0x500000|16363\n八大|0x400008|37\n八德|0x400040|0\n八度|0x400000|824\n八方|0x400000|18864\n八风|0x400080|0\n八哥|0x500000|17501\n八个|0x400000|689\n八股|0x400000|25944\n八卦|0x500000|21468\n八关|0x500000|0\n八户|0x400000|1149\n八荒|0x408000|0\n八角|0x400000|17681\n八脚|0x400000|0\n八节|0x400000|421\n八戒|0x400008|0\n八九|0x400000|597\n八开|0x400080|0\n八路|0x0000|18052\n八年|0x400000|69\n八旗|0x500000|18639\n八千|0x600000|16\n八圈|0x400000|0\n八日|0x400000|807\n八十|0x600000|50\n八宿|0x400000|1103\n八天|0x400000|528\n八万|0x600000|11\n八位|0x400000|552\n八仙|0x500000|24416\n八邪|0x400008|0\n八一|0x600000|4464\n八亿|0x600000|8\n八音|0x20400000|0\n八月|0x400000|582\n八折|0x100000|535\n八珍|0x500000|0\n八字|0x500000|13210\n巴巴|0x0000|43826\n巴楚|0x0080|1012\n巴东|0x0040|1438\n巴豆|0x100000|46089\n巴顿|0x0080|1302\n巴哈|0x0080|1411\n巴赫|0x0080|1278\n巴结|0x1000|15138\n巴金|0x100000|586\n巴克|0x0040|1386\n巴库|0x100000|1030\n巴黎|0x0040|2625\n巴里|0x0080|1328\n巴林|0x0040|1266\n巴马|0x0040|1438\n巴南|0x0040|1461\n巴尼|0x0080|1025\n巴青|0x0080|1162\n巴士|0x100000|21941\n巴松|0x0008|1005\n巴塘|0x0080|1006\n巴望|0x1000|25540\n巴乌|0x100000|1031\n巴西|0x0040|861\n巴县|0x0040|991\n巴彦|0x0080|1469\n巴掌|0x100000|8739\n巴中|0x0080|1274\n叭叭|0x40000000|952\n扒车|0x1000|54650\n扒糕|0x100000|1246\n扒灰|0x1000|1125\n扒鸡|0x0000|50672\n扒开|0x1000|861\n扒拉|0x1000|31482\n扒皮|0x1000|49706\n扒窃|0x1000|32913\n扒手|0x100000|31191\n吧嗒|0x1000|34146\n吧唧|0x1000|47289\n吧女|0x100000|54118\n吧台|0x100000|24312\n吧主|0x100000|0\n芭比|0x0080|1080\n芭蕉|0x100000|21890\n芭乐|0x0008|1442\n芭蕾|0x100000|12210\n疤痕|0x100000|22350\n疤瘌|0x100000|1139\n笆斗|0x100000|53585\n笆篱|0x100000|1283\n粑粑|0x100000|859\n拔步|0x0000|47290\n拔草|0x1000|922\n拔城|0x1000|0\n拔出|0x1000|700\n拔除|0x1000|36419\n拔刀|0x0000|534\n拔地|0x1000|0\n拔掉|0x1000|700\n拔毒|0x1000|1131\n拔高|0x1000|26177\n拔河|0x1000|25541\n拔尖|0x40000000|18232\n拔剑|0x1000|793\n拔脚|0x1000|36772\n拔节|0x1000|28521\n拔开|0x0000|474\n拔毛|0x0000|459\n拔锚|0x1000|53108\n拔起|0x0000|548\n拔取|0x1000|52604\n拔去|0x0000|456\n拔群|0x1000|1224\n拔染|0x0008|1165\n拔丝|0x100000|54119\n拔腿|0x1000|24105\n拔下|0x0000|548\n拔牙|0x1000|830\n拔营|0x1000|36420\n拔擢|0x1000|46379\n跋扈|0x40000000|25118\n跋涉|0x1000|12269\n跋文|0x100000|50074\n把柄|0x100000|20604\n把持|0x1000|19612\n把舵|0x1000|50075\n把儿|0x100000|20002\n把风|0x1000|51704\n把关|0x1000|8570\n把家|0x1000|49707\n把角|0x0000|54120\n把酒|0x1000|21095\n把揽|0x1000|52605\n把牢|0x40000000|51705\n把脉|0x1000|28898\n把门|0x1000|14437\n把尿|0x0000|50470\n把式|0x100000|20392\n把势|0x100000|1062\n把手|0x100000|22771\n把守|0x1000|15895\n把头|0x100000|18551\n把玩|0x1000|27260\n把稳|0x40000000|0\n把我|0x0000|835\n把握|0x1000|1431\n把晤|0x1000|0\n把戏|0x100000|12124\n把盏|0x1000|46664\n把住|0x1000|910\n把子|0x100000|20298\n靶标|0x100000|1082\n靶场|0x100000|26243\n靶机|0x100000|1153\n靶台|0x100000|0\n靶向|0x100000|952\n靶心|0x100000|44072\n靶子|0x100000|24036\n坝地|0x0000|38629\n坝基|0x100000|53109\n坝身|0x0000|55089\n坝田|0x100000|0\n坝址|0x100000|29291\n坝子|0x100000|28160\n爸爸|0x100000|1575\n罢笔|0x1000|0\n罢黜|0x1000|1059\n罢工|0x1000|10651\n罢官|0x1000|26244\n罢教|0x1000|53586\n罢课|0x1000|28694\n罢了|0x1000|4725\n罢论|0x100000|1396\n罢免|0x1000|9098\n罢赛|0x1000|40725\n罢市|0x1000|31707\n罢手|0x1000|27432\n罢讼|0x1000|0\n罢诉|0x1000|0\n罢休|0x1000|14938\n罢演|0x1000|47593\n罢战|0x1000|47917\n罢职|0x1000|1148\n鲅鱼|0x100000|50852\n霸道|0x40000000|26723\n霸气|0x100000|24931\n霸权|0x100000|14200\n霸市|0x0000|32207\n霸王|0x100000|17126\n霸业|0x100000|41172\n霸占|0x1000|18948\n霸州|0x0040|1269\n霸主|0x100000|20561\n掰开|0x1000|28695\n白案|0x0000|53587\n白白|0x8000000|8844\n白班|0x100000|45497\n白斑|0x100000|680\n白板|0x100000|47291\n白版|0x100000|1076\n白布|0x100000|821\n白菜|0x100000|11341\n白茶|0x100000|911\n白城|0x0040|1350\n白吃|0x100000|23684\n白痴|0x100000|24817\n白炽|0x20000000|833\n白醋|0x100000|52606\n白搭|0x1000|29080\n白带|0x100000|50471\n白道|0x100000|53588\n白底|0x100000|843\n白地|0x100000|36773\n白帝|0x0040|1395\n白点|0x100000|889\n白丁|0x100000|42124\n白垩|0x100000|36596\n白发|0x100000|10858\n白矾|0x0080|53110\n白饭|0x100000|40952\n白方|0x100000|29\n白匪|0x100000|1166\n白费|0x1000|18266\n白粉|0x100000|20929\n白干|0x1000|487\n白鸽|0x100000|804\n白宫|0x0040|7729\n白骨|0x100000|27261\n白鹳|0x100000|42851\n白光|0x0008|1117\n白果|0x100000|35033\n白河|0x0040|1333\n白鹤|0x100000|22862\n白喉|0x100000|34147\n白狐|0x100000|50853\n白虎|0x100000|32468\n白花|0x100000|18492\n白化|0x1000|999\n白话|0x100000|12403\n白桦|0x100000|26309\n白灰|0x100000|27339\n白活|0x1000|809\n白芨|0x100000|1057\n白鸡|0x0008|1084\n白及|0x0008|0\n白浆|0x0008|0\n白金|0x100000|25395\n白鲸|0x100000|934\n白净|0x40000000|19798\n白酒|0x100000|12749\n白菊|0x100000|913\n白卷|0x100000|47919\n白口|0x100000|1128\n白盔|0x100000|1201\n白蜡|0x100000|41642\n白兰|0x100000|1315\n白朗|0x0080|1027\n白浪|0x100000|894\n白梨|0x100000|47594\n白痢|0x0080|55570\n白莲|0x100000|815\n白鲢|0x100000|46380\n白脸|0x100000|19013\n白蔹|0x4000000|0\n白亮|0x0100|955\n白磷|0x100000|1143\n白领|0x100000|18525\n白令|0x100000|405\n白露|0x4000|34434\n白鹿|0x100000|784\n白鹭|0x100000|18267\n白马|0x100000|596\n白猫|0x4000000|1317\n白毛|0x0008|3\n白茅|0x100000|1046\n白煤|0x100000|1230\n白米|0x100000|32965\n白面|0x100000|14869\n白描|0x100000|28986\n白沫|0x100000|27340\n白嫩|0x40000000|26245\n白胖|0x0000|37311\n白票|0x100000|2\n白棋|0x100000|491\n白旗|0x100000|22256\n白前|0x100000|1183\n白区|0x0040|1080\n白饶|0x1000|48608\n白热|0x1000|44326\n白人|0x100000|10683\n白刃|0x100000|38630\n白日|0x100000|16983\n白肉|0x100000|40295\n白润|0x40000000|52607\n白色|0x100000|3182\n白纱|0x0008|527\n白砂|0x0080|0\n白山|0x0040|1280\n白芍|0x100000|939\n白蛇|0x100000|763\n白食|0x100000|48255\n白事|0x100000|40296\n白手|0x8000000|925\n白首|0x0008|1365\n白鼠|0x100000|1007\n白薯|0x100000|21341\n白术|0x100000|920\n白霜|0x100000|950\n白水|0x100000|26800\n白送|0x1000|791\n白苏|0x0080|0\n白塔|0x0008|1275\n白檀|0x100000|1193\n白汤|0x100000|53111\n白糖|0x100000|21415\n白陶|0x100000|0\n白藤|0x100000|1087\n白体|0x100000|1231\n白天|0x4000|1983\n白条|0x100000|15500\n白铁|0x100000|45801\n白厅|0x0008|51708\n白铜|0x100000|38833\n白头|0x1000|44327\n白兔|0x100000|718\n白脱|0x0008|1149\n白薇|0x100000|1076\n白文|0x0080|42634\n白雾|0x100000|835\n白皙|0x40000000|18358\n白鹇|0x0080|1139\n白相|0x1000|966\n白熊|0x100000|47595\n白癣|0x100000|1246\n白雪|0x100000|609\n白血|0x100000|1079\n白眼|0x1000|16961\n白扬|0x0080|1114\n白羊|0x0040|1045\n白杨|0x100000|17245\n白药|0x100000|36597\n白夜|0x100000|39456\n白衣|0x100000|634\n白蚁|0x100000|21995\n白翳|0x100000|0\n白银|0x4000000|15383\n白英|0x0080|1177\n白鼬|0x0080|1306\n白鱼|0x100000|1004\n白玉|0x4000000|27433\n白云|0x100000|7092\n白纸|0x100000|11882\n白芷|0x100000|49708\n白质|0x100000|1044\n白种|0x100000|855\n白昼|0x100000|18865\n白专|0x100000|0\n白浊|0x0000|54124\n白子|0x100000|993\n白字|0x100000|33217\n白族|0x0008|17650\n白做|0x0000|440\n百般|0x8000000|16593\n百宝|0x20000000|1354\n百倍|0x400000|16861\n百病|0x0000|29081\n百部|0x0000|504\n百草|0x100000|819\n百出|0x200000|764\n百度|0x200000|408\n百二|0x600000|0\n百分|0x100000|19764\n百感|0x100000|960\n百个|0x0000|565\n百工|0x100000|1028\n百官|0x100000|9724\n百骸|0x0080|1106\n百合|0x100000|19418\n百花|0x100000|1045\n百会|0x0008|470\n百货|0x100000|14669\n百科|0x100000|502\n百克|0x0008|1011\n百里|0x100000|615\n百灵|0x100000|23353\n百忙|0x800000|32721\n百米|0x200000|701\n百年|0x400000|3583\n百鸟|0x100000|866\n百日|0x0000|16120\n百色|0x0040|1190\n百升|0x0008|1256\n百十|0x400000|877\n百世|0x100000|1178\n百事|0x100000|1027\n百兽|0x100000|894\n百万|0x400000|3798\n百位|0x0000|561\n百戏|0x100000|1034\n百姓|0x100000|1517\n百业|0x100000|24872\n百叶|0x0000|41405\n百一|0x600000|0\n百亿|0x400000|586\n百元|0x0008|1080\n百兆|0x400000|803\n柏林|0x0040|6609\n柏木|0x100000|962\n柏树|0x100000|19838\n柏乡|0x0080|1034\n柏油|0x100000|21469\n柏枝|0x100000|1113\n捭阖|0x1000|1154\n摆摆|0x1000|765\n摆布|0x1000|15558\n摆荡|0x1000|48997\n摆动|0x1000|13211\n摆渡|0x1000|27992\n摆放|0x1000|9950\n摆好|0x1000|779\n摆件|0x100000|53112\n摆酒|0x0000|41406\n摆开|0x1000|850\n摆阔|0x1000|40298\n摆列|0x1000|40080\n摆轮|0x100000|1257\n摆卖|0x0008|0\n摆明|0x1000|850\n摆弄|0x1000|15576\n摆平|0x1000|24873\n摆谱|0x1000|935\n摆起|0x1000|908\n摆设|0x100000|43588\n摆式|0x20000000|1002\n摆手|0x1000|730\n摆摊|0x1000|710\n摆脱|0x1000|2803\n摆线|0x0000|471\n摆夷|0x0008|0\n摆在|0x1000|564\n摆正|0x1000|17838\n摆钟|0x100000|1097\n摆轴|0x100000|1405\n摆桌|0x1000|1163\n摆子|0x100000|36774\n败北|0x1000|21252\n败笔|0x100000|34576\n败兵|0x100000|39458\n败草|0x100000|51261\n败毒|0x1000|55850\n败坏|0x1000|10474\n败火|0x40000000|48998\n败绩|0x100000|24157\n败家|0x1000|36098\n败将|0x100000|38631\n败局|0x100000|31377\n败军|0x100000|36775\n败类|0x100000|24481\n败露|0x1000|26801\n败落|0x1000|33610\n败诉|0x1000|17651\n败退|0x1000|23354\n败亡|0x1000|28440\n败胃|0x40000000|1259\n败象|0x0000|53113\n败兴|0x40000000|32347\n败絮|0x100000|42635\n败血|0x20000000|1157\n败叶|0x100000|38834\n败因|0x100000|976\n败仗|0x100000|18139\n败招|0x100000|1163\n败者|0x100000|849\n败阵|0x1000|39038\n败走|0x1000|890\n拜拜|0x1000|614\n拜别|0x1000|43119\n拜忏|0x1000|1157\n拜城|0x0080|993\n拜辞|0x1000|40299\n拜赐|0x1000|0\n拜倒|0x1000|33726\n拜读|0x1000|27759\n拜访|0x1000|9613\n拜佛|0x1000|28245\n拜服|0x1000|46667\n拜官|0x1000|50076\n拜贺|0x1000|43589\n拜会|0x1000|18195\n拜祭|0x0008|1376\n拜见|0x1000|24264\n拜节|0x1000|0\n拜金|0x1000|39662\n拜客|0x1000|46984\n拜领|0x1000|48256\n拜伦|0x0080|1421\n拜门|0x1000|0\n拜盟|0x1000|0\n拜年|0x1000|9360\n拜请|0x1000|54125\n拜泉|0x0080|1044\n拜认|0x1000|0\n拜神|0x1000|890\n拜师|0x1000|26246\n拜寿|0x1000|30891\n拜堂|0x0000|36776\n拜托|0x1000|18887\n拜望|0x1000|34910\n拜谢|0x1000|21562\n拜谒|0x1000|21136\n稗草|0x0000|46668\n稗史|0x100000|0\n稗子|0x100000|44074\n扳本|0x1000|0\n扳倒|0x1000|37127\n扳道|0x1000|53114\n扳动|0x1000|44905\n扳回|0x1000|836\n扳机|0x100000|29818\n扳平|0x1000|772\n扳钳|0x0080|0\n扳手|0x100000|38215\n扳罾|0x1000|0\n扳指|0x100000|993\n扳子|0x100000|53115\n班班|0x20000|476\n班辈|0x100000|0\n班禅|0x100000|13017\n班长|0x100000|4376\n班车|0x100000|15461\n班船|0x0080|0\n班次|0x100000|22975\n班代|0x0008|1080\n班底|0x100000|34148\n班房|0x100000|35470\n班戈|0x0080|1075\n班后|0x4000|902\n班会|0x100000|31262\n班机|0x100000|20846\n班吉|0x0040|1115\n班级|0x100000|12475\n班鸠|0x0080|0\n班里|0x8000|642\n班轮|0x100000|34911\n班玛|0x0080|1108\n班期|0x100000|48999\n班前|0x4000|1\n班师|0x1000|20801\n班头|0x100000|979\n班图|0x0008|1526\n班委|0x100000|870\n班主|0x100000|896\n班子|0x100000|3511\n班组|0x100000|14075\n般配|0x40000000|31821\n颁布|0x1000|3337\n颁赐|0x1000|1118\n颁发|0x1000|4479\n颁给|0x0000|486\n颁奖|0x1000|6394\n颁赏|0x1000|0\n颁行|0x1000|30245\n颁赠|0x1000|1080\n斑白|0x40000000|26948\n斑斑|0x0100|15117\n斑驳|0x40000000|17839\n斑点|0x100000|22976\n斑痕|0x100000|44604\n斑鸠|0x100000|32966\n斑斓|0x40000000|20893\n斑羚|0x100000|396\n斑马|0x100000|29082\n斑蝥|0x100000|54126\n斑秃|0x100000|54655\n斑纹|0x100000|41175\n斑岩|0x100000|1199\n斑疹|0x100000|1038\n斑竹|0x100000|45200\n搬兵|0x1000|50855\n搬出|0x1000|736\n搬动|0x1000|873\n搬家|0x1000|9477\n搬进|0x1000|705\n搬开|0x0000|459\n搬弄|0x1000|41176\n搬迁|0x1000|6229\n搬屋|0x100000|424\n搬移|0x1000|49354\n搬用|0x1000|39039\n搬运|0x1000|12281\n搬走|0x1000|717\n瘢痕|0x100000|42127\n板板|0x0080|0\n板报|0x100000|27672\n板本|0x100000|1121\n板壁|0x100000|26724\n板材|0x100000|23519\n板车|0x100000|891\n板床|0x100000|40300\n板凳|0x100000|10200\n板儿|0x100000|892\n板房|0x0000|49709\n板斧|0x100000|35938\n板鼓|0x100000|0\n板胡|0x100000|47920\n板机|0x0080|501\n板结|0x0000|29927\n板卡|0x100000|781\n板块|0x100000|10392\n板栗|0x100000|14020\n板脸|0x0000|50077\n板料|0x100000|987\n板铺|0x0000|51262\n板桥|0x100000|1165\n板球|0x0000|41177\n板实|0x40000000|0\n板式|0x100000|49355\n板书|0x100000|40510\n板刷|0x100000|49356\n板条|0x100000|46986\n板鸭|0x100000|42637\n板牙|0x100000|44075\n板岩|0x100000|941\n板眼|0x100000|27178\n板油|0x100000|50078\n板障|0x0080|51263\n板正|0x40000000|1072\n板滞|0x40000000|50079\n板子|0x100000|17127\n版本|0x100000|8413\n版次|0x100000|6527\n版画|0x100000|14170\n版刻|0x100000|1141\n版口|0x100000|0\n版块|0x100000|559\n版面|0x100000|11358\n版纳|0x100000|1397\n版权|0x100000|8859\n版式|0x100000|30892\n版税|0x100000|31004\n版图|0x100000|15697\n版心|0x100000|1154\n版型|0x100000|0\n版主|0x0008|489\n版筑|0x100000|1149\n办案|0x1000|4426\n办班|0x1000|860\n办报|0x1000|18234\n办差|0x0000|51264\n办厂|0x1000|652\n办成|0x1000|786\n办到|0x1000|734\n办法|0x100000|273\n办稿|0x1000|0\n办公|0x1000|3210\n办好|0x1000|677\n办货|0x1000|44328\n办结|0x1000|904\n办理|0x1000|1802\n办事|0x1000|1775\n办妥|0x0008|830\n办完|0x1000|722\n办学|0x1000|3944\n办证|0x1000|736\n办置|0x1000|0\n办罪|0x1000|53116\n半白|0x0080|0\n半百|0x100000|32085\n半饱|0x1000|40953\n半壁|0x100000|935\n半边|0x100000|15991\n半步|0x0000|588\n半场|0x100000|605\n半打|0x0000|433\n半大|0x20000000|876\n半岛|0x100000|6339\n半道|0x8000|41407\n半点|0x400000|619\n半个|0x0000|762\n半酣|0x1000|36944\n半价|0x100000|27993\n半角|0x0008|910\n半截|0x400000|11257\n半径|0x100000|12187\n半旧|0x20000000|1049\n半开|0x0080|516\n半空|0x100000|13299\n半拉|0x100000|956\n半路|0x100000|16942\n半年|0x100000|490\n半票|0x100000|39867\n半瓶|0x100000|498\n半坡|0x0000|37128\n半旗|0x100000|976\n半球|0x100000|22660\n半日|0x400000|747\n半山|0x8000|1286\n半晌|0x4000|682\n半身|0x100000|637\n半生|0x100000|18169\n半时|0x0080|444\n半世|0x8000|37313\n半数|0x200000|8669\n半死|0x0100|21416\n半天|0x0000|10650\n半途|0x8000|19297\n半夏|0x100000|922\n半仙|0x0080|872\n半响|0x0080|532\n半休|0x1000|54127\n半袖|0x0000|50857\n半腰|0x8000|40301\n半夜|0x4000|6590\n半音|0x100000|1039\n半影|0x100000|1164\n半圆|0x100000|26802\n半月|0x200000|632\n半载|0x200000|26178\n半子|0x100000|51265\n伴唱|0x1000|39040\n伴读|0x100000|50474\n伴儿|0x100000|903\n伴郎|0x100000|49000\n伴侣|0x100000|14953\n伴娘|0x100000|37842\n伴生|0x1000|968\n伴送|0x1000|0\n伴随|0x1000|4630\n伴同|0x1000|49001\n伴舞|0x1000|33218\n伴星|0x100000|1105\n伴音|0x100000|49357\n伴游|0x100000|43363\n伴有|0x1000|17626\n伴奏|0x1000|13058\n扮成|0x1000|821\n扮酷|0x0000|54128\n扮戏|0x1000|0\n扮相|0x100000|31133\n扮演|0x1000|5444\n扮装|0x1000|54129\n扮作|0x1000|36945\n拌和|0x1000|32588\n拌料|0x0000|51711\n拌蒜|0x1000|1\n拌匀|0x1000|822\n拌种|0x1000|50859\n拌嘴|0x1000|28795\n绊倒|0x1000|27760\n绊儿|0x0000|47921\n绊脚|0x0000|45803\n绊子|0x0000|44605\n瓣瓣|0x20000|0\n瓣儿|0x0000|35471\n瓣膜|0x100000|35623\n邦国|0x100000|438\n邦交|0x100000|10179\n邦联|0x100000|38049\n帮办|0x100000|28796\n帮帮|0x1000|622\n帮补|0x1000|53590\n帮衬|0x1000|41408\n帮厨|0x1000|40511\n帮凑|0x1000|0\n帮扶|0x1000|4894\n帮工|0x100000|24744\n帮规|0x100000|54657\n帮会|0x100000|39041\n帮教|0x1000|10563\n帮困|0x0000|16121\n帮忙|0x1000|4496\n帮派|0x100000|33869\n帮腔|0x1000|32862\n帮手|0x100000|15807\n帮套|0x100000|1431\n帮同|0x1000|0\n帮闲|0x100000|31378\n帮凶|0x100000|25685\n帮佣|0x100000|48257\n帮主|0x100000|51266\n帮助|0x1000|423\n帮子|0x100000|24875\n梆梆|0x0080|0\n梆硬|0x0100|52138\n梆子|0x100000|8363\n绑带|0x0008|48258\n绑定|0x0008|641\n绑匪|0x100000|30359\n绑缚|0x0080|46384\n绑架|0x1000|7606\n绑票|0x1000|30893\n绑腿|0x100000|37843\n绑扎|0x1000|40081\n榜额|0x100000|0\n榜首|0x100000|13006\n榜书|0x0000|50475\n榜文|0x100000|50476\n榜眼|0x100000|866\n榜样|0x100000|5483\n膀臂|0x100000|47292\n膀胱|0x100000|25579\n膀子|0x100000|13285\n蚌埠|0x0040|1051\n蚌壳|0x100000|39459\n蚌珠|0x100000|1260\n傍边|0x0000|458\n傍晚|0x4000|5349\n傍午|0x4000|55575\n傍依|0x0000|54658\n棒冰|0x100000|937\n棒操|0x100000|55094\n棒槌|0x100000|23468\n棒打|0x0000|459\n棒喝|0x1000|36425\n棒球|0x100000|18981\n棒糖|0x0000|52609\n棒头|0x100000|1126\n棒针|0x100000|55574\n棒子|0x100000|17606\n谤议|0x100000|0\n磅礴|0x40000000|25431\n磅秤|0x100000|40726\n包办|0x1000|13845\n包包|0x100000|575\n包被|0x100000|935\n包庇|0x1000|15478\n包藏|0x1000|32863\n包层|0x100000|1159\n包产|0x1000|35163\n包场|0x1000|46670\n包抄|0x1000|30136\n包车|0x100000|28441\n包乘|0x1000|1\n包船|0x1000|1055\n包袋|0x0008|1240\n包饭|0x1000|38835\n包房|0x100000|25120\n包袱|0x100000|5598\n包干|0x1000|893\n包钢|0x0020|816\n包工|0x100000|29385\n包公|0x0080|24745\n包谷|0x100000|958\n包管|0x1000|35472\n包裹|0x100000|10133\n包含|0x1000|3820\n包涵|0x1000|24417\n包换|0x1000|46987\n包伙|0x1000|55095\n包机|0x100000|9519\n包夹|0x0008|1419\n包间|0x0000|34009\n包金|0x100000|47598\n包茎|0x100000|901\n包举|0x1000|0\n包括|0x1000|488\n包揽|0x1000|11703\n包罗|0x1000|38050\n包络|0x100000|1028\n包埋|0x0008|0\n包膜|0x100000|977\n包囊|0x100000|1089\n包赔|0x1000|49358\n包皮|0x100000|36946\n包票|0x100000|49359\n包容|0x1000|13725\n包上|0x0000|521\n包身|0x20000000|1089\n包探|0x100000|1384\n包头|0x100000|1058\n包退|0x1000|48259\n包围|0x100000|5032\n包厢|0x100000|15277\n包箱|0x0000|389\n包销|0x1000|25945\n包修|0x1000|39238\n包养|0x0000|45501\n包衣|0x100000|923\n包银|0x100000|1142\n包圆|0x1000|1060\n包月|0x1000|30894\n包孕|0x0000|50862\n包蕴|0x1000|52610\n包扎|0x1000|17736\n包住|0x1000|787\n包装|0x4000000|4013\n包子|0x100000|13171\n包租|0x1000|41645\n孢囊|0x0080|0\n孢子|0x100000|15908\n苞谷|0x100000|1038\n苞米|0x100000|955\n胞波|0x0008|1247\n胞弟|0x100000|36099\n胞姐|0x0000|54130\n胞妹|0x100000|44077\n胞囊|0x0008|0\n胞兄|0x100000|45201\n胞衣|0x100000|51712\n胞姊|0x100000|1272\n龅牙|0x100000|55096\n褒贬|0x100000|24361\n褒词|0x100000|55851\n褒奖|0x1000|20648\n褒扬|0x1000|25316\n褒义|0x100000|868\n褒誉|0x100000|0\n雹灾|0x100000|44907\n雹子|0x100000|45804\n宝宝|0x100000|15032\n宝贝|0x100000|7423\n宝藏|0x100000|19269\n宝刀|0x100000|29180\n宝岛|0x0040|23014\n宝坻|0x0080|1346\n宝地|0x100000|23210\n宝典|0x100000|37314\n宝殿|0x0000|47599\n宝丰|0x0080|1323\n宝钢|0x0008|706\n宝贵|0x40000000|2851\n宝号|0x100000|53592\n宝货|0x100000|1090\n宝鸡|0x0040|1086\n宝剑|0x100000|14977\n宝眷|0x100000|51267\n宝库|0x100000|12247\n宝蓝|0x100000|48612\n宝马|0x100000|896\n宝器|0x100000|939\n宝清|0x0080|1544\n宝庆|0x0008|1470\n宝刹|0x100000|54659\n宝山|0x0040|22041\n宝石|0x4000000|13350\n宝书|0x0000|49711\n宝塔|0x100000|18140\n宝物|0x100000|21838\n宝兴|0x0040|1429\n宝应|0x0040|1251\n宝玉|0x0008|22306\n宝元|0x100000|985\n宝珠|0x100000|11598\n宝座|0x100000|13528\n饱餐|0x1000|28797\n饱尝|0x1000|22481\n饱读|0x1000|0\n饱含|0x1000|12354\n饱和|0x1000|9935\n饱经|0x1000|28798\n饱览|0x1000|29179\n饱满|0x40000000|9068\n饱暖|0x100000|910\n饱食|0x1000|910\n饱受|0x1000|12943\n饱学|0x1000|43590\n饱胀|0x0000|50080\n饱足|0x0000|440\n保安|0x100000|6348\n保本|0x1000|31005\n保镖|0x100000|17523\n保藏|0x1000|31823\n保长|0x100000|1040\n保持|0x1000|589\n保存|0x1000|3177\n保单|0x100000|17436\n保德|0x0040|1482\n保底|0x1000|37486\n保定|0x0040|984\n保尔|0x0080|1414\n保费|0x100000|760\n保固|0x1000|902\n保管|0x1000|8767\n保户|0x100000|468\n保护|0x1000|516\n保皇|0x1000|34010\n保甲|0x100000|31708\n保价|0x20000000|35164\n保驾|0x1000|21049\n保荐|0x1000|25467\n保健|0x1000|4511\n保洁|0x1000|16364\n保警|0x0008|2\n保靖|0x0080|1002\n保举|0x1000|37315\n保康|0x0080|1434\n保量|0x1000|1022\n保留|0x1000|2760\n保罗|0x0080|1082\n保媒|0x1000|48260\n保密|0x1000|7695\n保苗|0x1000|38632\n保民|0x0080|996\n保命|0x1000|40512\n保姆|0x100000|7365\n保暖|0x40000000|15501\n保票|0x100000|37129\n保全|0x1000|8424\n保人|0x100000|36948\n保山|0x100000|1285\n保墒|0x1000|32968\n保身|0x1000|432\n保湿|0x1000|639\n保释|0x1000|33870\n保收|0x0000|30137\n保守|0x40000000|6675\n保税|0x1000|817\n保送|0x1000|25001\n保胎|0x1000|54131\n保土|0x1000|1169\n保外|0x1000|1002\n保卫|0x1000|3614\n保温|0x1000|15623\n保鲜|0x1000|14234\n保险|0x4000000|1743\n保修|0x1000|24483\n保养|0x1000|12317\n保有|0x1000|18949\n保佑|0x1000|12125\n保育|0x1000|32470\n保障|0x1000|1343\n保真|0x1000|47923\n保证|0x1000|768\n保值|0x1000|12935\n保质|0x1000|700\n保种|0x0000|54660\n保重|0x1000|16221\n保住|0x1000|648\n保准|0x1000|31709\n鸨儿|0x0000|54133\n鸨母|0x100000|39868\n堡礁|0x0008|1280\n堡垒|0x100000|9719\n堡寨|0x100000|1201\n堡主|0x100000|978\n堡子|0x100000|37494\n报案|0x1000|13378\n报备|0x0008|927\n报表|0x100000|12914\n报偿|0x1000|36598\n报呈|0x1000|54661\n报仇|0x1000|10869\n报酬|0x100000|5573\n报出|0x1000|784\n报答|0x1000|11933\n报单|0x100000|47293\n报导|0x100000|623\n报到|0x1000|10224\n报道|0x1000|1001\n报德|0x1000|33871\n报端|0x100000|21510\n报恩|0x1000|27588\n报贩|0x100000|1113\n报废|0x1000|10422\n报分|0x100000|1112\n报复|0x1000|5209\n报告|0x100000|391\n报功|0x0000|30246\n报关|0x1000|12476\n报馆|0x100000|14654\n报国|0x1000|12525\n报夹|0x100000|1196\n报价|0x1000|16092\n报架|0x100000|1113\n报捷|0x1000|26950\n报界|0x100000|29386\n报警|0x1000|8325\n报刊|0x100000|3474\n报考|0x1000|8850\n报名|0x1000|4371\n报幕|0x1000|44329\n报盘|0x1000|1012\n报批|0x1000|16782\n报请|0x1000|18708\n报人|0x100000|37487\n报丧|0x1000|35624\n报上|0x1000|713\n报社|0x100000|6142\n报审|0x1000|49360\n报失|0x1000|53593\n报时|0x1000|41646\n报数|0x1000|43365\n报税|0x1000|825\n报送|0x1000|11414\n报摊|0x100000|32589\n报亭|0x100000|36599\n报停|0x1000|1100\n报童|0x100000|40955\n报头|0x100000|36949\n报文|0x100000|896\n报务|0x100000|48614\n报喜|0x1000|18734\n报销|0x1000|8146\n报晓|0x1000|32722\n报效|0x1000|12881\n报信|0x1000|26310\n报修|0x1000|40083\n报验|0x0000|47924\n报业|0x100000|23909\n报以|0x1000|772\n报应|0x100000|17149\n报忧|0x1000|25875\n报怨|0x1000|28161\n报载|0x1000|17860\n报站|0x0000|53594\n报章|0x100000|24553\n报帐|0x0008|447\n报账|0x1000|28083\n报知|0x1000|1007\n报纸|0x100000|1253\n抱抱|0x1000|626\n抱病|0x1000|27831\n抱持|0x1000|829\n抱定|0x1000|892\n抱负|0x100000|14530\n抱憾|0x1000|39239\n抱恨|0x1000|49002\n抱紧|0x0000|576\n抱愧|0x1000|43366\n抱起|0x0000|668\n抱歉|0x40000000|11191\n抱屈|0x40000000|40956\n抱拳|0x1000|29819\n抱死|0x1000|1057\n抱头|0x1000|831\n抱团|0x40000000|886\n抱窝|0x1000|52613\n抱养|0x1000|40513\n抱腰|0x1000|691\n抱有|0x1000|680\n抱怨|0x1000|6343\n抱住|0x1000|554\n豹骨|0x100000|0\n豹猫|0x100000|1156\n豹纹|0x100000|815\n豹子|0x100000|14655\n趵趵|0x80000|1103\n鲍鱼|0x100000|28800\n暴毙|0x1000|49003\n暴病|0x100000|39665\n暴跌|0x1000|23015\n暴动|0x100000|14745\n暴发|0x1000|11985\n暴沸|0x0080|0\n暴风|0x100000|33479\n暴富|0x1000|26658\n暴光|0x1000|570\n暴洪|0x100000|1311\n暴君|0x100000|30577\n暴客|0x0080|1217\n暴力|0x100000|3518\n暴吏|0x100000|0\n暴利|0x100000|19183\n暴戾|0x40000000|33219\n暴敛|0x1000|42853\n暴烈|0x40000000|33083\n暴露|0x1000|3938\n暴乱|0x100000|25181\n暴民|0x100000|918\n暴怒|0x100000|30681\n暴虐|0x1000|27762\n暴晒|0x1000|35473\n暴尸|0x1000|49362\n暴死|0x1000|40303\n暴跳|0x1000|31134\n暴突|0x1000|46385\n暴徒|0x100000|23469\n暴笑|0x0080|664\n暴行|0x100000|14723\n暴雪|0x100000|702\n暴牙|0x0080|429\n暴雨|0x100000|6441\n暴躁|0x40000000|17652\n暴涨|0x1000|20847\n暴政|0x100000|30682\n暴卒|0x1000|1138\n爆炒|0x1000|40304\n爆出|0x1000|691\n爆发|0x1000|3108\n爆冷|0x1000|28442\n爆料|0x0008|621\n爆裂|0x1000|22772\n爆满|0x1000|16771\n爆棚|0x1000|52614\n爆破|0x1000|12507\n爆燃|0x1000|1045\n爆炸|0x1000|2551\n爆仗|0x0000|53120\n爆竹|0x100000|9415\n陂塘|0x100000|1157\n陂陀|0x40000000|1365\n卑鄙|0x40000000|13831\n卑贱|0x40000000|30578\n卑劣|0x40000000|18526\n卑怯|0x40000000|37316\n卑俗|0x40000000|1155\n卑琐|0x0000|42130\n卑微|0x40000000|22661\n卑污|0x40000000|40084\n卑下|0x40000000|33480\n卑职|0x100000|1032\n杯杯|0x20000|1\n杯盖|0x100000|989\n杯葛|0x0008|1027\n杯赛|0x100000|8808\n杯盏|0x0000|46386\n杯子|0x100000|8617\n悲哀|0x40000000|5572\n悲惨|0x40000000|8869\n悲愁|0x40000000|39042\n悲楚|0x0000|48616\n悲怆|0x40000000|19388\n悲悼|0x1000|34577\n悲愤|0x40000000|13083\n悲歌|0x100000|29181\n悲观|0x40000000|9652\n悲号|0x1000|40305\n悲欢|0x100000|744\n悲剧|0x100000|3849\n悲苦|0x40000000|23685\n悲凉|0x40000000|15443\n悲悯|0x1000|27908\n悲鸣|0x1000|33221\n悲凄|0x40000000|45504\n悲戚|0x40000000|29083\n悲泣|0x1000|32210\n悲切|0x40000000|36260\n悲情|0x0000|598\n悲秋|0x0000|42374\n悲伤|0x40000000|9703\n悲声|0x0000|28341\n悲思|0x0000|53596\n悲酸|0x0000|45505\n悲叹|0x1000|29084\n悲啼|0x0000|46672\n悲恸|0x40000000|29293\n悲痛|0x40000000|7855\n悲辛|0x40000000|1096\n悲咽|0x0000|51714\n悲壮|0x40000000|10550\n碑版|0x100000|1181\n碑额|0x100000|53597\n碑记|0x100000|41871\n碑碣|0x100000|50478\n碑刻|0x100000|34275\n碑林|0x100000|34435\n碑铭|0x100000|41872\n碑身|0x100000|53121\n碑石|0x100000|36100\n碑帖|0x100000|38635\n碑亭|0x100000|46387\n碑拓|0x0000|55580\n碑文|0x100000|19613\n碑学|0x100000|0\n碑阴|0x100000|1178\n碑志|0x100000|1156\n碑座|0x100000|50479\n北爱|0x0040|1043\n北安|0x0040|1416\n北岸|0x8000|713\n北碚|0x0080|1181\n北边|0x100000|14680\n北部|0x2000000|3505\n北侧|0x2000000|764\n北朝|0x4000|26109\n北辰|0x0020|744\n北大|0x0020|526\n北岛|0x100000|1357\n北斗|0x0080|24363\n北端|0x2000000|860\n北段|0x2000000|841\n北伐|0x1000|14724\n北方|0x2000000|1878\n北房|0x0000|33222\n北非|0x0040|20075\n北风|0x100000|7641\n北姑|0x0008|0\n北瓜|0x100000|1193\n北国|0x100000|16752\n北海|0x0040|970\n北韩|0x0008|1477\n北汉|0x0000|31710\n北航|0x0020|794\n北后|0x0008|1130\n北极|0x100000|12344\n北江|0x0040|1374\n北疆|0x0040|33223\n北郊|0x100000|800\n北街|0x100000|787\n北京|0x0040|141\n北凉|0x0008|0\n北流|0x0040|1326\n北麓|0x2000000|29607\n北美|0x0040|880\n北门|0x100000|731\n北面|0x2000000|16783\n北宁|0x0040|1520\n北欧|0x0040|13542\n北票|0x0040|951\n北平|0x0040|1251\n北齐|0x0080|30021\n北区|0x100000|1077\n北曲|0x0000|48617\n北商|0x0008|1105\n北上|0x1000|8972\n北宋|0x4000|14631\n北头|0x0000|40727\n北纬|0x100000|17085\n北魏|0x4000|20432\n北洋|0x100000|1277\n北影|0x0008|858\n北约|0x0020|3837\n北岳|0x100000|456\n北越|0x0080|1010\n北站|0x0040|789\n北周|0x4000|35167\n贝贝|0x0008|1058\n贝蒂|0x0080|1374\n贝雕|0x100000|53122\n贝尔|0x0080|1123\n贝卡|0x0080|908\n贝壳|0x100000|22482\n贝克|0x0008|1286\n贝拉|0x0080|1398\n贝勒|0x100000|1459\n贝类|0x100000|21511\n贝利|0x0080|1186\n贝母|0x100000|45807\n贝宁|0x0040|1450\n贝莎|0x0080|0\n贝司|0x4000000|1291\n备案|0x1000|6180\n备办|0x1000|37488\n备查|0x1000|37489\n备饭|0x0000|52143\n备份|0x100000|22526\n备感|0x1000|853\n备耕|0x1000|17064\n备荒|0x1000|37845\n备货|0x1000|49713\n备件|0x100000|36102\n备考|0x1000|28247\n备课|0x1000|20465\n备料|0x1000|42376\n备马|0x0000|41647\n备品|0x100000|46674\n备齐|0x1000|908\n备取|0x1000|1124\n备受|0x1000|7863\n备述|0x1000|0\n备胎|0x0008|1366\n备忘|0x20000000|55583\n备悉|0x0000|53598\n备选|0x1000|797\n备用|0x1000|16275\n备有|0x1000|21512\n备员|0x0000|50864\n备战|0x1000|7241\n备至|0x8000000|29608\n备置|0x0000|50082\n备注|0x100000|49004\n备足|0x1000|945\n背板|0x100000|874\n背榜|0x1000|0\n背包|0x100000|13300\n背背|0x0000|487\n背部|0x8000|21839\n背带|0x100000|35166\n背袋|0x0008|1012\n背地|0x8000000|1005\n背篼|0x100000|38836\n背对|0x1000|789\n背风|0x1000|32969\n背负|0x1000|18577\n背光|0x1000|44609\n背后|0x2000000|2249\n背脊|0x100000|803\n背街|0x100000|1036\n背景|0x100000|1831\n背静|0x40000000|51715\n背靠|0x1000|723\n背筐|0x100000|53595\n背离|0x1000|11959\n背篓|0x100000|29292\n背面|0x100000|14632\n背谬|0x40000000|1255\n背囊|0x100000|42373\n背叛|0x1000|11068\n背鳍|0x100000|55097\n背起|0x1000|564\n背气|0x1000|0\n背弃|0x1000|23785\n背人|0x1000|40306\n背上|0x1000|578\n背时|0x1000|38837\n背书|0x1000|29294\n背熟|0x1000|930\n背诵|0x1000|14045\n背痛|0x100000|774\n背头|0x0000|41182\n背向|0x1000|885\n背斜|0x1000|1126\n背心|0x100000|12308\n背信|0x1000|1036\n背阴|0x1000|43120\n背影|0x100000|8128\n背约|0x1000|44909\n背运|0x100000|45203\n背债|0x1000|51269\n背着|0x1000|545\n背子|0x100000|0\n钡餐|0x100000|1143\n钡盐|0x100000|1127\n倍儿|0x8000000|830\n倍感|0x1000|22087\n倍加|0x8000000|13726\n倍律|0x100000|0\n倍率|0x100000|46992\n倍频|0x0000|512\n倍受|0x1000|28801\n倍数|0x100000|30139\n倍增|0x1000|17406\n悖晦|0x40000000|0\n悖理|0x40000000|1\n悖乱|0x1000|0\n悖论|0x100000|23786\n悖谬|0x40000000|48262\n悖逆|0x1000|38838\n被捕|0x1000|8203\n被刺|0x0000|30477\n被袋|0x100000|1285\n被单|0x100000|21996\n被盗|0x1000|643\n被动|0x1000|5443\n被服|0x100000|33365\n被俘|0x1000|17706\n被覆|0x100000|47295\n被告|0x100000|4582\n被害|0x1000|16547\n被叫|0x1000|744\n被控|0x1000|32865\n被困|0x0000|646\n被里|0x100000|37130\n被面|0x100000|33612\n被难|0x1000|44910\n被骗|0x0000|644\n被迫|0x8000000|5410\n被褥|0x100000|12882\n被杀|0x0000|654\n被套|0x100000|40085\n被头|0x100000|37131\n被窝|0x100000|614\n被卧|0x100000|1006\n被絮|0x0000|55098\n被占|0x1000|897\n被罩|0x100000|37846\n被子|0x100000|6656\n焙粉|0x0008|0\n焙干|0x1000|55584\n焙烘|0x100000|1221\n焙烧|0x1000|994\n辈辈|0x0000|374\n辈出|0x1000|22916\n辈分|0x100000|33481\n辈数|0x100000|1259\n辈子|0x20000|9022\n蓓蕾|0x100000|39043\n褙子|0x100000|0\n奔波|0x1000|9023\n奔驰|0x1000|9600\n奔出|0x0008|1338\n奔窜|0x1000|40728\n奔放|0x40000000|15220\n奔赴|0x1000|8488\n奔劳|0x1000|1\n奔流|0x100000|16093\n奔马|0x100000|1406\n奔忙|0x1000|23847\n奔命|0x1000|39240\n奔跑|0x1000|9556\n奔去|0x0000|611\n奔丧|0x1000|30022\n奔驶|0x1000|1211\n奔逃|0x1000|26028\n奔腾|0x1000|11693\n奔头|0x100000|927\n奔突|0x1000|36951\n奔袭|0x1000|31824\n奔向|0x1000|629\n奔泻|0x1000|46093\n奔涌|0x1000|20931\n奔逐|0x1000|54664\n奔走|0x1000|9795\n贲临|0x0080|1538\n贲门|0x100000|51270\n锛子|0x0000|50865\n本案|0x10000|789\n本班|0x10000|782\n本版|0x10000|522\n本报|0x10000|504\n本本|0x100000|594\n本币|0x100000|962\n本部|0x100000|20562\n本埠|0x10000|40307\n本草|0x0008|1144\n本册|0x0000|55099\n本厂|0x10000|590\n本场|0x10000|673\n本初|0x10000|979\n本次|0x10000|527\n本村|0x10000|862\n本当|0x8000000|35034\n本党|0x10000|1100\n本岛|0x100000|51271\n本底|0x100000|1063\n本地|0x10000|3102\n本店|0x10000|571\n本队|0x10000|865\n本儿|0x100000|962\n本分|0x100000|18456\n本该|0x8000000|15158\n本港|0x10000|884\n本馆|0x10000|892\n本国|0x10000|4696\n本会|0x10000|712\n本级|0x20000000|851\n本籍|0x10000|53123\n本纪|0x100000|863\n本季|0x10000|793\n本家|0x100000|33613\n本节|0x0000|587\n本届|0x10000|3479\n本金|0x100000|17297\n本就|0x0000|8275\n本剧|0x10000|868\n本刊|0x10000|739\n本科|0x100000|7198\n本来|0x8000000|1237\n本栏|0x10000|658\n本垒|0x100000|1066\n本利|0x100000|42854\n本领|0x100000|4304\n本名|0x100000|41648\n本末|0x100000|34276\n本能|0x100000|6840\n本年|0x10000|32591\n本片|0x10000|679\n本篇|0x10000|702\n本票|0x100000|45204\n本期|0x4000|648\n本钱|0x100000|12836\n本区|0x10000|759\n本然|0x0000|409\n本人|0x10000|2423\n本日|0x4000|36261\n本色|0x100000|8059\n本社|0x10000|796\n本身|0x10000|1302\n本生|0x0080|1510\n本省|0x10000|11916\n本市|0x10000|7349\n本事|0x100000|3668\n本堂|0x0080|1048\n本题|0x100000|35625\n本体|0x100000|14531\n本田|0x0008|1008\n本条|0x10000|822\n本土|0x100000|8225\n本位|0x100000|24106\n本文|0x100000|7627\n本务|0x100000|1238\n本息|0x100000|16917\n本溪|0x0040|1168\n本戏|0x100000|1169\n本县|0x10000|15052\n本乡|0x10000|975\n本相|0x100000|34736\n本项|0x10000|927\n本校|0x10000|17627\n本心|0x100000|29388\n本行|0x100000|23976\n本性|0x100000|10014\n本业|0x100000|42855\n本义|0x100000|29389\n本意|0x100000|12126\n本影|0x100000|1159\n本园|0x10000|1040\n本原|0x100000|862\n本源|0x100000|29928\n本院|0x10000|811\n本愿|0x100000|55100\n本月|0x10000|5110\n本站|0x10000|484\n本章|0x10000|19654\n本真|0x100000|857\n本镇|0x10000|936\n本职|0x100000|15852\n本旨|0x0000|43592\n本质|0x100000|1980\n本州|0x0040|919\n本周|0x4000|493\n本着|0x1000|5184\n本子|0x100000|9298\n本字|0x100000|52144\n本族|0x10000|30895\n本组|0x10000|848\n苯胺|0x100000|894\n苯酚|0x100000|834\n苯环|0x0040|1129\n苯基|0x100000|876\n苯醌|0x100000|1190\n畚斗|0x100000|1181\n畚箕|0x100000|1048\n笨伯|0x100000|45205\n笨蛋|0x100000|28248\n笨瓜|0x0000|396\n笨人|0x100000|879\n笨贼|0x100000|961\n笨重|0x40000000|19839\n笨拙|0x40000000|15909\n崩坏|0x1000|943\n崩解|0x1000|44330\n崩溃|0x1000|9152\n崩裂|0x1000|41183\n崩漏|0x100000|1057\n崩落|0x100000|53124\n崩盘|0x1000|47601\n崩塌|0x1000|24818\n崩坍|0x1000|54665\n绷带|0x100000|20932\n绷簧|0x100000|1324\n绷紧|0x1000|773\n绷脸|0x1000|53600\n绷硬|0x0100|1542\n绷子|0x100000|49005\n甭管|0x1000|838\n泵房|0x100000|1035\n泵管|0x100000|1076\n泵站|0x100000|25946\n迸出|0x0000|532\n迸发|0x1000|15646\n迸飞|0x0000|53601\n迸溅|0x1000|45809\n迸裂|0x1000|43122\n迸流|0x1000|0\n迸射|0x1000|942\n蹦蹦|0x1000|565\n蹦床|0x100000|55101\n蹦达|0x1000|968\n蹦迪|0x1000|841\n蹦高|0x1000|49714\n蹦极|0x100000|35168\n蹦跳|0x1000|28600\n逼供|0x1000|17886\n逼宫|0x1000|904\n逼和|0x1000|40957\n逼婚|0x1000|54135\n逼近|0x1000|10859\n逼进|0x1000|489\n逼命|0x1000|0\n逼迫|0x1000|13799\n逼抢|0x0000|43833\n逼人|0x1000|10710\n逼使|0x1000|40729\n逼视|0x1000|29390\n逼死|0x1000|820\n逼问|0x1000|33483\n逼肖|0x40000000|0\n逼仄|0x40000000|929\n逼债|0x1000|43593\n逼真|0x40000000|13800\n荸荠|0x100000|37847\n鼻癌|0x100000|1180\n鼻翅|0x0000|47602\n鼻窦|0x100000|51272\n鼻儿|0x100000|52615\n鼻甲|0x100000|1121\n鼻尖|0x100000|18735\n鼻镜|0x100000|1101\n鼻疽|0x100000|1292\n鼻孔|0x100000|11116\n鼻梁|0x100000|14550\n鼻毛|0x0000|439\n鼻腔|0x100000|22142\n鼻塞|0x1000|45810\n鼻饲|0x1000|1126\n鼻涕|0x100000|12016\n鼻头|0x100000|30683\n鼻息|0x100000|29295\n鼻血|0x100000|35626\n鼻咽|0x100000|1001\n鼻烟|0x100000|35627\n鼻炎|0x100000|36952\n鼻翼|0x100000|31825\n鼻音|0x100000|34012\n鼻子|0x100000|3537\n鼻祖|0x100000|35323\n匕首|0x100000|16276\n比比|0x8000000|759\n比才|0x0080|1008\n比尔|0x100000|622\n比方|0x1000|12382\n比分|0x100000|5840\n比附|0x1000|40730\n比干|0x0000|458\n比高|0x0080|1373\n比划|0x1000|17327\n比画|0x1000|480\n比及|0x40000|46994\n比价|0x100000|14870\n比肩|0x1000|26029\n比较|0x8000000|321\n比来|0x8000000|1421\n比利|0x0080|1330\n比例|0x100000|1770\n比量|0x1000|40514\n比邻|0x1000|30140\n比率|0x100000|14134\n比美|0x1000|49715\n比拟|0x100000|14419\n比年|0x8000000|1050\n比配|0x1000|0\n比拼|0x1000|562\n比起|0x1000|540\n比丘|0x100000|41649\n比热|0x100000|1030\n比容|0x100000|1214\n比如|0x10000000|1214\n比萨|0x4000000|1133\n比赛|0x1000|899\n比色|0x100000|877\n比绍|0x0040|1189\n比试|0x1000|28601\n比索|0x100000|981\n比特|0x20000|688\n比武|0x1000|16094\n比兴|0x0000|44610\n比翼|0x8000000|31711\n比喻|0x100000|8194\n比照|0x1000|21217\n比值|0x100000|22917\n比重|0x100000|3216\n比作|0x1000|17191\n比做|0x1000|760\n吡啶|0x100000|807\n吡咯|0x100000|985\n吡唑|0x100000|1142\n彼岸|0x100000|13444\n彼此|0x10000|2165\n彼得|0x0080|1098\n彼时|0x4000|770\n秕谷|0x100000|55102\n秕糠|0x100000|1255\n秕子|0x100000|1375\n俾倪|0x100000|0\n笔笔|0x20000|559\n笔触|0x100000|19690\n笔答|0x1000|1122\n笔调|0x100000|24876\n笔端|0x100000|29820\n笔伐|0x0000|39869\n笔法|0x100000|19212\n笔锋|0x100000|29391\n笔杆|0x100000|905\n笔耕|0x1000|36104\n笔供|0x100000|1139\n笔管|0x100000|42856\n笔划|0x100000|563\n笔画|0x100000|19548\n笔会|0x100000|21793\n笔迹|0x100000|19270\n笔记|0x100000|8360\n笔架|0x100000|38051\n笔尖|0x100000|28988\n笔力|0x100000|33084\n笔立|0x0000|55103\n笔录|0x100000|21563\n笔路|0x100000|1288\n笔帽|0x100000|45206\n笔名|0x100000|18106\n笔墨|0x100000|8727\n笔势|0x100000|47603\n笔试|0x100000|18553\n笔受|0x1000|0\n笔顺|0x100000|49716\n笔算|0x1000|54136\n笔谈|0x100000|24819\n笔套|0x100000|53602\n笔体|0x100000|52146\n笔挺|0x40000000|24364\n笔筒|0x100000|32471\n笔头|0x100000|861\n笔误|0x100000|44079\n笔洗|0x100000|52147\n笔下|0x100000|9010\n笔削|0x1000|0\n笔心|0x100000|371\n笔芯|0x100000|928\n笔形|0x100000|53603\n笔砚|0x100000|1048\n笔译|0x1000|50085\n笔意|0x100000|40515\n笔友|0x100000|54666\n笔札|0x100000|1114\n笔债|0x0000|51273\n笔战|0x1000|51274\n笔者|0x100000|3032\n笔直|0x0100|12394\n笔致|0x100000|1133\n笔资|0x100000|51\n鄙薄|0x40000000|30361\n鄙称|0x100000|0\n鄙夫|0x100000|1132\n鄙见|0x0000|54137\n鄙吝|0x40000000|1180\n鄙陋|0x40000000|46388\n鄙弃|0x1000|34578\n鄙人|0x100000|26659\n鄙视|0x1000|16573\n鄙俗|0x40000000|40958\n鄙夷|0x1000|18107\n鄙意|0x100000|48263\n币值|0x100000|27179\n币制|0x100000|40516\n必败|0x1000|836\n必备|0x1000|13026\n必答|0x20000000|987\n必得|0x8000000|16335\n必定|0x8000000|5296\n必读|0x1000|551\n必将|0x8000000|3026\n必经|0x1000|702\n必敬|0x0080|0\n必考|0x1000|883\n必然|0x8000000|1177\n必胜|0x1000|14320\n必死|0x0000|588\n必修|0x1000|29392\n必须|0x8000000|155\n必需|0x20000000|7245\n必要|0x40000000|926\n毕剥|0x0000|52616\n毕节|0x0040|1360\n毕竟|0x8000000|2151\n毕力|0x8000000|0\n毕露|0x1000|36953\n毕命|0x1000|0\n毕生|0x4000|11660\n毕肖|0x40000000|0\n毕业|0x1000|1211\n闭关|0x1000|38423\n闭馆|0x0000|41184\n闭合|0x1000|19510\n闭环|0x0080|911\n闭会|0x1000|17169\n闭架|0x0080|1285\n闭经|0x1000|50480\n闭卷|0x1000|46389\n闭口|0x1000|21290\n闭路|0x20000000|46095\n闭门|0x0000|15808\n闭目|0x0080|22918\n闭幕|0x1000|5189\n闭气|0x1000|48620\n闭塞|0x40000000|14725\n闭上|0x0000|736\n闭市|0x1000|1080\n闭锁|0x1000|37317\n闭庭|0x0080|0\n闭校|0x0000|37788\n闭眼|0x1000|700\n闭嘴|0x0008|683\n庇护|0x1000|15015\n庇荫|0x1000|47925\n庇佑|0x1000|46675\n哔叽|0x100000|29609\n荜茇|0x0008|0\n陛下|0x100000|23683\n毙命|0x1000|23520\n毙伤|0x1000|41873\n狴犴|0x100000|1087\n婢女|0x100000|29929\n敝人|0x10000|452\n敝屣|0x100000|1104\n萆薢|0x100000|0\n痹证|0x100000|1136\n痹症|0x100000|53126\n蓖麻|0x100000|37848\n裨将|0x100000|421\n裨益|0x100000|29495\n辟地|0x0080|0\n辟谷|0x1000|970\n辟邪|0x1000|833\n辟谣|0x1000|35547\n辟作|0x0008|0\n弊病|0x100000|16943\n弊端|0x100000|7998\n弊害|0x100000|45812\n弊政|0x100000|41185\n碧波|0x100000|16140\n碧草|0x100000|43123\n碧海|0x100000|21417\n碧空|0x100000|32211\n碧蓝|0x100000|26951\n碧绿|0x100000|13772\n碧水|0x100000|707\n碧潭|0x0080|0\n碧桃|0x100000|29296\n碧血|0x100000|802\n碧眼|0x100000|822\n碧瑶|0x100000|1025\n碧玉|0x100000|32087\n箅子|0x100000|48264\n蔽日|0x1000|920\n蔽塞|0x1000|1243\n壁板|0x0008|1034\n壁报|0x100000|34150\n壁橱|0x100000|37491\n壁灯|0x100000|39044\n壁挂|0x100000|42379\n壁柜|0x100000|46390\n壁虎|0x100000|33614\n壁画|0x100000|9346\n壁龛|0x100000|44911\n壁孔|0x0080|0\n壁垒|0x100000|8596\n壁立|0x1000|36427\n壁炉|0x100000|29930\n壁钱|0x0080|0\n壁球|0x100000|878\n壁泉|0x0080|0\n壁上|0x8000|763\n壁饰|0x100000|54138\n壁毯|0x100000|46391\n壁纸|0x100000|37849\n壁钟|0x100000|54668\n壁柱|0x100000|1194\n篦子|0x100000|48621\n薜荔|0x100000|1087\n避避|0x0080|0\n避风|0x1000|27994\n避光|0x1000|956\n避寒|0x1000|978\n避讳|0x100000|28989\n避忌|0x1000|44611\n避开|0x1000|591\n避雷|0x1000|880\n避乱|0x1000|45207\n避免|0x1000|1685\n避难|0x1000|15053\n避匿|0x1000|0\n避让|0x1000|26509\n避世|0x1000|42639\n避暑|0x1000|14819\n避税|0x1000|769\n避嫌|0x1000|34737\n避险|0x1000|535\n避邪|0x1000|38217\n避役|0x0080|0\n避雨|0x1000|30478\n避孕|0x1000|22199\n臂膀|0x100000|19872\n臂膊|0x100000|1080\n臂部|0x100000|1014\n臂力|0x100000|41410\n臂弯|0x100000|29931\n臂腕|0x100000|1079\n臂章|0x100000|38052\n臂肘|0x0000|48265\n臂助|0x100000|1061\n髀关|0x0008|0\n璧还|0x1000|1280\n璧月|0x100000|0\n边岸|0x8000|1216\n边坝|0x0040|1213\n边材|0x100000|1225\n边长|0x100000|899\n边城|0x100000|21050\n边陲|0x8000|15118\n边带|0x100000|937\n边地|0x100000|32350\n边防|0x100000|4406\n边锋|0x100000|52618\n边幅|0x100000|38424\n边沟|0x100000|1118\n边关|0x100000|16705\n边患|0x100000|43594\n边际|0x100000|19298\n边检|0x100000|47604\n边疆|0x100000|6532\n边角|0x100000|28522\n边界|0x100000|4372\n边境|0x100000|3957\n边卡|0x100000|55586\n边款|0x100000|1153\n边框|0x100000|44080\n边篱|0x0080|0\n边炉|0x0008|1514\n边路|0x100000|801\n边贸|0x100000|22257\n边门|0x100000|40087\n边民|0x100000|23849\n边区|0x100000|10907\n边塞|0x100000|32473\n边上|0x8000|574\n边饰|0x100000|1116\n边务|0x0000|52150\n边线|0x100000|42380\n边沿|0x8000|21997\n边音|0x0080|1238\n边缘|0x8000|5714\n边远|0x20000000|9253\n边寨|0x100000|42132\n砭骨|0x1000|52151\n砭石|0x100000|1162\n编成|0x1000|762\n编程|0x1000|24484\n编创|0x0000|34437\n编次|0x100000|42133\n编导|0x100000|10317\n编订|0x1000|49365\n编队|0x1000|14187\n编发|0x1000|939\n编号|0x100000|11455\n编后|0x0000|18493\n编绘|0x0000|46096\n编集|0x100000|963\n编辑|0x100000|2194\n编结|0x1000|47605\n编剧|0x100000|11091\n编列|0x1000|50481\n编录|0x1000|54669\n编码|0x1000|13276\n编目|0x100000|39462\n编内|0x0000|54670\n编年|0x20000000|38053\n编排|0x1000|12318\n编派|0x1000|49720\n编配|0x1000|934\n编曲|0x100000|644\n编入|0x1000|821\n编审|0x1000|31006\n编书|0x1000|1022\n编外|0x100000|28602\n编委|0x100000|27512\n编舞|0x0000|40088\n编校|0x1000|36777\n编写|0x1000|5887\n编修|0x1000|20299\n编选|0x1000|26725\n编演|0x1000|38637\n编译|0x1000|20193\n编印|0x1000|19157\n编余|0x20000000|28249\n编造|0x1000|11599\n编者|0x100000|6960\n编织|0x1000|8724\n编制|0x1000|3346\n编钟|0x100000|31007\n编著|0x1000|20724\n编撰|0x1000|15119\n编组|0x1000|26726\n编纂|0x1000|12788\n萹蓄|0x100000|0\n蝙蝠|0x100000|17298\n鳊鱼|0x100000|50086\n鞭策|0x100000|14786\n鞭笞|0x1000|37132\n鞭虫|0x100000|0\n鞭打|0x1000|26867\n鞭毛|0x100000|1157\n鞭炮|0x100000|9742\n鞭梢|0x0000|48623\n鞭尸|0x1000|437\n鞭挞|0x1000|21218\n鞭责|0x1000|0\n鞭子|0x100000|11029\n贬称|0x0000|55105\n贬斥|0x1000|37133\n贬黜|0x1000|1159\n贬词|0x100000|49721\n贬低|0x1000|21564\n贬官|0x0000|46995\n贬毁|0x1000|0\n贬价|0x1000|0\n贬损|0x1000|38425\n贬义|0x100000|38054\n贬抑|0x1000|40517\n贬责|0x1000|0\n贬谪|0x1000|42857\n贬值|0x1000|9825\n贬职|0x1000|55106\n扁柏|0x100000|1174\n扁扁|0x0080|765\n扁长|0x0080|369\n扁锉|0x100000|1310\n扁担|0x100000|11542\n扁豆|0x100000|36954\n扁骨|0x100000|1389\n扁平|0x0100|19799\n扁鹊|0x0080|1474\n扁食|0x100000|1051\n扁桃|0x100000|995\n扁铁|0x0080|0\n扁蓄|0x0080|0\n扁圆|0x0100|40089\n扁舟|0x100000|37042\n扁钻|0x0080|0\n匾额|0x100000|22043\n匾牌|0x100000|1137\n匾文|0x100000|0\n褊急|0x40000000|0\n褊狭|0x40000000|1169\n汴梁|0x100000|1498\n苄基|0x100000|0\n拚搏|0x1000|439\n拚命|0x40000000|809\n便步|0x1000|54671\n便餐|0x100000|43834\n便车|0x100000|43124\n便池|0x100000|37492\n便当|0x40000000|22662\n便道|0x100000|8652\n便饭|0x100000|26030\n便服|0x100000|31008\n便函|0x100000|54139\n便壶|0x100000|55852\n便笺|0x100000|49366\n便捷|0x40000000|8940\n便览|0x100000|55108\n便利|0x40000000|4476\n便了|0x0000|533\n便路|0x100000|55587\n便帽|0x100000|49007\n便门|0x100000|35170\n便秘|0x1000|28697\n便民|0x40000000|7832\n便溺|0x100000|42134\n便盆|0x100000|45813\n便签|0x100000|54140\n便桥|0x100000|42858\n便人|0x0000|55109\n便士|0x100000|939\n便是|0x1000|499\n便所|0x100000|1103\n便条|0x100000|34277\n便桶|0x100000|49008\n便携|0x20000000|662\n便鞋|0x100000|49367\n便血|0x1000|42135\n便宴|0x100000|51276\n便衣|0x100000|16667\n便宜|0x40000000|11445\n便于|0x1000|5525\n便中|0x8000000|55588\n便装|0x100000|28603\n变暗|0x0000|483\n变白|0x0000|534\n变薄|0x0000|479\n变产|0x1000|0\n变长|0x0000|511\n变成|0x1000|581\n变大|0x0000|615\n变淡|0x0000|506\n变蛋|0x100000|1184\n变得|0x1000|496\n变电|0x20000000|745\n变调|0x800000|39667\n变动|0x100000|5350\n变短|0x0000|463\n变法|0x1000|16962\n变革|0x1000|3115\n变格|0x100000|0\n变更|0x1000|6464\n变工|0x0000|49722\n变故|0x100000|16239\n变卦|0x1000|24933\n变好|0x0000|533\n变黑|0x0008|548\n变红|0x0000|519\n变厚|0x0000|432\n变化|0x1000|366\n变坏|0x1000|700\n变幻|0x1000|11895\n变换|0x1000|9796\n变价|0x1000|40308\n变焦|0x0008|667\n变节|0x1000|38638\n变局|0x100000|43367\n变宽|0x0000|437\n变冷|0x0000|517\n变例|0x0000|53127\n变脸|0x1000|21097\n变凉|0x0000|446\n变亮|0x0000|462\n变量|0x100000|15258\n变乱|0x100000|26312\n变卖|0x1000|17170\n变浓|0x0000|404\n变暖|0x0000|538\n变频|0x1000|643\n变平|0x0000|394\n变迁|0x1000|7026\n变浅|0x0000|444\n变轻|0x0000|433\n变热|0x0000|442\n变软|0x0000|488\n变弱|0x0000|465\n变色|0x1000|13652\n变少|0x0000|480\n变声|0x1000|50087\n变数|0x100000|19331\n变松|0x0000|387\n变速|0x1000|26868\n变酸|0x0000|409\n变态|0x1000|14746\n变体|0x100000|29496\n变天|0x1000|38055\n变通|0x1000|18053\n变为|0x1000|3836\n变位|0x1000|993\n变味|0x1000|793\n变细|0x0000|463\n变现|0x1000|24107\n变相|0x8000000|8292\n变小|0x1000|704\n变心|0x1000|33225\n变新|0x1000|997\n变星|0x100000|1004\n变形|0x1000|8698\n变型|0x0000|43368\n变性|0x1000|20194\n变压|0x1000|613\n变样|0x1000|22143\n变异|0x1000|9993\n变易|0x1000|34151\n变音|0x1000|419\n变硬|0x0000|509\n变脏|0x0000|387\n变造|0x1000|956\n变质|0x1000|10588\n变种|0x100000|19511\n变奏|0x100000|859\n遍布|0x1000|8286\n遍地|0x8000|11004\n遍访|0x1000|969\n遍及|0x1000|11049\n遍历|0x0008|826\n遍身|0x8000|434\n遍体|0x8000|862\n遍寻|0x0000|497\n遍野|0x8000|29393\n遍于|0x0000|49009\n辨别|0x1000|10930\n辨出|0x0000|543\n辨明|0x1000|952\n辨清|0x1000|438\n辨认|0x1000|11609\n辨识|0x1000|29394\n辨士|0x100000|1341\n辨析|0x1000|27995\n辨正|0x1000|53128\n辨证|0x1000|20933\n辩白|0x1000|30249\n辩驳|0x1000|20040\n辩才|0x100000|44612\n辩称|0x1000|881\n辩词|0x0008|54672\n辩护|0x1000|9141\n辩解|0x1000|11804\n辩论|0x1000|6705\n辩明|0x1000|1064\n辩难|0x1000|49368\n辩认|0x0008|1\n辩士|0x100000|45208\n辩手|0x0000|49369\n辩说|0x1000|0\n辩诉|0x1000|53606\n辩诬|0x1000|47606\n辩正|0x1000|1168\n辩证|0x20000000|740\n辫子|0x100000|8811\n彪炳|0x1000|942\n彪悍|0x40000000|55589\n彪形|0x20000000|1175\n彪壮|0x40000000|0\n标榜|0x1000|16649\n标本|0x100000|8476\n标兵|0x100000|8699\n标称|0x1000|792\n标尺|0x100000|21291\n标出|0x1000|836\n标的|0x100000|12384\n标灯|0x100000|1237\n标底|0x100000|35779\n标点|0x100000|22615\n标定|0x1000|33486\n标度|0x100000|1072\n标段|0x100000|929\n标杆|0x100000|25318\n标竿|0x0008|954\n标高|0x100000|37671\n标格|0x100000|1118\n标购|0x1000|1203\n标号|0x100000|32474\n标绘|0x1000|1229\n标记|0x100000|11824\n标价|0x1000|14255\n标界|0x100000|0\n标金|0x100000|50482\n标量|0x100000|55110\n标卖|0x0000|55111\n标明|0x1000|11784\n标牌|0x100000|19549\n标签|0x100000|10104\n标枪|0x100000|29497\n标上|0x0008|1440\n标识|0x100000|546\n标示|0x1000|23016\n标售|0x1000|1136\n标书|0x100000|28698\n标题|0x100000|1323\n标贴|0x0008|1342\n标图|0x1000|49370\n标王|0x100000|1386\n标线|0x100000|880\n标样|0x0000|55112\n标引|0x1000|1075\n标语|0x100000|6904\n标志|0x100000|1676\n标致|0x40000000|15639\n标注|0x1000|20076\n标准|0x100000|746\n骠骑|0x100000|947\n膘肥|0x40000000|40733\n膘情|0x100000|1332\n镖局|0x100000|894\n镖客|0x100000|1041\n镖师|0x100000|1022\n镖头|0x100000|529\n飙车|0x1000|48266\n飙升|0x1000|21342\n表白|0x1000|14003\n表报|0x100000|54674\n表表|0x1000|607\n表册|0x100000|47928\n表层|0x100000|12868\n表尺|0x100000|1188\n表达|0x1000|1540\n表带|0x100000|49723\n表单|0x0008|676\n表弟|0x100000|13543\n表哥|0x100000|12489\n表格|0x100000|12309\n表功|0x0000|40519\n表姑|0x100000|1116\n表观|0x100000|1001\n表记|0x100000|52155\n表姐|0x100000|13486\n表解|0x100000|54675\n表舅|0x100000|1063\n表决|0x1000|5295\n表壳|0x100000|912\n表里|0x100000|23055\n表链|0x100000|46097\n表列|0x0080|0\n表露|0x1000|19578\n表率|0x100000|8042\n表妹|0x100000|12543\n表面|0x100000|2359\n表明|0x1000|1103\n表盘|0x100000|46997\n表皮|0x100000|17407\n表亲|0x100000|40090\n表情|0x100000|3315\n表嫂|0x100000|937\n表婶|0x100000|1216\n表示|0x100000|223\n表叔|0x100000|965\n表述|0x1000|7623\n表态|0x1000|7260\n表头|0x100000|917\n表土|0x100000|34580\n表现|0x1000|314\n表象|0x100000|15313\n表型|0x0008|1054\n表兄|0x100000|914\n表演|0x1000|1252\n表扬|0x1000|8184\n表姨|0x100000|1044\n表意|0x1000|921\n表音|0x0080|1098\n表语|0x100000|1057\n表章|0x100000|0\n表彰|0x1000|3648\n表针|0x100000|53607\n表征|0x100000|20848\n表徵|0x0080|0\n表侄|0x100000|44914\n表姊|0x0000|461\n表字|0x100000|25004\n婊子|0x100000|14235\n裱褙|0x1000|53608\n裱工|0x100000|0\n裱糊|0x1000|34912\n裱画|0x1000|1092\n鳔胶|0x100000|1539\n憋闷|0x40000000|23850\n憋气|0x40000000|27673\n憋屈|0x40000000|43597\n鳖甲|0x100000|1094\n别本|0x100000|1188\n别称|0x100000|40959\n别处|0x10000|8758\n别传|0x100000|35628\n别的|0x40000000|1628\n别动|0x20000000|758\n别个|0x10000|504\n别馆|0x100000|901\n别管|0x10000000|724\n别国|0x10000|812\n别号|0x100000|31009\n别急|0x0000|599\n别集|0x100000|46392\n别家|0x10000|38841\n别价|0x1000|0\n别看|0x0000|9664\n别克|0x0008|1074\n别离|0x1000|25468\n别了|0x100000|696\n别论|0x100000|29821\n别忙|0x1000|898\n别名|0x100000|27834\n别扭|0x100000|10208\n别怕|0x0000|589\n别情|0x100000|49010\n别趣|0x100000|1233\n别人|0x10000|646\n别史|0x100000|0\n别是|0x10000000|793\n别墅|0x100000|7469\n别说|0x1000|10551\n别提|0x1000|671\n别体|0x0008|52619\n别无|0x0000|636\n别绪|0x100000|52156\n别样|0x20000000|19917\n别业|0x100000|53129\n别针|0x100000|36105\n别致|0x40000000|12112\n别字|0x100000|34913\n别嘴|0x40000000|0\n蹩脚|0x40000000|27434\n瘪瘪|0x0100|757\n瘪三|0x500000|35171\n宾川|0x0080|1018\n宾词|0x100000|1302\n宾从|0x100000|0\n宾得|0x0008|1272\n宾服|0x1000|0\n宾馆|0x100000|4360\n宾果|0x0080|0\n宾客|0x100000|12857\n宾朋|0x100000|31379\n宾士|0x0008|1490\n宾县|0x0040|1555\n宾阳|0x0080|1408\n宾语|0x100000|30579\n宾主|0x100000|11205\n彬彬|0x40000000|1274\n彬县|0x0040|1014\n傧相|0x100000|32593\n滨草|0x0080|0\n滨海|0x0008|1048\n滨河|0x0040|1258\n滨湖|0x0040|831\n滨江|0x0008|1106\n滨州|0x0040|1138\n缤纷|0x40000000|18322\n槟榔|0x4000000|17840\n槟子|0x100000|1283\n镔铁|0x0080|1092\n濒海|0x1000|1062\n濒河|0x1000|0\n濒临|0x1000|10711\n濒死|0x1000|41186\n濒危|0x1000|12211\n濒于|0x8000000|28342\n摈斥|0x1000|47296\n摈除|0x1000|52621\n摈弃|0x1000|23305\n殡车|0x100000|1540\n殡殓|0x1000|51277\n殡仪|0x100000|956\n殡葬|0x100000|17328\n髌骨|0x100000|51717\n鬓发|0x100000|24680\n鬓角|0x100000|25005\n鬓毛|0x0000|51278\n冰坝|0x0000|55115\n冰棒|0x100000|866\n冰雹|0x100000|15180\n冰层|0x100000|878\n冰茶|0x100000|902\n冰厂|0x100000|1048\n冰场|0x100000|34581\n冰车|0x0000|55116\n冰川|0x100000|8929\n冰船|0x0000|53130\n冰床|0x100000|53609\n冰镩|0x100000|1535\n冰袋|0x100000|47297\n冰刀|0x100000|44081\n冰岛|0x0040|1229\n冰道|0x0000|48626\n冰灯|0x100000|25182\n冰点|0x100000|32594\n冰雕|0x100000|25245\n冰冻|0x100000|20894\n冰斗|0x100000|0\n冰毒|0x100000|27180\n冰封|0x1000|26597\n冰峰|0x100000|36603\n冰斧|0x0080|1280\n冰盖|0x100000|22716\n冰糕|0x100000|922\n冰镐|0x100000|54677\n冰谷|0x0000|46099\n冰挂|0x100000|54141\n冰柜|0x100000|33366\n冰棍|0x100000|774\n冰海|0x100000|968\n冰河|0x100000|26435\n冰花|0x100000|44082\n冰脊|0x0080|0\n冰窖|0x100000|31136\n冰晶|0x100000|27026\n冰库|0x100000|1005\n冰块|0x100000|713\n冰冷|0x40000000|10503\n冰凉|0x40000000|11637\n冰凌|0x100000|30479\n冰溜|0x0000|55117\n冰轮|0x0020|980\n冰排|0x100000|44332\n冰片|0x100000|48627\n冰期|0x4000|19840\n冰橇|0x100000|1276\n冰球|0x100000|18888\n冰人|0x100000|894\n冰山|0x100000|17737\n冰上|0x8000|789\n冰室|0x0080|54142\n冰释|0x1000|42381\n冰霜|0x100000|34738\n冰水|0x100000|746\n冰炭|0x100000|49724\n冰糖|0x100000|27910\n冰桶|0x100000|393\n冰坨|0x100000|49371\n冰隙|0x0080|0\n冰箱|0x100000|7944\n冰楔|0x100000|0\n冰鞋|0x100000|45209\n冰屑|0x0080|4\n冰心|0x100000|1229\n冰雪|0x100000|6914\n冰硬|0x0000|54143\n冰雨|0x100000|539\n冰原|0x100000|890\n冰缘|0x0080|0\n冰镇|0x1000|42640\n冰柱|0x100000|964\n冰砖|0x100000|51718\n冰锥|0x100000|1005\n兵变|0x100000|21138\n兵部|0x100000|874\n兵操|0x0080|1351\n兵差|0x100000|1319\n兵车|0x100000|38842\n兵船|0x100000|36955\n兵丁|0x100000|23306\n兵豆|0x100000|0\n兵法|0x100000|17552\n兵符|0x100000|1039\n兵戈|0x100000|36778\n兵工|0x100000|50868\n兵火|0x100000|46100\n兵祸|0x100000|42136\n兵家|0x100000|21608\n兵甲|0x100000|436\n兵舰|0x100000|30896\n兵谏|0x1000|47298\n兵科|0x0080|1\n兵力|0x100000|6670\n兵乱|0x100000|1056\n兵马|0x100000|12366\n兵痞|0x100000|50088\n兵器|0x100000|11216\n兵权|0x100000|23158\n兵刃|0x100000|44916\n兵戎|0x100000|46101\n兵士|0x100000|8319\n兵事|0x100000|7\n兵书|0x100000|31826\n兵团|0x100000|7208\n兵燹|0x100000|1036\n兵饷|0x100000|42860\n兵械|0x0000|40309\n兵学|0x100000|1087\n兵蚁|0x0000|50483\n兵役|0x100000|20232\n兵营|0x100000|19299\n兵勇|0x100000|1106\n兵员|0x100000|25319\n兵源|0x100000|42137\n兵灾|0x0000|42383\n兵站|0x100000|27436\n兵制|0x100000|47299\n兵种|0x100000|21253\n兵卒|0x100000|43371\n丙辰|0x400000|972\n丙醇|0x100000|909\n丙村|0x0040|0\n丙丁|0x100000|974\n丙肝|0x100000|934\n丙基|0x100000|470\n丙纶|0x100000|51720\n丙醛|0x100000|1230\n丙炔|0x4000000|0\n丙申|0x400000|1005\n丙酸|0x100000|971\n丙酮|0x100000|811\n丙烷|0x100000|889\n丙午|0x400000|995\n丙烯|0x100000|826\n丙戌|0x400000|864\n丙寅|0x400000|996\n丙种|0x0008|0\n丙子|0x400000|997\n秉笔|0x1000|36106\n秉承|0x1000|18835\n秉持|0x1000|34739\n秉风|0x0008|0\n秉赋|0x100000|1067\n秉公|0x8000000|22351\n秉性|0x100000|21513\n秉正|0x40000000|52157\n秉政|0x1000|43599\n秉直|0x40000000|0\n秉烛|0x1000|41875\n饼铛|0x4000000|1\n饼饵|0x100000|1292\n饼肥|0x100000|1184\n饼干|0x100000|15559\n饼子|0x100000|20934\n禀报|0x1000|10881\n禀赋|0x100000|28991\n禀告|0x1000|32352\n禀明|0x1000|29823\n禀帖|0x100000|1312\n禀性|0x100000|969\n禀奏|0x1000|0\n并把|0x0000|663\n并不|0x0000|914\n并称|0x1000|26727\n并处|0x1000|820\n并存|0x1000|8312\n并蒂|0x1000|985\n并发|0x1000|28162\n并非|0x1000|1693\n并购|0x1000|12345\n并轨|0x1000|20605\n并合|0x1000|1075\n并肩|0x8000000|11142\n并进|0x1000|20347\n并举|0x1000|7947\n并口|0x100000|812\n并力|0x8000000|24681\n并立|0x1000|32970\n并联|0x1000|23977\n并列|0x1000|12602\n并拢|0x1000|34438\n并茂|0x1000|17861\n并没|0x8000000|644\n并排|0x8000000|16392\n并且|0x10000000|666\n并入|0x1000|17192\n并提|0x1000|850\n并条|0x1000|1204\n并吞|0x1000|30788\n并网|0x1000|28084\n并未|0x8000000|551\n并无|0x8000000|716\n并行|0x1000|15330\n并用|0x1000|14504\n并置|0x1000|975\n并重|0x1000|8351\n病案|0x100000|45508\n病变|0x1000|14213\n病残|0x100000|29088\n病程|0x100000|26869\n病虫|0x100000|750\n病床|0x100000|9995\n病倒|0x1000|760\n病毒|0x100000|2618\n病笃|0x1000|0\n病儿|0x100000|1031\n病房|0x100000|5804\n病夫|0x100000|38639\n病根|0x100000|27181\n病故|0x1000|19420\n病害|0x100000|16529\n病号|0x100000|28343\n病患|0x100000|42384\n病家|0x100000|43600\n病假|0x100000|26313\n病句|0x100000|51279\n病菌|0x100000|14489\n病苦|0x100000|1004\n病况|0x100000|42861\n病理|0x100000|14939\n病历|0x100000|15698\n病例|0x100000|5381\n病媒|0x0008|1\n病名|0x100000|980\n病魔|0x100000|13212\n病情|0x100000|5369\n病区|0x100000|34013\n病人|0x100000|1082\n病容|0x100000|35475\n病弱|0x40000000|38219\n病史|0x100000|26661\n病势|0x100000|26662\n病室|0x100000|1019\n病逝|0x1000|13760\n病死|0x1000|763\n病榻|0x100000|22483\n病态|0x100000|14670\n病体|0x100000|26870\n病痛|0x100000|15086\n病退|0x1000|37134\n病危|0x1000|19725\n病象|0x100000|50089\n病休|0x1000|39241\n病疫|0x100000|41650\n病因|0x100000|14808\n病友|0x100000|27097\n病愈|0x1000|27182\n病员|0x100000|25320\n病原|0x100000|836\n病源|0x100000|31712\n病院|0x100000|751\n病灶|0x100000|27437\n病征|0x100000|52623\n病症|0x100000|13965\n病重|0x1000|792\n病株|0x100000|1174\n病猪|0x100000|1060\n病状|0x100000|31010\n摒除|0x1000|43601\n摒绝|0x1000|54678\n摒弃|0x1000|11342\n拨拨|0x1000|0\n拨出|0x0008|568\n拨打|0x1000|11600\n拨动|0x1000|21840\n拨发|0x1000|52158\n拨付|0x1000|12385\n拨给|0x1000|860\n拨号|0x1000|23911\n拨叫|0x0000|52624\n拨开|0x1000|707\n拨款|0x1000|6784\n拨拉|0x1000|32866\n拨弄|0x1000|25066\n拨冗|0x1000|36429\n拨通|0x1000|14592\n拨转|0x0000|42385\n拨子|0x100000|50869\n波昂|0x0008|0\n波包|0x100000|0\n波长|0x100000|11747\n波荡|0x1000|52625\n波导|0x100000|1181\n波动|0x1000|6261\n波段|0x100000|20563\n波恩|0x0040|1475\n波尔|0x0080|1283\n波峰|0x100000|33226\n波幅|0x100000|944\n波谷|0x100000|37493\n波光|0x100000|21565\n波河|0x100000|1122\n波黑|0x0040|1517\n波及|0x1000|14954\n波兰|0x0040|1040\n波澜|0x100000|12544\n波浪|0x100000|10735\n波流|0x100000|1108\n波罗|0x0008|1086\n波美|0x0008|1048\n波密|0x0040|997\n波普|0x0080|874\n波谱|0x100000|46676\n波士|0x0008|1435\n波束|0x100000|40310\n波斯|0x0040|1059\n波速|0x100000|1156\n波涛|0x100000|12676\n波特|0x0080|1058\n波湾|0x0040|1164\n波纹|0x100000|23787\n波箱|0x0008|1030\n波鞋|0x0008|1491\n波形|0x100000|38220\n波阳|0x0040|1041\n波音|0x0008|12684\n波源|0x100000|1232\n波折|0x100000|19046\n波磔|0x100000|1282\n波状|0x0000|426\n玻璃|0x100000|2408\n剥剥|0x1000|681\n剥除|0x0000|418\n剥掉|0x0000|455\n剥夺|0x1000|6933\n剥光|0x0000|488\n剥茧|0x100000|1210\n剥开|0x0000|504\n剥壳|0x1000|953\n剥离|0x1000|13434\n剥落|0x1000|24746\n剥皮|0x1000|28987\n剥取|0x0000|54146\n剥去|0x0000|499\n剥蚀|0x1000|31950\n剥脱|0x0000|431\n剥下|0x0000|496\n剥削|0x1000|6619\n钵盂|0x100000|50870\n饽饽|0x100000|21254\n脖颈|0x100000|790\n脖子|0x100000|4028\n菠菜|0x100000|21219\n菠萝|0x100000|23632\n播报|0x1000|21378\n播出|0x1000|5606\n播发|0x1000|23251\n播放|0x1000|6754\n播幅|0x100000|1515\n播讲|0x1000|45815\n播弄|0x1000|34582\n播迁|0x0008|0\n播撒|0x1000|21698\n播散|0x1000|47300\n播送|0x1000|29715\n播下|0x1000|834\n播扬|0x1000|46677\n播音|0x1000|22144\n播映|0x1000|27183\n播种|0x1000|6147\n伯伯|0x100000|11934\n伯德|0x0080|1542\n伯恩|0x0080|1472\n伯尔|0x0080|1049\n伯父|0x100000|12451\n伯公|0x100000|1121\n伯爵|0x100000|22977\n伯劳|0x100000|49013\n伯乐|0x100000|24313\n伯利|0x0080|1043\n伯母|0x100000|12677\n伯婆|0x100000|1359\n伯仲|0x100000|39045\n伯祖|0x100000|1221\n驳岸|0x100000|53610\n驳斥|0x1000|15385\n驳船|0x100000|37318\n驳倒|0x1000|34740\n驳回|0x1000|11816\n驳论|0x0000|54679\n驳议|0x1000|49373\n驳运|0x1000|54680\n驳杂|0x40000000|44615\n帛画|0x100000|49725\n帛书|0x100000|43372\n泊车|0x1000|865\n泊地|0x100000|54147\n泊头|0x0040|788\n泊位|0x100000|19841\n勃勃|0x0100|20300\n勃发|0x1000|21892\n勃朗|0x0040|1039\n勃利|0x0080|1013\n勃起|0x1000|762\n勃然|0x8000000|17553\n勃兴|0x1000|34278\n亳县|0x0040|0\n亳州|0x0040|1147\n铂金|0x100000|760\n博爱|0x40000000|19512\n博鳌|0x100000|1200\n博白|0x0040|1413\n博采|0x1000|527\n博彩|0x100000|39668\n博达|0x0008|1355\n博大|0x40000000|672\n博导|0x100000|32475\n博得|0x1000|11601\n博古|0x100000|1467\n博湖|0x0040|1044\n博客|0x0008|391\n博览|0x1000|18554\n博乐|0x0040|812\n博罗|0x0080|1320\n博取|0x1000|33728\n博识|0x40000000|50484\n博士|0x100000|1645\n博物|0x100000|31485\n博兴|0x0040|1366\n博学|0x40000000|24621\n博雅|0x0008|37672\n博野|0x0040|984\n博弈|0x1000|666\n博引|0x1000|38845\n渤海|0x0040|10134\n鹁鸽|0x100000|41187\n鹁鸪|0x100000|55592\n搏动|0x1000|34583\n搏斗|0x1000|10423\n搏击|0x1000|15624\n搏杀|0x1000|29498\n搏战|0x0000|39047\n箔条|0x100000|1208\n膊裂|0x0000|46725\n薄板|0x100000|25607\n薄被|0x0008|998\n薄壁|0x100000|893\n薄冰|0x100000|889\n薄饼|0x100000|40954\n薄薄|0x0100|650\n薄布|0x0008|0\n薄层|0x100000|943\n薄产|0x100000|0\n薄脆|0x100000|50863\n薄待|0x1000|45210\n薄地|0x100000|42139\n薄荷|0x100000|11763\n薄厚|0x100000|1001\n薄记|0x0008|0\n薄技|0x100000|54681\n薄酒|0x100000|47930\n薄绢|0x0080|0\n薄礼|0x100000|47301\n薄利|0x100000|47609\n薄面|0x100000|0\n薄命|0x40000000|31713\n薄膜|0x100000|14420\n薄暮|0x4000|31381\n薄片|0x100000|808\n薄情|0x40000000|39242\n薄弱|0x40000000|4309\n薄纱|0x100000|707\n薄田|0x100000|50485\n薄雾|0x100000|25542\n薄晓|0x4000|1535\n薄幸|0x40000000|48632\n薄葬|0x0000|51280\n薄纸|0x100000|947\n跛脚|0x100000|40092\n跛行|0x1000|1067\n跛子|0x100000|29395\n跛足|0x100000|43835\n簸荡|0x1000|51722\n簸动|0x1000|1423\n簸箕|0x100000|23736\n簸箩|0x100000|51723\n簸弄|0x1000|0\n擘划|0x0000|53612\n擘画|0x1000|1195\n逋逃|0x100000|0\n卜辞|0x100000|47302\n卜骨|0x100000|0\n卜卦|0x1000|37851\n卜居|0x1000|51281\n卜筮|0x100000|42386\n卟吩|0x100000|0\n卟啉|0x0008|1092\n补白|0x100000|45211\n补办|0x1000|22444\n补报|0x1000|45509\n补编|0x1000|46103\n补补|0x1000|798\n补仓|0x1000|969\n补差|0x1000|44333\n补偿|0x1000|3430\n补充|0x1000|2563\n补丁|0x100000|18359\n补钉|0x100000|395\n补发|0x1000|19655\n补给|0x1000|13247\n补过|0x1000|34741\n补记|0x1000|46393\n补剂|0x0000|51724\n补假|0x1000|54682\n补交|0x1000|24218\n补角|0x100000|1229\n补缴|0x1000|931\n补酒|0x100000|55118\n补救|0x1000|13098\n补考|0x1000|30250\n补课|0x1000|14871\n补漏|0x1000|49014\n补码|0x100000|1100\n补苗|0x1000|55593\n补票|0x1000|39243\n补品|0x100000|30251\n补气|0x0008|870\n补缺|0x1000|29610\n补色|0x100000|1027\n补上|0x0000|618\n补肾|0x1000|761\n补述|0x1000|1117\n补税|0x1000|33487\n补胎|0x1000|944\n补台|0x1000|47610\n补体|0x100000|1039\n补贴|0x1000|3166\n补习|0x1000|17408\n补鞋|0x0000|376\n补写|0x0000|44917\n补休|0x1000|46394\n补修|0x1000|1000\n补选|0x1000|20756\n补血|0x1000|42387\n补牙|0x1000|930\n补养|0x1000|39669\n补药|0x100000|31951\n补液|0x1000|47931\n补遗|0x1000|46104\n补益|0x100000|37135\n补语|0x100000|1083\n补正|0x1000|32972\n补种|0x1000|27996\n补助|0x1000|4161\n补注|0x0000|398\n补缀|0x1000|40522\n补足|0x1000|22663\n哺乳|0x1000|22258\n哺养|0x1000|44083\n哺育|0x1000|17066\n捕获|0x1000|15853\n捕鲸|0x100000|998\n捕快|0x100000|914\n捕捞|0x1000|9498\n捕猎|0x1000|29716\n捕拿|0x1000|48633\n捕杀|0x1000|20077\n捕食|0x1000|18709\n捕手|0x100000|904\n捕鼠|0x1000|929\n捕头|0x100000|914\n捕役|0x100000|1309\n捕鱼|0x1000|768\n捕捉|0x1000|8489\n不爱|0x0000|733\n不碍|0x1000|960\n不安|0x40000000|3456\n不谙|0x1000|818\n不败|0x40000000|644\n不报|0x0000|579\n不备|0x1000|21893\n不比|0x1000|7690\n不必|0x8000000|2015\n不避|0x1000|849\n不便|0x40000000|4250\n不变|0x1000|497\n不才|0x10000|53132\n不测|0x100000|17247\n不差|0x1000|667\n不常|0x0000|570\n不畅|0x0000|13339\n不成|0x1000|27341\n不逞|0x1000|48634\n不吃|0x1000|535\n不齿|0x1000|26179\n不耻|0x1000|2\n不啻|0x8000000|18458\n不纯|0x0000|507\n不辍|0x1000|902\n不辞|0x1000|13172\n不错|0x1000|1762\n不大|0x100000|496\n不待|0x8000000|12282\n不丹|0x0040|22664\n不单|0x10000000|13213\n不但|0x10000000|999\n不当|0x40000000|12375\n不到|0x1000|489\n不得|0x2000|693\n不等|0x1000|10908\n不敌|0x0000|10180\n不迭|0x0000|15120\n不定|0x8000000|4688\n不懂|0x0000|820\n不动|0x0000|771\n不独|0x10000000|23687\n不端|0x40000000|41877\n不断|0x8000000|291\n不对|0x1000|497\n不二|0x20400000|64\n不乏|0x1000|8387\n不法|0x20000000|8136\n不凡|0x40000000|12915\n不犯|0x8000000|779\n不妨|0x10000000|5596\n不菲|0x1000|17220\n不费|0x0000|542\n不分|0x0000|709\n不忿|0x40000000|42642\n不服|0x1000|6570\n不符|0x1000|12048\n不负|0x1000|516\n不复|0x1000|10428\n不该|0x1000|496\n不干|0x0000|666\n不甘|0x40000000|14061\n不敢|0x8000000|494\n不公|0x40000000|10652\n不恭|0x1000|945\n不苟|0x0000|426\n不够|0x1000|495\n不顾|0x1000|3081\n不关|0x0000|21255\n不管|0x10000000|1272\n不光|0x10000000|7682\n不轨|0x1000|27591\n不果|0x0000|42643\n不过|0x10000000|476\n不好|0x100000|493\n不合|0x1000|11385\n不和|0x40000000|32213\n不很|0x0000|576\n不坏|0x0000|612\n不慌|0x0000|587\n不遑|0x8000000|24682\n不会|0x1000|485\n不讳|0x1000|34439\n不惑|0x100000|33367\n不羁|0x1000|25747\n不及|0x1000|4526\n不计|0x1000|9061\n不济|0x40000000|17862\n不佳|0x40000000|683\n不假|0x0000|595\n不减|0x1000|689\n不检|0x0000|46106\n不见|0x1000|494\n不降|0x1000|797\n不叫|0x0000|645\n不洁|0x0000|531\n不解|0x40000000|6963\n不仅|0x10000000|341\n不尽|0x8000000|549\n不禁|0x8000000|2828\n不敬|0x0000|24554\n不久|0x8000000|1296\n不拘|0x1000|16753\n不具|0x1000|804\n不惧|0x0000|594\n不倦|0x0000|486\n不绝|0x0000|5674\n不觉|0x1000|5284\n不均|0x40000000|769\n不堪|0x1000|6083\n不看|0x0000|740\n不靠|0x1000|751\n不可|0x1000|520\n不克|0x8000000|484\n不肯|0x1000|499\n不快|0x40000000|8618\n不愧|0x8000000|12501\n不赖|0x40000000|25609\n不老|0x0000|609\n不理|0x1000|538\n不力|0x1000|7740\n不利|0x40000000|3617\n不良|0x40000000|2414\n不了|0x1000|391\n不料|0x8000000|4901\n不吝|0x1000|31714\n不灵|0x40000000|744\n不论|0x10000000|2588\n不满|0x40000000|4044\n不忙|0x0000|607\n不毛|0x20000000|32596\n不寐|0x0008|0\n不免|0x8000000|4232\n不妙|0x40000000|13553\n不灭|0x0000|611\n不敏|0x40000000|0\n不明|0x1000|5607\n不睦|0x0000|37495\n不耐|0x0000|585\n不难|0x8000000|579\n不能|0x1000|477\n不宁|0x0000|565\n不佞|0x1000|0\n不怕|0x10000000|497\n不配|0x1000|16548\n不偏|0x0000|477\n不平|0x100000|7442\n不期|0x8000000|815\n不齐|0x40000000|607\n不起|0x2000|797\n不前|0x1000|754\n不巧|0x40000000|21292\n不屈|0x1000|15784\n不全|0x0000|675\n不确|0x0000|32090\n不然|0x10000000|4140\n不让|0x1000|497\n不仁|0x1000|18196\n不忍|0x40000000|6752\n不日|0x8000000|24314\n不容|0x8000000|6335\n不如|0x1000|6907\n不若|0x10000000|548\n不善|0x1000|11306\n不少|0x1000|494\n不舍|0x1000|690\n不甚|0x40000000|636\n不慎|0x1000|12331\n不胜|0x1000|13761\n不剩|0x0000|536\n不时|0x8000000|3259\n不实|0x0000|12076\n不是|0x100000|564\n不适|0x40000000|12176\n不受|0x0000|776\n不熟|0x0000|603\n不衰|0x1000|704\n不爽|0x1000|31012\n不说|0x1000|807\n不死|0x0000|720\n不送|0x0000|549\n不俗|0x40000000|15675\n不算|0x1000|498\n不遂|0x1000|36956\n不听|0x0000|690\n不停|0x1000|497\n不通|0x1000|611\n不同|0x40000000|489\n不痛|0x0000|562\n不透|0x0000|605\n不图|0x1000|829\n不妥|0x40000000|12996\n不外|0x1000|17682\n不枉|0x0000|27676\n不忘|0x0000|688\n不惟|0x10000000|996\n不韪|0x100000|922\n不畏|0x1000|720\n不文|0x0008|1\n不稳|0x0000|658\n不问|0x1000|614\n不无|0x1000|14359\n不息|0x1000|673\n不惜|0x1000|6060\n不暇|0x1000|507\n不下|0x1000|3571\n不限|0x8000000|827\n不详|0x1000|22445\n不祥|0x40000000|14520\n不想|0x1000|492\n不象|0x0000|679\n不像|0x0000|772\n不消|0x8000000|14771\n不小|0x1000|537\n不孝|0x40000000|17887\n不肖|0x40000000|27677\n不屑|0x1000|10284\n不懈|0x8000000|5931\n不信|0x0000|765\n不兴|0x1000|19356\n不行|0x1000|495\n不幸|0x40000000|2483\n不休|0x1000|12858\n不修|0x0008|848\n不朽|0x1000|9767\n不锈|0x20000000|786\n不须|0x8000000|747\n不许|0x8000000|539\n不恤|0x1000|0\n不逊|0x40000000|24935\n不雅|0x0000|549\n不严|0x1000|797\n不厌|0x1000|720\n不扬|0x40000000|426\n不要|0x1000|481\n不一|0x400000|12847\n不依|0x1000|18494\n不宜|0x1000|5621\n不已|0x1000|5414\n不义|0x1000|786\n不亦|0x8000000|817\n不易|0x1000|4025\n不意|0x1000|11432\n不用|0x1000|2950\n不由|0x8000000|4179\n不予|0x8000000|635\n不虞|0x100000|39671\n不育|0x1000|719\n不遇|0x1000|827\n不远|0x40000000|537\n不愿|0x0000|820\n不悦|0x40000000|720\n不孕|0x1000|696\n不再|0x8000000|703\n不在|0x1000|493\n不曾|0x8000000|4060\n不贞|0x0000|432\n不振|0x40000000|14820\n不争|0x1000|25006\n不正|0x40000000|707\n不支|0x1000|23978\n不知|0x1000|905\n不值|0x40000000|636\n不止|0x1000|4509\n不只|0x10000000|18578\n不治|0x1000|16754\n不致|0x8000000|10835\n不智|0x0000|495\n不中|0x1000|732\n不忠|0x0000|554\n不周|0x40000000|25469\n不住|0x8000000|494\n不准|0x1000|531\n不足|0x40000000|877\n不做|0x0000|732\n布帛|0x100000|41652\n布菜|0x1000|52627\n布带|0x100000|969\n布袋|0x100000|21293\n布道|0x1000|34014\n布点|0x1000|906\n布店|0x0040|966\n布丁|0x100000|731\n布兜|0x100000|1125\n布尔|0x0080|757\n布防|0x1000|33729\n布告|0x100000|17086\n布谷|0x100000|850\n布褂|0x100000|0\n布景|0x100000|14888\n布局|0x100000|3312\n布控|0x1000|32214\n布朗|0x100000|1146\n布雷|0x1000|30481\n布帘|0x100000|930\n布料|0x100000|22308\n布满|0x1000|9726\n布面|0x100000|41412\n布农|0x100000|1132\n布偶|0x100000|882\n布篷|0x100000|1214\n布匹|0x100000|25398\n布票|0x0000|41413\n布裙|0x0000|396\n布伞|0x100000|1197\n布设|0x1000|29297\n布施|0x1000|30023\n布什|0x0080|982\n布署|0x0000|50486\n布条|0x100000|860\n布头|0x100000|33730\n布托|0x0080|404\n布拖|0x0080|1099\n布下|0x1000|797\n布线|0x1000|671\n布鞋|0x100000|16462\n布衣|0x100000|19214\n布依|0x100000|1541\n布展|0x1000|30482\n布阵|0x1000|25399\n布置|0x1000|4535\n步兵|0x100000|10456\n步步|0x20000|557\n步测|0x1000|55951\n步长|0x100000|1522\n步出|0x1000|551\n步道|0x100000|815\n步调|0x100000|33229\n步伐|0x100000|2528\n步法|0x100000|34015\n步幅|0x100000|1043\n步弓|0x100000|1279\n步甲|0x0080|0\n步进|0x0008|1203\n步廊|0x0080|0\n步犁|0x0080|51282\n步履|0x100000|15578\n步频|0x100000|1152\n步枪|0x100000|13662\n步桥|0x0008|1150\n步入|0x1000|5710\n步哨|0x100000|42140\n步石|0x0080|0\n步态|0x100000|33230\n步鞋|0x0008|0\n步行|0x1000|8497\n步韵|0x1000|1145\n步骤|0x100000|4616\n步子|0x100000|9996\n步足|0x0080|0\n部颁|0x20000000|23913\n部标|0x0080|1100\n部长|0x100000|1061\n部队|0x100000|510\n部分|0x100000|512\n部份|0x100000|718\n部会|0x100000|10\n部级|0x100000|513\n部件|0x100000|10153\n部将|0x100000|12158\n部类|0x100000|49015\n部落|0x100000|7308\n部门|0x100000|631\n部首|0x100000|39245\n部署|0x1000|2094\n部头|0x0000|52159\n部委|0x100000|6006\n部位|0x100000|5792\n部下|0x100000|8204\n部优|0x20000000|912\n部属|0x100000|19691\n部族|0x100000|16616\n埠头|0x100000|40736\n簿册|0x100000|49016\n簿籍|0x100000|53618\n簿记|0x100000|46395\n簿子|0x100000|30483\n嚓嚓|0x80000|951\n擦背|0x1000|946\n擦边|0x1000|50091\n擦擦|0x1000|770\n擦除|0x0000|499\n擦掉|0x1000|751\n擦粉|0x1000|0\n擦过|0x0000|539\n擦黑|0x4000|0\n擦痕|0x100000|1085\n擦净|0x0000|466\n擦亮|0x1000|732\n擦米|0x100000|0\n擦破|0x0008|451\n擦去|0x0000|571\n擦伤|0x1000|34744\n擦上|0x0000|457\n擦身|0x1000|663\n擦拭|0x1000|19447\n擦洗|0x1000|23522\n擦鞋|0x0008|803\n擦写|0x1000|953\n擦音|0x100000|1201\n擦澡|0x1000|1141\n擦子|0x0000|55120\n猜猜|0x1000|643\n猜测|0x1000|8574\n猜出|0x0000|600\n猜到|0x1000|635\n猜度|0x1000|32476\n猜忌|0x1000|25470\n猜枚|0x0000|52628\n猜谜|0x1000|36265\n猜拳|0x100000|34016\n猜透|0x0000|42864\n猜嫌|0x1000|0\n猜想|0x1000|8444\n猜疑|0x1000|15772\n猜中|0x1000|791\n才分|0x100000|46107\n才赋|0x0000|53135\n才干|0x100000|11638\n才刚|0x8000000|671\n才华|0x100000|8168\n才具|0x0000|43374\n才俊|0x100000|820\n才力|0x100000|29499\n才略|0x100000|40523\n才貌|0x100000|42645\n才能|0x100000|1921\n才女|0x100000|28994\n才气|0x100000|23523\n才情|0x100000|26598\n才人|0x100000|474\n才识|0x100000|33875\n才是|0x0000|870\n才思|0x100000|41653\n才望|0x100000|1131\n才学|0x100000|28901\n才艺|0x0008|27592\n才智|0x100000|17771\n才子|0x100000|14747\n材积|0x100000|1014\n材料|0x100000|692\n材质|0x100000|25247\n材种|0x0008|1177\n财宝|0x100000|32091\n财帛|0x100000|36957\n财产|0x100000|1748\n财长|0x100000|853\n财赤|0x0008|0\n财东|0x100000|1182\n财阀|0x100000|41189\n财富|0x100000|2539\n财会|0x100000|16442\n财货|0x0008|432\n财界|0x100000|53136\n财经|0x100000|4278\n财礼|0x100000|37323\n财力|0x100000|5441\n财路|0x100000|33731\n财贸|0x100000|22565\n财迷|0x100000|44618\n财气|0x100000|45215\n财权|0x100000|25007\n财神|0x100000|17629\n财势|0x100000|46108\n财税|0x100000|9997\n财团|0x100000|18950\n财务|0x100000|3039\n财物|0x100000|9182\n财源|0x100000|16755\n财运|0x100000|42141\n财政|0x100000|1194\n财主|0x100000|16617\n裁兵|0x1000|43836\n裁并|0x1000|50487\n裁撤|0x1000|38058\n裁成|0x1000|427\n裁处|0x1000|52629\n裁刀|0x0008|1139\n裁定|0x1000|8082\n裁度|0x1000|0\n裁断|0x1000|51728\n裁夺|0x1000|43603\n裁缝|0x100000|15525\n裁减|0x1000|14256\n裁剪|0x1000|25544\n裁决|0x1000|7993\n裁军|0x1000|11986\n裁量|0x1000|926\n裁判|0x100000|5836\n裁汰|0x1000|1210\n裁员|0x1000|16393\n采办|0x1000|34914\n采编|0x1000|18386\n采采|0x1000|1235\n采茶|0x1000|893\n采伐|0x1000|10691\n采访|0x100000|1482\n采风|0x1000|12609\n采购|0x100000|3183\n采光|0x100000|27438\n采花|0x0008|1267\n采集|0x1000|6475\n采景|0x0000|54685\n采掘|0x1000|22089\n采矿|0x1000|10509\n采录|0x1000|42142\n采买|0x100000|33616\n采煤|0x1000|16618\n采蜜|0x0000|38222\n采纳|0x1000|7915\n采暖|0x100000|18495\n采区|0x100000|1055\n采取|0x1000|760\n采桑|0x0080|1051\n采砂|0x100000|476\n采声|0x0008|1218\n采石|0x1000|785\n采食|0x100000|1028\n采收|0x1000|27028\n采挖|0x1000|34440\n采撷|0x1000|836\n采写|0x1000|16294\n采信|0x1000|973\n采行|0x1000|1020\n采血|0x1000|35175\n采样|0x1000|21257\n采药|0x1000|860\n采邑|0x100000|1084\n采用|0x1000|1257\n采油|0x1000|22718\n采育|0x0000|48640\n采运|0x0000|50092\n采择|0x0008|47002\n采摘|0x1000|12102\n采制|0x1000|50488\n采种|0x1000|43125\n彩笔|0x100000|39467\n彩车|0x100000|32092\n彩绸|0x100000|36958\n彩瓷|0x0008|1555\n彩带|0x100000|27678\n彩旦|0x100000|54686\n彩蛋|0x100000|39050\n彩灯|0x100000|17276\n彩电|0x100000|6187\n彩蝶|0x100000|34441\n彩度|0x0080|0\n彩管|0x100000|54687\n彩光|0x0008|1418\n彩号|0x100000|1135\n彩虹|0x100000|11117\n彩画|0x100000|812\n彩绘|0x100000|21186\n彩轿|0x100000|1324\n彩卷|0x100000|55121\n彩扩|0x1000|51729\n彩礼|0x100000|27765\n彩练|0x100000|45511\n彩门|0x0000|50875\n彩民|0x0008|31382\n彩排|0x100000|29398\n彩喷|0x0008|1403\n彩棚|0x0080|50876\n彩票|0x100000|7329\n彩屏|0x100000|695\n彩旗|0x100000|16096\n彩球|0x100000|32974\n彩券|0x100000|52630\n彩色|0x100000|6571\n彩饰|0x100000|53619\n彩塑|0x100000|37496\n彩陶|0x100000|32355\n彩条|0x0008|1410\n彩头|0x100000|44918\n彩图|0x100000|683\n彩霞|0x100000|27186\n彩显|0x0008|910\n彩像|0x0000|54688\n彩信|0x100000|529\n彩印|0x1000|38847\n彩釉|0x100000|50093\n彩云|0x100000|22393\n彩照|0x100000|34153\n彩纸|0x100000|38848\n踩踩|0x1000|0\n踩道|0x0000|52160\n踩点|0x1000|45512\n踩坏|0x0000|414\n踩水|0x1000|46109\n踩踏|0x1000|28995\n菜板|0x0000|51283\n菜菜|0x0008|1\n菜场|0x100000|21343\n菜单|0x100000|17128\n菜刀|0x100000|16141\n菜地|0x100000|15785\n菜点|0x0000|49727\n菜店|0x0000|53620\n菜豆|0x100000|45513\n菜饭|0x100000|37853\n菜根|0x100000|839\n菜羹|0x100000|1181\n菜瓜|0x100000|49377\n菜馆|0x100000|25610\n菜花|0x100000|27513\n菜价|0x100000|892\n菜窖|0x100000|42143\n菜金|0x100000|50877\n菜枯|0x100000|1536\n菜筐|0x100000|0\n菜篮|0x100000|1005\n菜苗|0x100000|1157\n菜螟|0x100000|0\n菜鸟|0x0008|901\n菜牛|0x100000|50878\n菜农|0x100000|13712\n菜品|0x0000|46396\n菜圃|0x100000|46110\n菜谱|0x100000|23470\n菜畦|0x100000|39246\n菜青|0x100000|1232\n菜色|0x100000|36109\n菜市|0x100000|32477\n菜式|0x0000|49378\n菜蔬|0x100000|27593\n菜苔|0x100000|1165\n菜薹|0x100000|55596\n菜摊|0x100000|37673\n菜汤|0x100000|899\n菜系|0x100000|42865\n菜心|0x0000|46112\n菜蚜|0x100000|1542\n菜羊|0x100000|1199\n菜肴|0x100000|16365\n菜叶|0x100000|27439\n菜油|0x100000|39871\n菜园|0x100000|12916\n菜汁|0x100000|1013\n菜种|0x100000|1113\n菜籽|0x100000|25067\n菜子|0x100000|1010\n蔡司|0x0008|1344\n参拜|0x1000|7955\n参半|0x1000|33617\n参差|0x40000000|24937\n参禅|0x1000|40093\n参错|0x40000000|0\n参赌|0x0000|31486\n参访|0x1000|514\n参股|0x1000|13529\n参观|0x1000|2051\n参合|0x1000|898\n参劾|0x1000|1197\n参加|0x1000|248\n参检|0x0000|52632\n参见|0x1000|23914\n参建|0x0000|23307\n参军|0x1000|8524\n参看|0x1000|11644\n参考|0x1000|4926\n参量|0x100000|52633\n参谋|0x100000|6277\n参拍|0x0000|49017\n参评|0x1000|18459\n参茸|0x100000|904\n参赛|0x1000|3860\n参商|0x1000|51125\n参事|0x1000|14922\n参试|0x0000|44335\n参数|0x100000|9240\n参天|0x1000|18815\n参透|0x1000|45817\n参悟|0x1000|49018\n参校|0x1000|51284\n参选|0x1000|14151\n参演|0x1000|23308\n参谒|0x1000|49728\n参议|0x100000|23471\n参与|0x1000|1230\n参预|0x1000|431\n参院|0x100000|1022\n参阅|0x1000|26599\n参杂|0x1000|879\n参赞|0x100000|15121\n参展|0x1000|7065\n参战|0x1000|13530\n参照|0x1000|8375\n参政|0x1000|11267\n参酌|0x1000|45514\n餐餐|0x100000|2\n餐车|0x100000|29825\n餐刀|0x100000|1011\n餐点|0x100000|55597\n餐房|0x100000|1332\n餐馆|0x100000|7437\n餐巾|0x100000|37674\n餐具|0x100000|14421\n餐券|0x100000|48642\n餐室|0x100000|32215\n餐厅|0x100000|6731\n餐位|0x0000|54690\n餐饮|0x100000|8259\n餐桌|0x100000|8603\n残败|0x40000000|44336\n残暴|0x40000000|16549\n残本|0x100000|38428\n残兵|0x100000|958\n残部|0x100000|34585\n残喘|0x1000|33085\n残次|0x20000000|46113\n残存|0x1000|19332\n残敌|0x100000|45818\n残冬|0x4000|37139\n残毒|0x100000|43375\n残匪|0x100000|46114\n残废|0x100000|15259\n残稿|0x100000|1159\n残羹|0x100000|924\n残骸|0x100000|19357\n残害|0x1000|13473\n残货|0x100000|1423\n残迹|0x100000|40962\n残基|0x0008|0\n残疾|0x100000|7174\n残旧|0x0000|47611\n残局|0x100000|28443\n残卷|0x0000|53622\n残酷|0x40000000|5985\n残联|0x100000|813\n残留|0x1000|8266\n残年|0x4000|38849\n残念|0x0008|476\n残虐|0x40000000|41654\n残片|0x0000|28524\n残品|0x100000|55853\n残破|0x40000000|19358\n残棋|0x0000|51730\n残缺|0x1000|17248\n残忍|0x40000000|10589\n残杀|0x1000|24108\n残生|0x100000|44919\n残剩|0x1000|0\n残损|0x1000|39468\n残炭|0x100000|1310\n残效|0x0008|0\n残屑|0x100000|1137\n残雪|0x100000|25068\n残阳|0x100000|33489\n残余|0x100000|12395\n残月|0x100000|34154\n残渣|0x100000|26805\n残障|0x100000|839\n残照|0x100000|44337\n残肢|0x100000|853\n蚕箔|0x100000|1534\n蚕蔟|0x100000|1515\n蚕豆|0x100000|21344\n蚕蛾|0x100000|49019\n蚕茧|0x100000|28525\n蚕卵|0x100000|1251\n蚕眠|0x100000|1301\n蚕农|0x100000|43604\n蚕桑|0x100000|25948\n蚕沙|0x100000|1084\n蚕山|0x100000|0\n蚕食|0x1000|21294\n蚕室|0x100000|54692\n蚕丝|0x100000|29298\n蚕蚁|0x100000|1352\n蚕蛹|0x100000|43837\n蚕纸|0x100000|1533\n蚕种|0x100000|974\n蚕子|0x100000|47003\n蚕座|0x100000|0\n惭愧|0x40000000|9670\n惭色|0x100000|48644\n惭怍|0x40000000|0\n惨案|0x100000|15140\n惨白|0x40000000|16784\n惨败|0x1000|18816\n惨变|0x100000|47612\n惨怛|0x40000000|1272\n惨淡|0x40000000|20491\n惨毒|0x40000000|52634\n惨祸|0x100000|36607\n惨叫|0x100000|20114\n惨景|0x100000|44338\n惨境|0x100000|52635\n惨剧|0x100000|17772\n惨况|0x100000|51285\n惨厉|0x40000000|43376\n惨烈|0x40000000|20152\n惨然|0x0100|31952\n惨杀|0x1000|46115\n惨事|0x0000|443\n惨死|0x1000|22920\n惨痛|0x40000000|14821\n惨象|0x100000|43605\n惨笑|0x100000|32479\n惨遭|0x1000|16594\n惨重|0x40000000|12578\n惨状|0x100000|27343\n灿灿|0x0000|21221\n灿烂|0x40000000|4363\n灿然|0x40000000|37675\n粲然|0x0100|40963\n仓仓|0x0080|0\n仓储|0x1000|13403\n仓促|0x40000000|18419\n仓猝|0x0000|20758\n仓房|0x100000|32216\n仓皇|0x8000000|15910\n仓惶|0x40000000|888\n仓颉|0x0080|1510\n仓库|0x100000|6404\n仓廪|0x100000|994\n仓容|0x0000|40526\n仓鼠|0x100000|825\n仓位|0x0000|53137\n仓卒|0x40000000|1004\n伧俗|0x40000000|0\n沧海|0x100000|17437\n沧江|0x0080|1061\n沧桑|0x100000|9520\n沧县|0x0040|1480\n沧州|0x0040|1032\n苍白|0x100000|6711\n苍苍|0x40000000|23852\n苍翠|0x40000000|22259\n苍耳|0x100000|53138\n苍黄|0x100000|41414\n苍劲|0x40000000|27188\n苍空|0x0000|50489\n苍老|0x40000000|13607\n苍凉|0x40000000|15420\n苍龙|0x100000|38642\n苍鹭|0x100000|50879\n苍绿|0x0000|47304\n苍茫|0x40000000|14272\n苍莽|0x40000000|47613\n苍南|0x0080|1174\n苍鹏|0x0080|0\n苍穹|0x100000|21418\n苍然|0x0100|0\n苍山|0x0080|30142\n苍生|0x100000|34155\n苍术|0x100000|1023\n苍松|0x100000|40094\n苍天|0x100000|19131\n苍头|0x100000|1126\n苍梧|0x0080|1397\n苍溪|0x0080|998\n苍哑|0x0000|53623\n苍鹰|0x100000|40737\n苍蝇|0x100000|9259\n苍郁|0x40000000|46679\n舱盖|0x100000|1023\n舱口|0x100000|1028\n舱门|0x100000|904\n舱面|0x100000|43606\n舱室|0x100000|41655\n舱位|0x100000|39051\n藏胞|0x100000|32458\n藏北|0x0040|946\n藏刀|0x100000|945\n藏躲|0x1000|0\n藏锋|0x1000|1109\n藏服|0x0008|0\n藏富|0x1000|51286\n藏奸|0x1000|54693\n藏蓝|0x100000|51228\n藏历|0x100000|31812\n藏量|0x100000|1114\n藏民|0x100000|853\n藏匿|0x1000|16963\n藏袍|0x0000|53543\n藏品|0x100000|20725\n藏青|0x100000|40932\n藏身|0x1000|15386\n藏书|0x100000|11993\n藏文|0x0008|21936\n藏戏|0x100000|41851\n藏香|0x100000|50048\n藏药|0x100000|27823\n藏掖|0x100000|52161\n藏医|0x100000|29073\n藏有|0x1000|780\n藏语|0x0008|28591\n藏在|0x0000|694\n藏拙|0x1000|48645\n藏踪|0x1000|0\n藏族|0x0008|6297\n操办|0x1000|21052\n操逼|0x1000|380\n操场|0x100000|9760\n操持|0x1000|21101\n操刀|0x0000|40527\n操典|0x100000|50094\n操舵|0x1000|1130\n操控|0x1000|33732\n操劳|0x40000000|19240\n操练|0x1000|16142\n操盘|0x1000|679\n操切|0x40000000|1248\n操琴|0x1000|48269\n操神|0x40000000|1539\n操守|0x100000|17965\n操心|0x40000000|8946\n操行|0x100000|42646\n操演|0x1000|40738\n操纵|0x1000|8021\n操作|0x100000|2157\n糙米|0x100000|46680\n曹县|0x0040|1413\n嘈杂|0x40000000|11583\n漕河|0x100000|913\n漕粮|0x100000|0\n漕运|0x100000|990\n槽车|0x100000|1017\n槽坊|0x100000|1268\n槽钢|0x100000|55123\n槽口|0x0000|399\n槽头|0x100000|42867\n槽牙|0x100000|51287\n槽子|0x100000|43607\n艚子|0x100000|0\n草案|0x100000|2570\n草包|0x100000|34017\n草本|0x100000|33231\n草编|0x100000|38224\n草标|0x0000|50490\n草草|0x8000000|15676\n草测|0x1000|1537\n草场|0x100000|8703\n草虫|0x100000|41878\n草创|0x1000|32217\n草丛|0x100000|14569\n草袋|0x100000|1156\n草地|0x100000|4611\n草甸|0x100000|26663\n草垫|0x100000|42145\n草堆|0x100000|856\n草垛|0x100000|942\n草房|0x0080|23979\n草稿|0x100000|24365\n草根|0x100000|631\n草菇|0x100000|52162\n草果|0x100000|992\n草荒|0x100000|1266\n草灰|0x100000|50095\n草鸡|0x100000|42647\n草荐|0x100000|1288\n草芥|0x100000|37497\n草科|0x0008|1165\n草寇|0x100000|47615\n草类|0x100000|987\n草料|0x100000|20726\n草庐|0x100000|974\n草驴|0x100000|51732\n草率|0x40000000|19109\n草绿|0x100000|34586\n草莽|0x100000|32598\n草帽|0x100000|14633\n草莓|0x100000|14634\n草昧|0x40000000|0\n草棉|0x100000|1410\n草民|0x100000|40311\n草木|0x100000|12502\n草拟|0x1000|22309\n草棚|0x100000|20393\n草皮|0x100000|21841\n草坪|0x100000|8238\n草铺|0x0008|1118\n草签|0x100000|35477\n草山|0x100000|1534\n草绳|0x100000|933\n草圣|0x0008|1126\n草食|0x20000000|30790\n草书|0x100000|27264\n草酸|0x100000|48270\n草滩|0x100000|32724\n草炭|0x100000|1076\n草堂|0x100000|23524\n草体|0x100000|53139\n草图|0x100000|21140\n草窝|0x0000|47616\n草乌|0x100000|1073\n草屋|0x100000|30685\n草席|0x100000|33490\n草鞋|0x100000|16840\n草写|0x0000|54694\n草药|0x100000|21022\n草野|0x100000|40096\n草叶|0x100000|839\n草鱼|0x100000|31015\n草原|0x100000|2496\n草约|0x100000|46397\n草泽|0x100000|45516\n草纸|0x100000|31487\n草籽|0x100000|973\n草字|0x100000|47933\n册封|0x1000|890\n册亨|0x0080|1119\n册立|0x1000|1070\n册页|0x100000|40739\n册子|0x100000|32093\n侧柏|0x100000|36110\n侧壁|0x100000|1052\n侧边|0x100000|827\n侧耳|0x8000000|23688\n侧根|0x100000|53140\n侧后|0x2000000|1041\n侧击|0x1000|48646\n侧记|0x100000|14046\n侧近|0x1000|2\n侧门|0x100000|30484\n侧面|0x100000|6465\n侧目|0x1000|26436\n侧身|0x1000|18080\n侧视|0x100000|54695\n侧室|0x100000|50097\n侧厅|0x100000|1181\n侧卧|0x1000|36959\n侧线|0x100000|1165\n侧向|0x20000000|910\n侧芽|0x100000|1232\n侧翼|0x100000|36430\n侧影|0x100000|31016\n侧泳|0x100000|0\n侧枝|0x100000|50098\n侧重|0x1000|10005\n厕身|0x1000|0\n厕所|0x100000|4486\n恻然|0x0100|428\n恻隐|0x1000|31017\n测报|0x1000|37324\n测测|0x0080|647\n测查|0x0000|50881\n测出|0x1000|823\n测锤|0x0080|0\n测定|0x1000|6649\n测度|0x1000|39672\n测高|0x0008|2\n测光|0x0000|49020\n测候|0x1000|0\n测绘|0x1000|5899\n测井|0x1000|929\n测距|0x1000|32218\n测控|0x1000|12248\n测力|0x1000|984\n测量|0x100000|4283\n测流|0x1000|0\n测评|0x1000|7417\n测深|0x1000|1092\n测时|0x0080|0\n测试|0x100000|4568\n测速|0x0000|50099\n测算|0x1000|8409\n测探|0x1000|1206\n测位|0x0080|0\n测温|0x0008|1283\n测向|0x100000|1067\n测验|0x100000|14872\n测震|0x0000|54153\n测知|0x0080|428\n测字|0x1000|41879\n策动|0x1000|24936\n策反|0x1000|40740\n策划|0x1000|5268\n策勒|0x0080|1148\n策励|0x1000|48271\n策略|0x100000|5004\n策论|0x100000|1088\n策马|0x1000|20153\n策士|0x100000|1094\n策问|0x0000|52636\n策应|0x1000|28250\n岑巩|0x0080|1103\n岑寂|0x40000000|1033\n岑溪|0x0040|1419\n涔涔|0x0100|34018\n层报|0x1000|1300\n层层|0x20000|598\n层出|0x0000|417\n层次|0x100000|1994\n层叠|0x0100|40741\n层峰|0x100000|1180\n层高|0x100000|811\n层积|0x100000|1153\n层级|0x100000|29718\n层理|0x100000|0\n层林|0x0000|43127\n层流|0x100000|989\n层峦|0x100000|1007\n层面|0x100000|4772\n层数|0x0000|536\n层位|0x0008|1\n层析|0x0008|1550\n层压|0x100000|949\n层云|0x100000|929\n层状|0x100000|1020\n蹭蹬|0x40000000|1170\n叉叉|0x0000|521\n叉车|0x100000|36431\n叉齿|0x0008|0\n叉架|0x0080|0\n叉路|0x0080|0\n叉烧|0x100000|46116\n叉手|0x1000|1098\n叉形|0x0000|382\n叉腰|0x1000|29611\n叉子|0x100000|22719\n杈子|0x0000|47617\n插班|0x1000|42868\n插板|0x100000|398\n插标|0x1000|0\n插播|0x1000|32725\n插槽|0x0008|1109\n插插|0x1000|844\n插床|0x4000000|414\n插队|0x1000|18387\n插管|0x1000|37325\n插花|0x100000|20935\n插画|0x100000|31716\n插话|0x100000|16097\n插件|0x100000|535\n插脚|0x1000|54696\n插接|0x0000|462\n插进|0x0000|604\n插卡|0x100000|845\n插空|0x0000|51734\n插孔|0x100000|50101\n插口|0x100000|31828\n插屏|0x100000|54697\n插曲|0x100000|20727\n插入|0x1000|12249\n插上|0x0000|628\n插身|0x1000|51735\n插手|0x1000|15033\n插条|0x100000|49379\n插头|0x100000|29612\n插图|0x100000|14822\n插销|0x100000|39469\n插叙|0x100000|49021\n插言|0x1000|1081\n插秧|0x1000|17933\n插页|0x100000|42648\n插足|0x1000|31953\n插嘴|0x1000|13184\n插座|0x100000|27029\n查案|0x1000|972\n查办|0x1000|7227\n查查|0x1000|726\n查抄|0x1000|26378\n查出|0x1000|621\n查处|0x1000|2902\n查错|0x0000|425\n查档|0x1000|1119\n查到|0x1000|649\n查点|0x1000|42390\n查对|0x1000|33618\n查房|0x1000|27594\n查访|0x1000|34280\n查封|0x1000|11433\n查岗|0x1000|54156\n查核|0x1000|39673\n查获|0x1000|5641\n查缉|0x1000|29613\n查检|0x1000|49729\n查缴|0x0000|31137\n查禁|0x1000|21894\n查究|0x1000|26872\n查勘|0x1000|29399\n查看|0x1000|9868\n查考|0x1000|32095\n查扣|0x1000|20728\n查明|0x1000|7846\n查票|0x0000|37326\n查破|0x1000|1137\n查铺|0x1000|53625\n查勤|0x1000|1077\n查清|0x1000|826\n查哨|0x1000|51736\n查实|0x1000|15387\n查收|0x1000|49730\n查私|0x1000|1301\n查体|0x0000|40742\n查问|0x1000|25183\n查寻|0x1000|49380\n查询|0x1000|6170\n查验|0x1000|11864\n查夜|0x1000|45821\n查阅|0x1000|9987\n查帐|0x0000|479\n查账|0x1000|34281\n查找|0x1000|8928\n查照|0x1000|1159\n查证|0x1000|17630\n茬茬|0x20000|0\n茬口|0x100000|47934\n茬子|0x100000|31717\n茶吧|0x100000|499\n茶杯|0x100000|9557\n茶厂|0x100000|767\n茶场|0x100000|31383\n茶匙|0x100000|44339\n茶炊|0x0000|55124\n茶道|0x100000|32094\n茶点|0x100000|25949\n茶碟|0x0080|1244\n茶饭|0x100000|32599\n茶坊|0x100000|742\n茶房|0x100000|9867\n茶缸|0x100000|35176\n茶馆|0x100000|9041\n茶罐|0x4000000|384\n茶壶|0x100000|15160\n茶花|0x100000|29719\n茶话|0x0000|399\n茶会|0x100000|30580\n茶几|0x100000|11800\n茶碱|0x0008|53141\n茶晶|0x100000|54155\n茶镜|0x100000|43609\n茶具|0x100000|28444\n茶陵|0x100000|1531\n茶楼|0x100000|16812\n茶炉|0x100000|45216\n茶卤|0x0080|0\n茶末|0x100000|0\n茶农|0x100000|30143\n茶盘|0x100000|36608\n茶钱|0x100000|34745\n茶色|0x100000|31488\n茶商|0x100000|978\n茶社|0x100000|27912\n茶食|0x100000|46117\n茶市|0x100000|1065\n茶室|0x100000|832\n茶树|0x100000|25122\n茶水|0x100000|13554\n茶素|0x0080|0\n茶汤|0x100000|39872\n茶亭|0x100000|26871\n茶托|0x100000|1140\n茶碗|0x100000|20525\n茶锈|0x100000|1215\n茶叶|0x100000|6856\n茶艺|0x100000|34279\n茶油|0x100000|48272\n茶园|0x100000|16862\n茶盏|0x0000|52638\n茶盅|0x100000|38850\n茶砖|0x100000|1082\n茶庄|0x100000|42389\n茶桌|0x0000|32357\n茶资|0x100000|1142\n茶座|0x100000|17249\n搽粉|0x1000|1194\n察访|0x1000|43839\n察觉|0x1000|10504\n察勘|0x0000|54699\n察看|0x1000|9317\n察明|0x1000|1188\n察雅|0x0080|1160\n察验|0x1000|54700\n察隅|0x0080|1069\n碴儿|0x100000|31138\n碴口|0x0000|53142\n汊港|0x100000|0\n汊流|0x100000|1538\n岔道|0x100000|34916\n岔开|0x1000|21895\n岔口|0x100000|32867\n岔流|0x100000|1539\n岔路|0x100000|34156\n岔气|0x1000|53143\n岔子|0x100000|23472\n诧愕|0x1000|0\n诧然|0x0100|0\n诧异|0x40000000|9462\n差别|0x100000|4143\n差池|0x100000|40528\n差错|0x100000|11948\n差等|0x0000|469\n差点|0x8000000|498\n差动|0x0000|446\n差额|0x100000|12823\n差官|0x100000|1147\n差价|0x100000|14748\n差劲|0x40000000|35783\n差距|0x100000|2649\n差可|0x8000000|0\n差旅|0x100000|943\n差派|0x0000|53144\n差遣|0x1000|28903\n差失|0x100000|0\n差使|0x1000|23737\n差事|0x100000|12837\n差数|0x100000|52637\n差误|0x100000|0\n差异|0x100000|3291\n差役|0x100000|31018\n差值|0x100000|908\n拆拆|0x0080|0\n拆除|0x1000|6080\n拆穿|0x1000|40312\n拆掉|0x1000|547\n拆兑|0x0000|55125\n拆分|0x1000|792\n拆封|0x1000|44086\n拆改|0x0000|50882\n拆毁|0x1000|24265\n拆伙|0x1000|1020\n拆建|0x1000|45822\n拆解|0x1000|803\n拆借|0x1000|19843\n拆开|0x1000|692\n拆零|0x1000|53626\n拆卖|0x1000|53627\n拆迁|0x1000|4953\n拆散|0x1000|35035\n拆台|0x1000|35478\n拆息|0x100000|1172\n拆洗|0x1000|33877\n拆下|0x1000|563\n拆线|0x1000|44341\n拆卸|0x1000|23570\n拆信|0x1000|0\n拆阅|0x1000|44920\n拆装|0x100000|42391\n拆字|0x1000|50883\n侪辈|0x100000|1210\n柴草|0x100000|20729\n柴刀|0x100000|42649\n柴堆|0x0040|1050\n柴垛|0x0000|46681\n柴扉|0x100000|1026\n柴禾|0x0080|20526\n柴胡|0x100000|912\n柴火|0x100000|23788\n柴鸡|0x100000|47005\n柴门|0x100000|937\n柴米|0x100000|862\n柴藤|0x0080|0\n柴薪|0x100000|49731\n柴油|0x100000|10380\n豺狗|0x0000|47935\n豺狼|0x100000|29501\n觇标|0x100000|0\n掺掺|0x1000|687\n掺合|0x0008|439\n掺和|0x1000|27595\n掺假|0x1000|26180\n掺入|0x1000|870\n掺杂|0x1000|18640\n搀兑|0x1000|0\n搀扶|0x1000|13185\n搀和|0x1000|939\n搀假|0x1000|1161\n搀水|0x0080|0\n搀杂|0x1000|852\n婵娟|0x100000|44619\n婵媛|0x1000|1181\n谗害|0x1000|52640\n谗佞|0x1000|54157\n谗言|0x100000|27836\n孱弱|0x40000000|28604\n禅定|0x1000|902\n禅房|0x100000|39470\n禅机|0x100000|48273\n禅林|0x100000|1005\n禅门|0x100000|51289\n禅让|0x1000|43017\n禅师|0x100000|24419\n禅堂|0x100000|48647\n禅悟|0x100000|994\n禅心|0x100000|906\n禅学|0x0000|39674\n禅意|0x100000|883\n禅院|0x100000|50884\n禅杖|0x100000|50885\n禅宗|0x0020|22310\n馋鬼|0x100000|53628\n馋猫|0x100000|47006\n馋涎|0x0000|41191\n馋嘴|0x100000|34746\n缠斗|0x1000|864\n缠脚|0x0000|371\n缠结|0x100000|52163\n缠绵|0x1000|15421\n缠磨|0x0000|46118\n缠扰|0x1000|49022\n缠绕|0x1000|14656\n缠身|0x1000|21258\n缠手|0x40000000|55126\n缠住|0x1000|761\n缠足|0x1000|33733\n蝉联|0x1000|17033\n蝉蜕|0x100000|45823\n蝉衣|0x0008|0\n蝉翼|0x100000|38429\n潺潺|0x80000|18982\n蟾蜍|0x100000|29502\n蟾宫|0x100000|50102\n蟾光|0x0080|0\n蟾酥|0x100000|50491\n巉岩|0x100000|0\n产出|0x1000|9242\n产床|0x100000|47306\n产道|0x100000|1031\n产地|0x100000|10386\n产儿|0x100000|40097\n产房|0x100000|28605\n产妇|0x100000|15502\n产后|0x4000|14923\n产假|0x100000|34917\n产科|0x100000|34282\n产粮|0x1000|1014\n产量|0x100000|2209\n产流|0x100000|0\n产卵|0x1000|896\n产能|0x100000|680\n产品|0x100000|839\n产婆|0x100000|40098\n产期|0x100000|957\n产前|0x4000|19015\n产钳|0x100000|1161\n产区|0x100000|14152\n产权|0x100000|3045\n产褥|0x4000|385\n产生|0x1000|344\n产物|0x100000|5228\n产销|0x100000|9338\n产需|0x0000|42869\n产业|0x100000|1153\n产油|0x0000|508\n产院|0x100000|54701\n产值|0x100000|4089\n产状|0x100000|1206\n产仔|0x0000|457\n产子|0x1000|887\n谄媚|0x1000|27344\n谄笑|0x1000|46682\n谄谀|0x1000|44087\n铲车|0x100000|42650\n铲除|0x1000|9210\n铲刀|0x0008|1130\n铲平|0x1000|925\n铲起|0x0000|398\n铲子|0x100000|30362\n阐发|0x1000|18983\n阐明|0x1000|7745\n阐释|0x1000|10847\n阐述|0x1000|3716\n阐扬|0x1000|42392\n忏悔|0x1000|11764\n颤颤|0x0100|821\n颤动|0x1000|10230\n颤抖|0x1000|6402\n颤栗|0x1000|778\n颤声|0x100000|0\n颤音|0x100000|871\n颤悠|0x1000|48274\n羼杂|0x1000|54702\n伥鬼|0x100000|1286\n昌都|0x0080|1398\n昌吉|0x0040|1307\n昌江|0x0040|1470\n昌乐|0x0080|1432\n昌黎|0x0080|1390\n昌隆|0x40000000|1395\n昌明|0x1000|37854\n昌宁|0x0080|977\n昌平|0x0080|1096\n昌盛|0x40000000|22090\n昌图|0x0080|1515\n昌旺|0x40000000|0\n昌言|0x100000|1154\n昌邑|0x0040|1326\n娼妇|0x100000|36433\n娼妓|0x100000|24266\n猖獗|0x40000000|8949\n猖狂|0x40000000|18889\n菖蒲|0x100000|14671\n鲳鱼|0x100000|50103\n长安|0x0020|850\n长坂|0x100000|956\n长辈|0x100000|11761\n长鼻|0x0000|453\n长臂|0x20000000|969\n长编|0x100000|1056\n长鞭|0x100000|956\n长膘|0x1000|54082\n长波|0x100000|24267\n长策|0x100000|48275\n长长|0x0100|516\n长成|0x1000|647\n长城|0x0040|3839\n长程|0x0008|26510\n长虫|0x100000|37855\n长出|0x0008|1021\n长处|0x100000|10590\n长川|0x8000000|1036\n长传|0x100000|818\n长春|0x0040|4346\n长辞|0x1000|35326\n长存|0x1000|24820\n长达|0x0000|722\n长大|0x1000|3635\n长刀|0x0000|587\n长岛|0x0080|1304\n长凳|0x100000|24684\n长堤|0x100000|870\n长笛|0x100000|35631\n长调|0x100000|987\n长钉|0x0000|380\n长度|0x100000|7503\n长短|0x100000|10181\n长队|0x100000|828\n长发|0x100000|11728\n长法|0x100000|53629\n长方|0x100000|20041\n长房|0x100000|45178\n长丰|0x0008|1266\n长高|0x0000|564\n长葛|0x0040|1336\n长庚|0x0008|1458\n长工|0x100000|14171\n长骨|0x100000|1065\n长鼓|0x100000|50492\n长褂|0x0008|0\n长官|0x100000|4815\n长跪|0x1000|894\n长海|0x0080|1315\n长号|0x100000|44342\n长河|0x100000|11447\n长黑|0x0008|0\n长虹|0x0008|13531\n长话|0x100000|32600\n长活|0x100000|1214\n长机|0x100000|1039\n长假|0x100000|12089\n长剑|0x100000|728\n长江|0x0040|1745\n长街|0x100000|20897\n长进|0x100000|23843\n长径|0x0040|1086\n长久|0x40000000|5474\n长局|0x100000|1350\n长句|0x100000|930\n长卷|0x100000|21795\n长空|0x100000|18081\n长裤|0x100000|26873\n长款|0x0000|54703\n长廊|0x100000|11118\n长老|0x100000|21462\n长乐|0x0040|1130\n长吏|0x100000|0\n长脸|0x1000|35309\n长岭|0x0080|1378\n长流|0x1000|796\n长龙|0x100000|22773\n长满|0x1000|690\n长毛|0x100000|738\n长矛|0x100000|27099\n长门|0x0000|42834\n长眠|0x1000|23017\n长鸣|0x1000|24037\n长命|0x40000000|1339\n长男|0x0000|50818\n长年|0x100000|10105\n长宁|0x0040|1123\n长女|0x100000|29811\n长胖|0x0008|1230\n长袍|0x100000|13622\n长跑|0x100000|13173\n长片|0x0000|504\n长篇|0x100000|7886\n长期|0x8000000|962\n长崎|0x100000|1368\n长枪|0x100000|24109\n长强|0x0008|1\n长亲|0x100000|26793\n长青|0x1000|731\n长驱|0x1000|994\n长拳|0x100000|1005\n长裙|0x100000|20606\n长沙|0x0040|3552\n长衫|0x100000|13532\n长上|0x100000|44887\n长舌|0x40000000|865\n长生|0x1000|39053\n长绳|0x100000|998\n长诗|0x100000|925\n长石|0x100000|880\n长势|0x100000|17215\n长逝|0x1000|40313\n长寿|0x40000000|10011\n长顺|0x0080|1472\n长丝|0x100000|856\n长随|0x100000|1093\n长孙|0x100000|19384\n长泰|0x0080|1446\n长谈|0x1000|28164\n长叹|0x1000|10387\n长天|0x100000|1307\n长条|0x100000|785\n长汀|0x100000|1344\n长亭|0x100000|42870\n长统|0x0008|1041\n长途|0x100000|9470\n长腿|0x100000|574\n长袜|0x100000|941\n长尾|0x0080|0\n长武|0x0080|1002\n长物|0x100000|49023\n长夏|0x100000|1031\n长线|0x100000|27030\n长相|0x100000|15750\n长项|0x100000|42871\n长效|0x100000|7783\n长啸|0x1000|30252\n长兴|0x0008|1149\n长性|0x100000|50104\n长兄|0x100000|30014\n长袖|0x100000|34019\n长靴|0x0000|523\n长牙|0x0040|1429\n长夜|0x100000|18108\n长衣|0x100000|936\n长揖|0x100000|0\n长椅|0x100000|745\n长音|0x100000|1536\n长吟|0x1000|47620\n长缨|0x100000|47307\n长影|0x0008|997\n长幼|0x0000|32079\n长于|0x1000|17129\n长垣|0x100000|1405\n长圆|0x100000|38430\n长远|0x40000000|3059\n长斋|0x100000|49024\n长者|0x100000|14565\n长征|0x1000|5490\n长治|0x0040|1152\n长住|0x1000|879\n长子|0x100000|10206\n长足|0x8000000|7730\n肠癌|0x100000|796\n肠道|0x100000|22979\n肠断|0x1000|871\n肠粉|0x100000|924\n肠骨|0x100000|1327\n肠管|0x100000|1081\n肠胃|0x100000|22394\n肠炎|0x100000|37856\n肠液|0x100000|1176\n肠衣|0x100000|40529\n肠子|0x100000|18710\n尝尝|0x1000|671\n尝到|0x1000|705\n尝试|0x1000|4380\n尝鲜|0x1000|43841\n尝新|0x1000|44922\n偿付|0x1000|17221\n偿还|0x1000|7999\n偿命|0x1000|30485\n偿清|0x0000|400\n偿愿|0x1000|0\n偿债|0x1000|909\n常备|0x1000|34918\n常常|0x8000000|924\n常川|0x8000000|1265\n常德|0x0040|1062\n常服|0x0000|42393\n常规|0x100000|5688\n常轨|0x100000|49383\n常喝|0x0000|463\n常会|0x100000|633\n常见|0x40000000|5504\n常开|0x0008|1362\n常客|0x100000|22091\n常礼|0x100000|55127\n常理|0x100000|24748\n常例|0x100000|41881\n常量|0x100000|49026\n常绿|0x1000|30582\n常模|0x0008|0\n常年|0x8000000|5450\n常宁|0x0040|1507\n常青|0x1000|1162\n常情|0x100000|33878\n常去|0x0000|584\n常人|0x100000|10860\n常任|0x1000|13054\n常山|0x100000|1334\n常设|0x1000|16984\n常胜|0x1000|872\n常识|0x100000|7111\n常式|0x0008|373\n常事|0x100000|19016\n常熟|0x0040|1011\n常数|0x100000|16918\n常态|0x100000|15463\n常套|0x100000|53630\n常委|0x100000|2774\n常温|0x100000|26032\n常务|0x20000000|3606\n常性|0x0000|53146\n常压|0x0000|43842\n常言|0x100000|27913\n常用|0x40000000|6855\n常有|0x1000|627\n常州|0x0040|858\n常住|0x100000|14772\n常驻|0x1000|8858\n徜徉|0x1000|18791\n嫦娥|0x0080|19800\n厂办|0x100000|961\n厂部|0x100000|913\n厂长|0x100000|651\n厂厂|0x100000|2\n厂方|0x100000|20802\n厂房|0x100000|7189\n厂规|0x100000|44923\n厂级|0x100000|1139\n厂籍|0x100000|1386\n厂纪|0x100000|47007\n厂家|0x100000|4651\n厂矿|0x100000|15422\n厂里|0x8000|751\n厂名|0x100000|852\n厂牌|0x100000|800\n厂区|0x100000|28344\n厂商|0x100000|6167\n厂史|0x100000|1201\n厂休|0x100000|1407\n厂址|0x100000|24110\n厂主|0x100000|997\n厂子|0x100000|12936\n场长|0x100000|944\n场场|0x20000|759\n场次|0x100000|12113\n场地|0x100000|5108\n场房|0x100000|1157\n场馆|0x100000|7392\n场合|0x100000|5645\n场记|0x100000|49732\n场景|0x100000|7234\n场论|0x100000|424\n场面|0x100000|3358\n场内|0x8000|741\n场频|0x0000|411\n场强|0x100000|978\n场区|0x8000|1040\n场上|0x100000|713\n场所|0x100000|2601\n场外|0x8000|712\n场屋|0x0000|47621\n场院|0x100000|28446\n场站|0x100000|953\n场子|0x100000|19765\n敞车|0x100000|50105\n敞开|0x1000|6769\n敞口|0x0000|42394\n敞亮|0x40000000|29400\n敞篷|0x20000000|44620\n怅怅|0x0100|1024\n怅恨|0x40000000|0\n怅然|0x40000000|21842\n怅惋|0x40000000|0\n怅惘|0x40000000|21470\n畅达|0x40000000|39873\n畅怀|0x40000000|50493\n畅快|0x40000000|15087\n畅流|0x1000|1094\n畅茂|0x0080|0\n畅顺|0x40000000|982\n畅谈|0x1000|10779\n畅通|0x40000000|5960\n畅想|0x1000|28251\n畅销|0x40000000|10355\n畅行|0x1000|44924\n畅叙|0x1000|35632\n畅饮|0x1000|24485\n畅游|0x1000|25069\n畅月|0x100000|0\n倡办|0x0000|54704\n倡导|0x1000|3754\n倡廉|0x1000|783\n倡言|0x1000|1088\n倡仪|0x100000|1107\n倡议|0x1000|5656\n倡优|0x100000|1160\n唱本|0x100000|34587\n唱酬|0x1000|0\n唱词|0x100000|22527\n唱碟|0x100000|53147\n唱段|0x100000|25950\n唱法|0x100000|19421\n唱歌|0x1000|6197\n唱工|0x100000|0\n唱功|0x100000|43378\n唱和|0x1000|33232\n唱机|0x100000|42148\n唱名|0x100000|47308\n唱盘|0x100000|46684\n唱片|0x100000|11817\n唱票|0x1000|45217\n唱起|0x1000|698\n唱腔|0x100000|14955\n唱诗|0x1000|884\n唱收|0x1000|0\n唱头|0x100000|54706\n唱戏|0x1000|12138\n唱游|0x0008|0\n唱针|0x100000|53148\n抄报|0x1000|46685\n抄本|0x100000|33233\n抄查|0x1000|1304\n抄道|0x1000|0\n抄底|0x0008|974\n抄获|0x1000|1534\n抄家|0x1000|23252\n抄件|0x100000|52165\n抄录|0x1000|23213\n抄没|0x1000|44344\n抄身|0x1000|1404\n抄收|0x1000|55128\n抄手|0x100000|929\n抄书|0x1000|969\n抄送|0x1000|43611\n抄袭|0x1000|16550\n抄写|0x1000|19766\n钞本|0x100000|0\n钞录|0x1000|0\n钞票|0x100000|8441\n超拔|0x1000|41656\n超编|0x1000|29503\n超标|0x1000|7720\n超薄|0x20000000|30253\n超采|0x1000|30026\n超产|0x1000|22774\n超长|0x20000000|35479\n超常|0x1000|17608\n超车|0x1000|33491\n超出|0x1000|5979\n超大|0x20000000|619\n超导|0x100000|12386\n超等|0x0000|48649\n超点|0x0008|1169\n超度|0x1000|820\n超短|0x0008|1240\n超额|0x1000|9490\n超凡|0x40000000|31598\n超高|0x1000|636\n超过|0x1000|982\n超乎|0x1000|23853\n超级|0x20000000|7163\n超假|0x1000|53631\n超绝|0x40000000|49384\n超量|0x1000|30583\n超龄|0x1000|44621\n超滤|0x100000|850\n超能|0x100000|789\n超频|0x0008|1098\n超期|0x1000|12982\n超前|0x40000000|10487\n超强|0x20000000|523\n超群|0x40000000|14490\n超然|0x40000000|22260\n超人|0x100000|16551\n超升|0x1000|54158\n超生|0x1000|28345\n超声|0x100000|716\n超时|0x1000|28699\n超市|0x100000|4948\n超收|0x1000|26511\n超俗|0x40000000|50495\n超速|0x1000|27514\n超图|0x100000|1102\n超脱|0x40000000|18023\n超限|0x1000|849\n超星|0x0008|1355\n超逸|0x40000000|52641\n超员|0x1000|33879\n超越|0x1000|4106\n超载|0x1000|9427\n超支|0x1000|31599\n超值|0x1000|43612\n超重|0x1000|25805\n超卓|0x40000000|925\n巢湖|0x0040|1158\n巢窟|0x100000|1319\n巢脾|0x100000|0\n巢县|0x0040|1201\n巢穴|0x100000|25322\n朝拜|0x1000|24749\n朝北|0x0040|1405\n朝臣|0x100000|901\n朝代|0x100000|13555\n朝东|0x0000|491\n朝服|0x100000|981\n朝纲|0x100000|976\n朝贡|0x1000|972\n朝晖|0x100000|37114\n朝见|0x1000|978\n朝觐|0x1000|959\n朝里|0x100000|953\n朝露|0x100000|821\n朝暮|0x40000000|43348\n朝内|0x100000|966\n朝南|0x0040|1293\n朝气|0x100000|11872\n朝前|0x0000|561\n朝日|0x100000|15729\n朝上|0x0000|555\n朝圣|0x1000|28085\n朝天|0x40000000|625\n朝廷|0x100000|5640\n朝夕|0x100000|20560\n朝霞|0x100000|21988\n朝下|0x0000|553\n朝鲜|0x0040|1841\n朝向|0x100000|22665\n朝阳|0x100000|10802\n朝野|0x100000|13871\n朝政|0x100000|833\n朝着|0x40000|590\n嘲讽|0x1000|15479\n嘲弄|0x1000|15242\n嘲笑|0x1000|8327\n嘲谑|0x1000|1175\n嘲哳|0x40000000|0\n潮安|0x0080|1341\n潮差|0x100000|1223\n潮沟|0x0040|2\n潮红|0x1000|34157\n潮解|0x1000|1122\n潮剧|0x100000|46399\n潮流|0x100000|3960\n潮起|0x1000|1202\n潮气|0x100000|37676\n潮润|0x40000000|38431\n潮汕|0x100000|1211\n潮湿|0x40000000|9117\n潮水|0x100000|12463\n潮头|0x100000|19474\n潮土|0x0008|0\n潮位|0x100000|48651\n潮汐|0x100000|15260\n潮汛|0x100000|50106\n潮阳|0x0040|1318\n潮涌|0x1000|35945\n潮州|0x0040|1042\n吵吵|0x1000|22352\n吵翻|0x0000|48652\n吵架|0x1000|10535\n吵骂|0x0000|47936\n吵闹|0x1000|12763\n吵嚷|0x40000000|29826\n吵扰|0x1000|0\n吵人|0x40000000|47623\n吵醒|0x1000|638\n吵嘴|0x1000|22980\n炒菜|0x100000|19077\n炒蛋|0x0008|488\n炒饭|0x100000|40530\n炒更|0x0008|0\n炒股|0x1000|24158\n炒锅|0x100000|45218\n炒汇|0x1000|46686\n炒货|0x100000|51290\n炒家|0x100000|48653\n炒卖|0x1000|461\n炒米|0x100000|37328\n炒面|0x100000|31954\n炒青|0x0000|51739\n炒热|0x0008|931\n炒勺|0x100000|50888\n炒作|0x1000|10766\n车把|0x100000|22617\n车班|0x0080|0\n车帮|0x0000|45824\n车长|0x100000|855\n车场|0x100000|33880\n车车|0x0080|14\n车臣|0x0040|1326\n车程|0x100000|30898\n车船|0x100000|825\n车窗|0x100000|628\n车床|0x100000|27345\n车次|0x100000|27837\n车带|0x0000|55129\n车刀|0x100000|940\n车道|0x100000|14438\n车灯|0x100000|24159\n车底|0x100000|928\n车顶|0x100000|803\n车斗|0x4000000|1\n车队|0x100000|6058\n车费|0x100000|23854\n车夫|0x100000|1267\n车辐|0x0080|0\n车盖|0x100000|1040\n车工|0x100000|25876\n车钩|0x100000|1205\n车号|0x100000|504\n车祸|0x100000|11176\n车技|0x100000|42653\n车价|0x100000|776\n车驾|0x100000|951\n车架|0x100000|35177\n车间|0x100000|3709\n车检|0x1000|48654\n车库|0x100000|22395\n车筐|0x0000|47309\n车况|0x100000|40101\n车链|0x0080|0\n车辆|0x100000|2434\n车列|0x0080|1\n车裂|0x100000|1013\n车铃|0x0080|43843\n车流|0x100000|19215\n车轮|0x100000|10528\n车马|0x100000|797\n车门|0x100000|10577\n车迷|0x100000|716\n车模|0x100000|52168\n车牌|0x100000|21609\n车盘|0x0080|0\n车棚|0x100000|33492\n车篷|0x100000|45825\n车皮|0x100000|27679\n车票|0x100000|9891\n车前|0x0000|26379\n车钱|0x100000|29504\n车圈|0x100000|54159\n车上|0x100000|519\n车身|0x100000|16706\n车市|0x100000|55131\n车手|0x100000|12356\n车速|0x100000|19942\n车胎|0x100000|41882\n车体|0x100000|30899\n车条|0x100000|54707\n车贴|0x0000|54708\n车头|0x100000|20078\n车尾|0x100000|799\n车位|0x100000|29401\n车辖|0x0080|0\n车险|0x0000|53149\n车厢|0x100000|6800\n车箱|0x100000|897\n车削|0x1000|922\n车行|0x0000|22921\n车型|0x100000|7268\n车辕|0x100000|44346\n车载|0x20000000|623\n车闸|0x100000|53633\n车展|0x100000|15677\n车站|0x100000|4361\n车掌|0x0008|0\n车照|0x100000|49734\n车辙|0x100000|35037\n车种|0x0000|54160\n车轴|0x100000|36112\n车主|0x100000|12901\n车资|0x100000|1007\n车子|0x100000|5178\n车组|0x100000|30144\n车座|0x100000|910\n扯白|0x1000|0\n扯淡|0x1000|28996\n扯到|0x0000|527\n扯掉|0x0000|489\n扯谎|0x1000|30363\n扯开|0x0000|571\n扯裂|0x1000|1127\n扯铃|0x0008|0\n扯皮|0x1000|16463\n扯平|0x1000|44089\n扯破|0x0000|451\n扯起|0x0000|493\n扯碎|0x0000|398\n扯谈|0x1000|982\n扯腿|0x1000|53150\n扯下|0x0000|552\n彻查|0x0000|49735\n彻底|0x8000000|1344\n彻骨|0x0100|33087\n彻悟|0x0000|40103\n彻夜|0x8000000|17914\n坼裂|0x1000|0\n掣电|0x100000|0\n掣肘|0x1000|24821\n撤案|0x1000|1154\n撤兵|0x1000|34588\n撤并|0x1000|17915\n撤差|0x1000|0\n撤出|0x1000|8137\n撤除|0x1000|25688\n撤佃|0x1000|0\n撤掉|0x1000|874\n撤防|0x1000|50107\n撤岗|0x1000|0\n撤换|0x1000|19078\n撤回|0x1000|785\n撤军|0x1000|8260\n撤离|0x1000|8645\n撤免|0x0000|52643\n撤去|0x0000|501\n撤诉|0x1000|26731\n撤退|0x1000|12008\n撤消|0x1000|759\n撤销|0x1000|4940\n撤营|0x1000|0\n撤职|0x1000|11673\n撤资|0x1000|41192\n撤走|0x1000|19271\n抻面|0x100000|49385\n郴县|0x0040|1188\n郴州|0x0040|1117\n嗔怪|0x1000|27515\n嗔怒|0x1000|41416\n嗔怨|0x1000|53634\n尘埃|0x100000|13286\n尘暴|0x100000|51292\n尘肺|0x100000|35784\n尘封|0x1000|25471\n尘垢|0x100000|38432\n尘寰|0x100000|50889\n尘灰|0x0008|0\n尘芥|0x100000|1254\n尘粒|0x0000|402\n尘沙|0x100000|935\n尘世|0x100000|20936\n尘事|0x100000|989\n尘俗|0x100000|49386\n尘土|0x100000|10394\n尘雾|0x100000|46401\n尘嚣|0x100000|40531\n尘烟|0x100000|47310\n尘缘|0x100000|46402\n臣服|0x1000|768\n臣僚|0x100000|1063\n臣民|0x100000|841\n臣仆|0x100000|1113\n臣妾|0x100000|1024\n臣下|0x100000|492\n臣子|0x100000|835\n沉沉|0x8000000|12937\n沉船|0x100000|19159\n沉床|0x0080|0\n沉底|0x0000|51293\n沉淀|0x1000|11050\n沉浮|0x1000|20980\n沉积|0x1000|10564\n沉寂|0x40000000|10882\n沉降|0x1000|18951\n沉浸|0x1000|8525\n沉井|0x0008|1099\n沉静|0x40000000|11244\n沉疴|0x100000|39874\n沉雷|0x100000|50497\n沉沦|0x1000|18527\n沉落|0x0000|32096\n沉没|0x1000|14532\n沉闷|0x40000000|11484\n沉迷|0x1000|20302\n沉湎|0x1000|24160\n沉缅|0x1000|415\n沉默|0x40000000|3625\n沉溺|0x1000|20079\n沉潜|0x0000|43613\n沉睡|0x1000|14924\n沉思|0x100000|7024\n沉痛|0x40000000|10333\n沉稳|0x40000000|16366\n沉下|0x0000|548\n沉陷|0x1000|25806\n沉香|0x100000|36609\n沉箱|0x100000|1156\n沉毅|0x40000000|43379\n沉吟|0x1000|9565\n沉郁|0x40000000|24822\n沉冤|0x100000|46687\n沉渣|0x100000|30364\n沉滞|0x40000000|49736\n沉重|0x40000000|2313\n沉着|0x1000|8762\n沉醉|0x1000|14749\n辰光|0x100000|44090\n辰砂|0x100000|1172\n辰时|0x4000|41883\n辰溪|0x0080|1002\n陈兵|0x1000|35178\n陈冲|0x0080|6\n陈词|0x100000|459\n陈醋|0x100000|37857\n陈放|0x1000|42150\n陈腐|0x40000000|22200\n陈规|0x100000|29090\n陈化|0x100000|1054\n陈货|0x100000|53151\n陈迹|0x100000|31955\n陈酒|0x100000|44926\n陈旧|0x40000000|7804\n陈粮|0x0000|48655\n陈列|0x1000|8802\n陈米|0x100000|1001\n陈年|0x20000000|22720\n陈酿|0x100000|49028\n陈皮|0x100000|43380\n陈情|0x1000|43614\n陈请|0x0000|40104\n陈绍|0x100000|1217\n陈设|0x100000|13872\n陈尸|0x0000|48277\n陈述|0x1000|8646\n陈说|0x1000|37498\n陈诉|0x1000|44622\n陈套|0x100000|0\n陈言|0x100000|41193\n陈毅|0x0080|1405\n陈账|0x0000|54162\n晨报|0x100000|15141\n晨操|0x0080|369\n晨炊|0x100000|0\n晨祷|0x0080|0\n晨风|0x100000|28252\n晨光|0x0080|19272\n晨晖|0x100000|990\n晨昏|0x4000|39471\n晨间|0x0080|464\n晨练|0x1000|22201\n晨露|0x100000|864\n晨霜|0x0000|53635\n晨雾|0x100000|30900\n晨曦|0x100000|15755\n晨星|0x100000|39875\n晨衣|0x0008|0\n晨运|0x0008|0\n晨早|0x0008|1\n晨钟|0x100000|941\n闯闯|0x1000|792\n闯荡|0x1000|21471\n闯关|0x1000|31141\n闯祸|0x1000|33238\n闯将|0x100000|35182\n闯劲|0x100000|40538\n闯进|0x1000|645\n闯练|0x0000|54176\n闯入|0x1000|657\n闯王|0x0008|1502\n衬布|0x100000|55602\n衬底|0x100000|994\n衬垫|0x0008|48656\n衬裤|0x100000|46120\n衬里|0x100000|45520\n衬料|0x100000|1055\n衬领|0x100000|54163\n衬砌|0x1000|1058\n衬裙|0x100000|49387\n衬衫|0x100000|10967\n衬套|0x100000|968\n衬托|0x1000|15222\n衬衣|0x100000|12039\n衬映|0x1000|51742\n衬纸|0x100000|55132\n衬字|0x100000|1243\n称霸|0x1000|17888\n称便|0x1000|51743\n称兵|0x1000|0\n称病|0x1000|37499\n称臣|0x1000|22446\n称称|0x1000|0\n称贷|0x1000|0\n称道|0x1000|12789\n称帝|0x1000|805\n称多|0x0080|1035\n称号|0x100000|3377\n称贺|0x0000|34284\n称呼|0x1000|7177\n称绝|0x0000|48658\n称快|0x1000|39876\n称量|0x1000|31489\n称奇|0x1000|30027\n称赏|0x1000|39247\n称身|0x40000000|1116\n称述|0x1000|51744\n称说|0x0000|51295\n称颂|0x1000|20803\n称叹|0x1000|1082\n称王|0x1000|20730\n称为|0x1000|1142\n称谓|0x100000|14047\n称羡|0x1000|38228\n称谢|0x1000|27915\n称心|0x40000000|22721\n称雄|0x1000|21747\n称许|0x1000|40533\n称扬|0x1000|1106\n称意|0x40000000|1005\n称引|0x1000|0\n称誉|0x1000|32097\n称愿|0x1000|429\n称赞|0x1000|4266\n称职|0x40000000|9802\n称重|0x0008|822\n称作|0x1000|634\n称做|0x1000|780\n趁便|0x8000000|48657\n趁机|0x8000000|12077\n趁空|0x8000000|52644\n趁热|0x8000000|27914\n趁势|0x1000|20154\n趁手|0x1000|1009\n趁早|0x8000000|21380\n趁着|0x1000|618\n谶纬|0x100000|1117\n谶语|0x100000|41884\n柽柳|0x100000|47311\n柽麻|0x0080|0\n蛏干|0x0080|1264\n蛏子|0x100000|53152\n撑持|0x1000|36266\n撑船|0x1000|35785\n撑杆|0x100000|1079\n撑开|0x1000|818\n撑伞|0x1000|785\n撑死|0x0000|41194\n撑腰|0x1000|19943\n撑住|0x1000|28700\n瞠目|0x1000|29299\n丞相|0x100000|9324\n成安|0x0080|1526\n成败|0x100000|8994\n成倍|0x8000000|15068\n成本|0x100000|1671\n成才|0x1000|7335\n成材|0x100000|18268\n成册|0x1000|857\n成长|0x1000|1940\n成虫|0x100000|23411\n成仇|0x1000|432\n成串|0x0000|469\n成丁|0x0000|52645\n成都|0x0040|2571\n成堆|0x1000|20433\n成对|0x0000|30365\n成法|0x100000|37330\n成方|0x100000|991\n成分|0x100000|3037\n成份|0x100000|697\n成风|0x1000|23636\n成服|0x100000|47624\n成功|0x1000|365\n成规|0x100000|41417\n成果|0x100000|1114\n成核|0x100000|1078\n成化|0x0008|992\n成婚|0x1000|27031\n成活|0x1000|18420\n成绩|0x100000|970\n成家|0x1000|16028\n成见|0x100000|16240\n成交|0x1000|9042\n成教|0x100000|819\n成精|0x0000|52169\n成就|0x100000|1359\n成块|0x0000|449\n成矿|0x100000|1005\n成立|0x1000|737\n成例|0x100000|33734\n成林|0x1000|32480\n成龙|0x0080|979\n成寐|0x0000|47010\n成眠|0x1000|38433\n成名|0x1000|13663\n成命|0x100000|39054\n成年|0x1000|10475\n成批|0x100000|22922\n成癖|0x0000|43381\n成片|0x100000|13653\n成品|0x100000|12128\n成器|0x1000|29402\n成亲|0x1000|20348\n成趣|0x0000|31019\n成全|0x1000|17067\n成群|0x0080|12250\n成人|0x100000|5236\n成仁|0x1000|869\n成日|0x8000000|44091\n成色|0x100000|26437\n成山|0x0008|1366\n成事|0x100000|17250\n成书|0x100000|27190\n成熟|0x40000000|1619\n成数|0x100000|41418\n成双|0x0000|561\n成说|0x100000|41657\n成诵|0x1000|391\n成宿|0x0000|55603\n成算|0x100000|1155\n成髓|0x0080|0\n成套|0x1000|11119\n成体|0x0000|449\n成天|0x8000000|10334\n成团|0x1000|857\n成为|0x1000|139\n成文|0x100000|21187\n成武|0x0080|1435\n成仙|0x0000|39675\n成县|0x0040|1002\n成想|0x0000|44092\n成象|0x100000|1006\n成像|0x1000|16964\n成效|0x100000|2605\n成心|0x1000|21102\n成行|0x1000|17707\n成形|0x1000|19692\n成型|0x1000|17584\n成性|0x1000|32220\n成药|0x100000|39878\n成夜|0x0000|44347\n成衣|0x100000|25951\n成议|0x100000|1351\n成因|0x100000|13816\n成瘾|0x1000|27916\n成语|0x100000|13697\n成员|0x100000|1346\n成约|0x100000|49029\n成灾|0x1000|18836\n成章|0x1000|48659\n成真|0x0008|619\n成组|0x1000|983\n呈报|0x1000|25400\n呈递|0x1000|37858\n呈贡|0x0080|974\n呈交|0x1000|40318\n呈览|0x1000|1357\n呈露|0x1000|1106\n呈请|0x1000|31490\n呈上|0x1000|15\n呈送|0x1000|35786\n呈文|0x100000|28606\n呈现|0x1000|2476\n呈献|0x1000|38645\n呈样|0x0000|40105\n呈阅|0x1000|53153\n呈正|0x1000|50500\n呈子|0x100000|50890\n承办|0x1000|4441\n承包|0x1000|2784\n承保|0x1000|20981\n承尘|0x100000|1290\n承传|0x0000|47312\n承担|0x1000|1643\n承当|0x1000|39879\n承德|0x0040|1061\n承兑|0x20000000|23738\n承乏|0x1000|0\n承扶|0x0008|0\n承购|0x1000|53154\n承光|0x0008|1117\n承欢|0x1000|42395\n承继|0x1000|24111\n承建|0x1000|12129\n承浆|0x0008|0\n承接|0x1000|12550\n承揽|0x1000|19616\n承灵|0x0080|0\n承满|0x0080|0\n承蒙|0x1000|32481\n承诺|0x1000|2752\n承平|0x40000000|1013\n承泣|0x0008|0\n承情|0x1000|49388\n承认|0x1000|1035\n承山|0x0008|0\n承受|0x1000|3937\n承托|0x1000|938\n承望|0x1000|54709\n承袭|0x1000|23018\n承想|0x0000|44092\n承销|0x1000|852\n承修|0x0000|52646\n承印|0x1000|42396\n承应|0x1000|0\n承允|0x0000|53637\n承运|0x1000|20492\n承载|0x1000|10270\n承制|0x1000|892\n承重|0x1000|38434\n承转|0x1000|1110\n承租|0x1000|29403\n承做|0x1000|55604\n诚笃|0x40000000|51745\n诚服|0x40000000|1033\n诚恳|0x40000000|7302\n诚聘|0x1000|55133\n诚朴|0x40000000|45826\n诚然|0x10000000|12149\n诚如|0x10000000|21943\n诚实|0x40000000|5911\n诚心|0x100000|14236\n诚信|0x40000000|3769\n诚邀|0x0000|41195\n诚意|0x100000|7022\n诚招|0x1000|51746\n诚挚|0x40000000|8537\n城邦|0x100000|822\n城堡|0x100000|8310\n城北|0x8000|684\n城池|0x100000|19017\n城雕|0x100000|51296\n城东|0x8000|681\n城垛|0x100000|40319\n城防|0x100000|37678\n城府|0x100000|31491\n城根|0x100000|34442\n城固|0x0080|1514\n城关|0x100000|19359\n城管|0x100000|13196\n城郭|0x100000|38851\n城壕|0x100000|31268\n城隍|0x100000|1485\n城际|0x0000|34285\n城建|0x100000|9543\n城郊|0x100000|14384\n城口|0x0080|1338\n城里|0x8000|2989\n城楼|0x100000|14385\n城门|0x100000|8775\n城内|0x8000|695\n城南|0x8000|664\n城墙|0x100000|8973\n城区|0x100000|4596\n城阙|0x100000|1023\n城市|0x100000|230\n城铁|0x0008|817\n城头|0x100000|17811\n城外|0x8000|687\n城下|0x8000|813\n城乡|0x100000|2550\n城厢|0x100000|41885\n城邑|0x100000|1520\n城垣|0x100000|31719\n城镇|0x100000|2248\n城址|0x0000|32601\n城主|0x0000|638\n城子|0x100000|974\n乘便|0x8000000|30366\n乘车|0x1000|8519\n乘乘|0x1000|862\n乘除|0x100000|1006\n乘船|0x1000|18236\n乘法|0x100000|26732\n乘方|0x100000|43615\n乘风|0x1000|1227\n乘号|0x100000|1139\n乘机|0x1000|10259\n乘积|0x100000|943\n乘警|0x100000|26111\n乘客|0x100000|5203\n乘凉|0x1000|19767\n乘马|0x100000|1002\n乘幂|0x100000|1280\n乘上|0x0000|505\n乘胜|0x1000|16179\n乘势|0x8000000|11060\n乘数|0x100000|968\n乘务|0x100000|28997\n乘隙|0x1000|23855\n乘兴|0x1000|38852\n乘虚|0x1000|23355\n乘以|0x1000|789\n乘员|0x100000|33881\n乘着|0x1000|700\n乘坐|0x1000|6831\n惩办|0x1000|22092\n惩处|0x1000|8552\n惩罚|0x1000|5819\n惩戒|0x1000|17087\n惩治|0x1000|6911\n程度|0x100000|714\n程颢|0x0080|0\n程控|0x20000000|19160\n程式|0x100000|15243\n程限|0x100000|0\n程序|0x100000|1570\n程颐|0x0080|0\n澄碧|0x40000000|47627\n澄澈|0x0100|31386\n澄城|0x0080|999\n澄海|0x0040|1242\n澄江|0x0040|1366\n澄净|0x40000000|47937\n澄迈|0x0080|1474\n澄明|0x40000000|1408\n澄清|0x1000|12404\n澄沙|0x100000|1267\n澄莹|0x40000000|1226\n橙红|0x100000|45221\n橙黄|0x100000|36960\n橙皮|0x0000|432\n橙色|0x100000|28526\n橙汁|0x100000|41658\n橙子|0x100000|43383\n逞能|0x1000|34589\n逞强|0x1000|34919\n逞威|0x0008|430\n逞性|0x1000|0\n逞凶|0x1000|40320\n骋怀|0x1000|0\n骋目|0x1000|0\n秤锤|0x100000|1174\n秤杆|0x100000|40106\n秤钩|0x100000|1279\n秤毫|0x100000|1311\n秤盘|0x100000|48660\n秤砣|0x100000|37331\n秤星|0x100000|52647\n吃饱|0x0000|605\n吃草|0x0000|538\n吃吃|0x1000|658\n吃穿|0x0000|22666\n吃醋|0x1000|22261\n吃得|0x40000000|669\n吃掉|0x1000|617\n吃儿|0x0000|52170\n吃法|0x100000|747\n吃饭|0x1000|1665\n吃光|0x1000|753\n吃喝|0x1000|10625\n吃荤|0x1000|47011\n吃货|0x0000|54710\n吃紧|0x40000000|19617\n吃尽|0x1000|521\n吃劲|0x1000|50502\n吃惊|0x40000000|5042\n吃酒|0x1000|911\n吃客|0x0008|44093\n吃苦|0x1000|7733\n吃亏|0x40000000|8148\n吃力|0x40000000|9988\n吃粮|0x1000|31720\n吃奶|0x1000|558\n吃请|0x1000|26315\n吃食|0x1000|17130\n吃水|0x100000|13404\n吃素|0x1000|30487\n吃透|0x1000|23356\n吃完|0x0000|695\n吃相|0x100000|45521\n吃香|0x40000000|23473\n吃药|0x1000|623\n吃斋|0x1000|35787\n吃重|0x1000|50110\n吃住|0x100000|549\n吃准|0x1000|53155\n吃嘴|0x1000|0\n吃罪|0x1000|0\n哧哧|0x0008|468\n哧溜|0x80000|41887\n鸱尾|0x100000|1187\n鸱吻|0x100000|1095\n鸱鸺|0x100000|1407\n嗤嗤|0x1000|926\n嗤笑|0x1000|39472\n痴爱|0x1000|950\n痴痴|0x0080|643\n痴呆|0x100000|17329\n痴钝|0x40000000|1375\n痴肥|0x40000000|51299\n痴话|0x0000|51300\n痴狂|0x40000000|51301\n痴恋|0x0000|53156\n痴迷|0x1000|12491\n痴情|0x100000|20434\n痴傻|0x40000000|52648\n痴望|0x0000|44625\n痴想|0x100000|39055\n痴笑|0x1000|49030\n痴心|0x100000|23160\n痴愚|0x0000|50895\n痴子|0x100000|0\n痴醉|0x1000|50896\n魑魅|0x100000|971\n弛废|0x1000|0\n弛缓|0x40000000|49738\n池水|0x100000|827\n池塘|0x100000|11237\n池盐|0x100000|1301\n池鱼|0x100000|986\n池沼|0x100000|50111\n池州|0x0040|1218\n池子|0x100000|19018\n池座|0x100000|51302\n驰骋|0x1000|14448\n驰电|0x0000|34443\n驰名|0x1000|13664\n驰驱|0x1000|41659\n驰誉|0x1000|47012\n驰援|0x1000|31388\n驰骤|0x1000|0\n迟迟|0x8000000|9248\n迟到|0x1000|12114\n迟钝|0x40000000|15480\n迟缓|0x40000000|14096\n迟了|0x0000|599\n迟慢|0x40000000|44350\n迟萌|0x0080|0\n迟暮|0x4000|35633\n迟误|0x1000|35788\n迟延|0x1000|34590\n迟疑|0x1000|7658\n迟早|0x8000000|11485\n迟滞|0x1000|34591\n茌平|0x0080|1506\n持法|0x1000|25008\n持股|0x1000|694\n持家|0x1000|37859\n持节|0x1000|1004\n持久|0x40000000|5430\n持论|0x1000|44094\n持平|0x1000|13817\n持枪|0x1000|14290\n持球|0x1000|46688\n持身|0x1000|0\n持械|0x1000|40107\n持续|0x1000|1508\n持有|0x1000|6709\n持斋|0x1000|1134\n持正|0x1000|0\n持重|0x40000000|26316\n匙子|0x100000|46121\n踟躇|0x1000|401\n踟蹰|0x1000|44930\n尺寸|0x100000|10045\n尺牍|0x100000|44931\n尺度|0x100000|6878\n尺幅|0x100000|1103\n尺骨|0x100000|1129\n尺蠖|0x100000|48661\n尺码|0x100000|41660\n尺泽|0x0008|0\n尺子|0x100000|22312\n侈靡|0x0000|52649\n侈谈|0x100000|38230\n齿根|0x100000|1194\n齿垢|0x100000|0\n齿冠|0x100000|1322\n齿寒|0x0008|0\n齿鲸|0x100000|1272\n齿科|0x100000|944\n齿冷|0x1000|46122\n齿轮|0x100000|25123\n齿腔|0x100000|1536\n齿舌|0x100000|0\n齿条|0x100000|952\n齿形|0x100000|999\n齿音|0x100000|1138\n齿龈|0x100000|55136\n齿状|0x0000|398\n耻骨|0x100000|55606\n耻毛|0x100000|373\n耻辱|0x100000|10931\n耻笑|0x1000|26181\n耻于|0x0000|42872\n褫夺|0x1000|38646\n彳亍|0x1000|50112\n叱喝|0x1000|1046\n叱令|0x0000|43384\n叱骂|0x1000|40745\n叱问|0x1000|51303\n叱责|0x1000|38231\n叱咤|0x1000|23527\n斥革|0x1000|1397\n斥候|0x1000|966\n斥力|0x100000|54167\n斥骂|0x1000|42397\n斥退|0x1000|44626\n斥责|0x1000|17110\n斥逐|0x0000|43844\n斥资|0x1000|22818\n赤背|0x1000|1\n赤壁|0x0040|1179\n赤膊|0x1000|27346\n赤潮|0x100000|16651\n赤忱|0x100000|54712\n赤诚|0x100000|17585\n赤城|0x0040|1485\n赤道|0x100000|11204\n赤地|0x100000|1007\n赤豆|0x0080|41888\n赤峰|0x0040|1171\n赤红|0x100000|30145\n赤脚|0x100000|17632\n赤金|0x100000|42873\n赤痢|0x0080|55137\n赤露|0x1000|52172\n赤裸|0x1000|18496\n赤木|0x0080|1003\n赤贫|0x1000|33493\n赤热|0x40000000|387\n赤日|0x100000|416\n赤色|0x100000|34020\n赤芍|0x100000|1032\n赤身|0x1000|894\n赤手|0x0000|26734\n赤水|0x0040|1378\n赤松|0x100000|1555\n赤铜|0x100000|1144\n赤县|0x0040|1105\n赤心|0x100000|34748\n赤杨|0x0080|1189\n赤子|0x100000|21222\n赤字|0x100000|7700\n赤足|0x1000|33494\n饬令|0x1000|29933\n炽烈|0x40000000|25184\n炽热|0x40000000|16336\n炽盛|0x40000000|1019\n炽灼|0x40000000|1252\n翅膀|0x100000|6695\n翅果|0x100000|1264\n翅鞘|0x100000|1541\n翅翼|0x100000|1082\n翅子|0x100000|44351\n敕封|0x0000|45222\n敕令|0x100000|37502\n敕命|0x0008|0\n敕书|0x100000|32483\n瘛疭|0x100000|0\n充斥|0x1000|12492\n充充|0x1000|0\n充磁|0x1000|0\n充当|0x1000|7322\n充电|0x1000|14403\n充分|0x40000000|739\n充公|0x1000|34592\n充饥|0x1000|19801\n充军|0x1000|33495\n充满|0x1000|795\n充沛|0x40000000|14681\n充气|0x1000|26512\n充任|0x1000|31492\n充塞|0x1000|27597\n充实|0x1000|4249\n充数|0x1000|36611\n充填|0x1000|37141\n充血|0x1000|24623\n充溢|0x1000|22396\n充盈|0x1000|22924\n充裕|0x40000000|16257\n充足|0x40000000|5813\n充作|0x0000|25009\n冲茶|0x1000|973\n冲程|0x100000|46689\n冲冲|0x0100|742\n冲出|0x1000|597\n冲床|0x100000|50898\n冲刺|0x1000|14551\n冲淡|0x1000|639\n冲抵|0x1000|46690\n冲掉|0x1000|859\n冲顶|0x1000|31269\n冲动|0x100000|6119\n冲犯|0x1000|48662\n冲锋|0x1000|12221\n冲服|0x1000|52650\n冲关|0x0008|1\n冲过|0x0000|624\n冲毁|0x1000|24268\n冲昏|0x1000|824\n冲击|0x1000|2922\n冲积|0x1000|30901\n冲激|0x1000|1017\n冲剂|0x100000|33735\n冲劲|0x100000|763\n冲进|0x0000|691\n冲决|0x1000|39473\n冲开|0x1000|855\n冲克|0x1000|1163\n冲孔|0x0008|1325\n冲口|0x1000|1004\n冲垮|0x1000|26874\n冲扩|0x1000|1096\n冲浪|0x1000|27680\n冲力|0x100000|38061\n冲凉|0x1000|40536\n冲量|0x100000|1006\n冲脉|0x100000|1128\n冲模|0x100000|922\n冲泡|0x1000|49391\n冲破|0x1000|659\n冲去|0x0000|619\n冲入|0x1000|756\n冲散|0x1000|876\n冲杀|0x1000|24686\n冲砂|0x100000|1301\n冲上|0x0000|656\n冲绳|0x100000|1325\n冲蚀|0x0000|393\n冲刷|0x1000|16786\n冲水|0x1000|852\n冲塌|0x1000|1175\n冲腾|0x0000|55138\n冲天|0x1000|13301\n冲突|0x100000|1462\n冲洗|0x1000|14889\n冲喜|0x1000|1022\n冲线|0x1000|1029\n冲向|0x1000|664\n冲销|0x1000|46691\n冲压|0x1000|38234\n冲阳|0x0080|1317\n冲要|0x100000|46404\n冲印|0x100000|43385\n冲澡|0x0000|46692\n冲帐|0x0000|378\n冲账|0x1000|1252\n冲撞|0x1000|18579\n冲着|0x1000|683\n冲子|0x100000|0\n冲走|0x1000|789\n忡忡|0x0100|28165\n舂米|0x0000|42654\n憧憧|0x0100|40746\n憧憬|0x1000|10025\n虫草|0x100000|34749\n虫害|0x100000|23161\n虫胶|0x100000|1129\n虫卵|0x100000|28904\n虫情|0x100000|1213\n虫蚀|0x1000|1200\n虫体|0x0000|446\n虫牙|0x100000|54713\n虫眼|0x100000|47938\n虫灾|0x100000|36961\n虫豸|0x100000|1060\n虫蛀|0x0000|40108\n虫子|0x100000|14188\n虫族|0x100000|488\n崇拜|0x40000000|5954\n崇德|0x0020|884\n崇奉|0x1000|39248\n崇高|0x40000000|3140\n崇敬|0x1000|11851\n崇礼|0x0080|998\n崇明|0x0080|1174\n崇庆|0x0008|1113\n崇仁|0x0080|1526\n崇尚|0x1000|8457\n崇文|0x0080|1133\n崇信|0x0080|1518\n崇阳|0x0080|1512\n崇洋|0x1000|44352\n崇仰|0x1000|45522\n崇义|0x0080|1520\n崇祯|0x0008|1341\n崇州|0x0040|1456\n崇左|0x0080|1374\n宠爱|0x1000|15715\n宠儿|0x100000|27191\n宠坏|0x1000|730\n宠物|0x100000|13773\n宠信|0x1000|38232\n宠幸|0x1000|29505\n宠用|0x1000|51305\n铳子|0x100000|0\n抽测|0x1000|55913\n抽查|0x1000|5403\n抽成|0x0000|50504\n抽抽|0x1000|810\n抽出|0x1000|594\n抽搐|0x1000|16163\n抽搭|0x1000|42151\n抽打|0x1000|21659\n抽调|0x1000|7380\n抽丁|0x1000|0\n抽动|0x1000|20982\n抽斗|0x100000|40966\n抽风|0x1000|43618\n抽换|0x0000|53157\n抽回|0x0000|529\n抽检|0x1000|17438\n抽奖|0x1000|21749\n抽筋|0x1000|29300\n抽考|0x1000|54168\n抽空|0x1000|18952\n抽泣|0x1000|16419\n抽签|0x1000|13544\n抽球|0x1000|0\n抽取|0x1000|16965\n抽杀|0x0000|55607\n抽纱|0x100000|54717\n抽射|0x0008|821\n抽身|0x1000|22397\n抽湿|0x100000|946\n抽水|0x1000|21566\n抽税|0x1000|40967\n抽丝|0x1000|41420\n抽穗|0x1000|32977\n抽缩|0x1000|49741\n抽苔|0x1000|1220\n抽屉|0x100000|8081\n抽头|0x100000|42655\n抽吸|0x0000|47629\n抽暇|0x8000000|0\n抽闲|0x1000|0\n抽象|0x40000000|5249\n抽选|0x0000|49392\n抽血|0x1000|815\n抽芽|0x1000|49742\n抽咽|0x1000|29506\n抽烟|0x1000|7615\n抽验|0x1000|35789\n抽样|0x1000|16684\n抽噎|0x1000|29934\n抽绎|0x1000|0\n抽印|0x1000|1377\n抽运|0x0008|0\n仇敌|0x100000|20898\n仇恨|0x1000|8621\n仇家|0x100000|34594\n仇人|0x100000|15542\n仇杀|0x1000|32978\n仇视|0x1000|19184\n仇外|0x0000|51307\n仇隙|0x100000|45828\n仇怨|0x1000|42874\n惆怅|0x40000000|14004\n绸布|0x100000|980\n绸缎|0x100000|15204\n绸缪|0x1000|17222\n绸子|0x100000|21750\n畴昔|0x4000|1102\n愁肠|0x100000|36963\n愁楚|0x40000000|0\n愁怀|0x100000|53158\n愁苦|0x40000000|21944\n愁眉|0x100000|17349\n愁闷|0x40000000|30028\n愁人|0x0000|47014\n愁容|0x100000|25401\n愁思|0x100000|37332\n愁绪|0x100000|38855\n愁云|0x100000|27347\n稠度|0x100000|988\n稠糊|0x0100|0\n稠密|0x40000000|17966\n筹办|0x1000|12367\n筹备|0x1000|4903\n筹措|0x1000|8352\n筹划|0x1000|10619\n筹集|0x1000|5956\n筹建|0x1000|8865\n筹借|0x1000|46124\n筹款|0x1000|19333\n筹码|0x100000|20349\n筹谋|0x1000|42398\n筹募|0x1000|48281\n筹拍|0x1000|910\n筹商|0x1000|47015\n筹算|0x1000|53159\n筹资|0x1000|8039\n筹组|0x100000|38436\n酬报|0x1000|36436\n酬宾|0x1000|42875\n酬唱|0x0000|54718\n酬酢|0x1000|47939\n酬答|0x1000|46123\n酬对|0x1000|55140\n酬和|0x1000|0\n酬金|0x100000|28905\n酬劳|0x100000|34920\n酬谢|0x1000|29184\n酬应|0x1000|1245\n踌躇|0x1000|9311\n雠隙|0x100000|0\n丑旦|0x100000|0\n丑诋|0x1000|1335\n丑恶|0x40000000|9080\n丑怪|0x0080|0\n丑化|0x1000|27598\n丑话|0x100000|34595\n丑角|0x100000|25545\n丑剧|0x100000|35790\n丑类|0x100000|44353\n丑陋|0x40000000|12838\n丑名|0x0080|0\n丑女|0x100000|701\n丑时|0x4000|55141\n丑事|0x100000|26601\n丑态|0x100000|29404\n丑闻|0x100000|10451\n丑相|0x0000|49032\n丑星|0x100000|51749\n丑行|0x100000|43130\n瞅瞅|0x1000|785\n瞅见|0x1000|22618\n瞅准|0x0000|32359\n臭虫|0x100000|24420\n臭椿|0x100000|53643\n臭汗|0x0008|1\n臭骂|0x1000|26513\n臭美|0x40000000|44627\n臭名|0x100000|30254\n臭屁|0x0008|0\n臭棋|0x100000|1094\n臭气|0x100000|16756\n臭味|0x100000|728\n臭氧|0x100000|13591\n臭鼬|0x0008|2\n出版|0x1000|825\n出榜|0x1000|40968\n出奔|0x1000|28347\n出殡|0x1000|24315\n出兵|0x1000|9168\n出彩|0x1000|33619\n出操|0x1000|38437\n出差|0x1000|8012\n出产|0x1000|13405\n出厂|0x1000|11514\n出场|0x1000|7979\n出超|0x100000|42399\n出车|0x1000|23856\n出乘|0x0000|51308\n出丑|0x1000|26317\n出出|0x20000|804\n出处|0x100000|20983\n出错|0x1000|21843\n出道|0x1000|33496\n出典|0x100000|46126\n出动|0x1000|6247\n出洞|0x0000|512\n出发|0x1000|1168\n出饭|0x1000|0\n出访|0x1000|7368\n出伏|0x1000|0\n出港|0x1000|906\n出阁|0x1000|33736\n出格|0x40000000|28998\n出工|0x1000|18082\n出恭|0x1000|1039\n出关|0x1000|796\n出轨|0x1000|32870\n出国|0x1000|4215\n出海|0x1000|11434\n出汗|0x1000|18642\n出航|0x1000|37333\n出乎|0x1000|659\n出活|0x1000|1100\n出货|0x100000|40969\n出击|0x1000|8114\n出继|0x1000|0\n出家|0x1000|17477\n出价|0x1000|32222\n出嫁|0x1000|11143\n出尖|0x1000|0\n出街|0x0008|1\n出界|0x1000|41421\n出借|0x1000|29614\n出警|0x1000|25546\n出境|0x1000|7218\n出镜|0x0000|46405\n出局|0x1000|13947\n出具|0x1000|8845\n出口|0x1000|991\n出库|0x1000|879\n出来|0x1000|2363\n出栏|0x1000|17524\n出力|0x1000|9695\n出列|0x1000|43847\n出猎|0x1000|36612\n出溜|0x1000|37142\n出笼|0x1000|20156\n出炉|0x1000|24878\n出路|0x100000|4546\n出落|0x1000|35791\n出马|0x1000|18055\n出卖|0x1000|8299\n出没|0x1000|14201\n出门|0x1000|3314\n出面|0x1000|6870\n出苗|0x1000|26806\n出名|0x1000|10052\n出纳|0x100000|21381\n出盘|0x1000|1132\n出品|0x100000|17916\n出圃|0x0000|54171\n出奇|0x40000000|11674\n出气|0x1000|16317\n出钱|0x1000|8834\n出鞘|0x1000|778\n出勤|0x1000|26182\n出清|0x1000|904\n出糗|0x0008|468\n出去|0x1000|1235\n出圈|0x1000|51309\n出缺|0x1000|40537\n出让|0x1000|8092\n出任|0x1000|6458\n出入|0x1000|7587\n出塞|0x1000|847\n出赛|0x1000|47017\n出丧|0x1000|44628\n出色|0x40000000|3672\n出山|0x1000|13762\n出身|0x100000|4724\n出神|0x1000|12579\n出生|0x1000|3009\n出声|0x0000|10457\n出师|0x1000|13267\n出使|0x1000|23358\n出世|0x1000|12090\n出仕|0x1000|0\n出示|0x1000|11584\n出事|0x1000|8826\n出手|0x100000|9863\n出首|0x1000|7\n出售|0x1000|4078\n出书|0x1000|19389\n出水|0x1000|25473\n出台|0x1000|2793\n出摊|0x1000|1094\n出逃|0x1000|27192\n出题|0x1000|31958\n出铁|0x100000|0\n出庭|0x1000|16787\n出头|0x1000|8680\n出徒|0x1000|53646\n出土|0x1000|8125\n出脱|0x1000|49035\n出外|0x1000|13132\n出亡|0x1000|50114\n出位|0x0008|53647\n出息|0x100000|11835\n出席|0x1000|1724\n出险|0x1000|30029\n出现|0x1000|198\n出线|0x1000|10488\n出项|0x100000|1109\n出新|0x1000|748\n出行|0x1000|9108\n出血|0x1000|10736\n出巡|0x1000|28348\n出芽|0x1000|47941\n出言|0x1000|798\n出演|0x1000|23857\n出洋|0x1000|21514\n出迎|0x1000|22566\n出游|0x1000|12662\n出于|0x1000|2855\n出狱|0x1000|15388\n出浴|0x1000|832\n出院|0x1000|7131\n出月|0x1000|0\n出展|0x0000|51310\n出战|0x1000|10626\n出站|0x1000|822\n出掌|0x1000|53648\n出账|0x1000|55142\n出招|0x0008|710\n出诊|0x1000|23253\n出阵|0x1000|35181\n出征|0x1000|8888\n出众|0x40000000|15423\n出资|0x1000|5927\n出自|0x1000|7124\n出走|0x1000|21382\n出租|0x1000|7403\n初八|0x404000|23528\n初版|0x100000|31140\n初步|0x20000000|2035\n初潮|0x100000|53160\n初创|0x1000|22619\n初春|0x4000|16420\n初次|0x8000000|9027\n初等|0x20000000|29721\n初冬|0x4000|16686\n初度|0x100000|49743\n初段|0x100000|965\n初二|0x404000|14257\n初犯|0x100000|38438\n初伏|0x4000|55143\n初稿|0x100000|19844\n初会|0x1000|48283\n初婚|0x100000|43131\n初级|0x20000000|4564\n初见|0x1000|26112\n初交|0x1000|47314\n初九|0x404000|29092\n初具|0x1000|765\n初亏|0x100000|1209\n初恋|0x100000|15699\n初六|0x404000|24486\n初露|0x1000|785\n初民|0x100000|36437\n初年|0x4000|15464\n初评|0x100000|28349\n初七|0x404000|24269\n初期|0x100000|3701\n初晴|0x0000|41423\n初秋|0x100000|21223\n初乳|0x100000|892\n初赛|0x100000|30489\n初三|0x404000|14404\n初审|0x100000|23740\n初升|0x0000|44629\n初生|0x20000000|734\n初十|0x404000|29615\n初时|0x4000|32486\n初识|0x1000|36964\n初始|0x20000000|13287\n初试|0x100000|29616\n初四|0x404000|23056\n初速|0x100000|1064\n初探|0x1000|37143\n初唐|0x4000|969\n初吻|0x100000|679\n初五|0x404000|22529\n初夏|0x4000|14940\n初现|0x0000|562\n初小|0x100000|40110\n初心|0x100000|944\n初选|0x1000|23529\n初学|0x1000|24421\n初雪|0x100000|41424\n初旬|0x4000|41891\n初叶|0x4000|33372\n初夜|0x100000|42152\n初一|0x404000|10976\n初印|0x100000|1269\n初愿|0x100000|55144\n初月|0x100000|1098\n初战|0x100000|26952\n初绽|0x0000|47315\n初诊|0x1000|51750\n初值|0x100000|957\n初中|0x100000|4217\n初衷|0x100000|10310\n初装|0x1000|888\n刍秣|0x100000|0\n刍荛|0x100000|1226\n刍议|0x100000|40970\n除弊|0x1000|37679\n除冰|0x0000|389\n除草|0x1000|34750\n除尘|0x1000|24750\n除虫|0x0000|454\n除臭|0x1000|792\n除此|0x40000|707\n除错|0x0008|470\n除掉|0x1000|738\n除恶|0x1000|891\n除伐|0x100000|0\n除法|0x100000|39882\n除非|0x10000000|7059\n除服|0x0000|54719\n除根|0x1000|45223\n除垢|0x1000|53161\n除害|0x1000|27100\n除号|0x100000|1224\n除尽|0x0000|420\n除开|0x40000|28999\n除了|0x40000|540\n除名|0x1000|19918\n除去|0x1000|8392\n除权|0x1000|897\n除却|0x1000|32979\n除丧|0x1000|0\n除砂|0x100000|1061\n除湿|0x1000|49394\n除数|0x100000|1053\n除霜|0x100000|1006\n除外|0x1000|10848\n除夕|0x4000|10692\n除锈|0x0000|50903\n除夜|0x4000|1134\n除以|0x1000|803\n厨刀|0x100000|1093\n厨房|0x100000|4223\n厨工|0x0000|53649\n厨柜|0x100000|792\n厨具|0x100000|40971\n厨师|0x100000|11836\n厨艺|0x100000|41661\n厨园|0x0040|0\n厨子|0x100000|12545\n滁县|0x100000|1182\n滁州|0x0040|1142\n锄草|0x1000|31601\n锄地|0x1000|34445\n锄奸|0x1000|44934\n锄头|0x100000|15016\n雏儿|0x100000|41892\n雏鸡|0x100000|36267\n雏妓|0x0000|50115\n雏菊|0x0000|48666\n雏鸟|0x100000|38235\n雏形|0x100000|15786\n雏型|0x100000|47942\n雏燕|0x100000|55145\n雏鹰|0x100000|858\n橱窗|0x100000|15503\n橱柜|0x100000|37504\n杵臼|0x100000|1155\n础石|0x100000|1168\n储备|0x1000|4909\n储藏|0x1000|17812\n储存|0x1000|7145\n储户|0x100000|13682\n储积|0x100000|52651\n储金|0x100000|49036\n储君|0x100000|996\n储量|0x100000|6892\n储水|0x1000|987\n储蓄|0x1000|5365\n储油|0x100000|1028\n储运|0x1000|35634\n楚楚|0x0100|1035\n楚辞|0x0008|888\n楚歌|0x0080|928\n楚国|0x0040|1309\n楚剧|0x100000|48285\n楚天|0x0020|1157\n楚王|0x100000|871\n楚雄|0x0040|1235\n处长|0x100000|3846\n处处|0x8000000|3765\n处罚|0x1000|2880\n处方|0x100000|8199\n处分|0x1000|3420\n处境|0x100000|6478\n处决|0x1000|22722\n处理|0x1000|524\n处男|0x0080|679\n处女|0x100000|16757\n处身|0x0000|45830\n处士|0x0080|982\n处世|0x1000|16504\n处事|0x1000|17889\n处暑|0x4000|52174\n处死|0x1000|14291\n处所|0x100000|22354\n处刑|0x1000|994\n处以|0x1000|10759\n处于|0x1000|1420\n处在|0x1000|3103\n处治|0x1000|32728\n处置|0x1000|3603\n处子|0x100000|41426\n怵头|0x40000000|0\n搐动|0x1000|41893\n搐搦|0x1000|1213\n搐缩|0x1000|0\n触板|0x0080|0\n触底|0x0080|494\n触点|0x100000|832\n触电|0x1000|21188\n触动|0x1000|10135\n触发|0x1000|21896\n触犯|0x1000|12064\n触感|0x0000|572\n触击|0x0080|0\n触及|0x1000|12139\n触礁|0x1000|34596\n触角|0x100000|17088\n触觉|0x100000|25547\n触雷|0x1000|43132\n触力|0x0080|0\n触毛|0x100000|0\n触媒|0x100000|40972\n触摸|0x1000|13059\n触目|0x1000|13501\n触怒|0x1000|32729\n触手|0x100000|32602\n触痛|0x1000|46695\n触网|0x1000|44354\n触须|0x100000|36113\n触诊|0x100000|1072\n憷头|0x40000000|1292\n黜免|0x1000|50506\n黜退|0x1000|51311\n矗立|0x1000|10950\n搋子|0x100000|1232\n揣测|0x1000|23858\n揣度|0x1000|36780\n揣摸|0x1000|1015\n揣摩|0x1000|17068\n揣想|0x1000|37680\n啜泣|0x1000|20394\n啜饮|0x1000|912\n川贝|0x100000|52175\n川菜|0x100000|39883\n川藏|0x100000|496\n川东|0x100000|480\n川剧|0x100000|17372\n川军|0x100000|990\n川马|0x0080|1233\n川乌|0x0008|0\n川芎|0x100000|935\n川资|0x100000|45525\n穿帮|0x1000|50904\n穿插|0x1000|16049\n穿刺|0x1000|29828\n穿戴|0x100000|13895\n穿洞|0x0000|422\n穿过|0x1000|517\n穿孔|0x1000|28350\n穿破|0x0000|488\n穿墙|0x0008|887\n穿入|0x0000|485\n穿上|0x0000|736\n穿梭|0x1000|11030\n穿堂|0x1000|39474\n穿透|0x1000|630\n穿线|0x1000|932\n穿孝|0x1000|46696\n穿行|0x1000|11896\n穿衣|0x1000|633\n穿越|0x1000|8485\n穿凿|0x1000|40973\n穿针|0x0000|464\n穿著|0x0000|622\n穿着|0x100000|4652\n传本|0x0000|41894\n传遍|0x1000|731\n传播|0x1000|1853\n传布|0x1000|30146\n传唱|0x1000|20493\n传抄|0x1000|45526\n传承|0x1000|9018\n传出|0x1000|563\n传达|0x100000|5061\n传代|0x1000|53162\n传单|0x100000|13074\n传导|0x1000|16010\n传到|0x1000|623\n传道|0x1000|26602\n传递|0x1000|4263\n传动|0x1000|24487\n传粉|0x1000|53652\n传感|0x1000|35793\n传告|0x1000|50508\n传给|0x1000|619\n传功|0x1000|0\n传呼|0x100000|19476\n传话|0x1000|25952\n传唤|0x1000|26875\n传回|0x1000|839\n传记|0x100000|10586\n传技|0x0000|53653\n传家|0x1000|32101\n传教|0x1000|17111\n传经|0x1000|34751\n传开|0x1000|782\n传来|0x1000|514\n传令|0x1000|18024\n传略|0x100000|40713\n传媒|0x100000|6591\n传名|0x0000|51751\n传票|0x100000|32603\n传奇|0x100000|6885\n传情|0x1000|32223\n传球|0x1000|22146\n传染|0x1000|8543\n传热|0x1000|28702\n传人|0x100000|16985\n传入|0x1000|686\n传神|0x40000000|18388\n传声|0x1000|981\n传世|0x1000|18325\n传授|0x1000|6666\n传输|0x1000|6017\n传说|0x100000|4065\n传诵|0x1000|20649\n传送|0x1000|10958\n传颂|0x1000|24824\n传统|0x100000|484\n传闻|0x100000|14028\n传习|0x1000|34159\n传下|0x0000|547\n传销|0x100000|6519\n传讯|0x1000|30367\n传言|0x100000|17633\n传扬|0x1000|29935\n传艺|0x1000|46127\n传译|0x1000|47019\n传阅|0x1000|30903\n传真|0x100000|6958\n传旨|0x0000|22093\n传质|0x100000|945\n传中|0x1000|755\n传种|0x1000|47631\n船帮|0x100000|42401\n船舶|0x100000|4528\n船埠|0x100000|51313\n船舱|0x100000|19845\n船长|0x100000|12169\n船厂|0x100000|854\n船船|0x0080|5\n船底|0x100000|38647\n船东|0x100000|25125\n船队|0x100000|16143\n船儿|0x100000|927\n船帆|0x100000|45527\n船费|0x0080|0\n船夫|0x100000|18763\n船歌|0x0080|928\n船工|0x100000|31270\n船户|0x100000|43620\n船货|0x0000|465\n船籍|0x0000|54173\n船家|0x100000|29302\n船舰|0x0080|462\n船桨|0x100000|46407\n船壳|0x100000|384\n船客|0x0080|0\n船龄|0x100000|51314\n船门|0x100000|0\n船民|0x100000|24040\n船名|0x0080|1043\n船模|0x0080|1046\n船篷|0x100000|39884\n船票|0x100000|24688\n船期|0x100000|45528\n船钱|0x100000|1241\n船上|0x8000|670\n船艄|0x100000|0\n船身|0x100000|24689\n船室|0x0080|0\n船首|0x100000|1040\n船速|0x100000|1087\n船台|0x100000|39249\n船体|0x100000|21419\n船艇|0x100000|38648\n船头|0x100000|799\n船王|0x100000|976\n船桅|0x100000|47632\n船尾|0x100000|24825\n船位|0x100000|50117\n船坞|0x100000|28256\n船务|0x100000|754\n船舷|0x100000|26515\n船形|0x0040|1544\n船型|0x100000|925\n船游|0x0080|1\n船员|0x100000|11865\n船运|0x100000|36613\n船闸|0x100000|13391\n船只|0x100000|7750\n船主|0x100000|22355\n椽子|0x100000|32487\n舛错|0x100000|0\n舛误|0x100000|55147\n喘气|0x1000|14635\n喘息|0x1000|10883\n喘证|0x100000|0\n串案|0x0000|44355\n串串|0x20000|670\n串岗|0x0008|0\n串供|0x1000|50118\n串换|0x1000|44356\n串讲|0x1000|52176\n串口|0x0008|698\n串连|0x1000|822\n串联|0x1000|15244\n串列|0x0008|1107\n串铃|0x100000|49746\n串流|0x0008|1009\n串门|0x1000|731\n串骗|0x1000|0\n串起|0x0000|523\n串气|0x1000|0\n串通|0x1000|21702\n串味|0x1000|1067\n串戏|0x0000|55148\n串线|0x4000000|1110\n串行|0x100000|783\n串演|0x1000|47943\n串音|0x100000|1152\n串游|0x0000|52177\n串珠|0x100000|40111\n疮疤|0x100000|32224\n疮痂|0x100000|1202\n疮口|0x100000|54174\n疮痍|0x100000|1023\n窗洞|0x100000|36614\n窗扉|0x0000|53163\n窗缝|0x100000|1024\n窗户|0x100000|5038\n窗花|0x100000|32980\n窗机|0x0000|55149\n窗口|0x100000|2759\n窗框|0x100000|38064\n窗帘|0x100000|10388\n窗棂|0x100000|26953\n窗幔|0x100000|43387\n窗门|0x100000|978\n窗纱|0x100000|29001\n窗扇|0x100000|49037\n窗饰|0x100000|898\n窗台|0x100000|14113\n窗体|0x100000|757\n窗外|0x8000|499\n窗帷|0x100000|42657\n窗沿|0x100000|50509\n窗园|0x0040|0\n窗子|0x100000|7965\n床板|0x100000|26438\n床边|0x8000|637\n床床|0x0080|0\n床单|0x100000|14202\n床垫|0x100000|29723\n床架|0x0008|42658\n床铺|0x100000|15700\n床褥|0x0008|976\n床上|0x100000|494\n床身|0x0008|1063\n床榻|0x100000|47944\n床头|0x8000|11935\n床帷|0x0080|54175\n床位|0x100000|14273\n床沿|0x100000|15314\n床罩|0x100000|42659\n床柱|0x0080|403\n床子|0x100000|47020\n创办|0x1000|3626\n创编|0x1000|32605\n创出|0x1000|721\n创痕|0x100000|44095\n创汇|0x1000|8817\n创见|0x100000|28086\n创建|0x1000|2668\n创举|0x100000|13774\n创刊|0x1000|9629\n创口|0x100000|32488\n创立|0x1000|5707\n创利|0x1000|32872\n创面|0x100000|37861\n创伤|0x100000|10374\n创设|0x1000|22044\n创生|0x1000|992\n创始|0x1000|23474\n创收|0x1000|15017\n创税|0x0000|48286\n创痛|0x100000|34022\n创下|0x1000|647\n创新|0x1000|1347\n创演|0x0000|44096\n创业|0x1000|2743\n创议|0x0000|44357\n创意|0x100000|10026\n创优|0x1000|20350\n创造|0x1000|473\n创制|0x1000|22356\n创作|0x1000|600\n怆然|0x0100|35480\n怆痛|0x40000000|0\n吹出|0x0000|532\n吹吹|0x1000|729\n吹打|0x1000|907\n吹弹|0x1000|469\n吹倒|0x1000|915\n吹灯|0x1000|42153\n吹笛|0x0000|501\n吹掉|0x0000|429\n吹动|0x1000|765\n吹风|0x1000|30030\n吹拂|0x1000|18984\n吹干|0x0000|499\n吹鼓|0x1000|1161\n吹管|0x100000|1072\n吹号|0x1000|1075\n吹箭|0x0008|1109\n吹炼|0x1000|0\n吹灭|0x0000|482\n吹牛|0x1000|16222\n吹拍|0x1000|51315\n吹捧|0x1000|22315\n吹气|0x0000|521\n吹入|0x0000|446\n吹散|0x0000|520\n吹沙|0x100000|1047\n吹送|0x1000|963\n吹台|0x1000|1209\n吹熄|0x100000|845\n吹箫|0x1000|864\n吹嘘|0x1000|20080\n吹雪|0x0008|0\n吹奏|0x1000|25402\n炊饼|0x0000|54723\n炊具|0x100000|32606\n炊事|0x100000|30686\n炊烟|0x100000|16919\n炊帚|0x100000|1359\n垂爱|0x1000|47633\n垂成|0x0000|41895\n垂吊|0x0000|46697\n垂钓|0x1000|20158\n垂范|0x1000|41199\n垂拱|0x1000|1066\n垂挂|0x1000|33883\n垂花|0x20000000|1\n垂老|0x1000|39885\n垂泪|0x1000|27839\n垂帘|0x1000|958\n垂怜|0x0000|45832\n垂柳|0x100000|25474\n垂落|0x1000|32360\n垂暮|0x4000|43134\n垂念|0x0000|55150\n垂青|0x1000|30147\n垂手|0x1000|27034\n垂首|0x0000|41664\n垂死|0x1000|26318\n垂体|0x100000|29185\n垂髫|0x100000|48667\n垂头|0x1000|929\n垂危|0x1000|18580\n垂问|0x1000|50905\n垂下|0x0000|645\n垂涎|0x1000|29303\n垂线|0x100000|1055\n垂询|0x1000|40975\n垂杨|0x100000|960\n垂直|0x1000|6621\n捶背|0x1000|899\n捶打|0x1000|31271\n捶鼓|0x1000|0\n捶击|0x1000|47021\n锤打|0x0000|50510\n锤骨|0x100000|1372\n锤炼|0x1000|15161\n锤头|0x100000|1014\n锤子|0x100000|22864\n春饼|0x100000|41427\n春播|0x1000|18326\n春蚕|0x100000|30791\n春茶|0x100000|38237\n春潮|0x100000|26516\n春城|0x0040|769\n春绸|0x0080|1401\n春凳|0x0080|0\n春肥|0x100000|1322\n春分|0x4000|34921\n春风|0x100000|6714\n春耕|0x1000|7273\n春宫|0x100000|42154\n春灌|0x1000|39886\n春光|0x100000|14594\n春寒|0x100000|29618\n春旱|0x100000|28805\n春化|0x100000|1202\n春荒|0x100000|36438\n春晖|0x100000|35635\n春季|0x4000|6497\n春假|0x100000|38439\n春节|0x4000|1943\n春景|0x100000|50119\n春酒|0x100000|900\n春卷|0x100000|44936\n春困|0x1000|51316\n春兰|0x100000|1243\n春雷|0x100000|23254\n春联|0x100000|13392\n春令|0x100000|55151\n春麦|0x100000|50906\n春忙|0x100000|0\n春梦|0x100000|39250\n春牛|0x100000|1114\n春情|0x100000|41665\n春秋|0x4000|5728\n春日|0x4000|23638\n春色|0x100000|20564\n春上|0x4000|990\n春事|0x100000|1066\n春试|0x100000|1297\n春收|0x100000|1273\n春水|0x100000|722\n春笋|0x100000|25126\n春天|0x4000|2184\n春瘟|0x0080|0\n春宵|0x100000|48668\n春心|0x100000|44937\n春性|0x0080|0\n春训|0x100000|426\n春汛|0x100000|51754\n春药|0x100000|46409\n春意|0x100000|743\n春游|0x1000|30368\n春雨|0x100000|13742\n春运|0x100000|7267\n春种|0x100000|31020\n春装|0x100000|45224\n椿皮|0x0008|0\n椿树|0x100000|31602\n椿萱|0x100000|1246\n纯爱|0x0080|1\n纯白|0x0100|687\n纯纯|0x0100|541\n纯粹|0x8000000|5818\n纯度|0x100000|20304\n纯钢|0x0008|53167\n纯厚|0x40000000|422\n纯化|0x1000|29508\n纯硷|0x0080|0\n纯碱|0x100000|41428\n纯洁|0x40000000|6983\n纯金|0x100000|32607\n纯净|0x40000000|12983\n纯利|0x100000|30031\n纯良|0x40000000|46128\n纯林|0x0080|3\n纯律|0x100000|1292\n纯毛|0x0008|43621\n纯美|0x40000000|41429\n纯棉|0x100000|38649\n纯品|0x0000|55153\n纯平|0x100000|807\n纯朴|0x40000000|14533\n纯情|0x100000|25807\n纯然|0x8000000|37505\n纯色|0x100000|810\n纯熟|0x40000000|29093\n纯水|0x100000|39476\n纯一|0x400080|13609\n纯益|0x0008|1227\n纯音|0x100000|935\n纯育|0x0080|0\n纯贞|0x40000000|0\n纯真|0x40000000|14360\n纯正|0x40000000|17330\n纯种|0x100000|29724\n纯属|0x1000|14154\n唇瓣|0x0000|543\n唇部|0x100000|838\n唇齿|0x100000|31603\n唇膏|0x100000|30148\n唇裂|0x100000|53168\n唇舌|0x100000|32226\n唇吻|0x100000|52178\n唇线|0x0000|51317\n唇炎|0x100000|0\n唇音|0x100000|1163\n莼菜|0x100000|50907\n淳安|0x0080|1392\n淳厚|0x40000000|31272\n淳化|0x1000|1542\n淳美|0x40000000|1182\n淳朴|0x40000000|16901\n淳于|0x0080|486\n鹑衣|0x100000|0\n醇和|0x40000000|52653\n醇厚|0x40000000|29094\n醇化|0x1000|370\n醇酒|0x100000|39057\n醇美|0x40000000|48288\n醇朴|0x40000000|0\n醇香|0x40000000|34599\n醇正|0x40000000|55610\n蠢笨|0x40000000|37862\n蠢材|0x100000|51755\n蠢蠢|0x1000|896\n蠢蛋|0x0000|456\n蠢动|0x1000|38440\n蠢话|0x100000|44098\n蠢货|0x100000|41200\n蠢驴|0x100000|1015\n蠢人|0x100000|40748\n蠢事|0x100000|23790\n蠢物|0x0000|48669\n蠢猪|0x100000|44938\n戳穿|0x1000|25185\n戳戳|0x0080|0\n戳儿|0x0000|53656\n戳记|0x100000|48670\n戳破|0x1000|879\n戳子|0x100000|45529\n绰绰|0x0080|978\n绰号|0x100000|13288\n绰约|0x40000000|33373\n辍笔|0x1000|52654\n辍学|0x1000|10620\n辍演|0x1000|0\n呲牙|0x0008|874\n疵点|0x100000|50511\n疵品|0x100000|0\n疵瑕|0x100000|1329\n词霸|0x0008|715\n词表|0x100000|994\n词典|0x100000|10136\n词调|0x100000|1124\n词儿|0x100000|817\n词法|0x100000|52655\n词锋|0x100000|50512\n词赋|0x100000|0\n词干|0x100000|1139\n词根|0x100000|47317\n词话|0x100000|916\n词汇|0x100000|8787\n词句|0x100000|15701\n词库|0x100000|787\n词类|0x100000|55955\n词令|0x100000|1113\n词牌|0x100000|52179\n词频|0x100000|50120\n词谱|0x100000|54177\n词曲|0x100000|24316\n词人|0x100000|33738\n词数|0x100000|1165\n词讼|0x1000|1198\n词素|0x100000|1153\n词条|0x100000|802\n词头|0x100000|1131\n词尾|0x100000|1041\n词形|0x100000|37682\n词性|0x100000|54178\n词序|0x100000|54179\n词义|0x100000|18917\n词意|0x100000|954\n词语|0x100000|12033\n词源|0x100000|46698\n词韵|0x100000|999\n词藻|0x100000|35330\n词章|0x100000|1048\n词缀|0x100000|1020\n词宗|0x100000|1177\n词组|0x100000|21515\n祠堂|0x100000|12551\n茨菰|0x100000|1262\n茨坪|0x100000|1125\n瓷厂|0x100000|842\n瓷雕|0x100000|50908\n瓷都|0x0040|851\n瓷缸|0x100000|45225\n瓷罐|0x100000|1074\n瓷壶|0x100000|1145\n瓷具|0x0008|0\n瓷盘|0x100000|962\n瓷片|0x100000|865\n瓷瓶|0x100000|35795\n瓷器|0x100000|12222\n瓷实|0x40000000|45833\n瓷胎|0x100000|1145\n瓷土|0x100000|54724\n瓷牙|0x100000|948\n瓷窑|0x100000|52180\n瓷釉|0x100000|55612\n瓷砖|0x100000|21345\n慈爱|0x40000000|16144\n慈悲|0x40000000|19693\n慈父|0x100000|38650\n慈姑|0x100000|51318\n慈航|0x100000|1450\n慈和|0x40000000|1020\n慈湖|0x0008|1015\n慈利|0x0080|1514\n慈母|0x100000|22147\n慈善|0x40000000|7454\n慈溪|0x0040|1050\n慈禧|0x100000|590\n慈祥|0x40000000|14505\n慈心|0x100000|939\n慈颜|0x100000|52182\n辞别|0x1000|22530\n辞呈|0x100000|21053\n辞典|0x100000|581\n辞掉|0x1000|801\n辞赋|0x100000|46411\n辞工|0x1000|926\n辞海|0x100000|851\n辞句|0x100000|1108\n辞令|0x100000|33088\n辞去|0x1000|707\n辞让|0x1000|49038\n辞色|0x100000|1057\n辞世|0x1000|24317\n辞书|0x100000|19477\n辞讼|0x1000|1334\n辞岁|0x1000|48671\n辞条|0x100000|1113\n辞退|0x1000|12332\n辞谢|0x1000|38238\n辞行|0x1000|20395\n辞源|0x100000|1029\n辞藻|0x100000|35330\n辞章|0x100000|52181\n辞职|0x1000|4552\n磁暴|0x100000|53657\n磁场|0x100000|9563\n磁带|0x100000|15944\n磁道|0x0040|949\n磁电|0x100000|881\n磁碟|0x0008|919\n磁钢|0x0008|852\n磁鼓|0x100000|1166\n磁轨|0x0008|0\n磁化|0x1000|24366\n磁极|0x100000|37335\n磁镜|0x100000|0\n磁卡|0x100000|28608\n磁力|0x100000|20115\n磁疗|0x100000|49748\n磁路|0x100000|1048\n磁能|0x100000|1036\n磁盘|0x100000|24624\n磁片|0x0008|896\n磁漆|0x100000|1065\n磁区|0x0040|1100\n磁石|0x100000|30032\n磁体|0x100000|30149\n磁条|0x100000|831\n磁铁|0x100000|21141\n磁头|0x100000|40976\n磁县|0x0040|1523\n磁性|0x100000|13896\n磁选|0x0008|1434\n磁学|0x100000|1050\n磁针|0x100000|51319\n磁轴|0x100000|1391\n磁砖|0x100000|906\n磁阻|0x100000|1022\n雌蜂|0x100000|54180\n雌伏|0x1000|1114\n雌花|0x100000|55154\n雌黄|0x100000|1116\n雌鸟|0x100000|419\n雌蕊|0x100000|36782\n雌性|0x100000|21383\n雌雄|0x100000|20759\n糍粑|0x100000|35636\n此岸|0x100000|465\n此案|0x0008|713\n此地|0x100000|6813\n此后|0x4000|2924\n此话|0x0008|733\n此际|0x0008|1435\n此间|0x10000|3410\n此景|0x0008|755\n此举|0x0008|651\n此刻|0x10000|4221\n此理|0x0008|931\n此前|0x4000|4768\n此情|0x0008|677\n此人|0x0000|10170\n此生|0x10000|23791\n此时|0x10000|1642\n此事|0x0008|3703\n此书|0x0008|686\n此外|0x10000000|1086\n此文|0x0008|614\n此行|0x10000|711\n此言|0x0008|729\n此致|0x1000|40112\n此中|0x8000000|535\n次比|0x0080|6\n次长|0x100000|21660\n次次|0x20000|540\n次等|0x100000|47022\n次第|0x8000000|18711\n次方|0x100000|811\n次官|0x0000|31960\n次货|0x100000|53658\n次级|0x100000|836\n次晶|0x0080|0\n次年|0x4000|748\n次女|0x100000|41666\n次贫|0x100000|1535\n次品|0x100000|27767\n次日|0x4000|6385\n次生|0x20000000|27841\n次数|0x100000|7672\n次序|0x100000|15504\n次要|0x20000000|14570\n次优|0x0080|5\n次于|0x1000|39477\n次韵|0x100000|1036\n次之|0x1000|25186\n次子|0x100000|18237\n刺柏|0x100000|1118\n刺鼻|0x40000000|23164\n刺参|0x0000|50121\n刺出|0x0000|533\n刺穿|0x0000|553\n刺刀|0x100000|13214\n刺儿|0x100000|1009\n刺耳|0x40000000|16050\n刺骨|0x1000|19945\n刺槐|0x100000|34024\n刺激|0x1000|2456\n刺客|0x100000|19019\n刺啦|0x80000|53169\n刺梨|0x100000|1080\n刺溜|0x80000|55611\n刺梅|0x0000|51320\n刺目|0x40000000|31604\n刺配|0x1000|1129\n刺破|0x0000|531\n刺青|0x0008|747\n刺入|0x0000|579\n刺杀|0x1000|21516\n刺伤|0x1000|724\n刺史|0x100000|845\n刺死|0x0000|525\n刺探|0x1000|27440\n刺桐|0x0080|1480\n刺痛|0x100000|630\n刺头|0x100000|921\n刺网|0x100000|1003\n刺猬|0x100000|28806\n刺绣|0x100000|17917\n刺眼|0x40000000|21567\n刺痒|0x40000000|48289\n刺针|0x100000|1110\n刺字|0x1000|47023\n赐福|0x1000|863\n赐给|0x0000|548\n赐教|0x1000|41667\n赐予|0x1000|23574\n从不|0x8000000|499\n从此|0x8000000|1815\n从动|0x20000000|997\n从而|0x10000000|1219\n从犯|0x100000|34600\n从化|0x0040|1246\n从俭|0x0000|54725\n从简|0x1000|27441\n从江|0x0080|1480\n从教|0x0000|35040\n从今|0x8000000|638\n从句|0x100000|888\n从军|0x1000|16864\n从宽|0x1000|25808\n从来|0x8000000|1825\n从良|0x1000|43850\n从略|0x1000|36114\n从轮|0x100000|1232\n从没|0x0008|544\n从命|0x1000|25323\n从难|0x0000|47945\n从前|0x4000|3472\n从轻|0x1000|26736\n从权|0x1000|1070\n从戎|0x1000|40324\n从容|0x40000000|6278\n从商|0x1000|42155\n从师|0x1000|42660\n从实|0x8000000|6490\n从事|0x1000|1190\n从俗|0x1000|46413\n从速|0x8000000|25689\n从头|0x8000000|9917\n从未|0x100000|4066\n从先|0x4000|1057\n从小|0x8000000|4093\n从新|0x8000000|633\n从刑|0x100000|1188\n从严|0x1000|5329\n从业|0x1000|5508\n从医|0x0000|30369\n从艺|0x1000|29509\n从优|0x1000|31961\n从征|0x1000|39888\n从政|0x1000|11120\n从中|0x8000000|3539\n从众|0x1000|31962\n从重|0x1000|15505\n从属|0x1000|21295\n匆匆|0x0100|3991\n匆促|0x40000000|32873\n匆遽|0x1000|0\n匆忙|0x40000000|10118\n苁蓉|0x100000|53171\n枞木|0x0080|1420\n枞树|0x0080|53659\n枞阳|0x0040|1486\n葱白|0x100000|43848\n葱葱|0x40000000|43849\n葱翠|0x40000000|47318\n葱花|0x100000|35947\n葱岭|0x100000|1064\n葱茏|0x40000000|19300\n葱绿|0x100000|27681\n葱头|0x100000|46412\n葱油|0x100000|881\n葱郁|0x40000000|28351\n葱属|0x100000|0\n聪慧|0x40000000|22262\n聪敏|0x40000000|26248\n聪明|0x40000000|3382\n聪悟|0x40000000|0\n聪颖|0x40000000|30584\n丛丛|0x20000|875\n丛脞|0x40000000|1359\n丛集|0x100000|47319\n丛刊|0x100000|28166\n丛林|0x100000|14491\n丛莽|0x100000|29725\n丛山|0x100000|46699\n丛生|0x1000|18288\n丛书|0x100000|5946\n丛谈|0x100000|1053\n丛杂|0x40000000|49396\n丛葬|0x1000|1274\n丛植|0x100000|0\n淙淙|0x80000|27682\n凑合|0x1000|14172\n凑乎|0x0000|55614\n凑集|0x1000|43136\n凑近|0x1000|17132\n凑拢|0x1000|52183\n凑钱|0x1000|899\n凑巧|0x40000000|13556\n凑趣|0x1000|1039\n凑手|0x1000|49397\n凑数|0x1000|41430\n凑足|0x1000|907\n腠理|0x100000|1118\n粗暴|0x40000000|9381\n粗笨|0x40000000|37863\n粗鄙|0x40000000|34446\n粗布|0x100000|25953\n粗糙|0x40000000|8866\n粗粗|0x8000000|830\n粗大|0x40000000|16687\n粗短|0x0000|429\n粗纺|0x100000|55615\n粗放|0x100000|14521\n粗工|0x100000|0\n粗估|0x100000|1162\n粗犷|0x40000000|16443\n粗豪|0x40000000|980\n粗黑|0x0000|35948\n粗厚|0x40000000|53172\n粗话|0x100000|27683\n粗活|0x100000|935\n粗拉|0x40000000|0\n粗粝|0x0000|46700\n粗粮|0x100000|30585\n粗劣|0x40000000|38240\n粗陋|0x40000000|41201\n粗鲁|0x40000000|19448\n粗率|0x40000000|44358\n粗略|0x8000000|17739\n粗莽|0x0000|41202\n粗浅|0x40000000|30256\n粗人|0x100000|28807\n粗沙|0x100000|1171\n粗声|0x0000|490\n粗实|0x0000|54181\n粗疏|0x40000000|35949\n粗俗|0x40000000|17653\n粗通|0x1000|40325\n粗细|0x100000|20196\n粗心|0x40000000|25690\n粗选|0x100000|1264\n粗哑|0x40000000|47024\n粗盐|0x0000|55158\n粗野|0x40000000|22045\n粗硬|0x0000|39889\n粗制|0x0000|417\n粗重|0x40000000|31831\n粗壮|0x40000000|14979\n粗拙|0x0000|55159\n促成|0x1000|8131\n促动|0x1000|951\n促进|0x1000|1053\n促请|0x1000|48673\n促使|0x1000|3452\n促膝|0x1000|876\n促狭|0x40000000|45530\n促销|0x1000|8493\n猝发|0x1000|48291\n猝然|0x8000000|24826\n猝死|0x1000|28087\n醋精|0x100000|54726\n醋栗|0x100000|1010\n醋酸|0x0008|32981\n醋心|0x1000|0\n醋意|0x100000|33374\n簇簇|0x20000|856\n簇居|0x1000|0\n簇生|0x1000|53660\n簇新|0x1000|27516\n簇拥|0x1000|12797\n蹙额|0x1000|47636\n蹙眉|0x1000|908\n蹴鞠|0x1000|421\n汆子|0x0000|52658\n撺掇|0x1000|33620\n撺改|0x0080|0\n撺弄|0x1000|1389\n蹿火|0x1000|1\n蹿升|0x0000|47320\n蹿跳|0x0000|49039\n窜改|0x1000|49040\n窜扰|0x1000|1240\n窜逃|0x1000|54727\n篡党|0x1000|1350\n篡夺|0x1000|33240\n篡改|0x1000|15640\n篡国|0x1000|0\n篡权|0x1000|43388\n篡位|0x1000|28257\n崔巍|0x40000000|53173\n崔嵬|0x100000|46701\n催办|0x1000|34601\n催逼|0x1000|34752\n催产|0x1000|54728\n催促|0x1000|9123\n催发|0x1000|930\n催肥|0x1000|55160\n催化|0x1000|15597\n催缴|0x1000|955\n催款|0x1000|34753\n催泪|0x0000|478\n催眠|0x1000|20851\n催命|0x1000|36783\n催奶|0x1000|55616\n催迫|0x0000|49749\n催青|0x100000|1289\n催情|0x1000|53174\n催生|0x1000|13654\n催收|0x1000|964\n催熟|0x1000|42403\n催索|0x0000|50909\n催讨|0x1000|44634\n催吐|0x0008|0\n催芽|0x1000|49750\n催债|0x0000|384\n摧残|0x1000|11936\n摧毁|0x1000|6994\n摧折|0x1000|43851\n璀璨|0x40000000|14369\n脆脆|0x0100|637\n脆骨|0x100000|55856\n脆快|0x40000000|0\n脆亮|0x40000000|50513\n脆嫩|0x40000000|50122\n脆皮|0x100000|882\n脆弱|0x40000000|6452\n脆生|0x40000000|1105\n脆响|0x100000|843\n脆性|0x100000|965\n脆枣|0x0000|55617\n淬火|0x1000|33089\n淬砺|0x1000|1236\n萃聚|0x1000|0\n萃取|0x1000|38241\n粹白|0x100000|0\n翠柏|0x100000|38857\n翠湖|0x100000|479\n翠菊|0x0080|1066\n翠蓝|0x0000|50514\n翠绿|0x100000|17935\n翠鸟|0x100000|32489\n翠微|0x0008|44359\n翠玉|0x100000|44099\n翠竹|0x100000|27035\n村办|0x100000|985\n村边|0x8000|947\n村长|0x100000|7168\n村村|0x20000|779\n村夫|0x100000|47637\n村妇|0x100000|906\n村姑|0x100000|33375\n村官|0x100000|847\n村口|0x8000|791\n村里|0x8000|636\n村落|0x100000|10596\n村貌|0x0000|54729\n村民|0x100000|1990\n村内|0x8000|896\n村容|0x0000|51757\n村上|0x8000|745\n村舍|0x100000|30150\n村史|0x100000|49751\n村塾|0x100000|1271\n村头|0x8000|15945\n村屯|0x100000|1031\n村学|0x100000|48674\n村野|0x100000|45531\n村宅|0x100000|1298\n村寨|0x100000|15018\n村镇|0x100000|9312\n村庄|0x100000|4091\n村子|0x100000|4982\n村组|0x100000|989\n皴法|0x100000|1183\n皴裂|0x1000|54730\n存案|0x1000|53662\n存查|0x1000|1191\n存车|0x0000|45532\n存储|0x4000000|11161\n存贷|0x100000|34754\n存单|0x100000|22001\n存档|0x1000|30904\n存底|0x100000|52659\n存放|0x1000|11705\n存根|0x100000|40540\n存户|0x100000|44635\n存活|0x1000|15506\n存货|0x100000|24422\n存记|0x0008|1272\n存款|0x100000|3726\n存栏|0x1000|19657\n存粮|0x100000|37336\n存量|0x100000|11005\n存留|0x1000|24939\n存盘|0x1000|839\n存期|0x0000|48675\n存钱|0x1000|717\n存取|0x1000|28527\n存入|0x1000|704\n存身|0x1000|37864\n存食|0x1000|0\n存世|0x0000|43622\n存亡|0x100000|16505\n存息|0x100000|0\n存项|0x100000|1511\n存心|0x1000|14321\n存续|0x1000|31832\n存疑|0x1000|36439\n存有|0x1000|13743\n存在|0x100000|316\n存照|0x100000|51758\n存折|0x100000|13435\n存摺|0x100000|417\n存贮|0x1000|27265\n忖度|0x1000|40978\n忖量|0x1000|45834\n寸步|0x100000|21420\n寸草|0x0000|45835\n寸寸|0x20000|739\n寸断|0x0000|40326\n寸功|0x100000|0\n寸进|0x100000|0\n寸楷|0x100000|1536\n寸刻|0x4000|0\n寸头|0x100000|43623\n寸土|0x100000|40327\n寸心|0x100000|39891\n寸阴|0x100000|54183\n搓板|0x100000|45226\n搓弄|0x1000|53175\n搓揉|0x0000|42661\n搓手|0x0000|487\n搓洗|0x1000|40750\n搓澡|0x1000|51321\n磋商|0x1000|4220\n撮撮|0x0080|0\n撮合|0x1000|25877\n撮箕|0x100000|1219\n撮弄|0x1000|0\n撮要|0x100000|50515\n撮子|0x20000|0\n蹉跎|0x1000|28448\n嵯峨|0x40000000|45836\n痤疮|0x100000|47638\n矬子|0x100000|47025\n挫败|0x1000|18837\n挫伤|0x100000|15598\n挫损|0x1000|0\n挫折|0x100000|6614\n措办|0x1000|0\n措词|0x100000|905\n措辞|0x100000|23360\n措大|0x100000|1221\n措美|0x0080|1188\n措勤|0x0080|1159\n措施|0x100000|1033\n措手|0x1000|0\n措意|0x1000|0\n措置|0x1000|34447\n锉刀|0x100000|47946\n错爱|0x1000|50516\n错案|0x100000|15465\n错车|0x1000|47947\n错处|0x100000|27918\n错待|0x1000|47948\n错动|0x0000|53176\n错讹|0x0000|47639\n错愕|0x1000|40979\n错怪|0x1000|33621\n错过|0x1000|10015\n错话|0x100000|34602\n错金|0x100000|1182\n错觉|0x100000|16668\n错开|0x1000|31722\n错漏|0x100000|49041\n错乱|0x1000|26603\n错落|0x1000|23639\n错码|0x100000|0\n错谬|0x100000|52661\n错那|0x0080|1006\n错判|0x1000|967\n错失|0x100000|30033\n错时|0x0000|50910\n错事|0x100000|777\n错手|0x0008|1\n错位|0x1000|14005\n错误|0x100000|1080\n错杂|0x1000|36968\n错字|0x100000|25248\n错综|0x40000000|28449\n哒哒|0x80000|834\n耷拉|0x1000|16966\n搭班|0x1000|44360\n搭伴|0x1000|45534\n搭帮|0x1000|47949\n搭便|0x8000000|2\n搭补|0x1000|0\n搭车|0x1000|18608\n搭成|0x1000|480\n搭乘|0x1000|17331\n搭船|0x1000|448\n搭档|0x100000|18498\n搭盖|0x1000|45837\n搭钩|0x100000|1280\n搭话|0x1000|24041\n搭伙|0x1000|36115\n搭机|0x0000|467\n搭架|0x1000|1082\n搭肩|0x0000|53664\n搭建|0x1000|8318\n搭界|0x1000|36969\n搭救|0x1000|26517\n搭客|0x1000|35637\n搭扣|0x0000|52184\n搭拉|0x1000|446\n搭理|0x1000|23165\n搭配|0x1000|11852\n搭棚|0x1000|1051\n搭起|0x0000|555\n搭腔|0x1000|32362\n搭桥|0x1000|21844\n搭讪|0x1000|16944\n搭设|0x1000|941\n搭手|0x1000|43624\n搭售|0x1000|44939\n搭线|0x1000|1121\n搭腰|0x100000|1429\n搭载|0x1000|22398\n嗒嗒|0x0080|821\n嗒然|0x0100|0\n嗒丧|0x40000000|0\n褡包|0x100000|1533\n褡裢|0x100000|35331\n达标|0x1000|5799\n达成|0x1000|2594\n达川|0x0040|988\n达旦|0x1000|1014\n达到|0x1000|559\n达道|0x0080|3\n达德|0x0080|1038\n达观|0x40000000|30151\n达官|0x100000|914\n达卡|0x0040|1448\n达赖|0x100000|1366\n达摩|0x0008|1314\n达日|0x0080|1060\n达县|0x0040|1474\n达意|0x1000|872\n达因|0x100000|1024\n达州|0x0040|1195\n达孜|0x0080|1095\n沓子|0x0000|52662\n答案|0x100000|5313\n答拜|0x1000|0\n答辩|0x1000|12580\n答词|0x100000|39253\n答道|0x1000|655\n答对|0x1000|34922\n答复|0x1000|4570\n答话|0x1000|12526\n答卷|0x100000|12552\n答礼|0x1000|35950\n答理|0x1000|909\n答腔|0x1000|1030\n答数|0x100000|53665\n答题|0x1000|39478\n答问|0x1000|39892\n答谢|0x1000|24879\n答言|0x1000|24367\n答疑|0x1000|23915\n答应|0x1000|2346\n答语|0x100000|0\n答允|0x1000|44361\n鞑靼|0x100000|30371\n鞑虏|0x0008|0\n打靶|0x1000|31723\n打败|0x1000|589\n打扮|0x1000|5638\n打包|0x1000|24161\n打爆|0x0000|508\n打比|0x1000|915\n打草|0x1000|33090\n打杈|0x1000|51322\n打岔|0x1000|22865\n打柴|0x1000|31389\n打颤|0x1000|35797\n打场|0x1000|38652\n打车|0x0000|29727\n打成|0x1000|697\n打出|0x1000|565\n打穿|0x0000|480\n打春|0x1000|54732\n打从|0x40000|30372\n打打|0x1000|683\n打倒|0x1000|7224\n打的|0x0000|7402\n打底|0x100000|49754\n打点|0x1000|18327\n打掉|0x0000|604\n打顶|0x100000|1190\n打动|0x1000|7390\n打洞|0x0000|483\n打斗|0x1000|31607\n打赌|0x1000|23255\n打断|0x1000|6246\n打盹|0x1000|790\n打呃|0x0000|48294\n打发|0x1000|8293\n打法|0x100000|689\n打翻|0x1000|24625\n打非|0x1000|908\n打分|0x1000|592\n打歌|0x1000|714\n打嗝|0x1000|839\n打给|0x1000|541\n打更|0x1000|29305\n打工|0x1000|4050\n打拱|0x0000|47026\n打钩|0x1000|54733\n打谷|0x1000|1050\n打鼓|0x1000|23310\n打卦|0x1000|45838\n打拐|0x1000|42157\n打光|0x0008|1488\n打鬼|0x1000|47322\n打滚|0x1000|733\n打鼾|0x1000|34160\n打夯|0x1000|49043\n打黑|0x1000|15871\n打横|0x0000|51323\n打呼|0x0000|49044\n打滑|0x1000|40113\n打坏|0x0000|498\n打晃|0x0000|50518\n打昏|0x0000|495\n打诨|0x1000|42662\n打火|0x1000|38443\n打击|0x1000|1249\n打机|0x0008|0\n打架|0x1000|7630\n打假|0x1000|5775\n打尖|0x1000|34603\n打浆|0x1000|1029\n打搅|0x1000|22002\n打醮|0x1000|0\n打劫|0x1000|31724\n打结|0x1000|42159\n打紧|0x1000|32363\n打进|0x0000|641\n打井|0x1000|957\n打酒|0x1000|1048\n打卡|0x1000|48295\n打开|0x1000|1284\n打孔|0x1000|808\n打垮|0x1000|26319\n打捆|0x1000|1043\n打蜡|0x1000|43137\n打来|0x1000|681\n打烂|0x0000|495\n打捞|0x1000|10920\n打雷|0x1000|27348\n打擂|0x1000|43626\n打理|0x1000|34161\n打量|0x1000|6565\n打猎|0x1000|18644\n打铃|0x100000|984\n打乱|0x1000|670\n打落|0x1000|793\n打骂|0x1000|788\n打门|0x0008|900\n打磨|0x1000|19919\n打闹|0x1000|28808\n打牌|0x1000|9217\n打炮|0x1000|31608\n打泡|0x1000|54185\n打票|0x0000|49755\n打拼|0x1000|36116\n打平|0x1000|846\n打破|0x1000|2240\n打谱|0x1000|1050\n打旗|0x0000|47323\n打气|0x1000|23215\n打枪|0x1000|27919\n打球|0x1000|14449\n打趣|0x1000|18109\n打拳|0x1000|29936\n打扰|0x1000|12848\n打人|0x0008|666\n打入|0x1000|642\n打伞|0x1000|37507\n打散|0x1000|815\n打扫|0x1000|9024\n打杀|0x100000|525\n打闪|0x1000|49398\n打伤|0x1000|746\n打上|0x1000|648\n打胜|0x0000|28168\n打湿|0x0000|552\n打食|0x1000|52185\n打手|0x100000|21610\n打水|0x0008|550\n打私|0x0000|25011\n打死|0x1000|572\n打算|0x1000|2335\n打碎|0x1000|682\n打胎|0x1000|32982\n打探|0x1000|22568\n打铁|0x1000|23575\n打听|0x1000|4692\n打通|0x1000|11897\n打头|0x1000|27101\n打退|0x1000|892\n打弯|0x0000|49756\n打纬|0x100000|0\n打问|0x1000|31963\n打下|0x1000|5826\n打响|0x1000|9254\n打消|0x1000|13819\n打小|0x0000|538\n打斜|0x1000|54735\n打旋|0x0000|40980\n打压|0x1000|27768\n打眼|0x1000|32875\n打烊|0x1000|36970\n打样|0x1000|53667\n打药|0x100000|38245\n打印|0x1000|12333\n打赢|0x1000|10696\n打油|0x1000|28809\n打鱼|0x1000|816\n打援|0x1000|45538\n打杂|0x1000|804\n打造|0x1000|4802\n打战|0x1000|35797\n打仗|0x1000|5968\n打折|0x1000|13592\n打针|0x1000|18025\n打制|0x1000|39255\n打中|0x1000|26113\n打皱|0x1000|54736\n打住|0x1000|22003\n打转|0x1000|23741\n打桩|0x1000|34923\n打字|0x1000|24221\n打总|0x0000|55162\n打嘴|0x0000|40752\n打坐|0x1000|31021\n大安|0x0008|783\n大案|0x100000|10780\n大巴|0x100000|24318\n大把|0x40000000|623\n大坝|0x100000|7897\n大白|0x0080|31609\n大败|0x1000|17409\n大班|0x100000|30490\n大阪|0x0040|1170\n大办|0x1000|931\n大半|0x400000|5841\n大棒|0x100000|835\n大包|0x100000|652\n大鸨|0x100000|1209\n大报|0x100000|856\n大杯|0x0008|1269\n大悲|0x0080|703\n大北|0x0008|1509\n大本|0x100000|46704\n大笔|0x100000|14292\n大便|0x100000|21472\n大兵|0x100000|14711\n大饼|0x100000|21105\n大病|0x100000|681\n大波|0x0080|1163\n大伯|0x100000|12918\n大补|0x1000|506\n大步|0x100000|645\n大部|0x0008|6419\n大菜|0x100000|23982\n大餐|0x100000|16732\n大藏|0x0008|1022\n大肠|0x100000|25810\n大氅|0x100000|28088\n大钞|0x100000|42879\n大潮|0x100000|8937\n大车|0x100000|16029\n大臣|0x100000|3348\n大成|0x0008|1029\n大城|0x0040|949\n大乘|0x0008|1310\n大吃|0x0000|592\n大痴|0x0080|0\n大匙|0x0080|0\n大虫|0x100000|844\n大厨|0x0080|1246\n大处|0x100000|4\n大船|0x100000|807\n大锤|0x0080|33884\n大葱|0x100000|19515\n大错|0x0000|541\n大大|0x8000000|495\n大胆|0x40000000|2662\n大刀|0x100000|15969\n大道|0x100000|6321\n大德|0x100000|810\n大灯|0x100000|750\n大堤|0x100000|875\n大敌|0x100000|22202\n大抵|0x8000000|10870\n大地|0x100000|1814\n大帝|0x100000|673\n大典|0x100000|14787\n大殿|0x100000|18389\n大雕|0x0080|0\n大调|0x100000|809\n大跌|0x1000|35184\n大碟|0x100000|652\n大定|0x0008|1413\n大洞|0x100000|1278\n大都|0x8000000|3499\n大豆|0x100000|5906\n大赌|0x0000|421\n大度|0x40000000|17684\n大端|0x100000|47028\n大堆|0x0080|544\n大队|0x100000|2350\n大多|0x200000|2826\n大额|0x20000000|737\n大颚|0x0008|0\n大恩|0x100000|1376\n大二|0x404000|23\n大发|0x800000|12970\n大法|0x100000|12027\n大凡|0x8000000|19449\n大方|0x100000|9204\n大分|0x0080|1501\n大粪|0x100000|30687\n大丰|0x0080|1221\n大风|0x100000|6405\n大佛|0x100000|1229\n大夫|0x100000|24162\n大幅|0x100000|4347\n大副|0x100000|37509\n大概|0x8000000|2044\n大干|0x1000|16164\n大纲|0x100000|9227\n大缸|0x0080|0\n大港|0x0040|1224\n大哥|0x100000|3780\n大个|0x20000000|721\n大工|0x0008|1482\n大公|0x20000000|778\n大功|0x100000|789\n大姑|0x100000|27685\n大鼓|0x100000|16197\n大故|0x100000|0\n大褂|0x100000|16318\n大关|0x100000|10039\n大观|0x100000|19874\n大官|0x0080|823\n大锅|0x100000|815\n大国|0x100000|603\n大过|0x100000|45841\n大海|0x100000|3949\n大寒|0x4000|44638\n大喊|0x1000|596\n大汉|0x100000|13060\n大汗|0x0008|641\n大旱|0x100000|868\n大好|0x1000|6216\n大号|0x100000|24222\n大河|0x0040|1027\n大赫|0x0080|2\n大亨|0x100000|34449\n大红|0x100000|9211\n大呼|0x1000|633\n大户|0x100000|4961\n大华|0x0008|1110\n大话|0x100000|23057\n大黄|0x100000|785\n大会|0x100000|906\n大火|0x100000|665\n大伙|0x10000|643\n大祸|0x100000|791\n大吉|0x1000|27102\n大戟|0x0008|0\n大计|0x100000|8870\n大忌|0x100000|31611\n大季|0x100000|1\n大蓟|0x100000|1131\n大家|0x10000|216\n大驾|0x100000|27599\n大件|0x100000|21568\n大江|0x100000|706\n大将|0x100000|10495\n大奖|0x100000|8627\n大蕉|0x0080|0\n大角|0x0008|1459\n大脚|0x100000|754\n大叫|0x1000|557\n大街|0x100000|4125\n大节|0x100000|26440\n大捷|0x100000|21945\n大姐|0x100000|5270\n大解|0x1000|1031\n大襟|0x100000|30905\n大舅|0x100000|888\n大局|0x100000|2878\n大举|0x8000000|12150\n大巨|0x0008|0\n大嚼|0x0000|489\n大军|0x100000|4265\n大君|0x0080|1054\n大卡|0x20000|42880\n大楷|0x100000|55619\n大考|0x100000|29729\n大课|0x100000|36785\n大坑|0x100000|794\n大口|0x0008|1029\n大哭|0x1000|580\n大块|0x20000000|679\n大款|0x100000|14552\n大亏|0x100000|544\n大缆|0x0080|0\n大浪|0x100000|743\n大牢|0x100000|33739\n大老|0x100000|755\n大佬|0x0008|1133\n大类|0x100000|683\n大礼|0x100000|656\n大里|0x0040|1438\n大理|0x0040|1016\n大力|0x100000|1270\n大历|0x0008|991\n大吏|0x0080|998\n大荔|0x0080|1488\n大连|0x0040|765\n大殓|0x1000|45539\n大梁|0x100000|19273\n大量|0x400000|966\n大料|0x100000|50519\n大陵|0x0008|1129\n大龄|0x20000000|20267\n大溜|0x100000|50913\n大楼|0x100000|4581\n大陆|0x100000|1551\n大路|0x100000|10016\n大吕|0x100000|1085\n大率|0x0000|40541\n大略|0x100000|17332\n大锣|0x100000|0\n大妈|0x100000|6429\n大麻|0x100000|25811\n大骂|0x0000|623\n大麦|0x100000|24112\n大忙|0x1000|23983\n大毛|0x100000|1445\n大媒|0x0000|46414\n大妹|0x100000|1014\n大门|0x100000|2137\n大米|0x100000|7774\n大面|0x100000|866\n大名|0x100000|12685\n大明|0x0008|1062\n大漠|0x100000|12649\n大木|0x0008|1432\n大拿|0x100000|45541\n大内|0x100000|1315\n大难|0x100000|20804\n大脑|0x100000|7246\n大闹|0x0000|621\n大鲵|0x100000|28450\n大逆|0x0080|417\n大年|0x100000|9929\n大娘|0x100000|5754\n大鸟|0x0000|554\n大宁|0x0080|1432\n大怒|0x0080|644\n大牌|0x100000|39059\n大盘|0x100000|569\n大炮|0x100000|9193\n大棚|0x100000|6588\n大批|0x20000000|2221\n大片|0x100000|6107\n大票|0x100000|39479\n大埔|0x0040|1320\n大漆|0x100000|1171\n大气|0x100000|15425\n大器|0x100000|30035\n大钱|0x100000|629\n大钳|0x100000|1\n大墙|0x100000|26737\n大桥|0x100000|700\n大青|0x0008|1430\n大庆|0x1000|981\n大邱|0x0080|1522\n大秋|0x100000|50127\n大区|0x100000|767\n大曲|0x0080|956\n大圈|0x0008|513\n大全|0x100000|19079\n大权|0x100000|13327\n大群|0x0080|1088\n大人|0x100000|4899\n大任|0x100000|756\n大肉|0x100000|30794\n大儒|0x100000|40753\n大赛|0x100000|3596\n大三|0x404000|19\n大嫂|0x100000|6040\n大蛇|0x0080|542\n大赦|0x1000|15560\n大身|0x0080|0\n大神|0x0080|775\n大婶|0x0080|770\n大声|0x40000000|498\n大胜|0x1000|678\n大圣|0x0080|1125\n大师|0x100000|3550\n大使|0x100000|2825\n大市|0x100000|722\n大事|0x100000|1552\n大势|0x100000|14293\n大寿|0x100000|28810\n大书|0x100000|854\n大叔|0x100000|9631\n大暑|0x4000|45842\n大鼠|0x0008|526\n大树|0x100000|594\n大数|0x100000|38653\n大帅|0x100000|11794\n大水|0x100000|763\n大顺|0x0008|1288\n大四|0x404000|6\n大肆|0x8000000|9234\n大蒜|0x100000|14956\n大谈|0x0000|571\n大唐|0x0020|952\n大堂|0x100000|15911\n大体|0x8000000|7531\n大田|0x100000|16552\n大厅|0x100000|3373\n大通|0x0008|1158\n大同|0x1000|8715\n大统|0x1000|920\n大桶|0x0080|834\n大头|0x100000|10994\n大图|0x100000|631\n大团|0x0080|505\n大腿|0x100000|9183\n大洼|0x0080|976\n大碗|0x100000|725\n大腕|0x100000|25879\n大王|0x100000|15947\n大网|0x100000|853\n大为|0x8000000|7193\n大卫|0x0008|1067\n大尉|0x100000|50128\n大我|0x100000|47643\n大悟|0x0080|16070\n大雾|0x100000|752\n大喜|0x1000|10294\n大戏|0x100000|15948\n大系|0x100000|822\n大虾|0x0008|39060\n大侠|0x100000|38065\n大厦|0x100000|5278\n大显|0x0008|1354\n大限|0x4000|34290\n大项|0x0080|15810\n大象|0x100000|637\n大小|0x100000|1721\n大校|0x100000|24271\n大笑|0x1000|512\n大写|0x20000000|29939\n大新|0x0080|1226\n大兴|0x0080|10164\n大刑|0x100000|47325\n大型|0x20000000|1656\n大姓|0x100000|36441\n大幸|0x100000|31964\n大熊|0x0080|1298\n大修|0x1000|19618\n大选|0x1000|4584\n大学|0x100000|468\n大雪|0x100000|8414\n大牙|0x100000|30152\n大雅|0x100000|26666\n大烟|0x100000|19550\n大盐|0x0080|1204\n大雁|0x100000|21262\n大洋|0x100000|7950\n大样|0x100000|44103\n大姚|0x0080|1510\n大要|0x100000|55163\n大爷|0x100000|26442\n大冶|0x0040|1331\n大业|0x100000|5208\n大一|0x404000|16\n大衣|0x100000|8156\n大姨|0x100000|27686\n大义|0x100000|775\n大邑|0x0040|1482\n大意|0x100000|8784\n大印|0x100000|37511\n大英|0x0080|1267\n大迎|0x0080|0\n大油|0x100000|46416\n大有|0x1000|9323\n大于|0x1000|5453\n大余|0x0080|1530\n大鱼|0x100000|716\n大宇|0x0080|1187\n大雨|0x100000|6208\n大禹|0x0080|1272\n大员|0x100000|19422\n大圆|0x100000|852\n大院|0x100000|645\n大约|0x8000000|1507\n大月|0x0080|53670\n大早|0x0000|17634\n大枣|0x100000|32227\n大灶|0x100000|37338\n大增|0x1000|663\n大寨|0x0080|895\n大展|0x100000|16841\n大战|0x100000|6758\n大站|0x100000|43856\n大振|0x1000|811\n大震|0x0080|544\n大政|0x100000|1000\n大枝|0x0080|0\n大指|0x100000|0\n大志|0x100000|24042\n大治|0x1000|47952\n大致|0x8000000|5635\n大智|0x0080|1368\n大钟|0x0080|811\n大众|0x100000|2125\n大洲|0x100000|747\n大竹|0x0080|1416\n大杼|0x0008|0\n大专|0x100000|9422\n大篆|0x100000|50520\n大壮|0x100000|1005\n大椎|0x0008|0\n大子|0x100000|1076\n大字|0x100000|8195\n大宗|0x100000|12223\n大足|0x0008|1187\n大族|0x100000|40982\n大醉|0x0008|1307\n大佐|0x100000|985\n大作|0x1000|14571\n呆板|0x40000000|19362\n呆笨|0x40000000|49401\n呆痴|0x0000|49047\n呆呆|0x1000|580\n呆气|0x0008|1145\n呆人|0x0008|0\n呆傻|0x40000000|41898\n呆头|0x0000|460\n呆帐|0x100000|983\n呆账|0x100000|28811\n呆滞|0x40000000|19274\n呆子|0x100000|21190\n歹毒|0x40000000|37512\n歹话|0x100000|1269\n歹路|0x0040|0\n歹念|0x0000|51760\n歹人|0x100000|37513\n歹徒|0x100000|7164\n歹心|0x100000|42160\n歹意|0x100000|43390\n傣族|0x0008|19242\n代办|0x100000|14464\n代笔|0x1000|33091\n代币|0x0008|1009\n代表|0x100000|263\n代步|0x100000|40543\n代偿|0x1000|37684\n代称|0x100000|42405\n代词|0x100000|37514\n代代|0x20000|771\n代耕|0x0000|44365\n代工|0x0008|769\n代沟|0x100000|39480\n代购|0x1000|33741\n代管|0x1000|20937\n代号|0x100000|16051\n代换|0x1000|935\n代价|0x100000|3845\n代金|0x0008|39679\n代客|0x40000000|508\n代课|0x1000|26518\n代劳|0x1000|26380\n代理|0x1000|4229\n代码|0x100000|17441\n代庖|0x1000|36271\n代培|0x1000|46707\n代签|0x1000|1030\n代人|0x0000|565\n代入|0x0008|0\n代收|0x1000|814\n代售|0x1000|35042\n代书|0x1000|990\n代数|0x100000|22203\n代替|0x1000|3380\n代为|0x1000|11585\n代位|0x8000000|998\n代县|0x0040|981\n代销|0x1000|20938\n代写|0x0000|524\n代谢|0x1000|11639\n代行|0x1000|25548\n代序|0x100000|897\n代言|0x1000|506\n代用|0x20000000|29512\n代征|0x1000|979\n代职|0x1000|40755\n岱山|0x0080|1435\n带班|0x1000|36272\n带兵|0x1000|13966\n带病|0x1000|824\n带操|0x100000|55164\n带到|0x1000|571\n带电|0x1000|23859\n带动|0x1000|2396\n带队|0x1000|9567\n带钢|0x100000|817\n带给|0x1000|498\n带工|0x100000|1\n带话|0x1000|46417\n带环|0x0000|406\n带回|0x1000|604\n带劲|0x40000000|27517\n带进|0x0000|604\n带锯|0x100000|1010\n带菌|0x1000|48300\n带宽|0x100000|500\n带来|0x1000|491\n带累|0x1000|42663\n带领|0x1000|1949\n带路|0x1000|22148\n带脉|0x100000|1134\n带挈|0x1000|1203\n带球|0x0008|756\n带入|0x1000|675\n带伤|0x1000|799\n带上|0x1000|555\n带头|0x1000|3685\n带徒|0x1000|1087\n带下|0x100000|478\n带薪|0x0000|26443\n带有|0x1000|2951\n带鱼|0x100000|29406\n带状|0x100000|23361\n带子|0x100000|15872\n带走|0x1000|511\n待办|0x1000|54190\n待查|0x1000|48301\n待产|0x1000|52668\n待承|0x1000|55165\n待到|0x10000000|585\n待定|0x0000|43857\n待发|0x1000|21703\n待岗|0x1000|24555\n待工|0x1000|1261\n待机|0x8000000|26807\n待嫁|0x1000|855\n待建|0x0000|47029\n待考|0x1000|49049\n待客|0x1000|20686\n待命|0x1000|17841\n待批|0x1000|43629\n待聘|0x1000|52189\n待人|0x1000|13763\n待售|0x1000|900\n待续|0x1000|48302\n待业|0x1000|18391\n待用|0x40000000|516\n待遇|0x100000|3074\n待战|0x1000|1166\n待制|0x100000|1092\n怠惰|0x40000000|46418\n怠工|0x1000|34450\n怠倦|0x0008|0\n怠慢|0x1000|18197\n殆尽|0x1000|15599\n玳瑁|0x100000|26320\n贷出|0x1000|426\n贷方|0x100000|49758\n贷借|0x1000|0\n贷款|0x100000|1599\n袋鼠|0x100000|28704\n袋熊|0x100000|1170\n袋装|0x20000000|32735\n袋子|0x100000|13507\n逮捕|0x1000|4980\n逮住|0x0000|549\n戴戴|0x1000|0\n戴尔|0x0008|976\n戴进|0x0080|0\n戴上|0x0000|667\n戴胜|0x0000|53181\n戴维|0x0080|1286\n戴孝|0x1000|46419\n戴震|0x0080|1060\n戴着|0x0000|661\n黛绿|0x100000|1085\n黛眉|0x100000|973\n丹巴|0x0040|1363\n丹参|0x100000|35336\n丹东|0x0040|1051\n丹毒|0x100000|51761\n丹方|0x0080|45542\n丹凤|0x0080|1320\n丹桂|0x100000|39062\n丹棱|0x0080|1039\n丹麦|0x0040|1019\n丹皮|0x100000|445\n丹青|0x100000|24423\n丹砂|0x100000|49050\n丹田|0x100000|31965\n丹心|0x100000|30906\n丹阳|0x0040|1104\n丹药|0x0008|0\n丹寨|0x0080|1072\n单摆|0x100000|53182\n单板|0x100000|861\n单瓣|0x100000|1063\n单帮|0x0000|54191\n单被|0x100000|54192\n单边|0x20000000|10154\n单兵|0x20000000|27920\n单薄|0x40000000|13665\n单层|0x100000|807\n单产|0x100000|13436\n单车|0x100000|23058\n单程|0x100000|34027\n单传|0x1000|41434\n单床|0x0080|0\n单纯|0x40000000|3397\n单词|0x100000|18736\n单打|0x100000|8932\n单单|0x8000000|14465\n单刀|0x100000|809\n单点|0x0008|1342\n单调|0x40000000|8708\n单独|0x8000000|4240\n单发|0x0000|48681\n单方|0x100000|24690\n单飞|0x0080|766\n单峰|0x0080|368\n单幅|0x100000|46420\n单干|0x1000|24627\n单杠|0x100000|30688\n单个|0x20000000|609\n单褂|0x0080|1370\n单轨|0x100000|49051\n单过|0x1000|49052\n单寒|0x1000|0\n单号|0x100000|54739\n单核|0x20000000|872\n单击|0x0080|613\n单机|0x100000|24490\n单极|0x20000000|977\n单季|0x20000000|1036\n单价|0x100000|22620\n单间|0x100000|22982\n单键|0x0080|932\n单交|0x100000|1\n单句|0x100000|52190\n单据|0x100000|18360\n单卡|0x0008|0\n单科|0x0000|41672\n单孔|0x20000000|947\n单口|0x100000|920\n单裤|0x100000|45229\n单利|0x100000|54194\n单恋|0x1000|47328\n单列|0x1000|30258\n单另|0x0000|49053\n单门|0x0040|960\n单面|0x20000000|758\n单名|0x100000|41209\n单模|0x20000000|960\n单宁|0x100000|1014\n单排|0x100000|940\n单片|0x20000000|777\n单篇|0x100000|835\n单骑|0x100000|776\n单枪|0x0008|1048\n单亲|0x0000|25549\n单曲|0x0008|902\n单人|0x20000000|15896\n单日|0x100000|815\n单弱|0x40000000|47030\n单色|0x100000|35484\n单身|0x100000|12079\n单数|0x100000|40757\n单说|0x0000|23916\n单丝|0x100000|959\n单瘫|0x0080|1420\n单糖|0x100000|1071\n单醣|0x0080|0\n单体|0x20000000|765\n单挑|0x0000|49054\n单萜|0x100000|0\n单位|0x100000|324\n单弦|0x100000|1063\n单县|0x0040|1478\n单线|0x100000|26444\n单相|0x100000|47955\n单向|0x20000000|16180\n单项|0x100000|9032\n单斜|0x0080|0\n单鞋|0x0000|54740\n单行|0x1000|23059\n单姓|0x0000|55858\n单性|0x0080|1048\n单眼|0x100000|913\n单养|0x0008|0\n单一|0x40400000|4450\n单衣|0x100000|29189\n单义|0x0080|0\n单翼|0x0080|0\n单音|0x0080|525\n单用|0x0000|40330\n单于|0x100000|1389\n单元|0x100000|8860\n单月|0x100000|898\n单张|0x20000000|811\n单质|0x0008|914\n单子|0x100000|706\n单字|0x100000|39895\n单足|0x0000|412\n单作|0x100000|1\n担保|0x1000|4162\n担承|0x0000|44943\n担待|0x1000|36789\n担当|0x1000|8781\n担负|0x1000|5180\n担纲|0x1000|23256\n担搁|0x1000|1081\n担架|0x100000|17740\n担任|0x1000|1615\n担水|0x1000|428\n担心|0x40000000|1568\n担忧|0x1000|6601\n担子|0x100000|7972\n眈眈|0x0100|31966\n耽搁|0x1000|12650\n耽溺|0x0080|403\n耽误|0x1000|6658\n郸城|0x0040|1004\n儋州|0x0040|1376\n胆大|0x40000000|742\n胆道|0x100000|39481\n胆矾|0x0008|1227\n胆敢|0x8000000|20760\n胆管|0x100000|41210\n胆寒|0x40000000|32736\n胆机|0x100000|989\n胆碱|0x100000|875\n胆力|0x100000|45843\n胆量|0x100000|12590\n胆略|0x100000|22399\n胆木|0x100000|1372\n胆囊|0x100000|28612\n胆瓶|0x100000|1165\n胆魄|0x0000|40759\n胆气|0x100000|29409\n胆怯|0x40000000|11645\n胆色|0x0008|0\n胆石|0x0000|401\n胆识|0x100000|16052\n胆酸|0x100000|1070\n胆小|0x40000000|14371\n胆虚|0x40000000|52670\n胆汁|0x100000|28705\n胆壮|0x0000|39482\n胆子|0x100000|8768\n掸掸|0x1000|847\n掸帚|0x100000|1389\n掸子|0x100000|49403\n旦角|0x100000|1036\n旦夕|0x4000|28706\n但丁|0x0080|1318\n但凡|0x10000000|28812\n但见|0x0000|11150\n但是|0x10000000|151\n但书|0x100000|53671\n但愿|0x1000|8157\n诞辰|0x100000|6635\n诞生|0x1000|3222\n弹拨|0x1000|946\n弹唱|0x1000|26076\n弹出|0x0000|763\n弹词|0x100000|35568\n弹弹|0x1000|6\n弹道|0x100000|39680\n弹弓|0x100000|29190\n弹劾|0x1000|14561\n弹痕|0x100000|47032\n弹簧|0x100000|16407\n弹回|0x1000|951\n弹夹|0x100000|971\n弹壳|0x100000|46132\n弹坑|0x100000|40760\n弹孔|0x100000|44640\n弹力|0x100000|29672\n弹幕|0x0000|399\n弹片|0x100000|26956\n弹起|0x1000|820\n弹琴|0x1000|20418\n弹球|0x100000|875\n弹去|0x0000|429\n弹入|0x1000|1079\n弹射|0x1000|36211\n弹膛|0x0000|55621\n弹体|0x100000|19\n弹跳|0x1000|29461\n弹头|0x100000|22447\n弹腿|0x0008|0\n弹丸|0x100000|31391\n弹匣|0x100000|1009\n弹性|0x100000|7949\n弹压|0x1000|30756\n弹药|0x100000|10311\n弹雨|0x100000|1032\n弹指|0x1000|29790\n弹珠|0x0000|490\n弹着|0x0000|493\n弹子|0x100000|28169\n弹奏|0x1000|23003\n淡泊|0x1000|21297\n淡薄|0x1000|10516\n淡菜|0x100000|1037\n淡茶|0x0080|918\n淡出|0x1000|24272\n淡淡|0x1000|5922\n淡红|0x100000|33886\n淡化|0x1000|9964\n淡话|0x0000|55167\n淡黄|0x100000|27769\n淡季|0x4000|19946\n淡蓝|0x100000|773\n淡绿|0x100000|34291\n淡漠|0x40000000|13784\n淡青|0x40000000|41900\n淡然|0x40000000|20494\n淡入|0x1000|50522\n淡色|0x100000|895\n淡水|0x100000|9678\n淡忘|0x1000|21298\n淡雅|0x40000000|22983\n淡月|0x100000|931\n淡竹|0x100000|0\n淡妆|0x100000|36790\n淡紫|0x100000|882\n蛋白|0x100000|8532\n蛋蛋|0x100000|621\n蛋粉|0x100000|55168\n蛋糕|0x100000|9373\n蛋羹|0x0000|55622\n蛋黄|0x100000|29829\n蛋鸡|0x100000|27921\n蛋卷|0x100000|883\n蛋壳|0x100000|34162\n蛋类|0x100000|867\n蛋品|0x100000|53672\n蛋青|0x0000|53673\n蛋清|0x100000|46708\n蛋汤|0x100000|933\n蛋形|0x100000|1010\n蛋鸭|0x0000|52671\n氮肥|0x100000|19769\n氮化|0x100000|902\n氮气|0x100000|26876\n氮素|0x100000|1125\n澹澹|0x0080|867\n澹台|0x0080|0\n当班|0x1000|26604\n当兵|0x1000|8804\n当差|0x100000|18792\n当场|0x8000|4835\n当朝|0x100000|881\n当成|0x1000|5144\n当初|0x4000|3664\n当代|0x4000|1673\n当当|0x1000|16530\n当道|0x100000|28813\n当地|0x8000|1098\n当掉|0x0000|449\n当儿|0x100000|841\n当官|0x1000|686\n当归|0x100000|27518\n当红|0x1000|31835\n当机|0x0008|834\n当即|0x8000000|4344\n当家|0x1000|11765\n当街|0x8000|27600\n当今|0x4000|2643\n当紧|0x40000000|33093\n当局|0x100000|2789\n当空|0x8000|26381\n当口|0x100000|927\n当啷|0x80000|36273\n当量|0x100000|921\n当令|0x1000|33500\n当路|0x1000|48682\n当面|0x8000000|6900\n当年|0x4000|1193\n当票|0x100000|41902\n当铺|0x100000|19947\n当期|0x100000|592\n当前|0x1000|1189\n当权|0x1000|27999\n当然|0x8000000|376\n当日|0x4000|50130\n当时|0x4000|2453\n当世|0x100000|32104\n当事|0x1000|584\n当堂|0x0000|40984\n当天|0x4000|13573\n当庭|0x8000000|21947\n当头|0x100000|17554\n当涂|0x0080|1365\n当晚|0x4000|6739\n当午|0x0000|46422\n当下|0x8000000|5646\n当先|0x1000|15279\n当心|0x40000000|12334\n当胸|0x0000|37868\n当雄|0x0080|995\n当选|0x1000|3417\n当阳|0x0040|1357\n当腰|0x2000000|1279\n当药|0x100000|2\n当夜|0x4000|20082\n当月|0x4000|13727\n当真|0x1000|7903\n当政|0x1000|31025\n当值|0x1000|45230\n当中|0x2000000|3238\n当众|0x8000000|12151\n当着|0x1000|623\n当子|0x0000|53675\n当作|0x1000|3253\n当做|0x1000|3253\n挡板|0x0008|40985\n挡车|0x4000000|43139\n挡风|0x1000|28909\n挡驾|0x1000|37339\n挡开|0x0000|489\n挡路|0x1000|41901\n挡墙|0x100000|1070\n挡住|0x1000|608\n挡子|0x100000|0\n党办|0x100000|987\n党报|0x100000|6608\n党部|0x100000|953\n党参|0x100000|38067\n党阀|0x100000|1334\n党法|0x100000|1269\n党费|0x100000|18026\n党风|0x100000|3802\n党纲|0x100000|26114\n党锢|0x100000|0\n党规|0x100000|42162\n党棍|0x100000|54741\n党国|0x0008|974\n党徽|0x100000|35639\n党籍|0x100000|12065\n党纪|0x100000|12566\n党建|0x100000|3713\n党禁|0x100000|1022\n党刊|0x100000|9864\n党课|0x100000|17936\n党魁|0x100000|40761\n党龄|0x100000|26877\n党内|0x100000|751\n党派|0x100000|7786\n党票|0x100000|51763\n党旗|0x100000|13133\n党群|0x100000|14980\n党人|0x100000|850\n党史|0x100000|8165\n党徒|0x100000|36274\n党团|0x100000|17133\n党委|0x100000|1593\n党务|0x100000|13557\n党校|0x100000|5462\n党心|0x0000|23860\n党性|0x100000|6085\n党羽|0x100000|21948\n党员|0x100000|1399\n党章|0x100000|9361\n党证|0x100000|49057\n党政|0x100000|3463\n党组|0x100000|4457\n宕昌|0x0080|1076\n砀山|0x0040|1360\n荡除|0x1000|54742\n荡荡|0x0000|10637\n荡涤|0x1000|31613\n荡妇|0x100000|42406\n荡女|0x100000|436\n荡平|0x1000|22821\n荡漾|0x1000|11416\n荡舟|0x0000|43140\n档案|0x100000|3322\n档板|0x0008|1055\n档次|0x100000|7275\n档期|0x100000|769\n档位|0x100000|867\n档子|0x20000|865\n刀疤|0x100000|853\n刀把|0x100000|880\n刀背|0x100000|44641\n刀笔|0x100000|45844\n刀币|0x0080|1150\n刀兵|0x100000|41435\n刀柄|0x100000|857\n刀叉|0x100000|30037\n刀刀|0x0000|531\n刀豆|0x100000|53185\n刀儿|0x100000|1181\n刀法|0x100000|34452\n刀锋|0x100000|34163\n刀割|0x100000|797\n刀痕|0x100000|929\n刀架|0x4000000|44368\n刀尖|0x100000|852\n刀剑|0x0080|693\n刀匠|0x0080|378\n刀具|0x100000|28001\n刀锯|0x100000|1040\n刀刻|0x0080|1\n刀口|0x100000|29731\n刀片|0x100000|25551\n刀枪|0x100000|20234\n刀鞘|0x100000|949\n刀刃|0x100000|20565\n刀山|0x0000|39063\n刀伤|0x100000|38859\n刀身|0x0080|909\n刀头|0x100000|919\n刀削|0x20000000|883\n刀鱼|0x100000|435\n刀子|0x100000|9979\n刀俎|0x100000|946\n叨叨|0x1000|17967\n叨咕|0x1000|40116\n叨光|0x1000|48888\n叨唠|0x1000|28529\n叨念|0x1000|39896\n叨扰|0x1000|43519\n氘核|0x100000|0\n氘化|0x100000|0\n导板|0x0080|53676\n导报|0x100000|36119\n导标|0x100000|1237\n导波|0x100000|1121\n导播|0x100000|929\n导出|0x1000|28353\n导弹|0x100000|3160\n导电|0x1000|21612\n导读|0x1000|16421\n导购|0x100000|46709\n导管|0x100000|17299\n导轨|0x100000|49058\n导航|0x1000|7756\n导抗|0x0008|0\n导坑|0x0080|1334\n导流|0x1000|27601\n导轮|0x100000|1072\n导论|0x100000|35953\n导纳|0x100000|1064\n导尿|0x1000|54196\n导盘|0x0080|0\n导热|0x1000|29095\n导入|0x1000|600\n导师|0x100000|6881\n导数|0x100000|946\n导体|0x100000|16595\n导线|0x100000|12902\n导向|0x100000|4189\n导言|0x100000|37147\n导演|0x100000|3458\n导扬|0x1000|0\n导因|0x0000|51765\n导引|0x1000|25955\n导游|0x100000|8365\n导语|0x100000|38068\n导源|0x100000|45845\n导诊|0x0000|47956\n导正|0x0008|1061\n导致|0x1000|1523\n导柱|0x0080|0\n岛国|0x100000|17937\n岛礁|0x100000|17\n岛民|0x100000|1002\n岛内|0x8000|788\n岛山|0x100000|1192\n岛上|0x8000|683\n岛外|0x8000|958\n岛屿|0x100000|9936\n倒把|0x1000|880\n倒班|0x1000|46425\n倒包|0x1000|0\n倒闭|0x1000|12270\n倒毙|0x1000|30492\n倒彩|0x100000|53677\n倒仓|0x1000|1223\n倒插|0x1000|1050\n倒茬|0x1000|1320\n倒车|0x1000|36791\n倒出|0x0000|560\n倒垂|0x0000|47644\n倒刺|0x100000|50524\n倒错|0x0000|418\n倒地|0x1000|669\n倒掉|0x1000|756\n倒反|0x0000|437\n倒放|0x0008|1041\n倒伏|0x1000|26808\n倒戈|0x1000|27770\n倒阁|0x1000|50131\n倒挂|0x1000|29096\n倒灌|0x1000|39681\n倒换|0x1000|49060\n倒汇|0x1000|55169\n倒会|0x0008|0\n倒角|0x100000|920\n倒睫|0x0008|0\n倒嚼|0x0000|52672\n倒空|0x0000|391\n倒扣|0x1000|35337\n倒立|0x1000|25325\n倒流|0x1000|28354\n倒卖|0x1000|15019\n倒霉|0x40000000|8404\n倒弄|0x0000|40986\n倒赔|0x1000|54198\n倒票|0x0000|35954\n倒入|0x1000|721\n倒嗓|0x1000|0\n倒是|0x8000000|3113\n倒手|0x1000|49405\n倒数|0x100000|28707\n倒水|0x1000|767\n倒算|0x1000|45544\n倒锁|0x0000|49062\n倒塌|0x1000|11078\n倒台|0x1000|28170\n倒坍|0x1000|45232\n倒腾|0x1000|31836\n倒替|0x1000|49061\n倒贴|0x1000|35640\n倒头|0x100000|30259\n倒推|0x1000|1036\n倒退|0x1000|10476\n倒下|0x1000|594\n倒向|0x0008|2\n倒休|0x1000|55170\n倒序|0x0000|55624\n倒叙|0x100000|50915\n倒悬|0x1000|36973\n倒牙|0x0000|55859\n倒爷|0x100000|40544\n倒影|0x100000|25692\n倒映|0x1000|28530\n倒运|0x1000|40332\n倒灶|0x1000|1045\n倒账|0x100000|47958\n倒找|0x1000|52192\n倒置|0x1000|23475\n倒转|0x1000|35955\n倒装|0x0008|49406\n倒座|0x0000|52673\n捣蛋|0x1000|24628\n捣鼓|0x1000|47957\n捣鬼|0x1000|25552\n捣毁|0x1000|13802\n捣烂|0x0000|488\n捣乱|0x1000|12452\n捣米|0x1000|1190\n捣碎|0x1000|876\n捣腾|0x0000|45231\n捣药|0x1000|1053\n祷告|0x1000|17350\n祷念|0x100000|0\n祷文|0x100000|54197\n祷祝|0x1000|40987\n蹈海|0x1000|1033\n蹈袭|0x1000|1298\n到岸|0x1000|869\n到案|0x1000|33887\n到场|0x1000|13445\n到处|0x8000000|2038\n到达|0x1000|2979\n到底|0x8000000|1324\n到点|0x1000|37686\n到顶|0x1000|33742\n到访|0x1000|13698\n到过|0x0000|715\n到户|0x1000|530\n到会|0x1000|9690\n到货|0x1000|621\n到家|0x40000000|22400\n到来|0x1000|2464\n到了|0x0000|1010\n到期|0x1000|9656\n到任|0x1000|17502\n到时|0x1000|578\n到手|0x1000|9222\n到庭|0x1000|48307\n到头|0x1000|15280\n到位|0x1000|3500\n到校|0x1000|776\n到站|0x1000|22484\n到职|0x1000|43630\n悼词|0x100000|31726\n悼念|0x1000|12453\n悼亡|0x1000|41675\n悼唁|0x1000|55982\n盗案|0x100000|48683\n盗版|0x1000|6380\n盗车|0x1000|983\n盗伐|0x1000|25012\n盗犯|0x100000|1372\n盗匪|0x100000|35185\n盗汗|0x1000|43631\n盗劫|0x1000|51766\n盗掘|0x1000|36619\n盗寇|0x100000|1200\n盗垒|0x0000|378\n盗猎|0x0000|36974\n盗卖|0x1000|44104\n盗名|0x1000|38445\n盗墓|0x1000|40117\n盗骗|0x1000|0\n盗窃|0x1000|7433\n盗取|0x1000|36620\n盗印|0x1000|34924\n盗用|0x1000|22204\n盗运|0x0000|49407\n盗贼|0x100000|14534\n盗走|0x1000|845\n道白|0x100000|34925\n道班|0x100000|28355\n道别|0x1000|22316\n道藏|0x100000|40988\n道岔|0x100000|31967\n道长|0x100000|822\n道场|0x100000|25881\n道出|0x1000|43\n道床|0x100000|0\n道道|0x20000|678\n道德|0x100000|808\n道地|0x40000000|31494\n道钉|0x100000|55625\n道乏|0x1000|0\n道法|0x100000|821\n道夫|0x100000|798\n道孚|0x0080|1017\n道姑|0x100000|46135\n道观|0x100000|35338\n道光|0x0008|778\n道号|0x100000|1012\n道贺|0x1000|34292\n道家|0x100000|13967\n道教|0x0008|12591\n道经|0x100000|982\n道具|0x100000|13932\n道口|0x100000|16198\n道理|0x100000|1525\n道路|0x100000|834\n道门|0x100000|773\n道明|0x0008|1270\n道木|0x100000|1154\n道袍|0x100000|40545\n道破|0x1000|37870\n道歉|0x1000|6696\n道情|0x100000|48684\n道人|0x100000|27519\n道士|0x100000|11475\n道术|0x100000|870\n道统|0x100000|39258\n道徒|0x100000|1232\n道喜|0x1000|24424\n道县|0x0040|991\n道谢|0x1000|16842\n道心|0x100000|0\n道行|0x100000|34028\n道学|0x100000|25403\n道义|0x100000|13340\n道友|0x0008|1474\n道院|0x100000|1024\n道子|0x100000|24881\n稻草|0x100000|12091\n稻城|0x100000|1291\n稻秆|0x100000|1222\n稻谷|0x100000|13055\n稻糠|0x100000|54200\n稻壳|0x100000|44642\n稻粒|0x0080|0\n稻米|0x100000|20900\n稻苗|0x100000|44643\n稻穗|0x100000|35485\n稻田|0x100000|9601\n稻秧|0x100000|46136\n稻种|0x100000|30589\n稻子|0x100000|22046\n得便|0x1000|47645\n得标|0x1000|982\n得病|0x1000|18057\n得逞|0x1000|12806\n得宠|0x1000|27845\n得出|0x1000|512\n得当|0x40000000|12346\n得到|0x1000|165\n得道|0x1000|29191\n得点|0x0008|1485\n得多|0x0000|777\n得法|0x40000000|28531\n得分|0x100000|9313\n得很|0x0000|775\n得计|0x1000|35801\n得济|0x1000|51328\n得奖|0x1000|20235\n得劲|0x40000000|46426\n得救|0x1000|18764\n得空|0x1000|36975\n得亏|0x1000|52193\n得力|0x1000|8681\n得利|0x1000|708\n得脸|0x0000|53679\n得了|0x1000|1348\n得名|0x1000|689\n得票|0x1000|723\n得起|0x2000|677\n得气|0x0008|433\n得荣|0x0040|1078\n得胜|0x1000|15296\n得失|0x100000|7902\n得时|0x0000|50917\n得势|0x40000000|25749\n得手|0x1000|12434\n得数|0x100000|42665\n得体|0x40000000|14890\n得悉|0x1000|27349\n得闲|0x1000|38446\n得宜|0x1000|42407\n得以|0x1000|2520\n得益|0x1000|7440\n得意|0x40000000|4339\n得用|0x0000|21899\n得知|0x1000|3601\n得志|0x1000|20042\n得主|0x100000|11631\n得罪|0x1000|6066\n德安|0x0080|1397\n德保|0x0040|1530\n德贝|0x0008|1163\n德比|0x0080|596\n德才|0x100000|1434\n德昌|0x0008|1363\n德方|0x100000|997\n德芙|0x0008|1374\n德格|0x0080|1499\n德国|0x0040|1039\n德化|0x0080|1283\n德惠|0x0040|1472\n德江|0x0080|1422\n德军|0x0008|749\n德里|0x0040|1291\n德钦|0x0080|1509\n德清|0x0080|1272\n德庆|0x0040|1368\n德望|0x0080|1038\n德文|0x0008|1224\n德兴|0x0080|1294\n德行|0x100000|20853\n德性|0x100000|21191\n德阳|0x0040|1155\n德语|0x0008|20495\n德育|0x100000|6456\n德政|0x100000|23530\n德治|0x100000|18555\n德州|0x0040|1024\n的当|0x0000|8028\n的哥|0x100000|714\n的话|0x0000|1050\n的确|0x8000000|1778\n的士|0x100000|19619\n灯标|0x100000|54202\n灯彩|0x100000|41904\n灯草|0x100000|41211\n灯蛾|0x0000|51329\n灯杆|0x100000|479\n灯管|0x100000|46710\n灯光|0x100000|3236\n灯号|0x0000|436\n灯花|0x100000|35802\n灯会|0x100000|21299\n灯火|0x100000|8889\n灯架|0x0008|1011\n灯节|0x4000|33501\n灯具|0x100000|23576\n灯笼|0x100000|9643\n灯谜|0x100000|30795\n灯苗|0x100000|1540\n灯捻|0x100000|0\n灯泡|0x100000|13713\n灯市|0x100000|36275\n灯饰|0x100000|26519\n灯丝|0x100000|34454\n灯塔|0x100000|19948\n灯台|0x100000|37148\n灯头|0x100000|39064\n灯箱|0x0000|26382\n灯心|0x100000|1105\n灯芯|0x100000|40989\n灯影|0x100000|846\n灯油|0x100000|36120\n灯语|0x100000|1227\n灯盏|0x100000|23917\n灯罩|0x100000|29306\n灯柱|0x100000|943\n灯座|0x100000|42408\n登岸|0x1000|23987\n登报|0x1000|26035\n登场|0x1000|27771\n登程|0x1000|33888\n登出|0x1000|783\n登顶|0x1000|19301\n登封|0x0040|1307\n登高|0x1000|17278\n登机|0x1000|19659\n登基|0x1000|25813\n登极|0x1000|15787\n登记|0x1000|2226\n登科|0x1000|900\n登临|0x1000|31026\n登陆|0x1000|8341\n登录|0x1000|18269\n登门|0x1000|12234\n登攀|0x1000|32228\n登山|0x1000|6323\n登上|0x1000|568\n登时|0x8000000|15830\n登台|0x1000|10653\n登月|0x1000|29830\n登载|0x1000|14450\n噔噔|0x0080|0\n蹬车|0x0000|413\n蹬蹬|0x0000|449\n蹬技|0x100000|0\n蹬踏|0x1000|1053\n蹬腿|0x1000|42409\n等比|0x1000|950\n等边|0x20000000|933\n等差|0x100000|49408\n等次|0x100000|44644\n等待|0x1000|2324\n等到|0x10000000|8068\n等等|0x2000|800\n等第|0x100000|1\n等额|0x20000000|35340\n等分|0x100000|35186\n等份|0x100000|51767\n等号|0x100000|30493\n等候|0x1000|4973\n等级|0x100000|4419\n等价|0x1000|28532\n等角|0x100000|1180\n等距|0x1000|55626\n等量|0x1000|29831\n等人|0x0000|799\n等身|0x1000|38655\n等式|0x100000|41212\n等速|0x20000000|51330\n等同|0x1000|11322\n等外|0x20000000|45546\n等位|0x1000|946\n等温|0x20000000|36443\n等闲|0x8000000|30038\n等效|0x20000000|34030\n等压|0x1000|1063\n等腰|0x20000000|1023\n等于|0x1000|2322\n等值|0x1000|21143\n等子|0x100000|0\n戥子|0x100000|0\n邓肯|0x0080|1290\n邓县|0x0040|1197\n邓选|0x0008|0\n邓州|0x0040|1397\n凳子|0x100000|9972\n瞪大|0x0000|614\n瞪视|0x1000|930\n瞪眼|0x1000|20528\n瞪着|0x0000|705\n磴口|0x0080|1065\n低矮|0x40000000|14773\n低凹|0x40000000|1157\n低保|0x0000|6997\n低层|0x20000000|22317\n低产|0x1000|31027\n低潮|0x100000|18083\n低沉|0x40000000|13897\n低处|0x0000|28003\n低垂|0x40000000|16369\n低档|0x40000000|27266\n低等|0x20000000|32492\n低低|0x0100|700\n低地|0x100000|833\n低点|0x100000|784\n低调|0x100000|20004\n低毒|0x20000000|975\n低度|0x20000000|41436\n低端|0x100000|27846\n低飞|0x0000|437\n低分|0x0000|42163\n低峰|0x100000|1\n低格|0x0008|451\n低估|0x1000|12839\n低谷|0x100000|12188\n低耗|0x20000000|39897\n低缓|0x40000000|45235\n低回|0x0000|32493\n低级|0x40000000|12140\n低价|0x100000|10097\n低贱|0x40000000|37515\n低阶|0x0008|956\n低空|0x100000|23918\n低利|0x0000|47647\n低廉|0x40000000|12493\n低劣|0x40000000|17708\n低落|0x40000000|16813\n低迷|0x40000000|11435\n低能|0x40000000|30375\n低频|0x100000|39484\n低平|0x40000000|43141\n低热|0x1000|41676\n低烧|0x1000|43392\n低声|0x1000|642\n低湿|0x0000|54203\n低俗|0x40000000|20043\n低速|0x20000000|25814\n低糖|0x100000|52674\n低头|0x1000|5375\n低洼|0x40000000|23216\n低微|0x40000000|25553\n低位|0x100000|791\n低温|0x100000|8741\n低息|0x100000|31495\n低下|0x40000000|4794\n低限|0x0000|51332\n低陷|0x0000|55172\n低效|0x20000000|874\n低压|0x100000|13988\n低哑|0x40000000|49761\n低盐|0x0000|50918\n低氧|0x100000|1030\n低腰|0x0008|1293\n低音|0x100000|28004\n低吟|0x0008|778\n低幼|0x0000|48309\n低于|0x1000|3520\n低语|0x1000|23640\n低云|0x100000|1152\n低值|0x40000000|480\n低质|0x40000000|53186\n低智|0x0000|49762\n堤岸|0x100000|26957\n堤坝|0x100000|17069\n堤道|0x0040|384\n堤防|0x100000|12919\n堤埂|0x100000|1304\n堤坡|0x0040|1239\n堤围|0x100000|1169\n堤堰|0x100000|53187\n嘀嗒|0x1000|37340\n嘀嘀|0x80000|531\n嘀咕|0x1000|12508\n滴虫|0x100000|55627\n滴翠|0x1000|39259\n滴答|0x1000|33502\n滴滴|0x80000|507\n滴点|0x100000|1092\n滴定|0x100000|473\n滴管|0x100000|55173\n滴灌|0x1000|19161\n滴剂|0x0008|1049\n滴沥|0x80000|1079\n滴流|0x1000|1083\n滴漏|0x0000|47960\n滴落|0x1000|27350\n滴水|0x1000|15949\n滴淌|0x0000|54744\n滴下|0x0000|536\n滴注|0x0000|485\n狄龙|0x0080|1496\n迪奥|0x0008|1187\n迪吧|0x100000|53680\n迪化|0x0040|1036\n迪普|0x0080|1025\n迪庆|0x0040|1406\n迪厅|0x0000|34293\n敌兵|0x0080|499\n敌对|0x40000000|8486\n敌方|0x100000|20044\n敌国|0x100000|26667\n敌害|0x100000|1113\n敌后|0x100000|17525\n敌机|0x100000|15580\n敌舰|0x0080|38656\n敌境|0x0000|51768\n敌军|0x100000|12283\n敌忾|0x100000|0\n敌寇|0x100000|36623\n敌楼|0x100000|1085\n敌情|0x100000|20045\n敌酋|0x100000|50133\n敌区|0x100000|55174\n敌群|0x100000|1082\n敌人|0x100000|1425\n敌视|0x1000|16422\n敌手|0x100000|22723\n敌台|0x100000|50919\n敌探|0x100000|1405\n敌特|0x100000|43393\n敌伪|0x100000|33243\n敌我|0x100000|21224\n敌焰|0x100000|1411\n敌意|0x100000|17479\n敌营|0x100000|939\n敌友|0x0080|48686\n敌阵|0x100000|27687\n涤除|0x1000|51769\n涤荡|0x1000|39898\n涤卡|0x0000|45547\n涤纶|0x100000|29192\n涤棉|0x100000|46138\n笛膜|0x100000|53681\n笛声|0x100000|779\n笛子|0x100000|17411\n觌面|0x1000|0\n嫡出|0x100000|51333\n嫡传|0x1000|44105\n嫡母|0x100000|0\n嫡派|0x100000|47331\n嫡亲|0x100000|42410\n嫡孙|0x100000|1064\n嫡堂|0x100000|1533\n嫡系|0x100000|35956\n嫡子|0x100000|44371\n诋毁|0x1000|21384\n邸第|0x0080|0\n邸宅|0x100000|1225\n底板|0x100000|808\n底版|0x100000|42411\n底本|0x100000|36793\n底边|0x100000|39066\n底部|0x2000000|16145\n底舱|0x0000|49763\n底册|0x100000|51770\n底层|0x100000|12424\n底定|0x0008|2\n底端|0x0000|51771\n底肥|0x100000|42666\n底稿|0x100000|33622\n底工|0x100000|1429\n底火|0x100000|51772\n底价|0x100000|32229\n底架|0x100000|1125\n底角|0x100000|1048\n底襟|0x100000|49065\n底孔|0x100000|1176\n底裤|0x0008|510\n底里|0x100000|805\n底楼|0x100000|894\n底面|0x100000|930\n底牌|0x100000|37150\n底盘|0x100000|24114\n底片|0x100000|23166\n底漆|0x100000|39485\n底气|0x100000|18954\n底情|0x100000|1368\n底色|0x100000|29513\n底墒|0x100000|50527\n底数|0x100000|22149\n底水|0x100000|8\n底土|0x100000|1223\n底纹|0x100000|938\n底细|0x100000|15369\n底下|0x2000000|4494\n底线|0x100000|17891\n底薪|0x100000|50528\n底样|0x0000|54745\n底蕴|0x100000|10591\n底账|0x0000|42667\n底止|0x100000|1155\n底质|0x100000|1128\n底子|0x100000|12080\n底座|0x100000|31727\n抵补|0x1000|50134\n抵偿|0x1000|33890\n抵触|0x1000|12261\n抵达|0x1000|3509\n抵挡|0x1000|15206\n抵还|0x1000|0\n抵换|0x1000|0\n抵交|0x0000|50525\n抵缴|0x0000|50920\n抵近|0x0000|49064\n抵京|0x1000|766\n抵拒|0x1000|1193\n抵抗|0x1000|5043\n抵扣|0x1000|23312\n抵赖|0x1000|24629\n抵命|0x1000|44372\n抵事|0x40000000|0\n抵死|0x8000000|38861\n抵牾|0x1000|51334\n抵消|0x1000|18110\n抵销|0x0000|46139\n抵押|0x1000|8662\n抵御|0x1000|6016\n抵债|0x1000|28451\n抵账|0x1000|50526\n抵制|0x1000|5650\n抵罪|0x1000|44106\n砥砺|0x100000|34456\n砥石|0x100000|1188\n砥柱|0x100000|42164\n骶骨|0x100000|50529\n骶椎|0x100000|0\n地板|0x100000|8000\n地磅|0x0000|50922\n地保|0x100000|927\n地堡|0x100000|25614\n地边|0x0000|33377\n地标|0x0008|755\n地表|0x8000|9285\n地波|0x100000|1188\n地步|0x100000|6207\n地仓|0x0008|0\n地槽|0x100000|0\n地层|0x100000|10262\n地产|0x100000|16506\n地秤|0x100000|1266\n地处|0x1000|4367\n地磁|0x100000|28533\n地带|0x100000|4675\n地道|0x40000000|8015\n地点|0x100000|2656\n地电|0x100000|1143\n地丁|0x0008|943\n地动|0x100000|519\n地洞|0x100000|25404\n地段|0x100000|8115\n地儿|0x0000|27688\n地方|0x100000|1896\n地缝|0x0008|896\n地府|0x100000|35341\n地埂|0x0000|52196\n地宫|0x100000|32230\n地沟|0x100000|31496\n地瓜|0x100000|762\n地核|0x100000|46140\n地黄|0x100000|863\n地机|0x0008|0\n地积|0x100000|1086\n地基|0x100000|18684\n地级|0x20000000|782\n地极|0x100000|49764\n地价|0x100000|15543\n地角|0x100000|41213\n地脚|0x100000|52197\n地窖|0x100000|18528\n地界|0x100000|20116\n地精|0x0008|0\n地炕|0x100000|1311\n地壳|0x100000|12971\n地窟|0x100000|1142\n地块|0x100000|734\n地矿|0x100000|31497\n地牢|0x100000|43142\n地雷|0x100000|13099\n地垒|0x100000|1160\n地梨|0x100000|1262\n地理|0x100000|2810\n地力|0x100000|23531\n地利|0x100000|21473\n地栗|0x100000|1335\n地邻|0x100000|1296\n地龙|0x0008|49765\n地垄|0x100000|54204\n地漏|0x100000|53188\n地脉|0x100000|47961\n地幔|0x100000|1084\n地貌|0x100000|8262\n地面|0x100000|2206\n地名|0x100000|9614\n地膜|0x100000|15811\n地亩|0x100000|45237\n地盘|0x100000|13020\n地皮|0x100000|14727\n地痞|0x100000|26520\n地平|0x0008|1035\n地坪|0x0008|1232\n地铺|0x100000|26036\n地气|0x100000|34031\n地契|0x100000|35044\n地勤|0x100000|42883\n地球|0x0008|1796\n地区|0x100000|371\n地权|0x100000|40990\n地热|0x100000|12130\n地上|0x8000|1874\n地市|0x100000|764\n地势|0x100000|10244\n地鼠|0x100000|978\n地税|0x100000|10861\n地摊|0x100000|692\n地毯|0x100000|8142\n地铁|0x100000|6592\n地头|0x100000|8663\n地图|0x100000|4571\n地委|0x100000|8629\n地位|0x100000|539\n地温|0x100000|34607\n地物|0x100000|1018\n地峡|0x100000|44107\n地下|0x8000|26668\n地线|0x100000|54746\n地陷|0x0000|41214\n地心|0x100000|28816\n地形|0x100000|6901\n地穴|0x100000|939\n地学|0x100000|825\n地压|0x100000|859\n地衣|0x100000|28817\n地榆|0x100000|1115\n地狱|0x100000|8604\n地域|0x100000|5051\n地缘|0x100000|12639\n地毡|0x0008|0\n地震|0x1000|2931\n地政|0x100000|53683\n地支|0x100000|39900\n地址|0x100000|5683\n地志|0x100000|1069\n地质|0x100000|3196\n地轴|0x100000|1075\n地主|0x100000|4969\n地砖|0x100000|33244\n地租|0x100000|17842\n弟弟|0x100000|3528\n弟妇|0x100000|1164\n弟妹|0x100000|17843\n弟媳|0x100000|31498\n弟兄|0x100000|5506\n弟子|0x100000|7477\n帝都|0x100000|1262\n帝俄|0x0008|0\n帝国|0x100000|7355\n帝号|0x100000|1075\n帝皇|0x100000|1501\n帝君|0x100000|44946\n帝门|0x0040|1\n帝王|0x100000|10510\n帝位|0x100000|27443\n帝制|0x100000|15812\n递变|0x0000|52199\n递补|0x1000|36122\n递给|0x1000|598\n递归|0x0008|1362\n递回|0x0008|1058\n递加|0x1000|1169\n递减|0x1000|20761\n递降|0x1000|54747\n递交|0x1000|7964\n递解|0x1000|51335\n递进|0x1000|25070\n递升|0x1000|52200\n递送|0x1000|37873\n递延|0x0008|503\n递增|0x1000|9570\n第八|0x400000|670\n第二|0x400000|939\n第几|0x200000|537\n第九|0x400000|657\n第六|0x400000|707\n第七|0x400000|688\n第三|0x400000|849\n第十|0x400000|629\n第四|0x400000|783\n第五|0x400000|750\n第一|0x400000|105\n谛视|0x1000|0\n谛听|0x1000|26185\n棣棠|0x100000|1098\n缔合|0x100000|1202\n缔交|0x1000|55628\n缔结|0x1000|13146\n缔约|0x1000|20306\n缔造|0x1000|17251\n掂掂|0x1000|0\n掂掇|0x1000|1365\n掂量|0x1000|20986\n滇剧|0x100000|50530\n颠簸|0x40000000|12984\n颠倒|0x1000|11755\n颠颠|0x40000000|673\n颠儿|0x1000|1012\n颠峰|0x0008|1098\n颠覆|0x1000|13623\n颠狂|0x40000000|948\n颠连|0x1000|0\n颠末|0x100000|1298\n颠沛|0x1000|943\n颠茄|0x100000|53684\n巅峰|0x100000|21192\n癫狂|0x1000|35486\n癫痫|0x100000|25326\n典藏|0x100000|681\n典册|0x0000|54748\n典当|0x100000|20762\n典范|0x100000|7712\n典故|0x100000|16967\n典籍|0x100000|16146\n典礼|0x100000|6048\n典卖|0x0000|54205\n典型|0x100000|1427\n典押|0x1000|54749\n典雅|0x40000000|13147\n典狱|0x100000|1154\n典章|0x100000|34756\n点兵|0x0000|43860\n点拨|0x1000|31144\n点播|0x1000|23019\n点菜|0x1000|23988\n点唱|0x0000|51336\n点钞|0x1000|838\n点穿|0x1000|52676\n点窜|0x1000|0\n点灯|0x1000|18645\n点滴|0x100000|13820\n点点|0x20000|493\n点儿|0x20000|4689\n点发|0x1000|54206\n点歌|0x1000|38247\n点焊|0x100000|966\n点号|0x0008|0\n点化|0x1000|33245\n点画|0x1000|980\n点火|0x1000|12798\n点击|0x1000|5321\n点检|0x0000|426\n点将|0x1000|28090\n点睛|0x1000|817\n点亮|0x1000|657\n点卯|0x1000|53685\n点名|0x1000|14155\n点明|0x1000|31837\n点炮|0x0000|46711\n点评|0x100000|6286\n点破|0x1000|32610\n点球|0x100000|13785\n点券|0x0008|711\n点群|0x100000|0\n点燃|0x1000|6516\n点染|0x1000|30689\n点射|0x1000|47962\n点收|0x1000|46143\n点数|0x100000|30260\n点题|0x1000|22569\n点头|0x1000|3647\n点线|0x100000|955\n点心|0x100000|8011\n点选|0x0008|611\n点穴|0x1000|46712\n点验|0x1000|44648\n点阵|0x100000|33892\n点钟|0x20000|591\n点种|0x1000|51337\n点缀|0x100000|10517\n点着|0x1000|701\n点子|0x100000|9395\n点字|0x100000|953\n碘酊|0x100000|1147\n碘化|0x0000|411\n碘酒|0x100000|43144\n碘片|0x100000|1309\n碘酸|0x100000|1201\n碘盐|0x100000|32105\n碘值|0x0008|0\n踮脚|0x1000|47963\n电白|0x0080|1435\n电板|0x100000|955\n电棒|0x100000|1022\n电报|0x100000|6163\n电笔|0x100000|55914\n电表|0x100000|20117\n电波|0x100000|19875\n电铲|0x100000|1225\n电厂|0x100000|7875\n电场|0x100000|14156\n电唱|0x100000|0\n电车|0x100000|11109\n电池|0x100000|6302\n电传|0x100000|29832\n电船|0x100000|0\n电锤|0x100000|951\n电磁|0x100000|12092\n电大|0x100000|28709\n电导|0x100000|866\n电灯|0x100000|6781\n电动|0x20000000|10295\n电镀|0x1000|25882\n电费|0x100000|12494\n电复|0x1000|45846\n电杆|0x100000|26521\n电感|0x100000|723\n电告|0x1000|32611\n电工|0x100000|13119\n电灌|0x0000|55177\n电光|0x100000|19803\n电锅|0x0008|1005\n电函|0x0000|46428\n电焊|0x100000|30154\n电耗|0x100000|37341\n电荷|0x100000|13045\n电贺|0x1000|36625\n电弧|0x100000|40547\n电壶|0x4000000|0\n电化|0x1000|769\n电话|0x100000|401\n电汇|0x100000|40334\n电击|0x1000|28910\n电机|0x100000|13027\n电极|0x100000|21704\n电价|0x100000|809\n电检|0x0008|0\n电键|0x100000|55629\n电匠|0x0008|0\n电教|0x100000|24691\n电解|0x1000|28710\n电锯|0x100000|43633\n电抗|0x100000|916\n电缆|0x100000|11550\n电离|0x100000|23577\n电力|0x100000|2670\n电量|0x100000|15526\n电疗|0x1000|50139\n电料|0x100000|54208\n电铃|0x100000|24943\n电令|0x1000|1082\n电流|0x100000|6616\n电炉|0x100000|24275\n电路|0x100000|7343\n电码|0x100000|45238\n电鳗|0x100000|1085\n电门|0x100000|43145\n电磨|0x100000|51774\n电木|0x0008|952\n电纳|0x0008|1\n电脑|0x100000|1499\n电能|0x100000|13545\n电钮|0x100000|29619\n电喷|0x4000000|856\n电平|0x100000|862\n电瓶|0x100000|38658\n电气|0x100000|12944\n电器|0x100000|6652\n电桥|0x100000|956\n电热|0x100000|29620\n电容|0x100000|31029\n电闪|0x1000000|855\n电扇|0x100000|23020\n电声|0x100000|40119\n电石|0x100000|32232\n电示|0x0000|49068\n电势|0x100000|1060\n电视|0x100000|1009\n电枢|0x100000|1108\n电刷|0x100000|995\n电算|0x100000|42412\n电台|0x100000|4640\n电烫|0x1000|55630\n电梯|0x100000|8830\n电筒|0x100000|26958\n电玩|0x100000|668\n电网|0x100000|5388\n电位|0x100000|735\n电文|0x100000|16945\n电务|0x100000|980\n电线|0x100000|11167\n电信|0x100000|3129\n电刑|0x100000|51341\n电学|0x100000|912\n电讯|0x100000|17555\n电压|0x100000|9276\n电眼|0x100000|791\n电唁|0x1000|49767\n电冶|0x100000|1031\n电椅|0x100000|53192\n电影|0x100000|726\n电泳|0x100000|847\n电邮|0x0008|634\n电鱼|0x100000|1120\n电源|0x100000|8970\n电晕|0x0008|937\n电灶|0x100000|55178\n电闸|0x100000|44373\n电站|0x100000|6552\n电针|0x100000|1079\n电钟|0x100000|55179\n电珠|0x100000|55631\n电铸|0x100000|1013\n电子|0x100000|1355\n电阻|0x100000|9819\n电钻|0x100000|46714\n佃户|0x100000|22724\n佃客|0x100000|53193\n佃农|0x100000|30907\n佃租|0x100000|1368\n甸子|0x0000|42884\n店长|0x100000|700\n店店|0x0080|4\n店东|0x100000|39068\n店风|0x100000|1329\n店伙|0x100000|1143\n店家|0x100000|21569\n店里|0x8000|582\n店门|0x0040|1339\n店面|0x100000|23920\n店名|0x100000|783\n店铺|0x100000|8938\n店堂|0x100000|21570\n店员|0x100000|16920\n店址|0x0080|899\n店主|0x100000|11092\n垫板|0x100000|55181\n垫背|0x1000|47651\n垫被|0x100000|1082\n垫补|0x1000|54753\n垫布|0x100000|1120\n垫步|0x0080|0\n垫层|0x0080|0\n垫衬|0x0080|0\n垫底|0x1000|24630\n垫垫|0x0080|0\n垫儿|0x0000|49410\n垫付|0x1000|20497\n垫高|0x0080|465\n垫话|0x0000|55632\n垫肩|0x100000|47035\n垫江|0x0080|1283\n垫脚|0x100000|880\n垫块|0x100000|1086\n垫款|0x1000|36276\n垫木|0x0080|0\n垫盘|0x0080|0\n垫片|0x0008|811\n垫平|0x1000|0\n垫圈|0x100000|41905\n垫支|0x1000|46430\n垫子|0x100000|24557\n玷辱|0x1000|49770\n玷污|0x1000|20688\n惦挂|0x1000|1172\n惦记|0x1000|11883\n惦念|0x1000|21949\n淀粉|0x100000|14750\n淀帚|0x0080|0\n奠定|0x1000|3695\n奠都|0x1000|0\n奠基|0x1000|12081\n奠酒|0x1000|1217\n奠立|0x1000|1116\n奠仪|0x100000|1227\n殿后|0x1000|35804\n殿军|0x100000|51775\n殿内|0x8000|877\n殿试|0x100000|43862\n殿堂|0x100000|12397\n殿下|0x100000|17301\n殿宇|0x100000|39901\n靛蓝|0x100000|50928\n靛青|0x100000|50929\n刁悍|0x40000000|1316\n刁横|0x0000|55915\n刁滑|0x40000000|49070\n刁蛮|0x40000000|45847\n刁民|0x100000|36447\n刁难|0x1000|20046\n刁顽|0x40000000|53194\n刁钻|0x40000000|33623\n凋败|0x1000|55916\n凋敝|0x1000|31030\n凋残|0x1000|49071\n凋零|0x1000|24425\n凋落|0x1000|38070\n凋萎|0x100000|53195\n凋谢|0x1000|28260\n貂皮|0x100000|37153\n碉堡|0x100000|17252\n碉楼|0x100000|44651\n雕版|0x4000000|46145\n雕花|0x100000|23412\n雕镌|0x1000|0\n雕刻|0x1000|9870\n雕镂|0x1000|1074\n雕漆|0x100000|50532\n雕砌|0x1000|0\n雕饰|0x100000|34757\n雕塑|0x100000|5727\n雕像|0x100000|11476\n雕凿|0x1000|43148\n雕琢|0x1000|24491\n鲷鱼|0x100000|1087\n吊臂|0x100000|1097\n吊车|0x100000|25615\n吊窗|0x100000|1368\n吊床|0x100000|48311\n吊打|0x0000|49411\n吊带|0x100000|47333\n吊灯|0x100000|29833\n吊顶|0x4000000|44374\n吊杆|0x100000|55183\n吊钩|0x100000|54754\n吊古|0x1000|0\n吊挂|0x0000|471\n吊环|0x100000|28091\n吊祭|0x1000|46146\n吊架|0x100000|924\n吊卷|0x1000|0\n吊客|0x100000|1174\n吊扣|0x1000|42885\n吊兰|0x100000|48312\n吊篮|0x0008|997\n吊楼|0x100000|53692\n吊盘|0x100000|0\n吊铺|0x100000|55184\n吊起|0x1000|891\n吊桥|0x100000|28613\n吊球|0x0000|53196\n吊丧|0x1000|38071\n吊扇|0x100000|45848\n吊绳|0x0000|446\n吊死|0x1000|790\n吊索|0x0008|975\n吊梯|0x100000|0\n吊桶|0x100000|44375\n吊慰|0x1000|0\n吊线|0x1000|53693\n吊销|0x1000|9786\n吊孝|0x1000|42165\n吊唁|0x1000|22570\n吊装|0x1000|26739\n吊着|0x0000|520\n吊子|0x0000|54755\n钓饵|0x100000|49412\n钓竿|0x100000|33893\n钓钩|0x100000|45240\n钓具|0x100000|51342\n钓丝|0x100000|1192\n钓鱼|0x1000|11501\n调包|0x1000|50140\n调拨|0x1000|15163\n调查|0x1000|754\n调车|0x0000|414\n调出|0x1000|751\n调处|0x1000|13795\n调档|0x1000|54210\n调到|0x1000|638\n调调|0x100000|42166\n调动|0x1000|2347\n调度|0x1000|6503\n调防|0x1000|45241\n调幅|0x100000|49612\n调干|0x1000|53694\n调羹|0x100000|42554\n调光|0x0008|1458\n调函|0x0000|53695\n调号|0x100000|1154\n调合|0x1000|963\n调和|0x1000|11226\n调护|0x1000|43045\n调换|0x1000|19390\n调回|0x1000|850\n调级|0x1000|49979\n调集|0x1000|13364\n调剂|0x4000000|12843\n调价|0x1000|23457\n调焦|0x1000|963\n调较|0x0008|0\n调教|0x1000|25729\n调节|0x1000|3091\n调解|0x1000|4466\n调进|0x1000|996\n调经|0x1000|938\n调酒|0x1000|780\n调卷|0x1000|1232\n调侃|0x1000|17052\n调控|0x1000|3111\n调来|0x1000|873\n调离|0x1000|15788\n调理|0x1000|22427\n调料|0x100000|28959\n调令|0x100000|33624\n调门|0x100000|1055\n调弄|0x1000|49980\n调派|0x1000|41906\n调配|0x1000|31838\n调皮|0x40000000|13516\n调频|0x1000|33977\n调遣|0x1000|22047\n调情|0x1000|26568\n调取|0x1000|963\n调人|0x1000|1022\n调任|0x1000|15164\n调入|0x1000|783\n调色|0x1000|720\n调摄|0x1000|1088\n调升|0x1000|961\n调式|0x100000|955\n调试|0x1000|12012\n调适|0x1000|773\n调水|0x1000|936\n调速|0x1000|34102\n调唆|0x1000|54510\n调停|0x1000|16766\n调头|0x100000|828\n调味|0x1000|35000\n调温|0x1000|914\n调息|0x0000|561\n调戏|0x1000|26840\n调相|0x100000|5\n调校|0x0008|839\n调笑|0x1000|30760\n调协|0x1000|1125\n调谐|0x1000|31336\n调性|0x100000|914\n调休|0x0000|53696\n调谑|0x1000|0\n调压|0x1000|905\n调研|0x1000|3468\n调演|0x1000|33246\n调养|0x1000|30972\n调音|0x1000|834\n调用|0x1000|25693\n调阅|0x1000|31615\n调匀|0x1000|45116\n调运|0x1000|18890\n调整|0x1000|1024\n调正|0x0000|430\n调值|0x100000|1200\n调职|0x1000|46717\n调制|0x1000|26078\n调治|0x1000|39385\n调转|0x1000|33247\n调准|0x1000|0\n调资|0x1000|37248\n调子|0x100000|12614\n掉包|0x1000|50140\n掉膘|0x1000|54211\n掉电|0x0000|475\n掉队|0x1000|23476\n掉换|0x1000|1051\n掉价|0x1000|40548\n掉泪|0x1000|727\n掉落|0x1000|662\n掉皮|0x0008|2\n掉色|0x1000|50533\n掉头|0x1000|14115\n掉下|0x0000|678\n掉转|0x1000|24492\n爹地|0x100000|891\n爹爹|0x100000|13379\n爹妈|0x100000|18529\n爹娘|0x100000|17526\n跌宕|0x40000000|17586\n跌倒|0x1000|624\n跌到|0x0000|595\n跌幅|0x100000|23642\n跌价|0x1000|41215\n跌跤|0x1000|36448\n跌进|0x1000|804\n跌落|0x1000|17442\n跌破|0x1000|662\n跌入|0x1000|733\n跌伤|0x1000|1003\n跌势|0x100000|40764\n跌水|0x100000|0\n跌停|0x0008|1280\n跌足|0x1000|55185\n跌坐|0x0000|28171\n迭部|0x0080|1081\n迭出|0x1000|22571\n迭次|0x8000000|43149\n迭起|0x1000|26605\n谍报|0x100000|39261\n喋喋|0x1000|1031\n喋血|0x1000|36976\n叠翠|0x1000|35958\n叠叠|0x0000|556\n叠放|0x0000|43394\n叠合|0x100000|42167\n叠加|0x1000|21422\n叠起|0x1000|0\n叠石|0x100000|1048\n叠印|0x1000|42413\n叠韵|0x100000|53197\n叠嶂|0x100000|38072\n叠字|0x0008|1082\n碟店|0x0040|0\n碟片|0x100000|737\n碟型|0x100000|1\n碟子|0x100000|17302\n蝶啶|0x100000|1266\n蝶骨|0x100000|1196\n蝶呤|0x0080|2\n蝶形|0x100000|1033\n蝶泳|0x100000|21950\n蹀躞|0x1000|47335\n丁坝|0x100000|1226\n丁丑|0x400000|993\n丁醇|0x100000|913\n丁当|0x80000|938\n丁丁|0x80000|1139\n丁东|0x0080|1075\n丁冬|0x80000|965\n丁亥|0x400000|822\n丁基|0x100000|875\n丁艰|0x1000|1379\n丁克|0x20000000|54757\n丁零|0x80000|46718\n丁卯|0x400000|944\n丁宁|0x1000|460\n丁青|0x0080|1162\n丁醛|0x100000|1174\n丁炔|0x4000000|1183\n丁巳|0x400000|1008\n丁酸|0x100000|1008\n丁酮|0x100000|1000\n丁烷|0x100000|987\n丁未|0x400000|993\n丁烯|0x100000|1024\n丁香|0x100000|22532\n丁忧|0x1000|1149\n丁酉|0x400000|985\n丁字|0x20000000|736\n叮当|0x80000|21796\n叮叮|0x0000|579\n叮咚|0x80000|32496\n叮咛|0x1000|15950\n叮问|0x1000|55633\n叮咬|0x1000|32106\n叮嘱|0x1000|8818\n玎珰|0x80000|0\n玎玲|0x80000|1141\n疔疮|0x0008|370\n疔毒|0x100000|0\n盯盯|0x0080|0\n盯人|0x1000|915\n盯上|0x1000|733\n盯梢|0x1000|39903\n盯视|0x0000|34458\n盯住|0x1000|733\n盯着|0x0000|795\n钉锤|0x100000|50931\n钉牢|0x0000|371\n钉螺|0x100000|32497\n钉帽|0x100000|1265\n钉耙|0x100000|49072\n钉入|0x0000|419\n钉头|0x0000|393\n钉鞋|0x100000|41680\n钉住|0x800000|947\n钉子|0x100000|11193\n耵聍|0x100000|1204\n酊剂|0x100000|1108\n顶班|0x1000|48313\n顶板|0x100000|39488\n顶部|0x2000000|513\n顶层|0x2000000|27922\n顶吹|0x0008|0\n顶灯|0x100000|38447\n顶点|0x100000|18530\n顶顶|0x20000|758\n顶端|0x2000000|15970\n顶多|0x8000000|13277\n顶风|0x100000|17135\n顶峰|0x100000|17195\n顶盖|0x100000|903\n顶岗|0x0000|50534\n顶缸|0x1000|1133\n顶格|0x0000|55634\n顶骨|0x100000|1139\n顶好|0x0008|1259\n顶级|0x20000000|15773\n顶尖|0x20000000|15581\n顶交|0x100000|0\n顶角|0x100000|54758\n顶礼|0x1000|935\n顶梁|0x100000|1058\n顶楼|0x100000|33097\n顶名|0x1000|1357\n顶牛|0x1000|1043\n顶棚|0x100000|24319\n顶篷|0x100000|1064\n顶起|0x0008|1338\n顶球|0x1000|969\n顶上|0x2000000|659\n顶事|0x40000000|39262\n顶数|0x0008|52201\n顶替|0x1000|21300\n顶天|0x1000|917\n顶头|0x1000|25554\n顶芽|0x100000|1172\n顶叶|0x100000|1135\n顶用|0x40000000|31273\n顶账|0x1000|54214\n顶针|0x100000|47038\n顶真|0x100000|1065\n顶珠|0x100000|1110\n顶住|0x1000|731\n顶撞|0x1000|24044\n顶子|0x100000|32233\n顶嘴|0x1000|35805\n顶罪|0x1000|50535\n鼎鼎|0x0100|1520\n鼎沸|0x1000|22264\n鼎革|0x1000|1139\n鼎锅|0x100000|0\n鼎湖|0x0040|1419\n鼎力|0x8000000|27847\n鼎立|0x1000|35342\n鼎盛|0x40000000|19302\n鼎新|0x1000|49772\n鼎峙|0x1000|1173\n鼎足|0x100000|43150\n订报|0x1000|825\n订单|0x100000|5937\n订定|0x0008|878\n订购|0x1000|14189\n订户|0x100000|36627\n订婚|0x1000|14873\n订货|0x100000|13225\n订价|0x1000|960\n订交|0x1000|0\n订金|0x100000|40765\n订立|0x1000|12177\n订票|0x100000|22984\n订数|0x100000|1198\n订约|0x1000|34759\n订阅|0x1000|8090\n订正|0x1000|31031\n订座|0x1000|913\n订做|0x1000|34608\n定安|0x0080|1514\n定案|0x1000|29307\n定本|0x100000|940\n定边|0x0080|1520\n定编|0x1000|35343\n定标|0x1000|907\n定产|0x0000|34294\n定长|0x0008|1013\n定出|0x1000|870\n定单|0x100000|689\n定当|0x40000000|34760\n定点|0x1000|6606\n定调|0x1000|940\n定鼎|0x1000|997\n定都|0x1000|29942\n定夺|0x1000|27923\n定额|0x100000|8191\n定幅|0x0008|0\n定岗|0x1000|31274\n定稿|0x100000|26250\n定格|0x100000|18239\n定购|0x1000|27103\n定规|0x100000|37154\n定婚|0x1000|969\n定货|0x100000|824\n定级|0x1000|35488\n定计|0x1000|35489\n定价|0x1000|8291\n定见|0x100000|39683\n定结|0x0080|1127\n定界|0x0000|419\n定金|0x100000|22621\n定睛|0x1000|20396\n定居|0x1000|10155\n定局|0x100000|20271\n定礼|0x100000|54215\n定理|0x100000|11560\n定力|0x100000|785\n定例|0x100000|43151\n定量|0x100000|10988\n定律|0x100000|9777\n定论|0x100000|16464\n定名|0x1000|21571\n定南|0x0080|1520\n定票|0x0000|461\n定评|0x100000|42668\n定期|0x8000000|3204\n定钱|0x100000|45849\n定亲|0x1000|38661\n定情|0x0000|36277\n定然|0x8000000|28535\n定日|0x0080|1015\n定神|0x1000|21751\n定时|0x8000000|16165\n定式|0x100000|30590\n定势|0x100000|23413\n定数|0x100000|36977\n定说|0x100000|0\n定陶|0x0080|1520\n定为|0x1000|659\n定位|0x1000|3586\n定温|0x0008|0\n定西|0x0080|1322\n定息|0x100000|41907\n定下|0x1000|623\n定弦|0x1000|1165\n定县|0x0040|1108\n定襄|0x0080|1462\n定向|0x1000|10303\n定项|0x0000|50536\n定销|0x0000|50141\n定心|0x1000|45851\n定兴|0x0080|987\n定刑|0x1000|54759\n定形|0x1000|920\n定型|0x1000|15527\n定性|0x1000|13380\n定义|0x100000|6501\n定音|0x1000|28452\n定影|0x1000|50142\n定于|0x1000|726\n定语|0x100000|34032\n定员|0x1000|28356\n定远|0x0080|1403\n定则|0x100000|42414\n定职|0x1000|1197\n定植|0x1000|1003\n定址|0x100000|1060\n定制|0x1000|17150\n定州|0x0040|1294\n定准|0x100000|50143\n定子|0x100000|943\n定罪|0x1000|17196\n定做|0x1000|23578\n碇泊|0x0080|1\n锭剂|0x100000|1192\n锭子|0x100000|48690\n丢丑|0x1000|41681\n丢掉|0x1000|9753\n丢荒|0x0000|55635\n丢开|0x1000|877\n丢脸|0x40000000|16865\n丢弃|0x1000|16465\n丢却|0x1000|0\n丢人|0x40000000|14925\n丢失|0x1000|8915\n丢手|0x1000|1156\n丢下|0x1000|630\n丢掷|0x0008|5\n东阿|0x0008|1413\n东安|0x0008|1283\n东岸|0x2000000|820\n东北|0x2000000|1604\n东边|0x2000000|11515\n东部|0x2000000|2653\n东侧|0x2000000|727\n东城|0x0040|1077\n东川|0x100000|1366\n东床|0x100000|52681\n东单|0x0040|1394\n东道|0x20000000|880\n东德|0x0080|1475\n东东|0x0008|8\n东渡|0x1000|834\n东端|0x2000000|916\n东段|0x2000000|807\n东方|0x2000000|2198\n东非|0x0040|22925\n东丰|0x0080|1520\n东风|0x100000|6087\n东港|0x0040|1278\n东宫|0x100000|16843\n东沟|0x0040|1536\n东瓜|0x100000|1038\n东光|0x0040|1346\n东郭|0x100000|437\n东海|0x0040|7559\n东汉|0x4000|16224\n东航|0x0008|817\n东胡|0x0008|1012\n东湖|0x0040|1034\n东华|0x0008|694\n东加|0x0080|1107\n东家|0x100000|14696\n东江|0x0040|1301\n东郊|0x100000|763\n东街|0x100000|1238\n东进|0x1000|848\n东晋|0x4000|22265\n东京|0x0040|3090\n东经|0x100000|21845\n东来|0x0008|1253\n东兰|0x0040|1522\n东丽|0x0008|1307\n东辽|0x0080|1054\n东陵|0x0080|1342\n东流|0x0008|1288\n东路|0x0040|875\n东门|0x8000|1093\n东盟|0x0020|3501\n东面|0x2000000|17864\n东明|0x0080|1251\n东南|0x0040|4893\n东宁|0x0040|1477\n东欧|0x0040|10442\n东平|0x0080|1288\n东坡|0x0040|1136\n东区|0x100000|1056\n东山|0x0040|1058\n东升|0x1000|1094\n东胜|0x0040|1344\n东四|0x400040|10\n东台|0x0040|1213\n东头|0x2000000|20608\n东突|0x0008|1496\n东莞|0x0040|766\n东魏|0x4000|34164\n东吴|0x0008|1229\n东西|0x100000|1573\n东线|0x100000|857\n东乡|0x0080|1446\n东向|0x0008|1435\n东信|0x0008|1267\n东兴|0x0040|1190\n东亚|0x0040|4437\n东阳|0x0040|1122\n东洋|0x0008|13989\n东夷|0x0008|984\n东营|0x0040|1090\n东瀛|0x0040|36125\n东元|0x0008|1446\n东源|0x0080|1378\n东岳|0x0040|838\n东站|0x100000|796\n东征|0x1000|836\n东芝|0x0008|1016\n东至|0x0040|1298\n东周|0x4000|31499\n东主|0x100000|1041\n冬播|0x0080|1221\n冬菜|0x100000|45549\n冬藏|0x0000|51778\n冬储|0x1000|49073\n冬防|0x100000|1136\n冬耕|0x1000|1338\n冬宫|0x0000|44109\n冬菇|0x100000|51779\n冬瓜|0x100000|20435\n冬灌|0x1000|42887\n冬寒|0x100000|50146\n冬烘|0x40000000|47039\n冬化|0x0008|0\n冬季|0x4000|3914\n冬节|0x4000|0\n冬练|0x0000|51346\n冬令|0x100000|28172\n冬麦|0x100000|40993\n冬眠|0x1000|24692\n冬暖|0x20000000|839\n冬青|0x4000000|17351\n冬日|0x4000|13508\n冬笋|0x100000|38662\n冬天|0x4000|3237\n冬闲|0x100000|31032\n冬学|0x0008|0\n冬雪|0x100000|803\n冬训|0x1000|17741\n冬汛|0x100000|55636\n冬夜|0x100000|520\n冬衣|0x100000|38862\n冬泳|0x1000|17709\n冬雨|0x100000|853\n冬园|0x0040|0\n冬月|0x100000|40549\n冬运|0x100000|1181\n冬至|0x4000|26187\n冬种|0x0000|34761\n冬贮|0x0000|51347\n冬装|0x100000|41682\n咚咚|0x80000|734\n氡气|0x0000|393\n董事|0x100000|9778\n懂得|0x1000|2384\n懂事|0x40000000|9691\n懂行|0x40000000|32234\n动笔|0x1000|16653\n动宾|0x20000000|1094\n动兵|0x1000|48314\n动产|0x100000|27691\n动词|0x100000|16734\n动粗|0x0000|47652\n动弹|0x1000|13990\n动荡|0x40000000|7107\n动动|0x1000|570\n动感|0x100000|11302\n动工|0x1000|9918\n动画|0x100000|10276\n动火|0x1000|43397\n动机|0x100000|5989\n动静|0x100000|7357\n动觉|0x100000|382\n动口|0x0000|38073\n动力|0x100000|2045\n动量|0x100000|862\n动乱|0x100000|13120\n动轮|0x100000|1195\n动脉|0x100000|14751\n动漫|0x100000|25071\n动脑|0x1000|794\n动能|0x100000|19979\n动怒|0x1000|24045\n动气|0x1000|27352\n动迁|0x0000|25327\n动情|0x40000000|8634\n动人|0x40000000|4566\n动容|0x1000|19621\n动身|0x1000|9814\n动手|0x1000|3919\n动态|0x100000|3371\n动听|0x40000000|13134\n动土|0x1000|36628\n动问|0x1000|44110\n动窝|0x1000|44111\n动武|0x1000|9912\n动物|0x100000|1181\n动向|0x100000|8950\n动心|0x40000000|14215\n动刑|0x1000|47966\n动摇|0x1000|4471\n动议|0x100000|20609\n动因|0x100000|18609\n动用|0x1000|7811\n动员|0x100000|2449\n动辄|0x8000000|12958\n动嘴|0x1000|42669\n动作|0x100000|1649\n冻拔|0x100000|0\n冻冰|0x1000|50147\n冻疮|0x100000|29006\n冻儿|0x0000|55188\n冻糕|0x0008|0\n冻害|0x100000|1035\n冻坏|0x0000|460\n冻僵|0x1000|808\n冻结|0x1000|9045\n冻裂|0x1000|1038\n冻馁|0x1000|46148\n冻肉|0x0008|49074\n冻伤|0x100000|29193\n冻死|0x1000|739\n冻土|0x100000|13764\n冻雨|0x100000|49773\n冻原|0x100000|1239\n冻胀|0x100000|0\n侗族|0x0008|21023\n恫吓|0x1000|25188\n栋栋|0x20000|0\n栋梁|0x100000|22867\n洞察|0x1000|18421\n洞彻|0x1000|54217\n洞穿|0x1000|35959\n洞达|0x1000|1149\n洞洞|0x0040|1331\n洞房|0x100000|19478\n洞府|0x100000|51348\n洞见|0x1000|44652\n洞开|0x1000|27353\n洞口|0x100000|13248\n洞窟|0x100000|868\n洞库|0x100000|11\n洞天|0x100000|35960\n洞头|0x0080|1440\n洞悉|0x1000|24277\n洞箫|0x100000|44950\n洞晓|0x1000|55637\n洞穴|0x100000|14874\n洞子|0x100000|30155\n胴体|0x100000|33248\n都昌|0x0080|1528\n都城|0x100000|14612\n都督|0x100000|844\n都好|0x0000|682\n都会|0x100000|7074\n都兰|0x0080|1025\n都灵|0x0080|1242\n都市|0x100000|5461\n都是|0x0000|1082\n都说|0x0000|750\n都统|0x100000|992\n都尉|0x100000|910\n都行|0x1000|662\n都匀|0x0040|1400\n兜捕|0x0000|55189\n兜抄|0x1000|0\n兜底|0x1000|37875\n兜兜|0x100000|43864\n兜肚|0x100000|27773\n兜儿|0x100000|981\n兜翻|0x1000|0\n兜风|0x1000|35642\n兜兰|0x0080|0\n兜揽|0x1000|42415\n兜里|0x8000|713\n兜卖|0x0000|55190\n兜帽|0x0000|404\n兜鍪|0x100000|1155\n兜售|0x1000|17412\n兜销|0x1000|53699\n兜子|0x100000|43635\n斗车|0x100000|44653\n斗胆|0x8000000|33249\n斗法|0x1000|34609\n斗方|0x100000|1018\n斗富|0x0000|51349\n斗拱|0x100000|40335\n斗鸡|0x100000|29515\n斗箕|0x100000|55191\n斗笠|0x100000|27924\n斗六|0x400040|1\n斗门|0x0080|1362\n斗牛|0x1000|25694\n斗殴|0x1000|20566\n斗牌|0x1000|0\n斗蓬|0x0000|448\n斗篷|0x100000|22868\n斗气|0x1000|35961\n斗渠|0x100000|0\n斗士|0x100000|23861\n斗室|0x100000|33250\n斗眼|0x100000|1182\n斗艳|0x0000|32107\n斗勇|0x1000|986\n斗争|0x1000|598\n斗志|0x100000|9937\n斗智|0x1000|36629\n斗子|0x100000|54218\n斗嘴|0x1000|30261\n抖颤|0x1000|32235\n抖出|0x0000|507\n抖动|0x1000|12799\n抖开|0x0000|436\n抖搂|0x1000|46149\n抖落|0x1000|25072\n抖擞|0x1000|27268\n陡壁|0x100000|43153\n陡变|0x1000|50934\n陡跌|0x1000|0\n陡度|0x100000|0\n陡峻|0x40000000|50935\n陡立|0x1000|53700\n陡坡|0x100000|19695\n陡峭|0x40000000|19049\n陡然|0x8000000|12997\n陡崖|0x100000|1049\n陡增|0x1000|37517\n陡直|0x40000000|46722\n豆瓣|0x100000|648\n豆包|0x100000|42888\n豆饼|0x100000|28818\n豆菜|0x0008|0\n豆豉|0x100000|42889\n豆豆|0x100000|974\n豆粉|0x100000|51781\n豆腐|0x100000|7764\n豆花|0x100000|808\n豆荚|0x100000|35962\n豆浆|0x100000|22822\n豆酱|0x100000|53200\n豆角|0x100000|838\n豆秸|0x100000|49413\n豆科|0x100000|1016\n豆蔻|0x100000|49075\n豆类|0x100000|765\n豆粒|0x100000|36978\n豆绿|0x100000|48316\n豆面|0x100000|44654\n豆苗|0x100000|50936\n豆奶|0x100000|35344\n豆粕|0x100000|809\n豆萁|0x100000|1128\n豆青|0x100000|54219\n豆蓉|0x100000|1195\n豆乳|0x100000|55192\n豆沙|0x100000|37687\n豆薯|0x100000|1270\n豆芽|0x100000|721\n豆油|0x100000|31033\n豆渣|0x100000|50538\n豆汁|0x100000|33894\n豆子|0x100000|17814\n逗点|0x100000|1076\n逗逗|0x1000|513\n逗哏|0x100000|48317\n逗号|0x100000|41217\n逗乐|0x1000|27104\n逗留|0x1000|12985\n逗弄|0x1000|39490\n逗趣|0x40000000|868\n逗人|0x40000000|28173\n逗笑|0x40000000|23363\n逗引|0x1000|38249\n痘疮|0x100000|1197\n痘苗|0x100000|1290\n痘疱|0x0080|1373\n窦炎|0x0080|0\n嘟嘟|0x1000|637\n嘟噜|0x1000|31969\n嘟囔|0x1000|18891\n嘟哝|0x1000|865\n督办|0x1000|8154\n督察|0x1000|11238\n督促|0x1000|4857\n督导|0x1000|11646\n督抚|0x100000|1066\n督工|0x100000|0\n督军|0x100000|958\n督率|0x1000|1174\n督脉|0x100000|1023\n督署|0x100000|0\n督学|0x100000|40994\n督造|0x1000|0\n督战|0x1000|21573\n督阵|0x1000|43865\n毒霸|0x0008|1139\n毒草|0x100000|28261\n毒虫|0x100000|42416\n毒刺|0x100000|50539\n毒打|0x1000|24046\n毒蛾|0x100000|1196\n毒饵|0x100000|41218\n毒犯|0x0000|42417\n毒贩|0x100000|20436\n毒害|0x1000|14572\n毒化|0x1000|29410\n毒计|0x100000|41908\n毒剂|0x100000|27196\n毒箭|0x100000|42418\n毒酒|0x100000|825\n毒菌|0x100000|50148\n毒辣|0x40000000|30690\n毒力|0x0000|439\n毒瘤|0x100000|19729\n毒龙|0x0008|526\n毒米|0x100000|1256\n毒谋|0x100000|1259\n毒品|0x100000|4239\n毒气|0x100000|18084\n毒杀|0x1000|35490\n毒蛇|0x100000|16319\n毒手|0x100000|25073\n毒死|0x1000|783\n毒素|0x100000|15034\n毒物|0x100000|27521\n毒雾|0x100000|1014\n毒腺|0x100000|50540\n毒枭|0x100000|31500\n毒刑|0x100000|40768\n毒性|0x100000|14029\n毒蕈|0x100000|1198\n毒牙|0x100000|46150\n毒焰|0x100000|50149\n毒药|0x100000|19243\n毒液|0x100000|35643\n毒瘾|0x100000|28005\n毒汁|0x100000|45852\n读报|0x1000|822\n读本|0x100000|11506\n读出|0x1000|718\n读到|0x0000|627\n读懂|0x0000|598\n读读|0x1000|759\n读法|0x100000|891\n读经|0x1000|851\n读秒|0x1000|51351\n读破|0x1000|0\n读取|0x1000|498\n读入|0x1000|860\n读若|0x0008|0\n读书|0x1000|1447\n读数|0x100000|32879\n读图|0x100000|713\n读完|0x1000|630\n读物|0x100000|6982\n读写|0x1000|668\n读音|0x100000|26740\n读者|0x100000|845\n渎职|0x1000|11994\n犊鼻|0x0008|0\n犊牛|0x100000|1089\n犊子|0x100000|41911\n黩武|0x1000|41683\n髑髅|0x100000|48318\n独霸|0x1000|24693\n独白|0x100000|19876\n独臂|0x0000|497\n独步|0x1000|33379\n独裁|0x1000|17995\n独唱|0x100000|17654\n独处|0x1000|26117\n独创|0x1000|18289\n独到|0x40000000|12435\n独独|0x8000000|826\n独断|0x1000|28536\n独夫|0x100000|43154\n独个|0x8000000|0\n独活|0x100000|887\n独家|0x20000000|11006\n独角|0x20000000|707\n独居|0x1000|25956\n独具|0x1000|652\n独揽|0x1000|31147\n独力|0x8000000|34763\n独立|0x40000000|1008\n独龙|0x0008|1030\n独门|0x100000|40121\n独苗|0x100000|39904\n独木|0x100000|771\n独女|0x100000|49077\n独山|0x0040|1355\n独善|0x1000|1102\n独身|0x1000|17865\n独生|0x20000000|38250\n独特|0x40000000|2332\n独体|0x20000000|0\n独吞|0x1000|33895\n独舞|0x100000|28357\n独享|0x0000|34165\n独行|0x100000|21474\n独眼|0x0000|538\n独有|0x1000|10654\n独院|0x100000|37157\n独占|0x1000|15345\n独酌|0x1000|43155\n独资|0x100000|9002\n独子|0x100000|34610\n独自|0x8000000|5023\n独奏|0x100000|18111\n独尊|0x1000|776\n笃爱|0x1000|55638\n笃诚|0x0000|55639\n笃定|0x40000000|792\n笃笃|0x0080|972\n笃厚|0x40000000|53201\n笃深|0x40000000|55193\n笃实|0x40000000|47040\n笃守|0x1000|55194\n笃信|0x1000|31275\n笃行|0x1000|962\n笃学|0x1000|1104\n笃志|0x1000|55640\n堵车|0x1000|21106\n堵击|0x1000|1227\n堵截|0x1000|16531\n堵口|0x1000|1152\n堵漏|0x1000|829\n堵塞|0x1000|7976\n堵死|0x1000|513\n堵心|0x40000000|48319\n堵住|0x1000|694\n堵嘴|0x1000|1176\n赌本|0x100000|53202\n赌博|0x1000|5908\n赌场|0x100000|15789\n赌法|0x0008|0\n赌风|0x100000|1160\n赌鬼|0x100000|50541\n赌棍|0x100000|41912\n赌金|0x0000|417\n赌局|0x100000|42890\n赌具|0x100000|43639\n赌客|0x100000|987\n赌窟|0x100000|1313\n赌马|0x0000|439\n赌气|0x1000|13381\n赌钱|0x1000|25477\n赌球|0x1000|39263\n赌输|0x0000|452\n赌徒|0x100000|26670\n赌王|0x100000|882\n赌窝|0x100000|53203\n赌瘾|0x0000|52203\n赌友|0x100000|1124\n赌债|0x100000|43640\n赌咒|0x1000|1024\n赌注|0x100000|24751\n赌桌|0x100000|1043\n赌资|0x100000|32880\n睹咒|0x0000|26671\n妒恨|0x1000|1038\n妒火|0x100000|44377\n妒嫉|0x40000000|833\n妒忌|0x1000|20939\n妒意|0x100000|1005\n杜比|0x0080|1384\n杜甫|0x0080|739\n杜衡|0x100000|1133\n杜蘅|0x100000|1264\n杜鹃|0x100000|15854\n杜绝|0x100000|5982\n杜康|0x0008|44951\n杜梨|0x100000|1116\n杜马|0x0008|1541\n杜门|0x1000|1146\n杜松|0x0080|1064\n杜威|0x0080|1254\n杜仲|0x100000|876\n杜撰|0x1000|25189\n肚肠|0x0008|445\n肚带|0x100000|47336\n肚兜|0x100000|46432\n肚量|0x100000|40550\n肚腩|0x0008|451\n肚皮|0x100000|10219\n肚脐|0x100000|32108\n肚胀|0x0008|0\n肚子|0x100000|25476\n度牒|0x100000|1180\n度过|0x1000|5011\n度荒|0x0000|47967\n度假|0x1000|8798\n度量|0x100000|22049\n度命|0x1000|1\n度曲|0x1000|0\n度人|0x0080|7\n度日|0x1000|17685\n度数|0x100000|30592\n度外|0x8000|968\n度汛|0x0000|29943\n渡槽|0x100000|40769\n渡船|0x100000|16338\n渡过|0x1000|603\n渡河|0x1000|786\n渡假|0x100000|703\n渡口|0x100000|14522\n渡轮|0x100000|33896\n渡桥|0x100000|49414\n渡头|0x100000|1019\n渡鸦|0x0080|1104\n镀层|0x100000|55641\n镀覆|0x0008|0\n镀铬|0x100000|50937\n镀金|0x1000|22926\n镀铝|0x0008|1395\n镀膜|0x1000|785\n镀铜|0x100000|980\n镀锡|0x100000|876\n镀锌|0x100000|46433\n镀银|0x1000|869\n蠹虫|0x100000|50150\n端出|0x0000|517\n端点|0x2000000|904\n端端|0x0080|684\n端方|0x40000000|1058\n端接|0x1000|1053\n端节|0x4000|0\n端口|0x100000|30158\n端丽|0x40000000|50542\n端粒|0x0080|422\n端量|0x1000|53204\n端面|0x100000|930\n端木|0x100000|547\n端倪|0x100000|20902\n端平|0x1000|963\n端视|0x1000|0\n端肽|0x0080|0\n端头|0x2000000|976\n端午|0x4000|27269\n端线|0x100000|55196\n端相|0x1000|1219\n端详|0x100000|15331\n端绪|0x100000|1195\n端雅|0x40000000|0\n端砚|0x100000|47653\n端阳|0x4000|34927\n端由|0x100000|0\n端正|0x1000|8027\n端直|0x40000000|0\n端重|0x0000|50151\n端庄|0x40000000|16532\n端子|0x100000|681\n端坐|0x1000|16553\n短波|0x100000|10182\n短长|0x100000|34297\n短程|0x20000000|32738\n短秤|0x1000|55642\n短处|0x100000|19622\n短传|0x100000|956\n短粗|0x40000000|45245\n短促|0x40000000|18240\n短打|0x100000|46151\n短刀|0x100000|909\n短笛|0x100000|43641\n短短|0x0100|499\n短发|0x100000|20806\n短歌|0x100000|920\n短工|0x100000|34460\n短骨|0x100000|1379\n短号|0x100000|1058\n短简|0x40000000|1244\n短见|0x100000|38448\n短剑|0x100000|863\n短句|0x100000|39905\n短剧|0x100000|42419\n短裤|0x100000|16444\n短路|0x1000|28911\n短命|0x40000000|24827\n短跑|0x100000|27444\n短片|0x100000|31148\n短篇|0x20000000|15466\n短评|0x100000|21661\n短期|0x20000000|4664\n短气|0x40000000|0\n短浅|0x40000000|43866\n短欠|0x1000|1499\n短枪|0x100000|36128\n短缺|0x40000000|5207\n短裙|0x100000|26878\n短衫|0x100000|929\n短少|0x1000|39492\n短诗|0x100000|927\n短视|0x100000|28358\n短寿|0x0000|47337\n短途|0x20000000|26118\n短袜|0x100000|55643\n短尾|0x0000|425\n短文|0x100000|18985\n短线|0x20000000|35188\n短小|0x40000000|22095\n短效|0x20000000|1033\n短信|0x100000|11410\n短袖|0x20000000|24882\n短训|0x20000000|44656\n短讯|0x100000|40336\n短音|0x100000|1158\n短语|0x100000|31149\n短暂|0x40000000|6801\n短装|0x100000|51782\n段长|0x100000|36449\n段段|0x100000|674\n段考|0x0080|0\n段落|0x100000|17011\n段名|0x0080|0\n段式|0x100000|920\n段位|0x100000|39264\n段子|0x100000|12869\n断案|0x1000|36129\n断壁|0x100000|996\n断臂|0x100000|743\n断层|0x100000|18866\n断肠|0x1000|35045\n断炊|0x1000|43398\n断代|0x1000|30262\n断档|0x1000|28819\n断点|0x100000|731\n断电|0x1000|644\n断掉|0x1000|762\n断定|0x1000|7989\n断断|0x8000000|41684\n断顿|0x1000|48321\n断根|0x1000|45246\n断轨|0x0080|0\n断航|0x0000|46434\n断喝|0x1000|36795\n断后|0x1000|28262\n断乎|0x8000000|44657\n断魂|0x1000|47338\n断交|0x1000|34765\n断句|0x1000|42169\n断绝|0x1000|11093\n断开|0x1000|669\n断口|0x100000|51352\n断粮|0x1000|38076\n断裂|0x1000|12824\n断流|0x1000|15332\n断垄|0x1000|55644\n断路|0x1000|40122\n断面|0x100000|12764\n断命|0x0000|51353\n断奶|0x1000|30797\n断念|0x1000|1067\n断片|0x100000|37688\n断七|0x404000|0\n断气|0x1000|28006\n断桥|0x0040|769\n断然|0x8000000|12959\n断乳|0x100000|1067\n断水|0x1000000|906\n断送|0x1000|17279\n断头|0x100000|819\n断腿|0x100000|846\n断弦|0x1000|932\n断线|0x100000|35189\n断想|0x100000|43642\n断行|0x1000|1029\n断续|0x40000000|26251\n断崖|0x100000|36450\n断言|0x100000|13624\n断语|0x100000|34166\n断狱|0x1000|52205\n断折|0x1000|0\n断枝|0x100000|1098\n断肢|0x100000|43156\n断指|0x0000|42671\n断种|0x1000|53205\n缎带|0x100000|840\n缎面|0x100000|972\n缎纹|0x0000|386\n缎子|0x100000|18392\n椴木|0x100000|1030\n椴树|0x100000|45854\n煅烧|0x1000|52686\n锻锤|0x100000|1136\n锻打|0x1000|1006\n锻工|0x100000|52206\n锻件|0x1000|53206\n锻接|0x1000|0\n锻练|0x1000|473\n锻炼|0x1000|2524\n锻炉|0x100000|1329\n锻模|0x100000|0\n锻铁|0x100000|1097\n锻压|0x1000|753\n锻造|0x1000|18141\n锻制|0x0000|55645\n堆场|0x100000|960\n堆存|0x1000|1069\n堆叠|0x1000|46152\n堆堆|0x0080|776\n堆垛|0x100000|982\n堆房|0x100000|1405\n堆放|0x1000|12998\n堆肥|0x100000|40337\n堆焊|0x20000000|998\n堆积|0x1000|10321\n堆集|0x1000|46153\n堆聚|0x1000|0\n堆垒|0x1000|1111\n堆满|0x1000|712\n堆起|0x1000|512\n堆砌|0x1000|24752\n堆笑|0x1000|28614\n堆栈|0x100000|49415\n堆阵|0x0080|0\n队部|0x100000|27354\n队长|0x100000|2192\n队队|0x100000|49\n队服|0x100000|818\n队副|0x100000|1015\n队礼|0x100000|50543\n队列|0x100000|17413\n队名|0x100000|933\n队旗|0x100000|38864\n队日|0x4000|49078\n队伍|0x100000|750\n队形|0x100000|23313\n队医|0x100000|883\n队友|0x100000|9657\n队员|0x100000|2220\n对岸|0x8000|11350\n对吧|0x0000|618\n对白|0x100000|28007\n对半|0x8000000|47340\n对本|0x10000|26445\n对比|0x100000|4915\n对簿|0x1000|0\n对策|0x100000|4968\n对唱|0x1000|32881\n对称|0x40000000|8812\n对冲|0x40000000|555\n对词|0x0000|52207\n对此|0x800000|495\n对错|0x100000|666\n对答|0x1000|24944\n对打|0x1000|31276\n对待|0x1000|1893\n对等|0x40000000|24426\n对敌|0x0000|17710\n对调|0x1000|36130\n对对|0x0000|582\n对方|0x100000|1366\n对付|0x1000|4169\n对歌|0x1000|33504\n对攻|0x1000|32367\n对光|0x1000|41441\n对过|0x0000|30692\n对号|0x100000|33897\n对华|0x1000|709\n对话|0x1000|2101\n对换|0x0000|46154\n对火|0x0000|52208\n对家|0x0000|46436\n对讲|0x20000000|717\n对焦|0x0000|54221\n对角|0x2000000|36278\n对接|0x1000|9387\n对襟|0x100000|31970\n对劲|0x40000000|22050\n对局|0x1000|32368\n对举|0x0000|51783\n对决|0x0000|29007\n对开|0x1000|34766\n对抗|0x1000|4669\n对口|0x40000000|6734\n对垒|0x1000|20351\n对立|0x40000000|4884\n对联|0x100000|10119\n对了|0x800000|498\n对流|0x1000|11799\n对路|0x40000000|28359\n对吗|0x4000000|619\n对么|0x4000000|492\n对门|0x100000|34034\n对面|0x2000000|4069\n对内|0x1000|748\n对偶|0x100000|32498\n对齐|0x1000|582\n对日|0x0000|585\n对射|0x1000|869\n对视|0x0000|17253\n对手|0x100000|2399\n对数|0x100000|34767\n对头|0x40000000|47968\n对外|0x1000|2302\n对位|0x1000|883\n对味|0x40000000|945\n对虾|0x100000|21055\n对象|0x100000|1083\n对消|0x1000|1064\n对心|0x0000|54760\n对呀|0x0000|603\n对眼|0x1000|51354\n对译|0x0000|55647\n对弈|0x1000|27692\n对饮|0x0000|37518\n对应|0x1000|7243\n对于|0x40000|176\n对仗|0x1000|29835\n对帐|0x1000|473\n对照|0x1000|5531\n对折|0x100000|38251\n对阵|0x1000|12972\n对证|0x1000|40771\n对症|0x1000|17587\n对质|0x1000|32739\n对峙|0x1000|12319\n对准|0x1000|10190\n对酌|0x1000|44658\n对子|0x100000|9632\n兑付|0x1000|15626\n兑换|0x1000|11252\n兑奖|0x1000|38252\n兑款|0x0008|0\n兑取|0x1000|37160\n兑水|0x40000000|459\n兑现|0x1000|6502\n碓房|0x100000|0\n吨粮|0x20000000|1266\n吨数|0x100000|1145\n吨位|0x100000|22205\n敦促|0x1000|8482\n敦厚|0x40000000|27356\n敦化|0x0040|1363\n敦煌|0x0040|1074\n敦睦|0x40000000|52687\n敦聘|0x1000|0\n敦朴|0x40000000|1283\n敦请|0x1000|44952\n敦劝|0x1000|1320\n敦实|0x40000000|42171\n墩布|0x100000|42891\n墩子|0x100000|35645\n蹲班|0x1000|0\n蹲点|0x1000|15370\n蹲伏|0x1000|45855\n蹲坑|0x1000|46157\n蹲苗|0x1000|1348\n蹲守|0x0000|44659\n蹲下|0x1000|722\n蹲着|0x0000|537\n蹲坐|0x1000|920\n盹儿|0x0000|16122\n趸船|0x100000|36131\n趸批|0x20000000|1310\n趸售|0x1000|1199\n囤积|0x1000|27074\n囤聚|0x1000|1388\n炖菜|0x100000|1009\n炖锅|0x100000|974\n炖肉|0x100000|910\n炖汤|0x0000|450\n炖鱼|0x0000|384\n炖煮|0x1000|984\n盾构|0x100000|995\n盾牌|0x100000|23257\n钝化|0x1000|45550\n钝剑|0x0008|0\n钝角|0x100000|49774\n钝器|0x0000|47969\n钝响|0x100000|0\n顿挫|0x100000|927\n顿顿|0x20000|850\n顿号|0x100000|45247\n顿河|0x0040|1020\n顿觉|0x1000|22486\n顿然|0x8000000|25556\n顿生|0x1000|774\n顿时|0x8000000|3775\n顿首|0x1000|29308\n顿悟|0x1000|23060\n顿消|0x1000|0\n顿足|0x1000|24753\n遁词|0x100000|48322\n遁迹|0x1000|50544\n遁世|0x1000|49416\n遁逃|0x1000|962\n遁形|0x1000|43867\n多半|0x8000000|6301\n多边|0x20000000|5080\n多变|0x40000000|9644\n多病|0x0000|554\n多才|0x40000000|714\n多彩|0x40000000|15371\n多层|0x100000|7758\n多长|0x10000|568\n多舛|0x0000|40551\n多次|0x400000|1805\n多达|0x1000|671\n多大|0x0000|739\n多党|0x20000000|935\n多道|0x0000|503\n多点|0x0008|981\n多端|0x0000|22622\n多多|0x8000000|11640\n多发|0x0000|11918\n多方|0x8000000|6793\n多佛|0x0080|1082\n多哥|0x0040|1309\n多寡|0x100000|23414\n多哈|0x0040|1112\n多好|0x0008|867\n多核|0x0008|1462\n多话|0x0000|555\n多级|0x20000000|748\n多极|0x0000|20352\n多晶|0x100000|1043\n多久|0x4000|5888\n多抗|0x20000000|1131\n多孔|0x100000|844\n多亏|0x1000|12724\n多拉|0x0040|1283\n多礼|0x1000|925\n多量|0x0008|977\n多虑|0x0000|30693\n多伦|0x0040|1422\n多么|0x8000000|1713\n多面|0x0000|512\n多能|0x20000000|822\n多年|0x100000|3142\n多情|0x40000000|12960\n多日|0x0000|17197\n多色|0x40000000|508\n多山|0x0008|1507\n多少|0x10000|408\n多时|0x400000|30263\n多事|0x40000000|27774\n多数|0x200000|2006\n多肽|0x100000|907\n多糖|0x100000|833\n多醣|0x0000|412\n多萜|0x100000|0\n多头|0x100000|16320\n多维|0x0008|1211\n多闻|0x0008|1488\n多相|0x0008|1554\n多向|0x20000000|39906\n多项|0x0000|5563\n多谢|0x1000|16866\n多心|0x40000000|27357\n多样|0x400000|5242\n多疑|0x40000000|20807\n多义|0x20000000|1000\n多音|0x20000000|1069\n多用|0x20000000|661\n多油|0x0008|1025\n多于|0x1000|12347\n多余|0x40000000|8871\n多雨|0x0008|1264\n多元|0x20000000|7319\n多远|0x0008|866\n多云|0x1000|38253\n多咱|0x10000|0\n多汁|0x0000|490\n多种|0x100000|1583\n多重|0x20000000|613\n多姿|0x40000000|21705\n多字|0x0008|1326\n多嘴|0x1000|21574\n咄咄|0x80000|938\n咄嗟|0x1000|1268\n哆嗦|0x1000|9423\n夺杯|0x1000|52209\n夺标|0x1000|32740\n夺得|0x1000|3851\n夺冠|0x1000|6688\n夺回|0x1000|728\n夺魁|0x1000|26446\n夺路|0x1000|30377\n夺目|0x40000000|17918\n夺取|0x1000|4668\n夺去|0x1000|745\n夺权|0x1000|24047\n夺下|0x1000|857\n夺占|0x1000|44112\n夺走|0x1000|694\n掇拾|0x1000|0\n踱步|0x1000|25405\n朵朵|0x20000|612\n朵儿|0x100000|945\n朵颐|0x1000|1120\n垛口|0x100000|46724\n垛子|0x100000|43399\n躲避|0x1000|8655\n躲藏|0x1000|17527\n躲风|0x0000|55198\n躲过|0x1000|684\n躲进|0x1000|575\n躲开|0x1000|661\n躲懒|0x1000|46159\n躲让|0x1000|55199\n躲闪|0x1000|18867\n躲债|0x1000|47654\n剁肉|0x1000|0\n剁碎|0x1000|929\n堕地|0x0000|44954\n堕落|0x1000|8241\n堕马|0x1000|51355\n堕入|0x1000|23989\n堕胎|0x1000|34461\n舵舱|0x100000|0\n舵杆|0x100000|1314\n舵工|0x100000|53208\n舵机|0x100000|989\n舵轮|0x0000|53703\n舵手|0x100000|29734\n舵主|0x100000|536\n惰性|0x100000|20940\n跺脚|0x1000|16147\n屙尿|0x0000|44379\n屙屎|0x0000|43643\n讹传|0x100000|39907\n讹舛|0x100000|0\n讹夺|0x1000|0\n讹谬|0x100000|55200\n讹人|0x1000|1180\n讹误|0x100000|50938\n讹言|0x100000|0\n讹诈|0x1000|29097\n俄而|0x8000000|25617\n俄共|0x0020|1137\n俄国|0x0040|1098\n俄皇|0x100000|0\n俄军|0x100000|899\n俄顷|0x8000000|1063\n俄式|0x20000000|950\n俄文|0x0008|23217\n俄延|0x0000|54225\n俄语|0x0008|16885\n娥眉|0x0000|47971\n峨眉|0x0008|1270\n峨嵋|0x0080|788\n莪蒿|0x100000|0\n莪术|0x100000|1064\n鹅蛋|0x100000|36980\n鹅黄|0x100000|34299\n鹅卵|0x100000|1119\n鹅毛|0x100000|38663\n鹅群|0x0000|367\n鹅绒|0x100000|45248\n鹅肉|0x0000|475\n鹅掌|0x0008|54761\n蛾眉|0x100000|925\n蛾子|0x100000|35963\n额定|0x20000000|23477\n额度|0x100000|10614\n额枋|0x100000|1237\n额骨|0x100000|52689\n额角|0x100000|20118\n额面|0x100000|0\n额敏|0x0080|1051\n额手|0x1000|1\n额数|0x100000|41220\n额头|0x100000|8527\n额外|0x8000000|12189\n额叶|0x100000|1093\n婀娜|0x40000000|26321\n厄境|0x100000|0\n厄难|0x100000|53704\n厄运|0x100000|15389\n呃逆|0x1000|1032\n扼杀|0x1000|15600\n扼守|0x1000|24163\n扼死|0x1000|47341\n扼腕|0x1000|26188\n扼要|0x1000|25957\n扼制|0x1000|35646\n扼住|0x1000|891\n恶霸|0x100000|20652\n恶报|0x100000|33252\n恶变|0x1000|976\n恶补|0x1000|796\n恶臭|0x100000|22869\n恶斗|0x100000|41442\n恶毒|0x40000000|15122\n恶妇|0x100000|1061\n恶感|0x100000|34036\n恶狗|0x0000|41916\n恶鬼|0x100000|33098\n恶棍|0x100000|30910\n恶果|0x100000|18610\n恶汉|0x0000|426\n恶狠|0x40000000|1141\n恶化|0x1000|4378\n恶迹|0x100000|0\n恶疾|0x100000|49079\n恶计|0x100000|1240\n恶浪|0x100000|35806\n恶劣|0x40000000|4767\n恶露|0x0000|428\n恶骂|0x100000|44380\n恶梦|0x100000|15993\n恶名|0x100000|29008\n恶魔|0x100000|19363\n恶念|0x100000|43644\n恶癖|0x100000|1205\n恶气|0x100000|25127\n恶人|0x100000|19950\n恶煞|0x100000|1084\n恶少|0x100000|40995\n恶神|0x0000|410\n恶声|0x100000|1\n恶事|0x100000|458\n恶俗|0x100000|35807\n恶徒|0x100000|53209\n恶习|0x100000|19696\n恶相|0x100000|0\n恶心|0x1000|9779\n恶行|0x100000|30378\n恶性|0x20000000|7877\n恶言|0x100000|41917\n恶意|0x100000|9003\n恶语|0x100000|33899\n恶运|0x100000|949\n恶贼|0x100000|999\n恶战|0x100000|24048\n恶仗|0x100000|40552\n恶兆|0x100000|1157\n恶浊|0x40000000|41443\n饿饭|0x1000|49417\n饿鬼|0x100000|43645\n饿虎|0x0000|44660\n饿狼|0x100000|813\n饿殍|0x100000|47656\n饿死|0x1000|644\n谔谔|0x1000|943\n鄂州|0x0040|1237\n愕然|0x0100|15281\n萼片|0x100000|1127\n遏抑|0x1000|1036\n遏止|0x1000|18027\n遏制|0x1000|3880\n遏阻|0x0000|54762\n腭凹|0x0080|0\n腭杆|0x0080|0\n腭裂|0x100000|995\n腭腺|0x0080|0\n腭皱|0x0080|0\n颚骨|0x100000|1105\n颚足|0x0080|0\n噩耗|0x100000|22449\n噩梦|0x100000|17655\n噩运|0x100000|959\n噩兆|0x100000|1309\n鳄梨|0x0008|0\n鳄鱼|0x4000000|16071\n恩爱|0x40000000|20467\n恩宠|0x100000|33505\n恩仇|0x100000|35191\n恩赐|0x1000|21797\n恩德|0x100000|33625\n恩典|0x100000|31972\n恩公|0x100000|999\n恩惠|0x100000|23690\n恩平|0x0040|1339\n恩情|0x100000|21056\n恩人|0x100000|17938\n恩师|0x100000|23793\n恩施|0x1000|1186\n恩义|0x100000|1024\n恩怨|0x100000|19216\n恩泽|0x100000|35647\n恩准|0x1000|41685\n儿茶|0x100000|1060\n儿歌|0x100000|21575\n儿化|0x1000|53210\n儿科|0x100000|23167\n儿郎|0x100000|45857\n儿马|0x100000|42172\n儿男|0x100000|55649\n儿女|0x100000|3078\n儿时|0x4000|14810\n儿孙|0x100000|16445\n儿童|0x100000|1151\n儿媳|0x100000|11397\n儿戏|0x100000|18271\n儿子|0x100000|661\n而后|0x8000000|6250\n而今|0x8000000|7333\n而况|0x10000000|28820\n而立|0x1000|18838\n而论|0x40000|570\n而且|0x10000000|146\n而是|0x10000000|495\n而外|0x2000|14683\n而言|0x2000|3307\n而已|0x2000|3297\n而又|0x10000000|767\n鸸鹋|0x0000|53211\n尔曹|0x10000|1091\n尔等|0x10000|23364\n尔尔|0x2000|1023\n尔格|0x100000|960\n尔后|0x8000000|13575\n尔雅|0x40000000|1437\n耳背|0x40000000|46437\n耳边|0x8000|513\n耳部|0x0008|949\n耳垂|0x100000|33380\n耳聪|0x1000|1155\n耳朵|0x100000|3580\n耳房|0x100000|35491\n耳福|0x100000|46161\n耳根|0x100000|25751\n耳垢|0x100000|55862\n耳鼓|0x100000|32741\n耳光|0x100000|11898\n耳郭|0x100000|1225\n耳环|0x100000|17352\n耳机|0x100000|18918\n耳际|0x8000|35046\n耳尖|0x0008|51357\n耳科|0x100000|1057\n耳孔|0x100000|47658\n耳廓|0x100000|44661\n耳力|0x100000|453\n耳聋|0x1000|778\n耳轮|0x100000|47342\n耳麦|0x0008|1194\n耳门|0x100000|1072\n耳鸣|0x1000|34037\n耳膜|0x100000|28712\n耳目|0x100000|14021\n耳畔|0x8000|738\n耳热|0x1000|34167\n耳塞|0x100000|44381\n耳生|0x40000000|51358\n耳石|0x100000|1219\n耳食|0x40000000|0\n耳屎|0x100000|51785\n耳饰|0x100000|53212\n耳熟|0x40000000|34038\n耳顺|0x100000|52690\n耳套|0x100000|1002\n耳痛|0x0008|389\n耳挖|0x100000|0\n耳闻|0x1000|24828\n耳蜗|0x100000|1028\n耳性|0x100000|1307\n耳穴|0x100000|1028\n耳炎|0x100000|0\n耳音|0x100000|54764\n耳语|0x1000|21475\n耳罩|0x100000|957\n耳针|0x100000|55201\n耳坠|0x100000|34768\n耳子|0x100000|53705\n迩来|0x4000|0\n洱海|0x0040|1398\n洱源|0x0080|1044\n饵料|0x100000|17556\n二八|0x600000|3\n二倍|0x400000|482\n二部|0x400000|1245\n二叉|0x400000|0\n二茬|0x0000|42674\n二次|0x400000|742\n二代|0x400000|1126\n二档|0x400000|948\n二等|0x400000|777\n二度|0x400000|594\n二段|0x100000|577\n二房|0x400000|38077\n二分|0x400000|694\n二伏|0x0000|55863\n二付|0x400000|0\n二副|0x400000|47659\n二哥|0x500000|38\n二号|0x400000|636\n二乎|0x401000|0\n二胡|0x4400000|15641\n二话|0x500000|33382\n二黄|0x500000|32742\n二簧|0x500000|0\n二回|0x400000|0\n二婚|0x500000|49418\n二级|0x400000|505\n二极|0x20400000|0\n二甲|0x500000|2\n二价|0x500000|1\n二间|0x400000|0\n二进|0x400000|484\n二来|0x10400000|10\n二老|0x500000|18685\n二垒|0x400008|0\n二联|0x400000|1000\n二流|0x20400000|27270\n二楼|0x400000|588\n二轮|0x400000|1080\n二门|0x400000|879\n二奶|0x500000|4\n二娘|0x500000|0\n二炮|0x400020|112\n二汽|0x400008|1\n二审|0x500000|110\n二手|0x40000000|21057\n二胎|0x0000|42893\n二肽|0x500000|0\n二通|0x400008|0\n二维|0x400000|1170\n二弦|0x400000|1139\n二线|0x500000|38078\n二心|0x500000|28009\n二氧|0x400000|0\n二爷|0x500000|0\n二意|0x500000|0\n二元|0x400000|756\n二月|0x400000|578\n二战|0x400008|7932\n二者|0x410000|5995\n二指|0x500000|2\n二重|0x400000|1339\n二专|0x400008|0\n贰臣|0x100000|41221\n发案|0x1000|16261\n发白|0x1000|17151\n发榜|0x1000|45250\n发包|0x1000|16053\n发报|0x1000|40338\n发辫|0x100000|34168\n发标|0x0080|53213\n发表|0x1000|463\n发鬓|0x100000|0\n发兵|0x1000|12294\n发病|0x1000|7383\n发布|0x1000|2314\n发财|0x1000|7978\n发菜|0x100000|32110\n发颤|0x1000|845\n发潮|0x1000|1120\n发车|0x1000|22533\n发痴|0x1000|34462\n发愁|0x1000|9980\n发臭|0x1000|892\n发出|0x1000|725\n发怵|0x1000|927\n发憷|0x1000|50940\n发喘|0x1000|47973\n发达|0x1000|1981\n发呆|0x1000|13533\n发带|0x0008|48693\n发单|0x100000|856\n发到|0x1000|623\n发嗲|0x0000|53214\n发点|0x0008|1221\n发电|0x1000|4685\n发动|0x1000|2202\n发抖|0x1000|9768\n发端|0x100000|24754\n发发|0x1000|549\n发凡|0x1000|53707\n发放|0x1000|2923\n发粉|0x100000|1120\n发奋|0x40000000|23061\n发愤|0x40000000|27105\n发疯|0x1000|13278\n发福|0x1000|32743\n发付|0x1000|54226\n发糕|0x100000|47042\n发稿|0x1000|15855\n发给|0x1000|6970\n发根|0x100000|914\n发光|0x1000|8166\n发函|0x1000|938\n发汗|0x1000|42676\n发黑|0x1000|22823\n发狠|0x1000|27197\n发横|0x0000|54765\n发红|0x1000|16969\n发花|0x1000|38664\n发话|0x1000|24321\n发坏|0x1000|0\n发还|0x1000|27273\n发慌|0x1000|23742\n发黄|0x1000|20397\n发挥|0x1000|844\n发回|0x1000|825\n发昏|0x1000|25128\n发火|0x1000|13635\n发货|0x1000|24223\n发迹|0x1000|26672\n发急|0x1000|26119\n发际|0x100000|42677\n发髻|0x100000|25958\n发夹|0x0008|44383\n发家|0x1000|19623\n发僵|0x0000|41222\n发奖|0x1000|33746\n发胶|0x100000|46728\n发酵|0x1000|12695\n发姐|0x0008|0\n发紧|0x0000|30911\n发窘|0x1000|41444\n发觉|0x1000|7788\n发掘|0x1000|5162\n发卡|0x100000|16423\n发刊|0x1000|42175\n发苦|0x0000|46163\n发狂|0x1000|19218\n发困|0x1000|47043\n发蜡|0x100000|52692\n发来|0x1000|631\n发蓝|0x0008|992\n发懒|0x1000|55651\n发廊|0x100000|23991\n发楞|0x1000|932\n发冷|0x1000|24756\n发愣|0x1000|19244\n发亮|0x1000|11531\n发令|0x1000|33747\n发露|0x0000|53711\n发绿|0x0000|40339\n发落|0x1000|23062\n发麻|0x1000|23218\n发毛|0x1000|29837\n发霉|0x1000|24757\n发闷|0x0000|53708\n发蒙|0x1000|51360\n发懵|0x0000|40553\n发面|0x100000|39269\n发明|0x1000|2966\n发木|0x1000|44955\n发难|0x1000|17656\n发腻|0x0000|45253\n发怒|0x1000|17557\n发排|0x1000|50545\n发牌|0x1000|879\n发胖|0x1000|30264\n发泡|0x1000|717\n发配|0x1000|28263\n发飘|0x1000|47343\n发票|0x100000|4936\n发妻|0x100000|46729\n发起|0x1000|3666\n发气|0x1000|1092\n发青|0x0080|25695\n发情|0x1000|23258\n发球|0x1000|13121\n发热|0x1000|8300\n发轫|0x1000|44382\n发乳|0x100000|1048\n发软|0x1000|22266\n发散|0x1000|21613\n发丧|0x1000|25557\n发涩|0x0000|41686\n发痧|0x1000|1304\n发傻|0x0000|45254\n发上|0x100000|4\n发梢|0x100000|794\n发烧|0x1000|9871\n发射|0x1000|2867\n发生|0x100000|154\n发声|0x1000|21058\n发市|0x100000|53709\n发式|0x100000|33626\n发誓|0x1000|10395\n发售|0x1000|16844\n发刷|0x0000|55652\n发水|0x1000|46727\n发丝|0x100000|702\n发送|0x1000|39908\n发酸|0x1000|21263\n发烫|0x0000|26606\n发套|0x100000|47344\n发疼|0x0000|38453\n发条|0x100000|36796\n发帖|0x100000|498\n发网|0x100000|55205\n发往|0x0000|571\n发威|0x0008|31034\n发文|0x100000|16576\n发问|0x1000|13700\n发屋|0x100000|52214\n发物|0x100000|52213\n发现|0x100000|160\n发祥|0x1000|40996\n发饷|0x1000|44113\n发笑|0x1000|16295\n发泄|0x1000|10304\n发薪|0x1000|47044\n发信|0x1000|675\n发行|0x1000|2059\n发型|0x100000|21901\n发虚|0x1000|37162\n发芽|0x1000|14422\n发哑|0x0000|50546\n发烟|0x0008|1036\n发蔫|0x1000|54227\n发言|0x1000|1957\n发炎|0x1000|27358\n发扬|0x1000|2733\n发痒|0x1000|26037\n发叶|0x0008|1255\n发音|0x100000|14811\n发引|0x1000|0\n发硬|0x0000|41687\n发油|0x0008|52693\n发育|0x1000|4197\n发源|0x1000|27522\n发愿|0x1000|42176\n发运|0x1000|28537\n发晕|0x1000|31035\n发簪|0x100000|912\n发躁|0x0000|53215\n发展|0x1000|171\n发胀|0x1000|902\n发疹|0x0008|0\n发怔|0x1000|29009\n发证|0x1000|767\n发指|0x1000|29838\n发紫|0x0000|507\n发自|0x1000|586\n发作|0x1000|7618\n乏货|0x100000|0\n乏力|0x40000000|13803\n乏煤|0x100000|1325\n乏术|0x1000|40773\n乏味|0x40000000|14728\n伐木|0x1000|21349\n伐区|0x100000|48691\n伐善|0x1000|1253\n伐树|0x1000|1100\n罚单|0x100000|794\n罚跪|0x0000|41445\n罚锾|0x0008|1131\n罚金|0x100000|17892\n罚酒|0x1000|38080\n罚款|0x1000|3489\n罚没|0x1000|18272\n罚钱|0x0000|426\n罚球|0x1000|28362\n罚息|0x1000|963\n罚则|0x100000|972\n阀门|0x100000|29413\n阀体|0x100000|948\n阀阅|0x100000|1241\n筏子|0x100000|33748\n法案|0x100000|7183\n法办|0x1000|32500\n法宝|0x100000|10171\n法币|0x100000|1135\n法场|0x100000|35346\n法典|0x100000|19516\n法定|0x20000000|4168\n法度|0x100000|29195\n法官|0x100000|2954\n法规|0x100000|1843\n法国|0x0040|893\n法海|0x0080|1384\n法号|0x100000|43401\n法会|0x0000|39270\n法籍|0x100000|999\n法纪|0x100000|15282\n法家|0x100000|28453\n法经|0x100000|2\n法警|0x100000|25329\n法库|0x0040|1550\n法拉|0x0008|1328\n法兰|0x100000|725\n法郎|0x100000|15756\n法朗|0x100000|1165\n法老|0x100000|30265\n法理|0x100000|19423\n法力|0x100000|34928\n法利|0x0080|1096\n法例|0x100000|926\n法令|0x100000|10604\n法律|0x100000|548\n法轮|0x100000|1113\n法螺|0x100000|50941\n法盲|0x100000|41223\n法门|0x100000|29310\n法名|0x100000|40997\n法器|0x100000|42177\n法权|0x100000|32109\n法人|0x100000|4255\n法商|0x100000|1015\n法身|0x0080|910\n法师|0x100000|16867\n法式|0x100000|35964\n法事|0x100000|33506\n法书|0x100000|990\n法术|0x100000|29735\n法坛|0x100000|1124\n法堂|0x100000|1089\n法条|0x100000|889\n法帖|0x100000|55204\n法庭|0x100000|3857\n法统|0x100000|37689\n法王|0x100000|1352\n法网|0x100000|18198\n法文|0x0008|18556\n法务|0x100000|779\n法系|0x100000|863\n法线|0x100000|1057\n法相|0x0080|1467\n法学|0x100000|595\n法眼|0x100000|811\n法衣|0x100000|47660\n法医|0x100000|18686\n法语|0x0008|14361\n法域|0x0080|0\n法院|0x100000|1670\n法则|0x100000|9019\n法政|0x100000|936\n法旨|0x100000|1082\n法制|0x100000|1757\n法治|0x100000|3251\n法子|0x100000|5873\n砝码|0x100000|25618\n珐琅|0x100000|39071\n帆板|0x100000|27603\n帆布|0x100000|20763\n帆船|0x100000|16296\n帆桁|0x0080|0\n帆具|0x0080|0\n帆篷|0x100000|0\n帆樯|0x100000|1158\n帆影|0x100000|964\n番邦|0x100000|1057\n番菜|0x100000|0\n番瓜|0x100000|1084\n番号|0x100000|33627\n番椒|0x100000|1317\n番茄|0x100000|14535\n番薯|0x100000|25696\n番禺|0x100000|645\n幡儿|0x100000|0\n幡然|0x8000000|883\n翻案|0x1000|19731\n翻版|0x100000|27445\n翻倍|0x0008|787\n翻本|0x1000|971\n翻查|0x1000|45257\n翻唱|0x100000|513\n翻炒|0x100000|852\n翻车|0x100000|28713\n翻沉|0x1000|46730\n翻出|0x0000|612\n翻船|0x1000|28821\n翻倒|0x1000|880\n翻到|0x0000|564\n翻地|0x1000|36279\n翻动|0x1000|22669\n翻斗|0x100000|53216\n翻番|0x1000|20398\n翻翻|0x1000|704\n翻飞|0x1000|25478\n翻覆|0x0000|50157\n翻改|0x1000|55653\n翻盖|0x1000|37520\n翻耕|0x1000|35193\n翻供|0x1000|40123\n翻滚|0x1000|14845\n翻过|0x1000|679\n翻红|0x0008|993\n翻悔|0x1000|45258\n翻检|0x1000|38081\n翻建|0x1000|41224\n翻浆|0x1000|49777\n翻搅|0x0000|46439\n翻卷|0x1000|29839\n翻开|0x1000|598\n翻看|0x1000|678\n翻刻|0x0000|48324\n翻脸|0x1000|21350\n翻领|0x100000|37521\n翻录|0x1000|50942\n翻毛|0x100000|46440\n翻弄|0x1000|35347\n翻拍|0x1000|47661\n翻牌|0x0008|52694\n翻然|0x8000000|1050\n翻砂|0x100000|43870\n翻晒|0x1000|50943\n翻身|0x1000|8001\n翻腾|0x1000|20083\n翻天|0x1000|35493\n翻土|0x0000|403\n翻胃|0x100000|55207\n翻新|0x1000|20988\n翻修|0x1000|27850\n翻寻|0x0000|376\n翻页|0x0000|632\n翻译|0x1000|2876\n翻印|0x1000|32744\n翻涌|0x1000|39271\n翻阅|0x1000|12903\n翻越|0x1000|20809\n翻造|0x1000|55654\n翻转|0x1000|25753\n翻作|0x1000|0\n藩国|0x100000|1165\n藩篱|0x100000|31501\n藩镇|0x100000|1012\n藩属|0x100000|1057\n凡百|0x400000|1157\n凡尘|0x100000|47662\n凡尔|0x100000|1024\n凡夫|0x100000|1387\n凡间|0x0000|47975\n凡例|0x100000|53217\n凡人|0x100000|17136\n凡事|0x100000|10744\n凡是|0x8000000|3064\n凡俗|0x40000000|38867\n凡响|0x100000|46441\n凡心|0x100000|55208\n凡庸|0x40000000|50158\n矾石|0x100000|1213\n矾土|0x0008|54229\n烦愁|0x0000|52215\n烦渎|0x0080|0\n烦劳|0x1000|45859\n烦乱|0x40000000|31277\n烦闷|0x40000000|17035\n烦难|0x40000000|1162\n烦恼|0x40000000|6305\n烦腻|0x40000000|1057\n烦请|0x1000|51787\n烦扰|0x1000|37522\n烦人|0x40000000|27274\n烦冗|0x40000000|1095\n烦神|0x0000|54230\n烦琐|0x40000000|738\n烦嚣|0x40000000|967\n烦心|0x40000000|28822\n烦言|0x100000|0\n烦忧|0x100000|42422\n烦杂|0x40000000|932\n烦燥|0x0080|816\n烦躁|0x40000000|11110\n樊篱|0x100000|40774\n樊笼|0x100000|42678\n蕃兵|0x100000|1289\n蕃茄|0x100000|785\n蕃薯|0x100000|812\n繁博|0x40000000|1345\n繁昌|0x0080|1394\n繁多|0x40000000|12310\n繁复|0x40000000|23259\n繁花|0x100000|729\n繁华|0x40000000|6972\n繁简|0x100000|506\n繁苛|0x40000000|0\n繁丽|0x40000000|1176\n繁乱|0x40000000|54231\n繁忙|0x40000000|8581\n繁茂|0x40000000|22004\n繁密|0x40000000|38255\n繁难|0x40000000|44384\n繁荣|0x40000000|1901\n繁冗|0x40000000|51788\n繁缛|0x40000000|47976\n繁盛|0x40000000|24945\n繁琐|0x40000000|15971\n繁体|0x100000|44114\n繁文|0x100000|1095\n繁芜|0x40000000|1036\n繁星|0x100000|22267\n繁衍|0x1000|12093\n繁育|0x1000|11675\n繁杂|0x40000000|16987\n繁殖|0x1000|5944\n繁峙|0x0080|979\n繁重|0x40000000|6822\n反扒|0x0000|40341\n反把|0x1000|0\n反霸|0x1000|33749\n反绑|0x1000|40340\n反比|0x100000|28264\n反驳|0x1000|11194\n反哺|0x1000|24558\n反侧|0x1000|26523\n反差|0x100000|12604\n反常|0x40000000|14982\n反超|0x0000|28912\n反衬|0x1000|35348\n反冲|0x1000|1013\n反刍|0x1000|33750\n反串|0x1000|35965\n反吹|0x0008|1090\n反弹|0x1000|9356\n反党|0x1000|972\n反倒|0x8000000|6569\n反帝|0x1000|941\n反调|0x0000|36630\n反动|0x100000|5052\n反斗|0x0008|2\n反毒|0x1000|1002\n反对|0x1000|599\n反而|0x10000000|2039\n反方|0x0000|47045\n反讽|0x1000|881\n反腐|0x1000|704\n反复|0x8000000|2062\n反感|0x40000000|8280\n反戈|0x1000|39687\n反攻|0x1000|13874\n反共|0x1000|1191\n反古|0x0000|45259\n反骨|0x0000|47046\n反顾|0x1000|18241\n反观|0x1000|24224\n反光|0x100000|26673\n反华|0x1000|884\n反话|0x100000|44115\n反悔|0x1000|25817\n反击|0x1000|8720\n反间|0x1000|50944\n反剪|0x1000|43871\n反接|0x1000|1097\n反诘|0x1000|43159\n反抗|0x1000|5302\n反恐|0x100000|4681\n反口|0x1000|54232\n反馈|0x100000|6327\n反例|0x0000|416\n反论|0x100000|1178\n反码|0x100000|1168\n反面|0x100000|12115\n反目|0x1000|33101\n反拍|0x0008|0\n反派|0x100000|48694\n反叛|0x1000|21107\n反扑|0x1000|24225\n反潜|0x1000|31279\n反切|0x100000|1137\n反日|0x1000|811\n反射|0x100000|8063\n反身|0x1000|38082\n反省|0x1000|8544\n反式|0x100000|955\n反是|0x10000000|923\n反噬|0x1000|43872\n反手|0x1000|28454\n反水|0x1000|1036\n反思|0x1000|6206\n反诉|0x1000|40342\n反锁|0x1000|30694\n反贪|0x1000|21752\n反特|0x0000|55209\n反胃|0x100000|39073\n反问|0x100000|10698\n反诬|0x1000|45860\n反响|0x100000|4775\n反向|0x20000000|31973\n反序|0x0000|385\n反演|0x1000|1060\n反咬|0x1000|858\n反义|0x20000000|998\n反应|0x100000|1373\n反映|0x1000|733\n反右|0x0000|19804\n反语|0x100000|45861\n反战|0x1000|39494\n反掌|0x0000|36132\n反照|0x1000|35194\n反正|0x1000|7913\n反证|0x100000|34614\n反之|0x10000000|8053\n反制|0x0008|922\n反转|0x1000|42894\n反坐|0x1000|50159\n返潮|0x1000|55210\n返城|0x0000|35648\n返程|0x100000|24758\n返抵|0x1000|1075\n返工|0x1000|29840\n返归|0x1000|1056\n返国|0x1000|977\n返航|0x1000|26120\n返还|0x1000|11938\n返回|0x1000|3396\n返家|0x1000|825\n返利|0x1000|46442\n返聘|0x1000|50160\n返迁|0x0000|53219\n返青|0x1000|29625\n返乡|0x1000|10597\n返销|0x1000|36133\n返校|0x1000|24493\n返修|0x1000|42680\n返照|0x1000|35194\n返祖|0x1000|45862\n犯案|0x1000|42423\n犯病|0x1000|30379\n犯愁|0x40000000|22206\n犯错|0x1000|643\n犯法|0x1000|13744\n犯规|0x1000|16483\n犯讳|0x1000|0\n犯浑|0x1000|52696\n犯急|0x0000|51789\n犯纪|0x1000|0\n犯忌|0x1000|39495\n犯贱|0x0000|51361\n犯戒|0x1000|53712\n犯禁|0x1000|44385\n犯境|0x1000|1116\n犯科|0x1000|0\n犯困|0x1000|46167\n犯难|0x1000|28538\n犯人|0x100000|8656\n犯傻|0x1000|35649\n犯上|0x1000|41226\n犯事|0x1000|41919\n犯下|0x1000|687\n犯颜|0x1000|1126\n犯疑|0x1000|41227\n犯意|0x100000|3\n犯有|0x1000|889\n犯罪|0x1000|1247\n泛白|0x0000|504\n泛称|0x100000|43160\n泛出|0x1000|793\n泛读|0x100000|54235\n泛泛|0x40000000|25013\n泛海|0x0008|1\n泛化|0x0000|55211\n泛黄|0x100000|722\n泛滥|0x1000|7967\n泛论|0x100000|47977\n泛美|0x0008|1408\n泛起|0x1000|13728\n泛酸|0x1000|52697\n泛音|0x100000|968\n泛指|0x1000|28010\n泛舟|0x1000|29098\n饭菜|0x100000|9142\n饭店|0x100000|2674\n饭馆|0x100000|9143\n饭锅|0x100000|34770\n饭盒|0x100000|17968\n饭后|0x4000|619\n饭局|0x100000|29841\n饭口|0x0000|55655\n饭粒|0x100000|36631\n饭量|0x100000|31152\n饭囊|0x100000|55656\n饭票|0x100000|37523\n饭铺|0x100000|26189\n饭前|0x4000|790\n饭钱|0x100000|28363\n饭勺|0x0000|52216\n饭食|0x100000|23921\n饭堂|0x100000|32613\n饭厅|0x100000|20989\n饭桶|0x100000|30380\n饭团|0x100000|808\n饭碗|0x100000|8442\n饭庄|0x100000|26322\n饭桌|0x100000|12418\n范本|0x100000|29311\n范畴|0x100000|6128\n范例|0x100000|13232\n范式|0x100000|840\n范数|0x100000|0\n范围|0x100000|902\n范文|0x100000|32614\n范县|0x0040|986\n范性|0x0080|1223\n贩毒|0x1000|8956\n贩夫|0x100000|0\n贩黄|0x1000|35047\n贩假|0x0000|44956\n贩卖|0x1000|10165\n贩私|0x1000|43161\n贩运|0x1000|16030\n贩子|0x100000|14553\n梵高|0x0008|1304\n梵刹|0x100000|0\n梵文|0x100000|33103\n梵音|0x0008|1389\n梵语|0x0008|42895\n方案|0x100000|1356\n方便|0x40000000|1337\n方波|0x0080|0\n方步|0x100000|37524\n方才|0x4000|6617\n方差|0x100000|927\n方城|0x0040|1450\n方程|0x100000|9835\n方尺|0x0000|49779\n方寸|0x100000|23580\n方凳|0x100000|30594\n方队|0x100000|24049\n方法|0x100000|393\n方格|0x100000|796\n方根|0x100000|1109\n方盒|0x100000|1077\n方剂|0x100000|35494\n方家|0x100000|31618\n方巾|0x100000|852\n方今|0x8000000|1032\n方可|0x8000000|657\n方块|0x100000|26741\n方框|0x100000|39496\n方领|0x0000|53713\n方略|0x100000|6765\n方面|0x100000|144\n方木|0x100000|1071\n方能|0x2000|16814\n方山|0x100000|1467\n方始|0x8000000|947\n方士|0x100000|22357\n方式|0x100000|387\n方书|0x100000|0\n方术|0x100000|34771\n方糖|0x100000|48696\n方头|0x100000|998\n方外|0x100000|43873\n方位|0x100000|11516\n方向|0x100000|674\n方形|0x100000|19551\n方型|0x0008|1354\n方言|0x100000|8355\n方药|0x100000|21951\n方音|0x100000|43162\n方圆|0x100000|12436\n方丈|0x100000|32502\n方针|0x100000|1448\n方阵|0x100000|19660\n方整|0x40000000|0\n方正|0x40000000|15071\n方志|0x100000|33900\n方舟|0x100000|27775\n方砖|0x0000|34039\n方桌|0x100000|13933\n方子|0x100000|21706\n方字|0x100000|1203\n坊本|0x100000|0\n坊间|0x100000|40775\n芳草|0x100000|20399\n芳村|0x0040|1325\n芳菲|0x100000|34772\n芳华|0x100000|763\n芳邻|0x100000|44116\n芳龄|0x100000|44957\n芳名|0x100000|33385\n芳年|0x100000|0\n芳容|0x100000|42681\n芳烃|0x0008|921\n芳香|0x100000|14342\n芳心|0x100000|34040\n芳馨|0x0000|48325\n芳苑|0x0040|982\n芳泽|0x100000|44386\n芳姿|0x100000|49780\n防碍|0x0000|464\n防暴|0x1000|19732\n防爆|0x1000|654\n防备|0x1000|11884\n防病|0x1000|14386\n防潮|0x1000|29842\n防尘|0x1000|34929\n防虫|0x1000|892\n防臭|0x0008|946\n防磁|0x1000|900\n防弹|0x1000|43646\n防盗|0x1000|17893\n防地|0x100000|42179\n防冻|0x1000|33751\n防毒|0x1000|34615\n防反|0x0008|996\n防范|0x1000|3532\n防风|0x1000|19920\n防腐|0x1000|19770\n防寒|0x1000|28093\n防旱|0x1000|41446\n防洪|0x1000|7768\n防护|0x100000|6160\n防滑|0x100000|734\n防化|0x1000|869\n防患|0x0000|19245\n防火|0x1000|8353\n防己|0x0008|0\n防空|0x1000|9481\n防老|0x1000|42896\n防涝|0x1000|52700\n防雷|0x100000|743\n防冷|0x100000|1037\n防凌|0x1000|40776\n防漏|0x0000|463\n防霉|0x100000|839\n防区|0x100000|27446\n防龋|0x1000|1084\n防热|0x100000|1028\n防沙|0x1000|962\n防晒|0x0008|652\n防身|0x1000|34464\n防渗|0x40000000|21059\n防湿|0x0008|1058\n防守|0x1000|6438\n防暑|0x1000|45555\n防水|0x1000|21193\n防缩|0x0008|1101\n防特|0x1000|0\n防伪|0x1000|13510\n防卫|0x1000|12131\n防污|0x0000|35650\n防务|0x100000|10093\n防线|0x100000|7852\n防写|0x0008|0\n防锈|0x1000|37690\n防讯|0x0008|0\n防汛|0x1000|8064\n防已|0x0008|0\n防疫|0x100000|8123\n防雨|0x0008|869\n防御|0x1000|4432\n防灾|0x1000|13148\n防贼|0x1000|948\n防震|0x1000|20855\n防止|0x1000|1862\n防治|0x1000|2067\n防皱|0x0000|54237\n防蛀|0x1000|44387\n防着|0x0000|489\n妨碍|0x1000|6270\n妨害|0x1000|18199\n妨事|0x0000|42682\n房产|0x100000|9405\n房颤|0x0000|35651\n房车|0x100000|42424\n房地|0x100000|553\n房顶|0x100000|14998\n房东|0x100000|10752\n房费|0x100000|40555\n房改|0x1000|19951\n房管|0x0000|25818\n房号|0x100000|927\n房基|0x100000|44663\n房脊|0x0000|39909\n房价|0x100000|513\n房间|0x100000|2276\n房捐|0x100000|1540\n房客|0x100000|27523\n房梁|0x100000|32111\n房门|0x100000|6152\n房契|0x100000|39688\n房钱|0x0000|29414\n房山|0x0040|30798\n房舍|0x100000|21476\n房事|0x100000|44388\n房室|0x100000|976\n房贴|0x0000|55918\n房屋|0x100000|2494\n房县|0x0040|1522\n房檐|0x100000|22535\n房源|0x100000|34465\n房主|0x100000|21518\n房子|0x100000|1440\n房租|0x100000|14636\n仿单|0x100000|1086\n仿佛|0x8000000|1479\n仿古|0x1000|24759\n仿建|0x0000|53715\n仿冒|0x1000|28823\n仿皮|0x0000|54767\n仿生|0x20000000|46443\n仿宋|0x100000|945\n仿效|0x1000|18557\n仿行|0x1000|45263\n仿造|0x1000|31729\n仿照|0x1000|25330\n仿真|0x1000|15347\n仿纸|0x100000|1400\n仿制|0x1000|21576\n访查|0x1000|46444\n访法|0x1000|1195\n访古|0x1000|41447\n访华|0x1000|698\n访旧|0x1000|54768\n访客|0x0008|39272\n访求|0x1000|41448\n访视|0x0008|1\n访谈|0x1000|10658\n访问|0x1000|1442\n访寻|0x1000|51791\n访友|0x1000|27037\n彷佛|0x0008|1038\n彷徨|0x40000000|16792\n纺车|0x100000|31395\n纺绸|0x100000|38869\n纺锤|0x100000|41688\n纺锭|0x100000|48698\n纺机|0x100000|45863\n纺纱|0x100000|28011\n纺丝|0x100000|48699\n纺线|0x4000000|35652\n纺织|0x1000|5106\n放榜|0x1000|52701\n放出|0x1000|630\n放错|0x0000|451\n放达|0x40000000|45556\n放大|0x1000|8957\n放贷|0x1000|22005\n放胆|0x1000|24694\n放诞|0x40000000|1168\n放荡|0x40000000|23107\n放倒|0x0008|767\n放到|0x1000|499\n放低|0x0000|542\n放电|0x1000|22098\n放刁|0x1000|55212\n放掉|0x0000|519\n放毒|0x1000|44664\n放放|0x1000|0\n放飞|0x1000|17686\n放风|0x1000|30913\n放歌|0x1000|27776\n放工|0x1000|42180\n放光|0x0000|22670\n放过|0x1000|554\n放好|0x0000|568\n放话|0x0000|49082\n放怀|0x1000|48326\n放还|0x0000|34041\n放缓|0x1000|620\n放回|0x0000|602\n放活|0x1000|22150\n放火|0x1000|14506\n放假|0x1000|10753\n放箭|0x1000|938\n放进|0x100000|962\n放开|0x1000|5231\n放空|0x1000|41000\n放宽|0x1000|7800\n放款|0x1000|28456\n放浪|0x40000000|32369\n放量|0x8000000|632\n放疗|0x1000|30695\n放慢|0x1000|10822\n放牧|0x1000|12740\n放牛|0x1000|799\n放排|0x0000|55213\n放盘|0x0008|2\n放炮|0x1000|21662\n放屁|0x1000|17012\n放气|0x0008|460\n放弃|0x1000|2011\n放枪|0x0000|30159\n放青|0x0000|54238\n放情|0x0000|53224\n放晴|0x1000|31974\n放权|0x1000|28824\n放热|0x1000|1028\n放任|0x1000|17996\n放入|0x100000|540\n放散|0x1000|1085\n放哨|0x1000|25558\n放射|0x1000|10684\n放生|0x1000|28364\n放声|0x1000|11079\n放手|0x1000|10342\n放水|0x1000|19334\n放私|0x0000|52702\n放肆|0x40000000|14697\n放松|0x1000|4231\n放送|0x1000|45557\n放下|0x1000|498\n放线|0x1000|38871\n放像|0x1000|1153\n放心|0x40000000|1580\n放行|0x1000|13899\n放学|0x1000|9944\n放血|0x1000|41228\n放眼|0x1000|11818\n放羊|0x1000|22268\n放养|0x1000|15582\n放映|0x1000|8384\n放债|0x1000|41229\n放账|0x0000|51363\n放赈|0x0000|32370\n放置|0x1000|12840\n放逐|0x1000|23533\n放恣|0x40000000|0\n放纵|0x1000|15776\n放走|0x1000|830\n飞白|0x100000|1033\n飞报|0x0000|32112\n飞奔|0x1000|15165\n飞镖|0x100000|29312\n飞播|0x1000|28012\n飞车|0x100000|31619\n飞尘|0x0008|1015\n飞驰|0x1000|16654\n飞虫|0x100000|41689\n飞出|0x0008|1104\n飞船|0x100000|5155\n飞弹|0x100000|46734\n飞刀|0x100000|732\n飞抵|0x1000|839\n飞地|0x100000|39074\n飞递|0x0000|54239\n飞碟|0x4000000|18361\n飞动|0x1000|942\n飞渡|0x1000|37345\n飞蛾|0x100000|32503\n飞飞|0x1000|618\n飞凤|0x0008|1514\n飞赴|0x0000|28013\n飞过|0x1000|602\n飞航|0x1000|448\n飞红|0x1000|35048\n飞狐|0x100000|1162\n飞花|0x100000|38454\n飞蝗|0x100000|32745\n飞机|0x100000|1136\n飞溅|0x1000|20990\n飞箭|0x100000|982\n飞进|0x1000|551\n飞跨|0x0000|50547\n飞快|0x0100|9463\n飞来|0x1000|618\n飞离|0x1000|510\n飞临|0x1000|37346\n飞龙|0x0008|1046\n飞掠|0x0000|46445\n飞轮|0x100000|34466\n飞落|0x0000|35349\n飞沫|0x0000|36798\n飞鸟|0x100000|20903\n飞盘|0x100000|52218\n飞跑|0x1000|17588\n飞扑|0x0000|517\n飞瀑|0x100000|31620\n飞起|0x0008|1186\n飞禽|0x100000|33753\n飞球|0x0008|1475\n飞去|0x1000|625\n飞泉|0x100000|51364\n飞人|0x100000|27694\n飞入|0x1000|799\n飞洒|0x1000|53716\n飞散|0x1000|38083\n飞上|0x1000|604\n飞身|0x1000|29010\n飞升|0x1000|27106\n飞石|0x100000|949\n飞驶|0x1000|38455\n飞逝|0x1000|36452\n飞鼠|0x100000|983\n飞速|0x8000000|8987\n飞毯|0x100000|1005\n飞腾|0x1000|27038\n飞踢|0x0008|0\n飞天|0x100000|14613\n飞艇|0x100000|32984\n飞往|0x1000|699\n飞吻|0x100000|44958\n飞舞|0x1000|12132\n飞翔|0x1000|10046\n飞泻|0x0000|48327\n飞行|0x1000|2839\n飞絮|0x0000|44665\n飞旋|0x1000|31730\n飞雪|0x100000|28365\n飞檐|0x100000|27275\n飞眼|0x1000|48701\n飞雁|0x100000|911\n飞燕|0x100000|770\n飞扬|0x1000|10094\n飞鹰|0x100000|1224\n飞鱼|0x100000|29011\n飞雨|0x100000|915\n飞语|0x100000|1024\n飞跃|0x1000|6361\n飞越|0x1000|17353\n飞灾|0x100000|1326\n飞贼|0x100000|47979\n飞涨|0x1000|29313\n飞舟|0x100000|46735\n飞转|0x1000|38667\n飞走|0x0000|540\n妃嫔|0x100000|972\n妃子|0x100000|24883\n非标|0x100000|1136\n非常|0x8000000|253\n非但|0x10000000|10760\n非得|0x8000000|11919\n非典|0x100000|673\n非独|0x10000000|50548\n非法|0x20000000|2300\n非凡|0x40000000|9474\n非非|0x40000000|584\n非分|0x20000000|34467\n非核|0x0008|1135\n非礼|0x1000|27777\n非门|0x0008|1491\n非命|0x1000|29415\n非难|0x1000|34169\n非人|0x20000000|30043\n非特|0x10000000|44389\n非我|0x0000|549\n非笑|0x1000|580\n非刑|0x100000|0\n非要|0x0000|8819\n非议|0x100000|17414\n非洲|0x0040|1865\n绯红|0x100000|21798\n绯闻|0x100000|31503\n菲薄|0x1000|36281\n菲菲|0x40000000|23314\n菲仪|0x100000|1397\n菲酌|0x1000|0\n扉页|0x100000|25014\n蜚蠊|0x100000|1238\n蜚声|0x1000|24226\n蜚语|0x0080|1446\n霏霏|0x0100|26038\n鲱鱼|0x100000|51365\n肥差|0x100000|49083\n肥肠|0x100000|53717\n肥城|0x0040|1414\n肥大|0x1000|17373\n肥地|0x100000|0\n肥东|0x0080|1442\n肥厚|0x40000000|29626\n肥力|0x100000|24050\n肥料|0x100000|7910\n肥美|0x40000000|30696\n肥嫩|0x0000|46168\n肥腻|0x0000|53718\n肥胖|0x40000000|12455\n肥缺|0x100000|43876\n肥肉|0x100000|19364\n肥实|0x40000000|50550\n肥瘦|0x100000|41920\n肥水|0x100000|25884\n肥硕|0x40000000|32372\n肥田|0x100000|41449\n肥土|0x0008|51793\n肥臀|0x100000|459\n肥沃|0x40000000|14983\n肥西|0x0080|1426\n肥乡|0x0080|1041\n肥效|0x100000|35966\n肥羊|0x100000|795\n肥腴|0x0000|54241\n肥育|0x1000|1137\n肥源|0x100000|55215\n肥皂|0x100000|14536\n肥猪|0x100000|825\n肥壮|0x40000000|34170\n腓骨|0x100000|54242\n匪帮|0x100000|40556\n匪兵|0x100000|1065\n匪巢|0x100000|54769\n匪盗|0x100000|51366\n匪患|0x100000|50162\n匪祸|0x100000|51367\n匪军|0x100000|31731\n匪窟|0x100000|1306\n匪首|0x100000|32882\n匪徒|0x100000|20272\n匪穴|0x100000|1256\n诽谤|0x1000|17939\n悱恻|0x0000|38084\n斐济|0x0040|1429\n斐然|0x1000|23063\n榧子|0x100000|47982\n翡翠|0x100000|15507\n废弛|0x1000|39910\n废除|0x1000|9332\n废黜|0x1000|39498\n废船|0x0080|0\n废地|0x100000|0\n废钢|0x100000|854\n废话|0x100000|11853\n废旧|0x100000|10007\n废立|0x0080|0\n废料|0x100000|21663\n废票|0x100000|44118\n废品|0x100000|13847\n废气|0x100000|14482\n废弃|0x1000|11281\n废然|0x0100|0\n废人|0x100000|37347\n废水|0x100000|9011\n废铁|0x100000|29416\n废物|0x100000|20610\n废墟|0x100000|10401\n废液|0x100000|33387\n废油|0x100000|40777\n废渣|0x100000|22671\n废止|0x1000|9623\n废址|0x100000|0\n废纸|0x100000|16554\n废置|0x1000|44666\n沸点|0x100000|24051\n沸沸|0x1000|766\n沸泉|0x100000|1200\n沸热|0x0000|54243\n沸水|0x100000|32114\n沸腾|0x1000|9124\n狒狒|0x0080|50163\n肺癌|0x100000|759\n肺病|0x100000|20530\n肺部|0x100000|775\n肺腑|0x100000|19080\n肺痨|0x100000|1039\n肺泡|0x100000|31732\n肺痿|0x0008|0\n肺炎|0x100000|4324\n肺叶|0x100000|38668\n肺痈|0x100000|0\n肺鱼|0x100000|1231\n肺脏|0x100000|42426\n肺胀|0x100000|0\n费城|0x0040|1264\n费尔|0x0080|1546\n费工|0x40000000|43647\n费话|0x100000|38872\n费解|0x40000000|18500\n费尽|0x1000|704\n费劲|0x40000000|18737\n费力|0x40000000|11885\n费率|0x100000|755\n费米|0x0080|1043\n费难|0x40000000|1226\n费钱|0x40000000|30914\n费神|0x40000000|33754\n费时|0x40000000|18085\n费事|0x40000000|19952\n费县|0x0040|1469\n费心|0x40000000|19697\n费用|0x100000|1788\n痱子|0x100000|39075\n分包|0x1000|557\n分保|0x100000|1107\n分贝|0x100000|26607\n分辨|0x1000|10871\n分辩|0x1000|16031\n分别|0x8000000|701\n分兵|0x1000|14258\n分拨|0x1000|36282\n分布|0x1000|2465\n分步|0x1000|852\n分部|0x100000|20468\n分餐|0x1000|1019\n分册|0x100000|37163\n分层|0x1000|18955\n分叉|0x1000|841\n分杈|0x0000|55658\n分岔|0x100000|897\n分厂|0x100000|18713\n分场|0x100000|907\n分成|0x1000|6292\n分出|0x1000|720\n分词|0x100000|907\n分葱|0x100000|0\n分爨|0x1000|1332\n分寸|0x100000|17415\n分带|0x0008|0\n分担|0x1000|12999\n分当|0x1000|1\n分档|0x1000|1015\n分到|0x1000|605\n分道|0x0000|477\n分得|0x1000|16868\n分等|0x100000|932\n分点|0x100000|850\n分店|0x100000|20160\n分度|0x100000|939\n分段|0x1000|736\n分队|0x100000|11282\n分发|0x1000|14097\n分房|0x1000|819\n分飞|0x0008|483\n分肥|0x1000|49084\n分分|0x100000|524\n分封|0x1000|917\n分赴|0x1000|11730\n分割|0x1000|6738\n分隔|0x1000|22450\n分给|0x1000|690\n分工|0x1000|4483\n分馆|0x100000|937\n分管|0x1000|7453\n分光|0x1000|855\n分毫|0x100000|35967\n分号|0x100000|39689\n分合|0x0000|521\n分红|0x1000|12160\n分洪|0x1000|28265\n分户|0x0000|27447\n分化|0x1000|6880\n分会|0x100000|11496\n分获|0x1000|877\n分机|0x100000|43166\n分级|0x1000|10191\n分集|0x0000|596\n分际|0x100000|1065\n分家|0x1000|13977\n分拣|0x1000|31280\n分节|0x1000|1027\n分解|0x100000|5460\n分界|0x100000|27605\n分居|0x1000|16533\n分局|0x100000|4049\n分句|0x100000|51795\n分卷|0x100000|671\n分开|0x1000|498\n分科|0x1000|30697\n分克|0x100000|0\n分块|0x1000|929\n分栏|0x1000|813\n分类|0x1000|3036\n分厘|0x0000|55659\n分离|0x1000|2998\n分理|0x1000|1034\n分力|0x100000|922\n分立|0x1000|16225\n分利|0x1000|50164\n分量|0x100000|6471\n分列|0x1000|16707\n分裂|0x1000|2345\n分流|0x1000|6607\n分馏|0x1000|1087\n分录|0x0008|497\n分路|0x100000|31504\n分米|0x100000|55216\n分泌|0x1000|11375\n分娩|0x1000|14098\n分秒|0x100000|37348\n分明|0x40000000|4448\n分母|0x100000|38086\n分内|0x20000000|25331\n分蘖|0x1000|27695\n分派|0x1000|21108\n分配|0x100000|1310\n分批|0x1000|11641\n分片|0x0000|26674\n分频|0x0008|905\n分期|0x1000|11351\n分岐|0x0000|409\n分歧|0x100000|4370\n分钱|0x1000|602\n分清|0x1000|14788\n分区|0x100000|12567\n分权|0x1000|23021\n分群|0x100000|47663\n分润|0x1000|0\n分散|0x40000000|3760\n分色|0x1000|884\n分设|0x1000|24494\n分社|0x100000|19517\n分身|0x1000|31622\n分神|0x1000|42427\n分升|0x100000|1\n分时|0x20000000|799\n分式|0x100000|55660\n分手|0x1000|7906\n分署|0x100000|1168\n分数|0x100000|9836\n分水|0x20000000|1213\n分说|0x1000|17333\n分送|0x1000|23260\n分所|0x100000|505\n分摊|0x1000|18328\n分体|0x20000000|786\n分头|0x8000000|10095\n分外|0x8000000|9754\n分为|0x1000|498\n分文|0x100000|19661\n分析|0x1000|716\n分享|0x1000|7306\n分销|0x1000|680\n分晓|0x100000|37879\n分校|0x100000|15972\n分心|0x1000|25754\n分行|0x100000|6084\n分选|0x1000|926\n分野|0x100000|31733\n分页|0x0000|749\n分宜|0x0080|1541\n分阴|0x100000|1142\n分忧|0x1000|19133\n分院|0x100000|14076\n分赃|0x1000|35968\n分站|0x100000|561\n分帐|0x1000|410\n分账|0x0000|44959\n分针|0x100000|48702\n分之|0x100000|43\n分支|0x100000|8002\n分枝|0x100000|909\n分值|0x0000|44960\n分治|0x1000|717\n分钟|0x20000|904\n分属|0x1000|26325\n分装|0x1000|852\n分子|0x100000|11269\n分租|0x0000|467\n分组|0x1000|655\n吩咐|0x1000|5401\n吩嗪|0x100000|1336\n纷呈|0x1000|28539\n纷繁|0x40000000|14752\n纷飞|0x1000|21799\n纷纷|0x8000000|1152\n纷乱|0x40000000|15716\n纷披|0x1000|1121\n纷起|0x1000|0\n纷扰|0x40000000|28615\n纷纭|0x0100|26675\n纷杂|0x40000000|43167\n纷争|0x100000|15246\n芬芳|0x100000|13249\n芬兰|0x0040|1051\n芬奇|0x0080|1274\n芬香|0x40000000|974\n氛围|0x100000|3438\n酚醛|0x100000|881\n酚酞|0x100000|1133\n坟包|0x100000|1142\n坟场|0x100000|35653\n坟地|0x100000|17013\n坟堆|0x100000|34616\n坟墓|0x100000|10542\n坟丘|0x100000|43168\n坟山|0x100000|46170\n坟头|0x100000|19450\n坟茔|0x100000|35969\n坟园|0x0040|0\n坟冢|0x100000|49423\n汾酒|0x4000000|1446\n汾西|0x0080|993\n汾阳|0x0040|1397\n焚风|0x100000|1171\n焚化|0x1000|32615\n焚毁|0x1000|20047\n焚掠|0x0000|37349\n焚烧|0x1000|10849\n焚尸|0x0000|41230\n焚书|0x1000|1015\n焚香|0x1000|25406\n粉白|0x100000|36283\n粉笔|0x100000|18029\n粉饼|0x100000|798\n粉彩|0x0000|37691\n粉肠|0x100000|55217\n粉尘|0x100000|15207\n粉刺|0x100000|37525\n粉黛|0x100000|38456\n粉底|0x100000|723\n粉蝶|0x100000|50552\n粉坊|0x100000|54771\n粉葛|0x0008|0\n粉盒|0x100000|47983\n粉红|0x100000|15790\n粉剂|0x100000|32883\n粉煤|0x100000|857\n粉面|0x0000|500\n粉末|0x100000|15102\n粉沫|0x0000|392\n粉墨|0x100000|951\n粉嫩|0x40000000|44668\n粉皮|0x100000|35654\n粉扑|0x100000|918\n粉芡|0x100000|1297\n粉墙|0x100000|29627\n粉色|0x100000|25559\n粉沙|0x100000|1271\n粉饰|0x1000|22824\n粉刷|0x100000|23219\n粉霜|0x100000|0\n粉丝|0x100000|24227\n粉碎|0x1000|6342\n粉条|0x100000|27925\n粉团|0x0000|53227\n粉未|0x0008|1024\n粉线|0x100000|1260\n粉状|0x100000|37880\n份地|0x0008|0\n份额|0x100000|5770\n份儿|0x100000|10809\n份饭|0x100000|1010\n份量|0x0008|1123\n份子|0x100000|23743\n奋臂|0x0000|48703\n奋斗|0x1000|1708\n奋发|0x1000|13655\n奋飞|0x1000|41921\n奋击|0x0000|35350\n奋激|0x0000|51369\n奋进|0x1000|9591\n奋力|0x1000|7518\n奋袂|0x1000|0\n奋勉|0x1000|52221\n奋起|0x1000|14157\n奋然|0x8000000|26742\n奋勇|0x40000000|11602\n奋战|0x1000|6986\n奋争|0x0000|36985\n忿忿|0x0100|839\n忿恨|0x40000000|1000\n忿詈|0x1000|0\n愤愤|0x0100|763\n愤恨|0x40000000|17113\n愤激|0x40000000|25885\n愤慨|0x40000000|10220\n愤懑|0x40000000|21301\n愤怒|0x40000000|4836\n愤然|0x0100|19391\n粪便|0x100000|12190\n粪车|0x100000|40346\n粪池|0x100000|45264\n粪堆|0x100000|35970\n粪肥|0x100000|34930\n粪坑|0x100000|33106\n粪筐|0x100000|55218\n粪桶|0x100000|34301\n粪土|0x100000|32746\n丰碑|0x100000|10810\n丰采|0x100000|34302\n丰产|0x1000|15247\n丰城|0x0040|1482\n丰登|0x1000|1028\n丰都|0x0040|1243\n丰富|0x40000000|866\n丰功|0x100000|951\n丰厚|0x40000000|8499\n丰隆|0x0080|1014\n丰满|0x40000000|10565\n丰茂|0x40000000|39273\n丰美|0x40000000|32238\n丰南|0x0040|998\n丰年|0x100000|22872\n丰沛|0x40000000|31975\n丰歉|0x0000|48329\n丰饶|0x40000000|32373\n丰稔|0x100000|0\n丰润|0x40000000|30698\n丰盛|0x40000000|15248\n丰实|0x40000000|1031\n丰收|0x1000|5074\n丰顺|0x0080|1429\n丰硕|0x40000000|7492\n丰台|0x0080|1066\n丰田|0x0008|934\n丰县|0x0040|1246\n丰盈|0x40000000|30799\n丰腴|0x40000000|23168\n丰裕|0x40000000|39274\n丰原|0x0008|1336\n丰韵|0x100000|830\n丰镇|0x0040|984\n丰姿|0x100000|36284\n丰足|0x40000000|43648\n风暴|0x100000|6826\n风标|0x0080|1490\n风波|0x100000|9347\n风采|0x100000|5670\n风铲|0x100000|1287\n风潮|0x100000|14387\n风车|0x100000|18460\n风尘|0x100000|20689\n风池|0x0080|1078\n风传|0x1000|36454\n风吹|0x1000|581\n风锤|0x0080|1362\n风带|0x100000|848\n风挡|0x100000|40778\n风档|0x0080|0\n风倒|0x0008|0\n风道|0x100000|48704\n风灯|0x100000|48705\n风笛|0x100000|30161\n风动|0x20000000|815\n风洞|0x100000|26880\n风斗|0x100000|48706\n风度|0x100000|9094\n风儿|0x100000|693\n风发|0x1000|24115\n风帆|0x100000|22151\n风范|0x100000|12464\n风府|0x0008|1145\n风干|0x1000|29197\n风镐|0x100000|53720\n风格|0x100000|1898\n风骨|0x100000|22873\n风管|0x0008|1339\n风光|0x100000|4830\n风害|0x100000|1229\n风寒|0x100000|24052\n风华|0x100000|39076\n风化|0x1000|18422\n风机|0x100000|648\n风级|0x100000|1202\n风纪|0x100000|34931\n风景|0x100000|3405\n风镜|0x100000|51796\n风口|0x100000|25407\n风浪|0x100000|10356\n风雷|0x100000|32239\n风冷|0x20000000|813\n风梨|0x0008|0\n风里|0x2000000|100\n风力|0x100000|4253\n风凉|0x40000000|38457\n风量|0x100000|853\n风铃|0x100000|31505\n风流|0x40000000|9615\n风褛|0x0008|0\n风轮|0x100000|960\n风帽|0x0008|42898\n风貌|0x100000|5539\n风门|0x100000|42899\n风靡|0x1000|19771\n风磨|0x0080|53228\n风魔|0x1000|925\n风能|0x100000|15249\n风鸟|0x100000|1098\n风派|0x0000|53721\n风气|0x100000|4590\n风墙|0x0000|53229\n风琴|0x100000|30162\n风情|0x100000|5987\n风趣|0x40000000|12235\n风圈|0x100000|50554\n风骚|0x100000|23169\n风色|0x100000|45864\n风沙|0x100000|7651\n风扇|0x100000|28825\n风尚|0x100000|8643\n风神|0x0080|778\n风声|0x100000|10578\n风湿|0x100000|31506\n风蚀|0x1000|24632\n风市|0x0008|0\n风势|0x100000|30163\n风霜|0x100000|23479\n风水|0x100000|13233\n风俗|0x100000|7366\n风速|0x100000|12708\n风瘫|0x100000|54246\n风涛|0x0000|45865\n风头|0x100000|15467\n风土|0x100000|34303\n风味|0x100000|13636\n风闻|0x1000|28616\n风物|0x100000|24053\n风习|0x100000|38458\n风险|0x100000|1975\n风箱|0x100000|21519\n风向|0x100000|6326\n风邪|0x0008|0\n风行|0x1000|20690\n风选|0x0008|0\n风雪|0x100000|11130\n风压|0x0008|42683\n风雅|0x40000000|20991\n风烟|0x100000|48330\n风谣|0x100000|1264\n风衣|0x100000|22488\n风仪|0x100000|1062\n风雨|0x100000|5544\n风源|0x100000|52706\n风月|0x100000|28266\n风云|0x100000|8421\n风韵|0x100000|17815\n风灾|0x100000|39500\n风闸|0x100000|1280\n风障|0x100000|1299\n风疹|0x100000|47985\n风筝|0x100000|8032\n风致|0x100000|40779\n风姿|0x100000|20941\n风钻|0x100000|48331\n枫林|0x100000|771\n枫木|0x0008|1501\n枫树|0x100000|21614\n枫糖|0x0080|0\n枫香|0x100000|1003\n枫叶|0x100000|26882\n封包|0x0008|1438\n封笔|0x1000|49786\n封闭|0x1000|5120\n封禅|0x1000|978\n封臣|0x0080|0\n封存|0x1000|17199\n封底|0x100000|33903\n封地|0x100000|901\n封顶|0x1000|24633\n封冻|0x1000|28014\n封堵|0x1000|823\n封二|0x500000|0\n封封|0x0080|0\n封港|0x1000|52707\n封官|0x1000|1031\n封航|0x0000|54773\n封号|0x100000|34617\n封河|0x0000|50555\n封火|0x1000|51797\n封缄|0x0080|412\n封建|0x100000|3572\n封疆|0x100000|30045\n封禁|0x1000|962\n封镜|0x1000|48707\n封爵|0x1000|1008\n封开|0x0080|1506\n封口|0x100000|32747\n封蜡|0x0080|0\n封里|0x100000|1202\n封门|0x4000000|41450\n封面|0x100000|11795\n封泥|0x100000|1120\n封盘|0x1000|1038\n封皮|0x100000|36134\n封起|0x0080|1142\n封丘|0x0080|1514\n封入|0x0000|421\n封三|0x500000|0\n封杀|0x1000|27696\n封山|0x1000|19275\n封赏|0x100000|28913\n封神|0x0080|1098\n封死|0x1000|533\n封四|0x500000|0\n封锁|0x1000|6138\n封套|0x100000|38256\n封条|0x100000|26524\n封土|0x100000|1069\n封王|0x1000|899\n封网|0x1000|392\n封为|0x1000|566\n封箱|0x0008|1334\n封一|0x500000|0\n封邑|0x0080|1072\n封印|0x0080|670\n封斋|0x1000|1116\n封住|0x1000|604\n封装|0x1000|35495\n封嘴|0x1000|1030\n疯病|0x0008|1003\n疯长|0x1000|36987\n疯癫|0x1000|39077\n疯狗|0x100000|33388\n疯话|0x100000|36986\n疯狂|0x40000000|5629\n疯魔|0x1000|42900\n疯女|0x0000|415\n疯人|0x100000|44121\n疯瘫|0x100000|1360\n疯枝|0x100000|1430\n疯子|0x100000|10607\n峰巅|0x100000|39276\n峰顶|0x100000|21903\n峰度|0x0080|2\n峰峰|0x0080|1038\n峰高|0x0080|0\n峰会|0x100000|6491\n峰林|0x0080|929\n峰峦|0x100000|26676\n峰丘|0x0080|0\n峰值|0x100000|31282\n烽火|0x100000|17172\n烽燧|0x100000|52222\n烽烟|0x100000|29198\n锋镝|0x100000|1135\n锋快|0x40000000|54247\n锋利|0x40000000|15020\n锋芒|0x100000|18142\n锋面|0x100000|1072\n锋刃|0x100000|38087\n锋锐|0x40000000|923\n蜂巢|0x100000|35972\n蜂毒|0x100000|55661\n蜂房|0x100000|37165\n蜂糕|0x100000|1225\n蜂胶|0x0000|49424\n蜂聚|0x1000|1401\n蜂蜡|0x100000|53722\n蜂蜜|0x100000|20992\n蜂鸟|0x100000|768\n蜂炮|0x0008|1136\n蜂起|0x1000|32115\n蜂群|0x100000|41924\n蜂乳|0x100000|54248\n蜂王|0x100000|35973\n蜂窝|0x100000|20856\n蜂箱|0x100000|44122\n蜂腰|0x100000|52223\n蜂拥|0x1000|23365\n冯特|0x0080|1114\n逢集|0x1000|51371\n逢迎|0x1000|29843\n缝补|0x1000|30496\n缝缝|0x1000|921\n缝工|0x0080|0\n缝合|0x1000|22874\n缝际|0x0080|0\n缝口|0x0008|1106\n缝穷|0x0000|53723\n缝纫|0x1000|23109\n缝上|0x1000|894\n缝隙|0x100000|13461\n缝线|0x100000|48708\n缝衣|0x0000|34932\n缝摺|0x0080|0\n缝针|0x100000|956\n缝制|0x1000|23315\n缝缀|0x1000|55219\n缝子|0x100000|37351\n讽刺|0x1000|6839\n讽谏|0x1000|43877\n讽诵|0x1000|53724\n讽喻|0x100000|41925\n唪经|0x1000|0\n凤城|0x0040|1318\n凤雏|0x100000|965\n凤蝶|0x0080|41231\n凤冈|0x0080|1072\n凤冠|0x100000|949\n凤凰|0x100000|9218\n凤姐|0x0008|523\n凤梨|0x100000|47986\n凤辇|0x100000|1197\n凤庆|0x0080|1007\n凤山|0x0040|1267\n凤台|0x0080|1430\n凤尾|0x100000|870\n凤县|0x0040|1491\n凤翔|0x0080|1307\n凤眼|0x0000|41690\n凤阳|0x0080|1269\n凤藻|0x100000|1150\n凤爪|0x100000|908\n奉承|0x1000|21060\n奉调|0x0000|35974\n奉告|0x1000|41232\n奉公|0x1000|1062\n奉化|0x0040|1170\n奉还|0x1000|35050\n奉节|0x0080|1258\n奉令|0x1000|48333\n奉命|0x1000|8647\n奉陪|0x1000|26039\n奉劝|0x1000|23644\n奉上|0x0000|27926\n奉使|0x0000|41691\n奉祀|0x0000|46447\n奉送|0x1000|28175\n奉天|0x0080|1366\n奉托|0x1000|1418\n奉为|0x1000|20308\n奉贤|0x0080|1176\n奉献|0x1000|2821\n奉新|0x0080|1504\n奉行|0x1000|6007\n奉养|0x1000|39079\n奉迎|0x1000|39912\n奉赠|0x1000|49425\n奉召|0x1000|0\n奉旨|0x1000|869\n俸禄|0x100000|913\n佛典|0x100000|40780\n佛殿|0x100000|35975\n佛法|0x100000|21577\n佛冈|0x0080|997\n佛光|0x100000|41926\n佛号|0x100000|48709\n佛会|0x0000|54249\n佛家|0x0008|26327\n佛教|0x0008|4472\n佛经|0x100000|20400\n佛龛|0x100000|38874\n佛门|0x100000|27697\n佛坪|0x0080|1043\n佛山|0x0040|808\n佛事|0x100000|29517\n佛手|0x100000|38088\n佛寺|0x100000|20691\n佛塔|0x100000|29518\n佛堂|0x0080|31283\n佛徒|0x0000|50947\n佛佗|0x0080|0\n佛陀|0x100000|27927\n佛像|0x100000|14062\n佛性|0x0080|502\n佛学|0x100000|23064\n佛牙|0x100000|40781\n佛爷|0x100000|30597\n佛珠|0x100000|39501\n佛祖|0x100000|28714\n否定|0x1000|3686\n否决|0x1000|9339\n否认|0x1000|4473\n否则|0x10000000|1742\n夫妇|0x100000|2833\n夫君|0x100000|35811\n夫妻|0x100000|2971\n夫权|0x100000|36633\n夫人|0x100000|1290\n夫婿|0x100000|39502\n夫子|0x100000|19980\n呋喃|0x100000|829\n肤泛|0x40000000|1412\n肤觉|0x0008|1381\n肤浅|0x40000000|17558\n肤色|0x100000|15912\n趺坐|0x1000|1106\n麸皮|0x100000|45558\n麸曲|0x0080|0\n麸子|0x100000|50557\n跗阳|0x0008|0\n孵出|0x0000|479\n孵蛋|0x0000|430\n孵化|0x1000|10343\n孵卵|0x1000|41233\n孵育|0x1000|55221\n敷陈|0x1000|51798\n敷粉|0x1000|0\n敷剂|0x0080|0\n敷料|0x100000|52708\n敷设|0x1000|35051\n敷贴|0x1000|1062\n敷衍|0x1000|9144\n敷药|0x1000|42684\n敷用|0x0000|47347\n弗隆|0x0080|1233\n伏安|0x20000|976\n伏案|0x1000|22402\n伏笔|0x100000|27199\n伏兵|0x100000|21109\n伏地|0x20000000|1451\n伏法|0x1000|27039\n伏旱|0x100000|47050\n伏虎|0x1000|1453\n伏击|0x1000|22318\n伏流|0x100000|1174\n伏日|0x0080|1285\n伏身|0x0000|462\n伏暑|0x100000|1278\n伏特|0x20000|907\n伏天|0x100000|35353\n伏贴|0x0080|54774\n伏帖|0x0080|1254\n伏兔|0x0080|0\n伏惟|0x1000|0\n伏卧|0x1000|1078\n伏线|0x0000|44670\n伏汛|0x0080|1501\n伏诛|0x1000|955\n凫水|0x1000|39080\n扶病|0x1000|52709\n扶持|0x1000|3019\n扶风|0x0080|1413\n扶扶|0x1000|934\n扶沟|0x0080|1501\n扶乩|0x1000|1146\n扶栏|0x100000|1051\n扶犁|0x0000|47348\n扶鸾|0x1000|1289\n扶苗|0x1000|1338\n扶贫|0x1000|2596\n扶起|0x0000|631\n扶桑|0x100000|847\n扶手|0x100000|19336\n扶疏|0x40000000|41927\n扶绥|0x0080|1526\n扶梯|0x100000|24761\n扶危|0x1000|1057\n扶养|0x1000|25129\n扶摇|0x1000|959\n扶掖|0x1000|42901\n扶余|0x0080|981\n扶正|0x1000|30915\n扶直|0x1000|1247\n扶植|0x1000|15791\n扶住|0x0000|610\n扶助|0x1000|11145\n芙蕖|0x0000|53725\n芙蓉|0x100000|17559\n怫然|0x0100|38257\n拂尘|0x100000|46738\n拂拂|0x1000|1084\n拂面|0x1000|28457\n拂逆|0x1000|44671\n拂去|0x0000|501\n拂拭|0x1000|42184\n拂晓|0x4000|22985\n拂袖|0x1000|30266\n服从|0x1000|3891\n服毒|0x1000|27276\n服法|0x1000|1043\n服老|0x1000|43169\n服满|0x1000|1162\n服气|0x40000000|12152\n服勤|0x0008|0\n服人|0x0000|23581\n服软|0x1000|41234\n服丧|0x1000|47666\n服色|0x100000|43170\n服式|0x100000|49426\n服侍|0x1000|13805\n服饰|0x100000|7311\n服输|0x1000|23582\n服贴|0x0000|483\n服帖|0x40000000|45267\n服务|0x1000|552\n服刑|0x1000|15054\n服药|0x1000|15333\n服役|0x1000|11987\n服膺|0x1000|46739\n服用|0x1000|10127\n服众|0x0000|44391\n服装|0x100000|2366\n服罪|0x1000|41928\n俘敌|0x0000|46740\n俘获|0x1000|23923\n俘虏|0x100000|8801\n氟化|0x0008|1381\n氟气|0x0008|0\n茯苓|0x100000|32748\n茯神|0x0008|0\n浮白|0x0080|0\n浮报|0x0008|1294\n浮标|0x100000|30046\n浮冰|0x100000|37526\n浮财|0x100000|41929\n浮尘|0x100000|32374\n浮沉|0x1000|27449\n浮出|0x1000|651\n浮船|0x0080|0\n浮词|0x100000|55222\n浮荡|0x1000|41003\n浮点|0x0080|864\n浮雕|0x100000|17137\n浮吊|0x0008|1225\n浮动|0x1000|9958\n浮泛|0x1000|38089\n浮华|0x40000000|27107\n浮滑|0x40000000|49427\n浮灰|0x100000|1141\n浮记|0x1000|1536\n浮夸|0x100000|17657\n浮力|0x100000|34042\n浮梁|0x0080|978\n浮面|0x100000|45268\n浮名|0x100000|51801\n浮泥|0x100000|0\n浮漂|0x1000|52710\n浮萍|0x100000|31977\n浮起|0x0080|1245\n浮签|0x100000|1521\n浮浅|0x40000000|36988\n浮桥|0x100000|23110\n浮山|0x0040|1486\n浮生|0x100000|43403\n浮尸|0x100000|49428\n浮石|0x100000|55223\n浮水|0x0008|951\n浮台|0x0080|1144\n浮筒|0x100000|1094\n浮屠|0x100000|35198\n浮土|0x100000|38876\n浮现|0x1000|10884\n浮想|0x100000|28715\n浮选|0x0008|432\n浮艳|0x0080|1174\n浮油|0x100000|1062\n浮游|0x1000|17711\n浮云|0x100000|22725\n浮躁|0x40000000|10497\n浮渣|0x100000|1184\n浮肿|0x1000|18839\n浮舟|0x0080|1059\n浮子|0x100000|50165\n匐匍|0x0080|0\n涪陵|0x0040|1133\n符号|0x100000|6720\n符合|0x1000|1236\n符节|0x100000|1139\n符咒|0x100000|36799\n幅度|0x100000|5090\n幅宽|0x100000|50558\n幅面|0x100000|45269\n幅射|0x0000|462\n幅员|0x100000|29946\n福安|0x0040|1248\n福彩|0x0008|686\n福地|0x100000|28914\n福鼎|0x0040|1307\n福分|0x100000|26744\n福冈|0x0040|1403\n福贡|0x0080|1094\n福海|0x0080|1394\n福华|0x0008|1315\n福建|0x0040|2608\n福将|0x100000|1019\n福晋|0x100000|982\n福橘|0x0080|1276\n福利|0x100000|3862\n福林|0x0080|1320\n福气|0x100000|10989\n福清|0x0040|1214\n福泉|0x0040|1478\n福人|0x0080|1000\n福山|0x0040|1312\n福神|0x0080|1041\n福寿|0x100000|34619\n福特|0x0008|1019\n福田|0x0008|965\n福相|0x100000|39277\n福星|0x100000|34043\n福音|0x100000|15813\n福运|0x0000|53727\n福祉|0x100000|14344\n福州|0x0040|4351\n蜉蝣|0x100000|44123\n辐辏|0x1000|1105\n辐合|0x100000|1269\n辐射|0x1000|3576\n辐条|0x100000|53726\n辐照|0x1000|942\n抚爱|0x1000|32616\n抚孤|0x1000|0\n抚摸|0x1000|7761\n抚摩|0x1000|20120\n抚宁|0x0080|1507\n抚弄|0x1000|27040\n抚平|0x1000|677\n抚琴|0x1000|48334\n抚顺|0x0040|1096\n抚松|0x0080|987\n抚慰|0x1000|12771\n抚恤|0x1000|17969\n抚养|0x1000|10402\n抚育|0x1000|17742\n抚远|0x0080|1009\n抚掌|0x1000|1048\n抚州|0x0040|1245\n甫士|0x0008|0\n府城|0x100000|1437\n府绸|0x100000|50949\n府邸|0x100000|33904\n府第|0x100000|31842\n府谷|0x0080|1499\n府库|0x100000|442\n府上|0x100000|15481\n府学|0x0008|422\n府尹|0x100000|1081\n府治|0x100000|6\n拊掌|0x1000|397\n斧头|0x100000|18423\n斧钺|0x100000|1083\n斧凿|0x100000|43650\n斧正|0x1000|52712\n斧子|0x100000|16620\n俯察|0x1000|47667\n俯冲|0x1000|26328\n俯伏|0x1000|30497\n俯角|0x100000|1179\n俯就|0x1000|44965\n俯看|0x0000|429\n俯瞰|0x1000|18738\n俯念|0x1000|0\n俯拍|0x1000|1\n俯曲|0x0080|0\n俯射|0x0080|1314\n俯身|0x1000|19392\n俯视|0x1000|17138\n俯首|0x1000|19393\n俯卧|0x1000|39692\n俯下|0x0000|544\n俯仰|0x1000|31036\n俯泳|0x0080|1541\n俯允|0x1000|46173\n釜山|0x0040|1278\n脯子|0x0000|38530\n辅币|0x100000|50559\n辅弼|0x1000|1103\n辅导|0x1000|6233\n辅料|0x100000|31736\n辅酶|0x100000|965\n辅仁|0x0008|1424\n辅修|0x1000|49429\n辅选|0x0008|1096\n辅音|0x100000|55225\n辅助|0x1000|7070\n辅佐|0x1000|27606\n腑脏|0x0080|0\n腐败|0x40000000|2177\n腐臭|0x1000|40782\n腐恶|0x100000|1211\n腐化|0x1000|18714\n腐坏|0x1000|863\n腐旧|0x40000000|52713\n腐烂|0x1000|13666\n腐肉|0x100000|914\n腐儒|0x100000|42186\n腐乳|0x100000|44392\n腐生|0x100000|0\n腐蚀|0x1000|8630\n腐熟|0x1000|1061\n腐朽|0x1000|8556\n腐殖|0x20000000|1109\n腐竹|0x100000|42187\n父爱|0x100000|765\n父辈|0x100000|18424\n父本|0x100000|1163\n父老|0x100000|14362\n父母|0x100000|972\n父女|0x100000|739\n父亲|0x100000|585\n父权|0x100000|1003\n父系|0x100000|36989\n父兄|0x100000|23744\n父训|0x0000|50560\n父业|0x0000|33508\n父执|0x100000|1117\n父子|0x100000|5731\n讣告|0x100000|30800\n讣文|0x100000|1220\n讣闻|0x100000|44967\n付丙|0x1000|0\n付酬|0x0000|49788\n付出|0x1000|3191\n付方|0x100000|1251\n付费|0x1000|18329\n付给|0x1000|14423\n付款|0x1000|11080\n付讫|0x1000|1189\n付钱|0x1000|20273\n付清|0x1000|786\n付托|0x1000|1057\n付息|0x1000|21302\n付现|0x1000|47349\n付印|0x1000|29736\n付邮|0x1000|52714\n付与|0x1000|35812\n付帐|0x0008|514\n付账|0x1000|37166\n付诸|0x1000|14846\n付梓|0x1000|43171\n妇产|0x100000|48335\n妇道|0x100000|34171\n妇弟|0x0080|0\n妇科|0x100000|23745\n妇联|0x100000|6074\n妇女|0x100000|657\n妇人|0x100000|5526\n妇孺|0x100000|31507\n妇婴|0x100000|52716\n妇幼|0x100000|22452\n负案|0x1000|2\n负担|0x100000|1895\n负电|0x100000|33905\n负号|0x100000|1058\n负荷|0x100000|9797\n负极|0x100000|39503\n负笈|0x1000|1023\n负荆|0x1000|1162\n负疚|0x1000|30267\n负累|0x100000|805\n负面|0x100000|6638\n负片|0x100000|976\n负气|0x1000|29844\n负屈|0x1000|52715\n负伤|0x1000|15297\n负鼠|0x100000|1133\n负数|0x100000|35199\n负心|0x1000|35200\n负有|0x1000|6520\n负于|0x1000|767\n负约|0x1000|44968\n负载|0x100000|22153\n负责|0x1000|797\n负债|0x1000|10381\n负值|0x100000|916\n负重|0x1000|18794\n负罪|0x1000|36456\n附白|0x0000|49430\n附笔|0x100000|54776\n附表|0x100000|35052\n附带|0x1000|16123\n附点|0x100000|1142\n附耳|0x1000|28367\n附睾|0x100000|993\n附和|0x1000|21905\n附后|0x0000|54777\n附会|0x1000|37352\n附记|0x1000|993\n附寄|0x0000|52225\n附骥|0x1000|0\n附加|0x1000|7914\n附件|0x100000|12920\n附近|0x100000|1180\n附丽|0x1000|1037\n附录|0x100000|20500\n附上|0x1000|40127\n附设|0x1000|31978\n附生|0x100000|408\n附识|0x100000|1283\n附送|0x1000|39504\n附随|0x0000|436\n附体|0x1000|772\n附图|0x100000|28915\n附小|0x100000|38258\n附言|0x100000|45270\n附页|0x100000|1106\n附议|0x1000|44672\n附庸|0x100000|25561\n附有|0x1000|16621\n附载|0x1000|52717\n附在|0x1000|575\n附则|0x100000|18143\n附赠|0x1000|766\n附中|0x100000|20764\n附属|0x100000|9396\n附注|0x100000|38259\n附着|0x1000|16395\n附子|0x100000|958\n阜城|0x0040|1322\n阜康|0x0040|1491\n阜南|0x0080|1504\n阜宁|0x0080|1350\n阜平|0x0080|1005\n阜新|0x0040|1206\n阜阳|0x0040|1102\n驸马|0x100000|20810\n复摆|0x100000|1293\n复本|0x100000|52718\n复比|0x100000|1334\n复辟|0x1000|13046\n复测|0x0080|1101\n复查|0x1000|11837\n复仇|0x1000|12358\n复出|0x1000|15734\n复词|0x0008|0\n复旦|0x0008|984\n复电|0x0008|25886\n复调|0x1000|982\n复读|0x1000|30801\n复发|0x1000|15873\n复返|0x1000|25479\n复方|0x100000|23415\n复根|0x0080|1365\n复耕|0x1000|1168\n复工|0x1000|34469\n复古|0x1000|24427\n复归|0x1000|24054\n复国|0x1000|883\n复函|0x100000|31737\n复航|0x0000|46174\n复合|0x1000|10137\n复核|0x1000|17354\n复会|0x1000|46175\n复婚|0x1000|25755\n复活|0x1000|11333\n复机|0x1000|1091\n复检|0x1000|32749\n复件|0x0080|0\n复建|0x1000|27698\n复健|0x0008|934\n复交|0x1000|28176\n复旧|0x1000|34470\n复句|0x100000|50950\n复刊|0x1000|38260\n复课|0x1000|38459\n复垦|0x1000|19519\n复利|0x100000|44969\n复溜|0x0008|0\n复萌|0x1000|0\n复名|0x20000000|1127\n复明|0x1000|26384\n复命|0x1000|19663\n复排|0x0000|50951\n复评|0x0000|38460\n复权|0x0008|1023\n复燃|0x0080|885\n复染|0x0080|0\n复赛|0x100000|19921\n复审|0x1000|15642\n复生|0x1000|22489\n复市|0x0000|53231\n复式|0x20000000|29314\n复视|0x0000|53232\n复试|0x100000|29012\n复述|0x1000|26330\n复数|0x100000|841\n复诵|0x0000|51373\n复苏|0x1000|5941\n复算|0x1000|0\n复位|0x1000|30916\n复习|0x1000|13437\n复现|0x1000|39278\n复线|0x100000|19664\n复写|0x1000|41004\n复新|0x1000|1038\n复信|0x1000|28096\n复兴|0x1000|3870\n复形|0x100000|0\n复姓|0x100000|42904\n复性|0x100000|1107\n复选|0x0008|498\n复学|0x1000|36634\n复眼|0x100000|1065\n复演|0x0000|52719\n复验|0x0000|44393\n复业|0x1000|49087\n复叶|0x100000|1060\n复议|0x1000|11018\n复音|0x0080|41930\n复印|0x1000|16321\n复元|0x1000|953\n复员|0x1000|16370\n复原|0x1000|13876\n复杂|0x40000000|937\n复诊|0x1000|42188\n复职|0x1000|33509\n复制|0x1000|7812\n复种|0x100000|42189\n复转|0x1000|30598\n复壮|0x0080|47052\n赴敌|0x0000|45866\n赴会|0x1000|29737\n赴京|0x1000|522\n赴考|0x1000|1052\n赴难|0x1000|42686\n赴任|0x1000|29199\n赴死|0x0000|40560\n赴宴|0x1000|27277\n赴约|0x1000|33255\n副本|0x100000|20084\n副处|0x100000|1030\n副词|0x100000|34774\n副高|0x0000|25075\n副歌|0x100000|889\n副官|0x100000|11826\n副将|0x100000|913\n副刊|0x100000|3094\n副科|0x100000|25015\n副理|0x0000|468\n副品|0x100000|1221\n副肾|0x100000|1135\n副食|0x100000|22154\n副手|0x100000|40128\n副署|0x0000|33756\n副题|0x100000|44970\n副业|0x100000|13848\n副翼|0x100000|1149\n副职|0x100000|16507\n副总|0x100000|16054\n傅粉|0x1000|1126\n富贵|0x40000000|8020\n富国|0x1000|1304\n富含|0x1000|20531\n富豪|0x100000|22052\n富户|0x100000|28617\n富华|0x0008|1235\n富集|0x1000|940\n富家|0x100000|715\n富贾|0x100000|1079\n富锦|0x0040|906\n富康|0x0008|1176\n富矿|0x100000|37693\n富丽|0x40000000|27041\n富民|0x1000|6763\n富宁|0x0040|1011\n富农|0x100000|18291\n富平|0x0080|1475\n富婆|0x100000|38261\n富强|0x40000000|7845\n富饶|0x40000000|18170\n富人|0x100000|13911\n富山|0x0040|1453\n富商|0x100000|22825\n富实|0x40000000|0\n富士|0x0008|973\n富庶|0x40000000|22928\n富孀|0x0080|1226\n富顺|0x0080|1453\n富态|0x40000000|42905\n富翁|0x100000|15702\n富县|0x0040|994\n富阳|0x0040|1178\n富有|0x1000|2516\n富于|0x1000|7478\n富余|0x40000000|7524\n富裕|0x40000000|3290\n富源|0x100000|763\n富蕴|0x0040|1031\n富足|0x40000000|16708\n赋格|0x100000|983\n赋诗|0x1000|22572\n赋税|0x100000|24229\n赋闲|0x1000|34620\n赋形|0x1000|1163\n赋性|0x100000|1177\n赋役|0x100000|45271\n赋有|0x1000|48711\n赋予|0x1000|3334\n赋值|0x100000|800\n缚住|0x0000|461\n腹案|0x0008|1188\n腹板|0x100000|1159\n腹壁|0x100000|1000\n腹部|0x100000|11920\n腹地|0x100000|10027\n腹诽|0x1000|49088\n腹稿|0x100000|38461\n腹肌|0x100000|46176\n腹面|0x100000|1114\n腹膜|0x100000|32750\n腹内|0x8000|904\n腹鳍|0x100000|381\n腹腔|0x100000|23366\n腹水|0x100000|38670\n腹痛|0x1000|22359\n腹泻|0x1000|18330\n腹心|0x100000|989\n腹语|0x100000|0\n腹胀|0x1000|34621\n腹中|0x100000|605\n赙仪|0x100000|0\n蝮蛇|0x100000|38877\n覆被|0x0000|53233\n覆层|0x0008|1144\n覆盖|0x1000|3246\n覆核|0x1000|1184\n覆没|0x1000|35976\n覆灭|0x1000|26040\n覆上|0x0000|495\n覆亡|0x1000|33632\n覆辙|0x100000|20469\n覆舟|0x0000|36990\n馥郁|0x40000000|37694\n旮旯|0x8000|726\n伽蓝|0x100000|933\n伽师|0x0080|1076\n嘎巴|0x1000|24743\n嘎噔|0x0000|54251\n嘎嘎|0x100000|637\n嘎啦|0x80000|970\n嘎然|0x8000000|3\n嘎吱|0x80000|34173\n嘎子|0x0000|38671\n噶尔|0x0080|1434\n该案|0x10000|811\n该班|0x10000|994\n该博|0x40000000|0\n该厂|0x10000|817\n该场|0x10000|935\n该车|0x10000|782\n该城|0x10000|968\n该处|0x10000|847\n该当|0x8000000|24695\n该党|0x10000|1007\n该岛|0x10000|469\n该地|0x10000|843\n该店|0x10000|851\n该段|0x10000|951\n该队|0x10000|839\n该股|0x100000|675\n该国|0x10000|759\n该会|0x10000|809\n该剧|0x10000|746\n该款|0x10000|789\n该类|0x10000|754\n该片|0x10000|657\n该欠|0x1000|0\n该区|0x10000|817\n该日|0x10000|995\n该市|0x0008|763\n该是|0x1000|467\n该书|0x10000|704\n该署|0x10000|8\n该死|0x40000000|10086\n该条|0x10000|877\n该文|0x10000|809\n该县|0x10000|819\n该线|0x0008|1065\n该乡|0x10000|1017\n该项|0x0008|680\n该校|0x10000|728\n该行|0x10000|815\n该院|0x10000|800\n该站|0x100000|847\n该着|0x1000|35202\n赅博|0x40000000|0\n赅括|0x1000|0\n改版|0x1000|18611\n改扮|0x1000|47987\n改编|0x1000|6759\n改变|0x1000|529\n改产|0x1000|52721\n改称|0x1000|15182\n改成|0x1000|593\n改乘|0x1000|985\n改错|0x1000|41452\n改道|0x1000|25820\n改点|0x1000|0\n改调|0x0000|51375\n改掉|0x1000|675\n改订|0x1000|42687\n改动|0x1000|15348\n改改|0x1000|753\n改稿|0x0000|45272\n改革|0x1000|563\n改观|0x1000|9729\n改过|0x1000|38878\n改换|0x1000|18393\n改悔|0x1000|29947\n改嫁|0x1000|21664\n改建|0x1000|8383\n改进|0x1000|1801\n改口|0x1000|20532\n改良|0x1000|7001\n改量|0x0008|0\n改名|0x1000|10128\n改年|0x0000|46448\n改判|0x1000|20765\n改期|0x1000|44394\n改任|0x1000|22986\n改日|0x8000000|28618\n改容|0x0000|41236\n改色|0x1000|37353\n改善|0x1000|1395\n改说|0x0000|398\n改天|0x8000000|24116\n改图|0x1000|990\n改土|0x1000|0\n改为|0x1000|7544\n改线|0x1000|47988\n改向|0x0008|45868\n改小|0x0000|467\n改写|0x1000|13502\n改行|0x1000|19337\n改型|0x1000|39081\n改姓|0x0000|29845\n改性|0x1000|726\n改选|0x1000|21025\n改样|0x1000|54778\n改业|0x1000|47351\n改易|0x0000|34775\n改用|0x1000|13289\n改由|0x1000|888\n改元|0x1000|965\n改葬|0x0000|377\n改造|0x1000|967\n改则|0x0080|1112\n改辙|0x1000|53730\n改正|0x1000|5848\n改制|0x1000|4671\n改种|0x1000|432\n改装|0x1000|13268\n改锥|0x100000|52228\n改组|0x1000|7223\n改嘴|0x1000|51802\n改作|0x1000|879\n丐帮|0x0020|1278\n钙化|0x1000|37167\n钙奶|0x0008|990\n钙片|0x0008|46449\n钙质|0x100000|39279\n盖板|0x100000|886\n盖布|0x100000|1079\n盖菜|0x100000|1249\n盖层|0x0008|0\n盖茨|0x0080|1002\n盖尔|0x0080|1512\n盖饭|0x100000|971\n盖房|0x1000|18612\n盖过|0x1000|551\n盖帘|0x0000|54779\n盖帽|0x1000|813\n盖起|0x1000|891\n盖上|0x1000|611\n盖世|0x1000|30498\n盖髓|0x0080|0\n盖头|0x100000|29100\n盖瓦|0x0008|1210\n盖碗|0x100000|34776\n盖仙|0x0080|1344\n盖印|0x0008|47989\n盖有|0x1000|6\n盖造|0x1000|0\n盖章|0x1000|18986\n盖州|0x0040|1475\n盖住|0x1000|581\n盖子|0x100000|19338\n概观|0x100000|51803\n概况|0x100000|18817\n概括|0x1000|3294\n概览|0x1000|44395\n概率|0x100000|3922\n概略|0x100000|40350\n概论|0x100000|17014\n概貌|0x100000|38462\n概念|0x100000|2182\n概述|0x1000|23416\n概数|0x100000|55919\n概说|0x100000|46177\n概算|0x1000|22155\n概要|0x100000|34473\n干碍|0x1000|0\n干巴|0x40000000|32241\n干爸|0x0000|45869\n干白|0x0000|50952\n干版|0x0008|0\n干杯|0x1000|20567\n干贝|0x100000|50953\n干煸|0x0000|55663\n干瘪|0x40000000|23691\n干冰|0x100000|42430\n干部|0x100000|197\n干才|0x100000|45274\n干菜|0x100000|36635\n干草|0x100000|22099\n干柴|0x100000|897\n干城|0x100000|1106\n干出|0x0000|545\n干脆|0x8000000|4275\n干道|0x100000|20994\n干等|0x0000|22672\n干点|0x0000|518\n干掉|0x1000|29740\n干爹|0x0008|20857\n干儿|0x0000|24117\n干犯|0x1000|1139\n干饭|0x100000|34777\n干粉|0x100000|39693\n干干|0x0100|691\n干戈|0x100000|26960\n干谷|0x100000|0\n干股|0x100000|53731\n干果|0x100000|29738\n干旱|0x40000000|4262\n干嚎|0x1000|1025\n干好|0x0000|530\n干号|0x1000|55664\n干涸|0x1000|13786\n干花|0x100000|50954\n干哕|0x1000|0\n干活|0x1000|604\n干货|0x100000|39913\n干急|0x1000|55665\n干架|0x1000|988\n干姜|0x100000|1003\n干将|0x100000|31980\n干结|0x1000|54780\n干劲|0x100000|11687\n干警|0x100000|4502\n干净|0x40000000|3148\n干咳|0x1000|29739\n干渴|0x40000000|29629\n干枯|0x1000|15973\n干哭|0x1000|0\n干酪|0x100000|47990\n干冷|0x1000|38262\n干连|0x1000|50169\n干练|0x40000000|21615\n干粮|0x100000|14173\n干裂|0x1000|31153\n干流|0x100000|11518\n干馏|0x1000|51804\n干路|0x100000|1111\n干妈|0x0008|21477\n干吗|0x800000|6908\n干嘛|0x4000000|724\n干么|0x0000|568\n干面|0x0000|36457\n干娘|0x100000|24055\n干呕|0x0000|47053\n干亲|0x100000|45559\n干渠|0x100000|28541\n干群|0x100000|7848\n干扰|0x100000|4285\n干涩|0x40000000|29948\n干啥|0x0000|8264\n干涉|0x1000|3788\n干尸|0x100000|44396\n干湿|0x100000|866\n干事|0x100000|4813\n干瘦|0x40000000|28717\n干爽|0x40000000|36801\n干松|0x0000|55226\n干完|0x1000|822\n干洗|0x1000|35977\n干系|0x100000|26745\n干线|0x100000|9503\n干校|0x100000|16688\n干笑|0x1000|29519\n干薪|0x100000|53235\n干性|0x0008|1299\n干谒|0x1000|1230\n干邑|0x0008|1022\n干硬|0x0000|41237\n干预|0x1000|4624\n干员|0x0008|1142\n干燥|0x40000000|8309\n干仗|0x1000|51378\n干政|0x1000|2\n干支|0x100000|39914\n甘草|0x100000|20274\n甘醇|0x0080|51377\n甘脆|0x40000000|1173\n甘当|0x1000|23263\n甘德|0x0080|1079\n甘地|0x0080|1421\n甘汞|0x0080|1322\n甘谷|0x0040|999\n甘结|0x100000|1394\n甘居|0x1000|1082\n甘菊|0x0080|445\n甘苦|0x100000|21665\n甘蓝|0x100000|31623\n甘洌|0x0000|53732\n甘霖|0x100000|30164\n甘露|0x100000|24322\n甘洛|0x0080|1069\n甘美|0x40000000|35656\n甘南|0x0080|1285\n甘泉|0x100000|26041\n甘受|0x0000|413\n甘薯|0x100000|932\n甘松|0x100000|1110\n甘肃|0x0040|4173\n甘遂|0x100000|1160\n甘甜|0x40000000|22490\n甘为|0x0000|43172\n甘味|0x1000|1038\n甘心|0x1000|7628\n甘休|0x1000|41693\n甘油|0x100000|30165\n甘于|0x1000|15224\n甘雨|0x100000|49089\n甘愿|0x1000|16200\n甘蔗|0x100000|12883\n甘汁|0x0080|0\n甘孜|0x100000|1250\n杆秤|0x100000|29013\n杆菌|0x100000|19624\n杆塔|0x100000|1014\n杆状|0x100000|1113\n杆子|0x100000|11621\n肝癌|0x100000|761\n肝病|0x100000|22207\n肝部|0x100000|1094\n肝肠|0x100000|912\n肝胆|0x100000|23746\n肝儿|0x100000|1077\n肝风|0x100000|0\n肝火|0x100000|35496\n肝气|0x100000|52723\n肝素|0x100000|983\n肝糖|0x100000|1121\n肝炎|0x100000|11756\n肝脏|0x100000|14116\n肝蛭|0x100000|1538\n坩埚|0x100000|41238\n泔水|0x100000|25562\n柑桔|0x100000|836\n柑橘|0x100000|22929\n柑园|0x0040|1238\n柑子|0x100000|40783\n竿子|0x100000|29315\n疳疮|0x0080|1404\n疳积|0x100000|1108\n酐化|0x0080|0\n尴尬|0x40000000|5002\n秆儿|0x0000|43173\n秆子|0x100000|43878\n赶奔|0x1000|1\n赶场|0x1000|25756\n赶超|0x1000|17712\n赶车|0x1000|25408\n赶出|0x0000|617\n赶到|0x1000|2769\n赶点|0x1000|4\n赶赴|0x1000|10489\n赶赶|0x1000|877\n赶工|0x1000|41453\n赶海|0x1000|47668\n赶回|0x1000|626\n赶会|0x0000|47991\n赶集|0x1000|16815\n赶脚|0x1000|44124\n赶紧|0x8000000|3689\n赶考|0x1000|26122\n赶快|0x8000000|3752\n赶来|0x1000|624\n赶路|0x1000|15627\n赶忙|0x8000000|8181\n赶跑|0x1000|858\n赶前|0x0000|54781\n赶巧|0x8000000|42431\n赶上|0x1000|5212\n赶趟|0x1000|1048\n赶往|0x1000|690\n赶写|0x0000|33108\n赶早|0x8000000|33757\n赶制|0x1000|27278\n赶着|0x1000|688\n赶走|0x1000|13503\n赶嘴|0x1000|0\n敢保|0x1000|39282\n敢当|0x0000|15735\n敢干|0x0000|26884\n敢情|0x8000000|786\n敢是|0x0000|40351\n敢问|0x0000|30268\n敢想|0x0000|19583\n敢于|0x8000000|4142\n敢做|0x0000|551\n感触|0x100000|10890\n感戴|0x1000|48338\n感到|0x1000|310\n感电|0x0008|0\n感动|0x1000|1963\n感恩|0x1000|21707\n感发|0x1000|0\n感奋|0x1000|28619\n感愤|0x1000|50172\n感官|0x100000|17173\n感光|0x1000|27525\n感化|0x1000|16297\n感怀|0x1000|30269\n感激|0x40000000|4190\n感觉|0x100000|685\n感慨|0x40000000|4451\n感抗|0x100000|1209\n感喟|0x1000|1010\n感愧|0x40000000|50955\n感冒|0x1000|8022\n感念|0x0000|25251\n感佩|0x1000|33109\n感情|0x100000|798\n感染|0x1000|2823\n感人|0x40000000|6517\n感伤|0x40000000|15717\n感生|0x20000000|0\n感受|0x1000|1402\n感叹|0x1000|6715\n感悟|0x1000|9837\n感想|0x100000|10166\n感谢|0x1000|1603\n感性|0x100000|11969\n感言|0x100000|22491\n感应|0x100000|11740\n感遇|0x1000|1095\n感召|0x1000|16396\n感知|0x1000|11398\n橄榄|0x100000|21952\n擀毡|0x100000|1358\n矸石|0x100000|30701\n绀青|0x100000|0\n赣江|0x0040|1477\n赣剧|0x100000|45560\n赣县|0x0040|990\n赣榆|0x0080|1400\n赣州|0x0040|1090\n冈陵|0x100000|1338\n冈峦|0x100000|1155\n冈山|0x0080|1446\n刚愎|0x40000000|1043\n刚才|0x8000000|2506\n刚察|0x0040|1086\n刚度|0x100000|892\n刚刚|0x8000000|1019\n刚果|0x0040|1330\n刚好|0x8000000|11939\n刚架|0x0008|0\n刚健|0x40000000|28177\n刚劲|0x40000000|31738\n刚晶|0x0080|0\n刚烈|0x40000000|31154\n刚毛|0x100000|1022\n刚强|0x40000000|21026\n刚巧|0x8000000|26123\n刚石|0x0080|1236\n刚体|0x100000|1055\n刚性|0x100000|16689\n刚要|0x0000|618\n刚毅|0x40000000|18425\n刚硬|0x40000000|928\n刚勇|0x0080|52231\n刚玉|0x100000|55227\n刚正|0x40000000|40352\n刚直|0x40000000|35203\n岗巴|0x0080|1135\n岗地|0x100000|55228\n岗警|0x100000|51807\n岗卡|0x100000|1541\n岗楼|0x100000|32119\n岗梅|0x100000|1306\n岗前|0x8000|888\n岗哨|0x100000|30599\n岗松|0x100000|1216\n岗亭|0x100000|29316\n岗位|0x100000|2033\n岗子|0x100000|38673\n纲常|0x100000|999\n纲纪|0x100000|34174\n纲领|0x100000|4289\n纲目|0x100000|38672\n纲要|0x100000|3687\n肛肠|0x100000|841\n肛道|0x0080|1136\n肛瘘|0x100000|653\n肛门|0x100000|27928\n缸盖|0x0000|47670\n缸管|0x100000|1540\n缸盆|0x100000|1351\n缸体|0x100000|912\n缸瓦|0x100000|53237\n缸砖|0x100000|1338\n缸子|0x100000|29014\n钢板|0x100000|16277\n钢包|0x100000|941\n钢笔|0x100000|13921\n钢鞭|0x0000|46178\n钢材|0x100000|8132\n钢叉|0x100000|42907\n钢厂|0x100000|716\n钢城|0x0040|919\n钢尺|0x100000|1132\n钢窗|0x100000|48712\n钢刀|0x100000|31739\n钢钉|0x0008|1526\n钢锭|0x100000|51806\n钢都|0x0040|1041\n钢箍|0x100000|1256\n钢骨|0x20000000|1060\n钢管|0x100000|22269\n钢轨|0x100000|26190\n钢号|0x0008|1052\n钢花|0x100000|50956\n钢架|0x100000|898\n钢筋|0x100000|12465\n钢精|0x100000|1048\n钢锯|0x100000|53735\n钢筘|0x0080|0\n钢盔|0x100000|30702\n钢缆|0x100000|42432\n钢梁|0x100000|1000\n钢粱|0x0000|39915\n钢领|0x100000|1181\n钢轮|0x0080|399\n钢坯|0x100000|35813\n钢皮|0x0080|0\n钢片|0x0000|444\n钢瓶|0x100000|49792\n钢钎|0x100000|35204\n钢枪|0x100000|42190\n钢锹|0x0008|1060\n钢琴|0x100000|6667\n钢圈|0x0008|48340\n钢砂|0x100000|1011\n钢水|0x100000|37882\n钢丝|0x100000|22100\n钢索|0x100000|41934\n钢套|0x0080|3\n钢条|0x100000|42191\n钢铁|0x100000|3653\n钢印|0x100000|47055\n钢硬|0x40000000|1151\n钢凿|0x0008|1273\n钢渣|0x100000|49091\n钢栅|0x100000|0\n钢针|0x100000|33112\n钢制|0x20000000|795\n钢种|0x0008|1054\n钢珠|0x100000|50957\n钢钻|0x0000|53736\n罡风|0x100000|994\n港澳|0x0040|6307\n港币|0x100000|13912\n港汊|0x100000|50958\n港岛|0x0040|1429\n港督|0x100000|1030\n港府|0x100000|36994\n港货|0x0000|36636\n港姐|0x0008|528\n港警|0x100000|0\n港剧|0x0008|1430\n港客|0x100000|1130\n港口|0x100000|4477\n港区|0x100000|732\n港人|0x100000|15225\n港商|0x100000|21847\n港市|0x0008|1435\n港台|0x0040|15874\n港湾|0x100000|17374\n港务|0x100000|39506\n港星|0x100000|898\n港元|0x100000|14901\n港资|0x100000|38091\n杠夫|0x0000|38674\n杠杆|0x100000|10209\n杠杠|0x100000|34622\n杠铃|0x100000|34474\n杠头|0x100000|46741\n杠子|0x100000|24119\n戆直|0x40000000|1214\n皋兰|0x0080|1539\n羔皮|0x0000|42433\n羔羊|0x100000|20048\n羔子|0x100000|35205\n高矮|0x100000|31843\n高安|0x0040|1390\n高昂|0x1000|12161\n高傲|0x40000000|17743\n高倍|0x0000|37697\n高才|0x40000000|929\n高参|0x0000|43652\n高层|0x100000|4184\n高差|0x100000|954\n高产|0x40000000|7166\n高唱|0x1000|761\n高超|0x40000000|10968\n高潮|0x100000|3555\n高程|0x100000|16922\n高处|0x8000|646\n高纯|0x40000000|55230\n高淳|0x0080|1387\n高达|0x1000|805\n高打|0x1000|1159\n高大|0x40000000|5128\n高档|0x40000000|7144\n高等|0x20000000|6176\n高低|0x100000|5473\n高地|0x100000|11162\n高点|0x100000|707\n高调|0x100000|33906\n高度|0x100000|1006\n高端|0x20000000|32885\n高额|0x40000000|11323\n高发|0x20000000|16340\n高法|0x100000|504\n高飞|0x0008|1170\n高分|0x0000|29201\n高峰|0x100000|4205\n高干|0x100000|23924\n高杆|0x100000|961\n高高|0x0100|561\n高歌|0x1000|18331\n高阁|0x0000|48341\n高个|0x20000000|852\n高根|0x100000|437\n高工|0x100000|839\n高估|0x1000|33113\n高官|0x100000|10566\n高贵|0x40000000|9508\n高过|0x0000|577\n高寒|0x1000|15166\n高喊|0x1000|724\n高呼|0x1000|704\n高胡|0x100000|53737\n高级|0x40000000|1576\n高价|0x100000|10210\n高见|0x100000|24120\n高教|0x0000|18362\n高洁|0x40000000|25332\n高就|0x1000|25190\n高举|0x1000|650\n高踞|0x0000|39507\n高峻|0x40000000|35814\n高看|0x0000|40785\n高亢|0x40000000|19425\n高考|0x1000|4834\n高空|0x100000|10245\n高栏|0x100000|46742\n高丽|0x0008|1195\n高利|0x20000000|870\n高梁|0x100000|11524\n高粱|0x100000|766\n高陵|0x0080|1003\n高龄|0x100000|9406\n高领|0x0000|41454\n高楼|0x100000|9602\n高炉|0x100000|16622\n高论|0x100000|31155\n高迈|0x0080|1173\n高帽|0x100000|912\n高密|0x0040|790\n高妙|0x40000000|36287\n高明|0x40000000|7858\n高难|0x0000|26332\n高能|0x20000000|17480\n高攀|0x1000|29202\n高炮|0x100000|938\n高频|0x20000000|22453\n高平|0x0040|1381\n高坡|0x100000|22101\n高腔|0x100000|44397\n高强|0x40000000|15316\n高墙|0x100000|792\n高跷|0x100000|31508\n高青|0x0080|997\n高擎|0x0000|33758\n高球|0x100000|851\n高热|0x100000|28015\n高人|0x100000|45561\n高僧|0x100000|20006\n高山|0x100000|6399\n高尚|0x40000000|4175\n高烧|0x1000|17443\n高射|0x20000000|1049\n高深|0x40000000|17713\n高升|0x1000|23112\n高声|0x1000|7668\n高师|0x0008|33634\n高士|0x0000|40131\n高手|0x100000|7824\n高寿|0x100000|36995\n高爽|0x0000|48713\n高耸|0x1000|14789\n高速|0x20000000|3790\n高台|0x0040|27042\n高抬|0x0000|29015\n高坛|0x0008|1128\n高汤|0x100000|501\n高唐|0x0040|1406\n高堂|0x0000|44126\n高挑|0x0000|27607\n高徒|0x100000|41242\n高危|0x20000000|18739\n高位|0x100000|14099\n高温|0x100000|5031\n高息|0x100000|988\n高下|0x100000|15951\n高县|0x0040|1016\n高限|0x0000|51808\n高翔|0x0080|1445\n高小|0x100000|29418\n高效|0x100000|3332\n高校|0x100000|2497\n高薪|0x100000|17416\n高兴|0x1000|587\n高雄|0x0040|1042\n高悬|0x1000|18501\n高压|0x100000|6882\n高崖|0x0000|47352\n高雅|0x40000000|9228\n高扬|0x0000|16341\n高阳|0x0080|1293\n高腰|0x0000|47353\n高要|0x0040|1381\n高邑|0x0040|979\n高音|0x100000|21351\n高邮|0x0040|1294\n高于|0x40000000|3378\n高原|0x100000|2834\n高远|0x0000|17589\n高云|0x0000|481\n高涨|0x1000|7797\n高招|0x100000|22930\n高照|0x1000|735\n高枕|0x1000|1036\n高枝|0x0000|53738\n高知|0x0040|50562\n高职|0x0000|18647\n高中|0x100000|3350\n高州|0x0040|1402\n高奏|0x1000|964\n高足|0x100000|39283\n高祖|0x100000|11423\n睾酮|0x0080|450\n睾丸|0x100000|33390\n膏肓|0x100000|36807\n膏剂|0x100000|53739\n膏粱|0x0000|52724\n膏血|0x100000|46744\n膏药|0x100000|21265\n膏腴|0x40000000|46745\n膏泽|0x100000|0\n膏状|0x100000|923\n膏子|0x100000|0\n篙头|0x100000|1542\n篙子|0x100000|29318\n糕饼|0x100000|36135\n糕点|0x100000|21425\n糕干|0x100000|0\n杲杲|0x0100|1109\n搞成|0x0000|551\n搞臭|0x1000|47992\n搞出|0x1000|577\n搞错|0x1000|643\n搞到|0x0000|614\n搞掂|0x0008|822\n搞定|0x1000|538\n搞法|0x100000|43174\n搞搞|0x1000|794\n搞怪|0x0008|589\n搞鬼|0x1000|46179\n搞好|0x1000|629\n搞坏|0x0000|476\n搞活|0x1000|9616\n搞垮|0x1000|888\n搞乱|0x1000|846\n搞清|0x1000|818\n搞头|0x100000|48342\n搞笑|0x40000000|30600\n搞糟|0x1000|386\n缟素|0x100000|1054\n槁木|0x100000|49094\n稿本|0x100000|36458\n稿酬|0x100000|25887\n稿费|0x100000|14117\n稿件|0x100000|9514\n稿源|0x0000|53740\n稿约|0x100000|1017\n稿纸|0x100000|17744\n稿子|0x100000|7400\n镐头|0x100000|39083\n藁本|0x100000|1199\n藁城|0x0040|985\n告白|0x100000|34780\n告便|0x1000|0\n告别|0x1000|3621\n告病|0x1000|40132\n告成|0x1000|20236\n告吹|0x1000|39916\n告辞|0x1000|8569\n告贷|0x1000|51809\n告倒|0x1000|46180\n告发|0x1000|22208\n告负|0x1000|26677\n告官|0x1000|978\n告急|0x1000|15390\n告假|0x1000|34175\n告捷|0x1000|17375\n告诫|0x1000|7816\n告借|0x1000|0\n告警|0x1000|37883\n告绝|0x1000|0\n告竣|0x1000|35979\n告劳|0x1000|0\n告老|0x1000|37169\n告密|0x1000|24636\n告破|0x1000|25191\n告罄|0x1000|36459\n告缺|0x0000|55231\n告饶|0x1000|41455\n告示|0x100000|14926\n告送|0x1000|1151\n告诉|0x1000|4645\n告退|0x1000|29631\n告慰|0x1000|23417\n告语|0x100000|1192\n告知|0x1000|7058\n告终|0x1000|15628\n告状|0x1000|12359\n告罪|0x1000|44398\n诰封|0x1000|1197\n诰命|0x100000|1061\n戈比|0x20000|1136\n戈壁|0x100000|10659\n戈矛|0x100000|1096\n戈瑞|0x100000|1319\n圪塔|0x0080|1107\n疙疤|0x100000|0\n疙瘩|0x100000|8852\n哥达|0x0080|1074\n哥儿|0x100000|1278\n哥哥|0x100000|2801\n哥里|0x0040|1186\n哥俩|0x100000|824\n哥们|0x100000|544\n胳臂|0x100000|16072\n胳膊|0x100000|4427\n胳肢|0x1000|46450\n袼褙|0x100000|45872\n鸽蛋|0x0000|435\n鸽笼|0x100000|1105\n鸽派|0x0008|1136\n鸽群|0x100000|1048\n鸽哨|0x100000|42688\n鸽子|0x100000|9938\n割爱|0x1000|38880\n割草|0x0080|1469\n割除|0x1000|45563\n割刀|0x100000|1074\n割地|0x1000|27608\n割掉|0x0000|494\n割断|0x1000|16322\n割胶|0x4000000|44127\n割进|0x0080|0\n割据|0x1000|18394\n割开|0x1000|863\n割离|0x1000|0\n割礼|0x100000|1043\n割裂|0x1000|17152\n割麦|0x1000|1099\n割破|0x0000|502\n割漆|0x1000|0\n割弃|0x1000|51380\n割切|0x1000|1237\n割去|0x0000|459\n割让|0x1000|27851\n割绒|0x100000|907\n割伤|0x1000|852\n割舍|0x1000|19953\n割席|0x1000|1189\n割线|0x100000|1145\n割治|0x0000|53238\n搁板|0x0008|1020\n搁笔|0x1000|34044\n搁放|0x0000|50563\n搁浅|0x1000|17866\n搁下|0x0000|508\n搁在|0x0000|581\n搁置|0x1000|13922\n歌本|0x100000|49432\n歌唱|0x1000|6151\n歌词|0x100000|10225\n歌带|0x0000|54254\n歌德|0x0080|1267\n歌儿|0x100000|830\n歌赋|0x100000|767\n歌喉|0x100000|22673\n歌会|0x100000|32751\n歌姬|0x100000|475\n歌集|0x0008|994\n歌妓|0x0080|447\n歌剧|0x100000|7446\n歌诀|0x100000|46746\n歌路|0x0080|1028\n歌迷|0x100000|31156\n歌名|0x100000|687\n歌女|0x100000|32886\n歌谱|0x100000|48715\n歌曲|0x100000|4335\n歌声|0x100000|4618\n歌手|0x100000|7475\n歌颂|0x1000|8426\n歌坛|0x100000|25252\n歌厅|0x100000|23367\n歌王|0x100000|843\n歌舞|0x100000|5850\n歌星|0x100000|13991\n歌行|0x100000|950\n歌宴|0x0080|1343\n歌谣|0x100000|14388\n歌艺|0x0080|937\n歌吟|0x1000|996\n歌咏|0x1000|17560\n歌友|0x100000|1152\n歌子|0x100000|35499\n阁道|0x0040|0\n阁僚|0x100000|51381\n阁楼|0x100000|18613\n阁下|0x100000|8167\n阁员|0x100000|32507\n阁子|0x100000|0\n革出|0x1000|1284\n革除|0x1000|18502\n革吉|0x0080|976\n革履|0x100000|26333\n革命|0x1000|246\n革囊|0x100000|1128\n革退|0x0008|0\n革新|0x1000|6941\n革职|0x1000|26334\n格调|0x100000|14022\n格斗|0x1000|24637\n格格|0x80000|1064\n格局|0x100000|2942\n格里|0x0080|1290\n格林|0x0008|1088\n格律|0x100000|23583\n格木|0x100000|0\n格杀|0x1000|973\n格式|0x100000|10898\n格外|0x8000000|2857\n格物|0x1000|972\n格言|0x100000|14439\n格栅|0x0008|784\n格纸|0x0000|48716\n格致|0x1000|1539\n格状|0x0008|1159\n格子|0x100000|16446\n葛布|0x100000|1146\n葛粉|0x100000|1022\n葛根|0x100000|1400\n葛藤|0x100000|46182\n蛤粉|0x100000|0\n蛤蚧|0x100000|49095\n蛤壳|0x100000|1205\n蛤蜊|0x100000|37884\n蛤蟆|0x100000|20767\n隔板|0x100000|41936\n隔壁|0x100000|7851\n隔别|0x1000|0\n隔舱|0x100000|1211\n隔层|0x0080|453\n隔断|0x1000|36996\n隔房|0x0000|46747\n隔阂|0x100000|16166\n隔间|0x100000|890\n隔距|0x100000|1238\n隔绝|0x1000|14823\n隔开|0x1000|20470\n隔栏|0x100000|1145\n隔离|0x1000|4459\n隔邻|0x2000000|1069\n隔膜|0x100000|16923\n隔墙|0x100000|849\n隔热|0x1000|23645\n隔日|0x4000|35206\n隔山|0x100000|853\n隔扇|0x100000|39508\n隔世|0x1000|28620\n隔宿|0x1000|0\n隔心|0x1000|54782\n隔行|0x1000|42193\n隔夜|0x1000|34475\n隔音|0x1000|30918\n隔栅|0x100000|1033\n隔周|0x0080|407\n嗝儿|0x0000|40133\n膈关|0x0080|0\n膈俞|0x0080|0\n个案|0x100000|11995\n个把|0x20000|22102\n个别|0x40000000|2431\n个唱|0x0008|596\n个儿|0x100000|13122\n个个|0x20000|6148\n个股|0x100000|616\n个旧|0x0080|1363\n个例|0x100000|18274\n个人|0x100000|331\n个数|0x100000|22403\n个体|0x100000|2274\n个头|0x100000|620\n个位|0x100000|49433\n个协|0x100000|1100\n个性|0x100000|3120\n个中|0x10000|5424\n个子|0x100000|10429\n各半|0x1000|43656\n各报|0x10000|1016\n各别|0x40000000|41696\n各部|0x10000|792\n各厂|0x10000|1001\n各处|0x10000|6654\n各次|0x10000|990\n各党|0x100000|1064\n各地|0x10000|1014\n各段|0x10000|995\n各队|0x10000|848\n各方|0x10000|3079\n各个|0x8000000|1279\n各国|0x10000|1202\n各户|0x10000|909\n各级|0x10000|556\n各家|0x10000|657\n各界|0x10000|2437\n各局|0x10000|0\n各科|0x1000000|733\n各矿|0x10000|4\n各类|0x10000|488\n各路|0x10000|679\n各门|0x10000|847\n各派|0x10000|812\n各区|0x10000|759\n各人|0x10000|680\n各色|0x8000000|679\n各省|0x10000|630\n各市|0x10000|786\n各式|0x10000|614\n各条|0x10000|843\n各团|0x10000|10\n各位|0x10000|5383\n各系|0x10000|862\n各县|0x10000|799\n各乡|0x10000|1011\n各项|0x10000|496\n各校|0x10000|816\n各行|0x10000|836\n各型|0x10000|839\n各样|0x10000|16371\n各业|0x10000|1011\n各异|0x1000|11163\n各章|0x10000|883\n各种|0x400000|295\n各自|0x10000|1526\n各族|0x10000|749\n各组|0x10000|866\n虼蚤|0x100000|1346\n铬钢|0x100000|1085\n铬黑|0x4000000|0\n铬黄|0x100000|1082\n给出|0x1000|562\n给定|0x1000|780\n给付|0x1000|812\n给你|0x0000|905\n给钱|0x1000|690\n给水|0x1000|34947\n给养|0x100000|24329\n给以|0x1000|13576\n给予|0x1000|1292\n给与|0x1000|553\n根本|0x100000|304\n根部|0x100000|776\n根插|0x1000|0\n根除|0x1000|15372\n根底|0x100000|22319\n根雕|0x100000|35053\n根根|0x20000|868\n根冠|0x100000|1315\n根号|0x100000|1008\n根河|0x0040|1026\n根环|0x0080|0\n根基|0x100000|10231\n根尖|0x0080|433\n根脚|0x100000|1211\n根茎|0x100000|33256\n根究|0x1000|42908\n根据|0x100000|486\n根绝|0x1000|45874\n根瘤|0x100000|43406\n根毛|0x100000|992\n根苗|0x100000|42435\n根式|0x100000|1054\n根系|0x100000|16846\n根须|0x100000|30168\n根芽|0x100000|52234\n根音|0x0080|0\n根由|0x100000|38675\n根源|0x100000|6111\n根植|0x1000|840\n根治|0x1000|13123\n根子|0x100000|15924\n跟班|0x100000|25563\n跟包|0x100000|0\n跟差|0x100000|0\n跟从|0x1000|47673\n跟斗|0x100000|27700\n跟风|0x1000|34305\n跟腱|0x100000|1036\n跟脚|0x1000|51383\n跟进|0x1000|17636\n跟前|0x4000|5584\n跟人|0x1000|597\n跟上|0x1000|649\n跟手|0x8000000|1076\n跟随|0x1000|7899\n跟贴|0x0008|994\n跟帖|0x0008|703\n跟头|0x100000|18363\n跟着|0x1000|1944\n跟踪|0x1000|4543\n亘古|0x100000|23795\n更差|0x0000|506\n更长|0x0000|613\n更次|0x100000|0\n更大|0x0000|819\n更迭|0x1000|16816\n更动|0x1000|46451\n更短|0x0000|510\n更多|0x100000|458\n更番|0x1000|0\n更夫|0x100000|1068\n更改|0x1000|13270\n更高|0x0000|771\n更鼓|0x100000|42691\n更好|0x8000000|493\n更坏|0x0000|491\n更换|0x1000|7048\n更加|0x8000000|483\n更妙|0x0000|468\n更名|0x1000|14790\n更年|0x1000|987\n更其|0x8000000|1042\n更少|0x0000|596\n更深|0x1000|607\n更甚|0x0000|569\n更生|0x1000|44676\n更始|0x1000|987\n更是|0x8000000|470\n更替|0x1000|17998\n更为|0x8000000|1903\n更新|0x1000|3272\n更要|0x0000|672\n更衣|0x1000|25757\n更易|0x0000|24230\n更远|0x0000|616\n更张|0x1000|29949\n更正|0x1000|20858\n更卒|0x100000|0\n庚辰|0x400000|975\n庚醇|0x100000|0\n庚基|0x0080|0\n庚醛|0x0008|0\n庚炔|0x100000|1504\n庚申|0x400000|971\n庚酸|0x4000000|0\n庚糖|0x100000|0\n庚帖|0x100000|1273\n庚酮|0x100000|0\n庚烷|0x4000000|0\n庚午|0x400000|1000\n庚烯|0x100000|0\n庚戌|0x400000|974\n庚寅|0x400000|1032\n庚子|0x400000|910\n耕地|0x100000|2756\n耕读|0x1000|968\n耕翻|0x1000|1249\n耕犁|0x0080|0\n耕牛|0x100000|21144\n耕田|0x1000|23646\n耕畜|0x100000|53741\n耕耘|0x1000|11259\n耕者|0x100000|418\n耕织|0x0000|50175\n耕种|0x1000|12495\n耕作|0x1000|10232\n羹匙|0x100000|50176\n羹汤|0x0000|426\n哽塞|0x1000|55233\n哽咽|0x1000|10674\n哽噎|0x0000|50177\n哽住|0x0000|421\n埂子|0x100000|1216\n耿耿|0x0100|35981\n耿介|0x40000000|47058\n耿直|0x40000000|32243\n梗概|0x100000|34623\n梗塞|0x1000|30383\n梗死|0x1000|35501\n梗直|0x40000000|987\n梗阻|0x1000|32508\n鲠直|0x40000000|0\n工本|0x100000|50565\n工笔|0x100000|28719\n工兵|0x100000|18461\n工部|0x100000|892\n工长|0x100000|41938\n工厂|0x100000|2014\n工场|0x100000|20275\n工潮|0x100000|43175\n工程|0x100000|742\n工尺|0x100000|51384\n工党|0x0020|944\n工地|0x100000|3394\n工读|0x100000|43657\n工段|0x100000|28459\n工房|0x100000|40561\n工分|0x100000|14614\n工蜂|0x100000|34936\n工夫|0x100000|4690\n工会|0x100000|2582\n工价|0x100000|48344\n工架|0x100000|1268\n工间|0x100000|1\n工件|0x100000|36288\n工匠|0x100000|15792\n工交|0x100000|27043\n工具|0x100000|1855\n工楷|0x100000|0\n工科|0x100000|27361\n工况|0x100000|859\n工矿|0x100000|22103\n工力|0x100000|54255\n工联|0x0008|1029\n工寮|0x0008|0\n工料|0x100000|49793\n工龄|0x100000|18687\n工贸|0x100000|22623\n工模|0x0008|1491\n工农|0x100000|10296\n工棚|0x100000|20859\n工期|0x100000|10819\n工钱|0x100000|9951\n工巧|0x40000000|46748\n工区|0x100000|26746\n工人|0x100000|616\n工日|0x100000|41937\n工伤|0x100000|8573\n工商|0x100000|2921\n工时|0x100000|21666\n工事|0x100000|19219\n工头|0x100000|18144\n工委|0x100000|714\n工稳|0x40000000|52235\n工务|0x100000|913\n工细|0x40000000|49096\n工效|0x100000|24885\n工薪|0x100000|28460\n工行|0x100000|674\n工休|0x100000|44677\n工序|0x100000|11070\n工学|0x100000|722\n工业|0x100000|879\n工蚁|0x100000|40562\n工艺|0x100000|2842\n工用|0x0008|1526\n工友|0x100000|13610\n工于|0x1000|40354\n工余|0x100000|34176\n工运|0x100000|51385\n工贼|0x100000|44678\n工整|0x40000000|25699\n工质|0x100000|1110\n工致|0x40000000|1185\n工种|0x100000|14824\n工专|0x0000|429\n工装|0x100000|759\n工资|0x100000|1149\n工作|0x100000|66\n弓背|0x0000|42437\n弓步|0x100000|1046\n弓杆|0x0080|0\n弓箭|0x100000|21667\n弓锯|0x0080|1305\n弓弩|0x100000|873\n弓起|0x0080|466\n弓身|0x100000|1016\n弓弦|0x100000|35502\n弓形|0x100000|37699\n弓腰|0x1000|42909\n弓子|0x100000|44971\n公安|0x100000|2199\n公案|0x100000|20860\n公办|0x1000|13068\n公报|0x100000|6351\n公比|0x100000|1197\n公秉|0x0008|0\n公布|0x1000|2055\n公厕|0x100000|13577\n公差|0x100000|28179\n公产|0x100000|47355\n公车|0x100000|14260\n公称|0x100000|943\n公尺|0x20000|17687\n公出|0x1000|49794\n公寸|0x100000|1406\n公担|0x100000|1296\n公道|0x100000|9714\n公德|0x100000|10192\n公敌|0x100000|30385\n公地|0x100000|1098\n公爹|0x100000|38464\n公断|0x1000|40563\n公吨|0x20000|925\n公鹅|0x0008|1237\n公法|0x100000|30270\n公方|0x0000|50178\n公房|0x100000|21616\n公费|0x100000|13948\n公分|0x20000|25622\n公愤|0x100000|33511\n公干|0x100000|38093\n公告|0x100000|4821\n公公|0x100000|8763\n公共|0x20000000|1601\n公股|0x100000|0\n公关|0x100000|13302\n公馆|0x100000|11036\n公国|0x100000|39917\n公海|0x100000|26609\n公害|0x100000|16817\n公函|0x100000|28017\n公侯|0x0000|37171\n公话|0x100000|883\n公会|0x100000|23925\n公鸡|0x100000|12945\n公祭|0x100000|33257\n公家|0x100000|10959\n公假|0x100000|36289\n公交|0x100000|6023\n公斤|0x20000|2021\n公举|0x100000|40355\n公决|0x1000|13787\n公爵|0x100000|24560\n公开|0x1000|1254\n公克|0x0008|1459\n公库|0x0008|1195\n公筷|0x0000|45275\n公款|0x100000|6877\n公厘|0x100000|1087\n公里|0x20000|1367\n公理|0x100000|10794\n公历|0x100000|36809\n公立|0x20000000|17016\n公例|0x100000|1236\n公粮|0x100000|21145\n公两|0x100000|2\n公了|0x1000|53743\n公路|0x100000|1328\n公驴|0x0008|1180\n公论|0x100000|23480\n公马|0x100000|42438\n公卖|0x0008|0\n公猫|0x100000|1542\n公民|0x100000|1729\n公亩|0x20000|55865\n公墓|0x100000|14451\n公牛|0x100000|24278\n公派|0x1000|39509\n公判|0x1000|39285\n公平|0x40000000|2371\n公婆|0x100000|18582\n公仆|0x100000|7370\n公汽|0x100000|893\n公钱|0x100000|0\n公卿|0x100000|912\n公顷|0x20000|4016\n公权|0x0008|1419\n公然|0x8000000|8060\n公人|0x100000|1112\n公认|0x1000|5287\n公伤|0x100000|49795\n公设|0x100000|40786\n公社|0x100000|4111\n公审|0x1000|37172\n公升|0x20000|39286\n公石|0x0008|1254\n公使|0x100000|12904\n公示|0x1000|6437\n公式|0x100000|8197\n公事|0x100000|13047\n公署|0x100000|21352\n公司|0x100000|196\n公私|0x100000|17658\n公诉|0x1000|11293\n公孙|0x0080|1256\n公堂|0x100000|28268\n公帑|0x100000|1110\n公推|0x1000|24886\n公网|0x100000|1344\n公文|0x100000|11688\n公务|0x100000|6959\n公物|0x100000|30386\n公心|0x100000|28720\n公休|0x100000|33258\n公畜|0x100000|1326\n公演|0x1000|15583\n公羊|0x0008|1430\n公冶|0x100000|441\n公议|0x1000|35503\n公益|0x100000|4592\n公意|0x100000|1088\n公营|0x1000|45276\n公映|0x1000|33759\n公用|0x20000000|9335\n公有|0x20000000|14791\n公余|0x0000|50568\n公寓|0x100000|6668\n公元|0x100000|5901\n公园|0x100000|2176\n公约|0x100000|4233\n公允|0x40000000|25410\n公债|0x100000|15914\n公章|0x100000|13992\n公正|0x40000000|2281\n公证|0x1000|7300\n公职|0x100000|12503\n公制|0x100000|52236\n公众|0x100000|2958\n公诸|0x0000|36290\n公猪|0x100000|39288\n公主|0x100000|4580\n公助|0x0000|33760\n公转|0x100000|27852\n公子|0x100000|7731\n功臣|0x100000|8712\n功德|0x100000|22209\n功底|0x100000|14657\n功法|0x100000|809\n功放|0x100000|737\n功夫|0x100000|4036\n功过|0x100000|25076\n功耗|0x100000|714\n功绩|0x100000|11748\n功架|0x100000|1115\n功课|0x100000|8314\n功劳|0x100000|10781\n功力|0x100000|14554\n功利|0x100000|14573\n功令|0x100000|0\n功率|0x100000|9292\n功名|0x100000|17590\n功能|0x100000|1357\n功效|0x100000|11766\n功勋|0x100000|10424\n功业|0x100000|23992\n功用|0x100000|20471\n功罪|0x100000|41245\n攻城|0x1000|644\n攻错|0x1000|0\n攻打|0x1000|13978\n攻读|0x1000|12509\n攻防|0x100000|18364\n攻关|0x1000|4877\n攻击|0x1000|2778\n攻坚|0x1000|6509\n攻歼|0x1000|1203\n攻讦|0x1000|996\n攻进|0x1000|891\n攻克|0x1000|8342\n攻擂|0x0000|47674\n攻略|0x100000|474\n攻破|0x1000|724\n攻取|0x1000|27929\n攻入|0x1000|756\n攻势|0x100000|10054\n攻守|0x100000|30703\n攻下|0x1000|789\n攻陷|0x1000|22778\n攻心|0x1000|34045\n攻占|0x1000|16372\n供案|0x100000|49796\n供称|0x1000|44400\n供词|0x100000|32620\n供电|0x1000|6195\n供奉|0x1000|12640\n供稿|0x1000|19185\n供给|0x1000|4298\n供果|0x100000|51386\n供货|0x1000|12807\n供料|0x1000|962\n供楼|0x0008|2\n供暖|0x1000|16623\n供品|0x100000|34046\n供气|0x1000|833\n供求|0x100000|6230\n供热|0x1000|10018\n供认|0x1000|28180\n供事|0x1000|0\n供述|0x1000|911\n供水|0x1000|5636\n供体|0x100000|1057\n供销|0x100000|9069\n供需|0x100000|9046\n供养|0x1000|11767\n供氧|0x1000|479\n供应|0x1000|2036\n供油|0x1000|909\n供职|0x1000|20861\n供状|0x100000|43881\n供桌|0x100000|31038\n肱股|0x100000|0\n肱骨|0x100000|51812\n宫灯|0x100000|26124\n宫殿|0x100000|11081\n宫调|0x100000|1107\n宫娥|0x100000|1019\n宫禁|0x100000|440\n宫颈|0x100000|48347\n宫门|0x100000|882\n宫内|0x8000|813\n宫女|0x100000|776\n宫墙|0x100000|34306\n宫阙|0x100000|32986\n宫扇|0x0080|55667\n宫室|0x100000|26192\n宫廷|0x100000|10305\n宫闱|0x100000|923\n宫刑|0x100000|47676\n宫阉|0x0000|29319\n宫掖|0x100000|1150\n宫苑|0x100000|44399\n宫中|0x8000|743\n恭贺|0x1000|33636\n恭候|0x1000|21110\n恭谨|0x40000000|40135\n恭敬|0x40000000|12496\n恭请|0x1000|38465\n恭顺|0x40000000|27930\n恭听|0x0000|31846\n恭桶|0x100000|1387\n恭维|0x1000|13069\n恭喜|0x1000|18113\n恭迎|0x1000|31157\n恭祝|0x1000|45278\n躬耕|0x1000|45279\n躬亲|0x1000|36810\n躬身|0x1000|16397\n躬行|0x1000|37700\n觥觥|0x0100|1403\n巩固|0x1000|1960\n巩留|0x0040|0\n巩膜|0x100000|47356\n巩义|0x0040|1181\n汞柱|0x100000|53241\n拱坝|0x0000|50962\n拱抱|0x1000|0\n拱璧|0x100000|0\n拱道|0x100000|1267\n拱顶|0x100000|45565\n拱火|0x1000|0\n拱廊|0x100000|1091\n拱门|0x100000|32752\n拱起|0x0000|457\n拱桥|0x100000|27108\n拱圈|0x100000|1221\n拱券|0x100000|1123\n拱手|0x1000|11195\n拱卫|0x1000|41007\n拱形|0x100000|32619\n拱猪|0x100000|969\n珙桐|0x0080|44128\n珙县|0x0040|1041\n共保|0x0008|1112\n共餐|0x1000|1002\n共产|0x20000000|606\n共处|0x1000|18145\n共创|0x1000|652\n共存|0x1000|10836\n共党|0x0008|1539\n共度|0x1000|21802\n共轭|0x0008|440\n共犯|0x100000|43660\n共赴|0x0000|36637\n共管|0x100000|30047\n共和|0x100000|10731\n共话|0x1000|33513\n共计|0x1000|6610\n共济|0x0000|31740\n共价|0x20000000|1125\n共建|0x1000|6564\n共居|0x1000|46750\n共聚|0x20000000|38676\n共勉|0x1000|34307\n共鸣|0x100000|9506\n共谋|0x1000|15777\n共栖|0x0008|0\n共荣|0x0000|25889\n共商|0x1000|13304\n共生|0x1000|18840\n共时|0x0000|54783\n共识|0x100000|3202\n共事|0x1000|14615\n共通|0x1000|24057\n共同|0x20000000|572\n共线|0x20000000|1034\n共相|0x0008|0\n共享|0x1000|4620\n共性|0x100000|12251\n共议|0x1000|3\n共用|0x1000|691\n共有|0x1000|2375\n共振|0x1000|25016\n共总|0x8000000|1262\n贡缎|0x100000|48718\n贡奉|0x1000|54784\n贡赋|0x0080|0\n贡嘎|0x0080|1336\n贡酒|0x100000|48719\n贡觉|0x0080|1119\n贡品|0x100000|32987\n贡生|0x100000|1064\n贡税|0x100000|1302\n贡物|0x0000|394\n贡献|0x100000|1076\n贡院|0x100000|979\n勾出|0x0000|487\n勾除|0x1000|1381\n勾搭|0x1000|26385\n勾当|0x100000|15089\n勾兑|0x1000|33514\n勾画|0x1000|15974\n勾绘|0x1000|55668\n勾魂|0x1000|40356\n勾践|0x1000000|1382\n勾结|0x1000|9633\n勾栏|0x100000|1047\n勾勒|0x1000|14713\n勾连|0x1000|47993\n勾脸|0x1000|55235\n勾留|0x1000|48720\n勾描|0x1000|0\n勾起|0x1000|625\n勾芡|0x1000|55920\n勾通|0x1000|32120\n勾线|0x100000|1085\n勾消|0x0080|407\n勾销|0x1000|47060\n勾引|0x1000|17153\n佝偻|0x0100|790\n沟槽|0x100000|934\n沟道|0x0040|1063\n沟谷|0x0000|32621\n沟灌|0x1000|1310\n沟壑|0x100000|17036\n沟坎|0x0000|43882\n沟女|0x0008|0\n沟堑|0x100000|1203\n沟渠|0x100000|23265\n沟鼠|0x100000|1418\n沟通|0x1000|3005\n沟子|0x100000|45566\n钩沉|0x100000|38265\n钩虫|0x0008|47994\n钩花|0x100000|982\n钩藤|0x0008|0\n钩玄|0x100000|1271\n钩针|0x100000|55866\n钩住|0x0000|458\n钩状|0x0000|376\n钩子|0x100000|25962\n篝火|0x100000|18146\n狗胆|0x0000|48721\n狗店|0x0040|0\n狗洞|0x100000|1057\n狗吠|0x100000|951\n狗官|0x100000|1006\n狗脊|0x0008|0\n狗命|0x0000|38466\n狗年|0x4000|705\n狗牌|0x0008|1031\n狗刨|0x0000|54785\n狗皮|0x100000|980\n狗屁|0x100000|20733\n狗肉|0x100000|747\n狗屎|0x0000|546\n狗头|0x100000|872\n狗窝|0x100000|756\n狗熊|0x100000|25334\n狗鱼|0x100000|44401\n苟安|0x1000|33516\n苟存|0x1000|0\n苟合|0x1000|47995\n苟活|0x1000|35815\n苟且|0x1000|29846\n苟全|0x1000|50963\n苟同|0x1000|33517\n苟延|0x1000|1062\n枸橘|0x100000|1273\n枸杞|0x100000|18395\n枸橼|0x100000|1007\n构成|0x1000|1418\n构词|0x1000|957\n构架|0x100000|22007\n构件|0x100000|17775\n构建|0x1000|3698\n构思|0x100000|9070\n构图|0x100000|15601\n构陷|0x1000|37354\n构想|0x1000|8495\n构象|0x0008|0\n构形|0x0008|0\n构型|0x0008|1024\n构造|0x1000|7172\n构筑|0x1000|5465\n诟病|0x1000|36291\n诟骂|0x1000|47679\n购并|0x1000|862\n购车|0x1000|640\n购得|0x1000|23369\n购房|0x1000|580\n购回|0x1000|945\n购货|0x1000|879\n购机|0x1000|722\n购进|0x1000|777\n购买|0x1000|2078\n购票|0x1000|575\n购入|0x1000|766\n购书|0x1000|616\n购物|0x1000|5374\n购销|0x100000|7420\n购置|0x1000|7494\n垢泥|0x100000|0\n垢污|0x100000|1226\n够本|0x1000|45875\n够多|0x0000|563\n够格|0x1000|28721\n够呛|0x1000|23796\n够受|0x0000|43883\n够数|0x1000|48722\n够用|0x1000|637\n媾合|0x1000|0\n媾和|0x1000|43884\n彀中|0x100000|0\n估测|0x1000|44402\n估产|0x1000|50569\n估计|0x1000|2484\n估价|0x1000|14537\n估量|0x1000|14274\n估摸|0x1000|25130\n估算|0x1000|11721\n估衣|0x100000|49800\n咕咚|0x80000|20943\n咕嘟|0x1000|55984\n咕咕|0x80000|761\n咕叽|0x0000|55669\n咕唧|0x1000|1144\n咕啉|0x0080|0\n咕隆|0x80000|49797\n咕噜|0x1000|50180\n咕哝|0x1000|24829\n姑表|0x100000|47063\n姑夫|0x100000|1007\n姑父|0x100000|21226\n姑姑|0x100000|11567\n姑舅|0x100000|53747\n姑妈|0x100000|13175\n姑母|0x100000|10286\n姑娘|0x100000|1208\n姑婆|0x100000|43177\n姑且|0x8000000|18171\n姑嫂|0x100000|36139\n姑苏|0x0040|1285\n姑息|0x1000|16167\n姑洗|0x100000|1211\n姑爷|0x100000|17528\n姑丈|0x100000|46183\n姑子|0x100000|41941\n孤傲|0x40000000|31286\n孤本|0x100000|37886\n孤残|0x100000|1011\n孤城|0x0000|25623\n孤单|0x40000000|15183\n孤胆|0x100000|43176\n孤岛|0x100000|17037\n孤灯|0x4000000|35816\n孤独|0x40000000|5131\n孤儿|0x100000|8093\n孤坟|0x100000|912\n孤愤|0x0000|49798\n孤峰|0x0000|50570\n孤高|0x40000000|42912\n孤寡|0x100000|15373\n孤拐|0x100000|0\n孤寒|0x40000000|1008\n孤魂|0x100000|849\n孤寂|0x40000000|14345\n孤军|0x100000|21426\n孤苦|0x40000000|27363\n孤老|0x100000|25758\n孤立|0x40000000|6894\n孤陋|0x40000000|1047\n孤女|0x100000|859\n孤癖|0x0080|0\n孤僻|0x40000000|25131\n孤弱|0x40000000|0\n孤身|0x100000|27528\n孤孀|0x100000|51388\n孤星|0x0080|565\n孤行|0x1000|938\n孤悬|0x0000|47062\n孤雁|0x0000|38677\n孤证|0x0000|54257\n孤子|0x100000|1085\n沽名|0x1000|1051\n沽清|0x0008|0\n沽源|0x0080|1504\n轱辘|0x100000|21708\n辜负|0x1000|8831\n箍儿|0x0000|52726\n箍桶|0x1000|1180\n古奥|0x40000000|50571\n古巴|0x0040|1157\n古柏|0x100000|926\n古板|0x40000000|29741\n古堡|0x100000|22536\n古本|0x100000|1009\n古城|0x100000|4913\n古船|0x100000|428\n古代|0x4000|2321\n古道|0x100000|696\n古德|0x100000|518\n古典|0x100000|5892\n古董|0x100000|15678\n古都|0x100000|14958\n古方|0x100000|948\n古风|0x100000|30501\n古怪|0x40000000|7895\n古国|0x100000|8788\n古画|0x100000|33518\n古话|0x100000|795\n古惑|0x0008|2\n古迹|0x100000|10363\n古籍|0x100000|11568\n古建|0x0000|27451\n古交|0x0040|973\n古今|0x100000|9449\n古晋|0x0080|1094\n古井|0x100000|786\n古旧|0x40000000|21753\n古柯|0x100000|999\n古来|0x8000000|40787\n古浪|0x0040|983\n古老|0x40000000|3146\n古蔺|0x0040|1036\n古庙|0x100000|888\n古墓|0x100000|19520\n古朴|0x40000000|14730\n古钱|0x100000|41009\n古琴|0x100000|27202\n古曲|0x100000|909\n古人|0x100000|5132\n古刹|0x100000|31742\n古尸|0x100000|1005\n古诗|0x100000|17714\n古时|0x4000|18559\n古书|0x100000|17072\n古藤|0x0000|46454\n古体|0x20000000|1032\n古田|0x0080|1336\n古铜|0x100000|880\n古玩|0x100000|17591\n古文|0x100000|16903\n古物|0x100000|24231\n古昔|0x4000|1116\n古稀|0x100000|24323\n古县|0x0040|989\n古训|0x100000|21578\n古雅|0x40000000|31159\n古谚|0x100000|47680\n古意|0x100000|895\n古音|0x100000|1007\n古语|0x100000|777\n古猿|0x100000|31160\n古远|0x40000000|50964\n古韵|0x100000|810\n古丈|0x0080|1009\n古镇|0x100000|15529\n古筝|0x100000|29103\n古装|0x100000|24764\n古拙|0x40000000|38678\n古字|0x0008|1046\n汩汩|0x80000|22210\n汩没|0x1000|0\n谷仓|0x100000|38679\n谷草|0x100000|43662\n谷城|0x0080|1419\n谷道|0x0040|1113\n谷底|0x100000|21709\n谷地|0x100000|14902\n谷堆|0x100000|1087\n谷坊|0x100000|1294\n谷糠|0x100000|50572\n谷壳|0x100000|1095\n谷口|0x8000|912\n谷类|0x100000|31161\n谷粒|0x100000|36461\n谷米|0x100000|1077\n谷苗|0x100000|1286\n谷神|0x100000|1027\n谷穗|0x100000|43178\n谷物|0x100000|18868\n谷象|0x0008|0\n谷芽|0x100000|1187\n谷雨|0x100000|35982\n谷子|0x100000|12335\n股本|0x100000|19426\n股长|0x100000|936\n股道|0x0008|953\n股东|0x100000|5716\n股匪|0x100000|0\n股分|0x100000|930\n股份|0x100000|4397\n股肱|0x100000|38266\n股股|0x100000|5\n股骨|0x100000|44403\n股价|0x100000|17529\n股金|0x100000|29104\n股利|0x100000|48723\n股民|0x100000|18818\n股票|0x100000|3740\n股评|0x100000|47998\n股权|0x100000|7472\n股市|0x100000|5177\n股息|0x100000|31624\n股癣|0x100000|1063\n股员|0x100000|0\n股指|0x100000|649\n股子|0x100000|15975\n牯牛|0x100000|46455\n骨癌|0x100000|954\n骨刺|0x100000|47681\n骨董|0x100000|0\n骨度|0x0008|0\n骨朵|0x100000|1013\n骨粉|0x0008|38468\n骨干|0x100000|3004\n骨感|0x0000|53749\n骨胳|0x0000|424\n骨骼|0x100000|14048\n骨鲠|0x100000|1189\n骨化|0x1000|1054\n骨灰|0x100000|14275\n骨架|0x100000|13578\n骨胶|0x100000|52239\n骨节|0x100000|28622\n骨科|0x100000|19394\n骨库|0x100000|1425\n骨痨|0x0008|0\n骨力|0x100000|1057\n骨料|0x100000|994\n骨碌|0x0000|28621\n骨膜|0x100000|53242\n骨牌|0x100000|29203\n骨盆|0x100000|40136\n骨气|0x100000|24561\n骨器|0x100000|1120\n骨肉|0x100000|11603\n骨髓|0x100000|10969\n骨炭|0x100000|1345\n骨头|0x100000|6671\n骨学|0x100000|1296\n骨血|0x100000|38881\n骨折|0x1000|13913\n骨针|0x0000|49799\n骨殖|0x100000|48724\n骨质|0x100000|23266\n骨子|0x100000|39919\n蛊惑|0x1000|23481\n鹄立|0x1000|0\n鹄望|0x1000|0\n榾柮|0x100000|0\n鼓板|0x100000|47357\n鼓包|0x0000|55236\n鼓吹|0x1000|8415\n鼓槌|0x100000|40137\n鼓词|0x0008|17921\n鼓荡|0x1000|999\n鼓捣|0x1000|31847\n鼓点|0x100000|27280\n鼓动|0x1000|11569\n鼓风|0x1000|772\n鼓鼓|0x0100|571\n鼓号|0x100000|1042\n鼓惑|0x1000|994\n鼓角|0x100000|33115\n鼓劲|0x1000|18332\n鼓乐|0x100000|22779\n鼓励|0x1000|1266\n鼓楼|0x100000|18988\n鼓面|0x100000|1137\n鼓膜|0x100000|42439\n鼓弄|0x1000|52240\n鼓皮|0x0000|379\n鼓起|0x0000|646\n鼓气|0x1000|46184\n鼓舌|0x1000|53751\n鼓声|0x100000|809\n鼓室|0x100000|1168\n鼓手|0x100000|31982\n鼓书|0x100000|24497\n鼓王|0x100000|0\n鼓舞|0x1000|3316\n鼓噪|0x1000|16988\n鼓掌|0x1000|8637\n鼓胀|0x100000|33116\n鼓足|0x1000|705\n鼓座|0x100000|0\n臌胀|0x100000|1236\n瞽者|0x100000|1198\n固安|0x0080|1536\n固醇|0x0080|1101\n固辞|0x1000|1075\n固氮|0x100000|1119\n固定|0x1000|2644\n固化|0x1000|25132\n固结|0x1000|1016\n固陋|0x40000000|0\n固然|0x8000000|4424\n固沙|0x1000|1064\n固始|0x0080|1427\n固守|0x1000|11253\n固态|0x100000|25077\n固体|0x100000|7013\n固位|0x0080|0\n固习|0x100000|1538\n固阳|0x0080|1030\n固有|0x20000000|8827\n固原|0x0040|1400\n固镇|0x0040|1517\n固执|0x40000000|9521\n固着|0x1000|1074\n故城|0x100000|32623\n故此|0x10000000|25017\n故道|0x100000|28917\n故地|0x100000|29204\n故典|0x100000|0\n故都|0x100000|34049\n故而|0x10000000|16886\n故宫|0x100000|9725\n故国|0x100000|25335\n故迹|0x100000|0\n故伎|0x100000|50183\n故技|0x0000|50183\n故交|0x100000|37888\n故旧|0x100000|31509\n故居|0x100000|8382\n故垒|0x100000|1043\n故里|0x100000|13446\n故去|0x1000|30919\n故人|0x100000|19922\n故世|0x1000|48349\n故事|0x100000|1297\n故态|0x100000|1110\n故土|0x100000|14136\n故我|0x1000|36140\n故乡|0x100000|3773\n故意|0x8000000|2536\n故友|0x100000|39511\n故园|0x100000|31983\n故宅|0x100000|1058\n故障|0x100000|7105\n故知|0x100000|38882\n故址|0x100000|45282\n故纸|0x100000|1091\n故智|0x100000|1169\n故主|0x100000|0\n故纵|0x0000|43886\n故作|0x1000|14118\n顾及|0x1000|10795\n顾忌|0x1000|15602\n顾家|0x40000000|33762\n顾客|0x100000|3274\n顾怜|0x1000|0\n顾恋|0x0000|54259\n顾虑|0x100000|8368\n顾命|0x20000000|1062\n顾念|0x1000|34177\n顾盼|0x1000|29847\n顾全|0x1000|23797\n顾问|0x100000|3451\n顾惜|0x1000|39290\n顾绣|0x0000|54260\n顾主|0x100000|44681\n雇车|0x1000|1115\n雇工|0x100000|23370\n雇农|0x100000|39292\n雇请|0x1000|35818\n雇人|0x1000|879\n雇凶|0x1000|956\n雇佣|0x1000|14174\n雇用|0x1000|14812\n雇员|0x100000|11361\n雇主|0x100000|13949\n痼疾|0x100000|21710\n痼癖|0x100000|1538\n痼习|0x100000|1541\n瓜代|0x100000|0\n瓜蒂|0x100000|1167\n瓜分|0x1000|18427\n瓜葛|0x100000|27529\n瓜果|0x100000|12778\n瓜架|0x0000|52727\n瓜蒌|0x0008|0\n瓜蔓|0x100000|52241\n瓜苗|0x100000|1\n瓜农|0x100000|25018\n瓜棚|0x100000|1074\n瓜皮|0x100000|31984\n瓜片|0x0000|47359\n瓜期|0x100000|0\n瓜瓤|0x100000|47682\n瓜仁|0x100000|1204\n瓜时|0x100000|0\n瓜藤|0x0000|50185\n瓜田|0x100000|1057\n瓜秧|0x0000|49801\n瓜籽|0x100000|1000\n瓜子|0x100000|682\n刮刀|0x100000|46752\n刮掉|0x0000|452\n刮风|0x1000|17659\n刮宫|0x1000|52729\n刮痕|0x100000|967\n刮脸|0x1000|32988\n刮起|0x0000|584\n刮去|0x0000|454\n刮痧|0x1000|40359\n刮削|0x1000|55238\n刮研|0x0008|0\n呱嗒|0x1000|51815\n呱呱|0x80000|22827\n呱唧|0x1000|50573\n寡淡|0x40000000|46753\n寡断|0x40000000|0\n寡恩|0x100000|0\n寡妇|0x100000|7371\n寡合|0x40000000|51816\n寡欢|0x1000|32989\n寡居|0x1000|40360\n寡陋|0x40000000|0\n寡母|0x0000|30920\n寡女|0x0008|869\n寡妻|0x100000|1217\n寡情|0x40000000|46185\n寡人|0x100000|29205\n寡肽|0x0008|0\n寡糖|0x0008|0\n寡头|0x100000|32509\n寡味|0x40000000|1\n寡闻|0x40000000|1038\n寡言|0x40000000|36294\n寡欲|0x1000|39089\n卦辞|0x100000|0\n卦爻|0x100000|1109\n挂碍|0x1000|48725\n挂包|0x100000|958\n挂表|0x100000|50187\n挂彩|0x1000|33393\n挂车|0x100000|38267\n挂齿|0x1000|40138\n挂出|0x1000|868\n挂锄|0x0000|54261\n挂单|0x1000|989\n挂挡|0x1000|1064\n挂到|0x1000|851\n挂灯|0x100000|1080\n挂斗|0x100000|54786\n挂断|0x1000|24562\n挂勾|0x0008|986\n挂钩|0x4000000|7330\n挂挂|0x1000|762\n挂冠|0x1000|40361\n挂果|0x1000|27452\n挂号|0x1000|16055\n挂红|0x0000|45283\n挂花|0x1000|47064\n挂怀|0x1000|51817\n挂火|0x1000|0\n挂机|0x1000|45877\n挂记|0x1000|48726\n挂甲|0x0000|54262\n挂架|0x0008|1005\n挂件|0x100000|50574\n挂靠|0x1000|18957\n挂篮|0x0008|1128\n挂累|0x1000|55670\n挂历|0x100000|24563\n挂镰|0x1000|0\n挂链|0x100000|915\n挂零|0x1000|49802\n挂漏|0x100000|1355\n挂虑|0x1000|48350\n挂面|0x100000|28918\n挂名|0x1000|29421\n挂念|0x40000000|20049\n挂拍|0x1000|1200\n挂牌|0x1000|6508\n挂屏|0x100000|55239\n挂起|0x0000|565\n挂牵|0x1000|46186\n挂欠|0x1000|0\n挂上|0x0000|628\n挂绳|0x0000|518\n挂失|0x1000|30388\n挂帅|0x1000|15104\n挂锁|0x100000|50188\n挂毯|0x100000|44973\n挂图|0x100000|27364\n挂孝|0x1000|1269\n挂鞋|0x1000|0\n挂心|0x1000|32244\n挂靴|0x1000|51818\n挂在|0x0000|720\n挂帐|0x1000|1076\n挂账|0x1000|39090\n挂职|0x1000|12696\n挂钟|0x100000|27853\n挂轴|0x100000|55240\n褂子|0x100000|16508\n乖舛|0x100000|1144\n乖乖|0x8000000|11217\n乖蹇|0x40000000|0\n乖觉|0x40000000|45284\n乖戾|0x40000000|41457\n乖谬|0x40000000|48351\n乖僻|0x40000000|48727\n乖巧|0x40000000|22726\n乖顺|0x40000000|1004\n乖违|0x1000|0\n乖异|0x40000000|0\n乖张|0x40000000|46187\n拐棒|0x100000|55921\n拐带|0x1000|47065\n拐点|0x100000|787\n拐棍|0x100000|968\n拐角|0x100000|26961\n拐卖|0x1000|14119\n拐骗|0x1000|23371\n拐入|0x0000|406\n拐弯|0x1000|18795\n拐杖|0x100000|13546\n拐肘|0x100000|0\n拐子|0x100000|25701\n拐走|0x1000|986\n怪病|0x0008|552\n怪才|0x100000|46456\n怪诞|0x40000000|26386\n怪道|0x8000000|36812\n怪调|0x0000|44406\n怪怪|0x0080|586\n怪话|0x100000|32245\n怪杰|0x100000|910\n怪谲|0x40000000|0\n怪客|0x0080|489\n怪论|0x100000|47684\n怪癖|0x100000|36999\n怪僻|0x40000000|39512\n怪气|0x100000|428\n怪圈|0x100000|17922\n怪人|0x100000|728\n怪声|0x100000|924\n怪石|0x100000|807\n怪事|0x100000|15184\n怪手|0x0008|454\n怪兽|0x0000|30704\n怪胎|0x100000|39293\n怪态|0x100000|1238\n怪味|0x100000|803\n怪物|0x100000|13547\n怪相|0x0000|44682\n怪象|0x100000|962\n怪笑|0x0000|35819\n怪样|0x100000|0\n怪异|0x100000|17688\n怪怨|0x1000|0\n怪罪|0x1000|26610\n关爱|0x1000|5990\n关隘|0x100000|37702\n关碍|0x1000|50575\n关闭|0x1000|3894\n关冲|0x0008|0\n关窗|0x1000|879\n关岛|0x0040|871\n关灯|0x1000|741\n关掉|0x1000|614\n关东|0x0000|16124\n关渡|0x0080|439\n关防|0x100000|39696\n关顾|0x0008|0\n关乎|0x1000|12568\n关怀|0x1000|3541\n关机|0x1000|29950\n关键|0x100000|1032\n关节|0x100000|9471\n关津|0x100000|1166\n关紧|0x40000000|913\n关进|0x0008|1235\n关卡|0x100000|21618\n关口|0x100000|11486\n关里|0x0000|23221\n关联|0x1000|7900\n关门|0x100000|9499\n关内|0x0040|21427\n关切|0x40000000|5723\n关塞|0x0000|54788\n关山|0x100000|22537\n关上|0x1000|580\n关涉|0x1000|37355\n关税|0x100000|4858\n关停|0x1000|509\n关头|0x100000|9229\n关外|0x0040|18989\n关系|0x100000|101\n关厢|0x100000|49097\n关饷|0x0000|53243\n关心|0x1000|806\n关押|0x1000|10842\n关于|0x40000|293\n关於|0x0080|693\n关元|0x0008|0\n关员|0x100000|1054\n关闸|0x100000|1083\n关张|0x1000|40139\n关照|0x1000|9913\n关中|0x0040|10699\n关住|0x0000|433\n关注|0x1000|1446\n关子|0x100000|40788\n观测|0x1000|4536\n观察|0x1000|1265\n观潮|0x1000|23418\n观点|0x100000|1352\n观风|0x1000|50967\n观感|0x100000|24165\n观光|0x1000|6774\n观火|0x1000|1\n观看|0x1000|3275\n观览|0x1000|40140\n观礼|0x1000|34478\n观摹|0x1000|0\n观摩|0x1000|11151\n观念|0x100000|803\n观棋|0x1000|1012\n观赛|0x1000|34624\n观赏|0x1000|7374\n观塘|0x0080|1520\n观望|0x1000|11265\n观星|0x1000|887\n观音|0x100000|13366\n观瞻|0x100000|30502\n观战|0x1000|20904\n观照|0x1000|857\n观阵|0x0000|55241\n观止|0x1000|25078\n观众|0x100000|1063\n官办|0x20000000|33261\n官报|0x100000|1185\n官兵|0x100000|2169\n官舱|0x100000|0\n官差|0x100000|47685\n官长|0x100000|938\n官场|0x100000|13765\n官称|0x0000|50578\n官倒|0x100000|47686\n官道|0x100000|844\n官邸|0x100000|13136\n官地|0x0040|1089\n官儿|0x100000|956\n官方|0x100000|5581\n官房|0x0008|1470\n官费|0x100000|1168\n官风|0x0000|55671\n官服|0x100000|917\n官府|0x100000|15482\n官股|0x100000|1139\n官话|0x100000|23222\n官宦|0x100000|32375\n官家|0x100000|903\n官价|0x100000|44974\n官阶|0x100000|31040\n官爵|0x100000|25624\n官军|0x100000|931\n官吏|0x100000|9417\n官僚|0x100000|8087\n官了|0x0000|27701\n官迷|0x100000|46458\n官名|0x100000|27365\n官能|0x100000|32753\n官派|0x100000|1151\n官气|0x100000|36638\n官腔|0x100000|36463\n官人|0x100000|858\n官纱|0x0080|1534\n官商|0x100000|31510\n官绅|0x100000|1092\n官事|0x100000|1112\n官署|0x100000|35983\n官司|0x100000|7287\n官田|0x0008|1496\n官厅|0x100000|977\n官位|0x100000|30048\n官衔|0x100000|24888\n官校|0x0008|4\n官衙|0x100000|1036\n官窑|0x100000|39513\n官瘾|0x100000|51390\n官印|0x100000|39092\n官营|0x100000|1067\n官员|0x100000|1845\n官运|0x100000|49437\n官职|0x100000|16011\n官制|0x100000|954\n冠词|0x0008|52730\n冠盖|0x100000|965\n冠接|0x0008|0\n冠军|0x100000|2083\n冠礼|0x0008|1080\n冠毛|0x0000|374\n冠冕|0x100000|889\n冠名|0x1000|14190\n冠县|0x0040|1504\n冠以|0x1000|20905\n冠玉|0x100000|1178\n冠状|0x0008|1342\n冠子|0x100000|49804\n棺材|0x100000|7395\n棺椁|0x100000|37530\n棺柩|0x0000|51820\n棺木|0x100000|16847\n鳏夫|0x100000|43409\n鳏居|0x1000|1159\n馆藏|0x1000|16182\n馆长|0x100000|6841\n馆邸|0x100000|1409\n馆名|0x100000|1110\n馆内|0x8000|822\n馆舍|0x100000|28827\n馆所|0x0000|37531\n馆陶|0x0080|1541\n馆员|0x100000|23482\n馆址|0x100000|1083\n馆子|0x100000|15468\n管胞|0x0008|0\n管保|0x1000|36295\n管壁|0x100000|978\n管材|0x100000|37532\n管程|0x0080|0\n管带|0x100000|1016\n管道|0x100000|4955\n管段|0x100000|43887\n管饭|0x0000|40141\n管工|0x100000|1\n管拱|0x0008|0\n管管|0x1000|831\n管护|0x1000|11586\n管家|0x100000|10233\n管见|0x0080|44684\n管脚|0x0000|461\n管教|0x1000|13234\n管界|0x100000|49805\n管井|0x100000|1163\n管壳|0x0008|1057\n管口|0x0000|449\n管窥|0x1000|45285\n管乐|0x100000|37890\n管理|0x1000|576\n管路|0x100000|811\n管片|0x100000|45569\n管区|0x100000|28828\n管纱|0x0080|0\n管事|0x100000|12790\n管束|0x1000|21061\n管网|0x100000|810\n管辖|0x1000|7051\n管弦|0x20000000|868\n管线|0x100000|14261\n管芯|0x0008|0\n管押|0x1000|54789\n管用|0x40000000|13979\n管账|0x0000|36296\n管制|0x100000|6539\n管仲|0x0080|1456\n管柱|0x100000|1091\n管状|0x0008|910\n管子|0x4000000|16201\n管自|0x8000000|1\n贯标|0x100000|1004\n贯彻|0x1000|1349\n贯穿|0x1000|4826\n贯串|0x1000|25079\n贯连|0x1000|0\n贯气|0x1000|0\n贯通|0x1000|9903\n贯众|0x0008|1144\n贯轴|0x0080|0\n贯注|0x1000|33262\n惯常|0x8000000|27609\n惯盗|0x100000|1272\n惯犯|0x100000|41942\n惯匪|0x100000|1217\n惯技|0x0080|1232\n惯家|0x100000|0\n惯例|0x100000|7207\n惯量|0x100000|1091\n惯骗|0x100000|0\n惯窃|0x100000|54265\n惯偷|0x100000|51821\n惯性|0x100000|12477\n惯养|0x0000|32625\n惯用|0x1000|21711\n惯于|0x1000|16448\n惯贼|0x100000|55242\n惯纵|0x1000|0\n盥漱|0x1000|1256\n盥洗|0x1000|35820\n灌肠|0x100000|45570\n灌丛|0x100000|1065\n灌顶|0x1000|38472\n灌溉|0x1000|4762\n灌灌|0x40000000|839\n灌浆|0x1000|24564\n灌进|0x0008|1392\n灌酒|0x0000|46754\n灌篮|0x0008|688\n灌流|0x0008|0\n灌录|0x1000|941\n灌木|0x100000|14440\n灌南|0x0080|1485\n灌区|0x100000|12921\n灌渠|0x100000|39093\n灌入|0x1000|852\n灌输|0x1000|14847\n灌水|0x0008|466\n灌洗|0x0000|51391\n灌阳|0x0080|1507\n灌音|0x1000|1538\n灌云|0x0080|1488\n灌制|0x1000|49098\n灌注|0x1000|22538\n灌装|0x20000000|40564\n灌醉|0x1000|777\n罐车|0x100000|37356\n罐罐|0x100000|3\n罐笼|0x100000|49806\n罐头|0x100000|12191\n罐装|0x20000000|37891\n罐子|0x100000|16373\n光斑|0x100000|34782\n光板|0x100000|898\n光笔|0x100000|1101\n光标|0x100000|47687\n光饼|0x100000|1152\n光波|0x100000|23926\n光彩|0x40000000|5491\n光程|0x100000|1203\n光赤|0x1000|0\n光宠|0x100000|1278\n光大|0x100000|20162\n光带|0x100000|951\n光电|0x100000|578\n光碟|0x100000|29742\n光腚|0x0000|47360\n光度|0x100000|907\n光复|0x1000|21754\n光杆|0x20000000|956\n光谷|0x100000|851\n光顾|0x1000|13008\n光光|0x0100|649\n光棍|0x100000|657\n光合|0x1000|1333\n光和|0x100000|10\n光华|0x100000|17114\n光滑|0x40000000|11051\n光化|0x1000|1004\n光环|0x100000|15831\n光辉|0x40000000|3641\n光火|0x40000000|40362\n光洁|0x40000000|704\n光解|0x1000|0\n光景|0x100000|8311\n光刻|0x100000|986\n光控|0x0000|50189\n光阑|0x100000|0\n光缆|0x100000|12750\n光亮|0x100000|9243\n光疗|0x1000|1073\n光临|0x1000|14999\n光溜|0x40000000|50190\n光轮|0x0008|984\n光芒|0x100000|7016\n光面|0x100000|46460\n光敏|0x20000000|882\n光明|0x100000|3190\n光能|0x100000|28624\n光年|0x20000|23267\n光盘|0x100000|7481\n光谱|0x100000|13208\n光气|0x0008|1057\n光驱|0x100000|33117\n光圈|0x100000|31042\n光热|0x100000|954\n光荣|0x40000000|2413\n光润|0x40000000|37533\n光山|0x0040|1520\n光身|0x0000|39514\n光是|0x1000|480\n光束|0x100000|23693\n光速|0x100000|23483\n光头|0x100000|16032\n光秃|0x40000000|25080\n光雾|0x0000|50968\n光纤|0x100000|12212\n光鲜|0x40000000|33908\n光线|0x100000|6989\n光向|0x0008|1039\n光心|0x0080|1092\n光绪|0x0080|1197\n光学|0x100000|580\n光压|0x100000|1178\n光艳|0x40000000|51822\n光焰|0x100000|31289\n光洋|0x100000|1004\n光耀|0x100000|24430\n光阴|0x100000|13849\n光影|0x100000|658\n光源|0x100000|17609\n光晕|0x100000|1254\n光泽|0x100000|12224\n光栅|0x100000|763\n光照|0x1000|13124\n光州|0x0040|1533\n光轴|0x0008|1039\n光柱|0x100000|32990\n光子|0x100000|791\n咣当|0x80000|31743\n桄榔|0x100000|1167\n胱胺|0x0008|0\n广安|0x0040|1142\n广播|0x1000|2482\n广博|0x40000000|21669\n广布|0x1000|971\n广昌|0x0080|1437\n广场|0x100000|2493\n广大|0x40000000|958\n广岛|0x0080|1238\n广德|0x0008|1280\n广电|0x100000|604\n广东|0x0040|1474\n广度|0x100000|11466\n广发|0x0008|1181\n广泛|0x40000000|1199\n广丰|0x0080|1411\n广柑|0x100000|48000\n广告|0x100000|1187\n广汉|0x0040|1363\n广货|0x100000|50579\n广交|0x1000|15679\n广角|0x100000|687\n广空|0x0008|1172\n广阔|0x40000000|2750\n广灵|0x0080|1554\n广袤|0x40000000|15349\n广漠|0x40000000|34050\n广南|0x0080|1504\n广宁|0x0080|1328\n广平|0x0080|1419\n广谱|0x40000000|512\n广求|0x0000|50580\n广饶|0x0080|1464\n广水|0x0040|1475\n广为|0x1000|11996\n广西|0x0040|2619\n广厦|0x100000|19304\n广绣|0x100000|1227\n广义|0x100000|11352\n广域|0x20000000|797\n广元|0x0040|1202\n广远|0x40000000|1045\n广众|0x0020|1057\n广州|0x0040|1385\n广宗|0x0080|986\n犷悍|0x40000000|52245\n逛荡|0x1000|48354\n逛灯|0x1000|0\n逛逛|0x1000|568\n逛街|0x1000|23534\n逛游|0x1000|0\n归案|0x1000|17139\n归并|0x1000|27109\n归巢|0x0000|39515\n归程|0x100000|40363\n归除|0x1000|1499\n归档|0x1000|30389\n归队|0x1000|20197\n归附|0x1000|24324\n归根|0x1000|9547\n归公|0x1000|40565\n归功|0x1000|15036\n归国|0x1000|11353\n归航|0x1000|936\n归化|0x1000|40364\n归还|0x1000|9206\n归回|0x1000|48355\n归降|0x1000|30050\n归结|0x1000|10627\n归咎|0x1000|21428\n归口|0x1000|21953\n归来|0x1000|5816\n归类|0x1000|22624\n归拢|0x1000|44409\n归路|0x100000|25821\n归谬|0x1000|1257\n归纳|0x100000|8458\n归宁|0x1000|1000\n归期|0x100000|42697\n归齐|0x10000000|0\n归侨|0x100000|10720\n归去|0x1000|715\n归人|0x100000|801\n归仁|0x0080|1526\n归入|0x1000|788\n归山|0x1000|916\n归省|0x1000|1106\n归顺|0x1000|24371\n归宿|0x100000|9184\n归天|0x1000|30390\n归田|0x1000|51392\n归途|0x100000|22625\n归位|0x1000|36297\n归西|0x1000|45879\n归乡|0x1000|898\n归向|0x1000|48728\n归心|0x100000|32121\n归依|0x1000|41012\n归因|0x1000|863\n归隐|0x1000|38885\n归于|0x1000|14030\n归葬|0x1000|36298\n归真|0x100000|31162\n归整|0x1000|1089\n归政|0x0000|37534\n归置|0x1000|48356\n归舟|0x1000|1020\n归属|0x1000|10737\n归总|0x1000|52733\n归罪|0x1000|26193\n圭表|0x100000|1256\n圭角|0x100000|1291\n圭臬|0x100000|410\n龟板|0x0000|54791\n龟背|0x0000|49807\n龟甲|0x100000|45288\n龟鉴|0x100000|1221\n龟裂|0x100000|35075\n龟缩|0x1000|38682\n龟头|0x100000|47361\n规避|0x1000|13806\n规程|0x100000|10621\n规定|0x100000|574\n规范|0x1000|1453\n规费|0x100000|878\n规复|0x1000|0\n规格|0x100000|6951\n规划|0x1000|1419\n规谏|0x1000|43410\n规诫|0x1000|54266\n规矩|0x100000|4481\n规例|0x100000|1069\n规律|0x100000|1264\n规勉|0x1000|0\n规模|0x100000|1303\n规劝|0x1000|22105\n规约|0x100000|35506\n规则|0x100000|2216\n规章|0x100000|5594\n规整|0x40000000|41943\n规正|0x1000|2\n规制|0x0000|44975\n皈依|0x1000|26126\n闺范|0x100000|1344\n闺房|0x100000|31850\n闺阁|0x100000|46189\n闺门|0x100000|47066\n闺女|0x100000|8189\n闺秀|0x100000|28625\n硅肺|0x0008|1400\n硅钢|0x100000|954\n硅谷|0x0040|10811\n硅胶|0x100000|688\n硅片|0x100000|38683\n硅石|0x0008|981\n硅酸|0x0008|805\n硅酮|0x0008|976\n硅烷|0x0008|1512\n硅油|0x0008|1374\n硅藻|0x0008|48002\n硅砖|0x0008|1188\n瑰宝|0x100000|17776\n瑰丽|0x40000000|19134\n瑰奇|0x40000000|51823\n瑰玮|0x40000000|1260\n瑰异|0x40000000|0\n鲑鱼|0x100000|32246\n轨道|0x100000|2740\n轨度|0x100000|0\n轨范|0x100000|1172\n轨迹|0x100000|10403\n轨距|0x0008|1118\n轨辙|0x100000|1272\n轨枕|0x100000|53244\n诡辩|0x100000|31626\n诡称|0x1000|45571\n诡怪|0x40000000|1213\n诡计|0x100000|22053\n诡谲|0x40000000|30391\n诡秘|0x40000000|18990\n诡奇|0x40000000|53754\n诡异|0x40000000|34479\n诡诈|0x40000000|37535\n癸丑|0x4000|998\n癸亥|0x400000|1002\n癸卯|0x400000|965\n癸醛|0x0008|0\n癸炔|0x0008|0\n癸巳|0x400000|1016\n癸酸|0x0008|0\n癸烷|0x0008|0\n癸未|0x400000|966\n癸酉|0x400000|1009\n鬼才|0x0000|37536\n鬼怪|0x100000|28181\n鬼鬼|0x0008|0\n鬼话|0x100000|22211\n鬼魂|0x100000|19625\n鬼混|0x1000|22780\n鬼火|0x100000|32626\n鬼计|0x100000|1053\n鬼脸|0x100000|17377\n鬼魅|0x100000|36299\n鬼魔|0x100000|1092\n鬼神|0x100000|14616\n鬼祟|0x100000|42914\n鬼胎|0x100000|32511\n鬼屋|0x100000|797\n鬼蜮|0x100000|42698\n鬼子|0x100000|6899\n柜橱|0x100000|48358\n柜房|0x100000|46758\n柜机|0x100000|953\n柜门|0x100000|938\n柜面|0x100000|992\n柜内|0x8000|1001\n柜上|0x100000|43888\n柜台|0x100000|6858\n柜子|0x100000|15227\n贵报|0x10000|1094\n贵宾|0x100000|11532\n贵处|0x10000|1061\n贵德|0x0080|1531\n贵定|0x0080|1002\n贵方|0x10000|892\n贵妃|0x100000|740\n贵妇|0x100000|37892\n贵干|0x800000|46461\n贵港|0x0040|1250\n贵庚|0x800000|51393\n贵国|0x10000|920\n贵会|0x10000|1102\n贵贱|0x100000|20996\n贵刊|0x10000|1134\n贵客|0x100000|21954\n贵南|0x0080|1109\n贵戚|0x100000|1064\n贵人|0x100000|16033\n贵省|0x10000|1273\n贵体|0x10000|49440\n贵溪|0x0040|1458\n贵姓|0x800000|23694\n贵阳|0x0040|6238\n贵恙|0x100000|53756\n贵重|0x40000000|12141\n贵州|0x0040|3771\n贵胄|0x100000|972\n贵子|0x100000|812\n贵族|0x100000|6439\n桂东|0x0080|1499\n桂冠|0x100000|10772\n桂花|0x4000000|10518\n桂剧|0x100000|54267\n桂林|0x0040|877\n桂皮|0x100000|50970\n桂平|0x0040|1315\n桂树|0x100000|880\n桂阳|0x0080|912\n桂鱼|0x100000|957\n桂圆|0x100000|35507\n桂枝|0x100000|914\n桂竹|0x0080|1171\n跪拜|0x1000|24830\n跪倒|0x1000|779\n跪叩|0x1000|1247\n跪射|0x0008|1231\n跪下|0x1000|675\n跪着|0x0000|547\n跪姿|0x0008|2\n鳜鱼|0x100000|33519\n衮衮|0x0100|1180\n辊轴|0x0008|1205\n辊子|0x100000|1143\n滚边|0x100000|44976\n滚出|0x0000|548\n滚存|0x1000|1088\n滚蛋|0x1000|24696\n滚道|0x0008|0\n滚动|0x1000|9149\n滚翻|0x100000|46759\n滚沸|0x0000|49099\n滚滚|0x0100|7654\n滚开|0x1000|27044\n滚雷|0x1000|50582\n滚轮|0x100000|32247\n滚落|0x1000|21027\n滚木|0x100000|43411\n滚热|0x0100|33119\n滚水|0x100000|41944\n滚烫|0x1000|16262\n滚梯|0x0000|49441\n滚筒|0x100000|36641\n滚涂|0x0008|0\n滚圆|0x40000000|30804\n滚轴|0x0000|51394\n滚珠|0x100000|46190\n滚子|0x100000|859\n磙子|0x100000|41945\n棍棒|0x100000|23316\n棍道|0x0040|0\n棍子|0x100000|12067\n郭象|0x0008|0\n聒耳|0x40000000|53245\n聒噪|0x1000|34311\n锅巴|0x100000|29206\n锅饼|0x100000|52734\n锅铲|0x0000|37174\n锅底|0x100000|27205\n锅盖|0x100000|24431\n锅垢|0x0008|0\n锅匠|0x100000|1121\n锅炉|0x100000|8890\n锅台|0x100000|25964\n锅贴|0x100000|883\n锅灶|0x100000|29017\n锅庄|0x0040|0\n锅子|0x100000|27610\n蝈蝈|0x0080|832\n国办|0x0020|918\n国宝|0x100000|11689\n国本|0x100000|34312\n国币|0x0080|0\n国标|0x100000|30921\n国别|0x100000|19878\n国宾|0x100000|32991\n国柄|0x100000|0\n国策|0x100000|10348\n国产|0x20000000|4638\n国耻|0x100000|23268\n国仇|0x100000|45572\n国粹|0x100000|19553\n国道|0x100000|7835\n国典|0x100000|1070\n国定|0x20000000|1392\n国都|0x100000|20198\n国度|0x100000|13745\n国法|0x100000|19081\n国防|0x100000|2425\n国风|0x0008|727\n国父|0x100000|31627\n国歌|0x100000|11052\n国格|0x100000|37703\n国共|0x0020|805\n国故|0x100000|40791\n国光|0x0008|1219\n国航|0x0020|773\n国号|0x100000|22404\n国花|0x100000|41249\n国华|0x0080|1174\n国画|0x100000|13075\n国槐|0x100000|946\n国徽|0x100000|19305\n国会|0x100000|3986\n国魂|0x100000|29849\n国货|0x100000|22492\n国籍|0x100000|12870\n国计|0x100000|8\n国际|0x100000|586\n国家|0x100000|114\n国交|0x100000|1058\n国脚|0x100000|26526\n国教|0x100000|32992\n国界|0x100000|12892\n国境|0x100000|20050\n国舅|0x100000|997\n国剧|0x100000|1075\n国军|0x100000|791\n国君|0x100000|25336\n国库|0x100000|11642\n国乐|0x100000|38886\n国力|0x100000|12236\n国立|0x20000000|12438\n国联|0x100000|833\n国骂|0x800000|923\n国脉|0x0008|42442\n国贸|0x100000|32627\n国门|0x100000|9608\n国民|0x100000|2097\n国名|0x100000|862\n国内|0x8000|789\n国难|0x100000|20944\n国鸟|0x100000|1062\n国戚|0x100000|34313\n国旗|0x100000|5847\n国企|0x100000|5402\n国情|0x100000|3249\n国庆|0x100000|5875\n国球|0x100000|952\n国权|0x100000|922\n国人|0x100000|5281\n国丧|0x100000|49442\n国色|0x100000|49100\n国殇|0x100000|993\n国师|0x100000|905\n国史|0x100000|24122\n国士|0x100000|1003\n国事|0x100000|11387\n国势|0x100000|28829\n国是|0x0000|23798\n国手|0x100000|17689\n国书|0x100000|23066\n国术|0x100000|976\n国树|0x100000|1076\n国税|0x100000|10138\n国泰|0x0008|1090\n国帑|0x100000|0\n国体|0x100000|20439\n国土|0x100000|3496\n国外|0x8000|1487\n国王|0x100000|3826\n国威|0x100000|27281\n国文|0x100000|17530\n国务|0x100000|9212\n国玺|0x0080|1103\n国小|0x0008|1126\n国信|0x0008|1200\n国学|0x100000|16946\n国宴|0x100000|35057\n国药|0x100000|42699\n国医|0x100000|45880\n国音|0x100000|1121\n国营|0x20000000|7360\n国优|0x20000000|42700\n国有|0x20000000|1723\n国语|0x100000|17894\n国运|0x100000|21194\n国葬|0x100000|43180\n国贼|0x100000|37537\n国宅|0x0008|1105\n国债|0x100000|4504\n国政|0x0080|1362\n果报|0x100000|915\n果柄|0x100000|0\n果菜|0x100000|827\n果茶|0x0000|39516\n果碟|0x0080|0\n果冻|0x100000|33763\n果断|0x40000000|5866\n果儿|0x100000|0\n果饵|0x100000|1368\n果脯|0x100000|43412\n果腹|0x1000|40368\n果干|0x0080|1087\n果敢|0x40000000|21670\n果核|0x100000|47067\n果盒|0x0000|51395\n果酱|0x100000|35660\n果胶|0x100000|55246\n果酒|0x100000|43889\n果决|0x40000000|33764\n果壳|0x100000|897\n果料|0x100000|55247\n果林|0x100000|476\n果岭|0x0080|0\n果木|0x100000|28920\n果农|0x100000|13950\n果盘|0x100000|39094\n果皮|0x100000|24765\n果品|0x100000|12860\n果然|0x8000000|2718\n果仁|0x100000|47688\n果肉|0x100000|37000\n果实|0x100000|7838\n果树|0x100000|7412\n果酸|0x0008|50583\n果穗|0x100000|1117\n果糖|0x100000|48003\n果味|0x20000000|856\n果乡|0x100000|0\n果心|0x0080|1175\n果蝇|0x0008|28830\n果园|0x100000|8941\n果真|0x8000000|10410\n果汁|0x100000|21305\n果枝|0x100000|47068\n果子|0x100000|11731\n蜾蠃|0x100000|1344\n裹脚|0x100000|37001\n裹乱|0x1000|0\n裹腿|0x100000|45291\n裹胁|0x1000|41460\n裹挟|0x1000|27531\n裹扎|0x1000|1292\n裹住|0x0000|530\n裹足|0x1000|1092\n过半|0x1000|13968\n过磅|0x1000|43181\n过饱|0x0000|452\n过长|0x1000|702\n过场|0x100000|28831\n过程|0x100000|470\n过秤|0x1000|37704\n过从|0x1000|24500\n过错|0x100000|8459\n过大|0x0000|12439\n过当|0x1000|23993\n过道|0x100000|16710\n过电|0x1000|55248\n过冬|0x1000|16098\n过度|0x1000|5312\n过渡|0x1000|3581\n过多|0x1000|5750\n过房|0x1000|0\n过访|0x1000|0\n过费|0x100000|2\n过分|0x40000000|4599\n过份|0x40000000|599\n过付|0x1000|0\n过高|0x0000|694\n过关|0x1000|11676\n过惯|0x0000|37358\n过过|0x0000|545\n过河|0x1000|716\n过后|0x8000000|5575\n过户|0x1000|25822\n过话|0x1000|44685\n过活|0x1000|20199\n过火|0x40000000|18892\n过激|0x1000|19665\n过继|0x1000|31985\n过奖|0x1000|30601\n过节|0x1000|10201\n过劲|0x1000|471\n过境|0x1000|13329\n过客|0x100000|26611\n过快|0x0000|12973\n过来|0x1000|1062\n过冷|0x100000|39698\n过礼|0x1000|38474\n过梁|0x100000|1067\n过量|0x1000|13668\n过录|0x0000|55868\n过滤|0x1000|13076\n过路|0x1000|18462\n过虑|0x1000|31290\n过慢|0x0000|51826\n过门|0x1000|18292\n过猛|0x0000|26252\n过敏|0x1000|17154\n过目|0x1000|22320\n过年|0x1000|4411\n过期|0x1000|15508\n过谦|0x1000|52247\n过桥|0x0040|1230\n过去|0x4000|894\n过热|0x1000|13669\n过人|0x1000|13766\n过筛|0x1000|52248\n过上|0x1000|645\n过甚|0x1000|28832\n过剩|0x1000|8336\n过失|0x100000|10917\n过时|0x1000|9672\n过世|0x1000|22932\n过手|0x1000|40567\n过熟|0x1000|0\n过数|0x1000|835\n过速|0x0000|42916\n过堂|0x1000|38475\n过厅|0x100000|45292\n过头|0x1000|13305\n过往|0x1000|11178\n过望|0x1000|33637\n过问|0x1000|9307\n过午|0x4000|35823\n过膝|0x0000|444\n过细|0x40000000|25625\n过夏|0x1000|0\n过心|0x1000|1\n过眼|0x1000|24325\n过氧|0x20000000|1018\n过夜|0x1000|13353\n过瘾|0x40000000|15875\n过硬|0x40000000|7667\n过于|0x1000|3995\n过誉|0x1000|43182\n过载|0x1000|45573\n过早|0x8000000|648\n过帐|0x0000|398\n过账|0x1000|48359\n过招|0x1000|752\n过重|0x1000|11294\n过着|0x0000|674\n哈达|0x100000|17174\n哈代|0x0080|1012\n哈迪|0x0080|1049\n哈佛|0x0040|946\n哈哈|0x100000|5664\n哈喇|0x100000|46463\n哈雷|0x0040|1259\n哈利|0x0080|1072\n哈罗|0x0008|1322\n哈密|0x0040|1246\n哈气|0x100000|45293\n哈欠|0x100000|18819\n哈日|0x0008|492\n哈市|0x0008|797\n哈维|0x0080|1334\n哈腰|0x1000|40142\n嗨呀|0x0000|48360\n嗨哟|0x80000|47069\n孩儿|0x100000|715\n孩提|0x100000|29018\n孩童|0x100000|21146\n孩子|0x100000|152\n骸骨|0x100000|33765\n海安|0x0080|1290\n海岸|0x100000|6451\n海拔|0x100000|4991\n海报|0x100000|22106\n海豹|0x100000|19733\n海贝|0x100000|859\n海边|0x8000|9293\n海滨|0x100000|8496\n海波|0x100000|767\n海菜|0x100000|49101\n海参|0x100000|22781\n海草|0x100000|48361\n海产|0x100000|35058\n海潮|0x100000|22675\n海城|0x0040|1154\n海程|0x100000|55675\n海船|0x100000|31628\n海床|0x100000|1088\n海带|0x100000|19186\n海胆|0x100000|41013\n海岛|0x100000|10700\n海盗|0x100000|20008\n海道|0x0000|28182\n海德|0x0008|1170\n海堤|0x100000|27611\n海底|0x8000|7261\n海地|0x0040|1374\n海淀|0x0080|824\n海鲷|0x0080|0\n海钓|0x100000|52249\n海顿|0x0080|1435\n海尔|0x0008|966\n海法|0x0008|994\n海防|0x100000|18688\n海丰|0x0080|1285\n海风|0x100000|16183\n海峰|0x0080|1234\n海港|0x100000|15584\n海沟|0x100000|41461\n海狗|0x100000|959\n海怪|0x0080|460\n海关|0x100000|2637\n海归|0x0008|598\n海龟|0x100000|21062\n海涵|0x1000|44978\n海航|0x100000|801\n海河|0x0040|1349\n海魂|0x100000|1034\n海货|0x100000|46191\n海岬|0x100000|1467\n海疆|0x100000|30805\n海角|0x8000|30052\n海禁|0x100000|50191\n海景|0x100000|39095\n海鹫|0x0080|0\n海军|0x100000|3170\n海口|0x100000|6537\n海寇|0x100000|45574\n海况|0x100000|49102\n海葵|0x0080|32887\n海蓝|0x100000|50192\n海浪|0x100000|14078\n海狸|0x0080|53757\n海里|0x20000|11922\n海哩|0x0080|0\n海蛎|0x100000|1077\n海量|0x40000000|25253\n海林|0x0040|1317\n海岭|0x100000|1178\n海流|0x100000|21671\n海龙|0x0080|1104\n海隆|0x100000|1039\n海鲈|0x0080|0\n海陆|0x0080|857\n海路|0x100000|33766\n海伦|0x0040|1205\n海轮|0x100000|33767\n海螺|0x100000|32512\n海马|0x4000000|26449\n海鳗|0x0080|54270\n海锚|0x0080|1196\n海门|0x0040|1200\n海米|0x100000|52736\n海绵|0x100000|20310\n海棉|0x0008|1318\n海面|0x100000|7679\n海内|0x8000|19395\n海南|0x0040|3893\n海难|0x100000|31291\n海鸟|0x100000|28921\n海涅|0x0080|981\n海宁|0x0040|1077\n海牛|0x100000|28098\n海鸥|0x100000|17895\n海派|0x100000|26748\n海盆|0x100000|1233\n海鞘|0x0080|0\n海区|0x100000|11388\n海山|0x100000|1376\n海扇|0x0080|1274\n海商|0x100000|1374\n海上|0x8000|3227\n海蛇|0x100000|49444\n海神|0x100000|747\n海生|0x20000000|863\n海狮|0x100000|24372\n海蚀|0x100000|1065\n海事|0x100000|11313\n海兽|0x100000|50973\n海水|0x100000|3909\n海松|0x0080|1\n海损|0x100000|51396\n海獭|0x100000|49445\n海苔|0x100000|886\n海滩|0x100000|10077\n海棠|0x100000|16073\n海塘|0x100000|39699\n海涛|0x100000|735\n海图|0x100000|34938\n海涂|0x0080|39097\n海兔|0x0080|0\n海豚|0x100000|17074\n海外|0x8000|2369\n海湾|0x100000|5923\n海碗|0x100000|34625\n海味|0x100000|36141\n海温|0x0008|1191\n海虾|0x100000|1044\n海峡|0x100000|4967\n海鲜|0x100000|17281\n海相|0x100000|1413\n海象|0x100000|44412\n海啸|0x100000|7525\n海蟹|0x100000|50974\n海信|0x0008|1120\n海兴|0x0080|1378\n海星|0x100000|32628\n海熊|0x100000|1371\n海选|0x0000|33394\n海牙|0x0080|1438\n海盐|0x100000|29105\n海蜒|0x100000|1320\n海晏|0x0080|1020\n海燕|0x100000|21478\n海阳|0x0040|1322\n海洋|0x100000|1863\n海因|0x0080|1022\n海印|0x0008|1430\n海鱼|0x100000|42702\n海隅|0x100000|0\n海域|0x100000|4518\n海渊|0x0080|1170\n海员|0x100000|26749\n海原|0x0080|1003\n海运|0x100000|14120\n海葬|0x100000|45881\n海枣|0x0008|1093\n海藻|0x100000|19667\n海贼|0x100000|676\n海战|0x100000|27454\n海蜇|0x100000|28370\n海蛰|0x0008|386\n海震|0x100000|1283\n海州|0x0040|1422\n海猪|0x100000|1143\n海子|0x100000|41252\n亥时|0x4000|55250\n骇怪|0x40000000|1338\n骇客|0x0008|1298\n骇怕|0x40000000|1173\n骇然|0x0100|37002\n骇人|0x40000000|585\n骇异|0x40000000|41946\n害病|0x1000|25081\n害虫|0x100000|10084\n害处|0x100000|27110\n害口|0x1000|0\n害命|0x1000|1009\n害鸟|0x100000|55922\n害怕|0x40000000|3162\n害人|0x1000|13367\n害臊|0x40000000|22405\n害兽|0x100000|1284\n害喜|0x1000|1075\n害羞|0x40000000|12938\n害眼|0x1000|50975\n氦气|0x0008|44413\n蚶子|0x0000|50976\n酣畅|0x40000000|28371\n酣歌|0x100000|0\n酣梦|0x100000|53758\n酣眠|0x1000|1062\n酣然|0x0100|950\n酣睡|0x1000|23419\n酣甜|0x40000000|0\n酣饮|0x1000|42703\n酣战|0x1000|40369\n酣醉|0x0000|50584\n憨厚|0x40000000|16887\n憨实|0x40000000|47363\n憨态|0x100000|44979\n憨笑|0x1000|32754\n憨直|0x40000000|48729\n憨子|0x100000|1176\n鼾声|0x100000|15629\n鼾睡|0x0000|45294\n鼾音|0x0080|1538\n邗江|0x0040|1334\n含苞|0x1000|31165\n含悲|0x1000|43890\n含钙|0x0000|455\n含恨|0x1000|42917\n含糊|0x1000|8744\n含混|0x40000000|24638\n含泪|0x1000|13447\n含量|0x100000|2748\n含镁|0x40000000|381\n含怒|0x1000|46192\n含片|0x100000|49808\n含情|0x1000|26812\n含沙|0x0000|424\n含山|0x0080|1443\n含水|0x1000|862\n含糖|0x40000000|470\n含笑|0x1000|10322\n含锌|0x40000000|421\n含羞|0x1000|29951\n含蓄|0x1000|12628\n含血|0x40000000|368\n含义|0x100000|5924\n含意|0x100000|795\n含油|0x1000|861\n含有|0x1000|3897\n含冤|0x1000|31512\n含怨|0x1000|50194\n含蕴|0x1000|1075\n邯郸|0x0040|1021\n函大|0x100000|1089\n函电|0x100000|38684\n函洞|0x0040|0\n函复|0x1000|52251\n函告|0x1000|39701\n函购|0x1000|55677\n函馆|0x0040|1055\n函件|0x100000|30705\n函聘|0x1000|0\n函授|0x1000|17777\n函数|0x100000|9861\n函索|0x1000|1224\n涵洞|0x100000|26253\n涵盖|0x1000|8150\n涵管|0x100000|1169\n涵容|0x1000|1129\n涵养|0x100000|14158\n涵义|0x100000|5924\n涵蕴|0x1000|1153\n涵闸|0x100000|44414\n寒伧|0x1000|1101\n寒蝉|0x100000|50195\n寒颤|0x100000|33395\n寒潮|0x100000|22574\n寒碜|0x1000|26813\n寒窗|0x100000|34784\n寒带|0x100000|38268\n寒冬|0x100000|18560\n寒风|0x100000|8553\n寒光|0x100000|24565\n寒害|0x0080|0\n寒季|0x0080|0\n寒假|0x100000|13354\n寒噤|0x100000|26962\n寒苦|0x40000000|48730\n寒冷|0x40000000|6799\n寒凉|0x40000000|920\n寒流|0x100000|19396\n寒露|0x4000|43413\n寒毛|0x100000|54795\n寒梅|0x100000|1387\n寒门|0x100000|39098\n寒暖|0x0000|49446\n寒气|0x100000|14389\n寒峭|0x40000000|1262\n寒热|0x100000|35059\n寒色|0x100000|1095\n寒山|0x0040|1299\n寒舍|0x100000|39702\n寒食|0x0000|42919\n寒士|0x100000|41462\n寒暑|0x100000|24501\n寒素|0x100000|0\n寒酸|0x40000000|23067\n寒天|0x100000|930\n寒腿|0x100000|55252\n寒微|0x40000000|43183\n寒邪|0x0008|0\n寒心|0x1000|22875\n寒星|0x100000|40568\n寒喧|0x0008|868\n寒暄|0x1000|15897\n寒鸦|0x0080|50196\n寒鸭|0x100000|1244\n寒夜|0x100000|27612\n寒衣|0x100000|43184\n寒意|0x100000|21712\n寒战|0x100000|33395\n寒症|0x100000|55678\n韩城|0x0040|1352\n韩村|0x100000|377\n韩国|0x0040|2245\n韩江|0x100000|975\n韩语|0x100000|625\n韩元|0x100000|847\n罕见|0x40000000|6353\n罕事|0x0080|1\n罕闻|0x1000|44690\n罕有|0x40000000|30922\n喊话|0x1000|30504\n喊叫|0x1000|9482\n喊杀|0x0000|33264\n喊声|0x100000|742\n喊醒|0x0000|37705\n喊冤|0x1000|40143\n蔊菜|0x100000|0\n汉堡|0x4000000|1043\n汉朝|0x4000|784\n汉城|0x0040|1107\n汉川|0x0040|1376\n汉传|0x100000|1031\n汉代|0x4000|742\n汉方|0x0008|905\n汉赋|0x100000|1060\n汉沽|0x0080|1411\n汉化|0x0080|587\n汉家|0x100000|1450\n汉奸|0x100000|9509\n汉江|0x0040|1202\n汉剧|0x100000|42920\n汉军|0x100000|886\n汉卡|0x0008|1078\n汉口|0x0080|1174\n汉律|0x100000|1204\n汉民|0x100000|41947\n汉墓|0x100000|887\n汉人|0x100000|10796\n汉莎|0x0080|1522\n汉室|0x100000|926\n汉寿|0x0080|1514\n汉书|0x100000|802\n汉水|0x0040|1406\n汉唐|0x4000|769\n汉王|0x100000|1347\n汉魏|0x4000|932\n汉文|0x100000|19247\n汉显|0x0000|53248\n汉姓|0x100000|55679\n汉学|0x100000|29520\n汉医|0x0008|0\n汉阴|0x0080|985\n汉英|0x100000|776\n汉语|0x100000|4057\n汉源|0x0080|1512\n汉中|0x0040|1123\n汉子|0x100000|5364\n汉字|0x100000|7404\n汉族|0x0008|7089\n汗斑|0x100000|55253\n汗臭|0x0000|41015\n汗滴|0x100000|916\n汗褂|0x0080|0\n汗碱|0x100000|1352\n汗脚|0x100000|55960\n汗孔|0x100000|1176\n汗毛|0x100000|24166\n汗青|0x100000|928\n汗衫|0x100000|23484\n汗湿|0x100000|913\n汗水|0x100000|6012\n汗腺|0x100000|49103\n汗颜|0x40000000|28722\n汗液|0x100000|37538\n汗疹|0x0008|1305\n汗珠|0x100000|14323\n汗渍|0x100000|39921\n旱冰|0x100000|43664\n旱船|0x100000|37175\n旱道|0x0000|55680\n旱稻|0x100000|1204\n旱地|0x100000|19306\n旱季|0x100000|32629\n旱井|0x100000|45576\n旱涝|0x100000|954\n旱路|0x100000|41463\n旱魔|0x100000|54273\n旱年|0x100000|1249\n旱农|0x0080|9\n旱桥|0x100000|1252\n旱情|0x100000|13877\n旱区|0x0000|29521\n旱伞|0x100000|54796\n旱獭|0x100000|49104\n旱田|0x100000|39922\n旱象|0x100000|45884\n旱烟|0x100000|19023\n旱灾|0x100000|13463\n旱作|0x0000|27206\n悍匪|0x0080|910\n悍妇|0x100000|47071\n悍将|0x100000|42921\n悍然|0x40000000|25626\n悍勇|0x40000000|55681\n捍卫|0x1000|7486\n捍御|0x1000|0\n焊缝|0x1000|44132\n焊割|0x100000|886\n焊工|0x100000|31629\n焊剂|0x100000|1008\n焊接|0x1000|12801\n焊料|0x100000|947\n焊钳|0x100000|1067\n焊枪|0x100000|48732\n焊丝|0x100000|908\n焊条|0x100000|39703\n焊锡|0x100000|55682\n焊药|0x100000|1299\n菡萏|0x100000|967\n颔联|0x100000|0\n颔首|0x1000|28627\n憾事|0x100000|33265\n撼动|0x1000|26254\n翰海|0x0008|977\n翰林|0x100000|16670\n翰墨|0x100000|895\n瀚海|0x100000|33768\n夯歌|0x100000|53249\n夯实|0x40000000|12273\n夯土|0x100000|53250\n夯砣|0x100000|1275\n杭纺|0x100000|1542\n杭育|0x0000|46762\n杭州|0x0040|2549\n航班|0x100000|6481\n航标|0x100000|28835\n航测|0x1000|37359\n航程|0x100000|20534\n航船|0x100000|20811\n航次|0x100000|31513\n航道|0x100000|10579\n航渡|0x0080|994\n航海|0x1000|12274\n航徽|0x100000|0\n航迹|0x100000|1034\n航空|0x100000|2996\n航路|0x100000|19163\n航模|0x100000|33120\n航母|0x100000|683\n航拍|0x0000|47364\n航炮|0x100000|1170\n航期|0x0008|0\n航权|0x100000|1041\n航速|0x100000|31292\n航天|0x100000|3485\n航图|0x100000|1238\n航务|0x100000|38269\n航线|0x100000|6664\n航向|0x100000|23647\n航校|0x100000|41253\n航行|0x1000|8301\n航运|0x100000|8776\n航站|0x100000|43414\n蒿本|0x0080|0\n蒿草|0x0000|36300\n蒿杆|0x0080|0\n蒿子|0x100000|46193\n薅草|0x0000|55255\n蚝油|0x100000|53251\n毫安|0x20000|870\n毫巴|0x20000|1246\n毫不|0x0008|3979\n毫发|0x100000|37003\n毫法|0x100000|0\n毫分|0x100000|0\n毫伏|0x20000|1041\n毫克|0x20000|14363\n毫厘|0x20000|39517\n毫毛|0x100000|31631\n毫米|0x20000|7000\n毫秒|0x20000|42199\n毫末|0x0000|53761\n毫升|0x20000|11525\n毫瓦|0x20000|1120\n毫无|0x1000|2488\n毫针|0x100000|1196\n嗥叫|0x1000|965\n豪赌|0x1000|791\n豪夺|0x1000|951\n豪放|0x40000000|19024\n豪富|0x100000|42443\n豪横|0x40000000|1271\n豪华|0x40000000|6291\n豪杰|0x100000|18715\n豪举|0x100000|52252\n豪客|0x100000|904\n豪快|0x0008|0\n豪迈|0x40000000|14295\n豪门|0x100000|29019\n豪气|0x100000|21354\n豪强|0x100000|37541\n豪情|0x100000|12286\n豪乳|0x100000|470\n豪商|0x100000|1129\n豪奢|0x40000000|1008\n豪绅|0x100000|31399\n豪士|0x100000|1051\n豪爽|0x40000000|16818\n豪侠|0x100000|43892\n豪兴|0x100000|43665\n豪饮|0x1000|39294\n豪雨|0x100000|47365\n豪语|0x100000|50197\n豪宅|0x100000|44692\n豪猪|0x100000|47366\n豪壮|0x40000000|42922\n豪族|0x100000|51399\n嚎叫|0x1000|733\n嚎哭|0x1000|34051\n嚎啕|0x1000|30272\n壕沟|0x100000|24058\n壕堑|0x100000|53252\n好啊|0x0000|751\n好吧|0x0000|752\n好办|0x1000|751\n好棒|0x0000|578\n好比|0x1000|7683\n好辩|0x0000|409\n好不|0x8000000|28461\n好吃|0x40000000|7818\n好丑|0x40000000|845\n好处|0x100000|2380\n好歹|0x100000|11722\n好懂|0x40000000|37894\n好动|0x40000000|740\n好斗|0x40000000|33769\n好多|0x400000|4514\n好恶|0x100000|22008\n好儿|0x0000|15925\n好感|0x100000|11314\n好古|0x40000000|0\n好过|0x1000|17039\n好汉|0x100000|10645\n好好|0x8000000|3270\n好喝|0x40000000|728\n好话|0x100000|11544\n好坏|0x100000|8172\n好几|0x400000|2395\n好景|0x100000|844\n好久|0x8000000|7173\n好酒|0x0000|578\n好看|0x40000000|4186\n好客|0x40000000|18201\n好赖|0x100000|42705\n好脸|0x100000|46464\n好了|0x0000|913\n好吗|0x4000000|778\n好卖|0x40000000|509\n好么|0x4000000|608\n好命|0x0008|1376\n好片|0x100000|812\n好评|0x100000|5921\n好奇|0x40000000|6578\n好气|0x100000|34628\n好强|0x40000000|32248\n好球|0x100000|754\n好惹|0x0000|49810\n好人|0x100000|9420\n好色|0x40000000|20402\n好生|0x8000000|14425\n好胜|0x40000000|26887\n好使|0x40000000|22782\n好事|0x100000|4034\n好手|0x100000|15832\n好受|0x40000000|13355\n好书|0x100000|589\n好说|0x1000|14364\n好似|0x1000|7864\n好听|0x40000000|8133\n好头|0x100000|912\n好玩|0x40000000|494\n好闻|0x40000000|883\n好问|0x0000|485\n好戏|0x100000|13788\n好险|0x0000|549\n好象|0x0008|496\n好像|0x8000000|1591\n好笑|0x40000000|9207\n好些|0x200000|7347\n好心|0x100000|9945\n好学|0x40000000|14121\n好呀|0x100000|649\n好言|0x0000|45885\n好样|0x40000000|740\n好意|0x100000|10872\n好友|0x100000|10047\n好运|0x100000|18958\n好在|0x8000000|12275\n好战|0x40000000|34939\n好找|0x40000000|27207\n好转|0x1000|4922\n好走|0x40000000|768\n号兵|0x100000|37360\n号称|0x1000|9382\n号灯|0x100000|1176\n号房|0x100000|898\n号角|0x100000|15680\n号叫|0x1000|35509\n号哭|0x1000|34051\n号令|0x100000|13407\n号码|0x100000|5361\n号脉|0x1000|38888\n号牌|0x0008|27112\n号炮|0x100000|1168\n号丧|0x1000|0\n号声|0x100000|959\n号手|0x100000|43185\n号数|0x100000|41016\n号啕|0x1000|30272\n号筒|0x100000|50586\n号头|0x100000|47691\n号外|0x100000|27932\n号型|0x100000|1110\n号衣|0x100000|1172\n号音|0x100000|1221\n号召|0x100000|3385\n号志|0x100000|1073\n号子|0x100000|25481\n浩博|0x40000000|1016\n浩大|0x40000000|19427\n浩荡|0x40000000|21306\n浩繁|0x40000000|33397\n浩瀚|0x0100|14365\n浩浩|0x0100|45577\n浩劫|0x100000|18894\n浩茫|0x40000000|53763\n浩淼|0x40000000|847\n浩渺|0x40000000|40569\n浩气|0x100000|39705\n浩然|0x0100|15072\n浩叹|0x1000|47692\n浩特|0x100000|1097\n耗材|0x1000|30923\n耗电|0x1000|27455\n耗费|0x1000|10933\n耗竭|0x1000|44981\n耗尽|0x1000|20009\n耗能|0x1000|34629\n耗散|0x1000|55256\n耗神|0x40000000|54274\n耗时|0x1000|721\n耗损|0x1000|43893\n耗用|0x1000|36142\n耗油|0x1000|40793\n耗资|0x1000|12605\n耗子|0x100000|11899\n皓白|0x40000000|1095\n皓齿|0x100000|40370\n皓矾|0x0080|0\n皓首|0x1000|42706\n皓月|0x100000|33520\n诃子|0x0008|384\n呵叱|0x0000|40144\n呵斥|0x1000|22575\n呵呵|0x80000|490\n呵喝|0x1000|1169\n呵护|0x1000|13077\n呵气|0x1000|436\n呵欠|0x100000|18796\n呵痒|0x1000|1240\n呵责|0x1000|43416\n喝采|0x1000|530\n喝彩|0x1000|11378\n喝茶|0x1000|587\n喝斥|0x1000|917\n喝道|0x1000|720\n喝够|0x0000|398\n喝光|0x0000|520\n喝喝|0x0000|489\n喝酒|0x1000|498\n喝令|0x1000|22454\n喝水|0x1000|586\n喝汤|0x0000|535\n喝完|0x0000|619\n喝问|0x1000|32250\n喝醉|0x1000|30054\n嗬嗬|0x0000|513\n禾草|0x100000|1113\n禾场|0x100000|44133\n禾虫|0x0008|0\n禾谷|0x0000|55683\n禾苗|0x100000|29522\n合板|0x0008|0\n合办|0x1000|20010\n合抱|0x1000|31400\n合璧|0x1000|29321\n合编|0x1000|30169\n合并|0x1000|5003\n合唱|0x100000|10437\n合称|0x1000|40570\n合成|0x1000|5846\n合川|0x0040|1195\n合当|0x0000|50587\n合度|0x0000|43417\n合法|0x1000|2127\n合肥|0x0040|5627\n合缝|0x0008|42201\n合该|0x1000|51828\n合格|0x40000000|2749\n合共|0x8000000|52737\n合股|0x1000|32630\n合规|0x20000000|879\n合乎|0x1000|9625\n合欢|0x100000|32631\n合伙|0x1000|12178\n合击|0x1000|41017\n合计|0x1000|27367\n合剂|0x100000|34786\n合家|0x100000|30924\n合建|0x1000|956\n合江|0x0040|1533\n合脚|0x40000000|46194\n合金|0x100000|11251\n合刊|0x100000|36301\n合口|0x0000|50198\n合理|0x40000000|1095\n合力|0x100000|6175\n合利|0x0000|23087\n合练|0x0000|42202\n合流|0x1000|28922\n合龙|0x1000|23536\n合拢|0x1000|23800\n合谋|0x1000|27368\n合拍|0x40000000|21063\n合浦|0x0080|1\n合情|0x1000|970\n合群|0x1000|32124\n合山|0x0040|948\n合上|0x0008|1125\n合身|0x40000000|28372\n合声|0x1000|911\n合十|0x401000|31988\n合时|0x40000000|1525\n合式|0x40000000|998\n合适|0x40000000|3448\n合手|0x0000|49105\n合署|0x1000|1005\n合数|0x0008|55257\n合水|0x0080|981\n合算|0x1000|17155\n合体|0x40000000|28628\n合同|0x100000|1276\n合围|0x1000|24326\n合心|0x40000000|47367\n合眼|0x1000|22933\n合演|0x1000|37706\n合阳|0x0080|1514\n合叶|0x100000|1088\n合页|0x100000|907\n合一|0x401000|10631\n合宜|0x40000000|29952\n合议|0x1000|24167\n合意|0x40000000|25890\n合营|0x1000|12861\n合影|0x1000|8031\n合用|0x1000|25338\n合于|0x1000|35985\n合约|0x100000|21848\n合葬|0x1000|29322\n合闸|0x1000|53254\n合掌|0x1000|35208\n合照|0x100000|44416\n合辙|0x40000000|43418\n合住|0x1000|865\n合著|0x1000|841\n合着|0x1000|807\n合资|0x1000|4824\n合子|0x100000|40145\n合奏|0x1000|25627\n合作|0x1000|724\n何必|0x8000000|4831\n何不|0x8000000|8380\n何尝|0x8000000|10214\n何处|0x10000|524\n何等|0x8000000|7919\n何地|0x10000|662\n何方|0x10000|946\n何妨|0x8000000|16012\n何干|0x10000|793\n何故|0x100000|12425\n何苦|0x8000000|12741\n何况|0x10000000|5139\n何来|0x1000|679\n何年|0x10000|760\n何其|0x8000000|17745\n何人|0x10000|686\n何日|0x10000|745\n何如|0x10000|17417\n何时|0x10000|496\n何事|0x10000|715\n何谓|0x10000|21227\n何物|0x10000|786\n何须|0x8000000|31745\n何许|0x10000|52253\n何晏|0x0080|383\n何以|0x10000|5623\n何用|0x10000|752\n何月|0x10000|1086\n何在|0x10000|9908\n何曾|0x8000000|42444\n何者|0x100000|890\n何止|0x1000|18820\n何种|0x10000|609\n和蔼|0x40000000|14538\n和畅|0x40000000|50980\n和风|0x100000|33638\n和服|0x100000|13085\n和好|0x1000|35986\n和合|0x1000|810\n和缓|0x1000|25891\n和会|0x100000|29208\n和解|0x1000|6113\n和静|0x0080|1390\n和局|0x100000|49812\n和乐|0x40000000|49450\n和龙|0x0080|4\n和美|0x40000000|29106\n和面|0x1000|25896\n和鸣|0x1000|1491\n和睦|0x40000000|11270\n和弄|0x1000|0\n和暖|0x40000000|32249\n和平|0x40000000|801\n和棋|0x1000|30171\n和气|0x100000|12405\n和洽|0x40000000|48005\n和亲|0x1000|19981\n和善|0x40000000|16226\n和尚|0x100000|5617\n和声|0x100000|22212\n和诗|0x0000|34481\n和式|0x100000|996\n和数|0x100000|40146\n和顺|0x40000000|34052\n和硕|0x0080|1509\n和谈|0x1000|6005\n和田|0x0080|754\n和婉|0x40000000|47693\n和文|0x100000|785\n和弦|0x100000|29020\n和县|0x0040|1326\n和协|0x0000|454\n和谐|0x40000000|2234\n和煦|0x40000000|25892\n和衣|0x0000|34632\n和议|0x1000|17817\n和易|0x40000000|47369\n和约|0x100000|18243\n和悦|0x40000000|39519\n和政|0x0080|1429\n和衷|0x100000|0\n河岸|0x100000|12478\n河坝|0x100000|36466\n河浜|0x0040|1159\n河蚌|0x100000|41948\n河北|0x0040|2658\n河边|0x8000|6459\n河滨|0x8000|34053\n河槽|0x100000|35987\n河汊|0x0000|39706\n河池|0x0040|1272\n河川|0x100000|19668\n河床|0x100000|13163\n河道|0x100000|6700\n河堤|0x100000|16099\n河底|0x8000|886\n河东|0x0040|1093\n河段|0x100000|14406\n河防|0x100000|50588\n河肥|0x100000|1534\n河港|0x100000|48366\n河工|0x100000|44982\n河沟|0x100000|25967\n河谷|0x100000|12884\n河汉|0x100000|42707\n河间|0x0040|1336\n河津|0x0040|1522\n河口|0x100000|12751\n河狸|0x100000|42445\n河里|0x8000|693\n河流|0x100000|4840\n河柳|0x100000|1120\n河马|0x100000|22876\n河面|0x8000|15392\n河内|0x0040|10862\n河南|0x0040|1611\n河泥|0x100000|41019\n河畔|0x100000|13318\n河曲|0x0080|36467\n河渠|0x100000|39707\n河沙|0x100000|990\n河山|0x100000|20163\n河身|0x100000|39923\n河神|0x100000|1004\n河水|0x100000|638\n河滩|0x100000|10253\n河塘|0x100000|42446\n河套|0x100000|22987\n河豚|0x100000|25968\n河湾|0x8000|22054\n河网|0x100000|41464\n河西|0x0040|1086\n河系|0x100000|50981\n河鲜|0x100000|54276\n河蟹|0x100000|23802\n河心|0x8000|34480\n河沿|0x8000|29850\n河鱼|0x100000|51401\n河源|0x100000|24123\n河运|0x100000|49451\n河中|0x0008|565\n河洲|0x0040|1128\n核爆|0x100000|943\n核查|0x1000|4996\n核弹|0x100000|41949\n核电|0x100000|7793\n核定|0x1000|9379\n核对|0x1000|15483\n核儿|0x100000|41023\n核发|0x1000|16298\n核苷|0x0008|0\n核果|0x0008|1062\n核计|0x1000|38889\n核减|0x1000|28462\n核力|0x100000|1075\n核膜|0x0008|0\n核能|0x100000|12871\n核仁|0x100000|1103\n核审|0x0000|55258\n核实|0x1000|7770\n核素|0x100000|35825\n核酸|0x100000|21713\n核算|0x1000|7253\n核糖|0x100000|37004\n核桃|0x100000|14638\n核突|0x0008|0\n核武|0x100000|865\n核销|0x1000|17115\n核心|0x100000|1686\n核型|0x0008|1091\n核验|0x1000|1054\n核液|0x0008|0\n核战|0x0000|452\n核账|0x0000|54798\n核质|0x0008|0\n核准|0x1000|8475\n核资|0x1000|36468\n核子|0x100000|27456\n荷包|0x100000|21355\n荷梗|0x0080|0\n荷花|0x4000000|11706\n荷兰|0x0040|4384\n荷塘|0x100000|27208\n荷叶|0x100000|16484\n荷载|0x100000|40371\n荷重|0x100000|1031\n盒带|0x100000|40148\n盒饭|0x100000|25411\n盒盖|0x100000|951\n盒式|0x20000000|52738\n盒装|0x20000000|41466\n盒子|0x100000|9348\n菏泽|0x0040|1056\n颌骨|0x0000|34634\n颌学|0x0080|0\n貉绒|0x100000|1536\n貉子|0x100000|1005\n阖家|0x100000|879\n阖上|0x1000|0\n阖眼|0x1000|1050\n贺匾|0x100000|1272\n贺词|0x100000|14324\n贺辞|0x100000|977\n贺电|0x100000|6689\n贺函|0x100000|39708\n贺卡|0x100000|17223\n贺兰|0x0080|1349\n贺礼|0x100000|29107\n贺联|0x100000|1159\n贺年|0x1000|36144\n贺岁|0x1000|675\n贺喜|0x1000|24697\n贺信|0x100000|8958\n贺仪|0x0080|55684\n贺幛|0x100000|1413\n贺州|0x0040|1280\n褐斑|0x100000|915\n褐煤|0x100000|55685\n褐色|0x100000|14426\n褐土|0x0008|0\n褐藻|0x100000|1088\n赫尔|0x0080|1478\n赫赫|0x0100|23269\n赫连|0x0080|525\n赫然|0x0100|14137\n赫斯|0x0080|1526\n赫章|0x0040|1054\n赫兹|0x20000|911\n鹤壁|0x0040|742\n鹤顶|0x0008|0\n鹤峰|0x0080|1501\n鹤岗|0x0040|1301\n鹤庆|0x0080|1008\n鹤群|0x100000|1060\n鹤山|0x0040|1278\n鹤虱|0x0008|0\n黑暗|0x40000000|3386\n黑白|0x100000|9185\n黑斑|0x100000|36642\n黑板|0x100000|11874\n黑帮|0x100000|23113\n黑豹|0x100000|800\n黑布|0x100000|893\n黑潮|0x100000|29523\n黑车|0x100000|23420\n黑带|0x0008|1408\n黑道|0x100000|27113\n黑底|0x0008|892\n黑地|0x100000|1050\n黑点|0x100000|783\n黑店|0x100000|44418\n黑貂|0x0080|51829\n黑洞|0x100000|12679\n黑豆|0x4000000|33121\n黑发|0x100000|619\n黑风|0x100000|535\n黑狗|0x100000|880\n黑箍|0x100000|0\n黑管|0x100000|53256\n黑光|0x0080|1454\n黑鬼|0x0000|469\n黑锅|0x0000|26389\n黑海|0x0040|1421\n黑汉|0x0008|0\n黑河|0x0040|1242\n黑盒|0x0080|0\n黑褐|0x100000|0\n黑黑|0x0100|649\n黑红|0x100000|886\n黑户|0x100000|42203\n黑话|0x100000|33521\n黑货|0x100000|52256\n黑金|0x100000|832\n黑晶|0x0080|1006\n黑客|0x100000|12698\n黑口|0x100000|946\n黑牢|0x100000|51403\n黑脸|0x100000|813\n黑亮|0x0100|27933\n黑磷|0x0040|1300\n黑路|0x0080|1111\n黑马|0x100000|17481\n黑麦|0x100000|39521\n黑猫|0x100000|718\n黑莓|0x0080|467\n黑霉|0x0080|1139\n黑米|0x0000|50590\n黑面|0x100000|39099\n黑墨|0x100000|1028\n黑幕|0x100000|25254\n黑奴|0x100000|32993\n黑袍|0x100000|878\n黑皮|0x0008|1301\n黑屏|0x0080|548\n黑漆|0x0000|571\n黑铅|0x0008|1\n黑钱|0x100000|32378\n黑枪|0x100000|42448\n黑人|0x100000|6943\n黑色|0x100000|3787\n黑纱|0x100000|31045\n黑山|0x0040|1262\n黑哨|0x100000|30274\n黑蛇|0x0080|0\n黑市|0x100000|22321\n黑手|0x100000|22406\n黑瘦|0x0100|32251\n黑水|0x0080|1355\n黑松|0x4000000|1510\n黑檀|0x0080|443\n黑炭|0x100000|939\n黑糖|0x100000|983\n黑桃|0x0080|851\n黑陶|0x100000|49453\n黑体|0x100000|32755\n黑天|0x100000|45578\n黑铁|0x0080|1459\n黑头|0x100000|34940\n黑土|0x100000|21147\n黑窝|0x100000|32994\n黑匣|0x0080|0\n黑线|0x100000|29743\n黑箱|0x100000|925\n黑心|0x100000|22676\n黑信|0x100000|1280\n黑熊|0x100000|27282\n黑烟|0x0080|562\n黑夜|0x100000|8316\n黑衣|0x100000|669\n黑鹰|0x0008|1326\n黑影|0x100000|11254\n黑油|0x0008|1036\n黑鱼|0x100000|37709\n黑雨|0x0080|990\n黑玉|0x100000|1012\n黑云|0x0080|30603\n黑枣|0x100000|47370\n黑账|0x100000|1136\n黑痣|0x0080|30925\n黑种|0x100000|1045\n黑竹|0x0080|47695\n黑子|0x100000|825\n黑字|0x100000|894\n嘿嘿|0x0100|9583\n痕迹|0x100000|6071\n痕量|0x100000|1057\n很棒|0x0008|648\n很不|0x0000|652\n很差|0x0000|644\n很大|0x40000000|495\n很毒|0x40000000|0\n很多|0x200000|492\n很好|0x0000|935\n很会|0x0000|599\n很久|0x0000|811\n很快|0x8000000|495\n很忙|0x0000|621\n很少|0x8000000|497\n很晚|0x0000|615\n很香|0x0000|536\n很想|0x0000|728\n很小|0x8000000|511\n很远|0x0000|694\n狠毒|0x40000000|25629\n狠狠|0x8000000|6015\n狠话|0x0000|48006\n狠劲|0x1000|32756\n狠辣|0x0000|54800\n狠命|0x8000000|26680\n狠心|0x100000|14903\n狠抓|0x1000|5098\n狠揍|0x1000|988\n恨恨|0x8000000|671\n恨人|0x40000000|0\n恨事|0x100000|44695\n恨死|0x1000|775\n恨晚|0x0000|39710\n恨意|0x0000|558\n亨利|0x100000|1067\n亨特|0x0080|1358\n亨通|0x1000|42204\n哼唱|0x1000|771\n哼哧|0x80000|50591\n哼哼|0x1000|13746\n哼唧|0x1000|37710\n哼声|0x0000|482\n哼唷|0x80000|1405\n恒产|0x100000|50983\n恒齿|0x100000|1249\n恒等|0x0000|396\n恒定|0x1000|24125\n恒河|0x0040|1347\n恒久|0x8000000|30604\n恒力|0x0080|1352\n恒量|0x100000|1084\n恒山|0x0040|43186\n恒生|0x0008|1248\n恒温|0x100000|26964\n恒心|0x100000|28270\n恒星|0x100000|9992\n恒牙|0x0008|1066\n桁架|0x100000|47371\n横暴|0x40000000|39298\n横匾|0x100000|44135\n横标|0x100000|45579\n横滨|0x100000|535\n横财|0x100000|35210\n横穿|0x1000|20693\n横档|0x0000|369\n横笛|0x100000|49814\n横渡|0x1000|17255\n横断|0x0000|34635\n横队|0x100000|47696\n横额|0x0000|44419\n横帆|0x0008|1298\n横峰|0x0080|994\n横幅|0x100000|11997\n横杆|0x100000|1011\n横隔|0x100000|1127\n横亘|0x1000|22455\n横贯|0x1000|21849\n横过|0x1000|905\n横桁|0x0008|1391\n横祸|0x100000|34482\n横加|0x1000|29422\n横街|0x100000|55686\n横空|0x0000|27934\n横跨|0x1000|15976\n横联|0x0000|55260\n横梁|0x100000|27532\n横列|0x0000|49454\n横蛮|0x0000|43666\n横眉|0x0000|30926\n横木|0x100000|1048\n横逆|0x40000000|1077\n横排|0x100000|47072\n横批|0x100000|32379\n横披|0x100000|53767\n横肉|0x100000|36145\n横扫|0x1000|20121\n横山|0x0040|1304\n横生|0x40000000|24699\n横尸|0x1000|912\n横事|0x100000|1248\n横是|0x8000000|43420\n横竖|0x8000000|18293\n横死|0x1000|44420\n横县|0x0040|1406\n横线|0x100000|867\n横向|0x100000|10605\n横心|0x1000|46765\n横行|0x1000|11785\n横压|0x0008|0\n横溢|0x1000|36645\n横越|0x0000|47372\n横遭|0x0000|39522\n横直|0x8000000|46195\n横轴|0x0000|52258\n衡东|0x0080|1533\n衡量|0x1000|4754\n衡南|0x0080|1541\n衡平|0x20000000|1060\n衡器|0x100000|48736\n衡山|0x0040|18895\n衡水|0x0040|1096\n衡阳|0x0040|1061\n轰动|0x1000|8734\n轰赶|0x1000|51407\n轰轰|0x80000|807\n轰击|0x1000|21028\n轰隆|0x80000|23648\n轰鸣|0x100000|15393\n轰然|0x8000000|20164\n轰声|0x0008|0\n轰响|0x100000|27369\n轰炸|0x1000|6807\n轰走|0x0000|422\n哄传|0x1000|35511\n哄动|0x1000|435\n哄逗|0x1000|0\n哄哄|0x0080|728\n哄闹|0x1000|46768\n哄弄|0x1000|0\n哄骗|0x1000|27115\n哄抢|0x1000|26043\n哄劝|0x1000|52262\n哄然|0x0100|34178\n哄人|0x1000|39299\n哄抬|0x1000|24327\n哄堂|0x1000|1117\n哄笑|0x1000|21307\n哄诱|0x0080|0\n訇然|0x8000000|47073\n烘焙|0x1000|49455\n烘衬|0x1000|1269\n烘房|0x0000|55688\n烘干|0x1000|24232\n烘烘|0x80000|43421\n烘烤|0x1000|28183\n烘笼|0x100000|1322\n烘炉|0x100000|52741\n烘染|0x1000|55689\n烘托|0x1000|18244\n烘箱|0x100000|811\n烘制|0x1000|55262\n弘大|0x40000000|371\n弘道|0x1000|1023\n弘法|0x1000|922\n弘光|0x0008|1005\n弘扬|0x1000|3254\n弘毅|0x40000000|1520\n弘愿|0x100000|0\n红安|0x0080|977\n红案|0x100000|52259\n红斑|0x0008|797\n红榜|0x100000|49107\n红包|0x100000|10404\n红布|0x100000|853\n红参|0x100000|55265\n红茶|0x100000|29108\n红场|0x0080|944\n红潮|0x100000|907\n红尘|0x100000|22677\n红橙|0x0080|1\n红虫|0x0008|1113\n红唇|0x100000|723\n红丹|0x0080|1062\n红蛋|0x100000|1062\n红灯|0x100000|11168\n红豆|0x4000000|25019\n红矾|0x0080|1142\n红粉|0x100000|718\n红汞|0x0080|55690\n红光|0x0008|1086\n红果|0x0080|38272\n红海|0x0040|1336\n红河|0x0040|1205\n红鹤|0x100000|1122\n红红|0x0080|534\n红狐|0x0080|48737\n红花|0x100000|11827\n红桧|0x0008|0\n红火|0x40000000|8182\n红货|0x100000|1254\n红椒|0x0080|896\n红角|0x100000|1141\n红教|0x0008|1068\n红酒|0x100000|617\n红军|0x100000|2450\n红客|0x0008|894\n红利|0x100000|21955\n红莲|0x100000|1293\n红脸|0x1000|17896\n红磷|0x0008|1102\n红柳|0x100000|25255\n红楼|0x0008|556\n红螺|0x0080|927\n红麻|0x0008|53257\n红梅|0x100000|752\n红焖|0x0000|50201\n红棉|0x0080|46197\n红木|0x100000|19082\n红娘|0x100000|8408\n红女|0x100000|0\n红牌|0x100000|22626\n红盘|0x100000|942\n红袍|0x100000|498\n红皮|0x1000|943\n红票|0x100000|0\n红萍|0x0008|1093\n红旗|0x4000000|4381\n红桥|0x100000|1285\n红区|0x0000|53258\n红曲|0x0000|55264\n红雀|0x0000|377\n红壤|0x100000|52260\n红热|0x0000|396\n红人|0x100000|45887\n红日|0x100000|25134\n红润|0x40000000|16342\n红色|0x100000|2050\n红杉|0x100000|913\n红烧|0x100000|22493\n红苕|0x100000|1014\n红生|0x0080|0\n红薯|0x100000|13306\n红树|0x100000|952\n红松|0x100000|31989\n红糖|0x100000|34315\n红桃|0x0080|1437\n红藤|0x0008|1199\n红铜|0x100000|949\n红头|0x100000|1390\n红土|0x100000|30172\n红外|0x20000000|571\n红霞|0x0000|19339\n红线|0x100000|16374\n红心|0x100000|25412\n红星|0x100000|13969\n红袖|0x100000|627\n红学|0x100000|1256\n红岩|0x0080|1315\n红颜|0x100000|24947\n红眼|0x1000|30505\n红艳|0x40000000|798\n红叶|0x100000|13534\n红衣|0x100000|693\n红鱼|0x100000|978\n红玉|0x0080|1413\n红原|0x0040|973\n红云|0x100000|1323\n红运|0x100000|47697\n红晕|0x100000|17156\n红枣|0x100000|17818\n红藻|0x100000|1157\n红疹|0x0008|0\n红中|0x0080|1517\n红肿|0x100000|19220\n红烛|0x100000|26888\n红专|0x0008|939\n红砖|0x100000|820\n红妆|0x100000|45295\n红装|0x100000|45296\n红字|0x100000|819\n宏才|0x0000|55691\n宏达|0x0008|44985\n宏大|0x40000000|9099\n宏恩|0x100000|1531\n宏富|0x40000000|988\n宏构|0x100000|1536\n宏观|0x20000000|2498\n宏基|0x0008|1157\n宏阔|0x40000000|1047\n宏丽|0x40000000|1002\n宏亮|0x40000000|869\n宏量|0x0080|1141\n宏论|0x100000|40374\n宏儒|0x100000|1173\n宏赡|0x40000000|1540\n宏图|0x100000|18920\n宏伟|0x40000000|4340\n宏业|0x0008|1238\n宏远|0x0008|1205\n宏愿|0x100000|35211\n宏旨|0x100000|44421\n洪帮|0x0020|52261\n洪波|0x100000|1299\n洪大|0x40000000|1037\n洪洞|0x100000|1470\n洪恩|0x100000|1320\n洪峰|0x100000|16168\n洪福|0x100000|38686\n洪湖|0x0040|1307\n洪荒|0x100000|35360\n洪江|0x0040|893\n洪涝|0x100000|10921\n洪亮|0x40000000|16100\n洪量|0x100000|50593\n洪流|0x100000|15317\n洪炉|0x100000|50202\n洪门|0x0040|985\n洪魔|0x100000|1142\n洪水|0x100000|3822\n洪涛|0x0080|1371\n洪武|0x4000|1360\n洪雅|0x40000000|1012\n洪灾|0x100000|15298\n洪泽|0x0080|1371\n洪钟|0x100000|42450\n虹彩|0x100000|959\n虹口|0x0080|1141\n虹膜|0x100000|43894\n虹吸|0x20000000|918\n虹鳟|0x100000|996\n鸿福|0x100000|885\n鸿沟|0x100000|14079\n鸿鹄|0x100000|894\n鸿毛|0x100000|41951\n鸿门|0x0040|1354\n鸿蒙|0x100000|955\n鸿篇|0x100000|1174\n鸿儒|0x100000|48739\n鸿图|0x100000|831\n鸿雁|0x100000|31990\n鸿运|0x100000|51410\n鸿爪|0x100000|1151\n侯补|0x1000|1249\n侯爵|0x100000|35663\n侯马|0x0040|1408\n侯门|0x100000|991\n侯鸟|0x0000|430\n侯爷|0x100000|1033\n喉部|0x100000|938\n喉道|0x0040|0\n喉风|0x0008|1238\n喉管|0x0008|29851\n喉节|0x0000|51411\n喉结|0x100000|36813\n喉镜|0x100000|1098\n喉科|0x0000|468\n喉咙|0x100000|7551\n喉片|0x0008|1108\n喉舌|0x100000|22456\n喉头|0x100000|22360\n喉炎|0x100000|52742\n喉音|0x100000|1060\n猴岛|0x100000|425\n猴儿|0x100000|915\n猴年|0x100000|908\n猴拳|0x100000|55692\n猴头|0x100000|40574\n猴王|0x100000|24948\n猴戏|0x100000|48007\n猴子|0x100000|8094\n瘊子|0x100000|50594\n吼吼|0x0000|580\n吼叫|0x1000|15757\n吼鸣|0x100000|0\n吼声|0x100000|21432\n后备|0x20000000|8151\n后背|0x100000|15815\n后辈|0x100000|24949\n后壁|0x0008|1\n后边|0x2000000|6583\n后步|0x100000|53260\n后部|0x100000|817\n后舱|0x0000|35988\n后场|0x100000|777\n后撤|0x1000|29323\n后尘|0x100000|28463\n后传|0x0000|509\n后窗|0x100000|847\n后代|0x100000|6926\n后灯|0x4000000|390\n后爹|0x100000|48368\n后端|0x0000|528\n后段|0x0040|1422\n后盾|0x100000|13070\n后儿|0x0000|46769\n后方|0x2000000|8909\n后防|0x100000|779\n后妃|0x100000|21619\n后福|0x100000|41254\n后父|0x100000|1137\n后港|0x0040|1133\n后跟|0x100000|34316\n后宫|0x100000|16278\n后顾|0x1000|12641\n后果|0x100000|3421\n后汉|0x4000|941\n后话|0x100000|27283\n后患|0x100000|18649\n后悔|0x40000000|5280\n后记|0x100000|18583\n后继|0x1000|11100\n后脚|0x100000|29209\n后街|0x0040|1226\n后金|0x0000|36469\n后襟|0x100000|45580\n后劲|0x100000|9734\n后进|0x100000|13028\n后晋|0x4000|44136\n后颈|0x0000|500\n后景|0x100000|55266\n后来|0x4000|505\n后浪|0x100000|1301\n后凉|0x0008|0\n后梁|0x0008|45581\n后路|0x100000|21956\n后轮|0x100000|40797\n后妈|0x100000|39711\n后门|0x100000|9493\n后面|0x100000|1917\n后母|0x100000|29524\n后脑|0x100000|34317\n后年|0x4000|36146\n后娘|0x100000|35061\n后怕|0x40000000|26450\n后排|0x100000|18650\n后妻|0x100000|45888\n后期|0x4000|6432\n后起|0x1000|41704\n后桥|0x0040|1531\n后秦|0x0008|34942\n后勤|0x100000|4938\n后区|0x0008|0\n后人|0x100000|6021\n后任|0x100000|19954\n后日|0x4000|35213\n后晌|0x4000|25969\n后身|0x100000|33269\n后生|0x100000|11561\n后世|0x100000|10336\n后市|0x100000|703\n后事|0x100000|14006\n后手|0x100000|40150\n后嗣|0x100000|38479\n后台|0x100000|10891\n后唐|0x4000|45582\n后堂|0x100000|961\n后天|0x100000|9364\n后庭|0x8000|852\n后头|0x100000|12034\n后土|0x100000|1000\n后腿|0x100000|18245\n后退|0x1000|8959\n后卫|0x100000|12752\n后魏|0x0000|50203\n后溪|0x0040|1035\n后巷|0x0040|0\n后项|0x0040|1158\n后效|0x100000|36646\n后心|0x100000|31402\n后续|0x1000|9577\n后学|0x100000|37898\n后牙|0x0040|1096\n后燕|0x0008|0\n后仰|0x0000|28464\n后腰|0x100000|782\n后羿|0x0080|1365\n后裔|0x100000|15469\n后影|0x100000|30393\n后园|0x100000|957\n后援|0x100000|27285\n后缘|0x100000|1057\n后院|0x100000|10275\n后账|0x100000|50986\n后赵|0x0008|43895\n后者|0x100000|4113\n后肢|0x100000|31633\n后置|0x1000|887\n后周|0x4000|46770\n后主|0x100000|862\n后缀|0x100000|702\n后坐|0x100000|47074\n后座|0x100000|26044\n厚爱|0x100000|20085\n厚板|0x0008|1378\n厚薄|0x100000|32995\n厚待|0x1000|33639\n厚道|0x40000000|18202\n厚度|0x100000|11225\n厚恩|0x100000|1065\n厚非|0x100000|1136\n厚厚|0x0100|574\n厚茧|0x100000|1099\n厚礼|0x100000|19248\n厚利|0x100000|42708\n厚脸|0x1000|0\n厚禄|0x0000|39100\n厚片|0x100000|996\n厚朴|0x40000000|969\n厚漆|0x0008|0\n厚生|0x0020|1544\n厚实|0x40000000|17017\n厚望|0x100000|13878\n厚味|0x100000|1027\n厚谢|0x1000|0\n厚颜|0x40000000|1486\n厚谊|0x100000|49817\n厚意|0x100000|40375\n厚遇|0x100000|1160\n厚葬|0x1000|40575\n厚纸|0x0000|405\n厚重|0x40000000|10977\n候补|0x1000|20440\n候场|0x1000|0\n候车|0x1000|20051\n候候|0x0080|0\n候机|0x1000|33398\n候教|0x1000|1116\n候鸟|0x100000|14138\n候审|0x1000|24502\n候温|0x100000|1297\n候选|0x1000|13235\n候诊|0x1000|42451\n呼哧|0x80000|35826\n呼出|0x0000|595\n呼喊|0x1000|9959\n呼号|0x1000|27371\n呼喝|0x1000|895\n呼呼|0x80000|582\n呼唤|0x1000|4507\n呼机|0x100000|880\n呼叫|0x1000|12663\n呼救|0x1000|23372\n呼啦|0x80000|28923\n呼隆|0x0000|44137\n呼噜|0x0000|34318\n呼玛|0x0080|1030\n呼气|0x1000|39526\n呼入|0x0000|456\n呼扇|0x0000|53768\n呼哨|0x100000|1006\n呼声|0x100000|4730\n呼市|0x0020|863\n呼吸|0x100000|3239\n呼啸|0x1000|11240\n呼延|0x100000|489\n呼应|0x1000|13048\n呼语|0x100000|0\n呼吁|0x1000|2773\n忽地|0x8000000|782\n忽而|0x8000000|9973\n忽忽|0x8000000|658\n忽略|0x1000|6682\n忽米|0x100000|1376\n忽然|0x8000000|1977\n忽闪|0x1000|27704\n忽视|0x1000|3611\n忽悠|0x1000|41705\n唿哨|0x100000|1097\n囫囵|0x8000000|30394\n弧度|0x100000|37545\n弧光|0x100000|41706\n弧菌|0x100000|1077\n弧线|0x100000|22678\n弧形|0x100000|22271\n狐步|0x0008|1069\n狐臭|0x100000|45889\n狐猴|0x0000|392\n狐狸|0x100000|12765\n狐媚|0x1000|37711\n狐皮|0x100000|38689\n狐裘|0x100000|52264\n狐臊|0x100000|1386\n狐仙|0x100000|39712\n狐疑|0x40000000|21581\n胡编|0x1000|877\n胡茬|0x100000|958\n胡扯|0x1000|24639\n胡吹|0x1000|46466\n胡葱|0x0080|0\n胡蝶|0x100000|990\n胡豆|0x100000|1019\n胡匪|0x100000|1262\n胡蜂|0x100000|50204\n胡搞|0x1000|44986\n胡瓜|0x0080|865\n胡话|0x100000|42206\n胡笳|0x100000|43671\n胡椒|0x100000|32252\n胡搅|0x1000|52266\n胡侃|0x0000|50987\n胡来|0x1000|26750\n胡乱|0x8000000|11082\n胡麻|0x100000|44139\n胡闹|0x1000|12480\n胡琴|0x100000|20312\n胡人|0x100000|41707\n胡适|0x0080|1274\n胡说|0x100000|9747\n胡荽|0x0080|1119\n胡桃|0x100000|33913\n胡同|0x100000|5703\n胡桐|0x0080|0\n胡涂|0x40000000|891\n胡须|0x100000|12652\n胡言|0x100000|36147\n胡杨|0x100000|22728\n胡诌|0x1000|30055\n胡子|0x100000|5419\n壶盖|0x100000|1043\n壶关|0x0080|1005\n壶内|0x8000|0\n壶中|0x8000|938\n湖岸|0x100000|893\n湖北|0x0040|2819\n湖笔|0x100000|52267\n湖边|0x8000|662\n湖滨|0x100000|23584\n湖泊|0x100000|7726\n湖汊|0x0000|55693\n湖底|0x8000|829\n湖光|0x100000|27286\n湖广|0x0008|1443\n湖口|0x0080|1398\n湖蓝|0x0000|53262\n湖绿|0x100000|50989\n湖面|0x8000|692\n湖名|0x0008|1166\n湖南|0x0040|2254\n湖畔|0x100000|15977\n湖盆|0x0008|1133\n湖区|0x100000|773\n湖色|0x100000|45297\n湖水|0x100000|643\n湖滩|0x100000|1146\n湖田|0x100000|55694\n湖心|0x0000|30807\n湖羊|0x100000|1208\n湖泽|0x100000|53263\n湖沼|0x100000|43187\n湖州|0x0040|1034\n湖绉|0x100000|1401\n猢狲|0x100000|32757\n葫芦|0x100000|8921\n糊糊|0x100000|21906\n糊精|0x0008|975\n糊口|0x1000|19669\n糊料|0x100000|1201\n糊弄|0x1000|21433\n糊墙|0x1000|1197\n糊涂|0x40000000|5564\n糊状|0x0008|851\n蝴蝶|0x100000|7362\n衚衕|0x100000|0\n觳觫|0x1000|1184\n虎豹|0x100000|1302\n虎背|0x100000|1057\n虎贲|0x100000|980\n虎步|0x100000|48369\n虎胆|0x100000|52744\n虎伏|0x0008|1207\n虎符|0x100000|1026\n虎骨|0x100000|41709\n虎虎|0x0100|1435\n虎将|0x100000|32633\n虎劲|0x100000|1265\n虎口|0x100000|19699\n虎狼|0x100000|28924\n虎林|0x0080|1498\n虎猫|0x0008|1226\n虎门|0x0040|1101\n虎年|0x100000|1063\n虎皮|0x100000|828\n虎气|0x100000|50205\n虎钳|0x100000|49459\n虎势|0x40000000|1221\n虎视|0x1000|921\n虎威|0x100000|41468\n虎尾|0x100000|897\n虎啸|0x100000|853\n虎穴|0x100000|34054\n虎牙|0x100000|34789\n虎杖|0x0008|0\n虎仔|0x100000|1099\n虎子|0x100000|866\n唬人|0x1000|39925\n琥珀|0x100000|27533\n互爱|0x0000|43423\n互帮|0x1000|868\n互补|0x1000|6620\n互不|0x8000000|656\n互道|0x0040|1\n互动|0x0000|5294\n互访|0x1000|6896\n互感|0x1000|1068\n互换|0x1000|18841\n互惠|0x40000000|9878\n互济|0x1000|32758\n互见|0x0000|49460\n互交|0x0008|3\n互利|0x1000|4364\n互连|0x1000|754\n互谅|0x0000|30808\n互勉|0x1000|50595\n互殴|0x1000|986\n互派|0x1000|25893\n互让|0x1000|30395\n互生|0x1000|480\n互市|0x0000|38273\n互锁|0x0000|402\n互通|0x1000|12320\n互为|0x1000|10430\n互相|0x8000000|1227\n互信|0x1000|824\n互赠|0x0000|458\n互助|0x1000|6114\n户部|0x0020|883\n户长|0x100000|1110\n户调|0x0008|0\n户户|0x20000|855\n户籍|0x100000|9017\n户均|0x100000|948\n户口|0x100000|4984\n户名|0x100000|784\n户内|0x0008|1386\n户头|0x100000|32513\n户外|0x8000|10712\n户县|0x0040|1491\n户限|0x100000|0\n户型|0x100000|52269\n户牖|0x100000|1083\n户政|0x100000|968\n户主|0x100000|24234\n护岸|0x100000|43189\n护壁|0x20000000|1092\n护兵|0x100000|30809\n护持|0x1000|48742\n护从|0x0000|52745\n护堤|0x0000|37546\n护垫|0x100000|901\n护短|0x1000|29525\n护耳|0x100000|1049\n护发|0x0008|24768\n护法|0x100000|17445\n护封|0x0080|1193\n护肤|0x1000|567\n护符|0x100000|1004\n护工|0x0000|6804\n护航|0x1000|20086\n护喉|0x0080|0\n护驾|0x1000|31992\n护肩|0x100000|968\n护具|0x100000|55697\n护栏|0x100000|19554\n护理|0x1000|6070\n护林|0x1000|19925\n护路|0x1000|31293\n护坡|0x100000|35512\n护旗|0x100000|1190\n护墙|0x100000|987\n护身|0x1000|38098\n护士|0x100000|4126\n护守|0x1000|0\n护送|0x1000|11901\n护套|0x0008|1314\n护腿|0x100000|932\n护腕|0x0000|55698\n护卫|0x1000|14080\n护膝|0x100000|52746\n护校|0x100000|1036\n护胸|0x100000|55699\n护眼|0x0000|504\n护养|0x1000|48370\n护佑|0x1000|44140\n护渔|0x0000|49109\n护院|0x0000|37006\n护照|0x100000|10297\n护罩|0x0008|908\n护肘|0x100000|987\n沪剧|0x100000|43424\n沪市|0x0020|774\n怙恃|0x100000|0\n戽斗|0x100000|1232\n戽水|0x0080|0\n扈从|0x100000|1064\n瓠子|0x100000|55700\n花白|0x0100|14427\n花斑|0x100000|43672\n花瓣|0x100000|16074\n花苞|0x100000|40799\n花被|0x100000|979\n花边|0x100000|22988\n花柄|0x100000|1137\n花布|0x100000|20165\n花彩|0x100000|1108\n花菜|0x100000|46200\n花草|0x100000|9748\n花插|0x100000|41469\n花茶|0x100000|37547\n花车|0x100000|29109\n花城|0x0008|1104\n花痴|0x0000|574\n花绸|0x0000|46201\n花丛|0x100000|23421\n花簇|0x100000|54285\n花带|0x100000|1009\n花旦|0x100000|29852\n花道|0x0000|532\n花灯|0x100000|19774\n花蒂|0x100000|1192\n花店|0x100000|588\n花雕|0x100000|922\n花蝶|0x0008|1534\n花缎|0x4000000|42452\n花朵|0x100000|8416\n花萼|0x100000|45299\n花儿|0x100000|10721\n花贩|0x100000|1126\n花房|0x100000|39926\n花肥|0x100000|55270\n花费|0x1000|6680\n花粉|0x100000|14508\n花糕|0x0000|51412\n花格|0x0008|972\n花梗|0x100000|1080\n花鼓|0x100000|22407\n花冠|0x100000|28021\n花光|0x0008|1174\n花国|0x0008|1184\n花海|0x100000|804\n花红|0x100000|31404\n花环|0x100000|24889\n花黄|0x100000|1030\n花卉|0x100000|5536\n花会|0x100000|25340\n花季|0x100000|24126\n花甲|0x100000|30056\n花价|0x100000|0\n花架|0x100000|39927\n花笺|0x100000|1118\n花剑|0x100000|26391\n花键|0x0008|1004\n花匠|0x100000|41024\n花椒|0x100000|19584\n花轿|0x100000|19025\n花茎|0x100000|982\n花精|0x100000|1069\n花镜|0x100000|38480\n花卷|0x100000|46467\n花开|0x0008|810\n花魁|0x100000|886\n花篮|0x100000|14639\n花蕾|0x100000|23270\n花梨|0x100000|875\n花莲|0x0040|1182\n花脸|0x100000|25193\n花翎|0x100000|1049\n花柳|0x100000|987\n花楼|0x0040|1024\n花露|0x100000|1012\n花落|0x0000|655\n花蜜|0x100000|38275\n花苗|0x100000|44699\n花名|0x100000|863\n花木|0x100000|12287\n花呢|0x100000|35664\n花鸟|0x100000|18871\n花农|0x100000|22783\n花盘|0x100000|53264\n花炮|0x100000|23373\n花盆|0x100000|21148\n花棚|0x100000|1138\n花瓶|0x100000|14792\n花圃|0x100000|24700\n花期|0x100000|25565\n花旗|0x0008|1203\n花钱|0x1000|4714\n花枪|0x100000|44700\n花腔|0x100000|40377\n花墙|0x100000|43897\n花桥|0x0008|1381\n花俏|0x40000000|48008\n花青|0x0008|1127\n花圈|0x100000|11622\n花拳|0x100000|43673\n花蕊|0x100000|26451\n花色|0x100000|16169\n花哨|0x40000000|28543\n花生|0x100000|8169\n花市|0x100000|21582\n花式|0x20000000|768\n花事|0x100000|1371\n花饰|0x100000|48009\n花束|0x100000|28630\n花丝|0x100000|1046\n花台|0x100000|987\n花坛|0x100000|16056\n花毯|0x100000|1137\n花厅|0x100000|25703\n花筒|0x0008|791\n花头|0x100000|887\n花托|0x100000|50207\n花王|0x100000|1416\n花纹|0x100000|14539\n花县|0x100000|1152\n花线|0x0008|54286\n花香|0x100000|600\n花消|0x100000|1010\n花销|0x100000|26889\n花鞋|0x100000|1060\n花心|0x100000|32514\n花信|0x100000|49110\n花序|0x100000|29637\n花絮|0x100000|28099\n花押|0x100000|1172\n花芽|0x100000|32889\n花眼|0x100000|46468\n花样|0x100000|9050\n花药|0x100000|1069\n花叶|0x100000|864\n花衣|0x0008|1464\n花影|0x100000|870\n花用|0x20000000|1020\n花园|0x100000|4246\n花垣|0x0080|1007\n花月|0x100000|857\n花展|0x100000|947\n花账|0x100000|1371\n花障|0x100000|1364\n花招|0x100000|25256\n花枝|0x100000|760\n花种|0x100000|948\n花轴|0x100000|1221\n花烛|0x100000|46469\n花柱|0x0008|1083\n花砖|0x100000|48010\n花子|0x100000|18396\n华安|0x0040|1194\n华宝|0x0008|1304\n华北|0x0040|4963\n华表|0x100000|38099\n华埠|0x0008|1512\n华彩|0x40000000|763\n华池|0x0080|1001\n华诞|0x100000|14346\n华灯|0x100000|23422\n华东|0x0040|9340\n华发|0x100000|42709\n华府|0x0008|816\n华盖|0x100000|38482\n华工|0x100000|24832\n华贵|0x40000000|23486\n华翰|0x100000|1103\n华航|0x0008|894\n华军|0x0008|1053\n华里|0x20000|28544\n华丽|0x40000000|6722\n华美|0x40000000|18616\n华纳|0x0008|1086\n华南|0x0040|7823\n华年|0x0000|46470\n华宁|0x0080|1486\n华坪|0x0080|1034\n华旗|0x0008|1382\n华侨|0x100000|4495\n华人|0x100000|3502\n华容|0x0080|1312\n华润|0x0008|1078\n华沙|0x0040|1411\n华山|0x0040|16820\n华商|0x100000|681\n华氏|0x20000000|856\n华视|0x0080|1387\n华硕|0x0008|979\n华腾|0x0008|1442\n华亭|0x0080|1339\n华佗|0x0080|1333\n华为|0x0008|1014\n华文|0x100000|13464\n华西|0x0040|21907\n华夏|0x0020|6946\n华厦|0x0080|1325\n华县|0x0040|1491\n华严|0x0080|492\n华阳|0x0008|1222\n华裔|0x100000|12946\n华阴|0x0040|1477\n华银|0x0008|1422\n华蓥|0x0040|1523\n华语|0x100000|27534\n华约|0x0008|1082\n华章|0x100000|24640\n华中|0x0040|12725\n华胄|0x100000|50208\n华族|0x0008|50209\n哗变|0x1000|29744\n哗哗|0x80000|12288\n哗啦|0x80000|12466\n哗然|0x0100|22322\n哗笑|0x1000|1211\n哗众|0x1000|1105\n滑板|0x100000|37899\n滑冰|0x1000|16970\n滑槽|0x0008|1142\n滑车|0x100000|43898\n滑道|0x100000|44988\n滑动|0x1000|20734\n滑阀|0x0008|1106\n滑竿|0x100000|40152\n滑轨|0x100000|901\n滑环|0x0008|0\n滑稽|0x100000|9483\n滑精|0x0008|392\n滑溜|0x1000|30173\n滑轮|0x100000|34483\n滑落|0x0000|18992\n滑嫩|0x0000|54287\n滑腻|0x40000000|39101\n滑跑|0x1000|1117\n滑坡|0x100000|9735\n滑润|0x40000000|47078\n滑石|0x0008|909\n滑爽|0x0000|52270\n滑水|0x0000|39713\n滑梯|0x100000|31852\n滑头|0x100000|28466\n滑脱|0x1000|1000\n滑下|0x0000|566\n滑县|0x0040|1470\n滑翔|0x1000|32997\n滑行|0x1000|22627\n滑雪|0x1000|8244\n滑移|0x1000|1024\n滑音|0x100000|1038\n化成|0x1000|635\n化德|0x0080|1095\n化冻|0x1000|51413\n化肥|0x100000|4512\n化分|0x1000|1\n化工|0x100000|4710\n化合|0x1000|18246\n化化|0x0080|0\n化解|0x1000|5048\n化境|0x100000|906\n化疗|0x1000|18295\n化名|0x100000|21149\n化脓|0x1000|29955\n化钱|0x1000|1104\n化入|0x1000|1005\n化身|0x100000|15446\n化生|0x0080|1406\n化石|0x100000|5480\n化痰|0x1000|36471\n化外|0x0000|29423\n化为|0x1000|592\n化武|0x0008|1061\n化纤|0x100000|16989\n化性|0x0080|2\n化学|0x100000|3046\n化验|0x1000|12056\n化饮|0x0008|0\n化用|0x1000|1\n化瘀|0x0000|49463\n化缘|0x1000|32890\n化斋|0x1000|1113\n化州|0x0040|1462\n化妆|0x1000|13560\n化装|0x1000|16849\n化作|0x1000|579\n化做|0x1000|694\n划拨|0x1000|14984\n划策|0x1000|0\n划出|0x1000|694\n划船|0x1000|18294\n划掉|0x0000|463\n划定|0x1000|11694\n划动|0x0000|458\n划法|0x1000|1\n划分|0x1000|4399\n划归|0x1000|20441\n划过|0x1000|575\n划痕|0x100000|802\n划划|0x1000|903\n划价|0x1000|43900\n划桨|0x1000|36148\n划界|0x1000|22539\n划拉|0x1000|35214\n划片|0x100000|1046\n划破|0x1000|688\n划清|0x1000|790\n划去|0x0000|479\n划拳|0x1000|37180\n划入|0x1000|846\n划伤|0x100000|793\n划手|0x0008|1178\n划水|0x1000|41710\n划算|0x1000|19398\n划艇|0x100000|33522\n划为|0x1000|510\n划线|0x1000|27781\n划行|0x1000|0\n划一|0x401000|34943\n划转|0x1000|908\n划着|0x1000|815\n划子|0x100000|35990\n画板|0x100000|39300\n画报|0x100000|16148\n画本|0x100000|1063\n画笔|0x100000|20945\n画饼|0x1000|1005\n画布|0x100000|31047\n画册|0x100000|11111\n画成|0x1000|868\n画出|0x0000|639\n画到|0x1000|0\n画儿|0x0000|16399\n画法|0x100000|810\n画舫|0x100000|43190\n画幅|0x100000|32515\n画稿|0x100000|36149\n画工|0x100000|34944\n画画|0x1000|13637\n画集|0x100000|22576\n画夹|0x100000|41712\n画家|0x100000|3220\n画架|0x100000|42711\n画匠|0x100000|35062\n画境|0x100000|1060\n画具|0x100000|46771\n画卷|0x100000|12192\n画刊|0x100000|44989\n画框|0x100000|742\n画廊|0x100000|16624\n画论|0x100000|1038\n画眉|0x100000|22109\n画谜|0x0000|439\n画面|0x100000|4177\n画皮|0x100000|906\n画片|0x100000|26528\n画品|0x100000|0\n画屏|0x100000|45583\n画谱|0x100000|41026\n画人|0x100000|0\n画商|0x100000|1088\n画师|0x100000|27706\n画室|0x100000|22323\n画坛|0x100000|22110\n画堂|0x100000|55273\n画帖|0x100000|50991\n画图|0x100000|22457\n画王|0x100000|943\n画线|0x0000|489\n画像|0x100000|10234\n画押|0x100000|35215\n画页|0x100000|52747\n画意|0x100000|913\n画苑|0x100000|50210\n画院|0x100000|20694\n画展|0x100000|10238\n画纸|0x100000|938\n画质|0x100000|706\n画轴|0x100000|46471\n画作|0x100000|788\n话本|0x100000|31634\n话别|0x1000|24503\n话柄|0x100000|32380\n话茬|0x100000|947\n话多|0x0000|510\n话儿|0x100000|826\n话费|0x0000|14373\n话锋|0x100000|26045\n话机|0x0000|28100\n话旧|0x1000|52271\n话剧|0x100000|4957\n话梅|0x100000|40578\n话说|0x1000|5913\n话题|0x100000|2478\n话筒|0x100000|8398\n话头|0x100000|15208\n话务|0x100000|900\n话音|0x100000|10431\n话语|0x100000|5513\n桦川|0x0080|1035\n桦甸|0x0040|1552\n桦林|0x0080|1288\n桦木|0x0008|46472\n桦南|0x0080|1001\n桦树|0x100000|34484\n怀安|0x0080|1032\n怀抱|0x100000|7935\n怀表|0x100000|38690\n怀春|0x1000|44703\n怀德|0x0040|1474\n怀古|0x1000|37901\n怀恨|0x1000|25257\n怀化|0x0040|1147\n怀集|0x0080|926\n怀旧|0x1000|17176\n怀来|0x0080|1437\n怀里|0x8000|512\n怀恋|0x1000|37902\n怀念|0x1000|6788\n怀宁|0x0080|1419\n怀仁|0x0080|1472\n怀柔|0x1000|20768\n怀胎|0x1000|31993\n怀特|0x0080|1362\n怀乡|0x0000|46473\n怀想|0x1000|39301\n怀疑|0x1000|2306\n怀有|0x1000|11807\n怀远|0x0080|1362\n怀孕|0x1000|9975\n怀中|0x100000|613\n怀着|0x1000|580\n淮安|0x0040|1075\n淮北|0x0040|1117\n淮滨|0x0080|987\n淮海|0x0000|20502\n淮河|0x0040|5592\n淮剧|0x100000|51414\n淮南|0x0040|1077\n淮阳|0x0080|1440\n淮阴|0x0080|1256\n槐豆|0x100000|1370\n槐花|0x100000|26681\n槐角|0x0008|1185\n槐树|0x100000|13279\n槐叶|0x100000|1192\n踝骨|0x100000|46205\n坏处|0x100000|19135\n坏蛋|0x100000|17040\n坏掉|0x0000|545\n坏话|0x100000|20012\n坏疽|0x0008|1058\n坏人|0x100000|9318\n坏事|0x100000|8688\n坏书|0x100000|1140\n坏水|0x100000|42454\n坏死|0x1000|18993\n坏帐|0x100000|899\n坏账|0x0000|33123\n坏种|0x0000|47699\n欢场|0x0008|439\n欢畅|0x40000000|33523\n欢唱|0x1000|39102\n欢度|0x1000|13821\n欢歌|0x100000|768\n欢好|0x1000|0\n欢呼|0x1000|7763\n欢聚|0x100000|19340\n欢快|0x40000000|8545\n欢乐|0x40000000|3967\n欢闹|0x1000|47700\n欢洽|0x40000000|0\n欢情|0x100000|0\n欢庆|0x1000|11037\n欢声|0x100000|719\n欢实|0x40000000|0\n欢送|0x1000|15350\n欢腾|0x1000|16971\n欢跳|0x0000|43676\n欢慰|0x0000|45894\n欢喜|0x1000|5725\n欢笑|0x100000|13638\n欢心|0x100000|18147\n欢欣|0x40000000|19083\n欢颜|0x100000|35063\n欢宴|0x1000|35362\n欢迎|0x1000|873\n欢娱|0x100000|30810\n欢愉|0x40000000|28184\n欢悦|0x40000000|28185\n欢跃|0x1000|945\n还报|0x1000|24168\n还本|0x1000|24328\n还贷|0x0000|16075\n还给|0x1000|540\n还好|0x1000|498\n还魂|0x1000|44704\n还击|0x1000|18203\n还价|0x1000|37364\n还口|0x1000|43901\n还款|0x1000|751\n还礼|0x1000|28724\n还清|0x1000|739\n还情|0x1000|50992\n还是|0x10000000|188\n还手|0x1000|26529\n还说|0x0000|713\n还俗|0x1000|36647\n还算|0x0000|731\n还田|0x0000|32759\n还席|0x1000|0\n还乡|0x1000|22273\n还押|0x1000|1174\n还阳|0x1000|45895\n还要|0x1000|494\n还有|0x1000|810\n还原|0x1000|10990\n还愿|0x1000|30811\n还早|0x0000|586\n还债|0x1000|17483\n还帐|0x0000|367\n还账|0x1000|40378\n还政|0x0000|38483\n还嘴|0x1000|43425\n环靶|0x100000|55274\n环斑|0x0080|0\n环保|0x1000|2487\n环抱|0x1000|18365\n环衬|0x0080|0\n环城|0x20000000|19585\n环带|0x0008|1063\n环岛|0x100000|30928\n环道|0x0080|1079\n环顾|0x1000|16149\n环海|0x1000|40153\n环合|0x0008|1188\n环化|0x0080|0\n环环|0x20000|941\n环礁|0x100000|1093\n环节|0x100000|2102\n环境|0x100000|337\n环孔|0x0080|0\n环列|0x1000|1080\n环流|0x100000|11749\n环路|0x100000|833\n环佩|0x100000|953\n环球|0x100000|9457\n环绕|0x1000|10754\n环山|0x1000|29745\n环生|0x1000|35514\n环蚀|0x0080|0\n环食|0x100000|1347\n环视|0x1000|23865\n环水|0x1000|1470\n环伺|0x0008|957\n环肽|0x0080|0\n环跳|0x1000|1168\n环烷|0x0080|0\n环卫|0x100000|10970\n环纹|0x0008|1078\n环县|0x0040|1037\n环线|0x100000|25566\n环行|0x1000|42925\n环形|0x100000|20735\n环游|0x1000|32999\n环宇|0x100000|1162\n环中|0x0008|986\n环状|0x100000|31994\n环子|0x100000|43902\n桓台|0x0080|1445\n寰岛|0x0008|992\n寰球|0x100000|987\n寰宇|0x100000|767\n缓办|0x0000|50211\n缓步|0x8000000|23929\n缓冲|0x1000|19775\n缓存|0x100000|641\n缓和|0x1000|6318\n缓缓|0x8000000|5114\n缓急|0x100000|31295\n缓建|0x1000|32127\n缓解|0x1000|4023\n缓流|0x100000|0\n缓慢|0x40000000|4687\n缓凝|0x0080|0\n缓坡|0x100000|33524\n缓期|0x1000|26891\n缓气|0x1000|51415\n缓刑|0x1000|21111\n缓行|0x1000|37548\n缓役|0x0080|0\n缓召|0x0080|0\n缓征|0x1000|45584\n缓滞|0x1000|0\n幻灯|0x100000|34485\n幻化|0x1000|25894\n幻景|0x100000|42208\n幻境|0x100000|36473\n幻觉|0x100000|12653\n幻梦|0x100000|29210\n幻灭|0x1000|26452\n幻视|0x100000|52272\n幻术|0x100000|45585\n幻数|0x100000|0\n幻听|0x100000|45896\n幻想|0x100000|5047\n幻象|0x100000|26613\n幻像|0x100000|1411\n幻影|0x100000|20013\n宦官|0x100000|14207\n宦海|0x100000|46772\n宦途|0x100000|50993\n宦游|0x1000|1086\n唤回|0x1000|818\n唤来|0x1000|945\n唤起|0x1000|9062\n唤头|0x100000|48012\n唤醒|0x1000|11164\n换班|0x1000|32381\n换笔|0x0008|0\n换茬|0x1000|55702\n换车|0x1000|820\n换成|0x1000|592\n换乘|0x1000|29211\n换出|0x0000|459\n换代|0x1000|29110\n换挡|0x0008|888\n换档|0x0008|52751\n换防|0x1000|39302\n换房|0x1000|913\n换岗|0x1000|34179\n换工|0x1000|46474\n换购|0x0000|53770\n换换|0x1000|746\n换汇|0x1000|41713\n换货|0x0000|38692\n换季|0x1000|39527\n换肩|0x1000|52273\n换届|0x1000|8261\n换流|0x1000|0\n换马|0x1000|46475\n换毛|0x1000|1086\n换气|0x1000|28272\n换钱|0x1000|30708\n换亲|0x1000|49111\n换取|0x1000|11315\n换人|0x1000|24769\n换上|0x1000|623\n换手|0x1000|51416\n换算|0x1000|27707\n换帖|0x1000|1142\n换土|0x0008|0\n换位|0x1000|18740\n换文|0x1000|25971\n换洗|0x1000|28631\n换向|0x1000|870\n换心|0x1000|939\n换新|0x0000|557\n换行|0x0000|542\n换型|0x0000|44706\n换血|0x1000|34637\n换牙|0x1000|955\n换样|0x0000|55275\n换药|0x1000|30709\n换页|0x0000|413\n换羽|0x0008|387\n换约|0x1000|52752\n换装|0x0008|44707\n浣熊|0x100000|908\n浣衣|0x1000|1084\n涣然|0x0100|0\n涣散|0x40000000|15351\n患病|0x1000|10425\n患处|0x100000|44990\n患苦|0x100000|0\n患难|0x1000|15603\n患有|0x1000|9584\n患者|0x100000|1779\n焕发|0x1000|8612\n焕然|0x0100|994\n豢养|0x1000|26814\n肓俞|0x0080|0\n荒草|0x100000|19481\n荒村|0x100000|37365\n荒诞|0x40000000|15736\n荒岛|0x100000|30710\n荒地|0x100000|9960\n荒废|0x1000|22274\n荒古|0x0000|53771\n荒寒|0x40000000|0\n荒瘠|0x40000000|53265\n荒寂|0x40000000|49819\n荒郊|0x100000|34486\n荒凉|0x40000000|9832\n荒乱|0x40000000|46476\n荒落|0x1000|0\n荒谬|0x40000000|13730\n荒漠|0x100000|11552\n荒年|0x100000|38892\n荒僻|0x40000000|32128\n荒坡|0x100000|24432\n荒歉|0x1000|0\n荒丘|0x100000|44141\n荒沙|0x100000|27782\n荒山|0x100000|7567\n荒疏|0x1000|46774\n荒滩|0x100000|19879\n荒唐|0x40000000|9012\n荒芜|0x1000|15585\n荒野|0x100000|18204\n荒淫|0x40000000|30812\n荒原|0x100000|16509\n荒月|0x100000|0\n荒灾|0x100000|1376\n荒政|0x0008|0\n荒冢|0x100000|1014\n慌促|0x40000000|0\n慌乱|0x40000000|10031\n慌忙|0x40000000|7539\n慌神|0x1000|47375\n慌张|0x40000000|13715\n皇朝|0x100000|36303\n皇城|0x100000|19084\n皇储|0x100000|46477\n皇帝|0x100000|2530\n皇恩|0x100000|948\n皇妃|0x100000|898\n皇甫|0x0080|577\n皇宫|0x100000|15681\n皇冠|0x100000|22784\n皇后|0x100000|5415\n皇皇|0x0100|992\n皇家|0x100000|10121\n皇军|0x100000|956\n皇历|0x100000|43677\n皇粮|0x100000|26892\n皇陵|0x100000|833\n皇亲|0x100000|19482\n皇权|0x100000|26893\n皇上|0x100000|24217\n皇室|0x100000|18531\n皇叔|0x100000|978\n皇天|0x100000|869\n皇统|0x0008|1170\n皇位|0x100000|24833\n皇庄|0x0008|1165\n皇子|0x100000|18172\n皇族|0x100000|30057\n黄白|0x100000|894\n黄柏|0x0080|1418\n黄斑|0x100000|38893\n黄檗|0x100000|1122\n黄巢|0x0008|474\n黄疸|0x100000|858\n黄道|0x100000|47376\n黄灯|0x0000|50213\n黄帝|0x0008|15074\n黄豆|0x100000|17201\n黄毒|0x100000|46478\n黄蜂|0x100000|32382\n黄苷|0x0080|0\n黄冈|0x0040|1154\n黄瓜|0x100000|11507\n黄冠|0x100000|1017\n黄海|0x0040|13657\n黄河|0x0040|1887\n黄褐|0x100000|1057\n黄鹤|0x100000|766\n黄花|0x100000|15586\n黄骅|0x0040|1352\n黄化|0x1000|1088\n黄黄|0x0100|790\n黄昏|0x4000|5671\n黄祸|0x100000|1079\n黄姜|0x100000|1029\n黄酱|0x100000|50214\n黄教|0x0008|46206\n黄金|0x100000|3577\n黄猄|0x100000|0\n黄精|0x0080|469\n黄酒|0x100000|26046\n黄疽|0x0000|35666\n黄蜡|0x100000|1066\n黄梨|0x0000|50215\n黄鹂|0x100000|868\n黄历|0x100000|45897\n黄连|0x100000|23994\n黄莲|0x0080|1472\n黄了|0x0000|35993\n黄磷|0x100000|991\n黄陵|0x0080|987\n黄龙|0x100000|1160\n黄栌|0x0080|1084\n黄绿|0x100000|846\n黄麻|0x0008|42455\n黄梅|0x100000|1304\n黄米|0x100000|27855\n黄泥|0x100000|863\n黄鸟|0x100000|1039\n黄牛|0x100000|13858\n黄牌|0x100000|19807\n黄袍|0x100000|465\n黄鹏|0x0000|39930\n黄皮|0x20000000|951\n黄片|0x100000|847\n黄平|0x0080|1514\n黄浦|0x0080|1144\n黄芪|0x100000|35667\n黄旗|0x0040|1474\n黄芩|0x100000|915\n黄泉|0x100000|28925\n黄雀|0x100000|40155\n黄壤|0x0008|55276\n黄色|0x100000|4654\n黄沙|0x100000|14159\n黄山|0x0040|931\n黄鳝|0x100000|30711\n黄石|0x0040|1088\n黄书|0x0000|49465\n黄熟|0x0000|52753\n黄鼠|0x100000|1200\n黄素|0x0008|464\n黄檀|0x100000|1144\n黄汤|0x100000|993\n黄藤|0x0080|0\n黄体|0x0008|474\n黄铜|0x100000|28926\n黄酮|0x0080|479\n黄土|0x100000|6164\n黄烷|0x0080|0\n黄癣|0x100000|0\n黄岩|0x0080|1154\n黄羊|0x100000|31168\n黄杨|0x100000|41470\n黄叶|0x100000|765\n黄页|0x100000|446\n黄莺|0x100000|34180\n黄油|0x100000|28725\n黄鼬|0x100000|50216\n黄鱼|0x100000|30174\n黄玉|0x0080|923\n黄纸|0x0008|1554\n黄钟|0x100000|1042\n黄种|0x100000|847\n徨徨|0x0080|845\n惶惶|0x0100|23695\n惶惑|0x40000000|16323\n惶急|0x0100|993\n惶惧|0x40000000|1165\n惶遽|0x40000000|50217\n惶恐|0x40000000|14276\n惶悚|0x40000000|49822\n湟鱼|0x0008|0\n湟源|0x0080|992\n湟中|0x0080|1542\n遑遑|0x0100|830\n煌煌|0x0100|35363\n潢川|0x0080|1451\n蝗虫|0x100000|17819\n蝗害|0x0080|1368\n蝗蝻|0x100000|1393\n蝗灾|0x100000|37903\n磺胺|0x100000|41714\n磺化|0x0008|415\n磺脲|0x0080|0\n簧片|0x100000|1034\n鳇鱼|0x0000|46207\n恍惚|0x40000000|8379\n恍然|0x8000000|16788\n恍如|0x1000|30929\n恍若|0x1000|24567\n恍悟|0x1000|1002\n晃荡|0x1000|23585\n晃动|0x1000|12237\n晃晃|0x0080|628\n晃眼|0x40000000|39528\n晃摇|0x0000|52275\n晃悠|0x1000|30813\n谎报|0x1000|27287\n谎称|0x1000|23423\n谎话|0x100000|18397\n谎骗|0x1000|54289\n谎言|0x100000|10685\n幌动|0x1000|1219\n幌子|0x100000|12592\n灰暗|0x40000000|16343\n灰白|0x100000|14941\n灰尘|0x100000|9749\n灰度|0x100000|846\n灰发|0x100000|2\n灰分|0x100000|52276\n灰狗|0x0000|387\n灰褐|0x100000|1123\n灰鹤|0x0008|1140\n灰黑|0x100000|897\n灰化|0x1000|1064\n灰灰|0x0100|780\n灰浆|0x100000|47079\n灰烬|0x100000|20770\n灰鲸|0x100000|1258\n灰狼|0x100000|787\n灰冷|0x40000000|0\n灰泥|0x0000|49115\n灰色|0x100000|6158\n灰沙|0x100000|1089\n灰鼠|0x100000|926\n灰土|0x100000|25631\n灰雾|0x100000|1088\n灰心|0x40000000|16626\n灰质|0x100000|44991\n诙谐|0x40000000|14452\n恢复|0x1000|874\n恢弘|0x1000|799\n恢宏|0x1000|22361\n恢恢|0x0100|931\n恢廓|0x1000|1259\n挥笔|0x1000|930\n挥臂|0x1000|1053\n挥鞭|0x0000|44142\n挥斥|0x1000|52754\n挥动|0x1000|14753\n挥发|0x1000|22157\n挥杆|0x1000|906\n挥戈|0x1000|45586\n挥汗|0x1000|32383\n挥毫|0x1000|21029\n挥霍|0x1000|14217\n挥泪|0x1000|29527\n挥拳|0x1000|36648\n挥洒|0x1000|22009\n挥师|0x1000|35364\n挥手|0x1000|8417\n挥舞|0x1000|12808\n挥写|0x1000|0\n晖映|0x1000|1075\n珲春|0x0040|1467\n辉光|0x100000|41472\n辉煌|0x40000000|2666\n辉南|0x0080|1005\n辉瑞|0x0008|1467\n辉石|0x0080|1048\n辉县|0x0040|1362\n辉耀|0x1000|871\n辉映|0x1000|18767\n麾下|0x100000|14407\n徽标|0x100000|842\n徽调|0x100000|54291\n徽号|0x100000|38484\n徽记|0x100000|41473\n徽剧|0x100000|51417\n徽墨|0x100000|52277\n徽县|0x0040|1034\n徽章|0x100000|25194\n徽州|0x0040|1243\n回拜|0x1000|44992\n回报|0x1000|4569\n回避|0x1000|5172\n回禀|0x1000|33525\n回波|0x100000|34181\n回驳|0x1000|49823\n回部|0x0008|2\n回采|0x1000|41715\n回肠|0x100000|983\n回潮|0x1000|30930\n回车|0x1000|42456\n回撤|0x0000|47081\n回城|0x1000|771\n回程|0x100000|33915\n回春|0x1000|33272\n回窜|0x0000|54292\n回答|0x1000|570\n回单|0x100000|47082\n回弹|0x1000|883\n回荡|0x1000|12419\n回档|0x0008|930\n回到|0x1000|491\n回电|0x100000|33124\n回跌|0x1000|51418\n回返|0x1000|39715\n回防|0x1000|902\n回访|0x1000|13511\n回放|0x1000|22877\n回风|0x0000|487\n回复|0x1000|11019\n回覆|0x0000|755\n回纥|0x0000|55704\n回购|0x1000|781\n回顾|0x1000|3718\n回归|0x1000|3697\n回锅|0x1000|48744\n回国|0x1000|566\n回过|0x1000|637\n回函|0x1000|961\n回航|0x1000|0\n回合|0x20000|9004\n回话|0x100000|17076\n回还|0x1000|39303\n回环|0x8000000|31747\n回回|0x100000|19085\n回火|0x1000|52278\n回击|0x1000|23747\n回家|0x1000|490\n回见|0x1000|43426\n回交|0x1000|0\n回教|0x0020|34057\n回敬|0x1000|23374\n回绝|0x1000|21583\n回空|0x1000|0\n回扣|0x100000|10782\n回馈|0x1000|648\n回来|0x1000|823\n回廊|0x100000|20611\n回礼|0x100000|42926\n回历|0x100000|1170\n回流|0x1000|20612\n回笼|0x1000|26530\n回炉|0x1000|42713\n回禄|0x100000|0\n回路|0x100000|23649\n回落|0x1000|8549\n回门|0x1000|45587\n回民|0x100000|22577\n回眸|0x1000|17303\n回目|0x100000|1018\n回暖|0x1000|30814\n回迁|0x1000|32517\n回请|0x1000|47083\n回去|0x1000|1885\n回圈|0x0008|0\n回绕|0x1000|46777\n回身|0x1000|13914\n回神|0x1000|50598\n回升|0x1000|6736\n回生|0x1000|49116\n回声|0x100000|13658\n回师|0x1000|32129\n回收|0x1000|4709\n回手|0x1000|36817\n回首|0x1000|8726\n回书|0x100000|0\n回水|0x100000|39932\n回丝|0x0008|1128\n回送|0x0000|454\n回溯|0x1000|28102\n回天|0x1000|25258\n回填|0x1000|37008\n回条|0x100000|1081\n回帖|0x100000|615\n回头|0x1000|2904\n回吐|0x1000|895\n回望|0x1000|677\n回味|0x1000|12142\n回文|0x100000|50599\n回稳|0x1000|963\n回席|0x1000|0\n回乡|0x100000|723\n回翔|0x0000|53268\n回响|0x1000|15284\n回想|0x1000|8623\n回销|0x1000|54293\n回心|0x0000|25567\n回信|0x100000|10042\n回叙|0x100000|0\n回旋|0x1000|14618\n回忆|0x1000|2577\n回音|0x100000|13394\n回应|0x1000|7762\n回游|0x1000|37009\n回援|0x1000|1057\n回赠|0x1000|34638\n回涨|0x1000|53269\n回执|0x100000|28632\n回转|0x1000|18689\n回族|0x0008|8534\n回嘴|0x1000|42209\n洄游|0x1000|37009\n茴香|0x100000|38277\n蛔虫|0x100000|27458\n蛔厥|0x0008|0\n悔改|0x1000|27613\n悔过|0x1000|28024\n悔恨|0x40000000|14658\n悔婚|0x1000|51835\n悔棋|0x1000|55278\n悔悟|0x1000|27856\n悔约|0x0000|54294\n悔罪|0x1000|31748\n汇报|0x1000|2385\n汇编|0x1000|17531\n汇成|0x1000|786\n汇出|0x1000|879\n汇兑|0x1000|28373\n汇费|0x100000|52281\n汇付|0x1000|1111\n汇合|0x1000|18959\n汇集|0x1000|8084\n汇寄|0x1000|50996\n汇价|0x100000|32518\n汇聚|0x1000|10443\n汇款|0x100000|13111\n汇流|0x1000|34639\n汇拢|0x1000|53270\n汇率|0x100000|6125\n汇票|0x100000|18741\n汇入|0x1000|771\n汇市|0x100000|754\n汇水|0x100000|1157\n汇算|0x1000|917\n汇演|0x100000|18058\n汇映|0x1000|0\n汇源|0x100000|1240\n汇展|0x1000|46778\n汇总|0x1000|13150\n会报|0x0008|1381\n会标|0x100000|35515\n会餐|0x1000|33640\n会操|0x1000|47378\n会昌|0x0008|1483\n会长|0x100000|2728\n会场|0x100000|4515\n会钞|0x1000|0\n会车|0x1000|4\n会党|0x100000|1130\n会典|0x100000|0\n会东|0x0080|1028\n会儿|0x4000|619\n会费|0x100000|16990\n会风|0x100000|23225\n会馆|0x100000|12872\n会海|0x100000|1149\n会合|0x1000|13512\n会后|0x4000|708\n会话|0x1000|27459\n会徽|0x100000|14374\n会会|0x100000|428\n会集|0x1000|960\n会籍|0x0000|52755\n会计|0x100000|3439\n会见|0x1000|1914\n会剿|0x1000|45899\n会聚|0x1000|20123\n会刊|0x100000|27535\n会考|0x1000|27460\n会客|0x1000|31515\n会理|0x0080|1419\n会面|0x1000|10745\n会宁|0x0040|9\n会期|0x100000|22275\n会齐|0x1000|33526\n会旗|0x100000|1042\n会签|0x1000|28273\n会前|0x4000|842\n会商|0x1000|22458\n会上|0x4000|743\n会社|0x100000|823\n会审|0x1000|25259\n会师|0x1000|13101\n会试|0x100000|884\n会首|0x100000|994\n会水|0x1000|1\n会所|0x100000|637\n会谈|0x1000|2447\n会堂|0x100000|23748\n会通|0x1000|47084\n会同|0x1000|5064\n会头|0x100000|1060\n会务|0x100000|25759\n会晤|0x1000|3553\n会心|0x1000|18896\n会演|0x100000|847\n会厌|0x100000|1064\n会议|0x100000|350\n会意|0x100000|17224\n会阴|0x100000|51420\n会友|0x100000|33000\n会元|0x100000|1066\n会员|0x100000|4284\n会泽|0x0080|1504\n会展|0x100000|11970\n会战|0x1000|15090\n会章|0x100000|45900\n会账|0x1000|51836\n会诊|0x1000|12779\n会址|0x100000|17897\n会众|0x100000|990\n讳忌|0x100000|54296\n讳言|0x1000|23487\n绘画|0x1000|4135\n绘图|0x1000|21620\n绘制|0x1000|11324\n荟萃|0x1000|12170\n荟集|0x1000|53772\n恚恨|0x100000|1287\n恚怒|0x100000|0\n烩饼|0x0000|54807\n贿金|0x0000|51421\n贿赂|0x1000|7432\n贿买|0x1000|55279\n贿选|0x1000|23650\n彗发|0x0080|0\n彗核|0x0000|46209\n彗尾|0x100000|53773\n彗星|0x100000|13330\n晦暗|0x40000000|31635\n晦明|0x100000|1062\n晦暝|0x40000000|0\n晦气|0x100000|18247\n晦涩|0x40000000|27536\n秽迹|0x100000|1224\n秽乱|0x1000|0\n秽气|0x100000|43905\n秽土|0x100000|48372\n秽闻|0x100000|53271\n秽亵|0x0000|49117\n秽行|0x100000|53272\n秽语|0x100000|43193\n秽浊|0x40000000|1199\n惠安|0x0080|1224\n惠赐|0x0080|437\n惠存|0x1000|54297\n惠东|0x0080|1334\n惠风|0x100000|1014\n惠顾|0x1000|50220\n惠及|0x1000|13382\n惠来|0x0080|1542\n惠临|0x1000|50600\n惠民|0x0008|1222\n惠能|0x0008|997\n惠农|0x0040|1365\n惠普|0x0008|938\n惠水|0x0040|1027\n惠威|0x0008|1456\n惠阳|0x0040|1304\n惠允|0x1000|1310\n惠赠|0x1000|54298\n惠州|0x0040|942\n毁谤|0x1000|40380\n毁掉|0x1000|671\n毁害|0x1000|0\n毁坏|0x1000|10567\n毁了|0x0000|659\n毁林|0x1000|1022\n毁灭|0x1000|8071\n毁弃|0x1000|45588\n毁容|0x1000|38278\n毁伤|0x1000|40801\n毁损|0x1000|26752\n毁誉|0x1000|36304\n毁约|0x1000|38100\n毁证|0x0000|54295\n慧聪|0x0008|736\n慧根|0x0080|1464\n慧能|0x0008|1506\n慧黠|0x40000000|992\n慧心|0x100000|46479\n慧星|0x0080|1414\n慧眼|0x100000|20653\n昏暗|0x40000000|12510\n昏沉|0x40000000|35669\n昏倒|0x1000|21386\n昏黑|0x0100|29528\n昏花|0x0100|30275\n昏话|0x100000|48013\n昏黄|0x100000|18532\n昏昏|0x0100|742\n昏厥|0x1000|29111\n昏君|0x100000|39304\n昏聩|0x40000000|43678\n昏乱|0x40000000|31048\n昏昧|0x40000000|1140\n昏迷|0x1000|11344\n昏睡|0x1000|23866\n昏死|0x1000|33125\n昏眩|0x1000|43906\n昏庸|0x40000000|30931\n昏晕|0x1000|1050\n荤菜|0x100000|42457\n荤食|0x100000|55874\n荤腥|0x100000|36305\n荤油|0x100000|53774\n婚变|0x1000|39103\n婚后|0x4000|619\n婚假|0x100000|49824\n婚嫁|0x100000|31853\n婚检|0x100000|19776\n婚礼|0x100000|6815\n婚恋|0x100000|32254\n婚龄|0x100000|44994\n婚配|0x1000|28274\n婚期|0x100000|26336\n婚前|0x4000|661\n婚庆|0x0000|47379\n婚丧|0x0000|25895\n婚纱|0x100000|24280\n婚事|0x100000|11553\n婚书|0x100000|41258\n婚俗|0x100000|40381\n婚外|0x20000000|860\n婚宴|0x100000|29639\n婚姻|0x100000|2578\n婚育|0x100000|23867\n婚约|0x100000|26195\n浑蛋|0x100000|1004\n浑噩|0x40000000|959\n浑古|0x40000000|0\n浑厚|0x40000000|20277\n浑话|0x100000|54808\n浑家|0x100000|0\n浑江|0x0040|1041\n浑名|0x100000|0\n浑朴|0x40000000|49118\n浑然|0x0100|22989\n浑如|0x1000|0\n浑身|0x100000|3834\n浑水|0x0000|498\n浑似|0x1000|0\n浑象|0x100000|1285\n浑仪|0x100000|1205\n浑圆|0x1000|26453\n浑源|0x0080|997\n浑浊|0x40000000|17562\n馄饨|0x100000|18505\n魂灵|0x100000|19735\n魂门|0x0040|0\n魂魄|0x100000|20202\n诨号|0x100000|49468\n诨名|0x100000|41716\n混编|0x1000|49469\n混成|0x20000000|29326\n混充|0x1000|51837\n混蛋|0x100000|14160\n混沌|0x100000|15055\n混饭|0x1000|48373\n混纺|0x4000000|37551\n混合|0x1000|5084\n混和|0x0080|509\n混混|0x0080|655\n混迹|0x1000|28275\n混交|0x1000|1175\n混进|0x1000|790\n混炼|0x0008|982\n混录|0x0080|0\n混乱|0x40000000|3119\n混棉|0x0080|0\n混频|0x0080|0\n混全|0x0008|0\n混入|0x1000|20613\n混声|0x100000|54299\n混事|0x1000|40157\n混双|0x100000|17018\n混同|0x1000|25482\n混响|0x0008|945\n混淆|0x1000|13421\n混血|0x1000|655\n混养|0x1000|43907\n混一|0x401000|0\n混用|0x1000|866\n混杂|0x1000|15038\n混战|0x1000|15660\n混帐|0x100000|827\n混账|0x100000|23271\n混浊|0x40000000|23651\n混子|0x100000|48014\n混作|0x1000|0\n溷浊|0x40000000|1166\n锪孔|0x0008|0\n豁出|0x1000|731\n豁达|0x40000000|19555\n豁口|0x100000|29212\n豁朗|0x40000000|45905\n豁亮|0x40000000|36152\n豁免|0x1000|22578\n豁拳|0x1000|1400\n豁然|0x8000000|27461\n豁子|0x100000|51838\n豁嘴|0x100000|52756\n活靶|0x0000|52282\n活版|0x100000|1173\n活宝|0x100000|41027\n活便|0x40000000|0\n活茬|0x100000|0\n活动|0x1000|225\n活儿|0x100000|738\n活法|0x100000|26337\n活泛|0x40000000|35670\n活分|0x40000000|1233\n活佛|0x100000|14122\n活该|0x1000|16927\n活过|0x0000|567\n活化|0x1000|25568\n活话|0x100000|1331\n活活|0x8000000|13488\n活火|0x100000|1126\n活计|0x100000|20087\n活祭|0x1000|1073\n活检|0x1000|950\n活结|0x100000|51839\n活口|0x100000|45301\n活扣|0x100000|55706\n活力|0x100000|2342\n活路|0x100000|19521\n活络|0x1000|35827\n活埋|0x1000|28277\n活门|0x0008|55281\n活命|0x1000|23424\n活泼|0x40000000|4391\n活期|0x100000|22879\n活气|0x100000|1031\n活人|0x100000|12095\n活塞|0x100000|22679\n活食|0x100000|1200\n活树|0x100000|0\n活水|0x100000|21112\n活似|0x1000|53775\n活体|0x100000|23488\n活脱|0x1000|45901\n活物|0x100000|34640\n活现|0x1000|39305\n活象|0x0000|463\n活像|0x1000|19307\n活性|0x100000|10331\n活血|0x1000|29853\n活页|0x4000000|42714\n活用|0x1000|31049\n活跃|0x40000000|2690\n活质|0x100000|1276\n活捉|0x1000|19452\n活着|0x1000|497\n活字|0x100000|39933\n活罪|0x100000|50222\n火把|0x100000|12511\n火棒|0x0080|51840\n火暴|0x40000000|51423\n火爆|0x40000000|9424\n火并|0x1000|40580\n火柴|0x100000|9522\n火场|0x100000|17256\n火车|0x100000|2927\n火炽|0x0080|42459\n火铳|0x0000|44708\n火电|0x100000|20238\n火堆|0x100000|19808\n火法|0x100000|1024\n火夫|0x100000|1174\n火功|0x0080|0\n火攻|0x100000|32519\n火罐|0x100000|951\n火光|0x100000|9223\n火锅|0x100000|16690\n火海|0x100000|23226\n火焊|0x0080|0\n火鹤|0x0080|1054\n火红|0x100000|16888\n火候|0x100000|21520\n火狐|0x0080|744\n火花|0x100000|12629\n火化|0x1000|15833\n火鸡|0x100000|31996\n火急|0x40000000|23995\n火剪|0x100000|1401\n火碱|0x100000|48746\n火箭|0x100000|5467\n火井|0x100000|1196\n火警|0x100000|34322\n火镜|0x100000|0\n火具|0x0080|1259\n火炬|0x4000000|7394\n火炕|0x100000|25760\n火坑|0x100000|24834\n火控|0x20000000|982\n火口|0x0008|1106\n火辣|0x40000000|46779\n火犁|0x100000|0\n火力|0x100000|13659\n火镰|0x100000|1168\n火亮|0x100000|1095\n火烈|0x40000000|1092\n火龙|0x100000|30175\n火笼|0x100000|1174\n火炉|0x100000|13594\n火轮|0x0000|29854\n火煤|0x100000|0\n火苗|0x100000|14024\n火捻|0x100000|55707\n火鸟|0x100000|825\n火牛|0x0008|988\n火炮|0x100000|19483\n火盆|0x100000|24127\n火拼|0x1000|49827\n火漆|0x100000|51424\n火气|0x100000|15447\n火器|0x100000|18333\n火钳|0x100000|45902\n火枪|0x100000|36475\n火墙|0x100000|38101\n火情|0x100000|30815\n火球|0x100000|25020\n火热|0x0100|10646\n火绒|0x100000|0\n火山|0x100000|9131\n火伤|0x100000|1131\n火烧|0x100000|10453\n火舌|0x100000|29640\n火蛇|0x0000|52758\n火神|0x100000|1267\n火绳|0x100000|47085\n火石|0x100000|41475\n火势|0x100000|20535\n火树|0x100000|1069\n火速|0x8000000|14684\n火炭|0x100000|37010\n火塘|0x100000|25483\n火膛|0x100000|1368\n火烫|0x1000|42928\n火头|0x100000|32635\n火腿|0x100000|19777\n火网|0x100000|46780\n火险|0x100000|28726\n火线|0x100000|19308\n火箱|0x0008|0\n火硝|0x100000|1295\n火星|0x100000|6140\n火刑|0x100000|1001\n火性|0x100000|48747\n火眼|0x100000|43908\n火焰|0x100000|7545\n火药|0x100000|14848\n火印|0x100000|1202\n火油|0x100000|1094\n火源|0x100000|33127\n火灾|0x100000|4776\n火葬|0x1000|24169\n火纸|0x100000|1186\n火种|0x100000|16510\n火烛|0x100000|1011\n火柱|0x100000|49472\n火砖|0x100000|1152\n伙伴|0x100000|2438\n伙犯|0x100000|0\n伙房|0x100000|23996\n伙夫|0x100000|37181\n伙计|0x100000|7206\n伙食|0x100000|12665\n伙同|0x1000|20124\n伙子|0x0000|6179\n夥伴|0x0000|566\n夥同|0x1000|1197\n或缺|0x1000|657\n或然|0x100000|50602\n或是|0x10000000|3149\n或体|0x0008|1\n或许|0x8000000|3300\n或曰|0x10000000|870\n或则|0x10000000|898\n或者|0x10000000|287\n货币|0x100000|2374\n货仓|0x100000|1488\n货舱|0x100000|40804\n货场|0x100000|25341\n货车|0x100000|9051\n货船|0x100000|25082\n货单|0x100000|42716\n货柜|0x100000|34182\n货机|0x100000|45904\n货价|0x100000|43429\n货架|0x100000|18275\n货检|0x0000|54302\n货款|0x100000|12553\n货郎|0x100000|37011\n货流|0x100000|49829\n货轮|0x100000|18428\n货票|0x100000|1198\n货品|0x100000|30816\n货签|0x100000|1283\n货色|0x100000|19736\n货损|0x100000|0\n货摊|0x100000|35217\n货位|0x100000|54303\n货物|0x100000|2854\n货箱|0x0008|47086\n货样|0x100000|48748\n货源|0x100000|14960\n货运|0x100000|9341\n货栈|0x100000|40581\n货站|0x100000|976\n货殖|0x100000|1067\n货主|0x100000|18716\n获得|0x1000|607\n获嘉|0x0080|1522\n获奖|0x1000|5260\n获救|0x1000|18768\n获利|0x1000|12528\n获能|0x0008|0\n获取|0x1000|4883\n获胜|0x1000|6991\n获释|0x1000|18248\n获悉|0x1000|3735\n获选|0x0000|44144\n获益|0x1000|18429\n获知|0x1000|26896\n获准|0x1000|13251\n获罪|0x0000|33401\n祸端|0x100000|42211\n祸福|0x100000|21584\n祸根|0x100000|23489\n祸害|0x100000|18398\n祸患|0x100000|30506\n祸及|0x0000|32760\n祸乱|0x100000|32520\n祸事|0x100000|26392\n祸首|0x100000|29641\n祸水|0x100000|39529\n祸祟|0x100000|43430\n祸胎|0x100000|47382\n祸心|0x100000|47383\n祸殃|0x100000|48016\n祸种|0x100000|0\n惑乱|0x1000|48017\n惑众|0x0000|31406\n霍城|0x0080|1003\n霍地|0x8000000|27288\n霍尔|0x0080|1288\n霍霍|0x1000|34058\n霍金|0x0080|1363\n霍乱|0x100000|18464\n霍邱|0x0040|1499\n霍然|0x1000|37904\n霍山|0x0080|1402\n霍州|0x0040|1544\n镬子|0x100000|0\n藿香|0x100000|44995\n讥嘲|0x1000|44145\n讥刺|0x1000|34183\n讥讽|0x1000|15643\n讥评|0x1000|1176\n讥诮|0x1000|34792\n讥笑|0x1000|18205\n击败|0x1000|4954\n击毙|0x1000|14347\n击沉|0x0080|33771\n击出|0x1000|846\n击穿|0x1000|38279\n击打|0x1000|25413\n击倒|0x1000|710\n击发|0x1000|51841\n击鼓|0x1000|824\n击毁|0x1000|28374\n击昏|0x0080|457\n击剑|0x100000|12873\n击键|0x0080|463\n击节|0x1000|932\n击垮|0x1000|870\n击溃|0x1000|25632\n击落|0x1000|17691\n击破|0x1000|759\n击球|0x1000|852\n击伤|0x1000|25342\n击水|0x1000|35516\n击碎|0x0080|528\n击退|0x1000|15262\n击掌|0x1000|28838\n击中|0x1000|11366\n叽咕|0x1000|38102\n饥饱|0x0000|47385\n饥肠|0x100000|983\n饥饿|0x40000000|7415\n饥寒|0x100000|25704\n饥荒|0x100000|19027\n饥馑|0x100000|34487\n饥渴|0x40000000|19881\n饥民|0x100000|17999\n饥色|0x100000|48374\n机板|0x0008|997\n机变|0x40000000|48375\n机舱|0x100000|19737\n机长|0x100000|26532\n机场|0x100000|2597\n机车|0x100000|10831\n机窗|0x0008|0\n机床|0x100000|11902\n机电|0x40000000|6837\n机动|0x20000000|8147\n机房|0x100000|20278\n机锋|0x100000|997\n机耕|0x100000|25260\n机工|0x100000|953\n机构|0x100000|942\n机关|0x100000|635\n机灌|0x1000|0\n机柜|0x100000|765\n机化|0x0080|394\n机会|0x100000|491\n机架|0x100000|802\n机件|0x100000|37715\n机匠|0x100000|0\n机降|0x1000|1054\n机井|0x100000|19778\n机警|0x40000000|19086\n机具|0x100000|22214\n机壳|0x100000|827\n机库|0x100000|1011\n机理|0x100000|713\n机灵|0x1000|15426\n机率|0x100000|39935\n机轮|0x0008|49474\n机门|0x0040|5\n机密|0x100000|11477\n机敏|0x40000000|22459\n机谋|0x100000|43195\n机能|0x100000|11526\n机炮|0x100000|1024\n机票|0x100000|10483\n机器|0x100000|3303\n机枪|0x100000|14876\n机巧|0x40000000|41028\n机群|0x100000|34323\n机身|0x100000|24373\n机师|0x100000|949\n机时|0x0080|867\n机首|0x0080|3\n机台|0x0080|910\n机套|0x0080|0\n机体|0x100000|10783\n机筒|0x0080|1078\n机头|0x100000|35517\n机尾|0x100000|1049\n机位|0x100000|42462\n机务|0x100000|24235\n机先|0x0008|0\n机箱|0x100000|594\n机械|0x100000|2231\n机心|0x100000|48018\n机芯|0x100000|767\n机型|0x100000|19087\n机修|0x1000|35365\n机绣|0x100000|972\n机要|0x40000000|20536\n机宜|0x100000|39530\n机翼|0x100000|24890\n机油|0x100000|31854\n机遇|0x100000|2188\n机员|0x100000|1126\n机缘|0x100000|20946\n机运|0x0008|49475\n机载|0x20000000|35218\n机诈|0x40000000|0\n机织|0x0008|48376\n机制|0x100000|1365\n机智|0x40000000|12582\n机种|0x100000|38695\n机轴|0x0080|0\n机主|0x100000|790\n机杼|0x100000|51001\n机子|0x100000|29021\n机组|0x100000|5825\n机座|0x100000|48377\n肌肤|0x100000|14325\n肌骨|0x100000|1021\n肌腱|0x100000|36307\n肌理|0x100000|39306\n肌瘤|0x100000|788\n肌肉|0x100000|6092\n肌体|0x100000|16556\n肌注|0x1000|1033\n矶鹞|0x0080|0\n鸡翅|0x100000|44709\n鸡雏|0x100000|35366\n鸡蛋|0x100000|5222\n鸡丁|0x0080|847\n鸡东|0x0080|1001\n鸡公|0x0008|0\n鸡冠|0x100000|876\n鸡奸|0x100000|53274\n鸡肋|0x100000|36153\n鸡笼|0x100000|30508\n鸡毛|0x100000|22055\n鸡鸣|0x100000|799\n鸡年|0x4000|838\n鸡皮|0x100000|726\n鸡婆|0x100000|894\n鸡肉|0x100000|696\n鸡舍|0x100000|1006\n鸡丝|0x100000|901\n鸡汤|0x100000|684\n鸡啼|0x100000|1041\n鸡头|0x100000|891\n鸡腿|0x0008|28927\n鸡尾|0x20000000|752\n鸡瘟|0x100000|46781\n鸡窝|0x100000|886\n鸡西|0x0040|1258\n鸡心|0x100000|42464\n鸡胸|0x100000|52762\n鸡眼|0x100000|42929\n鸡杂|0x100000|1023\n鸡泽|0x0080|1015\n鸡栅|0x0080|1535\n迹地|0x100000|1130\n迹象|0x100000|7692\n唧咕|0x80000|1129\n唧唧|0x80000|22680\n唧哝|0x1000|40582\n唧筒|0x100000|52283\n姬蜂|0x0080|0\n姬路|0x0080|1167\n积案|0x100000|22056\n积弊|0x100000|33273\n积冰|0x100000|1198\n积储|0x1000|1124\n积存|0x1000|26754\n积德|0x1000|29957\n积淀|0x1000|12321\n积肥|0x1000|22936\n积分|0x100000|9102\n积愤|0x100000|48378\n积垢|0x100000|51842\n积极|0x40000000|704\n积久|0x0000|45589\n积聚|0x1000|16789\n积劳|0x1000|0\n积累|0x1000|2288\n积满|0x1000|892\n积木|0x100000|28633\n积年|0x400000|1056\n积欠|0x1000|42717\n积弱|0x1000|992\n积善|0x1000|41717\n积食|0x1000|53779\n积数|0x100000|1102\n积水|0x100000|15953\n积温|0x100000|1083\n积习|0x100000|30277\n积蓄|0x100000|8968\n积雪|0x100000|10098\n积压|0x1000|10498\n积液|0x0000|492\n积雨|0x100000|41718\n积郁|0x1000|38280\n积怨|0x100000|27373\n积云|0x0008|26255\n积攒|0x1000|17380\n积贮|0x1000|0\n基本|0x40000000|660\n基波|0x0080|1164\n基部|0x100000|948\n基材|0x100000|1363\n基层|0x100000|1698\n基础|0x100000|644\n基达|0x0080|1129\n基带|0x100000|947\n基底|0x100000|36154\n基地|0x100000|1532\n基点|0x100000|16466\n基调|0x100000|14698\n基督|0x0008|1014\n基多|0x0080|1013\n基尔|0x0080|1336\n基肥|0x100000|44710\n基辅|0x0040|1416\n基干|0x100000|41719\n基极|0x100000|1095\n基价|0x100000|53276\n基建|0x100000|10156\n基脚|0x100000|0\n基金|0x100000|2025\n基坑|0x100000|42718\n基佬|0x0008|0\n基流|0x0008|3\n基隆|0x0040|1237\n基诺|0x0008|1488\n基频|0x100000|1149\n基普|0x100000|395\n基色|0x100000|55283\n基石|0x100000|10638\n基数|0x100000|13383\n基态|0x100000|373\n基体|0x100000|947\n基团|0x100000|1000\n基线|0x100000|43196\n基岩|0x100000|1076\n基业|0x100000|27374\n基因|0x100000|2697\n基音|0x100000|1132\n基于|0x40000|4750\n基站|0x100000|809\n基址|0x100000|1029\n基质|0x0008|27375\n基柱|0x0040|1268\n基准|0x100000|13561\n基座|0x0040|30398\n绩溪|0x0080|1368\n绩效|0x100000|12923\n犄角|0x100000|17418\n缉捕|0x1000|25083\n缉查|0x1000|53277\n缉毒|0x1000|13368\n缉获|0x1000|38281\n缉拿|0x1000|24236\n缉私|0x1000|12504\n缉凶|0x0000|47704\n畸变|0x100000|36820\n畸零|0x100000|1130\n畸形|0x100000|12153\n畸型|0x0000|51426\n跻身|0x1000|9305\n箕斗|0x100000|1222\n箕踞|0x100000|1157\n箕门|0x0040|0\n畿辅|0x100000|1157\n稽查|0x1000|8905\n稽察|0x100000|26683\n稽核|0x1000|26755\n稽考|0x1000|52284\n稽留|0x1000|53278\n稽首|0x100000|971\n稽延|0x1000|1307\n稽征|0x0000|47088\n齑粉|0x100000|49831\n激昂|0x40000000|14277\n激变|0x100000|36651\n激辩|0x1000|867\n激波|0x0008|377\n激磁|0x1000|1200\n激荡|0x1000|10775\n激动|0x40000000|1739\n激发|0x1000|3682\n激奋|0x40000000|37182\n激愤|0x40000000|20088\n激光|0x100000|6360\n激化|0x1000|11768\n激活|0x1000|10055\n激将|0x1000|52763\n激进|0x40000000|10837\n激剧|0x40000000|0\n激浪|0x100000|435\n激励|0x1000|3180\n激烈|0x40000000|1871\n激灵|0x1000|47386\n激流|0x100000|16299\n激酶|0x0008|976\n激怒|0x1000|15661\n激起|0x1000|7137\n激切|0x40000000|1149\n激情|0x100000|3231\n激赏|0x1000|865\n激素|0x100000|10632\n激扬|0x1000|29958\n激越|0x40000000|17898\n激增|0x1000|16557\n激战|0x100000|10755\n激子|0x0008|0\n羁绊|0x100000|23272\n羁留|0x1000|46480\n羁押|0x1000|11487\n及第|0x1000|825\n及耳|0x100000|0\n及格|0x1000|15299\n及笄|0x1000|1088\n及其|0x10000000|3066\n及时|0x40000000|1200\n及物|0x1000|969\n及早|0x8000000|10375\n及至|0x1000|10438\n吉安|0x0040|1123\n吉贝|0x0080|1070\n吉达|0x0080|1458\n吉尔|0x0008|1379\n吉剧|0x100000|55284\n吉利|0x100000|9342\n吉列|0x0008|1467\n吉林|0x0040|4561\n吉隆|0x0080|1493\n吉姆|0x0080|1326\n吉普|0x100000|25084\n吉期|0x100000|1180\n吉庆|0x40000000|27614\n吉日|0x100000|30713\n吉时|0x100000|1541\n吉首|0x0040|1258\n吉水|0x0040|1530\n吉他|0x100000|18506\n吉通|0x0008|1509\n吉县|0x0040|1024\n吉祥|0x40000000|10747\n吉星|0x100000|47705\n吉凶|0x100000|22010\n吉言|0x100000|49121\n吉兆|0x100000|39104\n岌岌|0x0100|1025\n汲汲|0x0100|912\n汲取|0x1000|7911\n汲水|0x1000|33916\n汲引|0x1000|0\n级别|0x100000|5747\n级差|0x100000|26454\n级次|0x100000|1079\n级联|0x0008|482\n级任|0x0008|52764\n级数|0x100000|31636\n即便|0x10000000|5552\n即或|0x10000000|19850\n即将|0x8000000|1828\n即景|0x100000|920\n即可|0x1000|4792\n即刻|0x8000000|9558\n即令|0x10000000|13290\n即墨|0x0040|1283\n即期|0x20000000|934\n即日|0x4000|8728\n即如|0x10000000|41029\n即若|0x10000000|1139\n即时|0x8000000|13236\n即食|0x20000000|47387\n即使|0x10000000|916\n即位|0x1000|11502\n即席|0x1000|26756\n即兴|0x1000|16928\n即行|0x8000000|918\n极板|0x0008|985\n极差|0x0000|547\n极大|0x8000000|498\n极地|0x100000|14218\n极点|0x100000|16375\n极顶|0x0000|49832\n极度|0x8000000|8916\n极端|0x100000|3387\n极多|0x0000|536\n极恶|0x0000|444\n极富|0x1000|694\n极高|0x0000|703\n极光|0x100000|35994\n极好|0x40000000|665\n极化|0x1000|842\n极坏|0x0000|464\n极佳|0x0000|646\n极快|0x0000|622\n极乐|0x100000|773\n极力|0x8000000|6787\n极量|0x100000|1254\n极了|0x2000|542\n极目|0x8000000|42214\n极难|0x0000|531\n极品|0x100000|28839\n极其|0x8000000|2768\n极强|0x0000|666\n极圈|0x100000|1151\n极权|0x100000|44997\n极泉|0x0008|0\n极盛|0x0000|44998\n极微|0x0008|462\n极为|0x8000000|2835\n极限|0x100000|8554\n极小|0x40000000|730\n极刑|0x100000|28468\n极性|0x100000|878\n极夜|0x100000|1021\n极移|0x0008|0\n极意|0x1000|1148\n极右|0x0008|18651\n极值|0x100000|1000\n极至|0x100000|713\n极致|0x100000|19399\n极昼|0x100000|51843\n极左|0x20000000|25135\n亟待|0x1000|9289\n亟亟|0x0000|53781\n亟须|0x0000|20695\n亟需|0x40000000|511\n急奔|0x0000|504\n急变|0x100000|1064\n急病|0x100000|31050\n急步|0x8000000|45590\n急驰|0x1000|893\n急冲|0x0000|498\n急促|0x40000000|10519\n急待|0x0008|34324\n急电|0x100000|31517\n急飞|0x1000|1105\n急风|0x100000|0\n急火|0x100000|54309\n急急|0x0100|667\n急件|0x100000|49476\n急进|0x40000000|26815\n急救|0x1000|9272\n急剧|0x40000000|7190\n急遽|0x40000000|35367\n急拉|0x0000|405\n急流|0x100000|19779\n急忙|0x8000000|5059\n急难|0x100000|26047\n急迫|0x40000000|17225\n急切|0x40000000|8492\n急驶|0x1000|428\n急事|0x100000|15022\n急死|0x0000|555\n急速|0x8000000|14192\n急湍|0x100000|49122\n急弯|0x100000|42215\n急务|0x100000|38897\n急行|0x0000|467\n急性|0x20000000|10139\n急需|0x1000|5065\n急眼|0x1000|44999\n急要|0x40000000|953\n急用|0x1000|29022\n急于|0x1000|7384\n急躁|0x40000000|13934\n急诊|0x100000|17381\n急症|0x100000|37183\n急智|0x100000|990\n急骤|0x40000000|30278\n急转|0x1000|796\n急走|0x0000|454\n疾病|0x100000|1979\n疾步|0x8000000|31855\n疾驰|0x1000|21267\n疾风|0x100000|34489\n疾呼|0x1000|29427\n疾患|0x100000|817\n疾进|0x1000|49833\n疾苦|0x100000|9109\n疾雷|0x100000|0\n疾跑|0x100000|1079\n疾驶|0x1000|31051\n疾书|0x1000|43682\n疾速|0x20000000|35518\n疾行|0x1000|946\n疾走|0x1000|29214\n棘刺|0x100000|53782\n棘轮|0x100000|1020\n棘皮|0x20000000|1150\n棘手|0x40000000|13252\n棘爪|0x100000|1268\n集安|0x0040|1491\n集部|0x100000|982\n集材|0x1000|0\n集尘|0x0080|433\n集成|0x1000|7669\n集合|0x1000|7434\n集会|0x1000|5859\n集结|0x1000|13001\n集锦|0x100000|30932\n集居|0x1000|1148\n集聚|0x1000|10981\n集刊|0x100000|53783\n集料|0x1000|1034\n集拢|0x1000|0\n集落|0x1000|1105\n集贸|0x100000|44428\n集纳|0x1000|921\n集宁|0x0040|1507\n集权|0x1000|23171\n集群|0x100000|42216\n集日|0x0000|45303\n集散|0x1000|22629\n集市|0x100000|13465\n集束|0x20000000|43197\n集数|0x100000|849\n集水|0x0080|456\n集体|0x100000|1156\n集团|0x100000|1465\n集贤|0x0080|1435\n集训|0x1000|8029\n集邮|0x1000|17844\n集约|0x100000|15470\n集运|0x1000|1490\n集镇|0x100000|12276\n集中|0x1000|762\n集注|0x100000|963\n集装|0x20000000|883\n集资|0x1000|7296\n集子|0x100000|21268\n嫉妒|0x1000|10323\n嫉恨|0x1000|34490\n蒺藜|0x100000|40161\n辑录|0x1000|30933\n辑要|0x1000|54312\n辑佚|0x100000|1161\n瘠薄|0x40000000|39719\n瘠瘦|0x40000000|54313\n瘠田|0x100000|0\n蕺菜|0x100000|1279\n籍贯|0x100000|21850\n籍口|0x0008|0\n籍没|0x1000|1139\n几案|0x0000|42461\n几百|0x200000|538\n几倍|0x0000|579\n几次|0x0000|825\n几代|0x0000|550\n几度|0x8000000|19310\n几多|0x10000|25484\n几儿|0x10000|0\n几番|0x8000000|561\n几分|0x0000|16076\n几个|0x0000|965\n几何|0x100000|9060\n几乎|0x8000000|494\n几近|0x8000000|17563\n几经|0x8000000|13731\n几率|0x100000|19880\n几尼|0x0080|0\n几年|0x0000|802\n几千|0x200000|562\n几十|0x400000|498\n几时|0x10000|35829\n几岁|0x0000|630\n几天|0x0000|835\n几万|0x200000|661\n几微|0x400000|0\n几希|0x10000|1155\n几许|0x10000|25823\n几样|0x0000|565\n几曾|0x8000000|53784\n几至|0x8000000|1\n己丑|0x400000|1015\n己醇|0x4000000|0\n己方|0x100000|38898\n己亥|0x400000|989\n己见|0x100000|28025\n己卯|0x400000|1004\n己醛|0x0080|0\n己炔|0x100000|0\n己任|0x100000|12440\n己巳|0x400000|1018\n己酸|0x100000|1115\n己酮|0x0080|0\n己烷|0x100000|1080\n己未|0x400000|1020\n己烯|0x100000|1168\n己酉|0x400000|1019\n挤出|0x1000|620\n挤掉|0x1000|869\n挤对|0x1000|1154\n挤兑|0x1000|31170\n挤过|0x0000|469\n挤挤|0x1000|852\n挤进|0x1000|714\n挤垮|0x1000|1017\n挤落|0x1000|0\n挤满|0x1000|719\n挤奶|0x1000|25021\n挤迫|0x0008|2\n挤乳|0x100000|0\n挤入|0x1000|884\n挤压|0x1000|15531\n挤眼|0x0000|532\n挤轧|0x1000|0\n挤占|0x1000|13716\n脊背|0x100000|13935\n脊骨|0x100000|925\n脊梁|0x100000|10675\n脊檩|0x100000|0\n脊鳍|0x100000|1387\n脊髓|0x100000|20089\n脊索|0x100000|1123\n脊柱|0x100000|21851\n脊椎|0x100000|33274\n麂皮|0x100000|852\n麂子|0x0000|39105\n计策|0x100000|15544\n计程|0x20000000|1081\n计酬|0x1000|35519\n计次|0x1000|1085\n计费|0x1000|21714\n计分|0x1000|28634\n计划|0x100000|389\n计价|0x1000|23997\n计件|0x1000|28728\n计较|0x1000|8903\n计量|0x1000|9946\n计谋|0x100000|28103\n计票|0x0000|15834\n计入|0x1000|769\n计生|0x100000|732\n计时|0x1000|21150\n计数|0x1000|21621\n计税|0x0000|33001\n计算|0x1000|2004\n计委|0x100000|813\n计温|0x0080|0\n计息|0x1000|26757\n计议|0x1000|19926\n记仇|0x1000|37717\n记错|0x0000|581\n记得|0x1000|1753\n记法|0x0000|422\n记分|0x1000|26048\n记工|0x1000|37185\n记功|0x1000|30934\n记挂|0x1000|32521\n记过|0x1000|22785\n记号|0x100000|16904\n记恨|0x1000|33128\n记牢|0x0000|458\n记录|0x1000|2037\n记名|0x1000|35368\n记谱|0x1000|1039\n记起|0x0000|641\n记取|0x1000|29328\n记认|0x100000|46782\n记入|0x1000|837\n记时|0x1000|48020\n记实|0x1000|837\n记事|0x1000|14278\n记述|0x1000|10918\n记数|0x1000|874\n记诵|0x1000|51008\n记下|0x1000|610\n记性|0x100000|19927\n记叙|0x1000|28928\n记要|0x100000|1030\n记忆|0x100000|2373\n记载|0x1000|3692\n记帐|0x100000|755\n记账|0x1000|19586\n记者|0x100000|436\n记住|0x1000|4889\n伎俩|0x100000|16712\n纪纲|0x100000|40382\n纪检|0x1000|5554\n纪录|0x100000|3025\n纪律|0x100000|2337\n纪年|0x100000|26197\n纪念|0x1000|1754\n纪实|0x100000|5803\n纪事|0x100000|15703\n纪委|0x100000|5425\n纪行|0x100000|22460\n纪要|0x100000|18533\n纪元|0x100000|26338\n妓女|0x100000|9698\n妓院|0x100000|21479\n忌辰|0x100000|51009\n忌惮|0x1000|833\n忌妒|0x1000|33527\n忌恨|0x1000|42465\n忌讳|0x100000|15793\n忌刻|0x1000|0\n忌口|0x1000|53785\n忌日|0x100000|38899\n忌食|0x1000|53280\n忌嘴|0x1000|54813\n技法|0x100000|15075\n技改|0x100000|812\n技工|0x100000|11457\n技击|0x100000|934\n技嘉|0x0008|648\n技能|0x100000|2946\n技巧|0x100000|4715\n技穷|0x0000|47089\n技师|0x100000|11924\n技士|0x100000|1187\n技术|0x100000|431\n技校|0x100000|21715\n技痒|0x1000|48379\n技艺|0x100000|8992\n际会|0x1000|39106\n际涯|0x100000|0\n际遇|0x100000|25824\n剂量|0x100000|14467\n剂型|0x100000|31998\n季报|0x100000|819\n季春|0x4000|1061\n季冬|0x4000|1078\n季度|0x100000|3444\n季风|0x100000|15185\n季父|0x100000|1208\n季候|0x100000|885\n季季|0x20000|0\n季节|0x100000|3340\n季军|0x100000|24061\n季刊|0x100000|29959\n季秋|0x4000|1088\n季世|0x2000000|0\n季夏|0x100000|1147\n既不|0x0000|653\n既得|0x20000000|916\n既定|0x20000000|9769\n既而|0x8000000|11949\n既然|0x10000000|2136\n既是|0x10000000|5036\n既往|0x4000|25023\n既有|0x20000000|582\n济慈|0x0080|1005\n济公|0x0080|1355\n济济|0x1000|25897\n济困|0x1000|908\n济南|0x0040|3453\n济宁|0x0040|1050\n济贫|0x1000|31749\n济世|0x1000|31856\n济事|0x0000|30817\n济私|0x1000|0\n济阳|0x0080|1466\n济源|0x0040|1189\n济助|0x1000|1201\n继承|0x1000|2436\n继而|0x8000000|10157\n继父|0x100000|20313\n继母|0x100000|16102\n继女|0x100000|1031\n继配|0x100000|1358\n继起|0x0008|989\n继任|0x1000|19627\n继室|0x100000|37718\n继嗣|0x100000|48752\n继位|0x1000|29023\n继武|0x1000|1065\n继续|0x100000|244\n继业|0x0000|44146\n继之|0x10000000|907\n继子|0x100000|1057\n觊觎|0x1000|26393\n偈语|0x0000|50604\n寂寂|0x0100|808\n寂静|0x40000000|7705\n寂寥|0x40000000|25825\n寂灭|0x1000|890\n寂寞|0x40000000|4067\n寂默|0x40000000|1046\n寂然|0x0100|27116\n寄出|0x1000|731\n寄存|0x1000|27376\n寄递|0x1000|48753\n寄读|0x1000|1142\n寄发|0x1000|897\n寄放|0x1000|45304\n寄费|0x100000|54814\n寄怀|0x0000|55288\n寄迹|0x1000|0\n寄籍|0x100000|1287\n寄居|0x1000|26394\n寄卖|0x1000|951\n寄名|0x1000|1203\n寄钱|0x0008|489\n寄情|0x1000|36653\n寄生|0x1000|13951\n寄食|0x1000|46482\n寄售|0x1000|46483\n寄送|0x1000|797\n寄宿|0x1000|15994\n寄托|0x100000|7859\n寄信|0x1000|28729\n寄养|0x1000|24374\n寄予|0x1000|12406\n寄语|0x100000|21269\n寄寓|0x1000|32255\n寄赠|0x0000|47388\n寄主|0x100000|24433\n寄住|0x1000|941\n悸动|0x1000|32762\n祭拜|0x1000|36821\n祭典|0x0000|499\n祭奠|0x1000|17564\n祭告|0x0000|39107\n祭酒|0x100000|969\n祭礼|0x100000|964\n祭灵|0x0000|51431\n祭品|0x100000|29112\n祭器|0x100000|49835\n祭日|0x100000|922\n祭扫|0x1000|29330\n祭司|0x100000|803\n祭祀|0x100000|11008\n祭台|0x100000|1008\n祭坛|0x100000|25972\n祭天|0x1000|909\n祭文|0x100000|25024\n祭物|0x0000|385\n祭灶|0x1000|40585\n祭祖|0x1000|20354\n蓟门|0x0040|0\n蓟县|0x0040|1326\n稷米|0x0080|0\n稷山|0x0040|1426\n鲫鱼|0x100000|17592\n冀胶|0x100000|414\n冀求|0x1000|1126\n冀望|0x0080|47706\n冀中|0x0008|1518\n冀州|0x0040|1326\n髻子|0x0000|49836\n加班|0x1000|11491\n加倍|0x1000|10693\n加布|0x0080|1089\n加餐|0x100000|40586\n加查|0x0040|1125\n加长|0x20000000|693\n加车|0x100000|1114\n加成|0x1000|851\n加粗|0x0000|493\n加大|0x1000|1866\n加当|0x0080|0\n加登|0x0080|1183\n加点|0x1000|645\n加多|0x0080|1470\n加法|0x100000|26256\n加分|0x0080|946\n加封|0x1000|19400\n加盖|0x1000|743\n加高|0x1000|866\n加给|0x0008|1\n加工|0x100000|1495\n加固|0x1000|10784\n加挂|0x1000|1020\n加官|0x1000|33641\n加害|0x1000|23068\n加号|0x100000|42719\n加厚|0x1000|783\n加急|0x20000000|40806\n加计|0x1000|1080\n加价|0x1000|17565\n加减|0x0000|32763\n加紧|0x1000|5248\n加劲|0x1000|37906\n加进|0x1000|807\n加剧|0x1000|5322\n加开|0x1000|878\n加快|0x1000|1312\n加宽|0x1000|891\n加里|0x0080|1299\n加力|0x1000|852\n加亮|0x0080|1456\n加料|0x1000|877\n加仑|0x20000|35830\n加码|0x1000|30176\n加满|0x0080|534\n加盟|0x1000|8786\n加密|0x1000|22057\n加冕|0x1000|33402\n加缪|0x0080|985\n加纳|0x0040|1181\n加拈|0x0008|0\n加捻|0x100000|1002\n加彭|0x0080|0\n加蓬|0x0040|1550\n加强|0x1000|830\n加氢|0x20000000|938\n加权|0x1000|26455\n加热|0x1000|9163\n加人|0x100000|1429\n加入|0x1000|1192\n加塞|0x0080|995\n加赛|0x1000|1022\n加色|0x0040|1058\n加上|0x1000|1229\n加深|0x1000|4201\n加湿|0x1000|482\n加试|0x0000|51845\n加收|0x1000|788\n加数|0x100000|1069\n加水|0x0080|746\n加速|0x1000|3055\n加酸|0x0080|0\n加算|0x0080|0\n加锁|0x0080|551\n加糖|0x0080|0\n加套|0x0080|0\n加添|0x1000|933\n加填|0x100000|0\n加味|0x0008|1541\n加温|0x1000|31052\n加息|0x1000|22215\n加洗|0x0000|55289\n加薪|0x1000|31518\n加刑|0x1000|41261\n加选|0x0080|0\n加训|0x1000|0\n加压|0x1000|22111\n加盐|0x0080|521\n加演|0x1000|1003\n加以|0x8000000|1445\n加意|0x8000000|1101\n加印|0x0080|898\n加油|0x1000|10713\n加元|0x100000|868\n加载|0x0008|498\n加之|0x10000000|6198\n加汁|0x0080|0\n加重|0x1000|5712\n加州|0x0040|1026\n加注|0x1000|825\n加座|0x100000|1101\n夹袄|0x100000|25485\n夹板|0x100000|30280\n夹被|0x100000|52288\n夹层|0x100000|30608\n夹持|0x1000|1023\n夹带|0x100000|23425\n夹道|0x100000|22158\n夹缝|0x100000|24170\n夹攻|0x1000|18617\n夹棍|0x100000|1198\n夹击|0x1000|18148\n夹脊|0x0008|0\n夹剪|0x100000|1321\n夹江|0x0040|1544\n夹角|0x100000|26967\n夹紧|0x1000|860\n夹具|0x100000|51433\n夹克|0x100000|30609\n夹批|0x100000|0\n夹钳|0x100000|1101\n夹墙|0x100000|50605\n夹入|0x0000|396\n夹生|0x1000|46484\n夹头|0x100000|930\n夹馅|0x1000|1169\n夹心|0x1000|41479\n夹衣|0x100000|37188\n夹杂|0x1000|11950\n夹峙|0x0000|45591\n夹住|0x0000|562\n夹注|0x100000|1166\n夹子|0x100000|21958\n佳宾|0x100000|925\n佳城|0x0008|1072\n佳话|0x100000|17177\n佳绩|0x100000|12049\n佳节|0x100000|8219\n佳境|0x100000|38488\n佳句|0x100000|33002\n佳客|0x0080|1088\n佳丽|0x100000|29856\n佳美|0x0008|1184\n佳妙|0x40000000|0\n佳能|0x0008|989\n佳酿|0x100000|39720\n佳偶|0x100000|44429\n佳品|0x100000|32384\n佳期|0x100000|42466\n佳人|0x100000|19587\n佳县|0x0040|1061\n佳婿|0x100000|1096\n佳肴|0x100000|19054\n佳音|0x100000|23317\n佳作|0x100000|12606\n迦纳|0x0080|397\n迦南|0x0080|1459\n枷锁|0x100000|20947\n家变|0x0008|0\n家财|0x100000|32000\n家蚕|0x100000|40162\n家产|0x100000|14193\n家长|0x100000|1954\n家常|0x100000|15888\n家臣|0x0080|1522\n家仇|0x100000|979\n家丑|0x100000|30610\n家传|0x20000000|33403\n家祠|0x100000|49837\n家慈|0x100000|54816\n家当|0x100000|18206\n家道|0x100000|34948\n家底|0x100000|813\n家弟|0x100000|1268\n家电|0x100000|6482\n家丁|0x100000|854\n家法|0x100000|27117\n家访|0x100000|21388\n家风|0x100000|23375\n家父|0x100000|29215\n家鸽|0x100000|40383\n家姑|0x0008|1266\n家规|0x100000|33773\n家伙|0x100000|4365\n家鸡|0x100000|1\n家计|0x100000|41030\n家祭|0x100000|51846\n家家|0x20000|9780\n家教|0x100000|13639\n家景|0x100000|50224\n家境|0x100000|12311\n家居|0x100000|15001\n家具|0x100000|5187\n家俱|0x0008|1101\n家眷|0x100000|19522\n家口|0x100000|27709\n家累|0x100000|1104\n家里|0x8000|757\n家猫|0x0008|1413\n家门|0x100000|5962\n家母|0x100000|39309\n家酿|0x0080|1\n家奴|0x100000|22324\n家贫|0x40000000|883\n家仆|0x0080|1001\n家谱|0x100000|25826\n家禽|0x100000|10615\n家雀|0x100000|1148\n家人|0x100000|3738\n家什|0x100000|24569\n家史|0x100000|33917\n家世|0x100000|25085\n家事|0x100000|17779\n家室|0x100000|28841\n家书|0x100000|23273\n家塾|0x100000|1096\n家鼠|0x100000|52766\n家私|0x100000|35671\n家庭|0x100000|380\n家童|0x100000|1088\n家兔|0x0080|34185\n家翁|0x0080|1104\n家务|0x100000|9458\n家系|0x100000|938\n家乡|0x100000|2410\n家小|0x100000|26339\n家信|0x100000|23318\n家兄|0x100000|37187\n家畜|0x100000|13900\n家学|0x100000|51435\n家训|0x100000|33275\n家严|0x0000|43909\n家宴|0x100000|28636\n家燕|0x100000|52287\n家养|0x20000000|22059\n家业|0x100000|21151\n家蝇|0x100000|1184\n家用|0x20000000|11101\n家园|0x100000|4680\n家院|0x0000|44430\n家贼|0x100000|40807\n家宅|0x100000|38697\n家珍|0x100000|993\n家政|0x100000|10676\n家中|0x8000|510\n家种|0x1000|1036\n家属|0x100000|2501\n家资|0x0000|42217\n家姊|0x100000|0\n家族|0x100000|5400\n袈裟|0x100000|25827\n袷袢|0x100000|1308\n傢俬|0x0008|0\n嘉宾|0x100000|9914\n嘉定|0x0008|1122\n嘉禾|0x0008|1238\n嘉奖|0x100000|15978\n嘉靖|0x0008|844\n嘉黎|0x0080|1156\n嘉陵|0x0008|1314\n嘉勉|0x1000|49478\n嘉庆|0x0008|1293\n嘉善|0x0080|1198\n嘉祥|0x0080|1352\n嘉兴|0x0040|934\n嘉许|0x1000|38698\n嘉言|0x100000|1085\n嘉义|0x0040|1237\n嘉荫|0x0080|1020\n嘉应|0x0008|1555\n嘉佑|0x0008|1043\n嘉鱼|0x0080|1514\n岬角|0x100000|49479\n郏县|0x0040|1031\n荚果|0x100000|1144\n荚膜|0x0080|0\n戛戛|0x1000|1168\n戛然|0x8000000|29532\n蛱蝶|0x100000|53281\n颊车|0x0008|0\n颊骨|0x100000|1181\n颊囊|0x100000|1338\n甲板|0x100000|13595\n甲苯|0x100000|788\n甲兵|0x100000|479\n甲辰|0x400000|960\n甲虫|0x100000|28187\n甲醇|0x100000|23537\n甲等|0x20000000|30399\n甲第|0x100000|1005\n甲方|0x100000|19221\n甲酚|0x100000|994\n甲肝|0x0008|35064\n甲骨|0x100000|954\n甲基|0x100000|738\n甲级|0x20000000|708\n甲亢|0x100000|48381\n甲壳|0x100000|25762\n甲醚|0x100000|921\n甲醛|0x100000|698\n甲申|0x400000|895\n甲酸|0x100000|825\n甲烷|0x100000|862\n甲午|0x4000|811\n甲戌|0x400000|970\n甲癣|0x100000|1162\n甲寅|0x4000|981\n甲鱼|0x100000|23538\n甲胄|0x100000|32001\n甲子|0x100000|29113\n甲紫|0x0008|0\n贾祸|0x1000|0\n贾人|0x100000|0\n钾肥|0x100000|20863\n钾盐|0x100000|30400\n价差|0x100000|836\n价带|0x100000|2\n价格|0x100000|1060\n价款|0x100000|19982\n价廉|0x40000000|687\n价码|0x100000|27377\n价目|0x100000|41032\n价签|0x100000|54315\n价钱|0x100000|6470\n价位|0x0000|15545\n价值|0x100000|653\n驾崩|0x1000|32637\n驾车|0x1000|10246\n驾船|0x0000|447\n驾到|0x1000|32523\n驾机|0x1000|921\n驾临|0x1000|34950\n驾凌|0x1000|0\n驾驶|0x1000|5351\n驾校|0x100000|23172\n驾驭|0x1000|7580\n驾辕|0x1000|51436\n驾照|0x100000|26340\n架步|0x0008|0\n架次|0x20000|21908\n架构|0x100000|14262\n架环|0x0080|0\n架架|0x0080|0\n架空|0x1000|26395\n架梁|0x0008|0\n架起|0x1000|742\n架桥|0x1000|21521\n架上|0x8000|724\n架设|0x1000|14219\n架式|0x100000|854\n架势|0x100000|16424\n架线|0x1000|1060\n架子|0x100000|7504\n假案|0x100000|39938\n假扮|0x1000|34949\n假币|0x100000|13466\n假唱|0x0000|36822\n假钞|0x100000|41721\n假充|0x1000|35222\n假道|0x1000|34328\n假定|0x100000|11903\n假缎|0x0080|0\n假发|0x100000|33774\n假峰|0x0080|0\n假根|0x100000|1359\n假果|0x0080|1366\n假话|0x100000|11647\n假货|0x100000|721\n假髻|0x0080|0\n假借|0x1000|21152\n假酒|0x100000|901\n假哭|0x0000|387\n假劣|0x100000|932\n假领|0x0080|0\n假冒|0x1000|7577\n假寐|0x1000|41031\n假面|0x100000|739\n假名|0x100000|35520\n假皮|0x0080|0\n假期|0x100000|8677\n假球|0x100000|35996\n假人|0x100000|933\n假日|0x100000|4682\n假如|0x10000000|3819\n假若|0x10000000|6253\n假山|0x100000|18652\n假设|0x1000|9130\n假使|0x10000000|10600\n假释|0x1000|23696\n假手|0x1000|39310\n假说|0x100000|13097\n假死|0x1000|43198\n假条|0x100000|42218\n假托|0x1000|32385\n假相|0x100000|902\n假想|0x100000|29533\n假象|0x100000|19700\n假笑|0x0080|528\n假性|0x20000000|914\n假牙|0x100000|36156\n假言|0x0080|1125\n假药|0x100000|18618\n假意|0x100000|25344\n假孕|0x100000|0\n假造|0x1000|36823\n假肢|0x100000|27935\n假植|0x100000|1233\n假装|0x1000|11072\n假足|0x0080|0\n假座|0x1000|1209\n嫁祸|0x1000|38900\n嫁接|0x1000|11570\n嫁娶|0x100000|39722\n嫁人|0x1000|17660\n嫁衣|0x100000|694\n嫁妆|0x100000|19311\n稼穑|0x1000|39531\n戋戋|0x40000000|1253\n奸臣|0x100000|24171\n奸党|0x100000|35369\n奸恶|0x100000|47709\n奸夫|0x100000|44713\n奸妇|0x100000|1268\n奸滑|0x40000000|1120\n奸猾|0x40000000|48022\n奸计|0x100000|47092\n奸佞|0x100000|38283\n奸情|0x100000|45592\n奸人|0x100000|30401\n奸杀|0x1000|45001\n奸商|0x100000|28104\n奸尸|0x0000|447\n奸徒|0x100000|1116\n奸污|0x1000|31750\n奸细|0x100000|23750\n奸险|0x40000000|52289\n奸笑|0x1000|45306\n奸邪|0x100000|33130\n奸雄|0x100000|39939\n奸淫|0x100000|20696\n奸贼|0x100000|41033\n奸诈|0x40000000|30715\n尖兵|0x100000|25261\n尖刺|0x0000|498\n尖刀|0x100000|19453\n尖点|0x0080|0\n尖顶|0x100000|25569\n尖端|0x20000000|12974\n尖儿|0x100000|21064\n尖峰|0x100000|811\n尖尖|0x0100|740\n尖椒|0x100000|48755\n尖叫|0x1000|13807\n尖刻|0x40000000|25086\n尖厉|0x40000000|34186\n尖利|0x40000000|18653\n尖脐|0x100000|1370\n尖锐|0x40000000|5882\n尖声|0x0080|541\n尖石|0x100000|923\n尖酸|0x40000000|35672\n尖塔|0x100000|944\n尖头|0x100000|33129\n尖细|0x40000000|36310\n尖削|0x40000000|1100\n尖牙|0x100000|930\n尖扎|0x0080|1081\n尖子|0x100000|13684\n坚壁|0x1000|1093\n坚冰|0x100000|25026\n坚称|0x1000|815\n坚持|0x1000|498\n坚定|0x40000000|2159\n坚固|0x40000000|11707\n坚果|0x100000|42931\n坚决|0x40000000|1034\n坚苦|0x40000000|1055\n坚牢|0x40000000|1030\n坚强|0x40000000|3498\n坚忍|0x40000000|30402\n坚韧|0x40000000|14309\n坚实|0x40000000|4030\n坚守|0x1000|7447\n坚挺|0x1000|24172\n坚信|0x1000|6893\n坚毅|0x40000000|17867\n坚硬|0x40000000|11053\n坚贞|0x40000000|31407\n歼敌|0x1000|25025\n歼击|0x1000|46784\n歼灭|0x1000|15737\n间壁|0x0080|53286\n间层|0x0080|1\n间道|0x100000|486\n间谍|0x100000|12772\n间断|0x1000|10263\n间隔|0x100000|11723\n间或|0x8000000|15546\n间架|0x100000|39723\n间间|0x0080|1\n间接|0x20000000|5339\n间距|0x100000|19670\n间离|0x1000|1048\n间量|0x100000|0\n间苗|0x1000|49841\n间期|0x100000|1084\n间日|0x4000|1155\n间色|0x100000|1039\n间使|0x0008|4\n间位|0x0080|1\n间隙|0x100000|12680\n间歇|0x1000|20865\n间杂|0x1000|39108\n间质|0x0000|482\n间种|0x1000|1161\n间奏|0x1000|903\n间作|0x1000|21806\n肩膀|0x100000|4975\n肩背|0x0000|30281\n肩部|0x100000|813\n肩带|0x100000|817\n肩负|0x1000|5259\n肩胛|0x100000|30282\n肩井|0x0008|0\n肩起|0x1000|0\n肩上|0x8000|607\n肩挑|0x1000|36654\n肩头|0x100000|9523\n肩窝|0x100000|50606\n肩章|0x100000|32386\n肩贞|0x0008|0\n艰巨|0x40000000|4554\n艰苦|0x40000000|2737\n艰难|0x40000000|2584\n艰涩|0x40000000|38489\n艰深|0x40000000|31857\n艰危|0x40000000|1122\n艰险|0x40000000|14049\n艰辛|0x40000000|6288\n艰贞|0x40000000|0\n兼爱|0x0000|46485\n兼办|0x1000|1142\n兼备|0x1000|18296\n兼并|0x1000|6864\n兼差|0x100000|955\n兼程|0x1000|22681\n兼得|0x1000|751\n兼顾|0x1000|7555\n兼管|0x1000|34329\n兼具|0x1000|717\n兼课|0x1000|45003\n兼任|0x1000|9194\n兼容|0x1000|17257\n兼施|0x1000|52291\n兼收|0x1000|866\n兼祧|0x1000|1319\n兼修|0x0000|499\n兼营|0x1000|26897\n兼用|0x1000|481\n兼优|0x1000|1028\n兼有|0x1000|17780\n兼之|0x10000000|474\n兼职|0x100000|9919\n监测|0x1000|3020\n监查|0x1000|1036\n监察|0x1000|3828\n监场|0x1000|1121\n监督|0x1000|1163\n监犯|0x100000|1248\n监房|0x0008|2\n监工|0x100000|28105\n监管|0x1000|2900\n监规|0x0000|54317\n监护|0x1000|13640\n监禁|0x1000|15186\n监考|0x1000|21716\n监控|0x1000|4918\n监牢|0x100000|26614\n监理|0x1000|8731\n监利|0x0080|1442\n监票|0x1000|51438\n监事|0x100000|25087\n监视|0x1000|7746\n监守|0x1000|32765\n监听|0x1000|31637\n监押|0x1000|52290\n监狱|0x100000|4133\n监院|0x100000|1069\n监造|0x1000|1027\n监制|0x1000|23319\n笺纸|0x100000|1083\n笺注|0x100000|52292\n湔洗|0x1000|0\n湔雪|0x1000|0\n犍牛|0x100000|50227\n犍为|0x0040|983\n缄口|0x1000|42932\n缄默|0x1000|22729\n煎熬|0x1000|14619\n煎饼|0x100000|24641\n煎炒|0x0000|49839\n煎蛋|0x100000|827\n煎锅|0x0000|403\n煎煎|0x1000|671\n煎药|0x1000|37553\n煎煮|0x0000|466\n缣帛|0x0000|52293\n鲣鱼|0x0008|1153\n鹣鲽|0x100000|0\n拣到|0x1000|833\n拣选|0x1000|40384\n拣择|0x1000|53282\n俭朴|0x40000000|24282\n俭省|0x40000000|41034\n俭约|0x40000000|1059\n柬帖|0x100000|1251\n茧层|0x0080|0\n茧绸|0x100000|1318\n茧丝|0x0080|48382\n茧子|0x100000|29216\n捡到|0x1000|618\n捡漏|0x1000|55711\n捡起|0x0000|627\n捡拾|0x1000|31408\n减半|0x1000|21228\n减产|0x1000|9952\n减除|0x1000|966\n减到|0x1000|534\n减低|0x1000|22540\n减掉|0x1000|809\n减法|0x100000|32257\n减肥|0x1000|13369\n减幅|0x100000|26898\n减负|0x1000|8567\n减号|0x100000|55712\n减缓|0x1000|12289\n减价|0x1000|27857\n减亏|0x1000|20864\n减慢|0x1000|776\n减免|0x1000|5939\n减轻|0x1000|2719\n减去|0x1000|745\n减人|0x1000|1119\n减弱|0x1000|8072\n减色|0x1000|41262\n减少|0x1000|1047\n减省|0x0000|47094\n减收|0x1000|21756\n减数|0x100000|37189\n减税|0x1000|12456\n减速|0x1000|15375\n减损|0x1000|41035\n减缩|0x1000|51011\n减退|0x1000|18619\n减息|0x1000|1006\n减削|0x1000|0\n减小|0x1000|682\n减薪|0x1000|48757\n减刑|0x1000|21586\n减压|0x1000|28279\n减员|0x1000|19088\n减灾|0x1000|9787\n减债|0x1000|1139\n减震|0x1000|44147\n减征|0x0000|33528\n减值|0x1000|906\n减至|0x1000|529\n减租|0x1000|1079\n剪报|0x100000|33132\n剪裁|0x100000|22276\n剪彩|0x1000|15738\n剪除|0x1000|37719\n剪床|0x100000|1118\n剪刀|0x100000|13029\n剪掉|0x0000|519\n剪短|0x1000|778\n剪断|0x0000|517\n剪发|0x1000|24570\n剪辑|0x100000|29746\n剪剪|0x1000|0\n剪接|0x1000|39724\n剪径|0x1000|1048\n剪力|0x100000|969\n剪毛|0x100000|953\n剪灭|0x1000|0\n剪片|0x0008|8\n剪票|0x1000|49480\n剪切|0x1000|38700\n剪取|0x1000|1139\n剪去|0x0000|502\n剪贴|0x1000|30818\n剪下|0x0000|520\n剪影|0x100000|16228\n剪枝|0x1000|1019\n剪纸|0x100000|11424\n剪子|0x100000|23320\n检波|0x1000|1110\n检测|0x1000|2866\n检查|0x1000|718\n检察|0x1000|3193\n检出|0x100000|817\n检错|0x100000|1130\n检点|0x1000|19312\n检定|0x1000|42219\n检核|0x0008|972\n检举|0x1000|12068\n检控|0x1000|1000\n检漏|0x1000|1016\n检录|0x1000|1105\n检票|0x1000|26684\n检视|0x1000|30936\n检束|0x1000|0\n检肃|0x0008|0\n检索|0x1000|9107\n检讨|0x1000|8460\n检修|0x1000|12939\n检验|0x1000|2154\n检疫|0x1000|5344\n检阅|0x1000|11508\n检字|0x1000|0\n硷化|0x0080|0\n硷水|0x0080|0\n简爱|0x0080|1341\n简板|0x0080|0\n简报|0x100000|6929\n简本|0x100000|53788\n简笔|0x0000|51012\n简编|0x100000|53283\n简便|0x40000000|12699\n简表|0x0000|53284\n简称|0x1000|4629\n简单|0x40000000|848\n简牍|0x100000|34953\n简短|0x40000000|11245\n简古|0x0080|54318\n简化|0x1000|6655\n简记|0x0080|1069\n简洁|0x40000000|11458\n简捷|0x40000000|28637\n简介|0x100000|13915\n简况|0x100000|48383\n简括|0x1000|50228\n简历|0x100000|18207\n简练|0x40000000|18507\n简陋|0x40000000|8466\n简略|0x40000000|22682\n简码|0x100000|1053\n简慢|0x40000000|46486\n简明|0x40000000|17781\n简评|0x100000|29331\n简朴|0x40000000|14793\n简谱|0x100000|47711\n简任|0x100000|0\n简省|0x1000|51439\n简史|0x100000|30511\n简述|0x1000|33775\n简缩|0x1000|1146\n简体|0x100000|41955\n简帖|0x0080|1275\n简图|0x100000|53285\n简写|0x100000|40587\n简讯|0x100000|24835\n简阳|0x0040|1472\n简要|0x40000000|11436\n简易|0x40000000|9118\n简约|0x40000000|26615\n简则|0x100000|1087\n简章|0x100000|36478\n简政|0x0000|54818\n简直|0x8000000|2349\n简装|0x100000|49481\n谫陋|0x40000000|0\n碱地|0x100000|43684\n碱度|0x100000|1091\n碱化|0x1000|41263\n碱荒|0x100000|1275\n碱基|0x100000|1039\n碱水|0x100000|1005\n碱土|0x100000|1155\n碱性|0x100000|18769\n见爱|0x1000|0\n见报|0x1000|19115\n见背|0x1000|0\n见长|0x1000|49840\n见称|0x1000|44431\n见到|0x1000|496\n见得|0x0000|32894\n见地|0x100000|19523\n见方|0x1000|21434\n见告|0x0000|54319\n见工|0x0008|2\n见怪|0x1000|26257\n见惯|0x1000|839\n见鬼|0x1000|22730\n见好|0x1000|33643\n见机|0x1000|944\n见见|0x1000|726\n见教|0x1000|41956\n见解|0x100000|5828\n见老|0x1000|55292\n见礼|0x1000|54320\n见谅|0x1000|42467\n见面|0x1000|2312\n见识|0x100000|8110\n见天|0x8000000|37908\n见外|0x40000000|30717\n见闻|0x100000|11786\n见习|0x1000|26968\n见效|0x40000000|11399\n见笑|0x1000|30177\n见新|0x1000|1\n见于|0x1000|12961\n见证|0x100000|8884\n见诸|0x0000|41958\n见状|0x1000|19628\n见罪|0x1000|0\n件次|0x20000|1142\n件件|0x20000|724\n件数|0x100000|933\n件头|0x0008|0\n建安|0x0008|1194\n建邦|0x0008|435\n建材|0x100000|7217\n建仓|0x0008|610\n建昌|0x0080|1446\n建厂|0x1000|712\n建成|0x1000|537\n建党|0x1000|819\n建档|0x1000|25973\n建德|0x0040|1226\n建都|0x1000|25633\n建房|0x1000|694\n建功|0x1000|773\n建构|0x1000|11776\n建国|0x1000|2547\n建和|0x100000|942\n建湖|0x0040|1347\n建交|0x1000|3811\n建军|0x1000|1107\n建兰|0x100000|1030\n建里|0x0008|0\n建立|0x1000|549\n建面|0x0008|1528\n建模|0x100000|694\n建宁|0x0008|1363\n建瓯|0x0040|1373\n建平|0x0008|1190\n建坪|0x0008|1146\n建起|0x1000|743\n建设|0x1000|446\n建始|0x0008|1536\n建树|0x100000|12825\n建水|0x0080|1470\n建团|0x1000|430\n建网|0x1000|802\n建委|0x100000|747\n建武|0x0008|1024\n建物|0x0008|0\n建校|0x1000|796\n建行|0x0008|696\n建言|0x1000|775\n建阳|0x0040|1384\n建业|0x100000|749\n建议|0x100000|931\n建于|0x1000|702\n建元|0x1000|978\n建造|0x1000|4519\n建账|0x1000|1014\n建制|0x1000|12710\n建置|0x0000|52768\n建中|0x0008|1384\n建筑|0x100000|954\n饯别|0x1000|44714\n饯行|0x1000|24642\n剑柄|0x0080|566\n剑川|0x0080|1006\n剑道|0x0080|1318\n剑锋|0x0000|47713\n剑阁|0x0080|1419\n剑河|0x0080|1024\n剑剑|0x0080|0\n剑客|0x100000|31409\n剑兰|0x100000|963\n剑麻|0x100000|38903\n剑眉|0x100000|40808\n剑气|0x100000|767\n剑桥|0x0040|1080\n剑鞘|0x100000|1435\n剑士|0x100000|789\n剑术|0x100000|36479\n剑舞|0x0008|52769\n剑侠|0x100000|41723\n剑鱼|0x0008|1028\n荐骨|0x100000|1344\n荐举|0x1000|33919\n荐引|0x1000|0\n贱货|0x100000|39941\n贱价|0x40000000|53791\n贱卖|0x1000|34330\n贱民|0x100000|35223\n贱内|0x100000|1117\n贱妾|0x100000|1038\n贱人|0x100000|40385\n贱物|0x100000|0\n健步|0x100000|31410\n健存|0x1000|1394\n健儿|0x100000|8400\n健将|0x100000|27211\n健康|0x40000000|832\n健朗|0x40000000|49127\n健美|0x40000000|17940\n健全|0x1000|2115\n健身|0x1000|3574\n健谈|0x40000000|29114\n健体|0x1000|774\n健忘|0x40000000|29535\n健旺|0x40000000|41036\n健胃|0x1000|853\n健在|0x1000|22579\n健壮|0x40000000|13125\n涧沟|0x0040|0\n舰长|0x100000|892\n舰船|0x100000|22880\n舰队|0x100000|9230\n舰炮|0x100000|992\n舰首|0x0080|3\n舰艇|0x100000|10863\n舰载|0x20000000|894\n舰只|0x100000|37909\n舰种|0x0080|1202\n渐变|0x1000|30178\n渐次|0x8000000|22461\n渐渐|0x8000000|1965\n渐近|0x100000|825\n渐进|0x1000|17971\n渐慢|0x1000|0\n渐弱|0x0000|437\n渐悟|0x1000|0\n渐显|0x0000|49128\n渐现|0x0000|408\n渐隐|0x0000|418\n谏官|0x100000|1082\n谏书|0x100000|0\n谏言|0x0000|51441\n谏诤|0x1000|1142\n谏阻|0x1000|1173\n毽子|0x100000|30819\n溅出|0x0000|481\n溅落|0x1000|49482\n溅射|0x0008|0\n溅湿|0x1000|990\n溅水|0x1000|0\n溅污|0x1000|0\n腱鞘|0x100000|1143\n腱子|0x100000|1219\n践诺|0x1000|36480\n践踏|0x1000|9826\n践行|0x1000|37012\n践约|0x1000|41264\n鉴别|0x1000|11009\n鉴定|0x100000|2918\n鉴戒|0x100000|46789\n鉴赏|0x1000|13164\n鉴识|0x100000|1011\n鉴于|0x1000|6131\n鉴证|0x0000|36481\n键槽|0x100000|1089\n键控|0x20000000|1068\n键名|0x0000|434\n键钮|0x100000|1207\n键盘|0x100000|15718\n键入|0x1000|728\n键位|0x100000|927\n键值|0x0000|599\n僭越|0x0080|49483\n箭步|0x100000|31859\n箭垛|0x100000|1182\n箭杆|0x0040|974\n箭楼|0x100000|48759\n箭石|0x0008|0\n箭头|0x100000|22937\n箭猪|0x100000|1126\n箭竹|0x100000|43200\n箭镞|0x100000|50229\n江安|0x0080|974\n江岸|0x100000|22112\n江北|0x0040|16279\n江边|0x8000|702\n江滨|0x100000|846\n江川|0x0080|1413\n江达|0x0040|998\n江东|0x0040|1131\n江都|0x0040|1251\n江防|0x100000|28188\n江河|0x100000|8180\n江湖|0x100000|9926\n江淮|0x0040|716\n江津|0x0040|1352\n江口|0x0080|1274\n江蓠|0x0080|0\n江陵|0x0080|1331\n江流|0x100000|26456\n江轮|0x100000|43201\n江门|0x0040|992\n江米|0x100000|47391\n江面|0x8000|14493\n江南|0x0040|3041\n江宁|0x0040|1069\n江畔|0x8000|38284\n江山|0x100000|7014\n江水|0x100000|10357\n江苏|0x0040|2421\n江滩|0x100000|925\n江天|0x100000|43910\n江豚|0x100000|47714\n江西|0x0040|2961\n江心|0x8000|21673\n江阴|0x0040|1002\n江永|0x0080|1517\n江油|0x0040|1368\n江右|0x8000|0\n江源|0x0080|1453\n江猪|0x100000|0\n江孜|0x0080|993\n江左|0x0040|997\n姜饼|0x100000|1080\n姜黄|0x100000|45005\n姜块|0x0008|0\n姜末|0x100000|921\n姜片|0x100000|873\n姜丝|0x100000|911\n姜汤|0x100000|40386\n姜堰|0x0040|1274\n姜芋|0x0080|1541\n姜汁|0x100000|881\n将不|0x0000|679\n将才|0x100000|34642\n将次|0x8000000|0\n将官|0x100000|30719\n将会|0x0000|870\n将将|0x1000|495\n将近|0x1000|7112\n将就|0x1000|17845\n将军|0x100000|1905\n将来|0x4000|1630\n将乐|0x0080|1498\n将领|0x100000|6937\n将令|0x100000|40809\n将门|0x100000|21308\n将能|0x0000|547\n将士|0x100000|4810\n将帅|0x100000|20279\n将死|0x0000|515\n将它|0x0000|703\n将尉|0x100000|0\n将息|0x1000|940\n将校|0x100000|23274\n将养|0x1000|408\n将要|0x8000000|6816\n浆果|0x100000|39942\n浆糊|0x100000|48384\n浆料|0x100000|882\n浆膜|0x100000|1099\n浆粕|0x0008|1077\n浆纱|0x4000000|1016\n浆洗|0x1000|39943\n浆液|0x100000|42220\n浆汁|0x100000|48023\n豇豆|0x100000|42468\n僵蚕|0x100000|55294\n僵持|0x1000|19671\n僵化|0x1000|13271\n僵局|0x100000|11732\n僵冷|0x40000000|45594\n僵立|0x1000|0\n僵尸|0x100000|30179\n僵死|0x1000|30062\n僵卧|0x1000|54820\n僵硬|0x40000000|14428\n僵直|0x40000000|31411\n缰绳|0x100000|19809\n疆场|0x100000|26129\n疆界|0x100000|36824\n疆土|0x100000|31638\n疆域|0x100000|23652\n讲到|0x0000|644\n讲道|0x1000|843\n讲法|0x100000|27783\n讲稿|0x100000|26534\n讲古|0x1000|1005\n讲好|0x0000|38285\n讲和|0x1000|43202\n讲话|0x100000|944\n讲价|0x1000|42933\n讲讲|0x1000|695\n讲解|0x1000|6639\n讲经|0x1000|894\n讲究|0x40000000|3823\n讲课|0x1000|8657\n讲理|0x1000|15759\n讲明|0x1000|875\n讲评|0x1000|30718\n讲起|0x0000|586\n讲清|0x1000|926\n讲情|0x1000|37190\n讲求|0x1000|11152\n讲师|0x100000|16713\n讲史|0x0008|1\n讲授|0x1000|11054\n讲述|0x1000|4778\n讲台|0x100000|9838\n讲坛|0x100000|18770\n讲堂|0x100000|23587\n讲习|0x1000|34492\n讲席|0x100000|1105\n讲学|0x1000|11988\n讲演|0x100000|11418\n讲义|0x100000|19028\n讲桌|0x100000|51442\n讲座|0x100000|4723\n奖杯|0x100000|16263\n奖惩|0x100000|10254\n奖罚|0x100000|31053\n奖金|0x100000|4693\n奖励|0x1000|3168\n奖牌|0x100000|8795\n奖品|0x100000|18366\n奖旗|0x100000|55295\n奖券|0x100000|33133\n奖赏|0x1000|22011\n奖售|0x1000|1354\n奖台|0x100000|1122\n奖项|0x100000|9447\n奖掖|0x1000|38904\n奖挹|0x1000|0\n奖章|0x100000|8516\n奖助|0x0008|16\n奖状|0x100000|15040\n桨叶|0x100000|1090\n匠气|0x100000|1\n匠人|0x100000|25415\n匠心|0x100000|29332\n降表|0x0000|40466\n降尘|0x0000|53287\n降到|0x1000|661\n降等|0x0000|55296\n降低|0x1000|1638\n降调|0x1000|54321\n降伏|0x1000|33587\n降服|0x1000|29470\n降幅|0x100000|15645\n降福|0x0080|0\n降格|0x1000|31751\n降耗|0x0000|21113\n降火|0x0008|481\n降级|0x1000|13833\n降价|0x1000|6830\n降将|0x0000|28500\n降解|0x1000|793\n降临|0x1000|9063\n降落|0x1000|8272\n降旗|0x1000|42221\n降气|0x1000|0\n降生|0x1000|19629\n降世|0x0080|1\n降水|0x1000|3114\n降顺|0x1000|1244\n降温|0x1000|11770\n降息|0x1000|897\n降下|0x1000|795\n降香|0x100000|1136\n降序|0x0080|455\n降雪|0x1000|869\n降压|0x1000|30404\n降雨|0x1000|10568\n降职|0x1000|20442\n降旨|0x1000|420\n降至|0x0000|674\n降组|0x0008|1248\n绛红|0x0000|54322\n绛县|0x0040|1502\n绛紫|0x100000|49129\n酱菜|0x100000|28545\n酱缸|0x100000|44149\n酱瓜|0x100000|53792\n酱料|0x100000|900\n酱肉|0x0008|43911\n酱色|0x100000|43203\n酱鸭|0x0008|0\n酱油|0x100000|12962\n酱园|0x100000|46488\n酱汁|0x0000|489\n酱紫|0x100000|855\n犟劲|0x100000|51851\n犟嘴|0x1000|52294\n糨糊|0x100000|48384\n交班|0x1000|38490\n交办|0x1000|17782\n交保|0x1000|998\n交杯|0x1000|1034\n交臂|0x1000|54821\n交兵|0x1000|422\n交并|0x1000|0\n交叉|0x1000|5334\n交差|0x1000|31639\n交城|0x0080|1506\n交出|0x1000|695\n交瘁|0x1000|0\n交存|0x1000|435\n交错|0x1000|13409\n交大|0x0008|657\n交代|0x100000|6449\n交待|0x1000|6449\n交到|0x1000|669\n交道|0x100000|21757\n交底|0x1000|44150\n交点|0x100000|27212\n交电|0x0008|50230\n交叠|0x1000|867\n交恶|0x1000|49484\n交费|0x1000|15394\n交锋|0x1000|9827\n交付|0x1000|8613\n交感|0x20000000|897\n交割|0x1000|31412\n交给|0x1000|1934\n交工|0x1000|38286\n交公|0x1000|39945\n交媾|0x1000|45595\n交关|0x1000|1020\n交管|0x100000|846\n交好|0x1000|36482\n交合|0x1000|50607\n交互|0x8000000|16534\n交欢|0x1000|52771\n交还|0x1000|17692\n交换|0x1000|1737\n交辉|0x1000|0\n交回|0x1000|520\n交汇|0x1000|16735\n交会|0x1000|14494\n交火|0x1000|13410\n交货|0x1000|16400\n交集|0x1000|34643\n交际|0x1000|8124\n交寄|0x0000|54323\n交加|0x1000|22580\n交角|0x100000|1108\n交接|0x1000|10061\n交结|0x1000|984\n交界|0x1000|12849\n交警|0x100000|5027\n交卷|0x1000|33529\n交口|0x1000|38905\n交款|0x1000|778\n交困|0x1000|0\n交联|0x100000|855\n交流|0x1000|1123\n交纳|0x1000|9199\n交配|0x1000|22159\n交迫|0x1000|52772\n交钱|0x1000|711\n交情|0x100000|12096\n交融|0x1000|11904\n交上|0x1000|754\n交涉|0x1000|7530\n交手|0x1000|18173\n交售|0x1000|20503\n交税|0x1000|29027\n交谈|0x1000|3616\n交替|0x1000|9533\n交通|0x100000|1025\n交托|0x1000|909\n交往|0x1000|1968\n交尾|0x1000|38287\n交相|0x1000|923\n交响|0x1000|772\n交心|0x1000|21153\n交行|0x100000|1307\n交验|0x1000|51853\n交椅|0x100000|22160\n交易|0x1000|2046\n交谊|0x100000|907\n交映|0x1000|1050\n交由|0x1000|749\n交游|0x1000|28730\n交友|0x1000|19276\n交运|0x100000|50608\n交杂|0x0000|50609\n交战|0x1000|11998\n交账|0x1000|49485\n交织|0x1000|9071\n交趾|0x100000|1018\n郊区|0x100000|6223\n郊外|0x8000|12103\n郊县|0x100000|26818\n郊野|0x100000|32005\n郊游|0x1000|28638\n姣好|0x40000000|34644\n姣丽|0x40000000|0\n姣美|0x40000000|48385\n娇嗔|0x0000|49486\n娇痴|0x40000000|51854\n娇宠|0x0000|49130\n娇儿|0x0000|47393\n娇惯|0x0000|32524\n娇贵|0x40000000|36657\n娇憨|0x0080|39726\n娇好|0x40000000|55297\n娇客|0x100000|51443\n娇美|0x0000|34493\n娇媚|0x40000000|27936\n娇嫩|0x40000000|22831\n娇妻|0x0000|52295\n娇气|0x40000000|25634\n娇娆|0x40000000|54324\n娇柔|0x40000000|37911\n娇弱|0x0000|34189\n娇声|0x0000|52296\n娇态|0x0080|452\n娇娃|0x100000|792\n娇小|0x40000000|22683\n娇羞|0x40000000|33003\n娇艳|0x40000000|21154\n娇养|0x1000|55298\n娇纵|0x1000|51013\n浇薄|0x40000000|0\n浇地|0x1000|25899\n浇灌|0x1000|15285\n浇花|0x0080|44715\n浇浇|0x0080|0\n浇口|0x100000|1121\n浇洒|0x1000|1195\n浇水|0x1000|12826\n浇头|0x100000|1051\n浇注|0x1000|30180\n浇筑|0x1000|18717\n浇铸|0x1000|30938\n茭白|0x100000|40164\n骄傲|0x100000|4412\n骄横|0x40000000|24892\n骄矜|0x40000000|38104\n骄狂|0x40000000|1081\n骄慢|0x40000000|53288\n骄女|0x100000|1165\n骄气|0x40000000|43434\n骄人|0x1000|16344\n骄阳|0x100000|13475\n骄躁|0x40000000|0\n骄子|0x100000|28469\n骄纵|0x40000000|53289\n胶版|0x100000|53793\n胶布|0x100000|31054\n胶带|0x100000|37367\n胶东|0x0080|1251\n胶冻|0x0008|0\n胶管|0x100000|511\n胶合|0x1000|51014\n胶化|0x0080|0\n胶结|0x1000|1046\n胶卷|0x100000|21959\n胶块|0x0008|1230\n胶粒|0x100000|963\n胶料|0x0008|1013\n胶轮|0x100000|49843\n胶膜|0x0008|976\n胶木|0x100000|54822\n胶南|0x0040|1368\n胶囊|0x100000|14541\n胶泥|0x100000|42469\n胶皮|0x100000|26899\n胶片|0x100000|20771\n胶圈|0x100000|922\n胶溶|0x0080|0\n胶乳|0x100000|52773\n胶束|0x100000|1161\n胶水|0x100000|26685\n胶体|0x100000|31413\n胶丸|0x100000|51444\n胶鞋|0x100000|27462\n胶靴|0x100000|49131\n胶印|0x100000|44716\n胶原|0x0080|771\n胶粘|0x1000|668\n胶纸|0x100000|48386\n胶质|0x100000|34645\n胶州|0x0040|1251\n胶状|0x0008|1010\n胶着|0x1000|46790\n椒江|0x0040|1315\n椒盐|0x100000|47096\n焦比|0x100000|1104\n焦愁|0x40000000|0\n焦脆|0x40000000|1100\n焦点|0x100000|4828\n焦耳|0x20000|1019\n焦干|0x40000000|52297\n焦黑|0x100000|38703\n焦煳|0x0000|53290\n焦糊|0x100000|988\n焦化|0x1000|27213\n焦黄|0x100000|24505\n焦急|0x40000000|7582\n焦距|0x100000|27711\n焦渴|0x40000000|33920\n焦枯|0x1000|53291\n焦烂|0x40000000|1196\n焦雷|0x0080|1128\n焦炉|0x100000|971\n焦虑|0x40000000|8848\n焦煤|0x100000|48024\n焦烧|0x0008|0\n焦深|0x0080|0\n焦思|0x1000|1287\n焦炭|0x100000|17661\n焦碳|0x0000|461\n焦糖|0x0080|879\n焦土|0x100000|36825\n焦心|0x40000000|45008\n焦油|0x100000|28027\n焦燥|0x100000|1019\n焦躁|0x40000000|16671\n焦炙|0x40000000|1283\n焦灼|0x0100|15023\n焦作|0x0040|1090\n蛟河|0x0040|985\n蛟龙|0x100000|27784\n鲛绡|0x100000|992\n蕉岭|0x0080|1507\n蕉农|0x100000|1122\n蕉园|0x100000|1228\n礁堡|0x0040|1363\n礁石|0x100000|19089\n鹪鹩|0x100000|1129\n角尺|0x100000|977\n角斗|0x1000|37919\n角度|0x100000|1931\n角儿|0x100000|950\n角钢|0x100000|48025\n角化|0x1000|936\n角力|0x1000|36487\n角楼|0x100000|36483\n角落|0x100000|5744\n角门|0x100000|30063\n角膜|0x100000|19882\n角票|0x100000|1204\n角球|0x100000|23376\n角色|0x100000|2512\n角孙|0x0008|0\n角铁|0x100000|52774\n角形|0x0008|1002\n角岩|0x100000|0\n角质|0x100000|38105\n角逐|0x1000|7529\n角柱|0x100000|1157\n角子|0x100000|1030\n佼佼|0x40000000|704\n侥幸|0x40000000|9484\n狡辩|0x1000|29747\n狡猾|0x40000000|11285\n狡计|0x100000|42934\n狡谲|0x40000000|1287\n狡狯|0x0000|39946\n狡赖|0x1000|48026\n狡黠|0x40000000|19956\n狡诈|0x40000000|24173\n绞车|0x100000|37368\n绞刀|0x100000|1109\n绞架|0x100000|49132\n绞尽|0x1000|1005\n绞脸|0x1000|0\n绞盘|0x100000|47394\n绞杀|0x1000|41725\n绞手|0x100000|1291\n绞死|0x0000|40165\n绞碎|0x0008|1021\n绞索|0x100000|46489\n绞痛|0x1000|34647\n绞刑|0x100000|43686\n饺子|0x100000|8372\n皎白|0x0100|0\n皎皎|0x1000|44717\n皎洁|0x40000000|26535\n皎月|0x100000|411\n矫健|0x40000000|19454\n矫捷|0x40000000|34648\n矫情|0x40000000|27119\n矫饰|0x1000|45911\n矫形|0x1000|43205\n矫正|0x1000|14263\n矫直|0x100000|1053\n矫治|0x1000|29536\n脚板|0x100000|22938\n脚背|0x100000|28844\n脚本|0x100000|31861\n脚步|0x100000|3998\n脚程|0x0008|1\n脚灯|0x100000|55301\n脚蹬|0x100000|865\n脚凳|0x100000|1081\n脚底|0x100000|17783\n脚垫|0x0000|55302\n脚钉|0x100000|1171\n脚儿|0x100000|0\n脚法|0x100000|834\n脚夫|0x100000|1059\n脚跟|0x100000|14483\n脚踝|0x100000|734\n脚迹|0x100000|1138\n脚架|0x100000|791\n脚尖|0x100000|17610\n脚劲|0x100000|1130\n脚扣|0x100000|1126\n脚力|0x100000|39109\n脚链|0x0008|50611\n脚镣|0x100000|29643\n脚铃|0x100000|0\n脚炉|0x100000|1222\n脚轮|0x100000|886\n脚门|0x100000|2\n脚面|0x100000|33004\n脚盆|0x100000|43912\n脚蹼|0x100000|54823\n脚气|0x100000|35371\n脚钱|0x100000|1315\n脚踏|0x1000|628\n脚痛|0x0000|433\n脚腕|0x0000|55304\n脚下|0x8000|4523\n脚心|0x100000|32131\n脚型|0x100000|1078\n脚癣|0x100000|1067\n脚丫|0x100000|731\n脚印|0x100000|14826\n脚掌|0x100000|28189\n脚趾|0x100000|21435\n脚踵|0x100000|1162\n脚注|0x100000|51855\n脚爪|0x100000|1003\n脚镯|0x100000|1186\n铰刀|0x100000|1005\n铰接|0x1000|1054\n铰链|0x100000|53293\n搅拌|0x1000|17820\n搅动|0x1000|23321\n搅和|0x1000|29537\n搅浑|0x1000|52775\n搅混|0x1000|1034\n搅局|0x1000|55875\n搅乱|0x1000|22462\n搅扰|0x1000|32132\n搅匀|0x0000|509\n湫隘|0x40000000|0\n剿除|0x1000|47395\n剿匪|0x1000|22541\n剿共|0x1000|1098\n剿灭|0x1000|23752\n剿杀|0x1000|1008\n剿袭|0x1000|0\n徼幸|0x40000000|0\n缴费|0x1000|10099\n缴付|0x1000|40166\n缴获|0x1000|10183\n缴交|0x0008|857\n缴库|0x1000|1188\n缴款|0x1000|46791\n缴纳|0x1000|5967\n缴枪|0x1000|39533\n缴税|0x1000|26341\n缴销|0x1000|1143\n缴械|0x1000|21623\n缴租|0x0000|53294\n叫板|0x1000|37369\n叫春|0x0000|55715\n叫法|0x100000|32006\n叫喊|0x1000|11094\n叫好|0x1000|11905\n叫号|0x1000|41959\n叫化|0x20000000|957\n叫唤|0x1000|14985\n叫魂|0x1000|1086\n叫价|0x1000|830\n叫叫|0x1000|693\n叫劲|0x1000|988\n叫绝|0x1000|28191\n叫苦|0x1000|21155\n叫驴|0x100000|35524\n叫骂|0x1000|21480\n叫卖|0x1000|16596\n叫门|0x1000|31172\n叫名|0x100000|0\n叫牌|0x1000|434\n叫屈|0x1000|38704\n叫嚷|0x1000|20404\n叫声|0x100000|619\n叫停|0x0008|705\n叫嚣|0x1000|22463\n叫醒|0x1000|645\n叫阵|0x1000|53794\n叫住|0x1000|714\n叫作|0x1000|693\n叫座|0x40000000|840\n叫做|0x1000|2809\n轿车|0x100000|3024\n轿夫|0x100000|20504\n轿门|0x0040|0\n轿子|0x100000|13489\n较比|0x8000000|1061\n较差|0x40000000|648\n较场|0x100000|839\n较大|0x40000000|496\n较好|0x0000|775\n较劲|0x1000|29538\n较近|0x0000|535\n较量|0x1000|6044\n较轻|0x40000000|556\n较少|0x0000|687\n较晚|0x40000000|541\n较为|0x8000000|3089\n较小|0x0000|697\n较真|0x40000000|797\n较之|0x1000|13009\n较著|0x40000000|0\n教案|0x100000|20948\n教本|0x100000|49134\n教鞭|0x100000|29644\n教材|0x100000|3365\n教长|0x100000|1055\n教程|0x100000|23539\n教导|0x1000|8326\n教法|0x100000|25635\n教范|0x100000|0\n教辅|0x0000|23227\n教父|0x100000|34331\n教改|0x100000|24128\n教给|0x1000|700\n教工|0x100000|31863\n教官|0x100000|17227\n教管|0x100000|0\n教规|0x100000|37556\n教化|0x1000|27785\n教坏|0x0000|489\n教皇|0x100000|18897\n教会|0x100000|6874\n教诲|0x1000|16558\n教教|0x1000|607\n教具|0x100000|31296\n教课|0x1000|34646\n教理|0x100000|997\n教练|0x100000|3072\n教龄|0x100000|42470\n教令|0x100000|401\n教门|0x100000|0\n教民|0x100000|48027\n教名|0x100000|0\n教母|0x100000|916\n教女|0x100000|1\n教派|0x100000|17611\n教区|0x100000|32638\n教权|0x0000|382\n教师|0x100000|821\n教士|0x100000|19883\n教室|0x100000|4156\n教授|0x100000|658\n教书|0x1000|8693\n教唆|0x1000|27120\n教坛|0x100000|950\n教堂|0x100000|6332\n教条|0x100000|16947\n教廷|0x100000|27937\n教头|0x100000|835\n教徒|0x100000|11828\n教委|0x100000|722\n教务|0x100000|25571\n教习|0x100000|49135\n教学|0x1000|25570\n教训|0x100000|2319\n教研|0x1000|22277\n教养|0x100000|10899\n教义|0x100000|14542\n教益|0x100000|22060\n教友|0x100000|36311\n教育|0x1000|227\n教员|0x100000|6004\n教正|0x1000|55305\n教职|0x100000|820\n教旨|0x100000|53295\n教主|0x100000|18508\n教子|0x100000|754\n教宗|0x0020|936\n窖藏|0x1000|42223\n窖子|0x100000|0\n酵解|0x100000|1142\n酵母|0x100000|20907\n酵素|0x100000|814\n噍类|0x100000|0\n阶层|0x100000|5167\n阶乘|0x100000|1057\n阶地|0x0008|408\n阶段|0x100000|900\n阶级|0x100000|2400\n阶石|0x100000|0\n阶梯|0x100000|14524\n阶跃|0x0008|0\n疖子|0x100000|43206\n皆可|0x2000|606\n接案|0x0008|2\n接班|0x1000|28192\n接办|0x1000|42224\n接棒|0x0008|874\n接驳|0x1000|850\n接茬|0x1000|1010\n接产|0x0000|49487\n接车|0x0000|53797\n接触|0x1000|1687\n接待|0x1000|2368\n接到|0x1000|497\n接地|0x1000|36827\n接点|0x100000|861\n接防|0x1000|53798\n接访|0x0000|18509\n接风|0x1000|26342\n接缝|0x1000|48387\n接羔|0x1000|1262\n接骨|0x1000|49136\n接管|0x1000|16035\n接轨|0x1000|6498\n接过|0x1000|574\n接合|0x1000|38491\n接火|0x1000|48028\n接货|0x0000|42225\n接获|0x1000|894\n接机|0x1000|54825\n接济|0x1000|16559\n接驾|0x1000|54326\n接见|0x1000|7235\n接界|0x1000|1\n接近|0x1000|1984\n接警|0x0000|26198\n接境|0x1000|0\n接客|0x1000|52776\n接口|0x100000|10129\n接力|0x1000|9770\n接连|0x8000000|5413\n接邻|0x1000|1\n接龙|0x100000|723\n接纳|0x1000|9325\n接气|0x1000|1238\n接洽|0x1000|17784\n接腔|0x1000|0\n接亲|0x1000|1076\n接球|0x1000|835\n接取|0x1000|1094\n接壤|0x1000|16264\n接人|0x0000|487\n接任|0x1000|19780\n接入|0x1000|593\n接上|0x1000|723\n接生|0x1000|22542\n接收|0x1000|4733\n接手|0x1000|19250\n接受|0x1000|457\n接送|0x1000|12252\n接穗|0x100000|49844\n接榫|0x1000|0\n接谈|0x1000|1197\n接替|0x1000|12497\n接听|0x1000|44152\n接通|0x1000|16821\n接头|0x1000|20443\n接吻|0x1000|17941\n接物|0x1000|1032\n接下|0x1000|702\n接线|0x100000|26199\n接续|0x1000|18276\n接引|0x1000|884\n接应|0x1000|14849\n接迎|0x1000|0\n接援|0x1000|0\n接运|0x1000|1089\n接站|0x1000|43207\n接掌|0x0008|916\n接诊|0x1000|25196\n接枝|0x0000|422\n接种|0x1000|9879\n接踵|0x1000|34649\n接住|0x0000|610\n接转|0x0000|48029\n接着|0x10000000|1289\n接嘴|0x100000|0\n秸杆|0x100000|533\n秸秆|0x100000|12686\n嗟叹|0x1000|33405\n揭榜|0x1000|45308\n揭穿|0x1000|20949\n揭底|0x1000|55307\n揭东|0x0080|1496\n揭短|0x1000|34650\n揭发|0x1000|9052\n揭锅|0x1000|1203\n揭揭|0x1000|907\n揭开|0x1000|7017\n揭露|0x1000|5700\n揭秘|0x1000|43208\n揭密|0x0000|55716\n揭幕|0x1000|9965\n揭牌|0x1000|16627\n揭批|0x1000|1016\n揭破|0x1000|936\n揭示|0x1000|4070\n揭帖|0x100000|1145\n揭西|0x0080|1530\n揭晓|0x1000|7460\n揭阳|0x0040|1123\n揭橥|0x1000|1156\n街霸|0x100000|511\n街车|0x100000|947\n街道|0x100000|1791\n街灯|0x100000|24643\n街坊|0x100000|13535\n街沟|0x0040|0\n街机|0x100000|766\n街角|0x100000|44153\n街景|0x100000|23322\n街口|0x100000|17899\n街垒|0x100000|48030\n街路|0x0040|1006\n街门|0x100000|21001\n街面|0x8000|19781\n街名|0x100000|1050\n街区|0x100000|13767\n街衢|0x100000|1090\n街上|0x8000|503\n街市|0x100000|19485\n街亭|0x0008|1001\n街头|0x8000|3853\n街巷|0x100000|14755\n街心|0x8000|17716\n街招|0x0008|0\n孑孓|0x100000|1050\n孑然|0x8000000|887\n孑遗|0x100000|41961\n节哀|0x1000|42935\n节本|0x100000|1060\n节操|0x100000|39949\n节点|0x100000|691\n节电|0x1000|14756\n节度|0x100000|957\n节妇|0x100000|1055\n节后|0x4000|684\n节假|0x100000|663\n节间|0x0008|1077\n节俭|0x40000000|14484\n节减|0x40000000|52299\n节节|0x20000|34794\n节礼|0x100000|47715\n节理|0x100000|1089\n节烈|0x40000000|36828\n节令|0x100000|33005\n节流|0x1000|26900\n节录|0x100000|41727\n节律|0x100000|30064\n节略|0x100000|48031\n节煤|0x0008|1059\n节目|0x100000|1701\n节能|0x40000000|4047\n节拍|0x100000|19341\n节片|0x100000|1292\n节气|0x100000|25572\n节前|0x4000|708\n节庆|0x100000|1099\n节日|0x100000|2792\n节省|0x40000000|5680\n节食|0x1000|40811\n节水|0x1000|4478\n节下|0x4000|1088\n节选|0x1000|41962\n节译|0x100000|0\n节用|0x0008|1031\n节油|0x1000|25486\n节余|0x100000|29539\n节育|0x1000|25900\n节欲|0x1000|50613\n节圆|0x0008|1269\n节约|0x40000000|2602\n节支|0x1000|30939\n节肢|0x20000000|1033\n节制|0x1000|11083\n节子|0x100000|1055\n节奏|0x100000|4390\n劫案|0x0000|52778\n劫财|0x1000|517\n劫持|0x1000|13548\n劫道|0x1000|0\n劫夺|0x1000|35832\n劫匪|0x100000|33277\n劫机|0x1000|23697\n劫掠|0x1000|25573\n劫难|0x100000|19165\n劫数|0x100000|35997\n劫营|0x1000|0\n劫狱|0x1000|44154\n劫寨|0x1000|0\n杰出|0x40000000|4041\n杰克|0x0080|1003\n杰作|0x100000|11925\n诘难|0x0008|51857\n诘问|0x1000|23426\n诘责|0x1000|1163\n拮据|0x40000000|20505\n拮抗|0x1000|939\n洁白|0x40000000|8939\n洁肤|0x0000|55308\n洁净|0x40000000|8891\n洁具|0x100000|41266\n洁癖|0x100000|39535\n洁身|0x1000|997\n结案|0x1000|12547\n结巴|0x100000|24893\n结疤|0x1000|52300\n结拜|0x1000|31865\n结伴|0x1000|16850\n结冰|0x1000|21389\n结彩|0x1000|54826\n结肠|0x100000|37191\n结成|0x1000|659\n结仇|0x1000|48032\n结出|0x1000|775\n结存|0x1000|44433\n结缔|0x1000|0\n结点|0x100000|872\n结队|0x1000|34795\n结发|0x1000|906\n结构|0x100000|751\n结垢|0x0000|51015\n结果|0x100000|4560\n结合|0x1000|767\n结核|0x100000|20355\n结喉|0x100000|1316\n结汇|0x1000|45598\n结婚|0x1000|1928\n结伙|0x100000|32133\n结集|0x1000|22326\n结痂|0x1000|48388\n结交|0x1000|16628\n结焦|0x100000|1117\n结节|0x1000|38290\n结晶|0x100000|7569\n结局|0x100000|7045\n结块|0x1000|951\n结庐|0x1000|975\n结论|0x100000|2685\n结盟|0x1000|22278\n结膜|0x100000|37914\n结幕|0x1000|1389\n结亲|0x1000|28375\n结清|0x1000|891\n结舌|0x1000|966\n结社|0x1000|27859\n结石|0x100000|27121\n结识|0x1000|11492\n结实|0x40000000|9761\n结式|0x100000|0\n结束|0x100000|656\n结霜|0x1000|415\n结素|0x100000|1030\n结算|0x1000|6398\n结他|0x0008|0\n结网|0x0000|472\n结为|0x1000|581\n结尾|0x100000|13685\n结下|0x1000|739\n结业|0x1000|16346\n结义|0x0000|53799\n结余|0x100000|24571\n结语|0x100000|35833\n结缘|0x1000|25197\n结怨|0x1000|38906\n结扎|0x1000|32134\n结帐|0x1000|701\n结账|0x1000|20950\n结转|0x1000|912\n结子|0x100000|968\n桀骜|0x40000000|843\n桀纣|0x100000|42936\n婕妤|0x100000|1030\n捷报|0x100000|17091\n捷达|0x0008|1120\n捷径|0x100000|15352\n捷克|0x0040|1026\n捷速|0x40000000|0\n捷运|0x0008|1213\n捷足|0x1000|1126\n颉颃|0x1000|1120\n睫毛|0x100000|14777\n截断|0x1000|15816\n截稿|0x1000|44156\n截获|0x1000|21030\n截击|0x1000|24062\n截口|0x0000|465\n截流|0x1000|11926\n截留|0x1000|13953\n截门|0x100000|1258\n截面|0x100000|22630\n截球|0x0008|0\n截取|0x1000|29540\n截去|0x0000|429\n截然|0x8000000|21522\n截收|0x1000|1238\n截瘫|0x1000|29960\n截图|0x100000|607\n截肢|0x1000|29857\n截止|0x1000|9744\n截至|0x1000|3010\n截住|0x1000|14220\n碣石|0x100000|936\n竭诚|0x8000000|20654\n竭尽|0x1000|23698\n竭力|0x1000|6925\n羯鼓|0x100000|1142\n羯羊|0x100000|1258\n她家|0x10000|628\n她们|0x10000|815\n她是|0x0000|816\n姐弟|0x100000|697\n姐夫|0x100000|10247\n姐姐|0x100000|3195\n姐妹|0x100000|5013\n解饱|0x0080|1280\n解蔽|0x0080|0\n解表|0x0000|44719\n解差|0x100000|1245\n解馋|0x40000000|36313\n解嘲|0x1000|25763\n解愁|0x1000|41267\n解除|0x1000|3370\n解答|0x1000|7747\n解调|0x1000|936\n解冻|0x1000|20569\n解毒|0x1000|22939\n解读|0x1000|7849\n解饿|0x40000000|0\n解乏|0x40000000|44157\n解法|0x100000|842\n解放|0x1000|1182\n解封|0x0080|847\n解构|0x1000|41268\n解雇|0x1000|23805\n解恨|0x40000000|33778\n解惑|0x1000|21523\n解甲|0x1000|1041\n解解|0x1000|0\n解禁|0x1000|26536\n解酒|0x0000|51858\n解救|0x1000|11218\n解聚|0x100000|0\n解决|0x1000|281\n解开|0x1000|588\n解渴|0x40000000|22408\n解款|0x0080|0\n解困|0x1000|11724\n解缆|0x0080|379\n解离|0x1000|1068\n解理|0x0080|1148\n解链|0x100000|0\n解码|0x1000|39729\n解闷|0x1000|22881\n解梦|0x0080|683\n解谜|0x1000|874\n解密|0x1000|30820\n解难|0x1000|31414\n解囊|0x1000|1033\n解聘|0x1000|24572\n解剖|0x1000|10193\n解气|0x40000000|29645\n解劝|0x1000|35834\n解热|0x1000|45010\n解任|0x1000|1177\n解散|0x1000|8016\n解事|0x1000|0\n解释|0x1000|807\n解手|0x1000|32007\n解暑|0x0000|53801\n解述|0x0080|0\n解数|0x100000|26786\n解说|0x1000|13808\n解送|0x1000|41480\n解锁|0x0080|577\n解套|0x0008|53296\n解题|0x1000|23806\n解体|0x1000|10264\n解脱|0x1000|8820\n解危|0x1000|1034\n解围|0x1000|18690\n解悟|0x1000|1091\n解吸|0x1000|1128\n解析|0x1000|11153\n解溪|0x0080|0\n解下|0x0000|577\n解压|0x1000|591\n解严|0x1000|1078\n解药|0x0008|621\n解颐|0x1000|1066\n解疑|0x1000|47717\n解译|0x1000|1012\n解忧|0x1000|24701\n解郁|0x1000|989\n解元|0x100000|1052\n解约|0x1000|43687\n解运|0x0000|54828\n解职|0x1000|27122\n介词|0x100000|55987\n介乎|0x0000|35372\n介怀|0x40000000|1461\n介壳|0x100000|1133\n介面|0x0008|693\n介入|0x1000|6551\n介绍|0x1000|384\n介休|0x0040|1432\n介意|0x40000000|14310\n介音|0x100000|0\n介于|0x1000|19810\n介质|0x100000|14311\n介子|0x100000|932\n戒备|0x1000|12850\n戒尺|0x100000|43688\n戒除|0x1000|33921\n戒刀|0x100000|1062\n戒毒|0x1000|11426\n戒赌|0x1000|1027\n戒断|0x1000|1028\n戒规|0x100000|1188\n戒护|0x0008|1\n戒忌|0x100000|0\n戒酒|0x1000|822\n戒惧|0x1000|1111\n戒律|0x100000|31297\n戒勉|0x0008|0\n戒慎|0x40000000|1026\n戒坛|0x100000|1128\n戒条|0x100000|948\n戒心|0x100000|25764\n戒烟|0x1000|16450\n戒严|0x1000|18249\n戒指|0x100000|9880\n芥菜|0x100000|38705\n芥蒂|0x100000|29115\n芥蓝|0x0000|52229\n芥末|0x100000|43689\n芥子|0x100000|895\n届届|0x20000|0\n届满|0x1000|20167\n届期|0x8000000|37192\n届时|0x8000000|5986\n界碑|0x100000|27938\n界标|0x100000|48760\n界尺|0x100000|1239\n界定|0x1000|8178\n界河|0x100000|32639\n界面|0x100000|14525\n界内|0x8000|51446\n界山|0x100000|1090\n界石|0x100000|39311\n界首|0x100000|1344\n界说|0x0000|46793\n界外|0x20000000|54827\n界线|0x100000|11055\n界限|0x100000|6105\n界域|0x100000|1107\n界约|0x100000|1191\n界址|0x100000|51860\n界桩|0x100000|47398\n疥虫|0x100000|1213\n疥疮|0x100000|44720\n疥癣|0x0008|52779\n诫律|0x0080|0\n诫命|0x0080|0\n借出|0x1000|903\n借词|0x100000|50232\n借此|0x40000|652\n借代|0x100000|55962\n借贷|0x1000|13102\n借调|0x1000|35068\n借读|0x1000|21624\n借端|0x1000|0\n借方|0x100000|48033\n借给|0x1000|692\n借故|0x1000|22684\n借光|0x1000|37557\n借火|0x1000|1041\n借机|0x8000000|14598\n借鉴|0x1000|3150\n借景|0x0000|51861\n借镜|0x0008|0\n借据|0x100000|41728\n借口|0x100000|5742\n借款|0x1000|7061\n借来|0x1000|716\n借钱|0x1000|659\n借取|0x1000|0\n借入|0x1000|1001\n借势|0x1000|50233\n借宿|0x1000|35069\n借条|0x100000|31415\n借位|0x1000|1097\n借问|0x1000|45011\n借以|0x1000|15091\n借用|0x1000|9425\n借喻|0x100000|55876\n借阅|0x1000|25417\n借债|0x1000|24952\n借账|0x1000|1310\n借支|0x1000|49489\n借重|0x1000|27290\n借住|0x1000|42227\n借助|0x1000|5614\n藉此|0x0000|577\n藉口|0x0000|561\n藉以|0x40000|514\n藉由|0x0008|728\n巾帼|0x100000|12179\n今朝|0x4000|18691\n今晨|0x4000|759\n今春|0x4000|814\n今次|0x0008|704\n今冬|0x4000|782\n今儿|0x4000|743\n今番|0x4000|1028\n今后|0x4000|1052\n今年|0x4000|352\n今秋|0x4000|836\n今人|0x100000|16871\n今日|0x4000|1524\n今生|0x4000|21909\n今世|0x4000|31640\n今岁|0x4000|1055\n今天|0x4000|113\n今晚|0x4000|496\n今文|0x0080|1075\n今夕|0x100000|848\n今昔|0x100000|32527\n今夏|0x4000|735\n今宵|0x4000|33007\n今夜|0x4000|533\n今译|0x100000|39111\n今音|0x100000|1232\n斤斗|0x100000|1178\n斤斤|0x100000|1065\n斤两|0x100000|35673\n金榜|0x100000|736\n金宝|0x0080|1202\n金杯|0x4000000|1202\n金笔|0x100000|41729\n金币|0x100000|25705\n金碧|0x100000|826\n金边|0x0040|13504\n金匾|0x0000|50614\n金表|0x100000|986\n金箔|0x100000|36829\n金钗|0x0080|44435\n金昌|0x0040|1275\n金朝|0x100000|466\n金城|0x0008|1090\n金川|0x0080|1344\n金疮|0x100000|1065\n金丹|0x0008|39950\n金弹|0x0008|0\n金店|0x0000|39536\n金锭|0x100000|54829\n金都|0x0008|1139\n金盾|0x0008|27538\n金额|0x100000|3607\n金发|0x100000|21524\n金粉|0x100000|50615\n金刚|0x100000|17041\n金工|0x100000|48389\n金瓜|0x100000|54830\n金冠|0x100000|834\n金光|0x100000|15926\n金龟|0x100000|844\n金贵|0x40000000|29858\n金桂|0x0000|48035\n金衡|0x0080|1109\n金湖|0x0040|1267\n金琥|0x0080|0\n金花|0x100000|1155\n金华|0x0040|931\n金黄|0x100000|13259\n金婚|0x100000|41481\n金鸡|0x100000|1210\n金价|0x100000|833\n金剑|0x0008|1472\n金奖|0x100000|10978\n金匠|0x100000|1082\n金津|0x0080|0\n金橘|0x100000|49846\n金卡|0x4000000|1197\n金库|0x100000|29748\n金块|0x100000|941\n金矿|0x100000|695\n金兰|0x100000|45600\n金莲|0x100000|737\n金链|0x0080|0\n金陵|0x0008|1051\n金领|0x100000|798\n金銮|0x20000000|1030\n金马|0x0008|1085\n金门|0x0040|1200\n金牛|0x0008|973\n金瓯|0x100000|45601\n金牌|0x100000|2957\n金器|0x0080|47097\n金钱|0x100000|4305\n金枪|0x0008|1451\n金秋|0x4000|12687\n金曲|0x100000|44436\n金融|0x100000|1598\n金色|0x100000|8295\n金沙|0x0080|1077\n金砂|0x0080|1459\n金山|0x100000|864\n金蛇|0x100000|923\n金石|0x100000|19365\n金饰|0x100000|53297\n金水|0x0040|1234\n金丝|0x100000|722\n金松|0x0080|974\n金塔|0x0080|1394\n金坛|0x0040|1245\n金汤|0x100000|985\n金堂|0x0080|1454\n金条|0x100000|26686\n金童|0x100000|826\n金文|0x100000|33779\n金乌|0x0020|1544\n金溪|0x0080|1490\n金乡|0x0040|1360\n金相|0x0008|1358\n金象|0x0008|1414\n金像|0x100000|682\n金鑫|0x0008|1166\n金星|0x100000|12040\n金牙|0x0000|42720\n金言|0x100000|1022\n金阳|0x0080|1304\n金叶|0x0008|1056\n金银|0x100000|603\n金印|0x0000|43913\n金鱼|0x4000000|15954\n金玉|0x100000|782\n金元|0x100000|796\n金泽|0x0080|1438\n金寨|0x0080|1326\n金盏|0x100000|1382\n金针|0x100000|40388\n金正|0x0008|1454\n金枝|0x100000|798\n金质|0x20000000|895\n金珠|0x0008|1413\n金属|0x100000|4085\n金柱|0x0080|1004\n金砖|0x0000|49138\n金子|0x100000|9544\n金字|0x100000|619\n津津|0x0100|1358\n津梁|0x100000|1053\n津南|0x0080|0\n津浦|0x0008|1013\n津市|0x0040|735\n津贴|0x100000|9428\n津要|0x100000|0\n津液|0x100000|33922\n矜持|0x40000000|15056\n矜贵|0x40000000|945\n矜夸|0x1000|1140\n筋道|0x0000|54327\n筋斗|0x100000|26397\n筋骨|0x100000|17504\n筋节|0x100000|1283\n筋络|0x100000|49139\n筋脉|0x100000|45602\n筋膜|0x0008|458\n筋肉|0x100000|976\n襟抱|0x100000|0\n襟怀|0x100000|27713\n襟翼|0x100000|1116\n仅此|0x0000|37371\n仅够|0x0000|47718\n仅见|0x1000|44437\n仅仅|0x8000000|2141\n仅是|0x0000|739\n仅有|0x0000|5778\n仅只|0x8000000|33923\n紧抱|0x1000|789\n紧逼|0x1000|21481\n紧闭|0x1000|26616\n紧凑|0x40000000|18367\n紧促|0x40000000|0\n紧缚|0x0000|394\n紧跟|0x1000|11033\n紧固|0x40000000|692\n紧急|0x40000000|2229\n紧接|0x1000|607\n紧紧|0x8000000|498\n紧靠|0x1000|751\n紧扣|0x1000|716\n紧邻|0x100000|26130\n紧忙|0x1000|53298\n紧密|0x40000000|2394\n紧迫|0x40000000|6259\n紧俏|0x40000000|25765\n紧缺|0x40000000|10738\n紧身|0x20000000|681\n紧实|0x0000|53299\n紧随|0x1000|30940\n紧缩|0x1000|10520\n紧锁|0x1000|30285\n紧贴|0x1000|717\n紧握|0x1000|631\n紧要|0x40000000|14659\n紧张|0x40000000|895\n紧抓|0x1000|828\n紧追|0x1000|48037\n紧着|0x1000|53300\n堇菜|0x100000|1214\n堇色|0x100000|1103\n谨饬|0x40000000|1302\n谨防|0x1000|20697\n谨记|0x0000|45604\n谨上|0x1000|0\n谨慎|0x40000000|6217\n谨严|0x40000000|30612\n谨愿|0x1000|0\n锦标|0x100000|41730\n锦缎|0x100000|33924\n锦鸡|0x100000|42228\n锦江|0x0040|1117\n锦葵|0x100000|1086\n锦鲤|0x0008|904\n锦纶|0x4000000|42472\n锦囊|0x100000|698\n锦屏|0x0080|1445\n锦旗|0x100000|12802\n锦绣|0x100000|15448\n锦阳|0x0008|1445\n锦州|0x0040|1077\n尽瘁|0x1000|1134\n尽管|0x10000000|595\n尽欢|0x1000|674\n尽快|0x8000000|2023\n尽力|0x1000|6422\n尽量|0x8000000|3661\n尽情|0x1000|9176\n尽然|0x8000000|52304\n尽让|0x1000|0\n尽是|0x1000|21156\n尽数|0x8000000|36158\n尽速|0x1000|888\n尽头|0x100000|9294\n尽先|0x8000000|44722\n尽显|0x0000|31641\n尽孝|0x1000|49140\n尽心|0x40000000|16013\n尽兴|0x40000000|20506\n尽性|0x1000|0\n尽意|0x1000|964\n尽早|0x8000000|7055\n尽责|0x40000000|21718\n尽职|0x40000000|20614\n尽致|0x1000|1006\n尽忠|0x1000|20772\n尽自|0x8000000|0\n劲草|0x100000|937\n劲吹|0x1000|919\n劲道|0x0040|1400\n劲敌|0x100000|25198\n劲儿|0x100000|6528\n劲风|0x100000|46216\n劲歌|0x100000|53303\n劲健|0x40000000|1098\n劲力|0x100000|1264\n劲旅|0x100000|13879\n劲射|0x1000|36659\n劲升|0x0000|51018\n劲头|0x100000|11179\n劲舞|0x100000|39114\n劲直|0x40000000|1172\n近岸|0x100000|461\n近便|0x40000000|44725\n近场|0x20000000|1100\n近臣|0x100000|995\n近程|0x0008|991\n近处|0x8000|16512\n近代|0x4000|4594\n近道|0x100000|45914\n近东|0x0080|1506\n近古|0x4000|54328\n近海|0x100000|15167\n近乎|0x1000|9036\n近交|0x0008|1183\n近郊|0x100000|16672\n近景|0x100000|43438\n近距|0x100000|984\n近况|0x100000|23753\n近来|0x8000000|3207\n近邻|0x100000|12082\n近路|0x100000|38291\n近年|0x4000|3575\n近旁|0x2000000|26618\n近期|0x4000|3704\n近前|0x2000000|26759\n近亲|0x100000|22216\n近情|0x1000|0\n近人|0x100000|937\n近日|0x4000|2108\n近世|0x4000|41039\n近视|0x100000|15485\n近似|0x40000000|10722\n近岁|0x4000|0\n近闻|0x1000|0\n近洋|0x20000000|1135\n近因|0x100000|45915\n近影|0x100000|1125\n近忧|0x100000|1044\n近于|0x1000|805\n近缘|0x20000000|1177\n近月|0x4000|971\n近战|0x100000|49848\n近照|0x100000|45605\n近支|0x100000|0\n近作|0x100000|990\n进逼|0x1000|18115\n进兵|0x1000|12700\n进补|0x1000|45313\n进步|0x1000|813\n进餐|0x1000|23931\n进场|0x1000|696\n进呈|0x1000|1117\n进城|0x1000|667\n进程|0x100000|1856\n进尺|0x100000|41038\n进出|0x100000|8716\n进刀|0x1000|1120\n进抵|0x1000|48392\n进洞|0x0000|516\n进度|0x100000|6110\n进而|0x10000000|4326\n进发|0x1000|13814\n进犯|0x1000|20773\n进奉|0x1000|1\n进港|0x1000|941\n进给|0x1000|998\n进攻|0x1000|2195\n进贡|0x1000|29333\n进化|0x1000|7027\n进货|0x1000|12607\n进击|0x1000|41270\n进价|0x100000|31298\n进见|0x1000|27379\n进谏|0x1000|49141\n进剿|0x1000|0\n进阶|0x0008|1048\n进进|0x1000|638\n进京|0x1000|721\n进境|0x1000|914\n进酒|0x1000|447\n进爵|0x1000|1069\n进军|0x1000|6155\n进口|0x1000|2805\n进款|0x100000|40389\n进来|0x1000|2201\n进料|0x100000|876\n进流|0x0000|53125\n进路|0x100000|1541\n进门|0x1000|26538\n进取|0x1000|5739\n进去|0x1000|497\n进入|0x1000|382\n进射|0x0000|40086\n进身|0x1000|1\n进深|0x100000|44724\n进食|0x1000|18277\n进士|0x100000|14375\n进水|0x1000|718\n进退|0x100000|15334\n进位|0x1000|33780\n进屋|0x1000|689\n进贤|0x0040|916\n进献|0x1000|51863\n进香|0x1000|42473\n进项|0x100000|26539\n进行|0x1000|161\n进修|0x1000|11154\n进学|0x1000|8\n进言|0x1000|15587\n进谒|0x1000|0\n进益|0x100000|50234\n进用|0x1000|1088\n进展|0x100000|1790\n进占|0x1000|35835\n进站|0x1000|778\n进帐|0x0000|528\n进账|0x1000|30822\n进针|0x1000|0\n进纸|0x0000|487\n进驻|0x1000|8268\n晋朝|0x4000|959\n晋城|0x0040|1142\n晋代|0x4000|916\n晋国|0x0040|1472\n晋级|0x1000|10043\n晋见|0x1000|972\n晋江|0x0040|962\n晋京|0x1000|1073\n晋剧|0x100000|42721\n晋宁|0x0080|1549\n晋升|0x1000|10337\n晋书|0x0008|1510\n晋绥|0x0040|1065\n晋谒|0x1000|45013\n晋职|0x1000|35070\n晋中|0x0040|1243\n晋州|0x0040|1398\n浸沉|0x1000|0\n浸出|0x1000|919\n浸膏|0x0008|969\n浸剂|0x100000|1275\n浸礼|0x100000|1106\n浸没|0x1000|42940\n浸泡|0x1000|13717\n浸染|0x1000|30405\n浸入|0x1000|795\n浸软|0x0000|398\n浸润|0x1000|15760\n浸湿|0x1000|26050\n浸蚀|0x1000|46795\n浸水|0x1000|914\n浸透|0x1000|15857\n浸洗|0x1000|1081\n浸液|0x0000|376\n浸淫|0x1000|47099\n浸种|0x1000|41482\n浸渍|0x1000|42722\n缙绅|0x100000|52782\n缙云|0x0080|1302\n禁闭|0x1000|29749\n禁地|0x100000|28845\n禁毒|0x1000|6581\n禁赌|0x1000|30181\n禁放|0x0000|26540\n禁锢|0x1000|17972\n禁果|0x100000|49490\n禁毁|0x1000|55313\n禁火|0x1000|1095\n禁忌|0x100000|17693\n禁酒|0x1000|955\n禁绝|0x1000|30286\n禁军|0x100000|932\n禁例|0x100000|55314\n禁猎|0x1000|34332\n禁令|0x100000|8586\n禁律|0x100000|54331\n禁脔|0x100000|1063\n禁牧|0x0000|24836\n禁品|0x100000|1165\n禁区|0x100000|9072\n禁赛|0x1000|32008\n禁食|0x1000|40390\n禁受|0x1000|457\n禁售|0x0000|47720\n禁书|0x100000|33135\n禁条|0x100000|0\n禁卫|0x100000|1005\n禁物|0x100000|1237\n禁烟|0x1000|24175\n禁药|0x100000|38108\n禁用|0x1000|19137\n禁渔|0x1000|29334\n禁欲|0x1000|40813\n禁运|0x1000|23377\n禁止|0x1000|2429\n禁制|0x1000|853\n禁子|0x100000|0\n禁足|0x0008|5\n禁阻|0x1000|0\n觐见|0x1000|54332\n噤声|0x100000|54832\n京白|0x100000|48038\n京报|0x100000|1085\n京菜|0x100000|950\n京城|0x100000|5724\n京瓷|0x0008|1378\n京都|0x100000|9851\n京官|0x100000|34651\n京广|0x0040|805\n京胡|0x100000|36485\n京华|0x0000|20655\n京畿|0x100000|44726\n京郊|0x100000|15427\n京九|0x400040|1\n京剧|0x100000|4117\n京门|0x0080|1028\n京派|0x100000|35836\n京腔|0x100000|35674\n京山|0x0040|869\n京师|0x100000|8843\n京味|0x100000|895\n京戏|0x100000|18086\n京韵|0x100000|965\n京兆|0x0008|1520\n京族|0x0008|43439\n泾川|0x0080|975\n泾县|0x0040|1330\n泾阳|0x0080|1512\n泾源|0x0080|1089\n经办|0x1000|16229\n经闭|0x0008|54333\n经部|0x100000|1006\n经常|0x8000000|804\n经传|0x100000|42941\n经打|0x0008|0\n经典|0x100000|3887\n经度|0x100000|28639\n经费|0x100000|2370\n经管|0x1000|30287\n经过|0x1000|252\n经籍|0x100000|1013\n经纪|0x100000|17785\n经济|0x100000|233\n经建|0x0008|1073\n经筋|0x100000|1192\n经久|0x8000000|29336\n经卷|0x100000|46796\n经理|0x100000|1795\n经历|0x1000|1054\n经略|0x100000|44438\n经纶|0x100000|44159\n经络|0x100000|23869\n经脉|0x100000|32390\n经贸|0x100000|2716\n经密|0x0080|0\n经年|0x8000000|52783\n经期|0x100000|43914\n经纱|0x100000|1083\n经商|0x1000|7118\n经师|0x100000|1\n经世|0x1000|1478\n经手|0x1000|22731\n经受|0x1000|5160\n经售|0x1000|51864\n经书|0x100000|25345\n经堂|0x100000|994\n经痛|0x1000|958\n经纬|0x100000|6888\n经委|0x100000|836\n经文|0x100000|19885\n经洗|0x0080|2\n经线|0x100000|34061\n经销|0x1000|10376\n经心|0x40000000|37723\n经穴|0x0000|53804\n经学|0x100000|894\n经血|0x100000|44727\n经验|0x100000|343\n经义|0x100000|997\n经意|0x1000|46213\n经营|0x1000|817\n经由|0x1000|18842\n经轴|0x100000|1202\n茎干|0x100000|1108\n荆棘|0x100000|16905\n荆江|0x100000|420\n荆芥|0x100000|1001\n荆门|0x0040|1165\n荆条|0x100000|37916\n荆榛|0x0000|53301\n荆州|0x0040|1072\n惊怖|0x40000000|1034\n惊诧|0x40000000|13521\n惊呆|0x1000|15250\n惊倒|0x0000|371\n惊动|0x1000|10110\n惊愕|0x40000000|13513\n惊风|0x100000|53805\n惊怪|0x1000|55717\n惊骇|0x40000000|18743\n惊鸿|0x100000|52305\n惊呼|0x1000|14731\n惊慌|0x40000000|9756\n惊惶|0x0008|15662\n惊魂|0x100000|32009\n惊悸|0x1000|32391\n惊叫|0x1000|12295\n惊惧|0x40000000|26398\n惊觉|0x1000|46797\n惊厥|0x1000|43440\n惊恐|0x40000000|11389\n惊雷|0x100000|26131\n惊马|0x100000|1\n惊梦|0x100000|817\n惊怕|0x1000|0\n惊奇|0x40000000|7363\n惊起|0x1000|820\n惊扰|0x1000|23173\n惊人|0x40000000|5521\n惊叹|0x1000|9380\n惊涛|0x100000|30182\n惊跳|0x1000|1049\n惊悉|0x1000|31866\n惊喜|0x100000|6860\n惊吓|0x1000|18087\n惊险|0x40000000|15395\n惊羡|0x1000|942\n惊心|0x40000000|1243\n惊醒|0x1000|8083\n惊讶|0x40000000|4791\n惊艳|0x0008|51865\n惊疑|0x40000000|18116\n惊异|0x40000000|8249\n惊蜇|0x4000|1144\n惊蛰|0x4000|35373\n旌表|0x1000|1155\n旌德|0x0080|1446\n旌旗|0x100000|27464\n菁华|0x100000|877\n菁菁|0x0100|41271\n菁英|0x0008|1342\n晶胞|0x100000|1233\n晶格|0x100000|1547\n晶核|0x0008|1087\n晶棱|0x0080|0\n晶粒|0x100000|1017\n晶亮|0x40000000|26399\n晶癖|0x0008|0\n晶片|0x100000|52785\n晶石|0x4000000|51866\n晶态|0x0080|1091\n晶体|0x100000|7920\n晶系|0x100000|1093\n晶形|0x100000|1201\n晶莹|0x40000000|12213\n晶轴|0x0080|1540\n腈纶|0x100000|888\n睛明|0x0008|0\n粳稻|0x100000|37373\n粳米|0x100000|35675\n精胺|0x4000000|0\n精白|0x20000000|1079\n精辟|0x40000000|11367\n精编|0x0000|48393\n精兵|0x100000|12069\n精采|0x40000000|615\n精彩|0x40000000|3932\n精巢|0x100000|1288\n精诚|0x40000000|43441\n精虫|0x100000|1002\n精纯|0x40000000|1384\n精粹|0x40000000|25766\n精当|0x40000000|32135\n精到|0x40000000|31752\n精读|0x1000|37014\n精度|0x100000|9445\n精纺|0x100000|42723\n精干|0x40000000|13078\n精工|0x0020|33278\n精怪|0x100000|764\n精光|0x1000|17717\n精悍|0x40000000|38707\n精河|0x0040|994\n精华|0x100000|8331\n精魂|0x100000|875\n精减|0x1000|448\n精简|0x1000|7501\n精进|0x0000|41484\n精矿|0x100000|911\n精力|0x100000|2912\n精练|0x40000000|31300\n精炼|0x40000000|20239\n精良|0x40000000|17383\n精料|0x100000|55718\n精灵|0x100000|14007\n精馏|0x100000|990\n精美|0x40000000|7052\n精米|0x0000|51447\n精密|0x40000000|12203\n精妙|0x40000000|26901\n精明|0x40000000|9534\n精囊|0x100000|987\n精品|0x100000|3911\n精气|0x100000|38910\n精巧|0x40000000|13980\n精确|0x40000000|7210\n精肉|0x0000|54334\n精锐|0x40000000|17092\n精舍|0x100000|900\n精深|0x40000000|17042\n精神|0x100000|19313\n精瘦|0x40000000|30823\n精算|0x100000|824\n精髓|0x100000|10255\n精邃|0x100000|0\n精通|0x1000|10338\n精微|0x100000|29961\n精武|0x0008|1264\n精细|0x40000000|8779\n精心|0x40000000|2850\n精选|0x1000|12377\n精血|0x100000|930\n精盐|0x100000|45607\n精要|0x100000|48763\n精液|0x100000|25418\n精义|0x0000|49142\n精英|0x100000|9635\n精油|0x0008|1080\n精于|0x1000|33925\n精湛|0x40000000|10444\n精制|0x1000|23427\n精致|0x40000000|8418\n精忠|0x0000|50235\n精装|0x20000000|32136\n精壮|0x40000000|32137\n精准|0x40000000|674\n精子|0x100000|14757\n鲸吞|0x1000|43209\n鲸须|0x100000|1287\n鲸油|0x100000|1316\n鲸鱼|0x100000|26200\n井壁|0x100000|1039\n井场|0x100000|43690\n井道|0x0080|0\n井底|0x100000|848\n井队|0x100000|1103\n井盖|0x100000|801\n井灌|0x1000|1232\n井架|0x100000|35225\n井径|0x0080|0\n井口|0x100000|22217\n井栏|0x0000|55315\n井喷|0x100000|19886\n井然|0x0100|42942\n井绳|0x100000|41968\n井水|0x100000|804\n井台|0x100000|26400\n井田|0x100000|969\n井筒|0x100000|1090\n井蛙|0x100000|1099\n井位|0x100000|1210\n井下|0x0008|14850\n井陉|0x0080|1475\n井研|0x0080|1051\n井盐|0x100000|1130\n颈背|0x0000|450\n颈部|0x100000|709\n颈巾|0x0008|0\n颈饰|0x100000|1091\n颈项|0x100000|23228\n颈椎|0x100000|23590\n景德|0x0040|1491\n景点|0x100000|5372\n景观|0x100000|4744\n景洪|0x0040|1461\n景教|0x100000|1105\n景况|0x100000|25637\n景慕|0x1000|51448\n景宁|0x0040|1506\n景片|0x100000|1205\n景颇|0x100000|1103\n景气|0x40000000|12554\n景区|0x100000|4487\n景色|0x100000|8435\n景深|0x100000|53302\n景泰|0x0008|1386\n景天|0x0080|864\n景物|0x100000|12583\n景县|0x0040|1485\n景象|0x100000|4276\n景行|0x0008|1118\n景仰|0x40000000|23114\n景遇|0x100000|1141\n景致|0x100000|15041\n憬悟|0x1000|1177\n警报|0x100000|9397\n警备|0x100000|20280\n警标|0x100000|1540\n警策|0x100000|1094\n警察|0x100000|1682\n警长|0x100000|807\n警车|0x100000|12193\n警灯|0x0000|33279\n警笛|0x100000|27380\n警方|0x100000|4157\n警风|0x0000|30289\n警服|0x100000|19812\n警岗|0x0080|0\n警告|0x1000|3624\n警官|0x100000|13152\n警棍|0x100000|36314\n警号|0x100000|43210\n警花|0x0000|55316\n警徽|0x100000|40391\n警纪|0x0000|41969\n警戒|0x100000|10812\n警界|0x0008|916\n警局|0x100000|566\n警句|0x100000|21390\n警觉|0x40000000|11713\n警力|0x100000|9707\n警铃|0x100000|47400\n警犬|0x100000|22161\n警容|0x0000|42229\n警声|0x0080|0\n警士|0x100000|1262\n警世|0x1000|45314\n警示|0x1000|6733\n警署|0x100000|911\n警司|0x100000|1011\n警探|0x100000|55719\n警惕|0x1000|4770\n警卫|0x100000|11867\n警务|0x100000|9241\n警悟|0x1000|1233\n警衔|0x100000|28193\n警校|0x0008|867\n警械|0x100000|1079\n警醒|0x1000|752\n警讯|0x0008|887\n警语|0x100000|41485\n警员|0x100000|28376\n警政|0x100000|1046\n警钟|0x100000|13514\n警种|0x100000|23428\n净菜|0x100000|37015\n净得|0x1000|55317\n净额|0x100000|561\n净高|0x100000|979\n净化|0x1000|6024\n净价|0x100000|984\n净尽|0x0100|28640\n净空|0x1000|891\n净口|0x1000|0\n净利|0x100000|50236\n净清|0x0080|0\n净身|0x1000|920\n净胜|0x0000|47100\n净室|0x100000|1131\n净是|0x0000|40814\n净手|0x1000|55721\n净水|0x100000|26201\n净桶|0x100000|1348\n净土|0x100000|18278\n净心|0x1000|50237\n净余|0x100000|1265\n净增|0x1000|15472\n净值|0x100000|33926\n净重|0x100000|47721\n净赚|0x1000|33008\n径迹|0x100000|1174\n径流|0x100000|15817\n径路|0x0040|1\n径赛|0x100000|44728\n径庭|0x1000|1167\n径向|0x20000000|904\n径行|0x8000000|0\n径直|0x8000000|12642\n径自|0x8000000|23023\n迳庭|0x0080|0\n迳直|0x0080|0\n迳自|0x0000|540\n胫骨|0x100000|48764\n痉挛|0x1000|16127\n痉证|0x0008|0\n竞标|0x1000|17566\n竞猜|0x1000|20815\n竞答|0x0000|47401\n竞渡|0x1000|35526\n竞夺|0x1000|1\n竞技|0x100000|6651\n竞价|0x1000|20126\n竞买|0x1000|31174\n竞卖|0x0000|52787\n竞拍|0x0000|40392\n竞聘|0x1000|26970\n竞赛|0x1000|3320\n竞试|0x1000|1199\n竞投|0x1000|52307\n竞相|0x8000000|10910\n竞销|0x0000|44440\n竞秀|0x1000|974\n竞选|0x100000|5884\n竞艳|0x1000|967\n竞争|0x100000|1097\n竞逐|0x1000|38109\n竞走|0x100000|17662\n竟而|0x10000000|0\n竟敢|0x1000|18561\n竟购|0x0000|54833\n竟会|0x1000|728\n竟陵|0x0040|1048\n竟然|0x8000000|2691\n竟日|0x8000000|53304\n竟是|0x1000|6010\n竟至|0x1000|46798\n竟自|0x8000000|24437\n敬爱|0x40000000|13747\n敬拜|0x0000|491\n敬称|0x100000|1059\n敬辞|0x100000|1219\n敬奉|0x1000|39313\n敬服|0x0000|53806\n敬告|0x1000|38293\n敬贺|0x1000|1174\n敬候|0x0000|54335\n敬酒|0x1000|18843\n敬老|0x0000|21910\n敬礼|0x100000|14851\n敬慕|0x40000000|34494\n敬佩|0x40000000|10971\n敬启|0x1000|1050\n敬请|0x1000|34796\n敬上|0x0008|51868\n敬神|0x0008|995\n敬事|0x0008|1078\n敬颂|0x0000|55318\n敬挽|0x1000|52788\n敬畏|0x40000000|16691\n敬献|0x1000|14326\n敬香|0x1000|1060\n敬仰|0x1000|16202\n敬业|0x40000000|8138\n敬意|0x100000|7444\n敬语|0x100000|55926\n敬赠|0x1000|53305\n敬重|0x40000000|13062\n敬祝|0x1000|43442\n靓丽|0x40000000|27128\n靓妹|0x0008|1155\n靓女|0x100000|38302\n靓妆|0x100000|930\n靓仔|0x100000|745\n靖安|0x0080|1001\n靖边|0x0080|1536\n靖江|0x0040|1163\n靖康|0x0008|1486\n靖西|0x0080|1502\n靖宇|0x0080|1426\n靖远|0x0080|1501\n境地|0x100000|8448\n境界|0x100000|3096\n境况|0x100000|17663\n境内|0x8000|2678\n境外|0x8000|4530\n境域|0x100000|46799\n境遇|0x100000|13970\n静安|0x0080|1118\n静场|0x1000|0\n静电|0x100000|19187\n静定|0x100000|1068\n静冈|0x0080|1002\n静观|0x1000|28106\n静海|0x0080|1312\n静候|0x1000|23540\n静寂|0x40000000|16103\n静静|0x0100|497\n静乐|0x0008|1012\n静力|0x0080|1003\n静虑|0x0080|0\n静脉|0x100000|18431\n静美|0x40000000|867\n静谧|0x40000000|16692\n静默|0x1000|14928\n静穆|0x40000000|26541\n静宁|0x0080|1518\n静僻|0x40000000|0\n静室|0x0080|0\n静水|0x0080|1\n静思|0x1000|791\n静态|0x100000|15376\n静听|0x1000|720\n静卧|0x1000|952\n静物|0x100000|35071\n静心|0x1000|38708\n静修|0x1000|957\n静压|0x0008|952\n静雅|0x40000000|1002\n静养|0x1000|29963\n静音|0x100000|714\n静园|0x1000|47722\n静止|0x1000|10922\n静坐|0x1000|19056\n镜架|0x100000|921\n镜框|0x100000|17942\n镜片|0x100000|21157\n镜台|0x100000|42943\n镜头|0x100000|4933\n镜匣|0x100000|1269\n镜子|0x100000|5102\n迥然|0x0100|23754\n迥异|0x1000|19983\n炯炯|0x0100|21852\n炯然|0x0100|1125\n窘促|0x40000000|52789\n窘境|0x100000|18465\n窘况|0x100000|40591\n窘困|0x40000000|41486\n窘迫|0x40000000|16203\n窘态|0x100000|35226\n窘相|0x100000|0\n纠察|0x100000|37016\n纠缠|0x1000|9037\n纠错|0x1000|28281\n纠纷|0x100000|2747\n纠风|0x1000|20240\n纠葛|0x100000|17384\n纠合|0x1000|28107\n纠集|0x1000|23070\n纠结|0x1000|38492\n纠举|0x0008|1218\n纠偏|0x1000|40592\n纠正|0x1000|3012\n纠众|0x1000|0\n究办|0x1000|51450\n究诘|0x1000|0\n究竟|0x8000000|1569\n究问|0x1000|0\n鸠尾|0x0008|1199\n赳赳|0x0100|1099\n阄儿|0x0000|54834\n啾唧|0x80000|1317\n啾啾|0x80000|55320\n揪扯|0x1000|0\n揪出|0x1000|824\n揪斗|0x1000|37017\n揪揪|0x1000|0\n揪痧|0x1000|0\n揪心|0x40000000|19813\n揪住|0x0000|574\n九八|0x600000|0\n九百|0x600000|1\n九倍|0x400000|368\n九鼎|0x500000|45015\n九段|0x100000|556\n九个|0x400000|637\n九宫|0x500000|0\n九归|0x400080|0\n九江|0x400040|42\n九孔|0x400000|0\n九流|0x20400000|0\n九龙|0x400000|984\n九派|0x500000|0\n九七|0x600000|1\n九千|0x600000|1\n九窍|0x400080|0\n九卿|0x500000|0\n九泉|0x500000|35072\n九日|0x400000|800\n九十|0x600000|35\n九岁|0x400000|554\n九台|0x400000|941\n九天|0x400000|37193\n九万|0x600000|4\n九五|0x600000|14\n九霄|0x500000|38911\n九亿|0x600000|0\n九原|0x400020|1\n九月|0x400000|575\n九折|0x100000|515\n九针|0x400080|0\n九重|0x400000|1434\n九州|0x500000|15353\n九洲|0x400008|0\n九族|0x500000|49850\n久别|0x1000|28194\n久病|0x1000|893\n久长|0x40000000|819\n久等|0x1000|800\n久旱|0x1000|870\n久经|0x1000|796\n久久|0x8000000|7536\n久留|0x1000|23071\n久慕|0x1000|1122\n久违|0x1000|15761\n久仰|0x1000|28282\n久已|0x8000000|17664\n久雨|0x0080|1081\n久远|0x40000000|12555\n久之|0x4000|860\n久治|0x0080|865\n久坐|0x0000|498\n灸法|0x100000|0\n灸术|0x0080|0\n韭菜|0x100000|15354\n韭葱|0x0008|0\n韭黄|0x100000|43443\n韭芽|0x0080|1311\n酒吧|0x100000|9554\n酒保|0x100000|913\n酒杯|0x100000|9132\n酒菜|0x100000|19984\n酒厂|0x100000|708\n酒场|0x100000|978\n酒刺|0x0000|55989\n酒店|0x100000|3786\n酒饭|0x100000|1050\n酒坊|0x100000|961\n酒缸|0x100000|38110\n酒馆|0x100000|16376\n酒鬼|0x100000|31642\n酒柜|0x100000|906\n酒后|0x100000|647\n酒壶|0x100000|25027\n酒花|0x100000|1008\n酒会|0x100000|15300\n酒家|0x100000|17786\n酒架|0x100000|988\n酒浆|0x100000|48766\n酒窖|0x100000|40593\n酒劲|0x0000|47723\n酒精|0x100000|9636\n酒具|0x100000|46801\n酒类|0x100000|689\n酒力|0x100000|54336\n酒量|0x100000|23378\n酒龄|0x100000|0\n酒令|0x100000|44441\n酒楼|0x100000|14327\n酒母|0x100000|1279\n酒酿|0x100000|49143\n酒瓶|0x100000|684\n酒铺|0x0000|45017\n酒气|0x100000|40594\n酒器|0x100000|45018\n酒钱|0x100000|36315\n酒曲|0x100000|49144\n酒泉|0x0040|1224\n酒肉|0x100000|822\n酒色|0x100000|27615\n酒商|0x100000|1038\n酒神|0x0000|470\n酒石|0x0000|371\n酒食|0x100000|32767\n酒水|0x100000|28283\n酒肆|0x100000|913\n酒坛|0x100000|927\n酒桶|0x100000|953\n酒徒|0x100000|39730\n酒涡|0x100000|1051\n酒窝|0x100000|30290\n酒席|0x100000|14714\n酒仙|0x0000|462\n酒香|0x100000|800\n酒兴|0x100000|32392\n酒醒|0x1000|761\n酒筵|0x100000|1100\n酒宴|0x100000|23699\n酒肴|0x100000|1116\n酒药|0x100000|55723\n酒业|0x100000|601\n酒靥|0x100000|0\n酒意|0x100000|25638\n酒瘾|0x100000|51451\n酒友|0x100000|960\n酒糟|0x100000|33644\n酒质|0x0000|411\n酒盅|0x100000|28284\n酒醉|0x0000|47102\n旧案|0x100000|44161\n旧版|0x0000|591\n旧币|0x100000|1185\n旧病|0x100000|34956\n旧部|0x100000|28846\n旧城|0x100000|809\n旧地|0x100000|49145\n旧都|0x100000|42475\n旧恶|0x100000|55724\n旧歌|0x100000|438\n旧故|0x100000|1209\n旧观|0x100000|37559\n旧国|0x100000|1136\n旧好|0x100000|459\n旧货|0x100000|21625\n旧迹|0x100000|51020\n旧家|0x100000|1\n旧交|0x100000|43445\n旧教|0x100000|1174\n旧居|0x100000|24771\n旧历|0x100000|28847\n旧例|0x100000|41040\n旧貌|0x100000|896\n旧梦|0x100000|43446\n旧年|0x4000|47403\n旧情|0x100000|25706\n旧人|0x100000|53307\n旧日|0x100000|20570\n旧生|0x0008|0\n旧诗|0x100000|1050\n旧时|0x4000|15704\n旧识|0x100000|927\n旧式|0x100000|14685\n旧事|0x100000|19957\n旧书|0x100000|22410\n旧说|0x0000|55725\n旧俗|0x100000|36159\n旧损|0x100000|0\n旧体|0x100000|1017\n旧闻|0x100000|34495\n旧物|0x100000|30406\n旧习|0x100000|38294\n旧学|0x100000|41970\n旧业|0x100000|51869\n旧衣|0x0000|431\n旧友|0x100000|32393\n旧有|0x20000000|878\n旧雨|0x100000|961\n旧约|0x100000|29030\n旧宅|0x100000|38111\n旧债|0x0000|407\n旧章|0x100000|0\n旧账|0x100000|29543\n旧知|0x100000|55726\n旧址|0x100000|10797\n旧制|0x100000|30513\n旧作|0x100000|843\n臼齿|0x100000|32768\n柩车|0x100000|1328\n厩肥|0x100000|53807\n救兵|0x100000|26457\n救场|0x1000|53308\n救出|0x1000|717\n救国|0x1000|9821\n救护|0x1000|12827\n救荒|0x1000|52792\n救活|0x1000|792\n救火|0x1000|20356\n救急|0x1000|21356\n救济|0x1000|6611\n救驾|0x1000|54835\n救救|0x1000|641\n救民|0x1000|954\n救命|0x1000|11562\n救难|0x1000|43915\n救起|0x1000|821\n救穷|0x0000|55322\n救球|0x1000|1001\n救人|0x100000|664\n救生|0x1000|25347\n救世|0x1000|697\n救赎|0x0000|51021\n救亡|0x1000|23933\n救险|0x1000|40393\n救星|0x100000|21525\n救药|0x1000|1076\n救应|0x1000|39731\n救援|0x1000|5123\n救灾|0x1000|4463\n救治|0x1000|6984\n救主|0x0000|526\n救助|0x1000|3679\n就伴|0x1000|1\n就便|0x8000000|998\n就餐|0x1000|13187\n就此|0x8000000|4533\n就道|0x1000|483\n就地|0x8000000|16991\n就读|0x1000|10325\n就范|0x1000|25349\n就合|0x1000|2\n就歼|0x1000|0\n就教|0x1000|27714\n就近|0x8000000|11316\n就里|0x100000|49147\n就木|0x1000|0\n就聘|0x1000|0\n就擒|0x1000|51452\n就寝|0x1000|23024\n就让|0x1000|498\n就任|0x1000|9273\n就食|0x1000|0\n就事|0x1000|415\n就势|0x1000|24703\n就是|0x10000000|133\n就手|0x8000000|38493\n就算|0x10000000|6794\n就位|0x1000|36486\n就席|0x1000|51022\n就绪|0x1000|12512\n就学|0x1000|19342\n就要|0x8000000|1059\n就业|0x1000|1904\n就医|0x1000|9039\n就义|0x1000|29430\n就越|0x0000|665\n就诊|0x1000|11229\n就正|0x1000|924\n就职|0x1000|8069\n就坐|0x1000|575\n就座|0x1000|19166\n舅父|0x100000|14081\n舅姑|0x100000|1156\n舅舅|0x100000|6196\n舅妈|0x100000|17694\n舅母|0x100000|22685\n舅爷|0x100000|25350\n舅子|0x100000|45019\n居处|0x100000|46802\n居多|0x1000|13993\n居功|0x1000|42945\n居官|0x1000|0\n居积|0x1000|0\n居家|0x1000|21195\n居间|0x1000|47404\n居里|0x100000|1387\n居留|0x1000|21158\n居民|0x100000|1294\n居奇|0x1000|1117\n居然|0x8000000|2955\n居丧|0x1000|31055\n居舍|0x100000|1195\n居士|0x100000|704\n居室|0x100000|14794\n居首|0x1000|5\n居所|0x100000|34496\n居停|0x100000|1120\n居先|0x1000|2\n居心|0x100000|25199\n居于|0x1000|11714\n居中|0x1000|22582\n居住|0x1000|2741\n拘捕|0x1000|20127\n拘传|0x1000|53808\n拘管|0x1000|1271\n拘谨|0x40000000|16906\n拘禁|0x1000|19401\n拘礼|0x40000000|44730\n拘留|0x100000|8799\n拘挛|0x1000|1146\n拘拿|0x1000|0\n拘泥|0x1000|19343\n拘票|0x100000|1279\n拘牵|0x1000|0\n拘束|0x1000|13789\n拘押|0x1000|32640\n拘役|0x100000|22786\n拘执|0x1000|1204\n狙击|0x1000|35998\n驹子|0x100000|45916\n雎鸠|0x100000|47103\n鞠躬|0x1000|10032\n鞠养|0x1000|0\n局部|0x100000|3749\n局长|0x100000|535\n局促|0x40000000|20951\n局度|0x100000|0\n局里|0x8000|841\n局量|0x100000|0\n局麻|0x100000|1083\n局面|0x100000|1351\n局内|0x8000|907\n局势|0x100000|2848\n局外|0x100000|737\n局限|0x1000|6902\n局域|0x20000000|604\n局子|0x100000|34957\n局座|0x100000|1218\n桔柑|0x0080|0\n桔槔|0x0080|0\n桔梗|0x100000|40589\n桔红|0x100000|983\n桔皮|0x0008|1\n桔树|0x100000|1097\n桔汁|0x0008|1131\n桔子|0x100000|728\n焗油|0x100000|55964\n菊粉|0x100000|1222\n菊花|0x100000|7805\n菊科|0x100000|1035\n菊石|0x100000|1158\n菊芋|0x100000|1213\n菊展|0x100000|1100\n跼促|0x40000000|0\n橘柑|0x100000|1307\n橘红|0x100000|46803\n橘黄|0x100000|42476\n橘络|0x100000|1244\n橘色|0x0000|512\n橘树|0x100000|1125\n橘汁|0x0000|55324\n橘子|0x100000|13126\n咀嚼|0x1000|11854\n沮洳|0x100000|1231\n沮丧|0x1000|9762\n举哀|0x1000|52793\n举办|0x1000|1635\n举报|0x1000|3724\n举杯|0x1000|17259\n举兵|0x1000|52308\n举步|0x1000|46218\n举出|0x1000|788\n举措|0x100000|3286\n举动|0x100000|5454\n举发|0x1000|1096\n举凡|0x8000000|33136\n举高|0x1000|958\n举国|0x100000|32260\n举火|0x1000|55325\n举家|0x8000000|20867\n举架|0x100000|1231\n举荐|0x1000|25200\n举借|0x1000|1176\n举例|0x1000|14008\n举目|0x1000|21853\n举起|0x1000|587\n举枪|0x0000|500\n举人|0x100000|815\n举世|0x100000|15396\n举事|0x1000|53309\n举手|0x1000|10536\n举头|0x100000|829\n举贤|0x1000|1050\n举行|0x1000|731\n举要|0x1000|1012\n举债|0x1000|30291\n举证|0x1000|16150\n举止|0x100000|11095\n举重|0x100000|10111\n矩尺|0x100000|1301\n矩形|0x100000|25829\n矩阵|0x100000|26458\n莒南|0x0080|1411\n莒县|0x0040|1470\n榉木|0x0008|942\n龃龉|0x40000000|22733\n踽踽|0x0100|38496\n句柄|0x0008|855\n句点|0x100000|793\n句读|0x100000|55727\n句法|0x100000|24704\n句号|0x100000|15187\n句话|0x0000|702\n句句|0x20000|730\n句容|0x0040|1314\n句式|0x100000|828\n句型|0x100000|774\n句子|0x100000|7885\n巨变|0x100000|11132\n巨擘|0x100000|41274\n巨大|0x40000000|707\n巨额|0x100000|6791\n巨幅|0x20000000|14987\n巨富|0x100000|36832\n巨集|0x0008|1085\n巨贾|0x100000|1000\n巨奸|0x100000|0\n巨奖|0x100000|54337\n巨匠|0x100000|24238\n巨款|0x100000|18654\n巨浪|0x100000|22218\n巨量|0x100000|875\n巨灵|0x0080|924\n巨流|0x100000|1083\n巨龙|0x100000|16230\n巨鹿|0x0080|1434\n巨轮|0x100000|23490\n巨蟒|0x100000|880\n巨鸟|0x0000|428\n巨片|0x100000|829\n巨阙|0x0008|0\n巨人|0x100000|10490\n巨商|0x100000|881\n巨石|0x100000|719\n巨兽|0x0080|545\n巨头|0x100000|12906\n巨物|0x0000|418\n巨细|0x100000|43691\n巨厦|0x100000|1221\n巨响|0x100000|705\n巨像|0x0000|455\n巨星|0x100000|20281\n巨型|0x20000000|10935\n巨眼|0x100000|1066\n巨野|0x0080|1454\n巨涌|0x1000|1536\n巨制|0x100000|34653\n巨著|0x100000|20052\n巨资|0x100000|10203\n巨子|0x100000|27860\n巨作|0x100000|788\n拒捕|0x1000|41275\n拒不|0x0000|11180\n拒斥|0x1000|1001\n拒敌|0x0000|55326\n拒毒|0x0000|51454\n拒付|0x1000|30824\n拒贿|0x1000|41489\n拒绝|0x1000|1564\n拒马|0x0008|0\n拒赔|0x1000|977\n拒聘|0x1000|0\n拒收|0x1000|21912\n拒载|0x1000|51870\n具保|0x1000|1\n具备|0x1000|2156\n具结|0x1000|48768\n具名|0x1000|44731\n具体|0x40000000|687\n具文|0x100000|54338\n具象|0x100000|880\n具有|0x1000|417\n炬火|0x100000|0\n钜大|0x0080|1137\n俱备|0x1000|821\n俱佳|0x1000|796\n俱全|0x1000|21674\n俱在|0x1000|0\n倨傲|0x40000000|51023\n剧本|0x100000|4154\n剧变|0x100000|17719\n剧场|0x100000|7101\n剧跌|0x1000|0\n剧毒|0x100000|18692\n剧集|0x0008|890\n剧减|0x1000|1033\n剧烈|0x40000000|7662\n剧目|0x100000|6082\n剧评|0x100000|46804\n剧情|0x100000|11960\n剧曲|0x100000|0\n剧社|0x0000|41276\n剧坛|0x100000|1115\n剧痛|0x100000|23174\n剧团|0x100000|6857\n剧务|0x100000|49491\n剧校|0x100000|0\n剧院|0x100000|7339\n剧增|0x1000|22734\n剧照|0x100000|20282\n剧中|0x8000|639\n剧终|0x1000|42230\n剧种|0x100000|13272\n剧组|0x100000|15145\n剧作|0x100000|13103\n惧内|0x40000000|55878\n惧怕|0x1000|15355\n惧色|0x100000|31416\n据称|0x1000|15915\n据传|0x1000|35837\n据此|0x8000000|9475\n据点|0x100000|13686\n据理|0x1000|1053\n据实|0x1000|20014\n据守|0x1000|30721\n据说|0x1000|2786\n据闻|0x0000|477\n据悉|0x1000|3318\n据以|0x8000000|931\n据有|0x1000|45020\n距今|0x0000|12070\n距离|0x100000|1735\n飓风|0x100000|19672\n锯齿|0x100000|30183\n锯床|0x100000|894\n锯机|0x100000|1055\n锯锯|0x0008|1166\n锯开|0x0008|1041\n锯口|0x100000|1267\n锯末|0x100000|45315\n锯木|0x0008|1031\n锯条|0x100000|50618\n锯屑|0x0008|0\n锯子|0x100000|36660\n聚变|0x100000|907\n聚财|0x0008|0\n聚餐|0x1000|24331\n聚赌|0x1000|42477\n聚光|0x1000|46219\n聚合|0x1000|17821\n聚会|0x100000|7325\n聚伙|0x1000|0\n聚积|0x1000|36833\n聚集|0x1000|4325\n聚歼|0x1000|45917\n聚焦|0x1000|6535\n聚结|0x100000|1065\n聚居|0x1000|13137\n聚聚|0x1000|647\n聚敛|0x1000|33927\n聚拢|0x1000|24954\n聚落|0x100000|35229\n聚齐|0x1000|41731\n聚散|0x1000|42231\n聚首|0x1000|22114\n聚谈|0x0000|54339\n聚糖|0x100000|898\n聚头|0x1000|883\n聚星|0x100000|924\n聚议|0x1000|0\n聚酯|0x100000|752\n聚众|0x1000|18771\n遽然|0x8000000|46220\n遽增|0x0080|0\n瞿麦|0x100000|1155\n娟娟|0x40000000|489\n娟秀|0x40000000|34498\n捐给|0x1000|779\n捐建|0x1000|967\n捐款|0x1000|4757\n捐弃|0x1000|50238\n捐钱|0x1000|843\n捐躯|0x1000|27616\n捐税|0x100000|34497\n捐物|0x1000|938\n捐献|0x1000|9404\n捐血|0x0008|940\n捐赠|0x1000|4804\n捐助|0x1000|7527\n捐资|0x1000|11303\n涓埃|0x100000|0\n涓滴|0x100000|1101\n涓涓|0x0100|28195\n涓流|0x0080|0\n镌刻|0x1000|18117\n镌镂|0x1000|0\n蠲除|0x1000|0\n蠲免|0x1000|1195\n卷柏|0x100000|1168\n卷材|0x0008|846\n卷成|0x0000|487\n卷尺|0x100000|48394\n卷动|0x0000|493\n卷儿|0x100000|954\n卷发|0x100000|31868\n卷积|0x100000|1054\n卷进|0x1000|850\n卷卷|0x100000|811\n卷帘|0x100000|751\n卷毛|0x0000|486\n卷面|0x100000|955\n卷起|0x1000|701\n卷曲|0x100000|27787\n卷取|0x0008|0\n卷染|0x100000|0\n卷绕|0x100000|1005\n卷入|0x1000|13810\n卷舌|0x20000000|1042\n卷缩|0x0000|55327\n卷逃|0x1000|53810\n卷筒|0x100000|845\n卷纬|0x100000|0\n卷须|0x100000|45918\n卷烟|0x100000|12498\n卷扬|0x1000|1069\n卷云|0x100000|763\n卷纸|0x0000|459\n卷帙|0x100000|1129\n卷轴|0x100000|47104\n卷子|0x100000|30184\n卷宗|0x100000|23591\n卷走|0x0000|521\n倦怠|0x40000000|28848\n倦容|0x100000|45609\n倦色|0x100000|0\n倦态|0x100000|1151\n倦意|0x100000|27466\n倦游|0x1000|0\n狷急|0x40000000|0\n狷介|0x40000000|0\n绢本|0x100000|52309\n绢布|0x0080|1100\n绢纺|0x100000|930\n绢花|0x100000|40595\n绢画|0x100000|52796\n绢扇|0x0008|1153\n绢丝|0x100000|54340\n隽永|0x40000000|26051\n隽语|0x0000|51871\n眷顾|0x1000|38709\n眷眷|0x0000|54341\n眷恋|0x1000|15794\n眷念|0x1000|37374\n眷属|0x100000|17228\n鄄城|0x0040|1502\n噘嘴|0x1000|971\n撅嘴|0x1000|957\n决别|0x0008|0\n决不|0x8000000|513\n决策|0x1000|1684\n决出|0x1000|784\n决堤|0x1000|32010\n决定|0x1000|186\n决斗|0x100000|24955\n决断|0x100000|15762\n决非|0x1000|16265\n决计|0x1000|15209\n决绝|0x1000|45919\n决口|0x1000|19428\n决裂|0x1000|14279\n决窍|0x0080|410\n决然|0x8000000|31754\n决赛|0x100000|3097\n决胜|0x1000|18874\n决死|0x1000|48769\n决算|0x100000|15955\n决无|0x1000|863\n决心|0x100000|1625\n决选|0x0080|4\n决议|0x100000|2652\n决意|0x1000|15092\n决战|0x100000|8952\n诀别|0x1000|22787\n诀窍|0x100000|21719\n诀要|0x100000|1144\n抉择|0x1000|10028\n抉摘|0x1000|0\n绝版|0x1000|40596\n绝笔|0x100000|39951\n绝壁|0x100000|25975\n绝不|0x8000000|497\n绝产|0x0000|55728\n绝唱|0x100000|31755\n绝代|0x1000|53310\n绝倒|0x1000|893\n绝地|0x100000|32897\n绝顶|0x100000|22328\n绝对|0x8000000|1494\n绝非|0x1000|11715\n绝后|0x1000|37018\n绝户|0x100000|51455\n绝活|0x100000|17505\n绝迹|0x1000|14660\n绝技|0x100000|18961\n绝佳|0x40000000|666\n绝交|0x1000|28377\n绝经|0x1000|52310\n绝景|0x100000|1024\n绝境|0x100000|19985\n绝句|0x100000|30514\n绝口|0x1000|789\n绝粒|0x1000|1181\n绝路|0x100000|22632\n绝伦|0x0100|21913\n绝门|0x100000|0\n绝密|0x100000|33783\n绝妙|0x40000000|17822\n绝灭|0x1000|993\n绝命|0x1000|53311\n绝品|0x100000|932\n绝情|0x40000000|33009\n绝然|0x8000000|36160\n绝热|0x20000000|33010\n绝色|0x1000|52797\n绝杀|0x1000|707\n绝食|0x1000|21626\n绝世|0x1000|36488\n绝收|0x1000|30185\n绝嗣|0x1000|1159\n绝望|0x40000000|5907\n绝响|0x100000|41041\n绝续|0x1000|0\n绝学|0x100000|48770\n绝艺|0x100000|49493\n绝育|0x1000|40816\n绝域|0x100000|1036\n绝缘|0x1000|20507\n绝早|0x8000000|54838\n绝招|0x100000|22940\n绝症|0x100000|25028\n绝种|0x1000|34063\n觉察|0x1000|11274\n觉得|0x1000|442\n觉悟|0x1000|6262\n觉醒|0x1000|10701\n觉月|0x4000|0\n觉着|0x1000|730\n倔犟|0x40000000|951\n倔强|0x40000000|12407\n崛起|0x1000|4981\n掘地|0x0000|447\n掘金|0x1000|728\n掘进|0x1000|23025\n掘井|0x1000|1061\n掘开|0x1000|1064\n掘土|0x1000|1098\n厥证|0x100000|0\n谲诈|0x40000000|0\n蕨菜|0x100000|49494\n蕨类|0x100000|960\n噱头|0x100000|30770\n橛子|0x100000|45610\n爵床|0x100000|1231\n爵禄|0x100000|1041\n爵士|0x100000|20615\n爵位|0x100000|35999\n镢头|0x100000|24772\n嚼舌|0x1000|40588\n嚼子|0x100000|55714\n矍铄|0x40000000|28471\n攫夺|0x1000|1200\n攫取|0x1000|19588\n钁头|0x100000|0\n军报|0x100000|451\n军备|0x100000|13422\n军部|0x100000|19814\n军操|0x100000|1302\n军长|0x100000|849\n军车|0x100000|17093\n军船|0x100000|0\n军刀|0x100000|35074\n军地|0x100000|31869\n军队|0x100000|917\n军阀|0x100000|7236\n军法|0x100000|26344\n军方|0x100000|7461\n军费|0x100000|14672\n军风|0x100000|1199\n军服|0x100000|19223\n军港|0x100000|28196\n军鸽|0x100000|1184\n军歌|0x100000|26687\n军工|0x100000|11528\n军功|0x100000|39316\n军官|0x100000|4086\n军管|0x100000|45317\n军规|0x100000|41490\n军国|0x100000|799\n军号|0x100000|34959\n军徽|0x100000|48771\n军婚|0x100000|52798\n军火|0x100000|16036\n军机|0x100000|22329\n军籍|0x100000|38912\n军纪|0x100000|19851\n军舰|0x100000|11390\n军阶|0x100000|51872\n军界|0x100000|962\n军警|0x100000|11610\n军垦|0x1000|34797\n军控|0x0000|19852\n军乐|0x100000|30066\n军礼|0x100000|27046\n军力|0x100000|30613\n军粮|0x100000|22941\n军列|0x100000|53312\n军龄|0x100000|39537\n军令|0x100000|22411\n军路|0x0080|1219\n军旅|0x100000|12370\n军律|0x100000|1217\n军略|0x0000|382\n军马|0x100000|24063\n军帽|0x100000|20091\n军民|0x100000|5005\n军命|0x100000|1205\n军内|0x8000|1013\n军品|0x100000|16822\n军棋|0x100000|48041\n军旗|0x100000|21720\n军器|0x100000|1043\n军情|0x100000|15916\n军区|0x100000|3117\n军权|0x100000|37725\n军犬|0x100000|46221\n军人|0x100000|2367\n军容|0x100000|29544\n军嫂|0x100000|21003\n军师|0x100000|9798\n军史|0x100000|53313\n军士|0x100000|9736\n军事|0x100000|659\n军售|0x0000|24773\n军书|0x100000|1\n军毯|0x100000|1209\n军体|0x100000|4\n军帖|0x100000|0\n军统|0x100000|988\n军团|0x100000|12057\n军威|0x100000|29859\n军委|0x100000|9326\n军伍|0x100000|0\n军务|0x100000|17637\n军衔|0x100000|14264\n军饷|0x100000|23073\n军校|0x100000|11308\n军鞋|0x100000|1142\n军械|0x100000|23934\n军心|0x100000|15449\n军需|0x100000|18718\n军靴|0x0008|963\n军训|0x100000|18250\n军衣|0x100000|22162\n军医|0x100000|14296\n军营|0x100000|7209\n军用|0x20000000|7888\n军邮|0x100000|1213\n军援|0x100000|54839\n军运|0x0000|50239\n军政|0x100000|9699\n军职|0x100000|31757\n军制|0x100000|42946\n军中|0x8000|717\n军种|0x100000|29431\n军属|0x100000|15664\n军装|0x100000|9593\n军姿|0x0000|47727\n军资|0x100000|1080\n君临|0x0000|36000\n君权|0x100000|34191\n君王|0x100000|25639\n君威|0x100000|571\n君主|0x100000|14103\n君子|0x100000|7879\n均差|0x100000|0\n均等|0x40000000|22219\n均分|0x1000|42947\n均富|0x100000|1068\n均衡|0x1000|7346\n均价|0x0000|55965\n均可|0x0000|19782\n均能|0x0000|566\n均热|0x100000|0\n均势|0x100000|37920\n均摊|0x1000|51024\n均田|0x0008|1061\n均相|0x0008|0\n均一|0x40400000|4\n均匀|0x40000000|8153\n均沾|0x1000|46806\n均值|0x0000|30407\n皲裂|0x1000|45920\n菌肥|0x100000|52313\n菌根|0x100000|1199\n菌核|0x100000|1112\n菌类|0x100000|34500\n菌落|0x100000|38497\n菌苗|0x100000|54840\n菌丝|0x100000|1050\n菌素|0x0000|485\n菌体|0x0000|428\n菌种|0x100000|24837\n菌株|0x0008|1000\n菌子|0x100000|0\n筠连|0x0080|1041\n俊杰|0x100000|31521\n俊美|0x40000000|29647\n俊男|0x100000|738\n俊俏|0x40000000|22013\n俊爽|0x40000000|1185\n俊伟|0x40000000|54342\n俊秀|0x40000000|26761\n俊雅|0x40000000|52314\n俊彦|0x100000|913\n俊逸|0x40000000|44443\n郡守|0x100000|938\n郡王|0x100000|930\n郡县|0x100000|1467\n郡主|0x100000|856\n峻拔|0x40000000|53314\n峻岭|0x100000|30408\n峻峭|0x40000000|42948\n浚县|0x0040|1514\n骏马|0x100000|14827\n竣工|0x1000|5538\n咔嚓|0x80000|24506\n咔嗒|0x80000|47405\n咔叽|0x100000|1105\n咔咔|0x0080|571\n咔啉|0x0008|0\n咖啡|0x100000|6116\n咖喱|0x100000|45867\n咖哩|0x100000|849\n喀吧|0x80000|1117\n喀嚓|0x80000|815\n喀山|0x100000|1052\n喀什|0x0040|1218\n卡车|0x100000|6868\n卡尺|0x100000|49149\n卡带|0x100000|833\n卡尔|0x0080|1096\n卡规|0x100000|1165\n卡环|0x0008|1144\n卡簧|0x0008|1075\n卡具|0x100000|1081\n卡壳|0x1000|41528\n卡口|0x100000|39567\n卡拉|0x0080|1195\n卡里|0x0080|1275\n卡门|0x0080|1219\n卡农|0x100000|864\n卡诺|0x0080|1490\n卡盘|0x100000|1001\n卡片|0x100000|14031\n卡其|0x100000|47729\n卡钳|0x100000|1044\n卡式|0x20000000|888\n卡特|0x0080|1147\n卡通|0x100000|11345\n卡纸|0x0008|1333\n卡住|0x1000|753\n卡子|0x100000|36190\n卡座|0x100000|900\n开拔|0x1000|950\n开班|0x1000|765\n开办|0x1000|4532\n开本|0x100000|35230\n开笔|0x0000|52315\n开闭|0x0000|469\n开辟|0x100000|3060\n开编|0x1000|0\n开标|0x1000|26132\n开拨|0x0000|25976\n开播|0x1000|18118\n开步|0x1000|0\n开采|0x1000|5291\n开槽|0x0008|1434\n开叉|0x0000|465\n开衩|0x0000|54841\n开场|0x1000|11478\n开车|0x1000|6390\n开成|0x1000|863\n开城|0x100000|1544\n开秤|0x1000|1214\n开出|0x1000|580\n开初|0x8000000|45611\n开除|0x1000|6554\n开船|0x1000|27939\n开窗|0x1000|772\n开创|0x1000|3208\n开春|0x4000|17282\n开达|0x0008|1004\n开打|0x1000|39118\n开单|0x1000|918\n开刀|0x1000|15631\n开导|0x1000|15228\n开道|0x1000|21271\n开灯|0x0008|734\n开店|0x1000|521\n开吊|0x1000|0\n开冬|0x4000|0\n开动|0x1000|15377\n开冻|0x1000|55731\n开洞|0x0040|1076\n开端|0x100000|9771\n开恩|0x1000|28641\n开发|0x1000|901\n开饭|0x1000|19958\n开方|0x1000|34656\n开房|0x1000|723\n开放|0x1000|1155\n开封|0x1000|629\n开赴|0x1000|19630\n开工|0x1000|3892\n开弓|0x0000|44444\n开关|0x1000|10256\n开馆|0x1000|16629\n开光|0x1000|49851\n开锅|0x1000|41043\n开国|0x1000|10608\n开航|0x1000|41732\n开河|0x1000|35076\n开户|0x1000|18150\n开花|0x1000|7292\n开化|0x1000|25902\n开怀|0x40000000|25903\n开环|0x100000|1037\n开荒|0x1000|12893\n开皇|0x0008|1538\n开会|0x1000|2930\n开荤|0x1000|448\n开豁|0x40000000|1211\n开火|0x1000|19673\n开伙|0x1000|54842\n开机|0x1000|18432\n开价|0x1000|32528\n开架|0x1000|39952\n开间|0x100000|39732\n开江|0x0080|993\n开疆|0x1000|0\n开讲|0x1000|36161\n开奖|0x1000|34798\n开胶|0x1000|55732\n开解|0x1000|742\n开戒|0x1000|50240\n开金|0x100000|53811\n开襟|0x20000000|979\n开进|0x1000|770\n开禁|0x1000|40597\n开镜|0x1000|55733\n开局|0x100000|8232\n开具|0x1000|15720\n开卷|0x1000|32769\n开掘|0x1000|13215\n开开|0x0008|571\n开课|0x1000|25136\n开垦|0x1000|11427\n开口|0x1000|3763\n开旷|0x40000000|0\n开矿|0x1000|25030\n开阔|0x1000|6340\n开来|0x1000|569\n开朗|0x40000000|13718\n开犁|0x1000|51456\n开立|0x1000|826\n开例|0x1000|0\n开镰|0x1000|41733\n开脸|0x1000|0\n开列|0x1000|27381\n开裂|0x1000|25575\n开溜|0x1000|54843\n开颅|0x1000|989\n开鲁|0x0080|998\n开路|0x100000|16972\n开滦|0x0008|1546\n开罗|0x0040|1339\n开锣|0x1000|51873\n开门|0x1000|4786\n开蒙|0x1000|1123\n开明|0x40000000|14732\n开幕|0x1000|3054\n开拍|0x1000|25640\n开牌|0x100000|1100\n开盘|0x1000|25262\n开炮|0x1000|25137\n开跑|0x0008|892\n开篇|0x100000|19739\n开票|0x1000|25138\n开平|0x0040|1181\n开屏|0x0000|37560\n开瓶|0x0000|453\n开启|0x1000|9255\n开起|0x1000|770\n开枪|0x1000|10112\n开腔|0x1000|36489\n开窍|0x1000|25977\n开球|0x1000|38296\n开赛|0x1000|9939\n开山|0x100000|18744\n开衫|0x100000|861\n开设|0x1000|4166\n开审|0x0000|42949\n开始|0x1000|108\n开市|0x1000|32529\n开释|0x1000|39953\n开首|0x100000|1008\n开涮|0x1000|46222\n开水|0x100000|8215\n开锁|0x100000|767\n开台|0x1000|55734\n开膛|0x1000|35231\n开题|0x1000|804\n开庭|0x1000|10033\n开通|0x1000|3800\n开头|0x100000|10239\n开脱|0x1000|20775\n开拓|0x1000|2403\n开挖|0x1000|837\n开外|0x2000000|20128\n开往|0x1000|684\n开胃|0x1000|36317\n开悟|0x0000|478\n开戏|0x1000|1100\n开先|0x0008|1081\n开县|0x0040|1208\n开线|0x1000|55735\n开箱|0x1000|879\n开销|0x100000|14778\n开心|0x1000|5578\n开行|0x0000|12874\n开学|0x1000|7309\n开言|0x1000|55736\n开颜|0x1000|55328\n开眼|0x1000|12556\n开演|0x1000|26542\n开阳|0x0080|1432\n开药|0x1000|899\n开业|0x1000|7282\n开印|0x1000|54344\n开元|0x0008|1112\n开原|0x0080|1493\n开远|0x0040|883\n开运|0x1000|789\n开凿|0x1000|22330\n开闸|0x1000|31056\n开斋|0x1000|53814\n开展|0x1000|1003\n开战|0x1000|10412\n开站|0x0008|1\n开绽|0x1000|0\n开张|0x1000|11379\n开仗|0x1000|52800\n开诊|0x0000|41278\n开征|0x1000|23323\n开支|0x100000|4626\n开着|0x0000|687\n开走|0x1000|795\n开足|0x1000|901\n开钻|0x0008|1130\n开罪|0x1000|53315\n揩布|0x0080|0\n揩揩|0x0080|0\n揩拭|0x1000|53316\n揩油|0x1000|35528\n凯歌|0x100000|22279\n凯里|0x0040|1360\n凯撒|0x0008|1272\n凯旋|0x1000|16231\n凯子|0x0008|1419\n剀切|0x1000|0\n铠甲|0x100000|35232\n慨然|0x8000000|16015\n慨叹|0x1000|16889\n慨允|0x1000|0\n楷模|0x100000|10458\n楷书|0x100000|29752\n楷体|0x100000|48772\n刊本|0x100000|52801\n刊布|0x1000|1159\n刊出|0x1000|14032\n刊登|0x1000|4803\n刊发|0x1000|15302\n刊号|0x100000|755\n刊授|0x100000|0\n刊头|0x100000|46495\n刊物|0x100000|5387\n刊误|0x1000|0\n刊行|0x1000|30614\n刊印|0x1000|38498\n刊用|0x0000|51027\n刊载|0x1000|16513\n勘测|0x1000|16186\n勘查|0x1000|11354\n勘察|0x1000|10677\n勘定|0x1000|37375\n勘探|0x1000|7202\n勘误|0x1000|55928\n勘校|0x1000|0\n勘验|0x1000|38710\n勘正|0x1000|2\n堪称|0x1000|7566\n堪当|0x0000|53816\n堪为|0x1000|0\n堪忧|0x1000|23870\n堪舆|0x100000|939\n戡乱|0x1000|47105\n坎城|0x0040|1022\n坎儿|0x100000|29219\n坎肩|0x100000|27539\n坎坎|0x100000|0\n坎坷|0x40000000|10087\n坎子|0x100000|50619\n侃侃|0x0100|766\n砍柴|0x1000|823\n砍成|0x0000|502\n砍刀|0x100000|30943\n砍倒|0x0000|494\n砍掉|0x1000|778\n砍断|0x0000|558\n砍伐|0x1000|14082\n砍价|0x0000|41971\n砍伤|0x100000|847\n砍树|0x0000|478\n砍死|0x0000|565\n砍头|0x1000|884\n砍下|0x0000|579\n看板|0x100000|722\n看报|0x1000|805\n看扁|0x1000|54345\n看病|0x1000|5416\n看茶|0x1000|0\n看成|0x1000|621\n看出|0x1000|498\n看穿|0x1000|24573\n看错|0x0000|611\n看待|0x1000|4416\n看到|0x1000|490\n看点|0x0000|25351\n看跌|0x1000|51028\n看懂|0x0000|597\n看法|0x100000|1929\n看顾|0x1000|917\n看官|0x100000|777\n看管|0x1000|16761\n看过|0x1000|495\n看好|0x1000|6512\n看护|0x1000|11876\n看家|0x1000|20737\n看见|0x1000|1185\n看开|0x1000|737\n看看|0x1000|472\n看客|0x100000|38711\n看来|0x1000|1070\n看漏|0x1000|0\n看门|0x1000|769\n看盘|0x1000|571\n看破|0x1000|27382\n看齐|0x1000|19674\n看青|0x1000|48396\n看轻|0x1000|28642\n看清|0x1000|562\n看上|0x1000|10960\n看守|0x1000|9763\n看书|0x1000|490\n看死|0x1000|993\n看似|0x1000|8405\n看台|0x100000|7809\n看头|0x100000|733\n看透|0x1000|14555\n看完|0x0000|761\n看望|0x1000|4063\n看戏|0x0000|563\n看相|0x1000|881\n看押|0x1000|41044\n看涨|0x1000|33282\n看中|0x1000|10078\n看重|0x1000|7828\n看准|0x1000|21114\n看作|0x1000|5054\n看座|0x1000|0\n看做|0x1000|5054\n康柏|0x0008|1333\n康保|0x0080|997\n康德|0x0080|1275\n康定|0x0040|1259\n康复|0x1000|6183\n康华|0x0008|1363\n康佳|0x0008|1138\n康健|0x40000000|25707\n康乐|0x40000000|29031\n康马|0x0040|1149\n康宁|0x0008|38913\n康平|0x0080|1421\n康强|0x0020|1405\n康衢|0x100000|1254\n康泰|0x40000000|1304\n康提|0x0040|1115\n康威|0x0008|1525\n康熙|0x0080|590\n康县|0x0040|1027\n慷慨|0x40000000|8897\n糠秕|0x100000|1136\n糠醛|0x100000|985\n糠虾|0x100000|0\n糠油|0x100000|1358\n扛鼎|0x0000|43404\n扛活|0x1000|49496\n扛着|0x0000|582\n亢奋|0x40000000|19188\n亢旱|0x1000|1245\n亢进|0x1000|34193\n亢阳|0x0080|0\n伉俪|0x100000|29116\n抗癌|0x1000|16104\n抗暴|0x1000|44162\n抗辩|0x1000|32011\n抗病|0x1000|16425\n抗大|0x0008|1054\n抗敌|0x1000|32902\n抗毒|0x0000|432\n抗告|0x0008|1213\n抗寒|0x1000|27048\n抗旱|0x1000|6086\n抗衡|0x1000|14066\n抗洪|0x1000|6838\n抗婚|0x1000|1137\n抗击|0x1000|4649\n抗拒|0x1000|9465\n抗捐|0x1000|0\n抗菌|0x1000|702\n抗涝|0x1000|54346\n抗力|0x100000|817\n抗联|0x0000|26902\n抗命|0x1000|29117\n抗凝|0x0000|54347\n抗清|0x1000|1018\n抗热|0x1000|53817\n抗日|0x1000|4433\n抗上|0x0000|55879\n抗生|0x20000000|719\n抗税|0x1000|33137\n抗诉|0x1000|16485\n抗体|0x100000|13923\n抗性|0x100000|886\n抗压|0x0000|514\n抗药|0x100000|1108\n抗议|0x100000|4905\n抗御|0x1000|20283\n抗原|0x100000|20405\n抗灾|0x1000|11725\n抗战|0x1000|4048\n抗震|0x1000|22220\n抗争|0x1000|10660\n抗皱|0x0000|54844\n炕床|0x100000|1354\n炕洞|0x100000|43213\n炕几|0x100000|54845\n炕上|0x100000|525\n炕梢|0x0000|52802\n炕头|0x100000|18655\n炕席|0x100000|35678\n炕沿|0x0000|19189\n炕桌|0x100000|29860\n考妣|0x100000|52803\n考查|0x1000|15168\n考察|0x1000|1542\n考场|0x100000|10951\n考成|0x0008|0\n考点|0x100000|24129\n考订|0x1000|47107\n考分|0x100000|36318\n考风|0x0000|36834\n考古|0x1000|5500\n考官|0x100000|20168\n考核|0x1000|2591\n考绩|0x1000|47730\n考级|0x1000|34800\n考究|0x40000000|18297\n考据|0x1000|24507\n考卷|0x100000|32138\n考考|0x1000|667\n考拉|0x100000|512\n考量|0x1000|24130\n考虑|0x1000|678\n考评|0x1000|10160\n考期|0x100000|52316\n考起|0x0008|0\n考前|0x4000|655\n考勤|0x100000|28286\n考区|0x100000|43695\n考取|0x1000|16324\n考入|0x1000|721\n考上|0x1000|578\n考生|0x100000|5726\n考试|0x100000|1780\n考释|0x0000|55330\n考题|0x100000|24956\n考问|0x1000|25139\n考学|0x1000|33534\n考研|0x1000|494\n考验|0x1000|2910\n考证|0x1000|10923\n考中|0x0000|24439\n考种|0x1000|0\n拷贝|0x1000|23491\n拷绸|0x100000|55331\n拷打|0x1000|27862\n拷问|0x1000|24239\n栲胶|0x100000|1148\n栲栳|0x100000|1140\n烤饼|0x100000|997\n烤钵|0x0080|0\n烤电|0x1000|1298\n烤干|0x0080|433\n烤火|0x1000|25263\n烤鸡|0x0080|46497\n烤架|0x0080|1007\n烤焦|0x0080|470\n烤烤|0x1000|1\n烤炉|0x100000|44445\n烤肉|0x100000|28028\n烤箱|0x100000|42233\n烤鸭|0x100000|24440\n烤烟|0x100000|21229\n烤羊|0x100000|1013\n烤鱼|0x4000000|817\n烤制|0x0000|49497\n烤炙|0x1000|1131\n铐住|0x0000|407\n铐子|0x100000|0\n犒劳|0x1000|32644\n犒赏|0x1000|31871\n靠岸|0x1000|25487\n靠背|0x100000|25641\n靠边|0x1000|24705\n靠泊|0x0000|45921\n靠垫|0x100000|45922\n靠近|0x1000|6124\n靠拢|0x1000|14441\n靠山|0x100000|15979\n靠手|0x100000|1007\n靠椅|0x100000|33408\n靠在|0x0000|690\n靠枕|0x100000|903\n靠着|0x40000|602\n坷垃|0x100000|36661\n苛待|0x1000|0\n苛刻|0x1000|13580\n苛求|0x1000|22633\n苛细|0x40000000|1327\n苛责|0x1000|43449\n苛政|0x100000|41973\n柯达|0x0008|1107\n柯坪|0x0080|1135\n科班|0x100000|32770\n科长|0x100000|701\n科第|0x100000|1033\n科幻|0x100000|12630\n科技|0x100000|953\n科甲|0x100000|1091\n科健|0x0008|1400\n科教|0x100000|3964\n科举|0x100000|16851\n科考|0x100000|15093\n科科|0x0080|1378\n科克|0x0080|1536\n科隆|0x0040|1184\n科盲|0x100000|48774\n科贸|0x0000|45612\n科目|0x100000|10065\n科普|0x1000|4458\n科室|0x100000|9781\n科委|0x100000|14699\n科协|0x100000|8756\n科学|0x100000|493\n科研|0x100000|1650\n科员|0x100000|881\n棵儿|0x100000|0\n棵棵|0x20000|884\n棵子|0x100000|1199\n窠臼|0x100000|33138\n颗颗|0x20000|2\n颗粒|0x100000|9355\n瞌睡|0x100000|17506\n磕巴|0x100000|999\n磕打|0x1000|50242\n磕磕|0x0080|675\n磕碰|0x1000|36835\n磕睡|0x0000|420\n磕头|0x1000|10739\n蝌蚪|0x100000|23230\n髁槽|0x0080|0\n髁导|0x0080|0\n髁道|0x0080|0\n髁杆|0x0080|0\n髁环|0x0080|0\n髁梁|0x0080|0\n髁球|0x0080|0\n髁柱|0x0080|0\n壳体|0x100000|870\n壳子|0x100000|34960\n咳喘|0x0008|1533\n咳咳|0x0080|738\n咳嗽|0x1000|6474\n咳痰|0x100000|998\n咳血|0x1000|1011\n可爱|0x40000000|3495\n可卑|0x40000000|0\n可悲|0x40000000|13971\n可比|0x1000|642\n可鄙|0x40000000|38712\n可变|0x1000|744\n可不|0x0000|12194\n可怖|0x40000000|42951\n可乘|0x0000|510\n可耻|0x40000000|13153\n可得|0x0000|649\n可点|0x0008|1240\n可调|0x0008|1112\n可读|0x40000000|512\n可恶|0x40000000|12399\n可否|0x8000000|15356\n可观|0x40000000|7889\n可贵|0x40000000|7634\n可汗|0x100000|16736\n可好|0x8000000|34064\n可恨|0x40000000|13581\n可嘉|0x40000000|29648\n可见|0x1000|2548\n可鉴|0x0000|52318\n可敬|0x40000000|15763\n可靠|0x40000000|3269\n可可|0x100000|14779\n可控|0x40000000|24000\n可口|0x40000000|14795\n可拉|0x100000|1064\n可乐|0x100000|18466\n可怜|0x1000|3369\n可恼|0x1000|411\n可能|0x1000|153\n可逆|0x1000|823\n可怕|0x40000000|3372\n可欺|0x1000|35530\n可气|0x40000000|32139\n可巧|0x8000000|15169\n可亲|0x40000000|17567\n可求|0x0008|1141\n可取|0x1000|11757\n可燃|0x1000|27618\n可人|0x100000|41491\n可溶|0x1000|34801\n可食|0x40000000|486\n可视|0x100000|638\n可是|0x10000000|499\n可受|0x20000000|972\n可数|0x1000|904\n可塑|0x1000|800\n可叹|0x1000|39733\n可体|0x40000000|1123\n可听|0x40000000|503\n可望|0x1000|8373\n可谓|0x1000|3589\n可惜|0x40000000|3137\n可喜|0x40000000|5395\n可笑|0x40000000|6042\n可心|0x40000000|33645\n可信|0x40000000|10221\n可行|0x1000|8045\n可选|0x0000|728\n可言|0x1000|614\n可疑|0x40000000|8873\n可以|0x1000|60\n可意|0x40000000|41492\n可用|0x1000|526\n可曾|0x0000|34961\n可憎|0x40000000|31057\n可知|0x1000|7069\n可着|0x0000|55333\n可资|0x0000|31643\n岢岚|0x0080|1109\n渴慕|0x1000|48775\n渴念|0x1000|46223\n渴盼|0x1000|29032\n渴求|0x1000|15127\n渴望|0x1000|3636\n渴想|0x1000|0\n克敌|0x1000|935\n克东|0x0040|1004\n克尔|0x0080|1389\n克服|0x1000|2146\n克复|0x1000|28733\n克己|0x1000|30409\n克扣|0x1000|15509\n克拉|0x20000|725\n克莱|0x0080|1365\n克郎|0x100000|1096\n克朗|0x100000|1550\n克隆|0x1000|6486\n克鲁|0x0080|994\n克难|0x0008|953\n克期|0x8000000|1185\n克日|0x8000000|1123\n克山|0x0040|1518\n克食|0x1000|1\n克星|0x100000|26762\n克药|0x0008|0\n克制|0x1000|10364\n刻板|0x1000|23074\n刻本|0x100000|26401\n刻薄|0x40000000|19190\n刻刀|0x100000|42953\n刻毒|0x40000000|34194\n刻度|0x100000|23430\n刻工|0x100000|52805\n刻骨|0x1000|23701\n刻痕|0x0080|49499\n刻花|0x0000|51458\n刻划|0x1000|825\n刻画|0x1000|9708\n刻刻|0x0080|639\n刻苦|0x40000000|6461\n刻录|0x100000|617\n刻上|0x0000|511\n刻蚀|0x1000|1073\n刻丝|0x100000|0\n刻下|0x8000000|731\n刻写|0x1000|43214\n刻意|0x1000|12225\n刻印|0x100000|880\n刻有|0x1000|780\n刻在|0x1000|3\n刻纸|0x100000|1154\n刻制|0x0000|34502\n刻钟|0x20000|769\n刻字|0x1000|34503\n客帮|0x100000|1249\n客舱|0x100000|37727\n客场|0x0000|9450\n客车|0x100000|7850\n客船|0x100000|26258\n客串|0x1000|33283\n客店|0x100000|28930\n客队|0x100000|29754\n客饭|0x100000|48397\n客房|0x100000|12262\n客服|0x0008|852\n客观|0x40000000|1539\n客官|0x100000|865\n客户|0x100000|2746\n客货|0x100000|837\n客机|0x100000|9377\n客籍|0x100000|55738\n客家|0x100000|21115\n客居|0x0000|37728\n客流|0x100000|10946\n客轮|0x100000|23807\n客满|0x1000|45923\n客票|0x100000|25201\n客气|0x1000|5071\n客卿|0x100000|1022\n客人|0x100000|1378\n客商|0x100000|6790\n客舍|0x100000|52806\n客室|0x100000|777\n客死|0x1000|51032\n客堂|0x100000|26133\n客套|0x100000|25264\n客体|0x100000|10332\n客厅|0x100000|5096\n客土|0x100000|1245\n客位|0x100000|38713\n客席|0x0008|0\n客星|0x100000|993\n客姓|0x100000|1407\n客源|0x100000|17095\n客运|0x100000|6414\n客栈|0x100000|23175\n客站|0x100000|867\n客座|0x100000|23702\n恪守|0x1000|8825\n课本|0x100000|9150\n课表|0x100000|49852\n课长|0x100000|891\n课程|0x100000|2987\n课后|0x4000|718\n课间|0x4000|26688\n课件|0x100000|30515\n课卷|0x100000|0\n课目|0x100000|27940\n课时|0x100000|18745\n课室|0x100000|52807\n课税|0x100000|41734\n课堂|0x100000|4398\n课题|0x100000|2309\n课外|0x4000|12134\n课文|0x100000|17720\n课业|0x100000|20169\n课以|0x1000|972\n课余|0x4000|18334\n课员|0x100000|0\n课征|0x1000|1121\n课桌|0x100000|21066\n骒马|0x0080|54348\n缂丝|0x100000|53819\n嗑药|0x0008|2\n溘然|0x8000000|47406\n肯定|0x1000|730\n肯干|0x40000000|27215\n肯綮|0x100000|0\n肯切|0x40000000|1232\n肯特|0x0080|515\n肯于|0x0000|46498\n垦复|0x1000|1310\n垦荒|0x1000|23431\n垦利|0x0080|1004\n垦区|0x100000|14009\n垦殖|0x1000|37376\n垦种|0x1000|0\n恳辞|0x100000|0\n恳切|0x40000000|13260\n恳请|0x1000|21960\n恳求|0x1000|11733\n恳谈|0x1000|32012\n恳托|0x1000|1404\n恳望|0x1000|0\n恳挚|0x40000000|40598\n啃青|0x1000|0\n啃书|0x0008|493\n吭哧|0x1000|37377\n吭气|0x1000|34657\n吭声|0x1000|13030\n坑道|0x100000|23324\n坑洞|0x100000|911\n坑害|0x1000|20738\n坑井|0x100000|1306\n坑口|0x100000|47108\n坑蒙|0x1000|1135\n坑木|0x100000|46224\n坑骗|0x1000|41493\n坑人|0x40000000|30069\n坑蚀|0x0080|0\n坑洼|0x100000|35531\n铿铿|0x0080|1464\n铿锵|0x40000000|18797\n铿然|0x40000000|406\n空白|0x100000|5235\n空包|0x20000000|1203\n空瘪|0x40000000|0\n空肠|0x100000|1091\n空场|0x100000|45022\n空巢|0x0000|30516\n空车|0x100000|873\n空城|0x100000|763\n空出|0x0008|1246\n空大|0x0008|1048\n空当|0x100000|30517\n空挡|0x100000|50622\n空荡|0x0000|55740\n空档|0x100000|41977\n空地|0x100000|10900\n空调|0x100000|5357\n空洞|0x40000000|9788\n空额|0x100000|51036\n空儿|0x100000|22412\n空乏|0x40000000|49501\n空翻|0x100000|48398\n空泛|0x40000000|27788\n空防|0x100000|1086\n空房|0x100000|26459\n空腹|0x1000|35233\n空港|0x100000|803\n空格|0x100000|37922\n空谷|0x100000|857\n空海|0x0008|1041\n空喊|0x1000|40396\n空耗|0x1000|52808\n空话|0x100000|11906\n空怀|0x1000|1038\n空幻|0x40000000|47731\n空集|0x0008|1137\n空际|0x8000|53318\n空寂|0x40000000|42234\n空间|0x100000|1243\n空降|0x1000|25352\n空姐|0x100000|30615\n空军|0x100000|4110\n空壳|0x100000|785\n空空|0x0100|581\n空口|0x8000000|49502\n空旷|0x40000000|13823\n空阔|0x40000000|32395\n空廓|0x40000000|1253\n空灵|0x40000000|24376\n空论|0x100000|49853\n空落|0x40000000|0\n空门|0x100000|41976\n空名|0x100000|55334\n空明|0x40000000|885\n空难|0x100000|14348\n空炮|0x100000|47109\n空泡|0x0000|391\n空瓶|0x0000|491\n空气|0x100000|1277\n空前|0x8000000|5277\n空腔|0x100000|1009\n空勤|0x100000|46499\n空拳|0x0008|48399\n空缺|0x100000|16452\n空嫂|0x100000|55335\n空身|0x0000|55741\n空驶|0x1000|51033\n空手|0x100000|17020\n空疏|0x40000000|42724\n空速|0x100000|833\n空谈|0x100000|17824\n空头|0x100000|28287\n空投|0x1000|29756\n空位|0x100000|27383\n空文|0x100000|50243\n空无|0x0000|590\n空袭|0x1000|9920\n空隙|0x100000|14942\n空暇|0x4000|47733\n空闲|0x1000|15588\n空箱|0x100000|1031\n空想|0x100000|16451\n空心|0x1000|17116\n空行|0x100000|912\n空虚|0x40000000|8281\n空穴|0x100000|1013\n空言|0x0000|52809\n空邮|0x100000|1243\n空有|0x0000|547\n空余|0x40000000|35532\n空域|0x100000|20537\n空运|0x1000|18962\n空载|0x1000|47732\n空战|0x100000|30944\n空置|0x1000|793\n空中|0x20000000|2776\n空竹|0x100000|37729\n空转|0x1000|42725\n空子|0x100000|17974\n倥侗|0x40000000|1231\n崆峒|0x0040|1434\n箜篌|0x100000|988\n孔道|0x100000|39317\n孔德|0x0080|1089\n孔洞|0x100000|38714\n孔府|0x0040|925\n孔教|0x0000|381\n孔径|0x100000|34962\n孔口|0x0000|399\n孔林|0x100000|418\n孔门|0x0040|0\n孔庙|0x100000|27619\n孔雀|0x100000|9803\n孔隙|0x100000|28734\n孔型|0x0080|1065\n孔穴|0x100000|54847\n孔眼|0x100000|51459\n孔子|0x0080|5878\n孔最|0x0008|0\n恐怖|0x40000000|2152\n恐防|0x0008|1\n恐慌|0x40000000|9169\n恐惧|0x40000000|5229\n恐龙|0x100000|9839\n恐怕|0x8000000|2048\n恐兽|0x0080|0\n恐吓|0x1000|15042\n控告|0x1000|11678\n控购|0x1000|1309\n控股|0x1000|5805\n控件|0x100000|638\n控球|0x1000|779\n控申|0x1000|1168\n控释|0x1000|1022\n控诉|0x1000|13341\n控制|0x1000|749\n控罪|0x0008|1105\n抠门|0x40000000|815\n抠搜|0x1000|0\n抠唆|0x1000|0\n芤脉|0x100000|1541\n口岸|0x100000|5145\n口杯|0x0000|48400\n口碑|0x100000|19191\n口北|0x0040|1049\n口才|0x100000|21310\n口彩|0x0000|53821\n口称|0x1000|52810\n口吃|0x1000|24508\n口齿|0x100000|25421\n口臭|0x100000|39318\n口传|0x1000|34963\n口疮|0x100000|51037\n口唇|0x100000|888\n口袋|0x100000|4563\n口风|0x100000|30292\n口服|0x1000|22788\n口福|0x100000|26820\n口腹|0x100000|44447\n口盖|0x100000|1131\n口干|0x0008|561\n口感|0x100000|21436\n口供|0x100000|23653\n口号|0x100000|3483\n口红|0x100000|18563\n口惠|0x1000|1132\n口技|0x100000|44732\n口交|0x0008|578\n口角|0x100000|23075\n口紧|0x40000000|55742\n口径|0x100000|12389\n口诀|0x100000|34803\n口渴|0x40000000|22115\n口口|0x20000|611\n口快|0x40000000|50244\n口里|0x8000|697\n口粮|0x100000|12732\n口令|0x100000|16714\n口蘑|0x100000|49855\n口沫|0x100000|0\n口气|0x100000|3618\n口器|0x100000|1100\n口腔|0x100000|11519\n口琴|0x100000|27941\n口轻|0x1000|1135\n口哨|0x100000|714\n口舌|0x100000|22331\n口实|0x100000|28643\n口试|0x100000|38499\n口授|0x1000|29861\n口述|0x1000|18000\n口水|0x100000|14852\n口说|0x1000|862\n口诵|0x1000|0\n口算|0x100000|55336\n口谈|0x1000|0\n口条|0x100000|51877\n口头|0x100000|7416\n口外|0x0040|45613\n口味|0x100000|12712\n口吻|0x100000|9267\n口误|0x100000|51039\n口香|0x20000000|700\n口信|0x100000|23432\n口形|0x100000|46501\n口型|0x100000|44163\n口炎|0x100000|1089\n口译|0x1000|46502\n口音|0x100000|11056\n口语|0x100000|12940\n口谕|0x100000|54848\n口缘|0x0008|1336\n口罩|0x100000|11708\n口中|0x8000|541\n口重|0x1000|1041\n口子|0x100000|11907\n叩拜|0x1000|49503\n叩打|0x0000|55743\n叩关|0x1000|1104\n叩阍|0x1000|1362\n叩击|0x1000|39955\n叩见|0x1000|54849\n叩门|0x1000|26204\n叩首|0x1000|22736\n叩头|0x1000|10919\n叩问|0x1000|44164\n叩谢|0x1000|35376\n叩诊|0x1000|1169\n扣除|0x1000|9816\n扣掉|0x1000|856\n扣动|0x1000|873\n扣儿|0x100000|1104\n扣发|0x1000|30725\n扣分|0x1000|755\n扣环|0x100000|1020\n扣回|0x1000|1136\n扣减|0x1000|34195\n扣件|0x100000|925\n扣缴|0x1000|24574\n扣紧|0x0000|457\n扣款|0x1000|482\n扣篮|0x1000|744\n扣留|0x1000|14575\n扣率|0x100000|1164\n扣球|0x1000|26619\n扣肉|0x100000|811\n扣杀|0x1000|42235\n扣上|0x0000|526\n扣头|0x100000|1090\n扣压|0x1000|37019\n扣押|0x1000|11611\n扣眼|0x100000|1122\n扣住|0x0000|570\n扣子|0x100000|15428\n寇边|0x1000|0\n寇仇|0x100000|50246\n枯草|0x100000|23935\n枯肠|0x100000|1133\n枯干|0x1000|32771\n枯槁|0x1000|35838\n枯骨|0x100000|38112\n枯涸|0x1000|1125\n枯黄|0x40000000|21627\n枯寂|0x40000000|41735\n枯焦|0x40000000|1127\n枯竭|0x1000|11034\n枯井|0x100000|34805\n枯木|0x100000|871\n枯荣|0x1000|51040\n枯涩|0x40000000|42480\n枯瘦|0x40000000|33011\n枯树|0x100000|29964\n枯水|0x100000|29033\n枯死|0x1000|21526\n枯萎|0x1000|17178\n枯朽|0x1000|55337\n枯叶|0x100000|28644\n枯燥|0x40000000|12180\n枯枝|0x100000|24001\n枯坐|0x1000|34196\n哭喊|0x1000|20698\n哭叫|0x1000|20908\n哭脸|0x100000|0\n哭灵|0x1000|1124\n哭闹|0x1000|25090\n哭泣|0x1000|8594\n哭腔|0x100000|46807\n哭穷|0x1000|43696\n哭丧|0x1000|34504\n哭声|0x100000|647\n哭诉|0x1000|19524\n哭着|0x0000|647\n窟窿|0x100000|13790\n窟穴|0x100000|0\n窟宅|0x100000|1227\n骷髅|0x100000|22583\n苦熬|0x1000|28546\n苦参|0x100000|941\n苦差|0x100000|40399\n苦撑|0x0000|45924\n苦楚|0x100000|22116\n苦处|0x100000|25488\n苦胆|0x100000|51461\n苦斗|0x1000|28931\n苦读|0x1000|41045\n苦短|0x0000|51041\n苦干|0x1000|12322\n苦工|0x100000|32772\n苦功|0x100000|39319\n苦瓜|0x100000|28547\n苦果|0x100000|20444\n苦海|0x100000|26904\n苦害|0x1000|0\n苦寒|0x40000000|32645\n苦活|0x100000|1065\n苦境|0x100000|48042\n苦酒|0x100000|40818\n苦苣|0x0080|0\n苦口|0x1000|29034\n苦苦|0x8000000|9617\n苦况|0x100000|1\n苦劳|0x100000|913\n苦乐|0x100000|789\n苦力|0x100000|22362\n苦脸|0x0000|47735\n苦练|0x1000|14033\n苦卤|0x0008|0\n苦闷|0x40000000|9548\n苦命|0x100000|22014\n苦木|0x100000|1211\n苦难|0x100000|6615\n苦恼|0x40000000|7256\n苦情|0x100000|899\n苦涩|0x40000000|11971\n苦事|0x100000|1038\n苦树|0x0080|0\n苦水|0x100000|22882\n苦思|0x1000|34505\n苦痛|0x40000000|12753\n苦头|0x100000|18251\n苦味|0x100000|791\n苦夏|0x1000|55744\n苦相|0x0080|41495\n苦想|0x0000|45925\n苦笑|0x1000|7575\n苦心|0x100000|12312\n苦辛|0x0080|1078\n苦刑|0x100000|39119\n苦行|0x100000|879\n苦修|0x1000|868\n苦学|0x1000|33646\n苦役|0x100000|31058\n苦于|0x1000|17748\n苦雨|0x100000|47407\n苦战|0x1000|14050\n苦汁|0x0080|0\n苦衷|0x100000|15229\n苦竹|0x100000|1004\n苦主|0x100000|1010\n库藏|0x100000|53319\n库车|0x0040|1462\n库存|0x100000|7909\n库缎|0x100000|1542\n库恩|0x0080|1016\n库房|0x100000|17448\n库克|0x0080|1426\n库仑|0x20000|1029\n库伦|0x100000|987\n库内|0x100000|939\n库区|0x100000|5169\n库券|0x100000|1346\n库容|0x100000|22464\n库银|0x100000|1124\n裤衩|0x100000|26460\n裤带|0x100000|22737\n裤袋|0x100000|876\n裤裆|0x100000|16266\n裤兜|0x100000|32262\n裤管|0x100000|858\n裤脚|0x100000|23593\n裤裙|0x100000|1065\n裤筒|0x100000|1\n裤头|0x100000|879\n裤腿|0x100000|22015\n裤袜|0x100000|902\n裤线|0x100000|50626\n裤腰|0x100000|28378\n裤子|0x100000|6371\n酷爱|0x1000|16325\n酷毙|0x0080|967\n酷哥|0x100000|839\n酷寒|0x1000|47736\n酷吏|0x100000|39735\n酷烈|0x40000000|44165\n酷虐|0x40000000|48776\n酷热|0x0100|21759\n酷暑|0x100000|13280\n酷似|0x1000|19192\n酷夏|0x4000|956\n酷肖|0x0080|52811\n酷刑|0x100000|23275\n酷政|0x100000|0\n夸大|0x1000|10413\n夸诞|0x40000000|1313\n夸奖|0x1000|12083\n夸克|0x100000|1541\n夸口|0x1000|36002\n夸夸|0x1000|433\n夸示|0x1000|1138\n夸饰|0x1000|52812\n夸说|0x1000|0\n夸特|0x0080|1206\n夸脱|0x20000|1149\n夸耀|0x1000|20776\n夸赞|0x1000|21527\n夸张|0x100000|7409\n夸嘴|0x1000|1542\n侉子|0x100000|1138\n垮掉|0x0000|495\n垮了|0x0000|542\n垮台|0x1000|18534\n挎包|0x100000|21004\n挎斗|0x100000|1370\n胯部|0x0000|426\n胯骨|0x100000|40168\n胯下|0x0000|48777\n跨步|0x1000|880\n跨出|0x1000|586\n跨斗|0x0080|0\n跨度|0x100000|14758\n跨国|0x1000|6719\n跨过|0x1000|693\n跨海|0x1000|828\n跨进|0x1000|776\n跨距|0x100000|1099\n跨栏|0x100000|34336\n跨骑|0x1000|1082\n跨区|0x1000|920\n跨入|0x1000|725\n跨上|0x1000|833\n跨洋|0x0080|373\n跨业|0x1000|0\n跨越|0x1000|5104\n跨坐|0x0000|461\n块儿|0x100000|24002\n块根|0x100000|49856\n块规|0x100000|0\n块茎|0x100000|53822\n块菌|0x100000|1201\n块块|0x20000|763\n块垒|0x100000|46809\n块煤|0x100000|1054\n块钱|0x100000|729\n块体|0x100000|946\n块头|0x0000|35679\n块状|0x100000|831\n快班|0x100000|45926\n快板|0x100000|867\n快报|0x100000|26689\n快步|0x100000|13981\n快餐|0x100000|13850\n快车|0x100000|10580\n快船|0x0008|1312\n快当|0x40000000|45927\n快刀|0x100000|791\n快到|0x0000|672\n快递|0x100000|17695\n快点|0x8000000|506\n快反|0x0008|1130\n快干|0x0008|1357\n快感|0x100000|13582\n快攻|0x100000|18822\n快锅|0x0008|0\n快活|0x40000000|6783\n快件|0x100000|29545\n快捷|0x40000000|8234\n快进|0x0000|590\n快快|0x8000000|548\n快乐|0x40000000|2180\n快了|0x0000|630\n快马|0x0000|552\n快慢|0x100000|21437\n快门|0x100000|27620\n快跑|0x0000|590\n快人|0x100000|459\n快上|0x1000|828\n快事|0x100000|49151\n快手|0x100000|46810\n快书|0x100000|43452\n快速|0x40000000|1888\n快艇|0x100000|26052\n快慰|0x40000000|26461\n快些|0x0000|604\n快信|0x100000|35533\n快行|0x20000000|0\n快讯|0x100000|19887\n快要|0x8000000|501\n快意|0x40000000|18031\n快于|0x0000|495\n快语|0x100000|453\n快运|0x0000|34806\n快照|0x100000|46227\n快走|0x0000|642\n快嘴|0x100000|44449\n筷子|0x100000|6468\n宽边|0x0000|440\n宽敞|0x40000000|8343\n宽畅|0x40000000|46811\n宽绰|0x40000000|37020\n宽大|0x40000000|9720\n宽带|0x4000000|797\n宽待|0x1000|46812\n宽贷|0x1000|1114\n宽度|0x100000|15057\n宽泛|0x40000000|27216\n宽幅|0x100000|53823\n宽广|0x40000000|9653\n宽和|0x40000000|55746\n宽宏|0x40000000|42236\n宽厚|0x40000000|15357\n宽假|0x1000|0\n宽解|0x1000|0\n宽宽|0x0100|823\n宽旷|0x40000000|55338\n宽阔|0x40000000|7718\n宽免|0x1000|1184\n宽频|0x100000|564\n宽让|0x1000|0\n宽饶|0x1000|0\n宽仁|0x40000000|1076\n宽容|0x40000000|8449\n宽赦|0x1000|1177\n宽舒|0x40000000|49504\n宽恕|0x1000|18209\n宽松|0x40000000|8419\n宽体|0x20000000|48778\n宽慰|0x40000000|18001\n宽限|0x1000|42954\n宽心|0x1000|25265\n宽衣|0x1000|40600\n宽宥|0x1000|55339\n宽余|0x40000000|49505\n宽裕|0x40000000|15450\n宽窄|0x100000|37021\n宽展|0x40000000|55747\n髋部|0x0000|429\n髋骨|0x100000|52323\n款步|0x1000|55340\n款待|0x1000|11612\n款冬|0x0080|1056\n款额|0x100000|32646\n款款|0x8000000|21230\n款留|0x1000|54850\n款洽|0x40000000|0\n款曲|0x100000|2\n款识|0x100000|1068\n款式|0x100000|12631\n款物|0x100000|1011\n款项|0x100000|10726\n款型|0x100000|51043\n款宴|0x0080|0\n款爷|0x0000|50248\n款子|0x100000|17721\n匡扶|0x1000|47408\n匡复|0x1000|1146\n匡济|0x1000|51880\n匡救|0x1000|0\n匡谬|0x1000|1394\n匡算|0x1000|42237\n匡威|0x100000|449\n匡正|0x1000|33285\n匡助|0x1000|0\n诓骗|0x1000|51881\n哐当|0x80000|942\n哐啷|0x80000|44450\n筐子|0x100000|50249\n狂傲|0x40000000|38113\n狂暴|0x40000000|30070\n狂奔|0x1000|20510\n狂飙|0x100000|20656\n狂飚|0x1000|857\n狂草|0x100000|41279\n狂潮|0x100000|27291\n狂吹|0x0000|412\n狂跌|0x1000|42727\n狂放|0x40000000|32647\n狂吠|0x1000|30827\n狂风|0x100000|12035\n狂吼|0x0000|549\n狂呼|0x1000|30828\n狂欢|0x1000|15682\n狂叫|0x0000|550\n狂澜|0x100000|33785\n狂烈|0x40000000|55748\n狂乱|0x40000000|33535\n狂怒|0x1000|35077\n狂拼|0x100000|1001\n狂气|0x40000000|55341\n狂犬|0x100000|802\n狂热|0x40000000|11801\n狂人|0x100000|24957\n狂涛|0x100000|45024\n狂徒|0x0000|52324\n狂妄|0x40000000|19959\n狂舞|0x0000|37378\n狂喜|0x1000|21483\n狂想|0x100000|43919\n狂笑|0x1000|21067\n狂言|0x100000|33409\n狂野|0x40000000|47738\n狂饮|0x1000|43454\n狂语|0x0080|0\n狂躁|0x40000000|35839\n诳语|0x100000|55342\n况且|0x10000000|5356\n况味|0x100000|923\n旷达|0x40000000|38299\n旷代|0x20000000|0\n旷荡|0x40000000|0\n旷废|0x1000|0\n旷费|0x1000|0\n旷工|0x1000|32396\n旷古|0x8000000|40819\n旷课|0x1000|37730\n旷世|0x20000000|48402\n旷野|0x100000|15721\n旷远|0x40000000|49152\n旷职|0x1000|1236\n矿藏|0x100000|21231\n矿层|0x100000|54851\n矿产|0x100000|4881\n矿长|0x100000|16244\n矿厂|0x100000|0\n矿场|0x100000|46813\n矿车|0x100000|1030\n矿尘|0x0008|1238\n矿床|0x100000|29862\n矿灯|0x100000|33647\n矿洞|0x0040|5\n矿房|0x100000|1414\n矿工|0x100000|9618\n矿浆|0x100000|1143\n矿井|0x100000|9757\n矿警|0x100000|0\n矿局|0x100000|1355\n矿坑|0x100000|43455\n矿脉|0x100000|50628\n矿棉|0x100000|981\n矿难|0x0000|20129\n矿泥|0x100000|1122\n矿区|0x100000|10019\n矿泉|0x100000|35840\n矿砂|0x100000|39736\n矿山|0x100000|7290\n矿石|0x100000|15917\n矿体|0x100000|1095\n矿务|0x100000|47739\n矿物|0x100000|13176\n矿盐|0x100000|1156\n矿冶|0x20000000|908\n矿业|0x100000|8997\n矿油|0x0000|375\n矿源|0x100000|53824\n矿渣|0x100000|35534\n矿脂|0x0008|1364\n矿种|0x100000|434\n矿主|0x100000|515\n矿柱|0x100000|1274\n框定|0x0000|55343\n框架|0x100000|3376\n框框|0x100000|21311\n框图|0x100000|958\n框子|0x100000|29757\n亏本|0x1000|23231\n亏产|0x1000|0\n亏秤|0x1000|0\n亏待|0x1000|23492\n亏得|0x1000|15003\n亏短|0x1000|0\n亏负|0x1000|49506\n亏格|0x100000|1400\n亏耗|0x1000|1258\n亏空|0x1000|22163\n亏累|0x1000|0\n亏量|0x100000|1530\n亏了|0x1000|743\n亏欠|0x1000|42238\n亏缺|0x0000|369\n亏蚀|0x100000|989\n亏损|0x1000|4446\n亏心|0x40000000|43456\n亏盈|0x100000|0\n亏折|0x1000|0\n岿然|0x0100|39958\n岿巍|0x0100|0\n盔甲|0x100000|28646\n盔头|0x0000|53825\n窥测|0x1000|36319\n窥察|0x1000|55750\n窥度|0x1000|0\n窥见|0x1000|21962\n窥看|0x1000|53320\n窥破|0x1000|39539\n窥视|0x1000|20204\n窥伺|0x1000|30726\n窥探|0x1000|22280\n窥望|0x1000|1062\n奎宁|0x100000|46504\n奎屯|0x0040|894\n喹啉|0x100000|1054\n喹嗪|0x100000|0\n葵花|0x100000|27716\n葵青|0x0080|0\n葵扇|0x0008|53826\n暌违|0x1000|993\n魁岸|0x40000000|0\n魁首|0x100000|45928\n魁伟|0x40000000|46228\n魁梧|0x40000000|18899\n魁星|0x100000|988\n睽睽|0x0100|39737\n蝰蛇|0x100000|1054\n傀标|0x0080|0\n傀儡|0x100000|17944\n跬步|0x100000|994\n匮乏|0x40000000|10609\n匮竭|0x1000|0\n匮缺|0x1000|1214\n喟然|0x0100|49507\n喟叹|0x1000|50250\n愦乱|0x40000000|0\n愧对|0x1000|25266\n愧汗|0x1000|0\n愧恨|0x1000|0\n愧悔|0x1000|51882\n愧疚|0x40000000|18720\n愧领|0x1000|0\n愧赧|0x1000|0\n愧色|0x100000|35377\n愧痛|0x40000000|0\n愧怍|0x1000|0\n溃败|0x1000|29221\n溃兵|0x100000|0\n溃堤|0x0000|49857\n溃决|0x1000|39738\n溃军|0x100000|0\n溃口|0x1000|1291\n溃烂|0x1000|29649\n溃乱|0x1000|0\n溃灭|0x1000|47740\n溃民|0x0000|29162\n溃散|0x1000|21068\n溃逃|0x1000|37022\n溃退|0x1000|31758\n溃围|0x1000|0\n溃疡|0x100000|23808\n馈电|0x100000|0\n馈送|0x1000|48779\n馈线|0x0008|54350\n馈源|0x100000|1157\n馈赠|0x1000|19701\n坤包|0x100000|51044\n坤表|0x100000|54351\n坤伶|0x100000|1330\n坤宅|0x100000|1346\n昆布|0x100000|1005\n昆虫|0x100000|9239\n昆剧|0x100000|27863\n昆明|0x0040|3717\n昆腔|0x100000|50629\n昆曲|0x100000|10823\n昆山|0x0040|947\n昆腾|0x0008|1012\n昆仲|0x100000|411\n鲲鹏|0x100000|43920\n悃诚|0x40000000|1536\n捆绑|0x1000|13291\n捆缚|0x1000|1063\n捆扎|0x1000|33536\n困惫|0x40000000|1301\n困处|0x100000|1288\n困顿|0x40000000|26462\n困厄|0x40000000|41978\n困乏|0x40000000|32014\n困惑|0x40000000|7277\n困境|0x100000|4932\n困窘|0x40000000|30410\n困局|0x100000|44735\n困倦|0x40000000|24838\n困觉|0x1000|896\n困苦|0x40000000|12654\n困难|0x40000000|407\n困穷|0x40000000|1103\n困扰|0x100000|6136\n困人|0x0080|1109\n困守|0x1000|36320\n困住|0x0000|555\n扩版|0x1000|37023\n扩编|0x1000|41496\n扩充|0x1000|13063\n扩大|0x1000|915\n扩股|0x0000|29863\n扩建|0x1000|7085\n扩军|0x1000|32531\n扩孔|0x1000|1091\n扩权|0x0000|55344\n扩容|0x1000|22789\n扩散|0x1000|4556\n扩胸|0x1000|995\n扩音|0x1000|895\n扩印|0x1000|48403\n扩增|0x1000|919\n扩展|0x1000|4993\n扩张|0x1000|4777\n扩招|0x1000|19815\n括号|0x100000|33648\n括弧|0x100000|44451\n蛞蝓|0x100000|1134\n阔别|0x1000|22281\n阔步|0x1000|19557\n阔绰|0x40000000|26763\n阔老|0x100000|0\n阔佬|0x100000|38916\n阔气|0x40000000|22943\n阔人|0x100000|20699\n阔少|0x100000|44736\n阔野|0x100000|1186\n阔叶|0x100000|899\n廓落|0x40000000|1292\n廓清|0x1000|27125\n廓张|0x1000|0\n垃圾|0x100000|2869\n拉巴|0x0080|1512\n拉拔|0x100000|982\n拉长|0x1000|686\n拉车|0x1000|885\n拉扯|0x1000|15335\n拉出|0x0008|1110\n拉床|0x100000|1046\n拉倒|0x1000|18252\n拉到|0x0000|666\n拉德|0x100000|1515\n拉掉|0x0000|425\n拉丁|0x1000|1003\n拉动|0x1000|664\n拉断|0x0080|936\n拉风|0x0008|546\n拉幅|0x100000|1131\n拉杆|0x100000|45025\n拉高|0x0008|838\n拉钩|0x1000|958\n拉管|0x0008|373\n拉祜|0x0008|982\n拉环|0x100000|913\n拉簧|0x100000|377\n拉回|0x0000|602\n拉活|0x0000|54352\n拉架|0x1000|972\n拉脚|0x0000|55345\n拉紧|0x0000|532\n拉近|0x1000|679\n拉进|0x0080|562\n拉锯|0x1000|42239\n拉开|0x1000|2845\n拉客|0x1000|32264\n拉拉|0x0080|619\n拉力|0x100000|15473\n拉练|0x1000|26260\n拉链|0x100000|27384\n拉裂|0x1000|0\n拉拢|0x1000|16486\n拉美|0x0040|5371\n拉门|0x100000|494\n拉面|0x100000|26053\n拉磨|0x0008|0\n拉皮|0x0080|1464\n拉票|0x0000|37923\n拉平|0x1000|971\n拉起|0x0080|662\n拉人|0x0008|3\n拉萨|0x0040|5676\n拉伤|0x100000|832\n拉上|0x0000|609\n拉伸|0x1000|736\n拉绳|0x0080|1\n拉屎|0x1000|38917\n拉手|0x4000000|32141\n拉丝|0x1000|711\n拉锁|0x100000|42955\n拉套|0x1000|0\n拉网|0x1000|36005\n拉稀|0x1000|36664\n拉下|0x0000|604\n拉纤|0x1000|37194\n拉线|0x1000|39739\n拉延|0x0080|0\n拉秧|0x1000|1429\n拉杂|0x40000000|47111\n拉闸|0x1000|490\n拉账|0x1000|0\n拉直|0x1000|848\n拉制|0x1000|1084\n拉住|0x1000|699\n拉孜|0x0080|1039\n拉走|0x1000|822\n邋遢|0x40000000|28029\n喇叭|0x100000|7364\n喇蛄|0x0080|0\n喇嘛|0x100000|11587\n剌激|0x0000|468\n腊八|0x404000|53828\n腊肠|0x100000|43697\n腊梅|0x100000|825\n腊日|0x4000|1169\n腊肉|0x100000|26971\n腊味|0x100000|50252\n腊鱼|0x100000|1111\n腊月|0x4000|7868\n瘌痢|0x100000|1122\n蜡白|0x100000|0\n蜡板|0x100000|1273\n蜡版|0x100000|1301\n蜡笔|0x100000|43698\n蜡虫|0x100000|1423\n蜡膏|0x0008|0\n蜡果|0x100000|1363\n蜡花|0x100000|1249\n蜡黄|0x100000|26463\n蜡炬|0x0000|51462\n蜡泪|0x100000|1195\n蜡疗|0x100000|1108\n蜡扦|0x100000|1332\n蜡染|0x100000|38715\n蜡人|0x100000|43921\n蜡台|0x100000|47742\n蜡丸|0x100000|45617\n蜡像|0x100000|35235\n蜡油|0x0008|1030\n蜡纸|0x100000|42482\n蜡质|0x0008|1054\n蜡烛|0x100000|9256\n蜡嘴|0x100000|1343\n辣根|0x0008|1115\n辣酱|0x100000|40602\n辣椒|0x100000|9286\n辣妹|0x100000|643\n辣手|0x40000000|34337\n辣味|0x100000|830\n辣油|0x100000|1015\n辣子|0x100000|26464\n来安|0x0080|1438\n来宾|0x100000|10140\n来潮|0x1000|40401\n来到|0x1000|458\n来得|0x1000|540\n来电|0x1000|13071\n来犯|0x1000|27050\n来访|0x1000|3753\n来凤|0x0080|1501\n来福|0x0080|1290\n来复|0x20000000|455\n来稿|0x100000|13039\n来归|0x1000|448\n来函|0x1000|23872\n来鸿|0x1000|1105\n来华|0x1000|735\n来回|0x100000|6487\n来火|0x1000|1020\n来件|0x100000|54353\n来讲|0x1000|530\n来劲|0x40000000|30829\n来京|0x1000|771\n来看|0x1000|492\n来客|0x100000|14828\n来历|0x100000|13476\n来料|0x100000|35535\n来临|0x1000|5844\n来路|0x100000|24284\n来年|0x4000|16693\n来去|0x100000|12195\n来人|0x100000|14209\n来日|0x4000|28379\n来生|0x4000|33012\n来时|0x4000|605\n来使|0x100000|47743\n来世|0x4000|27293\n来事|0x100000|54354\n来势|0x100000|21233\n来书|0x100000|960\n来说|0x2000|489\n来苏|0x0008|1554\n来头|0x100000|771\n来往|0x1000|5779\n来文|0x100000|39740\n来袭|0x0000|603\n来信|0x100000|2390\n来言|0x100000|0\n来意|0x100000|14640\n来由|0x100000|31059\n来源|0x100000|2948\n来者|0x100000|692\n来着|0x2000|23873\n来自|0x1000|863\n涞水|0x0080|973\n涞源|0x0080|1534\n莱案|0x0000|54689\n莱顿|0x0080|990\n莱菔|0x100000|1165\n莱姆|0x0080|1550\n莱切|0x0040|1502\n莱塞|0x100000|1040\n莱芜|0x0040|1178\n莱西|0x0040|1301\n莱辛|0x0080|1056\n莱阳|0x0040|1285\n莱州|0x0040|1206\n赖婚|0x1000|0\n赖皮|0x40000000|45618\n赖特|0x0080|1458\n赖以|0x8000000|10543\n赖债|0x1000|1217\n赖帐|0x1000|933\n赖账|0x1000|32532\n癞病|0x0008|1247\n癞疮|0x0000|55881\n癞瓜|0x100000|0\n癞痢|0x100000|54854\n癞子|0x100000|50253\n兰草|0x100000|35680\n兰德|0x0008|1226\n兰后|0x0008|1194\n兰花|0x100000|12754\n兰考|0x0080|1450\n兰科|0x0080|1003\n兰谱|0x100000|1227\n兰若|0x100000|932\n兰斯|0x0080|1472\n兰特|0x100000|551\n兰亭|0x0008|1312\n兰西|0x0080|1462\n兰溪|0x0040|1261\n兰新|0x0000|430\n兰屿|0x0040|1474\n兰州|0x0040|4661\n岚皋|0x0080|1034\n岚县|0x0040|1102\n拦挡|0x1000|42730\n拦柜|0x100000|1381\n拦洪|0x1000|47744\n拦击|0x1000|1174\n拦劫|0x1000|47745\n拦截|0x1000|11613\n拦路|0x1000|27621\n拦水|0x1000|1195\n拦网|0x1000|17260\n拦蓄|0x1000|36490\n拦腰|0x8000000|21587\n拦住|0x1000|668\n拦阻|0x1000|16106\n栏板|0x100000|1030\n栏干|0x0000|411\n栏杆|0x100000|12239\n栏柜|0x100000|1536\n栏架|0x100000|1142\n栏目|0x100000|2241\n栏位|0x0008|524\n栏栅|0x100000|975\n阑干|0x100000|912\n阑入|0x1000|0\n阑珊|0x1000|42483\n阑尾|0x100000|27385\n蓝本|0x100000|27942\n蓝布|0x100000|969\n蓝带|0x0008|1466\n蓝灯|0x0008|0\n蓝靛|0x100000|48046\n蓝矾|0x0080|1301\n蓝鲸|0x100000|50632\n蓝蓝|0x0100|671\n蓝领|0x100000|26821\n蓝绿|0x100000|850\n蓝猫|0x100000|513\n蓝莓|0x0080|821\n蓝鸟|0x0008|1328\n蓝屏|0x100000|796\n蓝色|0x100000|4808\n蓝山|0x0040|1258\n蓝天|0x100000|5790\n蓝田|0x0040|1267\n蓝图|0x100000|7647\n蓝线|0x0008|9\n蓝星|0x0080|1278\n蓝牙|0x100000|954\n蓝藻|0x100000|37380\n谰言|0x100000|45319\n褴褛|0x40000000|22686\n篮板|0x100000|25422\n篮队|0x100000|0\n篮架|0x0008|0\n篮筐|0x100000|46506\n篮框|0x0000|472\n篮球|0x100000|5470\n篮圈|0x0008|1043\n篮坛|0x100000|33537\n篮协|0x100000|890\n篮子|0x100000|11146\n览胜|0x1000|47746\n揽储|0x0000|48781\n揽工|0x1000|34658\n揽活|0x1000|47410\n揽货|0x0000|53829\n揽客|0x1000|43217\n揽权|0x1000|51883\n揽胜|0x1000|52814\n缆车|0x100000|29758\n缆绳|0x100000|32397\n缆索|0x100000|1053\n缆线|0x100000|1017\n懒虫|0x100000|46230\n懒怠|0x40000000|55929\n懒得|0x8000000|11112\n懒惰|0x40000000|21196\n懒妇|0x0080|0\n懒鬼|0x100000|55346\n懒汉|0x100000|31304\n懒猴|0x100000|1193\n懒觉|0x100000|32533\n懒懒|0x0100|667\n懒人|0x100000|662\n懒散|0x40000000|21855\n懒腰|0x100000|713\n懒于|0x0000|436\n烂掉|0x1000|486\n烂鬼|0x0008|0\n烂糊|0x40000000|55347\n烂烂|0x0100|834\n烂漫|0x40000000|25353\n烂泥|0x100000|25577\n烂片|0x0008|14\n烂熟|0x1000|24441\n烂账|0x100000|51047\n烂醉|0x1000|53321\n滥捕|0x0008|34808\n滥调|0x100000|45619\n滥发|0x1000|29759\n滥伐|0x1000|22738\n滥交|0x1000|55348\n滥情|0x0008|1\n滥杀|0x1000|27623\n滥觞|0x100000|47411\n滥用|0x1000|6013\n滥竽|0x100000|1185\n郎当|0x100000|7\n郎舅|0x100000|1190\n郎君|0x100000|32534\n郎溪|0x0080|1520\n郎中|0x100000|17229\n狼狈|0x40000000|12513\n狼疮|0x0008|44453\n狼毒|0x100000|1005\n狼狗|0x100000|22117\n狼孩|0x100000|1048\n狼毫|0x100000|51463\n狼嚎|0x100000|877\n狼獾|0x100000|1228\n狼藉|0x1000|23326\n狼犬|0x0000|478\n狼群|0x100000|766\n狼人|0x0000|584\n狼头|0x100000|971\n狼窝|0x100000|870\n狼烟|0x100000|45026\n莨菪|0x100000|1152\n廊道|0x100000|1005\n廊坊|0x0040|1021\n廊庙|0x100000|1094\n廊檐|0x100000|51464\n廊子|0x100000|37563\n琅玕|0x100000|0\n琅琅|0x80000|35236\n榔头|0x100000|28735\n稂莠|0x100000|0\n锒铛|0x100000|1076\n朗读|0x1000|19315\n朗科|0x0008|1347\n朗朗|0x0100|17386\n朗声|0x8000000|31417\n朗爽|0x40000000|0\n朗诵|0x1000|11181\n朗县|0x0040|1146\n朗照|0x0000|55349\n阆苑|0x100000|999\n阆中|0x0040|1357\n浪潮|0x100000|7871\n浪船|0x100000|1271\n浪荡|0x1000|34965\n浪费|0x1000|3353\n浪峰|0x0000|49859\n浪谷|0x100000|46231\n浪花|0x100000|12441\n浪迹|0x1000|45620\n浪尖|0x8000|842\n浪漫|0x40000000|5597\n浪琴|0x0008|431\n浪人|0x100000|758\n浪涛|0x100000|30187\n浪头|0x100000|22634\n浪涌|0x0008|1394\n浪游|0x1000|1023\n浪子|0x100000|26822\n捞本|0x1000|0\n捞出|0x0000|580\n捞饭|0x0000|54857\n捞摸|0x1000|0\n捞起|0x1000|543\n捞钱|0x1000|29966\n捞取|0x1000|23874\n捞着|0x1000|1\n劳保|0x100000|24839\n劳瘁|0x40000000|1211\n劳动|0x1000|506\n劳顿|0x40000000|30727\n劳乏|0x40000000|49508\n劳烦|0x1000|886\n劳方|0x100000|1144\n劳改|0x1000|12020\n劳工|0x100000|8477\n劳宫|0x0008|0\n劳绩|0x100000|43699\n劳驾|0x1000|23232\n劳教|0x1000|12253\n劳金|0x0080|1387\n劳倦|0x40000000|1126\n劳军|0x1000|43219\n劳苦|0x40000000|16630\n劳拉|0x0080|1347\n劳累|0x1000|10983\n劳力|0x100000|7608\n劳碌|0x40000000|30518\n劳模|0x100000|5605\n劳伤|0x100000|1109\n劳神|0x1000|41280\n劳师|0x1000|400\n劳损|0x1000|42241\n劳务|0x100000|4745\n劳心|0x1000|32774\n劳役|0x100000|29222\n劳逸|0x100000|1073\n劳资|0x100000|18089\n劳作|0x1000|12851\n牢度|0x100000|910\n牢房|0x100000|18844\n牢固|0x40000000|4302\n牢记|0x1000|6019\n牢靠|0x40000000|25642\n牢牢|0x8000000|602\n牢笼|0x100000|26823\n牢门|0x0040|453\n牢骚|0x100000|13596\n牢实|0x40000000|0\n牢稳|0x40000000|1301\n牢狱|0x100000|23381\n唠扯|0x1000|1429\n唠叨|0x1000|13583\n唠嗑|0x1000|877\n唠唠|0x1000|805\n崂山|0x0040|1259\n痨病|0x100000|34659\n醪糟|0x100000|45621\n老媪|0x100000|0\n老爸|0x100000|530\n老板|0x100000|1691\n老伴|0x100000|740\n老鸨|0x100000|36322\n老辈|0x100000|30616\n老本|0x100000|855\n老表|0x100000|31525\n老兵|0x0000|8358\n老病|0x100000|962\n老伯|0x100000|18120\n老财|0x100000|1022\n老巢|0x100000|37925\n老臣|0x100000|868\n老成|0x40000000|21312\n老诚|0x40000000|1165\n老粗|0x100000|41737\n老醋|0x100000|1033\n老大|0x100000|6777\n老旦|0x100000|40403\n老到|0x40000000|26972\n老道|0x100000|26543\n老底|0x100000|39741\n老弟|0x100000|13719\n老店|0x100000|553\n老调|0x100000|34066\n老爹|0x100000|10419\n老坟|0x100000|1195\n老夫|0x0000|20816\n老父|0x100000|25643\n老妇|0x100000|823\n老哥|0x0000|16151\n老公|0x100000|15858\n老鸹|0x100000|35237\n老汉|0x100000|3445\n老虎|0x100000|6235\n老花|0x1000|866\n老化|0x1000|11196\n老话|0x100000|15146\n老火|0x100000|872\n老几|0x10000|55351\n老家|0x100000|6579\n老茧|0x100000|32142\n老姜|0x0000|486\n老将|0x100000|7576\n老窖|0x100000|41981\n老街|0x100000|1178\n老景|0x100000|1110\n老境|0x100000|48404\n老九|0x400000|946\n老酒|0x100000|30412\n老舅|0x100000|979\n老君|0x0040|1430\n老辣|0x40000000|41738\n老老|0x100000|518\n老泪|0x0000|38501\n老例|0x100000|38115\n老脸|0x100000|27624\n老练|0x40000000|17203\n老林|0x100000|527\n老龄|0x100000|9306\n老刘|0x100000|544\n老路|0x100000|19675\n老迈|0x40000000|34198\n老耄|0x0008|1264\n老命|0x0000|45321\n老母|0x100000|13834\n老年|0x100000|4731\n老娘|0x100000|14599\n老牛|0x100000|764\n老农|0x100000|16930\n老牌|0x100000|18253\n老派|0x0000|53831\n老婆|0x100000|3255\n老气|0x40000000|41497\n老亲|0x100000|45623\n老区|0x100000|5820\n老拳|0x100000|55352\n老人|0x100000|630\n老弱|0x0000|529\n老三|0x500000|19\n老少|0x100000|11632\n老舍|0x100000|1274\n老身|0x10000|1023\n老生|0x100000|24442\n老师|0x100000|535\n老实|0x40000000|4846\n老式|0x40000000|14734\n老是|0x8000000|8332\n老手|0x100000|27294\n老鼠|0x100000|5797\n老树|0x0008|1210\n老帅|0x100000|889\n老四|0x500000|4\n老太|0x100000|721\n老态|0x100000|36164\n老汤|0x100000|48782\n老饕|0x100000|997\n老套|0x100000|45929\n老天|0x100000|526\n老头|0x100000|546\n老土|0x0000|52327\n老外|0x100000|17021\n老翁|0x100000|23594\n老挝|0x0040|5421\n老窝|0x100000|49860\n老乡|0x100000|7675\n老相|0x40000000|47412\n老小|0x100000|19058\n老兄|0x100000|13411\n老朽|0x1000|25831\n老鸦|0x100000|965\n老幺|0x100000|963\n老爷|0x100000|4268\n老鹰|0x100000|22221\n老营|0x100000|1145\n老友|0x100000|16514\n老幼|0x40000000|26402\n老妪|0x100000|875\n老远|0x8000000|10382\n老早|0x8000000|21197\n老丈|0x100000|1016\n老账|0x0000|33410\n老者|0x100000|10661\n老子|0x100000|4947\n老总|0x100000|9158\n姥姥|0x100000|9120\n姥爷|0x100000|16872\n潦草|0x40000000|27129\n潦倒|0x40000000|24509\n涝害|0x100000|1348\n涝灾|0x100000|43457\n烙饼|0x100000|25709\n烙痕|0x100000|1095\n烙花|0x100000|1199\n烙铁|0x100000|35080\n烙印|0x100000|15998\n酪素|0x0080|1221\n酪酸|0x0008|1194\n乐安|0x0080|1510\n乐昌|0x0040|1350\n乐池|0x100000|50811\n乐道|0x1000|900\n乐得|0x1000|9515\n乐都|0x0040|1418\n乐段|0x100000|1019\n乐队|0x100000|9049\n乐儿|0x100000|1416\n乐府|0x100000|27581\n乐感|0x100000|37654\n乐歌|0x100000|1050\n乐工|0x100000|1077\n乐观|0x40000000|4978\n乐官|0x100000|1190\n乐果|0x100000|992\n乐户|0x100000|0\n乐华|0x0008|1392\n乐句|0x100000|39645\n乐凯|0x0008|1446\n乐理|0x100000|43565\n乐陵|0x0040|1462\n乐律|0x100000|55545\n乐迷|0x100000|757\n乐平|0x0040|1382\n乐谱|0x100000|30464\n乐器|0x100000|8412\n乐清|0x0040|1075\n乐曲|0x100000|9035\n乐趣|0x100000|8046\n乐山|0x0040|1070\n乐声|0x100000|805\n乐师|0x100000|32076\n乐事|0x100000|26765\n乐手|0x100000|30672\n乐坛|0x100000|23401\n乐天|0x40000000|31177\n乐亭|0x0080|1469\n乐土|0x100000|26621\n乐团|0x100000|8531\n乐舞|0x100000|917\n乐业|0x1000|872\n乐意|0x40000000|8577\n乐音|0x100000|29699\n乐于|0x1000|9840\n乐园|0x100000|9645\n乐章|0x100000|12485\n乐至|0x0040|1001\n乐子|0x100000|778\n勒逼|0x1000|0\n勒紧|0x1000|875\n勒令|0x1000|16579\n勒马|0x1000|1510\n勒死|0x1000|821\n勒索|0x1000|21528\n勒抑|0x1000|0\n勒住|0x0000|522\n雷暴|0x100000|23433\n雷波|0x0080|1019\n雷场|0x0000|51052\n雷池|0x100000|31759\n雷达|0x4000000|7901\n雷电|0x100000|17261\n雷动|0x1000|44739\n雷恩|0x0080|1392\n雷根|0x0040|1072\n雷公|0x100000|34506\n雷汞|0x0080|1322\n雷管|0x100000|26544\n雷害|0x100000|1203\n雷击|0x1000|22883\n雷利|0x0080|1061\n雷龙|0x0080|1450\n雷鸣|0x1000|746\n雷鸟|0x0008|924\n雷诺|0x0008|1150\n雷劈|0x1000|841\n雷区|0x100000|35238\n雷山|0x0080|1541\n雷射|0x0008|836\n雷声|0x100000|703\n雷霆|0x100000|30617\n雷同|0x1000|18510\n雷丸|0x0080|1206\n雷雨|0x100000|10215\n雷州|0x0040|1347\n檑木|0x100000|1275\n镭射|0x20000000|765\n羸顿|0x40000000|0\n羸弱|0x40000000|36491\n耒耜|0x100000|1162\n耒阳|0x0040|1394\n垒块|0x100000|0\n垒砌|0x1000|52328\n垒墙|0x0000|52329\n垒球|0x100000|29120\n磊磊|0x0100|0\n磊落|0x1000|30520\n蕾铃|0x100000|1341\n蕾丝|0x0008|644\n肋骨|0x100000|20700\n肋膜|0x100000|1266\n肋木|0x100000|1288\n肋条|0x100000|45029\n泪道|0x0040|0\n泪滴|0x100000|695\n泪管|0x100000|0\n泪光|0x100000|644\n泪痕|0x100000|18585\n泪花|0x100000|14962\n泪器|0x0008|0\n泪人|0x0000|29547\n泪水|0x100000|4213\n泪腺|0x100000|46818\n泪眼|0x100000|16057\n泪液|0x100000|46234\n泪珠|0x100000|11509\n类比|0x1000|22465\n类别|0x100000|10924\n类乎|0x1000|0\n类经|0x0008|1\n类聚|0x0000|49155\n类目|0x0000|549\n类书|0x100000|915\n类似|0x40000000|2311\n类同|0x40000000|38918\n类推|0x1000|26403\n类型|0x100000|2964\n累次|0x8000000|53322\n累代|0x1000|0\n累犯|0x100000|53833\n累活|0x100000|912\n累积|0x1000|14854\n累及|0x1000|32535\n累计|0x1000|3042\n累加|0x1000|41982\n累进|0x1000|36165\n累垮|0x1000|932\n累累|0x8000000|16453\n累卵|0x1000|1192\n累年|0x8000000|46233\n累人|0x40000000|32775\n累世|0x8000000|426\n累死|0x1000|619\n累赘|0x100000|19193\n擂鼓|0x1000|28549\n擂台|0x100000|27051\n擂主|0x100000|35536\n棱角|0x100000|23076\n棱镜|0x100000|12701\n棱线|0x100000|1073\n棱柱|0x100000|1023\n棱锥|0x100000|1085\n楞场|0x0008|0\n楞次|0x100000|1154\n楞伽|0x0040|1090\n冷傲|0x40000000|49862\n冷布|0x0080|55355\n冷菜|0x100000|48783\n冷餐|0x100000|49510\n冷藏|0x1000|21589\n冷颤|0x100000|26622\n冷场|0x1000|38919\n冷嘲|0x0080|422\n冷床|0x0080|1188\n冷淡|0x40000000|8975\n冷点|0x100000|1035\n冷冻|0x1000|15025\n冷风|0x100000|16560\n冷锋|0x100000|1015\n冷敷|0x1000|48784\n冷宫|0x100000|36007\n冷光|0x100000|39121\n冷柜|0x100000|45625\n冷害|0x100000|1180\n冷汗|0x100000|12442\n冷焊|0x0080|1119\n冷湖|0x0040|1099\n冷荤|0x100000|49864\n冷货|0x100000|1333\n冷寂|0x40000000|32398\n冷箭|0x100000|41983\n冷浸|0x0080|1148\n冷噤|0x100000|1252\n冷静|0x40000000|4267\n冷峻|0x40000000|18965\n冷库|0x100000|30188\n冷酷|0x40000000|13261\n冷冷|0x0100|544\n冷冽|0x0000|55356\n冷流|0x0080|1147\n冷落|0x1000|10668\n冷媒|0x0008|451\n冷门|0x100000|16674\n冷面|0x100000|34199\n冷漠|0x40000000|9119\n冷凝|0x1000|30830\n冷暖|0x100000|11428\n冷盘|0x100000|42245\n冷僻|0x40000000|34968\n冷气|0x100000|14905\n冷枪|0x100000|45030\n冷峭|0x40000000|47413\n冷清|0x40000000|13768\n冷泉|0x100000|52818\n冷却|0x1000|10222\n冷然|0x0000|39960\n冷热|0x100000|729\n冷色|0x100000|45626\n冷涩|0x40000000|0\n冷杉|0x100000|42484\n冷食|0x100000|45322\n冷霜|0x100000|994\n冷水|0x100000|11648\n冷缩|0x1000|943\n冷烫|0x1000|1084\n冷天|0x100000|35081\n冷夏|0x0080|0\n冷笑|0x1000|6953\n冷血|0x20000000|688\n冷眼|0x100000|20777\n冷艳|0x40000000|40603\n冷饮|0x100000|23176\n冷语|0x100000|1032\n冷遇|0x100000|24575\n冷轧|0x20000000|24645\n冷战|0x100000|26622\n冷铸|0x0080|0\n冷字|0x100000|1200\n冷作|0x100000|899\n愣神|0x1000|900\n愣是|0x8000000|37382\n愣怔|0x1000|49511\n愣住|0x1000|712\n厘定|0x1000|1010\n厘米|0x20000|5017\n厘清|0x0008|866\n厘升|0x100000|1358\n厘正|0x1000|0\n梨膏|0x100000|1049\n梨果|0x0000|404\n梨花|0x100000|22061\n梨山|0x0040|1043\n梨树|0x100000|22543\n梨园|0x100000|16823\n梨子|0x100000|809\n狸猫|0x100000|34809\n狸藻|0x0080|1355\n狸子|0x100000|1187\n离岸|0x1000|27717\n离别|0x1000|17023\n离愁|0x100000|40823\n离岛|0x0008|49156\n离队|0x1000|32776\n离岗|0x1000|23026\n离宫|0x1000|51054\n离合|0x100000|33140\n离婚|0x1000|3354\n离家|0x1000|10100\n离间|0x1000|26691\n离解|0x1000|1154\n离京|0x1000|886\n离境|0x1000|32143\n离开|0x1000|638\n离乱|0x1000|42960\n离谱|0x40000000|23276\n离奇|0x40000000|14891\n离弃|0x1000|49512\n离情|0x100000|50636\n离去|0x1000|7134\n离群|0x1000|894\n离任|0x1000|14929\n离散|0x1000|14349\n离骚|0x0008|858\n离石|0x0040|1515\n离世|0x1000|43458\n离索|0x40000000|1\n离题|0x1000|37565\n离析|0x1000|1069\n离席|0x1000|47116\n离线|0x0008|980\n离乡|0x1000|27467\n离校|0x1000|760\n离心|0x1000|19558\n离休|0x1000|9841\n离异|0x1000|20616\n离辙|0x1000|0\n离职|0x1000|19784\n离子|0x100000|7170\n离座|0x0000|481\n莉莉|0x0080|583\n骊歌|0x100000|958\n犁地|0x1000|34969\n犁耕|0x1000|1172\n犁沟|0x100000|1184\n犁铧|0x100000|41047\n犁牛|0x100000|1160\n犁田|0x1000|35239\n犁头|0x100000|44456\n犁杖|0x100000|43924\n漓江|0x0040|1197\n嫠妇|0x100000|0\n黎城|0x0080|1004\n黎川|0x0080|1023\n黎曼|0x0080|1051\n黎民|0x100000|35844\n黎明|0x4000|7831\n黎平|0x0080|1525\n黎庶|0x100000|1070\n黎族|0x0008|25832\n篱笆|0x100000|13994\n篱落|0x100000|1084\n篱墙|0x100000|1057\n篱栅|0x100000|1327\n篱障|0x100000|0\n罹患|0x1000|803\n罹祸|0x1000|0\n罹难|0x1000|29223\n藜科|0x0008|0\n藜芦|0x0008|0\n黧黑|0x1000|36492\n蠡测|0x1000|1151\n蠡县|0x0040|1520\n礼拜|0x100000|10820\n礼包|0x100000|733\n礼毕|0x0080|51885\n礼宾|0x0000|30729\n礼部|0x100000|892\n礼车|0x0080|1\n礼成|0x1000|1051\n礼单|0x100000|44457\n礼法|0x100000|31528\n礼佛|0x0000|47117\n礼服|0x100000|19889\n礼盒|0x100000|699\n礼花|0x100000|22833\n礼记|0x0008|855\n礼教|0x100000|18900\n礼节|0x100000|15451\n礼金|0x100000|17283\n礼乐|0x100000|874\n礼帽|0x100000|28474\n礼貌|0x100000|8282\n礼炮|0x100000|29650\n礼袍|0x0080|0\n礼品|0x100000|8508\n礼聘|0x1000|51886\n礼器|0x100000|998\n礼泉|0x0080|981\n礼券|0x100000|873\n礼让|0x1000|26404\n礼数|0x100000|36166\n礼俗|0x100000|36493\n礼堂|0x100000|9343\n礼帖|0x100000|0\n礼物|0x100000|5001\n礼县|0x0040|1052\n礼仪|0x100000|8361\n礼义|0x100000|924\n礼遇|0x100000|23756\n礼赞|0x100000|30294\n礼制|0x100000|48407\n礼治|0x1000|1096\n李安|0x0080|1221\n李白|0x0080|683\n李村|0x0040|982\n李逵|0x0080|1389\n李玟|0x0080|1198\n李鹏|0x0080|1126\n李群|0x0080|1488\n李树|0x0080|1007\n李渔|0x0080|1008\n李子|0x100000|17976\n里昂|0x0080|1205\n里边|0x2000000|5610\n里布|0x0080|1538\n里层|0x0000|49865\n里程|0x100000|9073\n里带|0x100000|779\n里格|0x0080|1057\n里根|0x0080|848\n里海|0x0040|1496\n里脊|0x100000|51055\n里加|0x0080|1246\n里间|0x100000|19853\n里拉|0x20000|785\n里面|0x100000|1469\n里弄|0x100000|24576\n里氏|0x100000|889\n里手|0x100000|49157\n里斯|0x0080|1430\n里头|0x2000000|8350\n里外|0x100000|19740\n里屋|0x100000|13641\n里巷|0x100000|51467\n里院|0x0000|54859\n里约|0x0040|1512\n里子|0x100000|35845\n俚歌|0x100000|54860\n俚曲|0x100000|1219\n俚俗|0x40000000|50255\n俚语|0x100000|36494\n逦迤|0x1000|1212\n理财|0x1000|7042\n理睬|0x1000|11588\n理查|0x0000|518\n理当|0x8000000|23233\n理短|0x40000000|0\n理发|0x1000|14429\n理该|0x1000|1\n理工|0x100000|32777\n理光|0x0008|1203\n理合|0x8000000|1129\n理化|0x100000|704\n理会|0x1000|8135\n理货|0x1000|914\n理家|0x0000|53323\n理解|0x1000|588\n理科|0x100000|19928\n理亏|0x40000000|31305\n理理|0x1000|750\n理疗|0x100000|37196\n理路|0x100000|1036\n理论|0x100000|517\n理念|0x100000|3233\n理赔|0x1000|16762\n理气|0x1000|897\n理清|0x1000|754\n理屈|0x40000000|53834\n理事|0x100000|8738\n理顺|0x1000|7393\n理塘|0x0080|1544\n理县|0x0040|1030\n理想|0x100000|867\n理性|0x100000|3400\n理学|0x100000|712\n理应|0x8000000|7839\n理由|0x100000|1459\n理喻|0x1000|48408\n理智|0x40000000|6544\n鲤鱼|0x100000|14829\n澧县|0x0040|1478\n醴陵|0x0040|1336\n力保|0x0000|24776\n力避|0x1000|45032\n力臂|0x100000|1151\n力场|0x100000|958\n力陈|0x1000|1087\n力促|0x1000|28647\n力挫|0x1000|39961\n力道|0x100000|740\n力点|0x0080|52820\n力度|0x100000|2053\n力攻|0x1000|3\n力荐|0x1000|49158\n力戒|0x1000|22016\n力尽|0x0000|472\n力矩|0x100000|905\n力克|0x1000|18433\n力量|0x100000|340\n力偶|0x100000|1180\n力拼|0x1000|39322\n力气|0x100000|4906\n力求|0x1000|5687\n力劝|0x1000|925\n力士|0x100000|757\n力图|0x1000|10383\n力推|0x1000|762\n力系|0x0008|0\n力心|0x100000|0\n力行|0x1000|51468\n力学|0x100000|10050\n力战|0x1000|28932\n力争|0x1000|3674\n力证|0x100000|1002\n力主|0x1000|24004\n力作|0x100000|13748\n历朝|0x100000|38116\n历陈|0x1000|0\n历程|0x100000|3493\n历次|0x100000|13412\n历代|0x100000|8582\n历法|0x100000|25768\n历届|0x100000|9179\n历尽|0x1000|18823\n历经|0x1000|6780\n历久|0x1000|31178\n历来|0x8000000|5324\n历览|0x1000|1083\n历历|0x8000000|833\n历练|0x1000|32266\n历年|0x100000|11589\n历任|0x100000|7759\n历时|0x1000|5549\n历史|0x100000|142\n历世|0x0000|51469\n历书|0x100000|32536\n历数|0x1000|35380\n历险|0x1000|29035\n历月|0x0080|0\n厉兑|0x0008|0\n厉鬼|0x100000|41984\n厉害|0x40000000|3796\n厉色|0x100000|53835\n厉声|0x8000000|11459\n厉行|0x1000|37731\n立案|0x1000|4944\n立碑|0x0000|31644\n立场|0x100000|1930\n立传|0x0000|32267\n立春|0x4000|31419\n立等|0x8000000|43701\n立地|0x1000|27052\n立定|0x1000|23937\n立冬|0x4000|39542\n立法|0x1000|1962\n立方|0x100000|8955\n立功|0x1000|9881\n立柜|0x100000|43221\n立国|0x1000|15563\n立候|0x1000|0\n立户|0x1000|50637\n立即|0x8000000|691\n立交|0x1000|37025\n立脚|0x1000|44458\n立井|0x100000|1122\n立决|0x1000|1\n立刻|0x8000000|2099\n立论|0x1000|19929\n立马|0x8000000|603\n立命|0x0008|1493\n立木|0x0080|1063\n立秋|0x4000|24958\n立射|0x1000|0\n立身|0x1000|821\n立升|0x100000|949\n立时|0x8000000|9931\n立式|0x20000000|34810\n立誓|0x1000|36324\n立嗣|0x1000|1158\n立体|0x20000000|7298\n立下|0x1000|711\n立夏|0x4000|35846\n立宪|0x100000|25142\n立项|0x1000|8494\n立新|0x1000|40824\n立言|0x1000|34338\n立业|0x1000|24894\n立意|0x100000|16107\n立于|0x0000|15058\n立约|0x1000|43926\n立账|0x1000|0\n立正|0x1000|18586\n立志|0x1000|10996\n立轴|0x100000|992\n立柱|0x100000|26905\n立姿|0x0008|3\n立足|0x1000|3948\n吏部|0x100000|895\n吏治|0x100000|29435\n丽都|0x0008|1229\n丽江|0x0040|955\n丽人|0x100000|26205\n丽日|0x100000|33651\n丽水|0x0040|1070\n丽音|0x0008|962\n丽质|0x40000000|45033\n利昂|0x100000|1010\n利弊|0x100000|17179\n利齿|0x0000|51056\n利川|0x0040|1400\n利刀|0x100000|978\n利导|0x1000|53837\n利得|0x0008|1445\n利钝|0x100000|0\n利多|0x100000|1363\n利国|0x0040|1496\n利害|0x100000|7361\n利好|0x100000|24443\n利己|0x1000|21484\n利剑|0x100000|20284\n利金|0x100000|1098\n利津|0x0080|1462\n利空|0x100000|797\n利口|0x100000|55753\n利禄|0x100000|33786\n利率|0x100000|4505\n利落|0x1000|21117\n利马|0x0040|1382\n利玛|0x100000|410\n利民|0x1000|718\n利尿|0x1000|35847\n利器|0x100000|22790\n利钱|0x100000|39122\n利权|0x0000|53324\n利刃|0x100000|26206\n利润|0x100000|2243\n利市|0x100000|55361\n利水|0x0008|0\n利税|0x100000|7513\n利索|0x40000000|16597\n利他|0x1000|31060\n利息|0x100000|5588\n利辛|0x0080|1466\n利益|0x100000|799\n利用|0x1000|447\n利诱|0x1000|28850\n利于|0x1000|4375\n利欲|0x100000|972\n利爪|0x100000|48785\n利兹|0x0080|1424\n利嘴|0x100000|55362\n励行|0x1000|1143\n励志|0x1000|51470\n呖呖|0x0000|53836\n沥涝|0x1000|0\n沥沥|0x80000|41048\n沥青|0x100000|15359\n沥水|0x100000|1061\n例程|0x0008|515\n例规|0x100000|1237\n例会|0x100000|17722\n例假|0x100000|40826\n例举|0x0000|51057\n例句|0x100000|49514\n例如|0x1000|1913\n例示|0x0000|371\n例数|0x100000|1056\n例题|0x100000|52333\n例外|0x1000|5793\n例文|0x100000|896\n例行|0x1000|11429\n例言|0x100000|1197\n例证|0x100000|14313\n例子|0x100000|5007\n戾气|0x0008|481\n隶农|0x0008|0\n隶书|0x100000|29760\n隶属|0x1000|10530\n隶字|0x100000|1255\n隶卒|0x100000|1378\n俐落|0x0080|542\n俪人|0x100000|1028\n俪影|0x100000|1012\n栎木|0x100000|0\n栎树|0x100000|1114\n荔波|0x0080|973\n荔浦|0x0080|1411\n荔枝|0x100000|10686\n栗暴|0x100000|1319\n栗然|0x0100|0\n栗色|0x100000|40827\n栗子|0x4000000|19854\n砺石|0x100000|1170\n砾漠|0x0080|0\n砾石|0x100000|31529\n砾岩|0x100000|1135\n莅场|0x1000|0\n莅会|0x1000|55363\n莅临|0x1000|29864\n粒度|0x100000|846\n粒肥|0x100000|1317\n粒径|0x0008|952\n粒粒|0x20000|531\n粒铁|0x0008|0\n粒重|0x0008|0\n粒状|0x0008|40828\n粒子|0x100000|8187\n傈僳|0x0008|1411\n痢疾|0x100000|23117\n詈骂|0x1000|0\n溧水|0x0080|1413\n溧阳|0x0040|1218\n俩人|0x100000|619\n连败|0x100000|679\n连比|0x1000|1067\n连播|0x1000|770\n连部|0x100000|1076\n连长|0x100000|784\n连唱|0x1000|957\n连成|0x1000|1189\n连城|0x0040|1280\n连串|0x0000|51889\n连词|0x100000|54360\n连打|0x0000|510\n连带|0x1000|14735\n连队|0x100000|5472\n连发|0x1000|45034\n连番|0x8000000|51058\n连杆|0x100000|829\n连亘|0x1000|51471\n连冠|0x0000|48786\n连贯|0x40000000|20657\n连合|0x1000|1007\n连横|0x0008|1458\n连环|0x100000|15764\n连击|0x0000|558\n连枷|0x100000|45035\n连江|0x0080|1333\n连接|0x1000|3966\n连结|0x1000|589\n连襟|0x100000|42736\n连累|0x1000|16301\n连理|0x100000|35082\n连连|0x8000000|5600\n连络|0x1000|754\n连忙|0x8000000|4241\n连袂|0x8000000|427\n连绵|0x1000|15723\n连名|0x0008|1028\n连年|0x8000000|8450\n连皮|0x40000000|442\n连片|0x1000|507\n连篇|0x1000|29651\n连平|0x0080|1427\n连翘|0x100000|44170\n连任|0x1000|10544\n连日|0x8000000|15107\n连赛|0x0008|1279\n连射|0x0000|485\n连身|0x0008|1315\n连生|0x0040|1470\n连声|0x8000000|8735\n连胜|0x100000|653\n连手|0x1000|819\n连署|0x100000|953\n连锁|0x1000|6920\n连台|0x0000|24959\n连体|0x1000|30296\n连天|0x1000|18693\n连通|0x1000|22062\n连同|0x40000|9319\n连网|0x1000|504\n连系|0x0000|502\n连线|0x1000|644\n连写|0x1000|42486\n连续|0x1000|1529\n连夜|0x8000000|8220\n连音|0x1000|978\n连用|0x1000|36325\n连载|0x1000|15004\n连战|0x0080|1245\n连州|0x0040|1435\n连轴|0x8000000|1022\n连珠|0x1000|38921\n连庄|0x0040|1032\n连缀|0x1000|30414\n连着|0x100000|647\n连作|0x0008|1036\n连坐|0x1000|49515\n帘布|0x100000|1030\n帘幕|0x100000|52336\n帘子|0x100000|15547\n怜爱|0x1000|20817\n怜才|0x40000000|1110\n怜悯|0x1000|10477\n怜惜|0x1000|17977\n怜恤|0x1000|45628\n涟波|0x0080|1150\n涟涟|0x0100|32537\n涟水|0x0080|1408\n涟漪|0x100000|22283\n涟源|0x0040|903\n莲步|0x100000|1\n莲菜|0x100000|1197\n莲房|0x100000|0\n莲花|0x4000000|11035\n莲藕|0x100000|25092\n莲蓬|0x100000|33652\n莲蓉|0x100000|1022\n莲台|0x100000|971\n莲雾|0x0008|1009\n莲心|0x100000|55364\n莲须|0x0008|0\n莲叶|0x100000|909\n莲子|0x100000|17304\n莲座|0x100000|1065\n联办|0x1000|844\n联邦|0x100000|3782\n联保|0x1000|48409\n联苯|0x0008|1531\n联璧|0x100000|1206\n联播|0x1000|24240\n联测|0x0008|1182\n联产|0x1000|26906\n联唱|0x100000|38117\n联成|0x1000|908\n联大|0x100000|827\n联动|0x1000|649\n联队|0x100000|17825\n联防|0x1000|14556\n联共|0x1000|1046\n联贯|0x40000000|0\n联合|0x1000|1100\n联户|0x1000|1126\n联华|0x0008|1221\n联欢|0x1000|9709\n联会|0x0008|878\n联机|0x1000|34811\n联集|0x0008|1163\n联检|0x0000|41499\n联接|0x1000|623\n联结|0x1000|11460\n联句|0x1000|1016\n联觉|0x0080|0\n联军|0x100000|731\n联考|0x0008|735\n联立|0x0080|1084\n联络|0x1000|4974\n联袂|0x1000|16993\n联盟|0x100000|3519\n联名|0x1000|10390\n联翩|0x1000|36837\n联票|0x100000|922\n联勤|0x0080|1027\n联赛|0x100000|2976\n联手|0x1000|7161\n联署|0x100000|42487\n联锁|0x0008|966\n联体|0x0000|51894\n联通|0x1000|534\n联网|0x1000|7066\n联席|0x20000000|22687\n联系|0x1000|608\n联想|0x1000|3895\n联销|0x0000|47753\n联谊|0x1000|15147\n联姻|0x1000|16890\n联营|0x1000|12618\n联用|0x1000|939\n联运|0x1000|28288\n联展|0x100000|32779\n联众|0x0008|1099\n联奏|0x1000|55755\n联组|0x1000|997\n廉耻|0x100000|27053\n廉价|0x40000000|10173\n廉江|0x0040|1426\n廉洁|0x40000000|6549\n廉明|0x40000000|39543\n廉泉|0x0008|0\n廉者|0x100000|1151\n廉正|0x40000000|48787\n廉政|0x40000000|3642\n廉直|0x40000000|0\n鲢鱼|0x100000|41985\n臁疮|0x0008|1244\n镰刀|0x100000|13938\n敛步|0x1000|0\n敛财|0x1000|20170\n敛迹|0x1000|54862\n敛钱|0x1000|52822\n敛容|0x1000|0\n敛足|0x1000|0\n脸部|0x8000|648\n脸大|0x40000000|0\n脸蛋|0x100000|628\n脸儿|0x100000|897\n脸红|0x1000|9336\n脸厚|0x40000000|0\n脸颊|0x100000|593\n脸孔|0x100000|12924\n脸面|0x100000|13477\n脸盘|0x100000|959\n脸庞|0x100000|12277\n脸盆|0x100000|16515\n脸皮|0x100000|15430\n脸谱|0x100000|20315\n脸热|0x0000|55365\n脸软|0x40000000|1538\n脸色|0x100000|3879\n脸上|0x8000|497\n脸水|0x100000|0\n脸膛|0x100000|20952\n脸相|0x100000|1073\n脸形|0x100000|45326\n脸型|0x100000|781\n脸子|0x100000|21198\n练笔|0x1000|54361\n练兵|0x1000|7381\n练操|0x1000|0\n练成|0x0000|604\n练出|0x1000|839\n练达|0x40000000|37197\n练队|0x1000|0\n练功|0x1000|12907\n练级|0x1000|712\n练就|0x1000|17230\n练练|0x1000|731\n练漂|0x0008|0\n练手|0x1000|922\n练武|0x1000|33653\n练习|0x100000|4890\n练字|0x1000|865\n炼丹|0x1000|29652\n炼钢|0x1000|17388\n炼焦|0x100000|26345\n炼金|0x0008|1134\n炼句|0x1000|1172\n炼铝|0x0008|1\n炼乳|0x100000|49867\n炼糖|0x0080|0\n炼铁|0x4000000|23654\n炼铜|0x0008|0\n炼油|0x4000000|14988\n炼狱|0x100000|29967\n炼制|0x1000|33787\n炼字|0x1000|1115\n恋爱|0x100000|4609\n恋歌|0x100000|39324\n恋家|0x40000000|45327\n恋旧|0x40000000|45328\n恋恋|0x1000|698\n恋慕|0x1000|51895\n恋念|0x1000|0\n恋情|0x100000|22414\n恋曲|0x100000|732\n恋群|0x1000|0\n恋人|0x100000|12041\n恋乡|0x0000|54362\n恋战|0x1000|49159\n恋栈|0x1000|1029\n链轨|0x100000|1212\n链环|0x0008|1110\n链接|0x100000|8895\n链结|0x0000|545\n链轮|0x100000|890\n链球|0x100000|34812\n链式|0x0008|1427\n链锁|0x100000|1046\n链条|0x100000|10803\n链烃|0x100000|1313\n链子|0x100000|26692\n潋滟|0x1000|50638\n良币|0x0080|0\n良才|0x0000|54363\n良材|0x100000|1013\n良策|0x100000|16037\n良辰|0x100000|45629\n良多|0x1000|24131\n良方|0x100000|24960\n良港|0x100000|38301\n良好|0x40000000|1201\n良机|0x100000|14240\n良计|0x100000|1070\n良家|0x100000|1304\n良将|0x100000|26546\n良久|0x4000|14485\n良马|0x0080|988\n良民|0x100000|26056\n良能|0x0080|1136\n良朋|0x100000|935\n良人|0x100000|862\n良善|0x40000000|878\n良师|0x100000|886\n良士|0x100000|1236\n良田|0x100000|15876\n良宵|0x100000|36008\n良心|0x100000|5928\n良性|0x20000000|5341\n良言|0x100000|44459\n良药|0x100000|25032\n良医|0x100000|39743\n良友|0x100000|35241\n良缘|0x100000|38118\n良知|0x100000|11368\n良种|0x100000|5988\n凉拌|0x1000|32903\n凉菜|0x100000|39544\n凉茶|0x0008|1262\n凉城|0x0040|995\n凉粉|0x100000|39325\n凉风|0x100000|15379\n凉快|0x1000|19890\n凉帽|0x100000|54365\n凉面|0x100000|48050\n凉棚|0x100000|28475\n凉气|0x100000|21031\n凉爽|0x40000000|14328\n凉水|0x100000|14161\n凉台|0x100000|42737\n凉亭|0x100000|26262\n凉席|0x100000|37198\n凉鞋|0x100000|25354\n凉药|0x100000|1229\n凉意|0x100000|40171\n梁河|0x0080|1068\n梁门|0x0040|0\n梁平|0x0040|1262\n梁丘|0x0008|0\n梁山|0x0080|1123\n梁书|0x0000|396\n梁柱|0x0080|39546\n梁祝|0x0008|1150\n椋鸟|0x100000|1215\n粮仓|0x100000|17024\n粮草|0x100000|19930\n粮袋|0x100000|1215\n粮道|0x100000|0\n粮店|0x100000|28030\n粮囤|0x100000|49160\n粮荒|0x100000|50639\n粮价|0x100000|914\n粮库|0x100000|18434\n粮棉|0x100000|999\n粮秣|0x100000|43702\n粮农|0x100000|16302\n粮票|0x100000|23382\n粮区|0x0000|53325\n粮商|0x100000|1129\n粮食|0x100000|765\n粮税|0x100000|1296\n粮所|0x100000|1024\n粮田|0x100000|22884\n粮饷|0x0000|27127\n粮行|0x100000|52337\n粮油|0x100000|11073\n粮栈|0x100000|1335\n粮站|0x100000|24444\n粱肉|0x100000|0\n踉跄|0x1000|17419\n两岸|0x0040|2013\n两百|0x200000|682\n两半|0x1000|719\n两倍|0x0000|636\n两边|0x2000000|5851\n两便|0x1000|45931\n两鬓|0x100000|26623\n两侧|0x2000000|6061\n两次|0x0000|814\n两弹|0x100000|980\n两当|0x0080|1072\n两抵|0x1000|0\n两地|0x100000|7086\n两点|0x4000|552\n两端|0x100000|12733\n两分|0x0000|571\n两个|0x100000|487\n两广|0x0040|1397\n两国|0x0000|751\n两汉|0x4000|880\n两湖|0x0040|1517\n两回|0x0000|499\n两会|0x100000|590\n两级|0x0000|621\n两极|0x100000|12611\n两脚|0x0000|590\n两晋|0x4000|926\n两可|0x1000|40405\n两立|0x1000|45036\n两利|0x1000|32144\n两面|0x100000|25423\n两难|0x1000|17696\n两旁|0x2000000|6434\n两栖|0x1000|23757\n两讫|0x1000|1111\n两千|0x200000|761\n两清|0x1000|8163\n两全|0x1000|40406\n两三|0x400000|552\n两手|0x400000|5586\n两天|0x0000|789\n两头|0x100000|18901\n两万|0x200000|677\n两相|0x0000|536\n两厢|0x100000|24377\n两性|0x100000|18174\n两样|0x200000|20574\n两伊|0x0040|1555\n两亿|0x200000|1541\n两翼|0x100000|15956\n两用|0x20000000|18060\n两元|0x0000|526\n两院|0x100000|820\n两造|0x100000|1094\n两者|0x100000|535\n两重|0x40000000|512\n亮出|0x1000|729\n亮底|0x1000|55930\n亮点|0x100000|6365\n亮度|0x100000|18298\n亮儿|0x100000|39326\n亮分|0x1000|52824\n亮光|0x100000|15474\n亮丽|0x40000000|11286\n亮亮|0x0080|49\n亮绿|0x0008|1\n亮牌|0x1000|52825\n亮片|0x0008|1315\n亮色|0x100000|813\n亮堂|0x40000000|26624\n亮相|0x1000|6396\n谅必|0x8000000|1223\n谅察|0x1000|0\n谅解|0x1000|8056\n晾干|0x1000|823\n晾晒|0x1000|22284\n晾台|0x100000|51896\n量杯|0x100000|55366\n量变|0x100000|24241\n量表|0x0008|532\n量产|0x0008|751\n量程|0x100000|914\n量词|0x100000|22167\n量度|0x100000|36168\n量纲|0x100000|1151\n量规|0x100000|1020\n量化|0x1000|9399\n量级|0x20000|955\n量计|0x100000|1131\n量具|0x100000|47755\n量块|0x0008|0\n量力|0x1000|37732\n量能|0x0008|1366\n量瓶|0x100000|0\n量器|0x100000|1091\n量筒|0x100000|969\n量刑|0x1000|18622\n量仪|0x100000|863\n量值|0x100000|489\n量子|0x100000|758\n辽代|0x4000|986\n辽东|0x0040|1296\n辽河|0x0040|1293\n辽阔|0x40000000|10056\n辽宁|0x0040|3331\n辽沈|0x0040|1346\n辽西|0x0040|871\n辽阳|0x0040|1160\n辽源|0x0040|1317\n辽远|0x40000000|25202\n辽中|0x0080|1514\n疗程|0x100000|23809\n疗法|0x100000|10439\n疗救|0x0000|54367\n疗伤|0x0008|659\n疗效|0x100000|9213\n疗养|0x1000|20512\n疗治|0x1000|1020\n聊表|0x0000|54368\n聊城|0x0040|1109\n聊赖|0x100000|0\n聊聊|0x1000|548\n聊且|0x8000000|0\n聊生|0x1000|0\n聊天|0x1000|6271\n聊以|0x8000000|36009\n聊友|0x0008|0\n聊斋|0x0008|1187\n僚机|0x100000|51897\n僚友|0x100000|1229\n僚属|0x100000|32145\n僚佐|0x100000|1201\n寥廓|0x40000000|45329\n寥寥|0x0100|15059\n寥落|0x40000000|49868\n廖廓|0x40000000|0\n廖廖|0x0100|0\n嘹亮|0x40000000|15263\n嘹望|0x0000|55991\n寮国|0x0008|394\n撩拨|0x1000|27054\n撩动|0x1000|52826\n撩逗|0x1000|48789\n撩开|0x1000|871\n撩乱|0x40000000|1053\n撩起|0x0080|558\n獠牙|0x100000|43927\n缭乱|0x40000000|45932\n缭绕|0x1000|16129\n燎泡|0x100000|49869\n燎原|0x1000|25033\n镣铐|0x100000|33789\n鹩哥|0x100000|1037\n了当|0x0000|28737\n了得|0x1000|17787\n了断|0x1000|38303\n了结|0x1000|13467\n了解|0x1000|338\n了局|0x100000|46508\n了了|0x1000|47118\n了却|0x1000|28381\n了然|0x1000|21761\n了事|0x1000|15836\n了望|0x0000|517\n了无|0x0000|37733\n了悟|0x1000|571\n了账|0x1000|55931\n料场|0x100000|1124\n料到|0x1000|7484\n料定|0x1000|45933\n料斗|0x100000|960\n料及|0x1000|46235\n料酒|0x100000|49161\n料理|0x100000|13880\n料量|0x100000|0\n料器|0x100000|52827\n料峭|0x1000|32268\n料石|0x100000|1135\n料想|0x1000|17043\n料子|0x100000|21485\n撂倒|0x1000|51898\n撂荒|0x1000|1099\n撂手|0x1000|0\n撂下|0x1000|874\n瞭望|0x1000|561\n咧咧|0x1000|43703\n咧嘴|0x1000|771\n列编|0x1000|1266\n列表|0x100000|427\n列兵|0x100000|42250\n列车|0x100000|3347\n列出|0x1000|13198\n列传|0x100000|21590\n列岛|0x100000|34813\n列队|0x1000|18902\n列管|0x0008|0\n列国|0x100000|27055\n列举|0x1000|10821\n列克|0x100000|438\n列列|0x1000|806\n列宁|0x0080|748\n列强|0x100000|12595\n列缺|0x100000|1120\n列确|0x0040|1252\n列日|0x0080|1072\n列入|0x1000|3360\n列为|0x1000|608\n列位|0x10000|53327\n列席|0x1000|9852\n列项|0x100000|0\n列印|0x0008|791\n列阵|0x0000|47416\n列支|0x1000|926\n列子|0x0080|1469\n劣等|0x20000000|36495\n劣弧|0x100000|1387\n劣货|0x100000|1167\n劣迹|0x100000|21438\n劣马|0x100000|54369\n劣绅|0x100000|38922\n劣势|0x100000|12071\n劣性|0x100000|1020\n劣质|0x20000000|9114\n劣种|0x100000|49870\n烈度|0x100000|42962\n烈风|0x100000|55367\n烈妇|0x0000|370\n烈火|0x100000|12727\n烈酒|0x100000|36668\n烈马|0x100000|34340\n烈女|0x100000|34341\n烈日|0x100000|11887\n烈士|0x100000|5738\n烈性|0x40000000|28289\n烈焰|0x100000|21070\n烈属|0x100000|30831\n猎豹|0x100000|800\n猎捕|0x1000|31306\n猎场|0x100000|39744\n猎刀|0x100000|1088\n猎狗|0x100000|31179\n猎户|0x100000|37926\n猎获|0x1000|36669\n猎具|0x100000|51899\n猎猎|0x80000|52828\n猎鹿|0x0000|385\n猎奇|0x1000|32016\n猎枪|0x100000|21392\n猎取|0x1000|30832\n猎犬|0x100000|34342\n猎人|0x100000|17077\n猎杀|0x1000|33538\n猎食|0x0000|48790\n猎手|0x100000|30945\n猎头|0x100000|32780\n猎物|0x100000|22466\n猎艳|0x1000|699\n猎鹰|0x100000|42963\n猎装|0x100000|49163\n裂变|0x1000|21032\n裂帛|0x1000|1004\n裂缝|0x100000|14175\n裂谷|0x0080|34970\n裂果|0x100000|0\n裂痕|0x100000|22222\n裂化|0x1000|36010\n裂解|0x1000|29437\n裂开|0x1000|20513\n裂孔|0x100000|1119\n裂口|0x100000|33412\n裂片|0x100000|1098\n裂纹|0x100000|25644\n裂璺|0x100000|1536\n裂隙|0x100000|33654\n趔趄|0x1000|23383\n躐等|0x0008|0\n鬣狗|0x100000|51059\n邻邦|0x100000|13901\n邻村|0x100000|902\n邻国|0x100000|765\n邻家|0x100000|678\n邻角|0x100000|1430\n邻接|0x1000|45037\n邻近|0x1000|10984\n邻居|0x100000|4300\n邻里|0x100000|12181\n邻人|0x100000|50258\n邻舍|0x100000|35242\n邻省|0x100000|1056\n邻水|0x0080|995\n邻县|0x100000|1029\n邻域|0x100000|1157\n邻座|0x100000|848\n林班|0x100000|0\n林边|0x8000|927\n林产|0x100000|34343\n林场|0x100000|6294\n林丛|0x100000|1125\n林达|0x0008|1165\n林带|0x100000|17421\n林丹|0x0080|1\n林地|0x100000|8411\n林甸|0x0080|1029\n林分|0x0008|1088\n林冠|0x100000|986\n林海|0x100000|16598\n林间|0x8000|754\n林肯|0x0080|1126\n林垦|0x1000|0\n林口|0x0040|1397\n林立|0x1000|11940\n林龄|0x100000|0\n林莽|0x100000|40604\n林木|0x100000|6037\n林内|0x8000|870\n林农|0x100000|1068\n林檎|0x100000|961\n林区|0x100000|7463\n林涛|0x100000|40172\n林网|0x100000|25267\n林务|0x100000|995\n林西|0x0080|1494\n林下|0x100000|1469\n林相|0x0008|0\n林学|0x0080|1547\n林业|0x100000|2557\n林荫|0x100000|740\n林苑|0x100000|37734\n林芝|0x0080|1331\n林中|0x8000|691\n林钟|0x100000|1210\n林州|0x0040|1206\n林周|0x0080|1092\n林子|0x100000|10936\n临安|0x0040|1141\n临别|0x1000|17923\n临沧|0x0080|1355\n临产|0x1000|32269\n临场|0x1000|23810\n临朝|0x1000|1017\n临城|0x0080|1477\n临池|0x1000|1033\n临床|0x1000|3946\n临到|0x1000|23328\n临汾|0x0040|1176\n临风|0x1000|48051\n临高|0x0080|1483\n临桂|0x0080|1453\n临海|0x1000|1157\n临河|0x1000|856\n临机|0x1000|1058\n临检|0x0008|994\n临江|0x0040|1197\n临街|0x1000|19030\n临界|0x100000|16516\n临近|0x8000000|6932\n临客|0x100000|868\n临空|0x0000|51900\n临澧|0x0080|1517\n临了|0x8000000|30072\n临门|0x1000|30833\n临摹|0x1000|23938\n临难|0x1000|0\n临盆|0x1000|45934\n临清|0x0040|839\n临朐|0x0080|1304\n临泉|0x0080|1402\n临蓐|0x0008|0\n临时|0x8000000|1955\n临视|0x1000|1232\n临沭|0x0080|1493\n临睡|0x40000000|538\n临死|0x1000|14700\n临潭|0x0080|1060\n临洮|0x0080|1493\n临帖|0x1000|50259\n临头|0x1000|21393\n临危|0x1000|21529\n临武|0x0080|1472\n临西|0x0080|1496\n临夏|0x0040|1371\n临县|0x0040|1001\n临湘|0x0040|1494\n临刑|0x1000|32017\n临行|0x1000|14701\n临幸|0x1000|932\n临猗|0x0080|1507\n临沂|0x0040|971\n临邑|0x0080|1547\n临颍|0x0080|982\n临泽|0x0080|1536\n临战|0x1000|29866\n临漳|0x0080|1550\n临阵|0x1000|34344\n临终|0x4000|14329\n临走|0x1000|643\n淋巴|0x100000|22885\n淋病|0x100000|35537\n淋菌|0x0008|452\n淋漓|0x40000000|16994\n淋淋|0x0100|51473\n淋滤|0x1000|1344\n淋湿|0x1000|692\n淋洗|0x1000|1092\n淋雨|0x1000|698\n淋浴|0x100000|27864\n淋证|0x0008|0\n琳琅|0x100000|894\n粼粼|0x0100|23655\n嶙嶙|0x0100|1157\n嶙峋|0x1000|29337\n遴选|0x1000|16561\n辚辚|0x80000|51474\n霖雨|0x100000|49519\n磷肥|0x100000|18967\n磷光|0x100000|43223\n磷化|0x1000|872\n磷火|0x100000|44173\n磷矿|0x100000|925\n磷磷|0x0100|0\n磷酸|0x0008|20910\n磷虾|0x100000|1223\n磷脂|0x100000|41281\n鳞波|0x100000|1151\n鳞次|0x1000|1116\n鳞甲|0x100000|43224\n鳞介|0x100000|0\n鳞茎|0x100000|1062\n鳞片|0x100000|26973\n鳞屑|0x100000|1037\n鳞爪|0x100000|1072\n麟游|0x0080|1064\n凛冽|0x40000000|19031\n凛凛|0x0100|33287\n凛然|0x0100|22332\n懔懔|0x0100|996\n懔然|0x0100|0\n檩条|0x100000|1114\n檩子|0x100000|53841\n吝啬|0x40000000|18694\n吝惜|0x40000000|26465\n拎包|0x100000|813\n拎着|0x1000|605\n伶仃|0x40000000|40605\n伶俐|0x40000000|21677\n伶俜|0x40000000|1153\n伶人|0x100000|417\n灵宝|0x0040|1328\n灵璧|0x0080|1445\n灵便|0x40000000|29969\n灵车|0x100000|33930\n灵榇|0x100000|0\n灵川|0x0080|1483\n灵床|0x100000|42964\n灵丹|0x100000|516\n灵道|0x0080|0\n灵动|0x40000000|20015\n灵幡|0x100000|0\n灵符|0x100000|948\n灵府|0x100000|1181\n灵感|0x100000|8821\n灵怪|0x100000|1117\n灵光|0x100000|26824\n灵慧|0x40000000|49871\n灵魂|0x100000|2107\n灵活|0x40000000|3593\n灵机|0x100000|42251\n灵界|0x0080|1\n灵柩|0x100000|19891\n灵力|0x0080|1323\n灵猫|0x100000|975\n灵媒|0x0008|443\n灵妙|0x40000000|379\n灵敏|0x40000000|12895\n灵明|0x0080|1104\n灵牌|0x100000|43225\n灵棚|0x100000|1177\n灵气|0x100000|19194\n灵前|0x8000|0\n灵巧|0x40000000|16852\n灵寝|0x100000|1297\n灵丘|0x0080|987\n灵山|0x0040|1176\n灵蛇|0x0008|1469\n灵石|0x0080|1344\n灵寿|0x0080|1446\n灵枢|0x0080|0\n灵塔|0x0000|48052\n灵台|0x100000|47119\n灵堂|0x100000|23277\n灵通|0x40000000|13371\n灵童|0x100000|985\n灵透|0x40000000|0\n灵位|0x100000|34068\n灵武|0x0040|1507\n灵犀|0x100000|33014\n灵效|0x100000|1179\n灵性|0x100000|16632\n灵秀|0x40000000|28109\n灵虚|0x40000000|1085\n灵验|0x40000000|22791\n灵药|0x100000|43704\n灵异|0x100000|53842\n灵芝|0x100000|16058\n囹圄|0x100000|37567\n岭南|0x0040|721\n泠泠|0x0100|1474\n玲玲|0x100000|557\n玲珑|0x40000000|16187\n凌波|0x1000|48791\n凌晨|0x4000|4520\n凌迟|0x1000|32146\n凌海|0x0040|1518\n凌驾|0x1000|23329\n凌空|0x1000|21314\n凌厉|0x40000000|24895\n凌轹|0x1000|0\n凌乱|0x40000000|619\n凌虐|0x1000|963\n凌人|0x1000|1475\n凌辱|0x1000|23435\n凌侮|0x1000|1271\n凌霄|0x100000|44741\n凌汛|0x100000|42488\n凌夷|0x1000|1\n凌源|0x0040|1514\n凌云|0x1000|25833\n凌杂|0x40000000|0\n凌锥|0x100000|0\n铃铛|0x100000|23434\n铃虫|0x100000|1359\n铃鼓|0x0008|1036\n铃兰|0x0008|1472\n铃木|0x0008|1125\n铃舌|0x0080|0\n铃声|0x100000|11057\n铃响|0x0080|530\n陵川|0x0080|994\n陵庙|0x100000|1204\n陵墓|0x100000|19090\n陵寝|0x100000|44174\n陵替|0x1000|0\n陵县|0x0040|1387\n陵园|0x100000|18468\n绫罗|0x0000|54372\n绫子|0x100000|48411\n羚牛|0x100000|46822\n羚羊|0x100000|16038\n翎毛|0x100000|42252\n翎子|0x100000|38923\n聆取|0x1000|0\n聆听|0x1000|10396\n聆讯|0x0008|965\n菱角|0x100000|31645\n菱形|0x100000|28933\n零长|0x0080|0\n零吃|0x0000|55759\n零担|0x100000|53328\n零蛋|0x100000|51901\n零点|0x4000|16891\n零度|0x100000|31180\n零儿|0x100000|1247\n零分|0x0008|1326\n零工|0x100000|37927\n零花|0x100000|44742\n零活|0x100000|1096\n零件|0x100000|12254\n零乱|0x40000000|21315\n零落|0x40000000|30834\n零卖|0x1000|46236\n零钱|0x100000|20092\n零散|0x40000000|18657\n零时|0x4000|842\n零食|0x100000|21963\n零售|0x1000|4921\n零数|0x100000|55370\n零碎|0x100000|17262\n零头|0x100000|31181\n零位|0x100000|1089\n零下|0x8000|12596\n零星|0x8000000|11927\n零型|0x0080|0\n零用|0x100000|35685\n零元|0x0008|1136\n零嘴|0x100000|48412\n鲮鲤|0x100000|1330\n鲮鱼|0x100000|51060\n领班|0x100000|30946\n领办|0x0000|30522\n领唱|0x100000|34509\n领带|0x100000|11778\n领导|0x100000|177\n领到|0x1000|721\n领道|0x1000|1191\n领得|0x1000|1073\n领地|0x100000|16656\n领读|0x1000|50641\n领队|0x100000|10972\n领港|0x100000|1296\n领工|0x0000|55371\n领馆|0x100000|503\n领海|0x100000|20053\n领航|0x1000|36326\n领花|0x0000|53329\n领回|0x1000|848\n领会|0x1000|4939\n领奖|0x1000|652\n领教|0x1000|17924\n领结|0x100000|37928\n领巾|0x100000|52829\n领进|0x0008|1397\n领空|0x100000|14830\n领口|0x100000|20658\n领款|0x1000|1133\n领来|0x0008|991\n领路|0x1000|28851\n领率|0x1000|1\n领略|0x1000|8389\n领命|0x0000|51061\n领跑|0x0000|22635\n领情|0x1000|26974\n领取|0x1000|6310\n领圈|0x100000|1205\n领赏|0x0000|45038\n领事|0x100000|13342\n领受|0x1000|22792\n领水|0x100000|53330\n领头|0x1000|19032\n领土|0x100000|3477\n领舞|0x100000|49520\n领悟|0x1000|11571\n领先|0x1000|3600\n领衔|0x1000|14641\n领袖|0x100000|3678\n领养|0x1000|34814\n领用|0x1000|507\n领有|0x1000|40606\n领域|0x100000|1049\n领章|0x100000|36839\n领主|0x100000|25424\n领属|0x1000|1237\n领子|0x100000|18002\n领罪|0x1000|55994\n令爱|0x100000|43928\n令嫒|0x100000|1237\n令弟|0x100000|40830\n令狐|0x0080|38119\n令箭|0x100000|36169\n令节|0x4000|0\n令郎|0x100000|46237\n令妹|0x100000|1124\n令牌|0x0008|47417\n令旗|0x100000|36327\n令亲|0x100000|0\n令人|0x1000|492\n令堂|0x100000|47418\n令兄|0x100000|1137\n令誉|0x100000|1229\n令媛|0x0080|1193\n令状|0x100000|1228\n令姊|0x100000|0\n令尊|0x100000|33931\n另案|0x100000|37735\n另册|0x100000|39327\n另加|0x1000|815\n另开|0x1000|1\n另类|0x100000|26547\n另立|0x1000|483\n另外|0x10000000|727\n另行|0x8000000|14067\n另选|0x1000|972\n另眼|0x8000000|1092\n另一|0x400000|901\n溜边|0x1000|1105\n溜冰|0x1000|28476\n溜槽|0x100000|1067\n溜出|0x0000|552\n溜达|0x1000|23118\n溜掉|0x1000|871\n溜放|0x0080|0\n溜光|0x0100|37929\n溜号|0x1000|45632\n溜滑|0x40000000|46511\n溜进|0x0080|530\n溜井|0x0080|0\n溜开|0x1000000|0\n溜溜|0x0080|700\n溜索|0x0000|48053\n溜圆|0x40000000|38507\n溜子|0x100000|49875\n溜走|0x1000|20242\n刘邦|0x0080|778\n刘海|0x0080|553\n刘墉|0x0080|1374\n浏海|0x0008|1030\n浏览|0x1000|11001\n浏阳|0x0040|1190\n流弊|0x100000|33141\n流变|0x1000|35243\n流别|0x100000|0\n流播|0x1000|0\n流布|0x1000|50643\n流产|0x1000|18435\n流畅|0x40000000|11133\n流程|0x100000|7946\n流出|0x1000|595\n流传|0x1000|5735\n流窜|0x1000|23758\n流弹|0x100000|33539\n流荡|0x1000|33540\n流点|0x0008|1018\n流电|0x0008|1126\n流掉|0x0000|407\n流动|0x1000|2161\n流毒|0x100000|26975\n流芳|0x1000|38305\n流放|0x1000|20016\n流风|0x100000|868\n流感|0x100000|11317\n流管|0x0008|1182\n流光|0x100000|23704\n流过|0x1000|599\n流汗|0x1000|734\n流化|0x1000|874\n流火|0x100000|857\n流金|0x1000|757\n流尽|0x0000|488\n流进|0x0008|1162\n流经|0x1000|815\n流寇|0x100000|33015\n流浪|0x1000|8713\n流泪|0x1000|7099\n流离|0x1000|25980\n流丽|0x40000000|1020\n流利|0x40000000|15739\n流连|0x1000|23595\n流量|0x100000|8529\n流流|0x0008|1045\n流露|0x1000|6844\n流落|0x1000|17978\n流氓|0x100000|7727\n流民|0x100000|28553\n流明|0x20000|807\n流脑|0x100000|32400\n流年|0x100000|36328\n流脓|0x1000|946\n流派|0x100000|9559\n流盼|0x1000|53332\n流配|0x1000|0\n流气|0x100000|52830\n流入|0x1000|655\n流散|0x1000|32401\n流沙|0x100000|24446\n流砂|0x100000|1136\n流失|0x1000|4160\n流食|0x100000|53334\n流矢|0x100000|1042\n流逝|0x1000|14210\n流水|0x100000|7467\n流苏|0x100000|24961\n流俗|0x100000|43929\n流速|0x100000|22223\n流淌|0x1000|9685\n流体|0x100000|19631\n流涕|0x1000|855\n流通|0x1000|2614\n流亡|0x1000|12809\n流网|0x100000|1100\n流徙|0x1000|52831\n流下|0x1000|553\n流涎|0x1000|1012\n流线|0x20000000|839\n流向|0x100000|9353\n流泻|0x1000|33932\n流星|0x100000|11758\n流行|0x1000|2521\n流形|0x100000|1054\n流血|0x1000|6325\n流言|0x100000|19487\n流溢|0x1000|43226\n流音|0x0008|1145\n流莺|0x100000|980\n流萤|0x100000|52339\n流域|0x100000|2849\n流寓|0x1000|1082\n流云|0x0000|38717\n流质|0x100000|43227\n流注|0x1000|51062\n流转|0x1000|8988\n流着|0x0000|612\n留坝|0x0080|1059\n留别|0x1000|992\n留步|0x1000|39124\n留成|0x1000|30618\n留出|0x1000|738\n留传|0x1000|45936\n留存|0x1000|20539\n留待|0x1000|28110\n留底|0x1000|49874\n留点|0x0000|559\n留芳|0x1000|1011\n留给|0x1000|498\n留话|0x1000|986\n留级|0x1000|31531\n留居|0x1000|48413\n留客|0x1000|993\n留空|0x1000|908\n留利|0x0000|41502\n留连|0x1000|521\n留恋|0x1000|11649\n留落|0x1000|1\n留美|0x1000|544\n留门|0x1000|0\n留名|0x1000|28111\n留难|0x1000|1071\n留念|0x100000|10804\n留鸟|0x100000|51475\n留情|0x1000|27540\n留取|0x1000|935\n留人|0x1000|539\n留任|0x1000|24896\n留神|0x1000|12010\n留守|0x1000|10610\n留宿|0x1000|29225\n留下|0x1000|852\n留校|0x1000|18152\n留心|0x1000|9314\n留学|0x1000|4484\n留言|0x100000|11400\n留洋|0x1000|35384\n留意|0x1000|11448\n留影|0x1000|25355\n留用|0x1000|30073\n留有|0x1000|28552\n留在|0x1000|498\n留职|0x1000|46239\n留置|0x1000|924\n留种|0x1000|1024\n留住|0x1000|570\n留驻|0x1000|30947\n留足|0x1000|988\n留作|0x1000|837\n琉璃|0x100000|21439\n琉球|0x100000|1373\n硫醇|0x100000|1037\n硫化|0x1000|33541\n硫黄|0x100000|24378\n硫磺|0x100000|785\n硫脲|0x100000|1062\n硫酸|0x100000|11787\n遛遛|0x0000|437\n遛马|0x1000|1148\n遛鸟|0x1000|55760\n馏程|0x100000|1205\n馏分|0x100000|1051\n榴弹|0x100000|39963\n榴火|0x100000|1310\n榴莲|0x100000|41503\n瘤胃|0x100000|1145\n瘤子|0x100000|37930\n镏金|0x1000|51063\n镏子|0x100000|1283\n鎏金|0x100000|46512\n柳编|0x4000000|39328\n柳醇|0x0080|0\n柳笛|0x0000|50644\n柳河|0x0040|1478\n柳花|0x100000|1056\n柳江|0x0080|1456\n柳筐|0x100000|1222\n柳林|0x0080|1366\n柳眉|0x100000|38306\n柳木|0x100000|1004\n柳琴|0x100000|51064\n柳杉|0x100000|50260\n柳梢|0x100000|45633\n柳树|0x100000|12323\n柳丝|0x100000|38307\n柳体|0x100000|53844\n柳条|0x100000|18845\n柳巷|0x0040|1010\n柳絮|0x100000|34345\n柳腰|0x100000|971\n柳叶|0x100000|812\n柳荫|0x100000|958\n柳莺|0x100000|1072\n柳枝|0x100000|834\n柳州|0x0040|989\n六安|0x400000|1168\n六百|0x600000|18\n六朝|0x400000|19458\n六大|0x400008|75\n六腑|0x500000|47757\n六个|0x400000|724\n六根|0x400000|846\n六号|0x400000|611\n六合|0x500000|0\n六甲|0x500000|38508\n六角|0x400000|755\n六经|0x500000|0\n六礼|0x400080|0\n六七|0x400000|585\n六千|0x600000|9\n六亲|0x500000|42253\n六人|0x400080|40\n六日|0x400000|714\n六神|0x500000|0\n六师|0x100000|443\n六十|0x600000|67\n六世|0x500000|3\n六书|0x500000|53845\n六四|0x600000|1\n六岁|0x400000|588\n六万|0x600000|9\n六畜|0x500000|45330\n六一|0x600000|12976\n六亿|0x600000|3\n六艺|0x500000|38924\n六欲|0x500000|0\n六月|0x400000|4701\n六镇|0x400040|1\n六指|0x0000|30619\n六祖|0x400080|0\n咯噔|0x80000|27699\n咯咯|0x80000|13269\n咯血|0x1000|41042\n咯吱|0x80000|36136\n龙柏|0x0000|50645\n龙川|0x0040|1314\n龙船|0x100000|30835\n龙胆|0x100000|910\n龙灯|0x100000|26976\n龙洞|0x100000|793\n龙凤|0x100000|690\n龙宫|0x100000|36170\n龙骨|0x100000|34971\n龙海|0x0040|1264\n龙虎|0x100000|590\n龙华|0x0008|1061\n龙江|0x0040|1138\n龙井|0x100000|1158\n龙卷|0x20000000|695\n龙口|0x0040|1198\n龙里|0x0080|1018\n龙陵|0x0080|1098\n龙门|0x100000|628\n龙南|0x0080|1464\n龙年|0x4000|1005\n龙袍|0x100000|32402\n龙泉|0x0040|1120\n龙山|0x0080|1176\n龙潭|0x0080|1155\n龙套|0x100000|38510\n龙体|0x100000|1009\n龙庭|0x100000|976\n龙头|0x100000|3179\n龙王|0x100000|24448\n龙舞|0x0000|43706\n龙虾|0x100000|21530\n龙岩|0x0040|1133\n龙颜|0x0000|44744\n龙眼|0x4000000|20285\n龙游|0x0040|1294\n龙钟|0x40000000|40833\n龙州|0x0080|1459\n龙舟|0x100000|13584\n茏葱|0x40000000|0\n珑玲|0x40000000|0\n砻糠|0x100000|1285\n笼盖|0x100000|1082\n笼络|0x1000|19488\n笼屉|0x100000|44745\n笼统|0x40000000|17945\n笼头|0x100000|36671\n笼养|0x1000|48056\n笼罩|0x1000|7238\n笼子|0x100000|12118\n笼嘴|0x100000|0\n聋人|0x100000|928\n聋哑|0x1000|26977\n聋子|0x100000|25268\n隆安|0x0008|1302\n隆鼻|0x0008|887\n隆昌|0x0008|1360\n隆德|0x0080|1515\n隆冬|0x4000|17450\n隆化|0x0008|1541\n隆回|0x0040|1459\n隆隆|0x80000|12291\n隆起|0x1000|15740\n隆情|0x8000000|1244\n隆乳|0x1000|928\n隆盛|0x40000000|50262\n隆兴|0x0008|1387\n隆胸|0x1000|51065\n隆尧|0x0080|1549\n隆重|0x40000000|3971\n隆准|0x100000|1089\n隆子|0x0080|1126\n癃闭|0x100000|1131\n陇川|0x0080|1072\n陇海|0x0008|511\n陇剧|0x100000|1307\n陇南|0x0080|1387\n陇西|0x100000|1398\n陇县|0x0040|1013\n垄断|0x1000|3972\n垄沟|0x100000|46240\n垄作|0x100000|1\n拢岸|0x1000|43228\n拢共|0x8000000|53336\n拢子|0x100000|1364\n拢总|0x8000000|55995\n娄底|0x0040|1171\n娄烦|0x0080|1015\n娄子|0x100000|394\n喽罗|0x100000|900\n喽啰|0x0000|55996\n楼板|0x100000|24064\n楼层|0x100000|23119\n楼船|0x100000|49165\n楼道|0x100000|11741\n楼顶|0x8000|699\n楼房|0x100000|5620\n楼盖|0x100000|1035\n楼阁|0x100000|28384\n楼花|0x0008|0\n楼价|0x100000|813\n楼兰|0x100000|1216\n楼面|0x100000|877\n楼盘|0x100000|23120\n楼区|0x0000|43931\n楼群|0x100000|22063\n楼上|0x8000|547\n楼市|0x100000|33016\n楼台|0x100000|31762\n楼梯|0x100000|6811\n楼下|0x8000|517\n楼宇|0x100000|25094\n楼主|0x100000|551\n楼子|0x100000|1\n楼座|0x100000|963\n蝼蛄|0x100000|44746\n蝼蚁|0x100000|41505\n搂抱|0x1000|21440\n搂搂|0x1000|628\n搂钱|0x0000|55374\n篓子|0x100000|29438\n陋规|0x100000|52834\n陋室|0x100000|35083\n陋俗|0x100000|43462\n陋习|0x100000|14297\n陋巷|0x100000|41052\n漏报|0x1000|33655\n漏出|0x0000|514\n漏疮|0x100000|0\n漏窗|0x100000|1130\n漏电|0x1000|39964\n漏掉|0x1000|779\n漏洞|0x100000|6622\n漏兜|0x1000|0\n漏斗|0x100000|17946\n漏风|0x1000|40834\n漏光|0x1000|53846\n漏壶|0x100000|1210\n漏检|0x0000|52835\n漏接|0x0000|428\n漏孔|0x100000|1217\n漏芦|0x100000|1214\n漏气|0x1000|883\n漏勺|0x100000|53847\n漏失|0x100000|51066\n漏收|0x1000|0\n漏水|0x1000|766\n漏税|0x1000|22497\n漏网|0x1000|26548\n漏误|0x100000|0\n漏隙|0x100000|0\n漏下|0x0008|432\n漏泄|0x1000|1095\n漏夜|0x4000|52341\n漏油|0x100000|894\n漏雨|0x0000|457\n漏卮|0x100000|0\n漏着|0x1000|1108\n漏子|0x100000|37027\n漏嘴|0x1000|0\n瘘管|0x100000|1102\n镂花|0x100000|41986\n镂刻|0x1000|44747\n镂空|0x1000|34972\n露白|0x1000|55375\n露布|0x100000|1205\n露齿|0x1000|900\n露丑|0x0000|55376\n露出|0x1000|498\n露底|0x1000|52342\n露点|0x100000|647\n露风|0x1000|0\n露富|0x1000|53337\n露骨|0x40000000|22498\n露光|0x0080|1130\n露酒|0x100000|1088\n露脸|0x1000|23656\n露露|0x0008|1229\n露面|0x1000|12977\n露苗|0x1000|0\n露怯|0x1000|1007\n露洒|0x0000|51904\n露水|0x100000|16657\n露宿|0x1000|27542\n露髓|0x0080|0\n露台|0x100000|786\n露体|0x0000|403\n露天|0x100000|9200\n露头|0x100000|24286\n露馅|0x1000|833\n露相|0x1000|970\n露营|0x1000|36329\n露珠|0x100000|21629\n噜苏|0x40000000|1158\n卢比|0x20000|893\n卢布|0x20000|862\n卢龙|0x0080|1538\n卢氏|0x0080|1486\n卢梭|0x0080|1362\n卢湾|0x0080|1202\n庐江|0x0040|1326\n庐山|0x0040|1091\n庐舍|0x100000|1085\n芦柴|0x100000|47123\n芦荡|0x100000|46823\n芦笛|0x100000|1019\n芦丁|0x100000|1051\n芦柑|0x100000|55377\n芦根|0x100000|44462\n芦蒿|0x100000|1102\n芦花|0x100000|20172\n芦荟|0x100000|38511\n芦山|0x0040|1036\n芦笙|0x100000|33933\n芦笋|0x100000|33142\n芦苇|0x100000|10484\n芦溪|0x0080|987\n芦席|0x0080|37737\n芦洲|0x0040|1490\n芦竹|0x100000|972\n泸定|0x0040|1547\n泸水|0x0080|1038\n泸西|0x0080|980\n泸溪|0x0080|982\n泸县|0x0040|1005\n泸州|0x0040|1130\n炉壁|0x0008|0\n炉边|0x8000|1005\n炉衬|0x100000|1099\n炉床|0x100000|0\n炉顶|0x100000|1115\n炉管|0x100000|1092\n炉灰|0x100000|44463\n炉火|0x100000|18254\n炉霍|0x0080|1012\n炉具|0x100000|48057\n炉坑|0x100000|1341\n炉料|0x100000|756\n炉门|0x100000|51902\n炉台|0x100000|42491\n炉膛|0x100000|32904\n炉条|0x100000|1260\n炉瓦|0x100000|55378\n炉温|0x100000|52343\n炉灶|0x100000|24511\n炉渣|0x100000|36673\n炉子|0x100000|10460\n鸬鹚|0x100000|46513\n颅骨|0x100000|32649\n颅脑|0x100000|911\n颅腔|0x100000|1147\n鲈鱼|0x100000|36497\n卤菜|0x100000|51477\n卤化|0x1000|1119\n卤鸡|0x0000|51067\n卤莽|0x40000000|862\n卤肉|0x0008|50263\n卤水|0x100000|34069\n卤素|0x100000|37738\n卤味|0x100000|55761\n卤汁|0x0008|1001\n卤制|0x1000|1099\n卤族|0x0008|1193\n虏获|0x1000|983\n掳掠|0x1000|28739\n鲁昂|0x0040|1090\n鲁班|0x0000|29439\n鲁菜|0x100000|54868\n鲁甸|0x0080|1083\n鲁钝|0x40000000|53848\n鲁尔|0x100000|1510\n鲁莽|0x40000000|27295\n鲁南|0x100000|497\n鲁山|0x0080|1448\n鲁迅|0x0080|989\n鲁直|0x40000000|1142\n陆冰|0x100000|1285\n陆沉|0x1000|1085\n陆川|0x0080|1354\n陆稻|0x100000|0\n陆地|0x100000|7004\n陆丰|0x0040|1464\n陆风|0x100000|1350\n陆光|0x0080|0\n陆河|0x0080|1025\n陆贾|0x100000|1091\n陆架|0x100000|1223\n陆界|0x0080|0\n陆军|0x100000|7313\n陆空|0x0008|941\n陆离|0x40000000|1030\n陆良|0x0080|1504\n陆陆|0x200000|748\n陆路|0x100000|16715\n陆棚|0x0080|1542\n陆栖|0x20000000|0\n陆桥|0x100000|973\n陆上|0x8000|797\n陆生|0x20000000|990\n陆续|0x8000000|2706\n陆运|0x100000|49522\n陆战|0x100000|760\n录播|0x1000|882\n录放|0x1000|52836\n录供|0x1000|0\n录录|0x0080|0\n录取|0x1000|6067\n录入|0x1000|21628\n录事|0x0080|417\n录相|0x0008|1459\n录像|0x100000|8789\n录音|0x1000|10491\n录影|0x1000|771\n录用|0x1000|8490\n录制|0x1000|16853\n鹿柴|0x0008|1134\n鹿角|0x100000|33790\n鹿皮|0x100000|938\n鹿泉|0x0040|1485\n鹿茸|0x100000|40173\n鹿肉|0x100000|960\n鹿胎|0x0008|1071\n鹿尾|0x0008|1078\n鹿血|0x100000|1096\n鹿邑|0x0080|1451\n鹿苑|0x0080|958\n鹿砦|0x100000|1245\n禄丰|0x0080|1520\n禄位|0x100000|1111\n滤饼|0x100000|1117\n滤波|0x1000|41283\n滤池|0x0008|1050\n滤光|0x0000|414\n滤过|0x0000|484\n滤镜|0x0008|1170\n滤膜|0x0008|1485\n滤器|0x100000|910\n滤清|0x1000|753\n滤去|0x0000|429\n滤网|0x0008|797\n滤液|0x100000|1025\n滤纸|0x100000|932\n碌碌|0x0100|32147\n碌曲|0x0080|1092\n碌碡|0x100000|53335\n路霸|0x100000|54375\n路北|0x8000|795\n路边|0x8000|514\n路标|0x100000|24449\n路程|0x100000|9966\n路道|0x100000|0\n路德|0x0080|1338\n路灯|0x100000|10799\n路堤|0x100000|49523\n路段|0x100000|8642\n路费|0x100000|14878\n路风|0x100000|41506\n路规|0x100000|55967\n路轨|0x100000|39965\n路过|0x1000|8227\n路徽|0x100000|1329\n路基|0x100000|13982\n路祭|0x100000|0\n路加|0x0080|475\n路肩|0x100000|1043\n路劫|0x1000|0\n路经|0x1000|840\n路警|0x100000|48414\n路径|0x100000|11062\n路局|0x100000|1063\n路卡|0x100000|51903\n路考|0x0008|55932\n路口|0x100000|8317\n路宽|0x100000|1014\n路况|0x100000|22886\n路矿|0x100000|1102\n路面|0x100000|7581\n路名|0x100000|715\n路牌|0x100000|36012\n路旁|0x8000|674\n路人|0x100000|16130\n路上|0x8000|8062\n路数|0x100000|31061\n路摊|0x100000|1232\n路条|0x100000|44748\n路头|0x100000|1078\n路途|0x100000|16016\n路网|0x0000|16467\n路线|0x100000|1631\n路易|0x0080|1202\n路由|0x100000|668\n路遇|0x1000|48058\n路障|0x100000|27388\n路政|0x100000|32539\n路子|0x100000|4123\n漉网|0x100000|0\n戮力|0x1000|48415\n辘轳|0x100000|27389\n辘辘|0x80000|43707\n潞城|0x0040|1005\n潞西|0x0040|1005\n鹭鸶|0x100000|34661\n驴骡|0x100000|1169\n驴子|0x100000|774\n闾里|0x100000|49877\n闾丘|0x100000|429\n闾巷|0x100000|1152\n闾阎|0x100000|1151\n吕剧|0x100000|34815\n吕梁|0x0080|1288\n侣伴|0x100000|1008\n旅伴|0x100000|36330\n旅长|0x100000|911\n旅程|0x100000|16773\n旅次|0x100000|0\n旅大|0x0000|425\n旅店|0x100000|13902\n旅费|0x100000|32148\n旅馆|0x100000|5317\n旅居|0x1000|15741\n旅客|0x100000|2885\n旅美|0x1000|886\n旅人|0x100000|28477\n旅日|0x1000|422\n旅舍|0x100000|844\n旅社|0x100000|771\n旅鼠|0x0000|427\n旅顺|0x0080|1278\n旅途|0x100000|12469\n旅外|0x1000|1086\n旅行|0x100000|5362\n旅游|0x100000|1558\n旅资|0x100000|0\n铝箔|0x0008|33934\n铝锭|0x100000|941\n铝锅|0x100000|44749\n铝矿|0x100000|1028\n铝门|0x0040|396\n铝土|0x100000|991\n铝制|0x20000000|828\n屡次|0x8000000|12143\n屡屡|0x8000000|10397\n屡遭|0x1000|25426\n缕陈|0x1000|1540\n缕缕|0x20000|25270\n缕述|0x1000|49524\n缕析|0x1000|52837\n膂力|0x100000|36674\n履带|0x100000|37569\n履历|0x100000|21394\n履新|0x1000|43463\n履行|0x1000|2203\n履约|0x1000|18299\n律动|0x0000|26978\n律己|0x1000|35687\n律例|0x100000|50264\n律令|0x100000|37384\n律吕|0x100000|1119\n律师|0x100000|1982\n律诗|0x100000|34662\n律条|0x100000|0\n律政|0x100000|903\n律宗|0x100000|1071\n率部|0x1000|13927\n率队|0x1000|521\n率尔|0x8000000|0\n率谷|0x0008|0\n率领|0x1000|2460\n率然|0x8000000|1171\n率先|0x1000|3342\n率性|0x8000000|37777\n率真|0x40000000|28402\n率直|0x40000000|32679\n绿草|0x0080|561\n绿茶|0x100000|24777\n绿春|0x0080|1052\n绿带|0x0008|993\n绿党|0x0020|1061\n绿岛|0x0080|1243\n绿灯|0x100000|17901\n绿地|0x100000|7094\n绿豆|0x100000|21199\n绿矾|0x0008|1265\n绿肥|0x100000|26346\n绿化|0x1000|2960\n绿卡|0x100000|19278\n绿廊|0x100000|1185\n绿篱|0x100000|49168\n绿林|0x100000|25425\n绿绿|0x0100|969\n绿帽|0x100000|1272\n绿脓|0x0080|0\n绿区|0x0008|1077\n绿色|0x20000000|1454\n绿闪|0x0080|0\n绿树|0x100000|712\n绿水|0x100000|761\n绿苔|0x100000|1039\n绿野|0x100000|35385\n绿叶|0x100000|12608\n绿衣|0x100000|872\n绿意|0x100000|766\n绿阴|0x0000|52838\n绿茵|0x100000|713\n绿荫|0x100000|761\n绿营|0x100000|907\n绿藻|0x100000|42966\n绿洲|0x100000|9429\n绿竹|0x100000|907\n氯苯|0x0008|940\n氯仿|0x100000|874\n氯化|0x1000|714\n氯喹|0x100000|1184\n氯纶|0x100000|1227\n氯气|0x100000|21721\n氯酸|0x0008|0\n孪生|0x20000000|23078\n峦嶂|0x100000|0\n挛缩|0x1000|48417\n栾城|0x0080|976\n栾川|0x0080|1520\n鸾俦|0x100000|0\n鸾凤|0x100000|990\n滦河|0x0040|1052\n滦南|0x0080|1456\n滦平|0x0080|1006\n滦县|0x0040|1539\n滦洲|0x0040|0\n銮驾|0x100000|1122\n銮铃|0x100000|0\n銮舆|0x100000|1168\n卵白|0x100000|1233\n卵巢|0x100000|19589\n卵蛋|0x100000|401\n卵黄|0x100000|1122\n卵壳|0x100000|1182\n卵块|0x100000|1259\n卵裂|0x100000|0\n卵泡|0x0008|1020\n卵生|0x100000|45635\n卵石|0x100000|24709\n卵形|0x100000|1001\n卵翼|0x1000|55380\n卵子|0x100000|20660\n乱兵|0x100000|27945\n乱臣|0x100000|0\n乱刺|0x0000|394\n乱打|0x1000|858\n乱弹|0x100000|499\n乱党|0x0000|54869\n乱丢|0x0000|488\n乱动|0x1000|804\n乱堆|0x0000|418\n乱发|0x100000|729\n乱放|0x1000|864\n乱飞|0x1000|785\n乱搞|0x1000|43464\n乱乎|0x40000000|0\n乱花|0x0000|494\n乱画|0x0000|477\n乱交|0x1000|1020\n乱叫|0x1000|761\n乱砍|0x1000|914\n乱来|0x1000|31309\n乱离|0x1000|392\n乱流|0x100000|932\n乱伦|0x1000|48059\n乱麻|0x100000|29548\n乱码|0x100000|52839\n乱骂|0x0000|438\n乱民|0x100000|1080\n乱跑|0x1000|709\n乱扔|0x0000|524\n乱射|0x0000|459\n乱石|0x100000|839\n乱世|0x100000|18798\n乱数|0x0008|0\n乱说|0x1000|686\n乱套|0x1000|34817\n乱腾|0x40000000|1352\n乱涂|0x0000|477\n乱写|0x0000|493\n乱用|0x0000|515\n乱杂|0x40000000|1211\n乱真|0x1000|34818\n乱子|0x100000|19590\n掠夺|0x1000|10838\n掠过|0x1000|613\n掠美|0x1000|1176\n掠取|0x1000|37570\n掠视|0x1000|0\n掠影|0x100000|31062\n掠走|0x1000|984\n略表|0x100000|1027\n略长|0x40000000|437\n略称|0x100000|1119\n略大|0x40000000|468\n略带|0x1000|640\n略读|0x1000|1054\n略过|0x1000|811\n略加|0x8000000|489\n略略|0x8000000|13049\n略论|0x1000|864\n略去|0x1000|873\n略述|0x0000|420\n略图|0x100000|53339\n略微|0x8000000|15148\n略为|0x8000000|25906\n略小|0x0000|473\n略阳|0x0080|986\n略有|0x1000|642\n略语|0x100000|54379\n略知|0x0000|522\n略作|0x1000|904\n抡刀|0x1000|0\n伦巴|0x100000|876\n伦比|0x1000|840\n伦常|0x100000|47124\n伦次|0x100000|1117\n伦敦|0x0040|3785\n伦理|0x100000|6320\n伦琴|0x100000|1091\n沦落|0x1000|21678\n沦没|0x1000|0\n沦丧|0x1000|33791\n沦亡|0x1000|36675\n沦为|0x1000|647\n沦陷|0x1000|19526\n纶巾|0x100000|1092\n轮班|0x1000|32149\n轮唱|0x100000|1095\n轮齿|0x100000|1200\n轮虫|0x0000|371\n轮船|0x100000|8587\n轮次|0x100000|42739\n轮带|0x100000|1194\n轮到|0x0000|659\n轮渡|0x100000|23330\n轮对|0x0008|6\n轮番|0x1000|16633\n轮辐|0x100000|1110\n轮岗|0x1000|21631\n轮毂|0x100000|50648\n轮箍|0x100000|1191\n轮换|0x1000|15705\n轮回|0x1000|20173\n轮机|0x100000|29549\n轮架|0x100000|0\n轮奸|0x1000|32403\n轮距|0x100000|906\n轮空|0x1000|36171\n轮廓|0x100000|9201\n轮流|0x1000|7521\n轮牧|0x1000|29868\n轮盘|0x100000|50265\n轮圈|0x100000|924\n轮式|0x20000000|897\n轮胎|0x100000|9745\n轮台|0x0040|1538\n轮替|0x1000|990\n轮休|0x1000|34202\n轮训|0x1000|18436\n轮养|0x1000|0\n轮椅|0x100000|12000\n轮缘|0x100000|1177\n轮值|0x1000|12182\n轮种|0x1000|1319\n轮轴|0x100000|990\n轮转|0x1000|42254\n轮子|0x100000|15005\n轮作|0x1000|34510\n论辩|0x1000|40607\n论处|0x1000|27056\n论丛|0x100000|814\n论道|0x1000|36498\n论敌|0x100000|54870\n论点|0x100000|16580\n论调|0x100000|16599\n论断|0x100000|7565\n论衡|0x0008|981\n论及|0x1000|22499\n论集|0x100000|901\n论价|0x1000|40836\n论剑|0x1000|724\n论交|0x1000|1071\n论据|0x100000|25203\n论理|0x100000|26207\n论列|0x1000|1148\n论难|0x1000|0\n论述|0x100000|3676\n论说|0x1000|33143\n论坛|0x100000|2574\n论题|0x100000|28112\n论文|0x100000|3228\n论语|0x0008|1022\n论战|0x100000|21359\n论者|0x100000|819\n论争|0x1000|25770\n论证|0x1000|3989\n论著|0x100000|14906\n论罪|0x1000|36840\n罗丹|0x0080|1384\n罗甸|0x0080|1054\n罗定|0x0040|1451\n罗缎|0x0008|1154\n罗锅|0x100000|19960\n罗汉|0x100000|24897\n罗江|0x0080|1536\n罗经|0x100000|1072\n罗拉|0x0080|1294\n罗兰|0x0080|1187\n罗勒|0x0080|974\n罗列|0x1000|22636\n罗罗|0x0008|1402\n罗马|0x0040|5503\n罗盘|0x4000000|9921\n罗平|0x0080|1355\n罗圈|0x100000|978\n罗裙|0x100000|943\n罗刹|0x100000|852\n罗山|0x0080|1397\n罗斯|0x0080|1221\n罗素|0x0080|1307\n罗唆|0x0080|1405\n罗嗦|0x0080|638\n罗索|0x0080|1488\n罗田|0x0080|1470\n罗网|0x100000|26549\n罗纹|0x100000|887\n罗伊|0x0080|1354\n罗源|0x0080|1507\n罗织|0x1000|36172\n罗致|0x1000|47421\n罗兹|0x0080|1059\n啰唆|0x40000000|55763\n啰嗦|0x40000000|55763\n萝北|0x0080|1017\n萝卜|0x100000|8704\n逻辑|0x100000|3978\n锣鼓|0x100000|10479\n锣声|0x100000|1034\n箩筐|0x100000|24450\n骡马|0x100000|18588\n骡子|0x100000|13824\n螺钉|0x100000|41508\n螺杆|0x100000|742\n螺号|0x100000|55764\n螺髻|0x100000|1062\n螺距|0x100000|1111\n螺帽|0x0008|834\n螺母|0x100000|53850\n螺栓|0x100000|36499\n螺丝|0x100000|24710\n螺蛳|0x100000|34347\n螺纹|0x100000|35386\n螺线|0x100000|1147\n螺旋|0x100000|15286\n裸奔|0x1000|683\n裸机|0x100000|1006\n裸露|0x1000|11437\n裸麦|0x100000|1204\n裸袒|0x1000|1354\n裸体|0x1000|15432\n裸线|0x100000|1159\n裸眼|0x0000|53851\n裸泳|0x1000|728\n裸照|0x0008|684\n瘰疬|0x100000|53340\n洛城|0x100000|494\n洛川|0x0040|1534\n洛蒂|0x100000|413\n洛夫|0x0080|1400\n洛基|0x0080|977\n洛克|0x0080|1219\n洛林|0x0080|1038\n洛隆|0x0040|1164\n洛美|0x0040|1020\n洛南|0x0040|1520\n洛宁|0x0080|1533\n洛浦|0x0040|991\n洛桑|0x0080|1291\n洛神|0x0008|1256\n洛阳|0x0040|874\n洛伊|0x0080|1520\n洛扎|0x0080|1146\n络合|0x0000|439\n络脉|0x100000|0\n络绎|0x1000|14557\n络子|0x100000|52816\n荦荦|0x0100|1155\n骆谷|0x0040|0\n骆马|0x0008|398\n骆驼|0x100000|7510\n珞巴|0x0008|1182\n落败|0x1000|741\n落榜|0x1000|22835\n落笔|0x1000|25908\n落膘|0x1000|0\n落泊|0x40000000|972\n落草|0x1000|41285\n落差|0x100000|18846\n落潮|0x1000|39547\n落尘|0x0008|0\n落成|0x1000|9196\n落槌|0x0000|52841\n落锤|0x0008|394\n落单|0x0008|528\n落到|0x1000|600\n落得|0x1000|25356\n落地|0x1000|7937\n落第|0x1000|46828\n落点|0x100000|51905\n落发|0x1000|52345\n落果|0x1000|1093\n落后|0x40000000|1647\n落户|0x1000|6735\n落花|0x0008|23493\n落荒|0x1000|1031\n落籍|0x1000|1146\n落价|0x1000|55381\n落脚|0x1000|18153\n落空|0x1000|15928\n落款|0x100000|25427\n落泪|0x1000|12666\n落马|0x1000|16854\n落寞|0x40000000|29226\n落墨|0x1000|52843\n落幕|0x1000|10851\n落难|0x1000|27217\n落聘|0x1000|39548\n落魄|0x40000000|40409\n落日|0x100000|16077\n落入|0x1000|628\n落山|0x1000|35848\n落实|0x1000|1342\n落市|0x1000|55997\n落水|0x1000|14298\n落俗|0x1000|1030\n落锁|0x1000|55765\n落套|0x1000|1222\n落体|0x100000|852\n落拓|0x40000000|47762\n落网|0x1000|19092\n落伍|0x1000|15265\n落霞|0x100000|49527\n落下|0x1000|515\n落选|0x1000|16455\n落叶|0x100000|11231\n落音|0x1000|0\n落英|0x100000|48060\n落在|0x0000|764\n落帐|0x1000|0\n落照|0x100000|400\n落枕|0x1000|52817\n落子|0x100000|900\n落座|0x1000|17507\n漯河|0x0040|1130\n妈妈|0x100000|1010\n妈咪|0x100000|622\n妈祖|0x0080|23079\n嬷嬷|0x100000|909\n麻包|0x100000|39125\n麻痹|0x1000|13749\n麻布|0x100000|32651\n麻城|0x0040|1410\n麻袋|0x100000|15877\n麻刀|0x100000|53853\n麻点|0x100000|1065\n麻烦|0x40000000|3044\n麻纺|0x100000|51481\n麻风|0x100000|25982\n麻杆|0x0080|0\n麻宫|0x0040|0\n麻花|0x100000|28648\n麻黄|0x100000|29869\n麻江|0x0080|1053\n麻将|0x100000|9658\n麻酱|0x100000|49528\n麻秸|0x100000|0\n麻辣|0x40000000|35387\n麻类|0x100000|884\n麻利|0x40000000|20819\n麻脸|0x100000|29338\n麻麻|0x0008|532\n麻木|0x40000000|8995\n麻雀|0x100000|9882\n麻纱|0x100000|43708\n麻绳|0x100000|18511\n麻省|0x0040|1245\n麻石|0x0080|1049\n麻糖|0x100000|42967\n麻线|0x100000|41286\n麻药|0x100000|39550\n麻衣|0x100000|786\n麻油|0x100000|31310\n麻渣|0x100000|0\n麻疹|0x100000|27468\n麻织|0x100000|0\n麻州|0x0080|4\n麻子|0x100000|10467\n麻醉|0x1000|12214\n马鞍|0x4000000|26134\n马帮|0x100000|38308\n马宝|0x0080|1173\n马背|0x100000|788\n马鞭|0x100000|29653\n马弁|0x100000|55382\n马表|0x100000|1126\n马兵|0x100000|1145\n马勃|0x100000|1182\n马步|0x100000|44752\n马槽|0x100000|51907\n马车|0x100000|8535\n马刺|0x100000|31182\n马达|0x100000|18923\n马刀|0x100000|35245\n马道|0x100000|941\n马灯|0x100000|26263\n马镫|0x0000|37932\n马丁|0x0080|1117\n马队|0x100000|17356\n马儿|0x100000|790\n马房|0x100000|1023\n马粪|0x0080|43709\n马蜂|0x100000|34511\n马夫|0x100000|22739\n马公|0x0040|1507\n马褂|0x100000|18003\n马关|0x0040|1450\n马倌|0x100000|1182\n马汉|0x0080|1079\n马号|0x100000|28113\n马赫|0x0080|1440\n马虎|0x40000000|13216\n马甲|0x100000|32540\n马脚|0x100000|27789\n马厩|0x100000|34973\n马驹|0x100000|10805\n马具|0x100000|1013\n马可|0x0080|1336\n马克|0x100000|674\n马裤|0x100000|41987\n马夸|0x0040|0\n马快|0x100000|427\n马拉|0x0080|550\n马来|0x0080|1155\n马兰|0x100000|20868\n马蓝|0x0080|1269\n马勒|0x0080|1502\n马累|0x0008|1098\n马里|0x0040|1347\n马力|0x100000|18722\n马利|0x0080|1478\n马莲|0x100000|958\n马脸|0x0000|456\n马良|0x0080|987\n马列|0x0008|16153\n马蔺|0x0040|1206\n马龙|0x0080|1298\n马鹿|0x100000|36841\n马路|0x100000|3507\n马骡|0x100000|1241\n马年|0x100000|1014\n马尿|0x100000|1066\n马趴|0x100000|0\n马棚|0x100000|29762\n马皮|0x0040|1093\n马匹|0x100000|17422\n马屁|0x100000|706\n马枪|0x0008|50649\n马球|0x100000|47763\n马圈|0x0000|47127\n马群|0x100000|25490\n马肉|0x0000|435\n马赛|0x0040|1262\n马山|0x0080|1366\n马上|0x8000000|1273\n马勺|0x100000|1114\n马市|0x100000|983\n马首|0x100000|1060\n马术|0x100000|23760\n马斯|0x0080|1475\n马嘶|0x100000|931\n马太|0x0080|1328\n马蹄|0x100000|17451\n马童|0x0080|1202\n马桶|0x100000|18589\n马头|0x100000|813\n马尾|0x100000|1158\n马文|0x0080|994\n马戏|0x100000|24646\n马靴|0x100000|37386\n马蝇|0x0080|1162\n马贼|0x100000|939\n马扎|0x100000|35388\n马掌|0x100000|42492\n马仔|0x100000|923\n马子|0x100000|805\n马鬃|0x100000|1034\n马祖|0x0080|1402\n玛多|0x0080|1034\n玛丽|0x0080|1109\n玛瑙|0x100000|18995\n玛沁|0x0080|1104\n玛曲|0x0080|1027\n玛莎|0x0080|1414\n玛雅|0x0008|1141\n码表|0x100000|921\n码垛|0x1000|1060\n码放|0x1000|42968\n码头|0x100000|4170\n码子|0x100000|37201\n码字|0x100000|815\n蚂蜂|0x100000|1307\n蚂蝗|0x0080|433\n蚂蟥|0x100000|40608\n蚂螂|0x100000|0\n蚂蚁|0x100000|8836\n蚂蚱|0x100000|30732\n骂架|0x1000|55936\n骂街|0x1000|32271\n骂骂|0x0000|459\n骂名|0x100000|36842\n骂娘|0x1000|30191\n骂人|0x1000|605\n骂声|0x100000|757\n骂阵|0x1000|0\n唛头|0x0000|404\n吗啡|0x100000|25428\n埋藏|0x1000|14242\n埋单|0x0000|28935\n埋伏|0x100000|10937\n埋没|0x1000|18695\n埋名|0x1000|48794\n埋入|0x1000|839\n埋设|0x1000|28852\n埋首|0x1000|868\n埋汰|0x40000000|941\n埋头|0x8000000|10071\n埋怨|0x1000|7960\n埋葬|0x1000|12978\n买办|0x100000|20406\n买春|0x1000|980\n买单|0x100000|27946\n买点|0x100000|672\n买断|0x1000|22168\n买方|0x100000|14526\n买房|0x1000|560\n买光|0x0008|0\n买好|0x1000|45041\n买回|0x0000|574\n买家|0x100000|503\n买价|0x100000|54382\n买进|0x1000|21857\n买来|0x1000|632\n买卖|0x100000|4795\n买票|0x0008|665\n买气|0x100000|995\n买入|0x1000|688\n买手|0x0008|0\n买通|0x1000|29550\n买下|0x1000|630\n买帐|0x0000|404\n买账|0x0000|42493\n买主|0x100000|15397\n买醉|0x1000|55937\n迈步|0x1000|19252\n迈出|0x1000|642\n迈进|0x1000|6653\n迈开|0x1000|783\n迈克|0x0080|1189\n迈入|0x1000|740\n迈上|0x1000|507\n迈拓|0x0008|563\n迈向|0x1000|658\n麦草|0x100000|30074\n麦茬|0x100000|1150\n麦道|0x0008|1515\n麦冬|0x100000|43465\n麦垛|0x100000|39551\n麦蛾|0x0080|1371\n麦粉|0x100000|1061\n麦麸|0x100000|45941\n麦杆|0x0080|0\n麦秆|0x100000|1056\n麦根|0x0080|1119\n麦季|0x4000|1375\n麦加|0x0080|1434\n麦角|0x100000|1080\n麦秸|0x100000|19195\n麦精|0x0080|1182\n麦酒|0x100000|55770\n麦糠|0x100000|52346\n麦可|0x0080|1434\n麦克|0x0080|1083\n麦客|0x0000|48420\n麦浪|0x100000|36677\n麦粒|0x100000|37740\n麦芒|0x100000|43230\n麦苗|0x100000|22740\n麦片|0x100000|35849\n麦秋|0x4000|52844\n麦收|0x1000|20514\n麦穗|0x100000|21858\n麦田|0x100000|673\n麦芽|0x100000|43231\n麦蚜|0x0080|1264\n麦种|0x100000|1125\n麦粥|0x0080|0\n麦子|0x100000|6824\n卖场|0x0000|28385\n卖唱|0x1000|30836\n卖出|0x1000|619\n卖春|0x1000|1014\n卖呆|0x1000|1128\n卖点|0x100000|34974\n卖掉|0x1000|650\n卖方|0x100000|20316\n卖给|0x1000|662\n卖乖|0x1000|36014\n卖光|0x0000|482\n卖国|0x1000|17846\n卖好|0x1000|46242\n卖价|0x100000|37202\n卖劲|0x40000000|46829\n卖空|0x1000|978\n卖老|0x1000|34512\n卖力|0x40000000|19892\n卖卖|0x1000|436\n卖命|0x1000|24778\n卖弄|0x1000|19527\n卖票|0x1000|853\n卖钱|0x0000|23875\n卖俏|0x1000|48421\n卖身|0x1000|28853\n卖完|0x0000|539\n卖相|0x100000|847\n卖笑|0x1000|42740\n卖压|0x0008|0\n卖艺|0x1000|23596\n卖淫|0x1000|15251\n卖友|0x1000|982\n卖主|0x100000|26466\n卖嘴|0x1000|54383\n卖座|0x40000000|43466\n脉案|0x100000|53857\n脉搏|0x100000|10184\n脉膊|0x100000|1088\n脉冲|0x100000|17390\n脉动|0x1000|31311\n脉管|0x100000|751\n脉经|0x100000|1\n脉理|0x100000|0\n脉络|0x100000|10113\n脉脉|0x1000|34822\n脉门|0x100000|1023\n脉石|0x4000000|0\n脉息|0x100000|50650\n脉象|0x100000|47765\n脉压|0x100000|1158\n脉岩|0x100000|0\n颟顸|0x40000000|47766\n蛮缠|0x1000|40609\n蛮干|0x1000|26135\n蛮好|0x40000000|573\n蛮横|0x40000000|20054\n蛮荒|0x40000000|33792\n蛮劲|0x100000|47767\n蛮夷|0x100000|950\n蛮子|0x100000|36843\n蛮族|0x0000|512\n馒首|0x100000|1283\n馒头|0x100000|8239\n瞒报|0x1000|21441\n瞒产|0x0000|53858\n瞒过|0x0000|521\n瞒哄|0x1000|50269\n瞒骗|0x1000|25645\n瞒着|0x0000|592\n鳗鲡|0x100000|55384\n鳗鱼|0x100000|33017\n满布|0x1000|849\n满仓|0x1000|875\n满场|0x1000|815\n满潮|0x0008|1187\n满城|0x0040|938\n满出|0x0008|1101\n满处|0x8000000|45043\n满地|0x8000000|615\n满点|0x1000|905\n满额|0x1000|48422\n满分|0x100000|24779\n满腹|0x8000|18091\n满贯|0x100000|26208\n满怀|0x1000|8346\n满口|0x100000|24711\n满垒|0x0008|1167\n满脸|0x1000|559\n满满|0x0100|555\n满门|0x100000|38514\n满面|0x100000|15230\n满目|0x1000|16535\n满拧|0x1000|0\n满盘|0x1000|1019\n满期|0x1000|47129\n满腔|0x1000|14025\n满勤|0x1000|54874\n满清|0x4000|718\n满人|0x100000|897\n满身|0x1000|11534\n满师|0x1000|54384\n满手|0x0008|1368\n满堂|0x100000|6285\n满天|0x1000|571\n满头|0x1000|657\n满文|0x0008|37571\n满屋|0x0000|610\n满心|0x8000000|16950\n满眼|0x1000|15433\n满意|0x40000000|1088\n满员|0x1000|38720\n满园|0x1000|1275\n满月|0x100000|17263\n满载|0x1000|13811\n满州|0x40000000|430\n满洲|0x0040|1259\n满足|0x1000|882\n满族|0x0008|10952\n满嘴|0x8000000|740\n满座|0x1000|29763\n螨虫|0x0000|54385\n曼辞|0x1000|0\n曼谷|0x0040|6295\n曼丽|0x0000|20575\n曼联|0x0008|949\n曼妙|0x40000000|41988\n曼声|0x1000|41744\n曼舞|0x0000|41989\n曼延|0x1000|1021\n谩骂|0x1000|21395\n幔帐|0x100000|47130\n幔子|0x100000|45044\n慢板|0x100000|921\n慢步|0x100000|894\n慢车|0x100000|42494\n慢待|0x1000|41054\n慢点|0x0000|555\n慢工|0x100000|993\n慢化|0x1000|7\n慢火|0x100000|53859\n慢件|0x100000|1117\n慢慢|0x8000000|2121\n慢跑|0x1000|759\n慢坡|0x100000|44465\n慢说|0x0000|46830\n慢速|0x0008|1285\n慢性|0x20000000|10034\n慢走|0x1000|32782\n漫笔|0x100000|17305\n漫步|0x1000|9953\n漫长|0x40000000|5476\n漫道|0x8000000|44754\n漫灌|0x100000|34975\n漫画|0x100000|6484\n漫话|0x1000|48796\n漫卷|0x1000|40411\n漫流|0x100000|48423\n漫骂|0x1000|786\n漫漫|0x0100|13253\n漫射|0x0080|416\n漫说|0x1000|46830\n漫谈|0x1000|31875\n漫天|0x1000|15632\n漫延|0x1000|853\n漫溢|0x1000|40174\n漫游|0x1000|14558\n蔓草|0x100000|947\n蔓儿|0x0000|50364\n蔓生|0x1000|51484\n蔓延|0x1000|5089\n蔓衍|0x1000|0\n镘刀|0x0008|1346\n忙乎|0x40000000|26826\n忙活|0x100000|18535\n忙碌|0x40000000|6378\n忙乱|0x40000000|16951\n忙人|0x100000|34513\n忙音|0x100000|43467\n忙于|0x1000|10997\n忙月|0x100000|0\n忙着|0x0000|702\n芒草|0x100000|55385\n芒刺|0x100000|38515\n芒果|0x100000|695\n芒康|0x0080|1059\n芒硝|0x100000|55386\n芒种|0x4000|42743\n盲肠|0x100000|34820\n盲从|0x1000|23178\n盲打|0x0000|55969\n盲道|0x0000|27790\n盲点|0x100000|28741\n盲动|0x1000|36678\n盲谷|0x100000|0\n盲流|0x100000|912\n盲目|0x40000000|3864\n盲女|0x100000|946\n盲棋|0x100000|49529\n盲区|0x100000|23543\n盲人|0x100000|10702\n盲生|0x100000|0\n盲童|0x100000|34821\n盲文|0x100000|31183\n盲者|0x100000|1079\n盲字|0x100000|1355\n茫茫|0x0100|7827\n茫昧|0x1000|0\n茫然|0x40000000|8183\n硭硝|0x100000|1363\n莽苍|0x40000000|1098\n莽草|0x100000|1215\n莽夫|0x100000|940\n莽汉|0x100000|39552\n莽莽|0x0100|24176\n莽原|0x100000|25491\n莽撞|0x40000000|29339\n蟒袍|0x100000|47423\n蟒蛇|0x100000|31312\n猫步|0x0000|50652\n猫叫|0x0000|455\n猫科|0x100000|935\n猫咪|0x100000|630\n猫腻|0x100000|767\n猫肉|0x100000|0\n猫王|0x0008|1301\n猫熊|0x100000|1007\n猫眼|0x100000|41745\n猫腰|0x1000|1049\n猫鱼|0x100000|1022\n毛笔|0x100000|15398\n毛边|0x100000|42255\n毛病|0x100000|4575\n毛布|0x100000|54386\n毛糙|0x40000000|49530\n毛茶|0x100000|1085\n毛虫|0x100000|37572\n毛刺|0x100000|45332\n毛豆|0x100000|24577\n毛额|0x100000|1156\n毛发|0x100000|20820\n毛纺|0x100000|27627\n毛峰|0x100000|1022\n毛葛|0x0000|54387\n毛茛|0x100000|1114\n毛估|0x1000|1157\n毛果|0x0080|0\n毛孩|0x100000|943\n毛蚶|0x0000|51485\n毛活|0x0000|54388\n毛货|0x100000|1393\n毛尖|0x100000|45944\n毛巾|0x100000|8036\n毛孔|0x100000|24963\n毛裤|0x100000|40175\n毛拉|0x100000|1107\n毛蓝|0x100000|53342\n毛莨|0x0080|0\n毛利|0x100000|25909\n毛料|0x100000|33018\n毛驴|0x100000|13720\n毛毛|0x0000|636\n毛霉|0x0080|0\n毛姆|0x0080|983\n毛囊|0x100000|45045\n毛呢|0x100000|50653\n毛坯|0x100000|35390\n毛皮|0x100000|27791\n毛片|0x100000|53861\n毛票|0x100000|42256\n毛渠|0x100000|0\n毛绒|0x100000|581\n毛色|0x100000|844\n毛衫|0x0000|48062\n毛石|0x100000|1147\n毛刷|0x100000|822\n毛笋|0x0080|1192\n毛毯|0x100000|21200\n毛桃|0x100000|1053\n毛条|0x0008|894\n毛头|0x20000000|817\n毛袜|0x0080|1133\n毛线|0x100000|19459\n毛蟹|0x0080|0\n毛样|0x100000|1317\n毛衣|0x100000|12119\n毛蚴|0x100000|0\n毛羽|0x100000|1050\n毛躁|0x40000000|46515\n毛贼|0x0000|49531\n毛毡|0x100000|41288\n毛织|0x20000000|884\n毛重|0x100000|55387\n毛猪|0x100000|1084\n毛竹|0x100000|23179\n毛装|0x100000|1326\n毛子|0x100000|927\n矛盾|0x100000|702\n矛尖|0x0000|407\n矛头|0x100000|19961\n牦牛|0x100000|16774\n茅草|0x100000|16973\n茅厕|0x100000|938\n茅房|0x100000|29970\n茅坑|0x100000|30524\n茅庐|0x100000|43233\n茅莓|0x100000|1383\n茅棚|0x100000|37741\n茅山|0x100000|1277\n茅舍|0x100000|32905\n茅台|0x0008|773\n茅亭|0x100000|1186\n茅屋|0x100000|16108\n锚泊|0x1000|53343\n锚地|0x100000|43934\n锚定|0x20000000|0\n锚固|0x100000|53344\n锚机|0x100000|1186\n锚雷|0x100000|0\n锚链|0x100000|48424\n锚位|0x100000|1381\n蟊贼|0x100000|1009\n卯时|0x4000|435\n卯榫|0x100000|55885\n卯眼|0x100000|1539\n铆钉|0x100000|43711\n铆工|0x100000|51070\n铆焊|0x0000|54389\n铆接|0x1000|54390\n茂密|0x40000000|14576\n茂名|0x0040|1077\n茂年|0x100000|1539\n茂盛|0x40000000|15108\n茂县|0x0040|993\n冒充|0x1000|12743\n冒出|0x0000|703\n冒顶|0x1000|1034\n冒渎|0x1000|1181\n冒犯|0x1000|23331\n冒功|0x1000|0\n冒汗|0x1000|25205\n冒号|0x100000|49879\n冒火|0x1000|24512\n冒尖|0x1000|30417\n冒进|0x1000|32542\n冒口|0x100000|1192\n冒领|0x1000|24177\n冒昧|0x40000000|18847\n冒名|0x1000|39330\n冒牌|0x100000|29227\n冒泡|0x1000|46831\n冒起|0x0000|533\n冒升|0x0008|1226\n冒失|0x40000000|17788\n冒死|0x0000|43234\n冒头|0x1000|42969\n冒险|0x1000|7538\n冒烟|0x1000|16737\n冒用|0x1000|28201\n冒雨|0x1000|760\n冒着|0x1000|669\n贸然|0x0100|17452\n贸易|0x100000|1557\n耄耋|0x100000|917\n帽带|0x100000|1113\n帽顶|0x100000|1162\n帽徽|0x100000|40176\n帽盔|0x0000|49532\n帽舌|0x100000|1275\n帽檐|0x100000|34977\n帽章|0x0008|1537\n帽子|0x100000|4469\n貌似|0x1000|18400\n貌相|0x100000|51071\n没齿|0x8000000|0\n没错|0x1000|10057\n没底|0x1000|30838\n没顶|0x1000|987\n没法|0x1000|730\n没劲|0x40000000|16468\n没救|0x1000|760\n没空|0x1000|679\n没脸|0x40000000|21072\n没落|0x1000|14301\n没门|0x1000|835\n没命|0x1000|22416\n没谱|0x1000|882\n没钱|0x0000|709\n没趣|0x40000000|24243\n没人|0x0000|818\n没入|0x1000|807\n没臊|0x0000|54391\n没世|0x100000|51081\n没事|0x1000|5898\n没收|0x1000|5451\n没完|0x1000|14736\n没味|0x40000000|0\n没戏|0x1000|29870\n没羞|0x40000000|48425\n没药|0x100000|916\n没用|0x40000000|8344\n没有|0x1000|34\n没缘|0x1000|52845\n没辙|0x1000|29340\n没治|0x1000|38721\n没准|0x1000|707\n枚举|0x1000|24379\n玫瑰|0x100000|7076\n眉笔|0x100000|48063\n眉黛|0x100000|1050\n眉端|0x100000|0\n眉峰|0x100000|41991\n眉睫|0x100000|45945\n眉毛|0x100000|7379\n眉目|0x100000|17044\n眉批|0x100000|45946\n眉山|0x0040|1254\n眉梢|0x100000|27130\n眉头|0x100000|6979\n眉县|0x0040|983\n眉心|0x100000|31877\n眉形|0x0000|412\n眉眼|0x100000|17749\n眉宇|0x100000|23876\n眉月|0x100000|0\n梅村|0x0040|1512\n梅毒|0x100000|24578\n梅红|0x0080|1059\n梅花|0x100000|9578\n梅林|0x0080|1234\n梅树|0x100000|997\n梅斯|0x0080|1469\n梅县|0x0040|1421\n梅雨|0x100000|21810\n梅园|0x0080|1307\n梅州|0x0040|1131\n梅子|0x100000|32652\n媒合|0x0008|0\n媒介|0x100000|8192\n媒婆|0x100000|32273\n媒人|0x100000|19118\n媒妁|0x100000|44755\n媒体|0x100000|1992\n媒质|0x100000|1058\n湄潭|0x0080|1028\n煤饼|0x0000|50654\n煤仓|0x100000|0\n煤层|0x100000|23234\n煤厂|0x100000|875\n煤场|0x100000|1001\n煤车|0x100000|1070\n煤尘|0x100000|33415\n煤店|0x0040|1\n煤毒|0x100000|1541\n煤耗|0x100000|40177\n煤黑|0x100000|0\n煤灰|0x100000|34514\n煤火|0x100000|42258\n煤焦|0x100000|869\n煤井|0x100000|1121\n煤坑|0x100000|1163\n煤矿|0x100000|3001\n煤炉|0x100000|30839\n煤末|0x0000|55773\n煤气|0x100000|9504\n煤球|0x100000|26406\n煤炭|0x100000|3245\n煤碳|0x0008|1386\n煤田|0x100000|23706\n煤系|0x100000|0\n煤屑|0x100000|42745\n煤烟|0x100000|26626\n煤窑|0x100000|15837\n煤业|0x100000|795\n煤油|0x100000|19816\n煤渣|0x100000|30951\n煤质|0x100000|935\n煤砖|0x100000|1314\n霉斑|0x0000|49173\n霉变|0x1000|32543\n霉菌|0x100000|28202\n霉烂|0x1000|30840\n霉气|0x100000|44181\n霉素|0x100000|817\n霉天|0x4000|54392\n霉头|0x100000|0\n霉味|0x100000|896\n霉雨|0x100000|54878\n霉运|0x0000|501\n每班|0x10000|893\n每部|0x10000|824\n每常|0x8000000|0\n每场|0x10000|724\n每次|0x10000|495\n每当|0x40000|5086\n每栋|0x10000|973\n每队|0x10000|930\n每份|0x10000|806\n每逢|0x1000|6331\n每隔|0x0000|651\n每个|0x10000|493\n每股|0x10000|701\n每罐|0x10000|1149\n每户|0x10000|781\n每季|0x10000|884\n每家|0x10000|731\n每间|0x10000|832\n每局|0x10000|988\n每每|0x8000000|9892\n每秒|0x10000|684\n每亩|0x10000|871\n每年|0x10000|495\n每篇|0x10000|783\n每瓶|0x10000|900\n每期|0x10000|758\n每区|0x10000|0\n每人|0x10000|551\n每日|0x10000|487\n每套|0x10000|807\n每天|0x10000|488\n每桶|0x10000|839\n每晚|0x10000|626\n每位|0x10000|625\n每行|0x10000|850\n每夜|0x0000|522\n每一|0x400000|791\n每月|0x10000|500\n每张|0x10000|707\n每章|0x10000|833\n每支|0x10000|866\n每种|0x10000|695\n每周|0x10000|513\n美编|0x100000|894\n美餐|0x100000|37387\n美差|0x100000|38122\n美钞|0x100000|958\n美称|0x100000|19224\n美丑|0x100000|800\n美达|0x0008|1275\n美德|0x100000|7032\n美东|0x0008|1525\n美发|0x1000|23235\n美方|0x100000|803\n美分|0x100000|800\n美孚|0x0008|1406\n美感|0x100000|10339\n美格|0x0008|1285\n美工|0x100000|36679\n美姑|0x0080|1109\n美观|0x40000000|11650\n美国|0x0040|213\n美好|0x40000000|1836\n美化|0x1000|6460\n美籍|0x100000|807\n美金|0x100000|16078\n美景|0x100000|11961\n美酒|0x100000|17826\n美军|0x100000|586\n美丽|0x40000000|1354\n美玲|0x0080|1258\n美仑|0x0008|1342\n美满|0x40000000|14390\n美貌|0x100000|15890\n美眉|0x0008|509\n美美|0x8000000|616\n美梦|0x100000|19856\n美妙|0x40000000|7952\n美名|0x100000|21073\n美目|0x0080|572\n美男|0x100000|723\n美女|0x100000|10901\n美人|0x100000|24244\n美日|0x0080|1235\n美容|0x1000|10107\n美色|0x100000|27469\n美商|0x100000|833\n美声|0x100000|34204\n美食|0x100000|15094\n美式|0x20000000|688\n美事|0x100000|38925\n美术|0x100000|3087\n美苏|0x100000|481\n美谈|0x100000|32906\n美味|0x100000|13670\n美文|0x100000|640\n美学|0x100000|5397\n美言|0x100000|40611\n美颜|0x100000|753\n美艳|0x40000000|33657\n美意|0x100000|35248\n美语|0x0080|1262\n美玉|0x100000|36680\n美育|0x100000|15360\n美誉|0x100000|13451\n美元|0x100000|1248\n美院|0x100000|580\n美展|0x100000|926\n美制|0x100000|922\n美质|0x0000|389\n美洲|0x0040|7487\n镁粉|0x0008|383\n镁光|0x100000|866\n镁砂|0x100000|1027\n镁砖|0x100000|1188\n妹夫|0x100000|22467\n妹妹|0x100000|3319\n妹婿|0x100000|51909\n妹子|0x100000|7541\n昧心|0x1000|39553\n媚骨|0x100000|51488\n媚惑|0x1000|788\n媚气|0x0000|49882\n媚人|0x40000000|427\n媚世|0x1000|0\n媚俗|0x1000|23812\n媚态|0x100000|41057\n媚外|0x1000|38123\n媚笑|0x100000|38516\n媚眼|0x100000|29655\n魅惑|0x0008|48065\n魅力|0x100000|3367\n魅人|0x0000|52351\n门巴|0x100000|1048\n门把|0x100000|897\n门板|0x100000|16716\n门匾|0x100000|52352\n门钹|0x100000|0\n门齿|0x100000|1112\n门窗|0x100000|11696\n门道|0x100000|21074\n门灯|0x0000|44757\n门第|0x100000|27947\n门吊|0x100000|1166\n门丁|0x100000|1142\n门钉|0x100000|51910\n门洞|0x100000|19167\n门斗|0x100000|53345\n门墩|0x100000|49883\n门额|0x100000|52849\n门阀|0x100000|38722\n门法|0x100000|0\n门房|0x100000|13308\n门扉|0x100000|44758\n门风|0x100000|41058\n门缝|0x100000|14963\n门岗|0x100000|48066\n门馆|0x100000|0\n门号|0x100000|985\n门户|0x100000|9667\n门环|0x100000|36681\n门槛|0x100000|6188\n门将|0x100000|18301\n门禁|0x100000|45047\n门警|0x100000|49533\n门径|0x100000|37028\n门镜|0x0000|50272\n门坎|0x100000|862\n门客|0x100000|935\n门控|0x0008|1456\n门口|0x100000|1995\n门框|0x100000|15633\n门廊|0x100000|39748\n门类|0x100000|9300\n门帘|0x100000|15929\n门联|0x100000|44467\n门脸|0x100000|880\n门铃|0x100000|19429\n门楼|0x100000|15795\n门路|0x100000|9301\n门罗|0x0080|1042\n门楣|0x100000|26980\n门门|0x20000|602\n门面|0x100000|13237\n门牌|0x100000|23080\n门派|0x0008|52353\n门票|0x100000|6805\n门前|0x8000|533\n门墙|0x100000|1023\n门球|0x100000|25711\n门人|0x100000|34665\n门扇|0x100000|999\n门上|0x8000|688\n门神|0x100000|30076\n门生|0x100000|26981\n门市|0x100000|32404\n门首|0x100000|1047\n门闩|0x100000|26137\n门锁|0x100000|20701\n门厅|0x100000|29872\n门庭|0x100000|29036\n门徒|0x100000|28033\n门卫|0x100000|20205\n门下|0x100000|15266\n门限|0x100000|1043\n门牙|0x100000|22741\n门诊|0x100000|7421\n门柱|0x100000|816\n门子|0x0000|20407\n扪心|0x1000|1060\n扪诊|0x0080|0\n闷棍|0x100000|37933\n闷酒|0x100000|42970\n闷倦|0x40000000|1384\n闷雷|0x100000|41059\n闷气|0x100000|55998\n闷热|0x40000000|16426\n闷烧|0x0000|389\n闷声|0x8000000|900\n闷死|0x0000|498\n闷头|0x8000000|849\n闷坐|0x0000|36016\n虻虫|0x0008|0\n萌动|0x1000|27218\n萌发|0x1000|12964\n萌蘖|0x1000|1216\n萌生|0x1000|18658\n萌芽|0x100000|9905\n盟邦|0x100000|1142\n盟国|0x100000|12324\n盟军|0x100000|21762\n盟旗|0x100000|1243\n盟誓|0x100000|37934\n盟书|0x100000|53347\n盟友|0x100000|14577\n盟员|0x100000|36844\n盟约|0x100000|37204\n盟主|0x100000|27629\n濛濛|0x0100|0\n朦胧|0x40000000|7358\n礞石|0x0008|0\n艨艟|0x100000|1154\n勐海|0x0080|1520\n猛吃|0x0000|463\n猛冲|0x1000|893\n猛打|0x1000|809\n猛地|0x8000000|654\n猛跌|0x1000|973\n猛攻|0x1000|17979\n猛虎|0x100000|14124\n猛击|0x1000|888\n猛将|0x100000|29441\n猛进|0x1000|14543\n猛可|0x8000000|1177\n猛拉|0x0008|1030\n猛力|0x0000|26908\n猛烈|0x40000000|7597\n猛犸|0x100000|936\n猛男|0x100000|53348\n猛扑|0x1000|864\n猛禽|0x100000|41992\n猛犬|0x0000|425\n猛然|0x8000000|7162\n猛省|0x1000|0\n猛士|0x100000|41060\n猛兽|0x100000|22945\n猛推|0x0008|1034\n猛醒|0x1000|31646\n猛咬|0x0000|381\n猛增|0x1000|12767\n猛涨|0x1000|857\n猛撞|0x100000|990\n猛追|0x1000|923\n猛子|0x0000|34978\n蒙蔽|0x1000|18723\n蒙尘|0x1000|40613\n蒙城|0x0040|1374\n蒙恩|0x0080|452\n蒙盖|0x0080|1195\n蒙垢|0x1000|0\n蒙古|0x0040|3801\n蒙哄|0x1000|53346\n蒙混|0x1000|41747\n蒙胧|0x0080|815\n蒙昧|0x40000000|29657\n蒙蒙|0x0100|18121\n蒙面|0x1000|740\n蒙难|0x1000|42747\n蒙皮|0x100000|1057\n蒙骗|0x1000|20577\n蒙人|0x0000|36178\n蒙山|0x0040|1290\n蒙上|0x1000|589\n蒙师|0x0000|48067\n蒙事|0x1000|0\n蒙受|0x1000|14123\n蒙头|0x1000|846\n蒙文|0x0000|42971\n蒙羞|0x0000|39331\n蒙眼|0x0000|429\n蒙药|0x0008|54394\n蒙医|0x0000|49175\n蒙阴|0x0080|1506\n蒙语|0x0008|38309\n蒙冤|0x1000|34666\n蒙住|0x1000|777\n蒙自|0x0080|1466\n蒙族|0x0008|1007\n锰钢|0x100000|1051\n锰矿|0x100000|911\n锰铁|0x100000|1032\n懵懂|0x40000000|25357\n懵懵|0x40000000|1014\n蠓虫|0x0000|48428\n孟春|0x4000|48798\n孟村|0x0040|1491\n孟冬|0x4000|51072\n孟津|0x0080|1474\n孟浪|0x40000000|36845\n孟买|0x0040|1322\n孟秋|0x4000|50273\n孟夏|0x4000|45334\n孟州|0x0040|1427\n孟子|0x0080|1178\n梦卜|0x0080|0\n梦到|0x0000|595\n梦话|0x100000|33795\n梦幻|0x100000|10663\n梦见|0x1000|10122\n梦境|0x100000|12408\n梦寐|0x100000|38926\n梦乡|0x100000|23495\n梦想|0x100000|3833\n梦魇|0x100000|27948\n梦遗|0x1000|55389\n梦呓|0x100000|30952\n梦游|0x1000|31064\n梦语|0x100000|1512\n梦中|0x0080|731\n咪表|0x100000|1091\n咪咪|0x80000|21722\n咪唑|0x100000|963\n弥补|0x1000|5843\n弥渡|0x0080|1042\n弥封|0x1000|1292\n弥缝|0x1000|45642\n弥合|0x1000|23877\n弥坚|0x40000000|939\n弥勒|0x100000|36179\n弥留|0x1000|23597\n弥漫|0x1000|7278\n弥蒙|0x40000000|0\n弥撒|0x100000|37205\n弥散|0x1000|28034\n弥天|0x1000|957\n弥陀|0x0008|43935\n弥望|0x1000|1098\n弥月|0x1000|1052\n迷彩|0x20000000|48429\n迷瞪|0x40000000|1102\n迷宫|0x100000|18746\n迷航|0x1000|49885\n迷糊|0x40000000|18903\n迷幻|0x40000000|38310\n迷魂|0x20000000|788\n迷惑|0x1000|10628\n迷津|0x100000|32654\n迷离|0x40000000|18747\n迷恋|0x1000|13851\n迷路|0x1000|22888\n迷乱|0x0000|26264\n迷漫|0x1000|36846\n迷茫|0x40000000|16694\n迷蒙|0x40000000|21160\n迷梦|0x100000|39332\n迷你|0x20000000|31313\n迷人|0x40000000|7927\n迷上|0x0000|545\n迷失|0x1000|12348\n迷思|0x0008|1344\n迷途|0x100000|26693\n迷惘|0x40000000|15109\n迷误|0x0000|49176\n迷雾|0x100000|22169\n迷箱|0x100000|0\n迷信|0x100000|4841\n迷眩|0x0000|53863\n迷眼|0x0000|45948\n迷阵|0x100000|49177\n迷住|0x1000|754\n迷醉|0x1000|27865\n猕猴|0x100000|26059\n谜底|0x100000|21075\n谜儿|0x100000|0\n谜宫|0x0040|0\n谜面|0x100000|47425\n谜团|0x100000|33020\n谜语|0x100000|30525\n糜费|0x0000|55776\n糜烂|0x1000|23437\n糜子|0x100000|49881\n麋羚|0x0080|1372\n麋鹿|0x100000|30077\n靡费|0x1000|55776\n靡丽|0x40000000|1057\n靡靡|0x0000|48430\n蘼芜|0x100000|1120\n米尺|0x100000|50274\n米醋|0x100000|52354\n米袋|0x100000|994\n米店|0x0040|911\n米尔|0x0080|1381\n米饭|0x100000|16188\n米粉|0x100000|23278\n米芾|0x0080|1502\n米缸|0x100000|955\n米糕|0x100000|53349\n米格|0x0008|875\n米黄|0x100000|46832\n米价|0x100000|1041\n米酒|0x100000|27219\n米糠|0x100000|38311\n米壳|0x0008|0\n米兰|0x0040|867\n米勒|0x0080|1211\n米粒|0x100000|798\n米林|0x0080|1048\n米面|0x100000|27719\n米铺|0x100000|986\n米泉|0x0040|1550\n米色|0x100000|31878\n米市|0x100000|1015\n米汤|0x100000|28936\n米虾|0x100000|0\n米线|0x100000|41748\n米雪|0x0080|1448\n米易|0x0040|1055\n米脂|0x0040|1554\n米制|0x100000|1061\n弭谤|0x1000|0\n弭兵|0x1000|1233\n弭患|0x1000|0\n弭乱|0x1000|0\n敉平|0x1000|378\n眯缝|0x1000|26468\n眯眯|0x0100|478\n汨罗|0x0040|1362\n泌尿|0x1000|31184\n泌阳|0x0080|1506\n觅得|0x0000|490\n觅求|0x1000|0\n觅取|0x1000|50656\n觅食|0x1000|19119\n秘宝|0x100000|53350\n秘本|0x100000|49534\n秘藏|0x100000|45335\n秘传|0x100000|51913\n秘方|0x100000|24780\n秘笈|0x100000|598\n秘籍|0x100000|604\n秘诀|0x100000|15320\n秘鲁|0x40000000|602\n秘密|0x100000|2360\n秘史|0x100000|31421\n秘书|0x100000|3164\n秘闻|0x100000|43936\n密报|0x0000|31879\n密闭|0x1000|25272\n密布|0x1000|15818\n密电|0x100000|33417\n密度|0x100000|5697\n密封|0x1000|13642\n密告|0x1000|40839\n密函|0x0000|49178\n密级|0x0080|46833\n密集|0x40000000|6950\n密件|0x100000|49535\n密林|0x100000|18004\n密令|0x100000|26766\n密码|0x100000|8463\n密密|0x0100|736\n密谋|0x1000|16695\n密切|0x40000000|1521\n密山|0x0040|1482\n密商|0x1000|26060\n密实|0x40000000|39333\n密使|0x100000|24841\n密室|0x100000|28203\n密谈|0x1000|24842\n密探|0x100000|37742\n密信|0x0080|45949\n密医|0x0008|0\n密议|0x0000|28114\n密友|0x100000|30733\n密语|0x100000|28035\n密约|0x100000|31185\n密钥|0x100000|832\n密云|0x0080|1192\n密召|0x1000|0\n密诏|0x100000|1073\n密植|0x1000|28036\n密旨|0x100000|1066\n密致|0x40000000|1205\n密宗|0x100000|850\n嘧啶|0x100000|479\n蜜蜂|0x100000|12001\n蜜柑|0x0008|44762\n蜜供|0x0000|51073\n蜜罐|0x100000|941\n蜜饯|0x100000|36500\n蜜橘|0x100000|50657\n蜜蜡|0x100000|941\n蜜露|0x100000|1133\n蜜色|0x100000|48432\n蜜糖|0x100000|39749\n蜜桃|0x100000|39334\n蜜甜|0x40000000|982\n蜜腺|0x100000|1296\n蜜语|0x100000|793\n蜜源|0x100000|1109\n蜜月|0x100000|21811\n蜜枣|0x100000|41511\n蜜汁|0x100000|45336\n蜜渍|0x100000|0\n绵薄|0x40000000|37390\n绵长|0x40000000|27220\n绵绸|0x100000|55392\n绵亘|0x1000|37935\n绵力|0x100000|1040\n绵连|0x1000|0\n绵密|0x40000000|39969\n绵绵|0x0100|14052\n绵软|0x40000000|28649\n绵延|0x1000|12852\n绵羊|0x100000|16018\n绵阳|0x0040|1034\n绵远|0x40000000|0\n绵纸|0x100000|49886\n绵竹|0x0040|1438\n棉袄|0x100000|11972\n棉被|0x100000|11624\n棉布|0x100000|21272\n棉厂|0x100000|3\n棉绸|0x0000|55393\n棉堆|0x100000|1407\n棉纺|0x100000|26265\n棉花|0x100000|2915\n棉卷|0x100000|1176\n棉裤|0x100000|21859\n棉兰|0x100000|1136\n棉铃|0x100000|50275\n棉毛|0x100000|959\n棉帽|0x100000|1096\n棉农|0x100000|20243\n棉袍|0x100000|22742\n棉签|0x100000|51074\n棉球|0x100000|48434\n棉区|0x0000|42748\n棉绒|0x100000|54880\n棉纱|0x100000|27131\n棉丝|0x100000|1122\n棉桃|0x100000|47134\n棉套|0x100000|54881\n棉田|0x100000|21486\n棉条|0x100000|1013\n棉线|0x100000|41291\n棉鞋|0x100000|28037\n棉絮|0x100000|21723\n棉蚜|0x100000|1267\n棉衣|0x100000|12632\n棉织|0x0008|1374\n棉纸|0x0008|985\n棉制|0x0008|1008\n棉籽|0x100000|40840\n免除|0x1000|11247\n免得|0x8000000|7279\n免掉|0x1000|991\n免费|0x1000|3061\n免官|0x1000|0\n免冠|0x1000|39554\n免检|0x1000|22793\n免礼|0x1000|44468\n免票|0x1000|27543\n免去|0x1000|9000\n免试|0x1000|32274\n免收|0x1000|14053\n免受|0x1000|17157\n免税|0x1000|14510\n免俗|0x1000|38313\n免提|0x100000|780\n免刑|0x1000|51075\n免修|0x1000|1011\n免验|0x1000|53865\n免役|0x100000|42495\n免疫|0x100000|6139\n免于|0x1000|785\n免予|0x1000|30078\n免遭|0x1000|20822\n免责|0x1000|494\n免征|0x1000|11197\n免职|0x1000|11545\n免罪|0x1000|34205\n黾勉|0x1000|1215\n勉力|0x40000000|29764\n勉励|0x1000|11155\n勉强|0x40000000|4366\n勉县|0x0040|986\n娩出|0x0000|53866\n冕旒|0x100000|1160\n冕宁|0x0080|1043\n缅甸|0x0040|5999\n缅怀|0x1000|9407\n缅想|0x1000|0\n缅因|0x0040|983\n腼腆|0x40000000|15170\n面板|0x100000|27544\n面包|0x100000|7589\n面壁|0x1000|36847\n面部|0x100000|616\n面层|0x100000|946\n面茶|0x100000|55779\n面朝|0x0000|542\n面陈|0x1000|38314\n面呈|0x0000|40614\n面斥|0x0000|52851\n面点|0x100000|41061\n面对|0x1000|781\n面额|0x100000|21532\n面肥|0x100000|51076\n面粉|0x100000|9773\n面告|0x0000|52355\n面馆|0x0000|44469\n面红|0x0000|498\n面糊|0x100000|50658\n面积|0x100000|1233\n面颊|0x100000|16245\n面价|0x100000|1191\n面见|0x1000|891\n面交|0x1000|45337\n面巾|0x100000|50659\n面筋|0x100000|39970\n面具|0x100000|14831\n面孔|0x100000|4635\n面料|0x100000|11788\n面临|0x1000|1515\n面貌|0x100000|2974\n面门|0x0000|53867\n面面|0x20000|513\n面膜|0x100000|45048\n面目|0x100000|8004\n面庞|0x100000|17925\n面疱|0x100000|1020\n面盆|0x100000|853\n面皮|0x100000|25712\n面洽|0x1000|52356\n面前|0x8000|643\n面容|0x100000|10492\n面软|0x0000|53351\n面色|0x100000|10581\n面纱|0x100000|18033\n面善|0x40000000|40841\n面商|0x0000|47769\n面上|0x8000|655\n面生|0x40000000|41750\n面食|0x100000|27545\n面世|0x1000|14601\n面市|0x1000|33289\n面试|0x1000|12734\n面首|0x100000|986\n面授|0x100000|29658\n面熟|0x40000000|25771\n面霜|0x0008|1248\n面塑|0x100000|48799\n面瘫|0x100000|55780\n面谈|0x1000|21317\n面汤|0x100000|42749\n面条|0x100000|11121\n面团|0x100000|35852\n面晤|0x1000|54882\n面相|0x100000|27546\n面向|0x1000|2133\n面谢|0x1000|48435\n面叙|0x1000|0\n面颜|0x100000|0\n面议|0x1000|39555\n面谕|0x1000|1258\n面罩|0x100000|27058\n面值|0x100000|18659\n面纸|0x0008|815\n面砖|0x100000|51916\n面子|0x100000|5331\n苗床|0x100000|45950\n苗疆|0x0040|1520\n苗剧|0x100000|0\n苗栗|0x0040|1320\n苗岭|0x0040|1011\n苗苗|0x0000|522\n苗木|0x100000|10601\n苗圃|0x100000|13321\n苗期|0x100000|46517\n苗情|0x100000|41994\n苗条|0x40000000|18401\n苗头|0x100000|15149\n苗芽|0x0080|0\n苗裔|0x100000|1063\n苗语|0x0000|48436\n苗寨|0x100000|33796\n苗种|0x100000|971\n苗子|0x100000|14299\n苗族|0x0008|12325\n描红|0x100000|45339\n描画|0x1000|25273\n描绘|0x1000|5289\n描金|0x1000|34349\n描眉|0x0000|43713\n描摹|0x1000|24134\n描述|0x1000|4676\n描图|0x1000|51077\n描写|0x1000|3247\n瞄准|0x1000|7557\n秒表|0x100000|46518\n秒针|0x100000|41292\n秒钟|0x20000|528\n渺茫|0x40000000|14243\n渺渺|0x0100|37030\n渺然|0x40000000|0\n渺小|0x40000000|15171\n渺远|0x0000|53352\n藐藐|0x0100|900\n藐视|0x1000|20093\n藐小|0x40000000|49181\n邈邈|0x0100|1210\n邈远|0x40000000|53352\n妙笔|0x100000|37031\n妙策|0x100000|40178\n妙处|0x100000|29765\n妙法|0x100000|31647\n妙方|0x100000|48438\n妙计|0x100000|21812\n妙境|0x100000|49536\n妙句|0x100000|1048\n妙诀|0x100000|55781\n妙绝|0x40000000|1019\n妙龄|0x100000|33418\n妙论|0x100000|48439\n妙曼|0x40000000|0\n妙年|0x0000|49182\n妙品|0x0000|49887\n妙趣|0x100000|45644\n妙人|0x0080|0\n妙手|0x100000|777\n妙算|0x100000|48440\n妙想|0x100000|825\n妙言|0x100000|1057\n妙药|0x100000|45645\n妙用|0x100000|32907\n妙语|0x100000|33290\n妙招|0x100000|49537\n庙号|0x100000|1027\n庙会|0x100000|10639\n庙里|0x8000|752\n庙堂|0x100000|26550\n庙宇|0x100000|15452\n庙主|0x100000|0\n庙祝|0x100000|48441\n乜斜|0x1000|38517\n咩咩|0x0080|671\n灭茬|0x1000|1249\n灭虫|0x1000|1000\n灭掉|0x0000|535\n灭顶|0x1000|27792\n灭火|0x1000|12514\n灭迹|0x1000|38723\n灭绝|0x1000|11461\n灭菌|0x1000|25207\n灭口|0x1000|37743\n灭门|0x1000|37936\n灭杀|0x0000|50277\n灭失|0x0008|947\n灭鼠|0x1000|905\n灭亡|0x1000|9637\n灭蚊|0x100000|851\n灭种|0x1000|40616\n灭族|0x1000|38315\n蔑称|0x100000|47770\n蔑弃|0x1000|0\n蔑视|0x1000|13881\n篾工|0x100000|1536\n篾黄|0x100000|1321\n篾匠|0x100000|1229\n篾篓|0x0000|55782\n篾片|0x100000|46519\n蠛蠓|0x100000|0\n民办|0x20000000|4726\n民本|0x100000|969\n民变|0x100000|44182\n民兵|0x100000|3866\n民初|0x4000|885\n民船|0x100000|1100\n民法|0x100000|11318\n民防|0x100000|971\n民房|0x100000|16204\n民愤|0x100000|32150\n民丰|0x0080|1424\n民风|0x100000|15589\n民夫|0x100000|39127\n民歌|0x100000|8782\n民革|0x0020|912\n民工|0x100000|3629\n民国|0x100000|6313\n民航|0x100000|4822\n民家|0x0008|37032\n民间|0x100000|1377\n民建|0x0020|910\n民进|0x0020|745\n民警|0x100000|2941\n民居|0x100000|13127\n民乐|0x100000|15548\n民力|0x100000|22889\n民盟|0x100000|499\n民命|0x100000|1156\n民瘼|0x100000|0\n民女|0x100000|953\n民品|0x100000|25034\n民企|0x100000|733\n民气|0x100000|31880\n民勤|0x0080|1462\n民情|0x100000|7171\n民权|0x100000|23544\n民商|0x100000|789\n民生|0x100000|9526\n民声|0x100000|855\n民食|0x100000|1142\n民事|0x100000|4593\n民俗|0x100000|4303\n民庭|0x100000|1175\n民团|0x100000|29766\n民望|0x100000|39750\n民委|0x100000|462\n民校|0x100000|49183\n民心|0x100000|5100\n民选|0x1000|24843\n民谚|0x100000|37033\n民谣|0x100000|20206\n民意|0x100000|4859\n民营|0x0000|3590\n民用|0x20000000|7067\n民怨|0x100000|33936\n民约|0x0000|45340\n民运|0x100000|28386\n民贼|0x100000|49888\n民宅|0x100000|21860\n民政|0x100000|7265\n民智|0x100000|18799\n民众|0x100000|2500\n民主|0x40000000|969\n民族|0x100000|361\n岷江|0x0040|1397\n岷县|0x0040|985\n闵行|0x0080|1093\n抿嘴|0x0000|21161\n泯没|0x1000|54398\n泯灭|0x1000|21487\n闽侯|0x0080|1389\n闽江|0x0040|1400\n闽剧|0x100000|47771\n闽南|0x0040|946\n闽清|0x0080|1424\n闽语|0x100000|0\n悯惜|0x1000|0\n悯恤|0x1000|0\n敏感|0x40000000|4009\n敏慧|0x40000000|47772\n敏捷|0x40000000|11503\n敏锐|0x40000000|7532\n名笔|0x100000|1006\n名簿|0x0000|411\n名菜|0x100000|32908\n名册|0x100000|26210\n名茶|0x100000|33419\n名产|0x100000|46244\n名车|0x100000|686\n名称|0x100000|3409\n名城|0x100000|7646\n名厨|0x100000|45049\n名词|0x100000|6875\n名次|0x100000|11295\n名单|0x100000|3699\n名旦|0x100000|34206\n名额|0x100000|8406\n名儿|0x100000|0\n名分|0x100000|20739\n名份|0x0000|481\n名贵|0x40000000|14907\n名号|0x100000|20703\n名花|0x100000|772\n名画|0x100000|705\n名讳|0x100000|48070\n名妓|0x0000|524\n名家|0x100000|7968\n名将|0x100000|6685\n名角|0x100000|24180\n名叫|0x1000|554\n名教|0x100000|983\n名节|0x100000|30953\n名酒|0x100000|26551\n名句|0x100000|23657\n名利|0x100000|12240\n名列|0x1000|7047\n名伶|0x100000|916\n名流|0x100000|17204\n名录|0x100000|13113\n名门|0x100000|29229\n名模|0x100000|43236\n名目|0x100000|11287\n名鸟|0x100000|0\n名牌|0x100000|4711\n名片|0x100000|7655\n名篇|0x100000|22064\n名品|0x100000|35853\n名气|0x100000|9812\n名琴|0x100000|833\n名曲|0x100000|21763\n名人|0x100000|4105\n名儒|0x0000|43938\n名刹|0x100000|989\n名山|0x100000|1197\n名声|0x100000|9095\n名胜|0x100000|13021\n名师|0x100000|16427\n名诗|0x100000|953\n名实|0x100000|38927\n名士|0x100000|14686\n名手|0x100000|35854\n名数|0x100000|1120\n名寺|0x100000|1002\n名宿|0x0000|42750\n名堂|0x100000|13522\n名帖|0x0000|52357\n名望|0x100000|23545\n名为|0x1000|546\n名位|0x100000|31648\n名物|0x100000|48442\n名下|0x100000|22225\n名校|0x100000|20360\n名星|0x100000|502\n名烟|0x100000|943\n名言|0x100000|10552\n名扬|0x1000|772\n名医|0x100000|18825\n名义|0x100000|3457\n名优|0x100000|12979\n名誉|0x100000|5311\n名园|0x100000|838\n名媛|0x0008|1333\n名曰|0x1000|768\n名噪|0x0008|0\n名章|0x100000|1082\n名著|0x100000|8761\n名状|0x1000|29873\n名子|0x100000|836\n名字|0x100000|1215\n名嘴|0x0008|54883\n名作|0x100000|19196\n明暗|0x0000|552\n明白|0x1000|989\n明辨|0x1000|906\n明补|0x0000|52853\n明察|0x1000|29874\n明畅|0x40000000|1189\n明朝|0x4000|7128\n明澈|0x40000000|35692\n明晨|0x4000|897\n明处|0x100000|30300\n明春|0x4000|40414\n明达|0x40000000|40180\n明代|0x4000|680\n明道|0x0020|1218\n明德|0x100000|1248\n明灯|0x100000|28554\n明定|0x0080|1081\n明度|0x0008|1512\n明断|0x1000|48071\n明儿|0x4000|15510\n明矾|0x100000|41996\n明沟|0x100000|48072\n明光|0x0040|1254\n明黄|0x0000|48443\n明慧|0x40000000|29442\n明火|0x100000|26407\n明基|0x0008|1010\n明鉴|0x100000|46521\n明胶|0x4000000|25646\n明教|0x1000|890\n明洁|0x40000000|1011\n明净|0x40000000|25578\n明镜|0x100000|21813\n明快|0x40000000|14737\n明朗|0x40000000|11510\n明里|0x100000|900\n明理|0x100000|31649\n明丽|0x40000000|27547\n明亮|0x40000000|5378\n明了|0x1000|12378\n明令|0x100000|16677\n明律|0x100000|1238\n明伦|0x0008|949\n明码|0x100000|21914\n明媚|0x40000000|12713\n明面|0x100000|48073\n明灭|0x1000|40842\n明明|0x8000000|5599\n明末|0x4000|802\n明眸|0x100000|799\n明目|0x1000|791\n明年|0x4000|2223\n明牌|0x0008|1031\n明盘|0x100000|0\n明器|0x100000|55395\n明前|0x0000|27296\n明抢|0x1000|50278\n明清|0x4000|673\n明渠|0x100000|25647\n明确|0x40000000|1022\n明人|0x0000|26408\n明日|0x4000|7082\n明锐|0x40000000|1493\n明史|0x100000|889\n明示|0x1000|24181\n明视|0x0080|1069\n明水|0x0080|1482\n明说|0x1000|18660\n明唐|0x100000|1278\n明堂|0x100000|900\n明天|0x4000|1154\n明瓦|0x100000|46835\n明晚|0x4000|801\n明王|0x0080|1410\n明文|0x100000|42751\n明晰|0x40000000|12051\n明溪|0x0080|988\n明细|0x40000000|34350\n明虾|0x100000|1024\n明显|0x40000000|764\n明线|0x100000|1002\n明星|0x100000|4310\n明秀|0x40000000|1510\n明言|0x100000|47428\n明艳|0x40000000|42752\n明喻|0x100000|55396\n明月|0x100000|10655\n明早|0x4000|24245\n明哲|0x40000000|1478\n明证|0x100000|22990\n明知|0x1000|8033\n明志|0x1000|43939\n明治|0x0008|1149\n明智|0x40000000|11951\n明珠|0x100000|9478\n明子|0x100000|457\n鸣鞭|0x100000|1258\n鸣唱|0x1000|942\n鸣笛|0x1000|27720\n鸣放|0x1000|14300\n鸣叫|0x1000|761\n鸣金|0x1000|1033\n鸣鸟|0x0000|400\n鸣炮|0x1000|45052\n鸣枪|0x1000|25208\n鸣禽|0x100000|51918\n鸣声|0x100000|854\n鸣响|0x1000|897\n鸣谢|0x1000|55938\n鸣冤|0x1000|40617\n鸣啭|0x1000|49889\n鸣奏|0x1000|1088\n冥暗|0x40000000|0\n冥币|0x0000|47135\n冥钞|0x100000|53868\n冥诞|0x100000|1172\n冥府|0x100000|46247\n冥冥|0x100000|628\n冥器|0x100000|53869\n冥钱|0x100000|1172\n冥寿|0x100000|54884\n冥思|0x1000|37208\n冥顽|0x40000000|42496\n冥想|0x1000|28938\n冥衣|0x100000|0\n铭感|0x1000|50279\n铭记|0x100000|14265\n铭旌|0x100000|1233\n铭刻|0x1000|22170\n铭牌|0x100000|830\n铭文|0x100000|25274\n铭心|0x1000|18061\n溟溟|0x0080|1197\n瞑目|0x1000|24381\n瞑想|0x0008|1118\n螟虫|0x100000|45053\n螟蛾|0x100000|1301\n螟岭|0x0040|0\n螟蛉|0x100000|46836\n酩酊|0x1000|954\n命案|0x100000|17265\n命笔|0x1000|39129\n命薄|0x0000|41513\n命大|0x40000000|51489\n命定|0x1000|32784\n命根|0x100000|832\n命官|0x100000|1014\n命苦|0x40000000|733\n命令|0x100000|1837\n命脉|0x100000|16109\n命门|0x100000|51490\n命名|0x1000|4648\n命数|0x100000|937\n命题|0x100000|7373\n命途|0x100000|935\n命相|0x100000|33291\n命意|0x100000|1143\n命运|0x100000|1464\n命中|0x1000|13939\n谬奖|0x1000|1281\n谬论|0x100000|17231\n谬说|0x100000|1177\n谬误|0x100000|20408\n谬种|0x100000|1255\n摸彩|0x1000|52358\n摸出|0x1000|600\n摸底|0x1000|13064\n摸高|0x0000|47136\n摸黑|0x1000|807\n摸奖|0x1000|53354\n摸摸|0x1000|632\n摸清|0x1000|791\n摸哨|0x1000|0\n摸索|0x1000|7156\n摸头|0x1000|43237\n摸透|0x1000|889\n摸营|0x1000|0\n摸鱼|0x0008|461\n摸准|0x0000|35084\n馍馍|0x100000|23384\n摹本|0x100000|45646\n摹仿|0x1000|941\n摹绘|0x1000|51491\n摹刻|0x100000|1184\n摹拟|0x1000|402\n摹写|0x1000|39556\n摹印|0x100000|1289\n摹状|0x1000|0\n模板|0x100000|23385\n模版|0x100000|589\n模本|0x100000|1100\n模范|0x100000|2881\n模仿|0x1000|7109\n模糊|0x40000000|4073\n模件|0x0080|0\n模具|0x100000|17847\n模块|0x100000|17789\n模棱|0x40000000|1174\n模拟|0x1000|5075\n模式|0x100000|1584\n模特|0x100000|743\n模型|0x100000|4513\n模压|0x1000|50280\n模样|0x100000|4235\n模印|0x20000000|1195\n模子|0x100000|28204\n模组|0x100000|744\n膜拜|0x1000|31065\n膜片|0x100000|922\n摩擦|0x100000|8917\n摩登|0x40000000|20361\n摩尔|0x20000|1194\n摩抚|0x1000|0\n摩丝|0x0000|43714\n摩斯|0x0080|1453\n摩挲|0x1000|33414\n摩天|0x1000|687\n摩托|0x100000|13372\n摩西|0x0080|1347\n摩崖|0x100000|887\n磨边|0x0008|1027\n磨擦|0x100000|748\n磨蹭|0x1000|23598\n磨成|0x0080|525\n磨杵|0x0080|0\n磨床|0x100000|47429\n磨刀|0x1000|779\n磨叨|0x1000|48074\n磨掉|0x0000|453\n磨烦|0x1000|49892\n磨坊|0x100000|37746\n磨房|0x100000|848\n磨粉|0x100000|889\n磨工|0x100000|1038\n磨菇|0x0080|0\n磨光|0x1000|809\n磨耗|0x100000|998\n磨合|0x1000|20409\n磨具|0x100000|50281\n磨快|0x1000|0\n磨矿|0x100000|0\n磨砺|0x1000|18211\n磨练|0x1000|17453\n磨炼|0x1000|17453\n磨亮|0x0080|0\n磨料|0x100000|740\n磨灭|0x1000|28939\n磨磨|0x0080|814\n磨难|0x100000|11430\n磨盘|0x100000|26627\n磨平|0x0080|472\n磨破|0x0000|489\n磨去|0x0000|453\n磨人|0x0080|43715\n磨砂|0x20000000|734\n磨扇|0x0000|48802\n磨石|0x100000|959\n磨蚀|0x1000|937\n磨碎|0x0008|1469\n磨损|0x100000|17638\n磨洗|0x0000|50282\n磨细|0x100000|1091\n磨削|0x100000|902\n磨牙|0x100000|34071\n磨圆|0x0080|0\n磨折|0x1000|881\n磨制|0x1000|43940\n磨子|0x100000|936\n磨嘴|0x1000|0\n蘑菇|0x100000|12925\n魔堡|0x0040|0\n魔道|0x0040|0\n魔法|0x100000|24182\n魔方|0x100000|41063\n魔宫|0x0040|0\n魔怪|0x100000|47431\n魔鬼|0x100000|9571\n魔幻|0x20000000|29875\n魔剑|0x100000|580\n魔教|0x0008|1365\n魔戒|0x0008|1195\n魔界|0x0000|671\n魔镜|0x100000|781\n魔窟|0x100000|42261\n魔力|0x100000|16908\n魔女|0x100000|646\n魔神|0x0000|633\n魔手|0x100000|914\n魔兽|0x100000|802\n魔术|0x100000|15634\n魔头|0x100000|43941\n魔王|0x100000|29341\n魔眼|0x0000|475\n魔影|0x100000|43471\n魔芋|0x100000|29342\n魔掌|0x100000|39130\n魔杖|0x100000|47137\n魔障|0x100000|48444\n魔怔|0x40000000|0\n魔爪|0x100000|32152\n抹布|0x100000|21316\n抹刀|0x100000|1222\n抹掉|0x1000|750\n抹粉|0x1000|42497\n抹黑|0x1000|22743\n抹灰|0x1000|40181\n抹脸|0x1000|54872\n抹墙|0x0000|55398\n抹去|0x0000|622\n抹杀|0x1000|21006\n抹煞|0x1000|854\n抹胸|0x100000|877\n抹子|0x100000|52855\n末班|0x20000000|943\n末代|0x100000|28387\n末端|0x2000000|17568\n末段|0x100000|941\n末儿|0x100000|47776\n末伏|0x100000|55886\n末后|0x4000|31650\n末节|0x100000|38124\n末了|0x4000|13852\n末流|0x100000|41293\n末路|0x100000|33937\n末年|0x2000000|16131\n末期|0x2000000|12655\n末日|0x100000|18566\n末梢|0x100000|33797\n末世|0x2000000|35540\n末尾|0x100000|21442\n末席|0x100000|1121\n末药|0x100000|1403\n末叶|0x2000000|35251\n末子|0x100000|45344\n末座|0x100000|48800\n沫儿|0x100000|49539\n沫子|0x100000|40182\n茉莉|0x100000|30735\n陌路|0x100000|39751\n陌上|0x8000|808\n陌生|0x40000000|4461\n莫不|0x8000000|13836\n莫测|0x1000|1181\n莫大|0x20000000|12667\n莫道|0x0040|1390\n莫尔|0x0080|1456\n莫耳|0x0080|0\n莫非|0x8000000|8898\n莫名|0x8000000|499\n莫逆|0x40000000|1013\n莫如|0x10000000|19987\n莫若|0x10000000|894\n漠北|0x100000|881\n漠河|0x0040|1454\n漠漠|0x0100|37036\n漠南|0x100000|1085\n漠然|0x40000000|21534\n漠视|0x1000|15706\n蓦地|0x8000000|13292\n蓦然|0x8000000|16377\n墨宝|0x100000|35693\n墨笔|0x100000|36502\n墨彩|0x20000000|1125\n墨点|0x0080|0\n墨斗|0x100000|53870\n墨盒|0x100000|27630\n墨黑|0x1000|34668\n墨迹|0x100000|26695\n墨家|0x100000|39131\n墨晶|0x100000|53357\n墨镜|0x100000|22171\n墨菊|0x0080|55399\n墨客|0x100000|36180\n墨吏|0x100000|1221\n墨绿|0x100000|27297\n墨囊|0x100000|1262\n墨色|0x100000|888\n墨水|0x100000|17357\n墨脱|0x0080|1450\n墨线|0x100000|48801\n墨香|0x100000|762\n墨刑|0x100000|0\n墨鸭|0x100000|0\n墨鱼|0x100000|34072\n墨玉|0x100000|1499\n墨翟|0x0008|391\n墨汁|0x100000|25983\n墨竹|0x0080|41064\n墨子|0x0008|1341\n墨渍|0x0080|53358\n镆铘|0x100000|1255\n默哀|0x1000|25209\n默祷|0x1000|37745\n默读|0x1000|50661\n默记|0x1000|44764\n默剧|0x100000|400\n默默|0x0100|3423\n默念|0x1000|25144\n默片|0x100000|53871\n默契|0x100000|12058\n默然|0x0100|10445\n默认|0x1000|21360\n默诵|0x1000|39132\n默算|0x1000|55400\n默想|0x1000|26211\n默写|0x1000|43472\n默许|0x1000|24579\n默坐|0x1000|1084\n耱地|0x0080|0\n牟定|0x0040|988\n牟利|0x1000|20130\n牟取|0x1000|25035\n眸子|0x100000|18567\n谋臣|0x100000|43238\n谋定|0x1000|899\n谋反|0x1000|22794\n谋害|0x1000|25834\n谋划|0x1000|9853\n谋利|0x1000|20131\n谋虑|0x1000|49893\n谋略|0x100000|17266\n谋面|0x1000|30526\n谋叛|0x0000|394\n谋求|0x1000|7126\n谋取|0x1000|10020\n谋杀|0x1000|15958\n谋生|0x1000|12643\n谋士|0x100000|32020\n谋事|0x1000|28650\n谋私|0x1000|29230\n谋算|0x0000|42974\n谋职|0x1000|44765\n某部|0x10000|808\n某处|0x10000|736\n某次|0x10000|774\n某地|0x10000|746\n某个|0x10000|6168\n某甲|0x0000|490\n某某|0x10000|9365\n某年|0x10000|695\n某区|0x10000|990\n某人|0x10000|17336\n某日|0x10000|659\n某时|0x10000|465\n某市|0x10000|833\n某事|0x10000|800\n某位|0x10000|695\n某物|0x10000|935\n某些|0x10000|1396\n某样|0x100000|859\n某一|0x400000|705\n某月|0x10000|716\n某种|0x10000|498\n母爱|0x100000|16738\n母板|0x100000|1082\n母版|0x0000|410\n母本|0x100000|34207\n母带|0x0000|41997\n母法|0x100000|1164\n母蜂|0x100000|1428\n母狗|0x100000|855\n母国|0x100000|1026\n母后|0x0000|545\n母机|0x100000|44766\n母鸡|0x100000|727\n母舰|0x100000|777\n母教|0x100000|1162\n母狼|0x0000|466\n母鹿|0x0000|399\n母驴|0x100000|0\n母马|0x100000|1032\n母奶|0x0000|444\n母牛|0x100000|833\n母女|0x100000|10008\n母盘|0x0008|1483\n母亲|0x100000|513\n母权|0x100000|0\n母乳|0x100000|23121\n母狮|0x100000|456\n母树|0x100000|1132\n母体|0x100000|17284\n母系|0x100000|28290\n母线|0x100000|874\n母校|0x100000|15399\n母性|0x100000|25984\n母畜|0x100000|45647\n母鸭|0x100000|0\n母羊|0x100000|982\n母液|0x100000|1095\n母音|0x100000|1082\n母婴|0x100000|618\n母语|0x100000|22364\n母钟|0x100000|1404\n母株|0x100000|1189\n母猪|0x100000|760\n母子|0x100000|9104\n亩产|0x100000|9426\n牡丹|0x100000|9105\n牡蛎|0x100000|23180\n牡鹿|0x0080|1194\n牡马|0x0080|1278\n牡牛|0x0080|1173\n姆指|0x0008|482\n拇战|0x100000|0\n拇指|0x100000|17306\n拇趾|0x100000|1124\n木板|0x100000|8591\n木版|0x100000|27722\n木棒|0x100000|26062\n木本|0x100000|34208\n木柄|0x0080|915\n木钵|0x0080|1354\n木部|0x0080|1205\n木材|0x100000|5523\n木柴|0x100000|26409\n木尺|0x100000|1159\n木船|0x100000|19344\n木窗|0x100000|980\n木床|0x100000|901\n木槌|0x100000|1102\n木锤|0x0080|0\n木村|0x0080|1235\n木凳|0x100000|969\n木雕|0x100000|21007\n木豆|0x100000|0\n木墩|0x100000|1168\n木耳|0x100000|23333\n木筏|0x100000|27723\n木房|0x0040|1096\n木杆|0x0008|962\n木杠|0x0040|1228\n木工|0x100000|18623\n木瓜|0x100000|25985\n木管|0x100000|1023\n木棍|0x100000|16268\n木花|0x0080|1043\n木鸡|0x0008|1095\n木屐|0x100000|39972\n木架|0x100000|942\n木简|0x100000|50283\n木剑|0x4000000|1432\n木浆|0x100000|899\n木桨|0x0008|1050\n木匠|0x100000|11952\n木节|0x100000|0\n木槿|0x100000|52359\n木精|0x100000|1154\n木刻|0x100000|11868\n木块|0x0080|947\n木框|0x100000|1017\n木兰|0x0080|5327\n木栏|0x100000|1105\n木立|0x0000|54401\n木莲|0x100000|49540\n木梁|0x0080|1065\n木料|0x100000|17045\n木笼|0x100000|1202\n木马|0x100000|22795\n木门|0x100000|723\n木棉|0x100000|38519\n木模|0x0000|47138\n木讷|0x40000000|32021\n木偶|0x100000|18661\n木排|0x100000|35694\n木牌|0x100000|930\n木盘|0x0080|415\n木棚|0x0080|1152\n木片|0x100000|36333\n木器|0x100000|24287\n木桥|0x100000|26909\n木琴|0x100000|51082\n木然|0x0100|20704\n木人|0x0080|1534\n木塞|0x4000000|1019\n木梳|0x100000|38929\n木薯|0x100000|34980\n木栓|0x0080|48445\n木髓|0x0080|0\n木塔|0x0080|1546\n木炭|0x100000|20094\n木梯|0x100000|1012\n木条|0x100000|923\n木通|0x0080|1034\n木桶|0x100000|28116\n木头|0x100000|8216\n木瓦|0x0080|1244\n木碗|0x100000|1033\n木屋|0x100000|16717\n木犀|0x100000|413\n木樨|0x100000|48075\n木锨|0x100000|48803\n木香|0x0008|903\n木箱|0x100000|811\n木箫|0x0080|0\n木楔|0x100000|1182\n木鞋|0x100000|1040\n木屑|0x100000|33546\n木星|0x0008|22992\n木业|0x100000|607\n木椅|0x100000|906\n木俑|0x100000|0\n木鱼|0x100000|30079\n木贼|0x100000|1158\n木栅|0x100000|920\n木制|0x20000000|648\n木质|0x20000000|665\n木柱|0x100000|965\n木桩|0x100000|21764\n木子|0x0008|574\n木钻|0x0080|1301\n木作|0x20000000|0\n仫佬|0x100000|402\n目标|0x100000|732\n目测|0x1000|35695\n目窗|0x0080|0\n目次|0x100000|55784\n目的|0x100000|614\n目睹|0x1000|8880\n目光|0x100000|1502\n目击|0x1000|20578\n目见|0x1000|1078\n目今|0x4000|0\n目镜|0x100000|992\n目眶|0x0080|0\n目力|0x100000|36017\n目录|0x100000|6330\n目论|0x100000|0\n目前|0x4000|342\n目视|0x1000|845\n目送|0x1000|16600\n目无|0x1000|0\n目下|0x4000|905\n目眩|0x1000|29231\n目验|0x0000|45345\n目语|0x100000|0\n沐川|0x0080|1085\n沐浴|0x1000|11411\n牧草|0x100000|12443\n牧场|0x100000|10377\n牧笛|0x100000|50662\n牧地|0x0080|1102\n牧放|0x1000|55785\n牧歌|0x100000|29443\n牧工|0x0080|45648\n牧郎|0x0080|0\n牧马|0x1000|868\n牧民|0x100000|6889\n牧牛|0x1000|987\n牧女|0x100000|1127\n牧区|0x100000|10030\n牧犬|0x100000|1198\n牧群|0x100000|1169\n牧人|0x100000|25835\n牧师|0x100000|11022\n牧童|0x100000|27949\n牧畜|0x100000|46524\n牧羊|0x1000|664\n牧业|0x100000|16718\n牧主|0x100000|53359\n苜蓿|0x100000|18968\n钼酸|0x100000|1072\n募兵|0x1000|1030\n募股|0x1000|51083\n募化|0x1000|51921\n募集|0x1000|11219\n募捐|0x1000|12228\n募款|0x1000|940\n募穴|0x100000|0\n墓碑|0x100000|16205\n墓表|0x100000|50284\n墓道|0x100000|30954\n墓地|0x100000|11122\n墓祭|0x1000|0\n墓碣|0x100000|1221\n墓门|0x100000|0\n墓前|0x100000|534\n墓室|0x100000|23181\n墓穴|0x100000|27471\n墓茔|0x100000|1307\n墓园|0x100000|839\n墓葬|0x100000|13721\n墓志|0x100000|30955\n墓冢|0x0000|54402\n幕宾|0x100000|1199\n幕布|0x100000|29659\n幕府|0x100000|24580\n幕后|0x100000|12215\n幕间|0x0000|385\n幕客|0x100000|1214\n幕僚|0x100000|17665\n幕幕|0x100000|839\n幕墙|0x100000|716\n睦邻|0x100000|12349\n慕名|0x1000|18438\n慕容|0x0080|675\n暮霭|0x100000|34209\n暮春|0x4000|26348\n暮景|0x100000|52360\n暮年|0x100000|27298\n暮气|0x100000|35252\n暮秋|0x4000|45953\n暮色|0x100000|14511\n穆勒|0x0080|1376\n穆棱|0x0040|1000\n拿办|0x1000|46526\n拿出|0x1000|498\n拿大|0x0000|55786\n拿到|0x1000|497\n拿掉|0x0000|547\n拿顶|0x1000|0\n拿给|0x1000|712\n拿回|0x0000|608\n拿获|0x1000|41998\n拿来|0x1000|543\n拿捏|0x1000|39336\n拿起|0x0000|780\n拿乔|0x1000|55787\n拿去|0x0000|654\n拿权|0x1000|0\n拿人|0x1000|47432\n拿骚|0x0040|1167\n拿手|0x100000|18826\n拿问|0x1000|41999\n拿下|0x1000|7707\n拿着|0x0000|793\n拿走|0x1000|628\n哪边|0x10000|833\n哪儿|0x10000|2517\n哪个|0x10000|2552\n哪里|0x10000|976\n哪能|0x0000|10485\n哪怕|0x10000000|5567\n哪位|0x10000|726\n哪些|0x10000|2963\n哪样|0x10000|20018\n哪一|0x400000|562\n哪吒|0x0080|32909\n内壁|0x100000|850\n内宾|0x100000|52862\n内部|0x2000000|1288\n内参|0x100000|777\n内藏|0x1000|529\n内侧|0x2000000|732\n内层|0x2000000|859\n内插|0x0008|1049\n内场|0x100000|936\n内臣|0x100000|0\n内衬|0x100000|842\n内城|0x0000|25648\n内传|0x100000|1\n内存|0x100000|22118\n内胆|0x100000|868\n内道|0x100000|1\n内地|0x100000|2503\n内弟|0x100000|21008\n内定|0x1000|34075\n内耳|0x100000|47436\n内犯|0x100000|0\n内防|0x20000000|1199\n内服|0x1000|40185\n内府|0x100000|978\n内港|0x100000|1162\n内阁|0x100000|4468\n内功|0x100000|19226\n内关|0x0008|1\n内海|0x100000|36182\n内含|0x1000|698\n内涵|0x100000|2798\n内耗|0x100000|35253\n内河|0x100000|15931\n内核|0x100000|20473\n内讧|0x100000|29769\n内湖|0x100000|1413\n内化|0x0008|915\n内画|0x100000|35542\n内环|0x100000|852\n内黄|0x0080|1437\n内积|0x100000|1086\n内急|0x1000|46839\n内奸|0x100000|33799\n内江|0x100000|1200\n内角|0x100000|1028\n内经|0x100000|839\n内景|0x100000|46840\n内径|0x100000|50664\n内疚|0x40000000|14034\n内卷|0x0000|379\n内眷|0x100000|51086\n内科|0x100000|12780\n内控|0x0000|21916\n内裤|0x100000|26469\n内愧|0x0000|49186\n内涝|0x100000|41752\n内里|0x2000000|43718\n内力|0x100000|32277\n内联|0x100000|842\n内敛|0x0000|35254\n内流|0x20000000|0\n内陆|0x100000|11039\n内乱|0x100000|18369\n内码|0x100000|935\n内贸|0x100000|37394\n内门|0x100000|951\n内蒙|0x0080|24453\n内面|0x100000|1019\n内膜|0x100000|829\n内幕|0x100000|17358\n内难|0x100000|1113\n内能|0x100000|876\n内皮|0x100000|923\n内迁|0x0000|41753\n内墙|0x100000|836\n内亲|0x100000|54888\n内侵|0x1000|0\n内勤|0x100000|37940\n内倾|0x40000000|1123\n内情|0x100000|21765\n内丘|0x0080|1072\n内圈|0x0008|1498\n内燃|0x20000000|965\n内瓤|0x100000|0\n内热|0x100000|45954\n内人|0x100000|45056\n内容|0x100000|422\n内嫂|0x0008|0\n内伤|0x100000|37037\n内设|0x1000|768\n内省|0x1000|31766\n内侍|0x100000|974\n内室|0x100000|23439\n内胎|0x100000|48078\n内廷|0x0000|30842\n内庭|0x8000|1086\n内退|0x0000|48809\n内外|0x2000000|3401\n内文|0x0080|862\n内屋|0x100000|1060\n内务|0x100000|14470\n内线|0x100000|14855\n内陷|0x0000|55405\n内乡|0x0040|1458\n内详|0x1000|52367\n内向|0x1000|17666\n内项|0x100000|1077\n内销|0x1000|24844\n内心|0x100000|2147\n内行|0x100000|13424\n内兄|0x100000|48810\n内秀|0x40000000|46841\n内需|0x100000|6772\n内焰|0x100000|1321\n内野|0x0000|394\n内衣|0x100000|11779\n内因|0x100000|20579\n内应|0x100000|29877\n内忧|0x100000|999\n内源|0x20000000|980\n内院|0x0000|482\n内蕴|0x100000|31067\n内在|0x1000|3325\n内脏|0x100000|17508\n内宅|0x100000|31767\n内债|0x100000|43473\n内战|0x100000|7286\n内障|0x100000|1193\n内争|0x100000|45956\n内政|0x100000|6185\n内脂|0x0008|0\n内侄|0x100000|45649\n内酯|0x100000|949\n内痔|0x100000|52864\n内置|0x20000000|551\n内中|0x0000|36018\n内助|0x100000|32278\n内柱|0x0008|0\n内资|0x100000|20095\n内子|0x100000|0\n内阻|0x100000|987\n那霸|0x0080|1085\n那般|0x0008|15930\n那边|0x10000|3732\n那儿|0x10000|540\n那个|0x10000|960\n那里|0x10000|667\n那么|0x10000|269\n那末|0x10000000|857\n那坡|0x0080|1517\n那曲|0x0040|1358\n那时|0x10000|1390\n那是|0x0000|877\n那晚|0x0008|995\n那些|0x10000|299\n那样|0x10000|530\n那种|0x10000|495\n纳采|0x0080|1145\n纳粹|0x100000|9654\n纳福|0x1000|47433\n纳贡|0x1000|45346\n纳罕|0x40000000|54885\n纳贿|0x1000|34823\n纳谏|0x1000|32544\n纳降|0x1000|48447\n纳凉|0x1000|25836\n纳粮|0x1000|42755\n纳闷|0x40000000|599\n纳米|0x100000|7696\n纳诺|0x0080|1155\n纳聘|0x1000|0\n纳妾|0x1000|34353\n纳入|0x1000|2895\n纳税|0x1000|5028\n纳西|0x0008|1352\n纳新|0x0000|43943\n纳雍|0x0040|1023\n钠泵|0x100000|1310\n钠灯|0x100000|969\n钠盐|0x0008|1514\n乃东|0x0080|1060\n乃尔|0x8000000|997\n乃蛮|0x100000|1168\n乃是|0x1000|5024\n乃至|0x10000000|2714\n奶茶|0x100000|30419\n奶粉|0x100000|10340\n奶糕|0x0000|55790\n奶酒|0x0000|53872\n奶酪|0x100000|26696\n奶妈|0x100000|12204\n奶名|0x100000|52361\n奶奶|0x100000|2872\n奶娘|0x100000|37392\n奶牛|0x100000|6692\n奶皮|0x100000|1084\n奶品|0x0008|51084\n奶瓶|0x100000|32275\n奶水|0x100000|27132\n奶糖|0x100000|44769\n奶头|0x100000|32406\n奶昔|0x100000|885\n奶腥|0x0000|54405\n奶牙|0x100000|1272\n奶羊|0x100000|45055\n奶油|0x100000|21965\n奶源|0x100000|479\n奶罩|0x100000|52857\n奶汁|0x0008|36335\n奶子|0x100000|22744\n奶嘴|0x100000|52858\n氖灯|0x100000|1127\n奈何|0x1000|7665\n奈良|0x0040|1400\n耐穿|0x40000000|47434\n耐烦|0x1000|33547\n耐寒|0x40000000|29233\n耐旱|0x40000000|32153\n耐火|0x40000000|36849\n耐饥|0x40000000|50663\n耐久|0x40000000|29971\n耐看|0x40000000|33023\n耐劳|0x40000000|36503\n耐力|0x100000|19316\n耐磨|0x40000000|29767\n耐热|0x40000000|30737\n耐受|0x1000|837\n耐水|0x0080|1464\n耐酸|0x40000000|843\n耐温|0x40000000|882\n耐心|0x40000000|4281\n耐性|0x100000|25036\n耐压|0x0008|829\n耐药|0x1000|874\n耐用|0x40000000|18279\n耐震|0x1000|1072\n萘酚|0x100000|1106\n囡囡|0x100000|1243\n男伴|0x100000|910\n男宾|0x100000|42500\n男厕|0x0080|51085\n男娼|0x0080|0\n男单|0x100000|10606\n男丁|0x100000|916\n男队|0x100000|1427\n男儿|0x100000|16996\n男方|0x100000|18590\n男工|0x0080|36336\n男孩|0x100000|491\n男妓|0x0008|484\n男家|0x100000|37748\n男爵|0x100000|853\n男科|0x100000|51495\n男客|0x0080|1085\n男篮|0x100000|11726\n男模|0x100000|48805\n男女|0x100000|2090\n男排|0x100000|13837\n男乒|0x0000|46837\n男仆|0x100000|1009\n男权|0x100000|869\n男人|0x100000|4386\n男色|0x0000|504\n男生|0x100000|9909\n男声|0x100000|35541\n男士|0x100000|15400\n男式|0x20000000|32407\n男双|0x100000|14495\n男童|0x100000|791\n男团|0x100000|955\n男娃|0x100000|1042\n男巫|0x0000|439\n男校|0x100000|999\n男性|0x100000|6363\n男衣|0x0008|1221\n男婴|0x100000|29972\n男友|0x100000|494\n男装|0x100000|24382\n男子|0x100000|1232\n男足|0x100000|28742\n南安|0x0040|1187\n南岸|0x8000|683\n南澳|0x0080|1338\n南北|0x2000000|3163\n南边|0x100000|13331\n南部|0x2000000|3095\n南侧|0x2000000|769\n南昌|0x0040|5590\n南朝|0x4000|20515\n南城|0x0040|1206\n南充|0x0040|1114\n南川|0x0040|1232\n南大|0x100000|577\n南丹|0x0040|1355\n南岛|0x100000|941\n南端|0x2000000|782\n南段|0x2000000|854\n南方|0x2000000|2144\n南房|0x0000|44771\n南非|0x0040|3855\n南丰|0x0080|1368\n南风|0x100000|1187\n南宫|0x0080|1194\n南瓜|0x100000|14813\n南国|0x8000|16791\n南海|0x0040|8041\n南韩|0x0008|778\n南汉|0x0008|1066\n南和|0x0080|1408\n南胡|0x100000|368\n南湖|0x0040|1144\n南华|0x0080|1197\n南汇|0x0080|1170\n南货|0x100000|43944\n南极|0x0040|7405\n南江|0x0040|1395\n南疆|0x8000|1291\n南郊|0x8000|768\n南京|0x0040|1317\n南靖|0x0080|1466\n南军|0x100000|1050\n南开|0x0008|1048\n南康|0x0040|1438\n南乐|0x0080|1538\n南凉|0x0008|0\n南岭|0x0040|1421\n南陵|0x0080|1454\n南麓|0x2000000|24964\n南吕|0x0008|1113\n南蛮|0x100000|912\n南美|0x0040|1040\n南门|0x100000|706\n南面|0x1000|14195\n南宁|0x0040|5794\n南欧|0x0040|33658\n南皮|0x0080|1392\n南平|0x0040|1157\n南坪|0x0040|1320\n南齐|0x4000|992\n南迁|0x1000|491\n南区|0x100000|1042\n南拳|0x0000|44183\n南沙|0x0080|1123\n南山|0x0040|583\n南式|0x0000|54886\n南宋|0x4000|14083\n南唐|0x0008|897\n南特|0x0040|1450\n南通|0x0040|904\n南头|0x2000000|35393\n南投|0x0040|1280\n南王|0x0008|1008\n南纬|0x100000|42756\n南溪|0x0080|1430\n南锡|0x0040|1010\n南戏|0x0000|35697\n南下|0x1000|6828\n南县|0x0040|1486\n南向|0x0080|829\n南星|0x0008|1451\n南行|0x1000|883\n南雄|0x0040|1373\n南巡|0x1000|866\n南亚|0x0040|7637\n南燕|0x0008|1013\n南阳|0x0040|981\n南洋|0x0008|15980\n南音|0x0000|46527\n南岳|0x0040|1346\n南粤|0x0040|1238\n南越|0x0008|1496\n南漳|0x0080|1525\n南召|0x0080|1522\n南诏|0x100000|912\n南郑|0x0080|1539\n南中|0x100000|1549\n南竹|0x0080|1078\n难熬|0x40000000|21077\n难办|0x40000000|791\n难胞|0x100000|1355\n难保|0x1000|16488\n难缠|0x40000000|32785\n难产|0x1000|21535\n难吃|0x40000000|701\n难处|0x100000|10865\n难当|0x1000|757\n难倒|0x1000|796\n难道|0x8000000|2116\n难得|0x40000000|2985\n难点|0x100000|5166\n难懂|0x40000000|731\n难度|0x100000|3792\n难怪|0x1000|6903\n难关|0x100000|9053\n难过|0x1000|4865\n难解|0x40000000|740\n难经|0x100000|1073\n难堪|0x40000000|8619\n难看|0x40000000|8749\n难觅|0x1000|766\n难免|0x8000000|4966\n难民|0x100000|5993\n难耐|0x40000000|21488\n难侨|0x100000|1209\n难人|0x40000000|419\n难忍|0x1000|19528\n难色|0x100000|29876\n难事|0x100000|13671\n难受|0x40000000|5905\n难说|0x8000000|37749\n难题|0x100000|2816\n难听|0x40000000|14892\n难忘|0x40000000|5900\n难为|0x1000|31066\n难闻|0x40000000|764\n难言|0x1000|16469\n难以|0x8000000|918\n难易|0x100000|536\n难友|0x100000|29768\n难于|0x1000|10727\n难找|0x40000000|691\n难治|0x0000|556\n难属|0x100000|0\n难住|0x1000|875\n难字|0x100000|51922\n喃喃|0x80000|9472\n楠木|0x100000|25772\n赧然|0x0100|48807\n赧颜|0x1000|47435\n囊虫|0x100000|49896\n囊括|0x1000|15981\n囊胚|0x100000|1228\n囊谦|0x0080|1174\n囊膪|0x100000|0\n囊中|0x8000|729\n囊肿|0x100000|36851\n孬种|0x100000|33938\n呶呶|0x0100|1082\n挠度|0x100000|1091\n挠钩|0x100000|54406\n挠曲|0x1000|1150\n挠头|0x1000|33659\n挠痒|0x1000|50286\n硇砂|0x100000|1315\n铙钹|0x100000|52860\n蛲虫|0x100000|55791\n恼恨|0x40000000|32408\n恼火|0x40000000|15044\n恼怒|0x1000|15742\n恼人|0x40000000|32545\n脑波|0x0080|951\n脑部|0x8000|757\n脑袋|0x100000|3244\n脑儿|0x100000|1063\n脑干|0x100000|33939\n脑瓜|0x100000|870\n脑海|0x100000|8813\n脑后|0x100000|623\n脑际|0x100000|27392\n脑浆|0x100000|31882\n脑筋|0x100000|11325\n脑壳|0x100000|15743\n脑空|0x0080|0\n脑力|0x100000|24288\n脑量|0x0080|1251\n脑瘤|0x100000|37210\n脑颅|0x100000|1127\n脑门|0x100000|734\n脑膜|0x100000|37750\n脑室|0x100000|48808\n脑髓|0x100000|38933\n脑瘫|0x0000|31186\n脑学|0x0080|0\n脑炎|0x100000|33940\n脑胀|0x1000|907\n脑汁|0x100000|40184\n脑子|0x100000|4099\n瑙鲁|0x0040|1051\n闹病|0x1000|40844\n闹场|0x1000|1020\n闹翻|0x1000|786\n闹房|0x1000|41515\n闹鬼|0x1000|33798\n闹哄|0x1000|29234\n闹剧|0x100000|17180\n闹铃|0x0008|1301\n闹闹|0x0000|605\n闹气|0x1000|39338\n闹区|0x0008|976\n闹嚷|0x1000|0\n闹热|0x40000000|1031\n闹市|0x100000|18062\n闹事|0x1000|12361\n闹腾|0x1000|24135\n闹戏|0x100000|52364\n闹心|0x40000000|43717\n闹灾|0x1000|53360\n闹钟|0x100000|23438\n讷河|0x0040|1538\n讷讷|0x0100|33660\n呐喊|0x1000|9922\n呢料|0x0008|51087\n呢帽|0x100000|1139\n呢喃|0x1000|31069\n呢绒|0x100000|35255\n呢子|0x100000|36683\n嫩白|0x20000000|44185\n嫩草|0x100000|869\n嫩肤|0x100000|802\n嫩红|0x100000|51498\n嫩滑|0x0000|51923\n嫩黄|0x100000|39134\n嫩江|0x0040|1467\n嫩绿|0x100000|21725\n嫩苗|0x100000|1134\n嫩嫩|0x0100|580\n嫩肉|0x0000|494\n嫩乳|0x100000|378\n嫩弱|0x0000|51499\n嫩芽|0x100000|30625\n嫩叶|0x100000|896\n嫩枝|0x100000|1028\n能带|0x0008|709\n能动|0x1000|16658\n能否|0x8000000|2415\n能干|0x40000000|11797\n能够|0x1000|249\n能耗|0x1000|9746\n能级|0x100000|997\n能力|0x100000|402\n能量|0x100000|4600\n能耐|0x100000|12120\n能人|0x100000|18925\n能事|0x100000|822\n能手|0x100000|8283\n能效|0x0000|47437\n能行|0x1000|586\n能用|0x40000000|713\n能源|0x100000|1750\n能者|0x100000|886\n嗯嗯|0x0000|582\n妮子|0x100000|28556\n尼庵|0x0040|1137\n尼采|0x0080|1229\n尼姑|0x100000|14702\n尼康|0x0008|1078\n尼克|0x0080|1314\n尼龙|0x100000|22500\n尼玛|0x0080|1530\n尼木|0x0040|1103\n尼斯|0x0080|1144\n泥巴|0x100000|16378\n泥封|0x100000|1085\n泥垢|0x100000|49544\n泥古|0x1000|0\n泥灰|0x0000|396\n泥浆|0x100000|19279\n泥匠|0x100000|0\n泥坑|0x100000|26138\n泥疗|0x100000|1224\n泥煤|0x100000|1188\n泥淖|0x100000|38317\n泥泞|0x40000000|14084\n泥坯|0x0000|45650\n泥鳅|0x100000|22172\n泥人|0x100000|25210\n泥沙|0x100000|9333\n泥水|0x100000|842\n泥塑|0x100000|21679\n泥胎|0x100000|46843\n泥滩|0x100000|1130\n泥潭|0x100000|18724\n泥炭|0x100000|36684\n泥塘|0x100000|37038\n泥土|0x100000|7327\n泥丸|0x100000|981\n泥污|0x100000|45957\n泥岩|0x100000|1127\n泥沼|0x100000|29343\n泥子|0x0000|55939\n霓虹|0x100000|31188\n霓裳|0x100000|739\n你好|0x800000|495\n你家|0x10000|574\n你将|0x0000|698\n你们|0x10000|369\n你瞧|0x0000|578\n你想|0x0000|809\n拟办|0x1000|1100\n拟订|0x1000|20362\n拟定|0x1000|10553\n拟稿|0x1000|42000\n拟古|0x1000|46845\n拟合|0x1000|959\n拟建|0x1000|557\n拟就|0x1000|1027\n拟具|0x0008|1\n拟人|0x100000|35855\n拟态|0x100000|53874\n拟图|0x100000|0\n拟议|0x100000|30843\n拟音|0x100000|1197\n拟于|0x0000|27548\n拟制|0x1000|1018\n拟作|0x100000|39559\n昵爱|0x40000000|0\n昵称|0x100000|42757\n逆差|0x100000|14455\n逆产|0x100000|1394\n逆党|0x0000|46529\n逆耳|0x40000000|36183\n逆反|0x1000|31071\n逆风|0x100000|32279\n逆光|0x1000|41066\n逆火|0x0000|422\n逆境|0x100000|15891\n逆料|0x1000|34670\n逆流|0x100000|21234\n逆旅|0x100000|992\n逆水|0x1000|39974\n逆温|0x100000|1213\n逆向|0x1000|24647\n逆行|0x1000|34355\n逆序|0x100000|961\n逆贼|0x100000|45958\n逆转|0x1000|15488\n逆子|0x100000|36184\n匿报|0x1000|55792\n匿藏|0x1000|43240\n匿伏|0x1000|1292\n匿迹|0x1000|49545\n匿名|0x1000|22688\n溺爱|0x40000000|21917\n溺谷|0x100000|0\n溺水|0x1000|26064\n溺死|0x1000|26828\n溺婴|0x1000|51924\n睨视|0x0000|43946\n腻虫|0x100000|1285\n腻烦|0x40000000|37039\n腻人|0x40000000|44775\n腻歪|0x40000000|926\n腻味|0x40000000|36185\n腻友|0x100000|0\n腻子|0x100000|55939\n拈度|0x0008|0\n拈阄|0x0000|54409\n拈线|0x0008|0\n拈香|0x1000|1096\n年报|0x100000|24649\n年辈|0x100000|1311\n年表|0x100000|30420\n年菜|0x100000|1044\n年产|0x100000|6359\n年长|0x1000|15549\n年成|0x100000|23440\n年齿|0x100000|0\n年初|0x4000|4029\n年代|0x100000|580\n年底|0x4000|3263\n年度|0x100000|2882\n年饭|0x100000|27866\n年费|0x0080|549\n年分|0x0080|1\n年份|0x100000|11697\n年俸|0x100000|1188\n年高|0x1000|856\n年糕|0x100000|24581\n年根|0x4000|41754\n年庚|0x100000|43947\n年关|0x4000|18175\n年光|0x100000|1018\n年号|0x100000|22226\n年后|0x4000|496\n年华|0x100000|11877\n年画|0x100000|11780\n年会|0x100000|5661\n年货|0x100000|13178\n年级|0x100000|3799\n年纪|0x100000|3536\n年假|0x100000|37574\n年间|0x100000|6595\n年检|0x100000|14408\n年鉴|0x100000|21162\n年节|0x100000|22689\n年届|0x0000|29344\n年金|0x100000|19634\n年景|0x100000|22287\n年均|0x20000000|5448\n年刊|0x100000|42001\n年来|0x0080|42263\n年老|0x1000|649\n年礼|0x100000|38126\n年历|0x100000|35394\n年利|0x100000|49546\n年龄|0x100000|1485\n年率|0x100000|934\n年轮|0x100000|22173\n年迈|0x40000000|18005\n年满|0x1000|796\n年貌|0x100000|0\n年末|0x4000|12829\n年内|0x4000|6413\n年年|0x20000|6737\n年票|0x100000|942\n年谱|0x100000|31653\n年前|0x4000|4544\n年青|0x40000000|697\n年轻|0x40000000|697\n年少|0x100000|20363\n年审|0x100000|812\n年时|0x100000|746\n年事|0x100000|42002\n年寿|0x100000|0\n年岁|0x100000|14989\n年头|0x100000|556\n年尾|0x4000|45651\n年息|0x100000|41755\n年辖|0x0080|0\n年下|0x4000|22417\n年限|0x100000|10874\n年宵|0x4000|1053\n年薪|0x100000|13859\n年兄|0x100000|1236\n年休|0x100000|1124\n年夜|0x0000|41295\n年幼|0x40000000|18122\n年逾|0x0080|479\n年月|0x100000|12557\n年中|0x4000|10912\n年终|0x4000|8709\n年资|0x100000|46250\n年尊|0x1000|0\n鲇鱼|0x0000|36853\n鲶鱼|0x100000|889\n黏稠|0x40000000|40846\n黏度|0x100000|53364\n黏附|0x1000|54890\n黏糊|0x40000000|48813\n黏胶|0x0080|1148\n黏结|0x1000|1064\n黏米|0x100000|55793\n黏膜|0x100000|36854\n黏贴|0x1000|1048\n黏土|0x100000|43719\n黏涎|0x40000000|0\n黏性|0x100000|55887\n黏液|0x100000|50666\n黏住|0x1000|1041\n黏着|0x1000|53365\n捻度|0x100000|1146\n捻接|0x1000|0\n捻军|0x100000|1099\n捻线|0x100000|988\n捻子|0x100000|38935\n撵出|0x1000|0\n撵走|0x1000|941\n碾场|0x1000|0\n碾坊|0x100000|32786\n碾米|0x1000|963\n碾磨|0x100000|1028\n碾盘|0x100000|31189\n碾碎|0x1000|868\n碾砣|0x100000|0\n碾压|0x1000|897\n碾轧|0x1000|1128\n碾子|0x100000|34356\n念白|0x100000|38520\n念错|0x0000|491\n念叨|0x1000|16280\n念道|0x1000|829\n念佛|0x1000|24845\n念及|0x0000|27951\n念经|0x1000|19280\n念旧|0x40000000|38521\n念念|0x1000|785\n念书|0x1000|8455\n念诵|0x1000|46251\n念头|0x100000|5360\n念物|0x0000|44472\n念咒|0x1000|36186\n念珠|0x100000|38318\n娘家|0x100000|8254\n娘舅|0x100000|961\n娘娘|0x100000|742\n娘亲|0x100000|46530\n娘胎|0x100000|40847\n娘子|0x100000|9804\n酿成|0x1000|10560\n酿祸|0x1000|1168\n酿酒|0x1000|16470\n酿造|0x1000|18626\n酿制|0x1000|35698\n鸟巢|0x100000|23279\n鸟铳|0x0000|45348\n鸟蛋|0x100000|922\n鸟店|0x0040|0\n鸟儿|0x100000|625\n鸟粪|0x100000|1013\n鸟纲|0x100000|0\n鸟害|0x100000|1256\n鸟瞰|0x100000|26697\n鸟类|0x100000|7488\n鸟笼|0x100000|18512\n鸟鸣|0x100000|778\n鸟枪|0x100000|38522\n鸟雀|0x100000|32154\n鸟群|0x100000|925\n鸟人|0x100000|547\n鸟声|0x100000|929\n鸟兽|0x100000|23878\n鸟窝|0x100000|884\n鸟翼|0x0040|1102\n鸟浴|0x1000|0\n鸟园|0x0040|1018\n鸟嘴|0x0040|1011\n袅娜|0x40000000|36019\n袅袅|0x1000|16873\n袅绕|0x1000|1010\n尿闭|0x1000|0\n尿布|0x100000|24965\n尿床|0x1000|43474\n尿道|0x100000|32787\n尿肥|0x100000|1533\n尿壶|0x100000|54410\n尿急|0x0000|48814\n尿检|0x100000|49188\n尿炕|0x1000|1149\n尿尿|0x0000|36187\n尿脬|0x100000|0\n尿泡|0x100000|41564\n尿盆|0x100000|35543\n尿频|0x0008|51088\n尿素|0x100000|15550\n尿酸|0x0008|46846\n尿糖|0x100000|1020\n尿血|0x1000|51925\n尿液|0x100000|34519\n尿浊|0x100000|0\n脲酶|0x0080|0\n捏词|0x1000|0\n捏合|0x1000|45959\n捏积|0x1000|0\n捏弄|0x1000|48815\n捏碎|0x0000|500\n捏造|0x1000|15565\n涅盘|0x0000|583\n涅槃|0x1000|30626\n涅磐|0x100000|746\n聂荣|0x0080|1140\n啮齿|0x20000000|1017\n啮合|0x1000|989\n啮噬|0x1000|0\n嗫嚅|0x1000|18439\n镊子|0x100000|32410\n镍币|0x100000|53366\n镍钢|0x100000|1173\n颞骨|0x100000|1166\n颞颥|0x100000|1296\n蹑踪|0x1000|1254\n蹑足|0x1000|45349\n孽根|0x100000|55407\n孽海|0x100000|1004\n孽债|0x0000|49899\n孽障|0x100000|41296\n孽种|0x100000|40187\n蘖枝|0x100000|1534\n您好|0x800000|520\n您老|0x10000|807\n您早|0x0008|0\n宁安|0x0040|1488\n宁波|0x0040|763\n宁城|0x0040|1494\n宁德|0x0040|1203\n宁都|0x100000|1438\n宁冈|0x100000|1146\n宁国|0x0040|1227\n宁海|0x0080|1139\n宁河|0x0040|1402\n宁化|0x0080|1531\n宁津|0x0080|1395\n宁晋|0x0080|1478\n宁靖|0x40000000|1047\n宁静|0x40000000|6647\n宁可|0x10000000|8701\n宁肯|0x10000000|14223\n宁陵|0x0080|1538\n宁谧|0x40000000|965\n宁明|0x0080|1552\n宁南|0x0080|1006\n宁强|0x0080|995\n宁日|0x100000|31532\n宁陕|0x0040|999\n宁帖|0x40000000|0\n宁武|0x0080|1530\n宁夏|0x0040|3827\n宁县|0x0040|1411\n宁乡|0x0040|1360\n宁阳|0x0080|1467\n宁远|0x0040|1410\n宁愿|0x10000000|10469\n拧断|0x0080|1\n拧紧|0x1000|915\n拧开|0x0080|493\n拧拧|0x0080|0\n拧松|0x0080|1\n狞恶|0x40000000|1139\n狞笑|0x1000|24337\n柠檬|0x100000|28941\n凝成|0x1000|796\n凝定|0x1000|0\n凝冻|0x1000|51502\n凝固|0x1000|10089\n凝合|0x1000|0\n凝华|0x1000|1073\n凝集|0x1000|32546\n凝胶|0x100000|783\n凝结|0x1000|10521\n凝聚|0x1000|3912\n凝练|0x40000000|32023\n凝眸|0x1000|30080\n凝目|0x1000|46847\n凝乳|0x100000|1057\n凝神|0x1000|16059\n凝视|0x1000|8976\n凝思|0x1000|35544\n凝缩|0x0000|52370\n凝望|0x1000|15724\n凝想|0x1000|48449\n凝血|0x0000|515\n凝脂|0x100000|41757\n凝止|0x1000|0\n凝滞|0x1000|32280\n凝重|0x40000000|12755\n凝注|0x1000|1033\n佞臣|0x100000|38726\n佞人|0x0000|50668\n佞笑|0x1000|0\n妞儿|0x100000|869\n妞妞|0x100000|32024\n妞子|0x100000|0\n牛扒|0x100000|55796\n牛蒡|0x100000|42760\n牛鞭|0x100000|921\n牛槽|0x100000|1343\n牛车|0x100000|19988\n牛洞|0x0040|0\n牛痘|0x100000|41517\n牛犊|0x100000|17639\n牛顿|0x20000|590\n牛轭|0x0080|0\n牛耳|0x100000|1443\n牛粪|0x100000|798\n牛倌|0x0080|45961\n牛黄|0x100000|34210\n牛腱|0x0080|0\n牛角|0x100000|25773\n牛津|0x0040|1104\n牛筋|0x100000|47780\n牛劲|0x100000|44473\n牛栏|0x100000|28478\n牛郎|0x0080|769\n牛马|0x100000|18093\n牛毛|0x100000|39560\n牛虻|0x100000|37211\n牛奶|0x100000|7505\n牛腩|0x100000|894\n牛年|0x4000|1082\n牛排|0x100000|33942\n牛棚|0x100000|17569\n牛皮|0x100000|16659\n牛气|0x100000|37575\n牛圈|0x0000|37040\n牛群|0x0080|817\n牛肉|0x100000|584\n牛乳|0x100000|925\n牛舌|0x0080|0\n牛舍|0x100000|1142\n牛市|0x100000|42264\n牛头|0x100000|765\n牛哇|0x0040|0\n牛蛙|0x100000|40848\n牛尾|0x100000|942\n牛瘟|0x100000|50669\n牛膝|0x100000|997\n牛性|0x100000|1265\n牛鞅|0x100000|0\n牛羊|0x0000|599\n牛疫|0x0080|1\n牛饮|0x0000|49547\n牛蝇|0x0080|1273\n牛油|0x100000|812\n牛至|0x0080|0\n牛仔|0x100000|23280\n忸怩|0x40000000|25986\n扭摆|0x1000|48816\n扭扯|0x1000|1317\n扭秤|0x100000|1374\n扭搭|0x1000|1292\n扭打|0x1000|33800\n扭动|0x1000|16997\n扭断|0x1000|906\n扭绞|0x0000|388\n扭结|0x1000|45653\n扭矩|0x100000|765\n扭亏|0x1000|11590\n扭力|0x100000|822\n扭捏|0x40000000|31072\n扭曲|0x1000|9854\n扭伤|0x1000|28558\n扭身|0x1000|0\n扭送|0x1000|35395\n扭头|0x1000|10288\n扭折|0x0008|0\n扭住|0x0000|459\n扭转|0x1000|6374\n纽埃|0x0040|1084\n纽带|0x100000|6627\n纽结|0x1000|0\n纽扣|0x100000|22946\n纽襻|0x100000|1538\n纽约|0x0040|813\n纽子|0x100000|51927\n钮扣|0x100000|760\n钮子|0x100000|0\n农安|0x0080|1024\n农仓|0x0080|0\n农产|0x100000|908\n农场|0x100000|4492\n农村|0x100000|416\n农大|0x100000|773\n农贷|0x100000|29039\n农地|0x100000|942\n农电|0x100000|856\n农夫|0x100000|20287\n农妇|0x100000|20953\n农耕|0x100000|21202\n农工|0x100000|15533\n农户|0x100000|2794\n农会|0x100000|21918\n农活|0x100000|829\n农机|0x100000|7605\n农技|0x100000|787\n农家|0x100000|5130\n农经|0x100000|885\n农具|0x100000|13750\n农科|0x100000|862\n农垦|0x1000|10962\n农历|0x100000|10101\n农林|0x100000|12097\n农忙|0x1000|20580\n农贸|0x100000|540\n农民|0x100000|298\n农膜|0x100000|31769\n农牧|0x100000|761\n农奴|0x100000|16402\n农渠|0x0080|0\n农人|0x100000|885\n农桑|0x100000|1019\n农舍|0x100000|22065\n农时|0x100000|24136\n农事|0x100000|22947\n农田|0x100000|4521\n农务|0x100000|1034\n农闲|0x4000|19139\n农校|0x100000|985\n农协|0x100000|1108\n农械|0x100000|1232\n农行|0x100000|705\n农畜|0x100000|989\n农学|0x100000|821\n农谚|0x100000|49900\n农药|0x100000|4120\n农业|0x100000|756\n农艺|0x100000|32659\n农用|0x20000000|11908\n农友|0x100000|43948\n农园|0x100000|976\n农专|0x100000|1172\n农庄|0x100000|21726\n农资|0x100000|6228\n农作|0x100000|1018\n哝哝|0x1000|32911\n浓茶|0x100000|811\n浓淡|0x100000|29771\n浓度|0x100000|6917\n浓黑|0x100000|908\n浓厚|0x40000000|5740\n浓烈|0x40000000|14642\n浓绿|0x100000|31190\n浓眉|0x100000|25910\n浓密|0x40000000|19281\n浓浓|0x0100|586\n浓缩|0x1000|11479\n浓汤|0x100000|863\n浓雾|0x100000|22993\n浓相|0x100000|0\n浓香|0x100000|32281\n浓烟|0x100000|15566\n浓艳|0x40000000|38129\n浓阴|0x0000|52867\n浓荫|0x100000|930\n浓郁|0x40000000|7455\n浓汁|0x100000|1019\n浓重|0x40000000|12379\n浓妆|0x100000|31883\n脓包|0x100000|44186\n脓疮|0x100000|45654\n脓胸|0x100000|0\n脓血|0x100000|981\n脓肿|0x100000|50289\n弄潮|0x1000|895\n弄臣|0x100000|1053\n弄错|0x1000|752\n弄得|0x1000|724\n弄懂|0x1000|527\n弄断|0x0000|467\n弄鬼|0x1000|43720\n弄好|0x0008|690\n弄坏|0x0000|537\n弄假|0x1000|0\n弄口|0x100000|1065\n弄乱|0x1000|478\n弄清|0x1000|710\n弄权|0x1000|36505\n弄死|0x0000|526\n弄堂|0x100000|16949\n弄瓦|0x1000|1216\n弄污|0x0000|382\n弄醒|0x0000|506\n弄脏|0x1000|561\n弄糟|0x0000|389\n弄皱|0x0000|395\n奴婢|0x100000|14966\n奴才|0x100000|13050\n奴化|0x1000|49189\n奴家|0x100000|950\n奴隶|0x100000|6375\n奴仆|0x100000|20019\n奴性|0x100000|41518\n奴役|0x1000|16471\n驽钝|0x40000000|52868\n驽马|0x100000|1100\n努力|0x40000000|353\n努嘴|0x1000|33025\n弩弓|0x100000|1065\n弩机|0x100000|1097\n弩箭|0x100000|953\n弩手|0x100000|1095\n怒潮|0x100000|36020\n怒叱|0x1000|1045\n怒斥|0x1000|31654\n怒放|0x1000|23814\n怒号|0x1000|43241\n怒喝|0x100000|38936\n怒吼|0x1000|18212\n怒火|0x100000|15551\n怒江|0x0040|1315\n怒马|0x100000|1015\n怒骂|0x1000|29973\n怒目|0x100000|19676\n怒气|0x100000|13088\n怒容|0x100000|27393\n怒色|0x100000|43721\n怒视|0x1000|32912\n怒涛|0x100000|38937\n怒意|0x0080|537\n怒责|0x0080|1\n怒族|0x0008|48817\n女伴|0x100000|23334\n女宾|0x100000|31073\n女兵|0x100000|11468\n女厕|0x100000|45962\n女车|0x0000|48818\n女单|0x100000|10843\n女弟|0x100000|0\n女队|0x100000|868\n女儿|0x100000|933\n女方|0x100000|16079\n女服|0x100000|1011\n女工|0x100000|6687\n女鬼|0x0000|578\n女孩|0x100000|477\n女红|0x100000|35256\n女皇|0x100000|24137\n女家|0x100000|42003\n女监|0x0000|51089\n女将|0x100000|15321\n女角|0x100000|30844\n女杰|0x100000|849\n女警|0x100000|799\n女眷|0x100000|31655\n女裤|0x100000|619\n女篮|0x100000|12400\n女郎|0x100000|11319\n女垒|0x100000|1019\n女伶|0x100000|1011\n女流|0x100000|31074\n女帽|0x0008|1099\n女奴|0x100000|43475\n女排|0x100000|6930\n女仆|0x100000|15061\n女气|0x0000|46531\n女墙|0x100000|49190\n女权|0x100000|27472\n女裙|0x0008|1203\n女人|0x100000|20207\n女色|0x100000|27394\n女神|0x100000|12558\n女生|0x100000|6879\n女声|0x100000|27550\n女尸|0x100000|772\n女史|0x100000|1061\n女士|0x100000|1869\n女式|0x20000000|31422\n女侍|0x100000|947\n女双|0x100000|14430\n女童|0x100000|756\n女娃|0x100000|886\n女娲|0x0080|26471\n女王|0x100000|14163\n女巫|0x100000|32547\n女相|0x0000|32025\n女校|0x100000|32155\n女鞋|0x100000|730\n女星|0x100000|502\n女性|0x100000|2143\n女婿|0x100000|7483\n女妖|0x100000|745\n女婴|0x100000|26829\n女佣|0x100000|18063\n女优|0x100000|49191\n女友|0x100000|12216\n女贞|0x100000|847\n女真|0x0008|20541\n女中|0x100000|860\n女装|0x100000|23707\n女子|0x100000|856\n女足|0x100000|6472\n疟疾|0x100000|14943\n疟蚊|0x0008|53877\n疟子|0x100000|52530\n虐待|0x1000|9467\n虐杀|0x1000|37945\n虐政|0x100000|1243\n暖冬|0x100000|28293\n暖房|0x100000|44776\n暖风|0x100000|34825\n暖锋|0x100000|1259\n暖阁|0x100000|21078\n暖和|0x40000000|12154\n暖壶|0x100000|34076\n暖炕|0x0000|50670\n暖流|0x100000|17046\n暖炉|0x100000|894\n暖暖|0x1000|515\n暖棚|0x0000|36337\n暖瓶|0x100000|32026\n暖气|0x100000|14366\n暖色|0x100000|41519\n暖室|0x0080|0\n暖通|0x100000|577\n暖袖|0x100000|0\n暖意|0x100000|21318\n暖种|0x100000|0\n挪步|0x0000|44187\n挪动|0x1000|18154\n挪借|0x1000|53369\n挪开|0x1000|873\n挪挪|0x1000|0\n挪威|0x0040|1038\n挪窝|0x0008|951\n挪移|0x1000|824\n挪用|0x1000|6796\n挪作|0x1000|973\n傩神|0x100000|0\n诺顿|0x0080|1155\n诺尔|0x0080|1328\n诺曼|0x0080|1422\n诺诺|0x80000|1402\n诺亚|0x0080|1242\n诺言|0x100000|15188\n搦管|0x1000|0\n搦战|0x1000|0\n懦夫|0x100000|28294\n懦怯|0x40000000|1105\n懦弱|0x40000000|16536\n糯稻|0x100000|53370\n糯米|0x100000|19345\n噢噢|0x80000|0\n讴歌|0x1000|10767\n讴吟|0x1000|1318\n欧风|0x100000|1483\n欧化|0x1000|42976\n欧陆|0x20000000|1211\n欧美|0x0040|9805\n欧盟|0x0020|2589\n欧姆|0x20000|24454\n欧芹|0x0080|0\n欧鸲|0x0080|0\n欧市|0x0008|1199\n欧式|0x20000000|665\n欧体|0x100000|1107\n欧文|0x0080|1166\n欧亚|0x100000|1155\n欧阳|0x0080|19591\n欧元|0x100000|4619\n欧洲|0x0040|1078\n殴打|0x1000|12529\n殴斗|0x1000|43478\n殴击|0x1000|0\n殴辱|0x1000|1317\n殴伤|0x1000|1160\n瓯江|0x0080|1515\n瓯绣|0x100000|0\n鸥鸟|0x100000|1074\n呕气|0x0008|451\n呕吐|0x1000|11275\n呕心|0x1000|917\n呕血|0x1000|40188\n呕哑|0x80000|1167\n偶氮|0x100000|950\n偶而|0x0000|561\n偶尔|0x8000000|5566\n偶发|0x20000000|38132\n偶犯|0x1000|3\n偶感|0x0000|43949\n偶合|0x1000|47142\n偶或|0x8000000|45351\n偶家|0x100000|548\n偶然|0x8000000|3702\n偶人|0x100000|1030\n偶数|0x100000|42977\n偶像|0x100000|11554\n偶遇|0x1000|36338\n耦合|0x1000|21489\n藕粉|0x100000|43950\n藕荷|0x100000|42004\n藕花|0x100000|0\n藕灰|0x100000|0\n藕节|0x0008|1082\n藕片|0x100000|975\n藕色|0x100000|47441\n藕丝|0x100000|1046\n怄气|0x1000|32788\n沤肥|0x100000|52870\n趴伏|0x1000|1085\n趴窝|0x1000|50671\n趴下|0x1000|727\n趴在|0x1000|572\n啪嚓|0x80000|55410\n啪嗒|0x80000|46532\n啪唧|0x80000|1216\n啪啦|0x80000|28388\n啪啪|0x80000|1184\n爬虫|0x100000|35699\n爬出|0x0000|592\n爬竿|0x1000|1195\n爬高|0x1000|957\n爬过|0x0000|536\n爬灰|0x1000|1167\n爬犁|0x100000|33801\n爬坡|0x0008|26910\n爬山|0x1000|635\n爬上|0x0000|673\n爬升|0x1000|41067\n爬绳|0x4000000|1237\n爬树|0x1000|806\n爬梯|0x100000|1033\n爬下|0x0000|513\n爬行|0x1000|16403\n爬泳|0x100000|1219\n耙地|0x100000|47916\n耙子|0x100000|40416\n筢子|0x100000|1364\n帕尔|0x0080|1539\n帕坦|0x0080|1183\n帕子|0x100000|1036\n怕冷|0x0000|531\n怕人|0x40000000|19168\n怕生|0x40000000|43722\n怕事|0x40000000|35856\n怕是|0x8000000|6887\n怕死|0x40000000|675\n怕羞|0x40000000|31533\n拍岸|0x1000|872\n拍案|0x1000|21361\n拍板|0x100000|16489\n拍打|0x1000|14442\n拍档|0x100000|729\n拍动|0x0000|442\n拍发|0x1000|42265\n拍花|0x0000|51929\n拍击|0x1000|914\n拍马|0x1000|25145\n拍卖|0x1000|5063\n拍拍|0x1000|557\n拍片|0x1000|741\n拍频|0x100000|1331\n拍平|0x1000|0\n拍摄|0x1000|4251\n拍手|0x1000|14930\n拍拖|0x1000|695\n拍戏|0x1000|31657\n拍掌|0x1000|921\n拍照|0x1000|12296\n拍砖|0x0008|530\n拍子|0x100000|26267\n俳句|0x100000|48819\n俳谐|0x100000|0\n俳优|0x100000|1099\n徘徊|0x1000|6965\n排班|0x1000|38133\n排版|0x1000|30421\n排比|0x100000|38939\n排笔|0x100000|53878\n排便|0x1000|841\n排布|0x1000|956\n排查|0x1000|9147\n排长|0x100000|785\n排场|0x100000|19677\n排成|0x1000|776\n排斥|0x1000|7324\n排出|0x1000|662\n排除|0x1000|4577\n排挡|0x100000|48079\n排档|0x100000|34358\n排定|0x1000|833\n排毒|0x0000|48080\n排队|0x1000|7090\n排筏|0x100000|1272\n排放|0x1000|4011\n排骨|0x100000|30422\n排灌|0x1000|879\n排汗|0x0000|487\n排号|0x1000|54891\n排洪|0x1000|1074\n排华|0x100000|1006\n排击|0x1000|0\n排挤|0x1000|17667\n排架|0x100000|1127\n排检|0x1000|0\n排解|0x1000|23548\n排开|0x1000|790\n排空|0x1000|36686\n排浪|0x1000|1097\n排涝|0x1000|25649\n排雷|0x1000|30628\n排练|0x100000|10886\n排量|0x100000|39135\n排列|0x100000|6118\n排律|0x100000|1170\n排卵|0x1000|30527\n排名|0x1000|5034\n排尿|0x1000|856\n排偶|0x100000|1258\n排排|0x20000|1101\n排炮|0x100000|49901\n排气|0x1000|24967\n排遣|0x1000|27631\n排枪|0x100000|43479\n排球|0x100000|8885\n排入|0x1000|917\n排水|0x1000|11261\n排他|0x1000|29878\n排坛|0x100000|1054\n排头|0x100000|39975\n排外|0x40000000|24338\n排尾|0x100000|50290\n排污|0x1000|8551\n排戏|0x1000|29444\n排险|0x1000|41297\n排线|0x0000|513\n排箫|0x100000|49902\n排泄|0x1000|18725\n排行|0x1000|21033\n排序|0x1000|20317\n排揎|0x1000|0\n排演|0x1000|14797\n排椅|0x100000|55412\n排异|0x1000|978\n排印|0x1000|35257\n排忧|0x1000|46255\n排阵|0x0000|42761\n排字|0x1000|36340\n牌匾|0x100000|19253\n牌儿|0x0000|38134\n牌坊|0x100000|19403\n牌风|0x0008|3\n牌号|0x100000|25358\n牌价|0x100000|36506\n牌九|0x4400000|33802\n牌局|0x100000|39976\n牌楼|0x100000|19678\n牌牌|0x100000|1\n牌示|0x100000|1\n牌位|0x100000|21444\n牌友|0x100000|913\n牌照|0x100000|14330\n牌桌|0x100000|917\n牌子|0x100000|5955\n哌啶|0x100000|1040\n派别|0x100000|9961\n派兵|0x1000|835\n派出|0x1000|626\n派定|0x0000|39136\n派对|0x100000|39756\n派发|0x1000|37212\n派饭|0x0000|37751\n派购|0x100000|55797\n派克|0x0008|1310\n派款|0x0000|51505\n派遣|0x1000|5992\n派人|0x0000|704\n派任|0x0000|48450\n派生|0x1000|21634\n派司|0x100000|1084\n派送|0x1000|42978\n派头|0x100000|16582\n派往|0x0000|548\n派系|0x100000|24582\n派性|0x100000|33943\n派员|0x1000|16326\n派驻|0x1000|11838\n蒎烷|0x4000000|0\n蒎烯|0x0080|0\n潘糖|0x0080|0\n攀比|0x1000|14893\n攀扯|0x1000|53371\n攀登|0x1000|8202\n攀附|0x1000|38523\n攀高|0x1000|825\n攀供|0x1000|0\n攀交|0x1000|0\n攀爬|0x1000|33548\n攀亲|0x1000|38524\n攀上|0x1000|554\n攀升|0x1000|9476\n攀树|0x0080|0\n攀索|0x0080|0\n攀谈|0x1000|21203\n攀岩|0x1000|18094\n攀援|0x1000|24455\n攀缘|0x1000|938\n攀越|0x1000|40849\n攀折|0x1000|45655\n盘剥|0x1000|29772\n盘查|0x1000|22839\n盘缠|0x100000|32789\n盘秤|0x100000|55970\n盘川|0x100000|1194\n盘存|0x1000|55415\n盘错|0x0100|0\n盘带|0x100000|879\n盘道|0x100000|1106\n盘底|0x1000|48451\n盘点|0x1000|21966\n盘店|0x1000|1033\n盘费|0x100000|48820\n盘亘|0x1000|0\n盘古|0x0008|31314\n盘桓|0x1000|26830\n盘活|0x1000|11604\n盘货|0x1000|52872\n盘诘|0x1000|45057\n盘结|0x1000|0\n盘锦|0x0040|1171\n盘究|0x1000|0\n盘踞|0x1000|21273\n盘菌|0x0080|0\n盘空|0x0000|54413\n盘库|0x1000|1200\n盘面|0x100000|776\n盘弄|0x1000|51506\n盘盘|0x20000|938\n盘片|0x0008|1304\n盘曲|0x0100|45656\n盘绕|0x1000|36507\n盘山|0x20000000|785\n盘石|0x100000|1\n盘算|0x1000|11058\n盘梯|0x100000|1360\n盘头|0x1000|1025\n盘腿|0x1000|23658\n盘陀|0x40000000|1154\n盘问|0x1000|16696\n盘膝|0x1000|875\n盘县|0x0040|998\n盘香|0x100000|55416\n盘旋|0x1000|11493\n盘运|0x1000|0\n盘账|0x1000|55940\n盘整|0x1000|810\n盘子|0x100000|10185\n盘坐|0x1000|40189\n磐安|0x0080|1398\n磐石|0x100000|31771\n磐英|0x0008|514\n蹒跚|0x0100|16874\n蟠龙|0x100000|31423\n蟠桃|0x100000|31885\n判案|0x1000|39977\n判别|0x1000|24516\n判处|0x1000|5332\n判词|0x100000|46533\n判定|0x1000|11572\n判读|0x1000|54415\n判断|0x1000|2207\n判罚|0x1000|26831\n判分|0x1000|54416\n判官|0x100000|22227\n判据|0x100000|1072\n判决|0x100000|3435\n判例|0x100000|42266\n判明|0x1000|38940\n判若|0x1000|1033\n判刑|0x1000|14760\n判罪|0x1000|46851\n泮溪|0x0008|1169\n叛变|0x1000|18441\n叛兵|0x0080|1205\n叛党|0x100000|32156\n叛匪|0x100000|47442\n叛国|0x1000|32549\n叛军|0x100000|20474\n叛离|0x1000|49193\n叛乱|0x100000|14798\n叛卖|0x1000|1192\n叛逆|0x100000|20619\n叛逃|0x1000|34826\n叛徒|0x100000|11346\n叛贼|0x100000|37395\n盼顾|0x1000|0\n盼盼|0x0008|1294\n盼头|0x100000|33944\n盼望|0x1000|5693\n滂沱|0x0100|31424\n庞大|0x40000000|4983\n庞德|0x0080|1485\n庞培|0x0080|412\n庞然|0x0100|1014\n庞杂|0x40000000|26832\n旁白|0x100000|33549\n旁边|0x2000000|2454\n旁侧|0x2000000|1028\n旁出|0x1000|52373\n旁顾|0x0000|35085\n旁观|0x1000|25430\n旁及|0x1000|47781\n旁路|0x100000|51090\n旁落|0x1000|36855\n旁门|0x100000|40417\n旁人|0x10000|8481\n旁听|0x1000|9486\n旁通|0x1000|45352\n旁骛|0x1000|1016\n旁系|0x20000000|44777\n旁证|0x100000|38941\n旁支|0x100000|48081\n旁注|0x100000|1048\n旁坐|0x1000|0\n螃蜞|0x0080|0\n螃蟹|0x100000|12297\n胖妞|0x100000|886\n胖胖|0x0100|652\n胖瘦|0x100000|869\n胖子|0x100000|8438\n抛出|0x0000|632\n抛费|0x1000|0\n抛光|0x1000|37946\n抛荒|0x1000|26553\n抛开|0x1000|609\n抛空|0x1000|1042\n抛离|0x1000|51931\n抛锚|0x1000|28295\n抛弃|0x1000|6725\n抛却|0x1000|42762\n抛撒|0x1000|36856\n抛洒|0x1000|36508\n抛射|0x1000|1028\n抛售|0x1000|25580\n抛丸|0x100000|829\n抛下|0x0000|598\n抛掷|0x1000|31425\n刨冰|0x100000|49712\n刨除|0x1000|54893\n刨床|0x100000|54134\n刨刀|0x100000|1074\n刨根|0x1000|1080\n刨工|0x100000|1161\n刨花|0x100000|44607\n刨食|0x0000|37576\n刨削|0x100000|1178\n刨子|0x100000|15992\n咆哮|0x1000|14603\n咆啸|0x0080|390\n庖厨|0x100000|47146\n庖代|0x1000|0\n庖丁|0x100000|1043\n狍子|0x100000|36342\n炮兵|0x100000|10195\n炮车|0x0008|42503\n炮弹|0x100000|10561\n炮管|0x0008|1\n炮轰|0x1000|30083\n炮灰|0x100000|42504\n炮火|0x100000|10998\n炮击|0x1000|21079\n炮舰|0x100000|38525\n炮口|0x100000|37947\n炮烙|0x100000|51092\n炮楼|0x100000|33422\n炮声|0x100000|864\n炮手|0x100000|32282\n炮塔|0x100000|47782\n炮台|0x100000|14544\n炮膛|0x100000|52874\n炮艇|0x100000|49903\n炮筒|0x100000|963\n炮位|0x100000|49194\n炮眼|0x100000|40851\n炮衣|0x100000|1280\n炮战|0x100000|43242\n炮仗|0x100000|28943\n炮制|0x1000|17594\n炮竹|0x100000|51509\n炮座|0x100000|1233\n袍服|0x100000|1065\n袍哥|0x100000|1090\n袍泽|0x100000|1100\n袍子|0x100000|16154\n跑遍|0x1000|799\n跑表|0x100000|1183\n跑步|0x1000|13010\n跑车|0x100000|25581\n跑出|0x0000|686\n跑刀|0x100000|0\n跑到|0x0000|782\n跑道|0x100000|13003\n跑电|0x1000|55798\n跑调|0x1000|45963\n跑掉|0x0000|588\n跑动|0x1000|26985\n跑肚|0x0000|50673\n跑反|0x0000|54417\n跑光|0x1000|42763\n跑过|0x0000|639\n跑回|0x0000|607\n跑街|0x0000|49549\n跑进|0x0000|617\n跑开|0x0000|571\n跑来|0x0000|668\n跑垒|0x100000|1159\n跑马|0x1000|24651\n跑跑|0x0000|587\n跑墒|0x1000|0\n跑堂|0x1000|941\n跑题|0x1000|52374\n跑腿|0x1000|809\n跑外|0x1000|45353\n跑位|0x1000|892\n跑向|0x0000|554\n跑鞋|0x100000|46852\n跑着|0x0000|563\n泡吧|0x0008|44189\n泡菜|0x100000|24067\n泡茶|0x1000|764\n泡饭|0x100000|43480\n泡货|0x100000|0\n泡面|0x0008|1126\n泡沫|0x100000|8451\n泡妞|0x1000|680\n泡泡|0x100000|497\n泡汤|0x1000|32411\n泡桐|0x100000|31192\n泡网|0x0008|900\n泡漩|0x100000|0\n泡影|0x100000|25275\n泡澡|0x1000|831\n泡制|0x0000|41299\n泡子|0x0000|51091\n疱疹|0x100000|37948\n胚层|0x100000|1154\n胚根|0x100000|1280\n胚囊|0x100000|1223\n胚盘|0x100000|1371\n胚乳|0x100000|1168\n胚胎|0x100000|9074\n胚芽|0x100000|37213\n胚轴|0x100000|1307\n胚珠|0x100000|1188\n胚子|0x100000|41520\n陪伴|0x1000|10289\n陪绑|0x1000|46534\n陪臣|0x100000|0\n陪衬|0x100000|23708\n陪床|0x1000|46256\n陪吊|0x1000|0\n陪都|0x100000|38526\n陪读|0x1000|40619\n陪房|0x100000|50291\n陪护|0x1000|26628\n陪祭|0x1000|52875\n陪嫁|0x100000|24339\n陪酒|0x1000|41068\n陪考|0x1000|0\n陪客|0x100000|25211\n陪哭|0x1000|1238\n陪练|0x100000|36858\n陪审|0x1000|36510\n陪侍|0x1000|37949\n陪送|0x100000|52376\n陪同|0x1000|3874\n陪笑|0x1000|489\n陪葬|0x1000|28479\n陪住|0x1000|55800\n陪着|0x0000|666\n培根|0x0008|805\n培土|0x1000|28039\n培修|0x0080|1266\n培训|0x1000|1683\n培养|0x1000|975\n培育|0x1000|2446\n培植|0x1000|10326\n赔本|0x1000|23442\n赔偿|0x1000|3003\n赔垫|0x1000|0\n赔付|0x1000|16207\n赔话|0x1000|0\n赔还|0x1000|1244\n赔款|0x1000|16825\n赔礼|0x1000|31535\n赔钱|0x1000|21727\n赔情|0x1000|47443\n赔笑|0x1000|31658\n赔账|0x1000|1534\n赔罪|0x1000|37214\n沛县|0x0040|1395\n佩带|0x1000|22690\n佩戴|0x1000|17668\n佩刀|0x100000|32158\n佩恩|0x0080|983\n佩服|0x40000000|6457\n佩环|0x100000|1113\n佩剑|0x100000|23281\n佩兰|0x0080|1490\n佩饰|0x100000|46257\n佩思|0x0040|1219\n佩特|0x0080|978\n佩玉|0x100000|997\n配备|0x100000|5111\n配比|0x1000|40190\n配菜|0x1000|833\n配餐|0x100000|43951\n配称|0x1000|1063\n配搭|0x1000|44474\n配戴|0x1000|38727\n配第|0x0008|0\n配电|0x1000|29345\n配殿|0x100000|42979\n配调|0x1000|0\n配对|0x1000|23335\n配额|0x100000|8673\n配发|0x1000|20740\n配方|0x100000|14391\n配给|0x1000|26554\n配购|0x1000|0\n配股|0x1000|864\n配合|0x1000|1592\n配货|0x0000|48823\n配件|0x100000|10814\n配角|0x100000|17902\n配军|0x100000|0\n配克|0x20000|0\n配乐|0x1000|34077\n配料|0x1000|26555\n配楼|0x0000|54895\n配偶|0x100000|9363\n配器|0x1000|873\n配曲|0x1000|1110\n配色|0x1000|45058\n配膳|0x0000|52377\n配饰|0x100000|650\n配售|0x1000|27632\n配送|0x1000|8954\n配套|0x1000|2791\n配伍|0x1000|39979\n配戏|0x1000|45657\n配穴|0x0008|0\n配演|0x1000|0\n配药|0x1000|32412\n配音|0x1000|34214\n配有|0x1000|647\n配载|0x0000|50293\n配制|0x1000|15511\n配置|0x1000|3139\n配种|0x1000|29235\n配重|0x1000|975\n配属|0x1000|46535\n配装|0x1000|1005\n配子|0x1000|1119\n辔头|0x100000|44475\n喷薄|0x8000000|37396\n喷出|0x1000|677\n喷灯|0x100000|55802\n喷发|0x1000|17206\n喷饭|0x1000|49904\n喷粪|0x1000|1055\n喷管|0x100000|46853\n喷灌|0x1000|24246\n喷壶|0x100000|51510\n喷绘|0x1000|716\n喷火|0x1000|783\n喷溅|0x1000|43481\n喷浆|0x1000|1052\n喷口|0x0008|45059\n喷淋|0x0000|491\n喷流|0x0008|0\n喷墨|0x4000000|42505\n喷喷|0x0000|432\n喷漆|0x100000|35086\n喷气|0x1000|25432\n喷枪|0x100000|52876\n喷泉|0x100000|16472\n喷撒|0x1000|1155\n喷洒|0x1000|18904\n喷砂|0x100000|767\n喷射|0x1000|18035\n喷施|0x0000|505\n喷水|0x1000|783\n喷嚏|0x100000|20020\n喷头|0x100000|38319\n喷涂|0x1000|26140\n喷吐|0x1000|34520\n喷雾|0x1000|687\n喷香|0x0100|37577\n喷泻|0x1000|0\n喷涌|0x1000|22691\n喷嘴|0x100000|44778\n盆地|0x100000|11023\n盆花|0x100000|28118\n盆景|0x100000|15006\n盆腔|0x100000|45060\n盆汤|0x100000|1187\n盆浴|0x100000|55941\n盆栽|0x100000|28296\n盆子|0x100000|20175\n怦怦|0x80000|842\n怦然|0x0100|27473\n抨弹|0x1000|0\n抨击|0x1000|12135\n砰砰|0x80000|789\n砰然|0x0100|506\n烹茶|0x1000|1021\n烹调|0x1000|18370\n烹饪|0x1000|17267\n烹制|0x1000|35701\n烹煮|0x0000|49550\n嘭嘭|0x80000|925\n朋辈|0x0000|53880\n朋驰|0x0080|0\n朋党|0x100000|38942\n朋克|0x0080|543\n朋友|0x100000|452\n彭山|0x0080|991\n彭县|0x0040|1165\n彭阳|0x0080|1074\n彭泽|0x0080|982\n彭州|0x0040|1427\n棚车|0x100000|1161\n棚户|0x100000|42764\n棚架|0x100000|1022\n棚圈|0x100000|37397\n棚舍|0x100000|1244\n棚屋|0x100000|1030\n棚子|0x100000|17308\n硼砂|0x100000|49905\n硼酸|0x100000|46536\n蓬安|0x0080|1091\n蓬荜|0x100000|1208\n蓬勃|0x40000000|5192\n蓬蒿|0x100000|42268\n蓬户|0x100000|0\n蓬莱|0x0040|23659\n蓬乱|0x40000000|25987\n蓬门|0x0040|1099\n蓬蓬|0x0100|18876\n蓬茸|0x40000000|1537\n蓬散|0x0000|52378\n蓬松|0x40000000|21204\n蓬溪|0x0080|1034\n鹏程|0x0008|1150\n澎湖|0x0040|1250\n澎湃|0x40000000|16170\n篷布|0x100000|51511\n篷车|0x100000|52379\n篷船|0x0000|38527\n篷子|0x100000|41523\n膨大|0x1000|31316\n膨化|0x1000|52380\n膨体|0x0000|392\n膨胀|0x1000|6525\n蟛蜞|0x100000|1202\n捧杯|0x1000|42980\n捧场|0x1000|20318\n捧得|0x1000|861\n捧读|0x1000|41758\n捧腹|0x1000|47148\n捧哏|0x1000|48084\n捧红|0x0000|50676\n捧角|0x1000|34827\n捧杀|0x0000|53372\n碰杯|0x1000|30528\n碰壁|0x1000|20445\n碰触|0x0000|586\n碰到|0x1000|498\n碰击|0x0000|37215\n碰见|0x1000|9268\n碰铃|0x100000|1341\n碰面|0x1000|28744\n碰碰|0x1000|677\n碰巧|0x8000000|20823\n碰上|0x1000|584\n碰锁|0x100000|1302\n碰头|0x1000|20870\n碰硬|0x1000|21728\n碰撞|0x1000|7806\n碰着|0x0000|517\n批办|0x1000|39980\n批驳|0x1000|20021\n批捕|0x1000|19679\n批出|0x1000|1048\n批次|0x20000|26410\n批点|0x1000|51934\n批斗|0x1000|15129\n批发|0x1000|4673\n批复|0x1000|12908\n批改|0x1000|26629\n批购|0x1000|1184\n批号|0x100000|32662\n批核|0x1000|1145\n批假|0x1000|1131\n批件|0x100000|39343\n批量|0x100000|13104\n批零|0x20000000|33550\n批判|0x1000|3188\n批批|0x20000|522\n批评|0x100000|987\n批示|0x1000|6309\n批条|0x1000|43952\n批文|0x100000|28389\n批语|0x100000|28560\n批阅|0x1000|28480\n批注|0x1000|34828\n批转|0x1000|21766\n批准|0x1000|1537\n批租|0x1000|1035\n纰漏|0x100000|30629\n纰缪|0x100000|1274\n邳州|0x0040|1336\n坯布|0x100000|51512\n坯料|0x100000|1001\n坯胎|0x100000|0\n坯子|0x100000|33946\n披发|0x1000|1\n披风|0x100000|39138\n披拂|0x1000|1129\n披盖|0x1000|1221\n披挂|0x100000|24340\n披红|0x1000|31772\n披甲|0x1000|38528\n披肩|0x100000|19931\n披巾|0x100000|49906\n披卷|0x1000|0\n披览|0x1000|0\n披沥|0x1000|0\n披露|0x1000|6239\n披靡|0x1000|26411\n披散|0x1000|27135\n披上|0x1000|666\n披头|0x0008|431\n披屋|0x100000|1418\n披衣|0x1000|931\n披阅|0x1000|41300\n狉狉|0x0100|0\n狉獉|0x0008|0\n砒霜|0x100000|37752\n砒酸|0x0080|0\n劈材|0x0080|0\n劈叉|0x1000|52882\n劈柴|0x1000|24900\n劈成|0x1000|0\n劈刺|0x100000|1171\n劈刀|0x100000|1196\n劈开|0x1000|809\n劈脸|0x8000000|1162\n劈裂|0x1000|1057\n劈面|0x1000|36688\n劈啪|0x80000|944\n劈劈|0x0080|0\n劈杀|0x1000|50677\n劈山|0x1000|41069\n劈手|0x1000|37579\n劈头|0x8000000|22637\n劈胸|0x1000|1256\n噼啪|0x80000|35397\n噼噼|0x0080|0\n霹雷|0x100000|49907\n霹雳|0x100000|20705\n皮袄|0x100000|24784\n皮包|0x100000|11438\n皮鞭|0x100000|23600\n皮草|0x100000|734\n皮层|0x100000|31193\n皮尺|0x100000|43953\n皮带|0x100000|14856\n皮袋|0x100000|932\n皮蛋|0x100000|37950\n皮垫|0x0080|52879\n皮筏|0x0000|52880\n皮肤|0x100000|3916\n皮革|0x100000|15322\n皮辊|0x4000000|1080\n皮猴|0x0080|1124\n皮花|0x100000|0\n皮黄|0x100000|47783\n皮货|0x100000|33423\n皮夹|0x100000|32159\n皮件|0x100000|48824\n皮匠|0x100000|32413\n皮筋|0x0000|38320\n皮具|0x100000|37753\n皮毛|0x100000|16893\n皮帽|0x100000|39344\n皮棉|0x100000|28040\n皮面|0x100000|945\n皮膜|0x0080|416\n皮囊|0x100000|39758\n皮袍|0x0080|33026\n皮球|0x100000|16826\n皮肉|0x100000|16490\n皮山|0x0080|1073\n皮实|0x40000000|45355\n皮试|0x0000|51935\n皮糖|0x0000|46538\n皮套|0x0080|818\n皮条|0x100000|35546\n皮下|0x8000|26412\n皮相|0x100000|46539\n皮箱|0x100000|16304\n皮鞋|0x100000|6641\n皮屑|0x100000|849\n皮靴|0x100000|27299\n皮炎|0x100000|38138\n皮衣|0x100000|25582\n皮张|0x100000|44477\n皮掌|0x0080|1523\n皮疹|0x100000|41759\n皮脂|0x100000|50294\n皮纸|0x100000|44190\n皮质|0x100000|22017\n皮重|0x100000|1178\n皮子|0x100000|25774\n枇杷|0x100000|18536\n毗连|0x1000|30630\n毗邻|0x1000|13217\n疲惫|0x40000000|9366\n疲敝|0x40000000|1130\n疲沓|0x40000000|52881\n疲顿|0x40000000|1238\n疲乏|0x40000000|13386\n疲倦|0x40000000|7372\n疲困|0x40000000|1148\n疲劳|0x100000|7113\n疲累|0x40000000|739\n疲软|0x40000000|13439\n疲弱|0x40000000|42981\n疲态|0x0000|43954\n蚍蜉|0x100000|53881\n郫县|0x0040|1434\n啤酒|0x100000|5815\n椑柿|0x100000|0\n琵琶|0x100000|13281\n脾气|0x100000|4741\n脾胃|0x100000|27475\n脾性|0x100000|28390\n脾脏|0x100000|36188\n貔虎|0x100000|1273\n貔貅|0x100000|850\n匹敌|0x1000|30957\n匹夫|0x100000|30529\n匹练|0x8000000|1060\n匹配|0x1000|14376\n匹萨|0x0008|419\n仳离|0x1000|0\n痞积|0x100000|0\n痞块|0x100000|1249\n痞子|0x100000|28857\n癖好|0x100000|33662\n癖习|0x100000|0\n癖性|0x100000|52384\n屁股|0x100000|4892\n屁话|0x100000|39139\n屁事|0x100000|33146\n屁眼|0x0000|519\n媲美|0x1000|16491\n睥睨|0x1000|36859\n僻道|0x0040|0\n僻静|0x40000000|16719\n僻陋|0x40000000|0\n僻壤|0x100000|45061\n僻巷|0x100000|53882\n僻远|0x40000000|40192\n譬如|0x10000000|6003\n譬若|0x1000|0\n譬喻|0x10000000|30631\n片酬|0x100000|55418\n片段|0x100000|16634\n片断|0x100000|619\n片儿|0x100000|51513\n片花|0x100000|653\n片剂|0x100000|40420\n片警|0x100000|1043\n片刻|0x4000|5195\n片面|0x40000000|6723\n片名|0x100000|670\n片片|0x20000|598\n片时|0x4000|863\n片蚀|0x100000|0\n片头|0x100000|37398\n片瓦|0x0000|48825\n片尾|0x100000|674\n片言|0x100000|915\n片语|0x0000|488\n片源|0x100000|889\n片约|0x100000|53883\n片中|0x0008|643\n片状|0x0008|839\n片子|0x100000|10866\n偏爱|0x1000|15684\n偏安|0x1000|39563\n偏差|0x100000|10349\n偏辞|0x100000|0\n偏低|0x0000|633\n偏殿|0x100000|42271\n偏饭|0x0000|54420\n偏方|0x100000|29445\n偏房|0x100000|41524\n偏废|0x1000|38728\n偏锋|0x100000|863\n偏高|0x0000|620\n偏关|0x0080|1082\n偏光|0x100000|916\n偏航|0x0008|369\n偏好|0x1000|30530\n偏护|0x1000|54898\n偏激|0x40000000|23027\n偏见|0x100000|9354\n偏将|0x100000|1040\n偏角|0x100000|1131\n偏科|0x40000000|52883\n偏枯|0x100000|1133\n偏劳|0x1000|48085\n偏离|0x1000|12371\n偏历|0x0008|0\n偏流|0x100000|1260\n偏门|0x100000|905\n偏南|0x2000000|972\n偏旁|0x100000|34215\n偏僻|0x40000000|9886\n偏偏|0x8000000|5603\n偏颇|0x40000000|20133\n偏巧|0x8000000|39759\n偏生|0x0000|48453\n偏失|0x100000|1115\n偏师|0x0000|35398\n偏食|0x100000|38944\n偏私|0x1000|986\n偏瘫|0x1000|39760\n偏袒|0x1000|20022\n偏疼|0x1000|0\n偏题|0x100000|54421\n偏西|0x2000000|917\n偏析|0x0008|0\n偏狭|0x40000000|37755\n偏下|0x2000000|952\n偏向|0x1000|16428\n偏斜|0x1000|45063\n偏心|0x40000000|28041\n偏信|0x1000|44191\n偏压|0x100000|1112\n偏要|0x8000000|738\n偏移|0x1000|39564\n偏倚|0x0000|429\n偏右|0x2000000|966\n偏于|0x0000|26768\n偏远|0x40000000|9468\n偏振|0x100000|987\n偏正|0x20000000|1088\n偏执|0x40000000|24901\n偏置|0x1000|996\n偏重|0x1000|13452\n偏转|0x1000|28745\n犏牛|0x100000|0\n篇幅|0x100000|10196\n篇名|0x100000|944\n篇目|0x100000|28746\n篇篇|0x20000|903\n篇什|0x100000|1105\n篇首|0x100000|1023\n篇页|0x100000|1248\n篇章|0x100000|8736\n翩翩|0x0100|22890\n翩然|0x0100|30845\n翩跹|0x0100|40419\n骈俪|0x100000|1217\n骈体|0x100000|40193\n骈文|0x100000|39981\n骈枝|0x100000|0\n胼胝|0x100000|1123\n蹁跹|0x0100|52385\n骗得|0x0000|535\n骗婚|0x1000|1041\n骗局|0x100000|18469\n骗马|0x1000|0\n骗钱|0x0008|554\n骗取|0x1000|9208\n骗人|0x1000|12029\n骗入|0x0000|376\n骗术|0x100000|27551\n骗税|0x1000|1053\n骗腿|0x0000|54422\n骗子|0x100000|11040\n剽悍|0x40000000|32284\n剽掠|0x0000|41525\n剽窃|0x1000|23709\n剽取|0x1000|1541\n剽袭|0x1000|0\n漂白|0x1000|31075\n漂泊|0x1000|16379\n漂到|0x1000|3\n漂儿|0x100000|1215\n漂浮|0x1000|626\n漂海|0x1000|0\n漂砾|0x1000|1290\n漂亮|0x40000000|2175\n漂流|0x1000|11182\n漂漂|0x1000|687\n漂染|0x1000|50296\n漂洗|0x1000|38945\n漂移|0x1000|25650\n漂游|0x1000|45658\n缥缈|0x40000000|29774\n飘泊|0x1000|776\n飘尘|0x100000|1050\n飘带|0x100000|28481\n飘荡|0x1000|13983\n飘动|0x1000|18996\n飘飞|0x1000|752\n飘风|0x1000|907\n飘拂|0x1000|34216\n飘浮|0x1000|15130\n飘忽|0x1000|20954\n飘零|0x1000|28297\n飘流|0x1000|813\n飘落|0x1000|17454\n飘起|0x0080|561\n飘然|0x0100|24183\n飘柔|0x0008|481\n飘洒|0x1000|33663\n飘散|0x1000|23497\n飘逝|0x1000|42507\n飘舞|0x1000|29446\n飘香|0x1000|660\n飘扬|0x1000|9789\n飘洋|0x1000|1147\n飘摇|0x1000|29126\n飘曳|0x1000|49551\n飘移|0x1000|40421\n飘逸|0x40000000|15151\n飘溢|0x1000|41302\n飘悠|0x1000|46541\n飘雨|0x1000|837\n飘展|0x1000|0\n螵蛸|0x100000|1135\n瓢虫|0x100000|40422\n瓢儿|0x100000|1146\n瓢泼|0x1000|908\n票额|0x100000|44780\n票房|0x100000|11634\n票根|0x100000|51097\n票号|0x100000|45964\n票汇|0x100000|0\n票价|0x100000|8484\n票据|0x100000|11449\n票款|0x100000|36860\n票面|0x100000|21205\n票券|0x0008|883\n票数|0x100000|689\n票箱|0x100000|35258\n票选|0x1000|48454\n票友|0x100000|24006\n票源|0x100000|998\n票证|0x100000|25276\n票庄|0x100000|0\n票子|0x100000|10938\n嘌呤|0x100000|951\n嫖娼|0x1000|22638\n嫖妓|0x1000|839\n嫖客|0x100000|28298\n嫖宿|0x1000|1093\n撇开|0x1000|19059\n撇弃|0x1000|0\n撇下|0x1000|20871\n撇嘴|0x1000|20778\n瞥见|0x1000|17828\n瞥闪|0x0080|0\n瞥视|0x1000|0\n苤蓝|0x100000|55889\n姘夫|0x100000|54900\n姘妇|0x100000|49553\n姘居|0x1000|47785\n姘头|0x100000|31317\n拼板|0x100000|944\n拼版|0x1000|969\n拼搏|0x1000|5555\n拼成|0x0000|504\n拼出|0x0000|509\n拼刺|0x1000|1229\n拼凑|0x1000|19529\n拼错|0x0000|422\n拼斗|0x1000|927\n拼读|0x1000|55804\n拼法|0x100000|1022\n拼合|0x1000|40621\n拼花|0x100000|917\n拼接|0x1000|31194\n拼力|0x1000|43723\n拼命|0x1000|5510\n拼盘|0x100000|35548\n拼抢|0x1000|23122\n拼杀|0x1000|28652\n拼死|0x8000000|22840\n拼贴|0x1000|883\n拼图|0x100000|42006\n拼写|0x1000|32915\n拼音|0x100000|17158\n拼争|0x1000|33664\n拼装|0x1000|19034\n拼缀|0x1000|0\n拼着|0x0000|504\n拼字|0x1000|968\n贫道|0x10000|934\n贫乏|0x40000000|12792\n贫富|0x100000|690\n贫寒|0x40000000|16562\n贫化|0x1000|1244\n贫瘠|0x40000000|15489\n贫贱|0x40000000|26472\n贫苦|0x40000000|14512\n贫矿|0x100000|53884\n贫困|0x40000000|1873\n贫民|0x100000|21967\n贫农|0x100000|14350\n贫气|0x40000000|1240\n贫穷|0x40000000|6240\n贫弱|0x40000000|27867\n贫僧|0x10000|934\n贫血|0x1000|14931\n贫油|0x1000|52386\n贫铀|0x100000|1105\n贫嘴|0x40000000|27726\n嫔妃|0x100000|39982\n频传|0x1000|42984\n频次|0x100000|940\n频催|0x1000|0\n频带|0x100000|41070\n频道|0x100000|6181\n频度|0x100000|40853\n频段|0x100000|31886\n频发|0x0000|34079\n频繁|0x40000000|4100\n频宽|0x0008|1410\n频率|0x100000|6146\n频密|0x0008|441\n频频|0x8000000|6266\n频谱|0x100000|26556\n频仍|0x1000|27223\n频数|0x1000|1042\n颦蹙|0x1000|1189\n品茶|0x1000|30740\n品尝|0x1000|9737\n品德|0x100000|6694\n品第|0x100000|53374\n品格|0x100000|6009\n品管|0x0008|514\n品红|0x100000|51936\n品级|0x100000|31195\n品鉴|0x1000|907\n品节|0x100000|1230\n品酒|0x0000|42985\n品蓝|0x100000|1169\n品类|0x100000|30958\n品流|0x0008|1165\n品绿|0x100000|0\n品貌|0x100000|41303\n品名|0x100000|31076\n品茗|0x1000|34829\n品目|0x100000|44781\n品牌|0x100000|2525\n品评|0x1000|27136\n品赏|0x0000|50680\n品题|0x1000|50681\n品脱|0x20000|1113\n品位|0x100000|7352\n品味|0x1000|11462\n品系|0x100000|27476\n品相|0x0080|590\n品行|0x100000|17570\n品性|0x100000|23660\n品学|0x100000|1073\n品议|0x1000|0\n品质|0x100000|3130\n品种|0x100000|1777\n品族|0x100000|1500\n牝马|0x0080|1193\n牝牡|0x0000|53886\n牝牛|0x0080|1295\n娉婷|0x1000|39141\n聘金|0x100000|46854\n聘礼|0x100000|37216\n聘期|0x100000|1068\n聘请|0x1000|4989\n聘任|0x1000|11909\n聘书|0x100000|24007\n聘为|0x1000|830\n聘问|0x1000|50682\n聘用|0x1000|10537\n聘约|0x100000|1144\n乒乓|0x100000|17571\n乒乒|0x80000|0\n乒坛|0x100000|975\n乒协|0x100000|1067\n平安|0x40000000|4393\n平白|0x8000000|860\n平板|0x100000|18280\n平版|0x100000|916\n平辈|0x100000|42272\n平产|0x1000|1293\n平铲|0x0080|0\n平昌|0x0080|1510\n平常|0x40000000|3737\n平车|0x100000|965\n平成|0x0008|1478\n平畴|0x100000|51098\n平川|0x100000|23282\n平喘|0x1000|937\n平淡|0x40000000|11716\n平等|0x40000000|1793\n平底|0x20000000|41760\n平地|0x100000|13332\n平调|0x100000|980\n平顶|0x0008|704\n平定|0x1000|15901\n平动|0x1000|1092\n平峒|0x0080|0\n平度|0x0040|1330\n平凡|0x40000000|4843\n平反|0x1000|13373\n平方|0x20000|6947\n平房|0x100000|11123\n平放|0x1000|920\n平飞|0x0080|1048\n平分|0x1000|17338\n平伏|0x1000|991\n平服|0x1000|49554\n平复|0x1000|30194\n平谷|0x0080|1254\n平光|0x20000000|49555\n平锅|0x0000|381\n平果|0x0080|1424\n平和|0x0080|8983\n平衡|0x1000|1722\n平湖|0x0040|1126\n平滑|0x40000000|21729\n平话|0x100000|1094\n平缓|0x40000000|19706\n平毁|0x1000|1254\n平价|0x100000|17485\n平江|0x0080|1288\n平降|0x0080|0\n平角|0x100000|54902\n平金|0x0080|1160\n平津|0x0080|1518\n平靖|0x1000|1229\n平静|0x40000000|2711\n平局|0x100000|24068\n平剧|0x0008|0\n平均|0x40000000|1325\n平空|0x8000000|981\n平乐|0x0080|1312\n平利|0x0080|995\n平凉|0x0040|1280\n平列|0x1000|53887\n平流|0x100000|1002\n平炉|0x100000|34359\n平陆|0x0080|1550\n平路|0x0080|1397\n平乱|0x1000|36861\n平罗|0x0080|998\n平米|0x20000|24714\n平面|0x100000|8610\n平民|0x100000|5019\n平明|0x0008|996\n平南|0x0080|1386\n平年|0x100000|48087\n平盘|0x4000000|1002\n平叛|0x1000|38529\n平平|0x0100|11635\n平铺|0x0080|867\n平权|0x0000|49195\n平泉|0x0080|1525\n平壤|0x0040|7141\n平日|0x4000|5330\n平绒|0x100000|44192\n平山|0x0080|1309\n平射|0x0080|0\n平身|0x1000|955\n平生|0x8000000|14224\n平声|0x100000|1015\n平时|0x4000|2085\n平实|0x40000000|20663\n平视|0x1000|32285\n平手|0x1000|32028\n平顺|0x40000000|38321\n平四|0x400008|0\n平素|0x8000000|17285\n平台|0x100000|3098\n平摊|0x1000|35549\n平潭|0x0080|1458\n平坦|0x40000000|10216\n平塘|0x0040|1034\n平躺|0x1000|807\n平添|0x1000|17181\n平粜|0x1000|0\n平头|0x100000|23236\n平妥|0x40000000|1540\n平纹|0x100000|53888\n平稳|0x40000000|4861\n平卧|0x0080|971\n平武|0x0080|1017\n平西|0x0040|1461\n平昔|0x8000000|1179\n平息|0x1000|9774\n平乡|0x0080|1458\n平巷|0x100000|1190\n平心|0x8000000|28747\n平信|0x100000|45064\n平行|0x1000|9277\n平衍|0x1000|0\n平阳|0x0080|1181\n平遥|0x0080|1218\n平野|0x100000|45356\n平一|0x401000|4\n平移|0x1000|34360\n平议|0x1000|2\n平抑|0x1000|30959\n平邑|0x0080|1438\n平易|0x40000000|25988\n平阴|0x0080|1374\n平庸|0x40000000|12337\n平鱼|0x100000|1120\n平舆|0x0080|1536\n平原|0x100000|4337\n平远|0x0080|1478\n平月|0x100000|56001\n平允|0x40000000|1255\n平仄|0x100000|27633\n平展|0x40000000|35550\n平整|0x1000|13263\n平正|0x40000000|38729\n平直|0x40000000|30741\n平装|0x20000000|48826\n平准|0x100000|989\n平足|0x100000|1138\n评比|0x1000|8236\n评标|0x0000|48088\n评测|0x1000|498\n评出|0x1000|715\n评传|0x100000|32160\n评弹|0x100000|23183\n评点|0x1000|14377\n评定|0x1000|7689\n评断|0x1000|854\n评分|0x100000|18772\n评改|0x1000|1067\n评功|0x1000|42509\n评估|0x1000|3531\n评话|0x100000|1086\n评级|0x1000|16952\n评价|0x100000|1498\n评鉴|0x0008|2\n评奖|0x1000|9516\n评介|0x1000|15779\n评剧|0x100000|18800\n评卷|0x1000|33947\n评理|0x1000|41761\n评量|0x0008|923\n评论|0x1000|2381\n评判|0x1000|11041\n评聘|0x1000|33551\n评上|0x1000|1\n评审|0x1000|6492\n评书|0x100000|15932\n评述|0x1000|20542\n评说|0x1000|14559\n评为|0x1000|3815\n评委|0x100000|11369\n评析|0x1000|27868\n评戏|0x100000|1147\n评薪|0x1000|0\n评选|0x1000|3543\n评议|0x1000|4357\n评优|0x1000|27137\n评语|0x100000|21362\n评阅|0x1000|49196\n评注|0x1000|49909\n凭单|0x100000|46855\n凭吊|0x1000|20319\n凭借|0x40000|5858\n凭藉|0x1000|870\n凭据|0x100000|25433\n凭靠|0x1000|0\n凭空|0x8000000|16517\n凭栏|0x1000|37217\n凭恃|0x1000|51516\n凭眺|0x1000|1232\n凭险|0x1000|1181\n凭祥|0x0040|1438\n凭信|0x1000|1133\n凭依|0x1000|52884\n凭仗|0x1000|48827\n凭照|0x1000|1283\n凭证|0x100000|8910\n凭着|0x1000|6716\n坪坝|0x100000|48456\n苹果|0x100000|5246\n屏保|0x100000|702\n屏蔽|0x100000|26271\n屏除|0x1000|49372\n屏东|0x0040|1264\n屏藩|0x100000|40623\n屏风|0x100000|17926\n屏迹|0x1000|1301\n屏门|0x100000|0\n屏幕|0x100000|6242\n屏南|0x0080|987\n屏气|0x1000|38843\n屏弃|0x1000|54145\n屏山|0x0040|1493\n屏条|0x100000|52387\n屏退|0x1000|38057\n屏息|0x1000|20895\n屏障|0x100000|8965\n瓶胆|0x100000|55805\n瓶底|0x0000|434\n瓶盖|0x100000|33803\n瓶颈|0x100000|7698\n瓶口|0x100000|872\n瓶塞|0x100000|40424\n瓶装|0x20000000|25775\n瓶子|0x100000|10009\n萍乡|0x0040|1176\n萍踪|0x100000|46856\n坡道|0x100000|37580\n坡地|0x100000|18470\n坡度|0x100000|18537\n坡跟|0x0000|53889\n坡坡|0x20000|1056\n坡田|0x100000|1370\n泼妇|0x100000|32791\n泼剌|0x80000|1300\n泼辣|0x40000000|21445\n泼墨|0x100000|25713\n泼皮|0x100000|40624\n泼洒|0x1000|31660\n泼水|0x0080|496\n颇丰|0x1000|785\n颇感|0x1000|815\n颇具|0x1000|11625\n颇为|0x8000000|6847\n婆家|0x100000|16305\n婆母|0x0000|30742\n婆娘|0x100000|16602\n婆婆|0x100000|5438\n婆娑|0x1000|21635\n婆媳|0x100000|20475\n婆心|0x100000|0\n婆姨|0x100000|424\n婆子|0x0000|38140\n鄱阳|0x0080|1333\n叵测|0x1000|30425\n笸篮|0x100000|0\n笸箩|0x100000|35399\n迫促|0x1000|1209\n迫肥|0x0000|24813\n迫害|0x1000|9453\n迫降|0x1000|37952\n迫近|0x1000|28748\n迫临|0x1000|0\n迫令|0x1000|29775\n迫切|0x40000000|3512\n迫使|0x1000|7497\n迫于|0x1000|16019\n破案|0x1000|9887\n破败|0x1000|20706\n破布|0x0000|498\n破财|0x1000|43956\n破产|0x1000|4257\n破钞|0x1000|0\n破车|0x0000|506\n破除|0x1000|9524\n破处|0x100000|915\n破船|0x100000|996\n破洞|0x0000|498\n破读|0x1000|0\n破费|0x1000|25776\n破格|0x8000000|18213\n破坏|0x1000|1069\n破获|0x1000|7251\n破击|0x1000|1163\n破家|0x100000|0\n破解|0x1000|11591\n破戒|0x1000|49556\n破旧|0x1000|9005\n破口|0x100000|917\n破烂|0x40000000|11010\n破浪|0x1000|23443\n破例|0x1000|17486\n破裂|0x1000|10522\n破陋|0x40000000|52389\n破落|0x1000|30532\n破门|0x1000|714\n破庙|0x0000|506\n破灭|0x1000|13254\n破片|0x100000|1043\n破身|0x1000|0\n破碎|0x1000|11042\n破损|0x1000|18371\n破题|0x1000|32664\n破涕|0x1000|0\n破土|0x1000|28944\n破网|0x1000|46258\n破五|0x404000|45660\n破袭|0x1000|1051\n破相|0x1000|52390\n破晓|0x1000|33948\n破鞋|0x100000|25911\n破译|0x1000|17391\n破约|0x1000|1539\n破绽|0x100000|17047\n魄力|0x100000|14314\n剖白|0x1000|41762\n剖腹|0x1000|34217\n剖解|0x1000|1128\n剖开|0x1000|847\n剖面|0x100000|16660\n剖视|0x1000|1200\n剖析|0x1000|8390\n仆从|0x100000|32916\n仆妇|0x100000|1100\n仆人|0x100000|8437\n仆役|0x100000|28119\n扑鼻|0x1000|19319\n扑哧|0x80000|28391\n扑打|0x1000|36689\n扑倒|0x0000|23940\n扑到|0x0000|599\n扑地|0x1000|465\n扑跌|0x100000|0\n扑粉|0x100000|47151\n扑火|0x1000|839\n扑击|0x1000|1\n扑救|0x1000|17511\n扑克|0x100000|18214\n扑空|0x1000|35703\n扑棱|0x1000|45662\n扑噜|0x80000|49911\n扑满|0x100000|47152\n扑面|0x1000|24652\n扑灭|0x1000|11855\n扑扑|0x40000000|891\n扑闪|0x1000|36343\n扑扇|0x1000|1033\n扑朔|0x40000000|980\n扑簌|0x0100|35704\n扑腾|0x1000|43243\n扑通|0x80000|14578\n扑向|0x0000|618\n铺板|0x100000|29776\n铺保|0x1000|48090\n铺陈|0x100000|30846\n铺衬|0x100000|55420\n铺床|0x1000|911\n铺底|0x100000|1009\n铺地|0x0080|511\n铺垫|0x1000|20873\n铺盖|0x100000|16060\n铺轨|0x1000|18176\n铺户|0x100000|29042\n铺开|0x1000|763\n铺路|0x1000|18627\n铺满|0x0080|546\n铺面|0x100000|22996\n铺排|0x1000|34361\n铺平|0x1000|842\n铺铺|0x0080|0\n铺砌|0x1000|48089\n铺设|0x1000|10985\n铺头|0x100000|986\n铺位|0x100000|24341\n铺叙|0x1000|46543\n铺展|0x1000|32414\n铺张|0x40000000|23815\n铺筑|0x0000|46857\n铺子|0x100000|9585\n噗哧|0x80000|888\n噗噗|0x80000|865\n噗通|0x80000|1037\n匍匐|0x1000|18773\n莆田|0x0040|1091\n菩萨|0x100000|8564\n菩提|0x100000|24289\n葡糖|0x4000000|0\n葡萄|0x100000|5551\n蒲柏|0x0080|0\n蒲包|0x100000|44478\n蒲草|0x100000|50686\n蒲城|0x0080|1462\n蒲黄|0x100000|1090\n蒲江|0x0080|1490\n蒲节|0x4000|0\n蒲剧|0x100000|49557\n蒲葵|0x100000|1132\n蒲柳|0x100000|50297\n蒲扇|0x100000|27138\n蒲桃|0x100000|1147\n蒲团|0x100000|31426\n蒲县|0x0040|1546\n璞玉|0x0008|1493\n濮阳|0x0040|1112\n朴厚|0x40000000|54423\n朴陋|0x40000000|0\n朴茂|0x40000000|1193\n朴实|0x40000000|8429\n朴树|0x0080|1197\n朴素|0x40000000|7735\n朴硝|0x100000|1289\n朴学|0x100000|1143\n朴直|0x40000000|1182\n朴质|0x40000000|37582\n朴拙|0x40000000|1019\n朴子|0x0040|989\n浦北|0x0040|1410\n浦城|0x0080|1467\n浦东|0x0040|949\n浦江|0x0080|1163\n浦口|0x0040|1347\n普安|0x0040|990\n普遍|0x40000000|1204\n普查|0x1000|5225\n普定|0x0040|1077\n普度|0x1000|45965\n普渡|0x0008|1374\n普尔|0x0080|1112\n普洱|0x100000|1258\n普法|0x1000|6455\n普格|0x0040|1089\n普及|0x1000|2708\n普降|0x1000|29236\n普教|0x0000|45357\n普考|0x0008|0\n普客|0x100000|1154\n普快|0x100000|53375\n普拉|0x100000|994\n普兰|0x0080|1395\n普罗|0x100000|794\n普米|0x100000|1010\n普宁|0x0040|1307\n普特|0x20000|872\n普天|0x8000000|1210\n普通|0x40000000|1096\n普陀|0x0040|1050\n普选|0x1000|21537\n普照|0x1000|25037\n谱表|0x100000|54904\n谱儿|0x100000|30303\n谱号|0x100000|1169\n谱曲|0x1000|36344\n谱系|0x100000|34672\n谱项|0x0080|0\n谱写|0x1000|8474\n谱子|0x100000|49558\n氆氇|0x100000|49198\n蹼泳|0x0008|32793\n瀑布|0x100000|9388\n曝光|0x1000|7269\n曝露|0x1000|897\n曝晒|0x1000|29043\n七八|0x400000|644\n七百|0x600000|8\n七倍|0x400000|417\n七彩|0x20400000|23028\n七大|0x400008|83\n七度|0x400000|445\n七对|0x400000|0\n七个|0x400000|691\n七古|0x500000|0\n七绝|0x500000|30632\n七律|0x500000|31661\n七年|0x400000|90\n七七|0x600000|8\n七千|0x600000|4\n七窍|0x500000|35259\n七情|0x500000|1\n七人|0x400080|18\n七日|0x400000|1043\n七色|0x400000|568\n七十|0x600000|27\n七天|0x400000|15\n七万|0x600000|8\n七夕|0x404000|36512\n七喜|0x400008|0\n七巷|0x400040|0\n七言|0x20400000|0\n七一|0x600000|4646\n七亿|0x600000|2\n七月|0x400000|4678\n七折|0x100000|492\n七重|0x400000|1482\n沏茶|0x0000|25495\n妻弟|0x100000|40425\n妻儿|0x100000|786\n妻舅|0x100000|48092\n妻孥|0x100000|374\n妻女|0x100000|869\n妻妾|0x100000|22501\n妻室|0x100000|24290\n妻小|0x100000|41526\n妻子|0x100000|1927\n凄惨|0x40000000|15959\n凄恻|0x40000000|953\n凄楚|0x40000000|22796\n凄怆|0x40000000|36189\n凄惶|0x40000000|32794\n凄苦|0x40000000|28749\n凄冷|0x40000000|50688\n凄厉|0x40000000|21767\n凄凉|0x40000000|8874\n凄美|0x40000000|612\n凄迷|0x40000000|36690\n凄凄|0x0000|25989\n凄切|0x40000000|39143\n凄清|0x40000000|30084\n凄然|0x40000000|20476\n凄婉|0x40000000|32287\n凄惘|0x40000000|0\n栖居|0x1000|883\n栖身|0x1000|24009\n栖息|0x1000|12987\n栖霞|0x0040|1251\n栖止|0x1000|0\n戚戚|0x0100|513\n戚谊|0x100000|0\n戚友|0x100000|1065\n戚属|0x100000|0\n萋萋|0x0100|42987\n期待|0x100000|3049\n期房|0x100000|37044\n期货|0x100000|8464\n期冀|0x100000|43483\n期间|0x2000000|891\n期刊|0x100000|7787\n期考|0x100000|54424\n期满|0x1000|11148\n期门|0x0008|0\n期末|0x4000|18302\n期年|0x0000|47154\n期盼|0x1000|7685\n期票|0x100000|50689\n期期|0x1000|867\n期求|0x1000|0\n期权|0x100000|758\n期数|0x100000|941\n期望|0x1000|4148\n期限|0x100000|4017\n期许|0x0008|37218\n期中|0x4000|36021\n期终|0x4000|42273\n欺负|0x1000|9047\n欺哄|0x1000|48093\n欺君|0x1000|1014\n欺凌|0x1000|21118\n欺瞒|0x1000|40426\n欺蒙|0x1000|1162\n欺骗|0x1000|5668\n欺辱|0x1000|39346\n欺生|0x40000000|47155\n欺世|0x1000|1052\n欺侮|0x1000|12948\n欺压|0x1000|20446\n欺诈|0x1000|8742\n槭树|0x100000|0\n漆布|0x100000|54425\n漆雕|0x100000|55422\n漆工|0x100000|1088\n漆黑|0x0100|10384\n漆画|0x100000|40427\n漆匠|0x100000|50299\n漆膜|0x100000|944\n漆皮|0x100000|42768\n漆器|0x100000|25714\n漆树|0x100000|54905\n漆刷|0x0000|387\n蹊径|0x100000|28674\n蹊跷|0x40000000|21034\n祁东|0x0080|1499\n祁连|0x0080|1326\n祁门|0x0040|1422\n祁山|0x100000|1059\n祁县|0x0040|1459\n祁阳|0x0080|1485\n齐备|0x40000000|19932\n齐步|0x8000000|1038\n齐唱|0x1000|38947\n齐楚|0x40000000|1107\n齐发|0x1000|848\n齐放|0x1000|953\n齐国|0x100000|850\n齐河|0x0080|1458\n齐集|0x1000|25359\n齐家|0x1000|817\n齐肩|0x1000|941\n齐聚|0x1000|712\n齐鲁|0x0008|21490\n齐眉|0x1000|964\n齐名|0x1000|25990\n齐明|0x0080|1100\n齐鸣|0x1000|874\n齐齐|0x8000000|656\n齐全|0x40000000|6599\n齐人|0x100000|1467\n齐射|0x1000|961\n齐声|0x8000000|11220\n齐天|0x1000|767\n齐头|0x8000000|1052\n齐心|0x40000000|24069\n齐行|0x0080|1189\n齐整|0x40000000|21274\n齐奏|0x1000|42988\n岐山|0x0040|1349\n其次|0x10000000|2118\n其二|0x410000|35\n其后|0x4000|8588\n其间|0x2000000|5411\n其名|0x0008|744\n其内|0x10000|784\n其人|0x0000|9932\n其时|0x4000|14908\n其实|0x8000000|551\n其他|0x10000|297\n其它|0x10000|483\n其先|0x0008|1507\n其一|0x410000|56\n其意|0x0008|789\n其余|0x20000000|2804\n其中|0x10000|238\n奇案|0x0000|46259\n奇兵|0x100000|28750\n奇才|0x100000|26769\n奇点|0x100000|1009\n奇峰|0x100000|29237\n奇功|0x100000|27727\n奇怪|0x40000000|2725\n奇观|0x100000|14392\n奇诡|0x0008|47445\n奇幻|0x40000000|35551\n奇祸|0x100000|0\n奇迹|0x100000|4245\n奇计|0x0000|43484\n奇技|0x100000|47786\n奇景|0x100000|28751\n奇境|0x0040|1491\n奇绝|0x40000000|39761\n奇崛|0x40000000|1066\n奇谲|0x100000|0\n奇丽|0x40000000|38531\n奇零|0x100000|0\n奇门|0x100000|807\n奇妙|0x40000000|11626\n奇谋|0x100000|44480\n奇偶|0x100000|877\n奇葩|0x100000|23879\n奇巧|0x40000000|37954\n奇趣|0x100000|40428\n奇缺|0x1000|26770\n奇热|0x40000000|0\n奇人|0x100000|718\n奇事|0x100000|28858\n奇书|0x100000|837\n奇术|0x0000|464\n奇数|0x100000|47087\n奇台|0x0040|1538\n奇谈|0x100000|42989\n奇特|0x40000000|9171\n奇伟|0x40000000|39762\n奇文|0x100000|43724\n奇闻|0x100000|23816\n奇袭|0x1000|33148\n奇想|0x100000|25837\n奇效|0x100000|35260\n奇秀|0x0000|48457\n奇勋|0x0000|51519\n奇痒|0x40000000|915\n奇异|0x40000000|9244\n奇遇|0x100000|26986\n奇冤|0x100000|1009\n奇缘|0x100000|673\n奇招|0x100000|552\n奇珍|0x0000|45065\n奇志|0x100000|46545\n歧出|0x1000|0\n歧道|0x0040|0\n歧管|0x100000|1023\n歧见|0x100000|1028\n歧路|0x100000|35552\n歧视|0x1000|6345\n歧途|0x100000|24010\n歧义|0x100000|32795\n歧异|0x100000|42769\n祈祷|0x1000|10123\n祈福|0x1000|26987\n祈年|0x1000|1007\n祈盼|0x1000|38324\n祈请|0x1000|1052\n祈求|0x1000|18036\n祈望|0x1000|39985\n祈雨|0x1000|1012\n祈愿|0x1000|36022\n耆老|0x100000|44784\n耆宿|0x100000|47156\n脐橙|0x100000|19894\n脐带|0x100000|28859\n颀长|0x40000000|27869\n颀伟|0x40000000|0\n崎岖|0x40000000|13996\n淇县|0x0040|1509\n畦灌|0x1000|0\n畦田|0x100000|53891\n骐骥|0x100000|1030\n骑兵|0x100000|6819\n骑车|0x100000|611\n骑乘|0x0008|496\n骑缝|0x100000|55890\n骑劫|0x1000|1132\n骑警|0x100000|35553\n骑楼|0x0008|42511\n骑马|0x1000|670\n骑骑|0x1000|1307\n骑墙|0x1000|47447\n骑射|0x1000|31196\n骑士|0x100000|15045\n骑手|0x100000|22745\n骑术|0x100000|43725\n骑着|0x0000|647\n棋布|0x1000|1096\n棋道|0x0040|0\n棋风|0x0008|46546\n棋局|0x100000|25838\n棋具|0x0000|55806\n棋类|0x100000|28752\n棋力|0x100000|1015\n棋路|0x100000|47157\n棋迷|0x100000|28042\n棋牌|0x100000|653\n棋盘|0x100000|16380\n棋谱|0x100000|41072\n棋赛|0x100000|40628\n棋圣|0x100000|42008\n棋士|0x100000|1006\n棋手|0x100000|5095\n棋坛|0x100000|982\n棋王|0x100000|934\n棋艺|0x100000|27395\n棋友|0x100000|34080\n棋苑|0x0040|54907\n棋战|0x100000|1134\n棋子|0x100000|20320\n琦善|0x0008|1195\n蛴螬|0x100000|44194\n旗标|0x0008|1098\n旗幡|0x100000|1103\n旗杆|0x100000|22289\n旗竿|0x0000|372\n旗鼓|0x100000|1033\n旗号|0x100000|11563\n旗舰|0x100000|26698\n旗袍|0x100000|10963\n旗人|0x100000|20824\n旗手|0x100000|27794\n旗下|0x8000|521\n旗鱼|0x0000|407\n旗语|0x100000|50690\n旗帜|0x100000|2973\n旗装|0x0000|52886\n旗子|0x100000|20447\n綦江|0x0040|1238\n蕲春|0x0080|1451\n蕲蛇|0x100000|1200\n鳍线|0x100000|0\n麒麟|0x100000|26474\n乞儿|0x100000|901\n乞丐|0x100000|12597\n乞和|0x1000|0\n乞降|0x1000|21768\n乞怜|0x1000|30743\n乞灵|0x1000|0\n乞巧|0x0000|54426\n乞求|0x1000|18403\n乞食|0x1000|36691\n乞讨|0x1000|13415\n乞援|0x0080|24902\n企待|0x1000|0\n企鹅|0x100000|20023\n企管|0x1000|50300\n企划|0x1000|42274\n企及|0x1000|28299\n企慕|0x1000|52887\n企盼|0x1000|13425\n企求|0x1000|34673\n企图|0x100000|3305\n企望|0x1000|29777\n企业|0x100000|541\n岂不|0x8000000|6143\n岂但|0x10000000|35401\n岂非|0x1000|17790\n岂敢|0x1000|27477\n岂可|0x8000000|20055\n岂肯|0x8000000|29346\n岂料|0x0000|31887\n岂能|0x8000000|13004\n岂知|0x0000|37955\n岂止|0x1000|19895\n启闭|0x100000|917\n启禀|0x0000|34081\n启程|0x1000|11198\n启齿|0x1000|33553\n启聪|0x0008|1232\n启迪|0x100000|9750\n启碇|0x0000|55423\n启东|0x0040|1216\n启动|0x1000|2341\n启发|0x100000|5782\n启封|0x1000|38949\n启航|0x1000|29555\n启开|0x1000|994\n启口|0x1000|40854\n启蒙|0x1000|11573\n启明|0x0008|1267\n启示|0x100000|5262\n启事|0x100000|14799\n启行|0x1000|42990\n启用|0x1000|9828\n启运|0x1000|30305\n启奏|0x1000|1036\n杞柳|0x0000|51100\n杞县|0x0040|995\n起岸|0x1000|53892\n起爆|0x1000|33665\n起笔|0x100000|52392\n起兵|0x1000|19197\n起搏|0x1000|913\n起步|0x1000|5345\n起草|0x1000|5067\n起程|0x1000|767\n起初|0x8000000|6450\n起床|0x1000|7080\n起到|0x1000|532\n起点|0x100000|4698\n起电|0x1000|1\n起吊|0x1000|41763\n起碇|0x1000|1392\n起动|0x1000|729\n起端|0x100000|50301\n起飞|0x1000|8546\n起风|0x1000|766\n起伏|0x1000|6555\n起复|0x1000|0\n起稿|0x1000|48458\n起锅|0x0000|44481\n起旱|0x0000|49560\n起航|0x1000|29555\n起哄|0x1000|18338\n起火|0x1000|20622\n起货|0x0000|49913\n起获|0x1000|51520\n起急|0x40000000|1030\n起家|0x1000|15512\n起价|0x100000|37219\n起驾|0x1000|1072\n起见|0x2000|11651\n起降|0x1000|22892\n起脚|0x1000|826\n起解|0x1000|1008\n起劲|0x40000000|13563\n起敬|0x1000|38142\n起居|0x100000|17870\n起开|0x1000|833\n起来|0x1000|91\n起立|0x1000|13238\n起灵|0x0000|49200\n起落|0x1000|21491\n起码|0x8000000|5902\n起毛|0x1000|928\n起锚|0x1000|40629\n起名|0x1000|702\n起拍|0x0000|42991\n起跑|0x1000|27139\n起泡|0x1000|31888\n起讫|0x100000|54908\n起色|0x100000|21235\n起身|0x1000|4183\n起始|0x1000|15685\n起事|0x1000|19962\n起誓|0x1000|29974\n起手|0x1000|626\n起首|0x8000000|47788\n起诉|0x1000|5301\n起跳|0x1000|33297\n起头|0x4000|5872\n起网|0x0000|48459\n起卧|0x1000|0\n起舞|0x1000|19141\n起先|0x8000000|14604\n起兴|0x1000|50691\n起行|0x0000|42990\n起眼|0x0000|14393\n起夜|0x1000|46547\n起疑|0x1000|33949\n起义|0x1000|5431\n起意|0x1000|43726\n起因|0x100000|14196\n起用|0x1000|19367\n起源|0x100000|6873\n起运|0x1000|978\n起早|0x0000|20477\n起征|0x0000|34984\n起止|0x100000|40855\n起重|0x20000000|27224\n起皱|0x0000|41073\n起子|0x100000|43727\n绮丽|0x40000000|27300\n气胞|0x0008|1530\n气泵|0x100000|51940\n气层|0x100000|41765\n气冲|0x0008|0\n气喘|0x1000|23602\n气窗|0x100000|46858\n气锤|0x100000|54909\n气粗|0x40000000|25360\n气促|0x100000|1041\n气袋|0x0008|1060\n气垫|0x100000|34674\n气动|0x20000000|38143\n气度|0x100000|16040\n气短|0x1000|25434\n气阀|0x100000|36693\n气氛|0x100000|1859\n气愤|0x40000000|7860\n气概|0x100000|10312\n气缸|0x100000|800\n气割|0x1000|1006\n气根|0x100000|53377\n气功|0x100000|13293\n气管|0x100000|17640\n气锅|0x100000|1130\n气海|0x0008|1001\n气焊|0x100000|51101\n气侯|0x0000|422\n气候|0x100000|2031\n气化|0x1000|19120\n气话|0x0008|31197\n气急|0x1000|20024\n气节|0x100000|15766\n气井|0x100000|45067\n气绝|0x1000|34675\n气慨|0x100000|982\n气孔|0x100000|25991\n气口|0x0008|46260\n气浪|0x100000|37584\n气冷|0x20000000|1070\n气力|0x100000|10161\n气量|0x100000|26771\n气流|0x100000|10237\n气楼|0x100000|1073\n气脉|0x100000|48460\n气煤|0x100000|1194\n气门|0x100000|35705\n气闷|0x40000000|29448\n气密|0x20000000|921\n气囊|0x100000|22692\n气恼|0x40000000|18303\n气馁|0x40000000|19560\n气派|0x100000|9603\n气泡|0x100000|20741\n气魄|0x100000|11878\n气枪|0x100000|45358\n气球|0x100000|13643\n气圈|0x100000|1215\n气人|0x40000000|34521\n气色|0x100000|19742\n气盛|0x40000000|33805\n气蚀|0x100000|1167\n气势|0x100000|7250\n气数|0x100000|32665\n气死|0x1000|582\n气态|0x100000|30633\n气体|0x100000|4876\n气田|0x100000|18471\n气筒|0x100000|50303\n气团|0x100000|25039\n气味|0x100000|5980\n气温|0x100000|4022\n气息|0x100000|4055\n气象|0x100000|2376\n气性|0x100000|45359\n气胸|0x100000|53893\n气虚|0x1000|36695\n气旋|0x100000|19680\n气穴|0x100000|0\n气学|0x100000|0\n气血|0x100000|24184\n气压|0x100000|12644\n气眼|0x100000|55425\n气焰|0x100000|16080\n气宇|0x100000|34985\n气运|0x100000|951\n气韵|0x100000|23082\n气闸|0x0008|1279\n气质|0x100000|7312\n气滞|0x1000|39763\n气肿|0x100000|399\n气钻|0x4000000|0\n迄今|0x8000000|5802\n弃兵|0x0008|0\n弃儿|0x100000|41766\n弃妇|0x100000|45360\n弃官|0x0000|39566\n弃绝|0x0000|47449\n弃权|0x1000|18828\n弃舍|0x0000|54910\n弃世|0x1000|48461\n弃学|0x0000|44195\n弃婴|0x1000|32550\n弃置|0x1000|31662\n汽包|0x100000|1122\n汽车|0x100000|429\n汽船|0x100000|38144\n汽锤|0x100000|55426\n汽灯|0x100000|40195\n汽笛|0x100000|19368\n汽缸|0x100000|36513\n汽锅|0x100000|1072\n汽化|0x1000|33299\n汽机|0x100000|938\n汽酒|0x100000|1092\n汽轮|0x100000|821\n汽门|0x0040|418\n汽碾|0x100000|0\n汽暖|0x100000|0\n汽泡|0x0000|419\n汽配|0x100000|36349\n汽蚀|0x0008|0\n汽水|0x100000|20448\n汽艇|0x100000|33300\n汽油|0x100000|7717\n泣诉|0x1000|42009\n泣血|0x1000|836\n契丹|0x0008|12793\n契合|0x1000|20581\n契机|0x100000|5279\n契据|0x100000|53378\n契卡|0x0040|1189\n契税|0x100000|37585\n契友|0x100000|1217\n契约|0x100000|11928\n砌块|0x100000|839\n砌墙|0x1000|954\n砌筑|0x0000|48462\n砌砖|0x0008|1015\n荠菜|0x100000|30510\n器材|0x100000|6957\n器度|0x100000|0\n器官|0x100000|6298\n器件|0x100000|16132\n器具|0x100000|13523\n器乐|0x100000|19896\n器量|0x100000|1037\n器皿|0x100000|20825\n器识|0x100000|0\n器物|0x100000|19169\n器械|0x100000|7556\n器用|0x20000000|54427\n器宇|0x100000|1173\n器重|0x40000000|13860\n憩息|0x1000|48463\n掐灭|0x0000|446\n掐死|0x1000|773\n掐算|0x1000|45967\n掐指|0x0000|38951\n恰当|0x40000000|8050\n恰逢|0x1000|28753\n恰好|0x8000000|6559\n恰恰|0x8000000|5997\n恰巧|0x8000000|13614\n恰切|0x40000000|1066\n恰如|0x1000|18339\n恰似|0x8000000|20826\n洽办|0x1000|0\n洽购|0x1000|963\n洽商|0x1000|47450\n洽谈|0x1000|8837\n髂骨|0x100000|1157\n千百|0x400000|625\n千倍|0x0000|485\n千吨|0x200000|915\n千分|0x0008|1312\n千夫|0x100000|939\n千伏|0x20000|37220\n千古|0x100000|11043\n千赫|0x20000|47158\n千户|0x0000|21236\n千斤|0x20000|29238\n千金|0x100000|13515\n千卡|0x20000|38952\n千克|0x20000|17360\n千米|0x100000|14106\n千年|0x100000|495\n千鸟|0x0000|475\n千千|0x200000|676\n千秋|0x100000|12499\n千人|0x0080|645\n千升|0x20000|1208\n千岁|0x0040|1394\n千瓦|0x20000|12728\n千万|0x400000|2565\n千禧|0x100000|726\n千阳|0x0080|1031\n千亿|0x400000|562\n千张|0x100000|848\n千兆|0x400000|728\n千周|0x20000|1298\n千字|0x100000|762\n阡陌|0x100000|34986\n扦插|0x1000|39568\n扦子|0x100000|1328\n芊芊|0x0100|52395\n迁安|0x0080|1443\n迁出|0x1000|18591\n迁都|0x1000|19254\n迁回|0x1000|963\n迁建|0x1000|24846\n迁进|0x1000|1\n迁就|0x1000|17233\n迁居|0x1000|19785\n迁离|0x0000|47159\n迁流|0x1000|1108\n迁怒|0x1000|29044\n迁入|0x1000|15189\n迁西|0x0080|1534\n迁徙|0x1000|13139\n迁延|0x1000|25435\n迁移|0x1000|8427\n迁葬|0x1000|50694\n迁走|0x1000|1032\n钎焊|0x100000|934\n钎子|0x100000|41308\n牵绊|0x1000|684\n牵缠|0x1000|51102\n牵扯|0x1000|16133\n牵掣|0x1000|1174\n牵动|0x1000|9401\n牵挂|0x1000|11819\n牵记|0x1000|55427\n牵拉|0x1000|967\n牵累|0x1000|36696\n牵连|0x1000|13903\n牵念|0x1000|50305\n牵牛|0x100000|816\n牵强|0x40000000|32161\n牵涉|0x1000|13751\n牵伸|0x100000|1095\n牵手|0x0008|531\n牵头|0x1000|7462\n牵系|0x1000|48830\n牵线|0x1000|29128\n牵引|0x1000|12298\n牵制|0x1000|14513\n牵住|0x1000|800\n悭吝|0x40000000|41309\n铅板|0x100000|1109\n铅版|0x100000|1283\n铅笔|0x100000|11856\n铅锤|0x100000|1254\n铅丹|0x100000|1226\n铅弹|0x100000|49916\n铅粉|0x100000|1027\n铅封|0x100000|43728\n铅华|0x100000|815\n铅灰|0x0000|44785\n铅块|0x100000|1046\n铅矿|0x100000|1071\n铅球|0x100000|25361\n铅山|0x0080|991\n铅丝|0x100000|44196\n铅条|0x100000|1256\n铅铁|0x100000|1331\n铅印|0x100000|40429\n铅直|0x1000|1286\n铅制|0x20000000|0\n铅字|0x100000|30961\n谦卑|0x40000000|24968\n谦称|0x100000|55807\n谦诚|0x40000000|0\n谦冲|0x40000000|1101\n谦词|0x0000|51942\n谦辞|0x100000|51521\n谦恭|0x40000000|20780\n谦和|0x40000000|23083\n谦让|0x40000000|21492\n谦顺|0x40000000|0\n谦虚|0x1000|10583\n谦逊|0x40000000|16635\n愆期|0x1000|1210\n愆尤|0x100000|0\n签呈|0x100000|1208\n签单|0x0000|43245\n签到|0x1000|38325\n签订|0x1000|2357\n签定|0x1000|697\n签发|0x1000|14857\n签名|0x1000|6260\n签批|0x1000|1097\n签收|0x1000|36023\n签署|0x1000|2824\n签条|0x100000|1145\n签筒|0x100000|48831\n签押|0x1000|38532\n签约|0x1000|6909\n签章|0x100000|863\n签证|0x100000|9327\n签注|0x1000|34363\n签子|0x100000|37757\n签字|0x1000|4615\n前辈|0x100000|10290\n前臂|0x100000|39348\n前边|0x2000000|7898\n前部|0x2000000|833\n前舱|0x100000|2\n前藏|0x100000|0\n前叉|0x0008|998\n前场|0x8000|745\n前朝|0x4000|28120\n前车|0x0008|1440\n前尘|0x100000|757\n前程|0x100000|11521\n前仇|0x100000|51943\n前此|0x10000000|26065\n前次|0x4000|875\n前代|0x0008|1395\n前导|0x100000|28205\n前灯|0x100000|916\n前敌|0x100000|24011\n前定|0x0008|1001\n前端|0x2000000|24847\n前段|0x2000000|596\n前额|0x100000|16661\n前方|0x2000000|7414\n前房|0x0000|44786\n前锋|0x100000|9790\n前夫|0x100000|26413\n前谷|0x0080|1\n前汉|0x4000|35404\n前后|0x2000000|2457\n前胡|0x0008|1\n前脚|0x100000|25585\n前襟|0x100000|31889\n前进|0x1000|1113\n前景|0x100000|2543\n前科|0x100000|34830\n前款|0x100000|877\n前来|0x1000|1911\n前浪|0x100000|1304\n前例|0x100000|38145\n前列|0x100000|5456\n前路|0x100000|724\n前轮|0x100000|831\n前茅|0x100000|25362\n前门|0x0080|14176\n前面|0x2000000|1819\n前脑|0x100000|1154\n前年|0x4000|7681\n前排|0x8000|708\n前妻|0x100000|22948\n前期|0x2000000|6485\n前旗|0x100000|960\n前愆|0x100000|0\n前桥|0x0080|1002\n前秦|0x4000|43486\n前倾|0x0000|29347\n前清|0x4000|952\n前情|0x100000|983\n前驱|0x100000|19369\n前去|0x1000|14035\n前人|0x100000|8237\n前任|0x100000|13333\n前日|0x4000|18340\n前山|0x0040|1451\n前晌|0x4000|0\n前哨|0x100000|24185\n前身|0x100000|10633\n前生|0x100000|33806\n前世|0x4000|23386\n前事|0x0008|1413\n前述|0x20000000|809\n前台|0x100000|17309\n前提|0x100000|2304\n前蹄|0x0000|463\n前天|0x4000|9389\n前厅|0x8000|855\n前庭|0x100000|913\n前头|0x2000000|8977\n前途|0x100000|3201\n前腿|0x100000|35859\n前晚|0x0000|573\n前往|0x1000|2610\n前桅|0x100000|0\n前卫|0x100000|13564\n前文|0x100000|1293\n前夕|0x2000000|4124\n前贤|0x100000|39349\n前嫌|0x100000|29975\n前线|0x100000|6150\n前项|0x100000|1028\n前行|0x1000|9250\n前胸|0x100000|23941\n前言|0x100000|17160\n前沿|0x2000000|5466\n前腰|0x100000|878\n前叶|0x0008|1060\n前夜|0x2000000|20664\n前缘|0x100000|35090\n前院|0x8000|17595\n前瞻|0x1000|25146\n前站|0x100000|43729\n前兆|0x100000|35706\n前赵|0x0000|48464\n前者|0x10000|5354\n前肢|0x100000|27554\n前置|0x20000000|754\n前轴|0x100000|1091\n前爪|0x100000|37586\n前缀|0x100000|803\n前奏|0x100000|24071\n前作|0x0000|34987\n荨麻|0x100000|50695\n钤记|0x100000|0\n钤印|0x100000|1173\n虔诚|0x40000000|9895\n虔敬|0x40000000|35555\n虔婆|0x100000|1151\n虔心|0x100000|45968\n虔信|0x40000000|1112\n钱包|0x100000|15190\n钱币|0x100000|19491\n钱财|0x100000|9555\n钱钞|0x100000|1176\n钱袋|0x100000|791\n钱柜|0x100000|45969\n钱夹|0x100000|839\n钱款|0x100000|39350\n钱粮|0x100000|23283\n钱票|0x100000|1202\n钱数|0x0000|27635\n钱物|0x100000|18124\n钱箱|0x100000|974\n钱眼|0x100000|990\n钱庄|0x100000|22018\n钱租|0x100000|1\n钳工|0x100000|22468\n钳击|0x1000|0\n钳口|0x100000|1137\n钳蝎|0x100000|0\n钳制|0x1000|34522\n钳子|0x100000|28483\n乾安|0x0080|1125\n乾杯|0x0008|981\n乾脆|0x0000|559\n乾沟|0x0040|0\n乾股|0x100000|0\n乾涸|0x0008|992\n乾净|0x0008|1160\n乾坤|0x100000|18997\n乾酪|0x0008|1265\n乾隆|0x0008|1086\n乾丝|0x0008|1429\n乾县|0x0040|1546\n乾造|0x100000|1202\n乾燥|0x0080|1400\n乾宅|0x100000|0\n掮客|0x100000|36351\n箝位|0x0080|0\n箝制|0x100000|1060\n潜藏|0x1000|20874\n潜到|0x1000|959\n潜返|0x0000|52890\n潜伏|0x1000|13031\n潜航|0x1000|55809\n潜回|0x1000|39764\n潜江|0x0040|1301\n潜力|0x100000|2787\n潜流|0x100000|36024\n潜能|0x100000|12313\n潜匿|0x1000|1202\n潜热|0x100000|1161\n潜入|0x1000|14443\n潜山|0x0040|1288\n潜水|0x1000|15270\n潜逃|0x1000|18538\n潜艇|0x100000|10708\n潜心|0x1000|11759\n潜行|0x1000|38326\n潜修|0x1000|969\n潜血|0x100000|389\n潜隐|0x0000|49564\n潜泳|0x1000|50307\n潜游|0x1000|0\n潜在|0x20000000|5784\n潜质|0x100000|27140\n潜踪|0x1000|54428\n黔江|0x0080|1285\n黔剧|0x100000|51945\n黔南|0x100000|1387\n黔首|0x100000|1089\n黔西|0x0080|983\n浅白|0x40000000|48832\n浅表|0x0000|51104\n浅薄|0x40000000|14762\n浅尝|0x1000|884\n浅淡|0x40000000|44484\n浅耕|0x1000|1354\n浅海|0x100000|24186\n浅红|0x100000|992\n浅黄|0x100000|923\n浅见|0x100000|43959\n浅近|0x40000000|37587\n浅蓝|0x100000|816\n浅陋|0x40000000|38327\n浅露|0x40000000|51105\n浅绿|0x100000|885\n浅明|0x40000000|0\n浅浅|0x0100|602\n浅色|0x100000|30744\n浅水|0x100000|833\n浅说|0x100000|54429\n浅滩|0x100000|28946\n浅谈|0x0000|37400\n浅析|0x1000|44787\n浅显|0x40000000|23029\n浅笑|0x1000|39351\n浅学|0x1000|0\n浅易|0x40000000|1072\n浅紫|0x100000|973\n遣词|0x1000|43730\n遣返|0x1000|19817\n遣怀|0x1000|1085\n遣散|0x1000|28484\n遣使|0x1000|918\n遣送|0x1000|19707\n谴责|0x1000|4040\n缱绻|0x40000000|38953\n欠安|0x1000|49565\n欠产|0x1000|55810\n欠费|0x100000|753\n欠火|0x1000|54431\n欠佳|0x1000|18155\n欠款|0x100000|14177\n欠情|0x1000|1155\n欠缺|0x1000|12559\n欠伸|0x1000|53896\n欠身|0x1000|22949\n欠收|0x0000|387\n欠税|0x100000|948\n欠条|0x100000|30745\n欠妥|0x1000|34218\n欠薪|0x0000|534\n欠债|0x1000|20707\n欠帐|0x1000|1016\n欠账|0x1000|15590\n欠资|0x1000|54432\n欠揍|0x40000000|829\n芡粉|0x100000|1145\n芡实|0x100000|54912\n茜草|0x100000|54913\n茜素|0x100000|1152\n倩影|0x100000|30848\n堑壕|0x100000|34831\n嵌板|0x0008|1180\n嵌合|0x1000|1091\n嵌进|0x0000|444\n嵌入|0x1000|22290\n嵌套|0x100000|822\n嵌体|0x100000|0\n嵌镶|0x1000|1196\n歉疚|0x40000000|23817\n歉年|0x100000|50696\n歉然|0x0008|516\n歉收|0x1000|34219\n歉岁|0x100000|1541\n歉意|0x100000|14178\n歉仄|0x40000000|0\n呛鼻|0x40000000|1025\n羌笛|0x100000|51946\n羌活|0x100000|1053\n羌族|0x0008|33666\n戕害|0x1000|32552\n戕贼|0x1000|1263\n戗风|0x1000|0\n戗脊|0x100000|0\n戗面|0x0000|55813\n枪案|0x100000|20\n枪把|0x0000|37588\n枪毙|0x1000|11839\n枪兵|0x0000|488\n枪柄|0x0000|425\n枪刺|0x100000|34676\n枪弹|0x100000|17612\n枪法|0x100000|26989\n枪杆|0x100000|885\n枪管|0x100000|939\n枪击|0x1000|14703\n枪机|0x100000|46549\n枪架|0x100000|380\n枪决|0x1000|28122\n枪口|0x100000|14687\n枪炮|0x100000|16537\n枪杀|0x1000|16110\n枪伤|0x100000|38954\n枪身|0x100000|996\n枪声|0x100000|9374\n枪手|0x100000|21080\n枪术|0x100000|47790\n枪栓|0x100000|37401\n枪膛|0x100000|39569\n枪套|0x100000|1039\n枪托|0x100000|32667\n枪响|0x100000|829\n枪械|0x100000|27478\n枪眼|0x100000|38534\n枪战|0x100000|28754\n枪支|0x100000|9775\n枪枝|0x100000|1040\n枪子|0x100000|1006\n跄踉|0x40000000|48833\n腔肠|0x100000|1145\n腔道|0x0040|0\n腔调|0x100000|15686\n腔骨|0x100000|1172\n腔子|0x100000|1113\n蜣螂|0x100000|49203\n锖色|0x1000|0\n锵锵|0x80000|1280\n镪水|0x0000|53897\n强暴|0x1000|24584\n强逼|0x1000|44788\n强辩|0x1000|40431\n强撑|0x0000|37402\n强打|0x0000|505\n强大|0x40000000|1854\n强盗|0x100000|10162\n强敌|0x100000|19405\n强调|0x1000|978\n强度|0x100000|4637\n强渡|0x1000|33149\n强队|0x100000|721\n强夺|0x1000|44485\n强风|0x100000|33028\n强干|0x40000000|0\n强攻|0x1000|16563\n强固|0x40000000|42993\n强光|0x100000|763\n强国|0x100000|5310\n强过|0x1000|523\n强悍|0x40000000|21493\n强横|0x40000000|42994\n强化|0x1000|2197\n强击|0x100000|54433\n强记|0x1000|44486\n强加|0x1000|15172\n强奸|0x1000|11084\n强间|0x0080|0\n强碱|0x0008|984\n强健|0x40000000|16775\n强将|0x100000|41075\n强劲|0x40000000|5708\n强力|0x100000|12619\n强梁|0x1000|51947\n强烈|0x40000000|925\n强邻|0x100000|1\n强令|0x1000|23761\n强留|0x1000|834\n强龙|0x100000|1504\n强拍|0x0000|391\n强迫|0x1000|5837\n强求|0x1000|21446\n强取|0x1000|439\n强权|0x100000|22229\n强人|0x100000|22291\n强忍|0x1000|19818\n强韧|0x40000000|873\n强弱|0x100000|727\n强身|0x1000|28655\n强盛|0x40000000|11929\n强使|0x1000|44789\n强势|0x100000|566\n强手|0x100000|17117\n强似|0x1000|42513\n强酸|0x100000|47453\n强项|0x100000|18006\n强效|0x0008|1314\n强笑|0x1000|0\n强心|0x1000|947\n强行|0x8000000|6755\n强压|0x1000|36352\n强颜|0x1000|1020\n强要|0x0000|447\n强音|0x100000|874\n强硬|0x40000000|8822\n强占|0x1000|25777\n强者|0x100000|14944\n强震|0x100000|41530\n强直|0x1000|39144\n强制|0x1000|4555\n强壮|0x40000000|13769\n强嘴|0x1000|1241\n墙报|0x100000|27636\n墙壁|0x100000|6420\n墙垛|0x100000|1172\n墙缝|0x100000|1043\n墙根|0x100000|16583\n墙基|0x100000|45663\n墙角|0x100000|10280\n墙脚|0x100000|30849\n墙面|0x100000|29239\n墙裙|0x100000|51948\n墙上|0x8000|554\n墙体|0x100000|728\n墙头|0x100000|16793\n墙围|0x0000|42996\n墙垣|0x100000|46860\n墙纸|0x100000|41311\n蔷薇|0x100000|17455\n抢白|0x100000|30196\n抢答|0x1000|44487\n抢到|0x0000|597\n抢点|0x1000|42010\n抢渡|0x1000|42011\n抢夺|0x1000|16894\n抢匪|0x0000|45069\n抢工|0x0000|55812\n抢攻|0x1000|41312\n抢购|0x1000|21591\n抢光|0x1000|938\n抢话|0x1000|1\n抢建|0x1000|45070\n抢劫|0x1000|6201\n抢救|0x1000|3852\n抢掠|0x1000|28206\n抢拍|0x1000|43487\n抢跑|0x1000|993\n抢亲|0x1000|46261\n抢球|0x0008|0\n抢去|0x0000|538\n抢墒|0x0000|51949\n抢市|0x1000|1\n抢收|0x1000|26990\n抢手|0x40000000|25715\n抢滩|0x1000|26275\n抢下|0x1000|858\n抢先|0x1000|12104\n抢嫌|0x0008|2\n抢险|0x1000|6144\n抢修|0x1000|14107\n抢眼|0x40000000|22640\n抢运|0x1000|27396\n抢占|0x1000|11011\n抢种|0x1000|28043\n抢注|0x1000|704\n抢走|0x1000|653\n抢嘴|0x1000|54915\n羟基|0x100000|852\n羟腈|0x0080|0\n羟醛|0x0080|0\n襁褓|0x100000|25147\n悄悄|0x8000000|3257\n悄然|0x1000|8918\n悄声|0x8000000|14879\n硗薄|0x40000000|0\n跷课|0x0008|0\n跷蹊|0x40000000|1144\n敲出|0x0000|489\n敲打|0x1000|14351\n敲掉|0x0000|435\n敲定|0x1000|22951\n敲击|0x1000|20624\n敲开|0x1000|526\n敲门|0x1000|619\n敲破|0x0000|428\n敲敲|0x1000|805\n敲响|0x1000|683\n敲诈|0x1000|22292\n敲钟|0x0000|441\n乔扮|0x0000|54434\n乔木|0x100000|19093\n乔迁|0x1000|29663\n乔石|0x0080|1081\n乔治|0x0080|1091\n乔装|0x1000|38328\n侨办|0x100000|934\n侨胞|0x100000|8907\n侨报|0x100000|913\n侨汇|0x100000|44197\n侨界|0x100000|979\n侨居|0x1000|29449\n侨眷|0x100000|12042\n侨联|0x100000|896\n侨领|0x0000|27397\n侨民|0x100000|20025\n侨商|0x100000|45664\n侨团|0x100000|1088\n侨务|0x100000|13644\n侨乡|0x0040|24654\n侨属|0x100000|52400\n侨资|0x100000|39352\n荞麦|0x100000|26911\n荞面|0x0000|48095\n桥板|0x100000|1080\n桥洞|0x100000|33554\n桥段|0x0008|788\n桥墩|0x100000|24385\n桥拱|0x0000|54916\n桥涵|0x100000|36514\n桥基|0x100000|54435\n桥孔|0x100000|47791\n桥栏|0x100000|43731\n桥梁|0x100000|4319\n桥面|0x100000|895\n桥牌|0x100000|15231\n桥身|0x100000|42770\n桥台|0x100000|1148\n桥头|0x8000|15513\n桥堍|0x8000|0\n桥下|0x8000|754\n桥艺|0x0008|0\n桥桩|0x100000|51950\n谯楼|0x100000|1125\n憔悴|0x40000000|11564\n樵夫|0x100000|31318\n瞧病|0x0000|45361\n瞧见|0x1000|11845\n瞧瞧|0x1000|646\n巧辩|0x1000|55430\n巧夺|0x0000|34988\n巧妇|0x100000|913\n巧干|0x1000|42012\n巧合|0x100000|16155\n巧计|0x100000|44790\n巧家|0x0080|1040\n巧匠|0x100000|48096\n巧劲|0x100000|1052\n巧妙|0x40000000|7429\n巧取|0x0000|38535\n巧事|0x100000|1093\n巧手|0x100000|32289\n巧思|0x100000|45072\n巧言|0x0000|40196\n巧遇|0x1000|25586\n巧诈|0x100000|0\n愀然|0x1000|42997\n俏货|0x100000|45073\n俏丽|0x40000000|27225\n俏脸|0x100000|603\n俏皮|0x40000000|19227\n俏头|0x100000|0\n俏销|0x40000000|985\n峭拔|0x40000000|49567\n峭壁|0x100000|20321\n峭立|0x1000|53380\n峭直|0x40000000|0\n窍门|0x100000|25040\n翘楚|0x100000|36698\n翘棱|0x1000|0\n翘盼|0x1000|53898\n翘企|0x1000|51951\n翘起|0x0080|579\n翘翘|0x1000|832\n翘首|0x1000|22952\n翘臀|0x100000|551\n翘望|0x1000|50698\n翘尾|0x1000|1114\n撬棒|0x100000|1175\n撬动|0x1000|870\n撬杠|0x100000|53899\n撬棍|0x100000|48469\n撬开|0x0000|532\n撬窃|0x1000|1347\n鞘翅|0x0080|374\n切边|0x100000|967\n切变|0x100000|1111\n切成|0x0040|1093\n切齿|0x1000|15154\n切除|0x1000|13853\n切磋|0x1000|17234\n切当|0x40000000|1210\n切点|0x100000|43247\n切掉|0x0000|482\n切断|0x1000|10158\n切分|0x0008|41313\n切糕|0x0000|49918\n切割|0x1000|15153\n切合|0x1000|15077\n切花|0x100000|35861\n切换|0x1000|27870\n切记|0x1000|33425\n切忌|0x1000|16404\n切角|0x0040|1005\n切结|0x0008|0\n切近|0x1000|36354\n切开|0x1000|764\n切口|0x100000|28124\n切块|0x1000|862\n切脉|0x1000|50699\n切面|0x100000|30085\n切莫|0x8000000|21035\n切盼|0x1000|32030\n切片|0x100000|22502\n切切|0x8000000|24386\n切去|0x0000|479\n切肉|0x0000|438\n切入|0x1000|19228\n切身|0x20000000|11044\n切实|0x40000000|1811\n切碎|0x1000|835\n切题|0x40000000|47454\n切望|0x100000|44489\n切勿|0x8000000|23337\n切下|0x0000|505\n切线|0x100000|27637\n切削|0x1000|34523\n切屑|0x100000|1117\n切牙|0x100000|0\n切要|0x40000000|15191\n切音|0x100000|1215\n切诊|0x100000|1146\n切中|0x1000|25778\n切锥|0x100000|0\n茄克|0x100000|882\n茄子|0x100000|14990\n且慢|0x800000|21680\n且末|0x0080|1031\n且说|0x10000000|9529\n妾身|0x10000|510\n妾侍|0x0080|0\n怯场|0x40000000|38735\n怯懦|0x40000000|22119\n怯怯|0x0080|789\n怯弱|0x40000000|29556\n怯生|0x40000000|30850\n怯阵|0x1000|49919\n窃案|0x100000|50700\n窃盗|0x0008|2\n窃夺|0x1000|1287\n窃国|0x1000|39987\n窃据|0x1000|45074\n窃密|0x1000|52401\n窃窃|0x8000000|23499\n窃取|0x1000|17613\n窃听|0x1000|24387\n窃喜|0x0000|552\n窃笑|0x1000|29664\n窃贼|0x100000|25913\n惬当|0x40000000|0\n惬怀|0x40000000|1404\n惬意|0x40000000|13954\n亲爱|0x40000000|7843\n亲本|0x100000|26142\n亲笔|0x8000000|13282\n亲兵|0x100000|925\n亲潮|0x100000|1205\n亲代|0x100000|45973\n亲丁|0x100000|1370\n亲睹|0x0000|45974\n亲耳|0x100000|30197\n亲故|0x100000|42275\n亲和|0x40000000|24969\n亲家|0x100000|13416\n亲见|0x1000|883\n亲近|0x40000000|8221\n亲眷|0x100000|45667\n亲口|0x8000000|23661\n亲历|0x1000|16000\n亲临|0x1000|12314\n亲聆|0x1000|52894\n亲率|0x1000|912\n亲密|0x40000000|6952\n亲睦|0x40000000|1172\n亲昵|0x40000000|16763\n亲娘|0x100000|26772\n亲朋|0x100000|19819\n亲戚|0x100000|3831\n亲切|0x40000000|1759\n亲亲|0x1000|575\n亲情|0x100000|7596\n亲热|0x40000000|7821\n亲人|0x100000|3901\n亲日|0x0000|459\n亲善|0x40000000|26912\n亲身|0x8000000|7188\n亲生|0x20000000|12530\n亲事|0x100000|18662\n亲手|0x8000000|7842\n亲疏|0x100000|29240\n亲随|0x0000|39145\n亲王|0x100000|8737\n亲吻|0x1000|15453\n亲信|0x100000|12292\n亲眼|0x8000000|7548\n亲迎|0x1000|0\n亲友|0x100000|7738\n亲缘|0x100000|26632\n亲征|0x1000|903\n亲政|0x1000|34365\n亲知|0x100000|1198\n亲属|0x100000|5342\n亲子|0x100000|30533\n亲自|0x8000000|1411\n亲族|0x100000|31663\n亲嘴|0x1000|26557\n侵晨|0x4000|0\n侵夺|0x1000|43248\n侵犯|0x1000|3538\n侵害|0x1000|5432\n侵华|0x1000|768\n侵凌|0x1000|1123\n侵略|0x1000|3282\n侵权|0x1000|6097\n侵染|0x1000|995\n侵扰|0x1000|26699\n侵入|0x1000|10211\n侵蚀|0x1000|8144\n侵吞|0x1000|18064\n侵袭|0x1000|13940\n侵越|0x1000|52893\n侵占|0x1000|9295\n钦差|0x100000|28755\n钦点|0x0008|867\n钦定|0x1000|904\n钦敬|0x40000000|37759\n钦慕|0x40000000|45666\n钦佩|0x40000000|8746\n钦羡|0x1000|45972\n钦仰|0x1000|0\n钦州|0x0040|1200\n芹菜|0x100000|24586\n秦安|0x0080|1016\n秦巴|0x0040|1036\n秦朝|0x4000|842\n秦川|0x0008|1390\n秦代|0x4000|937\n秦国|0x0040|1344\n秦汉|0x4000|768\n秦淮|0x0040|1214\n秦艽|0x100000|1104\n秦晋|0x100000|1020\n秦岭|0x0040|1256\n秦律|0x100000|1206\n秦皮|0x4000000|1180\n秦腔|0x100000|25148\n秦王|0x0008|1315\n秦俑|0x100000|30746\n秦篆|0x100000|1226\n琴房|0x100000|924\n琴弓|0x100000|46262\n琴技|0x100000|1044\n琴键|0x100000|38146\n琴酒|0x0008|399\n琴马|0x0080|0\n琴鸟|0x100000|1227\n琴谱|0x0008|49920\n琴曲|0x0000|38329\n琴瑟|0x100000|44199\n琴声|0x100000|18304\n琴师|0x100000|39988\n琴书|0x100000|43960\n琴弦|0x100000|22798\n琴音|0x100000|847\n琴韵|0x100000|907\n琴钟|0x0080|0\n禽蛋|0x100000|25587\n禽类|0x100000|837\n禽鸟|0x100000|958\n禽肉|0x100000|935\n禽舍|0x100000|1201\n禽兽|0x100000|19256\n勤奋|0x40000000|6865\n勤俭|0x40000000|12803\n勤谨|0x40000000|43961\n勤恳|0x40000000|36355\n勤苦|0x40000000|33301\n勤快|0x40000000|20827\n勤劳|0x40000000|7928\n勤勉|0x40000000|25436\n勤朴|0x40000000|1232\n勤王|0x1000|955\n勤务|0x100000|18829\n勤学|0x1000|871\n勤于|0x1000|16740\n勤杂|0x100000|35405\n勤政|0x1000|11592\n噙泪|0x0000|50308\n擒敌|0x1000|43249\n擒获|0x1000|23238\n擒拿|0x100000|33951\n寝车|0x100000|0\n寝宫|0x100000|866\n寝具|0x100000|54917\n寝食|0x100000|30747\n寝室|0x100000|15401\n沁入|0x1000|863\n沁水|0x0080|1533\n沁县|0x0040|1053\n沁阳|0x0040|1350\n沁源|0x0080|1004\n青白|0x100000|853\n青帮|0x100000|43732\n青菜|0x100000|16306\n青藏|0x0040|639\n青草|0x100000|12183\n青茶|0x0000|53900\n青虫|0x0000|40857\n青川|0x0080|1014\n青春|0x100000|2655\n青瓷|0x100000|32290\n青磁|0x0080|1311\n青葱|0x100000|42998\n青翠|0x40000000|23943\n青黛|0x100000|49921\n青岛|0x0040|762\n青灯|0x100000|37045\n青豆|0x100000|37404\n青峰|0x100000|1390\n青冈|0x100000|994\n青工|0x100000|954\n青瓜|0x100000|922\n青光|0x20000000|1390\n青果|0x100000|35862\n青海|0x0040|4539\n青蒿|0x100000|26992\n青河|0x0080|981\n青黑|0x100000|1014\n青花|0x100000|807\n青灰|0x100000|35863\n青椒|0x100000|27059\n青衿|0x100000|1102\n青筋|0x100000|23123\n青稞|0x100000|12746\n青睐|0x100000|8345\n青莲|0x100000|838\n青联|0x100000|911\n青灵|0x0080|1097\n青龙|0x100000|29779\n青楼|0x100000|32163\n青鲈|0x0080|0\n青绿|0x100000|28756\n青麻|0x0008|36515\n青梅|0x100000|38955\n青霉|0x0080|0\n青苗|0x100000|21861\n青年|0x100000|294\n青鸟|0x100000|1134\n青皮|0x100000|35092\n青浦|0x0080|1149\n青青|0x0100|594\n青色|0x100000|15933\n青涩|0x0008|49922\n青山|0x100000|8333\n青衫|0x100000|847\n青蛇|0x0080|852\n青神|0x0080|1008\n青石|0x100000|769\n青史|0x100000|29451\n青丝|0x100000|32416\n青松|0x100000|25588\n青蒜|0x100000|49923\n青苔|0x100000|23880\n青天|0x100000|15362\n青田|0x0080|1352\n青铜|0x100000|14280\n青蛙|0x100000|11497\n青瓦|0x100000|1464\n青虾|0x100000|49207\n青下|0x0000|18472\n青县|0x0040|1390\n青烟|0x100000|781\n青眼|0x100000|954\n青阳|0x0080|1280\n青杨|0x100000|51952\n青叶|0x0080|1512\n青衣|0x100000|21538\n青蝇|0x0080|0\n青鱼|0x100000|32796\n青玉|0x100000|870\n青云|0x100000|30634\n青冢|0x0080|53381\n青州|0x0040|1174\n青竹|0x100000|882\n青贮|0x1000|27796\n青砖|0x100000|22588\n青紫|0x100000|33029\n氢弹|0x100000|22589\n氢化|0x100000|928\n氢键|0x100000|1088\n氢气|0x100000|14456\n氢酸|0x100000|1248\n轻便|0x40000000|21769\n轻兵|0x100000|1156\n轻薄|0x40000000|23124\n轻触|0x0000|538\n轻打|0x0000|405\n轻弹|0x0000|508\n轻淡|0x0000|39146\n轻敌|0x1000|25437\n轻点|0x1000|767\n轻度|0x20000000|23603\n轻纺|0x100000|21164\n轻放|0x1000|1\n轻粉|0x0008|0\n轻风|0x100000|32031\n轻拂|0x1000|789\n轻浮|0x40000000|23762\n轻抚|0x0000|28207\n轻工|0x100000|617\n轻轨|0x100000|19430\n轻忽|0x1000|47792\n轻缓|0x40000000|1\n轻活|0x100000|51523\n轻击|0x0008|417\n轻剑|0x0000|377\n轻贱|0x1000|48097\n轻捷|0x40000000|30748\n轻看|0x0000|33302\n轻叩|0x0000|422\n轻快|0x40000000|13524\n轻狂|0x40000000|38956\n轻灵|0x40000000|785\n轻率|0x40000000|19461\n轻慢|0x1000|40858\n轻妙|0x40000000|1180\n轻蔑|0x1000|12896\n轻暖|0x40000000|0\n轻拍|0x0000|566\n轻判|0x0000|47793\n轻飘|0x40000000|35406\n轻骑|0x0008|21494\n轻巧|0x40000000|18926\n轻俏|0x40000000|0\n轻轻|0x8000000|497\n轻取|0x1000|19964\n轻柔|0x40000000|16327\n轻软|0x40000000|45362\n轻纱|0x0000|30534\n轻伤|0x100000|20913\n轻身|0x1000|43489\n轻生|0x1000|29452\n轻声|0x100000|7865\n轻省|0x0000|51524\n轻石|0x0008|1146\n轻视|0x1000|8694\n轻爽|0x40000000|0\n轻水|0x100000|1073\n轻松|0x40000000|2526\n轻佻|0x40000000|27555\n轻铁|0x0008|0\n轻推|0x0008|975\n轻微|0x40000000|9517\n轻侮|0x1000|47161\n轻闲|0x40000000|40632\n轻心|0x1000|1081\n轻信|0x1000|16794\n轻型|0x20000000|14858\n轻扬|0x1000|48098\n轻咬|0x0000|509\n轻易|0x1000|5560\n轻音|0x0008|1047\n轻吟|0x0000|49924\n轻盈|0x40000000|13492\n轻油|0x100000|54437\n轻者|0x100000|860\n轻重|0x100000|12205\n轻舟|0x100000|35407\n轻装|0x100000|24388\n轻罪|0x100000|1077\n倾侧|0x1000|48470\n倾巢|0x1000|40197\n倾城|0x1000|25589\n倾倒|0x1000|20828\n倾动|0x1000|52896\n倾耳|0x0000|44201\n倾复|0x0008|0\n倾覆|0x1000|27728\n倾盖|0x1000|1168\n倾家|0x1000|0\n倾角|0x100000|32797\n倾刻|0x0000|469\n倾慕|0x1000|31428\n倾囊|0x1000|42515\n倾盆|0x0100|851\n倾情|0x8000000|637\n倾洒|0x0000|49925\n倾诉|0x1000|11742\n倾塌|0x1000|52897\n倾谈|0x1000|45363\n倾听|0x1000|5559\n倾吐|0x1000|19257\n倾颓|0x1000|1030\n倾羡|0x1000|1\n倾向|0x100000|3014\n倾销|0x1000|5224\n倾斜|0x1000|5732\n倾泄|0x1000|883\n倾泻|0x1000|19933\n倾卸|0x1000|1204\n倾心|0x1000|13955\n倾轧|0x1000|29129\n倾注|0x1000|10748\n卿卿|0x0100|476\n清吧|0x0008|0\n清白|0x100000|11615\n清兵|0x100000|911\n清仓|0x1000|41532\n清册|0x100000|49926\n清查|0x1000|9604\n清茶|0x100000|24970\n清偿|0x1000|16538\n清场|0x1000|44791\n清唱|0x1000|28125\n清朝|0x4000|661\n清炒|0x0000|51953\n清澈|0x40000000|10740\n清晨|0x4000|5667\n清澄|0x40000000|939\n清初|0x4000|817\n清除|0x1000|5860\n清楚|0x40000000|759\n清川|0x0080|0\n清纯|0x40000000|21165\n清醇|0x40000000|48837\n清脆|0x40000000|10647\n清代|0x4000|668\n清单|0x100000|10366\n清淡|0x40000000|18998\n清党|0x1000|0\n清道|0x1000|41314\n清点|0x1000|18801\n清炖|0x1000|45364\n清肺|0x0000|52898\n清分|0x1000|1135\n清芬|0x40000000|981\n清丰|0x0080|1109\n清风|0x100000|13997\n清福|0x0000|33952\n清高|0x40000000|18774\n清稿|0x100000|1334\n清宫|0x100000|802\n清官|0x100000|20411\n清光|0x0080|1450\n清规|0x100000|49568\n清寒|0x40000000|43250\n清河|0x0040|1160\n清华|0x0020|789\n清还|0x1000|42999\n清辉|0x100000|842\n清火|0x0000|50310\n清寂|0x40000000|45668\n清涧|0x0080|975\n清江|0x0040|1267\n清焦|0x100000|0\n清剿|0x1000|23184\n清教|0x0080|402\n清洁|0x40000000|4151\n清净|0x40000000|22590\n清静|0x40000000|11241\n清酒|0x100000|852\n清客|0x100000|1094\n清口|0x40000000|48838\n清苦|0x40000000|23550\n清库|0x0000|37048\n清旷|0x40000000|0\n清栏|0x0080|0\n清朗|0x40000000|30535\n清冷|0x40000000|20097\n清理|0x1000|2537\n清丽|0x40000000|22693\n清涟|0x40000000|52899\n清廉|0x40000000|15173\n清凉|0x40000000|12926\n清亮|0x40000000|27302\n清冽|0x40000000|35261\n清洌|0x40000000|1012\n清泠|0x40000000|0\n清零|0x0080|506\n清流|0x100000|21817\n清律|0x100000|1264\n清明|0x4000|11973\n清末|0x4000|763\n清盘|0x1000|52402\n清贫|0x40000000|15434\n清平|0x40000000|48099\n清屏|0x0080|0\n清漆|0x100000|51526\n清欠|0x1000|34834\n清清|0x0100|580\n清秋|0x4000|35262\n清癯|0x40000000|34524\n清泉|0x100000|18125\n清热|0x1000|27141\n清人|0x100000|905\n清润|0x40000000|54438\n清扫|0x1000|14266\n清神|0x0000|54918\n清史|0x100000|1438\n清收|0x1000|1018\n清瘦|0x40000000|22641\n清爽|0x40000000|15892\n清水|0x20000000|587\n清算|0x1000|9064\n清谈|0x1000|31078\n清汤|0x100000|41076\n清天|0x100000|1114\n清甜|0x40000000|51108\n清廷|0x100000|891\n清退|0x1000|16247\n清挖|0x0000|54439\n清玩|0x100000|0\n清晰|0x40000000|3491\n清洗|0x1000|11124\n清闲|0x40000000|21396\n清乡|0x100000|1118\n清香|0x100000|12470\n清心|0x1000|43251\n清新|0x40000000|7040\n清馨|0x40000000|53383\n清醒|0x40000000|2555\n清秀|0x40000000|15047\n清徐|0x0080|1514\n清雅|0x40000000|31773\n清扬|0x1000|847\n清样|0x100000|47162\n清野|0x100000|1113\n清夜|0x100000|45076\n清议|0x100000|1063\n清逸|0x40000000|47163\n清音|0x100000|29130\n清幽|0x40000000|26066\n清油|0x100000|39353\n清淤|0x0000|23284\n清誉|0x0000|54440\n清原|0x0008|1421\n清远|0x0040|1112\n清苑|0x0080|1474\n清越|0x40000000|50701\n清运|0x1000|946\n清早|0x4000|14457\n清账|0x100000|40633\n清障|0x0000|37591\n清真|0x100000|28392\n清镇|0x0040|1029\n清蒸|0x1000|38330\n清正|0x40000000|29453\n清浊|0x0000|44491\n蜻蛉|0x0080|0\n蜻蜓|0x100000|16764\n蜻蜒|0x0080|408\n情爱|0x100000|21166\n情报|0x100000|4287\n情变|0x1000|690\n情操|0x100000|7814\n情场|0x0000|30635\n情痴|0x0000|48839\n情敌|0x100000|32417\n情调|0x100000|11320\n情分|0x100000|27060\n情夫|0x100000|39989\n情妇|0x100000|20176\n情感|0x100000|1711\n情歌|0x100000|22120\n情海|0x0000|47455\n情话|0x100000|28126\n情怀|0x100000|7616\n情急|0x100000|20875\n情节|0x100000|2667\n情结|0x100000|12217\n情景|0x100000|3058\n情境|0x100000|11962\n情况|0x100000|145\n情郎|0x0000|39990\n情理|0x100000|13673\n情侣|0x100000|17235\n情面|0x100000|21009\n情趣|0x100000|8228\n情人|0x100000|7661\n情杀|0x0000|42013\n情商|0x100000|35707\n情深|0x0000|653\n情诗|0x100000|34366\n情事|0x100000|19282\n情势|0x100000|13826\n情书|0x100000|20322\n情丝|0x100000|41315\n情思|0x100000|20543\n情素|0x100000|417\n情愫|0x100000|22174\n情态|0x100000|28947\n情网|0x100000|32668\n情味|0x0000|27956\n情形|0x100000|1909\n情绪|0x100000|1398\n情义|0x100000|26143\n情谊|0x100000|9535\n情意|0x100000|14579\n情由|0x100000|26276\n情欲|0x100000|17078\n情缘|0x100000|25914\n情愿|0x1000|7274\n情韵|0x0000|36864\n情知|0x0000|42014\n情致|0x0000|31664\n情种|0x0000|38538\n情状|0x0000|18404\n晴好|0x40000000|31198\n晴和|0x40000000|45975\n晴空|0x100000|22746\n晴朗|0x40000000|13904\n晴隆|0x0080|1098\n晴纶|0x0008|895\n晴明|0x0000|44792\n晴天|0x100000|14085\n氰化|0x20000000|964\n氰酸|0x100000|965\n擎天|0x1000|820\n苘麻|0x100000|1343\n顷刻|0x8000000|17339\n请安|0x1000|19965\n请便|0x1000|35556\n请辞|0x0008|869\n请电|0x100000|802\n请调|0x1000|44202\n请功|0x1000|42015\n请假|0x1000|11606\n请柬|0x100000|21862\n请见|0x0000|561\n请降|0x1000|27957\n请教|0x1000|8229\n请进|0x0000|717\n请看|0x100000|567\n请客|0x1000|8297\n请来|0x1000|619\n请命|0x1000|26144\n请你|0x0000|794\n请求|0x1000|2724\n请赏|0x1000|38957\n请示|0x1000|9710\n请帖|0x100000|30086\n请托|0x1000|31890\n请问|0x1000|6905\n请勿|0x2000|28656\n请益|0x1000|1035\n请缨|0x1000|22747\n请援|0x0000|46551\n请愿|0x1000|16953\n请战|0x1000|25363\n请罪|0x1000|22799\n请坐|0x0000|571\n庆安|0x0080|1522\n庆城|0x0040|1013\n庆典|0x100000|8366\n庆功|0x1000|22230\n庆贺|0x1000|11362\n庆生|0x1000|744\n庆幸|0x40000000|11348\n庆阳|0x0080|1275\n庆元|0x0008|1386\n庆云|0x0080|1387\n庆祝|0x1000|2758\n罄尽|0x1000|53904\n跫音|0x100000|1055\n邛崃|0x0040|1440\n穷愁|0x40000000|43001\n穷冬|0x4000|0\n穷乏|0x40000000|53905\n穷根|0x100000|35708\n穷鬼|0x100000|36356\n穷国|0x100000|918\n穷汉|0x100000|1082\n穷极|0x0000|429\n穷竭|0x1000|1207\n穷尽|0x100000|25497\n穷究|0x1000|909\n穷举|0x0080|988\n穷寇|0x100000|43492\n穷苦|0x40000000|17614\n穷困|0x40000000|16233\n穷忙|0x1000|0\n穷目|0x1000|0\n穷期|0x100000|51109\n穷人|0x100000|7457\n穷酸|0x40000000|34835\n穷途|0x100000|948\n穷相|0x0080|0\n穷追|0x1000|27061\n穹苍|0x100000|957\n穹顶|0x100000|36025\n穹隆|0x100000|51528\n穹窿|0x100000|1031\n穹庐|0x100000|51955\n茕茕|0x0100|962\n琼海|0x0040|1291\n琼浆|0x100000|927\n琼结|0x0080|1146\n琼剧|0x100000|51110\n琼麻|0x0080|0\n琼山|0x0040|1493\n琼斯|0x0080|1194\n琼脂|0x100000|44793\n丘八|0x500000|37049\n丘北|0x0040|1083\n丘壑|0x100000|42516\n丘陵|0x100000|11663\n丘墓|0x100000|1252\n丘脑|0x100000|957\n丘疹|0x100000|45669\n邱县|0x0040|998\n秋波|0x100000|38737\n秋播|0x1000|36517\n秋菜|0x100000|1172\n秋蝉|0x0000|39147\n秋冬|0x0080|571\n秋分|0x4000|41534\n秋风|0x100000|12481\n秋耕|0x1000|1301\n秋光|0x0000|44492\n秋毫|0x100000|45976\n秋后|0x4000|857\n秋季|0x4000|7840\n秋景|0x100000|45365\n秋菊|0x0080|1354\n秋裤|0x0000|53906\n秋葵|0x0080|0\n秋莱|0x0000|51111\n秋凉|0x100000|39571\n秋粮|0x100000|27226\n秋令|0x100000|1164\n秋千|0x100000|24456\n秋日|0x4000|22748\n秋色|0x100000|25779\n秋试|0x100000|0\n秋收|0x1000|14859\n秋熟|0x20000000|1255\n秋霜|0x100000|912\n秋水|0x100000|23763\n秋天|0x4000|5335\n秋田|0x0080|1482\n秋闱|0x100000|1159\n秋汛|0x100000|44493\n秋叶|0x100000|732\n秋夜|0x100000|771\n秋衣|0x0000|55435\n秋意|0x100000|38539\n秋游|0x1000|53384\n秋雨|0x100000|635\n秋种|0x1000|29665\n秋装|0x0000|54441\n蚯蚓|0x100000|15902\n囚车|0x100000|32032\n囚犯|0x100000|12876\n囚服|0x0000|46263\n囚禁|0x1000|20876\n囚牢|0x100000|44204\n囚粮|0x100000|0\n囚笼|0x0000|39572\n囚室|0x100000|33555\n囚徒|0x100000|23881\n囚衣|0x100000|48100\n犰狳|0x100000|54442\n求爱|0x1000|21818\n求才|0x100000|883\n求成|0x1000|402\n求出|0x0008|1445\n求导|0x0008|1089\n求得|0x1000|10079\n求法|0x100000|1549\n求告|0x1000|39766\n求根|0x0008|1146\n求购|0x1000|37050\n求和|0x1000|26773\n求欢|0x0000|44205\n求婚|0x1000|17848\n求见|0x1000|21447\n求降|0x1000|0\n求教|0x1000|19371\n求解|0x1000|22469\n求借|0x1000|0\n求救|0x1000|15767\n求靠|0x1000|0\n求名|0x0008|1520\n求偶|0x1000|43002\n求其|0x0008|2\n求乞|0x1000|42517\n求签|0x1000|47165\n求亲|0x1000|42276\n求情|0x1000|19123\n求求|0x1000|634\n求取|0x0000|45366\n求全|0x1000|35557\n求饶|0x1000|24655\n求人|0x1000|22470\n求神|0x1000|874\n求生|0x1000|16405\n求胜|0x0000|32418\n求师|0x0000|49927\n求实|0x40000000|10800\n求是|0x100000|14880\n求售|0x1000|51956\n求索|0x1000|20208\n求同|0x1000|996\n求稳|0x0000|43493\n求仙|0x1000|985\n求贤|0x1000|912\n求新|0x1000|29977\n求学|0x1000|10678\n求医|0x1000|19462\n求雨|0x1000|40199\n求援|0x1000|17980\n求战|0x1000|45670\n求真|0x1000|20914\n求诊|0x1000|41768\n求证|0x1000|18877\n求知|0x1000|13688\n求值|0x0008|424\n求职|0x1000|10248\n求治|0x1000|31080\n求助|0x1000|9715\n虬髯|0x100000|981\n虬须|0x100000|1137\n泅渡|0x1000|40860\n泅水|0x1000|35093\n泅泳|0x1000|1168\n酋长|0x100000|14352\n球棒|0x100000|1009\n球操|0x0000|48841\n球场|0x100000|11296\n球胆|0x100000|1213\n球队|0x100000|3722\n球儿|0x100000|1005\n球阀|0x100000|766\n球风|0x100000|869\n球杆|0x0008|1443\n球根|0x0080|1024\n球棍|0x0008|412\n球果|0x100000|51530\n球焊|0x0080|0\n球技|0x100000|34082\n球茎|0x100000|44795\n球菌|0x100000|37222\n球类|0x100000|24715\n球龄|0x100000|0\n球路|0x100000|43733\n球门|0x100000|19320\n球迷|0x100000|4717\n球面|0x100000|28757\n球拍|0x100000|33030\n球票|0x100000|879\n球赛|0x100000|21276\n球市|0x0000|29242\n球手|0x100000|519\n球速|0x100000|987\n球台|0x100000|40861\n球坛|0x100000|54443\n球体|0x100000|27958\n球童|0x100000|926\n球僮|0x0080|0\n球王|0x100000|763\n球网|0x100000|45977\n球鞋|0x100000|30963\n球心|0x0080|1117\n球星|0x100000|13453\n球形|0x100000|24072\n球芽|0x0080|0\n球衣|0x100000|31199\n球艺|0x100000|43494\n球友|0x100000|849\n球员|0x100000|3510\n球证|0x0008|1\n球状|0x100000|33667\n球钻|0x0080|0\n巯基|0x100000|1046\n遒劲|0x40000000|36026\n裘皮|0x100000|38331\n蝤蛑|0x100000|1310\n糗事|0x0008|799\n区别|0x100000|2661\n区长|0x100000|746\n区段|0x100000|893\n区分|0x1000|7038\n区号|0x100000|640\n区划|0x100000|17750\n区徽|0x0000|45671\n区间|0x100000|16208\n区块|0x100000|821\n区内|0x8000|702\n区旗|0x0000|34836\n区区|0x20000000|14515\n区外|0x8000|880\n区委|0x100000|665\n区位|0x100000|10714\n区县|0x100000|632\n区域|0x100000|1594\n区属|0x100000|910\n曲背|0x0008|0\n曲笔|0x1000|53907\n曲柄|0x100000|979\n曲池|0x100000|1070\n曲尺|0x100000|46552\n曲调|0x100000|18156\n曲度|0x100000|1053\n曲阜|0x0040|1178\n曲江|0x0040|1301\n曲解|0x1000|22997\n曲径|0x100000|37051\n曲靖|0x0040|1163\n曲剧|0x100000|30964\n曲菌|0x0080|1206\n曲流|0x100000|0\n曲率|0x100000|976\n曲霉|0x100000|52404\n曲面|0x100000|36027\n曲目|0x100000|16269\n曲牌|0x100000|36358\n曲谱|0x100000|33303\n曲曲|0x0100|782\n曲泉|0x0080|1306\n曲蟮|0x0080|1344\n曲式|0x100000|918\n曲水|0x0040|900\n曲松|0x0080|993\n曲坛|0x100000|1243\n曲沃|0x0040|981\n曲线|0x100000|7431\n曲阳|0x0080|1376\n曲艺|0x100000|8881\n曲垣|0x0080|0\n曲泽|0x0080|0\n曲张|0x1000|758\n曲折|0x100000|5173\n曲直|0x100000|36357\n曲种|0x100000|1132\n曲周|0x0080|998\n曲轴|0x100000|845\n曲子|0x100000|12702\n驱策|0x1000|44206\n驱车|0x4000000|10142\n驱驰|0x1000|45978\n驱虫|0x100000|860\n驱出|0x0000|410\n驱除|0x1000|25278\n驱动|0x1000|8129\n驱赶|0x1000|18696\n驱鬼|0x0000|471\n驱寒|0x1000|49569\n驱迫|0x1000|49928\n驱遣|0x1000|1117\n驱散|0x1000|18802\n驱使|0x1000|11232\n驱邪|0x1000|37223\n驱逐|0x1000|9065\n驱走|0x1000|829\n屈才|0x40000000|50311\n屈从|0x1000|23944\n屈服|0x1000|11535\n屈驾|0x1000|51531\n屈节|0x1000|47459\n屈就|0x1000|45673\n屈居|0x1000|25717\n屈强|0x0080|1238\n屈曲|0x100000|952\n屈辱|0x100000|12531\n屈身|0x0000|42772\n屈死|0x1000|31892\n屈枉|0x1000|0\n屈膝|0x1000|25498\n屈心|0x0000|53908\n屈原|0x0008|1200\n屈折|0x100000|1122\n屈指|0x1000|31539\n屈尊|0x1000|35864\n祛斑|0x0000|48842\n祛病|0x0000|42518\n祛除|0x1000|40862\n祛风|0x0000|46866\n祛暑|0x100000|54919\n祛痰|0x1000|54444\n祛邪|0x0000|34837\n祛疑|0x1000|0\n蛆虫|0x100000|32291\n躯干|0x100000|22841\n躯壳|0x100000|23945\n躯体|0x100000|11627\n蛐蛐|0x100000|869\n蛐蟮|0x100000|0\n趋避|0x1000|34525\n趋奉|0x1000|42773\n趋附|0x1000|35865\n趋缓|0x1000|23125\n趋紧|0x0000|35410\n趋近|0x1000|933\n趋利|0x1000|982\n趋时|0x1000|47166\n趋势|0x100000|1751\n趋同|0x1000|21167\n趋向|0x1000|7829\n趋于|0x1000|7736\n黢黑|0x0100|51957\n劬劳|0x40000000|54445\n渠道|0x100000|2575\n渠沟|0x0040|1036\n渠县|0x0040|976\n氍毹|0x100000|1212\n衢道|0x100000|0\n衢县|0x0040|1110\n衢州|0x0040|1083\n取保|0x1000|24012\n取材|0x1000|15687\n取出|0x1000|574\n取代|0x1000|5293\n取道|0x1000|28948\n取得|0x1000|712\n取缔|0x1000|5300\n取法|0x1000|33668\n取给|0x1000|1148\n取回|0x1000|689\n取火|0x0000|36028\n取经|0x1000|15689\n取景|0x1000|42016\n取决|0x1000|36865\n取款|0x1000|685\n取来|0x0000|543\n取乐|0x1000|21863\n取码|0x1000|1200\n取名|0x1000|15323\n取闹|0x1000|31081\n取暖|0x1000|12560\n取平|0x1000|1263\n取齐|0x1000|53909\n取巧|0x1000|33669\n取去|0x0000|451\n取舍|0x1000|17207\n取胜|0x1000|7465\n取水|0x1000|838\n取下|0x0000|644\n取向|0x100000|7165\n取消|0x1000|2196\n取笑|0x1000|16697\n取信|0x1000|24342\n取样|0x1000|21010\n取用|0x1000|847\n取悦|0x1000|23084\n取证|0x1000|12021\n取自|0x1000|22893\n取走|0x0000|555\n娶亲|0x1000|25916\n龋齿|0x100000|39573\n去病|0x0000|36359\n去除|0x1000|22800\n去处|0x100000|11024\n去掉|0x1000|599\n去冬|0x4000|928\n去官|0x1000|0\n去国|0x1000|7\n去过|0x1000|519\n去火|0x1000|51958\n去就|0x1000|674\n去壳|0x0000|454\n去留|0x100000|21864\n去路|0x100000|16795\n去年|0x4000|526\n去皮|0x100000|40200\n去取|0x1000|749\n去去|0x1000|505\n去任|0x1000|0\n去日|0x4000|0\n去声|0x100000|50312\n去世|0x1000|4500\n去势|0x100000|51532\n去逝|0x0000|450\n去暑|0x1000|0\n去岁|0x4000|37958\n去痛|0x1000|0\n去往|0x1000|526\n去污|0x1000|851\n去夏|0x4000|1030\n去向|0x100000|17140\n去雄|0x1000|1273\n去找|0x0000|786\n去职|0x1000|29243\n去做|0x0000|769\n阒寂|0x40000000|0\n阒然|0x0100|0\n趣怪|0x0008|2\n趣话|0x100000|43963\n趣剧|0x100000|0\n趣事|0x100000|24389\n趣谈|0x0000|45077\n趣味|0x100000|6760\n趣闻|0x100000|31200\n圈闭|0x100000|1209\n圈操|0x100000|0\n圈地|0x0008|30427\n圈点|0x1000|39148\n圈定|0x1000|34677\n圈儿|0x100000|13905\n圈肥|0x100000|0\n圈梁|0x100000|1165\n圈拢|0x1000|0\n圈内|0x40000000|585\n圈钱|0x0008|825\n圈圈|0x100000|624\n圈套|0x100000|15768\n圈外|0x0000|508\n圈形|0x100000|0\n圈养|0x1000|19314\n圈椅|0x100000|33809\n圈阅|0x1000|51959\n圈占|0x0000|34368\n圈子|0x100000|9187\n全班|0x100000|638\n全般|0x100000|1142\n全豹|0x100000|1035\n全本|0x100000|38958\n全部|0x100000|419\n全才|0x100000|39575\n全彩|0x100000|791\n全长|0x100000|7242\n全厂|0x100000|857\n全场|0x100000|551\n全称|0x100000|32034\n全城|0x100000|718\n全程|0x100000|7259\n全村|0x100000|767\n全党|0x100000|816\n全等|0x0000|449\n全都|0x8000000|4388\n全队|0x100000|717\n全额|0x100000|14036\n全份|0x100000|46868\n全副|0x8000000|19463\n全国|0x100000|333\n全乎|0x40000000|0\n全会|0x100000|6511\n全活|0x0000|42774\n全集|0x100000|11450\n全家|0x100000|551\n全价|0x0000|42519\n全歼|0x1000|25840\n全椒|0x0080|1422\n全角|0x0008|1533\n全景|0x100000|13924\n全境|0x100000|20877\n全局|0x100000|2953\n全剧|0x100000|829\n全军|0x10000|3809\n全开|0x100000|815\n全力|0x1000|3450\n全路|0x100000|1031\n全麻|0x100000|980\n全毛|0x100000|1011\n全貌|0x100000|20098\n全酶|0x100000|0\n全美|0x100000|694\n全面|0x100000|910\n全民|0x100000|3649\n全名|0x100000|36029\n全南|0x0080|974\n全能|0x1000|11760\n全年|0x100000|3256\n全盘|0x8000000|13674\n全片|0x100000|824\n全篇|0x100000|26145\n全票|0x100000|26914\n全屏|0x0000|671\n全勤|0x1000|52905\n全球|0x100000|1666\n全区|0x100000|703\n全权|0x8000000|10640\n全然|0x8000000|9437\n全人|0x100000|949\n全日|0x100000|40636\n全色|0x100000|1034\n全身|0x100000|3924\n全胜|0x1000|13770\n全省|0x100000|559\n全盛|0x1000|32798\n全食|0x100000|47460\n全市|0x100000|547\n全书|0x100000|530\n全数|0x8000000|26559\n全速|0x8000000|39355\n全所|0x100000|983\n全套|0x100000|15007\n全体|0x100000|1371\n全天|0x100000|679\n全托|0x1000|44207\n全文|0x100000|7714\n全无|0x0000|651\n全息|0x100000|34369\n全险|0x0000|408\n全县|0x100000|677\n全线|0x100000|7482\n全乡|0x100000|916\n全向|0x0000|485\n全校|0x100000|655\n全蝎|0x100000|1043\n全心|0x0008|1082\n全新|0x20000000|4847\n全形|0x100000|1074\n全休|0x1000|51112\n全选|0x0000|587\n全音|0x100000|1092\n全优|0x100000|34678\n全域|0x0008|3\n全员|0x100000|12241\n全院|0x100000|822\n全责|0x0000|32293\n全脂|0x100000|922\n全职|0x20000000|43004\n全州|0x0040|826\n权变|0x1000|48844\n权标|0x0080|0\n权柄|0x100000|37764\n权臣|0x100000|39574\n权充|0x1000|1102\n权当|0x1000|25718\n权贵|0x100000|24785\n权衡|0x100000|16209\n权奸|0x0000|39354\n权力|0x100000|1304\n权利|0x100000|1112\n权门|0x100000|47795\n权谋|0x100000|39767\n权能|0x100000|41078\n权且|0x8000000|37052\n权时|0x0000|25651\n权势|0x100000|14909\n权术|0x100000|33670\n权数|0x100000|1096\n权威|0x100000|2908\n权位|0x100000|37765\n权限|0x100000|7648\n权宜|0x1000|47168\n权益|0x100000|2458\n权舆|0x1000|1210\n权欲|0x100000|48845\n权责|0x100000|16974\n权诈|0x40000000|1288\n权杖|0x100000|46264\n权重|0x100000|752\n权属|0x100000|755\n权作|0x0000|43495\n诠次|0x100000|0\n诠释|0x1000|10143\n诠注|0x1000|1146\n泉流|0x100000|1039\n泉水|0x100000|10694\n泉下|0x100000|1538\n泉眼|0x100000|34838\n泉涌|0x1000|29780\n泉源|0x100000|35411\n泉州|0x0040|901\n荃湾|0x0080|0\n拳棒|0x100000|52406\n拳参|0x0008|0\n拳打|0x1000|775\n拳法|0x100000|869\n拳击|0x100000|14894\n拳脚|0x100000|22503\n拳谱|0x100000|1050\n拳曲|0x1000|0\n拳拳|0x0100|40637\n拳赛|0x100000|1018\n拳师|0x100000|41769\n拳手|0x100000|43496\n拳术|0x100000|36030\n拳坛|0x100000|1009\n拳套|0x100000|994\n拳头|0x100000|6913\n拳王|0x100000|826\n痊愈|0x1000|15490\n铨叙|0x1000|1183\n蜷伏|0x1000|37053\n蜷局|0x1000|0\n蜷曲|0x1000|30851\n蜷缩|0x1000|21919\n醛酸|0x100000|1117\n鬈曲|0x1000|367\n颧骨|0x100000|21237\n犬齿|0x100000|41536\n犬吠|0x100000|30852\n犬马|0x100000|40201\n犬儒|0x100000|48101\n犬牙|0x100000|48102\n犬子|0x100000|946\n畎亩|0x100000|1159\n劝导|0x1000|22365\n劝告|0x100000|12781\n劝和|0x1000|33954\n劝化|0x1000|1110\n劝驾|0x1000|0\n劝架|0x1000|35094\n劝谏|0x100000|41316\n劝降|0x1000|27142\n劝解|0x1000|16603\n劝戒|0x1000|948\n劝诫|0x1000|37959\n劝进|0x1000|1048\n劝酒|0x1000|31082\n劝勉|0x1000|43964\n劝募|0x1000|50702\n劝劝|0x1000|504\n劝让|0x0000|54448\n劝善|0x0000|41537\n劝说|0x1000|9962\n劝退|0x1000|41538\n劝慰|0x1000|14780\n劝学|0x1000|42520\n劝业|0x0008|1063\n劝诱|0x1000|39768\n劝止|0x1000|39769\n劝阻|0x1000|11607\n券商|0x100000|29880\n缺编|0x1000|44208\n缺档|0x1000|1302\n缺德|0x40000000|20742\n缺点|0x100000|5283\n缺电|0x0008|516\n缺额|0x100000|37592\n缺乏|0x1000|1131\n缺钙|0x0000|519\n缺憾|0x100000|17947\n缺货|0x1000|38540\n缺课|0x1000|42278\n缺口|0x100000|7598\n缺漏|0x100000|51960\n缺门|0x100000|53389\n缺钱|0x0000|559\n缺欠|0x100000|32164\n缺勤|0x1000|48103\n缺少|0x1000|2495\n缺省|0x1000|729\n缺失|0x100000|12909\n缺水|0x1000|739\n缺损|0x1000|23126\n缺位|0x1000|44796\n缺席|0x1000|17141\n缺陷|0x100000|4862\n缺血|0x1000|28485\n缺氧|0x1000|706\n缺油|0x0000|440\n缺员|0x0000|55436\n缺阵|0x1000|35709\n缺嘴|0x100000|45367\n瘸腿|0x100000|31893\n瘸子|0x100000|31775\n却步|0x1000|37960\n却说|0x1000|13925\n雀斑|0x100000|29558\n雀巢|0x100000|1203\n雀目|0x0008|0\n雀鹰|0x100000|0\n雀跃|0x1000|30198\n雀子|0x100000|48834\n确保|0x1000|2024\n确当|0x40000000|42521\n确定|0x1000|1084\n确非|0x1000|41317\n确乎|0x8000000|24187\n确立|0x1000|2657\n确切|0x40000000|8385\n确权|0x0008|1000\n确然|0x0000|459\n确认|0x1000|4104\n确山|0x0040|1550\n确实|0x40000000|1241\n确系|0x0000|35558\n确信|0x100000|12229\n确凿|0x40000000|13941\n确诊|0x1000|9358\n确证|0x100000|30199\n确知|0x0000|483\n阙漏|0x100000|0\n阙如|0x1000|42775\n阙文|0x0080|1225\n阙疑|0x1000|0\n鹊起|0x1000|32294\n鹊桥|0x100000|39149\n逡巡|0x1000|33150\n裙钗|0x100000|1128\n裙带|0x4000000|39356\n裙裤|0x100000|55438\n裙装|0x100000|783\n裙子|0x100000|8188\n群臣|0x100000|839\n群丛|0x100000|0\n群岛|0x100000|17310\n群雕|0x100000|39357\n群发|0x1000|617\n群芳|0x100000|28394\n群峰|0x100000|27062\n群呼|0x0080|0\n群婚|0x100000|48104\n群集|0x1000|37766\n群居|0x1000|35095\n群聚|0x1000|43497\n群论|0x100000|0\n群落|0x100000|15553\n群氓|0x100000|54450\n群殴|0x0000|50703\n群起|0x1000|30200\n群情|0x100000|22418\n群山|0x100000|12532\n群射|0x0080|0\n群生|0x20000000|1014\n群速|0x100000|0\n群体|0x100000|2639\n群系|0x100000|0\n群贤|0x100000|985\n群像|0x100000|30853\n群星|0x100000|19283\n群雄|0x100000|21592\n群英|0x100000|663\n群育|0x0008|0\n群植|0x0080|0\n群众|0x100000|325\n蚺蛇|0x0080|0\n然而|0x10000000|317\n然谷|0x0040|1322\n然后|0x10000000|560\n然诺|0x1000|52907\n然则|0x10000000|18568\n髯口|0x100000|1266\n燃爆|0x0000|53910\n燃点|0x100000|45674\n燃放|0x1000|16741\n燃耗|0x100000|1203\n燃料|0x100000|4659\n燃煤|0x0000|15934\n燃起|0x1000|673\n燃气|0x100000|11522\n燃烧|0x1000|3884\n燃油|0x100000|13645\n冉冉|0x8000000|18906\n染病|0x1000|26633\n染布|0x0008|1019\n染毒|0x1000|997\n染发|0x1000|42522\n染坊|0x100000|36699\n染房|0x100000|1093\n染缸|0x100000|44494\n染工|0x0080|0\n染红|0x0080|585\n染疾|0x0080|1\n染料|0x100000|20449\n染色|0x1000|19061\n染上|0x1000|684\n染污|0x0008|427\n染液|0x0080|1206\n染印|0x0080|0\n染整|0x1000|764\n染织|0x0000|45368\n染指|0x1000|30201\n瓤子|0x100000|24518\n嚷叫|0x0000|30854\n嚷嚷|0x1000|12735\n壤塘|0x0080|1108\n壤土|0x100000|1044\n攘臂|0x1000|1135\n攘除|0x1000|1193\n攘夺|0x1000|47797\n攘攘|0x0100|956\n攘外|0x0000|33031\n让步|0x1000|9646\n让出|0x1000|767\n让道|0x1000|900\n让渡|0x1000|963\n让给|0x1000|678\n让价|0x0008|52407\n让开|0x1000|752\n让利|0x1000|18663\n让路|0x1000|23387\n让让|0x1000|516\n让位|0x1000|21277\n让贤|0x1000|38541\n让与|0x100000|938\n让座|0x1000|20878\n饶河|0x0080|979\n饶命|0x1000|32419\n饶平|0x0080|1453\n饶人|0x0000|48473\n饶舌|0x1000|32799\n饶恕|0x1000|22842\n饶头|0x100000|0\n饶阳|0x0080|1510\n饶有|0x1000|23388\n桡骨|0x100000|1090\n扰动|0x1000|19636\n扰乱|0x1000|7205\n扰民|0x1000|19035\n扰攘|0x1000|978\n扰扰|0x0100|1025\n绕场|0x0000|38147\n绕道|0x1000|16493\n绕过|0x1000|666\n绕回|0x0000|443\n绕开|0x1000|813\n绕梁|0x1000|927\n绕路|0x0000|46554\n绕弯|0x1000|991\n绕行|0x1000|29045\n绕远|0x1000|927\n绕桩|0x0008|0\n绕组|0x100000|952\n绕嘴|0x0000|49929\n惹火|0x1000|670\n惹祸|0x1000|26476\n惹来|0x1000|580\n惹气|0x1000|49570\n惹人|0x0000|16539\n惹事|0x1000|31665\n惹眼|0x0000|28658\n热爱|0x1000|2901\n热病|0x100000|33032\n热播|0x0000|31666\n热补|0x0008|1209\n热菜|0x0000|36518\n热茶|0x100000|788\n热肠|0x100000|40863\n热潮|0x100000|6126\n热炒|0x0000|38333\n热忱|0x40000000|14245\n热诚|0x40000000|16604\n热带|0x100000|6785\n热岛|0x100000|1052\n热地|0x0080|1480\n热点|0x40000000|3157\n热电|0x100000|558\n热毒|0x0000|49930\n热度|0x100000|20625\n热风|0x100000|24343\n热敷|0x1000|47798\n热狗|0x0000|45979\n热管|0x0008|536\n热害|0x0080|0\n热和|0x0080|47799\n热河|0x0040|1474\n热核|0x0008|1048\n热乎|0x40000000|25841\n热呼|0x40000000|0\n热化|0x1000|1103\n热火|0x40000000|33304\n热机|0x100000|1023\n热季|0x0080|0\n热寂|0x0080|0\n热键|0x100000|817\n热胶|0x0008|0\n热觉|0x0080|0\n热卡|0x0080|1202\n热炕|0x100000|1093\n热库|0x0080|0\n热裤|0x0008|489\n热狂|0x0080|0\n热浪|0x100000|16999\n热泪|0x100000|9269\n热力|0x100000|16540\n热恋|0x1000|23030\n热量|0x100000|7861\n热烈|0x40000000|1341\n热流|0x100000|24716\n热络|0x40000000|868\n热卖|0x1000|42523\n热媒|0x0008|1117\n热门|0x100000|9115\n热敏|0x0008|1269\n热闹|0x100000|2897\n热能|0x100000|13733\n热气|0x100000|9751\n热切|0x40000000|10824\n热情|0x100000|923\n热泉|0x100000|1100\n热热|0x0100|627\n热容|0x0008|370\n热身|0x1000|18569\n热水|0x100000|9454\n热汤|0x0080|876\n热烫|0x0080|0\n热天|0x100000|23239\n热土|0x100000|14763\n热望|0x100000|25499\n热线|0x100000|4852\n热销|0x40000000|19966\n热心|0x40000000|5168\n热学|0x100000|954\n热血|0x100000|8625\n热压|0x20000000|45080\n热液|0x0080|0\n热饮|0x100000|52408\n热油|0x0008|1442\n热源|0x100000|24139\n热轧|0x1000|28561\n热战|0x100000|50704\n热胀|0x1000|986\n热障|0x100000|1284\n热症|0x0080|1070\n热值|0x100000|950\n热中|0x1000|868\n热衷|0x1000|10124\n热柱|0x100000|0\n人才|0x100000|683\n人材|0x100000|829\n人参|0x100000|14302\n人潮|0x100000|23031\n人称|0x100000|12830\n人次|0x20000|2920\n人丛|0x100000|26146\n人大|0x100000|2164\n人丹|0x0000|51962\n人道|0x100000|8465\n人丁|0x100000|33955\n人定|0x0000|40207\n人儿|0x100000|677\n人犯|0x100000|22749\n人贩|0x100000|5\n人防|0x100000|813\n人夫|0x100000|925\n人格|0x100000|2875\n人工|0x20000000|2933\n人海|0x100000|22471\n人和|0x1000|23032\n人化|0x1000|986\n人寰|0x100000|31083\n人祸|0x100000|33305\n人机|0x100000|724\n人迹|0x100000|23818\n人际|0x100000|15491\n人家|0x10000|1829\n人间|0x100000|3757\n人杰|0x100000|24247\n人精|0x100000|48106\n人居|0x100000|755\n人均|0x20000000|2433\n人口|0x100000|914\n人浪|0x100000|1007\n人类|0x100000|390\n人力|0x100000|3107\n人流|0x100000|9188\n人龙|0x100000|918\n人伦|0x100000|25439\n人马|0x100000|4844\n人脉|0x0008|1120\n人们|0x10000|112\n人面|0x0008|1206\n人民|0x100000|136\n人名|0x100000|20412\n人命|0x100000|14315\n人脑|0x100000|790\n人年|0x0080|952\n人品|0x100000|12885\n人气|0x100000|14623\n人墙|0x100000|37405\n人情|0x100000|6178\n人权|0x100000|2888\n人群|0x100000|2123\n人人|0x20000|2392\n人日|0x0008|978\n人肉|0x0000|541\n人瑞|0x0000|50705\n人身|0x100000|5181\n人生|0x100000|791\n人声|0x100000|711\n人时|0x0008|1088\n人士|0x100000|1648\n人氏|0x100000|24344\n人世|0x100000|10531\n人事|0x100000|2663\n人手|0x100000|10687\n人寿|0x100000|630\n人数|0x100000|1988\n人梯|0x100000|36519\n人体|0x100000|2956\n人头|0x100000|9186\n人望|0x100000|34370\n人为|0x20000000|4587\n人味|0x0008|991\n人文|0x100000|3670\n人武|0x100000|982\n人物|0x100000|455\n人像|0x100000|17269\n人心|0x100000|2898\n人形|0x100000|699\n人性|0x100000|5340\n人畜|0x100000|543\n人选|0x100000|5622\n人烟|0x100000|28300\n人样|0x100000|839\n人妖|0x100000|40204\n人意|0x100000|22420\n人迎|0x0008|0\n人影|0x100000|636\n人鱼|0x100000|42524\n人语|0x100000|851\n人欲|0x100000|30428\n人员|0x100000|439\n人缘|0x100000|18473\n人猿|0x100000|868\n人愿|0x100000|774\n人月|0x0080|1486\n人造|0x20000000|10440\n人渣|0x0080|43499\n人证|0x100000|36360\n人治|0x1000|15935\n人质|0x100000|7660\n人中|0x100000|16081\n人种|0x100000|25440\n人主|0x100000|10\n人子|0x100000|943\n仁爱|0x40000000|25780\n仁布|0x0080|1133\n仁慈|0x40000000|20743\n仁德|0x0008|1394\n仁弟|0x100000|1240\n仁儿|0x0000|42776\n仁果|0x0080|1221\n仁厚|0x40000000|37224\n仁化|0x0080|1421\n仁怀|0x0040|1462\n仁人|0x100000|973\n仁寿|0x0040|1442\n仁术|0x100000|1124\n仁心|0x0080|1350\n仁兄|0x100000|31201\n仁义|0x100000|14815\n仁政|0x100000|36361\n壬辰|0x400000|977\n壬醇|0x0080|0\n壬基|0x0080|0\n壬醛|0x0080|0\n壬炔|0x100000|0\n壬申|0x400000|1001\n壬酸|0x100000|0\n壬酮|0x100000|0\n壬烷|0x100000|0\n壬午|0x400000|953\n壬烯|0x100000|0\n壬戌|0x400000|998\n壬寅|0x400000|1000\n壬子|0x400000|995\n忍冬|0x100000|48475\n忍耐|0x1000|8139\n忍让|0x1000|30309\n忍辱|0x0000|23444\n忍受|0x1000|5868\n忍痛|0x1000|19858\n忍心|0x40000000|10538\n忍住|0x0000|659\n荏苒|0x1000|36032\n荏弱|0x40000000|1182\n稔熟|0x40000000|48107\n稔知|0x1000|0\n刃具|0x100000|846\n刃口|0x100000|51536\n认出|0x1000|611\n认错|0x1000|16698\n认得|0x1000|8998\n认定|0x1000|3028\n认罚|0x1000|39577\n认负|0x0000|45371\n认购|0x1000|16171\n认股|0x0000|518\n认缴|0x1000|430\n认捐|0x1000|43005\n认可|0x1000|4358\n认领|0x1000|29131\n认明|0x0000|404\n认命|0x1000|28659\n认亲|0x1000|38335\n认清|0x1000|667\n认认|0x1000|551\n认生|0x40000000|46556\n认识|0x1000|202\n认输|0x1000|20744\n认同|0x1000|5864\n认头|0x1000|51115\n认为|0x1000|138\n认养|0x0000|45982\n认帐|0x0000|421\n认账|0x1000|30856\n认真|0x40000000|469\n认证|0x1000|3594\n认知|0x100000|8067\n认准|0x1000|20323\n认字|0x1000|859\n认罪|0x1000|16429\n认作|0x1000|924\n任便|0x1000|41318\n任从|0x1000|47462\n任何|0x10000|312\n任教|0x1000|10532\n任课|0x1000|28660\n任脉|0x100000|1029\n任免|0x1000|8381\n任命|0x1000|3877\n任内|0x100000|927\n任凭|0x1000|13114\n任期|0x100000|5973\n任情|0x1000|1074\n任丘|0x0040|802\n任随|0x0000|50313\n任务|0x100000|507\n任县|0x0040|1485\n任性|0x40000000|15212\n任选|0x1000|39578\n任一|0x410000|3\n任意|0x1000|7489\n任用|0x1000|4632\n任由|0x1000|25781\n任职|0x1000|5752\n妊妇|0x100000|1304\n妊娠|0x1000|19967\n韧带|0x100000|29132\n韧度|0x0000|54920\n韧劲|0x100000|27398\n韧性|0x100000|19820\n恁地|0x10000|0\n扔出|0x0000|553\n扔掉|0x1000|637\n扔回|0x0000|436\n扔进|0x0000|588\n扔弃|0x0000|48108\n扔下|0x1000|683\n仍旧|0x8000000|5801\n仍然|0x8000000|523\n日安|0x0080|1544\n日班|0x100000|47463\n日斑|0x100000|1427\n日报|0x100000|3296\n日本|0x0040|173\n日产|0x1000|12162\n日常|0x100000|3047\n日场|0x100000|51537\n日程|0x100000|8428\n日出|0x100000|9594\n日戳|0x0080|55440\n日珥|0x100000|1208\n日方|0x100000|820\n日工|0x100000|49932\n日共|0x0020|873\n日光|0x100000|11470\n日规|0x0080|377\n日晷|0x100000|1005\n日后|0x4000|6476\n日华|0x0080|1400\n日化|0x100000|692\n日货|0x0008|747\n日籍|0x100000|940\n日记|0x100000|5183\n日间|0x4000|24013\n日见|0x8000000|21731\n日渐|0x8000000|7154\n日剧|0x0008|1067\n日军|0x100000|712\n日均|0x100000|14881\n日刊|0x100000|945\n日寇|0x100000|865\n日历|0x100000|19637\n日立|0x0008|1072\n日轮|0x0080|2\n日落|0x1000|19000\n日没|0x0000|520\n日美|0x0080|1288\n日冕|0x100000|1103\n日暮|0x0080|519\n日内|0x4000|21968\n日南|0x100000|1024\n日期|0x100000|1674\n日前|0x4000|1932\n日趋|0x1000|4896\n日惹|0x0080|1068\n日日|0x20000|626\n日色|0x100000|0\n日晒|0x1000|36702\n日商|0x100000|1539\n日射|0x100000|1147\n日神|0x100000|978\n日食|0x100000|23285\n日数|0x1000000|932\n日头|0x100000|16270\n日土|0x0080|1086\n日托|0x100000|45372\n日文|0x0008|19347\n日夕|0x100000|19561\n日息|0x0080|0\n日校|0x0080|2\n日心|0x20000000|1446\n日薪|0x0000|55818\n日夜|0x100000|6543\n日益|0x8000000|1768\n日裔|0x100000|31\n日银|0x100000|1046\n日影|0x100000|951\n日用|0x20000000|15095\n日语|0x0008|15708\n日元|0x100000|6145\n日圆|0x100000|812\n日月|0x100000|10350\n日晕|0x100000|54453\n日杂|0x20000000|44799\n日照|0x100000|16827\n日臻|0x1000|23710\n日志|0x100000|30637\n日中|0x0080|1176\n日子|0x100000|890\n戎机|0x100000|42282\n戎马|0x100000|34679\n戎行|0x100000|1250\n戎衣|0x100000|1154\n戎装|0x100000|27399\n绒布|0x100000|30638\n绒花|0x100000|37054\n绒裤|0x100000|1041\n绒毛|0x100000|18037\n绒帽|0x100000|1087\n绒球|0x100000|1006\n绒毯|0x100000|920\n绒线|0x100000|22894\n绒绣|0x100000|1085\n绒衣|0x100000|39150\n茸毛|0x100000|38336\n茸茸|0x0100|36520\n荣昌|0x0080|1194\n荣成|0x0040|1270\n荣登|0x1000|31202\n荣光|0x100000|34841\n荣归|0x1000|48848\n荣华|0x100000|29781\n荣获|0x1000|5233\n荣记|0x0000|29560\n荣军|0x100000|1502\n荣枯|0x0000|43254\n荣立|0x1000|11820\n荣民|0x0008|1025\n荣任|0x1000|51539\n荣辱|0x100000|21238\n荣升|0x1000|43006\n荣退|0x0000|49572\n荣县|0x0040|988\n荣幸|0x40000000|12458\n荣耀|0x40000000|14246\n荣膺|0x1000|27730\n荣誉|0x100000|3186\n容城|0x0080|1525\n容错|0x1000|1126\n容光|0x100000|50314\n容或|0x8000000|0\n容积|0x100000|18907\n容抗|0x100000|0\n容量|0x100000|5587\n容留|0x1000|34842\n容貌|0x100000|14353\n容纳|0x1000|8269\n容器|0x100000|11288\n容情|0x1000|37225\n容人|0x1000|37962\n容忍|0x1000|8013\n容身|0x1000|40205\n容县|0x0040|1456\n容限|0x0080|0\n容许|0x1000|13536\n容颜|0x100000|21969\n容易|0x40000000|547\n容止|0x100000|1110\n容重|0x0080|1076\n溶点|0x100000|1077\n溶洞|0x100000|23946\n溶斗|0x100000|0\n溶合|0x1000|39358\n溶化|0x1000|20099\n溶剂|0x100000|17829\n溶胶|0x100000|948\n溶解|0x1000|9733\n溶媒|0x100000|1147\n溶溶|0x0100|43966\n溶入|0x1000|745\n溶蚀|0x1000|53392\n溶血|0x1000|40206\n溶岩|0x100000|1097\n溶液|0x100000|7169\n溶质|0x100000|1069\n蓉城|0x100000|540\n榕江|0x0080|983\n榕树|0x100000|20134\n熔池|0x100000|1195\n熔点|0x100000|25994\n熔断|0x1000|53912\n熔焊|0x100000|1162\n熔合|0x1000|1060\n熔化|0x1000|20058\n熔剂|0x100000|1030\n熔接|0x0000|463\n熔解|0x1000|1090\n熔炼|0x1000|38337\n熔炉|0x100000|21168\n熔融|0x1000|33956\n熔岩|0x100000|30857\n熔铸|0x1000|24519\n蝾螈|0x100000|51540\n融合|0x1000|4414\n融和|0x1000|34680\n融化|0x1000|11616\n融汇|0x0000|20582\n融会|0x1000|27960\n融解|0x1000|39579\n融洽|0x40000000|10902\n融融|0x0100|19095\n融入|0x1000|538\n融通|0x1000|23240\n融雪|0x100000|931\n融资|0x100000|4728\n冗笔|0x100000|1496\n冗长|0x40000000|24014\n冗词|0x100000|1395\n冗繁|0x40000000|0\n冗务|0x100000|0\n冗余|0x100000|804\n冗员|0x100000|27874\n冗杂|0x40000000|54455\n冗赘|0x100000|0\n柔肠|0x100000|40864\n柔道|0x100000|14910\n柔光|0x0080|1413\n柔和|0x40000000|9075\n柔滑|0x40000000|43967\n柔化|0x0080|2\n柔毛|0x0080|1100\n柔美|0x40000000|24589\n柔媚|0x40000000|26774\n柔嫩|0x40000000|32800\n柔情|0x100000|14011\n柔韧|0x40000000|28758\n柔柔|0x0100|662\n柔软|0x40000000|8536\n柔润|0x40000000|42777\n柔弱|0x40000000|17097\n柔术|0x100000|902\n柔顺|0x40000000|26068\n柔婉|0x40000000|47800\n柔细|0x40000000|49574\n柔性|0x100000|729\n揉搓|0x1000|25995\n揉面|0x0008|0\n揉捏|0x0000|518\n揉揉|0x1000|574\n糅合|0x1000|34990\n糅杂|0x1000|0\n蹂躏|0x1000|14545\n鞣剂|0x4000000|0\n鞣料|0x0008|1247\n鞣酸|0x0080|955\n鞣制|0x1000|1027\n鞣质|0x0008|394\n肉案|0x0000|50315\n肉包|0x0000|480\n肉饼|0x100000|36867\n肉搏|0x1000|36033\n肉弹|0x0008|927\n肉店|0x100000|963\n肉丁|0x100000|52410\n肉冻|0x100000|1178\n肉贩|0x100000|1135\n肉脯|0x100000|51541\n肉干|0x100000|911\n肉感|0x100000|35710\n肉鸽|0x100000|52911\n肉羹|0x0000|400\n肉冠|0x100000|1260\n肉桂|0x100000|44499\n肉果|0x0008|1300\n肉红|0x100000|47801\n肉鸡|0x100000|21595\n肉碱|0x100000|1022\n肉酱|0x100000|42778\n肉类|0x100000|12668\n肉瘤|0x100000|36868\n肉麻|0x40000000|23882\n肉糜|0x100000|1018\n肉末|0x100000|890\n肉泥|0x0000|44500\n肉牛|0x100000|18592\n肉排|0x100000|1052\n肉皮|0x100000|934\n肉片|0x100000|809\n肉票|0x100000|35711\n肉铺|0x100000|39580\n肉禽|0x100000|42779\n肉色|0x100000|37963\n肉身|0x100000|29979\n肉食|0x100000|21970\n肉丝|0x100000|700\n肉松|0x100000|48478\n肉摊|0x100000|1094\n肉汤|0x100000|878\n肉体|0x100000|7693\n肉痛|0x40000000|960\n肉头|0x40000000|52411\n肉团|0x100000|428\n肉丸|0x100000|52912\n肉馅|0x100000|864\n肉刑|0x100000|49209\n肉畜|0x100000|1377\n肉芽|0x100000|939\n肉眼|0x100000|17487\n肉用|0x20000000|972\n肉欲|0x100000|31667\n肉汁|0x100000|49575\n肉质|0x100000|30204\n肉猪|0x100000|36521\n肉赘|0x100000|1336\n肉粽|0x100000|468\n如厕|0x0008|821\n如常|0x1000|21683\n如初|0x1000|22231\n如此|0x10000000|406\n如次|0x1000|52913\n如弟|0x100000|1186\n如东|0x0080|1269\n如皋|0x0040|1240\n如故|0x1000|16518\n如果|0x10000000|121\n如何|0x10000|226\n如花|0x0008|995\n如画|0x0000|606\n如火|0x0008|1141\n如今|0x4000|578\n如旧|0x0000|22843\n如来|0x0080|39770\n如期|0x8000000|7552\n如其|0x10000000|29246\n如前|0x0000|577\n如若|0x10000000|18305\n如上|0x1000|36522\n如实|0x1000|8328\n如是|0x1000|599\n如数|0x1000|19493\n如斯|0x40000000|545\n如梭|0x1000|781\n如同|0x1000|2607\n如下|0x1000|3327\n如兄|0x100000|0\n如许|0x100000|31540\n如一|0x401000|7159\n如意|0x40000000|8752\n如愿|0x1000|13585\n如约|0x8000000|21398\n如月|0x1000|825\n如云|0x1000|693\n儒道|0x0040|938\n儒艮|0x100000|1209\n儒家|0x100000|8503\n儒将|0x100000|41319\n儒教|0x0008|25782\n儒林|0x100000|36523\n儒商|0x100000|47465\n儒生|0x100000|31430\n儒士|0x100000|1031\n儒术|0x100000|39581\n儒学|0x100000|15591\n儒雅|0x40000000|22642\n儒医|0x100000|1181\n儒者|0x100000|30088\n嚅动|0x1000|48480\n嚅嗫|0x1000|1213\n嚅嚅|0x0080|1003\n孺人|0x100000|1186\n孺子|0x100000|38149\n濡染|0x1000|48481\n濡湿|0x1000|41539\n蠕虫|0x100000|20626\n蠕动|0x1000|14179\n蠕蠕|0x0100|39582\n蠕行|0x0080|1280\n汝城|0x0080|994\n汝南|0x0080|1392\n汝阳|0x0080|1477\n汝州|0x0040|895\n乳癌|0x100000|860\n乳白|0x100000|34085\n乳钵|0x100000|1275\n乳齿|0x100000|53914\n乳臭|0x100000|50317\n乳儿|0x100000|52412\n乳房|0x100000|11370\n乳粉|0x100000|1066\n乳腐|0x100000|1150\n乳鸽|0x100000|918\n乳根|0x0008|0\n乳化|0x1000|28128\n乳黄|0x100000|1167\n乳剂|0x100000|49933\n乳胶|0x100000|39771\n乳酪|0x100000|46558\n乳糜|0x100000|1034\n乳名|0x100000|31895\n乳母|0x100000|27227\n乳娘|0x100000|997\n乳牛|0x100000|38338\n乳品|0x100000|19638\n乳山|0x0040|1379\n乳酸|0x100000|34843\n乳糖|0x100000|34681\n乳头|0x100000|20324\n乳腺|0x100000|31321\n乳香|0x100000|928\n乳牙|0x100000|47803\n乳燕|0x0000|51116\n乳液|0x100000|688\n乳油|0x100000|988\n乳罩|0x100000|31896\n乳汁|0x100000|18830\n乳脂|0x100000|1083\n乳中|0x0008|0\n乳猪|0x100000|45373\n乳状|0x0000|411\n辱骂|0x1000|18697\n辱没|0x1000|36034\n辱命|0x1000|53915\n入保|0x0000|44502\n入编|0x1000|978\n入仓|0x1000|49210\n入厕|0x1000|982\n入场|0x1000|17488\n入超|0x1000|50318\n入春|0x1000|937\n入党|0x1000|4848\n入档|0x0000|49211\n入道|0x0000|26834\n入定|0x1000|869\n入冬|0x1000|800\n入队|0x1000|31203\n入耳|0x40000000|22295\n入伏|0x1000|47170\n入港|0x40000000|43256\n入阁|0x1000|24906\n入彀|0x1000|44503\n入股|0x1000|10523\n入骨|0x1000|38543\n入关|0x0000|14164\n入户|0x1000|8052\n入画|0x1000|32165\n入会|0x1000|751\n入伙|0x1000|35712\n入籍|0x1000|44800\n入境|0x1000|7301\n入镜|0x0000|52914\n入口|0x100000|12022\n入寇|0x1000|22066\n入库|0x1000|10235\n入殓|0x1000|34223\n入列|0x1000|51543\n入流|0x1000|37964\n入梅|0x1000|1065\n入寐|0x1000|0\n入门|0x100000|19592\n入梦|0x1000|29046\n入迷|0x40000000|26835\n入眠|0x1000|689\n入魔|0x1000|34526\n入内|0x0000|597\n入侵|0x1000|7509\n入秋|0x4000|842\n入射|0x0000|455\n入神|0x40000000|30430\n入渗|0x0008|1217\n入声|0x100000|1038\n入时|0x40000000|31541\n入世|0x1000|5685\n入市|0x1000|684\n入室|0x1000|16954\n入手|0x1000|4784\n入睡|0x1000|11401\n入土|0x1000|29455\n入团|0x1000|25590\n入托|0x1000|983\n入网|0x1000|17362\n入微|0x1000|21121\n入围|0x1000|16519\n入味|0x40000000|834\n入伍|0x1000|9100\n入席|0x1000|27228\n入戏|0x0000|41320\n入夏|0x1000|905\n入邪|0x0000|49934\n入行|0x0008|4\n入选|0x1000|8324\n入学|0x1000|5991\n入汛|0x0000|43968\n入眼|0x40000000|36870\n入药|0x1000|37593\n入夜|0x8000000|18007\n入狱|0x1000|16494\n入院|0x1000|19373\n入帐|0x0008|20665\n入账|0x1000|865\n入主|0x1000|20782\n入住|0x1000|13080\n入赘|0x1000|46266\n入座|0x1000|20915\n溽热|0x40000000|51544\n溽暑|0x100000|47467\n褥疮|0x100000|40639\n褥单|0x100000|47804\n褥垫|0x0080|1177\n褥套|0x100000|49935\n褥子|0x100000|24786\n阮籍|0x0008|434\n阮咸|0x100000|1167\n软材|0x100000|0\n软尺|0x0080|55971\n软床|0x100000|1015\n软蛋|0x0008|46559\n软垫|0x0080|915\n软碟|0x0080|468\n软缎|0x100000|41540\n软腭|0x0080|1122\n软风|0x100000|1115\n软腐|0x0080|0\n软钢|0x0008|1229\n软膏|0x100000|44504\n软骨|0x100000|23501\n软管|0x100000|40865\n软和|0x40000000|39151\n软化|0x1000|20289\n软话|0x100000|46268\n软件|0x100000|1952\n软键|0x0080|0\n软禁|0x1000|25996\n软肋|0x0008|1190\n软瘤|0x0080|0\n软毛|0x0080|435\n软绵|0x40000000|1050\n软磨|0x1000|1020\n软木|0x100000|33153\n软泥|0x100000|927\n软盘|0x100000|28661\n软皮|0x0080|459\n软片|0x100000|53917\n软驱|0x100000|48482\n软软|0x0100|682\n软弱|0x40000000|9172\n软绳|0x0080|0\n软食|0x100000|1171\n软式|0x20000000|983\n软水|0x100000|55820\n软糖|0x100000|49212\n软梯|0x100000|49213\n软体|0x100000|36871\n软铁|0x100000|0\n软卧|0x100000|34224\n软席|0x100000|47171\n软线|0x100000|1060\n软鞋|0x0008|0\n软性|0x100000|833\n软椅|0x0080|40435\n软硬|0x100000|737\n软玉|0x100000|952\n软枣|0x0008|0\n软座|0x100000|51546\n蕤仁|0x100000|0\n芮城|0x0080|980\n锐化|0x0080|1502\n锐减|0x1000|15861\n锐角|0x100000|38544\n锐利|0x40000000|15192\n锐敏|0x40000000|1137\n锐气|0x100000|13105\n锐眼|0x0000|53396\n锐意|0x1000|15592\n瑞安|0x0040|1048\n瑞昌|0x0040|1432\n瑞典|0x0040|946\n瑞尔|0x100000|525\n瑞金|0x0040|1248\n瑞丽|0x0040|1002\n瑞利|0x0080|438\n瑞气|0x100000|991\n瑞签|0x100000|1534\n瑞士|0x0040|880\n瑞穗|0x0008|1477\n瑞香|0x100000|1043\n瑞星|0x0008|957\n瑞雪|0x100000|23552\n睿智|0x40000000|18255\n闰阁|0x0040|0\n闰年|0x100000|46561\n闰日|0x4000|1276\n闰月|0x100000|47470\n润笔|0x100000|46873\n润肺|0x1000|850\n润肤|0x1000|734\n润格|0x100000|1066\n润喉|0x1000|898\n润滑|0x1000|26918\n润化|0x1000|1230\n润润|0x1000|1\n润色|0x1000|32036\n润湿|0x1000|27400\n润饰|0x1000|50707\n润丝|0x0008|1073\n润迅|0x0008|1031\n润泽|0x1000|27556\n润资|0x100000|1542\n挼搓|0x1000|0\n若虫|0x100000|1155\n若非|0x10000000|19096\n若夫|0x2000|1001\n若干|0x10000|2219\n若果|0x10000000|876\n若何|0x10000|31431\n若羌|0x0080|1021\n若是|0x10000000|4301\n若想|0x1000|732\n偌大|0x20000000|13599\n弱点|0x100000|8014\n弱冠|0x100000|908\n弱光|0x100000|1003\n弱国|0x100000|953\n弱化|0x1000|15567\n弱碱|0x100000|1069\n弱解|0x100000|0\n弱旅|0x0008|778\n弱势|0x100000|634\n弱视|0x100000|27304\n弱水|0x100000|1291\n弱酸|0x0008|935\n弱项|0x100000|28563\n弱小|0x40000000|17079\n弱者|0x100000|12782\n弱智|0x100000|24973\n箬笠|0x0000|52915\n箬帽|0x100000|1422\n箬竹|0x100000|1186\n撒播|0x1000|40208\n撒布|0x1000|1087\n撒旦|0x100000|45084\n撒刁|0x1000|1535\n撒欢|0x1000|903\n撒谎|0x1000|12570\n撒娇|0x1000|16776\n撒开|0x0000|486\n撒拉|0x100000|947\n撒赖|0x1000|48110\n撒落|0x1000|39772\n撒满|0x0000|514\n撒尿|0x1000|20666\n撒泼|0x1000|41321\n撒气|0x1000|43502\n撒施|0x1000|1182\n撒手|0x1000|17697\n撒腿|0x1000|28396\n撒网|0x1000|35866\n撒野|0x1000|31432\n撒种|0x1000|49215\n洒遍|0x1000|959\n洒家|0x10000|918\n洒泪|0x1000|38150\n洒落|0x1000|28951\n洒满|0x1000|725\n洒洒|0x1000|781\n洒扫|0x1000|41773\n洒水|0x1000|831\n洒脱|0x40000000|14882\n洒下|0x1000|545\n飒然|0x0100|1079\n飒飒|0x0100|31085\n飒爽|0x40000000|49216\n萨嘎|0x0040|1114\n萨迦|0x0040|976\n萨利|0x0080|1010\n萨姆|0x0080|878\n萨那|0x100000|1086\n萨斯|0x0080|1293\n萨特|0x0080|1368\n萨伊|0x0080|1132\n塞班|0x0040|1214\n塞北|0x0040|30431\n塞车|0x1000|31433\n塞尺|0x100000|1151\n塞迪|0x100000|383\n塞规|0x100000|1044\n塞进|0x0000|626\n塞满|0x1000|717\n塞门|0x100000|1154\n塞入|0x1000|855\n塞上|0x0040|31542\n塞外|0x0040|16430\n塞牙|0x0000|53398\n塞音|0x100000|1193\n塞责|0x0000|26919\n塞住|0x0000|495\n塞子|0x100000|37227\n塞族|0x0008|1102\n腮帮|0x100000|972\n腮红|0x100000|807\n腮颊|0x100000|1199\n腮腺|0x100000|46874\n噻吩|0x100000|1078\n噻唑|0x100000|1014\n赛场|0x100000|5285\n赛车|0x4000000|12421\n赛程|0x100000|15862\n赛船|0x100000|52414\n赛道|0x100000|754\n赛地|0x100000|1082\n赛点|0x0000|46269\n赛段|0x100000|953\n赛风|0x100000|1113\n赛狗|0x0000|377\n赛过|0x1000|810\n赛后|0x4000|652\n赛会|0x100000|22895\n赛季|0x100000|6337\n赛况|0x100000|905\n赛马|0x100000|16210\n赛跑|0x1000|20177\n赛期|0x0000|49576\n赛前|0x4000|660\n赛球|0x0000|47173\n赛区|0x100000|9782\n赛事|0x100000|4087\n赛手|0x0008|1009\n赛似|0x0000|51547\n赛艇|0x100000|17489\n赛扬|0x0008|1186\n赛制|0x100000|34683\n三八|0x600000|8\n三百|0x600000|37\n三班|0x400000|542\n三板|0x400000|905\n三瓣|0x400000|1\n三包|0x0000|15324\n三宝|0x500000|24520\n三北|0x500000|12350\n三倍|0x400000|599\n三边|0x40000000|469\n三部|0x400000|42\n三才|0x500000|0\n三餐|0x100000|20667\n三藏|0x500000|0\n三层|0x400000|670\n三叉|0x20400000|0\n三产|0x500000|19431\n三次|0x400000|747\n三等|0x400000|775\n三定|0x400008|2\n三读|0x400000|1\n三度|0x400000|796\n三对|0x400000|17\n三废|0x500000|28301\n三分|0x400000|607\n三份|0x400000|556\n三伏|0x400000|36703\n三副|0x400000|43969\n三高|0x500000|12\n三个|0x400000|490\n三更|0x100000|13735\n三股|0x400000|502\n三光|0x1400000|0\n三国|0x404000|6921\n三好|0x500000|3\n三号|0x400000|598\n三合|0x20400000|1\n三河|0x500000|3\n三皇|0x500000|1\n三级|0x400000|537\n三极|0x20400000|7\n三间|0x400000|573\n三江|0x500000|9\n三讲|0x500000|0\n三焦|0x400000|1005\n三角|0x400000|6252\n三脚|0x400000|904\n三教|0x500000|1\n三节|0x400000|38340\n三截|0x400000|3\n三界|0x500000|0\n三晋|0x400040|1\n三九|0x404000|16082\n三聚|0x400000|492\n三军|0x500000|24657\n三棱|0x20400000|1\n三联|0x400000|1093\n三两|0x400000|718\n三菱|0x400008|52\n三流|0x400000|749\n三楼|0x400000|1010\n三乱|0x500000|11\n三轮|0x400000|632\n三昧|0x500000|1\n三门|0x400000|1205\n三明|0x400040|19\n三年|0x400000|842\n三农|0x0000|5040\n三陪|0x500000|38341\n三七|0x600000|28662\n三千|0x600000|36\n三秋|0x500000|39360\n三人|0x400000|815\n三色|0x400000|575\n三生|0x500000|0\n三牲|0x500000|0\n三十|0x600000|177\n三世|0x400000|1021\n三熟|0x400000|0\n三水|0x400040|10\n三顺|0x100000|470\n三思|0x401000|17871\n三四|0x400000|626\n三穗|0x400080|1\n三胎|0x400000|1\n三台|0x400000|1200\n三态|0x400000|0\n三天|0x400000|786\n三通|0x400000|6810\n三统|0x500000|0\n三万|0x600000|28\n三围|0x500000|47807\n三维|0x400000|13675\n三位|0x400000|720\n三无|0x400008|10\n三吴|0x500000|0\n三五|0x400000|602\n三峡|0x400040|145\n三夏|0x500000|26149\n三鲜|0x20400000|40867\n三弦|0x500000|27143\n三线|0x500000|25917\n三相|0x500000|36035\n三星|0x400000|779\n三行|0x400000|1355\n三姓|0x500000|0\n三亚|0x400040|69\n三洋|0x400008|6\n三亿|0x600000|6\n三元|0x400000|1118\n三原|0x400080|3\n三月|0x400000|504\n三针|0x400000|1\n三重|0x400000|724\n三专|0x400008|0\n三资|0x500000|0\n毵毵|0x0100|1233\n伞包|0x100000|1145\n伞兵|0x100000|33810\n伞盖|0x100000|1073\n伞骨|0x0000|54460\n伞架|0x100000|1070\n伞降|0x100000|1113\n伞具|0x0008|4\n伞形|0x20000000|1014\n散板|0x100000|50708\n散兵|0x100000|1004\n散播|0x1000|37229\n散布|0x1000|9673\n散步|0x1000|7609\n散场|0x1000|24345\n散出|0x0000|514\n散打|0x100000|9889\n散发|0x1000|5469\n散放|0x0000|35264\n散工|0x100000|51964\n散光|0x1000|43010\n散户|0x100000|733\n散会|0x1000|16328\n散伙|0x1000|27065\n散货|0x100000|472\n散记|0x100000|27401\n散剂|0x100000|55442\n散架|0x1000|38960\n散见|0x100000|35414\n散件|0x100000|32922\n散焦|0x0008|0\n散结|0x1000|972\n散酒|0x100000|0\n散居|0x1000|26775\n散开|0x1000|702\n散乱|0x40000000|16541\n散落|0x1000|14527\n散漫|0x40000000|21539\n散闷|0x1000|49218\n散钱|0x0008|0\n散曲|0x100000|49217\n散去|0x0000|641\n散热|0x1000|596\n散散|0x1000|0\n散沙|0x100000|970\n散射|0x1000|16975\n散失|0x1000|27731\n散水|0x100000|1096\n散碎|0x40000000|1007\n散体|0x100000|1142\n散亡|0x0000|47176\n散文|0x100000|4019\n散席|0x1000|38545\n散戏|0x1000|44506\n散心|0x1000|33958\n散学|0x0000|48851\n散养|0x0000|37596\n散佚|0x1000|36363\n散置|0x0000|52916\n散装|0x1000|16875\n散座|0x100000|43011\n馓子|0x0000|51965\n桑蚕|0x100000|29980\n桑迪|0x0080|1026\n桑果|0x0080|1091\n桑麻|0x100000|1015\n桑苗|0x100000|1158\n桑拿|0x100000|19562\n桑那|0x100000|1550\n桑葚|0x100000|40209\n桑日|0x0080|1173\n桑椹|0x100000|919\n桑树|0x100000|897\n桑田|0x1000000|38342\n桑叶|0x100000|21319\n桑榆|0x100000|1003\n桑园|0x100000|29981\n桑枝|0x100000|1134\n桑植|0x0080|1512\n桑梓|0x100000|33672\n嗓门|0x100000|723\n嗓音|0x100000|12571\n嗓子|0x100000|5766\n丧胆|0x1000|30089\n丧服|0x100000|38546\n丧父|0x1000|898\n丧家|0x100000|29782\n丧假|0x100000|54462\n丧礼|0x100000|26836\n丧乱|0x100000|41776\n丧门|0x20000000|1046\n丧命|0x1000|29456\n丧偶|0x1000|35867\n丧气|0x40000000|21866\n丧身|0x1000|45678\n丧生|0x1000|10887\n丧失|0x1000|3867\n丧事|0x100000|12862\n丧亡|0x1000|42527\n丧葬|0x100000|21971\n丧志|0x1000|49938\n丧钟|0x100000|38961\n搔首|0x1000|1048\n搔头|0x1000|33959\n搔痒|0x1000|35868\n骚动|0x1000|14180\n骚货|0x100000|37965\n骚客|0x100000|886\n骚乱|0x100000|15961\n骚气|0x40000000|0\n骚扰|0x1000|11016\n骚人|0x100000|948\n骚体|0x100000|1194\n缫丝|0x4000000|27557\n臊气|0x40000000|49939\n臊子|0x0000|48111\n扫把|0x100000|794\n扫除|0x100000|10545\n扫荡|0x1000|11698\n扫地|0x1000|15303\n扫毒|0x1000|31897\n扫坟|0x1000|0\n扫过|0x0000|596\n扫黄|0x1000|16931\n扫雷|0x1000|22422\n扫盲|0x1000|16932\n扫描|0x1000|9216\n扫灭|0x1000|369\n扫墓|0x1000|24974\n扫平|0x1000|41080\n扫清|0x1000|21448\n扫去|0x0000|504\n扫扫|0x1000|925\n扫射|0x1000|19062\n扫视|0x1000|21867\n扫数|0x1000|0\n扫尾|0x1000|38962\n扫兴|0x40000000|16307\n扫选|0x100000|0\n扫雪|0x1000|936\n扫帚|0x100000|15690\n嫂嫂|0x100000|12620\n嫂子|0x100000|5655\n瘙痒|0x1000|40210\n色笔|0x0000|47177\n色彩|0x100000|2172\n色差|0x100000|43012\n色达|0x0080|1039\n色带|0x100000|49579\n色胆|0x100000|45984\n色当|0x100000|1024\n色调|0x100000|14833\n色度|0x100000|46270\n色粉|0x100000|975\n色光|0x100000|29667\n色鬼|0x100000|36704\n色环|0x0040|0\n色酒|0x100000|54466\n色觉|0x100000|1078\n色拉|0x100000|46271\n色狼|0x100000|44211\n色料|0x0008|1488\n色盲|0x100000|37056\n色迷|0x1000|1042\n色魔|0x100000|52416\n色男|0x0008|453\n色谱|0x100000|22844\n色情|0x100000|6966\n色弱|0x100000|1022\n色散|0x100000|942\n色素|0x100000|18215\n色温|0x100000|908\n色系|0x100000|800\n色相|0x100000|29982\n色心|0x100000|864\n色样|0x0000|417\n色艺|0x100000|0\n色釉|0x100000|952\n色欲|0x100000|45087\n色晕|0x100000|0\n色泽|0x100000|14800\n色子|0x100000|49219\n涩味|0x100000|978\n涩滞|0x1000|1207\n瑟瑟|0x0100|18594\n瑟缩|0x1000|36524\n森林|0x100000|1640\n森然|0x40000000|37408\n森森|0x0100|28487\n森严|0x40000000|15936\n僧侣|0x100000|17616\n僧帽|0x0000|51968\n僧尼|0x100000|31776\n僧袍|0x100000|1034\n僧人|0x100000|17751\n僧俗|0x100000|38740\n僧徒|0x100000|39993\n僧衣|0x0000|428\n僧院|0x100000|1104\n僧众|0x100000|956\n杀虫|0x0008|1334\n杀出|0x1000|720\n杀敌|0x1000|783\n杀掉|0x1000|698\n杀毒|0x1000|16381\n杀伐|0x1000|45679\n杀光|0x1000|817\n杀害|0x1000|7573\n杀机|0x100000|29047\n杀鸡|0x0008|805\n杀价|0x1000|44802\n杀戒|0x100000|44803\n杀菌|0x1000|17536\n杀戮|0x1000|17669\n杀掠|0x1000|42284\n杀灭|0x1000|825\n杀气|0x100000|24975\n杀青|0x1000|49580\n杀球|0x0008|0\n杀人|0x1000|516\n杀入|0x1000|731\n杀杀|0x1000|690\n杀伤|0x1000|16112\n杀身|0x1000|989\n杀生|0x1000|35266\n杀手|0x100000|13309\n杀熟|0x0000|54463\n杀死|0x1000|565\n杀头|0x1000|22548\n沙岸|0x0080|0\n沙巴|0x100000|1437\n沙坝|0x100000|986\n沙包|0x100000|32802\n沙暴|0x100000|30432\n沙参|0x100000|50322\n沙层|0x0080|1165\n沙场|0x100000|22750\n沙尘|0x100000|12689\n沙虫|0x100000|1037\n沙船|0x100000|1091\n沙袋|0x100000|30858\n沙地|0x100000|811\n沙雕|0x0000|31205\n沙堆|0x0040|1462\n沙俄|0x100000|25842\n沙发|0x100000|4329\n沙锅|0x100000|819\n沙果|0x100000|51119\n沙害|0x100000|48484\n沙河|0x0040|1203\n沙化|0x1000|8473\n沙荒|0x100000|44212\n沙皇|0x100000|18474\n沙鸡|0x0080|1214\n沙棘|0x100000|22068\n沙浆|0x0008|1025\n沙金|0x100000|52417\n沙坑|0x100000|36872\n沙拉|0x100000|591\n沙梨|0x100000|1144\n沙砾|0x100000|35559\n沙粒|0x100000|776\n沙林|0x100000|993\n沙柳|0x0000|35713\n沙龙|0x100000|5107\n沙漏|0x100000|807\n沙门|0x100000|31543\n沙弥|0x100000|43503\n沙漠|0x100000|3433\n沙囊|0x0080|0\n沙鸥|0x100000|41542\n沙盘|0x100000|27798\n沙坪|0x0080|1464\n沙碛|0x0000|53401\n沙丘|0x100000|11664\n沙沙|0x80000|15304\n沙石|0x100000|23187\n沙士|0x0008|1024\n沙市|0x100000|503\n沙滩|0x100000|6886\n沙特|0x0040|1170\n沙田|0x100000|38343\n沙土|0x100000|17670\n沙湾|0x0080|1282\n沙县|0x0040|1413\n沙哑|0x40000000|18177\n沙雅|0x0080|1050\n沙眼|0x100000|40868\n沙洋|0x0080|1539\n沙鱼|0x100000|1063\n沙浴|0x0000|55821\n沙灾|0x100000|52418\n沙枣|0x100000|44213\n沙质|0x100000|1008\n沙洲|0x100000|28208\n沙子|0x100000|12703\n纱布|0x100000|18065\n纱厂|0x100000|926\n纱橱|0x100000|1154\n纱窗|0x100000|32923\n纱灯|0x100000|43015\n纱锭|0x100000|38344\n纱巾|0x100000|27559\n纱笼|0x0080|52419\n纱罗|0x0080|0\n纱帽|0x100000|39775\n纱门|0x4000000|0\n纱线|0x100000|43016\n纱绽|0x0008|0\n纱帐|0x0000|47473\n纱罩|0x100000|45986\n刹把|0x0000|52917\n刹车|0x100000|17025\n刹那|0x4000|23525\n刹刹|0x1000|702\n刹时|0x4000|839\n刹住|0x1000|882\n砂布|0x100000|937\n砂层|0x0080|0\n砂罐|0x0000|54464\n砂锅|0x100000|33960\n砂浆|0x100000|42780\n砂礓|0x100000|1407\n砂金|0x100000|1130\n砂坑|0x100000|1358\n砂矿|0x100000|1100\n砂砾|0x100000|981\n砂粒|0x100000|957\n砂轮|0x100000|37058\n砂磨|0x0080|0\n砂囊|0x100000|1321\n砂盘|0x0080|0\n砂皮|0x100000|1241\n砂仁|0x100000|1000\n砂石|0x100000|794\n砂糖|0x100000|45680\n砂铁|0x0080|0\n砂土|0x100000|1039\n砂箱|0x100000|0\n砂型|0x100000|1039\n砂岩|0x100000|27305\n砂眼|0x100000|51969\n砂样|0x100000|1536\n砂纸|0x100000|46272\n砂子|0x100000|923\n莎草|0x100000|50734\n莎车|0x0040|1026\n莎拉|0x0080|1264\n铩羽|0x1000|1045\n痧子|0x100000|1383\n鲨鱼|0x100000|15454\n傻蛋|0x100000|864\n傻干|0x1000|1192\n傻瓜|0x100000|11488\n傻话|0x100000|33961\n傻乐|0x1000|914\n傻冒|0x800000|844\n傻帽|0x100000|954\n傻气|0x40000000|32166\n傻人|0x0000|466\n傻傻|0x0100|572\n傻事|0x100000|723\n傻笑|0x1000|21684\n傻眼|0x1000|33962\n傻子|0x100000|9940\n啥子|0x10000|756\n歃血|0x1000|44804\n煞白|0x1000|23553\n煞笔|0x100000|903\n煞车|0x100000|49941\n煞费|0x0008|1053\n煞气|0x100000|51548\n煞煞|0x1000|0\n煞神|0x100000|1071\n煞尾|0x100000|49581\n煞星|0x0080|514\n煞住|0x1000|38963\n霎时|0x4000|19259\n筛板|0x100000|979\n筛除|0x1000|0\n筛分|0x1000|856\n筛号|0x1000|0\n筛糠|0x1000|34373\n筛理|0x0008|0\n筛网|0x100000|776\n筛洗|0x1000|0\n筛下|0x0008|0\n筛选|0x1000|8721\n筛子|0x100000|28952\n晒场|0x100000|45089\n晒干|0x0080|544\n晒黑|0x0080|498\n晒乾|0x0080|0\n晒晒|0x1000|526\n晒台|0x100000|37966\n晒图|0x1000|55822\n晒烟|0x0080|1256\n山凹|0x100000|1050\n山坳|0x100000|23503\n山包|0x100000|28045\n山胞|0x100000|1213\n山崩|0x1000|31544\n山壁|0x100000|522\n山边|0x0040|1429\n山草|0x100000|1053\n山茶|0x100000|39776\n山产|0x20000000|1\n山城|0x100000|13861\n山川|0x100000|7825\n山村|0x100000|6938\n山丹|0x0080|1472\n山道|0x100000|811\n山地|0x100000|7765\n山颠|0x8000|953\n山巅|0x100000|24976\n山顶|0x100000|8099\n山东|0x0040|1547\n山洞|0x100000|14086\n山房|0x100000|905\n山风|0x100000|19230\n山峰|0x100000|12515\n山腹|0x100000|1035\n山冈|0x100000|37597\n山岗|0x100000|835\n山歌|0x100000|15363\n山根|0x100000|1010\n山沟|0x100000|10367\n山谷|0x100000|9274\n山龟|0x100000|1142\n山国|0x100000|1053\n山果|0x0000|45987\n山河|0x100000|12897\n山洪|0x100000|20583\n山呼|0x1000|0\n山花|0x100000|25281\n山荒|0x0000|52918\n山火|0x100000|30967\n山货|0x100000|33306\n山鸡|0x100000|32555\n山脊|0x100000|28488\n山间|0x8000|714\n山涧|0x100000|27560\n山脚|0x100000|18008\n山轿|0x100000|1414\n山金|0x0008|1022\n山景|0x0000|40436\n山径|0x100000|38151\n山居|0x100000|875\n山口|0x100000|15665\n山岚|0x100000|50323\n山梨|0x0040|1442\n山里|0x8000|681\n山梁|0x100000|21973\n山林|0x100000|9595\n山岭|0x100000|17830\n山陵|0x100000|39584\n山路|0x100000|8096\n山麓|0x100000|22121\n山峦|0x100000|16473\n山脉|0x100000|11665\n山猫|0x100000|826\n山门|0x100000|17312\n山盟|0x100000|1394\n山民|0x100000|17849\n山姆|0x0008|1288\n山木|0x100000|988\n山柰|0x0008|0\n山难|0x0008|446\n山炮|0x100000|38152\n山坡|0x100000|6279\n山前|0x8000|809\n山墙|0x100000|28759\n山丘|0x100000|21974\n山区|0x100000|2510\n山泉|0x0080|22176\n山雀|0x100000|33307\n山群|0x0008|997\n山人|0x100000|820\n山色|0x100000|29881\n山神|0x100000|26478\n山石|0x0000|18442\n山势|0x100000|23504\n山水|0x100000|5511\n山塘|0x100000|39585\n山桃|0x100000|50324\n山体|0x100000|789\n山田|0x0080|1331\n山头|0x100000|8369\n山洼|0x100000|35267\n山窝|0x100000|45377\n山坞|0x100000|1169\n山西|0x0040|2538\n山溪|0x100000|1514\n山系|0x100000|38153\n山峡|0x100000|992\n山险|0x100000|53921\n山乡|0x100000|15174\n山响|0x1000|32556\n山魈|0x100000|53922\n山形|0x0080|1474\n山崖|0x100000|20547\n山岩|0x0000|30641\n山羊|0x100000|11309\n山阳|0x0040|1363\n山杨|0x100000|1121\n山腰|0x100000|18749\n山药|0x100000|34528\n山野|0x100000|11628\n山阴|0x0080|32671\n山雨|0x100000|656\n山芋|0x100000|22177\n山鹬|0x100000|1358\n山园|0x100000|1002\n山岳|0x100000|28953\n山越|0x100000|1018\n山贼|0x0000|569\n山楂|0x100000|19348\n山寨|0x100000|13722\n山珍|0x100000|862\n山猪|0x0008|956\n山庄|0x100000|14801\n山嘴|0x100000|46274\n删除|0x1000|16720\n删掉|0x1000|644\n删定|0x0000|49943\n删改|0x1000|27561\n删减|0x1000|37598\n删节|0x1000|32038\n删略|0x1000|1286\n删去|0x1000|766\n删汰|0x1000|0\n删削|0x1000|48115\n杉篙|0x100000|55443\n杉木|0x100000|19563\n杉树|0x100000|32037\n芟除|0x1000|1299\n芟秋|0x1000|0\n芟夷|0x1000|0\n姗姗|0x0100|31322\n衫裤|0x0008|1041\n衫袖|0x0008|0\n珊瑚|0x100000|11248\n舢板|0x100000|33033\n舢舨|0x100000|370\n煽动|0x1000|10493\n煽惑|0x1000|30536\n煽起|0x1000|390\n煽情|0x1000|39362\n潸然|0x0100|28209\n潸潸|0x0100|46565\n膻气|0x100000|1215\n膻味|0x100000|51970\n膻中|0x0008|0\n闪避|0x1000|36194\n闪出|0x0000|602\n闪存|0x100000|666\n闪道|0x0000|55445\n闪点|0x100000|903\n闪电|0x100000|9910\n闪动|0x1000|15666\n闪躲|0x1000|746\n闪光|0x100000|9180\n闪过|0x1000|607\n闪击|0x1000|44507\n闪开|0x1000|22019\n闪亮|0x1000|12206\n闪念|0x100000|50713\n闪盘|0x0008|1464\n闪驱|0x0008|1314\n闪闪|0x0100|8893\n闪射|0x1000|33813\n闪身|0x1000|27306\n闪失|0x100000|24291\n闪烁|0x1000|6073\n闪现|0x1000|13493\n闪眼|0x0000|50714\n闪耀|0x1000|12645\n闪语|0x0080|0\n闪蒸|0x100000|1025\n闪族|0x0000|424\n陕北|0x0040|1245\n陕南|0x0040|1544\n陕西|0x0040|2772\n陕县|0x0040|982\n讪讪|0x0100|29348\n讪笑|0x1000|32672\n汕头|0x0040|906\n汕尾|0x0040|1256\n疝气|0x100000|47178\n苫布|0x100000|48116\n苫盖|0x100000|1237\n扇贝|0x100000|27639\n扇车|0x100000|0\n扇动|0x1000|35268\n扇骨|0x100000|1108\n扇惑|0x1000|0\n扇面|0x100000|907\n扇区|0x0000|573\n扇扇|0x0080|0\n扇形|0x100000|29457\n扇状|0x100000|0\n扇坠|0x100000|53403\n扇子|0x100000|14127\n善报|0x100000|39777\n善本|0x100000|22999\n善变|0x40000000|659\n善辩|0x40000000|955\n善才|0x100000|1015\n善处|0x1000|1070\n善待|0x1000|14967\n善恶|0x100000|16281\n善感|0x40000000|28129\n善根|0x0080|1530\n善后|0x1000|10825\n善举|0x100000|28046\n善款|0x0000|50715\n善类|0x100000|48854\n善良|0x40000000|5487\n善人|0x100000|29247\n善事|0x100000|29783\n善忘|0x40000000|46878\n善为|0x1000|905\n善心|0x100000|28564\n善行|0x100000|37599\n善言|0x100000|937\n善意|0x100000|9981\n善用|0x1000|713\n善于|0x40000000|2412\n善哉|0x40000000|852\n善战|0x40000000|21920\n善终|0x1000|34845\n鄯善|0x0080|1490\n缮写|0x1000|44508\n嬗变|0x1000|26215\n擅长|0x1000|11575\n擅场|0x1000|0\n擅改|0x1000|1067\n擅权|0x1000|32296\n擅入|0x1000|48855\n擅用|0x0000|458\n擅于|0x1000|860\n擅自|0x8000000|5138\n膳费|0x100000|51971\n膳食|0x100000|16001\n膳宿|0x100000|49582\n赡养|0x1000|15096\n鳝鱼|0x100000|37059\n伤疤|0x100000|17752\n伤悲|0x40000000|39995\n伤兵|0x100000|18776\n伤病|0x100000|719\n伤财|0x1000|18879\n伤残|0x100000|11636\n伤处|0x8000|882\n伤悼|0x1000|55446\n伤风|0x1000|26479\n伤俘|0x100000|1\n伤感|0x40000000|9998\n伤害|0x1000|2877\n伤寒|0x100000|19531\n伤号|0x100000|44509\n伤耗|0x1000|54468\n伤痕|0x100000|11974\n伤怀|0x40000000|41081\n伤患|0x0008|0\n伤科|0x100000|1051\n伤口|0x100000|8504\n伤情|0x100000|24188\n伤人|0x40000000|15048\n伤身|0x0000|537\n伤神|0x40000000|39996\n伤生|0x1000|51121\n伤势|0x100000|14332\n伤逝|0x1000|824\n伤损|0x100000|1075\n伤痛|0x100000|17457\n伤亡|0x100000|4672\n伤心|0x40000000|4742\n伤愈|0x1000|791\n伤员|0x100000|8899\n商办|0x0000|38741\n商报|0x100000|619\n商标|0x100000|3817\n商埠|0x100000|28663\n商场|0x100000|3987\n商朝|0x4000|914\n商城|0x100000|16134\n商船|0x100000|21638\n商代|0x4000|907\n商店|0x100000|3402\n商调|0x100000|39153\n商定|0x1000|9181\n商都|0x0040|1099\n商队|0x100000|42026\n商兑|0x1000|0\n商法|0x100000|41543\n商贩|0x100000|14181\n商港|0x100000|45989\n商海|0x0000|30090\n商号|0x100000|27229\n商河|0x0080|1502\n商户|0x0000|33559\n商会|0x100000|7822\n商机|0x100000|25918\n商计|0x1000|55447\n商家|0x100000|5318\n商贾|0x100000|24977\n商检|0x1000|18880\n商界|0x100000|13089\n商借|0x0000|50325\n商量|0x1000|3109\n商陆|0x100000|1149\n商路|0x100000|52420\n商旅|0x100000|33560\n商洛|0x0040|1344\n商贸|0x100000|7526\n商盟|0x100000|517\n商南|0x0080|1002\n商品|0x100000|1263\n商洽|0x1000|48485\n商情|0x100000|35096\n商请|0x0008|43504\n商丘|0x0040|1130\n商圈|0x0008|43259\n商榷|0x1000|20830\n商群|0x0080|1\n商人|0x100000|5070\n商社|0x100000|33034\n商事|0x100000|830\n商数|0x100000|950\n商水|0x0040|988\n商谈|0x1000|12409\n商汤|0x100000|1041\n商讨|0x1000|11439\n商亭|0x100000|41778\n商团|0x100000|1010\n商委|0x100000|1075\n商务|0x100000|4107\n商厦|0x100000|18908\n商行|0x100000|24015\n商学|0x100000|929\n商阳|0x0080|1215\n商业|0x100000|1281\n商议|0x1000|7304\n商用|0x20000000|13565\n商誉|0x100000|45682\n商约|0x100000|54469\n商展|0x100000|837\n商战|0x100000|31323\n商酌|0x1000|46566\n墒情|0x100000|31898\n熵流|0x0080|0\n晌午|0x4000|19097\n赏赐|0x100000|14458\n赏罚|0x1000|28954\n赏封|0x100000|0\n赏光|0x1000|32557\n赏花|0x1000|24016\n赏鉴|0x1000|33815\n赏金|0x100000|38742\n赏赉|0x100000|0\n赏脸|0x40000000|31435\n赏钱|0x100000|28760\n赏识|0x1000|17791\n赏玩|0x1000|31777\n赏析|0x1000|36195\n赏心|0x40000000|954\n赏月|0x1000|29048\n赏阅|0x1000|0\n上岸|0x1000|718\n上百|0x400000|610\n上班|0x1000|3341\n上半|0x2000000|719\n上报|0x1000|7578\n上辈|0x100000|43505\n上臂|0x100000|43738\n上边|0x2000000|8057\n上膘|0x1000|50326\n上宾|0x100000|32167\n上兵|0x0008|1167\n上部|0x2000000|19063\n上菜|0x1000|28565\n上蔡|0x0080|1504\n上苍|0x100000|27876\n上操|0x1000|44805\n上册|0x100000|732\n上策|0x100000|19349\n上层|0x2000000|10114\n上场|0x1000|8487\n上朝|0x1000|883\n上车|0x1000|561\n上乘|0x20000000|22069\n上冲|0x0000|538\n上传|0x0008|19593\n上船|0x1000|775\n上床|0x1000|561\n上唇|0x100000|37769\n上次|0x10000|496\n上簇|0x100000|0\n上达|0x1000|24848\n上代|0x100000|49583\n上当|0x1000|8112\n上档|0x0008|896\n上等|0x20000000|18848\n上帝|0x100000|3795\n上吊|0x1000|16777\n上调|0x1000|18281\n上冻|0x1000|46275\n上端|0x2000000|22896\n上段|0x0000|469\n上颚|0x100000|51972\n上方|0x2000000|13115\n上房|0x100000|12714\n上访|0x1000|5507\n上肥|0x0000|52421\n上坟|0x1000|27640\n上粪|0x1000|51973\n上风|0x100000|16248\n上峰|0x100000|38743\n上浮|0x1000|16282\n上感|0x0000|54928\n上岗|0x1000|5205\n上纲|0x1000|35417\n上告|0x1000|33963\n上个|0x0000|688\n上工|0x1000|22178\n上供|0x1000|39363\n上钩|0x1000|23820\n上古|0x100000|24789\n上官|0x0080|657\n上光|0x1000|43018\n上海|0x0040|251\n上杭|0x0080|1458\n上好|0x100000|24790\n上颌|0x100000|52422\n上环|0x0008|1462\n上回|0x4000|32168\n上火|0x1000|23127\n上货|0x1000|41779\n上机|0x1000|32421\n上级|0x100000|2328\n上集|0x100000|45380\n上计|0x100000|1\n上佳|0x20000000|805\n上家|0x100000|48856\n上架|0x1000|681\n上将|0x100000|9251\n上浆|0x1000|966\n上交|0x1000|10186\n上焦|0x100000|0\n上缴|0x1000|8614\n上街|0x1000|8678\n上届|0x20000000|746\n上界|0x100000|927\n上紧|0x0000|36196\n上劲|0x40000000|30642\n上进|0x40000000|13906\n上京|0x100000|740\n上镜|0x1000|41780\n上举|0x1000|959\n上卷|0x100000|840\n上客|0x1000|1501\n上课|0x1000|4878\n上空|0x100000|6243\n上口|0x40000000|32297\n上款|0x100000|45381\n上蜡|0x100000|52919\n上来|0x1000|1228\n上篮|0x1000|34529\n上栗|0x0080|1013\n上联|0x100000|32422\n上脸|0x1000|29983\n上梁|0x100000|27230\n上了|0x1000|860\n上列|0x20000000|899\n上林|0x0080|4\n上菱|0x0008|387\n上流|0x100000|20059\n上楼|0x1000|659\n上路|0x1000|9655\n上轮|0x2000000|536\n上马|0x1000|7751\n上门|0x1000|4332\n上面|0x2000000|1370\n上年|0x4000|3008\n上牌|0x1000|821\n上盘|0x2000000|519\n上皮|0x20000000|863\n上片|0x0008|0\n上篇|0x2000000|540\n上品|0x100000|26280\n上坡|0x1000|798\n上铺|0x100000|28047\n上期|0x100000|818\n上漆|0x1000|440\n上汽|0x0008|597\n上千|0x400000|6961\n上前|0x1000|571\n上情|0x0000|43019\n上区|0x0008|1099\n上去|0x1000|2018\n上圈|0x100000|1\n上饶|0x0040|1158\n上人|0x100000|612\n上任|0x1000|6530\n上色|0x1000|48486\n上山|0x1000|6435\n上上|0x20000000|47809\n上身|0x100000|14037\n上升|0x1000|1752\n上声|0x100000|1028\n上士|0x100000|28397\n上世|0x100000|48487\n上市|0x1000|2682\n上手|0x100000|28302\n上首|0x2000000|30538\n上寿|0x0000|37600\n上书|0x1000|8771\n上疏|0x1000|476\n上述|0x100000|1614\n上树|0x0008|1312\n上闩|0x1000|0\n上水|0x20000000|26351\n上税|0x1000|40438\n上司|0x100000|12634\n上思|0x0080|1512\n上诉|0x1000|6416\n上溯|0x1000|26416\n上算|0x40000000|37601\n上锁|0x1000|33154\n上台|0x1000|5912\n上摊|0x1000|1073\n上堂|0x1000|907\n上膛|0x100000|43506\n上套|0x1000|30750\n上体|0x100000|884\n上天|0x1000|16520\n上贴|0x1000|571\n上头|0x1000|10622\n上图|0x1008|577\n上托|0x0008|1070\n上脘|0x0008|0\n上万|0x400000|648\n上网|0x1000|4002\n上位|0x100000|759\n上尉|0x100000|23338\n上文|0x100000|16521\n上午|0x4000|1042\n上戏|0x1000|438\n上下|0x100000|2100\n上弦|0x100000|40871\n上线|0x100000|24189\n上限|0x100000|16113\n上相|0x40000000|47475\n上香|0x1000|28210\n上校|0x100000|17537\n上鞋|0x1000|0\n上心|0x40000000|22505\n上刑|0x1000|50327\n上行|0x1000|19968\n上选|0x100000|922\n上学|0x1000|3050\n上旬|0x4000|9202\n上演|0x1000|6495\n上扬|0x1000|13956\n上药|0x1000|36705\n上叶|0x0008|1036\n上页|0x2000000|686\n上夜|0x1000|2\n上衣|0x100000|11297\n上移|0x1000|518\n上亿|0x200000|561\n上溢|0x0008|1145\n上瘾|0x40000000|26701\n上应|0x1000|526\n上映|0x1000|21122\n上犹|0x0080|983\n上油|0x0008|35097\n上游|0x2000000|5517\n上釉|0x0000|382\n上虞|0x0040|1155\n上谕|0x100000|1050\n上元|0x4000|891\n上缘|0x0008|1000\n上院|0x100000|942\n上月|0x4000|711\n上载|0x1000|36706\n上站|0x0000|597\n上涨|0x1000|3940\n上账|0x1000|50328\n上照|0x40000000|0\n上阵|0x1000|12516\n上证|0x0020|707\n上肢|0x100000|33308\n上周|0x4000|11134\n上装|0x100000|37967\n上桌|0x1000|789\n上奏|0x1000|1\n上座|0x100000|35270\n尚存|0x1000|20709\n尚待|0x0000|20517\n尚好|0x40000000|910\n尚可|0x1000|35419\n尚且|0x10000000|13310\n尚书|0x100000|743\n尚未|0x8000000|1556\n尚无|0x1000|687\n尚武|0x1000|37770\n尚飨|0x80000|1164\n尚义|0x0080|995\n尚志|0x0040|1394\n捎带|0x1000|28761\n捎话|0x0000|36526\n捎脚|0x1000|1425\n捎信|0x1000|1039\n梢门|0x0040|0\n梢头|0x100000|40439\n烧包|0x40000000|885\n烧杯|0x100000|41082\n烧饼|0x100000|13311\n烧成|0x100000|780\n烧掉|0x1000|748\n烧鹅|0x100000|934\n烧饭|0x1000|20413\n烧光|0x1000|918\n烧锅|0x100000|37602\n烧焊|0x1000|1038\n烧化|0x1000|45684\n烧坏|0x1000|829\n烧荒|0x1000|45685\n烧毁|0x1000|14012\n烧火|0x1000|17490\n烧鸡|0x100000|778\n烧碱|0x100000|41781\n烧焦|0x1000|791\n烧结|0x1000|799\n烧尽|0x0000|461\n烧酒|0x100000|19231\n烧开|0x1000|817\n烧烤|0x100000|22751\n烧料|0x100000|1269\n烧麦|0x100000|988\n烧卖|0x100000|48488\n烧毛|0x1000|1058\n烧瓶|0x100000|33673\n烧伤|0x100000|12023\n烧水|0x1000|837\n烧死|0x1000|768\n烧香|0x1000|15769\n烧心|0x1000|53404\n烧鸭|0x100000|974\n烧窑|0x1000|1093\n烧纸|0x100000|26352\n烧制|0x1000|26776\n烧灼|0x1000|39154\n烧着|0x1000|818\n稍等|0x0000|547\n稍后|0x4000|22122\n稍候|0x1000|33561\n稍加|0x8000000|23086\n稍慢|0x0000|487\n稍顷|0x4000|45382\n稍稍|0x8000000|7281\n稍事|0x8000000|29882\n稍微|0x8000000|8302\n稍为|0x8000000|858\n稍息|0x1000|36197\n稍许|0x8000000|35870\n稍逊|0x0000|39778\n筲箕|0x100000|49945\n艄公|0x100000|34684\n勺子|0x100000|22752\n芍药|0x100000|27307\n苕帚|0x100000|1309\n韶关|0x0040|1082\n韶光|0x100000|51974\n韶华|0x100000|46880\n韶山|0x0040|1237\n韶秀|0x40000000|1304\n少冲|0x0008|0\n少待|0x1000|1181\n少儿|0x100000|7197\n少府|0x100000|972\n少妇|0x100000|13154\n少耕|0x100000|1\n少海|0x0008|1131\n少见|0x40000000|8764\n少将|0x100000|11576\n少刻|0x4000|1182\n少礼|0x1000|52922\n少量|0x400000|8308\n少林|0x0040|981\n少男|0x100000|34685\n少年|0x100000|2002\n少女|0x100000|4694\n少陪|0x1000|43971\n少顷|0x4000|959\n少商|0x0008|2\n少少|0x0008|755\n少时|0x4000|25364\n少数|0x200000|2032\n少帅|0x100000|851\n少说|0x0000|624\n少尉|0x100000|33430\n少相|0x40000000|53923\n少小|0x100000|2\n少校|0x100000|23034\n少些|0x0000|525\n少许|0x400000|20518\n少爷|0x100000|5631\n少有|0x40000000|6726\n少于|0x1000|9764\n少泽|0x0008|0\n少壮|0x100000|34846\n少子|0x100000|1010\n邵东|0x0080|1390\n邵武|0x0040|1413\n邵阳|0x0040|1133\n绍酒|0x100000|1005\n绍剧|0x100000|48490\n绍兴|0x0040|891\n哨棒|0x100000|1258\n哨兵|0x100000|15063\n哨岗|0x100000|1118\n哨卡|0x100000|23339\n哨声|0x100000|27799\n哨所|0x100000|16211\n哨位|0x100000|26480\n哨音|0x100000|946\n哨子|0x100000|23445\n奢侈|0x40000000|12783\n奢华|0x40000000|20414\n奢糜|0x0000|31899\n奢靡|0x40000000|31899\n奢求|0x100000|44510\n奢谈|0x0000|47180\n奢望|0x100000|18343\n奢想|0x100000|51123\n猞猁|0x100000|45687\n赊购|0x1000|52423\n赊欠|0x1000|43973\n赊销|0x100000|39779\n赊帐|0x0008|407\n赊账|0x1000|33431\n畲族|0x0008|25365\n舌癌|0x100000|1049\n舌根|0x100000|39155\n舌骨|0x100000|0\n舌尖|0x8000|25042\n舌门|0x0040|0\n舌鳎|0x100000|1271\n舌苔|0x100000|36198\n舌头|0x100000|6798\n舌下|0x0000|440\n舌炎|0x100000|1128\n舌战|0x1000|34991\n蛇胆|0x100000|37968\n蛇岛|0x100000|1063\n蛇毒|0x100000|43507\n蛇谷|0x0040|0\n蛇类|0x100000|977\n蛇麻|0x100000|375\n蛇年|0x4000|1079\n蛇皮|0x100000|918\n蛇头|0x100000|19321\n蛇蜕|0x100000|53406\n蛇蝎|0x100000|38965\n蛇行|0x1000|43020\n蛇形|0x100000|42285\n蛇足|0x1000000|53924\n舍得|0x1000|10669\n舍弟|0x0000|48859\n舍监|0x100000|404\n舍利|0x100000|565\n舍命|0x1000|27480\n舍弃|0x1000|15797\n舍亲|0x100000|1271\n舍人|0x0008|905\n舍身|0x1000|23286\n舍下|0x0000|35714\n舍友|0x100000|524\n设备|0x100000|1126\n设点|0x1000|25653\n设定|0x1000|9418\n设法|0x1000|5604\n设防|0x1000|18777\n设伏|0x1000|27562\n设岗|0x1000|51552\n设或|0x10000000|51976\n设计|0x1000|864\n设局|0x1000|50716\n设卡|0x1000|24521\n设立|0x1000|1787\n设若|0x10000000|14945\n设色|0x1000|44216\n设施|0x100000|1565\n设使|0x10000000|51124\n设摊|0x1000|49221\n设问|0x100000|944\n设限|0x1000|25097\n设想|0x1000|4401\n设宴|0x1000|18803\n设有|0x1000|6314\n设于|0x0000|509\n设在|0x1000|627\n设障|0x0000|46277\n设置|0x1000|2799\n社办|0x100000|0\n社保|0x100000|598\n社长|0x100000|702\n社队|0x100000|1161\n社工|0x0008|1430\n社会|0x100000|97\n社火|0x100000|22179\n社稷|0x100000|12621\n社交|0x100000|14496\n社科|0x20000000|607\n社里|0x8000|914\n社论|0x100000|6766\n社评|0x100000|903\n社旗|0x0080|977\n社区|0x100000|2273\n社群|0x100000|47810\n社团|0x100000|6962\n社戏|0x100000|42530\n社学|0x100000|0\n社员|0x100000|4209\n射程|0x100000|21495\n射出|0x0000|696\n射电|0x100000|1028\n射干|0x100000|1080\n射洪|0x0080|1502\n射击|0x1000|6069\n射箭|0x1000|13166\n射界|0x100000|1176\n射精|0x1000|50717\n射猎|0x1000|43974\n射流|0x100000|43022\n射门|0x1000|15435\n射频|0x100000|33816\n射入|0x1000|23607\n射杀|0x1000|36874\n射手|0x100000|21012\n射线|0x100000|8469\n射向|0x0000|608\n射阳|0x0080|1322\n射影|0x100000|1077\n射中|0x1000|784\n涉案|0x1000|10327\n涉笔|0x1000|0\n涉及|0x1000|1730\n涉猎|0x1000|23711\n涉枪|0x1000|1107\n涉禽|0x100000|1221\n涉世|0x1000|36527\n涉水|0x1000|833\n涉讼|0x1000|54930\n涉外|0x1000|10741\n涉嫌|0x1000|5918\n涉险|0x1000|38967\n涉县|0x0040|1547\n涉足|0x1000|13838\n赦令|0x0000|47811\n赦免|0x1000|22123\n赦宥|0x100000|1211\n赦罪|0x1000|36875\n慑服|0x1000|41322\n慑于|0x0000|35098\n摄动|0x100000|1097\n摄录|0x1000|42028\n摄取|0x1000|19745\n摄人|0x0000|19036\n摄入|0x1000|726\n摄生|0x1000|48119\n摄食|0x1000|27800\n摄氏|0x20000000|703\n摄卫|0x1000|0\n摄像|0x1000|20584\n摄影|0x1000|2856\n摄政|0x1000|28130\n摄制|0x1000|12482\n麝牛|0x0080|54931\n麝鼠|0x100000|369\n麝香|0x100000|38346\n申奥|0x1000|820\n申办|0x1000|5488\n申报|0x1000|4116\n申辩|0x1000|19899\n申斥|0x1000|33035\n申饬|0x1000|1211\n申告|0x1000|996\n申购|0x1000|749\n申诫|0x0080|1\n申领|0x1000|19934\n申令|0x1000|0\n申论|0x100000|799\n申脉|0x0080|0\n申明|0x1000|18750\n申请|0x1000|1919\n申曲|0x100000|1365\n申时|0x4000|53925\n申述|0x1000|36199\n申说|0x1000|40872\n申诉|0x1000|7009\n申讨|0x1000|54470\n申屠|0x0080|450\n申谢|0x1000|1350\n申雪|0x1000|20669\n申言|0x1000|1204\n申冤|0x1000|40873\n申扎|0x0040|1184\n伸长|0x1000|789\n伸出|0x1000|516\n伸进|0x1000|719\n伸开|0x1000|827\n伸伸|0x1000|857\n伸手|0x1000|4684\n伸缩|0x100000|23287\n伸头|0x1000|477\n伸腿|0x1000|39365\n伸向|0x1000|692\n伸延|0x1000|972\n伸腰|0x1000|43739\n伸冤|0x1000|946\n伸展|0x1000|14580\n伸张|0x1000|21639\n伸直|0x1000|791\n身板|0x100000|863\n身边|0x100000|1239\n身材|0x100000|6103\n身长|0x100000|23947\n身处|0x1000|620\n身穿|0x1000|626\n身段|0x100000|16041\n身分|0x100000|718\n身份|0x100000|2163\n身负|0x1000|793\n身高|0x100000|8854\n身故|0x1000|937\n身后|0x100000|3797\n身患|0x1000|777\n身家|0x100000|746\n身价|0x100000|14140\n身架|0x0000|39997\n身教|0x1000|40293\n身居|0x1000|21278\n身量|0x100000|22124\n身旁|0x8000|515\n身驱|0x100000|0\n身躯|0x100000|10524\n身上|0x100000|728\n身世|0x100000|14268\n身手|0x100000|17491\n身受|0x1000|23088\n身体|0x100000|639\n身条|0x0080|1150\n身外|0x8000|813\n身亡|0x1000|9252\n身为|0x1000|558\n身下|0x8000|733\n身心|0x100000|7523\n身形|0x100000|671\n身影|0x100000|5211\n身孕|0x100000|35715\n身柱|0x0008|0\n身着|0x1000|652\n身姿|0x100000|27732\n身子|0x100000|2624\n呻吟|0x100000|8867\n绅士|0x100000|7905\n深爱|0x0008|832\n深谙|0x1000|25844\n深奥|0x40000000|19564\n深表|0x1000|736\n深藏|0x1000|658\n深层|0x20000000|9659\n深长|0x40000000|24849\n深沉|0x40000000|7929\n深仇|0x0000|455\n深处|0x8000|3562\n深冬|0x4000|37603\n深度|0x100000|4565\n深恶|0x0000|379\n深翻|0x1000|48120\n深感|0x1000|665\n深耕|0x1000|36707\n深沟|0x0040|1320\n深谷|0x100000|23608\n深固|0x40000000|1178\n深广|0x40000000|27733\n深闺|0x100000|28762\n深海|0x100000|15878\n深壑|0x100000|51554\n深痕|0x100000|1108\n深红|0x100000|830\n深厚|0x40000000|4031\n深化|0x1000|2092\n深黄|0x100000|1030\n深灰|0x100000|952\n深涧|0x100000|43508\n深交|0x100000|40440\n深井|0x100000|846\n深究|0x1000|23446\n深刻|0x40000000|1017\n深坑|0x0040|1354\n深恐|0x0000|37771\n深蓝|0x100000|1024\n深虑|0x0000|370\n深绿|0x100000|863\n深浅|0x100000|18256\n深切|0x40000000|5530\n深情|0x100000|5333\n深秋|0x4000|13862\n深入|0x40000000|841\n深色|0x100000|25721\n深山|0x100000|10511\n深深|0x8000000|1826\n深省|0x100000|24791\n深受|0x8000000|4614\n深水|0x100000|742\n深思|0x1000|8823\n深邃|0x40000000|11494\n深谈|0x1000|35560\n深通|0x1000|42782\n深透|0x40000000|47812\n深挖|0x1000|874\n深望|0x1000|45383\n深为|0x0000|17236\n深悉|0x1000|0\n深陷|0x1000|18927\n深巷|0x100000|913\n深信|0x1000|11221\n深夜|0x4000|5736\n深意|0x100000|17340\n深忧|0x1000|1\n深幽|0x40000000|49946\n深渊|0x100000|12218\n深远|0x40000000|4379\n深蕴|0x1000|1053\n深造|0x1000|11577\n深泽|0x0080|979\n深湛|0x40000000|43975\n深圳|0x0040|690\n深知|0x1000|8158\n深挚|0x40000000|34088\n深重|0x40000000|14860\n深州|0x0040|1451\n深紫|0x100000|937\n神笔|0x0000|45990\n神兵|0x100000|729\n神采|0x100000|22643\n神池|0x0080|1065\n神驰|0x0000|42531\n神道|0x100000|28664\n神灯|0x100000|833\n神殿|0x100000|717\n神封|0x0080|0\n神佛|0x0000|34848\n神甫|0x100000|949\n神父|0x100000|19989\n神格|0x0080|1019\n神工|0x0080|1530\n神功|0x100000|706\n神怪|0x100000|39998\n神鬼|0x100000|772\n神棍|0x0008|461\n神汉|0x100000|1071\n神户|0x0040|1371\n神化|0x1000|26150\n神话|0x100000|5863\n神会|0x0080|482\n神魂|0x100000|927\n神迹|0x100000|766\n神技|0x0080|1539\n神交|0x100000|43260\n神经|0x100000|3984\n神龛|0x100000|28763\n神力|0x100000|27308\n神聊|0x1000|47814\n神灵|0x100000|14395\n神领|0x100000|1165\n神龙|0x100000|1069\n神马|0x0008|1414\n神门|0x0040|0\n神秘|0x40000000|3283\n神密|0x0080|1486\n神妙|0x40000000|39156\n神庙|0x100000|736\n神名|0x0080|1065\n神明|0x100000|20585\n神木|0x0080|1360\n神农|0x100000|753\n神女|0x100000|29985\n神品|0x100000|50329\n神婆|0x100000|984\n神奇|0x40000000|6191\n神祇|0x100000|0\n神气|0x40000000|5883\n神器|0x100000|723\n神情|0x100000|4567\n神曲|0x0008|812\n神权|0x100000|32039\n神阙|0x0008|0\n神人|0x100000|27641\n神色|0x100000|6499\n神伤|0x1000|762\n神社|0x100000|7945\n神圣|0x40000000|4015\n神思|0x100000|27563\n神似|0x1000|30091\n神速|0x40000000|23712\n神算|0x100000|46882\n神台|0x100000|1060\n神态|0x100000|7961\n神坛|0x100000|832\n神探|0x0000|41085\n神堂|0x100000|985\n神庭|0x0008|1157\n神通|0x100000|26282\n神童|0x100000|20956\n神往|0x1000|19494\n神威|0x100000|21868\n神位|0x100000|37233\n神巫|0x100000|1126\n神武|0x40000000|813\n神物|0x100000|42532\n神悟|0x100000|0\n神仙|0x100000|7353\n神像|0x100000|21869\n神效|0x100000|48491\n神性|0x0008|473\n神学|0x100000|16605\n神医|0x100000|28865\n神异|0x100000|41544\n神意|0x100000|1025\n神鹰|0x0080|1338\n神勇|0x40000000|44217\n神油|0x0008|1552\n神游|0x1000|36528\n神佑|0x0080|1010\n神宇|0x100000|1124\n神谕|0x100000|938\n神韵|0x100000|14674\n神祗|0x100000|898\n神职|0x100000|38968\n神志|0x100000|20248\n神智|0x100000|30539\n神州|0x100000|8354\n神舟|0x0008|1026\n神主|0x100000|26994\n神姿|0x100000|0\n神宗|0x0008|1446\n沈丘|0x0040|1456\n沈思|0x0080|1549\n沈阳|0x0040|3194\n沈重|0x0080|1432\n审案|0x1000|975\n审查|0x1000|2710\n审察|0x1000|44218\n审处|0x1000|52426\n审订|0x1000|51555\n审定|0x1000|8277\n审读|0x1000|41782\n审度|0x1000|46883\n审改|0x1000|44219\n审干|0x1000|0\n审稿|0x1000|34849\n审核|0x1000|5426\n审计|0x1000|3514\n审结|0x1000|13228\n审看|0x0000|53926\n审理|0x1000|4341\n审美|0x1000|3324\n审判|0x1000|2909\n审批|0x1000|2648\n审评|0x1000|50718\n审慎|0x40000000|15288\n审视|0x1000|7049\n审题|0x1000|55449\n审问|0x1000|14643\n审校|0x1000|54471\n审讯|0x1000|10875\n审验|0x1000|950\n审议|0x1000|2818\n审阅|0x1000|25501\n审执|0x1000|0\n哂纳|0x1000|0\n哂笑|0x1000|49947\n婶儿|0x0000|31669\n婶母|0x100000|36708\n婶娘|0x100000|27066\n婶婆|0x100000|1163\n婶婶|0x100000|21732\n婶子|0x100000|18038\n肾癌|0x100000|985\n肾宝|0x0008|1533\n肾病|0x100000|24719\n肾亏|0x1000|55450\n肾囊|0x100000|1209\n肾虚|0x1000|833\n肾炎|0x100000|35271\n肾盂|0x100000|52926\n肾脏|0x100000|18157\n甚大|0x0000|547\n甚多|0x0000|595\n甚而|0x10000000|22845\n甚广|0x1000|853\n甚或|0x10000000|23948\n甚佳|0x1000|878\n甚么|0x10000|652\n甚且|0x10000000|0\n甚微|0x1000|786\n甚为|0x8000000|19990\n甚于|0x0000|22180\n甚至|0x8000000|255\n渗出|0x1000|16329\n渗沟|0x100000|1430\n渗灌|0x1000|1186\n渗进|0x0000|483\n渗坑|0x100000|1370\n渗流|0x1000|51126\n渗漏|0x1000|23035\n渗滤|0x1000|1202\n渗入|0x1000|17237\n渗水|0x1000|31325\n渗碳|0x100000|997\n渗透|0x1000|4534\n渗析|0x1000|1000\n慎独|0x100000|33309\n慎密|0x40000000|50719\n慎思|0x0080|0\n慎行|0x1000|32803\n慎言|0x1000|51556\n慎用|0x1000|509\n慎重|0x40000000|7387\n椹果|0x0080|0\n升班|0x1000|49948\n升沉|0x100000|1083\n升档|0x1000|0\n升调|0x1000|1057\n升幅|0x100000|24908\n升高|0x1000|628\n升格|0x1000|24248\n升汞|0x100000|1302\n升官|0x1000|18009\n升华|0x1000|7728\n升级|0x1000|3997\n升技|0x0008|1283\n升降|0x1000|15289\n升空|0x1000|13051\n升力|0x100000|43741\n升麻|0x100000|1039\n升幂|0x0080|1359\n升平|0x1000|25213\n升旗|0x1000|16955\n升起|0x1000|564\n升迁|0x1000|18216\n升任|0x1000|21364\n升入|0x1000|798\n升势|0x100000|41783\n升水|0x0080|1421\n升速|0x0080|0\n升堂|0x1000|1025\n升腾|0x1000|15982\n升天|0x1000|20627\n升位|0x0000|42031\n升温|0x1000|11276\n升限|0x100000|1091\n升序|0x0080|974\n升学|0x1000|12729\n升压|0x1000|49222\n升药|0x0008|0\n升涨|0x1000|0\n升帐|0x1000|1096\n升值|0x1000|13426\n升职|0x0080|743\n升至|0x1000|720\n生保|0x0008|1110\n生变|0x1000|22181\n生病|0x1000|7656\n生材|0x0080|1309\n生财|0x100000|19464\n生菜|0x100000|32040\n生产|0x1000|466\n生长|0x100000|2261\n生辰|0x100000|30312\n生成|0x1000|6473\n生吃|0x1000|23713\n生出|0x1000|620\n生词|0x100000|52927\n生凑|0x1000|1254\n生存|0x1000|1438\n生地|0x100000|873\n生动|0x40000000|2149\n生端|0x1000|0\n生发|0x1000|23089\n生番|0x100000|0\n生分|0x40000000|38155\n生粉|0x0008|1522\n生风|0x1000|1429\n生俘|0x1000|53927\n生父|0x100000|28303\n生根|0x1000|14968\n生光|0x100000|37061\n生化|0x100000|612\n生还|0x1000|20957\n生荒|0x0000|55452\n生辉|0x1000|733\n生活|0x1000|71\n生火|0x100000|24458\n生机|0x100000|4827\n生计|0x100000|11249\n生姜|0x100000|25366\n生角|0x100000|1125\n生津|0x100000|833\n生境|0x100000|1053\n生就|0x1000|28211\n生聚|0x0000|43261\n生客|0x100000|41086\n生恐|0x1000|51977\n生来|0x8000000|18179\n生冷|0x100000|39999\n生理|0x100000|5358\n生力|0x20000000|1432\n生利|0x1000|1044\n生料|0x100000|977\n生灵|0x100000|18217\n生路|0x100000|18969\n生霉|0x1000|1153\n生猛|0x40000000|38156\n生面|0x100000|3\n生民|0x100000|997\n生命|0x100000|351\n生母|0x100000|18039\n生怕|0x1000|8875\n生坯|0x100000|1198\n生皮|0x100000|55453\n生僻|0x40000000|40875\n生平|0x100000|8753\n生漆|0x100000|46569\n生气|0x100000|3359\n生前|0x4000|5881\n生擒|0x1000|25654\n生趣|0x100000|32423\n生热|0x0008|0\n生人|0x100000|18096\n生日|0x100000|4288\n生肉|0x100000|930\n生色|0x1000|38347\n生涩|0x40000000|35561\n生身|0x20000000|25502\n生生|0x0000|623\n生事|0x1000|31436\n生手|0x100000|45384\n生疏|0x40000000|16542\n生水|0x100000|37971\n生丝|0x100000|39589\n生死|0x100000|5630\n生态|0x100000|1472\n生疼|0x0000|32674\n生铁|0x100000|21081\n生土|0x100000|48122\n生威|0x1000|1007\n生物|0x100000|1587\n生息|0x1000|20670\n生下|0x0008|1054\n生鲜|0x100000|811\n生肖|0x100000|23949\n生效|0x1000|7031\n生性|0x100000|17981\n生锈|0x1000|24522\n生涯|0x100000|5831\n生厌|0x1000|862\n生养|0x1000|23609\n生药|0x100000|1079\n生业|0x100000|1098\n生疑|0x1000|26152\n生意|0x100000|3176\n生硬|0x40000000|14087\n生油|0x100000|48492\n生于|0x1000|7468\n生育|0x1000|6513\n生员|0x100000|1033\n生源|0x100000|14911\n生造|0x1000|43976\n生殖|0x1000|7853\n生猪|0x100000|9855\n生仔|0x0000|444\n生子|0x1000|649\n生字|0x100000|33311\n声辩|0x1000|46571\n声波|0x100000|23448\n声部|0x100000|27878\n声场|0x100000|923\n声称|0x1000|6980\n声带|0x100000|28567\n声导|0x0008|0\n声道|0x100000|13387\n声调|0x100000|12136\n声儿|0x0080|979\n声发|0x0080|0\n声符|0x100000|51979\n声光|0x100000|826\n声轨|0x0080|0\n声级|0x100000|917\n声价|0x100000|1087\n声觉|0x0080|0\n声卡|0x100000|55454\n声控|0x1000|43024\n声浪|0x100000|18126\n声乐|0x100000|13537\n声码|0x0080|1223\n声门|0x100000|50330\n声名|0x100000|18066\n声明|0x100000|2071\n声母|0x100000|49951\n声纳|0x100000|879\n声呐|0x0080|15\n声旁|0x100000|1122\n声频|0x100000|1019\n声谱|0x100000|1239\n声气|0x100000|26995\n声腔|0x100000|40001\n声强|0x100000|1139\n声情|0x100000|0\n声请|0x1000|1001\n声区|0x0008|1184\n声容|0x0080|1250\n声色|0x100000|23449\n声声|0x20000|643\n声势|0x100000|11172\n声速|0x100000|38969\n声讨|0x1000|17209\n声望|0x100000|16002\n声威|0x100000|24392\n声纹|0x0080|0\n声息|0x100000|16909\n声线|0x0008|0\n声响|0x100000|7543\n声像|0x100000|863\n声学|0x100000|829\n声讯|0x100000|784\n声压|0x100000|1024\n声言|0x1000|22801\n声扬|0x1000|41784\n声音|0x100000|802\n声域|0x0080|1263\n声誉|0x100000|8170\n声援|0x1000|14834\n声源|0x100000|44220\n声韵|0x100000|1000\n声张|0x1000|23340\n声障|0x100000|1402\n声阻|0x0080|1370\n牲口|0x100000|10010\n牲礼|0x0080|0\n牲畜|0x100000|6657\n胜败|0x100000|22644\n胜朝|0x100000|0\n胜出|0x1000|16636\n胜得|0x0008|1\n胜地|0x100000|12410\n胜负|0x100000|9214\n胜概|0x100000|0\n胜过|0x1000|14644\n胜迹|0x100000|39366\n胜景|0x100000|28866\n胜境|0x100000|41547\n胜局|0x0000|27146\n胜利|0x1000|842\n胜率|0x0000|35272\n胜券|0x100000|38348\n胜任|0x1000|11371\n胜似|0x1000|26283\n胜诉|0x1000|18127\n胜算|0x100000|31900\n胜于|0x0000|548\n胜仗|0x100000|13312\n胜者|0x100000|583\n笙歌|0x100000|40002\n甥女|0x100000|41546\n渑池|0x0080|1462\n绳尺|0x0080|0\n绳带|0x0008|1248\n绳结|0x0000|448\n绳缆|0x0008|1026\n绳墨|0x100000|53409\n绳索|0x100000|15475\n绳套|0x100000|40212\n绳梯|0x100000|53928\n绳子|0x100000|7744\n省报|0x100000|32675\n省便|0x40000000|1309\n省察|0x1000|49651\n省长|0x100000|675\n省城|0x100000|8565\n省道|0x100000|788\n省得|0x1000|12422\n省掉|0x1000|879\n省份|0x100000|6636\n省府|0x100000|35717\n省会|0x100000|10035\n省级|0x100000|580\n省籍|0x100000|1062\n省际|0x20000000|918\n省俭|0x40000000|1195\n省界|0x100000|1074\n省力|0x1000|25284\n省立|0x20000000|933\n省略|0x1000|21921\n省墓|0x1000|0\n省内|0x8000|670\n省钱|0x1000|18282\n省亲|0x1000|39193\n省区|0x100000|4798\n省去|0x1000|718\n省却|0x1000|38747\n省时|0x40000000|743\n省市|0x100000|563\n省事|0x40000000|15402\n省视|0x1000|42069\n省外|0x8000|792\n省委|0x100000|618\n省悟|0x1000|26424\n省心|0x40000000|25503\n省优|0x100000|951\n省直|0x100000|812\n省志|0x0000|54933\n省治|0x100000|0\n省属|0x20000000|854\n圣诞|0x100000|17949\n圣地|0x100000|10036\n圣火|0x0000|14969\n圣洁|0x40000000|15193\n圣经|0x100000|11841\n圣礼|0x40000000|371\n圣灵|0x100000|39590\n圣庙|0x100000|1068\n圣明|0x0000|27879\n圣母|0x100000|713\n圣女|0x100000|743\n圣人|0x100000|10125\n圣桑|0x0080|1046\n圣僧|0x100000|988\n圣上|0x100000|912\n圣手|0x100000|42533\n圣水|0x100000|33158\n圣坛|0x100000|953\n圣贤|0x100000|18595\n圣药|0x100000|999\n圣婴|0x100000|447\n圣战|0x100000|38748\n圣者|0x100000|830\n圣职|0x100000|1044\n圣旨|0x100000|17792\n盛产|0x1000|16212\n盛传|0x1000|34992\n盛大|0x40000000|8815\n盛典|0x100000|23241\n盛饭|0x1000|926\n盛放|0x1000|750\n盛服|0x100000|1108\n盛会|0x100000|6806\n盛季|0x100000|1299\n盛景|0x100000|885\n盛举|0x100000|37972\n盛开|0x1000|10768\n盛况|0x100000|16271\n盛名|0x100000|17000\n盛年|0x100000|37411\n盛怒|0x1000|30092\n盛气|0x100000|1056\n盛器|0x100000|1072\n盛情|0x100000|14688\n盛时|0x0008|1528\n盛世|0x100000|12351\n盛事|0x100000|15535\n盛暑|0x100000|40644\n盛衰|0x100000|24590\n盛唐|0x0008|1240\n盛夏|0x100000|12949\n盛行|0x1000|8923\n盛筵|0x0080|980\n盛宴|0x100000|21733\n盛业|0x100000|1520\n盛意|0x100000|38157\n盛誉|0x100000|36038\n盛赞|0x1000|17001\n盛馔|0x100000|0\n盛装|0x100000|15403\n剩菜|0x100000|851\n剩磁|0x100000|1182\n剩饭|0x100000|823\n剩下|0x1000|2705\n剩余|0x100000|6987\n嵊泗|0x0080|1442\n嵊州|0x0040|1238\n尸斑|0x100000|392\n尸骨|0x100000|24017\n尸骸|0x100000|30969\n尸检|0x1000|37234\n尸僵|0x100000|1263\n尸蜡|0x100000|1379\n尸身|0x100000|24393\n尸首|0x100000|15364\n尸体|0x100000|5869\n尸位|0x1000|0\n失败|0x1000|1890\n失策|0x100000|28665\n失察|0x1000|25098\n失常|0x40000000|15879\n失宠|0x1000|37063\n失传|0x1000|19900\n失聪|0x1000|41087\n失措|0x1000|24720\n失单|0x100000|1351\n失当|0x40000000|26284\n失盗|0x1000|51980\n失地|0x100000|10986\n失调|0x1000|13188\n失掉|0x1000|11942\n失风|0x1000|0\n失和|0x1000|35099\n失衡|0x1000|10723\n失欢|0x1000|51129\n失婚|0x0008|0\n失魂|0x100000|877\n失火|0x1000|20060\n失计|0x1000|40213\n失检|0x100000|46572\n失脚|0x1000|51981\n失节|0x1000|32926\n失禁|0x1000|35420\n失敬|0x1000|37412\n失据|0x1000|1\n失控|0x1000|12572\n失口|0x1000|38349\n失礼|0x1000|27069\n失利|0x1000|8370\n失恋|0x1000|19496\n失灵|0x1000|17492\n失落|0x1000|11419\n失迷|0x1000|0\n失密|0x1000|48123\n失眠|0x1000|12715\n失明|0x1000|15937\n失陪|0x1000|42287\n失配|0x100000|1175\n失窃|0x1000|31437\n失球|0x0008|788\n失去|0x1000|1045\n失却|0x1000|25919\n失群|0x1000|53929\n失散|0x1000|25920\n失色|0x1000|20325\n失闪|0x100000|1262\n失墒|0x0000|53410\n失身|0x1000|37064\n失神|0x1000|25591\n失慎|0x1000|1365\n失声|0x1000|12794\n失时|0x1000|50331\n失实|0x1000|21686\n失事|0x1000|13600\n失势|0x1000|30093\n失收|0x0000|53930\n失手|0x1000|19639\n失守|0x1000|14581\n失水|0x1000|948\n失速|0x1000|985\n失算|0x1000|36200\n失所|0x1000|967\n失态|0x40000000|25655\n失体|0x40000000|0\n失望|0x40000000|3671\n失稳|0x0008|1\n失物|0x100000|39367\n失误|0x1000|4352\n失陷|0x1000|23506\n失效|0x1000|13264\n失笑|0x1000|32676\n失谐|0x1000|0\n失信|0x1000|10839\n失修|0x1000|34374\n失序|0x0008|49952\n失学|0x1000|9890\n失血|0x1000|27147\n失言|0x1000|27233\n失业|0x1000|2838\n失宜|0x1000|48493\n失忆|0x1000|688\n失意|0x40000000|18596\n失音|0x1000|54934\n失迎|0x1000|45385\n失语|0x1000|34993\n失约|0x1000|32171\n失责|0x1000|49225\n失贞|0x0000|53411\n失真|0x1000|19001\n失职|0x1000|9923\n失重|0x1000|28666\n失主|0x100000|23714\n失准|0x0000|48494\n失着|0x1000|47479\n失踪|0x1000|7635\n失足|0x1000|18040\n师表|0x100000|30541\n师伯|0x100000|547\n师部|0x100000|1009\n师长|0x100000|5791\n师承|0x100000|33159\n师传|0x0000|44221\n师从|0x0000|24459\n师大|0x100000|655\n师德|0x100000|14165\n师弟|0x100000|28132\n师法|0x100000|37413\n师范|0x100000|9856\n师父|0x100000|11200\n师傅|0x100000|3070\n师哥|0x100000|41549\n师公|0x100000|1001\n师姐|0x100000|23450\n师妹|0x100000|27403\n师门|0x100000|49226\n师母|0x100000|19375\n师娘|0x100000|38970\n师生|0x100000|4699\n师事|0x1000|28568\n师徒|0x100000|19497\n师团|0x100000|871\n师兄|0x100000|18218\n师训|0x100000|50332\n师爷|0x100000|17950\n师友|0x100000|35872\n师院|0x100000|817\n师职|0x100000|1095\n师专|0x100000|848\n师资|0x100000|9014\n师宗|0x0080|1004\n师尊|0x100000|558\n虱子|0x100000|19901\n诗碑|0x100000|1116\n诗才|0x100000|1009\n诗抄|0x100000|39780\n诗词|0x100000|8116\n诗风|0x100000|1482\n诗赋|0x100000|966\n诗稿|0x1000000|964\n诗歌|0x100000|4092\n诗画|0x0000|35273\n诗话|0x100000|30207\n诗会|0x0000|37065\n诗集|0x100000|10991\n诗节|0x100000|1220\n诗经|0x0008|745\n诗境|0x0000|37605\n诗句|0x100000|10197\n诗剧|0x100000|33432\n诗刊|0x100000|32424\n诗律|0x100000|51131\n诗论|0x100000|432\n诗篇|0x100000|14645\n诗琴|0x100000|1121\n诗情|0x100000|815\n诗人|0x100000|2040\n诗社|0x100000|26070\n诗圣|0x100000|974\n诗史|0x100000|38971\n诗书|0x100000|23129\n诗坛|0x100000|24721\n诗体|0x100000|36877\n诗文|0x100000|13343\n诗兴|0x100000|34687\n诗行|0x100000|893\n诗选|0x100000|32677\n诗学|0x100000|882\n诗艺|0x100000|1049\n诗意|0x100000|8376\n诗友|0x100000|43262\n诗余|0x100000|0\n诗韵|0x100000|42032\n诗章|0x100000|983\n诗作|0x100000|18307\n施暴|0x1000|43743\n施秉|0x0080|1027\n施甸|0x0080|1051\n施恩|0x1000|878\n施法|0x1000|1325\n施放|0x1000|24792\n施肥|0x1000|8855\n施粉|0x0000|49953\n施工|0x1000|2060\n施惠|0x1000|1019\n施加|0x1000|10728\n施教|0x1000|38158\n施救|0x1000|43744\n施礼|0x1000|29561\n施力|0x0080|0\n施舍|0x1000|20879\n施设|0x1000|1033\n施事|0x100000|1246\n施威|0x1000|48125\n施为|0x1000|507\n施洗|0x1000|1018\n施行|0x1000|4290\n施训|0x1000|1174\n施压|0x1000|17142\n施药|0x1000|1008\n施以|0x1000|795\n施用|0x1000|12163\n施予|0x0000|450\n施与|0x1000|45093\n施斋|0x1000|0\n施展|0x1000|9510\n施诊|0x1000|0\n施政|0x1000|10344\n施治|0x1000|32927\n施主|0x100000|39368\n狮城|0x0040|818\n狮吼|0x100000|940\n狮门|0x0040|2\n狮王|0x100000|803\n狮子|0x100000|7619\n湿地|0x100000|4721\n湿度|0x100000|12500\n湿法|0x100000|884\n湿季|0x100000|0\n湿冷|0x40000000|895\n湿婆|0x100000|1017\n湿气|0x100000|33965\n湿热|0x40000000|25921\n湿软|0x0000|378\n湿润|0x40000000|9845\n湿湿|0x1000|711\n湿透|0x1000|680\n湿疣|0x100000|650\n湿疹|0x100000|44222\n蓍草|0x100000|1129\n十八|0x600000|57\n十倍|0x400000|611\n十二|0x600000|129\n十方|0x400000|828\n十分|0x400000|204\n十个|0x400000|719\n十佳|0x500000|9568\n十家|0x400000|1322\n十戒|0x400000|0\n十诫|0x400000|0\n十九|0x600000|30\n十克|0x400000|1161\n十六|0x600000|199\n十米|0x400000|553\n十年|0x400000|810\n十七|0x600000|382\n十强|0x100000|546\n十全|0x401000|0\n十人|0x400000|578\n十三|0x600000|59\n十升|0x400000|1213\n十四|0x600000|151\n十岁|0x400000|629\n十万|0x400000|710\n十位|0x400000|608\n十五|0x600000|264\n十项|0x400000|570\n十宣|0x400008|0\n十堰|0x400040|14\n十一|0x600000|2142\n十亿|0x400000|551\n十月|0x400000|560\n十张|0x400000|522\n十兆|0x400000|1165\n十字|0x500000|34\n十足|0x401000|7046\n什邡|0x0040|1472\n什锦|0x100000|40214\n什么|0x10000|94\n什物|0x100000|27801\n石板|0x100000|12988\n石版|0x100000|51132\n石碑|0x100000|14396\n石笔|0x100000|53412\n石壁|0x100000|20958\n石材|0x100000|19709\n石槽|0x0040|42534\n石碴|0x100000|1279\n石城|0x0040|1352\n石担|0x100000|1338\n石弹|0x0000|396\n石刀|0x100000|1060\n石凳|0x100000|842\n石雕|0x100000|18219\n石洞|0x100000|1379\n石堆|0x100000|1517\n石碓|0x100000|1190\n石墩|0x100000|41550\n石方|0x20000|47816\n石坊|0x4000000|53932\n石舫|0x100000|51982\n石峰|0x100000|1446\n石缝|0x100000|893\n石佛|0x0008|1392\n石斧|0x100000|1052\n石膏|0x100000|17793\n石工|0x100000|1038\n石弓|0x0080|0\n石拱|0x100000|1102\n石鼓|0x100000|877\n石关|0x0040|1156\n石棺|0x100000|685\n石磙|0x100000|42288\n石斛|0x100000|941\n石化|0x100000|539\n石灰|0x100000|13676\n石级|0x100000|32041\n石匠|0x100000|23000\n石阶|0x100000|784\n石经|0x100000|1020\n石径|0x100000|988\n石臼|0x0040|40003\n石坎|0x100000|1093\n石刻|0x100000|15938\n石坑|0x0080|1069\n石窟|0x100000|12549\n石块|0x100000|735\n石矿|0x100000|930\n石蜡|0x100000|34226\n石栏|0x100000|988\n石栗|0x100000|1381\n石料|0x100000|20918\n石林|0x0008|19232\n石榴|0x100000|19233\n石笼|0x100000|1116\n石楼|0x0040|1494\n石煤|0x100000|1154\n石门|0x100000|1149\n石棉|0x100000|33160\n石磨|0x100000|29350\n石墨|0x100000|22506\n石楠|0x4000000|390\n石女|0x100000|55824\n石片|0x100000|1034\n石屏|0x0040|992\n石器|0x100000|19681\n石阡|0x0080|1091\n石墙|0x100000|884\n石桥|0x100000|15744\n石青|0x0080|1059\n石渠|0x0040|1018\n石泉|0x0080|1462\n石蕊|0x100000|39369\n石山|0x0040|1362\n石狮|0x4000000|18909\n石室|0x100000|867\n石首|0x0040|1450\n石松|0x100000|1081\n石蒜|0x100000|1049\n石笋|0x100000|37415\n石锁|0x100000|47182\n石塔|0x0080|930\n石台|0x0040|1389\n石炭|0x100000|1089\n石头|0x100000|2587\n石湾|0x0040|1437\n石韦|0x100000|1187\n石屋|0x0040|1474\n石像|0x100000|26154\n石盐|0x4000000|1\n石堰|0x0040|1062\n石羊|0x100000|990\n石印|0x1000|31206\n石英|0x100000|22953\n石油|0x100000|1860\n石竹|0x100000|41785\n石柱|0x4000000|22695\n石子|0x100000|667\n石钻|0x0080|0\n时报|0x100000|7401\n时弊|0x100000|27642\n时差|0x100000|25656\n时常|0x8000000|4316\n时辰|0x100000|13395\n时代|0x100000|288\n时点|0x100000|40441\n时调|0x100000|51133\n时段|0x100000|10407\n时而|0x8000000|6587\n时方|0x0008|1514\n时分|0x100000|8222\n时风|0x100000|1510\n时逢|0x1000|909\n时隔|0x1000|713\n时光|0x100000|5608\n时侯|0x0000|589\n时候|0x100000|180\n时会|0x100000|684\n时或|0x8000000|856\n时机|0x100000|4008\n时计|0x0080|1435\n时价|0x100000|45095\n时间|0x100000|111\n时艰|0x100000|1135\n时节|0x100000|4796\n时局|0x100000|16330\n时刻|0x100000|1709\n时空|0x100000|4789\n时令|0x100000|24909\n时髦|0x40000000|8159\n时评|0x100000|11059\n时期|0x100000|482\n时气|0x100000|1001\n时区|0x100000|38350\n时人|0x100000|45690\n时日|0x100000|13011\n时尚|0x100000|5009\n时时|0x8000000|5471\n时世|0x100000|43509\n时式|0x100000|1238\n时事|0x100000|11842\n时势|0x100000|19710\n时俗|0x100000|50720\n时速|0x100000|12517\n时态|0x100000|45691\n时文|0x100000|47183\n时务|0x100000|33563\n时下|0x4000|8805\n时鲜|0x100000|39593\n时贤|0x100000|1135\n时限|0x100000|10979\n时效|0x100000|15514\n时新|0x40000000|39594\n时兴|0x40000000|18344\n时行|0x40000000|52931\n时序|0x100000|33433\n时讯|0x100000|505\n时谚|0x100000|0\n时样|0x100000|1292\n时宜|0x100000|38551\n时疫|0x100000|45991\n时有|0x1000|600\n时域|0x100000|960\n时运|0x100000|33675\n时针|0x100000|26155\n时政|0x100000|11208\n时值|0x1000|20450\n时钟|0x100000|20478\n时装|0x100000|7938\n识别|0x1000|6584\n识才|0x1000|1021\n识货|0x1000|35422\n识记|0x100000|967\n识家|0x100000|0\n识见|0x100000|1005\n识破|0x1000|19432\n识趣|0x40000000|36039\n识相|0x40000000|33161\n识羞|0x1000|0\n识字|0x1000|9800\n实参|0x0080|0\n实测|0x1000|18849\n实沉|0x40000000|0\n实诚|0x40000000|40645\n实处|0x100000|19065\n实词|0x100000|51984\n实达|0x0008|1285\n实弹|0x100000|26216\n实得|0x0008|1018\n实地|0x8000000|6000\n实发|0x0008|1023\n实付|0x1000|0\n实干|0x1000|12300\n实感|0x100000|17363\n实根|0x0080|1221\n实话|0x100000|8924\n实惠|0x100000|5420\n实绩|0x100000|10415\n实际|0x100000|500\n实价|0x100000|40442\n实践|0x1000|952\n实劲|0x100000|1209\n实景|0x100000|26996\n实据|0x100000|43977\n实空|0x1000|1125\n实况|0x100000|14992\n实力|0x100000|1935\n实利|0x100000|992\n实例|0x100000|14431\n实录|0x100000|19565\n实落|0x40000000|0\n实名|0x100000|22846\n实木|0x0008|1074\n实乃|0x1000|825\n实情|0x100000|10446\n实权|0x100000|22507\n实然|0x0008|0\n实施|0x1000|1085\n实时|0x100000|13494\n实实|0x8000000|842\n实事|0x100000|3471\n实收|0x1000|923\n实数|0x100000|35873\n实说|0x1000|9674\n实体|0x100000|6088\n实为|0x1000|716\n实务|0x100000|553\n实物|0x100000|6702\n实习|0x1000|10358\n实现|0x1000|555\n实线|0x100000|986\n实相|0x0080|2\n实象|0x0008|1167\n实像|0x100000|39783\n实效|0x100000|4595\n实心|0x100000|24394\n实行|0x1000|778\n实型|0x0008|0\n实学|0x100000|24460\n实验|0x1000|1842\n实业|0x100000|8559\n实益|0x0000|52427\n实意|0x40000000|13427\n实用|0x1000|4006\n实有|0x0000|11489\n实在|0x8000000|5532\n实则|0x8000000|13525\n实战|0x100000|11085\n实招|0x100000|921\n实证|0x100000|18372\n实职|0x100000|40004\n实质|0x100000|3630\n实属|0x1000|14410\n实装|0x100000|1099\n实字|0x100000|1251\n实足|0x40000000|40443\n拾得|0x0008|891\n拾掇|0x1000|23823\n拾荒|0x1000|40646\n拾捡|0x1000|1099\n拾零|0x1000|35874\n拾起|0x0000|619\n拾取|0x1000|40005\n拾趣|0x1000|39784\n拾物|0x100000|54473\n拾遗|0x1000|24591\n蚀本|0x1000|42536\n蚀刻|0x4000000|50721\n食补|0x1000|48126\n食槽|0x0008|1101\n食草|0x40000000|468\n食醋|0x100000|873\n食道|0x100000|36368\n食饵|0x100000|0\n食管|0x100000|40444\n食盒|0x100000|1061\n食积|0x0000|54936\n食具|0x100000|45992\n食客|0x100000|20367\n食口|0x100000|0\n食粮|0x100000|13689\n食量|0x100000|30436\n食疗|0x100000|42535\n食料|0x100000|31207\n食糜|0x100000|1201\n食品|0x100000|1681\n食谱|0x100000|25997\n食人|0x0000|529\n食肉|0x20000000|822\n食宿|0x100000|16637\n食堂|0x100000|5445\n食糖|0x100000|26285\n食物|0x100000|3854\n食相|0x100000|1118\n食性|0x100000|30751\n食言|0x1000|30313\n食盐|0x100000|13090\n食邑|0x100000|1055\n食用|0x1000|7382\n食油|0x100000|30542\n食欲|0x100000|16742\n食指|0x100000|14269\n莳萝|0x100000|1183\n鲥鱼|0x100000|38972\n史册|0x100000|13646\n史抄|0x100000|1539\n史官|0x100000|30094\n史话|0x100000|40006\n史迹|0x100000|33817\n史籍|0x100000|28214\n史记|0x0008|1138\n史家|0x100000|18751\n史料|0x100000|8626\n史略|0x100000|34377\n史论|0x100000|28768\n史评|0x100000|1166\n史前|0x100000|19595\n史诗|0x100000|10391\n史实|0x100000|12646\n史书|0x100000|15880\n史学|0x100000|9897\n史志|0x100000|914\n矢口|0x1000|1055\n矢量|0x100000|52428\n矢石|0x100000|1089\n矢志|0x1000|27309\n使臣|0x100000|18129\n使出|0x1000|664\n使得|0x1000|1877\n使馆|0x100000|4373\n使坏|0x1000|39162\n使唤|0x1000|19066\n使假|0x0000|25505\n使节|0x100000|9638\n使劲|0x1000|7255\n使君|0x100000|924\n使令|0x100000|1095\n使命|0x100000|3062\n使女|0x100000|946\n使然|0x1000|18850\n使徒|0x100000|880\n使团|0x100000|24141\n使役|0x1000|52932\n使用|0x1000|568\n使者|0x100000|9270\n始创|0x1000|41088\n始而|0x10000000|2\n始发|0x1000|23556\n始基|0x0080|0\n始建|0x1000|642\n始料|0x100000|760\n始末|0x100000|28133\n始兴|0x0040|1410\n始业|0x100000|1120\n始于|0x1000|661\n始终|0x8000000|713\n始祖|0x100000|21124\n驶出|0x1000|837\n驶抵|0x1000|1096\n驶近|0x1000|1005\n驶离|0x0000|27482\n驶去|0x1000|829\n驶入|0x1000|786\n驶往|0x1000|902\n驶向|0x1000|765\n士兵|0x100000|2407\n士多|0x20000000|877\n士官|0x100000|12533\n士女|0x100000|1089\n士气|0x100000|9136\n士人|0x100000|24722\n士绅|0x100000|22753\n士子|0x100000|1547\n士卒|0x100000|15252\n士族|0x100000|991\n氏族|0x100000|11077\n世弊|0x100000|0\n世变|0x100000|0\n世伯|0x100000|1088\n世仇|0x100000|40216\n世传|0x1000|43510\n世代|0x100000|9647\n世道|0x100000|17080\n世风|0x100000|36202\n世故|0x40000000|20100\n世纪|0x100000|392\n世家|0x100000|15649\n世间|0x100000|9872\n世交|0x100000|35563\n世界|0x100000|720\n世居|0x1000|953\n世局|0x100000|1107\n世贸|0x100000|632\n世面|0x100000|18041\n世亲|0x100000|1156\n世情|0x100000|29351\n世人|0x100000|5161\n世上|0x8000|6825\n世事|0x100000|11699\n世叔|0x100000|1187\n世俗|0x100000|9430\n世态|0x100000|27643\n世外|0x8000|746\n世务|0x100000|1049\n世袭|0x1000|19682\n世系|0x100000|34378\n世行|0x100000|856\n世兄|0x100000|41551\n世医|0x100000|1194\n世谊|0x100000|1299\n世运|0x100000|1089\n世子|0x100000|930\n世族|0x100000|43979\n仕宦|0x100000|1024\n仕进|0x1000|1098\n仕女|0x100000|28867\n仕途|0x100000|21597\n市报|0x100000|1063\n市布|0x0080|6\n市长|0x100000|557\n市场|0x100000|487\n市尺|0x20000|55891\n市寸|0x20000|0\n市道|0x100000|834\n市地|0x100000|1057\n市电|0x100000|912\n市府|0x100000|798\n市花|0x100000|39595\n市话|0x100000|20326\n市徽|0x100000|0\n市集|0x100000|812\n市际|0x20000000|1\n市价|0x100000|22182\n市郊|0x100000|14705\n市斤|0x20000|45993\n市井|0x100000|21240\n市局|0x100000|838\n市侩|0x100000|30314\n市况|0x100000|921\n市厘|0x100000|0\n市里|0x8000|6225\n市立|0x20000000|902\n市两|0x20000|48866\n市貌|0x100000|468\n市面|0x100000|16797\n市民|0x100000|1978\n市亩|0x100000|53933\n市内|0x8000|669\n市情|0x100000|31326\n市区|0x100000|3565\n市容|0x100000|11555\n市升|0x0000|55973\n市声|0x100000|0\n市树|0x100000|0\n市肆|0x100000|1098\n市委|0x100000|565\n市辖|0x0080|4\n市县|0x100000|751\n市招|0x0080|1038\n市镇|0x100000|15840\n市政|0x100000|7345\n市值|0x100000|683\n市制|0x100000|53413\n市属|0x20000000|874\n示爱|0x1000|40007\n示范|0x1000|2859\n示好|0x0008|793\n示警|0x1000|40647\n示例|0x100000|54937\n示人|0x1000|26635\n示弱|0x1000|19991\n示威|0x1000|6612\n示意|0x1000|9941\n示众|0x1000|20178\n式微|0x1000|32559\n式样|0x100000|12561\n式子|0x100000|37773\n事变|0x100000|11135\n事端|0x100000|19170\n事儿|0x100000|574\n事发|0x1000|688\n事功|0x100000|40008\n事故|0x100000|1824\n事关|0x1000|724\n事后|0x4000|5355\n事机|0x100000|37235\n事迹|0x100000|3088\n事假|0x100000|43264\n事件|0x100000|922\n事理|0x100000|23341\n事例|0x100000|8942\n事略|0x100000|47483\n事前|0x4000|11017\n事情|0x100000|386\n事权|0x100000|936\n事实|0x100000|699\n事事|0x100000|10703\n事势|0x100000|381\n事态|0x100000|10801\n事体|0x100000|24723\n事务|0x100000|2205\n事物|0x100000|2287\n事先|0x8000000|5078\n事项|0x100000|3789\n事业|0x100000|428\n事宜|0x100000|6496\n事由|0x100000|24592\n事主|0x100000|35720\n侍从|0x100000|23390\n侍奉|0x1000|22367\n侍候|0x1000|12256\n侍魂|0x100000|469\n侍郎|0x100000|819\n侍立|0x1000|28399\n侍弄|0x1000|30208\n侍女|0x100000|16431\n侍童|0x100000|1139\n侍卫|0x100000|18539\n侍养|0x1000|0\n侍应|0x0000|48868\n侍者|0x100000|20831\n势必|0x8000000|6981\n势将|0x8000000|946\n势阱|0x0080|0\n势力|0x100000|1586\n势利|0x40000000|25660\n势能|0x100000|25043\n势派|0x100000|1299\n势态|0x100000|43263\n势头|0x100000|3197\n势焰|0x0080|1273\n势要|0x100000|1048\n视察|0x1000|4312\n视差|0x100000|1085\n视场|0x0008|1017\n视唱|0x1000|53935\n视窗|0x100000|16382\n视点|0x100000|3504\n视角|0x100000|7515\n视界|0x100000|32042\n视距|0x100000|965\n视觉|0x100000|7517\n视力|0x100000|12002\n视盘|0x0000|41324\n视频|0x100000|11012\n视事|0x0000|32807\n视束|0x0080|0\n视听|0x100000|15554\n视同|0x1000|20368\n视图|0x100000|28569\n视为|0x1000|3440\n视线|0x100000|7091\n视像|0x100000|907\n视讯|0x100000|719\n视崖|0x0080|0\n视野|0x100000|4035\n视域|0x0080|966\n视轴|0x0080|1293\n视作|0x1000|748\n试办|0x1000|28667\n试笔|0x1000|1104\n试表|0x1000|55456\n试播|0x1000|51987\n试产|0x1000|44809\n试场|0x100000|53414\n试唱|0x1000|917\n试车|0x1000|23090\n试吃|0x0000|450\n试穿|0x1000|783\n试点|0x100000|2775\n试读|0x1000|49954\n试飞|0x1000|22645\n试工|0x1000|53934\n试管|0x100000|11380\n试航|0x1000|38552\n试婚|0x0008|460\n试机|0x0000|52934\n试剂|0x100000|18665\n试讲|0x1000|49227\n试镜|0x1000|868\n试卷|0x100000|18097\n试刊|0x100000|1023\n试看|0x1000|20548\n试炼|0x0008|0\n试片|0x0000|462\n试射|0x1000|874\n试试|0x1000|497\n试手|0x1000|50334\n试探|0x1000|17723\n试题|0x100000|13916\n试跳|0x1000|1141\n试听|0x1000|46885\n试图|0x1000|5185\n试问|0x1000|18130\n试想|0x1000|10679\n试销|0x1000|38973\n试行|0x1000|6205\n试演|0x100000|43265\n试验|0x1000|1776\n试养|0x0000|51136\n试样|0x100000|24794\n试药|0x100000|1041\n试衣|0x1000|813\n试映|0x1000|48496\n试用|0x1000|14054\n试油|0x100000|1130\n试院|0x100000|1219\n试纸|0x100000|36040\n试制|0x1000|15232\n试种|0x1000|19596\n试装|0x1000|975\n试作|0x1000|966\n试做|0x0000|441\n饰词|0x100000|52429\n饰带|0x0008|1054\n饰品|0x100000|25845\n饰物|0x100000|25723\n饰演|0x1000|15725\n室乐|0x0008|0\n室内|0x8000|4164\n室女|0x100000|1020\n室外|0x8000|12257\n室温|0x100000|20179\n室友|0x100000|607\n拭除|0x1000|0\n拭泪|0x1000|905\n拭去|0x0000|561\n是次|0x0008|13\n是的|0x40000000|818\n是凡|0x0000|28215\n是非|0x100000|5079\n是否|0x8000000|603\n是吗|0x4000000|744\n是时|0x4000|464\n是谁|0x4000000|858\n是以|0x10000000|465\n柿饼|0x100000|39163\n柿蒂|0x0008|0\n柿霜|0x100000|53415\n柿子|0x100000|14912\n适才|0x8000000|23001\n适从|0x1000|967\n适当|0x40000000|2126\n适度|0x1000|7087\n适逢|0x1000|805\n适航|0x1000|1043\n适合|0x40000000|2680\n适婚|0x1000|923\n适口|0x40000000|39371\n适量|0x1000|16798\n适龄|0x1000|13792\n适切|0x40000000|984\n适任|0x0008|441\n适时|0x1000|6035\n适销|0x1000|41090\n适宜|0x40000000|5463\n适意|0x40000000|37774\n适应|0x1000|1071\n适用|0x40000000|2664\n适于|0x1000|12171\n适值|0x1000|17288\n适中|0x40000000|19640\n逝去|0x1000|549\n逝世|0x1000|4046\n逝水|0x1000|813\n逝者|0x100000|802\n弑父|0x1000|966\n弑君|0x1000|1002\n弑母|0x0000|374\n谥号|0x100000|48870\n释藏|0x100000|1540\n释出|0x0000|528\n释典|0x100000|1226\n释读|0x1000|1082\n释放|0x1000|4033\n释怀|0x1000|37974\n释迦|0x0080|1373\n释教|0x0020|0\n释卷|0x1000|1\n释例|0x100000|0\n释梦|0x0080|424\n释然|0x0100|26217\n释手|0x1000|942\n释俗|0x1000|0\n释文|0x1000|41786\n释疑|0x1000|21365\n释义|0x100000|33434\n嗜好|0x100000|14471\n嗜酒|0x0008|31327\n嗜睡|0x1000|829\n嗜血|0x40000000|44224\n嗜欲|0x100000|50335\n誓词|0x100000|24347\n誓师|0x1000|27071\n誓死|0x1000|20586\n誓言|0x100000|12052\n誓愿|0x100000|46575\n誓约|0x100000|45994\n螫针|0x100000|1344\n收报|0x1000|50722\n收编|0x1000|30859\n收兵|0x1000|18778\n收播|0x1000|1288\n收藏|0x100000|5849\n收操|0x1000|1230\n收场|0x100000|17753\n收车|0x1000|46281\n收尘|0x100000|1026\n收成|0x100000|11700\n收词|0x1000|0\n收存|0x1000|42537\n收到|0x1000|1998\n收订|0x1000|1150\n收发|0x100000|19711\n收方|0x100000|54477\n收费|0x1000|2348\n收风|0x1000|1128\n收服|0x1000|42289\n收复|0x1000|13469\n收稿|0x0008|1020\n收割|0x1000|10815\n收工|0x1000|20369\n收购|0x1000|2765\n收归|0x1000|33037\n收好|0x0000|550\n收回|0x1000|4851\n收汇|0x1000|944\n收活|0x1000|0\n收货|0x0008|736\n收获|0x1000|3486\n收集|0x1000|3529\n收监|0x1000|45693\n收件|0x1000|764\n收缴|0x1000|7585\n收紧|0x1000|752\n收据|0x100000|14472\n收看|0x1000|12362\n收口|0x1000|48129\n收款|0x1000|17538\n收揽|0x1000|44225\n收礼|0x1000|31439\n收敛|0x1000|12647\n收殓|0x1000|40218\n收留|0x1000|20784\n收拢|0x1000|26286\n收录|0x1000|12669\n收率|0x100000|1082\n收罗|0x1000|36532\n收买|0x1000|13040\n收纳|0x1000|36041\n收拍|0x1000|1136\n收盘|0x1000|20745\n收起|0x1000|624\n收讫|0x1000|54938\n收钱|0x0008|714\n收清|0x1000|0\n收秋|0x1000|1236\n收取|0x1000|4719\n收容|0x1000|13854\n收入|0x100000|776\n收山|0x0008|0\n收审|0x1000|43266\n收生|0x1000|1129\n收尸|0x1000|32809\n收拾|0x1000|4225\n收市|0x1000|34090\n收视|0x1000|14946\n收手|0x0000|43025\n收受|0x1000|9209\n收束|0x1000|998\n收税|0x1000|23557\n收缩|0x1000|9934\n收摊|0x1000|900\n收条|0x100000|33967\n收听|0x1000|18970\n收网|0x1000|942\n收尾|0x100000|24194\n收文|0x100000|54939\n收悉|0x1000|52936\n收下|0x1000|702\n收线|0x0008|1\n收效|0x1000|16895\n收心|0x1000|43980\n收信|0x0000|524\n收押|0x1000|45995\n收养|0x1000|15536\n收蚁|0x100000|1539\n收益|0x100000|4708\n收音|0x1000|51137\n收银|0x1000|674\n收载|0x1000|1039\n收债|0x0008|0\n收帐|0x0000|449\n收账|0x0000|42034\n收针|0x100000|0\n收支|0x100000|5389\n收执|0x100000|45387\n收治|0x1000|13586\n收转|0x0000|47484\n收租|0x0000|32426\n手把|0x0008|1232\n手板|0x100000|43746\n手版|0x100000|0\n手包|0x0000|37236\n手背|0x100000|13495\n手本|0x100000|1100\n手笔|0x100000|20062\n手臂|0x100000|6993\n手边|0x2000000|21169\n手表|0x100000|9151\n手柄|0x100000|44226\n手册|0x100000|9791\n手颤|0x0008|0\n手抄|0x100000|24978\n手车|0x100000|916\n手持|0x1000|9159\n手创|0x1000|0\n手戳|0x100000|48871\n手大|0x0000|27311\n手袋|0x100000|32427\n手电|0x100000|780\n手动|0x20000000|553\n手段|0x100000|928\n手儿|0x100000|0\n手法|0x100000|5126\n手风|0x0008|1050\n手扶|0x20000000|811\n手斧|0x100000|1109\n手感|0x100000|34688\n手稿|0x100000|14662\n手工|0x100000|8491\n手鼓|0x100000|41553\n手黑|0x40000000|47186\n手绘|0x0008|665\n手机|0x100000|2675\n手迹|0x100000|21399\n手记|0x100000|21641\n手技|0x100000|53936\n手夹|0x100000|1\n手简|0x100000|0\n手脚|0x100000|7748\n手巾|0x100000|13943\n手紧|0x40000000|46886\n手镜|0x0008|1195\n手锯|0x100000|1116\n手卷|0x100000|41326\n手绢|0x100000|10729\n手拷|0x0000|371\n手铐|0x100000|16976\n手快|0x40000000|37775\n手辣|0x0000|38750\n手雷|0x100000|35875\n手里|0x8000|498\n手力|0x100000|1104\n手链|0x100000|44227\n手令|0x100000|38554\n手炉|0x100000|53937\n手轮|0x100000|964\n手锣|0x100000|1368\n手慢|0x40000000|38352\n手面|0x100000|1134\n手模|0x100000|969\n手帕|0x100000|10432\n手旗|0x100000|1290\n手气|0x100000|34850\n手枪|0x100000|6646\n手巧|0x40000000|42290\n手勤|0x40000000|49587\n手轻|0x40000000|17313\n手球|0x100000|25044\n手软|0x40000000|14355\n手上|0x8000|499\n手生|0x40000000|48872\n手势|0x100000|9605\n手书|0x1000|23824\n手术|0x100000|2427\n手松|0x40000000|41091\n手谈|0x1000|49229\n手套|0x100000|12011\n手提|0x1000|15253\n手头|0x100000|13155\n手腕|0x100000|10642\n手纹|0x100000|1015\n手洗|0x0000|45997\n手下|0x100000|7078\n手相|0x100000|32299\n手写|0x1000|18780\n手心|0x100000|10816\n手信|0x0008|0\n手性|0x0000|442\n手续|0x100000|2442\n手癣|0x100000|1107\n手压|0x20000000|899\n手眼|0x100000|1003\n手痒|0x40000000|44228\n手摇|0x20000000|778\n手艺|0x100000|10075\n手淫|0x1000|30437\n手印|0x100000|12573\n手影|0x100000|380\n手硬|0x0000|51558\n手语|0x100000|27963\n手谕|0x100000|30752\n手泽|0x100000|0\n手札|0x100000|50337\n手掌|0x100000|9054\n手杖|0x100000|19171\n手植|0x1000|1089\n手纸|0x100000|34851\n手指|0x100000|4042\n手中|0x8000|497\n手重|0x40000000|45998\n手肘|0x100000|808\n手爪|0x0000|417\n手镯|0x100000|22802\n手足|0x100000|15568\n手钻|0x100000|1254\n守备|0x1000|21206\n守兵|0x100000|24142\n守财|0x1000|859\n守车|0x100000|1214\n守成|0x1000|31670\n守城|0x1000|817\n守敌|0x100000|43981\n守法|0x1000|7844\n守方|0x0080|1100\n守分|0x40000000|1138\n守宫|0x100000|1022\n守寡|0x1000|26921\n守恒|0x1000|20101\n守候|0x1000|13358\n守护|0x1000|12795\n守将|0x0000|16383\n守节|0x1000|29987\n守旧|0x100000|22423\n守军|0x100000|24073\n守擂|0x1000|49230\n守灵|0x1000|35274\n守门|0x1000|24523\n守墓|0x0000|43026\n守丧|0x1000|47818\n守身|0x1000|0\n守时|0x40000000|34379\n守势|0x100000|40446\n守岁|0x1000|32929\n守土|0x1000|35423\n守望|0x1000|24018\n守卫|0x1000|14225\n守孝|0x1000|48874\n守信|0x40000000|10724\n守业|0x1000|40447\n守夜|0x1000|29562\n守约|0x1000|43747\n守则|0x100000|19641\n守职|0x1000|50338\n守制|0x1000|0\n守住|0x0008|611\n首波|0x100000|891\n首播|0x1000|33968\n首部|0x0080|613\n首长|0x100000|6227\n首场|0x400000|37067\n首倡|0x1000|33678\n首车|0x100000|1182\n首创|0x1000|9639\n首次|0x0000|8710\n首都|0x100000|1849\n首度|0x20000000|49589\n首恶|0x100000|30753\n首尔|0x0000|55892\n首发|0x1000|14088\n首犯|0x100000|36533\n首飞|0x0000|28668\n首府|0x100000|10150\n首付|0x100000|773\n首富|0x100000|27802\n首钢|0x0008|782\n首告|0x1000|0\n首功|0x100000|36043\n首航|0x100000|26636\n首级|0x100000|44229\n首季|0x0000|30860\n首届|0x20000000|4261\n首肯|0x1000|28955\n首例|0x0000|16586\n首列|0x0080|4\n首领|0x100000|10328\n首轮|0x0080|707\n首脑|0x100000|3442\n首批|0x0000|24524\n首期|0x0008|720\n首任|0x100000|18010\n首日|0x4000|711\n首善|0x20000000|1067\n首饰|0x100000|10204\n首首|0x20000|510\n首途|0x1000|0\n首推|0x0000|25998\n首尾|0x100000|22754\n首位|0x0008|5611\n首席|0x100000|5589\n首先|0x8000000|514\n首相|0x100000|3599\n首选|0x100000|12085\n首演|0x1000|17512\n首要|0x100000|4647\n首页|0x0008|669\n首义|0x100000|31903\n首映|0x1000|32173\n首月|0x4000|955\n首战|0x100000|18042\n首站|0x100000|809\n首字|0x100000|941\n首座|0x100000|25724\n寿斑|0x100000|54479\n寿材|0x100000|42036\n寿辰|0x100000|27404\n寿诞|0x100000|45694\n寿光|0x0040|1253\n寿酒|0x100000|49590\n寿礼|0x100000|42539\n寿联|0x100000|1111\n寿面|0x100000|49591\n寿命|0x100000|6776\n寿木|0x0080|46000\n寿宁|0x0080|1421\n寿屏|0x0008|1371\n寿数|0x100000|1096\n寿司|0x100000|726\n寿堂|0x100000|1070\n寿桃|0x100000|41092\n寿险|0x100000|13984\n寿县|0x0040|1427\n寿星|0x100000|28868\n寿穴|0x100000|0\n寿筵|0x100000|49592\n寿阳|0x0080|1517\n寿衣|0x100000|31209\n寿幛|0x0000|54480\n寿终|0x1000|36709\n受案|0x1000|990\n受病|0x1000|47819\n受潮|0x1000|37418\n受宠|0x40000000|34091\n受挫|0x1000|16234\n受到|0x1000|454\n受敌|0x1000|32043\n受点|0x0000|501\n受罚|0x1000|23664\n受粉|0x1000|54481\n受雇|0x1000|30643\n受过|0x1000|6421\n受害|0x1000|10592\n受寒|0x1000|47820\n受旱|0x0000|25725\n受贿|0x1000|7715\n受惠|0x1000|21540\n受检|0x1000|34530\n受奖|0x1000|21976\n受降|0x1000|33819\n受教|0x0000|21207\n受戒|0x1000|34994\n受尽|0x1000|708\n受惊|0x1000|24019\n受精|0x1000|19566\n受窘|0x1000|37419\n受看|0x0000|51139\n受控|0x1000|859\n受苦|0x1000|11063\n受困|0x0000|32428\n受累|0x1000|26071\n受冷|0x1000|965\n受礼|0x1000|42037\n受理|0x1000|4084\n受凉|0x1000|35564\n受领|0x1000|39596\n受落|0x0008|0\n受命|0x1000|10281\n受难|0x1000|16638\n受虐|0x0000|39597\n受骗|0x1000|10584\n受聘|0x1000|16743\n受气|0x40000000|21320\n受穷|0x1000|29249\n受屈|0x1000|34995\n受权|0x1000|26482\n受热|0x1000|24593\n受辱|0x1000|24525\n受伤|0x1000|3085\n受赏|0x1000|43511\n受审|0x1000|22898\n受事|0x100000|48497\n受损|0x1000|9976\n受胎|0x1000|51988\n受体|0x100000|20028\n受听|0x40000000|48130\n受托|0x1000|22847\n受洗|0x1000|46888\n受限|0x1000|759\n受刑|0x1000|24594\n受训|0x1000|21819\n受压|0x1000|874\n受邀|0x0000|37237\n受业|0x100000|40219\n受益|0x1000|4722\n受用|0x1000|24395\n受冤|0x0000|44810\n受援|0x1000|38976\n受阅|0x0000|41093\n受孕|0x1000|32429\n受灾|0x1000|5662\n受制|0x1000|20327\n受治|0x0000|46001\n受众|0x100000|703\n受阻|0x1000|14247\n受罪|0x1000|15555\n狩猎|0x1000|14624\n兽环|0x100000|53940\n兽栏|0x0000|375\n兽类|0x100000|26778\n兽皮|0x100000|847\n兽群|0x100000|423\n兽人|0x0000|648\n兽王|0x100000|850\n兽行|0x100000|46577\n兽性|0x100000|29988\n兽药|0x100000|46002\n兽医|0x100000|10569\n兽欲|0x100000|45388\n售出|0x1000|695\n售房|0x1000|753\n售后|0x4000|39164\n售汇|0x0000|31671\n售货|0x1000|23825\n售价|0x100000|8620\n售楼|0x1000|687\n售卖|0x1000|35876\n售票|0x1000|11250\n售罄|0x1000|42540\n售完|0x1000|805\n授粉|0x1000|23766\n授奖|0x1000|32930\n授戒|0x1000|0\n授精|0x1000|32810\n授课|0x1000|11402\n授命|0x1000|46576\n授旗|0x1000|41327\n授权|0x1000|4743\n授乳|0x100000|1124\n授时|0x1000|1039\n授首|0x1000|961\n授受|0x1000|45098\n授徒|0x1000|993\n授衔|0x1000|37420\n授勋|0x1000|29250\n授业|0x1000|874\n授以|0x0000|462\n授艺|0x1000|991\n授意|0x1000|20587\n授予|0x1000|3669\n授职|0x1000|1134\n绶带|0x100000|33312\n瘦长|0x40000000|21082\n瘦瘠|0x40000000|53941\n瘦溜|0x40000000|0\n瘦马|0x0080|1405\n瘦人|0x100000|435\n瘦肉|0x100000|19465\n瘦弱|0x40000000|15635\n瘦身|0x0008|31546\n瘦瘦|0x0100|710\n瘦削|0x40000000|18067\n瘦小|0x40000000|16042\n瘦子|0x100000|30315\n书案|0x100000|33313\n书吧|0x0000|34852\n书包|0x100000|8432\n书报|0x100000|16564\n书背|0x100000|1064\n书本|0x100000|9225\n书标|0x100000|1125\n书册|0x100000|982\n书场|0x100000|29787\n书痴|0x100000|1044\n书虫|0x100000|856\n书橱|0x100000|23342\n书单|0x0080|920\n书道|0x100000|1022\n书店|0x100000|5486\n书钉|0x100000|1142\n书牍|0x100000|0\n书法|0x100000|4870\n书贩|0x100000|0\n书房|0x100000|7079\n书扉|0x100000|0\n书稿|0x100000|19902\n书柜|0x100000|22183\n书函|0x100000|45389\n书号|0x100000|34380\n书后|0x100000|786\n书画|0x100000|7280\n书籍|0x100000|3192\n书脊|0x100000|45099\n书记|0x100000|322\n书夹|0x0000|371\n书家|0x100000|936\n书价|0x100000|973\n书架|0x100000|11125\n书简|0x100000|39598\n书经|0x0000|425\n书局|0x100000|16135\n书卷|0x100000|27803\n书刊|0x100000|9982\n书口|0x100000|1214\n书库|0x100000|28049\n书吏|0x100000|1111\n书林|0x100000|940\n书录|0x100000|1109\n书论|0x100000|1018\n书眉|0x100000|1203\n书迷|0x100000|52937\n书面|0x100000|4625\n书名|0x100000|13334\n书目|0x100000|14932\n书皮|0x100000|38977\n书评|0x100000|25506\n书启|0x100000|1271\n书契|0x100000|0\n书签|0x100000|34092\n书商|0x100000|896\n书上|0x8000|620\n书社|0x100000|38354\n书生|0x100000|14281\n书圣|0x0080|415\n书市|0x100000|15569\n书塾|0x100000|0\n书肆|0x100000|0\n书摊|0x100000|866\n书坛|0x100000|990\n书套|0x100000|1116\n书体|0x100000|1007\n书亭|0x100000|42541\n书童|0x100000|891\n书僮|0x100000|1064\n书屋|0x100000|18851\n书物|0x100000|1175\n书香|0x100000|24348\n书箱|0x100000|38978\n书写|0x1000|7310\n书信|0x100000|10715\n书讯|0x100000|902\n书页|0x100000|24795\n书影|0x100000|1002\n书院|0x100000|13167\n书札|0x100000|45695\n书斋|0x100000|15939\n书摘|0x100000|796\n书展|0x100000|26838\n书证|0x0000|37422\n书桌|0x100000|11086\n抒发|0x1000|11910\n抒怀|0x1000|28401\n抒解|0x0008|0\n抒情|0x40000000|9983\n抒写|0x1000|22509\n叔伯|0x100000|30438\n叔父|0x100000|11156\n叔公|0x100000|29353\n叔母|0x100000|48498\n叔婆|0x100000|53942\n叔嫂|0x0000|43027\n叔叔|0x100000|5297\n叔岳|0x100000|0\n叔侄|0x100000|950\n叔祖|0x100000|49231\n枢机|0x100000|1022\n枢纽|0x100000|9006\n枢要|0x100000|52430\n枢轴|0x100000|1155\n倏地|0x8000000|22368\n倏尔|0x8000000|1139\n倏忽|0x8000000|24349\n倏然|0x0100|27565\n殊荣|0x100000|12670\n殊死|0x100000|29050\n殊勋|0x100000|48875\n殊异|0x100000|1070\n梳篦|0x100000|1093\n梳齿|0x100000|1095\n梳理|0x1000|9969\n梳拢|0x0080|368\n梳梳|0x0080|1\n梳头|0x1000|17724\n梳洗|0x1000|22510\n梳妆|0x1000|22696\n梳子|0x100000|23507\n淑静|0x40000000|51559\n淑女|0x100000|23130\n菽粟|0x100000|1249\n疏导|0x1000|12518\n疏伐|0x100000|1537\n疏放|0x1000|0\n疏附|0x0080|1126\n疏果|0x100000|0\n疏忽|0x40000000|11992\n疏剪|0x1000|0\n疏解|0x1000|42291\n疏浚|0x1000|23036\n疏开|0x100000|1324\n疏狂|0x0000|54482\n疏阔|0x1000|0\n疏懒|0x40000000|47187\n疏朗|0x40000000|38751\n疏勒|0x100000|1013\n疏离|0x1000|744\n疏理|0x1000|49594\n疏漏|0x100000|22954\n疏略|0x0000|52432\n疏落|0x40000000|36710\n疏密|0x100000|31779\n疏浅|0x40000000|0\n疏散|0x1000|13156\n疏失|0x100000|870\n疏水|0x0008|1422\n疏松|0x40000000|19567\n疏通|0x1000|12562\n疏于|0x1000|18781\n疏远|0x1000|13777\n舒畅|0x40000000|12390\n舒城|0x0080|1373\n舒服|0x40000000|4211\n舒缓|0x40000000|20250\n舒卷|0x1000|48131\n舒兰|0x0040|1533\n舒曼|0x0008|1454\n舒散|0x1000|54941\n舒适|0x40000000|6062\n舒爽|0x40000000|49955\n舒松|0x0000|55893\n舒坦|0x40000000|19466\n舒特|0x0080|1004\n舒心|0x40000000|16799\n舒展|0x1000|12444\n舒张|0x1000|33565\n输诚|0x1000|1149\n输出|0x1000|4785\n输导|0x1000|1138\n输电|0x1000|13926\n输掉|0x0000|557\n输给|0x1000|607\n输光|0x1000|782\n输家|0x100000|35100\n输精|0x100000|1199\n输理|0x1000|0\n输钱|0x1000|885\n输球|0x1000|722\n输入|0x1000|5659\n输水|0x1000|933\n输送|0x1000|6964\n输往|0x0008|989\n输血|0x1000|14646\n输氧|0x1000|43512\n输液|0x1000|14317\n输赢|0x100000|20328\n输油|0x4000000|837\n输运|0x1000|1069\n输者|0x100000|985\n蔬菜|0x100000|2268\n蔬果|0x100000|778\n秫秸|0x100000|35877\n秫米|0x100000|1238\n孰料|0x0000|32931\n孰知|0x10000000|427\n赎当|0x1000|51140\n赎回|0x1000|762\n赎金|0x100000|36878\n赎买|0x1000|42292\n赎身|0x1000|42038\n赎职|0x0080|1\n赎罪|0x1000|21541\n塾师|0x100000|1105\n熟谙|0x1000|37607\n熟菜|0x100000|51989\n熟道|0x100000|1355\n熟地|0x100000|41328\n熟读|0x1000|829\n熟化|0x1000|46282\n熟记|0x1000|38159\n熟客|0x100000|41554\n熟练|0x40000000|7611\n熟料|0x100000|934\n熟路|0x100000|40009\n熟虑|0x1000|23243\n熟络|0x0008|846\n熟年|0x100000|1232\n熟人|0x100000|7035\n熟稔|0x40000000|31547\n熟肉|0x100000|955\n熟识|0x1000|15841\n熟食|0x100000|27566\n熟视|0x0000|375\n熟手|0x100000|49232\n熟睡|0x1000|17874\n熟思|0x1000|0\n熟铁|0x100000|55460\n熟透|0x1000|783\n熟土|0x100000|53417\n熟悉|0x40000000|1727\n熟习|0x1000|21450\n熟语|0x100000|55894\n熟知|0x1000|13752\n熟字|0x100000|1288\n暑伏|0x0000|53418\n暑假|0x100000|7610\n暑期|0x4000|10680\n暑气|0x100000|31210\n暑热|0x100000|34691\n暑天|0x100000|41329\n暑瘟|0x100000|1536\n黍子|0x100000|51560\n署长|0x100000|871\n署理|0x1000|36204\n署名|0x1000|7636\n鼠辈|0x100000|49233\n鼠标|0x0000|14719\n鼠疮|0x0008|1533\n鼠窜|0x1000|38556\n鼠胆|0x100000|1084\n鼠害|0x100000|29251\n鼠类|0x0000|40648\n鼠年|0x4000|1089\n鼠穴|0x100000|1213\n鼠疫|0x100000|22020\n蜀道|0x100000|853\n蜀国|0x0040|878\n蜀汉|0x0040|38160\n蜀锦|0x100000|51141\n蜀葵|0x0080|1084\n蜀黍|0x100000|1133\n蜀绣|0x100000|1077\n薯莨|0x100000|1370\n薯类|0x100000|36711\n薯条|0x100000|786\n薯蓣|0x100000|1092\n曙光|0x100000|9121\n曙色|0x100000|33566\n术后|0x4000|24143\n术科|0x100000|963\n术士|0x100000|25441\n术业|0x100000|1496\n术语|0x100000|11087\n戍边|0x1000|19284\n戍守|0x1000|43748\n戍卒|0x100000|1112\n束带|0x100000|965\n束发|0x1000|936\n束缚|0x1000|6135\n束腹|0x0000|381\n束紧|0x0000|415\n束身|0x1000|45100\n束手|0x1000|13455\n束脩|0x100000|1150\n束腰|0x100000|38557\n束装|0x1000|46578\n束状|0x0000|371\n沭阳|0x0080|1246\n述怀|0x1000|36879\n述评|0x100000|13753\n述说|0x1000|14248\n述语|0x0080|1129\n述职|0x1000|8773\n树杈|0x100000|30861\n树丛|0x100000|16910\n树德|0x1000|938\n树敌|0x1000|42293\n树顶|0x100000|917\n树洞|0x100000|475\n树墩|0x100000|52433\n树蜂|0x100000|1312\n树干|0x100000|11412\n树根|0x100000|17364\n树挂|0x100000|47489\n树冠|0x100000|19234\n树胶|0x100000|48499\n树懒|0x100000|1084\n树篱|0x0008|1120\n树立|0x1000|1964\n树林|0x100000|6089\n树龄|0x100000|27150\n树苗|0x100000|10964\n树名|0x0008|1153\n树木|0x100000|4548\n树皮|0x100000|16474\n树起|0x1000|890\n树人|0x1000|34853\n树上|0x8000|613\n树梢|0x100000|17238\n树身|0x100000|27964\n树神|0x100000|1126\n树薯|0x100000|1268\n树突|0x100000|1084\n树蛙|0x100000|1091\n树王|0x100000|1094\n树心|0x0080|1515\n树形|0x20000000|822\n树熊|0x100000|427\n树丫|0x0000|54942\n树叶|0x100000|8287\n树液|0x0000|380\n树阴|0x100000|39786\n树荫|0x100000|739\n树影|0x100000|767\n树园|0x0008|980\n树葬|0x0000|35721\n树汁|0x0008|1135\n树枝|0x100000|7670\n树脂|0x100000|17393\n树种|0x100000|9438\n树桩|0x100000|30095\n树状|0x0008|779\n竖笛|0x100000|1017\n竖井|0x100000|43268\n竖立|0x1000|16744\n竖排|0x1000|959\n竖起|0x1000|681\n竖琴|0x100000|35102\n竖线|0x100000|999\n竖向|0x20000000|942\n竖直|0x1000|29252\n竖着|0x0000|553\n竖子|0x100000|38355\n恕罪|0x1000|37608\n庶出|0x20000000|47490\n庶乎|0x10000000|0\n庶几|0x10000000|27151\n庶民|0x100000|30862\n庶母|0x100000|1203\n庶人|0x100000|940\n庶务|0x100000|36205\n庶子|0x0008|1006\n数表|0x100000|0\n数词|0x100000|53419\n数叨|0x1000|1285\n数额|0x100000|6161\n数九|0x404000|46889\n数据|0x100000|1850\n数控|0x100000|15651\n数理|0x100000|754\n数量|0x100000|1571\n数列|0x100000|42040\n数论|0x100000|955\n数落|0x1000|22848\n数码|0x100000|9857\n数模|0x100000|946\n数目|0x100000|6149\n数年|0x0008|1074\n数数|0x0008|749\n数说|0x1000|41788\n数位|0x100000|641\n数学|0x100000|2744\n数月|0x200000|711\n数值|0x100000|10762\n数制|0x100000|406\n数轴|0x100000|1109\n数珠|0x100000|1149\n数字|0x100000|1781\n数组|0x100000|727\n漱口|0x1000|26073\n漱漱|0x0080|821\n漱洗|0x0000|39787\n刷白|0x100000|45392\n刷麸|0x0080|0\n刷卡|0x1000|15380\n刷拉|0x0000|48133\n刷毛|0x100000|1000\n刷去|0x0000|403\n刷刷|0x1000|707\n刷洗|0x1000|35276\n刷新|0x1000|15516\n刷牙|0x1000|20672\n刷子|0x100000|24910\n唰唰|0x0080|713\n耍横|0x1000|1102\n耍滑|0x1000|41094\n耍奸|0x1000|52434\n耍赖|0x1000|35878\n耍弄|0x1000|31548\n耍钱|0x1000|49234\n耍人|0x1000|52939\n耍玩|0x1000|0\n耍笑|0x1000|40220\n耍子|0x1000|0\n衰败|0x1000|19787\n衰惫|0x40000000|0\n衰变|0x1000|24396\n衰草|0x100000|44231\n衰减|0x1000|23768\n衰竭|0x1000|16432\n衰老|0x40000000|10742\n衰落|0x1000|13703\n衰迈|0x40000000|0\n衰年|0x4000|1194\n衰弱|0x40000000|16977\n衰颓|0x40000000|39599\n衰退|0x1000|7722\n衰亡|0x1000|25100\n衰微|0x1000|28570\n衰萎|0x1000|1214\n衰朽|0x1000|45393\n摔打|0x1000|26998\n摔倒|0x1000|639\n摔到|0x0000|541\n摔交|0x1000|463\n摔跤|0x100000|12372\n摔角|0x0008|839\n摔伤|0x1000|796\n摔下|0x0000|576\n甩掉|0x1000|17341\n甩动|0x0000|465\n甩开|0x1000|722\n甩卖|0x1000|36880\n甩手|0x1000|23769\n甩脱|0x0000|46284\n帅才|0x100000|36881\n帅哥|0x100000|38161\n帅旗|0x0000|43985\n帅气|0x0008|34692\n帅印|0x100000|36369\n拴缚|0x1000|0\n拴住|0x0000|481\n栓剂|0x100000|54485\n栓塞|0x100000|39373\n栓子|0x100000|46285\n涮肉|0x0000|55462\n涮洗|0x1000|52942\n双柏|0x0080|984\n双胞|0x0008|978\n双倍|0x100000|713\n双臂|0x100000|648\n双边|0x20000000|3031\n双层|0x20000000|18666\n双城|0x0040|1235\n双程|0x20000000|934\n双唇|0x100000|723\n双打|0x100000|10852\n双刀|0x0000|549\n双方|0x100000|870\n双飞|0x0080|1107\n双份|0x0000|483\n双峰|0x0080|1147\n双幅|0x20000000|1203\n双杠|0x100000|25368\n双工|0x0008|1379\n双钩|0x100000|1030\n双拐|0x100000|37975\n双关|0x100000|35565\n双管|0x0000|486\n双轨|0x100000|30316\n双号|0x0000|470\n双黄|0x100000|956\n双簧|0x100000|33567\n双击|0x0000|728\n双机|0x0008|1346\n双肩|0x100000|690\n双键|0x0080|1445\n双脚|0x100000|611\n双晶|0x0008|1098\n双开|0x0000|501\n双连|0x0008|1000\n双辽|0x0040|994\n双料|0x100000|30096\n双流|0x0080|1290\n双轮|0x0008|32680\n双面|0x20000000|31672\n双模|0x0008|547\n双眸|0x100000|710\n双目|0x100000|13884\n双牌|0x0080|1000\n双频|0x0008|913\n双屏|0x0040|1310\n双栖|0x20000000|894\n双抢|0x100000|33435\n双桥|0x0008|774\n双亲|0x100000|20960\n双全|0x1000|28869\n双人|0x100000|660\n双刃|0x100000|746\n双日|0x100000|1031\n双生|0x1000|43749\n双声|0x100000|1007\n双手|0x100000|2573\n双数|0x100000|51562\n双双|0x8000000|9302\n双糖|0x100000|1161\n双筒|0x100000|952\n双腿|0x100000|618\n双烯|0x0008|1272\n双喜|0x100000|1336\n双线|0x20000000|659\n双响|0x100000|53421\n双向|0x100000|6898\n双薪|0x100000|51563\n双星|0x100000|16721\n双行|0x20000000|772\n双姓|0x100000|1229\n双休|0x1000|836\n双眼|0x100000|498\n双翼|0x100000|778\n双音|0x20000000|995\n双赢|0x1000|8134\n双拥|0x100000|7697\n双语|0x100000|22021\n双月|0x40000000|481\n双重|0x20000000|5949\n双周|0x40000000|487\n双子|0x100000|592\n双座|0x100000|938\n霜晨|0x4000|1098\n霜冻|0x100000|24850\n霜害|0x100000|1290\n霜花|0x0008|43514\n霜降|0x4000|33821\n霜期|0x100000|40221\n霜天|0x100000|941\n霜雪|0x100000|33822\n霜叶|0x100000|49958\n孀妇|0x100000|43986\n孀居|0x1000|48501\n爽脆|0x40000000|49235\n爽口|0x40000000|33969\n爽快|0x40000000|11242\n爽朗|0x40000000|15455\n爽利|0x40000000|35104\n爽目|0x40000000|52435\n爽气|0x100000|41556\n爽然|0x0100|1138\n爽心|0x40000000|991\n爽性|0x8000000|35722\n爽约|0x1000|48502\n爽直|0x40000000|29135\n谁边|0x10000|0\n谁个|0x10000|29785\n谁会|0x0000|675\n谁家|0x10000|675\n谁料|0x10000000|19037\n谁人|0x10000|26353\n谁是|0x0000|724\n谁谁|0x10000|676\n谁也|0x0000|767\n谁知|0x10000000|5558\n水吧|0x0000|36206\n水坝|0x100000|26156\n水霸|0x100000|1213\n水杯|0x100000|746\n水泵|0x100000|19235\n水笔|0x100000|41557\n水边|0x8000|17423\n水标|0x0080|1020\n水表|0x100000|22592\n水滨|0x8000|51564\n水兵|0x100000|19903\n水波|0x100000|22955\n水彩|0x100000|31086\n水槽|0x100000|32044\n水草|0x100000|14473\n水层|0x100000|24526\n水虿|0x0008|1217\n水产|0x100000|7791\n水厂|0x100000|792\n水车|0x100000|17394\n水城|0x0040|23451\n水程|0x0080|1167\n水池|0x100000|13827\n水尺|0x100000|1195\n水床|0x0080|49236\n水葱|0x0080|52436\n水道|0x100000|16083\n水稻|0x100000|4342\n水滴|0x100000|689\n水底|0x8000|733\n水地|0x100000|983\n水电|0x0008|5894\n水貂|0x100000|53944\n水斗|0x0080|411\n水痘|0x100000|47494\n水碓|0x100000|1060\n水遁|0x1000|1079\n水儿|0x100000|1347\n水发|0x0000|32300\n水阀|0x0080|2\n水法|0x0000|42786\n水房|0x0000|36044\n水肥|0x100000|38753\n水肺|0x100000|0\n水费|0x100000|817\n水分|0x100000|6665\n水粉|0x100000|793\n水封|0x0080|422\n水富|0x0080|1057\n水缸|0x100000|20785\n水阁|0x100000|941\n水工|0x100000|820\n水沟|0x100000|17424\n水垢|0x100000|48878\n水臌|0x100000|1541\n水怪|0x100000|899\n水管|0x100000|16191\n水罐|0x100000|989\n水光|0x100000|1403\n水鬼|0x0000|484\n水柜|0x100000|1169\n水果|0x100000|4131\n水害|0x100000|37778\n水旱|0x100000|22511\n水合|0x100000|938\n水鹤|0x0008|1016\n水红|0x100000|38979\n水壶|0x100000|17599\n水浒|0x0008|665\n水花|0x100000|20629\n水化|0x0008|1007\n水患|0x100000|24397\n水荒|0x100000|29253\n水火|0x100000|17572\n水货|0x100000|29989\n水际|0x0080|1137\n水剂|0x0000|38356\n水碱|0x100000|1141\n水胶|0x0080|0\n水饺|0x100000|30097\n水窖|0x100000|1008\n水解|0x1000|24979\n水界|0x0080|1103\n水晶|0x100000|13344\n水井|0x100000|13778\n水景|0x100000|810\n水警|0x100000|47821\n水酒|0x100000|41558\n水具|0x0008|1003\n水军|0x100000|30440\n水坑|0x100000|26922\n水孔|0x100000|0\n水口|0x100000|1269\n水库|0x100000|3931\n水兰|0x0080|1166\n水牢|0x100000|53945\n水涝|0x100000|49960\n水雷|0x100000|32045\n水冷|0x0080|40879\n水礼|0x100000|0\n水力|0x100000|19822\n水利|0x100000|3554\n水帘|0x100000|827\n水量|0x100000|8217\n水疗|0x100000|51145\n水灵|0x40000000|29354\n水流|0x100000|9873\n水龙|0x100000|39166\n水陆|0x100000|17342\n水鹿|0x0080|1149\n水路|0x100000|15745\n水绿|0x100000|40649\n水轮|0x100000|878\n水门|0x100000|38980\n水密|0x0080|0\n水面|0x100000|4403\n水磨|0x100000|34854\n水沫|0x0080|381\n水墨|0x100000|670\n水母|0x100000|35424\n水幕|0x0008|927\n水能|0x100000|811\n水泥|0x100000|3663\n水碾|0x100000|52437\n水鸟|0x100000|20786\n水牛|0x100000|21820\n水暖|0x100000|43750\n水牌|0x100000|1007\n水炮|0x100000|1080\n水泡|0x100000|735\n水疱|0x100000|49962\n水培|0x100000|949\n水盆|0x100000|886\n水瓢|0x100000|46005\n水平|0x100000|633\n水瓶|0x100000|582\n水萍|0x0080|1219\n水气|0x100000|770\n水汽|0x100000|12585\n水枪|0x100000|34230\n水侵|0x0080|0\n水芹|0x0080|1082\n水禽|0x100000|31211\n水情|0x100000|24596\n水球|0x100000|27880\n水区|0x100000|795\n水渠|0x100000|16855\n水圈|0x100000|1100\n水泉|0x0080|1430\n水色|0x100000|27234\n水杉|0x100000|34531\n水上|0x8000|609\n水蛇|0x100000|42041\n水深|0x100000|790\n水神|0x100000|890\n水生|0x20000000|15492\n水师|0x100000|868\n水蚀|0x1000|0\n水势|0x100000|24292\n水手|0x100000|11113\n水鼠|0x100000|0\n水栓|0x0080|0\n水松|0x0000|53946\n水塔|0x100000|28490\n水獭|0x100000|35105\n水潭|0x100000|34094\n水塘|0x100000|18804\n水体|0x100000|839\n水田|0x100000|12989\n水桶|0x100000|14474\n水筒|0x0080|1216\n水头|0x100000|31212\n水土|0x100000|5056\n水团|0x100000|0\n水洼|0x100000|902\n水湾|0x0080|1293\n水网|0x100000|34693\n水位|0x100000|6576\n水温|0x100000|12423\n水文|0x100000|12278\n水纹|0x0008|49963\n水舞|0x0008|1554\n水务|0x100000|756\n水雾|0x100000|29670\n水螅|0x100000|1172\n水洗|0x20000000|706\n水系|0x100000|15290\n水下|0x8000|708\n水仙|0x100000|21400\n水险|0x0008|1166\n水线|0x100000|33038\n水乡|0x100000|13840\n水箱|0x100000|24911\n水鞋|0x0008|1\n水泻|0x1000|1054\n水榭|0x100000|38981\n水星|0x0020|25369\n水性|0x100000|23002\n水秀|0x100000|829\n水袖|0x100000|41096\n水锈|0x100000|53947\n水选|0x0080|0\n水靴|0x0080|51146\n水压|0x100000|29460\n水鸭|0x0080|31213\n水烟|0x100000|36713\n水淹|0x100000|824\n水堰|0x0080|0\n水杨|0x0080|1092\n水样|0x100000|28956\n水银|0x100000|18852\n水印|0x100000|31780\n水鱼|0x0008|1459\n水芋|0x0080|0\n水浴|0x100000|877\n水域|0x100000|7916\n水源|0x100000|5390\n水月|0x0080|1242\n水云|0x0080|1312\n水运|0x100000|18220\n水灾|0x100000|14013\n水葬|0x1000|49964\n水蚤|0x100000|1182\n水藻|0x100000|38357\n水泽|0x100000|51566\n水闸|0x100000|31904\n水栅|0x0080|0\n水战|0x100000|41789\n水质|0x100000|5137\n水蛭|0x100000|42787\n水中|0x8000|532\n水肿|0x100000|20710\n水珠|0x100000|18131\n水竹|0x100000|1032\n水煮|0x1000|632\n水注|0x0080|0\n水柱|0x100000|26218\n水准|0x100000|6812\n水渍|0x0080|910\n水族|0x100000|34095\n水钻|0x100000|772\n税案|0x0000|53423\n税单|0x100000|52438\n税额|0x100000|20209\n税法|0x100000|11911\n税费|0x100000|4782\n税负|0x100000|25045\n税管|0x100000|1237\n税后|0x20000000|35879\n税金|0x100000|13012\n税捐|0x100000|1082\n税卡|0x100000|1215\n税款|0x100000|7351\n税利|0x100000|25847\n税率|0x100000|8009\n税目|0x100000|33164\n税票|0x100000|40650\n税契|0x100000|1430\n税前|0x4000|824\n税收|0x100000|2452\n税务|0x100000|3777\n税源|0x100000|14663\n税则|0x100000|33315\n税制|0x100000|12690\n税种|0x100000|20961\n睡袋|0x100000|41790\n睡过|0x0000|558\n睡觉|0x1000|3774\n睡裤|0x100000|52944\n睡莲|0x100000|36371\n睡帽|0x100000|55465\n睡梦|0x100000|16283\n睡眠|0x100000|6814\n睡魔|0x100000|1028\n睡袍|0x100000|40222\n睡去|0x0000|628\n睡裙|0x0008|43032\n睡容|0x0000|53948\n睡狮|0x100000|1021\n睡熟|0x1000|853\n睡态|0x100000|1082\n睡乡|0x100000|1178\n睡相|0x100000|47497\n睡醒|0x1000|23770\n睡眼|0x100000|25661\n睡衣|0x100000|18346\n睡椅|0x100000|42042\n睡意|0x100000|18515\n睡着|0x1000|5637\n睡姿|0x100000|48503\n睡足|0x0000|437\n吮吸|0x1000|25370\n吮咂|0x0000|52439\n顺便|0x8000000|9020\n顺变|0x1000|0\n顺差|0x100000|12263\n顺产|0x1000|47498\n顺昌|0x0080|1314\n顺畅|0x40000000|13566\n顺次|0x8000000|48137\n顺从|0x40000000|14475\n顺带|0x1000|41330\n顺当|0x40000000|30209\n顺导|0x1000|1257\n顺道|0x1000|30645\n顺德|0x0040|947\n顺耳|0x40000000|34996\n顺访|0x1000|42788\n顺风|0x1000|19969\n顺服|0x40000000|49965\n顺和|0x0080|51147\n顺乎|0x1000|30441\n顺化|0x0040|1037\n顺脚|0x1000|48504\n顺境|0x100000|35425\n顺口|0x1000|19747\n顺利|0x40000000|1579\n顺溜|0x40000000|37239\n顺流|0x1000|26779\n顺路|0x1000|25726\n顺民|0x100000|33680\n顺平|0x0080|1515\n顺气|0x40000000|39167\n顺情|0x0000|51991\n顺时|0x8000000|1534\n顺式|0x100000|1118\n顺势|0x8000000|17725\n顺手|0x40000000|7966\n顺水|0x1000|23826\n顺遂|0x1000|42043\n顺位|0x0080|894\n顺心|0x40000000|18782\n顺序|0x100000|8247\n顺叙|0x0000|54487\n顺延|0x1000|37240\n顺眼|0x40000000|18308\n顺义|0x0080|1189\n顺意|0x40000000|53424\n顺应|0x1000|6662\n顺治|0x0008|831\n顺着|0x1000|561\n顺子|0x0080|1264\n顺嘴|0x8000000|997\n瞬即|0x8000000|978\n瞬间|0x4000|5890\n瞬刻|0x4000|1167\n瞬时|0x8000000|23611\n瞬态|0x0080|0\n瞬息|0x8000000|33436\n说吧|0x0000|671\n说白|0x100000|41791\n说唱|0x100000|21036\n说出|0x1000|498\n说穿|0x1000|25371\n说词|0x100000|502\n说辞|0x100000|39374\n说错|0x1000|660\n说到|0x0000|808\n说道|0x100000|2617\n说的|0x40000000|0\n说定|0x1000|853\n说动|0x1000|915\n说法|0x100000|2448\n说服|0x1000|6263\n说过|0x0000|814\n说好|0x1000|538\n说合|0x1000|37779\n说和|0x1000|19597\n说话|0x100000|1251\n说谎|0x1000|13128\n说教|0x1000|14706\n说开|0x1000|20630\n说客|0x100000|29564\n说来|0x1000|562\n说理|0x1000|18783\n说媒|0x1000|34096\n说明|0x1000|567\n说破|0x1000|26074\n说起|0x1000|504\n说亲|0x1000|44518\n说情|0x1000|17118\n说是|0x100000|496\n说书|0x1000|32303\n说说|0x1000|496\n说死|0x1000|938\n说头|0x0000|48505\n说完|0x1000|504\n说戏|0x1000|34097\n说项|0x1000|40651\n说笑|0x1000|14861\n说嘴|0x1000|50727\n烁烁|0x0100|865\n朔方|0x100000|23189\n朔风|0x100000|33316\n朔日|0x4000|37609\n朔望|0x4000|39168\n朔月|0x100000|1102\n朔州|0x0040|1286\n硕大|0x1000|14141\n硕果|0x100000|13736\n硕士|0x100000|5449\n硕鼠|0x100000|937\n蒴果|0x100000|1111\n嗽口|0x0008|1146\n丝虫|0x100000|1148\n丝绸|0x100000|10903\n丝带|0x100000|25151\n丝糕|0x100000|55466\n丝瓜|0x100000|32431\n丝光|0x100000|43034\n丝毫|0x400000|4320\n丝胶|0x4000000|0\n丝巾|0x100000|35277\n丝兰|0x0080|1111\n丝路|0x100000|723\n丝米|0x0080|1144\n丝绵|0x100000|974\n丝棉|0x0008|42296\n丝绒|0x100000|24724\n丝束|0x100000|1123\n丝丝|0x20000|571\n丝素|0x100000|1134\n丝袜|0x100000|25214\n丝网|0x100000|679\n丝弦|0x100000|41098\n丝线|0x100000|23391\n丝印|0x100000|699\n丝织|0x20000000|30317\n丝质|0x20000000|862\n丝竹|0x100000|29887\n丝状|0x100000|966\n丝锥|0x100000|913\n司长|0x100000|730\n司铎|0x100000|1194\n司法|0x100000|2093\n司号|0x100000|1306\n司机|0x100000|2285\n司考|0x0008|528\n司空|0x0080|574\n司寇|0x100000|436\n司库|0x100000|53425\n司令|0x100000|4394\n司炉|0x100000|34694\n司马|0x0080|13179\n司南|0x100000|994\n司书|0x100000|0\n司徒|0x0080|21643\n司务|0x100000|24398\n司药|0x100000|53426\n司仪|0x100000|32430\n私奔|0x1000|30646\n私弊|0x0080|1372\n私藏|0x100000|28136\n私产|0x100000|29788\n私娼|0x100000|1233\n私车|0x0000|43269\n私仇|0x100000|34695\n私处|0x0000|566\n私党|0x0080|36207\n私德|0x0080|1089\n私邸|0x100000|49237\n私斗|0x0080|0\n私法|0x100000|36714\n私方|0x100000|40652\n私房|0x100000|26219\n私访|0x1000|33823\n私费|0x100000|1240\n私分|0x1000|954\n私愤|0x100000|54489\n私股|0x100000|1539\n私函|0x0080|0\n私话|0x100000|46008\n私会|0x0008|437\n私活|0x100000|912\n私货|0x100000|31905\n私家|0x20000000|18406\n私见|0x100000|41331\n私交|0x100000|33970\n私刻|0x1000|1051\n私立|0x100000|17756\n私利|0x100000|10240\n私了|0x1000|36535\n私卖|0x1000|1160\n私拿|0x1000|2\n私囊|0x100000|38982\n私念|0x100000|48881\n私企|0x100000|25286\n私情|0x100000|22512\n私人|0x100000|3655\n私商|0x100000|45395\n私设|0x1000|949\n私事|0x100000|17119\n私淑|0x100000|1189\n私塾|0x100000|18475\n私通|0x1000|28405\n私图|0x0080|1267\n私吞|0x1000|47823\n私下|0x8000000|9160\n私枭|0x100000|1317\n私心|0x100000|17425\n私信|0x0080|687\n私刑|0x100000|39170\n私蓄|0x100000|1194\n私学|0x0000|52947\n私盐|0x100000|30863\n私益|0x0008|1\n私隐|0x0008|488\n私营|0x100000|4377\n私用|0x20000000|928\n私有|0x1000|10688\n私语|0x100000|25101\n私欲|0x100000|22899\n私怨|0x100000|43035\n私运|0x0080|368\n私宅|0x100000|39171\n私章|0x100000|42544\n私自|0x1000|11266\n咝咝|0x0080|454\n思辨|0x100000|20291\n思潮|0x100000|6971\n思春|0x0000|53949\n思忖|0x1000|18443\n思凡|0x0000|43988\n思古|0x1000|50728\n思过|0x1000|888\n思旧|0x1000|0\n思考|0x1000|1716\n思科|0x100000|1102\n思恋|0x1000|43270\n思量|0x1000|18159\n思路|0x100000|2284\n思虑|0x1000|21771\n思茅|0x0040|1298\n思谋|0x1000|35106\n思慕|0x1000|45698\n思南|0x0080|1514\n思念|0x100000|8566\n思亲|0x1000|830\n思情|0x100000|978\n思索|0x1000|5083\n思惟|0x100000|484\n思维|0x100000|2034\n思乡|0x1000|23771\n思想|0x100000|117\n思绪|0x100000|10562\n思议|0x1000|12279\n思源|0x0008|1222\n斯隆|0x0080|1538\n斯人|0x100000|769\n斯坦|0x0080|1240\n斯通|0x0080|1342\n斯托|0x0080|1318\n斯文|0x40000000|16565\n厮打|0x1000|31549\n厮混|0x1000|35278\n厮磨|0x0000|41792\n厮杀|0x1000|14038\n厮守|0x1000|26563\n厮熟|0x0000|52440\n嘶喊|0x1000|44232\n嘶叫|0x1000|29255\n嘶鸣|0x1000|29137\n嘶嘶|0x80000|900\n嘶哑|0x40000000|19533\n撕扯|0x1000|25152\n撕打|0x0000|40223\n撕掉|0x0000|521\n撕毁|0x1000|25848\n撕开|0x1000|706\n撕裂|0x1000|633\n撕票|0x1000|43989\n撕破|0x1000|761\n撕去|0x0000|481\n撕碎|0x1000|721\n撕下|0x1000|766\n撕咬|0x1000|807\n死板|0x40000000|24020\n死别|0x0000|452\n死产|0x1000|378\n死沉|0x40000000|43271\n死当|0x100000|1032\n死党|0x100000|26220\n死敌|0x100000|37978\n死地|0x100000|16608\n死点|0x100000|1087\n死掉|0x0000|622\n死谷|0x0000|400\n死光|0x1000|816\n死鬼|0x100000|21870\n死海|0x0040|1389\n死耗|0x100000|0\n死缓|0x100000|33569\n死灰|0x100000|32432\n死活|0x100000|13704\n死机|0x1000|52441\n死记|0x1000|48506\n死寂|0x40000000|23665\n死角|0x100000|15607\n死节|0x1000|1033\n死结|0x100000|34383\n死局|0x100000|1028\n死扣|0x100000|1089\n死牢|0x100000|50729\n死理|0x100000|974\n死力|0x0000|33971\n死了|0x0000|841\n死灵|0x100000|797\n死路|0x100000|28137\n死面|0x100000|51992\n死灭|0x1000|39601\n死命|0x100000|22849\n死难|0x100000|26483\n死期|0x100000|33165\n死棋|0x100000|49967\n死气|0x0000|29671\n死契|0x100000|1321\n死前|0x0000|573\n死钱|0x100000|49968\n死囚|0x100000|34098\n死球|0x100000|52443\n死区|0x100000|1099\n死去|0x1000|523\n死人|0x800000|6728\n死伤|0x100000|12411\n死神|0x100000|14675\n死尸|0x100000|15709\n死守|0x1000|16639\n死水|0x100000|28870\n死死|0x8000000|631\n死锁|0x0008|1486\n死胎|0x100000|48142\n死亡|0x1000|1210\n死物|0x100000|973\n死巷|0x100000|1101\n死心|0x1000|20711\n死信|0x100000|51149\n死刑|0x100000|6290\n死性|0x0000|53950\n死讯|0x100000|35107\n死因|0x100000|22956\n死硬|0x40000000|43990\n死于|0x0000|665\n死战|0x100000|28307\n死仗|0x100000|1534\n死账|0x100000|1193\n死者|0x100000|6648\n死症|0x100000|1247\n死罪|0x100000|18667\n巳时|0x4000|43272\n四白|0x400008|0\n四百|0x600000|23\n四瓣|0x400000|0\n四壁|0x500000|3\n四边|0x400000|30971\n四部|0x400000|10\n四出|0x0000|22022\n四处|0x400000|5379\n四川|0x400040|1832\n四次|0x40000000|659\n四大|0x400000|486\n四谛|0x400000|1027\n四点|0x400000|645\n四端|0x400000|0\n四方|0x400000|7892\n四个|0x400000|849\n四顾|0x0000|21170\n四海|0x500000|9439\n四呼|0x400000|1331\n四化|0x0000|13199\n四会|0x400040|11\n四季|0x400000|9989\n四溅|0x0000|29258\n四郊|0x500000|42545\n四角|0x0000|21644\n四近|0x0000|49969\n四孔|0x400000|0\n四邻|0x500000|23453\n四六|0x600000|3\n四路|0x400000|1282\n四面|0x400000|7222\n四旁|0x2400000|46288\n四平|0x400040|17\n四起|0x0000|33317\n四千|0x600000|19\n四强|0x400008|138\n四清|0x0000|22646\n四散|0x401000|18911\n四射|0x401000|19198\n四声|0x400000|873\n四十|0x600000|77\n四时|0x400000|20451\n四式|0x400000|0\n四书|0x500000|25153\n四套|0x400000|510\n四体|0x500000|0\n四通|0x400008|2\n四外|0x0000|27406\n四万|0x600000|12\n四望|0x401000|0\n四围|0x100000|17726\n四五|0x400000|629\n四下|0x400000|732\n四乡|0x0000|28308\n四项|0x400000|633\n四野|0x100000|28571\n四亿|0x600000|1\n四月|0x400000|497\n四则|0x400000|46580\n四肢|0x500000|10554\n四至|0x0000|39602\n四周|0x400000|4271\n四座|0x0000|29138\n寺观|0x100000|40880\n寺庙|0x100000|12198\n寺院|0x100000|13705\n伺奉|0x1000|1152\n伺服|0x1000|700\n伺候|0x1000|8305\n伺机|0x1000|20712\n伺弄|0x0000|55613\n伺隙|0x1000|0\n似的|0x0000|1692\n似钢|0x0080|0\n似乎|0x8000000|620\n似曾|0x8000000|864\n泗洪|0x0080|1426\n泗水|0x0080|1368\n泗县|0x0040|1453\n泗阳|0x0080|1434\n饲草|0x100000|19002\n饲料|0x100000|4501\n饲喂|0x1000|978\n饲养|0x1000|5814\n饲育|0x1000|1072\n驷马|0x100000|1000\n嗣后|0x8000000|24021\n嗣位|0x1000|20415\n嗣子|0x0080|33570\n肆力|0x8000000|0\n肆虐|0x1000|10570\n肆行|0x0000|39375\n肆意|0x1000|13200\n肆应|0x0008|0\n松巴|0x100000|1287\n松柏|0x100000|20452\n松绑|0x1000|31782\n松包|0x0000|55468\n松饼|0x0008|0\n松弛|0x40000000|12599\n松驰|0x100000|895\n松脆|0x40000000|50340\n松动|0x1000|17539\n松果|0x100000|903\n松虎|0x0080|1346\n松花|0x100000|742\n松缓|0x40000000|1\n松鸡|0x100000|1099\n松江|0x0040|1059\n松胶|0x0080|0\n松节|0x100000|1229\n松紧|0x100000|33972\n松劲|0x1000|26221\n松开|0x1000|639\n松科|0x100000|1088\n松口|0x1000|32433\n松扣|0x1000|1372\n松快|0x40000000|36208\n松林|0x100000|1240\n松萝|0x0080|1060\n松明|0x100000|41333\n松木|0x4000000|505\n松潘|0x0040|1472\n松气|0x1000|50341\n松球|0x0080|1193\n松仁|0x100000|55896\n松软|0x40000000|18629\n松散|0x40000000|16003\n松山|0x0040|1261\n松手|0x1000|22296\n松鼠|0x100000|21037\n松树|0x100000|11126\n松松|0x1000|675\n松塔|0x100000|1120\n松涛|0x100000|30647\n松土|0x1000|30318\n松溪|0x0080|1539\n松下|0x100000|576\n松闲|0x40000000|0\n松香|0x100000|37981\n松懈|0x40000000|11681\n松心|0x1000|45103\n松蕈|0x100000|1400\n松烟|0x0080|53429\n松阳|0x0080|1477\n松叶|0x0080|1029\n松油|0x100000|1091\n松鱼|0x0008|1299\n松原|0x0040|1322\n松针|0x100000|35566\n松枝|0x100000|31907\n松脂|0x100000|42546\n松滋|0x0040|1459\n松子|0x100000|39377\n松嘴|0x1000|1240\n嵩明|0x0080|976\n嵩山|0x0040|24462\n嵩县|0x0040|1507\n怂恿|0x1000|14128\n悚惧|0x40000000|1176\n悚然|0x0100|19407\n耸动|0x1000|33973\n耸肩|0x1000|20549\n耸立|0x1000|14226\n耸入|0x1000|0\n耸身|0x0000|48145\n耸耸|0x1000|708\n耸听|0x1000|1134\n耸峙|0x1000|1054\n竦动|0x1000|0\n竦惧|0x40000000|0\n竦立|0x1000|0\n竦然|0x0100|0\n讼案|0x100000|51567\n讼词|0x100000|1411\n讼棍|0x100000|1217\n讼师|0x100000|1091\n讼事|0x100000|1229\n宋朝|0x4000|758\n宋词|0x100000|721\n宋代|0x4000|710\n宋人|0x100000|878\n宋史|0x100000|1485\n宋书|0x0000|414\n宋元|0x4000|835\n诵读|0x1000|19003\n诵经|0x1000|24145\n送报|0x1000|1008\n送别|0x1000|17270\n送殡|0x1000|33040\n送呈|0x1000|49970\n送出|0x0000|654\n送达|0x1000|12059\n送到|0x1000|514\n送电|0x1000|18726\n送风|0x1000|39378\n送给|0x1000|495\n送股|0x1000|544\n送还|0x1000|25287\n送回|0x1000|703\n送货|0x1000|20453\n送检|0x1000|41560\n送交|0x1000|15746\n送进|0x0000|636\n送经|0x100000|1167\n送客|0x1000|24912\n送来|0x1000|599\n送礼|0x1000|9153\n送粮|0x1000|1127\n送命|0x1000|34384\n送气|0x1000|39789\n送亲|0x1000|36715\n送情|0x1000|1\n送人|0x0000|587\n送入|0x1000|744\n送丧|0x1000|44233\n送审|0x1000|24463\n送死|0x1000|26484\n送往|0x1000|707\n送信|0x1000|841\n送行|0x1000|8034\n送葬|0x1000|22233\n送灶|0x0000|46582\n送展|0x0000|52444\n送站|0x0000|51568\n送终|0x1000|30442\n送走|0x1000|645\n颂词|0x100000|41561\n颂辞|0x0080|0\n颂德|0x1000|1116\n颂歌|0x100000|20329\n颂诗|0x100000|49600\n颂扬|0x1000|17049\n颂杨|0x0080|0\n颂赞|0x0000|46010\n嗖嗖|0x80000|814\n搜捕|0x1000|17513\n搜查|0x1000|11336\n搜出|0x0000|555\n搜刮|0x1000|30098\n搜狐|0x0008|734\n搜集|0x1000|7562\n搜检|0x1000|1184\n搜剿|0x1000|1263\n搜缴|0x1000|55470\n搜救|0x1000|12534\n搜括|0x1000|1062\n搜罗|0x1000|26222\n搜拿|0x0000|55471\n搜求|0x1000|37610\n搜身|0x1000|31328\n搜索|0x4000000|8978\n搜寻|0x1000|9610\n飕飕|0x80000|847\n艘次|0x20000|1154\n嗾使|0x1000|39172\n苏白|0x100000|0\n苏北|0x0040|1234\n苏打|0x100000|38359\n苏丹|0x100000|1258\n苏旦|0x0080|0\n苏堤|0x0080|1392\n苏俄|0x0008|1491\n苏剧|0x100000|54946\n苏军|0x0008|870\n苏联|0x0040|2277\n苏木|0x100000|1496\n苏南|0x0040|1349\n苏佩|0x0080|0\n苏秦|0x100000|1491\n苏区|0x100000|13220\n苏珊|0x0080|1342\n苏铁|0x100000|42547\n苏瓦|0x0040|1094\n苏醒|0x1000|14947\n苏绣|0x100000|41793\n苏中|0x0040|1395\n苏州|0x0040|768\n苏子|0x0080|974\n酥脆|0x40000000|43037\n酥麻|0x1000|48146\n酥软|0x40000000|37242\n酥松|0x40000000|1092\n酥糖|0x100000|48883\n酥油|0x100000|32683\n俗称|0x100000|11643\n俗话|0x100000|20416\n俗家|0x100000|931\n俗例|0x100000|0\n俗名|0x100000|34998\n俗气|0x40000000|18881\n俗曲|0x100000|0\n俗人|0x100000|24399\n俗尚|0x100000|54947\n俗事|0x100000|480\n俗态|0x100000|1275\n俗套|0x100000|31329\n俗体|0x20000000|0\n俗务|0x100000|978\n俗物|0x100000|980\n俗艳|0x40000000|1014\n俗谚|0x0000|44520\n俗语|0x100000|15865\n俗子|0x100000|0\n俗字|0x100000|1092\n夙仇|0x0080|1201\n夙诺|0x100000|1422\n夙嫌|0x100000|1537\n夙夜|0x100000|43038\n夙愿|0x100000|18928\n诉苦|0x1000|17143\n诉请|0x1000|1016\n诉求|0x1000|19376\n诉述|0x1000|1188\n诉说|0x1000|8433\n诉讼|0x1000|3313\n诉冤|0x1000|41563\n诉愿|0x1000|1151\n诉诸|0x1000|19498\n诉状|0x100000|19712\n肃毒|0x0000|45396\n肃反|0x1000|28871\n肃静|0x40000000|22900\n肃立|0x1000|19860\n肃穆|0x40000000|13201\n肃宁|0x0080|1507\n肃清|0x1000|16350\n肃然|0x0100|23772\n肃杀|0x40000000|33318\n素白|0x100000|44235\n素材|0x100000|10749\n素菜|0x100000|32813\n素餐|0x100000|49241\n素常|0x8000000|46289\n素称|0x1000|35426\n素淡|0x40000000|46584\n素缎|0x0080|1232\n素服|0x100000|1019\n素裹|0x1000|827\n素鸡|0x0080|1046\n素洁|0x40000000|50342\n素净|0x40000000|33681\n素酒|0x100000|1262\n素来|0x8000000|16699\n素描|0x100000|16700\n素朴|0x40000000|27407\n素日|0x8000000|44236\n素色|0x100000|41099\n素食|0x100000|32047\n素数|0x100000|996\n素问|0x100000|964\n素席|0x100000|1239\n素心|0x100000|906\n素性|0x100000|1106\n素雅|0x40000000|34696\n素仰|0x0008|0\n素养|0x100000|8255\n素油|0x100000|55473\n素有|0x1000|9145\n素愿|0x100000|53430\n素志|0x100000|1152\n素质|0x100000|1345\n素装|0x100000|51569\n速比|0x100000|945\n速成|0x20000000|23666\n速递|0x100000|5176\n速冻|0x1000|28572\n速读|0x0000|502\n速度|0x100000|1148\n速滑|0x1000|18043\n速记|0x1000|43273\n速决|0x1000|43274\n速率|0x100000|12301\n速描|0x100000|1133\n速溶|0x1000|47826\n速射|0x1000|43516\n速生|0x0000|31908\n速食|0x20000000|771\n速算|0x100000|36373\n速效|0x100000|31214\n速写|0x100000|18929\n宿弊|0x100000|1223\n宿娼|0x1000|1215\n宿仇|0x100000|53952\n宿处|0x100000|0\n宿敌|0x100000|38754\n宿根|0x100000|1022\n宿疾|0x100000|54491\n宿将|0x100000|31440\n宿命|0x100000|27314\n宿迁|0x100000|1120\n宿儒|0x100000|1178\n宿舍|0x100000|3522\n宿松|0x0080|1462\n宿昔|0x4000|0\n宿县|0x0040|1003\n宿夜|0x1000|1142\n宿营|0x1000|24074\n宿缘|0x100000|1064\n宿怨|0x100000|45104\n宿愿|0x100000|932\n宿债|0x100000|1177\n宿志|0x100000|1384\n宿州|0x0040|1170\n宿主|0x100000|24251\n宿醉|0x1000|857\n粟米|0x100000|43275\n粟子|0x100000|55825\n嗉囊|0x100000|55474\n嗉子|0x100000|1292\n塑成|0x1000|2\n塑封|0x100000|46891\n塑钢|0x100000|48147\n塑化|0x100000|808\n塑胶|0x100000|27485\n塑炼|0x100000|0\n塑料|0x100000|5303\n塑木|0x0008|1464\n塑像|0x100000|11954\n塑性|0x100000|29565\n塑造|0x1000|3805\n溯流|0x1000|0\n溯源|0x1000|833\n簌簌|0x1000|23191\n狻猊|0x100000|1024\n酸败|0x1000|1083\n酸鼻|0x1000|0\n酸菜|0x100000|24075\n酸臭|0x0100|42548\n酸楚|0x40000000|19713\n酸豆|0x100000|1212\n酸度|0x100000|841\n酸腐|0x40000000|1027\n酸酐|0x100000|957\n酸根|0x100000|1177\n酸化|0x1000|927\n酸碱|0x100000|729\n酸苦|0x40000000|36884\n酸懒|0x1000|0\n酸麻|0x40000000|45105\n酸梅|0x100000|38360\n酸奶|0x100000|29889\n酸乳|0x100000|964\n酸软|0x40000000|37983\n酸涩|0x40000000|37072\n酸酸|0x0100|636\n酸疼|0x0100|842\n酸甜|0x100000|20417\n酸痛|0x40000000|20455\n酸味|0x100000|38361\n酸洗|0x100000|895\n酸心|0x1000|0\n酸辛|0x40000000|1070\n酸性|0x100000|18309\n酸雨|0x100000|17050\n酸枣|0x100000|25154\n酸胀|0x0000|49971\n酸值|0x0008|1104\n蒜瓣|0x100000|1028\n蒜毫|0x100000|0\n蒜黄|0x100000|52446\n蒜苗|0x100000|37424\n蒜泥|0x100000|50732\n蒜蓉|0x100000|931\n蒜薹|0x100000|38559\n蒜头|0x100000|37073\n算草|0x100000|55475\n算尺|0x0000|54492\n算错|0x0000|491\n算得|0x1000|648\n算法|0x100000|16384\n算卦|0x1000|32304\n算话|0x0000|34532\n算计|0x1000|15820\n算进|0x1000|5\n算了|0x1000|4227\n算命|0x1000|13157\n算盘|0x100000|14282\n算清|0x1000|995\n算入|0x0000|410\n算式|0x100000|43517\n算是|0x1000|2704\n算术|0x100000|18541\n算数|0x1000|14802\n算算|0x1000|673\n算题|0x100000|398\n算学|0x100000|1043\n算帐|0x0008|745\n算账|0x1000|12886\n算子|0x100000|858\n算作|0x1000|770\n虽然|0x10000000|211\n虽说|0x10000000|5193\n虽则|0x10000000|19261\n睢宁|0x0080|1418\n睢县|0x0040|993\n濉溪|0x0080|1472\n绥滨|0x0080|1048\n绥德|0x0080|990\n绥化|0x0040|1291\n绥江|0x0080|1040\n绥靖|0x1000|1001\n绥棱|0x0080|1023\n绥宁|0x0080|1004\n绥阳|0x0080|1039\n绥远|0x100000|1018\n绥中|0x0080|1533\n隋朝|0x4000|875\n隋代|0x4000|953\n隋书|0x0000|425\n隋唐|0x4000|769\n随笔|0x100000|10786\n随便|0x40000000|3144\n随处|0x8000000|18853\n随从|0x100000|16020\n随带|0x1000|1022\n随地|0x8000000|15214\n随访|0x1000|27486\n随感|0x100000|17671\n随和|0x40000000|20210\n随后|0x8000000|2019\n随机|0x8000000|9561\n随即|0x8000000|3516\n随记|0x1000|861\n随军|0x1000|13374\n随口|0x8000000|12072\n随你|0x0000|623\n随迁|0x0000|46585\n随群|0x1000|1278\n随身|0x20000000|9806\n随时|0x8000000|2333\n随侍|0x0000|484\n随手|0x8000000|8161\n随顺|0x40000000|1012\n随俗|0x1000|37780\n随同|0x1000|12105\n随喜|0x1000|929\n随想|0x100000|32174\n随心|0x1000|19262\n随行|0x1000|11103\n随意|0x40000000|3926\n随员|0x100000|32175\n随缘|0x0000|39792\n随葬|0x1000|33319\n随之|0x8000000|560\n随州|0x0040|1206\n随着|0x40000|411\n髓海|0x0008|0\n髓鞘|0x100000|1100\n髓石|0x0080|0\n髓室|0x0080|0\n髓质|0x0000|396\n岁差|0x100000|1132\n岁出|0x100000|1108\n岁初|0x4000|52447\n岁除|0x4000|1055\n岁寒|0x4000|943\n岁末|0x4000|15254\n岁暮|0x100000|39174\n岁入|0x100000|966\n岁首|0x4000|37985\n岁数|0x100000|12811\n岁岁|0x20000|732\n岁尾|0x4000|33682\n岁星|0x0008|1092\n岁修|0x1000|1208\n岁序|0x100000|1254\n岁月|0x100000|3848\n遂昌|0x0080|1464\n遂川|0x100000|1546\n遂宁|0x0040|772\n遂平|0x0080|1522\n遂溪|0x0080|1510\n遂心|0x40000000|44237\n遂行|0x1000|1014\n遂意|0x40000000|54494\n遂愿|0x1000|50733\n碎波|0x0080|0\n碎布|0x0080|447\n碎步|0x100000|37244\n碎花|0x100000|29051\n碎块|0x100000|930\n碎裂|0x1000|30319\n碎米|0x100000|978\n碎末|0x0080|962\n碎片|0x100000|11666\n碎肉|0x0000|473\n碎石|0x100000|21013\n碎碎|0x0080|676\n碎小|0x40000000|0\n碎屑|0x0008|28407\n碎银|0x100000|997\n碎砖|0x100000|1060\n隧道|0x100000|5718\n隧洞|0x100000|32562\n燧道|0x0040|0\n燧石|0x100000|40012\n穗选|0x0008|1536\n穗状|0x100000|0\n穗子|0x100000|33320\n邃密|0x100000|0\n邃远|0x40000000|1241\n孙辈|0x100000|996\n孙膑|0x0080|474\n孙儿|0x100000|880\n孙女|0x100000|14411\n孙吴|0x0040|992\n孙子|0x100000|5658\n损害|0x1000|2383\n损耗|0x1000|16061\n损坏|0x1000|8849\n损毁|0x1000|18630\n损人|0x1000|25662\n损伤|0x100000|8179\n损失|0x100000|1205\n损益|0x100000|31215\n损友|0x0008|1296\n笋干|0x100000|930\n笋瓜|0x100000|1232\n笋鸡|0x100000|1228\n笋尖|0x100000|1078\n笋衣|0x0008|0\n笋子|0x100000|1048\n榫头|0x100000|53955\n榫眼|0x100000|1278\n榫子|0x100000|1539\n唆使|0x1000|23091\n桫椤|0x100000|39379\n梭镖|0x100000|35881\n梭哈|0x100000|942\n梭曼|0x0008|0\n梭梭|0x20000|1020\n梭巡|0x1000|1145\n梭鱼|0x100000|1059\n梭子|0x100000|33321\n羧化|0x0080|0\n羧基|0x100000|1048\n羧酶|0x0080|0\n羧酸|0x100000|889\n蓑衣|0x100000|31087\n缩编|0x1000|43991\n缩尺|0x100000|1307\n缩短|0x1000|5141\n缩放|0x100000|737\n缩合|0x0000|415\n缩回|0x1000|781\n缩减|0x1000|18669\n缩简|0x1000|0\n缩紧|0x1000|934\n缩进|0x1000|821\n缩颈|0x0008|0\n缩聚|0x1000|1116\n缩孔|0x100000|1160\n缩略|0x100000|45700\n缩排|0x0000|381\n缩手|0x1000|38561\n缩水|0x1000|22023\n缩缩|0x1000|593\n缩酮|0x4000000|0\n缩头|0x100000|878\n缩图|0x0000|491\n缩微|0x100000|43276\n缩小|0x1000|4460\n缩写|0x100000|21014\n缩印|0x1000|53957\n缩影|0x100000|9349\n所部|0x100000|25288\n所长|0x100000|630\n所得|0x100000|3883\n所画|0x0000|483\n所及|0x0000|575\n所求|0x100000|722\n所说|0x100000|498\n所思|0x100000|711\n所谓|0x1000|612\n所想|0x100000|597\n所向|0x1000|852\n所幸|0x10000000|694\n所学|0x100000|637\n所以|0x10000000|262\n所用|0x20000000|605\n所有|0x1000|268\n所在|0x100000|1868\n所知|0x100000|629\n所指|0x100000|693\n所致|0x1000|8792\n所属|0x1000|9328\n唢呐|0x100000|17493\n索酬|0x0000|54495\n索道|0x100000|20588\n索购|0x1000|1024\n索还|0x1000|40013\n索回|0x1000|1001\n索贿|0x1000|27965\n索价|0x1000|46290\n索解|0x0000|40881\n索尼|0x0008|851\n索赔|0x1000|13737\n索桥|0x100000|39603\n索求|0x1000|48509\n索取|0x1000|11104\n索然|0x40000000|26923\n索索|0x0100|1416\n索讨|0x0000|52450\n索烃|0x100000|0\n索县|0x0040|1172\n索性|0x8000000|6256\n索要|0x1000|12965\n索易|0x0008|1030\n索引|0x100000|26355\n索债|0x1000|1050\n琐事|0x100000|17182\n琐碎|0x40000000|15799\n琐琐|0x8000000|787\n琐闻|0x0008|51151\n琐细|0x40000000|39793\n琐屑|0x40000000|30754\n锁边|0x1000|52951\n锁匙|0x0008|1483\n锁定|0x1000|13229\n锁骨|0x100000|38755\n锁国|0x1000|41100\n锁簧|0x100000|1257\n锁匠|0x100000|961\n锁孔|0x100000|890\n锁链|0x100000|27072\n锁门|0x1000|782\n锁上|0x1000|780\n锁头|0x100000|48510\n锁眼|0x100000|1026\n锁阳|0x100000|1038\n锁钥|0x100000|45701\n锁住|0x0000|590\n他处|0x10000|866\n他方|0x10000|849\n他国|0x0008|809\n他家|0x0008|598\n他将|0x0000|726\n他俩|0x10000|663\n他律|0x1000|1030\n他们|0x10000|31\n他年|0x4000|47827\n他人|0x10000|2158\n他日|0x4000|18477\n他杀|0x100000|21451\n他伤|0x0000|50735\n他是|0x0000|873\n他物|0x100000|963\n他乡|0x100000|18044\n他用|0x100000|21922\n他指|0x0000|13626\n它将|0x0000|659\n它们|0x10000|479\n它是|0x0000|802\n趿拉|0x1000|43518\n塌方|0x1000|19408\n塌架|0x1000|0\n塌落|0x1000|45106\n塌实|0x40000000|534\n塌台|0x1000|1229\n塌陷|0x1000|18011\n塌心|0x40000000|0\n塔崩|0x0008|0\n塔城|0x0040|1400\n塔吊|0x100000|35108\n塔顶|0x100000|33572\n塔河|0x0040|1539\n塔尖|0x100000|910\n塔林|0x100000|35882\n塔楼|0x100000|31674\n塔轮|0x100000|1232\n塔门|0x0040|1096\n塔式|0x20000000|867\n塔松|0x0000|48885\n塔台|0x100000|38756\n塔钟|0x100000|1200\n塔座|0x100000|1144\n獭祭|0x100000|0\n獭皮|0x0080|0\n獭兔|0x100000|462\n挞伐|0x1000|38757\n踏板|0x100000|23454\n踏遍|0x1000|823\n踏步|0x100000|29789\n踏春|0x1000|49603\n踏错|0x0000|415\n踏访|0x1000|30320\n踏歌|0x1000|886\n踏过|0x0000|505\n踏勘|0x1000|31783\n踏看|0x1000|52952\n踏空|0x0000|49242\n踏平|0x1000|851\n踏破|0x1000|846\n踏青|0x1000|30321\n踏入|0x1000|636\n踏上|0x1000|543\n踏实|0x40000000|7954\n踏踏|0x0008|1117\n踏雪|0x1000|30649\n踏月|0x1000|1003\n踏足|0x1000|821\n骀荡|0x1000|0\n胎动|0x1000|49604\n胎毒|0x100000|1170\n胎儿|0x100000|11843\n胎发|0x100000|53432\n胎记|0x100000|44816\n胎教|0x100000|44521\n胎具|0x100000|1297\n胎毛|0x100000|52953\n胎膜|0x100000|1065\n胎盘|0x100000|25663\n胎气|0x100000|50736\n胎生|0x1000|37246\n胎位|0x100000|51152\n胎衣|0x100000|52954\n胎痣|0x100000|1262\n胎座|0x100000|1329\n台安|0x0080|1491\n台胞|0x100000|13794\n台北|0x0040|6186\n台本|0x100000|1071\n台笔|0x100000|1113\n台币|0x100000|727\n台标|0x0008|990\n台布|0x100000|34386\n台步|0x100000|38758\n台长|0x100000|715\n台车|0x100000|791\n台秤|0x100000|55826\n台词|0x100000|13707\n台岛|0x0040|1011\n台灯|0x100000|20064\n台地|0x100000|33573\n台东|0x0040|1234\n台独|0x100000|726\n台风|0x100000|7426\n台甫|0x100000|1267\n台阁|0x100000|1064\n台海|0x100000|714\n台基|0x100000|40014\n台驾|0x100000|0\n台架|0x100000|1009\n台鉴|0x1000|53433\n台江|0x0040|1384\n台阶|0x100000|3414\n台斤|0x0008|0\n台历|0x100000|33166\n台联|0x100000|869\n台盟|0x0020|1064\n台面|0x100000|28957\n台南|0x0040|1126\n台盘|0x0000|49605\n台前|0x1000000|693\n台钳|0x100000|1170\n台球|0x100000|19263\n台山|0x0040|1184\n台扇|0x100000|52955\n台商|0x100000|7593\n台上|0x8000|4874\n台式|0x20000000|23612\n台湾|0x0040|851\n台网|0x100000|1004\n台下|0x8000|7315\n台榭|0x100000|1024\n台语|0x0008|928\n台账|0x100000|1009\n台中|0x0040|11\n台钟|0x100000|1110\n台州|0x0040|901\n台属|0x20000000|41565\n台柱|0x100000|38759\n台资|0x100000|18012\n台子|0x100000|16062\n台钻|0x0008|1037\n台座|0x100000|1010\n抬爱|0x1000|51993\n抬秤|0x100000|1535\n抬杠|0x1000|30211\n抬高|0x1000|706\n抬价|0x1000|41334\n抬肩|0x100000|1263\n抬轿|0x0000|37074\n抬举|0x1000|23613\n抬筐|0x100000|1405\n抬起|0x1000|541\n抬升|0x1000|927\n抬手|0x1000|763\n抬头|0x100000|4045\n抬腿|0x0000|29052\n苔绿|0x100000|0\n苔藓|0x100000|23508\n苔原|0x100000|1119\n太白|0x0008|1184\n太保|0x100000|789\n太仓|0x0040|1128\n太长|0x0000|649\n太迟|0x0000|570\n太冲|0x100000|1009\n太初|0x0008|1534\n太大|0x0000|779\n太多|0x0000|898\n太傅|0x100000|925\n太钢|0x100000|878\n太公|0x100000|24076\n太古|0x100000|27883\n太谷|0x0008|1432\n太过|0x0000|758\n太和|0x100000|1152\n太后|0x100000|5660\n太湖|0x0040|1064\n太极|0x100000|11808\n太监|0x100000|26376\n太君|0x100000|943\n太康|0x0008|1400\n太空|0x100000|5216\n太牢|0x100000|0\n太忙|0x0000|582\n太妹|0x0008|1437\n太庙|0x100000|25102\n太平|0x40000000|6047\n太婆|0x100000|49606\n太甚|0x8000000|26356\n太师|0x100000|879\n太守|0x100000|1280\n太叔|0x0080|0\n太岁|0x100000|839\n太太|0x100000|2628\n太尉|0x100000|883\n太息|0x1000|28573\n太溪|0x0008|1212\n太行|0x0008|1142\n太虚|0x100000|38164\n太学|0x100000|958\n太阳|0x100000|1285\n太爷|0x100000|23455\n太医|0x100000|712\n太乙|0x0000|538\n太阴|0x100000|44522\n太渊|0x0008|1211\n太原|0x0040|4447\n太早|0x0000|615\n太子|0x100000|4655\n太祖|0x100000|788\n太座|0x0008|0\n态度|0x100000|562\n态势|0x100000|4866\n肽酶|0x100000|1093\n钛白|0x100000|35883\n泰安|0x0040|1016\n泰斗|0x100000|24400\n泰国|0x0040|3105\n泰和|0x100000|1261\n泰来|0x0008|1387\n泰勒|0x0080|1274\n泰宁|0x0040|1483\n泰拳|0x100000|868\n泰然|0x40000000|29355\n泰山|0x100000|8560\n泰顺|0x0040|1390\n泰兴|0x0040|1139\n泰语|0x100000|899\n泰州|0x0040|1027\n泰铢|0x100000|458\n泰族|0x0008|1199\n坍方|0x1000|1145\n坍塌|0x1000|15570\n坍台|0x1000|976\n坍陷|0x1000|52958\n贪杯|0x40000000|43753\n贪财|0x40000000|29139\n贪吃|0x40000000|33439\n贪渎|0x0008|1\n贪多|0x1000|914\n贪官|0x100000|14546\n贪狠|0x40000000|0\n贪贿|0x1000|1\n贪婪|0x40000000|10999\n贪恋|0x1000|30755\n贪墨|0x1000|1143\n贪求|0x1000|49972\n贪色|0x1000|43278\n贪生|0x1000|417\n贪食|0x0000|434\n贪睡|0x0000|45108\n贪图|0x1000|14039\n贪玩|0x40000000|702\n贪污|0x1000|5673\n贪小|0x0000|46011\n贪心|0x40000000|31784\n贪欲|0x100000|25592\n贪赃|0x1000|1103\n贪占|0x1000|49608\n贪嘴|0x40000000|43992\n摊档|0x100000|45703\n摊点|0x100000|16043\n摊贩|0x100000|22335\n摊放|0x0000|48886\n摊还|0x0000|379\n摊开|0x1000|709\n摊牌|0x1000|32563\n摊派|0x1000|9933\n摊商|0x100000|1245\n摊上|0x1000|522\n摊售|0x1000|2\n摊摊|0x20000|457\n摊位|0x100000|11751\n摊销|0x100000|934\n摊主|0x100000|17850\n摊子|0x100000|12024\n滩地|0x100000|28491\n滩簧|0x100000|1287\n滩脊|0x0008|0\n滩头|0x100000|28492\n滩涂|0x100000|14689\n滩羊|0x100000|52959\n瘫痪|0x1000|9579\n瘫软|0x1000|25155\n瘫子|0x100000|44239\n坛场|0x0000|373\n坛主|0x100000|843\n坛子|0x100000|20550\n昙花|0x100000|39176\n谈到|0x1000|544\n谈定|0x1000|1043\n谈锋|0x100000|40016\n谈话|0x1000|1489\n谈及|0x1000|9717\n谈开|0x0000|43754\n谈论|0x1000|6192\n谈判|0x1000|2242\n谈起|0x1000|606\n谈谈|0x1000|537\n谈天|0x1000|20030\n谈吐|0x100000|21542\n谈妥|0x0000|502\n谈笑|0x1000|693\n谈心|0x1000|9287\n谈兴|0x100000|39381\n谈助|0x100000|1266\n谈资|0x100000|38562\n郯城|0x0040|1338\n痰喘|0x0008|1172\n痰厥|0x100000|1330\n痰气|0x100000|0\n痰桶|0x100000|1255\n痰饮|0x0008|0\n痰盂|0x100000|22698\n潭水|0x100000|873\n潭影|0x100000|1087\n潭子|0x100000|1504\n檀板|0x100000|1113\n檀郎|0x100000|1051\n檀木|0x100000|33574\n檀香|0x100000|25507\n檀越|0x100000|1138\n忐忑|0x40000000|27000\n坦白|0x1000|10416\n坦陈|0x0000|34100\n坦承|0x1000|36537\n坦诚|0x40000000|10212\n坦荡|0x40000000|17951\n坦缓|0x40000000|1361\n坦克|0x100000|7297\n坦露|0x0000|45399\n坦率|0x40000000|10433\n坦然|0x40000000|9807\n坦实|0x40000000|0\n坦途|0x100000|28408\n坦言|0x100000|14070\n坦直|0x40000000|51997\n坦洲|0x0040|429\n袒护|0x1000|20211\n袒露|0x1000|21977\n毯子|0x100000|21599\n叹词|0x100000|55827\n叹服|0x1000|26357\n叹号|0x0000|36886\n叹绝|0x1000|1\n叹气|0x1000|12877\n叹赏|0x1000|41102\n叹惋|0x1000|1020\n叹息|0x1000|5571\n叹惜|0x1000|33824\n叹羡|0x1000|0\n炭笔|0x100000|54499\n炭黑|0x0000|53436\n炭化|0x1000|50343\n炭画|0x0000|53959\n炭火|0x100000|22850\n炭精|0x100000|1186\n炭疽|0x100000|19749\n炭炉|0x100000|1105\n炭盆|0x100000|50344\n炭刷|0x0008|1340\n炭素|0x100000|884\n炭窑|0x100000|48512\n炭渣|0x100000|1306\n探案|0x1000|48513\n探病|0x1000|36718\n探测|0x1000|6623\n探查|0x1000|32564\n探察|0x1000|41796\n探长|0x100000|931\n探出|0x0000|628\n探底|0x1000|878\n探访|0x1000|18930\n探风|0x1000|55828\n探杆|0x0008|1304\n探戈|0x100000|37076\n探花|0x100000|825\n探家|0x1000|31551\n探监|0x1000|33684\n探井|0x100000|36538\n探究|0x1000|13615\n探勘|0x1000|1038\n探看|0x1000|975\n探矿|0x1000|26565\n探雷|0x0000|46587\n探路|0x1000|27804\n探马|0x100000|1030\n探秘|0x1000|37425\n探明|0x1000|824\n探摸|0x1000|1162\n探亲|0x1000|10058\n探求|0x1000|14089\n探伤|0x1000|48514\n探身|0x1000|33167\n探胜|0x1000|52451\n探视|0x1000|17161\n探索|0x1000|1435\n探讨|0x1000|2672\n探听|0x1000|16084\n探头|0x4000000|16911\n探望|0x1000|10329\n探问|0x1000|21687\n探析|0x100000|802\n探悉|0x1000|32177\n探险|0x1000|10681\n探寻|0x1000|14948\n探询|0x1000|25664\n探幽|0x1000|45704\n探源|0x1000|905\n探针|0x100000|32565\n探知|0x1000|872\n探子|0x100000|32684\n碳铵|0x100000|1067\n碳棒|0x100000|1015\n碳粉|0x100000|840\n碳黑|0x100000|910\n碳化|0x1000|874\n碳氢|0x100000|960\n碳刷|0x0008|951\n碳素|0x100000|785\n碳酸|0x100000|26358\n碳源|0x100000|1201\n汤包|0x100000|44523\n汤池|0x100000|51998\n汤匙|0x100000|34232\n汤罐|0x100000|1217\n汤锅|0x100000|43755\n汤剂|0x100000|55479\n汤加|0x0040|1179\n汤料|0x0000|51572\n汤面|0x100000|38362\n汤姆|0x0080|1099\n汤尼|0x0080|1035\n汤泉|0x100000|54951\n汤勺|0x100000|50738\n汤水|0x100000|40225\n汤头|0x100000|1544\n汤团|0x100000|40882\n汤碗|0x100000|892\n汤药|0x100000|34101\n汤阴|0x0080|1403\n汤原|0x0040|1030\n汤圆|0x100000|30545\n铴锣|0x100000|1535\n羰基|0x100000|1038\n镗床|0x100000|885\n镗孔|0x0080|0\n唐朝|0x4000|657\n唐代|0x4000|682\n唐海|0x0080|986\n唐河|0x0080|1493\n唐花|0x100000|1227\n唐律|0x100000|1082\n唐门|0x0040|553\n唐尼|0x0080|1072\n唐人|0x100000|733\n唐僧|0x0008|995\n唐山|0x0040|950\n唐诗|0x100000|17271\n唐宋|0x4000|759\n唐突|0x40000000|24293\n唐县|0x0040|1451\n唐装|0x100000|33041\n堂奥|0x100000|1056\n堂弟|0x100000|31441\n堂房|0x100000|43756\n堂鼓|0x100000|957\n堂倌|0x100000|31331\n堂花|0x0080|1267\n堂皇|0x40000000|24796\n堂会|0x100000|29260\n堂姐|0x100000|44524\n堂客|0x100000|42790\n堂妹|0x100000|41797\n堂上|0x100000|26158\n堂叔|0x0000|31785\n堂堂|0x0100|13723\n堂屋|0x100000|12338\n堂戏|0x100000|0\n堂兄|0x100000|29462\n堂侄|0x0000|51154\n堂主|0x100000|839\n堂子|0x100000|1053\n棠棣|0x100000|54501\n棠梨|0x100000|1124\n塘坝|0x100000|31675\n塘鹅|0x0008|1131\n塘沽|0x0040|1213\n塘泥|0x100000|51999\n塘堰|0x100000|52000\n搪瓷|0x100000|24982\n搪塞|0x1000|19534\n溏便|0x100000|0\n溏心|0x100000|0\n膛线|0x100000|1131\n糖包|0x0000|52960\n糖厂|0x100000|873\n糖醋|0x100000|40450\n糖弹|0x100000|50345\n糖度|0x100000|1068\n糖分|0x100000|860\n糖份|0x100000|954\n糖苷|0x100000|1006\n糖膏|0x100000|1286\n糖瓜|0x100000|48515\n糖果|0x100000|14303\n糖化|0x1000|43757\n糖浆|0x100000|37078\n糖精|0x100000|37781\n糖酒|0x0008|739\n糖块|0x100000|1015\n糖类|0x100000|31442\n糖蜜|0x100000|1013\n糖尿|0x100000|984\n糖人|0x100000|886\n糖食|0x100000|45705\n糖水|0x100000|794\n糖蒜|0x0000|53961\n糖肽|0x100000|1117\n糖稀|0x100000|50346\n糖业|0x100000|26224\n糖衣|0x100000|43041\n糖原|0x100000|1046\n糖脂|0x4000000|0\n糖纸|0x100000|39604\n螳螂|0x100000|25047\n醣厂|0x100000|0\n醣类|0x0000|413\n倘或|0x10000000|29356\n倘然|0x10000000|1107\n倘若|0x10000000|4551\n倘使|0x10000000|17343\n倘佯|0x1000|958\n淌汗|0x0000|46588\n淌泪|0x0000|46012\n耥耙|0x100000|0\n躺倒|0x1000|810\n躺柜|0x100000|54502\n躺卧|0x1000|940\n躺下|0x0000|636\n躺椅|0x100000|24294\n躺在|0x0000|805\n躺着|0x0000|661\n烫发|0x1000|33168\n烫花|0x1000|1005\n烫金|0x1000|36539\n烫面|0x100000|51155\n烫伤|0x100000|25508\n烫手|0x40000000|26566\n烫头|0x1000|46892\n烫洗|0x1000|1145\n烫衣|0x0000|391\n趟马|0x100000|1363\n趟趟|0x1000|0\n涛声|0x100000|804\n绦虫|0x100000|40018\n绦子|0x100000|1292\n掏槽|0x100000|0\n掏出|0x1000|572\n掏底|0x1000|0\n掏空|0x1000|717\n掏摸|0x1000|43993\n掏钱|0x1000|693\n掏心|0x1000|42299\n滔滔|0x0100|13255\n滔天|0x40000000|20212\n韬晦|0x1000|47501\n韬略|0x100000|32814\n饕餮|0x100000|1176\n洮南|0x0040|978\n逃奔|0x1000|39795\n逃避|0x1000|6717\n逃兵|0x100000|23716\n逃出|0x1000|631\n逃窜|0x1000|18698\n逃敌|0x0000|54503\n逃掉|0x0000|511\n逃遁|0x1000|29673\n逃犯|0x100000|15747\n逃废|0x1000|1110\n逃荒|0x1000|24597\n逃汇|0x1000|1156\n逃婚|0x1000|47188\n逃家|0x0008|0\n逃开|0x0000|551\n逃课|0x1000|43279\n逃离|0x1000|13885\n逃路|0x1000|389\n逃命|0x1000|18542\n逃难|0x1000|14412\n逃匿|0x1000|31443\n逃跑|0x1000|9421\n逃票|0x1000|47502\n逃散|0x1000|30864\n逃生|0x1000|16021\n逃税|0x1000|24295\n逃脱|0x1000|11781\n逃亡|0x1000|15097\n逃往|0x1000|825\n逃席|0x1000|49973\n逃学|0x1000|22549\n逃逸|0x1000|20031\n逃债|0x1000|38363\n逃走|0x1000|7933\n桃符|0x100000|50347\n桃核|0x100000|1035\n桃红|0x100000|26485\n桃花|0x100000|8362\n桃江|0x0040|1434\n桃胶|0x100000|1225\n桃李|0x100000|23717\n桃木|0x4000000|1392\n桃仁|0x100000|52453\n桃色|0x100000|28574\n桃树|0x100000|19264\n桃酥|0x0000|52961\n桃汛|0x0080|1541\n桃园|0x0040|1043\n桃源|0x100000|1093\n桃子|0x100000|15800\n陶吧|0x0008|875\n陶瓷|0x100000|6505\n陶道|0x0008|0\n陶缸|0x100000|1207\n陶工|0x100000|54953\n陶管|0x100000|1288\n陶罐|0x100000|913\n陶匠|0x0080|0\n陶钧|0x100000|1218\n陶粒|0x100000|943\n陶器|0x100000|18752\n陶然|0x0100|41104\n陶塑|0x100000|54504\n陶陶|0x0000|51573\n陶土|0x100000|47189\n陶文|0x0000|52962\n陶冶|0x1000|12043\n陶艺|0x100000|33575\n陶俑|0x100000|38983\n陶制|0x20000000|1021\n陶铸|0x1000|418\n陶醉|0x40000000|9536\n梼杌|0x100000|0\n淘宝|0x0008|691\n淘换|0x1000|1115\n淘金|0x1000|19904\n淘箩|0x100000|1363\n淘米|0x1000|27805\n淘气|0x40000000|14142\n淘神|0x40000000|54505\n淘汰|0x1000|4273\n淘淘|0x1000|797\n淘洗|0x1000|955\n淘选|0x1000|0\n讨吃|0x1000|0\n讨伐|0x1000|21688\n讨饭|0x1000|17794\n讨好|0x1000|12339\n讨还|0x1000|38364\n讨价|0x1000|46292\n讨教|0x1000|27235\n讨论|0x1000|711\n讨米|0x1000|0\n讨平|0x1000|0\n讨乞|0x1000|0\n讨钱|0x0000|451\n讨巧|0x1000|47503\n讨亲|0x1000|0\n讨情|0x1000|1110\n讨饶|0x1000|45706\n讨扰|0x1000|0\n讨嫌|0x40000000|45707\n讨厌|0x40000000|5477\n讨要|0x1000|799\n讨债|0x1000|24598\n讨账|0x1000|52001\n套板|0x0080|0\n套版|0x0008|1123\n套包|0x100000|1022\n套裁|0x1000|1322\n套餐|0x100000|25849\n套车|0x1000|43042\n套房|0x100000|27001\n套服|0x100000|46293\n套改|0x0008|1059\n套耕|0x100000|1338\n套购|0x1000|46294\n套管|0x100000|41336\n套红|0x1000|49245\n套话|0x100000|19285\n套汇|0x1000|33169\n套间|0x100000|23039\n套简|0x0000|48516\n套件|0x0008|683\n套接|0x20000000|904\n套结|0x100000|1114\n套裤|0x100000|51574\n套牢|0x1000|42550\n套利|0x1000|818\n套料|0x100000|1109\n套路|0x100000|17757\n套马|0x1000|42300\n套票|0x0000|53962\n套曲|0x100000|44240\n套取|0x1000|27236\n套裙|0x100000|37611\n套色|0x100000|47828\n套衫|0x100000|53963\n套绳|0x0000|52963\n套书|0x100000|847\n套数|0x100000|43520\n套索|0x100000|54506\n套套|0x100000|40019\n套筒|0x100000|870\n套头|0x0008|1467\n套问|0x1000|1121\n套鞋|0x100000|45110\n套袖|0x100000|49974\n套印|0x100000|44241\n套用|0x1000|21734\n套语|0x100000|49246\n套种|0x1000|21872\n套装|0x100000|25850\n套子|0x100000|26486\n套作|0x1000|0\n特案|0x0008|2\n特别|0x8000000|162\n特产|0x100000|15903\n特长|0x100000|8886\n特出|0x40000000|42551\n特此|0x8000000|23193\n特大|0x20000000|4026\n特等|0x20000000|25048\n特地|0x8000000|7781\n特典|0x0080|1376\n特点|0x100000|1056\n特定|0x1000|4079\n特稿|0x100000|764\n特工|0x100000|23456\n特供|0x20000000|800\n特好|0x0008|1238\n特护|0x100000|46893\n特化|0x0008|1038\n特惠|0x40000000|49610\n特级|0x20000000|11789\n特急|0x20000000|841\n特辑|0x100000|44819\n特技|0x100000|19823\n特价|0x100000|26000\n特教|0x100000|914\n特警|0x100000|25784\n特刊|0x100000|6480\n特考|0x0008|1129\n特快|0x20000000|22757\n特困|0x20000000|5930\n特里|0x0080|1267\n特例|0x100000|31332\n特卖|0x1000|682\n特命|0x1000|12574\n特纳|0x0080|1477\n特派|0x1000|14836\n特批|0x1000|37782\n特聘|0x1000|23132\n特遣|0x20000000|1044\n特强|0x0008|1398\n特勤|0x100000|896\n特区|0x100000|3907\n特权|0x100000|8160\n特色|0x100000|1287\n特设|0x1000|22957\n特赦|0x1000|30099\n特使|0x100000|9271\n特首|0x100000|40226\n特殊|0x40000000|934\n特体|0x100000|54507\n特为|0x8000000|26159\n特委|0x100000|1058\n特务|0x100000|7981\n特效|0x100000|27315\n特写|0x100000|11847\n特行|0x0000|48889\n特性|0x100000|4998\n特需|0x1000|37079\n特许|0x1000|12586\n特邀|0x1000|10664\n特药|0x100000|833\n特异|0x1000|20065\n特意|0x8000000|5602\n特优|0x0000|38761\n特有|0x20000000|5025\n特约|0x1000|15325\n特招|0x1000|913\n特征|0x100000|1867\n特徵|0x0000|562\n特支|0x1000|0\n特指|0x1000|36047\n特制|0x1000|14707\n特质|0x100000|13886\n特种|0x100000|7117\n特准|0x0000|46894\n疼爱|0x40000000|15098\n疼痛|0x40000000|6293\n疼惜|0x1000|45401\n腾冲|0x0008|1381\n腾出|0x1000|728\n腾达|0x1000|45708\n腾飞|0x1000|8687\n腾贵|0x1000|1265\n腾空|0x1000|19409\n腾龙|0x100000|754\n腾挪|0x1000|33576\n腾腾|0x0100|23884\n腾讯|0x0008|826\n腾涌|0x1000|1273\n腾跃|0x1000|36048\n腾越|0x1000|47829\n誊本|0x0080|406\n誊录|0x1000|52003\n誊清|0x1000|46895\n誊写|0x1000|38762\n滕州|0x0040|1275\n藤编|0x100000|55481\n藤鞭|0x0080|0\n藤黄|0x0080|1115\n藤架|0x0080|0\n藤茎|0x0080|0\n藤筐|0x100000|1266\n藤篮|0x0008|1063\n藤萝|0x100000|27567\n藤蔓|0x100000|35279\n藤牌|0x100000|47504\n藤球|0x100000|50739\n藤条|0x100000|37986\n藤县|0x0040|1485\n藤箱|0x100000|53965\n藤椅|0x100000|15365\n藤子|0x100000|47191\n剔出|0x1000|1039\n剔除|0x1000|17952\n剔红|0x0080|1244\n剔剔|0x0080|0\n剔透|0x40000000|24983\n剔牙|0x1000|989\n梯次|0x100000|941\n梯度|0x100000|17953\n梯段|0x0008|0\n梯队|0x100000|17875\n梯级|0x100000|25289\n梯架|0x0008|0\n梯田|0x100000|13627\n梯形|0x100000|25509\n梯子|0x100000|17003\n锑矿|0x100000|1\n踢打|0x1000|935\n踢倒|0x0000|477\n踢蹬|0x1000|47830\n踢掉|0x0000|457\n踢回|0x0000|391\n踢毽|0x1000|899\n踢开|0x0000|556\n踢起|0x0000|441\n踢球|0x1000|624\n踢踏|0x1000|822\n踢腾|0x1000|48891\n踢踢|0x1000|0\n踢腿|0x1000|875\n啼叫|0x1000|969\n啼哭|0x1000|18221\n啼鸣|0x1000|40653\n啼声|0x100000|897\n啼血|0x1000|1003\n提案|0x100000|3975\n提拔|0x1000|6386\n提包|0x100000|17240\n提报|0x0008|4\n提笔|0x1000|756\n提拨|0x0008|1025\n提倡|0x1000|2967\n提成|0x1000|16933\n提出|0x1000|492\n提纯|0x1000|30212\n提词|0x1000|49976\n提存|0x1000|1043\n提单|0x100000|29674\n提到|0x1000|498\n提灯|0x100000|1023\n提点|0x0008|778\n提调|0x100000|46295\n提兜|0x100000|44525\n提督|0x100000|892\n提法|0x100000|14182\n提防|0x1000|14726\n提干|0x1000|26702\n提纲|0x100000|16956\n提高|0x1000|495\n提供|0x1000|710\n提灌|0x1000|46896\n提盒|0x100000|47505\n提壶|0x100000|1065\n提花|0x100000|41798\n提婚|0x1000|51157\n提货|0x1000|23004\n提及|0x1000|9281\n提级|0x1000|42046\n提价|0x1000|23667\n提交|0x1000|4076\n提款|0x1000|33042\n提篮|0x4000000|31333\n提炼|0x1000|9408\n提梁|0x100000|54509\n提领|0x0008|1057\n提溜|0x1000|0\n提留|0x1000|22369\n提名|0x1000|6956\n提起|0x1000|508\n提前|0x1000|2296\n提挈|0x1000|52965\n提亲|0x1000|30443\n提琴|0x100000|23668\n提请|0x1000|7272\n提取|0x1000|6410\n提任|0x0000|42301\n提神|0x40000000|33685\n提审|0x1000|27488\n提升|0x1000|2926\n提示|0x100000|7782\n提手|0x100000|49977\n提速|0x1000|9059\n提提|0x1000|891\n提桶|0x100000|1067\n提问|0x1000|5672\n提箱|0x100000|42791\n提携|0x1000|25785\n提心|0x1000|0\n提醒|0x1000|2632\n提选|0x1000|0\n提讯|0x1000|50740\n提要|0x100000|18806\n提议|0x1000|5903\n提早|0x1000|16385\n提职|0x0000|42047\n提制|0x1000|0\n鹈鹕|0x100000|46590\n题跋|0x100000|41106\n题壁|0x100000|0\n题匾|0x100000|1140\n题材|0x100000|3052\n题词|0x1000|8278\n题海|0x100000|1446\n题花|0x100000|1178\n题记|0x100000|27237\n题解|0x100000|51575\n题库|0x100000|39177\n题款|0x100000|1118\n题名|0x1000|20066\n题目|0x100000|5304\n题签|0x100000|42552\n题诗|0x1000|30323\n题外|0x100000|971\n题为|0x1000|614\n题写|0x1000|14040\n题型|0x100000|47192\n题意|0x100000|47506\n题旨|0x100000|38165\n题字|0x1000|22851\n蹄膀|0x0008|1432\n蹄筋|0x100000|53966\n蹄声|0x100000|956\n蹄子|0x100000|24401\n醍醐|0x100000|1003\n体壁|0x100000|0\n体表|0x100000|29140\n体裁|0x100000|13202\n体彩|0x0008|699\n体操|0x100000|6823\n体察|0x1000|13230\n体长|0x100000|900\n体尝|0x1000|54954\n体臭|0x0008|995\n体罚|0x1000|23614\n体肤|0x100000|0\n体改|0x100000|35110\n体格|0x100000|18373\n体会|0x1000|2592\n体积|0x100000|7963\n体己|0x100000|35280\n体检|0x1000|8514\n体力|0x100000|6418\n体例|0x100000|24797\n体谅|0x1000|14582\n体量|0x100000|922\n体貌|0x100000|39383\n体面|0x100000|7984\n体内|0x8000|545\n体能|0x100000|9648\n体念|0x1000|48517\n体魄|0x100000|17617\n体腔|0x100000|38984\n体认|0x100000|46591\n体弱|0x1000|771\n体式|0x100000|36887\n体视|0x0008|1003\n体态|0x100000|16156\n体坛|0x100000|4942\n体贴|0x40000000|11809\n体统|0x100000|29566\n体外|0x8000|717\n体位|0x100000|38563\n体味|0x1000|12671\n体温|0x100000|9619\n体悟|0x1000|31444\n体惜|0x1000|0\n体系|0x100000|1157\n体现|0x1000|1134\n体校|0x100000|18571\n体协|0x100000|987\n体形|0x100000|24196\n体型|0x100000|23827\n体性|0x100000|920\n体恤|0x1000|25665\n体癣|0x100000|1082\n体验|0x1000|2713\n体液|0x100000|28958\n体用|0x100000|0\n体育|0x100000|1269\n体院|0x100000|851\n体征|0x100000|29053\n体制|0x100000|1188\n体质|0x100000|8037\n体重|0x100000|8206\n体总|0x100000|999\n屉子|0x100000|51158\n剃刀|0x100000|35570\n剃度|0x1000|42302\n剃发|0x0080|418\n剃头|0x1000|14397\n剃须|0x0080|476\n倜傥|0x40000000|33170\n涕泪|0x100000|29261\n涕零|0x1000|1015\n涕泣|0x1000|996\n惕厉|0x1000|0\n替班|0x1000|52005\n替补|0x100000|18670\n替代|0x1000|4297\n替工|0x100000|49248\n替换|0x1000|15881\n替考|0x0000|46897\n替人|0x100000|813\n替身|0x100000|30865\n替手|0x0000|51576\n嚏喷|0x100000|46898\n天啊|0x0000|688\n天安|0x100000|1042\n天宝|0x0008|1218\n天保|0x0008|1419\n天边|0x8000|13957\n天变|0x1000|492\n天兵|0x100000|44820\n天禀|0x100000|1305\n天波|0x0080|919\n天才|0x100000|6631\n天蚕|0x100000|1470\n天长|0x0040|1050\n天朝|0x100000|821\n天车|0x100000|48893\n天成|0x1000|1066\n天池|0x100000|1192\n天冲|0x0080|1\n天窗|0x100000|23615\n天赐|0x1000|701\n天道|0x100000|666\n天等|0x0080|1422\n天敌|0x100000|16722\n天底|0x100000|0\n天地|0x100000|2120\n天帝|0x100000|38366\n天电|0x100000|1110\n天顶|0x100000|907\n天鼎|0x0080|1544\n天冬|0x100000|1013\n天峨|0x0080|986\n天鹅|0x4000000|11471\n天蛾|0x0080|1132\n天方|0x0040|1304\n天分|0x100000|31334\n天份|0x0008|760\n天府|0x100000|663\n天父|0x100000|886\n天赋|0x100000|13106\n天干|0x100000|41799\n天罡|0x100000|770\n天工|0x0008|1253\n天公|0x100000|25215\n天宫|0x100000|25216\n天沟|0x100000|1095\n天狗|0x100000|857\n天光|0x100000|24913\n天癸|0x0008|0\n天国|0x100000|16829\n天旱|0x0000|31335\n天和|0x100000|1085\n天河|0x100000|15079\n天黑|0x1000|9494\n天后|0x100000|558\n天候|0x100000|47831\n天湖|0x0008|1371\n天花|0x100000|22126\n天皇|0x100000|15571\n天会|0x100000|589\n天火|0x100000|43995\n天机|0x100000|26077\n天极|0x100000|539\n天际|0x100000|16566\n天价|0x0000|28493\n天骄|0x100000|1096\n天界|0x0080|762\n天津|0x0040|1124\n天井|0x100000|12950\n天镜|0x100000|1094\n天峻|0x0080|1091\n天开|0x100000|752\n天空|0x100000|2938\n天籁|0x100000|24402\n天蓝|0x100000|25786\n天理|0x100000|22072\n天良|0x100000|29357\n天亮|0x1000|9350\n天伦|0x100000|39384\n天麻|0x100000|25923\n天马|0x0008|1078\n天门|0x100000|1190\n天明|0x1000|11618\n天命|0x100000|15821\n天母|0x100000|906\n天幕|0x100000|22699\n天年|0x100000|33043\n天牛|0x100000|962\n天女|0x100000|528\n天棚|0x100000|36541\n天平|0x100000|14781\n天启|0x0008|886\n天气|0x100000|1073\n天谴|0x0008|491\n天堑|0x100000|32049\n天桥|0x100000|11858\n天青|0x20000000|48151\n天穹|0x100000|30757\n天球|0x100000|43996\n天趣|0x100000|44242\n天全|0x0080|1432\n天泉|0x0080|1530\n天阙|0x100000|1065\n天然|0x20000000|3602\n天壤|0x100000|47194\n天人|0x100000|703\n天日|0x100000|25290\n天容|0x0080|1124\n天色|0x100000|8790\n天山|0x0040|1024\n天上|0x100000|4163\n天神|0x100000|23616\n天生|0x20000000|7558\n天师|0x100000|803\n天时|0x100000|19467\n天使|0x100000|11025\n天授|0x1000|1031\n天书|0x100000|22647\n天枢|0x0008|0\n天数|0x100000|13567\n天水|0x0040|1110\n天顺|0x0008|853\n天台|0x0080|1080\n天坛|0x100000|1214\n天堂|0x100000|6871\n天梯|0x100000|41569\n天体|0x100000|9393\n天天|0x20000|3364\n天条|0x100000|44822\n天庭|0x100000|34533\n天头|0x100000|52456\n天突|0x0008|2\n天外|0x100000|19598\n天王|0x100000|16877\n天网|0x100000|720\n天威|0x100000|1275\n天文|0x100000|6350\n天物|0x100000|0\n天溪|0x0008|0\n天下|0x100000|1677\n天仙|0x100000|26780\n天险|0x100000|29791\n天线|0x100000|12199\n天象|0x100000|20419\n天蝎|0x0080|603\n天心|0x100000|730\n天幸|0x100000|1062\n天性|0x100000|10470\n天呀|0x80000|769\n天涯|0x100000|15326\n天阉|0x0080|1241\n天眼|0x100000|845\n天演|0x100000|987\n天意|0x100000|16408\n天鹰|0x0008|1288\n天牖|0x0080|0\n天佑|0x0008|1246\n天宇|0x0080|28494\n天渊|0x100000|1036\n天元|0x100000|1157\n天灾|0x100000|20631\n天葬|0x100000|46592\n天择|0x1000|976\n天真|0x40000000|6524\n天镇|0x0080|1048\n天正|0x100000|1288\n天职|0x100000|17573\n天轴|0x0080|1419\n天诛|0x0080|932\n天竹|0x0080|1015\n天竺|0x0040|1128\n天主|0x100000|32816\n天柱|0x0080|1274\n天姿|0x100000|51159\n天资|0x100000|28670\n天子|0x100000|7699\n天字|0x20000000|909\n天宗|0x100000|1080\n天足|0x100000|42793\n天尊|0x100000|802\n添补|0x1000|47507\n添彩|0x1000|25728\n添仓|0x1000|1360\n添丁|0x1000|49249\n添堵|0x0000|50349\n添加|0x1000|12966\n添乱|0x1000|27734\n添色|0x0000|49611\n添上|0x0000|540\n添设|0x1000|44823\n添增|0x0080|0\n添置|0x1000|15437\n田产|0x100000|31445\n田畴|0x100000|40655\n田地|0x100000|9693\n田东|0x0040|1517\n田父|0x100000|1219\n田赋|0x100000|29141\n田埂|0x100000|20214\n田黄|0x20000000|992\n田鸡|0x100000|39605\n田家|0x100000|20372\n田间|0x100000|6924\n田径|0x100000|5974\n田坎|0x100000|46899\n田里|0x8000|768\n田联|0x100000|792\n田猎|0x1000|51578\n田林|0x0080|1373\n田垄|0x100000|47508\n田螺|0x100000|35884\n田亩|0x100000|33578\n田七|0x4400000|0\n田契|0x100000|48153\n田赛|0x100000|48518\n田舍|0x100000|46593\n田鼠|0x100000|36542\n田薯|0x0080|0\n田坛|0x100000|1101\n田头|0x100000|18753\n田阳|0x0080|1526\n田野|0x100000|6283\n田园|0x100000|11403\n田主|0x100000|1178\n田庄|0x100000|36719\n田租|0x100000|1112\n恬淡|0x40000000|30650\n恬和|0x40000000|0\n恬静|0x40000000|18598\n恬美|0x40000000|946\n恬然|0x0100|46016\n恬适|0x40000000|49978\n畋猎|0x1000|1108\n甜饼|0x100000|972\n甜菜|0x100000|25851\n甜橙|0x0080|52006\n甜点|0x100000|44824\n甜瓜|0x100000|27409\n甜椒|0x100000|48519\n甜酒|0x100000|38367\n甜美|0x40000000|17514\n甜蜜|0x40000000|10000\n甜品|0x0008|55829\n甜润|0x40000000|38368\n甜食|0x100000|36052\n甜适|0x40000000|0\n甜薯|0x0080|0\n甜爽|0x40000000|0\n甜水|0x100000|33975\n甜睡|0x1000|0\n甜甜|0x0100|547\n甜筒|0x0008|1485\n甜头|0x100000|12812\n甜味|0x100000|751\n甜香|0x40000000|894\n甜心|0x0008|1157\n甜枣|0x0080|1076\n填报|0x1000|22336\n填表|0x1000|28309\n填补|0x1000|7506\n填充|0x1000|20479\n填词|0x1000|35428\n填堵|0x1000|1122\n填发|0x1000|51579\n填方|0x1000|53438\n填房|0x100000|46298\n填空|0x1000|37613\n填料|0x100000|39797\n填满|0x1000|671\n填平|0x1000|831\n填入|0x0000|625\n填塞|0x1000|33322\n填填|0x0080|0\n填土|0x0000|447\n填隙|0x0080|0\n填写|0x1000|8357\n填鸭|0x100000|47509\n舔食|0x1000|959\n舔舔|0x0080|0\n佻薄|0x40000000|0\n佻巧|0x40000000|0\n挑拨|0x1000|20180\n挑出|0x1000|760\n挑刺|0x1000|887\n挑错|0x1000|914\n挑担|0x1000|987\n挑灯|0x1000|34388\n挑动|0x1000|28054\n挑逗|0x1000|21978\n挑夫|0x100000|37614\n挑花|0x100000|40883\n挑拣|0x1000|33976\n挑明|0x1000|33171\n挑弄|0x1000|0\n挑起|0x1000|673\n挑食|0x40000000|42553\n挑水|0x1000|871\n挑唆|0x1000|34855\n挑剔|0x40000000|12575\n挑挑|0x0000|501\n挑头|0x1000|45402\n挑衅|0x1000|11157\n挑选|0x1000|5963\n挑眼|0x1000|37427\n挑战|0x1000|1808\n挑中|0x1000|901\n挑子|0x100000|27316\n挑嘴|0x40000000|1063\n条案|0x100000|41801\n条播|0x1000|52457\n条畅|0x40000000|0\n条陈|0x100000|37428\n条带|0x100000|958\n条凳|0x100000|30547\n条幅|0x100000|19970\n条干|0x0008|0\n条钢|0x0080|1116\n条贯|0x100000|1193\n条规|0x100000|35571\n条痕|0x0080|0\n条几|0x100000|1093\n条件|0x100000|336\n条块|0x100000|946\n条款|0x100000|5306\n条理|0x100000|20673\n条例|0x100000|2103\n条令|0x100000|21280\n条码|0x100000|675\n条目|0x100000|25157\n条绒|0x100000|50350\n条石|0x0080|42303\n条条|0x20000|678\n条文|0x100000|9700\n条纹|0x100000|20674\n条项|0x0080|0\n条形|0x100000|857\n条鱼|0x0000|527\n条约|0x100000|2646\n条状|0x0008|875\n条桌|0x0080|35113\n条子|0x100000|10144\n迢迢|0x0100|29792\n迢遥|0x40000000|1074\n迢远|0x40000000|1347\n笤帚|0x100000|27966\n髫龄|0x100000|0\n髫年|0x100000|0\n眺望|0x1000|12990\n跳班|0x1000|0\n跳板|0x100000|16745\n跳槽|0x1000|20181\n跳虫|0x0008|1259\n跳出|0x1000|629\n跳荡|0x1000|35283\n跳动|0x1000|8750\n跳高|0x100000|21452\n跳过|0x0000|622\n跳河|0x1000|905\n跳回|0x0000|464\n跳级|0x1000|41802\n跳脚|0x1000|38764\n跳进|0x1000|703\n跳井|0x1000|1072\n跳开|0x0000|497\n跳空|0x0008|528\n跳栏|0x1000|1209\n跳梁|0x1000|43997\n跳踉|0x1000|1285\n跳楼|0x1000|22073\n跳马|0x100000|25730\n跳票|0x0008|911\n跳棋|0x100000|44527\n跳起|0x0000|594\n跳球|0x100000|424\n跳入|0x1000|784\n跳伞|0x1000|21401\n跳上|0x0000|592\n跳神|0x1000|37615\n跳绳|0x4000000|30325\n跳鼠|0x100000|1169\n跳水|0x100000|9038\n跳台|0x100000|20519\n跳跳|0x1000|589\n跳脱|0x0008|846\n跳舞|0x1000|6036\n跳下|0x0000|666\n跳线|0x100000|828\n跳箱|0x100000|1203\n跳行|0x1000|1065\n跳崖|0x0000|38369\n跳远|0x100000|25510\n跳月|0x1000|0\n跳跃|0x1000|9261\n跳越|0x1000|948\n跳蚤|0x100000|26924\n跳闸|0x1000|46299\n跳转|0x0000|714\n跳着|0x0000|571\n贴板|0x100000|1096\n贴边|0x100000|53969\n贴补|0x1000|29262\n贴缝|0x0080|0\n贴合|0x40000000|50351\n贴花|0x100000|885\n贴画|0x100000|47510\n贴换|0x1000|1265\n贴己|0x100000|0\n贴金|0x1000|33172\n贴紧|0x1000|895\n贴近|0x1000|4348\n贴进|0x0080|0\n贴面|0x100000|41803\n贴谱|0x1000|0\n贴钱|0x1000|45117\n贴切|0x40000000|21171\n贴上|0x0008|654\n贴身|0x40000000|16386\n贴水|0x1000|50352\n贴题|0x40000000|1205\n贴图|0x100000|460\n贴息|0x1000|11717\n贴现|0x1000|24984\n贴心|0x40000000|19144\n贴纸|0x0008|1018\n贴着|0x1000|650\n贴子|0x100000|488\n铁案|0x100000|36213\n铁板|0x100000|752\n铁棒|0x100000|872\n铁笔|0x100000|51581\n铁臂|0x0000|42555\n铁饼|0x100000|31337\n铁铲|0x100000|984\n铁厂|0x100000|881\n铁窗|0x100000|29567\n铁床|0x0080|946\n铁锤|0x100000|20832\n铁打|0x1000|25158\n铁道|0x100000|12910\n铁钉|0x100000|879\n铁定|0x8000000|38566\n铁法|0x0040|1028\n铁范|0x0008|1331\n铁粉|0x100000|946\n铁盖|0x0040|1101\n铁杆|0x20000000|30326\n铁镐|0x100000|45403\n铁工|0x100000|49250\n铁钩|0x0000|470\n铁箍|0x100000|44826\n铁骨|0x100000|895\n铁管|0x100000|903\n铁罐|0x100000|910\n铁轨|0x100000|19750\n铁柜|0x0080|52460\n铁棍|0x100000|889\n铁锅|0x100000|22758\n铁汉|0x100000|43521\n铁盒|0x100000|670\n铁壶|0x0008|0\n铁花|0x0080|985\n铁画|0x100000|1105\n铁环|0x100000|31446\n铁灰|0x0000|47832\n铁活|0x100000|1427\n铁甲|0x100000|29054\n铁架|0x100000|907\n铁匠|0x100000|15556\n铁筋|0x100000|1255\n铁军|0x100000|12426\n铁块|0x0080|937\n铁矿|0x100000|15366\n铁栏|0x100000|990\n铁力|0x0040|1491\n铁链|0x100000|20880\n铁岭|0x0040|1208\n铁流|0x100000|27967\n铁笼|0x100000|917\n铁路|0x100000|1321\n铁轮|0x0080|1031\n铁马|0x100000|38985\n铁锚|0x0080|46017\n铁门|0x100000|759\n铁面|0x100000|916\n铁幕|0x100000|48521\n铁牛|0x100000|1488\n铁耙|0x100000|1197\n铁盘|0x0080|0\n铁皮|0x100000|18785\n铁片|0x100000|909\n铁票|0x0008|1227\n铁骑|0x100000|26160\n铁器|0x100000|22853\n铁钳|0x0080|449\n铁锹|0x100000|19124\n铁桥|0x100000|902\n铁撬|0x0080|0\n铁青|0x100000|19098\n铁球|0x0080|1541\n铁圈|0x100000|971\n铁泉|0x0080|1294\n铁拳|0x100000|33978\n铁人|0x100000|11737\n铁纱|0x0000|53970\n铁砂|0x100000|39386\n铁杉|0x100000|47511\n铁勺|0x0080|1092\n铁石|0x4000000|1472\n铁树|0x100000|34235\n铁水|0x100000|31338\n铁丝|0x100000|16495\n铁索|0x100000|28770\n铁锁|0x100000|945\n铁塔|0x100000|20833\n铁蹄|0x100000|29463\n铁条|0x0080|3\n铁通|0x0008|1082\n铁桶|0x100000|836\n铁腕|0x100000|36720\n铁锨|0x100000|20675\n铁线|0x100000|852\n铁屑|0x100000|1009\n铁心|0x100000|42304\n铁锈|0x100000|38370\n铁血|0x20000000|30761\n铁盐|0x0080|0\n铁衣|0x100000|997\n铁则|0x100000|1065\n铁渣|0x0080|0\n铁闸|0x100000|1012\n铁栅|0x0080|435\n铁砧|0x100000|47512\n铁证|0x100000|31447\n铁质|0x100000|852\n铁珠|0x0080|2\n铁椎|0x100000|0\n铁嘴|0x0040|27410\n帖服|0x40000000|0\n帖子|0x100000|23005\n厅长|0x100000|725\n厅房|0x100000|1011\n厅事|0x100000|0\n厅堂|0x100000|23040\n厅子|0x100000|0\n汀线|0x100000|1528\n汀洲|0x0040|1058\n听便|0x1000|49252\n听差|0x100000|12519\n听从|0x1000|10499\n听错|0x1000|762\n听到|0x1000|495\n听懂|0x1000|652\n听宫|0x0008|0\n听骨|0x100000|1263\n听候|0x1000|22854\n听话|0x40000000|10062\n听会|0x1000|40885\n听见|0x1000|2561\n听讲|0x1000|18543\n听觉|0x100000|14862\n听课|0x1000|15726\n听来|0x1000|614\n听力|0x100000|16544\n听命|0x1000|19993\n听凭|0x1000|29990\n听取|0x1000|2797\n听任|0x1000|21172\n听审|0x1000|46018\n听事|0x100000|1\n听书|0x1000|39606\n听说|0x1000|1480\n听讼|0x1000|1138\n听听|0x1000|498\n听筒|0x100000|18971\n听完|0x0000|686\n听闻|0x100000|20032\n听戏|0x1000|17461\n听写|0x1000|51582\n听信|0x1000|20251\n听阈|0x100000|1237\n听者|0x100000|734\n听诊|0x1000|46594\n听证|0x1000|8337\n听政|0x1000|29568\n听众|0x100000|6112\n听装|0x20000000|52967\n听子|0x100000|0\n廷布|0x0040|1310\n廷试|0x100000|0\n廷尉|0x100000|1032\n廷杖|0x100000|1112\n亭长|0x100000|1011\n亭台|0x100000|891\n亭亭|0x0100|1368\n亭午|0x4000|0\n亭子|0x100000|17365\n庭长|0x100000|894\n庭除|0x100000|1\n庭审|0x1000|15194\n庭外|0x8000|937\n庭训|0x0000|48156\n庭园|0x100000|32050\n庭院|0x100000|9315\n停摆|0x1000|47513\n停板|0x0008|52968\n停办|0x1000|19905\n停闭|0x1000|1289\n停表|0x100000|1220\n停播|0x0000|46019\n停泊|0x1000|15215\n停步|0x1000|819\n停产|0x1000|8733\n停车|0x1000|8683\n停当|0x1000|20881\n停电|0x1000|11234\n停顿|0x100000|8706\n停发|0x1000|32687\n停放|0x1000|18310\n停飞|0x1000|35885\n停付|0x0000|51583\n停工|0x1000|15404\n停航|0x1000|40023\n停火|0x1000|7226\n停机|0x1000|23093\n停建|0x1000|25444\n停经|0x1000|976\n停刊|0x1000|18311\n停靠|0x1000|18257\n停课|0x1000|25049\n停灵|0x1000|49253\n停留|0x1000|5026\n停赛|0x1000|31677\n停尸|0x1000|837\n停食|0x1000|54956\n停驶|0x1000|43760\n停手|0x1000|847\n停水|0x1000|31552\n停停|0x1000|711\n停妥|0x40000000|48895\n停息|0x1000|23718\n停下|0x1000|502\n停歇|0x1000|23509\n停薪|0x1000|43998\n停学|0x1000|43999\n停业|0x1000|12044\n停用|0x1000|771\n停匀|0x40000000|0\n停运|0x1000|503\n停在|0x0000|715\n停战|0x1000|18045\n停诊|0x1000|1148\n停职|0x1000|22901\n停止|0x1000|1493\n停滞|0x1000|12412\n停住|0x0000|655\n停驻|0x0000|482\n停转|0x1000|960\n婷婷|0x0100|615\n挺拔|0x40000000|14055\n挺好|0x0000|676\n挺进|0x1000|12380\n挺举|0x100000|23094\n挺括|0x40000000|41804\n挺立|0x1000|17642\n挺起|0x1000|764\n挺身|0x1000|21281\n挺尸|0x1000|51584\n挺挺|0x1000|818\n挺胸|0x1000|763\n挺秀|0x40000000|39607\n挺直|0x1000|15609\n艇长|0x100000|1063\n艇员|0x100000|8\n通宝|0x0008|1325\n通报|0x1000|3534\n通便|0x1000|49254\n通病|0x100000|22474\n通才|0x100000|37080\n通草|0x100000|1084\n通产|0x0008|1046\n通常|0x8000000|2814\n通畅|0x40000000|17928\n通车|0x1000|6691\n通彻|0x1000|1536\n通称|0x100000|27646\n通城|0x0080|1438\n通吃|0x0008|744\n通存|0x0000|45709\n通达|0x40000000|19099\n通到|0x0000|511\n通道|0x100000|3276\n通敌|0x1000|41570\n通电|0x1000|10398\n通牒|0x100000|44000\n通读|0x1000|30866\n通兑|0x0000|42795\n通匪|0x0000|49613\n通分|0x1000|53971\n通风|0x1000|9833\n通稿|0x100000|956\n通告|0x100000|10471\n通共|0x8000000|42048\n通关|0x1000|7125\n通观|0x1000|41805\n通国|0x1000|1130\n通过|0x40000|277\n通海|0x0008|1326\n通航|0x1000|10593\n通好|0x1000|30651\n通河|0x0080|1507\n通红|0x0100|8651\n通化|0x0040|1187\n通话|0x1000|11593\n通婚|0x1000|28771\n通货|0x100000|14933\n通缉|0x1000|16587\n通家|0x100000|1004\n通假|0x100000|54512\n通奸|0x1000|27885\n通鉴|0x0008|1221\n通江|0x0080|1418\n通解|0x1000|51161\n通经|0x1000|42305\n通考|0x1000|1031\n通栏|0x100000|40227\n通览|0x1000|53443\n通里|0x0008|0\n通力|0x1000|23885\n通例|0x100000|38567\n通连|0x1000|1054\n通联|0x1000|826\n通亮|0x1000|39178\n通量|0x100000|1012\n通辽|0x0040|1214\n通灵|0x1000|762\n通令|0x100000|21126\n通流|0x100000|1091\n通路|0x1000|19714\n通论|0x100000|36375\n通名|0x100000|45404\n通明|0x1000|17758\n通年|0x8000000|1275\n通盘|0x100000|25159\n通篇|0x100000|19751\n通票|0x100000|47833\n通铺|0x100000|37616\n通气|0x1000|17395\n通窍|0x1000|55484\n通勤|0x1000|43280\n通衢|0x100000|29890\n通人|0x100000|871\n通融|0x1000|20373\n通山|0x0080|1498\n通商|0x1000|14090\n通身|0x100000|32051\n通史|0x100000|21321\n通式|0x100000|1100\n通事|0x100000|1082\n通书|0x100000|1045\n通水|0x0000|22234\n通顺|0x40000000|31448\n通俗|0x40000000|6129\n通宿|0x8000000|0\n通缩|0x1000|999\n通体|0x100000|22127\n通天|0x1000|24197\n通条|0x100000|51585\n通通|0x8000000|22128\n通同|0x1000|42306\n通统|0x8000000|1180\n通透|0x40000000|46020\n通途|0x100000|29991\n通往|0x1000|7620\n通渭|0x0080|1041\n通县|0x0040|1418\n通向|0x1000|9783\n通宵|0x4000|16723\n通晓|0x1000|25103\n通信|0x100000|2017\n通行|0x1000|5945\n通性|0x100000|44245\n通许|0x0080|1008\n通学|0x100000|1138\n通讯|0x100000|3101\n通夜|0x8000000|42049\n通译|0x100000|1048\n通用|0x1000|4949\n通邮|0x1000|32052\n通榆|0x0080|1541\n通运|0x0008|1498\n通则|0x100000|14970\n通胀|0x100000|22700\n通知|0x100000|1186\n通志|0x100000|966\n通州|0x0040|1046\n嗵嗵|0x80000|0\n同案|0x100000|992\n同班|0x100000|17272\n同伴|0x100000|8391\n同胞|0x100000|2598\n同辈|0x1000|27153\n同比|0x8000000|10879\n同步|0x1000|4898\n同侪|0x100000|936\n同唱|0x0000|432\n同船|0x1000|858\n同窗|0x100000|21038\n同创|0x0008|1278\n同党|0x100000|30762\n同道|0x100000|30100\n同德|0x0080|1376\n同等|0x20000000|6999\n同调|0x100000|42796\n同队|0x1000|1020\n同发|0x0008|1461\n同犯|0x100000|48158\n同方|0x0008|1090\n同房|0x100000|39799\n同感|0x100000|18931\n同格|0x0008|1227\n同庚|0x1000|52463\n同构|0x100000|982\n同归|0x1000|888\n同好|0x100000|38568\n同贺|0x1000|985\n同化|0x1000|15801\n同欢|0x0008|976\n同伙|0x100000|17831\n同机|0x100000|997\n同级|0x1000|10378\n同济|0x0008|1077\n同价|0x100000|893\n同江|0x0040|1531\n同居|0x1000|13158\n同科|0x1000|1013\n同乐|0x1000|25445\n同类|0x100000|5182\n同理|0x1000|35886\n同量|0x0008|1079\n同僚|0x100000|22803\n同龄|0x1000|20102\n同路|0x1000|41571\n同门|0x100000|46595\n同盟|0x100000|9539\n同名|0x1000|18478\n同命|0x1000|11\n同谋|0x100000|24851\n同年|0x100000|5542\n同袍|0x100000|1012\n同期|0x100000|2683\n同气|0x1000|0\n同前|0x0000|27568\n同情|0x1000|3339\n同庆|0x1000|844\n同人|0x100000|38372\n同仁|0x100000|16609\n同日|0x8000000|721\n同上|0x1000|38765\n同声|0x20000000|15842\n同时|0x10000000|125\n同事|0x100000|3165\n同室|0x100000|893\n同岁|0x1000|35429\n同台|0x1000|701\n同态|0x100000|1156\n同堂|0x1000|839\n同体|0x100000|870\n同位|0x0000|467\n同屋|0x100000|31090\n同喜|0x1000|46021\n同现|0x100000|1068\n同乡|0x100000|9303\n同向|0x1000|918\n同校|0x100000|844\n同心|0x1000|11869\n同行|0x100000|5261\n同形|0x1000|1064\n同姓|0x1000|26360\n同性|0x1000|24660\n同学|0x100000|812\n同样|0x8000000|748\n同业|0x100000|16678\n同一|0x20400000|301\n同义|0x1000|741\n同意|0x1000|948\n同音|0x1000|842\n同源|0x1000|19322\n同在|0x1000|584\n同志|0x100000|170\n同治|0x0008|833\n同质|0x100000|757\n同种|0x1000|833\n同轴|0x100000|787\n同住|0x0000|586\n同桌|0x100000|22297\n同宗|0x1000|28872\n同族|0x1000|28217\n同组|0x100000|844\n彤红|0x0000|47197\n彤云|0x100000|48159\n茼蒿|0x100000|51586\n桐柏|0x0080|1419\n桐城|0x0040|1315\n桐庐|0x0080|1226\n桐木|0x100000|935\n桐树|0x0000|23886\n桐乡|0x0040|1173\n桐油|0x100000|26925\n桐籽|0x0000|53973\n桐子|0x100000|1023\n桐梓|0x0080|1498\n铜板|0x100000|19350\n铜版|0x100000|45405\n铜币|0x100000|46301\n铜箔|0x100000|924\n铜厂|0x100000|1070\n铜臭|0x100000|36543\n铜川|0x0040|1280\n铜锤|0x100000|1039\n铜鼓|0x100000|23829\n铜管|0x100000|807\n铜焊|0x100000|0\n铜壶|0x100000|36721\n铜环|0x0040|1065\n铜活|0x100000|50741\n铜匠|0x100000|42307\n铜镜|0x100000|31091\n铜矿|0x100000|21366\n铜梁|0x0080|1267\n铜铃|0x100000|862\n铜陵|0x0040|1083\n铜绿|0x100000|52970\n铜锣|0x100000|29263\n铜模|0x100000|1137\n铜牌|0x100000|10399\n铜皮|0x100000|1063\n铜片|0x100000|991\n铜器|0x100000|27886\n铜钱|0x100000|11392\n铜仁|0x0040|1331\n铜山|0x0040|1378\n铜丝|0x100000|35430\n铜锁|0x100000|1028\n铜套|0x0000|387\n铜线|0x100000|876\n铜像|0x100000|14934\n铜锈|0x100000|54957\n铜元|0x100000|28411\n铜制|0x20000000|891\n铜钟|0x100000|1000\n童便|0x100000|52971\n童车|0x100000|37249\n童工|0x100000|21040\n童话|0x100000|8025\n童蒙|0x0000|52011\n童男|0x100000|45118\n童年|0x4000|6391\n童女|0x100000|49981\n童仆|0x100000|1124\n童趣|0x100000|30548\n童山|0x100000|49982\n童生|0x100000|948\n童声|0x100000|36053\n童心|0x100000|19861\n童星|0x100000|42556\n童颜|0x100000|1520\n童谣|0x100000|14249\n童音|0x100000|41340\n童贞|0x100000|42557\n童真|0x100000|37081\n童稚|0x100000|35284\n童装|0x100000|31218\n童子|0x100000|20420\n酮类|0x0000|399\n酮体|0x100000|1013\n酮症|0x100000|1071\n僮仆|0x100000|1112\n潼关|0x0080|1416\n潼南|0x0080|1293\n瞳孔|0x100000|24725\n瞳人|0x100000|1137\n瞳仁|0x100000|42050\n统包|0x0000|44246\n统编|0x0000|47198\n统舱|0x100000|44529\n统称|0x100000|15843\n统筹|0x1000|3488\n统共|0x8000000|29569\n统购|0x1000|32936\n统观|0x0000|42308\n统管|0x1000|26361\n统合|0x1000|39388\n统货|0x100000|1129\n统计|0x1000|1528\n统建|0x1000|1018\n统考|0x100000|24661\n统括|0x1000|1129\n统揽|0x0000|23006\n统领|0x1000|8303\n统率|0x1000|21496\n统配|0x1000|39608\n统摄|0x0000|41807\n统收|0x0000|38569\n统帅|0x100000|13779\n统通|0x8000000|1239\n统统|0x8000000|8632\n统辖|0x1000|27073\n统销|0x1000|44247\n统一|0x401000|672\n统御|0x1000|925\n统战|0x100000|10827\n统招|0x0000|53974\n统制|0x1000|18046\n统治|0x1000|3308\n统属|0x0000|46302\n捅咕|0x1000|1231\n捅捅|0x1000|0\n桶盖|0x0000|396\n桶装|0x20000000|797\n桶状|0x0000|387\n桶子|0x100000|999\n筒仓|0x100000|1101\n筒灯|0x100000|925\n筒管|0x4000000|1163\n筒裤|0x100000|51163\n筒裙|0x100000|50742\n筒瓦|0x100000|52464\n筒子|0x100000|25511\n恸哭|0x1000|24914\n痛彻|0x1000|681\n痛陈|0x1000|950\n痛惩|0x0080|0\n痛斥|0x1000|25218\n痛楚|0x100000|17099\n痛处|0x100000|32181\n痛打|0x1000|28412\n痛悼|0x1000|44530\n痛恶|0x40000000|49616\n痛风|0x100000|46902\n痛感|0x1000|28671\n痛恨|0x1000|13041\n痛悔|0x1000|37785\n痛击|0x1000|34389\n痛经|0x1000|50355\n痛觉|0x100000|43281\n痛哭|0x1000|9083\n痛苦|0x40000000|1620\n痛快|0x40000000|5684\n痛骂|0x1000|24198\n痛切|0x40000000|28055\n痛失|0x1000|24852\n痛惜|0x40000000|20676\n痛心|0x40000000|9738\n痛痒|0x100000|38373\n痛饮|0x1000|30652\n痛责|0x1000|1124\n痛揍|0x0080|0\n偷安|0x1000|45119\n偷盗|0x1000|21127\n偷得|0x0000|487\n偷渡|0x1000|9829\n偷工|0x1000|1177\n偷换|0x1000|37617\n偷看|0x1000|17162\n偷空|0x8000000|47199\n偷窥|0x1000|634\n偷来|0x1000|542\n偷懒|0x1000|19535\n偷猎|0x1000|35723\n偷漏|0x1000|31219\n偷摸|0x1000|25446\n偷拍|0x0008|32435\n偷跑|0x0008|1\n偷窃|0x1000|24077\n偷情|0x1000|33174\n偷球|0x0008|0\n偷去|0x0000|486\n偷人|0x1000|924\n偷生|0x1000|31339\n偷税|0x1000|12427\n偷听|0x1000|22648\n偷偷|0x8000000|5240\n偷袭|0x1000|24527\n偷闲|0x1000|38987\n偷笑|0x0000|585\n偷眼|0x8000000|22235\n偷营|0x1000|53445\n偷越|0x1000|40024\n偷运|0x1000|28218\n偷走|0x1000|704\n偷嘴|0x1000|52972\n头版|0x100000|16235\n头孢|0x0008|1374\n头部|0x100000|617\n头彩|0x100000|42051\n头筹|0x100000|31340\n头寸|0x100000|43282\n头灯|0x0008|1282\n头等|0x20000000|11440\n头顶|0x100000|6299\n头额|0x100000|0\n头儿|0x100000|7150\n头发|0x100000|2603\n头伏|0x4000|55830\n头盖|0x100000|1346\n头功|0x100000|37429\n头骨|0x100000|18912\n头号|0x100000|11888\n头花|0x100000|908\n头昏|0x40000000|24146\n头家|0x100000|997\n头奖|0x100000|842\n头角|0x100000|45407\n头巾|0x100000|17144\n头颈|0x100000|809\n头盔|0x100000|24199\n头里|0x100000|26162\n头脸|0x100000|29992\n头领|0x100000|27736\n头颅|0x100000|10892\n头路|0x0000|40657\n头马|0x100000|1037\n头面|0x100000|958\n头名|0x100000|50356\n头目|0x100000|7657\n头脑|0x100000|2686\n头年|0x4000|47834\n头帕|0x100000|51587\n头牌|0x100000|34390\n头皮|0x100000|15405\n头期|0x0080|0\n头前|0x2000000|27887\n头钱|0x100000|47514\n头球|0x100000|19599\n头人|0x100000|16433\n头纱|0x0080|47200\n头生|0x100000|44829\n头绳|0x100000|35887\n头虱|0x0080|1213\n头式|0x100000|1081\n头饰|0x100000|35114\n头胎|0x0080|42052\n头套|0x100000|884\n头疼|0x1000|10546\n头天|0x4000|24147\n头痛|0x100000|9086\n头头|0x100000|772\n头陀|0x100000|958\n头晚|0x4000|0\n头维|0x0008|0\n头尾|0x100000|34391\n头先|0x8000000|929\n头衔|0x100000|12520\n头像|0x100000|17210\n头屑|0x0080|468\n头型|0x100000|861\n头绪|0x100000|15710\n头癣|0x100000|51588\n头雁|0x100000|40228\n头羊|0x100000|39801\n头油|0x100000|49983\n头晕|0x40000000|14333\n头罩|0x100000|1000\n头子|0x100000|16476\n头座|0x100000|0\n投案|0x1000|21821\n投保|0x1000|9668\n投奔|0x1000|15882\n投标|0x1000|8100\n投产|0x1000|5239\n投诚|0x1000|20551\n投出|0x0000|535\n投弹|0x1000|29891\n投敌|0x1000|34104\n投递|0x1000|16496\n投毒|0x1000|26417\n投放|0x1000|7185\n投稿|0x1000|17004\n投工|0x1000|26287\n投合|0x1000|40229\n投河|0x1000|31786\n投壶|0x1000|1133\n投缳|0x1000|1241\n投机|0x1000|10187\n投寄|0x1000|37082\n投降|0x1000|5516\n投进|0x1000|556\n投井|0x1000|39179\n投军|0x1000|32937\n投考|0x1000|33979\n投靠|0x1000|20713\n投篮|0x1000|25512\n投料|0x1000|39180\n投拍|0x1000|40025\n投票|0x1000|4020\n投弃|0x1000|9\n投契|0x1000|961\n投钱|0x1000|944\n投枪|0x100000|40887\n投亲|0x1000|49617\n投球|0x1000|907\n投入|0x1000|1004\n投射|0x1000|19568\n投身|0x1000|5634\n投生|0x1000|44248\n投师|0x1000|50743\n投石|0x1000|914\n投手|0x100000|860\n投书|0x1000|32308\n投水|0x0000|27737\n投送|0x1000|35888\n投诉|0x1000|4095\n投宿|0x1000|31911\n投梭|0x0008|0\n投胎|0x1000|37250\n投喂|0x0000|48896\n投下|0x0000|576\n投向|0x100000|7068\n投效|0x1000|1047\n投药|0x1000|47835\n投医|0x1000|41808\n投影|0x1000|17290\n投映|0x0000|54516\n投缘|0x40000000|38570\n投掷|0x1000|18347\n投中|0x1000|820\n投注|0x1000|35285\n投资|0x1000|892\n投足|0x0008|890\n骰子|0x100000|28219\n透辟|0x40000000|45710\n透彻|0x40000000|12612\n透出|0x1000|647\n透底|0x1000|46903\n透顶|0x1000|24078\n透风|0x1000|21543\n透骨|0x1000|43285\n透光|0x1000|28139\n透过|0x1000|503\n透汗|0x100000|51590\n透镜|0x100000|15610\n透亮|0x40000000|20633\n透漏|0x1000|53977\n透露|0x1000|3481\n透明|0x40000000|3927\n透平|0x20000000|1006\n透气|0x1000|23244\n透入|0x0000|487\n透射|0x1000|25447\n透视|0x100000|11752\n透水|0x0080|24601\n透析|0x1000|31341\n透信|0x1000|0\n透雨|0x100000|41341\n透照|0x0080|0\n透支|0x1000|17727\n凸凹|0x100000|914\n凸版|0x100000|54959\n凸边|0x100000|0\n凸出|0x1000|26079\n凸镜|0x100000|1172\n凸轮|0x100000|53978\n凸面|0x100000|1112\n凸起|0x1000|28413\n凸显|0x1000|11652\n凸现|0x1000|12045\n凸缘|0x100000|1119\n秃笔|0x100000|44001\n秃疮|0x100000|1336\n秃顶|0x100000|28576\n秃发|0x0000|425\n秃鹫|0x100000|44830\n秃山|0x100000|27569\n秃头|0x100000|20882\n秃秃|0x0100|769\n秃鹰|0x100000|43762\n秃子|0x100000|17954\n突变|0x100000|11327\n突出|0x40000000|1077\n突触|0x100000|1043\n突堤|0x100000|1265\n突地|0x8000000|879\n突发|0x1000|5633\n突防|0x1000|1046\n突击|0x1000|8111\n突进|0x1000|28873\n突厥|0x0008|12471\n突破|0x1000|1706\n突起|0x100000|18854\n突泉|0x0080|1072\n突然|0x40000000|741\n突入|0x1000|19499\n突审|0x0000|44831\n突突|0x80000|20182\n突围|0x1000|10888\n突兀|0x1000|19236\n突袭|0x1000|20421\n突显|0x1000|31220\n突现|0x1000|31094\n突遇|0x0000|37430\n突增|0x1000|1023\n图案|0x100000|5935\n图板|0x100000|38169\n图版|0x100000|50744\n图报|0x1000|840\n图标|0x100000|573\n图表|0x100000|17672\n图册|0x100000|33044\n图存|0x1000|32053\n图典|0x0000|52012\n图钉|0x100000|42054\n图画|0x100000|8250\n图籍|0x100000|45711\n图记|0x100000|1025\n图鉴|0x100000|54960\n图解|0x1000|28772\n图景|0x100000|17903\n图卷|0x0000|49255\n图库|0x100000|487\n图框|0x0008|0\n图拉|0x0080|1502\n图利|0x1000|44249\n图例|0x100000|53979\n图录|0x100000|43286\n图们|0x0040|1544\n图名|0x100000|1068\n图谋|0x100000|9843\n图片|0x100000|2114\n图谱|0x100000|22514\n图示|0x100000|38767\n图式|0x100000|946\n图书|0x100000|3215\n图说|0x100000|26704\n图腾|0x100000|19753\n图文|0x100000|479\n图象|0x100000|636\n图像|0x100000|6927\n图形|0x100000|10038\n图样|0x100000|26226\n图章|0x100000|21173\n图纸|0x100000|12003\n徒步|0x1000|14413\n徒长|0x1000|1093\n徒弟|0x100000|10953\n徒工|0x0000|38571\n徒劳|0x40000000|19935\n徒然|0x8000000|21041\n徒涉|0x1000|1279\n徒手|0x20000000|28140\n徒孙|0x100000|52466\n徒刑|0x100000|20332\n涂白|0x0008|1042\n涂层|0x100000|22649\n涂改|0x1000|24464\n涂黑|0x0000|463\n涂胶|0x100000|932\n涂料|0x100000|11849\n涂满|0x0000|485\n涂抹|0x1000|16724\n涂片|0x100000|51591\n涂漆|0x100000|982\n涂色|0x1000|975\n涂上|0x0000|598\n涂饰|0x1000|46303\n涂刷|0x4000000|934\n涂炭|0x100000|30328\n涂写|0x1000|42055\n涂鸦|0x100000|32436\n涂乙|0x1000|0\n涂油|0x0008|1063\n荼毒|0x1000|35889\n途程|0x100000|45712\n途经|0x1000|12535\n途径|0x100000|1967\n途中|0x8000|5543\n屠场|0x100000|1001\n屠城|0x1000|39609\n屠刀|0x100000|27888\n屠夫|0x100000|32567\n屠户|0x100000|31342\n屠龙|0x1000|692\n屠戮|0x1000|25161\n屠杀|0x1000|9808\n屠苏|0x100000|1071\n屠宰|0x1000|11975\n土坝|0x100000|44250\n土邦|0x100000|1232\n土包|0x100000|48161\n土堡|0x100000|0\n土崩|0x100000|1145\n土鳖|0x100000|47515\n土布|0x100000|29143\n土层|0x100000|20714\n土产|0x100000|26638\n土城|0x100000|1320\n土地|0x100000|5423\n土豆|0x100000|9076\n土堆|0x100000|902\n土墩|0x100000|43524\n土遁|0x1000|1031\n土法|0x100000|25787\n土方|0x100000|19600\n土房|0x100000|33579\n土肥|0x100000|33324\n土匪|0x100000|7553\n土粪|0x100000|0\n土风|0x100000|1141\n土蜂|0x100000|1195\n土改|0x1000|13322\n土岗|0x100000|28960\n土埂|0x100000|50745\n土工|0x100000|815\n土狗|0x100000|892\n土棍|0x100000|1400\n土豪|0x100000|23510\n土话|0x100000|23511\n土黄|0x100000|44832\n土货|0x100000|49256\n土鸡|0x0008|871\n土籍|0x100000|1413\n土家|0x0008|1163\n土建|0x100000|23669\n土坎|0x100000|1090\n土炕|0x100000|20920\n土坑|0x100000|26841\n土块|0x100000|965\n土筐|0x0000|52974\n土牢|0x100000|1213\n土路|0x100000|19265\n土伦|0x0080|1542\n土名|0x0000|53447\n土木|0x100000|25513\n土牛|0x100000|1159\n土坯|0x100000|17494\n土坡|0x100000|23830\n土气|0x40000000|26001\n土墙|0x100000|879\n土丘|0x100000|28577\n土壤|0x100000|2870\n土人|0x100000|23719\n土色|0x100000|1001\n土山|0x0040|32688\n土生|0x100000|956\n土石|0x100000|889\n土司|0x100000|5798\n土俗|0x100000|54961\n土豚|0x100000|1314\n土温|0x100000|53981\n土物|0x100000|1257\n土戏|0x100000|1376\n土系|0x100000|943\n土星|0x0008|21822\n土性|0x100000|54962\n土药|0x0000|53982\n土音|0x100000|1213\n土语|0x100000|27003\n土葬|0x100000|30763\n土灶|0x100000|1119\n土造|0x0000|46305\n土纸|0x100000|1164\n土制|0x20000000|1019\n土质|0x100000|18445\n土种|0x100000|1171\n土著|0x100000|15438\n土族|0x0008|30329\n吐出|0x1000|698\n吐蕃|0x0040|15822\n吐口|0x1000|35286\n吐露|0x1000|20921\n吐沫|0x100000|37787\n吐气|0x1000|21736\n吐弃|0x1000|0\n吐丝|0x0000|34535\n吐司|0x100000|899\n吐酸|0x0008|0\n吐穗|0x1000|52975\n吐痰|0x0000|16567\n吐吐|0x0000|462\n吐泻|0x1000|1104\n吐絮|0x0000|54517\n吐血|0x1000|25449\n吐艳|0x1000|1002\n吐属|0x100000|0\n吐字|0x0000|34236\n兔唇|0x100000|53449\n兔毫|0x100000|1190\n兔毛|0x100000|831\n兔年|0x4000|1106\n兔皮|0x100000|1009\n兔肉|0x100000|883\n兔脱|0x1000|0\n兔子|0x100000|9262\n湍急|0x40000000|22701\n湍流|0x100000|20334\n团拜|0x1000|38989\n团部|0x100000|990\n团长|0x100000|684\n团场|0x100000|1005\n团丁|0x100000|1254\n团队|0x100000|6918\n团费|0x100000|34856\n团粉|0x100000|55945\n团风|0x0080|0\n团服|0x100000|1\n团干|0x100000|1012\n团歌|0x0000|52468\n团徽|0x100000|49257\n团伙|0x100000|6193\n团籍|0x100000|53450\n团结|0x40000000|1206\n团聚|0x1000|10732\n团课|0x100000|1115\n团块|0x100000|1069\n团里|0x8000|852\n团粒|0x100000|1198\n团练|0x100000|33175\n团年|0x100000|1003\n团弄|0x1000|0\n团脐|0x100000|1330\n团旗|0x100000|43763\n团日|0x4000|42309\n团扇|0x100000|36890\n团身|0x100000|1167\n团体|0x100000|1985\n团团|0x8000000|646\n团委|0x100000|685\n团校|0x100000|957\n团音|0x100000|1539\n团鱼|0x100000|1172\n团员|0x100000|9297\n团圆|0x100000|13057\n团藻|0x100000|1541\n团章|0x100000|52469\n团职|0x100000|1106\n团子|0x100000|34237\n团坐|0x1000|0\n彖辞|0x100000|0\n推测|0x1000|9977\n推车|0x100000|710\n推迟|0x1000|6922\n推崇|0x1000|13141\n推出|0x1000|1915\n推辞|0x1000|13159\n推戴|0x1000|28773\n推宕|0x1000|0\n推导|0x1000|23344\n推倒|0x1000|14995\n推定|0x1000|23289\n推动|0x1000|1246\n推度|0x1000|1275\n推断|0x100000|14129\n推翻|0x1000|6389\n推服|0x1000|0\n推杆|0x0008|899\n推广|0x1000|1700\n推后|0x1000|892\n推回|0x1000|960\n推及|0x1000|49258\n推挤|0x1000|48901\n推见|0x1000|49984\n推荐|0x1000|3154\n推介|0x1000|9948\n推进|0x1000|1376\n推究|0x1000|43764\n推举|0x1000|13345\n推拒|0x1000|1031\n推开|0x1000|5109\n推拉|0x0008|853\n推理|0x1000|11321\n推力|0x100000|24529\n推论|0x100000|17574\n推磨|0x1000|898\n推拿|0x1000|37431\n推普|0x0000|47203\n推敲|0x1000|14476\n推求|0x1000|51592\n推却|0x1000|38768\n推让|0x1000|28310\n推入|0x1000|815\n推搡|0x1000|33826\n推事|0x100000|0\n推手|0x1000|822\n推说|0x1000|25514\n推送|0x1000|774\n推算|0x1000|13958\n推搪|0x1000|995\n推头|0x0000|54963\n推推|0x1000|723\n推托|0x1000|25293\n推脱|0x1000|28141\n推诿|0x1000|12576\n推问|0x1000|0\n推下|0x0000|524\n推想|0x1000|23887\n推向|0x1000|598\n推销|0x1000|7586\n推卸|0x1000|14528\n推谢|0x1000|0\n推行|0x1000|2301\n推许|0x1000|0\n推选|0x1000|11879\n推延|0x1000|45121\n推衍|0x0008|0\n推演|0x1000|32689\n推移|0x1000|13864\n推展|0x1000|893\n推知|0x1000|39389\n推重|0x1000|36544\n推子|0x100000|46599\n推走|0x1000|1058\n推尊|0x1000|0\n颓败|0x40000000|32437\n颓放|0x40000000|0\n颓废|0x40000000|18068\n颓风|0x100000|0\n颓靡|0x40000000|53452\n颓圮|0x40000000|1090\n颓然|0x0100|20215\n颓丧|0x40000000|23952\n颓势|0x100000|26288\n颓唐|0x40000000|24603\n腿部|0x100000|726\n腿带|0x100000|0\n腿脚|0x100000|19286\n腿勤|0x40000000|1159\n腿子|0x100000|24296\n退败|0x0008|0\n退保|0x1000|928\n退避|0x1000|29144\n退兵|0x1000|21322\n退步|0x100000|24662\n退场|0x1000|26781\n退朝|0x1000|950\n退潮|0x1000|31095\n退出|0x1000|496\n退磁|0x1000|1088\n退党|0x1000|41342\n退到|0x0000|613\n退佃|0x1000|0\n退掉|0x1000|859\n退订|0x0008|872\n退稿|0x1000|1000\n退耕|0x1000|4203\n退股|0x0000|418\n退后|0x1000|17643\n退化|0x1000|8117\n退还|0x1000|9177\n退换|0x1000|29265\n退回|0x1000|7807\n退婚|0x1000|38769\n退火|0x1000|884\n退伙|0x1000|1161\n退货|0x1000|16497\n退浆|0x100000|1165\n退居|0x1000|23007\n退款|0x1000|26705\n退离|0x0008|1096\n退礼|0x0000|54518\n退路|0x100000|18855\n退赔|0x1000|31553\n退票|0x1000|25852\n退坡|0x1000|0\n退钱|0x0008|911\n退亲|0x1000|49618\n退去|0x1000|711\n退却|0x1000|17100\n退让|0x1000|17644\n退热|0x1000|43525\n退入|0x0000|481\n退色|0x1000|819\n退烧|0x1000|39181\n退守|0x1000|25219\n退税|0x1000|715\n退缩|0x1000|12784\n退堂|0x1000|1077\n退庭|0x1000|52976\n退团|0x0000|52977\n退位|0x1000|21084\n退伍|0x1000|12635\n退席|0x1000|41574\n退下|0x0000|603\n退行|0x0000|376\n退休|0x1000|3080\n退学|0x1000|17851\n退押|0x1000|1430\n退养|0x1000|1089\n退役|0x1000|8796\n退隐|0x1000|36376\n退赃|0x1000|46904\n退职|0x1000|28414\n退走|0x1000|21923\n退租|0x1000|1041\n蜕变|0x1000|17426\n蜕化|0x1000|33689\n蜕皮|0x1000|38170\n褪去|0x1000|700\n褪色|0x1000|20216\n吞并|0x1000|21924\n吞剥|0x1000|0\n吞吃|0x0000|33980\n吞服|0x1000|45122\n吞金|0x1000|49619\n吞进|0x0080|0\n吞没|0x1000|18932\n吞灭|0x1000|52978\n吞声|0x1000|24915\n吞蚀|0x0000|52979\n吞食|0x1000|23831\n吞噬|0x1000|13568\n吞吐|0x1000|20787\n吞下|0x0000|603\n吞咽|0x1000|25372\n屯兵|0x1000|18544\n屯昌|0x0080|990\n屯积|0x1000|48523\n屯集|0x1000|1207\n屯聚|0x1000|52980\n屯垦|0x1000|27806\n屯粮|0x1000|51593\n屯留|0x0080|1060\n屯落|0x100000|0\n屯门|0x0040|1470\n屯守|0x1000|44531\n屯田|0x1000|29892\n屯扎|0x1000|1191\n屯驻|0x1000|1122\n屯子|0x100000|1098\n豚草|0x0008|974\n豚鼠|0x100000|43526\n臀部|0x100000|675\n臀尖|0x100000|52981\n臀鳍|0x100000|1211\n臀围|0x100000|47837\n臀疣|0x100000|1541\n托庇|0x1000|47204\n托病|0x0000|40230\n托钵|0x0000|381\n托长|0x0008|1241\n托词|0x100000|23558\n托辞|0x100000|23558\n托德|0x0080|1469\n托底|0x0000|51594\n托儿|0x100000|29675\n托福|0x100000|30444\n托付|0x1000|20422\n托孤|0x1000|42798\n托故|0x1000|42056\n托管|0x1000|12264\n托疾|0x1000|0\n托架|0x100000|908\n托举|0x1000|1006\n托里|0x0080|1502\n托轮|0x0008|1229\n托梦|0x1000|43049\n托名|0x0000|34105\n托派|0x0008|1143\n托盘|0x100000|22958\n托起|0x1000|731\n托人|0x0000|14935\n托身|0x0000|49985\n托生|0x1000|39802\n托收|0x1000|45715\n托熟|0x1000|0\n托维|0x0080|1178\n托幼|0x100000|985\n托运|0x1000|20456\n托住|0x1000|528\n托子|0x100000|46600\n托座|0x100000|1252\n拖把|0x100000|37791\n拖靶|0x0008|3\n拖板|0x100000|1119\n拖驳|0x100000|1414\n拖布|0x100000|46601\n拖长|0x1000|896\n拖车|0x100000|28874\n拖出|0x0000|557\n拖船|0x100000|43287\n拖沓|0x40000000|31221\n拖带|0x1000|40888\n拖地|0x1000|789\n拖吊|0x0008|0\n拖动|0x0008|718\n拖斗|0x100000|47517\n拖放|0x0000|582\n拖挂|0x1000|1124\n拖垮|0x1000|871\n拖拉|0x40000000|23345\n拖累|0x1000|19500\n拖轮|0x100000|44834\n拖欠|0x1000|4037\n拖腔|0x100000|51595\n拖堂|0x1000|53453\n拖网|0x100000|40454\n拖鞋|0x100000|14816\n拖延|0x1000|9528\n拖曳|0x1000|41575\n拖运|0x1000|54520\n拖住|0x1000|814\n拖着|0x0000|668\n脱靶|0x1000|51596\n脱班|0x1000|0\n脱产|0x1000|21925\n脱臭|0x100000|1032\n脱出|0x1000|840\n脱除|0x1000|1024\n脱党|0x1000|47838\n脱档|0x1000|1296\n脱掉|0x1000|662\n脱毒|0x1000|992\n脱发|0x1000|40231\n脱岗|0x1000|1110\n脱肛|0x1000|1028\n脱稿|0x1000|35891\n脱钩|0x1000|14459\n脱光|0x1000|686\n脱轨|0x1000|39182\n脱货|0x1000|0\n脱机|0x1000|783\n脱缰|0x1000|43765\n脱胶|0x1000|53454\n脱节|0x1000|13323\n脱臼|0x1000|44835\n脱开|0x1000|953\n脱壳|0x100000|41810\n脱空|0x1000|1221\n脱口|0x1000|15327\n脱困|0x1000|8320\n脱离|0x1000|2917\n脱粒|0x1000|33827\n脱硫|0x1000|782\n脱漏|0x1000|53455\n脱落|0x1000|12258\n脱盲|0x1000|44252\n脱毛|0x1000|45123\n脱帽|0x1000|34238\n脱模|0x1000|864\n脱泡|0x100000|1131\n脱坯|0x1000|53983\n脱皮|0x1000|36891\n脱贫|0x1000|7991\n脱期|0x1000|0\n脱气|0x100000|1036\n脱氢|0x1000|1000\n脱去|0x0000|582\n脱色|0x1000|40232\n脱涩|0x1000|1271\n脱身|0x1000|15962\n脱手|0x1000|31554\n脱售|0x0008|0\n脱水|0x1000|19825\n脱俗|0x1000|31222\n脱酸|0x4000000|0\n脱胎|0x1000|28220\n脱碳|0x100000|1103\n脱逃|0x1000|26418\n脱兔|0x0000|52983\n脱位|0x1000|48902\n脱误|0x100000|1229\n脱下|0x0000|673\n脱险|0x1000|22370\n脱销|0x1000|29266\n脱卸|0x1000|53456\n脱盐|0x100000|52984\n脱氧|0x1000|43288\n脱衣|0x0000|634\n脱颖|0x8000000|1056\n脱羽|0x1000|0\n脱脂|0x1000|38770\n驮轿|0x100000|1355\n驮马|0x100000|1199\n驮运|0x0000|42057\n驮子|0x100000|37877\n陀罗|0x100000|481\n陀螺|0x100000|26002\n坨子|0x100000|47206\n沱茶|0x100000|55486\n沱江|0x0040|1446\n驼背|0x100000|18348\n驼峰|0x100000|40233\n驼铃|0x100000|36892\n驼鹿|0x100000|1150\n驼马|0x100000|1184\n驼毛|0x0000|53985\n驼鸟|0x0000|446\n驼群|0x100000|1300\n驼绒|0x100000|37432\n驼色|0x100000|47207\n驼子|0x100000|1088\n砣子|0x100000|1195\n鸵鸟|0x100000|24252\n妥当|0x40000000|10756\n妥靠|0x40000000|0\n妥善|0x40000000|4129\n妥实|0x40000000|1400\n妥贴|0x40000000|948\n妥帖|0x40000000|33325\n妥协|0x1000|8347\n椭球|0x100000|1158\n椭圆|0x100000|22959\n拓拔|0x100000|517\n拓本|0x100000|39380\n拓地|0x1000|1173\n拓荒|0x1000|31912\n拓垦|0x1000|0\n拓宽|0x1000|4788\n拓片|0x100000|36717\n拓扑|0x100000|810\n拓朴|0x0080|1001\n拓印|0x0080|43039\n拓展|0x1000|3766\n拓殖|0x0008|1136\n唾骂|0x1000|31223\n唾沫|0x100000|11136\n唾弃|0x1000|21544\n唾腺|0x0008|0\n唾液|0x100000|21773\n唾余|0x100000|0\n哇啦|0x80000|24985\n哇塞|0x80000|783\n哇哇|0x80000|19715\n娃儿|0x100000|766\n娃娃|0x100000|5385\n娃子|0x100000|11209\n挖补|0x1000|52470\n挖出|0x100000|734\n挖除|0x1000|1204\n挖洞|0x1000|913\n挖方|0x100000|1172\n挖掘|0x1000|4829\n挖开|0x0000|479\n挖坑|0x1000|845\n挖空|0x0000|466\n挖苦|0x1000|15493\n挖泥|0x1000|1031\n挖潜|0x1000|20677\n挖上|0x1000|0\n挖土|0x1000|904\n洼地|0x100000|19039\n洼陷|0x100000|0\n蛙鸣|0x100000|36545\n蛙人|0x100000|52471\n蛙式|0x0000|389\n蛙跳|0x100000|988\n蛙泳|0x100000|15770\n瓦当|0x100000|46905\n瓦刀|0x100000|43766\n瓦尔|0x0080|1477\n瓦房|0x100000|15667\n瓦工|0x100000|36056\n瓦沟|0x0040|1268\n瓦罐|0x100000|27004\n瓦灰|0x100000|51597\n瓦匠|0x100000|37433\n瓦解|0x1000|12941\n瓦块|0x100000|1072\n瓦蓝|0x100000|41345\n瓦楞|0x100000|45716\n瓦砾|0x100000|20335\n瓦垄|0x100000|1308\n瓦盆|0x100000|31224\n瓦片|0x100000|30549\n瓦器|0x100000|1133\n瓦圈|0x100000|1384\n瓦全|0x1000|909\n瓦舍|0x100000|1060\n瓦斯|0x100000|9231\n瓦松|0x0080|1213\n瓦特|0x20000|28221\n瓦屋|0x100000|948\n瓦窑|0x100000|1541\n佤族|0x0008|33981\n袜带|0x100000|54521\n袜底|0x100000|1186\n袜套|0x100000|1011\n袜筒|0x100000|53457\n袜子|0x100000|9540\n腽肭|0x40000000|0\n歪才|0x100000|1166\n歪道|0x100000|42799\n歪风|0x100000|17241\n歪理|0x100000|13998\n歪路|0x0040|1041\n歪门|0x0040|1093\n歪曲|0x1000|8113\n歪诗|0x100000|1005\n歪斜|0x40000000|27968\n歪着|0x0000|571\n歪嘴|0x0000|442\n外办|0x100000|1020\n外包|0x0008|657\n外币|0x100000|13296\n外壁|0x0000|472\n外边|0x100000|5669\n外表|0x100000|9137\n外宾|0x100000|17852\n外部|0x2000000|3633\n外埠|0x100000|26570\n外财|0x100000|48903\n外侧|0x2000000|783\n外层|0x100000|28056\n外差|0x100000|1082\n外长|0x100000|774\n外厂|0x100000|1252\n外场|0x100000|34106\n外钞|0x100000|54964\n外城|0x0000|26706\n外出|0x1000|3733\n外传|0x100000|20922\n外存|0x100000|52985\n外带|0x100000|32182\n外岛|0x0008|987\n外道|0x100000|39803\n外敌|0x100000|31678\n外地|0x100000|3404\n外电|0x100000|28495\n外调|0x1000|24853\n外耳|0x100000|54522\n外翻|0x0000|478\n外藩|0x100000|0\n外方|0x100000|13142\n外访|0x1000|1168\n外放|0x1000|857\n外敷|0x1000|44002\n外感|0x100000|42559\n外港|0x100000|52986\n外公|0x100000|17759\n外功|0x100000|49620\n外购|0x1000|922\n外挂|0x100000|578\n外关|0x0008|1\n外观|0x100000|10115\n外馆|0x0008|1\n外国|0x100000|919\n外海|0x100000|30445\n外号|0x100000|16063\n外化|0x1000|956\n外患|0x100000|32054\n外汇|0x100000|3609\n外货|0x100000|50748\n外祸|0x100000|1352\n外籍|0x100000|9606\n外加|0x1000|14015\n外家|0x100000|37251\n外嫁|0x0000|51165\n外间|0x100000|18446\n外交|0x100000|2056\n外角|0x100000|1112\n外教|0x0000|36724\n外接|0x0000|633\n外界|0x100000|5682\n外借|0x1000|40027\n外经|0x100000|842\n外景|0x100000|25162\n外径|0x100000|54965\n外舅|0x100000|0\n外军|0x100000|922\n外科|0x100000|6988\n外壳|0x100000|23194\n外客|0x100000|1036\n外寇|0x100000|45718\n外快|0x100000|33441\n外廓|0x100000|1124\n外来|0x20000000|3343\n外力|0x100000|15823\n外联|0x100000|809\n外流|0x1000|17396\n外露|0x1000|26639\n外路|0x100000|43050\n外轮|0x100000|38572\n外卖|0x100000|34857\n外贸|0x100000|3902\n外貌|0x100000|20788\n外门|0x0000|460\n外面|0x2000000|2204\n外排|0x1000|1060\n外派|0x1000|32439\n外皮|0x100000|846\n外聘|0x0000|40658\n外婆|0x100000|8047\n外戚|0x100000|26571\n外企|0x100000|13841\n外迁|0x1000|26640\n外欠|0x1000|0\n外强|0x100000|1\n外墙|0x100000|695\n外侨|0x100000|45124\n外切|0x1000|1145\n外亲|0x100000|36546\n外勤|0x100000|36893\n外倾|0x1000|0\n外圈|0x0008|916\n外人|0x100000|7143\n外伤|0x100000|23832\n外商|0x100000|3659\n外设|0x0008|605\n外肾|0x100000|1298\n外渗|0x0000|395\n外生|0x20000000|1021\n外甥|0x100000|16410\n外省|0x100000|751\n外史|0x100000|29145\n外市|0x100000|1095\n外事|0x100000|9385\n外手|0x2000000|1\n外水|0x100000|1120\n外孙|0x100000|19411\n外胎|0x100000|55487\n外滩|0x0080|1134\n外逃|0x1000|22371\n外套|0x100000|15049\n外头|0x2000000|11556\n外围|0x2000000|10540\n外文|0x100000|15155\n外屋|0x100000|22130\n外侮|0x100000|31679\n外务|0x100000|23133\n外县|0x100000|1057\n外线|0x100000|18972\n外乡|0x100000|29571\n外相|0x100000|874\n外向|0x1000|20252\n外项|0x100000|1199\n外销|0x1000|16662\n外泄|0x1000|38772\n外心|0x100000|43767\n外星|0x100000|746\n外行|0x100000|14547\n外形|0x100000|12472\n外型|0x100000|638\n外姓|0x100000|42310\n外烟|0x0008|0\n外延|0x100000|792\n外沿|0x0000|52473\n外焰|0x100000|1268\n外扬|0x1000|36894\n外洋|0x100000|0\n外衣|0x100000|11701\n外溢|0x1000|40235\n外因|0x100000|22902\n外阴|0x100000|825\n外引|0x1000|40236\n外用|0x20000000|31555\n外语|0x100000|6624\n外域|0x100000|50361\n外遇|0x100000|23346\n外援|0x100000|8989\n外缘|0x100000|37792\n外院|0x0000|36057\n外运|0x100000|19994\n外在|0x100000|11472\n外债|0x100000|10379\n外罩|0x100000|38773\n外痔|0x100000|55488\n外置|0x0008|741\n外转|0x0000|434\n外资|0x100000|2629\n外子|0x100000|402\n外族|0x100000|31225\n弯刀|0x100000|824\n弯道|0x100000|31449\n弯度|0x100000|53458\n弯弓|0x100000|830\n弯管|0x100000|475\n弯角|0x100000|972\n弯矩|0x100000|1102\n弯路|0x100000|21015\n弯曲|0x100000|11404\n弯身|0x0000|493\n弯头|0x100000|53459\n弯弯|0x1000|638\n弯下|0x0000|576\n弯腰|0x1000|11255\n弯子|0x100000|28672\n湾泊|0x1000|0\n湾流|0x100000|1009\n湾头|0x0040|1046\n湾仔|0x0080|1331\n蜿蜒|0x8000000|12073\n豌豆|0x100000|19826\n丸剂|0x100000|53460\n丸药|0x100000|39390\n丸子|0x100000|28496\n纨绔|0x100000|38375\n纨扇|0x100000|1111\n完败|0x0000|55831\n完备|0x40000000|7476\n完毕|0x1000|5934\n完璧|0x100000|1034\n完成|0x1000|501\n完蛋|0x1000|22516\n完稿|0x1000|38573\n完工|0x1000|8193\n完好|0x40000000|11289\n完婚|0x1000|34858\n完结|0x1000|16114\n完聚|0x1000|0\n完竣|0x1000|1237\n完粮|0x1000|1276\n完了|0x1000|10957\n完满|0x40000000|26289\n完美|0x40000000|5822\n完全|0x8000000|241\n完人|0x100000|37990\n完善|0x1000|1393\n完胜|0x0000|35001\n完事|0x1000|15780\n完税|0x1000|24663\n完小|0x100000|899\n完整|0x40000000|1997\n玩伴|0x0008|549\n玩儿|0x1000|684\n玩法|0x100000|677\n玩忽|0x1000|17929\n玩火|0x1000|34107\n玩家|0x100000|480\n玩具|0x100000|6533\n玩乐|0x1000|33176\n玩命|0x1000|752\n玩弄|0x1000|12259\n玩偶|0x100000|34239\n玩牌|0x1000|812\n玩器|0x100000|1251\n玩赏|0x1000|33580\n玩耍|0x1000|11310\n玩水|0x0000|502\n玩玩|0x1000|566\n玩味|0x1000|25450\n玩物|0x100000|24604\n玩笑|0x100000|7688\n玩兴|0x100000|1038\n玩艺|0x100000|810\n玩意|0x100000|596\n顽敌|0x100000|46602\n顽钝|0x100000|1233\n顽匪|0x100000|0\n顽梗|0x40000000|1226\n顽固|0x40000000|8690\n顽疾|0x100000|29793\n顽抗|0x1000|29994\n顽劣|0x40000000|40455\n顽民|0x100000|52474\n顽皮|0x40000000|13479\n顽强|0x40000000|4356\n顽石|0x100000|32819\n顽童|0x100000|27490\n顽癣|0x0008|1111\n顽症|0x100000|17673\n烷基|0x100000|922\n烷烃|0x100000|1005\n宛然|0x1000|34108\n宛如|0x1000|12898\n宛若|0x1000|22595\n宛似|0x1000|0\n宛转|0x1000|894\n挽词|0x100000|50362\n挽歌|0x100000|31096\n挽回|0x1000|7285\n挽救|0x1000|7178\n挽具|0x100000|1232\n挽力|0x100000|1330\n挽联|0x100000|24403\n挽留|0x1000|14803\n挽诗|0x100000|1201\n挽幛|0x100000|49261\n晚安|0x1000|33046\n晚班|0x100000|46603\n晚报|0x100000|8966\n晚辈|0x100000|19754\n晚餐|0x100000|12327\n晚场|0x100000|46604\n晚车|0x100000|52475\n晚春|0x4000|48904\n晚祷|0x0000|384\n晚稻|0x100000|20103\n晚点|0x1000|28875\n晚饭|0x100000|5044\n晚风|0x100000|700\n晚会|0x100000|3480\n晚婚|0x1000|32055\n晚间|0x4000|11578\n晚节|0x100000|34536\n晚近|0x0000|44532\n晚景|0x100000|38574\n晚境|0x100000|0\n晚课|0x100000|1001\n晚恋|0x100000|1237\n晚年|0x100000|8038\n晚娘|0x100000|988\n晚期|0x100000|10904\n晚清|0x4000|809\n晚秋|0x100000|36547\n晚上|0x4000|752\n晚生|0x100000|39804\n晚世|0x4000|0\n晚熟|0x1000|36058\n晚霜|0x100000|829\n晚唐|0x4000|940\n晚霞|0x100000|15234\n晚学|0x100000|0\n晚宴|0x100000|13396\n晚育|0x1000|40028\n晚装|0x100000|766\n莞尔|0x1000|29676\n婉词|0x0000|51598\n婉辞|0x100000|1226\n婉和|0x40000000|0\n婉拒|0x1000|32056\n婉丽|0x40000000|1063\n婉劝|0x0000|49986\n婉商|0x1000|0\n婉顺|0x40000000|53462\n婉惜|0x0080|0\n婉谢|0x0000|49262\n婉言|0x100000|26843\n婉约|0x40000000|750\n婉转|0x40000000|17397\n惋叹|0x1000|0\n惋惜|0x40000000|10513\n皖南|0x0080|1320\n碗橱|0x100000|47519\n碗豆|0x0080|427\n碗柜|0x100000|43527\n碗口|0x100000|899\n碗筷|0x100000|765\n碗盘|0x0080|0\n万安|0x0040|1370\n万般|0x8000000|24253\n万代|0x0000|35115\n万端|0x40000000|27738\n万恶|0x100000|27075\n万方|0x0080|28311\n万分|0x8000000|9649\n万福|0x100000|40237\n万古|0x8000000|27890\n万贯|0x0000|40238\n万国|0x100000|12373\n万机|0x100000|1526\n万金|0x100000|855\n万籁|0x100000|37991\n万历|0x0008|685\n万隆|0x0040|1280\n万米|0x100000|808\n万民|0x100000|22596\n万难|0x100000|30867\n万能|0x1000|17291\n万年|0x0000|17876\n万宁|0x0040|1312\n万千|0x400000|14041\n万顷|0x0000|25374\n万全|0x40000000|30214\n万荣|0x0080|1386\n万盛|0x0080|1208\n万世|0x100000|22372\n万事|0x100000|542\n万死|0x1000|0\n万岁|0x100000|9942\n万万|0x8000000|9351\n万物|0x100000|7674\n万县|0x0040|1538\n万向|0x0008|1251\n万象|0x100000|13527\n万幸|0x40000000|29794\n万一|0x8400000|5717\n万亿|0x400000|662\n万用|0x0008|1179\n万有|0x0000|495\n万源|0x0040|1374\n万载|0x0040|1395\n万丈|0x0000|19237\n万众|0x100000|22338\n万州|0x0040|1208\n万状|0x100000|25515\n腕部|0x100000|1001\n腕儿|0x0000|43528\n腕骨|0x100000|1082\n腕力|0x100000|45408\n腕子|0x100000|35003\n腕足|0x100000|1220\n汪清|0x0080|1542\n汪汪|0x0100|22551\n汪洋|0x100000|18181\n汪子|0x20000|0\n亡党|0x1000|1080\n亡夫|0x100000|1000\n亡父|0x100000|873\n亡故|0x1000|33178\n亡国|0x100000|10973\n亡魂|0x100000|38575\n亡灵|0x100000|24530\n亡命|0x1000|25294\n亡失|0x1000|48524\n亡佚|0x1000|1144\n亡友|0x100000|37992\n王安|0x0080|1550\n王八|0x500000|13092\n王弼|0x0080|1080\n王朝|0x100000|8274\n王充|0x0080|440\n王储|0x100000|20033\n王丹|0x0080|1435\n王道|0x100000|24404\n王法|0x100000|29795\n王妃|0x100000|20883\n王府|0x100000|11158\n王公|0x100000|16746\n王宫|0x100000|13708\n王官|0x0080|1074\n王冠|0x100000|31556\n王国|0x100000|7397\n王侯|0x100000|30103\n王后|0x100000|13690\n王浆|0x100000|54967\n王爵|0x0008|1086\n王码|0x100000|917\n王莽|0x0008|1450\n王蒙|0x0080|1333\n王牌|0x100000|19070\n王权|0x100000|35724\n王蛇|0x0080|1\n王室|0x100000|14197\n王水|0x100000|49991\n王孙|0x100000|22373\n王台|0x0080|1041\n王通|0x100000|1522\n王威|0x0080|982\n王位|0x100000|25051\n王相|0x0000|390\n王爷|0x100000|9016\n王者|0x100000|589\n王政|0x0080|991\n王子|0x100000|11328\n王族|0x100000|42059\n王座|0x100000|735\n网吧|0x100000|5579\n网捕|0x1000|1138\n网布|0x100000|474\n网虫|0x100000|755\n网大|0x0008|827\n网袋|0x100000|42060\n网点|0x100000|6773\n网兜|0x100000|31680\n网段|0x100000|837\n网纲|0x100000|1329\n网格|0x100000|731\n网罟|0x100000|1165\n网关|0x100000|690\n网管|0x100000|46906\n网海|0x100000|804\n网号|0x100000|1025\n网际|0x100000|607\n网架|0x100000|857\n网巾|0x100000|45719\n网景|0x0008|1354\n网具|0x100000|39391\n网卡|0x100000|37434\n网孔|0x0000|436\n网篮|0x100000|42061\n网恋|0x100000|608\n网聊|0x0008|507\n网路|0x0008|527\n网罗|0x100000|25517\n网络|0x100000|1110\n网迷|0x100000|53989\n网民|0x100000|9640\n网名|0x0008|619\n网膜|0x100000|41579\n网目|0x100000|1091\n网球|0x100000|6919\n网上|0x8000|2703\n网绳|0x0000|54524\n网丝|0x0008|1046\n网速|0x100000|667\n网坛|0x100000|829\n网通|0x0008|805\n网窝|0x100000|1004\n网线|0x100000|721\n网箱|0x100000|19863\n网校|0x100000|709\n网眼|0x100000|37253\n网页|0x100000|12098\n网易|0x0008|731\n网游|0x0008|706\n网友|0x100000|8696\n网鱼|0x0008|1096\n网站|0x100000|2864\n网罩|0x100000|917\n网址|0x100000|16725\n网住|0x1000|892\n网状|0x100000|27238\n网子|0x100000|44533\n往北|0x0000|544\n往常|0x4000|9106\n往返|0x1000|9096\n往复|0x1000|28416\n往后|0x1000|7485\n往还|0x1000|29895\n往回|0x1000|679\n往来|0x1000|2852\n往例|0x0008|0\n往南|0x0000|553\n往年|0x4000|6531\n往前|0x1000|548\n往日|0x4000|7284\n往上|0x2000000|675\n往时|0x4000|43052\n往事|0x100000|6433\n往往|0x8000000|677\n往西|0x0000|561\n往昔|0x4000|15883\n往下|0x0000|689\n枉法|0x1000|17314\n枉费|0x1000|38576\n枉顾|0x1000|1078\n枉驾|0x1000|54525\n枉然|0x1000|33179\n枉杀|0x0000|46023\n枉死|0x1000|32309\n枉自|0x8000000|48525\n罔顾|0x1000|992\n罔替|0x1000|0\n惘然|0x0100|18545\n魍魉|0x100000|44003\n妄称|0x1000|44836\n妄动|0x1000|35893\n妄断|0x1000|52988\n妄加|0x0000|32183\n妄念|0x100000|44534\n妄求|0x100000|51600\n妄取|0x1000|54526\n妄人|0x100000|370\n妄说|0x1000|49263\n妄谈|0x0000|46605\n妄图|0x1000|12391\n妄为|0x1000|24726\n妄想|0x100000|15748\n妄言|0x100000|27157\n妄语|0x100000|44837\n忘本|0x1000|28222\n忘带|0x0000|487\n忘掉|0x1000|10198\n忘恩|0x1000|1057\n忘怀|0x1000|20135\n忘记|0x1000|1889\n忘情|0x1000|21175\n忘却|0x1000|9587\n忘我|0x40000000|14497\n忘形|0x1000|25220\n忘性|0x100000|52989\n忘忧|0x0000|546\n旺苍|0x0080|1023\n旺火|0x100000|501\n旺季|0x100000|14398\n旺健|0x40000000|1355\n旺年|0x100000|1036\n旺盛|0x40000000|7448\n旺市|0x100000|1054\n旺旺|0x0008|968\n旺销|0x40000000|36549\n旺月|0x100000|1286\n望板|0x100000|0\n望城|0x0080|1402\n望都|0x0080|1462\n望断|0x1000|862\n望风|0x1000|23393\n望见|0x1000|9669\n望江|0x0080|1262\n望奎|0x0080|1015\n望楼|0x100000|1051\n望谟|0x0080|1085\n望去|0x1000|611\n望日|0x100000|23953\n望望|0x1000|749\n望远|0x1000|668\n望月|0x100000|40239\n望诊|0x100000|1098\n望子|0x100000|1086\n望族|0x100000|34393\n危城|0x100000|45409\n危殆|0x40000000|1063\n危笃|0x40000000|1280\n危房|0x100000|9990\n危害|0x1000|2469\n危机|0x100000|2212\n危及|0x1000|9077\n危急|0x40000000|9801\n危境|0x100000|1055\n危局|0x100000|33982\n危惧|0x1000|1158\n危楼|0x100000|42560\n危难|0x100000|12232\n危情|0x0000|51167\n危途|0x100000|0\n危亡|0x100000|22429\n危险|0x40000000|1250\n危象|0x100000|1052\n危崖|0x100000|1011\n危言|0x100000|45721\n危重|0x40000000|17344\n危坐|0x0000|28057\n威逼|0x1000|26844\n威风|0x40000000|10282\n威海|0x0040|958\n威赫|0x40000000|1169\n威力|0x100000|8605\n威猛|0x40000000|745\n威名|0x100000|26081\n威迫|0x1000|46606\n威权|0x100000|908\n威慑|0x1000|18408\n威势|0x100000|29896\n威望|0x100000|12099\n威武|0x100000|12242\n威吓|0x1000|24664\n威县|0x0040|992\n威胁|0x1000|1822\n威信|0x100000|9138\n威严|0x100000|10665\n威仪|0x100000|33326\n威远|0x0080|1405\n威震|0x0000|28058\n偎傍|0x1000|0\n偎抱|0x1000|1321\n偎贴|0x1000|0\n偎依|0x1000|34859\n偎倚|0x1000|1188\n逶迤|0x40000000|26004\n葳蕤|0x40000000|50749\n微安|0x20000|1050\n微白|0x40000000|410\n微闭|0x1000|876\n微波|0x100000|12813\n微薄|0x40000000|17930\n微尘|0x100000|811\n微臣|0x100000|987\n微词|0x100000|29267\n微辞|0x100000|997\n微带|0x0008|1411\n微雕|0x100000|43772\n微调|0x1000|30973\n微动|0x20000000|1328\n微分|0x100000|820\n微风|0x100000|12121\n微服|0x1000|33047\n微观|0x100000|8348\n微管|0x100000|1099\n微光|0x100000|24201\n微寒|0x0000|49623\n微火|0x0000|52990\n微机|0x100000|10941\n微贱|0x40000000|37435\n微克|0x100000|979\n微孔|0x100000|881\n微澜|0x100000|888\n微利|0x100000|26362\n微粒|0x100000|16477\n微亮|0x100000|1469\n微量|0x100000|20553\n微码|0x100000|1099\n微茫|0x40000000|410\n微米|0x20000|793\n微秒|0x100000|977\n微妙|0x40000000|10623\n微末|0x40000000|54970\n微软|0x0008|784\n微弱|0x40000000|9078\n微山|0x0040|1378\n微少|0x0000|386\n微升|0x20000|986\n微酸|0x0000|485\n微缩|0x1000|33690\n微微|0x8000000|4208\n微细|0x40000000|27239\n微小|0x40000000|11771\n微笑|0x1000|2258\n微星|0x0008|1144\n微行|0x1000|39613\n微型|0x20000000|10555\n微醺|0x1000|809\n微言|0x100000|963\n微恙|0x100000|1075\n微雨|0x100000|833\n巍峨|0x0100|16457\n巍然|0x0100|27491\n巍巍|0x0100|19643\n为伴|0x1000|726\n为此|0x800000|4230\n为辅|0x100000|744\n为官|0x1000|782\n为害|0x1000|17984\n为何|0x10000|3567\n为患|0x1000|18479\n为了|0x40000|130\n为名|0x1000|698\n为难|0x1000|6618\n为期|0x1000|3657\n为人|0x100000|10174\n为啥|0x10000|610\n为上|0x0002|587\n为生|0x1000|11810\n为时|0x1000|12785\n为首|0x1000|4951\n为数|0x1000|11329\n为题|0x100000|777\n为伍|0x1000|22804\n为限|0x0000|31343\n为宜|0x40000000|621\n为由|0x1000|664\n为政|0x1000|857\n为止|0x1000|4112\n为重|0x1000|9883\n为主|0x1000|1405\n为准|0x1000|559\n为着|0x40000|17515\n韦伯|0x100000|1269\n圩堤|0x100000|47210\n圩垸|0x100000|1540\n圩子|0x100000|52478\n围标|0x0008|0\n围脖|0x0008|933\n围捕|0x1000|36725\n围场|0x100000|39805\n围城|0x100000|16934\n围兜|0x0008|1004\n围堵|0x1000|31558\n围攻|0x1000|9334\n围观|0x1000|14367\n围裹|0x1000|41580\n围护|0x1000|958\n围击|0x1000|52992\n围歼|0x1000|32820\n围剿|0x1000|10926\n围巾|0x100000|16387\n围聚|0x1000|39806\n围垦|0x1000|24799\n围困|0x1000|12004\n围栏|0x100000|18222\n围猎|0x1000|40659\n围拢|0x1000|22702\n围屏|0x100000|49625\n围棋|0x100000|5373\n围墙|0x100000|8919\n围裙|0x100000|18480\n围绕|0x1000|1986\n围网|0x100000|42311\n围岩|0x100000|1071\n围堰|0x100000|20480\n围腰|0x0000|40240\n围住|0x1000|712\n围追|0x1000|865\n围桌|0x100000|45722\n围着|0x1000|592\n围子|0x100000|1058\n围嘴|0x100000|1043\n围坐|0x1000|18182\n帏幕|0x100000|54971\n违碍|0x1000|51601\n违拗|0x1000|37622\n违背|0x1000|5263\n违法|0x1000|2076\n违反|0x1000|2358\n违犯|0x1000|20104\n违规|0x1000|4247\n违和|0x1000|0\n违纪|0x1000|4706\n违禁|0x1000|16478\n违抗|0x1000|21823\n违例|0x1000|44839\n违令|0x1000|31557\n违逆|0x1000|49624\n违误|0x1000|0\n违宪|0x1000|30446\n违心|0x40000000|24605\n违约|0x1000|13203\n违章|0x1000|6057\n违者|0x100000|562\n闱场|0x0008|0\n桅灯|0x100000|48527\n桅顶|0x100000|1252\n桅杆|0x100000|28774\n桅樯|0x100000|1268\n唯独|0x8000000|14690\n唯恐|0x1000|14721\n唯美|0x40000000|560\n唯唯|0x0100|502\n唯物|0x100000|29361\n唯心|0x20000000|34109\n唯一|0x20400000|55975\n唯有|0x1000|8171\n帷幔|0x100000|42063\n帷幕|0x100000|5701\n帷幄|0x100000|40890\n帷帐|0x100000|48907\n帷子|0x100000|1296\n惟独|0x8000000|699\n惟恐|0x1000|14721\n惟一|0x40000000|55975\n惟有|0x40000000|8171\n维持|0x1000|2057\n维道|0x0008|0\n维度|0x100000|815\n维和|0x1000|5545\n维护|0x1000|1300\n维艰|0x40000000|815\n维科|0x0008|1467\n维纶|0x0008|939\n维权|0x1000|5855\n维文|0x0008|943\n维希|0x0080|1030\n维系|0x1000|13033\n维新|0x1000|14949\n维修|0x1000|4538\n维族|0x0008|1451\n潍坊|0x0040|958\n伟岸|0x40000000|27891\n伟大|0x40000000|615\n伟哥|0x0008|1189\n伟绩|0x100000|46024\n伟力|0x100000|33581\n伟论|0x100000|0\n伟人|0x100000|7841\n伟业|0x100000|7803\n伪币|0x100000|47840\n伪钞|0x100000|48164\n伪称|0x1000|43773\n伪经|0x100000|0\n伪军|0x100000|13239\n伪劣|0x20000000|14318\n伪满|0x0008|33327\n伪品|0x100000|1124\n伪善|0x40000000|30654\n伪饰|0x100000|45723\n伪书|0x100000|24665\n伪托|0x1000|43774\n伪造|0x1000|7424\n伪证|0x100000|32312\n伪装|0x1000|13517\n伪足|0x100000|1253\n伪作|0x100000|41348\n尾巴|0x100000|4318\n尾部|0x100000|742\n尾灯|0x100000|43054\n尾端|0x2000000|906\n尾段|0x100000|1024\n尾骨|0x100000|52480\n尾花|0x100000|1126\n尾款|0x100000|1025\n尾矿|0x100000|956\n尾楼|0x0040|1177\n尾码|0x0008|0\n尾盘|0x0008|555\n尾鳍|0x100000|1039\n尾气|0x100000|13660\n尾欠|0x100000|1237\n尾声|0x100000|12374\n尾数|0x100000|44005\n尾随|0x1000|19101\n尾牙|0x0008|0\n尾翼|0x100000|41582\n尾音|0x100000|40660\n尾蚴|0x100000|1224\n尾羽|0x100000|45125\n尾注|0x0008|0\n尾追|0x1000|37623\n尾椎|0x0000|54972\n纬度|0x100000|13480\n纬纱|0x100000|1081\n纬书|0x100000|1194\n纬线|0x100000|40891\n苇箔|0x100000|52479\n苇丛|0x100000|39392\n苇荡|0x100000|47522\n苇塘|0x100000|33582\n苇席|0x100000|37793\n苇子|0x100000|31559\n委顿|0x40000000|40661\n委靡|0x1000|412\n委派|0x1000|13588\n委培|0x1000|53464\n委曲|0x100000|27492\n委屈|0x40000000|5201\n委任|0x1000|15866\n委蛇|0x1000|1072\n委身|0x1000|33983\n委实|0x8000000|20457\n委琐|0x40000000|868\n委托|0x1000|3122\n委婉|0x40000000|15594\n委阳|0x0080|0\n委以|0x1000|32440\n委员|0x100000|1261\n委中|0x100000|1153\n委罪|0x1000|1347\n娓娓|0x8000000|26419\n诿过|0x1000|45410\n诿卸|0x1000|0\n诿罪|0x1000|0\n萎黄|0x100000|49992\n萎靡|0x40000000|30868\n萎缩|0x1000|9459\n萎谢|0x1000|49265\n萎蔫|0x1000|50365\n猥琐|0x40000000|31915\n猥亵|0x1000|28142\n痿证|0x100000|1224\n鲔鱼|0x0008|472\n卫兵|0x100000|16308\n卫道|0x1000|35117\n卫队|0x100000|16610\n卫国|0x1000|24666\n卫护|0x1000|35726\n卫辉|0x0040|1451\n卫冕|0x1000|12328\n卫生|0x40000000|1130\n卫士|0x100000|7643\n卫视|0x100000|16747\n卫戍|0x1000|38776\n卫校|0x100000|876\n卫星|0x100000|2377\n卫戌|0x0008|1299\n卫浴|0x100000|611\n未必|0x8000000|4182\n未便|0x1000|19172\n未卜|0x1000|10359\n未尝|0x8000000|8747\n未到|0x0000|621\n未定|0x1000|18374\n未果|0x1000|19906\n未婚|0x1000|18069\n未及|0x1000|741\n未几|0x8000000|898\n未经|0x8000000|4910\n未竟|0x1000|28313\n未决|0x1000|19907\n未可|0x8000000|15009\n未来|0x4000|911\n未了|0x1000|19569\n未免|0x8000000|5418\n未能|0x8000000|2742\n未然|0x1000|17853\n未时|0x4000|47523\n未始|0x8000000|20292\n未熟|0x0000|424\n未遂|0x1000|22960\n未完|0x40000000|622\n未详|0x1000|29146\n未央|0x1000|1158\n未有|0x1000|8722\n未遭|0x1000|1034\n未曾|0x8000000|6287\n未知|0x1000|9611\n位卑|0x0000|40663\n位标|0x0080|0\n位处|0x1000|918\n位次|0x100000|24800\n位居|0x1000|7116\n位能|0x100000|45411\n位势|0x100000|1143\n位数|0x100000|672\n位图|0x100000|824\n位相|0x0080|3\n位移|0x100000|15692\n位于|0x1000|2117\n位元|0x0008|592\n位址|0x0008|1461\n位置|0x100000|1057\n位子|0x100000|12505\n位尊|0x1000|1062\n味道|0x100000|4506\n味儿|0x0000|6968\n味精|0x100000|22430\n味觉|0x100000|28578\n味蕾|0x100000|44536\n味素|0x100000|1084\n畏避|0x1000|51602\n畏服|0x1000|0\n畏光|0x1000|54976\n畏寒|0x0000|47524\n畏忌|0x1000|1131\n畏惧|0x40000000|12769\n畏难|0x1000|23008\n畏怯|0x40000000|26845\n畏缩|0x1000|20962\n畏途|0x100000|47525\n畏友|0x100000|52993\n畏罪|0x1000|30104\n胃癌|0x100000|772\n胃壁|0x0080|1017\n胃病|0x100000|19936\n胃部|0x100000|826\n胃仓|0x0080|0\n胃肠|0x100000|703\n胃窦|0x100000|379\n胃镜|0x100000|37254\n胃口|0x100000|11963\n胃腔|0x0080|0\n胃石|0x0080|0\n胃酸|0x100000|38992\n胃痛|0x0008|752\n胃脘|0x100000|0\n胃腺|0x100000|1294\n胃炎|0x100000|29677\n胃药|0x0008|1451\n胃液|0x100000|40892\n胃俞|0x0080|0\n尉迟|0x0080|536\n尉官|0x100000|49626\n尉犁|0x0080|1008\n尉氏|0x0080|1459\n谓词|0x100000|1053\n谓语|0x100000|25789\n喂饱|0x0080|1\n喂草|0x1000|1\n喂料|0x1000|988\n喂奶|0x1000|27570\n喂食|0x1000|29678\n喂喂|0x0080|562\n喂养|0x1000|13376\n渭河|0x0040|1454\n渭南|0x0040|1234\n渭源|0x0080|1003\n蔚成|0x1000|1173\n蔚蓝|0x100000|19433\n蔚起|0x1000|1245\n蔚然|0x8000000|38777\n蔚为|0x1000|514\n蔚县|0x0040|1523\n慰安|0x1000|21128\n慰抚|0x1000|1106\n慰藉|0x100000|16388\n慰劳|0x1000|17760\n慰留|0x1000|1137\n慰勉|0x1000|39615\n慰问|0x1000|3557\n慰唁|0x100000|1405\n魏碑|0x100000|46907\n魏国|0x0040|1424\n魏晋|0x4000|775\n魏玛|0x0080|992\n魏阙|0x100000|1202\n魏书|0x0000|440\n魏县|0x0040|990\n温饱|0x100000|6312\n温标|0x100000|1118\n温差|0x100000|19434\n温床|0x100000|22024\n温存|0x40000000|18699\n温带|0x100000|18349\n温度|0x100000|2303\n温故|0x0000|453\n温和|0x40000000|8276\n温厚|0x40000000|33048\n温乎|0x40000000|55492\n温江|0x0040|1389\n温酒|0x0000|47211\n温居|0x1000|0\n温觉|0x100000|1302\n温课|0x1000|53465\n温控|0x20000000|45127\n温良|0x40000000|39393\n温岭|0x0040|1170\n温溜|0x0080|0\n温暖|0x40000000|2213\n温情|0x100000|12445\n温泉|0x100000|9440\n温热|0x1000|18631\n温柔|0x40000000|5585\n温软|0x0000|36726\n温润|0x40000000|32821\n温湿|0x1000|44254\n温室|0x100000|7096\n温书|0x1000|49627\n温水|0x100000|26005\n温顺|0x40000000|20067\n温宿|0x0080|1038\n温吞|0x40000000|902\n温暾|0x1000|1252\n温婉|0x40000000|723\n温文|0x40000000|868\n温习|0x1000|24022\n温县|0x0040|1419\n温馨|0x40000000|7073\n温煦|0x40000000|40029\n温驯|0x40000000|43056\n温雅|0x40000000|906\n温州|0x0040|773\n瘟病|0x100000|48165\n瘟神|0x100000|32441\n瘟疫|0x100000|18672\n文安|0x0008|1400\n文案|0x100000|38172\n文本|0x100000|7340\n文笔|0x100000|17145\n文部|0x100000|987\n文才|0x100000|30447\n文采|0x100000|23617\n文昌|0x0040|1194\n文场|0x0080|48166\n文成|0x0080|1261\n文丑|0x0080|1001\n文传|0x100000|28223\n文词|0x100000|0\n文辞|0x100000|30105\n文萃|0x100000|835\n文存|0x100000|999\n文旦|0x100000|1025\n文档|0x0080|24405\n文德|0x100000|42561\n文登|0x0040|1326\n文电|0x100000|1090\n文定|0x100000|978\n文斗|0x1000|897\n文牍|0x100000|37083\n文法|0x100000|22597\n文房|0x100000|896\n文风|0x100000|14227\n文稿|0x100000|16679\n文告|0x100000|26290\n文革|0x0008|652\n文蛤|0x100000|47212\n文官|0x100000|15080\n文翰|0x100000|1072\n文豪|0x100000|22339\n文号|0x100000|787\n文华|0x0008|1134\n文化|0x100000|167\n文汇|0x0008|1342\n文火|0x100000|39808\n文集|0x100000|10175\n文籍|0x100000|0\n文件|0x100000|1306\n文教|0x100000|11964\n文静|0x40000000|19536\n文句|0x100000|27970\n文具|0x100000|19173\n文卷|0x100000|52019\n文康|0x0008|1021\n文科|0x100000|14091\n文库|0x100000|21824\n文侩|0x100000|1286\n文莱|0x0040|1410\n文理|0x100000|23889\n文联|0x100000|791\n文论|0x100000|881\n文脉|0x100000|945\n文盲|0x100000|10905\n文秘|0x100000|29466\n文庙|0x100000|32938\n文名|0x100000|947\n文明|0x100000|927\n文墨|0x100000|27650\n文鸟|0x100000|0\n文痞|0x100000|1025\n文凭|0x100000|8074\n文气|0x100000|46307\n文契|0x100000|53466\n文情|0x100000|1081\n文人|0x100000|5433\n文弱|0x40000000|34395\n文山|0x0080|1163\n文身|0x1000|40894\n文石|0x100000|1107\n文史|0x100000|14284\n文士|0x100000|1442\n文事|0x100000|1136\n文饰|0x100000|40895\n文书|0x100000|6704\n文殊|0x100000|836\n文水|0x0040|1477\n文思|0x100000|33180\n文坛|0x100000|8218\n文体|0x100000|7568\n文童|0x0080|1307\n文玩|0x100000|976\n文武|0x100000|9344\n文物|0x100000|2271\n文檄|0x100000|0\n文戏|0x100000|46308\n文县|0x0040|1541\n文献|0x100000|3818\n文胸|0x100000|53467\n文秀|0x100000|1414\n文选|0x100000|11811\n文学|0x100000|364\n文雅|0x40000000|17101\n文言|0x100000|16434\n文艺|0x100000|424\n文友|0x100000|890\n文娱|0x100000|21042\n文员|0x100000|49995\n文苑|0x100000|746\n文责|0x100000|650\n文摘|0x100000|21242\n文章|0x100000|689\n文职|0x100000|24531\n文治|0x100000|33828\n文中|0x100000|628\n文竹|0x0080|46910\n文字|0x100000|1137\n文宗|0x100000|1555\n纹板|0x100000|1178\n纹沟|0x0040|0\n纹理|0x100000|33442\n纹路|0x100000|30551\n纹身|0x100000|52020\n纹饰|0x100000|33693\n纹样|0x100000|39616\n纹银|0x100000|1022\n闻出|0x0008|1523\n闻达|0x1000|1020\n闻到|0x1000|599\n闻风|0x1000|512\n闻见|0x0000|42313\n闻名|0x1000|7633\n闻人|0x100000|45129\n闻闻|0x0080|1309\n闻悉|0x1000|0\n闻喜|0x0080|1482\n闻香|0x1000|796\n闻讯|0x1000|11718\n闻者|0x100000|893\n闻知|0x0000|487\n蚊虫|0x100000|21774\n蚊蚋|0x0000|420\n蚊香|0x100000|33583\n蚊蝇|0x100000|32058\n蚊帐|0x100000|21043\n蚊子|0x100000|10787\n刎颈|0x0080|0\n吻别|0x1000|43775\n吻合|0x1000|13081\n紊流|0x0008|385\n紊乱|0x40000000|15306\n稳便|0x40000000|54530\n稳步|0x100000|4895\n稳产|0x1000|20336\n稳当|0x40000000|22961\n稳定|0x40000000|988\n稳固|0x40000000|11127\n稳获|0x1000|1046\n稳健|0x40000000|7638\n稳练|0x40000000|1285\n稳拿|0x1000|47213\n稳婆|0x100000|1193\n稳实|0x40000000|1167\n稳态|0x100000|927\n稳妥|0x40000000|7741\n稳稳|0x0100|743\n稳心|0x100000|0\n稳压|0x1000|698\n稳重|0x40000000|18160\n稳住|0x1000|760\n问安|0x1000|30869\n问案|0x1000|45130\n问卜|0x1000|45724\n问答|0x100000|13601\n问道|0x1000|534\n问鼎|0x1000|28673\n问好|0x1000|20337\n问号|0x100000|17315\n问候|0x1000|4024\n问话|0x1000|12716\n问及|0x1000|11529\n问津|0x1000|24298\n问荆|0x100000|1186\n问句|0x100000|35573\n问卷|0x100000|15307\n问路|0x1000|29147\n问难|0x1000|52021\n问起|0x1000|653\n问世|0x1000|6504\n问题|0x100000|64\n问问|0x1000|517\n问心|0x1000|892\n问询|0x1000|31227\n问讯|0x1000|38994\n问责|0x0000|32691\n问斩|0x1000|1062\n问诊|0x1000|37624\n问罪|0x1000|26573\n汶川|0x0040|979\n汶上|0x0080|1493\n揾钱|0x0008|0\n翁姑|0x100000|47526\n翁婿|0x0080|44256\n翁源|0x0080|1421\n翁仲|0x100000|1139\n嗡声|0x0080|0\n嗡嗡|0x80000|718\n蓊郁|0x0100|44537\n瓮安|0x0080|1128\n瓮城|0x0000|38778\n蕹菜|0x100000|53993\n倭瓜|0x100000|35894\n倭寇|0x100000|26782\n涡河|0x0040|1171\n涡流|0x100000|37085\n涡轮|0x100000|767\n涡线|0x100000|0\n涡旋|0x100000|963\n涡阳|0x0080|1454\n莴苣|0x100000|37993\n莴笋|0x100000|43294\n喔喔|0x40000000|813\n喔唷|0x80000|964\n窝憋|0x40000000|0\n窝藏|0x1000|29057\n窝巢|0x100000|1123\n窝点|0x100000|23954\n窝工|0x1000|53468\n窝火|0x40000000|34537\n窝家|0x100000|1210\n窝囊|0x40000000|15457\n窝棚|0x100000|17163\n窝铺|0x100000|43776\n窝气|0x40000000|51169\n窝头|0x100000|24299\n窝窝|0x100000|721\n窝心|0x40000000|39810\n窝赃|0x1000|48529\n窝主|0x100000|54979\n蜗杆|0x100000|918\n蜗角|0x0008|1190\n蜗居|0x100000|40243\n蜗轮|0x100000|895\n蜗牛|0x100000|24080\n蜗旋|0x1000|0\n我辈|0x0008|786\n我部|0x0008|844\n我厂|0x0008|599\n我党|0x0008|862\n我方|0x0008|707\n我国|0x0008|478\n我家|0x0008|492\n我见|0x0000|9394\n我将|0x0000|744\n我军|0x0008|731\n我们|0x10000|20\n我社|0x0008|806\n我省|0x0008|619\n我市|0x0008|587\n我是|0x0000|996\n我县|0x0008|763\n我乡|0x0008|1033\n我想|0x0000|967\n我校|0x0008|634\n我院|0x0008|631\n沃地|0x0080|1167\n沃田|0x0080|1260\n沃土|0x100000|15235\n沃野|0x100000|39394\n沃洲|0x0080|1204\n卧病|0x1000|28579\n卧舱|0x100000|1321\n卧车|0x100000|36377\n卧床|0x1000|22374\n卧倒|0x1000|902\n卧底|0x100000|45725\n卧房|0x100000|19644\n卧佛|0x100000|52022\n卧轨|0x1000|46026\n卧柜|0x0008|0\n卧具|0x100000|42314\n卧龙|0x0040|1130\n卧铺|0x100000|23670\n卧射|0x1000|1076\n卧式|0x100000|730\n卧室|0x100000|7337\n卧榻|0x100000|920\n卧游|0x1000|0\n卧姿|0x0008|392\n握别|0x1000|38995\n握紧|0x1000|671\n握力|0x100000|45726\n握拳|0x1000|42563\n握手|0x1000|5422\n握有|0x1000|821\n握住|0x1000|565\n斡旋|0x1000|13093\n龌龊|0x40000000|23671\n乌尔|0x100000|856\n乌发|0x100000|897\n乌龟|0x100000|14883\n乌海|0x0040|1307\n乌黑|0x1000|13388\n乌呼|0x1000|1156\n乌桓|0x100000|1045\n乌鸡|0x100000|36896\n乌江|0x0040|1338\n乌金|0x100000|42801\n乌桕|0x100000|45413\n乌拉|0x0080|1288\n乌兰|0x0080|1438\n乌亮|0x1000|35434\n乌龙|0x100000|664\n乌梅|0x100000|47527\n乌木|0x100000|41812\n乌恰|0x0040|1106\n乌青|0x100000|44007\n乌纱|0x100000|1002\n乌什|0x0040|1048\n乌苏|0x0040|1371\n乌檀|0x0080|0\n乌头|0x100000|1028\n乌涂|0x1000|1150\n乌鸦|0x100000|11798\n乌药|0x100000|1133\n乌有|0x1000|22375\n乌鱼|0x100000|49629\n乌云|0x100000|11682\n乌枣|0x100000|1243\n乌贼|0x100000|38779\n污点|0x100000|27493\n污垢|0x100000|26574\n污痕|0x100000|51170\n污秽|0x100000|21176\n污迹|0x100000|44538\n污吏|0x100000|1112\n污蔑|0x1000|21085\n污名|0x100000|52481\n污泥|0x100000|20183\n污染|0x1000|1616\n污辱|0x1000|21177\n污水|0x100000|3838\n污损|0x1000|42802\n污物|0x100000|28315\n污浊|0x40000000|19995\n污渍|0x100000|40245\n呜呼|0x1000|19828\n呜叫|0x0000|20912\n呜呜|0x80000|628\n呜咽|0x100000|13042\n呜钟|0x0080|0\n巫女|0x100000|530\n巫婆|0x100000|28498\n巫山|0x0040|1128\n巫神|0x100000|1117\n巫师|0x100000|24606\n巫术|0x100000|26420\n巫溪|0x0040|1352\n巫峡|0x0040|910\n巫医|0x100000|41349\n屋顶|0x100000|7102\n屋基|0x100000|48167\n屋脊|0x100000|21454\n屋架|0x100000|52023\n屋角|0x100000|896\n屋里|0x8000|592\n屋梁|0x100000|1008\n屋门|0x100000|920\n屋面|0x100000|814\n屋内|0x8000|628\n屋企|0x0008|0\n屋前|0x8000|870\n屋舍|0x100000|964\n屋瓦|0x0008|990\n屋外|0x8000|717\n屋檐|0x100000|13053\n屋宇|0x100000|34538\n屋主|0x100000|521\n屋子|0x100000|3136\n诬谤|0x1000|1306\n诬称|0x1000|7\n诬告|0x1000|23095\n诬害|0x1000|52482\n诬控|0x1000|0\n诬赖|0x1000|41584\n诬蔑|0x1000|17795\n诬枉|0x1000|0\n诬陷|0x1000|21368\n诬栽|0x1000|0\n诬指|0x0000|53469\n钨钢|0x100000|891\n钨砂|0x100000|1259\n钨丝|0x100000|54531\n无碍|0x1000|781\n无比|0x8000000|5014\n无边|0x1000|11262\n无病|0x0000|514\n无补|0x1000|27006\n无不|0x8000000|4072\n无猜|0x1000|1010\n无偿|0x20000000|5528\n无常|0x100000|15026\n无成|0x1000|871\n无耻|0x40000000|12814\n无处|0x8000000|530\n无从|0x8000000|5459\n无存|0x1000|845\n无错|0x0000|582\n无道|0x40000000|848\n无敌|0x1000|21979\n无棣|0x0080|1442\n无定|0x1000|749\n无毒|0x1000|16273\n无度|0x8000000|27892\n无端|0x8000000|11235\n无法|0x8000000|481\n无方|0x1000|36214\n无妨|0x8000000|20138\n无非|0x8000000|4887\n无风|0x0008|1139\n无缝|0x1000|634\n无干|0x1000|31450\n无告|0x100000|0\n无功|0x1000|789\n无垢|0x0000|475\n无辜|0x100000|7676\n无故|0x1000|13314\n无怪|0x1000|20834\n无关|0x1000|6626\n无光|0x0008|1258\n无归|0x1000|516\n无轨|0x20000000|990\n无过|0x1000|815\n无害|0x1000|17146\n无憾|0x100000|762\n无何|0x8000000|440\n无核|0x1000|935\n无后|0x1000|901\n无华|0x1000|910\n无悔|0x1000|22704\n无机|0x100000|15781\n无稽|0x1000|909\n无及|0x8000000|444\n无级|0x20000000|806\n无极|0x0040|1002\n无几|0x400000|14285\n无际|0x1000|26491\n无价|0x1000000|24801\n无间|0x1000|26164\n无疆|0x1000|35727\n无角|0x0008|1011\n无尽|0x1000|13709\n无菌|0x1000|23292\n无可|0x8000000|555\n无愧|0x1000|21775\n无赖|0x100000|14108\n无礼|0x40000000|22239\n无理|0x40000000|14109\n无力|0x40000000|4935\n无量|0x1000|21455\n无聊|0x40000000|5856\n无路|0x0008|1080\n无虑|0x1000|479\n无论|0x10000000|941\n无名|0x20000000|11201\n无明|0x100000|1379\n无乃|0x8000000|0\n无奈|0x40000000|4199\n无能|0x40000000|13094\n无宁|0x8000000|1073\n无期|0x100000|32822\n无前|0x1000|996\n无钱|0x0000|562\n无情|0x40000000|6376\n无穷|0x1000|7342\n无趣|0x40000000|637\n无权|0x1000|10472\n无缺|0x1000|27740\n无人|0x20000000|9446\n无任|0x8000000|6\n无日|0x8000000|37256\n无如|0x1000|1019\n无色|0x800000|701\n无上|0x8000000|39812\n无尚|0x8000000|989\n无声|0x1000|6215\n无时|0x8000000|715\n无事|0x0008|960\n无视|0x1000|9122\n无手|0x0008|1071\n无数|0x1000|2355\n无双|0x1000|27652\n无水|0x40000000|570\n无私|0x40000000|8606\n无损|0x1000|21086\n无题|0x100000|33330\n无痛|0x1000|782\n无土|0x40000000|423\n无望|0x1000|12446\n无为|0x1000|15572\n无味|0x40000000|16767\n无畏|0x40000000|15867\n无谓|0x40000000|19174\n无我|0x1000|744\n无物|0x1000|26576\n无误|0x1000|19537\n无息|0x1000|833\n无锡|0x0040|794\n无暇|0x1000|12736\n无瑕|0x0100|29897\n无线|0x20000000|486\n无限|0x1000|3065\n无相|0x0000|569\n无效|0x1000|5377\n无邪|0x40000000|670\n无心|0x1000|10709\n无行|0x1000|916\n无形|0x20000000|6442\n无性|0x20000000|805\n无袖|0x0008|1266\n无须|0x8000000|9166\n无需|0x8000000|10656\n无序|0x20000000|10314\n无雪|0x0000|465\n无涯|0x1000|20217\n无烟|0x20000000|742\n无言|0x100000|534\n无眼|0x0000|469\n无恙|0x1000|811\n无业|0x1000|21980\n无一|0x400000|907\n无遗|0x1000|17730\n无疑|0x1000|2353\n无已|0x1000|986\n无以|0x8000000|13855\n无异|0x1000|15216\n无益|0x1000|11782\n无意|0x8000000|6267\n无垠|0x1000|22904\n无庸|0x8000000|936\n无用|0x1000|623\n无忧|0x0008|774\n无由|0x8000000|38377\n无余|0x1000|22298\n无虞|0x1000|935\n无雨|0x1000|842\n无援|0x1000|28316\n无缘|0x1000|10853\n无源|0x0008|1302\n无照|0x0000|20218\n无知|0x40000000|8766\n无主|0x0000|547\n无助|0x40000000|499\n无着|0x1000|30330\n无阻|0x1000|16780\n无罪|0x100000|10151\n毋宁|0x8000000|33694\n毋庸|0x8000000|29898\n吴堡|0x0080|1040\n吴川|0x0040|1432\n吴国|0x0040|876\n吴江|0x0040|1043\n吴某|0x100000|525\n吴平|0x0080|1080\n吴旗|0x0080|1165\n吴桥|0x0040|1438\n吴淞|0x0080|1520\n吴王|0x0008|1445\n吴语|0x100000|1006\n吴中|0x0040|1293\n吴忠|0x0040|1381\n吾辈|0x10000|901\n吾侪|0x10000|1133\n吾国|0x0008|974\n吾人|0x10000|925\n吾子|0x100000|0\n芜鄙|0x40000000|0\n芜湖|0x0040|1013\n芜秽|0x1000|1185\n芜菁|0x100000|53471\n芜劣|0x40000000|0\n芜荑|0x0008|0\n芜杂|0x1000|38578\n梧桐|0x100000|19717\n梧州|0x0040|1176\n蜈蚣|0x100000|26363\n鼯鼠|0x100000|54981\n五爱|0x500000|40247\n五霸|0x500000|0\n五百|0x600000|50\n五保|0x500000|19645\n五倍|0x400000|533\n五彩|0x500000|15406\n五常|0x500000|18\n五处|0x400000|181\n五次|0x400000|241\n五代|0x400000|16309\n五档|0x400000|1\n五帝|0x400000|29997\n五点|0x400000|630\n五毒|0x400000|36729\n五反|0x500000|0\n五方|0x400000|45415\n五分|0x400000|606\n五服|0x0000|46028\n五个|0x400000|782\n五更|0x100000|20835\n五古|0x500000|0\n五谷|0x500000|23618\n五官|0x500000|16022\n五好|0x500000|9\n五号|0x400000|595\n五河|0x400000|1501\n五华|0x400080|3\n五荤|0x500000|0\n五加|0x500000|0\n五角|0x400000|1170\n五节|0x400000|2\n五戒|0x500000|0\n五金|0x500000|20923\n五经|0x500000|0\n五绝|0x500000|0\n五莲|0x400080|1\n五岭|0x0000|49269\n五律|0x500000|0\n五伦|0x500000|48533\n五马|0x400008|0\n五内|0x500000|0\n五七|0x600000|0\n五千|0x600000|21\n五色|0x0000|16856\n五十|0x600000|88\n五枢|0x400000|0\n五四|0x600000|10\n五台|0x400000|1157\n五天|0x400000|1067\n五通|0x400008|3\n五万|0x600000|21\n五味|0x400000|39813\n五五|0x600000|2\n五香|0x500000|33331\n五星|0x400000|22076\n五刑|0x500000|0\n五行|0x400000|19238\n五羊|0x400008|2\n五一|0x600000|4959\n五亿|0x600000|9\n五音|0x500000|38579\n五原|0x400080|0\n五月|0x400000|520\n五岳|0x500000|31793\n五蕴|0x500000|0\n五脏|0x500000|25593\n五寨|0x400080|0\n五兆|0x600000|0\n五指|0x500000|23619\n五洲|0x500000|19071\n五专|0x400008|0\n午安|0x1000|980\n午餐|0x100000|11870\n午饭|0x100000|7229\n午后|0x4000|10854\n午间|0x4000|29796\n午觉|0x100000|28317\n午门|0x0080|20924\n午前|0x4000|35574\n午膳|0x0000|32693\n午时|0x4000|31451\n午睡|0x100000|23890\n午休|0x100000|25221\n午宴|0x100000|27076\n午夜|0x4000|11683\n仵作|0x100000|1143\n伍佰|0x200000|733\n妩媚|0x40000000|12657\n忤逆|0x1000|39617\n怃然|0x0100|45728\n武安|0x0040|1336\n武备|0x100000|34110\n武昌|0x0080|1085\n武场|0x100000|1000\n武城|0x0080|1451\n武丑|0x100000|53000\n武川|0x100000|1000\n武打|0x100000|26577\n武旦|0x100000|45132\n武德|0x100000|878\n武定|0x0008|1499\n武斗|0x1000|20374\n武断|0x1000|21402\n武夫|0x100000|26783\n武冈|0x0040|1480\n武钢|0x0008|786\n武工|0x100000|1058\n武功|0x100000|18673\n武官|0x100000|16896\n武馆|0x100000|916\n武汉|0x0040|2134\n武魂|0x100000|907\n武火|0x100000|1085\n武将|0x100000|20105\n武进|0x0040|1155\n武警|0x100000|3638\n武举|0x100000|1050\n武库|0x100000|38379\n武力|0x100000|6447\n武林|0x100000|24465\n武隆|0x0080|1296\n武略|0x100000|1034\n武庙|0x100000|1039\n武鸣|0x0080|1413\n武宁|0x0080|1384\n武平|0x0008|1458\n武器|0x100000|1538\n武强|0x0080|1501\n武清|0x0080|1320\n武人|0x100000|897\n武僧|0x100000|863\n武山|0x0080|1512\n武生|0x100000|29998\n武胜|0x0080|1472\n武师|0x100000|55496\n武士|0x100000|15308\n武术|0x100000|5252\n武松|0x0080|1307\n武坛|0x100000|1122\n武威|0x0040|1259\n武戏|0x100000|32823\n武侠|0x100000|17054\n武乡|0x0040|1542\n武行|0x0080|972\n武宣|0x0080|1522\n武穴|0x0040|1453\n武义|0x0080|1261\n武艺|0x100000|16310\n武邑|0x0080|1509\n武职|0x0080|1093\n武指|0x0008|0\n武陟|0x0080|1448\n武装|0x1000|1782\n侮骂|0x1000|0\n侮慢|0x1000|48911\n侮蔑|0x1000|44540\n侮辱|0x100000|7962\n捂住|0x1000|690\n舞伴|0x100000|28776\n舞弊|0x1000|17316\n舞步|0x100000|25667\n舞场|0x100000|22805\n舞池|0x100000|27007\n舞蹈|0x100000|2279\n舞动|0x1000|19602\n舞钢|0x0040|907\n舞会|0x100000|15904\n舞技|0x100000|817\n舞剑|0x1000|34863\n舞剧|0x100000|8943\n舞客|0x100000|1101\n舞龙|0x100000|888\n舞美|0x100000|18013\n舞迷|0x100000|53473\n舞男|0x0008|470\n舞弄|0x1000|48534\n舞女|0x100000|20884\n舞谱|0x100000|1279\n舞曲|0x100000|20590\n舞狮|0x100000|25451\n舞台|0x100000|1458\n舞坛|0x100000|1143\n舞厅|0x100000|11184\n舞王|0x100000|892\n舞鞋|0x100000|807\n舞星|0x0008|53001\n舞阳|0x0080|1451\n舞艺|0x100000|991\n舞姿|0x100000|16680\n兀傲|0x40000000|0\n兀鹫|0x100000|1184\n兀立|0x1000|32694\n兀然|0x8000000|0\n兀突|0x40000000|0\n兀鹰|0x0008|413\n兀自|0x8000000|20964\n务必|0x8000000|6098\n务工|0x0000|5809\n务农|0x1000|17102\n务期|0x8000000|43297\n务请|0x0000|34396\n务求|0x1000|13628\n务实|0x1000|5196\n务使|0x1000|37996\n务须|0x8000000|38380\n务虚|0x1000|26847\n务要|0x1000|19351\n务正|0x1000|1104\n戊辰|0x400000|993\n戊醇|0x100000|1143\n戊炔|0x4000000|0\n戊申|0x400000|1005\n戊酸|0x100000|1109\n戊糖|0x100000|0\n戊酮|0x100000|1184\n戊烷|0x100000|1097\n戊午|0x400000|1003\n戊烯|0x100000|1150\n戊戌|0x400000|882\n戊寅|0x400000|1004\n戊子|0x100000|1008\n杌陧|0x40000000|0\n物产|0x100000|20338\n物故|0x1000|0\n物耗|0x100000|38998\n物候|0x100000|53995\n物华|0x0008|1442\n物化|0x1000|16411\n物价|0x100000|5269\n物件|0x100000|14198\n物镜|0x100000|1016\n物类|0x100000|1025\n物理|0x100000|4027\n物力|0x100000|8173\n物料|0x100000|22376\n物流|0x100000|4943\n物品|0x100000|4138\n物情|0x100000|0\n物色|0x1000|18832\n物事|0x100000|813\n物态|0x100000|53996\n物探|0x100000|904\n物体|0x100000|5854\n物外|0x0000|33183\n物象|0x100000|24407\n物像|0x100000|1097\n物性|0x100000|899\n物业|0x100000|6603\n物议|0x100000|1144\n物语|0x100000|560\n物欲|0x100000|23956\n物证|0x100000|24202\n物质|0x100000|1102\n物种|0x100000|6712\n物主|0x100000|48535\n物资|0x100000|2896\n误餐|0x0000|50370\n误差|0x100000|10880\n误场|0x1000|1364\n误车|0x1000|1162\n误称|0x1000|0\n误传|0x1000|41352\n误导|0x1000|9813\n误点|0x1000|913\n误读|0x0008|808\n误工|0x1000|29999\n误国|0x1000|20789\n误会|0x100000|8044\n误解|0x100000|7507\n误判|0x1000|35728\n误期|0x1000|52026\n误区|0x100000|9308\n误认|0x1000|33984\n误杀|0x1000|42565\n误伤|0x1000|30000\n误食|0x1000|36898\n误事|0x1000|23460\n误听|0x0000|43778\n误信|0x1000|26295\n误译|0x0000|383\n误用|0x1000|36730\n误诊|0x1000|29058\n悟彻|0x1000|1138\n悟出|0x1000|17854\n悟道|0x1000|819\n悟空|0x100000|615\n悟性|0x100000|21456\n晤见|0x1000|53002\n晤面|0x1000|40249\n晤谈|0x1000|30976\n婺剧|0x100000|54983\n婺绿|0x100000|1298\n婺源|0x0080|1173\n痦子|0x100000|48536\n雾霭|0x100000|34864\n雾灯|0x100000|874\n雾滴|0x100000|1134\n雾笛|0x0008|0\n雾峰|0x0040|1531\n雾化|0x1000|45729\n雾气|0x100000|17293\n雾水|0x100000|697\n雾凇|0x100000|36899\n雾状|0x40000000|463\n夕烟|0x100000|53997\n夕阳|0x100000|8856\n夕照|0x100000|28499\n兮兮|0x0008|623\n汐止|0x0040|1437\n西安|0x0040|2518\n西岸|0x8000|747\n西北|0x2000000|2387\n西边|0x2000000|10368\n西部|0x100000|1452\n西菜|0x0000|40901\n西餐|0x100000|21282\n西藏|0x0040|2072\n西侧|0x2000000|18098\n西昌|0x0040|1243\n西沉|0x1000|887\n西城|0x0040|1102\n西充|0x0080|999\n西畴|0x0080|1046\n西德|0x100000|819\n西点|0x100000|35290\n西东|0x2000000|863\n西端|0x2000000|926\n西段|0x2000000|831\n西顿|0x0080|1106\n西法|0x0000|47529\n西方|0x2000000|1275\n西非|0x0040|15407\n西丰|0x0080|1081\n西风|0x100000|13780\n西峰|0x0040|900\n西服|0x100000|10769\n西宫|0x100000|890\n西贡|0x0080|1379\n西瓜|0x100000|6748\n西海|0x0040|1274\n西汉|0x4000|14913\n西和|0x0080|1437\n西湖|0x0040|923\n西华|0x0080|1293\n西化|0x1000|17462\n西画|0x100000|33184\n西吉|0x0080|1014\n西江|0x0040|1277\n西郊|0x100000|748\n西街|0x100000|1142\n西晋|0x4000|31794\n西京|0x100000|1362\n西经|0x100000|40665\n西康|0x100000|1474\n西裤|0x100000|35121\n西乐|0x100000|52487\n西里|0x100000|1194\n西历|0x100000|37437\n西凉|0x0008|912\n西辽|0x100000|1088\n西林|0x0080|1339\n西楼|0x100000|750\n西麓|0x2000000|1035\n西门|0x100000|20747\n西蒙|0x0008|1275\n西面|0x2000000|18517\n西南|0x2000000|3408\n西宁|0x0040|7196\n西欧|0x0040|8140\n西皮|0x100000|36379\n西片|0x0008|3\n西平|0x0080|1397\n西羌|0x100000|1077\n西秦|0x0008|1486\n西青|0x0080|1336\n西去|0x1000|1\n西人|0x100000|928\n西沙|0x0040|1378\n西晒|0x1000|52028\n西山|0x0080|1070\n西施|0x0080|21646\n西式|0x20000000|20481\n西天|0x100000|21457\n西头|0x2000000|26493\n西王|0x0008|1554\n西魏|0x4000|37625\n西文|0x0008|30448\n西西|0x20000|962\n西席|0x100000|1134\n西峡|0x0080|1438\n西下|0x1000|1402\n西夏|0x4000|13959\n西线|0x100000|824\n西乡|0x0040|1214\n西厢|0x0008|1243\n西行|0x0080|1194\n西学|0x100000|30764\n西亚|0x100000|11013\n西洋|0x100000|6767\n西药|0x100000|20375\n西医|0x100000|14665\n西游|0x0008|950\n西语|0x100000|1493\n西域|0x0040|11629\n西元|0x100000|51607\n西园|0x0080|1306\n西站|0x100000|746\n西周|0x4000|19102\n西装|0x100000|9167\n西子|0x0000|38381\n吸尘|0x1000|810\n吸虫|0x100000|1101\n吸出|0x0000|495\n吸储|0x1000|1086\n吸毒|0x1000|8592\n吸附|0x1000|11802\n吸管|0x100000|41116\n吸金|0x0008|4\n吸进|0x1000|757\n吸力|0x100000|36062\n吸纳|0x1000|6633\n吸盘|0x100000|36216\n吸气|0x1000|27413\n吸取|0x1000|6241\n吸热|0x1000|33332\n吸入|0x1000|17055\n吸声|0x1000|926\n吸湿|0x1000|40666\n吸食|0x1000|24802\n吸收|0x1000|2128\n吸水|0x100000|23245\n吸吮|0x1000|26578\n吸头|0x0008|1155\n吸吸|0x1000|822\n吸血|0x0000|622\n吸烟|0x1000|7018\n吸氧|0x0000|36217\n吸音|0x1000|834\n吸引|0x1000|1392\n吸住|0x0000|486\n吸着|0x1000|785\n希尔|0x0080|1186\n希罕|0x1000|866\n希冀|0x100000|17796\n希捷|0x0008|1232\n希腊|0x0040|4410\n希奇|0x40000000|813\n希求|0x1000|39000\n希图|0x1000|33830\n希望|0x1000|209\n希有|0x40000000|985\n昔年|0x4000|40667\n昔人|0x100000|445\n昔日|0x4000|4979\n昔时|0x4000|453\n昔阳|0x0080|978\n昔者|0x100000|431\n析出|0x1000|29149\n析居|0x1000|0\n析疑|0x1000|53477\n矽肺|0x100000|44845\n矽钢|0x100000|970\n矽谷|0x0080|1017\n矽砂|0x0008|1268\n矽石|0x0080|1379\n矽岩|0x0080|1268\n唏嘘|0x1000|20339\n奚落|0x1000|20748\n息兵|0x0000|45417\n息差|0x100000|1020\n息烽|0x0080|998\n息肩|0x1000|48912\n息率|0x100000|1083\n息怒|0x1000|33985\n息钱|0x100000|0\n息肉|0x100000|45418\n息讼|0x1000|0\n息诉|0x1000|1128\n息县|0x0040|1007\n息影|0x1000|51173\n息止|0x1000|0\n浠水|0x0080|1466\n牺牲|0x100000|1976\n悉力|0x0000|47843\n悉尼|0x0040|1110\n悉数|0x8000000|15611\n悉心|0x8000000|15612\n惜败|0x0000|26494\n惜别|0x1000|29269\n惜福|0x40000000|871\n惜力|0x40000000|48913\n惜售|0x1000|45133\n惜阴|0x40000000|0\n淅川|0x0080|1538\n淅沥|0x80000|36380\n淅淅|0x80000|40902\n烯烃|0x100000|874\n硒鼓|0x100000|757\n犀谷|0x0040|0\n犀角|0x100000|48914\n犀利|0x40000000|20340\n犀鸟|0x100000|1095\n犀牛|0x100000|32314\n稀薄|0x40000000|18518\n稀饭|0x100000|17346\n稀罕|0x40000000|13917\n稀客|0x100000|35435\n稀拉|0x40000000|0\n稀烂|0x0100|31681\n稀朗|0x40000000|1293\n稀落|0x40000000|36381\n稀泥|0x100000|29797\n稀奇|0x40000000|16641\n稀缺|0x1000|19603\n稀少|0x40000000|12691\n稀世|0x20000000|31346\n稀释|0x1000|20254\n稀疏|0x40000000|14605\n稀松|0x40000000|36382\n稀土|0x100000|747\n稀有|0x40000000|18184\n稀糟|0x40000000|0\n稀粥|0x100000|31682\n翕动|0x1000|33831\n翕然|0x40000000|375\n翕张|0x1000|1174\n溪谷|0x100000|864\n溪涧|0x100000|40031\n溪流|0x100000|17463\n溪水|0x100000|15613\n锡伯|0x0008|1059\n锡箔|0x100000|44541\n锡锭|0x100000|1100\n锡罐|0x0080|0\n锡壶|0x0080|0\n锡匠|0x100000|1330\n锡金|0x4000000|1001\n锡剧|0x100000|49632\n锡矿|0x100000|38580\n锡兰|0x0080|983\n锡林|0x100000|998\n锡器|0x0080|52488\n锡石|0x4000000|1291\n锡杖|0x100000|1109\n锡纸|0x100000|44846\n熄灯|0x1000|25052\n熄风|0x100000|1131\n熄火|0x1000|28318\n熄灭|0x1000|11821\n熙春|0x100000|1083\n熙和|0x40000000|0\n熙攘|0x1000|860\n蜥蜴|0x100000|27971\n嘻闹|0x0000|48171\n嘻嘻|0x0080|504\n嘻笑|0x1000|28225\n嬉闹|0x1000|34242\n嬉皮|0x0000|460\n嬉耍|0x1000|54985\n嬉水|0x1000|946\n嬉戏|0x1000|15081\n嬉笑|0x1000|25163\n嬉游|0x0000|50755\n膝部|0x100000|868\n膝垫|0x0080|0\n膝盖|0x100000|9984\n膝关|0x0080|0\n膝上|0x0000|533\n膝头|0x100000|959\n膝窝|0x0080|0\n膝下|0x100000|27741\n膝行|0x100000|390\n膝眼|0x0008|0\n歙县|0x0040|1358\n熹微|0x1000|39815\n蟋蟀|0x100000|16588\n习得|0x0000|34111\n习服|0x100000|1318\n习惯|0x100000|1023\n习好|0x100000|52030\n习见|0x40000000|37438\n习军|0x0080|1377\n习练|0x1000|958\n习气|0x100000|17211\n习染|0x100000|51608\n习尚|0x100000|47216\n习水|0x0040|1549\n习俗|0x100000|7792\n习题|0x100000|27972\n习武|0x1000|24023\n习习|0x1000|25522\n习性|0x100000|14250\n习艺|0x1000|44259\n习用|0x20000000|45134\n习语|0x0000|456\n习字|0x1000|43058\n习作|0x100000|23720\n席草|0x100000|1172\n席次|0x100000|44011\n席地|0x1000|927\n席间|0x4000|19287\n席卷|0x1000|14143\n席勒|0x0080|1528\n席面|0x100000|37439\n席篾|0x100000|1500\n席棚|0x0000|34703\n席位|0x100000|9173\n席子|0x100000|21877\n袭夺|0x0080|0\n袭击|0x100000|2613\n袭警|0x0008|915\n袭来|0x0080|13346\n袭取|0x1000|37259\n袭扰|0x1000|33832\n袭用|0x1000|41117\n袭占|0x1000|0\n媳妇|0x100000|3352\n隰县|0x0040|1087\n檄书|0x0080|1334\n檄文|0x100000|24024\n洗肠|0x1000|1031\n洗车|0x0008|740\n洗尘|0x1000|35576\n洗涤|0x1000|14647\n洗底|0x0008|2\n洗掉|0x0000|534\n洗发|0x100000|655\n洗剂|0x100000|904\n洗脚|0x0000|553\n洗劫|0x1000|30553\n洗净|0x1000|665\n洗礼|0x100000|11976\n洗脸|0x1000|611\n洗练|0x40000000|37260\n洗流|0x100000|0\n洗麦|0x0008|0\n洗煤|0x1000|40032\n洗牌|0x1000|30449\n洗钱|0x1000|12927\n洗清|0x0000|480\n洗去|0x0000|562\n洗染|0x1000|45730\n洗三|0x401000|0\n洗手|0x1000|14183\n洗漱|0x1000|24987\n洗刷|0x1000|17464\n洗涮|0x0000|41353\n洗烫|0x1000|52489\n洗头|0x1000|700\n洗脱|0x1000|886\n洗碗|0x0000|573\n洗胃|0x1000|946\n洗洗|0x1000|733\n洗选|0x1000|889\n洗雪|0x1000|42804\n洗衣|0x1000|540\n洗印|0x1000|40669\n洗浴|0x100000|22240\n洗冤|0x1000|51609\n洗澡|0x1000|7179\n洗濯|0x1000|46610\n徙居|0x1000|0\n徙倚|0x1000|1137\n铣床|0x100000|39002\n铣刀|0x100000|852\n铣工|0x100000|44847\n铣铁|0x100000|0\n铣削|0x1000|953\n喜爱|0x40000000|3484\n喜报|0x100000|29150\n喜蛋|0x100000|1169\n喜德|0x0080|1065\n喜逢|0x1000|1028\n喜果|0x100000|1201\n喜好|0x100000|20790\n喜欢|0x40000000|771\n喜获|0x1000|744\n喜酒|0x100000|21600\n喜剧|0x100000|8511\n喜乐|0x40000000|40033\n喜泪|0x100000|1190\n喜力|0x0008|1419\n喜联|0x100000|50371\n喜娘|0x100000|54534\n喜怒|0x100000|787\n喜气|0x100000|20715\n喜钱|0x100000|52031\n喜庆|0x100000|7542\n喜鹊|0x100000|16935\n喜人|0x40000000|9928\n喜容|0x100000|1224\n喜丧|0x100000|52032\n喜色|0x100000|23774\n喜事|0x100000|10257\n喜树|0x100000|1005\n喜糖|0x100000|34865\n喜帖|0x100000|48915\n喜信|0x100000|40034\n喜兴|0x40000000|0\n喜幸|0x40000000|1131\n喜讯|0x100000|12013\n喜筵|0x100000|48916\n喜宴|0x100000|793\n喜迎|0x1000|725\n喜雨|0x100000|47845\n喜悦|0x40000000|4971\n喜跃|0x40000000|1157\n喜幛|0x100000|51175\n喜子|0x100000|1060\n戏班|0x100000|30977\n戏本|0x100000|50756\n戏场|0x100000|0\n戏称|0x100000|18161\n戏词|0x100000|37998\n戏单|0x100000|53999\n戏法|0x100000|27241\n戏份|0x0008|782\n戏服|0x0000|52033\n戏骨|0x0008|4\n戏剧|0x100000|1839\n戏楼|0x100000|28226\n戏路|0x100000|47531\n戏码|0x100000|44543\n戏迷|0x100000|21370\n戏目|0x100000|1179\n戏弄|0x1000|19937\n戏票|0x100000|38581\n戏评|0x0000|43061\n戏曲|0x100000|3961\n戏耍|0x1000|38174\n戏水|0x1000|39398\n戏说|0x1000|20716\n戏台|0x100000|12717\n戏文|0x100000|23195\n戏侮|0x1000|54988\n戏箱|0x100000|0\n戏校|0x0000|33695\n戏谑|0x1000|24532\n戏言|0x100000|26930\n戏衣|0x100000|54535\n戏院|0x100000|15292\n戏照|0x100000|1351\n戏装|0x100000|37999\n戏子|0x100000|19502\n系泊|0x1000|1111\n系词|0x100000|1124\n系辞|0x0008|1006\n系带|0x100000|842\n系缚|0x1000|1123\n系紧|0x0008|1530\n系恋|0x1000|0\n系列|0x100000|1823\n系念|0x1000|42567\n系谱|0x100000|1010\n系绳|0x100000|1101\n系数|0x100000|7866\n系统|0x100000|784\n系指|0x1000|529\n细白|0x40000000|898\n细胞|0x100000|2995\n细别|0x100000|1344\n细布|0x100000|47532\n细部|0x100000|835\n细菜|0x100000|49271\n细察|0x1000|1025\n细长|0x0100|13692\n细瓷|0x0080|44012\n细带|0x100000|1022\n细点|0x0000|47533\n细读|0x1000|846\n细发|0x40000000|1099\n细纺|0x1000|1322\n细分|0x1000|618\n细缝|0x0080|1528\n细高|0x0100|1087\n细工|0x100000|50757\n细故|0x100000|52493\n细管|0x0000|418\n细化|0x1000|9985\n细活|0x100000|947\n细节|0x100000|4591\n细究|0x1000|38382\n细嚼|0x0000|482\n细菌|0x100000|7077\n细看|0x1000|667\n细孔|0x0080|0\n细浪|0x0080|0\n细砾|0x100000|0\n细粒|0x100000|977\n细粮|0x100000|37087\n细流|0x100000|831\n细毛|0x100000|31452\n细密|0x40000000|21325\n细民|0x100000|1203\n细目|0x100000|44260\n细嫩|0x40000000|26008\n细腻|0x40000000|9116\n细皮|0x0008|0\n细片|0x100000|0\n细巧|0x40000000|45136\n细情|0x100000|34866\n细柔|0x0000|48919\n细软|0x100000|27008\n细润|0x40000000|49272\n细弱|0x40000000|36732\n细沙|0x100000|825\n细纱|0x100000|38175\n细砂|0x100000|1021\n细绳|0x0080|463\n细事|0x100000|1131\n细说|0x1000|18786\n细丝|0x100000|887\n细碎|0x40000000|21178\n细索|0x0080|1\n细琐|0x40000000|0\n细谈|0x0000|461\n细挑|0x40000000|53004\n细条|0x40000000|1001\n细微|0x40000000|11413\n细纹|0x0080|537\n细问|0x1000|26931\n细细|0x0100|528\n细线|0x0000|517\n细想|0x0000|560\n细小|0x40000000|12243\n细心|0x40000000|7571\n细辛|0x100000|1000\n细牙|0x0080|0\n细腰|0x0080|28877\n细咬|0x0080|0\n细雨|0x100000|10733\n细语|0x1000|23134\n细则|0x100000|8190\n细账|0x0000|34113\n细枝|0x0080|398\n细致|0x40000000|4497\n细琢|0x0080|6\n细作|0x100000|876\n郄门|0x0008|0\n阋墙|0x1000|1139\n隙地|0x100000|41118\n隙缝|0x100000|42805\n虾酱|0x100000|54001\n虾蟆|0x100000|1076\n虾米|0x100000|30554\n虾皮|0x100000|50372\n虾球|0x100000|929\n虾仁|0x100000|33050\n虾丸|0x100000|1088\n虾子|0x100000|39185\n瞎掰|0x1000|46029\n瞎编|0x0000|36218\n瞎猜|0x0080|907\n瞎扯|0x1000|26165\n瞎吹|0x1000|39620\n瞎搞|0x1000|923\n瞎逛|0x1000|847\n瞎话|0x100000|30978\n瞎火|0x100000|39400\n瞎聊|0x1000|52034\n瞎忙|0x0000|41588\n瞎摸|0x0080|0\n瞎闹|0x1000|36550\n瞎炮|0x100000|1376\n瞎说|0x1000|15027\n瞎眼|0x1000|28777\n瞎诌|0x1000|53005\n瞎抓|0x1000|1080\n瞎子|0x100000|13944\n匣钵|0x0080|1123\n匣子|0x100000|13617\n侠盗|0x100000|804\n侠骨|0x100000|843\n侠客|0x100000|32696\n侠女|0x100000|825\n侠气|0x100000|49634\n侠士|0x100000|881\n侠义|0x40000000|33443\n狎妓|0x1000|52494\n狎昵|0x40000000|49999\n峡谷|0x100000|9283\n峡江|0x0040|1544\n峡口|0x100000|955\n峡湾|0x100000|1014\n狭隘|0x40000000|12046\n狭长|0x40000000|19379\n狭缝|0x100000|996\n狭谷|0x100000|1130\n狭路|0x0040|966\n狭巷|0x0040|0\n狭小|0x40000000|12460\n狭义|0x100000|14722\n狭窄|0x40000000|8298\n遐迩|0x100000|19380\n遐龄|0x100000|1172\n遐思|0x100000|31099\n遐想|0x100000|16568\n暇时|0x4000|39816\n瑕疵|0x100000|29680\n瑕玷|0x100000|1338\n辖区|0x100000|6041\n辖制|0x1000|53006\n霞彩|0x100000|1086\n霞光|0x100000|16285\n霞帔|0x100000|1149\n霞浦|0x0080|1445\n霞石|0x100000|1197\n黠慧|0x40000000|1253\n下巴|0x100000|10096\n下摆|0x100000|28144\n下拜|0x1000|471\n下班|0x1000|6189\n下辈|0x100000|48921\n下笔|0x1000|19200\n下边|0x2000000|8141\n下标|0x100000|901\n下拨|0x1000|14357\n下部|0x2000000|17761\n下操|0x1000|46310\n下册|0x100000|683\n下策|0x100000|28145\n下层|0x100000|11889\n下场|0x100000|9721\n下车|0x1000|536\n下臣|0x100000|1141\n下沉|0x1000|13129\n下乘|0x20000000|48922\n下厨|0x1000|35731\n下处|0x100000|51610\n下船|0x1000|22598\n下床|0x1000|14971\n下垂|0x1000|18070\n下唇|0x100000|25594\n下次|0x800000|498\n下存|0x1000|54991\n下挫|0x1000|27742\n下达|0x1000|6347\n下蛋|0x1000|22906\n下档|0x0008|477\n下等|0x20000000|38000\n下地|0x1000|17028\n下第|0x1000|5\n下店|0x1000|0\n下调|0x1000|10770\n下跌|0x1000|7228\n下定|0x1000|14884\n下毒|0x1000|829\n下肚|0x1000|758\n下端|0x2000000|25668\n下蹲|0x0008|490\n下颚|0x100000|39401\n下发|0x1000|5494\n下法|0x100000|1013\n下凡|0x1000|28878\n下饭|0x100000|27079\n下方|0x2000000|15802\n下房|0x100000|34541\n下放|0x1000|8772\n下风|0x100000|24729\n下浮|0x1000|30002\n下腹|0x100000|875\n下疳|0x100000|1010\n下岗|0x1000|2463\n下工|0x1000|34398\n下关|0x0080|1325\n下官|0x100000|948\n下跪|0x1000|18933\n下锅|0x1000|25222\n下海|0x1000|12952\n下颔|0x0000|447\n下河|0x0040|1378\n下颌|0x100000|19864\n下滑|0x1000|7876\n下怀|0x100000|36063\n下回|0x4000|9128\n下机|0x1000|882\n下级|0x100000|8101\n下集|0x100000|48538\n下家|0x100000|40461\n下嫁|0x1000|35577\n下贱|0x40000000|19538\n下江|0x0040|39818\n下降|0x1000|1567\n下脚|0x100000|29798\n下届|0x20000000|847\n下界|0x100000|35732\n下劲|0x1000|54002\n下酒|0x1000|27571\n下卷|0x0000|40462\n下课|0x1000|13256\n下口|0x100000|917\n下款|0x100000|43062\n下拉|0x1000|699\n下来|0x1000|385\n下力|0x1000|41817\n下联|0x100000|30331\n下列|0x100000|4586\n下令|0x1000|6032\n下流|0x40000000|12888\n下楼|0x1000|8743\n下落|0x100000|9161\n下马|0x1000|12329\n下面|0x2000000|2210\n下木|0x0008|0\n下奶|0x1000|48924\n下年|0x4000|909\n下盘|0x0000|538\n下片|0x100000|1016\n下篇|0x100000|752\n下品|0x100000|41589\n下聘|0x1000|53481\n下坡|0x1000|27572\n下铺|0x100000|33445\n下期|0x100000|814\n下棋|0x1000|12536\n下气|0x0008|537\n下潜|0x0000|43779\n下欠|0x100000|55499\n下倾|0x0000|392\n下情|0x100000|27495\n下去|0x1000|604\n下人|0x100000|18133\n下任|0x100000|42317\n下山|0x1000|8371\n下设|0x1000|664\n下身|0x100000|12718\n下渗|0x0000|43780\n下生|0x0000|35123\n下士|0x100000|28963\n下世|0x1000|41354\n下市|0x0000|50758\n下手|0x1000|9573\n下首|0x8000|46912\n下书|0x1000|30003\n下述|0x20000000|24081\n下水|0x1000|24730\n下塌|0x0000|50000\n下榻|0x1000|12172\n下台|0x1000|10717\n下堂|0x1000|988\n下体|0x100000|782\n下田|0x1000|935\n下帖|0x1000|1131\n下同|0x1000|21403\n下头|0x100000|12770\n下图|0x100000|709\n下推|0x1000|1067\n下脘|0x0008|0\n下网|0x1000|877\n下位|0x20000000|928\n下文|0x100000|11744\n下问|0x1000|34399\n下午|0x4000|624\n下辖|0x0000|21209\n下下|0x20000000|544\n下弦|0x100000|46913\n下线|0x1000|627\n下限|0x100000|25731\n下陷|0x1000|32697\n下乡|0x1000|2978\n下泄|0x1000|28418\n下泻|0x1000|40903\n下行|0x1000|23009\n下学|0x0000|35006\n下雪|0x1000|589\n下旬|0x4000|6027\n下压|0x1000|872\n下咽|0x1000|33185\n下腰|0x0000|25523\n下药|0x1000|41120\n下野|0x1000|26228\n下叶|0x0040|1059\n下页|0x0000|665\n下移|0x1000|551\n下游|0x100000|6132\n下余|0x1000|0\n下愚|0x100000|0\n下雨|0x1000|7216\n下狱|0x1000|16087\n下院|0x100000|978\n下月|0x4000|20139\n下载|0x1000|14056\n下崽|0x1000|369\n下葬|0x1000|29151\n下账|0x1000|54992\n下诏|0x1000|493\n下肢|0x100000|20341\n下至|0x0000|552\n下种|0x1000|31683\n下周|0x4000|32570\n下属|0x100000|6133\n下注|0x1000|40671\n下箸|0x1000|48172\n下装|0x0000|48173\n下坠|0x1000|30765\n下子|0x1000|740\n下作|0x100000|36551\n吓倒|0x1000|770\n吓唬|0x1000|14864\n吓跑|0x1000|738\n吓人|0x40000000|13865\n吓死|0x0000|600\n夏播|0x1000|43298\n夏布|0x100000|37441\n夏朝|0x4000|957\n夏初|0x0000|38783\n夏锄|0x0080|1311\n夏代|0x4000|1030\n夏管|0x100000|0\n夏河|0x0080|1544\n夏侯|0x0080|584\n夏花|0x100000|862\n夏季|0x4000|4738\n夏津|0x0080|1498\n夏历|0x100000|44848\n夏利|0x4000000|1205\n夏粮|0x100000|15195\n夏令|0x100000|37089\n夏眠|0x100000|1053\n夏普|0x4000000|1070\n夏日|0x4000|12911\n夏收|0x100000|17904\n夏熟|0x4000|1231\n夏天|0x4000|3465\n夏娃|0x0080|24203\n夏县|0x0040|997\n夏夜|0x4000|30108\n夏衣|0x100000|50373\n夏邑|0x0080|1533\n夏禹|0x0080|1008\n夏耘|0x1000|1190\n夏至|0x4000|35124\n夏种|0x100000|38001\n夏装|0x100000|41121\n厦华|0x0008|1363\n厦门|0x0040|760\n厦新|0x0008|1485\n罅漏|0x100000|1261\n罅隙|0x100000|44261\n仙草|0x0080|887\n仙丹|0x100000|39403\n仙方|0x0000|47534\n仙姑|0x100000|29468\n仙鹤|0x100000|26643\n仙界|0x100000|776\n仙境|0x100000|19938\n仙居|0x100000|1251\n仙乐|0x100000|828\n仙茅|0x100000|1101\n仙女|0x100000|15573\n仙人|0x100000|17797\n仙师|0x100000|1023\n仙逝|0x1000|39003\n仙术|0x0080|506\n仙台|0x0080|1475\n仙桃|0x0040|1195\n仙童|0x100000|985\n仙翁|0x100000|480\n仙乡|0x0040|1035\n仙游|0x0040|1354\n仙子|0x100000|29270\n先辈|0x100000|17465\n先慈|0x100000|1379\n先导|0x100000|10987\n先帝|0x100000|1469\n先端|0x100000|971\n先锋|0x100000|5266\n先夫|0x100000|1166\n先父|0x100000|37090\n先付|0x0000|504\n先公|0x100000|1135\n先河|0x100000|16044\n先后|0x8000000|1051\n先皇|0x100000|1002\n先机|0x100000|707\n先见|0x100000|896\n先进|0x40000000|920\n先决|0x20000000|45731\n先觉|0x100000|34543\n先君|0x100000|1092\n先例|0x100000|12831\n先烈|0x100000|14432\n先令|0x20000|29152\n先民|0x100000|21690\n先母|0x100000|0\n先期|0x8000000|12537\n先前|0x4000|6401\n先遣|0x20000000|21776\n先秦|0x4000|20458\n先驱|0x100000|13190\n先人|0x100000|13629\n先生|0x100000|240\n先声|0x100000|897\n先师|0x100000|963\n先世|0x100000|45419\n先是|0x8000000|5553\n先手|0x100000|931\n先天|0x100000|13796\n先头|0x2000000|23620\n先王|0x100000|914\n先贤|0x100000|21691\n先行|0x1000|5871\n先兄|0x100000|0\n先验|0x1000|933\n先于|0x1000|795\n先在|0x0000|651\n先占|0x0000|462\n先兆|0x100000|30980\n先哲|0x100000|28964\n先知|0x100000|23461\n先祖|0x100000|28581\n纤长|0x40000000|852\n纤尘|0x100000|38784\n纤度|0x100000|1117\n纤夫|0x100000|30962\n纤毫|0x100000|48174\n纤毛|0x100000|42318\n纤巧|0x40000000|33446\n纤柔|0x40000000|50760\n纤弱|0x40000000|32825\n纤绳|0x100000|49566\n纤手|0x100000|38533\n纤瘦|0x40000000|47536\n纤丝|0x4000000|0\n纤微|0x40000000|0\n纤维|0x100000|6701\n纤悉|0x40000000|0\n纤细|0x40000000|17367\n纤纤|0x0100|34400\n纤小|0x40000000|48539\n纤秀|0x0000|49273\n氙灯|0x100000|954\n氙气|0x0008|811\n祆教|0x0080|0\n籼稻|0x100000|33833\n籼米|0x100000|49274\n掀掉|0x1000|1001\n掀动|0x1000|29682\n掀翻|0x1000|822\n掀开|0x1000|694\n掀起|0x1000|4814\n酰氟|0x4000000|0\n鲜卑|0x100000|19539\n鲜贝|0x100000|1047\n鲜菜|0x100000|1030\n鲜蛋|0x100000|1020\n鲜果|0x100000|27415\n鲜红|0x100000|10345\n鲜花|0x100000|3198\n鲜活|0x40000000|8576\n鲜货|0x100000|48175\n鲜见|0x1000|20591\n鲜丽|0x40000000|45420\n鲜亮|0x40000000|24533\n鲜灵|0x40000000|1159\n鲜绿|0x100000|48540\n鲜美|0x40000000|19972\n鲜明|0x40000000|2802\n鲜奶|0x100000|733\n鲜嫩|0x40000000|20965\n鲜啤|0x0000|55901\n鲜肉|0x100000|25452\n鲜润|0x0000|48925\n鲜食|0x100000|969\n鲜甜|0x40000000|952\n鲜味|0x100000|855\n鲜血|0x100000|7147\n鲜妍|0x40000000|976\n鲜艳|0x40000000|8289\n鲜有|0x1000|24467\n鲜鱼|0x100000|858\n暹罗|0x0040|1514\n闲步|0x1000|42569\n闲扯|0x1000|32060\n闲愁|0x0000|46914\n闲荡|0x1000|48541\n闲儿|0x100000|0\n闲饭|0x0000|37442\n闲房|0x100000|1178\n闲逛|0x1000|24148\n闲话|0x100000|8838\n闲混|0x0080|0\n闲居|0x1000|34401\n闲空|0x100000|37626\n闲聊|0x1000|17576\n闲篇|0x100000|49275\n闲气|0x100000|35578\n闲弃|0x1000|1269\n闲钱|0x100000|39819\n闲情|0x100000|26785\n闲人|0x100000|16800\n闲散|0x40000000|18632\n闲时|0x4000|800\n闲事|0x100000|21371\n闲适|0x40000000|25732\n闲书|0x100000|30870\n闲谈|0x1000|12815\n闲田|0x0000|45138\n闲庭|0x100000|825\n闲暇|0x100000|14648\n闲心|0x100000|31685\n闲雅|0x40000000|1010\n闲逸|0x40000000|40035\n闲员|0x100000|55500\n闲云|0x100000|874\n闲杂|0x20000000|39820\n闲章|0x100000|1123\n闲职|0x100000|52037\n闲置|0x1000|9662\n闲着|0x100000|622\n闲坐|0x1000|891\n弦歌|0x1000|40037\n弦乐|0x100000|33834\n弦声|0x100000|422\n弦索|0x0000|45139\n弦月|0x100000|954\n弦子|0x0080|30332\n贤才|0x100000|37443\n贤臣|0x100000|40036\n贤达|0x100000|37091\n贤德|0x100000|42807\n贤弟|0x0000|36902\n贤惠|0x40000000|27743\n贤劳|0x40000000|0\n贤良|0x100000|28319\n贤路|0x100000|1148\n贤明|0x100000|34244\n贤能|0x100000|40254\n贤妻|0x100000|885\n贤契|0x100000|1383\n贤人|0x100000|31230\n贤士|0x100000|42570\n贤淑|0x40000000|37627\n贤徒|0x100000|0\n贤愚|0x100000|980\n贤哲|0x100000|50001\n咸菜|0x100000|17103\n咸淡|0x0000|45421\n咸蛋|0x100000|838\n咸度|0x0080|0\n咸丰|0x0008|1309\n咸海|0x100000|1116\n咸湖|0x100000|0\n咸宁|0x0040|1242\n咸肉|0x100000|46030\n咸水|0x100000|884\n咸味|0x100000|822\n咸性|0x0080|0\n咸盐|0x100000|51177\n咸阳|0x0040|1086\n咸鱼|0x100000|37799\n涎沫|0x100000|1220\n涎石|0x0080|0\n涎水|0x100000|35125\n娴静|0x40000000|34402\n娴熟|0x40000000|16569\n娴雅|0x40000000|43781\n舷窗|0x100000|32940\n舷门|0x100000|0\n舷梯|0x100000|21283\n衔恨|0x1000|41356\n衔接|0x1000|6948\n衔枚|0x1000|1135\n衔命|0x1000|50761\n衔铁|0x100000|1241\n衔冤|0x1000|53482\n痫证|0x0008|0\n嫌恶|0x1000|30766\n嫌烦|0x0000|40904\n嫌犯|0x100000|762\n嫌忌|0x1000|0\n嫌弃|0x1000|20482\n嫌隙|0x100000|35579\n嫌疑|0x100000|9511\n嫌怨|0x1000|1274\n嫌憎|0x1000|0\n显摆|0x1000|790\n显出|0x1000|5730\n显存|0x0008|711\n显达|0x40000000|40463\n显得|0x1000|1118\n显贵|0x100000|31347\n显赫|0x40000000|16435\n显宦|0x100000|0\n显豁|0x40000000|52038\n显见|0x1000|29683\n显卡|0x100000|533\n显亮|0x100000|1041\n显灵|0x1000|35580\n显露|0x1000|9574\n显明|0x40000000|24731\n显目|0x40000000|1074\n显能|0x1000|54994\n显然|0x40000000|1509\n显荣|0x40000000|1116\n显色|0x100000|959\n显圣|0x1000|46915\n显示|0x1000|1255\n显微|0x1000|822\n显现|0x1000|6249\n显象|0x0008|1475\n显像|0x1000|833\n显效|0x1000|43533\n显形|0x1000|46031\n显性|0x100000|29362\n显学|0x100000|45422\n显眼|0x40000000|14804\n显要|0x40000000|30767\n显耀|0x1000|50374\n显影|0x1000|42571\n显证|0x100000|0\n显著|0x40000000|1886\n险隘|0x100000|51611\n险地|0x100000|50762\n险毒|0x40000000|50375\n险段|0x100000|1177\n险恶|0x40000000|12563\n险峰|0x100000|33584\n险工|0x100000|1185\n险固|0x40000000|47218\n险关|0x100000|46032\n险乎|0x8000000|1337\n险境|0x100000|25377\n险局|0x0000|55501\n险绝|0x40000000|1129\n险峻|0x40000000|21927\n险路|0x0040|3\n险棋|0x0000|43534\n险峭|0x0000|55502\n险情|0x100000|11977\n险胜|0x1000|17081\n险滩|0x100000|29153\n险象|0x100000|48542\n险些|0x8000000|13538\n险要|0x40000000|21928\n险韵|0x100000|0\n险遭|0x1000|41819\n险诈|0x40000000|50763\n险兆|0x100000|0\n险症|0x100000|1357\n险种|0x0000|17428\n险阻|0x100000|28146\n藓苔|0x100000|1187\n县长|0x100000|3994\n县城|0x100000|3232\n县份|0x100000|35126\n县府|0x100000|28778\n县官|0x100000|24668\n县级|0x100000|664\n县界|0x100000|50002\n县境|0x100000|940\n县里|0x8000|804\n县立|0x100000|38176\n县令|0x100000|849\n县民|0x100000|984\n县委|0x100000|2294\n县尉|0x100000|1080\n县县|0x20000|17\n县衙|0x100000|927\n县政|0x100000|1077\n县直|0x20000000|941\n县志|0x100000|26009\n县治|0x100000|50376\n县属|0x20000000|1026\n岘港|0x0080|1111\n苋菜|0x100000|45140\n苋科|0x100000|1306\n现场|0x100000|1714\n现钞|0x100000|22377\n现成|0x20000000|9368\n现丑|0x1000|55503\n现出|0x1000|9034\n现存|0x1000|9687\n现代|0x100000|418\n现地|0x0080|1021\n现房|0x100000|46916\n现汇|0x100000|33835\n现货|0x100000|22806\n现价|0x100000|37092\n现今|0x4000|10176\n现金|0x100000|4362\n现局|0x100000|1351\n现款|0x100000|24204\n现况|0x100000|48177\n现量|0x0008|1125\n现买|0x0000|46033\n现卖|0x0000|45732\n现名|0x100000|944\n现年|0x100000|13738\n现期|0x4000|0\n现钱|0x100000|22705\n现任|0x20000000|6065\n现身|0x1000|564\n现时|0x4000|15176\n现实|0x100000|565\n现世|0x1000|23891\n现势|0x100000|1213\n现下|0x4000|43535\n现象|0x100000|690\n现像|0x0008|486\n现行|0x20000000|3992\n现形|0x1000|36734\n现眼|0x40000000|44014\n现洋|0x100000|1266\n现已|0x8000000|565\n现役|0x20000000|12200\n现有|0x1000|2200\n现在|0x4000|96\n现值|0x100000|940\n现职|0x100000|22241\n现状|0x100000|2997\n线板|0x100000|51178\n线材|0x100000|28227\n线程|0x100000|666\n线虫|0x100000|21404\n线带|0x100000|851\n线段|0x100000|13390\n线管|0x0000|470\n线规|0x100000|1211\n线裤|0x0000|54538\n线缆|0x100000|574\n线路|0x100000|4259\n线民|0x0008|0\n线呢|0x100000|52039\n线谱|0x100000|1012\n线圈|0x100000|44262\n线人|0x100000|45141\n线上|0x40000000|756\n线绳|0x100000|40905\n线索|0x100000|5309\n线毯|0x100000|48178\n线条|0x100000|9588\n线头|0x100000|34704\n线图|0x100000|960\n线团|0x0000|44849\n线袜|0x0000|46312\n线线|0x20000|0\n线香|0x100000|44015\n线形|0x100000|34114\n线型|0x20000000|40672\n线性|0x100000|17429\n线衣|0x100000|38002\n线轴|0x100000|1064\n线装|0x20000000|829\n线状|0x0008|961\n限产|0x1000|36552\n限电|0x0000|20255\n限定|0x1000|11373\n限度|0x100000|3925\n限额|0x100000|9758\n限幅|0x0080|0\n限价|0x1000|24350\n限界|0x0080|54005\n限量|0x1000|17577\n限令|0x100000|35127\n限流|0x0080|1\n限期|0x1000|6043\n限时|0x1000|36219\n限速|0x1000|40464\n限位|0x20000000|921\n限于|0x1000|7314\n限止|0x1000|52496\n限制|0x1000|1543\n宪兵|0x100000|14972\n宪法|0x100000|1879\n宪章|0x100000|8121\n宪政|0x100000|18134\n陷波|0x0080|0\n陷谷|0x0008|0\n陷害|0x1000|16498\n陷进|0x1000|543\n陷井|0x0080|511\n陷阱|0x100000|9701\n陷坑|0x100000|38384\n陷落|0x1000|21601\n陷没|0x1000|1161\n陷入|0x1000|2913\n陷身|0x1000|50003\n陷于|0x1000|11137\n陷阵|0x1000|23246\n馅饼|0x100000|710\n馅儿|0x100000|35437\n羡慕|0x40000000|6362\n献宝|0x1000|43782\n献策|0x1000|7158\n献丑|0x1000|39821\n献出|0x1000|718\n献词|0x100000|37800\n献辞|0x100000|989\n献给|0x1000|7136\n献花|0x1000|22184\n献计|0x1000|24301\n献技|0x1000|39822\n献金|0x0000|441\n献礼|0x1000|17516\n献媚|0x1000|27496\n献旗|0x0000|54006\n献上|0x1000|674\n献身|0x1000|7563\n献物|0x1000|0\n献县|0x0040|1454\n献血|0x1000|9087\n献演|0x0000|47848\n献艺|0x1000|22026\n腺癌|0x100000|839\n腺苷|0x100000|1020\n腺瘤|0x100000|52497\n腺毛|0x100000|1302\n腺体|0x100000|914\n霰弹|0x100000|994\n乡办|0x20000000|0\n乡长|0x100000|7621\n乡城|0x0080|1015\n乡愁|0x100000|25053\n乡村|0x100000|2559\n乡党|0x100000|26932\n乡丁|0x100000|1155\n乡关|0x100000|977\n乡宦|0x100000|1269\n乡间|0x100000|11630\n乡井|0x100000|0\n乡居|0x0008|1050\n乡里|0x100000|7181\n乡邻|0x100000|28965\n乡民|0x100000|19006\n乡宁|0x0080|1019\n乡亲|0x100000|4482\n乡情|0x100000|18135\n乡曲|0x100000|1118\n乡人|0x100000|29154\n乡绅|0x100000|26082\n乡试|0x100000|984\n乡塾|0x100000|0\n乡思|0x100000|40673\n乡俗|0x100000|40465\n乡谈|0x100000|55504\n乡土|0x100000|12037\n乡下|0x100000|5133\n乡贤|0x100000|1062\n乡乡|0x20000|1020\n乡野|0x100000|33447\n乡谊|0x100000|49276\n乡音|0x100000|20717\n乡邮|0x100000|50004\n乡友|0x100000|1113\n乡原|0x100000|1178\n乡愿|0x100000|1055\n乡约|0x0000|26083\n乡镇|0x100000|2480\n芗剧|0x100000|1262\n相爱|0x1000|12928\n相安|0x1000|1005\n相伴|0x1000|12719\n相帮|0x1000|38385\n相悖|0x0000|21777\n相比|0x1000|1797\n相变|0x1000|969\n相簿|0x100000|586\n相册|0x100000|29059\n相差|0x1000|7982\n相称|0x40000000|11441\n相成|0x1000|943\n相承|0x1000|13397\n相乘|0x1000|46313\n相持|0x1000|14548\n相斥|0x100000|47537\n相处|0x1000|6123\n相传|0x1000|9641\n相待|0x1000|11523\n相当|0x8000000|721\n相得|0x1000|988\n相等|0x1000|8641\n相抵|0x1000|18409\n相对|0x1000|1457\n相烦|0x1000|54539\n相反|0x1000|2919\n相仿|0x1000|19865\n相逢|0x1000|16726\n相符|0x1000|13034\n相干|0x1000|24302\n相隔|0x1000|13602\n相公|0x100000|801\n相顾|0x0000|40906\n相关|0x1000|1486\n相国|0x100000|884\n相好|0x100000|36064\n相合|0x1000|19718\n相互|0x8000000|979\n相会|0x1000|13918\n相机|0x100000|9792\n相继|0x8000000|2837\n相加|0x1000|21087\n相间|0x1000|15727\n相见|0x1000|8109\n相交|0x1000|15844\n相角|0x100000|1161\n相较|0x0000|37093\n相接|0x1000|18754\n相近|0x1000|8714\n相救|0x1000|798\n相距|0x1000|9066\n相聚|0x1000|12816\n相看|0x1000|12759\n相克|0x1000|828\n相类|0x0000|30982\n相连|0x1000|6585\n相联|0x1000|16878\n相恋|0x1000|41590\n相邻|0x1000|11027\n相率|0x8000000|14895\n相马|0x1000|841\n相瞒|0x0000|46314\n相貌|0x100000|11064\n相面|0x1000|29574\n相命|0x1000|1142\n相配|0x40000000|23892\n相碰|0x1000|31796\n相片|0x100000|495\n相扑|0x100000|25164\n相契|0x1000|2\n相切|0x1000|1034\n相亲|0x1000|19909\n相去|0x1000|19607\n相劝|0x1000|27416\n相让|0x1000|30216\n相扰|0x1000|49638\n相认|0x1000|37801\n相容|0x1000|16331\n相溶|0x1000|975\n相若|0x1000|939\n相商|0x1000|40674\n相生|0x1000|1330\n相声|0x100000|7015\n相识|0x100000|8085\n相士|0x100000|1010\n相视|0x1000|20634\n相书|0x100000|1136\n相熟|0x1000|34246\n相术|0x100000|48180\n相思|0x1000|18973\n相似|0x40000000|3847\n相送|0x0000|27417\n相随|0x1000|24408\n相态|0x100000|0\n相通|0x1000|9722\n相同|0x1000|1608\n相投|0x1000|27744\n相图|0x100000|1038\n相托|0x1000|39823\n相望|0x1000|17517\n相违|0x0000|36903\n相位|0x100000|839\n相向|0x8000000|24351\n相象|0x0008|1272\n相像|0x40000000|23135\n相偕|0x0000|38003\n相信|0x1000|532\n相形|0x1000|512\n相许|0x0000|41821\n相沿|0x0000|36735\n相邀|0x0000|33448\n相依|0x1000|19973\n相宜|0x40000000|20485\n相移|0x100000|1101\n相异|0x0080|1395\n相应|0x1000|1882\n相迎|0x0000|18519\n相映|0x1000|25453\n相与|0x100000|37629\n相遇|0x1000|8078\n相约|0x1000|13095\n相悦|0x0000|44544\n相赠|0x1000|876\n相争|0x0000|543\n相知|0x100000|21243\n相纸|0x100000|48929\n相中|0x1000|24082\n相助|0x1000|16830\n相撞|0x1000|14837\n相左|0x1000|30109\n香案|0x100000|29799\n香包|0x0008|1376\n香槟|0x100000|30450\n香波|0x100000|47849\n香菜|0x100000|38177\n香草|0x100000|34705\n香肠|0x100000|22962\n香巢|0x100000|1073\n香橙|0x100000|53485\n香臭|0x100000|369\n香椿|0x100000|30768\n香醇|0x40000000|48927\n香醋|0x0000|55506\n香脆|0x0008|1368\n香袋|0x0008|51612\n香肚|0x0000|53486\n香饵|0x100000|45142\n香榧|0x100000|1020\n香粉|0x100000|34706\n香附|0x0008|440\n香干|0x100000|984\n香港|0x0040|531\n香菇|0x100000|20034\n香瓜|0x100000|33586\n香河|0x0040|1320\n香盒|0x0080|0\n香花|0x100000|31348\n香灰|0x100000|42572\n香会|0x100000|50765\n香火|0x100000|17104\n香江|0x0040|1242\n香蕉|0x100000|12340\n香精|0x100000|38785\n香客|0x100000|28228\n香料|0x100000|20376\n香炉|0x100000|19686\n香茅|0x0080|1010\n香茗|0x100000|49639\n香囊|0x100000|47850\n香农|0x0080|1040\n香片|0x100000|37630\n香蒲|0x0080|1086\n香气|0x100000|11002\n香芹|0x100000|1061\n香薷|0x100000|1113\n香山|0x0040|1120\n香水|0x100000|14996\n香酥|0x20000000|880\n香甜|0x40000000|19126\n香丸|0x0080|1145\n香味|0x100000|10556\n香香|0x0080|646\n香型|0x100000|869\n香蕈|0x100000|1091\n香烟|0x100000|5879\n香艳|0x40000000|38786\n香液|0x0080|0\n香油|0x100000|25669\n香鱼|0x100000|1057\n香郁|0x0080|0\n香橼|0x100000|1139\n香皂|0x100000|25295\n香泽|0x0080|1084\n香樟|0x100000|32826\n香脂|0x100000|50766\n香纸|0x100000|47851\n香烛|0x100000|30110\n厢房|0x100000|13589\n湘菜|0x100000|53487\n湘赣|0x0008|1009\n湘江|0x0040|1258\n湘剧|0x100000|54007\n湘军|0x100000|895\n湘帘|0x100000|1129\n湘莲|0x100000|51179\n湘潭|0x0040|1058\n湘西|0x0040|1141\n湘乡|0x0040|1400\n湘绣|0x100000|44265\n湘阴|0x0080|1504\n湘语|0x100000|1210\n湘竹|0x100000|1078\n箱包|0x100000|33449\n箱底|0x100000|33334\n箱根|0x0080|1496\n箱笼|0x100000|40908\n箱式|0x0000|45734\n箱体|0x100000|43784\n箱子|0x100000|6081\n襄城|0x0040|1515\n襄樊|0x0040|1053\n襄汾|0x0080|986\n襄理|0x100000|44850\n襄阳|0x0080|1206\n襄垣|0x0080|1027\n襄赞|0x0008|1311\n襄助|0x1000|1015\n镶板|0x100000|1192\n镶边|0x1000|37262\n镶金|0x0000|41591\n镶嵌|0x1000|13130\n镶牙|0x1000|51180\n详备|0x40000000|55507\n详查|0x0000|441\n详察|0x1000|1147\n详见|0x1000|25296\n详解|0x100000|50005\n详尽|0x40000000|11943\n详略|0x100000|47221\n详密|0x40000000|47852\n详明|0x40000000|42573\n详情|0x100000|18700\n详实|0x40000000|16642\n详述|0x1000|34115\n详谈|0x1000|44016\n详图|0x100000|51181\n详悉|0x1000|0\n详细|0x40000000|2626\n庠序|0x100000|1140\n祥和|0x40000000|9174\n祥瑞|0x100000|35734\n祥云|0x100000|14817\n翔实|0x40000000|16642\n享福|0x1000|17399\n享国|0x1000|0\n享尽|0x0000|486\n享乐|0x1000|13222\n享年|0x100000|10108\n享受|0x1000|1381\n享享|0x1000|0\n享用|0x1000|14379\n享有|0x1000|3825\n享誉|0x1000|13756\n响板|0x100000|49277\n响鼻|0x100000|47853\n响鞭|0x100000|48928\n响遍|0x1000|970\n响彻|0x1000|19007\n响动|0x100000|17798\n响度|0x100000|969\n响箭|0x100000|44851\n响雷|0x100000|39404\n响亮|0x40000000|7724\n响铃|0x100000|848\n响锣|0x0000|54009\n响马|0x100000|877\n响起|0x1000|517\n响器|0x100000|45735\n响晴|0x1000|48179\n响声|0x100000|8839\n响水|0x0080|1363\n响头|0x100000|905\n响音|0x100000|1166\n响应|0x1000|5000\n响指|0x100000|927\n饷银|0x0000|41822\n想必|0x8000000|10541\n想出|0x0000|689\n想到|0x1000|494\n想定|0x100000|1007\n想法|0x100000|2702\n想家|0x0000|565\n想见|0x1000|11504\n想尽|0x1000|672\n想开|0x1000|22518\n想来|0x8000000|6876\n想念|0x1000|10441\n想起|0x1000|495\n想睡|0x0000|513\n想头|0x100000|30983\n想望|0x1000|38582\n想想|0x1000|497\n想象|0x1000|1689\n想像|0x100000|508\n想要|0x1000|491\n想着|0x1000|498\n鲞鱼|0x100000|0\n向背|0x0000|19996\n向导|0x100000|12155\n向东|0x0000|614\n向后|0x8000000|698\n向火|0x1000|1044\n向来|0x8000000|6372\n向例|0x100000|1283\n向量|0x100000|832\n向慕|0x1000|0\n向内|0x0000|558\n向南|0x0008|1146\n向前|0x1000|498\n向上|0x1000|4508\n向使|0x10000000|1\n向外|0x0000|701\n向晚|0x4000|40675\n向往|0x1000|6322\n向午|0x0000|49278\n向下|0x8000000|715\n向斜|0x100000|1061\n向心|0x20000000|925\n向性|0x100000|962\n向学|0x1000|39622\n向阳|0x1000|18283\n向右|0x8000000|614\n向隅|0x0000|40038\n向着|0x1000|5484\n向左|0x8000000|615\n巷道|0x100000|18614\n巷口|0x100000|26084\n巷陌|0x100000|959\n巷尾|0x100000|403\n巷战|0x100000|26421\n巷子|0x100000|16173\n项背|0x100000|39186\n项城|0x0040|1549\n项链|0x100000|14071\n项目|0x100000|860\n项圈|0x100000|39187\n项饰|0x100000|1053\n项项|0x20000|1074\n项羽|0x0080|1245\n象鼻|0x0000|455\n象差|0x100000|0\n象管|0x100000|0\n象话|0x40000000|818\n象距|0x100000|0\n象马|0x0080|1073\n象皮|0x100000|1111\n象棋|0x100000|8065\n象散|0x0008|0\n象山|0x0040|1155\n象声|0x100000|1220\n象是|0x1000|585\n象素|0x0080|746\n象限|0x100000|932\n象形|0x100000|832\n象牙|0x100000|15065\n象样|0x40000000|534\n象征|0x100000|3223\n象州|0x0080|1554\n像话|0x0000|46316\n像片|0x100000|24150\n像是|0x1000|488\n像素|0x100000|556\n像样|0x40000000|13160\n像章|0x100000|35008\n橡胶|0x100000|9955\n橡木|0x100000|854\n橡皮|0x100000|16611\n橡实|0x100000|1141\n橡树|0x100000|29271\n橡子|0x100000|48930\n枭将|0x100000|0\n枭首|0x1000|1108\n枭雄|0x100000|35128\n削壁|0x100000|52515\n削波|0x0080|0\n削除|0x1000|1078\n削发|0x1000|35443\n削光|0x0080|0\n削价|0x1000|38796\n削尖|0x0080|462\n削肩|0x0000|53508\n削减|0x1000|7093\n削面|0x100000|51615\n削皮|0x1000|884\n削平|0x1000|29473\n削球|0x1000|42574\n削去|0x0000|510\n削弱|0x1000|7050\n削瘦|0x0000|41363\n削削|0x0080|0\n削职|0x0000|42072\n哓哓|0x80000|1047\n骁悍|0x0000|43537\n骁将|0x100000|30555\n骁骑|0x100000|36221\n骁勇|0x40000000|24083\n宵旰|0x1000|0\n宵禁|0x1000|32319\n宵小|0x100000|979\n宵夜|0x100000|39005\n消长|0x1000|27009\n消沉|0x40000000|17212\n消愁|0x0000|43538\n消除|0x1000|2365\n消磁|0x1000|48544\n消毒|0x1000|5073\n消法|0x100000|1020\n消防|0x20000000|4075\n消费|0x1000|1384\n消耗|0x100000|3835\n消化|0x1000|5353\n消极|0x40000000|4908\n消减|0x1000|34867\n消解|0x1000|20256\n消渴|0x1000|949\n消泺|0x0080|0\n消弭|0x1000|31687\n消灭|0x1000|3184\n消泯|0x1000|0\n消磨|0x1000|13828\n消气|0x1000|35896\n消遣|0x100000|12538\n消去|0x0000|530\n消融|0x1000|19146\n消散|0x1000|17600\n消声|0x1000|792\n消失|0x1000|2308\n消蚀|0x1000|50006\n消食|0x1000|46917\n消逝|0x1000|14765\n消释|0x1000|43300\n消受|0x1000|31100\n消瘦|0x40000000|16311\n消暑|0x1000|39004\n消损|0x1000|1157\n消停|0x1000|31101\n消退|0x1000|21878\n消亡|0x1000|14334\n消息|0x100000|717\n消夏|0x1000|30556\n消闲|0x1000|27243\n消消|0x0080|778\n消歇|0x0000|53489\n消协|0x100000|756\n消炎|0x1000|30217\n消遥|0x0080|0\n消夜|0x100000|40467\n消音|0x100000|807\n消灾|0x0000|31231\n消肿|0x1000|34707\n逍遥|0x40000000|17540\n萧邦|0x0080|0\n萧墙|0x100000|44017\n萧飒|0x40000000|1077\n萧瑟|0x40000000|26229\n萧森|0x40000000|1191\n萧疏|0x40000000|44018\n萧索|0x40000000|37444\n萧条|0x40000000|14335\n萧县|0x0040|1472\n萧萧|0x0100|20520\n硝化|0x1000|1015\n硝基|0x100000|847\n硝石|0x100000|44853\n硝酸|0x100000|20377\n硝烟|0x100000|12539\n硝盐|0x100000|54012\n硝唑|0x100000|385\n销案|0x1000|1128\n销差|0x0000|47854\n销钉|0x100000|1116\n销号|0x0000|54013\n销毁|0x1000|7271\n销魂|0x40000000|30657\n销货|0x1000|31102\n销价|0x0000|45738\n销假|0x1000|46035\n销量|0x100000|7626\n销路|0x100000|10807\n销纳|0x0000|46918\n销蚀|0x1000|51616\n销势|0x100000|53010\n销售|0x1000|1600\n销铄|0x1000|0\n销往|0x0008|652\n销行|0x1000|46919\n销赃|0x1000|30333\n销账|0x1000|55948\n销子|0x100000|55509\n潇洒|0x40000000|7708\n潇湘|0x100000|630\n潇潇|0x0100|29575\n霄汉|0x100000|48545\n霄壤|0x100000|1210\n嚣闹|0x40000000|0\n嚣杂|0x40000000|0\n嚣张|0x40000000|19288\n淆惑|0x1000|1361\n淆乱|0x1000|46317\n淆杂|0x40000000|0\n小巴|0x100000|45425\n小班|0x100000|33588\n小板|0x0000|465\n小半|0x400000|23136\n小包|0x100000|672\n小报|0x100000|15082\n小辈|0x100000|29471\n小臂|0x100000|849\n小便|0x1000|21929\n小辫|0x100000|860\n小别|0x0000|53491\n小兵|0x100000|664\n小病|0x100000|766\n小步|0x100000|763\n小菜|0x100000|17006\n小产|0x1000|46318\n小肠|0x100000|25733\n小潮|0x0008|1163\n小炒|0x100000|49641\n小车|0x100000|10670\n小城|0x100000|606\n小乘|0x100000|929\n小吃|0x100000|13693\n小池|0x0080|1365\n小丑|0x100000|17578\n小处|0x100000|921\n小传|0x100000|28966\n小船|0x100000|693\n小窗|0x100000|839\n小春|0x100000|34117\n小疵|0x0000|53011\n小词|0x100000|1003\n小葱|0x100000|37445\n小村|0x100000|785\n小错|0x100000|924\n小袋|0x100000|890\n小旦|0x100000|34403\n小刀|0x100000|21739\n小岛|0x100000|666\n小道|0x100000|16499\n小弟|0x100000|17878\n小点|0x100000|735\n小调|0x100000|24084\n小碟|0x100000|924\n小洞|0x0040|1312\n小豆|0x100000|42575\n小段|0x0000|578\n小队|0x100000|755\n小额|0x100000|744\n小儿|0x100000|10369\n小贩|0x100000|12414\n小房|0x100000|893\n小费|0x100000|16663\n小粉|0x100000|920\n小幅|0x20000000|691\n小腹|0x100000|31103\n小港|0x100000|1466\n小哥|0x0008|1322\n小格|0x100000|994\n小个|0x100000|904\n小工|0x100000|24535\n小沟|0x0040|981\n小狗|0x100000|576\n小姑|0x100000|35292\n小鼓|0x100000|942\n小褂|0x100000|29899\n小鬼|0x100000|14838\n小郭|0x100000|507\n小锅|0x0000|442\n小国|0x100000|753\n小过|0x0000|40255\n小孩|0x100000|495\n小海|0x0008|1373\n小寒|0x4000|21326\n小号|0x100000|32446\n小河|0x100000|669\n小湖|0x0040|1434\n小户|0x100000|30111\n小花|0x100000|634\n小环|0x0080|1552\n小惠|0x100000|886\n小伙|0x100000|643\n小鸡|0x100000|665\n小集|0x0008|1536\n小计|0x0080|1416\n小记|0x100000|721\n小蓟|0x100000|1160\n小件|0x100000|33698\n小建|0x100000|962\n小将|0x100000|7810\n小角|0x100000|962\n小脚|0x100000|16250\n小教|0x0000|40676\n小街|0x100000|799\n小节|0x100000|13928\n小结|0x100000|26644\n小姐|0x100000|1891\n小解|0x1000|41823\n小金|0x0040|1230\n小襟|0x100000|0\n小径|0x100000|18883\n小舅|0x100000|938\n小聚|0x1000|46612\n小卡|0x0008|1410\n小开|0x100000|938\n小楷|0x100000|37804\n小看|0x1000|14144\n小康|0x100000|2485\n小考|0x100000|46613\n小可|0x100000|41824\n小孔|0x100000|805\n小口|0x0008|1202\n小块|0x0000|620\n小狼|0x0000|393\n小莉|0x100000|495\n小吏|0x100000|965\n小利|0x0000|26707\n小粒|0x0000|444\n小梁|0x100000|955\n小量|0x400000|41358\n小令|0x100000|46614\n小龙|0x100000|25924\n小笼|0x0000|460\n小鹿|0x100000|744\n小路|0x100000|7508\n小锣|0x100000|43301\n小马|0x100000|690\n小麦|0x100000|3310\n小卖|0x100000|32829\n小满|0x4000|46319\n小猫|0x0008|966\n小毛|0x0080|731\n小锚|0x0008|1307\n小帽|0x100000|940\n小妹|0x100000|598\n小门|0x100000|824\n小米|0x100000|15293\n小秘|0x0008|0\n小蜜|0x0008|1\n小民|0x100000|839\n小名|0x100000|28501\n小命|0x100000|748\n小脑|0x100000|35129\n小年|0x4000|27745\n小鸟|0x100000|10145\n小妞|0x100000|715\n小牛|0x100000|688\n小农|0x100000|27010\n小女|0x100000|25454\n小牌|0x0008|994\n小盘|0x100000|807\n小跑|0x1000|19103\n小片|0x0000|539\n小品|0x100000|7233\n小瓶|0x0000|540\n小旗|0x0040|1510\n小气|0x40000000|19974\n小器|0x40000000|917\n小憩|0x1000|27318\n小钱|0x100000|21458\n小桥|0x100000|689\n小瞧|0x1000|29156\n小巧|0x40000000|16643\n小丘|0x100000|934\n小秋|0x4000|958\n小球|0x100000|20554\n小区|0x100000|4083\n小曲|0x0080|1211\n小觑|0x1000|26708\n小泉|0x0080|725\n小犬|0x100000|897\n小人|0x100000|22341\n小山|0x100000|665\n小商|0x100000|871\n小舌|0x100000|55902\n小蛇|0x0000|520\n小生|0x100000|19175\n小声|0x8000000|6370\n小胜|0x1000|783\n小诗|0x0080|1198\n小狮|0x0008|1034\n小时|0x100000|619\n小食|0x100000|43302\n小市|0x0000|52044\n小事|0x100000|3915\n小视|0x1000|24468\n小室|0x0080|1520\n小手|0x100000|626\n小叔|0x100000|27319\n小暑|0x4000|48546\n小鼠|0x100000|849\n小树|0x100000|723\n小数|0x100000|31232\n小睡|0x1000|43539\n小说|0x100000|1171\n小厮|0x100000|914\n小穗|0x0008|1151\n小摊|0x100000|741\n小体|0x0080|1036\n小跳|0x0008|0\n小艇|0x100000|29684\n小童|0x100000|42066\n小桶|0x0000|430\n小偷|0x100000|14042\n小头|0x0008|39407\n小兔|0x0000|562\n小腿|0x100000|16801\n小娃|0x100000|989\n小湾|0x0008|990\n小王|0x0080|1184\n小我|0x100000|40468\n小屋|0x100000|506\n小溪|0x100000|13856\n小戏|0x100000|23096\n小虾|0x100000|846\n小箱|0x0000|461\n小巷|0x100000|683\n小项|0x100000|975\n小象|0x100000|488\n小小|0x0100|492\n小鞋|0x100000|33336\n小写|0x20000000|46921\n小心|0x40000000|4185\n小星|0x0008|1416\n小型|0x20000000|4999\n小熊|0x0000|659\n小修|0x1000|47222\n小婿|0x100000|0\n小穴|0x0000|527\n小学|0x100000|1488\n小雪|0x100000|10315\n小鸭|0x100000|1125\n小雅|0x100000|566\n小眼|0x100000|778\n小羊|0x0008|1214\n小样|0x100000|42067\n小咬|0x100000|1161\n小叶|0x100000|763\n小姨|0x0000|20791\n小议|0x1000|858\n小引|0x100000|30557\n小饮|0x0000|399\n小鹰|0x100000|911\n小影|0x100000|50008\n小于|0x1000|9513\n小鱼|0x100000|594\n小雨|0x100000|2993\n小玉|0x100000|584\n小圆|0x0008|1314\n小院|0x100000|753\n小月|0x100000|38178\n小灶|0x100000|33187\n小站|0x100000|643\n小账|0x0000|40040\n小照|0x100000|45739\n小镇|0x100000|568\n小枝|0x0000|449\n小指|0x100000|31798\n小众|0x0008|834\n小舟|0x100000|757\n小朱|0x0000|498\n小珠|0x0008|1472\n小猪|0x0000|697\n小住|0x1000|33337\n小注|0x100000|47859\n小柱|0x0040|1103\n小篆|0x100000|48186\n小桌|0x100000|906\n小酌|0x0000|41827\n小资|0x0008|639\n小子|0x100000|3996\n小字|0x100000|18674\n小宗|0x0000|47539\n小卒|0x100000|40041\n小组|0x100000|1505\n小坐|0x1000|37095\n晓畅|0x1000|42809\n晓得|0x1000|4010\n晓风|0x100000|1306\n晓市|0x100000|51618\n晓示|0x1000|43786\n晓事|0x1000|51619\n晓悟|0x1000|0\n晓谕|0x1000|1037\n晓月|0x100000|45143\n孝昌|0x0008|1009\n孝道|0x100000|32698\n孝弟|0x0008|1065\n孝服|0x100000|40469\n孝感|0x0040|1186\n孝经|0x0008|1523\n孝敬|0x1000|14782\n孝廉|0x100000|46615\n孝幔|0x0080|0\n孝女|0x100000|39188\n孝顺|0x1000|16136\n孝悌|0x0080|46922\n孝心|0x100000|20966\n孝行|0x0080|1507\n孝衣|0x100000|41360\n孝义|0x0040|1387\n孝子|0x100000|16215\n肖邦|0x0080|1264\n肖尼|0x0080|0\n肖像|0x100000|13082\n哮喘|0x100000|21930\n效法|0x1000|22378\n效仿|0x1000|19570\n效果|0x100000|1038\n效劳|0x1000|23394\n效力|0x100000|5823\n效率|0x100000|1861\n效命|0x1000|33450\n效能|0x100000|7769\n效颦|0x1000|1056\n效死|0x1000|31919\n效验|0x100000|35293\n效益|0x100000|1851\n效应|0x100000|3412\n效用|0x100000|16351\n效尤|0x1000|30985\n效忠|0x1000|20521\n校本|0x100000|54325\n校长|0x100000|1409\n校场|0x100000|49133\n校车|0x100000|813\n校点|0x100000|53795\n校订|0x1000|39947\n校董|0x100000|1024\n校对|0x1000|20736\n校方|0x100000|17542\n校风|0x100000|24732\n校服|0x100000|25378\n校改|0x1000|44718\n校歌|0x100000|42320\n校工|0x100000|1027\n校官|0x100000|50009\n校规|0x100000|31688\n校核|0x1000|1027\n校花|0x100000|42576\n校徽|0x100000|37805\n校际|0x20000000|29801\n校刊|0x100000|39189\n校勘|0x1000|29028\n校门|0x100000|11405\n校内|0x8000|664\n校旗|0x100000|50770\n校庆|0x100000|21692\n校区|0x100000|639\n校舍|0x100000|10817\n校史|0x100000|45427\n校外|0x8000|714\n校尉|0x100000|890\n校务|0x100000|27011\n校训|0x100000|25925\n校验|0x1000|35066\n校样|0x100000|31862\n校医|0x100000|37632\n校友|0x100000|17764\n校园|0x100000|3306\n校阅|0x1000|39948\n校正|0x1000|17503\n校址|0x100000|35737\n校注|0x100000|53796\n校准|0x1000|37913\n笑傲|0x0008|665\n笑柄|0x100000|34247\n笑场|0x1000|2\n笑话|0x100000|5105\n笑剧|0x100000|51186\n笑脸|0x100000|8130\n笑料|0x100000|29578\n笑林|0x0080|891\n笑骂|0x1000|25926\n笑貌|0x100000|44020\n笑纳|0x1000|38004\n笑气|0x100000|387\n笑容|0x100000|3843\n笑声|0x100000|4970\n笑谈|0x100000|28967\n笑纹|0x100000|29272\n笑窝|0x0000|48547\n笑笑|0x1000|536\n笑星|0x100000|36904\n笑颜|0x100000|31799\n笑靥|0x100000|28968\n笑意|0x100000|10955\n笑影|0x100000|1074\n笑语|0x100000|16831\n笑着|0x0000|810\n啸傲|0x1000|920\n啸聚|0x1000|41828\n啸鸣|0x100000|1214\n啸声|0x100000|907\n些个|0x400000|52498\n些微|0x8000000|26298\n些小|0x40000000|12219\n些须|0x400000|923\n些许|0x400000|18856\n楔焊|0x0080|0\n楔形|0x100000|930\n楔子|0x100000|35897\n歇班|0x1000|54015\n歇顶|0x1000|1213\n歇乏|0x1000|0\n歇伏|0x0000|54996\n歇工|0x1000|45428\n歇肩|0x1000|0\n歇脚|0x1000|28676\n歇凉|0x1000|48549\n歇气|0x1000|41122\n歇晌|0x1000|1266\n歇手|0x1000|41592\n歇宿|0x1000|50771\n歇腿|0x1000|45429\n歇息|0x1000|17317\n歇夏|0x1000|52499\n歇歇|0x1000|751\n歇业|0x1000|29580\n歇夜|0x1000|0\n歇枝|0x1000|0\n蝎虎|0x100000|50379\n蝎子|0x100000|25379\n协办|0x1000|12005\n协查|0x1000|34868\n协调|0x1000|1496\n协定|0x100000|4097\n协防|0x1000|939\n协管|0x0000|24733\n协和|0x1000|14270\n协会|0x100000|2077\n协理|0x100000|39190\n协力|0x1000|19127\n协商|0x1000|2928\n协同|0x1000|8075\n协议|0x100000|1669\n协约|0x100000|32062\n协助|0x1000|3473\n协奏|0x1000|46923\n协作|0x1000|3362\n邪财|0x100000|54997\n邪道|0x100000|45740\n邪恶|0x40000000|9621\n邪乎|0x40000000|48187\n邪火|0x0000|40677\n邪教|0x100000|3336\n邪路|0x100000|30558\n邪门|0x0040|764\n邪魔|0x100000|45430\n邪念|0x100000|34118\n邪气|0x100000|22131\n邪说|0x100000|12364\n邪祟|0x100000|54016\n邪心|0x100000|50772\n邪行|0x40000000|54998\n胁逼|0x1000|1294\n胁持|0x1000|1014\n胁从|0x1000|36554\n胁迫|0x1000|18259\n胁痛|0x0008|0\n挟持|0x1000|25524\n挟带|0x1000|35898\n挟嫌|0x1000|43303\n挟制|0x1000|36222\n偕老|0x1000|34248\n偕同|0x1000|38005\n偕行|0x1000|1063\n斜边|0x100000|1021\n斜槽|0x100000|1161\n斜度|0x100000|47860\n斜杆|0x100000|1226\n斜杠|0x100000|971\n斜高|0x0080|1542\n斜谷|0x0080|0\n斜晖|0x0080|996\n斜嵴|0x0080|0\n斜角|0x100000|48188\n斜街|0x0000|44267\n斜井|0x100000|44268\n斜颈|0x100000|1101\n斜楞|0x1000|0\n斜路|0x100000|51187\n斜率|0x100000|986\n斜面|0x100000|28320\n斜睨|0x1000|40470\n斜坡|0x100000|18223\n斜桥|0x100000|979\n斜切|0x1000|1036\n斜射|0x1000|34404\n斜视|0x100000|30986\n斜塔|0x100000|932\n斜体|0x100000|877\n斜纹|0x100000|842\n斜线|0x100000|40042\n斜斜|0x0080|584\n斜压|0x100000|1267\n斜眼|0x100000|28148\n斜阳|0x100000|22760\n斜轧|0x100000|0\n斜照|0x1000|41123\n斜轴|0x100000|0\n斜着|0x0000|524\n谐波|0x100000|874\n谐调|0x40000000|32941\n谐和|0x40000000|968\n谐剧|0x100000|52045\n谐美|0x40000000|53014\n谐趣|0x100000|43066\n谐声|0x100000|51188\n谐戏|0x1000|0\n谐谑|0x1000|45741\n谐音|0x100000|22520\n谐振|0x100000|861\n携带|0x1000|5244\n携手|0x1000|6397\n携同|0x0008|1\n撷取|0x1000|34869\n撷英|0x1000|34249\n缬草|0x0080|0\n鞋帮|0x100000|38583\n鞋厂|0x100000|774\n鞋带|0x100000|32942\n鞋底|0x100000|15408\n鞋店|0x100000|812\n鞋垫|0x100000|27244\n鞋粉|0x100000|1310\n鞋跟|0x100000|833\n鞋柜|0x0008|1354\n鞋架|0x100000|418\n鞋匠|0x100000|30219\n鞋扣|0x4000000|384\n鞋类|0x100000|711\n鞋里|0x100000|906\n鞋脸|0x100000|1503\n鞋帽|0x100000|619\n鞋面|0x100000|39191\n鞋刷|0x100000|53015\n鞋袜|0x100000|21129\n鞋样|0x100000|47223\n鞋业|0x100000|601\n鞋油|0x100000|45144\n鞋子|0x100000|10241\n写本|0x100000|33591\n写成|0x1000|618\n写出|0x1000|560\n写道|0x1000|631\n写法|0x100000|17495\n写稿|0x1000|25595\n写给|0x1000|528\n写家|0x0000|53493\n写景|0x1000|34708\n写就|0x1000|770\n写明|0x1000|743\n写入|0x1000|662\n写上|0x1000|641\n写生|0x1000|13694\n写诗|0x1000|721\n写实|0x1000|12106\n写完|0x0000|635\n写下|0x1000|504\n写写|0x1000|612\n写信|0x1000|548\n写意|0x100000|15614\n写在|0x0000|669\n写照|0x100000|10876\n写真|0x100000|24086\n写字|0x1000|494\n写作|0x1000|2770\n泄沓|0x0008|0\n泄底|0x1000|1094\n泄愤|0x1000|40471\n泄恨|0x1000|44021\n泄洪|0x1000|21649\n泄劲|0x1000|1271\n泄漏|0x1000|12878\n泄露|0x1000|11337\n泄密|0x1000|25226\n泄气|0x1000|20925\n泄入|0x1000|0\n泄水|0x1000|1084\n泄泻|0x1000|963\n泻出|0x0000|410\n泻肚|0x1000|51620\n泻法|0x100000|0\n泻湖|0x100000|1120\n泻剂|0x0000|393\n泻流|0x100000|0\n泻下|0x100000|963\n泻药|0x100000|45742\n卸鞍|0x1000|0\n卸车|0x1000|31800\n卸除|0x0000|50381\n卸掉|0x1000|854\n卸货|0x1000|28502\n卸肩|0x1000|0\n卸料|0x0008|1523\n卸去|0x1000|895\n卸任|0x1000|23294\n卸下|0x1000|670\n卸载|0x1000|35899\n卸责|0x1000|48550\n卸职|0x1000|38179\n卸妆|0x1000|44022\n卸装|0x1000|44854\n械斗|0x1000|27160\n亵渎|0x1000|15920\n亵衣|0x100000|1\n谢病|0x1000|0\n谢忱|0x100000|46924\n谢词|0x100000|1182\n谢顶|0x1000|55904\n谢恩|0x1000|19997\n谢绝|0x1000|13347\n谢客|0x1000|49645\n谢礼|0x100000|50773\n谢幕|0x1000|25165\n谢启|0x0080|0\n谢却|0x1000|55512\n谢神|0x0008|1211\n谢世|0x1000|28229\n谢帖|0x100000|1344\n谢孝|0x1000|0\n谢谢|0x1000|4269\n谢仪|0x100000|52046\n谢意|0x100000|16524\n谢罪|0x1000|16137\n懈弛|0x40000000|0\n懈怠|0x40000000|13842\n懈惰|0x40000000|0\n懈气|0x1000|0\n薤白|0x100000|1161\n邂逅|0x1000|21327\n蟹粉|0x100000|952\n蟹黄|0x100000|44545\n蟹壳|0x0008|984\n蟹苗|0x0000|33700\n蟹青|0x100000|55513\n蟹肉|0x100000|48551\n心爱|0x20000000|10877\n心安|0x40000000|26646\n心包|0x100000|36067\n心病|0x100000|14973\n心材|0x100000|1189\n心裁|0x100000|50382\n心肠|0x100000|13866\n心潮|0x100000|28969\n心诚|0x40000000|855\n心传|0x100000|1026\n心慈|0x0000|37446\n心胆|0x100000|1041\n心得|0x100000|12786\n心底|0x100000|7385\n心地|0x100000|13023\n心定|0x0000|45431\n心动|0x40000000|14433\n心毒|0x40000000|51190\n心儿|0x100000|776\n心耳|0x100000|1114\n心法|0x0008|1224\n心烦|0x40000000|19147\n心房|0x100000|19352\n心扉|0x100000|20792\n心服|0x1000|32321\n心浮|0x40000000|37807\n心腹|0x100000|12805\n心甘|0x40000000|16174\n心肝|0x100000|19756\n心高|0x40000000|1394\n心海|0x100000|757\n心寒|0x40000000|30220\n心黑|0x40000000|46320\n心狠|0x40000000|33338\n心花|0x100000|865\n心怀|0x100000|15669\n心慌|0x1000|19646\n心灰|0x40000000|859\n心火|0x100000|36555\n心机|0x100000|25227\n心肌|0x100000|750\n心迹|0x100000|25670\n心急|0x40000000|22077\n心计|0x100000|21328\n心悸|0x1000|26848\n心尖|0x100000|42323\n心间|0x8000|26495\n心焦|0x40000000|28419\n心结|0x100000|715\n心劲|0x100000|35131\n心经|0x0008|728\n心境|0x100000|9219\n心静|0x40000000|25853\n心坎|0x100000|15749\n心口|0x100000|17675\n心宽|0x40000000|39625\n心里|0x8000|636\n心理|0x100000|594\n心力|0x100000|20486\n心灵|0x100000|2029\n心领|0x1000|19757\n心路|0x100000|20378\n心律|0x100000|28321\n心率|0x100000|29803\n心乱|0x0000|489\n心门|0x100000|1198\n心目|0x100000|7436\n心念|0x100000|796\n心魄|0x100000|26423\n心气|0x100000|21879\n心窍|0x100000|33702\n心切|0x40000000|17294\n心情|0x100000|1512\n心曲|0x100000|31234\n心软|0x40000000|25166\n心善|0x0000|41593\n心伤|0x1000|701\n心上|0x8000|5347\n心身|0x100000|869\n心神|0x100000|21329\n心声|0x100000|6153\n心事|0x100000|7020\n心室|0x100000|26013\n心术|0x100000|29900\n心数|0x100000|1141\n心衰|0x100000|22027\n心水|0x0008|778\n心思|0x100000|4882\n心酸|0x40000000|16437\n心算|0x1000|37808\n心碎|0x1000|528\n心态|0x100000|4470\n心疼|0x40000000|8054\n心田|0x100000|18185\n心跳|0x1000|8944\n心痛|0x40000000|498\n心头|0x8000|4174\n心土|0x100000|1198\n心王|0x0008|1029\n心窝|0x100000|24087\n心细|0x40000000|30451\n心弦|0x100000|20257\n心香|0x100000|894\n心想|0x1000|4919\n心向|0x0008|537\n心象|0x0008|1475\n心心|0x100000|917\n心性|0x100000|23894\n心胸|0x100000|14649\n心秀|0x1000|0\n心虚|0x40000000|16023\n心许|0x1000|0\n心绪|0x100000|15131\n心学|0x0008|459\n心血|0x100000|5806\n心眼|0x100000|650\n心药|0x100000|1\n心仪|0x1000|28230\n心疑|0x1000|0\n心意|0x100000|11227\n心音|0x100000|41124\n心硬|0x40000000|45432\n心语|0x0000|25105\n心愿|0x100000|6540\n心脏|0x100000|5250\n心窄|0x40000000|0\n心照|0x1000|908\n心折|0x1000|1005\n心志|0x100000|31801\n心智|0x100000|19998\n心中|0x8000|491\n心重|0x40000000|43067\n心轴|0x0008|1160\n心子|0x100000|44856\n心醉|0x1000|27161\n忻城|0x0040|988\n忻州|0x0040|1216\n芯片|0x100000|7057\n芯子|0x100000|52049\n辛丑|0x400000|949\n辛醇|0x100000|998\n辛亥|0x400000|791\n辛基|0x0080|1131\n辛集|0x0040|1320\n辛苦|0x40000000|4863\n辛辣|0x40000000|22242\n辛劳|0x40000000|16936\n辛卯|0x400000|1033\n辛勤|0x40000000|6854\n辛醛|0x0008|0\n辛炔|0x100000|0\n辛巳|0x400000|932\n辛酸|0x4000000|14145\n辛酮|0x0080|0\n辛烷|0x100000|1039\n辛未|0x400000|995\n辛烯|0x100000|0\n辛夷|0x100000|997\n辛酉|0x4000|974\n欣逢|0x1000|1060\n欣快|0x40000000|1103\n欣慕|0x0000|54018\n欣然|0x8000000|10629\n欣赏|0x1000|2356\n欣慰|0x40000000|6713\n欣闻|0x1000|33452\n欣悉|0x1000|48191\n欣喜|0x40000000|7427\n欣羡|0x1000|45145\n欣欣|0x0100|570\n欣幸|0x1000|46616\n欣悦|0x40000000|32699\n莘县|0x0040|1504\n莘莘|0x40000000|30311\n锌白|0x100000|0\n锌板|0x0000|377\n锌版|0x100000|1190\n锌肥|0x100000|0\n锌粉|0x100000|1045\n锌矿|0x0000|399\n锌片|0x0000|373\n新安|0x0080|1118\n新版|0x100000|520\n新币|0x100000|969\n新编|0x100000|15519\n新兵|0x100000|9329\n新蔡|0x0080|986\n新昌|0x0080|1238\n新钞|0x100000|1111\n新潮|0x100000|14414\n新车|0x100000|562\n新城|0x100000|578\n新宠|0x100000|32830\n新春|0x4000|5626\n新词|0x100000|21740\n新村|0x100000|628\n新低|0x100000|32187\n新店|0x0040|1098\n新丁|0x100000|874\n新法|0x100000|17699\n新房|0x100000|8126\n新丰|0x0008|1253\n新风|0x100000|8807\n新妇|0x100000|33838\n新干|0x0080|1533\n新港|0x0080|1202\n新高|0x100000|619\n新功|0x0000|23462\n新股|0x100000|722\n新寡|0x0000|52502\n新光|0x0008|1160\n新贵|0x100000|37097\n新和|0x0080|1378\n新河|0x0040|1349\n新华|0x0008|771\n新化|0x0080|1334\n新欢|0x100000|40912\n新晃|0x0008|1018\n新婚|0x100000|11579\n新机|0x100000|675\n新建|0x1000|3694\n新疆|0x0040|2174\n新绛|0x0080|1006\n新交|0x100000|34250\n新教|0x0008|855\n新界|0x0080|1387\n新津|0x0080|1446\n新近|0x8000000|8791\n新旧|0x100000|663\n新居|0x100000|11393\n新剧|0x100000|745\n新军|0x100000|799\n新刊|0x100000|994\n新科|0x0008|1139\n新课|0x0000|41594\n新款|0x100000|24607\n新郎|0x100000|11097\n新浪|0x0008|626\n新乐|0x0040|1320\n新力|0x0008|1232\n新历|0x100000|52048\n新龙|0x0008|1222\n新楼|0x100000|754\n新绿|0x100000|21826\n新论|0x100000|44858\n新罗|0x100000|1386\n新貌|0x100000|881\n新密|0x0040|1320\n新苗|0x100000|964\n新民|0x0040|1082\n新年|0x4000|4314\n新娘|0x100000|7959\n新宁|0x0080|1486\n新片|0x100000|585\n新品|0x100000|497\n新奇|0x40000000|10116\n新巧|0x40000000|54019\n新区|0x100000|8364\n新人|0x100000|5427\n新任|0x20000000|9015\n新锐|0x100000|25854\n新邵|0x0080|1515\n新生|0x100000|5582\n新声|0x100000|875\n新诗|0x100000|11871\n新式|0x20000000|10258\n新手|0x100000|22652\n新书|0x100000|11790\n新岁|0x100000|982\n新泰|0x0040|1278\n新体|0x0000|42811\n新田|0x0080|1379\n新闻|0x100000|536\n新禧|0x1000|52503\n新鲜|0x40000000|2889\n新县|0x0040|1542\n新线|0x100000|914\n新乡|0x0040|1016\n新新|0x0008|1074\n新兴|0x20000000|4409\n新星|0x100000|19571\n新型|0x20000000|2315\n新秀|0x100000|12173\n新学|0x0000|28779\n新训|0x0008|1040\n新芽|0x0000|37263\n新雅|0x40000000|911\n新颜|0x0000|28322\n新药|0x100000|11074\n新野|0x0080|1342\n新叶|0x100000|901\n新页|0x0008|0\n新衣|0x100000|734\n新医|0x0000|54020\n新沂|0x0040|1352\n新义|0x0000|50774\n新异|0x100000|43787\n新意|0x100000|11511\n新营|0x0040|1483\n新颖|0x40000000|7519\n新余|0x0040|1235\n新雨|0x100000|986\n新语|0x100000|835\n新元|0x100000|521\n新源|0x0008|1307\n新约|0x100000|37447\n新月|0x100000|16958\n新造|0x0040|1467\n新增|0x1000|508\n新张|0x1000|935\n新正|0x4000|54549\n新郑|0x0040|1270\n新政|0x100000|23895\n新知|0x100000|23395\n新址|0x100000|33188\n新制|0x100000|940\n新竹|0x0040|1093\n新著|0x100000|23010\n新妆|0x100000|984\n新庄|0x0040|1304\n新装|0x100000|26581\n新姿|0x100000|41595\n新字|0x100000|1046\n新作|0x100000|11783\n歆羡|0x40000000|1138\n薪柴|0x100000|1151\n薪酬|0x100000|19572\n薪传|0x100000|1093\n薪俸|0x100000|41829\n薪给|0x0008|50010\n薪火|0x100000|924\n薪金|0x100000|22132\n薪津|0x0008|1259\n薪水|0x100000|12600\n薪饷|0x100000|53018\n薪资|0x100000|40043\n馨香|0x100000|32063\n囟门|0x100000|1111\n信笔|0x8000000|38584\n信标|0x100000|1050\n信步|0x1000|24026\n信差|0x100000|1037\n信从|0x1000|46618\n信贷|0x100000|3829\n信道|0x800000|803\n信德|0x0080|1386\n信度|0x0080|3\n信访|0x1000|3943\n信丰|0x0080|973\n信风|0x100000|35901\n信封|0x100000|8230\n信奉|0x1000|14229\n信服|0x1000|17879\n信鸽|0x100000|35582\n信函|0x100000|15940\n信号|0x100000|3708\n信汇|0x0080|55516\n信笺|0x100000|22299\n信件|0x100000|9001\n信教|0x1000|13013\n信据|0x100000|1397\n信口|0x8000000|22475\n信赖|0x1000|7023\n信念|0x100000|3153\n信女|0x100000|44269\n信任|0x1000|2079\n信上|0x0004|534\n信石|0x0080|1158\n信实|0x0080|42326\n信史|0x100000|40044\n信使|0x100000|22028\n信士|0x0080|0\n信手|0x8000000|28231\n信守|0x1000|18601\n信条|0x100000|18100\n信筒|0x100000|53496\n信徒|0x100000|10894\n信托|0x20000000|8367\n信文|0x0080|1159\n信物|0x100000|35738\n信息|0x100000|840\n信箱|0x100000|8597\n信邪|0x1000|874\n信心|0x100000|1852\n信阳|0x0040|1098\n信仰|0x1000|3266\n信宜|0x0040|1467\n信义|0x100000|25927\n信用|0x100000|2707\n信誉|0x100000|6014\n信源|0x100000|845\n信札|0x100000|37448\n信纸|0x100000|16768\n衅端|0x100000|0\n兴安|0x0008|1261\n兴办|0x1000|7704\n兴邦|0x1000|904\n兴兵|0x1000|43540\n兴城|0x0040|1421\n兴废|0x0000|43541\n兴奋|0x40000000|1918\n兴革|0x1000|1190\n兴工|0x1000|34405\n兴国|0x1000|734\n兴海|0x0080|907\n兴和|0x100000|1395\n兴化|0x0040|1216\n兴会|0x100000|1069\n兴建|0x1000|4902\n兴隆|0x40000000|14146\n兴宁|0x0040|1325\n兴农|0x1000|516\n兴平|0x0040|1392\n兴起|0x1000|4343\n兴趣|0x100000|1792\n兴仁|0x0080|1490\n兴山|0x0080|1459\n兴盛|0x40000000|16065\n兴师|0x1000|20140\n兴衰|0x100000|12613\n兴叹|0x1000|26850\n兴替|0x1000|44024\n兴头|0x100000|28232\n兴亡|0x100000|19203\n兴旺|0x40000000|9711\n兴味|0x100000|15083\n兴文|0x0080|1453\n兴县|0x0040|1438\n兴修|0x1000|20141\n兴许|0x8000000|17646\n兴学|0x1000|42577\n兴业|0x0020|636\n兴义|0x0040|1360\n兴致|0x100000|9562\n兴筑|0x0008|0\n星币|0x0080|0\n星辰|0x100000|22908\n星驰|0x1000|623\n星等|0x0008|978\n星点|0x100000|932\n星斗|0x100000|27082\n星光|0x100000|10965\n星汉|0x0020|52504\n星号|0x100000|54021\n星河|0x0008|37809\n星湖|0x0008|1366\n星火|0x100000|16727\n星级|0x40000000|13843\n星际|0x8000|21650\n星空|0x100000|16389\n星历|0x0080|0\n星妈|0x0008|0\n星马|0x0008|974\n星盘|0x100000|981\n星期|0x100000|4122\n星球|0x100000|14286\n星群|0x100000|936\n星散|0x0000|49646\n星宿|0x100000|35134\n星体|0x100000|29686\n星图|0x100000|49647\n星团|0x100000|40045\n星系|0x100000|13191\n星相|0x100000|45433\n星象|0x100000|38789\n星星|0x100000|7737\n星形|0x100000|907\n星爷|0x100000|558\n星夜|0x100000|19976\n星鱼|0x0008|1283\n星月|0x100000|1139\n星云|0x100000|19503\n星运|0x0008|1338\n星占|0x1000|1105\n星状|0x0000|432\n星子|0x100000|8396\n星座|0x100000|17700\n惺忪|0x40000000|33840\n惺惺|0x100000|786\n猩红|0x100000|26496\n猩猩|0x100000|26497\n腥臭|0x100000|33339\n腥气|0x100000|29364\n腥臊|0x100000|52050\n腥膻|0x100000|49649\n腥味|0x100000|768\n刑案|0x100000|1015\n刑部|0x100000|899\n刑场|0x100000|19289\n刑罚|0x100000|11290\n刑法|0x100000|5755\n刑房|0x100000|1005\n刑警|0x100000|10167\n刑拘|0x1000|852\n刑具|0x100000|33189\n刑律|0x100000|21880\n刑满|0x0000|29157\n刑名|0x100000|1091\n刑期|0x100000|25297\n刑辱|0x1000|0\n刑事|0x20000000|3287\n刑庭|0x100000|51193\n刑讯|0x1000|18014\n刑责|0x0008|1029\n刑侦|0x1000|13180\n刑种|0x100000|0\n行板|0x100000|913\n行帮|0x100000|50978\n行包|0x0000|30453\n行辈|0x100000|1212\n行笔|0x1000|52505\n行波|0x100000|0\n行藏|0x100000|464\n行草|0x100000|35294\n行长|0x100000|698\n行车|0x100000|10353\n行程|0x100000|8251\n行船|0x1000|26086\n行刺|0x1000|30660\n行当|0x100000|15952\n行道|0x100000|677\n行东|0x100000|1170\n行动|0x100000|522\n行都|0x100000|7\n行贩|0x100000|1376\n行房|0x1000|55838\n行风|0x100000|770\n行宫|0x100000|20379\n行规|0x100000|31398\n行好|0x1000|35739\n行号|0x0008|1421\n行话|0x100000|28723\n行会|0x100000|31851\n行贿|0x1000|10855\n行货|0x100000|51398\n行迹|0x100000|37634\n行家|0x100000|14064\n行贾|0x100000|0\n行间|0x8000|38096\n行将|0x8000000|18225\n行脚|0x0008|445\n行劫|0x1000|49650\n行进|0x1000|10734\n行经|0x1000|34872\n行径|0x100000|7221\n行距|0x100000|38476\n行军|0x1000|9390\n行楷|0x100000|55002\n行库|0x0008|2\n行款|0x100000|49809\n行乐|0x1000|30335\n行礼|0x1000|13315\n行李|0x100000|5994\n行列|0x100000|5115\n行猎|0x1000|50385\n行令|0x1000|40475\n行路|0x0000|16312\n行旅|0x100000|36739\n行吗|0x4000000|634\n行囊|0x100000|22186\n行年|0x1000|1083\n行骗|0x1000|24027\n行聘|0x1000|0\n行期|0x100000|35441\n行乞|0x1000|36388\n行腔|0x1000|46038\n行抢|0x0000|50011\n行窃|0x1000|36224\n行箧|0x100000|0\n行情|0x100000|10773\n行人|0x100000|4402\n行色|0x100000|44547\n行善|0x1000|29472\n行商|0x100000|40047\n行赏|0x1000|1\n行省|0x100000|928\n行时|0x1000|53021\n行使|0x1000|3248\n行驶|0x1000|5932\n行市|0x100000|32376\n行事|0x100000|8386\n行书|0x100000|26364\n行署|0x100000|15132\n行述|0x100000|0\n行数|0x0000|527\n行唐|0x0080|1097\n行头|0x100000|18635\n行为|0x100000|450\n行尾|0x0000|386\n行文|0x1000|21498\n行伍|0x100000|33266\n行销|0x1000|26230\n行星|0x100000|9875\n行刑|0x1000|11978\n行行|0x20000|687\n行凶|0x1000|22379\n行业|0x100000|1394\n行医|0x1000|14783\n行吟|0x1000|932\n行营|0x100000|998\n行员|0x100000|1071\n行辕|0x100000|19687\n行运|0x0008|0\n行灶|0x100000|0\n行诈|0x0000|52051\n行栈|0x100000|1393\n行者|0x100000|619\n行政|0x100000|1028\n行止|0x100000|35442\n行舟|0x1000|938\n行装|0x100000|19540\n行状|0x100000|42578\n行踪|0x100000|17184\n行走|0x1000|6829\n行尊|0x0008|0\n邢台|0x0040|1088\n形变|0x1000|22706\n形成|0x1000|527\n形骸|0x100000|45435\n形迹|0x100000|22600\n形貌|0x100000|897\n形旁|0x100000|1217\n形容|0x100000|5568\n形神|0x100000|866\n形声|0x100000|49281\n形胜|0x0000|52052\n形式|0x100000|518\n形势|0x100000|940\n形数|0x100000|0\n形似|0x1000|19176\n形态|0x100000|3747\n形体|0x100000|11594\n形同|0x1000|714\n形相|0x100000|982\n形象|0x100000|785\n形意|0x100000|1000\n形影|0x100000|35740\n形制|0x100000|33453\n形状|0x100000|6059\n型钢|0x100000|39409\n型号|0x100000|10072\n型录|0x100000|935\n型谱|0x100000|1188\n型砂|0x100000|1081\n型式|0x100000|774\n醒盹|0x1000|0\n醒豁|0x40000000|1210\n醒酒|0x1000|45743\n醒觉|0x1000|884\n醒来|0x1000|498\n醒木|0x100000|53498\n醒目|0x40000000|8208\n醒脑|0x0008|47862\n醒狮|0x100000|944\n醒世|0x0000|437\n醒悟|0x1000|12863\n醒醒|0x1000|732\n醒眼|0x1000|1188\n醒着|0x0000|518\n杏脯|0x100000|54551\n杏干|0x0080|1094\n杏核|0x0000|43542\n杏红|0x100000|54552\n杏花|0x100000|20967\n杏黄|0x100000|40048\n杏仁|0x100000|28880\n杏树|0x100000|28060\n杏坛|0x100000|918\n杏眼|0x100000|42579\n杏子|0x100000|31689\n姓名|0x100000|4578\n姓氏|0x100000|13324\n幸臣|0x0000|42812\n幸存|0x1000|22601\n幸得|0x1000|842\n幸而|0x8000000|9956\n幸福|0x40000000|1240\n幸好|0x8000000|13677\n幸会|0x1000|40257\n幸进|0x1000|0\n幸亏|0x8000000|9391\n幸免|0x1000|16066\n幸甚|0x1000|957\n幸事|0x100000|23723\n幸喜|0x8000000|41126\n幸运|0x100000|6944\n性爱|0x1000|21499\n性别|0x100000|7108\n性病|0x100000|13505\n性感|0x40000000|17121\n性格|0x100000|2081\n性急|0x40000000|18520\n性交|0x1000|100\n性灵|0x100000|23958\n性命|0x100000|7075\n性能|0x100000|3858\n性气|0x100000|1147\n性器|0x100000|923\n性情|0x100000|8445\n性腺|0x100000|29061\n性向|0x0008|475\n性行|0x100000|1063\n性学|0x100000|539\n性欲|0x100000|18316\n性征|0x100000|44860\n性徵|0x0080|0\n性质|0x100000|1589\n性状|0x100000|13283\n性子|0x100000|12341\n悻然|0x0100|42327\n悻悻|0x0100|18284\n凶案|0x100000|48934\n凶暴|0x40000000|36225\n凶残|0x40000000|19790\n凶恶|0x40000000|16898\n凶犯|0x100000|28970\n凶光|0x0000|41128\n凶悍|0x40000000|31562\n凶耗|0x100000|53499\n凶狠|0x40000000|15476\n凶横|0x40000000|40258\n凶狂|0x40000000|54022\n凶蛮|0x0000|52054\n凶猛|0x40000000|13240\n凶年|0x4000|52055\n凶气|0x100000|51622\n凶器|0x100000|26425\n凶人|0x0000|50777\n凶杀|0x1000|23896\n凶煞|0x100000|45436\n凶神|0x100000|950\n凶事|0x100000|412\n凶手|0x100000|11202\n凶死|0x1000|54554\n凶顽|0x40000000|44861\n凶嫌|0x100000|1148\n凶险|0x40000000|24409\n凶相|0x100000|39626\n凶信|0x100000|50778\n凶讯|0x0000|55517\n凶焰|0x100000|45744\n凶宅|0x100000|53500\n凶兆|0x100000|47544\n兄长|0x100000|18913\n兄弟|0x100000|2533\n兄妹|0x100000|12844\n兄嫂|0x100000|35902\n匈奴|0x0008|9906\n汹汹|0x0100|26498\n汹涌|0x40000000|11311\n胸痹|0x100000|1113\n胸部|0x100000|12636\n胸次|0x100000|0\n胸脯|0x100000|7502\n胸腹|0x100000|913\n胸骨|0x100000|39825\n胸花|0x0000|53023\n胸怀|0x100000|7878\n胸肌|0x100000|837\n胸甲|0x0000|498\n胸襟|0x100000|14147\n胸径|0x100000|1033\n胸卡|0x100000|39411\n胸科|0x0000|35009\n胸口|0x100000|10081\n胸廓|0x100000|1023\n胸闷|0x0008|26299\n胸膜|0x100000|48552\n胸牌|0x100000|42813\n胸片|0x0000|40049\n胸鳍|0x100000|1133\n胸前|0x8000|588\n胸腔|0x100000|21547\n胸墙|0x100000|1262\n胸饰|0x100000|55003\n胸膛|0x100000|10557\n胸痛|0x100000|923\n胸透|0x0008|50779\n胸围|0x100000|39826\n胸腺|0x100000|36389\n胸像|0x100000|48553\n胸衣|0x0000|517\n胸臆|0x100000|30113\n胸章|0x100000|47863\n胸罩|0x100000|30561\n胸针|0x100000|752\n胸中|0x8000|722\n胸椎|0x100000|52057\n雄霸|0x0008|1261\n雄辩|0x100000|18808\n雄兵|0x100000|43543\n雄才|0x100000|934\n雄大|0x40000000|1083\n雄风|0x100000|15921\n雄蜂|0x100000|49283\n雄关|0x100000|30336\n雄豪|0x100000|1144\n雄厚|0x40000000|7283\n雄花|0x100000|1133\n雄黄|0x100000|44025\n雄浑|0x40000000|17601\n雄鸡|0x100000|22856\n雄健|0x40000000|31690\n雄杰|0x100000|51194\n雄劲|0x40000000|47545\n雄居|0x1000|38791\n雄踞|0x1000|28062\n雄峻|0x40000000|0\n雄鹿|0x0080|1368\n雄猫|0x0008|1078\n雄鸟|0x100000|0\n雄奇|0x40000000|29158\n雄起|0x0008|837\n雄蕊|0x100000|31105\n雄师|0x100000|34710\n雄狮|0x100000|27658\n雄视|0x1000|53502\n雄图|0x100000|50780\n雄威|0x100000|51624\n雄伟|0x40000000|10757\n雄文|0x100000|48935\n雄县|0x0040|1274\n雄心|0x100000|16460\n雄性|0x100000|15885\n雄蚁|0x0080|0\n雄鹰|0x100000|22602\n雄鱼|0x0008|1140\n雄峙|0x0000|54555\n雄壮|0x40000000|12431\n雄姿|0x100000|23097\n熊包|0x100000|52058\n熊本|0x0080|1034\n熊胆|0x100000|51625\n熊蜂|0x0080|1265\n熊猫|0x100000|16352\n熊皮|0x100000|1050\n熊罴|0x0000|50012\n熊市|0x100000|41361\n熊熊|0x0100|13024\n熊掌|0x100000|26365\n休班|0x0000|54023\n休兵|0x1000|1074\n休耕|0x0000|51195\n休怪|0x0000|53503\n休会|0x1000|33454\n休假|0x1000|9580\n休刊|0x1000|52059\n休克|0x100000|20837\n休眠|0x1000|21827\n休谟|0x0008|422\n休姆|0x0080|1217\n休宁|0x0040|1466\n休戚|0x100000|1147\n休憩|0x1000|30769\n休书|0x100000|47226\n休庭|0x1000|1007\n休息|0x1000|1772\n休闲|0x1000|5810\n休想|0x1000|19148\n休学|0x1000|31920\n休养|0x1000|13131\n休业|0x1000|1053\n休渔|0x1000|27164\n休战|0x1000|28677\n休整|0x1000|20968\n休止|0x1000|22476\n修补|0x1000|14287\n修长|0x40000000|18833\n修车|0x1000|705\n修成|0x1000|757\n修船|0x1000|1000\n修辞|0x100000|17318\n修道|0x1000|31921\n修订|0x1000|4572\n修定|0x1000|985\n修读|0x0000|49285\n修复|0x1000|5943\n修改|0x1000|1827\n修盖|0x0000|53025\n修好|0x1000|11537\n修护|0x0008|740\n修剪|0x1000|18521\n修建|0x1000|3727\n修脚|0x1000|37449\n修理|0x1000|7039\n修炼|0x1000|14896\n修路|0x1000|9549\n修眉|0x0000|54556\n修面|0x1000|54025\n修明|0x40000000|50386\n修女|0x100000|35136\n修配|0x1000|34873\n修葺|0x1000|27659\n修缮|0x1000|12473\n修身|0x1000|22807\n修史|0x0000|38007\n修士|0x100000|36906\n修饰|0x1000|14058\n修书|0x1000|47546\n修水|0x0040|1482\n修文|0x0040|1494\n修武|0x0080|1459\n修习|0x1000|803\n修宪|0x0000|21779\n修行|0x1000|22300\n修修|0x1000|704\n修学|0x1000|883\n修养|0x100000|4850\n修业|0x1000|43307\n修造|0x1000|29581\n修整|0x1000|22603\n修正|0x1000|8443\n修枝|0x1000|45146\n修治|0x1000|44026\n修竹|0x100000|44027\n修筑|0x1000|12352\n咻咻|0x80000|902\n羞惭|0x40000000|27012\n羞耻|0x100000|16500\n羞恶|0x1000|1123\n羞愤|0x40000000|45147\n羞愧|0x40000000|13192\n羞明|0x0080|0\n羞赧|0x40000000|43068\n羞恼|0x1000|48193\n羞怯|0x40000000|18522\n羞人|0x1000|50013\n羞辱|0x1000|15409\n羞臊|0x1000|51626\n羞涩|0x40000000|14166\n羞于|0x0000|30114\n朽败|0x1000|0\n朽坏|0x1000|54558\n朽烂|0x1000|53026\n朽迈|0x40000000|0\n朽木|0x100000|35295\n秀拔|0x0000|54559\n秀才|0x100000|8598\n秀发|0x100000|28678\n秀慧|0x40000000|52507\n秀俊|0x40000000|55518\n秀丽|0x40000000|9752\n秀美|0x40000000|8453\n秀媚|0x40000000|44862\n秀气|0x40000000|21693\n秀润|0x40000000|1131\n秀色|0x100000|30005\n秀山|0x100000|1250\n秀水|0x100000|1267\n秀挺|0x40000000|53504\n秀雅|0x40000000|42328\n秀逸|0x40000000|47864\n绣房|0x100000|48936\n绣阁|0x100000|1074\n绣花|0x1000|15028\n绣品|0x0008|41597\n绣球|0x100000|29804\n绣像|0x100000|41831\n绣鞋|0x100000|35904\n绣衣|0x0008|1014\n绣制|0x0000|46322\n袖标|0x100000|35903\n袖箍|0x0000|54560\n袖管|0x100000|41830\n袖箭|0x100000|1113\n袖口|0x100000|17543\n袖扣|0x0000|435\n袖手|0x800000|978\n袖套|0x100000|50387\n袖筒|0x100000|35741\n袖头|0x0000|44550\n袖章|0x100000|27895\n袖珍|0x40000000|25106\n袖子|0x100000|9974\n锈斑|0x100000|51627\n锈病|0x100000|38792\n锈迹|0x0000|30987\n锈菌|0x100000|1264\n锈蚀|0x100000|34120\n溴酸|0x4000000|388\n戌时|0x4000|55519\n盱眙|0x0080|1366\n须发|0x100000|31455\n须根|0x100000|46040\n须鲸|0x100000|7\n须眉|0x100000|26499\n须生|0x100000|38389\n须要|0x1000|16913\n须臾|0x8000000|19104\n须知|0x100000|15458\n须子|0x100000|49286\n虚报|0x1000|13193\n虚词|0x100000|43069\n虚辞|0x100000|0\n虚诞|0x1000|0\n虚点|0x0080|0\n虚度|0x1000|35905\n虚浮|0x40000000|37450\n虚根|0x0080|0\n虚功|0x100000|1157\n虚构|0x1000|11014\n虚汗|0x100000|30871\n虚耗|0x0000|50388\n虚怀|0x1000|1077\n虚幻|0x40000000|14914\n虚火|0x100000|41598\n虚假|0x100000|5191\n虚惊|0x100000|29805\n虚开|0x1000|967\n虚空|0x40000000|22604\n虚夸|0x1000|43070\n虚劳|0x100000|1035\n虚礼|0x0080|55004\n虚力|0x100000|1296\n虚靡|0x40000000|0\n虚名|0x100000|17185\n虚拟|0x1000|8103\n虚胖|0x100000|50389\n虚飘|0x0000|51196\n虚热|0x0000|50390\n虚荣|0x40000000|18351\n虚弱|0x40000000|12207\n虚设|0x1000|30221\n虚实|0x100000|15156\n虚饰|0x1000|1059\n虚数|0x100000|52060\n虚岁|0x100000|40259\n虚套|0x0080|1245\n虚脱|0x1000|32188\n虚妄|0x40000000|27165\n虚伪|0x40000000|10001\n虚位|0x0080|408\n虚文|0x100000|1156\n虚无|0x40000000|17676\n虚线|0x100000|32573\n虚像|0x100000|1019\n虚心|0x40000000|10927\n虚悬|0x0000|50014\n虚言|0x100000|49287\n虚掩|0x1000|25736\n虚应|0x1000|1101\n虚誉|0x100000|0\n虚造|0x0000|52508\n虚诈|0x40000000|0\n虚职|0x100000|1105\n虚掷|0x0000|46621\n虚轴|0x0080|0\n虚字|0x100000|50781\n嘘气|0x1000|1223\n嘘声|0x100000|35584\n嘘唏|0x1000|1057\n需方|0x100000|1005\n需求|0x100000|1550\n需索|0x1000|939\n需要|0x1000|126\n需用|0x0000|22553\n需知|0x0080|553\n歔欷|0x1000|0\n徐步|0x1000|44864\n徐缓|0x40000000|47228\n徐汇|0x0040|1077\n徐来|0x1000|0\n徐离|0x0080|0\n徐娘|0x100000|929\n徐水|0x0040|1464\n徐图|0x1000|42815\n徐闻|0x0080|1502\n徐徐|0x0100|11000\n徐州|0x0040|901\n许昌|0x0040|1118\n许多|0x200000|109\n许婚|0x1000|47865\n许久|0x4000|7295\n许可|0x1000|3706\n许诺|0x1000|10500\n许配|0x1000|32189\n许亲|0x0000|54026\n许身|0x1000|0\n许是|0x1000|487\n许下|0x1000|589\n许仙|0x0080|1386\n许愿|0x1000|25856\n栩栩|0x0100|988\n旭日|0x100000|30455\n序跋|0x100000|35296\n序次|0x100000|0\n序号|0x100000|17955\n序列|0x100000|8757\n序论|0x100000|55005\n序目|0x100000|52509\n序幕|0x100000|7305\n序曲|0x100000|19573\n序数|0x100000|34874\n序文|0x100000|28584\n序言|0x100000|13257\n叙别|0x1000|50015\n叙功|0x1000|43071\n叙话|0x1000|0\n叙旧|0x1000|35010\n叙事|0x1000|9702\n叙述|0x1000|4718\n叙说|0x1000|20106\n叙谈|0x1000|32447\n叙文|0x0080|0\n叙写|0x1000|1031\n叙言|0x100000|1273\n叙永|0x0080|1038\n恤金|0x0000|51197\n恤贫|0x1000|0\n恤衫|0x0000|30006\n畜产|0x100000|38793\n畜肥|0x100000|1539\n畜栏|0x0000|381\n畜类|0x100000|42876\n畜力|0x100000|26735\n畜牧|0x1000|7956\n畜禽|0x0000|10400\n畜圈|0x0000|53650\n畜生|0x100000|15368\n畜牲|0x100000|846\n畜养|0x1000|48194\n畜疫|0x100000|0\n绪论|0x100000|46926\n绪言|0x100000|54027\n续保|0x1000|966\n续编|0x1000|32323\n续貂|0x0000|52510\n续订|0x1000|44028\n续断|0x100000|1082\n续稿|0x0080|53027\n续航|0x1000|45746\n续后|0x0000|54028\n续会|0x0000|47229\n续集|0x100000|30988\n续假|0x1000|53028\n续建|0x1000|25299\n续借|0x1000|54562\n续篇|0x100000|40477\n续聘|0x0000|47230\n续期|0x1000|871\n续签|0x1000|32700\n续娶|0x1000|44272\n续完|0x1000|1046\n续弦|0x1000|36740\n续约|0x1000|44273\n酗酒|0x1000|20258\n溆浦|0x0080|980\n絮叨|0x1000|36227\n絮烦|0x1000|51628\n絮聒|0x1000|42329\n絮棉|0x100000|35137\n絮凝|0x100000|902\n絮絮|0x0100|23621\n絮语|0x100000|21017\n絮状|0x100000|1015\n嗅出|0x0000|487\n嗅到|0x1000|727\n嗅觉|0x100000|18186\n嗅嗅|0x0080|0\n嗅盐|0x0080|0\n煦煦|0x0000|55521\n蓄发|0x0080|50016\n蓄洪|0x1000|17647\n蓄积|0x1000|17147\n蓄力|0x0080|5\n蓄谋|0x1000|30989\n蓄能|0x0000|36908\n蓄念|0x100000|0\n蓄热|0x100000|983\n蓄势|0x1000|45438\n蓄水|0x1000|8322\n蓄须|0x1000|1059\n蓄养|0x1000|41362\n蓄意|0x8000000|16216\n蓄志|0x1000|52511\n轩昂|0x40000000|31106\n轩敞|0x40000000|49653\n轩辕|0x0080|28149\n轩轾|0x100000|1119\n宣布|0x1000|1041\n宣称|0x1000|8638\n宣城|0x0040|1238\n宣传|0x1000|719\n宣导|0x1000|873\n宣德|0x0008|973\n宣读|0x1000|9246\n宣恩|0x0080|1007\n宣肺|0x100000|1071\n宣告|0x1000|6104\n宣汉|0x0080|1525\n宣化|0x0080|1349\n宣讲|0x1000|6582\n宣教|0x1000|19866\n宣明|0x0000|48554\n宣判|0x1000|11330\n宣示|0x1000|21742\n宣誓|0x1000|7924\n宣统|0x0008|1445\n宣威|0x0040|1429\n宣武|0x0080|1147\n宣泄|0x1000|17544\n宣言|0x100000|3221\n宣扬|0x1000|8639\n宣战|0x1000|14184\n宣召|0x1000|1108\n宣纸|0x100000|23512\n喧哗|0x1000|14478\n喧叫|0x1000|54029\n喧闹|0x40000000|13359\n喧嚷|0x1000|28679\n喧扰|0x1000|51629\n喧腾|0x40000000|39195\n喧天|0x40000000|22808\n喧嚣|0x1000|12787\n喧笑|0x1000|50391\n喧杂|0x40000000|1033\n喧噪|0x40000000|49288\n萱草|0x100000|942\n煊赫|0x40000000|45747\n玄奥|0x100000|43544\n玄参|0x100000|1023\n玄关|0x100000|769\n玄乎|0x40000000|39627\n玄狐|0x100000|1145\n玄机|0x100000|19041\n玄理|0x100000|0\n玄门|0x0040|1442\n玄秘|0x100000|985\n玄妙|0x40000000|29063\n玄鸟|0x0000|51630\n玄青|0x100000|53029\n玄色|0x0000|42580\n玄思|0x100000|1125\n玄孙|0x100000|46041\n玄武|0x100000|38008\n玄想|0x100000|42070\n玄虚|0x100000|26300\n玄学|0x100000|828\n玄义|0x0080|1136\n玄远|0x40000000|1109\n悬案|0x100000|31456\n悬臂|0x100000|888\n悬揣|0x1000|52512\n悬垂|0x1000|43545\n悬吊|0x1000|44551\n悬浮|0x1000|17956\n悬隔|0x1000|0\n悬挂|0x1000|7182\n悬棺|0x0008|44865\n悬河|0x100000|28680\n悬乎|0x40000000|1020\n悬壶|0x1000|951\n悬架|0x0000|535\n悬空|0x1000|19911\n悬梁|0x1000|36228\n悬拟|0x1000|0\n悬念|0x100000|11490\n悬赏|0x1000|17545\n悬殊|0x40000000|12208\n悬梯|0x100000|52062\n悬停|0x1000|931\n悬腕|0x1000|53030\n悬望|0x0000|54563\n悬想|0x1000|50017\n悬心|0x1000|52063\n悬崖|0x100000|12773\n悬疑|0x0008|683\n悬置|0x1000|1038\n悬钟|0x0008|0\n悬着|0x0000|536\n旋儿|0x0000|42071\n旋风|0x100000|12899\n旋回|0x1000|1109\n旋即|0x8000000|17273\n旋开|0x0000|429\n旋律|0x100000|7449\n旋钮|0x100000|38794\n旋绕|0x1000|50392\n旋塞|0x100000|949\n旋梯|0x100000|55006\n旋涡|0x100000|694\n旋舞|0x0000|43788\n旋踵|0x1000|1130\n旋转|0x1000|6669\n旋子|0x100000|44866\n漩风|0x0008|0\n漩流|0x100000|1157\n漩涡|0x100000|15711\n璇玑|0x100000|1544\n选拔|0x1000|3178\n选本|0x100000|32064\n选编|0x100000|15337\n选材|0x1000|22762\n选场|0x1000|52514\n选出|0x1000|646\n选萃|0x100000|1009\n选粹|0x100000|976\n选单|0x100000|748\n选登|0x0000|23622\n选点|0x0000|45439\n选调|0x1000|21179\n选定|0x1000|8840\n选读|0x100000|39628\n选段|0x100000|31235\n选发|0x0000|52064\n选购|0x1000|11075\n选好|0x1000|594\n选号|0x100000|824\n选集|0x100000|12447\n选辑|0x100000|47231\n选举|0x1000|1785\n选刊|0x100000|33455\n选课|0x1000|793\n选矿|0x1000|32701\n选料|0x100000|38795\n选留|0x1000|54564\n选录|0x1000|44274\n选煤|0x100000|933\n选美|0x1000|27811\n选民|0x100000|4429\n选派|0x1000|8323\n选配|0x1000|25380\n选票|0x100000|7473\n选聘|0x1000|19323\n选区|0x100000|12832\n选曲|0x1000|45440\n选取|0x1000|11186\n选任|0x1000|19867\n选收|0x0000|50782\n选手|0x100000|2250\n选送|0x1000|18048\n选题|0x1000|12521\n选为|0x1000|522\n选文|0x0080|1005\n选贤|0x0000|31350\n选项|0x100000|28063\n选型|0x1000|706\n选修|0x1000|26500\n选秀|0x0000|33703\n选样|0x1000|1085\n选用|0x1000|7996\n选优|0x0000|32702\n选育|0x1000|14650\n选载|0x0000|52065\n选择|0x1000|592\n选址|0x1000|16313\n选中|0x1000|13181\n选种|0x1000|25107\n选自|0x40000000|584\n泫然|0x0100|45748\n炫目|0x40000000|32324\n炫弄|0x1000|0\n炫示|0x1000|53031\n炫耀|0x1000|13348\n绚烂|0x40000000|24804\n绚丽|0x40000000|11914\n眩光|0x100000|956\n眩惑|0x1000|45148\n眩目|0x40000000|38390\n眩晕|0x1000|23247\n渲染|0x1000|11357\n楦头|0x100000|1209\n楦子|0x100000|1536\n靴子|0x100000|21828\n穴播|0x1000|53509\n穴道|0x100000|51631\n穴居|0x1000|39827\n穴头|0x100000|54032\n穴位|0x100000|28150\n学报|0x100000|21780\n学步|0x1000|31236\n学部|0x100000|22809\n学长|0x100000|18101\n学潮|0x100000|32703\n学成|0x1000|17880\n学到|0x1000|528\n学得|0x0000|618\n学弟|0x100000|734\n学懂|0x0008|1\n学阀|0x100000|54565\n学费|0x100000|6427\n学分|0x100000|21330\n学风|0x100000|8440\n学府|0x100000|13661\n学工|0x100000|849\n学乖|0x0000|45750\n学棍|0x100000|1363\n学海|0x100000|27419\n学好|0x1000|629\n学号|0x100000|48555\n学会|0x1000|2110\n学籍|0x100000|21284\n学家|0x100000|525\n学监|0x100000|34251\n学界|0x100000|10146\n学究|0x100000|33456\n学军|0x100000|847\n学刊|0x100000|904\n学科|0x100000|2130\n学理|0x100000|21743\n学力|0x100000|37811\n学历|0x100000|4517\n学联|0x100000|900\n学龄|0x100000|26787\n学名|0x100000|26648\n学年|0x100000|16728\n学派|0x100000|10103\n学期|0x100000|7148\n学前|0x4000|698\n学区|0x100000|33592\n学人|0x100000|16479\n学舌|0x1000|44029\n学舍|0x0080|1126\n学社|0x100000|39196\n学生|0x100000|148\n学时|0x100000|27497\n学识|0x100000|11495\n学士|0x100000|10177\n学术|0x100000|1545\n学说|0x100000|5498\n学堂|0x100000|9029\n学童|0x100000|34547\n学徒|0x100000|13888\n学位|0x100000|4945\n学问|0x100000|4610\n学习|0x1000|259\n学系|0x0000|16045\n学衔|0x100000|52066\n学校|0x100000|217\n学学|0x1000|666\n学养|0x100000|962\n学样|0x0008|479\n学业|0x100000|8378\n学艺|0x1000|20593\n学友|0x100000|33191\n学员|0x100000|3665\n学园|0x100000|704\n学院|0x100000|2466\n学运|0x100000|25228\n学者|0x100000|1129\n学制|0x100000|20293\n学子|0x100000|8517\n学姊|0x0008|0\n雪白|0x0100|7678\n雪豹|0x100000|44867\n雪暴|0x100000|53032\n雪崩|0x1000|26426\n雪碧|0x0008|1203\n雪藏|0x0008|51633\n雪车|0x100000|1050\n雪耻|0x1000|36909\n雪胆|0x100000|1337\n雪堤|0x0080|0\n雪地|0x100000|11831\n雪雕|0x100000|442\n雪堆|0x100000|962\n雪峰|0x100000|20185\n雪糕|0x100000|25381\n雪海|0x100000|987\n雪害|0x100000|0\n雪恨|0x1000|50020\n雪花|0x100000|7408\n雪景|0x100000|28781\n雪梨|0x100000|40051\n雪犁|0x0008|0\n雪莲|0x4000000|28681\n雪亮|0x0100|17466\n雪柳|0x0080|1025\n雪盲|0x100000|55522\n雪片|0x100000|20926\n雪橇|0x100000|32704\n雪撬|0x0080|395\n雪茄|0x100000|21089\n雪青|0x100000|42073\n雪球|0x100000|34121\n雪人|0x100000|30562\n雪日|0x0080|0\n雪山|0x100000|9739\n雪上|0x8000|868\n雪蚀|0x100000|0\n雪水|0x100000|26088\n雪松|0x100000|32831\n雪天|0x4000|28503\n雪条|0x0008|0\n雪团|0x0080|1027\n雪线|0x100000|29365\n雪鞋|0x0080|379\n雪野|0x100000|35444\n雪夜|0x4000|32575\n雪域|0x100000|709\n雪冤|0x1000|50783\n雪原|0x100000|21130\n雪灾|0x100000|23396\n雪种|0x0008|0\n鳕鱼|0x100000|896\n血癌|0x100000|46042\n血案|0x100000|26427\n血本|0x100000|34711\n血崩|0x1000|55906\n血泊|0x100000|21932\n血肠|0x100000|1053\n血沉|0x100000|54567\n血仇|0x100000|50393\n血滴|0x0000|496\n血防|0x100000|33842\n血粉|0x100000|1121\n血管|0x100000|9537\n血海|0x100000|38797\n血汗|0x100000|16251\n血痕|0x100000|27749\n血红|0x100000|18102\n血花|0x100000|900\n血迹|0x100000|13908\n血祭|0x1000|904\n血痂|0x0000|54033\n血浆|0x100000|18410\n血竭|0x100000|1099\n血口|0x100000|1009\n血库|0x100000|35744\n血块|0x100000|46324\n血亏|0x1000|1134\n血泪|0x100000|20107\n血量|0x0000|34875\n血流|0x1000|712\n血路|0x100000|25456\n血脉|0x100000|13457\n血尿|0x100000|47233\n血凝|0x0000|452\n血泡|0x100000|31107\n血气|0x100000|29064\n血亲|0x100000|33340\n血清|0x100000|17602\n血球|0x100000|48557\n血染|0x0000|23296\n血肉|0x100000|6352\n血色|0x100000|17905\n血书|0x100000|35906\n血栓|0x100000|30115\n血水|0x100000|26366\n血丝|0x100000|21602\n血糖|0x100000|19413\n血统|0x100000|19290\n血污|0x100000|27812\n血洗|0x1000|38391\n血象|0x100000|1039\n血腥|0x100000|14199\n血型|0x100000|24918\n血性|0x100000|20969\n血虚|0x100000|55523\n血压|0x100000|11557\n血样|0x100000|35585\n血液|0x100000|4598\n血衣|0x100000|40478\n血印|0x100000|39630\n血友|0x20000000|1209\n血缘|0x100000|15196\n血晕|0x100000|56005\n血债|0x100000|31457\n血战|0x100000|19719\n血证|0x100000|51634\n血脂|0x100000|23043\n血肿|0x100000|39413\n血渍|0x100000|38586\n勋绩|0x100000|1205\n勋爵|0x100000|36390\n勋劳|0x100000|48197\n勋业|0x100000|48198\n勋章|0x100000|10914\n熏风|0x100000|50394\n熏鸡|0x0080|51635\n熏染|0x1000|36741\n熏肉|0x100000|47549\n熏陶|0x1000|12265\n熏香|0x100000|775\n熏熏|0x0080|646\n熏鱼|0x100000|44868\n熏蒸|0x1000|37451\n熏制|0x1000|1044\n窨井|0x100000|936\n薰风|0x100000|0\n薰染|0x1000|0\n薰香|0x100000|866\n醺然|0x0000|52067\n寻宝|0x0000|581\n寻查|0x1000|0\n寻常|0x40000000|7925\n寻访|0x1000|16832\n寻根|0x1000|21245\n寻呼|0x100000|23397\n寻欢|0x1000|42816\n寻获|0x0000|48199\n寻机|0x8000000|42817\n寻见|0x0000|46326\n寻觅|0x1000|11046\n寻摸|0x0000|54569\n寻亲|0x0000|44030\n寻求|0x1000|3366\n寻人|0x100000|712\n寻声|0x0000|46327\n寻事|0x1000|47867\n寻思|0x1000|18482\n寻死|0x1000|24089\n寻味|0x0000|47234\n寻问|0x0000|44552\n寻乌|0x100000|996\n寻隙|0x1000|48939\n寻衅|0x1000|25054\n寻医|0x1000|746\n寻找|0x1000|1536\n寻址|0x1000|827\n寻踪|0x1000|46328\n巡按|0x100000|1062\n巡捕|0x100000|17677\n巡查|0x1000|13316\n巡察|0x1000|39415\n巡防|0x100000|31803\n巡访|0x0000|40479\n巡风|0x1000|53034\n巡抚|0x100000|867\n巡更|0x1000|826\n巡官|0x100000|1175\n巡航|0x1000|34408\n巡回|0x1000|8410\n巡检|0x1000|33192\n巡街|0x0000|54034\n巡警|0x100000|7749\n巡礼|0x1000|19436\n巡逻|0x1000|6200\n巡哨|0x1000|54570\n巡视|0x1000|7893\n巡守|0x0000|52517\n巡屉|0x0000|25055\n巡天|0x1000|47868\n巡行|0x1000|33843\n巡幸|0x1000|1081\n巡演|0x1000|19999\n巡夜|0x1000|44031\n巡弋|0x1000|50021\n巡游|0x1000|24608\n巡阅|0x1000|1158\n巡展|0x1000|760\n巡诊|0x1000|26301\n旬报|0x100000|1085\n旬刊|0x100000|39414\n旬日|0x400000|48558\n旬阳|0x0080|982\n旬邑|0x0080|1047\n驯服|0x1000|21044\n驯化|0x1000|23347\n驯良|0x40000000|38180\n驯鹿|0x100000|31352\n驯马|0x1000|1043\n驯兽|0x1000|46329\n驯熟|0x40000000|1320\n驯顺|0x40000000|39197\n驯养|0x1000|24090\n询查|0x1000|0\n询价|0x1000|655\n询问|0x1000|3356\n荀子|0x0080|1397\n循环|0x1000|2862\n循例|0x1000|41365\n循声|0x0000|31691\n循序|0x1000|903\n鲟鱼|0x100000|1012\n训斥|0x1000|14805\n训词|0x100000|46928\n训导|0x1000|24256\n训迪|0x1000|1387\n训诂|0x1000|31692\n训话|0x1000|22432\n训诲|0x1000|50785\n训诫|0x1000|32705\n训练|0x1000|1104\n训令|0x100000|33988\n训示|0x100000|32448\n训条|0x0000|49291\n训育|0x100000|1072\n训责|0x0000|49292\n训政|0x0080|1098\n讯号|0x100000|32065\n讯实|0x1000|1538\n讯问|0x1000|22810\n讯息|0x100000|27245\n汛期|0x4000|13360\n汛情|0x100000|29904\n迅驰|0x0008|1194\n迅即|0x8000000|23775\n迅急|0x40000000|1086\n迅疾|0x40000000|31108\n迅捷|0x40000000|30456\n迅雷|0x100000|810\n迅猛|0x40000000|6406\n迅跑|0x0000|47869\n迅速|0x40000000|836\n徇情|0x1000|46929\n徇私|0x1000|34548\n逊克|0x0080|1020\n逊色|0x1000|17213\n逊位|0x1000|43313\n殉道|0x1000|43072\n殉国|0x1000|22243\n殉教|0x1000|390\n殉节|0x1000|33053\n殉难|0x1000|22605\n殉情|0x1000|41130\n殉葬|0x1000|32190\n殉职|0x1000|26851\n丫杈|0x100000|1280\n丫环|0x0000|22606\n丫鬟|0x100000|807\n丫头|0x100000|7195\n压板|0x100000|916\n压扁|0x0000|493\n压仓|0x0000|54571\n压产|0x0000|28064\n压场|0x1000|55524\n压车|0x0000|53511\n压秤|0x1000|0\n压出|0x100000|953\n压船|0x1000|0\n压倒|0x1000|10242\n压低|0x1000|721\n压电|0x20000000|860\n压顶|0x1000|40261\n压队|0x1000|0\n压服|0x1000|33054\n压盖|0x0008|1021\n压港|0x1000|54035\n压根|0x8000000|708\n压光|0x100000|960\n压痕|0x0000|440\n压花|0x100000|820\n压簧|0x0000|392\n压货|0x1000|898\n压级|0x0000|40480\n压挤|0x0000|391\n压价|0x1000|22707\n压紧|0x0000|469\n压惊|0x1000|41366\n压境|0x1000|33193\n压卷|0x100000|1182\n压库|0x1000|44032\n压垮|0x1000|34876\n压力|0x100000|1470\n压滤|0x100000|840\n压片|0x4000000|916\n压平|0x1000|950\n压迫|0x1000|5163\n压气|0x1000|40914\n压强|0x100000|931\n压岁|0x1000|744\n压碎|0x0000|471\n压缩|0x1000|6156\n压台|0x1000|48559\n压条|0x1000|1012\n压痛|0x100000|958\n压头|0x100000|1059\n压腿|0x0000|46330\n压下|0x0000|599\n压压|0x1000|763\n压延|0x1000|41131\n压抑|0x1000|7680\n压印|0x100000|1009\n压榨|0x1000|26582\n压阵|0x1000|43314\n压制|0x1000|11481\n压轴|0x20000000|38181\n压住|0x0000|604\n压铸|0x100000|700\n呀呀|0x80000|648\n押宝|0x1000|41832\n押车|0x1000|39828\n押当|0x100000|0\n押队|0x1000|0\n押赴|0x0000|41833\n押汇|0x1000|1094\n押解|0x1000|20380\n押金|0x100000|19381\n押禁|0x1000|0\n押款|0x100000|42582\n押送|0x1000|22134\n押题|0x0000|55007\n押头|0x100000|0\n押往|0x0000|435\n押尾|0x1000|1119\n押运|0x1000|25525\n押韵|0x40000000|27420\n押账|0x1000|0\n押注|0x0080|441\n押租|0x100000|1389\n鸦片|0x100000|8980\n桠杈|0x100000|1306\n桠枝|0x100000|0\n鸭蛋|0x100000|26367\n鸭黄|0x100000|1316\n鸭梨|0x100000|23776\n鸭苗|0x100000|48560\n鸭绒|0x100000|41132\n鸭肉|0x100000|44869\n鸭舌|0x100000|1010\n鸭肫|0x0000|54572\n鸭子|0x100000|9101\n牙板|0x0008|1133\n牙病|0x100000|455\n牙碜|0x40000000|52068\n牙齿|0x100000|6115\n牙床|0x100000|37098\n牙雕|0x100000|50395\n牙粉|0x100000|40679\n牙缝|0x100000|24091\n牙疳|0x0008|1337\n牙缸|0x0000|55008\n牙膏|0x100000|17765\n牙根|0x100000|34549\n牙垢|0x100000|55839\n牙关|0x100000|28782\n牙冠|0x100000|1084\n牙慧|0x100000|52069\n牙具|0x100000|48561\n牙科|0x100000|31922\n牙口|0x100000|50396\n牙轮|0x100000|52070\n牙牌|0x100000|1178\n牙胚|0x100000|0\n牙婆|0x100000|1215\n牙签|0x100000|28884\n牙色|0x100000|1212\n牙石|0x100000|1066\n牙刷|0x100000|21781\n牙髓|0x100000|969\n牙痛|0x100000|792\n牙线|0x0000|419\n牙医|0x100000|38798\n牙音|0x100000|1372\n牙龈|0x100000|34122\n牙印|0x0000|48563\n牙质|0x100000|1216\n牙子|0x100000|992\n牙钻|0x100000|1164\n伢子|0x100000|34252\n芽孢|0x100000|1034\n芽茶|0x100000|1103\n芽豆|0x100000|1302\n芽接|0x100000|1233\n芽眼|0x100000|1230\n芽子|0x0000|47871\n蚜虫|0x100000|30007\n崖壁|0x100000|31693\n崖顶|0x100000|472\n崖洞|0x0040|0\n崖谷|0x100000|1206\n崖刻|0x100000|54036\n崖墓|0x100000|0\n崖畔|0x0040|0\n涯际|0x100000|0\n睚眦|0x1000|1019\n衙门|0x100000|7836\n衙内|0x100000|992\n衙署|0x100000|1052\n衙役|0x100000|955\n哑巴|0x100000|14460\n哑场|0x1000|51637\n哑弹|0x100000|1164\n哑火|0x100000|960\n哑剧|0x100000|30457\n哑口|0x0000|444\n哑铃|0x100000|35139\n哑门|0x100000|1231\n哑谜|0x100000|39008\n哑炮|0x100000|45443\n哑然|0x40000000|34410\n哑嗓|0x100000|45444\n哑哑|0x80000|885\n哑语|0x100000|43315\n哑子|0x100000|387\n雅安|0x0040|1203\n雅称|0x100000|1006\n雅典|0x0040|1085\n雅歌|0x0080|1510\n雅各|0x0080|1482\n雅观|0x40000000|32832\n雅号|0x100000|30663\n雅虎|0x0008|782\n雅江|0x0040|1538\n雅静|0x40000000|47550\n雅乐|0x0008|1480\n雅量|0x100000|41367\n雅琪|0x0008|983\n雅气|0x0000|48200\n雅趣|0x100000|45753\n雅人|0x100000|36911\n雅士|0x100000|31564\n雅思|0x0008|49293\n雅俗|0x100000|949\n雅兴|0x100000|33055\n雅驯|0x40000000|0\n雅言|0x100000|45754\n雅意|0x100000|48564\n雅正|0x1000|55011\n雅致|0x40000000|18935\n雅座|0x100000|30223\n亚胺|0x100000|912\n亚伯|0x0080|1033\n亚当|0x0008|18936\n亚丁|0x100000|1306\n亚东|0x0040|1053\n亚非|0x100000|496\n亚砜|0x0008|381\n亚纲|0x0000|377\n亚光|0x20000000|1283\n亚军|0x100000|7410\n亚伦|0x0040|900\n亚麻|0x100000|28421\n亚欧|0x0008|816\n亚齐|0x0040|1034\n亚瑟|0x0000|556\n亚圣|0x0008|1039\n亚斯|0x0040|1432\n亚太|0x0040|593\n亚铁|0x0080|1488\n亚裔|0x100000|33844\n亚于|0x0000|33593\n亚运|0x0008|724\n亚洲|0x0040|1607\n讶然|0x0100|0\n讶异|0x40000000|742\n咽喉|0x100000|14434\n咽气|0x1000|31237\n咽头|0x100000|1368\n咽下|0x1000|736\n咽炎|0x100000|44554\n恹恹|0x0100|35297\n烟霭|0x100000|50397\n烟斑|0x0080|0\n烟标|0x100000|943\n烟波|0x100000|41368\n烟草|0x100000|7617\n烟尘|0x100000|13973\n烟囱|0x100000|11580\n烟袋|0x100000|15309\n烟道|0x0000|41834\n烟灯|0x0000|43316\n烟蒂|0x100000|27167\n烟点|0x0008|1017\n烟斗|0x100000|19468\n烟毒|0x0008|0\n烟贩|0x0000|48201\n烟缸|0x100000|852\n烟膏|0x100000|44275\n烟垢|0x0080|0\n烟馆|0x100000|39829\n烟管|0x100000|1069\n烟鬼|0x100000|30563\n烟锅|0x0000|25671\n烟海|0x100000|1078\n烟盒|0x100000|22477\n烟花|0x100000|9296\n烟灰|0x100000|19541\n烟火|0x100000|16353\n烟碱|0x100000|1010\n烟酒|0x100000|17319\n烟具|0x100000|40263\n烟卷|0x100000|921\n烟客|0x100000|926\n烟岚|0x100000|1095\n烟霾|0x100000|0\n烟煤|0x100000|43317\n烟民|0x100000|33989\n烟幕|0x100000|33594\n烟农|0x100000|46043\n烟泡|0x100000|0\n烟气|0x100000|24410\n烟枪|0x100000|29474\n烟色|0x100000|53035\n烟商|0x100000|0\n烟水|0x100000|890\n烟丝|0x100000|32191\n烟酸|0x100000|48940\n烟台|0x0040|834\n烟摊|0x100000|1079\n烟筒|0x100000|25596\n烟头|0x100000|18187\n烟土|0x100000|28422\n烟味|0x0008|1245\n烟雾|0x100000|10082\n烟霞|0x100000|46331\n烟熏|0x1000|772\n烟叶|0x100000|15845\n烟瘾|0x100000|24205\n烟油|0x100000|1175\n烟雨|0x100000|27660\n烟云|0x100000|26168\n烟瘴|0x100000|1150\n烟柱|0x100000|45445\n烟子|0x0000|42583\n烟嘴|0x100000|933\n胭红|0x100000|1200\n胭脂|0x100000|13144\n淹博|0x40000000|0\n淹灌|0x1000|0\n淹留|0x1000|0\n淹埋|0x1000|1113\n淹没|0x1000|7874\n淹溺|0x100000|1184\n淹水|0x0000|439\n淹死|0x1000|716\n菸草|0x0080|0\n菸硷|0x0080|0\n菸碱|0x0080|0\n菸叶|0x0080|1341\n阉党|0x100000|1078\n阉割|0x1000|37264\n阉鸡|0x100000|50786\n阉牛|0x100000|0\n阉人|0x100000|32192\n阉寺|0x100000|0\n湮没|0x1000|24353\n湮灭|0x1000|36912\n腌菜|0x100000|32325\n腌肉|0x100000|50787\n腌鱼|0x100000|1127\n腌臜|0x1000|0\n腌制|0x1000|31110\n腌渍|0x1000|935\n鄢陵|0x0080|1488\n嫣红|0x100000|36559\n嫣然|0x0100|43073\n蔫巴|0x0000|54889\n蔫蔫|0x0100|1010\n延安|0x0040|1016\n延边|0x0040|1192\n延长|0x1000|4420\n延迟|0x1000|18136\n延川|0x0080|992\n延宕|0x1000|29688\n延搁|0x1000|49295\n延河|0x0040|1070\n延后|0x0000|50398\n延缓|0x1000|17467\n延吉|0x0040|1253\n延接|0x1000|0\n延津|0x0080|1549\n延揽|0x1000|34712\n延绵|0x1000|39416\n延脑|0x0080|0\n延年|0x1000|501\n延聘|0x1000|45149\n延平|0x0008|1339\n延期|0x1000|14435\n延请|0x1000|47551\n延庆|0x0080|1264\n延烧|0x0000|449\n延伸|0x1000|4012\n延时|0x1000|39010\n延寿|0x0080|28783\n延髓|0x100000|1124\n延拓|0x0080|0\n延误|0x1000|11331\n延性|0x100000|50399\n延续|0x1000|6099\n延展|0x1000|39830\n延至|0x1000|849\n延滞|0x1000|1122\n严办|0x1000|36560\n严查|0x1000|17122\n严惩|0x1000|8691\n严处|0x0000|46044\n严词|0x100000|36561\n严辞|0x100000|980\n严打|0x100000|5765\n严冬|0x100000|18483\n严防|0x1000|11187\n严父|0x100000|42332\n严格|0x40000000|1139\n严管|0x1000|918\n严寒|0x100000|10063\n严加|0x1000|18701\n严紧|0x40000000|46045\n严谨|0x40000000|7396\n严禁|0x1000|6130\n严峻|0x40000000|2968\n严苛|0x40000000|820\n严控|0x0000|55012\n严酷|0x40000000|13771\n严厉|0x40000000|2788\n严令|0x1000|43547\n严密|0x40000000|5442\n严明|0x40000000|12415\n严命|0x100000|52518\n严师|0x100000|42584\n严实|0x40000000|29366\n严守|0x1000|16525\n严霜|0x100000|42585\n严肃|0x40000000|1612\n严刑|0x100000|26368\n严严|0x0100|722\n严责|0x0080|0\n严整|0x40000000|24470\n严正|0x40000000|11608\n严重|0x40000000|546\n妍媸|0x100000|1157\n妍丽|0x40000000|53513\n芫花|0x100000|1166\n芫荽|0x100000|52072\n言传|0x1000|844\n言词|0x100000|783\n言辞|0x100000|17619\n言道|0x1000|768\n言和|0x1000|31804\n言欢|0x1000|49296\n言及|0x1000|916\n言教|0x1000|35907\n言路|0x100000|34124\n言论|0x100000|6076\n言明|0x0080|1435\n言情|0x20000000|32706\n言说|0x1000|22654\n言谈|0x100000|17430\n言笑|0x1000|49656\n言行|0x100000|8051\n言语|0x100000|7438\n言喻|0x1000|780\n言责|0x100000|1239\n言志|0x0000|40915\n言中|0x1000|23561\n言重|0x1000|37265\n言状|0x1000|39417\n岩岸|0x100000|0\n岩崩|0x1000|1271\n岩壁|0x100000|26933\n岩层|0x100000|23140\n岩床|0x100000|1294\n岩洞|0x100000|22763\n岩盖|0x100000|0\n岩画|0x100000|23673\n岩浆|0x100000|23248\n岩礁|0x100000|1069\n岩漠|0x0080|0\n岩溶|0x100000|935\n岩石|0x100000|7331\n岩滩|0x0080|1145\n岩土|0x100000|792\n岩相|0x100000|0\n岩屑|0x0080|1219\n岩心|0x0080|44276\n岩穴|0x100000|1093\n岩盐|0x100000|51199\n岩羊|0x100000|54573\n沿岸|0x2000000|8207\n沿边|0x0040|31111\n沿儿|0x100000|1099\n沿革|0x100000|25300\n沿海|0x8000|3302\n沿河|0x8000|800\n沿江|0x8000|20344\n沿街|0x8000|21405\n沿例|0x1000|54037\n沿路|0x8000|28234\n沿条|0x0080|1197\n沿途|0x8000|8186\n沿袭|0x1000|17431\n沿线|0x8000|7270\n沿行|0x0080|0\n沿用|0x1000|12659\n沿着|0x1000|3261\n炎帝|0x0008|32707\n炎黄|0x100000|26853\n炎凉|0x100000|45446\n炎陵|0x0080|1061\n炎热|0x40000000|11791\n炎日|0x100000|1115\n炎暑|0x100000|54574\n炎天|0x100000|1106\n炎夏|0x100000|35587\n炎炎|0x0100|18787\n炎阳|0x100000|1058\n炎症|0x100000|19939\n研杵|0x0080|0\n研读|0x1000|19204\n研发|0x1000|4656\n研究|0x1000|201\n研磨|0x1000|33990\n研拟|0x1000|1036\n研判|0x1000|849\n研求|0x1000|1229\n研碎|0x0080|413\n研讨|0x1000|5088\n研析|0x1000|1127\n研习|0x1000|30459\n研修|0x1000|23623\n研制|0x1000|2186\n盐巴|0x100000|40264\n盐边|0x0080|1071\n盐场|0x100000|21331\n盐城|0x100000|1040\n盐池|0x100000|29367\n盐店|0x0040|1226\n盐度|0x100000|986\n盐分|0x100000|30564\n盐工|0x0000|46930\n盐湖|0x100000|22187\n盐花|0x100000|52073\n盐化|0x1000|1496\n盐碱|0x100000|899\n盐津|0x0080|975\n盐井|0x100000|50788\n盐矿|0x100000|46931\n盐类|0x100000|30008\n盐粒|0x100000|1072\n盐卤|0x100000|52074\n盐民|0x100000|1289\n盐泉|0x100000|1244\n盐溶|0x100000|0\n盐山|0x0080|1438\n盐商|0x0008|48567\n盐霜|0x100000|1249\n盐水|0x100000|720\n盐税|0x100000|1154\n盐酸|0x100000|16802\n盐滩|0x100000|53514\n盐田|0x100000|29475\n盐亭|0x0080|1040\n盐土|0x100000|1241\n盐枭|0x100000|1279\n盐业|0x100000|26429\n盐源|0x0040|1043\n盐沼|0x100000|1298\n盐政|0x0008|1093\n盐汁|0x0008|1371\n盐渍|0x100000|1483\n阎罗|0x100000|528\n阎王|0x100000|20425\n筵席|0x100000|25672\n筵宴|0x0080|38183\n蜒蚰|0x100000|1404\n颜料|0x100000|16879\n颜面|0x100000|27168\n颜容|0x100000|53036\n颜色|0x100000|5234\n颜体|0x100000|1030\n檐沟|0x100000|1312\n檐口|0x100000|53037\n檐头|0x100000|0\n檐下|0x0000|19008\n檐子|0x100000|1219\n兖州|0x0040|1296\n奄忽|0x8000000|0\n奄然|0x8000000|0\n奄奄|0x0100|42076\n俨然|0x0100|10426\n俨如|0x1000|44555\n衍变|0x1000|1003\n衍化|0x1000|42333\n衍射|0x1000|17957\n衍生|0x1000|16857\n衍文|0x100000|55526\n偃师|0x0040|1342\n偃卧|0x1000|0\n掩鼻|0x1000|46622\n掩闭|0x1000|0\n掩蔽|0x100000|30565\n掩藏|0x1000|26015\n掩盖|0x1000|7644\n掩护|0x100000|10205\n掩卷|0x1000|926\n掩码|0x0000|536\n掩埋|0x1000|16701\n掩没|0x0000|419\n掩面|0x0000|26788\n掩泣|0x0000|54575\n掩杀|0x1000|0\n掩上|0x1000|498\n掩饰|0x1000|7537\n掩体|0x100000|27247\n掩袭|0x1000|0\n掩映|0x1000|14518\n眼白|0x100000|34713\n眼病|0x100000|32067\n眼波|0x100000|31924\n眼部|0x0008|694\n眼岔|0x1000|0\n眼馋|0x40000000|32708\n眼眵|0x100000|1355\n眼袋|0x100000|42586\n眼底|0x100000|23624\n眼点|0x100000|1029\n眼风|0x0000|43074\n眼福|0x100000|35298\n眼高|0x0000|38587\n眼光|0x100000|2104\n眼红|0x40000000|22029\n眼花|0x1000|24988\n眼疾|0x100000|882\n眼尖|0x1000|34253\n眼睑|0x100000|24609\n眼见|0x8000000|13603\n眼角|0x100000|9505\n眼界|0x100000|9309\n眼睛|0x100000|846\n眼镜|0x100000|4755\n眼看|0x1000|4748\n眼科|0x100000|15905\n眼孔|0x100000|375\n眼库|0x0000|52519\n眼快|0x1000|33341\n眼眶|0x100000|9911\n眼泪|0x100000|2732\n眼离|0x1000|0\n眼里|0x8000|3252\n眼力|0x100000|19206\n眼帘|0x100000|15338\n眼眉|0x100000|41835\n眼眸|0x100000|686\n眼目|0x100000|27814\n眼泡|0x100000|36913\n眼皮|0x100000|8152\n眼前|0x4000|1426\n眼浅|0x0000|55527\n眼球|0x100000|14916\n眼圈|0x100000|13182\n眼热|0x40000000|33845\n眼色|0x100000|9991\n眼梢|0x100000|37635\n眼神|0x100000|5705\n眼生|0x40000000|51640\n眼时|0x800000|0\n眼屎|0x100000|43318\n眼熟|0x40000000|32709\n眼跳|0x1000|52520\n眼窝|0x100000|19178\n眼下|0x4000|3807\n眼线|0x100000|39200\n眼压|0x100000|49658\n眼炎|0x0000|371\n眼药|0x100000|35447\n眼影|0x100000|38588\n眼晕|0x40000000|42077\n眼罩|0x100000|27421\n眼中|0x8000|496\n眼珠|0x100000|7766\n眼拙|0x1000|50400\n演变|0x1000|6120\n演播|0x1000|38184\n演唱|0x1000|6221\n演出|0x100000|1122\n演词|0x0008|1265\n演化|0x1000|9414\n演技|0x100000|22380\n演讲|0x1000|3620\n演进|0x1000|15410\n演剧|0x1000|20718\n演练|0x1000|9899\n演期|0x0000|53515\n演示|0x100000|11420\n演说|0x1000|8580\n演算|0x1000|31354\n演替|0x1000|1116\n演武|0x1000|46046\n演习|0x1000|4558\n演戏|0x1000|11338\n演义|0x100000|13889\n演艺|0x100000|18728\n演绎|0x1000|7997\n演员|0x100000|1562\n演奏|0x1000|6236\n魇寐|0x0080|0\n鼹鼠|0x100000|46332\n厌恶|0x40000000|8467\n厌烦|0x40000000|14549\n厌恨|0x1000|47553\n厌倦|0x1000|12818\n厌腻|0x40000000|0\n厌弃|0x1000|37100\n厌食|0x1000|40481\n厌世|0x1000|28682\n厌学|0x40000000|37101\n厌战|0x1000|38799\n砚池|0x100000|46047\n砚山|0x0080|1005\n砚石|0x100000|1146\n砚台|0x100000|31112\n砚田|0x100000|1161\n唁电|0x100000|22433\n唁函|0x100000|53516\n宴尔|0x40000000|0\n宴会|0x100000|6659\n宴客|0x1000|46623\n宴乐|0x100000|1048\n宴请|0x1000|14230\n宴席|0x100000|19105\n宴飨|0x0080|0\n宴饮|0x1000|33458\n晏起|0x1000|0\n艳称|0x100000|0\n艳服|0x100000|1213\n艳福|0x100000|35011\n艳红|0x100000|27750\n艳丽|0x40000000|13757\n艳情|0x100000|52075\n艳诗|0x100000|54039\n艳史|0x100000|48942\n艳闻|0x0000|51641\n艳舞|0x100000|711\n艳羡|0x40000000|27248\n艳阳|0x100000|27320\n艳冶|0x0000|52076\n艳遇|0x100000|42818\n艳装|0x100000|46333\n验查|0x0000|54576\n验方|0x100000|34714\n验放|0x0000|25597\n验关|0x1000|46048\n验光|0x1000|41603\n验核|0x1000|52521\n验货|0x1000|44033\n验看|0x1000|39633\n验明|0x1000|34125\n验尿|0x0000|389\n验票|0x0000|29583\n验讫|0x0000|51200\n验伤|0x1000|55528\n验尸|0x1000|38392\n验收|0x1000|4773\n验算|0x1000|54040\n验血|0x1000|44034\n验照|0x0000|54041\n验证|0x1000|8900\n验资|0x1000|36562\n谚语|0x100000|21603\n焰火|0x100000|17678\n焰心|0x100000|1180\n雁鸣|0x0080|405\n雁群|0x100000|1062\n雁行|0x100000|48943\n雁阵|0x100000|38010\n酽茶|0x0000|47235\n酽酽|0x0100|942\n餍足|0x1000|1109\n燕儿|0x0080|896\n燕尔|0x40000000|1177\n燕京|0x0008|1251\n燕居|0x1000|1176\n燕麦|0x4000000|25791\n燕雀|0x100000|47236\n燕山|0x0080|1184\n燕王|0x0008|927\n燕尾|0x0008|1242\n燕窝|0x4000000|26089\n燕赵|0x0040|1194\n燕子|0x100000|14092\n赝本|0x100000|1410\n赝币|0x100000|1515\n赝鼎|0x100000|0\n赝品|0x100000|33991\n央告|0x1000|27574\n央求|0x1000|15712\n央视|0x0020|504\n央托|0x1000|1542\n央行|0x100000|9582\n泱泱|0x0100|792\n殃及|0x1000|24092\n秧歌|0x100000|14043\n秧龄|0x100000|1345\n秧苗|0x100000|20679\n秧田|0x100000|33056\n秧子|0x100000|27083\n扬鞭|0x1000|27249\n扬波|0x0000|54577\n扬长|0x8000000|963\n扬场|0x1000|53038\n扬尘|0x100000|24805\n扬程|0x100000|49298\n扬帆|0x1000|25168\n扬花|0x1000|41836\n扬剧|0x100000|45755\n扬厉|0x1000|0\n扬名|0x1000|27170\n扬旗|0x100000|40053\n扬起|0x1000|625\n扬弃|0x1000|22135\n扬琴|0x100000|40054\n扬沙|0x1000|961\n扬声|0x1000|675\n扬手|0x0000|22811\n扬水|0x1000|1173\n扬威|0x1000|32944\n扬言|0x1000|14446\n扬扬|0x0100|1280\n扬中|0x0040|1251\n扬州|0x0040|866\n扬子|0x0008|1088\n羊肠|0x100000|921\n羊城|0x100000|566\n羊齿|0x100000|937\n羊道|0x0040|1313\n羊羔|0x100000|21782\n羊羹|0x100000|55013\n羊工|0x100000|1349\n羊倌|0x100000|27815\n羊毫|0x100000|49299\n羊角|0x100000|834\n羊毛|0x100000|633\n羊膜|0x100000|1068\n羊奶|0x100000|40916\n羊年|0x4000|965\n羊皮|0x100000|660\n羊圈|0x100000|23348\n羊群|0x100000|778\n羊绒|0x100000|703\n羊肉|0x100000|630\n羊舍|0x100000|1178\n羊水|0x100000|40055\n羊桃|0x100000|0\n羊蹄|0x100000|1020\n羊头|0x100000|816\n羊腿|0x0000|468\n羊脂|0x100000|883\n阳白|0x0080|0\n阳城|0x0080|1306\n阳池|0x0008|0\n阳春|0x4000|22343\n阳电|0x100000|52524\n阳东|0x0080|1325\n阳辅|0x0080|0\n阳刚|0x100000|29066\n阳纲|0x0080|0\n阳高|0x0080|1000\n阳沟|0x100000|35589\n阳谷|0x0040|1435\n阳关|0x0040|1312\n阳光|0x100000|1309\n阳极|0x100000|35012\n阳间|0x100000|39419\n阳江|0x0040|1120\n阳交|0x0008|0\n阳具|0x0000|562\n阳狂|0x1000|0\n阳历|0x100000|25673\n阳面|0x100000|43319\n阳谋|0x0008|2\n阳平|0x100000|949\n阳坡|0x100000|43320\n阳畦|0x100000|1309\n阳气|0x100000|852\n阳曲|0x0040|980\n阳泉|0x0040|1214\n阳伞|0x100000|41604\n阳山|0x0080|1349\n阳世|0x100000|44278\n阳寿|0x100000|47556\n阳朔|0x0008|1141\n阳燧|0x100000|1265\n阳台|0x100000|8601\n阳萎|0x1000|875\n阳痿|0x100000|37102\n阳文|0x100000|50790\n阳物|0x0000|447\n阳西|0x0080|1462\n阳溪|0x0080|0\n阳新|0x0080|1400\n阳信|0x0080|1480\n阳性|0x100000|15099\n阳虚|0x1000|45150\n阳原|0x0080|1005\n阳韵|0x100000|1311\n阳宅|0x100000|949\n杨柳|0x100000|14026\n杨梅|0x100000|23463\n杨木|0x0000|47237\n杨浦|0x0080|1144\n杨树|0x100000|13797\n杨桃|0x100000|32193\n佯败|0x0000|52525\n佯称|0x1000|42078\n佯动|0x1000|1175\n佯攻|0x1000|46049\n佯狂|0x1000|1091\n佯谬|0x0080|0\n佯死|0x1000|1306\n佯言|0x1000|49300\n佯装|0x1000|23141\n佯作|0x0000|28504\n洋布|0x100000|1178\n洋财|0x100000|42079\n洋裁|0x0008|0\n洋菜|0x100000|1129\n洋场|0x100000|33705\n洋车|0x100000|16833\n洋瓷|0x100000|1271\n洋葱|0x100000|24989\n洋底|0x8000|1121\n洋缎|0x100000|1360\n洋房|0x100000|18484\n洋粉|0x100000|1288\n洋服|0x100000|20594\n洋镐|0x100000|1301\n洋菇|0x0080|0\n洋红|0x100000|44035\n洋化|0x0000|40266\n洋槐|0x100000|35590\n洋灰|0x100000|36232\n洋火|0x100000|29584\n洋货|0x100000|25169\n洋蓟|0x0080|0\n洋碱|0x100000|1394\n洋姜|0x100000|1199\n洋将|0x100000|1109\n洋酒|0x100000|27084\n洋蜡|0x0000|44872\n洋兰|0x100000|1071\n洋李|0x0008|0\n洋流|0x100000|29905\n洋楼|0x0000|20636\n洋麻|0x0008|0\n洋面|0x100000|1012\n洋妞|0x0008|493\n洋奴|0x100000|36563\n洋盘|0x100000|1093\n洋气|0x40000000|31566\n洋钱|0x100000|21652\n洋枪|0x100000|983\n洋琴|0x100000|1196\n洋人|0x100000|8868\n洋伞|0x100000|974\n洋纱|0x100000|0\n洋商|0x100000|1173\n洋式|0x40000000|34550\n洋铁|0x100000|35591\n洋文|0x0000|27250\n洋务|0x100000|29368\n洋县|0x0040|1002\n洋相|0x100000|33342\n洋行|0x100000|23197\n洋烟|0x100000|1159\n洋洋|0x0100|24537\n洋溢|0x1000|7869\n洋银|0x0080|1284\n洋油|0x100000|37453\n洋芋|0x100000|26711\n洋装|0x100000|35299\n仰脖|0x0000|37270\n仰承|0x1000|50023\n仰冲|0x0080|1535\n仰给|0x1000|50402\n仰光|0x0040|22554\n仰角|0x100000|969\n仰靠|0x0000|38800\n仰赖|0x1000|42080\n仰面|0x1000|20381\n仰慕|0x1000|21210\n仰视|0x1000|23198\n仰首|0x1000|41837\n仰躺|0x0000|40681\n仰天|0x1000|24734\n仰头|0x1000|19648\n仰望|0x1000|13297\n仰卧|0x1000|25928\n仰泳|0x100000|23724\n仰仗|0x1000|27498\n养兵|0x1000|40682\n养病|0x1000|18809\n养蚕|0x100000|915\n养车|0x1000|504\n养成|0x1000|5561\n养肥|0x0000|420\n养分|0x100000|13241\n养蜂|0x1000|909\n养父|0x100000|29274\n养汉|0x1000|47238\n养护|0x1000|12854\n养花|0x0000|510\n养活|0x1000|9712\n养鸡|0x1000|805\n养家|0x1000|21459\n养老|0x1000|4455\n养廉|0x1000|50024\n养料|0x100000|18729\n养路|0x1000|35747\n养猫|0x0008|492\n养母|0x100000|25674\n养鸟|0x0000|457\n养牛|0x1000|879\n养女|0x100000|24990\n养气|0x1000|42820\n养人|0x40000000|16834\n养伤|0x1000|29159\n养身|0x40000000|839\n养神|0x1000|39201\n养生|0x1000|15496\n养胃|0x0008|475\n养息|0x1000|46050\n养心|0x40000000|41133\n养性|0x1000|31113\n养畜|0x0000|35908\n养血|0x0008|520\n养鸭|0x1000|952\n养颜|0x1000|44874\n养眼|0x100000|53518\n养养|0x1000|747\n养鱼|0x1000|775\n养育|0x1000|13317\n养殖|0x1000|3159\n养猪|0x1000|735\n养子|0x100000|20001\n氧吧|0x0000|32068\n氧割|0x1000|0\n氧化|0x1000|9026\n氧气|0x100000|8894\n痒痒|0x40000000|18073\n痒疹|0x100000|0\n怏然|0x0100|0\n怏怏|0x0100|19647\n样板|0x100000|13284\n样本|0x100000|10634\n样册|0x100000|1090\n样带|0x0000|36391\n样稿|0x100000|55977\n样机|0x100000|25229\n样件|0x100000|1119\n样刊|0x100000|968\n样款|0x100000|1274\n样貌|0x0008|762\n样片|0x100000|44557\n样品|0x100000|7975\n样式|0x100000|9330\n样书|0x100000|41606\n样样|0x20000|657\n样张|0x100000|827\n样子|0x100000|1804\n漾奶|0x1000|1338\n漾漾|0x0100|1050\n夭矫|0x40000000|1139\n夭寿|0x0008|0\n夭亡|0x1000|45756\n夭夭|0x0100|856\n夭折|0x1000|18857\n吆喝|0x1000|9008\n吆呼|0x0000|50403\n吆唤|0x0000|44558\n妖道|0x100000|968\n妖法|0x0008|51644\n妖风|0x100000|53519\n妖妇|0x0080|459\n妖怪|0x100000|25792\n妖精|0x100000|15824\n妖媚|0x40000000|38394\n妖魔|0x100000|26090\n妖孽|0x100000|41369\n妖女|0x0000|549\n妖婆|0x0000|46051\n妖气|0x40000000|41607\n妖娆|0x40000000|33596\n妖人|0x100000|895\n妖术|0x100000|45447\n妖物|0x100000|52527\n妖雾|0x100000|52528\n妖言|0x100000|39635\n妖艳|0x40000000|33194\n妖冶|0x40000000|35448\n腰板|0x100000|875\n腰包|0x100000|14585\n腰背|0x0000|496\n腰布|0x100000|0\n腰部|0x100000|19574\n腰带|0x100000|12855\n腰袋|0x0000|55530\n腰刀|0x100000|40056\n腰杆|0x100000|853\n腰鼓|0x100000|22136\n腰果|0x100000|48944\n腰花|0x100000|50791\n腰巾|0x0080|0\n腰门|0x0040|0\n腰上|0x2000000|585\n腰身|0x100000|22188\n腰酸|0x0008|30991\n腰痛|0x0008|820\n腰围|0x100000|33343\n腰眼|0x100000|41370\n腰俞|0x0080|0\n腰斩|0x1000|35593\n腰肢|0x100000|22030\n腰椎|0x100000|30338\n腰子|0x100000|38589\n邀宠|0x1000|37815\n邀功|0x1000|33846\n邀击|0x1000|372\n邀集|0x1000|32327\n邀买|0x1000|0\n邀请|0x1000|1956\n邀赏|0x0000|46934\n邀约|0x1000|34715\n尧舜|0x100000|27499\n肴馔|0x100000|1110\n姚安|0x0080|1075\n窑顶|0x0000|43792\n窑洞|0x100000|9589\n窑坑|0x100000|52529\n窑内|0x8000|0\n窑主|0x100000|1267\n窑子|0x100000|953\n谣传|0x100000|22966\n谣风|0x100000|1535\n谣言|0x100000|7926\n谣谚|0x0000|54579\n徭役|0x100000|40267\n摇把|0x0000|45448\n摇摆|0x1000|15029\n摇臂|0x4000000|885\n摇出|0x0000|459\n摇船|0x100000|33461\n摇荡|0x1000|28423\n摇动|0x1000|12623\n摇杆|0x100000|840\n摇滚|0x100000|23011\n摇撼|0x1000|28236\n摇晃|0x1000|10501\n摇奖|0x0008|927\n摇控|0x0000|513\n摇篮|0x100000|10117\n摇铃|0x0008|1544\n摇橹|0x0000|42334\n摇旗|0x0000|403\n摇手|0x100000|20749\n摇头|0x1000|4573\n摇摇|0x1000|567\n摇曳|0x1000|13458\n摇椅|0x100000|42589\n摇匀|0x0000|460\n遥测|0x1000|28424\n遥感|0x100000|9545\n遥控|0x1000|16612\n遥望|0x1000|15637\n遥想|0x1000|30118\n遥遥|0x0100|18676\n遥远|0x40000000|4875\n遥指|0x1000|42335\n遥祝|0x1000|47241\n瑶池|0x100000|42082\n瑶民|0x0000|50792\n瑶族|0x0008|21829\n繇役|0x100000|0\n杳渺|0x40000000|1195\n杳然|0x0100|45152\n咬掉|0x0000|474\n咬定|0x1000|23777\n咬断|0x0080|494\n咬合|0x1000|44279\n咬起|0x0080|0\n咬群|0x1000|0\n咬伤|0x100000|825\n咬舌|0x0080|53522\n咬碎|0x0080|459\n咬下|0x0000|482\n咬牙|0x1000|650\n咬住|0x0000|595\n咬字|0x100000|42336\n咬嘴|0x1000|40683\n窈窕|0x40000000|25230\n舀出|0x0000|397\n舀水|0x0000|405\n舀子|0x0000|51202\n药包|0x100000|962\n药补|0x100000|47242\n药材|0x100000|9834\n药草|0x100000|40483\n药茶|0x0000|55016\n药厂|0x100000|786\n药单|0x100000|1097\n药典|0x100000|36742\n药店|0x100000|7820\n药饵|0x100000|48945\n药贩|0x100000|1\n药方|0x100000|14767\n药房|0x100000|12819\n药费|0x100000|22812\n药粉|0x100000|36743\n药膏|0x100000|37637\n药工|0x0000|38395\n药罐|0x0000|411\n药害|0x100000|39421\n药剂|0x100000|19239\n药检|0x100000|29689\n药酒|0x100000|33847\n药具|0x0000|46052\n药科|0x100000|903\n药理|0x100000|26854\n药力|0x100000|39202\n药量|0x100000|937\n药料|0x100000|1140\n药棉|0x100000|44280\n药面|0x100000|48203\n药名|0x100000|956\n药囊|0x100000|1200\n药捻|0x100000|1325\n药农|0x100000|44037\n药片|0x100000|26091\n药品|0x100000|2316\n药瓶|0x100000|28885\n药铺|0x100000|32194\n药膳|0x100000|46053\n药商|0x100000|910\n药师|0x100000|27575\n药石|0x100000|45757\n药水|0x100000|19150\n药筒|0x100000|1225\n药丸|0x100000|32328\n药王|0x100000|852\n药味|0x100000|41609\n药物|0x100000|3299\n药线|0x100000|1238\n药箱|0x100000|26232\n药效|0x100000|28151\n药械|0x100000|48946\n药性|0x100000|36068\n药学|0x100000|710\n药业|0x100000|570\n药液|0x100000|28972\n药用|0x20000000|18074\n药浴|0x100000|51203\n药皂|0x100000|52531\n药渣|0x100000|52532\n药针|0x0000|46054\n药枕|0x100000|439\n药疹|0x100000|1098\n要隘|0x100000|35748\n要案|0x100000|31568\n要不|0x10000000|8422\n要冲|0x100000|24257\n要道|0x100000|17123\n要得|0x800000|40918\n要地|0x100000|38011\n要点|0x100000|10307\n要端|0x100000|53039\n要犯|0x100000|30772\n要饭|0x1000|20382\n要害|0x100000|10789\n要好|0x40000000|18377\n要谎|0x1000|0\n要回|0x0000|684\n要击|0x1000|2\n要价|0x1000|24206\n要见|0x0000|593\n要件|0x100000|23562\n要津|0x100000|46624\n要紧|0x40000000|5746\n要诀|0x100000|49659\n要览|0x100000|982\n要脸|0x0000|14692\n要领|0x100000|19868\n要路|0x100000|1072\n要略|0x100000|44281\n要么|0x10000000|5761\n要命|0x1000|9469\n要目|0x100000|51645\n要钱|0x1000|615\n要强|0x40000000|27576\n要求|0x1000|158\n要人|0x100000|31694\n要塞|0x100000|21653\n要事|0x100000|42337\n要是|0x10000000|2832\n要说|0x100000|498\n要死|0x1000|13204\n要素|0x100000|3229\n要图|0x100000|49301\n要位|0x0000|11979\n要闻|0x100000|2393\n要务|0x100000|7140\n要挟|0x1000|20259\n要言|0x0000|38590\n要义|0x100000|25930\n要因|0x100000|811\n要有|0x0000|833\n要员|0x100000|22189\n要约|0x1000|831\n要则|0x100000|51646\n要帐|0x0008|398\n要账|0x1000|46935\n要职|0x100000|23834\n要旨|0x100000|32449\n要著|0x0000|34126\n要子|0x100000|54045\n鹞鹰|0x100000|50405\n鹞子|0x100000|41839\n耀斑|0x100000|25931\n耀目|0x40000000|40057\n耀县|0x0040|1026\n耀眼|0x40000000|9496\n椰菜|0x0000|424\n椰风|0x0008|1477\n椰胡|0x100000|1337\n椰林|0x100000|32945\n椰蓉|0x100000|54581\n椰肉|0x100000|1129\n椰树|0x100000|27817\n椰油|0x100000|1100\n椰枣|0x100000|38591\n椰汁|0x0000|52534\n椰子|0x100000|24094\n噎嗝|0x100000|1285\n噎膈|0x100000|1209\n噎住|0x1000|958\n爷儿|0x100000|43552\n爷们|0x100000|672\n爷娘|0x0000|43323\n爷爷|0x100000|2873\n耶教|0x0008|1\n耶鲁|0x0008|1253\n耶酥|0x0080|866\n耶稣|0x0080|11619\n揶揄|0x1000|25598\n也罢|0x2000|8446\n也不|0x0000|952\n也好|0x1000|4349\n也门|0x0040|1445\n也是|0x0000|610\n也许|0x8000000|828\n冶金|0x1000|8284\n冶炼|0x1000|13986\n冶容|0x100000|0\n冶艳|0x40000000|979\n冶游|0x1000|1156\n冶铸|0x1000|55018\n野菜|0x100000|12942\n野餐|0x100000|34880\n野蚕|0x100000|0\n野草|0x100000|14380\n野炊|0x1000|41134\n野地|0x100000|22764\n野渡|0x100000|964\n野蜂|0x0080|400\n野鸽|0x100000|1131\n野葛|0x0080|982\n野狗|0x100000|22244\n野果|0x100000|31569\n野合|0x1000|1014\n野花|0x100000|15011\n野火|0x100000|32946\n野鸡|0x100000|22909\n野景|0x100000|1212\n野菊|0x100000|970\n野狼|0x100000|778\n野老|0x100000|1048\n野鹿|0x100000|1057\n野驴|0x100000|36744\n野马|0x100000|14059\n野蛮|0x40000000|8934\n野猫|0x100000|29585\n野鸟|0x100000|956\n野牛|0x100000|31695\n野炮|0x100000|1082\n野禽|0x100000|1112\n野趣|0x100000|37454\n野犬|0x0080|0\n野人|0x100000|19649\n野生|0x20000000|4038\n野食|0x0000|46055\n野史|0x100000|33195\n野兽|0x100000|11442\n野鼠|0x100000|1160\n野兔|0x100000|23897\n野外|0x100000|8707\n野味|0x100000|21783\n野物|0x100000|39636\n野心|0x100000|11473\n野性|0x100000|20035\n野鸭|0x100000|23142\n野宴|0x0080|368\n野营|0x1000|35910\n野葬|0x0080|0\n野战|0x100000|18378\n野雉|0x0000|55020\n野种|0x0080|45449\n野猪|0x100000|16665\n业大|0x100000|40919\n业绩|0x100000|3982\n业界|0x100000|493\n业经|0x8000000|34127\n业内|0x100000|24735\n业师|0x100000|52535\n业务|0x100000|1101\n业已|0x8000000|7495\n业余|0x20000000|4623\n业障|0x100000|849\n业者|0x0008|723\n业主|0x100000|5569\n叶斑|0x100000|0\n叶柄|0x100000|1001\n叶城|0x0080|1504\n叶丛|0x0080|385\n叶耳|0x0080|0\n叶蜂|0x100000|1217\n叶猴|0x100000|1182\n叶尖|0x100000|0\n叶茎|0x100000|0\n叶兰|0x0080|1068\n叶轮|0x100000|41371\n叶脉|0x100000|35594\n叶面|0x100000|29477\n叶片|0x100000|11406\n叶鞘|0x100000|1199\n叶肉|0x100000|1114\n叶舌|0x0080|1385\n叶酸|0x100000|45154\n叶县|0x0040|1003\n叶序|0x100000|1300\n叶芽|0x100000|43793\n叶叶|0x20000|0\n叶腋|0x100000|1121\n叶韵|0x0000|54546\n叶针|0x0080|0\n叶芝|0x0080|963\n叶枝|0x100000|1165\n叶状|0x0000|419\n叶子|0x100000|6100\n曳光|0x1000|1268\n页次|0x0000|793\n页码|0x100000|44559\n页眉|0x100000|944\n页面|0x100000|24856\n页数|0x100000|553\n页心|0x100000|1295\n页岩|0x100000|32947\n夜班|0x100000|13417\n夜半|0x4000|14479\n夜餐|0x100000|38396\n夜叉|0x100000|43794\n夜场|0x100000|46936\n夜车|0x100000|36745\n夜大|0x100000|944\n夜祷|0x0080|0\n夜蛾|0x100000|1100\n夜饭|0x100000|27751\n夜分|0x4000|0\n夜工|0x100000|37817\n夜光|0x20000000|730\n夜航|0x1000|35595\n夜壶|0x100000|36392\n夜话|0x100000|38397\n夜间|0x4000|3092\n夜禁|0x100000|0\n夜景|0x100000|19758\n夜空|0x100000|10943\n夜来|0x4000|715\n夜阑|0x1000|50025\n夜里|0x4000|4109\n夜盲|0x100000|953\n夜幕|0x100000|12704\n夜勤|0x100000|1025\n夜曲|0x100000|47243\n夜色|0x100000|10064\n夜深|0x1000|662\n夜市|0x100000|20426\n夜宿|0x1000|30992\n夜谈|0x1000|825\n夜晚|0x4000|4333\n夜袭|0x1000|33706\n夜宵|0x100000|32833\n夜校|0x100000|15941\n夜行|0x1000|27898\n夜宴|0x100000|619\n夜夜|0x20000|632\n夜莺|0x100000|31570\n夜鹰|0x100000|955\n夜游|0x1000|31805\n夜雨|0x100000|584\n夜战|0x100000|38012\n夜作|0x100000|0\n掖县|0x0040|1167\n液氮|0x100000|38592\n液化|0x1000|14839\n液剂|0x0008|0\n液晶|0x100000|14167\n液门|0x0040|0\n液面|0x100000|493\n液泡|0x100000|1195\n液氢|0x100000|1187\n液态|0x100000|17186\n液体|0x100000|7369\n液压|0x100000|23898\n液氧|0x100000|1045\n液汁|0x100000|1082\n液状|0x100000|1022\n谒见|0x1000|37103\n腋臭|0x100000|55907\n腋毛|0x100000|55021\n腋窝|0x100000|42821\n腋下|0x8000|21406\n腋芽|0x100000|1253\n一把|0x400000|495\n一百|0x600000|109\n一班|0x400000|667\n一般|0x40400000|282\n一斑|0x500000|24991\n一半|0x600000|1451\n一磅|0x400000|1\n一镑|0x400000|0\n一包|0x400000|1022\n一抱|0x400000|2\n一杯|0x400000|816\n一笔|0x400000|730\n一边|0x400000|744\n一鞭|0x400000|0\n一并|0x8400000|10308\n一步|0x400000|850\n一部|0x400000|843\n一餐|0x400000|570\n一册|0x400000|523\n一侧|0x2400000|8981\n一层|0x400000|787\n一场|0x400000|904\n一朝|0x40000000|16176\n一车|0x400000|1194\n一程|0x600000|9\n一匙|0x400000|0\n一筹|0x500000|3\n一串|0x400000|666\n一吹|0x400000|551\n一次|0x400000|1029\n一簇|0x400000|501\n一撮|0x400000|496\n一打|0x400000|733\n一代|0x400000|4258\n一带|0x500000|2831\n一袋|0x400000|588\n一旦|0x8400000|1132\n一档|0x400000|748\n一刀|0x400000|704\n一道|0x400000|3660\n一得|0x500000|0\n一等|0x400000|703\n一滴|0x400000|694\n一点|0x400000|1015\n一碟|0x400000|1227\n一定|0x8400000|120\n一动|0x8400000|4\n一睹|0x401000|15\n一度|0x400000|4147\n一端|0x400000|700\n一段|0x400000|921\n一堆|0x400000|746\n一队|0x400000|652\n一对|0x400000|497\n一顿|0x400000|771\n一二|0x400000|9140\n一发|0x400000|728\n一番|0x400000|6862\n一方|0x400000|3422\n一分|0x400000|734\n一份|0x400000|883\n一服|0x400000|462\n一副|0x400000|808\n一改|0x0000|10928\n一概|0x8400000|9497\n一干|0x500000|17799\n一格|0x400000|1170\n一个|0x400000|429\n一根|0x400000|797\n一共|0x8400000|6802\n一股|0x400000|836\n一贯|0x8400000|3650\n一罐|0x400000|545\n一锅|0x400000|561\n一号|0x400000|712\n一盒|0x400000|613\n一壶|0x400000|566\n一户|0x400000|727\n一滑|0x400000|515\n一划|0x400000|0\n一画|0x400000|466\n一环|0x400008|36\n一晃|0x401000|13223\n一回|0x400000|710\n一会|0x600000|33\n一伙|0x400000|736\n一击|0x400000|708\n一级|0x400000|3494\n一己|0x410000|20522\n一剂|0x400000|1237\n一家|0x20000|491\n一见|0x400000|914\n一件|0x400000|879\n一角|0x400000|7062\n一阶|0x400000|0\n一节|0x400000|652\n一介|0x500000|2\n一经|0x8400000|7293\n一径|0x0000|39424\n一局|0x400000|751\n一举|0x400000|5783\n一卷|0x400000|597\n一觉|0x400000|648\n一看|0x400000|846\n一刻|0x400000|537\n一口|0x400000|3000\n一块|0x400000|496\n一款|0x200000|876\n一捆|0x400000|2\n一来|0x10400000|17\n一栏|0x400000|585\n一篮|0x400000|9\n一览|0x500000|30664\n一垒|0x400008|0\n一类|0x400000|550\n一力|0x8400000|0\n一连|0x400000|7025\n一两|0x400000|521\n一列|0x400000|598\n一流|0x500000|3597\n一路|0x400000|2738\n一律|0x8400000|2692\n一轮|0x400000|933\n一面|0x400000|1455\n一年|0x400000|927\n一扭|0x400000|2\n一排|0x400000|683\n一派|0x500000|5768\n一盘|0x400000|646\n一旁|0x408000|5529\n一批|0x400000|828\n一片|0x400000|916\n一偏|0x40000000|511\n一篇|0x400000|755\n一瞥|0x500000|14487\n一瓶|0x400000|692\n一期|0x400000|551\n一齐|0x8400000|4988\n一起|0x400000|266\n一气|0x8400000|8\n一汽|0x400008|2\n一千|0x600000|62\n一锹|0x400000|387\n一切|0x500000|200\n一圈|0x400000|723\n一拳|0x400000|685\n一群|0x400000|797\n一任|0x0000|12303\n一日|0x400000|1437\n一如|0x401000|13471\n一色|0x400000|15846\n一霎|0x404000|30873\n一闪|0x400000|733\n一身|0x400000|4985\n一审|0x500000|129\n一生|0x500000|1697\n一时|0x400000|2058\n一世|0x400000|5889\n一式|0x400000|634\n一事|0x401000|445\n一手|0x400000|2615\n一熟|0x400000|0\n一束|0x400000|629\n一双|0x400000|787\n一瞬|0x404000|14840\n一丝|0x400000|797\n一似|0x401000|0\n一俟|0x8400000|2\n一宿|0x0000|20680\n一趟|0x400000|709\n一套|0x400000|1710\n一体|0x500000|3913\n一天|0x400000|930\n一条|0x400000|926\n一跳|0x400000|729\n一听|0x400000|746\n一通|0x600000|9264\n一同|0x8400000|3865\n一统|0x401000|3\n一桶|0x400000|564\n一头|0x400000|5767\n一团|0x400000|742\n一推|0x400000|1197\n一碗|0x400000|665\n一网|0x400000|560\n一望|0x400000|2\n一位|0x400000|949\n一味|0x400000|7671\n一窝|0x400000|529\n一无|0x8400000|8\n一吸|0x400000|488\n一息|0x400000|483\n一下|0x400000|575\n一线|0x600000|4204\n一想|0x400000|853\n一向|0x8400000|3768\n一项|0x400000|851\n一些|0x400000|86\n一心|0x401000|7005\n一新|0x401000|5748\n一行|0x400000|2325\n一眼|0x400000|5695\n一样|0x400000|224\n一页|0x400000|743\n一一|0x600000|3793\n一应|0x8400000|22137\n一隅|0x500000|6\n一语|0x400000|1118\n一元|0x400000|651\n一员|0x400000|670\n一月|0x400000|507\n一跃|0x401000|36\n一再|0x8400000|3906\n一早|0x8400000|8088\n一则|0x400000|605\n一展|0x401000|6\n一张|0x400000|911\n一掌|0x400000|1171\n一兆|0x600000|0\n一折|0x400000|1\n一者|0x0000|46627\n一针|0x400000|1210\n一阵|0x400000|1820\n一怔|0x0000|12108\n一直|0x8400000|258\n一指|0x400000|3\n一致|0x40400000|1105\n一中|0x500000|35\n一种|0x400000|1023\n一周|0x400000|802\n一准|0x8400000|23899\n一宗|0x400000|577\n一总|0x8400000|39637\n一族|0x400008|16\n一组|0x400000|744\n伊川|0x0040|1421\n伊春|0x0040|1250\n伊尔|0x0080|552\n伊红|0x0008|1213\n伊朗|0x0040|934\n伊犁|0x0040|1218\n伊敏|0x0040|1084\n伊宁|0x0040|1314\n伊人|0x100000|16729\n伊始|0x1000|10291\n伊索|0x0080|1347\n伊吾|0x0040|1068\n衣摆|0x100000|52086\n衣包|0x100000|0\n衣胞|0x100000|0\n衣钵|0x100000|35597\n衣橱|0x100000|28886\n衣带|0x0000|30119\n衣袋|0x100000|12796\n衣兜|0x100000|24030\n衣蛾|0x100000|1535\n衣分|0x100000|1249\n衣服|0x100000|1555\n衣钩|0x100000|49663\n衣冠|0x100000|16803\n衣柜|0x100000|19267\n衣夹|0x100000|933\n衣架|0x100000|26789\n衣肩|0x0080|0\n衣角|0x8000|22555\n衣襟|0x100000|11668\n衣扣|0x0080|36747\n衣裤|0x0000|18189\n衣料|0x100000|20970\n衣领|0x100000|19291\n衣履|0x100000|1078\n衣裙|0x0000|20750\n衣衫|0x100000|13619\n衣裳|0x100000|6121\n衣食|0x100000|15825\n衣饰|0x100000|29692\n衣室|0x0080|0\n衣刷|0x0080|0\n衣物|0x100000|11339\n衣箱|0x100000|30225\n衣袖|0x100000|17187\n衣鱼|0x0008|0\n衣装|0x100000|803\n衣着|0x100000|12365\n医案|0x0000|54584\n医保|0x100000|701\n医道|0x100000|36916\n医德|0x100000|12820\n医方|0x100000|45156\n医风|0x100000|914\n医官|0x0080|0\n医馆|0x0008|452\n医护|0x100000|6355\n医家|0x100000|929\n医界|0x100000|986\n医科|0x100000|15652\n医理|0x100000|49664\n医疗|0x100000|1728\n医生|0x100000|736\n医圣|0x100000|963\n医师|0x100000|9111\n医士|0x100000|40923\n医书|0x100000|32329\n医术|0x100000|15012\n医坛|0x0080|1259\n医务|0x100000|5016\n医学|0x100000|2515\n医药|0x100000|3623\n医用|0x20000000|655\n医院|0x100000|519\n医者|0x100000|904\n医治|0x1000|8285\n医嘱|0x100000|29067\n依安|0x0040|1082\n依傍|0x1000|30120\n依次|0x1000|7054\n依从|0x1000|27818\n依存|0x1000|12954\n依法|0x1000|1484\n依附|0x1000|13497\n依归|0x100000|921\n依纪|0x1000|1037\n依旧|0x8000000|3933\n依据|0x100000|1881\n依靠|0x1000|1688\n依赖|0x1000|4132\n依兰|0x0080|1466\n依恋|0x1000|15983\n依凭|0x100000|50414\n依然|0x1000|1141\n依顺|0x1000|46939\n依随|0x1000|0\n依托|0x1000|4435\n依偎|0x1000|21045\n依稀|0x0100|15984\n依循|0x1000|911\n依依|0x0100|17320\n依约|0x0000|470\n依允|0x1000|1219\n依仗|0x1000|25737\n依照|0x1000|3040\n咿呀|0x80000|37639\n铱星|0x100000|1076\n壹万|0x200000|0\n揖让|0x1000|45157\n漪澜|0x100000|1155\n漪涟|0x100000|1088\n黟县|0x0040|1482\n仪表|0x100000|12245\n仪队|0x0080|0\n仪节|0x100000|1188\n仪礼|0x0000|36396\n仪陇|0x0080|968\n仪器|0x100000|5258\n仪容|0x100000|37456\n仪式|0x100000|1924\n仪态|0x100000|32837\n仪型|0x0080|0\n仪仗|0x100000|23399\n仪征|0x100000|1240\n夷灭|0x0000|46336\n夷平|0x1000|1032\n沂河|0x0040|1037\n沂蒙|0x100000|504\n沂南|0x0080|1443\n沂水|0x0080|1382\n沂源|0x0080|914\n宜宾|0x0040|1125\n宜昌|0x0040|1024\n宜城|0x0040|1397\n宜川|0x0080|1541\n宜春|0x0040|1221\n宜都|0x0040|956\n宜丰|0x0080|996\n宜黄|0x0080|997\n宜君|0x0080|1004\n宜兰|0x0040|1192\n宜良|0x0080|1493\n宜人|0x40000000|14185\n宜兴|0x0040|1050\n宜阳|0x0080|1518\n宜于|0x1000|22607\n宜章|0x0080|1525\n宜州|0x0040|1459\n怡和|0x40000000|844\n怡情|0x1000|845\n怡然|0x40000000|30774\n怡人|0x0000|47245\n怡神|0x40000000|1019\n怡悦|0x40000000|52539\n迤逦|0x0080|31117\n饴糖|0x100000|55027\n姨表|0x100000|52540\n姨夫|0x100000|857\n姨父|0x100000|17958\n姨妈|0x100000|11505\n姨妹|0x100000|51209\n姨母|0x100000|25457\n姨娘|0x100000|33344\n姨婆|0x100000|1028\n姨丈|0x100000|55534\n贻贝|0x0008|1100\n贻害|0x1000|29478\n贻患|0x100000|50028\n贻误|0x1000|17546\n胰岛|0x100000|995\n胰腺|0x100000|29479\n胰液|0x100000|1157\n胰脏|0x0000|51210\n胰子|0x100000|35911\n移步|0x1000|849\n移出|0x0000|508\n移到|0x0000|663\n移调|0x1000|370\n移动|0x1000|2153\n移防|0x1000|46629\n移交|0x1000|6721\n移居|0x1000|17468\n移开|0x0000|616\n移来|0x0000|461\n移码|0x100000|0\n移苗|0x1000|1255\n移民|0x100000|2731\n移情|0x1000|31357\n移去|0x0000|507\n移入|0x1000|29806\n移师|0x1000|21548\n移送|0x1000|10502\n移往|0x1000|971\n移位|0x1000|33463\n移向|0x0000|551\n移项|0x1000|1061\n移行|0x1000|1011\n移易|0x1000|1186\n移用|0x1000|53041\n移栽|0x1000|20555\n移植|0x1000|5537\n移至|0x0000|581\n移置|0x0000|399\n移转|0x0008|905\n遗产|0x100000|4039\n遗传|0x1000|5970\n遗存|0x100000|14415\n遗毒|0x100000|48947\n遗风|0x100000|25232\n遗腹|0x100000|1226\n遗稿|0x100000|41373\n遗孤|0x100000|38013\n遗骨|0x100000|32070\n遗骸|0x100000|26302\n遗害|0x1000|51650\n遗憾|0x100000|3446\n遗恨|0x100000|30461\n遗患|0x1000|46058\n遗祸|0x1000|52087\n遗迹|0x100000|9590\n遗教|0x100000|50796\n遗精|0x1000|42084\n遗老|0x100000|24921\n遗留|0x1000|6808\n遗漏|0x1000|20069\n遗落|0x1000|34256\n遗民|0x100000|952\n遗墨|0x100000|51651\n遗尿|0x1000|969\n遗篇|0x100000|1091\n遗弃|0x1000|11931\n遗缺|0x100000|48206\n遗容|0x100000|32838\n遗少|0x100000|38014\n遗失|0x1000|19180\n遗事|0x100000|38597\n遗书|0x100000|18755\n遗孀|0x100000|33057\n遗俗|0x100000|1165\n遗体|0x100000|8070\n遗忘|0x1000|11128\n遗文|0x100000|1102\n遗闻|0x100000|46059\n遗物|0x100000|14148\n遗像|0x100000|17620\n遗训|0x100000|36748\n遗言|0x100000|22031\n遗业|0x100000|48570\n遗愿|0x100000|28325\n遗赠|0x1000|42085\n遗诏|0x100000|26093\n遗照|0x100000|48948\n遗址|0x100000|4667\n遗志|0x100000|23961\n遗属|0x100000|27501\n遗嘱|0x100000|12845\n遗著|0x100000|42592\n遗踪|0x100000|0\n遗族|0x100000|42086\n遗作|0x100000|41374\n颐养|0x1000|1036\n疑案|0x100000|31807\n疑兵|0x100000|40689\n疑点|0x100000|19324\n疑窦|0x100000|37818\n疑犯|0x100000|30666\n疑匪|0x0008|1\n疑惑|0x40000000|7133\n疑忌|0x1000|35912\n疑惧|0x1000|28326\n疑虑|0x100000|8806\n疑难|0x100000|11727\n疑念|0x100000|1144\n疑似|0x1000|8584\n疑团|0x100000|27423\n疑为|0x1000|809\n疑问|0x100000|6423\n疑心|0x100000|8122\n疑凶|0x100000|883\n疑义|0x100000|30462\n疑云|0x100000|34129\n疑阵|0x100000|52541\n彝剧|0x100000|1365\n彝良|0x0080|1031\n彝人|0x0000|416\n彝文|0x0000|52542\n彝族|0x0008|12540\n乙胺|0x100000|981\n乙苯|0x4000000|369\n乙丑|0x400000|987\n乙醇|0x100000|755\n乙方|0x10000|22967\n乙肝|0x100000|12705\n乙亥|0x400000|981\n乙基|0x100000|898\n乙级|0x100000|801\n乙类|0x100000|980\n乙卯|0x400000|980\n乙醚|0x100000|39638\n乙脑|0x100000|36917\n乙醛|0x100000|985\n乙炔|0x100000|33058\n乙巳|0x400000|1010\n乙酸|0x100000|878\n乙烷|0x100000|918\n乙未|0x400000|993\n乙烯|0x100000|633\n乙酰|0x100000|848\n乙酉|0x400000|920\n乙种|0x20000000|1096\n已定|0x1000|594\n已而|0x1000|447\n已故|0x1000|13429\n已婚|0x1000|25110\n已极|0x8000000|40484\n已经|0x8000000|79\n已去|0x1000|783\n已然|0x8000000|11256\n已往|0x4000|33464\n已知|0x20000000|9677\n以北|0x2000000|10076\n以便|0x10000000|2800\n以此|0x8000000|520\n以次|0x1000|44038\n以东|0x2000000|15084\n以防|0x1000|582\n以故|0x10000000|1024\n以后|0x2000000|292\n以还|0x2000000|1\n以及|0x10000000|234\n以近|0x0000|45159\n以来|0x2000000|440\n以免|0x10000000|7316\n以内|0x2000000|6577\n以南|0x2000000|10022\n以期|0x10000000|12522\n以其|0x0000|718\n以前|0x2000000|649\n以求|0x1000|8793\n以上|0x2000000|477\n以太|0x0008|1115\n以外|0x2000000|1959\n以往|0x4000|2523\n以为|0x1000|945\n以西|0x2000000|14937\n以下|0x2000000|1018\n以远|0x2000000|47876\n以至|0x10000000|5399\n以致|0x10000000|6141\n迆逦|0x0100|0\n蚁蚕|0x100000|1412\n蚁巢|0x100000|1143\n蚁后|0x100000|55029\n蚁民|0x100000|1193\n蚁丘|0x100000|1203\n蚁酸|0x100000|1188\n蚁王|0x100000|1122\n蚁穴|0x100000|949\n倚傍|0x1000|0\n倚靠|0x1000|27322\n倚赖|0x1000|40059\n倚势|0x0000|41614\n倚仗|0x1000|33465\n倚重|0x1000|28506\n椅背|0x100000|866\n椅垫|0x100000|43554\n椅披|0x100000|1381\n椅套|0x100000|970\n椅子|0x100000|4226\n旖旎|0x40000000|30993\n义仓|0x100000|1175\n义齿|0x100000|50029\n义愤|0x40000000|20794\n义父|0x100000|28327\n义工|0x100000|44565\n义颌|0x0080|0\n义警|0x0008|0\n义举|0x100000|25233\n义捐|0x0000|52088\n义军|0x0000|10283\n义理|0x100000|16217\n义利|0x100000|992\n义马|0x0040|1448\n义卖|0x1000|27323\n义民|0x0008|1071\n义母|0x100000|47877\n义女|0x100000|35143\n义旗|0x100000|38598\n义气|0x100000|17007\n义赛|0x100000|965\n义师|0x100000|39014\n义士|0x100000|26018\n义乌|0x0040|926\n义务|0x100000|1769\n义侠|0x100000|1075\n义县|0x0040|1461\n义项|0x100000|53042\n义行|0x100000|1064\n义兄|0x100000|1029\n义学|0x100000|48571\n义演|0x1000|21785\n义勇|0x40000000|35599\n义蕴|0x100000|0\n义战|0x100000|1131\n义诊|0x1000|16501\n义肢|0x100000|1046\n义冢|0x100000|50798\n义子|0x100000|34881\n亿唐|0x0008|1467\n亿万|0x400000|6693\n亿兆|0x400000|1031\n弋阳|0x0080|1507\n忆及|0x1000|1003\n忆旧|0x1000|950\n忆念|0x1000|990\n忆起|0x1000|703\n忆述|0x0000|54051\n艺德|0x100000|963\n艺伎|0x0000|580\n艺妓|0x100000|50030\n艺界|0x100000|969\n艺林|0x100000|50416\n艺龄|0x100000|1176\n艺名|0x100000|42343\n艺能|0x100000|1362\n艺人|0x100000|8540\n艺术|0x100000|232\n艺坛|0x100000|954\n艺徒|0x100000|54050\n艺文|0x0008|1304\n艺校|0x100000|40690\n艺员|0x100000|848\n艺苑|0x100000|32071\n艺专|0x100000|1065\n仡佬|0x0008|1152\n议案|0x100000|4242\n议长|0x100000|4137\n议场|0x0008|3\n议程|0x100000|7399\n议定|0x1000|17547\n议购|0x100000|49666\n议和|0x1000|14130\n议会|0x100000|2583\n议价|0x100000|33199\n议决|0x1000|22245\n议论|0x100000|3569\n议事|0x1000|8402\n议题|0x100000|5577\n议席|0x100000|17105\n议议|0x1000|1\n议员|0x100000|3728\n议院|0x100000|23900\n议政|0x1000|9627\n亦即|0x0008|14073\n亦然|0x1000|28507\n屹立|0x1000|14131\n屹然|0x0100|42823\n异邦|0x100000|37640\n异步|0x20000000|768\n异才|0x100000|52090\n异彩|0x100000|23962\n异常|0x40000000|2462\n异词|0x100000|1247\n异地|0x100000|10040\n异读|0x100000|54586\n异端|0x100000|27251\n异国|0x100000|14488\n异化|0x1000|16438\n异己|0x100000|25302\n异见|0x0000|53043\n异教|0x100000|43081\n异类|0x100000|32949\n异名|0x100000|1014\n异能|0x100000|726\n异趣|0x100000|46941\n异人|0x0000|40927\n异日|0x0000|53527\n异兽|0x100000|885\n异说|0x100000|1030\n异体|0x0000|31359\n异同|0x100000|24807\n异图|0x100000|0\n异味|0x100000|25932\n异文|0x100000|49667\n异闻|0x0000|44566\n异物|0x100000|23199\n异乡|0x100000|18449\n异香|0x100000|37107\n异心|0x100000|35144\n异形|0x100000|605\n异型|0x0000|43082\n异姓|0x0000|33992\n异性|0x100000|11745\n异言|0x100000|36233\n异样|0x100000|9858\n异议|0x100000|9232\n异于|0x0000|18450\n异域|0x100000|24305\n异状|0x100000|894\n异族|0x100000|25234\n佚名|0x0008|46338\n佚失|0x0000|55536\n佚文|0x0000|43329\n呓语|0x100000|31461\n役毕|0x0008|0\n役龄|0x100000|1322\n役男|0x0008|1110\n役使|0x1000|34551\n役畜|0x100000|52544\n抑低|0x1000|0\n抑或|0x10000000|15135\n抑扬|0x1000|33849\n抑郁|0x40000000|13335\n抑止|0x1000|33345\n抑制|0x100000|4198\n译本|0x100000|10572\n译笔|0x100000|1098\n译成|0x1000|786\n译丛|0x100000|791\n译电|0x100000|51652\n译稿|0x100000|34413\n译介|0x0000|36234\n译码|0x100000|47246\n译名|0x100000|28152\n译师|0x100000|0\n译述|0x1000|54052\n译文|0x100000|12992\n译音|0x100000|35600\n译员|0x100000|36566\n译者|0x100000|13867\n译制|0x1000|45456\n译注|0x100000|46339\n译著|0x100000|31360\n译作|0x100000|19042\n邑人|0x100000|0\n易爆|0x40000000|36072\n易地|0x1000|27014\n易懂|0x40000000|681\n易读|0x0000|470\n易化|0x100000|0\n易货|0x1000|43799\n易经|0x0008|1195\n易门|0x0040|984\n易怒|0x40000000|811\n易趣|0x0008|1021\n易燃|0x40000000|29693\n易人|0x1000|477\n易事|0x100000|787\n易手|0x1000|43330\n易水|0x0040|1307\n易俗|0x1000|1086\n易碎|0x0080|746\n易损|0x40000000|38803\n易位|0x1000|42088\n易县|0x0040|1414\n易行|0x40000000|784\n易姓|0x0000|51212\n易学|0x100000|717\n易于|0x1000|9663\n易帜|0x1000|48207\n易主|0x0000|39640\n驿道|0x100000|41378\n驿馆|0x0000|446\n驿吏|0x100000|0\n驿路|0x100000|895\n驿马|0x100000|998\n驿使|0x100000|0\n驿站|0x100000|20219\n驿卒|0x100000|1192\n奕奕|0x0100|42593\n弈棋|0x100000|1031\n疫病|0x100000|9480\n疫疠|0x100000|1170\n疫苗|0x100000|6184\n疫情|0x100000|3460\n疫区|0x100000|9900\n轶事|0x100000|24096\n轶闻|0x100000|35913\n挹注|0x1000|1097\n益虫|0x100000|46630\n益处|0x100000|13739\n益发|0x8000000|31118\n益鸟|0x100000|45160\n益寿|0x1000|44286\n益阳|0x0040|1133\n益友|0x100000|44287\n益智|0x1000|29909\n益州|0x0040|1458\n翌年|0x4000|25235\n翌日|0x4000|18226\n逸度|0x100000|1329\n逸乐|0x40000000|1008\n逸民|0x100000|1061\n逸气|0x100000|0\n逸趣|0x0000|53044\n逸群|0x40000000|1050\n逸史|0x100000|1091\n逸士|0x100000|1081\n逸事|0x100000|697\n逸闻|0x100000|35913\n逸豫|0x1000|1070\n意表|0x100000|44039\n意动|0x0080|995\n意会|0x1000|29694\n意见|0x100000|359\n意匠|0x100000|0\n意境|0x100000|9288\n意料|0x1000|10743\n意念|0x100000|17400\n意气|0x100000|22911\n意趣|0x100000|28973\n意识|0x100000|553\n意思|0x100000|1747\n意态|0x100000|44040\n意图|0x100000|8035\n意外|0x40000000|2527\n意味|0x100000|4842\n意谓|0x100000|920\n意下|0x0000|30775\n意想|0x1000|36751\n意向|0x100000|9162\n意象|0x100000|11890\n意兴|0x100000|41615\n意绪|0x100000|1086\n意义|0x100000|334\n意译|0x1000|35601\n意淫|0x0008|1198\n意欲|0x1000|750\n意愿|0x100000|5081\n意蕴|0x100000|18858\n意在|0x1000|713\n意旨|0x100000|21830\n意指|0x0000|511\n意志|0x100000|2293\n意中|0x0020|862\n溢出|0x1000|18940\n溢价|0x100000|816\n溢利|0x0008|0\n溢流|0x1000|941\n溢美|0x1000|34882\n溢血|0x0000|405\n溢油|0x0008|2\n缢痕|0x0080|0\n缢死|0x0000|397\n肄业|0x1000|35914\n毅力|0x100000|10188\n毅然|0x8000000|7969\n毅勇|0x40000000|1220\n熠熠|0x0100|22912\n薏米|0x100000|53528\n薏苡|0x100000|969\n翳风|0x0008|0\n翳明|0x0080|0\n翼侧|0x2000000|1165\n翼长|0x0080|1\n翼城|0x0040|1552\n翼翅|0x100000|0\n翼梢|0x0080|0\n翼形|0x100000|1204\n翼翼|0x0100|971\n翼展|0x100000|1001\n臆测|0x1000|40270\n臆度|0x1000|0\n臆断|0x1000|32839\n臆见|0x100000|1131\n臆说|0x100000|54588\n臆想|0x100000|33059\n臆造|0x1000|33346\n癔病|0x100000|52545\n癔症|0x0008|1005\n懿德|0x100000|1058\n懿行|0x100000|1210\n懿旨|0x100000|1056\n因此|0x10000000|175\n因而|0x10000000|1374\n因公|0x0008|17274\n因故|0x8000000|22246\n因果|0x100000|11263\n因明|0x100000|1046\n因式|0x100000|1034\n因数|0x100000|858\n因素|0x100000|1026\n因为|0x10000000|106\n因袭|0x1000|30776\n因循|0x1000|20220\n因应|0x0008|789\n因由|0x100000|36752\n因缘|0x100000|22813\n因之|0x0000|12086\n因子|0x100000|8971\n阴暗|0x40000000|11188\n阴部|0x100000|45761\n阴惨|0x0000|52546\n阴曹|0x100000|39015\n阴沉|0x40000000|13377\n阴唇|0x0000|548\n阴道|0x100000|28238\n阴德|0x100000|44288\n阴蒂|0x100000|861\n阴电|0x100000|54589\n阴跌|0x1000|1011\n阴毒|0x40000000|43331\n阴风|0x100000|33993\n阴阜|0x0080|435\n阴干|0x1000|53045\n阴功|0x100000|52092\n阴沟|0x100000|30342\n阴谷|0x0080|0\n阴核|0x0000|472\n阴户|0x100000|1013\n阴晦|0x40000000|45762\n阴魂|0x100000|35603\n阴极|0x100000|24208\n阴间|0x100000|23963\n阴茎|0x100000|42344\n阴冷|0x40000000|20261\n阴历|0x100000|21984\n阴廉|0x0008|0\n阴凉|0x100000|25858\n阴霾|0x40000000|19792\n阴毛|0x100000|50799\n阴门|0x100000|54054\n阴面|0x100000|50417\n阴模|0x0080|0\n阴谋|0x100000|6768\n阴囊|0x100000|50418\n阴平|0x100000|49307\n阴坡|0x100000|1183\n阴气|0x100000|844\n阴柔|0x40000000|34416\n阴森|0x40000000|22079\n阴山|0x0040|1426\n阴虱|0x0080|1077\n阴湿|0x40000000|34257\n阴市|0x0008|0\n阴寿|0x100000|0\n阴司|0x100000|47878\n阴私|0x100000|43083\n阴损|0x1000|1005\n阴天|0x1000|21372\n阴文|0x100000|55537\n阴郄|0x0008|0\n阴险|0x40000000|19292\n阴笑|0x1000|54590\n阴性|0x100000|27819\n阴虚|0x1000|39428\n阴阳|0x100000|8862\n阴痒|0x0008|0\n阴翳|0x1000|952\n阴阴|0x0080|740\n阴影|0x100000|5947\n阴雨|0x100000|15030\n阴郁|0x40000000|18703\n阴云|0x100000|19793\n阴宅|0x100000|52547\n阴鸷|0x40000000|0\n阴骘|0x100000|0\n姻亲|0x100000|35145\n姻娅|0x100000|0\n姻缘|0x100000|20795\n茵陈|0x100000|1035\n茵茵|0x0100|852\n荫庇|0x1000|47564\n荫蔽|0x1000|43555\n荫凉|0x100000|31462\n荫翳|0x1000|53531\n音变|0x0080|50031\n音标|0x100000|40928\n音波|0x100000|46060\n音叉|0x100000|1010\n音长|0x0080|1119\n音程|0x100000|47247\n音带|0x100000|45458\n音调|0x100000|16252\n音读|0x100000|1088\n音段|0x100000|0\n音儿|0x100000|0\n音分|0x0080|1292\n音符|0x100000|15236\n音高|0x100000|36235\n音轨|0x0080|594\n音耗|0x100000|0\n音画|0x0000|47248\n音阶|0x100000|25058\n音节|0x100000|16314\n音孔|0x0080|0\n音控|0x0000|55032\n音乐|0x100000|880\n音量|0x100000|24097\n音律|0x100000|32451\n音名|0x100000|1162\n音频|0x100000|494\n音品|0x100000|1210\n音强|0x100000|1254\n音区|0x100000|51655\n音容|0x100000|42090\n音色|0x100000|20557\n音素|0x100000|991\n音速|0x100000|40691\n音位|0x100000|396\n音问|0x100000|1143\n音息|0x0080|0\n音系|0x0000|41842\n音隙|0x0080|0\n音箱|0x100000|27900\n音响|0x100000|9630\n音像|0x100000|6064\n音效|0x100000|632\n音信|0x100000|26094\n音型|0x100000|1056\n音序|0x100000|54055\n音讯|0x100000|26020\n音义|0x100000|1022\n音译|0x1000|21694\n音域|0x100000|38804\n音源|0x100000|850\n音韵|0x100000|25675\n音障|0x100000|1120\n音值|0x100000|1205\n音质|0x100000|36073\n音缀|0x0008|1360\n音准|0x100000|952\n殷富|0x40000000|53529\n殷红|0x100000|796\n殷鉴|0x100000|37643\n殷门|0x0040|0\n殷切|0x40000000|11832\n殷勤|0x40000000|12014\n殷商|0x4000|926\n殷实|0x40000000|18411\n殷墟|0x0040|16158\n殷殷|0x0100|21131\n殷忧|0x100000|0\n殷周|0x4000|1061\n氤氲|0x40000000|25676\n喑哑|0x40000000|37644\n溵溜|0x0008|0\n吟唱|0x1000|21604\n吟哦|0x1000|39206\n吟诗|0x1000|26095\n吟诵|0x1000|25528\n吟咏|0x1000|26934\n狺狺|0x80000|47561\n寅时|0x4000|50800\n淫辞|0x100000|0\n淫荡|0x40000000|30567\n淫妇|0x100000|34552\n淫棍|0x100000|54056\n淫画|0x100000|0\n淫秽|0x40000000|9541\n淫贱|0x40000000|938\n淫乐|0x100000|1008\n淫乱|0x1000|36918\n淫媒|0x0000|371\n淫靡|0x40000000|1043\n淫巧|0x0000|52548\n淫色|0x100000|434\n淫书|0x100000|51213\n淫水|0x100000|523\n淫威|0x100000|32712\n淫猥|0x40000000|51214\n淫邪|0x40000000|981\n淫亵|0x40000000|53530\n淫穴|0x100000|433\n淫逸|0x40000000|1122\n淫雨|0x100000|45165\n淫欲|0x100000|44289\n淫贼|0x100000|855\n银白|0x100000|25738\n银板|0x0080|0\n银包|0x0008|1418\n银杯|0x100000|37273\n银币|0x100000|30227\n银箔|0x100000|1050\n银川|0x0040|6166\n银带|0x100000|1081\n银弹|0x100000|1024\n银碟|0x100000|1255\n银锭|0x100000|45162\n银盾|0x0080|1072\n银耳|0x100000|35300\n银发|0x100000|26935\n银粉|0x100000|48208\n银根|0x100000|31240\n银冠|0x100000|1106\n银光|0x100000|766\n银汉|0x100000|922\n银号|0x100000|39208\n银河|0x100000|15111\n银红|0x100000|54591\n银狐|0x100000|46942\n银湖|0x0040|1424\n银桦|0x100000|1132\n银黄|0x0080|1078\n银灰|0x100000|38016\n银婚|0x100000|50421\n银奖|0x100000|22382\n银匠|0x100000|19107\n银镜|0x0008|1047\n银筷|0x0080|0\n银矿|0x100000|46341\n银两|0x100000|31361\n银亮|0x40000000|987\n银铃|0x0000|34718\n银楼|0x100000|54592\n银苗|0x0080|0\n银幕|0x100000|12474\n银牌|0x100000|10023\n银票|0x100000|43332\n银屏|0x100000|15868\n银器|0x100000|33060\n银钱|0x100000|22608\n银色|0x100000|17469\n银杉|0x0000|50033\n银蛇|0x100000|943\n银饰|0x0000|42091\n银鼠|0x100000|1141\n银丝|0x0080|1339\n银滩|0x100000|477\n银条|0x100000|390\n银团|0x100000|1016\n银行|0x100000|921\n银杏|0x100000|14017\n银须|0x0000|49670\n银盐|0x100000|1094\n银燕|0x100000|43084\n银洋|0x100000|33994\n银鹰|0x100000|1542\n银鱼|0x100000|33347\n银元|0x100000|17906\n银圆|0x100000|1047\n银针|0x100000|38805\n银纸|0x0008|0\n银质|0x20000000|44041\n银朱|0x100000|1231\n银装|0x0000|45164\n银子|0x100000|7767\n银座|0x0080|1229\n鄞县|0x0040|1438\n夤缘|0x1000|1134\n龈瓣|0x0080|0\n龈谷|0x0080|0\n龈交|0x0008|0\n龈炎|0x0080|0\n引爆|0x1000|18412\n引柴|0x100000|0\n引产|0x1000|41843\n引出|0x1000|687\n引导|0x1000|1596\n引得|0x100000|713\n引动|0x1000|37820\n引逗|0x1000|42594\n引渡|0x1000|11382\n引发|0x1000|3333\n引航|0x1000|47562\n引号|0x100000|39429\n引河|0x100000|1178\n引火|0x1000|33850\n引见|0x1000|28068\n引荐|0x1000|32951\n引脚|0x0000|535\n引进|0x1000|1838\n引颈|0x1000|33709\n引咎|0x1000|42345\n引开|0x0000|529\n引来|0x1000|600\n引力|0x100000|14186\n引领|0x1000|556\n引流|0x1000|38017\n引路|0x1000|15411\n引论|0x100000|48209\n引起|0x1000|502\n引桥|0x100000|39016\n引擎|0x100000|20037\n引燃|0x1000|34417\n引入|0x1000|4311\n引申|0x1000|24992\n引述|0x1000|27578\n引水|0x1000|11277\n引退|0x1000|30010\n引文|0x100000|24859\n引物|0x100000|1083\n引线|0x100000|26855\n引向|0x1000|9442\n引信|0x100000|42595\n引言|0x100000|23964\n引以|0x8000000|907\n引用|0x1000|7584\n引诱|0x1000|11944\n引语|0x100000|46342\n引证|0x1000|28684\n引致|0x1000|39641\n引种|0x1000|16979\n引资|0x1000|12879\n引子|0x100000|28887\n引自|0x0000|29807\n引座|0x0000|54593\n吲哚|0x100000|978\n饮茶|0x1000|751\n饮弹|0x1000|52093\n饮恨|0x1000|37274\n饮酒|0x1000|10409\n饮料|0x100000|6795\n饮马|0x0000|36400\n饮片|0x100000|27977\n饮品|0x100000|24538\n饮泣|0x1000|35604\n饮食|0x100000|5134\n饮水|0x100000|611\n饮宴|0x100000|50801\n饮用|0x1000|10298\n饮誉|0x1000|39430\n饮子|0x100000|1251\n隐白|0x0008|0\n隐蔽|0x1000|9088\n隐避|0x1000|54057\n隐藏|0x1000|7664\n隐遁|0x1000|45166\n隐伏|0x1000|30121\n隐睾|0x100000|1107\n隐含|0x1000|21549\n隐患|0x100000|4589\n隐讳|0x1000|30994\n隐晦|0x40000000|36567\n隐疾|0x100000|51657\n隐居|0x1000|20637\n隐瞒|0x1000|8671\n隐没|0x1000|26585\n隐秘|0x100000|16545\n隐密|0x0008|1330\n隐名|0x0000|423\n隐匿|0x1000|18731\n隐情|0x100000|23045\n隐然|0x0100|961\n隐忍|0x1000|25305\n隐射|0x1000|382\n隐身|0x1000|25458\n隐士|0x100000|24209\n隐私|0x100000|11861\n隐痛|0x100000|28509\n隐退|0x1000|36399\n隐现|0x1000|29695\n隐形|0x1000|20681\n隐性|0x100000|19650\n隐血|0x100000|1141\n隐逸|0x100000|38807\n隐隐|0x8000000|8644\n隐映|0x1000|1205\n隐忧|0x100000|22709\n隐语|0x100000|28888\n隐喻|0x1000|29164\n隐约|0x8000000|11499\n隐者|0x100000|865\n隐衷|0x100000|40271\n瘾头|0x100000|48212\n印本|0x100000|33710\n印鼻|0x100000|0\n印次|0x100000|664\n印错|0x0000|393\n印度|0x0040|1383\n印儿|0x0000|41845\n印发|0x1000|8595\n印盒|0x100000|1159\n印痕|0x100000|28510\n印花|0x100000|16412\n印迹|0x100000|802\n印记|0x100000|18413\n印件|0x0000|45167\n印鉴|0x100000|36568\n印刻|0x0000|50034\n印模|0x0000|411\n印尼|0x0040|4286\n印泥|0x100000|47249\n印纽|0x100000|0\n印欧|0x0008|1017\n印谱|0x100000|1049\n印染|0x1000|20294\n印色|0x100000|55033\n印绶|0x100000|1067\n印数|0x100000|28329\n印刷|0x1000|5780\n印台|0x100000|966\n印堂|0x100000|42596\n印纹|0x100000|1151\n印玺|0x100000|53047\n印象|0x100000|1699\n印像|0x0008|811\n印信|0x100000|38018\n印行|0x1000|18602\n印油|0x100000|55034\n印有|0x1000|735\n印张|0x100000|47879\n印章|0x100000|10718\n印证|0x1000|12381\n印支|0x0008|1142\n印制|0x1000|9723\n印子|0x100000|34418\n应变|0x100000|11915\n应承|0x1000|21047\n应城|0x0040|1502\n应酬|0x100000|9443\n应从|0x1000|13961\n应答|0x1000|22247\n应当|0x1000|326\n应得|0x1000|17368\n应敌|0x1000|49308\n应对|0x1000|4488\n应分|0x100000|41379\n应否|0x0000|37275\n应付|0x1000|5256\n应该|0x1000|191\n应和|0x1000|35749\n应激|0x1000|860\n应急|0x1000|4753\n应季|0x0000|55539\n应价|0x1000|17\n应接|0x1000|33597\n应届|0x20000000|13205\n应景|0x1000|31927\n应举|0x1000|1113\n应考|0x1000|32452\n应力|0x100000|14563\n应卯|0x1000|0\n应门|0x1000|52549\n应募|0x1000|43558\n应诺|0x1000|46632\n应聘|0x1000|14739\n应声|0x1000|15112\n应时|0x1000|12993\n应市|0x1000|15197\n应试|0x1000|14400\n应收|0x1000|795\n应手|0x40000000|28330\n应诉|0x1000|13711\n应为|0x1000|678\n应县|0x0040|1518\n应许|0x1000|42597\n应选|0x1000|1477\n应验|0x1000|24152\n应邀|0x1000|5977\n应用|0x1000|1339\n应有|0x1000|551\n应予|0x1000|845\n应约|0x1000|952\n应允|0x1000|18164\n应运|0x1000|15803\n应战|0x1000|22248\n应招|0x1000|47565\n应召|0x1000|30344\n应者|0x100000|951\n应诊|0x1000|47251\n应征|0x1000|15537\n应徵|0x1000|914\n应制|0x100000|1046\n英磅|0x100000|1012\n英镑|0x100000|15031\n英币|0x0080|0\n英才|0x100000|16354\n英超|0x100000|587\n英尺|0x20000|21407\n英雌|0x0008|0\n英寸|0x20000|13389\n英打|0x0008|0\n英德|0x0040|1341\n英吨|0x0080|0\n英法|0x0008|1341\n英方|0x100000|996\n英国|0x0040|723\n英汉|0x0080|671\n英豪|0x100000|32330\n英华|0x0020|1278\n英魂|0x100000|38019\n英杰|0x100000|35452\n英军|0x100000|652\n英俊|0x40000000|12220\n英里|0x20000|19208\n英哩|0x0080|0\n英烈|0x100000|17621\n英灵|0x100000|26790\n英伦|0x0040|1115\n英名|0x100000|27978\n英明|0x40000000|12060\n英模|0x100000|14231\n英亩|0x20000|30874\n英年|0x4000|53532\n英气|0x100000|30343\n英钱|0x0080|0\n英山|0x0040|1498\n英石|0x0080|1093\n英士|0x100000|1151\n英式|0x20000000|759\n英挺|0x40000000|914\n英伟|0x40000000|979\n英文|0x0008|4155\n英武|0x40000000|21046\n英雄|0x100000|1090\n英寻|0x0080|1\n英勇|0x40000000|6078\n英语|0x0008|3033\n英制|0x100000|54058\n英主|0x100000|2\n英姿|0x100000|21831\n莺谷|0x0040|1410\n莺语|0x100000|1095\n婴儿|0x100000|4856\n婴孩|0x100000|23725\n嘤嘤|0x80000|25170\n缨帽|0x100000|1537\n缨子|0x100000|48214\n罂粟|0x100000|16835\n樱草|0x100000|1010\n樱花|0x100000|17188\n樱井|0x0080|1459\n樱桃|0x100000|12185\n璎珞|0x100000|45763\n鹦哥|0x100000|37276\n鹦鹉|0x100000|16355\n膺品|0x0000|368\n膺选|0x1000|0\n鹰架|0x0008|0\n鹰派|0x0008|1480\n鹰犬|0x100000|38186\n鹰隼|0x100000|42598\n鹰潭|0x0040|799\n鹰眼|0x0000|513\n鹰洋|0x100000|50422\n鹰爪|0x100000|44567\n迎宾|0x1000|705\n迎春|0x100000|9386\n迎风|0x1000|13498\n迎合|0x1000|11106\n迎候|0x1000|20682\n迎击|0x1000|27753\n迎接|0x1000|2259\n迎客|0x1000|789\n迎来|0x1000|534\n迎面|0x1000|8783\n迎亲|0x1000|32332\n迎娶|0x1000|39209\n迎送|0x1000|26370\n迎头|0x8000000|25459\n迎香|0x0008|0\n迎新|0x1000|26502\n迎迓|0x1000|50423\n迎战|0x1000|9824\n茔地|0x100000|0\n盈江|0x0040|993\n盈眶|0x1000|957\n盈亏|0x100000|19181\n盈利|0x1000|6729\n盈满|0x1000|874\n盈门|0x0000|27502\n盈溢|0x1000|1019\n盈盈|0x0100|18756\n盈余|0x100000|17401\n盈月|0x100000|1104\n荥经|0x0040|1060\n荥阳|0x0040|1315\n荧光|0x100000|17030\n荧惑|0x40000000|1023\n荧幕|0x0008|52094\n荧屏|0x100000|10037\n荧荧|0x1000|911\n莹润|0x40000000|968\n莹石|0x0008|992\n莹莹|0x0000|28427\n萤光|0x100000|44568\n萤火|0x100000|37646\n萤幕|0x100000|735\n萤石|0x100000|51658\n营办|0x1000|1159\n营部|0x100000|38020\n营长|0x100000|7867\n营地|0x100000|12174\n营队|0x100000|1017\n营房|0x100000|15340\n营工|0x100000|32840\n营火|0x100000|989\n营妓|0x0080|0\n营建|0x1000|26303\n营救|0x1000|10980\n营具|0x100000|2\n营口|0x0040|1098\n营垒|0x100000|25460\n营力|0x0080|1300\n营利|0x1000|16046\n营盘|0x100000|24412\n营区|0x100000|17165\n营山|0x0080|1005\n营缮|0x0008|1138\n营生|0x100000|21285\n营私|0x1000|34883\n营销|0x1000|4716\n营养|0x100000|2681\n营业|0x1000|4712\n营运|0x1000|10514\n营造|0x1000|2988\n营寨|0x100000|27085\n营帐|0x100000|38021\n萦怀|0x1000|50035\n萦回|0x1000|43085\n萦绕|0x1000|18260\n萦系|0x1000|1150\n萦纡|0x1000|1115\n楹联|0x100000|29165\n潆洄|0x1000|1226\n蝇拍|0x100000|55841\n蝇头|0x20000000|40692\n蝇子|0x100000|48215\n赢得|0x1000|2566\n赢家|0x100000|33467\n赢利|0x1000|6729\n赢面|0x100000|988\n赢钱|0x0000|521\n赢取|0x0008|731\n赢余|0x100000|1103\n瀛海|0x100000|971\n瀛寰|0x100000|1129\n瀛台|0x100000|383\n颍上|0x0040|1405\n颖果|0x100000|1324\n颖慧|0x40000000|1073\n颖悟|0x40000000|46943\n颖异|0x1000|0\n影霸|0x0008|489\n影本|0x100000|1033\n影壁|0x100000|24922\n影城|0x100000|774\n影带|0x0008|48216\n影帝|0x100000|50036\n影调|0x100000|987\n影碟|0x100000|31241\n影都|0x100000|888\n影后|0x100000|46344\n影迹|0x100000|0\n影集|0x100000|32952\n影剧|0x100000|20885\n影楼|0x100000|42824\n影迷|0x100000|37277\n影片|0x100000|2568\n影评|0x100000|33348\n影区|0x100000|0\n影人|0x0000|31573\n影射|0x1000|27424\n影视|0x100000|5202\n影坛|0x100000|25236\n影戏|0x100000|1097\n影响|0x1000|236\n影象|0x100000|731\n影像|0x100000|9460\n影写|0x0000|55035\n影星|0x100000|20839\n影业|0x100000|839\n影音|0x100000|476\n影印|0x1000|29068\n影院|0x100000|13550\n影展|0x100000|32953\n影子|0x100000|4601\n影踪|0x0000|38600\n瘿病|0x0008|0\n瘿瘤|0x0008|0\n映衬|0x100000|18636\n映出|0x1000|760\n映带|0x1000|0\n映入|0x1000|710\n映射|0x1000|30777\n映现|0x1000|34884\n映象|0x0008|806\n映像|0x100000|746\n映照|0x1000|15771\n硬板|0x100000|1012\n硬棒|0x40000000|1260\n硬逼|0x0000|468\n硬笔|0x100000|852\n硬币|0x100000|14693\n硬撑|0x1000|31120\n硬充|0x0000|52550\n硬碟|0x0008|1298\n硬顶|0x0008|49671\n硬度|0x100000|20719\n硬腭|0x100000|1207\n硬干|0x1000|1092\n硬膏|0x100000|1318\n硬弓|0x100000|1116\n硬功|0x100000|44290\n硬汉|0x100000|31362\n硬化|0x1000|14841\n硬话|0x0000|55540\n硬货|0x100000|1253\n硬件|0x100000|7021\n硬结|0x100000|50802\n硬壳|0x100000|888\n硬块|0x0000|475\n硬来|0x0008|2\n硬朗|0x40000000|21246\n硬铝|0x4000000|0\n硬煤|0x100000|0\n硬面|0x0008|45460\n硬木|0x100000|36401\n硬盘|0x100000|14784\n硬拼|0x1000|39210\n硬气|0x40000000|34719\n硬伤|0x0000|46345\n硬实|0x40000000|43559\n硬式|0x0008|1030\n硬是|0x8000000|8996\n硬手|0x100000|1167\n硬水|0x100000|1038\n硬说|0x1000|28585\n硬体|0x0008|585\n硬挺|0x1000|33852\n硬卧|0x100000|38022\n硬席|0x100000|55036\n硬性|0x20000000|16253\n硬要|0x0000|15136\n硬硬|0x0100|822\n硬玉|0x100000|1133\n硬仗|0x100000|24306\n硬挣|0x40000000|0\n硬脂|0x100000|871\n硬质|0x20000000|736\n硬座|0x100000|32333\n哟嗬|0x0000|47240\n佣兵|0x0000|651\n佣工|0x100000|40061\n佣金|0x100000|23778\n佣钱|0x100000|51659\n佣人|0x100000|16748\n拥抱|0x1000|7115\n拥戴|0x1000|16159\n拥堵|0x1000|17471\n拥趸|0x0008|852\n拥护|0x1000|3551\n拥挤|0x40000000|7114\n拥进|0x1000|911\n拥军|0x1000|9542\n拥立|0x0000|33349\n拥入|0x1000|756\n拥塞|0x1000|35302\n拥有|0x1000|1322\n痈疽|0x100000|53533\n痈肿|0x0008|0\n邕剧|0x100000|0\n庸才|0x100000|39432\n庸材|0x100000|1268\n庸夫|0x100000|0\n庸碌|0x40000000|37278\n庸人|0x100000|32072\n庸俗|0x40000000|10730\n庸言|0x100000|0\n庸医|0x100000|40273\n雍和|0x40000000|420\n雍容|0x40000000|26169\n雍正|0x0008|1242\n慵懒|0x40000000|32073\n壅塞|0x1000|39433\n臃肿|0x40000000|18452\n喁喁|0x1000|35015\n永安|0x0040|1067\n永葆|0x1000|804\n永备|0x0080|0\n永别|0x1000|25171\n永不|0x1000|6424\n永昌|0x0008|1216\n永城|0x0040|1482\n永川|0x0040|1170\n永春|0x0080|1275\n永磁|0x100000|1280\n永存|0x1000|30875\n永德|0x0080|1475\n永登|0x0080|1515\n永定|0x0008|1266\n永发|0x0008|1296\n永丰|0x0008|1184\n永福|0x0080|1285\n永和|0x100000|1165\n永恒|0x20000000|6349\n永徽|0x0008|1082\n永吉|0x0080|1458\n永济|0x0080|1411\n永嘉|0x0008|1171\n永靖|0x0080|1493\n永久|0x20000000|6002\n永诀|0x1000|36075\n永康|0x0040|992\n永乐|0x0008|683\n永历|0x0008|0\n永眠|0x1000|1052\n永年|0x0080|1285\n永宁|0x0008|1326\n永平|0x0008|1309\n永清|0x0040|1366\n永仁|0x0080|1525\n永善|0x0080|1018\n永生|0x1000|17056\n永胜|0x0080|1272\n永世|0x100000|26936\n永逝|0x1000|0\n永寿|0x0008|1534\n永顺|0x0080|1306\n永泰|0x100000|1229\n永新|0x0008|1250\n永兴|0x0008|1115\n永修|0x0080|993\n永远|0x8000000|745\n永州|0x0040|1155\n永驻|0x0000|33598\n甬道|0x100000|21091\n甬江|0x0080|1019\n甬路|0x100000|39834\n咏唱|0x0000|44043\n咏春|0x1000|937\n咏怀|0x1000|54596\n咏叹|0x1000|36076\n泳池|0x100000|32578\n泳道|0x100000|46346\n泳镜|0x0000|52096\n泳裤|0x100000|882\n泳帽|0x100000|55037\n泳坛|0x100000|1018\n泳衣|0x100000|38187\n泳装|0x100000|32334\n勇斗|0x1000|913\n勇夺|0x1000|764\n勇夫|0x100000|42347\n勇敢|0x40000000|3921\n勇悍|0x40000000|40062\n勇将|0x0000|50424\n勇决|0x40000000|0\n勇力|0x100000|1552\n勇猛|0x40000000|18190\n勇气|0x100000|2715\n勇士|0x100000|11340\n勇为|0x1000|1018\n勇武|0x40000000|39434\n勇毅|0x0000|52097\n勇于|0x8000000|4853\n勇者|0x100000|688\n涌潮|0x0000|49310\n涌出|0x1000|669\n涌动|0x1000|10243\n涌进|0x1000|777\n涌来|0x1000|570\n涌浪|0x100000|1126\n涌流|0x1000|23513\n涌起|0x1000|681\n涌泉|0x0008|803\n涌入|0x1000|702\n涌塞|0x0080|0\n涌上|0x1000|635\n涌现|0x1000|4634\n涌向|0x0080|556\n蛹期|0x4000|0\n踊跃|0x1000|6521\n用笔|0x1000|733\n用兵|0x1000|12304\n用材|0x0000|33995\n用餐|0x1000|16899\n用茶|0x0000|36402\n用场|0x100000|17321\n用处|0x100000|9337\n用词|0x1000|29371\n用到|0x1000|595\n用地|0x1000|656\n用典|0x1000|47253\n用电|0x1000|661\n用度|0x100000|36920\n用法|0x1000|11685\n用饭|0x1000|36236\n用房|0x1000|738\n用费|0x100000|37458\n用稿|0x100000|0\n用工|0x1000|7894\n用功|0x40000000|13962\n用光|0x100000|762\n用好|0x0000|605\n用户|0x100000|1870\n用计|0x0000|19609\n用尽|0x1000|590\n用劲|0x1000|20038\n用具|0x100000|13430\n用来|0x1000|4617\n用力|0x40000000|5394\n用量|0x100000|14168\n用料|0x1000|30667\n用命|0x1000|947\n用墨|0x1000|1027\n用脑|0x1000|34260\n用品|0x100000|4812\n用钱|0x1000|28685\n用人|0x100000|3478\n用色|0x1000|888\n用膳|0x1000|36921\n用上|0x1000|666\n用时|0x1000|708\n用事|0x1000|34885\n用手|0x0000|773\n用途|0x100000|6884\n用完|0x0000|638\n用武|0x1000|41846\n用项|0x100000|50425\n用心|0x40000000|7498\n用刑|0x1000|36237\n用药|0x1000|7907\n用以|0x8000000|8648\n用意|0x100000|9884\n用印|0x0000|38023\n用用|0x1000|507\n用友|0x0008|1206\n用于|0x1000|1639\n用语|0x100000|12260\n用纸|0x1000|687\n用字|0x100000|20886\n用作|0x1000|624\n用做|0x0000|35915\n优待|0x100000|10515\n优等|0x20000000|36922\n优点|0x100000|6541\n优抚|0x1000|19151\n优厚|0x40000000|20638\n优化|0x1000|2564\n优惠|0x1000|3076\n优价|0x0000|44292\n优良|0x40000000|2622\n优劣|0x100000|12637\n优伶|0x100000|35750\n优美|0x40000000|4292\n优盘|0x100000|55978\n优容|0x40000000|46347\n优柔|0x40000000|42825\n优生|0x1000|27662\n优胜|0x1000|26937\n优势|0x100000|1268\n优渥|0x40000000|52552\n优先|0x8000000|3658\n优闲|0x40000000|960\n优秀|0x40000000|1176\n优选|0x1000|28428\n优雅|0x40000000|11891\n优异|0x40000000|7464\n优游|0x40000000|865\n优于|0x1000|15217\n优育|0x1000|31463\n优裕|0x40000000|33350\n优遇|0x100000|50426\n优越|0x40000000|7870\n优质|0x20000000|2556\n忧沉|0x0080|0\n忧愁|0x40000000|12316\n忧烦|0x40000000|1020\n忧愤|0x40000000|35016\n忧患|0x100000|8911\n忧惧|0x1000|43086\n忧苦|0x100000|52098\n忧虑|0x40000000|6094\n忧闷|0x40000000|43334\n忧戚|0x40000000|1079\n忧容|0x100000|1190\n忧色|0x100000|981\n忧伤|0x40000000|11407\n忧思|0x100000|30345\n忧心|0x100000|23349\n忧悒|0x40000000|1125\n忧郁|0x40000000|7614\n攸关|0x1000|29372\n攸县|0x0040|1491\n呦呦|0x80000|941\n幽暗|0x40000000|18789\n幽闭|0x1000|50427\n幽草|0x100000|1011\n幽愤|0x100000|1194\n幽浮|0x1000000|994\n幽媾|0x0008|1204\n幽谷|0x100000|33061\n幽篁|0x100000|1005\n幽会|0x1000|23675\n幽魂|0x100000|44293\n幽寂|0x40000000|48950\n幽禁|0x1000|33062\n幽径|0x0000|49672\n幽静|0x40000000|14740\n幽居|0x100000|43335\n幽兰|0x100000|779\n幽丽|0x40000000|1196\n幽灵|0x100000|15459\n幽美|0x40000000|38601\n幽门|0x100000|46348\n幽眇|0x40000000|0\n幽渺|0x40000000|0\n幽明|0x100000|953\n幽冥|0x100000|50037\n幽默|0x40000000|4713\n幽僻|0x40000000|46349\n幽期|0x100000|1226\n幽情|0x100000|37279\n幽囚|0x1000|0\n幽趣|0x100000|1175\n幽深|0x40000000|20841\n幽思|0x100000|45765\n幽邃|0x40000000|52099\n幽婉|0x40000000|53534\n幽微|0x40000000|41616\n幽闲|0x40000000|795\n幽香|0x100000|28787\n幽雅|0x40000000|22190\n幽咽|0x100000|51660\n幽幽|0x0100|14806\n幽远|0x40000000|40486\n幽怨|0x100000|28687\n幽州|0x100000|887\n悠长|0x40000000|18573\n悠荡|0x1000|48951\n悠忽|0x40000000|1091\n悠久|0x40000000|5429\n悠谬|0x40000000|0\n悠然|0x40000000|17432\n悠闲|0x40000000|13243\n悠扬|0x40000000|13604\n悠悠|0x40000000|9084\n悠游|0x1000|46945\n悠远|0x40000000|22191\n悠着|0x800000|858\n尤里|0x0080|1486\n尤其|0x8000000|629\n尤甚|0x0000|27579\n尤为|0x8000000|6101\n尤物|0x100000|30995\n尤溪|0x0040|1491\n尤以|0x8000000|586\n由此|0x8000000|2236\n由得|0x0000|17855\n由来|0x100000|14842\n由是|0x10000000|847\n由头|0x100000|34887\n由于|0x10000000|220\n由衷|0x1000|7640\n犹存|0x1000|833\n犹大|0x100000|43561\n犹然|0x8000000|0\n犹如|0x1000|5644\n犹若|0x1000|1047\n犹他|0x100000|1403\n犹太|0x0008|1066\n犹疑|0x40000000|22857\n犹豫|0x40000000|6171\n犹自|0x10000000|45170\n邮包|0x100000|31574\n邮报|0x100000|800\n邮编|0x100000|18860\n邮册|0x0000|41617\n邮差|0x100000|830\n邮车|0x100000|39836\n邮船|0x100000|43800\n邮戳|0x100000|27580\n邮袋|0x100000|49673\n邮递|0x1000|29373\n邮电|0x100000|11822\n邮发|0x1000|828\n邮费|0x100000|35303\n邮购|0x1000|23466\n邮花|0x100000|1289\n邮汇|0x1000|372\n邮集|0x0000|52100\n邮寄|0x1000|13890\n邮件|0x100000|7142\n邮局|0x100000|8947\n邮路|0x100000|35454\n邮轮|0x100000|37647\n邮码|0x0000|442\n邮票|0x100000|5796\n邮品|0x0000|25934\n邮区|0x0000|383\n邮商|0x100000|1196\n邮市|0x0000|27979\n邮售|0x1000|53050\n邮坛|0x100000|0\n邮亭|0x100000|50038\n邮筒|0x100000|38188\n邮务|0x100000|1148\n邮箱|0x100000|20221\n邮展|0x100000|39211\n邮政|0x100000|5926\n邮资|0x100000|26857\n油泵|0x100000|45461\n油饼|0x100000|29808\n油驳|0x0008|1414\n油布|0x100000|31363\n油彩|0x100000|32453\n油菜|0x100000|10299\n油舱|0x0008|0\n油藏|0x100000|969\n油槽|0x0000|417\n油层|0x100000|42599\n油茶|0x100000|34720\n油车|0x100000|940\n油船|0x100000|30122\n油灯|0x100000|12672\n油坊|0x100000|26097\n油港|0x100000|1166\n油膏|0x100000|47566\n油垢|0x100000|43562\n油管|0x100000|35304\n油罐|0x100000|23837\n油光|0x40000000|24474\n油耗|0x100000|24993\n油黑|0x100000|38602\n油壶|0x100000|1026\n油花|0x100000|48218\n油滑|0x40000000|31464\n油画|0x100000|6895\n油灰|0x100000|1057\n油机|0x0008|797\n油鸡|0x100000|48953\n油迹|0x100000|51215\n油价|0x100000|623\n油煎|0x0000|465\n油脚|0x100000|0\n油井|0x100000|23838\n油锯|0x100000|1049\n油库|0x100000|26170\n油矿|0x100000|44294\n油类|0x100000|918\n油梨|0x100000|1231\n油亮|0x40000000|29911\n油料|0x100000|13945\n油篓|0x0000|51216\n油路|0x100000|24354\n油绿|0x100000|40487\n油轮|0x100000|19108\n油麦|0x100000|1000\n油门|0x100000|23249\n油苗|0x100000|1416\n油膜|0x100000|1014\n油墨|0x100000|23350\n油泥|0x100000|39837\n油腻|0x40000000|23965\n油盘|0x100000|1164\n油皮|0x4000000|0\n油品|0x0000|23201\n油粕|0x100000|1243\n油漆|0x100000|12821\n油气|0x100000|716\n油区|0x100000|31929\n油裙|0x1000000|1535\n油然|0x8000000|28153\n油砂|0x100000|1174\n油石|0x100000|978\n油饰|0x1000|51217\n油水|0x100000|20295\n油松|0x100000|30669\n油酥|0x20000000|51661\n油酸|0x100000|876\n油桃|0x100000|991\n油田|0x100000|5548\n油条|0x100000|17800\n油汀|0x0008|1118\n油桐|0x100000|43801\n油桶|0x100000|37821\n油污|0x100000|22032\n油香|0x100000|46350\n油箱|0x100000|32454\n油鞋|0x100000|1389\n油星|0x0000|53051\n油性|0x100000|42095\n油压|0x100000|828\n油烟|0x100000|20683\n油印|0x100000|28511\n油油|0x0100|746\n油渣|0x100000|54061\n油炸|0x1000|24994\n油毡|0x100000|41380\n油脂|0x100000|17402\n油纸|0x100000|42827\n油质|0x0000|41136\n油状|0x0008|1041\n油子|0x100000|42600\n油渍|0x100000|31121\n油棕|0x100000|44569\n油嘴|0x100000|44295\n柚木|0x100000|46634\n柚子|0x100000|23514\n莜麦|0x100000|50804\n铀矿|0x100000|1041\n蚰蜒|0x100000|1223\n游伴|0x100000|49312\n游标|0x100000|849\n游程|0x100000|47567\n游船|0x100000|18547\n游春|0x1000|47568\n游荡|0x1000|17472\n游动|0x1000|18523\n游方|0x1000|903\n游舫|0x100000|0\n游逛|0x1000|36238\n游过|0x0000|523\n游魂|0x100000|799\n游击|0x1000|12432\n游记|0x100000|15538\n游街|0x1000|22858\n游进|0x100000|1\n游客|0x100000|2717\n游览|0x1000|7645\n游廊|0x100000|35017\n游乐|0x1000|19506\n游离|0x1000|14897\n游历|0x1000|20523\n游猎|0x1000|34131\n游轮|0x0000|31467\n游民|0x100000|32198\n游牧|0x1000|15412\n游憩|0x1000|915\n游禽|0x100000|1285\n游人|0x100000|5915\n游士|0x100000|1136\n游手|0x1000|0\n游水|0x1000|35018\n游说|0x1000|16804\n游丝|0x100000|28587\n游艇|0x100000|24995\n游玩|0x1000|14498\n游戏|0x100000|2887\n游隙|0x100000|1196\n游侠|0x100000|40063\n游乡|0x1000|0\n游兴|0x100000|33996\n游星|0x0080|1\n游行|0x1000|5282\n游学|0x1000|45462\n游医|0x100000|36239\n游移|0x1000|25740\n游弋|0x1000|27086\n游艺|0x100000|21333\n游泳|0x100000|4014\n游勇|0x100000|44044\n游游|0x1000|838\n游鱼|0x0000|34261\n游园|0x1000|17082\n游资|0x100000|35305\n游子|0x100000|19688\n游踪|0x100000|993\n游走|0x1000|599\n鱿鱼|0x100000|31466\n友爱|0x40000000|12031\n友邦|0x100000|28240\n友党|0x100000|0\n友好|0x40000000|1690\n友军|0x100000|34721\n友邻|0x100000|44296\n友朋|0x100000|935\n友情|0x100000|9924\n友人|0x100000|6942\n友善|0x40000000|15341\n友协|0x100000|1005\n友谊|0x100000|1880\n有碍|0x1000|27902\n有悖|0x1000|910\n有变|0x1000|14499\n有别|0x1000|15615\n有病|0x0000|11065\n有偿|0x1000|8454\n有成|0x1000|14289\n有错|0x0000|619\n有待|0x1000|6629\n有道|0x1000|596\n有得|0x0000|11654\n有德|0x0000|509\n有的|0x40000000|302\n有底|0x1000|42096\n有点|0x8000000|491\n有毒|0x1000|8048\n有度|0x1000|807\n有法|0x1000|864\n有方|0x1000|22192\n有份|0x0000|30671\n有否|0x8000000|763\n有福|0x40000000|570\n有感|0x1000|18603\n有功|0x1000|10013\n有关|0x1000|348\n有光|0x40000000|554\n有轨|0x20000000|932\n有鬼|0x1000|22655\n有害|0x40000000|4790\n有恒|0x1000|33201\n有机|0x8000000|2635\n有加|0x1000|688\n有假|0x1000|831\n有奖|0x1000|26938\n有角|0x0000|449\n有节|0x1000|863\n有劲|0x40000000|17959\n有旧|0x1000|466\n有救|0x1000|27820\n有据|0x0000|19294\n有空|0x1000|498\n有愧|0x1000|26503\n有赖|0x1000|18075\n有劳|0x1000|38190\n有礼|0x0000|15616\n有理|0x40000000|8548\n有力|0x40000000|1467\n有利|0x40000000|2519\n有脸|0x0000|18915\n有了|0x1000|949\n有料|0x0008|1\n有鳞|0x0000|378\n有零|0x0000|30996\n有名|0x40000000|4636\n有年|0x8000000|20596\n有盼|0x0000|42097\n有期|0x20000000|745\n有气|0x40000000|16527\n有钱|0x40000000|12737\n有情|0x40000000|12293\n有顷|0x8000000|44046\n有请|0x1000|38808\n有穷|0x0008|1\n有趣|0x40000000|4385\n有权|0x1000|496\n有染|0x1000|44297\n有人|0x1000|471\n有如|0x1000|8420\n有若|0x0000|22249\n有色|0x20000000|573\n有伤|0x1000|751\n有神|0x1000|23839\n有生|0x1000|36077\n有声|0x1000|15440\n有失|0x1000|683\n有时|0x8000000|1016\n有识|0x40000000|13244\n有事|0x1000|5867\n有售|0x1000|787\n有数|0x1000|15198\n有司|0x100000|508\n有损|0x1000|687\n有所|0x8000000|1184\n有望|0x8000000|6573\n有为|0x1000|14336\n有违|0x1000|637\n有味|0x40000000|717\n有无|0x0008|6602\n有误|0x1000|677\n有喜|0x1000|36569\n有戏|0x1000|32843\n有闲|0x0000|18487\n有线|0x20000000|590\n有限|0x1000|2379\n有效|0x40000000|1055\n有些|0x10000|275\n有心|0x1000|30779\n有形|0x20000000|11332\n有幸|0x8000000|10152\n有性|0x20000000|801\n有序|0x1000|3871\n有言|0x1000|845\n有氧|0x20000000|748\n有益|0x40000000|3730\n有意|0x1000|4187\n有用|0x100000|7590\n有余|0x1000|10041\n有缘|0x1000|19437\n有源|0x20000000|807\n有约|0x1000|674\n有辙|0x0000|55039\n有志|0x1000|673\n有致|0x1000|767\n有种|0x1000|24611\n有助|0x1000|549\n有着|0x1000|1450\n有罪|0x1000|681\n酉时|0x4000|52553\n黝暗|0x0000|381\n黝黑|0x1000|18677\n又称|0x1000|667\n又及|0x10000000|40488\n又名|0x100000|638\n又说|0x0000|703\n又一|0x400000|698\n右半|0x2000000|994\n右臂|0x100000|778\n右边|0x2000000|9488\n右侧|0x2000000|14587\n右端|0x0000|443\n右耳|0x100000|846\n右方|0x2000000|39840\n右肺|0x100000|1095\n右键|0x0000|811\n右脚|0x100000|708\n右肋|0x0000|52554\n右路|0x100000|784\n右面|0x2000000|29912\n右脑|0x100000|849\n右派|0x100000|6872\n右倾|0x1000|16177\n右上|0x2000000|611\n右手|0x100000|535\n右首|0x2000000|41848\n右腿|0x100000|786\n右卫|0x100000|1018\n右下|0x2000000|724\n右舷|0x100000|1091\n右行|0x0000|54062\n右旋|0x0000|470\n右眼|0x100000|769\n右翼|0x100000|7550\n右玉|0x0080|1033\n右转|0x0000|554\n幼齿|0x0008|482\n幼虫|0x100000|11658\n幼雏|0x0080|55040\n幼儿|0x100000|9345\n幼根|0x0080|0\n幼功|0x100000|1332\n幼虎|0x100000|1139\n幼教|0x100000|31930\n幼君|0x0080|1310\n幼林|0x100000|29589\n幼龄|0x0080|1062\n幼苗|0x100000|17106\n幼木|0x0080|0\n幼嫩|0x40000000|896\n幼年|0x4000|13245\n幼女|0x100000|30347\n幼犬|0x0080|537\n幼弱|0x0000|39841\n幼师|0x100000|47254\n幼时|0x4000|23966\n幼兽|0x0080|391\n幼树|0x100000|1095\n幼体|0x100000|33063\n幼童|0x100000|31122\n幼小|0x40000000|15050\n幼畜|0x100000|55041\n幼芽|0x100000|39842\n幼鱼|0x100000|1107\n幼稚|0x40000000|9622\n幼株|0x0080|1288\n幼子|0x100000|29070\n佑助|0x1000|1247\n囿于|0x1000|20296\n宥恕|0x0080|0\n诱逼|0x1000|1156\n诱变|0x1000|1048\n诱捕|0x1000|44048\n诱出|0x0000|409\n诱导|0x100000|13499\n诱敌|0x1000|30568\n诱饵|0x100000|19913\n诱发|0x1000|10856\n诱供|0x1000|49314\n诱拐|0x1000|48220\n诱惑|0x1000|5891\n诱奸|0x1000|45463\n诱降|0x1000|40930\n诱骗|0x1000|25384\n诱迫|0x0000|54063\n诱人|0x40000000|10427\n诱杀|0x1000|32455\n诱使|0x1000|25385\n诱陷|0x0080|0\n诱胁|0x1000|0\n诱掖|0x1000|0\n诱因|0x100000|21884\n诱引|0x1000|49676\n诱致|0x1000|1152\n釉料|0x100000|988\n釉面|0x100000|926\n釉色|0x100000|1047\n釉陶|0x100000|54064\n釉质|0x100000|55042\n釉子|0x100000|55043\n鼬鼠|0x100000|1089\n纡回|0x40000000|0\n纡子|0x0008|0\n迂腐|0x40000000|29590\n迂缓|0x40000000|46948\n迂回|0x1000|17907\n迂阔|0x40000000|48577\n迂路|0x0040|0\n迂论|0x0000|52555\n迂曲|0x40000000|54601\n迂儒|0x40000000|0\n迂执|0x40000000|0\n迂拙|0x40000000|1350\n淤灌|0x1000|0\n淤积|0x1000|17473\n淤泥|0x100000|17833\n淤塞|0x1000|39435\n淤血|0x100000|40274\n淤滞|0x1000|1098\n渝北|0x0080|1171\n渝中|0x0080|1102\n瘀脓|0x0008|0\n瘀伤|0x0000|401\n瘀血|0x0008|40489\n于此|0x0000|679\n于都|0x0040|1493\n于飞|0x1000|1006\n于今|0x8000000|25238\n于是|0x10000000|451\n于思|0x100000|1096\n于田|0x0040|1023\n于阗|0x100000|1062\n予以|0x1000|2208\n余波|0x100000|26791\n余党|0x100000|36923\n余地|0x100000|8841\n余毒|0x100000|47255\n余额|0x100000|6454\n余风|0x100000|53535\n余干|0x0040|1547\n余割|0x100000|1300\n余光|0x0000|31931\n余晖|0x100000|35019\n余辉|0x100000|772\n余悸|0x100000|43088\n余家|0x20000|1158\n余江|0x0040|1550\n余角|0x100000|1200\n余烬|0x100000|39642\n余款|0x100000|33064\n余力|0x100000|29913\n余利|0x0080|52556\n余粮|0x100000|18861\n余量|0x100000|960\n余留|0x1000|1008\n余氯|0x0000|434\n余年|0x4000|14626\n余孽|0x100000|32844\n余钱|0x100000|39017\n余切|0x100000|1173\n余庆|0x0080|1530\n余缺|0x100000|33714\n余热|0x100000|20488\n余生|0x100000|24860\n余剩|0x1000|48221\n余数|0x100000|939\n余头|0x100000|1084\n余外|0x10000000|0\n余威|0x100000|37822\n余味|0x100000|39212\n余温|0x100000|791\n余暇|0x100000|38191\n余下|0x1000|16088\n余弦|0x100000|965\n余香|0x100000|792\n余兴|0x100000|37462\n余蓄|0x100000|1540\n余姚|0x0040|1048\n余音|0x100000|26587\n余裕|0x0080|1045\n余韵|0x100000|39213\n余震|0x100000|29914\n余值|0x100000|0\n於菟|0x100000|1241\n盂县|0x0040|1539\n鱼白|0x100000|1155\n鱼鳔|0x100000|1116\n鱼叉|0x100000|40490\n鱼池|0x100000|20558\n鱼翅|0x100000|24809\n鱼虫|0x100000|39436\n鱼唇|0x100000|1087\n鱼刺|0x100000|37648\n鱼道|0x100000|1\n鱼肚|0x100000|43089\n鱼儿|0x100000|613\n鱼饵|0x100000|44571\n鱼贩|0x100000|1086\n鱼粉|0x100000|37282\n鱼竿|0x100000|879\n鱼缸|0x100000|30228\n鱼钩|0x100000|37823\n鱼狗|0x100000|1210\n鱼骨|0x100000|899\n鱼鼓|0x100000|1244\n鱼贯|0x8000000|29277\n鱼花|0x100000|55044\n鱼际|0x100000|1145\n鱼胶|0x100000|1131\n鱼具|0x100000|969\n鱼口|0x100000|1132\n鱼雷|0x100000|25677\n鱼类|0x100000|7974\n鱼梁|0x0008|1128\n鱼鳞|0x100000|25796\n鱼龙|0x100000|921\n鱼篓|0x100000|1045\n鱼卵|0x100000|46351\n鱼苗|0x100000|22766\n鱼腩|0x0008|925\n鱼排|0x0008|1007\n鱼皮|0x0000|36078\n鱼片|0x100000|763\n鱼漂|0x100000|51662\n鱼鳍|0x100000|1053\n鱼群|0x100000|27425\n鱼肉|0x100000|18016\n鱼生|0x0008|1446\n鱼市|0x100000|1007\n鱼水|0x100000|22033\n鱼松|0x100000|1116\n鱼台|0x0080|1486\n鱼汤|0x100000|831\n鱼塘|0x100000|16805\n鱼头|0x100000|748\n鱼丸|0x0008|812\n鱼网|0x100000|850\n鱼尾|0x100000|786\n鱼虾|0x100000|819\n鱼鲜|0x100000|1114\n鱼形|0x0040|991\n鱼汛|0x100000|54065\n鱼雁|0x100000|0\n鱼秧|0x100000|1536\n鱼腰|0x0008|0\n鱼业|0x0000|374\n鱼鹰|0x100000|43090\n鱼油|0x100000|40275\n鱼跃|0x100000|38025\n鱼种|0x100000|24539\n鱼子|0x100000|45464\n俞允|0x1000|0\n娱乐|0x1000|3018\n娱悦|0x0000|53053\n谀辞|0x100000|0\n渔霸|0x100000|54066\n渔叉|0x100000|1227\n渔产|0x100000|1181\n渔场|0x100000|20753\n渔船|0x100000|7710\n渔村|0x100000|20111\n渔夫|0x100000|32335\n渔父|0x100000|973\n渔妇|0x100000|52102\n渔港|0x100000|24475\n渔歌|0x100000|38026\n渔工|0x100000|1115\n渔鼓|0x100000|52103\n渔户|0x100000|1190\n渔会|0x100000|0\n渔火|0x100000|38403\n渔家|0x100000|28589\n渔具|0x100000|35605\n渔捞|0x100000|1263\n渔利|0x100000|36240\n渔猎|0x1000|40276\n渔轮|0x100000|42101\n渔民|0x100000|7033\n渔区|0x100000|33065\n渔人|0x100000|37108\n渔色|0x1000|1\n渔网|0x100000|30780\n渔翁|0x100000|37463\n渔乡|0x100000|1057\n渔汛|0x100000|54065\n渔业|0x100000|5060\n渔政|0x0000|22557\n渔舟|0x100000|39643\n愉快|0x40000000|3143\n愉悦|0x40000000|11833\n揄扬|0x1000|0\n逾常|0x1000|54603\n逾分|0x40000000|0\n逾期|0x1000|11980\n逾越|0x1000|22082\n愚笨|0x40000000|33066\n愚痴|0x0000|464\n愚蠢|0x40000000|10048\n愚钝|0x40000000|38027\n愚公|0x0080|1470\n愚见|0x100000|40277\n愚陋|0x40000000|50807\n愚鲁|0x40000000|52104\n愚昧|0x40000000|10751\n愚氓|0x100000|1183\n愚蒙|0x40000000|52559\n愚民|0x100000|29809\n愚弄|0x1000|21500\n愚懦|0x40000000|1318\n愚人|0x100000|34132\n愚顽|0x40000000|44049\n愚妄|0x40000000|54067\n愚味|0x40000000|1125\n愚勇|0x0080|1169\n愚直|0x40000000|1265\n愚忠|0x40000000|44050\n愚拙|0x40000000|48579\n榆荚|0x100000|1066\n榆林|0x100000|1203\n榆木|0x100000|1035\n榆钱|0x100000|42603\n榆社|0x0080|996\n榆树|0x100000|16413\n榆中|0x0080|1520\n瑜伽|0x100000|40064\n瑜珈|0x100000|40064\n虞城|0x0080|1458\n虞舜|0x0080|0\n舆论|0x100000|2389\n舆情|0x100000|30781\n舆图|0x100000|44877\n与此|0x0000|766\n与否|0x1000|9203\n与格|0x0000|418\n与共|0x1000|807\n与会|0x1000|3469\n与门|0x0008|0\n与其|0x10000000|7071\n与闻|0x1000|39214\n与之|0x0000|713\n伛偻|0x1000|1096\n宇航|0x100000|19610\n宇内|0x8000|912\n宇文|0x0080|595\n宇宙|0x100000|3734\n羽翅|0x100000|1039\n羽缎|0x100000|1317\n羽冠|0x100000|1151\n羽化|0x1000|35020\n羽毛|0x100000|10906\n羽绒|0x100000|26098\n羽纱|0x100000|53537\n羽扇|0x100000|49315\n羽士|0x100000|1141\n羽书|0x100000|1185\n羽坛|0x100000|32456\n羽衣|0x0080|849\n羽翼|0x100000|23144\n羽轴|0x0080|1365\n雨布|0x100000|38404\n雨带|0x0000|31809\n雨滴|0x100000|685\n雨点|0x100000|15847\n雨果|0x0008|1291\n雨季|0x4000|14461\n雨脚|0x100000|51219\n雨景|0x100000|53054\n雨具|0x100000|44879\n雨涝|0x100000|1286\n雨量|0x100000|18103\n雨林|0x100000|29278\n雨露|0x100000|20222\n雨帽|0x0008|53055\n雨幕|0x100000|42102\n雨棚|0x100000|960\n雨蓬|0x100000|984\n雨披|0x100000|50430\n雨前|0x100000|34723\n雨情|0x100000|43337\n雨区|0x100000|44880\n雨伞|0x100000|17369\n雨声|0x100000|18678\n雨势|0x100000|46062\n雨刷|0x0000|49316\n雨水|0x100000|7041\n雨丝|0x100000|28889\n雨凇|0x100000|0\n雨天|0x100000|15638\n雨蛙|0x100000|1243\n雨雾|0x100000|32074\n雨鞋|0x100000|43091\n雨靴|0x100000|45171\n雨雪|0x100000|17322\n雨燕|0x100000|49317\n雨夜|0x100000|670\n雨衣|0x100000|18679\n雨意|0x100000|48955\n雨云|0x0080|42103\n雨珠|0x100000|900\n禹城|0x0040|992\n禹州|0x0040|1274\n语病|0x100000|39843\n语词|0x100000|25462\n语调|0x100000|10635\n语法|0x100000|9531\n语感|0x100000|43092\n语汇|0x100000|19720\n语境|0x100000|18604\n语句|0x100000|18380\n语料|0x100000|51220\n语流|0x0000|40696\n语录|0x100000|15013\n语气|0x100000|7098\n语群|0x0008|0\n语塞|0x1000|26651\n语声|0x100000|899\n语丝|0x0008|1538\n语素|0x100000|1094\n语速|0x100000|46352\n语态|0x100000|927\n语体|0x100000|43338\n语委|0x100000|1050\n语文|0x100000|7121\n语系|0x100000|792\n语序|0x100000|55543\n语言|0x100000|705\n语义|0x100000|15256\n语意|0x100000|28512\n语音|0x100000|7639\n语源|0x100000|42604\n语云|0x1000|1\n语种|0x100000|24671\n语族|0x100000|995\n窳败|0x40000000|0\n窳惰|0x40000000|0\n窳劣|0x40000000|0\n玉杯|0x0008|1053\n玉帛|0x100000|25860\n玉成|0x1000|37284\n玉带|0x100000|26099\n玉帝|0x0008|1357\n玉雕|0x100000|32336\n玉峰|0x0008|1398\n玉佛|0x0080|1493\n玉壶|0x100000|872\n玉环|0x0080|1152\n玉匠|0x100000|0\n玉茭|0x100000|1293\n玉洁|0x40000000|1466\n玉兰|0x100000|16836\n玉立|0x1000|39644\n玉林|0x0040|2\n玉门|0x100000|1338\n玉米|0x100000|3284\n玉女|0x100000|40697\n玉盘|0x100000|880\n玉佩|0x100000|46951\n玉器|0x100000|22250\n玉泉|0x100000|1182\n玉容|0x100000|949\n玉乳|0x100000|461\n玉色|0x100000|997\n玉山|0x0040|1194\n玉石|0x100000|21605\n玉食|0x100000|0\n玉手|0x100000|585\n玉树|0x0080|1309\n玉髓|0x0008|458\n玉碎|0x1000|42349\n玉堂|0x0080|1373\n玉体|0x100000|44573\n玉田|0x0080|1363\n玉兔|0x100000|39844\n玉腿|0x100000|542\n玉溪|0x0040|1138\n玉玺|0x100000|27821\n玉液|0x100000|41139\n玉音|0x100000|1111\n玉宇|0x100000|944\n玉簪|0x100000|37824\n玉照|0x100000|45172\n玉枕|0x0008|988\n玉质|0x100000|985\n玉竹|0x100000|930\n玉镯|0x0080|35917\n驭手|0x100000|53538\n驭者|0x100000|0\n吁请|0x1000|28688\n吁求|0x1000|0\n吁吁|0x40000000|33841\n芋艿|0x100000|1000\n芋头|0x100000|34556\n育才|0x1000|16254\n育成|0x1000|892\n育雏|0x1000|47570\n育儿|0x1000|32580\n育肥|0x1000|27822\n育林|0x1000|28513\n育龄|0x100000|20684\n育苗|0x1000|12109\n育人|0x1000|731\n育秧|0x1000|27015\n育婴|0x1000|42828\n育种|0x1000|9575\n郁闭|0x0080|1185\n郁愤|0x40000000|49678\n郁馥|0x40000000|0\n郁积|0x1000|37285\n郁江|0x0080|1128\n郁结|0x1000|36755\n郁金|0x100000|666\n郁烈|0x0080|1208\n郁闷|0x40000000|20223\n郁南|0x0080|1000\n郁怒|0x1000|0\n郁气|0x100000|0\n郁热|0x40000000|53056\n郁抑|0x40000000|0\n郁悒|0x40000000|1143\n郁郁|0x0100|26372\n郁证|0x100000|0\n昱泉|0x100000|407\n狱警|0x100000|42605\n狱吏|0x100000|1067\n狱门|0x0040|0\n狱医|0x0000|48958\n狱友|0x100000|991\n狱中|0x8000|766\n狱卒|0x100000|950\n浴场|0x100000|16194\n浴池|0x100000|22913\n浴佛|0x1000|1048\n浴缸|0x100000|26171\n浴巾|0x100000|31469\n浴具|0x100000|1070\n浴帽|0x0008|956\n浴袍|0x100000|880\n浴盆|0x100000|39215\n浴室|0x100000|13481\n浴堂|0x100000|0\n浴血|0x8000000|28241\n浴液|0x0008|44299\n浴衣|0x100000|40491\n浴罩|0x100000|0\n预案|0x100000|8471\n预报|0x1000|2671\n预备|0x1000|3935\n预编|0x1000|1214\n预卜|0x1000|44574\n预测|0x1000|2990\n预订|0x1000|14519\n预定|0x1000|7110\n预断|0x1000|0\n预防|0x1000|2160\n预付|0x1000|22914\n预感|0x1000|12912\n预告|0x100000|15595\n预购|0x1000|27503\n预估|0x1000|33068\n预后|0x1000|32845\n预计|0x1000|2847\n预检|0x0000|44575\n预见|0x1000|10049\n预交|0x1000|931\n预缴|0x0000|466\n预警|0x1000|6547\n预考|0x0000|54606\n预科|0x100000|27327\n预览|0x1000|578\n预冷|0x100000|930\n预料|0x100000|7511\n预留|0x1000|20112\n预谋|0x1000|20971\n预期|0x1000|4854\n预热|0x1000|35918\n预赛|0x100000|9598\n预设|0x1000|34133\n预审|0x100000|20559\n预示|0x1000|11669\n预收|0x1000|38605\n预售|0x1000|21985\n预算|0x100000|2790\n预习|0x1000|38406\n预先|0x8000000|8635\n预想|0x1000|17166\n预行|0x1000|45467\n预选|0x1000|22344\n预压|0x100000|1059\n预言|0x1000|9392\n预演|0x1000|30463\n预约|0x1000|12994\n预展|0x1000|45173\n预兆|0x100000|23145\n预征|0x0000|49679\n预支|0x1000|32075\n预知|0x1000|29592\n预制|0x1000|28514\n预置|0x1000|45468\n预祝|0x1000|17733\n预装|0x1000|649\n预作|0x0000|405\n域名|0x100000|11299\n域内|0x100000|487\n域外|0x8000|36570\n域中|0x0000|20597\n欲海|0x0000|470\n欲壑|0x0000|41141\n欲火|0x100000|31123\n欲念|0x100000|28155\n欲女|0x100000|469\n欲求|0x1000|27016\n欲望|0x100000|5116\n谕告|0x100000|0\n谕令|0x100000|1088\n谕示|0x100000|1158\n谕旨|0x100000|1033\n阈限|0x0008|1162\n阈值|0x100000|938\n喻示|0x0000|54069\n喻为|0x1000|814\n喻义|0x100000|55843\n寓邸|0x100000|0\n寓公|0x100000|1125\n寓居|0x1000|32581\n寓目|0x1000|0\n寓所|0x100000|18165\n寓言|0x100000|14416\n寓意|0x100000|13740\n寓于|0x1000|23563\n御笔|0x100000|39018\n御赐|0x0000|43093\n御敌|0x0000|29698\n御寒|0x1000|21885\n御驾|0x100000|25306\n御览|0x1000|996\n御史|0x100000|805\n御手|0x100000|2\n御侮|0x1000|37287\n御医|0x100000|29915\n御用|0x100000|29916\n御苑|0x100000|53057\n御者|0x100000|1054\n御旨|0x100000|1167\n御制|0x0000|42606\n御座|0x0000|427\n裕华|0x0008|1259\n裕民|0x0080|1422\n裕如|0x40000000|46952\n遇刺|0x1000|27017\n遇到|0x1000|492\n遇害|0x1000|17518\n遇合|0x1000|0\n遇见|0x1000|6684\n遇救|0x1000|50808\n遇难|0x1000|7940\n遇上|0x1000|521\n遇事|0x1000|23012\n遇险|0x1000|17403\n遇着|0x0000|526\n愈发|0x8000000|16938\n愈合|0x1000|18704\n愈加|0x8000000|11421\n愈益|0x8000000|22383\n誉为|0x1000|5393\n毓婷|0x0008|1023\n豫东|0x0080|1546\n豫见|0x100000|1403\n豫剧|0x100000|18637\n豫先|0x8000000|1365\n豫园|0x0080|1411\n豫章|0x0040|1512\n豫州|0x100000|985\n燠热|0x40000000|1104\n鹬鸵|0x0080|1541\n鸢尾|0x100000|51221\n冤案|0x100000|23146\n冤仇|0x100000|33202\n冤魂|0x100000|27980\n冤家|0x100000|18261\n冤苦|0x100000|50809\n冤孽|0x100000|46953\n冤气|0x100000|1084\n冤情|0x100000|34420\n冤屈|0x100000|21501\n冤死|0x1000|912\n冤头|0x100000|1379\n冤枉|0x1000|9284\n冤狱|0x100000|33715\n鸳鸯|0x100000|13571\n渊博|0x40000000|17801\n渊海|0x100000|1142\n渊默|0x40000000|0\n渊深|0x40000000|48959\n渊薮|0x100000|38606\n渊腋|0x0080|0\n渊源|0x100000|13043\n元宝|0x100000|18262\n元朝|0x4000|16749\n元初|0x4000|442\n元代|0x4000|781\n元旦|0x4000|6462\n元嘉|0x0008|1023\n元件|0x100000|18227\n元朗|0x0008|1475\n元老|0x100000|19470\n元麦|0x100000|1216\n元门|0x0040|0\n元谋|0x0080|1454\n元年|0x100000|10841\n元配|0x100000|996\n元气|0x100000|15886\n元曲|0x100000|36242\n元戎|0x100000|1093\n元山|0x100000|1053\n元史|0x0000|443\n元始|0x40000000|952\n元氏|0x0080|1525\n元首|0x100000|5159\n元狩|0x0008|1125\n元帅|0x100000|9550\n元朔|0x0008|0\n元素|0x100000|5515\n元宵|0x4000000|16939\n元凶|0x100000|26373\n元勋|0x100000|29481\n元阳|0x0080|1438\n元夜|0x4000|52106\n元音|0x100000|38607\n元鱼|0x100000|1225\n元月|0x4000|23048\n元子|0x100000|974\n元祖|0x0008|1517\n员额|0x100000|27252\n员工|0x100000|3083\n员警|0x100000|1036\n员司|0x100000|1381\n员外|0x100000|834\n园长|0x100000|860\n园地|0x100000|14018\n园丁|0x100000|21410\n园林|0x100000|5950\n园陵|0x100000|46636\n园内|0x8000|726\n园圃|0x100000|46637\n园田|0x100000|39845\n园艺|0x100000|15113\n园囿|0x100000|1152\n园子|0x100000|12900\n沅江|0x0040|1462\n沅陵|0x0080|987\n垣曲|0x0080|994\n原案|0x100000|51664\n原版|0x100000|27663\n原本|0x8000000|4178\n原产|0x1000|766\n原唱|0x100000|54607\n原虫|0x100000|1024\n原初|0x8000000|902\n原处|0x100000|781\n原创|0x1000|32846\n原地|0x100000|12995\n原点|0x100000|684\n原定|0x1000|9444\n原封|0x20000000|37650\n原稿|0x100000|21248\n原告|0x100000|5439\n原鸽|0x100000|1325\n原故|0x100000|844\n原话|0x100000|40700\n原基|0x0008|0\n原籍|0x100000|16980\n原价|0x100000|26304\n原件|0x100000|23967\n原浆|0x100000|1025\n原矿|0x100000|965\n原来|0x8000000|465\n原理|0x100000|3281\n原粮|0x100000|38809\n原谅|0x1000|6117\n原料|0x100000|3187\n原毛|0x100000|0\n原貌|0x100000|19869\n原煤|0x100000|16356\n原棉|0x100000|48960\n原名|0x100000|15381\n原木|0x100000|24861\n原判|0x100000|18941\n原配|0x100000|43804\n原平|0x0040|1469\n原人|0x100000|979\n原任|0x0000|36924\n原色|0x100000|39019\n原审|0x100000|24210\n原生|0x20000000|757\n原声|0x100000|631\n原始|0x40000000|3285\n原诉|0x100000|1285\n原素|0x100000|968\n原汤|0x0000|54071\n原体|0x0008|1392\n原田|0x100000|950\n原帖|0x100000|824\n原图|0x100000|780\n原委|0x100000|19438\n原位|0x100000|803\n原文|0x100000|13275\n原物|0x100000|25600\n原先|0x20000000|5272\n原形|0x100000|24923\n原型|0x100000|15014\n原性|0x0000|466\n原穴|0x100000|0\n原盐|0x100000|43095\n原阳|0x0080|1483\n原样|0x100000|21411\n原野|0x100000|10671\n原液|0x100000|910\n原意|0x100000|20224\n原因|0x100000|381\n原由|0x100000|759\n原油|0x100000|5146\n原有|0x20000000|3134\n原宥|0x1000|53058\n原则|0x100000|747\n原汁|0x100000|723\n原值|0x0000|46353\n原职|0x100000|36571\n原址|0x100000|25741\n原种|0x100000|37651\n原主|0x100000|37464\n原著|0x100000|15539\n原装|0x20000000|32954\n原状|0x100000|21412\n原子|0x100000|5624\n原罪|0x100000|757\n原作|0x100000|16806\n圆饼|0x100000|1026\n圆场|0x1000|32847\n圆成|0x1000|404\n圆锉|0x0008|1296\n圆凳|0x100000|52107\n圆雕|0x100000|50431\n圆碟|0x0008|0\n圆顶|0x100000|27664\n圆房|0x1000|51665\n圆坟|0x1000|0\n圆钢|0x100000|53540\n圆管|0x100000|910\n圆光|0x0080|1069\n圆规|0x100000|39846\n圆号|0x100000|43096\n圆弧|0x100000|38030\n圆滑|0x40000000|27328\n圆环|0x100000|832\n圆谎|0x0000|52108\n圆浑|0x40000000|1110\n圆活|0x40000000|0\n圆寂|0x1000|37109\n圆径|0x0080|0\n圆锯|0x100000|372\n圆孔|0x100000|900\n圆脸|0x100000|20720\n圆领|0x0008|41620\n圆笼|0x0080|1302\n圆满|0x40000000|3622\n圆梦|0x1000|29071\n圆木|0x100000|954\n圆盘|0x100000|792\n圆丘|0x0080|0\n圆球|0x100000|818\n圆圈|0x100000|20598\n圆全|0x40000000|0\n圆融|0x40000000|879\n圆润|0x40000000|21787\n圆石|0x0080|439\n圆实|0x40000000|55544\n圆熟|0x40000000|37289\n圆台|0x0080|1043\n圆通|0x0080|35606\n圆桶|0x0080|443\n圆筒|0x100000|35148\n圆涡|0x0080|0\n圆心|0x100000|21788\n圆形|0x100000|11138\n圆型|0x0000|48962\n圆圆|0x0100|619\n圆月|0x4000|785\n圆整|0x1000|1098\n圆周|0x100000|27253\n圆柱|0x100000|21832\n圆锥|0x100000|30011\n圆桌|0x100000|17856\n圆子|0x100000|1434\n援笔|0x1000|0\n援兵|0x100000|21180\n援藏|0x1000|918\n援建|0x1000|12484\n援救|0x1000|29377\n援军|0x100000|24211\n援款|0x0000|41142\n援例|0x1000|43097\n援手|0x1000|45767\n援外|0x1000|24737\n援引|0x1000|12032\n援用|0x1000|50042\n援助|0x1000|2700\n缘簿|0x100000|1309\n缘分|0x100000|18353\n缘份|0x100000|565\n缘故|0x100000|5253\n缘何|0x10000|19721\n缘起|0x100000|29593\n缘因|0x100000|1\n缘由|0x100000|17107\n缘于|0x1000|18975\n鼋鱼|0x100000|1354\n源地|0x100000|956\n源点|0x0080|1074\n源流|0x100000|22083\n源码|0x100000|549\n源泉|0x100000|6832\n源头|0x100000|4321\n源于|0x1000|7036\n源源|0x0100|25935\n源自|0x1000|610\n猿猴|0x100000|36757\n猿门|0x0040|0\n猿人|0x100000|22814\n猿声|0x100000|1017\n辕马|0x100000|54608\n辕门|0x100000|979\n远安|0x0080|1016\n远避|0x0000|419\n远别|0x1000|0\n远程|0x20000000|5885\n远处|0x100000|4603\n远大|0x40000000|8902\n远道|0x100000|18228\n远地|0x0008|1395\n远东|0x0040|11474\n远渡|0x1000|0\n远端|0x0000|591\n远方|0x100000|7458\n远房|0x100000|30230\n远非|0x1000|24540\n远隔|0x0000|28070\n远古|0x4000|13758\n远海|0x100000|42607\n远航|0x1000|20972\n远华|0x0008|1466\n远见|0x100000|13844\n远郊|0x100000|29279\n远近|0x100000|10526\n远景|0x100000|13620\n远客|0x100000|35607\n远离|0x1000|5386\n远路|0x100000|35608\n远虑|0x100000|37652\n远略|0x100000|0\n远门|0x100000|24153\n远谋|0x100000|52560\n远南|0x0008|1101\n远期|0x100000|22521\n远亲|0x100000|25240\n远去|0x1000|545\n远射|0x1000|752\n远涉|0x1000|39437\n远识|0x100000|0\n远视|0x100000|40279\n远逝|0x1000|1\n远天|0x100000|997\n远眺|0x1000|20927\n远投|0x100000|912\n远途|0x0000|46954\n远望|0x1000|15894\n远销|0x1000|17323\n远行|0x1000|19722\n远扬|0x1000|38195\n远洋|0x100000|14019\n远因|0x100000|53059\n远游|0x1000000|33069\n远缘|0x100000|52561\n远远|0x8000000|2070\n远在|0x1000|608\n远征|0x1000|19009\n远志|0x100000|877\n远走|0x1000|703\n远足|0x1000|37653\n远祖|0x100000|36572\n苑囿|0x100000|1092\n怨艾|0x1000|1073\n怨毒|0x100000|911\n怨怼|0x1000|929\n怨愤|0x1000|33468\n怨鬼|0x100000|0\n怨恨|0x100000|12564\n怨悔|0x1000|385\n怨懑|0x100000|0\n怨怒|0x100000|1000\n怨女|0x100000|944\n怨偶|0x100000|1032\n怨气|0x100000|15671\n怨声|0x100000|964\n怨望|0x1000|0\n怨言|0x100000|13519\n怨尤|0x100000|50810\n院坝|0x100000|1081\n院本|0x100000|1143\n院长|0x100000|2052\n院方|0x100000|883\n院落|0x100000|11003\n院门|0x100000|883\n院内|0x8000|696\n院墙|0x100000|17497\n院士|0x100000|3449\n院所|0x100000|731\n院校|0x100000|4383\n院子|0x100000|3224\n垸子|0x100000|0\n愿望|0x100000|2109\n愿心|0x100000|46356\n愿意|0x1000|782\n约旦|0x0040|1264\n约定|0x1000|5245\n约法|0x100000|17581\n约分|0x1000|1145\n约稿|0x1000|28976\n约翰|0x0080|990\n约好|0x0000|622\n约合|0x0000|14588\n约会|0x1000|16703\n约集|0x1000|32848\n约计|0x1000|42352\n约见|0x1000|22034\n约克|0x0080|1301\n约略|0x8000000|21695\n约摸|0x8000000|20263\n约莫|0x8000000|20263\n约期|0x100000|1030\n约请|0x1000|21986\n约束|0x1000|3559\n约数|0x100000|46638\n约谈|0x0000|36403\n约同|0x8000000|31699\n约言|0x100000|48963\n月白|0x100000|933\n月半|0x4000|42353\n月报|0x100000|20070\n月饼|0x100000|9009\n月产|0x0000|41143\n月池|0x0080|0\n月出|0x0008|1389\n月初|0x4000|11451\n月底|0x4000|8017\n月度|0x100000|29280\n月儿|0x100000|728\n月份|0x20000|4607\n月俸|0x0000|54072\n月工|0x100000|51666\n月宫|0x100000|36079\n月光|0x100000|6137\n月桂|0x100000|43341\n月华|0x100000|38196\n月季|0x100000|22969\n月经|0x100000|22385\n月均|0x0000|31810\n月刊|0x100000|10763\n月考|0x0080|538\n月老|0x100000|43805\n月历|0x100000|54073\n月利|0x100000|1120\n月例|0x0000|55047\n月亮|0x100000|4749\n月龄|0x0080|990\n月令|0x100000|46955\n月轮|0x100000|48964\n月落|0x0080|2\n月末|0x4000|21461\n月票|0x100000|31576\n月钱|0x100000|50043\n月琴|0x100000|38197\n月球|0x0008|8235\n月色|0x100000|14132\n月神|0x0080|1371\n月石|0x0008|0\n月食|0x100000|36758\n月氏|0x100000|1072\n月事|0x100000|1003\n月台|0x100000|26652\n月尾|0x4000|52564\n月息|0x100000|44881\n月下|0x0008|1094\n月相|0x100000|1014\n月薪|0x100000|17058\n月牙|0x100000|745\n月岩|0x100000|0\n月夜|0x100000|23564\n月盈|0x1000|0\n月影|0x100000|730\n月圆|0x0080|1008\n月月|0x20000|702\n月晕|0x100000|50432\n月震|0x0008|1\n月中|0x0080|14319\n月终|0x4000|52565\n月子|0x100000|23968\n月租|0x100000|754\n岳池|0x0040|978\n岳父|0x100000|9642\n岳家|0x100000|40492\n岳庙|0x100000|37291\n岳母|0x100000|13621\n岳西|0x0080|1373\n岳阳|0x0040|1056\n岳丈|0x100000|35919\n钥匙|0x100000|5221\n悦耳|0x40000000|13695\n悦服|0x1000|38608\n悦目|0x40000000|29166\n阅报|0x1000|979\n阅兵|0x1000|17549\n阅读|0x1000|3840\n阅卷|0x1000|29482\n阅看|0x1000|0\n阅览|0x1000|25742\n阅历|0x100000|14401\n阅世|0x1000|371\n跃出|0x1000|789\n跃动|0x1000|29167\n跃过|0x1000|822\n跃进|0x1000|12164\n跃居|0x1000|12625\n跃马|0x1000|38198\n跃起|0x1000|771\n跃迁|0x1000|1003\n跃然|0x1000|34889\n跃上|0x1000|800\n跃升|0x1000|18051\n粤北|0x0040|1448\n粤菜|0x100000|44578\n粤东|0x0040|1302\n粤港|0x0040|1355\n粤江|0x0040|1204\n粤剧|0x100000|29168\n粤曲|0x100000|1006\n粤绣|0x100000|1172\n粤语|0x0008|973\n越出|0x0008|1496\n越冬|0x1000|13035\n越发|0x8000000|7010\n越共|0x0020|1032\n越瓜|0x100000|1372\n越轨|0x1000|26715\n越过|0x1000|618\n越级|0x1000|21132\n越加|0x8000000|17059\n越界|0x1000|26716\n越境|0x1000|26653\n越剧|0x100000|18076\n越军|0x100000|1001\n越礼|0x1000|0\n越南|0x0040|3118\n越区|0x0008|1162\n越权|0x1000|17960\n越是|0x8000000|5446\n越位|0x1000|19268\n越西|0x0080|1092\n越秀|0x0008|1202\n越洋|0x1000|820\n越野|0x1000|14447\n越狱|0x1000|35456\n越战|0x0008|778\n越障|0x1000|1224\n越职|0x0000|44882\n云霭|0x100000|1139\n云安|0x0080|1038\n云板|0x100000|1209\n云豹|0x100000|999\n云鬓|0x100000|43342\n云彩|0x100000|16047\n云层|0x100000|18885\n云顶|0x0000|486\n云豆|0x4000000|0\n云端|0x100000|28590\n云朵|0x100000|25743\n云尔|0x2000|1095\n云浮|0x0040|1248\n云海|0x100000|23779\n云汉|0x100000|53060\n云和|0x0040|1216\n云集|0x1000|10352\n云际|0x100000|41621\n云锦|0x100000|34557\n云景|0x0080|1510\n云量|0x100000|30232\n云林|0x0080|1275\n云岭|0x0040|1458\n云龙|0x0080|1149\n云锣|0x100000|1229\n云门|0x0008|1442\n云梦|0x0080|1301\n云母|0x100000|36573\n云南|0x0040|2481\n云气|0x100000|36243\n云雀|0x100000|30876\n云散|0x1000|26792\n云杉|0x100000|28071\n云梢|0x100000|0\n云室|0x100000|1265\n云涛|0x100000|954\n云梯|0x100000|24738\n云天|0x100000|21551\n云头|0x100000|39847\n云图|0x100000|41382\n云团|0x100000|31245\n云吞|0x100000|903\n云雾|0x100000|13813\n云霞|0x100000|27426\n云县|0x0040|1036\n云霄|0x100000|24862\n云崖|0x100000|53541\n云烟|0x100000|31364\n云阳|0x0080|1218\n云翳|0x100000|44883\n云影|0x100000|1390\n云涌|0x1000|884\n云游|0x1000|30465\n云雨|0x100000|37826\n云云|0x2000|9310\n云状|0x100000|1145\n匀称|0x40000000|20797\n匀兑|0x1000|0\n匀和|0x40000000|0\n匀浆|0x100000|1037\n匀净|0x40000000|51224\n匀脸|0x1000|0\n匀溜|0x40000000|0\n匀染|0x0008|0\n匀实|0x40000000|1341\n匀速|0x20000000|24098\n匀停|0x40000000|0\n匀整|0x40000000|48582\n纭纭|0x40000000|374\n芸豆|0x100000|43343\n芸香|0x100000|50433\n芸芸|0x0100|845\n郧西|0x0080|1550\n郧县|0x0040|1530\n耘锄|0x100000|1373\n允承|0x1000|1538\n允当|0x40000000|55844\n允诺|0x1000|17498\n允许|0x1000|1696\n允准|0x1000|34134\n陨落|0x1000|31577\n陨灭|0x1000|0\n陨石|0x100000|17648\n陨铁|0x100000|1133\n陨星|0x100000|44300\n陨越|0x1000|0\n殒灭|0x1000|1150\n殒命|0x1000|40065\n殒身|0x1000|0\n孕妇|0x100000|12720\n孕期|0x100000|31811\n孕穗|0x1000|50434\n孕酮|0x0000|439\n孕吐|0x1000|1074\n孕育|0x1000|8127\n运笔|0x1000|40066\n运钞|0x1000|928\n运城|0x0040|1154\n运筹|0x1000|26858\n运出|0x1000|944\n运单|0x100000|37827\n运道|0x1000|46063\n运抵|0x1000|18705\n运动|0x1000|420\n运费|0x100000|18976\n运河|0x100000|8149\n运回|0x1000|868\n运价|0x100000|24258\n运力|0x100000|11149\n运量|0x100000|17582\n运命|0x100000|917\n运能|0x0000|31246\n运气|0x100000|8104\n运球|0x100000|45470\n运输|0x1000|1667\n运数|0x100000|52110\n运思|0x1000|1128\n运送|0x1000|7837\n运算|0x1000|11881\n运往|0x1000|825\n运销|0x1000|19152\n运星|0x0008|1145\n运行|0x1000|1764\n运营|0x1000|4195\n运用|0x1000|1259\n运载|0x1000|15783\n运转|0x1000|5149\n运走|0x1000|881\n运作|0x1000|3391\n郓城|0x0040|1430\n晕菜|0x800000|867\n晕场|0x1000|0\n晕车|0x1000|41146\n晕池|0x1000|0\n晕船|0x1000|35149\n晕倒|0x1000|15178\n晕高|0x1000|0\n晕机|0x1000|55845\n晕厥|0x1000|34891\n晕眩|0x1000|732\n晕血|0x0000|55949\n晕针|0x1000|56007\n酝酿|0x1000|7132\n愠怒|0x100000|34558\n愠容|0x100000|0\n愠色|0x100000|37655\n韵白|0x100000|47571\n韵调|0x100000|53061\n韵腹|0x100000|1343\n韵脚|0x100000|41147\n韵律|0x100000|17550\n韵母|0x100000|48966\n韵事|0x100000|44579\n韵书|0x100000|53062\n韵头|0x100000|1313\n韵尾|0x100000|1124\n韵味|0x100000|12822\n韵文|0x100000|27665\n韵语|0x100000|1053\n韵致|0x100000|33599\n熨斗|0x100000|42354\n熨平|0x1000|930\n熨烫|0x1000|45769\n熨帖|0x40000000|37111\n蕴藏|0x1000|9375\n蕴含|0x1000|10705\n蕴涵|0x100000|15257\n蕴结|0x1000|1161\n蕴藉|0x1000|34724\n蕴酿|0x0000|417\n蕴蓄|0x1000|35458\n蕴意|0x0000|50046\n匝道|0x100000|997\n匝地|0x8000|1002\n匝月|0x1000|0\n咂摸|0x1000|1058\n咂舌|0x0000|48967\n咂咂|0x80000|0\n咂嘴|0x1000|31700\n拶子|0x100000|0\n杂拌|0x100000|1079\n杂草|0x100000|14885\n杂差|0x0008|1311\n杂陈|0x0000|40281\n杂处|0x0000|44301\n杂凑|0x1000|51226\n杂沓|0x40000000|29282\n杂多|0x0100|1057\n杂肥|0x0000|51667\n杂费|0x100000|16357\n杂感|0x100000|23250\n杂工|0x100000|37292\n杂烩|0x100000|46064\n杂婚|0x100000|0\n杂活|0x0000|46065\n杂货|0x100000|27505\n杂记|0x100000|25308\n杂技|0x100000|9247\n杂家|0x100000|42355\n杂件|0x0008|1395\n杂交|0x1000|8252\n杂居|0x1000|25861\n杂剧|0x100000|22815\n杂粮|0x100000|16881\n杂录|0x100000|868\n杂乱|0x40000000|14337\n杂毛|0x0000|43098\n杂面|0x100000|43344\n杂木|0x0000|43566\n杂念|0x100000|29917\n杂牌|0x20000000|44302\n杂品|0x100000|46357\n杂糅|0x1000|49321\n杂色|0x100000|30012\n杂食|0x100000|54611\n杂史|0x100000|1188\n杂事|0x100000|25862\n杂书|0x100000|44303\n杂耍|0x100000|27981\n杂税|0x100000|53063\n杂说|0x100000|45174\n杂碎|0x100000|31579\n杂谈|0x100000|29483\n杂文|0x100000|10547\n杂务|0x100000|37112\n杂物|0x100000|15596\n杂项|0x100000|48224\n杂讯|0x0008|988\n杂役|0x100000|33997\n杂音|0x100000|28331\n杂用|0x100000|47257\n杂症|0x0000|46066\n杂志|0x100000|2290\n杂质|0x100000|15617\n杂种|0x100000|13206\n砸锅|0x1000|36925\n砸烂|0x1000|25309\n砸伤|0x1000|909\n砸碎|0x1000|25387\n灾变|0x100000|36926\n灾害|0x100000|3393\n灾患|0x100000|50435\n灾荒|0x100000|23625\n灾祸|0x100000|22522\n灾民|0x100000|7344\n灾难|0x100000|4331\n灾年|0x100000|44580\n灾情|0x100000|9830\n灾区|0x100000|4766\n灾星|0x800000|42609\n灾殃|0x100000|50436\n栽插|0x1000|48225\n栽倒|0x1000|22035\n栽花|0x1000|953\n栽培|0x1000|6028\n栽绒|0x100000|52111\n栽树|0x1000|25241\n栽秧|0x1000|46956\n栽赃|0x1000|38810\n栽植|0x1000|14898\n栽种|0x1000|14253\n栽子|0x100000|0\n宰辅|0x100000|1076\n宰割|0x1000|29918\n宰客|0x0000|30877\n宰人|0x0000|46957\n宰杀|0x1000|19760\n宰相|0x100000|10845\n宰制|0x100000|1069\n载波|0x100000|38031\n载荷|0x100000|23726\n载货|0x1000|876\n载客|0x1000|19471\n载满|0x0000|473\n载明|0x1000|883\n载频|0x100000|1097\n载人|0x20000000|791\n载入|0x1000|496\n载体|0x100000|4707\n载文|0x1000|984\n载有|0x1000|842\n载誉|0x1000|37465\n载运|0x1000|32457\n载重|0x100000|19761\n崽儿|0x0000|47572\n崽子|0x100000|34421\n再拜|0x1000|934\n再版|0x1000|20973\n再不|0x8000000|568\n再创|0x1000|665\n再次|0x8000000|1372\n再打|0x0000|600\n再读|0x0000|524\n再度|0x8000000|5827\n再发|0x0000|606\n再犯|0x1000|26717\n再分|0x1000|856\n再会|0x1000|45770\n再婚|0x1000|27329\n再加|0x0000|666\n再嫁|0x1000|27428\n再见|0x1000|6891\n再讲|0x0000|526\n再醮|0x1000|1266\n再接|0x0000|539\n再借|0x0000|456\n再看|0x0000|710\n再来|0x0000|766\n再起|0x1000|664\n再取|0x0000|473\n再娶|0x0000|31124\n再燃|0x0000|431\n再认|0x100000|1017\n再入|0x0008|509\n再三|0x8400000|6940\n再上|0x0000|596\n再审|0x1000|15906\n再生|0x1000|5227\n再世|0x1000|41850\n再试|0x0000|604\n再说|0x1000|2694\n再听|0x0000|557\n再现|0x1000|6031\n再想|0x0000|605\n再行|0x40000000|809\n再选|0x100000|859\n再演|0x0000|502\n再也|0x8000000|497\n再一|0x400000|19\n再议|0x0000|34559\n再用|0x0000|701\n再有|0x10000000|11098\n再造|0x1000|9740\n再则|0x10000000|29072\n再者|0x10000000|17060\n再植|0x1000|36574\n再做|0x0000|643\n在案|0x1000|21886\n在编|0x1000|24863\n在册|0x1000|24864\n在场|0x1000|5925\n在朝|0x1000|93\n在党|0x0000|4102\n在读|0x1000|26939\n在岗|0x0000|19545\n在后|0x1000|639\n在乎|0x1000|13116\n在即|0x1000|13015\n在家|0x1000|7794\n在建|0x0000|9321\n在教|0x1000|42610\n在理|0x40000000|26718\n在内|0x1000|2122\n在聘|0x0000|46958\n在前|0x0000|677\n在任|0x1000|763\n在世|0x1000|18680\n在手|0x0000|8602\n在逃|0x1000|16274\n在途|0x1000|907\n在外|0x40000000|8863\n在望|0x1000|19383\n在位|0x1000|29283\n在握|0x1000|25388\n在下|0x10000|13678\n在先|0x8000000|18638\n在线|0x40000000|7252\n在校|0x0000|6744\n在心|0x1000|24360\n在行|0x40000000|30878\n在学|0x1000|8777\n在押|0x1000|18381\n在野|0x1000|26588\n在业|0x1000|32714\n在意|0x40000000|8423\n在于|0x1000|1094\n在在|0x8000000|35339\n在职|0x1000|8507\n在座|0x1000|5958\n糌粑|0x100000|41149\n簪花|0x1000|45175\n簪缨|0x100000|1092\n簪子|0x100000|39848\n咱村|0x10000|1005\n咱家|0x10000|16255\n咱俩|0x10000|10833\n咱们|0x10000|1807\n攒动|0x1000|38856\n攒盒|0x100000|1334\n攒机|0x1000|760\n攒集|0x1000|0\n攒聚|0x1000|53661\n攒眉|0x1000|1138\n攒钱|0x0000|38610\n攒射|0x1000|0\n攒攒|0x0080|642\n攒竹|0x0008|0\n暂存|0x1000|511\n暂定|0x1000|28890\n暂短|0x40000000|0\n暂缓|0x8000000|17214\n暂居|0x0000|474\n暂留|0x0000|433\n暂且|0x8000000|14950\n暂缺|0x1000|55052\n暂时|0x8000000|2479\n暂停|0x1000|7799\n暂行|0x20000000|5895\n暂用|0x1000|52566\n暂住|0x1000|16613\n赞成|0x1000|3357\n赞词|0x100000|1109\n赞辞|0x100000|1231\n赞歌|0x100000|17882\n赞皇|0x0080|1015\n赞礼|0x100000|43567\n赞美|0x1000|7757\n赞佩|0x1000|44885\n赞赏|0x1000|3816\n赞颂|0x1000|17986\n赞叹|0x1000|8501\n赞同|0x1000|5951\n赞许|0x1000|14708\n赞扬|0x1000|5452\n赞语|0x100000|39217\n赞誉|0x1000|9097\n赞助|0x1000|6575\n錾刀|0x100000|1534\n錾子|0x100000|1258\n赃官|0x100000|46068\n赃款|0x100000|16546\n赃物|0x100000|18942\n赃证|0x100000|50813\n臧否|0x1000|1092\n脏病|0x0000|14529\n脏腑|0x100000|23841\n脏话|0x100000|24356\n脏活|0x100000|935\n脏了|0x0000|545\n脏乱|0x40000000|30013\n脏器|0x100000|24541\n脏水|0x100000|33204\n脏土|0x100000|50437\n脏污|0x100000|46358\n脏物|0x100000|963\n脏象|0x0008|0\n脏字|0x100000|866\n葬礼|0x100000|14093\n葬埋|0x1000|1182\n葬身|0x1000|23013\n葬送|0x1000|22194\n葬仪|0x100000|47883\n遭到|0x1000|2401\n遭逢|0x1000|38409\n遭际|0x100000|1008\n遭劫|0x1000|36080\n遭难|0x1000|35306\n遭受|0x1000|3265\n遭殃|0x1000|20974\n遭遇|0x1000|3683\n遭灾|0x1000|34892\n遭罪|0x1000|35459\n糟糕|0x40000000|10421\n糟害|0x1000|0\n糟践|0x1000|33353\n糟糠|0x100000|48226\n糟粕|0x100000|19832\n糟踏|0x1000|951\n糟蹋|0x1000|12706\n糟心|0x40000000|48227\n凿洞|0x0000|376\n凿井|0x1000|1020\n凿开|0x0000|416\n凿空|0x1000|1132\n凿孔|0x1000|1203\n凿枘|0x1000|0\n凿岩|0x1000|997\n凿凿|0x40000000|40703\n凿子|0x100000|41150\n早安|0x1000|36575\n早班|0x100000|37466\n早报|0x100000|617\n早搏|0x0000|53544\n早餐|0x100000|10790\n早操|0x100000|36927\n早茶|0x100000|32849\n早产|0x1000|35755\n早场|0x100000|1013\n早朝|0x0080|485\n早车|0x0000|48228\n早晨|0x4000|2892\n早春|0x4000|16286\n早稻|0x100000|13194\n早点|0x100000|8561\n早饭|0x100000|8661\n早该|0x0000|561\n早慧|0x1000|1028\n早婚|0x1000|38199\n早间|0x0080|878\n早就|0x8000000|498\n早课|0x100000|961\n早恋|0x0008|35609\n早萌|0x0080|0\n早年|0x4000|8912\n早期|0x2000000|4315\n早起|0x4000|15237\n早前|0x4000|720\n早秋|0x4000|976\n早日|0x8000000|3783\n早上|0x4000|3988\n早市|0x100000|29594\n早逝|0x1000|31247\n早熟|0x1000|16005\n早衰|0x1000|36244\n早霜|0x100000|54075\n早死|0x0000|34893\n早岁|0x4000|0\n早退|0x1000|29595\n早晚|0x4000|9512\n早先|0x4000|17802\n早些|0x8000000|681\n早泄|0x100000|54076\n早已|0x8000000|1449\n早于|0x0000|520\n早育|0x1000|0\n早孕|0x0000|500\n早在|0x0000|753\n早早|0x8000000|552\n早造|0x0000|53545\n早知|0x1000|737\n枣糕|0x100000|53064\n枣核|0x0000|44304\n枣红|0x100000|35307\n枣林|0x100000|1031\n枣木|0x0000|39218\n枣泥|0x100000|47884\n枣强|0x0080|1365\n枣树|0x100000|14917\n枣阳|0x0040|1363\n枣园|0x100000|1498\n枣庄|0x0040|1131\n枣子|0x100000|29919\n蚤休|0x0008|0\n澡盆|0x100000|27982\n澡堂|0x100000|22036\n澡塘|0x100000|1059\n藻井|0x100000|51669\n藻菌|0x0080|0\n藻类|0x100000|17008\n藻饰|0x1000|53546\n藻思|0x100000|0\n灶房|0x100000|1094\n灶火|0x100000|32850\n灶间|0x100000|33998\n灶具|0x100000|33469\n灶君|0x100000|43099\n灶门|0x0040|0\n灶神|0x100000|38811\n灶台|0x100000|29701\n灶膛|0x100000|38200\n灶头|0x100000|43345\n灶屋|0x0000|45773\n皂白|0x100000|36245\n皂甙|0x0000|476\n皂矾|0x0008|0\n皂粉|0x0008|1109\n皂苷|0x100000|416\n皂化|0x1000|1059\n皂荚|0x100000|43806\n皂角|0x0000|40282\n皂隶|0x100000|1156\n皂石|0x0008|1265\n皂素|0x100000|1027\n皂洗|0x100000|1171\n造币|0x1000|966\n造册|0x1000|23147\n造成|0x1000|602\n造船|0x1000|716\n造词|0x0000|461\n造次|0x40000000|36081\n造反|0x1000|8175\n造访|0x1000|21790\n造福|0x1000|5896\n造化|0x100000|22523\n造价|0x100000|11957\n造假|0x1000|10272\n造就|0x1000|5157\n造句|0x1000|29596\n造林|0x1000|4056\n造孽|0x1000|31580\n造桥|0x1000|941\n造市|0x0000|42106\n造势|0x1000|42830\n造田|0x1000|21833\n造物|0x1000|767\n造像|0x100000|27506\n造形|0x100000|894\n造型|0x100000|6050\n造血|0x1000|13065\n造谣|0x1000|17931\n造诣|0x100000|15275\n造影|0x100000|36082\n造园|0x0000|457\n造渣|0x100000|0\n造纸|0x1000|599\n造字|0x100000|40933\n造作|0x1000|26589\n噪声|0x100000|9146\n噪音|0x100000|10073\n噪杂|0x40000000|1001\n燥裂|0x1000|0\n燥热|0x40000000|22710\n燥湿|0x100000|1008\n躁动|0x1000|27018\n躁急|0x40000000|368\n躁狂|0x40000000|953\n啫喱|0x0008|0\n则例|0x100000|0\n则甚|0x2000|1130\n则声|0x0000|44052\n择菜|0x1000|49327\n择伐|0x1000|0\n择吉|0x1000|43100\n择交|0x1000|49323\n择偶|0x1000|37113\n择期|0x1000|48968\n择日|0x1000|829\n择席|0x1000|0\n择要|0x100000|963\n择业|0x1000|13679\n择优|0x8000000|12589\n择友|0x1000|53547\n泽地|0x0080|1105\n泽国|0x100000|45471\n泽及|0x1000|0\n泽库|0x0040|1121\n泽兰|0x100000|1025\n泽普|0x0080|1028\n泽漆|0x100000|1217\n泽泻|0x100000|1017\n泽州|0x0080|1485\n责备|0x1000|8480\n责编|0x100000|41384\n责成|0x1000|10354\n责打|0x1000|40704\n责罚|0x1000|31934\n责怪|0x1000|14607\n责令|0x1000|5170\n责骂|0x1000|22711\n责难|0x1000|22435\n责任|0x100000|504\n责善|0x0080|0\n责问|0x1000|21502\n啧啧|0x80000|720\n舴艋|0x100000|1081\n仄声|0x100000|1102\n贼巢|0x100000|1112\n贼船|0x100000|38611\n贼胆|0x0000|40067\n贼党|0x0000|434\n贼风|0x100000|1187\n贼寇|0x100000|45472\n贼亮|0x0000|35610\n贼人|0x100000|35460\n贼死|0x2000|0\n贼窝|0x100000|51670\n贼心|0x100000|35920\n贼星|0x100000|55053\n贼眼|0x100000|44053\n贼赃|0x100000|1127\n贼子|0x100000|0\n怎的|0x40000000|17474\n怎地|0x10000|833\n怎么|0x10000|311\n怎奈|0x10000000|16858\n怎能|0x0000|5384\n怎生|0x10000|507\n怎样|0x10000|449\n怎知|0x0000|33205\n曾经|0x8000000|859\n曾孙|0x100000|30466\n曾祖|0x100000|44054\n增白|0x1000|39021\n增编|0x0000|54077\n增兵|0x1000|27983\n增拨|0x1000|36246\n增补|0x1000|17857\n增产|0x1000|4498\n增长|0x1000|1013\n增城|0x0040|1269\n增大|0x1000|5619\n增调|0x0000|54078\n增订|0x1000|43346\n增多|0x1000|3644\n增发|0x1000|768\n增幅|0x100000|4735\n增高|0x1000|12392\n增光|0x1000|27172\n增广|0x1000|917\n增辉|0x1000|32582\n增加|0x1000|475\n增减|0x100000|19977\n增建|0x1000|40935\n增进|0x1000|3579\n增刊|0x100000|35921\n增量|0x100000|14074\n增派|0x1000|20798\n增强|0x1000|1362\n增容|0x1000|32077\n增色|0x1000|32955\n增删|0x1000|41152\n增设|0x1000|9793\n增生|0x1000|26100\n增收|0x1000|2980\n增速|0x1000|704\n增添|0x1000|5018\n增温|0x0000|31581\n增效|0x1000|11482\n增修|0x0000|46069\n增选|0x1000|21375\n增压|0x1000|36247\n增益|0x100000|27331\n增盈|0x1000|45176\n增援|0x1000|16644\n增支|0x1000|45177\n增值|0x1000|6850\n增殖|0x1000|16915\n增至|0x1000|9518\n增重|0x100000|905\n增资|0x1000|17499\n憎恶|0x1000|16590\n憎恨|0x1000|15219\n锃亮|0x0100|24542\n甑子|0x0000|52567\n赠别|0x1000|53066\n赠答|0x1000|1182\n赠给|0x1000|20460\n赠款|0x100000|29597\n赠礼|0x100000|47885\n赠品|0x100000|30349\n赠券|0x100000|51229\n赠书|0x1000|24672\n赠送|0x1000|5702\n赠物|0x1000|1070\n赠言|0x100000|35922\n赠予|0x1000|35611\n赠与|0x1000|35611\n赠阅|0x1000|37829\n咋办|0x0000|14338\n咋呼|0x1000|42107\n咋舌|0x1000|28333\n咋样|0x10000|773\n喳喳|0x1000|16785\n渣土|0x100000|41386\n渣油|0x100000|1059\n渣子|0x100000|31935\n渣滓|0x100000|30234\n扎堆|0x1000|41385\n扎根|0x1000|8374\n扎花|0x1000|52568\n扎紧|0x0000|462\n扎牢|0x0080|0\n扎囊|0x0080|1170\n扎啤|0x0000|51671\n扎起|0x0008|2\n扎染|0x1000|42608\n扎上|0x1000|2\n扎实|0x40000000|3999\n扎手|0x40000000|46070\n扎眼|0x40000000|857\n扎营|0x1000|29810\n扎扎|0x1000|765\n扎针|0x1000|39438\n扎挣|0x1000|1200\n札达|0x0080|1153\n札幌|0x0040|1445\n札记|0x100000|14564\n轧场|0x1000|0\n轧钢|0x1000|33206\n轧光|0x1000|1082\n轧辊|0x100000|36576\n轧机|0x100000|49325\n轧件|0x0008|0\n轧棉|0x1000|0\n轧片|0x0008|0\n轧染|0x1000|1132\n轧轧|0x1000|1065\n轧制|0x1000|37468\n闸把|0x0008|1200\n闸坝|0x100000|1193\n闸板|0x0008|389\n闸北|0x0080|1178\n闸刀|0x100000|54612\n闸阀|0x100000|828\n闸盒|0x100000|1538\n闸口|0x100000|40705\n闸门|0x100000|15673\n闸皮|0x100000|1301\n闸瓦|0x100000|1164\n铡刀|0x100000|31582\n眨巴|0x1000|18453\n眨眼|0x1000|13605\n眨眨|0x1000|653\n乍得|0x0040|1536\n乍看|0x1000|812\n乍然|0x8000000|488\n诈病|0x0008|1139\n诈称|0x1000|34136\n诈唬|0x1000|53067\n诈降|0x1000|40283\n诈骗|0x1000|8330\n诈欺|0x0008|924\n诈取|0x1000|48229\n诈尸|0x1000|53068\n诈语|0x100000|1358\n栅格|0x100000|968\n栅极|0x100000|1123\n栅栏|0x100000|15964\n栅门|0x100000|1072\n栅子|0x100000|0\n炸弹|0x100000|5591\n炸掉|0x1000|839\n炸糕|0x100000|51230\n炸锅|0x4000000|55054\n炸毁|0x1000|16959\n炸鸡|0x100000|815\n炸酱|0x100000|50815\n炸雷|0x100000|32852\n炸裂|0x1000|32459\n炸破|0x1000|0\n炸伤|0x1000|930\n炸碎|0x1000|2\n炸窝|0x1000|0\n炸药|0x100000|11160\n炸鱼|0x100000|951\n痄腮|0x100000|1142\n蚱蜢|0x100000|23049\n榨菜|0x100000|26101\n榨出|0x0000|437\n榨取|0x1000|28430\n榨油|0x1000|31125\n榨汁|0x1000|769\n斋菜|0x100000|1084\n斋饭|0x100000|50438\n斋果|0x100000|0\n斋醮|0x1000|1147\n斋戒|0x1000|36083\n斋期|0x100000|1261\n斋日|0x4000|1165\n斋堂|0x100000|1015\n斋月|0x4000|31702\n摘报|0x0000|42831\n摘编|0x100000|8470\n摘抄|0x1000|34264\n摘除|0x1000|27254\n摘登|0x1000|21286\n摘掉|0x1000|797\n摘发|0x1000|44055\n摘花|0x0000|445\n摘记|0x1000|54080\n摘借|0x1000|0\n摘录|0x1000|23148\n摘牌|0x0000|28431\n摘取|0x1000|15804\n摘下|0x0000|641\n摘心|0x0008|0\n摘要|0x100000|10102\n摘译|0x100000|48583\n摘引|0x1000|46071\n摘自|0x1000|638\n宅邸|0x100000|49326\n宅地|0x100000|50049\n宅第|0x100000|41387\n宅基|0x100000|20297\n宅门|0x100000|27904\n宅舍|0x100000|0\n宅园|0x100000|0\n宅院|0x100000|20428\n宅子|0x100000|19414\n翟让|0x0008|0\n窄带|0x100000|889\n窄道|0x0040|0\n窄幅|0x0000|55546\n窄路|0x0040|1061\n窄门|0x0040|398\n窄狭|0x0000|39022\n窄巷|0x0040|1009\n窄小|0x40000000|24307\n窄窄|0x0100|813\n债额|0x100000|1385\n债户|0x100000|48971\n债款|0x100000|43808\n债利|0x100000|1319\n债权|0x100000|7754\n债券|0x100000|5632\n债务|0x100000|4108\n债主|0x100000|24997\n寨门|0x0040|0\n寨主|0x100000|28592\n寨子|0x100000|16570\n沾边|0x1000|32199\n沾恩|0x1000|0\n沾光|0x1000|32200\n沾化|0x0080|1539\n沾满|0x1000|669\n沾亲|0x1000|1212\n沾染|0x1000|23202\n沾惹|0x1000|1050\n沾湿|0x1000|841\n沾手|0x1000|52113\n沾污|0x1000|962\n沾益|0x0080|996\n沾沾|0x1000|567\n毡包|0x100000|44886\n毡房|0x100000|35756\n毡笠|0x0000|55547\n毡帽|0x100000|29598\n毡靴|0x0000|53069\n毡帐|0x100000|50439\n毡子|0x100000|37293\n旃檀|0x100000|1115\n粘虫|0x100000|1184\n粘度|0x100000|779\n粘附|0x1000|910\n粘合|0x1000|710\n粘胶|0x100000|811\n粘结|0x1000|825\n粘菌|0x100000|1281\n粘牢|0x0000|373\n粘连|0x1000|29378\n粘膜|0x100000|785\n粘上|0x0000|495\n粘贴|0x1000|25863\n粘土|0x100000|821\n粘性|0x100000|837\n粘液|0x100000|867\n粘住|0x0000|497\n粘着|0x1000|782\n詹妮|0x0080|1117\n詹森|0x0080|1498\n谵妄|0x1000|53549\n谵语|0x100000|46642\n澶渊|0x0040|1119\n瞻顾|0x1000|0\n瞻礼|0x1000|1092\n瞻念|0x1000|0\n瞻望|0x1000|36248\n瞻仰|0x1000|15310\n斩仓|0x1000|1056\n斩断|0x1000|22301\n斩获|0x1000|38812\n斩决|0x1000|0\n斩首|0x1000|11212\n展板|0x100000|855\n展播|0x1000|30570\n展布|0x100000|0\n展翅|0x1000|19326\n展出|0x1000|5021\n展地|0x0000|34725\n展读|0x1000|1137\n展馆|0x100000|17908\n展柜|0x100000|51673\n展缓|0x1000|0\n展开|0x1000|1443\n展宽|0x1000|48972\n展览|0x1000|2807\n展露|0x1000|30350\n展卖|0x1000|41852\n展品|0x100000|11452\n展评|0x100000|38612\n展期|0x100000|26941\n展区|0x100000|17324\n展示|0x1000|2168\n展室|0x100000|30351\n展台|0x100000|14417\n展厅|0x100000|10643\n展望|0x1000|6663\n展位|0x100000|15311\n展现|0x1000|3707\n展销|0x1000|16681\n展性|0x100000|985\n展翼|0x1000|925\n展映|0x1000|43569\n展转|0x1000|459\n盏盏|0x20000|0\n崭新|0x20000000|4608\n搌布|0x100000|1542\n辗过|0x0000|420\n辗转|0x1000|10624\n占卜|0x1000|26940\n占地|0x1000|5522\n占卦|0x1000|47886\n占居|0x1000|981\n占据|0x1000|4540\n占课|0x1000|0\n占理|0x1000|50816\n占领|0x1000|3289\n占梦|0x1000|0\n占去|0x1000|832\n占位|0x1000|882\n占先|0x1000|38410\n占线|0x1000|38813\n占星|0x1000|771\n占压|0x1000|1060\n占用|0x1000|5812\n占优|0x1000|825\n占有|0x1000|3278\n战败|0x1000|15618\n战报|0x100000|35757\n战备|0x100000|13963\n战表|0x100000|40936\n战场|0x100000|3821\n战车|0x100000|18286\n战船|0x100000|27582\n战刀|0x100000|46359\n战地|0x100000|15985\n战斗|0x1000|1422\n战抖|0x1000|33471\n战端|0x100000|1\n战法|0x100000|844\n战犯|0x100000|12692\n战费|0x0008|6\n战俘|0x100000|14500\n战斧|0x100000|1368\n战歌|0x100000|38613\n战功|0x100000|15520\n战鼓|0x100000|25530\n战国|0x4000|9784\n战果|0x100000|16414\n战壕|0x100000|22139\n战后|0x4000|5789\n战火|0x100000|11620\n战祸|0x100000|32078\n战机|0x100000|10548\n战绩|0x100000|8833\n战舰|0x100000|16332\n战将|0x100000|22345\n战局|0x100000|19415\n战具|0x100000|1184\n战况|0x100000|27984\n战力|0x0008|1282\n战例|0x100000|31813\n战栗|0x1000|22767\n战乱|0x100000|11394\n战略|0x100000|1072\n战马|0x100000|14339\n战幕|0x100000|881\n战炮|0x100000|1220\n战袍|0x100000|34726\n战旗|0x100000|34560\n战前|0x4000|14741\n战勤|0x100000|49329\n战情|0x100000|1073\n战区|0x100000|15441\n战伤|0x100000|1119\n战神|0x100000|647\n战胜|0x1000|2214\n战时|0x4000|11581\n战史|0x100000|35758\n战士|0x100000|938\n战事|0x100000|8541\n战书|0x100000|42611\n战术|0x100000|5121\n战死|0x1000|14694\n战悚|0x0080|0\n战威|0x0080|2\n战线|0x100000|3983\n战役|0x100000|5198\n战鹰|0x100000|962\n战友|0x100000|4837\n战云|0x100000|42358\n战阵|0x100000|895\n战争|0x100000|561\n栈道|0x100000|24543\n栈房|0x100000|44057\n栈桥|0x100000|33354\n站长|0x100000|8097\n站点|0x100000|483\n站队|0x1000|32715\n站岗|0x1000|17622\n站立|0x1000|7376\n站内|0x0000|846\n站牌|0x100000|30467\n站票|0x100000|48973\n站起|0x0000|686\n站上|0x8000|727\n站哨|0x0000|53070\n站台|0x100000|15100\n站位|0x100000|862\n站稳|0x1000|701\n站务|0x100000|549\n站相|0x0000|42612\n站站|0x100000|461\n站住|0x1000|6634\n绽放|0x1000|16006\n绽开|0x1000|20227\n绽裂|0x1000|1112\n绽露|0x0000|53071\n绽破|0x1000|0\n湛江|0x0040|990\n湛蓝|0x100000|21181\n湛清|0x0100|1159\n湛深|0x40000000|1255\n张榜|0x1000|20188\n张北|0x0040|1024\n张本|0x0080|1055\n张弛|0x100000|1334\n张驰|0x0080|1\n张大|0x1000|646\n张帆|0x0080|1448\n张弓|0x0080|894\n张挂|0x1000|41622\n张皇|0x0100|1007\n张角|0x0008|976\n张开|0x1000|562\n张口|0x1000|14254\n张狂|0x40000000|31126\n张力|0x100000|15199\n张量|0x100000|1069\n张罗|0x1000|12506\n张满|0x0080|0\n张目|0x1000|26654\n张贴|0x1000|11453\n张望|0x1000|10228\n张扬|0x1000|10603\n张掖|0x0040|1256\n张载|0x0000|408\n张张|0x0000|527\n张照|0x0080|0\n张嘴|0x1000|12638\n章草|0x100000|1087\n章程|0x100000|6008\n章动|0x100000|0\n章法|0x100000|20071\n章和|0x100000|3\n章回|0x20000000|974\n章节|0x100000|18317\n章句|0x0008|39647\n章门|0x0040|0\n章丘|0x0040|1277\n章鱼|0x100000|25864\n章则|0x100000|1086\n章子|0x100000|935\n彰化|0x0040|1262\n彰武|0x0080|1009\n彰显|0x1000|18354\n彰扬|0x1000|1204\n漳河|0x0040|1013\n漳平|0x0040|1438\n漳浦|0x0080|1418\n漳县|0x0040|1070\n漳州|0x0040|1018\n獐子|0x100000|43347\n樟木|0x100000|36084\n樟脑|0x100000|37657\n樟树|0x100000|20384\n蟑螂|0x100000|22195\n涨潮|0x1000|29169\n涨跌|0x100000|39648\n涨风|0x100000|50819\n涨幅|0x100000|14628\n涨价|0x1000|9925\n涨落|0x1000|23099\n涨满|0x0080|0\n涨起|0x0080|10\n涨钱|0x1000|1105\n涨势|0x100000|35151\n涨水|0x1000|32337\n涨停|0x1000|702\n掌班|0x1000|52569\n掌鞭|0x0080|55057\n掌厨|0x1000|1063\n掌灯|0x1000|34422\n掌舵|0x100000|34727\n掌骨|0x100000|1114\n掌故|0x100000|25172\n掌管|0x1000|16067\n掌柜|0x100000|6718\n掌击|0x1000|0\n掌教|0x0008|1\n掌控|0x1000|624\n掌门|0x100000|669\n掌权|0x1000|18605\n掌上|0x0008|579\n掌勺|0x1000|934\n掌声|0x100000|568\n掌纹|0x100000|827\n掌握|0x1000|1079\n掌心|0x100000|21744\n掌印|0x1000|38411\n掌灶|0x1000|54613\n掌状|0x40000000|376\n掌嘴|0x1000|50050\n丈夫|0x100000|2739\n丈量|0x1000|22196\n丈母|0x100000|1070\n丈人|0x100000|54614\n仗持|0x0080|0\n仗胆|0x1000|55058\n仗势|0x1000|47259\n仗恃|0x1000|47887\n仗义|0x1000|21696\n帐本|0x0000|483\n帐簿|0x0008|513\n帐册|0x100000|998\n帐单|0x0008|1210\n帐房|0x100000|967\n帐号|0x0008|790\n帐户|0x100000|551\n帐款|0x100000|553\n帐幔|0x100000|1103\n帐面|0x100000|914\n帐目|0x0008|839\n帐幕|0x100000|41153\n帐棚|0x0000|445\n帐蓬|0x0008|1458\n帐篷|0x100000|7008\n帐务|0x0008|844\n帐子|0x100000|19153\n胀大|0x1000|448\n胀满|0x1000|1000\n胀气|0x0000|453\n胀痛|0x0000|40495\n账本|0x100000|24413\n账簿|0x100000|22656\n账册|0x100000|33854\n账单|0x100000|22915\n账房|0x100000|27905\n账号|0x100000|18862\n账户|0x100000|5493\n账款|0x100000|44306\n账面|0x100000|21503\n账目|0x100000|13891\n账务|0x100000|38814\n障碍|0x100000|2441\n障蔽|0x1000|55059\n障子|0x100000|1243\n幛子|0x100000|50440\n瘴疠|0x100000|49683\n瘴气|0x100000|41154\n招安|0x1000|30879\n招办|0x0000|48975\n招标|0x1000|3675\n招兵|0x1000|33207\n招待|0x1000|7003\n招儿|0x100000|956\n招法|0x100000|961\n招风|0x1000|47260\n招抚|0x1000|23352\n招干|0x1000|49330\n招工|0x1000|12774\n招供|0x1000|32956\n招股|0x1000|42108\n招呼|0x100000|4355\n招唤|0x100000|930\n招魂|0x1000|27332\n招祸|0x1000|44582\n招集|0x1000|22302\n招架|0x1000|21656\n招降|0x1000|21211\n招考|0x1000|14358\n招来|0x1000|669\n招徕|0x1000|20524\n招揽|0x1000|21334\n招领|0x1000|42613\n招募|0x1000|13096\n招纳|0x1000|50820\n招牌|0x100000|8462\n招聘|0x1000|5715\n招亲|0x1000|50441\n招请|0x1000|0\n招惹|0x1000|24154\n招认|0x1000|39849\n招商|0x1000|7240\n招生|0x1000|4480\n招式|0x100000|48231\n招事|0x1000|1167\n招收|0x1000|7987\n招手|0x1000|10896\n招数|0x100000|20599\n招贴|0x100000|35310\n招贤|0x1000|38201\n招笑|0x0000|41624\n招眼|0x40000000|53551\n招摇|0x40000000|28515\n招引|0x1000|28977\n招远|0x0040|1349\n招灾|0x1000|47261\n招展|0x1000|21834\n招招|0x100000|663\n招致|0x1000|15728\n招赘|0x1000|49331\n招子|0x100000|1072\n招租|0x1000|42614\n昭和|0x100000|870\n昭觉|0x0080|1035\n昭君|0x0008|1280\n昭平|0x0080|1523\n昭然|0x0100|39219\n昭示|0x1000|12721\n昭苏|0x0080|1035\n昭通|0x0040|1282\n昭雪|0x1000|30125\n昭彰|0x40000000|38815\n昭昭|0x0100|913\n昭著|0x40000000|30674\n啁啾|0x80000|40287\n啁哳|0x40000000|0\n找病|0x1000|0\n找补|0x1000|41156\n找茬|0x1000|750\n找碴|0x1000|874\n找出|0x1000|536\n找错|0x0000|36764\n找到|0x1000|487\n找还|0x1000|1102\n找回|0x1000|500\n找乐|0x1000|829\n找零|0x1000|45179\n找平|0x1000|53553\n找齐|0x1000|45473\n找钱|0x1000|31366\n找事|0x1000|21504\n找死|0x1000|35612\n找头|0x100000|50442\n找寻|0x1000|12930\n找找|0x1000|580\n找辙|0x1000|0\n找准|0x0000|595\n沼地|0x100000|386\n沼气|0x100000|9599\n沼泽|0x100000|17702\n召唤|0x1000|12541\n召回|0x1000|10706\n召祸|0x1000|0\n召集|0x1000|5520\n召见|0x1000|11773\n召开|0x1000|1160\n召来|0x0080|512\n召募|0x0080|1048\n兆赫|0x20000|45777\n兆欧|0x0008|1496\n兆头|0x100000|27825\n兆瓦|0x20000|969\n兆周|0x20000|1375\n诏安|0x0080|1506\n诏令|0x100000|18548\n诏示|0x1000|0\n诏书|0x100000|17009\n诏谕|0x100000|1143\n赵体|0x100000|1163\n赵县|0x0040|1486\n笊篱|0x100000|43350\n照搬|0x1000|12266\n照办|0x1000|17216\n照壁|0x100000|38816\n照常|0x8000000|11892\n照抄|0x1000|19385\n照登|0x1000|47574\n照度|0x100000|834\n照发|0x1000|36577\n照拂|0x1000|44584\n照付|0x0080|49332\n照顾|0x1000|2647\n照管|0x1000|24865\n照海|0x0008|0\n照护|0x1000|47263\n照会|0x100000|20600\n照见|0x1000|874\n照旧|0x8000000|13506\n照看|0x1000|17108\n照理|0x1000|24308\n照例|0x8000000|6779\n照亮|0x1000|10309\n照料|0x1000|9322\n照临|0x1000|46644\n照录|0x1000|0\n照面|0x100000|810\n照明|0x1000|9370\n照排|0x1000|36404\n照片|0x100000|1544\n照墙|0x0000|50051\n照射|0x1000|10448\n照实|0x8000000|34137\n照说|0x8000000|34728\n照相|0x1000|9943\n照学|0x0080|0\n照眼|0x40000000|0\n照样|0x8000000|6761\n照耀|0x1000|10074\n照应|0x1000|36578\n照映|0x1000|986\n照章|0x1000|46360\n照照|0x1000|1318\n照直|0x8000000|39221\n照准|0x1000|30126\n照着|0x1000|10178\n照做|0x0000|533\n罩壳|0x0008|1134\n罩袍|0x100000|47264\n罩棚|0x100000|1256\n罩衫|0x100000|43101\n罩袖|0x100000|1388\n罩衣|0x100000|43570\n罩子|0x100000|32716\n肇东|0x0040|921\n肇端|0x100000|1170\n肇祸|0x1000|48586\n肇庆|0x0040|1059\n肇始|0x100000|37658\n肇事|0x1000|14566\n肇因|0x0008|1065\n肇源|0x0080|1001\n肇州|0x0080|1034\n遮敝|0x0008|0\n遮蔽|0x1000|21835\n遮藏|0x1000|0\n遮丑|0x1000|42109\n遮挡|0x100000|18383\n遮断|0x0000|47265\n遮盖|0x1000|17835\n遮光|0x1000|39649\n遮护|0x1000|54615\n遮拦|0x1000|26794\n遮瞒|0x1000|0\n遮羞|0x1000|35153\n遮掩|0x1000|13868\n遮眼|0x0000|396\n遮阳|0x100000|32338\n遮阴|0x0000|412\n遮荫|0x1000|1004\n遮住|0x1000|647\n折半|0x1000|1091\n折本|0x1000|48117\n折变|0x1000|1191\n折成|0x1000|493\n折秤|0x1000|0\n折尺|0x100000|1270\n折冲|0x1000|51674\n折刀|0x100000|1018\n折迭|0x100000|1059\n折叠|0x1000|18943\n折断|0x1000|687\n折兑|0x1000|1535\n折堕|0x0008|0\n折返|0x1000|36579\n折服|0x1000|20345\n折福|0x1000|54084\n折光|0x100000|37830\n折桂|0x1000|35023\n折耗|0x100000|0\n折合|0x1000|12523\n折痕|0x100000|960\n折回|0x1000|825\n折价|0x1000|26173\n折旧|0x1000|21552\n折扣|0x100000|12682\n折磨|0x1000|6102\n折起|0x100000|725\n折让|0x1000|994\n折辱|0x1000|1065\n折杀|0x1000|1060\n折扇|0x100000|29812\n折射|0x1000|8967\n折寿|0x1000|54085\n折算|0x1000|25389\n折损|0x0000|43571\n折腾|0x1000|7789\n折头|0x100000|0\n折弯|0x1000|821\n折线|0x100000|944\n折腰|0x1000|34897\n折页|0x100000|51231\n折椅|0x100000|1054\n折账|0x1000|0\n折褶|0x100000|0\n折枝|0x100000|885\n折纸|0x1000|48976\n折中|0x1000|31815\n折衷|0x1000|506\n折皱|0x100000|46959\n折转|0x1000|425\n折子|0x100000|32957\n哲理|0x100000|10947\n哲人|0x100000|18191\n哲思|0x100000|857\n哲学|0x100000|1127\n哲言|0x100000|0\n蛰虫|0x100000|0\n蛰伏|0x1000|30127\n蛰居|0x1000|37470\n谪居|0x1000|47889\n谪戍|0x1000|1199\n摺尺|0x0080|0\n摺叠|0x1000|1024\n摺扇|0x0080|0\n摺椅|0x0080|0\n辙叉|0x100000|1361\n辙迹|0x0080|0\n辙口|0x100000|1524\n赭色|0x100000|1065\n赭石|0x100000|51676\n褶痕|0x100000|1211\n褶曲|0x0008|0\n褶皱|0x100000|28593\n褶子|0x100000|38412\n这般|0x0008|7129\n这边|0x10000|506\n这不|0x800000|518\n这次|0x10000|494\n这点|0x200000|503\n这儿|0x10000|1987\n这个|0x10000|70\n这话|0x0008|543\n这类|0x0000|779\n这里|0x10000|150\n这么|0x10000|460\n这人|0x0000|728\n这时|0x10000|497\n这事|0x0000|731\n这位|0x10000|497\n这项|0x10000|558\n这些|0x10000|85\n这样|0x10000|73\n这种|0x10000|493\n柘城|0x0040|1534\n柘荣|0x0080|993\n浙大|0x100000|582\n浙东|0x0040|1333\n浙江|0x0040|2086\n浙西|0x100000|1394\n蔗农|0x100000|49684\n蔗糖|0x100000|23844\n蔗田|0x0000|52573\n蔗渣|0x100000|1122\n鹧鸪|0x100000|32462\n贞操|0x100000|27255\n贞德|0x0080|1368\n贞丰|0x0080|1055\n贞妇|0x0080|0\n贞观|0x0008|1224\n贞节|0x100000|30571\n贞洁|0x100000|33855\n贞烈|0x40000000|55061\n贞女|0x100000|1022\n贞淑|0x40000000|1144\n针鼻|0x100000|1204\n针砭|0x1000|39222\n针布|0x100000|1079\n针刺|0x100000|761\n针对|0x1000|1789\n针法|0x100000|48977\n针箍|0x100000|0\n针管|0x100000|51677\n针剂|0x100000|30998\n针尖|0x100000|834\n针脚|0x100000|43572\n针灸|0x100000|13631\n针孔|0x100000|42110\n针麻|0x100000|0\n针芒|0x100000|1152\n针盘|0x100000|0\n针筒|0x100000|904\n针头|0x100000|24100\n针线|0x100000|18077\n针眼|0x100000|39850\n针鼹|0x100000|1288\n针药|0x0000|52115\n针叶|0x100000|910\n针针|0x100000|0\n针织|0x4000000|20461\n针黹|0x100000|1043\n针炙|0x1000|987\n针状|0x0008|1000\n侦办|0x1000|38818\n侦测|0x1000|770\n侦查|0x1000|5315\n侦察|0x1000|8118\n侦获|0x1000|1\n侦缉|0x1000|38033\n侦结|0x1000|1041\n侦破|0x1000|8633\n侦探|0x100000|13036\n侦听|0x1000|50825\n侦讯|0x1000|50826\n珍爱|0x40000000|17519\n珍宝|0x100000|17031\n珍本|0x100000|35311\n珍藏|0x1000|11291\n珍存|0x100000|1\n珍贵|0x40000000|4456\n珍妮|0x0080|1245\n珍品|0x100000|13145\n珍奇|0x40000000|29484\n珍禽|0x100000|27985\n珍摄|0x1000|49685\n珍视|0x1000|9865\n珍玩|0x100000|41158\n珍闻|0x100000|51678\n珍物|0x100000|0\n珍惜|0x40000000|4972\n珍稀|0x40000000|11548\n珍馐|0x100000|41159\n珍异|0x100000|49333\n珍重|0x1000|20346\n珍珠|0x4000000|6995\n真棒|0x0000|536\n真诚|0x40000000|3171\n真除|0x0008|0\n真传|0x100000|37294\n真谛|0x100000|14866\n真鲷|0x100000|0\n真儿|0x100000|1054\n真格|0x100000|844\n真个|0x8000000|16461\n真果|0x100000|1096\n真话|0x100000|669\n真货|0x100000|905\n真迹|0x100000|29485\n真假|0x100000|13759\n真金|0x100000|817\n真经|0x100000|764\n真菌|0x100000|20385\n真空|0x100000|11139\n真理|0x100000|2642\n真率|0x40000000|384\n真名|0x100000|751\n真皮|0x100000|26591\n真品|0x100000|30880\n真切|0x40000000|9031\n真情|0x100000|5651\n真确|0x40000000|37295\n真人|0x100000|16704\n真容|0x100000|888\n真如|0x0000|588\n真身|0x100000|820\n真实|0x40000000|1133\n真事|0x100000|802\n真是|0x8000000|2264\n真释|0x100000|1541\n真书|0x100000|1093\n真数|0x100000|0\n真丝|0x100000|20842\n真髓|0x100000|1016\n真伪|0x100000|15137\n真相|0x100000|6827\n真心|0x100000|6848\n真性|0x100000|897\n真凶|0x100000|43103\n真言|0x100000|740\n真意|0x100000|27754\n真影|0x100000|1265\n真圆|0x0008|1077\n真真|0x8000000|650\n真正|0x8000000|345\n真知|0x100000|26942\n真值|0x100000|985\n真挚|0x40000000|9730\n真重|0x0008|1026\n真珠|0x100000|934\n真主|0x0008|28072\n真宗|0x0080|1525\n砧板|0x100000|41389\n砧木|0x100000|35462\n砧子|0x100000|33472\n斟茶|0x0080|1024\n斟酒|0x1000|26655\n斟酌|0x1000|15114\n甄别|0x1000|23728\n甄审|0x1000|1231\n甄选|0x1000|44889\n蓁蓁|0x0100|1048\n榛林|0x0080|0\n榛莽|0x100000|1208\n榛树|0x0008|1073\n榛榛|0x0100|1144\n榛属|0x100000|0\n榛子|0x100000|41625\n箴言|0x100000|29170\n臻于|0x1000|947\n诊病|0x1000|976\n诊查|0x1000|1110\n诊察|0x1000|39223\n诊断|0x1000|4291\n诊费|0x100000|35312\n诊疗|0x1000|13964\n诊脉|0x1000|44890\n诊视|0x1000|54089\n诊室|0x100000|23780\n诊所|0x100000|10613\n诊治|0x1000|11691\n枕边|0x8000|704\n枕骨|0x100000|53073\n枕藉|0x1000|1157\n枕巾|0x100000|35313\n枕木|0x100000|36929\n枕套|0x100000|41160\n枕头|0x100000|7992\n枕席|0x100000|39650\n枕心|0x100000|1082\n枕叶|0x100000|1206\n轸念|0x1000|0\n畛域|0x100000|1197\n疹子|0x100000|44585\n缜密|0x40000000|17803\n阵地|0x100000|3690\n阵发|0x1000|1\n阵法|0x100000|42836\n阵风|0x100000|32717\n阵脚|0x100000|21553\n阵列|0x100000|722\n阵前|0x8000|879\n阵容|0x100000|6978\n阵式|0x100000|53074\n阵势|0x100000|17988\n阵痛|0x100000|21133\n阵亡|0x1000|15498\n阵线|0x100000|11395\n阵形|0x100000|882\n阵营|0x100000|13869\n阵雨|0x100000|12834\n阵阵|0x20000|7970\n阵子|0x0000|31937\n鸩毒|0x100000|46645\n振拔|0x1000|1265\n振臂|0x1000|36249\n振荡|0x1000|15943\n振动|0x1000|8926\n振奋|0x1000|6134\n振幅|0x100000|47890\n振铃|0x100000|947\n振起|0x1000|1099\n振兴|0x1000|3151\n振翼|0x1000|1100\n振作|0x1000|14695\n朕兆|0x100000|1155\n赈济|0x1000|26504\n赈款|0x100000|1394\n赈恤|0x1000|1228\n赈灾|0x1000|23626\n镇安|0x0080|1504\n镇巴|0x0080|1012\n镇长|0x100000|8349\n镇尺|0x100000|55549\n镇定|0x40000000|10672\n镇反|0x1000|47891\n镇服|0x1000|0\n镇江|0x0040|979\n镇惊|0x0080|1092\n镇静|0x1000|9765\n镇康|0x0080|1052\n镇赉|0x0080|1007\n镇民|0x100000|926\n镇平|0x0080|1432\n镇坪|0x0080|1041\n镇日|0x100000|1017\n镇上|0x8000|719\n镇守|0x1000|17768\n镇痛|0x1000|30352\n镇心|0x0080|0\n镇星|0x0080|1084\n镇雄|0x0080|1051\n镇压|0x1000|9056\n镇原|0x0080|1009\n镇远|0x0080|1472\n镇镇|0x1000|461\n镇纸|0x100000|44891\n镇子|0x100000|18454\n震波|0x100000|52574\n震颤|0x1000|19439\n震旦|0x0008|1454\n震荡|0x1000|14918\n震动|0x1000|6379\n震耳|0x1000|21134\n震幅|0x100000|1099\n震感|0x100000|38413\n震骇|0x100000|1033\n震憾|0x1000|715\n震撼|0x1000|7359\n震级|0x100000|36406\n震惊|0x1000|5692\n震怒|0x1000|24612\n震情|0x100000|45180\n震区|0x0000|33856\n震慑|0x1000|13520\n震天|0x1000|752\n震响|0x1000|31367\n震央|0x0080|2\n震音|0x0080|1123\n震源|0x100000|33600\n震灾|0x100000|39851\n震中|0x100000|25112\n争霸|0x1000|25242\n争辩|0x1000|13442\n争吵|0x1000|9817\n争持|0x1000|34898\n争宠|0x1000|43813\n争创|0x1000|758\n争当|0x1000|782\n争得|0x1000|767\n争斗|0x100000|14742\n争端|0x100000|6764\n争夺|0x1000|4158\n争锋|0x1000|731\n争购|0x1000|38819\n争冠|0x1000|871\n争光|0x1000|12865\n争衡|0x1000|1157\n争脸|0x1000|55550\n争论|0x1000|5140\n争鸣|0x1000|21463\n争闹|0x1000|1122\n争气|0x40000000|14997\n争强|0x0000|54617\n争抢|0x1000|19440\n争取|0x1000|1662\n争权|0x1000|923\n争胜|0x1000|38202\n争先|0x1000|14785\n争相|0x8000000|10449\n争雄|0x1000|34424\n争艳|0x1000|47577\n争议|0x1000|4929\n争战|0x1000|50052\n争执|0x1000|9848\n争逐|0x1000|1049\n争着|0x0000|550\n争嘴|0x1000|53557\n征兵|0x1000|12038\n征尘|0x100000|41853\n征程|0x100000|10558\n征得|0x1000|762\n征地|0x1000|6821\n征调|0x1000|37659\n征订|0x1000|15101\n征发|0x1000|49686\n征伐|0x1000|31816\n征帆|0x100000|1103\n征夫|0x1000|1038\n征服|0x1000|6642\n征稿|0x1000|30236\n征购|0x1000|27173\n征管|0x1000|6632\n征候|0x100000|40069\n征婚|0x1000|25745\n征集|0x1000|6358\n征剿|0x0000|46073\n征缴|0x1000|905\n征粮|0x1000|36407\n征募|0x1000|52116\n征聘|0x1000|54618\n征求|0x1000|3876\n征实|0x1000|0\n征收|0x1000|4475\n征税|0x1000|11558\n征讨|0x1000|30353\n征途|0x100000|15653\n征文|0x1000|6548\n征象|0x100000|36250\n征询|0x1000|16882\n征引|0x1000|53558\n征用|0x1000|8515\n征战|0x1000|13650\n征召|0x1000|26305\n征兆|0x100000|19611\n征状|0x0008|1119\n怔忡|0x1000|42360\n怔怔|0x0100|14651\n怔住|0x1000|825\n峥嵘|0x100000|27583\n挣揣|0x1000|0\n挣得|0x1000|815\n挣断|0x1000|1048\n挣开|0x1000|836\n挣命|0x1000|1093\n挣钱|0x1000|6996\n挣脱|0x1000|11483\n挣扎|0x1000|5050\n狰狞|0x40000000|19386\n睁开|0x0000|727\n睁眼|0x1000|14436\n铮亮|0x1000|1043\n铮铮|0x80000|24155\n蒸饼|0x100000|55063\n蒸发|0x1000|9192\n蒸锅|0x100000|47267\n蒸饺|0x100000|49335\n蒸馏|0x1000|24866\n蒸笼|0x100000|27826\n蒸馍|0x1000|1144\n蒸呢|0x100000|0\n蒸气|0x100000|17703\n蒸汽|0x100000|13892\n蒸散|0x0008|0\n蒸食|0x100000|1112\n蒸腾|0x1000|19441\n蒸蒸|0x1000|644\n徵兵|0x0080|379\n徵候|0x0080|0\n徵募|0x0080|0\n徵收|0x0000|466\n徵召|0x0080|0\n徵兆|0x0080|446\n拯救|0x1000|8718\n整版|0x100000|24925\n整备|0x1000|31249\n整编|0x1000|23781\n整车|0x100000|701\n整饬|0x1000|30237\n整除|0x1000|963\n整党|0x100000|23677\n整地|0x1000|23969\n整点|0x100000|54090\n整队|0x1000|32583\n整顿|0x1000|2404\n整发|0x0080|0\n整风|0x1000|12846\n整幅|0x0080|1\n整复|0x1000|51233\n整改|0x1000|4345\n整个|0x20000000|1313\n整合|0x1000|4425\n整机|0x100000|21888\n整纪|0x0000|51234\n整件|0x0080|509\n整建|0x1000|1067\n整洁|0x40000000|8824\n整军|0x1000|974\n整垮|0x0000|51679\n整块|0x0080|531\n整理|0x1000|2720\n整料|0x100000|1322\n整流|0x1000|44892\n整年|0x8000000|793\n整篇|0x0000|476\n整齐|0x1000|5745\n整人|0x1000|25531\n整日|0x8000000|14094\n整容|0x1000|28156\n整式|0x100000|1094\n整饰|0x1000|50828\n整数|0x100000|26306\n整肃|0x1000|24309\n整宿|0x0000|50445\n整套|0x20000000|23627\n整体|0x20000000|1548\n整天|0x8000000|5391\n整形|0x1000|21938\n整型|0x0008|520\n整修|0x1000|12660\n整训|0x1000|44307\n整夜|0x8000000|16068\n整衣|0x0000|43351\n整月|0x8000000|49687\n整章|0x100000|1106\n整整|0x8000000|4295\n整枝|0x1000|49336\n整治|0x1000|3007\n整装|0x1000|37117\n正安|0x0080|973\n正版|0x20000000|17010\n正北|0x2000000|934\n正本|0x100000|33999\n正比|0x100000|24998\n正编|0x0000|54619\n正步|0x100000|35463\n正餐|0x100000|40496\n正册|0x100000|1137\n正常|0x40000000|1066\n正出|0x20000000|1057\n正传|0x100000|22558\n正大|0x40000000|32202\n正旦|0x100000|1097\n正当|0x40000000|10764\n正道|0x100000|17910\n正德|0x0008|1368\n正点|0x1000|29379\n正电|0x100000|34139\n正殿|0x100000|23970\n正定|0x0080|1326\n正东|0x2000000|777\n正法|0x1000|22712\n正反|0x100000|759\n正犯|0x0000|48234\n正方|0x100000|39224\n正房|0x100000|25800\n正逢|0x1000|846\n正负|0x100000|25532\n正副|0x100000|950\n正高|0x100000|980\n正告|0x1000|35924\n正割|0x100000|1263\n正格|0x0008|1092\n正根|0x0008|1257\n正宫|0x100000|46074\n正骨|0x1000|50053\n正光|0x0008|1000\n正规|0x40000000|7257\n正轨|0x100000|21287\n正果|0x100000|36086\n正好|0x8000000|3482\n正号|0x100000|1168\n正话|0x100000|1065\n正火|0x100000|1008\n正极|0x100000|40070\n正见|0x0000|482\n正交|0x100000|916\n正教|0x0020|1002\n正解|0x0000|504\n正经|0x100000|8119\n正剧|0x100000|34562\n正楷|0x100000|44586\n正课|0x100000|54620\n正理|0x100000|39023\n正梁|0x100000|1183\n正隆|0x0008|976\n正路|0x100000|23904\n正论|0x100000|44587\n正门|0x100000|22346\n正面|0x20000000|5398\n正名|0x1000|19472\n正南|0x100000|485\n正宁|0x0080|1071\n正牌|0x20000000|46075\n正派|0x40000000|9057\n正片|0x100000|51236\n正品|0x100000|37118\n正气|0x100000|6446\n正桥|0x100000|1232\n正巧|0x8000000|21020\n正切|0x100000|1017\n正确|0x40000000|838\n正日|0x4000|819\n正如|0x1000|2817\n正色|0x800000|15751\n正身|0x100000|38034\n正时|0x8000000|882\n正史|0x100000|25310\n正始|0x0008|1076\n正式|0x40000000|983\n正事|0x100000|22252\n正视|0x1000|8315\n正室|0x100000|966\n正是|0x1000|453\n正手|0x100000|49688\n正书|0x0080|1050\n正数|0x100000|45778\n正朔|0x100000|1062\n正堂|0x0000|47578\n正题|0x100000|25937\n正体|0x100000|52117\n正厅|0x100000|30881\n正统|0x100000|15965\n正途|0x100000|54621\n正位|0x100000|969\n正文|0x100000|1734\n正屋|0x100000|33857\n正午|0x4000|16069\n正误|0x100000|40706\n正西|0x100000|439\n正弦|0x100000|849\n正向|0x20000000|681\n正象|0x0008|1347\n正像|0x100000|748\n正心|0x0008|1539\n正行|0x0080|1474\n正凶|0x100000|53077\n正压|0x100000|941\n正盐|0x100000|1416\n正眼|0x8000000|36409\n正阳|0x4000|1264\n正要|0x8000000|10574\n正业|0x100000|41627\n正义|0x100000|4007\n正音|0x100000|51237\n正用|0x1000|10\n正月|0x4000|6269\n正在|0x8000000|221\n正则|0x100000|776\n正直|0x40000000|11300\n正值|0x1000|7192\n正职|0x100000|17804\n正治|0x0008|1117\n正中|0x2000000|10371\n正轴|0x0008|1291\n正字|0x100000|46962\n正宗|0x100000|16859\n正座|0x100000|51680\n证词|0x100000|26593\n证婚|0x1000|46963\n证见|0x1000|1138\n证件|0x100000|7011\n证据|0x100000|2540\n证明|0x1000|695\n证券|0x100000|3399\n证人|0x100000|12486\n证认|0x100000|0\n证实|0x1000|3374\n证书|0x100000|3564\n证物|0x100000|40497\n证言|0x100000|21554\n证验|0x100000|1146\n证章|0x100000|34730\n证照|0x100000|787\n诤臣|0x100000|1196\n诤谏|0x1000|1280\n诤言|0x100000|26022\n诤友|0x100000|37471\n郑重|0x40000000|6377\n郑州|0x0040|4150\n帧频|0x0000|431\n帧数|0x0000|495\n政变|0x1000|10575\n政柄|0x100000|1324\n政策|0x100000|492\n政党|0x100000|2981\n政敌|0x100000|35760\n政法|0x100000|4729\n政风|0x0000|16916\n政府|0x100000|183\n政纲|0x100000|33602\n政工|0x100000|14608\n政和|0x0080|1389\n政绩|0x100000|5188\n政纪|0x100000|21249\n政见|0x100000|27087\n政教|0x100000|35925\n政界|0x100000|11932\n政经|0x100000|822\n政局|0x100000|9275\n政客|0x100000|13741\n政令|0x100000|15276\n政略|0x100000|1153\n政论|0x100000|28516\n政派|0x100000|1335\n政企|0x100000|11408\n政情|0x100000|1073\n政区|0x100000|39651\n政权|0x100000|2398\n政商|0x100000|986\n政审|0x1000|34140\n政事|0x100000|13231\n政坛|0x100000|13349\n政体|0x100000|16480\n政通|0x1000|970\n政委|0x100000|3719\n政务|0x100000|4127\n政协|0x100000|2352\n政要|0x100000|13540\n政制|0x100000|46647\n政治|0x100000|194\n症候|0x100000|35926\n症结|0x100000|11670\n症状|0x100000|5076\n之多|0x0000|685\n之和|0x100000|774\n之后|0x2000000|247\n之极|0x0000|18759\n之际|0x2000000|2546\n之间|0x2000000|207\n之类|0x10000|498\n之流|0x10000|18355\n之内|0x0008|3810\n之前|0x2000000|957\n之上|0x2000000|4237\n之首|0x0000|10083\n之外|0x2000000|1444\n之下|0x2000000|2299\n之一|0x400000|609\n之义|0x0008|1285\n之中|0x2000000|682\n之子|0x0008|1000\n支边|0x1000|32080\n支拨|0x1000|0\n支部|0x100000|5125\n支差|0x0000|50446\n支撑|0x1000|3167\n支承|0x1000|913\n支持|0x1000|485\n支出|0x100000|2891\n支绌|0x1000|50831\n支点|0x100000|17805\n支店|0x0080|55065\n支队|0x100000|3969\n支付|0x1000|2730\n支杆|0x0080|1\n支沟|0x0008|1145\n支护|0x1000|900\n支会|0x100000|1060\n支架|0x100000|20721\n支教|0x0000|13246\n支解|0x1000|416\n支局|0x100000|31250\n支开|0x1000|481\n支棱|0x0000|51238\n支离|0x1000|28157\n支流|0x100000|10418\n支路|0x100000|40707\n支脉|0x100000|44589\n支那|0x100000|879\n支农|0x100000|832\n支派|0x100000|44308\n支配|0x1000|4644\n支票|0x100000|11028\n支前|0x1000|24310\n支渠|0x100000|48235\n支取|0x1000|23515\n支使|0x1000|917\n支书|0x100000|6845\n支枢|0x100000|0\n支数|0x0008|1056\n支索|0x0080|0\n支托|0x0080|0\n支委|0x100000|25801\n支吾|0x1000|19128\n支线|0x100000|13117\n支行|0x100000|9220\n支应|0x1000|48236\n支援|0x1000|3395\n支正|0x0008|0\n支支|0x0080|0\n支助|0x0008|961\n支柱|0x100000|4338\n支子|0x100000|55067\n支左|0x1000|1212\n支座|0x100000|973\n汁水|0x100000|49689\n汁液|0x100000|28073\n芝兰|0x100000|945\n芝麻|0x100000|11945\n芝诺|0x100000|1115\n吱扭|0x0000|38821\n吱声|0x1000|22769\n吱呀|0x80000|881\n吱吱|0x80000|726\n枝杈|0x100000|34564\n枝干|0x100000|27333\n枝江|0x0040|1413\n枝接|0x100000|0\n枝节|0x100000|28074\n枝柯|0x100000|1133\n枝蔓|0x100000|40284\n枝梢|0x100000|1065\n枝条|0x100000|13974\n枝头|0x100000|15730\n枝梧|0x1000|0\n枝丫|0x100000|41854\n枝桠|0x100000|838\n枝芽|0x0080|0\n枝叶|0x100000|13336\n枝子|0x100000|25060\n知本|0x0008|1368\n知道|0x1000|214\n知底|0x1000|44059\n知法|0x100000|982\n知府|0x100000|859\n知会|0x1000|42361\n知己|0x100000|14502\n知交|0x100000|39852\n知觉|0x100000|10791\n知了|0x100000|34899\n知名|0x40000000|3976\n知命|0x1000|38203\n知母|0x100000|1010\n知能|0x0008|1357\n知青|0x100000|6598\n知情|0x1000|7317\n知趣|0x40000000|22478\n知人|0x100000|816\n知识|0x100000|508\n知事|0x100000|926\n知网|0x100000|384\n知悉|0x1000|26102\n知县|0x100000|820\n知晓|0x1000|12146\n知心|0x40000000|14899\n知性|0x100000|704\n知音|0x100000|16139\n知友|0x0000|52575\n知遇|0x1000|28517\n知照|0x1000|46361\n知者|0x100000|803\n知州|0x100000|981\n知足|0x40000000|17433\n织补|0x1000|55068\n织布|0x4000000|21556\n织成|0x1000|811\n织法|0x0000|410\n织工|0x100000|1087\n织花|0x1000|0\n织机|0x100000|28075\n织金|0x0080|1542\n织锦|0x100000|32339\n织女|0x100000|32340\n织品|0x100000|47269\n织染|0x0000|47579\n织网|0x100000|852\n织物|0x100000|23628\n织造|0x100000|29705\n织轴|0x100000|0\n肢骨|0x100000|0\n肢解|0x1000|26103\n肢势|0x100000|1122\n肢体|0x100000|13870\n栀子|0x100000|42112\n脂肪|0x100000|9994\n脂粉|0x100000|18455\n脂膏|0x100000|46964\n脂油|0x100000|51682\n蜘蛛|0x100000|13431\n执拗|0x40000000|17167\n执棒|0x0000|36765\n执笔|0x1000|16025\n执鞭|0x1000|45476\n执导|0x1000|17109\n执罚|0x1000|45181\n执法|0x1000|1872\n执绋|0x1000|1290\n执纪|0x1000|1064\n执教|0x1000|11946\n执礼|0x1000|0\n执迷|0x1000|770\n执泥|0x40000000|0\n执勤|0x1000|8961\n执事|0x100000|921\n执委|0x100000|23050\n执行|0x1000|943\n执业|0x1000|7512\n执意|0x8000000|10829\n执友|0x100000|0\n执掌|0x1000|19835\n执照|0x100000|12062\n执政|0x1000|2372\n执著|0x40000000|11047\n执着|0x40000000|11047\n侄儿|0x100000|12026\n侄妇|0x100000|0\n侄女|0x100000|14462\n侄孙|0x100000|43106\n侄媳|0x100000|1197\n侄子|0x100000|16218\n直白|0x40000000|708\n直奔|0x1000|9986\n直逼|0x0000|26505\n直笔|0x100000|1167\n直拨|0x1000|39853\n直播|0x1000|8307\n直肠|0x100000|38822\n直陈|0x1000|1017\n直尺|0x100000|50055\n直冲|0x100000|706\n直传|0x1000|892\n直达|0x1000|13298\n直待|0x0000|41855\n直捣|0x1000|907\n直到|0x1000|1234\n直道|0x0040|865\n直抵|0x1000|507\n直读|0x0000|483\n直裰|0x100000|1186\n直发|0x0000|544\n直飞|0x0000|28336\n直感|0x100000|39652\n直根|0x100000|1177\n直观|0x40000000|10132\n直航|0x100000|13108\n直话|0x100000|1053\n直击|0x0000|45477\n直谏|0x1000|0\n直角|0x100000|18574\n直接|0x40000000|489\n直截|0x40000000|1043\n直径|0x100000|7743\n直觉|0x100000|9551\n直快|0x0000|54093\n直立|0x1000|15826\n直链|0x100000|1153\n直溜|0x40000000|51684\n直流|0x20000000|15805\n直路|0x0040|965\n直率|0x40000000|17243\n直落|0x1000|854\n直面|0x0000|13829\n直拍|0x100000|35154\n直喷|0x0008|1504\n直射|0x1000|768\n直视|0x1000|21939\n直书|0x1000|48238\n直抒|0x1000|0\n直爽|0x40000000|26795\n直说|0x1000|22970\n直体|0x100000|1193\n直条|0x0008|1023\n直挺|0x40000000|999\n直通|0x1000|13798\n直系|0x20000000|25938\n直辖|0x20000000|22610\n直线|0x100000|6836\n直销|0x1000|20462\n直行|0x1000|879\n直性|0x1000|0\n直选|0x1000|883\n直言|0x1000|12353\n直译|0x1000|31938\n直音|0x0008|0\n直营|0x20000000|812\n直直|0x0100|660\n直指|0x1000|691\n直至|0x1000|4653\n直属|0x20000000|7514\n值班|0x1000|5971\n值当|0x40000000|50832\n值得|0x1000|1064\n值钱|0x40000000|10292\n值勤|0x1000|14677\n值日|0x1000|32853\n值守|0x1000|866\n值星|0x1000|54623\n值夜|0x1000|37831\n值域|0x0008|1061\n值遇|0x1000|1188\n职别|0x100000|1155\n职称|0x100000|7348\n职大|0x0008|53079\n职分|0x100000|1105\n职蜂|0x0008|0\n职高|0x100000|30468\n职工|0x100000|1011\n职官|0x100000|1012\n职级|0x100000|965\n职教|0x100000|27174\n职介|0x100000|875\n职能|0x100000|2178\n职权|0x100000|4650\n职事|0x100000|429\n职守|0x100000|16415\n职司|0x100000|41162\n职位|0x100000|6162\n职务|0x100000|1933\n职衔|0x100000|29921\n职校|0x0000|31251\n职业|0x100000|1216\n职员|0x100000|7332\n职责|0x100000|2402\n职掌|0x1000|39226\n职志|0x0008|0\n植保|0x1000|27667\n植被|0x100000|5929\n植根|0x1000|30238\n植棉|0x0000|34000\n植苗|0x1000|54094\n植皮|0x1000|41856\n植入|0x1000|15654\n植树|0x1000|5455\n植物|0x100000|2235\n植株|0x100000|16502\n殖民|0x1000|9859\n跖骨|0x100000|1100\n踯躅|0x1000|31252\n止步|0x1000|19689\n止跌|0x1000|858\n止付|0x1000|1128\n止境|0x100000|17434\n止咳|0x1000|789\n止渴|0x1000|853\n止水|0x1000|793\n止痛|0x1000|23971\n止息|0x1000|36251\n止泻|0x1000|51241\n止血|0x1000|24739\n止痒|0x1000|860\n止住|0x1000|698\n只此|0x0000|500\n只当|0x10000000|26796\n只得|0x8000000|3885\n只读|0x20000000|721\n只顾|0x1000|6867\n只管|0x8000000|6500\n只好|0x8000000|1413\n只见|0x1000|533\n只能|0x8000000|493\n只怕|0x10000000|10207\n只求|0x1000|628\n只身|0x8000000|18524\n只是|0x8000000|437\n只限|0x1000|754\n只消|0x1000|31129\n只写|0x0000|527\n只须|0x0000|612\n只要|0x10000000|363\n只因|0x0000|13195\n只用|0x1000|601\n只有|0x10000000|156\n只只|0x20000|0\n只字|0x100000|776\n旨趣|0x100000|38414\n旨要|0x0000|53560\n旨意|0x100000|21889\n旨在|0x1000|4886\n纸板|0x100000|32463\n纸版|0x100000|49339\n纸包|0x100000|858\n纸杯|0x100000|785\n纸币|0x100000|15655\n纸厂|0x100000|823\n纸船|0x100000|937\n纸带|0x100000|959\n纸袋|0x100000|761\n纸灯|0x0000|372\n纸工|0x100000|0\n纸管|0x0008|1405\n纸盒|0x100000|728\n纸鹤|0x100000|739\n纸花|0x100000|953\n纸灰|0x100000|1026\n纸夹|0x100000|1131\n纸浆|0x100000|26236\n纸巾|0x100000|26174\n纸卷|0x0000|451\n纸马|0x100000|1119\n纸媒|0x0000|55552\n纸面|0x100000|29600\n纸捻|0x100000|44310\n纸牌|0x100000|26430\n纸盘|0x100000|1038\n纸片|0x100000|17836\n纸票|0x100000|1135\n纸钱|0x100000|23678\n纸人|0x100000|989\n纸伞|0x100000|1019\n纸扇|0x0008|987\n纸条|0x100000|9112\n纸团|0x100000|473\n纸匣|0x100000|1250\n纸箱|0x100000|23051\n纸屑|0x100000|852\n纸型|0x100000|45182\n纸烟|0x100000|17325\n纸样|0x100000|54095\n纸鹞|0x100000|1189\n纸鸢|0x100000|927\n纸张|0x100000|12722\n纸质|0x100000|771\n芷江|0x0040|1491\n咫尺|0x100000|26944\n指标|0x100000|2003\n指称|0x1000|878\n指斥|0x1000|35761\n指出|0x1000|753\n指错|0x1000|0\n指代|0x1000|896\n指导|0x1000|995\n指点|0x1000|8479\n指定|0x1000|3951\n指端|0x100000|1025\n指法|0x100000|45479\n指缝|0x100000|754\n指供|0x1000|0\n指骨|0x100000|48588\n指痕|0x0000|406\n指画|0x100000|46649\n指环|0x100000|36410\n指挥|0x1000|1121\n指甲|0x100000|11396\n指尖|0x100000|629\n指教|0x1000|19794\n指节|0x100000|972\n指靠|0x1000|40071\n指控|0x1000|8931\n指令|0x100000|8583\n指路|0x1000|777\n指名|0x1000|31130\n指明|0x1000|6445\n指南|0x100000|7318\n指派|0x1000|16048\n指认|0x1000|39442\n指涉|0x0008|1014\n指使|0x1000|13066\n指示|0x100000|2307\n指事|0x0008|1109\n指数|0x100000|4467\n指套|0x100000|916\n指头|0x100000|8256\n指望|0x1000|7622\n指纹|0x100000|14027\n指向|0x1000|11140\n指压|0x0000|467\n指引|0x1000|6316\n指印|0x100000|40498\n指责|0x1000|4760\n指摘|0x1000|24101\n指针|0x100000|11304\n指正|0x1000|32464\n指证|0x1000|46650\n指指|0x1000|712\n指着|0x1000|563\n枳壳|0x100000|1072\n枳实|0x100000|1064\n趾部|0x0080|0\n趾触|0x0080|0\n趾骨|0x100000|54624\n趾甲|0x100000|44592\n酯化|0x100000|414\n至爱|0x0000|31253\n至宝|0x100000|38415\n至诚|0x40000000|34900\n至迟|0x8000000|38204\n至此|0x1000|3598\n至大|0x100000|14\n至当|0x0000|43816\n至道|0x1000|439\n至德|0x1000|972\n至多|0x8000000|18706\n至高|0x0000|575\n至好|0x100000|54096\n至极|0x8000000|22140\n至交|0x100000|40499\n至今|0x8000000|1191\n至理|0x0000|32341\n至亲|0x100000|26104\n至情|0x1000|491\n至日|0x100000|7\n至若|0x10000000|0\n至善|0x0000|508\n至上|0x1000|11454\n至少|0x8000000|1150\n至深|0x0000|31474\n至圣|0x0000|37832\n至死|0x8000000|730\n至为|0x8000000|889\n至言|0x100000|0\n至阳|0x0008|1\n至阴|0x0008|1\n至友|0x100000|45183\n至于|0x8000000|1618\n至於|0x0000|663\n至元|0x0008|1523\n至正|0x0008|1539\n至尊|0x100000|25311\n志哀|0x1000|46965\n志成|0x0008|1418\n志丹|0x0080|1520\n志节|0x100000|0\n志气|0x100000|12343\n志庆|0x100000|1030\n志趣|0x100000|24357\n志士|0x100000|19129\n志室|0x0008|0\n志书|0x100000|1057\n志向|0x100000|14001\n志异|0x0080|516\n志愿|0x100000|4977\n志子|0x100000|1309\n制版|0x1000|33070\n制备|0x1000|14463\n制表|0x1000|44894\n制材|0x100000|1109\n制裁|0x1000|4960\n制成|0x1000|607\n制单|0x1000|993\n制导|0x1000|21558\n制订|0x1000|3908\n制定|0x1000|1224\n制动|0x1000|16571\n制毒|0x1000|897\n制度|0x100000|617\n制法|0x100000|828\n制粉|0x100000|916\n制伏|0x1000|995\n制服|0x4000000|8672\n制革|0x4000000|29172\n制衡|0x1000|17961\n制黄|0x1000|1122\n制剂|0x100000|11893\n制假|0x0000|8007\n制件|0x100000|45480\n制冷|0x1000|17520\n制面|0x0008|0\n制片|0x100000|19473\n制品|0x100000|4639\n制钱|0x100000|1135\n制取|0x1000|899\n制热|0x1000|48589\n制胜|0x1000|18318\n制式|0x100000|23516\n制售|0x1000|9359\n制糖|0x1000|897\n制图|0x1000|20640\n制宪|0x1000|16390\n制鞋|0x4000000|740\n制盐|0x1000|988\n制药|0x1000|8572\n制衣|0x1000|578\n制艺|0x100000|1209\n制约|0x1000|2435\n制造|0x1000|1336\n制止|0x1000|3748\n制种|0x0000|21212\n制作|0x1000|2230\n制做|0x1000|761\n治安|0x100000|2238\n治保|0x100000|19795\n治本|0x1000|8585\n治标|0x1000|19327\n治病|0x1000|6935\n治厂|0x100000|1060\n治多|0x0080|1105\n治服|0x0000|40285\n治国|0x1000|3429\n治河|0x1000|1024\n治淮|0x1000|419\n治黄|0x0000|41392\n治家|0x0000|28980\n治军|0x1000|898\n治理|0x1000|2010\n治疗|0x1000|1506\n治乱|0x1000|907\n治平|0x0008|1365\n治穷|0x0000|27584\n治权|0x100000|1031\n治丧|0x1000|29074\n治沙|0x1000|6506\n治山|0x0000|44311\n治世|0x1000|35927\n治水|0x1000|13265\n治污|0x0000|10666\n治下|0x0000|37298\n治学|0x1000|14381\n治印|0x1000|54625\n治愈|0x1000|10585\n治治|0x1000|1\n治装|0x1000|52577\n治罪|0x1000|22559\n炙烤|0x1000|49692\n炙热|0x40000000|50056\n质保|0x100000|707\n质变|0x1000|19209\n质地|0x100000|14304\n质点|0x100000|1021\n质对|0x0000|36581\n质感|0x100000|23629\n质检|0x100000|9419\n质粒|0x100000|1039\n质量|0x100000|886\n质料|0x100000|34001\n质膜|0x4000000|0\n质朴|0x40000000|11224\n质数|0x100000|958\n质体|0x100000|1044\n质问|0x1000|10758\n质心|0x100000|1128\n质询|0x1000|10944\n质押|0x1000|813\n质疑|0x1000|8518\n质优|0x0000|16807\n质证|0x1000|982\n质直|0x1000|1126\n质子|0x100000|900\n峙立|0x1000|0\n栉比|0x0100|1050\n栉沐|0x1000|1325\n挚爱|0x1000|18760\n挚诚|0x40000000|49693\n挚情|0x100000|35614\n挚友|0x100000|25866\n桎梏|0x100000|16808\n秩边|0x0008|0\n秩序|0x100000|1518\n致哀|0x1000|35928\n致癌|0x1000|19073\n致病|0x1000|12747\n致残|0x1000|20189\n致词|0x100000|13207\n致辞|0x100000|13207\n致电|0x1000|9971\n致富|0x1000|2999\n致函|0x1000|14919\n致贺|0x1000|39227\n致敬|0x1000|16117\n致冷|0x1000|1036\n致力|0x1000|4059\n致密|0x40000000|30469\n致命|0x1000|10316\n致歉|0x1000|27088\n致伤|0x1000|982\n致使|0x1000|3977\n致仕|0x100000|1020\n致死|0x1000|11349\n致谢|0x1000|21606\n致信|0x1000|784\n致以|0x1000|7612\n致意|0x1000|12880\n致用|0x0000|36582\n贽见|0x1000|0\n掷出|0x0000|510\n痔疮|0x100000|28789\n痔漏|0x100000|55553\n窒碍|0x1000|386\n窒闷|0x40000000|50449\n窒塞|0x1000|0\n窒息|0x1000|11173\n鸷鸟|0x100000|53080\n智齿|0x100000|848\n智斗|0x1000|771\n智慧|0x100000|2289\n智力|0x100000|4101\n智利|0x0040|1181\n智龄|0x0080|1333\n智略|0x100000|1075\n智谋|0x100000|28981\n智囊|0x100000|31475\n智能|0x100000|7490\n智巧|0x0080|0\n智擒|0x0000|53081\n智取|0x1000|30882\n智人|0x100000|996\n智商|0x100000|19010\n智胜|0x1000|953\n智识|0x20000000|1496\n智术|0x100000|1210\n智勇|0x100000|1275\n智育|0x100000|25061\n智障|0x100000|35314\n智者|0x100000|18356\n滞产|0x0008|0\n滞洪|0x1000|31369\n滞后|0x1000|6211\n滞留|0x1000|12956\n滞销|0x40000000|22524\n滞胀|0x1000|47271\n蛭石|0x100000|945\n稚蚕|0x0008|0\n稚嫩|0x40000000|17083\n稚气|0x100000|18319\n稚弱|0x40000000|0\n稚童|0x100000|50833\n稚拙|0x40000000|41163\n稚子|0x100000|46077\n置办|0x1000|24311\n置备|0x1000|38823\n置辩|0x1000|51686\n置顶|0x0008|708\n置放|0x1000|45780\n置换|0x1000|13483\n置喙|0x0000|50450\n置酒|0x1000|980\n置买|0x1000|1230\n置评|0x1000|52578\n置入|0x1000|815\n置身|0x1000|8829\n置信|0x1000|35025\n置业|0x1000|29286\n置疑|0x1000|16666\n置于|0x1000|7533\n雉鸡|0x100000|48978\n雉鸠|0x100000|1392\n中巴|0x100000|8999\n中班|0x100000|36933\n中板|0x100000|899\n中饱|0x1000|29922\n中保|0x100000|853\n中标|0x1000|11383\n中表|0x100000|26863\n中波|0x100000|42364\n中部|0x2000000|4408\n中彩|0x1000|48981\n中餐|0x100000|23782\n中册|0x100000|1030\n中策|0x0008|42113\n中层|0x100000|11174\n中产|0x100000|1133\n中长|0x20000000|800\n中常|0x40000000|19353\n中场|0x100000|635\n中程|0x20000000|35026\n中辍|0x1000|1075\n中词|0x100000|1148\n中弹|0x1000|25115\n中档|0x20000000|28518\n中道|0x100000|824\n中稻|0x100000|32959\n中的|0x0000|1817\n中等|0x20000000|5952\n中点|0x100000|28790\n中东|0x0040|3017\n中都|0x0000|667\n中毒|0x1000|6560\n中渎|0x0008|0\n中度|0x20000000|812\n中端|0x0000|45481\n中段|0x2000000|688\n中断|0x1000|6214\n中队|0x100000|6444\n中俄|0x0000|635\n中耳|0x100000|48979\n中法|0x100000|571\n中幡|0x0000|52579\n中饭|0x100000|22971\n中方|0x100000|661\n中纺|0x0008|897\n中非|0x0040|1227\n中分|0x0008|1338\n中风|0x1000|15367\n中封|0x0008|1\n中锋|0x100000|16178\n中缝|0x100000|48591\n中伏|0x4000|49340\n中服|0x100000|995\n中府|0x0008|0\n中钢|0x0008|1408\n中高|0x20000000|705\n中跟|0x0008|4\n中耕|0x1000|27089\n中共|0x0020|2569\n中古|0x4000|15848\n中国|0x0040|44\n中航|0x0008|794\n中号|0x0008|837\n中和|0x1000|29075\n中华|0x0020|1993\n中黄|0x0008|1534\n中级|0x20000000|5788\n中极|0x0008|3\n中集|0x0008|1341\n中计|0x1000|26720\n中技|0x100000|47584\n中继|0x20000000|783\n中坚|0x20000000|14867\n中间|0x2000000|1333\n中江|0x100000|1384\n中将|0x100000|10993\n中奖|0x1000|21376\n中焦|0x100000|1055\n中介|0x100000|3830\n中景|0x100000|846\n中局|0x100000|998\n中举|0x1000|891\n中觉|0x100000|0\n中军|0x100000|848\n中楷|0x100000|55070\n中看|0x40000000|30130\n中考|0x100000|20386\n中肯|0x40000000|18384\n中空|0x20000000|30572\n中魁|0x0008|0\n中栏|0x100000|1197\n中乐|0x0008|943\n中立|0x1000|11981\n中坜|0x0040|1371\n中流|0x100000|25174\n中路|0x20000000|18810\n中论|0x100000|430\n中落|0x1000|23203\n中美|0x0008|984\n中魔|0x1000|55909\n中牟|0x0080|1406\n中南|0x0080|12957\n中脑|0x100000|1114\n中年|0x100000|5795\n中宁|0x0080|1525\n中农|0x100000|17500\n中欧|0x100000|1213\n中派|0x100000|1051\n中盘|0x100000|15752\n中跑|0x100000|11\n中篇|0x20000000|25391\n中频|0x100000|50058\n中平|0x0008|1390\n中铺|0x100000|992\n中期|0x2000000|5359\n中气|0x100000|36087\n中签|0x1000|884\n中枪|0x0008|25\n中桥|0x0008|1272\n中情|0x1000|1384\n中秋|0x4000|10897\n中区|0x100000|743\n中泉|0x0008|0\n中人|0x100000|14271\n中日|0x100000|574\n中山|0x0008|773\n中伤|0x1000|29923\n中上|0x2000000|799\n中师|0x100000|988\n中士|0x100000|33071\n中世|0x20000000|996\n中式|0x1000|18320\n中视|0x0008|1224\n中枢|0x100000|16358\n中暑|0x1000|26506\n中水|0x0000|17189\n中苏|0x100000|507\n中速|0x100000|894\n中堂|0x100000|851\n中套|0x0008|938\n中天|0x4000|934\n中听|0x40000000|43575\n中庭|0x0008|865\n中统|0x0008|989\n中途|0x8000|10067\n中土|0x0020|1328\n中外|0x100000|2829\n中脘|0x0008|0\n中卫|0x100000|25114\n中尉|0x100000|21506\n中文|0x100000|3048\n中午|0x4000|2815\n中西|0x100000|8800\n中下|0x2000000|760\n中夏|0x0008|1023\n中线|0x100000|16315\n中小|0x20000000|477\n中校|0x100000|25680\n中邪|0x1000|45184\n中心|0x100000|582\n中信|0x0008|973\n中兴|0x1000|12147\n中行|0x100000|716\n中型|0x20000000|15753\n中性|0x20000000|15521\n中休|0x1000|1201\n中选|0x1000|17769\n中学|0x100000|1473\n中雪|0x100000|25312\n中旬|0x4000|5217\n中亚|0x0040|1138\n中央|0x100000|432\n中阳|0x0080|1408\n中药|0x100000|4799\n中叶|0x2000000|9849\n中医|0x100000|5524\n中意|0x0008|18812\n中音|0x100000|45482\n中庸|0x100000|21048\n中用|0x40000000|16007\n中油|0x100000|784\n中游|0x100000|14629\n中雨|0x100000|8568\n中元|0x0008|1453\n中原|0x0008|5008\n中院|0x100000|847\n中允|0x0000|52119\n中招|0x0008|738\n中正|0x40000000|1131\n中直|0x100000|886\n中值|0x100000|955\n中止|0x1000|9650\n中指|0x100000|14630\n中州|0x0008|1251\n中洲|0x0008|1485\n中轴|0x100000|476\n中渚|0x100000|0\n中专|0x100000|10777\n中转|0x1000|18945\n中装|0x100000|49341\n中缀|0x100000|1180\n中资|0x100000|10462\n中子|0x100000|13909\n忠臣|0x100000|13606\n忠诚|0x40000000|5218\n忠告|0x100000|16860\n忠骨|0x100000|48980\n忠厚|0x40000000|15731\n忠魂|0x100000|30239\n忠君|0x1000|954\n忠良|0x100000|29601\n忠烈|0x100000|37661\n忠仆|0x0080|0\n忠实|0x40000000|5733\n忠恕|0x0000|54098\n忠顺|0x40000000|43355\n忠县|0x0040|1240\n忠孝|0x100000|25392\n忠心|0x40000000|15986\n忠信|0x40000000|500\n忠言|0x100000|34902\n忠义|0x100000|20387\n忠勇|0x40000000|34427\n忠于|0x1000|7941\n忠贞|0x40000000|22437\n忠直|0x0000|38205\n终场|0x100000|18606\n终点|0x100000|10463\n终端|0x100000|9432\n终古|0x40000000|388\n终归|0x8000000|18357\n终极|0x8000000|15987\n终将|0x2000|16750\n终结|0x1000|11190\n终竟|0x8000000|1171\n终究|0x8000000|9133\n终久|0x8000000|40943\n终局|0x1000|36253\n终老|0x0000|48593\n终了|0x1000|28432\n终年|0x100000|13361\n终日|0x4000|10549\n终身|0x8000000|5097\n终审|0x100000|15179\n终生|0x4000|8340\n终岁|0x0000|40500\n终天|0x40000000|43817\n终席|0x0000|55555\n终夜|0x0000|45782\n终于|0x8000000|544\n终止|0x1000|7422\n盅子|0x100000|1306\n钟爱|0x1000|18811\n钟摆|0x100000|35157\n钟表|0x100000|18549\n钟点|0x100000|26374\n钟鼎|0x100000|51243\n钟鼓|0x100000|931\n钟架|0x0080|0\n钟馗|0x0008|39443\n钟离|0x100000|492\n钟楼|0x100000|20228\n钟琴|0x100000|1104\n钟情|0x40000000|19074\n钟山|0x0040|1294\n钟声|0x100000|646\n钟头|0x100000|8248\n钟祥|0x0040|1389\n钟意|0x1000|741\n衷肠|0x100000|35158\n衷情|0x100000|45483\n衷曲|0x100000|46651\n衷心|0x40000000|5428\n锺爱|0x0080|0\n螽斯|0x100000|42365\n肿大|0x1000|28433\n肿块|0x100000|35929\n肿瘤|0x100000|6949\n肿起|0x0000|483\n肿痛|0x100000|851\n肿胀|0x1000|23301\n种别|0x100000|1041\n种菜|0x1000|825\n种草|0x1000|519\n种差|0x100000|0\n种蛋|0x100000|49342\n种稻|0x1000|1077\n种地|0x1000|9978\n种痘|0x1000|47274\n种肥|0x100000|387\n种花|0x1000|767\n种类|0x100000|4761\n种麻|0x1000|1124\n种马|0x100000|44061\n种苗|0x100000|10091\n种牛|0x100000|33860\n种皮|0x100000|1074\n种禽|0x100000|39228\n种群|0x100000|11443\n种仁|0x0000|55556\n种树|0x1000|820\n种数|0x100000|1064\n种田|0x1000|8061\n种系|0x100000|0\n种姓|0x100000|27669\n种畜|0x100000|43356\n种羊|0x0000|29707\n种植|0x1000|2148\n种质|0x100000|929\n种种|0x20000|2140\n种猪|0x100000|34565\n种属|0x0000|32342\n种籽|0x100000|470\n种子|0x100000|2189\n种族|0x100000|7808\n踵武|0x1000|0\n踵至|0x1000|0\n仲巴|0x0040|1138\n仲裁|0x1000|6075\n仲春|0x4000|33357\n仲冬|0x4000|47895\n仲家|0x100000|0\n仲介|0x100000|499\n仲氢|0x0080|0\n仲秋|0x4000|35764\n仲孙|0x0080|435\n仲夏|0x4000|26237\n众多|0x400000|2063\n众怒|0x100000|31476\n众人|0x10000|3739\n众生|0x100000|22387\n众数|0x100000|417\n众说|0x100000|44594\n众望|0x100000|20799\n众院|0x100000|444\n重版|0x1000|39881\n重办|0x1000|48241\n重磅|0x100000|30675\n重臂|0x100000|1539\n重兵|0x100000|18078\n重病|0x100000|13266\n重播|0x1000|31957\n重彩|0x100000|38035\n重残|0x0000|44595\n重茬|0x0008|0\n重唱|0x1000|32869\n重臣|0x100000|29076\n重惩|0x1000|0\n重出|0x0000|47628\n重创|0x1000|17295\n重锤|0x0000|480\n重达|0x1000|536\n重打|0x0000|445\n重大|0x40000000|679\n重担|0x100000|12123\n重弹|0x0000|43129\n重蹈|0x1000|812\n重地|0x100000|21990\n重典|0x100000|982\n重点|0x100000|992\n重迭|0x1000|1027\n重叠|0x1000|12917\n重读|0x1000|23679\n重睹|0x0000|49740\n重度|0x20000000|768\n重发|0x0000|536\n重罚|0x100000|22388\n重返|0x1000|7884\n重犯|0x100000|41419\n重访|0x1000|975\n重放|0x0000|514\n重逢|0x1000|17371\n重负|0x100000|23729\n重复|0x1000|2612\n重覆|0x0000|520\n重工|0x100000|727\n重估|0x1000|529\n重光|0x1000|41889\n重合|0x1000|21103\n重荷|0x100000|50059\n重画|0x0000|431\n重话|0x100000|3\n重回|0x1000|652\n重婚|0x1000|25124\n重活|0x100000|884\n重获|0x0000|547\n重击|0x1000|823\n重价|0x100000|46079\n重建|0x1000|3608\n重剑|0x0008|30676\n重奖|0x1000|17084\n重金|0x100000|18490\n重九|0x404000|0\n重聚|0x0000|43386\n重开|0x1000|802\n重考|0x0000|480\n重力|0x100000|13338\n重利|0x100000|41395\n重量|0x100000|7341\n重楼|0x0008|0\n重码|0x100000|1037\n重名|0x1000|38854\n重拍|0x0008|823\n重排|0x1000|942\n重判|0x0000|42620\n重炮|0x100000|38618\n重氢|0x100000|1238\n重庆|0x0040|1799\n重拳|0x100000|35159\n重任|0x100000|5909\n重伤|0x100000|9818\n重赏|0x1000|23567\n重设|0x100000|879\n重申|0x1000|4082\n重审|0x1000|30488\n重生|0x1000|35179\n重石|0x100000|0\n重视|0x40000000|862\n重试|0x0000|584\n重述|0x1000|938\n重数|0x100000|0\n重水|0x100000|29381\n重税|0x100000|956\n重说|0x0000|419\n重塑|0x1000|726\n重孙|0x100000|43617\n重提|0x1000|23573\n重听|0x1000|50060\n重头|0x100000|37122\n重托|0x100000|11746\n重望|0x100000|2\n重围|0x100000|20155\n重温|0x1000|10260\n重物|0x100000|789\n重现|0x1000|11720\n重霄|0x100000|54714\n重孝|0x100000|46365\n重写|0x0008|735\n重心|0x100000|8778\n重新|0x8000000|673\n重行|0x8000000|32484\n重型|0x20000000|12981\n重修|0x1000|28804\n重选|0x0000|439\n重压|0x1000|21213\n重言|0x100000|44932\n重檐|0x100000|46693\n重演|0x1000|13326\n重阳|0x4000|28607\n重洋|0x100000|34593\n重样|0x1000|49031\n重要|0x40000000|129\n重译|0x0000|32221\n重音|0x100000|34731\n重印|0x1000|27838\n重影|0x0000|52173\n重映|0x0000|54715\n重用|0x1000|12007\n重油|0x100000|23568\n重游|0x0000|508\n重于|0x1000|744\n重圆|0x0000|36962\n重灾|0x0000|45484\n重载|0x1000|31254\n重在|0x1000|688\n重责|0x100000|38619\n重张|0x0000|50897\n重振|0x1000|15203\n重镇|0x100000|13432\n重整|0x1000|24038\n重症|0x100000|570\n重置|0x1000|839\n重重|0x8000000|5757\n重装|0x0000|673\n重子|0x100000|1113\n重奏|0x100000|35946\n重组|0x1000|3824\n重罪|0x100000|883\n重做|0x0000|534\n州长|0x100000|11719\n州官|0x100000|985\n州际|0x40000000|406\n州界|0x100000|1159\n州郡|0x100000|945\n州立|0x20000000|804\n州牧|0x100000|1038\n舟车|0x100000|40072\n舟楫|0x100000|36584\n舟皿|0x0080|0\n舟桥|0x100000|39026\n舟曲|0x0080|1095\n舟山|0x0040|1096\n舟子|0x100000|990\n周报|0x100000|17806\n周边|0x2000000|3950\n周遍|0x2000000|55557\n周波|0x100000|46967\n周长|0x100000|29924\n周朝|0x4000|899\n周代|0x4000|927\n周到|0x40000000|7367\n周道|0x0000|432\n周二|0x404000|44\n周会|0x100000|991\n周济|0x1000|16645\n周角|0x100000|1336\n周界|0x100000|946\n周刊|0x100000|2513\n周口|0x0040|1117\n周礼|0x0080|1450\n周六|0x404000|65\n周率|0x100000|1214\n周密|0x40000000|7873\n周末|0x4000|4234\n周年|0x4000|1971\n周宁|0x0080|1501\n周期|0x100000|4130\n周全|0x1000|15656\n周日|0x4000|18607\n周荣|0x0080|0\n周三|0x404000|52\n周身|0x100000|14652\n周书|0x0000|420\n周四|0x404000|48\n周岁|0x1000|9067\n周天|0x0000|42839\n周围|0x2000000|1280\n周五|0x404000|74\n周详|0x40000000|36088\n周薪|0x100000|990\n周旋|0x1000|13433\n周延|0x1000|46652\n周一|0x404000|52\n周易|0x0008|1144\n周游|0x1000|25746\n周缘|0x100000|1181\n周匝|0x100000|1127\n周遭|0x2000000|36089\n周章|0x40000000|1432\n周折|0x40000000|19011\n周正|0x0080|32584\n周知|0x0080|40944\n周至|0x0080|1414\n周周|0x0080|503\n周转|0x1000|11582\n洲际|0x20000000|24358\n洲界|0x100000|0\n妯娌|0x100000|27430\n轴衬|0x0008|1252\n轴承|0x100000|18575\n轴封|0x0008|0\n轴颈|0x100000|1172\n轴距|0x100000|49694\n轴流|0x0008|1315\n轴套|0x100000|957\n轴突|0x100000|1147\n轴瓦|0x100000|912\n轴线|0x100000|25940\n轴箱|0x0008|1223\n轴向|0x0000|512\n轴心|0x100000|17704\n轴子|0x100000|1239\n肘部|0x100000|896\n肘尖|0x0008|0\n肘窝|0x100000|55558\n肘腋|0x100000|41164\n肘子|0x100000|32585\n咒骂|0x1000|14974\n咒文|0x100000|921\n咒语|0x100000|25464\n咒诅|0x1000|1004\n宙斯|0x0008|1299\n绉布|0x100000|1109\n绉纱|0x100000|51247\n昼间|0x4000|1092\n昼夜|0x4000|6674\n皱襞|0x100000|1129\n皱痕|0x100000|54100\n皱眉|0x1000|16614\n皱起|0x0080|640\n皱缩|0x1000|1053\n皱胃|0x100000|0\n皱纹|0x100000|8857\n皱折|0x0000|39444\n皱摺|0x0080|0\n皱褶|0x100000|28158\n骤变|0x1000|37474\n骤降|0x1000|30783\n骤起|0x1000|30677\n骤然|0x8000000|9155\n骤雨|0x100000|31132\n骤增|0x1000|32856\n籀书|0x0008|0\n籀文|0x100000|0\n朱笔|0x100000|33072\n朱顶|0x100000|1126\n朱红|0x100000|24546\n朱鹮|0x100000|0\n朱槿|0x0080|1117\n朱门|0x100000|39229\n朱墨|0x100000|1126\n朱诺|0x0080|1010\n朱批|0x100000|46366\n朱漆|0x100000|32343\n朱雀|0x100000|38824\n朱色|0x100000|1106\n朱砂|0x100000|29487\n朱文|0x0080|41165\n朱熹|0x0080|835\n朱鹦|0x0000|54628\n侏儒|0x100000|26105\n诛除|0x1000|0\n诛戮|0x1000|33603\n诛灭|0x1000|994\n诛求|0x1000|1203\n诛杀|0x1000|45485\n茱萸|0x100000|52122\n株距|0x100000|54101\n株连|0x1000|26864\n株守|0x1000|0\n株型|0x100000|54629\n株州|0x100000|1307\n株洲|0x0040|1059\n株株|0x20000|0\n珠蚌|0x100000|51688\n珠宝|0x100000|13651\n珠被|0x0008|0\n珠翠|0x100000|43576\n珠儿|0x100000|926\n珠峰|0x0040|9546\n珠光|0x100000|558\n珠海|0x0040|843\n珠花|0x0000|47897\n珠玑|0x100000|42841\n珠江|0x0040|9731\n珠孔|0x0080|0\n珠兰|0x0080|53082\n珠泪|0x100000|925\n珠帘|0x100000|39445\n珠母|0x100000|1270\n珠饰|0x0000|402\n珠算|0x100000|38620\n珠托|0x0080|0\n珠芽|0x0080|0\n珠玉|0x100000|895\n珠子|0x100000|15329\n诸般|0x1000000|866\n诸城|0x100000|1379\n诸多|0x400000|3936\n诸葛|0x0080|30131\n诸公|0x0000|30132\n诸侯|0x100000|12932\n诸暨|0x0040|1166\n诸君|0x10000|15849\n诸如|0x1000|5861\n诸位|0x10000|9776\n诸子|0x100000|24740\n猪草|0x100000|34428\n猪场|0x100000|23404\n猪洞|0x0040|0\n猪儿|0x100000|929\n猪肝|0x100000|28690\n猪狗|0x0000|29287\n猪倌|0x100000|1073\n猪獾|0x100000|1327\n猪脚|0x0008|851\n猪栏|0x100000|39855\n猪苓|0x100000|1071\n猪猡|0x100000|39856\n猪苗|0x100000|1082\n猪脑|0x100000|905\n猪年|0x4000|594\n猪排|0x100000|45486\n猪皮|0x100000|876\n猪圈|0x100000|16359\n猪肉|0x100000|637\n猪舍|0x100000|31705\n猪食|0x100000|34903\n猪蹄|0x0008|41859\n猪头|0x0008|595\n猪娃|0x100000|39027\n猪尾|0x0000|405\n猪瘟|0x100000|40501\n猪窝|0x0000|53083\n猪血|0x0008|1442\n猪油|0x100000|28594\n猪崽|0x100000|38621\n猪仔|0x100000|827\n猪鬃|0x100000|45783\n猪嘴|0x0000|393\n蛛丝|0x0080|919\n蛛网|0x100000|24102\n蛛蛛|0x100000|868\n潴留|0x1000|54102\n竹板|0x100000|33073\n竹北|0x0040|1488\n竹编|0x20000000|34265\n竹鞭|0x100000|1154\n竹帛|0x100000|48595\n竹布|0x100000|35615\n竹材|0x100000|966\n竹凳|0x0000|44312\n竹笛|0x100000|875\n竹雕|0x100000|53084\n竹筏|0x100000|42115\n竹竿|0x100000|16416\n竹杠|0x0000|33861\n竹管|0x100000|1052\n竹黄|0x100000|1214\n竹簧|0x100000|1317\n竹鸡|0x0000|50451\n竹简|0x100000|31585\n竹剑|0x0000|423\n竹浆|0x100000|1130\n竹节|0x100000|41860\n竹刻|0x100000|51248\n竹筷|0x0008|36767\n竹筐|0x100000|33604\n竹篮|0x100000|23972\n竹篱|0x100000|37299\n竹沥|0x0008|0\n竹笠|0x100000|51249\n竹帘|0x100000|32960\n竹林|0x100000|12157\n竹笼|0x100000|40945\n竹楼|0x100000|36411\n竹篓|0x100000|1019\n竹马|0x100000|44596\n竹篾|0x100000|1056\n竹排|0x100000|35765\n竹片|0x100000|922\n竹器|0x100000|42621\n竹签|0x100000|902\n竹琴|0x100000|1268\n竹茹|0x100000|1159\n竹山|0x0040|1349\n竹书|0x0008|0\n竹丝|0x100000|981\n竹荪|0x0008|50452\n竹笋|0x100000|22859\n竹榻|0x0000|42622\n竹条|0x100000|1053\n竹筒|0x100000|21991\n竹溪|0x0080|1454\n竹席|0x100000|46968\n竹箱|0x100000|53564\n竹叶|0x100000|26175\n竹椅|0x100000|31941\n竹芋|0x100000|1151\n竹韵|0x100000|958\n竹枝|0x100000|917\n竹纸|0x100000|52581\n竹子|0x100000|13016\n烛光|0x100000|15657\n烛花|0x100000|50453\n烛火|0x100000|39653\n烛剪|0x100000|0\n烛泪|0x100000|54103\n烛台|0x100000|30883\n烛影|0x100000|926\n逐步|0x8000000|1430\n逐臭|0x1000|1142\n逐出|0x1000|788\n逐次|0x0008|43107\n逐个|0x8000000|17807\n逐户|0x0000|21465\n逐级|0x8000000|14233\n逐渐|0x8000000|1245\n逐句|0x0080|43108\n逐客|0x1000|1018\n逐鹿|0x1000|38036\n逐年|0x8000000|5771\n逐日|0x8000000|21288\n逐条|0x8000000|24031\n逐项|0x8000000|19652\n逐行|0x0080|0\n逐一|0x8400000|11228\n逐月|0x8000000|22303\n逐字|0x8000000|953\n舳舻|0x100000|1173\n主板|0x100000|528\n主版|0x100000|547\n主办|0x1000|2868\n主笔|0x100000|28595\n主编|0x1000|5694\n主宾|0x0000|426\n主裁|0x100000|50062\n主菜|0x100000|846\n主产|0x100000|26238\n主场|0x100000|5527\n主唱|0x100000|46653\n主潮|0x100000|1147\n主持|0x1000|1658\n主厨|0x100000|52582\n主创|0x0000|25175\n主词|0x100000|1059\n主次|0x100000|26023\n主从|0x100000|38825\n主存|0x100000|1105\n主打|0x0000|25867\n主刀|0x1000|33605\n主导|0x100000|3133\n主调|0x100000|45487\n主动|0x40000000|1179\n主队|0x100000|24616\n主儿|0x100000|15620\n主伐|0x1000|0\n主罚|0x0000|33359\n主帆|0x100000|0\n主犯|0x100000|20888\n主峰|0x100000|22348\n主妇|0x100000|14951\n主干|0x100000|16572\n主格|0x100000|1065\n主根|0x100000|41861\n主公|0x100000|868\n主攻|0x1000|11762\n主顾|0x100000|21183\n主观|0x40000000|4051\n主官|0x100000|46\n主管|0x1000|2411\n主婚|0x1000|49695\n主机|0x100000|14768\n主祭|0x1000|39446\n主家|0x100000|1\n主见|0x100000|19155\n主键|0x0000|545\n主将|0x100000|18978\n主讲|0x1000|20489\n主角|0x100000|6580\n主叫|0x1000|885\n主教|0x100000|16730\n主句|0x100000|1082\n主考|0x100000|34266\n主科|0x100000|1033\n主客|0x100000|546\n主课|0x100000|38826\n主控|0x20000000|822\n主理|0x1000|50454\n主力|0x100000|5151\n主粮|0x100000|47275\n主料|0x100000|843\n主流|0x100000|5022\n主楼|0x100000|24414\n主面|0x100000|1117\n主谋|0x100000|28435\n主脑|0x100000|44062\n主炮|0x0000|499\n主频|0x100000|724\n主仆|0x100000|878\n主桥|0x0000|35315\n主权|0x100000|3034\n主人|0x100000|2088\n主任|0x100000|426\n主上|0x100000|1\n主审|0x100000|924\n主食|0x100000|22141\n主使|0x1000|30240\n主事|0x1000|20190\n主帅|0x100000|14480\n主诉|0x1000|30241\n主题|0x100000|1634\n主体|0x100000|1602\n主桅|0x100000|0\n主委|0x100000|933\n主谓|0x100000|950\n主文|0x100000|52123\n主席|0x100000|545\n主线|0x100000|7083\n主项|0x100000|45784\n主销|0x0000|30884\n主星|0x100000|947\n主刑|0x100000|1123\n主修|0x1000|42116\n主演|0x1000|12100\n主要|0x20000000|243\n主业|0x100000|11141\n主页|0x100000|16809\n主义|0x100000|1463\n主意|0x100000|3419\n主因|0x100000|24811\n主音|0x100000|866\n主营|0x1000|34429\n主语|0x100000|23204\n主宰|0x100000|12461\n主责|0x0000|53086\n主战|0x1000|25681\n主张|0x1000|1020\n主掌|0x1000|1038\n主政|0x1000|32586\n主枝|0x100000|48983\n主旨|0x100000|12775\n主治|0x1000|27907\n主轴|0x100000|29813\n主抓|0x1000|965\n主子|0x100000|11711\n拄杖|0x1000|1101\n属地|0x100000|19683\n属国|0x100000|39165\n属目|0x1000|0\n属实|0x1000|15819\n属望|0x1000|0\n属下|0x100000|22425\n属相|0x100000|40010\n属性|0x100000|7321\n属意|0x1000|46367\n属于|0x1000|878\n属於|0x1000|665\n属员|0x100000|43984\n煮蛋|0x0000|431\n煮饭|0x1000|726\n煮沸|0x1000|30573\n煮茧|0x100000|0\n煮练|0x0008|0\n煮熟|0x0080|600\n煮汁|0x0080|0\n煮煮|0x0080|0\n嘱咐|0x1000|6568\n嘱托|0x1000|14590\n瞩目|0x1000|8864\n瞩望|0x1000|43577\n伫候|0x1000|48242\n伫立|0x1000|15869\n伫列|0x0008|0\n住持|0x100000|32081\n住处|0x100000|8224\n住地|0x100000|23405\n住店|0x1000|886\n住读|0x1000|43818\n住房|0x100000|2567\n住户|0x100000|11015\n住家|0x100000|23730\n住进|0x0000|632\n住居|0x1000|1089\n住口|0x1000|26024\n住民|0x0008|779\n住手|0x1000|25394\n住寺|0x1000|0\n住宿|0x1000|9675\n住所|0x100000|11549\n住屋|0x0008|450\n住下|0x1000|763\n住校|0x1000|30784\n住友|0x0008|1357\n住院|0x1000|4759\n住在|0x1000|478\n住宅|0x100000|4032\n住诊|0x0008|0\n住址|0x100000|15414\n住嘴|0x1000|28519\n助残|0x1000|14095\n助产|0x1000|41166\n助长|0x1000|10929\n助词|0x100000|50455\n助耕|0x1000|1281\n助工|0x0008|1063\n助攻|0x1000|24415\n助剂|0x100000|600\n助教|0x100000|22390\n助理|0x20000000|5112\n助力|0x100000|676\n助跑|0x1000|41631\n助燃|0x100000|44597\n助人|0x1000|712\n助手|0x100000|8005\n助推|0x1000|708\n助威|0x1000|18415\n助兴|0x1000|21507\n助选|0x0000|41396\n助学|0x1000|5194\n助研|0x0008|46368\n助益|0x100000|856\n助战|0x1000|33474\n助阵|0x1000|27987\n苎麻|0x100000|33862\n注标|0x0080|0\n注册|0x1000|3112\n注定|0x1000|7847\n注脚|0x100000|27176\n注解|0x100000|20389\n注满|0x0080|481\n注明|0x1000|11213\n注目|0x1000|14567\n注入|0x1000|4674\n注射|0x1000|8754\n注视|0x1000|5396\n注释|0x100000|14709\n注疏|0x100000|43109\n注水|0x1000|19043\n注塑|0x100000|43578\n注文|0x100000|48243\n注销|0x1000|15415\n注意|0x40000000|375\n注音|0x100000|31477\n注油|0x0000|435\n注重|0x40000000|2042\n注资|0x1000|801\n贮备|0x1000|37301\n贮藏|0x1000|15988\n贮槽|0x100000|1056\n贮存|0x1000|12524\n贮量|0x0000|51689\n贮水|0x1000|424\n贮运|0x1000|43819\n驻跸|0x1000|1070\n驻波|0x100000|1045\n驻地|0x100000|6382\n驻防|0x1000|26721\n驻华|0x1000|4683\n驻京|0x40000000|503\n驻军|0x100000|6915\n驻留|0x1000|34732\n驻守|0x1000|11792\n驻屯|0x1000|50838\n驻外|0x1000|10618\n驻颜|0x1000|461\n驻扎|0x1000|8447\n驻足|0x1000|12577\n柱础|0x100000|1110\n柱廊|0x100000|52124\n柱面|0x0000|472\n柱塞|0x0080|460\n柱身|0x100000|1168\n柱石|0x100000|30471\n柱体|0x100000|1047\n柱头|0x100000|33719\n柱状|0x0008|1490\n柱子|0x100000|6708\n祝词|0x100000|23973\n祝辞|0x100000|980\n祝祷|0x1000|42117\n祝典|0x0080|1536\n祝福|0x1000|6431\n祝告|0x1000|55559\n祝贺|0x1000|2785\n祝捷|0x1000|40502\n祝酒|0x1000|38206\n祝寿|0x1000|22560\n祝颂|0x1000|54105\n祝愿|0x1000|5099\n疰夏|0x0008|1231\n著称|0x1000|11966\n著录|0x1000|17808\n著名|0x40000000|984\n著色|0x0000|427\n著书|0x1000|19354\n著述|0x100000|16810\n著文|0x1000|33075\n著有|0x1000|566\n著者|0x100000|21214\n著作|0x100000|2721\n蛀齿|0x100000|1340\n蛀虫|0x100000|27090\n蛀蚀|0x1000|54631\n蛀牙|0x100000|51250\n筑坝|0x1000|1028\n筑宾|0x0008|0\n筑巢|0x1000|851\n筑成|0x1000|887\n筑城|0x1000|910\n筑堤|0x1000|36768\n筑路|0x1000|17244\n筑墙|0x1000|988\n铸币|0x100000|37475\n铸成|0x1000|21093\n铸道|0x0080|0\n铸锭|0x100000|1100\n铸锻|0x1000|882\n铸钢|0x4000000|1266\n铸工|0x100000|51690\n铸件|0x100000|40503\n铸就|0x1000|734\n铸模|0x100000|1056\n铸石|0x100000|1102\n铸铁|0x100000|26797\n铸铜|0x0080|925\n铸型|0x100000|1093\n铸造|0x1000|12148\n铸字|0x1000|1196\n抓捕|0x1000|13551\n抓差|0x1000|53567\n抓点|0x1000|50456\n抓斗|0x100000|52125\n抓赌|0x1000|50457\n抓饭|0x100000|49345\n抓好|0x1000|657\n抓痕|0x0000|434\n抓获|0x1000|5328\n抓髻|0x0000|54106\n抓紧|0x1000|2812\n抓阄|0x1000|937\n抓举|0x100000|23406\n抓狂|0x0008|2\n抓牢|0x0000|472\n抓挠|0x100000|991\n抓拍|0x1000|42119\n抓起|0x1000|637\n抓取|0x1000|673\n抓伤|0x0000|475\n抓手|0x100000|875\n抓瞎|0x1000|46081\n抓痒|0x1000|933\n抓药|0x1000|31586\n抓住|0x1000|888\n抓抓|0x0000|510\n抓走|0x1000|860\n髽髻|0x100000|0\n爪儿|0x100000|1197\n爪哇|0x100000|1333\n爪牙|0x100000|21335\n爪子|0x100000|20641\n专案|0x100000|24213\n专版|0x100000|10792\n专才|0x100000|53088\n专差|0x100000|53089\n专长|0x100000|15696\n专场|0x100000|11264\n专车|0x100000|17884\n专诚|0x8000000|45185\n专程|0x8000000|6936\n专宠|0x0000|43110\n专递|0x100000|783\n专电|0x100000|14044\n专断|0x40000000|32961\n专访|0x100000|7564\n专干|0x100000|1013\n专稿|0x100000|34002\n专攻|0x1000|24103\n专供|0x0000|26594\n专管|0x0008|28076\n专柜|0x100000|22037\n专函|0x100000|1157\n专号|0x100000|37662\n专横|0x40000000|28338\n专户|0x100000|879\n专机|0x100000|8233\n专集|0x100000|31372\n专辑|0x100000|19723\n专家|0x100000|861\n专刊|0x100000|23974\n专科|0x100000|10948\n专款|0x100000|10269\n专栏|0x100000|7819\n专利|0x100000|3051\n专列|0x100000|14653\n专论|0x100000|21336\n专卖|0x1000|17061\n专美|0x1000|1022\n专门|0x8000000|964\n专名|0x100000|52126\n专区|0x100000|21992\n专权|0x1000|29488\n专人|0x100000|8649\n专任|0x1000|29602\n专擅|0x1000|38207\n专设|0x1000|485\n专史|0x100000|0\n专使|0x100000|29814\n专士|0x0008|0\n专事|0x1000|926\n专署|0x100000|30999\n专司|0x1000|958\n专题|0x100000|3243\n专文|0x100000|961\n专线|0x100000|11834\n专向|0x100000|1070\n专项|0x100000|2763\n专心|0x40000000|12542\n专修|0x1000|29173\n专业|0x100000|1107\n专页|0x0000|15574\n专一|0x40400000|25682\n专营|0x1000|20889\n专用|0x1000|3652\n专有|0x20000000|22612\n专员|0x100000|8945\n专责|0x1000|32962\n专政|0x1000|8935\n专职|0x100000|7336\n专指|0x0000|31587\n专制|0x1000|9489\n专治|0x100000|793\n专属|0x20000000|644\n专注|0x40000000|11384\n专著|0x100000|9409\n专座|0x100000|51251\n砖茶|0x100000|48985\n砖厂|0x100000|752\n砖雕|0x100000|39230\n砖块|0x100000|803\n砖坯|0x100000|39858\n砖墙|0x100000|852\n砖石|0x100000|27670\n砖头|0x100000|12267\n砖瓦|0x100000|20113\n砖窑|0x100000|24926\n转包|0x1000|17275\n转变|0x1000|1497\n转播|0x1000|11541\n转产|0x1000|20800\n转场|0x100000|33475\n转车|0x1000|36585\n转成|0x0000|616\n转呈|0x0000|44896\n转乘|0x0000|40711\n转出|0x0000|573\n转船|0x1000|0\n转存|0x1000|39859\n转达|0x1000|5489\n转导|0x1000|1049\n转到|0x0000|791\n转道|0x1000|38828\n转递|0x1000|43820\n转调|0x1000|46369\n转动|0x1000|28244\n转而|0x10000000|12280\n转发|0x1000|12748\n转干|0x1000|40712\n转岗|0x1000|20229\n转告|0x1000|13169\n转给|0x1000|788\n转轨|0x1000|11894\n转过|0x1000|675\n转化|0x1000|2098\n转换|0x1000|4252\n转回|0x1000|796\n转会|0x1000|21559\n转机|0x100000|11203\n转寄|0x1000|784\n转嫁|0x1000|20722\n转交|0x1000|12673\n转角|0x100000|33209\n转接|0x1000|729\n转借|0x1000|39655\n转筋|0x1000|50459\n转矩|0x100000|956\n转科|0x1000|0\n转口|0x1000|25603\n转脸|0x8000000|17625\n转捩|0x1000|1183\n转炉|0x100000|28893\n转录|0x0008|28596\n转轮|0x100000|845\n转卖|0x1000|30678\n转门|0x100000|50460\n转磨|0x1000|0\n转年|0x4000|50840\n转念|0x1000|18263\n转暖|0x0000|35767\n转盘|0x100000|33606\n转晴|0x0000|7549\n转圈|0x1000|33863\n转染|0x100000|1082\n转让|0x1000|4368\n转任|0x1000|985\n转入|0x1000|8026\n转身|0x8000000|3746\n转生|0x1000|45488\n转世|0x1000|26239\n转手|0x1000|23149\n转售|0x1000|905\n转述|0x1000|31373\n转数|0x0000|499\n转瞬|0x8000000|24927\n转送|0x1000|24359\n转速|0x100000|27988\n转台|0x100000|50461\n转体|0x1000|36256\n转头|0x1000|622\n转托|0x1000|50458\n转弯|0x1000|16287\n转为|0x1000|7445\n转文|0x1000|54632\n转徙|0x1000|0\n转向|0x1000|11671\n转写|0x1000|55075\n转行|0x1000|38038\n转型|0x1000|6308\n转学|0x1000|24104\n转眼|0x8000000|11982\n转业|0x1000|8105\n转移|0x1000|1707\n转椅|0x100000|32203\n转义|0x1000|940\n转译|0x0000|42624\n转阴|0x0000|6789\n转引|0x1000|47587\n转用|0x1000|895\n转悠|0x1000|16770\n转圜|0x0000|30472\n转院|0x1000|37302\n转运|0x1000|16503\n转载|0x1000|19836\n转赠|0x1000|37476\n转战|0x1000|15416\n转帐|0x0000|623\n转账|0x1000|21215\n转折|0x1000|9569\n转诊|0x0000|34904\n转正|0x1000|22973\n转职|0x0008|1258\n转制|0x1000|12246\n转轴|0x100000|42625\n转注|0x100000|52584\n转转|0x1000|631\n转子|0x100000|33360\n转租|0x1000|34430\n赚到|0x0000|629\n赚得|0x0000|571\n赚钱|0x1000|5821\n赚取|0x1000|20463\n赚头|0x100000|33076\n撰稿|0x1000|31374\n撰述|0x100000|38039\n撰文|0x1000|16219\n撰写|0x1000|6328\n撰著|0x1000|25533\n篆刻|0x1000|23731\n篆书|0x100000|39231\n篆体|0x0008|52127\n篆文|0x100000|48244\n篆章|0x100000|0\n篆字|0x100000|40714\n妆扮|0x1000|850\n妆点|0x1000|457\n妆奁|0x100000|43112\n妆饰|0x100000|44314\n妆新|0x100000|0\n庄股|0x100000|971\n庄河|0x0040|1398\n庄户|0x100000|29815\n庄家|0x100000|28691\n庄稼|0x100000|6051\n庄浪|0x0080|1015\n庄里|0x8000|1542\n庄田|0x100000|1125\n庄严|0x40000000|4417\n庄员|0x100000|0\n庄园|0x100000|15201\n庄院|0x100000|52585\n庄重|0x40000000|10236\n庄周|0x0008|1429\n庄主|0x100000|864\n庄子|0x100000|9680\n桩基|0x100000|934\n桩脚|0x0008|1216\n桩帽|0x100000|0\n桩头|0x100000|1173\n桩桩|0x20000|926\n桩子|0x100000|41167\n装扮|0x1000|12891\n装备|0x100000|2544\n装裱|0x1000|37303\n装病|0x0008|35616\n装车|0x1000|16646\n装出|0x0008|1106\n装船|0x1000|922\n装袋|0x1000|893\n装弹|0x0000|465\n装点|0x1000|16026\n装订|0x1000|22768\n装裹|0x0000|53090\n装潢|0x100000|16647\n装璜|0x100000|628\n装货|0x1000|37663\n装机|0x0000|15827\n装甲|0x100000|706\n装假|0x1000|43113\n装进|0x0008|1126\n装具|0x100000|4\n装殓|0x1000|37834\n装料|0x0008|1085\n装满|0x1000|638\n装配|0x1000|14060\n装腔|0x0000|382\n装穷|0x1000|1061\n装入|0x1000|724\n装傻|0x1000|26432\n装上|0x0000|646\n装设|0x1000|37477\n装饰|0x1000|5143\n装束|0x100000|15067\n装睡|0x1000|876\n装死|0x0000|529\n装蒜|0x1000|40504\n装填|0x1000|47900\n装相|0x1000|43357\n装箱|0x1000|35316\n装卸|0x1000|15540\n装修|0x100000|5243\n装佯|0x1000|1197\n装有|0x1000|671\n装运|0x1000|22860\n装载|0x1000|16360\n装帧|0x100000|23150\n装置|0x100000|3651\n装作|0x1000|11958\n装做|0x1000|679\n壮大|0x1000|4243\n壮胆|0x1000|28791\n壮丁|0x100000|21289\n壮歌|0x100000|1067\n壮工|0x0008|51692\n壮观|0x100000|8636\n壮汉|0x100000|25604\n壮怀|0x100000|922\n壮健|0x40000000|36092\n壮锦|0x100000|28792\n壮举|0x100000|11813\n壮阔|0x40000000|25064\n壮丽|0x40000000|9021\n壮烈|0x40000000|13724\n壮美|0x40000000|17837\n壮苗|0x100000|44898\n壮年|0x4000|22561\n壮实|0x40000000|22349\n壮士|0x100000|13399\n壮硕|0x0000|45785\n壮乡|0x0000|31817\n壮心|0x100000|39029\n壮行|0x1000|996\n壮阳|0x0000|46971\n壮语|0x100000|28982\n壮志|0x100000|19328\n壮族|0x0008|14807\n状告|0x1000|727\n状况|0x100000|1242\n状貌|0x100000|35768\n状态|0x100000|997\n状语|0x100000|41862\n状元|0x100000|9831\n状纸|0x100000|45786\n状子|0x100000|32465\n幢幢|0x0100|867\n撞车|0x1000|26375\n撞出|0x0000|522\n撞锤|0x100000|1370\n撞倒|0x1000|730\n撞坏|0x0000|487\n撞击|0x1000|10464\n撞机|0x1000|968\n撞见|0x1000|25683\n撞开|0x0000|530\n撞骗|0x1000|53568\n撞墙|0x1000|40715\n撞球|0x100000|853\n撞去|0x1000|508\n撞人|0x0000|517\n撞入|0x1000|937\n撞伤|0x1000|802\n撞上|0x0000|640\n撞死|0x1000|661\n撞锁|0x100000|1414\n撞针|0x100000|53569\n撞钟|0x1000|42120\n撞撞|0x0000|446\n追逼|0x1000|39447\n追比|0x1000|0\n追兵|0x0000|20264\n追补|0x1000|52586\n追捕|0x1000|14382\n追查|0x1000|15922\n追到|0x0000|615\n追悼|0x1000|22562\n追堵|0x0000|31942\n追肥|0x100000|997\n追风|0x1000|750\n追赶|0x1000|7264\n追根|0x1000|31000\n追怀|0x1000|40290\n追还|0x1000|1108\n追回|0x1000|737\n追悔|0x1000|30680\n追魂|0x0000|51252\n追击|0x1000|13443\n追缉|0x0000|53570\n追记|0x100000|25116\n追加|0x1000|14149\n追歼|0x1000|48245\n追剿|0x1000|31943\n追缴|0x1000|16361\n追究|0x1000|2858\n追猎|0x1000|1079\n追念|0x1000|35160\n追捧|0x1000|30885\n追求|0x1000|1030\n追认|0x1000|28437\n追杀|0x1000|20464\n追上|0x0000|668\n追施|0x1000|1100\n追授|0x1000|20890\n追述|0x1000|31255\n追思|0x1000|27585\n追诉|0x1000|36257\n追溯|0x1000|13224\n追随|0x1000|11738\n追索|0x1000|22479\n追讨|0x1000|37478\n追尾|0x1000|40291\n追问|0x1000|8023\n追想|0x1000|40716\n追星|0x1000|663\n追叙|0x1000|49697\n追寻|0x1000|12761\n追忆|0x1000|15417\n追赃|0x1000|35161\n追赠|0x1000|24032\n追债|0x100000|934\n追逐|0x1000|8991\n追踪|0x1000|8936\n椎骨|0x100000|43579\n椎管|0x100000|1001\n锥度|0x100000|1003\n锥栗|0x100000|1205\n锥面|0x100000|1121\n锥体|0x100000|46371\n锥形|0x100000|35617\n锥子|0x100000|32082\n坠地|0x1000|31256\n坠胡|0x100000|0\n坠毁|0x1000|14481\n坠机|0x1000|839\n坠楼|0x1000|47902\n坠落|0x1000|15621\n坠马|0x0000|46082\n坠入|0x1000|16731\n坠子|0x100000|36258\n缀出|0x1000|1357\n缀文|0x1000|1252\n缀字|0x100000|0\n惴恐|0x40000000|0\n惴惴|0x0100|908\n赘瘤|0x100000|1316\n赘肉|0x100000|52587\n赘述|0x1000|35930\n赘婿|0x100000|51253\n赘言|0x100000|47276\n赘疣|0x100000|50462\n窀穸|0x100000|1281\n谆谆|0x8000000|28339\n准保|0x8000000|25243\n准备|0x1000|318\n准点|0x1000|41632\n准定|0x8000000|34267\n准儿|0x100000|24214\n准话|0x100000|54633\n准假|0x1000|48987\n准将|0x100000|31944\n准据|0x0008|400\n准确|0x40000000|1937\n准入|0x1000|669\n准绳|0x100000|23407\n准时|0x40000000|12088\n准是|0x0000|10834\n准数|0x0000|46655\n准头|0x100000|41863\n准尉|0x100000|49698\n准线|0x100000|1184\n准信|0x100000|0\n准星|0x100000|42626\n准许|0x1000|15967\n准予|0x1000|19940\n准则|0x100000|4697\n卓见|0x100000|43822\n卓绝|0x8000000|37835\n卓立|0x0020|49348\n卓尼|0x0080|1062\n卓然|0x40000000|35769\n卓识|0x100000|43582\n卓异|0x40000000|1096\n卓有|0x1000|938\n卓越|0x40000000|7579\n卓著|0x40000000|14868\n卓资|0x0040|1076\n拙笨|0x40000000|44316\n拙笔|0x100000|1037\n拙稿|0x100000|0\n拙见|0x100000|55560\n拙荆|0x100000|1113\n拙劣|0x40000000|24675\n拙朴|0x40000000|949\n拙涩|0x40000000|0\n拙于|0x0000|413\n拙著|0x100000|47588\n拙作|0x100000|43581\n捉刀|0x1000|42842\n捉对|0x1000|6\n捉奸|0x1000|38418\n捉摸|0x1000|17962\n捉拿|0x1000|22438\n捉弄|0x1000|20843\n捉住|0x1000|726\n桌案|0x100000|46372\n桌边|0x8000|822\n桌布|0x100000|29077\n桌灯|0x100000|1114\n桌巾|0x0008|1084\n桌面|0x100000|12268\n桌球|0x100000|754\n桌上|0x8000|547\n桌下|0x8000|875\n桌椅|0x100000|14133\n桌子|0x100000|3563\n涿鹿|0x0080|1502\n涿县|0x100000|1117\n涿州|0x0040|1349\n灼见|0x100000|48246\n灼热|0x40000000|19577\n灼伤|0x1000|35027\n灼烧|0x1000|861\n灼痛|0x100000|45187\n灼灼|0x0100|26240\n茁长|0x1000|0\n茁实|0x40000000|54108\n茁壮|0x40000000|16440\n浊度|0x100000|952\n浊酒|0x100000|884\n浊浪|0x0000|39232\n浊流|0x100000|34569\n浊气|0x100000|923\n浊世|0x100000|48247\n浊水|0x100000|44064\n浊音|0x100000|1089\n酌办|0x1000|1325\n酌处|0x1000|1405\n酌定|0x1000|38622\n酌减|0x1000|53091\n酌量|0x1000|35028\n酌情|0x1000|26798\n啄痕|0x0080|0\n啄食|0x1000|29708\n着笔|0x1000|39860\n着边|0x1000|26172\n着床|0x100000|39031\n着地|0x1000|13005\n着儿|0x100000|978\n着慌|0x1000|36762\n着火|0x1000|14501\n着急|0x40000000|4430\n着哩|0x0000|18944\n着力|0x8000000|3850\n着凉|0x1000|26719\n着陆|0x1000|13183\n着落|0x100000|13162\n着忙|0x1000|36763\n着迷|0x1000|19834\n着魔|0x1000|44583\n着墨|0x1000|30886\n着呢|0x0200|10267\n着色|0x1000|27092\n着上|0x1000|22\n着实|0x8000000|9612\n着手|0x1000|3426\n着数|0x100000|46643\n着想|0x1000|7466\n着眼|0x1000|3016\n着意|0x1000|21337\n着重|0x8000000|4405\n着装|0x1000|15342\n着作|0x100000|963\n琢磨|0x1000|11090\n擢升|0x1000|45490\n擢用|0x1000|47277\n濯濯|0x0100|53571\n镯子|0x100000|14667\n仔鸡|0x100000|55910\n仔肩|0x100000|0\n仔密|0x40000000|0\n仔细|0x40000000|2244\n仔畜|0x100000|1317\n仔鱼|0x100000|0\n仔猪|0x100000|31589\n孜然|0x0000|50842\n孜孜|0x8000000|31946\n咨文|0x100000|22038\n咨询|0x1000|2651\n姿容|0x100000|32083\n姿色|0x100000|19443\n姿势|0x100000|8162\n姿态|0x100000|4764\n姿影|0x100000|0\n资本|0x100000|1794\n资材|0x100000|52588\n资财|0x100000|29078\n资产|0x100000|2280\n资方|0x100000|33476\n资费|0x100000|13325\n资格|0x100000|1732\n资金|0x100000|994\n资力|0x100000|49349\n资历|0x100000|17604\n资料|0x100000|1144\n资浅|0x0008|1155\n资深|0x20000000|11739\n资望|0x100000|39861\n资溪|0x0080|1022\n资信|0x100000|17521\n资兴|0x0040|1509\n资讯|0x100000|10109\n资阳|0x0040|1155\n资源|0x100000|1046\n资政|0x100000|915\n资质|0x100000|8686\n资中|0x0080|1542\n资助|0x1000|3778\n淄博|0x0040|930\n淄川|0x100000|492\n孳乳|0x1000|55847\n孳生|0x1000|946\n孳息|0x0008|1081\n孳孳|0x8000000|1151\n滋补|0x1000|26656\n滋长|0x1000|17190\n滋蔓|0x0000|53572\n滋扰|0x1000|37304\n滋润|0x40000000|11983\n滋生|0x1000|7986\n滋事|0x1000|19130\n滋味|0x100000|5219\n滋芽|0x1000|0\n滋养|0x1000|16591\n滋阴|0x100000|41633\n辎重|0x100000|17963\n趑趄|0x0000|50064\n锱铢|0x100000|1078\n龇牙|0x0000|47278\n髭须|0x100000|1116\n籽晶|0x100000|0\n籽粒|0x100000|48599\n籽棉|0x100000|55078\n籽实|0x100000|51693\n籽种|0x100000|1152\n子波|0x0080|1182\n子步|0x0080|0\n子长|0x0080|1208\n子城|0x100000|1076\n子簇|0x0080|0\n子代|0x100000|37305\n子弹|0x100000|6625\n子堤|0x0080|50065\n子弟|0x100000|6489\n子儿|0x100000|937\n子房|0x0008|32963\n子格|0x0080|1\n子宫|0x100000|13590\n子规|0x100000|40717\n子环|0x0080|1338\n子鸡|0x100000|55910\n子集|0x100000|863\n子金|0x100000|1105\n子句|0x0008|916\n子爵|0x100000|44600\n子口|0x100000|28159\n子类|0x0008|866\n子粒|0x100000|1158\n子棉|0x100000|1346\n子民|0x100000|772\n子模|0x0080|3\n子母|0x100000|834\n子目|0x100000|46083\n子囊|0x100000|53573\n子女|0x100000|2326\n子区|0x0008|1544\n子群|0x0008|1159\n子时|0x4000|12402\n子实|0x100000|1043\n子书|0x100000|947\n子树|0x0080|1523\n子思|0x0008|1032\n子嗣|0x100000|30785\n子孙|0x100000|6686\n子网|0x0008|1267\n子午|0x100000|845\n子息|0x100000|52128\n子弦|0x100000|0\n子虚|0x40000000|461\n子畜|0x100000|1381\n子婿|0x100000|1208\n子叶|0x100000|1024\n子夜|0x4000|18168\n子音|0x100000|1086\n子侄|0x100000|34003\n子洲|0x0080|1050\n姊夫|0x100000|1028\n姊妹|0x100000|8668\n姊姊|0x100000|642\n秭归|0x0080|1453\n梓里|0x100000|1120\n梓树|0x0080|1077\n梓潼|0x0080|1507\n紫斑|0x0008|406\n紫菜|0x100000|24814\n紫草|0x100000|980\n紫癜|0x100000|892\n紫貂|0x100000|47279\n紫绀|0x100000|1053\n紫宫|0x0080|1132\n紫光|0x0008|979\n紫毫|0x0080|1210\n紫黑|0x100000|1024\n紫红|0x100000|23408\n紫花|0x0080|1461\n紫姜|0x0080|0\n紫酱|0x0080|0\n紫胶|0x100000|1203\n紫金|0x0008|1112\n紫荆|0x100000|22713\n紫蓝|0x100000|1416\n紫色|0x100000|10818\n紫砂|0x0000|25313\n紫杉|0x0080|47903\n紫苏|0x100000|900\n紫檀|0x100000|28077\n紫藤|0x100000|31257\n紫铜|0x100000|41864\n紫外|0x20000000|645\n紫菀|0x100000|1072\n紫薇|0x100000|36769\n紫阳|0x0080|1334\n紫苑|0x0040|979\n紫云|0x0008|1286\n紫芝|0x0080|1061\n紫珠|0x0008|1146\n紫竹|0x0080|36587\n訾议|0x1000|0\n字表|0x0000|457\n字串|0x0008|541\n字词|0x0000|37837\n字典|0x100000|12969\n字调|0x100000|1188\n字段|0x100000|689\n字儿|0x100000|870\n字符|0x100000|33079\n字幅|0x100000|1126\n字根|0x100000|932\n字号|0x100000|16290\n字画|0x100000|15575\n字汇|0x100000|36588\n字迹|0x100000|14975\n字集|0x100000|0\n字节|0x100000|33720\n字句|0x100000|15850\n字据|0x100000|30889\n字库|0x100000|46373\n字块|0x100000|0\n字码|0x100000|1023\n字迷|0x0000|441\n字谜|0x100000|55079\n字面|0x100000|21561\n字模|0x100000|51695\n字母|0x100000|10949\n字幕|0x100000|20643\n字盘|0x0000|55562\n字频|0x100000|1246\n字首|0x0008|406\n字书|0x100000|47907\n字数|0x100000|498\n字体|0x100000|16751\n字条|0x100000|17326\n字帖|0x100000|41866\n字形|0x100000|15460\n字型|0x0008|732\n字眼|0x100000|611\n字样|0x100000|8290\n字义|0x100000|36937\n字音|0x100000|31478\n字元|0x0008|532\n字源|0x100000|1065\n字纸|0x100000|35771\n字字|0x20000|753\n自爱|0x40000000|23152\n自傲|0x40000000|23205\n自拔|0x1000|22714\n自白|0x1000|25177\n自办|0x1000|847\n自保|0x1000|25941\n自爆|0x0000|52589\n自卑|0x40000000|13696\n自备|0x1000|20928\n自闭|0x0008|679\n自贬|0x1000|49699\n自便|0x1000|33607\n自裁|0x1000|39656\n自残|0x1000|32204\n自惭|0x1000|26242\n自测|0x1000|47904\n自查|0x1000|14111\n自产|0x1000|31258\n自嘲|0x1000|18916\n自沉|0x0000|38829\n自称|0x1000|6091\n自成|0x1000|715\n自乘|0x1000|43358\n自持|0x1000|25868\n自筹|0x1000|11692\n自传|0x100000|16289\n自创|0x0000|24999\n自吹|0x0000|441\n自此|0x8000000|666\n自从|0x40000|2723\n自忖|0x1000|40076\n自打|0x40000|18761\n自大|0x40000000|23846\n自当|0x8000000|552\n自导|0x1000|785\n自得|0x40000000|23680\n自调|0x0008|0\n自订|0x0008|1\n自动|0x20000000|2754\n自渎|0x1000|0\n自发|0x1000|6222\n自肥|0x1000|52130\n自费|0x1000|9732\n自分|0x0000|477\n自焚|0x1000|9741\n自封|0x1000|29926\n自奉|0x1000|41398\n自负|0x1000|16982\n自感|0x20000000|897\n自个|0x10000|792\n自给|0x1000|17032\n自供|0x1000|42627\n自贡|0x0040|1146\n自古|0x8000000|9860\n自汗|0x0008|0\n自豪|0x40000000|4602\n自毁|0x1000|30016\n自己|0x10000|42\n自家|0x10000|4395\n自检|0x1000|39657\n自建|0x1000|577\n自荐|0x1000|26866\n自矜|0x1000|42121\n自尽|0x1000|10649\n自禁|0x1000|788\n自经|0x0000|37306\n自刭|0x1000|1186\n自警|0x1000|1007\n自净|0x0008|1534\n自纠|0x1000|25802\n自咎|0x1000|53574\n自疚|0x40000000|54110\n自救|0x1000|11753\n自居|0x1000|12626\n自决|0x1000|35317\n自绝|0x1000|31001\n自觉|0x40000000|1416\n自考|0x100000|602\n自控|0x100000|24478\n自苦|0x1000|0\n自夸|0x1000|27989\n自况|0x20000000|53575\n自来|0x0080|14920\n自理|0x1000|16089\n自力|0x0008|1328\n自立|0x40000000|8210\n自励|0x1000|20642\n自怜|0x1000|522\n自恋|0x1000|47589\n自量|0x0000|40505\n自料|0x1000|0\n自流|0x1000|24033\n自留|0x1000|23101\n自律|0x1000|6604\n自满|0x40000000|18946\n自勉|0x1000|35467\n自明|0x40000000|539\n自命|0x1000|24034\n自摸|0x0000|555\n自谋|0x0000|13037\n自馁|0x1000|46974\n自能|0x100000|0\n自虐|0x1000|710\n自拍|0x100000|49701\n自欺|0x0008|29490\n自弃|0x1000|449\n自谦|0x40000000|34733\n自遣|0x1000|0\n自戕|0x1000|38830\n自强|0x40000000|7721\n自取|0x1000|27671\n自然|0x100000|4489\n自燃|0x1000|33477\n自认|0x1000|17296\n自如|0x40000000|11279\n自若|0x40000000|785\n自杀|0x1000|4264\n自伤|0x1000|30355\n自赏|0x1000|1\n自身|0x10000|1120\n自生|0x0008|1402\n自省|0x1000|15541\n自食|0x0000|462\n自视|0x1000|32718\n自恃|0x1000|19870\n自是|0x1000|15968\n自守|0x0000|458\n自首|0x1000|14744\n自赎|0x1000|0\n自述|0x100000|18192\n自私|0x40000000|10068\n自讼|0x1000|0\n自诉|0x100000|27335\n自外|0x1000|37479\n自卫|0x1000|12165\n自慰|0x1000|21993\n自刎|0x1000|24479\n自问|0x1000|20754\n自我|0x100000|1271\n自习|0x1000|23467\n自销|0x1000|38623\n自小|0x8000000|18979\n自新|0x1000|34431\n自信|0x40000000|3904\n自行|0x8000000|4662\n自性|0x100000|903\n自修|0x1000|25534\n自许|0x1000|40077\n自诩|0x1000|22657\n自序|0x100000|23102\n自叙|0x100000|39033\n自旋|0x1000|1009\n自选|0x1000|19653\n自学|0x1000|8780\n自养|0x1000|1004\n自已|0x1000|555\n自缢|0x1000|25535\n自营|0x1000|695\n自用|0x40000000|20150\n自由|0x100000|554\n自有|0x1000|10587\n自幼|0x8000000|12175\n自娱|0x1000|22391\n自语|0x1000|12074\n自愈|0x1000|889\n自愿|0x1000|4224\n自在|0x40000000|31591\n自责|0x40000000|16592\n自找|0x1000|23784\n自珍|0x0000|47906\n自斟|0x0000|41637\n自知|0x1000|664\n自制|0x1000|12101\n自治|0x1000|3721\n自重|0x40000000|14678\n自主|0x40000000|2679\n自助|0x1000|17858\n自转|0x1000|17649\n自足|0x1000|20429\n自尊|0x1000|9957\n恣情|0x1000|45190\n恣肆|0x40000000|31819\n恣睢|0x1000|54112\n恣意|0x1000|23206\n恣纵|0x0080|0\n渍水|0x100000|1190\n宗祠|0x100000|38041\n宗法|0x100000|23154\n宗匠|0x100000|1172\n宗教|0x100000|1099\n宗庙|0x100000|21094\n宗派|0x100000|26722\n宗谱|0x100000|46656\n宗亲|0x100000|27093\n宗师|0x100000|27336\n宗室|0x100000|19762\n宗仰|0x1000|0\n宗旨|0x100000|2822\n宗主|0x100000|872\n宗族|0x100000|17885\n综观|0x1000|19329\n综合|0x1000|1316\n综计|0x1000|0\n综括|0x1000|1250\n综览|0x1000|1097\n综述|0x1000|9189\n综艺|0x100000|17989\n综治|0x0008|861\n棕绷|0x100000|1295\n棕黑|0x100000|52131\n棕红|0x100000|47282\n棕黄|0x100000|46084\n棕榈|0x100000|21338\n棕毛|0x100000|55563\n棕壤|0x100000|0\n棕色|0x100000|17770\n棕绳|0x100000|52591\n棕树|0x100000|53093\n棕熊|0x100000|48989\n棕油|0x100000|1171\n棕竹|0x100000|1147\n踪迹|0x100000|14609\n踪影|0x100000|12307\n鬃毛|0x100000|37838\n鬃刷|0x100000|1046\n总编|0x100000|17680\n总兵|0x100000|926\n总部|0x100000|3803\n总裁|0x100000|4444\n总参|0x100000|17551\n总产|0x100000|14844\n总长|0x100000|7450\n总厂|0x100000|15806\n总称|0x100000|24676\n总成|0x100000|768\n总得|0x8000000|8008\n总的|0x0000|6809\n总店|0x100000|728\n总督|0x100000|7917\n总队|0x100000|4916\n总额|0x100000|3043\n总分|0x100000|15241\n总纲|0x100000|28794\n总工|0x100000|31592\n总攻|0x1000|34005\n总共|0x8000000|8213\n总管|0x100000|11559\n总归|0x8000000|21508\n总合|0x1000|50068\n总和|0x100000|8542\n总后|0x100000|959\n总汇|0x100000|36938\n总机|0x100000|35468\n总集|0x100000|38211\n总计|0x1000|9694\n总价|0x100000|35162\n总监|0x100000|11214\n总角|0x100000|1081\n总结|0x1000|1516\n总局|0x100000|544\n总括|0x1000|35772\n总览|0x1000|695\n总揽|0x1000|12866\n总理|0x100000|907\n总量|0x100000|2903\n总论|0x100000|33361\n总目|0x100000|35318\n总能|0x100000|556\n总评|0x100000|28894\n总谱|0x100000|982\n总社|0x100000|815\n总是|0x8000000|605\n总署|0x100000|9718\n总数|0x100000|3205\n总算|0x8000000|5238\n总台|0x100000|37666\n总体|0x100000|2095\n总统|0x100000|684\n总图|0x100000|998\n总务|0x100000|19444\n总线|0x100000|649\n总校|0x0000|46657\n总行|0x100000|15989\n总则|0x100000|15659\n总责|0x0000|20390\n总站|0x100000|16291\n总章|0x100000|54635\n总帐|0x100000|945\n总账|0x100000|43117\n总政|0x100000|16941\n总之|0x10000000|3116\n总支|0x100000|28895\n总值|0x100000|8962\n总重|0x0000|466\n总装|0x100000|17168\n纵波|0x100000|1092\n纵步|0x100000|1225\n纵场|0x0080|0\n纵荡|0x0008|0\n纵队|0x100000|12209\n纵隔|0x100000|1006\n纵膈|0x0008|0\n纵谷|0x0080|1063\n纵观|0x1000|13541\n纵贯|0x1000|24868\n纵横|0x1000|3158\n纵火|0x1000|15990\n纵酒|0x1000|40721\n纵览|0x1000|34735\n纵列|0x0080|0\n纵令|0x1000|38420\n纵论|0x1000|44317\n纵马|0x0000|42845\n纵目|0x1000|49351\n纵倾|0x100000|0\n纵情|0x1000|24548\n纵然|0x10000000|10126\n纵容|0x1000|12449\n纵身|0x1000|19182\n纵深|0x100000|10300\n纵声|0x1000|947\n纵使|0x10000000|18947\n纵谈|0x1000|45191\n纵向|0x100000|12762\n纵行|0x0080|1098\n纵欲|0x1000|33212\n纵轴|0x0080|1026\n粽子|0x100000|17911\n邹城|0x0040|1509\n邹平|0x0080|1373\n邹县|0x0040|1088\n走板|0x1000|44067\n走笔|0x1000|22304\n走避|0x1000|53095\n走边|0x1000|651\n走遍|0x1000|13910\n走镖|0x1000|0\n走步|0x1000|46374\n走唱|0x100000|0\n走出|0x1000|495\n走错|0x0000|576\n走道|0x100000|21607\n走低|0x1000|20644\n走电|0x1000|0\n走调|0x1000|884\n走掉|0x1000|711\n走动|0x1000|9316\n走读|0x1000|20891\n走访|0x1000|4937\n走风|0x0000|54636\n走高|0x1000|21791\n走狗|0x100000|14305\n走光|0x0008|721\n走过|0x1000|496\n走好|0x0000|18707\n走红|0x1000|20755\n走火|0x1000|30017\n走近|0x1000|567\n走进|0x1000|491\n走开|0x1000|558\n走来|0x1000|523\n走廊|0x100000|5576\n走了|0x0000|887\n走漏|0x1000|31947\n走路|0x1000|5368\n走马|0x1000|12934\n走棋|0x0000|53096\n走强|0x1000|769\n走俏|0x40000000|22305\n走禽|0x100000|1348\n走去|0x0000|784\n走人|0x1000|21994\n走入|0x1000|610\n走散|0x0000|32719\n走色|0x1000|0\n走上|0x1000|531\n走神|0x1000|759\n走失|0x1000|32205\n走时|0x1000|16417\n走势|0x100000|11067\n走兽|0x100000|37839\n走水|0x100000|51254\n走私|0x1000|3411\n走索|0x1000|0\n走台|0x1000|45791\n走题|0x1000|1013\n走脱|0x1000|0\n走味|0x1000|1062\n走下|0x0000|620\n走险|0x1000|20844\n走向|0x100000|1274\n走形|0x1000|33721\n走穴|0x1000|30473\n走眼|0x0000|51255\n走样|0x1000|24263\n走油|0x0000|54637\n走运|0x40000000|27337\n走账|0x0000|55848\n走走|0x1000|555\n走卒|0x100000|37668\n走嘴|0x0000|55080\n奏本|0x100000|1161\n奏功|0x1000|1122\n奏捷|0x1000|35319\n奏凯|0x1000|994\n奏乐|0x1000|27020\n奏鸣|0x1000|799\n奏疏|0x100000|1055\n奏响|0x1000|766\n奏效|0x1000|15870\n奏议|0x1000|1053\n奏章|0x100000|958\n奏折|0x100000|919\n租船|0x1000|913\n租地|0x1000|1042\n租佃|0x20000000|55565\n租房|0x1000|498\n租费|0x100000|1041\n租户|0x100000|41639\n租价|0x100000|46085\n租界|0x100000|10830\n租借|0x1000|23052\n租金|0x100000|12186\n租客|0x0000|468\n租赁|0x1000|6699\n租期|0x100000|812\n租钱|0x100000|50843\n租让|0x1000|1171\n租售|0x1000|652\n租税|0x100000|38625\n租下|0x1000|889\n租用|0x1000|13894\n租约|0x100000|50069\n租种|0x0000|53097\n租子|0x100000|47908\n足本|0x0000|54113\n足部|0x100000|536\n足彩|0x0008|678\n足赤|0x100000|44899\n足底|0x100000|882\n足额|0x1000|8512\n足跟|0x0000|50465\n足弓|0x0008|0\n足够|0x1000|3437\n足迹|0x100000|7425\n足尖|0x100000|931\n足见|0x8000000|17347\n足金|0x100000|53578\n足量|0x0000|492\n足球|0x100000|1715\n足色|0x1000|0\n足岁|0x100000|1141\n足坛|0x100000|15157\n足下|0x10000|14921\n足协|0x100000|667\n足以|0x8000000|3968\n足音|0x100000|856\n足印|0x100000|31479\n足月|0x1000|47909\n足趾|0x100000|1027\n足足|0x8000000|11656\n卒年|0x0000|48600\n卒岁|0x1000|0\n卒业|0x1000|44069\n卒子|0x100000|44319\n族长|0x100000|22861\n族规|0x100000|45792\n族类|0x100000|42846\n族谱|0x100000|35934\n族亲|0x100000|52593\n族权|0x100000|48990\n族群|0x100000|20645\n族人|0x100000|15312\n族裔|0x100000|955\n诅骂|0x1000|0\n诅咒|0x1000|13067\n阻碍|0x1000|5091\n阻挡|0x1000|8914\n阻断|0x1000|16528\n阻遏|0x1000|41868\n阻隔|0x1000|19387\n阻击|0x1000|21339\n阻截|0x1000|35773\n阻绝|0x1000|50844\n阻抗|0x100000|43584\n阻拦|0x1000|14769\n阻力|0x100000|8679\n阻难|0x1000|1109\n阻挠|0x1000|9456\n阻尼|0x100000|871\n阻燃|0x0000|33722\n阻扰|0x1000|987\n阻塞|0x1000|16236\n阻抑|0x0080|0\n阻障|0x0008|0\n阻值|0x100000|936\n阻止|0x1000|4986\n阻滞|0x1000|27256\n组胺|0x100000|989\n组办|0x1000|52594\n组别|0x100000|822\n组长|0x100000|3882\n组成|0x1000|1106\n组雕|0x0000|53098\n组队|0x1000|22613\n组分|0x100000|854\n组稿|0x1000|34570\n组歌|0x100000|29491\n组阁|0x1000|18418\n组构|0x0008|1\n组合|0x40000000|3490\n组画|0x100000|36415\n组件|0x100000|29816\n组建|0x1000|3011\n组接|0x0008|1043\n组曲|0x100000|34269\n组诗|0x0000|43359\n组态|0x100000|887\n组头|0x0008|1161\n组团|0x1000|11803\n组网|0x1000|732\n组训|0x0008|1072\n组员|0x100000|31260\n组织|0x100000|218\n组装|0x1000|12166\n祖辈|0x100000|22480\n祖本|0x100000|1209\n祖产|0x100000|48248\n祖传|0x20000000|19445\n祖代|0x0080|1157\n祖坟|0x100000|20723\n祖父|0x100000|6677\n祖国|0x100000|998\n祖籍|0x100000|20230\n祖居|0x100000|41640\n祖鲁|0x0040|1074\n祖率|0x100000|1348\n祖庙|0x0000|47283\n祖母|0x100000|8468\n祖上|0x100000|19915\n祖师|0x100000|31594\n祖述|0x1000|1127\n祖孙|0x100000|25871\n祖先|0x100000|7100\n祖业|0x100000|36416\n祖茔|0x100000|1193\n祖宗|0x100000|7985\n纂修|0x1000|35935\n钻出|0x0000|599\n钻床|0x100000|53099\n钻洞|0x1000|997\n钻杆|0x100000|46976\n钻工|0x0080|52596\n钻机|0x100000|23732\n钻尖|0x0080|0\n钻戒|0x100000|29175\n钻劲|0x100000|1143\n钻进|0x1000|616\n钻井|0x1000|18576\n钻孔|0x100000|22658\n钻谋|0x1000|0\n钻石|0x100000|11215\n钻蚀|0x0080|0\n钻塔|0x100000|48601\n钻台|0x100000|53100\n钻探|0x1000|17859\n钻头|0x100000|29382\n钻心|0x1000|29289\n钻研|0x1000|8106\n钻营|0x1000|27990\n钻子|0x0000|396\n嘴巴|0x100000|5496\n嘴笨|0x40000000|45493\n嘴边|0x8000|608\n嘴馋|0x40000000|37840\n嘴唇|0x100000|4096\n嘴刁|0x40000000|0\n嘴儿|0x0000|24869\n嘴乖|0x1000|0\n嘴尖|0x40000000|42628\n嘴角|0x100000|7528\n嘴紧|0x40000000|51697\n嘴快|0x40000000|40506\n嘴里|0x8000|504\n嘴脸|0x100000|17912\n嘴勤|0x40000000|0\n嘴软|0x1000|45192\n嘴松|0x40000000|0\n嘴碎|0x40000000|53580\n嘴损|0x40000000|0\n嘴甜|0x40000000|49352\n嘴头|0x100000|42629\n嘴严|0x40000000|53101\n嘴硬|0x40000000|34006\n嘴直|0x40000000|46977\n嘴子|0x100000|0\n最爱|0x100000|490\n最不|0x0000|616\n最差|0x40000000|670\n最长|0x40000000|515\n最迟|0x0000|544\n最初|0x4000|2699\n最大|0x0008|404\n最低|0x40000000|494\n最多|0x0000|865\n最高|0x40000000|486\n最好|0x8000000|2687\n最后|0x20000000|265\n最坏|0x0000|590\n最佳|0x20000000|2893\n最近|0x4000|773\n最快|0x40000000|6923\n最末|0x2000000|899\n最强|0x40000000|523\n最弱|0x0000|540\n最少|0x8000000|570\n最晚|0x0000|549\n最为|0x8000000|3226\n最先|0x8000000|613\n最小|0x100000|531\n最新|0x40000000|403\n最优|0x0000|625\n最远|0x40000000|643\n最早|0x8000000|507\n最终|0x20000000|1258\n最最|0x8000000|561\n罪案|0x100000|833\n罪恶|0x100000|6563\n罪犯|0x100000|6182\n罪过|0x100000|12075\n罪魁|0x100000|35620\n罪名|0x100000|9079\n罪孽|0x100000|23733\n罪愆|0x100000|1114\n罪人|0x100000|13633\n罪刑|0x100000|2\n罪行|0x100000|6703\n罪尤|0x100000|0\n罪责|0x100000|21940\n罪证|0x100000|22614\n罪状|0x100000|14402\n醉鬼|0x100000|34270\n醉汉|0x100000|31948\n醉话|0x100000|43823\n醉酒|0x1000|25000\n醉拳|0x100000|916\n醉人|0x1000|677\n醉态|0x100000|41400\n醉翁|0x100000|458\n醉乡|0x100000|48991\n醉心|0x1000|24815\n醉眼|0x100000|32344\n醉意|0x100000|23103\n醉枣|0x100000|1215\n尊卑|0x100000|31706\n尊长|0x100000|41169\n尊称|0x1000|23155\n尊崇|0x1000|22392\n尊奉|0x1000|48602\n尊贵|0x40000000|18194\n尊号|0x100000|35621\n尊驾|0x100000|53581\n尊敬|0x100000|5936\n尊口|0x0000|54114\n尊命|0x1000|0\n尊亲|0x100000|1111\n尊荣|0x100000|871\n尊容|0x100000|32466\n尊师|0x100000|27508\n尊为|0x1000|846\n尊翁|0x100000|1272\n尊姓|0x100000|1096\n尊严|0x100000|4720\n尊者|0x100000|850\n尊重|0x1000|1400\n尊尊|0x0080|1\n遵办|0x1000|0\n遵从|0x1000|19417\n遵奉|0x1000|1048\n遵化|0x0040|1414\n遵纪|0x0000|622\n遵命|0x1000|24480\n遵守|0x1000|2962\n遵行|0x1000|29710\n遵循|0x1000|3794\n遵义|0x0040|1149\n遵照|0x1000|10644\n遵嘱|0x0000|52132\n鳟鱼|0x100000|50845\n撙节|0x1000|1218\n昨晨|0x0080|12\n昨儿|0x4000|880\n昨日|0x4000|9371\n昨天|0x4000|1511\n昨晚|0x4000|6090\n昨夜|0x4000|9576\n左臂|0x100000|796\n左边|0x2000000|8904\n左侧|0x2000000|13170\n左传|0x0008|862\n左端|0x0080|1005\n左耳|0x100000|789\n左方|0x2000000|884\n左贡|0x0040|1077\n左击|0x0080|0\n左脚|0x100000|703\n左近|0x2000000|47910\n左拉|0x0080|1491\n左路|0x100000|782\n左轮|0x100000|47911\n左面|0x2000000|29492\n左派|0x100000|17583\n左迁|0x1000|1067\n左倾|0x1000|31003\n左丘|0x100000|438\n左权|0x0080|1514\n左券|0x100000|1381\n左上|0x2000000|741\n左手|0x100000|539\n左首|0x2000000|40507\n左袒|0x1000|50070\n左下|0x2000000|768\n左舷|0x100000|1106\n左眼|0x100000|751\n左翼|0x100000|10956\n左右|0x1000|445\n左云|0x0040|989\n左掌|0x0008|541\n左转|0x0000|560\n佐餐|0x1000|47285\n佐剂|0x100000|1158\n佐酒|0x100000|1058\n佐理|0x1000|52133\n佐料|0x100000|27096\n佐证|0x100000|20601\n作案|0x1000|8270\n作罢|0x1000|23207\n作伴|0x1000|26026\n作保|0x1000|39863\n作弊|0x1000|15116\n作别|0x1000|28520\n作成|0x1000|15557\n作出|0x1000|496\n作词|0x1000|31949\n作答|0x0000|20265\n作到|0x1000|742\n作东|0x1000|1045\n作对|0x1000|17405\n作恶|0x1000|24619\n作伐|0x0000|54639\n作法|0x100000|10689\n作坊|0x100000|11754\n作废|0x1000|20977\n作风|0x100000|1653\n作梗|0x1000|35936\n作古|0x1000|34271\n作怪|0x1000|16418\n作鬼|0x1000|1050\n作画|0x1000|13552\n作家|0x100000|818\n作价|0x1000|21414\n作假|0x1000|23907\n作践|0x1000|33866\n作客|0x1000|22254\n作乐|0x1000|28079\n作脸|0x40000000|53582\n作料|0x100000|39034\n作乱|0x1000|18886\n作美|0x0000|33723\n作难|0x1000|29176\n作孽|0x1000|33867\n作弄|0x1000|32859\n作呕|0x1000|36939\n作派|0x100000|438\n作陪|0x1000|28080\n作品|0x100000|290\n作曲|0x1000|15523\n作色|0x1000|36940\n作声|0x0000|11107\n作诗|0x1000|522\n作势|0x1000|25537\n作数|0x1000|29604\n作死|0x1000|50847\n作速|0x0000|52597\n作祟|0x1000|20231\n作态|0x1000|18230\n作痛|0x1000|34905\n作图|0x1000|840\n作为|0x1000|939\n作伪|0x1000|33868\n作文|0x1000|7951\n作物|0x100000|4912\n作息|0x1000|33213\n作响|0x1000|12167\n作协|0x100000|17522\n作兴|0x0000|43585\n作秀|0x0000|52598\n作业|0x100000|2669\n作揖|0x1000|33214\n作艺|0x0000|40948\n作俑|0x1000|54640\n作用|0x100000|404\n作战|0x40000000|1835\n作者|0x100000|306\n作证|0x1000|11374\n作主|0x1000|6172\n作准|0x1000|43824\n坐班|0x1000|36589\n坐标|0x100000|11409\n坐禅|0x1000|45494\n坐车|0x1000|597\n坐船|0x1000|783\n坐床|0x1000|1072\n坐大|0x1000|36417\n坐待|0x1000|34272\n坐等|0x1000|23208\n坐垫|0x100000|38626\n坐定|0x1000|782\n坐功|0x100000|1164\n坐骨|0x100000|54642\n坐果|0x1000|50848\n坐化|0x1000|46087\n坐监|0x1000|37841\n坐具|0x100000|1125\n坐科|0x1000|0\n坐困|0x1000|383\n坐蜡|0x1000|51256\n坐牢|0x1000|17991\n坐落|0x1000|9156\n坐骑|0x100000|26947\n坐起|0x0000|632\n坐商|0x100000|46978\n坐上|0x1000|647\n坐失|0x1000|1086\n坐视|0x1000|22040\n坐守|0x1000|50466\n坐台|0x1000|796\n坐探|0x100000|48250\n坐堂|0x1000|30356\n坐位|0x100000|6106\n坐席|0x100000|34273\n坐下|0x1000|523\n坐像|0x100000|41401\n坐夜|0x0000|52600\n坐椅|0x0000|27586\n坐浴|0x100000|1042\n坐在|0x1000|496\n坐赃|0x1000|52601\n坐镇|0x1000|16292\n坐庄|0x1000|36591\n坐着|0x0000|740\n坐姿|0x100000|35030\n坐坐|0x1000|615\n柞蚕|0x100000|51699\n柞木|0x0000|50467\n柞树|0x100000|44902\n柞水|0x0080|1525\n柞丝|0x4000000|1297\n座标|0x100000|897\n座舱|0x100000|34007\n座车|0x100000|39035\n座次|0x100000|30890\n座垫|0x100000|826\n座号|0x100000|51700\n座机|0x100000|40949\n座落|0x0008|604\n座圈|0x0008|1088\n座谈|0x1000|5171\n座位|0x100000|6106\n座席|0x100000|942\n座像|0x100000|1127\n座椅|0x100000|18321\n座钟|0x100000|40722\n座子|0x100000|37481\n座座|0x20000|906\n做爱|0x1000|19012\n做伴|0x1000|770\n做菜|0x1000|702\n做操|0x1000|892\n做成|0x1000|555\n做出|0x1000|496\n做错|0x0000|628\n做到|0x1000|495\n做东|0x1000|42631\n做法|0x100000|2041\n做饭|0x1000|6869\n做工|0x100000|12856\n做功|0x100000|28896\n做官|0x1000|9901\n做鬼|0x1000|36592\n做好|0x1000|491\n做活|0x1000|910\n做假|0x0000|491\n做客|0x1000|13484\n做媒|0x1000|27257\n做梦|0x1000|7456\n做派|0x100000|898\n做起|0x1000|589\n做亲|0x1000|46376\n做人|0x1000|5762\n做声|0x1000|11107\n做诗|0x0000|34571\n做事|0x1000|5468\n做手|0x0008|0\n做寿|0x1000|37669\n做完|0x0000|678\n做为|0x1000|552\n做戏|0x1000|26108\n做贼|0x0000|25465\n做证|0x0000|44903\n做主|0x1000|6172\n做作|0x40000000|18231\n做做|0x1000|675\nC++|0x0008|1\nU.S.A|0x0008|0\n阿巴丹|0x0040|1244\n阿巴嘎旗|0x0040|1073\n阿坝藏族羌族自治州|0x0040|1590\n阿坝县|0x0040|1141\n阿贝尔范畴|0x0008|0\n阿贝尔扩张|0x0008|0\n阿鼻地狱|0x0000|407\n阿比让|0x0040|1133\n阿兵哥|0x0008|1448\n阿波罗|0x0008|1205\n阿波斯托洛斯|0x0080|0\n阿伯丁|0x100000|404\n阿伯拉尔|0x0080|0\n阿博特|0x0080|1280\n阿卜杜|0x0080|1150\n阿卜杜拉|0x0080|1573\n阿卜杜勒|0x0080|1680\n阿不来提|0x0080|1121\n阿布巴卡尔|0x0080|3\n阿布德努尔|0x0080|0\n阿布迪奇|0x0080|0\n阿布杜拉|0x0080|16\n阿布杜拉扎科夫|0x0080|0\n阿布哈兹|0x0040|1186\n阿布基尔金|0x0080|0\n阿布季尔金|0x0080|0\n阿布扎比|0x0040|1587\n阿部萨拉姆|0x0080|0\n阿昌族|0x0008|50849\n阿代尔|0x0080|1292\n阿党比周|0x1000000|100\n阿党相为|0x0000|100\n阿的平|0x100000|1318\n阿多尔诺|0x0080|0\n阿恩海姆|0x0080|0\n阿尔巴内西|0x0080|0\n阿尔巴尼|0x0080|1\n阿尔巴尼亚|0x0040|1357\n阿尔卑斯|0x0008|1245\n阿尔卑斯山|0x0040|1355\n阿尔卑斯山脉|0x0040|1630\n阿尔伯特|0x0080|1486\n阿尔都塞|0x0080|0\n阿尔法|0x0008|1242\n阿尔法射线|0x100000|1387\n阿尔及尔|0x0040|1667\n阿尔及利亚|0x0040|1330\n阿尔金山|0x0040|1677\n阿尔卡特|0x0008|1190\n阿尔尼|0x0080|0\n阿尔萨斯|0x0040|1427\n阿尔山|0x0040|1501\n阿尔山市|0x0040|1710\n阿尔斯特|0x0080|1181\n阿尔泰山|0x0040|1637\n阿尔图罗|0x0080|0\n阿房宫|0x0008|1467\n阿非利加|0x0040|1209\n阿非利加洲|0x100000|0\n阿芬那留斯|0x0080|0\n阿富汗|0x0040|3461\n阿富汗人|0x100000|1033\n阿富汗战争|0x100000|453\n阿甘正传|0x100000|814\n阿哥哥|0x0008|0\n阿根廷|0x0040|949\n阿根廷队|0x100000|494\n阿根廷人|0x100000|485\n阿狗阿猫|0x0000|100\n阿姑阿翁|0x0000|100\n阿合奇|0x0040|1158\n阿合奇县|0x0040|1197\n阿基米得|0x0080|0\n阿基米德|0x0080|1456\n阿加莎|0x0080|1536\n阿家阿翁|0x0000|100\n阿娇金屋|0x0000|100\n阿克拉|0x0040|1077\n阿克苏|0x0040|1275\n阿克苏市|0x0040|1501\n阿克陶|0x0040|1126\n阿克陶县|0x0040|1145\n阿肯色|0x0040|1547\n阿肯色州|0x0040|1621\n阿拉巴马|0x0040|1536\n阿拉巴马州|0x0040|1680\n阿拉伯|0x0008|992\n阿拉伯半岛|0x0040|1621\n阿拉伯国家|0x0008|883\n阿拉伯海|0x0040|1643\n阿拉伯联合酋长国|0x0040|1550\n阿拉伯联盟|0x0020|1173\n阿拉伯人|0x100000|828\n阿拉伯数字|0x100000|35937\n阿拉伯糖|0x0008|0\n阿拉伯文|0x0008|1482\n阿拉伯语|0x0008|30476\n阿拉丁|0x0080|1171\n阿拉尔|0x0080|1602\n阿拉法特|0x0080|1408\n阿拉加尔|0x0080|0\n阿拉木图|0x0040|1645\n阿拉善|0x0040|1475\n阿拉善盟|0x0040|1526\n阿拉善右旗|0x0040|1699\n阿拉善左旗|0x0040|1645\n阿拉斯加|0x0040|1267\n阿拉斯加州|0x0040|1704\n阿勒泰|0x0040|1379\n阿勒泰市|0x0040|1582\n阿里巴巴|0x0008|818\n阿里山|0x0040|1275\n阿历山大|0x0080|0\n阿利安人|0x0008|1539\n阿联酋|0x0040|1234\n阿灵顿|0x0040|1097\n阿留申群岛|0x100000|1166\n阿鲁巴|0x0040|1643\n阿鲁巴岛|0x0040|1217\n阿鲁卡多|0x0080|0\n阿鲁科尔沁旗|0x0040|1757\n阿鲁提亚|0x0080|0\n阿罗汉|0x100000|964\n阿洛糖|0x100000|1417\n阿猫阿狗|0x100000|880\n阿霉素|0x0008|1109\n阿美利加|0x0080|0\n阿弥陀佛|0x0008|20808\n阿米巴|0x0008|1009\n阿米巴痢疾|0x0008|0\n阿摩尼亚|0x0080|1199\n阿莫西林|0x0080|1538\n阿姆斯特丹|0x0040|1278\n阿姆斯壮|0x0080|420\n阿那克萨哥拉|0x0080|0\n阿那克西曼德|0x0080|0\n阿诺德|0x0080|1466\n阿皮亚|0x0040|1086\n阿毗地狱|0x0000|100\n阿平绝倒|0x1000000|100\n阿其所好|0x1000000|1338\n阿荣旗|0x0040|1065\n阿萨姆|0x100000|920\n阿塞拜疆|0x0040|1418\n阿塞拜疆共和国|0x0040|1653\n阿诗玛|0x0008|1469\n阿什哈巴德|0x0040|1217\n阿时趋俗|0x1000000|100\n阿世盗名|0x0000|100\n阿世媚俗|0x1000000|100\n阿世取容|0x1000000|100\n阿是穴|0x100000|0\n阿司匹林|0x100000|40294\n阿斯顿维拉|0x0080|0\n阿糖胞苷|0x0008|0\n阿特伍德机|0x100000|0\n阿图什|0x0040|982\n阿图什市|0x0040|1670\n阿托品|0x100000|1009\n阿瓦提|0x0040|1051\n阿瓦提县|0x0040|1082\n阿魏酸|0x0000|414\n阿西莫夫|0x0080|1626\n阿修罗|0x100000|812\n阿意取容|0x1000000|100\n阿谀谄媚|0x0000|100\n阿谀逢迎|0x800000|54224\n阿谀奉承|0x1000000|38450\n阿谀取容|0x1000000|100\n阿月浑子|0x0008|0\n阿扎尼亚|0x0080|1350\n阿卓糖|0x100000|0\n阿兹特克|0x0080|0\n锕系元素|0x0008|0\n哎呀一声|0x400000|0\n哎唷一声|0x400000|0\n哀哀父母|0x1000000|1209\n哀哀欲绝|0x1000000|1273\n哀兵必胜|0x1000000|53102\n哀的美敦|0x100000|0\n哀的美敦书|0x0008|1341\n哀而不伤|0x1000000|1001\n哀感天地|0x1000000|100\n哀感顽艳|0x1000000|1241\n哀感中年|0x1000000|100\n哀告宾服|0x1000000|100\n哀鸿遍地|0x1000000|100\n哀鸿遍野|0x1000|963\n哀毁骨立|0x1000000|1331\n哀毁瘠立|0x1000000|100\n哀梨蒸食|0x1000000|100\n哀莫大于心死|0x0008|100\n哀声叹气|0x1000000|1072\n哀丝豪竹|0x1000000|100\n哀思如潮|0x1000000|100\n哀天叫地|0x1000000|100\n哀痛欲绝|0x1000000|100\n唉声叹气|0x1000000|24870\n埃德米尔森|0x0080|2\n埃尔富特|0x0080|1368\n埃尔米特二次型|0x400000|0\n埃尔米特矩阵|0x0008|0\n埃菲尔铁塔|0x0008|1486\n埃菲社|0x0020|1195\n埃弗顿|0x0008|1363\n埃及人|0x100000|480\n埃里温|0x0040|1243\n埃米尔|0x0080|1598\n埃默里奇|0x0080|0\n埃塞俄比亚|0x0040|1286\n埃文斯|0x0040|1584\n挨边儿|0x0000|53583\n挨冻受饿|0x1000000|100\n挨饿受冻|0x800000|1041\n挨风缉缝|0x1000000|100\n挨个儿|0x8000000|42370\n挨家挨户|0x1000000|879\n挨肩并足|0x1000000|100\n挨肩擦膀|0x1000000|100\n挨肩擦背|0x1000000|100\n挨肩擦脸|0x1000000|100\n挨肩搭背|0x1000000|100\n挨肩迭背|0x0000|100\n挨肩叠背|0x1000000|100\n挨肩儿|0x1000|46979\n挨门挨户|0x8000000|1158\n挨门逐户|0x1000000|0\n挨三顶五|0x1400000|0\n挨山塞海|0x1000000|100\n捱风缉缝|0x1000000|100\n捱三顶四|0x1400000|0\n捱三顶五|0x1400000|0\n癌胚抗原|0x0008|0\n癌细胞|0x100000|19156\n癌症病人|0x0000|458\n嗳声叹气|0x1000000|100\n矮矮实实|0x0100|0\n矮地茶|0x0008|0\n矮墩墩|0x0100|53103\n矮个儿|0x100000|1126\n矮个子|0x100000|923\n矮了一截|0x400000|0\n矮人观场|0x0000|100\n矮人看场|0x1000000|100\n矮人看戏|0x0000|100\n矮人一等|0x400000|0\n矮人一截|0x400000|0\n矮树丛|0x0000|396\n矮子观场|0x0000|100\n矮子看戏|0x1000000|100\n蔼然可亲|0x1000000|0\n蔼然仁者|0x1000000|100\n艾伯拉姆斯|0x0080|0\n艾亨鲍姆|0x0080|0\n艾略特|0x0080|1416\n艾美奖|0x0008|1491\n艾森豪|0x0008|1192\n艾森豪威尔|0x0080|1496\n艾窝窝|0x100000|55566\n艾滋病|0x100000|3427\n艾滋病毒|0x100000|895\n艾滋病防治|0x100000|530\n爱别离苦|0x1000000|1112\n爱博而情不专|0x0008|100\n爱不忍释|0x1000000|1288\n爱不释手|0x1000000|24929\n爱才如渴|0x1000000|100\n爱才如命|0x1000000|1214\n爱才若渴|0x1000000|100\n爱财如命|0x1000000|54115\n爱厂如家|0x800000|1268\n爱达荷|0x0040|1635\n爱达荷州|0x0040|1094\n爱答不理|0x800000|52602\n爱德华|0x0040|1211\n爱迪生|0x0080|1274\n爱丁堡|0x0040|1315\n爱尔兰|0x0040|6977\n爱尔兰队|0x100000|391\n爱尔兰共和国|0x0040|1451\n爱尔兰共和军|0x0020|1765\n爱尔兰人|0x100000|946\n爱尔兰语|0x0008|1\n爱尔维修|0x0008|0\n爱富嫌贫|0x1000000|100\n爱岗敬业|0x800000|833\n爱国人士|0x100000|906\n爱国如家|0x1000000|100\n爱国卫生|0x0000|495\n爱国卫生运动|0x0008|433\n爱国心|0x100000|932\n爱国者|0x100000|668\n爱国志士|0x100000|962\n爱国主义|0x100000|3990\n爱国主义教育|0x0000|559\n爱国主义精神|0x0000|454\n爱好者|0x100000|510\n爱荷华州|0x0040|1073\n爱鹤失众|0x1000000|100\n爱克发|0x0008|1608\n爱克斯光|0x100000|55082\n爱乐乐团|0x0020|1480\n爱礼存羊|0x1000000|100\n爱理不理|0x0100|754\n爱立信|0x0008|1027\n爱丽舍宫|0x100000|369\n爱丽丝|0x0080|1221\n爱毛反裘|0x1000000|100\n爱面子|0x40000000|31481\n爱民如子|0x1000000|1040\n爱莫能助|0x1000000|31595\n爱莫之助|0x1000000|100\n爱默生|0x0008|1501\n爱普生|0x0008|1147\n爱钱如命|0x1000000|1121\n爱琴海|0x0040|1218\n爱情故事|0x100000|551\n爱情观|0x0008|1067\n爱情海|0x100000|473\n爱情片|0x0008|1136\n爱情诗|0x100000|435\n爱情史|0x100000|1026\n爱情喜剧|0x100000|482\n爱情小说|0x100000|708\n爱情专一|0x400000|0\n爱人儿|0x100000|0\n爱人好士|0x1000000|100\n爱人利物|0x1000000|100\n爱人以德|0x1000000|1291\n爱日惜力|0x1000000|100\n爱如己出|0x1000000|100\n爱如珍宝|0x1000000|1260\n爱沙尼亚|0x0040|1342\n爱沙尼亚共和国|0x0040|1634\n爱沙尼亚人|0x100000|1307\n爱生恶死|0x1000000|100\n爱斯基摩|0x0008|1347\n爱斯基摩人|0x100000|931\n爱素好古|0x1000000|100\n爱听音乐网|0x100000|485\n爱委会|0x100000|1239\n爱卫办|0x0008|1088\n爱卫会|0x100000|444\n爱我所爱|0x100000|744\n爱屋及乌|0x1000000|47287\n爱惜羽毛|0x1000000|1150\n爱新觉罗|0x0080|1451\n爱因斯坦|0x0080|1107\n爱则加诸膝|0x0008|0\n爱憎分明|0x1000000|33081\n爱之欲其生|0x0008|1156\n爱滋病|0x100000|798\n碍口识羞|0x1000000|100\n碍面子|0x1000|1402\n碍难从命|0x1000000|1538\n碍手碍脚|0x1000000|45495\n碍于情面|0x800000|1027\n碍足碍手|0x1000000|100\n暧昧不明|0x1000000|930\n暧昧关系|0x0000|474\n暧昧之情|0x1000000|100\n安安定定|0x0100|1150\n安安静静|0x0100|694\n安安全全|0x0100|1062\n安安稳稳|0x0100|835\n安安心心|0x0100|865\n安邦定国|0x1000000|1110\n安邦治国|0x1000000|1215\n安不忘危|0x1000000|1256\n安步当车|0x1000000|53104\n安常处顺|0x1000000|100\n安常履顺|0x1000000|100\n安常守分|0x1000000|100\n安常守故|0x1000000|100\n安常习故|0x1000000|100\n安车蒲轮|0x1000000|100\n安达市|0x0040|1597\n安达信|0x0008|1555\n安道尔|0x0040|1453\n安德烈|0x0080|1368\n安德森|0x0080|1323\n安第斯山|0x0040|1622\n安第斯山脉|0x0040|1709\n安定团结|0x800000|900\n安定性|0x0008|445\n安东尼|0x0080|1184\n安东尼奥|0x0040|1400\n安东尼奥尼|0x0080|1\n安堵乐业|0x1000000|100\n安堵如故|0x1000000|100\n安多县|0x0040|1153\n安非他明|0x100000|1197\n安非他命|0x0008|1102\n安分守己|0x1000000|30358\n安分知足|0x1000000|100\n安份守己|0x1000000|1112\n安福县|0x0040|1055\n安富恤贫|0x1000000|100\n安富恤穷|0x0000|100\n安富尊荣|0x1000000|1173\n安哥拉|0x0040|1291\n安格鲁萨|0x0080|0\n安格鲁萨克逊|0x0080|1378\n安故重迁|0x1000000|100\n安圭拉岛|0x0040|1231\n安国富民|0x1000000|100\n安国宁家|0x1000000|100\n安国市|0x0040|1456\n安化县|0x0040|1565\n安徽大学|0x100000|487\n安徽合肥|0x100000|532\n安徽理工|0x100000|410\n安徽人|0x100000|3\n安徽省|0x0040|914\n安魂定魄|0x1000000|100\n安魂曲|0x100000|882\n安吉莱斯|0x0080|0\n安吉县|0x0040|1432\n安家费|0x100000|1007\n安家乐业|0x1000000|100\n安家立业|0x1000000|1156\n安家落户|0x1000000|933\n安检门|0x100000|438\n安检员|0x100000|397\n安居房|0x100000|418\n安居工程|0x100000|28340\n安居乐业|0x1000000|10051\n安卡拉|0x0040|1648\n安康地区|0x0040|1162\n安康社区|0x0040|1418\n安康市|0x0040|1413\n安克雷奇|0x0040|1181\n安老怀少|0x1000000|100\n安乐死|0x100000|38044\n安乐窝|0x100000|37483\n安乐椅|0x100000|44323\n安理会|0x0020|4752\n安理会常任理事国|0x0020|1453\n安良除暴|0x1000000|100\n安龙县|0x0040|1122\n安陆市|0x0040|1541\n安眉带眼|0x1000000|100\n安眠药|0x100000|21184\n安民告示|0x1000000|45797\n安内攘外|0x1000000|1190\n安宁市|0x0040|1590\n安培计|0x100000|1321\n安培力|0x0008|1211\n安培数|0x0008|0\n安培天平|0x0008|0\n安贫乐道|0x1000000|46980\n安贫乐贱|0x1000000|100\n安贫守道|0x0000|100\n安平县|0x0040|1266\n安琪儿|0x100000|38213\n安庆街|0x0040|0\n安庆市|0x0040|1194\n安丘市|0x0040|1339\n安全保密|0x0000|472\n安全保卫|0x0008|556\n安全保卫工作|0x0000|493\n安全标志|0x100000|453\n安全标准|0x0008|678\n安全玻璃|0x4000000|914\n安全补丁|0x100000|489\n安全部|0x100000|1446\n安全部队|0x100000|965\n安全部门|0x100000|931\n安全策略|0x0000|555\n安全产品|0x100000|523\n安全措施|0x0008|565\n安全带|0x100000|19797\n安全岛|0x100000|48994\n安全灯|0x100000|1157\n安全地|0x100000|14\n安全第一|0x400000|9\n安全电压|0x100000|1134\n安全阀|0x100000|48251\n安全法|0x100000|558\n安全感|0x100000|11863\n安全工程|0x100000|466\n安全工程师|0x100000|511\n安全管理|0x100000|607\n安全级别|0x0000|491\n安全技术|0x0008|9\n安全监管|0x100000|541\n安全检查|0x0008|598\n安全教育|0x0008|579\n安全局|0x100000|861\n安全卡瓦|0x0008|0\n安全理事会|0x0020|1086\n安全漏洞|0x100000|581\n安全帽|0x100000|30135\n安全门|0x100000|42371\n安全评价|0x0000|509\n安全期|0x4000|784\n安全期避孕法|0x0008|0\n安全气囊|0x100000|588\n安全器|0x0008|0\n安全器材|0x100000|395\n安全区|0x100000|903\n安全设备|0x0008|492\n安全生产|0x0008|602\n安全事故|0x100000|600\n安全套|0x100000|23630\n安全网|0x100000|772\n安全网关|0x0000|410\n安全卫生|0x100000|547\n安全卫士|0x100000|456\n安全问题|0x100000|636\n安全系数|0x800000|29177\n安全线|0x100000|1040\n安全鞋|0x100000|395\n安全泄压阀|0x0008|0\n安全形势|0x100000|484\n安全性|0x100000|560\n安全意识|0x100000|553\n安全隐患|0x100000|622\n安全员|0x100000|924\n安全栅|0x100000|383\n安全装置|0x0008|4\n安然如故|0x1000000|100\n安然无事|0x1000000|1028\n安然无恙|0x1000000|791\n安仁县|0x0040|1080\n安忍无亲|0x1000000|100\n安如磐石|0x1000000|55849\n安如太山|0x1000000|100\n安如泰山|0x40000000|55083\n安若泰山|0x0000|100\n安塞尔米|0x0080|0\n安塞县|0x0040|1089\n安身乐业|0x1000000|100\n安身立命|0x1000000|27259\n安身为乐|0x1000000|100\n安身之处|0x1000000|988\n安身之地|0x1000000|1095\n安神定魄|0x1000000|1535\n安生服业|0x1000000|100\n安生乐业|0x1000000|100\n安时处顺|0x1000000|1285\n安史之乱|0x100000|922\n安室利处|0x1000000|100\n安室奈美惠|0x0080|1\n安适如常|0x1000000|100\n安守本分|0x800000|1130\n安顺市|0x0040|1315\n安提瓜和巴布达|0x0040|1774\n安替比林|0x100000|1220\n安图县|0x0040|1049\n安徒生|0x0008|1237\n安土乐业|0x1000000|100\n安土重旧|0x1000000|100\n安土重居|0x1000000|100\n安土重迁|0x1000|53584\n安危祸福|0x1000000|1106\n安危相易|0x1000000|100\n安危与共|0x1000000|100\n安慰剂|0x100000|985\n安西县|0x0040|1088\n安息日|0x4000|969\n安息香|0x0008|1054\n安溪县|0x0040|1437\n安闲自得|0x1000000|100\n安闲自在|0x1000000|1261\n安乡县|0x0040|1595\n安享晚年|0x800000|934\n安心定志|0x1000000|100\n安心乐业|0x1000000|100\n安心乐意|0x1000000|100\n安心落意|0x1000000|100\n安新县|0x0040|1539\n安阳市|0x0040|1186\n安阳县|0x0040|1384\n安养院|0x0008|1138\n安义县|0x0040|1646\n安营下寨|0x1000000|1317\n安营扎寨|0x1000000|27510\n安于故俗|0x1000000|100\n安于盘石|0x0000|100\n安于现状|0x1000000|788\n安于一隅|0x1400000|0\n安远县|0x0040|1638\n安岳县|0x0040|1057\n安葬地|0x100000|0\n安泽县|0x0040|1153\n安宅正路|0x1000000|100\n安枕而卧|0x1000000|100\n安之若命|0x1000000|1251\n安之若素|0x1000000|43360\n安知非福|0x1000000|1163\n安置费|0x100000|1048\n安置工作|0x0000|502\n安装费|0x100000|992\n安装盘|0x0000|533\n安坐待毙|0x1000000|100\n氨苄青霉素|0x0008|0\n氨苄西林|0x0008|1106\n氨茶碱|0x100000|1057\n氨化泥炭|0x0008|0\n氨基胍|0x0008|0\n氨基化|0x100000|0\n氨基己糖苷酶|0x0008|0\n氨基甲酸酯|0x0008|1116\n氨基硫脲|0x0008|0\n氨基树脂|0x0008|0\n氨基塑料|0x0008|0\n氨基酸|0x100000|15442\n氨基酸二肽酶|0x400000|0\n氨基转移酶|0x0008|0\n氨甲喋呤|0x0008|0\n氨碱法|0x0008|0\n氨肽酶|0x100000|1405\n鹌鹑蛋|0x0000|451\n鞍不离马|0x1000000|100\n鞍钢宪法|0x0008|0\n鞍马劳顿|0x1000000|48604\n鞍马劳倦|0x1000000|100\n鞍马劳困|0x1000000|100\n鞍马劳神|0x0000|100\n鞍马之劳|0x1000000|100\n鞍前马后|0x1000000|44325\n鞍山市|0x0040|1240\n岸谷五朗|0x400080|0\n岸谷之变|0x1000000|100\n岸然道貌|0x1000000|1540\n按比例|0x0000|547\n按兵不动|0x1000000|27023\n按兵不举|0x0000|100\n按兵束甲|0x0000|100\n按步就班|0x1000000|989\n按部就班|0x1000000|25179\n按察使|0x100000|1070\n按堵如故|0x0000|100\n按计划|0x8000000|767\n按甲寝兵|0x1000000|100\n按甲休兵|0x1000000|100\n按键精灵|0x100000|512\n按劳分配|0x800000|944\n按劳付酬|0x800000|1344\n按劳取酬|0x800000|1116\n按理说|0x800000|754\n按名责实|0x1000000|100\n按摩疗法|0x0008|0\n按摩师|0x0008|837\n按捺不住|0x1000000|772\n按钮开关|0x0000|441\n按钮图标|0x100000|402\n按辔徐行|0x1000000|1305\n按图索骥|0x1000000|39235\n按图索骏|0x1000000|1411\n按下葫芦浮起瓢|0x0008|2\n按行自抑|0x1000000|100\n按需分配|0x800000|1050\n按照国际惯例|0x0000|451\n按质论价|0x800000|1152\n按资排辈|0x0008|1268\n案兵束甲|0x1000000|100\n案牍劳形|0x1000000|1240\n案牍之劳|0x1000000|100\n案甲休兵|0x1000000|100\n案剑瞋目|0x1000000|100\n案头工作|0x100000|100\n案无留牍|0x1000000|100\n暗暗淡淡|0x0100|687\n暗沉沉|0x0100|1125\n暗锤打人|0x1000000|100\n暗淡无光|0x1000000|871\n暗地里|0x8000000|17062\n暗斗明争|0x1000000|100\n暗度陈仓|0x1000000|1016\n暗度金针|0x0000|100\n暗渡陈仓|0x1000000|879\n暗褐色|0x0000|424\n暗黑破坏神|0x0000|552\n暗红色|0x100000|799\n暗记儿|0x100000|0\n暗箭明枪|0x0000|100\n暗箭难防|0x1000000|100\n暗箭伤人|0x1000000|1000\n暗箭中人|0x0000|100\n暗箭最难防|0x0008|1534\n暗叫一声|0x400000|0\n暗扣儿|0x0000|50072\n暗绿稀红|0x1000000|100\n暗昧之事|0x1000000|100\n暗气暗恼|0x1000000|100\n暗弱无断|0x1000000|100\n暗射地图|0x0000|100\n暗示性|0x100000|946\n暗视场显微镜|0x0008|0\n暗室不欺|0x1000000|100\n暗室逢灯|0x1000000|100\n暗室亏心|0x1000000|100\n暗室欺心|0x1000000|100\n暗室求物|0x1000000|100\n暗室私心|0x0000|100\n暗室屋漏|0x1000000|100\n暗适应|0x0008|0\n暗送秋波|0x1000000|50850\n暗无天日|0x1000000|39864\n暗物质|0x100000|1007\n暗香疏影|0x1000000|1123\n暗箱操作|0x0000|17705\n暗笑一声|0x400000|0\n暗中摸索|0x1000000|1188\n黯淡无光|0x1000000|901\n黯晦消沉|0x1000000|100\n黯然伤神|0x1000000|971\n黯然神伤|0x1000000|35774\n黯然失色|0x1000000|29817\n黯然无色|0x1000000|100\n黯然销魂|0x1000000|469\n肮肮脏脏|0x0100|1273\n昂昂自若|0x1000000|0\n昂藏七尺|0x1400000|0\n昂然直入|0x1000000|100\n昂然自得|0x1000000|100\n昂然自若|0x0000|100\n昂仁县|0x0040|1200\n昂首阔步|0x1000000|34433\n昂首伸眉|0x1000000|100\n昂首天外|0x1000000|100\n昂首挺胸|0x1000000|852\n昂首望天|0x1000000|1267\n昂头阔步|0x1000000|100\n昂头天外|0x0000|100\n昂头挺胸|0x1000000|1144\n昂霄耸壑|0x1000000|100\n盎格鲁|0x0008|1605\n盎盂相击|0x1000000|100\n盎盂相敲|0x1000000|100\n凹版印刷|0x0008|1\n凹面镜|0x100000|1231\n凹透镜|0x100000|1138\n凹凸不平|0x800000|862\n凹凸镜|0x100000|1262\n敖不可长|0x0000|100\n敖德萨|0x0080|1085\n敖汉旗|0x0040|1039\n敖世轻物|0x0000|100\n嗷嗷待哺|0x1000000|38628\n嗷嗷叫|0x0100|960\n遨翔自得|0x1000000|100\n遨游四海|0x400000|0\n熬肠刮肚|0x1000000|100\n熬出头|0x0000|47914\n熬更守夜|0x1000000|100\n熬姜呷醋|0x1000000|100\n熬枯受淡|0x1000000|100\n熬清守淡|0x1000000|100\n熬清守谈|0x0000|100\n熬清受淡|0x1000000|100\n熬心费力|0x1000000|100\n熬油费火|0x1000000|100\n翱游四海|0x400000|0\n聱牙佶屈|0x0000|100\n聱牙戟口|0x0000|100\n聱牙诘曲|0x0000|100\n聱牙诘屈|0x0000|100\n螯合滴定|0x0008|0\n螯合剂|0x0008|0\n螯合试剂|0x0008|0\n螯合效应|0x0008|0\n謷牙诘屈|0x1000000|100\n鳌愤龙愁|0x1000000|100\n鳌里夺尊|0x1000000|100\n鳌鸣鳖应|0x1000000|100\n鳌头独占|0x1000000|100\n鳌掷鲸呿|0x1000000|100\n鳌掷鲸吞|0x1000000|100\n拗不过|0x1000|28559\n拗口令|0x100000|1429\n傲不可长|0x1000000|100\n傲骨嶙嶙|0x1000000|100\n傲慢不逊|0x1000000|1322\n傲慢少礼|0x1000000|100\n傲慢无礼|0x1000000|1043\n傲慢与偏见|0x100000|817\n傲睨得志|0x1000000|100\n傲睨万物|0x1000000|100\n傲睨一切|0x1400000|0\n傲睨一世|0x1400000|0\n傲睨自若|0x1000000|100\n傲然挺立|0x800000|931\n傲然屹立|0x1000000|1081\n傲世轻物|0x1000000|100\n傲视群雄|0x0000|489\n傲视一切|0x400000|0\n傲霜斗雪|0x1000000|1240\n傲头傲脑|0x1000000|100\n傲贤慢士|0x1000000|100\n傲雪凌霜|0x1000000|1220\n傲雪欺霜|0x1000000|100\n奥贝斯坦|0x0080|0\n奥布拉兹卓娃|0x0080|0\n奥布莱恩|0x0080|378\n奥地利|0x0040|1046\n奥地利帝国|0x100000|1039\n奥地利人|0x100000|1005\n奥地利学派|0x0008|0\n奥古斯丁|0x0080|1533\n奥克兰|0x100000|525\n奥利萨德贝|0x0080|0\n奥林巴斯|0x0008|1131\n奥林比亚|0x0080|0\n奥林帕斯|0x0008|1108\n奥林匹克|0x0008|1056\n奥林匹克试题|0x100000|370\n奥林匹克运动会|0x0008|1395\n奥马哈|0x100000|403\n奥妙无穷|0x1000000|1049\n奥塞罗特|0x0080|0\n奥申委|0x100000|422\n奥氏体|0x100000|1047\n奥斯卡|0x100000|926\n奥斯卡奖|0x0008|1342\n奥斯卡金像奖|0x0008|1280\n奥斯陆|0x0040|1467\n奥斯陆市|0x0040|1318\n奥斯曼|0x0040|1414\n奥斯特|0x100000|1440\n奥斯汀|0x0080|1426\n奥委会|0x100000|14383\n奥援有灵|0x1000000|100\n奥运场馆|0x100000|489\n奥运村|0x100000|894\n奥运冠军|0x0000|552\n奥运会|0x100000|2428\n奥运会冠军|0x100000|471\n奥运会徽|0x100000|400\n奥运会吉祥物|0x100000|495\n奥运吉祥物|0x100000|532\n奥运健儿|0x100000|445\n奥运金牌|0x100000|505\n奥运团|0x100000|0\n澳大利亚|0x0040|3084\n澳大利亚人|0x100000|871\n澳大利亚移民|0x100000|371\n澳地利|0x100000|1254\n澳门币|0x100000|395\n澳门街|0x100000|392\n澳门人|0x100000|1009\n澳门日报|0x100000|986\n澳门特别行政区|0x0040|1371\n澳门元|0x100000|404\n澳洲籍|0x100000|2\n澳洲界|0x100000|0\n澳洲人|0x100000|952\n懊悔无及|0x1000000|100\n八八六十四|0x400000|0\n八百孤寒|0x1400000|0\n八百万|0x600000|2\n八百壮士|0x400000|0\n八拜之交|0x500000|54647\n八宝菜|0x500000|0\n八宝饭|0x4400000|47288\n八宝山|0x400040|15\n八宝箱|0x500000|0\n八宝粥|0x400008|48606\n八辈子|0x0000|42849\n八边形|0x500000|0\n八窗玲珑|0x1400000|0\n八达岭|0x400040|28\n八大菜系|0x400000|948\n八大胡同|0x400000|0\n八大山人|0x500000|0\n八斗才|0x500000|0\n八斗之才|0x500000|0\n八段锦|0x500000|3\n八方风雨|0x1400000|0\n八方呼应|0xc00000|0\n八方之外|0x400000|0\n八方支持|0x400000|100\n八方支援|0xc00000|4\n八方资源|0x100000|431\n八分九裂|0x400000|0\n八分音符|0x400000|1148\n八府巡按|0x1400000|0\n八竿子打不着|0x400008|0\n八哥儿|0x400000|0\n八公山上|0x1400000|0\n八股文|0x500000|0\n八卦教|0x400020|0\n八卦图|0x100000|440\n八卦新闻|0x400000|468\n八卦掌|0x500000|53107\n八卦阵|0x500000|0\n八国联军|0x500000|2\n八纮同轨|0x1400000|0\n八花九裂|0x400000|0\n八荒之外|0x1400000|0\n八会穴|0x500000|0\n八级工资制|0x500000|0\n八角枫|0x500000|0\n八角茴香|0x400008|0\n八角茴香油|0x400000|0\n八角帽|0x0000|50851\n八角形|0x500000|47915\n八街九陌|0xc00000|0\n八进位|0x400000|0\n八进制|0x500000|0\n八九不离十|0x400008|0\n八开本|0x400000|0\n八廓街|0x400040|0\n八厘麻|0x400000|0\n八里乡|0x400040|2\n八路军|0x500000|7778\n八面锋|0x500000|0\n八面见光|0xc00000|0\n八面来风|0xc00000|1\n八面玲珑|0x1400000|42850\n八面驶风|0x1400000|0\n八面受敌|0x1400000|0\n八面威风|0x1400000|44602\n八面莹澈|0xc00000|0\n八面圆通|0xc00000|0\n八面张罗|0xc00000|0\n八木天线|0x400008|0\n八目鳗|0x400000|0\n八拿马运河|0x400000|0\n八难三灾|0x400000|100\n八旗子弟|0x400000|1020\n八千里路云和月|0x400000|0\n八千万|0x600000|6\n八荣八耻|0x400000|631\n八十八|0x600000|4\n八十二|0x600000|5\n八十九|0x600000|5\n八十六|0x600000|1\n八十年代|0x400000|637\n八十七|0x600000|7\n八十三|0x600000|3\n八十四|0x600000|1\n八十岁|0x400000|501\n八十岁学鼓手|0x400000|0\n八十万|0x600000|4\n八十五|0x600000|8\n八十一|0x600000|7\n八宿县|0x400000|1159\n八抬大轿|0xc00000|0\n八万四千|0x600000|1\n八位数|0x400000|1\n八位位组|0x400000|0\n八位字节|0x400000|0\n八五规划|0x400000|0\n八五计划|0x400000|0\n八五期间|0x400000|0\n八仙洞|0x400040|0\n八仙过海|0x401000|34575\n八仙花|0x400008|0\n八仙桌|0x500000|23631\n八项注意|0x400000|900\n八小时工作制|0x400000|0\n八行书|0x500000|0\n八一建军节|0x404000|8\n八一南昌起义|0x400008|2\n八音迭奏|0x1400000|0\n八音遏密|0x1400000|0\n八音盒|0x500000|54648\n八月份|0x4000|100\n八月节|0x404000|45496\n八珍玉食|0xc00000|0\n八中全会|0x400000|0\n八字步|0x0000|46663\n八字打开|0xc00000|0\n八字胡|0x400008|45799\n八字还没有一撇|0x400008|1\n八字脚|0x500000|52603\n八字没见一撇|0x400008|0\n八字没一撇|0x400008|0\n八字眉|0x500000|55087\n八字宪法|0x400000|0\n八字形|0x0000|54649\n巴巴多斯|0x0040|1661\n巴巴急急|0x1000000|100\n巴巴劫劫|0x1000000|100\n巴巴结结|0x0100|1365\n巴贝多|0x0080|0\n巴贝夫|0x0008|0\n巴比伦|0x0008|33215\n巴比特|0x0080|1190\n巴比妥酸盐|0x0008|0\n巴不得|0x1000|14770\n巴布亚新几内亚|0x0040|1568\n巴楚县|0x0040|1103\n巴旦杏|0x0008|1255\n巴蒂斯图塔|0x0080|1472\n巴东县|0x0040|1603\n巴儿狗|0x100000|55088\n巴尔干|0x0040|1472\n巴尔干半岛|0x0040|1618\n巴尔干山脉|0x100000|1160\n巴尔喀什|0x0040|1145\n巴尔喀什湖|0x0040|1149\n巴尔扎克|0x0080|1397\n巴伐利亚|0x0040|1363\n巴甫洛夫|0x0040|1659\n巴高望上|0x1000000|100\n巴高枝儿|0x1000|100\n巴格达|0x0040|1224\n巴哈马|0x0040|1490\n巴哈马群岛|0x0000|392\n巴基斯坦|0x0040|3475\n巴基斯坦人|0x100000|22\n巴吉尔米|0x0040|1374\n巴戟天|0x100000|1103\n巴解组织|0x0020|1161\n巴枯宁|0x0008|0\n巴拉顿湖|0x0040|1333\n巴拉圭|0x0040|1274\n巴拉圭队|0x100000|384\n巴勒斯坦|0x0040|1227\n巴黎公社|0x0008|1034\n巴黎和会|0x0008|0\n巴黎人|0x100000|969\n巴黎统筹委员会|0x0008|0\n巴里岛|0x0080|1496\n巴里坤哈萨克自治县|0x0040|1177\n巴林右旗|0x0040|1688\n巴林左旗|0x0040|1080\n巴洛克|0x0008|1309\n巴洛克式|0x100000|1\n巴马科|0x0040|1225\n巴马瑶族自治县|0x0040|1661\n巴门尼德|0x0080|0\n巴拿马|0x0040|1296\n巴拿马城|0x0040|1199\n巴拿马共和国|0x0040|1579\n巴拿马运|0x0040|1368\n巴拿马运河|0x0008|1632\n巴南区|0x0040|1200\n巴前算后|0x1000000|100\n巴青县|0x0040|1211\n巴人下里|0x1000000|100\n巴塞尔|0x100000|492\n巴塞隆纳|0x0080|1685\n巴塞罗那|0x0040|1166\n巴三览四|0x1400000|0\n巴三揽四|0x400000|100\n巴山度岭|0x1000000|0\n巴山蜀水|0x1000000|47592\n巴山夜雨|0x1000000|936\n巴山越岭|0x1000000|100\n巴什基尔|0x0040|1255\n巴士拉|0x0040|1627\n巴士站|0x0008|1483\n巴斯克|0x0040|1614\n巴塘县|0x0040|1164\n巴头探脑|0x800000|100\n巴西队|0x100000|559\n巴西龟|0x100000|407\n巴西利亚|0x0040|1685\n巴西木|0x100000|1108\n巴西人|0x100000|816\n巴雅尔图|0x0080|0\n巴彦淖尔|0x0040|1389\n巴彦淖尔盟|0x0040|1622\n巴彦县|0x0040|1622\n巴音郭楞|0x0040|1453\n巴扎罗夫|0x0080|0\n巴中市|0x0040|1501\n叭儿狗|0x100000|55088\n扒耳搔腮|0x1000000|100\n扒高踩低|0x1000000|100\n芭比娃娃|0x100000|748\n芭蕉扇|0x100000|35775\n芭乐汁|0x100000|1252\n芭蕾舞|0x100000|14306\n芭蕾舞团|0x100000|945\n芭蕾舞演员|0x0000|400\n疤痕疙瘩|0x100000|486\n拔本塞原|0x1000000|100\n拔本塞源|0x1000000|100\n拔丛出类|0x1000000|100\n拔萃出类|0x1000000|100\n拔萃出群|0x800000|100\n拔刀相向|0x1000000|1120\n拔刀相助|0x1000000|42633\n拔地参天|0x0000|100\n拔地而起|0x1000000|16838\n拔地摇山|0x800000|100\n拔地倚天|0x1000000|100\n拔丁抽楔|0x1000000|100\n拔罐子|0x1000|54651\n拔锅卷席|0x1000000|100\n拔火罐|0x0000|51703\n拔尖儿|0x100000|1300\n拔剑论功|0x1000000|100\n拔葵啖枣|0x1000000|100\n拔葵去织|0x1000000|100\n拔来报往|0x1000000|100\n拔类超群|0x1000000|100\n拔了萝卜地皮宽|0x0008|100\n拔毛济世|0x1000000|100\n拔毛连茹|0x800000|100\n拔茅连茹|0x1000000|0\n拔苗助长|0x1000000|37310\n拔群出萃|0x1000000|100\n拔山超海|0x1000000|100\n拔山盖世|0x1000000|100\n拔山举鼎|0x1000000|1315\n拔山扛鼎|0x1000000|1386\n拔十得五|0x1400000|0\n拔十失五|0x1400000|0\n拔树撼山|0x0000|100\n拔树搜根|0x1000000|100\n拔树寻根|0x1000000|100\n拔犀擢象|0x1000000|100\n拔辖投井|0x1000000|100\n拔新领异|0x1000000|100\n拔牙钳|0x0008|0\n拔宅飞升|0x1000000|1405\n拔宅上升|0x1000000|1541\n拔赵易汉|0x1000000|100\n拔赵帜立赤帜|0x0008|100\n拔赵帜易汉帜|0x0008|100\n拔帜树帜|0x1000000|100\n拔帜易帜|0x1000000|100\n跋胡疐尾|0x1000000|100\n跋扈飞扬|0x1000000|100\n跋扈自恣|0x1000000|100\n跋扈恣睢|0x1000000|100\n跋来报往|0x1000000|0\n跋履山川|0x1000000|100\n跋前踕后|0x1000000|100\n跋前疐后|0x1000|0\n跋前踬后|0x1000|1540\n跋山涉川|0x1000000|100\n跋山涉水|0x1000000|30019\n跋涉山川|0x1000000|100\n把臂入林|0x1000000|100\n把臂徐去|0x0000|100\n把持不定|0x1000000|1159\n把饭叫饥|0x1000000|100\n把酒持螯|0x1000000|100\n把酒言欢|0x800000|897\n把口儿|0x0000|45800\n把水搅浑|0x0000|54121\n把素持斋|0x1000000|100\n把玩无厌|0x1000000|100\n把握机会|0x0000|540\n把握机遇|0x100000|880\n把握住|0x0000|593\n把薪助火|0x1000000|100\n把兄弟|0x100000|38832\n靶细胞|0x0008|0\n罢黜百家|0x1000000|1034\n罢免权|0x100000|1185\n霸道横行|0x1000000|1244\n霸陵醉尉|0x1000000|100\n霸权主义|0x100000|907\n霸王鞭|0x100000|48254\n霸王别姬|0x1000000|793\n霸王传|0x100000|388\n霸王风月|0x1000000|1417\n霸王花|0x100000|954\n霸王龙|0x100000|486\n霸州市|0x0040|1302\n掰腕子|0x1000|55090\n白皑皑|0x0100|43118\n白矮星|0x100000|1077\n白白地|0x0100|891\n白白胖胖|0x0100|842\n白白朱朱|0x1000000|100\n白斑病|0x100000|1063\n白斑症|0x100000|428\n白板纸|0x100000|410\n白报纸|0x100000|51706\n白背飞虱|0x0008|0\n白鼻子|0x100000|1259\n白璧青蝇|0x1000000|100\n白璧三献|0x400000|100\n白璧微瑕|0x1000000|51707\n白璧无瑕|0x1000000|54652\n白扁豆|0x0008|377\n白不呲咧|0x0100|1538\n白菜类蔬菜|0x0008|0\n白草黄云|0x1000000|100\n白茬儿|0x0000|43361\n白城市|0x0040|1515\n白齿青眉|0x0000|100\n白炽灯|0x100000|33478\n白唇鹿|0x100000|1071\n白大褂|0x100000|22086\n白蛋白|0x100000|945\n白帝城|0x0040|1482\n白癫风|0x0008|1224\n白癜风|0x100000|47918\n白藋同心|0x0000|100\n白丁俗客|0x1000000|100\n白豆蔻|0x0008|0\n白俄罗斯|0x0040|1370\n白俄罗斯共和国|0x0040|1592\n白垩纪|0x4000|976\n白发苍苍|0x1000000|767\n白发苍颜|0x1000000|100\n白发丹心|0x1000000|100\n白发红颜|0x1000000|1229\n白发皤然|0x800000|0\n白发千丈|0x1000000|100\n白发青衫|0x1000000|100\n白发三千丈|0x400000|0\n白发朱颜|0x0000|100\n白饭青刍|0x1000000|100\n白费口舌|0x800000|1017\n白费蜡|0x1000|54122\n白费力气|0x800000|816\n白费心机|0x0000|422\n白粉病|0x100000|45498\n白附子|0x0008|0\n白干儿|0x100000|44904\n白骨精|0x100000|43827\n白骨露野|0x1000000|100\n白骨再肉|0x1000000|100\n白圭之玷|0x1000000|1373\n白果树|0x100000|1061\n白河县|0x0040|1111\n白黑不分|0x0000|100\n白黑颠倒|0x0000|100\n白黑分明|0x1000000|100\n白虹贯日|0x1000000|1147\n白喉毒素|0x0008|0\n白虎星|0x100000|1216\n白花花|0x0100|20930\n白花蛇|0x0008|1064\n白花蛇舌草|0x0008|0\n白华之怨|0x1000000|100\n白化病|0x100000|54653\n白话八股|0x400000|100\n白话诗|0x100000|36096\n白话文|0x100000|21891\n白话文学|0x0008|1136\n白桦林|0x100000|819\n白晃晃|0x0100|44073\n白暨豚|0x100000|1182\n白袷蓝衫|0x0000|100\n白僵菌素|0x100000|0\n白降丹|0x0008|0\n白介素|0x0008|1091\n白芥子|0x0008|0\n白金版|0x100000|598\n白金汉|0x0080|1072\n白金汉宫|0x0008|39236\n白晶晶|0x0100|1600\n白净净|0x0100|1218\n白驹过隙|0x1000000|51259\n白驹空谷|0x1000000|100\n白菊花|0x0008|1643\n白开水|0x100000|27991\n白口铁|0x0008|1348\n白蜡虫|0x100000|1370\n白蜡明经|0x1000000|100\n白蜡树|0x0008|1063\n白兰地|0x100000|25119\n白兰地酒|0x0008|1066\n白兰瓜|0x0000|46665\n白兰花|0x100000|43586\n白朗县|0x0040|1193\n白浪滔天|0x1000000|1112\n白浪掀天|0x1000000|100\n白莲教|0x0020|1017\n白亮亮|0x0100|1144\n白领阶层|0x100000|881\n白领丽人|0x100000|504\n白令海|0x0040|1053\n白龙鱼服|0x1000000|1263\n白马非马|0x100000|1094\n白马寺|0x0040|1483\n白马王子|0x100000|36422\n白茫茫|0x0100|19871\n白毛女|0x0008|1498\n白毛夏枯草|0x0008|0\n白茅根|0x0008|0\n白旄黄钺|0x1000000|1374\n白眉赤眼|0x1000000|1421\n白濛濛|0x0100|0\n白蒙蒙|0x0100|48607\n白米分级|0x0008|0\n白面儿|0x100000|27758\n白面儒冠|0x0000|100\n白面儒生|0x0000|100\n白面书郎|0x0000|100\n白面书生|0x100000|39454\n白木耳|0x100000|54123\n白木耳三角|0x400000|0\n白内障|0x100000|16441\n白跑一趟|0x400000|0\n白皮书|0x100000|13830\n白皮松|0x100000|42125\n白平衡|0x0008|589\n白葡萄酒|0x100000|927\n白鳍豚|0x100000|33082\n白帢青衫|0x0000|100\n白求恩|0x0080|1394\n白屈菜|0x100000|1220\n白热化|0x1000|23104\n白刃战|0x100000|1057\n白日飞升|0x800000|1055\n白日见鬼|0x1000|1073\n白日梦|0x100000|33216\n白日青天|0x0000|100\n白日上升|0x0000|100\n白日升天|0x1000000|100\n白日绣衣|0x0000|100\n白日衣绣|0x1000000|100\n白日作梦|0x0000|100\n白日做梦|0x1000|45198\n白三烯|0x500000|0\n白色恐怖|0x100000|27262\n白色垃圾|0x0000|43828\n白色体|0x0008|0\n白色污染|0x100000|29494\n白沙黎族自治县|0x0040|1773\n白沙瓦|0x0040|1169\n白沙在涅|0x1000000|0\n白山黑水|0x100000|963\n白山市|0x0040|1462\n白蛇传|0x0008|807\n白生生|0x0100|39455\n白手成家|0x1000|1210\n白手空拳|0x0000|100\n白手起家|0x1000|25180\n白首北面|0x1000000|100\n白首不渝|0x1000000|100\n白首空归|0x1000000|100\n白首齐眉|0x0000|100\n白首穷经|0x1000000|1417\n白首如新|0x0000|100\n白首同归|0x0000|100\n白首为郎|0x0000|100\n白首乌|0x0008|0\n白首相知|0x1000000|100\n白首相庄|0x0000|100\n白首一节|0x400000|100\n白首之心|0x1000000|1162\n白刷刷|0x0100|0\n白水鉴心|0x1000000|100\n白水县|0x0040|1049\n白叟黄童|0x1000000|1534\n白塔山|0x100000|1094\n白天鹅|0x100000|25606\n白天见鬼|0x0000|100\n白条鸡|0x100000|453\n白条猪|0x0000|55571\n白条子|0x0000|51260\n白铁皮|0x100000|55091\n白头不终|0x0000|100\n白头到老|0x1000000|799\n白头而新|0x0000|100\n白头如新|0x1000000|1273\n白头翁|0x100000|48996\n白头相并|0x0000|100\n白头相守|0x1000000|100\n白头偕老|0x1000|36423\n白头之叹|0x0000|100\n白兔赤乌|0x0000|100\n白玩儿|0x0000|50854\n白往黑来|0x1000000|100\n白屋寒门|0x1000000|100\n白屋之士|0x0000|100\n白钨矿|0x100000|1275\n白细胞|0x100000|20073\n白细胞减少症|0x0008|0\n白鲜皮|0x0008|0\n白小姐|0x100000|567\n白雪皑皑|0x1000000|846\n白雪公主|0x0080|713\n白雪难和|0x0000|100\n白雪阳春|0x1000000|1338\n白血病|0x100000|15732\n白血病病毒|0x0008|0\n白血球|0x100000|40297\n白眼儿狼|0x0000|55092\n白眼相看|0x1000000|100\n白眼珠|0x100000|46381\n白羊座|0x0008|1093\n白杨木|0x100000|1179\n白杨树|0x100000|885\n白洋淀|0x0040|1413\n白衣苍狗|0x1000000|0\n白衣公卿|0x1000000|100\n白衣卿相|0x1000000|1107\n白衣天使|0x100000|18385\n白衣秀士|0x1000000|1159\n白衣宰相|0x0000|100\n白衣战士|0x100000|1134\n白蚁争穴|0x0000|100\n白银市|0x0040|1494\n白鱼赤乌|0x0000|100\n白鱼登舟|0x0000|100\n白鱼入舟|0x1000000|100\n白玉兰|0x4000000|34008\n白玉微瑕|0x1000000|1228\n白玉无瑕|0x1000000|1248\n白玉县|0x0040|1188\n白云苍狗|0x1000000|1010\n白云孤飞|0x1000000|100\n白云观|0x0040|1558\n白云机场|0x0040|1379\n白云亲舍|0x1000000|100\n白云山|0x0040|1312\n白云石|0x100000|980\n白云岩|0x0008|1042\n白斩鸡|0x100000|52608\n白纸黑字|0x100000|31820\n白种人|0x100000|38047\n百八十|0x600000|0\n百般刁难|0x1000000|1011\n百般奉承|0x1000000|100\n百般抚慰|0x0000|100\n百般无奈|0x800000|754\n百般折磨|0x0000|100\n百宝万货|0x0000|100\n百宝箱|0x100000|39866\n百弊丛生|0x1000000|0\n百不当一|0x400000|100\n百不获一|0x1400000|0\n百不失一|0x1400000|0\n百不随一|0x1400000|0\n百不一存|0x1400000|0\n百不一贷|0x400000|100\n百不一遇|0x400000|100\n百步穿杨|0x1000|48609\n百城之富|0x0008|1325\n百尺竿头|0x1000000|37312\n百尺竿头更进一步|0x400008|1\n百尺无枝|0x0000|100\n百川朝海|0x0000|100\n百川赴海|0x0000|100\n百川归海|0x1000000|1085\n百辞莫辩|0x1000000|100\n百代过客|0x1000000|100\n百代文宗|0x1000000|100\n百动不如一静|0x400000|100\n百读不厌|0x1000000|1023\n百堵皆作|0x1000000|100\n百端待举|0x1000000|100\n百端交集|0x0000|100\n百堕俱举|0x0000|100\n百儿八十|0x400000|45499\n百二关河|0x400000|100\n百二河山|0x1400000|0\n百二金瓯|0x400000|100\n百二山川|0x400000|100\n百二山河|0x400000|100\n百发百中|0x0100|41173\n百凡待举|0x0000|100\n百废待举|0x1000000|1154\n百废待兴|0x1000000|28438\n百废具举|0x1000000|100\n百废具兴|0x1000000|1237\n百废具作|0x0000|100\n百废俱举|0x1000000|100\n百废俱兴|0x1000000|1167\n百废咸举|0x0000|100\n百分百|0x0008|692\n百分比|0x100000|22715\n百分表|0x100000|1040\n百分点|0x100000|3637\n百分号|0x100000|1082\n百分率|0x100000|55093\n百分数|0x100000|50472\n百分之|0x400000|555\n百分之百|0x400000|10808\n百分之一|0x400000|522\n百分之一百|0x400000|2\n百分制|0x100000|37670\n百夫长|0x0008|1050\n百夫决拾|0x1000000|100\n百福具臻|0x0000|100\n百感交集|0x1000000|24932\n百舸争流|0x1000000|965\n百怪千奇|0x0000|100\n百鬼众魅|0x0000|100\n百合花|0x100000|31483\n百花奖|0x0008|35776\n百花齐放|0x1000000|13781\n百花生日|0x1000000|1289\n百花园|0x100000|910\n百花争妍|0x0000|100\n百花争艳|0x1000000|934\n百卉千葩|0x1000000|100\n百喙莫辩|0x0000|100\n百喙难辩|0x0000|100\n百喙难辞|0x0000|100\n百喙如一|0x400000|100\n百喙一词|0x400000|100\n百货大楼|0x100000|799\n百货店|0x100000|816\n百货公司|0x100000|724\n百货商场|0x0000|509\n百货商店|0x100000|781\n百货业|0x100000|864\n百计千方|0x0000|100\n百计千谋|0x0000|100\n百计千心|0x0000|100\n百家饭|0x100000|1081\n百家讲坛|0x0000|531\n百家姓|0x100000|32208\n百家争鸣|0x1000000|18233\n百结愁肠|0x0000|100\n百结悬鹑|0x0000|100\n百金求间|0x1000000|0\n百举百捷|0x0000|100\n百举百全|0x1000000|100\n百看不厌|0x800000|836\n百科辞典|0x100000|1022\n百科全书|0x100000|18980\n百孔千疮|0x1000000|45199\n百孔千创|0x0000|100\n百口莫辩|0x1000000|51709\n百口难分|0x0000|100\n百口同声|0x0000|100\n百老汇|0x0040|1296\n百里不同俗|0x0008|100\n百里挑一|0x1400000|39457\n百里之才|0x1000000|1396\n百炼成刚|0x0000|100\n百炼成钢|0x1000000|1017\n百炼千锤|0x1000000|0\n百了千当|0x1000000|100\n百伶百俐|0x1000000|1357\n百灵鸟|0x100000|908\n百龄眉寿|0x1000000|100\n百虑一致|0x400000|100\n百虑攒心|0x0000|100\n百忙之中|0x800000|808\n百密一疏|0x400000|999\n百谋千计|0x0000|100\n百慕达|0x100000|1033\n百慕大|0x0040|1403\n百慕大群岛|0x0040|1139\n百衲本|0x100000|1193\n百衲衣|0x100000|1143\n百年不遇|0x1000|24678\n百年大计|0x1000000|28082\n百年大业|0x0000|100\n百年孤独|0x100000|880\n百年好合|0x0000|471\n百年好事|0x0000|100\n百年难遇|0x1000000|967\n百年树人|0x1000000|951\n百年偕老|0x1000000|1231\n百年谐老|0x0000|100\n百年一遇|0xc00000|10\n百年战争|0x0008|0\n百年之柄|0x1000000|100\n百年之好|0x1000000|1060\n百年之后|0x1000000|898\n百年之业|0x0000|100\n百年之约|0x0000|100\n百念皆灰|0x1000000|100\n百鸟朝凤|0x1000000|978\n百鸟之王|0x100000|1146\n百品千条|0x0000|100\n百巧成穷|0x0000|100\n百巧千穷|0x1000000|100\n百犬吠声|0x0000|100\n百忍成金|0x0000|100\n百日咳|0x100000|44603\n百日咳杆菌|0x0008|0\n百日维新|0x800000|1087\n百蕊草|0x100000|1425\n百色市|0x0040|1355\n百舌鸟|0x100000|1264\n百舌之声|0x1000000|100\n百舍重茧|0x1000000|100\n百舍重趼|0x0000|100\n百身何赎|0x1000000|100\n百身莫赎|0x1000000|100\n百世不磨|0x1000000|100\n百世不易|0x0000|100\n百世流芳|0x0000|100\n百世流芬|0x0000|100\n百世师|0x1000000|100\n百世一人|0x400000|100\n百世之利|0x0000|100\n百世之师|0x0000|100\n百事大吉|0x0000|100\n百事可乐|0x0008|1186\n百事通|0x100000|50473\n百事无成|0x0000|100\n百兽率舞|0x1000000|1266\n百顺百依|0x0000|100\n百顺千随|0x0000|100\n百思不得其解|0x0008|766\n百思不解|0x1000000|46983\n百思莫解|0x1000000|1305\n百死一生|0x400000|100\n百岁千秋|0x1000000|100\n百岁之好|0x0000|100\n百岁之后|0x800000|1244\n百岁之盟|0x0000|100\n百挑不厌|0x800000|0\n百万富翁|0x100000|709\n百万买宅|0x800000|100\n百万雄兵|0x0000|100\n百万雄师|0x1000000|1019\n百万元|0x0000|579\n百闻不如一见|0x400008|36097\n百无禁忌|0x1000000|46382\n百无聊赖|0x1000000|28899\n百无是处|0x0000|100\n百无所成|0x0000|100\n百无一长|0x400000|0\n百无一成|0x1400000|0\n百无一见|0x400000|0\n百无一堪|0x400000|100\n百无一漏|0x400000|0\n百无一能|0x1400000|0\n百无一失|0x1400000|0\n百无一事|0x400000|0\n百无一是|0x401000|0\n百无一用|0x1400000|0\n百无一用是书生|0x400000|0\n百下百全|0x0000|100\n百下百着|0x0000|100\n百星不如一月|0x400008|0\n百姓家|0x100000|510\n百姓生活|0x100000|537\n百业萧条|0x1000000|1266\n百叶窗|0x100000|38048\n百叶箱|0x100000|1283\n百衣百随|0x1000000|100\n百依百从|0x0000|100\n百依百顺|0x1000000|33725\n百载树人|0x0000|100\n百战百败|0x0000|100\n百战百胜|0x1000000|35322\n百战不殆|0x1000000|42126\n百战天虫|0x100000|943\n百丈竿头|0x0000|100\n百折不回|0x1000000|42852\n百折不挠|0x1000000|18683\n百折不屈|0x0000|100\n百折不移|0x0000|100\n百折千回|0x0000|100\n百褶裙|0x100000|43587\n百中百发|0x0000|100\n百转千回|0x800000|836\n百啭千声|0x0000|100\n百拙千丑|0x0000|100\n百紫千红|0x0000|100\n百纵千随|0x1000000|100\n百足不僵|0x0000|100\n百足之虫|0x1000000|1077\n柏克莱|0x0008|1605\n柏拉图|0x0080|1064\n柏辽兹|0x0080|1074\n柏林墙|0x100000|433\n柏乡县|0x0040|1079\n柏油路|0x100000|19076\n柏舟之节|0x0000|100\n柏舟之誓|0x0000|100\n柏子仁|0x100000|1116\n捭阖纵横|0x0000|100\n摆地摊|0x800000|772\n摆架子|0x1000|31261\n摆阔气|0x800000|1143\n摆擂台|0x1000|48610\n摆龙门阵|0x1000|45802\n摆门面|0x1000|0\n摆迷魂阵|0x800000|1225\n摆谱儿|0x1000|41870\n摆摊儿|0x0000|46666\n摆摊子|0x1000|1129\n摆尾摇头|0x1000|100\n摆袖却金|0x1000000|100\n摆样子|0x1000|41174\n摆姿势|0x0000|413\n败不馁|0x800000|1027\n败不旋踵|0x1000000|100\n败材伤锦|0x1000000|100\n败德辱行|0x1000000|100\n败法乱纪|0x0000|100\n败鼓之皮|0x1000000|100\n败国丧家|0x1000000|100\n败国亡家|0x1000000|100\n败化伤风|0x1000000|100\n败绩失据|0x1000000|100\n败家子|0x100000|28439\n败将残兵|0x0000|100\n败酱草|0x100000|1183\n败井颓垣|0x1000000|100\n败军之将|0x1000000|1048\n败鳞残甲|0x1000000|1333\n败柳残花|0x1000000|100\n败事有余|0x800000|986\n败俗伤风|0x1000000|100\n败俗伤化|0x1000000|100\n败下阵来|0x0000|518\n败兴而归|0x800000|1014\n败絮其中|0x1000000|100\n败血病|0x100000|1190\n败血症|0x100000|39661\n败也萧何|0x1000000|100\n败于垂成|0x0000|100\n败在此一举|0x400000|0\n败则为寇|0x1000000|1278\n败则为虏|0x1000000|0\n败则为贼|0x800000|100\n败走麦城|0x800000|997\n拜把兄弟|0x0008|1092\n拜把子|0x1000|46090\n拜城县|0x0040|1605\n拜赐之师|0x1000000|100\n拜倒辕门|0x1000000|1363\n拜恩私室|0x1000000|100\n拜鬼求神|0x0000|100\n拜火教|0x0020|1092\n拜将封侯|0x1000000|1389\n拜金主义|0x100000|19446\n拜泉县|0x0040|1084\n拜上帝会|0x100000|1220\n拜天地|0x1000|42636\n拜物教|0x100000|53589\n拜占庭|0x0040|1480\n拜占庭式|0x100000|0\n稗官小说|0x0000|100\n稗官野史|0x100000|54654\n扳道夫|0x100000|0\n扳龙附凤|0x1000000|100\n扳指儿|0x100000|0\n班班可考|0x1000000|100\n班驳陆离|0x1000000|100\n班禅额尔德尼|0x100000|1126\n班干部|0x100000|521\n班戈县|0x0040|1157\n班功行赏|0x0000|100\n班荆道故|0x1000000|100\n班荆道旧|0x1000000|100\n班马文章|0x0000|100\n班玛县|0x0040|1150\n班门弄斧|0x1000000|43362\n班师得胜|0x0000|100\n班师回朝|0x1000000|1044\n班师回俯|0x0000|100\n班务会|0x100000|1248\n班香宋艳|0x1000000|100\n班衣戏采|0x1000000|100\n班珠尔|0x0040|1280\n班主任|0x100000|8725\n班主任工作|0x100000|564\n班组长|0x100000|869\n颁奖典礼|0x100000|680\n斑斑驳驳|0x0100|943\n斑斑点点|0x0100|923\n斑驳陆离|0x1000000|46383\n斑点狗|0x100000|461\n斑马线|0x100000|34274\n斑蝥素|0x100000|0\n斑衣戏彩|0x1000000|100\n斑疹伤寒|0x0008|0\n斑疹伤寒立克次氏体|0x0008|0\n搬唇递舌|0x1000000|100\n搬唇弄舌|0x0000|100\n搬斤播两|0x1000000|100\n搬口弄舌|0x0000|100\n搬弄是非|0x1000000|926\n搬起石头打自己的脚|0x0008|100\n搬迁户|0x100000|1204\n搬石砸脚|0x1000000|100\n搬运车|0x100000|890\n搬运费|0x100000|1131\n搬运工|0x100000|826\n阪本龙一|0x400000|0\n阪上走丸|0x1000000|100\n板板六十四|0x400000|1327\n板擦儿|0x0000|46985\n板蓝根|0x100000|36424\n板桥市|0x0040|1600\n板上钉钉|0x1000000|42128\n板上砸钉|0x1000000|100\n板式家具|0x100000|447\n板书设计|0x100000|474\n版版六十四|0x400008|0\n版本号|0x100000|587\n版本学|0x0008|0\n版补丁|0x100000|414\n版画集|0x100000|0\n版面设计|0x100000|856\n版权法|0x100000|963\n版权局|0x100000|863\n版权所有|0x100000|494\n版权问题|0x100000|641\n版权页|0x100000|47596\n版筑饭牛|0x1000000|100\n办案费|0x100000|1313\n办不到|0x1000|573\n办得到|0x1000|507\n办公处|0x100000|1064\n办公大楼|0x0000|555\n办公费|0x100000|1098\n办公会议|0x100000|893\n办公楼|0x100000|9134\n办公设备|0x100000|576\n办公室|0x100000|831\n办公室秘书|0x100000|429\n办公室主任|0x100000|625\n办公厅|0x100000|4746\n办公用房|0x100000|870\n办公用品|0x100000|604\n办公桌|0x100000|10889\n办公自动化|0x0008|615\n办理手续|0x0000|508\n办事处|0x100000|4832\n办事机构|0x100000|805\n办事效率|0x0000|547\n办事员|0x100000|22198\n办喜事|0x1000|461\n办证费|0x100000|1150\n半半拉拉|0x0100|55572\n半半路路|0x1000000|1253\n半辈子|0x400000|21792\n半壁河山|0x1000000|1112\n半壁江山|0x1000000|809\n半壁山河|0x1000000|100\n半边莲|0x100000|1172\n半边人|0x100000|1265\n半边天|0x100000|26508\n半部论语|0x1000000|1129\n半部论语治天下|0x0008|1156\n半成品|0x100000|21509\n半痴不颠|0x1000000|100\n半筹不纳|0x1000000|100\n半筹莫展|0x1000000|100\n半大不小|0x800000|50856\n半导体|0x100000|9461\n半导体材料|0x100000|446\n半导体产业|0x100000|464\n半导体激光器|0x0008|0\n半导体器件|0x100000|457\n半导体设备|0x100000|439\n半岛电视台|0x100000|472\n半道儿|0x8000|0\n半低不高|0x1000000|100\n半点儿|0x400000|10975\n半点钟|0x100000|1228\n半吊子|0x100000|49710\n半冬性|0x100000|0\n半懂不懂|0x1000000|0\n半封建|0x100000|16391\n半工半读|0x800000|918\n半挂车|0x100000|464\n半官方|0x100000|47597\n半胱氨酸|0x100000|1006\n半胱胺|0x100000|1232\n半饥半饱|0x1000000|1193\n半机械化|0x100000|6\n半间半界|0x1000000|100\n半间不界|0x1000000|100\n半截入土|0x1000000|1237\n半解一知|0x1400000|0\n半斤八两|0x1400000|44906\n半斤八面|0x400000|100\n半决赛|0x100000|6782\n半决赛权|0x100000|1283\n半抗原|0x0008|0\n半空中|0x8000|631\n半拉子|0x800000|1046\n半劳动力|0x100000|1427\n半老徐娘|0x100000|44076\n半路出家|0x1000000|41643\n半路修行|0x1000000|100\n半梦半醒|0x1000000|803\n半面不忘|0x1000000|100\n半面之交|0x1000000|100\n半面之旧|0x1000000|100\n半明半暗|0x0100|1053\n半年报|0x100000|529\n半年度|0x100000|555\n半年线|0x100000|542\n半农半牧区|0x100000|1221\n半瓶醋|0x100000|54656\n半青半黄|0x1000000|1358\n半球形|0x0008|433\n半日制|0x100000|1225\n半乳糖|0x0008|408\n半三不四|0x1400000|0\n半山腰|0x8000|24874\n半上半下|0x1000000|100\n半上落下|0x1000000|100\n半身不遂|0x800000|34149\n半身像|0x100000|41644\n半生半熟|0x1000000|1185\n半生不熟|0x1000|39237\n半失业|0x1000|0\n半世纪|0x100000|469\n半衰期|0x100000|1016\n半丝半缕|0x1000000|100\n半死半生|0x1000000|100\n半死不活|0x1000000|30574\n半死辣活|0x1000000|100\n半索动物|0x0008|0\n半条命|0x100000|531\n半桶水|0x0008|0\n半透明|0x0100|28246\n半涂而罢|0x0000|100\n半涂而废|0x1000000|1361\n半途而废|0x1000000|25396\n半吐半露|0x1000000|100\n半推半就|0x1000000|38216\n半吞半吐|0x1000000|1280\n半脱产|0x1000|55573\n半微量分析|0x0008|0\n半文半白|0x1000000|1172\n半文不白|0x1000000|100\n半文盲|0x100000|32967\n半无产阶级|0x100000|1335\n半小时|0x0000|706\n半新半旧|0x1000000|100\n半新不旧|0x1000000|43829\n半信半疑|0x1000000|20647\n半信不信|0x1000000|100\n半醒半睡|0x800000|1116\n半夜三更|0x1400000|23304\n半疑半信|0x1000000|1378\n半音阶|0x0000|373\n半元音|0x100000|1279\n半圆形|0x100000|30575\n半月板|0x100000|406\n半月刊|0x100000|20430\n半月谈|0x100000|455\n半月形|0x100000|43830\n半遮半掩|0x800000|992\n半真半假|0x1000000|921\n半支莲|0x100000|1199\n半殖民地|0x100000|13929\n半制品|0x100000|1224\n半中间|0x0000|50858\n半中腰|0x100000|52137\n半自动|0x20000000|45500\n半自动闭塞|0x0008|0\n伴唱机|0x0008|0\n伴食宰相|0x1000000|100\n伴食中书|0x1000000|100\n伴随着|0x1000|460\n伴奏者|0x100000|0\n扮鬼脸|0x1000|946\n扮演者|0x100000|796\n拌种机|0x0008|0\n绊绊磕磕|0x800000|0\n绊脚石|0x100000|25873\n绊马索|0x100000|50860\n绊手绊脚|0x0100|0\n邦国殄瘁|0x1000000|100\n邦交正常化|0x0000|434\n邦威尔三角|0x400000|0\n邦以民为本|0x0008|100\n帮帮忙|0x100000|663\n帮不上忙|0x0000|498\n帮倒忙|0x800000|46669\n帮狗吃食|0x0000|100\n帮虎吃食|0x1000000|100\n帮闲钻懒|0x1000000|100\n帮助文件|0x0000|619\n梆子腔|0x100000|1246\n浜田省吾|0x0080|0\n绑架勒索|0x0008|0\n绑架者|0x100000|1028\n榜上无名|0x1000000|1018\n榜上有名|0x800000|775\n膀粗腰圆|0x800000|0\n膀大腰圆|0x800000|47922\n膀胱癌|0x100000|913\n膀胱炎|0x0008|948\n膀阔腰圆|0x800000|1158\n蚌病成珠|0x1000000|1292\n蚌病生珠|0x0000|100\n蚌埠市|0x0040|1181\n蚌鹬相持|0x0000|100\n傍边儿|0x1000|0\n傍观冷眼|0x1000000|100\n傍观者清|0x0000|100\n傍观者审|0x1000000|0\n傍黑儿|0x4000|0\n傍花随柳|0x1000000|100\n傍亮儿|0x1000|0\n傍人篱壁|0x1000000|100\n傍人篱落|0x1000000|100\n傍人门户|0x1000000|1541\n傍若无人|0x1000000|1311\n棒棒糖|0x100000|725\n棒打鸳鸯|0x1000000|50861\n棒球棒|0x100000|377\n棒球场|0x100000|965\n棒球队|0x100000|1502\n棒球帽|0x100000|469\n棒球赛|0x100000|4\n棒针衫|0x0008|0\n棒子面|0x100000|40082\n徬徨失措|0x1000000|100\n包办代替|0x1000000|1065\n包办婚姻|0x0008|4\n包藏祸心|0x1000000|1053\n包藏奸心|0x1000000|100\n包产到户|0x800000|1057\n包乘制|0x100000|1382\n包乘组|0x100000|1363\n包打天下|0x800000|37844\n包打听|0x100000|41178\n包袋厂|0x100000|0\n包二奶|0x400008|7\n包袱皮儿|0x0000|39460\n包干到户|0x0008|1\n包干儿|0x1000|15524\n包干制|0x100000|1160\n包工头|0x100000|21096\n包裹单|0x100000|429\n包活儿|0x0000|48611\n包教包会|0x800000|1013\n包举宇内|0x1000000|1226\n包揽词讼|0x1000000|1405\n包罗万象|0x1000000|31822\n包罗万有|0x1000000|1066\n包络检波|0x0008|0\n包埋剂|0x100000|0\n包片儿|0x0000|33727\n包起来|0x1000|506\n包容性|0x100000|877\n包身工|0x100000|53117\n包头市|0x0040|1290\n包围圈|0x100000|31263\n包心菜|0x100000|52139\n包羞忍耻|0x1000000|1281\n包圆儿|0x1000|55576\n包装材料|0x0008|636\n包装费|0x100000|1005\n包装品|0x100000|973\n包装箱|0x100000|38421\n包装纸|0x100000|36947\n包子铺|0x100000|935\n孢子囊|0x0008|1265\n孢子体|0x0008|0\n孢子植物|0x100000|973\n苞苴竿牍|0x1000000|100\n胞壁酰二肽|0x400000|0\n胞苷二磷酸|0x400000|0\n胞苷三磷酸|0x400000|0\n胞苷酸|0x4000000|0\n胞间连丝|0x0008|0\n胞嘧啶|0x100000|1168\n胞嘧啶核苷|0x0008|0\n胞兄弟|0x100000|53591\n胞质环流|0x0008|0\n胞质运动|0x0008|0\n褒贬不一|0x1400000|7\n褒贬与夺|0x0000|100\n褒善贬恶|0x1000000|100\n褒衣博带|0x1000000|1301\n褒衣危冠|0x1000000|100\n褒义词|0x100000|939\n宝宝版|0x100000|571\n宝贝儿|0x100000|772\n宝贝疙瘩|0x100000|50081\n宝刀不老|0x1000000|974\n宝刀未老|0x1000000|953\n宝坻区|0x0040|1435\n宝丰县|0x0040|1590\n宝盖儿|0x0000|52140\n宝盖头|0x100000|1204\n宝鸡市|0x0040|1280\n宝兰二线|0x400000|0\n宝莲灯|0x0008|897\n宝马车|0x100000|512\n宝马香车|0x1000000|1096\n宝瓶座|0x0008|1622\n宝亲王|0x100000|398\n宝清县|0x0040|1635\n宝山空回|0x1000000|100\n宝山区|0x0040|1235\n宝石蓝|0x0000|436\n宝特瓶|0x0008|0\n宝兴县|0x0040|1086\n宝应县|0x0040|1330\n宝中之宝|0x800000|1262\n宝珠市饼|0x1000000|100\n饱谙世故|0x1000000|100\n饱餐一顿|0x400000|0\n饱嗝儿|0x100000|39663\n饱汉不知饿汉饥|0x0008|1094\n饱和磁化强度|0x0008|0\n饱和带|0x0008|0\n饱和点|0x100000|1193\n饱和度|0x0008|834\n饱和溶液|0x800000|986\n饱和压力|0x0008|0\n饱和状态|0x0008|1\n饱经沧桑|0x1000000|32086\n饱经风霜|0x1000000|32864\n饱经风雨|0x1000000|100\n饱经世变|0x1000000|100\n饱经世故|0x1000000|1208\n饱经霜雪|0x1000000|100\n饱经忧患|0x1000000|1120\n饱练世故|0x1000000|100\n饱暖生淫欲|0x0008|1306\n饱暖思淫欲|0x1000000|990\n饱人不知饿人饥|0x0008|100\n饱食暖衣|0x1000000|100\n饱食终日|0x1000000|1026\n饱食终日，无所用心|0x0000|52611\n饱飨老拳|0x1000000|100\n饱学之士|0x1000000|1056\n饱眼福|0x800000|45502\n饱以老拳|0x1000000|100\n保安队|0x100000|1023\n保安人员|0x0000|512\n保安族|0x0008|52141\n保不定|0x8000000|41179\n保不齐|0x8000000|1046\n保不住|0x1000|24552\n保残守缺|0x1000000|100\n保持沉默|0x0000|565\n保持高度一致|0x400000|6\n保持一致|0x400000|557\n保持者|0x100000|898\n保存期|0x100000|997\n保得住|0x1000|1037\n保德县|0x0040|1102\n保定市|0x0040|1165\n保管费|0x100000|1030\n保管人|0x100000|1098\n保管箱|0x100000|957\n保管员|0x100000|28696\n保国安民|0x1000000|1272\n保护层|0x100000|889\n保护措施|0x0000|562\n保护费|0x100000|769\n保护关税|0x800000|1232\n保护国|0x100000|43364\n保护环|0x0008|1211\n保护环境|0x0000|577\n保护价|0x0000|15384\n保护膜|0x100000|546\n保护鸟|0x100000|0\n保护期|0x100000|973\n保护区|0x100000|691\n保护人|0x100000|27025\n保护伞|0x100000|12488\n保护色|0x100000|43831\n保护神|0x100000|833\n保护网|0x100000|935\n保护性|0x20000000|850\n保护意识|0x100000|534\n保护者|0x100000|898\n保护主义|0x100000|851\n保护装置|0x0008|529\n保皇党|0x0020|1114\n保皇派|0x100000|1088\n保加利亚|0x0040|1213\n保家卫国|0x1000000|891\n保驾护航|0x0000|27761\n保健操|0x100000|42129\n保健茶|0x100000|481\n保健产品|0x100000|474\n保健酒|0x100000|490\n保健品|0x100000|13418\n保健品有限公司|0x100000|516\n保健球|0x100000|0\n保健食品|0x100000|647\n保健室|0x100000|1005\n保健药|0x100000|394\n保健用品|0x100000|515\n保健站|0x100000|43591\n保健知识|0x0000|477\n保健作用|0x100000|494\n保靖县|0x0040|1043\n保境息民|0x1000000|1542\n保康县|0x0040|1624\n保龄球|0x100000|16091\n保龄球馆|0x100000|909\n保龄球赛|0x100000|1116\n保留地|0x100000|786\n保留剧目|0x800000|1166\n保罗三世|0x400080|0\n保密法|0x100000|1126\n保密工作|0x0008|863\n保密局|0x100000|1475\n保密性|0x100000|860\n保密制度|0x100000|5\n保山市|0x0040|1515\n保时捷|0x0008|1157\n保释金|0x100000|1083\n保守党|0x0020|958\n保守力|0x0008|0\n保守派|0x100000|25608\n保守主义|0x100000|28799\n保税仓库|0x100000|48613\n保税区|0x100000|15828\n保送生|0x100000|897\n保泰持盈|0x1000000|100\n保亭黎族苗族自治县|0x0040|1773\n保外就医|0x800000|30576\n保外执行|0x1000|100\n保卫工作|0x0008|531\n保卫科|0x100000|958\n保卫战|0x100000|776\n保卫者|0x100000|1041\n保温杯|0x100000|46671\n保温材料|0x0008|742\n保温隔热材料|0x100000|382\n保温瓶|0x100000|42372\n保温桶|0x0008|0\n保温箱|0x0008|1603\n保鲜袋|0x0000|55577\n保鲜剂|0x0000|44606\n保鲜库|0x100000|409\n保鲜膜|0x100000|839\n保鲜纸|0x100000|413\n保险产品|0x100000|508\n保险代理|0x100000|484\n保险带|0x100000|48261\n保险单|0x100000|32469\n保险单一般规定|0x400000|0\n保险刀|0x100000|1523\n保险灯|0x100000|53118\n保险法|0x100000|23734\n保险费|0x100000|767\n保险粉|0x100000|389\n保险杆|0x0008|1048\n保险杠|0x100000|834\n保险公司|0x0008|605\n保险股份有限公司|0x100000|525\n保险管|0x100000|401\n保险柜|0x100000|26657\n保险合同|0x100000|554\n保险盒|0x100000|1146\n保险机构|0x100000|525\n保险金|0x100000|813\n保险金额|0x0000|530\n保险经纪|0x100000|473\n保险期|0x0008|46988\n保险人|0x100000|859\n保险商|0x100000|1070\n保险市场|0x100000|524\n保险丝|0x100000|35165\n保险套|0x0008|54132\n保险条款|0x100000|493\n保险条例|0x100000|497\n保险系数|0x0000|45805\n保险箱|0x100000|32209\n保险行业|0x100000|506\n保险行业协会|0x100000|417\n保险学|0x100000|437\n保险业|0x100000|737\n保险业务|0x100000|546\n保险制度|0x100000|573\n保险装置|0x0008|1\n保险资金|0x100000|570\n保修期|0x100000|819\n保养费|0x100000|1110\n保一方平安|0x400000|1\n保盈持泰|0x1000000|100\n保育员|0x100000|38633\n保育院|0x100000|46989\n保障机制|0x0000|524\n保障体系|0x0000|593\n保障制度|0x100000|574\n保真度|0x100000|1114\n保证金|0x100000|12450\n保证期|0x100000|1050\n保证人|0x100000|24679\n保证书|0x100000|30360\n保证体系|0x100000|547\n保证质量|0x100000|736\n保值储蓄|0x0008|0\n保质保量|0x800000|46091\n保质期|0x100000|26949\n堡垒作用|0x100000|484\n报本反始|0x1000000|100\n报冰公事|0x1000000|100\n报仇雪耻|0x1000000|1146\n报仇雪恨|0x1000000|876\n报酬率|0x100000|917\n报雠雪恨|0x1000000|100\n报春花|0x100000|40302\n报复陷害|0x0008|3\n报复性|0x100000|907\n报告会|0x100000|5938\n报告人|0x100000|1024\n报告书|0x100000|815\n报告团|0x100000|991\n报告文学|0x800000|9876\n报关单|0x100000|919\n报关行|0x100000|978\n报话机|0x100000|47600\n报价单|0x100000|822\n报警阀|0x0008|1131\n报警器|0x100000|30138\n报警装置|0x100000|480\n报刊发行|0x100000|956\n报刊杂志|0x100000|788\n报李投桃|0x1000000|100\n报名表|0x100000|759\n报名费|0x100000|766\n报名条件|0x100000|507\n报幕员|0x100000|52612\n报务员|0x100000|43832\n报效万一|0x400000|100\n报应不爽|0x1000000|1041\n报章杂志|0x100000|953\n报之以李|0x800000|1139\n报纸广告|0x100000|488\n报纸夹|0x100000|1206\n报纸杂志|0x0000|485\n抱宝怀珍|0x0000|100\n抱抱熊|0x0008|1070\n抱表寝绳|0x1000000|100\n抱冰公事|0x0000|100\n抱不平|0x1000|26377\n抱布贸丝|0x1000000|1217\n抱残守缺|0x1000000|41180\n抱残守阙|0x1000000|1401\n抱成一团|0xc00000|1\n抱诚守真|0x1000000|100\n抱粗腿|0x1000|0\n抱打不平|0x1000000|1083\n抱法处势|0x1000000|1535\n抱佛脚|0x800000|35777\n抱负不凡|0x1000000|100\n抱关击柝|0x1000000|1539\n抱关执钥|0x0000|100\n抱关执籥|0x1000000|100\n抱恨黄泉|0x1000000|100\n抱恨终身|0x800000|1173\n抱恨终天|0x1000000|53119\n抱火厝薪|0x0000|100\n抱火寝薪|0x1000000|100\n抱火卧薪|0x1000000|100\n抱令守律|0x1000000|100\n抱蔓摘瓜|0x1000000|100\n抱璞泣血|0x0000|100\n抱朴含真|0x1000000|100\n抱椠怀铅|0x1000000|100\n抱屈衔冤|0x1000000|100\n抱头大哭|0x1000000|0\n抱头鼠窜|0x1000000|39664\n抱头痛哭|0x800000|839\n抱团儿|0x40000000|49361\n抱瓮出灌|0x1000000|100\n抱瓮灌园|0x1000000|100\n抱薪救焚|0x1000000|100\n抱薪救火|0x1000000|1106\n抱玉握珠|0x1000000|100\n抱怨雪耻|0x1000000|100\n抱枝拾叶|0x1000000|100\n抱柱之信|0x0000|100\n抱子甘蓝|0x0008|0\n抱子弄孙|0x1000000|100\n豹死留皮|0x1000000|100\n豹头环眼|0x800000|100\n趵突泉|0x0008|1446\n鲍德里亚|0x0080|0\n鲍姆加登|0x0080|0\n鲍桑葵|0x0008|0\n鲍威尔|0x0080|1443\n鲍鱼之次|0x1000000|100\n鲍鱼之肆|0x1000000|1152\n鲍子知我|0x1000000|100\n暴发户|0x100000|24362\n暴风疾雨|0x1000000|100\n暴风雪|0x100000|20074\n暴风雨|0x100000|17063\n暴风骤雨|0x1000000|32723\n暴虎冯河|0x1000000|1215\n暴力犯罪|0x0000|462\n暴力革命|0x0008|0\n暴力事件|0x0000|506\n暴力行为|0x0000|467\n暴利行业|0x100000|574\n暴戾恣睢|0x1000000|54662\n暴敛横征|0x1000000|100\n暴露出|0x0000|610\n暴露狂|0x0008|1382\n暴露文学|0x100000|1298\n暴露无遗|0x1000000|869\n暴马子|0x0008|0\n暴内陵外|0x1000000|100\n暴虐无道|0x1000000|1188\n暴取豪夺|0x1000000|100\n暴腮龙门|0x800000|100\n暴殄天物|0x1000000|45806\n暴跳如雷|0x1000000|33220\n暴衣露盖|0x1000000|100\n暴衣露冠|0x1000000|100\n暴饮暴食|0x800000|51713\n暴雨径流|0x0008|0\n暴躁如雷|0x1000000|100\n爆肚儿|0x100000|46990\n爆发力|0x100000|32348\n爆冷门|0x800000|36600\n爆裂声|0x100000|1050\n爆米花|0x100000|41181\n爆破手|0x100000|55578\n爆破筒|0x100000|51268\n爆跳如雷|0x1000000|100\n爆玉米花|0x100000|0\n爆炸力|0x100000|52142\n爆炸声|0x100000|835\n爆炸事件|0x0000|571\n爆炸物|0x100000|20978\n爆炸性|0x100000|31135\n陂湖禀量|0x1000000|100\n卑卑不足道|0x0008|1534\n卑鄙龌龊|0x1000000|1076\n卑鄙无耻|0x1000000|878\n卑不足道|0x40000000|0\n卑谄足恭|0x1000000|100\n卑辞厚币|0x1000000|100\n卑辞厚礼|0x1000000|1366\n卑辞重币|0x1000000|100\n卑飞敛翼|0x1000000|0\n卑宫菲食|0x1000000|100\n卑躬屈节|0x1000000|1288\n卑躬屈膝|0x1000000|46991\n卑礼厚币|0x1000000|100\n卑陋龌龊|0x0000|100\n卑身贱体|0x1000000|100\n卑身屈体|0x1000000|100\n卑以自牧|0x1000000|1301\n卑之无甚高论|0x0008|1269\n杯羹之让|0x1000000|100\n杯弓蛇影|0x1000000|50477\n杯弓市虎|0x1000000|100\n杯觥交错|0x1000000|100\n杯酒戈矛|0x1000000|100\n杯酒解怨|0x0000|100\n杯酒释兵权|0x0008|1047\n杯酒言欢|0x1000000|100\n杯茗之敬|0x1000000|100\n杯盘狼籍|0x1000000|1153\n杯盘狼藉|0x1000000|46092\n杯蛇鬼车|0x1000000|100\n杯蛇幻影|0x1000000|100\n杯水车薪|0x1000000|29606\n杯水粒粟|0x1000000|100\n杯水舆薪|0x1000000|100\n杯水之敬|0x1000000|100\n杯水之谢|0x1000000|100\n杯影蛇弓|0x1000000|100\n杯中蛇影|0x1000000|100\n杯中物|0x1000000|48615\n杯中之物|0x1000000|1122\n悲悲切切|0x0100|1025\n悲不自胜|0x1000000|1193\n悲惨惨|0x0100|1262\n悲惨世界|0x100000|473\n悲惨遭遇|0x100000|471\n悲愁垂涕|0x1000000|100\n悲从中来|0x1000000|866\n悲愤填膺|0x1000000|1249\n悲歌击筑|0x1000000|100\n悲歌慷慨|0x1000000|1203\n悲歌易水|0x1000000|100\n悲观失望|0x800000|958\n悲观厌世|0x1000000|1065\n悲观主义|0x100000|38634\n悲欢离合|0x1000000|25121\n悲剧片|0x0008|0\n悲剧性|0x100000|856\n悲声载道|0x1000000|100\n悲天悯人|0x1000000|33611\n悲痛欲绝|0x40000000|30020\n悲喜交集|0x1000000|1014\n悲喜交加|0x1000000|903\n悲喜剧|0x100000|33362\n北爱尔兰|0x0040|1453\n北安路|0x0040|0\n北安市|0x0040|1624\n北半球|0x100000|18105\n北碚区|0x0040|1240\n北鄙之声|0x1000000|100\n北鄙之音|0x1000000|100\n北冰洋|0x0040|29085\n北部湾|0x0040|856\n北朝鲜|0x100000|1443\n北辰区|0x0040|1382\n北辰星拱|0x1000000|100\n北窗高卧|0x0000|100\n北达科他|0x0040|1119\n北达科他州|0x0040|1156\n北大毕业生|0x100000|405\n北大仓|0x0040|1126\n北大附中|0x100000|457\n北大荒|0x0040|1384\n北大街|0x100000|546\n北大清华|0x100000|491\n北大西洋|0x0040|1504\n北大西洋公约组织|0x0008|1677\n北大学生|0x100000|487\n北戴河|0x0040|1166\n北道主人|0x1000000|100\n北斗七星|0x400008|0\n北斗星|0x0008|36101\n北斗之尊|0x1000000|100\n北豆根|0x100000|1219\n北伐军|0x100000|1044\n北伐战争|0x0008|1626\n北方地区|0x0040|1374\n北方方言|0x0008|0\n北方工业|0x100000|452\n北方话|0x100000|46673\n北方交大|0x0020|1709\n北方交通|0x100000|442\n北方交通大学|0x100000|424\n北方人|0x100000|533\n北方网|0x0008|1131\n北风之恋|0x1000000|100\n北高加索|0x100000|397\n北宫婴儿|0x1000000|100\n北郭先生|0x1000000|1540\n北海道|0x0040|1235\n北海旅游|0x100000|386\n北海市|0x0040|1285\n北寒带|0x100000|1292\n北回归线|0x800000|33363\n北极光|0x100000|44608\n北极海|0x0008|1217\n北极狐|0x100000|47294\n北极区|0x0008|1308\n北极圈|0x100000|36426\n北极星|0x0008|33364\n北极熊|0x100000|36950\n北京奥运|0x100000|586\n北京奥运会|0x100000|567\n北京奥运会吉祥物|0x100000|458\n北京奥运吉祥物|0x100000|491\n北京办事处|0x100000|521\n北京宾馆|0x100000|411\n北京长城|0x100000|430\n北京朝阳|0x100000|574\n北京城|0x0040|1238\n北京大学|0x0020|920\n北京大学出版社|0x0020|1142\n北京大学医学部|0x100000|416\n北京代表处|0x100000|479\n北京地区|0x0040|1096\n北京地铁|0x100000|487\n北京电视台|0x0020|1274\n北京电影学院|0x100000|542\n北京东方|0x100000|552\n北京翻译|0x100000|521\n北京房产|0x100000|449\n北京飞机票|0x100000|483\n北京分公司|0x100000|538\n北京分行|0x100000|484\n北京服装|0x100000|473\n北京福利彩票|0x100000|489\n北京高校|0x100000|495\n北京工业大学|0x100000|495\n北京公交|0x100000|495\n北京公寓|0x100000|441\n北京故宫|0x100000|471\n北京广播|0x100000|489\n北京航空航天|0x100000|524\n北京航天|0x100000|453\n北京话|0x100000|871\n北京机票|0x100000|593\n北京吉普|0x100000|893\n北京驾校|0x100000|407\n北京郊区|0x100000|482\n北京街头|0x100000|469\n北京今天|0x100000|399\n北京警方|0x100000|458\n北京酒吧|0x100000|387\n北京军区|0x0020|1478\n北京烤鸭|0x0000|474\n北京科技大学|0x100000|502\n北京礼品公司|0x100000|373\n北京理工|0x100000|540\n北京理工大学|0x100000|514\n北京林业大学|0x100000|480\n北京旅游|0x100000|509\n北京青年报|0x0020|1197\n北京人|0x100000|684\n北京人民大会堂|0x100000|493\n北京人民广播电台|0x0020|1336\n北京人文大学|0x100000|367\n北京日报|0x100000|845\n北京商场|0x100000|382\n北京师范大学|0x0020|1123\n北京石油|0x100000|478\n北京时间|0x100000|11444\n北京市|0x0040|773\n北京市民|0x100000|505\n北京市区|0x100000|474\n北京市委|0x0020|1103\n北京市政府|0x100000|531\n北京首都|0x100000|469\n北京特价机票|0x100000|517\n北京铁路局|0x0020|1278\n北京外国语大学|0x100000|491\n北京外国语学院|0x100000|374\n北京晚报|0x100000|625\n北京西站|0x0040|1363\n北京现代|0x100000|623\n北京小吃|0x100000|393\n北京鸭|0x100000|44908\n北京医科大学|0x0020|1472\n北京邮电|0x100000|519\n北京语言文化大学|0x100000|389\n北京猿人|0x100000|35778\n北京站|0x0040|1160\n北京中医药大学|0x0020|1419\n北京周边|0x100000|458\n北京自考|0x100000|476\n北卡罗来纳州|0x0040|1653\n北理工|0x100000|415\n北流市|0x0040|1406\n北马里亚纳群岛|0x0040|1174\n北美华人|0x100000|402\n北美票房|0x100000|501\n北美洲|0x0040|22042\n北门管钥|0x1000000|100\n北门南牙|0x1000000|100\n北门锁钥|0x1000000|1275\n北门一带|0x400000|0\n北门之管|0x1000000|100\n北门之寄|0x1000000|100\n北面称臣|0x1000000|100\n北宁市|0x0040|1603\n北票市|0x0040|1634\n北沙参|0x0008|384\n北师大|0x100000|564\n北叟失马|0x1000000|100\n北温带|0x100000|55581\n北洋军|0x100000|1152\n北洋军阀|0x800000|22442\n北辕适楚|0x1000000|100\n北辕适粤|0x1000000|100\n北辙南辕|0x1000000|100\n贝多芬|0x0040|1173\n贝尔蒂|0x100000|414\n贝尔法斯特|0x0040|1696\n贝尔格|0x100000|488\n贝尔格莱德|0x0040|1565\n贝尔莫潘|0x0040|1355\n贝加尔湖|0x0040|1528\n贝壳类|0x0000|405\n贝克汉姆|0x0080|957\n贝肯鲍尔|0x0080|1442\n贝雷帽|0x0008|42375\n贝鲁特|0x0040|1520\n贝阙珠宫|0x1000000|1539\n备不住|0x8000000|55582\n备尝艰苦|0x1000000|100\n备尝辛苦|0x1000000|100\n备多力分|0x1000000|100\n备而不用|0x1000000|1193\n备份文件|0x0000|530\n备解素|0x0008|0\n备品备件|0x100000|426\n备忘录|0x100000|8530\n备位充数|0x1000000|100\n备用金|0x100000|1011\n备用品|0x100000|1179\n备注栏|0x100000|1047\n背暗投明|0x1000000|100\n背包袱|0x800000|45202\n背包族|0x100000|417\n背碑覆局|0x1000000|100\n背本就末|0x1000000|100\n背本趋末|0x1000000|100\n背不住|0x1000|0\n背城借一|0x1400000|0\n背城一战|0x1400000|0\n背搭子|0x100000|1289\n背带裤|0x100000|54663\n背带裙|0x0000|55579\n背道而驰|0x1000000|16237\n背地里|0x8000000|22443\n背对背|0x1000|45808\n背恩负义|0x1000000|100\n背恩弃义|0x1000000|100\n背恩忘义|0x1000000|100\n背风处|0x8000|1204\n背风面|0x100000|0\n背腹受敌|0x1000000|1253\n背公向私|0x1000000|100\n背公营私|0x1000000|100\n背光板|0x100000|384\n背光性|0x100000|1322\n背光源|0x100000|459\n背黑锅|0x1000|45503\n背惠食言|0x1000000|100\n背井离乡|0x1000000|27832\n背景灯|0x100000|518\n背景墙|0x100000|447\n背景图|0x100000|491\n背景图片|0x100000|527\n背景音乐|0x100000|580\n背靠背|0x1000|38636\n背盟败约|0x1000000|100\n背叛者|0x100000|934\n背前面后|0x1000000|100\n背曲腰躬|0x1000000|100\n背曲腰弯|0x1000000|100\n背日性|0x100000|1253\n背若芒刺|0x0000|100\n背山起楼|0x1000000|1536\n背生芒刺|0x1000000|100\n背水一战|0x1400000|29086\n背水阵|0x100000|1319\n背乡离井|0x1000000|100\n背信弃义|0x1000000|39666\n背义负恩|0x1000000|100\n背义负信|0x1000000|100\n背义忘恩|0x1000000|100\n背着手|0x1000|1\n倍半萜|0x100000|1319\n倍道而进|0x1000000|100\n倍道而行|0x0000|100\n倍道兼进|0x0000|100\n倍道兼行|0x1000000|1231\n倍频器|0x100000|1268\n倍日并行|0x1000000|100\n倍赏千惠子|0x100000|1254\n倍增器|0x100000|371\n悖入悖出|0x1000000|1340\n悖言乱辞|0x1000000|100\n被保护人|0x100000|1210\n被保险人|0x100000|882\n被保证人|0x0000|369\n被剥削阶级|0x100000|1173\n被称为|0x0000|735\n被乘数|0x100000|1231\n被宠若惊|0x0000|100\n被除数|0x100000|1108\n被调查者|0x100000|897\n被动式|0x100000|953\n被动性|0x100000|991\n被发文身|0x0000|100\n被发缨冠|0x1000000|100\n被发左衽|0x0000|100\n被访者|0x100000|505\n被服厂|0x100000|958\n被告方|0x100000|1037\n被告人|0x100000|815\n被告席|0x100000|933\n被害率|0x0008|0\n被害人|0x100000|16238\n被害者|0x100000|931\n被褐怀玉|0x1000000|100\n被褐怀珠|0x0000|100\n被忽略了|0x0000|431\n被加数|0x100000|1333\n被甲持兵|0x0000|100\n被甲据鞍|0x0000|100\n被甲枕戈|0x0000|100\n被甲执兵|0x0000|100\n被减数|0x100000|1259\n被开方数|0x100000|1541\n被领导者|0x100000|1027\n被虐待狂|0x0000|370\n被抛弃了|0x0000|428\n被侵略者|0x100000|0\n被山带河|0x1000000|100\n被上诉人|0x100000|1086\n被申请人|0x0008|1049\n被试者|0x100000|1145\n被统治者|0x100000|980\n被窝儿|0x100000|10302\n被选举权|0x800000|997\n被压迫|0x0000|479\n被压迫民族|0x0008|372\n被泽蒙庥|0x0000|100\n被占领土|0x100000|1096\n被执行人|0x100000|992\n被子植物|0x100000|1078\n辈数儿|0x100000|48618\n奔驰车|0x100000|502\n奔头儿|0x100000|29087\n奔小康|0x0008|525\n奔轶绝尘|0x1000000|100\n奔逸绝尘|0x1000000|1310\n奔走呼号|0x1000|32590\n奔走如市|0x0000|100\n奔走相告|0x1000000|29387\n奔走之友|0x1000000|0\n奔走钻营|0x1000000|100\n本报记者|0x0000|717\n本报特约记者|0x0000|411\n本本分分|0x0100|1068\n本本主义|0x800000|28599\n本草纲目|0x0008|1224\n本草经|0x0008|0\n本初子午线|0x0008|1193\n本地股|0x100000|541\n本地化|0x1000|744\n本地连接|0x100000|508\n本地区|0x100000|633\n本地人|0x100000|741\n本地网|0x100000|957\n本地文件|0x100000|479\n本地下载|0x0000|894\n本地硬盘|0x100000|496\n本分人|0x100000|1170\n本固邦宁|0x1000000|1211\n本固枝荣|0x1000000|1420\n本机振荡器|0x0008|1263\n本季度|0x10000|496\n本杰明|0x0080|19\n本科毕业|0x0000|578\n本科毕业生|0x100000|550\n本科段|0x100000|496\n本科课程|0x100000|445\n本科生|0x100000|12675\n本科学历|0x100000|552\n本科以上学历|0x100000|543\n本科专业|0x100000|558\n本来面目|0x1000000|784\n本垒打|0x100000|1075\n本命年|0x100000|43121\n本末倒置|0x1000000|33482\n本末源流|0x0000|100\n本年度|0x10000|623\n本生灯|0x100000|1310\n本世纪|0x4000|751\n本世纪末|0x0000|443\n本体论|0x100000|933\n本同末离|0x1000000|100\n本同末异|0x1000000|100\n本土化|0x100000|753\n本土型|0x100000|0\n本位币|0x100000|430\n本位货币|0x800000|982\n本位主义|0x800000|32349\n本溪满族自治县|0x0040|1496\n本溪市|0x0040|1336\n本乡本土|0x800000|1155\n本相毕露|0x1000000|100\n本小利大|0x800000|1106\n本小利微|0x1000000|1312\n本性难移|0x1000000|849\n本益比|0x0008|1129\n本征函数|0x0008|0\n本支百世|0x1000000|1426\n本枝百世|0x1000000|100\n本职工作|0x100000|755\n本质上|0x0000|623\n本质特征|0x100000|480\n本质属性|0x0008|2\n本主儿|0x100000|2334\n本专科|0x100000|900\n本族语|0x100000|1188\n苯丙氨酸|0x100000|1041\n苯并二嗪|0x400000|0\n苯并咪唑|0x100000|1188\n苯并芘|0x100000|1112\n苯丁酸氮芥|0x0008|0\n苯二甲基|0x400000|0\n苯甲基|0x100000|0\n苯甲酸|0x100000|893\n苯硫酚|0x100000|1347\n苯乙胺|0x100000|1165\n苯乙酸|0x0008|1139\n苯乙烯|0x100000|813\n苯中毒|0x100000|380\n坌鸟先飞|0x1000000|100\n笨活儿|0x0000|55585\n笨家伙|0x100000|1094\n笨口拙舌|0x800000|1355\n笨鸟先飞|0x1000000|50866\n笨手笨脚|0x40000000|37490\n笨头笨脑|0x40000000|53599\n笨嘴笨舌|0x800000|1151\n笨嘴拙腮|0x800000|0\n笨嘴拙舌|0x1000000|1097\n崩龙族|0x0008|1370\n崩越二极管|0x400008|0\n绷巴吊拷|0x0000|100\n绷扒吊拷|0x0000|100\n绷场面|0x1000|0\n绷爬吊拷|0x0000|100\n绷着脸|0x0000|467\n泵送性|0x100000|0\n蹦蹦跳|0x100000|1015\n蹦蹦跳跳|0x0100|749\n逼不得已|0x1000000|867\n逼供信|0x100000|52145\n逼良为娼|0x800000|48619\n逼人太甚|0x1000000|1101\n逼上梁山|0x1000000|38422\n鼻翅儿|0x100000|0\n鼻出血|0x0008|454\n鼻窦炎|0x100000|46993\n鼻端出火|0x1000000|100\n鼻端生火|0x1000000|100\n鼻垩挥斤|0x1000000|100\n鼻孔朝天|0x1000000|1097\n鼻孔辽天|0x1000000|1414\n鼻孔撩天|0x1000000|100\n鼻梁子|0x100000|0\n鼻青额肿|0x1000000|100\n鼻青脸肿|0x800000|34011\n鼻青眼乌|0x1000000|100\n鼻青眼肿|0x1000000|1155\n鼻青眼紫|0x1000000|100\n鼻塌唇青|0x0000|100\n鼻塌脣青|0x1000000|100\n鼻塌嘴歪|0x1000000|100\n鼻涕虫|0x100000|416\n鼻头出火|0x1000000|100\n鼻息如雷|0x1000000|1331\n鼻咽癌|0x100000|909\n鼻烟盒|0x100000|1352\n鼻烟壶|0x100000|36601\n鼻韵母|0x100000|1270\n鼻中隔|0x100000|1075\n鼻肿眼青|0x1000000|100\n鼻子眼儿|0x0000|36602\n匕鬯不惊|0x1000000|100\n匕鬯无惊|0x0000|100\n比比皆然|0x0000|100\n比比皆是|0x1000000|15577\n比比看|0x1000|869\n比表面|0x0008|0\n比不上|0x800000|15462\n比得上|0x0008|27511\n比尔盖茨|0x0080|527\n比方说|0x0000|573\n比哈尔|0x100000|1276\n比葫芦画瓢|0x0008|0\n比户可封|0x1000000|100\n比基尼|0x100000|42377\n比肩并起|0x1000000|100\n比肩迭迹|0x0000|100\n比肩迭踵|0x0000|100\n比肩叠迹|0x1000000|100\n比肩叠踵|0x1000000|100\n比肩而立|0x1000000|1115\n比肩继踵|0x1000000|1268\n比肩皆是|0x0000|100\n比肩接迹|0x0000|100\n比肩接踵|0x1000|100\n比肩连袂|0x1000000|100\n比肩齐声|0x1000000|100\n比肩随踵|0x1000000|100\n比肩系踵|0x1000000|100\n比较法|0x100000|923\n比较级|0x100000|1019\n比较价格|0x100000|706\n比较慢|0x0000|560\n比较图书馆学|0x0008|0\n比较文学|0x100000|925\n比较仪|0x0008|0\n比较语言学|0x100000|850\n比科尔|0x100000|1321\n比勒陀利亚|0x0040|1097\n比类从事|0x1000000|100\n比利时|0x0040|1037\n比利时队|0x100000|380\n比利时人|0x100000|1000\n比例尺|0x100000|23105\n比例关系|0x0008|2\n比例规|0x100000|1538\n比例号|0x100000|0\n比例式|0x100000|1146\n比例中项|0x100000|1541\n比量齐观|0x1000000|100\n比邻星|0x100000|1216\n比目连枝|0x0000|100\n比目鱼|0x100000|42378\n比年不登|0x0000|100\n比丘尼|0x100000|46094\n比去年同期下降|0x0000|461\n比去年同期增长|0x0000|561\n比权量力|0x1000000|100\n比如说|0x800000|574\n比如县|0x0040|1199\n比萨饼|0x100000|927\n比赛场|0x100000|1012\n比赛场地|0x100000|499\n比赛规则|0x0008|866\n比赛结果|0x100000|800\n比赛时间|0x100000|563\n比赛现场|0x100000|480\n比赛项目|0x100000|870\n比色高温计|0x0008|0\n比色计|0x100000|1118\n比上不足|0x800000|884\n比什凯克|0x0040|1116\n比试一下|0x400000|0\n比手划脚|0x1000000|1073\n比手画脚|0x800000|1080\n比岁不登|0x0000|100\n比特精灵|0x0000|505\n比特流|0x0000|385\n比特率|0x0000|501\n比屋而封|0x0000|100\n比屋可封|0x1000000|1536\n比屋连甍|0x1000000|100\n比物丑类|0x1000000|100\n比物此志|0x1000000|100\n比物假事|0x1000000|100\n比物连类|0x1000000|100\n比物属事|0x1000000|100\n比下有余|0x800000|890\n比学赶帮|0x100000|1209\n比翼连枝|0x1000000|100\n比翼鸟|0x100000|50083\n比翼齐飞|0x1000000|38839\n比翼双飞|0x1000000|858\n比众不同|0x0000|100\n比重计|0x0008|1116\n比重瓶|0x0008|0\n吡啶甲酸|0x0008|1653\n吡哆醇|0x0008|0\n吡哆醛|0x0008|0\n吡咯烷|0x100000|1032\n吡咯烷酮|0x100000|1043\n吡喃糖|0x100000|1539\n彼倡此和|0x1000000|100\n彼唱此和|0x0000|100\n彼此彼此|0x800000|856\n彼得堡|0x0040|1541\n彼得大帝|0x0080|1002\n彼得格勒|0x0040|1223\n彼得洛夫|0x0080|0\n彼得一世|0x400080|2\n彼德拉克|0x0080|0\n彼尔金特|0x0080|0\n彼竭我盈|0x1000000|1333\n彼弃我取|0x0000|100\n彼特拉克|0x0080|0\n彼一时|0xc00000|1\n彼众我寡|0x1000000|1255\n秕言谬说|0x0000|100\n俾路支|0x0040|1148\n俾斯麦|0x0040|1531\n俾夜作昼|0x1000000|100\n俾昼作夜|0x1000000|100\n笔饱墨酣|0x1000000|100\n笔大如椽|0x1000000|100\n笔底超生|0x0000|100\n笔底春风|0x0000|100\n笔底龙蛇|0x0000|100\n笔底生花|0x1000000|0\n笔底下|0x100000|50084\n笔伐口诛|0x1000000|100\n笔杆儿|0x0000|23910\n笔杆子|0x100000|33484\n笔歌墨舞|0x0000|100\n笔耕砚田|0x1000000|100\n笔管条直|0x0100|0\n笔酣墨饱|0x0000|100\n笔翰如流|0x0000|100\n笔记本|0x100000|7971\n笔记本报价|0x100000|460\n笔记本电池|0x100000|499\n笔记本电脑|0x100000|18552\n笔记本电脑市场|0x100000|456\n笔记本论坛|0x100000|503\n笔记本配件|0x100000|458\n笔记本维修|0x100000|535\n笔记本硬盘|0x100000|508\n笔记簿|0x100000|1027\n笔架山|0x100000|471\n笔老墨秀|0x0000|100\n笔墨官司|0x1000000|49363\n笔墨横姿|0x0000|100\n笔墨之林|0x0000|100\n笔墨纸砚|0x800000|979\n笔扫千军|0x1000000|1422\n笔头儿|0x100000|30247\n笔头生花|0x0000|100\n笔下超生|0x1000000|1534\n笔下生花|0x1000000|1173\n笔削褒贬|0x0000|100\n笔冢研穿|0x0000|100\n笔诛墨伐|0x1000000|100\n笔走龙蛇|0x1000000|49717\n鄙俚浅陋|0x0000|100\n鄙吝复萌|0x0000|100\n鄙夷不屑|0x1000000|1135\n鄙于不屑|0x0000|100\n币重言甘|0x1000000|1377\n必备条件|0x100000|499\n必不得已|0x1000000|1069\n必不可少|0x800000|643\n必不挠北|0x0000|100\n必操胜券|0x0000|100\n必答题|0x100000|1081\n必恭必敬|0x1000000|937\n必躬必亲|0x1000000|100\n必经之路|0x800000|778\n必居其一|0x400000|0\n必里迟离|0x0000|100\n必然会|0x40000000|645\n必然王国|0x100000|1150\n必然性|0x100000|12355\n必胜客|0x0008|1210\n必先利其器|0x0008|899\n必先与之|0x1000000|100\n必修课|0x100000|19419\n必需品|0x100000|19509\n必要产品|0x100000|1362\n必要劳动|0x800000|1094\n必要条件|0x800000|735\n必要性|0x100000|9916\n必也正名|0x1000000|1191\n必由之路|0x800000|12111\n必有近忧|0x1000000|946\n必有死夫|0x1000000|0\n必有我师|0x1000000|861\n必有一彪|0x1400000|0\n必有一得|0x1400000|0\n必有一伤|0x400000|100\n必有一失|0x1400000|0\n必有勇夫|0x1000000|1041\n必争之地|0x1000000|869\n毕达哥拉|0x0080|0\n毕达哥拉斯|0x0080|1624\n毕尔巴鄂|0x0008|1562\n毕恭毕敬|0x1000000|25686\n毕加索|0x0008|1208\n毕节市|0x0040|1611\n毕力同心|0x0000|100\n毕其功于一役|0x400008|2\n毕业班|0x100000|829\n毕业分配|0x0008|4\n毕业论文|0x100000|617\n毕业设计|0x0008|728\n毕业生|0x100000|2861\n毕业文凭|0x0000|465\n毕业证|0x100000|715\n毕业证书|0x0000|591\n毕雨箕风|0x0000|100\n闭壁清野|0x1000000|100\n闭阁思过|0x0000|100\n闭阁自责|0x0000|100\n闭关绝市|0x0000|100\n闭关却扫|0x1000000|100\n闭关锁国|0x1000000|33224\n闭关政策|0x0008|0\n闭关自守|0x1000000|31264\n闭关自主|0x1000000|100\n闭合电路|0x100000|1141\n闭合思过|0x0000|100\n闭合自责|0x0000|100\n闭户读书|0x0000|100\n闭环控制|0x0008|0\n闭架式|0x0008|0\n闭境自守|0x1000000|100\n闭壳肌|0x100000|1421\n闭口捕舌|0x1000000|100\n闭口不言|0x0000|100\n闭口藏舌|0x1000000|100\n闭口结舌|0x1000000|100\n闭口无言|0x800000|1281\n闭路电视|0x100000|26803\n闭门不出|0x0000|100\n闭门不纳|0x0000|100\n闭门读书|0x0000|100\n闭门羹|0x100000|34436\n闭门酣歌|0x0000|100\n闭门合辙|0x1000000|100\n闭门墐户|0x1000000|100\n闭门觅句|0x1000000|100\n闭门却轨|0x1000000|100\n闭门却扫|0x1000000|100\n闭门塞窦|0x1000000|100\n闭门塞户|0x1000000|100\n闭门扫轨|0x0000|100\n闭门扫迹|0x1000000|100\n闭门埽轨|0x1000000|100\n闭门思过|0x1000000|49006\n闭门思愆|0x1000000|100\n闭门投辖|0x1000000|1351\n闭门谢客|0x800000|1048\n闭门造车|0x1000000|33485\n闭门自守|0x1000000|100\n闭明塞聪|0x1000000|100\n闭目塞聪|0x0000|100\n闭目塞耳|0x1000000|100\n闭目塞听|0x1000000|49718\n闭目养神|0x800000|843\n闭幕词|0x100000|40731\n闭幕会|0x100000|1006\n闭幕式|0x100000|11376\n闭塞眼睛捉麻雀|0x0008|1539\n闭上眼睛|0x0000|680\n闭一只眼|0x400000|509\n闭月羞花|0x1000000|51275\n庇护权|0x100000|1355\n庇护所|0x100000|35939\n荜澄茄|0x0008|0\n荜路蓝缕|0x1000000|0\n荜门圭窦|0x0000|100\n毙而后已|0x0000|100\n婢膝奴颜|0x1000000|100\n婢学夫人|0x100000|0\n婢作夫人|0x1000000|100\n敝盖不弃|0x1000000|100\n敝鼓丧豚|0x1000000|100\n敝绨恶粟|0x0000|100\n敝綈恶粟|0x1000000|100\n敝帷不弃|0x1000000|100\n敝衣粝食|0x1000000|100\n敝衣枵腹|0x1000000|100\n敝帚千金|0x1000000|1536\n敝帚自享|0x1000000|100\n敝帚自珍|0x1000000|52617\n筚路蓝缕|0x1000000|41874\n筚路褴褛|0x0000|100\n筚门圭窦|0x1000000|0\n筚门圭窬|0x0000|100\n筚门闺窦|0x1000000|100\n蓖麻油|0x0008|1000\n蓖麻子|0x100000|1211\n弊车羸马|0x1000000|100\n弊绝风清|0x1000000|1293\n弊衣箪食|0x0000|100\n弊衣疏食|0x1000000|100\n弊衣蔬食|0x0000|100\n弊帚千金|0x0000|100\n弊帚自珍|0x1000000|100\n碧波万顷|0x800000|991\n碧海青天|0x0000|100\n碧海银沙|0x0008|1040\n碧鬟红袖|0x1000000|100\n碧姬芭杜|0x0080|0\n碧空如洗|0x800000|1057\n碧绿色|0x0000|461\n碧螺春|0x100000|45811\n碧落黄泉|0x0000|100\n碧血丹心|0x1000000|54667\n碧血剑|0x100000|467\n碧油油|0x0100|53604\n蔽聪塞明|0x1000000|100\n蔽明塞聪|0x0000|100\n蔽日干云|0x0000|100\n蔽日遮天|0x800000|100\n壁挂炉|0x100000|422\n壁挂式|0x100000|48622\n壁柜门|0x100000|408\n壁间蛇影|0x1000000|100\n壁垒森严|0x1000000|47926\n壁立千仞|0x1000000|958\n壁上观|0x0000|49719\n避而不谈|0x800000|928\n避烦斗捷|0x1000000|100\n避风港|0x100000|35474\n避风头|0x1000|979\n避瓜防李|0x1000000|100\n避害就利|0x0000|100\n避毁就誉|0x1000000|100\n避祸就福|0x1000000|100\n避祸求福|0x1000000|100\n避迹藏时|0x1000000|100\n避迹违心|0x1000000|100\n避井入坎|0x1000000|100\n避阱入坑|0x0000|100\n避穽入坑|0x1000000|100\n避军三舍|0x1400000|0\n避君三舍|0x1400000|0\n避坑落井|0x1000000|100\n避雷器|0x100000|52148\n避雷线|0x100000|1209\n避雷针|0x100000|39461\n避李嫌瓜|0x1000000|100\n避凉附炎|0x1000000|100\n避面尹邢|0x1000000|100\n避难就易|0x1000000|1305\n避难趋易|0x1000000|100\n避难权|0x100000|1355\n避难所|0x100000|33872\n避难者|0x100000|1216\n避溺山隅|0x1000000|100\n避其锐气|0x800000|1150\n避强打弱|0x1000000|100\n避强击惰|0x1000000|100\n避强击弱|0x1000000|1322\n避让贤路|0x0000|100\n避人耳目|0x1000000|1088\n避人眼目|0x1000000|100\n避实击虚|0x1000000|1114\n避实就虚|0x1000000|41409\n避世金马|0x1000000|100\n避世金门|0x1000000|100\n避世绝俗|0x800000|100\n避世离俗|0x1000000|100\n避世墙东|0x1000000|100\n避暑山庄|0x0040|1403\n避俗趋新|0x1000000|100\n避凶趋吉|0x1000000|100\n避影敛迹|0x1000000|100\n避影匿形|0x1000000|100\n避孕措施|0x0000|473\n避孕环|0x100000|1027\n避孕套|0x100000|32088\n避孕药|0x100000|754\n避之若浼|0x1000000|100\n避重就轻|0x1000000|31265\n避重逐轻|0x1000000|100\n臂有四肘|0x400000|100\n髀里肉生|0x0000|100\n髀肉复生|0x1000000|1325\n璧合珠连|0x1000000|100\n璧合珠联|0x1000000|100\n璧山县|0x0040|1254\n璧坐玑驰|0x1000000|100\n边坝县|0x0040|1244\n边边角角|0x100000|998\n边尘不惊|0x1000000|100\n边防部队|0x0008|34\n边防军|0x100000|26311\n边防哨|0x0000|52149\n边防线|0x0000|32472\n边防站|0x0000|32351\n边防证|0x0008|1070\n边干边学|0x0008|0\n边检站|0x100000|1070\n边角料|0x100000|45506\n边角余料|0x100000|1136\n边界层|0x0008|376\n边界条件|0x0008|0\n边界问题|0x0008|82\n边界线|0x100000|25002\n边界争端|0x0008|12\n边境贸易|0x100000|15\n边境线|0x100000|25397\n边境证|0x0008|1149\n边塞诗|0x100000|1123\n边缘海|0x0008|0\n边缘化|0x1000|22088\n边缘科学|0x100000|1129\n边缘系统|0x0008|0\n边值问题|0x0008|0\n砭庸针俗|0x1000000|100\n编辑部|0x100000|10393\n编辑出版|0x0000|518\n编辑工作|0x0008|2\n编辑器|0x0008|641\n编辑室|0x100000|947\n编解码器|0x0008|458\n编码器|0x100000|768\n编码员|0x100000|1268\n编目员|0x100000|1276\n编年史|0x100000|35940\n编年体|0x100000|45507\n编委会|0x100000|692\n编写者|0x100000|964\n编译程序|0x0008|935\n编译馆|0x100000|1136\n编译器|0x100000|761\n编者按|0x100000|7921\n编织袋|0x100000|31266\n编织品|0x100000|968\n编织物|0x0008|1058\n编组站|0x100000|1072\n蝙蝠洞|0x0040|0\n蝙蝠衫|0x100000|52152\n鞭辟近里|0x1000000|1537\n鞭辟入里|0x1000000|47927\n鞭辟向里|0x1000000|100\n鞭辟着里|0x1000000|100\n鞭不及腹|0x0000|100\n鞭长不及|0x1000000|100\n鞭长不及马腹|0x0008|100\n鞭长驾远|0x1000000|100\n鞭长莫及|0x1000000|36262\n鞭打快牛|0x1000000|55104\n鞭毛虫|0x100000|1151\n鞭毛藻|0x100000|1537\n鞭驽策蹇|0x1000000|100\n鞭炮声|0x100000|799\n鞭擗进里|0x1000000|100\n鞭擗向里|0x1000000|100\n鞭丝帽影|0x1000000|100\n鞭约近里|0x1000000|100\n鞭状天线|0x0008|0\n鞭子一样|0x400000|0\n贬义词|0x100000|883\n扁平封装|0x0008|0\n扁平苔藓|0x100000|409\n扁平疣|0x100000|922\n扁平足|0x100000|1071\n扁桃体|0x100000|43595\n扁桃体炎|0x100000|923\n扁桃腺|0x100000|1027\n扁形动物|0x100000|1171\n扁圆形|0x100000|1077\n抃风舞润|0x0000|100\n抃风儛润|0x1000000|0\n便把令来行|0x0008|1268\n便步走|0x1000|0\n便辞巧说|0x0000|100\n便当盒|0x0008|417\n便笺本|0x0008|0\n便利店|0x0000|52153\n便民服务|0x100000|679\n便条纸|0x0008|0\n便携机|0x0008|1048\n便携式|0x20000000|25003\n便衣队|0x100000|0\n便宜从事|0x1000|1229\n便宜货|0x100000|863\n便宜施行|0x1000000|100\n便宜行事|0x1000|38056\n变本加厉|0x1000000|23157\n变电器|0x0000|55107\n变电所|0x100000|886\n变电站|0x100000|23521\n变动不居|0x1000000|1100\n变法儿|0x1000|0\n变法维新|0x800000|968\n变废为宝|0x800000|805\n变分法|0x100000|1174\n变风改俗|0x1000000|100\n变风易俗|0x1000000|100\n变躬迁席|0x1000000|100\n变古乱常|0x1000000|100\n变古易常|0x1000000|100\n变古易俗|0x1000000|100\n变故易常|0x1000000|100\n变化不测|0x1000000|1179\n变化不穷|0x1000000|100\n变化多端|0x800000|829\n变化莫测|0x1000000|875\n变化器|0x0008|1405\n变化球|0x100000|1122\n变化如神|0x0000|100\n变化无常|0x1000000|35169\n变化无穷|0x1000000|934\n变幻不测|0x1000000|100\n变幻莫测|0x1000000|29714\n变幻无常|0x1000000|858\n变幻无穷|0x1000000|988\n变换器|0x0008|1536\n变焦镜头|0x100000|540\n变醨养瘠|0x1000000|100\n变脸变色|0x1000000|100\n变流器|0x100000|1119\n变名易姓|0x1000000|0\n变魔术|0x1000|483\n变频管|0x0008|1535\n变频空调|0x0000|473\n变频器|0x100000|694\n变容二极管|0x400000|1064\n变容改俗|0x1000000|0\n变色镜|0x100000|53605\n变色龙|0x100000|40732\n变色易容|0x0000|100\n变色之言|0x0000|100\n变生不测|0x1000000|1121\n变生肘腋|0x1000000|1049\n变声期|0x100000|1103\n变送器|0x100000|584\n变俗易教|0x1000000|100\n变速齿轮|0x0000|481\n变速杆|0x100000|1069\n变速器|0x100000|40518\n变速箱|0x100000|739\n变速运动|0x100000|844\n变速装置|0x0008|0\n变态百出|0x1000000|100\n变态传奇|0x100000|563\n变态反应|0x800000|940\n变态心理|0x0000|416\n变态心理学|0x100000|371\n变态性|0x0000|374\n变贪厉薄|0x1000000|100\n变危为安|0x1000000|100\n变味儿|0x0000|27833\n变温动物|0x100000|1236\n变戏法|0x1000|25317\n变相涨价|0x0008|8\n变心易虑|0x1000000|100\n变形虫|0x0008|1046\n变形缝|0x0000|373\n变形杆菌属|0x0008|0\n变形金刚|0x100000|728\n变形体|0x0008|0\n变形运动|0x0008|0\n变性手术|0x0000|493\n变炫无穷|0x1000000|100\n变压器|0x100000|16615\n变压器厂|0x100000|428\n变颜变色|0x1000000|1371\n变异性|0x100000|1023\n变则通|0x800000|1016\n变质岩|0x0008|1107\n变着法儿|0x0000|399\n变奏曲|0x100000|877\n变阻器|0x100000|1057\n遍地开花|0x1000000|832\n遍历性|0x100000|0\n遍体鳞伤|0x1000000|30248\n辨别力|0x100000|1080\n辨才须待七年期|0x400000|0\n辨认出|0x0000|497\n辨日炎凉|0x1000000|100\n辨如悬河|0x1000000|100\n辨若悬河|0x1000000|100\n辨物居方|0x1000000|100\n辨证论治|0x1000|978\n辩才无碍|0x1000000|1114\n辩才无阂|0x1000000|100\n辩护律师|0x100000|876\n辩护权|0x100000|48624\n辩护人|0x100000|18235\n辩护士|0x100000|52154\n辩护者|0x100000|1161\n辩口利辞|0x1000000|100\n辩口利舌|0x1000000|100\n辩论会|0x100000|867\n辩论赛|0x100000|830\n辩证法|0x100000|10533\n辩证关系|0x0000|470\n辩证逻辑|0x100000|1169\n辩证统一|0x400000|0\n辩证唯物|0x100000|883\n辩证唯物论|0x100000|1168\n辩证唯物主义|0x100000|12383\n辫状河|0x0008|0\n彪炳千古|0x1000000|1293\n彪炳千秋|0x800000|1\n彪形大汉|0x100000|34579\n标本兼治|0x800000|868\n标本室|0x100000|1146\n标的物|0x100000|936\n标点符号|0x100000|31267\n标定罐|0x0008|0\n标记原子|0x800000|1265\n标签打印机|0x100000|468\n标签机|0x100000|489\n标情夺趣|0x1000000|100\n标识符|0x100000|862\n标识器|0x100000|0\n标识语|0x100000|0\n标题栏|0x0000|545\n标题新闻|0x100000|3\n标题音乐|0x100000|1100\n标同伐异|0x1000000|100\n标新创异|0x1000000|100\n标新竞异|0x1000000|100\n标新立异|0x1000000|27589\n标新领异|0x1000000|100\n标新竖异|0x1000000|100\n标引深度|0x0008|0\n标语牌|0x100000|26660\n标枝野鹿|0x1000000|100\n标志性|0x100000|694\n标准版|0x0008|1154\n标准差|0x0008|485\n标准厂房|0x100000|484\n标准答案|0x100000|558\n标准大气|0x0008|0\n标准大气压|0x100000|1199\n标准单位|0x800000|1073\n标准电池|0x0008|0\n标准粉|0x100000|1165\n标准杆|0x100000|1045\n标准工资|0x0008|1\n标准规|0x100000|920\n标准规范|0x100000|619\n标准化|0x1000|5565\n标准间|0x100000|560\n标准件|0x100000|44912\n标准九分|0x400000|0\n标准局|0x100000|1020\n标准煤|0x100000|984\n标准木|0x0008|0\n标准偏差|0x0008|0\n标准溶液|0x0008|0\n标准时|0x100000|39463\n标准时区|0x0000|385\n标准误差|0x0008|0\n标准像|0x100000|55113\n标准型|0x100000|571\n标准音|0x100000|48625\n标准语|0x100000|54673\n膘肥体壮|0x1000000|39464\n飙发电举|0x1000000|100\n飙举电至|0x1000000|100\n表层结构|0x0008|0\n表错情|0x0008|0\n表达方式|0x0000|570\n表达式|0x100000|726\n表姐妹|0x100000|1077\n表舅母|0x100000|1417\n表决器|0x100000|46996\n表决权|0x100000|32592\n表里不一|0x400000|50867\n表里如一|0x1400000|37850\n表里山河|0x1000000|1223\n表里受敌|0x0000|100\n表里为奸|0x1000000|100\n表里相符|0x1000000|100\n表里相济|0x0000|100\n表里相依|0x1000000|100\n表里相应|0x1000000|1391\n表里一致|0x1400000|0\n表率作用|0x0000|506\n表蒙子|0x100000|1541\n表面波|0x0008|1092\n表面波天线|0x0008|0\n表面电阻|0x0008|0\n表面工程|0x100000|417\n表面光|0x1000|55590\n表面光洁度|0x0008|392\n表面化|0x1000|39870\n表面活性|0x0008|0\n表面活性剂|0x0008|848\n表面积|0x100000|31484\n表面抗原|0x100000|461\n表面上|0x0000|703\n表面温度|0x0008|455\n表面文章|0x800000|18813\n表面性|0x100000|1161\n表面张力|0x100000|992\n表皮素|0x100000|0\n表情符号|0x0000|573\n表情图|0x100000|488\n表情图片|0x100000|447\n表示感谢|0x0000|607\n表示祝贺|0x0000|531\n表土层|0x100000|1312\n表现出|0x0000|775\n表现力|0x100000|16008\n表现手法|0x0008|532\n表现形式|0x0000|605\n表现型|0x100000|1155\n表现艺术|0x0008|0\n表现主义|0x100000|961\n表兄弟|0x100000|963\n表演唱|0x100000|44913\n表演队|0x100000|988\n表演区|0x100000|1114\n表演赛|0x100000|28990\n表演性|0x100000|1061\n表演艺术|0x100000|792\n表演艺术家|0x100000|868\n表演者|0x100000|716\n表姨父|0x100000|1425\n表意文字|0x100000|1141\n表音文字|0x100000|1196\n表彰大会|0x0000|557\n表彰会|0x100000|906\n表侄女|0x100000|1208\n表壮不如里壮|0x0008|100\n表姊妹|0x100000|1221\n摽梅之年|0x0000|100\n憋得慌|0x0000|38840\n别抱琵琶|0x1000000|100\n别别扭扭|0x0008|1009\n别财异居|0x1000000|100\n别出机杼|0x1000000|100\n别出手眼|0x1000000|100\n别出心裁|0x1000000|21697\n别出新裁|0x1000000|1182\n别出新意|0x1000000|100\n别创一格|0x1400000|0\n别的男人|0x100000|554\n别的女人|0x100000|580\n别动队|0x100000|43598\n别风淮雨|0x1000000|100\n别鹤孤鸾|0x1000000|100\n别鹤离鸾|0x1000000|100\n别籍异财|0x1000000|100\n别籍异居|0x1000000|100\n别居异财|0x1000000|100\n别具肺肠|0x1000000|100\n别具慧眼|0x0000|100\n别具匠心|0x1000000|40960\n别具手眼|0x1000000|100\n别具特色|0x800000|902\n别具心肠|0x1000000|100\n别具一格|0x1400000|21137\n别具只眼|0x1000000|100\n别开蹊径|0x1000000|100\n别开生面|0x1000000|15674\n别开一格|0x1400000|0\n别克凯越|0x100000|484\n别来无恙|0x1000000|873\n别类分门|0x1000000|100\n别林斯基|0x0080|1088\n别嘌呤醇|0x100000|1270\n别饶风致|0x1000000|0\n别生枝节|0x1000000|100\n别树一格|0x400000|1\n别树一旗|0x1400000|0\n别树一帜|0x1400000|55114\n别墅设计|0x100000|395\n别无长物|0x1000000|54676\n别无出路|0x800000|1145\n别无二致|0xc00000|47607\n别无分店|0x800000|1046\n别无良策|0x800000|1090\n别无他法|0x0000|480\n别无他物|0x800000|1042\n别无选择|0x800000|698\n别有洞天|0x1000000|44915\n别有肺肠|0x1000000|100\n别有风趣|0x0000|100\n别有风味|0x0100|44331\n别有人间|0x1000000|100\n别有天地|0x1000000|52620\n别有心肠|0x1000000|100\n别有心肝|0x1000000|100\n别有用心|0x1000000|17476\n别有滋味|0x0000|100\n别置一喙|0x1400000|0\n别作良图|0x1000000|100\n别作一眼|0x1400000|0\n宾川县|0x0040|1076\n宾馆饭店|0x100000|511\n宾馆酒店|0x100000|548\n宾饯日月|0x0000|100\n宾餞日月|0x1000000|100\n宾客如云|0x1000000|1205\n宾客迎门|0x1000000|100\n宾客盈门|0x800000|1118\n宾来如归|0x1000000|100\n宾朋满座|0x1000000|100\n宾入如归|0x1000000|100\n宾夕法尼亚|0x0040|1403\n宾夕法尼亚大学|0x0020|1584\n宾夕法尼亚州|0x0040|1530\n宾夕法尼亚洲|0x0040|0\n宾西法尼亚|0x0040|1674\n宾阳县|0x0040|1482\n宾至如归|0x1000000|36428\n彬彬济济|0x1000000|100\n彬彬有礼|0x1000000|21098\n滨海路|0x100000|419\n滨海区|0x100000|1140\n滨海县|0x0040|1491\n滨海新区|0x100000|541\n滨海学院|0x100000|369\n滨江街|0x0040|0\n滨州市|0x0040|1362\n缤纷多彩|0x800000|821\n槟榔汁|0x100000|0\n殡仪馆|0x100000|21185\n鬓乱钗横|0x1000000|100\n冰碴儿|0x100000|45814\n冰川地质学|0x0008|0\n冰川化|0x100000|0\n冰川期|0x4000|1164\n冰川退缩|0x0008|1\n冰川学|0x100000|1307\n冰醋酸|0x0008|985\n冰冻期|0x4000|1149\n冰冻三尺|0xc00000|1\n冰冻三尺非一日之寒|0x400000|100\n冰冻蚀刻|0x0008|0\n冰封王座|0x100000|823\n冰封雪裹|0x1000000|1394\n冰棍儿|0x100000|31380\n冰寒于水|0x1000000|1352\n冰河期|0x100000|1050\n冰壶秋月|0x800000|1319\n冰花土|0x100000|454\n冰魂素魄|0x1000000|100\n冰魂雪魄|0x1000000|1352\n冰肌雪肠|0x1000000|100\n冰肌玉骨|0x1000000|53131\n冰激淋|0x100000|441\n冰激凌|0x100000|27909\n冰洁玉清|0x1000000|100\n冰洁渊清|0x1000000|100\n冰解的破|0x1000000|100\n冰解冻释|0x1000000|100\n冰解壤分|0x1000000|100\n冰解云散|0x1000000|100\n冰晶石|0x100000|1102\n冰壸秋月|0x1000000|100\n冰凉花|0x0008|0\n冰淇淋|0x100000|582\n冰淇淋机|0x100000|404\n冰清水冷|0x1000000|100\n冰清玉粹|0x1000000|100\n冰清玉洁|0x1000000|38218\n冰清玉润|0x1000000|100\n冰球场|0x100000|1292\n冰散瓦解|0x1000000|100\n冰山难靠|0x0000|100\n冰山一角|0x400000|16\n冰山易倒|0x0000|100\n冰上运动|0x100000|1119\n冰蚀湖|0x0008|0\n冰炭不同炉|0x0008|1360\n冰炭不同器|0x0008|1541\n冰炭不投|0x1000000|100\n冰炭不言|0x0000|100\n冰糖葫芦|0x800000|40091\n冰天雪地|0x1000000|21021\n冰天雪窖|0x1000000|100\n冰天雪窑|0x100000|100\n冰箱门|0x100000|1030\n冰箱压缩机|0x100000|376\n冰消冻解|0x1000000|100\n冰消瓦解|0x1000000|52622\n冰消雾散|0x1000000|100\n冰消雪释|0x1000000|100\n冰消云散|0x1000000|100\n冰销雾散|0x1000000|0\n冰销叶散|0x1000000|100\n冰心一片|0x400000|100\n冰雪聪明|0x1000000|846\n冰雪节|0x4000|976\n冰雪严寒|0x0000|100\n冰乙酸|0x0008|1258\n兵败如山倒|0x1000000|969\n兵不接刃|0x1000000|100\n兵不污刃|0x0000|100\n兵不雪刃|0x0000|100\n兵不血刃|0x1000000|42859\n兵不厌权|0x0000|100\n兵不厌诈|0x1000000|44613\n兵不由将|0x800000|100\n兵藏武库|0x1000000|0\n兵车之会|0x0000|100\n兵出无名|0x0000|100\n兵多将广|0x0000|100\n兵多者败|0x0000|100\n兵分二路|0x400000|0\n兵戈扰攘|0x0000|100\n兵哥哥|0x100000|437\n兵工厂|0x100000|29822\n兵贵神速|0x1000000|1022\n兵贵先声|0x1000000|100\n兵荒马乱|0x1000000|27435\n兵慌马乱|0x1000000|1132\n兵家必争之地|0x0008|919\n兵来将挡|0x1000000|903\n兵来将敌|0x1000000|0\n兵来将迎|0x1000000|0\n兵连祸接|0x1000000|100\n兵连祸结|0x1000000|1186\n兵临城下|0x1000000|42382\n兵马未动|0x1000000|1015\n兵马俑|0x100000|20195\n兵拏祸结|0x1000000|100\n兵强将勇|0x0000|100\n兵强马壮|0x1000000|43370\n兵强则灭|0x1000000|100\n兵戎相见|0x1000000|35172\n兵微将寡|0x0000|100\n兵未血刃|0x1000000|100\n兵闻拙速|0x1000000|100\n兵无常势|0x1000000|1082\n兵无常形|0x1000000|100\n兵无血刃|0x1000000|100\n兵销革偃|0x1000000|100\n兵行诡道|0x1000000|1268\n兵凶战危|0x1000000|1177\n兵役法|0x100000|32089\n兵役制|0x100000|47929\n兵役制度|0x0008|4\n兵油子|0x0000|51719\n兵在精而不在多|0x0000|100\n兵在其颈|0x1000000|100\n掤扒吊拷|0x0000|100\n丙氨酸|0x100000|1026\n丙丁酚|0x0008|0\n丙二醇|0x4400000|29\n丙磺舒|0x100000|1244\n丙类放大器|0x0008|0\n丙酮酸|0x100000|1098\n丙烯醇|0x100000|1198\n丙烯腈|0x100000|1009\n丙烯醛|0x100000|1149\n丙烯酸|0x100000|812\n丙烯酸酯|0x100000|968\n丙烯酮|0x100000|0\n丙烯酰胺|0x0008|1595\n丙种射线|0x100000|1541\n秉笔直书|0x1000000|1161\n秉公办理|0x1000000|100\n秉公灭私|0x0000|100\n秉公任直|0x0000|100\n秉公无私|0x1000000|100\n秉公执法|0x800000|23686\n秉节持重|0x0000|100\n秉钧持轴|0x0000|100\n秉钧当轴|0x0000|100\n秉文兼武|0x0000|100\n秉文经武|0x0000|100\n秉性难移|0x800000|1072\n秉要执本|0x1000000|1387\n秉正无私|0x0000|100\n秉烛待旦|0x1000000|100\n秉烛夜游|0x1000000|54144\n炳炳烺烺|0x0000|100\n炳如观火|0x1000000|100\n炳如日星|0x0000|100\n炳若观火|0x1000000|100\n炳若日星|0x0000|100\n炳烛夜游|0x1000000|100\n饼乾店|0x0040|0\n禀性难移|0x1000000|100\n并不等于|0x0000|539\n并不一定|0x400000|399\n并存不悖|0x1000000|100\n并蒂芙蓉|0x0000|100\n并蒂莲|0x100000|48628\n并发症|0x100000|17810\n并非如此|0x800000|758\n并非易事|0x800000|883\n并驾齐驱|0x1000000|27763\n并肩作战|0x800000|809\n并疆兼巷|0x1000000|100\n并列第一|0x400000|5\n并没有|0x0000|901\n并驱争先|0x1000000|100\n并日而食|0x1000000|1288\n并容徧覆|0x1000000|100\n并世无两|0x1000000|100\n并网发电|0x800000|1025\n并威偶势|0x1000000|100\n并为一谈|0x400000|0\n并行不悖|0x1000000|36604\n并行口|0x100000|1059\n并赃拿贼|0x0000|100\n病包儿|0x100000|48629\n病病歪歪|0x0100|1171\n病病殃殃|0x0100|0\n病虫害|0x100000|10189\n病从口入|0x800000|944\n病毒感染|0x0000|574\n病毒科|0x100000|0\n病毒库|0x0008|772\n病毒码|0x100000|515\n病毒软件|0x100000|401\n病毒携带者|0x100000|498\n病毒性|0x20000000|806\n病毒性肝炎|0x100000|488\n病毒性疾病|0x100000|392\n病毒学|0x100000|1022\n病毒疣|0x100000|465\n病毒组|0x100000|0\n病毒唑|0x100000|1177\n病骨支离|0x0000|100\n病国殃民|0x1000000|100\n病号饭|0x100000|49011\n病急乱投医|0x0008|978\n病假单|0x0008|0\n病理解剖学|0x0008|0\n病理学|0x100000|828\n病历室|0x100000|1391\n病民蛊国|0x0000|100\n病民害国|0x0000|100\n病魔缠身|0x800000|1034\n病染膏肓|0x0000|100\n病入膏肓|0x1000000|35629\n病入骨隨|0x0000|100\n病入骨髓|0x0000|100\n病态人格|0x0008|1\n病态心理学|0x0008|0\n病歪歪|0x0100|1130\n病恹恹|0x0008|49012\n病秧子|0x100000|51721\n病怏怏|0x0100|1004\n病因学|0x0008|412\n病由口入|0x0000|100\n病原虫|0x100000|1541\n病原菌|0x100000|992\n病原体|0x100000|887\n病原微生物|0x0008|1\n病原学|0x100000|1043\n病在膏肓|0x0000|100\n拨草寻蛇|0x1000000|1301\n拨草瞻风|0x1000000|100\n拨号盘|0x100000|1206\n拨号上网|0x0000|553\n拨号网络|0x0000|495\n拨浪鼓|0x100000|38844\n拨乱反正|0x1000000|17193\n拨乱反治|0x1000000|100\n拨乱济时|0x0000|100\n拨乱济危|0x0000|100\n拨乱为治|0x1000000|100\n拨万轮千|0x1000000|100\n拨万论千|0x1000000|100\n拨雨撩云|0x1000000|100\n拨云睹日|0x0000|100\n拨云见日|0x1000000|910\n拨云撩雨|0x1000000|100\n拨云雾见青天|0x0000|100\n拨嘴撩牙|0x1000000|100\n波波碌碌|0x1000000|100\n波茨坦|0x0040|1603\n波带片|0x100000|1405\n波导窗|0x100000|0\n波导管|0x0008|1271\n波动力学|0x0008|0\n波动性|0x100000|927\n波多黎各|0x0040|1450\n波多诺伏|0x0080|1363\n波尔多|0x0040|1346\n波尔多液|0x100000|403\n波尔卡|0x100000|945\n波尔兹曼|0x0080|0\n波峰焊|0x100000|911\n波哥大|0x0040|1102\n波格丹诺夫|0x0080|1\n波光粼粼|0x0100|845\n波光鳞鳞|0x0000|100\n波骇云属|0x1000000|100\n波谲云诡|0x1000000|1044\n波兰人|0x100000|964\n波澜老成|0x0000|100\n波澜壮阔|0x1000000|15139\n波浪式|0x20000000|988\n波浪形|0x100000|890\n波利尼西亚|0x0040|1097\n波利维亚|0x0080|2\n波流茅靡|0x1000000|100\n波隆贝斯库|0x0080|0\n波鲁纳尼夫|0x0080|0\n波路壮阔|0x0000|100\n波罗的海|0x0040|1440\n波罗蜜|0x100000|865\n波罗塞戏|0x1000000|100\n波罗奢花|0x1000000|100\n波密县|0x0040|1151\n波纳尼夫|0x0080|0\n波士顿|0x0040|1187\n波束波导|0x100000|0\n波斯菊|0x100000|966\n波斯猫|0x100000|44614\n波斯尼亚|0x0040|1610\n波斯人|0x100000|446\n波斯湾|0x0040|1408\n波斯王子|0x0000|525\n波斯语|0x100000|428\n波涛汹涌|0x800000|745\n波特率|0x100000|989\n波纹管|0x100000|514\n波纹喇叭|0x0008|0\n波希米亚|0x0080|1437\n波义耳|0x0080|1228\n波折号|0x100000|0\n波属云委|0x1000000|100\n玻尔原子模型|0x0008|0\n玻璃板|0x100000|941\n玻璃棒|0x100000|1030\n玻璃包装|0x100000|394\n玻璃杯|0x100000|719\n玻璃茶几|0x100000|424\n玻璃产品|0x100000|410\n玻璃厂|0x100000|479\n玻璃窗|0x100000|703\n玻璃灯|0x100000|405\n玻璃垫|0x0008|0\n玻璃粉|0x0008|1144\n玻璃封装|0x0008|0\n玻璃缸|0x100000|992\n玻璃钢|0x100000|23851\n玻璃工艺|0x100000|446\n玻璃工艺品|0x100000|473\n玻璃管|0x0008|482\n玻璃罐|0x100000|439\n玻璃柜|0x100000|945\n玻璃化|0x100000|384\n玻璃机械|0x100000|411\n玻璃胶|0x100000|427\n玻璃门|0x0008|1272\n玻璃棉|0x100000|432\n玻璃盆|0x100000|374\n玻璃片|0x100000|877\n玻璃瓶|0x100000|720\n玻璃器皿|0x100000|812\n玻璃球|0x0008|873\n玻璃设备|0x100000|375\n玻璃水|0x100000|427\n玻璃丝|0x100000|46998\n玻璃碳|0x0008|0\n玻璃体|0x100000|976\n玻璃屋|0x100000|432\n玻璃纤维|0x100000|38640\n玻璃心|0x100000|444\n玻璃仪器|0x100000|447\n玻璃罩|0x100000|962\n玻璃纸|0x100000|42641\n玻璃制品|0x100000|688\n玻璃珠|0x100000|470\n玻璃砖|0x100000|1040\n玻璃状|0x100000|0\n玻利维亚|0x0040|1435\n玻色子|0x100000|1187\n剥床及肤|0x0000|100\n剥夺政治权利|0x0008|19\n剥夺政治权利终身|0x0000|481\n剥肤及髓|0x1000000|100\n剥肤之痛|0x0000|100\n剥肤椎髓|0x0000|100\n剥极必复|0x1000000|1535\n剥极将复|0x1000000|100\n剥极则复|0x1000000|100\n剥茧抽丝|0x1000000|100\n剥皮抽筋|0x0000|100\n剥削阶级|0x100000|13487\n剥削者|0x100000|1067\n剥削制度|0x0008|0\n脖梗儿|0x0000|39046\n脖颈儿|0x100000|39046\n脖颈子|0x100000|0\n脖领儿|0x0000|40520\n菠萝蜜|0x100000|47608\n播放按钮|0x100000|465\n播放歌曲|0x0000|601\n播放工具|0x0000|499\n播放机|0x100000|785\n播放列表|0x100000|729\n播穅眯目|0x1000000|100\n播糠眯目|0x1000000|100\n播弄是非|0x0000|100\n播音剧|0x0008|0\n播音室|0x100000|48630\n播音员|0x100000|17964\n播种机|0x100000|970\n播种面积|0x0008|28\n播种期|0x4000|1133\n伯道无儿|0x0000|100\n伯恩施坦|0x0080|0\n伯恩斯坦|0x0080|1496\n伯尔尼|0x0040|1534\n伯歌季舞|0x1000000|100\n伯格斯矢量|0x0008|0\n伯劳飞燕|0x1000000|1541\n伯乐相马|0x1000000|1102\n伯乐一顾|0x1400000|0\n伯利恒|0x0040|1581\n伯利兹|0x0040|1651\n伯罗奔尼撒|0x0040|1712\n伯明翰|0x0040|1342\n伯埙仲篪|0x0000|100\n伯玉知非|0x0000|100\n伯仲叔季|0x100000|0\n伯仲之间|0x1000000|48631\n伯祖母|0x100000|1542\n驳壳枪|0x100000|32595\n驳面子|0x1000|0\n泊松比|0x0008|0\n泊头市|0x0040|1264\n勃勃生机|0x800000|854\n勃拉姆斯|0x0080|1494\n勃朗宁|0x0008|46102\n勃利县|0x0040|1646\n勃列日涅夫|0x0080|416\n勃然变色|0x0000|100\n勃然大怒|0x1000000|806\n勃然奋励|0x0000|100\n亳州市|0x0040|1301\n铂电阻|0x100000|391\n舶来品|0x100000|35324\n博爱县|0x0040|1523\n博爱医院|0x100000|461\n博白县|0x0040|1458\n博采众长|0x1000000|26804\n博采众议|0x0000|100\n博茨瓦纳|0x0040|1600\n博大精深|0x1000000|14341\n博而不精|0x1000000|1141\n博而寡要|0x1000000|1377\n博尔顿|0x0080|1374\n博尔塔拉|0x0080|1562\n博古架|0x0008|1100\n博古通今|0x1000000|48267\n博湖县|0x0040|1117\n博客地址|0x100000|466\n博览古今|0x0000|100\n博览会|0x100000|4628\n博览群书|0x800000|867\n博览五车|0x1400000|0\n博乐市|0x0040|1037\n博罗县|0x0040|1440\n博洛尼亚|0x0040|1530\n博洽多闻|0x0000|100\n博施济众|0x1000000|1273\n博识多通|0x0000|100\n博识洽闻|0x1000000|0\n博士班|0x100000|2\n博士点|0x100000|42138\n博士后|0x100000|10846\n博士伦|0x100000|498\n博士论文|0x0000|509\n博士买驴|0x1000000|1299\n博士生|0x100000|9040\n博士学位|0x0000|630\n博士研究生|0x100000|541\n博硕肥腯|0x1000000|100\n博斯普鲁|0x0080|0\n博斯普鲁斯海峡|0x0040|1126\n博通经籍|0x0000|100\n博文约礼|0x1000000|1381\n博闻辩言|0x0000|100\n博闻多识|0x1000000|100\n博闻强记|0x1000000|48268\n博闻强识|0x1000000|1150\n博闻强志|0x1000000|1256\n博物多闻|0x0000|100\n博物馆|0x100000|3681\n博物君子|0x1000000|0\n博物洽闻|0x1000000|100\n博物学家|0x100000|1083\n博物院|0x100000|33873\n博兴县|0x0040|1478\n博学多才|0x1000000|863\n博学多闻|0x1000000|1025\n博学洽闻|0x0000|100\n博野县|0x0040|1638\n博弈论|0x100000|465\n博弈树搜索|0x0008|0\n博弈犹贤|0x1000000|100\n渤海海峡|0x0040|1621\n渤海湾|0x100000|1454\n渤澥桑田|0x1000000|100\n搏牛之虻|0x1000000|100\n搏手无策|0x0000|100\n踣地呼天|0x1000000|100\n薄壁组织|0x0008|0\n薄唇轻言|0x1000000|100\n薄伽丘|0x0008|0\n薄寒中人|0x0000|100\n薄荷醇|0x0008|1197\n薄荷精|0x100000|0\n薄荷脑|0x0008|53611\n薄荷糖|0x0008|938\n薄荷叶|0x0000|445\n薄荷油|0x100000|1053\n薄技在身|0x0000|100\n薄利多销|0x800000|37319\n薄命佳人|0x0000|100\n薄膜袋|0x100000|399\n薄膜晶体管|0x0008|384\n薄膜开关|0x100000|424\n薄膜状|0x100000|0\n薄暮冥冥|0x800000|1210\n薄情无义|0x0000|100\n薄弱环节|0x0000|565\n薄物细故|0x1000000|100\n跛鳖千里|0x1000000|100\n跛行千里|0x0000|100\n簸土扬沙|0x0000|100\n擘肌分理|0x1000000|1538\n擘两分星|0x1000000|100\n逋慢之罪|0x0000|100\n逋逃之臣|0x0000|100\n逋逃之薮|0x0000|100\n餔糟啜漓|0x0000|100\n餔糟啜醨|0x0000|100\n餔糟歠漓|0x0000|100\n餔糟歠醨|0x0000|100\n卜夜卜昼|0x0000|100\n卜昼卜夜|0x1000|100\n补偿费|0x100000|891\n补偿金|0x100000|887\n补偿贸易|0x100000|438\n补偿性|0x40000000|407\n补充规定|0x0000|514\n补充品|0x100000|1020\n补充协议|0x0000|495\n补丁包|0x100000|491\n补给船|0x100000|387\n补给品|0x100000|1025\n补给线|0x100000|45212\n补给站|0x100000|963\n补骨脂|0x100000|1071\n补骨脂素|0x100000|0\n补锅匠|0x100000|1126\n补过拾遗|0x0000|100\n补过饰非|0x0000|100\n补苴罅漏|0x1000000|100\n补牢顾犬|0x0000|100\n补偏救弊|0x1000000|1273\n补阙灯檠|0x0000|100\n补阙挂漏|0x0000|100\n补阙拾遗|0x1000|100\n补体成分|0x0008|0\n补天浴日|0x1000000|1427\n补天柱地|0x1000000|100\n补贴额|0x100000|2\n补贴费|0x100000|385\n补西墙|0x1000|1012\n补习班|0x100000|23159\n补习学校|0x0008|1\n补血剂|0x100000|1270\n补血药|0x0008|0\n补中益气汤|0x0008|0\n补助费|0x100000|912\n补助金|0x100000|21998\n补助款|0x100000|1092\n哺乳动物|0x800000|844\n哺乳类|0x100000|977\n哺乳期|0x4000|860\n哺乳期妇女|0x100000|458\n哺乳室|0x100000|1257\n哺糟啜醨|0x1000000|100\n哺糟歠醨|0x1000000|100\n捕风弄月|0x1000000|0\n捕风捉影|0x1000000|29089\n捕获量|0x100000|1275\n捕鲸船|0x100000|1112\n捕鼠器|0x100000|1060\n捕蝇纸|0x100000|1383\n捕影系风|0x1000000|0\n不安定因素|0x0000|443\n不安分|0x1000|551\n不安其室|0x0000|100\n不安全|0x0000|629\n不安全因素|0x100000|459\n不安于室|0x1000000|1092\n不安于位|0x1000000|100\n不按君臣|0x1000000|100\n不拔一毛|0x1400000|0\n不拔之志|0x1000000|100\n不白之冤|0x1000000|41188\n不败之地|0x800000|16095\n不包括|0x0000|670\n不饱和|0x0008|1304\n不饱和树脂|0x100000|387\n不卑不亢|0x1000000|29182\n不必要|0x40000000|601\n不辟斧钺|0x0000|100\n不避斧钺|0x1000000|100\n不避艰险|0x1000|1258\n不避水火|0x1000000|100\n不避汤火|0x1000000|100\n不便水土|0x1000000|100\n不变价格|0x800000|882\n不变量|0x0008|0\n不变其文|0x1000000|100\n不变性|0x0008|389\n不变资本|0x0008|732\n不辨菽麦|0x1000000|1421\n不辨菽粟|0x1000000|100\n不辨真伪|0x0000|100\n不辩菽麦|0x1000000|100\n不步人脚|0x1000000|100\n不测风云|0x800000|822\n不测之祸|0x0000|100\n不测之忧|0x1000000|100\n不测之罪|0x1000000|100\n不茶不饭|0x0000|100\n不差毫发|0x1000000|1536\n不差毫厘|0x0000|100\n不差累黍|0x1000000|100\n不差上下|0x0000|100\n不差什么|0x1000|100\n不长一智|0x401000|0\n不超过|0x0000|734\n不臣之心|0x0000|100\n不称职|0x0000|521\n不成比例|0x40000000|487\n不成才|0x0000|53613\n不成材|0x1000|1031\n不成方圆|0x800000|38846\n不成功|0x0000|635\n不成话|0x40000000|32353\n不成器|0x40000000|35173\n不成三瓦|0xc00000|0\n不成熟|0x0008|628\n不成体统|0x1000000|39465\n不成文|0x1000|27590\n不成文法|0x100000|54683\n不成形|0x0000|412\n不诚实|0x0000|487\n不逞之徒|0x1000000|1312\n不吃烟火食|0x0008|100\n不痴不聋|0x1000000|100\n不齿于人|0x800000|100\n不耻下问|0x1000000|41876\n不耻最后|0x0000|100\n不啻天渊|0x0000|100\n不充分|0x0000|542\n不愁没柴烧|0x0008|1214\n不偢不倸|0x1000000|100\n不瞅不睬|0x1000000|1145\n不出所料|0x1000|31011\n不揣冒昧|0x1000000|48635\n不辞而别|0x1000000|27098\n不辞劳苦|0x1000000|928\n不辞辛苦|0x1000000|876\n不辞辛劳|0x800000|907\n不次之迁|0x1000000|100\n不次之位|0x0000|100\n不存不济|0x1000000|100\n不存芥蒂|0x0000|100\n不存在|0x0000|762\n不打不成相识|0x0008|890\n不打不相识|0x1000|897\n不打紧|0x1000|515\n不打自招|0x1000000|41651\n不大不小|0x800000|748\n不大离|0x0000|53614\n不大一样|0x400000|0\n不待蓍龟|0x1000000|100\n不当不正|0x0000|100\n不当人子|0x800000|1361\n不倒翁|0x100000|45213\n不到长城非好汉|0x0008|991\n不到黄河心不死|0x0008|1017\n不道德|0x40000000|743\n不得不|0x1000|1632\n不得不尔|0x0000|100\n不得当|0x0000|411\n不得而知|0x1000000|17738\n不得劲|0x40000000|1024\n不得开交|0x1000000|100\n不得了|0x800000|10966\n不得其死|0x0000|100\n不得其所|0x1000000|1122\n不得人心|0x40000000|947\n不得善终|0x0000|100\n不得体|0x40000000|420\n不得违误|0x0000|100\n不得要领|0x1000000|32354\n不得已|0x800000|7219\n不得已而为之|0x0008|848\n不得已而用之|0x0000|100\n不得志|0x40000000|0\n不登大雅|0x1000000|100\n不登大雅之堂|0x0008|1009\n不等边三角形|0x400000|0\n不等号|0x100000|1217\n不等价交换|0x0008|1109\n不等量|0x1000|0\n不等式|0x100000|50090\n不等于|0x0000|649\n不抵抗|0x0000|450\n不点儿|0x0000|48636\n不调和|0x0000|395\n不定根|0x100000|1222\n不定冠词|0x100000|1126\n不定积分|0x100000|1073\n不定期|0x8000000|690\n不定式|0x100000|982\n不懂装懂|0x1000|832\n不动产|0x100000|20301\n不动声色|0x1000000|13362\n不动摇|0x0000|526\n不冻港|0x100000|53615\n不断发展|0x0000|638\n不断革命|0x0008|0\n不断更新|0x0000|611\n不断加强|0x0000|571\n不断如带|0x1000000|100\n不断提高|0x0000|710\n不断完善|0x0000|621\n不对茬儿|0x1000|1119\n不对称|0x0008|590\n不对劲|0x40000000|653\n不对劲儿|0x0000|21794\n不对头|0x40000000|24219\n不对味儿|0x0000|51725\n不多不少|0x1000000|838\n不恶而严|0x0000|100\n不二法门|0x1400000|47303\n不二价|0x401000|53133\n不发达|0x0000|552\n不发达地区|0x0008|436\n不发达国家|0x0008|28\n不发火|0x0000|395\n不乏其例|0x0000|48637\n不乏其人|0x1000|34152\n不乏先例|0x1000|100\n不法常可|0x0000|100\n不法分子|0x100000|823\n不法古不修今|0x0008|100\n不法之徒|0x100000|27674\n不方便|0x40000000|685\n不妨一试|0x400000|0\n不肥不瘦|0x1000000|1231\n不悱不发|0x0000|100\n不废江河|0x1000000|100\n不费吹灰之力|0x0008|37320\n不费之惠|0x1000000|100\n不分彼此|0x1000000|911\n不分伯仲|0x800000|1018\n不分青白|0x1000000|100\n不分青红皂白|0x0008|877\n不分轩轾|0x1000000|1168\n不分玉石|0x1000000|100\n不分皂白|0x800000|1252\n不分畛域|0x800000|1539\n不愤不启|0x0000|100\n不丰不俭|0x1000000|100\n不丰不杀|0x1000000|100\n不伏烧埋|0x1000000|100\n不孚众望|0x0000|54684\n不扶自直|0x1000000|1318\n不服从|0x0000|516\n不服气|0x40000000|628\n不服水土|0x1000000|1193\n不符合|0x0000|725\n不负责任|0x0000|636\n不负众望|0x800000|27835\n不负重望|0x0000|52626\n不复存在|0x800000|699\n不复堪命|0x1000000|100\n不改其乐|0x800000|1096\n不干不净|0x800000|970\n不干胶|0x100000|49374\n不甘雌伏|0x1000000|100\n不甘后人|0x1000|1240\n不甘寂寞|0x1000000|28900\n不甘落后|0x800000|867\n不甘示弱|0x1000|28992\n不甘心|0x40000000|665\n不尴不尬|0x1000000|48638\n不敢当|0x800000|16650\n不敢高攀|0x0000|100\n不敢告劳|0x800000|100\n不敢苟同|0x800000|850\n不敢后人|0x0000|100\n不敢掠美|0x0000|100\n不敢旁骛|0x800000|100\n不敢问津|0x800000|1107\n不敢相信|0x0000|673\n不敢越雷池一步|0x400008|1\n不敢造次|0x800000|977\n不敢自专|0x0000|100\n不高兴|0x0000|694\n不告而别|0x0008|473\n不根之论|0x0000|100\n不根之谈|0x1000000|100\n不更事|0x0000|44084\n不公平|0x0000|694\n不公正|0x0000|553\n不攻自破|0x1000000|34742\n不共戴天|0x1000000|33615\n不苟言笑|0x1000000|33227\n不够格|0x40000000|463\n不古不今|0x0000|100\n不瞽不聋|0x1000000|100\n不顾大局|0x800000|1135\n不顾前后|0x0000|100\n不顾死活|0x1000|1125\n不顾一切|0x401000|8\n不关紧要|0x1000000|1210\n不关痛痒|0x1000000|1120\n不关心|0x0000|589\n不管不顾|0x1000000|829\n不管部长|0x100000|709\n不管三七|0x400000|0\n不管三七二十一|0x400008|34584\n不管一二|0x400000|100\n不管怎样|0x800000|606\n不光彩|0x0000|514\n不归路|0x0000|41411\n不龟手药|0x0000|100\n不规则|0x40000000|18079\n不规则三角网格|0x400000|0\n不轨之徒|0x100000|1260\n不果断|0x0000|371\n不过尔尔|0x1000000|46105\n不过如此|0x800000|653\n不过是|0x0000|791\n不过意|0x1000|35174\n不害羞|0x40000000|438\n不含糊|0x1000|831\n不寒而栗|0x1000000|24934\n不好过|0x40000000|717\n不好看|0x40000000|625\n不好惹|0x40000000|36606\n不好说|0x1000|20\n不好意思|0x800000|5118\n不合法|0x0000|570\n不合格|0x0000|711\n不合格率|0x100000|429\n不合理|0x40000000|623\n不合逻辑|0x0000|455\n不合时宜|0x1000000|764\n不合适|0x0000|628\n不合算|0x40000000|483\n不合宜|0x0000|387\n不合作|0x0000|502\n不和谐|0x0000|561\n不哼不哈|0x1000000|54148\n不哼一声|0x400000|0\n不护细行|0x1000000|100\n不划算|0x40000000|529\n不怀好意|0x1000|760\n不怀疑|0x0000|510\n不欢而散|0x1000000|30789\n不慌不乱|0x800000|1146\n不慌不忙|0x1000000|774\n不遑枚举|0x1000000|100\n不遑宁处|0x0000|100\n不遑宁息|0x0000|100\n不遑启处|0x0000|100\n不遑暇食|0x1000000|100\n不讳之朝|0x1000000|100\n不讳之路|0x1000000|100\n不讳之门|0x1000000|100\n不惑之年|0x800000|35476\n不饥不寒|0x0000|100\n不羁之才|0x1000000|100\n不羁之民|0x1000000|100\n不及格|0x1000|583\n不及其余|0x800000|708\n不及物动词|0x0008|389\n不及之法|0x100000|100\n不即不离|0x1000000|44616\n不急之务|0x1000000|1269\n不疾不徐|0x0000|100\n不计其数|0x1000000|21099\n不记前仇|0x800000|1318\n不济事|0x1000|39670\n不假思索|0x1000000|21100\n不稼不穑|0x0000|100\n不间不界|0x1000000|100\n不间断|0x40000000|620\n不间断电源|0x0000|467\n不减当年|0x1000000|905\n不简单|0x0000|637\n不见不散|0x1000000|784\n不见得|0x800000|8896\n不见棺材不掉泪|0x0008|1034\n不见棺材不落泪|0x0008|100\n不见棺材不下泪|0x0000|100\n不见经传|0x1000000|51726\n不见了|0x0000|742\n不见人下来|0x800000|1144\n不见森林|0x1000000|777\n不见泰山|0x1000000|795\n不见天日|0x1000000|868\n不见西墙|0x1000000|0\n不见舆薪|0x1000000|0\n不见踪影|0x0000|550\n不健康|0x0000|609\n不骄不躁|0x1000000|1007\n不教而杀|0x800000|1222\n不教而诛|0x1000000|1269\n不教之教|0x800000|1539\n不接受|0x0000|645\n不结盟|0x1000|999\n不结盟国家|0x0008|3\n不结盟运动|0x0008|1718\n不解风情|0x0000|527\n不解之仇|0x0000|100\n不解之缘|0x100000|20757\n不介意|0x1000|648\n不今不古|0x0100|100\n不矜不伐|0x1000000|1330\n不矜细行|0x1000000|1352\n不仅仅|0x8000000|4621\n不仅仅在于|0x0000|430\n不仅如此|0x800000|701\n不紧不慢|0x800000|744\n不谨慎|0x0000|421\n不尽合理|0x800000|976\n不尽然|0x800000|26728\n不尽人意|0x800000|780\n不尽一致|0x400000|4\n不近道理|0x1000000|1322\n不近人情|0x1000000|27184\n不进则退|0x800000|866\n不禁不由|0x1000000|1492\n不经世故|0x0000|100\n不经一事|0x1400000|0\n不经意|0x1000|12433\n不经之说|0x1000000|100\n不经之谈|0x1000000|1315\n不经之语|0x1000000|100\n不精确|0x0000|433\n不景气|0x40000000|11415\n不胫而走|0x1000000|24747\n不揪不采|0x0000|100\n不揪不採|0x1000000|100\n不揪不睬|0x0000|100\n不久前|0x4000|638\n不久以后|0x800000|844\n不咎既往|0x1000000|50871\n不拘泥|0x0000|471\n不拘细节|0x1000000|100\n不拘细行|0x1000000|100\n不拘小节|0x1000000|39244\n不拘形迹|0x1000000|1287\n不拘一格|0x1400000|19014\n不拘一格降人才|0x400000|0\n不绝如带|0x1000000|100\n不绝如发|0x1000000|100\n不绝如缕|0x1000000|42862\n不绝如线|0x1000000|100\n不绝若线|0x1000000|100\n不绝于耳|0x800000|20849\n不觉技痒|0x1000000|100\n不均一性|0x400000|0\n不均匀|0x0000|539\n不开眼|0x0000|39048\n不刊之典|0x0000|100\n不刊之论|0x1000000|1285\n不刊之书|0x0000|100\n不刊之说|0x1000000|100\n不堪回首|0x1000000|27185\n不堪其忧|0x1000000|100\n不堪入耳|0x1000000|944\n不堪入目|0x1000000|33874\n不堪设想|0x1000000|16839\n不堪言状|0x1000000|100\n不堪一击|0x1400000|2\n不堪造就|0x1000000|100\n不堪重负|0x800000|777\n不看僧面看佛面|0x0008|1133\n不亢不卑|0x1000000|1072\n不抗不卑|0x1000000|100\n不科学|0x40000000|543\n不可爱|0x0000|500\n不可避免|0x800000|723\n不可不|0x100000|649\n不可动摇|0x1000000|852\n不可端倪|0x0000|100\n不可多得|0x1000000|728\n不可分|0x0000|580\n不可分割|0x800000|681\n不可告人|0x1000000|23410\n不可估量|0x800000|827\n不可忽视|0x0000|602\n不可或缺|0x800000|11465\n不可教|0x0000|421\n不可教训|0x0000|100\n不可究诘|0x0000|100\n不可救疗|0x1000000|100\n不可救药|0x1000000|28163\n不可开交|0x1000000|22717\n不可抗力|0x800000|32973\n不可靠|0x0000|562\n不可靠性|0x100000|1171\n不可揆度|0x0000|100\n不可理喻|0x1000000|30684\n不可枚举|0x1000000|100\n不可名状|0x1000000|40961\n不可摸捉|0x1000000|100\n不可磨灭|0x1000000|791\n不可奈何|0x1000000|100\n不可能|0x0000|903\n不可能事件|0x100000|642\n不可逆过程|0x0008|0\n不可逆转|0x800000|815\n不可偏废|0x1000000|1043\n不可企及|0x1000000|958\n不可胜道|0x1000000|100\n不可胜计|0x1000000|1120\n不可胜记|0x1000000|1237\n不可胜纪|0x1000000|1258\n不可胜举|0x1000000|100\n不可胜数|0x1000000|37321\n不可胜算|0x1000000|100\n不可胜言|0x1000000|1227\n不可收拾|0x1000000|19213\n不可数|0x0000|436\n不可思议|0x1000000|10251\n不可同日而语|0x0008|30480\n不可限量|0x1000|873\n不可乡迩|0x1000000|100\n不可向迩|0x1000000|1355\n不可信|0x0000|542\n不可言传|0x800000|883\n不可言宣|0x1000000|0\n不可言喻|0x1000000|945\n不可言状|0x1000000|1133\n不可一世|0x1400000|24418\n不可逾越|0x1000000|24877\n不可造次|0x0000|100\n不可知|0x0000|521\n不可知论|0x100000|43373\n不可终日|0x1000000|36107\n不可捉摸|0x1000000|863\n不客气|0x0000|671\n不吭一声|0x400000|0\n不媿下学|0x1000000|100\n不愧不作|0x1000|100\n不愧不怍|0x1000|1535\n不愧为|0x1000|760\n不愧屋漏|0x1000000|100\n不愧下学|0x0000|100\n不来梅|0x0040|1363\n不来往|0x0000|382\n不郎不秀|0x1000000|1497\n不稂不莠|0x1000000|1396\n不劳而成|0x1000000|100\n不劳而获|0x1000000|35941\n不老少|0x0000|53616\n不冷不热|0x800000|805\n不礼貌|0x0000|541\n不理不睬|0x0008|807\n不理解|0x0000|630\n不立文字|0x1000000|1079\n不利因素|0x0000|543\n不利于|0x1000|672\n不连贯|0x0000|460\n不良贷款|0x100000|556\n不良导体|0x100000|941\n不良反应|0x0000|605\n不良情绪|0x100000|470\n不良少年|0x0000|487\n不良信息|0x100000|666\n不良行为|0x0008|529\n不良资产|0x100000|573\n不凉不酸|0x1000000|100\n不了不当|0x1000000|100\n不了而了|0x1000000|100\n不了解|0x0000|715\n不了了之|0x1000000|22307\n不列颠|0x0040|1371\n不劣方头|0x1000000|100\n不磷不缁|0x1000000|100\n不吝赐教|0x1000000|873\n不吝指教|0x1000000|1035\n不吝珠玉|0x0000|100\n不灵敏|0x0000|396\n不流行|0x0000|465\n不留余地|0x1000000|931\n不漏水|0x0000|397\n不露锋芒|0x1000|1156\n不露锋铓|0x1000000|100\n不露圭角|0x1000000|100\n不露神色|0x0000|100\n不露声色|0x1000000|880\n不露形色|0x1000000|100\n不伦不类|0x1000000|22145\n不论是|0x10000000|72\n不落边际|0x1000000|100\n不落窠臼|0x1000000|54149\n不落俗套|0x1000000|914\n不买账|0x800000|909\n不满意|0x0000|706\n不满足|0x0000|587\n不蔓不支|0x1000000|100\n不蔓不枝|0x1000000|54150\n不忙不暴|0x1000000|100\n不毛之地|0x1000000|29396\n不美观|0x40000000|450\n不眠之夜|0x800000|821\n不民主|0x0000|417\n不名一格|0x1400000|0\n不名一钱|0x1400000|0\n不名一文|0xc00000|53134\n不名誉|0x40000000|1100\n不明白|0x0000|800\n不明不白|0x1000000|769\n不明飞行物|0x100000|906\n不明确|0x0000|572\n不明显|0x0000|615\n不明智|0x40000000|515\n不鸣则已|0x800000|956\n不摸头|0x0000|55594\n不谋而合|0x1000000|25687\n不谋而同|0x1000000|1413\n不谋其政|0x800000|1050\n不谋同辞|0x1000000|100\n不牧之地|0x100000|100\n不奈之何|0x1000000|100\n不耐烦|0x40000000|598\n不男不女|0x0000|472\n不挠不屈|0x1000000|100\n不挠不折|0x1000000|100\n不能不|0x8000000|550\n不能超过|0x0000|636\n不能成方圆|0x0008|100\n不能登大雅之堂|0x0000|100\n不能瓦全|0x1000000|0\n不能越雷池一步|0x400000|0\n不能赞一词|0x400000|100\n不能赞一辞|0x400008|0\n不能自拔|0x1000000|23633\n不能自己|0x100000|40735\n不能自已|0x800000|825\n不念旧恶|0x1000000|1120\n不念僧面念佛面|0x0000|100\n不宁唯是|0x1000000|1349\n不努力|0x0000|527\n不怕官|0x0000|100\n不怕苦|0x800000|863\n不怕没柴烧|0x0008|929\n不怕牺牲|0x800000|922\n不偏不党|0x1000000|100\n不偏不倚|0x1000000|27263\n不平等|0x0000|602\n不平等条约|0x100000|893\n不平衡|0x0008|650\n不平则鸣|0x1000000|54151\n不破不立|0x1000000|1003\n不期而会|0x1000000|100\n不期而然|0x1000000|1259\n不期而同|0x1000000|100\n不期而遇|0x1000000|27911\n不期然而然|0x0008|1239\n不期修古|0x1000000|100\n不欺闇室|0x1000000|100\n不欺暗室|0x1000000|1228\n不欺屋漏|0x1000000|100\n不起诉|0x100000|951\n不起眼|0x40000000|14610\n不起作用|0x0000|521\n不弃草昧|0x0000|100\n不恰当地|0x0000|390\n不迁之庙|0x1000000|100\n不强调|0x0000|437\n不切实际|0x800000|656\n不勤而获|0x1000000|100\n不擒二毛|0x400000|100\n不轻然诺|0x0000|100\n不清不楚|0x1000000|877\n不清楚|0x0000|790\n不清洁|0x0000|413\n不情之请|0x1000000|994\n不求甚解|0x1000000|38641\n不求闻达|0x800000|1034\n不求有功|0x800000|952\n不屈不挠|0x1000000|15419\n不确定|0x0000|704\n不确定性|0x100000|725\n不确切|0x40000000|470\n不确实|0x0000|403\n不然的话|0x10000000|766\n不染一尘|0x1400000|0\n不人道|0x40000000|852\n不忍卒读|0x1000000|49375\n不认识|0x0000|738\n不日不月|0x800000|100\n不容分说|0x1000000|37322\n不容忽视|0x800000|711\n不容乐观|0x800000|773\n不容小视|0x800000|931\n不容易|0x0000|775\n不容置辩|0x0000|100\n不容置喙|0x1000000|55950\n不容置疑|0x1000000|21256\n不如薄技在身|0x0008|100\n不如归去|0x100000|961\n不如一鹗|0x1400000|0\n不如一狐之腋|0x400008|0\n不如一士谔谔|0x400008|0\n不如意|0x40000000|625\n不辱使命|0x1000000|20850\n不入虎穴|0x1000000|987\n不入流|0x800000|852\n不入时宜|0x1000000|100\n不塞不流|0x1000000|1262\n不塞下流|0x1000000|100\n不三不四|0x1400000|27675\n不僧不俗|0x1000000|100\n不衫不履|0x1000000|100\n不伤脾胃|0x1000000|100\n不赏之功|0x1000000|1430\n不上不落|0x1000000|100\n不上不下|0x1000000|922\n不上道|0x0040|0\n不少于|0x0000|446\n不舍昼夜|0x100000|898\n不设防|0x0000|515\n不甚了了|0x1000000|37852\n不慎重|0x0000|400\n不生不灭|0x1000|930\n不声不吭|0x1000000|1315\n不声不气|0x1000000|100\n不声不响|0x1000000|805\n不胜杯杓|0x0000|100\n不胜桮杓|0x1000000|100\n不胜酒力|0x800000|915\n不胜枚举|0x1000000|20896\n不胜其烦|0x1000000|46999\n不胜其苦|0x0000|100\n不胜其任|0x1000000|100\n不胜任|0x0000|427\n不省人事|0x1000000|27342\n不失圭撮|0x0000|100\n不失毫厘|0x0000|100\n不失时机|0x800000|814\n不失黍絫|0x1000000|100\n不失为|0x1000|11793\n不时之须|0x1000000|0\n不时之需|0x800000|47932\n不识不知|0x1000000|1258\n不识大体|0x40000000|384\n不识东家|0x1000000|100\n不识高低|0x0000|100\n不识好歹|0x1000000|964\n不识局面|0x1000000|100\n不识庐山真面目|0x800000|911\n不识马肝|0x800000|100\n不识起倒|0x1000000|100\n不识人间有羞耻事|0x0000|100\n不识时变|0x1000000|1268\n不识时务|0x1000000|35325\n不识抬举|0x1000000|38426\n不识泰山|0x1000000|992\n不识一丁|0x1400000|0\n不识之无|0x1000000|100\n不实之词|0x800000|1109\n不食马肝|0x0000|100\n不食人间烟火|0x0000|510\n不食烟火|0x1000000|1132\n不食之地|0x100000|100\n不食周粟|0x1000000|1175\n不世之功|0x1000000|1159\n不世之业|0x100000|100\n不事边幅|0x1000000|100\n不是故意|0x0000|554\n不是味儿|0x40000000|44085\n不是冤家不聚头|0x1000000|930\n不适当|0x0000|528\n不适合|0x0000|716\n不适宜|0x0000|564\n不适应|0x0000|639\n不受欢迎|0x0000|523\n不受欢迎的人|0x0008|378\n不舒服|0x0000|721\n不熟练|0x0000|472\n不熟悉|0x0000|637\n不爽毫发|0x1000000|100\n不爽累黍|0x1000000|100\n不顺利|0x0000|542\n不思悔改|0x800000|1013\n不思进取|0x800000|778\n不死不活|0x1000000|1000\n不死心|0x0000|581\n不速之客|0x1000000|23211\n不随以止|0x0000|100\n不随意肌|0x800000|1343\n不缩水|0x40000000|403\n不太好|0x0000|398\n不贪为宝|0x800000|1252\n不体面|0x0000|426\n不腆之仪|0x0000|100\n不挑之祖|0x0000|100\n不祧之宗|0x1000000|100\n不祧之祖|0x1000000|1541\n不听话|0x0000|589\n不停地|0x0000|477\n不通过|0x0000|537\n不通水火|0x1000|100\n不同步|0x100000|489\n不同层次|0x0000|576\n不同程度上|0x0000|449\n不同戴天|0x1000000|100\n不同点|0x100000|991\n不同凡响|0x1000000|22919\n不同类型|0x0000|622\n不同流俗|0x1000|1226\n不同年龄|0x100000|524\n不同寻常|0x40000000|642\n不同颜色|0x100000|556\n不同一般|0x400000|1\n不同意|0x0000|693\n不同于|0x100000|692\n不同之处|0x0000|580\n不痛不痒|0x1000000|35780\n不透光|0x0000|409\n不透明|0x0000|542\n不透气|0x40000000|442\n不透水|0x0000|405\n不吐不茹|0x1000000|100\n不外乎|0x1000|19842\n不完全|0x0000|699\n不完善|0x0000|604\n不忘沟壑|0x800000|100\n不忘故旧|0x0000|100\n不为牛后|0x800000|1130\n不为人知|0x800000|632\n不为所动|0x800000|758\n不为瓦全|0x800000|941\n不为五斗米折腰|0x400008|0\n不为已甚|0x1000000|49726\n不违农时|0x1000000|1285\n不卫生|0x0000|496\n不畏强暴|0x1000|1022\n不瘟不火|0x0100|1150\n不文不武|0x800000|1340\n不文明|0x0000|552\n不文雅|0x40000000|394\n不闻不问|0x1000000|24683\n不稳定|0x0000|691\n不稳定常数|0x0008|0\n不稳定性|0x100000|894\n不问不闻|0x1000000|1255\n不问青红皂白|0x0008|985\n不问皂白|0x0000|100\n不猧不魀|0x1000000|100\n不无裨益|0x800000|1057\n不无道理|0x800000|749\n不无关系|0x800000|721\n不无小补|0x1000000|55119\n不无遗憾|0x1000000|803\n不舞之鹤|0x1000000|100\n不务空名|0x1000|100\n不务正业|0x1000000|27027\n不惜工本|0x1000|1042\n不惜一切|0x400000|4\n不惜一切代价|0x400000|20\n不惜一战|0x400000|0\n不习地土|0x0000|100\n不习惯|0x0000|652\n不习水土|0x0000|100\n不習水土|0x1000000|100\n不喜欢|0x0000|828\n不下于|0x1000|36263\n不咸不淡|0x1000000|906\n不显山不露水|0x0008|1056\n不现实|0x0000|582\n不相称|0x0000|537\n不相等|0x0000|436\n不相干|0x800000|728\n不相关|0x0000|506\n不相容|0x0000|489\n不相容性|0x0008|1178\n不相上下|0x1000000|23912\n不相适应|0x0000|499\n不相为谋|0x1000000|909\n不相闻问|0x1000|100\n不相问闻|0x0000|100\n不相信|0x0000|757\n不祥之兆|0x800000|990\n不象话|0x0000|504\n不像话|0x40000000|21220\n不消化|0x40000000|396\n不消说|0x1000|18814\n不消一会儿|0x400000|0\n不晓世务|0x1000000|100\n不孝有三|0x400000|0\n不肖子|0x0000|50872\n不肖子孙|0x100000|1091\n不协调|0x40000000|577\n不屑毁誉|0x0000|100\n不屑教诲|0x0000|100\n不屑一顾|0x1400000|19614\n不屑于|0x1000|21657\n不懈努力|0x800000|691\n不信任|0x0000|612\n不信邪|0x0000|35942\n不行了|0x0000|680\n不幸而言中|0x1000000|1163\n不幸福|0x0000|516\n不修边幅|0x1000000|38221\n不修小节|0x1000000|100\n不羞当面|0x0000|100\n不脩边幅|0x1000000|100\n不锈钢|0x100000|16027\n不锈钢板|0x100000|478\n不锈钢材料|0x100000|480\n不锈钢餐具|0x100000|410\n不锈钢产品|0x100000|399\n不锈钢厨具|0x100000|384\n不锈钢阀门|0x100000|380\n不锈钢工程|0x100000|396\n不锈钢管|0x100000|499\n不锈钢价格|0x100000|374\n不锈钢市场|0x100000|444\n不锈钢水箱|0x100000|399\n不锈钢丝|0x100000|450\n不锈钢丝网|0x100000|386\n不锈钢网|0x100000|459\n不锈钢制品|0x100000|512\n不锈钢制品厂|0x100000|427\n不锈钢装饰|0x100000|405\n不虚此行|0x800000|33368\n不需要|0x0000|857\n不徐不疾|0x0000|100\n不许百姓点灯|0x0008|1027\n不许动|0x0000|489\n不恤人言|0x1000|100\n不宣而战|0x1000|50873\n不旋踵|0x0000|100\n不学无识|0x1000000|100\n不学无术|0x1000000|35781\n不徇私情|0x1000|1130\n不亚于|0x1000|15829\n不言不语|0x0100|870\n不言而信|0x0000|100\n不言而谕|0x1000000|1278\n不言而喻|0x1000000|15159\n不言自明|0x1000000|861\n不厌其烦|0x1000000|687\n不厌其繁|0x1000000|100\n不厌其详|0x1000000|1209\n不药而愈|0x0000|393\n不要紧|0x800000|6245\n不要脸|0x40000000|14978\n不夜城|0x100000|813\n不一定|0x8400000|71\n不一而足|0x1400000|23634\n不一会|0x40000000|620\n不一会儿|0x600000|10\n不一枚举|0x400000|0\n不一样|0x400000|160\n不一致|0x400000|633\n不一致性|0x100000|401\n不依不饶|0x800000|797\n不依赖|0x0000|517\n不壹而三|0x1400000|0\n不壹而足|0x1000000|100\n不夷不惠|0x1000000|1539\n不遗寸长|0x0000|100\n不遗巨细|0x1000000|100\n不遗余力|0x1000000|16316\n不以辞害志|0x0000|100\n不以规矩|0x1000000|1136\n不以人废言|0x100000|1217\n不以为耻|0x1000000|992\n不以为奇|0x1000000|1166\n不以为然|0x1000000|9704\n不以为意|0x1000000|29824\n不以一眚掩大德|0x400008|0\n不义之财|0x1000000|26247\n不亦乐乎|0x1000000|20979\n不亦善夫|0x0000|100\n不易一字|0x401000|0\n不易之典|0x100000|100\n不易之论|0x1000000|1344\n不翼而飞|0x1000000|28802\n不因不由|0x1000000|100\n不因人热|0x1000000|1407\n不阴不阳|0x1000000|1063\n不饮盗泉|0x1000000|1220\n不应期|0x100000|1082\n不用说|0x1000|9820\n不由得|0x8000000|6272\n不由分说|0x1000000|21139\n不由自主|0x1000000|9866\n不友好|0x0000|482\n不愉快|0x0000|636\n不虞之誉|0x1000000|100\n不预则废|0x1000000|1023\n不远千里|0x800000|34743\n不远万里|0x800000|878\n不愿意|0x0000|797\n不约而同|0x1000000|10595\n不越雷池|0x800000|100\n不越雷池一步|0x400000|0\n不允许|0x40000000|746\n不孕症|0x100000|42863\n不在乎|0x40000000|501\n不在话下|0x1000000|21746\n不在家|0x0000|608\n不在了|0x0000|582\n不在其位|0x800000|927\n不在少数|0x800000|748\n不在意|0x0000|650\n不赞成|0x0000|576\n不赞同|0x0000|533\n不赞一词|0x1400000|0\n不择生冷|0x1000000|100\n不择手段|0x1000000|18022\n不怎么|0x800000|512\n不怎么样|0x40000000|644\n不粘锅|0x0000|39466\n不战而胜|0x800000|962\n不战自败|0x800000|1187\n不折不扣|0x1000000|12707\n不折不挠|0x1000000|1087\n不真诚|0x0000|406\n不真实|0x0000|593\n不争气|0x40000000|592\n不整洁|0x0000|384\n不整齐|0x0000|459\n不正常|0x0000|681\n不正当|0x0000|622\n不正当竞争|0x100000|806\n不正当手段|0x0000|484\n不正派|0x40000000|372\n不正确|0x0000|644\n不正之风|0x100000|6550\n不支持|0x0000|731\n不知不觉|0x1000000|6387\n不知颠倒|0x1000000|100\n不知丁董|0x1000000|100\n不知薡蕫|0x0000|100\n不知端倪|0x1000|100\n不知凡几|0x1000000|1061\n不知甘苦|0x1000000|100\n不知高低|0x1000000|1202\n不知高下|0x1000000|100\n不知好歹|0x1000000|838\n不知纪极|0x0000|100\n不知进退|0x1000000|1065\n不知就里|0x1000000|46678\n不知觉|0x0000|472\n不知老之将至|0x1000000|1065\n不知利害|0x1000000|1288\n不知名|0x0000|632\n不知其二|0xc00000|0\n不知其可|0x800000|974\n不知其所以然|0x0008|946\n不知起倒|0x1000000|100\n不知寝食|0x1000000|100\n不知轻重|0x1000000|994\n不知情|0x0000|611\n不知去向|0x1000|768\n不知人间有羞耻事|0x0008|100\n不知肉味|0x1000000|997\n不知深浅|0x1000000|974\n不知世务|0x0000|100\n不知死活|0x1000000|45214\n不知所出|0x1000000|1256\n不知所厝|0x1000000|100\n不知所措|0x1000000|11947\n不知所错|0x1000000|1004\n不知所可|0x1000000|100\n不知所言|0x0000|100\n不知所以|0x1000000|833\n不知所云|0x1000000|28523\n不知所终|0x1000000|45510\n不知疼痒|0x1000000|100\n不知天高地厚|0x0008|810\n不知痛痒|0x1000000|100\n不知头脑|0x1000000|100\n不知为不知|0x0008|729\n不知有汉|0x800000|1035\n不知者不罪|0x0000|100\n不知自爱|0x0000|100\n不知自量|0x0000|100\n不知足|0x0000|494\n不直一钱|0x1400000|0\n不直一文|0x1400000|0\n不值得一提|0x400000|420\n不值钱|0x0000|555\n不值一驳|0x400000|1142\n不值一顾|0x400000|0\n不值一看|0x400000|0\n不值一钱|0x1400000|0\n不值一哂|0x400000|0\n不值一提|0xc00000|36264\n不值一文|0x400000|964\n不值一笑|0x1400000|0\n不止不行|0x1000000|100\n不止一次|0x400000|49\n不至于|0x8000000|6366\n不忮不求|0x1000000|1257\n不治之症|0x1000000|31597\n不栉进士|0x100000|1535\n不致于|0x8000000|876\n不置褒贬|0x0000|100\n不置可否|0x1000000|25246\n不置一词|0xc00000|1\n不中用|0x0000|530\n不忠诚|0x0000|416\n不忠实|0x0000|408\n不重要|0x0000|672\n不周延|0x40000000|1236\n不主故常|0x1000000|1355\n不注意|0x0000|629\n不追既往|0x1000000|100\n不着边际|0x1000000|26031\n不着急|0x0000|542\n不着疼热|0x1000000|100\n不自量|0x40000000|42644\n不自量力|0x1000000|38427\n不自满假|0x1000000|100\n不自然|0x0000|598\n不自由|0x0000|510\n不自在|0x0000|622\n不足称道|0x1000000|874\n不足齿数|0x1000000|100\n不足道|0x1000|28993\n不足挂齿|0x1000000|44334\n不足介意|0x1000|100\n不足轻重|0x1000000|100\n不足取|0x1000|36108\n不足为法|0x1000000|1328\n不足为怪|0x800000|30897\n不足为据|0x1000000|1181\n不足为凭|0x1000000|50874\n不足为奇|0x1000000|21051\n不足为外人道|0x0008|959\n不足为训|0x1000000|45816\n不足为意|0x1000000|100\n不足以|0x8000000|629\n不足之处|0x0000|583\n不尊敬|0x0000|445\n不作第二|0x400000|0\n不作第二人想|0x400000|0\n不作声|0x0000|10252\n不作为|0x100000|18323\n不做不休|0x1000000|100\n不做声|0x1000|780\n布被瓦器|0x1000000|100\n布帛菽粟|0x100000|0\n布达拉宫|0x0040|21999\n布达佩斯|0x0040|1445\n布达式|0x100000|0\n布袋除尘器|0x100000|406\n布袋里老鸦|0x0008|100\n布袋戏|0x100000|893\n布尔环|0x100000|0\n布尔津|0x0040|0\n布尔津县|0x0040|1712\n布尔乔亚|0x100000|1634\n布尔什维|0x0080|1253\n布尔什维克|0x100000|25543\n布帆无恙|0x1000000|100\n布颿无恙|0x0000|100\n布告栏|0x100000|885\n布格校正|0x0008|0\n布谷鸟|0x100000|33228\n布鼓雷门|0x1000000|1363\n布基纳法索|0x0040|1688\n布加勒斯|0x0080|1\n布加勒斯特|0x0040|1541\n布拉柴维尔|0x0040|1233\n布拉格|0x0040|1170\n布拉吉|0x100000|1142\n布莱尔|0x0080|1253\n布莱克本|0x0040|1403\n布莱希特|0x0080|0\n布朗宁|0x0080|1156\n布朗运动|0x800000|1058\n布朗族|0x0008|44617\n布雷艇|0x100000|1345\n布雷西亚|0x0080|1538\n布里奇顿|0x0040|1373\n布里渊散射|0x0008|0\n布列塔尼|0x0040|1667\n布隆迪|0x0040|1637\n布鲁诺|0x0080|1472\n布鲁塞尔|0x0040|1338\n布鲁氏菌|0x100000|1190\n布洛赫|0x0080|1154\n布琼布拉|0x0040|1321\n布裙荆钗|0x0000|100\n布儒斯特窗|0x100000|0\n布儒斯特角|0x100000|0\n布什政府|0x100000|569\n布什总统|0x100000|560\n布天盖地|0x1000000|100\n布拖县|0x0040|1188\n布袜青鞋|0x0000|100\n布纹纸|0x100000|1189\n布衣粝食|0x0000|100\n布衣黔首|0x1000000|100\n布衣蔬食|0x1000000|1280\n布衣韦带|0x1000000|100\n布衣之交|0x1000000|100\n布依族|0x0008|30024\n布宜诺斯|0x0000|481\n布宜诺斯艾利斯|0x0040|1454\n步兵队|0x100000|0\n步兵师|0x100000|985\n步兵团|0x100000|1019\n步步登高|0x800000|1077\n步步高|0x0020|1200\n步步高升|0x800000|870\n步步进逼|0x800000|2\n步步莲花|0x1000000|100\n步步生莲花|0x0000|100\n步步为营|0x1000000|37136\n步调一致|0xc00000|13\n步斗踏罡|0x0000|100\n步罡踏斗|0x1000000|1317\n步话机|0x100000|43602\n步履艰难|0x800000|966\n步履蹒跚|0x800000|839\n步履维艰|0x800000|31013\n步枪团|0x100000|2\n步人后尘|0x1000000|53617\n步线行针|0x1000|100\n步行街|0x100000|19579\n步行者|0x100000|813\n步行者队|0x100000|452\n步雪履穿|0x0000|100\n步月登云|0x0000|100\n部颁标准|0x0008|0\n部长级|0x100000|887\n部队长|0x100000|1140\n部分内容|0x100000|666\n部门规章|0x100000|895\n部门经理|0x0000|574\n簿记师|0x100000|0\n簿记员|0x100000|1246\n擦边球|0x100000|33488\n擦窗机|0x0008|0\n擦黑儿|0x4000|35943\n擦肩而过|0x800000|21699\n擦皮鞋|0x0000|467\n擦屁股|0x800000|39049\n擦拳磨掌|0x1000000|100\n擦拳抹掌|0x0000|100\n擦身而过|0x800000|675\n擦鞋童|0x100000|1227\n擦掌磨拳|0x1000000|100\n擦脂抹粉|0x1000000|1283\n礤床儿|0x100000|0\n猜猜猜|0x100000|0\n猜猜看|0x0000|506\n猜枚行令|0x0000|100\n猜谜儿|0x1000|1535\n猜拳行令|0x800000|1149\n才蔽识浅|0x0000|100\n才薄智浅|0x0000|100\n才大难用|0x0000|100\n才大如海|0x0000|100\n才旦卓玛|0x0080|1120\n才德兼备|0x1000000|1172\n才短气粗|0x0000|100\n才短思涩|0x0000|100\n才多识寡|0x0000|100\n才高八斗|0xc00000|48639\n才高七步|0x1400000|0\n才高气清|0x1000000|100\n才高识远|0x0000|100\n才高行厚|0x0000|100\n才高行洁|0x1000000|100\n才高意广|0x1000000|100\n才高运蹇|0x0000|100\n才贯二酉|0x400000|100\n才广妨身|0x0000|100\n才过屈宋|0x0000|100\n才华超众|0x0000|100\n才华盖世|0x0000|100\n才华横溢|0x1000000|744\n才兼文武|0x0000|100\n才尽其用|0x1000000|1100\n才夸八斗|0x400000|100\n才貌兼全|0x0000|100\n才貌俱全|0x0000|100\n才貌两全|0x0000|100\n才貌双绝|0x0000|100\n才貌双全|0x1000000|847\n才墨之薮|0x1000000|100\n才气过人|0x800000|1171\n才气十足|0x400000|0\n才气无双|0x0000|100\n才轻德薄|0x0000|100\n才识过人|0x0000|100\n才疏德薄|0x0000|100\n才疏计拙|0x0000|100\n才疏学浅|0x1000000|47000\n才疏意广|0x1000000|100\n才疏志大|0x1000000|100\n才思敏捷|0x1000000|954\n才望高雅|0x1000000|100\n才秀人微|0x0000|100\n才学兼优|0x0000|100\n才艺班|0x0008|0\n才占八斗|0x400000|100\n才子佳人|0x800000|29397\n材薄质衰|0x1000000|100\n材大难用|0x800000|100\n材德兼备|0x0000|100\n材高知深|0x1000000|100\n材积表|0x100000|1249\n材剧志大|0x1000000|100\n材料厂|0x100000|638\n材料费|0x100000|922\n材料价格|0x100000|460\n材料科|0x100000|1128\n材料科学|0x100000|822\n材料力学|0x0008|936\n材料有限公司|0x100000|642\n材茂行洁|0x0000|100\n材茂行絜|0x1000000|100\n材能兼备|0x0000|100\n材轻德薄|0x1000000|100\n材士练兵|0x1000000|100\n材疏志大|0x1000000|100\n材雄德茂|0x1000000|100\n材朽行秽|0x1000000|100\n材优干济|0x0000|100\n材质库|0x100000|367\n财不露白|0x0000|100\n财产保险|0x0008|554\n财产法|0x100000|1100\n财产关系|0x0008|2\n财产继承|0x0008|2\n财产纠纷|0x100000|388\n财产来源|0x100000|463\n财产目录|0x0008|0\n财产清查|0x0008|0\n财产权|0x100000|16682\n财产税|0x100000|1039\n财产损失|0x0000|549\n财大气粗|0x800000|26314\n财殚力竭|0x1000000|100\n财殚力尽|0x1000000|100\n财殚力痡|0x0000|100\n财会人员|0x0008|479\n财竭力尽|0x1000000|100\n财经报道|0x100000|449\n财经大学|0x100000|619\n财经纪律|0x100000|4\n财经界|0x100000|413\n财经类|0x100000|506\n财经论文|0x100000|414\n财经频道|0x100000|530\n财经新闻|0x100000|542\n财经学院|0x100000|526\n财经证券|0x100000|459\n财经政法大学|0x100000|489\n财匮力绌|0x1000000|100\n财贸科|0x100000|0\n财迷心窍|0x1000000|51727\n财神老爷|0x100000|1064\n财神爷|0x100000|27764\n财税界|0x100000|0\n财税字|0x100000|442\n财团法人|0x100000|889\n财务报表|0x0008|592\n财务报告|0x100000|581\n财务部|0x100000|565\n财务部门|0x100000|510\n财务处|0x100000|1379\n财务费用|0x0000|520\n财务顾问|0x100000|507\n财务管理|0x0008|595\n财务会计|0x100000|648\n财务计划|0x0008|0\n财务监督|0x0008|1000\n财务检查|0x0008|3\n财务经理|0x100000|499\n财务决算|0x100000|491\n财务科|0x100000|1371\n财务人员|0x0000|542\n财务软件|0x100000|605\n财务室|0x100000|957\n财务收支|0x0000|511\n财务数据|0x100000|543\n财务危机|0x100000|446\n财务预算|0x0000|502\n财务指标|0x100000|580\n财务制度|0x0008|514\n财务主管|0x100000|477\n财务状况|0x100000|580\n财务咨询|0x100000|468\n财务总监|0x100000|549\n财运亨通|0x1000000|946\n财政补贴|0x0000|499\n财政部|0x100000|1032\n财政部长|0x100000|713\n财政部门|0x100000|836\n财政赤字|0x0008|907\n财政法|0x100000|1088\n财政寡头|0x0008|1270\n财政管理|0x0008|28\n财政监督|0x0008|3\n财政金融|0x0008|842\n财政局|0x100000|1115\n财政困难|0x0000|467\n财政收入|0x0008|629\n财政收支|0x100000|930\n财政所|0x100000|1342\n财政厅|0x100000|1291\n财政投入|0x100000|487\n财政危机|0x100000|978\n财政学|0x100000|891\n财政预算|0x0000|566\n财政政策|0x0008|826\n财政支出|0x0008|554\n财政资本|0x0008|1251\n财政资金|0x0008|523\n裁长补短|0x0000|100\n裁定书|0x100000|936\n裁缝店|0x100000|990\n裁缝师|0x0000|410\n裁红点翠|0x0000|100\n裁决书|0x100000|1008\n裁判长|0x100000|35782\n裁判官|0x100000|1101\n裁判权|0x100000|1101\n裁判员|0x100000|12462\n裁切机|0x100000|371\n裁心镂舌|0x0000|100\n裁月镂云|0x0000|100\n裁云剪水|0x0000|100\n裁纸刀|0x100000|405\n采茶戏|0x100000|47001\n采出程度|0x0008|0\n采椽不斫|0x0000|100\n采访部|0x100000|1055\n采风问俗|0x1000000|100\n采葑采菲|0x1000000|100\n采凤随鸦|0x1000000|0\n采购供应站|0x0000|405\n采购团|0x0008|1037\n采购员|0x100000|30141\n采购站|0x0008|1030\n采光罩|0x0000|388\n采及葑菲|0x800000|100\n采空区|0x100000|1092\n采矿工|0x0008|0\n采矿工程|0x0008|1014\n采矿业|0x100000|953\n采兰赠芍|0x1000000|100\n采兰赠药|0x1000000|100\n采莲船|0x100000|1271\n采暖费|0x100000|439\n采暖炉|0x100000|381\n采暖设备|0x100000|384\n采暖系统|0x100000|440\n采取措施|0x0000|646\n采取多种形式|0x0000|498\n采石场|0x100000|887\n采薪之患|0x1000000|100\n采薪之疾|0x1000000|100\n采薪之忧|0x1000000|1346\n采样率|0x0000|487\n采样系统|0x0008|0\n采油强度|0x0008|0\n彩笔生花|0x0000|100\n彩电价格|0x100000|408\n彩电业|0x100000|475\n彩凤随鸦|0x1000000|100\n彩钢板|0x100000|462\n彩虹六号|0x400000|941\n彩虹桥|0x100000|913\n彩墨画|0x0000|49376\n彩牌楼|0x0000|55122\n彩票工具|0x100000|504\n彩票论坛|0x100000|467\n彩票软件|0x100000|541\n彩色玻璃|0x100000|430\n彩色打印机|0x0008|429\n彩色电视|0x4000000|839\n彩色电视机|0x0000|488\n彩色电影|0x0008|0\n彩色动画|0x100000|425\n彩色钢板|0x100000|374\n彩色合成|0x0008|1\n彩色激光打印机|0x100000|486\n彩色监视器|0x100000|386\n彩色喷墨打印机|0x100000|449\n彩色片|0x100000|52631\n彩色图片|0x100000|441\n彩色显示器|0x0000|430\n彩色钥匙|0x100000|409\n彩色纸|0x100000|395\n彩陶文化|0x100000|985\n彩霞满天|0x100000|927\n彩信网|0x100000|459\n彩衣娱亲|0x1000000|1168\n彩印包装|0x100000|434\n彩云易散|0x1000000|1112\n彩云追月|0x100000|890\n踩高跷|0x100000|40525\n踩油门|0x0000|507\n菜帮子|0x0000|48641\n菜单栏|0x100000|528\n菜墩子|0x0000|54152\n菜粉蝶|0x0008|1264\n菜根谭|0x0008|1453\n菜篮子|0x100000|12416\n菜篮子工程|0x0000|43126\n菜码儿|0x100000|0\n菜青虫|0x100000|990\n菜市场|0x100000|19941\n菜市口|0x0040|1520\n菜蔬之色|0x0000|100\n菜团子|0x0000|46111\n菜园子|0x100000|953\n菜籽油|0x100000|954\n菜子油|0x100000|1147\n参比电极|0x0008|0\n参变量|0x100000|1225\n参差不齐|0x1000000|19047\n参差不一|0xc00000|0\n参差错落|0x1000000|1112\n参辰卯酉|0x1000000|100\n参辰日月|0x1000000|100\n参观团|0x100000|31827\n参观者|0x100000|815\n参横斗转|0x800000|100\n参回斗转|0x1000000|100\n参加国|0x100000|1086\n参加人|0x0008|1632\n参加者|0x100000|805\n参考答案|0x0000|600\n参考价格|0x100000|631\n参考手册|0x0000|499\n参考书|0x100000|25611\n参考书目|0x100000|797\n参考文献|0x100000|653\n参考系|0x100000|1121\n参考消息|0x100000|846\n参考值|0x100000|968\n参考资料|0x0008|684\n参量放大器|0x0008|0\n参谋部|0x100000|37137\n参谋长|0x100000|6757\n参前倚衡|0x1000000|100\n参赛选手|0x100000|805\n参赛者|0x100000|809\n参商之虞|0x0000|100\n参数表|0x100000|485\n参数估计|0x0008|0\n参数设置|0x0000|550\n参天大树|0x100000|855\n参天贰地|0x1000000|100\n参天两地|0x1000000|1383\n参透机关|0x0000|100\n参伍错综|0x1000000|100\n参伍错纵|0x0000|100\n参议会|0x100000|42866\n参议员|0x100000|13930\n参议院|0x100000|840\n参与感|0x100000|1016\n参与者|0x100000|703\n参与制|0x0008|3\n参展商|0x100000|801\n参战国|0x100000|1118\n参照物|0x100000|37138\n参照系|0x100000|27997\n参政党|0x100000|1115\n参政议政|0x800000|847\n骖风驷霞|0x1000000|100\n骖鸾驭鹤|0x1000000|100\n餐风露宿|0x800000|1098\n餐风沐雨|0x1000000|100\n餐风啮雪|0x1000000|100\n餐风茹雪|0x1000000|100\n餐风宿草|0x1000000|100\n餐风宿露|0x800000|1222\n餐风宿水|0x1000000|100\n餐风宿雨|0x1000000|100\n餐风咽露|0x1000000|100\n餐风饮露|0x1000000|1133\n餐巾纸|0x100000|32478\n餐具柜|0x100000|1272\n餐葩饮露|0x1000000|100\n餐松啖柏|0x1000000|100\n餐松饮涧|0x1000000|100\n餐霞漱瀣|0x1000000|100\n餐霞吸露|0x1000000|100\n餐霞饮景|0x1000000|100\n餐霞饮瀣|0x1000000|100\n餐霞饮液|0x1000000|100\n餐腥啄腐|0x1000000|100\n餐饮部|0x100000|1429\n餐饮店|0x100000|472\n餐饮公司|0x100000|408\n餐饮企业|0x100000|517\n餐饮行业|0x100000|484\n餐饮业|0x100000|13351\n餐云卧石|0x1000000|100\n餐桌椅|0x100000|435\n残奥会|0x0000|33876\n残暴不仁|0x0000|100\n残杯冷炙|0x1000000|100\n残编断简|0x1000000|1337\n残编裂简|0x1000000|100\n残兵败将|0x1000000|48643\n残茶剩饭|0x100000|100\n残次品|0x0000|54691\n残存者|0x0008|0\n残废人|0x100000|1137\n残膏剩馥|0x1000000|100\n残羹冷饭|0x800000|1263\n残羹冷炙|0x1000000|1029\n残羹剩饭|0x800000|1056\n残圭断璧|0x0000|100\n残花败柳|0x1000000|995\n残积土|0x100000|0\n残疾车|0x0000|53621\n残疾儿童|0x100000|484\n残疾人|0x100000|3323\n残疾人联合会|0x0000|479\n残疾人用品|0x100000|369\n残军败将|0x0000|100\n残酷无情|0x800000|702\n残留物|0x100000|928\n残民害理|0x800000|100\n残民害物|0x0000|100\n残民以逞|0x0000|100\n残年暮景|0x0000|100\n残年余力|0x0000|100\n残篇断简|0x1000000|1384\n残缺不全|0x800000|762\n残山剩水|0x1000000|1205\n残汤剩饭|0x0000|100\n残余物|0x0008|1097\n残垣断壁|0x800000|38223\n残运会|0x0000|27187\n残渣余孽|0x1000000|51731\n残章断简|0x0000|100\n蚕宝宝|0x100000|973\n蚕丛鸟道|0x0000|100\n蚕豆病|0x0008|0\n蚕豆象|0x0008|0\n蚕绩蟹匡|0x0000|100\n蚕食鲸吞|0x1000000|1105\n蚕丝被|0x0008|455\n蚕头燕尾|0x0000|100\n惭凫企鹤|0x1000000|100\n惨不忍睹|0x1000000|23212\n惨不忍闻|0x1000000|1220\n惨不忍言|0x1000000|100\n惨淡经营|0x1000000|33086\n惨澹经营|0x1000000|1294\n惨叫声|0x100000|808\n惨绝人寰|0x1000000|35630\n惨绿愁红|0x1000000|1324\n惨绿年华|0x1000000|100\n惨绿少年|0x1000000|1152\n惨然不乐|0x0000|100\n惨无人道|0x1000000|32597\n惨无人理|0x1000000|100\n惨无天日|0x1000000|100\n惨雨酸风|0x1000000|100\n灿烂辉煌|0x1000000|907\n灿然一新|0xc00000|0\n灿若繁星|0x800000|1160\n灿若群星|0x800000|1173\n粲花之论|0x0000|100\n粲然可观|0x800000|1540\n粲然一笑|0x400000|0\n仓储超市|0x0000|55598\n仓皇出逃|0x0000|100\n仓皇失措|0x800000|1119\n仓皇无措|0x0000|100\n仓库货架|0x100000|381\n仓库业|0x100000|0\n仓木麻衣|0x0080|0\n仓田保昭|0x0080|0\n仓卒之际|0x0000|100\n仓卒主人|0x0000|100\n沧海横流|0x1000000|43377\n沧海桑田|0x1000000|31014\n沧海一鳞|0x1400000|0\n沧海一粟|0x1400000|45515\n沧海遗珠|0x1000000|1090\n沧浪老人|0x1000000|100\n沧源佤族自治县|0x0040|1146\n沧州市|0x0040|1222\n苍白球|0x0008|1310\n苍白无力|0x800000|741\n苍翠欲滴|0x1000000|1057\n苍耳子|0x100000|1092\n苍狗白衣|0x0000|100\n苍狗白云|0x0000|100\n苍黄翻复|0x0000|100\n苍黄翻覆|0x0000|100\n苍黄反复|0x0000|100\n苍南县|0x0040|1222\n苍髯如戟|0x0000|100\n苍山县|0x0040|1606\n苍生涂炭|0x1000000|100\n苍松翠柏|0x800000|1003\n苍梧县|0x0040|1552\n苍溪县|0x0040|1045\n苍颜白发|0x0000|100\n苍蝇见血|0x0000|100\n苍蝇拍|0x100000|1019\n藏边二丑|0x400000|0\n藏边三丑|0x400000|0\n藏边四丑|0x400000|0\n藏边五丑|0x400000|0\n藏锋敛锷|0x0000|100\n藏锋敛锐|0x0000|100\n藏锋敛颖|0x0000|100\n藏弓烹狗|0x0000|100\n藏垢纳污|0x1000000|1253\n藏红花|0x100000|49322\n藏经阁|0x100000|790\n藏龙卧虎|0x1000000|42144\n藏猫儿|0x1000|0\n藏怒宿怨|0x800000|100\n藏起来|0x0000|577\n藏器待时|0x800000|100\n藏巧于拙|0x800000|100\n藏青色|0x100000|911\n藏书库|0x100000|1220\n藏书量|0x100000|1080\n藏书楼|0x100000|757\n藏书票|0x0000|38643\n藏书室|0x100000|1119\n藏头亢脑|0x0000|100\n藏头露尾|0x1000000|47614\n藏污纳垢|0x1000000|40095\n藏形匿影|0x0000|100\n藏语系|0x100000|1226\n藏之名山|0x800000|1188\n藏诸名山|0x0000|100\n藏踪蹑迹|0x0000|100\n藏族人|0x100000|956\n操刀必割|0x1000000|100\n操刀伤锦|0x1000000|100\n操刀制锦|0x1000000|100\n操斧伐柯|0x1000000|100\n操戈入室|0x1000000|100\n操戈同室|0x1000000|100\n操觚染翰|0x1000000|100\n操翰成章|0x0000|100\n操检合一|0x400000|0\n操矛入室|0x1000000|100\n操奇计赢|0x1000000|100\n操奇逐赢|0x1000000|100\n操揉磨治|0x1000000|100\n操身行世|0x1000000|100\n操心费|0x100000|0\n操赢致奇|0x1000000|100\n操之过蹙|0x1000000|100\n操之过激|0x1000000|100\n操之过急|0x1000000|29500\n操之过切|0x1000000|100\n操纵杆|0x100000|964\n操纵基因|0x0008|0\n操纵台|0x100000|1186\n操纵性|0x0008|1031\n操纵员|0x100000|1252\n操纵者|0x100000|939\n操纵子|0x0008|0\n操纵自如|0x800000|1177\n操作法|0x100000|1039\n操作方法|0x0000|583\n操作工|0x100000|861\n操作规程|0x100000|569\n操作过程|0x0000|549\n操作技能|0x0000|526\n操作实务|0x100000|510\n操作手|0x100000|1102\n操作手册|0x100000|811\n操作台|0x100000|934\n操作系统|0x800000|493\n操作性|0x100000|688\n操作员|0x100000|798\n操作者|0x100000|863\n糙米饭|0x100000|1091\n曹操就到|0x1000000|914\n曹社之谋|0x0000|100\n嘈嘈切切|0x0100|1044\n嘈杂声|0x0000|481\n草本植物|0x800000|872\n草标儿|0x100000|0\n草草了事|0x800000|926\n草草率率|0x0100|1327\n草草收兵|0x800000|1191\n草草收场|0x800000|911\n草长莺飞|0x1000000|882\n草船借箭|0x800000|950\n草创未就|0x800000|100\n草底儿|0x0000|51288\n草地螟|0x0008|0\n草甸子|0x100000|1166\n草垫子|0x100000|47004\n草豆蔻|0x0008|1245\n草腹菜肠|0x0000|100\n草红藤|0x100000|0\n草间求活|0x800000|100\n草菅人命|0x1000000|43838\n草芥人命|0x0000|100\n草料场|0x100000|1168\n草庐三顾|0x400000|100\n草履虫|0x100000|1063\n草率从事|0x0000|100\n草率将事|0x0000|100\n草率收兵|0x800000|100\n草绿色|0x100000|924\n草满囹圄|0x1000|100\n草莽英雄|0x100000|45819\n草靡风行|0x0000|100\n草木灰|0x100000|42388\n草木皆兵|0x1000000|38225\n草木俱朽|0x0000|100\n草木萧疏|0x0000|100\n草木愚夫|0x0000|100\n草木知威|0x800000|100\n草坪灯|0x100000|487\n草坪植物|0x0008|0\n草裙舞|0x100000|996\n草蛇灰线|0x0000|100\n草酸盐|0x100000|1181\n草台班子|0x100000|47305\n草薙柴舟|0x0080|0\n草薙禽狝|0x0000|100\n草头天子|0x0000|100\n草头王|0x0000|50880\n草酰乙酸|0x100000|1361\n草行露宿|0x800000|100\n草血竭|0x100000|1534\n草偃风从|0x0000|100\n草偃风行|0x0000|100\n草衣木食|0x0000|100\n草原法|0x100000|378\n草字头|0x100000|50096\n册亨县|0x0040|1142\n侧柏叶|0x0008|0\n侧面采光|0x0008|0\n侧面图|0x100000|1135\n侧面性|0x100000|0\n侧目而视|0x800000|45517\n侧视图|0x100000|818\n侧向运移|0x0008|0\n侧重点|0x100000|27189\n侧足而立|0x800000|100\n厕身其间|0x800000|100\n厕足其间|0x0000|100\n恻怛之心|0x0000|100\n恻隐之心|0x800000|29717\n测电笔|0x0008|1064\n测定法|0x0008|450\n测度论|0x0008|0\n测高仪|0x100000|1043\n测功机|0x100000|370\n测厚仪|0x100000|543\n测谎仪|0x0000|51733\n测绘兵|0x100000|1385\n测绘局|0x100000|911\n测绘学|0x100000|1177\n测距器|0x0008|1278\n测距仪|0x0008|1402\n测力计|0x0008|1091\n测力器|0x100000|1327\n测量方法|0x0008|488\n测量计|0x0008|1196\n测量器|0x0000|392\n测量师|0x100000|411\n测量误差|0x0008|0\n测量学|0x0008|969\n测量仪|0x0008|1285\n测量员|0x100000|1011\n测平器|0x100000|0\n测声器|0x100000|0\n测试报告|0x100000|531\n测试数据|0x0000|498\n测试仪|0x100000|691\n测试中心|0x100000|514\n测速雷达|0x0008|0\n测速器|0x100000|471\n测微计|0x0008|0\n测位器|0x100000|0\n测温器|0x100000|0\n测压管|0x100000|1350\n测压面|0x100000|0\n测音器|0x100000|0\n测云仪|0x100000|0\n测震仪|0x100000|0\n策动心理学|0x0008|0\n策划人|0x100000|804\n策划者|0x100000|896\n策勒县|0x0040|1209\n策略性|0x100000|865\n策马飞舆|0x0000|100\n策名就列|0x0000|100\n策名委质|0x0000|100\n策驽砺钝|0x0000|100\n策顽磨钝|0x0000|100\n策无遗算|0x0000|100\n策源地|0x100000|34915\n岑巩县|0x0040|1124\n岑楼齐末|0x0000|100\n岑溪市|0x0040|1462\n层层叠叠|0x0100|804\n层出不穷|0x1000000|11543\n层出迭见|0x0000|100\n层出叠见|0x800000|1304\n层次感|0x100000|530\n层见错出|0x1000000|100\n层见迭出|0x1000000|100\n层见叠出|0x1000000|1344\n层峦迭嶂|0x1000000|1225\n层峦叠翠|0x800000|1101\n层峦叠嶂|0x1000000|41190\n层台累榭|0x0000|100\n层析仪|0x100000|0\n层压板|0x0008|1083\n层状油气藏|0x0008|0\n叉车配件|0x100000|389\n插班生|0x100000|50100\n插齿机|0x100000|1110\n插翅难飞|0x1000000|54154\n插翅难逃|0x800000|1102\n插队落户|0x800000|1058\n插架万轴|0x0000|100\n插件包|0x100000|408\n插科打诨|0x1000000|43608\n插科使砌|0x1000000|100\n插圈弄套|0x1000000|100\n插入损耗|0x0008|0\n插秧机|0x100000|45820\n插一杠子|0x400000|53624\n查尔顿|0x0080|1267\n查号台|0x100000|52639\n查拉斯图拉|0x0080|0\n查理二世|0x400080|0\n查理三世|0x400080|0\n查理四世|0x400080|0\n查理五世|0x400080|0\n查理一世|0x400080|0\n查田运动|0x0008|0\n查无实据|0x1000000|1130\n查询留言|0x100000|489\n查询台|0x100000|996\n查准率|0x100000|1231\n查字典|0x0000|489\n茶博士|0x100000|1082\n茶餐厅|0x100000|514\n茶橙瘿螨|0x0008|0\n茶二叉蚜|0x400008|0\n茶饭不思|0x800000|891\n茶饭无心|0x0000|100\n茶缸子|0x100000|1211\n茶褐色|0x100000|54698\n茶花女|0x100000|891\n茶话会|0x100000|16683\n茶会服|0x100000|0\n茶鸡蛋|0x100000|1087\n茶陵县|0x0040|1038\n茶楼酒肆|0x100000|1127\n茶卤儿|0x100000|0\n茶文化|0x100000|532\n茶叶蛋|0x100000|39052\n茶叶罐|0x0008|938\n茶叶末|0x100000|1150\n茶艺馆|0x100000|490\n茶饮料|0x100000|505\n茶余饭饱|0x0000|100\n茶余饭后|0x1000000|28902\n茶余酒后|0x1000000|1278\n搽脂抹粉|0x1000000|1352\n察布查尔锡伯自治县|0x0040|1199\n察察而明|0x0000|100\n察察为明|0x1000000|1334\n察哈尔|0x0008|1547\n察哈尔省|0x0040|1180\n察哈尔右翼后旗|0x0040|1245\n察哈尔右翼前旗|0x0040|1205\n察哈尔右翼中旗|0x0040|1240\n察己知人|0x0000|100\n察见渊鱼|0x800000|1375\n察今知古|0x0000|100\n察雅县|0x0040|1170\n察言观色|0x1000000|36432\n察言观行|0x1000000|100\n察颜观色|0x1000000|44340\n察隅县|0x0040|1161\n岔道儿|0x100000|0\n姹紫嫣红|0x1000000|28803\n差不多|0x800000|2735\n差不离|0x1000|38060\n差错率|0x100000|1077\n差得远|0x40000000|887\n差等生|0x0000|55912\n差点儿|0x8000000|21942\n差额选举|0x800000|1088\n差分放大器|0x0008|1116\n差分器|0x100000|0\n差价款|0x100000|1204\n差旅费|0x100000|30581\n差强人意|0x1000000|38226\n差热分析|0x0008|0\n差三错四|0x1400000|0\n差速器|0x100000|962\n差向异构|0x0008|0\n差一点|0x8400000|13\n差一点儿|0x8400000|1\n差以毫厘|0x800000|100\n差以千里|0x800000|0\n差异性|0x100000|810\n差之毫厘|0x800000|963\n差之千里|0x1000000|986\n拆白道字|0x0000|100\n拆船业|0x100000|0\n拆东补西|0x1000000|1287\n拆东墙|0x800000|1039\n拆东墙补西墙|0x0008|1046\n拆牌道字|0x0000|100\n拆迁户|0x100000|23526\n拆墙脚|0x1000|1497\n拆西补东|0x0000|100\n拆装机|0x100000|394\n钗横鬓乱|0x1000000|1243\n钗荆裙布|0x1000000|100\n柴达木|0x0040|1549\n柴达木河|0x0040|1519\n柴达木盆地|0x0040|1666\n柴毁骨立|0x1000000|100\n柴毁灭性|0x0000|100\n柴科夫斯基|0x0080|1525\n柴可夫斯|0x0080|1355\n柴可夫斯基|0x0080|1445\n柴立不阿|0x1000000|100\n柴米夫妻|0x1000000|1121\n柴米油盐|0x800000|26729\n柴米油盐酱醋茶|0x0008|933\n柴天改物|0x1000000|100\n柴天改玉|0x1000000|100\n柴油车|0x100000|917\n柴油发动机|0x100000|499\n柴油机|0x100000|19158\n柴油机配件|0x100000|372\n柴油机油|0x100000|378\n豺狐之心|0x0000|100\n豺虎肆虐|0x0000|100\n豺狼成性|0x800000|1368\n豺狼当道|0x1000000|1120\n豺狼当路|0x1000000|100\n豺狼当涂|0x0000|100\n豺狼横道|0x1000000|100\n豺狼虎豹|0x800000|1043\n豺狼野心|0x0000|100\n豺狼之吻|0x800000|100\n掺沙子|0x0000|55599\n掺杂使假|0x800000|1130\n搀前落后|0x1000000|100\n搀行夺市|0x1000000|100\n谗口铄金|0x1000000|100\n谗言佞语|0x0000|100\n禅世雕龙|0x1000000|100\n禅絮沾泥|0x1000000|100\n馋涎欲滴|0x1000000|42146\n缠缠绵绵|0x0100|740\n缠夹不清|0x0000|100\n缠绵床褥|0x0000|100\n缠绵悱恻|0x1000000|43840\n缠绵蕴藉|0x0000|100\n缠绕茎|0x100000|1541\n蝉不知雪|0x800000|100\n蝉喘雷干|0x0000|100\n蝉腹龟肠|0x800000|100\n蝉翼为重|0x800000|100\n潺潺流水|0x1000000|796\n蟾宫折桂|0x1000000|1144\n产成品|0x0000|41415\n产出率|0x100000|1042\n产供销|0x100000|28445\n产粮区|0x100000|1175\n产卵场|0x100000|1257\n产卵洄游|0x0008|0\n产卵器|0x0008|0\n产品包装|0x100000|578\n产品包装设计|0x100000|406\n产品报价|0x100000|620\n产品编号|0x100000|664\n产品策划|0x100000|410\n产品出口|0x100000|614\n产品代理|0x100000|522\n产品更新换代|0x0000|424\n产品规格|0x100000|723\n产品价格|0x100000|696\n产品检验|0x100000|876\n产品简介|0x100000|657\n产品结构|0x0000|601\n产品库|0x100000|684\n产品类别|0x100000|672\n产品描述|0x100000|636\n产品名称|0x100000|766\n产品目录|0x100000|652\n产品品质|0x100000|551\n产品认证|0x0008|724\n产品设计|0x100000|626\n产品世界|0x100000|499\n产品数量|0x0000|654\n产品税|0x100000|1169\n产品说明书|0x100000|568\n产品图片|0x100000|642\n产品推介|0x100000|940\n产品外观设计|0x100000|389\n产品线|0x100000|608\n产品信息|0x100000|741\n产品型号|0x100000|692\n产品质量|0x100000|516\n产品质量问题|0x100000|442\n产品资料|0x100000|560\n产品组合|0x100000|492\n产气肠杆菌|0x0008|0\n产前诊断|0x100000|1045\n产权交易|0x100000|555\n产权酒店|0x100000|399\n产权局|0x100000|556\n产权证|0x100000|843\n产权制度|0x100000|544\n产褥期|0x100000|55952\n产褥热|0x100000|1256\n产色细菌|0x0008|0\n产生器|0x0008|1403\n产生算符|0x0008|0\n产水量|0x0008|1099\n产销合同|0x100000|881\n产销合一|0x400000|0\n产销量|0x100000|841\n产销率|0x100000|469\n产销一元化|0x400000|0\n产学研|0x100000|847\n产业博览会|0x100000|467\n产业布局|0x100000|491\n产业部|0x100000|950\n产业革命|0x800000|983\n产业工人|0x800000|951\n产业后备军|0x0008|0\n产业化|0x1000|2853\n产业基地|0x100000|572\n产业结构|0x0008|707\n产业界|0x100000|869\n产业链|0x100000|667\n产业协会|0x100000|472\n产业园|0x100000|561\n产业政策|0x0008|767\n产业资本|0x800000|1005\n产油国|0x100000|1006\n刬草除根|0x0000|100\n刬恶锄奸|0x0000|100\n刬旧谋新|0x0000|100\n剗草除根|0x1000000|100\n剗恶锄奸|0x1000000|100\n剗旧谋新|0x1000000|100\n谄词令色|0x0000|100\n谄上傲下|0x0000|100\n谄上骄下|0x0000|100\n谄上欺下|0x1000000|1327\n谄上抑下|0x0000|100\n谄笑胁肩|0x1000000|100\n谄谀取容|0x0000|100\n铲迹销声|0x0000|100\n铲土机|0x100000|1179\n铲运车|0x100000|1522\n铲运机|0x100000|380\n阐扬光大|0x1000000|100\n阐幽抉微|0x1000000|100\n阐幽明微|0x1000000|100\n冁然而笑|0x0000|100\n忏悔录|0x100000|912\n颤巍巍|0x0100|26730\n颤悠悠|0x0100|1069\n昌歜羊枣|0x1000000|100\n昌都县|0x0040|1163\n昌吉市|0x0040|1507\n昌江黎族自治县|0x0040|1734\n昌乐县|0x0040|1565\n昌黎县|0x0040|1576\n昌宁县|0x0040|1056\n昌平区|0x0040|1238\n昌亭旅食|0x1000000|100\n昌亭之客|0x1000000|100\n昌图县|0x0040|1595\n昌言无忌|0x0000|100\n昌邑市|0x0040|1376\n猖獗一时|0x400000|0\n长安城|0x100000|499\n长安道上|0x0000|100\n长安街|0x0040|1146\n长安棋局|0x1000000|100\n长安少年|0x1000000|1341\n长傲饰非|0x1000000|100\n长白朝鲜族自治县|0x0040|1814\n长白山|0x0040|1198\n长坂坡|0x0040|1611\n长臂猿|0x100000|36111\n长才短驭|0x1000000|100\n长才广度|0x1000000|100\n长材茂学|0x1000000|100\n长材小试|0x1000000|100\n长长地|0x0100|2\n长长短短|0x0100|699\n长城卡|0x100000|938\n长城汽车|0x100000|487\n长程力|0x100000|0\n长春不老|0x1000000|1251\n长春花|0x100000|1065\n长春碱|0x100000|1301\n长春人|0x100000|1053\n长春市|0x0040|1118\n长春藤|0x0008|1570\n长春新碱|0x0008|0\n长此下去|0x800000|959\n长此以往|0x1000000|21700\n长大成人|0x800000|747\n长大衣|0x0000|419\n长岛县|0x0040|1072\n长短不一|0x400000|1\n长短句|0x100000|1022\n长恶不悛|0x1000000|100\n长恶靡悛|0x1000000|100\n长方脸|0x100000|44921\n长方体|0x100000|49381\n长方形|0x100000|16574\n长丰县|0x0040|1550\n长风破浪|0x1000000|921\n长歌当哭|0x1000000|1005\n长葛市|0x0040|1376\n长官意志|0x0000|40938\n长海县|0x0040|1645\n长恨歌|0x100000|1307\n长话短说|0x800000|47618\n长话费|0x100000|404\n长虺成蛇|0x1000000|100\n长戟高门|0x1000000|100\n长计远虑|0x1000000|100\n长驾远驭|0x1000000|100\n长江大桥|0x0008|1296\n长江大学|0x100000|436\n长江后浪推前浪|0x0008|860\n长江口|0x100000|465\n长江流域|0x0040|1387\n长江路|0x100000|498\n长江日报|0x0000|495\n长江三角|0x400000|0\n长江三角洲|0x400040|44\n长江三峡|0x400040|11\n长江上游|0x100000|477\n长江天堑|0x0000|100\n长江源|0x100000|410\n长江中下游地区|0x0040|1514\n长豇豆|0x0008|0\n长角牛|0x0008|1191\n长街短巷|0x1000000|100\n长颈鹿|0x100000|36434\n长颈鸟喙|0x1000000|1305\n长镜头|0x100000|34283\n长久以来|0x800000|712\n长久之计|0x800000|904\n长距离|0x20000000|827\n长老会|0x100000|952\n长乐市|0x0040|1368\n长乐未央|0x800000|1028\n长林丰草|0x1000000|100\n长岭县|0x0040|1099\n长虑顾后|0x1000000|1374\n长虑后顾|0x1000000|100\n长虑却顾|0x0000|100\n长毛绒|0x100000|49382\n长毛兔|0x100000|41880\n长眠不起|0x0000|100\n长眠不醒|0x1000000|1038\n长明灯|0x100000|35944\n长鸣都尉|0x1000000|100\n长命百岁|0x1000000|42147\n长命富贵|0x1000000|1156\n长命锁|0x100000|51737\n长目飞耳|0x1000000|100\n长年累月|0x1000000|32726\n长年三老|0x400000|100\n长念却虑|0x0000|100\n长宁区|0x0040|1210\n长宁县|0x0040|1051\n长辔远驭|0x1000000|0\n长辔远御|0x1000000|100\n长篇大论|0x1000000|787\n长篇大套|0x1000000|100\n长篇累牍|0x1000000|1052\n长篇小说|0x800000|705\n长七短八|0x400000|0\n长期化|0x1000|1066\n长期投资|0x0000|549\n长期性|0x100000|852\n长期以来|0x800000|636\n长枪队|0x100000|0\n长驱深入|0x1000000|100\n长驱直进|0x1000000|1285\n长驱直入|0x1000000|29932\n长绒棉|0x0000|46398\n长三角|0x400008|300\n长沙人|0x100000|954\n长沙市|0x0040|1075\n长沙铁道学院|0x0020|1658\n长沙县|0x0040|1429\n长舌妇|0x100000|47619\n长舌之妇|0x0000|100\n长蛇封豕|0x1000000|100\n长蛇阵|0x100000|45518\n长生不老|0x1000000|790\n长生不死|0x1000000|969\n长生果|0x100000|1069\n长生久视|0x1000000|1136\n长绳系景|0x1000000|100\n长绳系日|0x1000000|100\n长盛不衰|0x800000|873\n长时间|0x0000|815\n长寿路|0x100000|477\n长寿区|0x0040|1381\n长顺县|0x0040|1148\n长算远略|0x1000000|100\n长泰县|0x0040|1611\n长谈阔论|0x1000000|100\n长叹一声|0x400000|0\n长汀县|0x0040|1627\n长统袜|0x0008|1057\n长统靴|0x100000|1119\n长筒袜|0x0000|53145\n长筒靴|0x0000|55953\n长途跋涉|0x800000|788\n长途车|0x100000|503\n长途电话|0x100000|778\n长途客车|0x100000|455\n长途汽车|0x800000|706\n长途汽车站|0x100000|499\n长途运输|0x0008|2\n长往远引|0x1000000|100\n长尾巴|0x1000|947\n长尾猴|0x0008|1251\n长武县|0x0040|1115\n长线产品|0x0000|50886\n长效机制|0x100000|596\n长辛店|0x0040|1050\n长兴县|0x0040|1434\n长袖善舞|0x1000000|46683\n长须鲸|0x100000|1213\n长嘘短叹|0x1000000|1063\n长烟一空|0x400000|0\n长阳土家族自治县|0x0040|1621\n长夜漫漫|0x0000|100\n长夜难明|0x0000|100\n长一智|0xc00000|2\n长揖不拜|0x0000|100\n长幼有序|0x800000|1072\n长幼有叙|0x0000|100\n长幼尊卑|0x0000|100\n长吁短气|0x1000000|100\n长吁短叹|0x1000000|31384\n长垣县|0x0040|1467\n长远规划|0x0000|461\n长远性|0x100000|1104\n长斋绣佛|0x1000000|100\n长枕大被|0x1000000|1365\n长枕大衾|0x1000000|100\n长征二号|0x400008|1\n长征二号丙|0x400008|0\n长征二号丁|0x400008|0\n长征二号捆|0x400008|0\n长征三号|0x400008|0\n长征三号甲|0x400008|15\n长征三号乙|0x400008|5\n长征四号|0x400008|0\n长征一号|0x400008|0\n长治久安|0x1000000|9221\n长治市|0x0040|1326\n长治县|0x0040|1038\n长子县|0x0040|1654\n肠病毒|0x100000|412\n肠穿孔|0x100000|1169\n肠道病毒|0x0008|0\n肠肥脑满|0x1000000|100\n肠杆菌属|0x0008|0\n肠高血糖素|0x0008|0\n肠梗阻|0x100000|40964\n肠激酶|0x100000|1541\n肠结核|0x0008|1085\n肠痉挛|0x100000|379\n肠清茶|0x100000|383\n肠绒毛|0x100000|1276\n肠套叠|0x0008|1087\n肠胃病|0x100000|48648\n肠胃炎|0x100000|882\n肠系膜|0x100000|1080\n肠抑胃肽|0x0008|0\n肠粘连|0x0008|376\n苌弘碧血|0x0000|100\n苌弘化碧|0x0000|100\n尝胆眠薪|0x1000000|100\n尝胆卧薪|0x1000000|100\n尝鼎一脔|0x1400000|0\n尝一尝|0x400000|1\n偿付能力|0x0000|460\n偿其大欲|0x0000|100\n常备不懈|0x1000000|44088\n常备军|0x100000|44343\n常表示|0x0008|0\n常春藤|0x100000|49025\n常德市|0x0040|1288\n常规赛|0x100000|551\n常规武器|0x800000|987\n常规战争|0x800000|1130\n常见病|0x100000|752\n常见故障|0x100000|535\n常见疾病|0x100000|476\n常见问题|0x100000|687\n常见于|0x1000|486\n常来常往|0x800000|408\n常鳞凡介|0x1000000|100\n常绿阔叶林|0x0008|1099\n常绿树|0x100000|1142\n常绿植物|0x800000|1140\n常年累月|0x1000000|1053\n常宁市|0x0040|1044\n常盘贵子|0x0080|987\n常青树|0x100000|871\n常任理事|0x100000|375\n常任理事国|0x0000|558\n常山县|0x0040|1611\n常设性|0x100000|1258\n常胜将军|0x800000|946\n常胜军|0x100000|1060\n常识性|0x100000|886\n常熟市|0x0040|1128\n常委会|0x100000|571\n常务董事|0x100000|1016\n常务会议|0x0000|558\n常务委员|0x100000|737\n常务委员会|0x100000|633\n常言道|0x800000|839\n常言说得好|0x0000|371\n常用词|0x100000|921\n常用对数|0x100000|1328\n常用工具|0x100000|543\n常用命令|0x100000|462\n常用软件|0x100000|564\n常用字|0x100000|954\n常州市|0x0040|1006\n常住人口|0x0008|496\n常驻程序|0x800000|927\n常抓不懈|0x800000|957\n徜徉恣肆|0x0000|100\n嫦娥奔月|0x800000|934\n厂长负责制|0x0008|1231\n厂房信息|0x100000|379\n厂矿企业|0x0008|1\n厂校挂钩|0x0008|0\n场面话|0x100000|987\n场面人|0x100000|0\n场面上|0x8000|32219\n场效应|0x0008|0\n惝恍迷离|0x0000|100\n敞蓬车|0x0008|370\n敞篷车|0x100000|45519\n怅然若失|0x800000|848\n怅然自失|0x800000|100\n畅叫扬疾|0x1000000|100\n畅所欲为|0x1000000|100\n畅所欲言|0x1000000|16009\n畅通无阻|0x800000|819\n畅想曲|0x100000|52164\n畅销货|0x100000|1147\n畅销品|0x0008|1044\n畅销商品|0x0008|0\n畅销书|0x100000|660\n畅销小说|0x100000|469\n畅行无碍|0x0000|100\n畅行无阻|0x800000|993\n倡导者|0x100000|838\n倡而不和|0x0000|100\n倡情冶思|0x1000000|100\n倡条冶叶|0x1000000|100\n倡议书|0x100000|783\n唱白脸|0x0000|51738\n唱筹量沙|0x1000000|1299\n唱的歌|0x100000|528\n唱独角戏|0x1000|49027\n唱对台戏|0x1000000|42651\n唱反调|0x1000|40743\n唱高调|0x1000|40314\n唱红脸|0x0000|49733\n唱空城计|0x0000|55600\n唱片业|0x100000|464\n唱票员|0x100000|0\n唱沙作米|0x1000000|100\n唱诗班|0x100000|47008\n唱双簧|0x1000|54705\n唱主角|0x1000|25804\n抄后路|0x1000|1256\n抄近儿|0x0000|40099\n抄近路|0x1000|1002\n抄小路|0x0000|387\n超必杀技|0x0000|390\n超标准|0x20000000|958\n超薄型|0x20000000|891\n超超玄著|0x0000|100\n超超玄箸|0x1000000|100\n超尘拔俗|0x1000000|1301\n超尘出俗|0x800000|100\n超纯水|0x100000|914\n超大规模|0x20000000|546\n超大规模集成电路|0x0008|0\n超大型|0x20000000|813\n超导电性|0x100000|976\n超导体|0x100000|1085\n超低空|0x20000000|38227\n超低量喷雾机|0x0008|0\n超低温|0x100000|42652\n超度众生|0x0000|100\n超短波|0x100000|52166\n超短裙|0x100000|40965\n超额利润|0x100000|956\n超二倍体|0x400000|0\n超凡出世|0x0000|100\n超凡人圣|0x0000|50494\n超凡入圣|0x1000000|982\n超凡脱俗|0x800000|32358\n超分子结构|0x0008|0\n超负荷|0x1000|19615\n超负荷运转|0x0000|412\n超高层建筑|0x0008|1\n超高频|0x20000000|990\n超高速|0x20000000|36435\n超高温|0x0008|48650\n超高压|0x20000000|870\n超国家主义|0x100000|0\n超豪华|0x0000|47622\n超合金|0x0008|0\n超痕量分析|0x0008|0\n超乎寻常|0x800000|864\n超级大国|0x100000|869\n超级稻|0x100000|439\n超级公路|0x0008|0\n超级管理员|0x100000|513\n超级机器人大战|0x100000|475\n超级解霸|0x0000|577\n超级连接|0x100000|517\n超级联赛|0x100000|532\n超级链接|0x0000|506\n超级论坛|0x100000|620\n超级男生|0x100000|413\n超级女生|0x100000|611\n超级市场|0x100000|778\n超极化|0x0008|0\n超阶级|0x20000000|1203\n超阶越次|0x0000|100\n超今冠古|0x0000|100\n超今绝古|0x0000|100\n超今越古|0x0000|100\n超类绝伦|0x0000|100\n超离心机|0x0008|0\n超链接|0x0000|535\n超滤膜|0x0008|1606\n超螺旋|0x0008|0\n超迈绝伦|0x0000|100\n超期服役|0x1000|3\n超期羁押|0x100000|1074\n超前绝后|0x0000|100\n超前消费|0x0008|3\n超群拔类|0x800000|100\n超群出众|0x0000|100\n超群绝伦|0x800000|1214\n超群轶类|0x0000|100\n超群越辈|0x0000|100\n超然不群|0x0000|100\n超然独处|0x0000|100\n超然独立|0x0000|100\n超然绝俗|0x0000|100\n超然迈伦|0x0000|100\n超然物外|0x1000000|44925\n超然远举|0x0000|100\n超然远引|0x0000|100\n超然自得|0x0000|100\n超然自逸|0x800000|100\n超人高校|0x100000|408\n超人气|0x100000|575\n超人一等|0x400000|0\n超声波|0x100000|22311\n超声波传感器|0x100000|387\n超声波流量计|0x100000|442\n超声键合|0x0008|0\n超声速|0x100000|1196\n超声仪|0x100000|381\n超时空|0x20000000|820\n超世拔俗|0x0000|100\n超世绝伦|0x800000|100\n超世绝俗|0x0000|100\n超世之才|0x800000|0\n超市货架|0x100000|445\n超数排卵|0x0008|0\n超水平|0x1000|35036\n超俗绝世|0x0000|100\n超外差接收机|0x0008|0\n超微结构|0x0008|0\n超微粒干版|0x0008|0\n超文本|0x100000|870\n超显性|0x0008|0\n超现实|0x20000000|801\n超现实主义|0x100000|887\n超小型|0x20000000|895\n超新星|0x100000|914\n超氧化物|0x0000|401\n超氧化物歧化酶|0x0008|0\n超一流|0x0000|37327\n超以象外|0x0000|100\n超轶绝尘|0x800000|100\n超逸绝尘|0x0000|100\n超音波|0x0008|1304\n超音速|0x100000|25321\n超音速队|0x100000|442\n超音速飞机|0x0008|0\n超音速飞行|0x0008|8\n超越离合器|0x0008|0\n超越数|0x0008|0\n超越五笔|0x400000|0\n超越自我|0x0000|522\n超再生接收机|0x0008|0\n超自然|0x100000|33234\n巢焚原燎|0x1000000|100\n巢湖市|0x0040|1235\n巢毁卵破|0x800000|100\n巢居穴处|0x0000|100\n巢林一枝|0x1400000|0\n巢倾卵覆|0x1000000|100\n巢倾卵破|0x1000000|100\n朝不保暮|0x1000000|100\n朝不保夕|0x1000000|41155\n朝不及夕|0x1000000|100\n朝不虑夕|0x1000000|1245\n朝不谋夕|0x1000000|1391\n朝朝暮暮|0x1000000|39220\n朝趁暮食|0x1000000|100\n朝成暮徧|0x1000000|100\n朝成暮遍|0x0000|100\n朝成暮毁|0x1000000|100\n朝成夕毁|0x1000000|100\n朝穿暮塞|0x800000|100\n朝发暮至|0x1000000|100\n朝发夕至|0x1000000|47262\n朝歌暮弦|0x1000000|100\n朝歌夜弦|0x1000000|1293\n朝更暮改|0x0000|100\n朝过夕改|0x1000000|100\n朝花夕拾|0x100000|872\n朝华夕秀|0x800000|100\n朝欢暮乐|0x1000000|1373\n朝齑暮盐|0x1000000|100\n朝经暮史|0x0000|100\n朝九晚五|0x400008|3\n朝里无人莫做官|0x0008|100\n朝梁暮陈|0x1000000|1402\n朝梁暮晋|0x1000000|100\n朝梁暮周|0x1000000|100\n朝令暮改|0x1000000|100\n朝令夕改|0x1000000|38614\n朝露溘至|0x0000|100\n朝攀暮折|0x1000000|100\n朝气蓬勃|0x800000|15413\n朝前夕惕|0x0000|100\n朝乾夕愓|0x1000000|100\n朝乾夕惕|0x1000000|1311\n朝秦暮楚|0x1000000|43810\n朝日新闻|0x0000|468\n朝三暮二|0x1400000|0\n朝三暮四|0x1400000|43349\n朝升暮合|0x1000000|100\n朝生暮死|0x1000000|1053\n朝生夕死|0x1000000|100\n朝思暮想|0x1000000|34423\n朝斯夕斯|0x1000000|100\n朝天椒|0x100000|1039\n朝闻夕改|0x1000000|100\n朝闻夕死|0x1000000|1237\n朝夕相处|0x1000000|739\n朝鲜半岛|0x0040|1309\n朝鲜人|0x100000|919\n朝鲜人民|0x100000|484\n朝鲜语|0x100000|472\n朝鲜战争|0x100000|545\n朝鲜族|0x0008|17631\n朝阳丹凤|0x0000|100\n朝阳花|0x100000|55601\n朝阳鸣凤|0x1000000|100\n朝阳区|0x0040|936\n朝阳市|0x0040|1434\n朝阳县|0x0040|1076\n朝野上下|0x0000|100\n朝衣东市|0x1000000|100\n朝夷暮跖|0x1000000|100\n朝饔夕飧|0x1000000|100\n朝云暮雨|0x1000000|1136\n朝章国典|0x1000000|100\n朝章国故|0x1000000|100\n朝折暮折|0x1000000|100\n朝中社|0x100000|379\n朝钟暮鼓|0x1000000|100\n朝锺暮鼓|0x1000000|100\n朝种暮获|0x0000|100\n朝奏暮召|0x1000000|100\n朝奏夕召|0x1000000|100\n嘲风弄月|0x1000000|1377\n嘲风咏月|0x1000000|1499\n潮安县|0x0040|1378\n潮乎乎|0x0100|50887\n潮鸣电掣|0x1000000|100\n潮鸣电挚|0x0000|100\n潮气量|0x100000|0\n潮汐能|0x0000|52167\n潮涨潮落|0x800000|985\n潮州市|0x0040|1226\n吵吵闹闹|0x0100|775\n吵吵嚷嚷|0x0100|31718\n炒地皮|0x1000|396\n炒肝儿|0x0000|50496\n炒股票|0x1000|468\n炒鸡蛋|0x100000|836\n炒冷饭|0x800000|51291\n炒买炒卖|0x800000|52642\n炒鱿鱼|0x800000|44345\n车把式|0x100000|40100\n车尘马迹|0x0000|100\n车尘马足|0x1000000|100\n车驰马骤|0x1000000|100\n车船费|0x100000|1248\n车次表|0x100000|423\n车怠马烦|0x0000|100\n车殆马烦|0x1000000|1240\n车到山前必有路|0x0008|898\n车道沟|0x0000|55130\n车尔尼雪夫斯基|0x0008|1710\n车烦马毙|0x1000000|100\n车份儿|0x0000|47009\n车公庄|0x0040|1536\n车轱辘|0x100000|42149\n车轱辘话|0x800000|51740\n车击舟连|0x1000000|100\n车间主任|0x0000|496\n车库门|0x100000|471\n车老板|0x0000|45219\n车笠之盟|0x0000|100\n车辆保养|0x0008|0\n车辆厂|0x100000|879\n车辆齿轮油|0x0008|0\n车辆段|0x0000|45220\n车辆配件|0x100000|429\n车流量|0x100000|934\n车旅费|0x100000|1154\n车轮战|0x100000|46400\n车马费|0x100000|46119\n车马辐辏|0x0000|100\n车马骈阗|0x0000|100\n车马填门|0x0000|100\n车马盈门|0x800000|1413\n车牌号|0x100000|526\n车棚费|0x100000|0\n车前草|0x0008|48276\n车前子|0x0008|40102\n车水马龙|0x1000000|19513\n车体广告|0x100000|384\n车田正美|0x0080|0\n车填马隘|0x1000000|100\n车同轨|0x100000|100\n车头灯|0x0000|398\n车位锁|0x100000|442\n车无退表|0x1000|100\n车行道|0x100000|1066\n车载充电器|0x100000|397\n车载船装|0x1000000|100\n车载斗量|0x1000000|53632\n车在马前|0x0000|100\n车辙马迹|0x1000000|100\n扯鼓夺旗|0x1000000|100\n扯后腿|0x1000|55954\n扯空砑光|0x0000|100\n扯篷拉纤|0x1000000|100\n扯旗放炮|0x0000|100\n扯三拉四|0x400000|0\n扯顺风旗|0x1000000|100\n扯下来|0x0000|428\n扯纤拉烟|0x1000000|100\n扯闲篇|0x0000|54161\n彻彻底底|0x0100|760\n彻底解决|0x0000|587\n彻底清除|0x0000|514\n彻底性|0x100000|1065\n彻里彻外|0x1000000|1319\n彻里至外|0x1000000|100\n彻内彻外|0x1000000|100\n彻上彻下|0x1000000|1287\n彻首彻尾|0x0000|100\n彻头彻尾|0x1000000|24685\n彻夜不眠|0x800000|868\n彻夜未眠|0x800000|893\n掣襟露肘|0x0000|100\n澈底澄清|0x0000|100\n郴州市|0x0040|1326\n嗔目切齿|0x0000|100\n嗔拳不打笑面|0x0008|100\n瞋目扼腕|0x0000|100\n瞋目切齿|0x0000|100\n尘埃落定|0x800000|698\n尘饭涂羹|0x1000000|100\n尘羹涂饭|0x1000000|100\n尘垢秕糠|0x800000|100\n尘垢粃糠|0x1000000|100\n尘世间|0x100000|492\n臣门如市|0x800000|100\n臣心如水|0x800000|1430\n沉博绝丽|0x1000000|100\n沉甸甸|0x0100|11968\n沉淀剂|0x0008|1063\n沉淀物|0x0008|943\n沉烽静柝|0x0000|100\n沉浮俯仰|0x0000|100\n沉痼自若|0x0000|100\n沉厚寡言|0x0000|100\n沉积环境|0x0008|0\n沉积物|0x0008|15625\n沉积相|0x0008|0\n沉积岩|0x100000|1067\n沉积作用|0x0008|0\n沉静寡言|0x1000000|100\n沉疴难起|0x0000|100\n沉疴宿疾|0x0000|100\n沉李浮瓜|0x1000000|100\n沉迷不悟|0x0000|100\n沉密寡言|0x1000000|100\n沉湎酒色|0x1000000|1226\n沉湎淫逸|0x0000|100\n沉默寡言|0x1000000|758\n沉谋研虑|0x0000|100\n沉谋重虑|0x0000|100\n沉溺于|0x0000|518\n沉潜刚克|0x0000|100\n沉声静气|0x0000|100\n沉思熟虑|0x0000|100\n沉心静气|0x800000|1294\n沉毅寡言|0x0000|100\n沉吟不决|0x1000000|1333\n沉吟未决|0x0000|100\n沉吟章句|0x0000|100\n沉鱼落雁|0x1000000|51741\n沉郁顿挫|0x1000000|1161\n沉冤莫白|0x800000|100\n沉冤莫雪|0x0000|100\n沉灶产蛙|0x1000000|100\n沉灶生蛙|0x1000000|100\n沉重寡言|0x0000|100\n沉重少言|0x0000|100\n沉舟破釜|0x1000000|100\n沉住气|0x1000|35327\n沉著痛快|0x1000000|100\n沉着痛快|0x0000|100\n沉滓泛起|0x800000|100\n辰溪县|0x0040|1060\n陈巴尔虎旗|0x0040|1121\n陈陈相因|0x1000000|51294\n陈词滥调|0x1000000|37677\n陈辞滥调|0x1000000|1285\n陈古刺今|0x1000000|100\n陈谷子烂芝麻|0x0008|1154\n陈规陋习|0x800000|33369\n陈化粮|0x100000|463\n陈老师|0x100000|547\n陈力就列|0x1000000|1265\n陈列馆|0x100000|883\n陈列柜|0x100000|412\n陈列品|0x100000|1066\n陈列室|0x100000|911\n陈纳德|0x0000|400\n陈皮梅|0x100000|1194\n陈善闭邪|0x0000|100\n陈胜吴广|0x0080|1674\n陈师鞠旅|0x0000|100\n陈世美|0x0000|40532\n陈述句|0x100000|1033\n陈言肤词|0x1000000|100\n陈言老套|0x1000000|100\n陈言务去|0x800000|100\n晨参暮礼|0x1000000|100\n晨参暮省|0x1000000|100\n晨炊星饭|0x0000|100\n晨光熹微|0x0000|100\n晨昏定省|0x1000000|1264\n晨兢夕厉|0x1000000|100\n晨秦暮楚|0x1000000|100\n晨提夕命|0x1000000|100\n晨兴夜寐|0x0000|100\n晨钟暮鼓|0x1000000|943\n闯荡江湖|0x800000|874\n闯关东|0x1000|43133\n闯红灯|0x1000|29617\n闯江湖|0x1000|53165\n闯劲儿|0x100000|0\n闯南走北|0x1000000|100\n闯世界|0x1000|36615\n闯天下|0x0000|39475\n衬衫面料|0x100000|372\n称霸一方|0x400000|2\n称柴而爨|0x0000|100\n称臣纳贡|0x0000|100\n称得起|0x1000|375\n称得上|0x800000|13608\n称德度功|0x0000|100\n称多县|0x0040|1128\n称功颂德|0x0000|100\n称孤道寡|0x1000000|50498\n称家有无|0x0000|100\n称快一时|0x400000|0\n称奇道绝|0x0000|100\n称赏不已|0x0000|100\n称颂一时|0x400000|0\n称体裁衣|0x800000|1293\n称体载衣|0x800000|100\n称王称霸|0x800000|966\n称贤荐能|0x1000000|100\n称心快意|0x0000|100\n称心满意|0x800000|1026\n称心如意|0x1000000|33370\n称薪而爨|0x0000|100\n称兄道弟|0x1000000|37329\n称雨道晴|0x800000|100\n称之为|0x800000|5628\n趁波逐浪|0x0000|100\n趁风使柁|0x0000|100\n趁哄打劫|0x0000|100\n趁火打劫|0x1000000|34747\n趁火抢劫|0x0000|100\n趁热打铁|0x1000000|31385\n趁人之危|0x800000|995\n趁势落篷|0x800000|100\n趁水和泥|0x0000|100\n趁心如意|0x0000|100\n趁心像意|0x0000|100\n趁虚而入|0x800000|908\n撑岸就船|0x1000000|100\n撑肠拄肚|0x1000000|100\n撑肠拄腹|0x1000000|100\n撑场面|0x1000|53636\n撑杆跳|0x0008|1005\n撑杆跳高|0x800000|35038\n撑竿跳|0x100000|1099\n撑竿跳高|0x100000|35038\n撑门面|0x1000|48278\n撑天拄地|0x1000000|100\n撑天柱地|0x800000|0\n撑霆裂月|0x1000000|100\n瞠乎其后|0x1000000|100\n瞠目而视|0x0000|100\n瞠目结舌|0x1000000|24622\n成安县|0x0040|1060\n成百上千|0x800000|854\n成败得失|0x1000000|911\n成败利钝|0x1000000|1210\n成败论人|0x1000000|100\n成败兴废|0x1000000|100\n成败在此一举|0x400000|382\n成帮结队|0x1000000|100\n成本费用|0x100000|516\n成本核算|0x0008|578\n成本会计|0x100000|863\n成本计算|0x0008|0\n成本价|0x100000|807\n成冰作用|0x0008|0\n成不了|0x1000|724\n成材林|0x100000|1539\n成长期|0x100000|513\n成城断金|0x1000000|100\n成都房产|0x100000|465\n成都房地产|0x100000|410\n成都机票|0x100000|571\n成都酒店|0x100000|411\n成都军区|0x0020|1389\n成都旅游|0x100000|399\n成都平原|0x0040|1347\n成都人|0x100000|1\n成都日报|0x100000|472\n成都市|0x0040|974\n成都铁路局|0x0020|1485\n成反比|0x1000|503\n成分股|0x100000|452\n成份股|0x100000|486\n成风尽垩|0x1000000|100\n成风之斫|0x1000000|100\n成佛作祖|0x1000000|1220\n成个儿|0x0000|12739\n成功大学|0x100000|977\n成功经验|0x0000|607\n成功率|0x100000|13018\n成功人士|0x100000|576\n成功者|0x100000|692\n成功之路|0x100000|763\n成果鉴定|0x0000|486\n成果奖|0x100000|835\n成红细胞|0x0008|0\n成活率|0x100000|13363\n成绩表|0x100000|480\n成绩单|0x100000|707\n成绩斐然|0x1000000|883\n成绩管理系统|0x100000|476\n成绩排名|0x100000|442\n成吉思汗|0x0080|1206\n成己成物|0x1000000|1368\n成家立计|0x1000000|100\n成家立业|0x1000000|31829\n成交额|0x100000|17277\n成交量|0x100000|703\n成就感|0x100000|611\n成矿作用|0x0008|1240\n成龙配套|0x1000000|44927\n成名成家|0x1000000|1073\n成名作|0x100000|40315\n成膜体|0x100000|0\n成年古代|0x1000000|100\n成年累月|0x1000000|39877\n成年人|0x100000|10630\n成年组|0x100000|1140\n成批处理|0x0008|0\n成批生产|0x0008|0\n成品粮|0x0000|50499\n成品率|0x100000|1015\n成品油|0x100000|754\n成气候|0x800000|29183\n成千成万|0x400000|1137\n成千累万|0x800000|1347\n成千论万|0x1000000|0\n成千上万|0x400000|8388\n成群打伙|0x0000|100\n成群集党|0x1000000|100\n成群结党|0x1000000|1190\n成群结队|0x1000000|20303\n成群结伙|0x800000|1126\n成群逐队|0x1000000|100\n成群作队|0x1000000|100\n成人不自在|0x0008|910\n成人高考|0x0008|737\n成人教育|0x800000|726\n成人文学|0x100000|504\n成人之美|0x1000000|40316\n成人之善|0x1000000|100\n成仁取义|0x1000000|1190\n成日成夜|0x1000000|100\n成事不说|0x1000000|1264\n成事不足|0x800000|958\n成事在天|0x800000|889\n成熟度|0x100000|823\n成熟林|0x100000|1371\n成熟期|0x4000|846\n成双成对|0x1000000|805\n成双作对|0x1000000|100\n成算在心|0x0000|100\n成套设备|0x0008|684\n成团打块|0x0000|100\n成王败寇|0x1000000|912\n成为一团|0x400000|0\n成文法|0x100000|40317\n成问题|0x800000|26600\n成武县|0x0040|1626\n成也萧何|0x800000|100\n成也萧何败萧何|0x0008|100\n成一家言|0x400000|1341\n成衣厂|0x100000|0\n成衣店|0x100000|1091\n成瘾性|0x100000|1069\n成语词典|0x0008|518\n成语故事|0x100000|482\n成员国|0x100000|3710\n成员名单|0x100000|489\n成则为王|0x800000|1199\n成竹在胸|0x1000000|33235\n呈贡县|0x0040|1073\n呈缴本|0x100000|0\n呈上升趋势|0x0000|509\n呈现的十字形结构|0x400000|0\n呈阳性|0x1000|483\n呈阴性|0x1000|396\n承办人|0x100000|1028\n承办者|0x100000|1157\n承包方|0x100000|1033\n承包费|0x100000|1099\n承包合同|0x0000|521\n承包户|0x100000|1101\n承包经营|0x0000|518\n承包人|0x100000|979\n承包商|0x100000|23571\n承包责任制|0x100000|1074\n承包者|0x100000|1097\n承包制|0x100000|30486\n承保人|0x100000|1206\n承戴力|0x100000|0\n承担人|0x100000|373\n承德路|0x0040|0\n承德市|0x0040|1368\n承德县|0x0040|1590\n承兑汇票|0x0000|491\n承兑人|0x100000|383\n承欢膝下|0x800000|1100\n承诺书|0x100000|898\n承平盛世|0x100000|100\n承气汤|0x100000|1168\n承前启后|0x1000000|19873\n承嬗离合|0x1000000|100\n承上启下|0x1000000|28253\n承上起下|0x800000|1354\n承受力|0x100000|786\n承受能力|0x0000|650\n承天之祜|0x0000|100\n承天之佑|0x0000|100\n承天之祐|0x1000000|100\n承袭海|0x0008|0\n承先启后|0x1000000|48279\n承星履草|0x1000000|100\n承颜候色|0x1000000|100\n承运人|0x100000|904\n承载力|0x100000|926\n承载量|0x100000|1083\n承重墙|0x100000|440\n承租方|0x100000|1068\n承租人|0x100000|920\n诚成文化|0x0008|1169\n诚诚恳恳|0x0100|1035\n诚惶诚恐|0x1000000|27596\n诚实信用|0x800000|862\n诚实信用原则|0x100000|463\n诚心诚意|0x1000000|843\n诚心实意|0x1000000|1162\n诚心正意|0x0000|100\n诚信教育|0x100000|467\n诚至金开|0x1000000|100\n城北徐公|0x0000|100\n城步苗族自治县|0x0040|1731\n城固县|0x0040|1624\n城关镇|0x0000|23309\n城狐社鼠|0x1000000|1253\n城隍庙|0x100000|21658\n城建局|0x100000|987\n城口县|0x0040|1406\n城里人|0x100000|761\n城门失火|0x800000|997\n城门鱼殃|0x1000000|100\n城市边缘|0x100000|909\n城市病|0x0000|44928\n城市道路|0x100000|545\n城市地理学|0x0008|0\n城市地图|0x100000|448\n城市雕塑|0x100000|457\n城市防洪|0x100000|1039\n城市防灾|0x0008|2\n城市房地产|0x100000|524\n城市给水|0x0008|0\n城市工业|0x0008|3\n城市管理|0x0008|565\n城市规划|0x0008|684\n城市规划设计|0x100000|440\n城市轨道|0x100000|466\n城市化|0x1000|6296\n城市环境|0x0008|800\n城市基础设施|0x100000|526\n城市建设|0x0008|667\n城市交通|0x100000|804\n城市经济|0x0008|33\n城市居民|0x0000|623\n城市绿化|0x100000|864\n城市论坛|0x100000|530\n城市贫民|0x100000|44929\n城市群|0x100000|519\n城市人口|0x0008|502\n城市设计|0x100000|465\n城市社会学|0x0008|1184\n城市生活|0x100000|681\n城市史|0x0008|0\n城市通|0x100000|440\n城市污染|0x0008|0\n城市信用社|0x0020|1490\n城市形象|0x100000|879\n城市园林|0x100000|465\n城市中国|0x100000|579\n城下之盟|0x1000000|44623\n城下之辱|0x1000000|100\n城乡差别|0x0008|1\n城乡规划|0x100000|488\n城乡建设|0x0008|810\n城乡结合|0x0008|19\n城乡经济|0x0000|477\n城乡居民|0x0000|556\n城影院|0x100000|368\n城域网|0x100000|815\n城运会|0x100000|19514\n城镇居民|0x0000|594\n城镇人口|0x0008|12\n城镇职工|0x100000|509\n乘车戴笠|0x1000000|100\n乘法器|0x0008|1133\n乘飞机|0x1000|555\n乘肥衣轻|0x1000000|100\n乘风破浪|0x1000000|29091\n乘风兴浪|0x1000000|100\n乘风扬帆|0x800000|1181\n乘风转舵|0x1000000|100\n乘高决水|0x1000000|100\n乘火车|0x1000|524\n乘机打劫|0x1000000|1535\n乘积检波器|0x0008|0\n乘坚策肥|0x1000000|100\n乘坚驱良|0x1000000|0\n乘间抵隙|0x1000000|100\n乘间伺隙|0x1000000|100\n乘间投隙|0x0000|100\n乘客电梯|0x100000|1117\n乘利席胜|0x1000000|100\n乘龙佳婿|0x1000000|0\n乘龙快婿|0x1000000|47625\n乘龙配凤|0x1000000|100\n乘鸾跨凤|0x1000000|100\n乘其不备|0x800000|1168\n乘其不意|0x0000|100\n乘轻驱肥|0x1000000|100\n乘热打铁|0x1000000|100\n乘人之危|0x1000000|43382\n乘胜前进|0x800000|1156\n乘胜逐北|0x0000|100\n乘胜追击|0x800000|866\n乘时乘势|0x0000|100\n乘势使气|0x1000000|100\n乘顺水船|0x1000000|100\n乘伪行诈|0x800000|100\n乘务长|0x0000|55854\n乘务员|0x100000|18641\n乘隙捣虚|0x1000000|100\n乘隙而入|0x1000000|1252\n乘险抵巇|0x1000000|100\n乘兴而来|0x800000|1031\n乘性二次型|0x400000|0\n乘虚蹈隙|0x1000000|100\n乘虚迭出|0x0000|100\n乘虚而入|0x1000000|28701\n乘舆播越|0x1000000|100\n乘云行泥|0x1000000|100\n惩恶劝善|0x1000000|100\n惩罚性|0x100000|937\n惩忿窒欲|0x1000000|1300\n惩羹吹齑|0x1000000|100\n惩前毖后|0x1000000|32098\n惩一戒百|0xc00000|0\n惩一儆百|0x1400000|53638\n惩一警百|0xc00000|0\n惩治腐败|0x100000|972\n程控电话|0x0008|1\n程控交换机|0x0008|530\n程门立雪|0x1000000|1148\n程式化|0x1000|898\n程式库|0x0008|1145\n程式组|0x100000|0\n程序包|0x0008|464\n程序代码|0x100000|548\n程序化|0x1000|853\n程序结构|0x0008|0\n程序控制|0x100000|47626\n程序库|0x0008|0\n程序逻辑|0x0008|0\n程序设计|0x0008|619\n程序设计语言|0x0000|462\n程序设计员|0x100000|0\n程序性|0x100000|952\n程序语言|0x100000|574\n程序员|0x100000|607\n程序综合|0x0008|0\n澄城县|0x0040|1653\n澄江如练|0x0000|100\n澄江县|0x0040|1071\n澄迈县|0x0040|1600\n澄清天下|0x0000|100\n澄沙汰砾|0x1000000|100\n澄神离形|0x1000000|100\n澄思渺虑|0x1000000|100\n橙红色|0x100000|947\n橙黄桔绿|0x0000|100\n橙黄橘绿|0x100000|1197\n橙黄色|0x100000|921\n逞工炫巧|0x0000|100\n逞工衒巧|0x1000000|100\n逞怪披奇|0x1000000|100\n逞己失众|0x0000|100\n逞娇呈美|0x1000000|100\n逞娇斗媚|0x1000000|100\n逞奇眩异|0x1000000|100\n逞强称能|0x1000000|100\n逞强好胜|0x1000000|1153\n逞威风|0x1000|50501\n逞心如意|0x1000000|100\n逞性妄为|0x800000|100\n逞性子|0x1000|1535\n逞凶肆虐|0x0000|100\n逞妍斗色|0x1000000|100\n逞一时之|0x400000|0\n逞一时之快|0x400000|0\n逞异夸能|0x1000000|100\n逞英雄|0x800000|53639\n骋怀游目|0x0000|100\n骋耆奔欲|0x1000000|100\n骋嗜奔欲|0x1000000|0\n秤不离砣|0x800000|100\n秤锤落井|0x0000|100\n秤斤注两|0x800000|100\n秤盘子|0x100000|1515\n秤平斗满|0x800000|100\n秤砣虽小压千斤|0x0000|100\n秤薪而爨|0x800000|100\n吃白饭|0x1000|50891\n吃白食|0x1000|49737\n吃败仗|0x800000|38853\n吃闭门羹|0x800000|50108\n吃不饱|0x0000|529\n吃不服|0x1000|1364\n吃不开|0x800000|44348\n吃不来|0x1000|53640\n吃不了|0x1000|529\n吃不了兜着走|0x0008|906\n吃不上|0x1000|22528\n吃不透|0x0000|51747\n吃不下|0x0000|566\n吃不消|0x800000|23637\n吃不住|0x1000|39880\n吃不准|0x1000|40321\n吃吃喝喝|0x800000|35328\n吃穿用度|0x800000|1136\n吃大锅饭|0x800000|31956\n吃大户|0x1000|51297\n吃得开|0x1000|39676\n吃得来|0x1000|53641\n吃得下|0x1000|961\n吃得消|0x800000|40534\n吃得住|0x1000|1237\n吃东西|0x0000|648\n吃豆腐|0x1000|850\n吃独食|0x1000|54164\n吃粉笔灰|0x800000|1274\n吃干饭|0x0000|50109\n吃官司|0x800000|37140\n吃馆子|0x1000|44624\n吃喝风|0x100000|40535\n吃喝嫖赌|0x800000|883\n吃喝玩乐|0x1000000|652\n吃后悔药|0x800000|1158\n吃皇粮|0x1000|44349\n吃回扣|0x800000|43616\n吃惊受怕|0x1000000|100\n吃开口饭|0x0000|54711\n吃空额|0x1000|1310\n吃苦耐劳|0x800000|19475\n吃苦头|0x1000|40744\n吃快餐|0x0000|439\n吃劳保|0x1000|55855\n吃老本|0x800000|40322\n吃里扒外|0x1000000|48280\n吃里爬外|0x1000000|48280\n吃力不讨好|0x0008|855\n吃粮不管事|0x0008|100\n吃零食|0x0000|528\n吃零嘴|0x1000|55134\n吃拿卡要|0x0000|31830\n吃派饭|0x0000|41886\n吃偏饭|0x800000|55135\n吃偏食|0x1000|0\n吃人不吐骨头|0x0008|1008\n吃软不吃硬|0x1000|965\n吃软饭|0x0008|838\n吃商品粮|0x0000|49389\n吃食堂|0x0000|46403\n吃水量|0x100000|1329\n吃水线|0x100000|1220\n吃闲饭|0x800000|36610\n吃现成|0x800000|50892\n吃现成饭|0x800000|50893\n吃香喝辣|0x800000|965\n吃小灶|0x1000|52171\n吃鸭蛋|0x1000|55605\n吃哑巴亏|0x800000|51298\n吃眼前亏|0x0000|37500\n吃一堑|0xc00000|2\n吃一堑长一智|0x400000|930\n吃硬不吃软|0x1000|1195\n吃着不尽|0x800000|100\n吃着碗里瞧着锅里|0x0000|100\n吃罪不起|0x0000|50894\n鸱目虎吻|0x1000000|100\n鸱视虎顾|0x1000000|100\n鸱视狼顾|0x1000000|100\n鸱鸮弄舌|0x0000|100\n鸱鸦嗜鼠|0x800000|100\n鸱张门户|0x1000000|100\n鸱张鼠伏|0x1000000|100\n鸱张蚁聚|0x1000000|100\n鸱张鱼烂|0x1000000|100\n嗤之以鼻|0x1000000|31387\n痴呆症|0x0008|833\n痴儿呆女|0x800000|100\n痴男怨女|0x1000000|860\n痴人说梦|0x1000000|38229\n痴心妄想|0x1000000|37501\n魑魅罔两|0x1000000|100\n魑魅魍魉|0x1000000|49390\n弛高骛远|0x0000|100\n弛魂宕魄|0x0000|100\n弛豫力|0x100000|0\n弛豫时间|0x0008|0\n池酒林胾|0x1000000|100\n池鱼林木|0x0000|100\n池鱼笼鸟|0x800000|100\n池鱼幕燕|0x1000000|100\n池鱼堂燕|0x1000000|100\n池鱼之祸|0x1000000|100\n池鱼之虑|0x1000000|100\n池鱼之殃|0x100000|54165\n池中物|0x100000|840\n池州市|0x0040|1275\n驰骋疆场|0x800000|1060\n驰风骋雨|0x1000000|100\n驰高鹜远|0x1000000|100\n驰魂宕魄|0x1000000|0\n驰魂夺魄|0x1000000|100\n驰马试剑|0x0000|100\n驰名当世|0x0000|100\n驰名商标|0x100000|788\n驰名天下|0x0000|100\n驰名中外|0x1000|34286\n驰声走誉|0x1000000|100\n驰志伊吾|0x1000000|100\n迟迟吾行|0x0000|100\n迟浩田|0x0080|1061\n迟徊不决|0x1000000|100\n迟徊观望|0x1000000|100\n迟回观望|0x1000000|100\n迟眉钝眼|0x1000000|100\n迟暮之年|0x0000|100\n迟日旷久|0x1000000|100\n迟疑不定|0x1000000|1213\n迟疑不断|0x1000000|100\n迟疑不决|0x1000000|1025\n迟疑顾望|0x1000000|100\n迟疑观望|0x1000000|100\n迟疑未决|0x1000000|100\n迟滞不前|0x800000|0\n茌平县|0x0040|1600\n持螯把酒|0x1000000|100\n持筹握算|0x1000000|100\n持刀动杖|0x0000|100\n持戈试马|0x1000000|100\n持衡拥璇|0x1000000|100\n持久力|0x0008|918\n持久性|0x100000|869\n持久战|0x100000|23739\n持久之计|0x0000|100\n持卡人|0x100000|867\n持蠡测海|0x0000|100\n持禄养交|0x1000000|100\n持论公允|0x0000|100\n持满戒盈|0x1000000|100\n持平之论|0x1000000|100\n持权合变|0x1000000|100\n持人长短|0x1000000|100\n持橐簪笔|0x1000000|100\n持危扶颠|0x1000000|100\n持续发展|0x0000|610\n持续时间|0x0008|577\n持续性|0x100000|750\n持续一年|0x400000|5\n持续增长|0x0000|583\n持异议|0x1000|413\n持盈保泰|0x1000000|1185\n持盈守成|0x1000000|100\n持有人|0x100000|793\n持有者|0x100000|833\n持斋把素|0x800000|1538\n持正不阿|0x1000000|100\n持之一恒|0x400000|0\n持之以恒|0x1000000|13474\n持之有故|0x1000000|54166\n踟蹰不前|0x800000|0\n尺板斗食|0x1000000|100\n尺兵寸铁|0x1000000|100\n尺波电谢|0x1000000|100\n尺布斗粟|0x1000000|100\n尺步绳趋|0x1000000|100\n尺椽片瓦|0x0000|100\n尺寸可取|0x800000|100\n尺寸千里|0x1000000|100\n尺寸之柄|0x0000|100\n尺寸之地|0x0000|100\n尺寸之功|0x800000|100\n尺短寸长|0x1000000|1328\n尺二秀才|0x1400000|0\n尺二冤家|0x1400000|0\n尺幅寸缣|0x1000000|100\n尺幅千里|0x1000000|1361\n尺蠖求伸|0x0000|100\n尺籍伍符|0x1000000|100\n尺山寸水|0x1000000|100\n尺树寸泓|0x0000|100\n尺水丈波|0x1000000|100\n尺头儿|0x100000|0\n尺蚓穿堤|0x1000000|100\n尺有所短|0x1000000|1053\n尺瑜寸瑕|0x1000000|100\n尺泽之鲵|0x1000000|100\n尺竹伍符|0x1000000|100\n侈侈不休|0x1000000|100\n侈恩席宠|0x1000000|100\n侈丽闳衍|0x1000000|100\n侈人观听|0x1000000|100\n侈衣美食|0x1000000|100\n侈纵偷苟|0x1000000|100\n齿白唇红|0x800000|1206\n齿弊舌存|0x1000000|100\n齿唇音|0x100000|1515\n齿甘乘肥|0x1000000|100\n齿过肩随|0x1000000|100\n齿豁头童|0x1000000|100\n齿颊挂人|0x1000000|100\n齿颊生香|0x1000000|100\n齿剑如归|0x1000000|100\n齿轮泵|0x100000|524\n齿轮厂|0x100000|895\n齿轮减速电机|0x100000|409\n齿轮箱|0x0008|1475\n齿轮油|0x100000|478\n齿轮轴|0x100000|370\n齿落舌钝|0x1000000|100\n齿如编贝|0x1000000|100\n齿如含贝|0x1000000|100\n齿如齐贝|0x1000000|100\n齿若编贝|0x1000000|100\n齿少气锐|0x1000000|100\n齿少心锐|0x1000000|100\n齿亡舌存|0x1000000|100\n齿危发秀|0x1000000|100\n齿牙春色|0x800000|100\n齿牙为猾|0x1000000|100\n齿牙为祸|0x1000000|100\n齿牙余论|0x800000|100\n齿牙馀惠|0x1000000|100\n齿牙馀慧|0x1000000|100\n齿牙馀论|0x1000000|100\n齿牙之猾|0x1000000|100\n齿龈炎|0x100000|1302\n耻居人下|0x0000|100\n耻居王后|0x1000000|1540\n耻言人过|0x0000|100\n耻与哙伍|0x1000000|100\n叱嗟风云|0x1000000|100\n叱咤风云|0x1000000|25472\n斥之为|0x800000|934\n赤壁鏖兵|0x0000|100\n赤壁赋|0x0000|371\n赤壁市|0x0040|1451\n赤壁之战|0x0008|496\n赤膊上阵|0x1000000|43845\n赤诚相待|0x0000|100\n赤城县|0x0040|1061\n赤胆忠心|0x1000000|32482\n赤道带|0x0008|0\n赤道几内亚|0x0040|1670\n赤地千里|0x800000|50503\n赤峰市|0x0040|1333\n赤瓜礁|0x100000|1341\n赤褐色|0x100000|1156\n赤脚医生|0x800000|31600\n赤井英和|0x0080|0\n赤口白舌|0x0000|100\n赤口毒舌|0x800000|100\n赤练蛇|0x100000|1184\n赤裸裸|0x0100|14237\n赤霉病|0x0008|1205\n赤霉素|0x0008|1164\n赤贫如洗|0x0000|100\n赤日炎炎|0x0000|49739\n赤舌烧城|0x800000|100\n赤身露体|0x800000|1023\n赤身裸体|0x1000000|26733\n赤绳系足|0x800000|100\n赤石脂|0x100000|1210\n赤手空拳|0x1000000|24823\n赤水市|0x0040|1044\n赤条条|0x0100|22923\n赤铁矿|0x100000|1091\n赤铜矿|0x100000|1385\n赤卫队|0x100000|32868\n赤卫军|0x100000|1313\n赤藓糖|0x100000|0\n赤县神州|0x0040|1259\n赤小豆|0x100000|1026\n赤心报国|0x1000000|1351\n赤心相待|0x0000|100\n赤眼蜂|0x100000|1168\n赤子之心|0x800000|860\n炽天使|0x100000|532\n敕始毖终|0x1000000|100\n充充电|0x1000|947\n充充饥|0x100000|0\n充电电池|0x0008|766\n充电机|0x100000|435\n充电器|0x100000|43128\n充电式|0x0008|1426\n充电站|0x100000|1058\n充栋汗牛|0x1000000|100\n充栋盈车|0x1000000|100\n充耳不闻|0x1000000|32727\n充分发挥|0x0000|736\n充分利用|0x0000|703\n充分认识|0x0000|572\n充分体现|0x0000|637\n充饥画饼|0x1000000|100\n充类至尽|0x1000000|100\n充闾之庆|0x0000|100\n充满活力|0x0000|602\n充其量|0x8000000|19580\n充气卡通|0x100000|396\n充气式|0x20000000|1077\n充天塞地|0x1000000|100\n充箱盈架|0x0000|100\n充要条件|0x800000|895\n冲床工|0x100000|1254\n冲盹儿|0x1000|0\n冲风冒雨|0x1000000|100\n冲风破浪|0x1000000|100\n冲锋队|0x0000|447\n冲锋号|0x100000|1021\n冲锋枪|0x100000|23572\n冲锋陷坚|0x1000000|100\n冲锋陷锐|0x1000000|100\n冲锋陷阵|0x1000000|23357\n冲冠发怒|0x1000000|100\n冲冠怒发|0x1000000|100\n冲冠一怒为红颜|0x400000|0\n冲冠眦裂|0x1000000|100\n冲昏头脑|0x800000|920\n冲击波|0x100000|21748\n冲击力|0x100000|716\n冲击韧性|0x0008|0\n冲击钻|0x100000|1048\n冲积平原|0x0008|1018\n冲积扇|0x0008|1191\n冲积土|0x0008|0\n冲坚毁锐|0x0000|100\n冲劲儿|0x100000|32976\n冲劲十足|0x400000|2\n冲口而出|0x1000000|908\n冲浪板|0x100000|53642\n冲绳岛|0x0040|1056\n冲天炉|0x0008|1650\n冲天炮|0x100000|1050\n冲压机|0x100000|999\n冲云破雾|0x0000|100\n冲州过府|0x1000000|100\n冲州撞府|0x1000000|100\n冲撞力|0x100000|0\n舂容大雅|0x0000|100\n虫白蜡|0x100000|1259\n虫臂鼠肝|0x800000|100\n虫吃牙|0x100000|1535\n虫媒病毒|0x0008|0\n虫媒花|0x100000|1368\n虫沙猿鹤|0x800000|1381\n虫鱼之学|0x0000|100\n崇拜者|0x100000|828\n崇本抑末|0x1000000|0\n崇礼县|0x0040|1075\n崇论吰议|0x1000000|100\n崇论宏议|0x1000000|100\n崇论闳议|0x1000000|100\n崇论谹议|0x1000000|100\n崇明县|0x0040|1301\n崇仁县|0x0040|1053\n崇山峻岭|0x1000000|22000\n崇文门|0x0040|1403\n崇文区|0x0040|1227\n崇信县|0x0040|1135\n崇雅黜浮|0x1000000|100\n崇阳县|0x0040|1578\n崇洋媚外|0x800000|38435\n崇义县|0x0040|1072\n崇墉百雉|0x1000000|100\n崇州市|0x0040|1562\n宠爱有加|0x800000|899\n宠柳娇花|0x1000000|1253\n宠辱不惊|0x1000000|45827\n宠辱皆忘|0x0000|100\n宠辱若惊|0x1000000|1162\n宠物蛋|0x100000|491\n宠物店|0x100000|516\n宠物狗|0x100000|525\n宠物交易|0x100000|382\n宠物论坛|0x100000|505\n宠物商店|0x100000|472\n宠物食品|0x100000|443\n宠物市场|0x100000|440\n宠物玩具|0x100000|411\n宠物医院|0x100000|513\n宠物用品|0x100000|512\n宠物中心|0x100000|487\n宠物猪|0x100000|399\n抽抽搭搭|0x0100|1158\n抽抽噎噎|0x0000|100\n抽出空|0x1000|374\n抽刀断水|0x0000|100\n抽丁拔楔|0x1000000|100\n抽肥补瘦|0x1000000|54716\n抽风机|0x0008|1072\n抽功夫|0x1000|1409\n抽黄对白|0x1000000|100\n抽筋拔骨|0x800000|100\n抽筋剥皮|0x0000|100\n抽冷子|0x8000000|47313\n抽梁换柱|0x1000000|100\n抽祕骋妍|0x1000000|100\n抽秘骋妍|0x0000|100\n抽气机|0x0008|1249\n抽水机|0x100000|27998\n抽水马桶|0x4000000|31139\n抽水站|0x100000|48663\n抽丝剥茧|0x800000|919\n抽穗期|0x100000|1313\n抽胎换骨|0x1000000|100\n抽象化|0x1000|974\n抽象画|0x100000|923\n抽象劳动|0x100000|977\n抽象派|0x100000|992\n抽象思维|0x100000|963\n抽象性|0x100000|1017\n抽象主义|0x0008|0\n抽薪止沸|0x1000000|1431\n抽样调查|0x800000|824\n抽样误差|0x0008|0\n抽印本|0x100000|1302\n抽油泵|0x0008|0\n抽油机|0x0000|51306\n抽油烟机|0x100000|41890\n抽壮丁|0x1000|54169\n仇人见面|0x1000000|999\n仇人相见|0x1000000|869\n绸缪束薪|0x0000|100\n绸缪帷幄|0x0000|100\n畴咨之忧|0x0000|100\n愁长殢酒|0x0000|100\n愁肠百结|0x1000000|1006\n愁肠寸断|0x0000|100\n愁肠九回|0x400000|100\n愁肠九转|0x1400000|0\n愁肠殢酒|0x0000|100\n愁多夜长|0x0000|100\n愁红惨绿|0x1000000|100\n愁红怨绿|0x1000000|100\n愁眉不展|0x1000000|811\n愁眉蹙额|0x1000000|100\n愁眉苦脸|0x1000000|21701\n愁眉苦眼|0x1000000|100\n愁眉泪眼|0x1000000|1542\n愁眉锁眼|0x1000000|1352\n愁眉啼妆|0x0000|100\n愁潘病沈|0x1000000|100\n愁容满面|0x800000|1002\n愁山闷海|0x1000000|100\n愁绪如麻|0x0000|100\n愁云惨淡|0x0000|100\n愁云惨雾|0x1000000|50899\n稠人广众|0x1000000|1221\n稠人广坐|0x0000|100\n稠人广座|0x800000|100\n筹备处|0x100000|1582\n筹备会|0x100000|1009\n筹备组|0x100000|930\n筹集资金|0x0000|536\n筹委会|0x100000|15261\n酬功给效|0x1000000|100\n踌躇不决|0x800000|1163\n踌躇不前|0x800000|47940\n踌躇满志|0x1000000|23162\n丑八怪|0x500000|41197\n丑类恶物|0x800000|100\n丑声四溢|0x400000|0\n丑声远播|0x800000|100\n丑态百出|0x1000000|45523\n丑态毕露|0x1000000|1142\n丑媳妇总得见公婆|0x0000|100\n丑小鸭|0x100000|40747\n臭不可当|0x800000|1344\n臭不可闻|0x1000000|1022\n臭豆腐|0x100000|28346\n臭烘烘|0x0100|38062\n臭乎乎|0x0100|1542\n臭架子|0x100000|45524\n臭老九|0x500000|1\n臭骂一顿|0x400000|0\n臭名远扬|0x800000|45829\n臭名昭彰|0x800000|1254\n臭名昭著|0x800000|29720\n臭皮囊|0x100000|53644\n臭肉来蝇|0x800000|100\n臭味儿|0x0000|17934\n臭味相投|0x1000000|46125\n臭氧层|0x100000|18054\n臭氧洞|0x100000|1225\n臭氧发生器|0x100000|472\n出埃及记|0x0000|424\n出版发行|0x0008|759\n出版界|0x100000|896\n出版商|0x100000|35039\n出版社|0x100000|2634\n出版事业|0x0008|2\n出版物|0x100000|7334\n出版项|0x0008|0\n出版业|0x100000|860\n出版者|0x100000|843\n出岔子|0x1000|41198\n出差错|0x1000|467\n出差费|0x100000|1176\n出产地|0x100000|1055\n出厂价|0x100000|808\n出厂价格|0x0000|584\n出场费|0x100000|864\n出尘不染|0x0000|100\n出陈易新|0x1000000|100\n出丑放乖|0x1000000|100\n出丑扬疾|0x1000000|100\n出出进进|0x0100|983\n出出律律|0x1000000|100\n出出气|0x100000|1003\n出处进退|0x1000000|100\n出处殊涂|0x1000000|100\n出处殊途|0x1000000|100\n出处语默|0x1000000|100\n出词吐气|0x1000000|100\n出敌不意|0x1000000|1229\n出敌意外|0x1000000|100\n出点子|0x1000|35180\n出尔反尔|0x1000000|30255\n出发地|0x100000|822\n出发点|0x100000|5037\n出凡入胜|0x0000|100\n出份子|0x1000|53645\n出风头|0x1000|22353\n出公忘私|0x1000000|100\n出谷迁乔|0x1000000|100\n出乖露丑|0x1000000|54170\n出乖弄丑|0x1000000|100\n出鬼入神|0x1000000|100\n出国考察|0x100000|933\n出何典记|0x1000000|100\n出何经典|0x1000000|100\n出乎反乎|0x1000000|100\n出乎意表|0x1000000|100\n出乎意料|0x1000000|17171\n出乎意料之外|0x0000|449\n出乎意外|0x1000000|970\n出乎预料|0x1000000|1002\n出活儿|0x0000|19656\n出货量|0x100000|815\n出家人|0x100000|31721\n出将入相|0x1000000|48664\n出境证|0x100000|1285\n出口产品|0x100000|752\n出口成章|0x1000000|38063\n出口额|0x100000|11165\n出口国|0x100000|876\n出口加工区|0x100000|889\n出口量|0x100000|799\n出口贸易|0x100000|753\n出口配额|0x100000|473\n出口入耳|0x1000000|100\n出口伤人|0x800000|49033\n出口商|0x100000|740\n出口商品|0x100000|565\n出口税|0x0008|1033\n出栏率|0x0000|43619\n出类拔萃|0x1000000|22313\n出冷门|0x800000|1240\n出力不讨好|0x0008|1041\n出漏子|0x1000|1207\n出乱子|0x1000|30902\n出卖方|0x100000|1253\n出卖灵魂|0x800000|992\n出毛病|0x1000|23163\n出没不常|0x1000000|100\n出没无常|0x1000000|1189\n出门合辙|0x1000000|100\n出门如宾|0x1000000|100\n出门应辙|0x1000000|100\n出门在外|0x800000|742\n出门子|0x0000|50900\n出苗率|0x100000|1203\n出谋划策|0x1000000|18643\n出谋画策|0x0000|100\n出谋献策|0x800000|42400\n出内之吝|0x1000000|100\n出纳台|0x100000|1340\n出纳员|0x100000|35329\n出纳之吝|0x1000000|0\n出难题|0x800000|962\n出奴入主|0x1000000|100\n出其不备|0x1000000|0\n出其不意|0x1000000|22819\n出其不虞|0x1000000|100\n出奇不穷|0x1000000|100\n出奇划策|0x1000000|100\n出奇取胜|0x1000000|100\n出奇无穷|0x1000000|100\n出奇制胜|0x1000000|26514\n出奇致胜|0x1000000|1192\n出气筒|0x100000|47016\n出浅入深|0x1000000|100\n出勤率|0x100000|48665\n出圈儿|0x1000|39677\n出群拔萃|0x1000000|100\n出人命|0x800000|29301\n出人头地|0x1000000|28254\n出人望外|0x1000000|100\n出人意表|0x1000000|932\n出人意料|0x800000|12610\n出人意外|0x1000000|971\n出如脱兔|0x0000|100\n出入将相|0x1000000|100\n出入境|0x1000|8258\n出入口|0x100000|807\n出入人罪|0x1000000|1319\n出入神鬼|0x1000000|100\n出入生死|0x1000000|100\n出入无间|0x1000000|100\n出入证|0x100000|49034\n出山泉水|0x0000|100\n出神入定|0x1000000|100\n出神入化|0x1000000|29827\n出生地|0x100000|723\n出生率|0x100000|26664\n出生日期|0x0000|631\n出生入死|0x1000000|24687\n出生证|0x0000|49393\n出圣入神|0x1000000|100\n出师表|0x100000|906\n出师不利|0x800000|901\n出师无名|0x1000000|1256\n出师有名|0x1000000|1200\n出世超凡|0x1000000|100\n出世离群|0x1000000|100\n出手不凡|0x800000|965\n出手得卢|0x1000000|100\n出售一空|0x400000|0\n出水芙蓉|0x1000000|832\n出水管|0x100000|1072\n出水口|0x0008|971\n出死断亡|0x1000000|100\n出死入生|0x1000000|1198\n出摊儿|0x0000|48282\n出头露面|0x1000000|32485\n出头天|0x0008|0\n出头之日|0x800000|892\n出土文物|0x100000|807\n出文入武|0x1000000|100\n出问题|0x1000|646\n出污泥而不染|0x1000000|1007\n出席会议|0x100000|788\n出线权|0x100000|31959\n出血病|0x0008|1225\n出血热|0x100000|1009\n出言不逊|0x1000000|37503\n出言成章|0x1000000|100\n出言吐词|0x1000000|100\n出言吐气|0x1000000|100\n出言吐语|0x1000000|1346\n出言无状|0x1000000|1254\n出言有章|0x800000|100\n出洋相|0x1000|40109\n出一头地|0x1400000|0\n出夷入险|0x1000000|100\n出以公心|0x800000|41422\n出幽迁乔|0x1000000|100\n出幽升高|0x1000000|100\n出油率|0x100000|1158\n出有入无|0x1000000|1378\n出淤泥而不染|0x800000|879\n出于无奈|0x800000|941\n出于意表|0x0000|100\n出于意外|0x0000|100\n出舆入辇|0x1000000|100\n出语成章|0x1000000|100\n出远门|0x1000|27033\n出云入泥|0x1000000|100\n出震继离|0x1000000|100\n出主意|0x0000|15424\n出资额|0x100000|994\n出资人|0x100000|924\n出自意外|0x1000000|100\n出租车|0x100000|5405\n出租车司机|0x100000|596\n出租店|0x100000|1007\n出租汽车|0x4000000|15343\n出租人|0x100000|993\n出租屋|0x100000|812\n初步判断|0x100000|466\n初步设计|0x100000|511\n初产妇|0x100000|1136\n初出茅庐|0x1000000|33371\n初次见面|0x0000|543\n初等教育|0x800000|939\n初级班|0x100000|923\n初级产品|0x0008|10\n初级教程|0x100000|446\n初级阶段|0x100000|749\n初级社|0x100000|50901\n初级线圈|0x800000|1128\n初级小学|0x100000|773\n初级中学|0x800000|833\n初加工|0x100000|945\n初见成效|0x800000|851\n初具规模|0x800000|15344\n初来乍到|0x800000|28255\n初恋女友|0x100000|507\n初恋情人|0x0000|550\n初露锋芒|0x1000000|44933\n初露头角|0x800000|50902\n初三化学|0x100000|474\n初生牛犊|0x800000|857\n初生牛犊不怕虎|0x0008|900\n初生之犊|0x800000|50505\n初生之犊不惧虎|0x0008|100\n初生之犊不畏虎|0x0008|1165\n初始化|0x100000|667\n初始密码|0x100000|444\n初始值|0x100000|471\n初试锋芒|0x1000000|1052\n初速度|0x0008|0\n初写黄庭|0x1000000|100\n初学者|0x100000|593\n初一学生|0x100000|462\n初一英语|0x100000|428\n初值问题|0x0008|0\n初中版|0x100000|424\n初中毕业生|0x100000|505\n初中部|0x100000|482\n初中化学|0x100000|474\n初中历史|0x100000|427\n初中生|0x100000|729\n初中生物|0x100000|412\n初中试卷|0x100000|370\n初中英语|0x100000|515\n初中语文|0x100000|502\n初装费|0x100000|918\n樗栎庸材|0x1000000|100\n刍荛之见|0x1000000|100\n刍荛之言|0x0000|100\n除暴安良|0x1000000|42656\n除残去秽|0x1000000|100\n除草机|0x0008|1165\n除草剂|0x100000|27193\n除尘器|0x100000|41425\n除虫菊|0x100000|48284\n除臭剂|0x100000|945\n除此而外|0x800000|1039\n除此以外|0x800000|24039\n除此之外|0x800000|11359\n除恶务本|0x1000000|100\n除恶务尽|0x1000000|33236\n除非己莫为|0x0008|1049\n除垢剂|0x0008|391\n除害灭病|0x0008|0\n除害兴利|0x800000|1374\n除患兴利|0x0000|100\n除秽布新|0x1000000|100\n除疾遗类|0x0000|100\n除奸革弊|0x0000|100\n除旧布新|0x1000000|44630\n除旧更新|0x1000000|1345\n除狼得虎|0x1000000|100\n除权除息日|0x0008|1120\n除权日|0x0008|1078\n除湿机|0x0008|793\n除霜机|0x100000|0\n除夕夜|0x4000|23980\n除邪惩恶|0x0000|100\n除莠剂|0x0008|2\n厨房电器|0x100000|456\n厨房家具|0x100000|413\n厨房设备|0x100000|513\n厨房设施|0x100000|414\n厨房用具|0x0008|875\n厨房用品|0x100000|501\n滁州市|0x0040|1278\n锄强扶弱|0x1000000|1069\n雏凤清声|0x0000|100\n雏鹰展翅|0x1000000|1013\n橱柜门|0x100000|387\n杵臼交|0x0000|100\n杵臼之交|0x1000000|100\n础泣而雨|0x0000|100\n础润而雨|0x1000000|100\n储备金|0x100000|54720\n储备粮|0x100000|17194\n储备量|0x100000|1028\n储藏库|0x100000|1120\n储藏量|0x100000|1091\n储藏室|0x100000|36779\n储存卡|0x0008|475\n储存库|0x100000|1081\n储存量|0x100000|1020\n储存器|0x100000|1055\n储存区|0x100000|1219\n储气罐|0x0000|407\n储水量|0x100000|1165\n储蓄存款|0x0000|543\n储蓄额|0x100000|1152\n储蓄所|0x100000|19944\n储蓄银行|0x0008|6\n储油罐|0x100000|47316\n储油量|0x100000|1266\n储值卡|0x100000|973\n楮实子|0x100000|1345\n楚璧隋珍|0x1000000|100\n楚才晋用|0x1000000|100\n楚材晋用|0x1000000|1349\n楚楚不凡|0x1000000|100\n楚楚动人|0x1000000|34158\n楚楚可爱|0x1000000|1273\n楚楚可怜|0x1000000|798\n楚楚可人|0x1000000|0\n楚楚谡谡|0x1000000|100\n楚楚有致|0x1000000|100\n楚楚作态|0x1000000|100\n楚得楚弓|0x1000000|100\n楚歌四合|0x1400000|0\n楚歌四面|0x1400000|0\n楚歌四起|0x1400000|0\n楚歌之计|0x1000000|100\n楚弓楚得|0x1000000|1412\n楚弓复得|0x1000000|100\n楚弓遗影|0x1000000|100\n楚棺秦楼|0x1000000|100\n楚馆秦楼|0x1000000|100\n楚管蛮弦|0x1000000|100\n楚汉相争|0x1000000|1046\n楚河汉界|0x1000000|995\n楚界汉河|0x0000|100\n楚梦云雨|0x0000|100\n楚囊之情|0x1000000|100\n楚囚对泣|0x1000000|100\n楚囚相对|0x1000000|100\n楚水吴山|0x0000|100\n楚天云雨|0x1000000|1533\n楚尾吴头|0x1000000|0\n楚舞吴歌|0x1000000|100\n楚雄市|0x0040|1576\n楚腰蛴领|0x1000000|100\n楚腰卫鬓|0x1000000|100\n楚腰纤细|0x0000|100\n楚雨巫云|0x1000000|100\n楚越之急|0x1000000|100\n楚云湘雨|0x1000000|100\n褚小杯大|0x1000000|100\n褚小怀大|0x0000|100\n处变不惊|0x800000|37860\n处方药|0x100000|20157\n处高临深|0x0000|100\n处理机|0x100000|862\n处理品|0x100000|46694\n处理器|0x100000|560\n处理器类型|0x100000|548\n处理器频率|0x100000|454\n处理软件|0x100000|572\n处女地|0x100000|33237\n处女航|0x100000|1091\n处女膜|0x100000|46406\n处女作|0x100000|27917\n处女座|0x0000|654\n处实效功|0x0000|100\n处堂燕雀|0x1000000|100\n处堂燕鹊|0x0000|100\n处心积虑|0x1000000|29000\n处于领先地位|0x0000|518\n处之泰然|0x1000000|44935\n处尊居显|0x0000|100\n怵目惊心|0x1000000|49744\n触处机来|0x1000000|100\n触地号天|0x1000000|100\n触斗蛮争|0x1000000|100\n触发器|0x100000|845\n触机便发|0x800000|100\n触景伤怀|0x1000000|100\n触景伤情|0x1000000|953\n触景伤心|0x1000000|100\n触景生情|0x1000000|32100\n触觉器|0x100000|0\n触觉式|0x100000|0\n触类而长|0x1000000|100\n触类而通|0x1000000|1351\n触类旁通|0x1000000|47018\n触霉头|0x1000|1098\n触摸屏|0x100000|724\n触摸式|0x100000|899\n触目崩心|0x1000000|100\n触目成诵|0x0000|100\n触目皆是|0x1000000|49395\n触目经心|0x1000000|100\n触目惊心|0x1000000|13420\n触目儆心|0x1000000|100\n触目警心|0x1000000|100\n触目如故|0x0000|100\n触目伤怀|0x1000000|100\n触目伤心|0x1000000|100\n触目恸心|0x1000000|100\n触目兴叹|0x0000|100\n触石决木|0x1000000|100\n触手可及|0x800000|748\n触手生春|0x1000000|100\n触物伤情|0x0000|100\n触物兴怀|0x0000|100\n黜昏启圣|0x1000000|100\n黜奢崇俭|0x1000000|100\n黜邪崇正|0x1000000|100\n黜衣缩食|0x1000000|100\n黜幽陟明|0x1000000|100\n黜陟幽明|0x1000000|1341\n揣骨听声|0x1000000|100\n揣合逢迎|0x0000|100\n揣奸把猾|0x0000|100\n揣时度力|0x1000000|100\n揣手儿|0x1000|54721\n啜食吐哺|0x0000|100\n啜菽饮水|0x1000000|100\n啜英咀华|0x1000000|100\n川贝母|0x100000|1087\n川岛芳子|0x0080|1707\n川端康成|0x0080|1509\n川楝子|0x0008|1156\n川流不息|0x1000000|22314\n川木香|0x100000|1319\n川牛膝|0x0008|0\n川渟岳峙|0x1000000|100\n川壅必溃|0x1000000|100\n川泽纳污|0x0000|100\n穿壁引光|0x1000000|100\n穿房入户|0x1000000|0\n穿红着绿|0x0000|100\n穿花纳锦|0x0000|100\n穿甲弹|0x100000|50116\n穿井得人|0x1000000|100\n穿孔机|0x0008|1114\n穿孔卡片|0x0008|0\n穿孔器|0x0008|1154\n穿孔纸带|0x0008|0\n穿连裆裤|0x800000|55146\n穿山甲|0x100000|24938\n穿山龙|0x100000|1213\n穿山越岭|0x800000|0\n穿梭外交|0x800000|1213\n穿堂风|0x100000|51312\n穿堂门|0x100000|55608\n穿透力|0x100000|29722\n穿透性|0x0000|415\n穿小鞋|0x800000|47630\n穿心莲|0x100000|54172\n穿靴戴帽|0x800000|50507\n穿衣服|0x0000|609\n穿衣镜|0x100000|34597\n穿窬之盗|0x1000000|100\n穿云裂石|0x1000000|1225\n穿云破雾|0x1000000|49745\n穿凿附会|0x1000000|53651\n穿针引线|0x1000000|35792\n穿着打扮|0x0000|492\n穿着者|0x100000|410\n传帮带|0x800000|33737\n传杯换盏|0x1000000|100\n传杯弄盏|0x1000000|100\n传柄移藉|0x1000000|100\n传播常数|0x0008|0\n传播媒介|0x0008|483\n传播媒体|0x100000|894\n传播速度|0x0000|464\n传播学|0x100000|790\n传播者|0x100000|874\n传达室|0x100000|22667\n传导性|0x0008|1093\n传道受业|0x1000000|100\n传道授业|0x1000000|944\n传递窗|0x100000|986\n传递函数|0x0008|0\n传动比|0x100000|1073\n传动带|0x100000|927\n传动件|0x100000|394\n传动链|0x100000|1114\n传动系统|0x100000|488\n传动轴|0x100000|899\n传风搧火|0x1000000|100\n传风扇火|0x0000|100\n传感器|0x100000|17131\n传圭袭组|0x1000000|100\n传龟袭紫|0x0000|100\n传呼电话|0x100000|796\n传呼机|0x100000|34287\n传记片|0x100000|50841\n传记文学|0x0008|1\n传家宝|0x100000|28447\n传家之宝|0x100000|1043\n传教士|0x100000|13782\n传经送宝|0x800000|53654\n传爵袭紫|0x1000000|100\n传令兵|0x100000|1000\n传媒大学|0x100000|492\n传媒有限公司|0x100000|513\n传能线密度|0x0008|0\n传奇幻想|0x100000|470\n传奇论坛|0x100000|454\n传奇人物|0x100000|534\n传奇世界|0x100000|706\n传奇性|0x100000|944\n传奇一生|0x100000|455\n传染病|0x100000|4524\n传染性|0x100000|9810\n传染源|0x0000|23789\n传热系数|0x0008|0\n传热学|0x0008|1056\n传入神经|0x800000|929\n传神阿堵|0x1000000|100\n传声器|0x100000|961\n传声筒|0x100000|37681\n传输线|0x100000|940\n传说中|0x100000|747\n传诵一时|0x400000|100\n传送带|0x100000|34598\n传颂一时|0x400000|0\n传统产业|0x100000|570\n传统服装|0x100000|428\n传统工艺|0x0000|510\n传统化|0x100000|0\n传统节日|0x100000|764\n传统媒体|0x100000|571\n传统美德|0x0000|536\n传统文化|0x100000|633\n传统武术|0x100000|445\n传统习俗|0x100000|460\n传统相机|0x100000|483\n传统性|0x100000|1025\n传统医学|0x0008|870\n传为佳话|0x1000000|946\n传为美谈|0x1000000|1043\n传为笑柄|0x0000|100\n传为笑谈|0x0000|100\n传闻不如亲见|0x0000|100\n传闻异辞|0x800000|100\n传檄而定|0x1000000|100\n传下去|0x0000|451\n传真电报|0x800000|1266\n传真号码|0x0000|680\n传真机|0x100000|29507\n传之其人|0x1000|776\n传宗接代|0x800000|32871\n船舶工业|0x100000|885\n船舶机械|0x100000|379\n船舶设计|0x100000|404\n船长室|0x100000|1160\n船到江心补漏迟|0x0008|1305\n船到桥门自会直|0x0000|100\n船多不碍路|0x0008|100\n船夫曲|0x100000|1135\n船坚炮利|0x800000|1089\n船老大|0x100000|34021\n船昀室|0x100000|0\n舛讹百出|0x0000|100\n喘喘气|0x1000|1128\n喘息未定|0x0000|100\n喘息之间|0x0000|100\n喘嘘嘘|0x0100|0\n喘吁吁|0x0100|41662\n喘月吴牛|0x1000000|100\n串并联|0x100000|1152\n串联式|0x100000|1151\n串门儿|0x0000|22094\n串门子|0x1000|988\n串亲访友|0x0000|100\n串亲戚|0x1000|46408\n串通一气|0x1400000|36781\n串味儿|0x100000|55609\n串行口|0x0000|453\n疮痍满目|0x1000000|51752\n窗玻璃|0x100000|871\n窗格子|0x100000|53164\n窗间过马|0x0000|100\n窗口期|0x100000|390\n窗口行业|0x0000|32225\n窗帘布|0x100000|439\n窗帘轨道|0x100000|369\n窗明几净|0x1000000|32730\n床上安床|0x1000000|100\n床上迭床|0x0000|100\n床上叠床|0x1000000|100\n床上施床|0x1000000|100\n床上用品|0x100000|620\n床上运动|0x0000|398\n床头灯|0x100000|444\n床头柜|0x100000|25748\n床头金尽|0x1000000|100\n床下安床|0x0000|100\n床下牛斗|0x0000|100\n床笫之私|0x0000|100\n创办人|0x100000|788\n创办者|0x100000|970\n创汇额|0x100000|1138\n创汇率|0x100000|0\n创纪录|0x1000|788\n创建活动|0x100000|809\n创建人|0x100000|760\n创建者|0x100000|825\n创巨痛仍|0x1000000|100\n创巨痛深|0x1000000|1320\n创钜痛仍|0x1000000|100\n创钜痛深|0x0000|100\n创剧痛深|0x1000000|100\n创刊词|0x100000|1143\n创刊号|0x100000|27766\n创牌子|0x1000|51753\n创始人|0x100000|11729\n创始者|0x100000|935\n创世纪|0x100000|745\n创业垂统|0x1000000|1301\n创业精神|0x0000|493\n创业史|0x100000|947\n创业维艰|0x800000|1135\n创业项目|0x100000|571\n创业者|0x100000|650\n创意曲|0x0008|0\n创意设计|0x100000|532\n创意造言|0x1000000|100\n创意作品|0x100000|395\n创造财富|0x0000|544\n创造力|0x100000|648\n创造物|0x100000|1025\n创造性|0x100000|2970\n创造性劳动|0x0000|415\n创造性思维|0x0008|878\n创造者|0x100000|778\n创制权|0x0008|0\n创作方法|0x0008|0\n创作力|0x100000|959\n创作人|0x100000|865\n创作者|0x100000|778\n怆地呼天|0x0000|100\n怆然泪下|0x800000|0\n怆然涕下|0x0000|100\n怆天呼地|0x0000|100\n吹篪乞食|0x0000|100\n吹吹打打|0x800000|36965\n吹唇唱吼|0x800000|100\n吹弹得破|0x1000000|1081\n吹弹歌舞|0x0000|100\n吹灯拔蜡|0x800000|54722\n吹法螺|0x1000|1332\n吹风会|0x0000|33239\n吹风机|0x100000|45831\n吹垢索瘢|0x1000000|100\n吹鼓手|0x100000|28703\n吹胡子瞪眼|0x0008|41663\n吹花嚼蕊|0x1000000|100\n吹灰之力|0x100000|36966\n吹角连营|0x800000|1103\n吹糠见米|0x1000000|1203\n吹口哨|0x0000|491\n吹拉弹唱|0x0000|42402\n吹喇叭|0x800000|40539\n吹冷风|0x1000|52652\n吹毛利刃|0x0000|100\n吹毛求疵|0x1000000|38236\n吹毛求瑕|0x1000000|100\n吹毛数睫|0x1000000|100\n吹毛索瘢|0x1000000|100\n吹毛索疵|0x1000000|100\n吹毛索垢|0x1000000|100\n吹毛洗垢|0x1000000|100\n吹膜机|0x100000|423\n吹牛拍马|0x1000000|1163\n吹牛皮|0x1000|40974\n吹气如兰|0x1000000|1100\n吹气胜兰|0x1000000|100\n吹塑机|0x100000|397\n吹网欲满|0x1000000|100\n吹箫乞食|0x1000000|100\n吹氧管|0x100000|1259\n吹叶嚼蕊|0x1000000|100\n吹影镂尘|0x1000000|100\n吹皱一池|0x400000|0\n吹皱一池春水|0x400008|0\n吹竹弹丝|0x1000000|100\n吹奏乐|0x100000|1221\n吹奏者|0x100000|0\n炊金馔玉|0x1000000|100\n炊臼之戚|0x0000|100\n炊臼之痛|0x0000|100\n炊粱跨卫|0x1000000|100\n炊琼爇桂|0x1000000|100\n炊沙成饭|0x800000|100\n炊沙镂冰|0x1000000|100\n炊沙作饭|0x1000000|100\n炊沙作糜|0x1000000|100\n炊砂作饭|0x1000000|100\n炊事班|0x100000|21259\n炊事员|0x100000|18497\n炊鲜漉清|0x1000000|100\n炊烟袅袅|0x800000|954\n垂耳下首|0x1000000|100\n垂饵虎口|0x1000000|100\n垂范百世|0x0000|100\n垂拱而治|0x0000|100\n垂花门|0x100000|1142\n垂帘听决|0x1000000|100\n垂帘听政|0x1000000|44631\n垂名青史|0x0000|100\n垂名竹帛|0x0000|100\n垂暮之年|0x100000|47634\n垂盆草|0x100000|1192\n垂手而得|0x800000|1351\n垂手可得|0x1000000|942\n垂首丧气|0x1000000|100\n垂首贴耳|0x800000|0\n垂首帖耳|0x800000|0\n垂死挣扎|0x1000000|40323\n垂体后叶素|0x100000|0\n垂体瘤|0x0000|372\n垂体性侏儒症|0x0008|0\n垂头塞耳|0x1000000|100\n垂头丧气|0x1000000|18056\n垂头铩羽|0x1000000|100\n垂头塌翅|0x1000000|100\n垂头搨翼|0x1000000|100\n垂涎三尺|0x1400000|39056\n垂涎欲滴|0x1000000|47635\n垂杨柳|0x100000|991\n垂裕后昆|0x0000|100\n垂直地带性|0x0008|1255\n垂直叠加|0x0008|0\n垂直舵|0x0008|0\n垂直绿化|0x0000|53655\n垂直面|0x100000|1137\n垂直平分线|0x100000|1237\n垂直起落|0x0008|0\n垂直线|0x100000|48287\n捶床捣枕|0x0000|100\n捶床拍枕|0x0000|100\n捶骨沥髓|0x1000000|100\n捶胸跌脚|0x1000000|100\n捶胸跌足|0x1000000|100\n捶胸顿脚|0x1000000|100\n捶胸顿足|0x1000000|37334\n槌牛酾酒|0x1000000|100\n槌仁提义|0x1000000|100\n槌胸蹋地|0x1000000|100\n春冰虎尾|0x0000|100\n春蚕到死丝方尽|0x800000|943\n春大麦|0x100000|1258\n春分点|0x100000|1194\n春风吹又生|0x0008|890\n春风得意|0x1000000|29304\n春风风人|0x1000000|1336\n春风和气|0x1000000|1333\n春风化雨|0x1000000|26033\n春风满面|0x1000000|44097\n春风夏雨|0x0000|100\n春风野火|0x1000000|100\n春风一度|0x1400000|0\n春风沂水|0x0000|100\n春风雨露|0x800000|1252\n春宫画|0x0000|414\n春宫图|0x100000|441\n春光漏泄|0x0000|100\n春光明媚|0x800000|839\n春光乍泄|0x100000|752\n春寒料峭|0x800000|36616\n春和景明|0x800000|1086\n春花秋实|0x1000000|1115\n春花秋月|0x1000000|824\n春华秋实|0x1000000|35481\n春化阶段|0x0008|0\n春晖寸草|0x0000|100\n春回大地|0x800000|934\n春季班|0x100000|0\n春江花月夜|0x0008|1387\n春节假期|0x0000|456\n春节联欢晚会|0x0000|547\n春节期间|0x100000|640\n春节前夕|0x100000|471\n春节晚会|0x100000|594\n春兰秋菊|0x1000000|1128\n春露秋霜|0x1000000|100\n春梦无痕|0x800000|1083\n春梦一场|0x400000|0\n春梦一场空|0x400000|0\n春暖花开|0x800000|27840\n春暖花香|0x0000|100\n春葩丽藻|0x800000|100\n春秋笔法|0x1000000|53166\n春秋鼎盛|0x1000000|1249\n春秋衫|0x0000|55152\n春秋时期|0x100000|488\n春秋书院|0x100000|493\n春秋战国|0x100000|778\n春去秋来|0x800000|860\n春色撩人|0x0000|100\n春色满园|0x1000000|925\n春山如笑|0x800000|1223\n春蛇秋蚓|0x1000000|100\n春深似海|0x0000|100\n春生秋杀|0x0000|100\n春生夏长|0x0000|100\n春树暮云|0x1000000|1329\n春诵夏弦|0x1000000|100\n春笋怒发|0x0000|100\n春蛙秋蝉|0x0000|100\n春夏秋冬|0x800000|690\n春宵一刻|0x400000|100\n春宵一刻值千金|0x400000|0\n春小麦|0x100000|39251\n春意盎然|0x800000|26954\n春意阑珊|0x0000|100\n春蚓秋蛇|0x1000000|100\n春雨贵如油|0x0008|1008\n春雨如油|0x0000|100\n春运期间|0x0000|526\n春种一粒粟|0x400000|0\n椿庭萱室|0x1000000|100\n椿萱并茂|0x800000|1366\n纯合子|0x0008|0\n纯洁性|0x100000|965\n纯净界|0x100000|410\n纯净水|0x100000|26183\n纯利润|0x100000|920\n纯情房东|0x100000|456\n纯收入|0x100000|5436\n纯收益|0x0000|408\n纯文学|0x100000|921\n纯一不杂|0x400000|100\n纯音乐|0x0008|585\n纯真版|0x100000|465\n纯正无邪|0x0000|100\n纯种马|0x100000|1187\n纯属骗局|0x0000|100\n唇敝舌腐|0x0000|100\n唇不离腮|0x800000|100\n唇齿相须|0x0000|100\n唇齿相依|0x1000000|35183\n唇齿之邦|0x0000|100\n唇辅相连|0x0000|100\n唇腐齿落|0x0000|100\n唇干口燥|0x0000|100\n唇红齿白|0x800000|44632\n唇尖舌利|0x0000|100\n唇焦口燥|0x0000|100\n唇焦舌敝|0x1000000|0\n唇揭齿寒|0x0000|100\n唇竭齿寒|0x0000|100\n唇枪舌剑|0x1000000|32361\n唇亡齿寒|0x1000000|43135\n唇系带|0x100000|1542\n莼羹鲈脍|0x800000|100\n莼鲈之思|0x800000|1307\n淳安县|0x0040|1520\n淳化县|0x0040|1043\n脣齿相依|0x1000000|0\n脣枪舌剑|0x1000000|0\n脣亡齿寒|0x1000000|0\n鹑居鷇食|0x1000000|100\n鹑居鷇饮|0x1000000|100\n鹑衣百结|0x1000000|1322\n鹑衣鹄面|0x1000000|100\n鹑衣鷇食|0x1000000|100\n醇酒妇人|0x1000000|1315\n醇酒美人|0x1000000|1155\n醇酸树脂|0x0008|0\n蠢蠢欲动|0x1000000|34023\n蠢头蠢脑|0x800000|0\n踔绝之能|0x100000|100\n踔厉奋发|0x1000000|100\n踔厉风发|0x1000000|1397\n踔厉骏发|0x1000000|100\n戳脊梁骨|0x800000|49747\n戳无路儿|0x0000|100\n戳心灌髓|0x1000000|100\n惙怛伤悴|0x0000|100\n绰绰有余|0x1000000|35794\n绰绰有裕|0x0000|100\n绰有余裕|0x800000|1346\n绰约多姿|0x800000|1176\n逴俗绝物|0x1000000|100\n辍毫栖牍|0x1000000|100\n歠菽饮水|0x1000000|100\n词不达意|0x1000000|46410\n词不逮理|0x0000|100\n词不逮意|0x1000000|100\n词钝意虚|0x800000|100\n词华典赡|0x1000000|100\n词汇表|0x0008|883\n词汇量|0x100000|849\n词汇学|0x100000|1009\n词清讼简|0x1000000|100\n词穷理极|0x0000|100\n词穷理尽|0x1000000|100\n词穷理绝|0x1000000|0\n词穷理屈|0x1000000|100\n词曲创作|0x100000|472\n词曲作者|0x100000|451\n词无枝叶|0x0000|100\n词严义密|0x1000000|100\n词严义正|0x1000000|0\n词言义正|0x0000|100\n词约指明|0x1000000|100\n词正理直|0x1000000|100\n慈悲为本|0x0000|100\n慈利县|0x0040|1606\n慈眉善目|0x1000000|39252\n慈眉善眼|0x0000|100\n慈明无双|0x1000000|100\n慈善机构|0x0000|509\n慈善家|0x100000|863\n慈善事业|0x0000|533\n慈乌反哺|0x0000|100\n慈乌返哺|0x0000|100\n慈溪市|0x0040|1130\n慈禧太后|0x0000|529\n辞不达义|0x1000000|100\n辞不达意|0x1000000|1044\n辞不获命|0x1000000|100\n辞多受少|0x0000|100\n辞富居贫|0x0000|100\n辞简义赅|0x1000000|100\n辞金蹈海|0x1000000|100\n辞旧迎新|0x800000|809\n辞巧理拙|0x0000|100\n辞穷理屈|0x1000000|100\n辞微旨远|0x0000|100\n辞严气正|0x1000000|100\n辞严义正|0x1000000|100\n辞严谊正|0x1000000|100\n辞严意正|0x1000000|100\n辞职报告|0x0000|451\n辞职书|0x100000|1022\n辞尊居卑|0x800000|1536\n磁场强度|0x100000|938\n磁存储器|0x0008|0\n磁带机|0x0008|860\n磁带库|0x100000|962\n磁单极子|0x0008|0\n磁导计|0x100000|0\n磁导率|0x100000|1149\n磁电机|0x100000|1100\n磁碟机|0x0008|458\n磁碟片|0x0000|384\n磁碟组|0x100000|0\n磁共振|0x100000|927\n磁光效应|0x0008|0\n磁化率|0x0008|0\n磁记录器|0x0008|0\n磁控溅射|0x100000|1069\n磁力泵|0x100000|493\n磁力计|0x100000|1402\n磁力锁|0x100000|391\n磁力线|0x100000|1082\n磁量子数|0x0008|0\n磁盘操作系统|0x0008|0\n磁盘存储器|0x0008|0\n磁盘分区|0x100000|480\n磁盘工具|0x100000|528\n磁盘空间|0x0000|545\n磁盘驱动器|0x100000|790\n磁盘碎片|0x0000|511\n磁盘阵列|0x100000|832\n磁偏计|0x0008|0\n磁强计|0x100000|1288\n磁倾角|0x100000|1536\n磁铁矿|0x100000|987\n磁通量|0x100000|1157\n磁效应|0x100000|1207\n磁性材料|0x0008|758\n磁性瓷|0x0008|1420\n磁悬浮|0x20000000|19846\n雌二醇|0x400000|1072\n雌激素|0x100000|837\n雌老虎|0x100000|1225\n雌三醇|0x400008|0\n雌性化|0x100000|0\n雌雄同体|0x100000|949\n雌雄同株|0x100000|1236\n雌雄未决|0x0000|100\n雌雄异体|0x100000|1197\n雌雄异株|0x100000|1190\n此唱彼和|0x1000000|100\n此处不留人|0x0008|1124\n此处无银三百两|0x400000|0\n此地无银三百两|0x400008|3\n此动彼应|0x1000000|100\n此而可忍|0x1000000|0\n此发彼应|0x1000000|100\n此风不可长|0x800000|1198\n此伏彼起|0x1000000|1140\n此功能|0x100000|585\n此恨绵绵|0x0000|100\n此呼彼应|0x1000000|1283\n此疆尔界|0x1000000|100\n此界彼疆|0x1000000|100\n此路不通|0x800000|973\n此起彼伏|0x1000000|13873\n此起彼落|0x1000000|910\n此情此景|0x800000|805\n此时此刻|0x800000|623\n此事体大|0x0000|100\n此问彼难|0x1000000|100\n此新闻|0x100000|554\n此信息|0x100000|645\n此一时|0xc00000|1\n此一时彼|0x400000|0\n此一时彼一时|0x400008|0\n此中三昧|0x400000|100\n次大陆|0x100000|37506\n次黄嘌呤|0x0008|1288\n次级品|0x100000|0\n次级线圈|0x800000|1196\n次列车|0x100000|624\n次氯酸|0x100000|1191\n次生林|0x100000|1082\n次声波|0x100000|1143\n次世代|0x100000|514\n次要性|0x100000|0\n刺刺不休|0x1000000|53170\n刺儿头|0x100000|44633\n刺股读书|0x0000|100\n刺股悬梁|0x800000|1398\n刺虎持鹬|0x1000000|100\n刺激法|0x0000|537\n刺激剂|0x100000|1188\n刺激素|0x100000|1176\n刺激物|0x100000|1023\n刺激性|0x100000|763\n刺蒺藜|0x0008|0\n刺上化下|0x1000000|100\n刺五加|0x4400000|0\n刺心刻骨|0x1000000|100\n刺心裂肝|0x1000000|100\n刺心切骨|0x1000000|100\n赐茅授土|0x1000000|100\n赐墙及肩|0x1000000|100\n从壁上观|0x0000|100\n从长计较|0x1000000|1368\n从长计议|0x1000000|32731\n从长商议|0x1000000|100\n从长远看|0x0000|489\n从长远来看|0x0000|490\n从此以后|0x800000|635\n从从容容|0x0100|904\n从恶如崩|0x1000000|1233\n从恶若崩|0x1000000|100\n从恶是崩|0x0000|100\n从风而服|0x0000|100\n从风而靡|0x1000000|100\n从根本上|0x0000|656\n从古到今|0x800000|856\n从古至今|0x800000|822\n从化市|0x0040|1446\n从即日起|0x0000|368\n从价税|0x100000|1224\n从谏如流|0x1000000|1150\n从江县|0x0040|1108\n从今年起|0x0000|504\n从今以后|0x800000|685\n从井救人|0x1000000|1365\n从宽发落|0x0000|100\n从来不|0x800000|499\n从来没有|0x0000|759\n从来没有过|0x0000|544\n从里到外|0x0000|460\n从零开始|0x0000|552\n从令如流|0x1000000|100\n从流忘反|0x1000000|100\n从明年起|0x0000|434\n从那时起|0x0000|546\n从那以后|0x0000|580\n从南到北|0x0000|441\n从难从严|0x800000|1216\n从轻发落|0x1000000|1042\n从容不迫|0x1000000|19726\n从容就义|0x1000000|1087\n从容应对|0x800000|874\n从容自如|0x1000000|1113\n从容自若|0x1000000|1095\n从善如登|0x1000000|1221\n从善如流|0x1000000|39887\n从善若流|0x1000000|100\n从上到下|0x0000|532\n从事于|0x0000|474\n从俗浮沉|0x0000|100\n从俗就简|0x800000|100\n从天而降|0x1000000|23359\n从天而下|0x1000000|100\n从头彻尾|0x1000000|100\n从头到脚|0x100000|775\n从头到尾|0x1000000|676\n从头至尾|0x1000000|860\n从未有过|0x800000|677\n从我做起|0x0000|557\n从无到有|0x800000|816\n从下到上|0x0000|399\n从现在起|0x0000|571\n从小到大|0x800000|611\n从心所欲|0x1000000|1002\n从业人员|0x0000|677\n从业员|0x100000|1038\n从一而终|0x1400000|40749\n从早到晚|0x800000|807\n从这时起|0x0000|416\n从这一点|0x400000|10\n从这以后|0x0000|429\n从中渔利|0x800000|1042\n从中作梗|0x800000|986\n从属性|0x100000|1104\n从属于|0x0000|470\n从总体上|0x0000|535\n匆匆忙忙|0x0100|709\n匆匆一看|0x400000|0\n枞阳县|0x0040|1565\n葱白儿|0x0000|46129\n葱蒜类蔬菜|0x0008|1260\n葱油饼|0x0008|1555\n聪明才智|0x800000|768\n聪明反被聪明误|0x0008|928\n聪明绝世|0x0000|100\n聪明伶俐|0x40000000|817\n聪明人|0x100000|713\n聪明睿智|0x800000|1030\n聪明一世|0xc00000|0\n聪明正直|0x0000|100\n聪明智慧|0x800000|955\n聪明智能|0x0000|100\n丛林战|0x100000|1139\n丛轻折轴|0x1000000|100\n丛雀渊鱼|0x1000000|100\n丛山峻岭|0x1000000|1190\n凑份子|0x1000|48290\n凑趣儿|0x1000|28609\n凑热闹|0x1000|21296\n凑在一起|0x400000|2\n粗茶淡饭|0x1000000|34025\n粗粗拉拉|0x800000|0\n粗放经营|0x800000|1103\n粗放型|0x20000000|920\n粗风暴雨|0x0000|100\n粗服乱头|0x1000000|1335\n粗花呢|0x0000|55155\n粗活儿|0x0000|38651\n粗加工|0x100000|38239\n粗袍粝食|0x1000000|100\n粗声粗气|0x800000|1005\n粗手笨脚|0x800000|55156\n粗饲料|0x0000|55157\n粗通文墨|0x0000|100\n粗纤维|0x0008|475\n粗线条|0x100000|36967\n粗心大意|0x800000|31605\n粗心浮气|0x1000000|100\n粗衣淡饭|0x1000000|1352\n粗衣恶食|0x1000000|100\n粗衣粝食|0x1000000|100\n粗枝大叶|0x1000000|39678\n粗知一二|0xc00000|0\n粗制滥造|0x1000000|24488\n粗制品|0x100000|1224\n粗中有细|0x800000|48672\n促黄体素|0x0008|0\n促甲状腺素|0x0008|0\n促进会|0x100000|756\n促进剂|0x0008|1475\n促进派|0x100000|52656\n促凝剂|0x100000|1263\n促肾上腺皮质素|0x0008|0\n促生产|0x1000|1048\n促膝长谈|0x800000|964\n促膝交谈|0x800000|1073\n促膝谈心|0x800000|29726\n促性腺激素|0x0008|0\n猝不及防|0x1000000|23981\n酢浆草|0x0008|412\n踧踖不安|0x800000|100\n醋罐子|0x100000|1265\n醋海翻波|0x0000|100\n醋劲儿|0x100000|48292\n醋酸丁酯|0x100000|403\n醋酸钠|0x100000|387\n醋酸纤维|0x100000|1107\n醋坛子|0x100000|52657\n簇锦团花|0x0000|100\n蹙蹙靡骋|0x1000000|100\n蹙金结绣|0x1000000|100\n撺拳拢袖|0x0000|100\n蹿房越脊|0x1000000|1403\n窜端匿迹|0x1000000|100\n篡夺者|0x100000|1372\n篡位夺权|0x0000|100\n爨桂炊玉|0x1000000|100\n催产素|0x0008|407\n催干剂|0x100000|1102\n催化部位|0x0008|0\n催化剂|0x100000|13783\n催化裂化|0x0008|422\n催化重整|0x0008|0\n催毁性|0x100000|0\n催泪弹|0x100000|41896\n催泪瓦斯|0x100000|1064\n催眠曲|0x100000|40977\n催眠术|0x100000|41668\n催眠药|0x100000|1071\n催命鬼|0x0000|51756\n催人奋进|0x800000|926\n催人泪下|0x800000|25691\n催乳素|0x100000|1134\n催吐剂|0x0008|1243\n催涎剂|0x100000|0\n摧锋陷坚|0x1000000|100\n摧锋陷阵|0x1000000|100\n摧刚为柔|0x0000|100\n摧毁性|0x100000|1100\n摧坚获丑|0x0000|100\n摧坚陷阵|0x1000000|100\n摧枯拉腐|0x1000000|100\n摧枯拉朽|0x1000000|38441\n摧枯折腐|0x1000000|100\n摧枯振朽|0x1000000|100\n摧兰折玉|0x0000|100\n摧眉折腰|0x1000000|1057\n摧身碎首|0x0000|100\n摧陷廓清|0x1000000|100\n摧心剖肝|0x800000|100\n摧朽拉枯|0x1000000|100\n摧折豪强|0x0000|100\n榱崩栋折|0x1000000|100\n榱栋崩折|0x0000|100\n璀璨夺目|0x800000|933\n脆而不坚|0x0000|100\n脆生生|0x100000|41203\n脆性断裂|0x0008|0\n啛啛喳喳|0x1000000|100\n翠绿色|0x100000|922\n翠屏山|0x0040|1073\n翠生生|0x0100|1206\n翠微居|0x100000|531\n翠围珠绕|0x0000|100\n翠消红减|0x0000|100\n翠竹黄花|0x100000|1373\n村夫俗子|0x800000|100\n村夫野老|0x0000|100\n村哥里妇|0x1000000|100\n村歌社鼓|0x1000000|100\n村歌社舞|0x1000000|100\n村公所|0x0000|41204\n村规民约|0x800000|39890\n村酒野蔬|0x0000|100\n村民代表|0x100000|471\n村民委员会|0x100000|728\n村上春树|0x0080|1304\n村生泊长|0x1000000|100\n村委会|0x100000|732\n村箫社鼓|0x1000000|100\n村学究语|0x1000000|100\n村野匹夫|0x0000|100\n存车处|0x100000|1098\n存储空间|0x100000|559\n存储量|0x100000|962\n存储器|0x100000|27684\n存储容量|0x0000|477\n存储系统|0x0000|493\n存而不论|0x1000000|1166\n存放处|0x0000|404\n存乎其人|0x800000|1158\n存乎一心|0xc00000|0\n存活率|0x100000|38442\n存货量|0x100000|1149\n存款簿|0x100000|1206\n存款单|0x100000|45533\n存款额|0x100000|1095\n存栏数|0x100000|1181\n存十一于千百|0x400000|100\n存亡安危|0x0000|100\n存亡继绝|0x1000000|1319\n存亡绝续|0x1000000|1336\n存亡未卜|0x1000000|1385\n存亡续绝|0x1000000|100\n存小异|0x800000|1207\n存心不良|0x0000|100\n存心积虑|0x1000000|100\n存心养性|0x800000|1296\n存在主义|0x100000|896\n存贮器|0x100000|1091\n寸兵尺铁|0x1000000|100\n寸步不离|0x1000000|36268\n寸步不让|0x800000|41431\n寸步难行|0x1000000|28167\n寸步难移|0x800000|1109\n寸步千里|0x1000000|100\n寸草不留|0x1000000|54182\n寸草不生|0x800000|30370\n寸草春晖|0x1000000|1240\n寸草衔结|0x1000000|100\n寸长尺短|0x1000000|100\n寸长尺技|0x1000000|100\n寸长片善|0x1000000|100\n寸地尺天|0x1000000|100\n寸积铢累|0x1000000|100\n寸劲儿|0x100000|55618\n寸进尺退|0x0000|100\n寸利必得|0x0000|100\n寸量铢称|0x1000000|100\n寸木岑楼|0x1000000|1394\n寸男尺女|0x1000000|100\n寸善片长|0x1000000|100\n寸丝半粟|0x800000|100\n寸丝不挂|0x1000000|1331\n寸蹄尺缣|0x1000000|100\n寸田尺宅|0x1000000|100\n寸铁杀人|0x1000000|100\n寸铁在手|0x0000|100\n寸土必争|0x800000|47321\n寸土不让|0x800000|1123\n寸土尺地|0x0000|100\n寸土尺金|0x1000000|100\n寸辖制轮|0x1000000|100\n寸心千古|0x0000|100\n寸阴尺璧|0x0000|100\n寸阴若岁|0x1000000|100\n寸阴是惜|0x0000|100\n寸有所长|0x800000|1050\n寸指测渊|0x1000000|100\n搓手顿脚|0x1000000|100\n搓手顿足|0x1000000|1429\n撮科打哄|0x0000|100\n撮科打閧|0x1000000|100\n撮土焚香|0x0000|100\n撮盐入火|0x1000000|100\n撮盐入水|0x1000000|100\n蹉跎日月|0x0000|100\n蹉跎时日|0x0000|100\n蹉跎岁月|0x100000|52660\n蹉跎自误|0x0000|100\n厝火积薪|0x1000000|1338\n厝火燎原|0x1000000|100\n挫骨扬灰|0x800000|1084\n措美县|0x0040|1218\n措勤县|0x0040|1189\n措手不及|0x1000000|20899\n措心积虑|0x1000000|100\n措置得当|0x800000|1426\n措置失当|0x800000|1276\n措置裕如|0x800000|0\n错别字|0x100000|21260\n错彩镂金|0x1000000|1319\n错节盘根|0x1000000|100\n错落不齐|0x1000000|100\n错落高下|0x1000000|100\n错落有致|0x1000000|22567\n错那县|0x0040|1205\n错认颜标|0x0000|100\n错失良机|0x800000|825\n错误报告|0x0000|660\n错误代码|0x0000|495\n错误率|0x100000|1009\n错误信息|0x0000|668\n错综复杂|0x1000000|10725\n哒哒哒|0x100000|3\n搭茬儿|0x1000|1322\n搭错车|0x0000|53663\n搭搭撒撒|0x0000|100\n搭架子|0x800000|49042\n搭街坊|0x1000|1114\n嗒然若丧|0x1000000|100\n达不到|0x0000|654\n达达乐队|0x100000|1027\n达达主义|0x100000|0\n达到高潮|0x0000|551\n达到一个新的水平|0x400000|0\n达地知根|0x1000000|100\n达尔罕茂明安联合旗|0x0040|1217\n达尔文|0x0080|1275\n达尔文主义|0x100000|1028\n达尔主义|0x100000|0\n达芬奇|0x0080|1128\n达官贵人|0x1000000|31606\n达官贵要|0x1000000|100\n达官显宦|0x1000000|1312\n达官要人|0x1000000|100\n达官知命|0x0000|100\n达荷美|0x0040|1255\n达喀尔|0x0040|1357\n达喀尔拉力赛|0x100000|485\n达克罗宁|0x0080|0\n达拉斯|0x0040|1309\n达拉特旗|0x0040|1666\n达赖喇嘛|0x0080|1456\n达朗贝尔|0x0080|0\n达累斯萨拉姆|0x0040|1128\n达明一派|0x400000|891\n达姆达姆|0x0080|1\n达姆弹|0x100000|1247\n达权通变|0x0000|100\n达权知变|0x0000|100\n达人知命|0x1000000|1158\n达日县|0x0040|1171\n达士通人|0x0000|100\n达斡尔|0x0040|1632\n达斡尔族|0x0008|43625\n达州市|0x0040|1427\n达孜县|0x0040|1135\n怛然失色|0x0000|100\n沓冈复岭|0x0000|100\n沓来麕至|0x1000000|100\n沓来踵至|0x1000000|100\n答辩会|0x0000|49752\n答茬儿|0x1000|1516\n答非所问|0x1000000|36617\n打把式|0x0000|54731\n打把势|0x1000|1294\n打靶场|0x100000|1186\n打白条|0x1000|36269\n打摆子|0x1000|38242\n打败仗|0x0000|417\n打板子|0x1000|50911\n打包机|0x100000|835\n打包票|0x800000|46130\n打保票|0x0000|41432\n打抱不平|0x1000000|33497\n打比方|0x1000|45535\n打边鼓|0x1000|55857\n打遍天下|0x800000|917\n打补丁|0x100000|504\n打不住|0x0000|53177\n打擦边球|0x0000|49753\n打草稿|0x0000|442\n打草惊蛇|0x1000000|38243\n打草蛇惊|0x1000000|100\n打成一片|0x1400000|20650\n打赤膊|0x800000|1126\n打冲锋|0x1000|1206\n打打闹闹|0x1000|771\n打打牌|0x100000|939\n打打气|0x100000|945\n打打球|0x100000|910\n打打杀杀|0x1000|854\n打蛋器|0x0008|1578\n打道回府|0x1000|32874\n打得火热|0x1000000|911\n打灯谜|0x1000|392\n打底子|0x1000|1245\n打点滴|0x1000|46702\n打电报|0x1000|413\n打电话|0x1000|496\n打斗片|0x100000|1270\n打短工|0x1000|44940\n打盹儿|0x1000|21189\n打趸儿|0x1000|0\n打哆嗦|0x1000|31493\n打耳光|0x1000|993\n打翻身仗|0x1000|40751\n打分数|0x0000|403\n打凤捞龙|0x1000000|100\n打凤牢龙|0x1000000|0\n打富济贫|0x1000000|1382\n打嗝儿|0x1000|41205\n打工妹|0x100000|25010\n打工仔|0x100000|23689\n打工族|0x0000|44636\n打恭作揖|0x1000000|1316\n打躬作揖|0x1000000|48676\n打拱作揖|0x1000000|1278\n打狗看主|0x0000|100\n打谷场|0x100000|42156\n打官腔|0x800000|42158\n打官司|0x1000|11386\n打光棍|0x800000|978\n打光棍儿|0x0000|52663\n打光机|0x100000|0\n打滚儿|0x0000|20305\n打滚撒泼|0x0000|100\n打棍子|0x1000|50517\n打哈哈|0x1000|33241\n打哈欠|0x1000|37337\n打寒战|0x0000|54734\n打呵欠|0x1000|949\n打呼噜|0x1000|36784\n打虎牢龙|0x1000000|100\n打诨插科|0x0000|100\n打火机|0x100000|13044\n打伙儿|0x0000|48677\n打击报复|0x1000000|885\n打击犯罪|0x100000|916\n打击乐|0x0000|35638\n打击乐器|0x100000|47027\n打击乐器组|0x100000|0\n打鸡骂狗|0x1000000|100\n打基础|0x1000|20607\n打家劫舍|0x1000000|45227\n打家截道|0x1000000|100\n打家截舍|0x1000000|100\n打架斗殴|0x0000|472\n打歼灭战|0x0000|44100\n打浆机|0x100000|1097\n打交道|0x1000|9028\n打街骂巷|0x0000|100\n打卡机|0x100000|54184\n打卡钟|0x0000|397\n打开天窗说亮话|0x0008|1084\n打瞌睡|0x1000|22820\n打孔机|0x100000|863\n打孔器|0x100000|1078\n打篮球|0x0000|577\n打捞工具|0x0008|0\n打老虎|0x0000|49045\n打擂台|0x1000|48296\n打冷颤|0x1000|1064\n打冷枪|0x1000|1233\n打冷战|0x1000|51759\n打卤面|0x0000|50123\n打落水狗|0x1000000|42877\n打马虎眼|0x1000000|45839\n打埋伏|0x1000|50124\n打麦场|0x100000|1174\n打毛衣|0x1000|1020\n打闷葫芦|0x0000|100\n打鸣儿|0x1000|38244\n打内战|0x0000|44637\n打拍子|0x1000|48297\n打喷嚏|0x1000|719\n打屁股|0x1000|44101\n打平手|0x1000|1162\n打破常规|0x800000|906\n打破纪录|0x1000|723\n打破迷关|0x0000|100\n打破沙锅问到底|0x0008|1006\n打破砂锅问到底|0x0008|1069\n打扑克|0x0000|467\n打起精神|0x0000|536\n打气筒|0x100000|50125\n打前站|0x1000|45537\n打情骂俏|0x1000000|39254\n打情骂趣|0x1000000|100\n打情卖笑|0x1000000|100\n打秋风|0x1000|53178\n打圈子|0x1000|1274\n打群架|0x1000|42404\n打人骂狗|0x0000|100\n打入冷宫|0x800000|48298\n打蛇打七寸|0x400008|1\n打胜仗|0x0000|457\n打手式|0x100000|0\n打手势|0x800000|970\n打死虎|0x0000|100\n打算盘|0x1000|34604\n打太极拳|0x0000|34288\n打天下|0x1000|25809\n打铁趁热|0x1000000|1097\n打听一下|0x400000|0\n打挺儿|0x1000|41669\n打通关|0x800000|52186\n打头风|0x1000|1153\n打头炮|0x0000|54186\n打头阵|0x1000|36117\n打退堂鼓|0x1000000|35796\n打问号|0x1000|0\n打下手|0x1000|37865\n打先锋|0x1000|51324\n打小报告|0x800000|42878\n打小算盘|0x800000|53666\n打雪仗|0x800000|843\n打鸭惊鸳|0x1000000|100\n打鸭惊鸳鸯|0x0008|1509\n打鸭子上架|0x100000|100\n打牙犯嘴|0x800000|100\n打牙祭|0x1000|43389\n打牙配嘴|0x0000|100\n打蔫儿|0x1000|45536\n打掩护|0x1000|48678\n打一巴掌揉三揉|0x400000|0\n打一枪换一个地方|0x400000|2\n打印机|0x100000|17439\n打印机墨盒|0x100000|438\n打印机配件|0x100000|409\n打印头|0x0000|509\n打印纸|0x100000|48299\n打印质量|0x0000|447\n打硬仗|0x800000|976\n打油诗|0x100000|28610\n打游击|0x1000|29728\n打预防针|0x0000|44941\n打圆场|0x800000|30586\n打杂儿|0x0000|26439\n打砸抢|0x1000|41433\n打招呼|0x1000|7953\n打照面儿|0x0000|48679\n打折扣|0x1000|13406\n打肿脸充胖子|0x0008|943\n打主意|0x1000|25878\n打转儿|0x1000|1137\n打桩船|0x0008|0\n打桩机|0x0000|46703\n打字机|0x100000|26665\n打字员|0x100000|35332\n打字纸|0x0000|55161\n打嘴仗|0x1000|54737\n大安市|0x0040|1050\n大案要案|0x800000|888\n大巴山|0x0040|1624\n大罢工|0x100000|474\n大白菜|0x100000|19658\n大白话|0x100000|37508\n大白鼠|0x0008|389\n大白天|0x4000|24880\n大白于天下|0x0008|873\n大百科|0x100000|775\n大百科全书|0x100000|850\n大败亏轮|0x1000000|100\n大败亏输|0x1000000|1134\n大拜拜|0x0008|0\n大班台|0x100000|456\n大板车|0x100000|1262\n大半生|0x4000|928\n大半天|0x4000|779\n大半夜|0x0000|32609\n大包大揽|0x800000|31142\n大包干|0x800000|1105\n大包干儿|0x0000|35333\n大孢子|0x0008|0\n大孢子发生|0x0008|0\n大孢子母细胞|0x0008|0\n大饱口福|0x0000|411\n大饱眼福|0x800000|32102\n大堡礁|0x0040|1478\n大爆炸|0x0000|557\n大本大宗|0x800000|100\n大本营|0x100000|14595\n大笔如椽|0x1000000|100\n大笔一挥|0x400000|4\n大辩不言|0x0000|100\n大辩论|0x100000|979\n大辩若讷|0x0000|100\n大别山|0x0040|1328\n大兵团|0x100000|39256\n大脖子病|0x800000|1232\n大伯子|0x100000|48680\n大不敬|0x0000|41670\n大不了|0x800000|16223\n大不列颠|0x0040|1445\n大不列颠联合王国|0x0040|1691\n大不一样|0x400000|718\n大步流星|0x1000000|34605\n大部分|0x200000|496\n大部分地区|0x0000|547\n大部头|0x100000|35482\n大才榱盘|0x0000|100\n大才榱槃|0x1000000|100\n大才盘盘|0x0000|100\n大才槃槃|0x1000000|100\n大材小用|0x1000000|45840\n大藏经|0x0008|931\n大操大办|0x800000|31022\n大草原|0x0000|577\n大肠杆菌|0x800000|28258\n大肠杆菌噬菌体|0x0008|0\n大肠菌|0x100000|1024\n大厂回族自治县|0x0040|1605\n大吵大闹|0x800000|35334\n大吵一架|0x400000|1\n大车以载|0x0000|100\n大彻大悟|0x1000000|39893\n大澈大悟|0x1000000|1224\n大城市|0x100000|599\n大城县|0x0040|1482\n大吃大喝|0x800000|23106\n大吃一顿|0x400000|1\n大吃一惊|0xc00000|11206\n大出风头|0x800000|932\n大出血|0x1000|31833\n大处落墨|0x1000000|1412\n大处着墨|0x1000|100\n大处着眼|0x1000000|1023\n大吹大打|0x1000000|100\n大吹大擂|0x1000000|43852\n大吹法螺|0x1000000|1281\n大醇小疵|0x1000000|1538\n大慈大悲|0x1000000|39894\n大错特错|0x1000000|34448\n大打出手|0x1000000|27842\n大大地|0x0100|6\n大大方方|0x800000|810\n大大咧咧|0x0100|31023\n大大落落|0x0000|100\n大大小小|0x800000|635\n大胆包身|0x1000000|100\n大刀阔斧|0x1000000|15946\n大岛由加里|0x0080|0\n大岛由加利|0x0080|0\n大道北|0x100000|462\n大道理|0x100000|17478\n大得人心|0x800000|100\n大敌当前|0x800000|35951\n大地测量|0x0008|1\n大地春回|0x1000000|1271\n大地构造|0x0008|0\n大地回春|0x1000000|996\n大地震|0x0008|553\n大跌眼镜|0x800000|775\n大动干戈|0x1000000|36270\n大动肝火|0x1000000|981\n大动公惯|0x0000|100\n大动脉|0x100000|20266\n大动作|0x0000|30792\n大都会|0x100000|773\n大都市|0x100000|683\n大豆蛋白|0x100000|451\n大豆黄卷|0x0008|0\n大豆价格|0x100000|493\n大豆磷脂|0x100000|375\n大豆制品|0x100000|396\n大独裁者|0x100000|372\n大肚汉|0x0000|53179\n大肚腩|0x0008|0\n大肚子|0x100000|20233\n大度包容|0x1000000|1251\n大渡河|0x0040|1426\n大渡口|0x0040|1242\n大渡口区|0x0040|1280\n大堆头|0x0008|0\n大队长|0x100000|818\n大队人马|0x800000|881\n大多数|0x200000|2000\n大多数人|0x0000|680\n大恩大德|0x100000|953\n大儿子|0x100000|802\n大而化之|0x1000000|47640\n大而全|0x0000|29511\n大而无当|0x1000000|44362\n大发慈悲|0x800000|918\n大发横财|0x800000|1032\n大发雷霆|0x1000000|29186\n大发谬论|0x0000|100\n大发议论|0x0000|100\n大法官|0x100000|904\n大法小廉|0x1000000|100\n大方县|0x0040|1058\n大方向|0x100000|37144\n大方之家|0x1000000|1145\n大放悲声|0x1000000|1171\n大放厥词|0x1000000|46705\n大放厥辞|0x1000000|100\n大放异彩|0x800000|35952\n大分子|0x100000|940\n大丰市|0x0040|1352\n大丰收|0x0000|497\n大风车|0x100000|462\n大风大浪|0x1000000|34755\n大风歌|0x100000|393\n大风雪|0x0000|418\n大扶康|0x0008|1385\n大幅度|0x8000000|616\n大幅面|0x100000|492\n大富翁|0x100000|639\n大腹便便|0x1000000|40114\n大腹皮|0x100000|1232\n大盖帽|0x100000|32490\n大概其|0x800000|52664\n大概是|0x0000|709\n大干一场|0x401000|1\n大干一票|0x400000|0\n大港区|0x0040|1437\n大哥大|0x100000|783\n大革命|0x100000|15579\n大个儿|0x100000|31610\n大个子|0x100000|817\n大工告成|0x0000|100\n大工业|0x0000|502\n大公报|0x100000|824\n大公国|0x100000|54738\n大公鸡|0x100000|456\n大公无私|0x1000000|24940\n大功毕成|0x0000|100\n大功告成|0x1000000|27442\n大功率|0x20000000|704\n大姑娘|0x100000|805\n大姑子|0x100000|46706\n大骨节病|0x0008|47324\n大关县|0x0040|1084\n大观园|0x0040|1171\n大规模|0x20000000|544\n大规模集成电路|0x0008|433\n大锅饭|0x100000|17440\n大海捞针|0x1000000|43138\n大海战|0x100000|468\n大含细入|0x1000000|100\n大寒索裘|0x1000000|100\n大韩民国|0x0040|1451\n大喊大叫|0x0100|792\n大汉族主义|0x100000|1146\n大汗淋漓|0x800000|778\n大旱望云|0x1000000|100\n大旱望云霓|0x0008|0\n大航海家|0x0000|415\n大航海时代|0x0000|520\n大好河山|0x1000000|866\n大好人|0x100000|836\n大好事|0x100000|473\n大喝一口|0x400000|0\n大喝一声|0x400000|0\n大合唱|0x100000|19768\n大黑摩季|0x0080|0\n大轰大嗡|0x800000|52187\n大红大绿|0x1000000|1020\n大红大紫|0x1000000|36971\n大红人|0x100000|1001\n大洪水|0x0000|482\n大鸿米店|0x0040|0\n大后方|0x100000|32364\n大后年|0x4000|1142\n大后天|0x4000|37866\n大呼隆|0x0000|47641\n大呼小喝|0x1000000|100\n大呼小叫|0x1000000|765\n大胡子|0x100000|817\n大户室|0x100000|415\n大花脸|0x100000|44942\n大化瑶族自治县|0x0040|1666\n大话三国|0x100000|472\n大话西游|0x100000|641\n大环境|0x0000|14712\n大换血|0x0000|41897\n大黄蜂|0x0000|459\n大黄鱼|0x100000|31390\n大灰狼|0x100000|814\n大回转|0x100000|1105\n大茴香|0x0008|1119\n大会常务|0x100000|614\n大会决议|0x100000|561\n大会堂|0x100000|704\n大会战|0x100000|488\n大伙儿|0x100000|7262\n大获全胜|0x800000|817\n大惑不解|0x1000000|27843\n大吉大利|0x1000000|855\n大集体|0x0000|40328\n大计小用|0x0000|100\n大祭司|0x0000|505\n大家风范|0x1000000|908\n大家闺秀|0x1000000|37867\n大家伙|0x100000|791\n大家伙儿|0x10000|33498\n大家庭|0x100000|9044\n大甲溪|0x0040|1170\n大检查|0x0000|563\n大渐弥留|0x0000|100\n大江东去|0x800000|869\n大江健三郎|0x400000|1674\n大江南北|0x800000|742\n大将军|0x100000|745\n大讲堂|0x0040|802\n大奖赛|0x100000|7983\n大匠运斤|0x1000000|100\n大轿车|0x0008|37145\n大教堂|0x0000|545\n大街小巷|0x1000000|11686\n大节不夺|0x1000000|100\n大捷龙|0x100000|412\n大姐大|0x0008|1376\n大姐头|0x0008|0\n大经大法|0x1000000|100\n大惊失色|0x1000000|24270\n大惊小怪|0x1000000|16619\n大惊一场|0x400000|0\n大静脉|0x100000|1241\n大酒店|0x100000|730\n大舅子|0x100000|44102\n大局意识|0x100000|490\n大开大合|0x800000|1029\n大开方便之门|0x800000|1033\n大开眼界|0x800000|754\n大可不必|0x1000000|746\n大客车|0x100000|870\n大跨一步|0x400000|0\n大块头|0x100000|43627\n大块文章|0x100000|100\n大快朵颐|0x800000|870\n大快人心|0x1000000|37683\n大浪淘沙|0x800000|850\n大老粗|0x100000|36972\n大老婆|0x0000|46131\n大老爷们儿|0x100000|1033\n大老远|0x0000|29937\n大礼拜|0x100000|49399\n大礼包|0x100000|774\n大礼服|0x100000|49046\n大礼堂|0x100000|19361\n大理石|0x100000|13801\n大理石厂|0x100000|942\n大理市|0x0040|1493\n大理寺|0x0008|1650\n大力发展|0x0000|660\n大力神|0x0008|1218\n大力士|0x100000|25613\n大力支持|0x0000|643\n大立柜|0x0000|45228\n大丽花|0x100000|50912\n大荔县|0x0040|1613\n大连房地产|0x100000|384\n大连港|0x0040|1520\n大连酒店|0x100000|403\n大连理工|0x100000|518\n大连理工大学|0x100000|491\n大连旅游|0x100000|423\n大连人|0x100000|939\n大连日报|0x100000|456\n大连实德|0x0020|1302\n大连市|0x0040|1083\n大炼钢铁|0x0000|407\n大量库存|0x100000|455\n大量生产|0x0008|4\n大菱鲆|0x100000|1124\n大流士|0x0000|382\n大陆地区|0x100000|575\n大陆法系|0x100000|971\n大陆歌手|0x100000|454\n大陆架|0x100000|21421\n大陆妹|0x100000|420\n大陆棚|0x0008|0\n大陆漂移|0x0008|0\n大陆坡|0x0040|1327\n大陆行|0x100000|468\n大陆型|0x100000|2\n大陆性|0x100000|929\n大陆性气候|0x100000|54187\n大辂椎轮|0x1000000|1541\n大路菜|0x0000|49757\n大路活|0x100000|0\n大路货|0x100000|33499\n大路椎轮|0x1000000|100\n大律师|0x100000|506\n大麻哈鱼|0x100000|1258\n大麻子|0x100000|1142\n大马哈鱼|0x100000|32732\n大马金刀|0x1000000|1119\n大马士革|0x0040|1536\n大满贯|0x0000|29002\n大忙人|0x100000|37510\n大冒险|0x0000|573\n大帽子|0x4000000|35483\n大妹子|0x0000|38858\n大门口|0x100000|723\n大门五郎|0x400000|0\n大梦初醒|0x1000000|44363\n大梦方醒|0x0000|100\n大米饭|0x100000|430\n大米粥|0x100000|1018\n大面儿|0x100000|50126\n大面积|0x100000|649\n大名鼎鼎|0x1000000|21346\n大名难居|0x1000000|100\n大名县|0x0040|1632\n大明法度|0x0000|100\n大鸣大放|0x0008|38444\n大谬不然|0x1000000|51325\n大缪不然|0x1000000|100\n大模大样|0x1000000|26034\n大莫与京|0x1000000|100\n大谋不谋|0x0000|100\n大姆指|0x0008|1\n大拇哥|0x0000|45540\n大拇指|0x100000|12159\n大男大女|0x100000|0\n大男人主义|0x0008|1266\n大难不死|0x1000000|39058\n大难临头|0x1000000|36618\n大脑皮层|0x800000|875\n大脑皮质|0x800000|929\n大脑炎|0x100000|51326\n大闹天宫|0x0000|489\n大闹一场|0x400000|0\n大逆不道|0x1000000|27844\n大逆无道|0x1000000|1341\n大年初一|0x500000|13\n大年三十|0x500000|30257\n大年夜|0x4000|43853\n大宁县|0x0040|1176\n大农业|0x0008|31612\n大排档|0x100000|36786\n大排行|0x1000|54188\n大盘股|0x100000|874\n大盘走势|0x0000|538\n大篷车|0x100000|21054\n大批量|0x8000000|740\n大屏幕|0x100000|679\n大屏幕电视|0x0008|1\n大璞不完|0x1000000|100\n大埔县|0x0040|1626\n大起大落|0x800000|17410\n大气磅礴|0x1000000|30793\n大气层|0x100000|16652\n大气窗|0x0008|0\n大气候|0x100000|30034\n大气环境|0x100000|479\n大气圈|0x100000|1122\n大气污染|0x100000|13931\n大气现象|0x0008|0\n大气压|0x100000|29938\n大气压力|0x0008|3\n大气质量|0x100000|6\n大器晚成|0x1000000|41206\n大千世界|0x1000000|24489\n大前年|0x4000|43854\n大前提|0x100000|30036\n大前天|0x4000|40329\n大桥路|0x0040|1638\n大巧若拙|0x1000000|1012\n大青龙汤|0x100000|1313\n大青山|0x0040|1563\n大青叶|0x100000|1076\n大清白日|0x800000|1276\n大清早|0x4000|22263\n大清真寺|0x100000|375\n大晴天|0x0000|47950\n大请大受|0x1000000|100\n大庆市|0x0040|1266\n大庆油田|0x100000|484\n大秋作物|0x800000|1540\n大曲酒|0x0008|1154\n大权独揽|0x1000|1058\n大权旁落|0x1000000|1111\n大权在握|0x800000|969\n大染缸|0x0000|52665\n大热天|0x100000|779\n大人物|0x100000|15809\n大人先生|0x1000000|1196\n大仁大义|0x800000|1067\n大榕树|0x100000|471\n大撒把|0x0000|53180\n大三和弦|0x400000|0\n大三元|0x400000|1635\n大扫除|0x1000|34026\n大嫂子|0x100000|30587\n大杀风景|0x1000000|0\n大沙漠|0x0000|499\n大煞风景|0x1000000|36787\n大煞风趣|0x1000000|100\n大伤脑筋|0x0000|462\n大商人|0x100000|433\n大少爷|0x100000|14114\n大舌头|0x100000|47951\n大赦令|0x0000|53668\n大神一郎|0x400080|0\n大婶儿|0x100000|11099\n大声疾呼|0x1000000|879\n大牲畜|0x0000|28528\n大失人望|0x1000000|100\n大失水准|0x1000000|0\n大失所望|0x1000000|25812\n大师傅|0x100000|32103\n大师级|0x20000000|811\n大石桥|0x100000|0\n大石桥市|0x0040|1446\n大石头|0x0040|1203\n大实话|0x0000|40115\n大使馆|0x100000|6194\n大使级|0x100000|1111\n大世界|0x100000|697\n大市场|0x100000|542\n大事不糊涂|0x0008|1113\n大事化小|0x0008|34289\n大事记|0x100000|29187\n大事件|0x0000|532\n大事铺张|0x0000|100\n大事去矣|0x0000|100\n大势所趋|0x1000000|15205\n大势已去|0x1000000|28906\n大是大非|0x1000000|24113\n大手笔|0x100000|20081\n大手大脚|0x1000000|25954\n大手术|0x100000|481\n大受欢迎|0x0000|533\n大书特书|0x1000000|32491\n大输一场|0x400000|0\n大树将军|0x0000|100\n大水牛|0x100000|493\n大司马|0x100000|477\n大四喜|0x400000|382\n大肆挥霍|0x0000|100\n大肆厥辞|0x1000000|100\n大肆宣传|0x800000|932\n大苏打|0x100000|1051\n大蒜素|0x100000|424\n大蒜油|0x100000|380\n大踏步|0x1000|17813\n大唐双龙传|0x0000|512\n大提琴|0x100000|28907\n大提琴手|0x100000|384\n大题小作|0x1000000|1196\n大题小做|0x1000000|1231\n大体上|0x8000000|778\n大体一致|0x400000|0\n大天白日|0x1000000|54189\n大田县|0x0040|1594\n大田作物|0x800000|46415\n大廷广众|0x1000000|100\n大庭广众|0x1000000|26441\n大通回族土族自治县|0x0040|1698\n大通银行|0x0020|1086\n大同江|0x0040|1191\n大同路|0x100000|432\n大同世界|0x800000|1015\n大同市|0x0040|1288\n大同县|0x0040|1064\n大同小异|0x1000000|22981\n大头菜|0x100000|43855\n大头陈|0x100000|1536\n大头小尾|0x1000000|1120\n大头鱼|0x100000|40981\n大头针|0x100000|40754\n大屠杀|0x1000|708\n大吐苦水|0x0008|1023\n大团结|0x100000|15245\n大团圆|0x1000|29188\n大腿骨|0x100000|1080\n大洼县|0x0040|1632\n大碗茶|0x100000|1023\n大碗儿茶|0x0000|47642\n大问题|0x0000|663\n大屋顶|0x0000|49400\n大无畏|0x40000000|21261\n大五金|0x500000|0\n大五码|0x400000|0\n大悟县|0x0040|1036\n大西北|0x0040|17034\n大西南|0x0040|21897\n大西洋|0x0040|10261\n大喜过望|0x1000000|31834\n大喜若狂|0x0000|100\n大喜事|0x100000|968\n大峡谷|0x100000|730\n大厦栋梁|0x0000|100\n大厦将颠|0x1000000|100\n大厦将倾|0x1000000|1053\n大显身手|0x1000000|20466\n大显神通|0x1000000|53669\n大显手机|0x100000|388\n大相径庭|0x1000000|21517\n大相迳庭|0x1000000|1091\n大小便|0x100000|23984\n大小不一|0x400000|5\n大小姐|0x0000|18238\n大小写|0x100000|714\n大笑一场|0x400000|0\n大笑一声|0x400000|0\n大写字母|0x100000|924\n大卸八块|0x400000|0\n大新县|0x0040|1514\n大兴安岭|0x0040|1290\n大兴区|0x0040|1261\n大兴土木|0x1000000|28089\n大猩猩|0x100000|32733\n大行大市|0x0000|100\n大行其道|0x800000|25249\n大行星|0x100000|36440\n大型超市|0x100000|523\n大型活动|0x100000|553\n大型机|0x0008|922\n大型计算机|0x0000|412\n大型企业|0x0000|639\n大型软件|0x100000|544\n大型商场|0x100000|502\n大型文艺晚会|0x100000|441\n大雄宝殿|0x100000|41207\n大熊猫|0x100000|9198\n大熊座|0x0008|1165\n大修理|0x0000|401\n大学本科|0x100000|608\n大学毕业|0x0000|655\n大学毕业生|0x100000|612\n大学部|0x100000|981\n大学城|0x100000|643\n大学出版社|0x0000|690\n大学化学|0x100000|453\n大学计算机|0x100000|536\n大学教授|0x100000|601\n大学美术|0x100000|485\n大学女生|0x100000|538\n大学排名|0x100000|468\n大学排行榜|0x100000|496\n大学人文|0x100000|467\n大学生|0x100000|1549\n大学生活|0x100000|602\n大学生思想|0x100000|512\n大学生思想政治教育|0x100000|477\n大学生网|0x100000|542\n大学生心理|0x100000|488\n大学士|0x0008|849\n大学图书馆|0x0008|642\n大学物理|0x100000|477\n大学校长|0x100000|569\n大学校园|0x100000|584\n大学学生会|0x100000|432\n大学研究生|0x100000|535\n大学艺术学院|0x100000|436\n大学语文|0x100000|508\n大学预科|0x100000|447\n大学专科|0x100000|495\n大雪纷飞|0x1000000|849\n大雪山|0x0040|1512\n大血藤|0x0008|0\n大循环|0x100000|33376\n大雅君子|0x0000|100\n大雅之堂|0x800000|30373\n大亚湾|0x0040|1429\n大烟鬼|0x100000|36118\n大言不惭|0x1000000|33740\n大檐帽|0x100000|44364\n大眼瞪小眼|0x100000|883\n大眼望小眼|0x100000|1349\n大宴宾客|0x800000|1041\n大洋论坛|0x100000|432\n大洋新闻|0x100000|487\n大洋洲|0x0040|21946\n大吆小喝|0x1000000|100\n大姚县|0x0040|1073\n大摇大摆|0x1000000|24941\n大咬一口|0x400000|0\n大要案|0x100000|1043\n大冶市|0x0040|1446\n大业路|0x0040|0\n大叶桉|0x100000|1314\n大叶黄杨|0x0000|446\n大叶杨|0x100000|52188\n大一统|0xc00000|32734\n大衣呢|0x0008|1116\n大姨子|0x100000|55620\n大义凛然|0x1000000|30491\n大义灭亲|0x1000000|36442\n大邑县|0x0040|1613\n大意失荆州|0x0008|1039\n大音希声|0x1000000|976\n大英百科全书|0x0008|1653\n大英帝国|0x0040|1494\n大英县|0x0040|1110\n大樱桃|0x100000|414\n大勇若怯|0x0000|100\n大有裨益|0x1000|863\n大有见地|0x0000|100\n大有径庭|0x1000000|100\n大有迳庭|0x1000000|100\n大有可观|0x1000000|1002\n大有可为|0x1000000|14611\n大有起色|0x800000|1118\n大有人在|0x1000000|22668\n大有文章|0x1000000|34606\n大有希望|0x0000|21898\n大有益处|0x800000|960\n大有作为|0x1000000|14135\n大余县|0x0040|1640\n大鱼吃小鱼|0x0008|908\n大鱼大肉|0x800000|864\n大雨滂沱|0x800000|895\n大雨倾盆|0x800000|849\n大雨如注|0x1000000|1095\n大禹治水|0x100000|932\n大元帅|0x100000|13683\n大约摸|0x8000000|0\n大跃进|0x0008|12357\n大运河|0x100000|825\n大杂烩|0x100000|41208\n大杂院|0x100000|24626\n大灾难|0x0000|503\n大泽贵雄|0x0080|0\n大泽隆夫|0x0080|0\n大闸蟹|0x100000|817\n大栅栏|0x0040|1306\n大展宏图|0x1000000|900\n大展经纶|0x800000|1298\n大张其词|0x0000|100\n大张旗鼓|0x1000000|16368\n大张声势|0x0000|100\n大张挞伐|0x1000000|1275\n大丈夫|0x100000|19241\n大帐篷|0x0000|405\n大杖则走|0x1000000|0\n大昭寺|0x0040|1448\n大政方针|0x100000|15162\n大直若诎|0x1000000|100\n大直若屈|0x1000000|1118\n大致上|0x0000|515\n大致说来|0x800000|783\n大智大勇|0x800000|1002\n大智如愚|0x1000000|100\n大智若愚|0x1000000|40542\n大中城市|0x100000|715\n大中企业|0x100000|1012\n大中小|0x100000|539\n大中型|0x20000000|679\n大中型企业|0x0000|564\n大中型项目|0x0000|379\n大中学校|0x100000|1118\n大中至正|0x0000|100\n大中专|0x100000|578\n大钟寺|0x0040|1496\n大仲马|0x0080|1475\n大众版|0x100000|462\n大众传播|0x0008|26249\n大众传媒|0x0000|501\n大众点|0x100000|554\n大众化|0x1000|15733\n大众卡|0x100000|460\n大众汽车|0x100000|553\n大众日报|0x100000|451\n大轴子|0x100000|1541\n大珠小珠落玉盘|0x0008|994\n大竹县|0x0040|1038\n大主教|0x100000|33885\n大专班|0x100000|453\n大专生|0x100000|39061\n大专学校|0x100000|1123\n大专院校|0x100000|723\n大转弯|0x0000|464\n大赚一票|0x400000|1\n大庄园|0x0008|399\n大字报|0x100000|11069\n大自然|0x100000|5122\n大总统|0x100000|941\n大足县|0x0040|1232\n大醉侠|0x100000|386\n大作家|0x100000|907\n大做文章|0x800000|25324\n呆会儿|0x0000|35335\n呆里撒奸|0x1000000|100\n呆如木鸡|0x1000000|1222\n呆若木鸡|0x1000000|35041\n呆似木鸡|0x1000000|100\n呆头呆脑|0x1000000|35798\n代办处|0x100000|49048\n代办所|0x100000|1118\n代币券|0x100000|1224\n代表处|0x100000|664\n代表大会|0x100000|643\n代表队|0x100000|836\n代表会|0x100000|958\n代表会议|0x100000|493\n代表权|0x100000|1088\n代表人|0x100000|734\n代表人物|0x0000|590\n代表团|0x100000|659\n代表团成员|0x0000|448\n代表性|0x100000|6426\n代表作|0x100000|12078\n代部长|0x100000|1217\n代代相承|0x800000|1229\n代代相传|0x800000|19802\n代扣代缴|0x800000|986\n代理处|0x100000|1502\n代理店|0x100000|894\n代理费|0x100000|909\n代理服务器|0x0000|640\n代理权|0x100000|831\n代理人|0x100000|9491\n代理商|0x100000|18953\n代理行|0x100000|1011\n代理制|0x100000|949\n代理中心|0x100000|481\n代马望北|0x1000000|100\n代马依风|0x1000000|100\n代码证|0x100000|492\n代码转换器|0x0008|0\n代名词|0x100000|19727\n代人受过|0x0000|100\n代人说项|0x0000|100\n代人捉刀|0x0000|100\n代省长|0x100000|1004\n代食品|0x0000|52666\n代市长|0x100000|989\n代数闭域|0x0008|0\n代数方程|0x100000|1137\n代数和|0x100000|1104\n代数式|0x100000|1094\n代数数域|0x0008|0\n代数学|0x100000|404\n代替品|0x100000|944\n代为说项|0x0000|100\n代位继承|0x1000|1107\n代销店|0x100000|47953\n代销商|0x100000|1058\n代谢能|0x0008|0\n代谢物|0x0008|1011\n代谢作用|0x0008|0\n代言人|0x100000|18390\n代议制|0x100000|47954\n代用品|0x100000|33092\n代越庖俎|0x1000000|100\n代赭石|0x0008|0\n代之以|0x0000|496\n代主席|0x100000|1095\n代总理|0x100000|1022\n代总统|0x100000|1083\n岱山县|0x0040|1579\n带兵官|0x100000|1362\n带刺儿|0x1000|29405\n带电作业|0x0008|0\n带毒者|0x100000|1278\n带分数|0x100000|1265\n带好儿|0x1000|23985\n带减腰围|0x1000000|100\n带金佩紫|0x1000000|100\n带菌者|0x100000|1059\n带砺河山|0x0000|100\n带牛佩犊|0x0000|100\n带水拖泥|0x1000000|100\n带通滤波器|0x0008|0\n带头人|0x100000|7604\n带头羊|0x0000|52667\n带头作用|0x0000|534\n带徒弟|0x0000|47326\n带有二炔烯官能团|0x400000|0\n带月披星|0x1000000|100\n带状疱疹|0x0008|945\n带状线|0x0008|0\n带着铃铛去做贼|0x0008|100\n带阻滤波器|0x0008|0\n带罪立功|0x0000|100\n待产室|0x100000|1145\n待定系数法|0x100000|1221\n待会儿|0x8000000|35335\n待机而动|0x1000000|1095\n待机时间|0x0008|631\n待机图片|0x100000|793\n待贾而沽|0x1000000|100\n待价而沽|0x1000000|43628\n待理不理|0x1000000|1305\n待人接物|0x1000000|829\n待时而动|0x1000000|1229\n待时守分|0x0000|100\n待摊费用|0x0008|480\n待兔守株|0x1000000|100\n待业青年|0x100000|957\n待业者|0x100000|1209\n待月西厢|0x1000000|1187\n待字闺中|0x1000000|961\n怠惰因循|0x0000|100\n殆无孑遗|0x0000|100\n殆无虚日|0x0000|100\n贷款额|0x100000|991\n贷款风险|0x100000|476\n贷款人|0x100000|954\n袋泡茶|0x100000|439\n逮捕令|0x100000|992\n逮捕证|0x100000|1187\n戴发含齿|0x1000000|100\n戴发含牙|0x1000000|100\n戴高乐|0x0080|1450\n戴高帽|0x1000|36788\n戴高帽儿|0x0008|1503\n戴高帽子|0x800000|40756\n戴鸡佩豚|0x1000000|100\n戴笠乘车|0x1000000|100\n戴笠故交|0x1000000|100\n戴绿帽|0x1000|48303\n戴绿帽子|0x1000|49402\n戴帽子|0x800000|29003\n戴眉含齿|0x1000000|100\n戴面具|0x0000|456\n戴盆望天|0x1000000|1368\n戴清履浊|0x1000000|100\n戴日戴斗|0x1000000|100\n戴霜履冰|0x1000000|100\n戴天蹐地|0x1000000|100\n戴天履地|0x1000000|1416\n戴头识脸|0x1000000|100\n戴玄履黄|0x1000000|100\n戴亚耶亚|0x0080|0\n戴圆履方|0x1000000|1537\n戴月披星|0x1000000|1263\n戴罪立功|0x1000000|44639\n黛安娜|0x0080|1485\n丹巴县|0x0040|1102\n丹顶鹤|0x100000|21611\n丹东市|0x0040|1278\n丹凤朝阳|0x1000000|1105\n丹凤县|0x0040|1039\n丹凤眼|0x100000|41671\n丹红素|0x100000|0\n丹黄甲乙|0x1000000|100\n丹江口|0x0040|1365\n丹江口市|0x0040|1520\n丹棱县|0x0040|1097\n丹麦人|0x100000|440\n丹麦语|0x100000|412\n丹尼尔|0x0040|1251\n丹漆随梦|0x1000000|100\n丹铅甲乙|0x1000000|100\n丹青不渝|0x0000|100\n丹青妙手|0x800000|1223\n丹书白马|0x1000000|100\n丹书铁契|0x1000000|100\n丹书铁券|0x1000000|1248\n丹溪心法|0x0008|0\n丹心碧血|0x0000|100\n丹心如故|0x0000|100\n丹阳市|0x0040|1238\n丹楹刻桷|0x1000000|0\n丹寨县|0x0040|1113\n丹之所藏者赤|0x0008|100\n单胺氧化酶|0x0008|0\n单板机|0x0008|0\n单板计算机|0x0008|1059\n单倍体|0x100000|1198\n单倍性|0x0008|0\n单边带调制|0x0008|0\n单兵孤城|0x0000|100\n单步法|0x0008|0\n单层式|0x100000|0\n单程票|0x100000|1014\n单纯词|0x100000|1349\n单纯性|0x100000|914\n单纯性甲状腺肿|0x0008|0\n单打独斗|0x800000|833\n单打一|0x401000|40983\n单刀赴会|0x1000000|970\n单刀宜入|0x0000|31024\n单刀直入|0x1000000|897\n单独海损|0x0008|0\n单耳听觉|0x0008|0\n单反相机|0x0000|514\n单方面|0x20000000|10319\n单放机|0x100000|54193\n单分子层|0x0008|0\n单峰驼|0x100000|1248\n单干户|0x0000|50521\n单个儿|0x20000000|15088\n单根独苗|0x800000|1511\n单鹄寡凫|0x1000000|100\n单轨铁路|0x0008|1163\n单轨制|0x0008|0\n单簧管|0x100000|42161\n单极晶体管|0x0008|0\n单季稻|0x100000|52669\n单见浅闻|0x1000000|100\n单交种|0x0008|0\n单脚跳|0x0000|381\n单孑独立|0x0000|100\n单结晶体管|0x0008|0\n单晶硅|0x100000|984\n单晶体|0x100000|1158\n单克隆|0x20000000|1009\n单克隆抗体|0x0000|442\n单口相声|0x800000|47327\n单恋一枝花|0x400000|0\n单门独户|0x800000|1237\n单面山|0x0008|0\n单宁酸|0x0008|1042\n单片机|0x100000|670\n单枪独马|0x0000|100\n单枪匹马|0x1000000|28908\n单亲家庭|0x0000|504\n单人床|0x100000|28611\n单人独马|0x800000|1346\n单人房|0x0000|502\n单人滑|0x0000|25187\n单人间|0x100000|486\n单人舞|0x100000|55166\n单人游戏|0x100000|1031\n单三部曲式|0x400000|0\n单色光|0x100000|1163\n单色性|0x100000|0\n单色仪|0x0008|0\n单身白领|0x100000|422\n单身贵族|0x100000|43391\n单身汉|0x100000|29407\n单身男女|0x100000|496\n单身男人|0x100000|468\n单身女人|0x100000|509\n单身生活|0x100000|479\n单声道|0x0000|501\n单丝不成线|0x0008|1319\n单丝不线|0x0000|100\n单体性|0x100000|0\n单位成本|0x0008|2\n单位地址|0x100000|617\n单位负责人|0x0000|530\n单位工程|0x0008|5\n单位领导|0x100000|815\n单位面积产量|0x0008|377\n单位名称|0x100000|665\n单位名单|0x100000|444\n单位制|0x100000|1036\n单文孤证|0x1000000|100\n单细胞|0x100000|874\n单弦儿|0x100000|45543\n单相思|0x1000|39257\n单向阀|0x100000|999\n单向收费|0x0008|2\n单向行驶|0x0008|1\n单向性|0x100000|1121\n单项奖|0x100000|963\n单项式|0x100000|1210\n单行本|0x100000|19728\n单行道|0x100000|818\n单行线|0x100000|47031\n单性花|0x100000|1400\n单循环|0x100000|1041\n单循环赛|0x100000|1184\n单眼皮|0x100000|37685\n单一编址空间|0x400000|0\n单一材料|0x400000|0\n单一刺激法|0x400000|0\n单一化|0x401000|0\n单一培养|0x400000|0\n单一体|0x400000|0\n单一性|0x400000|983\n单音词|0x100000|1229\n单引号|0x0000|477\n单用户|0x100000|503\n单忧极瘁|0x1000000|100\n单元测试|0x0000|509\n单元房|0x0000|40758\n单元格|0x0000|573\n单元楼|0x0000|50129\n单元门|0x0000|48304\n单元性|0x100000|0\n单则易折|0x1000000|100\n单株选择|0x0008|0\n单子叶植物|0x0008|1174\n担保法|0x100000|945\n担保人|0x100000|20527\n担不是|0x1000|1241\n担担面|0x100000|54195\n担风险|0x1000|956\n担架队|0x100000|1230\n担惊忍怕|0x0000|100\n担惊受恐|0x1000000|100\n担惊受怕|0x1000000|26738\n担雪塞井|0x1000000|100\n担雪填河|0x1000000|100\n担雪填井|0x1000000|100\n眈眈逐逐|0x0000|100\n耽惊受怕|0x0000|100\n郸城县|0x0040|1060\n躭惊受怕|0x1000000|100\n殚财竭力|0x0000|100\n殚诚毕虑|0x1000000|100\n殚见洽闻|0x1000000|100\n殚精毕力|0x1000000|100\n殚精极虑|0x1000000|100\n殚精竭力|0x1000000|100\n殚精竭虑|0x1000000|24942\n殚谋戮力|0x1000000|100\n殚思极虑|0x1000000|1362\n殚思竭虑|0x1000000|1258\n殚智竭力|0x1000000|100\n箪豆见色|0x1000000|100\n箪瓢屡空|0x0000|100\n箪食壶浆|0x1000000|1174\n箪食壶酒|0x0000|100\n箪食瓢饮|0x1000000|0\n儋石之储|0x1000000|100\n儋州市|0x0040|1531\n胆颤心惊|0x1000000|960\n胆粗气壮|0x1000000|100\n胆大包天|0x1000000|37146\n胆大泼天|0x1000000|100\n胆大如斗|0x1000000|0\n胆大妄为|0x1000000|29408\n胆大心粗|0x1000000|100\n胆大心细|0x1000000|44366\n胆大心小|0x1000000|100\n胆大心雄|0x1000000|100\n胆大于身|0x0000|100\n胆固醇|0x100000|20984\n胆管癌|0x100000|368\n胆寒发竖|0x1000000|100\n胆红素|0x100000|969\n胆碱能|0x100000|1072\n胆碱酯酶|0x0008|0\n胆结石|0x100000|35799\n胆裂魂飞|0x1000000|1431\n胆南星|0x0008|0\n胆囊结石|0x100000|398\n胆囊收缩肽|0x0008|0\n胆囊息肉|0x100000|504\n胆囊炎|0x100000|43858\n胆破心寒|0x1000000|100\n胆破心惊|0x800000|1492\n胆丧魂惊|0x1000000|100\n胆丧魂消|0x1000000|100\n胆色素|0x0008|1232\n胆石病|0x100000|1230\n胆识过人|0x1000000|924\n胆小鬼|0x100000|32365\n胆小怕事|0x800000|38654\n胆小如豆|0x1000000|100\n胆小如鼠|0x1000000|41899\n胆小如鼷|0x1000000|100\n胆战心寒|0x1000000|1204\n胆战心慌|0x1000000|100\n胆战心惊|0x1000000|26955\n胆战心摇|0x1000000|100\n胆壮气粗|0x1000000|100\n胆壮心雄|0x1000000|100\n胆总管|0x0008|1\n旦旦而伐|0x800000|100\n旦角儿|0x0000|30374\n旦暮入地|0x0000|100\n旦夕祸福|0x800000|46421\n旦夕之危|0x0000|100\n旦种暮成|0x1000000|100\n但求无过|0x800000|1003\n但愿人长久|0x800000|782\n诞幻不经|0x1000000|100\n诞谩不经|0x1000000|100\n诞生地|0x100000|897\n诞生石|0x0000|395\n诞罔不经|0x1000000|100\n诞妄不经|0x1000000|100\n啖以重利|0x0000|100\n弹拨乐|0x100000|1232\n弹拨乐器|0x100000|1105\n弹出式|0x0008|871\n弹弹琴|0x100000|0\n弹道导弹|0x100000|876\n弹道学|0x100000|1170\n弹钢琴|0x0000|32176\n弹冠结绶|0x1000000|100\n弹冠相庆|0x1000000|51571\n弹冠振衿|0x1000000|100\n弹冠振衣|0x1000000|100\n弹花机|0x0008|1221\n弹簧厂|0x100000|448\n弹簧秤|0x100000|55974\n弹簧床|0x0008|48887\n弹簧刀|0x0000|417\n弹簧钢|0x0008|49609\n弹簧机|0x100000|377\n弹簧门|0x100000|53435\n弹簧锁|0x100000|51995\n弹簧椅|0x0008|0\n弹铗无鱼|0x0000|100\n弹剑作歌|0x1000000|1246\n弹斤估两|0x1000000|100\n弹尽粮绝|0x1000000|42664\n弹尽援绝|0x1000000|1236\n弹空说嘴|0x1000000|100\n弹力布|0x100000|439\n弹力面料|0x100000|375\n弹力丝|0x0008|0\n弹射器|0x100000|396\n弹丝品竹|0x0000|100\n弹跳力|0x0008|53958\n弹丸黑志|0x1000000|100\n弹丸黑子|0x1000000|100\n弹丸脱手|0x1000000|100\n弹丸之地|0x1000000|40331\n弹无虚发|0x1000000|48306\n弹性力|0x100000|0\n弹性模量|0x0008|1062\n弹性散射|0x0008|0\n弹性体|0x0008|877\n弹性元件|0x100000|370\n弹药库|0x100000|1013\n弹药箱|0x100000|1182\n弹雨枪林|0x1000000|100\n弹指之间|0x1000000|993\n弹状病毒|0x0008|0\n弹着点|0x100000|1146\n弹子房|0x100000|51762\n惮赫千里|0x1000000|100\n淡泊明志|0x1000000|948\n淡豆豉|0x0008|0\n淡而不厌|0x1000000|100\n淡而无味|0x40000000|48305\n淡饭黄齑|0x1000000|100\n淡褐色|0x100000|1020\n淡红色|0x100000|902\n淡黄色|0x0000|556\n淡江大学|0x0020|1557\n淡蓝色|0x0000|565\n淡绿色|0x100000|849\n淡青色|0x100000|959\n淡然处之|0x1000000|982\n淡然置之|0x1000000|100\n淡汝浓抹|0x1000000|1365\n淡扫蛾眉|0x1000000|1181\n淡水河|0x100000|1595\n淡水湖|0x100000|939\n淡水交情|0x1000000|100\n淡水鱼|0x100000|35800\n淡写轻描|0x1000000|100\n淡竹叶|0x100000|1112\n淡妆浓抹|0x1000000|52191\n淡妆轻抹|0x1000000|100\n淡紫色|0x100000|820\n蛋氨酸|0x100000|991\n蛋白胨|0x100000|1083\n蛋白粉|0x100000|539\n蛋白激酶|0x0008|3\n蛋白酶|0x100000|879\n蛋白尿|0x0008|42881\n蛋白石|0x100000|1049\n蛋白饲料|0x100000|418\n蛋白质|0x100000|6467\n蛋白组|0x100000|0\n蛋炒饭|0x0008|49404\n蛋糕店|0x100000|528\n蛋糕盒|0x0008|0\n蛋黄酱|0x0000|400\n蛋黄素|0x100000|0\n蛋卷儿|0x0000|49055\n蛋制品|0x0008|928\n氮化物|0x100000|1132\n氮蓝四唑|0x400000|0\n澹泊寡欲|0x0000|100\n澹泊明志|0x0000|100\n当不了|0x1000|674\n当不起|0x0000|49056\n当场出彩|0x1000000|0\n当场出丑|0x0000|100\n当代大学生|0x100000|509\n当代人|0x100000|900\n当代世界|0x100000|511\n当代文学|0x100000|796\n当代小说|0x100000|423\n当代艺术|0x100000|500\n当代中国|0x100000|581\n当代作家|0x100000|435\n当地人|0x100000|686\n当地时间|0x0000|623\n当断不断|0x800000|1028\n当耳边风|0x800000|1039\n当耳旁风|0x0000|100\n当风秉烛|0x0000|100\n当刮目相待|0x0008|100\n当机立断|0x1000000|25475\n当机立决|0x0000|100\n当家的|0x0000|38066\n当家理财|0x100000|943\n当家理纪|0x0000|100\n当家立计|0x0000|100\n当家立纪|0x0000|100\n当家立事|0x0000|100\n当家立业|0x0000|100\n当家人|0x100000|29940\n当家作主|0x800000|884\n当家做主|0x800000|997\n当间儿|0x2000000|51327\n当今社会|0x0000|548\n当今时代|0x100000|479\n当今世界|0x0000|591\n当今无辈|0x0000|100\n当今中国|0x100000|505\n当局者迷|0x1000000|868\n当口儿|0x0000|25550\n当立之年|0x800000|100\n当量浓度|0x0008|1173\n当门抵户|0x1000000|100\n当面错过|0x0000|100\n当面交易|0x100000|583\n当面锣|0x800000|100\n当面锣对面鼓|0x0000|100\n当面输心背面笑|0x0008|1497\n当前位置|0x100000|837\n当前我国|0x100000|535\n当前心情|0x100000|461\n当权派|0x0000|30153\n当权者|0x100000|883\n当仁不让|0x1000000|28000\n当世才度|0x0000|100\n当世无双|0x0000|100\n当事国|0x100000|1160\n当事人|0x100000|2840\n当事者|0x100000|907\n当头棒喝|0x1000000|39483\n当头对面|0x800000|100\n当头一棒|0x1400000|34451\n当涂县|0x0040|1434\n当务始终|0x0000|100\n当务之急|0x1000000|7378\n当刑而王|0x0000|100\n当行本色|0x0000|100\n当行出色|0x1000000|100\n当雄县|0x0040|1083\n当选人|0x0000|394\n当选者|0x100000|1106\n当阳市|0x0040|1510\n当一回事|0x400000|0\n当一天和尚撞一天钟|0x400008|0\n当政者|0x100000|1001\n当之无愧|0x1000000|19581\n当之有愧|0x0000|100\n当中间儿|0x0000|53674\n当轴处中|0x1000000|1542\n当着不着|0x0000|100\n挡车工|0x100000|49759\n挡风玻璃|0x0000|520\n挡箭牌|0x100000|33094\n挡泥板|0x100000|53183\n挡土墙|0x100000|990\n党八股|0x500000|44367\n党豺为虐|0x0000|100\n党代表|0x100000|17112\n党代会|0x100000|16733\n党的基本路线|0x0008|491\n党的建设|0x0008|807\n党的领导|0x0008|64\n党的十一届三中全会|0x400000|6\n党恶佑奸|0x1000000|100\n党风廉政|0x100000|641\n党风廉政建设|0x0000|631\n党和国家|0x0000|601\n党和国家领导人|0x0000|477\n党和政府|0x0000|583\n党纪国法|0x800000|1011\n党纪政纪|0x100000|470\n党坚势盛|0x1000000|100\n党领导|0x100000|480\n党内斗争|0x0008|0\n党内外|0x100000|457\n党群关系|0x800000|950\n党同妒异|0x1000000|100\n党同伐异|0x1000000|41673\n党团活动|0x100000|815\n党团员|0x100000|31143\n党外人士|0x100000|998\n党委办公室|0x100000|465\n党委会|0x100000|1037\n党委书记|0x100000|702\n党委委员|0x100000|476\n党委政府|0x100000|502\n党委制|0x100000|1329\n党卫队|0x100000|462\n党务工作|0x100000|915\n党小组|0x100000|1041\n党邪丑正|0x1000000|100\n党邪陷正|0x1000000|100\n党性修养|0x100000|476\n党员大会|0x0008|465\n党员队伍|0x100000|547\n党员干部|0x0000|653\n党员个人|0x100000|484\n党员领导干部|0x100000|573\n党员素质|0x100000|485\n党员先进性教育|0x100000|612\n党员先进性教育活动|0x100000|679\n党员意识|0x100000|449\n党员证|0x0008|0\n党政不分|0x800000|1020\n党政部门|0x100000|996\n党政工团|0x0000|50914\n党政机关|0x100000|754\n党政军|0x100000|931\n党政领导|0x100000|786\n党政领导干部|0x0000|530\n党政群|0x100000|1133\n党支部|0x100000|2676\n党支部书记|0x0000|577\n党中央|0x0020|1840\n党主席|0x0000|522\n党总支|0x100000|11937\n党组会|0x100000|1188\n党组织|0x100000|2777\n谠论侃侃|0x0000|100\n谠言嘉论|0x0000|100\n谠言直声|0x0000|100\n宕昌县|0x0040|1104\n砀山县|0x0040|1499\n荡产倾家|0x0000|100\n荡荡悠悠|0x0100|1249\n荡海拔山|0x0000|100\n荡魂摄魄|0x1000000|1314\n荡检逾闲|0x1000000|1536\n荡气回肠|0x1000000|28814\n荡秋千|0x1000|812\n荡然无存|0x800000|20268\n荡然一空|0x400000|0\n荡析离居|0x1000000|100\n档案大小|0x100000|589\n档案袋|0x100000|930\n档案法|0x100000|1080\n档案馆|0x100000|770\n档案管理系统|0x100000|480\n档案柜|0x100000|952\n档案盒|0x100000|393\n档案夹|0x0008|1038\n档案局|0x100000|522\n档案室|0x100000|893\n档案文件|0x0000|460\n档案学|0x100000|424\n档案资料|0x100000|524\n刀把儿|0x100000|29730\n刀把子|0x100000|53184\n刀刀见血|0x1000000|1053\n刀锋战士|0x100000|497\n刀斧手|0x100000|46423\n刀耕火耨|0x1000000|100\n刀耕火耘|0x1000000|100\n刀耕火种|0x1000000|37869\n刀光剑影|0x1000000|33242\n刀光血影|0x1000000|1112\n刀过竹解|0x1000000|100\n刀锯鼎镬|0x1000000|0\n刀锯斧钺|0x1000000|100\n刀口尺|0x100000|0\n刀马旦|0x100000|47033\n刀枪不入|0x1000000|47329\n刀枪剑戟|0x1000000|1056\n刀枪入库|0x0000|100\n刀山火海|0x1000000|994\n刀山剑林|0x1000000|1365\n刀山剑树|0x1000000|1298\n刀头剑首|0x1000000|100\n刀头舔蜜|0x1000000|100\n刀头燕尾|0x1000000|100\n刀下留人|0x0000|389\n刀削面|0x100000|51764\n刀子嘴|0x100000|50523\n刀俎余生|0x0000|100\n叨陪末座|0x1000000|100\n叨在知己|0x0000|100\n导磁率|0x100000|1252\n导弹部队|0x0008|211\n导弹基地|0x0008|19\n导弹驱逐舰|0x0000|467\n导弹艇|0x100000|1072\n导弹系统|0x0008|216\n导德齐礼|0x0000|100\n导电性|0x100000|974\n导光板|0x100000|428\n导航台|0x0000|46424\n导航系统|0x0008|545\n导航员|0x0000|49059\n导火索|0x100000|25880\n导火线|0x100000|34453\n导缆器|0x100000|0\n导尿管|0x100000|1042\n导热性|0x0008|1057\n导热油|0x100000|499\n导师制|0x100000|437\n导温系数|0x0008|0\n导以取保|0x0000|100\n岛瘦郊寒|0x1000000|100\n倒背如流|0x1000000|41674\n倒绷孩儿|0x1000000|1410\n倒不如|0x10000000|847\n倒插笔|0x0000|55623\n倒插门|0x1000|44944\n倒车镜|0x100000|1006\n倒持干戈|0x1000000|100\n倒持戈矛|0x1000000|100\n倒持手板|0x1000000|100\n倒持太阿|0x1000000|0\n倒持泰阿|0x1000000|1384\n倒春寒|0x100000|46133\n倒打一耙|0x1400000|41903\n倒打一瓦|0x1400000|0\n倒带机|0x0008|0\n倒儿爷|0x100000|1398\n倒凤颠鸾|0x1000000|1314\n倒戈卸甲|0x1000000|100\n倒挂金钩|0x800000|1047\n倒挂金钟|0x100000|1146\n倒冠落佩|0x1000000|100\n倒冠落珮|0x1000000|100\n倒果为因|0x1000000|53678\n倒过儿|0x1000|0\n倒过来|0x0000|523\n倒海翻江|0x1000000|1151\n倒好儿|0x0000|12694\n倒戢干戈|0x1000000|100\n倒计时|0x800000|21142\n倒街卧巷|0x1000000|100\n倒拉一把|0x400000|0\n倒廪倾囷|0x1000000|100\n倒买倒卖|0x800000|47330\n倒箧倾筐|0x1000000|100\n倒箧倾囊|0x1000000|100\n倒三颠四|0x1400000|0\n倒山倾海|0x1000000|100\n倒裳索领|0x800000|100\n倒摄抑制|0x0008|0\n倒胃口|0x1000|38246\n倒屣相迎|0x1000000|100\n倒峡泻河|0x1000000|100\n倒行逆施|0x1000000|22531\n倒悬之急|0x800000|100\n倒悬之苦|0x0000|100\n倒因为果|0x1000000|100\n倒栽葱|0x1000|48308\n倒载干戈|0x1000000|1494\n倒执手版|0x1000000|100\n倒置干戈|0x1000000|100\n倒置显微镜|0x0008|0\n捣蛋鬼|0x100000|931\n捣虚批吭|0x1000000|100\n捣虚撇抗|0x0000|100\n蹈常习故|0x0000|100\n蹈常袭故|0x1000000|1534\n蹈锋饮血|0x1000000|100\n蹈赴汤火|0x1000000|100\n蹈故习常|0x0000|100\n蹈规循矩|0x1000000|100\n蹈火赴汤|0x1000000|100\n蹈火探汤|0x1000000|100\n蹈机握杼|0x1000000|100\n蹈节死义|0x1000000|100\n蹈矩践墨|0x1000000|100\n蹈矩循规|0x1000000|100\n蹈矩循彟|0x1000000|100\n蹈厉奋发|0x0000|100\n蹈厉之志|0x0000|100\n蹈其覆辙|0x0000|100\n蹈人旧辙|0x0000|100\n蹈仁履义|0x1000000|100\n蹈刃不旋|0x1000000|100\n蹈汤赴火|0x1000000|100\n蹈袭覆辙|0x1000000|1269\n蹈袭前人|0x0000|100\n到不了|0x1000|1000\n到此为止|0x800000|713\n到此一游|0xc00000|0\n到达场|0x0008|0\n到发场|0x0008|0\n到会者|0x100000|1178\n到期日|0x100000|933\n到头来|0x8000000|13038\n悼心疾首|0x1000000|100\n悼心失图|0x1000000|100\n盗版碟|0x100000|442\n盗版软件|0x0000|488\n盗伐林木|0x0008|5\n盗铃掩耳|0x0000|100\n盗名暗世|0x0000|100\n盗名欺世|0x1000000|1275\n盗窃案|0x100000|918\n盗窃犯|0x100000|1109\n盗窃罪|0x100000|918\n盗嫂受金|0x0000|100\n盗食致饱|0x0000|100\n盗亦有道|0x1000000|968\n盗玉窃钩|0x0000|100\n盗怨主人|0x0000|100\n盗贼王|0x100000|369\n盗憎主人|0x1000000|1349\n盗跖之物|0x0000|100\n盗钟掩耳|0x0000|100\n道傍苦李|0x1000000|100\n道傍之筑|0x1000000|100\n道傍筑室|0x1000000|100\n道边苦李|0x1000000|100\n道不掇遗|0x1000000|100\n道不举遗|0x1000000|100\n道不拾遗|0x1000000|54199\n道不同不相为谋|0x100000|944\n道不相谋|0x1000000|100\n道长论短|0x1000000|100\n道长争短|0x1000000|100\n道存目击|0x1000000|100\n道大莫容|0x1000000|100\n道道地地|0x0008|0\n道道儿|0x100000|9403\n道德风险|0x100000|469\n道德感|0x100000|935\n道德观|0x100000|822\n道德规范|0x0008|561\n道德教育|0x100000|804\n道德经|0x0008|1318\n道德品质|0x0008|513\n道德上|0x0000|503\n道德素质|0x100000|524\n道德文章|0x0000|100\n道德行为|0x100000|8\n道德修养|0x100000|536\n道德哲学|0x0008|0\n道弟称兄|0x1000000|100\n道东说西|0x1000000|100\n道而不径|0x1000000|100\n道尔顿|0x0080|1044\n道孚县|0x0040|1137\n道高德重|0x1000000|1540\n道高魔重|0x1000000|100\n道高望重|0x1000000|0\n道高一尺|0x1400000|2\n道高一丈|0x1400000|1\n道高益安|0x0000|100\n道格拉斯|0x0008|1352\n道骨仙风|0x1000000|1108\n道寡称孤|0x1000000|100\n道合志同|0x1000000|100\n道教徒|0x100000|1133\n道尽涂殚|0x1000000|100\n道尽涂穷|0x1000000|100\n道尽途殚|0x1000000|100\n道尽途穷|0x1000000|100\n道殣相望|0x1000000|100\n道殣相枕|0x1000000|100\n道殣相属|0x1000000|100\n道具中心|0x100000|576\n道林纸|0x100000|50916\n道路灯|0x100000|448\n道路交通|0x100000|641\n道路交通安全|0x100000|508\n道路设施|0x100000|389\n道路网|0x100000|1093\n道路以目|0x1000000|1138\n道貌岸然|0x1000000|35043\n道貌凛然|0x1000000|100\n道貌俨然|0x1000000|100\n道旁苦李|0x1000000|1540\n道茄子|0x100000|100\n道山学海|0x1000000|100\n道听耳食|0x1000000|100\n道听涂说|0x1000000|1120\n道听途说|0x1000000|30588\n道同契合|0x1000000|100\n道同义合|0x1000000|100\n道同志合|0x1000000|100\n道头会尾|0x1000000|0\n道头知尾|0x1000000|100\n道微德薄|0x1000000|100\n道无拾遗|0x1000000|100\n道西说东|0x1000000|100\n道学先生|0x0000|44945\n道义之交|0x0000|100\n道远日暮|0x0000|100\n道远知骥|0x1000000|100\n道在人为|0x1000000|100\n道在屎溺|0x1000000|100\n稻本润一|0x400080|0\n稻草人|0x100000|36792\n稻城县|0x0040|1090\n稻瘟病|0x100000|37871\n稻瘿蚊|0x100000|1410\n稻垣吾郎|0x0080|0\n稻纵卷叶螟|0x0008|1\n得薄能鲜|0x1000000|100\n得不补失|0x1000000|100\n得不偿丧|0x1000000|100\n得不偿失|0x1000000|20805\n得不酬失|0x1000000|100\n得不到|0x1000|501\n得步进步|0x1000000|1491\n得逞一时|0x400000|0\n得尺得寸|0x0000|100\n得寸得尺|0x1000000|100\n得寸进尺|0x1000000|32876\n得道多助|0x1000000|1038\n得而复失|0x800000|45233\n得分王|0x100000|467\n得过且过|0x1000000|24556\n得奖人|0x0000|397\n得奖者|0x0000|455\n得克萨斯|0x0040|1416\n得克萨斯州|0x0040|1486\n得来全不费工夫|0x0008|100\n得礼一尺|0x1400000|0\n得陇望蜀|0x1000000|46137\n得马生灾|0x1000000|100\n得马失马|0x1000000|100\n得马折足|0x1000000|100\n得其三昧|0x400000|100\n得其所哉|0x1000000|50132\n得饶人处且饶人|0x0008|1006\n得人死力|0x0000|100\n得人心|0x40000000|19020\n得人者昌|0x0000|100\n得荣县|0x0040|1207\n得胜回朝|0x1000000|1188\n得胜头回|0x0000|100\n得失参半|0x0000|100\n得失成败|0x0000|100\n得失荣枯|0x1000000|1536\n得失相半|0x0000|100\n得失相当|0x0008|0\n得失在人|0x0000|100\n得手应心|0x1000000|100\n得天独厚|0x1000000|11566\n得兔忘蹄|0x1000000|100\n得未尝有|0x1000000|100\n得未曾有|0x1000000|1210\n得心应手|0x1000000|19847\n得婿如龙|0x0000|100\n得益于|0x1000|388\n得意门生|0x1000000|949\n得意忘象|0x1000000|1294\n得意忘形|0x1000000|28002\n得意忘言|0x1000000|1219\n得意扬扬|0x1000000|1084\n得意洋洋|0x1000000|23986\n得意之色|0x0000|100\n得意之作|0x800000|909\n得鱼忘荃|0x1000000|1534\n得鱼忘筌|0x1000000|1232\n得月较先|0x0000|100\n得罪人|0x40000000|807\n德安县|0x0040|1069\n德昂族|0x0008|44369\n德保县|0x0040|1635\n德本财末|0x1000000|100\n德薄才疏|0x1000000|0\n德薄才鲜|0x0000|100\n德薄能鲜|0x1000000|1414\n德才兼备|0x1000000|13019\n德昌县|0x0040|1124\n德夫力斯|0x0080|0\n德高望重|0x1000000|20003\n德格县|0x0040|1149\n德国队|0x100000|552\n德国法西斯|0x100000|429\n德国科隆|0x100000|463\n德国人|0x100000|682\n德国世界杯|0x100000|577\n德国总理|0x0008|123\n德黑兰|0x0040|1394\n德厚流光|0x1000000|1315\n德化县|0x0040|1464\n德惠市|0x0040|1653\n德基水库|0x0040|1308\n德甲联赛|0x100000|472\n德江县|0x0040|1087\n德克萨斯|0x0040|871\n德克萨斯州|0x0040|1504\n德拉克鲁兹|0x0080|2\n德拉瓦河|0x0040|1389\n德力格尔|0x0080|0\n德令哈|0x0040|958\n德令哈市|0x0040|1651\n德隆望重|0x1000000|100\n德隆望尊|0x1000000|100\n德谟克里特|0x0080|1246\n德配天地|0x1000000|1253\n德浅行薄|0x0000|100\n德钦县|0x0040|1036\n德清县|0x0040|1419\n德庆县|0x0040|1589\n德容兼备|0x0000|100\n德容言功|0x1000000|100\n德胜门|0x0040|1534\n德胜头迴|0x1000000|100\n德沃夏克|0x0040|1590\n德新社|0x0008|1112\n德兴市|0x0040|1549\n德言工貌|0x1000000|100\n德言工容|0x1000000|100\n德言容功|0x1000000|100\n德阳市|0x0040|1389\n德洋恩普|0x1000000|1265\n德艺双馨|0x1000000|977\n德意志|0x0040|1198\n德意志帝国|0x100000|1006\n德音莫违|0x1000000|100\n德輶如毛|0x1000000|1397\n德輶如羽|0x1000000|100\n德语系|0x100000|1084\n德育工作|0x100000|564\n德育教育|0x100000|487\n德育论文|0x100000|424\n德育心理学|0x0008|0\n德智体|0x100000|26115\n德重恩弘|0x1000000|100\n德州人|0x100000|1195\n德州市|0x0040|1318\n德州仪器|0x100000|504\n德尊望重|0x1000000|100\n的的确确|0x8000000|800\n的黎波里|0x0040|1107\n的确良|0x100000|36622\n的确如此|0x800000|792\n的一确二|0x400000|100\n灯蛾扑火|0x1000000|100\n灯光设备|0x100000|980\n灯光设计|0x100000|424\n灯光效果|0x0008|0\n灯光音响|0x100000|479\n灯红酒绿|0x1000000|27194\n灯火辉煌|0x1000|823\n灯火万家|0x0000|100\n灯尽油干|0x0000|100\n灯亮儿|0x0000|20269\n灯笼裤|0x100000|48685\n灯塔市|0x0040|1584\n灯心草|0x100000|1128\n灯心绒|0x100000|924\n灯芯绒|0x0008|44370\n灯烛辉煌|0x0000|100\n登封市|0x0040|1389\n登峰造极|0x1000000|31392\n登锋履刃|0x0000|100\n登锋陷阵|0x0000|100\n登高必赋|0x0000|100\n登高履危|0x0000|100\n登高去梯|0x0000|100\n登高望远|0x1000000|954\n登高一呼|0x1400000|0\n登高自卑|0x1000000|100\n登革热|0x100000|954\n登广告|0x0000|484\n登机口|0x100000|965\n登机牌|0x100000|885\n登记表|0x100000|20496\n登记簿|0x100000|995\n登记册|0x100000|45234\n登记处|0x100000|942\n登记卡|0x100000|995\n登记手续|0x100000|578\n登界游方|0x0000|100\n登陆场|0x0008|1\n登陆点|0x100000|1103\n登陆舰|0x100000|38860\n登陆密码|0x100000|489\n登陆艇|0x100000|47646\n登陆作战|0x0008|18\n登录器|0x0000|482\n登木求鱼|0x0000|100\n登山队|0x100000|908\n登山队员|0x100000|1057\n登山服|0x0000|55171\n登山扣|0x100000|391\n登山临水|0x1000000|1174\n登山涉水|0x0000|100\n登山小鲁|0x1000000|100\n登山鞋|0x100000|829\n登山越岭|0x0000|100\n登山运动|0x800000|930\n登山陟岭|0x0000|100\n登台拜将|0x0000|100\n登坛拜将|0x1000000|1293\n登堂入室|0x1000000|37872\n登月舱|0x100000|1188\n等比级数|0x0008|1189\n等比数列|0x800000|1086\n等边三角|0x400000|0\n等边三角形|0x400000|1036\n等不及|0x8000000|23311\n等差级数|0x0008|1252\n等差数列|0x800000|1054\n等待时间|0x0008|4\n等而上之|0x0000|100\n等而下之|0x1000000|45545\n等二元聚合物|0x400000|0\n等分线|0x100000|1340\n等高线|0x100000|1017\n等积投影|0x0008|0\n等积形|0x100000|1346\n等级分|0x100000|479\n等级赛|0x100000|1216\n等级证书|0x100000|521\n等级制|0x100000|44645\n等级制度|0x0008|3\n等剂量曲线|0x0008|0\n等价交换|0x800000|867\n等价连城|0x0000|100\n等价物|0x100000|43859\n等角三角形|0x400000|0\n等角投影|0x0008|0\n等角线|0x100000|1341\n等距离|0x1000|46427\n等距投影|0x0008|0\n等离子|0x100000|682\n等离子态|0x100000|1324\n等离子体|0x100000|907\n等离子体频率|0x0008|0\n等礼相亢|0x0000|100\n等量齐观|0x1000000|43632\n等米下锅|0x800000|49063\n等深线|0x100000|1256\n等势面|0x100000|1290\n等速运动|0x100000|1372\n等同于|0x1000|20\n等外品|0x100000|52194\n等位基因|0x0008|415\n等温退火|0x0008|0\n等温线|0x100000|1199\n等闲视之|0x1000000|29941\n等闲之辈|0x1000000|918\n等效电路|0x0008|999\n等压线|0x100000|1307\n等腰三角|0x400000|0\n等腰三角形|0x500000|0\n等一等|0x400000|560\n等一会儿|0x400000|0\n等一下|0x400000|661\n等因奉此|0x1000000|1318\n等于零|0x0000|491\n等雨量线|0x0008|0\n等值线|0x0008|1135\n等着瞧|0x0000|509\n邓小平|0x0080|990\n邓小平理论|0x0008|3381\n邓小平理论概论|0x100000|464\n邓小平同志|0x0000|555\n邓小平文选|0x100000|1011\n邓州市|0x0040|1461\n瞪大眼睛|0x1000|558\n瞪目哆口|0x0000|100\n瞪目结舌|0x0000|100\n瞪眼咋舌|0x0000|100\n磴口县|0x0040|1111\n低不就|0x1000|895\n低产田|0x100000|370\n低唱浅斟|0x1000000|100\n低唱浅酌|0x0000|100\n低成本|0x0000|650\n低等动物|0x100000|47959\n低等植物|0x100000|1198\n低工资|0x0000|444\n低共熔物|0x0008|0\n低合金钢|0x0008|394\n低回不已|0x0000|100\n低级格式化|0x0000|437\n低级趣味|0x1000000|877\n低钾血症|0x0008|0\n低价商品|0x100000|371\n低价商品房|0x100000|416\n低价位|0x100000|577\n低空飞行|0x0008|21\n低栏赛|0x100000|0\n低利率|0x0000|468\n低买高卖|0x0008|0\n低眉垂眼|0x1000000|100\n低眉顺眼|0x1000000|47648\n低眉折腰|0x1000000|100\n低迷不振|0x800000|1144\n低钠血症|0x0008|0\n低能儿|0x100000|49409\n低年级|0x20000000|24043\n低频放大器|0x0008|0\n低情曲意|0x1000000|100\n低热量|0x0000|465\n低人一等|0xc00000|1\n低三下四|0x1400000|33889\n低声细语|0x1000000|1057\n低声下气|0x1000000|31028\n低声哑气|0x1000000|100\n低收入|0x100000|741\n低首下气|0x0000|100\n低首下心|0x1000000|1275\n低碳钢|0x0008|976\n低头不见抬头见|0x0008|1031\n低头耷脑|0x1000000|100\n低头搭脑|0x1000000|100\n低头哈腰|0x1000000|100\n低头丧气|0x1000000|100\n低纬度|0x100000|51331\n低温泵|0x0008|0\n低温干燥|0x0008|0\n低温生物学|0x0008|0\n低消耗|0x20000000|410\n低效率|0x0000|481\n低心下意|0x1000000|100\n低血糖|0x100000|39065\n低血糖症|0x0000|373\n低血压|0x100000|49760\n低压槽|0x100000|1212\n低压电器|0x100000|529\n低压配电|0x100000|421\n低音部|0x0000|401\n低音炮|0x100000|536\n低音提琴|0x100000|958\n低吟浅唱|0x0000|100\n低噪声放大器|0x0008|0\n低值易耗品|0x100000|1043\n羝羊触藩|0x1000000|1254\n堤防道|0x0040|0\n堤溃蚁孔|0x1000000|100\n堤溃蚁穴|0x1000000|100\n嘀嘀咕咕|0x0100|918\n嘀里嘟噜|0x0100|1535\n滴答声|0x0000|409\n滴滴答答|0x80000|842\n滴滴涕|0x100000|36621\n滴定法|0x0000|406\n滴定管|0x0008|1140\n滴定剂|0x100000|0\n滴粉搓酥|0x1000000|1533\n滴溜儿|0x8000000|0\n滴溜溜|0x0100|34455\n滴溜溜转|0x800000|1132\n滴溜圆|0x0000|54743\n滴露研朱|0x1000000|100\n滴露研珠|0x1000000|100\n滴水不羼|0x1000000|100\n滴水不漏|0x1000000|32494\n滴水成冰|0x1000000|39260\n滴水成河|0x1000000|1222\n滴水穿石|0x1000000|52675\n滴水洞|0x100000|388\n滴水难消|0x1000000|100\n滴水瓦|0x100000|1385\n狄德罗|0x0080|1050\n狄俄尼索斯|0x100000|1122\n迪化街|0x0040|0\n迪克牛仔|0x100000|852\n迪斯科|0x100000|26184\n迪斯科舞厅|0x0000|417\n迪斯可|0x0080|1131\n迪斯尼|0x0008|1080\n迪斯尼乐园|0x100000|40762\n敌百虫|0x100000|1099\n敌不可假|0x1000000|100\n敌不可纵|0x1000000|100\n敌敌畏|0x100000|39682\n敌对者|0x100000|1141\n敌国通舟|0x1000000|100\n敌国外患|0x1000000|1166\n敌惠敌怨|0x1000000|100\n敌忾同仇|0x1000000|1259\n敌力角气|0x1000000|100\n敌杀死|0x0008|1215\n敌王所忾|0x1000000|100\n敌我矛盾|0x800000|1096\n敌占区|0x100000|41678\n敌众我寡|0x800000|1056\n涤地无类|0x1000000|100\n涤故更新|0x1000000|100\n涤秽布新|0x1000000|100\n涤秽荡瑕|0x1000000|100\n涤纶布|0x100000|373\n涤纶纱|0x100000|375\n涤棉布|0x100000|1069\n涤棉纱|0x100000|426\n涤瑕荡垢|0x1000000|100\n涤瑕荡秽|0x1000000|1502\n涤瑕蹈隙|0x0000|100\n笛卡儿|0x0000|424\n笛卡尔|0x0080|1539\n嫡长子|0x0000|52195\n底栖生物|0x800000|0\n底水驱动|0x0008|0\n底死谩生|0x1000000|100\n底特律|0x0040|1306\n底下人|0x100000|35641\n抵背扼喉|0x0000|100\n抵不上|0x0000|41437\n抵得上|0x0000|42882\n抵抗力|0x100000|705\n抵抗性|0x0000|378\n抵抗者|0x0000|370\n抵死瞒生|0x1000000|100\n抵死谩生|0x1000000|100\n抵死漫生|0x1000000|100\n抵瑕蹈隙|0x1000000|100\n抵瑕陷厄|0x0000|100\n抵押放款|0x0008|0\n抵押金|0x0000|29732\n抵押品|0x100000|39899\n抵押权|0x100000|956\n抵掌而谈|0x1000000|100\n抵足而眠|0x0000|100\n砥兵砺伍|0x0000|100\n砥锋挺锷|0x1000000|100\n砥节奉公|0x800000|100\n砥节厉行|0x1000000|100\n砥节励行|0x1000000|100\n砥节砺行|0x1000000|100\n砥厉廉隅|0x1000000|100\n砥厉名号|0x1000000|100\n砥砺风节|0x100000|100\n砥砺廉隅|0x1000000|100\n砥砺名号|0x1000000|100\n砥砺名节|0x1000000|100\n砥砺琢磨|0x0000|100\n砥廉峻隅|0x1000000|100\n砥身砺行|0x1000000|100\n砥行立名|0x1000000|100\n砥行磨名|0x1000000|100\n砥志研思|0x1000000|100\n砥柱中流|0x1000000|1185\n地板采暖|0x100000|435\n地板革|0x100000|50921\n地板砖|0x100000|48687\n地北天南|0x1000000|1209\n地崩山摧|0x1000000|100\n地表水|0x100000|19162\n地层倾角测井|0x0008|0\n地层学|0x0008|1105\n地层油气藏|0x0008|0\n地产股|0x100000|515\n地产商|0x100000|558\n地产税|0x100000|894\n地坼天崩|0x0000|100\n地丑德齐|0x1000000|100\n地丑力敌|0x1000000|100\n地磁场|0x0008|1139\n地大物博|0x1000000|32737\n地带性|0x100000|1165\n地胆草|0x100000|0\n地弹簧|0x100000|1051\n地道战|0x0008|896\n地地道道|0x800000|811\n地动山摧|0x1000000|100\n地动山摇|0x1000000|911\n地动仪|0x100000|53682\n地对地|0x20000000|1082\n地对空|0x20000000|1030\n地对空导弹|0x100000|427\n地耳草|0x100000|1540\n地方报|0x100000|1201\n地方病|0x100000|22866\n地方财政|0x0008|566\n地方党委|0x0000|468\n地方电视台|0x100000|451\n地方法规|0x100000|490\n地方法院|0x100000|884\n地方风味|0x100000|977\n地方工业|0x0008|0\n地方官|0x100000|20731\n地方化|0x100000|1040\n地方话|0x100000|50923\n地方军|0x100000|1104\n地方民族主义|0x0008|0\n地方时|0x100000|862\n地方税|0x100000|40118\n地方税务局|0x100000|581\n地方特色|0x100000|776\n地方戏|0x100000|23919\n地方性|0x100000|786\n地方政府|0x100000|661\n地方志|0x100000|29514\n地方主义|0x800000|45236\n地负海涵|0x1000000|100\n地覆天翻|0x1000000|1124\n地高辛|0x0008|0\n地骨皮|0x0008|0\n地广人希|0x1000000|100\n地广人稀|0x1000000|28708\n地滚球|0x100000|1073\n地基承载力|0x0008|371\n地基基础|0x100000|455\n地棘天荆|0x1000000|100\n地瘠民贫|0x1000000|100\n地籍图|0x100000|1204\n地价税|0x0008|1243\n地角天涯|0x1000000|1188\n地锦草|0x0008|0\n地久天长|0x1000000|40546\n地壳运动|0x0008|1\n地空导弹|0x100000|998\n地块儿|0x0000|20687\n地旷人稀|0x1000000|1333\n地矿部|0x100000|1045\n地拉那|0x0040|1189\n地老虎|0x100000|50924\n地老天荒|0x1000000|46141\n地老天昏|0x1000000|100\n地雷场|0x0008|0\n地雷战|0x100000|991\n地理大发现|0x0008|372\n地理底图|0x0008|0\n地理分布|0x100000|997\n地理环境|0x0008|778\n地理课|0x100000|0\n地理试题|0x100000|392\n地理数据库|0x100000|848\n地理位置|0x100000|603\n地理信息|0x100000|558\n地理信息系统|0x100000|519\n地理学|0x100000|850\n地理学家|0x100000|961\n地理杂志|0x100000|466\n地理知识|0x100000|460\n地理坐标网|0x0008|0\n地利人和|0x1000000|855\n地沥青|0x0008|0\n地灵人杰|0x1000000|50135\n地貌学|0x100000|1148\n地面材料|0x100000|422\n地面沉降|0x0008|3\n地面分辨率|0x0008|0\n地面灌溉|0x0008|0\n地面上|0x0000|384\n地面水|0x100000|1102\n地面战|0x100000|398\n地面站|0x100000|28815\n地名标准化|0x0008|3\n地平天成|0x1000000|1299\n地平线|0x100000|16986\n地球表面|0x0008|471\n地球村|0x100000|19132\n地球化学|0x100000|960\n地球科学|0x0008|875\n地球日|0x4000|939\n地球物理|0x0000|474\n地球物理学|0x0008|1016\n地球仪|0x100000|32983\n地球资源卫星|0x0008|1\n地区差价|0x100000|1232\n地区经济|0x0008|71\n地区性|0x100000|839\n地区总代理|0x100000|475\n地热能|0x100000|1074\n地热资源|0x0008|1\n地塞米松|0x4000000|1562\n地上茎|0x100000|1296\n地上天宫|0x1000000|100\n地上天官|0x0000|100\n地税局|0x100000|589\n地塌天荒|0x1000000|100\n地摊儿|0x100000|20985\n地毯式|0x100000|884\n地毯式轰炸|0x0000|394\n地头蛇|0x100000|36444\n地图包|0x100000|421\n地图册|0x100000|910\n地图集|0x100000|961\n地图数字化|0x0008|0\n地图搜索|0x100000|485\n地图投影|0x0008|0\n地图学|0x0008|1074\n地网天罗|0x0008|1244\n地位级|0x0008|0\n地文学|0x0008|0\n地五会|0x400000|0\n地下仓库|0x0008|1\n地下党|0x100000|24274\n地下道|0x100000|997\n地下工厂|0x0000|47332\n地下工程|0x100000|465\n地下管道|0x100000|410\n地下害虫|0x0008|0\n地下河|0x0008|1003\n地下火|0x0008|1\n地下街|0x0008|0\n地下茎|0x100000|1172\n地下开采|0x0008|0\n地下狂飙|0x100000|426\n地下排水|0x0008|0\n地下室|0x100000|16884\n地下水|0x100000|7411\n地下水库|0x0008|1\n地下水位|0x100000|463\n地下铁|0x0008|1302\n地下铁道|0x800000|1027\n地下通道|0x0008|17\n地下修文|0x1000000|100\n地下音乐|0x100000|420\n地心说|0x100000|1114\n地心引力|0x100000|859\n地形图|0x100000|19978\n地形学|0x0008|1195\n地窨子|0x100000|50136\n地衣共生菌|0x0008|0\n地衣学|0x0008|0\n地役权|0x100000|1136\n地狱般|0x40000000|480\n地狱变相|0x1000000|1186\n地狱谷|0x0040|1146\n地狱火|0x100000|478\n地域生产综合体|0x0008|0\n地域性|0x100000|860\n地缘政治学|0x100000|1106\n地震波|0x100000|44646\n地震带|0x0000|44647\n地震局|0x100000|862\n地震烈度|0x800000|1171\n地震棚|0x0000|52198\n地震学|0x0008|1163\n地震仪|0x100000|55175\n地震预报|0x0008|2\n地震震级|0x100000|1042\n地址栏|0x100000|596\n地志学|0x100000|1418\n地质队|0x100000|1000\n地质公园|0x100000|510\n地质局|0x100000|1046\n地质勘探|0x0008|882\n地质矿产|0x0008|485\n地质矿产部|0x0020|1105\n地质力学|0x0008|0\n地质录井|0x0008|0\n地质模型|0x0008|0\n地质年代|0x100000|100\n地质图|0x0008|1140\n地质学|0x100000|886\n地质学家|0x100000|948\n地质灾害|0x100000|538\n地中海|0x0040|1131\n地中海贫血|0x0008|0\n地中海气候|0x100000|1122\n地主国|0x0008|0\n地主阶级|0x100000|839\n地主之仪|0x1000000|100\n地主之谊|0x1000000|100\n弟男子侄|0x1000000|100\n弟兄们|0x0000|584\n帝国时代|0x100000|806\n帝国主义|0x100000|3705\n帝国主义者|0x100000|415\n帝辇之下|0x1000000|1533\n帝王将相|0x1000000|31393\n递归性|0x100000|0\n递胜递负|0x1000000|100\n递条子|0x0000|47649\n递兴递废|0x1000000|100\n递眼色|0x1000|48688\n第八十|0x400000|462\n第比利斯|0x0040|1107\n第二把手|0x500000|3\n第二产业|0xc00000|17863\n第二次|0x400000|801\n第二次世界大战|0x400008|95\n第二代|0x400000|643\n第二级|0x400000|2\n第二阶段|0x400000|629\n第二可数公理|0x400000|0\n第二课堂|0x0000|33095\n第二类不连续点|0x400000|0\n第二类错误|0x400000|0\n第二类极大|0x400000|0\n第二类拉格朗日方程|0x400000|0\n第二名|0x400000|631\n第二人|0x400000|0\n第二人称|0x400000|53189\n第二审|0x500000|12\n第二十|0x400000|529\n第二十二|0x400000|545\n第二十三|0x400000|541\n第二十一|0x400000|10\n第二世界|0x500000|0\n第二手|0x400000|0\n第二梯队|0x0000|48310\n第二位|0x400000|616\n第二信号|0x400008|0\n第二信号系统|0x400000|0\n第二信使|0x400008|0\n第二性|0x500000|0\n第二宇宙速度|0x400000|0\n第二语言|0x400000|2\n第二职业|0x500000|46142\n第九个|0x400000|459\n第九节|0x400000|536\n第九十|0x400000|449\n第六感|0x400000|1\n第六十|0x400000|501\n第纳尔|0x100000|428\n第欧根尼|0x0008|0\n第七十|0x400000|521\n第三产业|0xc00000|7127\n第三次|0x400000|709\n第三代|0x400000|633\n第三等级|0x400000|0\n第三方保险|0x400000|0\n第三国际|0xc00000|0\n第三级|0x400000|2\n第三纪|0x404000|0\n第三类椭圆函数|0x400000|0\n第三名|0x400000|622\n第三磨牙|0x400000|0\n第三人|0x500000|10\n第三人称|0x400000|43143\n第三十|0x400000|493\n第三世界|0x500000|13846\n第三世界国家|0x400000|459\n第三梯队|0x0000|49766\n第三宇宙速度|0x400000|0\n第三者|0x500000|12546\n第三中学|0x100000|491\n第十八|0x400000|536\n第十二|0x400000|587\n第十节|0x400000|524\n第十九|0x400000|635\n第十六|0x400000|654\n第十七|0x400000|535\n第十三|0x400000|576\n第十四|0x400000|659\n第十五|0x400000|559\n第十一|0x400000|699\n第十一个五年规划|0x100000|497\n第四产业|0x400008|0\n第四个|0x400000|604\n第四纪|0x404000|0\n第四十|0x400000|462\n第四系|0x400008|0\n第五代计算机|0x400008|0\n第五十|0x400000|443\n第五纵队|0x500000|3\n第一把手|0xc00000|36123\n第一版|0x400000|720\n第一遍|0x400000|487\n第一步|0x400000|716\n第一产业|0xc00000|19848\n第一次|0x400000|487\n第一次世界大战|0x400008|12\n第一代|0x400000|606\n第一代计算机|0x400000|0\n第一夫人|0x500000|34457\n第一国际|0x400008|0\n第一积分|0x400000|0\n第一阶段|0x400000|635\n第一节|0x400000|714\n第一类错误|0x400000|0\n第一类拉格朗日方程|0x400000|0\n第一流|0x500000|19582\n第一轮|0x400000|610\n第一名|0x400000|694\n第一批|0x400000|683\n第一人称|0x500000|35957\n第一审|0x500000|4\n第一生产力|0x100000|504\n第一时间|0x0000|16258\n第一世界|0x500000|0\n第一手|0x40000000|15069\n第一手材料|0x400000|422\n第一手资料|0x400000|11\n第一位|0x400000|699\n第一弦|0x400000|0\n第一线|0x600000|6853\n第一斜桅|0x400000|0\n第一信号|0x400008|0\n第一信号系统|0x400000|0\n第一性|0x500000|36445\n第一需要|0x400000|0\n第一义|0x400000|0\n第一印象|0x400000|692\n第一宇宙速度|0x400000|0\n第一章|0x400000|809\n谛分审布|0x1000000|100\n缔约方|0x100000|446\n缔约国|0x100000|20270\n缔约过失|0x100000|1053\n缔造者|0x100000|833\n嗲声嗲气|0x800000|932\n掂斤播两|0x1000000|1383\n掂斤估两|0x1000000|100\n掂斤抹两|0x1000000|100\n掂量掂量|0x1000|927\n掂梢折本|0x1000000|100\n滇西纵谷|0x0040|0\n颠簸不破|0x1000000|100\n颠唇簸嘴|0x0000|100\n颠倒干坤|0x0000|100\n颠倒黑白|0x1000000|32877\n颠倒乾坤|0x1000000|1100\n颠倒是非|0x1000000|40333\n颠倒衣裳|0x1000000|1311\n颠倒阴阳|0x800000|1202\n颠颠簸簸|0x0100|1081\n颠颠倒倒|0x1000|1106\n颠覆性|0x40000000|467\n颠覆者|0x0000|396\n颠斤播两|0x1000000|100\n颠来播去|0x1000000|100\n颠来簸去|0x1000000|100\n颠来倒去|0x1000000|41679\n颠鸾倒凤|0x1000000|1072\n颠毛种种|0x1000000|100\n颠沛流离|0x1000000|36624\n颠仆流离|0x1000000|100\n颠扑不磨|0x1000000|100\n颠扑不破|0x1000000|33891\n颠乾倒坤|0x1000000|100\n颠三倒四|0x1400000|36794\n颠衣到裳|0x1000000|100\n癫痫病|0x100000|534\n攧扑不破|0x1000000|100\n典当业|0x0008|1054\n典谟训诰|0x1000000|100\n典妻鬻子|0x1000000|100\n典身卖命|0x1000000|100\n典型化|0x1000|49066\n典型群|0x0008|0\n典型性|0x100000|27267\n典狱长|0x0000|444\n典则俊雅|0x1000000|100\n典章文物|0x0000|100\n点钞机|0x100000|853\n点到为止|0x1000000|851\n点滴器|0x100000|0\n点点滴滴|0x100000|541\n点点头|0x1000000|599\n点电荷|0x100000|1280\n点对点|0x0000|566\n点估计|0x0008|0\n点火器|0x100000|921\n点火装置|0x0008|0\n点击率|0x0008|645\n点接触|0x0008|1025\n点接触二极管|0x400000|0\n点金成铁|0x1000000|1386\n点金乏术|0x1000000|100\n点金术|0x0000|52677\n点金无术|0x1000000|100\n点金作铁|0x1000000|100\n点睛之笔|0x0000|100\n点面结合|0x800000|1072\n点名册|0x100000|1105\n点缺陷|0x0008|1057\n点石成金|0x1000000|38248\n点石为金|0x1000000|100\n点手划脚|0x0000|100\n点手莋脚|0x1000000|100\n点水不漏|0x1000000|100\n点铁成金|0x1000000|1153\n点头哈腰|0x1000000|33378\n点头会意|0x1000000|100\n点头咂嘴|0x1000000|100\n点头之交|0x1000000|54750\n点心费|0x100000|0\n点胸洗眼|0x1000000|100\n点阵图|0x0000|421\n点纸画字|0x1000000|100\n点指划脚|0x0000|100\n点指画字|0x1000000|100\n点指莋脚|0x1000000|100\n碘化钾|0x100000|1065\n碘化钠|0x100000|1243\n碘化物|0x0008|0\n碘化银|0x100000|1250\n碘钨灯|0x100000|1085\n电白县|0x0040|1530\n电报费|0x100000|1263\n电报挂号|0x100000|1132\n电报机|0x100000|1165\n电报局|0x100000|38069\n电表箱|0x100000|387\n电冰柜|0x100000|1109\n电冰箱|0x100000|16337\n电唱机|0x100000|50138\n电炒锅|0x0008|1031\n电车男|0x100000|499\n电车站|0x100000|1119\n电车之狼|0x0000|369\n电掣风驰|0x1000000|1382\n电掣星驰|0x1000000|100\n电池板|0x100000|931\n电池厂|0x100000|401\n电池充电器|0x100000|476\n电池电量|0x100000|454\n电池容量|0x100000|496\n电池组|0x100000|917\n电除尘器|0x100000|1046\n电传打字机|0x0008|0\n电传递|0x0008|0\n电传机|0x100000|1296\n电吹风|0x100000|51338\n电磁波|0x100000|17994\n电磁场|0x100000|32231\n电磁阀|0x100000|579\n电磁辐射|0x100000|844\n电磁感应|0x100000|807\n电磁离合器|0x100000|405\n电磁流量计|0x100000|436\n电磁炉|0x100000|53686\n电磁式|0x100000|419\n电磁铁|0x100000|53687\n电磁透镜|0x0008|0\n电磁污染|0x0000|55176\n电磁线|0x0008|913\n电磁学|0x0008|951\n电磁灶|0x100000|388\n电磁振荡|0x0008|906\n电磁振动筛|0x0008|0\n电刺激器|0x0008|0\n电催化|0x0008|0\n电单车|0x0008|484\n电导计|0x0008|0\n电导率|0x100000|893\n电灯泡|0x100000|31728\n电动叉车|0x100000|403\n电动车|0x100000|638\n电动车窗|0x100000|512\n电动窗|0x100000|466\n电动工具|0x100000|558\n电动滚筒|0x100000|388\n电动葫芦|0x100000|458\n电动机|0x100000|19048\n电动力学|0x100000|1039\n电动门|0x100000|427\n电动摩托车|0x100000|433\n电动汽车|0x100000|501\n电动三轮车|0x100000|410\n电动势|0x100000|1046\n电动剃须刀|0x100000|48689\n电动玩具|0x100000|470\n电动牙刷|0x100000|442\n电动转辙机|0x0008|0\n电动自行车|0x100000|568\n电度表|0x100000|43861\n电法勘探|0x0008|0\n电饭煲|0x100000|783\n电饭锅|0x100000|40991\n电风扇|0x100000|23792\n电负性|0x100000|1269\n电感器|0x100000|903\n电感线圈|0x100000|416\n电感应|0x100000|1197\n电工材料|0x100000|403\n电工机械|0x100000|373\n电工器材|0x100000|459\n电工设备|0x100000|378\n电工学|0x100000|997\n电工仪表|0x100000|414\n电功率|0x100000|53688\n电管局|0x100000|1091\n电灌站|0x100000|1202\n电光朝露|0x1000000|100\n电光石火|0x1000000|933\n电锅炉|0x0008|1003\n电焊工|0x100000|910\n电焊机|0x100000|51339\n电荷存储二极管|0x400000|0\n电荷分布|0x0008|0\n电荷耦合存储器|0x0008|0\n电荷耦合器件|0x0008|0\n电荷注入器件|0x0008|0\n电荷转移器件|0x0008|0\n电弧焊|0x0008|0\n电弧焊接|0x800000|985\n电弧炉|0x100000|396\n电化教学|0x0008|969\n电化教育|0x800000|36124\n电化学|0x100000|851\n电化学保护|0x0008|0\n电化学传感器|0x0008|0\n电话本|0x100000|577\n电话薄|0x100000|479\n电话簿|0x100000|39486\n电话单|0x100000|1100\n电话费|0x100000|693\n电话号码|0x100000|546\n电话会议|0x100000|27772\n电话机|0x100000|13007\n电话间|0x100000|1156\n电话交换机|0x0000|504\n电话局|0x100000|37151\n电话卡|0x100000|709\n电话铃|0x100000|802\n电话录音|0x100000|544\n电话亭|0x100000|27689\n电话网|0x100000|924\n电话线|0x100000|696\n电火锅|0x0000|50925\n电火花|0x100000|37874\n电机厂|0x100000|787\n电机工程|0x100000|930\n电机科|0x100000|0\n电机配件|0x100000|370\n电机系|0x100000|981\n电机有限公司|0x100000|495\n电吉他|0x100000|800\n电吉它|0x100000|386\n电教馆|0x0000|53689\n电教室|0x100000|952\n电解槽|0x0008|1054\n电解池|0x0008|1237\n电解电容|0x100000|829\n电解电容器|0x0008|402\n电解铝|0x100000|543\n电解锰|0x100000|399\n电解水|0x100000|416\n电解铜|0x0008|990\n电解液|0x100000|992\n电解质|0x100000|860\n电介质|0x100000|1080\n电晶体|0x0000|438\n电警棍|0x0008|50926\n电烤炉|0x0000|50531\n电烤箱|0x100000|52678\n电空转辙机|0x0008|0\n电喇叭|0x0008|1\n电缆厂|0x100000|460\n电缆附件|0x100000|399\n电缆沟|0x100000|1118\n电缆设备|0x100000|383\n电缆线|0x100000|918\n电缆有限公司|0x100000|474\n电老虎|0x100000|1080\n电烙铁|0x100000|54207\n电离层|0x100000|36446\n电离层传播|0x0008|0\n电离辐射|0x0008|405\n电离能|0x0008|1307\n电离室|0x0008|0\n电力变压器|0x100000|462\n电力部|0x100000|1568\n电力部门|0x100000|474\n电力厂|0x100000|0\n电力大学|0x100000|473\n电力电缆|0x100000|494\n电力法|0x100000|393\n电力工程|0x100000|535\n电力工业|0x100000|805\n电力供应|0x0000|549\n电力机车|0x0008|960\n电力机械|0x100000|393\n电力局|0x100000|1317\n电力企业|0x100000|559\n电力设备|0x100000|544\n电力设施|0x0000|483\n电力通信|0x100000|404\n电力网|0x100000|51773\n电力系统|0x100000|576\n电力线|0x100000|47964\n电力行业|0x100000|559\n电量计|0x0008|0\n电疗法|0x0008|1253\n电流表|0x100000|905\n电流传感器|0x100000|421\n电流放大器|0x0008|914\n电流计|0x100000|1225\n电流继电器|0x0008|0\n电流密度|0x0008|0\n电流强度|0x100000|835\n电流扫描|0x0008|0\n电流效率|0x0008|0\n电流星散|0x1000000|100\n电路板|0x100000|38657\n电路设计|0x100000|526\n电路图|0x100000|53690\n电码本|0x100000|1539\n电脉冲|0x100000|46144\n电脑爱好者|0x0000|547\n电脑报|0x100000|560\n电脑报价|0x100000|489\n电脑病毒|0x100000|759\n电脑部|0x100000|998\n电脑城|0x100000|620\n电脑辞典|0x0008|0\n电脑刺绣|0x100000|422\n电脑打字|0x100000|816\n电脑袋|0x100000|370\n电脑导购|0x100000|426\n电脑雕刻|0x100000|370\n电脑耳机|0x100000|372\n电脑高手|0x100000|768\n电脑故障|0x100000|534\n电脑广场|0x100000|459\n电脑化|0x1000|900\n电脑技术|0x100000|614\n电脑教程|0x100000|482\n电脑教室|0x100000|962\n电脑科技有限公司|0x100000|487\n电脑课|0x100000|884\n电脑锣|0x100000|369\n电脑美术|0x100000|450\n电脑培训|0x100000|724\n电脑屏幕|0x100000|554\n电脑入门|0x100000|420\n电脑商|0x100000|926\n电脑书|0x100000|421\n电脑书籍|0x100000|472\n电脑台|0x100000|449\n电脑线|0x100000|421\n电脑行情|0x100000|432\n电脑学校|0x100000|517\n电脑艺术|0x100000|428\n电脑音箱|0x100000|422\n电脑硬件|0x100000|583\n电脑游戏|0x0008|617\n电脑有限公司|0x100000|538\n电脑知识|0x100000|734\n电脑周边|0x100000|508\n电脑主机|0x100000|518\n电脑桌|0x100000|553\n电脑桌面|0x100000|459\n电能表|0x100000|490\n电暖气|0x100000|980\n电暖器|0x0000|51340\n电偶层|0x100000|0\n电偶极子|0x0008|0\n电抛光|0x0008|0\n电平漂移二极管|0x400000|0\n电瓶车|0x100000|47034\n电气传动|0x100000|408\n电气工程|0x100000|532\n电气工程师|0x100000|476\n电气化|0x1000|14294\n电气化铁路|0x100000|1002\n电气控制|0x100000|460\n电气设备|0x100000|556\n电气设计|0x100000|482\n电气石|0x0008|858\n电气有限公司|0x100000|546\n电气专业|0x100000|413\n电器产品|0x100000|512\n电器厂|0x100000|571\n电器城|0x100000|453\n电器附件|0x100000|380\n电器化|0x100000|1172\n电器集团|0x100000|458\n电器配件|0x100000|437\n电器设备|0x100000|744\n电器网|0x100000|477\n电器行|0x100000|943\n电器有限公司|0x100000|648\n电器元件|0x100000|463\n电热杯|0x0000|54209\n电热锅|0x100000|1009\n电热炉|0x0008|0\n电热器|0x0008|49067\n电热器材|0x100000|370\n电热清蜡|0x0008|0\n电热水器|0x0000|39067\n电热丝|0x0008|1006\n电热毯|0x100000|43146\n电容器|0x100000|734\n电褥子|0x100000|53190\n电闪雷鸣|0x1000000|801\n电渗析|0x100000|1013\n电声乐|0x100000|1236\n电声乐队|0x0000|53691\n电石气|0x100000|1406\n电势差|0x100000|1181\n电视报|0x100000|850\n电视大赛|0x100000|461\n电视大学|0x100000|38659\n电视电话|0x4000000|814\n电视电话会议|0x100000|552\n电视电台|0x100000|461\n电视发射塔|0x100000|1052\n电视广播|0x0008|511\n电视广告|0x100000|718\n电视柜|0x100000|53191\n电视盒|0x100000|502\n电视会议|0x100000|438\n电视机|0x100000|6095\n电视记者|0x0008|8\n电视讲话|0x0000|453\n电视接收|0x0000|482\n电视接收机|0x100000|884\n电视节目|0x100000|581\n电视界|0x100000|1002\n电视局|0x100000|517\n电视剧|0x100000|4353\n电视剧场|0x100000|444\n电视剧集|0x0000|480\n电视卡|0x100000|550\n电视栏目|0x100000|489\n电视连续剧|0x100000|718\n电视迷|0x0008|1624\n电视片|0x100000|17774\n电视频道|0x0000|28259\n电视墙|0x100000|486\n电视塔|0x100000|31145\n电视台|0x100000|3568\n电视王|0x100000|496\n电视网|0x100000|28711\n电视系列片|0x0008|1020\n电视新闻|0x0008|17\n电视信号|0x100000|504\n电视业|0x100000|454\n电视直播|0x100000|742\n电视转播|0x0000|499\n电视总局|0x100000|473\n电水壶|0x0008|54751\n电四极矩|0x400000|0\n电算化|0x1000|794\n电台节目|0x100000|502\n电梯公司|0x100000|390\n电梯间|0x100000|939\n电梯配件|0x100000|389\n电位差|0x100000|963\n电位器|0x0008|781\n电位移|0x0008|0\n电务段|0x100000|1006\n电线电缆|0x100000|573\n电线杆|0x100000|17300\n电线管|0x100000|370\n电信部门|0x100000|501\n电信法|0x100000|1050\n电信分公司|0x100000|466\n电信管理局|0x0008|0\n电信号|0x100000|37152\n电信机房|0x100000|529\n电信集团|0x100000|488\n电信技术|0x100000|880\n电信局|0x100000|23641\n电信宽带|0x0000|491\n电信企业|0x100000|540\n电信器材|0x100000|375\n电信设备|0x100000|505\n电信市场|0x100000|535\n电信行业|0x100000|521\n电信业|0x100000|783\n电信业务|0x100000|719\n电信用户|0x100000|542\n电讯局|0x100000|1227\n电讯器材|0x100000|392\n电压表|0x100000|888\n电压放大器|0x0008|902\n电压互感器|0x0008|995\n电压计|0x100000|1411\n电业局|0x100000|1315\n电影百年|0x100000|495\n电影版|0x100000|556\n电影壁纸|0x100000|370\n电影导演|0x100000|555\n电影电视|0x100000|581\n电影电视总局|0x100000|459\n电影放映机|0x0008|1002\n电影海报|0x100000|572\n电影机|0x0008|1086\n电影节|0x4000|658\n电影界|0x100000|835\n电影剧本|0x800000|842\n电影剧照|0x100000|477\n电影历史|0x100000|397\n电影论坛|0x100000|542\n电影迷|0x100000|1023\n电影免费电影|0x100000|416\n电影名称|0x100000|613\n电影明星|0x0008|4\n电影排行|0x100000|431\n电影排行榜|0x100000|436\n电影片|0x100000|27602\n电影票|0x100000|796\n电影票房|0x100000|464\n电影频道|0x100000|590\n电影圈|0x0000|467\n电影摄影机|0x100000|842\n电影神话|0x100000|437\n电影台|0x100000|507\n电影厅|0x100000|49069\n电影学|0x100000|576\n电影学院|0x0000|572\n电影演员|0x0008|535\n电影业|0x100000|474\n电影院|0x100000|10697\n电影院线|0x100000|435\n电影展|0x100000|438\n电影制片厂|0x0008|537\n电影种子|0x100000|405\n电影周|0x4000|35803\n电影资料|0x100000|509\n电影资讯|0x100000|416\n电影资源|0x100000|614\n电泳槽|0x0008|1157\n电泳型|0x100000|0\n电泳仪|0x100000|1092\n电源板|0x100000|426\n电源变压器|0x100000|458\n电源插头|0x100000|463\n电源接口|0x100000|492\n电源开关|0x0000|528\n电源模块|0x100000|461\n电源线|0x100000|747\n电熨斗|0x100000|50927\n电渣炉|0x100000|1269\n电站设备|0x100000|401\n电照风行|0x1000000|100\n电针疗法|0x0008|1300\n电致发光|0x0008|0\n电子爱好者|0x100000|426\n电子白板|0x100000|488\n电子版|0x100000|36626\n电子报|0x100000|595\n电子倍增器|0x0008|0\n电子变压器|0x100000|432\n电子标签|0x100000|486\n电子表|0x100000|40763\n电子表格|0x0000|521\n电子部|0x100000|1514\n电子测量仪器|0x100000|409\n电子层|0x100000|1256\n电子产品|0x100000|559\n电子厂|0x100000|667\n电子称|0x100000|422\n电子城|0x100000|539\n电子秤|0x100000|46713\n电子尺|0x100000|392\n电子出版社|0x100000|464\n电子出版物|0x100000|28534\n电子词典|0x100000|55180\n电子辞典|0x100000|463\n电子地图|0x100000|621\n电子电工|0x100000|502\n电子电路|0x0008|785\n电子电器|0x100000|557\n电子对|0x0008|1122\n电子对抗|0x0008|17\n电子负载|0x100000|383\n电子干扰|0x0008|20\n电子感应加速器|0x0008|0\n电子工程师|0x100000|485\n电子工具|0x100000|474\n电子工业|0x0008|577\n电子公告|0x100000|763\n电子狗|0x0000|496\n电子管|0x100000|46429\n电子光学|0x0008|1020\n电子衡器|0x100000|422\n电子汇款|0x0000|44108\n电子货币|0x0000|49768\n电子机票|0x100000|480\n电子机械|0x100000|457\n电子计算机|0x100000|14774\n电子技术|0x100000|584\n电子技术有限公司|0x100000|523\n电子教室|0x100000|464\n电子警察|0x100000|479\n电子竞技|0x100000|617\n电子卡|0x100000|390\n电子刊物|0x100000|436\n电子科|0x100000|1076\n电子科技|0x100000|684\n电子科技大学|0x100000|532\n电子科技有限公司|0x100000|614\n电子客票|0x100000|485\n电子垃圾|0x0000|30796\n电子乐器|0x100000|407\n电子礼炮|0x100000|370\n电子礼品|0x100000|484\n电子零件|0x100000|467\n电子流|0x100000|1145\n电子密度|0x0008|0\n电子密度图|0x0008|0\n电子名片|0x100000|467\n电子能级|0x0008|0\n电子盘|0x100000|465\n电子器材|0x100000|464\n电子器件|0x800000|738\n电子枪|0x100000|1011\n电子琴|0x100000|35487\n电子扫描|0x0008|3\n电子商城|0x100000|521\n电子商务|0x100000|9085\n电子商务解决方案|0x100000|463\n电子商务论文|0x100000|444\n电子商务平台|0x100000|567\n电子设备|0x100000|638\n电子设计|0x100000|476\n电子世界|0x100000|500\n电子市场|0x0000|573\n电子书|0x100000|568\n电子书籍|0x100000|529\n电子书库|0x100000|474\n电子束|0x100000|1000\n电子束光刻|0x0008|0\n电子顺磁共振|0x0008|0\n电子锁|0x100000|424\n电子探针|0x0008|0\n电子陶瓷|0x100000|412\n电子天平|0x100000|900\n电子图书|0x100000|41438\n电子玩具|0x100000|54752\n电子系|0x100000|962\n电子显示屏|0x100000|489\n电子显微镜|0x100000|29005\n电子线|0x100000|495\n电子线路|0x100000|462\n电子相册|0x100000|589\n电子效应|0x0008|0\n电子信息|0x100000|647\n电子信息产品|0x100000|473\n电子信息工程|0x100000|480\n电子信息技术|0x100000|441\n电子信箱|0x100000|19021\n电子学|0x100000|823\n电子衍射|0x0008|0\n电子眼|0x100000|44649\n电子仪器|0x100000|732\n电子音乐|0x100000|47650\n电子邮件|0x0008|10320\n电子邮件地址|0x100000|539\n电子邮件信箱|0x100000|438\n电子邮局|0x100000|467\n电子邮箱|0x100000|543\n电子游戏|0x100000|729\n电子游戏机|0x100000|45239\n电子有限公司|0x100000|743\n电子元件|0x100000|677\n电子元器件|0x100000|600\n电子原件|0x100000|369\n电子云|0x100000|1172\n电子杂志|0x100000|613\n电子展|0x100000|487\n电子战|0x100000|982\n电子镇流器|0x100000|467\n电子政务|0x100000|640\n电子制品|0x100000|395\n电子钟|0x100000|429\n电子字典|0x100000|470\n电子自旋共振|0x0008|0\n电阻炉|0x100000|413\n电阻率|0x0008|990\n电阻器|0x100000|850\n电阻丝|0x100000|389\n电阻箱|0x100000|1105\n阽危之域|0x1000000|100\n店伙计|0x100000|431\n店小二|0x500000|49769\n垫底儿|0x1000|0\n垫江县|0x0040|1291\n垫脚石|0x100000|44650\n垫上运动|0x100000|1230\n钿合金钗|0x1000000|1153\n淀粉酶|0x0008|1005\n淀粉糖|0x0000|407\n淀粉质|0x0000|394\n淀积率|0x100000|0\n淀山湖|0x0040|1494\n奠基人|0x100000|19620\n奠基石|0x100000|47036\n奠基仪式|0x100000|918\n殿堂楼阁|0x0000|100\n靛蓝色|0x100000|1117\n簟纹如水|0x0000|100\n刁斗森严|0x0000|100\n刁滑奸诈|0x0000|100\n刁天决地|0x1000000|100\n刁钻促搯|0x1000000|100\n刁钻促狭|0x1000000|100\n刁钻古怪|0x1000000|46715\n刁钻刻薄|0x0000|100\n彫虫小技|0x1000000|100\n彫虫篆刻|0x1000000|100\n彫肝琢肾|0x1000000|100\n彫章镂句|0x1000000|100\n貂蝉满座|0x0000|100\n貂狗相属|0x1000000|100\n貂裘换酒|0x1000000|100\n雕虫薄技|0x1000000|100\n雕虫刻篆|0x1000000|100\n雕虫末伎|0x1000000|100\n雕虫末技|0x1000000|100\n雕虫小技|0x1000000|43147\n雕虫小巧|0x1000000|100\n雕虫小事|0x1000000|100\n雕虫小艺|0x1000000|100\n雕虫篆刻|0x1000000|100\n雕风镂月|0x1000000|100\n雕肝镂肾|0x1000000|100\n雕肝掐肾|0x1000000|100\n雕肝琢膂|0x1000000|0\n雕肝琢肾|0x1000000|100\n雕蚶镂蛤|0x1000000|100\n雕虎焦原|0x1000000|100\n雕刻刀|0x100000|1031\n雕刻家|0x100000|929\n雕刻品|0x100000|1017\n雕刻器|0x0008|1410\n雕栏玉砌|0x800000|1016\n雕阑玉砌|0x1000|1203\n雕梁画栋|0x1000000|39902\n雕梁画柱|0x0000|55182\n雕龙画凤|0x1000000|100\n雕镂藻绘|0x1000000|100\n雕盘绮食|0x1000000|100\n雕墙峻宇|0x1000000|100\n雕塑家|0x100000|883\n雕塑品|0x100000|1105\n雕文刻镂|0x1000000|1383\n雕文织采|0x1000000|100\n雕心刻肾|0x1000000|100\n雕心雁爪|0x1000000|100\n雕心鹰爪|0x1000000|100\n雕楹碧槛|0x1000000|100\n雕玉双联|0x0000|100\n雕章绘句|0x1000000|100\n雕章镂句|0x1000000|100\n雕章缛彩|0x1000000|100\n雕章琢句|0x1000000|100\n吊胆惊心|0x1000000|100\n吊胆提心|0x0000|100\n吊儿郎当|0x40000000|38660\n吊尔郎当|0x0100|100\n吊古伤今|0x0000|100\n吊古寻幽|0x0000|100\n吊脚楼|0x0000|25250\n吊民伐罪|0x1000000|44947\n吊嗓子|0x1000|47334\n吊死扶伤|0x1000000|100\n吊死鬼|0x0000|45548\n吊死问疾|0x1000000|1363\n吊袜带|0x100000|985\n吊胃口|0x1000|50930\n吊形吊影|0x1000000|100\n吊誉沽名|0x0000|100\n钓大鱼|0x800000|946\n钓具店|0x0040|0\n钓名沽誉|0x1000000|1355\n钓名欺世|0x1000000|100\n钓名要誉|0x1000000|100\n钓游之地|0x1000000|100\n钓鱼岛|0x0040|1293\n钓鱼竿|0x0000|46716\n钓鱼台|0x0040|1258\n钓誉沽名|0x1000000|100\n调兵遣将|0x1000000|31614\n调兵山|0x0040|1040\n调兵山市|0x0040|1691\n调查报告|0x0008|645\n调查表|0x100000|810\n调查结果|0x0000|646\n调查局|0x100000|803\n调查取证|0x100000|811\n调查团|0x100000|1086\n调查研究|0x0008|698\n调查员|0x100000|881\n调查组|0x100000|8555\n调车场|0x100000|1269\n调唇弄舌|0x0000|100\n调词架讼|0x1000000|100\n调度室|0x100000|1039\n调度员|0x100000|37342\n调风变俗|0x1000000|100\n调风弄月|0x1000000|100\n调幅发射机|0x0008|0\n调幅器|0x100000|0\n调光器|0x100000|1060\n调光师|0x100000|0\n调和鼎鼐|0x1000000|1326\n调和函数|0x0008|0\n调和级数|0x0008|0\n调和漆|0x100000|1173\n调和阴阳|0x1000000|1156\n调虎离山|0x1000000|44376\n调剂品|0x100000|0\n调节剂|0x100000|879\n调节器|0x100000|815\n调节税|0x100000|40020\n调节作用|0x0000|499\n调解人|0x100000|1101\n调解委员会|0x0000|458\n调解者|0x100000|1268\n调酒师|0x100000|849\n调理阴阳|0x1000000|100\n调良稳泛|0x1000000|100\n调门儿|0x100000|32495\n调墨弄笔|0x1000000|100\n调皮蛋|0x100000|1148\n调皮鬼|0x0008|53968\n调三惑四|0x1400000|0\n调三窝四|0x1400000|0\n调三斡四|0x1400000|0\n调色板|0x100000|34700\n调色盘|0x100000|932\n调舌弄唇|0x0000|100\n调神畅情|0x0000|100\n调丝品竹|0x1000000|100\n调速器|0x0008|1424\n调停两用|0x1000000|100\n调停人|0x100000|1164\n调味料|0x0008|1294\n调味品|0x100000|668\n调味汁|0x0008|1629\n调弦品竹|0x0000|100\n调相器|0x100000|0\n调谐放大器|0x0008|0\n调谐器|0x0008|1496\n调压器|0x0008|1472\n调研员|0x0000|33096\n调音师|0x100000|1045\n调整器|0x0008|1605\n调脂弄粉|0x1000000|100\n调制解调器|0x100000|36212\n调制器|0x100000|977\n调朱傅粉|0x1000000|100\n调朱弄粉|0x1000000|100\n调嘴调舌|0x1000000|100\n调嘴弄舌|0x1000000|1366\n调嘴学舌|0x1000000|100\n掉臂不顾|0x0000|100\n掉点儿|0x0000|54756\n掉过儿|0x0000|16259\n掉价儿|0x0008|1305\n掉三寸舌|0x1400000|0\n掉舌鼓唇|0x0000|100\n掉书袋|0x1000|51343\n掉头鼠窜|0x0000|100\n掉以轻心|0x1000000|16968\n跌打损伤|0x0008|444\n跌打丸|0x0000|55917\n跌弹斑鸠|0x1000000|100\n跌宕不羁|0x1000000|100\n跌宕风流|0x1000000|100\n跌宕昭彰|0x1000000|100\n跌荡不羁|0x1000000|100\n跌荡不拘|0x1000000|100\n跌荡风流|0x1000000|100\n跌跌撞撞|0x0100|21225\n跌脚绊手|0x1000000|100\n跌脚捶胸|0x1000000|100\n跌脚搥胸|0x1000000|100\n跌脚槌胸|0x1000000|100\n跌停板|0x1000|945\n迭部县|0x0040|1140\n迭床架屋|0x0000|100\n迭代法|0x100000|1106\n迭矩重规|0x0000|100\n迭嶂层峦|0x0000|100\n谍报员|0x100000|1205\n喋喋不休|0x1000000|26186\n叠床架屋|0x1000000|54212\n叠氮化物|0x100000|0\n叠矩重规|0x0000|100\n叠罗汉|0x1000|52679\n叠嶂层峦|0x0000|100\n蝶粉蜂黄|0x0000|100\n蝶恋蜂狂|0x0000|100\n蝶形花冠|0x100000|0\n蹀躞不下|0x1000000|100\n鲽离鹣背|0x1000000|100\n丁苯橡胶|0x100000|990\n丁点儿|0x0000|23362\n丁丁当当|0x80000|979\n丁丁冬冬|0x80000|1118\n丁二酮肟|0x400008|0\n丁二烯|0x500000|0\n丁公藤|0x100000|1295\n丁公凿井|0x1000000|100\n丁基橡胶|0x100000|1011\n丁腈橡胶|0x100000|991\n丁类放大器|0x0008|0\n丁零当啷|0x80000|1114\n丁青县|0x0040|1208\n丁是丁|0x800000|731\n丁香花|0x100000|39487\n丁一卯二|0x1400000|0\n丁一确二|0x1400000|0\n丁字尺|0x100000|1186\n丁字街|0x100000|54213\n丁字形|0x0000|51344\n叮当声|0x0000|397\n叮叮当当|0x80000|852\n钉齿耙|0x100000|1535\n钉是钉|0x800000|100\n钉书机|0x0008|1088\n钉头磷磷|0x0000|100\n钉子户|0x800000|34758\n钉嘴铁舌|0x1000000|100\n顶不住|0x0000|520\n顶得住|0x1000|453\n顶端优势|0x0008|0\n顶风冒雪|0x800000|1122\n顶刮刮|0x0100|1216\n顶呱呱|0x0100|47037\n顶极群落|0x0008|0\n顶礼膜拜|0x1000000|31146\n顶梁柱|0x100000|33503\n顶门儿|0x100000|0\n顶门杠|0x0000|53198\n顶门立户|0x1000000|1350\n顶门壮户|0x1000000|100\n顶名冒姓|0x1000000|100\n顶名替身|0x1000000|100\n顶牛儿|0x1000|41439\n顶视图|0x100000|1192\n顶天立地|0x1000000|24276\n顶天踵地|0x1000000|100\n顶头上司|0x100000|29622\n顶针续麻|0x0000|100\n顶踵尽捐|0x0000|100\n顶踵捐糜|0x1000000|100\n鼎铛有耳|0x0000|100\n鼎铛玉石|0x1000000|1355\n鼎成龙去|0x1000000|100\n鼎成龙升|0x1000000|100\n鼎鼎大名|0x1000000|37516\n鼎鼎有名|0x1000000|978\n鼎分三足|0x1400000|0\n鼎湖龙去|0x1000000|100\n鼎湖山|0x0040|1562\n鼎镬刀锯|0x1000000|100\n鼎镬如饴|0x0000|100\n鼎力相助|0x800000|40992\n鼎鼐调和|0x1000000|100\n鼎食鸣钟|0x1000000|100\n鼎食鸣锺|0x1000000|100\n鼎食钟鸣|0x0000|100\n鼎新革故|0x1000000|1301\n鼎鱼幕燕|0x1000000|100\n鼎玉龟符|0x1000000|100\n鼎折覆餗|0x1000000|100\n鼎折餗覆|0x1000000|100\n鼎足而居|0x0000|100\n鼎足而立|0x1000000|1050\n鼎足而三|0x1400000|0\n鼎足三分|0x1400000|0\n鼎足之势|0x1000000|53697\n订单号|0x100000|529\n订购电话|0x100000|572\n订货单|0x100000|1048\n订货会|0x100000|871\n订票点|0x100000|452\n订书机|0x100000|55860\n定安县|0x0040|1637\n定边县|0x0040|1627\n定常流动|0x0008|0\n定场白|0x100000|1311\n定场诗|0x100000|1218\n定点医院|0x100000|492\n定调子|0x0000|52202\n定额管理|0x0008|988\n定二次型|0x400000|0\n定冠词|0x100000|1072\n定国安邦|0x0000|100\n定滑轮|0x100000|55186\n定货单|0x100000|1189\n定结县|0x0040|1200\n定睛一看|0x400000|1\n定居点|0x100000|1021\n定量分析|0x800000|883\n定量供应|0x0008|0\n定乱扶衰|0x0000|100\n定南县|0x0040|1044\n定盘星|0x100000|52680\n定倾扶危|0x0000|100\n定日县|0x0040|1129\n定神一看|0x400000|0\n定时器|0x100000|51345\n定时炸弹|0x800000|29623\n定时钟|0x100000|1321\n定陶县|0x0040|1637\n定位器|0x0008|838\n定西市|0x0040|1554\n定下来|0x0000|584\n定襄县|0x0040|1550\n定向井|0x100000|1208\n定向耦合器|0x0008|0\n定向培养|0x0000|42886\n定向培育|0x800000|53698\n定向生|0x0000|45850\n定向天线|0x4000000|1005\n定向选择|0x0008|0\n定心丸|0x100000|20987\n定兴县|0x0040|1051\n定性处理|0x800000|788\n定性分析|0x800000|979\n定压比热|0x100000|1359\n定义域|0x0008|1084\n定音鼓|0x100000|1075\n定影液|0x0008|1168\n定于一尊|0xc00000|0\n定远县|0x0040|1480\n定州市|0x0040|1408\n碇泊费|0x100000|0\n丢饭碗|0x0000|51776\n丢魂丢魄|0x1000000|100\n丢魂丧胆|0x1000000|100\n丢魂失魄|0x1000000|100\n丢盔抛甲|0x1000000|100\n丢盔弃甲|0x1000000|53199\n丢盔卸甲|0x1000000|1071\n丢面子|0x40000000|30908\n丢人现眼|0x1000000|851\n丢三拉四|0x1400000|0\n丢三落四|0x1400000|50144\n丢三忘四|0x1400000|0\n丢下耙儿弄扫帚|0x0008|100\n丢眼色|0x1000|51777\n丢卒保车|0x1000000|50145\n东阿县|0x0040|1618\n东挨西撞|0x1000000|100\n东捱西问|0x1000000|100\n东安县|0x0040|1614\n东半球|0x100000|43863\n东北部|0x2000000|771\n东北财经|0x100000|513\n东北财经大学|0x100000|499\n东北菜|0x100000|473\n东北大学|0x100000|521\n东北地区|0x0040|1192\n东北方|0x2000000|952\n东北方向|0x100000|462\n东北风|0x100000|921\n东北虎|0x100000|840\n东北话|0x100000|461\n东北角|0x2000000|840\n东北九省|0x400000|0\n东北军|0x100000|989\n东北人|0x0008|1173\n东北三省|0x400000|516\n东北师大|0x100000|444\n东北师范大学|0x0020|1386\n东北亚|0x0040|12454\n东奔西窜|0x1000000|1203\n东奔西跑|0x1000000|866\n东奔西逃|0x1000000|1331\n东奔西向|0x1000000|0\n东奔西撞|0x1000000|100\n东奔西走|0x1000000|39684\n东壁余光|0x0000|100\n东播西流|0x1000000|100\n东补西凑|0x1000000|100\n东部地区|0x0000|556\n东猜西揣|0x1000000|100\n东猜西疑|0x1000000|100\n东藏西躲|0x1000000|1300\n东差西误|0x1000000|100\n东抄西袭|0x1000000|100\n东扯西拉|0x1000000|1115\n东扯西拽|0x1000000|100\n东闯西踱|0x1000000|100\n东闯西走|0x0000|100\n东城区|0x0040|1098\n东驰西骋|0x1000000|100\n东驰西击|0x1000000|100\n东驰西撞|0x1000000|100\n东冲西决|0x1000000|100\n东冲西突|0x1000000|100\n东冲西撞|0x1000000|100\n东穿西撞|0x1000000|1287\n东窗计|0x0000|100\n东窗事发|0x1000000|34033\n东窗事犯|0x1000000|100\n东窗消息|0x1000000|100\n东床佳婿|0x1000000|100\n东床姣婿|0x1000000|100\n东床娇客|0x1000000|100\n东床娇婿|0x1000000|100\n东床坦腹|0x1000000|100\n东床择对|0x1000000|100\n东床之选|0x1000000|100\n东大街|0x100000|530\n东荡西驰|0x1000000|100\n东荡西除|0x1000000|100\n东倒西歪|0x1000000|25616\n东道国|0x100000|21572\n东道之谊|0x0000|100\n东道主|0x100000|8697\n东道主人|0x1000000|100\n东帝汶|0x0040|1464\n东躲西藏|0x1000000|935\n东躲西跑|0x0000|100\n东方不亮西方亮|0x0008|1069\n东方财经|0x100000|457\n东方歌舞团|0x0020|1541\n东方红|0x0008|1272\n东方将白|0x0000|100\n东方军事|0x100000|415\n东方黎族自治县|0x0040|1754\n东方龙|0x100000|483\n东方路|0x100000|489\n东方美女|0x100000|475\n东方明珠|0x0040|1206\n东方女性|0x100000|466\n东方千骑|0x1000000|0\n东方人|0x100000|25883\n东方日报|0x100000|466\n东方时空|0x0000|502\n东方市|0x0040|1621\n东方朔|0x100000|453\n东方通信|0x0008|1530\n东方文化|0x0000|505\n东方学|0x100000|1070\n东方艺术|0x100000|449\n东丰县|0x0040|1068\n东风吹马耳|0x0008|1535\n东风公司|0x0020|922\n东风过耳|0x1000000|100\n东风浩荡|0x0000|100\n东风化雨|0x0008|100\n东风路|0x100000|487\n东风马耳|0x0000|100\n东风汽车|0x100000|598\n东风汽车公司|0x0020|1360\n东风人面|0x1000000|100\n东风入律|0x1000000|100\n东风射马耳|0x0008|1540\n东风压倒西风|0x0008|1018\n东扶西倒|0x1000000|100\n东港市|0x0040|1480\n东观西望|0x0000|100\n东观续史|0x0000|100\n东观之殃|0x0000|100\n东光县|0x0040|1454\n东滚西爬|0x1000000|100\n东郭先生|0x1000000|54216\n东海大学|0x100000|966\n东海鲸波|0x1000000|100\n东海捞针|0x1000000|100\n东海逝波|0x1000000|100\n东海水晶|0x100000|419\n东海县|0x0040|1418\n东海扬尘|0x1000000|100\n东汉时代|0x0008|0\n东横西倒|0x1000000|100\n东湖路|0x0040|1477\n东加王国|0x0040|1317\n东家西舍|0x1000000|100\n东家效颦|0x1000000|100\n东箭南金|0x1000000|100\n东京爱情故事|0x0000|470\n东京大学|0x100000|477\n东京国际|0x100000|467\n东京湾|0x0040|1595\n东砍西斫|0x1000000|100\n东磕西撞|0x1000000|100\n东诓西骗|0x1000000|100\n东拉西扯|0x1000000|31968\n东来西去|0x1000000|1264\n东兰县|0x0040|1637\n东拦西阻|0x1000000|100\n东捞西摸|0x1000000|100\n东劳西燕|0x1000000|100\n东丽区|0x0040|1413\n东量西折|0x0000|100\n东辽县|0x0040|1071\n东猎西渔|0x1000000|100\n东邻西舍|0x1000000|1371\n东林党|0x100000|1112\n东鳞西爪|0x1000000|52682\n东零西落|0x1000000|100\n东零西散|0x1000000|100\n东零西碎|0x1000000|100\n东流西落|0x1000000|100\n东流西上|0x0000|100\n东罗马帝国|0x0008|1061\n东门黄犬|0x1000000|100\n东门逐兔|0x1000000|100\n东明县|0x0040|1065\n东鸣西应|0x1000000|100\n东抹西涂|0x1000000|100\n东南半壁|0x0000|100\n东南部|0x2000000|782\n东南大学|0x100000|558\n东南方|0x2000000|919\n东南风|0x0008|924\n东南角|0x2000000|878\n东南面|0x2000000|1023\n东南欧|0x100000|369\n东南汽车|0x100000|499\n东南雀飞|0x0000|100\n东南西北|0x100000|757\n东南亚|0x0040|5914\n东南亚国家|0x0000|514\n东南亚国家联盟|0x0008|1134\n东南亚市场|0x100000|453\n东南之宝|0x1000000|100\n东南之美|0x1000000|100\n东南之秀|0x1000000|100\n东南竹箭|0x1000000|100\n东宁县|0x0040|1600\n东扭西捏|0x0000|100\n东怒西怨|0x1000000|100\n东挪西凑|0x1000000|100\n东挪西撮|0x1000000|100\n东挪西借|0x1000000|46719\n东欧国家|0x0000|461\n东跑西颠|0x1000000|43395\n东碰西撞|0x1000000|100\n东飘西泊|0x1000000|100\n东飘西荡|0x1000000|1128\n东飘西徙|0x1000000|100\n东拼西凑|0x1000000|34926\n东平县|0x0040|1616\n东汽一中|0x400000|0\n东迁西徙|0x1000000|100\n东墙处子|0x0000|100\n东敲西逼|0x1000000|100\n东瞧西望|0x1000000|100\n东趋西步|0x1000000|100\n东萨摩亚|0x0040|1248\n东三省|0x400040|27195\n东山复起|0x1000000|100\n东山高卧|0x1000000|100\n东山县|0x0040|1579\n东山再起|0x1000000|26522\n东山之志|0x1000000|100\n东闪西挪|0x1000000|100\n东声西击|0x1000000|100\n东施效颦|0x1000000|44948\n东食西宿|0x1000000|1269\n东市朝衣|0x1000000|100\n东四十条|0x400000|1477\n东搜西罗|0x1000000|100\n东睃西望|0x1000000|100\n东台市|0x0040|1285\n东谈西说|0x1000000|100\n东逃西窜|0x1000000|100\n东讨西伐|0x1000000|100\n东讨西征|0x1000000|100\n东偷西摸|0x1000000|100\n东投西窜|0x1000000|100\n东涂西抹|0x1000000|1309\n东兔西乌|0x1000000|100\n东歪西倒|0x1000000|1101\n东完西缺|0x1000000|100\n东莞市|0x0040|874\n东望西观|0x1000000|100\n东乌珠穆沁旗|0x0040|1123\n东吴大学|0x0020|1579\n东西方|0x100000|747\n东西湖|0x100000|1538\n东西南北|0x1000000|774\n东西南北客|0x0008|1539\n东西南北人|0x0008|1306\n东西南北中|0x0008|1001\n东西南朔|0x1000000|100\n东西欧|0x100000|1171\n东西向|0x0008|1432\n东西易面|0x1000000|100\n东曦既驾|0x0000|100\n东徙西迁|0x1000000|100\n东挦西扯|0x0000|100\n东挦西撦|0x1000000|100\n东乡县|0x0040|1036\n东乡族|0x0008|46720\n东乡族自治县|0x0040|1148\n东向而望|0x1000000|0\n东兴市|0x0040|1506\n东踅西倒|0x1000000|100\n东寻西觅|0x0000|100\n东掩西遮|0x1000000|100\n东央西告|0x1000000|100\n东央西浼|0x1000000|100\n东扬西荡|0x1000000|100\n东阳市|0x0040|1272\n东洋车|0x100000|1357\n东洋大海|0x0000|100\n东洋界|0x100000|0\n东摇西摆|0x1000000|100\n东野巴人|0x0000|100\n东野败驾|0x0000|100\n东一句西|0x400000|0\n东一句西一句|0x400000|0\n东一榔头|0x400000|0\n东印度|0x0000|447\n东印度公司|0x0008|994\n东游记|0x100000|409\n东游西荡|0x1000000|1052\n东游西逛|0x1000000|1050\n东隅已逝|0x0000|100\n东源县|0x0040|1082\n东怨西怒|0x1000000|100\n东张西觑|0x1000000|100\n东张西望|0x1000000|20854\n东张西张|0x1000000|100\n东遮西掩|0x0000|100\n东征西讨|0x1000000|1038\n东征西怨|0x1000000|100\n东正教|0x0008|36126\n东支西吾|0x1000000|1286\n东芝笔记本|0x100000|487\n东芝复印机|0x100000|373\n东直门|0x0040|1278\n东至县|0x0040|1451\n东周刊|0x100000|403\n东周时代|0x0008|0\n东走西顾|0x1000000|1083\n东走西撞|0x1000000|100\n东撙西节|0x1000000|100\n冬奥会|0x100000|10667\n冬不拉|0x100000|45242\n冬虫草|0x100000|408\n冬虫夏草|0x100000|40120\n冬瓜茶|0x0008|0\n冬瓜皮|0x0008|376\n冬瓜汤|0x0008|1619\n冬瓜子|0x100000|1143\n冬寒抱冰|0x1000000|100\n冬烘头脑|0x0000|100\n冬烘先生|0x800000|1319\n冬候鸟|0x100000|1219\n冬季奥运会|0x0008|6\n冬季运动|0x0008|2\n冬季运动会|0x0000|391\n冬葵子|0x0008|1288\n冬凌草|0x0008|1139\n冬令营|0x0040|39489\n冬暖夏凉|0x800000|866\n冬青树|0x100000|1096\n冬裘夏葛|0x1000000|100\n冬去春来|0x800000|681\n冬日可爱|0x1000000|100\n冬日夏云|0x1000000|100\n冬箑夏裘|0x1000000|100\n冬扇夏炉|0x1000000|100\n冬温夏清|0x1000000|100\n冬温夏凊|0x1000000|0\n冬小麦|0x100000|22485\n冬运会|0x100000|24320\n董必武|0x0080|1581\n董存瑞|0x0080|1370\n董狐之笔|0x0000|100\n董狐直笔|0x0000|100\n董建华|0x0080|1469\n董事长|0x100000|3523\n董事会|0x100000|7594\n董事会决议|0x100000|550\n董事局|0x100000|834\n董事总经理|0x100000|513\n董仲舒|0x0080|1533\n动不动|0x8000000|13174\n动不失时|0x0000|100\n动词化|0x100000|0\n动弹不得|0x0000|586\n动荡不安|0x800000|850\n动荡不定|0x800000|1112\n动地惊天|0x1000000|100\n动电学|0x0008|0\n动动笔|0x100000|0\n动动脑|0x100000|1052\n动动手|0x100000|1005\n动肝火|0x1000|43396\n动感单车|0x100000|386\n动感地带|0x0008|738\n动感论坛|0x100000|448\n动滑轮|0x100000|1241\n动画版|0x100000|501\n动画电影|0x100000|506\n动画短片|0x100000|475\n动画教程|0x100000|490\n动画片|0x100000|14203\n动画人物|0x100000|426\n动画设计|0x100000|496\n动画素材|0x100000|406\n动画图|0x100000|391\n动画图片|0x100000|505\n动画影片|0x100000|439\n动静有常|0x1000000|1292\n动力厂|0x100000|1076\n动力蛋白|0x0008|0\n动力电池|0x100000|408\n动力工程|0x100000|501\n动力火车|0x100000|824\n动力机|0x100000|46147\n动力机械|0x0000|464\n动力设备|0x100000|447\n动力学|0x100000|753\n动力仪|0x100000|0\n动力站|0x0008|0\n动力装置|0x0008|19\n动量矩|0x100000|1276\n动脉弓|0x100000|1404\n动脉瘤|0x100000|997\n动脉血|0x100000|1087\n动脉炎|0x100000|368\n动脉硬化|0x800000|33743\n动脉粥样硬化|0x0008|2\n动漫卡通|0x100000|669\n动名词|0x0008|1030\n动脑筋|0x1000|16260\n动脑子|0x0000|43634\n动配合|0x0008|0\n动平衡|0x0008|908\n动魄惊心|0x1000000|1090\n动迁户|0x0000|46721\n动情期|0x0008|0\n动人心魄|0x1000000|40766\n动人心弦|0x1000000|34762\n动如参商|0x0000|100\n动如脱兔|0x1000000|970\n动若脱兔|0x1000000|1068\n动手动脚|0x800000|30591\n动手术|0x1000|22048\n动态分配|0x0000|460\n动态控制|0x0008|0\n动态滤波器|0x0008|0\n动态平衡|0x100000|937\n动态域名|0x100000|507\n动态桌面|0x100000|436\n动物保健|0x100000|380\n动物地理学|0x0008|0\n动物化石|0x100000|0\n动物界|0x100000|916\n动物区系|0x0008|0\n动物图片|0x100000|438\n动物纤维|0x4000000|1079\n动物心理学|0x0008|758\n动物性|0x100000|850\n动物性饲料|0x0008|369\n动物学|0x100000|912\n动物学家|0x100000|984\n动物医院|0x100000|461\n动物油|0x100000|994\n动物园|0x100000|13509\n动心怵目|0x0000|100\n动心骇目|0x0000|100\n动心忍性|0x1000000|989\n动员大会|0x0000|579\n动员会|0x100000|850\n动员令|0x100000|28092\n动辄得咎|0x1000000|55187\n动真格|0x800000|891\n动真格的|0x0000|29834\n动之以情|0x800000|896\n动植物|0x100000|708\n动质体|0x100000|0\n动中窾要|0x0000|100\n动作电位|0x0008|0\n动作片|0x100000|44949\n动作游戏|0x0008|793\n冻豆腐|0x100000|52683\n冻解冰释|0x1000000|100\n冻浦鱼惊|0x1000000|100\n冻土学|0x0008|0\n冻胀力|0x100000|0\n恫疑虚喝|0x1000000|100\n恫疑虚猲|0x1000000|100\n栋梁之才|0x800000|1043\n栋梁之材|0x800000|994\n栋朽榱崩|0x1000000|100\n栋折榱崩|0x1000000|100\n栋折榱坏|0x1000000|100\n洞察力|0x100000|751\n洞察其奸|0x1000000|100\n洞察秋毫|0x1000000|1153\n洞察一切|0x1400000|0\n洞彻事理|0x0000|100\n洞洞装|0x0008|1254\n洞房花烛|0x1000000|38863\n洞见症结|0x1000|100\n洞鉴废兴|0x0000|100\n洞鉴古今|0x0000|100\n洞口县|0x0040|1640\n洞如观火|0x1000000|100\n洞若观火|0x1000000|43152\n洞天福地|0x1000000|52684\n洞庭湖|0x0040|1355\n洞头县|0x0040|1565\n洞心骇耳|0x1000000|100\n洞心骇目|0x1000000|100\n洞隐烛微|0x1000000|100\n洞幽察微|0x0000|100\n洞幽烛微|0x1000000|100\n洞幽烛远|0x1000000|100\n洞中肯綮|0x0000|100\n洞烛其奸|0x1000000|1393\n都安瑶族自治县|0x0040|1632\n都柏林|0x0040|1469\n都察院|0x100000|1081\n都昌县|0x0040|1594\n都江堰|0x0040|1211\n都江堰市|0x0040|1424\n都兰县|0x0040|1116\n都市报|0x100000|684\n都市化|0x1000|989\n都市计划|0x0008|0\n都市快报|0x100000|501\n都市男女|0x100000|481\n都市女性|0x100000|476\n都市热线|0x100000|426\n都市生活|0x100000|605\n都市妖|0x100000|396\n都头异姓|0x1000000|100\n都俞吁咈|0x1000000|100\n都匀市|0x0040|1570\n都指挥使|0x0000|442\n都中纸贵|0x1000000|100\n兜肚连肠|0x0000|100\n兜圈子|0x1000|31616\n兜生意|0x0000|50932\n兜头盖脸|0x800000|0\n斗唇合舌|0x0000|100\n斗而铸兵|0x1000000|100\n斗而铸锥|0x1000000|100\n斗方名士|0x1000000|1427\n斗怪争奇|0x1000000|100\n斗鸡眼|0x0000|433\n斗鸡养狗|0x1000000|100\n斗鸡走狗|0x1000000|1210\n斗鸡走马|0x1000000|100\n斗鸡走犬|0x1000000|100\n斗酒百篇|0x1000000|1398\n斗酒双柑|0x1000000|100\n斗酒学士|0x0000|100\n斗酒只鸡|0x1000000|100\n斗绝一隅|0x1400000|0\n斗丽争妍|0x1000000|100\n斗链器件|0x0008|0\n斗量车载|0x1000000|0\n斗量筲计|0x1000000|100\n斗六市|0x400000|1077\n斗美夸丽|0x0000|100\n斗媚争妍|0x1000000|100\n斗米尺布|0x1000000|100\n斗南一人|0x400000|100\n斗牛场|0x100000|1057\n斗牛士|0x100000|41216\n斗色争妍|0x1000000|100\n斗筲穿窬|0x0000|100\n斗筲之器|0x100000|100\n斗筲之人|0x0000|100\n斗升之水|0x1000000|1422\n斗霜傲雪|0x1000000|100\n斗水活鳞|0x1000000|100\n斗粟尺布|0x1000000|100\n斗榫合缝|0x0000|100\n斗蟋蟀|0x0000|380\n斗心眼儿|0x1000|51780\n斗牙拌齿|0x1000000|100\n斗艳争芳|0x1000000|100\n斗艳争辉|0x1000000|100\n斗艳争妍|0x1000000|0\n斗挹箕扬|0x1000000|100\n斗折蛇行|0x1000000|1236\n斗争性|0x100000|1095\n斗志昂扬|0x1000000|890\n斗转参横|0x1000000|1344\n斗转星移|0x1000000|35187\n抖包袱|0x0000|50933\n抖擞精神|0x1000000|947\n抖威风|0x0000|48315\n陡壁悬崖|0x0000|100\n豆瓣菜|0x0008|0\n豆瓣儿|0x100000|43636\n豆瓣儿酱|0x100000|1535\n豆瓣酱|0x100000|947\n豆分瓜剖|0x1000000|100\n豆腐干|0x100000|34295\n豆腐花|0x0008|942\n豆腐机|0x100000|378\n豆腐脑|0x100000|896\n豆腐脑儿|0x100000|37155\n豆腐皮|0x100000|52685\n豆腐乳|0x100000|50537\n豆腐渣|0x100000|23862\n豆腐渣工程|0x100000|43637\n豆花儿|0x0000|25750\n豆荚螟|0x0008|0\n豆浆店|0x0008|1081\n豆浆机|0x100000|458\n豆角儿|0x100000|26116\n豆蔻年华|0x1000000|45243\n豆类蔬菜|0x0008|0\n豆奶粉|0x100000|405\n豆剖瓜分|0x1000000|100\n豆萁燃豆|0x1000000|100\n豆萁相煎|0x1000000|100\n豆血红蛋白|0x0008|0\n豆芽菜|0x100000|42670\n豆芽儿|0x100000|1193\n豆制品|0x100000|25328\n豆重榆瞑|0x1000000|100\n逗闷子|0x1000|1063\n逗趣儿|0x1000|40767\n逗笑儿|0x1000|0\n痘病毒|0x0008|0\n嘟嘟囔囔|0x0100|945\n嘟嘟哝哝|0x0000|100\n嘟嘟响|0x1000|0\n毒扁豆碱|0x100000|1316\n毒赋剩敛|0x0000|100\n毒辣辣|0x0100|1111\n毒理学|0x0008|959\n毒泷恶雾|0x1000000|100\n毒魔狠怪|0x1000000|1519\n毒气弹|0x100000|37156\n毒气室|0x100000|390\n毒如蛇蝎|0x1000|1168\n毒蛇猛兽|0x1000000|1053\n毒手尊前|0x1000000|100\n毒手尊拳|0x0000|100\n毒瓦斯|0x100000|1318\n毒物学|0x0008|2\n毒血症|0x100000|1121\n毒蝇碱|0x100000|0\n读不舍手|0x0000|100\n读读书|0x100000|963\n读后感|0x100000|42168\n读卡机|0x4000000|1549\n读卡器|0x100000|693\n读取器|0x100000|469\n读书笔记|0x0000|515\n读书得间|0x0000|100\n读书会|0x100000|869\n读书君子|0x1000000|100\n读书人|0x100000|11360\n读书三到|0x400000|100\n读书三余|0x400000|100\n读书种子|0x1000000|1230\n读者群|0x100000|892\n读者文摘|0x100000|885\n渎职罪|0x100000|1036\n犊牧采薪|0x1000000|100\n犊牛舍|0x100000|0\n黩武穷兵|0x1000000|100\n独霸一方|0x1400000|0\n独辟蹊径|0x1000000|30156\n独步当时|0x0000|100\n独步当世|0x0000|100\n独步天下|0x1000000|917\n独步一时|0x1400000|0\n独裁者|0x100000|34296\n独唱曲|0x100000|1199\n独出机杼|0x0000|100\n独出己见|0x0000|100\n独出心裁|0x1000000|39491\n独出新裁|0x1000000|100\n独创性|0x100000|21385\n独创一格|0x400000|0\n独此一家|0xc00000|3\n独胆英雄|0x1000000|100\n独当一面|0x1400000|33251\n独到之处|0x1000000|29733\n独得之见|0x0000|100\n独断独行|0x1000000|1026\n独断专行|0x1000000|25555\n独夫民贼|0x1000000|1229\n独个儿|0x100000|41909\n独孤求败|0x800000|896\n独鹤鸡群|0x1000000|100\n独户住宅|0x0008|0\n独家报道|0x100000|805\n独家代理|0x100000|536\n独家代理商|0x100000|468\n独茧抽丝|0x1000000|100\n独角兽|0x0008|818\n独角戏|0x100000|36127\n独脚戏|0x100000|1054\n独居石|0x0008|1223\n独具慧眼|0x800000|35345\n独具匠心|0x1000000|36979\n独具特色|0x800000|755\n独具一格|0xc00000|38074\n独具只眼|0x1000000|51350\n独来独往|0x1000000|786\n独揽大权|0x0000|100\n独立本科|0x100000|386\n独立国|0x100000|1137\n独立核算|0x0000|504\n独立精神|0x100000|932\n独立日|0x4000|898\n独立思考|0x0000|549\n独立团|0x100000|1007\n独立王国|0x100000|46431\n独立性|0x100000|12777\n独立宣言|0x100000|908\n独立战争|0x0008|5\n独立自主|0x1000000|777\n独联体|0x0008|9092\n独领风骚|0x1000000|32236\n独龙族|0x0008|45244\n独轮车|0x100000|31617\n独门独户|0x800000|1074\n独门独院|0x800000|49076\n独门儿|0x100000|0\n独木不成林|0x0008|1195\n独木不林|0x0000|100\n独木难支|0x1000000|54220\n独木桥|0x100000|24368\n独木舟|0x100000|41219\n独幕剧|0x100000|41910\n独清独醒|0x0000|100\n独山县|0x0040|1076\n独山子区|0x0040|1115\n独善其身|0x1000000|38075\n独善吾身|0x1000000|100\n独善一身|0x1400000|0\n独生女|0x100000|32366\n独生子|0x100000|30157\n独生子女|0x100000|15774\n独是独非|0x1000000|100\n独树一格|0x400000|0\n独树一帜|0x1400000|19949\n独竖一帜|0x1400000|0\n独特性|0x100000|805\n独往独来|0x1000000|1104\n独行独断|0x1000000|100\n独行踽踽|0x1000000|100\n独行其道|0x0000|100\n独行其是|0x1000000|1298\n独行侠|0x100000|880\n独学寡闻|0x0000|100\n独眼龙|0x100000|43638\n独一无二|0x1400000|16482\n独异于人|0x0000|100\n独有千古|0x0000|100\n独有千秋|0x0000|100\n独院儿|0x100000|0\n独运匠心|0x0000|100\n独占鳌头|0x1000000|32878\n独占鼇头|0x1000000|0\n独占性|0x0000|405\n独资企业|0x0000|645\n独奏家|0x100000|1123\n独奏曲|0x100000|55861\n独坐愁城|0x0000|100\n笃定泰山|0x0000|100\n笃而论之|0x0000|100\n笃近举远|0x0000|100\n笃论高言|0x0000|100\n笃实好学|0x0000|100\n笃新怠旧|0x0000|100\n笃信好学|0x0000|100\n笃学不倦|0x0000|100\n笃学好古|0x0000|100\n笃志好学|0x0000|100\n赌博机|0x100000|987\n赌彩一掷|0x1400000|0\n赌长较短|0x1000000|100\n赌神发咒|0x1000000|100\n赌誓发原|0x1000000|100\n赌誓发愿|0x0000|100\n赌咒发誓|0x1000000|1020\n睹景伤情|0x1000000|100\n睹始知终|0x1000000|100\n睹微知著|0x1000000|100\n睹物伤情|0x1000000|55195\n睹物思人|0x1000000|45853\n睹物兴情|0x0000|100\n睹著知微|0x1000000|100\n睹着知微|0x0000|100\n妒忌心|0x100000|994\n妒能害贤|0x0000|100\n妒贤疾能|0x1000000|100\n妒贤嫉能|0x1000000|1223\n杜弊清源|0x1000000|100\n杜勃罗留波夫|0x0080|0\n杜断房谋|0x1000000|100\n杜尔伯特|0x0040|1640\n杜耳恶闻|0x1000000|100\n杜夫海纳|0x0080|0\n杜渐除微|0x1000000|100\n杜渐防萌|0x1000000|100\n杜渐防微|0x1000000|100\n杜鹃花|0x100000|28174\n杜鹃啼血|0x800000|1036\n杜绝后患|0x0000|100\n杜绝人事|0x0000|100\n杜绝言路|0x0000|100\n杜克大学|0x0040|1579\n杜口裹足|0x1000000|100\n杜口结舌|0x1000000|100\n杜口绝言|0x1000000|100\n杜口吞声|0x1000000|100\n杜口无言|0x1000000|100\n杜勒斯|0x0080|1113\n杜鲁门|0x0080|1469\n杜门不出|0x1000000|1312\n杜门晦迹|0x0000|100\n杜门绝迹|0x1000000|100\n杜门绝客|0x1000000|1340\n杜门面壁|0x1000000|100\n杜门屏迹|0x1000000|100\n杜门却扫|0x1000000|100\n杜门谢客|0x1000000|1319\n杜门自绝|0x1000000|100\n杜门自守|0x1000000|100\n杜默为诗|0x0000|100\n杜尚别|0x0040|1179\n杜微慎防|0x0000|100\n杜隙防微|0x1000000|100\n肚里蛔虫|0x0000|100\n肚里泪下|0x800000|100\n肚皮舞|0x100000|489\n肚脐眼|0x100000|928\n肚脐眼儿|0x0000|44655\n肚子疼|0x0000|507\n肚子痛|0x1000|770\n度长絜大|0x1000000|100\n度长絜短|0x1000000|100\n度德量力|0x1000000|1243\n度己以绳|0x0000|100\n度假村|0x100000|16902\n度假者|0x100000|1206\n度君子之腹|0x0008|977\n度量衡|0x100000|41913\n度蜜月|0x1000|506\n度人之腹|0x1000000|0\n度人之心|0x1000000|0\n度日如年|0x1000000|34764\n度日如岁|0x1000000|100\n度外之人|0x0000|100\n渡过难关|0x0000|487\n镀锌板|0x100000|918\n镀锌铁|0x100000|1228\n蠹国病民|0x0000|100\n蠹国残民|0x0000|100\n蠹国害民|0x1000000|100\n蠹国耗民|0x0000|100\n蠹国殃民|0x0000|100\n蠹简遗编|0x0000|100\n蠹居棊处|0x0000|100\n蠹居棋处|0x1000000|100\n蠹政病民|0x0000|100\n蠹政害民|0x0000|100\n蠹众木折|0x1000000|100\n蠹啄剖梁柱|0x0008|100\n端本澄源|0x0000|100\n端本正源|0x0000|100\n端电压|0x100000|1112\n端端正正|0x0100|943\n端架子|0x1000|52204\n端口扫描|0x0000|462\n端口映射|0x0000|487\n端倪可察|0x1000000|100\n端人正士|0x0000|100\n端午节|0x4000|23579\n端阳节|0x0000|34611\n短兵接战|0x0000|100\n短兵相接|0x1000000|34459\n短不了|0x1000|48320\n短吃少穿|0x0000|100\n短大衣|0x100000|1023\n短刀直入|0x0000|100\n短杆菌酪肽|0x0008|0\n短杆菌素|0x0008|0\n短歌行|0x100000|988\n短绠汲深|0x1000000|100\n短褐不完|0x1000000|100\n短褐穿结|0x1000000|1331\n短见薄识|0x0000|100\n短斤缺两|0x800000|1116\n短斤少两|0x800000|1082\n短距离|0x20000000|869\n短篇小说|0x800000|700\n短平快|0x100000|37158\n短期贷款|0x0000|452\n短期内|0x100000|641\n短期培训|0x100000|914\n短期行为|0x0000|485\n短时记忆|0x0008|0\n短时间|0x0000|604\n短时期|0x100000|910\n短寿促命|0x1000000|100\n短叹长吁|0x0000|100\n短统靴|0x100000|1542\n短途运输|0x0008|0\n短吻鳄|0x100000|1213\n短纤维|0x0008|966\n短线产品|0x100000|802\n短消息|0x0008|539\n短小精悍|0x1000000|891\n短信联盟|0x100000|493\n短信铃声|0x100000|486\n短训班|0x100000|1038\n短衣匹马|0x0000|100\n短垣自逾|0x1000000|100\n短中取长|0x0000|100\n段祺瑞|0x0000|445\n断壁残垣|0x1000000|40770\n断壁残璋|0x0000|100\n断壁颓垣|0x1000000|1240\n断编残简|0x1000000|1426\n断层谷|0x0040|0\n断层三角面|0x400000|0\n断长补短|0x1000000|100\n断长续短|0x1000000|100\n断代史|0x100000|44378\n断点续传|0x0000|543\n断脰决腹|0x1000000|100\n断断续续|0x0100|14596\n断发文身|0x1000000|1218\n断发纹身|0x1000000|1216\n断根绝种|0x0000|100\n断梗飞蓬|0x1000000|100\n断梗浮萍|0x1000000|100\n断梗飘蓬|0x1000000|100\n断梗飘萍|0x1000000|100\n断怪除妖|0x1000000|100\n断管残沈|0x0000|100\n断管残渖|0x0000|100\n断圭碎璧|0x1000000|100\n断珪缺璧|0x1000000|100\n断鹤继凫|0x0000|100\n断鹤续凫|0x1000000|100\n断还归宗|0x0000|100\n断齑画粥|0x1000000|100\n断齑块粥|0x0000|100\n断缣尺楮|0x1000000|100\n断缣寸纸|0x1000000|100\n断缣零璧|0x1000000|100\n断简残编|0x1000000|1341\n断简残篇|0x1000000|1223\n断简遗编|0x0000|100\n断蛟刺虎|0x1000000|100\n断金零粉|0x1000000|100\n断井颓垣|0x1000000|1111\n断决如流|0x1000000|100\n断绝外交关系|0x0008|13\n断烂朝报|0x1000000|1318\n断裂带|0x0000|41440\n断裂力学|0x0008|0\n断裂强度|0x0008|0\n断裂韧性|0x0008|0\n断路器|0x100000|777\n断面图|0x100000|1118\n断墨残楮|0x1000000|100\n断木掘地|0x1000000|100\n断篇残简|0x1000000|0\n断乳期|0x100000|1162\n断手续玉|0x0000|100\n断头将军|0x1000000|1365\n断头率|0x0008|0\n断头台|0x100000|34612\n断无此理|0x0000|100\n断线风筝|0x1000000|1052\n断线偶戏|0x0000|100\n断线鹞子|0x1000000|100\n断香零玉|0x1000000|100\n断袖余桃|0x0000|100\n断袖之宠|0x0000|100\n断袖之癖|0x1000000|1060\n断血流|0x0008|0\n断雁孤鸿|0x0000|100\n断羽绝鳞|0x1000000|100\n断雨残云|0x1000000|1331\n断垣残壁|0x1000000|47339\n断章截句|0x1000000|100\n断章取义|0x1000000|33744\n断章取意|0x1000000|1231\n断章摘句|0x1000000|100\n断织劝学|0x0000|100\n断织之诫|0x0000|100\n断纸馀墨|0x1000000|100\n断杼择邻|0x0000|100\n断子绝孙|0x1000000|42672\n锻炼身体|0x0000|568\n锻烧炉|0x0008|0\n锻压设备|0x100000|392\n锻造工|0x100000|1238\n堆案盈几|0x0000|100\n堆草机|0x100000|0\n堆积如山|0x1000000|836\n堆积物|0x100000|1115\n堆金迭玉|0x0000|100\n堆金叠玉|0x1000000|100\n堆金积玉|0x1000000|1259\n堆龙德庆|0x0040|1101\n堆龙德庆县|0x0040|1116\n堆山积海|0x1000000|1500\n队列训练|0x0008|3\n队伍建设|0x0008|709\n队伍素质|0x100000|504\n对苯二甲酸|0x400008|0\n对苯二甲酸二甲酯|0x400000|0\n对比度|0x100000|46435\n对比联想|0x0008|0\n对比色|0x0000|55646\n对薄公堂|0x1000|1112\n对不对|0x4000000|668\n对不起|0x1000|4119\n对不住|0x0000|16199\n对簿公堂|0x1000|35644\n对称网络|0x0008|0\n对称性|0x100000|899\n对称张量|0x0008|0\n对称轴|0x100000|1130\n对床风雨|0x1000000|100\n对床夜雨|0x1000000|100\n对床夜语|0x1000000|100\n对答如流|0x1000000|42673\n对得起|0x1000|11343\n对得住|0x0000|31150\n对焊机|0x100000|381\n对号入座|0x800000|37159\n对华政策|0x0008|99\n对话框|0x0008|637\n对话者|0x0000|379\n对讲机|0x100000|27355\n对角线|0x100000|30039\n对景挂画|0x1000000|100\n对景伤情|0x0000|100\n对酒当歌|0x1000000|100\n对看一眼|0x400000|0\n对抗赛|0x100000|11825\n对抗性|0x100000|21900\n对客挥毫|0x1000000|100\n对空射击|0x1000|1074\n对口快板|0x100000|1245\n对口相声|0x100000|53207\n对立面|0x100000|21024\n对立统一|0x1000|470\n对立统一规律|0x400008|0\n对联式|0x100000|0\n对流层|0x100000|54222\n对流层传播|0x0008|0\n对硫磷|0x0008|1153\n对面鼓|0x800000|100\n对内搞活|0x800000|1161\n对牛弹琴|0x1000000|42170\n对牛鼓簧|0x1000000|100\n对数放大器|0x0008|0\n对台戏|0x100000|46155\n对天发誓|0x0000|462\n对头冤家|0x1000000|1296\n对外汉语|0x100000|493\n对外交流|0x100000|838\n对外经济|0x0008|590\n对外经济贸易|0x0000|537\n对外经贸|0x100000|832\n对外开放|0x800000|689\n对外开放政策|0x0000|380\n对外劳务|0x100000|428\n对外贸易|0x800000|652\n对外贸易经济合作|0x0000|532\n对外贸易经济合作部|0x0020|1512\n对外投资|0x0008|529\n对外友好协会|0x100000|403\n对外友协|0x0008|1163\n对外援助|0x100000|17\n对味儿|0x40000000|46723\n对胃口|0x40000000|53701\n对证下药|0x1000000|100\n对症发药|0x1000000|100\n对症下药|0x1000000|18646\n对症之药|0x100000|1330\n对着干|0x0000|37876\n兑换率|0x100000|1048\n兑换券|0x100000|1038\n吨公里|0x20000|30040\n敦本务实|0x1000000|100\n敦风厉俗|0x0000|100\n敦化北路|0x0040|0\n敦化南路|0x0040|0\n敦化市|0x0040|1530\n敦煌石窟|0x0040|1686\n敦煌市|0x0040|1539\n敦煌学|0x100000|394\n敦默寡言|0x1000000|100\n敦诗说礼|0x0000|100\n敦世厉俗|0x1000000|100\n蹲马步|0x1000|1105\n囤积居奇|0x1000000|37790\n钝化剂|0x0008|410\n钝角三角形|0x400000|0\n钝口拙腮|0x1000000|0\n顿巴斯|0x100000|1271\n顿挫抑扬|0x1000000|100\n顿腹之言|0x1000000|100\n顿改前非|0x1000000|0\n顿纲振纪|0x1000000|100\n顿脚捶胸|0x1000000|100\n顿开茅塞|0x1000000|49775\n顿口无言|0x1000000|100\n顿口拙腮|0x1000000|100\n顿首再拜|0x0000|100\n顿学累功|0x1000000|100\n顿足不前|0x1000000|1541\n顿足捶胸|0x1000000|1117\n顿足搥胸|0x1000000|100\n顿足搓手|0x1000000|100\n顿足捩耳|0x1000000|100\n顿足失色|0x0000|100\n顿足椎胸|0x1000000|100\n遁迹藏名|0x1000000|100\n遁迹方外|0x1000000|100\n遁迹黄冠|0x1000000|100\n遁迹空门|0x1000000|1404\n遁迹匿影|0x1000000|100\n遁迹潜形|0x1000000|100\n遁迹桑门|0x1000000|100\n遁迹销声|0x1000000|100\n遁名改作|0x1000000|100\n遁名匿迹|0x1000000|100\n遁入空门|0x1000000|962\n遁身远迹|0x1000000|100\n遁世长往|0x1000000|100\n遁世绝俗|0x1000000|100\n遁世离群|0x1000000|100\n遁世离俗|0x1000000|100\n遁世无闷|0x1000000|100\n遁世遗荣|0x1000000|100\n遁世隐居|0x1000000|100\n遁世幽居|0x1000000|100\n遁俗无闷|0x1000000|100\n遁天倍情|0x1000000|100\n遁天妄行|0x1000000|100\n遁天之刑|0x1000000|1422\n遁形远世|0x1000000|100\n遁逸无闷|0x1000000|100\n遁阴匿景|0x1000000|100\n多巴胺|0x100000|948\n多倍体|0x100000|1196\n多臂机|0x0008|1245\n多边贸易|0x100000|12398\n多边条约|0x0008|1\n多边形|0x100000|24631\n多波束天线|0x0008|0\n多才多艺|0x1000000|27849\n多材多艺|0x1000000|1420\n多财善贾|0x1000000|1345\n多彩多姿|0x800000|884\n多藏厚亡|0x1000000|100\n多层次|0x100000|705\n多层建筑|0x0008|0\n多长时间|0x0000|630\n多吃多占|0x800000|50152\n多愁多病|0x1000000|1168\n多愁善病|0x1000000|100\n多愁善感|0x1000000|30041\n多此一举|0x1400000|30909\n多弹头|0x100000|1156\n多党合作|0x100000|963\n多党制|0x100000|32237\n多得多|0x800000|760\n多动症|0x0000|31839\n多端寡要|0x1000000|1386\n多端网络|0x0008|0\n多多少少|0x800000|704\n多多益办|0x1000000|100\n多多益善|0x1000000|33898\n多发病|0x100000|31971\n多发性|0x0000|25815\n多方百计|0x1000000|100\n多方面|0x100000|633\n多方位|0x100000|832\n多功能|0x0000|13593\n多故之秋|0x1000000|100\n多管齐下|0x800000|859\n多管闲事|0x800000|29945\n多国公司|0x0008|765\n多核苷酸|0x100000|0\n多回路控制|0x0008|0\n多会儿|0x10000|39069\n多基因|0x0008|0\n多吉才让|0x0080|1318\n多级火箭|0x0008|1288\n多极化|0x100000|474\n多见广识|0x1000000|100\n多角形|0x100000|1110\n多晶体|0x100000|1232\n多聚甲醛|0x0008|1172\n多孔隔板法|0x0008|0\n多口阿师|0x0008|100\n多口相声|0x100000|1378\n多快好省|0x800000|34298\n多劳多得|0x800000|30042\n多垒四郊|0x400000|0\n多棱镜|0x100000|1057\n多历年稔|0x1000000|100\n多历年所|0x1000000|1382\n多利安式|0x100000|0\n多路复用|0x0008|0\n多氯联苯|0x100000|1162\n多伦多|0x0040|1154\n多伦县|0x0040|1102\n多媒体|0x100000|7276\n多媒体光盘|0x0000|453\n多媒体会议室|0x100000|371\n多媒体技术|0x100000|544\n多媒体教室|0x100000|535\n多媒体卡|0x100000|905\n多媒体设备|0x100000|439\n多媒体投影机|0x100000|409\n多媒体信息|0x100000|503\n多媒体音箱|0x100000|502\n多米尼加|0x40000000|469\n多米尼加共和国|0x100000|397\n多面角|0x100000|1362\n多面手|0x100000|38449\n多面体|0x100000|52688\n多民族国家|0x100000|426\n多明尼加|0x0080|0\n多谋善断|0x1000000|44953\n多谋善虑|0x1000000|100\n多目标|0x0008|1\n多幕剧|0x100000|54223\n多难兴邦|0x1000000|53702\n多瑙河|0x100000|508\n多能多艺|0x1000000|100\n多能五笔|0x400000|0\n多年冻土|0x0008|1\n多年来|0x100000|534\n多年前|0x8000000|405\n多年生|0x100000|31151\n多诺万|0x0080|1075\n多胚性|0x100000|0\n多普勒|0x0008|1456\n多普勒频移|0x0008|0\n多普勒效应|0x100000|1065\n多歧亡羊|0x1000000|100\n多起来|0x1000|527\n多钱善贾|0x1000000|100\n多情多感|0x1000000|100\n多情多义|0x1000000|100\n多情善感|0x1000000|1067\n多渠道|0x100000|796\n多人多|0x0008|1654\n多如牛毛|0x1000000|35190\n多少次|0x100000|640\n多少年|0x100000|629\n多少年如一日|0x400000|0\n多少钱|0x100000|725\n多神教|0x100000|55197\n多声道|0x0000|468\n多事之秋|0x1000000|42420\n多收并畜|0x1000000|100\n多数人|0x0000|604\n多态现象|0x0008|0\n多态性|0x100000|930\n多体问题|0x0008|0\n多退少补|0x1000|455\n多文强记|0x0000|100\n多文为富|0x1000000|100\n多闻强记|0x0000|100\n多闻阙疑|0x0000|100\n多系杂交|0x0008|0\n多线程|0x0000|618\n多相催化|0x0008|0\n多项式|0x100000|983\n多效添加剂|0x0008|0\n多谐振荡器|0x0008|1197\n多行不义必自毙|0x0008|1033\n多凶少吉|0x1000000|100\n多许少与|0x1000000|100\n多言多语|0x1000000|1204\n多言繁称|0x0000|100\n多言或中|0x0000|100\n多言数穷|0x0000|100\n多样化|0x1000|5509\n多样性|0x100000|707\n多一半|0x500000|47970\n多一事不如少一事|0x400008|3\n多一事不如省一事|0x400008|0\n多义词|0x100000|55957\n多义性|0x100000|1097\n多艺多才|0x1000000|100\n多音字|0x100000|55648\n多用户|0x0000|634\n多用户系统|0x0000|485\n多用途|0x0008|559\n多鱼之漏|0x1000000|100\n多元化|0x1000|5066\n多元论|0x100000|51784\n多元酸|0x100000|1376\n多元性|0x100000|953\n多元智能|0x100000|489\n多灾多难|0x1000000|34035\n多粘菌素|0x0008|1207\n多值逻辑|0x0008|0\n多种多样|0x800000|11129\n多种经济成分|0x100000|401\n多种经营|0x0008|14682\n多种所有制|0x100000|477\n多种营养|0x100000|448\n多姿多彩|0x800000|16394\n多足动物|0x100000|0\n多嘴多舌|0x1000000|41914\n多嘴献浅|0x1000000|100\n咄咄逼人|0x1000000|18112\n咄咄怪事|0x1000000|38254\n咄咄书空|0x1000000|100\n咄嗟便办|0x0000|100\n咄嗟叱咤|0x0000|100\n咄嗟立办|0x1000000|100\n咄嗟之间|0x0000|100\n哆哆嗦嗦|0x0000|26879\n夺宝奇兵|0x100000|851\n夺眶而出|0x1000000|24369\n夺门而出|0x1000000|46158\n夺其谈经|0x1000000|100\n夺人所好|0x0000|100\n夺胎换骨|0x1000000|1372\n夺席谈经|0x0000|100\n掇菁撷华|0x0000|100\n掇青拾紫|0x1000000|100\n掇山五法|0x400000|0\n掇拾章句|0x0000|100\n掇臀捧屁|0x1000000|100\n踱方步|0x0000|47041\n踱来踱去|0x0000|25816\n朵颐大嚼|0x0000|100\n躲避球|0x0000|435\n躲躲藏藏|0x1000|935\n躲躲闪闪|0x0100|29412\n躲过一劫|0x400000|8\n躲猫猫|0x0008|0\n堕溷飘茵|0x1000000|100\n堕胎药|0x0008|377\n堕云雾中|0x1000000|100\n堕甑不顾|0x1000000|100\n舵手室|0x100000|0\n惰性气体|0x100000|974\n惰性元素|0x800000|963\n跺跺脚|0x1000|990\n屙金溺银|0x1000000|100\n讹言惑众|0x0000|100\n讹以传讹|0x1000000|100\n讹以滋讹|0x1000000|100\n俄国共产党|0x0008|0\n俄国人|0x100000|890\n俄海军|0x100000|431\n俄亥俄|0x0040|1386\n俄亥俄州|0x0040|1472\n俄克拉何马|0x0040|1749\n俄克拉何马州|0x0040|1176\n俄克拉荷马州|0x0040|1770\n俄空军|0x100000|431\n俄勒冈|0x0040|1506\n俄勒冈州|0x0040|1597\n俄联邦|0x100000|462\n俄罗斯|0x0040|1763\n俄罗斯队|0x100000|467\n俄罗斯方块|0x0000|566\n俄罗斯联邦|0x0040|1366\n俄罗斯人|0x100000|526\n俄罗斯族|0x0008|46160\n俄外长|0x100000|411\n俄文组|0x100000|0\n俄语系|0x100000|1135\n俄语组|0x100000|0\n俄总统|0x100000|455\n峨边彝族自治县|0x0040|1218\n峨峨汤汤|0x1000000|100\n峨峨洋洋|0x1000000|100\n峨冠博带|0x1000000|1145\n峨眉山|0x0040|1170\n峨眉山市|0x0040|1486\n峨嵋山|0x100000|923\n峨山彝族自治县|0x0040|1132\n鹅不食草|0x100000|1243\n鹅蛋脸|0x100000|41915\n鹅湖之会|0x1000000|1337\n鹅黄色|0x100000|942\n鹅口疮|0x0008|1084\n鹅卵石|0x100000|27036\n鹅毛大雪|0x800000|42892\n鹅毛扇|0x0000|50153\n鹅王择乳|0x1000000|100\n鹅行鸭步|0x1000000|1541\n鹅掌风|0x0008|1204\n蛾眉皓齿|0x0000|100\n蛾眉螓首|0x0000|100\n蛾眉月|0x100000|1354\n额蹙心痛|0x1000000|100\n额定电流|0x100000|487\n额定量|0x100000|0\n额定值|0x0000|422\n额尔古纳|0x0040|1550\n额尔古纳市|0x0040|1715\n额尔古纳左旗|0x0040|1403\n额济纳旗|0x0040|1629\n额满为止|0x100000|1016\n额敏县|0x0040|1092\n额手称庆|0x1000000|47655\n额手称颂|0x1000000|100\n额手相庆|0x1000000|100\n额首称庆|0x0000|100\n额外染色体|0x0008|0\n额外主事|0x1000000|100\n婀娜多姿|0x800000|30593\n厄尔尼诺|0x0008|15775\n厄瓜多尔|0x0040|1243\n厄立特里亚|0x0040|1696\n厄米算符|0x0008|0\n扼喉抚背|0x1000000|100\n扼襟控咽|0x1000000|100\n扼亢拊背|0x0000|100\n扼吭夺食|0x1000|100\n扼吭拊背|0x1000000|100\n扼腕长叹|0x0000|100\n扼腕抵掌|0x0000|100\n扼腕叹息|0x1000000|896\n恶霸地主|0x100000|1033\n恶不去善|0x1000000|100\n恶叉白赖|0x800000|100\n恶尘无染|0x1000000|100\n恶恶从短|0x0000|100\n恶贯满盈|0x1000000|39070\n恶贯已盈|0x1000000|1508\n恶狠狠|0x0100|15035\n恶虎不食子|0x0000|100\n恶迹昭著|0x0000|100\n恶迹昭着|0x0000|100\n恶积祸盈|0x800000|100\n恶籍盈指|0x1000000|100\n恶居下流|0x0000|100\n恶劣性|0x100000|1282\n恶名昭彰|0x0008|1030\n恶魔城|0x100000|527\n恶人先告状|0x1000000|998\n恶声恶气|0x0100|43868\n恶湿居下|0x1000000|100\n恶事传千里|0x100000|1198\n恶事行千里|0x0008|1539\n恶势力|0x100000|556\n恶向胆边生|0x0008|1033\n恶性案件|0x0008|14\n恶性竞争|0x0000|538\n恶性循环|0x800000|729\n恶性肿瘤|0x800000|21423\n恶凶凶|0x0100|0\n恶言厉色|0x1000000|100\n恶言詈辞|0x0000|100\n恶衣恶食|0x1000000|100\n恶衣菲食|0x1000000|100\n恶衣粝食|0x1000000|100\n恶衣蔬食|0x1000000|100\n恶意程序|0x100000|498\n恶意代码|0x0000|559\n恶意中伤|0x0000|100\n恶有恶报|0x1000000|900\n恶语伤人|0x0000|100\n恶语伤人六月寒|0x400000|0\n恶语相加|0x0000|100\n恶语相向|0x1000000|1007\n恶语中伤|0x800000|1127\n恶则坠诸渊|0x0008|0\n恶之欲其死|0x0008|1187\n恶直丑正|0x1000000|100\n恶质化|0x0008|0\n恶紫夺朱|0x1000000|100\n恶醉强酒|0x1000|100\n恶作剧|0x1000000|18765\n恶作剧者|0x100000|1187\n饿肚子|0x0000|491\n饿莩遍野|0x1000|100\n饿莩载道|0x0000|100\n饿虎饥鹰|0x0000|100\n饿虎扑食|0x1000000|51356\n饿虎扑羊|0x800000|1184\n饿虎擒羊|0x0000|100\n饿虎吞羊|0x1000000|100\n饿虎之蹊|0x800000|100\n饿殍遍野|0x800000|1169\n饿殍满道|0x0000|100\n饿殍载道|0x0000|100\n饿殍枕藉|0x0000|100\n饿死了|0x0000|527\n饿死事小|0x1000000|1074\n鄂尔多斯|0x0008|1198\n鄂尔多斯市|0x0040|1370\n鄂伦春|0x0040|1571\n鄂伦春自治旗|0x0040|1707\n鄂伦春族|0x0008|39685\n鄂托克|0x0040|1247\n鄂托克旗|0x0040|1688\n鄂托克前旗|0x0040|1139\n鄂温克|0x0040|1058\n鄂温克旗|0x0040|1204\n鄂温克族|0x0008|48323\n鄂温克族自治旗|0x0020|1172\n鄂豫皖|0x100000|1072\n鄂州市|0x0040|1386\n遏恶扬善|0x1000000|1355\n遏渐防萌|0x1000000|100\n遏密八音|0x400000|100\n遏云绕梁|0x0000|100\n搤臂啮指|0x1000000|100\n颚式破碎机|0x100000|420\n噩噩浑浑|0x1000000|100\n鳄鱼皮|0x0000|432\n鳄鱼眼泪|0x800000|1272\n恩爱夫妻|0x100000|909\n恩不放债|0x1000000|100\n恩德如山|0x0000|100\n恩断义绝|0x1000|54763\n恩恩爱爱|0x0100|873\n恩恩相报|0x0000|100\n恩恩怨怨|0x100000|843\n恩格尔|0x0080|1483\n恩格尔系数|0x100000|1571\n恩格斯|0x0080|1333\n恩贾梅纳|0x0040|1255\n恩将仇报|0x1000000|45856\n恩克鲁玛|0x0080|1\n恩平市|0x0040|1490\n恩荣并济|0x0000|100\n恩若再生|0x0000|100\n恩山义海|0x0080|1332\n恩深义重|0x0000|100\n恩甚怨生|0x800000|100\n恩施市|0x0040|1467\n恩同父母|0x0000|100\n恩同山岳|0x1000000|100\n恩同再造|0x1000000|1207\n恩威并行|0x800000|100\n恩威并用|0x0000|100\n恩有重报|0x0000|100\n恩逾慈母|0x0000|100\n恩怨分明|0x0000|100\n恩重如山|0x1000000|47972\n恩重泰山|0x0000|100\n摁钉儿|0x100000|0\n摁扣儿|0x100000|0\n儿茶酚|0x0000|413\n儿茶酚胺|0x100000|1113\n儿茶素|0x0008|1629\n儿皇帝|0x100000|49776\n儿科学|0x0008|916\n儿科医生|0x100000|1022\n儿女成行|0x1000000|100\n儿女亲家|0x0000|45249\n儿女情长|0x1000000|33745\n儿女心肠|0x1000000|1539\n儿女债|0x100000|0\n儿女之情|0x0000|100\n儿孙满堂|0x800000|942\n儿童床|0x0008|385\n儿童村|0x100000|49080\n儿童读物|0x100000|914\n儿童房|0x100000|495\n儿童服装|0x100000|513\n儿童公园|0x0008|1\n儿童化妆品|0x100000|380\n儿童画|0x100000|440\n儿童活动|0x100000|445\n儿童教育|0x0008|738\n儿童节|0x4000|18028\n儿童剧|0x100000|22096\n儿童乐园|0x100000|846\n儿童票|0x100000|434\n儿童期|0x100000|976\n儿童诗|0x100000|380\n儿童图书馆|0x0000|400\n儿童团|0x100000|35808\n儿童玩具|0x100000|801\n儿童文学|0x800000|805\n儿童哮喘|0x100000|395\n儿童笑话|0x100000|492\n儿童心理|0x100000|745\n儿童心理学|0x0008|1038\n儿童医院|0x0008|1317\n儿童音乐|0x100000|449\n儿童英语|0x100000|459\n儿童用品|0x100000|510\n儿童智力|0x100000|462\n儿童座椅|0x100000|382\n儿媳妇|0x100000|817\n儿媳妇儿|0x100000|11551\n儿行千里母担忧|0x0008|1017\n而不见舆薪|0x0008|1096\n而不是|0x0000|541\n而今而后|0x1000000|1202\n而立之年|0x800000|825\n尔汝之交|0x0000|100\n尔虞我诈|0x1000000|38451\n尔诈我虞|0x1000000|1287\n耳报神|0x100000|50154\n耳鼻喉科|0x100000|856\n耳边风|0x100000|45858\n耳鬓斯磨|0x800000|1165\n耳鬓厮磨|0x1000000|43869\n耳鬓撕磨|0x0000|100\n耳聪目明|0x1000000|42421\n耳朵软|0x40000000|1258\n耳朵眼|0x100000|1018\n耳朵眼儿|0x100000|38865\n耳根清净|0x800000|1041\n耳刮子|0x100000|39266\n耳红面赤|0x0100|100\n耳后生风|0x0000|100\n耳机线|0x100000|429\n耳满鼻满|0x0000|100\n耳目闭塞|0x0000|100\n耳目股肱|0x0000|100\n耳目一新|0x1400000|13328\n耳目昭彰|0x0000|100\n耳目众多|0x0000|100\n耳旁风|0x100000|40772\n耳濡目染|0x1000000|29836\n耳软心活|0x1000000|55650\n耳食之论|0x0000|100\n耳食之谈|0x800000|100\n耳食之言|0x0000|100\n耳视目食|0x0000|100\n耳视目听|0x800000|100\n耳熟能详|0x1000000|20437\n耳顺之年|0x0000|100\n耳提面命|0x1000000|46162\n耳听八方|0xc00000|1\n耳听为虚|0x800000|1036\n耳听心受|0x0000|100\n耳挖子|0x100000|1536\n耳闻不如面见|0x0000|100\n耳闻不如目见|0x0008|100\n耳闻目睹|0x800000|16575\n耳闻目击|0x0000|100\n耳闻目见|0x800000|1265\n耳闻是虚|0x0000|100\n耳闻则诵|0x800000|100\n耳下腺|0x100000|1411\n耳熏目染|0x800000|0\n耳坠子|0x100000|43400\n迩安远至|0x1000000|100\n洱源县|0x0040|1084\n二氨基庚二酸|0x400000|0\n二氨基联苯胺|0x400000|0\n二八佳人|0x400000|100\n二八年华|0x400000|0\n二八十六|0x400000|0\n二把刀|0x1400000|52210\n二把手|0x500000|38866\n二百五|0x100000|29194\n二板股票|0x400000|0\n二倍体|0x400000|1207\n二倍性|0x400008|0\n二苯胺磺酸钠|0x400000|0\n二苯胺蓝|0x400000|0\n二苯基唑|0x400000|0\n二苯甲基胺树脂|0x400000|0\n二苯卡巴腙|0x400000|0\n二变量|0x400000|0\n二表姊夫|0x400000|0\n二不休|0xc00000|0\n二部合唱|0x400008|0\n二部曲式|0x400000|0\n二部制|0x500000|0\n二层台高度|0x400000|0\n二叉排序树|0x400000|0\n二叉判定图|0x400000|0\n二陈汤|0x500000|0\n二冲程发动机|0x400000|0\n二传手|0x500000|28008\n二次编码|0x400000|0\n二次场电位差|0x400000|0\n二次超曲面|0x400000|0\n二次大战|0x400008|19\n二次电子|0x400008|0\n二次方程|0x400000|1156\n二次革命|0x400008|0\n二次互反律|0x400000|0\n二次开发|0x400000|542\n二次空间的格|0x400000|0\n二次能源|0x0000|53706\n二次破碎|0x400000|0\n二次曲面|0x400008|0\n二次曲线|0x400000|0\n二次生油|0x400000|0\n二次收费|0x400000|0\n二次污染|0x400008|2\n二次污染物|0x400008|0\n二次型的秩|0x400000|0\n二次型性能指标|0x400000|0\n二次域|0x400000|0\n二次元|0x400000|406\n二道贩子|0x500000|46438\n二等兵|0x400000|484\n二等舱|0x500000|0\n二等功|0x500000|25\n二等奖|0x500000|47\n二等品|0x400008|0\n二地主|0x500000|0\n二点透视|0x400000|0\n二碘水杨酸锂|0x400000|0\n二叠纪|0x404000|0\n二端网络|0x400008|0\n二段式|0x500000|0\n二恶英|0x100000|433\n二儿子|0x400000|14\n二而三|0x400000|0\n二而一|0x400000|0\n二二八事变|0x400000|0\n二二得四|0x400000|0\n二二拍子|0x400000|0\n二房东|0x500000|33381\n二分法|0x400008|0\n二分基因组|0x400000|0\n二分明月|0x1400000|0\n二分线|0x400000|0\n二分音符|0x400000|0\n二佛涅盘|0x400000|0\n二佛涅槃|0x400000|100\n二佛升天|0x400000|0\n二佛生天|0x400000|0\n二缶钟惑|0x400000|100\n二缶锺惑|0x1400000|0\n二根分叉部|0x400000|0\n二硅化物|0x400000|0\n二鬼子|0x0000|51786\n二锅头|0x4400000|31394\n二过一|0x400000|0\n二号分机|0x400000|0\n二号机|0x500000|0\n二合一|0x40000000|529\n二胡曲|0x100000|394\n二虎相斗|0x400000|100\n二花脸|0x0000|50155\n二化螟|0x500000|0\n二话不说|0xc00000|29624\n二话没说|0xc00000|19217\n二环己基碳二亚胺|0x400000|0\n二环路|0x100000|508\n二惠竞爽|0x1400000|0\n二级标准|0x400000|2\n二级风|0x400000|0\n二级高速缓存|0x400000|0\n二级缓存|0x100000|571\n二级简码|0x400000|0\n二级企业|0x400000|0\n二级强化|0x400000|0\n二级同位素效应|0x400000|0\n二级图谱|0x400000|0\n二级相变|0x400008|0\n二级域名|0x400000|617\n二级准尉|0x400000|0\n二极管|0x4400000|2\n二极管电极|0x400000|0\n二极体|0x400008|0\n二极真空|0x400000|0\n二甲胺基|0x500000|0\n二甲苯|0x4400000|2\n二甲苯基|0x400000|0\n二甲酚橙|0x4400000|0\n二甲基氨基偶氮苯|0x400000|0\n二甲基吡啶|0x400000|0\n二甲基甲|0x400000|0\n二甲基亚砜|0x400008|0\n二甲双胍|0x400000|0\n二甲烯丙基焦磷酸|0x400000|0\n二甲氧三苯甲基|0x400000|0\n二尖瓣关闭不全|0x400008|0\n二尖瓣狭窄|0x400008|0\n二坚为灾|0x400000|0\n二阶参数连续|0x400000|0\n二阶充分条件|0x400000|0\n二阶加托微分|0x400000|0\n二阶堂红丸|0x400080|0\n二阶约化密度矩阵|0x400000|0\n二届国代|0x400000|0\n二届国代选举|0x400000|0\n二进宫|0x401000|39268\n二进删除信道|0x400008|0\n二进数群|0x400000|0\n二进位|0x400000|1090\n二进位制|0x400000|0\n二进制|0x500000|45551\n二进制的一位|0x400000|0\n二进制码|0x400000|0\n二进制数字|0x400000|0\n二进制位|0x400000|0\n二进制文件|0x100000|474\n二局上半|0x400000|0\n二局下半|0x400000|0\n二聚化辅因子|0x400000|0\n二聚体|0x400000|0\n二口网络|0x400000|0\n二郎腿|0x500000|34613\n二垒手|0x400000|1190\n二棱大麦|0x400000|0\n二愣子|0x0000|52691\n二连浩特|0x400040|3\n二连浩特市|0x400000|1706\n二联体|0x400000|0\n二列相关|0x400000|0\n二裂舌|0x400000|0\n二磷酸|0x400000|0\n二磷酸甘油酸支路|0x400000|0\n二磷酸肌醇磷脂|0x400000|0\n二流角色|0x400000|0\n二流人才|0x400000|0\n二流子|0x500000|35192\n二硫赤藓糖醇|0x400000|0\n二硫化钼|0x400008|0\n二硫化碳|0x4400000|0\n二硫化铁|0x400000|0\n二硫化物|0x500000|0\n二硫基丙|0x400000|0\n二硫键|0x400000|0\n二硫苏糖醇|0x400008|0\n二龙戏珠|0x400000|1019\n二楼住户|0x400000|0\n二路纵队|0x400000|0\n二律背反|0x400008|0\n二氯二甲硅烷|0x400000|0\n二氯化锰|0x400000|0\n二氯甲烷|0x4400000|3\n二氯乙烷|0x500000|3\n二氯荧光黄|0x400000|0\n二卵双生|0x400008|0\n二轮电影|0x400000|0\n二轮马车|0x400000|0\n二轮影院|0x400000|0\n二满三平|0x1400000|0\n二面角|0x400000|1160\n二拇指|0x500000|46726\n二男二女|0x400000|0\n二男一女|0x400000|0\n二年计划|0x400000|0\n二年生|0x500000|0\n二年生蔬菜作物|0x400000|0\n二年生作物|0x400000|0\n二女二男|0x400000|0\n二女一男|0x400000|0\n二七大罢工|0x400008|0\n二期稻作|0x400000|0\n二期工程|0x400000|37\n二期愈合前庭成形术|0x400000|0\n二羟苯丙氨酸|0x400000|0\n二羟苯基乙胺|0x400000|0\n二羟胆钙化醇|0x400000|0\n二氢吡啶|0x400000|0\n二氢丙酮磷酸|0x400000|0\n二氢蝶啶|0x400000|0\n二氢蝶啶还原酶|0x400000|0\n二氢苊|0x400000|0\n二氢硫辛酸|0x400000|0\n二氢尿苷|0x400000|0\n二氢尿嘧啶|0x400000|0\n二氢尿嘧啶臂|0x400000|0\n二氢尿嘧啶环|0x400000|0\n二氢乳清酸|0x400000|0\n二氢乳清酸酶|0x400000|0\n二氢生物蝶呤|0x400000|0\n二氢叶酸|0x400000|0\n二氢叶酸还原酶|0x400000|0\n二巯基丙|0x400000|0\n二巯基丙醇|0x400008|0\n二泉映月|0x400008|0\n二人世界|0x400000|777\n二人台|0x500000|0\n二人同心|0xc00000|0\n二人转|0x500000|27271\n二三君子|0x1400000|0\n二三其德|0xc00000|0\n二三其意|0x400000|100\n二色视觉|0x400000|0\n二色性|0x400000|0\n二十八宿|0x400000|1005\n二十国委员会|0x400000|0\n二十面体物相|0x400000|0\n二十年代|0x400000|464\n二十四节气|0x500000|50939\n二十四史|0xc00000|0\n二十四小时|0x400000|23\n二十四孝|0x400000|0\n二十五史|0x400000|925\n二是二|0xc00000|0\n二手笔记本|0x100000|585\n二手笔记本电脑|0x100000|482\n二手车|0x100000|21347\n二手车市场|0x100000|503\n二手电脑|0x100000|584\n二手电脑配件|0x100000|385\n二手房|0x100000|27272\n二手房屋|0x100000|429\n二手钢琴|0x100000|402\n二手工程机械|0x100000|437\n二手货|0x500000|49081\n二手机床|0x100000|426\n二手交易|0x100000|550\n二手轿车|0x100000|555\n二手空调|0x100000|391\n二手楼|0x100000|494\n二手买卖|0x100000|414\n二手票|0x100000|371\n二手设备|0x100000|591\n二手市场|0x400000|602\n二手手机|0x100000|528\n二手挖掘机|0x100000|486\n二手物品|0x100000|471\n二手烟|0x400000|51359\n二手仪器|0x100000|415\n二竖为虐|0x1400000|0\n二羧基纤维素|0x400000|0\n二羧酸|0x400000|0\n二态二氢|0x400000|0\n二肽酶|0x500000|0\n二碳化钙|0x400000|0\n二堂姊夫|0x400000|0\n二桃杀三士|0x400008|0\n二踢脚|0x500000|44662\n二体问题|0x400000|0\n二天晒网|0x400000|0\n二童一马|0x1400000|0\n二头肌|0x400000|442\n二烷基甘氨酸|0x400000|0\n二万五千里长征|0x400008|3\n二维地震|0x400000|1\n二维电泳|0x400000|0\n二维两相渗流|0x400000|0\n二维码|0x100000|390\n二维制图系统|0x400000|0\n二五眼|0xc00000|49419\n二五一十|0x400000|0\n二五仔|0x400008|0\n二向色性|0x400008|0\n二项分布|0x400008|0\n二项式|0x500000|0\n二象性|0x400000|0\n二硝基苯|0x400000|0\n二硝基苯酚|0x400008|0\n二硝基氟苯|0x400000|0\n二心两意|0x1400000|0\n二心三意|0x400000|100\n二姓为好|0x400000|0\n二姓之好|0xc00000|0\n二氧化氮|0x400008|7\n二氧化硅|0x400000|918\n二氧化硅乳胶抛光|0x400000|0\n二氧化硫|0x4400000|12616\n二氧化锰|0x400000|402\n二氧化铅|0x400008|0\n二氧化三碳|0x400000|0\n二氧化碳|0x4400000|7939\n二氧化碳灭火器|0x400008|0\n二氧化碳驱|0x400000|0\n二氧化物|0x500000|1\n二氧化矽|0x400000|0\n二一添作五|0x400008|52212\n二医大|0x400008|2\n二乙胺基|0x400000|1382\n二乙二醇|0x400000|1\n二乙基焦碳酸乙酯|0x400000|0\n二乙烯苯|0x400000|0\n二异丙基氟磷酸|0x400000|0\n二意性|0x500000|0\n二元方程式|0x400000|0\n二元关系|0x400000|0\n二元论|0x500000|42173\n二元酸|0x400000|1211\n二月份|0x4000|100\n二月河|0x100000|419\n二则二|0x400000|0\n二战名将|0x100000|398\n二战时期|0x100000|466\n二者必居其一|0x400000|0\n二者不可得兼|0x400000|1128\n二者不可兼得|0x400000|1\n二者之间|0x400000|3\n二值时间序列|0x400000|0\n二中全会|0x400008|0\n二重唱|0x500000|39267\n二重点|0x400000|0\n二重根|0x500000|0\n二重积分|0x400000|0\n二重级数|0x400000|0\n二重接|0x400000|0\n二重人格|0x400000|0\n二重性|0x500000|37161\n二重奏|0x500000|52211\n二子二女|0x400000|0\n二子一女|0x400000|2\n发案率|0x100000|1051\n发包方|0x100000|1072\n发包人|0x100000|42174\n发报机|0x0008|45251\n发表会|0x100000|848\n发表文章|0x0000|689\n发表意见|0x100000|719\n发病率|0x100000|12271\n发布会|0x100000|5314\n发布者|0x100000|571\n发财致富|0x800000|948\n发策决科|0x800000|100\n发达地区|0x0000|577\n发达国家|0x100000|2782\n发大财|0x1000|780\n发大水|0x0000|37343\n发电报|0x0000|420\n发电厂|0x100000|730\n发电机|0x100000|13699\n发电量|0x100000|885\n发电站|0x100000|26383\n发动机|0x100000|5613\n发动机舱|0x0008|0\n发动机短舱|0x0008|0\n发动机盖|0x100000|1014\n发动机配件|0x100000|399\n发端词|0x100000|0\n发短心长|0x800000|100\n发凡起例|0x800000|1310\n发奋图强|0x1000000|882\n发愤图强|0x1000000|42675\n发愤忘食|0x800000|1178\n发高烧|0x1000|828\n发光度|0x100000|1294\n发光二极管|0x400000|785\n发光强度|0x0008|0\n发光体|0x0008|869\n发汗剂|0x0008|1534\n发汗药|0x0008|1274\n发号施令|0x1000000|23532\n发横财|0x1000|43157\n发话器|0x100000|1492\n发挥作用|0x0000|627\n发昏章第十一|0x400000|100\n发火点|0x100000|1179\n发货票|0x100000|55202\n发家致富|0x800000|24755\n发奸擿伏|0x800000|100\n发件人|0x100000|856\n发酵粉|0x100000|55203\n发酵剂|0x100000|1041\n发酵饲料|0x0008|0\n发酒疯|0x1000|43158\n发刊词|0x100000|39686\n发科打诨|0x0000|100\n发廊妹|0x100000|415\n发廊女|0x100000|420\n发牢骚|0x1000|682\n发令枪|0x100000|39493\n发聋振聩|0x1000000|1305\n发蒙解缚|0x0000|100\n发蒙解惑|0x0000|100\n发蒙振聩|0x800000|100\n发蒙振落|0x1000000|100\n发明创造|0x0000|530\n发明家|0x100000|25752\n发明奖|0x100000|949\n发明权|0x100000|45252\n发明人|0x100000|846\n发明者|0x100000|854\n发明专利|0x0000|575\n发怒冲冠|0x1000000|100\n发怒穿冠|0x0000|100\n发疟子|0x0000|53710\n发泡剂|0x0008|1504\n发脾气|0x1000|13775\n发起人|0x100000|742\n发起者|0x100000|841\n发情期|0x100000|934\n发情周期|0x0008|0\n发球员|0x100000|1219\n发热量|0x100000|856\n发人深省|0x1000000|22487\n发人深思|0x800000|23990\n发散透镜|0x100000|1213\n发上冲冠|0x1000000|100\n发上指冠|0x1000000|100\n发烧音响|0x100000|941\n发烧友|0x100000|37519\n发射场|0x100000|21348\n发射成功|0x0000|496\n发射点|0x100000|1014\n发射光谱|0x100000|963\n发射光谱分析|0x0008|0\n发射机|0x100000|893\n发射极|0x100000|1135\n发射架|0x100000|984\n发射器|0x100000|818\n发射塔|0x0000|38452\n发射台|0x100000|36981\n发神经|0x1000|45255\n发生爆炸|0x0000|588\n发生冲突|0x0000|589\n发生关系|0x0000|553\n发生炉煤气|0x100000|1033\n发生率|0x100000|815\n发生期预测|0x0008|0\n发生器|0x100000|716\n发生心理学|0x0008|0\n发生意外|0x0000|564\n发声法|0x0008|0\n发声器|0x100000|1128\n发售日期|0x100000|466\n发送机|0x100000|1147\n发棠之请|0x0000|100\n发条橙|0x100000|407\n发秃齿豁|0x0000|100\n发问者|0x0000|399\n发屋求狸|0x0000|100\n发现者|0x100000|897\n发宪布令|0x0000|100\n发祥地|0x100000|18581\n发信号|0x0000|429\n发信人|0x0000|635\n发行量|0x100000|768\n发行人|0x100000|881\n发行者|0x100000|1040\n发型设计|0x100000|470\n发硎新试|0x0000|100\n发芽率|0x100000|1088\n发芽势|0x100000|1361\n发芽试验|0x0008|0\n发言稿|0x100000|862\n发言权|0x100000|14307\n发言人|0x100000|3241\n发言盈庭|0x1000|100\n发言者|0x100000|925\n发扬踔厉|0x1000000|1533\n发扬蹈厉|0x1000000|1348\n发扬光大|0x1000000|12617\n发洋财|0x1000|49420\n发一分光|0x400000|0\n发音器官|0x0008|0\n发引千钧|0x800000|100\n发隐擿伏|0x0000|100\n发踊冲冠|0x1000000|100\n发语词|0x100000|1151\n发育不全|0x0000|457\n发育调节|0x0008|0\n发育期|0x100000|912\n发育遗传学|0x0008|0\n发源地|0x100000|15346\n发展不平衡|0x0000|504\n发展部|0x100000|848\n发展党员|0x100000|912\n发展到|0x0000|699\n发展方向|0x100000|635\n发展观|0x100000|654\n发展规划|0x0008|662\n发展规律|0x0000|552\n发展过程|0x0000|623\n发展计划|0x100000|767\n发展计划委员会|0x0000|488\n发展阶段|0x0000|613\n发展经济|0x100000|688\n发展局|0x100000|839\n发展期|0x100000|829\n发展前景|0x100000|680\n发展前途|0x100000|840\n发展潜力|0x0000|603\n发展区|0x100000|968\n发展趋势|0x0000|688\n发展商|0x100000|811\n发展史|0x100000|700\n发展速度|0x0008|601\n发展下去|0x0000|554\n发展心理学|0x0008|998\n发展性|0x100000|906\n发展研究中心|0x0000|571\n发展有限公司|0x0000|758\n发展战略|0x100000|622\n发展中国家|0x0008|2665\n发政施仁|0x0000|100\n发植穿冠|0x0000|100\n发指眦裂|0x1000000|1354\n发自肺腑|0x0000|31840\n发综指示|0x100000|100\n发踪指使|0x0000|100\n发踪指示|0x100000|1534\n发纵指使|0x0000|100\n发纵指示|0x1000000|1507\n乏善可陈|0x800000|847\n伐冰之家|0x1000000|1348\n伐功矜能|0x1000000|100\n伐毛换髓|0x1000000|100\n伐毛洗髓|0x1000000|1205\n伐木者|0x100000|1181\n伐性之斧|0x1000000|100\n伐异党同|0x1000000|100\n伐罪吊民|0x1000000|100\n伐罪吊人|0x1000000|100\n罚不当罪|0x1000000|1301\n罚不责众|0x0000|100\n罚款单|0x100000|1059\n罚没款|0x100000|34769\n罚球区|0x0008|1171\n罚球线|0x100000|964\n罚一劝百|0x401000|0\n阀门厂|0x100000|485\n阀门有限公司|0x100000|514\n法不阿贵|0x1000|1327\n法不传六耳|0x400008|0\n法不徇情|0x0000|100\n法不责众|0x800000|54766\n法草案|0x100000|504\n法出多门|0x1000000|1393\n法出一门|0x1400000|0\n法定程序|0x0000|540\n法定代表|0x0000|395\n法定代表人|0x100000|748\n法定代理|0x0008|0\n法定代理人|0x0000|482\n法定公积金|0x0000|416\n法定继承人|0x0000|415\n法定节假日|0x100000|459\n法定人数|0x800000|1072\n法定条件|0x0000|470\n法工委|0x100000|958\n法官法|0x100000|411\n法国巴黎|0x0000|555\n法国电影|0x100000|486\n法国法郎|0x100000|1168\n法国号|0x100000|1079\n法国旅游|0x100000|373\n法国葡萄酒|0x100000|397\n法国人|0x100000|684\n法国史|0x100000|1173\n法国梧桐|0x100000|881\n法海无边|0x0000|100\n法灸神针|0x1000000|100\n法库县|0x0040|1610\n法拉第|0x0080|1574\n法拉第旋转|0x0008|0\n法拉利|0x0008|1099\n法拉美穗|0x0080|0\n法兰克|0x0080|1387\n法兰克福|0x0040|1182\n法兰盘|0x100000|1004\n法兰绒|0x100000|48692\n法兰西|0x0040|1176\n法兰西共和国|0x0040|1509\n法朗西一世|0x400080|0\n法理学|0x100000|854\n法力无边|0x1000000|947\n法律保护|0x0008|577\n法律常识|0x100000|781\n法律出版社|0x100000|498\n法律地位|0x100000|510\n法律法规|0x100000|504\n法律服务|0x0008|703\n法律顾问|0x100000|552\n法律关系|0x0008|4\n法律规定|0x0000|654\n法律合同|0x100000|369\n法律监督|0x0008|37\n法律界|0x100000|888\n法律纠纷|0x100000|575\n法律论文|0x100000|473\n法律若干问题|0x100000|501\n法律上|0x0000|605\n法律事务|0x0000|514\n法律事务所|0x0000|462\n法律硕士|0x100000|539\n法律体系|0x0000|533\n法律条文|0x100000|859\n法律图书|0x100000|407\n法律委员会|0x0020|1262\n法律文书|0x100000|692\n法律问题|0x100000|647\n法律系|0x100000|842\n法律效力|0x0000|573\n法律行动|0x100000|431\n法律行为|0x0008|2\n法律性|0x100000|1060\n法律宣传|0x100000|1053\n法律学|0x100000|1027\n法律学系|0x100000|1161\n法律依据|0x0000|592\n法律意识|0x0000|535\n法律援助|0x100000|769\n法律责任|0x100000|496\n法律知识|0x100000|775\n法律制裁|0x0008|477\n法律制度|0x0000|590\n法律咨询|0x100000|676\n法轮常转|0x1000000|1293\n法轮功|0x100000|1046\n法罗群岛|0x0040|1056\n法脉准绳|0x1000000|100\n法门寺|0x100000|460\n法莫替丁|0x0008|1148\n法人代表|0x100000|498\n法人股|0x100000|610\n法人资格|0x0000|562\n法师村|0x0040|0\n法外施仁|0x1000|1291\n法网恢恢|0x800000|1070\n法无二门|0x1400000|0\n法无可贷|0x1000000|100\n法务部|0x0008|1581\n法西斯|0x100000|8294\n法西斯主义|0x100000|35492\n法向加速度|0x100000|1402\n法向应力|0x0008|0\n法新社|0x0020|1342\n法学博士|0x100000|942\n法学家|0x100000|875\n法学硕士|0x100000|463\n法学院|0x100000|743\n法学专业|0x100000|486\n法医鉴定|0x0000|459\n法医学|0x100000|967\n法语系|0x100000|1049\n法院系统|0x100000|453\n法院院长|0x100000|471\n法制报|0x100000|477\n法制观念|0x100000|927\n法制化|0x100000|852\n法制环境|0x0000|470\n法制建设|0x0008|573\n法制教育|0x0008|845\n法制科|0x100000|1105\n法制日报|0x0008|1366\n法制史|0x100000|483\n法制晚报|0x100000|471\n法制心理学|0x0008|0\n法制宣传|0x0008|852\n法属圭亚那|0x0040|1103\n珐琅质|0x100000|1118\n帆布包|0x0008|47345\n帆布床|0x100000|1312\n帆布鞋|0x0000|438\n番红花|0x0008|387\n番窠倒臼|0x0000|100\n番来覆去|0x0000|100\n番荔枝|0x0008|1178\n番木瓜|0x0008|1069\n番茄花园|0x100000|509\n番茄酱|0x100000|839\n番石榴|0x100000|955\n番泻叶|0x0008|383\n幡然改途|0x0000|100\n幡然悔悟|0x800000|46164\n幡然醒悟|0x800000|915\n翻白眼|0x1000|33100\n翻本儿|0x0000|45256\n翻肠倒肚|0x1000|0\n翻肠搅肚|0x0000|100\n翻车鱼|0x100000|1174\n翻唇弄舌|0x1000|0\n翻斗车|0x100000|50156\n翻翻看|0x100000|1001\n翻复无常|0x40000000|100\n翻个儿|0x1000|34300\n翻跟斗|0x1000|0\n翻跟头|0x800000|41918\n翻过来|0x0000|537\n翻黄倒皁|0x1000000|100\n翻黄倒皂|0x0000|100\n翻江倒海|0x1000000|38665\n翻江搅海|0x0000|100\n翻筋斗|0x0000|423\n翻旧账|0x1000|55206\n翻空出奇|0x1000000|100\n翻来复去|0x1000000|976\n翻来覆去|0x1000000|20119\n翻老账|0x1000|0\n翻脸不认人|0x0008|927\n翻两番|0x800000|983\n翻了一番|0x400000|496\n翻然改进|0x1000000|100\n翻然改图|0x1000000|100\n翻然悔悟|0x1000000|1113\n翻山越岭|0x1000000|22870\n翻身仗|0x0000|36797\n翻手为云|0x800000|977\n翻手云覆手雨|0x0008|1310\n翻天复地|0x1000000|1119\n翻天覆地|0x1000000|13898\n翻天作地|0x0000|100\n翻箱倒柜|0x1000000|33383\n翻箱倒笼|0x800000|0\n翻译机|0x100000|1025\n翻译家|0x100000|906\n翻译器|0x100000|1025\n翻译员|0x100000|1013\n翻译者|0x100000|960\n翻云覆雨|0x1000000|45552\n藩镇割据|0x0008|0\n凡百一新|0x400000|0\n凡才浅识|0x1000000|100\n凡此种种|0x0000|475\n凡尔丁|0x0000|54228\n凡尔赛|0x0040|1400\n凡夫肉眼|0x100000|1364\n凡夫俗子|0x1000000|36280\n凡偶近器|0x1000000|100\n凡士林|0x100000|49421\n凡事预则立|0x0008|1027\n凡胎肉眼|0x1000000|100\n凡胎浊骨|0x1000000|100\n凡胎浊体|0x1000000|100\n凡桃俗李|0x0000|100\n钒酸盐|0x100000|0\n烦琐哲学|0x800000|52695\n烦文缛礼|0x1000000|100\n烦言碎辞|0x100000|100\n烦躁不安|0x0000|506\n蕃茄酱|0x100000|1028\n燔书阬儒|0x1000000|100\n燔书坑儒|0x0000|100\n繁昌县|0x0040|1438\n繁分数|0x0008|1306\n繁花似锦|0x1000000|32501\n繁华损枝|0x0000|100\n繁荣昌盛|0x40000000|14875\n繁荣富强|0x40000000|950\n繁荣兴旺|0x800000|1069\n繁体版|0x100000|615\n繁体中文|0x0000|684\n繁体中文版|0x0000|594\n繁体字|0x100000|33384\n繁文末节|0x0000|100\n繁文缛节|0x1000000|42679\n繁文缛礼|0x100000|1406\n繁弦急管|0x100000|100\n繁刑重赋|0x0000|100\n繁征博引|0x1000000|100\n繁枝细节|0x0000|100\n繁殖力|0x0008|1024\n繁殖率|0x0008|1122\n繁殖系数|0x100000|1066\n反败为胜|0x1000|27693\n反比例|0x100000|53218\n反编译|0x0000|510\n反病毒软件|0x0000|531\n反驳者|0x100000|1283\n反哺之情|0x100000|100\n反哺之私|0x0000|100\n反不正当竞争法|0x0008|4\n反常散射|0x0008|0\n反常吸收|0x0008|0\n反潮流|0x1000|1050\n反冲力|0x100000|1184\n反刍动物|0x0008|1124\n反唇相讥|0x1000000|31278\n反唇相稽|0x1000000|1252\n反动派|0x100000|9205\n反对党|0x100000|10995\n反对派|0x100000|871\n反对票|0x100000|936\n反对者|0x100000|839\n反法西斯|0x0000|563\n反反复复|0x0100|664\n反风灭火|0x1000000|100\n反腐败|0x1000|774\n反腐倡廉|0x800000|6203\n反复推敲|0x800000|987\n反复无常|0x1000000|30912\n反覆无常|0x1000000|1062\n反戈相向|0x0000|100\n反戈一击|0x1400000|38666\n反革命|0x100000|6417\n反革命暴乱|0x0008|0\n反革命分子|0x0000|423\n反革命集团|0x0008|426\n反攻倒算|0x1000000|49422\n反躬自省|0x1000|850\n反躬自问|0x1000000|45553\n反躬自责|0x1000000|100\n反光灯|0x100000|1232\n反光镜|0x100000|36982\n反过来|0x8000000|617\n反过来说|0x10000000|820\n反函数|0x100000|1057\n反击战|0x100000|46165\n反间谍|0x1000|515\n反间计|0x100000|39072\n反间之计|0x0000|100\n反骄破满|0x1000000|1411\n反经合道|0x1000000|100\n反经合义|0x1000000|100\n反经行权|0x1000|100\n反抗者|0x0000|419\n反客为主|0x1000000|40998\n反恐精英|0x0008|718\n反劳为逸|0x0000|100\n反老还童|0x1000000|100\n反粒子|0x0008|1\n反脸无情|0x0000|100\n反垄断法|0x100000|500\n反面教材|0x100000|880\n反面教员|0x100000|1214\n反面人物|0x800000|982\n反面文章|0x100000|100\n反面无情|0x1000000|100\n反目成仇|0x1000|46166\n反目为仇|0x800000|1126\n反璞归真|0x1000|998\n反朴归真|0x0000|100\n反朴还淳|0x1000000|1510\n反其道而行之|0x0008|33102\n反气旋|0x0008|1248\n反潜机|0x100000|1071\n反侵略|0x0000|434\n反侵略战争|0x0008|368\n反倾销|0x1000|6643\n反求诸己|0x1000000|54233\n反裘负刍|0x1000000|100\n反裘负薪|0x1000000|100\n反裘伤皮|0x1000000|100\n反射层|0x100000|1177\n反射定律|0x0008|931\n反射光|0x100000|446\n反射光栅|0x0008|0\n反射弧|0x0008|1102\n反射角|0x100000|1268\n反射炉|0x0008|1208\n反射率|0x0008|1023\n反射线|0x100000|1407\n反身自问|0x1000000|100\n反渗透|0x100000|775\n反手可得|0x1000000|100\n反水不收|0x1000000|100\n反贪局|0x100000|948\n反坦克|0x0000|517\n反坦克炮|0x100000|49778\n反听内视|0x0000|100\n反听收视|0x0000|100\n反町隆史|0x0080|1000\n反物质|0x100000|979\n反向二极管|0x400008|0\n反循环打捞篮|0x0008|0\n反眼不识|0x800000|100\n反咬一口|0x1400000|45554\n反义词|0x100000|41225\n反应堆|0x100000|15528\n反应炉|0x0008|1050\n反应器|0x100000|884\n反应热|0x0008|0\n反应时间|0x0008|24\n反应式|0x100000|1088\n反应速度|0x0008|531\n反应物|0x100000|1105\n反映论|0x100000|1156\n反右派斗争|0x0008|1135\n反照率|0x0008|0\n反褶积|0x100000|1403\n反正拨乱|0x1000000|100\n反正还淳|0x1000000|100\n反证法|0x100000|1096\n反政府武装|0x0000|496\n反之亦然|0x800000|37878\n反治其身|0x0000|100\n反质子|0x100000|1225\n反中子|0x100000|1320\n反转片|0x100000|1001\n反作用|0x100000|22927\n反作用力|0x100000|942\n返本朝元|0x1000000|100\n返本还元|0x1000000|1325\n返本还原|0x1000000|1260\n返本还源|0x1000000|1341\n返波管|0x100000|0\n返哺之恩|0x100000|100\n返观内视|0x1000000|100\n返观内照|0x1000000|1381\n返回舱|0x100000|498\n返来复去|0x1000000|100\n返老归童|0x1000000|100\n返老还童|0x1000000|34463\n返辔收帆|0x1000000|100\n返璞归真|0x1000000|42178\n返朴归真|0x1000000|900\n返朴还淳|0x1000000|100\n返朴还真|0x1000000|100\n返视内照|0x1000000|100\n返我初服|0x1000|100\n返销粮|0x100000|50161\n返邪归正|0x1000000|100\n返修率|0x100000|447\n返虚入浑|0x1000000|100\n返照回光|0x1000000|1429\n返祖现象|0x100000|1090\n犯不上|0x1000|28455\n犯不着|0x1000|22097\n犯错误|0x1000|577\n犯得上|0x1000|54234\n犯得着|0x1000|45260\n犯嘀咕|0x800000|36983\n犯而不校|0x1000000|1271\n犯而勿校|0x1000000|100\n犯规者|0x100000|1210\n犯节气|0x1000|0\n犯上作乱|0x1000000|48695\n犯言直谏|0x0000|100\n犯颜极谏|0x0000|100\n犯颜苦谏|0x0000|100\n犯颜直谏|0x800000|1175\n犯罪案件|0x0000|537\n犯罪分子|0x100000|792\n犯罪活动|0x0000|572\n犯罪集团|0x0008|30\n犯罪率|0x100000|899\n犯罪嫌疑人|0x100000|5447\n犯罪现场|0x0000|504\n犯罪心理学|0x0008|4\n犯罪行为|0x100000|581\n犯罪预防|0x100000|906\n犯罪者|0x100000|978\n泛泛而谈|0x1000|51790\n泛泛之交|0x100000|1027\n泛泛之人|0x0000|100\n泛泛之谈|0x0000|100\n泛光照明|0x0008|0\n泛浩摩苍|0x1000000|100\n泛滥成灾|0x1000000|843\n泛滥平原|0x0008|0\n泛灵论|0x0008|0\n泛美主义|0x0008|1496\n泛萍浮梗|0x1000000|100\n泛神论|0x100000|1127\n泛应曲当|0x1000000|100\n泛宅浮家|0x1000000|100\n饭岛直子|0x0080|0\n饭坑酒囊|0x100000|100\n饭来开口|0x1000000|100\n饭来张口|0x1000000|872\n饭粝茹蔬|0x1000000|100\n饭囊酒瓮|0x0000|100\n饭囊酒甕|0x1000000|100\n饭囊衣架|0x1000000|100\n饭牛屠狗|0x1000000|100\n饭糗茹草|0x1000000|100\n饭蔬饮水|0x1000000|100\n范德林特|0x0080|0\n范水模山|0x0000|100\n范围内|0x100000|821\n范张鸡黍|0x0000|100\n贩毒案|0x100000|1031\n贩夫贩妇|0x100000|1492\n贩夫俗子|0x0000|100\n贩夫皁隶|0x1000000|100\n贩夫皂隶|0x0000|100\n贩夫驺卒|0x1000000|100\n贩夫走卒|0x1000000|1000\n贩官鬻爵|0x1000000|100\n贩贱卖贵|0x1000000|100\n贩交买名|0x1000000|100\n贩卖毒品|0x0008|32\n梵册贝叶|0x1000000|100\n梵谛冈|0x0080|1206\n梵蒂冈|0x0040|1368\n梵思诺|0x0008|0\n梵哑铃|0x0008|0\n方案设计|0x100000|734\n方便快捷|0x800000|701\n方便面|0x100000|15070\n方便性|0x100000|874\n方便之门|0x100000|925\n方波极谱法|0x0008|0\n方骖并路|0x1000000|100\n方差分析|0x0008|0\n方城县|0x0040|1605\n方程式|0x100000|726\n方程式赛车|0x100000|928\n方程组|0x100000|939\n方寸不乱|0x0000|100\n方寸万重|0x0000|100\n方寸已乱|0x1000000|1225\n方寸之地|0x1000000|1007\n方底圆盖|0x0000|100\n方法论|0x100000|9178\n方方面面|0x100000|8265\n方方正正|0x0100|890\n方格纸|0x100000|1159\n方格子|0x100000|1039\n方剂学|0x0008|1017\n方尖碑|0x100000|1066\n方解石|0x100000|948\n方巾气|0x100000|1378\n方块酥|0x0008|0\n方块图|0x0008|1241\n方块字|0x100000|35809\n方框图|0x100000|1106\n方括号|0x100000|1001\n方来未艾|0x1000000|100\n方领矩步|0x1000000|100\n方领圆冠|0x1000000|100\n方面大耳|0x0000|100\n方面军|0x100000|9434\n方铅矿|0x100000|1310\n方枘圆凿|0x1000000|0\n方枘圜凿|0x1000000|100\n方山县|0x0040|1089\n方桃譬李|0x1000000|100\n方头不劣|0x1000000|100\n方头不律|0x1000000|100\n方外之人|0x100000|1196\n方位词|0x100000|1213\n方位角|0x0008|1085\n方位投影|0x0008|0\n方向舵|0x100000|53220\n方向感|0x100000|792\n方向键|0x0000|611\n方向滤波器|0x0008|0\n方向盘|0x100000|20159\n方向性|0x100000|27604\n方兴未艾|0x1000000|16181\n方兴未已|0x1000000|100\n方言矩行|0x1000000|100\n方言土语|0x1000000|1065\n方以类聚|0x1000000|1260\n方员可施|0x1000000|100\n方圆十里|0x400000|0\n方凿圆枘|0x1000000|100\n方针政策|0x100000|800\n方正不阿|0x0000|100\n方正电脑|0x100000|674\n方正县|0x0040|1045\n方趾圆颅|0x1000000|100\n方舟子|0x100000|481\n方滋未艾|0x1000000|100\n方足圆颅|0x0000|100\n芳基化|0x100000|0\n芳兰竟体|0x100000|1493\n芳年华月|0x0000|100\n芳烃抽提|0x0008|0\n芳香化湿|0x0008|0\n芳香剂|0x100000|988\n芳香烃|0x0000|395\n芳香性|0x100000|0\n芳香油|0x0008|0\n芳香族|0x100000|1068\n防暴队|0x100000|1054\n防暴警察|0x0000|40343\n防爆灯|0x100000|371\n防爆电器|0x100000|434\n防爆膜|0x100000|463\n防爆网|0x100000|368\n防波堤|0x100000|45261\n防不及防|0x0000|100\n防不胜防|0x1000000|22534\n防潮垫|0x100000|459\n防潮箱|0x100000|414\n防尘盖|0x100000|386\n防尘套|0x100000|393\n防城港|0x0040|1307\n防城港市|0x0040|1397\n防臭剂|0x100000|0\n防弹背心|0x100000|1023\n防弹玻璃|0x0008|878\n防弹车|0x100000|400\n防弹武僧|0x100000|1134\n防弹衣|0x100000|43163\n防盗门|0x100000|33104\n防盗器|0x100000|755\n防盗锁|0x0008|51362\n防盗网|0x100000|889\n防冻剂|0x0008|1072\n防冻液|0x100000|910\n防毒面具|0x4000000|40999\n防毒软件|0x0000|510\n防范措施|0x0008|551\n防风林|0x100000|43164\n防辐射|0x40000000|571\n防辐射服|0x100000|432\n防辐射衣服|0x100000|370\n防腐材料|0x100000|400\n防腐工程|0x100000|442\n防腐剂|0x100000|31502\n防腐漆|0x100000|386\n防腐设备|0x100000|411\n防腐涂料|0x100000|462\n防寒服|0x100000|40344\n防洪措施|0x100000|925\n防洪堤|0x100000|38868\n防洪工程|0x100000|992\n防护堤|0x100000|54236\n防护服|0x0008|862\n防护林|0x100000|9378\n防护林带|0x100000|1180\n防护门|0x0040|1063\n防护团|0x100000|0\n防护眼镜|0x100000|420\n防护用品|0x100000|798\n防护罩|0x100000|48697\n防滑链|0x100000|52698\n防滑装置|0x0008|0\n防化兵|0x100000|46731\n防化服|0x0000|52699\n防患未萌|0x1000000|100\n防患未然|0x1000000|45262\n防患于未然|0x0008|847\n防火板|0x100000|900\n防火布|0x0008|0\n防火门|0x100000|873\n防火墙|0x100000|25074\n防祸于未然|0x0008|1533\n防焦剂|0x0008|1227\n防空兵|0x100000|1157\n防空洞|0x100000|23794\n防空壕|0x100000|46732\n防老剂|0x0008|1605\n防雷设计|0x100000|369\n防萌杜渐|0x1000000|100\n防民之口|0x1000000|1083\n防喷器组|0x100000|0\n防染印花|0x0008|0\n防沙林|0x100000|53221\n防晒油|0x0008|1550\n防身术|0x100000|979\n防渗墙|0x100000|1126\n防蚀剂|0x100000|1422\n防守战|0x100000|1120\n防暑降温|0x800000|965\n防水表|0x100000|1131\n防水布|0x100000|1039\n防水材料|0x0008|746\n防水层|0x100000|50945\n防水工程|0x100000|483\n防水剂|0x100000|449\n防水砂浆|0x0008|0\n防水涂料|0x100000|489\n防水纸|0x100000|1199\n防微杜渐|0x1000000|25959\n防微杜衅|0x0000|100\n防微虑远|0x0000|100\n防卫过当|0x1000|53714\n防卫厅|0x100000|1509\n防雾剂|0x100000|0\n防心摄行|0x1000000|100\n防锈剂|0x0008|1469\n防锈漆|0x0000|423\n防锈添加剂|0x0008|0\n防锈油|0x0008|969\n防芽遏萌|0x0000|100\n防疫站|0x100000|26323\n防疫针|0x100000|46733\n防意如城|0x1000000|1239\n防雨布|0x100000|1136\n防雨罩|0x100000|379\n防御反应|0x0008|0\n防御工事|0x100000|962\n防御力|0x0000|612\n防御性|0x100000|911\n防御战|0x100000|973\n防御者|0x100000|402\n防原子|0x0008|0\n防震措施|0x100000|1025\n妨功害能|0x1000|100\n房产公司|0x100000|516\n房产交易|0x100000|517\n房产纠纷|0x100000|392\n房产局|0x100000|485\n房产科|0x100000|0\n房产频道|0x100000|542\n房产税|0x0000|518\n房产信息|0x100000|575\n房产证|0x100000|779\n房产资讯|0x100000|480\n房地产|0x100000|4758\n房地产贷款|0x100000|478\n房地产法|0x100000|402\n房地产公司|0x0000|586\n房地产股|0x100000|428\n房地产管理法|0x100000|458\n房地产价格|0x100000|567\n房地产交易|0x100000|549\n房地产交易中心|0x100000|453\n房地产金融|0x100000|494\n房地产经纪|0x100000|574\n房地产经纪人|0x100000|497\n房地产经纪有限公司|0x100000|485\n房地产开发|0x0000|721\n房地产门户|0x100000|573\n房地产企业|0x100000|601\n房地产市场|0x100000|697\n房地产项目|0x100000|555\n房地产信息网|0x100000|537\n房地产行业|0x100000|585\n房地产业|0x100000|641\n房地产中介|0x100000|546\n房地局|0x100000|942\n房管局|0x100000|1299\n房管科|0x100000|1136\n房管所|0x100000|44117\n房间内|0x100000|593\n房谋杜断|0x1000000|100\n房山区|0x0040|1338\n房室传导阻滞|0x0008|0\n房屋产权|0x100000|508\n房屋出租|0x100000|649\n房屋贷款|0x100000|436\n房屋建筑|0x100000|564\n房屋交易|0x100000|475\n房屋结构|0x100000|509\n房屋买卖|0x100000|520\n房屋设计|0x100000|393\n房屋信息|0x100000|497\n房屋中介|0x100000|503\n房展会|0x100000|519\n房租费|0x100000|1024\n鲂鱼赪尾|0x1000000|100\n仿徨失措|0x0000|100\n仿生学|0x100000|49781\n仿宋体|0x100000|53222\n仿真技术|0x100000|951\n仿真器|0x100000|892\n仿真枪|0x100000|437\n仿真线|0x0008|0\n仿真植物|0x100000|382\n仿制品|0x100000|922\n访华团|0x100000|1033\n访贫问苦|0x1000000|28094\n访亲问友|0x1000000|100\n访谈实录|0x100000|451\n访问记|0x100000|1112\n访问量|0x100000|497\n访问团|0x100000|932\n访问学者|0x0000|29516\n访问者|0x100000|642\n纺锤体|0x0008|0\n纺锤形|0x100000|1099\n纺机配件|0x100000|368\n纺纱厂|0x100000|1029\n纺纱机|0x100000|1069\n纺织部|0x100000|1110\n纺织厂|0x100000|763\n纺织工业|0x100000|793\n纺织公司|0x0000|432\n纺织机|0x100000|1000\n纺织机械|0x100000|700\n纺织娘|0x100000|47978\n纺织品|0x100000|6897\n纺织品出口|0x100000|560\n纺织品配额|0x100000|490\n纺织品有限公司|0x100000|513\n纺织器材|0x100000|398\n纺织设备|0x100000|433\n纺织业|0x100000|787\n纺织印染|0x0008|746\n放暗箭|0x1000|52217\n放辟邪侈|0x1000000|1378\n放辟淫侈|0x1000000|100\n放鞭炮|0x0000|524\n放长线|0x800000|957\n放长线钓大鱼|0x0008|1005\n放达不羁|0x1000000|100\n放大镜|0x100000|22871\n放大率|0x0000|410\n放大炮|0x0000|53223\n放大器|0x100000|37344\n放大纸|0x100000|1368\n放诞不羁|0x1000000|100\n放诞不拘|0x1000000|100\n放诞风流|0x1000000|100\n放荡不羁|0x1000000|43874\n放荡形骸|0x1000000|1194\n放电影|0x1000|852\n放刁把滥|0x1000000|100\n放刁撒泼|0x1000000|100\n放饭流歠|0x1000000|100\n放风筝|0x100000|728\n放高利贷|0x1000|2\n放歌纵酒|0x0000|100\n放虎归山|0x1000000|47047\n放虎遗患|0x1000000|100\n放虎自卫|0x1000000|100\n放火烧山|0x1000000|1081\n放开手脚|0x0000|33752\n放空炮|0x800000|49782\n放空气|0x1000|1305\n放浪不羁|0x1000000|1086\n放浪不拘|0x1000000|100\n放浪无羁|0x0000|100\n放浪无拘|0x1000000|100\n放浪形骸|0x1000000|42181\n放冷风|0x1000|1542\n放冷箭|0x1000|49783\n放龙入海|0x1000000|100\n放马过来|0x0008|0\n放马后炮|0x1000|1122\n放马华阳|0x1000000|100\n放牧地|0x0008|0\n放牧区|0x0008|0\n放牛归马|0x1000000|100\n放牛郎|0x100000|1100\n放牛娃|0x100000|38870\n放屁添风|0x1000000|100\n放僻邪侈|0x1000000|100\n放僻淫佚|0x1000000|100\n放泼撒豪|0x1000000|100\n放情丘壑|0x1000000|100\n放热反应|0x800000|1112\n放任自流|0x1000000|25619\n放射病|0x100000|55214\n放射科|0x100000|916\n放射疗法|0x0008|0\n放射免疫分析|0x0008|0\n放射生物学|0x0008|0\n放射线|0x100000|33386\n放射线状|0x100000|0\n放射形|0x100000|1167\n放射性|0x100000|9665\n放射性同位素|0x0000|430\n放射性元素|0x100000|932\n放射学|0x0000|427\n放射源|0x0008|33105\n放手一搏|0x400000|829\n放卫星|0x800000|1060\n放下屠刀|0x1000|935\n放线菌|0x100000|1094\n放线菌素|0x100000|1252\n放像机|0x100000|51792\n放心不下|0x0000|537\n放心解体|0x1000000|100\n放心托胆|0x1000000|100\n放言高论|0x1000000|1319\n放言遣辞|0x0000|100\n放眼看去|0x800000|1005\n放眼世界|0x1000000|897\n放养密度|0x0008|0\n放意肆志|0x1000000|100\n放鹰逐犬|0x1000000|100\n放映机|0x100000|39497\n放映室|0x100000|959\n放映厅|0x100000|945\n放鱼入海|0x1000000|100\n放在第一位|0x400000|534\n放在心上|0x0000|617\n放在眼里|0x800000|724\n放之四海而皆准|0x400008|0\n放诸四海而皆准|0x400008|0\n放纵不羁|0x1000000|1155\n放纵不拘|0x1000000|100\n放纵驰荡|0x0000|100\n飞苍走黄|0x1000000|100\n飞车走壁|0x100000|1379\n飞刍挽粒|0x0000|100\n飞刍挽粮|0x0000|100\n飞刍挽粟|0x1000000|100\n飞刍转饷|0x1000000|100\n飞短流长|0x1000000|48700\n飞遁离俗|0x0000|100\n飞遁鸣高|0x1000000|100\n飞蛾赴火|0x1000000|100\n飞蛾赴焰|0x1000000|100\n飞蛾赴烛|0x1000000|100\n飞蛾扑火|0x1000000|756\n飞蛾投火|0x1000000|1184\n飞鸽传书|0x0000|524\n飞阁流丹|0x0000|100\n飞觥献斝|0x1000000|100\n飞觥走斝|0x1000000|100\n飞鸿踏雪|0x0000|100\n飞鸿雪爪|0x1000000|100\n飞鸿印雪|0x1000000|100\n飞黄腾达|0x1000000|32371\n飞黄腾踏|0x1000000|100\n飞机场|0x100000|23922\n飞机库|0x100000|1152\n飞机票|0x100000|700\n飞机票价格|0x100000|512\n飞机制造|0x0000|445\n飞将军|0x100000|1019\n飞将数奇|0x0000|100\n飞来飞去|0x1000|4\n飞来横祸|0x100000|47048\n飞利浦|0x0008|971\n飞利浦手机|0x100000|486\n飞利浦显示器|0x100000|422\n飞粮挽秣|0x0000|100\n飞流短长|0x1000000|100\n飞龙乘云|0x1000|100\n飞龙再生|0x100000|1088\n飞龙在天|0x1000000|897\n飞鸾翔凤|0x1000000|100\n飞毛腿|0x100000|33628\n飞米转刍|0x1000000|100\n飞谋钓谤|0x1000000|100\n飞谋荐谤|0x1000000|100\n飞鸟惊蛇|0x0000|100\n飞鸟依人|0x1000000|100\n飞蓬随风|0x1000000|100\n飞禽走兽|0x1000000|35195\n飞沙扬砾|0x1000000|100\n飞沙走砾|0x1000000|100\n飞沙走石|0x1000000|40124\n飞砂扬砾|0x1000000|100\n飞砂转石|0x1000000|100\n飞砂走石|0x1000000|1066\n飞觞走斝|0x1000000|100\n飞升腾实|0x1000000|100\n飞声腾实|0x1000000|0\n飞书走檄|0x1000000|100\n飞霜六月|0x400000|100\n飞天奖|0x0000|43875\n飞土逐害|0x1000000|100\n飞土逐肉|0x1000000|100\n飞文染翰|0x1000000|100\n飞行队|0x100000|1081\n飞行器|0x100000|19877\n飞行速度|0x0008|480\n飞行员|0x100000|8670\n飞熊入梦|0x1000|1539\n飞沿走壁|0x0000|100\n飞檐走壁|0x1000000|42425\n飞檐走脊|0x1000000|100\n飞眼传情|0x0000|100\n飞殃走祸|0x1000000|100\n飞扬跋扈|0x1000000|40345\n飞扬浮躁|0x0000|100\n飞鹰奔犬|0x1000000|100\n飞鹰走狗|0x1000000|100\n飞鹰走马|0x1000000|100\n飞鹰走犬|0x1000000|100\n飞云掣电|0x1000000|100\n飞灾横祸|0x1000000|1294\n飞针走线|0x1000000|49784\n飞珠溅玉|0x1000000|1156\n非暴力|0x100000|943\n非本质|0x40000000|371\n非标准|0x0000|545\n非标准分析|0x0008|0\n非常高兴|0x0000|611\n非常好|0x0000|740\n非常之谋|0x100000|100\n非常重视|0x0000|603\n非常重要|0x0000|715\n非池中物|0x100000|100\n非处方药|0x100000|885\n非此即彼|0x1000000|36453\n非达西渗流|0x0008|0\n非弹性散射|0x0008|0\n非党员|0x100000|1157\n非导体|0x100000|1288\n非地带性|0x0008|0\n非典型|0x100000|614\n非典型肺炎|0x0008|4797\n非点源|0x0008|1266\n非电解质|0x100000|0\n非对抗性|0x100000|1\n非法操作|0x0000|503\n非法出版物|0x0000|448\n非法传销|0x0000|495\n非法经营|0x0000|515\n非法拘禁|0x0008|451\n非法所得|0x800000|972\n非法性|0x100000|839\n非法占有|0x100000|1002\n非法组织|0x0008|15\n非分之财|0x0000|100\n非分之念|0x0000|100\n非分之想|0x800000|840\n非故意|0x0000|423\n非官方|0x20000000|771\n非婚生|0x0000|47980\n非婚生子女|0x0000|398\n非机动车|0x100000|817\n非金属|0x100000|20529\n非金属材料|0x100000|476\n非金属性|0x100000|0\n非金属元素|0x0008|0\n非晶态合金|0x0008|0\n非晶体|0x100000|1192\n非军事|0x100000|995\n非军事区|0x100000|1113\n非君莫属|0x800000|1219\n非礼勿视|0x1000000|959\n非理性|0x20000000|773\n非理性主义|0x100000|1139\n非淋菌性尿道炎|0x0000|474\n非驴非马|0x1000000|50549\n非洛地平|0x0008|1226\n非卖品|0x100000|54240\n非贸易|0x20000000|1033\n非牛顿流动|0x0008|0\n非农业人口|0x0008|2\n非平衡态热力学|0x0008|0\n非屏蔽双绞线|0x0008|0\n非企业|0x20000000|938\n非亲非故|0x1000000|41001\n非侵染性病害|0x0008|0\n非请莫入|0x800000|1226\n非僧非俗|0x800000|1540\n非生产性|0x20000000|1039\n非诉讼|0x20000000|927\n非同儿戏|0x1000|1228\n非同凡响|0x0000|48328\n非同小可|0x1000000|23108\n非同寻常|0x800000|19335\n非同一般|0xc00000|22401\n非凸二次规划|0x400000|0\n非我族类|0x800000|1002\n非昔是今|0x800000|100\n非线性|0x20000000|777\n非线性编辑|0x100000|467\n非一狐之腋|0x400008|0\n非一日之功|0x400000|0\n非一日之寒|0x401000|1\n非异人任|0x1000000|100\n非易失性存储器|0x0008|0\n非意相干|0x1000000|100\n非盈利|0x20000000|732\n非营利|0x20000000|736\n非正式|0x20000000|771\n非正式会议|0x100000|455\n非正统|0x0000|373\n非正义|0x20000000|986\n非正义战争|0x100000|1225\n非职务发明|0x0000|52219\n非洲国家|0x0000|523\n非洲开发银行|0x0020|1723\n非洲联盟|0x0020|1080\n非洲人|0x100000|845\n非洲狮|0x100000|400\n非洲统一|0x400000|0\n非洲统一组织|0x400000|1226\n非专利|0x40000000|474\n非自然|0x40000000|435\n绯红色|0x100000|1078\n菲利普|0x0040|1294\n菲律宾|0x0040|5199\n菲律宾群岛|0x0000|374\n菲律宾人|0x100000|1012\n菲食薄衣|0x1000|100\n菲亚特|0x0008|1242\n蜚短流长|0x1000000|1026\n蜚声中外|0x800000|1039\n蜚瓦拔木|0x0000|100\n蜚英腾茂|0x0000|100\n霏霏细雨|0x1000000|926\n肥肠满脑|0x1000000|100\n肥城市|0x0040|1504\n肥东县|0x0040|1538\n肥冬瘦年|0x1000000|100\n肥遁鸣高|0x1000000|100\n肥遯鸣高|0x1000000|100\n肥甘轻暖|0x1000000|0\n肥料厂|0x100000|997\n肥马轻裘|0x1000000|1270\n肥胖症|0x100000|35049\n肥水不流外人田|0x0008|960\n肥田粉|0x100000|1392\n肥头大耳|0x1000000|42897\n肥头大面|0x1000000|1271\n肥头胖耳|0x1000000|100\n肥西县|0x0040|1507\n肥乡县|0x0040|1072\n肥鱼大肉|0x1000000|100\n肥皂粉|0x100000|1153\n肥皂盒|0x0000|375\n肥皂剧|0x100000|47981\n肥皂沫|0x100000|1182\n肥皂泡|0x0008|31621\n肥皂水|0x0000|466\n肥皂液|0x100000|0\n腓肠肌|0x100000|1133\n腓力二世|0x400080|0\n腓尼基|0x0008|1064\n腓尼基人|0x0000|373\n匪朝伊夕|0x1000000|100\n匪匪翼翼|0x0000|100\n匪石匪席|0x100000|100\n匪石之心|0x0000|100\n匪伊朝夕|0x1000000|100\n匪夷匪惠|0x0000|100\n匪夷所思|0x1000000|30494\n诽谤者|0x100000|1154\n诽谤之木|0x0000|100\n诽谤罪|0x100000|1044\n诽誉在俗|0x0000|100\n悱恻缠绵|0x1000000|1071\n斐然成章|0x1000000|1249\n斐然乡风|0x1000000|100\n斐然向风|0x1000000|100\n翡翠台|0x100000|456\n吠非其主|0x1000000|100\n吠形吠声|0x1000000|1357\n吠影吠声|0x1000000|1354\n废话连篇|0x1000000|955\n废旧电池|0x100000|472\n废旧金属|0x100000|474\n废旧塑料|0x100000|557\n废旧物资|0x100000|518\n废品率|0x0008|52220\n废品站|0x0000|52703\n废弃物|0x100000|788\n废寝忘餐|0x1000000|1222\n废寝忘食|0x1000000|30044\n废然而反|0x0000|100\n废然而返|0x1000000|100\n废书而叹|0x1000000|100\n废水处理|0x0008|814\n废私立公|0x1000000|100\n废铜烂铁|0x100000|51794\n废文任武|0x0000|100\n废物利用|0x1000|948\n废物箱|0x100000|1115\n沸反连天|0x1000000|100\n沸反盈天|0x1000000|53225\n沸沸汤汤|0x1000000|100\n沸沸扬扬|0x1000000|18273\n沸腾床|0x0008|0\n沸腾钢|0x0008|0\n沸天震地|0x1000000|100\n肺动脉|0x100000|996\n肺腑之言|0x1000000|26324\n肺活量|0x100000|32113\n肺结核|0x100000|17919\n肺结核病|0x100000|398\n肺静脉|0x100000|1180\n肺脓肿|0x100000|1094\n肺气肿|0x100000|34773\n肺石风清|0x1000000|100\n肺栓塞|0x100000|400\n肺水肿|0x100000|44390\n肺吸虫|0x100000|379\n肺心病|0x100000|46169\n肺循环|0x100000|1166\n肺炎双球菌|0x0008|0\n费边主义|0x100000|0\n费财劳民|0x0000|100\n费城故事|0x100000|385\n费尔巴哈|0x0080|1658\n费工夫|0x800000|922\n费尽心机|0x1000000|30595\n费尽心思|0x0000|43165\n费尽心血|0x0000|46446\n费口舌|0x0000|43402\n费力劳心|0x0000|100\n费米海|0x0080|0\n费手脚|0x1000|55657\n费雯丽|0x0000|426\n费希特|0x0080|1106\n费要多罗|0x0080|0\n痱子粉|0x100000|53226\n分崩离析|0x1000000|38669\n分辨力|0x100000|1053\n分辨率|0x100000|16921\n分别部居|0x1000000|100\n分别门户|0x1000000|100\n分兵把口|0x800000|1310\n分不清|0x0000|616\n分布电容|0x0008|0\n分布区|0x100000|1054\n分布式|0x100000|721\n分布图|0x100000|805\n分步法|0x100000|1198\n分餐制|0x100000|35196\n分层抽样|0x0008|0\n分层设色法|0x0008|0\n分钗断带|0x1000000|100\n分钗劈凤|0x1000000|100\n分钗破镜|0x1000|100\n分成二份|0x400000|0\n分床同梦|0x1000000|100\n分寸之末|0x100000|100\n分道扬镳|0x1000000|27778\n分等级|0x0000|461\n分度器|0x100000|0\n分度头|0x100000|1105\n分段法|0x0008|0\n分队长|0x100000|1074\n分而治之|0x1000000|47346\n分房减口|0x1000000|1280\n分分秒秒|0x100000|746\n分风劈流|0x1000|100\n分甘共苦|0x1000000|100\n分甘绝少|0x0000|100\n分甘同苦|0x1000000|1537\n分工合作|0x1000000|866\n分工协作|0x0008|9\n分公司|0x100000|485\n分光光度法|0x0008|0\n分光计|0x100000|1193\n分光镜|0x100000|1138\n分光仪|0x100000|1167\n分毫不差|0x800000|968\n分毫不取|0x1000000|100\n分毫不爽|0x1000000|100\n分毫不值|0x1000000|100\n分毫无爽|0x1000000|100\n分毫析厘|0x0000|100\n分洪闸|0x0008|1317\n分花拂柳|0x1000000|1190\n分花约柳|0x1000000|100\n分化瓦解|0x1000|1082\n分级淬火|0x0008|0\n分家析产|0x1000000|1231\n分角器|0x100000|0\n分阶段|0x0000|536\n分解代谢|0x0008|0\n分解力|0x0008|0\n分解者|0x100000|1249\n分界线|0x100000|19424\n分斤掰两|0x1000000|1364\n分斤拨两|0x1000000|100\n分金掰两|0x1000000|100\n分进合击|0x1000000|1121\n分镜头|0x100000|51368\n分久必合|0x800000|908\n分居异爨|0x1000000|100\n分劳赴功|0x1000000|100\n分类单位|0x0008|0\n分类法|0x100000|902\n分类广告|0x100000|632\n分类机|0x0008|0\n分类目录|0x0008|579\n分类索引|0x0008|0\n分类学|0x100000|991\n分类帐|0x0000|397\n分类账|0x0008|0\n分厘毫丝|0x0000|100\n分离法|0x100000|1125\n分离器|0x0000|50551\n分理处|0x100000|772\n分列式|0x100000|46736\n分裂法|0x0008|0\n分裂主义|0x100000|1034\n分流器|0x0008|1069\n分馏器|0x100000|1540\n分馏塔|0x0008|1263\n分路扬镳|0x1000000|100\n分茅赐土|0x1000000|100\n分茅列土|0x1000000|1524\n分茅裂土|0x1000000|100\n分茅锡土|0x1000000|100\n分茅胙土|0x1000000|100\n分门别户|0x1000000|100\n分门别类|0x1000000|24760\n分米波|0x0008|1317\n分泌物|0x100000|799\n分泌腺|0x0000|400\n分秒必争|0x1000000|38085\n分内之事|0x0000|100\n分配阀|0x0008|1185\n分配格|0x0008|0\n分配利润|0x0000|543\n分配律|0x100000|1190\n分配器|0x100000|832\n分配权|0x100000|1024\n分配原则|0x0008|4\n分配制度|0x100000|820\n分朋引类|0x1000000|100\n分批培养|0x0008|0\n分贫振穷|0x1000000|100\n分频器|0x100000|996\n分期付款|0x800000|806\n分情破爱|0x1000000|100\n分区表|0x0008|1424\n分区魔术师|0x100000|419\n分区赛|0x100000|1151\n分区一般照明|0x400000|0\n分三别两|0x1400000|0\n分散度|0x100000|1204\n分散剂|0x100000|840\n分散力|0x0008|0\n分散染料|0x0008|938\n分散相|0x100000|1190\n分散性|0x100000|941\n分散主义|0x0008|758\n分色镜|0x100000|1539\n分身减口|0x1000000|100\n分身术|0x100000|927\n分身无术|0x0000|100\n分生孢子|0x0008|0\n分生组织|0x0008|0\n分时操作系统|0x0008|0\n分守要津|0x0000|100\n分数线|0x100000|23643\n分水岭|0x100000|22451\n分水线|0x100000|1276\n分税制|0x100000|31281\n分丝析缕|0x1000000|100\n分条析理|0x1000000|100\n分庭伉礼|0x1000000|100\n分庭抗礼|0x1000000|35197\n分外明白|0x1000000|0\n分外眼红|0x1000|944\n分外眼明|0x1000000|0\n分外眼睁|0x1000000|0\n分外妖娆|0x1000000|934\n分文不名|0x0000|100\n分文不取|0x1000000|1031\n分文不直|0x1000000|100\n分文不值|0x1000000|1118\n分文未取|0x1000000|1211\n分我杯羹|0x1000000|100\n分析和综合|0x0008|0\n分析化学|0x0008|839\n分析会|0x100000|916\n分析家|0x100000|809\n分析器|0x100000|875\n分析研究|0x100000|761\n分析仪器|0x100000|528\n分析语|0x100000|1345\n分析员|0x100000|825\n分系统|0x100000|1023\n分线规|0x100000|1538\n分香卖履|0x1000000|1333\n分宵达曙|0x1000000|100\n分销店|0x100000|1074\n分销商|0x100000|752\n分鞋破镜|0x1000000|100\n分心挂腹|0x1000000|100\n分星拨两|0x1000000|100\n分星擘两|0x1000000|100\n分星劈两|0x1000000|100\n分形共气|0x1000000|100\n分形连气|0x1000000|0\n分形同气|0x1000000|100\n分压力|0x100000|0\n分烟析产|0x1000000|100\n分烟析生|0x1000000|100\n分一杯羹|0x400000|8\n分宜县|0x0040|1590\n分章析句|0x1000000|100\n分之一|0x500000|6\n分支机构|0x100000|640\n分枝杆菌|0x0008|0\n分枝杆菌素|0x100000|0\n分指数|0x100000|1318\n分子病|0x0008|1406\n分子电流|0x0008|0\n分子积分|0x0008|0\n分子结构|0x800000|903\n分子力|0x100000|1289\n分子量|0x100000|852\n分子论|0x100000|1209\n分子人类学|0x0008|0\n分子筛|0x100000|948\n分子生物学|0x100000|829\n分子式|0x100000|52704\n分子物理学|0x0008|840\n分子运动论|0x100000|1187\n分组会|0x100000|1246\n分组码|0x100000|1245\n分组赛|0x100000|1035\n分组讨论|0x0000|497\n纷纷表示|0x100000|559\n纷纷不一|0x400000|100\n纷纷籍籍|0x0000|100\n纷纷攘攘|0x0000|100\n纷纷扰扰|0x0000|100\n纷纷扬扬|0x1000000|26959\n纷纷洋洋|0x0000|100\n纷纷拥拥|0x0000|100\n纷红骇绿|0x1000000|100\n纷乱如麻|0x800000|1105\n纷纭复杂|0x800000|1152\n纷纭杂沓|0x0000|100\n纷至沓来|0x1000000|16845\n纷至踏来|0x1000000|1181\n芬芳馥郁|0x0000|100\n芬兰人|0x100000|994\n芬兰文|0x0008|1083\n芬兰语|0x0008|1498\n芬太尼|0x100000|1105\n酚醛树脂|0x0008|944\n酚醛塑料|0x0008|1182\n汾西县|0x0040|1119\n汾阳市|0x0040|1555\n焚巢荡穴|0x1000000|100\n焚巢捣穴|0x1000000|100\n焚典坑儒|0x1000000|100\n焚符破玺|0x1000000|100\n焚膏继晷|0x1000000|1174\n焚骨扬灰|0x1000000|100\n焚化炉|0x100000|1048\n焚枯食淡|0x1000000|100\n焚林而猎|0x1000000|100\n焚林而狩|0x1000000|100\n焚林而田|0x1000000|100\n焚林而畋|0x1000000|100\n焚林竭泽|0x1000000|100\n焚琴鬻鹤|0x1000000|100\n焚琴煮鹤|0x1000000|1097\n焚尸扬灰|0x1000000|100\n焚书坑儒|0x1000000|44667\n焚薮而田|0x1000000|100\n焚香顶礼|0x1000000|1335\n焚香礼拜|0x1000000|1236\n焚香膜拜|0x1000000|100\n焚香扫地|0x1000000|100\n焚舟破釜|0x1000000|100\n粉白黛黑|0x100000|1297\n粉白黛绿|0x100000|100\n粉白墨黑|0x0000|100\n粉雕玉琢|0x0000|54770\n粉骨捐躯|0x0000|100\n粉骨糜躯|0x0000|100\n粉骨糜身|0x0000|100\n粉骨碎身|0x0000|100\n粉红色|0x100000|618\n粉面油头|0x0000|100\n粉面朱唇|0x0000|100\n粉末涂料|0x100000|489\n粉末冶金|0x0008|785\n粉末状|0x100000|967\n粉墨登场|0x1000000|33901\n粉扑儿|0x0000|47664\n粉身灰骨|0x0000|100\n粉身碎骨|0x1000000|25560\n粉饰太平|0x1000|959\n粉丝状|0x100000|0\n粉碎机|0x100000|35810\n粉碎性|0x0000|44119\n粉纹夜蛾|0x100000|0\n粉蒸肉|0x100000|970\n粉妆玉砌|0x0000|100\n粉妆玉琢|0x1000000|1143\n粉装玉琢|0x0000|100\n份儿菜|0x0000|53719\n份儿饭|0x100000|49785\n份子钱|0x0000|54244\n奋笔疾书|0x800000|42182\n奋笔直书|0x800000|100\n奋不顾命|0x1000000|100\n奋不顾身|0x1000000|20005\n奋斗不息|0x1000000|834\n奋斗目标|0x0000|590\n奋斗史|0x100000|942\n奋斗者|0x100000|1028\n奋发踔厉|0x1000000|100\n奋发蹈厉|0x1000000|100\n奋发图强|0x1000000|17997\n奋发向上|0x800000|22358\n奋发有为|0x800000|14729\n奋袂而起|0x1000000|100\n奋起直追|0x1000000|30381\n奋身不顾|0x1000000|100\n奋武扬威|0x1000000|100\n奋勇当先|0x1000000|50946\n忿不顾身|0x1000000|100\n忿忿不平|0x1000000|872\n忿火中烧|0x1000000|100\n忿然作色|0x1000000|1312\n忿世嫉俗|0x1000000|100\n愤不顾身|0x1000000|100\n愤不欲生|0x1000000|100\n愤愤不平|0x1000000|23261\n愤风惊浪|0x1000000|100\n愤时疾俗|0x1000000|100\n愤世疾俗|0x1000000|1069\n愤世疾邪|0x1000000|0\n愤世嫉俗|0x1000000|33629\n粪土不如|0x0000|100\n丰标不凡|0x0000|100\n丰草长林|0x1000000|100\n丰产田|0x100000|1400\n丰臣秀吉|0x0080|0\n丰城市|0x0040|1578\n丰川悦司|0x0080|374\n丰都县|0x0040|1307\n丰度翩翩|0x0000|100\n丰富多采|0x1000000|856\n丰富多彩|0x40000000|5547\n丰富性|0x100000|897\n丰功厚利|0x1000000|100\n丰功茂德|0x1000000|100\n丰功盛烈|0x1000000|100\n丰功硕德|0x1000000|100\n丰功伟绩|0x1000000|15223\n丰功伟业|0x1000000|985\n丰功懿德|0x1000000|100\n丰亨豫大|0x1000000|100\n丰肌弱骨|0x0000|100\n丰肌秀骨|0x0000|100\n丰筋多力|0x0000|100\n丰年稔岁|0x0000|100\n丰年玉荒年谷|0x0000|100\n丰宁满族自治县|0x0040|1763\n丰墙硗下|0x0000|100\n丰墙峭阯|0x1000000|100\n丰墙峭址|0x0000|100\n丰取刻与|0x1000000|100\n丰乳肥臀|0x0008|2\n丰神绰约|0x0000|100\n丰神异彩|0x0000|100\n丰收年|0x100000|948\n丰顺县|0x0040|1643\n丰台区|0x0040|1136\n丰田佳美|0x100000|573\n丰田悦司|0x0080|0\n丰屋蔀家|0x1000000|100\n丰屋生灾|0x1000000|100\n丰屋延灾|0x1000000|100\n丰屋之过|0x1000000|100\n丰屋之祸|0x1000000|100\n丰屋之戒|0x1000000|100\n丰衣足食|0x1000000|29417\n丰原市|0x0040|1092\n丰镇市|0x0040|1054\n丰姿绰约|0x0008|1078\n丰姿冶丽|0x0000|100\n风兵草甲|0x1000000|100\n风不鸣条|0x1000000|1540\n风餐露宿|0x1000000|28540\n风车雨马|0x1000000|100\n风车云马|0x1000000|100\n风掣雷行|0x0000|100\n风尘肮脏|0x0000|100\n风尘碌碌|0x0000|100\n风尘仆仆|0x0100|21902\n风尘之变|0x0000|100\n风尘之会|0x0000|100\n风驰草靡|0x0000|100\n风驰电掣|0x1000000|23478\n风驰电骋|0x0000|100\n风驰电赴|0x0000|100\n风驰电击|0x0000|100\n风驰电卷|0x0000|100\n风驰电逝|0x0000|100\n风驰霆击|0x0000|100\n风驰雨骤|0x0000|100\n风驰云卷|0x0000|100\n风驰云走|0x0000|100\n风吹草低见牛羊|0x0008|1020\n风吹草动|0x1000000|30160\n风吹浪打|0x1000000|1050\n风吹马耳|0x1000000|100\n风吹日晒|0x1000|35351\n风吹雨打|0x1000000|30699\n风吹雨淋|0x0000|47049\n风吹云散|0x1000000|1069\n风从虎|0x1000000|1168\n风刀霜剑|0x1000000|54772\n风调雨顺|0x1000000|26121\n风动工具|0x800000|953\n风洞试验|0x0008|4\n风度翩翩|0x800000|29196\n风风光光|0x0100|876\n风风火火|0x1000000|22776\n风风雨雨|0x100000|17635\n风风韵韵|0x0000|100\n风高放火|0x0000|100\n风格各异|0x800000|841\n风骨峭峻|0x0100|100\n风光片|0x100000|52705\n风光十足|0x400000|0\n风光旖旎|0x800000|32504\n风光月霁|0x1000000|100\n风禾尽起|0x1000000|100\n风和日丽|0x1000000|26881\n风和日美|0x0000|100\n风和日暖|0x1000000|1180\n风和日暄|0x0000|100\n风虎云龙|0x1000000|1105\n风花雪夜|0x0000|100\n风花雪月|0x1000000|31734\n风华绝代|0x800000|860\n风华正茂|0x1000000|27524\n风化壳|0x0008|0\n风化区|0x0008|0\n风化作用|0x0008|0\n风鬟雾鬓|0x1000000|1218\n风鬟雨鬓|0x800000|100\n风回电激|0x1000000|100\n风火轮|0x100000|881\n风火墙|0x100000|54245\n风激电飞|0x0000|100\n风激电骇|0x0000|100\n风急浪大|0x800000|1355\n风急浪高|0x800000|1216\n风纪扣|0x100000|44120\n风景不殊|0x800000|100\n风景点|0x100000|40125\n风景画|0x100000|25697\n风景林|0x100000|1174\n风景名胜|0x0008|663\n风景区|0x100000|6605\n风景如画|0x800000|30495\n风景图|0x100000|434\n风景图片|0x100000|506\n风景线|0x100000|707\n风景秀丽|0x100000|704\n风景园林|0x100000|468\n风举云飞|0x0000|100\n风举云摇|0x0000|100\n风卷残云|0x1000000|42428\n风谲云诡|0x0000|100\n风口浪尖|0x1000000|39275\n风狂雨骤|0x800000|1135\n风雷火炮|0x0000|100\n风雷之变|0x0000|100\n风棱石|0x100000|1541\n风力发电机|0x100000|435\n风力发动机|0x0008|0\n风力机|0x100000|0\n风凉话|0x100000|33253\n风流才子|0x100000|913\n风流跌宕|0x0000|100\n风流千古|0x0000|100\n风流人物|0x100000|841\n风流儒雅|0x0000|100\n风流倜傥|0x800000|39690\n风流潇洒|0x0000|100\n风流冤孽|0x0000|100\n风流云散|0x1000000|50553\n风流韵事|0x100000|41002\n风流蕴藉|0x0000|100\n风流罪过|0x100000|1274\n风马不接|0x0000|100\n风马牛不相及|0x0008|31976\n风马云车|0x0000|100\n风媒花|0x100000|1352\n风门水口|0x0000|100\n风靡一时|0xc00000|39499\n风靡一世|0x400000|0\n风木含悲|0x1000000|100\n风木之悲|0x1000000|100\n风木之思|0x1000000|1260\n风牛马不相及|0x0008|100\n风平波息|0x1000000|100\n风平浪静|0x1000000|27198\n风起水涌|0x0000|100\n风起云涌|0x1000000|21846\n风起云蒸|0x0000|100\n风前残烛|0x100000|100\n风前月下|0x800000|100\n风乾机|0x100000|0\n风樯阵马|0x100000|1329\n风轻云净|0x0000|100\n风清弊绝|0x800000|1535\n风清月皎|0x0000|100\n风清月朗|0x800000|1160\n风清月明|0x800000|1172\n风情画|0x100000|978\n风情万种|0x1000000|691\n风情月思|0x0000|100\n风情月意|0x0000|100\n风情月债|0x800000|1297\n风驱电击|0x0000|100\n风驱电扫|0x0000|100\n风趣横生|0x0000|100\n风尚大典|0x100000|399\n风声鹤唳|0x1000000|40347\n风湿病|0x100000|30382\n风湿病学|0x100000|1082\n风湿类风湿|0x100000|477\n风湿热|0x0008|1054\n风湿性|0x20000000|837\n风湿性关节炎|0x100000|865\n风湿症|0x100000|0\n风溼性|0x100000|0\n风霜雨雪|0x100000|953\n风水宝地|0x100000|867\n风水先生|0x100000|3\n风俗画|0x100000|37164\n风俗人情|0x100000|1056\n风俗习惯|0x100000|817\n风速表|0x0008|1010\n风速计|0x100000|937\n风速器|0x100000|1293\n风速仪|0x100000|413\n风土化|0x100000|0\n风土民情|0x1000000|1012\n风土人情|0x1000000|727\n风味餐厅|0x100000|727\n风味十足|0x400000|0\n风味小吃|0x100000|800\n风仙花|0x0000|44962\n风险投资|0x0008|681\n风向标|0x100000|33902\n风向器|0x100000|0\n风潇雨晦|0x800000|100\n风心病|0x100000|505\n风信年华|0x100000|100\n风信子|0x100000|834\n风行草从|0x1000000|100\n风行草靡|0x1000000|100\n风行草偃|0x1000000|1268\n风行电掣|0x1000000|100\n风行电击|0x1000000|100\n风行电扫|0x1000000|100\n风行电照|0x1000000|100\n风行革偃|0x0000|100\n风行雷厉|0x1000000|100\n风行水上|0x1000000|1115\n风行一时|0x1400000|35971\n风行一世|0x1400000|0\n风行雨散|0x1000000|100\n风旋电掣|0x0000|100\n风雪交加|0x800000|44961\n风言醋语|0x1000000|100\n风言风语|0x1000000|33630\n风言雾语|0x1000000|100\n风言影语|0x1000000|100\n风影敷衍|0x800000|100\n风油精|0x100000|47665\n风雨不测|0x0000|100\n风雨不改|0x1000000|1057\n风雨不透|0x1000000|1136\n风雨灯|0x100000|1535\n风雨对床|0x1000000|100\n风雨共舟|0x0000|100\n风雨晦冥|0x1000000|100\n风雨晦暝|0x1000000|1539\n风雨交加|0x1000000|38873\n风雨连床|0x1000000|100\n风雨漂摇|0x1000000|100\n风雨飘零|0x1000000|100\n风雨飘摇|0x1000000|30596\n风雨飘飖|0x1000000|100\n风雨凄凄|0x1000000|1224\n风雨如晦|0x1000000|49085\n风雨如磐|0x1000000|47984\n风雨时若|0x1000000|100\n风雨同舟|0x1000000|25960\n风雨无阻|0x1000000|29099\n风雨萧条|0x1000000|100\n风雨摇摆|0x0000|100\n风雨衣|0x100000|51370\n风语不透|0x0000|100\n风月无边|0x1000000|867\n风月无涯|0x1000000|100\n风云榜|0x100000|589\n风云变幻|0x800000|13558\n风云变态|0x0000|100\n风云不测|0x1000000|1292\n风云际会|0x800000|881\n风云录|0x100000|534\n风云人物|0x1000000|26743\n风云突变|0x800000|36632\n风云月露|0x100000|1406\n风云之志|0x0000|100\n风韵犹存|0x1000000|938\n风疹病毒|0x0008|0\n风疹块|0x0008|1133\n风栉雨沐|0x0000|100\n风中秉烛|0x1000000|100\n风中之烛|0x1000000|1095\n风烛残年|0x1000000|42183\n风烛草露|0x0000|100\n风烛之年|0x100000|100\n风姿绰约|0x800000|41922\n枫叶牌|0x100000|454\n封闭剂|0x0008|1133\n封闭疗法|0x100000|945\n封闭式|0x100000|15856\n封闭式基金|0x100000|564\n封闭系统|0x0008|0\n封闭性|0x100000|35352\n封刀挂剑|0x1000000|1538\n封冻期|0x4000|1332\n封隔液|0x100000|0\n封官许原|0x1000000|100\n封官许愿|0x1000000|46171\n封胡遏末|0x0000|100\n封胡羯末|0x1000000|100\n封己守残|0x1000000|100\n封建把头|0x800000|951\n封建残余|0x100000|960\n封建道德|0x0008|0\n封建割据|0x100000|948\n封建礼教|0x100000|957\n封建迷信|0x800000|743\n封建迷信活动|0x0000|405\n封建社会|0x800000|779\n封建王朝|0x800000|806\n封建制度|0x100000|3\n封建主|0x100000|44669\n封建主义|0x100000|13729\n封金挂印|0x1000000|1391\n封开县|0x0040|1606\n封口机|0x100000|559\n封面女郎|0x100000|842\n封面设计|0x100000|492\n封妻荫子|0x1000000|50556\n封丘县|0x0040|1581\n封山育林|0x1000000|16339\n封神榜|0x0008|1208\n封豕长蛇|0x1000000|1410\n封锁线|0x100000|32985\n封豨修蛇|0x0000|100\n封资修|0x100000|1192\n疯疯癫癫|0x0100|46172\n疯狂般|0x40000000|398\n疯牛病|0x100000|12651\n疯人院|0x100000|39911\n峰化器|0x100000|0\n峰回路转|0x800000|34618\n烽鼓不息|0x800000|100\n烽火连年|0x0000|100\n烽火连三|0x400000|0\n烽火连三月|0x400000|1\n烽火连天|0x1000000|940\n烽火四起|0x400000|100\n烽火台|0x100000|36285\n烽火相连|0x0000|100\n烽烟四起|0x400000|2\n葑菲之采|0x800000|100\n锋不可当|0x1000000|100\n锋镝余生|0x0000|100\n锋发韵流|0x800000|100\n锋芒逼人|0x800000|100\n锋芒毕露|0x1000000|41923\n锋芒不露|0x0000|100\n锋芒所向|0x800000|1251\n锋铓毕露|0x1000000|100\n蜂虿有毒|0x800000|100\n蜂虿作于怀袖|0x0008|100\n蜂巢胃|0x100000|1540\n蜂出泉流|0x0000|100\n蜂房蚁穴|0x0000|100\n蜂附云集|0x0000|100\n蜂合豕突|0x0000|100\n蜂合蚁聚|0x0000|100\n蜂花粉|0x100000|439\n蜂窠蚁穴|0x0000|100\n蜂狂蝶乱|0x0000|100\n蜂媒蝶使|0x0000|100\n蜂迷蝶猜|0x0000|100\n蜂迷蝶恋|0x0000|100\n蜂鸣器|0x100000|864\n蜂目豺声|0x800000|100\n蜂起云涌|0x0000|100\n蜂趋蚁附|0x0000|100\n蜂扇蚁聚|0x0000|100\n蜂识莺猜|0x0000|100\n蜂屯乌合|0x0000|100\n蜂屯蚁附|0x0000|100\n蜂屯蚁聚|0x800000|100\n蜂屯蚁杂|0x0000|100\n蜂王浆|0x100000|45265\n蜂王精|0x100000|1276\n蜂王乳|0x0008|1135\n蜂窝煤|0x100000|35655\n蜂窝状|0x20000000|1012\n蜂腰削背|0x0000|100\n蜂腰猿背|0x0000|100\n蜂营蚁队|0x0000|100\n蜂拥而来|0x1000000|955\n蜂拥而上|0x800000|37350\n蜂拥而至|0x800000|25620\n蜂拥蚁聚|0x0000|100\n蜂拥蚁屯|0x0000|100\n蜂攒蚁集|0x0000|100\n蜂攒蚁聚|0x0000|100\n冯格庄村|0x0040|0\n冯河暴虎|0x1000000|100\n冯驩弹铗|0x1000000|100\n冯生弹铗|0x1000000|100\n冯唐白首|0x1000000|100\n冯唐头白|0x1000000|100\n冯唐已老|0x0000|100\n冯唐易老|0x1000000|1142\n逢场竿木|0x1000000|100\n逢场游戏|0x1000000|100\n逢场作乐|0x1000000|100\n逢场作趣|0x1000000|100\n逢场作戏|0x1000000|31735\n逢恶导非|0x1000000|100\n逢机遘会|0x1000000|100\n逢机立断|0x1000000|100\n逢吉丁辰|0x1000000|100\n逢甲大学|0x100000|1019\n逢君之恶|0x800000|100\n逢年过节|0x800000|807\n逢人说项|0x1000000|1298\n逢人只说三分话|0x400000|0\n逢山开道|0x1000000|100\n逢山开路|0x1000000|1123\n逢时遇节|0x0000|100\n逢凶化吉|0x1000000|37692\n缝缝补补|0x1000|943\n缝缝连连|0x1000|100\n缝合线|0x0008|53230\n缝纫工|0x100000|936\n缝纫机|0x100000|19051\n缝衣机|0x100000|0\n缝衣浅带|0x0000|100\n缝衣针|0x100000|1083\n讽刺画|0x0008|2\n讽刺诗|0x0008|1120\n讽德诵功|0x1000000|100\n讽多要寡|0x1000000|100\n讽一劝百|0x1400000|0\n凤表龙姿|0x1000000|100\n凤泊鸾漂|0x0000|100\n凤泊鸾飘|0x1000000|100\n凤采鸾章|0x1000000|100\n凤城市|0x0040|1560\n凤愁鸾怨|0x1000000|100\n凤雏麟子|0x1000000|100\n凤附龙攀|0x1000000|100\n凤冈县|0x0040|1122\n凤歌鸾舞|0x1000000|100\n凤骨龙姿|0x1000000|100\n凤冠霞帔|0x800000|1070\n凤管鸾笙|0x1000000|100\n凤管鸾箫|0x1000000|0\n凤皇来仪|0x1000000|1381\n凤皇于飞|0x1000000|1541\n凤皇于蜚|0x1000000|100\n凤凰古城|0x100000|474\n凤凰来仪|0x1000000|1233\n凤凰岭|0x100000|425\n凤凰木|0x100000|1018\n凤凰琴|0x0000|45266\n凤凰山|0x0040|1325\n凤凰社|0x100000|388\n凤凰誓|0x100000|368\n凤凰树|0x100000|387\n凤凰网|0x100000|479\n凤凰卫视|0x100000|703\n凤凰县|0x0040|1597\n凤凰衣|0x100000|1328\n凤凰于飞|0x1000000|1046\n凤凰在笯|0x800000|100\n凤狂龙躁|0x1000000|100\n凤梨汁|0x100000|0\n凤楼龙阙|0x1000000|100\n凤毛鸡胆|0x1000000|100\n凤毛济美|0x1000000|100\n凤毛麟角|0x1000000|26326\n凤毛龙甲|0x1000000|100\n凤靡鸾吪|0x1000000|100\n凤鸣朝阳|0x1000000|1285\n凤鸣鹤唳|0x1000000|100\n凤鸣麟出|0x1000000|100\n凤庆县|0x0040|1060\n凤山市|0x0040|1098\n凤山县|0x0040|1614\n凤食鸾栖|0x1000000|100\n凤髓龙肝|0x1000000|100\n凤台县|0x0040|1544\n凤叹虎视|0x1000000|100\n凤尾草|0x100000|1173\n凤尾鱼|0x100000|55220\n凤尾竹|0x100000|48332\n凤舞龙飞|0x1000000|1321\n凤舞龙蟠|0x1000000|100\n凤舞鸾歌|0x1000000|0\n凤仙花|0x100000|1013\n凤翔县|0x0040|1594\n凤枭同巢|0x0000|100\n凤箫龙管|0x1000000|100\n凤箫鸾管|0x1000000|0\n凤协鸾和|0x1000000|0\n凤眼兰|0x0008|0\n凤阳县|0x0040|1398\n凤仪兽舞|0x1000000|100\n凤臆龙鬐|0x1000000|100\n凤吟鸾吹|0x1000000|100\n凤引九雏|0x1400000|0\n凤友鸾交|0x1000000|100\n凤友鸾谐|0x1000000|100\n凤只鸾孤|0x0000|100\n凤翥龙蟠|0x1000000|100\n凤翥龙骧|0x1000000|100\n凤翥龙翔|0x1000000|100\n凤翥鸾回|0x1000000|1286\n凤翥鸾翔|0x1000000|100\n凤翥鹏翔|0x1000000|100\n凤子龙孙|0x1000000|100\n奉承话|0x100000|1067\n奉辞伐罪|0x1000000|100\n奉公不阿|0x0000|100\n奉公克己|0x1000000|100\n奉公如法|0x1000000|100\n奉公守法|0x1000000|39078\n奉公正己|0x0000|100\n奉化市|0x0040|1315\n奉节县|0x0040|1307\n奉令承教|0x1000000|100\n奉命唯谨|0x800000|1341\n奉命惟谨|0x1000000|100\n奉如神明|0x1000000|100\n奉若神明|0x1000000|46737\n奉天承运|0x0000|100\n奉头鼠窜|0x1000000|100\n奉为圭臬|0x1000000|1037\n奉为楷模|0x1000000|1270\n奉为至宝|0x1000000|1163\n奉贤区|0x0040|1248\n奉献精神|0x0000|528\n奉新县|0x0040|1606\n奉行故事|0x1000000|100\n奉扬仁风|0x0000|100\n佛得角|0x40000000|401\n佛冈县|0x0040|1059\n佛高一尺|0x1400000|0\n佛光寺|0x0040|1101\n佛甲草|0x100000|1146\n佛教界|0x100000|991\n佛教论坛|0x100000|413\n佛教徒|0x100000|847\n佛教文化|0x100000|485\n佛口蛇心|0x1000000|1377\n佛兰克林|0x0080|0\n佛罗里达|0x0040|1285\n佛罗里达州|0x0040|1400\n佛罗伦萨|0x0040|1240\n佛洛伊德|0x0080|1\n佛门弟子|0x100000|883\n佛蒙特|0x0040|1653\n佛蒙特州|0x0040|1083\n佛坪县|0x0040|1100\n佛山市|0x0040|934\n佛是金妆|0x800000|100\n佛是金装|0x1000000|0\n佛手柑|0x0000|453\n佛头加秽|0x800000|100\n佛头著粪|0x1000000|100\n佛头着粪|0x1000000|1325\n佛心蛇口|0x0000|100\n佛性禅心|0x1000000|100\n佛眼佛心|0x1000000|100\n佛眼相看|0x1000000|100\n否定词|0x0000|377\n否定性|0x100000|1049\n否定一切|0x400000|0\n否极泰回|0x1000000|100\n否极泰来|0x1000000|47784\n否极阳回|0x1000000|100\n否决权|0x100000|22777\n否去泰来|0x1000000|100\n否往泰来|0x1000000|100\n否终复泰|0x1000000|100\n否终则泰|0x1000000|100\n夫倡妇随|0x800000|1536\n夫唱妇随|0x1000000|43649\n夫负妻戴|0x1000000|100\n夫贵妻荣|0x1000000|1157\n夫妻店|0x100000|44963\n夫妻恩爱|0x100000|883\n夫妻反目|0x0000|100\n夫妻感情|0x0000|509\n夫妻关系|0x100000|527\n夫妻间|0x100000|539\n夫妻情|0x100000|1064\n夫妻生活|0x0000|544\n夫妻性|0x100000|424\n夫妻用品|0x100000|509\n夫人裙带|0x0000|100\n夫荣妻贵|0x1000000|1251\n夫荣妻显|0x0000|100\n夫子庙|0x100000|1342\n夫子自道|0x1000000|1151\n呋喃树脂|0x100000|992\n呋喃糖|0x0008|0\n肤寸而合|0x1000000|100\n肤见谫识|0x0000|100\n肤见謭识|0x1000000|100\n肤末支离|0x1000000|100\n肤皮潦草|0x1000000|1345\n肤受之诉|0x1000000|100\n肤受之愬|0x1000000|100\n肤受之言|0x1000000|100\n肤粟股栗|0x1000000|100\n肤纹学|0x100000|0\n跗萼连晖|0x1000000|100\n跗萼联芳|0x1000000|100\n跗萼载韡|0x1000000|100\n孵化率|0x0008|391\n孵化器|0x100000|21904\n孵卵器|0x0008|1355\n敷衍二些|0x400000|0\n敷衍了事|0x1000000|27359\n敷衍塞责|0x1000000|28366\n敷衍搪塞|0x1000000|1244\n弗吉尼亚|0x0040|1368\n弗吉尼亚州|0x0040|1514\n弗莱堡|0x0008|1057\n弗赖堡|0x0040|1137\n弗兰格尔|0x0040|1238\n弗朗德兹|0x0080|0\n弗雷德霍姆择一定理|0x400000|0\n弗雷泽|0x0040|1645\n弗里德里希|0x0080|1563\n弗里敦|0x0040|1265\n弗洛伊德|0x0080|1285\n伏低做小|0x1000000|100\n伏地圣人|0x100000|100\n伏而咶天|0x1000000|100\n伏尔加|0x0008|1520\n伏尔加河|0x0040|1626\n伏尔塔瓦河|0x0040|1145\n伏法受诛|0x0000|100\n伏虎降龙|0x0000|100\n伏击战|0x100000|999\n伏龙凤雏|0x0000|100\n伏龙肝|0x0008|0\n伏首贴耳|0x1000000|100\n伏特计|0x100000|1346\n伏特加|0x100000|1320\n凫短鹤长|0x1000000|100\n凫鹤从方|0x1000000|100\n凫胫鹤膝|0x1000000|100\n凫居雁聚|0x1000000|100\n凫趋雀跃|0x1000000|100\n孚尹明达|0x1000000|100\n孚尹旁达|0x1000000|100\n扶颠持危|0x0000|100\n扶风县|0x0040|1040\n扶沟县|0x0040|1542\n扶老携幼|0x1000000|27448\n扶贫帮困|0x800000|1004\n扶贫济困|0x0000|13804\n扶贫开发|0x100000|540\n扶墙摸壁|0x1000000|100\n扶倾济弱|0x1000000|100\n扶弱抑强|0x800000|1340\n扶上马|0x0000|51372\n扶手椅|0x0008|51799\n扶绥县|0x0040|1581\n扶危持颠|0x0000|100\n扶危定乱|0x1000000|100\n扶危定倾|0x1000000|100\n扶危济急|0x1000000|100\n扶危济困|0x1000000|33254\n扶危救困|0x1000000|100\n扶危翼倾|0x1000000|100\n扶危拯溺|0x0000|100\n扶摇万里|0x0000|100\n扶摇直上|0x1000000|37881\n扶余县|0x0040|1092\n扶正黜邪|0x1000000|100\n扶正祛邪|0x800000|36455\n芙蓉并蒂|0x0000|100\n芙蓉出水|0x800000|1082\n芙蓉国|0x0008|0\n芙蓉花|0x100000|420\n芙蓉姐姐|0x100000|636\n芙蓉王|0x100000|438\n芙蓉叶|0x0008|0\n怫然不悦|0x0000|100\n怫然作色|0x800000|100\n拂袖而归|0x0000|100\n拂袖而去|0x800000|870\n拂衣而去|0x1000000|1322\n服兵役|0x1000|908\n服从性|0x100000|1081\n服低做小|0x800000|100\n服服贴贴|0x0000|100\n服服帖帖|0x0100|924\n服牛乘马|0x1000000|1352\n服饰店|0x100000|665\n服饰配件|0x100000|415\n服饰品|0x100000|964\n服饰品牌|0x100000|503\n服饰文化|0x100000|897\n服饰有限公司|0x100000|616\n服田力穑|0x800000|100\n服务部|0x100000|906\n服务部门|0x100000|11\n服务舱|0x100000|1251\n服务处|0x100000|852\n服务大局|0x0000|491\n服务导报|0x0000|435\n服务端|0x0008|606\n服务队|0x100000|838\n服务范围|0x100000|754\n服务费|0x100000|704\n服务公司|0x100000|526\n服务机构|0x100000|695\n服务器|0x100000|9525\n服务器版|0x100000|496\n服务器端|0x100000|630\n服务器管理|0x100000|466\n服务区|0x100000|677\n服务人员|0x0008|22\n服务商|0x100000|619\n服务上门|0x0008|1\n服务社|0x100000|783\n服务生|0x100000|675\n服务水平|0x0000|608\n服务所|0x100000|785\n服务台|0x100000|19552\n服务态度|0x0008|571\n服务体系|0x0000|635\n服务网|0x100000|647\n服务项目|0x100000|589\n服务行业|0x100000|576\n服务性|0x100000|799\n服务性行业|0x0000|431\n服务业|0x100000|4765\n服务员|0x100000|7560\n服务站|0x100000|672\n服务指南|0x100000|710\n服务质量|0x0008|666\n服务中心|0x100000|502\n服务周到|0x100000|750\n服现役|0x1000|405\n服刑人员|0x0000|480\n服役期|0x100000|1072\n服装厂|0x100000|651\n服装城|0x100000|483\n服装出口|0x100000|520\n服装袋|0x100000|373\n服装道具|0x100000|386\n服装店|0x100000|681\n服装费|0x100000|0\n服装服饰|0x100000|579\n服装辅料|0x100000|513\n服装革|0x100000|393\n服装公司|0x100000|523\n服装集团|0x100000|399\n服装节|0x100000|488\n服装类|0x100000|454\n服装贸易|0x100000|475\n服装面料|0x100000|502\n服装模特|0x100000|406\n服装品牌|0x100000|559\n服装企业|0x100000|572\n服装商|0x100000|1126\n服装设计|0x100000|642\n服装设计师|0x100000|522\n服装师|0x0000|54775\n服装市场|0x100000|530\n服装协会|0x100000|416\n服装鞋帽|0x100000|532\n服装行业|0x100000|554\n服装秀|0x100000|896\n服装学院|0x100000|484\n服装业|0x100000|557\n服装有限公司|0x100000|566\n俘越二极管|0x400008|0\n氟化钡|0x0008|0\n氟化钙|0x100000|1150\n氟化钾|0x100000|1238\n氟化钠|0x100000|1049\n氟化氢|0x100000|1086\n氟化物|0x100000|1008\n氟康唑|0x0008|1090\n氟里昂|0x100000|1107\n氟利昂|0x100000|40348\n氟尿苷三磷酸|0x400000|0\n氟塑料|0x100000|447\n氟橡胶|0x100000|409\n茯苓皮|0x0008|0\n浮白载笔|0x0000|100\n浮笔浪墨|0x1000000|100\n浮船坞|0x100000|1255\n浮翠流丹|0x0008|1536\n浮雕像|0x100000|1231\n浮动工资|0x100000|51800\n浮动汇率|0x800000|966\n浮而不实|0x0000|100\n浮瓜沉李|0x1000000|100\n浮瓜沈李|0x1000000|100\n浮光掠影|0x1000000|33507\n浮光略影|0x1000000|0\n浮光跃金|0x0000|100\n浮海石|0x100000|0\n浮花浪蕊|0x1000000|1239\n浮迹浪踪|0x1000000|100\n浮家泛宅|0x1000000|100\n浮夸风|0x100000|42429\n浮来暂去|0x1000000|100\n浮梁县|0x0040|1638\n浮名薄利|0x0000|100\n浮名虚利|0x0000|100\n浮名虚誉|0x0000|100\n浮皮潦草|0x1000000|52224\n浮山县|0x0040|1097\n浮生六记|0x400000|1038\n浮生切响|0x800000|0\n浮生若梦|0x800000|906\n浮声切响|0x0000|100\n浮石沉木|0x1000000|100\n浮士德|0x0008|1466\n浮收勒索|0x1000000|100\n浮收勒折|0x1000000|100\n浮水印|0x100000|1123\n浮头滑脑|0x1000000|100\n浮文巧语|0x100000|100\n浮想联翩|0x1000000|28716\n浮小麦|0x0008|0\n浮选机|0x100000|1005\n浮一大白|0x500000|0\n浮游动物|0x0008|0\n浮游生物|0x800000|1002\n浮游植物|0x0008|1\n浮语虚辞|0x100000|100\n浮云蔽日|0x1000000|1249\n浮云朝露|0x100000|100\n浮云富贵|0x0000|100\n浮湛连蹇|0x1000000|100\n浮踪浪迹|0x1000000|100\n桴鼓相应|0x1000000|100\n涪陵区|0x0040|1213\n符号化|0x100000|969\n符号论|0x100000|1288\n符号逻辑|0x0008|100\n符号学|0x0008|946\n符号语言|0x0008|0\n艴然不悦|0x0000|100\n幅员辽阔|0x1000000|940\n福安市|0x0040|1347\n福不盈眦|0x1000000|100\n福不重至|0x1000000|100\n福布斯|0x0008|1147\n福地洞天|0x1000000|1193\n福鼎市|0x0040|1422\n福尔马林|0x100000|38090\n福尔摩斯|0x0080|1278\n福贡县|0x0040|1164\n福过灾生|0x800000|100\n福海县|0x0040|1080\n福慧双修|0x800000|1129\n福建人|0x100000|908\n福建日报|0x100000|864\n福建省|0x0040|891\n福建师范大学|0x100000|464\n福建厦门|0x100000|535\n福克兰群岛|0x0040|1121\n福克斯|0x0008|1128\n福利彩票|0x0008|22152\n福利厂|0x100000|391\n福利待遇|0x100000|546\n福利费|0x0080|1011\n福利金|0x100000|1113\n福利社|0x100000|968\n福利事业|0x0000|481\n福利院|0x100000|815\n福利制度|0x100000|470\n福楼拜|0x0040|1613\n福禄双全|0x1000000|1230\n福清市|0x0040|1358\n福衢寿车|0x1000000|100\n福泉市|0x0040|1063\n福如东海|0x1000000|50948\n福山雅治|0x0080|0\n福善祸淫|0x1000000|1268\n福寿康宁|0x1000000|1181\n福寿绵绵|0x0000|100\n福寿年高|0x800000|100\n福寿齐天|0x800000|100\n福寿双全|0x1000000|1137\n福寿无疆|0x800000|1321\n福斯特|0x0008|1378\n福孙荫子|0x0000|100\n福特公司|0x0020|1086\n福特基金|0x0080|0\n福特基金会|0x0020|1608\n福为祸始|0x0000|100\n福为祸先|0x0000|100\n福无双至|0x1000000|52711\n福兮祸所伏|0x0008|1109\n福星高照|0x800000|941\n福倚祸伏|0x0000|100\n福音书|0x100000|49787\n福至心灵|0x1000000|44964\n福州大学|0x100000|480\n福州人|0x100000|1004\n福州市|0x0040|1090\n蜉蝣撼大树|0x100000|1355\n辐合思维|0x0008|0\n辐射防护剂|0x100000|0\n辐射分解|0x0008|0\n辐射改性|0x0008|0\n辐射计|0x100000|1203\n辐射交联|0x0008|0\n辐射力|0x100000|971\n辐射量|0x100000|1034\n辐射能|0x100000|40126\n辐射器|0x0008|1134\n辐射强度|0x0008|0\n辐射热|0x0000|387\n辐射生物学|0x0008|0\n辐射损伤|0x0008|0\n辐射体|0x0008|0\n辐射性|0x100000|1097\n辐射源|0x100000|39691\n辐射跃迁|0x0008|0\n辐射状|0x40000000|389\n抚躬自问|0x1000000|1536\n抚今悼昔|0x1000000|100\n抚今思昔|0x1000000|1292\n抚今痛昔|0x1000000|100\n抚今追昔|0x1000000|31841\n抚景伤情|0x0000|100\n抚宁县|0x0040|1576\n抚时感事|0x1000000|100\n抚世酬物|0x1000000|100\n抚顺市|0x0040|1307\n抚顺县|0x0040|1062\n抚松县|0x0040|1630\n抚绥万方|0x0020|100\n抚心自问|0x1000000|1123\n抚恤金|0x100000|24634\n抚养费|0x100000|823\n抚养权|0x100000|956\n抚远县|0x0040|1065\n抚掌大笑|0x800000|1103\n抚掌击节|0x0000|100\n抚州市|0x0040|1446\n府兵制|0x100000|1203\n府谷县|0x0040|1565\n拊背扼喉|0x1000000|100\n拊背扼吭|0x0000|100\n拊背搤吭|0x1000000|100\n拊心泣血|0x1000000|100\n拊膺顿足|0x1000000|100\n斧破斨缺|0x1000000|100\n斧钺汤镬|0x0000|100\n斧钺之诛|0x0000|100\n俯拾地芥|0x800000|100\n俯拾即是|0x1000000|40349\n俯拾皆是|0x1000000|42185\n俯拾仰取|0x800000|100\n俯视图|0x100000|815\n俯首称臣|0x800000|917\n俯首甘为孺子牛|0x0008|1043\n俯首戢耳|0x1000000|100\n俯首就缚|0x0000|100\n俯首弭耳|0x1000000|100\n俯首贴耳|0x1000000|1083\n俯首帖耳|0x1000000|49086\n俯首听命|0x800000|1121\n俯卧撑|0x100000|41451\n俯仰随人|0x1000000|100\n俯仰唯唯|0x0000|100\n俯仰无愧|0x1000000|1205\n俯仰由人|0x1000000|1310\n俯仰之间|0x1000000|1082\n釜底抽薪|0x1000000|28095\n釜底游魂|0x1000000|100\n釜底游鱼|0x1000000|55224\n釜鱼幕燕|0x1000000|100\n釜鱼甑尘|0x1000000|100\n釜中生尘|0x1000000|100\n釜中生鱼|0x1000000|100\n釜中游鱼|0x800000|100\n釜中之鱼|0x1000000|100\n脯氨酸|0x100000|1098\n辅车唇齿|0x0000|100\n辅车相将|0x1000000|100\n辅车相依|0x1000000|1284\n辅导班|0x100000|25819\n辅导材料|0x100000|999\n辅导级|0x0008|0\n辅导课|0x100000|953\n辅导室|0x0008|0\n辅导员|0x100000|11239\n辅导站|0x100000|42685\n辅导资料|0x100000|469\n辅肌动蛋白|0x0008|0\n辅仁大学|0x100000|944\n辅世长民|0x0000|100\n辅牙相倚|0x1000000|100\n辅育院|0x0008|0\n辅助材料|0x0008|861\n辅助工具|0x100000|760\n辅助剂|0x0008|1131\n辅助设计|0x100000|735\n辅助线|0x0000|453\n辅助性|0x100000|905\n腐败分子|0x0000|514\n腐败体系|0x100000|496\n腐败问题|0x100000|490\n腐败现象|0x0000|536\n腐蚀剂|0x100000|44966\n腐蚀性|0x100000|828\n腐殖质|0x100000|1085\n簠簋不饬|0x0000|100\n黼蔀黻纪|0x1000000|100\n黼黻皇猷|0x1000000|100\n黼黻文章|0x1000000|1400\n黼国黻家|0x1000000|100\n黼衣方领|0x1000000|100\n父慈子孝|0x0000|100\n父老乡亲|0x800000|840\n父老兄弟|0x100000|1128\n父母恩勤|0x100000|100\n父母官|0x100000|26329\n父母亲|0x100000|730\n父母之邦|0x1000000|100\n父亲节|0x4000|754\n父权制|0x100000|1144\n父为子隐|0x0000|100\n父析子荷|0x1000000|100\n父严子孝|0x0000|100\n父债子还|0x1000000|1141\n父子情|0x100000|418\n付定金|0x1000|453\n付款人|0x100000|1048\n付之丙丁|0x1000000|1512\n付之东流|0x1000000|33631\n付之度外|0x1000000|100\n付之梨枣|0x0000|100\n付之一炬|0x1400000|37527\n付之一叹|0x400000|100\n付之一笑|0x1400000|42902\n付诸东流|0x1000000|35354\n付诸洪乔|0x1000000|100\n付诸实践|0x800000|805\n付诸实施|0x800000|864\n付诸一炬|0x1400000|1\n付诸一笑|0x400000|100\n妇产科|0x100000|19518\n妇产医院|0x100000|939\n妇唱夫随|0x800000|1098\n妇代会|0x100000|1118\n妇道人家|0x800000|40557\n妇姑勃溪|0x0000|100\n妇姑勃谿|0x1000000|100\n妇科病|0x100000|518\n妇科疾病|0x100000|535\n妇科炎症|0x100000|492\n妇科医院|0x0000|378\n妇女病|0x100000|50561\n妇女地位|0x0008|3\n妇女儿童|0x0000|546\n妇女干部|0x0008|1\n妇女会|0x100000|416\n妇女节|0x4000|24164\n妇女界|0x100000|1167\n妇女联合会|0x100000|850\n妇女心理学|0x0008|0\n妇女运动|0x0008|2\n妇女组织|0x0008|13\n妇人醇酒|0x1000000|100\n妇人孺子|0x0000|100\n妇人之仁|0x1000000|976\n妇孺皆知|0x800000|33107\n妇幼保健|0x0008|765\n妇幼卫生|0x0008|2\n妇幼用品|0x100000|386\n负才傲物|0x1000000|100\n负才任气|0x1000000|100\n负才使气|0x1000000|100\n负材矜地|0x1000000|100\n负材任气|0x1000000|100\n负乘斯夺|0x1000000|100\n负乘致寇|0x1000000|100\n负担过重|0x0000|483\n负德背义|0x1000000|100\n负德孤恩|0x1000000|100\n负德辜恩|0x0000|100\n负地矜才|0x1000000|100\n负电荷|0x100000|1044\n负电子|0x100000|1204\n负恩背义|0x1000000|100\n负恩昧良|0x0000|100\n负恩忘义|0x1000000|100\n负反馈|0x100000|1046\n负诟忍尤|0x1000000|100\n负固不宾|0x1000000|100\n负固不服|0x1000000|100\n负荷量|0x0008|1053\n负衡据鼎|0x1000000|100\n负荆请罪|0x1000000|47051\n负荆谢罪|0x1000000|100\n负老提幼|0x1000000|100\n负老携幼|0x1000000|100\n负类反伦|0x1000000|100\n负离子|0x100000|34468\n负芒披苇|0x1000000|100\n负面新闻|0x100000|467\n负面性|0x100000|0\n负面影响|0x0000|628\n负驽前驱|0x1000000|100\n负弩前驱|0x0000|100\n负气斗狠|0x800000|100\n负气含灵|0x1000000|100\n负气仗义|0x0000|100\n负屈含冤|0x1000000|1373\n负屈衔冤|0x1000000|100\n负任蒙劳|0x1000000|100\n负石赴河|0x0000|100\n负手之歌|0x1000000|100\n负俗之讥|0x1000000|100\n负俗之累|0x1000000|100\n负土成坟|0x1000000|1542\n负险不宾|0x1000000|100\n负险不臣|0x1000000|100\n负效应|0x100000|1041\n负心人|0x0008|957\n负心违愿|0x0000|100\n负薪构堂|0x1000000|100\n负薪救火|0x1000000|100\n负薪之忧|0x100000|100\n负义忘恩|0x1000000|100\n负隅顽抗|0x1000000|35201\n负载量|0x100000|1136\n负责人|0x100000|1767\n负责任|0x0000|621\n负责制|0x100000|820\n负增长|0x1000|33755\n负债累累|0x800000|894\n负债人|0x100000|1258\n负重含污|0x0000|100\n负重涉远|0x1000000|100\n负重吞污|0x1000000|100\n负重致远|0x1000000|1309\n负阻不宾|0x1000000|100\n负罪感|0x100000|819\n负罪引慝|0x1000000|100\n附带民事诉讼|0x0008|4\n附耳低言|0x0000|100\n附耳射声|0x1000000|100\n附凤攀龙|0x1000000|1534\n附肤落毛|0x1000000|100\n附会穿凿|0x1000000|100\n附骥名彰|0x800000|100\n附骥攀鸿|0x800000|100\n附骥攀鳞|0x1000000|100\n附骥尾|0x1000|100\n附加费|0x100000|21800\n附加税|0x100000|40558\n附加条件|0x0000|491\n附加物|0x100000|1122\n附加刑|0x100000|1181\n附加值|0x100000|735\n附件炎|0x100000|440\n附面层|0x0008|0\n附膻逐腥|0x0000|100\n附上罔下|0x1000000|100\n附生植物|0x0008|0\n附声吠影|0x1000000|100\n附势趋炎|0x1000000|100\n附图给出了本实用新型的一个实施例|0x400000|0\n附下罔上|0x1000000|1426\n附炎趋热|0x1000000|100\n附翼攀鳞|0x1000000|100\n附影附声|0x1000000|100\n附庸风雅|0x1000000|40559\n附庸国|0x100000|1160\n附属国|0x100000|53728\n附属品|0x100000|860\n附属物|0x100000|997\n附属中学|0x100000|478\n附赘县疣|0x1000000|1537\n附赘悬肬|0x1000000|100\n附赘悬疣|0x800000|1540\n附着力|0x100000|42903\n附着物|0x100000|992\n阜城县|0x0040|1370\n阜康市|0x0040|1654\n阜南县|0x0040|1613\n阜宁县|0x0040|1405\n阜平县|0x0040|1065\n阜新蒙古族自治县|0x0040|1794\n阜新市|0x0040|1402\n阜阳市|0x0040|1274\n复仇者|0x100000|906\n复旦大学|0x0020|1069\n复旦大学医学院|0x100000|368\n复蹈前辙|0x0000|100\n复读机|0x0008|41235\n复二部曲式|0x400000|0\n复分解反应|0x100000|1238\n复分析|0x100000|1165\n复辅音|0x0008|1332\n复合板|0x100000|495\n复合布|0x100000|384\n复合材料|0x100000|703\n复合词|0x100000|1085\n复合袋|0x100000|443\n复合地板|0x100000|529\n复合肥料|0x100000|1000\n复合管|0x100000|479\n复合机|0x100000|469\n复合句|0x0008|1071\n复合量词|0x100000|1347\n复合门|0x100000|421\n复合体|0x100000|959\n复合物|0x100000|945\n复合型|0x20000000|15913\n复合元音|0x100000|1344\n复活节|0x4000|32116\n复活日|0x4000|1216\n复旧如初|0x0000|100\n复利率|0x100000|1407\n复流形|0x100000|0\n复名数|0x100000|1343\n复三部曲式|0x400000|0\n复色光|0x100000|1382\n复习方法|0x100000|470\n复习计划|0x100000|463\n复习题|0x100000|868\n复习资料|0x100000|807\n复写纸|0x100000|48710\n复兴门|0x0040|1350\n复印机|0x100000|24228\n复印件|0x100000|19805\n复印室|0x0008|1141\n复印纸|0x0000|50166\n复员军人|0x100000|1015\n复杂度|0x100000|880\n复杂化|0x1000|19052\n复杂劳动|0x100000|30917\n复杂性|0x100000|9249\n复制品|0x100000|25698\n复制器|0x0000|435\n复制子|0x0008|0\n复种面积|0x0008|0\n复种指数|0x800000|1200\n赴汤蹈火|0x1000000|29628\n赴险如夷|0x0000|100\n副班长|0x0000|505\n副标题|0x100000|21264\n副部长|0x100000|681\n副参谋长|0x0000|448\n副产品|0x100000|33510\n副产物|0x0008|410\n副处长|0x100000|565\n副大队长|0x100000|459\n副董事长|0x0000|543\n副反应|0x0008|462\n副会长|0x100000|636\n副驾驶|0x100000|504\n副检察长|0x0000|464\n副教授|0x100000|11334\n副经理|0x0000|560\n副局长|0x100000|692\n副科长|0x100000|470\n副理事长|0x100000|538\n副秘书长|0x100000|183\n副热带|0x100000|420\n副伤寒|0x100000|50167\n副社长|0x100000|486\n副省长|0x100000|617\n副食店|0x100000|899\n副食品|0x100000|682\n副市长|0x100000|679\n副司长|0x100000|536\n副所长|0x100000|562\n副厅长|0x100000|551\n副团长|0x100000|528\n副委员长|0x100000|110\n副县长|0x100000|561\n副线圈|0x100000|1540\n副乡长|0x0000|439\n副校长|0x100000|625\n副研究员|0x100000|506\n副议长|0x100000|415\n副油箱|0x100000|1120\n副院长|0x100000|644\n副粘病毒|0x0008|0\n副主任委员|0x0000|506\n副主席|0x0000|706\n副总裁|0x0000|672\n副总参谋长|0x0000|416\n副总工程师|0x0000|458\n副总经理|0x0000|669\n副总理|0x100000|702\n副总统|0x0000|562\n副组长|0x100000|561\n副作用|0x100000|16242\n傅粉何郎|0x1000000|100\n傅粉施朱|0x1000000|100\n傅里叶变换|0x0008|0\n傅里叶定律|0x0008|0\n傅立叶|0x0008|1608\n富川瑶族自治县|0x0040|1653\n富春江|0x0040|1434\n富富有余|0x800000|1199\n富贵逼人|0x800000|853\n富贵逼人来|0x0008|1267\n富贵病|0x100000|41931\n富贵不能淫|0x0008|878\n富贵不淫|0x1000000|1156\n富贵浮云|0x1000000|1177\n富贵骄人|0x1000|100\n富贵利达|0x1000000|1270\n富贵鸟|0x100000|381\n富贵荣华|0x1000000|958\n富贵显荣|0x1000000|100\n富贵在天|0x0000|391\n富贵竹|0x100000|418\n富国安民|0x1000000|100\n富国彊兵|0x1000000|100\n富国强兵|0x1000000|44673\n富国强民|0x1000000|1135\n富国兴邦|0x1000000|1337\n富国裕民|0x1000000|100\n富豪榜|0x100000|539\n富集培养基|0x0008|0\n富家大室|0x1000000|100\n富家巨室|0x0000|100\n富甲天下|0x100000|934\n富坚义博|0x0080|0\n富锦市|0x0040|1653\n富堪敌国|0x1000000|1510\n富可敌国|0x1000000|901\n富兰克林|0x0040|1342\n富丽堂皇|0x1000000|23262\n富轹万古|0x1000000|100\n富埒陶白|0x800000|100\n富埒王侯|0x0000|100\n富面百城|0x1000000|100\n富民县|0x0040|1045\n富民政策|0x800000|856\n富宁县|0x0040|1109\n富农经济|0x0008|0\n富平县|0x0040|1044\n富强粉|0x0000|53729\n富商大贾|0x1000000|52226\n富商巨贾|0x1000000|1113\n富商蓄贾|0x1000000|100\n富士山|0x0040|1246\n富士通|0x0008|1142\n富室大家|0x1000000|100\n富顺县|0x0040|1653\n富阳市|0x0040|1301\n富营养化|0x1000|1051\n富于春秋|0x0000|100\n富裕户|0x100000|1210\n富裕县|0x0040|1040\n富裕中农|0x100000|1103\n富源县|0x0040|1379\n富蕴县|0x0040|1051\n富在知足|0x0000|100\n赋格曲|0x100000|0\n赋税额|0x100000|0\n缚鸡之力|0x100000|904\n缚手缚脚|0x800000|1123\n腹饱万言|0x1000000|100\n腹背受敌|0x1000000|34172\n腹背之毛|0x1000000|100\n腹非心谤|0x800000|100\n腹诽心谤|0x0000|100\n腹股沟|0x100000|52227\n腹膜炎|0x0008|54250\n腹腔镜|0x100000|513\n腹热肠荒|0x1000000|100\n腹热肠慌|0x1000000|0\n腹热心煎|0x1000000|100\n腹通谷|0x0040|0\n腹心相照|0x1000000|100\n腹心之患|0x1000000|100\n腹心之疾|0x1000000|1324\n腹有鳞甲|0x1000000|100\n腹载五车|0x1400000|0\n腹中兵甲|0x0000|100\n蝮蛇螫手|0x100000|1537\n覆巢毁卵|0x0000|100\n覆巢无完卵|0x0008|1535\n覆车之轨|0x0000|100\n覆车之鉴|0x100000|1375\n覆车之戒|0x100000|100\n覆地翻天|0x800000|100\n覆盖层|0x0008|0\n覆盖率|0x100000|6255\n覆盖面|0x100000|8986\n覆海移山|0x0000|100\n覆军杀将|0x0000|100\n覆鹿寻蕉|0x0000|100\n覆盆难照|0x0000|100\n覆盆之冤|0x1000000|1515\n覆盆子|0x100000|55662\n覆去翻来|0x0000|100\n覆手为雨|0x800000|995\n覆水难收|0x1000000|50168\n覆亡无日|0x0000|100\n覆盂之安|0x0000|100\n覆雨翻云|0x800000|882\n覆舟之戒|0x0000|100\n覆宗灭祀|0x0000|100\n旮旮旯旯|0x8000|1280\n旮旮旯旯儿|0x8000|1364\n旮旯儿|0x100000|21424\n伽利略|0x0080|1408\n伽马刀|0x0000|51374\n伽马射线|0x100000|47350\n伽师县|0x0040|1151\n嘎嘣脆|0x0100|1255\n嘎渣儿|0x100000|0\n噶尔县|0x0040|1204\n该怎样|0x4000000|602\n改变成|0x0000|475\n改变命运|0x0000|526\n改步改玉|0x1000000|100\n改操易节|0x0000|100\n改朝换代|0x1000000|30802\n改朝换姓|0x1000000|100\n改恶从善|0x1000000|51376\n改恶为善|0x1000000|100\n改恶向善|0x800000|1300\n改恶行善|0x0000|100\n改而更张|0x1000000|100\n改革法|0x100000|1138\n改革方案|0x0000|641\n改革开放|0x0008|2224\n改革开放政策|0x0000|426\n改革派|0x100000|990\n改革者|0x100000|959\n改过不吝|0x1000000|100\n改过从善|0x0000|100\n改过迁善|0x1000000|1178\n改过自新|0x1000000|37695\n改过作新|0x0000|100\n改换家门|0x0000|100\n改换门闾|0x1000000|100\n改换门楣|0x0000|100\n改换门庭|0x1000|49789\n改换头面|0x1000000|100\n改节易操|0x0000|100\n改进工作|0x0000|531\n改进型|0x40000000|508\n改柯易节|0x0000|100\n改柯易叶|0x1000000|100\n改口沓舌|0x1000000|100\n改良种|0x100000|1321\n改良主义|0x100000|1076\n改梁换柱|0x1000000|100\n改名换姓|0x1000|44674\n改名易姓|0x0000|100\n改曲易调|0x1000000|100\n改容易貌|0x800000|1539\n改是成非|0x0000|100\n改俗迁风|0x0000|100\n改天换地|0x1000000|34471\n改头换面|0x1000000|25621\n改头换尾|0x0000|100\n改途易辙|0x0000|100\n改往修来|0x1000000|1295\n改弦更张|0x1000000|32240\n改弦易调|0x1000000|100\n改弦易张|0x1000000|100\n改弦易辙|0x1000000|39505\n改邪归正|0x1000000|34472\n改行从善|0x1000000|1533\n改行迁善|0x0000|100\n改行为善|0x1000000|100\n改行自新|0x1000000|100\n改姓更名|0x0000|100\n改姓易代|0x1000000|100\n改性沥青|0x0008|453\n改性纤维|0x0008|0\n改玉改步|0x1000000|100\n改玉改行|0x1000000|100\n改辕易辙|0x0000|100\n改则县|0x0040|1244\n改张易调|0x1000000|100\n改辙易途|0x0000|100\n改正错误|0x0000|494\n改政移风|0x1000000|100\n改柱张弦|0x1000000|0\n钙长石|0x100000|1337\n钙调素|0x0008|0\n钙基润滑脂|0x0008|0\n钙镁磷肥|0x0008|0\n盖玻片|0x0008|1191\n盖不由己|0x0000|100\n盖棺论定|0x1000000|49431\n盖棺事定|0x0000|100\n盖浇饭|0x0000|55958\n盖洛普|0x0008|1616\n盖帽儿|0x100000|26331\n盖然性|0x100000|1230\n盖世太保|0x100000|49790\n盖世无双|0x1000000|1062\n盖世英雄|0x0000|100\n盖世之才|0x0000|100\n盖头换面|0x0000|100\n盖亚那|0x0080|1320\n盖州市|0x0040|1526\n概不负责|0x800000|776\n概而言之|0x800000|1130\n概括性|0x100000|30700\n概率论|0x0008|841\n概率译码|0x0008|0\n概略性|0x100000|0\n概莫能外|0x1000000|41005\n概念车|0x100000|555\n概念股|0x100000|815\n概念化|0x1000|26525\n概念上|0x0000|496\n概念性|0x100000|904\n概日凌云|0x1000000|100\n概言之|0x0000|53234\n干巴巴|0x0100|24495\n干巴利脆|0x0000|100\n干巴利落|0x0000|100\n干部队伍|0x0000|587\n干部管理|0x100000|740\n干部科|0x100000|1\n干部培训班|0x100000|473\n干部群众|0x0000|583\n干部人事|0x100000|516\n干部人事制度改革|0x0000|473\n干部学校|0x100000|442\n干部学院|0x100000|515\n干部政策|0x0008|2\n干部职工|0x0000|610\n干槽症|0x100000|1313\n干草堆|0x100000|1132\n干草粉|0x0008|0\n干柴烈火|0x1000000|52722\n干城之将|0x1000000|100\n干脆利落|0x800000|36991\n干脆利索|0x800000|1069\n干打雷|0x800000|0\n干打垒|0x100000|41932\n干瞪眼|0x1000|41933\n干电池|0x100000|34933\n干端坤倪|0x0000|100\n干儿子|0x100000|32117\n干粉灭火器|0x0008|1\n干父之蛊|0x0000|100\n干干脆脆|0x0008|0\n干干净净|0x0100|669\n干干翼翼|0x0000|100\n干戈扰攘|0x1000000|1298\n干戈四起|0x400000|1131\n干戈载戢|0x0000|100\n干活儿|0x1000|17070\n干将莫邪|0x0000|100\n干酵母|0x0008|1074\n干劲冲天|0x800000|1091\n干劲儿|0x100000|1150\n干劲十足|0x400000|1\n干净利落|0x40000000|26608\n干净利索|0x800000|936\n干名采誉|0x1000000|100\n干名犯义|0x1000000|1537\n干女儿|0x0000|29200\n干亲家|0x0000|48336\n干卿底事|0x800000|1190\n干卿何事|0x1000000|1192\n干扰素|0x100000|916\n干热风|0x100000|1229\n干涉滤光片|0x0008|0\n干涉显微镜|0x0008|0\n干涉现象|0x800000|1157\n干涉仪|0x100000|1078\n干什么|0x1000|498\n干事会|0x100000|1202\n干啼湿哭|0x0000|100\n干细胞|0x100000|796\n干鲜果|0x100000|943\n干鲜果品|0x0000|41692\n干霄蔽日|0x1000000|100\n干霄凌云|0x0000|100\n干性油|0x100000|1259\n干休所|0x100000|21801\n干血浆|0x100000|1292\n干盐湖|0x0008|0\n干一番事业|0x400000|0\n干云蔽日|0x1000000|1508\n干燥花|0x100000|370\n干燥机|0x0008|1243\n干燥剂|0x100000|860\n干燥气候|0x0008|0\n干燥器|0x0008|1562\n干燥设备|0x100000|559\n干燥塔|0x0008|1123\n干燥箱|0x100000|848\n干着急|0x800000|32617\n甘氨酸|0x100000|999\n甘败下风|0x1000|1176\n甘拜下风|0x1000|39082\n甘比亚共和国|0x0040|1368\n甘处下流|0x0000|100\n甘德县|0x0040|1162\n甘分随时|0x0000|100\n甘谷县|0x0040|1058\n甘瓜苦蒂|0x1000000|100\n甘井先竭|0x1000000|100\n甘居人后|0x0000|100\n甘居中游|0x800000|1410\n甘苦与共|0x800000|1087\n甘露醇|0x0008|1592\n甘洛县|0x0040|1093\n甘冒虎口|0x1000000|100\n甘南县|0x0040|1039\n甘贫乐道|0x0000|100\n甘贫守分|0x0000|100\n甘泉必竭|0x0000|100\n甘泉县|0x0040|1122\n甘死如饴|0x0000|100\n甘肃兰州|0x100000|490\n甘肃人|0x100000|1057\n甘肃省|0x0040|1056\n甘棠遗爱|0x1000000|100\n甘棠之爱|0x0000|100\n甘棠之惠|0x0000|100\n甘托克|0x0040|1284\n甘心瞑目|0x1000000|1501\n甘心情原|0x1000000|100\n甘心情愿|0x1000000|870\n甘心如荠|0x1000000|100\n甘心首疾|0x0000|100\n甘言厚礼|0x0000|100\n甘言美语|0x800000|100\n甘油二酯|0x400000|0\n甘油酯|0x0008|963\n甘雨随车|0x1000000|100\n甘雨洲|0x0040|0\n甘蔗渣|0x100000|1123\n甘蔗汁|0x0008|1057\n甘之如荠|0x0000|100\n甘之如饴|0x1000000|54252\n甘之若素|0x0000|100\n甘旨肥浓|0x1000000|100\n甘孜藏族自治州|0x0040|1610\n甘孜县|0x0040|1154\n杆状病毒|0x0008|0\n肝肠寸断|0x1000000|43651\n肝胆楚越|0x1000000|1389\n肝胆过人|0x0000|100\n肝胆胡越|0x1000000|100\n肝胆科|0x100000|1246\n肝胆披沥|0x1000000|100\n肝胆涂地|0x1000000|100\n肝胆相照|0x1000000|22006\n肝胆欲碎|0x0000|100\n肝胆照人|0x1000000|1304\n肝腹水|0x100000|482\n肝功能|0x100000|35355\n肝脑涂地|0x1000000|39280\n肝素钠|0x0000|400\n肝髓流野|0x1000000|100\n肝吸虫|0x0008|1171\n肝细胞|0x0000|521\n肝心若裂|0x800000|100\n肝心涂地|0x1000000|100\n肝硬变|0x100000|1113\n肝硬化|0x100000|26883\n肝肿大|0x0008|384\n柑桔大实蝇|0x0008|0\n柑桔锈螨|0x0008|0\n竿头日进|0x0000|100\n竿头日上|0x0000|100\n竿头一步|0x400000|100\n竿头直上|0x800000|100\n秆黑粉病|0x0008|0\n赶不及|0x8000000|47054\n赶不上|0x1000|15123\n赶潮流|0x800000|49791\n赶得及|0x8000000|51805\n赶得上|0x1000|39281\n赶点儿|0x100000|0\n赶活儿|0x0000|53236\n赶尽杀绝|0x1000000|41239\n赶浪头|0x1000|50170\n赶庙会|0x1000|45273\n赶明儿|0x4000|29630\n赶热闹|0x1000|0\n赶任务|0x0000|48337\n赶时髦|0x800000|32118\n赶趟儿|0x1000|52230\n赶下台|0x1000|1001\n赶先进|0x0000|50171\n赶鸭子上架|0x0008|946\n敢把皇帝拉下马|0x0008|1155\n敢不承命|0x0000|100\n敢不敢|0x4000000|557\n敢怒不敢言|0x0008|914\n敢怒而不敢言|0x0008|1069\n敢怒敢言|0x0000|100\n敢死队|0x100000|27200\n敢为敢做|0x0000|100\n敢为人先|0x0000|26885\n敢为天下先|0x0008|916\n敢勇当先|0x1000000|100\n敢怨而不敢言|0x0000|100\n敢作敢当|0x1000000|1016\n敢作敢为|0x1000000|37528\n感戴二天|0x400000|100\n感到高兴|0x0000|559\n感恩戴德|0x1000000|36992\n感恩怀德|0x1000000|100\n感恩节|0x4000|37696\n感恩图报|0x1000000|44125\n感官世界|0x100000|437\n感光材料|0x0008|945\n感光度|0x0008|49090\n感光剂|0x100000|1292\n感光片|0x100000|1238\n感光性|0x100000|1199\n感光纸|0x100000|1310\n感化院|0x0008|1161\n感激不尽|0x800000|792\n感激涕零|0x1000000|31284\n感极涕零|0x1000000|100\n感今怀昔|0x1000000|100\n感今思昔|0x1000000|100\n感今惟昔|0x1000000|100\n感旧之哀|0x800000|100\n感觉到|0x0000|820\n感觉道|0x0008|0\n感觉器官|0x100000|961\n感觉神经|0x800000|992\n感慨激昂|0x1000000|100\n感慨万端|0x800000|32884\n感慨万千|0x40000000|18987\n感慨系之|0x1000000|41694\n感冒药|0x100000|810\n感情上|0x0000|600\n感情生活|0x100000|736\n感情用事|0x1000|28718\n感染力|0x100000|10172\n感染率|0x100000|972\n感染性|0x100000|839\n感人肺腑|0x1000000|24118\n感人肺肝|0x1000000|100\n感人故事|0x100000|472\n感人事迹|0x0000|445\n感人心脾|0x1000000|100\n感人至深|0x40000000|820\n感深肺腑|0x1000000|100\n感生电流|0x100000|1368\n感受到|0x1000|781\n感受力|0x100000|944\n感受器|0x0008|32505\n感受态|0x0008|0\n感受性|0x0008|430\n感受一下|0x400000|8\n感叹词|0x0008|53733\n感叹号|0x100000|48339\n感叹句|0x100000|1068\n感天动地|0x1000000|893\n感同身受|0x1000000|31979\n感谢信|0x100000|20993\n感兴趣|0x0000|799\n感性认识|0x800000|24559\n感应电|0x0000|390\n感应电流|0x100000|845\n感应力|0x100000|1080\n感应炉|0x0008|1109\n感应器|0x0008|811\n感应圈|0x100000|1304\n感应线|0x0008|0\n感遇忘身|0x0000|100\n感召力|0x100000|897\n橄榄绿|0x100000|36993\n橄榄球|0x100000|33389\n橄榄球赛|0x100000|1089\n橄榄色|0x100000|53734\n橄榄石|0x100000|949\n橄榄树|0x100000|826\n橄榄油|0x100000|36802\n橄榄枝|0x100000|33110\n擀面杖|0x100000|38463\n旰食宵衣|0x1000000|100\n旰食之劳|0x0000|100\n赣榆县|0x0040|1454\n赣州市|0x0040|1362\n冈比亚|0x0040|1038\n刚愎自用|0x1000000|36286\n刚察县|0x0040|1124\n刚肠嫉恶|0x800000|100\n刚果河|0x100000|1168\n刚开始|0x0000|729\n刚戾自用|0x1000000|100\n刚柔并济|0x800000|912\n刚柔相济|0x1000000|36803\n刚毅木讷|0x1000000|1172\n刚正不阿|0x1000000|33111\n刚直不阿|0x800000|34934\n刚中柔外|0x0000|100\n岗巴县|0x0040|1218\n岗头泽底|0x1000000|100\n岗位培训|0x0008|731\n岗位责任|0x100000|898\n岗位责任制|0x0008|937\n岗位职责|0x100000|584\n纲纪废弛|0x0000|100\n纲举目张|0x1000000|50173\n纲领性|0x100000|932\n纲领性文件|0x0000|453\n纲目不疏|0x0000|100\n纲挈目张|0x0000|100\n纲提领挈|0x0000|100\n钢板网|0x100000|431\n钢笔尖|0x100000|0\n钢笔套|0x100000|1278\n钢材价格|0x100000|552\n钢材市场|0x100000|555\n钢管厂|0x100000|437\n钢管舞|0x100000|495\n钢化玻璃|0x100000|47669\n钢浇铁铸|0x1000000|100\n钢结构|0x100000|651\n钢结构厂房|0x100000|371\n钢结构工程|0x100000|473\n钢筋混凝土|0x100000|809\n钢筋铁骨|0x1000000|43405\n钢琴家|0x100000|778\n钢琴课|0x100000|418\n钢琴谱|0x100000|460\n钢琴曲|0x100000|35657\n钢琴曲谱|0x100000|379\n钢琴师|0x100000|486\n钢丝床|0x100000|45870\n钢丝锯|0x100000|1251\n钢丝绳|0x100000|34304\n钢丝刷|0x100000|371\n钢丝网|0x100000|418\n钢铁产业|0x100000|483\n钢铁长城|0x800000|1000\n钢铁厂|0x100000|852\n钢铁工业|0x100000|526\n钢铁集团|0x100000|513\n钢铁价格|0x100000|449\n钢铁贸易|0x100000|418\n钢铁企业|0x100000|563\n钢铁市场|0x100000|457\n钢铁行业|0x100000|548\n钢铁业|0x100000|530\n钢铁有限公司|0x100000|482\n钢之炼金术师|0x100000|487\n钢制品|0x100000|821\n港澳办|0x100000|1022\n港澳地区|0x0040|1437\n港澳台|0x0040|12800\n港澳游|0x100000|461\n港口城市|0x0000|501\n港口机械|0x100000|407\n港台歌曲|0x100000|412\n港台歌手|0x100000|488\n港台剧|0x100000|453\n港台明星|0x100000|523\n港台女歌手|0x100000|545\n港味儿|0x0000|52232\n港务费|0x100000|0\n港务监督|0x0008|0\n港务局|0x100000|905\n杠板归|0x100000|1407\n戆头戆脑|0x0100|0\n皋兰县|0x0040|1059\n羔羊皮|0x100000|1241\n高安市|0x0040|1550\n高岸深谷|0x1000000|100\n高傲自大|0x0000|100\n高八度|0x0000|55229\n高保真|0x40000000|47056\n高碑店|0x0040|1381\n高碑店市|0x0040|1459\n高鼻子|0x100000|957\n高标号|0x40000000|54253\n高不成|0x800000|923\n高不成低不就|0x0008|898\n高不凑低不就|0x0008|100\n高不辏低不就|0x0000|100\n高不可登|0x1000000|100\n高不可攀|0x1000000|30499\n高步阔视|0x1000000|100\n高步通衢|0x1000000|100\n高步云衢|0x1000000|100\n高才大学|0x0000|100\n高才疾足|0x1000000|100\n高才捷足|0x1000000|100\n高才绝学|0x1000000|100\n高才生|0x100000|862\n高才远识|0x1000000|100\n高才卓识|0x1000000|100\n高材疾足|0x1000000|100\n高材捷足|0x1000000|100\n高材生|0x100000|33633\n高层次|0x100000|638\n高层建筑|0x100000|549\n高层领导|0x100000|523\n高层论坛|0x100000|535\n高层住宅|0x100000|533\n高产田|0x100000|1222\n高唱入云|0x1000000|1232\n高潮时|0x100000|494\n高车驷马|0x1000000|1291\n高城深池|0x1000000|1406\n高出一筹|0x401000|0\n高处不胜寒|0x0000|494\n高纯水|0x100000|434\n高淳县|0x0040|1523\n高蛋白|0x40000000|28458\n高档次|0x100000|526\n高档轿车|0x100000|468\n高档礼品|0x100000|421\n高蹈远举|0x0000|100\n高等动物|0x0000|38263\n高等法院|0x100000|493\n高等级|0x40000000|570\n高等级公路|0x100000|490\n高等教育|0x0000|4747\n高等教育出版社|0x0020|1315\n高等师范|0x100000|421\n高等数学|0x100000|565\n高等学历|0x100000|459\n高等学校|0x100000|7320\n高等院校|0x100000|655\n高等职业|0x100000|548\n高等职业教育|0x100000|484\n高等专科|0x100000|428\n高等专科学校|0x100000|571\n高低杠|0x100000|31037\n高度表|0x100000|1150\n高度化|0x1000|1208\n高度计|0x100000|1086\n高遏行云|0x1000000|100\n高而不危|0x0000|100\n高尔察克|0x0080|0\n高尔夫|0x100000|572\n高尔夫球|0x100000|20942\n高尔夫球场|0x100000|789\n高尔夫球杆|0x100000|420\n高尔基|0x0040|1373\n高尔吉亚|0x0080|0\n高飞远遁|0x0000|100\n高飞远集|0x0000|100\n高飞远举|0x1000000|100\n高飞远翔|0x0000|100\n高飞远走|0x1000000|1151\n高分辨率|0x100000|559\n高分低能|0x800000|993\n高分子|0x100000|693\n高分子材料|0x0008|522\n高分子化|0x100000|0\n高分子化合物|0x100000|1077\n高风劲节|0x1000000|100\n高风峻节|0x1000000|100\n高风亮节|0x1000000|24762\n高峰会|0x100000|501\n高峰论坛|0x100000|570\n高峰期|0x100000|12437\n高凤自秽|0x1000000|100\n高钙血症|0x0008|0\n高高大大|0x0100|920\n高高低低|0x0100|31844\n高高挂起|0x800000|890\n高高兴兴|0x0100|712\n高高在上|0x1000000|18426\n高歌猛进|0x1000000|38879\n高歌一曲|0x400000|3\n高个儿|0x20000000|28916\n高个子|0x100000|19772\n高跟儿|0x0000|35497\n高跟儿鞋|0x0000|43879\n高跟鞋|0x100000|629\n高顾遐视|0x1000000|100\n高官厚禄|0x1000000|41240\n高官极品|0x0000|100\n高官显爵|0x1000000|100\n高官重禄|0x1000000|100\n高官尊爵|0x1000000|100\n高冠博带|0x0000|100\n高寒区|0x8000|1288\n高积云|0x100000|1346\n高绩效|0x100000|499\n高级程序员|0x100000|473\n高级法院|0x100000|458\n高级工|0x100000|477\n高级工程师|0x100000|581\n高级管理人员|0x100000|566\n高级会议|0x0008|2\n高级技工|0x100000|466\n高级技师|0x100000|489\n高级将领|0x100000|507\n高级轿车|0x100000|495\n高级教师|0x100000|528\n高级经济师|0x100000|457\n高级领导人|0x100000|401\n高级律师|0x100000|382\n高级人才|0x100000|552\n高级人民法院|0x100000|564\n高级社|0x100000|1110\n高级神经|0x100000|1112\n高级研究员|0x100000|438\n高级职称|0x0000|530\n高级中学|0x800000|741\n高技术|0x100000|14507\n高技术产业|0x100000|500\n高加索|0x0040|1333\n高甲戏|0x100000|47057\n高价药|0x100000|376\n高架道路|0x100000|1092\n高架公路|0x0008|0\n高架桥|0x100000|35978\n高架铁路|0x0008|3\n高见远识|0x1000000|100\n高脚杯|0x100000|40784\n高节清风|0x1000000|100\n高精度|0x20000000|686\n高精尖|0x100000|30803\n高居深拱|0x1000000|100\n高举深藏|0x0000|100\n高举远蹈|0x0000|100\n高爵厚禄|0x1000000|100\n高爵重禄|0x1000000|100\n高考状元|0x100000|512\n高考作文|0x100000|547\n高科技|0x100000|3688\n高科技产品|0x100000|575\n高科技产业|0x100000|524\n高科技股|0x100000|397\n高科技企业|0x100000|593\n高空槽|0x100000|1255\n高空作业|0x800000|833\n高空作业平台|0x100000|413\n高栏赛|0x100000|0\n高垒深沟|0x1000000|100\n高丽参|0x100000|50174\n高丽纸|0x100000|1294\n高利贷|0x100000|24056\n高利贷者|0x100000|370\n高利率|0x100000|422\n高梁面|0x0000|41241\n高粱酒|0x100000|1002\n高粱米|0x100000|40129\n高岭土|0x100000|49092\n高陵县|0x0040|1080\n高楼大厦|0x1000000|747\n高帽儿|0x100000|1403\n高帽子|0x100000|34778\n高门大户|0x1000000|100\n高门大屋|0x0000|100\n高锰钢|0x100000|1088\n高锰酸钾|0x100000|36804\n高密度|0x0008|23111\n高密市|0x0040|1397\n高名大姓|0x0000|100\n高明远识|0x0000|100\n高钠血症|0x0008|0\n高能量|0x20000000|932\n高能物理|0x100000|1013\n高睨大谈|0x1000000|100\n高年级|0x20000000|21303\n高朋满座|0x1000000|41935\n高频变压器|0x100000|390\n高频电波|0x800000|1066\n高频放大器|0x0008|0\n高频放电|0x0008|0\n高频机|0x100000|384\n高频头|0x100000|479\n高平市|0x0040|1566\n高桥克典|0x0080|0\n高青县|0x0040|1061\n高情厚谊|0x0000|100\n高情逸态|0x0000|100\n高情逸兴|0x1000000|100\n高情远意|0x1000000|100\n高情远韵|0x1000000|100\n高情远致|0x1000000|100\n高人雅士|0x0000|100\n高人一筹|0xc00000|1\n高人一等|0x1400000|34779\n高人逸士|0x1000000|1337\n高山病|0x100000|49093\n高山反应|0x100000|42192\n高山景行|0x1000000|100\n高山峻岭|0x800000|1053\n高山流水|0x1000000|37168\n高山仰之|0x0000|100\n高山仰止|0x1000000|40130\n高山族|0x0008|27360\n高射机枪|0x0000|52233\n高射炮|0x100000|35498\n高深莫测|0x1000000|35658\n高识远见|0x1000000|100\n高世骇俗|0x0000|100\n高视阔步|0x1000000|46743\n高斯曲率|0x0008|0\n高耸入云|0x800000|869\n高速电影|0x100000|483\n高速度|0x40000000|530\n高速钢|0x100000|907\n高速公路|0x100000|3526\n高速化|0x100000|1060\n高速缓存|0x0000|520\n高速路|0x100000|586\n高速铁路|0x100000|29101\n高台县|0x0040|1638\n高抬贵手|0x1000000|32618\n高抬明镜|0x1000000|100\n高谈大论|0x1000000|100\n高谈弘论|0x0000|100\n高谈阔论|0x1000000|27201\n高谈雄辩|0x1000000|100\n高谈虚论|0x1000000|100\n高碳钢|0x100000|1057\n高唐县|0x0040|1574\n高堂大厦|0x1000000|100\n高天厚地|0x1000000|100\n高挑儿|0x100000|1288\n高头大马|0x800000|38264\n高头讲章|0x1000000|1263\n高纬度|0x20000000|29317\n高位厚禄|0x1000000|100\n高位重禄|0x1000000|100\n高温假|0x100000|1140\n高温润滑脂|0x0008|0\n高文大册|0x1000000|100\n高文典册|0x1000000|100\n高文典策|0x1000000|100\n高卧东山|0x0000|100\n高屋建瓴|0x1000000|19111\n高下其手|0x1000000|100\n高下任心|0x1000000|100\n高下在口|0x1000000|100\n高下在手|0x1000000|100\n高下在心|0x1000000|100\n高翔远引|0x800000|100\n高消费|0x0000|19022\n高效率|0x20000000|674\n高效能|0x100000|38092\n高校毕业生|0x100000|619\n高校后勤|0x100000|452\n高校教师|0x100000|502\n高校学生|0x100000|536\n高新技术|0x100000|2986\n高新区|0x100000|628\n高姓大名|0x0000|100\n高雄市|0x0040|1264\n高雄县|0x0040|1390\n高悬秦镜|0x0000|100\n高血压|0x100000|9743\n高血压患者|0x100000|566\n高血脂|0x0000|36805\n高压包|0x100000|432\n高压泵|0x100000|477\n高压电|0x100000|45871\n高压电器|0x100000|425\n高压电源|0x100000|397\n高压发生器|0x100000|396\n高压阀门|0x100000|373\n高压锅|0x100000|36806\n高压聚乙烯|0x100000|417\n高压水泵|0x100000|389\n高压线|0x100000|24370\n高牙大纛|0x1000000|100\n高阳酒徒|0x1000000|1190\n高阳县|0x0040|1520\n高要市|0x0040|1470\n高一化学|0x100000|457\n高义薄云|0x1000000|1386\n高义薄云天|0x0008|1535\n高邑县|0x0040|1047\n高邮市|0x0040|1374\n高于一切|0x100000|509\n高斋学士|0x1000000|100\n高瞻远瞩|0x1000000|13365\n高掌远跖|0x0000|100\n高掌远蹠|0x1000000|100\n高枕安寝|0x1000000|100\n高枕安卧|0x1000000|1525\n高枕而卧|0x1000000|1315\n高枕无忧|0x1000000|28178\n高枕勿忧|0x1000000|100\n高中版|0x100000|428\n高中毕业生|0x100000|532\n高中部|0x100000|501\n高中地理|0x100000|446\n高中化学|0x100000|477\n高中课程|0x100000|461\n高中历史|0x100000|454\n高中女生|0x100000|516\n高中生|0x100000|17089\n高中生物|0x100000|458\n高中时代|0x100000|479\n高中数学|0x100000|520\n高中同学|0x100000|521\n高中物理|0x100000|504\n高中学生|0x100000|513\n高中英语|0x100000|516\n高中语文|0x100000|523\n高中政治|0x100000|405\n高州市|0x0040|1485\n高姿态|0x100000|47354\n高自标树|0x1000000|100\n高自标誉|0x1000000|100\n高自标置|0x1000000|100\n高自位置|0x1000000|100\n高足弟子|0x1000000|1333\n高祖父|0x0000|55666\n高祖母|0x100000|1332\n睾丸素|0x100000|390\n睾丸酮|0x100000|423\n睾丸炎|0x100000|401\n膏场绣浍|0x0000|100\n膏车秣马|0x1000000|100\n膏唇贩舌|0x0000|100\n膏唇岐舌|0x0000|100\n膏唇试舌|0x800000|100\n膏唇拭舌|0x0000|100\n膏肓之疾|0x800000|100\n膏火之费|0x800000|100\n膏火自煎|0x1000000|100\n膏梁锦绣|0x0000|100\n膏梁纨袴|0x0000|100\n膏梁子弟|0x100000|100\n膏粱锦绣|0x1000000|100\n膏粱年少|0x1000000|100\n膏粱纨袴|0x1000000|100\n膏粱文绣|0x1000000|0\n膏粱子弟|0x1000000|1357\n膏腴贵游|0x1000000|100\n膏腴之地|0x100000|100\n膏腴子弟|0x1000000|100\n膏泽脂香|0x1000000|100\n櫜弓戢戈|0x1000000|100\n櫜弓戢矢|0x1000000|100\n櫜弓卧鼓|0x1000000|100\n櫜甲束兵|0x1000000|100\n搞对象|0x0000|32506\n搞清楚|0x1000|625\n搞小动作|0x1000|0\n缟纻之交|0x0000|100\n槁木死灰|0x1000000|1167\n槁苏暍醒|0x1000000|100\n槁项黄馘|0x1000000|100\n槁项黧馘|0x1000000|100\n槁项没齿|0x1000000|100\n槁形灰心|0x1000000|100\n藁城市|0x0040|1451\n告别式|0x100000|990\n告别仪式|0x0000|465\n告贷无门|0x800000|100\n告老还家|0x0000|100\n告老还乡|0x800000|46181\n告老在家|0x0000|100\n告密者|0x100000|1016\n告朔饩羊|0x800000|100\n告诉我|0x0000|886\n告往知来|0x800000|100\n告一段落|0xc00000|33\n戈巴契夫|0x0080|0\n戈壁滩|0x100000|20161\n戈德霍普|0x0080|0\n戈尔巴乔夫|0x0080|1538\n戈兰高地|0x0040|1142\n疙瘩汤|0x0000|45562\n疙疙瘩瘩|0x0100|39084\n疙里疙瘩|0x0000|51810\n哥白尼|0x0080|1472\n哥本哈根|0x0040|1355\n哥达纲领|0x0008|0\n哥达纲领批判|0x0008|0\n哥德巴赫|0x0080|1582\n哥儿俩|0x100000|28368\n哥儿们|0x100000|20533\n哥老会|0x0020|51379\n哥伦比亚|0x0040|1109\n哥伦布|0x0040|1342\n哥罗芳|0x0008|1\n哥们儿|0x0000|15814\n哥萨克|0x0008|1595\n哥萨克人|0x100000|1229\n哥斯达黎加|0x0040|1262\n哥斯达尼加|0x0080|0\n哥特式|0x100000|876\n胳膊拧不过大腿|0x0008|1077\n胳膊上走得马|0x0008|100\n胳膊腕子|0x100000|1145\n胳膊肘|0x100000|913\n胳膊肘儿|0x0000|30500\n胳膊肘子|0x100000|100\n胳肢窝|0x100000|36800\n鸽子笼|0x100000|1086\n割包皮|0x0000|409\n割臂盟公|0x0000|100\n割臂之盟|0x0000|100\n割草机|0x100000|927\n割稻机|0x100000|0\n割地称臣|0x0000|100\n割地求和|0x0000|100\n割肚牵肠|0x1000000|100\n割恩断义|0x0000|100\n割股疗亲|0x0000|100\n割股之心|0x0000|100\n割骨疗亲|0x0000|100\n割管器|0x4000000|0\n割鸡焉用牛刀|0x0008|1279\n割襟之盟|0x0000|100\n割据一方|0x400000|100\n割肉补疮|0x1000000|100\n割肉饲虎|0x0000|100\n割晒机|0x100000|1217\n割尾巴|0x1000|0\n割席分坐|0x800000|100\n割须弃袍|0x0000|100\n搁不住|0x1000|43653\n搁得住|0x1000|0\n歌唱家|0x100000|13250\n歌词库|0x100000|469\n歌功颂德|0x1000000|31845\n歌剧院|0x100000|800\n歌楼舞榭|0x0000|100\n歌迷会|0x100000|548\n歌片儿|0x0000|55232\n歌曲歌词|0x100000|567\n歌曲名|0x100000|622\n歌曲名称|0x100000|694\n歌曲排行|0x100000|573\n歌曲排行榜|0x100000|531\n歌曲视听|0x100000|513\n歌声绕梁|0x1000000|100\n歌手大赛|0x100000|521\n歌手档案|0x100000|453\n歌手名|0x100000|548\n歌台舞榭|0x800000|1251\n歌舞伎|0x100000|952\n歌舞剧|0x100000|28267\n歌舞升平|0x800000|39085\n歌舞厅|0x100000|790\n歌舞团|0x100000|9553\n歌莺舞燕|0x0000|100\n歌咏队|0x0000|48343\n歌咏会|0x0008|1266\n歌友会|0x0008|730\n歌于斯|0x1000000|100\n歌仔戏|0x100000|1016\n革带移孔|0x800000|100\n革凡成圣|0x1000000|100\n革凡登圣|0x1000000|100\n革风易俗|0x1000000|100\n革故鼎新|0x1000000|42689\n革故立新|0x1000000|100\n革吉县|0x0040|1261\n革奸铲暴|0x0000|100\n革旧从新|0x1000000|100\n革旧鼎新|0x1000000|100\n革旧图新|0x1000000|100\n革旧维新|0x0000|100\n革面革心|0x1000000|100\n革面敛手|0x1000000|100\n革面悛心|0x1000000|100\n革面洗心|0x1000000|1383\n革命传统|0x0000|511\n革命传统教育|0x0000|461\n革命创制|0x1000000|100\n革命党|0x0020|965\n革命道路|0x0008|4\n革命斗争|0x0000|481\n革命发展阶段论|0x0008|0\n革命反正|0x1000000|100\n革命根据地|0x0008|908\n革命化|0x1000|13656\n革命家|0x100000|8024\n革命军|0x100000|886\n革命烈士|0x0008|8\n革命领袖|0x0008|4\n革命派|0x100000|1050\n革命史|0x100000|942\n革命委员会|0x0008|822\n革命性|0x100000|736\n革命英雄主义|0x100000|527\n革命战争|0x0008|1434\n革命者|0x100000|868\n革图易虑|0x1000000|100\n革委会|0x100000|1021\n革邪反正|0x1000000|100\n革心易行|0x1000000|100\n革新变旧|0x1000000|100\n革新派|0x100000|1125\n革新者|0x100000|1095\n革左五营|0x400000|0\n格不相入|0x1000000|100\n格登格登|0x0080|0\n格斗游戏|0x0008|516\n格斗之王|0x0000|452\n格尔木|0x0040|1312\n格尔木市|0x0040|1501\n格高意远|0x1000000|100\n格格不纳|0x1000000|100\n格格不入|0x1000000|18503\n格格不吐|0x1000000|100\n格古通今|0x1000000|100\n格兰蒂亚|0x0080|1071\n格兰仕|0x0008|1333\n格兰特|0x100000|528\n格列佛|0x0080|1616\n格林布拉特|0x0080|0\n格林卡|0x0080|0\n格林纳达|0x0040|1685\n格林尼治|0x0008|1613\n格林尼治时间|0x100000|12\n格林童话|0x100000|872\n格林威治|0x0040|1456\n格林威治时间|0x0000|442\n格陵兰|0x0040|888\n格陵兰岛|0x0040|1475\n格鲁吉亚|0x0040|1387\n格鲁派|0x100000|985\n格杀不论|0x800000|1345\n格杀弗论|0x1000000|100\n格杀无论|0x1000000|1217\n格杀勿论|0x1000000|45873\n格什温|0x0080|1154\n格氏试剂|0x0008|0\n格式化|0x1000|35500\n格式文件|0x100000|588\n格物穷理|0x1000000|1285\n格物致知|0x1000000|50564\n格于成例|0x0000|100\n格致中学|0x0020|1121\n格子布|0x0008|1630\n格子窗|0x0000|374\n格子状|0x100000|0\n葛屦履霜|0x0000|100\n葛罗米柯|0x0080|1296\n葛洲坝|0x0008|1374\n蛤蟆镜|0x100000|54269\n隔岸观火|0x1000000|43654\n隔壁撺椽|0x1000000|100\n隔壁听话|0x1000000|100\n隔离变压器|0x100000|406\n隔离带|0x100000|20692\n隔离墩|0x0000|50959\n隔离法|0x100000|1180\n隔离放大器|0x0008|381\n隔离工艺|0x0008|0\n隔离器|0x0008|1533\n隔离室|0x100000|42434\n隔离线|0x0008|1180\n隔年皇历|0x800000|100\n隔皮断货|0x1000000|100\n隔墙板|0x100000|404\n隔墙有耳|0x1000000|47671\n隔热板|0x0008|1070\n隔热材料|0x0008|927\n隔热层|0x0008|398\n隔三岔五|0x0000|43655\n隔三差五|0xc00000|5\n隔山买老牛|0x0008|100\n隔声量|0x0008|0\n隔声罩|0x0008|0\n隔世之感|0x800000|1112\n隔屋撺椽|0x1000000|100\n隔行如隔山|0x0008|976\n隔靴爬痒|0x1000000|100\n隔靴搔痒|0x1000000|36997\n隔靴抓痒|0x1000000|100\n隔音板|0x100000|1050\n隔音材料|0x0008|971\n隔音符号|0x100000|1102\n隔音棉|0x100000|370\n隔音墙|0x100000|1100\n个案研究|0x0008|0\n个别差异|0x800000|757\n个别教学|0x0008|0\n个旧市|0x0040|1509\n个人爱好|0x100000|526\n个人版|0x100000|586\n个人保险|0x100000|372\n个人财产|0x0000|505\n个人崇拜|0x800000|41006\n个人党性|0x100000|488\n个人档案|0x100000|579\n个人电脑|0x0008|867\n个人独资|0x100000|522\n个人防火墙|0x100000|532\n个人观点|0x0000|728\n个人化|0x1000|815\n个人计算机|0x0008|515\n个人简介|0x100000|609\n个人简历|0x100000|598\n个人空间|0x100000|442\n个人利益|0x100000|936\n个人日记|0x100000|452\n个人所得|0x100000|645\n个人所得税|0x100000|722\n个人所得税法|0x100000|486\n个人特长|0x100000|462\n个人头像|0x100000|449\n个人卫生|0x0008|506\n个人文集|0x100000|724\n个人相册|0x100000|571\n个人消费|0x0008|903\n个人信息|0x0000|685\n个人信用|0x100000|526\n个人性|0x100000|1018\n个人修养|0x100000|440\n个人演唱会|0x0000|505\n个人艺术|0x100000|377\n个人隐私|0x0000|570\n个人用户|0x0000|584\n个人帐户|0x100000|507\n个人账户|0x100000|532\n个人主页|0x0008|436\n个人主义|0x100000|13084\n个人主义者|0x100000|376\n个人住房|0x100000|533\n个人住房贷款|0x100000|542\n个人专辑|0x100000|743\n个人资料|0x100000|488\n个人自传|0x100000|501\n个体差异|0x100000|494\n个体发育|0x0008|0\n个体工商户|0x0008|608\n个体户|0x100000|10482\n个体化|0x100000|963\n个体经济|0x800000|17015\n个体经营|0x800000|524\n个体经营者|0x0008|835\n个体劳动者|0x0008|440\n个体所有制|0x100000|941\n个头儿|0x100000|6557\n个位数|0x100000|918\n个性化|0x1000|10017\n个性特征|0x100000|476\n个性头像|0x100000|424\n个中妙趣|0x0000|100\n个中三味|0x400000|0\n个中滋味|0x800000|879\n各安生业|0x0000|100\n各奔东西|0x800000|39284\n各奔前程|0x1000000|41695\n各表一枝|0x400000|1\n各不相谋|0x800000|100\n各不相让|0x800000|879\n各部分|0x0000|559\n各部门|0x100000|719\n各部委|0x100000|510\n各部位|0x100000|511\n各持己见|0x1000000|47672\n各创一格|0x400000|0\n各从其志|0x1000000|100\n各打二十大板|0x400000|0\n各单位|0x100000|679\n各得其所|0x1000000|22674\n各得其宜|0x1000000|1313\n各地代理商|0x100000|515\n各地方|0x100000|542\n各地区|0x100000|634\n各方面|0x0000|735\n各负其责|0x800000|18919\n各高校|0x100000|571\n各个国家|0x0000|530\n各个击破|0x1000000|37885\n各级党组织|0x0000|557\n各级地方政府|0x0000|438\n各级领导|0x0000|618\n各级领导干部|0x0000|528\n各级人民政府|0x0000|592\n各家各户|0x800000|25333\n各阶层|0x100000|533\n各界人士|0x0000|613\n各尽其职|0x0000|53239\n各尽所能|0x1000000|30166\n各就各位|0x800000|37698\n各具特色|0x800000|784\n各军兵种|0x0000|394\n各军区|0x100000|375\n各领风骚|0x0000|42690\n各民族|0x100000|564\n各年级|0x100000|500\n各品牌|0x100000|546\n各企业|0x100000|562\n各取所长|0x0000|100\n各取所需|0x1000000|36137\n各人自扫门前雪|0x0008|1112\n各色各样|0x1000000|903\n各色名样|0x0000|100\n各色人等|0x800000|913\n各式各样|0x1000000|12272\n各抒己见|0x1000000|16924\n各抒所见|0x1000000|100\n各司其事|0x0000|100\n各司其职|0x800000|18558\n各为其主|0x1000000|1005\n各位朋友|0x100000|598\n各显身手|0x800000|1092\n各显神通|0x800000|31285\n各向同性|0x0008|1130\n各向同性媒质|0x0008|0\n各向异性|0x0008|1039\n各向异性介质|0x0008|0\n各向异性媒质|0x0008|0\n各项工作|0x0000|688\n各项规章制度|0x100000|522\n各项事业|0x0000|541\n各行各业|0x800000|9113\n各行其道|0x800000|44675\n各行其事|0x800000|51382\n各行其是|0x1000000|28016\n各行其志|0x1000000|100\n各行业|0x10000|649\n各型号|0x100000|466\n各学科|0x100000|545\n各学校|0x100000|542\n各有千秋|0x1000000|30167\n各有所爱|0x800000|897\n各有所长|0x800000|32242\n各有所短|0x0000|100\n各有所好|0x800000|49434\n各有所职|0x800000|100\n各院校|0x100000|446\n各执己见|0x1000000|1082\n各执一词|0x1400000|36138\n各职能|0x100000|511\n各职业|0x100000|524\n各种不同类型|0x0000|452\n各种各样|0x800000|6453\n各种关节炎|0x100000|370\n各种规格|0x100000|646\n各种疾病|0x100000|495\n各种媒体|0x100000|539\n各种品牌|0x100000|531\n各种气体|0x100000|372\n各种形式|0x0000|593\n各种型号|0x100000|580\n各种颜色|0x100000|538\n各专业|0x100000|595\n各自为战|0x1000000|27526\n各自为政|0x1000000|22931\n各族人民|0x0000|570\n铬酸钾|0x0008|1279\n铬铁矿|0x100000|1133\n箇中三昧|0x400000|0\n给面子|0x40000000|34935\n给水管|0x0008|1563\n给水箱|0x100000|1299\n给水站|0x0008|0\n根本出路在于|0x0000|380\n根本法|0x100000|35980\n根本利益|0x0000|601\n根本矛盾|0x0008|0\n根本上|0x0000|514\n根本途径|0x100000|464\n根本性|0x20000000|766\n根本原因|0x0000|596\n根本宗旨|0x100000|475\n根菜类蔬菜|0x0008|1293\n根椽片瓦|0x1000000|100\n根孤伎薄|0x1000000|100\n根河市|0x0040|1075\n根结盘固|0x1000000|100\n根结盘据|0x1000000|100\n根据地|0x100000|6553\n根据具体情况|0x0000|515\n根据盘互|0x1000000|100\n根据槃互|0x1000000|100\n根据我国|0x100000|554\n根牢蒂固|0x1000000|100\n根连株拔|0x1000000|100\n根连株逮|0x1000000|100\n根瘤菌|0x100000|51811\n根瘤菌剂|0x100000|0\n根目录|0x100000|757\n根盘蒂结|0x1000000|100\n根蟠节错|0x1000000|100\n根深本固|0x1000000|100\n根深柢固|0x1000000|1142\n根深蒂固|0x1000000|16669\n根深蒂结|0x1000000|100\n根深叶茂|0x1000000|36808\n根深枝茂|0x1000000|100\n根生土长|0x1000000|100\n根牙盘错|0x0000|100\n根牙磐错|0x1000000|0\n根指数|0x100000|1504\n根肿病|0x100000|1386\n根株附丽|0x1000000|100\n根株结盘|0x1000000|100\n根株牵连|0x1000000|100\n根壮叶茂|0x800000|0\n根状茎|0x100000|1174\n跟班儿|0x0000|29102\n跟不上|0x1000|663\n跟没说一样|0x400000|0\n跟屁虫|0x100000|50960\n跟踪报道|0x100000|885\n跟踪调查|0x0000|497\n亘古不灭|0x0000|100\n亘古亘今|0x1000000|1318\n亘古奇闻|0x0000|100\n亘古通今|0x800000|100\n亘古未有|0x1000000|1126\n亘古新闻|0x0000|100\n更不用说|0x0000|608\n更长梦短|0x0000|100\n更唱迭和|0x1000000|100\n更唱叠和|0x1000000|100\n更大程度上|0x0000|440\n更待干罢|0x1000000|1536\n更多精彩内容|0x100000|498\n更何况|0x800000|564\n更进一步|0xc00000|46\n更进一竿|0x1400000|0\n更阑人静|0x1000000|100\n更令明号|0x1000000|100\n更名改姓|0x1000000|1209\n更难仆数|0x1000000|100\n更年期|0x100000|29419\n更仆难尽|0x1000000|100\n更仆难数|0x1000000|1358\n更仆难终|0x1000000|100\n更确切地说|0x0000|448\n更上一层|0x400000|0\n更上一层楼|0x400008|13\n更深人静|0x1000000|1263\n更深夜静|0x1000000|1284\n更深一层|0x400000|1\n更胜一筹|0xc00000|6\n更为重要|0x0000|597\n更弦改辙|0x1000000|100\n更弦易辙|0x1000000|1402\n更新改造|0x0000|492\n更新改造资金|0x0008|0\n更新过程|0x0008|0\n更新换代|0x800000|18200\n更新期|0x0008|0\n更新世|0x0008|0\n更姓改物|0x0000|100\n更衣室|0x100000|31981\n更优越|0x40000000|436\n更有甚者|0x800000|17444\n庚二酸|0x4400000|0\n庚癸频呼|0x0000|100\n庚癸之呼|0x800000|100\n庚子赔款|0x0008|1094\n耕当问奴|0x800000|100\n耕地面积|0x100000|513\n耕云播雨|0x1000|0\n耕耘树艺|0x0000|100\n耕者有其田|0x0008|1085\n耕作层|0x100000|1216\n耕作制度|0x0008|370\n羹藜含糗|0x0000|100\n羹藜唅糗|0x0000|100\n绠短汲深|0x1000000|1413\n绠短绝泉|0x0000|100\n耿耿于怀|0x800000|24884\n耿耿于心|0x800000|1266\n耿马傣族佤族自治县|0x0040|1217\n耿氏二极管|0x400000|0\n梗泛萍漂|0x1000000|100\n梗泛萍飘|0x1000000|100\n梗迹蓬飘|0x1000000|100\n梗迹萍踪|0x1000000|100\n梗顽不化|0x1000000|100\n工本费|0x100000|24496\n工笔画|0x100000|40353\n工兵连|0x100000|1192\n工布江达|0x0040|0\n工布江达县|0x0040|1159\n工程兵|0x100000|24763\n工程部|0x100000|724\n工程车|0x100000|50961\n工程处|0x100000|1176\n工程船|0x0008|0\n工程地质|0x100000|493\n工程队|0x100000|24428\n工程费|0x100000|1067\n工程公司|0x100000|503\n工程顾问|0x100000|433\n工程规划|0x100000|521\n工程浩大|0x1000000|1010\n工程机械|0x100000|653\n工程机械配件|0x100000|438\n工程机械有限公司|0x100000|454\n工程技术|0x100000|678\n工程技术人员|0x0008|557\n工程界|0x100000|0\n工程进度|0x100000|522\n工程局|0x100000|1285\n工程款|0x100000|852\n工程力学|0x100000|476\n工程量|0x100000|771\n工程设计|0x100000|622\n工程师|0x100000|4440\n工程施工|0x0008|614\n工程署|0x100000|1241\n工程硕士|0x100000|540\n工程塑料|0x0008|709\n工程图|0x0000|478\n工程图纸|0x100000|441\n工程系|0x100000|747\n工程项目|0x100000|648\n工程学|0x100000|741\n工程学院|0x100000|688\n工程研究所|0x100000|490\n工程验收|0x0008|480\n工程有限公司|0x100000|694\n工程预算|0x100000|833\n工程造价|0x100000|610\n工程质量|0x100000|644\n工程装饰|0x100000|400\n工程总公司|0x100000|486\n工地秀|0x100000|0\n工读生|0x0008|934\n工读学校|0x0000|42436\n工夫不负有心人|0x0000|399\n工工整整|0x0100|987\n工会法|0x100000|986\n工会工作|0x100000|536\n工会主席|0x0000|535\n工会组织|0x0008|875\n工间操|0x100000|48345\n工具包|0x0008|788\n工具厂|0x100000|497\n工具车|0x100000|417\n工具钢|0x0008|962\n工具柜|0x100000|389\n工具机|0x100000|0\n工具栏|0x100000|576\n工具软件|0x100000|604\n工具室|0x100000|0\n工具书|0x100000|20766\n工具条|0x0000|614\n工具显微镜|0x100000|392\n工具箱|0x100000|644\n工矿企业|0x800000|741\n工矿区|0x100000|1097\n工力悉敌|0x1000000|1542\n工量具|0x100000|465\n工贸有限公司|0x100000|626\n工民建|0x100000|468\n工农兵|0x100000|14597\n工农兵学员|0x100000|1128\n工农差别|0x800000|1007\n工农红军|0x100000|879\n工农联盟|0x800000|1077\n工农业|0x100000|9278\n工农业产品|0x0000|378\n工农业生产|0x0000|458\n工农业生产第一线|0x400000|0\n工农业总产值|0x0000|415\n工农一体化|0x400000|0\n工青妇|0x0000|41243\n工人党|0x0020|1092\n工人工资|0x100000|457\n工人阶级|0x100000|839\n工人日报|0x0000|508\n工人运动|0x800000|972\n工伤保险|0x100000|565\n工伤事故|0x0008|0\n工商部门|0x100000|602\n工商大学|0x100000|481\n工商代理|0x100000|403\n工商登记|0x0000|563\n工商分局|0x100000|515\n工商管理|0x0008|636\n工商户|0x100000|740\n工商会|0x100000|1029\n工商界|0x100000|903\n工商界人士|0x0000|426\n工商局|0x100000|6589\n工商联|0x100000|10285\n工商企业|0x100000|742\n工商时报|0x0000|515\n工商税|0x0000|43658\n工商所|0x100000|842\n工商行政|0x0000|681\n工商行政管理|0x0008|623\n工商学院|0x100000|480\n工商业|0x100000|12859\n工商业界|0x100000|1152\n工商银行|0x0008|24\n工商总局|0x100000|563\n工团主义|0x0008|1341\n工务段|0x100000|963\n工薪阶层|0x100000|27362\n工薪族|0x100000|46452\n工学院|0x100000|748\n工业泵|0x100000|468\n工业病|0x100000|1292\n工业布局|0x0008|2\n工业部|0x100000|538\n工业部门|0x100000|931\n工业产品|0x0008|16\n工业产值|0x0000|511\n工业城市|0x0008|471\n工业出版社|0x100000|614\n工业大学|0x100000|648\n工业地带|0x0008|0\n工业地理学|0x0008|0\n工业电炉|0x100000|376\n工业电器|0x100000|444\n工业电视|0x0008|854\n工业废水|0x0008|934\n工业港|0x0040|0\n工业高等专科学校|0x100000|399\n工业革命|0x800000|839\n工业锅炉|0x100000|454\n工业国|0x100000|30384\n工业化|0x1000|3533\n工业化学|0x0008|1\n工业基地|0x0008|598\n工业计算机|0x0000|396\n工业技术|0x0008|668\n工业建筑|0x0008|843\n工业界|0x100000|910\n工业经济|0x100000|752\n工业净产值|0x0008|0\n工业局|0x100000|1342\n工业空调|0x100000|369\n工业炉|0x100000|462\n工业贸易|0x100000|432\n工业门|0x100000|419\n工业皮带|0x100000|438\n工业品|0x100000|11031\n工业企业|0x0008|637\n工业气体|0x100000|419\n工业区|0x100000|11032\n工业区位|0x0008|0\n工业区位论|0x100000|1358\n工业燃气|0x100000|369\n工业设计|0x100000|687\n工业生产|0x0008|743\n工业水处理|0x100000|393\n工业体系|0x800000|925\n工业涂料|0x100000|393\n工业洗衣机|0x100000|416\n工业现代化|0x0008|3\n工业协会|0x100000|609\n工业心理学|0x0008|0\n工业学校|0x0000|494\n工业学院|0x100000|524\n工业盐|0x100000|437\n工业用地|0x0000|485\n工业用品|0x100000|455\n工业用水|0x0008|3\n工业油|0x100000|370\n工业有限公司|0x100000|572\n工业园|0x100000|709\n工业园区|0x100000|617\n工业政策|0x0008|2\n工业制品|0x100000|480\n工业中心|0x0008|3\n工业综合体|0x0008|9\n工业总产值|0x0008|563\n工业总公司|0x100000|479\n工艺厂|0x100000|546\n工艺画|0x100000|445\n工艺技术|0x100000|573\n工艺精品|0x100000|455\n工艺课|0x100000|0\n工艺礼品|0x100000|561\n工艺礼品代理|0x100000|367\n工艺流程|0x800000|26678\n工艺美术|0x800000|695\n工艺美术厂|0x100000|0\n工艺美术品|0x100000|820\n工艺美术品店|0x0040|0\n工艺品|0x100000|11177\n工艺品有限公司|0x100000|550\n工艺设备|0x100000|464\n工艺师|0x0000|43880\n工艺网|0x100000|535\n工艺学|0x100000|902\n工艺制品|0x100000|483\n工欲善其事|0x0008|904\n工欲善其事必先利其器|0x0000|100\n工装裤|0x100000|48717\n工资标准|0x100000|498\n工资表|0x100000|462\n工资待遇|0x0008|561\n工资单|0x100000|916\n工资福利|0x100000|463\n工资改革|0x0008|4\n工资管理|0x0000|568\n工资卡|0x100000|922\n工资劳动|0x0008|0\n工资收入|0x100000|520\n工资水平|0x100000|520\n工资条|0x100000|460\n工资制|0x100000|990\n工资制度|0x100000|6\n工资总额|0x0000|525\n工字钢|0x100000|53742\n工字形|0x100000|1147\n工字型|0x0008|1107\n工作报告|0x0008|658\n工作部署|0x100000|520\n工作餐|0x0000|40134\n工作成绩|0x100000|836\n工作存储器|0x0008|0\n工作地|0x100000|916\n工作队|0x100000|953\n工作范围|0x0008|832\n工作方案|0x0008|559\n工作服|0x100000|17071\n工作岗位|0x0000|639\n工作规划|0x100000|884\n工作汇报|0x0000|557\n工作会|0x100000|747\n工作会议|0x100000|737\n工作积极性|0x0000|504\n工作计划|0x0008|661\n工作间|0x100000|920\n工作简报|0x100000|901\n工作经历|0x100000|663\n工作经验|0x0000|754\n工作狂|0x100000|781\n工作力度|0x0000|568\n工作量|0x100000|11921\n工作流|0x0008|842\n工作面|0x100000|23692\n工作母机|0x800000|50566\n工作情况|0x100000|718\n工作人员|0x100000|496\n工作任务|0x100000|755\n工作日|0x100000|10362\n工作日内|0x100000|637\n工作失误|0x0000|453\n工作时间|0x0000|500\n工作室|0x100000|486\n工作手册|0x100000|720\n工作思路|0x0000|582\n工作台|0x100000|763\n工作条例|0x100000|833\n工作团|0x100000|1135\n工作温度|0x0008|585\n工作小组|0x0000|560\n工作效率|0x0000|664\n工作新局面|0x100000|512\n工作压力|0x0000|586\n工作液|0x0008|0\n工作员|0x100000|1110\n工作站|0x100000|11774\n工作者|0x100000|573\n工作者协会|0x0000|466\n工作证|0x100000|26747\n工作指南|0x100000|867\n工作制|0x100000|781\n工作制度|0x100000|763\n工作重点|0x100000|742\n工作周|0x100000|1088\n工作装|0x100000|1061\n工作总结|0x0008|628\n工作组|0x100000|5215\n工作作风|0x0000|605\n弓调马服|0x1000000|100\n弓箭步|0x100000|1197\n弓箭手|0x100000|786\n弓弩手|0x100000|35356\n弓形虫|0x100000|424\n弓影杯蛇|0x1000000|100\n弓影浮杯|0x1000000|100\n弓折刀尽|0x800000|100\n公安部|0x100000|1059\n公安部长|0x100000|749\n公安部队|0x800000|1140\n公安部门|0x100000|757\n公安处|0x100000|1542\n公安大学|0x0000|466\n公安队伍|0x0000|462\n公安分局|0x0000|592\n公安干警|0x0008|24\n公安工作|0x0008|19\n公安机关|0x0008|713\n公安交通|0x100000|495\n公安局|0x100000|2638\n公安局长|0x100000|859\n公安局局长|0x100000|486\n公安民警|0x0000|507\n公安派|0x0008|0\n公安派出所|0x100000|491\n公安人员|0x100000|910\n公安厅|0x100000|740\n公安系统|0x100000|488\n公安县|0x0040|1600\n公安消防|0x0000|517\n公报私仇|0x1000000|55864\n公报私雠|0x1000000|100\n公倍数|0x100000|1097\n公布栏|0x100000|833\n公才公望|0x1000000|100\n公差费|0x100000|0\n公车上|0x100000|527\n公垂线|0x100000|1341\n公道合理|0x1000000|100\n公德心|0x0000|437\n公而忘私|0x1000000|37170\n公尔忘私|0x1000000|100\n公耳忘私|0x1000000|0\n公费生|0x100000|1070\n公费医疗|0x0008|474\n公分母|0x100000|1233\n公告栏|0x100000|613\n公公平平|0x0100|956\n公公正正|0x0100|1186\n公共安全|0x0000|559\n公共财政|0x100000|533\n公共厕所|0x0008|25961\n公共场合|0x0000|531\n公共场所|0x100000|699\n公共电视|0x100000|830\n公共关系|0x100000|33907\n公共管理学院|0x100000|468\n公共广播|0x100000|483\n公共广播系统|0x100000|401\n公共积累|0x800000|1296\n公共建筑|0x100000|515\n公共交通|0x0008|564\n公共课|0x100000|514\n公共利益|0x100000|811\n公共频道|0x100000|475\n公共汽车|0x100000|9877\n公共汽车站|0x0000|448\n公共设施|0x0000|562\n公共事务|0x100000|514\n公共事业|0x100000|782\n公共图书馆|0x100000|479\n公共卫生|0x0008|742\n公共英语|0x100000|518\n公共英语等级|0x100000|442\n公共政策|0x0008|843\n公共秩序|0x0000|516\n公共资源|0x0000|479\n公关部|0x100000|514\n公关活动|0x100000|895\n公关礼仪|0x100000|423\n公关员|0x100000|397\n公规密谏|0x1000000|100\n公海自由|0x0008|0\n公害病|0x0008|0\n公积金|0x100000|13303\n公积金贷款|0x100000|565\n公检法|0x100000|25409\n公交查询|0x100000|485\n公交车|0x100000|34476\n公交路线|0x100000|535\n公交线路|0x100000|584\n公教人员|0x100000|1124\n公开化|0x1000|887\n公开赛|0x100000|8685\n公开信|0x100000|17561\n公开性|0x100000|957\n公开选拔|0x0000|549\n公开招标|0x0000|581\n公里数|0x100000|903\n公理化|0x100000|1133\n公立学校|0x0008|13\n公路法|0x100000|418\n公路工程|0x100000|574\n公路建设|0x100000|745\n公路交通|0x100000|495\n公路局|0x100000|851\n公路桥|0x100000|1003\n公路养路费|0x100000|455\n公路运输|0x0008|765\n公买公卖|0x1000000|100\n公门桃李|0x800000|100\n公民道德|0x100000|534\n公民科|0x100000|0\n公民课|0x100000|0\n公民权|0x100000|39086\n公民权利|0x100000|889\n公民投票|0x0008|24\n公明正大|0x1000000|100\n公判大会|0x0008|0\n公平秤|0x100000|42910\n公平合理|0x1000000|900\n公平交易|0x1000000|880\n公平竞争|0x0000|585\n公平无私|0x1000000|100\n公平性|0x100000|839\n公平正义|0x100000|480\n公切线|0x100000|1304\n公权力|0x0008|1520\n公社化|0x1000|1086\n公使馆|0x0008|42194\n公使团|0x100000|0\n公示栏|0x100000|434\n公示制|0x100000|1036\n公式化|0x1000|29420\n公式主义|0x100000|0\n公事包|0x0008|1517\n公事公办|0x1000000|31396\n公是公非|0x1000000|100\n公说公有理|0x0008|951\n公司版权|0x100000|586\n公司财务|0x100000|557\n公司出品|0x100000|556\n公司传真|0x100000|583\n公司党委|0x100000|514\n公司地址|0x0000|759\n公司董事会|0x100000|587\n公司法|0x100000|702\n公司法律|0x100000|444\n公司法人|0x100000|538\n公司概况|0x100000|482\n公司公告|0x100000|537\n公司股东|0x100000|555\n公司股票|0x100000|587\n公司简介|0x100000|746\n公司库|0x100000|650\n公司老总|0x0000|506\n公司律师|0x100000|387\n公司名称|0x0000|779\n公司名录|0x100000|482\n公司内部|0x100000|601\n公司企业|0x100000|558\n公司性质|0x100000|594\n公司业绩|0x100000|565\n公司员工|0x100000|569\n公司债券|0x100000|535\n公司章程|0x100000|603\n公司总部|0x100000|566\n公司总裁|0x0000|565\n公司总经理|0x100000|621\n公私合营|0x100000|22104\n公私兼顾|0x1000000|50567\n公私交困|0x1000000|100\n公私两便|0x800000|1366\n公私两济|0x1000000|100\n公私两利|0x1000000|100\n公诉人|0x100000|23368\n公听并观|0x1000000|100\n公听会|0x0008|0\n公文包|0x100000|26447\n公文袋|0x100000|376\n公文旅行|0x0000|53744\n公文箱|0x100000|401\n公务机|0x100000|423\n公务人员|0x0000|516\n公务用车|0x100000|484\n公务员|0x100000|3959\n公务员法|0x100000|529\n公务员制度|0x100000|488\n公信力|0x100000|25888\n公休日|0x100000|1038\n公修公德|0x1000000|0\n公羊传|0x0080|1065\n公益广告|0x0000|569\n公益活动|0x100000|565\n公益金|0x100000|24429\n公益林|0x100000|443\n公益事业|0x100000|743\n公益性|0x40000000|597\n公因式|0x100000|1213\n公因数|0x100000|1238\n公营事业|0x100000|1146\n公用电话|0x100000|836\n公用设施|0x0000|496\n公用事业|0x800000|16555\n公用信息|0x100000|503\n公有化|0x100000|1171\n公有制|0x100000|5910\n公有住房|0x100000|497\n公寓床|0x100000|371\n公寓楼|0x100000|502\n公元前|0x4000|715\n公园道路|0x0008|0\n公约数|0x100000|1061\n公债券|0x100000|55234\n公正不阿|0x1000000|1259\n公正廉洁|0x1000000|1120\n公正廉明|0x1000000|1177\n公正无私|0x1000000|41244\n公正性|0x100000|845\n公正执法|0x0000|468\n公证处|0x100000|19303\n公证机关|0x0008|0\n公证人|0x100000|39287\n公证书|0x100000|947\n公证员|0x100000|966\n公之于世|0x800000|46749\n公之于众|0x800000|39694\n公职人员|0x100000|503\n公制化|0x100000|0\n公忠体国|0x1000000|1275\n公众股|0x100000|508\n公众形象|0x100000|877\n公诸同好|0x1000|1152\n公诸于世|0x800000|964\n公诸于众|0x1000000|1002\n公主坟|0x100000|488\n公主岭|0x0040|1595\n公主岭市|0x0040|1590\n公子哥|0x100000|500\n公子哥儿|0x1000000|33635\n公子王孙|0x1000000|53745\n功败垂成|0x1000000|43659\n功标青史|0x1000000|100\n功薄蝉翼|0x1000000|100\n功不可没|0x1000000|16925\n功成不居|0x1000000|1262\n功成弗居|0x1000000|100\n功成骨枯|0x1000000|100\n功成名就|0x1000000|33114\n功成名遂|0x1000000|1217\n功成身退|0x1000000|45564\n功成行满|0x1000000|100\n功到自然成|0x0008|1010\n功德无量|0x1000000|35054\n功德圆满|0x1000000|45277\n功放机|0x100000|968\n功夫不负有心人|0x0008|851\n功夫茶|0x100000|42692\n功夫片|0x100000|52725\n功盖天下|0x1000000|1237\n功高不赏|0x1000000|100\n功高盖世|0x1000000|1193\n功高望重|0x1000000|1541\n功高震主|0x0000|100\n功课表|0x100000|954\n功亏一篑|0x1400000|30387\n功劳簿|0x100000|1098\n功利主义|0x800000|33512\n功率放大器|0x100000|915\n功率管|0x0008|0\n功率密度|0x0008|0\n功率因数|0x0008|940\n功名富贵|0x1000000|1057\n功名利禄|0x1000000|884\n功能表|0x0008|891\n功能分析|0x0008|0\n功能键|0x0000|553\n功能空间一览表|0x400000|0\n功能块|0x0008|0\n功能模块|0x100000|555\n功能强大|0x100000|626\n功能设计|0x0000|484\n功能型|0x100000|870\n功能障碍|0x0000|530\n功能主治|0x100000|510\n功其一点|0x400000|0\n功若丘山|0x0000|100\n功遂身退|0x1000000|1176\n功一美二|0x400000|100\n攻不破|0x0000|398\n攻城掠地|0x1000000|960\n攻城略地|0x1000000|50179\n攻城野战|0x0000|100\n攻关战|0x100000|0\n攻过箴阙|0x1000000|100\n攻击点|0x100000|1000\n攻击机|0x100000|947\n攻击力|0x100000|719\n攻击速度|0x100000|539\n攻击行为|0x0008|4\n攻击性|0x100000|750\n攻击者|0x100000|835\n攻疾防患|0x1000000|100\n攻坚战|0x100000|13186\n攻苦茹酸|0x1000000|100\n攻苦食啖|0x1000000|100\n攻苦食淡|0x1000000|1357\n攻苦食俭|0x1000000|100\n攻其不备|0x1000000|53240\n攻其无备|0x1000000|1126\n攻其一点|0xc00000|0\n攻守同盟|0x1000000|42693\n攻无不克|0x1000000|48346\n攻无不取|0x1000000|100\n攻瑕索垢|0x1000000|100\n攻瑕指失|0x1000000|100\n攻心扼吭|0x1000000|100\n攻心为上|0x800000|960\n攻心战|0x100000|1129\n攻子之盾|0x800000|1142\n供不应求|0x1000000|12094\n供产销|0x0008|1268\n供大于求|0x800000|846\n供电局|0x100000|749\n供电所|0x100000|1283\n供电系统|0x800000|877\n供电站|0x100000|1035\n供给量|0x100000|962\n供给者|0x100000|1080\n供给制|0x100000|39695\n供过于求|0x800000|20401\n供求关系|0x0008|36\n供求律|0x0008|0\n供求信息|0x100000|788\n供认不讳|0x800000|31741\n供水系统|0x100000|935\n供销合作|0x800000|2\n供销合作社|0x0008|724\n供销科|0x100000|1013\n供销社|0x100000|8267\n供销员|0x100000|1232\n供需双方|0x100000|479\n供应地|0x100000|983\n供应点|0x100000|47675\n供应科|0x100000|1000\n供应量|0x100000|778\n供应商|0x100000|489\n供应站|0x100000|39087\n供应者|0x100000|984\n宫车晏驾|0x1000000|1407\n宫殿式|0x20000000|1046\n宫东风|0x100000|372\n宫颈癌|0x100000|875\n宫颈炎|0x100000|492\n宫邻金虎|0x0000|100\n宫内避孕器|0x0008|0\n宫廷式|0x100000|0\n宫廷舞|0x100000|1168\n宫廷政变|0x100000|964\n宫外孕|0x100000|51813\n宫雪花|0x100000|400\n宫泽里惠|0x0080|0\n恭城瑶族自治县|0x0040|1597\n恭而有礼|0x0000|100\n恭逢其盛|0x0000|100\n恭恭敬敬|0x0100|822\n恭贺新禧|0x800000|868\n恭敬不如从命|0x0008|988\n恭敬地|0x0000|548\n恭敬桑梓|0x1000000|100\n恭默守静|0x0000|100\n恭王府|0x100000|439\n恭维话|0x100000|1048\n恭喜发财|0x800000|642\n恭行天罚|0x1000000|100\n躬蹈矢石|0x1000000|100\n躬逢其盛|0x1000000|1203\n躬耕乐道|0x1000000|100\n躬擐甲胄|0x1000000|1418\n躬冒矢石|0x1000000|100\n躬体力行|0x1000000|100\n躬先士卒|0x1000000|100\n躬行节俭|0x1000000|1383\n躬行实践|0x800000|1216\n躬自菲薄|0x1000000|100\n龚行天罚|0x1000000|100\n觥筹交错|0x1000000|39088\n觥饭不及壶飧|0x0008|100\n巩留县|0x0040|1100\n巩义市|0x0040|1200\n汞合金|0x0008|0\n汞溴红|0x0008|1364\n汞中毒|0x100000|379\n拱肩缩背|0x1000000|100\n拱手而降|0x1000000|100\n拱手让人|0x1000000|991\n拱手听命|0x1000000|100\n拱形门|0x0040|1169\n拱揖指挥|0x1000000|100\n拱揖指麾|0x1000000|100\n拱挹指麾|0x1000000|100\n共产党|0x0020|1044\n共产党人|0x100000|850\n共产党宣言|0x0008|963\n共产党员|0x100000|2509\n共产党员先进性教育|0x100000|680\n共产国际|0x800000|21617\n共产主义|0x100000|3654\n共产主义道德|0x0008|394\n共产主义青年团|0x100000|1413\n共产主义社会|0x0008|1\n共产主义运动|0x0000|440\n共产主义战士|0x0000|396\n共产主义者|0x100000|978\n共沉淀|0x0008|0\n共处一室|0x400000|4\n共存亡|0x0000|100\n共点力系|0x0008|0\n共轭点|0x100000|1503\n共赴国难|0x1000000|1141\n共贯同条|0x1000000|100\n共和党|0x0020|862\n共和党人|0x100000|445\n共和国|0x100000|4374\n共和国法律|0x100000|670\n共和国计算机|0x100000|460\n共和国商务部|0x100000|501\n共和国主席|0x100000|454\n共和军|0x100000|1075\n共和县|0x0040|1099\n共和制|0x100000|47059\n共济会|0x100000|1130\n共济失调|0x0008|0\n共价半径|0x0008|0\n共价键|0x100000|1096\n共进会|0x0008|0\n共聚物|0x0008|910\n共聚一堂|0x400000|4\n共面力系|0x0008|0\n共鸣器|0x100000|1290\n共命运|0x800000|967\n共青团|0x100000|5647\n共青团工作|0x100000|501\n共青团员|0x100000|19246\n共青团员意识|0x100000|469\n共青团中央|0x0020|1165\n共青团组织|0x0000|467\n共商国是|0x800000|16709\n共生矿|0x100000|1208\n共生生物|0x0008|0\n共睡一床|0x400000|0\n共通性|0x100000|1043\n共同爱好|0x100000|450\n共同财产|0x0000|491\n共同点|0x100000|15283\n共同发展|0x100000|620\n共同犯罪|0x100000|1006\n共同富裕|0x0000|509\n共同纲领|0x100000|1105\n共同海损|0x0008|0\n共同进步|0x0000|550\n共同开发|0x0000|561\n共同努力|0x0000|658\n共同社|0x0020|1459\n共同声明|0x0000|445\n共同市场|0x800000|1012\n共同体|0x100000|8200\n共同条令|0x0008|1\n共同性|0x100000|27527\n共同语|0x100000|25700\n共同语言|0x100000|727\n共挽鹿车|0x1000000|100\n共为唇齿|0x800000|100\n共析钢|0x0008|0\n共享软件|0x100000|665\n共享资源|0x100000|688\n共形溶液|0x0008|0\n共振频率|0x0008|0\n共振器|0x100000|1264\n共振吸收|0x0008|0\n共振荧光|0x0008|0\n共枝别干|0x800000|100\n贡布里希|0x0080|1208\n贡嘎县|0x0040|1145\n贡觉县|0x0040|1191\n贡献一切|0x400000|0\n贡献者|0x100000|877\n贡禹弹冠|0x1000000|100\n勾勾搭搭|0x0100|1106\n勾股定理|0x0008|1038\n勾魂摄魄|0x1000000|49435\n勾三搭四|0x400000|0\n勾心斗角|0x1000000|33515\n佝偻病|0x100000|45280\n沟沟坎坎|0x800000|41246\n沟满壕平|0x1000000|100\n沟满濠平|0x0000|100\n沟通交流|0x0000|502\n沟沿儿|0x0000|39289\n钩虫病|0x0008|1171\n钩端螺旋体属|0x0008|0\n钩金舆羽|0x1000000|100\n钩深极奥|0x1000000|100\n钩深索隐|0x800000|100\n钩深图远|0x1000000|100\n钩深致远|0x1000000|1312\n钩心斗角|0x1000000|940\n钩玄猎秘|0x0000|100\n钩玄提要|0x1000000|1398\n钩元提要|0x1000000|100\n钩元摘秘|0x1000000|100\n钩章棘句|0x1000000|100\n钩爪锯牙|0x1000000|100\n篝火狐鸣|0x1000000|1366\n狗傍人势|0x1000000|100\n狗吃屎|0x1000|970\n狗逮老鼠|0x1000000|100\n狗胆包天|0x800000|54256\n狗党狐朋|0x1000000|100\n狗党狐群|0x1000000|100\n狗盗鸡鸣|0x1000000|100\n狗盗鸡啼|0x1000000|100\n狗盗鼠窃|0x1000000|100\n狗颠屁股|0x0000|100\n狗东西|0x100000|979\n狗恶酒酸|0x800000|100\n狗吠不惊|0x0000|100\n狗吠非主|0x1000000|100\n狗吠声|0x0000|398\n狗吠之惊|0x1000000|100\n狗吠之警|0x1000000|100\n狗肺狼心|0x1000000|100\n狗苟蝇营|0x1000000|100\n狗急跳墙|0x1000000|41939\n狗叫声|0x0000|417\n狗口里生不出象牙|0x0008|100\n狗口里吐不出象牙|0x0008|100\n狗马声色|0x1000000|100\n狗拿耗子|0x1000000|1007\n狗皮膏药|0x100000|43661\n狗屁不通|0x1000000|917\n狗屎堆|0x100000|52238\n狗偷鼠窃|0x1000000|100\n狗头军师|0x1000000|47677\n狗头鼠脑|0x1000000|100\n狗腿子|0x100000|35055\n狗尾草|0x100000|43407\n狗尾貂续|0x1000000|100\n狗尾续貂|0x1000000|53746\n狗心狗行|0x1000000|100\n狗行狼心|0x1000000|100\n狗续貂尾|0x1000000|100\n狗续侯冠|0x1000000|100\n狗续金貂|0x1000000|100\n狗血淋头|0x1000000|908\n狗血喷头|0x1000000|41940\n狗眼看人|0x800000|933\n狗咬狗|0x1000|47678\n狗咬吕洞|0x0040|0\n狗咬吕洞宾|0x0008|1083\n狗崽子|0x100000|40357\n狗仗官势|0x1000000|100\n狗仗人势|0x1000000|42911\n狗彘不如|0x1000000|100\n狗彘不若|0x1000000|100\n狗彘不食|0x0000|100\n狗彘不食其余|0x0008|100\n狗猪不食其余|0x0000|100\n狗追耗子|0x1000000|100\n狗走狐淫|0x1000000|100\n狗嘴里吐不出象牙|0x0008|1046\n狗嘴吐不出象牙|0x0008|1162\n苟安一隅|0x400000|100\n苟合取容|0x800000|100\n苟且偷安|0x1000000|52237\n苟且偷生|0x1000000|46453\n苟且之心|0x0000|100\n苟全性命|0x800000|1082\n苟延残喘|0x1000000|34308\n苟延残息|0x800000|100\n枸杞子|0x100000|44972\n枸橼酸|0x100000|453\n构成要素|0x100000|467\n构成主义|0x0008|0\n构词法|0x100000|1034\n构配件|0x100000|1105\n构造地貌学|0x0008|0\n构造地震|0x100000|911\n构造湖|0x0008|0\n构造上|0x0000|409\n构造心理学|0x0008|913\n构造运动|0x800000|1097\n构筑物|0x100000|911\n诟龟呼天|0x1000000|100\n诟如不闻|0x0000|100\n购房款|0x100000|957\n购货单|0x100000|1311\n购货人|0x0008|1359\n购买力|0x100000|14063\n购买欲|0x100000|958\n购物券|0x100000|770\n购物中心|0x0008|21803\n购销差价|0x0008|0\n购销两旺|0x800000|1060\n垢面蓬头|0x1000000|100\n够不上|0x1000|2\n够不着|0x1000|37173\n够得上|0x1000|1\n够得着|0x1000|44679\n够交情|0x1000|51387\n够劲儿|0x1000|47996\n够朋友|0x40000000|34309\n够瞧的|0x0000|47061\n够受的|0x0000|46751\n够味儿|0x40000000|39510\n够意思|0x40000000|33761\n估堆儿|0x1000|0\n估计值|0x100000|1085\n估价单|0x100000|1203\n估价师|0x100000|704\n咕咚咕咚|0x80000|892\n咕咚一声|0x400000|0\n咕噜噜|0x80000|962\n咕噜一声|0x400000|0\n姑表亲|0x100000|1288\n姑老爷|0x100000|38467\n姑奶奶|0x100000|17355\n姑娘家|0x100000|31039\n姑且一试|0x400000|1\n姑射神人|0x100000|100\n姑太太|0x0000|24887\n姑妄听之|0x1000000|1088\n姑妄言之|0x1000000|50182\n姑息迁就|0x800000|1094\n姑息养奸|0x1000000|41697\n姑置勿论|0x0000|100\n孤哀子|0x100000|1535\n孤傲不群|0x0000|100\n孤标傲世|0x0000|100\n孤标独步|0x0000|100\n孤臣孽子|0x1000000|1221\n孤俦寡匹|0x1000000|100\n孤雏腐鼠|0x1000000|100\n孤雌寡鹤|0x1000000|100\n孤雌生殖|0x0008|1331\n孤单单|0x100000|765\n孤单时|0x100000|508\n孤犊触乳|0x1000000|100\n孤独鳏寡|0x0000|100\n孤独矜寡|0x800000|100\n孤独症|0x0008|933\n孤恩负义|0x1000000|100\n孤儿寡妇|0x100000|1161\n孤儿寡母|0x100000|35056\n孤儿院|0x100000|31397\n孤芳自赏|0x1000000|34047\n孤孤单单|0x0100|794\n孤寡鳏独|0x0000|100\n孤寡老人|0x100000|906\n孤鸿寡鹄|0x0000|100\n孤魂野鬼|0x1000000|47997\n孤家寡人|0x1000000|41008\n孤军奋战|0x800000|35817\n孤军深入|0x1000000|1043\n孤军作战|0x800000|1002\n孤苦仃俜|0x1000000|100\n孤苦伶仃|0x1000000|37887\n孤苦零丁|0x1000000|1166\n孤苦无依|0x800000|957\n孤立寡与|0x1000000|100\n孤立无援|0x1000000|31287\n孤立无助|0x1000000|1040\n孤立主义|0x0008|1112\n孤零零|0x0100|15374\n孤陋寡闻|0x1000000|34048\n孤履危行|0x1000000|100\n孤鸾寡鹄|0x800000|100\n孤鸾照镜|0x1000000|0\n孤身一人|0xc00000|2\n孤身只影|0x1000000|1116\n孤豚腐鼠|0x1000000|100\n孤文断句|0x1000000|100\n孤文只义|0x1000000|100\n孤行己见|0x800000|1344\n孤行己意|0x0000|100\n孤行一意|0x1400000|0\n孤形吊影|0x1000000|100\n孤悬浮寄|0x1000000|100\n孤悬客寄|0x1000000|100\n孤学坠绪|0x1000000|100\n孤云野鹤|0x1000000|1251\n孤掌难鸣|0x1000000|36292\n孤舟独桨|0x1000000|100\n孤注一掷|0x1400000|27450\n沽名吊誉|0x1000000|100\n沽名钓誉|0x1000000|28097\n沽名干誉|0x1000000|100\n沽名卖直|0x1000000|100\n沽名要誉|0x1000000|100\n沽誉钓名|0x1000000|100\n沽誉买直|0x1000000|100\n沽源县|0x0040|1539\n辜恩背义|0x0000|100\n辜恩负义|0x1000000|100\n毂击肩摩|0x1000000|100\n毂交蹄劘|0x1000000|100\n箍桶匠|0x100000|1271\n鹘仑吞枣|0x1000000|100\n鹘入鸦群|0x1000000|100\n古埃及|0x100000|541\n古巴人|0x100000|1075\n古北口|0x100000|1032\n古城热线|0x100000|435\n古代汉语|0x0008|465\n古代人|0x100000|867\n古代社会|0x0008|0\n古代史|0x100000|873\n古代文明|0x100000|473\n古代文学|0x0008|499\n古代性|0x100000|408\n古道热肠|0x1000000|45876\n古地理学|0x0008|0\n古地图|0x0008|0\n古典风格|0x0000|451\n古典家具|0x100000|500\n古典名著|0x0000|485\n古典派|0x0000|368\n古典式摔跤|0x0008|1208\n古典文学|0x100000|715\n古典舞|0x100000|1024\n古典小说|0x100000|772\n古典学派|0x0008|0\n古典艺术|0x0008|0\n古典音乐|0x0008|654\n古典主义|0x100000|857\n古典作品|0x0008|0\n古调不弹|0x1000000|100\n古调单弹|0x1000000|100\n古董表|0x100000|382\n古董店|0x0040|1550\n古董商|0x0008|1084\n古尔邦节|0x4000|33259\n古肥今瘠|0x1000000|100\n古汉语|0x0000|36998\n古惑仔|0x100000|563\n古吉拉特|0x0080|1514\n古籍出版社|0x0000|480\n古建筑|0x100000|558\n古交市|0x0040|1629\n古今中外|0x800000|735\n古井不波|0x0000|100\n古井无波|0x1000000|1116\n古旧书|0x100000|509\n古兰经|0x100000|28542\n古浪县|0x0040|1131\n古里古怪|0x0100|1037\n古蔺县|0x0040|1094\n古罗马|0x0040|1224\n古貌古心|0x1000|100\n古木参天|0x800000|967\n古气候|0x0008|0\n古钱币|0x100000|452\n古人类|0x100000|487\n古色古香|0x1000000|20862\n古山龙|0x0008|0\n古生代|0x0008|1088\n古生物|0x100000|879\n古圣先贤|0x800000|1072\n古诗词|0x100000|841\n古诗文|0x100000|478\n古时候|0x4000|26448\n古是今非|0x0000|100\n古书店|0x100000|1331\n古水文学|0x0008|0\n古体诗|0x100000|49436\n古田县|0x0040|1520\n古铜色|0x100000|27203\n古土壤|0x0008|0\n古玩店|0x100000|427\n古往今来|0x1000000|20501\n古为今用|0x1000000|27279\n古文化|0x100000|847\n古文明|0x100000|498\n古文献|0x0000|48348\n古文字|0x100000|43885\n古文字学|0x100000|1127\n古希腊|0x0040|1120\n古稀之年|0x4000|1012\n古香古色|0x0100|926\n古已有之|0x800000|34477\n古印度|0x100000|458\n古丈县|0x0040|1071\n古筝曲|0x100000|398\n古装剧|0x100000|487\n古装片|0x100000|931\n古装戏|0x100000|36293\n古紫色|0x100000|0\n谷氨酸|0x100000|45567\n谷氨酸合成酶|0x0008|0\n谷氨酰胺|0x0008|0\n谷草转氨酶|0x0008|0\n谷城县|0x0040|1515\n谷村新司|0x0080|0\n谷蛋白|0x0008|1\n谷父蚕母|0x1000000|100\n谷胱甘肽|0x0008|434\n谷贱伤农|0x1000000|1182\n谷壳儿|0x0000|53748\n谷类作物|0x100000|1212\n谷马砺兵|0x1000000|100\n股东大会|0x0000|695\n股东大会决议|0x100000|543\n股东会|0x100000|903\n股东会议|0x0000|583\n股东权益|0x100000|572\n股份公司|0x800000|576\n股份有限|0x800000|481\n股份有限公司|0x0008|843\n股份制|0x100000|5811\n股份制企业|0x100000|565\n股肱之臣|0x100000|1156\n股肱之力|0x0000|100\n股骨颈|0x100000|1091\n股骨头|0x100000|602\n股票代码|0x100000|555\n股票分析软件|0x100000|508\n股票价格|0x100000|537\n股票价值|0x100000|452\n股票交易|0x0000|553\n股票交易所|0x0008|452\n股票经纪人|0x0000|374\n股票论坛|0x100000|516\n股票买卖|0x100000|435\n股票名称|0x100000|517\n股票软件|0x100000|540\n股票市场|0x0008|724\n股票投资|0x100000|711\n股票行情|0x100000|522\n股票证券|0x100000|510\n股票走势|0x100000|409\n股评家|0x100000|461\n股权登记日|0x0000|385\n股权结构|0x100000|907\n股市信息|0x100000|466\n股市行情|0x100000|806\n股行情|0x100000|474\n股战而栗|0x0000|100\n股掌之上|0x0000|100\n骨朵儿|0x100000|39918\n骨干教师|0x100000|567\n骨干企业|0x0000|564\n骨骼肌|0x100000|1035\n骨鲠在喉|0x1000000|50965\n骨鲠之臣|0x100000|1366\n骨关节炎|0x0008|1004\n骨寒毛竖|0x0100|100\n骨化风成|0x1000000|100\n骨化形销|0x1000000|1533\n骨灰盒|0x100000|25564\n骨架子|0x100000|1140\n骨胶原|0x0000|429\n骨结核|0x100000|53750\n骨碌碌|0x0100|36460\n骨膜炎|0x100000|1180\n骨牌效应|0x100000|4\n骨肉离散|0x800000|1296\n骨肉团圆|0x800000|1232\n骨肉未寒|0x1000000|100\n骨肉相残|0x1000000|1088\n骨肉相连|0x1000000|1046\n骨肉至亲|0x800000|1195\n骨软筋麻|0x1000000|100\n骨软筋酥|0x1000000|1293\n骨软肉酥|0x1000000|100\n骨瘦如柴|0x1000000|32622\n骨瘦如豺|0x1000000|100\n骨瘦形销|0x1000000|100\n骨髓瘤|0x100000|1052\n骨髓细胞|0x0008|0\n骨髓纤维化症|0x100000|0\n骨髓炎|0x100000|991\n骨髓移植|0x100000|952\n骨碎补|0x0008|0\n骨腾肉飞|0x1000000|1364\n骨头架子|0x100000|847\n骨质增生|0x100000|877\n骨肿瘤|0x100000|406\n骨子里|0x100000|16447\n钴胺素|0x0008|1305\n钴蓝色|0x100000|0\n蛊惑人心|0x1000|941\n鹄面鸠形|0x1000000|100\n鹄形菜色|0x1000000|100\n鹄形鸟面|0x1000000|100\n鹄峙鸾停|0x1000000|100\n鹄峙鸾翔|0x1000000|100\n鼓吹喧阗|0x1000000|100\n鼓吹者|0x100000|1024\n鼓唇弄舌|0x0000|100\n鼓唇摇舌|0x0000|100\n鼓唇咋舌|0x0000|100\n鼓点子|0x100000|0\n鼓动性|0x100000|1092\n鼓风机|0x100000|40358\n鼓风炉|0x100000|54258\n鼓腹含哺|0x1000000|100\n鼓腹含和|0x1000000|100\n鼓腹击壤|0x1000000|100\n鼓鼓囊囊|0x0100|33392\n鼓角齐鸣|0x0000|100\n鼓睛暴眼|0x1000000|100\n鼓浪屿|0x0040|1285\n鼓乐队|0x100000|1147\n鼓乐齐鸣|0x1000000|1128\n鼓乐喧天|0x1000000|1150\n鼓膜炎|0x100000|1358\n鼓囊囊|0x0100|1118\n鼓脑争头|0x1000000|100\n鼓馁旗靡|0x1000000|100\n鼓盆之戚|0x1000000|100\n鼓旗相当|0x1000000|100\n鼓舌掀簧|0x1000000|100\n鼓舌扬唇|0x0000|100\n鼓舌摇唇|0x0000|100\n鼓舌摇脣|0x1000000|0\n鼓衰力尽|0x0000|100\n鼓吻奋爪|0x1000000|100\n鼓吻弄舌|0x1000000|100\n鼓舞欢忻|0x1000000|100\n鼓舞欢欣|0x1000000|0\n鼓舞人心|0x800000|901\n鼓眼努睛|0x1000000|100\n鼓掌声|0x100000|1012\n鼓足干劲|0x800000|1059\n瞽言萏议|0x1000000|100\n瞽言妄举|0x1000000|100\n固安县|0x0040|1446\n固壁清野|0x1000000|100\n固步自封|0x1000000|36811\n固氮菌|0x100000|1238\n固氮酶|0x100000|1413\n固氮作用|0x0008|0\n固定床|0x0008|0\n固定床反应器|0x0008|0\n固定汇率|0x800000|1031\n固定价格|0x100000|100\n固定器|0x0008|1648\n固定物|0x0000|374\n固定性|0x100000|1023\n固定资本|0x0008|0\n固定资产|0x800000|5046\n固定资产大修理|0x0008|0\n固定资产折旧|0x0008|470\n固定资金|0x100000|1124\n固化剂|0x0008|1421\n固溶体|0x0008|0\n固若金汤|0x1000000|41456\n固色剂|0x0008|1073\n固沙林|0x100000|42195\n固始县|0x0040|1520\n固体潮|0x100000|1375\n固体电路|0x0008|0\n固体废物|0x100000|510\n固体化|0x100000|0\n固体激光器|0x0008|0\n固体酒精|0x100000|423\n固体燃料|0x0008|911\n固体声|0x0008|0\n固相聚合|0x0008|0\n固阳县|0x0040|1082\n固有频率|0x0008|0\n固有性|0x100000|0\n固原市|0x0040|1627\n固镇县|0x0040|1541\n固执成见|0x1000000|1213\n固执己见|0x1000000|895\n故步自封|0x1000000|36811\n故步自画|0x1000000|100\n故城县|0x0040|1600\n故地重游|0x800000|42694\n故宫博物馆|0x0000|389\n故宫禾黍|0x1000000|100\n故伎重演|0x1000000|41698\n故技重演|0x1000000|1095\n故家乔木|0x1000000|100\n故剑情深|0x1000000|1285\n故旧不弃|0x1000000|100\n故弄虚玄|0x1000000|100\n故弄玄虚|0x1000000|28826\n故人之意|0x0000|100\n故入人罪|0x1000000|100\n故甚其词|0x1000000|100\n故事村|0x0040|0\n故事梗概|0x100000|551\n故事会|0x100000|799\n故事片|0x100000|16398\n故事情节|0x0000|594\n故事书|0x100000|468\n故事性|0x100000|889\n故态复还|0x1000000|100\n故态复萌|0x1000000|45281\n故态复作|0x0000|100\n故土难离|0x800000|1138\n故土难移|0x800000|1378\n故我依然|0x0000|100\n故乡人|0x100000|1031\n故意伤害|0x0008|481\n故障测试|0x0008|0\n故障率|0x100000|890\n故障诊断|0x0008|534\n故纸堆|0x100000|41699\n故作高深|0x1000|1053\n故作玄虚|0x1000000|100\n故作姿态|0x1000000|951\n顾不得|0x1000|10452\n顾不及|0x0000|47358\n顾不了|0x800000|1\n顾不上|0x1000|11284\n顾此失彼|0x1000000|28018\n顾得上|0x1000|893\n顾而言他|0x1000000|100\n顾复之恩|0x100000|1534\n顾后瞻前|0x1000000|100\n顾景惭形|0x1000000|100\n顾恺之|0x0080|1071\n顾虑重重|0x800000|34310\n顾名思义|0x1000000|25963\n顾盼多姿|0x1000000|100\n顾盼神飞|0x1000000|1121\n顾盼生辉|0x1000000|1044\n顾盼生姿|0x1000000|1007\n顾盼自豪|0x1000000|100\n顾盼自雄|0x1000000|1165\n顾前不顾后|0x0008|1210\n顾曲周郎|0x1000000|100\n顾全大局|0x1000000|862\n顾犬补牢|0x1000000|100\n顾头不顾尾|0x0008|1212\n顾问公司|0x100000|715\n顾问团|0x100000|888\n顾问有限公司|0x100000|596\n顾小失大|0x1000000|100\n顾影惭形|0x0000|100\n顾影弄姿|0x1000000|100\n顾影自怜|0x1000000|39291\n顾左右而言他|0x0008|942\n雇佣兵|0x100000|50184\n雇佣工人|0x0008|4\n雇佣军|0x100000|960\n雇佣劳动|0x800000|1080\n瓜氨酸|0x0008|0\n瓜地马拉|0x0040|1133\n瓜瓞绵绵|0x1000000|1311\n瓜分鼎峙|0x0000|100\n瓜分豆剖|0x1000|1407\n瓜葛相连|0x0000|100\n瓜李之嫌|0x1000000|100\n瓜连蔓引|0x0000|100\n瓜皮搭李树|0x100000|1304\n瓜皮帽|0x100000|38469\n瓜剖豆分|0x1000000|1388\n瓜区豆分|0x0000|100\n瓜熟蒂落|0x1000000|38883\n瓜田不纳履|0x0008|1283\n瓜田李下|0x1000000|47999\n瓜田之嫌|0x0000|100\n瓜子儿|0x0000|9885\n瓜子儿脸|0x0000|50186\n瓜子金|0x0008|0\n瓜子脸|0x100000|833\n瓜子仁|0x100000|1087\n瓜子仁儿|0x0000|52728\n瓜字初分|0x0000|100\n刮鼻子|0x1000|0\n刮肠洗胃|0x800000|100\n刮地皮|0x1000|44404\n刮垢磨光|0x1000000|1379\n刮垢磨痕|0x1000000|100\n刮骨抽筋|0x1000000|100\n刮骨去毒|0x0000|100\n刮刮叫|0x800000|1228\n刮刮杂杂|0x0100|1426\n刮胡刀|0x0008|55237\n刮胡子|0x1000|37701\n刮蜡片|0x0008|0\n刮目相待|0x1000000|1240\n刮目相见|0x1000000|100\n刮目相看|0x1000000|14927\n刮野扫地|0x1000000|100\n呱嗒板儿|0x100000|1272\n呱呱堕地|0x1000000|100\n呱呱叫|0x800000|38470\n呱呱落地|0x0000|50181\n呱呱坠地|0x1000|44680\n寡不敌众|0x1000000|28623\n寡不胜众|0x1000000|100\n寡二少双|0x1400000|0\n寡凫单鹄|0x1000000|100\n寡鹄孤鸾|0x0000|100\n寡核苷酸|0x0008|0\n寡见少闻|0x40000000|100\n寡见鲜闻|0x0000|100\n寡廉鲜耻|0x1000000|44405\n寡霉素|0x0008|0\n寡情薄意|0x1000000|100\n寡人之疾|0x0000|100\n寡头政治|0x100000|1191\n寡闻少见|0x1000000|100\n寡信轻诺|0x0000|100\n寡言少语|0x800000|990\n挂不住|0x1000|36462\n挂灯结彩|0x1000000|100\n挂肚牵肠|0x1000000|100\n挂肚牵心|0x0000|100\n挂冠归去|0x0000|100\n挂冠求去|0x0000|100\n挂号处|0x100000|44129\n挂号费|0x100000|905\n挂号信|0x100000|38680\n挂幌子|0x1000|0\n挂镜线|0x100000|1144\n挂起来|0x0000|31625\n挂席为门|0x1000000|100\n挂羊头|0x800000|862\n挂羊头卖狗肉|0x0008|42196\n挂一漏万|0x1400000|47683\n挂衣钩|0x100000|1212\n挂衣架|0x0008|0\n挂印悬牌|0x0000|100\n挂职锻炼|0x0000|456\n乖宝宝|0x0000|498\n乖唇蜜舌|0x0000|100\n乖乖女|0x100000|505\n乖孩子|0x100000|790\n乖僻邪谬|0x0000|100\n乖嘴蜜舌|0x0000|100\n拐脖儿|0x100000|0\n拐棍儿|0x0000|31848\n拐卖人口|0x0008|2\n拐弯抹角|0x1000000|32624\n怪不得|0x8000000|10277\n怪诞不经|0x1000000|54263\n怪诞诡奇|0x0000|100\n怪里怪气|0x800000|45568\n怪力乱神|0x1000000|1003\n怪模怪样|0x1000000|38094\n怪声怪气|0x1000000|46457\n怪石嶙峋|0x1000000|48352\n怪事咄咄|0x1000000|100\n怪形怪状|0x1000000|100\n怪样儿|0x0000|28269\n怪雨盲风|0x1000000|100\n关帝庙|0x100000|1477\n关东出相|0x0000|100\n关东军|0x100000|1509\n关东糖|0x100000|54787\n关怀备至|0x1000000|911\n关键词|0x100000|17376\n关键环节|0x100000|542\n关键技术|0x100000|593\n关键期|0x100000|914\n关键人物|0x0000|510\n关键时刻|0x0000|645\n关键时期|0x100000|559\n关键性|0x100000|763\n关键因素|0x100000|561\n关键在于|0x0000|629\n关键字|0x100000|494\n关节点|0x100000|1082\n关节痛|0x100000|927\n关节炎|0x100000|18869\n关节轴承|0x100000|404\n关禁闭|0x1000|1008\n关联词|0x100000|1028\n关联能|0x0008|0\n关联性|0x100000|866\n关贸总协定|0x0008|1701\n关门闭户|0x1000000|1115\n关门打狗|0x1000000|55867\n关门大吉|0x1000000|44130\n关门落闩|0x1000000|100\n关门养虎|0x0000|100\n关门主义|0x100000|49803\n关木通|0x0000|373\n关起来|0x0000|524\n关情脉脉|0x0000|100\n关山迢递|0x800000|100\n关山阻隔|0x0000|100\n关税壁垒|0x800000|1019\n关停并转|0x1000|39091\n关西出将|0x0000|100\n关西地区|0x0040|1143\n关系到|0x0000|677\n关系户|0x100000|38884\n关系逻辑|0x0008|0\n关系人|0x100000|879\n关系式|0x100000|1024\n关系网|0x100000|26886\n关系学|0x100000|864\n关系正常化|0x0000|441\n关心国家大事|0x0000|409\n关心民瘼|0x800000|100\n关心群众|0x0000|472\n关注点|0x100000|860\n关子岭|0x0040|0\n观测器|0x100000|1179\n观测室|0x100000|1305\n观测员|0x100000|1211\n观测站|0x100000|963\n观察窗|0x0008|1090\n观察到|0x0000|369\n观察法|0x100000|1014\n观察家|0x100000|19923\n观察力|0x100000|798\n观察哨|0x100000|50966\n观察使|0x100000|1046\n观察室|0x0008|50576\n观察所|0x100000|1086\n观察团|0x100000|381\n观察员|0x100000|12627\n观察站|0x100000|1065\n观察者|0x100000|882\n观场矮人|0x1000000|100\n观潮派|0x100000|1534\n观风察俗|0x1000000|100\n观光客|0x100000|34781\n观光旅游|0x100000|811\n观光农业|0x100000|31288\n观光团|0x0008|956\n观光者|0x100000|1064\n观过知仁|0x1000000|100\n观后感|0x100000|44407\n观化听风|0x1000000|100\n观机而动|0x1000000|100\n观机而作|0x1000000|100\n观今宜鉴古|0x0000|100\n观礼台|0x100000|35357\n观貌察色|0x0000|100\n观眉说眼|0x1000000|100\n观摩教学|0x0008|0\n观念形态|0x800000|1113\n观念性|0x100000|0\n观其行|0x800000|1042\n观山玩水|0x1000000|100\n观赏树木|0x0008|0\n观赏性|0x100000|805\n观赏鱼|0x100000|45878\n观赏园艺|0x0008|0\n观赏植物|0x800000|976\n观世音|0x100000|33260\n观世音菩萨|0x0000|523\n观塘区|0x0040|1154\n观往知来|0x1000000|100\n观望不前|0x0000|100\n观象台|0x100000|44408\n观星台|0x0008|0\n观形察色|0x1000000|100\n观音菩萨|0x0000|35504\n观音土|0x100000|52242\n观音竹|0x0000|54264\n观隅反三|0x1400000|0\n观月亚里莎|0x0080|0\n观者成堵|0x1000000|100\n观者如堵|0x1000000|53752\n观者如垛|0x1000000|0\n观者如市|0x1000000|100\n观者如云|0x1000000|1184\n观者如织|0x0000|100\n观者云集|0x1000000|100\n观众席|0x100000|815\n官报私仇|0x1000000|1403\n官卑职小|0x0000|100\n官本位|0x100000|24279\n官偪民反|0x1000000|100\n官逼民反|0x1000000|50577\n官兵关系|0x0008|1\n官兵一致|0x400000|1\n官仓老鼠|0x0000|100\n官场如戏|0x0000|100\n官场现形记|0x100000|1043\n官大一级压死人|0x400000|0\n官法如炉|0x1000000|0\n官方简体|0x100000|555\n官方简体中文版|0x100000|470\n官方论坛|0x100000|623\n官方网站|0x100000|512\n官方站点|0x100000|777\n官方主页|0x100000|746\n官复原职|0x1000|42440\n官官相护|0x1000000|44683\n官官相为|0x1000000|100\n官官相卫|0x1000000|1256\n官虎吏狼|0x0000|100\n官架子|0x100000|41700\n官老爷|0x100000|997\n官僚主义|0x100000|7854\n官僚资本|0x800000|32510\n官僚资本主义|0x100000|874\n官僚资产阶级|0x100000|0\n官能团|0x100000|1100\n官能症|0x100000|51389\n官轻势微|0x0000|100\n官情纸薄|0x1000000|100\n官样文章|0x1000000|43408\n官员称|0x100000|557\n官运亨通|0x1000|42695\n官止神行|0x1000000|100\n冠盖如云|0x800000|1275\n冠盖相望|0x1000000|1300\n冠盖云集|0x800000|1177\n冠屦倒施|0x1000000|100\n冠绝一时|0x401000|0\n冠军杯|0x100000|664\n冠军联赛|0x100000|587\n冠军赛|0x100000|14424\n冠军足球|0x100000|485\n冠军足球经理|0x100000|458\n冠履倒易|0x1000000|100\n冠履倒置|0x1000000|100\n冠冕堂皇|0x1000000|24121\n冠袍带履|0x1000000|1538\n冠山戴粒|0x1000000|100\n冠上加冠|0x1000000|1287\n冠上履下|0x1000000|100\n冠生园|0x100000|444\n冠心病|0x100000|17254\n冠亚军|0x100000|865\n冠周炎|0x0008|991\n冠状病毒|0x0008|478\n冠状动脉|0x800000|29016\n棺材板|0x0008|0\n棺材店|0x0008|1184\n棺材瓤子|0x0000|51819\n鳏寡孤独|0x1000000|46459\n鳏寡孤茕|0x0000|100\n鳏寡孤惸|0x1000000|100\n鳏寡茕独|0x0000|100\n鳏寡惸独|0x1000000|100\n鳏鱼渴凤|0x1000000|100\n馆际互借|0x100000|1076\n馆陶县|0x0040|1055\n管鲍分金|0x0000|100\n管鲍之交|0x100000|1215\n管不了|0x1000|563\n管不住|0x1000|507\n管城毛颖|0x0000|100\n管道泵|0x100000|483\n管道穿越|0x0008|0\n管道工|0x100000|1037\n管道工程|0x0008|492\n管道配件|0x100000|417\n管儿灯|0x0000|55959\n管风琴|0x100000|37889\n管家婆|0x100000|38471\n管见所及|0x1000000|100\n管教所|0x100000|39697\n管接头|0x100000|918\n管窥筐举|0x1000000|100\n管窥蠡测|0x1000000|1236\n管乐队|0x100000|53753\n管乐器|0x100000|48353\n管理办法|0x100000|538\n管理部门|0x100000|636\n管理程序|0x0008|565\n管理处|0x100000|668\n管理点|0x100000|0\n管理费|0x100000|709\n管理费用|0x100000|845\n管理干部|0x0000|537\n管理工具|0x100000|678\n管理工作|0x100000|572\n管理机构|0x100000|679\n管理机制|0x0000|591\n管理计算机|0x0000|428\n管理经验|0x0000|630\n管理局|0x100000|537\n管理科学|0x100000|757\n管理模式|0x100000|625\n管理器|0x0008|713\n管理区|0x100000|648\n管理权|0x100000|827\n管理权限|0x0000|544\n管理人|0x100000|766\n管理人才|0x100000|667\n管理人员|0x100000|787\n管理软件|0x100000|751\n管理水平|0x0000|653\n管理所|0x100000|706\n管理体系|0x100000|511\n管理体制|0x100000|648\n管理条例|0x100000|640\n管理心理学|0x0008|944\n管理信息系统|0x0008|594\n管理学|0x100000|621\n管理学院|0x100000|672\n管理员|0x100000|13149\n管理员联系|0x100000|543\n管理员权限|0x100000|477\n管理员帐号|0x100000|469\n管理站|0x100000|728\n管理者|0x100000|606\n管理知识|0x100000|734\n管理制度|0x100000|566\n管理中心|0x0000|666\n管宁割席|0x1000000|1185\n管钳子|0x100000|1273\n管委会|0x100000|758\n管辖权|0x100000|885\n管闲事|0x800000|21668\n管弦乐|0x100000|31041\n管弦乐队|0x100000|983\n管制法|0x100000|1191\n管中窥豹|0x1000000|49438\n管中窥天|0x0000|100\n贯彻落实|0x0000|698\n贯彻实施|0x0000|589\n贯彻始终|0x1000000|955\n贯彻执行|0x0000|625\n贯穿今古|0x0000|100\n贯穿融会|0x1000000|100\n贯斗双龙|0x1000000|100\n贯通融会|0x1000000|100\n贯朽粟陈|0x1000000|100\n贯朽粟腐|0x1000000|100\n贯朽粟红|0x1000000|100\n贯颐备戟|0x0000|100\n贯颐奋戟|0x0000|100\n贯盈恶稔|0x1000000|100\n贯鱼之次|0x1000000|100\n贯鱼之序|0x1000000|100\n惯性定律|0x0008|0\n惯性矩|0x0008|0\n惯性力|0x100000|1112\n惯用语|0x100000|52243\n掼纱帽|0x1000|0\n盥洗室|0x100000|41010\n灌夫骂坐|0x1000000|100\n灌夫骂座|0x1000000|100\n灌溉区|0x100000|1239\n灌溉渠|0x100000|52731\n灌溉渠道|0x100000|0\n灌溉系统|0x0008|2\n灌篮高手|0x100000|742\n灌米汤|0x1000|52732\n灌木丛|0x100000|839\n灌木状|0x100000|0\n灌南县|0x0040|1518\n灌水区|0x0008|0\n灌阳县|0x0040|1581\n灌云县|0x0040|1550\n罐头盒|0x100000|39920\n罐头食品|0x0008|811\n光板儿|0x100000|45286\n光膀子|0x0000|35505\n光波炉|0x100000|401\n光采夺目|0x1000000|0\n光彩夺目|0x1000000|27530\n光彩陆离|0x1000000|100\n光彩四射|0x400000|0\n光彩耀目|0x1000000|1314\n光彩溢目|0x1000000|100\n光彩照人|0x800000|24498\n光灿灿|0x0100|41458\n光灿夺目|0x40000000|0\n光车骏马|0x1000000|100\n光催化|0x0008|451\n光催化剂|0x0008|0\n光大银行|0x0020|1298\n光导纤维|0x100000|41011\n光电倍增管|0x0008|0\n光电比色计|0x0008|0\n光电池|0x100000|1047\n光电二极管|0x400000|373\n光电感烟探测器|0x0008|0\n光电管|0x0008|1158\n光电晶体管|0x0008|0\n光电开关|0x100000|481\n光电效应|0x0008|1063\n光电子|0x100000|723\n光度计|0x100000|874\n光度学|0x0008|0\n光反应|0x0008|0\n光风霁月|0x1000000|1116\n光辐射|0x0008|1099\n光复会|0x0020|1163\n光复活|0x0008|0\n光复旧物|0x1000000|1240\n光杆儿|0x100000|46755\n光杆司令|0x100000|1011\n光感受器|0x0008|0\n光固化|0x0000|424\n光怪陆离|0x1000000|27931\n光棍儿|0x100000|15124\n光合磷酸化|0x0008|0\n光合作用|0x100000|14205\n光华夺目|0x1000000|1167\n光化学|0x100000|1018\n光化作用|0x800000|1137\n光还原|0x0008|0\n光辉灿烂|0x1000000|26387\n光降解|0x0008|0\n光洁度|0x100000|52244\n光可鉴人|0x1000000|46188\n光亮度|0x0008|945\n光亮剂|0x0008|1515\n光量子|0x100000|1078\n光溜溜|0x0100|26125\n光卤石|0x0008|1150\n光芒四射|0x401000|2\n光芒万丈|0x1000000|899\n光密度|0x0008|0\n光敏剂|0x100000|1230\n光明顶|0x100000|475\n光明磊落|0x1000000|20438\n光明日报|0x0008|1235\n光明正大|0x1000000|26679\n光盘版|0x100000|562\n光盘启动|0x0000|507\n光盘驱动器|0x0000|449\n光谱分析|0x800000|944\n光谱线|0x0008|1239\n光谱仪|0x100000|912\n光前绝后|0x1000000|100\n光前启后|0x1000000|100\n光前裕后|0x1000000|1289\n光荣榜|0x100000|36639\n光荣感|0x0000|31511\n光荣革命|0x0008|1\n光山县|0x0040|1602\n光闪闪|0x0100|27453\n光神霉素|0x0008|0\n光生物学|0x0008|0\n光天化日|0x1000000|22270\n光天化日之下|0x0000|516\n光通量|0x100000|1078\n光通信|0x0000|30049\n光秃秃|0x0100|779\n光污染|0x100000|42696\n光吸收|0x0008|0\n光纤通信|0x100000|883\n光行差|0x0008|0\n光学玻璃|0x4000000|941\n光学薄膜|0x100000|371\n光学材料|0x100000|386\n光学家|0x100000|1358\n光学镜片|0x100000|408\n光学图象处理|0x0008|0\n光学系统|0x100000|455\n光学仪器|0x0008|768\n光焰万丈|0x1000000|1236\n光养生物|0x0008|0\n光氧化|0x0008|0\n光阴荏苒|0x800000|950\n光阴如箭|0x1000000|1171\n光阴似箭|0x1000000|839\n光诱导|0x0008|0\n光泽精|0x100000|0\n光泽县|0x0040|1054\n光栅尺|0x100000|378\n光栅扫描|0x0008|0\n光照度|0x100000|1140\n光照阶段|0x0008|0\n光照强度|0x0000|397\n光致发光|0x0008|0\n光周期|0x0008|0\n光周期现象|0x0008|0\n光宗耀祖|0x1000000|36640\n胱氨酸|0x100000|973\n胱硫醚|0x0008|0\n广安市|0x0040|1478\n广播操|0x100000|38681\n广播电视|0x0008|580\n广播电台|0x100000|8774\n广播电影电视部|0x0020|1771\n广播公司|0x0000|559\n广播讲话|0x100000|11\n广播节目|0x100000|837\n广播剧|0x100000|35821\n广播室|0x100000|1035\n广播台|0x100000|46756\n广播体操|0x100000|913\n广播网|0x100000|795\n广播员|0x100000|1015\n广播站|0x100000|25702\n广采博收|0x800000|1310\n广昌县|0x0040|1653\n广场砖|0x100000|387\n广大客户|0x100000|636\n广德县|0x0040|1360\n广电总局|0x0020|1206\n广东电视台|0x100000|467\n广东电信|0x100000|519\n广东东莞|0x100000|591\n广东工业大学|0x100000|468\n广东广州|0x100000|614\n广东话|0x0000|540\n广东籍|0x100000|1111\n广东南海|0x100000|453\n广东人|0x100000|543\n广东汕头|0x100000|513\n广东深圳|0x100000|651\n广东省|0x0040|781\n广东省委|0x100000|501\n广东顺德|0x100000|482\n广东外语|0x100000|459\n广东戏|0x100000|1371\n广东音乐|0x100000|49439\n广而告之|0x800000|38095\n广而言之|0x800000|0\n广泛传播|0x40000000|470\n广泛性|0x100000|884\n广丰县|0x0040|1624\n广告笔|0x100000|436\n广告部|0x100000|546\n广告创意|0x100000|554\n广告词|0x100000|747\n广告代理|0x100000|542\n广告法|0x100000|926\n广告费|0x100000|791\n广告费用|0x100000|511\n广告歌|0x100000|511\n广告公司|0x0008|585\n广告节|0x100000|428\n广告栏|0x100000|945\n广告礼品|0x100000|528\n广告媒体|0x100000|788\n广告牌|0x100000|17816\n广告片|0x100000|543\n广告曲|0x100000|498\n广告伞|0x100000|424\n广告色|0x100000|1222\n广告衫|0x100000|463\n广告商|0x100000|579\n广告设备|0x100000|420\n广告设计|0x100000|637\n广告社|0x100000|1119\n广告位|0x100000|730\n广告行业|0x100000|481\n广告宣传|0x1000|610\n广告学|0x100000|496\n广告业|0x100000|804\n广告业务|0x100000|603\n广告有限公司|0x100000|621\n广告语|0x100000|558\n广告制品|0x100000|391\n广告装饰|0x100000|472\n广寒宫|0x0000|48001\n广寒仙子|0x0000|100\n广汉市|0x0040|1563\n广河县|0x0040|1162\n广藿香|0x0008|395\n广见洽闻|0x1000000|100\n广交会|0x100000|17038\n广交朋友|0x800000|848\n广角镜|0x100000|54790\n广角镜头|0x100000|921\n广结良缘|0x0000|100\n广金钱草|0x0008|0\n广开才路|0x800000|1350\n广开门路|0x800000|1134\n广开言路|0x1000000|35207\n广阔天地|0x0000|460\n广灵县|0x0040|1059\n广陵散绝|0x1000000|100\n广梅汕|0x0008|1090\n广末凉子|0x0080|931\n广南县|0x0040|1038\n广宁县|0x0040|1578\n广譬曲谕|0x1000000|100\n广平县|0x0040|1048\n广饶县|0x0040|1558\n广水市|0x0040|1600\n广庭大众|0x1000000|100\n广土众民|0x1000000|1260\n广为流传|0x800000|786\n广文先生|0x1000000|1350\n广西北海|0x100000|462\n广西大学|0x100000|492\n广西房地产|0x100000|400\n广西桂林|0x100000|515\n广西柳州|0x100000|514\n广西南宁|0x100000|577\n广西师范大学|0x100000|479\n广西壮族|0x0000|577\n广西壮族自治区|0x0040|1150\n广西自治区|0x0000|437\n广夏细旃|0x1000000|100\n广厦万间|0x0000|100\n广义力|0x100000|0\n广义三角多项式|0x400000|0\n广义四元数群|0x400000|0\n广义速度|0x0008|0\n广义相对论|0x100000|435\n广义性|0x100000|0\n广义坐标|0x0008|0\n广玉兰|0x100000|548\n广域网|0x100000|833\n广元市|0x0040|1446\n广种薄收|0x800000|37357\n广州白云|0x100000|475\n广州宾馆|0x100000|374\n广州大学|0x100000|825\n广州地铁|0x100000|476\n广州番禺|0x100000|492\n广州翻译|0x100000|477\n广州房地产|0x100000|432\n广州飞机票|0x100000|455\n广州分公司|0x100000|495\n广州丰田|0x100000|468\n广州话|0x0008|1488\n广州火车站|0x100000|487\n广州机场|0x100000|408\n广州机票|0x100000|530\n广州经济|0x100000|452\n广州军区|0x0020|1475\n广州日报|0x100000|581\n广州日报大洋网|0x100000|427\n广州市|0x0040|778\n广州市区|0x100000|456\n广州市政府|0x100000|469\n广州视窗|0x100000|435\n广州视听|0x100000|427\n广州天河|0x100000|522\n广州天气|0x100000|430\n广州湾|0x0040|1115\n广宗县|0x0040|1654\n逛来逛去|0x1000|969\n逛商场|0x1000|503\n逛商店|0x0000|445\n归根到底|0x800000|11312\n归根结底|0x800000|14206\n归根结柢|0x1000000|1352\n归根结蒂|0x1000000|1091\n归根究底|0x800000|1048\n归根究柢|0x1000000|1321\n归功于|0x0000|15226\n归国华侨|0x0008|945\n归结为|0x0000|549\n归咎于|0x1000|530\n归里包堆|0x800000|0\n归马放牛|0x1000000|1348\n归谬法|0x100000|1253\n归纳法|0x0008|35822\n归纳推理|0x0008|0\n归奇顾怪|0x0000|100\n归去来兮|0x800000|910\n归全反真|0x0000|100\n归师勿掩|0x0000|100\n归十归一|0x1400000|0\n归邪转曜|0x0000|100\n归心如箭|0x1000000|1341\n归心似箭|0x1000000|45287\n归一化|0x400000|1\n归一化因子|0x400000|0\n归一化阻抗|0x400000|0\n归因于|0x1000|473\n归真反璞|0x1000000|100\n归真反朴|0x1000000|100\n归真返璞|0x1000000|1358\n归正邱首|0x1000000|100\n归正守丘|0x1000000|100\n归正首丘|0x1000000|100\n归正首邱|0x1000000|100\n归之若水|0x0000|100\n归属感|0x100000|739\n归罪于|0x0000|31849\n圭角岸然|0x1000000|100\n圭角不露|0x0000|100\n圭亚那|0x0040|1595\n圭璋特达|0x0000|100\n龟鹤遐龄|0x1000000|1259\n龟鹤遐寿|0x1000000|100\n龟冷支床|0x1000000|100\n龟冷搘床|0x0000|100\n龟龄鹤算|0x1000000|100\n龟龙鳞凤|0x0000|100\n龟龙麟凤|0x0008|1306\n龟龙片甲|0x1000000|100\n龟毛兔角|0x1000000|1341\n龟年鹤寿|0x1000000|100\n龟年鹤算|0x1000000|100\n龟头炎|0x100000|403\n龟文鸟迹|0x0000|100\n龟厌不告|0x1000000|100\n龟玉毁椟|0x1000000|100\n规定动作|0x100000|33909\n规定性|0x100000|1000\n规范化|0x1000|4200\n规范性|0x100000|774\n规范字|0x100000|376\n规格化|0x1000|1042\n规格书|0x100000|414\n规格型号|0x100000|621\n规规矩矩|0x0100|821\n规划系统|0x0000|396\n规矩钩绳|0x0000|100\n规矩绳墨|0x1000000|100\n规矩准绳|0x1000000|1349\n规律性|0x100000|9811\n规模化|0x0000|10147\n规模经济|0x0008|502\n规求无度|0x1000000|100\n规绳矩墨|0x1000000|100\n规天矩地|0x1000000|100\n规贤矩圣|0x1000000|100\n规行矩步|0x1000000|1278\n规行矩止|0x1000000|100\n规旋矩折|0x1000000|100\n规言矩步|0x1000000|100\n规圆矩方|0x0000|100\n规则化|0x100000|0\n规则性|0x100000|1067\n规章制度|0x800000|612\n规重矩迭|0x0000|100\n规重矩叠|0x1000000|100\n闺英闱秀|0x1000000|100\n珪璋特达|0x1000000|100\n硅钢片|0x100000|960\n硅谷动力|0x0008|654\n硅胶管|0x100000|407\n硅胶胸罩|0x100000|376\n硅溶胶|0x100000|386\n硅树脂|0x100000|408\n硅酸铝|0x100000|435\n硅酸钠|0x0008|972\n硅酸盐|0x100000|862\n硅酸盐水泥|0x100000|454\n硅烷偶联剂|0x100000|392\n硅橡胶|0x100000|768\n硅藻土|0x100000|958\n硅整流器|0x0008|0\n瑰意奇行|0x1000000|100\n瑰意琦行|0x1000000|100\n轨道电路|0x0008|0\n轨道交通|0x100000|574\n轨道角动量|0x0008|0\n轨道稳定性|0x0008|0\n轨物范世|0x1000000|100\n佹得佹失|0x1000000|100\n佹形僪状|0x1000000|100\n诡变多端|0x0000|100\n诡诞不经|0x1000000|100\n诡计多端|0x1000000|40789\n诡谲多变|0x800000|1146\n诡谲怪诞|0x0000|100\n诡秘莫测|0x0000|100\n诡衔窃辔|0x1000000|100\n诡形奇制|0x1000000|0\n诡雅异俗|0x1000000|100\n诡言浮说|0x1000000|100\n鬼把戏|0x100000|43179\n鬼不觉|0x800000|841\n鬼出电入|0x1000000|100\n鬼出神入|0x1000000|100\n鬼打墙|0x0000|47362\n鬼点子|0x100000|41248\n鬼斧神工|0x1000000|35659\n鬼工雷斧|0x1000000|100\n鬼功神力|0x1000000|100\n鬼谷子|0x0080|1430\n鬼怪式|0x100000|0\n鬼鬼祟祟|0x1000000|20353\n鬼画符|0x100000|48357\n鬼话连篇|0x800000|876\n鬼计百端|0x1000000|100\n鬼计多端|0x1000000|1265\n鬼见愁|0x800000|979\n鬼箭羽|0x0008|0\n鬼精灵|0x0000|50969\n鬼瞰高明|0x1000000|100\n鬼瞰其室|0x1000000|100\n鬼刻神劖|0x1000000|100\n鬼哭狼嗥|0x1000000|100\n鬼哭狼嚎|0x1000000|40365\n鬼哭神愁|0x1000000|100\n鬼哭神嚎|0x1000000|1037\n鬼哭神号|0x1000000|1091\n鬼哭神惊|0x1000000|100\n鬼哭粟飞|0x1000000|100\n鬼哭天愁|0x1000000|100\n鬼烂神焦|0x1000000|100\n鬼灵精|0x100000|933\n鬼魅伎俩|0x1000000|100\n鬼门关|0x100000|30503\n鬼迷心窍|0x1000000|42913\n鬼名堂|0x0000|50581\n鬼怕恶人|0x1000000|1249\n鬼泣神嚎|0x1000000|100\n鬼泣神号|0x1000000|100\n鬼设神使|0x1000000|100\n鬼神不测|0x1000000|100\n鬼神莫测|0x1000000|1125\n鬼使神差|0x1000000|29848\n鬼剃头|0x100000|1078\n鬼天气|0x100000|822\n鬼头鬼脑|0x1000000|40366\n鬼头滑脑|0x1000000|100\n鬼屋魔影|0x100000|1067\n鬼形怪状|0x1000000|100\n鬼蜮伎俩|0x1000000|53755\n鬼蜮技俩|0x1000000|100\n鬼吒狼嚎|0x1000000|100\n鬼咤狼嚎|0x0000|100\n鬼针草|0x0008|1238\n鬼主意|0x100000|46757\n鬼抓狼嚎|0x1000000|100\n刽子手|0x100000|21304\n刿目怵心|0x1000000|100\n刿目鉥心|0x1000000|100\n刿鉥肝肾|0x1000000|100\n刿鉥心腑|0x1000000|100\n刿心怵目|0x1000000|100\n刿心刳肺|0x1000000|100\n刿心刳腹|0x1000000|100\n刿心鉥肾|0x1000000|100\n柜员机|0x100000|51824\n贵宾卡|0x100000|550\n贵宾室|0x100000|961\n贵宾席|0x100000|972\n贵不可言|0x1000000|1155\n贵不期骄|0x1000000|100\n贵不召骄|0x1000000|100\n贵德县|0x0040|1099\n贵定县|0x0040|1062\n贵而贱目|0x0000|100\n贵耳贱目|0x1000000|1425\n贵妇人|0x100000|906\n贵港市|0x0040|1366\n贵公司|0x100000|675\n贵公子|0x100000|505\n贵古贱今|0x1000000|100\n贵冠履轻头足|0x0008|100\n贵极人臣|0x0000|100\n贵贱高下|0x0000|100\n贵贱无常|0x0000|100\n贵贱无二|0x1400000|0\n贵金属|0x100000|33118\n贵南县|0x0040|1153\n贵人多忘|0x1000000|100\n贵人多忘事|0x0008|1064\n贵人贱己|0x0000|100\n贵人善忘|0x0000|100\n贵少贱老|0x1000000|100\n贵溪市|0x0040|1638\n贵阳市|0x0040|1227\n贵阴贱璧|0x1000000|100\n贵远鄙近|0x1000000|100\n贵远贱近|0x1000000|1410\n贵在知心|0x0000|100\n贵州人|0x100000|971\n贵州省|0x0040|1064\n贵壮贱老|0x1000000|100\n贵壮贱弱|0x1000000|100\n贵族化|0x1000|936\n桂殿兰宫|0x0040|100\n桂东县|0x0040|1071\n桂馥兰香|0x0000|100\n桂冠诗人|0x0008|0\n桂河大桥|0x0000|385\n桂花树|0x100000|454\n桂酒椒浆|0x1000000|100\n桂林山水|0x100000|502\n桂林市|0x0040|1173\n桂林杏苑|0x1000000|100\n桂林一枝|0x1400000|0\n桂平市|0x0040|1474\n桂薪玉粒|0x1000000|100\n桂阳县|0x0040|1618\n桂玉之地|0x1000000|100\n桂圆肉|0x100000|414\n桂折兰摧|0x1000000|100\n桂折一枝|0x1400000|0\n桂枝片玉|0x1000000|100\n桂枝汤|0x0008|0\n桂子兰孙|0x1000000|100\n桂子飘香|0x1000000|1188\n跪拜礼|0x100000|1146\n跪下来|0x0000|513\n衮衮诸公|0x1000000|1200\n滚成一团|0x400000|0\n滚刀肉|0x0000|55244\n滚动式|0x0000|43663\n滚动轴承|0x4000000|933\n滚瓜烂熟|0x1000000|40367\n滚瓜流水|0x1000000|100\n滚烫滚烫|0x0100|0\n滚筒洗衣机|0x100000|479\n滚雪球|0x1000|33263\n滚珠轴承|0x100000|436\n滚柱轴承|0x100000|1283\n棍儿茶|0x100000|1266\n郭沫若|0x0080|1288\n锅炉厂|0x100000|832\n锅炉房|0x100000|28919\n锅炉管|0x100000|427\n锅炉配件|0x100000|386\n锅贴儿|0x100000|40790\n锅碗瓢盆|0x4000000|844\n锅烟子|0x100000|0\n蝈蝈儿|0x100000|24499\n国奥队|0x0020|1296\n国宝级|0x20000000|869\n国标舞|0x100000|945\n国宾馆|0x100000|12697\n国不可一日无君|0x400000|0\n国步艰难|0x1000000|100\n国产奔驰|0x100000|452\n国产车|0x100000|545\n国产电影|0x100000|475\n国产化|0x1000|10761\n国产货|0x100000|1031\n国产轿车|0x100000|489\n国产片|0x100000|42441\n国产品|0x100000|942\n国产品牌|0x100000|555\n国产汽车|0x100000|471\n国产软件|0x100000|624\n国产手机|0x100000|610\n国耻日|0x100000|405\n国仇家恨|0x1000000|1023\n国而忘家|0x1000000|100\n国尔忘家|0x1000000|100\n国耳忘家|0x1000000|0\n国防部|0x100000|1214\n国防部长|0x1000000|797\n国防大学|0x0020|1467\n国防费|0x100000|1131\n国防工业|0x0008|878\n国防建设|0x0008|903\n国防教育|0x0008|879\n国防军|0x100000|19773\n国防科|0x100000|444\n国防科工委|0x0020|1410\n国防科技|0x0008|800\n国防科学技术委员会|0x0008|0\n国防绿|0x0000|52246\n国防生|0x100000|500\n国防委员会|0x0020|1200\n国防现代化|0x0008|798\n国富兵强|0x1000000|1191\n国富论|0x0008|997\n国富民安|0x1000000|50971\n国富民丰|0x1000000|100\n国富民强|0x1000|45289\n国共合作|0x0008|964\n国共两党|0x0000|469\n国光号|0x100000|0\n国画家|0x100000|981\n国会制|0x0008|1541\n国籍法|0x100000|376\n国计民生|0x1000000|14405\n国际奥委会|0x0020|1365\n国际版|0x100000|809\n国际比赛|0x0000|517\n国际标准|0x0008|642\n国际标准化|0x100000|491\n国际标准化组织|0x100000|440\n国际博览|0x0000|489\n国际博览会|0x100000|834\n国际裁判|0x100000|700\n国际大厦|0x100000|534\n国际单位|0x100000|813\n国际单位制|0x0008|1080\n国际电联|0x0020|1613\n国际儿童节|0x4000|31163\n国际法|0x100000|7772\n国际法庭|0x0020|1554\n国际法院|0x100000|11\n国际饭店|0x0040|1344\n国际服饰|0x100000|412\n国际服装|0x100000|540\n国际妇女节|0x0000|44410\n国际复兴开发银行|0x0008|0\n国际歌|0x100000|30051\n国际公法|0x800000|44411\n国际公寓|0x100000|513\n国际公约|0x0008|47\n国际公制|0x100000|1045\n国际股份有限公司|0x100000|475\n国际关系|0x0008|763\n国际观|0x100000|4\n国际惯例|0x100000|581\n国际广播电台|0x100000|475\n国际国内|0x100000|689\n国际航班|0x100000|493\n国际航空|0x100000|575\n国际航空公司|0x100000|517\n国际航运|0x100000|479\n国际合作|0x0008|722\n国际红十字会|0x400008|34\n国际互联网|0x0008|26810\n国际化|0x1000|5904\n国际会计|0x100000|500\n国际会议|0x100000|716\n国际会议中心|0x100000|495\n国际货币|0x0000|537\n国际货币基金组织|0x0008|1432\n国际货物|0x100000|487\n国际机场|0x0008|686\n国际家具|0x100000|481\n国际间|0x0000|527\n国际交流|0x100000|731\n国际教育|0x100000|522\n国际金融|0x0008|740\n国际金融公司|0x0008|1254\n国际金融组织|0x0020|1597\n国际经济技术|0x100000|457\n国际经济贸易|0x100000|474\n国际经贸|0x100000|481\n国际竞争|0x0000|570\n国际酒店|0x100000|537\n国际局势|0x0000|457\n国际开发协会|0x0008|0\n国际恐怖|0x100000|473\n国际劳动妇女节|0x0008|1478\n国际劳动节|0x4000|25965\n国际劳工组织|0x0008|1648\n国际联盟|0x800000|885\n国际领先地位|0x0000|379\n国际旅行社|0x100000|612\n国际旅游|0x100000|555\n国际贸易|0x0008|495\n国际贸易有限公司|0x100000|543\n国际米兰|0x100000|720\n国际品牌|0x100000|592\n国际期货|0x100000|484\n国际日期变更线|0x0008|1178\n国际商会|0x0020|1421\n国际商贸|0x100000|445\n国际商用机器公司|0x0020|1680\n国际上|0x100000|654\n国际社会|0x0000|631\n国际石油|0x100000|513\n国际时装|0x100000|434\n国际实用温标|0x0008|0\n国际市场|0x0008|715\n国际事务|0x0000|507\n国际收支|0x0008|876\n国际私法|0x100000|927\n国际问题|0x100000|826\n国际先进水平|0x0000|575\n国际象棋|0x100000|8785\n国际新闻|0x0008|43\n国际新秩序|0x0000|385\n国际刑警|0x100000|499\n国际形势|0x100000|591\n国际型|0x100000|432\n国际性|0x100000|10945\n国际研讨会|0x100000|512\n国际音标|0x100000|918\n国际域名|0x100000|705\n国际原油|0x100000|533\n国际展览|0x100000|574\n国际展览中心|0x100000|520\n国际知名|0x40000000|599\n国际制|0x100000|1210\n国际制裁|0x100000|18\n国际主义|0x100000|839\n国际纵队|0x100000|1134\n国际足联|0x0020|1250\n国际足球|0x100000|495\n国际足坛|0x100000|474\n国际组织|0x0008|769\n国家安全|0x0008|628\n国家安全部|0x0020|1603\n国家安全委员会|0x0000|427\n国家版权局|0x0020|1400\n国家保密局|0x0020|1592\n国家标准|0x100000|629\n国家博物馆|0x100000|484\n国家财产|0x100000|11\n国家测绘局|0x0020|1558\n国家产业政策|0x100000|508\n国家大事|0x0000|516\n国家地理|0x100000|718\n国家地图集|0x0008|0\n国家地震局|0x0000|387\n国家地质|0x100000|464\n国家电力|0x100000|509\n国家电网|0x100000|518\n国家栋梁|0x1000000|1036\n国家队|0x100000|5319\n国家发展计划委员会|0x0020|1643\n国家法|0x100000|530\n国家法律|0x100000|639\n国家法律法规|0x100000|529\n国家副主席|0x0000|453\n国家干部|0x0000|475\n国家工商|0x100000|605\n国家工商行政管理|0x100000|500\n国家工商行政管理局|0x0020|1414\n国家工商总局|0x100000|524\n国家工作人员|0x0000|533\n国家公务员|0x0008|705\n国家公园|0x100000|541\n国家广播|0x100000|488\n国家广播电影电视|0x100000|457\n国家规定|0x0000|644\n国家国有资产管理局|0x0000|408\n国家海洋局|0x0020|1502\n国家化|0x1000|1072\n国家环保局|0x0020|1283\n国家环境保护局|0x0020|1797\n国家火炬|0x100000|463\n国家机构|0x0008|915\n国家机关|0x800000|4004\n国家机关工作人员|0x0008|506\n国家机密|0x0000|499\n国家机器|0x800000|908\n国家级|0x20000000|579\n国家级重点|0x100000|517\n国家计划|0x0008|1197\n国家计划生育委员会|0x0020|1805\n国家计划委员会|0x0020|1690\n国家计生委|0x0020|1682\n国家计委|0x0020|1368\n国家技术监督局|0x0020|1518\n国家技术质量监督局|0x0020|1206\n国家建材局|0x0020|1674\n国家建设部|0x100000|480\n国家建筑材料工业局|0x0020|1805\n国家教委|0x100000|858\n国家教育部|0x100000|550\n国家教育委员会|0x0020|1614\n国家经济建设|0x0000|435\n国家经济贸易委员会|0x0020|1592\n国家经贸委|0x100000|564\n国家经委|0x0020|1680\n国家局|0x100000|1541\n国家决算|0x0008|0\n国家科委|0x0020|1458\n国家科学技术委员会|0x0020|1822\n国家利益|0x0000|619\n国家粮食|0x100000|487\n国家林业局|0x100000|532\n国家领导人|0x100000|579\n国家旅游局|0x0020|1248\n国家秘密|0x100000|555\n国家免检产品|0x100000|455\n国家民委|0x0020|1613\n国家民族事务委员会|0x0020|1736\n国家农业部|0x100000|454\n国家赔偿|0x0008|22156\n国家赔偿法|0x0000|479\n国家气象局|0x0020|1710\n国家权力|0x0000|522\n国家权力机关|0x0008|442\n国家人事部|0x100000|487\n国家商检局|0x0020|1638\n国家社会主义|0x0008|389\n国家审计署|0x100000|463\n国家食品|0x100000|571\n国家食品药品|0x100000|543\n国家税收|0x0000|491\n国家税务|0x100000|424\n国家税务局|0x0020|1203\n国家税务总局|0x100000|648\n国家所有制|0x0000|55245\n国家体改委|0x0020|1747\n国家体委|0x0020|1622\n国家体育|0x100000|568\n国家体育总局|0x100000|551\n国家统计局|0x0020|1158\n国家统一|0x400000|584\n国家图书馆|0x0008|1307\n国家土地管理局|0x0020|1770\n国家外国专家局|0x0020|1667\n国家外汇|0x100000|535\n国家外汇管理局|0x0020|1413\n国家卫生部|0x100000|485\n国家文物局|0x0020|1461\n国家物价局|0x0000|416\n国家信息产业部|0x0020|1309\n国家信息中心|0x100000|498\n国家行政机关|0x0008|502\n国家行政学院|0x100000|450\n国家形式|0x0008|1\n国家性|0x100000|5\n国家烟草|0x100000|464\n国家烟草专卖局|0x0020|1550\n国家药品|0x100000|536\n国家医药管理局|0x0020|1691\n国家银行|0x0008|1472\n国家邮政局|0x100000|486\n国家语委|0x0020|1112\n国家预算|0x0008|11\n国家元首|0x0000|506\n国家知识产权局|0x0020|1341\n国家职业资格|0x100000|530\n国家制度|0x0008|7\n国家质量监督检验|0x100000|511\n国家中医药管理局|0x0020|1443\n国家重点|0x100000|629\n国家主权|0x0000|513\n国家主席|0x100000|583\n国家主义|0x0008|983\n国家专利|0x100000|723\n国家专利局|0x0020|1480\n国家资本主义|0x0008|391\n国家自然科学|0x100000|547\n国家自然科学基金|0x100000|525\n国家宗教|0x100000|600\n国家足球队|0x100000|452\n国将不国|0x1000000|1012\n国界线|0x100000|1142\n国境线|0x100000|33910\n国库券|0x100000|29633\n国乐团|0x100000|1159\n国立大学|0x0000|507\n国立中央大学|0x0000|407\n国贸科|0x100000|0\n国民待遇|0x0008|23864\n国民党|0x0020|2105\n国民党军队|0x100000|477\n国民党员|0x100000|1\n国民党主席|0x100000|522\n国民革命军|0x0020|1528\n国民教育|0x0008|503\n国民经济|0x100000|1553\n国民经济各部门|0x0000|374\n国民经济计划|0x0008|387\n国民警卫队|0x0000|427\n国民军|0x100000|1095\n国民身分证|0x0000|374\n国民生产|0x0000|529\n国民生产总值|0x0008|510\n国民收入|0x100000|13226\n国民素质|0x100000|478\n国民所得|0x0008|0\n国民性|0x100000|971\n国民政府|0x100000|843\n国内长途|0x0000|520\n国内法|0x100000|1025\n国内航线|0x100000|464\n国内机票|0x100000|551\n国内旅游|0x100000|549\n国内贸易|0x100000|600\n国内汽车|0x100000|535\n国内生产|0x0000|629\n国内生产总值|0x0000|594\n国内市场|0x0008|678\n国内特价机票|0x100000|455\n国内外|0x100000|494\n国内外市场|0x0000|535\n国内外新闻|0x100000|378\n国内先进水平|0x0000|478\n国内新闻|0x0000|625\n国内游|0x100000|498\n国内战争|0x0008|0\n国难当头|0x1000000|1020\n国难日|0x4000|1217\n国破家亡|0x1000000|41250\n国旗法|0x100000|369\n国企改革|0x100000|790\n国企股|0x100000|1060\n国强民富|0x800000|1123\n国情咨文|0x0008|25966\n国庆节|0x4000|12285\n国庆日|0x4000|898\n国色天香|0x1000000|44131\n国色天姿|0x1000000|1248\n国史馆|0x100000|1135\n国士无双|0x1000000|1038\n国事访问|0x800000|933\n国术团|0x100000|0\n国税局|0x100000|775\n国泰民安|0x1000000|28369\n国统区|0x100000|1100\n国土规划|0x0008|3\n国土局|0x100000|529\n国土面积|0x100000|485\n国土整治|0x0008|0\n国土资源|0x100000|641\n国土资源部|0x0020|1202\n国外贸易|0x100000|1\n国外品牌|0x100000|517\n国外软件|0x100000|754\n国文课|0x100000|0\n国无二君|0x400000|100\n国无宁日|0x800000|1087\n国务部长|0x100000|1125\n国务卿|0x100000|6771\n国务委员|0x800000|885\n国务院|0x100000|1320\n国务院办公厅|0x0020|1240\n国务院法制|0x100000|417\n国务院法制局|0x0020|1188\n国务院副总理|0x0000|529\n国务院国有资产|0x100000|472\n国务院机关事务管理局|0x0000|389\n国务院令|0x100000|497\n国务院侨务办公室|0x0020|1770\n国务院台湾事务办公室|0x0000|419\n国务院外事办公室|0x0020|1383\n国务院学位|0x100000|482\n国务院研究室|0x0020|1400\n国务院宗教事务局|0x0020|1310\n国务院总理|0x0000|557\n国姓爷|0x0008|0\n国营经济|0x0008|0\n国营农场|0x0008|0\n国营企业|0x100000|791\n国营商业|0x0008|0\n国有产权|0x100000|517\n国有股|0x100000|17073\n国有化|0x1000|34783\n国有经济|0x100000|545\n国有企业|0x100000|609\n国有土地|0x100000|596\n国有土地使用权|0x100000|523\n国有银行|0x100000|548\n国有资本|0x100000|520\n国有资产|0x100000|672\n国语歌|0x100000|445\n国语剧|0x100000|0\n国语科|0x100000|0\n国语课|0x100000|1222\n国语专辑|0x100000|562\n国债券|0x100000|1241\n国债资金|0x100000|468\n国之干城|0x0000|100\n国资局|0x0008|1114\n国子监|0x100000|1502\n果不其然|0x1000000|34937\n果丹皮|0x0000|54792\n果干儿|0x0000|41459\n果胶酶|0x0008|0\n果壳箱|0x100000|1028\n果料儿|0x100000|0\n果木园|0x100000|1359\n果皮箱|0x100000|842\n果然不出所料|0x0000|472\n果然如此|0x1000000|855\n果仁儿|0x100000|0\n果如所料|0x1000000|1273\n果熟蒂落|0x1000000|100\n果刑信赏|0x1000000|100\n果行育德|0x1000000|1341\n果蝇属|0x100000|0\n果于自信|0x800000|100\n果汁机|0x0008|938\n果子冻|0x0008|0\n果子沟|0x100000|375\n果子酱|0x100000|55672\n果子酒|0x100000|1198\n果子狸|0x100000|26335\n果子露|0x100000|51825\n裹脚布|0x100000|45290\n裹粮坐甲|0x1000000|100\n裹尸马革|0x800000|1536\n裹血力战|0x0000|100\n裹足不前|0x1000000|33911\n过半数|0x1000|483\n过饱和|0x0008|372\n过不去|0x1000|12922\n过程中将|0x100000|448\n过从甚密|0x800000|1028\n过错责任|0x100000|477\n过得去|0x800000|21429\n过得硬|0x0008|31164\n过电压|0x0008|1514\n过电影|0x800000|797\n过冬作物|0x100000|1122\n过都历块|0x0000|100\n过渡带|0x100000|1121\n过渡流|0x0008|0\n过渡内阁|0x100000|1025\n过渡期|0x100000|803\n过渡时期|0x0008|484\n过渡时期总路线|0x0008|0\n过渡性|0x100000|924\n过而能改|0x0000|100\n过府冲州|0x1000000|100\n过关斩将|0x800000|31043\n过河拆桥|0x1000000|40566\n过河卒子|0x1000000|1144\n过户费|0x100000|1091\n过化存神|0x1000000|1542\n过家家|0x800000|41251\n过江龙|0x100000|1014\n过江之鲫|0x1000000|1184\n过街老鼠|0x1000000|32122\n过街楼|0x100000|54268\n过街天桥|0x0000|42915\n过节儿|0x100000|1274\n过劲儿|0x0000|38473\n过来人|0x100000|29207\n过劳死|0x0000|55673\n过磷酸钙|0x100000|1027\n过滤机|0x0008|1326\n过滤器|0x100000|664\n过滤器材|0x100000|391\n过滤网|0x100000|807\n过滤纸|0x0008|0\n过滤嘴|0x100000|993\n过滤嘴儿|0x0000|44686\n过路财神|0x1000000|1226\n过路费|0x100000|924\n过路人|0x100000|26527\n过门不入|0x1000000|1166\n过门儿|0x100000|34314\n过敏毒素|0x0008|0\n过敏性|0x20000000|764\n过敏性紫癜|0x0008|0\n过敏原|0x100000|970\n过敏症|0x100000|936\n过目不忘|0x1000000|813\n过目成诵|0x1000000|55869\n过桥拆桥|0x1000000|100\n过桥抽板|0x1000000|1288\n过桥费|0x100000|1076\n过去了|0x1000|773\n过去式|0x0000|486\n过去完成时|0x0000|369\n过热器|0x0008|372\n过人之处|0x800000|4\n过日子|0x800000|8003\n过筛子|0x1000|1209\n过山车|0x100000|46462\n过甚其词|0x1000000|52735\n过甚其辞|0x1000000|100\n过生日|0x1000|620\n过失杀人|0x0008|6\n过时不候|0x0000|385\n过时黄花|0x0000|100\n过市招摇|0x0000|100\n过水面|0x100000|1080\n过堂风|0x100000|55674\n过庭之训|0x1000000|100\n过屠大嚼|0x1000000|100\n过屠门而大嚼|0x0008|1384\n过为已甚|0x1000000|100\n过五关|0x401000|1\n过五关斩六将|0x400008|0\n过隙白驹|0x1000000|1328\n过眼烟云|0x1000000|35824\n过眼云烟|0x100000|44687\n过氧化|0x100000|951\n过氧化钡|0x0008|0\n过氧化氢|0x100000|972\n过氧化氢酶|0x0008|0\n过氧化物|0x100000|950\n过氧乙酸|0x0008|1090\n过一段时间|0x400000|13\n过意不去|0x800000|20007\n过犹不及|0x1000000|44688\n过早搏动|0x100000|1161\n哈巴狗|0x100000|42197\n哈巴河|0x0040|1645\n哈巴河县|0x0040|1078\n哈贝马斯|0x0080|0\n哈博罗内|0x0040|1287\n哈达威|0x100000|384\n哈尔滨|0x0040|3035\n哈尔滨港|0x0040|0\n哈尔滨工程|0x100000|463\n哈尔滨工业大学|0x100000|525\n哈尔滨市|0x0040|995\n哈尔滨铁路局|0x0020|1702\n哈佛大学|0x0020|1152\n哈工大|0x0020|841\n哈哈大笑|0x800000|628\n哈哈哈|0x80000|530\n哈哈哈哈|0x0000|730\n哈哈镜|0x100000|53246\n哈坎苏克|0x0080|0\n哈拉雷|0x0040|1176\n哈喇子|0x100000|53247\n哈雷彗星|0x0008|46760\n哈里波特|0x0080|496\n哈马斯|0x0040|1422\n哈密顿量|0x100000|0\n哈密顿圈|0x0008|0\n哈密尔顿|0x0040|1127\n哈密瓜|0x100000|32123\n哈密市|0x0040|1539\n哈尼族|0x0008|31986\n哈萨克|0x0008|1342\n哈萨克人|0x0000|386\n哈萨克斯坦|0x0040|7103\n哈萨克斯坦共和国|0x0040|1760\n哈萨克族|0x0008|25480\n哈桑萨斯|0x0080|0\n哈斯高娃|0x0080|0\n哈瓦那|0x0040|1504\n孩子家|0x100000|1070\n孩子们|0x0000|765\n孩子气|0x100000|19666\n孩子头|0x100000|1109\n孩子头儿|0x0000|44689\n孩子王|0x100000|44977\n海安县|0x0040|1330\n海岸边|0x100000|953\n海岸地貌学|0x0008|0\n海岸线|0x100000|15000\n海拔高度|0x0000|481\n海百合|0x100000|1100\n海报设计|0x100000|469\n海北天南|0x1000000|100\n海不波溢|0x0000|100\n海不扬波|0x800000|1239\n海参崴|0x0040|1542\n海参威|0x100000|370\n海产品|0x100000|810\n海城市|0x0040|1376\n海岛棉|0x0008|0\n海岛型|0x100000|1170\n海盗船|0x100000|793\n海德堡|0x0040|1312\n海德堡大学|0x100000|994\n海德格尔|0x0080|1429\n海底捞月|0x1000000|55249\n海底捞月一场空|0x400000|0\n海底捞针|0x1000000|1124\n海底隧道|0x0008|42\n海地人|0x100000|1245\n海淀区|0x0040|862\n海防港|0x0040|0\n海防线|0x100000|1313\n海飞丝|0x0008|453\n海沸波翻|0x0000|100\n海沸河翻|0x0000|100\n海沸江翻|0x0000|100\n海沸山崩|0x0000|100\n海沸山裂|0x0000|100\n海沸山摇|0x0000|100\n海丰县|0x0040|1547\n海风藤|0x100000|1255\n海浮石|0x0008|0\n海蛤壳|0x0008|0\n海狗肾|0x0008|0\n海关监管|0x100000|476\n海关总署|0x0020|1262\n海涵地负|0x1000000|100\n海涸石烂|0x1000000|100\n海怀霞想|0x1000000|100\n海基会|0x0020|1093\n海角天涯|0x1000000|838\n海角天隅|0x1000000|100\n海角一乐园|0x400000|0\n海金沙|0x100000|1161\n海军航空|0x100000|384\n海军航空兵|0x0000|30806\n海军基地|0x0000|471\n海军陆战队|0x0008|18242\n海口市|0x0040|1171\n海枯见底|0x0000|100\n海枯石烂|0x1000000|45575\n海阔凭鱼跃|0x0008|923\n海阔天高|0x1000000|1066\n海阔天空|0x1000000|27366\n海拉尔|0x0040|1371\n海狸鼠|0x100000|1134\n海立云垂|0x800000|100\n海蛎子|0x100000|50972\n海林市|0x0040|1611\n海陆空|0x0008|839\n海伦凯勒|0x0080|0\n海伦娜|0x0080|1645\n海伦市|0x0040|1036\n海洛因|0x100000|13462\n海洛英|0x0008|1108\n海门市|0x0040|1266\n海盟山咒|0x1000000|100\n海绵田|0x100000|1357\n海绵状|0x0008|1053\n海明威|0x0080|1320\n海内存知己|0x0008|829\n海内鼎沸|0x0000|100\n海内外|0x8000|5437\n海内无双|0x0000|100\n海纳百川|0x800000|732\n海南岛|0x0040|1264\n海南航空公司|0x100000|457\n海南酒店|0x100000|454\n海南旅游|0x100000|554\n海南日报|0x100000|461\n海南三亚|0x100000|487\n海南省|0x0040|1061\n海宁市|0x0040|1227\n海鸥飞处|0x100000|1104\n海泡石|0x100000|1033\n海螵蛸|0x100000|1202\n海平面|0x100000|15037\n海平线|0x100000|52250\n海桑陵谷|0x1000000|100\n海商法|0x100000|1002\n海上巡逻|0x0008|6\n海上运输|0x0008|8\n海神号|0x100000|0\n海蚀洞|0x0040|0\n海蚀崖|0x0008|0\n海蚀作用|0x0008|0\n海市蜃楼|0x1000000|28833\n海事法|0x100000|1256\n海事局|0x100000|509\n海事仲裁|0x0008|0\n海誓山盟|0x1000000|41701\n海水不可斗量|0x0000|376\n海水淡化厂|0x100000|2\n海水难量|0x0000|100\n海水群飞|0x1000000|1302\n海水桑田|0x1000000|100\n海水浴|0x100000|41014\n海水浴场|0x0000|477\n海棠花|0x100000|39096\n海天一色|0x400000|879\n海桐皮|0x0008|0\n海外版|0x100000|727\n海外关系|0x0000|42701\n海外华人|0x100000|723\n海外基金|0x100000|466\n海外剧场|0x100000|428\n海外奇谈|0x100000|55676\n海外侨胞|0x0000|471\n海外投资|0x0008|506\n海湾战争|0x0008|1386\n海王星|0x0008|37893\n海屋筹添|0x1000000|100\n海屋添筹|0x1000000|1542\n海峡两岸|0x100000|725\n海峡两岸关系|0x100000|422\n海峡西岸|0x100000|502\n海鲜店|0x0040|0\n海鲜酒楼|0x100000|432\n海相沉积|0x800000|1195\n海啸山崩|0x0000|100\n海协会|0x100000|1037\n海兴县|0x0040|1590\n海牙公约|0x0008|0\n海涯天角|0x1000000|100\n海盐县|0x0040|1429\n海晏河清|0x1000000|1211\n海晏县|0x0040|1103\n海阳市|0x0040|1509\n海洋大学|0x100000|517\n海洋法|0x100000|1052\n海洋工程|0x0008|927\n海洋公园|0x0008|1\n海洋馆|0x100000|478\n海洋环境|0x0008|477\n海洋局|0x100000|473\n海洋权|0x100000|50193\n海洋权益|0x100000|409\n海洋生物|0x800000|809\n海洋石油总公司|0x0020|1563\n海洋污染|0x0008|1085\n海洋性|0x100000|938\n海洋性气候|0x100000|54271\n海洋学|0x100000|1050\n海洋渔业|0x0008|5\n海洋重力仪|0x0008|0\n海洋资源|0x0008|465\n海原县|0x0040|1106\n海约山盟|0x1000000|100\n海运公司|0x0040|1104\n海运界|0x100000|0\n海运局|0x100000|1238\n海蜇皮|0x100000|1113\n海珍品|0x100000|383\n海中捞月|0x1000000|1526\n亥姆霍兹线圈|0x0008|0\n亥豕相望|0x1000000|100\n骇客帝国|0x100000|466\n骇浪惊涛|0x1000000|100\n骇龙走蛇|0x1000000|100\n骇目惊心|0x1000000|100\n骇目振心|0x1000000|100\n骇人视听|0x1000000|100\n骇人听闻|0x1000000|23799\n骇人闻见|0x1000000|100\n骇人闻听|0x1000000|100\n骇心动目|0x1000000|100\n骇状殊形|0x1000000|100\n害群之马|0x1000000|26811\n害人不浅|0x800000|912\n害人虫|0x100000|54793\n害人精|0x0008|1061\n氦氖激光器|0x100000|1273\n酣畅淋漓|0x800000|782\n酣歌恒舞|0x800000|100\n酣歌醉舞|0x1000000|100\n酣痛淋漓|0x1000000|100\n酣嬉淋漓|0x1000000|100\n憨乎乎|0x0100|0\n憨态可掬|0x800000|903\n憨状可掬|0x0000|100\n鼾声如雷|0x0000|100\n含苞待放|0x800000|853\n含苞欲放|0x800000|911\n含冰茹檗|0x1000000|100\n含哺鼓腹|0x1000000|100\n含齿戴发|0x1000000|100\n含而不露|0x0000|44980\n含宫咀征|0x0000|100\n含宫咀徵|0x1000000|100\n含垢包羞|0x1000000|100\n含垢藏疾|0x1000000|100\n含垢藏瑕|0x1000000|100\n含垢纳污|0x1000000|100\n含垢匿瑕|0x1000000|100\n含垢弃瑕|0x1000000|100\n含垢忍耻|0x1000000|100\n含垢忍辱|0x1000000|54794\n含垢忍污|0x1000000|100\n含含糊糊|0x0100|916\n含糊不明|0x0000|100\n含糊其词|0x1000000|43891\n含糊其辞|0x1000000|961\n含混不清|0x1000000|38887\n含金量|0x800000|19479\n含菁咀华|0x1000000|100\n含酒精|0x0000|435\n含蓼问疾|0x1000000|100\n含明隐迹|0x1000000|100\n含气边界|0x0008|0\n含情脉脉|0x1000000|34626\n含仁怀义|0x1000000|100\n含沙量|0x100000|1117\n含沙射影|0x1000000|45882\n含山县|0x0040|1515\n含商咀征|0x0000|100\n含商咀徵|0x1000000|100\n含霜履雪|0x1000000|100\n含水层|0x100000|1144\n含水量|0x100000|891\n含水率|0x100000|488\n含水率仪|0x100000|0\n含污忍垢|0x0000|100\n含瑕积垢|0x1000000|100\n含笑九泉|0xc00000|0\n含笑入地|0x1000000|100\n含辛忍苦|0x1000000|100\n含辛茹苦|0x1000000|27854\n含羞草|0x100000|51397\n含血喷人|0x1000000|50977\n含血潠人|0x1000000|100\n含血噀人|0x1000000|100\n含牙带角|0x1000000|100\n含牙戴角|0x1000000|100\n含氧量|0x100000|971\n含氧酸|0x100000|1362\n含饴弄孙|0x1000000|53759\n含英咀华|0x1000000|1148\n含油层|0x100000|0\n含油量|0x100000|1073\n含油率|0x0008|0\n含冤负屈|0x1000000|1363\n含冤九泉|0x400000|0\n含冤莫白|0x0000|100\n含冤受屈|0x1000000|100\n含章天挺|0x1000000|100\n含章挺生|0x1000000|100\n含着骨头露着肉|0x0008|100\n邯郸匍匐|0x1000000|100\n邯郸市|0x0040|1221\n邯郸县|0x0040|1611\n邯郸学步|0x1000000|50585\n邯郸重步|0x1000000|100\n函盖充周|0x1000000|100\n函盖乾坤|0x1000000|1542\n函矢相攻|0x1000000|100\n函授班|0x100000|54272\n函授部|0x100000|1207\n函授大学|0x0000|45883\n函授教育|0x100000|1014\n函授生|0x100000|1126\n函授学校|0x0008|1\n函数库|0x100000|479\n寒蝉僵鸟|0x1000000|100\n寒蝉凄切|0x0000|100\n寒蝉仗马|0x1000000|100\n寒冬腊月|0x800000|36464\n寒风侵肌|0x0000|100\n寒腹短识|0x1000000|100\n寒耕热耘|0x1000000|100\n寒耕暑耘|0x1000000|100\n寒花晚节|0x800000|100\n寒灰更然|0x1000000|100\n寒来暑往|0x1000000|42918\n寒露风|0x0008|0\n寒毛卓竖|0x0000|100\n寒木春华|0x800000|100\n寒泉之思|0x1000000|100\n寒森森|0x0100|1286\n寒食节|0x4000|1058\n寒暑表|0x100000|47070\n寒暑假|0x100000|26042\n寒水石|0x0008|1142\n寒酸落魄|0x0000|100\n寒酸相|0x0000|55251\n寒武纪|0x4000|935\n寒心酸鼻|0x1000|100\n寒心消志|0x1000000|100\n寒心销志|0x1000000|0\n韩潮苏海|0x1000000|100\n韩城市|0x0040|1552\n韩德尔|0x0008|1060\n韩非子|0x0080|1414\n韩国电视|0x100000|418\n韩国电视剧|0x100000|475\n韩国电视连续剧|0x100000|374\n韩国电影|0x100000|555\n韩国队|0x0020|1291\n韩国服饰|0x100000|404\n韩国化妆品|0x100000|439\n韩国进口|0x100000|494\n韩国美女|0x100000|521\n韩国明星|0x100000|492\n韩国女装|0x100000|505\n韩国片|0x100000|430\n韩国人|0x100000|603\n韩国时尚|0x40000000|502\n韩国史|0x100000|1\n韩国现代|0x100000|518\n韩国演员|0x100000|435\n韩国影视|0x100000|393\n韩国政府|0x100000|526\n韩海苏潮|0x1000000|100\n韩卢逐块|0x1000000|100\n韩卢逐逡|0x1000000|100\n韩寿分香|0x1000000|100\n韩寿偷香|0x1000000|100\n韩信点兵|0x0008|1109\n韩信将兵|0x800000|1154\n韩信用兵|0x1000000|0\n罕譬而喻|0x800000|100\n罕言寡语|0x0000|100\n喊叫声|0x100000|936\n喊口号|0x0000|25337\n喊嗓子|0x1000|0\n喊冤叫屈|0x800000|1239\n汉白玉|0x100000|31744\n汉白玉石|0x100000|411\n汉堡包|0x100000|35508\n汉川市|0x0040|1506\n汉弗莱|0x0080|1491\n汉高祖|0x0008|891\n汉沽区|0x0040|1482\n汉官威仪|0x1000000|1321\n汉密尔顿|0x100000|500\n汉明码|0x0008|0\n汉人煮箦|0x0000|100\n汉寿县|0x0040|1608\n汉武帝|0x0080|796\n汉学家|0x100000|931\n汉学者|0x100000|0\n汉阴县|0x0040|1650\n汉语拼音|0x100000|799\n汉语拼音方案|0x100000|44415\n汉语水平考试|0x0000|55870\n汉语言|0x100000|548\n汉源县|0x0040|1090\n汉贼不两立|0x0008|1229\n汉正街|0x0040|1536\n汉中盆地|0x0040|1133\n汉中市|0x0040|1395\n汉字编码|0x0008|0\n汉字改革|0x0008|0\n汉字库|0x100000|400\n汉字输入|0x100000|862\n汉字输入法|0x0000|483\n汉族人|0x100000|944\n扞格不入|0x0000|100\n汗背心|0x0000|48362\n汗不敢出|0x0000|100\n汗涔涔|0x0000|48363\n汗出浃背|0x1000000|100\n汗出洽背|0x1000000|100\n汗褂儿|0x100000|0\n汗津津|0x0100|42704\n汗淋淋|0x0100|48004\n汗流夹背|0x1000000|1065\n汗流浃背|0x1000000|23927\n汗流浃肤|0x1000000|100\n汗流浃体|0x1000000|100\n汗流浃踵|0x1000000|100\n汗流接踵|0x1000000|100\n汗流满面|0x1000000|1043\n汗流洽背|0x1000000|100\n汗流洽衣|0x1000000|100\n汗流至踵|0x1000000|100\n汗马功劳|0x1000000|22107\n汗马之功|0x1000000|100\n汗马之劳|0x1000000|100\n汗牛充栋|0x1000000|42198\n汗牛充屋|0x1000000|100\n汗牛塞栋|0x1000000|100\n汗洽股栗|0x0000|100\n汗青头白|0x1000000|100\n汗如雨下|0x1000000|930\n汗血盐车|0x1000000|100\n汗颜无地|0x1000000|1280\n汗珠儿|0x100000|1230\n汗珠子|0x100000|44691\n汗渍渍|0x0100|0\n旱魃为虐|0x800000|1427\n旱冰场|0x100000|55254\n旱冰鞋|0x100000|48731\n旱涝保收|0x800000|28834\n旱苗得雨|0x1000000|100\n旱生植物|0x0008|0\n旱鸭子|0x100000|46761\n旱烟袋|0x100000|28626\n悍然不顾|0x1000000|1261\n捍疆卫国|0x800000|1278\n焊接工|0x100000|1139\n焊接设备|0x100000|496\n焊锡膏|0x100000|389\n焊锡丝|0x100000|396\n焊锡条|0x100000|385\n熯天炽地|0x1000000|100\n撼地摇天|0x0000|100\n撼人心魄|0x0000|36465\n撼树蚍蜉|0x0000|100\n撼天动地|0x800000|51827\n撼天震地|0x0000|100\n翰林院|0x0008|1517\n杭锦后旗|0x0040|1087\n杭锦旗|0x0040|1058\n杭州打折机票|0x100000|429\n杭州大学|0x100000|401\n杭州电子工业学院|0x100000|368\n杭州翻译|0x100000|391\n杭州话|0x100000|391\n杭州酒店|0x100000|455\n杭州旅游|0x100000|451\n杭州日报|0x100000|487\n杭州市|0x0040|934\n杭州市区|0x100000|465\n杭州现代|0x100000|395\n航班号|0x100000|522\n航班时刻|0x100000|489\n航班时刻表|0x100000|575\n航班信息|0x100000|534\n航标灯|0x100000|37539\n航海家|0x100000|903\n航海日志|0x0008|0\n航海梯山|0x0000|100\n航海图|0x100000|1053\n航空安全|0x100000|430\n航空兵|0x100000|18504\n航空队|0x100000|1053\n航空发动机|0x100000|440\n航空法|0x0008|1118\n航空港|0x100000|37540\n航空工业|0x100000|527\n航空公司|0x100000|729\n航空航天|0x100000|709\n航空航天大学|0x100000|543\n航空航天工业部|0x0020|1128\n航空界|0x100000|1099\n航空局|0x100000|1084\n航空母舰|0x100000|17378\n航空器|0x100000|14825\n航空摄影测量|0x0008|0\n航空图|0x0008|1\n航空网|0x0008|1\n航空箱|0x100000|389\n航空心理学|0x0008|0\n航空信|0x100000|53760\n航空学|0x0008|1246\n航空业|0x100000|519\n航空液压油|0x0008|0\n航空运输|0x100000|815\n航空站|0x100000|1131\n航天部|0x100000|1531\n航天飞机|0x100000|555\n航天服|0x0000|48733\n航天航空|0x100000|446\n航天技术|0x100000|469\n航天局|0x100000|916\n航天器|0x100000|18893\n航天史|0x100000|381\n航天事业|0x100000|472\n航天员|0x100000|874\n沆瀣一气|0x1400000|33396\n蒿目时艰|0x800000|100\n蒿子秆儿|0x100000|100\n毫安表|0x100000|1366\n毫安培|0x100000|1373\n毫不迟疑|0x800000|858\n毫不动摇|0x800000|941\n毫不费力|0x800000|847\n毫不讳言|0x1000000|1018\n毫不介意|0x1000000|971\n毫不客气|0x800000|758\n毫不利己|0x800000|1041\n毫不留情|0x800000|727\n毫不相干|0x800000|823\n毫不犹豫|0x800000|590\n毫不在乎|0x800000|792\n毫发不爽|0x1000000|1389\n毫发丝粟|0x1000000|100\n毫分缕析|0x1000000|100\n毫厘不差|0x800000|1099\n毫厘不爽|0x800000|1245\n毫厘千里|0x800000|100\n毫厘丝忽|0x0000|100\n毫毛不犯|0x0000|100\n毫米波|0x0008|1038\n毫米汞柱|0x100000|1068\n毫末不札|0x1000000|0\n毫末之利|0x100000|1316\n毫微米|0x20000|1217\n毫微秒|0x0008|1253\n毫无办法|0x800000|848\n毫无道理|0x800000|900\n毫无二致|0x1400000|43415\n毫无顾忌|0x800000|785\n毫无顾虑|0x800000|954\n毫无例外|0x800000|928\n毫无逊色|0x800000|1256\n毫无疑问|0x800000|634\n毫无疑义|0x800000|30053\n毫无意义|0x0000|585\n毫无用处|0x800000|846\n毫无原则|0x800000|1064\n豪夺巧取|0x1000000|100\n豪放不羁|0x1000000|53762\n豪干暴取|0x1000000|100\n豪管哀弦|0x1000000|100\n豪横跋扈|0x0000|100\n豪华版|0x100000|626\n豪华车|0x100000|553\n豪华轿车|0x100000|534\n豪华酒店|0x100000|465\n豪华型|0x20000000|734\n豪迈不群|0x0000|100\n豪门贵胄|0x0000|100\n豪门巨室|0x100000|100\n豪末不掇|0x1000000|0\n豪情逸致|0x0000|100\n豪情壮志|0x1000000|912\n豪取智笼|0x1000000|100\n豪商巨贾|0x1000000|1266\n豪奢放逸|0x0000|100\n豪侠传|0x100000|441\n豪言壮语|0x1000000|27780\n豪竹哀丝|0x1000000|100\n嚎啕大哭|0x1000|4\n嚎天动地|0x1000000|100\n嚎天喊地|0x1000000|100\n濠梁之上|0x800000|100\n好八连|0x400020|12\n好办法|0x0000|616\n好半天|0x0000|34627\n好榜样|0x100000|840\n好不好|0x800000|525\n好不容易|0x800000|8908\n好吃懒做|0x1000000|42200\n好处费|0x100000|29634\n好大喜功|0x1000000|25133\n好戴高帽|0x0000|100\n好丹非素|0x1000000|100\n好端端|0x0100|21430\n好恶不同|0x0000|100\n好感度|0x0008|1466\n好高骛远|0x1000000|38270\n好高鹜远|0x1000000|1053\n好管闲事|0x40000000|1034\n好孩子|0x0008|955\n好汉不吃眼前亏|0x0008|1002\n好汉坡|0x0040|0\n好好儿|0x8000000|1084\n好好先生|0x1000000|40792\n好好学习|0x0000|602\n好话一句三冬暖|0x400000|0\n好极了|0x0000|577\n好几次|0x0000|657\n好家伙|0x80000|21579\n好景不长|0x800000|49448\n好景不常|0x800000|950\n好久不见|0x0000|583\n好酒贪杯|0x1000000|1292\n好来好去|0x800000|1182\n好莱坞|0x0040|885\n好莱坞电影|0x100000|512\n好离好散|0x800000|0\n好了疮疤忘了痛|0x0008|100\n好梦不长|0x0000|100\n好梦难成|0x800000|100\n好梦难圆|0x800000|1119\n好模好样|0x1000000|100\n好谋善断|0x1000000|100\n好女不穿嫁时衣|0x0008|100\n好女不嫁二夫|0x400000|0\n好朋友|0x0008|797\n好奇尚异|0x0000|100\n好奇心|0x100000|622\n好奇者|0x100000|1060\n好骑者堕|0x0000|100\n好气儿|0x100000|0\n好人好事|0x800000|27111\n好人家|0x100000|47689\n好人主义|0x100000|31987\n好日子|0x100000|9624\n好容易|0x8000000|10202\n好肉剜疮|0x1000000|100\n好嗓子|0x0000|425\n好色者|0x0000|374\n好色之徒|0x1000000|917\n好善恶恶|0x1000000|1539\n好善嫉恶|0x1000000|100\n好善乐施|0x1000000|1288\n好身手|0x0000|49449\n好生生|0x100000|1232\n好生意|0x0000|538\n好生之德|0x0000|100\n好声好气|0x1000000|53253\n好事不出门|0x0008|910\n好事多磨|0x1000000|39295\n好事多悭|0x0000|100\n好事情|0x100000|531\n好事天悭|0x0000|100\n好事者|0x100000|829\n好事之徒|0x800000|1046\n好说歹说|0x1000000|37176\n好说话|0x0000|47690\n好天儿|0x100000|20200\n好天良夜|0x1000000|100\n好玩儿|0x40000000|23535\n好望角|0x0040|897\n好为人师|0x1000000|48734\n好为事端|0x800000|100\n好问决疑|0x800000|100\n好问则裕|0x800000|100\n好戏连台|0x800000|879\n好消息|0x100000|572\n好心肠|0x40000000|447\n好心好意|0x1000000|39296\n好心人|0x100000|22727\n好心做了驴肝肺|0x0008|100\n好行小惠|0x1000000|100\n好行小慧|0x1000000|1293\n好学不倦|0x1000000|1044\n好言好语|0x1000000|1044\n好言相劝|0x800000|933\n好样儿的|0x0000|44693\n好一会儿|0x400000|13110\n好一些|0x400000|13\n好一阵|0x0000|32377\n好佚恶劳|0x1000000|100\n好易通|0x0008|1549\n好逸恶劳|0x1000000|39704\n好意思|0x40000000|16819\n好勇斗狠|0x0000|100\n好语如珠|0x800000|100\n好语似珠|0x1000000|100\n好运气|0x0000|528\n好整以暇|0x1000000|932\n好主意|0x0000|577\n好自为之|0x800000|37542\n号寒啼饥|0x800000|100\n号角声|0x100000|468\n号令如山|0x0000|100\n号码机|0x0008|1060\n号咷大哭|0x0000|100\n号啕大哭|0x800000|829\n号天扣地|0x0000|100\n号召力|0x100000|755\n号志灯|0x100000|1257\n昊天不吊|0x1000000|1541\n昊天罔极|0x1000000|1232\n浩瀚无涯|0x800000|0\n浩浩荡荡|0x1000000|730\n浩浩汤汤|0x1000000|1085\n浩气长存|0x800000|1097\n浩气凛然|0x0000|100\n浩然正气|0x800000|928\n浩然之气|0x1000000|1018\n浩如烟海|0x1000000|29320\n耗电量|0x100000|836\n耗热量|0x100000|1220\n耗水量|0x100000|1053\n耗油量|0x100000|986\n耗油率|0x0008|1254\n耗子药|0x100000|48364\n皓齿蛾眉|0x0000|100\n皓齿明眸|0x0000|100\n皓首苍颜|0x0000|100\n皓首穷经|0x800000|1090\n皓月当空|0x800000|903\n皓月千里|0x0000|100\n诃佛诋巫|0x1000000|100\n呵壁问天|0x800000|100\n呵佛骂祖|0x1000000|100\n呵欠连天|0x0000|100\n喝彩声|0x100000|870\n喝倒彩|0x1000|50982\n喝六呼么|0x400000|0\n喝闷酒|0x1000|922\n喝墨水|0x1000|0\n喝西北风|0x1000000|35060\n禾本科|0x0008|1075\n禾本科绿肥|0x0008|0\n禾黍故宫|0x0000|100\n合并症|0x100000|958\n合不来|0x0000|35984\n合不拢嘴|0x800000|829\n合唱队|0x100000|964\n合唱团|0x100000|746\n合成氨|0x100000|947\n合成词|0x100000|1100\n合成革|0x0000|50979\n合成机|0x0008|1078\n合成孔径雷达|0x0008|11\n合成气|0x100000|1161\n合成器|0x100000|884\n合成染料|0x800000|1220\n合成石油|0x0008|1273\n合成树脂|0x0008|861\n合成物|0x0000|402\n合成洗涤剂|0x100000|935\n合成纤维|0x800000|34630\n合成橡胶|0x4000000|879\n合成纸|0x100000|402\n合川市|0x0040|1205\n合从连衡|0x800000|100\n合胆同心|0x1000000|100\n合得来|0x40000000|34785\n合订本|0x100000|40571\n合而为一|0x1400000|34631\n合二而一|0xc00000|38477\n合二为一|0x1400000|37543\n合法斗争|0x0008|0\n合法化|0x1000|24766\n合法权益|0x0000|730\n合法性|0x100000|498\n合肥人|0x100000|0\n合肥市|0x0040|1058\n合格率|0x100000|745\n合格品|0x100000|1036\n合格者|0x100000|829\n合格证|0x100000|786\n合格证书|0x100000|848\n合欢树|0x100000|377\n合伙人|0x100000|748\n合家欢|0x100000|45886\n合江县|0x0040|1065\n合金材料|0x100000|468\n合金弹头|0x0000|509\n合金刀具|0x100000|395\n合金二极管|0x400008|0\n合金粉|0x100000|394\n合金钢|0x100000|39518\n合金管|0x100000|461\n合金晶体管|0x0008|0\n合金丝|0x100000|384\n合金制品|0x100000|379\n合金装备|0x100000|907\n合久必分|0x800000|907\n合理安排|0x0000|573\n合理合法|0x800000|915\n合理化|0x1000|14523\n合理化建议|0x0000|497\n合理性|0x100000|730\n合两为一|0x1400000|0\n合盘托出|0x1000000|1149\n合浦还珠|0x1000000|1345\n合浦县|0x0040|1470\n合浦珠还|0x1000000|1358\n合情合理|0x40000000|19806\n合山市|0x0040|1635\n合水县|0x0040|1100\n合同法|0x100000|598\n合同范本|0x100000|498\n合同工|0x100000|31044\n合同规定|0x100000|569\n合同纠纷|0x100000|529\n合同期|0x100000|956\n合同书|0x100000|33267\n合同条款|0x100000|505\n合同文本|0x100000|493\n合同文书|0x100000|383\n合同制|0x100000|20201\n合眼摸象|0x1000000|100\n合阳县|0x0040|1039\n合议庭|0x0000|19164\n合议制|0x100000|1174\n合运动|0x100000|1223\n合在一起|0x400000|5\n合衷共济|0x1000000|0\n合众国|0x0000|43419\n合资经营|0x0000|554\n合资企业|0x100000|706\n合纵连横|0x800000|44417\n合作关系|0x100000|598\n合作化|0x1000|21580\n合作伙伴|0x100000|494\n合作经营|0x100000|827\n合作商店|0x0008|0\n合作社|0x100000|5773\n合作市|0x0040|1069\n合作项目|0x100000|744\n合作医疗|0x100000|7540\n合作意向|0x0000|535\n合作者|0x100000|763\n合作制|0x100000|909\n何必当初|0x800000|41018\n何尝不可|0x800000|1063\n何患无辞|0x800000|1054\n何乐不为|0x1000000|923\n何乐而不为|0x0008|24946\n何论魏晋|0x0000|100\n何其毒也|0x0000|100\n何其相似乃尔|0x0008|100\n何去何从|0x1000000|25339\n何首乌|0x100000|35662\n何所不为|0x1000000|100\n何所不有|0x1000000|100\n何所不至|0x1000000|100\n何仙姑|0x0000|425\n何先生|0x100000|530\n何许人|0x10000|839\n何原因|0x100000|468\n何足道哉|0x0000|100\n何足挂齿|0x1000000|49811\n何足介意|0x1000000|100\n何足为奇|0x800000|1247\n何罪之有|0x0000|48365\n和蔼近人|0x0000|100\n和蔼可亲|0x800000|785\n和璧隋珠|0x800000|100\n和而不唱|0x800000|100\n和而不同|0x1000000|966\n和风丽日|0x1000000|100\n和风细雨|0x1000000|38271\n和光同尘|0x1000000|52254\n和好如初|0x800000|894\n和和美美|0x0100|930\n和和睦睦|0x0100|1005\n和和气气|0x0008|934\n和剂局方|0x0008|0\n和解少阳|0x0008|0\n和静县|0x0040|1065\n和久井映见|0x0080|0\n和林格尔|0x0040|1682\n和林格尔县|0x0040|1124\n和龙市|0x0040|1075\n和睦相处|0x800000|803\n和你在一起|0x400000|8\n和盘托出|0x1000000|30170\n和平岛|0x0008|1129\n和平鸽|0x100000|31632\n和平共处|0x800000|7785\n和平共处五项原则|0x400008|17\n和平过渡|0x0008|2\n和平号|0x100000|387\n和平街|0x0040|1550\n和平里|0x0040|482\n和平利用|0x1000|208\n和平路|0x0040|1362\n和平门|0x0040|1523\n和平区|0x0040|1202\n和平谈判|0x800000|1008\n和平统一|0x400000|562\n和平统一祖国|0x400000|0\n和平外交政策|0x0000|429\n和平县|0x0040|1651\n和平医院|0x0020|1669\n和平主义|0x0008|961\n和平主义者|0x100000|410\n和气生财|0x800000|49106\n和气致祥|0x1000000|1214\n和亲政策|0x0008|0\n和容悦色|0x1000000|100\n和如琴瑟|0x1000000|100\n和尚头|0x100000|47368\n和氏璧|0x0008|1584\n和事老|0x100000|1051\n和事佬|0x0008|40794\n和顺县|0x0040|1112\n和硕县|0x0040|1061\n和田市|0x0040|1637\n和田县|0x0040|1156\n和田玉|0x100000|489\n和稀泥|0x800000|45903\n和弦铃声|0x100000|649\n和谐社会|0x100000|685\n和谐社区|0x100000|498\n和谐一致|0x400000|2\n和颜说色|0x1000000|100\n和颜悦色|0x1000000|26388\n和衣而睡|0x800000|1125\n和衣而卧|0x800000|1165\n和政县|0x0040|1142\n和衷共济|0x1000000|23801\n河北梆子|0x100000|34787\n河北保定|0x100000|485\n河北沧州|0x100000|485\n河北大学|0x100000|477\n河北邯郸|0x100000|475\n河北区|0x0040|1398\n河北人|0x100000|985\n河北省|0x0040|870\n河北邢台|0x100000|472\n河奔海聚|0x1000000|100\n河伯为患|0x0000|100\n河不出图|0x0000|100\n河池市|0x0040|1443\n河出伏流|0x1000000|1146\n河东区|0x0040|1294\n河东三箧|0x1400000|0\n河东狮吼|0x1000000|768\n河东狮子|0x1000000|1167\n河东狮子吼|0x0008|1194\n河汾门下|0x0000|100\n河海不择细流|0x0008|100\n河海清宴|0x1000000|100\n河汉江淮|0x1000000|100\n河汉无极|0x0000|100\n河涸海干|0x0000|100\n河间市|0x0040|1445\n河津市|0x0040|1514\n河决鱼烂|0x1000000|100\n河口湾|0x0040|1361\n河口瑶族自治县|0x0040|1136\n河溓海晏|0x1000000|100\n河溓海夷|0x1000000|100\n河梁携手|0x800000|100\n河梁之谊|0x0000|100\n河卵石|0x100000|1155\n河落海干|0x800000|100\n河漫滩|0x0008|54275\n河门海口|0x1000000|100\n河目海口|0x1000000|100\n河南梆子|0x100000|50199\n河南大学|0x100000|493\n河南洛阳|0x100000|491\n河南蒙古族自治县|0x0040|1731\n河南濮阳|0x100000|454\n河南人|0x100000|777\n河南日报|0x0000|452\n河南省|0x0040|869\n河南省委|0x100000|456\n河南郑州|0x100000|557\n河南中医学院|0x0020|1629\n河南坠子|0x100000|50200\n河倾月落|0x1000000|100\n河清海竭|0x1000000|100\n河清海宴|0x1000000|100\n河清海晏|0x1000000|51400\n河清难俟|0x1000000|100\n河清人寿|0x1000000|100\n河清三日|0x1400000|0\n河清社鸣|0x1000000|100\n河清云庆|0x1000000|1287\n河曲县|0x0040|1094\n河沙世界|0x1000000|1326\n河山带砺|0x1000000|1355\n河山之德|0x1000000|100\n河水不犯井水|0x0008|931\n河水不洗船|0x0008|1535\n河滩地|0x100000|1210\n河同水密|0x1000000|100\n河豚毒素|0x0008|0\n河外星系|0x800000|1077\n河网化|0x1000|0\n河西区|0x0040|1310\n河西走廊|0x0040|945\n河斜月落|0x1000000|100\n河鱼腹疾|0x1000000|100\n河鱼天雁|0x1000000|100\n河鱼之疾|0x1000000|100\n河源市|0x0040|1406\n核爆炸|0x100000|987\n核裁军|0x100000|23485\n核测井|0x0008|0\n核磁共振|0x100000|30273\n核磁共振成像|0x0000|368\n核大国|0x0000|41465\n核弹头|0x100000|24124\n核蛋白|0x0008|1140\n核导弹|0x100000|1017\n核电厂|0x100000|40147\n核电站|0x100000|6676\n核动力|0x100000|32632\n核讹诈|0x1000|51402\n核反应|0x100000|34633\n核反应堆|0x800000|24767\n核废料|0x100000|32125\n核分裂|0x0008|3\n核辐射|0x100000|39520\n核苷酸|0x100000|960\n核工业|0x100000|861\n核工业部|0x100000|1112\n核黄素|0x100000|46465\n核技术|0x100000|899\n核军备|0x0000|41950\n核扩散|0x100000|26963\n核裂变|0x100000|1038\n核垄断|0x0008|53764\n核能级|0x0008|0\n核潜艇|0x100000|16125\n核燃料|0x100000|21266\n核仁线|0x0008|0\n核乳胶|0x0008|0\n核实验|0x100000|1107\n核试验|0x100000|53255\n核酸酶|0x0008|0\n核酸外切酶|0x0008|0\n核糖核酸|0x100000|36302\n核糖体|0x0008|1121\n核桃糕|0x0008|1239\n核桃壳|0x100000|377\n核桃仁|0x100000|890\n核桃仁儿|0x0000|46763\n核外电子|0x100000|1127\n核威慑|0x0000|39297\n核威胁|0x100000|1079\n核武器|0x100000|6213\n核物理|0x100000|973\n核心技术|0x0000|625\n核心价值观|0x100000|476\n核心理念|0x100000|481\n核心内容|0x100000|543\n核心期刊|0x100000|48735\n核心区|0x100000|873\n核医学|0x0008|969\n核战争|0x100000|31746\n核装置|0x100000|52255\n核子武器|0x800000|1109\n荷包蛋|0x100000|36143\n荷尔蒙|0x100000|730\n荷花池|0x0000|492\n荷花淀|0x100000|391\n荷兰豆|0x100000|428\n荷兰人|0x100000|811\n荷兰银行|0x100000|462\n荷兰语|0x0008|1411\n荷枪实弹|0x1000000|30602\n涸鲋得水|0x0000|100\n涸思干虑|0x0000|100\n涸鱼得水|0x1000000|100\n涸泽而渔|0x800000|1139\n涸辙枯鱼|0x1000000|100\n涸辙之鲋|0x1000000|54277\n盒子炮|0x100000|40795\n盒子枪|0x100000|35358\n菏泽市|0x0040|1250\n颌下腺|0x100000|1210\n阖门百口|0x1000000|100\n贺尔蒙|0x0080|0\n贺兰山|0x0040|1426\n贺兰县|0x0040|1060\n贺年卡|0x100000|35209\n贺年片|0x100000|37895\n贺岁片|0x100000|33268\n贺州市|0x0040|1419\n褐红色|0x100000|1060\n褐铁矿|0x100000|1160\n褐衣不完|0x800000|100\n褐衣蔬食|0x0000|100\n褐藻门|0x0040|0\n赫伯特|0x0080|1533\n赫尔辛基|0x0040|1432\n赫赫功绩|0x100000|1075\n赫赫巍巍|0x0100|100\n赫赫炎炎|0x0000|100\n赫赫扬扬|0x0000|100\n赫赫有名|0x800000|24698\n赫赫之功|0x800000|1222\n赫赫之光|0x0000|100\n赫拉克里特|0x0080|0\n赫鲁晓夫|0x0080|1467\n赫鲁雪夫|0x0080|0\n赫然而怒|0x800000|1328\n赫然在目|0x800000|997\n赫斯之威|0x0000|100\n赫胥黎|0x0080|1653\n赫章县|0x0040|1084\n赫哲族|0x0008|42447\n鹤背扬州|0x1000000|100\n鹤壁市|0x0040|1309\n鹤草酚|0x0008|0\n鹤草芽|0x0008|0\n鹤长凫短|0x1000000|100\n鹤处鸡群|0x1000000|100\n鹤短凫长|0x1000000|100\n鹤发鸡皮|0x1000000|1227\n鹤发松姿|0x1000000|100\n鹤发童颜|0x1000000|44983\n鹤峰县|0x0040|1603\n鹤岗市|0x0040|1483\n鹤骨鸡肤|0x1000000|100\n鹤骨龙筋|0x1000000|100\n鹤骨霜髯|0x1000000|100\n鹤骨松筋|0x1000000|100\n鹤骨松姿|0x1000000|100\n鹤归华表|0x1000000|100\n鹤困鸡群|0x1000000|100\n鹤立鸡群|0x1000000|35510\n鹤唳风声|0x1000000|100\n鹤唳华亭|0x1000000|100\n鹤唳猿声|0x1000000|100\n鹤鸣九皋|0xc00000|0\n鹤鸣之士|0x1000000|100\n鹤庆县|0x0040|1099\n鹤山市|0x0040|1410\n鹤势螂形|0x1000000|100\n鹤田真由|0x0080|0\n鹤膝蜂腰|0x1000000|100\n鹤行鸡群|0x1000000|100\n鹤怨猿惊|0x1000000|100\n鹤知夜半|0x1000000|100\n鹤子梅妻|0x1000000|100\n鹤嘴锄|0x0000|54278\n黑暗面|0x100000|888\n黑白电视|0x0008|35359\n黑白电视机|0x0000|433\n黑白分明|0x1000000|848\n黑白混淆|0x1000000|1251\n黑白胶片|0x0008|889\n黑白片|0x100000|50589\n黑白森林|0x100000|1044\n黑白图片|0x100000|387\n黑斑病|0x100000|1154\n黑板报|0x100000|22934\n黑板擦|0x100000|53765\n黑博士|0x100000|392\n黑不溜秋|0x0100|44694\n黑材料|0x0000|46764\n黑沉沉|0x0100|27457\n黑灯瞎火|0x1000000|37896\n黑灯下火|0x1000000|100\n黑底屏|0x0008|0\n黑地昏天|0x1000000|100\n黑洞洞|0x0100|21431\n黑恶势力|0x100000|509\n黑发人|0x100000|947\n黑非洲|0x100000|1084\n黑粉病|0x0008|1285\n黑风孽海|0x1000000|100\n黑钙土|0x0008|1272\n黑格尔|0x0080|1320\n黑更半夜|0x100000|54279\n黑咕隆咚|0x0100|44134\n黑寡妇|0x0000|466\n黑河市|0x0040|1486\n黑盒子|0x100000|965\n黑乎乎|0x0100|25628\n黑胡桃|0x100000|419\n黑糊糊|0x0100|883\n黑家白日|0x1000000|100\n黑价白日|0x1000000|100\n黑金刚石|0x0008|0\n黑金属|0x100000|412\n黑镜头|0x100000|506\n黑客程序|0x100000|479\n黑客帝国|0x100000|797\n黑客工具|0x100000|479\n黑客基地|0x100000|457\n黑客技术|0x100000|504\n黑客软件|0x100000|803\n黑老大|0x100000|464\n黑溜溜|0x0100|51404\n黑龙江|0x0040|3725\n黑龙江日报|0x100000|516\n黑龙江省|0x0040|934\n黑茫茫|0x0100|53766\n黑蒙蒙|0x0100|54799\n黑面包|0x0000|44984\n黑名单|0x100000|17200\n黑墨水|0x100000|1082\n黑木耳|0x100000|37177\n黑啤酒|0x100000|49813\n黑漆皮灯|0x1000000|100\n黑漆皮灯笼|0x0008|1328\n黑漆漆|0x0100|31401\n黑漆一团|0x1400000|0\n黑骑士|0x100000|480\n黑旗军|0x0008|444\n黑黢黢|0x40000000|37897\n黑热病|0x100000|47694\n黑色带|0x100000|395\n黑色火药|0x100000|1239\n黑色金属|0x800000|857\n黑色人种|0x0008|0\n黑色素|0x100000|41020\n黑色素瘤|0x100000|410\n黑色星期五|0x400000|436\n黑色幽默|0x100000|40372\n黑森林|0x0040|1381\n黑森森|0x0000|39709\n黑山县|0x0040|1627\n黑社会|0x100000|10774\n黑社会老大|0x100000|503\n黑社会性质|0x100000|480\n黑市拳|0x100000|418\n黑手党|0x0020|37708\n黑水县|0x0040|1155\n黑丝袜|0x100000|408\n黑死病|0x100000|49452\n黑穗病|0x0008|1223\n黑太阳|0x100000|389\n黑陶文化|0x100000|1048\n黑腾腾|0x0100|1534\n黑体字|0x100000|998\n黑天白日|0x1000000|100\n黑天半夜|0x1000000|1345\n黑天摸地|0x1000000|100\n黑天墨地|0x1000000|100\n黑头发|0x100000|483\n黑窝点|0x100000|51405\n黑瞎子|0x100000|949\n黑匣子|0x100000|23223\n黑箱操作|0x800000|0\n黑心棉|0x0000|447\n黑猩猩|0x100000|23803\n黑压压|0x0100|18615\n黑言诳语|0x1000000|100\n黑眼睛|0x0000|523\n黑眼圈|0x0008|1099\n黑眼珠|0x100000|1008\n黑衣人|0x100000|785\n黑鹰坠落|0x100000|1009\n黑油油|0x0100|36643\n黑黝黝|0x0100|24566\n黑云母|0x100000|1126\n黑云压城城欲摧|0x0008|1088\n黑珍珠|0x100000|3\n黑芝麻|0x100000|868\n黑种人|0x100000|51406\n很长时间|0x0000|654\n很大程度上|0x0000|652\n很久以前|0x0000|626\n很可能|0x0000|753\n很明显|0x0000|694\n很难说|0x800000|675\n很容易|0x0000|801\n很喜欢|0x0000|770\n很遗憾|0x0000|590\n很有可能|0x0000|647\n很早以前|0x800000|635\n很重要|0x0000|762\n狠狠心|0x1000|0\n狠心肠|0x100000|1216\n狠心辣手|0x0000|100\n狠抓落实|0x0000|526\n恨不得|0x8000000|8759\n恨不能|0x8000000|539\n恨海难填|0x800000|1298\n恨如头醋|0x1000000|100\n恨入骨髓|0x1000000|1224\n恨铁不成钢|0x0008|850\n恨相见晚|0x1000000|100\n恨相知晚|0x1000000|100\n恨之入骨|0x1000000|36644\n亨嘉之会|0x0000|100\n亨利四世|0x400080|3\n哼哈二将|0x500000|52257\n哼哼唧唧|0x0000|100\n恒等式|0x100000|1072\n恒河沙数|0x1000000|1025\n恒河一沙|0x1400000|0\n恒化器|0x100000|0\n恒生指数|0x0008|1450\n恒湿器|0x100000|0\n恒温槽|0x100000|378\n恒温器|0x0008|1039\n恒温室|0x100000|0\n恒温箱|0x100000|388\n恒星年|0x4000|0\n恒星日|0x100000|1309\n恒星系|0x100000|1153\n恒压器|0x100000|1360\n横草之功|0x0000|100\n横冲直闯|0x1000|1096\n横冲直撞|0x1000000|30392\n横从穿贯|0x1000000|100\n横刀揭斧|0x1000000|100\n横刀跃马|0x1000000|100\n横倒竖卧|0x1000000|100\n横断面|0x100000|40373\n横恩滥赏|0x1000000|100\n横峰侧岭|0x0000|100\n横峰县|0x0040|1054\n横赋暴敛|0x1000000|100\n横戈盘马|0x1000000|100\n横戈跃马|0x1000000|1338\n横隔膜|0x100000|1140\n横膈膜|0x100000|1129\n横祸飞灾|0x1000000|1534\n横祸非灾|0x1000000|100\n横加指责|0x800000|1025\n横见侧出|0x1000000|100\n横截面|0x100000|55259\n横金拖玉|0x1000000|100\n横科暴敛|0x1000000|100\n横拦竖挡|0x1000000|100\n横蛮无理|0x800000|1189\n横眉瞪目|0x1000000|100\n横眉瞪眼|0x1000000|100\n横眉冷对|0x0000|44696\n横眉冷对千夫指|0x0008|1034\n横眉冷目|0x1000000|100\n横眉冷眼|0x1000000|100\n横眉立目|0x1000000|1133\n横眉立眼|0x1000000|100\n横眉努目|0x1000000|100\n横眉怒目|0x1000000|52739\n横眉怒视|0x1000000|100\n横眉竖目|0x0000|52740\n横眉竖眼|0x1000000|1119\n横眉吐气|0x1000000|100\n横剖面|0x0000|55261\n横七竖八|0x1400000|26194\n横枪跃马|0x1000000|100\n横抢武夺|0x1000000|100\n横抢硬夺|0x1000000|100\n横切面|0x100000|399\n横驱别骛|0x1000000|100\n横僿不文|0x1000000|100\n横三竖四|0x1400000|0\n横三顺四|0x1400000|0\n横扫千军|0x800000|902\n横山县|0x0040|1059\n横生枝节|0x1000000|50984\n横说竖说|0x1000000|1341\n横槊赋诗|0x1000000|1135\n横躺竖卧|0x1000000|49815\n横挑鼻子竖挑眼|0x0008|1096\n横拖倒扯|0x1000000|100\n横拖倒拽|0x1000000|100\n横拖竖拉|0x1000000|100\n横纹肌|0x100000|1147\n横无忌惮|0x1000000|100\n横翔捷出|0x1000000|100\n横向联合|0x0008|38478\n横向联系|0x0008|0\n横向滤波器|0x0008|0\n横行霸道|0x1000000|32888\n横行不法|0x1000000|1200\n横行逆施|0x1000000|100\n横行天下|0x0000|100\n横行无忌|0x1000000|42449\n横行直撞|0x1000000|100\n横行直走|0x1000000|100\n横殃飞祸|0x1000000|100\n横灾飞祸|0x1000000|100\n横遮竖挡|0x1000000|100\n横针竖线|0x1000000|100\n横征暴赋|0x0000|100\n横征暴敛|0x1000000|41703\n横征苛敛|0x0000|100\n横征苛役|0x0000|100\n横坐标|0x100000|55687\n衡东县|0x0040|1536\n衡短论长|0x1000000|100\n衡虑困心|0x1000000|100\n衡门深巷|0x800000|100\n衡南县|0x0040|1600\n衡情酌理|0x1000000|100\n衡山县|0x0040|1632\n衡石程书|0x1000000|100\n衡石量书|0x1000000|100\n衡水市|0x0040|1309\n衡阳路|0x0040|0\n衡阳市|0x0040|1254\n衡阳县|0x0040|1595\n衡阳雁断|0x1000000|100\n轰的一声|0x400000|2\n轰动效应|0x0000|25192\n轰动一时|0xc00000|15\n轰轰烈烈|0x1000000|11007\n轰轰隆隆|0x80000|976\n轰雷掣电|0x1000000|100\n轰雷贯耳|0x1000000|100\n轰隆声|0x0000|422\n轰鸣声|0x100000|832\n轰声四起|0x400000|0\n轰堂大笑|0x1000000|1214\n轰天烈地|0x1000000|100\n轰天裂地|0x1000000|100\n轰炸机|0x100000|19698\n哄动一时|0xc00000|0\n哄然大笑|0x1000000|1064\n哄堂大笑|0x1000000|26390\n烘干机|0x100000|786\n烘堂大笑|0x1000000|0\n烘托渲染|0x0000|100\n烘云讬月|0x1000000|100\n烘云托月|0x1000000|54801\n弘奖风流|0x0000|100\n弘毅宽厚|0x0000|100\n红安县|0x0040|1635\n红白事|0x100000|1215\n红白喜事|0x1000000|31166\n红斑狼疮|0x0008|38890\n红宝石|0x100000|27702\n红宝书|0x0008|1470\n红不棱登|0x0100|1350\n红澄澄|0x0100|1331\n红愁绿惨|0x0000|100\n红筹股|0x100000|1005\n红大戟|0x0008|0\n红得发紫|0x800000|926\n红灯区|0x100000|46196\n红地毯|0x0000|556\n红顶商人|0x100000|991\n红豆冰|0x0000|387\n红豆蔻|0x0008|0\n红豆杉|0x100000|927\n红豆汤|0x0000|400\n红豆相思|0x800000|1143\n红飞翠舞|0x0000|100\n红粉青楼|0x0000|100\n红腐贯朽|0x0000|100\n红根草|0x0008|0\n红骨髓|0x100000|1308\n红管药|0x0008|0\n红光满面|0x800000|908\n红海湾|0x100000|384\n红河三角|0x400000|0\n红河三角洲|0x400000|1193\n红河县|0x0040|1112\n红褐色|0x100000|938\n红红火火|0x0100|782\n红红绿绿|0x0100|29953\n红花油|0x100000|988\n红黄牌|0x100000|411\n红极一时|0xc00000|40572\n红景天|0x100000|447\n红口白牙|0x800000|1200\n红辣椒|0x100000|510\n红铃虫|0x100000|55263\n红领巾|0x100000|15630\n红领章|0x0000|51408\n红楼梦|0x0008|962\n红绿灯|0x100000|27114\n红萝卜|0x100000|853\n红马甲|0x100000|394\n红蚂蚁|0x100000|427\n红帽子|0x100000|39523\n红玫瑰|0x100000|698\n红霉素|0x100000|40796\n红模子|0x100000|51409\n红磨坊|0x100000|471\n红墨水|0x100000|1069\n红木家具|0x100000|485\n红男绿女|0x1000000|40573\n红皮书|0x100000|48738\n红扑扑|0x0100|28019\n红葡萄酒|0x100000|856\n红旗报捷|0x800000|1541\n红旗车|0x100000|414\n红旗飘飘|0x100000|925\n红旗渠|0x0040|1520\n红旗手|0x100000|20997\n红桥区|0x0040|1430\n红情绿意|0x800000|1354\n红日三竿|0xc00000|0\n红色高棉|0x0020|1080\n红色警报|0x100000|454\n红色警戒|0x0008|803\n红色旅游|0x100000|557\n红色娘子军|0x100000|458\n红色素|0x100000|1005\n红色政权|0x0008|1\n红珊瑚|0x0008|1478\n红烧肉|0x100000|31046\n红绳系足|0x800000|1533\n红十字|0x500000|79\n红十字会|0xc00000|8107\n红树林|0x100000|821\n红衰翠减|0x0000|100\n红双喜|0x4000000|1394\n红水河|0x0040|1635\n红四军|0x400020|5\n红塔山|0x0008|1462\n红太阳|0x100000|1210\n红通通|0x40000000|489\n红彤彤|0x0100|27370\n红头文件|0x100000|24233\n红外传感器|0x100000|382\n红外分光光度计|0x0008|0\n红外光|0x100000|1044\n红外接口|0x100000|522\n红外扫描|0x0008|0\n红外探测器|0x100000|484\n红外线|0x100000|23224\n红外线灯|0x0008|0\n红外制导|0x0008|5\n红卫兵|0x100000|11805\n红五星|0x500000|0\n红细胞|0x100000|24831\n红小兵|0x100000|1073\n红小豆|0x100000|50985\n红小鬼|0x0000|54280\n红心十三|0x400000|0\n红新月会|0x0020|1195\n红杏出墙|0x0008|46766\n红袖添香|0x100000|674\n红学家|0x100000|994\n红血球|0x100000|39524\n红颜薄命|0x800000|46767\n红眼病|0x100000|43667\n红艳艳|0x0100|28629\n红药水|0x100000|43668\n红叶谷|0x100000|397\n红叶题诗|0x0008|1226\n红衣主教|0x100000|49456\n红壹佰|0x0008|1262\n红殷殷|0x0100|1344\n红缨枪|0x100000|38685\n红樱桃|0x100000|452\n红原县|0x0040|1146\n红蜘蛛|0x0008|50592\n红种人|0x0008|1296\n红紫乱朱|0x0000|100\n宏病毒|0x100000|1041\n宏才大略|0x1000000|100\n宏材大略|0x1000000|100\n宏观调控|0x100000|3910\n宏观调控能力|0x0000|395\n宏观管理|0x100000|923\n宏观经济|0x100000|23170\n宏观经济学|0x100000|482\n宏观经济政策|0x100000|479\n宏观世界|0x100000|1008\n宏观政策|0x100000|501\n宏图大志|0x800000|1063\n闳侈不经|0x1000000|100\n闳大不经|0x1000000|100\n闳识孤怀|0x1000000|100\n闳言崇议|0x1000000|100\n闳言高论|0x1000000|100\n闳意眇指|0x1000000|100\n闳意妙指|0x1000000|100\n闳宇崇楼|0x1000000|100\n闳中肆外|0x1000000|100\n泓峥萧瑟|0x1000000|100\n洪洞县|0x0040|1592\n洪都拉斯|0x0040|1493\n洪范九畴|0x400000|0\n洪峰流量|0x0008|0\n洪福齐天|0x800000|1028\n洪湖赤卫队|0x0020|1111\n洪湖市|0x0040|1517\n洪江市|0x0040|1603\n洪涝灾害|0x100000|959\n洪流滚滚|0x800000|946\n洪炉点雪|0x1000000|100\n洪炉燎发|0x100000|100\n洪乔捎书|0x0000|100\n洪水横流|0x800000|100\n洪水猛兽|0x1000000|34941\n洪水位|0x100000|1207\n洪雅县|0x0040|1092\n洪泽湖|0x0040|1546\n洪泽县|0x0040|1538\n虹口区|0x0040|1248\n虹桥机场|0x0040|1390\n虹吸管|0x100000|1116\n虹吸现象|0x100000|1125\n虹销雨霁|0x0000|100\n虹鳟鱼|0x0000|49108\n鸿案鹿车|0x0000|100\n鸿案相庄|0x1000000|100\n鸿笔丽藻|0x1000000|100\n鸿俦鹤侣|0x1000000|100\n鸿毳沉舟|0x0000|100\n鸿都买第|0x1000000|100\n鸿断鱼沉|0x0000|100\n鸿飞冥冥|0x1000000|1247\n鸿飞霜降|0x1000000|100\n鸿飞雪爪|0x1000000|100\n鸿鹄将至|0x1000000|100\n鸿鹄之志|0x1000000|54281\n鸿函钜椟|0x1000000|100\n鸿渐于干|0x0000|100\n鸿渐之仪|0x1000000|100\n鸿渐之翼|0x1000000|0\n鸿毛泰岱|0x1000000|100\n鸿毛泰山|0x1000000|100\n鸿门宴|0x100000|41952\n鸿蒙初辟|0x0000|100\n鸿泥雪爪|0x1000000|100\n鸿篇巨制|0x1000000|35212\n鸿篇巨著|0x1000000|1181\n鸿篇巨着|0x0000|100\n鸿篇钜制|0x1000000|100\n鸿儒硕学|0x1000000|100\n鸿商富贾|0x1000000|100\n鸿图华构|0x1000000|100\n鸿稀鳞绝|0x1000000|100\n鸿鶱凤立|0x1000000|100\n鸿鶱凤逝|0x1000000|100\n鸿翔鸾起|0x1000000|100\n鸿消鲤息|0x1000000|100\n鸿轩凤翥|0x1000000|100\n鸿雁哀鸣|0x800000|100\n鸿雁传书|0x800000|1012\n鸿业远图|0x1000000|100\n鸿衣羽裳|0x1000000|100\n鸿鳦满纸|0x1000000|100\n鸿隐凤伏|0x1000000|100\n鸿章钜字|0x1000000|100\n鸿爪春泥|0x1000000|100\n鸿爪留泥|0x1000000|100\n鸿爪雪泥|0x1000000|1273\n侯服玉食|0x800000|100\n侯马市|0x0040|1554\n侯门如海|0x1000000|1334\n侯门深似海|0x0008|1076\n侯门似海|0x1000000|100\n喉擦音|0x100000|1348\n喉长气短|0x1000000|100\n喉科学|0x100000|1118\n喉咙痛|0x0000|434\n喉塞音|0x100000|1372\n猴儿急|0x0000|55961\n猴儿精|0x100000|1422\n猴囡仔|0x0008|0\n猴年马月|0x800000|48367\n猴皮筋儿|0x100000|53259\n猴头菇|0x100000|417\n猴头猴脑|0x800000|1372\n猴头菌|0x0000|54802\n猴子称大王|0x0008|1112\n后半辈子|0x800000|961\n后半场|0x100000|1044\n后半段|0x100000|822\n后半期|0x4000|976\n后半晌|0x4000|0\n后半生|0x4000|824\n后半天|0x0000|52263\n后半夜|0x4000|22108\n后备干部|0x0000|492\n后备军|0x100000|33770\n后备军官|0x100000|370\n后备力量|0x0008|933\n后备役|0x0000|49816\n后不巴店|0x100000|100\n后不见来者|0x0008|915\n后车之戒|0x100000|100\n后发制人|0x1000000|40149\n后福无量|0x800000|100\n后工业社会|0x0008|1059\n后顾之忧|0x1000000|10598\n后海先河|0x1000000|100\n后汉书|0x0008|1450\n后花园|0x100000|582\n后患无穷|0x800000|876\n后悔不及|0x0000|100\n后悔莫及|0x800000|38687\n后悔无及|0x1000000|1331\n后悔药|0x0000|43669\n后会无期|0x0000|100\n后会有期|0x1000000|38097\n后脊梁|0x0000|48740\n后继乏人|0x800000|33912\n后继无人|0x800000|985\n后继有人|0x1000000|928\n后甲板|0x0000|369\n后进领袖|0x1000000|100\n后进生|0x100000|512\n后进之秀|0x1000000|100\n后空翻|0x100000|51830\n后来居上|0x1000000|19451\n后来居上者|0x0008|0\n后来人|0x100000|36470\n后来者|0x100000|784\n后来者居上|0x0008|1027\n后来之秀|0x1000000|100\n后浪催前浪|0x0008|1301\n后浪推前浪|0x0008|844\n后脸儿|0x100000|0\n后掠角|0x100000|1189\n后门进狼|0x800000|100\n后脑勺|0x100000|788\n后脑勺儿|0x0000|20276\n后怕虎|0x800000|1046\n后期制作|0x100000|792\n后起之秀|0x1000000|27284\n后勤保障|0x0008|91\n后勤部|0x100000|493\n后勤工作|0x0008|493\n后人把滑|0x800000|100\n后人乘凉|0x800000|994\n后生可畏|0x1000000|43670\n后生小子|0x1000000|1146\n后事之师|0x800000|38688\n后视镜|0x100000|35989\n后手不接|0x800000|1416\n后台程序|0x100000|474\n后台老板|0x100000|41467\n后台数据库|0x100000|450\n后藤久美子|0x0080|0\n后天下之乐而乐|0x0008|944\n后天性|0x100000|1030\n后臀尖|0x0000|54282\n后尾儿|0x0000|47373\n后无来者|0x1000000|842\n后现代|0x100000|697\n后现代主义|0x100000|857\n后遗症|0x100000|18870\n后拥前呼|0x1000000|100\n后援会|0x100000|541\n后院起火|0x800000|972\n后知后觉|0x0008|0\n后置词|0x100000|0\n后缀名|0x100000|554\n后坐力|0x100000|53261\n后座力|0x100000|405\n厚壁组织|0x0008|0\n厚此薄彼|0x1000000|36814\n厚德载福|0x1000000|1340\n厚德载物|0x1000000|849\n厚墩墩|0x0100|47075\n厚古薄今|0x1000000|54803\n厚积薄发|0x1000000|839\n厚今薄古|0x1000000|1256\n厚脸皮|0x100000|825\n厚禄高官|0x0000|100\n厚貌深辞|0x1000000|100\n厚貌深情|0x1000000|1334\n厚貌深文|0x1000000|100\n厚生利用|0x1000000|100\n厚往薄来|0x1000000|100\n厚味腊毒|0x1000000|100\n厚颜无耻|0x800000|39525\n厚着脸皮|0x0000|506\n候补委员|0x800000|941\n候车室|0x100000|20011\n候车亭|0x100000|968\n候车站|0x100000|1200\n候船室|0x100000|1245\n候风地动仪|0x100000|1274\n候机楼|0x100000|34788\n候机室|0x100000|979\n候机厅|0x100000|956\n候客室|0x100000|1404\n候选人|0x100000|4612\n候选人名单|0x100000|464\n候选者|0x100000|997\n候诊室|0x0008|1056\n呼不给吸|0x800000|100\n呼哧呼哧|0x80000|899\n呼风唤雨|0x1000000|31403\n呼庚呼癸|0x800000|100\n呼和浩特|0x0040|7471\n呼和浩特市|0x0040|1214\n呼和浩特铁路局|0x0020|1635\n呼饥号寒|0x800000|1333\n呼叫器|0x0008|1010\n呼叫者|0x100000|1167\n呼叫转移|0x0000|468\n呼啦啦|0x80000|861\n呼啦圈|0x0000|49457\n呼来喝去|0x0000|100\n呼噜噜|0x80000|1025\n呼卢喝雉|0x800000|100\n呼伦贝尔|0x0040|1246\n呼伦贝尔盟|0x0040|1654\n呼伦贝尔市|0x0040|1462\n呼玛县|0x0040|1070\n呼么喝六|0x400000|0\n呼牛呼马|0x1000000|100\n呼牛作马|0x1000000|100\n呼朋唤友|0x1000000|902\n呼朋引类|0x1000000|55923\n呼群结党|0x1000000|100\n呼天号地|0x1000000|100\n呼天唤地|0x1000000|1283\n呼天叫地|0x1000000|1228\n呼天叩地|0x1000000|100\n呼天抢地|0x1000000|41021\n呼天吁地|0x0000|100\n呼天钥地|0x0000|100\n呼图壁|0x0040|1643\n呼图壁县|0x0040|1702\n呼图克图|0x0008|1189\n呼吸道|0x800000|15143\n呼吸道疾病|0x100000|492\n呼吸器|0x100000|874\n呼吸器官|0x100000|1035\n呼吸衰竭|0x0008|0\n呼吸系统|0x800000|790\n呼吸相通|0x1000000|1324\n呼吸与共|0x800000|1354\n呼吸之间|0x0000|100\n呼玄喝六|0x400000|0\n呼幺喝六|0x1400000|0\n呼吁书|0x100000|35361\n呼之即来|0x800000|54283\n呼之欲出|0x1000000|27703\n忽必烈|0x0000|496\n忽忽不乐|0x1000000|1328\n忽忽悠悠|0x0100|1022\n忽冷忽热|0x1000000|42205\n忽伦二虎|0x400000|0\n忽伦三虎|0x400000|0\n忽伦四虎|0x400000|0\n忽明忽暗|0x800000|37178\n忽如一夜春风来|0x400000|0\n忽闪忽闪|0x0100|841\n忽隐忽现|0x0000|40798\n忽左忽右|0x800000|988\n囫囵半片|0x1000000|100\n囫囵吞枣|0x1000000|41255\n弧光灯|0x100000|1159\n弧圈球|0x0000|47076\n弧线球|0x100000|940\n狐奔鼠窜|0x1000000|100\n狐不二雄|0x1400000|0\n狐步舞|0x0000|52743\n狐唱枭和|0x1000000|100\n狐虎之威|0x1000000|100\n狐假鸱张|0x1000000|100\n狐假虎威|0x1000000|39924\n狐藉虎威|0x0000|100\n狐狸精|0x100000|29635\n狐狸尾巴|0x100000|44138\n狐埋狐搰|0x1000000|100\n狐埋狐扬|0x1000000|100\n狐媚魇道|0x1000000|100\n狐媚猿攀|0x0000|100\n狐鸣篝火|0x1000000|100\n狐鸣篝中|0x1000000|100\n狐鸣狗盗|0x1000000|100\n狐鸣枭噪|0x1000000|100\n狐鸣鱼书|0x1000000|100\n狐朋狗党|0x1000000|1156\n狐朋狗友|0x1000000|40151\n狐凭鼠伏|0x1000000|100\n狐潜鼠伏|0x0000|100\n狐裘羔袖|0x1000000|100\n狐裘尨茸|0x1000000|100\n狐裘蒙戎|0x1000000|100\n狐裘蒙茸|0x1000000|100\n狐群狗党|0x1000000|46198\n狐鼠之徒|0x0000|100\n狐死首丘|0x1000000|1238\n狐死兔泣|0x1000000|100\n狐听之声|0x1000000|100\n狐兔之悲|0x1000000|100\n狐疑不决|0x800000|1343\n胡八非为|0x400000|0\n胡编乱造|0x800000|41022\n胡猜乱想|0x1000000|1268\n胡吃海喝|0x800000|52265\n胡打海摔|0x800000|100\n胡肥锺瘦|0x800000|100\n胡服骑射|0x0000|54804\n胡搞一气|0x400000|0\n胡黄连|0x0008|0\n胡椒粉|0x100000|831\n胡椒面|0x100000|1024\n胡椒面儿|0x0000|40376\n胡搅蛮缠|0x1000000|40576\n胡锦涛|0x0080|955\n胡锦涛同志|0x100000|551\n胡锦涛主席|0x0000|539\n胡克定律|0x0008|0\n胡拉乱扯|0x1000000|100\n胡里胡涂|0x1000000|1051\n胡芦巴|0x0080|1284\n胡萝卜|0x100000|17690\n胡萝卜素|0x100000|29636\n胡萝卜汁|0x0008|433\n胡说八道|0x1400000|19053\n胡说白道|0x1000000|100\n胡说乱道|0x1000000|1352\n胡思乱量|0x1000000|100\n胡思乱想|0x1000000|15898\n胡桃肉|0x100000|1200\n胡天胡地|0x1000000|1106\n胡天胡帝|0x1000000|1283\n胡行乱为|0x1000000|100\n胡言汉语|0x1000000|100\n胡言乱道|0x1000000|100\n胡言乱语|0x1000000|30605\n胡越同舟|0x1000000|100\n胡越一家|0x1400000|0\n胡越之祸|0x0000|100\n胡侦探|0x100000|380\n胡支扯叶|0x1000000|100\n胡枝扯叶|0x1000000|100\n胡志明|0x0040|1411\n胡志明市|0x0040|1496\n胡诌八扯|0x1400000|0\n胡诌乱扯|0x1000000|100\n胡诌乱道|0x1000000|100\n胡诌乱说|0x1000000|100\n胡子茬儿|0x0000|50988\n胡子工程|0x0000|49458\n胡子拉碴|0x0100|43422\n胡作非为|0x1000000|28465\n胡作胡为|0x1000000|100\n胡作乱为|0x1000000|100\n壶关县|0x0040|1081\n壶浆塞道|0x0000|100\n壶里乾坤|0x0000|100\n壶天日月|0x0000|100\n壶中日月|0x0000|100\n壶中天地|0x0000|100\n湖北大鼓|0x100000|1130\n湖北大学|0x100000|871\n湖北人|0x100000|907\n湖北日报|0x100000|473\n湖北省|0x0040|928\n湖北武汉|0x0000|575\n湖北宜昌|0x100000|490\n湖光山色|0x1000000|821\n湖口县|0x0040|1060\n湖南菜|0x100000|393\n湖南长沙|0x100000|575\n湖南大学|0x100000|527\n湖南电信|0x100000|508\n湖南凤凰|0x100000|374\n湖南广播|0x100000|408\n湖南衡阳|0x100000|471\n湖南路|0x100000|478\n湖南旅游|0x100000|405\n湖南人|0x100000|797\n湖南日报|0x100000|451\n湖南省|0x0040|870\n湖南永州|0x100000|436\n湖南岳阳|0x100000|454\n湖心亭|0x100000|1000\n湖沼学|0x0008|0\n湖州市|0x0040|1266\n猢狲入布袋|0x0008|1492\n猢猻称霸王|0x0008|0\n葫芦巴|0x100000|1191\n葫芦茶|0x0008|0\n葫芦岛|0x0040|1176\n葫芦岛市|0x0040|1298\n葫芦丝|0x100000|481\n葫芦娃|0x100000|421\n葫芦依样|0x0080|1535\n瑚琏之器|0x100000|100\n槲寄生|0x0008|1054\n糊粉层|0x0008|0\n糊糊涂涂|0x0100|1027\n糊口度日|0x0000|100\n糊里糊涂|0x800000|16101\n糊墙纸|0x0000|55268\n糊涂虫|0x100000|37179\n糊涂蛋|0x100000|1015\n糊涂一时|0xc00000|0\n糊涂帐|0x0000|394\n糊涂账|0x100000|41708\n蝴蝶斑|0x0000|55695\n蝴蝶谷|0x100000|460\n蝴蝶花|0x100000|55267\n蝴蝶剑|0x100000|476\n蝴蝶结|0x100000|34320\n蝴蝶兰|0x100000|872\n蝴蝶梦|0x100000|845\n蝴蝶犬|0x100000|393\n蝴蝶效应|0x0008|811\n蝴蝶装|0x100000|1204\n虎背熊腰|0x1000000|44422\n虎变龙蒸|0x0000|100\n虎彪彪|0x0100|1520\n虎不食儿|0x0000|100\n虎步龙行|0x0000|100\n虎超龙骧|0x0000|100\n虎大伤人|0x0000|100\n虎党狐侪|0x0000|100\n虎荡羊群|0x0000|100\n虎斗龙争|0x800000|100\n虎毒不食子|0x0008|1704\n虎而冠|0x0008|1534\n虎耳草|0x100000|1111\n虎坊桥|0x0040|0\n虎骨酒|0x100000|1099\n虎据龙蟠|0x0000|100\n虎踞鲸吞|0x0000|100\n虎踞龙盘|0x1000000|48741\n虎踞龙蟠|0x1000000|1182\n虎口拔牙|0x1000000|46199\n虎口逃生|0x0000|100\n虎口脱险|0x800000|943\n虎口余生|0x1000000|55696\n虎窟龙潭|0x0000|100\n虎狼之势|0x800000|100\n虎林市|0x0040|1640\n虎略龙韬|0x0000|100\n虎落平川|0x800000|100\n虎珀拾芥|0x800000|100\n虎入羊群|0x800000|1110\n虎生三子|0xc00000|0\n虎生生|0x0100|1492\n虎视眈眈|0x1000000|26612\n虎视耽耽|0x0008|0\n虎瘦雄心在|0x100000|1539\n虎兕出柙|0x0000|100\n虎体熊腰|0x800000|100\n虎头虎脑|0x1000000|43188\n虎头山|0x0040|1053\n虎头蛇尾|0x1000000|37005\n虎头燕颔|0x800000|100\n虎尾春冰|0x800000|1340\n虎卧龙跳|0x800000|100\n虎啸风生|0x0000|100\n虎穴狼巢|0x0000|100\n虎穴龙潭|0x100000|1231\n虎眼石|0x0000|395\n虎跃龙腾|0x800000|1174\n虎掌草|0x0008|0\n虎掷龙拿|0x0000|100\n虎着脸|0x0000|49818\n琥珀色|0x100000|869\n琥珀酸|0x0008|1072\n琥珀突变型|0x0008|0\n互帮互学|0x800000|1072\n互帮互助|0x800000|887\n互变异构|0x0008|0\n互剥痛疮|0x0000|100\n互补色|0x0000|436\n互补性|0x100000|884\n互不侵犯|0x1000|980\n互不相让|0x800000|816\n互动关系|0x100000|872\n互动式|0x20000000|854\n互感器|0x100000|816\n互感应|0x100000|1309\n互换性|0x0008|991\n互惠互利|0x0000|17482\n互教互学|0x0008|0\n互敬互爱|0x0000|49461\n互联网|0x0000|3375\n互联网络|0x100000|595\n互谅互让|0x0000|44987\n互通有无|0x1000000|32126\n互为表里|0x1000000|1083\n互为因果|0x1000|1001\n互相帮助|0x100000|745\n互相标榜|0x0000|100\n互相推诿|0x800000|989\n互助土族自治县|0x0040|1730\n互助组|0x100000|1106\n户曹参军|0x1000000|100\n户告人晓|0x1000000|100\n户籍管理|0x0008|474\n户籍警|0x0000|45298\n户籍制度|0x100000|521\n户口本|0x100000|31991\n户口簿|0x100000|28020\n户口册|0x100000|1275\n户口所在地|0x100000|596\n户枢不蠹|0x1000000|52268\n户枢不蝼|0x1000000|100\n户枢不朽|0x1000000|100\n户外广告|0x100000|564\n户外活动|0x100000|737\n户外俱乐部|0x100000|493\n户外媒体|0x100000|446\n户外用品|0x100000|547\n户外运动|0x100000|685\n户限为穿|0x1000000|100\n护岸林|0x100000|1391\n护城河|0x100000|21804\n护犊子|0x1000|1182\n护耳器|0x100000|1283\n护肤品|0x0008|645\n护肤用品|0x100000|934\n护国军|0x100000|1158\n护国佑民|0x0000|100\n护国运动|0x0008|1185\n护过饰非|0x0000|100\n护航舰|0x100000|1180\n护花使者|0x100000|817\n护理部|0x100000|1594\n护理产品|0x100000|465\n护理人员|0x100000|492\n护理系|0x100000|1053\n护林防火|0x0008|3\n护林员|0x100000|1056\n护路林|0x100000|1373\n护目镜|0x0008|955\n护身法|0x100000|1299\n护身符|0x100000|27705\n护士长|0x100000|873\n护士服|0x100000|424\n护士节|0x100000|486\n护士室|0x100000|0\n护士学校|0x100000|1043\n护田林|0x0008|1492\n护卫队|0x100000|933\n护卫舰|0x100000|904\n护卫艇|0x100000|1223\n护卫者|0x100000|1143\n沪宁线|0x0008|1055\n沪深股市|0x0000|550\n怙才骄物|0x1000000|100\n怙恶不悛|0x1000000|50206\n怙恩恃宠|0x0000|100\n怙过不悛|0x1000000|100\n怙顽不悛|0x1000000|100\n怙终不悔|0x1000000|100\n怙终不悛|0x1000000|100\n花把式|0x0000|50596\n花边机|0x100000|376\n花边新闻|0x100000|43896\n花不棱登|0x0100|1366\n花残月缺|0x1000|1333\n花朝月夕|0x800000|1267\n花朝月夜|0x0000|100\n花辰月夕|0x0000|100\n花晨月夕|0x0000|100\n花池子|0x100000|54284\n花刺子模|0x100000|1217\n花簇锦攒|0x0000|100\n花大姐|0x100000|46202\n花灯戏|0x100000|1285\n花点子|0x100000|55269\n花雕酒|0x0000|384\n花堆锦簇|0x0000|100\n花儿匠|0x100000|1372\n花繁叶茂|0x800000|1157\n花粉管|0x0008|1311\n花粉囊|0x100000|1426\n花粉热|0x0008|0\n花岗石|0x100000|27209\n花岗岩|0x100000|18463\n花骨朵|0x100000|44697\n花鼓戏|0x100000|37361\n花果茶|0x100000|391\n花果山|0x0040|29526\n花好月圆|0x1000000|761\n花和尚|0x100000|484\n花红柳绿|0x1000000|966\n花红叶绿|0x0100|1206\n花花草草|0x100000|762\n花花肠子|0x800000|49462\n花花搭搭|0x800000|1536\n花花公子|0x1000000|33914\n花花绿绿|0x0100|18766\n花花世界|0x1000000|37362\n花花太岁|0x100000|1184\n花卉苗木|0x100000|478\n花卉市场|0x100000|490\n花卉业|0x100000|412\n花卉种子|0x100000|392\n花卉装饰|0x0008|0\n花季少女|0x100000|486\n花甲之年|0x1000000|1031\n花架子|0x100000|20998\n花键轴|0x0008|1104\n花椒油|0x100000|393\n花阶柳市|0x0000|100\n花街柳陌|0x0000|100\n花街柳市|0x0000|100\n花街柳巷|0x1000000|1095\n花锦世界|0x0000|100\n花里胡哨|0x1000000|38274\n花莲港|0x0040|0\n花莲市|0x0040|1643\n花莲县|0x0040|1422\n花柳病|0x0008|47698\n花露水|0x100000|44698\n花名册|0x100000|30606\n花明柳暗|0x1000000|1165\n花明柳媚|0x0000|100\n花木场|0x100000|430\n花木兰|0x0008|1274\n花貎蓬心|0x0000|100\n花鸟画|0x100000|25970\n花旗集团|0x100000|474\n花旗银行|0x0020|1381\n花前月下|0x800000|42207\n花腔女高音|0x0008|0\n花青素|0x100000|1023\n花衢柳陌|0x0000|100\n花拳绣腿|0x100000|45890\n花容玉貌|0x1000000|1232\n花容月貌|0x1000000|44701\n花蕊石|0x0008|0\n花色品种|0x0008|925\n花色素|0x0008|1182\n花纱布|0x100000|50990\n花生饼|0x100000|1181\n花生豆儿|0x0000|47077\n花生酱|0x100000|48743\n花生壳|0x0000|493\n花生米|0x100000|19626\n花生仁|0x100000|947\n花生仁儿|0x0000|45891\n花生四烯酸|0x400008|0\n花生糖|0x100000|1055\n花生油|0x100000|32996\n花说柳说|0x1000000|100\n花天锦地|0x0000|100\n花天酒地|0x1000000|31514\n花团锦簇|0x1000000|23928\n花纹板|0x100000|416\n花纹路|0x0040|0\n花纹纸|0x0008|0\n花无百日红|0x0008|1026\n花媳妇儿|0x100000|0\n花下晒裈|0x0000|100\n花香鸟语|0x800000|1057\n花信年华|0x0000|100\n花芽分化|0x0008|0\n花言巧语|0x1000000|28271\n花颜月貌|0x800000|100\n花样百出|0x800000|896\n花样翻新|0x800000|29324\n花样滑冰|0x0008|853\n花样年华|0x100000|705\n花样新翻|0x0000|100\n花样游泳|0x800000|948\n花药培养|0x0008|0\n花椰菜|0x100000|51831\n花椰菜花叶病毒|0x0008|0\n花椰菜花叶病毒组|0x100000|0\n花叶病|0x0008|0\n花园别墅|0x100000|462\n花园街|0x100000|428\n花园酒店|0x100000|493\n花园口|0x0040|1062\n花垣县|0x0040|1040\n花攒锦簇|0x0000|100\n花攒锦聚|0x0000|100\n花遮柳掩|0x800000|100\n花遮柳隐|0x800000|100\n花枝招颤|0x0000|100\n花枝招展|0x1000000|28836\n花枝招颭|0x0000|100\n花中之王|0x0008|1122\n花籽儿|0x0000|40800\n花子儿|0x100000|0\n华安县|0x0040|1037\n华北地区|0x0040|1235\n华北电力|0x100000|478\n华北平原|0x0040|1389\n华北石油|0x100000|399\n华不再扬|0x800000|100\n华池县|0x0040|1065\n华达呢|0x100000|48371\n华灯初上|0x1000000|802\n华东地区|0x0040|1181\n华东理工|0x100000|506\n华东理工大学|0x100000|477\n华东旅游|0x100000|370\n华东师大|0x0020|852\n华东师范|0x100000|543\n华东师范大学|0x0020|1235\n华东政法|0x100000|475\n华而不实|0x1000000|26890\n华尔街|0x0040|13559\n华尔兹|0x100000|42453\n华尔滋|0x0000|418\n华封三视|0x400000|0\n华封三祝|0x400000|100\n华格纳|0x0080|1107\n华冠丽服|0x800000|100\n华军软件园|0x0000|474\n华罗庚|0x0080|1462\n华贸中心|0x100000|385\n华美达|0x0008|1438\n华南地区|0x0040|1221\n华南虎|0x100000|969\n华南理工|0x100000|539\n华南理工大学|0x0020|1291\n华南师大|0x100000|423\n华南师范大学|0x0000|528\n华宁县|0x0040|1110\n华坪县|0x0040|1079\n华侨大学|0x100000|480\n华人华侨|0x100000|470\n华人乐队|0x100000|611\n华人论坛|0x100000|485\n华人社区|0x100000|500\n华容道|0x0008|1408\n华容县|0x0040|1048\n华山参|0x0008|0\n华山路|0x100000|486\n华山论剑|0x800000|825\n华山医院|0x100000|443\n华商网|0x100000|531\n华盛顿|0x0040|3428\n华盛顿邮报|0x0008|1381\n华盛顿州|0x0040|1501\n华氏度|0x0000|55871\n华氏温标|0x100000|0\n华氏温度|0x100000|1139\n华氏温度计|0x100000|1328\n华亭鹤唳|0x800000|1292\n华亭县|0x0040|1050\n华为技术|0x100000|450\n华屋丘墟|0x100000|100\n华屋秋墟|0x0000|100\n华屋山丘|0x100000|100\n华西里耶夫|0x0080|0\n华夏大地|0x100000|446\n华夏银行|0x0020|1341\n华夏证券|0x100000|485\n华星秋月|0x0000|100\n华严经|0x0008|1514\n华严宗|0x0008|0\n华阴市|0x0040|1643\n华英雄|0x100000|494\n华蓥市|0x0040|1057\n华语音乐|0x100000|500\n华原朋美|0x0080|0\n华中地区|0x0040|1398\n华中科技|0x100000|564\n华中科技大学|0x100000|559\n华中理工大学|0x100000|429\n华中师大|0x100000|425\n华中师范大学|0x100000|500\n华兹华斯|0x0080|1092\n哗的一声|0x400000|0\n哗哗啦啦|0x100000|1008\n哗啦哗啦|0x80000|852\n哗啦啦|0x80000|773\n哗啦一声|0x400000|0\n哗世动俗|0x1000000|100\n哗世取宠|0x1000000|100\n哗世取名|0x1000000|100\n哗众取宠|0x1000000|20999\n滑板鞋|0x100000|383\n滑冰场|0x0000|45892\n滑不唧溜|0x0100|100\n滑稽剧|0x0000|42924\n滑稽戏|0x100000|34055\n滑溜溜|0x0100|953\n滑泥扬波|0x1000000|100\n滑石粉|0x100000|45893\n滑天下之大稽|0x0008|1026\n滑头滑脑|0x0100|55271\n滑翔机|0x100000|43674\n滑行道|0x100000|1160\n滑雪板|0x100000|43675\n滑雪场|0x100000|771\n滑雪衫|0x100000|55272\n滑雪者|0x100000|428\n化鸱为凤|0x1000000|100\n化德县|0x0040|1142\n化敌为友|0x800000|866\n化肥厂|0x100000|835\n化粪池|0x100000|42710\n化腐成奇|0x1000000|100\n化腐为奇|0x1000000|100\n化腐朽为神奇|0x800000|903\n化干戈为玉帛|0x1000|41256\n化工泵|0x100000|496\n化工部|0x100000|1424\n化工产品|0x100000|616\n化工厂|0x100000|606\n化工大学|0x0000|480\n化工公司|0x100000|500\n化工机械|0x100000|517\n化工集团|0x100000|501\n化工局|0x100000|1197\n化工类|0x100000|455\n化工企业|0x0000|544\n化工染料|0x100000|379\n化工设备|0x100000|553\n化工市场|0x100000|460\n化工填料|0x100000|406\n化工系|0x100000|979\n化工行业|0x100000|543\n化工学院|0x100000|486\n化工业|0x0008|852\n化工用品|0x100000|368\n化工有限公司|0x100000|669\n化工有限责任|0x100000|507\n化工原料|0x100000|660\n化工助剂|0x100000|434\n化公为私|0x800000|1151\n化害为利|0x800000|1208\n化合价|0x100000|1095\n化合物|0x100000|9238\n化及豚鱼|0x1000000|100\n化零为整|0x1000000|1124\n化隆回族自治县|0x0040|1789\n化民成俗|0x1000000|1281\n化民易俗|0x1000000|100\n化日光天|0x1000000|100\n化若偃草|0x1000000|100\n化痰止咳|0x0008|0\n化铁炉|0x100000|1053\n化外之民|0x0000|100\n化为灰烬|0x800000|32253\n化为泡影|0x1000000|46203\n化为乌有|0x1000000|28022\n化纤布|0x100000|410\n化纤厂|0x100000|896\n化纤面料|0x100000|423\n化险为夷|0x1000000|29638\n化枭为鸠|0x1000000|100\n化性起伪|0x1000000|1334\n化学变化|0x100000|935\n化学材料|0x100000|403\n化学成分|0x100000|532\n化学当量|0x800000|1537\n化学堵水|0x0008|0\n化学发光分析|0x0008|0\n化学反应|0x100000|17175\n化学反应式|0x100000|1197\n化学反应性|0x100000|0\n化学方程|0x100000|997\n化学方程式|0x100000|1003\n化学防治|0x0008|0\n化学肥料|0x800000|972\n化学分析|0x100000|41025\n化学感觉|0x0008|0\n化学感受器|0x0008|0\n化学工程|0x0008|813\n化学工业|0x800000|19734\n化学工业部|0x0000|384\n化学合成|0x100000|923\n化学剂|0x100000|1066\n化学家|0x100000|880\n化学建材|0x100000|447\n化学键|0x100000|1050\n化学奖|0x100000|428\n化学降解|0x0008|0\n化学教案|0x100000|375\n化学课|0x100000|0\n化学课件|0x100000|430\n化学能|0x100000|54288\n化学农药|0x100000|434\n化学抛光|0x0008|0\n化学品|0x100000|627\n化学平衡|0x100000|1025\n化学清蜡|0x0008|0\n化学式|0x100000|983\n化学势|0x0008|0\n化学试剂|0x100000|507\n化学试题|0x100000|459\n化学题|0x100000|395\n化学脱盐|0x0008|0\n化学武器|0x800000|14466\n化学物质|0x0000|564\n化学系|0x100000|854\n化学纤维|0x800000|41711\n化学性|0x100000|946\n化学性质|0x100000|906\n化学研究所|0x100000|462\n化学药品|0x100000|859\n化学诱变剂|0x0008|0\n化学元素|0x100000|45300\n化学原料|0x100000|477\n化学战|0x100000|1189\n化学战剂|0x100000|0\n化学助剂|0x100000|392\n化验单|0x100000|889\n化验室|0x100000|32998\n化验员|0x100000|43899\n化油器|0x100000|880\n化雨春风|0x100000|1412\n化整为零|0x1000000|30927\n化州市|0x0040|1574\n化妆袋|0x100000|391\n化妆品|0x100000|8748\n化妆品包装|0x100000|412\n化妆品广告|0x100000|446\n化妆品品牌|0x100000|450\n化妆品市场|0x100000|452\n化妆品有限公司|0x100000|527\n化妆品原料|0x100000|396\n化妆师|0x100000|749\n化妆室|0x100000|1017\n化妆水|0x0008|1275\n化妆台|0x0000|424\n化妆箱|0x0008|1400\n化装师|0x0008|1009\n划不来|0x40000000|38481\n划得来|0x40000000|42923\n划地为牢|0x1000000|1069\n划时代|0x20000000|14959\n划一不二|0x1400000|0\n划粥割齑|0x0000|100\n画饼充饥|0x1000000|46204\n画册设计|0x100000|480\n画等号|0x0000|44702\n画荻和丸|0x0000|100\n画荻教子|0x800000|100\n画荻丸熊|0x0000|100\n画地成牢|0x0000|100\n画地成图|0x0000|100\n画地而趋|0x800000|100\n画地刻木|0x800000|100\n画地为牢|0x1000000|44423\n画地为狱|0x0000|100\n画地作狱|0x0000|100\n画栋雕梁|0x800000|1151\n画栋飞甍|0x0000|100\n画法几何|0x0008|0\n画符念咒|0x0000|100\n画虎不成|0x0000|100\n画虎不成反类狗|0x0000|100\n画虎不成反类犬|0x800000|1071\n画虎成狗|0x0000|100\n画虎画皮难画骨|0x0008|100\n画虎刻鹄|0x0000|100\n画虎类狗|0x1000000|1359\n画虎类犬|0x1000000|1137\n画疆墨守|0x0000|100\n画龙不成反为狗|0x0000|100\n画龙点睛|0x1000000|32516\n画龙刻鹄|0x0000|100\n画卵雕薪|0x0000|100\n画眉举案|0x0000|100\n画眉鸟|0x0000|444\n画面处理器|0x100000|372\n画圈儿|0x0000|40577\n画沙聚米|0x0000|100\n画沙印泥|0x0000|100\n画蛇添足|0x1000000|37363\n画蛇著足|0x0000|100\n画十字|0x401000|0\n画水镂冰|0x0000|100\n画图板|0x0000|384\n画土分疆|0x0000|100\n画外音|0x100000|34321\n画野分疆|0x0000|100\n画一之法|0x400000|100\n画意诗情|0x0000|100\n画蚓涂鸦|0x0000|100\n画影图形|0x100000|1266\n画脂镂冰|0x800000|1337\n画中画|0x100000|900\n画中有诗|0x800000|1117\n话把儿|0x100000|20237\n话不投机|0x1000000|885\n话不投机半句多|0x0008|1004\n话不相投|0x1000000|100\n话不虚传|0x1000000|100\n话茬儿|0x100000|31167\n话长说短|0x1000000|100\n话费单|0x100000|1139\n话费量|0x100000|0\n话锋一转|0x400000|873\n话家常|0x0000|48011\n话剧表演|0x0008|2\n话剧团|0x100000|962\n话口儿|0x100000|0\n话里藏阄|0x0000|100\n话里带刺|0x800000|1233\n话里有刺|0x0000|100\n话里有话|0x800000|35513\n话篓子|0x100000|1220\n话题一转|0x400000|2\n话外音|0x0000|52748\n话务班|0x100000|1534\n话务量|0x100000|1048\n话务员|0x100000|38891\n话匣子|0x100000|23022\n话言话语|0x800000|100\n话语权|0x0000|37900\n话中有话|0x800000|984\n桦川县|0x0040|1059\n桦甸市|0x0040|1653\n桦南县|0x0040|1043\n怀安县|0x0040|1041\n怀宝迷邦|0x1000000|1536\n怀璧其罪|0x800000|1048\n怀才抱器|0x1000000|100\n怀才不遇|0x1000000|38691\n怀材抱器|0x1000000|100\n怀道迷邦|0x1000000|100\n怀敌附远|0x800000|100\n怀俄明|0x0040|1603\n怀俄明州|0x0040|1680\n怀觚握椠|0x1000000|100\n怀鬼胎|0x0000|52749\n怀恨在心|0x800000|874\n怀化市|0x0040|1379\n怀黄佩紫|0x0000|100\n怀黄握白|0x1000000|100\n怀集县|0x0040|1590\n怀金垂紫|0x1000000|100\n怀金拖紫|0x1000000|100\n怀瑾握瑜|0x1000000|1227\n怀来县|0x0040|1597\n怀宁县|0x0040|1502\n怀铅提椠|0x1000000|100\n怀铅握椠|0x1000000|100\n怀仁堂|0x0040|1074\n怀仁县|0x0040|1046\n怀柔区|0x0040|1357\n怀柔天下|0x0000|100\n怀山襄陵|0x1000000|1322\n怀特海德|0x0080|0\n怀土之情|0x0000|100\n怀疑论|0x100000|1071\n怀疑论者|0x100000|1049\n怀银纡紫|0x1000000|100\n怀冤抱屈|0x0000|100\n怀远县|0x0040|1526\n怀真抱素|0x0000|100\n怀质抱真|0x0000|100\n怀珠抱玉|0x1000000|100\n怀珠韫玉|0x1000000|100\n怀着鬼胎|0x800000|1248\n徊肠伤气|0x1000000|100\n淮安市|0x0040|1210\n淮北市|0x0040|1288\n淮滨县|0x0040|1632\n淮海战役|0x0008|1515\n淮橘为枳|0x1000000|100\n淮南鸡犬|0x100000|100\n淮南市|0x0040|1256\n淮南子|0x0008|1517\n淮王鸡狗|0x1000000|100\n淮阳县|0x0040|1549\n槐南一梦|0x1400000|0\n踝关节|0x100000|463\n踝子骨|0x100000|55701\n坏点子|0x0000|53769\n坏东西|0x100000|30707\n坏法乱纪|0x1000000|100\n坏分子|0x100000|35665\n坏名声|0x0000|402\n坏脾气|0x40000000|498\n坏人坏事|0x800000|781\n坏人心术|0x0000|100\n坏裳为裤|0x0000|100\n坏心眼|0x0000|454\n坏心眼儿|0x0000|44424\n坏血病|0x100000|47374\n坏植散群|0x1000000|100\n坏主意|0x100000|954\n欢迸乱跳|0x1000000|100\n欢蹦乱跳|0x1000000|36472\n欢忭鼓舞|0x1000000|100\n欢度国庆|0x100000|1012\n欢歌笑语|0x800000|31294\n欢呼鼓舞|0x1000000|100\n欢呼雀跃|0x800000|770\n欢呼声|0x100000|766\n欢欢乐乐|0x0100|1081\n欢欢喜喜|0x0100|840\n欢聚一堂|0xc00000|13857\n欢乐颂|0x100000|950\n欢眉喜眼|0x800000|1270\n欢若平生|0x0000|100\n欢声雷动|0x1000000|39928\n欢声笑语|0x800000|19026\n欢送会|0x100000|924\n欢天喜地|0x1000000|21805\n欢喜若狂|0x0000|100\n欢喜冤家|0x1000000|833\n欢笑声|0x100000|862\n欢忻鼓舞|0x1000000|0\n欢欣鼓舞|0x1000000|17379\n欢欣若狂|0x800000|100\n欢迎词|0x100000|904\n欢迎光临|0x100000|468\n欢迎会|0x100000|1001\n欢迎惠顾|0x100000|849\n还淳反古|0x1000000|100\n还淳反朴|0x1000000|100\n还淳反素|0x1000000|100\n还淳返朴|0x1000000|100\n还醇返朴|0x1000000|100\n还过得去|0x0000|481\n还没有|0x0000|937\n还年却老|0x0000|100\n还年卻老|0x1000000|100\n还年驻色|0x1000000|100\n还朴反古|0x1000000|100\n还我河山|0x800000|1041\n还乡团|0x100000|36815\n还乡昼锦|0x1000000|100\n还元返本|0x1000000|100\n还原法|0x100000|1107\n还原反本|0x1000000|100\n还原剂|0x0008|1039\n还原精灵|0x0000|530\n还原酶|0x0008|0\n还原染料|0x0008|965\n还治其人之身|0x0008|966\n还珠返璧|0x1000000|100\n还珠格格|0x0080|1326\n还珠合浦|0x0000|100\n还珠买椟|0x1000000|100\n环保部|0x100000|1153\n环保局|0x100000|734\n环保署|0x100000|1006\n环丙沙星|0x0008|1662\n环丁砜|0x0008|1291\n环堵萧然|0x1000000|1305\n环肥燕瘦|0x800000|1028\n环顾四周|0x400000|5\n环核苷酸磷酸二酯酶|0x400008|0\n环糊精|0x0008|1137\n环化酶|0x0008|0\n环环相扣|0x800000|25630\n环己二胺四乙酸|0x400000|0\n环己基|0x0008|0\n环己酮|0x0008|1057\n环己烷|0x0008|1082\n环江毛南族自治县|0x0040|1637\n环节动物|0x100000|1199\n环节动物门|0x0040|0\n环境保护|0x100000|595\n环境背景值|0x0008|1350\n环境变量|0x100000|532\n环境标准|0x0008|724\n环境参数|0x0000|495\n环境地理学|0x0008|0\n环境地球化学|0x0008|0\n环境法|0x100000|438\n环境工程|0x100000|551\n环境管理|0x0008|736\n环境规划|0x0008|891\n环境监测|0x0008|790\n环境经济|0x0008|1\n环境景观|0x100000|429\n环境模拟|0x0008|5\n环境容量|0x0008|5\n环境设备|0x100000|412\n环境设计|0x0008|809\n环境卫生|0x0008|756\n环境温度|0x0000|547\n环境污染|0x100000|686\n环境系统|0x0008|406\n环境效应|0x0008|1\n环境心理学|0x0008|0\n环境学|0x100000|990\n环境遥感|0x0008|0\n环境要素|0x100000|1088\n环境艺术|0x100000|783\n环境艺术设计|0x100000|453\n环境影响评价|0x0008|14\n环境优美|0x100000|702\n环境友好|0x100000|512\n环境噪声|0x0008|1\n环境质量|0x0008|800\n环境质量评价|0x0008|0\n环境自净|0x0008|0\n环流器|0x100000|0\n环球军事|0x100000|368\n环球时报|0x100000|757\n环球网络|0x100000|406\n环球小姐|0x100000|818\n环球音乐|0x100000|473\n环绕声|0x100000|478\n环绕速度|0x100000|759\n环丝氨酸|0x100000|1391\n环烷烃|0x0008|0\n环卫工人|0x0000|489\n环卫设备|0x100000|369\n环行器|0x0008|1247\n环行线|0x100000|1375\n环形解调器|0x0008|0\n环形山|0x100000|35991\n环氧化物|0x100000|1326\n环氧树脂|0x100000|772\n环氧树脂地板|0x100000|394\n环氧乙烷|0x100000|1006\n环已二胺四乙酸|0x400000|0\n桓仁满族自治县|0x0040|1726\n桓台县|0x0040|1544\n缓兵之计|0x1000000|40154\n缓不济急|0x1000000|1246\n缓步代车|0x0000|100\n缓冲存储器|0x0008|382\n缓冲放大器|0x0008|0\n缓冲剂|0x0008|1146\n缓冲期|0x4000|997\n缓冲器|0x100000|51832\n缓冲区|0x100000|793\n缓冲溶液|0x0008|0\n缓冲液|0x0008|1075\n缓急轻重|0x800000|1309\n缓急相济|0x0000|100\n缓凝剂|0x0008|0\n幻灯机|0x100000|52750\n幻灯片|0x100000|34636\n幻觉性|0x100000|0\n幻想曲|0x100000|44705\n宦海风波|0x0000|100\n宦海浮沉|0x0000|100\n换斗移星|0x0000|100\n换发球|0x0000|55703\n换个儿|0x1000|13714\n换骨夺胎|0x1000000|100\n换骨脱胎|0x0000|100\n换届选举|0x100000|828\n换句话说|0x10000000|15073\n换脑筋|0x1000|46773\n换气扇|0x100000|54805\n换热器|0x100000|807\n换日偷天|0x0000|100\n换手率|0x0008|1434\n换算表|0x100000|1015\n换汤不换药|0x0008|38693\n换向器|0x100000|997\n换言之|0x10000000|17778\n换羽移宫|0x0000|100\n涣尔冰开|0x1000000|100\n涣发大号|0x1000000|100\n涣汗大号|0x1000000|100\n涣然冰释|0x1000000|51833\n涣然一新|0x400000|0\n涣如冰释|0x1000000|100\n涣若冰释|0x1000000|100\n涣若冰消|0x1000000|100\n患从口入|0x1000000|0\n患得患失|0x1000000|28101\n患难夫妻|0x0000|100\n患难与共|0x1000000|26965\n患难之交|0x800000|1016\n患至呼天|0x1000000|100\n焕然如新|0x1000000|100\n焕然一新|0x1400000|14100\n擐甲挥戈|0x0000|100\n擐甲执兵|0x0000|100\n荒诞不经|0x800000|35992\n荒诞派|0x100000|1105\n荒诞无稽|0x800000|50212\n荒郊野外|0x1000000|854\n荒谬绝伦|0x800000|42712\n荒漠甘泉|0x100000|1046\n荒漠化|0x1000|8571\n荒木村重|0x0080|0\n荒山野岭|0x800000|914\n荒时暴月|0x1000000|1536\n荒唐无稽|0x0000|100\n荒无人烟|0x1000000|33270\n荒淫无耻|0x800000|1115\n荒淫无道|0x0000|100\n荒淫无度|0x800000|1032\n慌不择路|0x1000000|911\n慌成一团|0x400000|0\n慌慌忙忙|0x0100|1050\n慌慌张张|0x0100|805\n慌里慌张|0x1000000|39929\n慌神儿|0x1000|0\n慌手慌脚|0x1000000|54806\n慌手忙脚|0x1000000|100\n慌作一团|0x400000|2\n慌做一团|0x400000|100\n皇皇不可终日|0x0000|100\n皇家礼炮|0x100000|373\n皇路店|0x0040|0\n皇亲国戚|0x100000|35216\n皇太后|0x100000|864\n皇太子|0x100000|825\n皇天不负苦心人|0x0000|100\n皇天后土|0x1000000|43903\n黄板纸|0x0008|1173\n黄包车|0x100000|20769\n黄骠马|0x100000|1216\n黄表纸|0x100000|46775\n黄灿灿|0x0100|33271\n黄巢起义|0x0008|1033\n黄尘清水|0x1000000|100\n黄澄澄|0x0100|30058\n黄大仙|0x0000|509\n黄大仙区|0x0040|1172\n黄单胞菌属|0x0008|0\n黄道吉日|0x1000000|40379\n黄帝陵|0x0040|1541\n黄帝内经|0x0008|1402\n黄豆芽|0x100000|53266\n黄赌毒|0x0008|1010\n黄耳传书|0x1000|100\n黄二毛子|0x400000|0\n黄发垂髫|0x1000000|100\n黄发儿齿|0x100000|100\n黄发骀背|0x1000000|100\n黄发台背|0x1000000|100\n黄发鲐背|0x0000|100\n黄泛区|0x0000|49464\n黄风雾罩|0x0000|100\n黄干黑廋|0x0000|100\n黄冈市|0x0040|1387\n黄公酒垆|0x1000000|100\n黄瓜花叶病毒|0x0008|0\n黄冠草服|0x1000000|100\n黄冠草履|0x1000000|100\n黄冠野服|0x1000000|100\n黄果树|0x0008|1342\n黄果树瀑布|0x100000|913\n黄河大合唱|0x100000|1053\n黄河口|0x100000|992\n黄河流域|0x0040|1320\n黄河路|0x100000|488\n黄河水清|0x0000|100\n黄褐斑|0x100000|49112\n黄褐色|0x100000|915\n黄鹤楼|0x0040|805\n黄花菜|0x0008|34790\n黄花岗|0x0040|1536\n黄花岗七|0x400000|0\n黄花岗七十二烈|0x400000|0\n黄花闺女|0x100000|36474\n黄花女儿|0x100000|100\n黄花晚节|0x1000000|1375\n黄花鱼|0x100000|39714\n黄骅市|0x0040|1472\n黄淮平原|0x0040|1103\n黄昏恋|0x100000|55872\n黄齑白饭|0x1000000|100\n黄齑淡饭|0x1000000|100\n黄教授|0x100000|440\n黄巾起义|0x0008|986\n黄金版|0x100000|575\n黄金宝|0x100000|451\n黄金搭档|0x100000|501\n黄金地带|0x0000|50994\n黄金电影|0x100000|447\n黄金分割|0x100000|881\n黄金海岸|0x100000|823\n黄金槐|0x100000|487\n黄金会员|0x100000|575\n黄金价格|0x0000|510\n黄金交易所|0x100000|451\n黄金矿工|0x100000|534\n黄金梨|0x100000|384\n黄金荣|0x100000|404\n黄金时代|0x100000|22628\n黄金时间|0x100000|26894\n黄金世界|0x1000000|1226\n黄金市场|0x100000|477\n黄金首饰|0x100000|969\n黄金书屋|0x100000|807\n黄金树|0x100000|1145\n黄金水|0x0008|0\n黄金屋|0x100000|469\n黄金周|0x100000|9413\n黄金珠宝|0x100000|447\n黄金铸象|0x100000|100\n黄金组合|0x0000|450\n黄卷青灯|0x1000000|1237\n黄卷幼妇|0x0000|100\n黄口孺子|0x1000000|1318\n黄口小儿|0x1000000|49820\n黄老学派|0x0008|0\n黄连木|0x100000|1082\n黄连素|0x100000|49821\n黄梁美梦|0x800000|1156\n黄梁梦|0x100000|1091\n黄梁一梦|0xc00000|0\n黄粱美梦|0x800000|1087\n黄粱梦|0x100000|49113\n黄粱一梦|0x1400000|0\n黄陵县|0x0040|1645\n黄龙痛饮|0x1000000|100\n黄龙县|0x0040|1110\n黄垆之痛|0x100000|100\n黄绿色|0x100000|878\n黄麻起义|0x100000|1197\n黄麻紫泥|0x1000000|100\n黄麻紫书|0x1000000|100\n黄毛丫头|0x800000|41257\n黄茅白苇|0x1000000|100\n黄梅季|0x100000|1375\n黄梅天|0x4000|1040\n黄梅戏|0x100000|21672\n黄梅县|0x0040|1590\n黄梅雨|0x100000|49114\n黄绵袄子|0x100000|100\n黄牌警告|0x800000|915\n黄袍加身|0x1000000|997\n黄袍加体|0x1000000|0\n黄皮刮廋|0x0000|100\n黄皮寡廋|0x0000|100\n黄皮书|0x100000|51834\n黄嘌呤|0x0008|0\n黄平县|0x0040|1060\n黄埔港|0x0040|1101\n黄埔军官学校|0x0020|1149\n黄埔军校|0x0020|1424\n黄埔同学会|0x0020|1124\n黄浦江|0x0040|1282\n黄浦区|0x0040|1226\n黄曲霉|0x0008|43191\n黄曲霉菌|0x100000|1252\n黄泉路|0x0040|483\n黄泉之下|0x0000|100\n黄雀伺蝉|0x1000000|100\n黄雀衔环|0x1000000|100\n黄雀在后|0x800000|852\n黄热病|0x100000|45898\n黄人捧日|0x1000000|100\n黄人守日|0x1000000|100\n黄色电影|0x0000|652\n黄色工会|0x0008|1423\n黄色人种|0x0008|0\n黄色书刊|0x0000|397\n黄色素|0x100000|1072\n黄色图片|0x100000|468\n黄色文学|0x800000|1126\n黄色小说|0x0000|478\n黄色笑话|0x0000|489\n黄色炸药|0x4000000|50597\n黄山市|0x0040|1194\n黄石河|0x0040|1416\n黄石市|0x0040|1336\n黄鼠狼|0x100000|26751\n黄素单核苷酸|0x0008|0\n黄台之瓜|0x100000|100\n黄汤淡水|0x1000000|100\n黄汤辣水|0x1000000|100\n黄体化|0x100000|0\n黄体酮|0x0008|1046\n黄天焦日|0x0000|100\n黄铁矿|0x0008|1103\n黄庭坚|0x0080|1454\n黄铜矿|0x100000|1257\n黄童白颠|0x1000000|100\n黄童白叟|0x1000000|1312\n黄童皓首|0x1000000|100\n黄土地|0x100000|881\n黄土地貌|0x0008|0\n黄土高原|0x0040|1373\n黄土梁|0x0040|1316\n黄萎病|0x100000|52274\n黄锈病|0x0008|1317\n黄杨厄闰|0x1000000|100\n黄药子|0x0008|0\n黄油枪|0x100000|367\n黄玉郎|0x100000|410\n黄樟素|0x0008|1261\n黄钟长弃|0x1000000|100\n黄钟大吕|0x1000000|1041\n黄钟毁弃|0x1000000|1221\n黄钟瓦釜|0x1000000|100\n黄锺毁弃|0x1000000|100\n黄锺瓦缶|0x1000000|100\n黄种人|0x100000|39931\n惶惶不安|0x1000000|907\n惶惶不可终日|0x0008|908\n惶惶然|0x0100|35668\n惶恐不安|0x800000|881\n湟源县|0x0040|1648\n湟中县|0x0040|1584\n潢池盗弄|0x1000000|100\n潢池弄兵|0x1000000|100\n潢川县|0x0040|1595\n磺胺脒|0x0008|1260\n磺胺噻唑|0x0008|1320\n恍恍荡荡|0x1000000|100\n恍恍忽忽|0x0100|1010\n恍恍惚惚|0x0100|797\n恍然大悟|0x1000000|14101\n恍然若失|0x0000|100\n恍如隔世|0x1000000|41471\n恍如梦境|0x800000|100\n恍如梦寐|0x1000000|100\n晃晃荡荡|0x0100|821\n晃晃悠悠|0x0100|768\n灰白色|0x100000|833\n灰不溜丢|0x0100|0\n灰不溜秋|0x0100|47701\n灰沉沉|0x0100|50218\n灰飞烟灭|0x1000000|37007\n灰鸽子|0x100000|522\n灰姑娘|0x100000|654\n灰褐色|0x100000|969\n灰化土|0x0008|1426\n灰黄霉素|0x0008|1189\n灰黄色|0x100000|1021\n灰口铁|0x0008|1307\n灰溜溜|0x0100|28023\n灰绿色|0x100000|997\n灰霉素|0x100000|1533\n灰蒙蒙|0x0100|22213\n灰锰氧|0x0008|1383\n灰躯糜骨|0x1000000|100\n灰容土貌|0x1000000|100\n灰色收入|0x100000|47080\n灰身粉骨|0x1000000|100\n灰身灭智|0x1000000|1365\n灰身泯智|0x1000000|100\n灰头土脸|0x1000000|46776\n灰头土面|0x1000000|1206\n灰心短气|0x1000000|100\n灰心槁形|0x1000000|100\n灰心丧气|0x1000000|33399\n灰心丧意|0x1000000|100\n灰烟瘴气|0x1000000|100\n灰指甲|0x100000|55277\n灰铸铁|0x100000|1047\n诙谐曲|0x0008|0\n恢复期|0x4000|918\n恢复时间|0x0008|3\n恢复外交关系|0x0008|14\n恢复系数|0x0008|0\n恢诡谲怪|0x1000000|100\n恢恑憰怪|0x1000000|100\n恢宏大度|0x0000|100\n恢恢有余|0x800000|100\n恢廓大度|0x0000|100\n挥斥八极|0x400000|100\n挥发物|0x100000|1070\n挥发性|0x100000|881\n挥发油|0x100000|54290\n挥戈反日|0x1000000|100\n挥戈返日|0x0000|100\n挥戈回日|0x1000000|100\n挥戈退日|0x1000000|100\n挥汗成雨|0x1000000|1283\n挥汗如雨|0x800000|34056\n挥翰临池|0x0008|1278\n挥毫落纸|0x800000|100\n挥挥手|0x1000|714\n挥霍无度|0x800000|988\n挥霍一空|0x400008|2\n挥剑成河|0x0008|1270\n挥金如土|0x1000000|37712\n挥沐吐餐|0x1000000|100\n挥日阳戈|0x1000000|100\n挥洒自如|0x800000|37549\n挥之不去|0x800000|661\n挥之即去|0x800000|901\n晖光日新|0x1000000|100\n珲春市|0x0040|1630\n辉光日新|0x1000000|100\n辉煌成就|0x100000|906\n辉煌金碧|0x1000000|100\n辉绿岩|0x100000|1099\n辉南县|0x0040|1066\n辉锑矿|0x100000|1317\n辉铜矿|0x100000|1542\n辉县市|0x0040|1395\n辉银矿|0x100000|1536\n麾之即去|0x1000000|100\n徽章厂|0x100000|0\n隳胆抽肠|0x1000000|100\n隳肝尝胆|0x1000000|100\n隳肝沥胆|0x1000000|100\n隳节败名|0x0000|100\n回报率|0x100000|754\n回不来|0x40000000|532\n回肠百转|0x1000000|100\n回肠寸断|0x0000|100\n回肠荡气|0x1000000|38485\n回肠九转|0x1400000|0\n回肠伤气|0x1000000|100\n回潮率|0x0008|0\n回车键|0x0008|55873\n回嗔作喜|0x1000000|1221\n回筹转策|0x1000000|100\n回船转舵|0x1000000|100\n回春妙手|0x1000000|1282\n回春之术|0x0000|100\n回答说|0x0000|435\n回答者|0x100000|865\n回复突变|0x0008|0\n回干就湿|0x0000|100\n回顾过去|0x0000|466\n回顾展|0x100000|32634\n回光反照|0x1000000|1060\n回光返照|0x1000000|36816\n回归年|0x100000|1119\n回归热|0x100000|50995\n回归线|0x100000|43904\n回归自然|0x0000|533\n回锅肉|0x0008|51419\n回过头来|0x0000|619\n回黄转绿|0x1000000|100\n回教徒|0x100000|43192\n回老家|0x1000|690\n回马枪|0x100000|38276\n回眸一笑|0x400000|100\n回娘家|0x0000|20122\n回山倒海|0x1000000|100\n回山转海|0x1000000|100\n回生起死|0x1000000|100\n回收公司|0x100000|520\n回收率|0x100000|941\n回收站|0x100000|696\n回天倒日|0x1000000|100\n回天乏术|0x800000|1001\n回天挽日|0x1000000|100\n回天无力|0x800000|1039\n回天运斗|0x1000000|100\n回天之力|0x800000|1063\n回天转地|0x1000000|100\n回头见|0x800000|990\n回头看|0x0000|654\n回头客|0x100000|36150\n回头路|0x100000|46208\n回头率|0x100000|53267\n回头是岸|0x1000000|47377\n回头一看|0x400000|588\n回味无穷|0x1000000|29325\n回文织锦|0x1000000|100\n回邪入正|0x1000000|100\n回心转意|0x1000000|26531\n回形针|0x0008|984\n回旋加速器|0x0008|0\n回旋酶|0x0008|0\n回旋曲|0x0008|1022\n回旋曲式|0x0008|0\n回忆录|0x100000|15125\n回忆起|0x0000|620\n回音壁|0x100000|38486\n回转半径|0x0008|0\n回转仪|0x100000|1361\n回族自治区|0x100000|521\n茴香豆|0x100000|49466\n茴香霉素|0x0008|0\n茴香油|0x100000|1172\n蛔虫病|0x0008|1095\n悔不当初|0x1000000|52279\n悔不该|0x0000|37550\n悔读南华|0x1000000|1322\n悔过书|0x100000|44143\n悔过自新|0x1000000|44993\n悔过自责|0x0000|100\n悔恨交加|0x0000|100\n悔其少作|0x1000000|100\n悔之不及|0x1000000|1224\n悔之晚矣|0x1000000|947\n悔之无及|0x1000000|1265\n悔之已晚|0x0008|1161\n悔罪自新|0x1000000|100\n汇报会|0x100000|907\n汇编程序|0x0008|983\n汇编语言|0x0008|749\n汇丰银行|0x0020|1342\n汇聚一堂|0xc00000|5\n汇款单|0x100000|30396\n汇款地址|0x0000|500\n汇款人|0x0000|441\n汇流处|0x8000|1123\n汇率变动|0x100000|466\n汇率问题|0x100000|462\n汇率制|0x100000|424\n汇水区|0x0008|0\n汇总表|0x100000|530\n会不会|0x0000|818\n会昌县|0x0040|1042\n会道门|0x100000|50219\n会道能说|0x0000|100\n会东县|0x0040|1161\n会逢其适|0x0000|100\n会合处|0x8000|1231\n会合点|0x100000|1227\n会话层|0x0008|376\n会计报表|0x0008|587\n会计报告|0x100000|507\n会计代理|0x100000|372\n会计法|0x100000|497\n会计工作|0x0008|5\n会计公司|0x100000|421\n会计核算|0x0008|577\n会计科目|0x100000|489\n会计论文|0x100000|428\n会计年度|0x0000|504\n会计凭证|0x0008|0\n会计人员|0x0008|547\n会计师|0x100000|10813\n会计师事务|0x100000|382\n会计师事务所|0x100000|635\n会计事务所|0x100000|466\n会计室|0x100000|1053\n会计系|0x100000|969\n会计信息|0x100000|554\n会计学|0x100000|755\n会计学院|0x100000|482\n会计员|0x100000|1061\n会计证|0x100000|487\n会计职称|0x100000|522\n会计制度|0x0008|598\n会计专业|0x100000|558\n会计专业技术|0x100000|430\n会计准则|0x100000|593\n会家不忙|0x1000000|100\n会客室|0x100000|22878\n会客厅|0x100000|811\n会理县|0x0040|1120\n会宁县|0x0040|1654\n会少离多|0x1000000|100\n会同县|0x0040|1613\n会心一笑|0x400000|3\n会厌软骨|0x800000|1302\n会议电话|0x100000|417\n会议记录|0x100000|865\n会议纪要|0x0008|847\n会议精神|0x0000|620\n会议礼品|0x100000|407\n会议录|0x0008|0\n会议设备|0x100000|416\n会议室|0x100000|643\n会议台|0x100000|421\n会议厅|0x100000|804\n会议系统|0x100000|583\n会议议程|0x100000|472\n会议展览|0x100000|513\n会议中心|0x100000|561\n会议主持人|0x100000|413\n会议桌|0x100000|839\n会议资料|0x0008|938\n会员版|0x100000|629\n会员代表大会|0x100000|506\n会员单位|0x100000|590\n会员国|0x100000|18584\n会员号|0x100000|0\n会员价|0x100000|843\n会员俱乐部|0x100000|463\n会员卡|0x100000|616\n会员名|0x100000|559\n会员名单|0x100000|459\n会员团|0x100000|0\n会员帐号|0x100000|485\n会员证|0x100000|43427\n会员制|0x100000|544\n会员中心|0x100000|584\n会员资料|0x100000|593\n会泽县|0x0040|1648\n会展中心|0x100000|623\n会者不忙|0x1000000|100\n讳兵畏刑|0x1000000|100\n讳恶不悛|0x1000000|100\n讳疾忌医|0x1000000|38694\n讳莫高深|0x0000|100\n讳莫如深|0x1000000|31405\n讳树数马|0x1000000|100\n绘画板|0x0008|0\n绘声绘色|0x1000000|26682\n绘声绘影|0x800000|1033\n绘图板|0x100000|1015\n绘图笔|0x100000|1145\n绘图机|0x100000|1004\n绘图室|0x100000|1269\n绘图仪|0x100000|798\n绘图纸|0x0008|986\n绘影绘声|0x1000000|1296\n荟萃一堂|0x400000|100\n诲盗诲淫|0x800000|100\n诲尔谆谆|0x1000000|0\n诲奸导淫|0x1000000|100\n诲人不倦|0x1000000|37713\n诲人不惓|0x1000000|100\n诲淫诲盗|0x1000000|1171\n贿货公行|0x1000000|100\n贿赂并行|0x0000|100\n贿赂公行|0x1000000|1266\n贿赂罪|0x100000|1034\n彗泛画涂|0x0000|100\n彗汜画涂|0x800000|100\n晦迹韬光|0x0000|100\n晦盲否塞|0x0000|100\n秽德垢行|0x0000|100\n秽言污语|0x0000|100\n喙长三尺|0x1400000|0\n惠安县|0x0040|1398\n惠赐一票|0x400000|0\n惠东县|0x0040|1469\n惠而不费|0x1000000|1138\n惠风和畅|0x800000|1083\n惠更斯|0x0008|1093\n惠来县|0x0040|1053\n惠灵顿|0x0040|32891\n惠民县|0x0040|1573\n惠普打印机|0x100000|415\n惠然肯来|0x1000000|100\n惠然之顾|0x0000|100\n惠水县|0x0040|1078\n惠州市|0x0040|1168\n惠子知我|0x1000000|100\n毁不灭性|0x1000000|100\n毁不危身|0x1000000|100\n毁车杀马|0x1000000|100\n毁方投圆|0x1000000|100\n毁方瓦合|0x1000000|100\n毁风败俗|0x0000|100\n毁冠裂裳|0x0000|100\n毁家纾国|0x1000000|100\n毁家纾难|0x1000000|49467\n毁灭性|0x100000|19955\n毁瓦画墁|0x0000|100\n毁形灭性|0x0000|100\n毁于一旦|0x1400000|31995\n毁于蚁穴|0x800000|1146\n毁誉不一|0x400000|100\n毁誉参半|0x800000|52280\n毁钟为铎|0x1000000|100\n毁舟为杕|0x0000|100\n毁宗夷族|0x0000|100\n慧心妙舌|0x0000|100\n慧心巧思|0x0000|100\n慧眼独具|0x800000|897\n慧眼识英雄|0x0000|404\n慧业才人|0x1000000|100\n慧业文人|0x1000000|100\n蕙心兰质|0x0000|100\n蕙心纨质|0x800000|100\n蕙质兰心|0x1000000|1024\n昏暗暗|0x100000|1288\n昏沉沉|0x100000|894\n昏定晨省|0x1000000|1538\n昏过去|0x0000|552\n昏昏沉沉|0x0100|722\n昏昏噩噩|0x1000000|958\n昏昏浩浩|0x1000000|100\n昏昏默默|0x1000000|100\n昏昏欲睡|0x1000000|30712\n昏镜重明|0x0000|100\n昏镜重磨|0x800000|100\n昏聩无能|0x0000|100\n昏迷不省|0x1000000|100\n昏迷不醒|0x1000000|807\n昏天暗地|0x1000000|870\n昏天黑地|0x1000000|809\n昏天熙地|0x0000|29529\n昏头搭脑|0x1000000|100\n昏头打脑|0x1000000|100\n昏头昏脑|0x1000000|40156\n昏头晕脑|0x1000000|100\n昏头转向|0x1000000|1039\n昏庸无道|0x0000|100\n荤笑话|0x100000|375\n婚礼庆典|0x100000|408\n婚前性行为|0x100000|494\n婚丧嫁娶|0x800000|991\n婚纱店|0x100000|454\n婚纱影楼|0x100000|487\n婚纱照|0x100000|585\n婚生子|0x100000|1255\n婚生子女|0x0000|48745\n婚外恋|0x100000|23930\n婚外情|0x100000|38894\n婚外孕|0x0000|55985\n婚姻登记|0x0008|543\n婚姻法|0x100000|9634\n婚姻关系|0x0000|530\n婚姻观|0x100000|413\n婚姻家庭|0x100000|742\n婚姻介绍所|0x0008|36818\n婚姻生活|0x100000|549\n婚姻制度|0x0008|0\n婚姻状况|0x100000|656\n浑沌一片|0x400000|1009\n浑浑沌沌|0x1000000|1078\n浑浑噩噩|0x1000000|34791\n浑金白玉|0x1000000|100\n浑金璞玉|0x1000000|1240\n浑抡吞枣|0x1000000|100\n浑沦吞枣|0x1000000|100\n浑球儿|0x100000|0\n浑然不知|0x800000|824\n浑然天成|0x1000000|803\n浑然无知|0x0000|100\n浑然一色|0x400000|1004\n浑然一体|0x1400000|23749\n浑然自成|0x1000000|100\n浑身解数|0x1000000|29530\n浑身上下|0x0000|18960\n浑身是胆|0x1000000|50997\n浑身是汗|0x0000|406\n浑水摸鱼|0x1000000|41474\n浑俗和光|0x1000000|1533\n浑天仪|0x100000|1097\n浑头浑脑|0x800000|1535\n浑源县|0x0040|1045\n魂不负体|0x1000000|100\n魂不附体|0x1000000|36649\n魂不赴体|0x1000000|100\n魂不守舍|0x1000000|38895\n魂不守宅|0x1000000|100\n魂不著体|0x1000000|100\n魂不着体|0x1000000|100\n魂惭色褫|0x1000000|100\n魂驰梦想|0x1000000|100\n魂颠梦倒|0x1000000|100\n魂斗罗|0x0008|1298\n魂飞胆颤|0x1000000|100\n魂飞胆裂|0x1000000|100\n魂飞胆落|0x1000000|100\n魂飞胆破|0x1000000|100\n魂飞胆丧|0x1000000|100\n魂飞胆战|0x1000000|100\n魂飞目断|0x1000000|100\n魂飞魄荡|0x1000000|100\n魂飞魄散|0x1000000|36151\n魂飞魄丧|0x1000000|100\n魂飞魄飏|0x1000000|100\n魂飞魄越|0x1000000|100\n魂飞神丧|0x1000000|100\n魂飞天外|0x800000|40579\n魂耗魄丧|0x1000000|100\n魂惊胆颤|0x1000000|100\n魂惊胆落|0x1000000|100\n魂惊魄落|0x1000000|100\n魂惊魄惕|0x1000000|100\n魂劳梦断|0x1000000|100\n魂飘魄散|0x1000000|100\n魂飘神荡|0x1000000|100\n魂牵梦绕|0x800000|820\n魂牵梦系|0x800000|1050\n魂牵梦萦|0x1000000|40802\n魂丧神夺|0x1000000|100\n魂慑色沮|0x0000|100\n魂慴色沮|0x1000000|100\n魂亡胆落|0x1000000|100\n魂亡魄失|0x0000|100\n魂消胆丧|0x1000000|100\n魂消魄夺|0x1000000|100\n魂消魄丧|0x1000000|100\n魂销肠断|0x1000000|100\n魂销目断|0x1000000|100\n魂摇魄乱|0x1000000|100\n混倍体|0x0008|0\n混沌不分|0x0000|100\n混纺纱|0x100000|421\n混合泵|0x0008|1162\n混合法|0x0008|0\n混合结构|0x0008|0\n混合经济|0x0008|0\n混合列车|0x0008|0\n混合面儿|0x0000|55705\n混合农业|0x0008|0\n混合气体|0x0008|0\n混合器|0x100000|907\n混合式|0x20000000|965\n混合态|0x0008|0\n混合物|0x100000|24568\n混合选择|0x0008|0\n混合液|0x100000|1007\n混合泳|0x0000|20166\n混混沌沌|0x1000000|875\n混混噩噩|0x1000000|932\n混混儿|0x100000|24504\n混混沄沄|0x1000000|100\n混交林|0x100000|43679\n混凝剂|0x100000|1086\n混凝土|0x100000|8271\n混凝土泵|0x100000|423\n混凝土搅拌机|0x100000|385\n混凝土结构|0x100000|520\n混频器|0x0008|1120\n混然天成|0x1000000|100\n混然一体|0x400000|0\n混日子|0x800000|30276\n混世魔王|0x1000000|50601\n混水捞鱼|0x1000000|100\n混水摸鱼|0x1000000|895\n混俗和光|0x1000000|1539\n混铁炉|0x0008|1283\n混同于一般群众|0x400000|0\n混为一谈|0x1400000|22935\n混为一体|0x400000|406\n混响时间|0x0008|0\n混响室|0x0008|0\n混淆不清|0x800000|833\n混淆黑白|0x1000000|1153\n混淆视听|0x800000|34945\n混淆是非|0x800000|1054\n混血儿|0x100000|40803\n混血美女|0x100000|483\n混血王子|0x100000|448\n混血种|0x100000|1178\n混应滥应|0x800000|100\n混作一谈|0x1400000|0\n豁出去|0x1000|24060\n豁达大度|0x1000000|1060\n豁口截舌|0x1000000|100\n豁免权|0x100000|963\n豁然大悟|0x1000000|1208\n豁然顿悟|0x1000000|100\n豁然贯通|0x1000000|1100\n豁然开朗|0x1000000|22828\n豁然开悟|0x1000000|1256\n豁然确斯|0x1000000|100\n豁然省悟|0x1000000|100\n豁人耳目|0x1000000|100\n活靶子|0x0000|49825\n活报剧|0x100000|49826\n活蹦活跳|0x1000000|100\n活蹦乱跳|0x800000|29327\n活剥生吞|0x1000000|100\n活到老|0x800000|782\n活地图|0x100000|50221\n活地狱|0x100000|54300\n活动场所|0x0000|539\n活动范围|0x0008|29\n活动房|0x0000|54301\n活动房屋|0x0008|2\n活动分子|0x800000|1155\n活动家|0x100000|19113\n活动空间|0x0000|497\n活动力|0x100000|972\n活动桥|0x100000|1538\n活动日|0x4000|980\n活动室|0x0000|16869\n活动项目|0x100000|897\n活动性|0x100000|943\n活动中心|0x100000|712\n活化分析|0x0008|0\n活化剂|0x100000|1057\n活化能|0x0008|0\n活化石|0x100000|28276\n活活泼泼|0x100000|1171\n活火山|0x100000|43428\n活见鬼|0x800000|42458\n活教材|0x0000|44425\n活劳动|0x100000|1174\n活雷锋|0x0000|36650\n活灵活现|0x1000000|26966\n活龙活现|0x1000000|1165\n活龙鲜健|0x1000000|100\n活命之恩|0x800000|940\n活泼可爱|0x0000|551\n活泼泼|0x0100|1022\n活菩萨|0x100000|43194\n活期存款|0x100000|1\n活钱儿|0x100000|42210\n活塞杆|0x0008|1058\n活塞环|0x100000|852\n活色生香|0x1000000|802\n活神活现|0x1000000|100\n活生生|0x0100|12467\n活受罪|0x1000|36306\n活树亭|0x100000|0\n活死人|0x100000|52757\n活体解剖|0x0008|14\n活天冤枉|0x1000000|100\n活脱脱|0x0100|824\n活鲜鲜|0x0100|1259\n活形活现|0x1000000|100\n活性部位|0x0008|0\n活性剂|0x100000|834\n活性染料|0x0008|1020\n活性炭|0x100000|29213\n活性碳|0x100000|876\n活性污泥|0x0008|0\n活性氧|0x100000|1014\n活性中心|0x0008|0\n活学活用|0x0000|26753\n活血化瘀|0x0008|902\n活血祛瘀|0x0008|0\n活阎王|0x100000|1177\n活眼活现|0x1000000|100\n活眼现报|0x1000000|100\n活页簿|0x0008|1273\n活页夹|0x0008|1081\n活字版|0x100000|1264\n活字典|0x100000|51422\n活字印刷|0x100000|1048\n火把节|0x4000|50998\n火柴厂|0x100000|392\n火柴盒|0x100000|849\n火车车次|0x100000|495\n火车票|0x100000|607\n火车票价|0x100000|534\n火车票价格|0x100000|440\n火车时刻|0x0000|467\n火车时刻表|0x0000|539\n火车头|0x4000000|15039\n火车站|0x100000|7813\n火成岩|0x0008|1103\n火电厂|0x100000|865\n火电站|0x100000|49119\n火耕流种|0x1000000|100\n火耕水耨|0x1000000|1407\n火耕水种|0x1000000|100\n火罐儿|0x0000|39934\n火光烛天|0x800000|1254\n火锅店|0x0008|779\n火海刀山|0x1000000|1280\n火红色|0x100000|880\n火狐狸|0x100000|940\n火花放电|0x0008|0\n火花机|0x100000|421\n火花塞|0x100000|49470\n火花室|0x0008|0\n火化场|0x0000|50999\n火浣布|0x100000|1280\n火急火燎|0x800000|51000\n火箭弹|0x100000|26895\n火箭队|0x100000|624\n火箭发动机|0x0008|1028\n火箭炮|0x100000|41259\n火箭式|0x100000|1\n火箭筒|0x100000|42927\n火尽灰冷|0x1000000|100\n火尽薪传|0x1000000|100\n火就燥|0x1000000|0\n火居道士|0x100000|1351\n火炬计划|0x0008|31997\n火炬松|0x100000|1274\n火筷子|0x100000|53273\n火辣辣|0x0100|18872\n火力点|0x100000|42460\n火力发电|0x800000|29956\n火力发电厂|0x100000|912\n火烈鸟|0x100000|930\n火龙黼黻|0x1000000|100\n火龙果|0x100000|455\n火龙王|0x100000|397\n火麻仁|0x0008|1139\n火冒三尺|0x1400000|0\n火冒三丈|0x1400000|30397\n火棉胶|0x100000|1335\n火灭烟消|0x0000|100\n火耨刀耕|0x1000000|100\n火奴鲁鲁|0x0040|1122\n火妻灰子|0x1000000|100\n火然泉达|0x1000000|100\n火热水深|0x1000000|100\n火伞高张|0x1000000|1309\n火山岛|0x0008|1045\n火山地震|0x100000|813\n火山灰|0x100000|28186\n火山口|0x8000|30607\n火山砾|0x0008|0\n火山汤海|0x1000000|100\n火山性|0x100000|0\n火山岩|0x100000|983\n火山作用|0x0008|0\n火上加油|0x800000|956\n火上浇油|0x1000000|33400\n火上弄冰|0x1000000|100\n火上添油|0x1000000|0\n火烧火燎|0x1000000|33126\n火烧眉毛|0x1000000|40158\n火烧山|0x0040|1111\n火烧云|0x100000|39716\n火石玻璃|0x0008|0\n火树琪花|0x1000000|100\n火树银花|0x1000000|36819\n火炭母|0x0008|0\n火头军|0x100000|49471\n火头上|0x100000|44426\n火腿肠|0x100000|494\n火腿三明|0x400000|0\n火腿三明治|0x400000|0\n火星人|0x100000|820\n火星塞|0x0008|0\n火星时代|0x100000|475\n火星子|0x0000|47380\n火眼金睛|0x100000|29531\n火焰杯|0x100000|517\n火焰喷射器|0x100000|52759\n火焰山|0x0040|861\n火药库|0x100000|49828\n火药枪|0x100000|1102\n火药味|0x100000|31169\n火影忍者|0x100000|619\n火灾保险|0x0008|0\n火灾事故|0x100000|511\n火葬场|0x100000|27372\n火中取栗|0x1000000|52760\n火烛小心|0x0000|100\n火烛银花|0x0000|100\n伙伴关系|0x100000|598\n伙食费|0x100000|848\n或多或少|0x800000|14754\n或然率|0x100000|1139\n或然性|0x100000|1168\n或有一得|0x1400000|0\n或有一失|0x1400000|0\n或者其他组织|0x100000|514\n货比三家|0xc00000|4\n货比三家不吃亏|0x400000|0\n货币贬值|0x0008|4\n货币回笼|0x0008|0\n货币汇率|0x100000|427\n货币基金|0x100000|556\n货币流通|0x0008|0\n货币市场|0x100000|575\n货币市场基金|0x100000|522\n货币政策|0x100000|627\n货币资本|0x800000|1084\n货币资金|0x0000|510\n货畅其流|0x800000|42715\n货到付款|0x100000|605\n货而不售|0x0000|100\n货柜车|0x100000|1001\n货柜船|0x0008|5\n货贿公行|0x1000000|100\n货架子|0x100000|1269\n货郎担|0x0000|49120\n货郎鼓|0x100000|52761\n货流地理|0x0008|0\n货赂大行|0x1000000|100\n货赂公行|0x1000000|100\n货物贸易|0x100000|466\n货物运输|0x0008|713\n货物运输保险|0x0000|398\n货源充足|0x100000|740\n货运车|0x100000|1087\n货运公司|0x0000|510\n货运量|0x100000|26127\n货运业|0x100000|1122\n货运站|0x100000|937\n货真价实|0x1000000|20568\n获得成功|0x0000|599\n获得性|0x100000|940\n获得性免疫|0x100000|1105\n获得者|0x100000|721\n获嘉县|0x0040|1534\n获奖率|0x100000|1254\n获奖人|0x100000|1060\n获奖者|0x100000|793\n获奖作品|0x100000|791\n获隽公车|0x1000000|100\n获陇望蜀|0x1000000|100\n获胜者|0x100000|929\n获兔烹狗|0x1000000|100\n获益匪浅|0x800000|884\n祸必重来|0x1000000|100\n祸不单行|0x1000000|37714\n祸不旋踵|0x1000000|100\n祸从口出|0x1000000|890\n祸从口生|0x0000|100\n祸从天降|0x1000000|47381\n祸从天上来|0x100000|1198\n祸福同门|0x1000000|100\n祸福惟人|0x0000|100\n祸福无常|0x0000|100\n祸福无门|0x1000000|1174\n祸福相生|0x0000|100\n祸福相依|0x800000|1062\n祸福相倚|0x1000000|1196\n祸福倚伏|0x1000000|100\n祸福由人|0x0000|100\n祸福有命|0x0000|100\n祸福之门|0x1000000|100\n祸国殃民|0x1000000|27708\n祸及池鱼|0x1000000|100\n祸结兵连|0x1000000|100\n祸近池鱼|0x1000000|100\n祸绝福连|0x800000|100\n祸乱滔天|0x0000|100\n祸迫眉睫|0x1000000|100\n祸起萧墙|0x1000000|50603\n祸稔恶积|0x1000000|100\n祸生肘腋|0x0000|100\n祸首罪魁|0x0000|100\n祸为福先|0x0000|100\n祸兮福所倚|0x0008|1103\n祸盈恶稔|0x1000000|100\n祸在旦夕|0x1000000|100\n祸枣灾梨|0x1000000|100\n祸中有福|0x0000|100\n惑世盗名|0x1000000|100\n惑世诬民|0x1000000|1331\n霍布森|0x0080|1140\n霍布斯|0x0080|1584\n霍城县|0x0040|1650\n霍尔巴赫|0x0080|1203\n霍尔斯特|0x0080|1209\n霍林郭勒|0x0040|1000\n霍林郭勒市|0x0040|1661\n霍乱弧菌|0x0008|0\n霍姆格伦唯一性定理|0x400000|0\n霍尼亚拉|0x0080|1232\n霍邱县|0x0040|1573\n霍然而愈|0x0000|100\n霍山县|0x0040|1517\n霍州市|0x0040|1594\n藿香正气散|0x0008|0\n蠖屈不伸|0x0000|100\n蠖屈求伸|0x0000|100\n击鞭锤镫|0x0000|100\n击钵催诗|0x1000000|100\n击搏挽裂|0x1000000|100\n击电奔星|0x1000000|100\n击毂摩肩|0x1000000|100\n击鼓鸣金|0x0000|100\n击楫中流|0x1000000|1310\n击节称赏|0x0000|100\n击节叹赏|0x800000|100\n击排冒没|0x1000000|100\n击其不意|0x1000000|100\n击其惰归|0x1000000|1202\n击球手|0x100000|1188\n击壤鼓腹|0x1000000|100\n击石弹丝|0x1000000|100\n击碎唾壶|0x1000000|100\n击玉敲金|0x1000000|100\n击中要害|0x1000|1032\n击钟陈鼎|0x800000|1533\n击钟鼎食|0x1000000|100\n击筑悲歌|0x0000|100\n击坠王|0x100000|1346\n叽叽嘎嘎|0x80000|49830\n叽叽咕咕|0x0008|1\n叽叽喳喳|0x80000|22829\n叽里咕噜|0x80000|47384\n叽里呱啦|0x80000|54809\n叽里哇啦|0x0000|53776\n叽哩咕噜|0x800000|1012\n饥饱劳役|0x0000|100\n饥不遑食|0x1000000|100\n饥不暇食|0x1000000|100\n饥不择食|0x1000000|38896\n饥飡渴饮|0x1000000|100\n饥餐渴饮|0x1000000|1212\n饥肠辘辘|0x1000000|31516\n饥冻交切|0x1000000|100\n饥饿感|0x100000|882\n饥饿线|0x100000|0\n饥附饱飏|0x1000000|100\n饥寒交凑|0x1000000|100\n饥寒交加|0x800000|1240\n饥寒交迫|0x1000000|30507\n饥寒交切|0x1000000|100\n饥寒交至|0x1000000|100\n饥火烧肠|0x1000000|100\n饥馑荐臻|0x1000000|100\n饥渴交攻|0x0000|100\n饥驱叩门|0x0000|100\n饥焰中烧|0x0000|100\n饥鹰饿虎|0x100000|100\n机变如神|0x1000000|100\n机不可失|0x1000000|29424\n机不容发|0x1000000|100\n机不旋踵|0x1000000|100\n机场路|0x100000|515\n机车厂|0x100000|1030\n机车车辆|0x100000|458\n机车头|0x0008|1\n机床厂|0x100000|493\n机床附件|0x100000|484\n机床模具|0x100000|384\n机床配件|0x100000|398\n机床设备|0x100000|453\n机电部|0x100000|1584\n机电产品|0x0008|684\n机电工程|0x100000|500\n机电类|0x100000|418\n机电设备|0x100000|633\n机电设备有限公司|0x100000|537\n机电有限公司|0x100000|548\n机顶盒|0x100000|790\n机动车|0x100000|5689\n机动车道|0x100000|933\n机动车辆|0x0000|542\n机动船|0x100000|1093\n机动科|0x100000|1358\n机动力|0x100000|1039\n机动性|0x100000|871\n机帆船|0x100000|41476\n机房设备|0x100000|411\n机构编制|0x100000|502\n机构调整|0x0008|3\n机构改革|0x0008|565\n机构名称|0x100000|531\n机构学|0x0008|0\n机关报|0x100000|15758\n机关车|0x0008|0\n机关党委|0x0000|493\n机关干部|0x100000|832\n机关工作|0x0000|582\n机关工作人员|0x100000|533\n机关刊物|0x800000|34946\n机关炮|0x0000|49473\n机关枪|0x100000|17202\n机关事务管理局|0x0000|448\n机关事业|0x100000|520\n机关事业单位|0x100000|501\n机关算尽|0x1000000|45302\n机关算尽太聪明|0x0008|1048\n机关效能|0x100000|496\n机关用尽|0x1000000|100\n机关作风|0x0008|516\n机会成本|0x0008|868\n机会难得|0x0000|525\n机会主义|0x100000|21957\n机界面|0x100000|446\n机卡分离|0x0008|0\n机灵鬼|0x100000|1008\n机密性|0x0000|422\n机难轻失|0x1000000|100\n机能减退|0x0008|0\n机能主义|0x100000|0\n机票代理|0x100000|539\n机票价格|0x100000|636\n机票信息|0x100000|536\n机器厂|0x100000|864\n机器翻译|0x100000|44996\n机器脚踏车|0x100000|985\n机器码|0x100000|1004\n机器猫|0x0008|1134\n机器配置|0x0000|499\n机器人|0x100000|7119\n机器人大战|0x100000|503\n机器人学|0x100000|1112\n机器设备|0x0000|538\n机器油|0x100000|1534\n机器语言|0x0008|0\n机器字|0x100000|1362\n机枪手|0x100000|1048\n机身号|0x100000|0\n机事不密|0x1000000|100\n机务段|0x100000|931\n机务员|0x100000|1199\n机械波|0x100000|1097\n机械厂|0x100000|537\n机械传动|0x0008|0\n机械刀片|0x100000|399\n机械动力|0x100000|381\n机械工程|0x0008|687\n机械工程师|0x100000|482\n机械工人|0x100000|390\n机械工业|0x0008|619\n机械公司|0x100000|499\n机械功|0x0008|0\n机械化|0x1000|7072\n机械化部队|0x0008|903\n机械类|0x100000|507\n机械零部件|0x100000|460\n机械零件|0x100000|472\n机械论|0x100000|1108\n机械能|0x100000|985\n机械抛光|0x0008|0\n机械配件|0x100000|532\n机械人|0x100000|909\n机械扫描|0x0008|0\n机械设备|0x100000|549\n机械设备有限公司|0x100000|526\n机械设计|0x0000|587\n机械师|0x100000|38487\n机械式|0x20000000|817\n机械手|0x100000|40159\n机械锁|0x100000|377\n机械唯物主义|0x100000|1206\n机械系|0x100000|935\n机械效率|0x100000|1132\n机械行业|0x100000|570\n机械性能|0x0008|788\n机械学|0x0008|1072\n机械学院|0x100000|452\n机械研究所|0x100000|455\n机械油|0x0008|1079\n机械有限公司|0x100000|685\n机械运动|0x100000|54304\n机械振动|0x0008|0\n机械制图|0x0008|488\n机械制造|0x100000|558\n机械制造厂|0x100000|473\n机械制造业|0x100000|496\n机械装备|0x100000|453\n机心械肠|0x1000000|100\n机修厂|0x100000|1007\n机要秘书|0x0008|0\n机要室|0x0008|0\n机要员|0x100000|1232\n机杼一家|0x1400000|0\n肌电图|0x100000|382\n肌动蛋白|0x0008|0\n肌动球蛋白|0x0008|0\n肌钙蛋白|0x0008|0\n肌苷酸|0x0008|0\n肌红蛋白|0x0008|0\n肌激酶|0x0008|0\n肌劈理解|0x1000000|100\n肌球蛋白|0x0008|0\n肌肉男|0x100000|488\n肌肉注射|0x100000|466\n肌上皮瘤|0x0008|0\n肌酸激酶|0x0008|0\n肌纤维|0x100000|1052\n芨芨草|0x100000|42212\n鸡不及凤|0x0000|100\n鸡肠狗肚|0x1000000|100\n鸡肠鼠肚|0x800000|1533\n鸡虫得丧|0x0000|100\n鸡虫得失|0x1000000|1371\n鸡蛋糕|0x100000|1034\n鸡蛋花|0x100000|384\n鸡蛋里挑骨头|0x0008|0\n鸡蛋里找骨头|0x0008|100\n鸡东县|0x0040|1634\n鸡飞蛋打|0x1000000|42463\n鸡飞狗叫|0x1000000|100\n鸡飞狗跳|0x1000000|42213\n鸡飞狗走|0x1000000|1180\n鸡肤鹤发|0x1000000|100\n鸡公车|0x100000|1248\n鸡骨草|0x0008|1141\n鸡骨支床|0x1000000|100\n鸡冠花|0x100000|43680\n鸡冠石|0x0008|1118\n鸡冠子|0x0000|54305\n鸡口牛后|0x1000000|1340\n鸡烂嘴巴硬|0x0008|100\n鸡零狗碎|0x1000000|47702\n鸡毛菜|0x0000|55282\n鸡毛掸子|0x100000|48019\n鸡毛蒜皮|0x1000000|27045\n鸡毛信|0x100000|43681\n鸡毛帚|0x100000|53777\n鸡鸣而起|0x800000|1288\n鸡鸣狗盗|0x1000000|48749\n鸡鸣狗吠|0x1000000|1148\n鸡鸣候旦|0x1000000|100\n鸡鸣戒旦|0x1000000|100\n鸡鸣起舞|0x1000000|100\n鸡鸣犬吠|0x1000000|1158\n鸡鸣馌耕|0x1000000|100\n鸡内金|0x0008|54306\n鸡皮疙瘩|0x800000|29425\n鸡皮鹤发|0x1000000|1112\n鸡栖凤巢|0x0000|100\n鸡犬不安|0x1000000|100\n鸡犬不惊|0x1000000|1414\n鸡犬不留|0x1000000|47703\n鸡犬不宁|0x1000000|39717\n鸡犬不闻|0x1000000|100\n鸡犬皆仙|0x1000000|100\n鸡犬桑麻|0x1000000|100\n鸡犬升天|0x1000000|44427\n鸡犬无惊|0x1000000|100\n鸡犬相闻|0x1000000|53275\n鸡犬之声相闻|0x0008|1085\n鸡声鹅斗|0x1000000|100\n鸡尸牛从|0x1000000|1310\n鸡矢藤|0x0008|0\n鸡饲料|0x100000|410\n鸡头鱼刺|0x1000000|100\n鸡豚之息|0x1000000|100\n鸡尾酒|0x100000|32892\n鸡尾酒会|0x100000|988\n鸡鹜相争|0x0000|100\n鸡鹜争食|0x1000000|100\n鸡西市|0x0040|1422\n鸡胸龟背|0x1000000|100\n鸡血石|0x100000|53778\n鸡血藤|0x100000|54307\n鸡泽县|0x0040|1044\n鸡争鹅斗|0x1000000|100\n鸡仔饼|0x0008|0\n鸡子儿|0x100000|1327\n唧唧喳喳|0x80000|800\n屐齿之折|0x1000000|100\n积案盈箱|0x0000|100\n积本求原|0x0000|100\n积不相能|0x1000000|1536\n积财千万|0x800000|100\n积草屯粮|0x1000000|1377\n积谗糜骨|0x0000|100\n积谗磨骨|0x0000|100\n积德累功|0x1000000|1332\n积德累仁|0x0000|100\n积德累善|0x0000|100\n积德裕后|0x0000|100\n积讹成蠹|0x0000|100\n积恶余殃|0x1000000|100\n积非成是|0x1000000|1206\n积非习贯|0x0000|100\n积分电路|0x0008|0\n积分器|0x100000|1241\n积分学|0x0008|1042\n积功兴业|0x0000|100\n积谷防饥|0x1000000|1111\n积厚成器|0x0000|100\n积厚流光|0x800000|100\n积毁销骨|0x1000000|1116\n积毁销金|0x0000|100\n积基树本|0x0000|100\n积极参与|0x0000|663\n积极地|0x0000|391\n积极分子|0x800000|10746\n积极进取|0x0000|547\n积极探索|0x0000|605\n积极向上|0x800000|707\n积极行动|0x100000|880\n积极性|0x100000|2239\n积极主动|0x0000|594\n积极作用|0x0000|594\n积甲如山|0x0000|100\n积甲山齐|0x1000000|100\n积简充栋|0x0000|100\n积金累玉|0x1000000|100\n积劳成病|0x800000|100\n积劳成疾|0x1000000|28467\n积累基金|0x100000|1261\n积露为波|0x0000|100\n积年累岁|0x0000|100\n积年累月|0x1000000|55708\n积贫积弱|0x0000|51425\n积日累久|0x1000000|100\n积日累岁|0x0000|100\n积日累月|0x0000|100\n积弱积贫|0x800000|0\n积沙成塔|0x1000000|1182\n积沙成滩|0x0000|100\n积善成德|0x0000|100\n积善余庆|0x800000|100\n积少成多|0x1000000|41477\n积时累日|0x0000|100\n积水成渊|0x1000000|1187\n积水潭|0x100000|1507\n积水为海|0x1000000|100\n积思广益|0x0000|100\n积素累旧|0x0000|100\n积岁累月|0x0000|100\n积体电路|0x0008|1065\n积土成山|0x1000000|1190\n积土为山|0x1000000|100\n积微成著|0x1000000|1429\n积习成俗|0x1000000|100\n积习难除|0x0000|100\n积习难改|0x1000000|1112\n积习生常|0x0000|100\n积小成大|0x0000|100\n积薪厝火|0x1000000|1284\n积薪候燎|0x0000|100\n积羞成怒|0x0000|100\n积雪草|0x100000|1123\n积雪封霜|0x0000|100\n积雪囊萤|0x0000|100\n积以为常|0x0000|100\n积忧成疾|0x1000000|100\n积羽沉舟|0x1000000|1368\n积雨云|0x0008|1097\n积玉堆金|0x1000000|100\n积重不反|0x0000|100\n积重不返|0x0000|100\n积重难反|0x0000|100\n积重难返|0x1000000|30060\n积铢累寸|0x1000000|1537\n基本参数|0x100000|601\n基本常识|0x100000|532\n基本词汇|0x100000|1030\n基本单位|0x100000|490\n基本点|0x100000|21387\n基本电荷|0x800000|1417\n基本法|0x100000|6425\n基本方针|0x0000|483\n基本概念|0x0000|604\n基本工资|0x0008|863\n基本功|0x100000|14308\n基本功能|0x100000|620\n基本国策|0x100000|887\n基本国情|0x100000|458\n基本技能|0x0000|558\n基本建设|0x800000|781\n基本建设投资|0x0008|457\n基本建设项目|0x0008|451\n基本经济规律|0x0008|0\n基本理论|0x0000|603\n基本粒子|0x100000|1010\n基本路线|0x0000|538\n基本矛盾|0x800000|1015\n基本面|0x100000|630\n基本农田|0x100000|528\n基本情况|0x100000|670\n基本权利|0x100000|862\n基本上|0x8000000|3561\n基本思路|0x100000|521\n基本素质|0x0000|525\n基本特征|0x100000|562\n基本条件|0x0000|584\n基本信息|0x100000|757\n基本养老金|0x100000|494\n基本要求|0x0000|630\n基本要素|0x100000|513\n基本医疗保险|0x100000|542\n基本原理|0x0000|599\n基本原则|0x100000|644\n基本知识|0x0008|667\n基本准则|0x100000|489\n基本资料|0x100000|670\n基层单位|0x0000|531\n基层党组织|0x100000|573\n基层干部|0x0008|539\n基层工作|0x0008|844\n基层建设|0x100000|923\n基层人民法院|0x0000|423\n基层政权|0x0008|458\n基层组织|0x0008|812\n基础产业|0x0008|8\n基础代谢|0x100000|1028\n基础代谢率|0x100000|1103\n基础工业|0x0008|5\n基础件|0x100000|424\n基础建设|0x100000|786\n基础教程|0x100000|572\n基础教育|0x800000|676\n基础科学|0x100000|882\n基础课|0x100000|25195\n基础理论|0x800000|719\n基础上|0x0000|849\n基础设施|0x0008|589\n基础性|0x100000|761\n基础训练|0x0008|15\n基础医学|0x100000|460\n基础油|0x100000|481\n基础知识|0x100000|591\n基底神经节|0x0008|0\n基地组织|0x100000|511\n基督教|0x0008|7775\n基督教会|0x100000|922\n基督教徒|0x100000|805\n基督徒|0x100000|24891\n基尔巴尼|0x0080|0\n基尔霍夫|0x0080|0\n基尔霍夫定律|0x0008|0\n基加利|0x0040|1216\n基建工程|0x100000|891\n基金会|0x100000|5380\n基金净值|0x100000|502\n基金委员会|0x100000|451\n基金项目|0x100000|538\n基金组织|0x0000|526\n基里巴斯|0x0040|1694\n基隆港|0x0040|405\n基隆人|0x100000|0\n基隆市|0x0040|1445\n基洛夫|0x0040|1110\n基诺族|0x0008|41260\n基什尼奥夫|0x0080|0\n基数排序|0x0008|0\n基围虾|0x0000|51002\n基希纳乌|0x0080|0\n基辛格|0x0080|1450\n基因工程|0x100000|20906\n基因库|0x100000|28727\n基因突变|0x100000|492\n基因芯片|0x100000|1030\n基因型|0x100000|446\n基因治疗|0x0008|968\n基因组|0x100000|865\n基站设备|0x100000|370\n基准点|0x100000|1068\n基准利率|0x100000|527\n基准面|0x0008|379\n基准线|0x100000|1095\n绩溪县|0x0040|1442\n绩效考核|0x100000|587\n绩效评价|0x0000|483\n绩学之士|0x0000|100\n绩优股|0x100000|887\n缉私船|0x100000|1541\n缉私艇|0x100000|34793\n赍粮藉寇|0x0000|100\n赍志而没|0x1000000|100\n赍志而殁|0x1000000|1539\n赍志以没|0x1000000|100\n赍志以殁|0x1000000|100\n畸流洽客|0x0000|100\n畸流逸客|0x0000|100\n畸轻畸重|0x1000000|48750\n畸形儿|0x100000|976\n畸重畸轻|0x1000000|1541\n跻峰造极|0x1000000|100\n箕风毕雨|0x1000000|100\n箕裘相继|0x0000|100\n箕山挂瓢|0x0000|100\n箕山之操|0x0000|100\n箕山之风|0x0000|100\n箕山之节|0x0000|100\n箕山之志|0x0000|100\n箕引裘随|0x0000|100\n箕帚之使|0x0000|100\n稽查队|0x100000|1024\n稽查员|0x100000|1072\n稽古揆今|0x0080|1252\n稽古振今|0x0000|100\n稽疑送难|0x0000|100\n齑身粉骨|0x1000000|100\n激昂慷慨|0x1000000|1163\n激薄停浇|0x1000000|100\n激动剂|0x0008|1102\n激动人心|0x800000|744\n激发态|0x0008|1154\n激忿填膺|0x0000|100\n激光打印机|0x0000|602\n激光雕刻|0x100000|462\n激光二极管|0x100000|394\n激光管|0x100000|389\n激光焊接机|0x100000|382\n激光雷达|0x0008|1\n激光炮|0x100000|436\n激光器|0x100000|19309\n激光枪|0x100000|454\n激光设备|0x100000|444\n激光束|0x100000|992\n激光头|0x100000|916\n激光照排|0x100000|36308\n激光照排机|0x100000|396\n激光制导|0x0008|11\n激光治疗|0x100000|467\n激活剂|0x0008|0\n激将法|0x100000|40805\n激进派|0x100000|37905\n激进主义|0x100000|1039\n激励机制|0x100000|10389\n激烈性|0x100000|1146\n激流汹涌|0x800000|1012\n激流勇退|0x0008|0\n激情电影|0x100000|735\n激情化|0x100000|0\n激情男女|0x100000|439\n激情片|0x100000|510\n激情时刻|0x100000|441\n激情图|0x100000|368\n激情戏|0x100000|512\n激情秀|0x100000|427\n激素类|0x100000|474\n激素水平|0x100000|443\n激肽酶|0x0008|0\n激肽释放酶|0x0008|0\n激肽原|0x0008|0\n激贪厉俗|0x1000000|100\n激扬清浊|0x1000000|100\n激浊扬清|0x1000000|39718\n及宾有鱼|0x1000000|100\n及第成名|0x0000|100\n及锋而试|0x1000000|1365\n及格赛|0x100000|1538\n及瓜而代|0x1000000|100\n及笄年华|0x0000|100\n及溺呼船|0x1000000|100\n及时行乐|0x1000000|871\n及时性|0x100000|695\n及时雨|0x100000|26196\n及物动词|0x0008|0\n吉安市|0x0040|1398\n吉安县|0x0040|1632\n吉卜赛|0x100000|1021\n吉卜赛人|0x100000|40583\n吉布斯自由能|0x0008|0\n吉布提|0x0040|1039\n吉尔菲艾斯|0x0080|0\n吉尔吉斯|0x0040|1558\n吉尔吉斯斯坦|0x0040|11527\n吉光凤羽|0x1000000|100\n吉光片裘|0x1000000|100\n吉光片羽|0x1000000|1072\n吉林长春|0x100000|494\n吉林大学|0x0020|1234\n吉林工业大学|0x100000|368\n吉林路|0x0040|0\n吉林人|0x100000|1068\n吉林省|0x0040|995\n吉林市|0x0040|1198\n吉隆坡|0x0040|15318\n吉隆县|0x0040|1182\n吉木乃|0x0040|1077\n吉木乃县|0x0040|1132\n吉木萨尔|0x0040|1640\n吉木萨尔县|0x0040|1658\n吉尼斯|0x0008|1227\n吉尼斯世界纪录|0x0008|1466\n吉普车|0x100000|13086\n吉普赛|0x0080|1363\n吉普赛人|0x100000|955\n吉人天相|0x1000000|51003\n吉人自有天相|0x0008|1055\n吉日良辰|0x1000000|1115\n吉日良时|0x1000000|1352\n吉首市|0x0040|1539\n吉水县|0x0040|1654\n吉他谱|0x100000|525\n吉他曲|0x100000|430\n吉他手|0x100000|759\n吉它谱|0x100000|379\n吉娃娃|0x100000|490\n吉网罗钳|0x1000000|100\n吉祥如意|0x1000000|36652\n吉祥图案|0x100000|413\n吉祥物|0x100000|17334\n吉祥止止|0x800000|100\n吉星高照|0x1000000|1015\n吉凶祸福|0x1000000|1057\n吉凶未卜|0x0000|100\n吉永小百合|0x100000|1210\n岌岌不可终日|0x0008|0\n岌岌可危|0x1000000|29426\n汲古阁本|0x1000000|1334\n汲汲顾影|0x1000000|100\n汲汲皇皇|0x0000|100\n汲汲忙忙|0x0000|100\n汲深绠短|0x1000000|100\n汲引忘疲|0x0000|100\n级差地租|0x0008|0\n级进杂交|0x0008|0\n级新生|0x100000|467\n即插即用|0x0008|1\n即景生情|0x1000000|54810\n即鹿无虞|0x1000000|1412\n即墨市|0x0040|1394\n即时比分|0x100000|407\n即时通|0x100000|665\n即时通讯|0x0008|620\n即时消息|0x100000|555\n即时新闻|0x100000|486\n即时战略|0x0008|820\n即事穷理|0x1000000|100\n即温听厉|0x1000000|100\n即物穷理|0x1000000|1335\n即小见大|0x1000000|1420\n即兴曲|0x0008|1050\n即兴诗|0x100000|1284\n即兴之作|0x100000|1139\n即以其人之道|0x0008|1298\n极本穷源|0x1000000|100\n极大值|0x100000|1116\n极点五笔|0x400000|0\n极端分子|0x100000|970\n极端主义|0x100000|963\n极恶不赦|0x1000000|100\n极恶穷凶|0x1000000|1421\n极而言之|0x800000|1231\n极古穷今|0x1000000|100\n极口项斯|0x1000000|100\n极乐鸟|0x100000|369\n极乐世界|0x1000000|35219\n极目迥望|0x0000|100\n极目远眺|0x800000|948\n极目远望|0x800000|1106\n极品飞车|0x100000|726\n极品笑话|0x100000|486\n极品装备|0x100000|510\n极情尽致|0x1000000|100\n极情纵欲|0x1000000|100\n极权主义|0x800000|1001\n极少量|0x0000|427\n极少数|0x400000|713\n极少数人|0x0008|8\n极深研几|0x1000000|100\n极深研幾|0x800000|100\n极寿无疆|0x1000000|100\n极天际地|0x1000000|100\n极天蟠地|0x1000000|100\n极天罔地|0x1000000|100\n极往知来|0x1000000|100\n极武穷兵|0x1000000|100\n极限点|0x0008|0\n极限运动|0x100000|51004\n极限值|0x100000|1066\n极右派|0x100000|1096\n极则必反|0x1000000|100\n极智穷思|0x1000000|100\n极重不反|0x1000000|100\n极重难返|0x1000000|100\n亟疾苛察|0x1000000|100\n佶屈聱牙|0x1000000|53780\n急巴巴|0x0100|55285\n急病让夷|0x0000|100\n急不及待|0x1000000|1028\n急不可待|0x1000000|32636\n急不可耐|0x1000000|34488\n急不暇择|0x800000|1330\n急不择路|0x0000|100\n急不择途|0x1000000|100\n急不择言|0x1000000|1316\n急茬儿|0x100000|0\n急赤白脸|0x1000000|1180\n急杵捣心|0x1000000|100\n急处从宽|0x1000000|100\n急匆匆|0x0100|16449\n急风暴雨|0x1000000|39936\n急风骤雨|0x1000000|1125\n急腹症|0x100000|54308\n急公好施|0x1000000|100\n急公好义|0x1000000|51427\n急公近利|0x1000000|100\n急功好利|0x1000000|1246\n急功近利|0x1000000|12593\n急功近名|0x1000000|0\n急管繁弦|0x1000000|1202\n急急巴巴|0x0100|1337\n急急忙忙|0x0100|733\n急急如律令|0x0008|1053\n急进派|0x100000|1411\n急惊风|0x100000|1106\n急惊风撞着慢郎中|0x0008|100\n急景凋年|0x800000|100\n急景流年|0x1000000|100\n急救包|0x100000|51005\n急救车|0x100000|919\n急救箱|0x100000|54310\n急救员|0x100000|1157\n急救站|0x100000|1019\n急救中心|0x100000|807\n急就章|0x100000|51006\n急口令|0x100000|54311\n急来报佛脚|0x0008|100\n急来抱佛脚|0x0008|1328\n急吏缓民|0x1000000|100\n急敛暴征|0x0000|100\n急流勇进|0x1000000|1087\n急流勇退|0x1000000|43431\n急脉缓灸|0x1000000|1282\n急脉缓受|0x1000000|100\n急拍繁弦|0x1000000|100\n急起直追|0x1000000|34325\n急人所急|0x800000|1204\n急人之困|0x1000000|0\n急人之难|0x1000000|1311\n急如风火|0x1000000|100\n急如星火|0x1000000|45906\n急三火四|0x1400000|0\n急刹车|0x800000|34326\n急痛攻心|0x1000000|1362\n急先锋|0x100000|35220\n急行军|0x100000|34641\n急性病|0x100000|51428\n急性期|0x100000|463\n急性肾炎|0x100000|408\n急性子|0x100000|39307\n急需资金|0x100000|418\n急于求成|0x800000|21000\n急于事功|0x800000|1360\n急于星火|0x0000|100\n急张拘诸|0x1000000|100\n急诊科|0x100000|487\n急诊室|0x100000|839\n急中生智|0x1000000|26533\n急竹繁丝|0x1000000|100\n急转弯|0x800000|35828\n急转直下|0x1000000|30279\n疾病防治|0x100000|494\n疾病相扶|0x0000|100\n疾病诊断|0x0000|452\n疾不可为|0x800000|100\n疾恶如仇|0x1000000|40160\n疾恶如雠|0x0000|100\n疾恶如风|0x0000|100\n疾恶若雠|0x0000|100\n疾风暴雨|0x1000000|1060\n疾风劲草|0x1000000|55286\n疾风扫秋叶|0x0008|1534\n疾风甚雨|0x0000|100\n疾风迅雷|0x1000000|1224\n疾风彰劲草|0x100000|1405\n疾风知劲草|0x0008|1077\n疾风骤雨|0x0000|54811\n疾雷不及塞耳|0x0000|100\n疾雷不及掩耳|0x0008|100\n疾雷不暇掩耳|0x0000|100\n疾如雷电|0x1000|100\n疾如旋踵|0x1000000|100\n疾声厉色|0x0000|100\n疾首蹙额|0x1000000|1325\n疾首痛心|0x0000|100\n疾霆不暇掩目|0x0000|100\n疾言倨色|0x0000|100\n疾言遽色|0x1000000|100\n疾言厉气|0x0000|100\n疾言厉色|0x1000000|51844\n疾言怒色|0x0000|100\n疾雨暴风|0x0000|100\n疾走先得|0x0000|100\n疾足先得|0x1000000|100\n戢鳞潜翼|0x0000|100\n戢鳞委翼|0x0000|100\n棘地荆天|0x1000000|100\n棘皮动物|0x100000|1201\n集安市|0x0040|1651\n集成电路|0x100000|11020\n集成电路设计|0x100000|484\n集成度|0x100000|924\n集成化|0x0000|45000\n集成块|0x100000|1036\n集成显卡|0x0000|533\n集大成|0x1000|39937\n集大成者|0x100000|904\n集电环|0x100000|1152\n集电极|0x0008|1087\n集合点|0x0000|413\n集合号|0x100000|1219\n集合论|0x0008|1038\n集合体|0x100000|910\n集锦式|0x100000|0\n集落刺激因子|0x0008|0\n集贸市场|0x100000|9697\n集气站|0x100000|1404\n集散地|0x100000|16711\n集市贸易|0x100000|30509\n集束炸弹|0x100000|1125\n集水区|0x100000|1222\n集思广议|0x1000000|1220\n集思广益|0x1000000|17382\n集体福利|0x0008|0\n集体合同|0x100000|505\n集体户|0x100000|51007\n集体化|0x1000|1043\n集体婚礼|0x100000|35221\n集体经济|0x800000|8828\n集体农庄|0x0008|1\n集体企业|0x0000|587\n集体所有|0x800000|880\n集体所有制|0x100000|958\n集体土地|0x100000|504\n集体舞|0x100000|37184\n集体心理治疗|0x0008|0\n集体性|0x100000|970\n集体照|0x100000|54812\n集体主义|0x100000|11775\n集团电话|0x100000|547\n集团公司|0x100000|504\n集团股份|0x100000|599\n集团股份有限公司|0x100000|584\n集团化|0x1000|803\n集团军|0x100000|16227\n集团有限公司|0x100000|709\n集团有限责任|0x100000|552\n集团主义|0x100000|0\n集团总公司|0x100000|497\n集贤县|0x0040|1046\n集线器|0x100000|822\n集训地|0x100000|1177\n集训队|0x100000|981\n集腋成裘|0x1000000|48751\n集腋为裘|0x1000000|100\n集萤映雪|0x0000|100\n集邮册|0x100000|52765\n集邮家|0x100000|1231\n集邮迷|0x0008|1373\n集于一身|0x400000|2\n集苑集枯|0x1000000|100\n集约化|0x100000|13151\n集约经营|0x800000|28840\n集中地|0x100000|431\n集中点|0x100000|1045\n集中供热|0x0008|927\n集中化|0x1000|950\n集中控制|0x0008|897\n集中力|0x0008|0\n集中器|0x0008|1108\n集中体现|0x0000|530\n集中统一|0x400000|10\n集中学习|0x0000|559\n集中营|0x100000|15484\n集中制|0x0000|49834\n集装箱|0x100000|6593\n集装箱码头|0x100000|477\n集资房|0x100000|426\n嫉恶如仇|0x40000000|40160\n嫉恶若仇|0x1000000|100\n嫉贪如雠|0x1000000|100\n嫉闲妒能|0x0000|100\n嫉贤傲士|0x1000000|100\n嫉贤妒能|0x40000000|51429\n辑志协力|0x1000000|100\n瘠己肥人|0x1000|100\n瘠牛羸豚|0x0000|100\n瘠人肥己|0x1000000|100\n瘠义肥辞|0x0000|100\n鹡鸰在原|0x1000000|100\n蹐地局天|0x0000|100\n蹐地跼天|0x1000000|100\n几不欲生|0x0000|100\n几次三番|0x1400000|52285\n几点钟|0x100000|460\n几丁质|0x0008|0\n几方面|0x100000|587\n几个人|0x100000|756\n几个问题|0x100000|645\n几何级数|0x800000|909\n几何平均数|0x0008|1221\n几何体|0x100000|963\n几何图形|0x100000|910\n几何学|0x100000|926\n几何异构|0x0008|0\n几乎不|0x8000000|562\n几乎没有|0x0000|678\n几经周折|0x800000|852\n几内亚|0x0040|1506\n几内亚比绍|0x0040|1709\n几内亚湾|0x0040|1173\n几年来|0x800000|513\n几年如一日|0x400000|0\n几起几落|0x1000000|46481\n几十年|0x400000|708\n几十年来|0x400000|24\n几十年如一日|0x400000|790\n几天来|0x0000|556\n几文钱|0x0000|387\n几无二致|0x400000|0\n几小时|0x100000|554\n几易其稿|0x800000|1117\n己二胺|0x4400000|4\n己二酸|0x4400000|0\n己饥己溺|0x1000000|100\n己内酰胺|0x100000|1058\n己溺己饥|0x1000000|100\n己所不欲|0x1000000|836\n己所不欲勿施于人|0x0000|100\n虮虱相吊|0x0000|100\n挤成一团|0x400000|2\n挤出机|0x0008|1326\n挤挤插插|0x0100|0\n挤眉溜眼|0x1000000|100\n挤眉弄眼|0x1000000|33772\n挤奶器|0x0008|1233\n挤手捏脚|0x0000|100\n挤牙膏|0x800000|50223\n挤作一团|0x400000|1\n脊梁骨|0x100000|24950\n脊神经|0x100000|1110\n脊髓灰质炎|0x100000|1016\n脊髓灰质炎病毒|0x0008|0\n脊髓炎|0x0008|55924\n脊索动物|0x800000|1185\n脊索动物门|0x0008|0\n脊形波导|0x0008|0\n脊柱炎|0x100000|658\n脊椎动物|0x800000|18742\n脊椎骨|0x100000|41720\n掎角之势|0x1000000|1317\n掎挈伺诈|0x1000000|100\n掎裳连袂|0x1000000|100\n掎裳连襼|0x1000000|100\n戟指嚼舌|0x1000000|100\n戟指怒目|0x1000000|100\n计不反顾|0x1000000|100\n计不返顾|0x1000000|100\n计不旋跬|0x1000000|100\n计不旋踵|0x1000000|100\n计程表|0x0000|55287\n计程车|0x100000|37716\n计出万全|0x1000000|1316\n计出万死|0x1000000|100\n计出无聊|0x1000000|100\n计出无奈|0x1000000|100\n计绌方匮|0x1000000|100\n计斗负才|0x1000000|100\n计伐称勋|0x1000000|100\n计费法|0x0008|0\n计功补过|0x1000000|100\n计功程劳|0x1000000|100\n计功量罪|0x1000000|100\n计功谋利|0x1000000|100\n计功受爵|0x1000000|100\n计功受赏|0x1000000|100\n计功行封|0x1000000|100\n计功行赏|0x1000000|100\n计过自讼|0x1000000|100\n计合谋从|0x1000000|100\n计划处|0x100000|1078\n计划单列|0x100000|892\n计划单列市|0x100000|21585\n计划调节|0x0008|0\n计划分配|0x0008|2\n计划经济|0x100000|6154\n计划生育|0x800000|4172\n计划生育委员会|0x0000|474\n计划书|0x100000|739\n计划委员会|0x0000|523\n计划性|0x100000|878\n计划指标|0x0008|9\n计获事足|0x1000000|100\n计价器|0x100000|38103\n计件工资|0x800000|975\n计将安出|0x0000|100\n计较锱铢|0x1000000|100\n计尽力穷|0x1000000|100\n计经委|0x0008|1100\n计量单位|0x0008|574\n计量法|0x100000|1059\n计量局|0x100000|1133\n计量器|0x100000|1081\n计量学|0x0008|1030\n计穷力极|0x1000000|100\n计穷力竭|0x1000000|1541\n计穷力尽|0x1000000|100\n计穷力诎|0x1000000|100\n计穷力屈|0x1000000|100\n计穷虑极|0x1000000|100\n计穷虑尽|0x1000000|100\n计穷势蹙|0x1000000|100\n计穷势迫|0x1000000|100\n计穷途拙|0x1000000|100\n计穷智短|0x0000|100\n计穷智极|0x1000000|100\n计然之策|0x1000000|100\n计然之术|0x1000000|100\n计日程功|0x1000000|1309\n计日而待|0x1000000|100\n计日而俟|0x1000000|100\n计日可待|0x1000000|100\n计日可期|0x1000000|100\n计日以待|0x1000000|100\n计日以期|0x1000000|100\n计日以俟|0x1000000|100\n计日指期|0x1000000|100\n计日奏功|0x1000000|0\n计上心来|0x1000000|1004\n计上心头|0x1000000|1088\n计深虑远|0x1000000|100\n计生委|0x100000|843\n计时工资|0x100000|1122\n计时器|0x0008|40584\n计时员|0x100000|1208\n计数器|0x100000|598\n计算尺|0x100000|53279\n计算出|0x0000|596\n计算方法|0x0008|590\n计算复杂性|0x0008|0\n计算机|0x100000|1834\n计算机病毒|0x100000|31171\n计算机等级考试|0x100000|595\n计算机仿真|0x100000|413\n计算机辅助|0x1000|570\n计算机辅助测试|0x0008|0\n计算机辅助教学|0x0008|0\n计算机辅助设计|0x0008|496\n计算机辅助制造|0x0008|0\n计算机化|0x1000|973\n计算机基础知识|0x100000|465\n计算机技术|0x0000|605\n计算机教育|0x100000|471\n计算机科学|0x100000|592\n计算机控制|0x0008|502\n计算机论文|0x100000|427\n计算机人才|0x100000|389\n计算机软件|0x0008|614\n计算机世界|0x100000|538\n计算机水平|0x100000|539\n计算机体系结构|0x0008|1\n计算机网|0x100000|518\n计算机网络|0x100000|16655\n计算机网络技术|0x100000|482\n计算机系|0x100000|681\n计算机系统|0x100000|615\n计算机信息|0x100000|610\n计算机研究所|0x100000|428\n计算机应用技术|0x0000|477\n计算机硬件|0x0008|526\n计算机语言|0x0008|450\n计算机中心|0x0000|471\n计算机专业|0x100000|584\n计算器|0x100000|26128\n计算所|0x100000|1518\n计算中心|0x100000|821\n计无返顾|0x1000000|100\n计无付之|0x1000000|100\n计无复之|0x1000000|100\n计无所出|0x1000000|1237\n计无所施|0x1000000|100\n计无所之|0x1000000|100\n计无由出|0x1000000|100\n计行虑义|0x0000|100\n计行言听|0x1000000|100\n计勋行赏|0x1000000|100\n计研心算|0x1000000|100\n记不清|0x800000|751\n记大过|0x1000|984\n记分册|0x100000|1266\n记分牌|0x100000|1048\n记分员|0x100000|1169\n记功忘过|0x1000000|100\n记功忘失|0x1000000|100\n记录本|0x100000|954\n记录簿|0x100000|1093\n记录片|0x100000|760\n记录器|0x0008|918\n记录仪|0x100000|825\n记录员|0x100000|1053\n记录在案|0x1000|899\n记录纸|0x0008|1654\n记起来|0x1000|518\n记日记|0x0000|442\n记事板|0x100000|1197\n记事本|0x100000|36476\n记事簿|0x100000|897\n记事儿|0x1000|0\n记事体|0x100000|0\n记数器|0x100000|973\n记问之学|0x1000000|1295\n记叙文|0x100000|51430\n记忆力|0x100000|16243\n记忆体|0x0008|1285\n记忆犹新|0x1000000|15887\n记者会|0x100000|692\n记者节|0x100000|461\n记者团|0x100000|485\n记者站|0x100000|760\n记者招待会|0x100000|789\n记者证|0x100000|951\n纪传体|0x100000|43683\n纪纲人论|0x0000|100\n纪检监察|0x100000|741\n纪检委|0x100000|954\n纪录片|0x100000|10505\n纪律处分|0x0000|534\n纪律检查|0x100000|802\n纪律检查委员会|0x0000|496\n纪律性|0x100000|27537\n纪念版|0x100000|547\n纪念碑|0x100000|8872\n纪念币|0x100000|29329\n纪念册|0x100000|34059\n纪念封|0x100000|30935\n纪念馆|0x100000|6861\n纪念会|0x100000|1016\n纪念活动|0x0008|796\n纪念卡|0x0000|49123\n纪念林|0x100000|1109\n纪念品|0x100000|13408\n纪念日|0x100000|10599\n纪念塔|0x100000|30714\n纪念堂|0x100000|813\n纪念物|0x100000|38696\n纪念性|0x100000|936\n纪念邮票|0x800000|25022\n纪念章|0x100000|26816\n纪群之交|0x1000000|100\n纪实文学|0x100000|773\n纪委书记|0x0000|545\n忌妒心|0x100000|1019\n技不如人|0x800000|867\n技不压身|0x800000|0\n技高一筹|0xc00000|37186\n技工贸|0x100000|994\n技工学校|0x100000|787\n技监局|0x100000|435\n技能科|0x100000|0\n技巧性|0x100000|900\n技巧运动|0x100000|1306\n技术壁垒|0x100000|492\n技术标准|0x100000|641\n技术部|0x100000|1091\n技术参数|0x0000|652\n技术产业|0x100000|489\n技术成果|0x100000|820\n技术创新|0x100000|639\n技术措施|0x0008|6\n技术档案|0x0008|0\n技术发展|0x0008|633\n技术服务|0x100000|558\n技术改造|0x0008|730\n技术革命|0x100000|15126\n技术革新|0x100000|17970\n技术工人|0x0000|540\n技术股|0x100000|383\n技术管理|0x0008|662\n技术规程|0x100000|513\n技术规范|0x100000|594\n技术合作|0x100000|688\n技术活|0x100000|950\n技术监督局|0x0000|600\n技术讲座|0x100000|466\n技术交流|0x100000|592\n技术教育|0x0008|2\n技术进步|0x0008|594\n技术开发|0x100000|504\n技术科|0x100000|984\n技术科学|0x100000|741\n技术论坛|0x100000|653\n技术美学|0x0008|0\n技术密集工业|0x0008|0\n技术密集型|0x0000|25343\n技术培训|0x0008|655\n技术人才|0x0000|603\n技术人员|0x0000|752\n技术上|0x0000|658\n技术设计|0x0008|3\n技术市场|0x100000|777\n技术室|0x100000|1098\n技术水平|0x0008|637\n技术推广|0x100000|708\n技术委员会|0x100000|540\n技术文章|0x100000|682\n技术先进|0x100000|757\n技术性|0x20000000|14540\n技术学校|0x800000|744\n技术学院|0x0000|693\n技术研究|0x0000|635\n技术研究所|0x100000|552\n技术研讨会|0x100000|475\n技术移民|0x100000|499\n技术引进|0x100000|878\n技术优势|0x0000|564\n技术有限公司|0x100000|765\n技术有限责任|0x100000|500\n技术员|0x100000|8201\n技术展览会|0x100000|492\n技术支持|0x100000|491\n技术职称|0x0000|546\n技术指标|0x100000|688\n技术指导|0x100000|765\n技术转让|0x0008|753\n技术装备|0x800000|765\n技术咨询|0x100000|656\n技术资格|0x100000|582\n技术资料|0x100000|650\n技压群芳|0x800000|1077\n技压群雄|0x800000|1020\n技战术|0x100000|524\n际地蟠天|0x1000000|100\n际会风云|0x1000000|100\n际遇风云|0x1000000|100\n剂量计|0x0008|0\n剂量率|0x0008|0\n季布一诺|0x1400000|0\n季常之惧|0x1000000|100\n季常之癖|0x1000000|1542\n季风气候|0x800000|32522\n季节风|0x100000|1168\n季节工|0x100000|44711\n季节性|0x100000|15144\n季路一言|0x1400000|0\n季孟之间|0x1000000|100\n季孙之忧|0x1000000|1260\n季友伯兄|0x1000000|100\n哜哜嘈嘈|0x80000|100\n既成事实|0x800000|39308\n既得利益|0x100000|26817\n既得利益者|0x100000|941\n既来之|0x1000000|831\n既来之则安之|0x0000|423\n既然如此|0x1000000|711\n既往不咎|0x1000000|41953\n既有今日|0x800000|1109\n济寒赈贫|0x0000|100\n济河焚舟|0x1000000|1534\n济济一堂|0x1400000|29642\n济苦怜贫|0x0000|100\n济困扶危|0x1000000|1270\n济南房产|0x100000|409\n济南军区|0x100000|444\n济南路|0x0040|0\n济南人|0x100000|994\n济南市|0x0040|982\n济宁市|0x0040|1248\n济贫拔苦|0x0000|100\n济窍飘风|0x1000000|100\n济人利物|0x1000000|1269\n济弱锄强|0x0000|100\n济弱扶倾|0x1000000|1139\n济世安邦|0x0000|100\n济世安民|0x0000|100\n济世安人|0x0000|100\n济世救人|0x0000|100\n济世匡时|0x0000|100\n济世之才|0x1000000|1214\n济阳县|0x0040|1605\n济源市|0x0040|1306\n继承法|0x0008|34184\n继承权|0x100000|30061\n继承人|0x100000|15899\n继承者|0x100000|857\n继电器|0x100000|41478\n继古开今|0x0000|100\n继晷焚膏|0x0000|100\n继继承承|0x1000|1296\n继继存存|0x0000|100\n继继绳绳|0x0000|100\n继绝扶倾|0x1000000|0\n继任者|0x100000|882\n继往开来|0x1000000|11417\n继续教育|0x0008|19114\n继续前进|0x0000|556\n继子女|0x0000|54314\n寂寂无闻|0x1000000|100\n寂静岭|0x100000|518\n寂然不动|0x0000|100\n寂然无声|0x0000|100\n寂若死灰|0x800000|0\n寂若无人|0x1000000|100\n寂天寞地|0x1000000|100\n寄存处|0x100000|1087\n寄存器|0x100000|857\n寄存人|0x100000|1328\n寄迹山林|0x0000|100\n寄件人|0x100000|1036\n寄居蟹|0x100000|933\n寄人篱下|0x1000000|34327\n寄人檐下|0x1000000|100\n寄生虫|0x100000|17484\n寄生虫病|0x0008|906\n寄生蜂|0x0008|1214\n寄生前夜|0x100000|1053\n寄生物|0x0008|1141\n寄售品|0x100000|1502\n寄宿生|0x100000|36155\n寄宿学校|0x0000|41954\n寄宿制|0x0000|51432\n寄希望于|0x1000|528\n寄信人|0x100000|1040\n寄兴寓情|0x800000|1345\n寄颜无所|0x1000000|100\n寄雁传书|0x1000000|100\n暨南大学|0x0020|1309\n暨世界|0x100000|498\n霁风朗月|0x1000000|100\n霁月光风|0x1000000|1188\n稷蜂社鼠|0x1000000|100\n稷山县|0x0040|1611\n冀州市|0x0040|1429\n骥伏盐车|0x0000|100\n骥服盐车|0x1000000|100\n骥子龙文|0x1000000|100\n加把劲|0x800000|856\n加班费|0x100000|828\n加班加点|0x800000|16758\n加查县|0x0040|1194\n加场赛|0x100000|0\n加成反应|0x0008|0\n加达默尔|0x0080|0\n加德满都|0x0040|20813\n加尔各达|0x0040|1210\n加尔各答|0x0040|1578\n加尔文|0x0080|1646\n加法器|0x100000|1132\n加菲猫|0x0008|742\n加格达齐|0x0080|0\n加格达奇|0x0040|1653\n加工厂|0x100000|9500\n加工费|0x100000|922\n加工工业|0x0008|3\n加工品|0x100000|973\n加工区|0x100000|861\n加工业|0x100000|747\n加工硬化|0x0008|0\n加工余量|0x0008|0\n加官进爵|0x1000000|1046\n加官进禄|0x1000000|100\n加急电报|0x100000|1000\n加加林|0x0080|1068\n加减乘除|0x1000000|920\n加减法|0x100000|902\n加拉加斯|0x0040|1078\n加勒比|0x0040|1416\n加勒比海|0x0040|1085\n加勒比海盗|0x100000|513\n加里宁|0x0080|1198\n加力燃烧|0x0008|0\n加力燃烧室|0x0008|0\n加利福尼|0x0080|1\n加利福尼亚|0x0040|1216\n加利福尼亚州|0x0040|1352\n加利西亚|0x0080|1157\n加仑量|0x100000|0\n加伦河|0x0040|1527\n加盟店|0x100000|734\n加盟共和国|0x0000|404\n加密井|0x0008|0\n加密算法|0x100000|523\n加冕礼|0x100000|1168\n加拿大|0x0040|2905\n加拿大队|0x100000|410\n加拿大人|0x100000|869\n加拿大移民|0x100000|452\n加拿大总理|0x100000|418\n加内特|0x0080|812\n加那利群岛|0x0040|1113\n加尼福尼|0x0080|0\n加尼福尼亚|0x0080|0\n加农炮|0x100000|1014\n加起来|0x0000|623\n加前缀|0x0000|408\n加强管理|0x0000|576\n加强监督|0x0000|520\n加强领导|0x0000|596\n加强型|0x20000000|867\n加氢精制|0x0008|0\n加氢裂化|0x0008|0\n加氢裂化催化剂|0x0008|0\n加权平均数|0x100000|1186\n加权平均值|0x0008|0\n加热炉|0x100000|943\n加热器|0x100000|800\n加热输送|0x0008|0\n加人一等|0x1400000|0\n加入收藏|0x0000|754\n加入者|0x100000|981\n加塞儿|0x0000|45907\n加赛一场|0x400000|0\n加湿器|0x100000|46783\n加时赛|0x0000|47707\n加斯科因|0x0080|440\n加速度|0x100000|15644\n加速度计|0x0008|1114\n加速卡|0x0008|1576\n加速器|0x100000|18821\n加速运动|0x800000|1093\n加为好友|0x0000|591\n加膝坠泉|0x1000000|100\n加膝坠渊|0x1000000|100\n加压舱|0x0008|0\n加压素|0x0008|0\n加以解决|0x0000|526\n加油车|0x0008|1060\n加油机|0x100000|906\n加油加醋|0x1000000|100\n加油添醋|0x1000000|54815\n加油添酱|0x1000000|1346\n加油站|0x100000|8674\n加在一起|0x400000|12\n加枝添叶|0x1000000|1504\n加州大学|0x100000|511\n夹板气|0x100000|55290\n夹板医驼子|0x0008|100\n夹层玻璃|0x100000|914\n夹袋人物|0x100000|100\n夹道欢迎|0x800000|979\n夹轨器|0x100000|0\n夹江县|0x0040|1061\n夹克衫|0x0000|36477\n夹七带八|0x400000|0\n夹七夹八|0x1400000|48380\n夹枪带棒|0x1000000|1175\n夹枪带棍|0x1000000|100\n夹生饭|0x100000|49124\n夹心板|0x100000|433\n夹心糖|0x100000|1146\n夹竹桃|0x100000|29855\n夹注号|0x100000|0\n佳兵不祥|0x0000|100\n佳儿佳妇|0x1000000|1384\n佳木斯|0x0040|1187\n佳木斯港|0x0040|0\n佳木斯市|0x0040|1342\n佳人薄命|0x0000|100\n佳人才子|0x0000|100\n迦太基|0x100000|1610\n枷脰械手|0x1000000|100\n浃背汗流|0x1000000|100\n浃沦肌髓|0x1000000|100\n浃髓沦肤|0x1000000|100\n浃髓沦肌|0x1000000|100\n家败人亡|0x1000000|1301\n家蚕素|0x100000|0\n家藏户有|0x1000000|100\n家长会|0x100000|760\n家长礼短|0x1000000|100\n家长里短|0x1000000|35995\n家长式|0x100000|1056\n家长学校|0x100000|47091\n家长制|0x100000|34491\n家常便饭|0x1000000|752\n家常菜|0x100000|38282\n家常茶饭|0x1000000|1541\n家常饭|0x100000|48021\n家常话|0x100000|1064\n家常里短|0x1000000|100\n家成业就|0x1000000|100\n家丑不可外谈|0x0008|100\n家丑不可外扬|0x0008|1021\n家传户诵|0x1000000|100\n家传户颂|0x1000000|100\n家传人诵|0x1000000|100\n家大业大|0x0000|48754\n家道从容|0x1000000|100\n家道消乏|0x0000|100\n家道小康|0x0000|100\n家道中落|0x1000000|983\n家底儿|0x0000|22058\n家电产品|0x100000|779\n家电论坛|0x100000|536\n家电企业|0x100000|545\n家电市场|0x100000|533\n家电网|0x100000|498\n家电行业|0x100000|527\n家电业|0x100000|868\n家翻宅乱|0x1000000|100\n家烦宅乱|0x1000000|100\n家反宅乱|0x1000000|100\n家给民足|0x1000000|100\n家给人足|0x1000000|1249\n家和万事兴|0x0008|936\n家鸡野鹜|0x1000000|100\n家鸡野雉|0x1000000|100\n家骥人璧|0x1000000|100\n家家户户|0x100000|12133\n家家酒|0x100000|994\n家家有本难念的经|0x0008|1483\n家见户说|0x1000000|100\n家教网|0x100000|540\n家教信息|0x100000|437\n家教中心|0x0000|512\n家居风水|0x100000|459\n家居服|0x100000|445\n家居环境|0x100000|451\n家居设计|0x100000|518\n家居生活|0x100000|496\n家居时尚|0x100000|395\n家居饰品|0x100000|508\n家居用品|0x100000|602\n家居装饰|0x100000|545\n家具材料|0x100000|394\n家具厂|0x100000|525\n家具城|0x100000|483\n家具店|0x100000|457\n家具公司|0x100000|452\n家具配件|0x100000|426\n家具商|0x100000|394\n家具市场|0x100000|486\n家具五金|0x100000|445\n家具行业|0x100000|489\n家具用品|0x100000|388\n家具有限公司|0x100000|534\n家乐福|0x0008|1131\n家累千金|0x1000000|100\n家里人|0x100000|630\n家贫亲老|0x1000000|1295\n家贫如洗|0x1000000|1205\n家破人离|0x1000000|100\n家破人亡|0x1000000|24434\n家破身亡|0x0000|100\n家雀儿|0x100000|1271\n家散人亡|0x1000000|1304\n家书抵万金|0x0008|100\n家天下|0x100000|49477\n家庭版|0x100000|522\n家庭保健|0x100000|446\n家庭暴力|0x100000|28635\n家庭病床|0x0000|47090\n家庭财产|0x0008|905\n家庭成员|0x0000|596\n家庭服务员|0x0000|52286\n家庭妇女|0x800000|25761\n家庭副业|0x100000|51434\n家庭号|0x100000|0\n家庭和睦|0x800000|865\n家庭婚姻|0x100000|406\n家庭教师|0x100000|840\n家庭教育|0x800000|661\n家庭解体|0x0008|1\n家庭聚会|0x100000|447\n家庭理财|0x0000|540\n家庭联产承包责任制|0x0000|417\n家庭旅馆|0x100000|505\n家庭生活|0x100000|685\n家庭收入|0x100000|503\n家庭手工业|0x0008|0\n家庭医生|0x0008|763\n家庭影院|0x0008|44712\n家庭用品|0x100000|520\n家庭治疗|0x100000|969\n家庭主妇|0x100000|27118\n家庭装潢|0x100000|955\n家庭装饰|0x100000|493\n家徒壁立|0x1000000|1539\n家徒四壁|0x1400000|39721\n家亡国破|0x0000|100\n家委会|0x100000|1129\n家无常礼|0x1000000|100\n家无担石|0x1000000|1541\n家无儋石|0x1000000|100\n家无斗储|0x0000|100\n家无二主|0xc00000|0\n家务活|0x100000|853\n家务事|0x100000|844\n家系选择|0x0008|0\n家弦户诵|0x1000000|1540\n家乡话|0x100000|869\n家乡人|0x100000|914\n家协会|0x100000|479\n家学渊源|0x1000000|1057\n家殷人足|0x1000000|100\n家用电脑|0x100000|812\n家用电器|0x4000000|517\n家用机|0x100000|886\n家用轿车|0x100000|466\n家用空调|0x100000|925\n家用中央空调|0x100000|448\n家有敝帚|0x0000|100\n家谕户晓|0x1000000|100\n家喻户习|0x0000|100\n家喻户晓|0x1000000|13448\n家园业主论坛|0x100000|394\n家贼难防|0x1000000|1083\n家政公司|0x100000|501\n家政科|0x100000|0\n家政学|0x100000|1223\n家至户察|0x1000000|100\n家至户到|0x1000000|100\n家至户晓|0x1000000|100\n家至人说|0x0000|100\n家属楼|0x100000|956\n家属区|0x100000|972\n家族企业|0x0008|516\n家族式|0x100000|461\n葭莩之亲|0x100000|1360\n嘉定区|0x0040|1234\n嘉禾县|0x0040|1632\n嘉奖令|0x100000|1155\n嘉黎县|0x0040|1237\n嘉陵江|0x0040|1347\n嘉年华|0x100000|665\n嘉年华会|0x800000|963\n嘉善县|0x0040|1413\n嘉祥县|0x0040|1458\n嘉兴街|0x0040|0\n嘉兴市|0x0040|1166\n嘉言善行|0x1000000|100\n嘉言善状|0x1000000|100\n嘉言懿行|0x1000000|1225\n嘉义人|0x100000|1174\n嘉义市|0x0040|1456\n嘉义县|0x0040|1437\n嘉荫县|0x0040|1069\n嘉鱼县|0x0040|1542\n嘉峪关|0x0040|1278\n嘉峪关市|0x0040|1446\n戛釜撞瓮|0x0000|100\n戛戛独造|0x1000000|100\n戛然而止|0x1000000|27710\n戛玉鸣金|0x0000|100\n戛玉锵金|0x1000000|100\n戛玉敲冰|0x1000000|100\n戛玉敲金|0x1000000|100\n颊上三毫|0x1400000|0\n颊上三毛|0x1400000|0\n颊上添毫|0x1000000|1328\n甲不离身|0x1000000|100\n甲等医院|0x100000|445\n甲第连天|0x0000|100\n甲第连云|0x0000|100\n甲沟炎|0x100000|368\n甲骨文|0x100000|19249\n甲冠天下|0x0000|100\n甲基丙烯酸|0x0008|1578\n甲基化|0x100000|390\n甲基化酶|0x0008|0\n甲基叔丁基醚|0x0008|1128\n甲基纤维素|0x100000|403\n甲基异丁基酮|0x0008|0\n甲基转移酶|0x0008|0\n甲级队|0x100000|1101\n甲级联赛|0x100000|547\n甲级战犯|0x100000|503\n甲亢病|0x100000|367\n甲壳虫|0x0008|799\n甲壳动物|0x100000|1162\n甲壳类|0x0008|407\n甲壳素|0x100000|446\n甲壳质|0x0008|397\n甲类放大器|0x0008|0\n甲硫氨酸|0x0008|0\n甲羟戊酸|0x100000|1541\n甲天下|0x800000|825\n甲午战争|0x0008|1408\n甲酰胺|0x0008|1642\n甲硝唑|0x0008|1581\n甲藻黄素|0x0008|0\n甲状旁腺|0x0008|1046\n甲状旁腺机能减退症|0x100000|0\n甲状旁腺素|0x100000|0\n甲状软骨|0x800000|1201\n甲状腺|0x100000|24281\n甲状腺癌|0x100000|405\n甲状腺功能|0x100000|468\n甲状腺机能减退症|0x100000|0\n甲状腺机能亢进|0x100000|392\n甲状腺素|0x100000|1034\n甲状腺炎|0x0008|374\n甲状腺肿|0x0008|1014\n贾那布尔|0x0080|1412\n价等连城|0x1000000|100\n价电子|0x100000|1254\n价格比|0x100000|610\n价格便宜|0x100000|692\n价格表|0x100000|759\n价格低廉|0x100000|734\n价格法|0x100000|458\n价格公道|0x100000|842\n价格管理|0x100000|807\n价格合理|0x100000|662\n价格上涨|0x0000|660\n价格体系|0x0000|519\n价格下降|0x0000|548\n价格行情|0x100000|620\n价格优势|0x100000|548\n价格战|0x100000|639\n价格政策|0x100000|905\n价格指数|0x100000|585\n价廉物美|0x1000000|28026\n价目表|0x100000|37907\n价增一顾|0x401000|0\n价值尺度|0x0008|0\n价值观|0x100000|4920\n价值观念|0x0000|547\n价值规律|0x800000|17746\n价值连城|0x1000000|32130\n价值链|0x100000|556\n价值量|0x100000|1060\n价值论|0x100000|956\n价值千金|0x800000|1082\n价值形式|0x0008|1184\n驾车人|0x100000|1030\n驾鹤成仙|0x1000000|100\n驾鹤西归|0x800000|1177\n驾鹤西游|0x1000000|100\n驾肩接迹|0x1000000|100\n驾肩接武|0x1000000|100\n驾轻就熟|0x1000000|34951\n驾驶舱|0x100000|901\n驾驶盘|0x0008|386\n驾驶人|0x0008|1422\n驾驶室|0x100000|22830\n驾驶员|0x100000|8279\n驾驶员座椅|0x100000|400\n驾驶者|0x100000|820\n驾驶证|0x100000|777\n驾驶执照|0x0000|502\n驾雾腾云|0x1000000|100\n架不住|0x1000|33276\n架得住|0x1000|51010\n架海金梁|0x1000000|100\n架谎凿空|0x1000000|100\n架肩击毂|0x1000000|100\n架肩接踵|0x1000000|100\n架空电缆|0x0008|0\n架屋迭床|0x0000|100\n架屋叠床|0x1000000|100\n架子车|0x100000|27210\n架子工|0x100000|52767\n架子鼓|0x100000|440\n架子花|0x0000|54316\n架子猪|0x100000|1341\n假彩色合成|0x0008|0\n假痴不癫|0x0000|100\n假痴假呆|0x0000|100\n假慈悲|0x0000|100\n假大空|0x100000|45305\n假道灭虢|0x0000|100\n假道学|0x100000|45908\n假定性|0x100000|1203\n假动作|0x0008|0\n假恶丑|0x100000|1053\n假分数|0x100000|1187\n假公济私|0x1000000|36309\n假公营私|0x1000000|100\n假虎张威|0x1000000|100\n假睫毛|0x0000|451\n假力于人|0x1000000|100\n假两性畸形|0x0008|0\n假冒伪劣|0x800000|6029\n假冒者|0x100000|1149\n假眉三道|0x1400000|0\n假门假氏|0x1000000|100\n假门假事|0x1000000|1529\n假面具|0x100000|32256\n假名托姓|0x1000000|100\n假模假式|0x0100|47708\n假人辞色|0x1000000|100\n假人假义|0x40000000|100\n假仁假义|0x1000000|49125\n假仁假意|0x0000|100\n假日经济|0x0000|35521\n假日酒店|0x100000|523\n假嗓子|0x100000|1301\n假设检验|0x0008|0\n假手于人|0x1000000|1193\n假途灭虢|0x1000000|1224\n假戏真唱|0x800000|1215\n假戏真做|0x1000000|49838\n假想敌|0x100000|37366\n假小子|0x100000|38699\n假惺惺|0x1000000|32002\n假性甲状旁腺机能减退症|0x100000|0\n假性近视|0x100000|1042\n假洋鬼子|0x0000|41722\n假以辞色|0x1000000|1211\n假以时日|0x800000|882\n假誉驰声|0x1000000|100\n假正经|0x0000|46210\n嫁狗随狗|0x1000000|1027\n嫁狗逐狗|0x1000000|100\n嫁祸于人|0x1000000|1106\n嫁鸡随鸡|0x1000000|43432\n嫁鸡逐鸡|0x1000000|100\n嫁接法|0x100000|0\n嫁接杂种|0x0008|0\n嫁犬逐犬|0x1000000|100\n嫁妆费|0x100000|0\n稼穑艰难|0x1000000|1355\n奸掳烧杀|0x0000|100\n奸同鬼蜮|0x1000000|100\n奸淫掳掠|0x0000|100\n奸淫幼女|0x0008|1\n尖担两头脱|0x0008|1536\n尖刀班|0x100000|1238\n尖端放电|0x0008|1094\n尖端科学|0x100000|1077\n尖叫声|0x100000|574\n尖晶石|0x0008|1081\n尖括号|0x100000|1111\n尖溜溜|0x0100|48756\n尖锐化|0x1000|38901\n尖锐湿疣|0x0008|830\n尖沙咀|0x0040|1363\n尖酸刻薄|0x40000000|42930\n尖言尖语|0x0000|100\n尖言冷语|0x1000000|100\n尖扎县|0x0040|1121\n尖嘴薄舌|0x1000000|1540\n尖嘴猴腮|0x1000000|50225\n坚壁清野|0x1000000|38902\n坚不可摧|0x1000000|34952\n坚持不懈|0x1000000|700\n坚持不渝|0x1000000|1237\n坚持改革开放|0x0000|441\n坚持四项基本原则|0x400000|470\n坚持原则|0x100000|842\n坚持真理|0x0008|1\n坚船利炮|0x800000|1041\n坚定不移|0x1000000|5058\n坚定理想信念|0x100000|472\n坚定性|0x100000|1005\n坚额健舌|0x1000000|100\n坚甲厉兵|0x1000000|100\n坚甲利兵|0x1000000|55291\n坚甲利刃|0x1000000|100\n坚苦卓绝|0x1000000|1090\n坚强不屈|0x1000000|1005\n坚忍不拔|0x1000000|867\n坚韧不拔|0x1000000|18430\n坚如盘石|0x1000000|0\n坚如磐石|0x1000000|33131\n坚守不渝|0x1000000|100\n坚贞不屈|0x1000000|34187\n坚贞不渝|0x1000000|969\n坚执不从|0x0000|100\n歼击机|0x100000|28278\n歼灭战|0x100000|32764\n歼一警百|0x1400000|0\n间冰期|0x100000|1231\n间不容发|0x1000000|50226\n间不容缓|0x1000000|100\n间不容砺|0x1000000|100\n间不容缕|0x1000000|100\n间不容瞚|0x1000000|100\n间不容瞬|0x0000|100\n间不容息|0x1000000|100\n间谍案|0x100000|424\n间谍网|0x100000|1119\n间谍卫星|0x100000|462\n间断性|0x100000|1013\n间二甲苯|0x400000|0\n间隔号|0x100000|1251\n间隔时间|0x100000|519\n间见层出|0x0000|100\n间接地|0x0000|524\n间接经验|0x100000|1107\n间接税|0x100000|48758\n间接推理|0x100000|1539\n间接性|0x100000|1046\n间接选举|0x800000|45593\n间皮瘤|0x100000|1168\n间歇河|0x0008|0\n间歇期|0x100000|413\n间歇泉|0x0008|1171\n间歇热|0x100000|1396\n间歇性|0x100000|825\n间歇振荡器|0x100000|1320\n间奏曲|0x100000|55709\n肩背难望|0x1000000|100\n肩背相望|0x1000000|100\n肩并肩|0x0000|29534\n肩从齿序|0x1000000|100\n肩关节|0x0008|1003\n肩胛骨|0x100000|45307\n肩劳任怨|0x1000000|100\n肩摩毂击|0x1000000|1537\n肩摩毂接|0x1000000|100\n肩摩袂接|0x1000000|100\n肩摩踵接|0x1000000|1542\n肩周炎|0x100000|47093\n艰巨性|0x100000|954\n艰苦备尝|0x0000|53786\n艰苦创业|0x800000|790\n艰苦奋斗|0x800000|744\n艰苦朴素|0x1000000|941\n艰苦卓绝|0x1000000|16300\n艰难竭蹶|0x1000000|1413\n艰难困苦|0x1000000|861\n艰难曲折|0x800000|1042\n艰难险阻|0x100000|861\n艰难玉成|0x0000|100\n艰深晦涩|0x0000|100\n兼爱无私|0x1000000|100\n兼包并容|0x1000000|100\n兼包并畜|0x1000000|100\n兼程并进|0x0000|100\n兼程前进|0x1000000|100\n兼而有之|0x1000000|33404\n兼官重绂|0x1000000|100\n兼葭秋水|0x1000000|100\n兼葭倚玉|0x0000|100\n兼览博照|0x1000000|100\n兼权尚计|0x0000|100\n兼权熟计|0x1000000|1307\n兼人之勇|0x0000|100\n兼容并包|0x1000000|45004\n兼容并蓄|0x1000000|962\n兼容机|0x100000|907\n兼容问题|0x100000|457\n兼容性|0x100000|695\n兼容性问题|0x100000|493\n兼弱攻昧|0x1000000|1386\n兼善天下|0x0000|100\n兼收并采|0x1000000|100\n兼收并录|0x1000000|100\n兼收并畜|0x1000000|100\n兼收并蓄|0x1000000|30403\n兼收博采|0x1000000|100\n兼听则明|0x800000|1041\n兼听则明，偏信则暗|0x0000|55710\n兼朱重紫|0x1000000|100\n监测器|0x100000|54817\n监测网|0x100000|472\n监测仪器|0x100000|440\n监测站|0x100000|892\n监察部|0x100000|1312\n监察机关|0x0000|534\n监察局|0x100000|1240\n监察权|0x100000|1231\n监察员|0x100000|1022\n监察院|0x100000|1067\n监督程序|0x0008|4\n监督管理|0x100000|600\n监督机制|0x0000|547\n监督权|0x100000|906\n监督人|0x100000|1131\n监督哨|0x100000|1376\n监督员|0x100000|7666\n监督站|0x100000|900\n监督者|0x100000|991\n监督制度|0x100000|18\n监管网|0x100000|375\n监护权|0x100000|450\n监护人|0x100000|18873\n监控器|0x100000|51437\n监利县|0x0040|1542\n监临自盗|0x0000|100\n监票人|0x100000|1149\n监市履狶|0x0000|100\n监事会|0x100000|12238\n监视器|0x100000|33642\n监守自盗|0x1000000|45002\n监听器|0x100000|915\n监外执行|0x1000|53787\n监狱长|0x100000|933\n监主自盗|0x0000|100\n犍为县|0x0040|1074\n缄口不言|0x0000|100\n缄口结舌|0x1000000|1538\n缄口无言|0x0000|100\n煎蛋卷|0x0008|0\n煎豆摘瓜|0x1000000|100\n煎胶续弦|0x1000000|100\n煎水作冰|0x1000000|100\n煎药法|0x0008|0\n蒹葭伊人|0x0000|100\n蒹葭倚玉|0x0000|100\n蒹葭倚玉树|0x0008|100\n蒹葭之思|0x0000|100\n鹣鲽情深|0x1000000|1162\n拣佛烧香|0x1000000|1336\n拣精拣肥|0x1000000|100\n拣精择肥|0x0000|100\n俭不中礼|0x1000000|100\n俭存奢失|0x0000|100\n俭腹高谈|0x0000|100\n俭故能广|0x800000|1223\n俭可养廉|0x800000|100\n俭以养德|0x0000|100\n俭以养廉|0x1000000|1541\n柬埔寨|0x0040|5749\n茧丝牛毛|0x1000000|100\n捡便宜|0x800000|51847\n捡破烂|0x1000|890\n捡破烂儿|0x0000|46211\n减毒疫苗|0x0008|0\n减反射膜|0x0008|0\n减亏增盈|0x0000|47710\n减免额|0x100000|1397\n减免税|0x100000|924\n减色性|0x0008|0\n减师半德|0x1000000|100\n减数分裂|0x100000|0\n减速剂|0x100000|1386\n减速马达|0x100000|415\n减速器|0x100000|889\n减速运动|0x800000|784\n减压阀|0x100000|47389\n减压器|0x0008|1016\n减压塔|0x0008|0\n减压蒸馏|0x0008|0\n减粘裂化|0x0008|0\n减振器|0x100000|456\n减震器|0x100000|46785\n减租减息|0x1000|1\n减阻剂|0x100000|0\n剪草除根|0x1000000|1372\n剪草机|0x100000|1089\n剪刀差|0x100000|1026\n剪恶除奸|0x0000|100\n剪发被褐|0x1000000|100\n剪发杜门|0x0000|100\n剪发披缁|0x1000000|100\n剪毛机|0x100000|1172\n剪票员|0x100000|1212\n剪切板|0x0000|459\n剪秋萝|0x100000|1410\n剪贴板|0x100000|828\n剪贴簿|0x0000|491\n剪应变|0x0008|0\n剪应力|0x0008|0\n剪纸片|0x100000|1275\n剪纸作品|0x100000|420\n剪烛西窗|0x1000000|100\n检波器|0x0008|1111\n检测工具|0x100000|488\n检测器|0x100000|872\n检测仪表|0x100000|391\n检查表|0x0000|466\n检查点|0x100000|1033\n检查法|0x100000|1036\n检查官|0x100000|871\n检查井|0x0008|0\n检查室|0x100000|1071\n检查团|0x100000|1043\n检查一下|0x400000|3\n检查员|0x100000|957\n检查站|0x100000|12369\n检查指导|0x0000|526\n检查组|0x100000|835\n检察长|0x100000|824\n检察工作|0x0008|480\n检察官|0x100000|7104\n检察官法|0x100000|1109\n检察机关|0x0008|625\n检察署|0x100000|1130\n检察厅|0x100000|1124\n检察业务|0x100000|1134\n检察员|0x100000|1069\n检察院|0x100000|3418\n检举人|0x100000|1107\n检举信|0x100000|1095\n检流计|0x100000|1254\n检索系统|0x0008|486\n检讨会|0x100000|1101\n检务十公开|0x400000|0\n检验所|0x100000|1435\n检验员|0x100000|902\n检疫站|0x100000|975\n检阅台|0x100000|1189\n检字法|0x100000|1140\n简傲绝俗|0x0000|100\n简报室|0x100000|1\n简笔画|0x100000|427\n简便性|0x100000|1100\n简便易行|0x800000|940\n简单扼要|0x800000|1036\n简单化|0x1000|16870\n简单机械|0x100000|1072\n简单劳动|0x100000|32893\n简单明了|0x0000|531\n简单商品|0x100000|1167\n简单协作|0x0008|0\n简单易行|0x800000|883\n简单再生产|0x100000|1140\n简而言之|0x800000|35370\n简繁体|0x100000|491\n简分数|0x100000|1536\n简化汉字|0x100000|1139\n简化字|0x100000|36157\n简简单单|0x0100|622\n简洁性|0x100000|1096\n简捷了当|0x0000|100\n简截了当|0x0000|100\n简介性|0x100000|0\n简历表|0x0008|1643\n简历封面|0x100000|458\n简历模板|0x100000|510\n简落狐狸|0x0000|100\n简明扼要|0x800000|841\n简明新闻|0x0008|0\n简能而任|0x0000|100\n简切了当|0x0000|100\n简丝数米|0x0000|100\n简体版|0x100000|591\n简体中文|0x0000|884\n简体中文版|0x0000|743\n简体中文正式版|0x100000|487\n简体字|0x100000|39940\n简贤附势|0x0000|100\n简贤任能|0x0000|100\n简谐运动|0x800000|1140\n简言之|0x800000|26396\n简阳市|0x0040|1621\n简要不烦|0x0000|100\n简要清通|0x0000|100\n简易程序|0x0008|958\n简易师范|0x800000|1000\n简约论坛|0x100000|446\n简约详核|0x0000|100\n简在帝心|0x0000|100\n简正模式|0x100000|0\n简政放权|0x800000|1197\n碱基对|0x100000|1148\n碱基配对|0x0008|0\n碱基置换|0x0008|0\n碱金属|0x100000|1066\n碱面儿|0x0000|49126\n碱式盐|0x100000|1539\n碱土金属|0x0008|1206\n碱性磷酸酶|0x0008|0\n碱性平炉|0x0008|0\n碱性蓄电池|0x0008|0\n碱性氧化物|0x100000|1077\n碱中毒|0x0008|0\n翦草除根|0x0000|100\n蹇谔匪躬|0x1000000|100\n蹇蹇匪躬|0x1000000|100\n蹇人上天|0x1000000|100\n蹇人升天|0x1000000|100\n蹇视高步|0x1000000|100\n蹇之匪躬|0x1000000|100\n见鞍思马|0x1000000|100\n见不得|0x0000|21622\n见不得人|0x800000|781\n见财起意|0x1000000|53789\n见弹求鹗|0x1000000|100\n见弹求鸮|0x1000000|100\n见德思齐|0x1000000|100\n见多识广|0x1000000|25898\n见分晓|0x800000|30716\n见风使船|0x1000000|100\n见风使舵|0x1000000|46786\n见风使帆|0x1000000|100\n见风是雨|0x1000000|1412\n见风转舵|0x1000000|1085\n见风转篷|0x1000000|100\n见缝插针|0x1000000|32387\n见缝就钻|0x800000|1226\n见高低|0x800000|53790\n见羹见墙|0x1000000|100\n见怪不怪|0x1000000|28842\n见怪非怪|0x1000000|100\n见惯不惊|0x1000000|1114\n见惯司空|0x1000000|100\n见好就收|0x800000|877\n见机而行|0x1000000|1280\n见机而作|0x1000000|1256\n见机行事|0x1000000|37720\n见几而作|0x1000000|1370\n见幾而作|0x0000|100\n见见面|0x1000|914\n见经识经|0x1000000|100\n见精识精|0x1000000|100\n见景生情|0x1000000|47712\n见可而进|0x1000000|100\n见哭兴悲|0x1000000|100\n见棱见角|0x800000|1239\n见利思义|0x1000000|100\n见利忘义|0x1000000|27858\n见猎心喜|0x1000000|1078\n见卵求鸡|0x0000|100\n见马克思|0x1000|1087\n见貌辨色|0x1000000|100\n见面礼|0x100000|32258\n见溺不救|0x1000000|100\n见其一未见其二|0x400000|100\n见弃于人|0x0000|100\n见钱眼红|0x1000000|100\n见钱眼开|0x1000000|38701\n见墙见羹|0x1000000|100\n见诮大方|0x1000000|100\n见雀张罗|0x1000000|100\n见仁见智|0x1000000|31858\n见善必迁|0x0000|100\n见上帝|0x1000|946\n见神见鬼|0x1000000|1377\n见时知几|0x1000000|100\n见识一下|0x400000|1\n见豕负涂|0x1000000|100\n见始知终|0x1000000|100\n见世面|0x1000|34188\n见世生苗|0x1000000|100\n见事风生|0x1000000|100\n见事生风|0x1000000|100\n见势不妙|0x800000|938\n见死不救|0x1000000|24375\n见素抱朴|0x1000000|1155\n见所不见|0x1000000|100\n见所未见|0x1000000|44148\n见兔放鹰|0x1000000|100\n见兔顾犬|0x1000000|1368\n见危授命|0x1000000|51440\n见危致命|0x1000000|1319\n见微知萌|0x1000000|100\n见微知著|0x1000000|33918\n见物不见人|0x0008|100\n见习期|0x100000|1021\n见习生|0x100000|1039\n见贤思齐|0x1000000|1007\n见小暗大|0x0000|100\n见笑大方|0x1000000|100\n见性成佛|0x0000|100\n见阎王|0x0000|51848\n见噎废食|0x1000000|100\n见义必为|0x1000000|100\n见义当为|0x1000000|100\n见义敢为|0x1000000|100\n见义勇为|0x1000000|8906\n见异思迁|0x1000000|41957\n见招拆招|0x0008|1\n见证人|0x100000|19055\n见证者|0x100000|940\n见之不取|0x1000000|100\n见智见仁|0x1000000|1320\n见诸行动|0x800000|973\n建蔽率|0x0008|0\n建材超市|0x100000|498\n建材城|0x100000|500\n建材工业|0x0000|486\n建材机械|0x100000|437\n建材价格|0x100000|478\n建材设备|0x100000|432\n建材市场|0x100000|572\n建材行业|0x100000|513\n建材有限公司|0x100000|551\n建材装饰|0x100000|457\n建昌县|0x0040|1077\n建成区|0x0008|972\n建成投产|0x0000|540\n建德市|0x0040|1381\n建功立事|0x1000000|100\n建功立业|0x1000000|12905\n建构主义|0x100000|473\n建国北路|0x0040|1640\n建国以来|0x0000|533\n建湖县|0x0040|1402\n建军节|0x4000|28843\n建立健全|0x0000|663\n建立起|0x0000|707\n建立外交关系|0x0008|26\n建瓴高屋|0x1000000|100\n建宁县|0x0040|1075\n建瓯市|0x0040|1461\n建平县|0x0040|1058\n建设部|0x100000|1008\n建设成就|0x100000|985\n建设单位|0x0008|807\n建设工作会议|0x100000|495\n建设局|0x100000|1226\n建设厅|0x100000|1291\n建设项目|0x100000|628\n建设性|0x100000|732\n建设性三角洲|0x400000|0\n建设银行|0x0008|1038\n建设者|0x100000|819\n建设中|0x0000|404\n建始县|0x0040|1646\n建水县|0x0040|1587\n建阳市|0x0040|1531\n建议案|0x100000|1046\n建议书|0x100000|829\n建章立制|0x800000|1013\n建筑安装|0x100000|591\n建筑材料|0x0008|598\n建筑材料工业|0x0008|426\n建筑队|0x100000|1416\n建筑法|0x100000|976\n建筑风格|0x0008|559\n建筑工程|0x100000|551\n建筑工程学院|0x100000|482\n建筑工地|0x0000|550\n建筑工人|0x0000|488\n建筑工业化|0x0008|0\n建筑功能|0x0008|0\n建筑构造|0x0008|1\n建筑光学|0x0008|0\n建筑机械|0x0008|736\n建筑节能|0x0000|574\n建筑结构|0x0008|716\n建筑经济学|0x0008|0\n建筑面积|0x0008|578\n建筑模数|0x0008|0\n建筑群|0x100000|16759\n建筑商|0x100000|944\n建筑设备|0x100000|809\n建筑设计|0x0008|615\n建筑设计院|0x0000|479\n建筑声学|0x0008|0\n建筑师|0x100000|17226\n建筑物|0x100000|6354\n建筑行业|0x0008|529\n建筑学|0x100000|811\n建筑业|0x100000|11769\n建筑艺术|0x0008|806\n建筑制图|0x0008|0\n建筑装修|0x0008|802\n剑拔弩张|0x1000000|30283\n剑齿虎|0x100000|1009\n剑齿象|0x100000|1249\n剑川县|0x0040|1147\n剑胆琴心|0x1000000|992\n剑阁县|0x0040|1094\n剑河县|0x0040|1142\n剑及屦及|0x1000000|100\n剑及履及|0x1000000|1243\n剑戟森森|0x1000000|1331\n剑眉一剔|0x400000|0\n剑气箫心|0x1000000|1157\n剑桥大学|0x0020|1306\n剑桥商务英语|0x100000|461\n剑首一吷|0x1400000|0\n剑树刀山|0x100000|1397\n剑态箫心|0x1000000|100\n剑头一吷|0x1400000|0\n剑侠情缘|0x100000|773\n贱骨头|0x100000|43199\n贱敛贵出|0x1000000|100\n贱敛贵发|0x1000000|100\n贱买贵卖|0x1000000|1236\n贱目贵耳|0x1000000|100\n贱入贵出|0x1000000|100\n健步如飞|0x1000000|46787\n健健康康|0x0100|736\n健康报|0x100000|905\n健康成长|0x0000|600\n健康发展|0x0000|687\n健康器|0x100000|1241\n健康状况|0x0000|602\n健力宝|0x0008|1331\n健美操|0x100000|32003\n健美运动|0x100000|1065\n健身操|0x100000|29024\n健身房|0x100000|25088\n健身活动|0x0000|464\n健身器|0x100000|37554\n健身运动|0x0000|489\n健忘症|0x100000|920\n健行队|0x100000|0\n健壮性|0x0000|395\n渐不可长|0x1000000|100\n渐渐地|0x8000000|432\n渐近收敛|0x0008|0\n渐近线|0x100000|1132\n渐进法|0x0008|0\n渐开线|0x100000|1082\n渐入佳境|0x1000000|33776\n渐至佳境|0x1000000|1538\n谏尸谤屠|0x1000000|100\n谏争如流|0x0000|100\n腱鞘炎|0x0000|51849\n践规踏矩|0x1000000|100\n践律蹈礼|0x1000000|100\n践土食毛|0x1000000|100\n鉴别方法|0x0000|452\n鉴别力|0x100000|1046\n鉴别培养基|0x0008|0\n鉴别器|0x0008|0\n鉴别染色|0x0008|0\n鉴定会|0x100000|1006\n鉴定结论|0x0000|503\n鉴定人|0x100000|1030\n鉴定室|0x0008|1209\n鉴定书|0x100000|36655\n鉴定委员会|0x0000|494\n鉴定者|0x100000|1195\n鉴机识变|0x1000000|100\n鉴空衡平|0x1000000|100\n鉴毛辨色|0x0000|100\n鉴貌辨色|0x1000000|1228\n鉴频器|0x100000|1132\n鉴前毖后|0x1000000|100\n鉴赏家|0x100000|992\n鉴赏力|0x100000|35522\n鉴往知来|0x800000|1181\n鉴影度形|0x1000000|100\n键盘记录|0x100000|452\n键盘乐器|0x100000|989\n键盘输入|0x0000|514\n僭赏滥刑|0x1000000|100\n槛花笼鹤|0x1000000|100\n箭拔弩张|0x0000|100\n箭靶子|0x100000|54819\n箭不虚发|0x800000|1352\n箭穿雁嘴|0x0000|100\n箭图的二次空间|0x400000|0\n箭在弦上|0x1000000|34954\n江安县|0x0040|1053\n江北区|0x0040|1162\n江川县|0x0040|1074\n江达县|0x0040|1205\n江东父老|0x1000000|961\n江都市|0x0040|1194\n江翻海倒|0x1000000|100\n江翻海沸|0x1000000|100\n江翻海搅|0x1000000|100\n江翻海扰|0x1000000|100\n江海不逆小流|0x0008|100\n江汉朝宗|0x800000|1420\n江汉平原|0x0040|1594\n江河湖海|0x100000|957\n江河日下|0x1000000|41037\n江河行地|0x800000|1195\n江湖梦|0x100000|434\n江湖骗子|0x100000|47390\n江湖情|0x100000|414\n江华瑶族自治县|0x0040|1710\n江津市|0x0040|1230\n江口县|0x0040|1123\n江口洋介|0x0080|0\n江郎才尽|0x1000000|44432\n江郎才掩|0x1000000|100\n江陵县|0x0040|1637\n江流日下|0x1000000|100\n江门市|0x0040|1123\n江米酒|0x100000|55293\n江南春|0x100000|466\n江南地区|0x0040|1597\n江南海北|0x0000|100\n江南七怪|0x400000|0\n江南水乡|0x0000|523\n江南晚报|0x100000|387\n江南一带|0x400000|0\n江山好改|0x1000000|100\n江山如故|0x0000|100\n江山如画|0x1000000|939\n江山市|0x0040|1307\n江山易改|0x1000000|870\n江山易改本性难移|0x0000|100\n江水不犯河水|0x0008|100\n江苏常州|0x100000|555\n江苏电信|0x100000|547\n江苏分公司|0x100000|396\n江苏路|0x100000|489\n江苏南京|0x100000|567\n江苏人|0x100000|858\n江苏省|0x0040|814\n江苏省委|0x100000|475\n江苏徐州|0x100000|525\n江苏扬州|0x100000|482\n江苏镇江|0x100000|473\n江天一色|0x400000|100\n江西南昌|0x100000|523\n江西人|0x100000|912\n江西日报|0x100000|441\n江西省|0x0040|978\n江西师范大学|0x100000|437\n江心补漏|0x1000000|100\n江淹才尽|0x1000000|1536\n江淹梦笔|0x1000000|100\n江洋大盗|0x1000000|52770\n江阴市|0x0040|1106\n江永县|0x0040|1055\n江油市|0x0040|1544\n江源县|0x0040|1098\n江云渭树|0x0000|100\n江泽民|0x0080|1566\n江泽民同志|0x0000|574\n江主席|0x100000|466\n江孜县|0x0040|1152\n江总书记|0x0000|488\n江左夷吾|0x1000000|100\n姜桂之性|0x1000000|100\n姜太公钓鱼|0x0008|1024\n姜太公钓鱼愿者上钩|0x0000|100\n姜堰市|0x0040|1318\n将本求财|0x1000000|100\n将本求利|0x1000000|1301\n将伯之呼|0x1000000|100\n将伯之助|0x1000000|100\n将成斧柯|0x1000000|0\n将错就错|0x1000000|40163\n将夺固与|0x1000000|100\n将飞翼伏|0x0000|100\n将功补过|0x1000000|55713\n将功抵罪|0x0000|100\n将功赎罪|0x1000000|47392\n将功折过|0x1000000|100\n将功折罪|0x1000000|1173\n将机就机|0x1000000|100\n将机就计|0x1000000|1541\n将计就计|0x1000000|35065\n将就一下|0x400000|0\n将军肚|0x100000|55925\n将乐县|0x0040|1558\n将李代桃|0x1000000|100\n将门虎子|0x0000|100\n将门无犬子|0x0000|100\n将门有将|0x1000000|1521\n将勤补拙|0x1000000|1247\n将取固予|0x1000000|100\n将顺其美|0x0000|100\n将天就地|0x1000000|100\n将无作有|0x1000000|1540\n将无做有|0x1000000|100\n将虾钓鳖|0x1000000|100\n将相之器|0x0000|100\n将心比心|0x1000000|32895\n将信将疑|0x1000000|24237\n将胸比肚|0x1000000|100\n将寻斧柯|0x1000000|0\n将用斧柯|0x1000000|0\n将欲取之|0x1000000|100\n将遇良材|0x1000000|100\n浆酒霍肉|0x1000000|100\n浆酒藿肉|0x1000000|100\n浆纱机|0x100000|380\n浆水不交|0x1000000|100\n浆细胞|0x0008|0\n豇豆花叶病毒|0x0008|0\n豇豆花叶病毒组|0x100000|0\n僵李代桃|0x1000000|100\n僵尸洞|0x0040|0\n僵桃代李|0x1000000|100\n讲出来|0x0000|510\n讲道理|0x0000|567\n讲古论今|0x1000000|100\n讲故事|0x1000|681\n讲话稿|0x100000|472\n讲价钱|0x1000|51850\n讲讲话|0x1000|1039\n讲交情|0x0000|41724\n讲解员|0x100000|928\n讲经说法|0x1000000|1039\n讲面子|0x1000|1113\n讲排场|0x800000|29025\n讲情面|0x800000|39944\n讲师团|0x100000|23586\n讲是说非|0x0000|100\n讲述法|0x0008|0\n讲卫生|0x1000|873\n讲文张字|0x1000000|100\n讲习班|0x100000|35224\n讲习会|0x100000|1113\n讲信修睦|0x1000000|1173\n讲演稿|0x100000|1046\n讲义费|0x100000|1170\n奖惩制度|0x0000|462\n奖罚分明|0x800000|1085\n奖金税|0x100000|1304\n奖励金|0x100000|441\n奖励制度|0x100000|488\n奖勤罚懒|0x800000|46487\n奖学金|0x100000|11875\n奖学金获得者|0x0000|391\n奖优罚劣|0x800000|37013\n奖章获得者|0x100000|427\n奖助金|0x0008|0\n蒋家王朝|0x800000|1090\n蒋介石|0x100000|650\n蒋经国|0x100000|506\n匠门弃材|0x1000000|100\n匠石运金|0x0000|100\n匠心独具|0x1000000|954\n匠心独妙|0x0000|100\n匠心独运|0x1000000|34955\n降半旗|0x1000|49842\n降本流末|0x1000000|100\n降低成本|0x0000|620\n降钙素|0x100000|0\n降格以求|0x1000000|100\n降贵纡尊|0x1000000|100\n降降温|0x1000|1008\n降龙伏虎|0x1000000|1081\n降龙十八掌|0x400008|0\n降落伞|0x100000|29026\n降水量|0x100000|11169\n降心俯首|0x1000000|100\n降心顺俗|0x1000000|100\n降心下气|0x1000000|100\n降心相从|0x1000000|100\n降雪量|0x100000|1091\n降压药|0x0008|946\n降颜屈体|0x1000000|100\n降妖捉怪|0x0000|100\n降雨量|0x100000|877\n降志辱身|0x1000000|1310\n降尊临卑|0x1000000|100\n降尊纡贵|0x1000000|100\n绛红色|0x100000|1072\n酱豆腐|0x100000|45006\n酱紫色|0x100000|1097\n交白卷|0x1000|38702\n交杯酒|0x100000|45007\n交臂历指|0x1000000|100\n交臂失之|0x1000000|1327\n交臂相失|0x1000000|100\n交变电场|0x800000|1166\n交叉点|0x100000|852\n交叉调制|0x0008|0\n交叉感染|0x0000|29217\n交叉科学|0x100000|43204\n交叉口|0x100000|784\n交叉杂交|0x0008|0\n交城县|0x0040|1611\n交出去|0x1000|0\n交代作用|0x0008|0\n交淡若水|0x1000000|100\n交付给|0x0000|495\n交感神经|0x800000|927\n交感神经系统|0x0008|0\n交互式|0x20000000|685\n交互作用|0x0008|1\n交换机|0x100000|18208\n交换价值|0x800000|37721\n交换量|0x100000|1177\n交换所|0x100000|1151\n交换台|0x100000|1282\n交汇点|0x100000|30937\n交会点|0x100000|1116\n交会穴|0x0008|0\n交货单|0x100000|1300\n交货期|0x100000|839\n交际费|0x100000|1122\n交际花|0x100000|39725\n交际舞|0x100000|47095\n交接班|0x100000|36656\n交接点|0x100000|1103\n交界处|0x100000|749\n交颈并头|0x1000000|100\n交警部门|0x100000|526\n交警大队|0x100000|528\n交警队|0x100000|945\n交警支队|0x100000|515\n交口称誉|0x1000000|1312\n交口称赞|0x800000|944\n交口同声|0x1000000|100\n交口县|0x0040|1086\n交口赞誉|0x0000|100\n交梨火枣|0x0000|100\n交詈聚唾|0x1000000|100\n交联剂|0x0008|1040\n交流电|0x100000|32004\n交流电动机|0x100000|408\n交流电力机车|0x0008|0\n交流电路|0x0008|0\n交流工作经验|0x0000|378\n交流会|0x100000|720\n交流经验|0x100000|737\n交流平台|0x100000|618\n交流中心|0x100000|667\n交能易作|0x1000000|100\n交朋友|0x800000|618\n交浅言深|0x1000000|1134\n交通安全|0x100000|667\n交通标志|0x0008|852\n交通部|0x0020|1173\n交通部长|0x100000|695\n交通部门|0x100000|858\n交通车|0x100000|45909\n交通处|0x100000|1249\n交通大学|0x100000|659\n交通岛|0x0008|1366\n交通灯|0x0008|927\n交通地图|0x100000|474\n交通堵塞|0x0000|487\n交通法|0x100000|431\n交通法规|0x100000|844\n交通费|0x100000|837\n交通岗|0x100000|1122\n交通工具|0x100000|658\n交通管理|0x100000|790\n交通广播|0x100000|431\n交通规则|0x0000|515\n交通壕|0x100000|43685\n交通警|0x100000|1099\n交通警察|0x100000|30611\n交通局|0x100000|729\n交通量|0x100000|37910\n交通路线|0x100000|503\n交通设备|0x100000|405\n交通设施|0x100000|512\n交通史|0x100000|1112\n交通事故|0x100000|660\n交通枢纽|0x0008|32\n交通厅|0x100000|808\n交通图|0x100000|820\n交通网|0x100000|904\n交通线|0x100000|31860\n交通线路|0x100000|447\n交通信号|0x100000|45910\n交通学院|0x100000|472\n交通银行|0x0020|1176\n交通员|0x100000|1166\n交通运输|0x0008|500\n交通站|0x100000|1100\n交通肇事|0x0008|473\n交通肇事罪|0x0000|51852\n交通秩序|0x0000|508\n交通状况|0x100000|588\n交头互耳|0x1000000|100\n交头接耳|0x1000000|24770\n交相辉映|0x1000000|19484\n交响乐|0x100000|12376\n交响乐队|0x100000|1055\n交响乐团|0x100000|815\n交响乐章|0x100000|0\n交响曲|0x100000|14904\n交响诗|0x100000|39532\n交响音乐|0x100000|813\n交学费|0x0000|35523\n交易成本|0x100000|527\n交易额|0x100000|826\n交易法|0x100000|1036\n交易方式|0x100000|596\n交易规则|0x100000|505\n交易过程|0x100000|565\n交易会|0x100000|9684\n交易价格|0x100000|634\n交易类型|0x100000|542\n交易平台|0x100000|612\n交易师|0x100000|484\n交易市场|0x100000|677\n交易税|0x100000|1014\n交易所|0x100000|11677\n交易系统|0x100000|564\n交易员|0x100000|538\n交易中心|0x100000|626\n交谊舞|0x100000|901\n交战国|0x100000|50610\n郊寒岛瘦|0x1000000|1276\n郊区化|0x1000|1033\n郊区一日游|0x400000|0\n娇滴滴|0x0100|27289\n娇鸾雏凤|0x1000000|100\n娇嫩嫩|0x0100|1182\n娇皮嫩肉|0x1000000|100\n娇生惯养|0x1000000|32525\n娇声娇气|0x1000000|1125\n娇小玲珑|0x1000000|43433\n浇淳散朴|0x1000000|100\n浇醇散朴|0x1000000|100\n浇风薄俗|0x0000|100\n浇瓜之惠|0x1000000|100\n浇冷水|0x800000|1129\n骄傲自满|0x1000000|967\n骄兵必败|0x1000000|1064\n骄兵之计|0x0000|100\n骄侈暴佚|0x1000000|100\n骄侈淫虐|0x1000000|100\n骄儿騃女|0x0000|100\n骄娇二气|0x400000|0\n骄奢放逸|0x1000000|100\n骄奢淫佚|0x1000000|1341\n骄奢淫泆|0x1000000|100\n骄奢淫逸|0x1000000|44151\n骄生惯养|0x1000000|100\n骄泰淫泆|0x1000000|100\n骄阳似火|0x800000|891\n骄佚奢淫|0x1000000|100\n胶版印刷|0x0008|0\n胶版纸|0x100000|649\n胶东半岛|0x0040|1506\n胶鬲之困|0x1000000|100\n胶合板|0x100000|36658\n胶结作用|0x0008|0\n胶南市|0x0040|1435\n胶囊化|0x100000|0\n胶态化|0x100000|0\n胶体化学|0x0008|0\n胶体磨|0x0008|1517\n胶体溶液|0x100000|1043\n胶印机|0x100000|509\n胶原酶|0x100000|1157\n胶粘带|0x100000|438\n胶粘剂|0x100000|713\n胶粘制品|0x100000|433\n胶州市|0x0040|1422\n胶州湾|0x0040|1634\n胶柱调瑟|0x1000000|100\n胶柱鼓瑟|0x1000000|55299\n胶着状态|0x100000|972\n椒焚桂折|0x1000000|100\n焦熬投石|0x1000000|100\n焦唇敝舌|0x0000|100\n焦唇干肺|0x0000|100\n焦唇干舌|0x0000|100\n焦点房地产|0x100000|405\n焦点房地产网|0x100000|559\n焦点访谈|0x100000|820\n焦点人物|0x100000|854\n焦点网|0x0008|824\n焦点新闻|0x100000|546\n焦化厂|0x100000|864\n焦金流石|0x1000000|100\n焦金烁石|0x800000|100\n焦炉煤气|0x0008|0\n焦虑不安|0x1000000|882\n焦眉愁眼|0x1000000|100\n焦眉苦脸|0x1000000|100\n焦眉皱眼|0x1000000|100\n焦圈儿|0x0000|55300\n焦沙烂石|0x0000|100\n焦思苦虑|0x1000000|100\n焦头烂额|0x1000000|29428\n焦心劳思|0x0000|100\n焦心热中|0x800000|100\n焦作市|0x0040|1221\n蛟河市|0x0040|1653\n蛟龙得水|0x1000000|1346\n蛟龙戏水|0x0000|100\n蕉岭县|0x0040|1075\n燋金烁石|0x1000000|100\n燋头烂额|0x1000000|100\n鹪巢蚊睫|0x1000000|100\n鹪鹩一枝|0x1400000|0\n角斑病|0x100000|1271\n角叉菜胶|0x0008|0\n角蛋白|0x0008|0\n角动量|0x100000|1113\n角动量守恒定律|0x0008|0\n角斗场|0x100000|974\n角斗士|0x100000|850\n角分布|0x0008|0\n角户分门|0x1000000|100\n角加速度|0x100000|1279\n角巾东路|0x1000000|100\n角巾私第|0x1000000|100\n角立杰出|0x0000|100\n角砾岩|0x100000|1261\n角膜炎|0x100000|53292\n角频率|0x0008|0\n角色扮演|0x100000|725\n角色定位|0x0000|473\n角鲨烷|0x100000|1198\n角速度|0x100000|1068\n角质层|0x0008|509\n角质化|0x100000|1113\n佼佼者|0x100000|17715\n挢抂过正|0x1000000|100\n挢揉造作|0x1000000|100\n挢枉过正|0x0000|100\n狡兔三窟|0x1400000|50231\n狡兔三穴|0x1400000|0\n狡焉思逞|0x1000000|100\n狡焉思启|0x1000000|100\n狡焉思肆|0x1000000|100\n绞肠痧|0x0008|1372\n绞尽脑汁|0x1000000|24174\n绞肉机|0x100000|921\n绞刑架|0x100000|41726\n饺子机|0x100000|507\n饺子皮|0x100000|956\n皎如日星|0x0000|100\n皎阳似火|0x0000|100\n矫国革俗|0x0000|100\n矫国更俗|0x0000|100\n矫矫不群|0x800000|100\n矫情干誉|0x0000|100\n矫情饰貌|0x0000|100\n矫情饰行|0x0000|100\n矫情饰诈|0x0000|100\n矫情镇物|0x800000|1541\n矫揉造作|0x1000000|28470\n矫若惊龙|0x0000|100\n矫若游龙|0x0000|100\n矫时慢物|0x800000|100\n矫世变俗|0x0000|100\n矫世厉俗|0x0000|100\n矫世励俗|0x0000|100\n矫顽力|0x100000|1171\n矫枉过当|0x0000|100\n矫枉过正|0x1000000|36826\n矫枉过直|0x0000|100\n矫枉过中|0x0000|100\n矫尾厉角|0x0000|100\n矫邪归正|0x0000|100\n矫言伪行|0x0000|100\n矫直机|0x100000|1129\n脚本语言|0x100000|535\n脚脖子|0x100000|37912\n脚不点地|0x1000000|1229\n脚不沾地|0x1000000|1050\n脚步声|0x100000|671\n脚踩两只船|0x0008|1020\n脚蹬子|0x100000|1140\n脚高步低|0x1000000|100\n脚跟脚|0x100000|0\n脚孤拐|0x100000|0\n脚后跟|0x100000|32388\n脚忙手乱|0x1000000|100\n脚气病|0x0008|402\n脚手架|0x100000|23751\n脚踏板|0x0008|55303\n脚踏车|0x100000|756\n脚踏两条船|0x0000|433\n脚踏两只船|0x0008|859\n脚踏实地|0x1000000|10529\n脚痛灸脚|0x1000000|0\n脚痛医脚|0x800000|1012\n脚腕子|0x100000|1239\n脚心朝天|0x1000000|100\n脚丫子|0x100000|33777\n脚指甲|0x0000|401\n脚指头|0x100000|839\n脚趾甲|0x0000|410\n脚趾头|0x100000|485\n搅拌机|0x100000|37555\n搅拌器|0x100000|54824\n搅海翻江|0x1000000|100\n缴款单|0x100000|1198\n叫喊声|0x0000|502\n叫花子|0x100000|28190\n叫苦不迭|0x1000000|25416\n叫苦连天|0x1000000|41960\n叫骂声|0x100000|946\n叫卖声|0x100000|897\n叫座儿|0x0000|41265\n轿车市场|0x100000|532\n较长絜短|0x1000000|100\n较德焯勤|0x1000000|100\n较短比长|0x1000000|100\n较短量长|0x1000000|100\n较短絜长|0x1000000|100\n较劲儿|0x1000|1063\n较若画一|0x1400000|0\n较胜一筹|0x400000|0\n较瘦量肥|0x1000000|100\n较武论文|0x0000|100\n较真儿|0x1000|42222\n教案集|0x100000|401\n教案设计|0x100000|468\n教材费|0x100000|968\n教材科|0x100000|379\n教材内容|0x100000|506\n教导处|0x100000|868\n教导队|0x100000|1113\n教导有方|0x0000|100\n教导员|0x100000|939\n教儿婴孩|0x800000|100\n教妇初来|0x800000|1397\n教会学校|0x0008|4\n教具室|0x100000|0\n教科书|0x100000|5156\n教科文|0x100000|981\n教科文卫|0x100000|972\n教科文组织|0x0020|1666\n教科研|0x100000|517\n教练车|0x100000|983\n教练机|0x100000|36484\n教练席|0x100000|982\n教练员|0x100000|811\n教猱升木|0x1000000|1539\n教然后之困|0x0008|100\n教师版|0x100000|406\n教师队伍|0x100000|795\n教师法|0x100000|955\n教师工资|0x100000|490\n教师节|0x4000|20866\n教师进修学院|0x100000|420\n教师论文|0x100000|426\n教师爷|0x0000|47396\n教师应|0x100000|552\n教师职业|0x100000|508\n教师资格|0x100000|559\n教授法|0x0008|0\n教书匠|0x100000|39727\n教书育人|0x800000|845\n教唆犯|0x100000|50612\n教唆罪|0x100000|1352\n教条主义|0x100000|14468\n教我如何|0x4000000|482\n教无常师|0x1000000|100\n教务长|0x100000|1000\n教务处|0x100000|739\n教务主任|0x0008|0\n教务组|0x100000|1197\n教学策略|0x100000|485\n教学大纲|0x0008|783\n教学法|0x100000|23588\n教学方法|0x0008|748\n教学辅导|0x100000|924\n教学改革|0x0008|768\n教学工作|0x100000|716\n教学管理|0x0008|762\n教学光盘|0x0000|512\n教学计划|0x0008|779\n教学楼|0x100000|680\n教学内容|0x100000|772\n教学片|0x100000|945\n教学评估|0x100000|865\n教学情况|0x100000|998\n教学设施|0x100000|507\n教学相长|0x1000000|45596\n教学效果|0x0000|545\n教学研究|0x0008|743\n教学质量|0x0000|639\n教研室|0x100000|15471\n教研组|0x100000|813\n教养员|0x100000|1540\n教养院|0x0000|43435\n教一识百|0xc00000|0\n教亦多术|0x800000|100\n教育部|0x100000|875\n教育部长|0x100000|848\n教育部门|0x100000|779\n教育长|0x100000|1124\n教育出版社|0x0000|584\n教育处|0x100000|907\n教育法|0x100000|781\n教育方针|0x0008|879\n教育费附加|0x100000|496\n教育改革|0x0008|732\n教育工作|0x0000|662\n教育工作者|0x100000|803\n教育孩子|0x100000|571\n教育计划|0x0008|10\n教育家|0x100000|753\n教育阶段|0x100000|441\n教育界|0x100000|791\n教育金|0x100000|1027\n教育经费|0x0008|548\n教育经济|0x100000|833\n教育经济学|0x0008|1124\n教育局|0x100000|626\n教育科|0x100000|950\n教育片|0x100000|929\n教育史|0x100000|930\n教育事业|0x0000|625\n教育司|0x100000|1430\n教育体制|0x100000|778\n教育厅|0x100000|1141\n教育网|0x100000|561\n教育委员会|0x0000|534\n教育系|0x100000|921\n教育系统|0x0000|585\n教育行政|0x0008|790\n教育性|0x100000|956\n教育学|0x100000|666\n教育学院|0x100000|677\n教育制度|0x0008|3\n教育质量|0x0008|556\n教育中心|0x100000|667\n教职工|0x100000|747\n教职员|0x100000|33134\n教职员工|0x100000|860\n教子有方|0x1000000|969\n斠然一概|0x1400000|0\n斠若画一|0x1400000|0\n酵母粉|0x100000|383\n酵母菌|0x100000|37722\n阶段发育|0x0008|0\n阶段性|0x100000|699\n阶段性成果|0x100000|513\n阶级斗争|0x800000|833\n阶级化|0x100000|1\n阶级路线|0x0008|0\n阶级矛盾|0x0008|0\n阶级社会|0x0008|0\n阶级性|0x100000|1011\n阶级意识|0x0008|0\n阶前万里|0x800000|100\n阶下百诺|0x0000|100\n阶下囚|0x100000|38288\n阶跃恢复二极管|0x400008|0\n皆成文章|0x1000000|992\n皆大欢喜|0x1000000|23069\n皆用全力|0x1000000|0\n接班人|0x100000|12050\n接茬儿|0x1000|46792\n接触到|0x0000|657\n接触电势差|0x100000|1322\n接触法|0x0008|1\n接触角|0x0008|0\n接触面|0x100000|939\n接触器|0x0008|1294\n接触性皮炎|0x0008|0\n接触应力|0x0008|0\n接待工作|0x0000|490\n接待日|0x4000|968\n接待室|0x100000|886\n接待厅|0x100000|1116\n接待员|0x100000|914\n接待站|0x100000|995\n接地系统|0x0008|0\n接地线|0x100000|976\n接地装置|0x0008|0\n接电话|0x0000|622\n接二连三|0x1400000|16511\n接风洗尘|0x1000000|978\n接骨木|0x0008|1648\n接合孢子|0x0008|0\n接合部|0x100000|42471\n接合处|0x0000|396\n接口标准|0x100000|513\n接口卡|0x100000|466\n接口类型|0x100000|610\n接力棒|0x100000|26758\n接力赛|0x100000|23589\n接力赛跑|0x100000|1052\n接连不断|0x800000|843\n接袂成帷|0x0000|100\n接片机|0x100000|0\n接三连四|0x1400000|0\n接生婆|0x100000|47397\n接生员|0x100000|52777\n接收机|0x100000|26049\n接收器|0x100000|38289\n接收站|0x100000|1039\n接收者|0x100000|898\n接受器|0x0008|1654\n接受者|0x100000|903\n接听电话|0x0000|522\n接头儿|0x100000|0\n接下来|0x800000|8526\n接下去|0x0000|576\n接线生|0x0000|406\n接线员|0x100000|39534\n接线柱|0x100000|966\n接踵比肩|0x0000|100\n接踵而来|0x1000000|755\n接踵而至|0x1000000|778\n嗟悔无及|0x800000|100\n嗟来之食|0x1000000|51445\n揭不开锅|0x800000|40810\n揭疮疤|0x800000|55306\n揭地掀天|0x1000000|100\n揭东县|0x0040|1538\n揭盖子|0x800000|0\n揭竿而起|0x1000000|37370\n揭老底|0x1000|51856\n揭幕式|0x100000|1170\n揭箧担囊|0x1000000|100\n揭箧探囊|0x1000000|100\n揭西县|0x0040|1576\n揭阳市|0x0040|1221\n街道办事处|0x0000|606\n街道社区|0x100000|481\n街坊邻里|0x0000|100\n街坊四邻|0x400000|100\n街号巷哭|0x1000000|100\n街面儿上|0x8000|0\n街谈巷说|0x1000000|100\n街谈巷谚|0x1000000|100\n街谈巷议|0x1000000|32526\n街谈巷语|0x1000000|1312\n街谭巷议|0x1000000|100\n街头霸王|0x100000|807\n街头剧|0x100000|52298\n街头诗|0x100000|1542\n街头时尚|0x100000|455\n街头巷底|0x1000000|100\n街头巷尾|0x1000000|22325\n街巷阡陌|0x0000|100\n街心花园|0x100000|977\n孑然一身|0x1400000|35831\n节哀顺变|0x1000000|1043\n节度使|0x100000|904\n节骨眼|0x100000|877\n节骨眼儿|0x100000|27712\n节假日|0x100000|8108\n节节败退|0x800000|905\n节节胜利|0x800000|1043\n节流阀|0x100000|969\n节目表|0x100000|820\n节目单|0x100000|796\n节目内容|0x100000|506\n节目预告|0x100000|789\n节目主持人|0x100000|802\n节能产品|0x100000|504\n节能灯|0x0000|28929\n节能降耗|0x100000|800\n节能型|0x20000000|845\n节拍器|0x100000|1030\n节日期间|0x0000|564\n节日庆典|0x100000|443\n节日用品|0x100000|377\n节省能源|0x100000|978\n节外生枝|0x1000000|33006\n节衣缩食|0x1000000|35067\n节用爱民|0x0000|100\n节用裕民|0x1000000|100\n节育环|0x0000|55986\n节育率|0x100000|0\n节约能源|0x100000|823\n节约用电|0x0000|457\n节约用水|0x0008|531\n节肢动物|0x100000|1054\n节肢动物门|0x0040|0\n节制生育|0x0008|0\n节制资本|0x0008|0\n节奏感|0x100000|29218\n节奏性|0x100000|388\n节足动物|0x0008|0\n劫持犯|0x100000|1431\n劫持人质|0x0000|455\n劫持者|0x100000|1043\n劫富济贫|0x1000000|45009\n劫后余生|0x1000000|47716\n劫机犯|0x1000|406\n劫机者|0x1000|411\n劫数难逃|0x1000000|1023\n杰出贡献|0x0000|477\n杰出青年|0x100000|554\n杰出人物|0x0000|469\n杰克逊|0x0080|1093\n杰西卡|0x0080|1392\n诘曲聱牙|0x1000000|100\n诘诎聱牙|0x1000000|100\n诘屈磝碻|0x1000000|100\n诘屈聱牙|0x40000000|100\n诘屈謷牙|0x1000000|100\n诘戎治兵|0x1000000|100\n拮抗剂|0x100000|1019\n洁己从公|0x1000000|100\n洁己奉公|0x1000000|100\n洁净煤|0x100000|446\n洁净室|0x0008|468\n洁清自矢|0x1000000|100\n洁身累行|0x1000000|100\n洁身自爱|0x1000000|951\n洁身自好|0x1000000|31864\n洁身自守|0x1000000|100\n洁治器|0x100000|0\n洁浊扬清|0x1000000|100\n结案率|0x100000|1106\n结伴同游|0x100000|940\n结不解缘|0x1000|100\n结草衔环|0x1000000|1197\n结肠癌|0x100000|490\n结肠炎|0x100000|590\n结党营私|0x1000000|45597\n结缔组织|0x800000|49488\n结对子|0x0000|28280\n结发夫妻|0x1000000|49845\n结构调整|0x100000|691\n结构钢|0x100000|985\n结构管|0x100000|370\n结构件|0x100000|458\n结构胶|0x100000|410\n结构设计|0x100000|608\n结构式|0x100000|956\n结构图|0x0008|841\n结构性|0x100000|755\n结构主义|0x100000|965\n结果是|0x0000|444\n结合部|0x0000|15024\n结合部位|0x100000|0\n结合律|0x0008|368\n结合能|0x0008|1093\n结合实际|0x0000|575\n结核病|0x100000|14208\n结核病医院|0x0008|0\n结核杆菌|0x0008|932\n结核菌|0x100000|44155\n结核菌素|0x100000|1133\n结婚登记|0x0008|509\n结婚照|0x100000|40387\n结婚证书|0x100000|470\n结节性多动脉炎|0x0008|0\n结结巴巴|0x0100|18620\n结结实实|0x0100|841\n结晶度|0x100000|1202\n结晶器|0x100000|388\n结晶水|0x100000|384\n结晶体|0x100000|46490\n结晶学|0x0008|1210\n结论性|0x100000|1028\n结膜炎|0x100000|45309\n结球莴苣|0x0008|0\n结舌杜口|0x0000|100\n结绳而治|0x800000|1288\n结石病|0x0000|469\n结束语|0x100000|32896\n结驷连骑|0x800000|1330\n结尾曲|0x100000|0\n结业式|0x20000000|1054\n结扎术|0x0008|388\n桀敖不驯|0x1000000|100\n桀傲不恭|0x1000000|100\n桀傲不驯|0x1000000|1113\n桀骜不恭|0x1000000|100\n桀骜不驯|0x1000000|39110\n桀骜不逊|0x1000000|917\n桀骜难驯|0x1000000|100\n桀骜自恃|0x1000000|100\n桀犬吠尧|0x1000000|1360\n桀贪骜诈|0x1000000|100\n捷报频传|0x1000000|926\n捷克共和国|0x0040|1650\n捷克人|0x100000|428\n捷克斯洛伐克|0x0040|1510\n捷雷不及掩耳|0x0008|100\n捷足先得|0x1000000|1312\n捷足先登|0x1000000|28731\n睫毛膏|0x0008|1202\n睫毛夹|0x100000|441\n睫状体|0x100000|1126\n截长补短|0x1000000|53800\n截镫留鞭|0x1000000|100\n截断众流|0x1000000|1309\n截发剉稾|0x1000000|100\n截发留宾|0x1000000|100\n截鹤续凫|0x1000000|100\n截击机|0x0008|1145\n截胫剖心|0x1000000|100\n截面图|0x100000|1215\n截然不同|0x1000000|652\n截铁斩钉|0x1000000|100\n截辕杜辔|0x1000000|100\n截止阀|0x100000|820\n截止频率|0x0008|0\n截趾适屦|0x1000000|100\n截趾适履|0x0000|100\n截趾適履|0x1000000|100\n竭诚尽节|0x0000|100\n竭诚相待|0x0000|100\n竭尽全力|0x1000000|722\n竭尽所能|0x800000|773\n竭尽心力|0x0000|100\n竭力虔心|0x1000000|100\n竭泽而渔|0x1000000|36312\n竭泽焚薮|0x0000|100\n竭智尽力|0x0000|100\n竭智尽忠|0x1000000|100\n竭忠尽智|0x0000|100\n羯鼓催花|0x0000|100\n她自己|0x0000|701\n姐儿们|0x100000|1116\n姐妹花|0x100000|499\n姐妹俩|0x100000|520\n解兵释甲|0x0000|100\n解不开|0x0000|533\n解骖推食|0x0000|100\n解除合同|0x1000|533\n解调器|0x100000|756\n解毒剂|0x0008|1053\n解毒药|0x0008|447\n解发佯狂|0x0000|100\n解放初|0x4000|1057\n解放后|0x4000|796\n解放军|0x100000|2757\n解放军报|0x100000|857\n解放前|0x4000|810\n解放区|0x100000|11425\n解放日报|0x0008|1266\n解放生产力|0x0008|425\n解放思想|0x1000|796\n解放鞋|0x100000|39728\n解放战争|0x100000|1333\n解放者|0x100000|969\n解纷排难|0x1000000|100\n解构主义|0x0008|0\n解甲倒戈|0x1000000|100\n解甲归田|0x1000000|44434\n解甲投戈|0x1000000|100\n解甲休兵|0x1000000|100\n解甲休士|0x1000000|100\n解剑拜仇|0x1000000|100\n解解乏|0x100000|0\n解解渴|0x100000|986\n解解闷|0x100000|956\n解决办法|0x0000|649\n解决方案|0x100000|491\n解决方法|0x0000|656\n解决问题|0x0000|741\n解决之道|0x0000|538\n解扣儿|0x1000|51859\n解铃还是系铃人|0x0008|100\n解铃还须系铃人|0x0008|1052\n解铃还需系铃人|0x0008|1010\n解铃系铃|0x1000000|929\n解铃须用系铃人|0x0008|100\n解码器|0x100000|745\n解民倒悬|0x1000000|1313\n解囊相助|0x1000000|45599\n解黏去缚|0x1000000|100\n解剖刀|0x100000|1097\n解剖麻雀|0x800000|45310\n解剖室|0x100000|1049\n解剖学|0x100000|813\n解人难得|0x1000000|100\n解释程序|0x0008|0\n解释性|0x100000|997\n解释学|0x100000|1033\n解释一下|0x400000|4\n解说词|0x100000|33530\n解说员|0x100000|777\n解析度|0x100000|757\n解析几何|0x100000|942\n解析群|0x0008|0\n解析映射|0x0008|0\n解弦更张|0x0000|100\n解压密码|0x100000|812\n解压缩|0x0000|675\n解压缩密码|0x0000|481\n解衣般礴|0x1000000|100\n解衣磅礴|0x1000000|100\n解衣包火|0x1000000|100\n解衣抱火|0x1000000|100\n解衣盘磅|0x0000|100\n解衣盘礴|0x1000000|100\n解衣槃磅|0x1000000|100\n解衣推食|0x1000000|1154\n解衣卸甲|0x0000|100\n解衣衣人|0x0000|100\n解疑释惑|0x800000|1072\n介电常数|0x0008|0\n介电强度|0x0008|0\n介绍人|0x100000|32259\n介绍书|0x100000|0\n介绍所|0x100000|829\n介绍信|0x100000|16401\n介休市|0x0040|1539\n介质波导|0x0008|0\n介质隔离|0x0008|0\n介质击穿|0x0008|0\n介质天线|0x0008|0\n戒备森严|0x1000000|902\n戒毒所|0x100000|933\n戒急用忍|0x800000|1118\n戒骄戒躁|0x1000000|29429\n戒奢宁俭|0x0000|100\n戒严法|0x100000|1228\n戒严令|0x100000|43436\n芥子毒气|0x0008|1\n芥子气|0x100000|45912\n界面风格|0x100000|488\n界面设计|0x100000|529\n界面缩聚|0x0008|0\n界首市|0x0040|1333\n界外球|0x100000|988\n疥癣之疾|0x0000|100\n借此机会|0x800000|798\n借贷无门|0x0000|100\n借贷资本|0x0008|0\n借刀杀人|0x1000000|40812\n借东风|0x800000|46794\n借风使船|0x1000000|1536\n借公行私|0x1000000|100\n借古讽今|0x1000000|53802\n借古喻今|0x800000|1166\n借过一下|0x400000|0\n借花献佛|0x1000000|46491\n借鸡生蛋|0x800000|47399\n借剑杀人|0x1000000|1232\n借交报仇|0x1000000|100\n借景生情|0x1000000|100\n借镜观形|0x0000|100\n借酒浇愁|0x1000000|45311\n借酒消愁|0x1000000|858\n借看一下|0x400000|0\n借客报仇|0x1000000|100\n借款人|0x100000|903\n借面吊丧|0x1000000|100\n借篷使风|0x1000000|100\n借坡下驴|0x0000|100\n借身报仇|0x1000000|100\n借尸还魂|0x1000000|49137\n借尸还阳|0x1000000|100\n借书留真|0x1000000|100\n借书证|0x100000|974\n借水推船|0x1000000|100\n借水行舟|0x1000000|1409\n借宿一晚|0x400000|0\n借宿一夜|0x400000|0\n借题发挥|0x1000000|32389\n借助于|0x1000|570\n借箸代筹|0x1000000|1391\n藉草枕块|0x0000|100\n巾国英雄|0x0000|100\n巾帼豪杰|0x0000|100\n巾帼奇才|0x0000|100\n巾帼须眉|0x1000000|1233\n巾帼英雄|0x100000|953\n巾帼丈夫|0x0000|100\n今不如昔|0x1000000|1052\n今蝉蜕壳|0x1000000|100\n今朝有酒今朝醉|0x0008|901\n今愁古恨|0x1000000|100\n今儿个|0x4000|852\n今非昔比|0x1000000|25974\n今古奇闻|0x800000|1535\n今来古往|0x1000000|100\n今年春节|0x100000|565\n今年冬天|0x100000|464\n今年过年|0x100000|450\n今年内|0x100000|507\n今年夏天|0x100000|561\n今日报价|0x100000|462\n今日焦点|0x100000|547\n今日热点|0x100000|430\n今日世界|0x100000|866\n今日说法|0x0000|466\n今日要闻|0x0000|471\n今日有酒今日醉|0x0008|1248\n今生今世|0x1000000|29541\n今生缘|0x100000|419\n今是昔非|0x1000000|100\n今是昨非|0x1000000|1188\n今天上午|0x100000|626\n今天天气|0x100000|533\n今天下午|0x100000|634\n今晚报|0x100000|519\n今文经学|0x0008|0\n今夕何夕|0x1000000|930\n今昔之感|0x0000|100\n今雨新知|0x0000|100\n今月古月|0x1000000|100\n斤斤计较|0x1000000|27378\n斤斤较量|0x1000000|100\n斤斤自守|0x1000000|100\n金霸王|0x100000|381\n金榜挂名|0x1000000|100\n金榜题名|0x1000000|38106\n金本位|0x100000|48034\n金本位制|0x0008|1185\n金碧辉煌|0x1000000|22409\n金碧辉映|0x1000000|100\n金碧荧煌|0x1000000|100\n金篦刮目|0x1000000|100\n金璧辉煌|0x1000000|100\n金镳玉络|0x1000000|100\n金镳玉辔|0x1000000|100\n金波玉液|0x1000000|100\n金不换|0x100000|38107\n金灿灿|0x0100|23868\n金钗换酒|0x1000000|100\n金钗十二|0x400000|100\n金钗细合|0x1000000|100\n金蝉脱壳|0x1000000|46212\n金昌市|0x0040|1498\n金长城|0x0008|1539\n金城千里|0x1000000|1280\n金城石室|0x1000000|100\n金城汤池|0x1000000|1255\n金翅擘海|0x1000000|100\n金川县|0x0040|1152\n金达莱|0x100000|1558\n金大中|0x0080|1037\n金丹换骨|0x1000000|100\n金点子|0x100000|498\n金貂换酒|0x1000000|100\n金貂取酒|0x0000|100\n金貂贳酒|0x1000000|100\n金断觿决|0x1000000|100\n金发女郎|0x0000|461\n金饭碗|0x100000|38907\n金风送爽|0x0000|100\n金风玉露|0x1000000|880\n金凤花|0x0008|1199\n金刚经|0x0008|38908\n金刚努目|0x1000000|1539\n金刚怒目|0x1000000|1115\n金刚砂|0x100000|55309\n金刚石|0x100000|19884\n金刚石工具|0x100000|420\n金刚石砂轮|0x100000|374\n金刚烷胺|0x100000|1176\n金刚眼睛|0x1000000|1420\n金刚钻|0x100000|26537\n金戈铁甲|0x1000000|100\n金戈铁马|0x1000000|37558\n金戈铁骑|0x1000000|100\n金箍棒|0x0008|44158\n金谷酒数|0x1000000|100\n金鼓连天|0x0000|100\n金鼓齐鸣|0x1000000|1223\n金鼓喧阗|0x0000|100\n金光盖地|0x1000000|100\n金光闪闪|0x1000000|819\n金龟换酒|0x1000000|1332\n金龟婿|0x0008|1\n金龟子|0x100000|40590\n金闺国士|0x1000000|100\n金闺玉堂|0x1000000|100\n金果榄|0x0008|0\n金合欢|0x0008|52780\n金红石|0x100000|996\n金狐狸|0x100000|371\n金壶墨汁|0x0000|100\n金湖县|0x0040|1466\n金花菜|0x100000|1213\n金华市|0x0040|1198\n金话筒|0x100000|392\n金环三结|0x400000|0\n金环蛇|0x100000|1089\n金黄色|0x100000|684\n金煌煌|0x0100|1387\n金晃晃|0x0100|0\n金辉玉洁|0x1000000|100\n金鸡独立|0x1000000|43437\n金鸡奖|0x0008|33531\n金鸡纳|0x0040|1313\n金鸡纳树|0x800000|1311\n金鸡纳霜|0x100000|51016\n金鸡消息|0x0020|1538\n金枷玉锁|0x1000000|100\n金甲虫|0x0000|391\n金浆玉醴|0x1000000|100\n金浆玉液|0x1000000|1494\n金交椅|0x100000|1197\n金戒指|0x0000|480\n金尽裘敝|0x1000000|100\n金尽裘弊|0x1000000|100\n金精玉液|0x1000000|100\n金科玉律|0x1000000|41963\n金科玉臬|0x1000000|100\n金科玉条|0x1000000|100\n金口木舌|0x1000000|100\n金口玉牙|0x1000000|1313\n金口玉言|0x1000000|48761\n金口玉音|0x1000000|100\n金口御言|0x1000000|100\n金库门|0x100000|371\n金矿石|0x100000|388\n金匮石室|0x1000000|1387\n金匮要略|0x1000000|1003\n金兰之交|0x0000|100\n金兰之契|0x1000000|1534\n金兰之友|0x1000000|100\n金利来|0x0008|1379\n金莲花|0x0008|435\n金龙鱼|0x0000|55310\n金缕玉衣|0x1000000|52301\n金銮殿|0x100000|37915\n金马奖|0x0008|1285\n金马玉堂|0x0000|100\n金霉素|0x100000|52302\n金门岛|0x0040|1083\n金门县|0x0040|1526\n金门绣户|0x1000000|100\n金迷纸碎|0x0000|100\n金迷纸醉|0x1000000|1247\n金牛座|0x0008|660\n金瓯无缺|0x1000000|1407\n金牌榜|0x100000|461\n金牌奖|0x100000|398\n金盆洗手|0x0000|55311\n金苹果|0x0008|1370\n金瓶落井|0x1000000|100\n金瓶梅|0x0008|796\n金钱白花蛇|0x0008|0\n金钱豹|0x100000|33532\n金钱草|0x0008|1078\n金钱关|0x100000|1266\n金钱观|0x100000|468\n金钱龟|0x100000|386\n金钱松|0x100000|1175\n金枪鱼|0x100000|30720\n金荞麦|0x0008|0\n金球奖|0x0008|1232\n金雀花|0x0008|383\n金人缄口|0x0000|100\n金人三缄|0x1400000|0\n金人之缄|0x1000000|100\n金人之箴|0x0000|100\n金日成|0x0008|1506\n金融保险|0x100000|496\n金融报|0x100000|515\n金融城|0x100000|392\n金融法|0x100000|430\n金融风险|0x100000|549\n金融工具|0x100000|499\n金融股|0x100000|478\n金融寡头|0x0008|48036\n金融机构|0x0008|660\n金融机具|0x100000|436\n金融监管|0x100000|510\n金融交易|0x100000|425\n金融界|0x100000|697\n金融类|0x100000|453\n金融贸易|0x100000|445\n金融设备|0x100000|374\n金融时报|0x100000|535\n金融市场|0x0008|615\n金融体系|0x100000|531\n金融体制|0x0000|501\n金融危机|0x0008|21717\n金融系统|0x0000|501\n金融学|0x100000|558\n金融学院|0x100000|476\n金融业|0x100000|737\n金融业务|0x100000|518\n金融证券|0x100000|489\n金融中心|0x0000|552\n金融资本|0x100000|938\n金融资产|0x100000|523\n金三角|0x400040|6\n金嗓子|0x100000|51862\n金色花|0x100000|382\n金色年华|0x100000|890\n金色世纪|0x100000|374\n金沙江|0x0040|1298\n金沙萨|0x0040|1139\n金沙县|0x0040|1089\n金山词霸|0x0000|581\n金山毒霸|0x0008|626\n金山公司|0x0020|952\n金山快译|0x0000|516\n金山区|0x0040|1283\n金山寺|0x0040|1539\n金山影霸|0x0000|440\n金山游侠|0x0000|452\n金闪闪|0x0100|52303\n金舌弊口|0x1000000|100\n金舌蔽口|0x0000|100\n金声玉服|0x1000000|100\n金声玉润|0x1000000|100\n金声玉色|0x1000000|100\n金声玉振|0x1000000|1198\n金声掷地|0x1000000|100\n金石不渝|0x1000000|100\n金石交情|0x1000000|100\n金石可开|0x1000000|100\n金石良言|0x1000000|1230\n金石丝竹|0x1000000|1325\n金石为开|0x1000000|39112\n金石学|0x0008|1188\n金石之策|0x0000|100\n金石之功|0x0000|100\n金石之计|0x100000|100\n金石之坚|0x1000000|100\n金石之交|0x1000000|1538\n金石之言|0x1000000|100\n金石至交|0x1000000|100\n金丝猴|0x100000|24953\n金丝鸟|0x100000|1026\n金丝雀|0x100000|48390\n金丝绒|0x100000|48762\n金丝燕|0x100000|1139\n金斯敦|0x0040|1135\n金塔县|0x0040|1041\n金台市骏|0x1000000|100\n金太阳|0x100000|469\n金坛市|0x0040|1314\n金汤之固|0x0000|100\n金堂县|0x0040|1618\n金淘沙拣|0x1000000|100\n金题玉躞|0x800000|100\n金田起义|0x0008|1147\n金田一耕助|0x400080|0\n金田一少年事件簿|0x400000|0\n金田一一|0x400000|0\n金童玉女|0x1000000|41269\n金屋藏娇|0x1000000|42937\n金屋娇娘|0x1000000|100\n金屋之选|0x1000000|100\n金屋贮娇|0x1000000|100\n金无足赤|0x100000|983\n金吾不禁|0x1000000|1259\n金五星|0x400008|0\n金溪县|0x0040|1057\n金乡县|0x0040|1549\n金相玉式|0x1000000|100\n金相玉映|0x1000000|100\n金相玉振|0x1000000|100\n金相玉质|0x1000000|100\n金镶玉裹|0x1000000|100\n金项链|0x0000|476\n金像奖|0x0008|1107\n金小蜂|0x100000|1409\n金秀瑶族自治县|0x0040|1693\n金阳县|0x0040|1182\n金腰带|0x100000|432\n金银箔|0x0008|1129\n金银财宝|0x100000|897\n金银岛|0x0080|1403\n金银花|0x100000|24436\n金银木|0x0008|0\n金印紫绶|0x1000000|1290\n金友玉昆|0x1000000|100\n金鱼草|0x0008|0\n金鱼缸|0x100000|1003\n金鱼藻|0x0008|1332\n金玉锦绣|0x1000000|1316\n金玉良言|0x1000000|48391\n金玉良缘|0x0008|100\n金玉满堂|0x1000000|917\n金玉其外|0x1000000|100\n金玉其质|0x0000|100\n金玉之言|0x1000000|1325\n金圆券|0x100000|1210\n金钥匙|0x100000|24330\n金寨县|0x0040|1485\n金盏花|0x100000|52781\n金章玉句|0x1000000|100\n金章紫绶|0x1000000|1365\n金昭玉粹|0x1000000|100\n金针菜|0x100000|1069\n金针虫|0x100000|1321\n金针度人|0x1000000|100\n金针菇|0x100000|488\n金针见血|0x1000000|100\n金正日|0x0080|1350\n金枝玉叶|0x1000000|44721\n金鳷擘海|0x1000000|100\n金质奖|0x100000|54831\n金珠玛米|0x0008|1320\n金属板|0x0008|479\n金属棒|0x0008|1090\n金属包装|0x100000|425\n金属表面|0x100000|501\n金属薄板|0x0008|0\n金属材料|0x0008|619\n金属产品|0x100000|383\n金属催化剂|0x0008|0\n金属蛋白|0x0008|0\n金属电极|0x0008|0\n金属粉末|0x100000|430\n金属腐蚀|0x0008|0\n金属工艺|0x100000|422\n金属工艺品|0x100000|452\n金属构件|0x100000|387\n金属管|0x100000|444\n金属罐|0x100000|1102\n金属硅|0x100000|415\n金属化|0x100000|0\n金属环|0x0008|410\n金属加工|0x100000|749\n金属家具|0x100000|420\n金属件|0x100000|407\n金属建材|0x100000|390\n金属键|0x0008|1223\n金属结构|0x100000|488\n金属卤化物灯|0x0008|0\n金属镁|0x100000|409\n金属门|0x0008|1512\n金属锰|0x0008|1080\n金属膜|0x100000|1015\n金属钠|0x0008|1135\n金属片|0x100000|942\n金属漆|0x100000|461\n金属软管|0x100000|482\n金属色|0x100000|448\n金属丝|0x0008|1395\n金属丝网|0x0008|845\n金属塑料|0x100000|368\n金属探测器|0x100000|520\n金属陶瓷|0x0008|1024\n金属外壳|0x100000|499\n金属网|0x100000|494\n金属纤维|0x100000|391\n金属线|0x0008|3\n金属线材|0x100000|384\n金属性|0x0000|413\n金属元素|0x0008|955\n金属支架|0x0008|3\n金属制品|0x100000|622\n金属制品有限公司|0x100000|498\n金属主义|0x100000|0\n金紫银青|0x0000|100\n金字塔|0x100000|10982\n金字塔结构|0x0000|371\n金字招牌|0x1000000|27786\n金棕榈|0x100000|457\n津巴布韦|0x0040|1434\n津关险塞|0x0000|100\n津津乐道|0x1000000|18898\n津津有味|0x1000000|17019\n津南区|0x0040|1579\n津浦铁路|0x0008|1136\n津市市|0x0040|1579\n津贴费|0x100000|1226\n矜才使气|0x1000000|100\n矜功不立|0x0000|100\n矜功伐能|0x0000|100\n矜功伐善|0x0000|100\n矜功负气|0x0000|100\n矜功恃宠|0x0000|100\n矜功自伐|0x1000000|100\n矜己自饰|0x0000|100\n矜纠收缭|0x0000|100\n矜名妒能|0x0000|100\n矜名嫉能|0x0000|100\n矜能负才|0x0000|100\n矜贫救厄|0x0000|100\n矜贫恤独|0x0000|100\n矜平躁释|0x0000|100\n矜愚饰智|0x1000000|100\n矜智负能|0x0000|100\n筋骨草|0x0008|1296\n筋疲力竭|0x1000000|1006\n筋疲力尽|0x1000000|30821\n筋疲力倦|0x0000|100\n襟怀磊落|0x0000|100\n襟怀洒落|0x0000|100\n襟怀坦白|0x1000000|45312\n襟江带湖|0x800000|100\n襟裾马牛|0x0000|100\n仅此而已|0x800000|669\n仅此一次|0x400000|1\n仅次于|0x1000|682\n仅得乎中|0x1000000|0\n仅供参考|0x800000|539\n仅仅是|0x0000|753\n仅容旋马|0x1000000|100\n仅以身免|0x1000000|1168\n紧巴巴|0x0100|37372\n紧绷绷|0x0100|38706\n紧凑型|0x100000|519\n紧打慢敲|0x1000000|100\n紧箍咒|0x100000|30284\n紧急情况|0x0000|569\n紧急通知|0x0000|604\n紧急制动|0x0008|4\n紧急状态|0x800000|17869\n紧接着|0x1000|623\n紧紧巴巴|0x0100|0\n紧紧围绕|0x0000|599\n紧紧张张|0x0100|1047\n紧锣密鼓|0x1000000|13936\n紧迫感|0x100000|564\n紧迫性|0x100000|862\n紧身裤|0x0000|454\n紧身衣|0x100000|45913\n紧行无好步|0x0008|1384\n紧压茶|0x0008|1053\n紧要关头|0x100000|819\n紧衣缩食|0x0000|55988\n紧张状态|0x0008|11\n紧追不舍|0x1000000|880\n谨本详始|0x1000000|100\n谨毛失貌|0x1000000|100\n谨身节用|0x1000000|1331\n谨始虑终|0x1000000|100\n谨小慎微|0x1000000|34060\n谨谢不敏|0x1000000|100\n谨行俭用|0x1000000|100\n谨言慎行|0x1000000|973\n谨终如始|0x1000000|100\n谨终慎始|0x1000000|100\n锦标赛|0x100000|3758\n锦标赛冠军|0x100000|450\n锦标主义|0x100000|1\n锦簇花团|0x1000000|100\n锦灯笼|0x0008|0\n锦囊还矢|0x1000000|100\n锦囊佳句|0x1000000|100\n锦囊佳制|0x1000000|100\n锦囊妙计|0x1000000|42938\n锦囊玉轴|0x1000000|100\n锦片前程|0x1000000|100\n锦篇绣帙|0x1000000|100\n锦屏县|0x0040|1100\n锦瑟华年|0x1000000|959\n锦瑟年华|0x1000000|1116\n锦上添花|0x1000000|19811\n锦天绣地|0x0000|100\n锦团花簇|0x1000000|100\n锦心绣肠|0x1000000|100\n锦心绣腹|0x40000000|1279\n锦心绣口|0x1000000|1149\n锦胸绣口|0x1000000|100\n锦绣大地|0x0008|1672\n锦绣二重唱|0x400000|443\n锦绣肝肠|0x1000000|100\n锦绣河山|0x1000000|1046\n锦绣江山|0x1000000|1120\n锦绣前程|0x1000000|45603\n锦绣山河|0x1000000|1128\n锦绣心肠|0x1000000|100\n锦衣肉食|0x1000000|100\n锦衣卫|0x100000|952\n锦衣行昼|0x1000000|100\n锦衣玉食|0x1000000|44723\n锦营花阵|0x1000000|100\n锦阵花营|0x1000000|100\n锦州市|0x0040|1318\n尽诚竭节|0x0000|100\n尽多尽少|0x0000|100\n尽付东流|0x0000|100\n尽管如此|0x800000|665\n尽欢而散|0x1000000|1189\n尽可能|0x1000|546\n尽力而为|0x800000|793\n尽美尽善|0x0000|100\n尽其所长|0x800000|1329\n尽其所能|0x1000000|10\n尽其所有|0x800000|53803\n尽全力|0x1000|601\n尽人皆知|0x1000000|31173\n尽人事|0x1000|891\n尽如人意|0x1000000|14469\n尽入彀中|0x1000000|100\n尽善尽美|0x1000000|27463\n尽收眼底|0x1000000|26617\n尽态极妍|0x1000000|1204\n尽心竭力|0x1000000|25089\n尽心尽力|0x1000000|756\n尽心尽意|0x1000000|1155\n尽心尽职|0x1000000|1074\n尽信书不如无书|0x1000000|1066\n尽义务|0x1000|964\n尽在不言中|0x1000000|783\n尽职尽责|0x800000|820\n尽忠报国|0x1000000|1121\n尽忠竭力|0x0000|100\n尽忠职守|0x800000|997\n劲歌热舞|0x100000|466\n劲头十足|0x400000|1\n劲往一处使|0x400000|0\n近程导弹|0x0008|1\n近代史|0x100000|809\n近代中国|0x100000|489\n近地点|0x100000|1182\n近光灯|0x0000|393\n近海渔业|0x0008|2\n近火先焦|0x1000000|100\n近几年来|0x0000|420\n近交系|0x100000|1309\n近交系数|0x0008|0\n近交远攻|0x1000000|1394\n近郊区|0x100000|1084\n近距离|0x0008|642\n近墨者黑|0x1000000|894\n近年来|0x800000|513\n近期内|0x100000|541\n近期走势|0x100000|508\n近亲繁殖|0x100000|42474\n近亲结婚|0x0008|0\n近日点|0x100000|1139\n近视眼|0x100000|24702\n近水楼台|0x1000000|42939\n近水楼台先得月|0x0008|918\n近似值|0x100000|1046\n近体诗|0x100000|54329\n近卫军|0x100000|925\n近现代史|0x100000|1018\n近乡情怯|0x0000|100\n近些年|0x4000|773\n近一年来|0x400000|480\n近月点|0x0008|0\n近悦远来|0x1000000|1244\n近在眉睫|0x1000000|1268\n近在眼前|0x800000|799\n近在咫尺|0x1000000|22113\n近朱者赤|0x1000000|915\n近朱者赤，近墨者黑|0x0000|54330\n进本退末|0x1000000|100\n进步党|0x0020|1028\n进谗害贤|0x0000|100\n进出境|0x100000|941\n进出口|0x100000|3981\n进出口代理|0x100000|437\n进出口额|0x100000|449\n进出口公司|0x0008|573\n进出口货物|0x100000|513\n进出口贸易|0x0008|593\n进出口贸易有限公司|0x100000|446\n进出口商|0x100000|862\n进出口商会|0x100000|493\n进出口商品|0x100000|515\n进出口业务|0x100000|528\n进出口有限公司|0x100000|566\n进出口总额|0x100000|492\n进出口总公司|0x100000|463\n进寸退尺|0x1000000|1379\n进道若蜷|0x0000|100\n进道若踡|0x1000000|100\n进道若退|0x1000000|1185\n进德修业|0x1000000|1166\n进德脩业|0x1000000|100\n进度表|0x100000|45012\n进度条|0x0000|514\n进而言之|0x1000000|1160\n进俯退俯|0x1000000|100\n进给量|0x0008|0\n进攻性|0x100000|940\n进攻者|0x100000|413\n进化论|0x100000|19116\n进化生物学|0x0008|0\n进化史|0x100000|952\n进进出出|0x0100|770\n进军号|0x0000|51017\n进可替不|0x1000000|100\n进可替否|0x1000000|100\n进口产品|0x0000|545\n进口车|0x100000|800\n进口额|0x0000|30512\n进口港|0x100000|1291\n进口关税|0x100000|536\n进口国|0x100000|907\n进口货|0x100000|1003\n进口轿车|0x100000|489\n进口量|0x100000|874\n进口商|0x100000|809\n进口商品|0x100000|883\n进口设备|0x100000|827\n进口税|0x100000|1005\n进利除害|0x1000000|100\n进禄加官|0x1000000|100\n进旅退旅|0x1000000|100\n进气口|0x100000|984\n进前一步|0x400000|0\n进前一级|0x400000|0\n进取心|0x100000|810\n进壤广地|0x1000000|100\n进荣退辱|0x1000000|100\n进锐退速|0x1000000|100\n进善惩恶|0x1000000|100\n进善惩奸|0x1000000|100\n进善黜恶|0x1000000|100\n进善退恶|0x1000000|100\n进身之阶|0x1000000|1116\n进水闸|0x0008|1313\n进思尽忠|0x0000|100\n进退跋疐|0x1000000|100\n进退出处|0x1000000|1412\n进退触籓|0x1000000|100\n进退触篱|0x1000000|100\n进退存亡|0x1000000|1239\n进退狐疑|0x1000000|100\n进退可度|0x1000000|100\n进退可否|0x1000000|100\n进退狼狈|0x1000000|100\n进退两端|0x1000000|100\n进退两难|0x1000000|22327\n进退路穷|0x1000000|100\n进退履绳|0x1000000|100\n进退荣辱|0x1000000|100\n进退失措|0x1000000|1337\n进退失据|0x1000000|100\n进退失踞|0x1000000|100\n进退失所|0x1000000|100\n进退失图|0x1000000|100\n进退首鼠|0x1000000|100\n进退双难|0x1000000|100\n进退损益|0x1000000|100\n进退亡据|0x1000000|100\n进退为难|0x1000000|1326\n进退唯谷|0x1000000|100\n进退惟谷|0x1000000|100\n进退惟咎|0x1000000|100\n进退维谷|0x1000000|39312\n进退维亟|0x1000000|100\n进退维艰|0x1000000|100\n进退无措|0x1000000|100\n进退无据|0x1000000|100\n进退无路|0x1000000|1193\n进退无门|0x1000000|100\n进退无所|0x1000000|100\n进退无途|0x1000000|100\n进退无依|0x1000000|100\n进退消长|0x1000000|100\n进退消息|0x1000000|100\n进退应矩|0x1000000|100\n进退有常|0x1000000|100\n进退有度|0x1000000|1078\n进退有节|0x1000000|100\n进退裕如|0x1000000|100\n进退中度|0x1000000|100\n进退中绳|0x1000000|100\n进退迍邅|0x1000000|100\n进位制|0x0008|0\n进贤拔能|0x1000000|100\n进贤黜恶|0x1000000|100\n进贤黜奸|0x1000000|100\n进贤黜佞|0x1000000|100\n进贤达能|0x1000000|100\n进贤进能|0x1000000|100\n进贤屏恶|0x1000000|100\n进贤任能|0x1000000|100\n进贤退奸|0x1000000|100\n进贤退佞|0x1000000|100\n进贤退愚|0x1000000|100\n进贤县|0x0040|1600\n进贤兴功|0x1000000|100\n进贤用能|0x1000000|100\n进项税额|0x0008|0\n进行到底|0x0000|627\n进行调查|0x0000|630\n进行曲|0x100000|15900\n进修班|0x100000|25828\n进修生|0x100000|47098\n进修学校|0x100000|522\n进一步|0x8400000|763\n进一步规范|0x100000|571\n进一步说|0x400000|3\n进一步指示|0x400000|0\n进种善群|0x1000000|100\n侭多侭少|0x1000000|100\n晋察冀|0x0040|1014\n晋城市|0x0040|1325\n晋惠闻蛙|0x1000000|100\n晋冀鲁豫|0x0040|1060\n晋江市|0x0040|1232\n晋宁县|0x0040|1632\n晋阳之甲|0x1000000|1537\n晋用楚材|0x1000000|100\n晋中市|0x0040|1438\n晋州市|0x0040|1464\n浸润之谮|0x1000000|1345\n祲威盛容|0x1000000|100\n缙云县|0x0040|1453\n禁暴正乱|0x0000|100\n禁暴诛乱|0x0000|100\n禁闭室|0x100000|1081\n禁不起|0x1000|39113\n禁不住|0x1000|7632\n禁得起|0x1000|49847\n禁得住|0x1000|55312\n禁鼎一脔|0x1400000|0\n禁伐禁猎区|0x0008|0\n禁飞区|0x100000|1137\n禁攻寝兵|0x1000000|1502\n禁忌症|0x0008|47719\n禁戒跃迁|0x0008|0\n禁酒令|0x100000|1055\n禁情割欲|0x1000000|100\n禁舍开塞|0x1000000|100\n禁网疏阔|0x0000|100\n禁卫军|0x0000|506\n禁欲主义|0x0008|1005\n禁止令行|0x1000000|100\n禁止性|0x100000|944\n禁制令|0x0008|1111\n禁中颇牧|0x1000000|100\n噤口卷舌|0x0000|100\n噤口捲舌|0x1000000|100\n噤若寒蝉|0x1000000|41964\n京白梨|0x100000|1268\n京东方|0x0008|1414\n京二胡|0x500000|0\n京广铁路|0x0008|1466\n京广线|0x0008|1571\n京哈线|0x0008|1069\n京沪线|0x0008|1071\n京九铁路|0x400000|1416\n京剧团|0x100000|1047\n京剧院|0x100000|1001\n京山县|0x0040|1546\n京味儿|0x0000|46492\n京野琴美|0x0080|0\n京油子|0x100000|1136\n京韵大鼓|0x100000|41965\n京兆画眉|0x1000000|100\n京兆眉妩|0x1000000|100\n泾川县|0x0040|1039\n泾清渭浊|0x0000|100\n泾渭不分|0x1000000|1393\n泾渭分明|0x1000000|34652\n泾渭自分|0x1000000|100\n泾渭自明|0x1000000|100\n泾阳县|0x0040|1595\n泾源县|0x0040|1139\n泾浊渭清|0x1000000|100\n经办人|0x100000|950\n经邦论道|0x0000|100\n经帮纬国|0x0000|100\n经不起|0x1000|16126\n经不住|0x1000|772\n经产妇|0x100000|1203\n经常化|0x1000|16185\n经常性|0x100000|735\n经得起|0x1000|11131\n经得住|0x1000|895\n经典电影|0x100000|541\n经典对白|0x100000|503\n经典歌曲|0x100000|545\n经典力学|0x0008|0\n经典名曲|0x100000|472\n经典台词|0x100000|518\n经典物理学|0x100000|847\n经典小说|0x100000|459\n经典笑话|0x100000|485\n经典性|0x100000|1026\n经典音乐|0x100000|494\n经典影片|0x100000|481\n经典影视|0x100000|445\n经典语录|0x100000|487\n经典之作|0x800000|750\n经典著作|0x100000|875\n经典作品|0x100000|789\n经费来源|0x100000|477\n经费投入|0x100000|505\n经国大业|0x100000|100\n经国之才|0x0000|100\n经合组织|0x100000|514\n经互会|0x0008|1147\n经纪人|0x100000|10324\n经纪商|0x100000|985\n经济波动|0x0008|0\n经济部|0x100000|1374\n经济部长|0x100000|604\n经济参考报|0x0000|495\n经济舱|0x100000|45014\n经济成分|0x0008|9\n经济出版社|0x100000|509\n经济地理|0x0008|2\n经济地理条件|0x0008|0\n经济地理学|0x0008|1128\n经济发达地区|0x100000|484\n经济发展|0x0008|521\n经济发展战略|0x0000|451\n经济法|0x100000|26969\n经济犯罪|0x0008|526\n经济范畴|0x0008|1\n经济封锁|0x0008|28\n经济改革|0x0008|67\n经济杠杆|0x0008|29335\n经济工作|0x100000|739\n经济工作会议|0x100000|551\n经济共同体|0x0000|420\n经济管理|0x0008|639\n经济规律|0x0008|491\n经济过热|0x0008|25\n经济合同|0x0008|0\n经济合作|0x0008|695\n经济核算|0x100000|954\n经济互助委员会|0x0008|0\n经济化|0x1000|1060\n经济活动分析|0x0008|376\n经济机制|0x100000|1\n经济基础|0x800000|7994\n经济技术|0x100000|602\n经济技术指标|0x0000|399\n经济建设|0x100000|681\n经济结构|0x0008|618\n经济界|0x100000|914\n经济纠纷|0x100000|879\n经济开发|0x0000|630\n经济开发区|0x0040|1010\n经济科学|0x100000|4\n经济恐慌|0x0008|0\n经济困难|0x100000|554\n经济类|0x100000|545\n经济理论|0x0008|3\n经济利益|0x0008|598\n经济林|0x100000|14986\n经济论文|0x100000|435\n经济贸易|0x100000|639\n经济贸易委员会|0x0000|529\n经济年度|0x100000|505\n经济年度人物|0x100000|495\n经济评价|0x0008|490\n经济侵略|0x0008|0\n经济区|0x100000|783\n经济区划|0x100000|1\n经济圈|0x100000|535\n经济人|0x100000|832\n经济日报|0x100000|781\n经济社会|0x100000|710\n经济渗透|0x0008|0\n经济生活|0x100000|757\n经济师|0x100000|29542\n经济时报|0x100000|511\n经济时代|0x100000|558\n经济实力|0x0000|620\n经济实用|0x0000|497\n经济史|0x100000|491\n经济适用住房|0x100000|561\n经济损失|0x0000|642\n经济特区|0x800000|8600\n经济体|0x100000|535\n经济体制|0x100000|9129\n经济体制改革|0x0008|562\n经济危机|0x800000|16014\n经济委员会|0x0020|1221\n经济问题|0x0000|554\n经济系|0x100000|860\n经济效果|0x0008|2\n经济效益|0x100000|623\n经济协作区|0x0008|1127\n经济信息|0x0008|712\n经济信息中心|0x100000|464\n经济形势|0x100000|777\n经济型|0x100000|634\n经济性质|0x100000|548\n经济学|0x100000|5482\n经济学博士|0x100000|460\n经济学家|0x100000|661\n经济学奖|0x100000|462\n经济学理论|0x100000|467\n经济学论文|0x100000|411\n经济学原理|0x100000|502\n经济学院|0x100000|576\n经济研究|0x100000|703\n经济研究所|0x100000|523\n经济研究院|0x100000|461\n经济研究中心|0x0000|494\n经济一体|0x400000|0\n经济一体化|0x400008|55\n经济援助|0x0008|83\n经济增长率|0x0000|527\n经济政策|0x100000|772\n经济之才|0x0000|100\n经济指标|0x100000|789\n经济制度|0x100000|524\n经济秩序|0x100000|509\n经济周期|0x100000|482\n经济主义|0x100000|1031\n经济状况|0x100000|764\n经济总量|0x100000|547\n经济作物|0x800000|11467\n经久不衰|0x1000000|825\n经久不息|0x1000000|925\n经久耐用|0x800000|833\n经理部|0x100000|468\n经理人|0x100000|718\n经理世界|0x100000|436\n经理助理|0x100000|503\n经纶济世|0x0000|100\n经纶满腹|0x0000|100\n经纶天下|0x1000000|790\n经络学|0x0008|410\n经贸部|0x100000|426\n经贸大学|0x100000|464\n经贸关系|0x0000|538\n经贸合作|0x100000|799\n经贸委|0x100000|614\n经贸有限公司|0x100000|552\n经明行修|0x1000000|1348\n经年累月|0x1000000|41966\n经丘寻壑|0x800000|100\n经人介绍|0x0000|469\n经史百子|0x0000|100\n经史子集|0x100000|1000\n经世济民|0x800000|1122\n经世之才|0x0008|1352\n经世致用|0x1000000|1050\n经手人|0x0000|44439\n经天纬地|0x1000000|1003\n经纬度|0x100000|36830\n经纬天下|0x0000|100\n经纬万端|0x1000000|1311\n经纬网|0x100000|467\n经纬线|0x0000|52784\n经纬仪|0x100000|999\n经文纬武|0x800000|100\n经销处|0x100000|706\n经销点|0x0000|45606\n经销权|0x100000|973\n经销商|0x100000|9755\n经验丰富|0x40000000|652\n经验交流会|0x0008|513\n经验教训|0x0000|567\n经验论|0x100000|1094\n经验谈|0x100000|735\n经验性|0x100000|1003\n经验之谈|0x800000|799\n经验值|0x0000|746\n经验主义|0x100000|30288\n经验总结|0x0008|2\n经一事|0x400000|0\n经营不善|0x800000|871\n经营部|0x100000|513\n经营策略|0x100000|778\n经营场所|0x0000|537\n经营范围|0x0008|636\n经营方式|0x100000|15\n经营风险|0x100000|526\n经营管理|0x0008|551\n经营管理权|0x0000|398\n经营机制|0x100000|522\n经营权|0x100000|8607\n经营商|0x100000|943\n经营项目|0x100000|772\n经营者|0x100000|626\n经营之道|0x100000|839\n经营自主权|0x0000|428\n经院哲学|0x0008|1088\n荆钗布裙|0x1000000|1153\n荆棘丛生|0x0000|100\n荆棘满途|0x1000000|1145\n荆棘塞途|0x1000000|100\n荆棘铜驼|0x1000000|100\n荆棘载途|0x1000000|1337\n荆门市|0x0040|1336\n荆人涉澭|0x0000|100\n荆三棱|0x400000|0\n荆山之玉|0x1000000|100\n荆天棘地|0x1000000|100\n荆榛满目|0x0000|100\n荆州市|0x0040|1285\n惊才风逸|0x1000000|100\n惊才绝艳|0x1000000|0\n惊采绝艳|0x1000000|100\n惊愕失色|0x0000|100\n惊耳骇目|0x1000000|100\n惊风骇浪|0x1000000|100\n惊风怒涛|0x1000000|100\n惊弓之鸟|0x1000000|35525\n惊鸿艳影|0x0000|100\n惊鸿一瞥|0x400000|1\n惊慌失措|0x1000000|19455\n惊慌失色|0x1000000|100\n惊慌无措|0x1000000|100\n惊皇失措|0x1000000|100\n惊惶失措|0x1000000|882\n惊惶失色|0x0000|100\n惊惶万状|0x0000|100\n惊惶无措|0x1000000|100\n惊魂动魄|0x1000000|100\n惊魂夺魄|0x1000000|100\n惊魂落魄|0x1000000|100\n惊魂丧魄|0x1000000|100\n惊魂摄魄|0x1000000|100\n惊魂失魄|0x1000000|100\n惊魂未定|0x1000000|838\n惊见骇闻|0x1000000|100\n惊恐不安|0x800000|767\n惊恐失色|0x1000000|100\n惊恐万状|0x1000000|38292\n惊起梁尘|0x1000000|100\n惊群动众|0x1000000|100\n惊人之举|0x800000|916\n惊肉生髀|0x1000000|100\n惊蛇入草|0x1000000|1428\n惊神破胆|0x1000000|100\n惊神泣鬼|0x1000000|100\n惊师动众|0x1000000|100\n惊世骇目|0x1000000|100\n惊世骇俗|0x1000000|31299\n惊世绝俗|0x1000000|100\n惊世震俗|0x1000000|100\n惊叹号|0x100000|33533\n惊堂木|0x0000|41967\n惊涛骇浪|0x1000000|21807\n惊涛巨浪|0x1000000|100\n惊涛怒浪|0x1000000|100\n惊涛拍岸|0x800000|940\n惊天地|0x800000|768\n惊天地泣鬼神|0x0008|776\n惊天动地|0x1000000|16760\n惊为天人|0x800000|835\n惊喜交集|0x1000000|1060\n惊喜交加|0x1000000|1065\n惊喜若狂|0x1000000|1121\n惊喜欲狂|0x0000|100\n惊弦之鸟|0x1000000|100\n惊险片|0x0008|52306\n惊心悲魄|0x1000000|100\n惊心惨目|0x1000000|100\n惊心褫魄|0x1000000|100\n惊心怵目|0x1000000|100\n惊心悼胆|0x1000000|100\n惊心吊胆|0x1000000|100\n惊心吊魄|0x1000000|100\n惊心掉胆|0x1000000|1505\n惊心动魄|0x1000000|11866\n惊心夺目|0x1000000|100\n惊心骇目|0x1000000|1388\n惊心骇神|0x1000000|100\n惊心骇瞩|0x1000000|100\n惊心裂胆|0x1000000|100\n惊心破胆|0x1000000|100\n惊心丧魄|0x1000000|100\n惊心眩目|0x1000000|100\n惊愚骇俗|0x1000000|100\n惊猿脱兔|0x1000000|100\n旌德县|0x0040|1547\n旌旗蔽日|0x1000000|100\n旌旗卷舒|0x0000|100\n旌旗招展|0x1000000|1112\n晶间腐蚀|0x0008|0\n晶体蛋白|0x0008|0\n晶体二极管|0x400000|878\n晶体管|0x100000|22631\n晶体化学|0x0008|0\n晶体结构|0x0008|0\n晶体滤波器|0x0008|0\n晶体缺陷|0x0008|0\n晶体三极管|0x400000|0\n晶体生长|0x0008|0\n晶体学|0x0008|1\n晶体振荡器|0x0008|960\n晶莹剔透|0x1000000|30065\n晶闸管|0x100000|954\n晶状体|0x100000|41483\n兢兢干干|0x0000|100\n兢兢乾乾|0x1000000|100\n兢兢业业|0x1000000|13822\n兢兢翼翼|0x0000|100\n兢兢战战|0x0000|100\n精氨酸|0x0008|439\n精兵简政|0x1000000|38909\n精兵强将|0x800000|23932\n精采秀发|0x100000|100\n精彩逼人|0x0000|100\n精彩电影|0x100000|509\n精彩纷呈|0x1000000|755\n精彩画面|0x100000|426\n精彩节目|0x100000|871\n精彩镜头|0x0000|457\n精彩剧照|0x100000|505\n精彩内容|0x100000|603\n精彩视频|0x100000|557\n精彩图片|0x100000|585\n精彩文章|0x100000|537\n精彩演出|0x0000|460\n精彩音乐|0x100000|475\n精诚合作|0x800000|752\n精诚所至|0x800000|917\n精诚团结|0x1000000|942\n精打细算|0x1000000|20090\n精雕细刻|0x1000000|29646\n精雕细镂|0x1000000|1229\n精耕细作|0x1000000|34062\n精贯白日|0x100000|100\n精河县|0x0040|1648\n精华版|0x100000|504\n精华区|0x100000|638\n精华素|0x100000|531\n精华贴|0x100000|623\n精华帖|0x100000|610\n精华液|0x100000|530\n精加工|0x0000|33781\n精金百炼|0x1000000|100\n精金良玉|0x1000000|100\n精金美玉|0x0000|100\n精进勇猛|0x0000|100\n精力充沛|0x800000|736\n精力枯竭|0x800000|1371\n精炼炉|0x0008|1131\n精馏塔|0x0008|0\n精美壁纸|0x100000|506\n精美画册|0x100000|424\n精美绝伦|0x800000|874\n精美图片|0x100000|517\n精密播种机|0x0008|0\n精密度|0x100000|48039\n精密仪器|0x0000|518\n精妙绝伦|0x0000|100\n精明能干|0x40000000|885\n精明强干|0x1000000|33782\n精母细胞|0x0008|0\n精疲力竭|0x1000000|23998\n精疲力尽|0x1000000|25346\n精疲力倦|0x0000|100\n精品电影|0x100000|416\n精品店|0x100000|46214\n精品房|0x100000|394\n精品工程|0x100000|476\n精品课程|0x100000|534\n精品软件|0x100000|567\n精品屋|0x100000|799\n精品下载|0x100000|726\n精品小说|0x100000|514\n精品展|0x100000|496\n精气神|0x100000|897\n精气神儿|0x100000|1139\n精强力壮|0x1000000|0\n精确度|0x100000|31867\n精确性|0x100000|37917\n精锐之师|0x0000|100\n精神百倍|0x800000|904\n精神饱满|0x1000000|846\n精神病|0x100000|12360\n精神病患者|0x100000|505\n精神病科|0x100000|1164\n精神病人|0x0000|517\n精神病学家|0x0000|385\n精神病院|0x100000|772\n精神不振|0x800000|916\n精神抖擞|0x0100|21002\n精神分裂|0x100000|753\n精神分裂症|0x0008|835\n精神分析|0x0008|490\n精神焕发|0x0100|889\n精神恍忽|0x0000|100\n精神恍惚|0x1000000|830\n精神疾病|0x100000|511\n精神家园|0x100000|529\n精神科|0x100000|518\n精神领袖|0x100000|505\n精神满腹|0x1000000|100\n精神面貌|0x0000|531\n精神上|0x0000|658\n精神生活|0x100000|826\n精神失常|0x0000|494\n精神实质|0x100000|506\n精神衰弱|0x100000|1033\n精神损失费|0x100000|921\n精神头儿|0x100000|46493\n精神为之一振|0x400000|0\n精神文明|0x100000|2211\n精神药品|0x100000|543\n精神障碍|0x100000|556\n精神支柱|0x0000|521\n精神状态|0x0000|594\n精饲料|0x100000|51867\n精算师|0x100000|906\n精卫填海|0x1000000|46215\n精武门|0x0020|1354\n精细化工|0x100000|581\n精细化工产品|0x100000|441\n精细结构|0x0008|1\n精心制作|0x0000|528\n精心组织|0x0000|575\n精义入神|0x0000|100\n精益求精|0x1000000|16673\n精英教育|0x100000|444\n精英赛|0x100000|532\n精制品|0x100000|1122\n精忠报国|0x800000|873\n精装版|0x100000|524\n精装本|0x100000|45608\n精子库|0x100000|55963\n鲸波怒浪|0x1000000|100\n鲸波鼍浪|0x1000000|100\n鲸涛鼍浪|0x1000000|100\n鲸吞蚕食|0x1000000|1232\n鲸吞虎噬|0x1000000|100\n鲸吞蛇噬|0x1000000|100\n鲸吸牛饮|0x1000000|100\n井底蛤蟆|0x0000|100\n井底鸣蛙|0x1000000|100\n井底虾蟆|0x1000000|100\n井底之蛙|0x1000000|44160\n井冈山|0x0040|1227\n井冈山市|0x0040|1520\n井管拘墟|0x1000000|100\n井井有法|0x1000000|100\n井井有方|0x1000000|100\n井井有条|0x1000000|25636\n井井有序|0x1000000|100\n井井有绪|0x1000000|100\n井臼亲操|0x1000000|100\n井然有条|0x1000000|100\n井然有序|0x1000000|818\n井水不犯河水|0x0008|941\n井田制|0x100000|1152\n井蛙醯鸡|0x0000|100\n井蛙之见|0x800000|1290\n井下流量计|0x0008|0\n井渫不食|0x1000000|1406\n井渫莫食|0x1000000|100\n井陉矿区|0x0040|1100\n井陉县|0x0040|1603\n井研县|0x0040|1088\n井中求火|0x1000000|100\n井中视星|0x1000000|100\n颈动脉|0x0008|466\n颈静脉|0x0000|382\n颈椎病|0x100000|35676\n景德镇|0x0040|1088\n景德镇市|0x0040|1283\n景东彝族自治县|0x0040|1128\n景谷傣族彝族自治县|0x0040|1197\n景观灯|0x100000|481\n景观规划|0x100000|462\n景观设计|0x100000|557\n景观生态学|0x0008|0\n景观石|0x100000|399\n景观学|0x0008|0\n景洪市|0x0040|1627\n景宁畲族自治县|0x0040|1670\n景颇族|0x0008|41272\n景入桑榆|0x1000000|100\n景升豚犬|0x1000000|100\n景泰蓝|0x100000|35677\n景泰县|0x0040|1638\n景天三七|0x400008|0\n景星凤皇|0x1000000|100\n景星凤凰|0x1000000|0\n景星麟凤|0x1000000|1537\n景星庆云|0x1000000|100\n景阳冈|0x0040|1084\n景岳全书|0x0008|0\n憬然有悟|0x0000|100\n警报器|0x100000|32766\n警备队|0x100000|1072\n警备区|0x100000|970\n警备司令部|0x0000|389\n警察部队|0x100000|444\n警察队|0x100000|1\n警察故事|0x100000|864\n警察局|0x100000|764\n警察署|0x100000|1086\n警察厅|0x100000|1050\n警车队|0x100000|0\n警笛声|0x100000|992\n警匪片|0x100000|49849\n警官学校|0x0000|404\n警戒色|0x100000|1268\n警戒水位|0x0000|31753\n警戒线|0x100000|22732\n警觉性|0x100000|931\n警愦觉聋|0x1000000|100\n警示牌|0x100000|914\n警惕性|0x100000|25901\n警卫队|0x100000|901\n警卫室|0x0008|1065\n警卫员|0x100000|20125\n警钟长鸣|0x800000|915\n净产值|0x100000|55720\n净化剂|0x100000|1038\n净化器|0x100000|735\n净化系统|0x100000|653\n净利润|0x100000|673\n净胜球|0x100000|916\n净收入|0x100000|887\n净水厂|0x100000|1091\n净水器|0x0008|52786\n净土宗|0x0008|974\n净重量|0x100000|1215\n净资产|0x800000|737\n径流模数|0x0008|0\n径情直遂|0x1000000|1426\n径情直行|0x1000000|100\n径向速度|0x0008|0\n径行直遂|0x1000000|100\n径一周三|0x1400000|0\n胫大于股|0x0000|100\n竞短争长|0x0000|100\n竞技场|0x100000|741\n竞技风暴|0x100000|473\n竞技体操|0x100000|849\n竞技体育|0x0000|15995\n竞技状态|0x0008|922\n竞价排名|0x100000|517\n竞今疏古|0x0000|100\n竞聚率|0x100000|1495\n竞赛活动|0x0000|552\n竞赛题|0x100000|427\n竞选人|0x100000|1095\n竞业禁止|0x0000|423\n竞争对手|0x0000|706\n竞争机制|0x0000|15663\n竞争力|0x100000|2952\n竞争能力|0x0000|594\n竞争上岗|0x0008|553\n竞争性|0x100000|778\n竞争性抑制|0x0008|0\n竞争性抑制剂|0x100000|0\n竞争者|0x100000|731\n竟陵派|0x0008|0\n敬陈管见|0x0000|100\n敬而远之|0x1000000|29962\n敬恭桑梓|0x1000000|100\n敬鬼神而远之|0x0008|1115\n敬姜犹绩|0x1000000|100\n敬酒不吃吃罚酒|0x0008|1019\n敬老慈少|0x1000000|100\n敬老慈幼|0x1000000|100\n敬老慈穉|0x1000000|100\n敬老怜贫|0x1000000|100\n敬老恤贫|0x1000000|100\n敬老院|0x100000|15719\n敬老尊贤|0x1000000|1149\n敬请期待|0x0000|520\n敬如上宾|0x0000|100\n敬若神明|0x800000|1138\n敬上爱下|0x1000000|100\n敬上接下|0x0000|100\n敬时爱日|0x1000000|100\n敬事不暇|0x0000|100\n敬事后食|0x1000000|100\n敬授民时|0x1000000|1360\n敬授人时|0x1000000|100\n敬天爱民|0x1000000|100\n敬贤爱士|0x1000000|1285\n敬贤礼士|0x1000000|100\n敬贤下士|0x1000000|100\n敬贤重士|0x1000000|1258\n敬小慎微|0x1000000|100\n敬谢不敏|0x1000000|51449\n敬业精神|0x0008|577\n敬业乐群|0x1000000|1106\n敬终慎始|0x1000000|100\n靖安县|0x0040|1626\n靖边县|0x0040|1041\n靖国神社|0x0008|1232\n靖江市|0x0040|1251\n靖西县|0x0040|1600\n靖言庸回|0x1000000|100\n靖言庸违|0x1000000|100\n靖宇县|0x0040|1067\n靖远县|0x0040|1058\n靖谮庸回|0x0000|100\n靖州苗族侗族自治县|0x0040|1770\n境内外|0x8000|845\n境外游|0x100000|390\n静安区|0x0040|1214\n静磁学|0x0008|0\n静电场|0x0008|0\n静电除尘器|0x100000|383\n静电感应|0x100000|807\n静电荷|0x0008|1158\n静电力|0x0008|0\n静电屏蔽|0x0008|876\n静电透镜|0x0008|0\n静电学|0x0008|1288\n静电印刷|0x0008|0\n静观默察|0x800000|1379\n静观其变|0x0008|867\n静海县|0x0040|1406\n静极思动|0x0000|100\n静乐县|0x0040|1067\n静力学|0x0008|1038\n静脉曲张|0x100000|44729\n静脉血|0x0000|458\n静脉炎|0x0008|820\n静脉注射|0x800000|936\n静摩擦|0x100000|1162\n静摩擦力|0x100000|1232\n静宁县|0x0040|1040\n静配合|0x0008|0\n静悄悄|0x0100|10850\n静如处女|0x800000|1231\n静若处子|0x1000|0\n静物画|0x100000|1103\n静下来|0x0000|543\n静言令色|0x1000000|100\n静言庸违|0x1000000|100\n静影沉璧|0x0000|100\n镜分鸾凤|0x1000000|100\n镜花水月|0x1000000|51019\n镜里采花|0x1000000|100\n镜里观花|0x1000000|1535\n镜破钗分|0x800000|100\n镜圆璧合|0x1000000|100\n迥不犹人|0x1000000|100\n迥乎不同|0x1000000|1231\n迥然不群|0x1000000|100\n迥然不同|0x800000|822\n炯炯有神|0x1000000|846\n纠察队|0x100000|26343\n纠察员|0x100000|1366\n纠缠不清|0x0000|100\n纠错码|0x0008|0\n纠纷案|0x100000|832\n纠纷案件|0x100000|541\n纠合之众|0x0000|100\n究根儿|0x1000|55319\n究其实|0x0000|53306\n鸠车竹马|0x1000000|100\n鸠夺鹊巢|0x1000000|100\n鸠工庀材|0x0000|100\n鸠集凤池|0x800000|100\n鸠僭鹊巢|0x1000000|100\n鸠居鹊巢|0x1000000|100\n鸠形鹄面|0x1000000|0\n鸠占鹊巢|0x1000000|55927\n赳赳武夫|0x100000|1186\n揪辫子|0x1000|1352\n九百万|0x600000|1\n九变十化|0x1400000|0\n九大行星|0x500000|0\n九鼎不足为重|0x400008|0\n九鼎大吕|0x500000|0\n九鼎一丝|0x1400000|0\n九垓八埏|0x400000|100\n九故十亲|0x1400000|0\n九关虎豹|0x1400000|0\n九合一匡|0x400000|100\n九回肠|0x400000|100\n九回肠断|0x400000|100\n九阍虎豹|0x1400000|0\n九间朝殿|0x1400000|0\n九间大殿|0x1400000|0\n九江八河|0x1400000|0\n九江市|0x400000|1338\n九江县|0x400000|1635\n九角形|0x400000|0\n九节菖蒲|0x400008|0\n九届全国人大|0x400000|8\n九九八十一|0x400000|0\n九九表|0x400000|0\n九九乘法|0x400000|0\n九九乘法表|0x400000|0\n九九歌|0x500000|0\n九九归一|0x1400000|55722\n九九归原|0x1400000|0\n九九重阳|0x400000|0\n九局上半|0x400000|0\n九局下半|0x400000|0\n九里香|0x500000|0\n九连宝灯|0x400000|0\n九炼成钢|0x400000|0\n九烈三贞|0x1400000|0\n九流百家|0x400000|100\n九流宾客|0x1400000|0\n九流人物|0x500000|0\n九流三教|0x1400000|0\n九流十家|0x400000|100\n九龙半岛|0x400000|0\n九龙城|0x400000|1581\n九龙城区|0x400000|0\n九龙坡|0x400000|1131\n九龙坡区|0x400000|1147\n九龙湾|0x400040|0\n九龙县|0x400000|1146\n九楼住户|0x400000|0\n九命怪猫|0x400000|0\n九年级|0x100000|545\n九年义务教育|0x400000|524\n九年之储|0x400000|100\n九年之蓄|0x500000|0\n九牛二虎|0x400000|0\n九牛二虎之力|0x400008|46800\n九牛拉不转|0x400008|0\n九牛一毫|0x1400000|0\n九牛一毛|0x1400000|46494\n九品中正|0x400000|0\n九曲回肠|0xc00000|1\n九曲桥|0x400000|1058\n九衢三市|0x1400000|0\n九泉之下|0xc00000|0\n九仞一篑|0x1400000|0\n九儒十丐|0x400000|100\n九三军人|0x400000|0\n九三学社|0x400020|3\n九十八|0x600000|8\n九十二|0x600000|6\n九十九|0x600000|6\n九十六|0x600000|6\n九十年代|0x400000|698\n九十七|0x600000|3\n九十其仪|0x400000|0\n九十三|0x600000|6\n九十四|0x600000|2\n九十万|0x600000|4\n九十五|0x600000|3\n九十一|0x600000|0\n九世之仇|0xc00000|0\n九死不悔|0xc00000|0\n九死未悔|0x400000|100\n九死一生|0x1400000|29029\n九台市|0x400000|1614\n九天九地|0xc00000|0\n九天揽月|0xc00000|0\n九天仙女|0x400000|100\n九天音乐|0x100000|455\n九天音乐网|0x400000|0\n九天之外|0x400000|0\n九头鸟|0x500000|47101\n九头狮子草|0x400008|0\n九尾狐|0x500000|0\n九五之尊|0x500000|0\n九五至尊|0x400000|0\n九弦琴|0x400000|0\n九香虫|0x4400000|0\n九宵云外|0x400000|0\n九霄云外|0x1400000|31519\n九行八业|0x1400000|0\n九朽一罢|0x400000|0\n九一八事|0x400000|0\n九一八事变|0x400008|11\n九阴真经|0x400008|0\n九原可作|0x1400000|0\n九月份|0x404000|808\n九寨沟|0x400040|5\n九寨沟县|0x400000|1084\n九章算术|0x400000|0\n九折臂|0x400000|100\n九折优待|0x400000|0\n九蒸三熯|0x1400000|0\n九重葛|0x400000|0\n九重霄|0x500000|0\n九州四海|0x1400000|0\n九洲四海|0x400000|100\n九转功成|0xc00000|0\n九转还魂丹|0x400000|0\n九宗七祖|0x1400000|0\n九族生天|0x1400000|0\n九族文化村|0x400000|0\n九祖升天|0x1400000|0\n久安长治|0x1000000|100\n久别重逢|0x1000000|839\n久病成良医|0x100000|1127\n久病成医|0x800000|1088\n久而久之|0x1000000|13809\n久负盛名|0x800000|31175\n久惯牢成|0x1000000|100\n久惯老诚|0x1000000|100\n久归道山|0x1000000|100\n久旱逢甘雨|0x0008|1083\n久怀慕蔺|0x800000|100\n久假不归|0x1000000|1410\n久经锻炼|0x800000|981\n久经风霜|0x0000|100\n久经考验|0x800000|965\n久经沙场|0x1000000|40815\n久久不忘|0x0000|100\n久居人下|0x0000|100\n久历风尘|0x0000|100\n久束湿薪|0x1000000|100\n久拖不决|0x800000|21270\n久闻大名|0x800000|1038\n久悬不决|0x800000|100\n久仰大名|0x800000|982\n久要不忘|0x800000|100\n久治不愈|0x800000|884\n久治县|0x0040|1146\n灸艾分痛|0x1000000|100\n韭菜花|0x0000|416\n韭菜子|0x0008|1222\n酒吧间|0x100000|1046\n酒吧女|0x0000|408\n酒病花愁|0x1000000|100\n酒池肉林|0x1000000|1027\n酒地花天|0x1000000|100\n酒店宾馆|0x100000|508\n酒店风云|0x100000|442\n酒店服|0x100000|379\n酒店家具|0x100000|425\n酒店客房|0x100000|509\n酒店设备|0x100000|456\n酒店设计|0x100000|384\n酒店设施|0x100000|466\n酒店业|0x100000|862\n酒店用品|0x100000|509\n酒逢知己|0x800000|48765\n酒逢知己千杯少|0x0008|987\n酒过三巡|0x400000|1\n酒酣耳热|0x1000000|43444\n酒酣耳熟|0x1000000|1542\n酒后茶余|0x0000|100\n酒后失言|0x0000|100\n酒后无德|0x0000|100\n酒虎诗龙|0x1000000|100\n酒精灯|0x100000|55321\n酒精肝|0x100000|385\n酒精性|0x100000|436\n酒精中毒|0x100000|924\n酒井法子|0x0080|925\n酒阑人散|0x0000|100\n酒龙诗虎|0x1000000|100\n酒绿灯红|0x1000000|1184\n酒囊饭包|0x1000000|100\n酒囊饭袋|0x1000000|45016\n酒瓶盖|0x100000|371\n酒泉街|0x0040|0\n酒泉市|0x0040|1426\n酒肉朋友|0x1000000|43211\n酒肉兄弟|0x1000000|100\n酒入舌出|0x1000|100\n酒色财气|0x1000000|52790\n酒色之徒|0x1000000|1183\n酒石酸|0x100000|952\n酒食地狱|0x100000|100\n酒食征逐|0x800000|1536\n酒酸不售|0x0000|100\n酒文化|0x100000|477\n酒瓮饭囊|0x0000|100\n酒窝儿|0x100000|1217\n酒香不怕巷子深|0x0008|997\n酒业有限公司|0x100000|498\n酒有别肠|0x800000|100\n酒余茶后|0x0000|100\n酒糟鼻|0x100000|52791\n酒渣鼻|0x100000|1068\n酒桌上|0x100000|494\n酒足饭饱|0x800000|35227\n酒醉饭饱|0x800000|1204\n旧病复发|0x1000000|936\n旧病难医|0x0000|100\n旧仇宿怨|0x100000|100\n旧愁新恨|0x100000|100\n旧大陆|0x100000|1142\n旧的不去新的不来|0x0008|904\n旧地重游|0x1000|932\n旧电脑|0x100000|476\n旧调重弹|0x1000000|55877\n旧恨新仇|0x100000|1186\n旧恨新愁|0x0000|100\n旧话重提|0x0000|100\n旧货店|0x0008|1096\n旧货摊|0x100000|1166\n旧家具|0x100000|422\n旧金山|0x0040|1155\n旧金山市|0x0040|1584\n旧金山湾|0x100000|1220\n旧框框|0x100000|47402\n旧历年|0x100000|1094\n旧貌换新颜|0x0008|950\n旧民主主义革命|0x0008|0\n旧念复萌|0x0000|100\n旧瓶新酒|0x0000|100\n旧瓶装新酒|0x0008|1063\n旧社会|0x100000|9195\n旧石器|0x100000|1060\n旧石器时代|0x4000|970\n旧时代|0x100000|454\n旧事重提|0x0000|100\n旧书摊|0x100000|1009\n旧态复萌|0x0000|100\n旧唐书|0x0000|441\n旧体诗|0x100000|27465\n旧习惯|0x100000|1063\n旧燕归巢|0x0000|100\n旧雨今雨|0x0000|100\n旧雨重逢|0x800000|1409\n旧中国|0x0008|906\n臼杵之交|0x0000|100\n臼头深目|0x1000|100\n臼灶生蛙|0x0000|100\n咎由自取|0x1000000|33406\n咎有应得|0x1000000|1540\n疚心疾首|0x0000|100\n救必应|0x100000|1359\n救焚投薪|0x0000|100\n救焚益薪|0x0000|100\n救焚拯溺|0x1000000|100\n救国救民|0x800000|1029\n救国团|0x100000|927\n救过补阙|0x0000|100\n救过不给|0x1000000|100\n救过不赡|0x1000000|100\n救过不暇|0x1000000|100\n救寒莫如重裘|0x0008|100\n救护车|0x100000|15301\n救护队|0x100000|1017\n救护机|0x0008|0\n救护所|0x100000|1290\n救护站|0x100000|1170\n救火车|0x100000|42944\n救火队|0x100000|1097\n救火投薪|0x1000000|100\n救火扬沸|0x1000000|1329\n救火员|0x0000|375\n救火拯溺|0x1000000|100\n救饥拯溺|0x1000000|100\n救急扶伤|0x1000000|100\n救济费|0x100000|1191\n救济户|0x100000|1538\n救济金|0x100000|26760\n救济粮|0x100000|1116\n救济品|0x100000|1270\n救济院|0x100000|1226\n救经引足|0x800000|100\n救救急|0x100000|0\n救苦救难|0x1000000|39115\n救苦弭灾|0x1000000|100\n救困扶危|0x1000000|100\n救燎助薪|0x1000000|100\n救民水火|0x1000000|1346\n救民于水火|0x0008|1152\n救命稻草|0x0000|41273\n救命之恩|0x800000|844\n救难解危|0x1000000|100\n救偏补弊|0x1000000|100\n救黥医劓|0x1000000|100\n救人一命|0x1400000|0\n救生船|0x100000|1102\n救生带|0x100000|1536\n救生筏|0x0008|49146\n救生圈|0x100000|39116\n救生设备|0x0008|1017\n救生艇|0x100000|41487\n救生衣|0x100000|39314\n救生员|0x100000|50616\n救时厉俗|0x1000000|100\n救世济民|0x0000|100\n救世军|0x100000|1110\n救世主|0x100000|25348\n救死扶伤|0x1000000|19222\n救死扶危|0x0000|100\n救亡图存|0x1000000|35228\n救亡运动|0x800000|1072\n救心丸|0x100000|1006\n救灾恤患|0x1000000|100\n救助者|0x100000|1124\n就地取材|0x1000|32394\n就地正法|0x1000000|43212\n就棍打腿|0x1000000|100\n就坡下驴|0x800000|1143\n就事论事|0x1000000|25419\n就是了|0x2000|684\n就是说|0x10000000|498\n就汤下面|0x1000000|100\n就虚避实|0x0000|100\n就业机会|0x100000|778\n就业率|0x100000|763\n就业人数|0x0008|10\n就业问题|0x100000|801\n就业证|0x100000|1088\n就业指导|0x100000|592\n就正有道|0x0000|100\n居安虑危|0x1000000|100\n居安思危|0x1000000|16578\n居安资深|0x1000000|100\n居不重席|0x0000|100\n居不重茵|0x0000|100\n居大不易|0x1000000|1197\n居高不下|0x800000|12594\n居高临下|0x1000000|17718\n居功不傲|0x800000|1345\n居功自傲|0x1000000|1070\n居功自恃|0x1000000|1263\n居官守法|0x1000|100\n居里夫人|0x0080|1453\n居利思义|0x1000000|100\n居留地|0x0008|0\n居留权|0x100000|39117\n居留证|0x100000|38494\n居民地|0x0008|3\n居民点|0x100000|27715\n居民购买力|0x100000|912\n居民家庭|0x100000|502\n居民楼|0x100000|20774\n居民区|0x100000|12963\n居民身份证|0x100000|21357\n居民生活|0x100000|551\n居民收入|0x100000|551\n居民委员会|0x100000|690\n居民消费|0x0000|571\n居奇牟利|0x800000|1534\n居仁由义|0x1000000|1314\n居世界第一位|0x400000|5\n居首位|0x0000|493\n居停主人|0x100000|1425\n居委会|0x100000|716\n居无求安|0x0000|100\n居下讪上|0x0000|100\n居心不良|0x800000|953\n居心叵测|0x1000000|36831\n居心险恶|0x0000|100\n居移气|0x1000|100\n居之不疑|0x800000|1326\n居重驭轻|0x1000000|100\n居轴处中|0x1000000|100\n居住面积|0x0008|5\n居住区|0x100000|731\n居住权|0x100000|986\n居住小区|0x0000|480\n居住者|0x100000|962\n居住证|0x0000|51453\n拘留所|0x100000|23999\n拘留证|0x0008|54836\n拘挛补衲|0x1000000|100\n拘奇抉异|0x1000000|100\n拘神遣将|0x0000|100\n拘俗守常|0x0000|100\n拘文牵义|0x1000000|100\n狙击步枪|0x0008|494\n狙击手|0x100000|47724\n狙击战|0x100000|1062\n驹齿未落|0x800000|100\n驹窗电逝|0x1000000|100\n驹光过隙|0x1000000|100\n驹留空谷|0x1000000|100\n裾马襟牛|0x0000|100\n鞠躬尽瘁|0x1000000|17747\n鞠躬尽力|0x1000000|100\n鞠躬君子|0x1000000|100\n鞠躬礼|0x100000|1109\n鞠躬屏气|0x1000000|100\n鞠为茂草|0x1000000|100\n鞫为茂草|0x1000000|100\n局部性|0x100000|983\n局部鞅|0x100000|0\n局部域|0x0008|0\n局部战争|0x0008|21\n局促不安|0x40000000|921\n局地扣天|0x1000000|100\n局地钥天|0x0000|100\n局高蹐厚|0x1000000|100\n局机关|0x100000|530\n局内人|0x100000|55323\n局骗拐带|0x1000|100\n局天促地|0x0000|100\n局天蹐地|0x0000|100\n局天扣地|0x1000000|100\n局外人|0x100000|23379\n局外之人|0x0000|100\n局限性|0x100000|722\n局限于|0x0000|608\n局域网|0x100000|14065\n局域网络|0x100000|899\n局中人|0x100000|1041\n局主席|0x100000|402\n桔红色|0x100000|935\n菊花茶|0x0008|46217\n菊花石|0x100000|375\n菊化精|0x100000|0\n菊老荷枯|0x0000|100\n跼促一隅|0x400000|0\n跼地籥天|0x1000000|100\n跼高蹐厚|0x1000000|100\n跼蹐不安|0x0000|100\n跼天促地|0x1000000|100\n跼天蹐地|0x1000000|100\n橘红色|0x100000|847\n橘化为枳|0x1000000|100\n橘黄色|0x100000|862\n橘子汁|0x100000|1053\n咀嚼英华|0x0000|100\n举案齐眉|0x1000000|52794\n举报电话|0x0008|581\n举报人|0x100000|906\n举报信|0x100000|988\n举报中心|0x100000|568\n举不胜举|0x1000000|38495\n举步生风|0x0000|100\n举步维艰|0x800000|21911\n举措不当|0x800000|100\n举措失当|0x0000|100\n举鼎拔山|0x0000|100\n举鼎绝膑|0x800000|1507\n举国若狂|0x1000000|1295\n举国上下|0x800000|23700\n举国一致|0xc00000|0\n举举手|0x1000|1189\n举例发凡|0x800000|100\n举例来说|0x800000|813\n举例说明|0x0000|531\n举目可见|0x800000|1\n举目千里|0x0000|100\n举目无亲|0x800000|31520\n举其一端|0x400000|0\n举棋不定|0x1000000|34958\n举棋若定|0x0000|100\n举起手来|0x0000|495\n举轻若重|0x800000|1118\n举如鸿毛|0x800000|100\n举善荐贤|0x0000|100\n举升机|0x100000|430\n举十知九|0xc00000|0\n举世混浊|0x0000|100\n举世皆知|0x0000|100\n举世闻名|0x800000|811\n举世无敌|0x800000|1294\n举世无双|0x1000000|35374\n举世瞩目|0x800000|8321\n举手加额|0x1000000|100\n举手礼|0x100000|54837\n举手投足|0x800000|30941\n举手相庆|0x0000|100\n举手之劳|0x800000|37724\n举头三尺有神明|0x400000|0\n举枉措直|0x800000|100\n举无遗策|0x800000|100\n举贤任能|0x1000000|1253\n举贤使能|0x800000|100\n举要删芜|0x0000|100\n举一反三|0x1400000|20241\n举一废百|0xc00000|0\n举证责任|0x100000|928\n举证责任倒置|0x0008|0\n举直措枉|0x800000|100\n举直错枉|0x0000|100\n举止不凡|0x0000|100\n举止大方|0x1000000|1080\n举止失措|0x0000|100\n举止文雅|0x800000|912\n举止娴雅|0x0000|100\n举止言谈|0x0000|100\n举止自若|0x0000|100\n举重若轻|0x800000|874\n举足轻重|0x1000000|11273\n矩步方行|0x0000|100\n矩形波导|0x0008|0\n矩形管|0x100000|376\n莒光号|0x100000|0\n莒南县|0x0040|1490\n龃龉不合|0x0000|100\n踽踽独行|0x1000000|968\n踽踽凉凉|0x1000000|100\n句比字栉|0x1000000|100\n句容市|0x0040|1426\n句斟字酌|0x1000000|100\n句栉字比|0x1000000|100\n句子成分|0x100000|852\n巨大成就|0x0000|496\n巨大损失|0x0000|493\n巨核细胞|0x0008|0\n巨颌症|0x100000|0\n巨浪滔天|0x800000|936\n巨鹿县|0x0040|1643\n巨人队|0x100000|0\n巨人症|0x100000|1126\n巨舌症|0x100000|0\n巨噬细胞|0x0008|466\n巨无霸|0x100000|32641\n巨细胞动脉炎|0x0008|0\n巨细无遗|0x0000|100\n巨蟹座|0x0008|1042\n巨牙症|0x100000|0\n巨野县|0x0040|1547\n拒不执行|0x800000|987\n拒腐防变|0x800000|993\n拒虎进狼|0x1000000|100\n拒谏饰非|0x1000000|1301\n拒绝服务|0x0000|529\n拒狼进虎|0x1000000|100\n拒人千里|0x1000000|48767\n拒人于千里之外|0x0008|935\n拒之门外|0x800000|20357\n苣荬菜|0x100000|1309\n具体办法|0x100000|548\n具体表现|0x0000|508\n具体步骤|0x100000|494\n具体操作|0x0000|585\n具体措施|0x100000|557\n具体地说|0x10000000|896\n具体地址|0x100000|581\n具体而微|0x1000000|50617\n具体化|0x1000|14621\n具体来说|0x10000000|850\n具体劳动|0x100000|1188\n具体内容|0x0000|617\n具体情况|0x0000|668\n具体说来|0x10000000|939\n具体思维|0x0008|0\n具体位置|0x100000|569\n具体型号|0x100000|482\n具体性|0x100000|1057\n具体要求|0x0000|648\n具体做法|0x0000|528\n具有国际先进水平|0x0000|461\n钜人长德|0x1000000|100\n钜学鸿生|0x1000000|100\n俱乐部|0x100000|2977\n俱收并蓄|0x1000000|100\n剧场版|0x100000|605\n剧情简介|0x100000|628\n剧情片|0x100000|554\n剧务员|0x100000|0\n剧中人|0x100000|27123\n剧作家|0x100000|835\n剧作者|0x100000|1093\n惧高症|0x100000|1095\n据鞍读书|0x0000|100\n据报道|0x0000|624\n据不完全统计|0x0000|563\n据高临下|0x1000000|100\n据估计|0x0000|520\n据理力争|0x1000000|29750\n据说是|0x0000|393\n据统计|0x0000|686\n据图刎首|0x1000000|100\n据外电报道|0x0000|476\n据为己有|0x1000000|28732\n据义履方|0x1000000|100\n距人千里|0x1000000|100\n距跃三百|0x1400000|0\n锯齿形|0x0000|403\n锯齿状|0x100000|1009\n锯木厂|0x100000|1162\n锯木架|0x100000|1354\n锯牙钩爪|0x1000000|100\n聚氨酯|0x100000|739\n聚胺脂|0x100000|399\n聚宝盆|0x100000|25420\n聚苯醚|0x0008|0\n聚苯乙烯|0x100000|895\n聚变反应|0x0008|5\n聚丙烯|0x100000|735\n聚丙烯酸酯|0x0008|0\n聚丙烯纤维|0x100000|373\n聚丙烯酰胺|0x0008|454\n聚餐会|0x100000|1102\n聚对苯二甲酸丁二醇酯|0x400000|0\n聚二甲基硅氧烷|0x400000|0\n聚光灯|0x100000|30942\n聚光镜|0x100000|1126\n聚光器|0x0008|0\n聚合催化剂|0x0008|0\n聚合氯化铝|0x100000|435\n聚合体|0x0008|416\n聚合物|0x100000|25767\n聚会时间|0x100000|1019\n聚会所|0x0000|370\n聚集体|0x0008|1193\n聚结剂|0x100000|0\n聚精会神|0x1000000|11207\n聚类分析|0x0008|0\n聚敛无厌|0x0000|100\n聚氯丁二烯|0x400008|0\n聚氯乙烯|0x100000|813\n聚氯乙烯塑料|0x0008|0\n聚氯乙烯纤维|0x0008|0\n聚米为谷|0x0000|100\n聚米为山|0x1000|100\n聚能射孔弹|0x0008|0\n聚三氟氯乙烯|0x400008|0\n聚散无常|0x800000|937\n聚沙成塔|0x1000000|49492\n聚少成多|0x0000|100\n聚四氟乙|0x400000|0\n聚四氟乙烯|0x400008|0\n聚讼纷纭|0x800000|52795\n聚碳酸酯|0x100000|942\n聚蚊成雷|0x1000|1355\n聚酰胺|0x100000|944\n聚酰胺纤维|0x0008|0\n聚酰亚胺|0x100000|949\n聚乙二醇|0x400008|0\n聚乙烯|0x100000|719\n聚乙烯醇|0x100000|979\n聚乙烯醇缩甲醛|0x0008|0\n聚乙稀|0x0008|1038\n聚已二酰已二胺|0x400000|0\n聚异丁烯|0x100000|1153\n聚阴离子|0x0008|0\n聚在一起|0x400000|590\n聚酯瓶|0x100000|382\n聚酯漆|0x100000|401\n聚酯切片|0x100000|457\n聚酯树脂|0x0000|439\n聚酯纤维|0x100000|1012\n聚众斗殴|0x800000|1083\n聚众闹事|0x800000|1036\n聚众滋事|0x0000|100\n屦及剑及|0x1000000|100\n屦贱踊贵|0x1000000|100\n踞虎盘龙|0x1000000|100\n踞炉炭上|0x1000000|100\n瞿塘峡|0x0040|1643\n娟好静秀|0x800000|100\n捐本逐末|0x1000000|100\n捐残去杀|0x1000000|100\n捐忿弃瑕|0x0000|100\n捐金抵璧|0x1000000|100\n捐款箱|0x100000|1053\n捐弃前嫌|0x800000|41277\n捐躯报国|0x0000|100\n捐躯赴难|0x0000|100\n捐躯殉国|0x0000|100\n捐身徇义|0x1000000|100\n捐献者|0x100000|1020\n捐赠人|0x0008|1097\n捐赠者|0x100000|1029\n捐助人|0x100000|1122\n捐助者|0x100000|1075\n捐资助学|0x800000|930\n涓埃之力|0x1000000|100\n涓滴不漏|0x0000|100\n涓滴不遗|0x0000|100\n涓滴成河|0x0000|100\n涓滴归公|0x1000000|1494\n涓滴微利|0x0000|100\n涓滴之劳|0x0000|100\n涓涓不壅|0x0000|100\n涓涓细流|0x100000|894\n镌骨铭心|0x1000000|100\n镌空妄实|0x1000000|100\n镌脾琢肾|0x1000000|100\n镌心铭骨|0x0000|100\n卷笔刀|0x100000|1010\n卷层云|0x100000|1359\n卷地皮|0x1000|0\n卷发器|0x0008|388\n卷积码|0x100000|1223\n卷积云|0x100000|1315\n卷甲倍道|0x1000000|100\n卷甲束兵|0x1000000|100\n卷甲韬戈|0x1000000|100\n卷甲衔枚|0x1000000|100\n卷帘门|0x4000000|53809\n卷铺盖|0x1000|42232\n卷旗息鼓|0x0000|100\n卷曲度|0x0008|0\n卷舌音|0x100000|1091\n卷舌元音|0x100000|1344\n卷筒纸|0x0008|439\n卷土重来|0x1000000|21482\n卷席而居|0x1000000|100\n卷席而葬|0x1000000|100\n卷心菜|0x100000|37918\n卷烟厂|0x100000|869\n卷扬机|0x100000|47725\n卷帙浩繁|0x800000|46805\n卷轴式|0x100000|0\n卷子本|0x0008|0\n倦鸟知还|0x0000|100\n倦尾赤色|0x1000000|100\n倦意顿消|0x800000|1313\n狷介之士|0x800000|100\n绢丝品|0x100000|0\n眷红偎翠|0x0000|100\n眷眷之心|0x0000|100\n鄄城县|0x0040|1052\n撅坑撅堑|0x1000000|100\n撅天扑地|0x1000000|100\n撧耳顿足|0x1000000|100\n撧耳挠腮|0x1000000|100\n撧耳揉腮|0x1000000|100\n决不待时|0x1000000|1539\n决不会|0x1000|663\n决不宽贷|0x1000|1407\n决不能|0x1000|706\n决不再|0x0000|432\n决策层|0x100000|828\n决策程序|0x100000|471\n决策人|0x100000|991\n决策树|0x0008|372\n决策者|0x100000|765\n决定论|0x100000|939\n决定权|0x100000|19057\n决定书|0x100000|916\n决定性|0x100000|691\n决断力|0x0000|440\n决断如流|0x1000000|100\n决非偶然|0x800000|1098\n决明子|0x100000|897\n决命争首|0x1000000|100\n决赛权|0x100000|1073\n决胜负|0x0000|488\n决胜庙堂|0x0000|100\n决胜千里|0x1000000|945\n决胜于千里之外|0x0008|1005\n决算书|0x100000|1297\n决无此事|0x800000|1329\n决心书|0x100000|34655\n决心要|0x0000|562\n决一雌雄|0x1400000|45316\n决一胜负|0x400000|1093\n决一死战|0x1400000|32642\n决一雄雌|0x400000|0\n决议案|0x100000|19456\n决疣溃痈|0x1000000|100\n抉奥阐幽|0x1000000|100\n抉目东门|0x1000000|100\n抉目吴门|0x1000000|100\n抉目胥门|0x1000000|100\n抉目悬门|0x1000000|100\n抉瑕掩瑜|0x0000|100\n抉瑕摘衅|0x0000|100\n绝不会|0x1000|83\n绝长补短|0x1000|100\n绝长继短|0x0000|100\n绝长续短|0x0000|100\n绝处逢生|0x1000|38295\n绝大部分|0x100000|632\n绝大多数|0x200000|573\n绝大多数人|0x0000|527\n绝代佳人|0x100000|888\n绝顶聪明|0x0000|100\n绝对额|0x100000|2\n绝对高度|0x100000|1154\n绝对观念|0x0008|706\n绝对化|0x1000|25830\n绝对零度|0x100000|950\n绝对路径|0x100000|484\n绝对渗透率|0x0008|0\n绝对湿度|0x100000|1292\n绝对数|0x100000|1030\n绝对速度|0x0008|1\n绝对温标|0x0008|1368\n绝对温度|0x100000|1158\n绝对误差|0x0008|0\n绝对性|0x100000|963\n绝对真理|0x800000|30825\n绝对值|0x100000|856\n绝甘分少|0x800000|1348\n绝国殊俗|0x0000|100\n绝后光前|0x0000|100\n绝活儿|0x100000|1078\n绝经期|0x4000|997\n绝裾而去|0x0000|100\n绝口不道|0x800000|100\n绝口不提|0x0000|52311\n绝路逢生|0x1000000|1138\n绝伦逸群|0x0000|100\n绝妙好辞|0x800000|1197\n绝命书|0x100000|48040\n绝其本根|0x1000|100\n绝裙而去|0x800000|100\n绝热材料|0x100000|401\n绝热过程|0x100000|1036\n绝仁弃义|0x0000|100\n绝色佳人|0x0000|100\n绝色美女|0x100000|548\n绝少分甘|0x800000|100\n绝圣弃智|0x800000|1128\n绝世超伦|0x800000|100\n绝世独立|0x0000|100\n绝世佳人|0x0000|100\n绝世无双|0x0000|100\n绝无仅有|0x1000000|22012\n绝薪止火|0x0000|100\n绝缘材料|0x0008|770\n绝缘胶带|0x0008|399\n绝缘节|0x0008|0\n绝缘漆|0x100000|395\n绝缘体|0x100000|39315\n绝缘线|0x0008|0\n绝缘性|0x0000|55729\n绝缘油|0x100000|403\n绝缘纸|0x100000|371\n绝缘子|0x100000|880\n绝招儿|0x100000|1279\n绝子绝孙|0x800000|1144\n觉人觉世|0x1000000|100\n倔强倨傲|0x800000|100\n倔头倔脑|0x0100|1371\n倔头强脑|0x1000000|100\n崛地而起|0x0000|100\n掘进机|0x100000|405\n掘井及泉|0x0000|100\n掘墓人|0x100000|47726\n掘室求鼠|0x1000|100\n掘土机|0x100000|55730\n谲而不正|0x0000|100\n谲怪之谈|0x0000|100\n蕨类植物|0x0008|1017\n橛守成规|0x1000000|100\n爵士鼓|0x100000|425\n爵士乐|0x100000|31756\n爵士音乐|0x100000|887\n嚼齿穿龈|0x0000|100\n嚼穿龈血|0x1000000|100\n嚼腭搥床|0x0000|100\n嚼墨喷纸|0x1000000|100\n嚼舌根|0x1000|1067\n嚼舌头|0x100000|1041\n嚼铁咀金|0x1000000|100\n攫金不见人|0x0008|100\n攫戾执猛|0x0000|100\n攫为己有|0x0000|100\n军备竞赛|0x0008|151\n军兵种|0x100000|21758\n军不血刃|0x1000000|100\n军大衣|0x0000|33407\n军代表|0x0000|18149\n军队建设|0x0000|490\n军阀主义|0x100000|0\n军法从事|0x1000000|1143\n军法官|0x0000|379\n军分区|0x100000|11335\n军工厂|0x100000|422\n军工企业|0x0000|472\n军功章|0x100000|35375\n军官团|0x100000|2\n军管会|0x0000|32898\n军国主义|0x100000|11533\n军国主义者|0x100000|934\n军火库|0x100000|35527\n军火商|0x100000|42478\n军机处|0x100000|1030\n军交运输|0x0008|0\n军乐队|0x100000|25574\n军乐团|0x100000|34190\n军烈属|0x100000|31870\n军临城下|0x0000|100\n军令如山|0x1000000|43447\n军令状|0x100000|26203\n军民共建|0x800000|1051\n军民共建点|0x100000|0\n军民关系|0x0008|3\n军民联防|0x800000|1203\n军民团结|0x100000|17\n军民一家|0x400000|1\n军民一致|0x400000|1\n军品店|0x100000|382\n军士长|0x100000|1070\n军事冲突|0x0000|451\n军事地理|0x0008|0\n军事动态|0x100000|440\n军事法庭|0x800000|27124\n军事法院|0x0020|1133\n军事管制|0x800000|43692\n军事化|0x100000|25029\n军事机关|0x0008|2\n军事机密|0x0000|434\n军事基地|0x800000|840\n军事计划|0x0008|19\n军事家|0x100000|829\n军事科学|0x800000|991\n军事科学院|0x0020|1288\n军事理论|0x100000|455\n军事力量|0x0000|543\n军事论坛|0x100000|483\n军事情报|0x100000|870\n军事区|0x100000|1048\n军事设施|0x0008|65\n军事实力|0x100000|492\n军事思想|0x0008|31\n军事体育|0x100000|910\n军事天地|0x100000|505\n军事同盟|0x0008|45\n军事图片|0x100000|450\n军事委员会|0x0000|522\n军事小说|0x100000|451\n军事新闻|0x100000|487\n军事行动|0x0000|571\n军事学院|0x0020|1507\n军事训练|0x0008|867\n军事演习|0x100000|829\n军事医学|0x100000|440\n军事援助|0x0008|41\n军事院校|0x100000|923\n军事运输|0x0008|2\n军事战略|0x100000|490\n军事装备|0x0000|486\n军团长|0x100000|534\n军委主席|0x0008|496\n军衔制|0x100000|380\n军械库|0x100000|1120\n军需官|0x0000|410\n军需品|0x100000|1108\n军训课|0x100000|0\n军医大学|0x100000|44\n军用飞机|0x100000|465\n军用机|0x100000|1212\n军用品|0x100000|1041\n军用望远镜|0x100000|374\n军政府|0x100000|971\n军政权|0x100000|2\n军中无戏言|0x0008|1213\n军转办|0x100000|1236\n军转民|0x100000|34499\n君不见|0x800000|797\n君命无二|0x400000|100\n君辱臣死|0x800000|100\n君圣臣贤|0x1000000|100\n君士坦丁堡|0x0040|1597\n君主国|0x100000|52312\n君主立宪|0x800000|30722\n君主制|0x100000|984\n君主主义|0x100000|0\n君主专制|0x800000|1009\n君子报仇十年不晚|0x400000|0\n君子固穷|0x0000|100\n君子国|0x100000|1187\n君子好逑|0x1000000|875\n君子兰|0x100000|34333\n君子三戒|0x400000|100\n君子协定|0x100000|44442\n君子一言|0x500000|0\n君子之交|0x800000|100\n君子之交淡如水|0x0008|854\n均衡论|0x0008|1217\n均衡器|0x0008|1406\n均衡生产|0x0008|0\n均化器|0x100000|0\n均热炉|0x100000|1293\n均田制|0x100000|1135\n均匀分布|0x0008|2\n钧天广乐|0x1000000|1392\n皲手茧足|0x0000|100\n菌根营养|0x0008|0\n菌胶团|0x100000|1430\n菌丝体|0x0008|1071\n菌血症|0x100000|1181\n筠连县|0x0040|1063\n麇骇雉伏|0x1000000|100\n麇至沓来|0x1000000|100\n俊杰廉悍|0x0000|100\n俊男靓女|0x100000|886\n郡县制|0x100000|1084\n峻阪盐车|0x0000|100\n峻宇彫墙|0x1000000|100\n峻宇雕墙|0x1000000|100\n骏波虎浪|0x1000000|100\n骏骨牵盐|0x1000000|100\n咖啡杯|0x100000|739\n咖啡茶|0x100000|958\n咖啡店|0x100000|719\n咖啡豆|0x100000|45021\n咖啡豆象|0x100000|0\n咖啡馆|0x100000|17446\n咖啡壶|0x0008|813\n咖啡机|0x100000|1256\n咖啡碱|0x100000|1020\n咖啡具|0x100000|909\n咖啡色|0x100000|26819\n咖啡师|0x100000|377\n咖啡室|0x0008|1619\n咖啡厅|0x100000|24438\n咖啡屋|0x100000|645\n咖啡因|0x100000|36316\n咖喱饭|0x100000|398\n咖哩汁|0x100000|0\n喀布尔|0x0040|10506\n喀嚓一声|0x400000|0\n喀尔喀蒙古|0x0008|0\n喀喇沁旗|0x0040|1677\n喀麦隆|0x0040|1363\n喀麦隆队|0x100000|378\n喀纳斯湖|0x0040|1542\n喀什市|0x0040|1597\n喀斯特|0x100000|48395\n喀斯特地貌|0x0008|1566\n喀斯特化|0x100000|0\n喀斯特水|0x0008|0\n喀土穆|0x0040|1096\n卡巴列夫斯基|0x0080|1317\n卡宾枪|0x100000|49495\n卡脖子|0x1000|39347\n卡带盒|0x0008|0\n卡迪尔|0x0080|1138\n卡迪拉克|0x0008|1624\n卡迪琳娜|0x0080|0\n卡丁车|0x100000|599\n卡尔奥尔夫|0x0080|0\n卡尔森|0x0008|1042\n卡尔维诺|0x0080|1539\n卡尔文循环|0x0008|0\n卡芬雅克|0x0080|0\n卡介苗|0x100000|47728\n卡克拉马尼斯|0x0080|0\n卡拉ＯＫ|0x0000|34334\n卡拉奇|0x0040|1563\n卡拉斯|0x0040|1064\n卡雷拉斯|0x0080|400\n卡路里|0x20000|807\n卡洛斯|0x0040|1237\n卡那霉素|0x0008|1082\n卡尼萨雷斯|0x0080|0\n卡诺循环|0x0008|1\n卡片穿孔机|0x0008|0\n卡片柜|0x100000|1147\n卡片盒|0x100000|1299\n卡片机|0x100000|507\n卡普契尔里|0x0080|0\n卡其布|0x100000|1085\n卡其色|0x100000|938\n卡萨布兰|0x0080|17\n卡萨布兰加|0x0080|1274\n卡斯特里|0x0040|1237\n卡斯特罗|0x0080|1334\n卡塔尔|0x0040|1280\n卡塔尼亚|0x0040|1555\n卡特尔|0x0080|1606\n卡通吧|0x100000|479\n卡通版|0x100000|485\n卡通动画|0x100000|498\n卡通动漫|0x100000|511\n卡通画|0x100000|437\n卡通漫画|0x100000|502\n卡通美女|0x100000|458\n卡通片|0x100000|819\n卡通人物|0x100000|527\n卡通图|0x100000|410\n卡通图片|0x100000|476\n卡通影片|0x0008|0\n卡托普利|0x0008|1087\n卡西欧|0x0008|1184\n佧佤族|0x0008|0\n开办费|0x100000|1076\n开采权|0x100000|1025\n开场白|0x100000|23592\n开诚布公|0x1000000|27047\n开诚相见|0x1000000|1309\n开创性|0x100000|871\n开创者|0x100000|922\n开裆裤|0x100000|40394\n开刀房|0x0008|0\n开倒车|0x1000|40817\n开发部|0x100000|1173\n开发层系|0x0008|0\n开发法|0x100000|0\n开发费|0x100000|1043\n开发局|0x100000|994\n开发利用|0x0000|612\n开发票|0x0000|545\n开发区|0x100000|4207\n开发人员|0x0000|637\n开发软件|0x100000|635\n开发商|0x100000|549\n开发署|0x100000|1077\n开发性|0x100000|984\n开发有限公司|0x100000|712\n开发者|0x100000|662\n开房间|0x1000|45318\n开放电路|0x800000|1213\n开放式|0x100000|659\n开放系统|0x0008|0\n开放型|0x100000|869\n开放性|0x100000|761\n开放源代码|0x0000|518\n开封市|0x0040|1256\n开封县|0x0040|1653\n开工率|0x100000|1030\n开弓不放箭|0x0008|1368\n开关插座|0x100000|441\n开关厂|0x100000|452\n开关电路|0x0008|0\n开关电源|0x0008|728\n开关二极管|0x400000|0\n开关柜|0x100000|826\n开关机|0x100000|568\n开关设备|0x100000|468\n开关时间|0x0008|0\n开国承家|0x1000000|1324\n开国功臣|0x0000|100\n开国元老|0x0000|100\n开国元勋|0x0000|100\n开合自如|0x0000|100\n开后门|0x800000|32899\n开户行|0x100000|43448\n开花结果|0x1000000|776\n开花结实|0x1000000|1240\n开花期|0x100000|1092\n开华结果|0x1000000|100\n开化县|0x0040|1573\n开怀畅饮|0x0000|100\n开怀大笑|0x800000|31301\n开怀一笑|0x400000|0\n开基创业|0x1000000|1362\n开基立业|0x1000000|100\n开架式|0x0008|1067\n开江县|0x0040|1072\n开疆辟土|0x1000000|1120\n开疆拓境|0x1000000|100\n开疆拓土|0x1000000|1009\n开疆拓宇|0x1000000|100\n开疆展土|0x1000000|100\n开奖号码|0x100000|521\n开阶立极|0x1000000|100\n开卷有益|0x1000000|942\n开开心|0x1000|822\n开开心心|0x100000|594\n开科取士|0x0000|100\n开口闭口|0x1000000|901\n开口告人难|0x100000|1542\n开口见胆|0x1000000|100\n开口见喉咙|0x0008|1349\n开口见心|0x1000000|100\n开口销|0x100000|1169\n开口子|0x1000|43917\n开快车|0x1000|50241\n开阔地|0x100000|37726\n开阔眼界|0x0000|100\n开来继往|0x1000000|100\n开利除害|0x1000000|100\n开鲁县|0x0040|1046\n开路先锋|0x1000000|958\n开绿灯|0x1000|30067\n开罗会议|0x0008|0\n开罗宣言|0x0008|4\n开锣喝道|0x1000000|100\n开眉笑眼|0x1000000|100\n开眉展眼|0x1000000|100\n开门办学|0x0008|0\n开门红|0x800000|21065\n开门见山|0x1000000|18151\n开门七件|0x400000|0\n开门七件事|0x400008|0\n开门延盗|0x1000000|100\n开门揖盗|0x1000000|53812\n开幕词|0x100000|22735\n开幕式|0x100000|4088\n开盘价|0x100000|889\n开平市|0x0040|1382\n开瓶器|0x100000|795\n开普敦|0x0040|1570\n开普勒定律|0x100000|1289\n开山鼻祖|0x1000000|983\n开山老祖|0x0000|100\n开山始祖|0x1000000|100\n开山祖师|0x1000000|54343\n开始菜单|0x0000|557\n开始实行|0x0000|522\n开司米|0x100000|53813\n开台锣鼓|0x1000000|100\n开天辟地|0x1000000|28285\n开天窗|0x1000|42950\n开拓进取|0x800000|765\n开拓型|0x0000|51025\n开拓者|0x100000|749\n开玩笑|0x1000|5978\n开胃菜|0x0000|426\n开物成务|0x1000000|1245\n开雾睹天|0x1000000|100\n开柙出虎|0x1000000|100\n开小差|0x1000|32643\n开小灶|0x0000|43693\n开心辞典|0x0000|500\n开心果|0x0008|51026\n开心见肠|0x1000000|100\n开心见诚|0x1000000|1257\n开心见胆|0x1000000|100\n开心丸|0x0000|55990\n开学典礼|0x0000|538\n开眼界|0x0000|42479\n开阳县|0x0040|1036\n开洋荤|0x0000|52799\n开药方|0x0000|420\n开业典礼|0x100000|957\n开业庆典|0x100000|480\n开夜车|0x1000|43694\n开原市|0x0040|1613\n开源节流|0x1000000|29751\n开远市|0x0040|1539\n开云见日|0x1000000|1421\n开云见天|0x1000000|100\n开斋节|0x4000|34192\n开展工作|0x0000|610\n开展业务|0x0000|525\n开宗明义|0x1000000|28108\n开足马力|0x1000|32900\n凯恩斯|0x0080|1426\n凯里市|0x0040|1568\n凯旋归来|0x1000000|866\n凯旋门|0x0040|30068\n慨当以慷|0x800000|1076\n慨然应允|0x0000|100\n慨然允诺|0x1000000|1317\n刊心刻骨|0x1000000|100\n勘探队|0x100000|39954\n勘探者|0x100000|1226\n勘误表|0x100000|1082\n堪称一绝|0xc00000|1\n堪当重任|0x800000|1224\n堪培拉|0x0040|13319\n堪萨斯|0x0040|1520\n堪萨斯州|0x0040|1670\n堪以告慰|0x0000|100\n坎贝尔|0x0080|1384\n坎大哈|0x0040|1085\n坎儿井|0x100000|29432\n坎井之蛙|0x1000000|1386\n坎坎坷坷|0x0100|894\n坎坷不平|0x800000|1025\n坎坷一生|0x400000|1\n坎帕拉|0x0040|1191\n坎培拉|0x0008|1183\n坎止流行|0x1000000|100\n侃大山|0x1000|47106\n侃侃谔谔|0x1000000|100\n侃侃而谈|0x1000000|20472\n侃侃而言|0x0000|100\n侃侃訚訚|0x1000000|100\n砍瓜切菜|0x1000000|1071\n砍头疮|0x100000|1310\n埳井之蛙|0x1000000|100\n看不到|0x1000|497\n看不懂|0x0000|657\n看不惯|0x1000|18719\n看不过|0x1000|779\n看不过去|0x100000|849\n看不过眼|0x100000|917\n看不见|0x1000|741\n看不起|0x1000|8769\n看不清|0x1000|640\n看不上|0x0000|48773\n看不上眼|0x800000|915\n看不顺眼|0x800000|827\n看财奴|0x100000|1349\n看菜吃饭|0x1000|1090\n看得出|0x1000|665\n看得见|0x1000|646\n看得起|0x1000|18621\n看得清|0x40000000|464\n看得上|0x0000|46496\n看电视|0x0000|690\n看电影|0x100000|531\n看风使船|0x0000|100\n看风使舵|0x1000000|50620\n看风使帆|0x0000|100\n看风驶船|0x0000|100\n看家本领|0x800000|872\n看家本事|0x0000|100\n看家狗|0x100000|51457\n看家戏|0x100000|53815\n看景生情|0x0000|100\n看开一点|0x400000|0\n看看病|0x100000|0\n看了又看|0x100000|829\n看门狗|0x0000|481\n看门人|0x100000|949\n看破红尘|0x1000000|768\n看起来|0x8000000|14312\n看热闹|0x1000|11886\n看人眉睫|0x1000000|1368\n看人眉眼|0x1000|100\n看人下菜|0x1000|1129\n看人下菜碟儿|0x0000|100\n看人行事|0x0000|100\n看杀卫玠|0x1000|100\n看上去|0x1000|508\n看上去是|0x0000|504\n看守内阁|0x100000|31522\n看守所|0x100000|14733\n看天田|0x0008|0\n看头儿|0x0000|33281\n看笑话|0x1000|41972\n看样子|0x1000|12731\n看一看|0x400000|686\n看医生|0x1000|40167\n看朱成碧|0x1000000|1114\n看走眼|0x800000|888\n瞰瑕伺隙|0x0000|100\n康拜因|0x100000|51029\n康保县|0x0040|1114\n康采恩|0x0008|1183\n康定路|0x0040|400\n康定斯基|0x100000|1101\n康定县|0x0040|1101\n康复训练|0x100000|436\n康复中心|0x0008|870\n康乐球|0x100000|1278\n康乐县|0x0040|1115\n康丽厂|0x100000|0\n康马县|0x0040|1205\n康乃尔大学|0x0040|1698\n康乃馨|0x100000|32901\n康涅狄格|0x0040|1563\n康涅狄格州|0x0040|1549\n康帕内拉|0x0080|0\n康平县|0x0040|1040\n康师傅|0x0008|1251\n康熙字典|0x100000|1024\n康庄大道|0x1000000|28197\n慷慨悲歌|0x1000000|1059\n慷慨陈词|0x1000000|34799\n慷慨陈辞|0x800000|1065\n慷慨大方|0x40000000|905\n慷慨赴义|0x0000|100\n慷慨激昂|0x1000000|20203\n慷慨激烈|0x1000000|100\n慷慨激扬|0x0000|100\n慷慨解囊|0x1000000|23429\n慷慨就义|0x800000|1063\n慷慨捐生|0x0000|100\n慷慨淋漓|0x0000|100\n慷慨输将|0x800000|100\n慷慨仗义|0x0000|100\n慷他人之慨|0x0008|1183\n糠菜半年粮|0x0008|0\n糠豆不赡|0x0000|100\n扛长工|0x1000|1357\n扛大个儿|0x0000|55329\n扛鼎拔山|0x0000|100\n扛鼎抃牛|0x0000|100\n亢极之悔|0x0000|100\n亢龙有悔|0x1000000|991\n亢心憍气|0x1000000|100\n亢音高唱|0x0000|100\n伉俪情深|0x1000000|1105\n抗癌剂|0x0008|0\n抗癌药|0x100000|1027\n抗爆性|0x100000|0\n抗变剂|0x100000|0\n抗病毒|0x100000|846\n抗病性|0x0008|1092\n抗尘走俗|0x1000000|1496\n抗磁性|0x100000|1292\n抗倒伏性|0x0008|0\n抗跌性|0x0008|421\n抗毒素|0x100000|1129\n抗毒血清|0x800000|1290\n抗风性|0x0008|0\n抗干扰|0x800000|30723\n抗寒性|0x0008|0\n抗旱性|0x0008|1249\n抗洪抢险|0x0000|485\n抗坏血酸|0x4000000|1023\n抗静电|0x20000000|816\n抗拒从严|0x0008|996\n抗菌材料|0x100000|410\n抗菌剂|0x100000|994\n抗菌素|0x100000|30186\n抗拉强度|0x0008|964\n抗利尿素|0x0008|0\n抗美援朝|0x1000|829\n抗磨性|0x0008|0\n抗逆性|0x100000|1070\n抗凝剂|0x0008|0\n抗热性|0x100000|1284\n抗日根据地|0x100000|471\n抗日救亡|0x800000|986\n抗日战争|0x0008|1138\n抗日战争胜利|0x100000|477\n抗生素|0x100000|13112\n抗体酶|0x0008|0\n抗弯强度|0x0008|0\n抗微生物剂|0x0008|0\n抗性机制|0x0008|0\n抗压强度|0x800000|981\n抗炎药|0x0000|431\n抗颜为师|0x0000|100\n抗氧化剂|0x100000|833\n抗氧剂|0x0008|1501\n抗药性|0x100000|32261\n抗议书|0x100000|1134\n抗议者|0x100000|1025\n抗原性|0x100000|1105\n抗战时期|0x0008|1440\n抗张强度|0x0008|1129\n抗震性|0x100000|1061\n炕桌儿|0x100000|0\n尻轮神马|0x1000000|100\n尻舆神马|0x1000000|100\n考博士|0x1000|369\n考不上|0x1000|510\n考察报告|0x100000|473\n考察队|0x100000|972\n考察期|0x100000|1093\n考察团|0x100000|824\n考茨基|0x0080|1228\n考大学|0x1000|534\n考古学|0x100000|852\n考古学家|0x100000|823\n考核办法|0x0000|526\n考核内容|0x0000|496\n考核制度|0x0000|521\n考绩幽明|0x0000|100\n考据学|0x100000|1163\n考虑到|0x0000|753\n考虑一下|0x400000|617\n考勤表|0x100000|380\n考勤簿|0x100000|1370\n考勤制度|0x0008|2\n考试成绩|0x0000|636\n考试分数|0x0000|453\n考试合格|0x0000|541\n考试卷|0x100000|869\n考试内容|0x100000|543\n考试题|0x100000|801\n考试通知|0x100000|744\n考试者|0x0000|429\n考试指南|0x100000|822\n拷贝机|0x100000|422\n烤面包|0x100000|442\n烤面包机|0x0008|388\n烤鸭店|0x100000|466\n烤羊肉|0x100000|873\n犒赏三军|0x400000|100\n靠背椅|0x100000|38297\n靠边站|0x800000|55737\n靠不住|0x1000|17447\n靠得住|0x1000|18088\n靠海吃海|0x800000|1186\n靠山吃山|0x800000|1006\n靠山吃山，靠水吃水|0x0000|53818\n靠水吃水|0x800000|1079\n靠天吃饭|0x1000000|1003\n靠自己|0x0000|630\n苛捐杂税|0x1000000|40395\n苛性钠|0x100000|1228\n苛政猛于虎|0x0008|1127\n柯尔金斯|0x0080|0\n柯尔克孜|0x0008|1554\n柯尔克孜族|0x0008|34501\n柯勒律治|0x0080|1245\n柯林伍德|0x0080|0\n柯罗拉多|0x0080|1511\n柯尼卡|0x0008|1285\n柯坪县|0x0040|1201\n柯萨科夫|0x0080|0\n珂罗版|0x100000|52317\n科班出身|0x800000|900\n科博会|0x100000|506\n科尔沁|0x0040|1301\n科尔沁右翼前旗|0x0040|1147\n科尔沁右翼中旗|0x0040|1177\n科尔沁左翼后旗|0x0040|1188\n科尔沁左翼中旗|0x0040|1223\n科工委|0x100000|879\n科幻电影|0x100000|493\n科幻片|0x100000|743\n科幻世界|0x100000|601\n科幻小说|0x100000|571\n科技报|0x100000|474\n科技部|0x100000|1179\n科技产品|0x100000|524\n科技产业|0x100000|527\n科技成果|0x100000|692\n科技成就|0x100000|464\n科技城|0x100000|29753\n科技出版社|0x100000|465\n科技大学|0x0000|701\n科技动态|0x100000|447\n科技服务|0x100000|672\n科技工作|0x100000|748\n科技工作者|0x0000|532\n科技股|0x100000|600\n科技股份|0x100000|616\n科技股份有限公司|0x100000|594\n科技馆|0x100000|533\n科技含量|0x0000|589\n科技合作|0x100000|825\n科技活动|0x100000|873\n科技集团|0x100000|532\n科技奖|0x100000|468\n科技交流|0x100000|837\n科技节|0x100000|466\n科技界|0x100000|13079\n科技进步奖|0x0000|521\n科技局|0x100000|1245\n科技开发|0x100000|559\n科技开发有限公司|0x100000|560\n科技频道|0x100000|473\n科技期刊|0x100000|455\n科技前沿|0x100000|435\n科技情报|0x0000|462\n科技人才|0x100000|770\n科技人员|0x0000|589\n科技日报|0x100000|488\n科技时代|0x100000|540\n科技实业|0x100000|509\n科技实业有限公司|0x100000|475\n科技厅|0x100000|544\n科技新闻|0x0000|501\n科技兴农|0x800000|974\n科技性|0x100000|1060\n科技学院|0x100000|564\n科技有限公司|0x100000|860\n科技有限责任|0x100000|546\n科技园|0x100000|649\n科技咨询|0x100000|811\n科教片|0x100000|1009\n科教文卫|0x100000|887\n科教兴国|0x800000|880\n科教兴市|0x800000|1021\n科教性|0x100000|0\n科教组|0x100000|0\n科科斯岛|0x0080|0\n科里奥利力|0x100000|0\n科林斯式|0x100000|0\n科林伍德|0x0080|0\n科伦坡|0x0040|1054\n科罗拉多|0x0040|1381\n科罗拉多州|0x0040|1533\n科贸有限公司|0x100000|572\n科摩罗|0x0040|1082\n科纳克西|0x0080|0\n科普活动|0x100000|732\n科普兰阿伦|0x0080|0\n科普知识|0x100000|488\n科索沃|0x0040|1443\n科特迪瓦|0x0040|1293\n科头箕踞|0x0000|100\n科头跣足|0x800000|1534\n科威特|0x0040|1262\n科威特人|0x100000|1187\n科西嘉|0x0040|1602\n科学城|0x100000|927\n科学出版社|0x100000|560\n科学工业园|0x100000|836\n科学工作者|0x0000|443\n科学共产主义|0x100000|1265\n科学管理|0x0008|711\n科学化|0x1000|763\n科学幻想|0x100000|948\n科学幻想小说|0x0008|0\n科学基金|0x100000|451\n科学技术|0x100000|559\n科学技术部|0x100000|896\n科学技术大学|0x100000|477\n科学技术是第一生产力|0x400000|1\n科学技术委员会|0x0000|463\n科学技术协会|0x0000|486\n科学家|0x100000|1812\n科学教案|0x100000|379\n科学界|0x100000|16992\n科学决策|0x100000|885\n科学考察|0x100000|914\n科学课|0x100000|441\n科学论坛|0x100000|430\n科学内涵|0x100000|459\n科学普及|0x100000|897\n科学社会主义|0x100000|23229\n科学社会主义理论|0x0008|0\n科学实验|0x100000|844\n科学素养|0x100000|467\n科学文化|0x0000|561\n科学性|0x100000|735\n科学学|0x100000|1041\n科学学院|0x100000|547\n科学研究|0x100000|594\n科学研究所|0x100000|553\n科学研究院|0x100000|567\n科学仪器|0x0000|493\n科学院|0x100000|7595\n科学杂志|0x100000|396\n科学知识|0x0000|560\n科学主义|0x100000|991\n科学著作|0x100000|1065\n科研部|0x100000|1071\n科研成果|0x100000|607\n科研处|0x100000|482\n科研单位|0x100000|772\n科研工作|0x100000|557\n科研活动|0x100000|833\n科研机构|0x100000|712\n科研经费|0x0000|503\n科研课题|0x0008|849\n科研人员|0x0000|586\n科研室|0x100000|1111\n科研所|0x100000|828\n科研项目|0x100000|788\n科研院所|0x100000|571\n科研专家|0x100000|1072\n科主任|0x100000|519\n颗粒肥料|0x0008|986\n颗粒机|0x100000|421\n颗粒饲料|0x0008|0\n颗粒状|0x0008|1446\n瞌睡虫|0x100000|55332\n磕磕绊绊|0x0100|34335\n磕磕碰碰|0x0100|833\n磕磕撞撞|0x0100|1278\n磕头虫|0x100000|1188\n磕头礼拜|0x0000|100\n磕头碰脑|0x1000000|1414\n磕头如捣|0x0000|100\n磕头如捣蒜|0x1000|0\n磕牙料嘴|0x0000|100\n壳郎猪|0x100000|0\n咳声叹气|0x1000000|1329\n咳唾成珠|0x1000000|100\n咳珠唾玉|0x1000000|100\n可爱多|0x0008|489\n可爱女生|0x100000|455\n可保存|0x40000000|495\n可比价格|0x800000|777\n可比性|0x100000|803\n可编程|0x0008|1216\n可编程控制器|0x100000|487\n可变电容|0x0008|1027\n可变电容器|0x0008|0\n可变性|0x100000|1025\n可变资本|0x0008|1200\n可不可以|0x1000|576\n可不是|0x1000|14238\n可采用|0x40000000|606\n可操纵|0x40000000|373\n可操左券|0x1000000|1534\n可操作|0x40000000|615\n可操作性|0x100000|11623\n可测量|0x0000|452\n可察觉|0x0000|369\n可拆卸|0x0008|1421\n可乘之机|0x100000|18030\n可乘之隙|0x800000|1297\n可持续|0x40000000|735\n可持续发展|0x100000|610\n可持续发展战略|0x100000|512\n可出租|0x40000000|388\n可储存|0x0000|482\n可穿透|0x40000000|394\n可达性|0x100000|1103\n可大可小|0x0000|488\n可得到|0x0000|578\n可的松|0x100000|1038\n可调整|0x40000000|517\n可丁可卯|0x0100|100\n可定义|0x40000000|448\n可读性|0x100000|19783\n可锻铸铁|0x0008|1097\n可兑换性|0x100000|1295\n可发一噱|0x1400000|0\n可防止|0x40000000|544\n可纺性|0x100000|1247\n可分解|0x0000|441\n可分离|0x0000|428\n可歌可泣|0x1000000|18399\n可更改|0x40000000|442\n可耕地|0x100000|33784\n可构成性|0x0008|0\n可管理性|0x100000|971\n可恢复|0x0000|513\n可回收|0x40000000|475\n可获得|0x40000000|643\n可计算|0x0000|434\n可继承|0x40000000|397\n可加工|0x40000000|472\n可减轻|0x0000|491\n可简化|0x40000000|398\n可见度|0x100000|1015\n可见光|0x100000|27049\n可见一斑|0x1400000|33\n可交换|0x0000|399\n可接受|0x0000|565\n可接受性|0x100000|1105\n可解释|0x40000000|433\n可敬可佩|0x800000|1103\n可居住|0x0000|391\n可拒绝|0x40000000|397\n可卡因|0x100000|30826\n可看性|0x100000|920\n可靠性|0x100000|619\n可靠性分析|0x0000|379\n可靠性工程|0x0008|0\n可靠性数据|0x0008|0\n可可豆|0x100000|1048\n可可粉|0x100000|980\n可可树|0x100000|1204\n可可托海|0x0080|0\n可可西里|0x0040|1285\n可控硅|0x100000|819\n可控性|0x100000|948\n可口可乐|0x0008|21309\n可口可乐公司|0x100000|489\n可扩缩一致性接口|0x400000|0\n可拉明|0x0008|0\n可兰经|0x0008|52319\n可乐吧|0x100000|458\n可理解|0x40000000|483\n可怜巴巴|0x0100|23115\n可怜虫|0x100000|35529\n可怜天下父母心|0x0008|834\n可怜相|0x100000|1026\n可录音|0x0000|400\n可能发生|0x0000|611\n可能会|0x100000|847\n可能性|0x100000|532\n可逆反应|0x800000|944\n可逆过程|0x0008|0\n可逆性|0x100000|432\n可判定性|0x0008|0\n可泣可歌|0x1000000|100\n可亲可敬|0x800000|958\n可取消|0x0000|408\n可圈可点|0x1000|51030\n可燃气体探测器|0x0008|0\n可燃物|0x100000|1070\n可燃性|0x0008|1007\n可染性|0x100000|0\n可溶解|0x0000|374\n可溶性|0x100000|914\n可生产|0x100000|798\n可湿性|0x0008|1058\n可湿性粉剂|0x0008|0\n可食用|0x40000000|487\n可视电话|0x100000|867\n可视化|0x1000|773\n可视性|0x100000|49498\n可收回|0x40000000|472\n可说是|0x1000|562\n可塑性|0x100000|28472\n可听性|0x0000|420\n可统一|0x400000|0\n可推断|0x0000|384\n可望不可即|0x0008|957\n可望而不可及|0x0008|820\n可望而不可即|0x0008|52804\n可维持|0x0000|475\n可维护性|0x100000|961\n可吸入颗粒物|0x100000|1035\n可限制|0x0000|412\n可想而知|0x800000|10911\n可消化|0x40000000|373\n可心如意|0x1000000|100\n可信度|0x100000|28473\n可信赖|0x0000|512\n可信任|0x0000|444\n可信性|0x100000|945\n可行性|0x100000|9666\n可行性报告|0x100000|488\n可行性研究|0x0008|756\n可选择|0x0000|663\n可压缩|0x0000|406\n可延长|0x0000|486\n可以攻玉|0x1000000|958\n可以获得|0x0000|658\n可以说|0x0000|3267\n可以信赖|0x40000000|488\n可抑制|0x40000000|492\n可印刷|0x40000000|386\n可用性|0x0008|796\n可有可无|0x800000|20508\n可遇不可求|0x0000|494\n可约表示|0x0008|0\n可再生能源|0x0000|556\n可再生资源|0x100000|825\n可增加|0x0000|578\n可折叠|0x0000|491\n可支配|0x1000|562\n可执行|0x0000|617\n可执行文件|0x0000|573\n可治疗|0x40000000|487\n可治愈|0x40000000|438\n岢岚县|0x0040|1181\n渴尘万斛|0x1000000|100\n渴而穿井|0x1000000|100\n渴而掘井|0x1000000|100\n渴骥奔泉|0x1000000|100\n渴者易饮|0x0000|100\n克爱克威|0x1000000|1265\n克传弓冶|0x1000000|100\n克逮克容|0x1000000|100\n克当量|0x100000|1237\n克敌制胜|0x1000000|31523\n克丁克卯|0x1000000|0\n克东县|0x0040|1068\n克伐怨欲|0x1000000|100\n克分子|0x100000|1299\n克服困难|0x0000|543\n克格勃|0x100000|935\n克己奉公|0x1000000|29118\n克己复礼|0x1000000|1046\n克己慎行|0x0000|100\n克肩一心|0x1400000|0\n克俭克勤|0x0000|100\n克尽妇道|0x1000000|1383\n克尽厥职|0x1000000|1403\n克尽职守|0x800000|54846\n克拉克|0x0040|1331\n克拉玛依|0x0040|1203\n克拉玛依市|0x0040|1370\n克拉特基图|0x0080|0\n克拉通|0x0080|0\n克来德曼|0x0080|0\n克莱德曼|0x0080|0\n克莱斯勒|0x0008|1206\n克劳斯|0x0080|1490\n克里夫兰|0x0080|449\n克里克|0x0080|1654\n克里米亚|0x0040|1658\n克里米亚半岛|0x0040|1157\n克里米亚战争|0x0008|1\n克里姆林|0x0080|1450\n克里姆林宫|0x0040|20509\n克里斯丹|0x0080|0\n克里斯蒂|0x0040|1421\n克里特岛|0x0040|1611\n克里特克|0x0080|0\n克利福洛|0x0080|1244\n克林顿|0x0080|1187\n克隆技术|0x100000|470\n克隆羊|0x100000|409\n克鲁克斯|0x0080|1319\n克仑特罗|0x0008|1269\n克伦威尔|0x0080|1669\n克罗地亚|0x0040|1187\n克罗蒂亚|0x0080|0\n克勤克俭|0x1000000|42952\n克山病|0x100000|50621\n克山县|0x0040|1036\n克绍箕裘|0x1000000|1297\n克什克腾旗|0x0040|1645\n克什米尔|0x0040|1512\n克丝钳子|0x100000|1309\n克嗣良裘|0x1000000|100\n克汀病|0x100000|1217\n克原子|0x100000|1535\n刻版印刷|0x0008|0\n刻薄寡思|0x0000|100\n刻不待时|0x1000000|100\n刻不容缓|0x1000000|13384\n刻不容松|0x1000000|100\n刻翠裁红|0x1000000|100\n刻度尺|0x100000|1142\n刻度盘|0x100000|1092\n刻骨崩心|0x1000000|100\n刻骨仇恨|0x100000|1095\n刻骨镂心|0x1000000|1539\n刻骨铭心|0x1000000|17094\n刻骨相思|0x100000|1178\n刻鹄成鹜|0x1000000|100\n刻鹄类鹜|0x1000000|100\n刻画入微|0x0000|100\n刻画无盐|0x1000000|100\n刻肌刻骨|0x1000|1534\n刻苦耐劳|0x1000000|969\n刻录机|0x100000|691\n刻木为鹄|0x1000000|100\n刻木为吏|0x1000000|100\n刻雾裁风|0x1000000|100\n刻意经营|0x1000|1120\n刻意求工|0x0000|100\n刻章琢句|0x1000000|100\n刻舟求剑|0x1000000|52320\n刻足适屦|0x0000|100\n客服部|0x100000|545\n客服热线|0x100000|630\n客观化|0x0000|388\n客观上|0x0000|11038\n客观世界|0x0000|12875\n客观唯心主义|0x100000|1160\n客观性|0x100000|18562\n客观真理|0x0008|0\n客观主义|0x100000|1127\n客户档案|0x100000|457\n客户端|0x0008|541\n客户关系|0x100000|622\n客户机|0x100000|782\n客户经理|0x100000|548\n客户名单|0x100000|420\n客户资料|0x0000|538\n客户资源|0x100000|547\n客货两用车|0x0008|0\n客家方言|0x0000|55739\n客家话|0x100000|1486\n客家人|0x100000|833\n客客气气|0x0100|900\n客里空|0x0000|51031\n客流量|0x100000|839\n客气话|0x100000|950\n客死他乡|0x800000|1012\n客套话|0x100000|36001\n客厅家具|0x100000|386\n客运段|0x0000|38914\n客运量|0x100000|25708\n客运站|0x100000|25031\n客座教授|0x100000|34065\n恪尽职守|0x800000|17943\n恪守不渝|0x1000000|1388\n恪守成宪|0x1000000|100\n课本剧|0x100000|431\n课程标准|0x0008|580\n课程表|0x100000|39538\n课程名称|0x100000|554\n课程目标|0x100000|498\n课程内容|0x100000|562\n课程设计|0x100000|535\n课程体系|0x100000|519\n课间操|0x100000|41974\n课堂教学|0x0008|703\n课堂实录|0x100000|474\n课题组|0x100000|10088\n课外读物|0x0000|453\n课外活动|0x0008|833\n课外活动组|0x100000|0\n课外书|0x100000|466\n课外阅读|0x0000|501\n课文内容|0x100000|524\n课业负担|0x100000|457\n课语讹言|0x1000000|100\n课桌椅|0x100000|895\n课嘴撩牙|0x1000000|100\n嗑牙料嘴|0x0000|100\n溘然长逝|0x800000|1085\n溘然长往|0x0000|100\n溘然而逝|0x800000|0\n溘先朝露|0x1000000|100\n肯不肯|0x1000|0\n肯德尔一致性系数|0x400000|0\n肯德基|0x0008|934\n肯构肯堂|0x1000000|100\n肯尼迪|0x0040|1285\n肯尼亚|0x0040|1248\n肯塔基|0x0040|962\n肯堂肯构|0x1000000|100\n垦利县|0x0040|1061\n恳谈会|0x100000|947\n啃骨头|0x1000|1000\n啃书本|0x800000|51874\n坑绷拐骗|0x1000000|100\n坑道工事|0x0008|0\n坑灰未冷|0x0000|100\n坑家败业|0x0000|100\n坑坑洼洼|0x800000|24774\n坑蒙拐骗|0x1000000|49500\n硁硁之愚|0x100000|100\n铿金霏玉|0x1000000|100\n铿金戛玉|0x1000000|100\n铿锵有力|0x800000|874\n铿镪顿挫|0x0000|100\n空白点|0x100000|30724\n空白页|0x0000|428\n空白一片|0x400000|0\n空包弹|0x100000|1161\n空城计|0x100000|31872\n空当儿|0x100000|1229\n空荡荡|0x0100|15128\n空等一场|0x400000|0\n空地导弹|0x100000|998\n空调病|0x0000|50623\n空调机|0x100000|881\n空调器|0x100000|820\n空调设备|0x100000|747\n空调主机|0x100000|376\n空洞洞|0x0100|938\n空洞无物|0x1000|41975\n空对地|0x800000|1072\n空对空|0x800000|40599\n空费词说|0x1000000|100\n空腹便便|0x0000|100\n空腹高心|0x1000000|100\n空格符|0x100000|1137\n空格键|0x100000|833\n空谷白驹|0x0000|100\n空谷传声|0x800000|1211\n空谷幽兰|0x100000|912\n空谷足音|0x1000000|51875\n空喊一声|0x400000|0\n空话连篇|0x800000|1198\n空欢喜|0x0000|53317\n空架子|0x100000|40397\n空间布局|0x100000|462\n空间电荷|0x0008|0\n空间感|0x100000|875\n空间规划|0x100000|924\n空间技术|0x100000|26903\n空间结构|0x100000|967\n空间经济|0x0008|0\n空间科学|0x100000|980\n空间吸声体|0x0008|0\n空间相干性|0x0008|0\n空间性|0x100000|0\n空间站|0x100000|10459\n空降兵|0x100000|31873\n空降部队|0x0008|11\n空降师|0x0000|469\n空军基地|0x0000|525\n空军医院|0x0000|383\n空空荡荡|0x0100|780\n空空导弹|0x100000|999\n空空洞洞|0x0100|1043\n空空落落|0x0100|907\n空空如也|0x1000000|29220\n空口说白话|0x0008|1125\n空口无凭|0x1000000|52321\n空落落|0x0100|29755\n空忙一场|0x400000|0\n空跑一趟|0x400000|0\n空气锤|0x100000|1057\n空气调节|0x0008|0\n空气动力学|0x100000|466\n空气净化|0x0008|676\n空气冷却|0x0008|0\n空气冷却器|0x0008|0\n空气滤清器|0x0000|458\n空气幕|0x100000|382\n空气喷气发动机|0x0008|0\n空气污染|0x100000|776\n空气污染指数|0x0008|0\n空气压缩机|0x100000|836\n空气氧化|0x0008|0\n空气浴|0x100000|1176\n空气质量|0x100000|775\n空气阻力|0x0008|4\n空前绝后|0x1000000|34802\n空前未有|0x800000|978\n空腔化|0x100000|0\n空勤人员|0x0008|3\n空射一枪|0x400000|0\n空室清野|0x1000|1361\n空手道|0x100000|51034\n空手而归|0x0008|863\n空谈快意|0x0000|100\n空谈者|0x100000|0\n空天飞机|0x0008|1222\n空头支票|0x1000000|37561\n空无所有|0x800000|50624\n空无一人|0xc00000|25140\n空无一物|0x400000|2\n空想家|0x100000|1048\n空想社会主义|0x0008|1060\n空心菜|0x100000|46225\n空心球|0x0000|411\n空心汤圆|0x0000|100\n空心砖|0x100000|43918\n空虚感|0x0000|418\n空穴来风|0x1000000|37921\n空中爆炸|0x0008|5\n空中飞人|0x0008|1\n空中管制|0x0000|49854\n空中加油|0x0008|26\n空中客车|0x100000|23325\n空中课堂|0x100000|398\n空中楼阁|0x1000000|32013\n空中摄影|0x0008|6\n空中小姐|0x100000|43450\n空中巡逻|0x0008|6\n空走一趟|0x400000|0\n孔方兄|0x100000|51876\n孔夫子|0x0080|22832\n孔孟之道|0x100000|983\n孔明灯|0x100000|1017\n孔情周思|0x1000000|100\n孔雀东南飞|0x800000|900\n孔雀蓝|0x20000000|51035\n孔雀绿|0x100000|1098\n孔雀石|0x100000|52322\n孔雀王|0x100000|446\n孔雀舞|0x100000|396\n孔雀鱼|0x0000|477\n孔思周情|0x1000000|100\n孔武有力|0x1000000|55880\n孔席不暖|0x1000000|100\n孔席不适|0x0000|100\n孔席墨突|0x800000|100\n孔隙率|0x0008|0\n孔子像|0x100000|380\n恐怖电影|0x100000|795\n恐怖分子|0x0008|640\n恐怖活动|0x0008|523\n恐怖片|0x0008|46500\n恐怖事件|0x0008|513\n恐怖袭击|0x0008|601\n恐怖症|0x100000|985\n恐怖主义|0x100000|4058\n恐怖组织|0x0008|550\n恐韩症|0x100000|398\n恐后无凭|0x0000|100\n恐后争先|0x1000000|100\n恐慌万状|0x800000|100\n恐惧感|0x100000|771\n恐惧心理|0x0000|484\n恐龙蛋|0x100000|941\n恐龙危机|0x100000|843\n恐水病|0x0008|1389\n恐吓信|0x100000|990\n恐遭物议|0x0000|100\n控告人|0x0008|1164\n控股公司|0x100000|30\n控名责实|0x1000000|100\n控制板|0x100000|875\n控制棒|0x100000|1233\n控制变量|0x0008|0\n控制不了|0x40000000|538\n控制程序|0x800000|854\n控制电路|0x100000|517\n控制工程|0x0000|507\n控制键|0x0000|474\n控制力|0x100000|799\n控制联想|0x0008|0\n控制论|0x100000|828\n控制器|0x100000|606\n控制区|0x100000|969\n控制权|0x100000|754\n控制室|0x100000|927\n控制数字|0x100000|1067\n控制塔|0x100000|1129\n控制台|0x100000|734\n控制系统|0x0008|630\n控制箱|0x0008|1461\n控制性|0x100000|897\n控制元件|0x0008|990\n控制站|0x0008|4\n控制者|0x100000|974\n控制中心|0x0000|606\n控制住|0x0000|599\n控制组|0x100000|1139\n抠门儿|0x0000|44446\n抠心挖肚|0x1000000|100\n抠心挖血|0x1000000|100\n抠字眼|0x1000|1171\n口碑载道|0x1000000|1215\n口不二价|0x1400000|0\n口不应心|0x1000000|1253\n口不择言|0x1000000|907\n口才好|0x0000|440\n口齿不清|0x0008|879\n口齿伶俐|0x0000|100\n口齿生香|0x0000|100\n口出不逊|0x0000|100\n口出大言|0x0000|100\n口出狂言|0x800000|46226\n口传心授|0x1000000|51460\n口呆目瞪|0x1000000|100\n口呆目钝|0x1000000|100\n口袋吧|0x100000|376\n口袋妖怪|0x100000|494\n口多食寡|0x800000|100\n口耳并重|0x800000|1307\n口耳相承|0x1000000|100\n口耳相传|0x1000000|48401\n口耳之学|0x1000000|100\n口沸目赤|0x1000000|100\n口服避孕药|0x0008|505\n口服心服|0x1000000|43451\n口服液|0x100000|31524\n口腹之累|0x0000|100\n口腹之欲|0x1000000|968\n口干舌焦|0x0000|100\n口干舌燥|0x800000|44448\n口含天宪|0x1000000|1275\n口惠而实不至|0x0008|1188\n口讲指画|0x800000|100\n口角春风|0x1000000|100\n口角风情|0x1000000|100\n口角流涎|0x0008|0\n口角生风|0x1000000|100\n口角炎|0x100000|1094\n口口声声|0x1000000|19556\n口口相传|0x1000000|930\n口快心直|0x1000000|1299\n口蜜腹剑|0x1000000|50245\n口乾舌燥|0x1000000|1120\n口腔癌|0x100000|430\n口腔疾病|0x100000|439\n口腔科|0x0008|819\n口腔溃疡|0x100000|612\n口腔外科学|0x0008|0\n口腔卫生|0x0008|2\n口腔炎|0x0000|395\n口腔医学|0x100000|869\n口腔医院|0x100000|854\n口腔粘膜|0x0008|0\n口腔诊所|0x100000|389\n口轻舌薄|0x1000000|100\n口如悬河|0x1000000|100\n口若悬河|0x1000000|31176\n口尚乳臭|0x800000|100\n口哨儿|0x100000|20358\n口哨声|0x100000|937\n口是心非|0x1000000|34804\n口是心苗|0x1000000|100\n口水鸡|0x100000|384\n口水战|0x0000|51038\n口说无凭|0x1000000|1031\n口似悬河|0x1000000|100\n口诵心惟|0x1000000|100\n口诵心维|0x1000000|100\n口蹄疫|0x100000|18119\n口蹄疫病毒|0x0008|15\n口头禅|0x100000|21808\n口头上|0x0000|536\n口头文学|0x800000|47110\n口头语|0x100000|34964\n口吐白沫|0x0008|866\n口吐珠玑|0x1000000|100\n口吻生花|0x1000000|100\n口无择言|0x1000000|100\n口衔天宪|0x1000000|100\n口香糖|0x100000|26259\n口谐辞给|0x1000000|100\n口血未干|0x1000000|100\n口壅若川|0x1000000|100\n口语翻译|0x100000|369\n口语化|0x100000|941\n口语体|0x100000|0\n口燥唇干|0x800000|1431\n口燥脣乾|0x1000000|0\n口直心快|0x1000000|100\n口中雌黄|0x1000000|100\n口中蚤虱|0x100000|100\n口诛笔伐|0x1000000|40398\n口坠天花|0x1000000|100\n叩阍无路|0x0000|100\n叩马而谏|0x0000|100\n叩石垦壤|0x800000|100\n叩头虫|0x0008|1333\n叩心泣血|0x1000000|100\n叩源推委|0x1000000|100\n扣板机|0x100000|0\n扣除额|0x100000|1103\n扣壶长吟|0x1000000|100\n扣楫中流|0x1000000|100\n扣帽子|0x1000|39956\n扣盘扪钥|0x0000|100\n扣盘扪烛|0x0000|100\n扣槃扪籥|0x1000000|100\n扣槃扪烛|0x1000000|100\n扣人心弦|0x1000000|24775\n刳肝沥胆|0x1000000|100\n刳精呕血|0x1000000|100\n刳精鉥心|0x1000000|100\n刳胎焚夭|0x1000000|100\n刳胎杀夭|0x1000000|100\n刳心雕肾|0x1000000|100\n刳形去皮|0x1000000|100\n刳脂剔膏|0x1000000|100\n枯本竭源|0x1000000|100\n枯草杆菌|0x0008|1176\n枯草热|0x100000|1287\n枯骨生肉|0x1000000|100\n枯骨之馀|0x1000000|100\n枯苗望雨|0x800000|100\n枯木发荣|0x1000000|100\n枯木逢春|0x1000000|51878\n枯木生花|0x1000000|100\n枯木死灰|0x1000000|100\n枯木朽株|0x1000000|1310\n枯木再生|0x1000000|100\n枯脑焦心|0x1000000|100\n枯枿朽株|0x1000000|100\n枯蓬断草|0x1000000|100\n枯树逢春|0x1000000|100\n枯树开花|0x800000|100\n枯树生花|0x800000|100\n枯树生华|0x0000|100\n枯水期|0x4000|30293\n枯水位|0x0008|1273\n枯体灰心|0x1000000|100\n枯萎病|0x0008|0\n枯形灰心|0x1000000|100\n枯朽之余|0x0000|100\n枯杨生稊|0x1000000|100\n枯鱼病鹤|0x1000000|100\n枯鱼涸辙|0x0000|100\n枯鱼衔索|0x1000000|100\n枯鱼之肆|0x1000000|1332\n枯耘伤岁|0x0000|100\n枯燥无味|0x40000000|838\n枯枝败叶|0x800000|1048\n枯枝再春|0x1000000|100\n枯株朽木|0x1000000|100\n哭鼻子|0x1000|36662\n哭成一团|0x400000|0\n哭哭啼啼|0x0100|23380\n哭丧棒|0x100000|50625\n哭丧着脸|0x1000000|853\n哭天喊地|0x800000|1006\n哭天抹泪|0x1000000|50247\n哭笑不得|0x1000000|17975\n哭于斯|0x0000|100\n窟窿眼儿|0x100000|47734\n骷髅头|0x100000|500\n苦不堪言|0x800000|22942\n苦不可言|0x0000|100\n苦差事|0x100000|899\n苦大仇深|0x800000|44733\n苦地丁|0x100000|1389\n苦丁茶|0x100000|41494\n苦豆草|0x0008|0\n苦哈哈|0x0008|0\n苦海茫茫|0x0000|100\n苦海无边|0x800000|945\n苦活儿|0x100000|46503\n苦尽甘来|0x1000000|44734\n苦尽甜来|0x800000|1217\n苦口良药|0x100000|1050\n苦口逆耳|0x0000|100\n苦口婆心|0x1000000|21854\n苦乐不均|0x0000|100\n苦楝皮|0x0008|0\n苦木素|0x100000|0\n苦难深重|0x0000|100\n苦日子|0x0000|33928\n苦肉计|0x100000|46808\n苦身焦思|0x0000|100\n苦思冥想|0x1000000|37562\n苦味道|0x0040|0\n苦味酸|0x0008|1223\n苦咸水|0x100000|387\n苦心孤诣|0x1000000|38915\n苦心积虑|0x0000|100\n苦心经营|0x800000|800\n苦行僧|0x100000|39734\n苦行者|0x0000|385\n苦杏仁|0x0008|1045\n苦雨凄风|0x1000000|1292\n苦中作乐|0x1000|55745\n楛耘伤岁|0x0000|100\n库藏量|0x100000|0\n库车县|0x0040|1039\n库存服装|0x100000|487\n库存量|0x100000|876\n库存商品|0x100000|473\n库尔德|0x0040|1571\n库尔勒|0x0040|1290\n库尔勒市|0x0040|1502\n库尔斯克|0x0080|1661\n库函数|0x100000|457\n库克群岛|0x0040|1122\n库仑定律|0x0008|1136\n库仑计|0x100000|1428\n库伦旗|0x0040|1072\n库木塔格|0x0080|0\n库页岛|0x0080|1042\n裤腰带|0x100000|32140\n夸大其词|0x1000000|38298\n夸大其辞|0x1000000|969\n夸多斗靡|0x1000000|100\n夸父逐日|0x1000000|1083\n夸父追日|0x1000000|1034\n夸海口|0x1000|51879\n夸夸而谈|0x1000000|100\n夸夸其谈|0x1000000|33284\n夸强道会|0x0000|100\n夸下海口|0x0000|438\n姱容修态|0x1000|100\n胯下蒲伏|0x1000000|100\n胯下之辱|0x0000|100\n跨凤乘龙|0x0000|100\n跨凤乘鸾|0x0000|100\n跨国公司|0x100000|5616\n跨国企业|0x0000|550\n跨海大桥|0x0000|479\n跨鹤西游|0x800000|1283\n跨年度|0x1000|42726\n跨山压海|0x1000000|100\n跨世纪|0x0000|556\n跨行业|0x1000|24283\n跨学科|0x1000|891\n跨音速|0x0008|0\n跨院儿|0x0000|35234\n块儿八毛|0xc00000|0\n块然一身|0x400000|0\n快板儿|0x100000|22494\n快步流星|0x1000000|1310\n快餐部|0x0020|1098\n快餐店|0x100000|25576\n快餐馆|0x100000|1146\n快餐盒|0x100000|424\n快餐业|0x100000|420\n快车道|0x100000|16128\n快刀斩乱麻|0x0008|50627\n快刀斩乱丝|0x0008|1494\n快刀斩麻|0x1000000|100\n快犊破车|0x100000|100\n快攻手|0x100000|1396\n快捷方式|0x0000|621\n快捷键|0x100000|676\n快捷酒店|0x100000|471\n快快乐乐|0x0100|639\n快马加鞭|0x1000000|36003\n快马一鞭|0xc00000|0\n快门速度|0x100000|561\n快人快事|0x0000|100\n快人快性|0x1000000|100\n快人快语|0x1000000|19525\n快人一言|0x400000|0\n快速反应|0x0000|553\n快速路|0x0000|36663\n快速门|0x100000|382\n快速通道|0x100000|556\n快速消费品|0x100000|499\n快速性|0x100000|1080\n快速眼动睡眠|0x0008|0\n快速增长|0x0000|642\n快心满意|0x1000000|100\n快心满志|0x1000000|100\n快心遂意|0x1000000|100\n快译通|0x100000|452\n快意当前|0x0000|100\n快中子|0x100000|1218\n郐下无讥|0x1000000|100\n脍不厌细|0x800000|1147\n脍炙人口|0x1000000|18921\n宽边帽|0x0000|376\n宽城满族自治县|0x0040|1794\n宽打窄用|0x1000000|1539\n宽大为怀|0x800000|47737\n宽带接入|0x100000|796\n宽带网|0x100000|754\n宽带用户|0x0000|580\n宽甸满族自治县|0x0040|1136\n宽宏大度|0x1000000|1096\n宽宏大量|0x1000000|32263\n宽洪大度|0x1000000|0\n宽洪大量|0x1000000|1314\n宽洪海量|0x1000000|100\n宽怀大度|0x1000000|1273\n宽豁大度|0x1000000|100\n宽宽大大|0x0100|1104\n宽宽厚厚|0x0100|1027\n宽猛并济|0x1000000|100\n宽猛相济|0x1000000|1265\n宽仁大度|0x1000000|100\n宽限期|0x100000|450\n宽心丸|0x0000|54349\n宽心丸儿|0x100000|100\n宽衣解带|0x0000|501\n宽以待人|0x800000|39957\n宽银幕|0x100000|43453\n宽银幕电影|0x100000|993\n髋关节|0x0000|40400\n款冬花|0x100000|1177\n款款而谈|0x0000|100\n款款深深|0x1000000|100\n款曲周至|0x0000|100\n款学寡闻|0x1000000|100\n款语温言|0x0000|100\n匡鼎解颐|0x1000000|100\n匡国济时|0x1000000|100\n匡衡凿壁|0x1000000|100\n匡救弥缝|0x1000000|100\n匡乱反正|0x1000000|100\n匡谬正俗|0x1000000|1410\n匡其不逮|0x0000|100\n匡时济世|0x1000000|100\n匡时济俗|0x1000000|100\n匡俗济时|0x0000|100\n恇怯不前|0x800000|100\n筐箧中物|0x800000|100\n狂放不羁|0x800000|936\n狂吠狴犴|0x1000000|100\n狂风暴雨|0x1000000|736\n狂风恶浪|0x800000|1217\n狂风怒号|0x800000|1195\n狂风骤雨|0x1000000|100\n狂蜂浪蝶|0x1000000|1026\n狂瞽之言|0x0000|100\n狂轰滥炸|0x1000000|32530\n狂欢节|0x4000|28645\n狂奴故态|0x1000000|100\n狂朋怪侣|0x1000000|100\n狂朋怪友|0x0000|100\n狂朋恠友|0x1000000|100\n狂嫖滥赌|0x1000000|100\n狂犬病|0x100000|25978\n狂犬病毒|0x0008|1\n狂犬吠日|0x800000|1346\n狂热者|0x0000|451\n狂三诈四|0x1400000|0\n狂涛骇浪|0x1000000|1266\n狂涛巨浪|0x0000|100\n狂妄自大|0x40000000|897\n狂想曲|0x100000|42481\n诳时惑众|0x1000000|100\n旷达不羁|0x0000|100\n旷夫怨女|0x0000|100\n旷古绝伦|0x800000|100\n旷古奇闻|0x0000|100\n旷古未闻|0x800000|100\n旷古未有|0x0000|100\n旷古一人|0x400000|100\n旷日长久|0x1000000|100\n旷日持久|0x1000000|24644\n旷日积晷|0x1000000|100\n旷日经久|0x1000000|100\n旷日经年|0x1000000|100\n旷日累时|0x0000|100\n旷日离久|0x1000000|100\n旷日弥久|0x1000000|100\n旷日引久|0x1000000|100\n旷日引月|0x0000|100\n旷若发蒙|0x0000|100\n旷世奇才|0x1000000|1022\n旷世无匹|0x0000|100\n旷世逸才|0x0000|100\n旷心怡神|0x1000000|100\n矿藏量|0x100000|0\n矿产地|0x100000|1124\n矿产品|0x100000|783\n矿产资源|0x0008|740\n矿粉厂|0x100000|1007\n矿化度|0x100000|1139\n矿泉壶|0x0000|55749\n矿泉水|0x100000|14853\n矿泉水瓶|0x100000|464\n矿泉水设备|0x100000|395\n矿山机械|0x100000|493\n矿山企业|0x100000|502\n矿山设备|0x100000|443\n矿山压力|0x0008|0\n矿务局|0x100000|17385\n矿物界|0x100000|0\n矿物纤维|0x0008|901\n矿物学|0x0008|1058\n矿物油|0x100000|47409\n矿物质|0x100000|712\n矿物质饲料|0x0008|0\n矿业大学|0x100000|487\n矿业集团|0x100000|486\n矿业权|0x100000|1001\n矿质肥料|0x0008|0\n框架结构|0x100000|553\n亏损额|0x100000|968\n亏损面|0x100000|1073\n亏损企业|0x0000|484\n亏心短行|0x800000|100\n亏心事|0x100000|29965\n岿然不动|0x1000000|36004\n岿然独存|0x1000000|1374\n窥豹一斑|0x1400000|0\n窥间伺隙|0x0000|100\n窥见一斑|0x400000|100\n窥视镜|0x100000|1184\n窥探者|0x100000|1215\n窥一斑而知全豹|0x400000|0\n窥牖小儿|0x0000|100\n奎屯市|0x0040|1610\n奎瓦斯|0x100000|392\n喹诺酮类|0x100000|423\n揆理度情|0x1000000|100\n揆理度势|0x1000000|100\n揆情度理|0x1000000|100\n揆情审势|0x1000000|100\n揆时度势|0x1000000|100\n揆文奋武|0x1000000|100\n葵花宝典|0x100000|749\n葵花籽|0x0008|44166\n葵花子|0x100000|954\n葵藿倾阳|0x0000|100\n魁北克|0x0040|1424\n魁梧奇伟|0x0000|100\n傀儡戏|0x100000|44167\n傀儡政权|0x0008|2\n跬步千里|0x800000|1381\n喟然长叹|0x1000|1105\n愧悔无地|0x1000000|100\n愧天怍人|0x800000|100\n溃兵游勇|0x1000000|100\n溃不成军|0x1000000|38114\n溃疡性|0x100000|991\n溃于蚁穴|0x800000|1069\n馈贫之粮|0x100000|100\n坤角儿|0x100000|0\n昆虫学|0x100000|408\n昆弟之好|0x0000|100\n昆仑山|0x0040|1371\n昆仑山脉|0x0040|1526\n昆明湖|0x0040|1470\n昆明会议|0x100000|398\n昆明酒店|0x100000|386\n昆明旅游|0x100000|399\n昆明市|0x0040|1131\n昆明铁路局|0x0020|1533\n昆山片玉|0x1000000|1536\n昆山市|0x0040|1154\n昆山之玉|0x0000|100\n琨玉秋霜|0x1000000|100\n悃愊无华|0x1000000|100\n捆成一堆|0x400000|0\n壸浆箪食|0x1000000|100\n困而不学|0x0000|100\n困而学之|0x0000|100\n困难户|0x100000|907\n困难群众|0x100000|552\n困难职工|0x100000|499\n困难重重|0x800000|791\n困兽犹斗|0x1000000|45614\n困心横虑|0x1000000|0\n困心衡虑|0x1000000|100\n困知勉行|0x1000000|1293\n扩充性|0x0000|455\n扩大出口|0x0000|483\n扩大化|0x1000|27292\n扩大会|0x100000|1038\n扩大会议|0x100000|516\n扩大内需|0x100000|903\n扩大器|0x0000|379\n扩大再生产|0x1000|1005\n扩建工程|0x0000|520\n扩军备战|0x800000|1033\n扩散器|0x0008|0\n扩散系数|0x0008|0\n扩声器|0x100000|1343\n扩声系统|0x0008|0\n扩胸器|0x100000|1201\n扩音机|0x100000|47741\n扩音器|0x100000|31302\n扩展槽|0x0008|484\n扩展到|0x0000|594\n扩展名|0x0008|768\n扩展性|0x100000|773\n扩张器|0x0008|1105\n扩张型|0x20000000|1098\n扩张主义|0x100000|1083\n括目相待|0x1000000|100\n括约肌|0x100000|988\n括在一起|0x400000|0\n阔步高谈|0x1000000|100\n阔论高谈|0x1000000|100\n阔叶林|0x100000|33649\n阔叶树|0x100000|48043\n廓达大度|0x1000000|100\n廓大镜|0x100000|0\n垃圾场|0x100000|798\n垃圾车|0x100000|841\n垃圾虫|0x0008|1216\n垃圾处理|0x0008|565\n垃圾处置|0x0008|1\n垃圾袋|0x100000|810\n垃圾道|0x100000|1161\n垃圾堆|0x100000|789\n垃圾股|0x100000|933\n垃圾清运|0x100000|1056\n垃圾食品|0x0000|50251\n垃圾桶|0x100000|646\n垃圾筒|0x100000|829\n垃圾文件|0x100000|543\n垃圾箱|0x100000|19402\n垃圾压实机|0x0008|0\n垃圾邮件|0x0008|637\n拉奥孔|0x0080|1166\n拉巴斯|0x0040|1139\n拉巴特|0x0040|1150\n拉捭摧藏|0x0000|100\n拉帮结伙|0x800000|48780\n拉帮结派|0x800000|43215\n拉不下脸|0x1000|0\n拉布拉多|0x0040|1434\n拉大旗作虎皮|0x0008|1181\n拉丁美洲|0x0040|15683\n拉丁文|0x0008|1360\n拉丁舞|0x0000|48044\n拉丁语|0x0008|838\n拉丁字母|0x100000|51045\n拉肚子|0x1000|32773\n拉斐尔|0x0008|1458\n拉格朗日量|0x100000|0\n拉各斯|0x0040|1061\n拉关系|0x800000|21760\n拉赫马尼诺夫|0x0080|1146\n拉后腿|0x1000|54852\n拉祜族|0x0008|41736\n拉家常|0x1000|23871\n拉家带口|0x1000000|50630\n拉贾斯坦|0x0040|1255\n拉交情|0x1000|1375\n拉近乎|0x1000|1209\n拉锯战|0x100000|841\n拉科鲁尼亚|0x0080|0\n拉枯折朽|0x1000000|100\n拉亏空|0x1000|1315\n拉拉扯扯|0x1000000|31303\n拉拉队|0x100000|26690\n拉拉队长|0x0008|1\n拉拉队员|0x100000|1073\n拉拉杂杂|0x0100|1013\n拉郎配|0x1000|42728\n拉力机|0x100000|389\n拉力器|0x100000|1018\n拉力赛|0x100000|15722\n拉了一把|0x400000|0\n拉马克|0x0080|1193\n拉买卖|0x1000|1536\n拉美特利|0x0080|0\n拉莫斯|0x0040|1522\n拉皮条|0x1000|43216\n拉普拉斯|0x0080|1053\n拉萨尔|0x0080|1074\n拉萨人|0x100000|1179\n拉萨市|0x0040|1376\n拉三扯四|0x1400000|0\n拉山头|0x1000|53827\n拉斯维加|0x0080|0\n拉斯维加斯|0x0040|1189\n拉托维亚|0x0080|0\n拉脱维亚|0x0040|1442\n拉脱维亚共和国|0x0040|1330\n拉下脸|0x1000|44737\n拉下马|0x0000|39320\n拉下水|0x800000|42729\n拉闲散闷|0x0000|100\n拉朽摧枯|0x1000000|100\n拉选票|0x0000|426\n拉洋片|0x1000|54853\n拉赞助|0x0000|39540\n拉扎克|0x0080|1296\n拉孜县|0x0040|1116\n啦啦队|0x100000|774\n啦啦队员|0x100000|1083\n邋里邋遢|0x0100|1044\n喇叭花|0x100000|40601\n喇叭口|0x100000|46505\n喇叭裤|0x100000|41979\n喇叭天线|0x0008|0\n喇叭筒|0x100000|49858\n喇嘛教|0x0020|45615\n喇嘛教徒|0x100000|1009\n喇嘛庙|0x0000|404\n腊八粥|0x500000|45616\n腊肠犬|0x100000|384\n腊尽春回|0x0000|100\n瘌痢头|0x100000|1179\n蜡笔画|0x100000|1078\n蜡笔小新|0x100000|702\n蜡炬成灰泪始干|0x0008|1005\n蜡像馆|0x100000|877\n蜡烛台|0x0008|428\n辣根过氧化物酶|0x0008|0\n辣乎乎|0x0100|1213\n辣酱油|0x0008|1176\n辣椒城|0x100000|423\n辣椒干|0x100000|403\n辣椒酱|0x100000|46229\n辣椒素|0x100000|1\n辣椒油|0x0000|48045\n辣子鸡|0x100000|449\n来安县|0x0040|1538\n来不得|0x1000|28548\n来不及|0x1000|6068\n来处不易|0x1000000|1121\n来得及|0x8000000|8760\n来电显示|0x0000|565\n来而不往非礼也|0x0008|989\n来访者|0x100000|791\n来凤县|0x0040|1584\n来复枪|0x100000|1086\n来复线|0x100000|1319\n来好息师|0x1000000|100\n来鸿去燕|0x1000000|100\n来回来去|0x1000000|1081\n来回票|0x100000|1136\n来来回回|0x0100|734\n来来去去|0x0000|50631\n来来往往|0x0100|672\n来历不明|0x800000|868\n来料加工|0x800000|740\n来龙去脉|0x1000000|21232\n来路不明|0x800000|913\n来路货|0x100000|0\n来情去意|0x1000000|100\n来去分明|0x1000000|100\n来去无踪|0x0000|100\n来日大难|0x1000000|1187\n来日方长|0x1000000|39959\n来日无多|0x800000|1078\n来世不可待|0x0000|100\n来势汹汹|0x1000000|38300\n来是是非人|0x0008|0\n来苏糖|0x100000|0\n来样加工|0x100000|763\n来因去果|0x1000000|100\n来迎去送|0x1000000|100\n来源于|0x1000|505\n来者不拒|0x1000000|37379\n来者不善|0x1000000|100\n来者不善善者不来|0x0000|100\n来者居上|0x1000000|100\n来者可追|0x1000000|1125\n来者勿拒|0x1000000|100\n来之不易|0x1000000|9170\n来自于|0x0000|721\n来踪去迹|0x1000000|1354\n来踪去路|0x1000000|100\n涞水县|0x0040|1587\n涞源县|0x0040|1650\n莱比锡|0x0040|1418\n莱布尼茨|0x0080|1\n莱布尼兹|0x0080|1076\n莱切斯特|0x0080|0\n莱索托|0x0040|1042\n莱温斯基|0x0080|1558\n莱芜市|0x0040|1363\n莱西市|0x0040|1506\n莱阳市|0x0040|1442\n莱因哈特|0x0080|1674\n莱茵河|0x0040|1437\n莱州市|0x0040|1291\n赖氨酸|0x100000|923\n赖索托|0x0080|0\n赖以生存|0x800000|785\n赖以为生|0x800000|1069\n赖有此耳|0x0000|100\n濑户朝香|0x0080|0\n癞蛤蟆|0x100000|30411\n癞蛤蟆想吃天鹅肉|0x0008|971\n癞皮狗|0x100000|47112\n兰艾难分|0x1000000|100\n兰艾同焚|0x1000000|100\n兰摧玉折|0x1000000|1541\n兰古瑞萨|0x0080|0\n兰桂齐芳|0x1000|1293\n兰花指|0x0000|51046\n兰考县|0x0040|1547\n兰陵王|0x100000|392\n兰亭集序|0x100000|1026\n兰西县|0x0040|1046\n兰溪市|0x0040|1403\n兰心蕙性|0x1000000|100\n兰新铁路|0x0008|1114\n兰熏桂馥|0x0000|100\n兰薰桂馥|0x1000000|100\n兰阳溪|0x0040|1249\n兰因絮果|0x1000000|1269\n兰芝常生|0x0000|100\n兰芷之室|0x0000|100\n兰质蕙心|0x0000|100\n兰质熏心|0x0000|100\n兰质薰心|0x1000000|100\n兰州大学|0x100000|525\n兰州军区|0x0020|1589\n兰州市|0x0040|1205\n兰州铁路局|0x0020|1736\n岚皋县|0x0040|1113\n拦不住|0x1000|1028\n拦河坝|0x100000|49153\n拦河闸|0x100000|1240\n拦洪坝|0x100000|54355\n拦截机|0x0008|1\n拦路虎|0x100000|27622\n栏目组|0x100000|513\n阑风长雨|0x1000000|100\n阑风伏雨|0x1000000|100\n阑尾炎|0x100000|34807\n蓝白色|0x100000|964\n蓝宝石|0x100000|32015\n蓝筹股|0x100000|52813\n蓝点颏|0x100000|1249\n蓝晶晶|0x0100|1268\n蓝绿色|0x100000|922\n蓝墨水|0x100000|1080\n蓝皮书|0x100000|867\n蓝青官话|0x0000|100\n蓝色基因|0x100000|430\n蓝山县|0x0040|1053\n蓝天下|0x100000|491\n蓝田生玉|0x1000000|1329\n蓝田县|0x0040|1595\n蓝田玉|0x100000|386\n蓝田猿人|0x0008|1139\n蓝铜矿|0x0008|0\n蓝牙技术|0x0000|47113\n蓝眼睛|0x0000|498\n蓝盈盈|0x0100|1218\n蓝月亮|0x100000|494\n蓝藻黄素|0x0008|0\n澜沧江|0x0040|1427\n澜沧拉祜族自治县|0x0040|1180\n澜倒波随|0x1000000|100\n褴褛筚路|0x0000|100\n篮板球|0x100000|21588\n篮管中心|0x100000|470\n篮球比赛|0x0000|505\n篮球场|0x100000|691\n篮球队|0x100000|776\n篮球风云|0x100000|429\n篮球服|0x100000|369\n篮球架|0x100000|860\n篮球联赛|0x100000|613\n篮球梦|0x100000|427\n篮球赛|0x100000|763\n篮球鞋|0x100000|511\n篮球运动|0x100000|466\n览闻辩见|0x1000000|100\n揽名责实|0x1000000|100\n揽辔澄清|0x1000000|100\n揽辔登车|0x1000000|100\n揽辔中原|0x1000000|100\n揽权纳贿|0x0000|100\n缆车线|0x100000|0\n懒骨头|0x100000|54855\n懒懒散散|0x0100|882\n懒洋洋|0x0100|16929\n烂船也有三千钉|0x400000|0\n烂额焦头|0x1000000|100\n烂漫天真|0x1000000|100\n烂熳天真|0x1000000|100\n烂泥塘|0x0000|54856\n烂如指掌|0x1000000|100\n烂若披锦|0x1000000|100\n烂若披掌|0x1000000|100\n烂若舒锦|0x1000000|100\n烂摊子|0x100000|33929\n烂尾楼|0x100000|870\n烂污货|0x100000|0\n烂醉如泥|0x1000000|918\n滥伐林木|0x0008|0\n滥官污吏|0x1000000|1389\n滥杀无辜|0x800000|953\n滥套子|0x100000|1273\n滥用职权|0x1000|559\n滥竽充数|0x1000000|35681\n郎才女貌|0x1000000|44452\n郎才女姿|0x1000000|100\n郎溪县|0x0040|1603\n狼把草|0x0008|0\n狼狈不堪|0x1000000|29433\n狼狈万状|0x0000|100\n狼狈为奸|0x1000000|36162\n狼狈周章|0x1000000|100\n狼奔豕突|0x1000000|54356\n狼奔鼠窜|0x1000000|100\n狼奔鼠偷|0x1000000|100\n狼奔兔脱|0x1000000|100\n狼飡虎食|0x1000000|100\n狼飡虎咽|0x1000000|100\n狼餐虎噬|0x1000000|100\n狼餐虎咽|0x1000000|100\n狼吃幞头|0x1000000|100\n狼虫虎豹|0x0000|100\n狼多肉少|0x1000000|1091\n狼顾鸱张|0x1000000|100\n狼顾鸱跱|0x1000000|100\n狼顾狐疑|0x0000|100\n狼顾虎视|0x1000000|100\n狼顾麕惊|0x1000000|100\n狼顾鸢视|0x1000000|100\n狼嗥狗叫|0x1000000|100\n狼嗥鬼叫|0x1000000|100\n狼嚎鬼叫|0x1000000|100\n狼号鬼哭|0x1000000|100\n狼艰狈蹶|0x1000000|100\n狼猛蜂毒|0x1000000|100\n狼前虎后|0x1000000|100\n狼飧虎咽|0x1000000|100\n狼贪虎视|0x1000000|100\n狼贪鼠窃|0x1000000|100\n狼突鸱张|0x1000000|100\n狼突豕窜|0x1000000|100\n狼图腾|0x100000|482\n狼吞虎餐|0x1000000|100\n狼吞虎噬|0x1000000|100\n狼吞虎咽|0x1000000|26261\n狼心狗肺|0x1000000|42731\n狼心狗行|0x1000000|100\n狼牙棒|0x0000|53830\n狼烟大话|0x1000000|100\n狼烟四起|0x1400000|0\n狼眼鼠眉|0x1000000|100\n狼羊同饲|0x1000000|100\n狼子兽心|0x1000000|100\n狼子野心|0x1000000|43218\n廊坊市|0x0040|1229\n琅琅上口|0x1000000|899\n琅嬛福地|0x0000|100\n稂不稂莠不莠|0x0008|100\n稂莠不齐|0x0000|100\n锒铛入狱|0x1000000|41980\n朗吉努斯|0x0080|0\n朗加纳斯|0x0080|0\n朗朗乾坤|0x0000|100\n朗朗上口|0x1000000|876\n朗目疏眉|0x1000000|100\n朗诵会|0x100000|976\n朗诵者|0x100000|1185\n朗月清风|0x0000|100\n阆苑琼楼|0x0000|100\n阆中市|0x0040|1626\n浪荡子式|0x100000|0\n浪蝶狂蜂|0x1000000|100\n浪蝶游蜂|0x1000000|100\n浪花四溅|0x400000|1\n浪迹浮踪|0x1000000|100\n浪迹江湖|0x1000000|54357\n浪迹萍踪|0x1000000|100\n浪迹天下|0x0000|100\n浪迹天涯|0x1000000|761\n浪酒闲茶|0x0000|100\n浪卡子|0x0040|1122\n浪卡子县|0x0040|1172\n浪客剑心|0x100000|837\n浪漫爱情|0x100000|533\n浪漫派|0x100000|997\n浪漫曲|0x100000|1008\n浪漫史|0x100000|1039\n浪漫主义|0x100000|12336\n浪蕊浮花|0x1000000|100\n浪声浪气|0x0100|0\n浪涌保护器|0x100000|385\n浪子回头|0x800000|859\n浪子回头金不换|0x0008|55882\n浪子宰相|0x100000|100\n捞稻草|0x1000|1404\n捞一把|0xc00000|34966\n捞油水|0x0000|51048\n劳保用品|0x0008|788\n劳动保护|0x100000|816\n劳动保护用品|0x0000|401\n劳动保险|0x800000|932\n劳动报酬|0x0008|514\n劳动布|0x100000|47114\n劳动部|0x100000|1368\n劳动部门|0x100000|840\n劳动产品|0x0008|2\n劳动党|0x0020|1053\n劳动定额|0x0008|9\n劳动对象|0x800000|1143\n劳动法|0x100000|12468\n劳动服|0x0000|55350\n劳动服务公司|0x0008|476\n劳动改造|0x800000|964\n劳动工具|0x100000|0\n劳动工资|0x100000|926\n劳动管理|0x0008|3\n劳动过程|0x0008|0\n劳动合同|0x0008|713\n劳动和社会保障部|0x0020|1261\n劳动纪律|0x0008|464\n劳动教养|0x100000|907\n劳动教育|0x100000|975\n劳动节|0x4000|22165\n劳动竞赛|0x0008|984\n劳动就业|0x0008|793\n劳动局|0x100000|792\n劳动课|0x100000|1017\n劳动力|0x100000|2257\n劳动力市场|0x100000|581\n劳动量|0x100000|1018\n劳动密集型|0x100000|10130\n劳动模范|0x100000|833\n劳动能力|0x0000|542\n劳动强度|0x800000|854\n劳动权|0x0008|43922\n劳动人民|0x0000|554\n劳动人事|0x100000|859\n劳动日|0x100000|1165\n劳动生产力|0x0008|373\n劳动生产率|0x100000|9357\n劳动市场|0x0008|1\n劳动手段|0x100000|1289\n劳动条件|0x100000|466\n劳动卫生|0x0008|995\n劳动效率|0x0008|0\n劳动心理学|0x0008|0\n劳动者|0x100000|2884\n劳动资料|0x100000|919\n劳而无功|0x1000000|37924\n劳而无获|0x800000|1223\n劳改犯|0x100000|40402\n劳工部|0x100000|452\n劳工法|0x100000|1119\n劳教所|0x100000|19251\n劳筋苦骨|0x1000000|100\n劳苦功高|0x1000000|42240\n劳力士|0x0008|1406\n劳力士表|0x0008|0\n劳伦斯|0x0040|1254\n劳民动众|0x1000000|100\n劳民费财|0x1000000|100\n劳民伤财|0x1000000|17449\n劳身焦思|0x1000000|100\n劳师动众|0x1000000|52325\n劳师糜饷|0x1000000|100\n劳师袭远|0x0000|100\n劳什子|0x100000|943\n劳思逸淫|0x0000|100\n劳务费|0x100000|26620\n劳务工|0x100000|1001\n劳务市场|0x100000|36321\n劳务输出|0x100000|34197\n劳务所|0x0008|1232\n劳务中介|0x100000|406\n劳心焦思|0x1000000|100\n劳心苦思|0x1000000|100\n劳形苦心|0x1000000|100\n劳燕分飞|0x1000000|51049\n劳役地租|0x0008|1386\n劳逸结合|0x1000000|36665\n劳资关系|0x0008|10\n劳资纠纷|0x0008|956\n劳资科|0x100000|1202\n牢不可破|0x1000000|28849\n牢甲利兵|0x1000000|100\n牢骚满腹|0x1000000|100\n牢什古子|0x1000000|100\n唠唠叨叨|0x0100|772\n老八板儿|0x400000|100\n老八辈子|0xc00000|0\n老八路|0x500000|3\n老白干儿|0x100000|47747\n老百姓|0x100000|1736\n老板娘|0x100000|15210\n老板桌|0x0000|55751\n老办法|0x100000|936\n老半天|0x100000|42242\n老伴儿|0x100000|23936\n老蚌生珠|0x1000000|1313\n老蚌珠胎|0x0000|100\n老北京|0x0000|27386\n老本儿|0x0000|33139\n老本行|0x0000|54358\n老鼻子|0x800000|1082\n老伯伯|0x100000|931\n老残游记|0x0008|1669\n老蚕作茧|0x0000|100\n老成持重|0x1000000|38500\n老成见到|0x0000|100\n老成练达|0x1000000|1365\n老处女|0x100000|886\n老搭档|0x100000|41046\n老大不小|0x800000|45622\n老大哥|0x100000|23541\n老大姐|0x100000|1019\n老大妈|0x100000|35078\n老大难|0x800000|16267\n老大娘|0x100000|19457\n老大徒伤悲|0x0008|940\n老大无成|0x800000|100\n老大爷|0x100000|16948\n老当益壮|0x1000000|35841\n老调重弹|0x800000|45027\n老调重谈|0x800000|1143\n老掉牙|0x800000|37564\n老东西|0x0000|22944\n老豆腐|0x100000|46232\n老儿子|0x100000|1208\n老而不死|0x0000|100\n老而不死是为贼|0x0000|100\n老而弥坚|0x800000|1012\n老佛爷|0x100000|800\n老夫子|0x100000|23327\n老干部|0x100000|13385\n老疙瘩|0x100000|1162\n老革命|0x0000|29119\n老公公|0x100000|859\n老姑娘|0x100000|35842\n老古董|0x100000|34967\n老骨头|0x0000|46507\n老鹳草|0x0008|1225\n老规矩|0x100000|863\n老好人|0x100000|36163\n老河口|0x100000|895\n老河口市|0x0040|1509\n老红军|0x100000|914\n老狐狸|0x100000|39120\n老糊涂|0x100000|37381\n老虎凳|0x100000|46814\n老虎沟|0x0040|0\n老虎机|0x100000|46815\n老虎屁股摸不得|0x0008|1076\n老虎钳|0x100000|49509\n老虎头上扑苍蝇|0x0008|100\n老虎头上搔痒|0x0008|100\n老虎灶|0x100000|48047\n老花镜|0x100000|30728\n老花眼|0x100000|50633\n老花眼镜|0x0008|0\n老化试验|0x0008|0\n老话儿|0x100000|1223\n老皇历|0x100000|44168\n老黄历|0x100000|986\n老黄牛|0x100000|31526\n老伙计|0x0000|30071\n老骥伏枥|0x1000000|42243\n老家伙|0x0000|18964\n老奸巨滑|0x1000000|935\n老奸巨猾|0x1000000|43923\n老江湖|0x100000|52326\n老交情|0x100000|1127\n老街旧邻|0x800000|1332\n老姐儿|0x100000|1416\n老框框|0x100000|47748\n老来俏|0x800000|52815\n老来少|0x800000|0\n老莱娱亲|0x0000|100\n老老少少|0x800000|45320\n老老实实|0x0100|671\n老泪横流|0x800000|1166\n老泪纵横|0x800000|28199\n老两口|0x100000|15996\n老龄化|0x1000|15859\n老妈妈|0x100000|934\n老妈子|0x100000|904\n老马恋栈|0x0000|100\n老马识途|0x1000000|51050\n老迈龙钟|0x0000|100\n老毛病|0x100000|803\n老面孔|0x0000|42732\n老面子|0x100000|1292\n老命一条|0x400000|0\n老谋深算|0x1000000|36006\n老奶奶|0x100000|15997\n老脑筋|0x0000|48048\n老年斑|0x100000|51465\n老年病|0x0000|39541\n老年痴呆|0x100000|491\n老年公寓|0x0000|457\n老年人|0x100000|4191\n老年心理学|0x100000|856\n老年性|0x20000000|864\n老年性痴呆|0x100000|953\n老年学|0x100000|1083\n老年医学|0x100000|1020\n老牛破车|0x1000000|49154\n老牛舐犊|0x1000000|1307\n老朋友|0x100000|589\n老婆大人|0x100000|499\n老婆当军|0x0000|100\n老婆儿|0x100000|1220\n老婆婆|0x100000|19986\n老婆日记|0x100000|591\n老婆子|0x100000|14961\n老气横秋|0x1000000|35843\n老前辈|0x100000|20909\n老人家|0x100000|5049\n老人节|0x100000|405\n老人星|0x100000|1215\n老弱病残|0x800000|29546\n老弱残兵|0x1000000|44738\n老三届|0x500000|0\n老僧入定|0x800000|1068\n老少边穷|0x800000|28736\n老少皆宜|0x800000|887\n老少皆知|0x800000|1087\n老少无欺|0x800000|1264\n老少咸宜|0x800000|46816\n老生常谈|0x1000000|35079\n老师傅|0x100000|17387\n老师宿儒|0x0000|100\n老实巴交|0x1000000|30519\n老实话|0x100000|808\n老实人|0x100000|38716\n老实说|0x0000|629\n老寿星|0x100000|38502\n老熟人|0x0000|47115\n老鼠瓜|0x0008|0\n老鼠过街|0x800000|100\n老鼠会|0x100000|989\n老鼠药|0x100000|451\n老死不相往来|0x0008|38503\n老太公|0x100000|1233\n老太婆|0x100000|9093\n老太太|0x100000|3462\n老太爷|0x100000|11061\n老态龙钟|0x1000000|35378\n老套子|0x100000|44169\n老天拔地|0x800000|1541\n老天爷|0x100000|13450\n老同志|0x100000|817\n老头儿|0x100000|9091\n老头子|0x100000|6096\n老顽固|0x100000|46817\n老顽童|0x0000|523\n老吾老|0x800000|922\n老先生|0x100000|8853\n老乡会|0x100000|499\n老相识|0x100000|40169\n老羞成怒|0x1000000|43700\n老朽无能|0x0000|100\n老学究|0x100000|990\n老眼光|0x100000|50634\n老眼昏花|0x1000000|982\n老样子|0x0000|48405\n老爷车|0x0008|42956\n老爷爷|0x100000|20573\n老爷子|0x100000|6849\n老一辈|0x500000|7650\n老一代|0x100000|477\n老一套|0x500000|29434\n老油条|0x100000|55353\n老油子|0x100000|55752\n老有所为|0x800000|1041\n老有所终|0x0000|100\n老于世故|0x1000000|55354\n老玉米|0x100000|978\n老妪能解|0x1000000|1358\n老战友|0x100000|474\n老丈人|0x100000|25091\n老之将至|0x0000|100\n老中青|0x100000|26764\n老中青三结合|0x400008|0\n老主顾|0x100000|1012\n老着脸皮|0x1000|1249\n老资格|0x100000|33411\n老字号|0x100000|15562\n老祖宗|0x100000|13490\n潦倒终身|0x800000|1046\n潦潦草草|0x0100|1204\n潦原浸天|0x1000000|100\n酪氨酸|0x0008|1568\n乐安县|0x0040|1065\n乐百氏|0x0008|1395\n乐不极盘|0x1000000|100\n乐不可极|0x1000000|1214\n乐不可言|0x1000000|100\n乐不可支|0x1000000|35379\n乐不思蜀|0x1000000|45624\n乐昌分镜|0x1000000|100\n乐昌破镜|0x1000000|100\n乐昌市|0x0040|1405\n乐昌之镜|0x1000000|100\n乐成人美|0x1000000|100\n乐此不倦|0x1000000|100\n乐此不疲|0x1000000|23703\n乐道安命|0x1000000|100\n乐道安贫|0x1000000|100\n乐道好古|0x1000000|100\n乐道忘饥|0x1000000|100\n乐道遗荣|0x1000000|100\n乐颠颠|0x0100|943\n乐东黎族自治县|0x0040|1130\n乐都县|0x0040|1632\n乐而不荒|0x1000000|100\n乐而不厌|0x1000000|100\n乐而不淫|0x1000000|1117\n乐而忘返|0x1000000|47749\n乐而忘死|0x1000000|100\n乐府诗|0x0008|1080\n乐观主义|0x100000|25904\n乐观主义者|0x0000|414\n乐呵呵|0x0100|19888\n乐祸幸灾|0x1000000|100\n乐极哀来|0x1000000|100\n乐极悲来|0x1000000|100\n乐极悲生|0x1000000|100\n乐极生哀|0x1000000|100\n乐极生悲|0x1000000|40820\n乐极则悲|0x1000000|100\n乐极则忧|0x1000000|100\n乐嗟苦咄|0x1000000|100\n乐尽哀生|0x1000000|100\n乐尽悲来|0x1000000|100\n乐陵市|0x0040|1557\n乐平市|0x0040|1635\n乐器厂|0x100000|404\n乐清市|0x0040|1146\n乐趣园|0x100000|507\n乐融融|0x0100|42957\n乐山爱水|0x1000000|100\n乐山乐水|0x1000000|1135\n乐山市|0x0040|1386\n乐善不倦|0x1000000|100\n乐善好施|0x1000000|37195\n乐善好义|0x1000000|1302\n乐事劝功|0x1000000|100\n乐陶陶|0x0100|45028\n乐天安命|0x1000000|1302\n乐天派|0x100000|44454\n乐天任命|0x1000000|100\n乐天知命|0x1000000|51051\n乐亭县|0x0040|1648\n乐退安贫|0x1000000|100\n乐往哀来|0x1000000|100\n乐新厌旧|0x1000000|100\n乐行忧违|0x1000000|100\n乐业安居|0x1000000|100\n乐业县|0x0040|1643\n乐以忘忧|0x1000000|1140\n乐悠悠|0x0100|53832\n乐于助人|0x800000|797\n乐在其中|0x1000000|745\n乐至县|0x0040|1069\n乐滋滋|0x0100|36666\n勒贝格积分|0x0008|0\n勒紧裤带|0x1000|50254\n勒克斯|0x100000|1145\n勒勒车|0x100000|0\n勒让德变换|0x0008|0\n雷奔云谲|0x1000000|100\n雷波县|0x0040|1128\n雷嗔电怒|0x1000000|100\n雷达表|0x100000|378\n雷达兵|0x100000|48406\n雷达网|0x100000|1196\n雷达信标|0x0008|0\n雷达员|0x100000|1250\n雷达站|0x100000|26054\n雷打不动|0x1000000|31527\n雷电交加|0x1000000|913\n雷动风行|0x1000000|100\n雷峰塔|0x0040|1456\n雷锋精神|0x0000|498\n雷公藤|0x0008|399\n雷光拳|0x100000|0\n雷轰电闪|0x800000|1198\n雷惊电绕|0x1000000|100\n雷卡尔特|0x0080|0\n雷克雅未克|0x0080|1151\n雷厉风飞|0x1000000|100\n雷厉风行|0x1000000|22166\n雷令风行|0x1000000|100\n雷鸣电闪|0x800000|1036\n雷鸣瓦釜|0x0000|100\n雷尼替丁|0x0008|1081\n雷诺数|0x0008|0\n雷山县|0x0040|1046\n雷声大|0x800000|100\n雷声大雨点小|0x0000|100\n雷霆万钧|0x1000000|42958\n雷雨云|0x100000|1249\n雷阵雨|0x100000|6546\n雷州半岛|0x0040|35\n雷州市|0x0040|1622\n缧绁之忧|0x0000|100\n镭射气|0x100000|1357\n耒阳市|0x0040|1578\n傫如丧狗|0x1000000|100\n磊瑰不羁|0x0000|100\n磊浪不羁|0x1000000|100\n磊磊落落|0x1000000|1239\n磊落不凡|0x0000|100\n磊落不羁|0x1000000|100\n磊落光明|0x1000000|1256\n磊落豪横|0x1000000|100\n磊落飒爽|0x1000000|100\n磊落轶荡|0x1000000|100\n肋膜炎|0x100000|52330\n泪迸肠绝|0x1000000|100\n泪干肠断|0x1000000|100\n泪涟涟|0x0100|1018\n泪流满面|0x800000|596\n泪人儿|0x100000|1037\n泪如泉滴|0x0000|100\n泪如泉涌|0x1000000|39321\n泪如雨下|0x1000000|777\n泪汪汪|0x0100|22282\n泪腺炎|0x0008|0\n泪眼汪汪|0x0000|100\n泪盈盈|0x0100|1184\n泪珠儿|0x100000|441\n类病毒|0x0008|6\n类产品|0x100000|668\n类动物|0x100000|481\n类毒素|0x100000|1124\n类二十烷酸|0x400000|0\n类风湿|0x100000|40821\n类风湿性关节炎|0x100000|474\n类股票|0x100000|512\n类固醇|0x100000|40170\n类胡萝卜素|0x0008|412\n类黄酮|0x0000|426\n类节目|0x100000|528\n类聚群分|0x0000|100\n类菌体|0x0008|0\n类人猿|0x100000|31760\n类食品|0x100000|542\n类书籍|0x100000|480\n类似物|0x0008|420\n类似于|0x0000|669\n类图书|0x100000|500\n类乌齐|0x0040|1148\n类乌齐县|0x0040|1193\n类星体|0x100000|1122\n类药物|0x100000|554\n类异戊二烯|0x400000|0\n类杂志|0x100000|460\n类专业|0x100000|561\n累次三番|0x400000|0\n累牍连篇|0x1000000|1504\n累活儿|0x0000|44455\n累及无辜|0x0000|100\n累计法|0x0008|0\n累加器|0x0008|1150\n累见不鲜|0x800000|1403\n累教不改|0x800000|1368\n累进税|0x100000|49861\n累块积苏|0x1000000|100\n累累如珠|0x0000|100\n累卵之危|0x1000000|100\n累死累活|0x800000|45930\n累苏积块|0x0000|100\n累土聚沙|0x0000|100\n累土至山|0x0000|100\n累瓦结绳|0x1000000|100\n累屋重架|0x0000|100\n累月经年|0x1000000|1402\n累足成步|0x0000|100\n擂鼓鸣金|0x0000|100\n擂鼓筛锣|0x1000000|1515\n擂台赛|0x100000|18090\n擂天倒地|0x1000000|100\n棱柱体|0x100000|1271\n楞次定律|0x100000|1186\n楞眉横眼|0x1000000|100\n楞手楞脚|0x1000000|100\n楞头呆脑|0x1000000|100\n楞头磕脑|0x1000000|100\n楞头楞脑|0x1000000|1154\n冷板凳|0x800000|40404\n冷冰冰|0x0100|16631\n冷兵器|0x100000|46819\n冷不丁|0x8000000|28550\n冷不防|0x8000000|22413\n冷藏车|0x100000|40822\n冷藏柜|0x100000|945\n冷藏库|0x0008|49863\n冷藏室|0x100000|51053\n冷藏箱|0x100000|50635\n冷嘲热讽|0x1000000|31761\n冷嘲热骂|0x1000000|100\n冷处理|0x100000|41739\n冷窗冻壁|0x1000000|100\n冷冻柜|0x100000|981\n冷冻机|0x0008|960\n冷冻剂|0x100000|1216\n冷冻室|0x100000|1008\n冷冻箱|0x100000|1116\n冷风机|0x100000|398\n冷感症|0x100000|0\n冷光片|0x100000|400\n冷锅里爆豆|0x0008|100\n冷灰爆豆|0x0000|100\n冷加工|0x1000|999\n冷空气|0x100000|724\n冷冷冰冰|0x0100|1144\n冷冷淡淡|0x0100|1039\n冷冷静静|0x0100|645\n冷冷清清|0x0100|760\n冷眉冷眼|0x0100|1327\n冷门课|0x100000|0\n冷面寒铁|0x1000000|100\n冷面孔|0x0000|52331\n冷凝器|0x100000|42244\n冷凝物|0x100000|1368\n冷暖自知|0x1000000|51884\n冷启动|0x0000|435\n冷气机|0x0008|1534\n冷气团|0x100000|1089\n冷却管|0x0000|394\n冷却剂|0x100000|1094\n冷却器|0x100000|874\n冷却水|0x100000|885\n冷却塔|0x100000|798\n冷却系统|0x0008|4\n冷却液|0x0008|1520\n冷热病|0x100000|1288\n冷热自明|0x0000|100\n冷若冰霜|0x1000000|835\n冷森森|0x0100|47414\n冷水机|0x100000|481\n冷水机组|0x100000|452\n冷水江|0x0040|1446\n冷水江市|0x0040|1504\n冷水浇背|0x0000|100\n冷水浇头|0x0000|100\n冷水器|0x100000|0\n冷水滩|0x0040|1595\n冷水滩市|0x0040|1243\n冷水浴|0x100000|1043\n冷水澡|0x0000|48049\n冷丝丝|0x0100|54858\n冷溲溲|0x0100|1537\n冷飕飕|0x0100|42959\n冷心冷面|0x1000000|100\n冷血动物|0x800000|857\n冷言冷语|0x1000000|38504\n冷言热语|0x1000000|100\n冷眼静看|0x0000|100\n冷眼旁观|0x1000000|35682\n冷眼相待|0x800000|1136\n冷饮店|0x0040|886\n冷语冰人|0x1000000|100\n冷轧机|0x0008|1086\n冷子管|0x0008|0\n愣乎乎|0x0100|0\n愣头愣脑|0x1000000|45323\n厘米波|0x0008|1360\n梨花大鼓|0x800000|1409\n梨花带雨|0x1000000|870\n梨眉艾发|0x1000000|100\n梨树县|0x0040|1057\n梨小食心虫|0x0008|0\n梨园春|0x100000|392\n梨园弟子|0x1000000|1147\n梨园戏|0x100000|42733\n梨园子弟|0x100000|1186\n离瓣花冠|0x800000|1529\n离本徼末|0x1000000|100\n离本趣末|0x1000000|100\n离本依末|0x1000000|100\n离不开|0x1000|543\n离不了|0x1000|0\n离格儿|0x1000|55357\n离合悲欢|0x1000000|1074\n离合器|0x100000|41740\n离婚率|0x100000|783\n离婚协议书|0x0000|458\n离婚者|0x100000|1101\n离魂倩女|0x0000|100\n离家出走|0x0000|594\n离间计|0x100000|1039\n离解热|0x0008|0\n离经辨志|0x1000000|100\n离经叛道|0x1000000|42246\n离经畔道|0x1000000|100\n离离矗矗|0x1000000|100\n离鸾别凤|0x1000000|100\n离鸾别鹄|0x1000000|100\n离鸾别鹤|0x1000000|100\n离奇古怪|0x1000000|1033\n离情别绪|0x1000000|1075\n离群索居|0x1000000|45031\n离散赋值|0x0008|0\n离散数学|0x0008|458\n离散系统|0x0008|0\n离山调虎|0x1000000|100\n离世遁上|0x1000000|100\n离世绝俗|0x1000000|100\n离世异俗|0x1000000|100\n离蔬释屩|0x1000000|100\n离蔬释蹻|0x1000000|100\n离题万里|0x800000|1064\n离退休|0x1000|6536\n离退休干部|0x0000|473\n离退休人员|0x0008|524\n离析分崩|0x1000000|100\n离析涣奔|0x1000000|100\n离弦之箭|0x0000|47750\n离弦走板|0x1000000|1379\n离乡背井|0x1000000|42961\n离乡背土|0x1000000|100\n离乡别井|0x1000000|1140\n离乡别土|0x1000000|100\n离心泵|0x100000|54359\n离心管|0x100000|1128\n离心过滤机|0x0008|0\n离心机|0x100000|36667\n离心离德|0x1000000|43220\n离心力|0x100000|36836\n离心铸造机|0x0008|0\n离休干部|0x0000|476\n离休金|0x100000|1381\n离子半径|0x0008|0\n离子棒|0x100000|370\n离子镀|0x0008|0\n离子对|0x0008|0\n离子化|0x1000|1074\n离子回旋共振加热|0x0008|0\n离子计|0x100000|1078\n离子键|0x100000|1167\n离子交换|0x0008|842\n离子交换法|0x0008|0\n离子排斥色谱法|0x0008|0\n离子迁移率|0x0008|0\n离子色谱仪|0x0008|0\n离子束|0x100000|1084\n离子水|0x100000|452\n离子源|0x0008|0\n骊歌四起|0x400000|0\n骊黄牝牡|0x1000000|100\n犁牛骍角|0x1000000|100\n犁牛之子|0x1000000|1345\n犁生骍角|0x1000000|100\n犁庭扫闾|0x1000000|1534\n犁庭扫穴|0x1000000|1193\n嫠不恤纬|0x1000000|100\n黎巴嫩|0x0040|1234\n黎城县|0x0040|1057\n黎川县|0x0040|1076\n黎曼积分|0x0008|0\n黎民百姓|0x800000|974\n黎平县|0x0040|1046\n黎丘丈人|0x1000000|100\n黎庶涂炭|0x1000000|100\n黎元洪|0x0008|1062\n黎之五笔|0x400000|0\n篱笆墙|0x100000|914\n篱牢犬不入|0x0008|1535\n藜芦碱|0x0008|0\n蠡测管窥|0x0000|100\n蠡酌管窥|0x0000|100\n礼拜二|0x400000|916\n礼拜六|0x100000|477\n礼拜六派|0x400008|0\n礼拜日|0x4000|45324\n礼拜三|0x100000|403\n礼拜四|0x400000|910\n礼拜堂|0x100000|37566\n礼拜天|0x4000|26545\n礼拜五|0x100000|438\n礼拜一|0x100000|448\n礼崩乐坏|0x1000000|0\n礼多人不怪|0x100000|1059\n礼花弹|0x100000|404\n礼坏乐崩|0x1000000|1306\n礼节性|0x20000000|896\n礼貌性|0x20000000|922\n礼品包装|0x100000|445\n礼品表|0x100000|411\n礼品袋|0x100000|486\n礼品店|0x0008|1293\n礼品公司|0x100000|530\n礼品盒|0x100000|507\n礼品设计|0x100000|397\n礼品玩具|0x100000|412\n礼品网|0x100000|572\n礼品有限公司|0x100000|529\n礼泉县|0x0040|1066\n礼让为国|0x0000|100\n礼尚往来|0x1000000|32265\n礼奢宁俭|0x0000|100\n礼顺人情|0x0000|100\n礼为情貌|0x1000000|100\n礼无不答|0x0000|100\n礼先一饭|0x1400000|0\n礼先壹饭|0x1000000|100\n礼贤下士|0x1000000|42485\n礼仪公司|0x100000|472\n礼仪模特|0x100000|371\n礼仪庆典|0x100000|452\n礼仪之邦|0x800000|894\n礼义廉耻|0x1000000|1025\n李白桃红|0x0000|100\n李卜克内西|0x0080|1259\n李代桃僵|0x1000000|55883\n李登辉|0x0080|1338\n李广不侯|0x1000000|100\n李广难封|0x1000000|1133\n李广未封|0x1000000|100\n李郭同船|0x1000000|100\n李郭同舟|0x1000000|100\n李郭仙舟|0x1000000|100\n李凯尔特|0x0008|0\n李时珍|0x0080|1410\n李斯特|0x0080|1406\n李四光|0x400080|0\n李下不整冠|0x0008|100\n李下瓜田|0x1000000|100\n李先念|0x0080|1586\n李小龙|0x0080|1208\n李医生|0x100000|475\n李自成|0x0080|1363\n里比多|0x0080|0\n里边儿|0x100000|1140\n里程碑|0x100000|9081\n里程表|0x100000|51466\n里程计|0x800000|1280\n里丑捧心|0x1000000|100\n里出外进|0x0100|100\n里德二极管|0x400008|0\n里勾外连|0x1000000|100\n里勾外联|0x1000000|100\n里脊肉|0x0000|55358\n里杰卡尔德|0x0080|3\n里卡尔多|0x0080|1204\n里里外外|0x2000000|23116\n里姆斯基|0x0080|1139\n里姆斯基柯萨科夫|0x0080|0\n里姆斯基科萨科夫|0x0080|0\n里斯本|0x0040|1341\n里谈巷议|0x0000|100\n里通外国|0x1000000|43925\n里瓦尔多|0x0080|1573\n里外不是人|0x0008|1002\n里外夹攻|0x0000|100\n里外里|0x0000|55359\n里亚尔|0x100000|385\n里应外合|0x1000000|35240\n里约热内|0x0080|0\n里约热内卢|0x0040|1477\n哩哩啦啦|0x0100|52819\n哩哩罗罗|0x0100|0\n理不胜辞|0x0000|100\n理不忘乱|0x0000|100\n理财产品|0x100000|565\n理查德|0x0080|1221\n理当如此|0x800000|1144\n理发店|0x100000|24003\n理发馆|0x100000|38505\n理发师|0x100000|33013\n理发厅|0x100000|1095\n理发业|0x100000|1291\n理发员|0x100000|1231\n理工大学|0x100000|613\n理工科|0x100000|30295\n理工类|0x100000|529\n理工学院|0x100000|706\n理解力|0x100000|33650\n理理发|0x100000|0\n理疗科|0x0000|373\n理疗仪|0x100000|402\n理论地理学|0x0008|0\n理论工作者|0x100000|700\n理论化|0x1000|985\n理论基础|0x0000|582\n理论家|0x100000|12290\n理论界|0x100000|15358\n理论联系实际|0x0000|542\n理论上|0x0000|7211\n理论体系|0x0000|523\n理论物理学|0x0008|1229\n理论性|0x100000|859\n理论学习|0x100000|792\n理论研究|0x100000|696\n理论依据|0x0000|512\n理论知识|0x0000|587\n理论值|0x100000|1027\n理屈词穷|0x1000000|43459\n理容院|0x0008|1285\n理事长|0x100000|737\n理事单位|0x100000|511\n理事国|0x100000|15106\n理事会|0x100000|4823\n理所必然|0x1000000|100\n理所不容|0x0000|100\n理所当然|0x1000000|10864\n理所应当|0x800000|35683\n理塘县|0x0040|1141\n理想国|0x100000|881\n理想化|0x1000|25905\n理想流体|0x0008|0\n理想气体|0x0008|0\n理想信念|0x100000|564\n理想主义|0x100000|724\n理想主义者|0x100000|482\n理性化|0x100000|914\n理性认识|0x800000|946\n理性主义|0x100000|922\n理学士|0x100000|1119\n理学院|0x100000|893\n理有固然|0x800000|1070\n理冤摘伏|0x1000000|100\n理正词直|0x1000000|100\n理之当然|0x1000000|100\n理直气壮|0x1000000|11777\n锂电池|0x100000|665\n锂聚合物电池|0x0008|0\n锂离子|0x100000|579\n锂离子电池|0x0008|559\n鲤鱼跳龙门|0x0008|974\n澧兰沅芷|0x0000|100\n醴酒不设|0x1000000|100\n醴陵市|0x0040|1418\n力倍功半|0x1000000|100\n力不从心|0x1000000|18032\n力不能及|0x0000|100\n力不能支|0x1000000|1211\n力不胜任|0x1000000|1243\n力不自胜|0x0000|100\n力大无比|0x800000|889\n力大无穷|0x800000|919\n力殚财竭|0x0000|100\n力敌千钧|0x0000|100\n力敌势均|0x1000000|100\n力济九区|0x400000|0\n力竭声嘶|0x1000000|1139\n力尽筋疲|0x1000000|1338\n力矩电机|0x100000|387\n力均势敌|0x1000000|100\n力钧势敌|0x1000000|0\n力可拔山|0x0000|100\n力能扛鼎|0x0000|100\n力排众议|0x1000000|37024\n力气活|0x100000|47415\n力屈计穷|0x0000|100\n力士乐|0x100000|421\n力所不及|0x800000|1050\n力所能及|0x1000000|13597\n力透纸背|0x1000000|1049\n力挽狂澜|0x1000000|31418\n力小任重|0x1000000|100\n力学不倦|0x0000|100\n力学笃行|0x0000|100\n力学性能|0x100000|472\n力有未逮|0x0000|100\n力争上游|0x1000000|36323\n历兵秣马|0x1000000|100\n历兵粟马|0x1000000|100\n历代帝王|0x100000|461\n历尽沧桑|0x800000|849\n历尽艰辛|0x1000000|917\n历经沧桑|0x1000000|879\n历精更始|0x1000000|100\n历精图治|0x1000000|100\n历精为治|0x1000000|100\n历井扪天|0x1000000|100\n历久不衰|0x800000|976\n历久弥坚|0x1000000|1079\n历久弥新|0x800000|880\n历历可辨|0x0000|100\n历历可见|0x0000|100\n历历可考|0x0000|100\n历历可数|0x800000|1167\n历历落落|0x1000000|0\n历历在耳|0x0000|100\n历历在目|0x1000000|21675\n历年来|0x800000|796\n历年试题|0x100000|490\n历日旷久|0x0000|100\n历史背景|0x0008|820\n历史博物馆|0x0040|1310\n历史档案|0x0008|598\n历史地理学|0x0008|899\n历史风貌|0x100000|1029\n历史风云|0x100000|411\n历史观|0x100000|888\n历史记录|0x0000|702\n历史教案|0x100000|389\n历史教科书|0x100000|507\n历史进程|0x100000|516\n历史剧|0x100000|20511\n历史论文|0x100000|377\n历史名人|0x100000|462\n历史人物|0x100000|760\n历史上|0x0000|452\n历史时期|0x0008|556\n历史使命|0x0000|534\n历史事件|0x100000|787\n历史试题|0x100000|426\n历史书|0x100000|487\n历史书籍|0x100000|418\n历史数据|0x100000|865\n历史条件|0x0000|463\n历史唯物主义|0x100000|14239\n历史唯心主义|0x100000|0\n历史文化|0x100000|631\n历史文化名城|0x100000|528\n历史文物|0x0008|473\n历史文献|0x100000|891\n历史文章|0x100000|646\n历史系|0x100000|809\n历史小说|0x0008|570\n历史性|0x100000|679\n历史学|0x100000|774\n历史学家|0x100000|760\n历史沿革|0x100000|820\n历史意义|0x0000|562\n历史悠久|0x100000|674\n历史渊源|0x100000|469\n历史主义|0x100000|1010\n历史自然地理|0x0008|0\n历史最高水平|0x0000|464\n历世摩钝|0x1000000|100\n历世磨钝|0x1000000|100\n历险记|0x100000|731\n厉兵秣马|0x1000000|42734\n厉兵粟马|0x0000|100\n厉精更始|0x0000|100\n厉精图治|0x0000|100\n厉世摩钝|0x1000000|100\n厉行节约|0x800000|1022\n立案率|0x100000|1320\n立此存照|0x800000|42735\n立党为公|0x800000|913\n立等可取|0x800000|47751\n立地成佛|0x800000|911\n立地书厨|0x0000|100\n立地书橱|0x100000|100\n立法机关|0x0008|24\n立法权|0x100000|963\n立法委员|0x100000|952\n立法院|0x0000|544\n立法者|0x100000|945\n立方根|0x100000|1176\n立方公里|0x20000|1095\n立方厘米|0x20000|1000\n立方米|0x20000|3804\n立方体|0x100000|49513\n立方英尺|0x20000|1072\n立竿见影|0x1000000|21391\n立功受奖|0x0008|5\n立功赎罪|0x1000000|41498\n立国安邦|0x0000|100\n立交桥|0x100000|15429\n立脚点|0x100000|47752\n立克次氏体|0x0008|1298\n立克次体|0x800000|1147\n立枯病|0x0008|0\n立马万言|0x0000|100\n立眉瞪眼|0x1000|1537\n立面图|0x0000|420\n立命安身|0x0000|100\n立木南门|0x0000|100\n立人达人|0x800000|100\n立身处世|0x1000000|45627\n立身行己|0x0000|100\n立身扬名|0x1000000|1286\n立时三刻|0x8400000|0\n立谈之间|0x800000|100\n立陶宛|0x0040|1291\n立陶宛共和国|0x0040|1332\n立陶宛人|0x100000|1216\n立体仓库|0x100000|399\n立体车库|0x100000|390\n立体地图|0x0008|1\n立体电视|0x0008|0\n立体电影|0x800000|52332\n立体感|0x100000|32399\n立体光栅材料|0x100000|424\n立体广告|0x100000|416\n立体化|0x1000|880\n立体化学|0x0008|0\n立体画|0x100000|487\n立体几何|0x100000|972\n立体技术|0x100000|423\n立体交叉|0x1000|42247\n立体角|0x100000|1285\n立体镜|0x0008|0\n立体绿化|0x0000|49866\n立体派|0x100000|1098\n立体声|0x100000|34067\n立体声耳机|0x100000|507\n立体图|0x100000|55360\n立体象对|0x0008|0\n立体眼镜|0x100000|495\n立体异构化|0x100000|0\n立体战|0x0008|1\n立体主义|0x0008|0\n立雾溪|0x0040|1229\n立宪派|0x100000|1200\n立业安邦|0x0000|100\n立于不败之地|0x0008|779\n立锥之地|0x1000000|43222\n立足本职|0x0000|479\n立足点|0x100000|15835\n立足未稳|0x800000|1028\n立足于|0x0000|596\n立足之地|0x800000|27387\n丽江纳西族自治县|0x0040|1155\n丽江市|0x0040|1446\n丽句清词|0x1000000|100\n丽句清辞|0x1000000|100\n丽水市|0x0040|1320\n丽藻春葩|0x1000000|100\n利奥波德|0x0080|1099\n利奥塔德|0x0080|0\n利傍倚刀|0x1000000|100\n利比里亚|0x0040|1509\n利比亚|0x0040|1354\n利伯维尔|0x0040|1246\n利不亏义|0x1000000|100\n利齿伶牙|0x0000|100\n利齿能牙|0x1000000|100\n利出一孔|0x400000|0\n利川市|0x0040|1629\n利大于弊|0x0000|463\n利福平|0x0008|1043\n利改税|0x100000|1219\n利滚利|0x1000|54861\n利国利民|0x800000|40825\n利害得失|0x800000|1083\n利害相关|0x0000|100\n利害攸关|0x800000|1240\n利喙赡辞|0x1000000|100\n利己损人|0x0000|100\n利己主义|0x100000|30189\n利津县|0x0040|1550\n利口酒|0x0000|374\n利利索索|0x0100|1167\n利令志惛|0x1000000|100\n利令智昏|0x1000000|34507\n利隆圭|0x0040|1317\n利率政策|0x100000|466\n利玛窦|0x100000|405\n利尿剂|0x0008|1002\n利惹名牵|0x1000000|100\n利润分配|0x0008|578\n利润率|0x100000|15564\n利润总额|0x100000|573\n利深祸速|0x1000000|100\n利时及物|0x1000000|100\n利市三倍|0xc00000|0\n利水渗湿|0x0008|0\n利锁名缰|0x1000000|100\n利他行为|0x0008|1162\n利绾名牵|0x1000000|100\n利物浦|0x0008|1138\n利物浦港|0x0040|0\n利析秋毫|0x1000000|1328\n利息率|0x100000|1069\n利息税|0x100000|486\n利辛县|0x0040|1549\n利血平|0x100000|1107\n利雅得|0x0040|1589\n利益冲突|0x0000|519\n利益集团|0x100000|539\n利益均沾|0x800000|1113\n利用工作之便|0x0000|391\n利用厚生|0x1000000|1365\n利用率|0x100000|8253\n利用外资|0x100000|811\n利用系数|0x0008|2\n利用职务之便|0x0000|481\n利欲熏心|0x1000000|30413\n利灾乐祸|0x1000000|100\n利在当代|0x800000|922\n利兹联|0x0080|464\n励兵秣马|0x1000000|100\n励磁机|0x100000|0\n励精更始|0x1000000|100\n励精求治|0x1000000|100\n励精图治|0x1000000|21069\n励志竭精|0x0000|100\n沥胆抽肠|0x1000000|100\n沥胆堕肝|0x1000000|100\n沥胆隳肝|0x1000000|100\n沥胆披肝|0x1000000|100\n沥胆濯肝|0x1000000|100\n沥青路面|0x100000|473\n沥血叩心|0x1000000|100\n沥血披肝|0x1000000|100\n沥血披心|0x1000000|100\n例行差事|0x1000000|100\n例行公事|0x1000000|32778\n例直禁简|0x1000000|100\n隶属于|0x0000|587\n俐齿伶牙|0x1000000|100\n栎阳雨金|0x1000000|100\n荔波县|0x0040|1095\n荔浦县|0x0040|1576\n荔枝核|0x0008|0\n荔枝汁|0x100000|1295\n轹釜待炊|0x1000000|100\n栗钙土|0x0008|1351\n栗栗危惧|0x1000000|1341\n砺带河山|0x1000000|100\n砺戈秣马|0x1000000|100\n砺山带河|0x1000000|100\n砺世摩钝|0x1000000|100\n砺世磨钝|0x1000000|100\n砺岳盟河|0x1000000|100\n粒粒皆辛苦|0x800000|1014\n粒米狼戾|0x0000|100\n粒米束薪|0x0000|100\n粒细胞|0x100000|935\n粒子束|0x0008|1112\n粒子束武器|0x0008|1184\n粝食粗衣|0x0000|100\n傈僳族|0x0008|38920\n痢疾杆菌|0x0008|0\n詈夷为跖|0x1000000|100\n溧水县|0x0040|1536\n溧阳市|0x0040|1318\n连鳌跨鲸|0x0000|100\n连本带利|0x800000|986\n连苯三酚|0x400000|0\n连蹦带跳|0x800000|53838\n连编累牍|0x1000000|100\n连镳并驾|0x1000000|100\n连镳并轸|0x1000000|100\n连鬓胡子|0x100000|51888\n连车平斗|0x1000000|100\n连成一片|0xc00000|3\n连城县|0x0040|1597\n连城之璧|0x1000000|100\n连畴接陇|0x1000000|100\n连带关系|0x800000|732\n连带责任|0x0008|613\n连裆裤|0x0000|51890\n连二并三|0x400000|100\n连二赶三|0x400000|100\n连分数|0x0008|0\n连杆机构|0x0008|0\n连根拔|0x1000|33286\n连根拔起|0x800000|888\n连根带梢|0x1000000|100\n连更彻夜|0x1000000|100\n连更晓夜|0x1000000|100\n连更星夜|0x1000000|100\n连拱坝|0x100000|1354\n连贯性|0x100000|35381\n连滚带爬|0x800000|52334\n连锅端|0x1000|52821\n连环保|0x100000|1336\n连环画|0x100000|18467\n连环计|0x0000|53839\n连昏达曙|0x1000000|100\n连昏接晨|0x0000|100\n连昬接晨|0x1000000|100\n连江县|0x0040|1464\n连脚裤|0x100000|55754\n连阶累任|0x1000000|100\n连接词|0x0008|419\n连接酶|0x0008|0\n连接器|0x100000|676\n连接线|0x100000|726\n连街倒巷|0x1000000|100\n连裤袜|0x100000|52335\n连类比事|0x1000000|100\n连类比物|0x1000000|100\n连里竟街|0x1000000|100\n连理分枝|0x1000000|100\n连理之木|0x0000|100\n连理枝|0x100000|51891\n连甍接栋|0x1000000|100\n连绵不断|0x800000|840\n连绵不绝|0x1000000|811\n连绵起伏|0x0000|100\n连名带姓|0x0000|407\n连明彻夜|0x1000000|100\n连明达夜|0x1000000|100\n连明连夜|0x1000000|100\n连南瑶族自治县|0x0040|1142\n连跑带跳|0x800000|51892\n连篇絫牍|0x1000000|100\n连篇絫幅|0x1000000|100\n连篇累册|0x1000000|100\n连篇累牍|0x1000000|34660\n连篇累幅|0x1000000|100\n连篇累帧|0x1000000|100\n连篇累帙|0x1000000|100\n连平县|0x0040|1091\n连阡累陌|0x1000000|100\n连钱草|0x0008|1322\n连墙接栋|0x1000000|100\n连衽成帷|0x1000000|100\n连日带夜|0x1000000|100\n连日继夜|0x1000000|100\n连日来|0x800000|792\n连日连夜|0x1000000|1288\n连三并四|0x1400000|0\n连三接二|0x1400000|0\n连三接四|0x1400000|0\n连三接五|0x1400000|0\n连三跨五|0x1400000|0\n连山排海|0x1000000|100\n连山壮族瑶族自治县|0x0040|1156\n连锁店|0x100000|12681\n连锁反应|0x800000|26055\n连锁商店|0x0008|1\n连台本戏|0x800000|1313\n连汤带水|0x1000000|100\n连体婴|0x100000|1033\n连天烽火|0x1000000|100\n连天匝地|0x1000000|100\n连通管|0x0008|1308\n连通器|0x100000|1221\n连通性|0x0000|556\n连为一体|0x400000|2\n连宵彻曙|0x1000000|100\n连宵达旦|0x1000000|100\n连续波激光器|0x0008|0\n连续不断|0x800000|819\n连续发酵|0x0008|0\n连续光谱|0x800000|1291\n连续函数|0x100000|1122\n连续技|0x100000|464\n连续介质|0x0008|0\n连续剧|0x100000|12420\n连续流|0x100000|1278\n连续培养|0x0008|0\n连续谱|0x0008|0\n连续生产|0x0008|1\n连续相变|0x0008|0\n连续性|0x100000|11102\n连衣裙|0x100000|20359\n连阴天|0x100000|35382\n连阴雨|0x100000|37383\n连音符|0x0008|0\n连舆并席|0x1000000|100\n连舆接席|0x1000000|100\n连云港|0x0040|990\n连云港市|0x0040|1120\n连在一起|0x400000|9\n连战皆捷|0x1000000|1204\n连战连捷|0x800000|1082\n连章累牍|0x1000000|100\n连枝比翼|0x1000000|100\n连枝并头|0x1000000|100\n连枝带叶|0x1000000|100\n连枝分叶|0x1000000|100\n连枝共冢|0x0000|100\n连枝同气|0x1000000|100\n连帙累牍|0x1000000|100\n连中三元|0x1400000|0\n连州比县|0x1000000|100\n连州跨郡|0x1000000|100\n连州市|0x0040|1643\n连轴转|0x1000|35684\n连珠合璧|0x1000000|100\n连珠炮|0x100000|31874\n连字号|0x0008|1149\n帘窥壁听|0x0000|100\n帘子布|0x0008|1011\n帘子线|0x0008|0\n怜贫敬老|0x0000|100\n怜贫惜老|0x1000000|1536\n怜贫恤老|0x1000000|100\n怜我怜卿|0x1000000|1541\n怜香惜玉|0x1000000|44740\n怜新弃旧|0x1000000|100\n怜新厌旧|0x1000000|100\n涟水县|0x0040|1499\n涟源市|0x0040|1552\n莲花落|0x100000|39742\n莲花县|0x0040|1076\n莲蓬头|0x100000|51893\n莲子心|0x0008|0\n莲座期|0x0008|0\n联邦德国|0x0040|1509\n联邦调查局|0x0020|1339\n联邦政府|0x100000|849\n联邦制|0x100000|1017\n联苯胺|0x100000|1105\n联产承包|0x800000|977\n联产承包责任制|0x0000|439\n联成一片|0x400000|0\n联成一体|0x400000|0\n联成一组|0x400000|0\n联动机制|0x100000|474\n联防队|0x100000|1083\n联防队员|0x100000|1055\n联合报|0x100000|1365\n联合公报|0x100000|975\n联合公司|0x0008|12\n联合国|0x0020|1884\n联合国安理会|0x0020|1330\n联合国大会|0x0008|1235\n联合国儿童基金会|0x0020|1520\n联合国工业发展组织|0x0008|1741\n联合国教科文组织|0x100000|538\n联合国经济及社会理事会|0x0008|0\n联合国开发计划署|0x0008|1606\n联合国宪章|0x0008|989\n联合国资本开发基金|0x0008|0\n联合国总部|0x0040|1530\n联合会|0x100000|616\n联合会杯|0x100000|504\n联合机|0x100000|1084\n联合开发|0x1000|528\n联合企业|0x0008|42\n联合声明|0x100000|229\n联合收割机|0x100000|24706\n联合体|0x100000|13177\n联合王国|0x100000|1006\n联合行动|0x0000|507\n联合宣言|0x0008|53\n联合早报|0x100000|769\n联合战线|0x800000|45325\n联合政府|0x800000|14051\n联合作战|0x100000|481\n联欢会|0x100000|15927\n联欢节|0x4000|1142\n联欢晚会|0x0000|568\n联接器|0x0008|1162\n联立方程|0x800000|1155\n联络部|0x100000|1562\n联络处|0x100000|772\n联络点|0x100000|1041\n联络官|0x100000|1074\n联络员|0x100000|18966\n联络站|0x100000|1005\n联袂而至|0x1000000|100\n联绵字|0x100000|1541\n联篇累牍|0x0000|100\n联翩而至|0x1000000|1418\n联通在信|0x0000|406\n联席会|0x100000|947\n联席会议|0x800000|10141\n联系地址|0x100000|547\n联系点|0x100000|969\n联系电话|0x100000|482\n联系方法|0x100000|497\n联系方式|0x100000|488\n联系国|0x100000|1322\n联系群众|0x0000|519\n联系人|0x100000|21676\n联系实际|0x0000|581\n联想电脑|0x100000|702\n联想集团|0x0008|1254\n联想心理学|0x0008|0\n联谊会|0x100000|11796\n联谊会一|0x400000|0\n联营公司|0x0008|1\n联运票|0x100000|1495\n联轴节|0x0008|0\n联轴器|0x100000|1349\n廉而不刿|0x1000000|1186\n廉价版|0x0000|394\n廉价品|0x100000|1132\n廉江市|0x0040|1547\n廉洁奉公|0x800000|18564\n廉洁勤政|0x800000|947\n廉洁自律|0x800000|864\n廉可寄财|0x1000000|100\n廉明公正|0x0000|100\n廉泉让水|0x1000000|100\n廉顽立懦|0x1000000|100\n廉远堂高|0x1000000|100\n廉政建设|0x0008|29121\n廉政文化|0x100000|491\n縺衣机|0x100000|0\n镰刀状|0x100000|0\n敛锷韬光|0x1000000|100\n敛骨吹魂|0x1000000|100\n敛后疏前|0x1000000|100\n敛容屏气|0x0000|100\n敛色屏气|0x0000|100\n敛声匿迹|0x1000000|100\n敛声屏气|0x1000000|1310\n敛声屏息|0x1000000|100\n敛手待毙|0x1000000|100\n敛手屏足|0x1000000|100\n敛影逃形|0x1000000|100\n敛怨求媚|0x1000000|100\n脸部皮肤|0x100000|485\n脸蛋儿|0x100000|12894\n脸红脖子粗|0x0008|926\n脸红耳赤|0x1000000|1054\n脸红耳热|0x1000000|1170\n脸红筋暴|0x1000000|100\n脸红筋涨|0x1000000|100\n脸黄肌瘦|0x1000000|100\n脸盘儿|0x100000|30297\n脸盆架|0x100000|1218\n脸皮薄|0x800000|933\n脸皮厚|0x800000|826\n脸青鼻肿|0x1000000|1359\n脸色苍白|0x0000|600\n脸上无光|0x800000|1026\n脸膛儿|0x100000|0\n脸无人色|0x1000000|1241\n练兵场|0x100000|1038\n练兵秣马|0x0000|100\n练达老成|0x0000|100\n练功房|0x0000|52823\n练习本|0x100000|39323\n练习簿|0x100000|41500\n练习曲|0x100000|833\n练习题|0x100000|780\n炼丹术|0x100000|1093\n炼钢厂|0x100000|978\n炼钢炉|0x100000|1110\n炼焦厂|0x100000|1148\n炼焦炉|0x100000|51472\n炼金术|0x100000|796\n炼石补天|0x1000000|1097\n炼铁厂|0x100000|996\n炼铁炉|0x0008|55756\n炼铜厂|0x100000|0\n炼油厂|0x100000|834\n恋酒迷花|0x1000000|100\n恋酒贪花|0x1000000|100\n恋恋不舍|0x1000000|21358\n恋恋难舍|0x1000000|100\n恋母情结|0x0000|432\n恋人们|0x100000|470\n恋新忘旧|0x1000000|100\n恋栈不去|0x0000|100\n链传动|0x0008|397\n链激酶|0x0008|1230\n链霉蛋白酶|0x0008|0\n链霉二糖胺|0x400000|0\n链霉素|0x0008|44171\n链球菌|0x100000|36167\n链式反应|0x800000|1089\n链转移|0x0008|0\n良辰吉日|0x800000|1014\n良辰美景|0x800000|45630\n良辰媚景|0x0000|100\n良工苦心|0x0000|100\n良工巧匠|0x0000|100\n良工心苦|0x1000000|1385\n良弓无改|0x0000|100\n良好率|0x100000|1301\n良好习惯|0x0000|498\n良好形象|0x100000|545\n良贾深藏|0x0000|100\n良金美玉|0x1000000|100\n良禽择木|0x1000000|1067\n良师益友|0x1000000|26057\n良师诤友|0x0000|100\n良时吉日|0x0000|100\n良时美景|0x0000|100\n良宵好景|0x0000|100\n良宵美景|0x1000000|1203\n良心发现|0x0000|495\n良心话|0x0000|54364\n良性瘤|0x100000|1292\n良性循环|0x0008|19\n良性肿瘤|0x800000|980\n良药苦口|0x800000|50256\n良药苦口利于病|0x0008|1031\n良莠不分|0x0000|100\n良莠不齐|0x1000000|27126\n良莠不一|0x400000|100\n良莠淆杂|0x0000|100\n良知良能|0x100000|1208\n凉白开|0x100000|53840\n凉拌菜|0x0008|429\n凉冰冰|0x0100|47754\n凉城县|0x0040|1138\n凉凉快快|0x0100|1275\n凉了半截|0x800000|1\n凉山彝族自治州|0x0040|1650\n凉水塔|0x100000|399\n凉丝丝|0x0100|42248\n凉飕飕|0x0100|39545\n梁河县|0x0040|1135\n梁孟相敬|0x1000000|100\n梁平县|0x0040|1299\n梁山县|0x0040|1568\n梁上君子|0x1000000|54863\n粮草先行|0x1000000|1021\n粮多草广|0x0000|100\n粮尽援绝|0x0000|100\n粮农组织|0x0020|1546\n粮食安全|0x100000|513\n粮食产量|0x0000|494\n粮食加工|0x100000|450\n粮食价格|0x100000|499\n粮食局|0x100000|743\n粮食企业|0x100000|491\n粮食生产|0x0000|563\n粮食作物|0x800000|923\n粮油机械|0x100000|396\n粮油食品|0x100000|496\n踉踉跄跄|0x0100|867\n两岸关系|0x100000|822\n两岸三地|0x400000|518\n两败俱伤|0x1000000|34508\n两般三样|0x1400000|0\n两边倒|0x1000|1106\n两鬓如霜|0x0000|100\n两部鼓吹|0x800000|100\n两传三|0x400000|0\n两次三番|0x1400000|0\n两弹一星|0x500000|16824\n两当县|0x0040|1122\n两党制|0x100000|53326\n两道三科|0x1400000|0\n两地分居|0x0000|452\n两点论|0x100000|49516\n两点阈|0x0008|0\n两点钟|0x0000|470\n两豆塞耳|0x0000|100\n两耳塞豆|0x1000000|100\n两方面|0x0000|647\n两房一厅|0x400000|0\n两分法|0x100000|55757\n两个方面|0x0000|628\n两个基本点|0x100000|1000\n两个文明|0x0000|498\n两个文明建设|0x0000|469\n两个转变|0x100000|1087\n两瞽相扶|0x1000000|100\n两国关系|0x0000|556\n两国之间|0x0000|490\n两虎相斗|0x1000000|1208\n两虎相斗必有一伤|0x400000|0\n两回事|0x100000|28551\n两极分化|0x100000|816\n两极管|0x100000|1534\n两极化|0x1000|959\n两肩荷口|0x1000000|100\n两件套|0x0000|460\n两脚规|0x100000|1414\n两脚居间|0x1000000|100\n两脚书橱|0x1000000|1322\n两脚野狐|0x100000|100\n两脚一蹬|0x400000|0\n两姐妹|0x100000|521\n两口子|0x100000|10961\n两肋插刀|0x1000000|42249\n两两三三|0x1400000|0\n两码事|0x100000|30730\n两面二舌|0x1400000|0\n两面光|0x1000|55758\n两面派|0x100000|34339\n两面三刀|0x1400000|54366\n两面性|0x100000|29436\n两面针|0x0008|1576\n两男两女|0x0000|415\n两男一女|0x400000|450\n两女一男|0x400000|2\n两栖动物|0x800000|1000\n两栖纲|0x0008|0\n两栖类|0x0000|420\n两情相悦|0x0008|768\n两全其美|0x1000000|30521\n两审终审制|0x100000|1266\n两世为人|0x1000000|1200\n两手空空|0x1000000|754\n两鼠斗穴|0x1000000|100\n两天晒网|0x1000000|920\n两条腿走路|0x0000|448\n两头白面|0x1000000|100\n两头和番|0x1000000|100\n两头三面|0x1400000|0\n两头三绪|0x1400000|0\n两头蛇|0x0000|371\n两万五千里长征|0x400000|1770\n两位数|0x0000|560\n两下子|0x100000|33788\n两相情原|0x1000000|100\n两相情愿|0x1000000|1076\n两相系统|0x0008|0\n两厢车|0x100000|497\n两厢情愿|0x800000|54864\n两小无猜|0x1000000|44460\n两性关系|0x100000|43460\n两性话题|0x100000|481\n两性空间|0x100000|395\n两性人|0x100000|1114\n两性生活|0x100000|451\n两性生殖|0x100000|815\n两性用品|0x100000|405\n两性之间|0x100000|907\n两性知识|0x100000|469\n两雄不并立|0x0000|100\n两袖清风|0x1000000|24445\n两叶掩目|0x1000000|100\n两姨亲|0x100000|1325\n两意三心|0x1400000|0\n两用人才|0x0000|37026\n两用衫|0x100000|1283\n两院制|0x100000|48788\n两张皮|0x0000|29761\n两者缺一不可|0x400000|0\n两重天|0x100000|46820\n两重性|0x100000|29865\n亮氨酸|0x100000|1084\n亮度计|0x0008|0\n亮光光|0x0100|48410\n亮晃晃|0x0100|1036\n亮节高风|0x800000|1383\n亮晶晶|0x0100|19029\n亮亮堂堂|0x0100|1186\n亮亮相|0x100000|1114\n亮闪闪|0x0100|29122\n亮堂堂|0x0100|968\n亮眼人|0x100000|1505\n亮锃锃|0x0100|1\n亮铮铮|0x0100|1290\n晾衣架|0x0008|441\n量才而为|0x1000000|100\n量才录用|0x1000000|1238\n量才器使|0x1000000|100\n量材录用|0x1000000|100\n量纲分析|0x0008|0\n量己审分|0x1000000|100\n量角器|0x100000|1102\n量金买赋|0x1000000|100\n量力度德|0x1000000|100\n量力而为|0x1000000|967\n量力而行|0x1000000|16454\n量能授官|0x1000000|100\n量热器|0x0008|0\n量热学|0x0008|0\n量人为出|0x0008|0\n量如江海|0x0000|100\n量入计出|0x1000000|100\n量入为出|0x1000000|36838\n量枘制凿|0x1000000|100\n量身定做|0x100000|728\n量时度力|0x0000|100\n量水堰|0x0008|0\n量体裁衣|0x1000000|38506\n量体温|0x100000|435\n量小力微|0x1000000|100\n量凿正枘|0x1000000|100\n量子光学|0x0008|2\n量子化|0x1000|1107\n量子力学|0x800000|891\n量子论|0x100000|1053\n量子数|0x0008|0\n辽东白豕|0x1000000|100\n辽东半岛|0x0040|1501\n辽东豕|0x0000|100\n辽东湾|0x0040|1161\n辽宁大连|0x100000|508\n辽宁大学|0x100000|470\n辽宁街|0x0040|0\n辽宁日报|0x100000|455\n辽宁沈阳|0x100000|518\n辽宁省|0x0040|960\n辽阳市|0x0040|1366\n辽阳县|0x0040|1626\n辽源市|0x0040|1482\n辽中县|0x0040|1638\n疗疮剜肉|0x0000|100\n疗效显著|0x100000|929\n疗养院|0x100000|19486\n聊备一格|0x1400000|0\n聊表寸心|0x0000|100\n聊城市|0x0040|1304\n聊复尔耳|0x1000000|1395\n聊聊天|0x1000|658\n聊胜一筹|0x1400000|0\n聊胜于无|0x1000000|49517\n聊天儿|0x1000|1046\n聊天工具|0x100000|569\n聊天记录|0x100000|699\n聊天器|0x100000|426\n聊天室|0x0008|46821\n聊以解嘲|0x1000000|1317\n聊以塞责|0x1000000|1405\n聊以自慰|0x1000000|40829\n聊以自娱|0x0000|100\n聊以卒岁|0x1000000|1384\n聊斋志异|0x0008|1397\n寥寥可数|0x1000000|964\n寥寥数语|0x1000000|1\n寥寥无几|0x1000000|20617\n寥若晨星|0x1000000|41741\n廖化作先锋|0x0008|1280\n撩蜂吃螫|0x1000000|100\n撩蜂剔蝎|0x1000000|100\n撩火加油|0x1000000|100\n撩云拨雨|0x1000000|100\n燎发摧枯|0x1000000|100\n燎如观火|0x1000000|100\n燎若观火|0x1000000|100\n燎原烈火|0x100000|100\n燎原之势|0x800000|954\n蓼虫忘辛|0x1000000|100\n了不长进|0x1000000|100\n了不得|0x1000|12986\n了不可见|0x1000000|100\n了不起|0x40000000|7146\n了不相涉|0x800000|1418\n了哥王|0x0008|0\n了解到|0x1000|767\n了了可见|0x0000|100\n了然无闻|0x0000|100\n了然于胸|0x800000|936\n了如指掌|0x1000000|19855\n了若指掌|0x1000000|1007\n了身达命|0x1000000|100\n了身脱命|0x1000000|100\n了望塔|0x0000|411\n了望台|0x0000|423\n了无惧色|0x1000000|1536\n尥蹶子|0x1000|52338\n料敌如神|0x0000|100\n料敌若神|0x0000|100\n料敌制胜|0x1000000|1193\n料豆儿|0x100000|0\n料峭春寒|0x0000|100\n料事如神|0x1000000|39962\n撂挑子|0x1000|44172\n瞭望哨|0x100000|2\n咧嘴一笑|0x400000|0\n列奥纳多|0x0080|0\n列车表|0x100000|408\n列车长|0x100000|976\n列车车次|0x100000|431\n列车票价|0x100000|420\n列车时|0x100000|369\n列车时刻|0x100000|497\n列车时刻表|0x0008|558\n列车信息|0x100000|443\n列车员|0x100000|24132\n列鼎而食|0x1000000|100\n列风淫雨|0x1000000|100\n列功覆过|0x1000000|100\n列宁格勒|0x0040|1562\n列宁主义|0x100000|874\n列土分茅|0x1000000|100\n列土封疆|0x0000|100\n列一警百|0x400000|0\n列印机|0x0008|0\n列支敦士登|0x0040|1586\n列祖列宗|0x1000000|49162\n劣等货|0x100000|1355\n劣等品|0x100000|0\n劣等性|0x100000|0\n劣根性|0x100000|39123\n劣迹昭著|0x1000000|1421\n劣迹昭着|0x0000|100\n劣质奶粉|0x100000|483\n劣质品|0x100000|1092\n埒才角妙|0x0000|100\n埒材角妙|0x1000000|100\n烈火辨日|0x1000000|100\n烈火干柴|0x0000|100\n烈火轰雷|0x1000000|100\n烈火见真金|0x0008|1343\n烈火烹油|0x1000000|1139\n烈火网络电视|0x100000|382\n烈火真金|0x0000|100\n烈军属|0x100000|27944\n烈烈轰轰|0x1000000|100\n烈日当空|0x800000|948\n烈士陵园|0x100000|829\n烈士墓|0x100000|894\n烈士暮年|0x0000|100\n烈士徇名|0x0000|100\n烈性子|0x0000|55992\n捩手覆羹|0x1000000|100\n猎户座|0x0008|982\n猎鹿人|0x0000|403\n猎潜艇|0x100000|50257\n猎头公司|0x0008|1342\n裂冠毁冕|0x0000|100\n裂解焦油|0x0008|0\n裂解炉|0x0008|0\n裂解气|0x0008|0\n裂区设计|0x0008|0\n裂裳裹足|0x0000|100\n裂裳衣疮|0x0000|100\n裂石穿云|0x0000|100\n裂土分茅|0x1000000|1350\n裂眦嚼齿|0x0000|100\n邻苯二酚|0x4400000|0\n邻二甲苯|0x400000|0\n邻接矩阵|0x0008|0\n邻居家|0x100000|540\n邻居们|0x100000|541\n邻里关系|0x100000|916\n邻女窥墙|0x0000|100\n邻女詈人|0x1000000|100\n邻水县|0x0040|1053\n林产品|0x100000|873\n林甸县|0x0040|1068\n林分改造|0x0008|0\n林寒洞肃|0x1000000|100\n林寒涧肃|0x1000000|1344\n林家花园|0x0040|1116\n林可霉素|0x0008|0\n林肯公园|0x100000|433\n林口县|0x0040|1656\n林籁泉韵|0x1000000|100\n林粮间作|0x0008|0\n林林总总|0x1000000|28031\n林虑山|0x0040|1263\n林牧业|0x100000|1333\n林栖谷隐|0x1000000|100\n林森北路|0x0040|1085\n林森南路|0x0040|0\n林务员|0x100000|1411\n林西县|0x0040|1077\n林下风度|0x1000000|100\n林下风范|0x1000000|100\n林下风气|0x1000000|100\n林下风韵|0x1000000|100\n林下风致|0x1000000|100\n林下高风|0x1000000|100\n林下清风|0x1000000|100\n林业部|0x100000|1587\n林业部门|0x100000|991\n林业大学|0x0040|1307\n林业机械|0x100000|382\n林业局|0x100000|1142\n林业厅|0x100000|1494\n林业站|0x100000|938\n林荫道|0x100000|853\n林芝县|0x0040|1135\n林州市|0x0040|1286\n林周县|0x0040|1142\n临安市|0x0040|1400\n临别赠言|0x0000|100\n临别赠语|0x0000|100\n临财不苟|0x1000000|100\n临沧市|0x0040|1648\n临城县|0x0040|1651\n临池学书|0x1000000|1355\n临川羡鱼|0x0000|100\n临床表现|0x100000|571\n临床实验|0x0000|462\n临床试验|0x0000|556\n临床心理学|0x0008|1047\n临床药理|0x100000|379\n临床医学|0x100000|556\n临床意义|0x100000|472\n临敌卖阵|0x0000|100\n临敌易将|0x0000|100\n临汾市|0x0040|1376\n临风对月|0x0000|100\n临高县|0x0040|1638\n临桂县|0x0040|1525\n临海市|0x0040|1333\n临河羡鱼|0x0000|100\n临机应变|0x1000000|1104\n临江市|0x0040|1654\n临界点|0x100000|37199\n临界角|0x100000|1355\n临界距离|0x0008|0\n临界频率|0x0008|0\n临界态|0x0008|0\n临界体积|0x0008|0\n临界温度|0x0008|0\n临界压力|0x0008|0\n临界值|0x0008|1035\n临界状态|0x0008|0\n临界阻尼|0x0008|0\n临渴穿井|0x1000000|100\n临渴掘井|0x1000000|55368\n临澧县|0x0040|1603\n临门一脚|0x400000|2\n临难不避|0x0000|100\n临难不惧|0x0000|100\n临难不恐|0x0000|100\n临难苟免|0x1000000|100\n临难无慑|0x0000|100\n临难铸兵|0x1000000|100\n临清市|0x0040|1405\n临朐县|0x0040|1459\n临去秋波|0x0000|100\n临泉县|0x0040|1514\n临深履薄|0x1000000|1222\n临时抱佛脚|0x0008|858\n临时代办|0x800000|1166\n临时工|0x100000|15264\n临时文件|0x0000|543\n临时文件夹|0x0000|473\n临时性|0x20000000|17900\n临时政府|0x0000|518\n临事而惧|0x1000000|1271\n临沭县|0x0040|1520\n临水登山|0x0000|100\n临潭县|0x0040|1090\n临洮县|0x0040|1049\n临潼斗宝|0x1000000|100\n临危不顾|0x0000|100\n临危不惧|0x1000000|24707\n临危不挠|0x0000|100\n临危受命|0x1000000|29968\n临危授命|0x1000000|1068\n临危致命|0x1000000|100\n临文不讳|0x1000000|100\n临武县|0x0040|1600\n临西县|0x0040|1595\n临夏市|0x0040|1584\n临夏县|0x0040|1108\n临湘市|0x0040|1582\n临崖勒马|0x0000|100\n临猗县|0x0040|1582\n临沂市|0x0040|1182\n临邑县|0x0040|1602\n临颍县|0x0040|1595\n临渊羡鱼|0x1000000|54370\n临泽县|0x0040|1043\n临漳县|0x0040|1632\n临阵磨刀|0x0000|100\n临阵磨枪|0x1000000|930\n临阵脱逃|0x1000000|41501\n临终关怀|0x100000|45935\n淋巴癌|0x100000|399\n淋巴毒素|0x0008|0\n淋巴管|0x100000|1027\n淋巴结|0x100000|31530\n淋巴瘤|0x100000|907\n淋巴球|0x100000|1239\n淋巴细胞|0x100000|902\n淋巴腺|0x100000|54371\n淋巴液|0x0008|1083\n淋漓尽致|0x1000000|15486\n淋球菌|0x0000|436\n淋浴间|0x0000|417\n淋浴器|0x100000|49518\n琳琅触目|0x1000000|100\n琳琅满目|0x1000000|15431\n磷蛋白|0x0008|0\n磷光分析|0x0008|0\n磷光体|0x0008|0\n磷化钙|0x0008|0\n磷化氢|0x0008|1202\n磷灰石|0x100000|1081\n磷矿粉|0x0008|1141\n磷矿石|0x100000|395\n磷霉素|0x0000|390\n磷酸铵|0x0008|1113\n磷酸二酯|0x400000|0\n磷酸二酯酶|0x400008|0\n磷酸钙|0x0008|1071\n磷酸甘油酸|0x0008|0\n磷酸化|0x100000|1088\n磷酸化酶|0x0008|0\n磷酸肌酸|0x0008|0\n磷酸酶|0x100000|1061\n磷酸钠|0x0008|1496\n磷酸氢钙|0x100000|927\n磷酸三酯|0x400000|0\n磷酸丝氨酸|0x0008|0\n磷酸盐|0x100000|901\n磷酸酯|0x100000|980\n磷酸转移酶|0x0008|0\n磷脂酶|0x0008|0\n磷脂酸|0x0008|0\n磷脂酰肌醇|0x0008|0\n鳞翅目|0x0008|1128\n鳞次相比|0x1000000|100\n鳞次栉比|0x1000000|23542\n鳞萃比栉|0x1000000|100\n鳞集毛萃|0x1000000|100\n鳞集仰流|0x1000000|100\n鳞片状|0x100000|0\n麟凤龟龙|0x1000000|1307\n麟凤一毛|0x1400000|0\n麟肝凤髓|0x1000000|100\n麟角凤距|0x1000000|100\n麟角凤毛|0x1000000|100\n麟角凤觜|0x1000000|1521\n麟角凤嘴|0x1000000|100\n麟角虎翅|0x1000000|100\n麟游县|0x0040|1115\n麟趾呈祥|0x1000000|100\n麟子凤雏|0x1000000|100\n凛如霜雪|0x1000000|100\n凛若冰霜|0x1000000|1537\n凛若秋霜|0x1000000|100\n吝啬鬼|0x100000|45631\n赁耳佣目|0x1000000|100\n伶仃孤苦|0x1000000|1260\n伶俐乖巧|0x0000|100\n伶牙俐齿|0x1000000|40407\n灵宝市|0x0040|1451\n灵璧县|0x0040|1584\n灵长类|0x100000|949\n灵长目|0x0008|47120\n灵川县|0x0040|1570\n灵丹妙药|0x1000000|27625\n灵丹圣药|0x1000000|1365\n灵感一来|0x400000|0\n灵活性|0x100000|683\n灵机一动|0x401000|21809\n灵猫科|0x100000|0\n灵敏电流计|0x0008|0\n灵敏度|0x100000|22834\n灵敏性|0x0008|1042\n灵巧性|0x0008|0\n灵丘县|0x0040|1050\n灵山县|0x0040|1510\n灵蛇之珠|0x100000|100\n灵石县|0x0040|1578\n灵寿县|0x0040|1488\n灵枢经|0x0008|0\n灵台县|0x0040|1084\n灵武市|0x0040|1036\n灵心慧齿|0x1000000|100\n灵心慧性|0x1000000|100\n灵牙利齿|0x1000000|1119\n灵隐寺|0x0040|1443\n灵芝草|0x0000|49872\n玲珑塔|0x100000|367\n玲珑剔透|0x1000000|35383\n玲珑透漏|0x1000000|100\n凌海市|0x0040|1036\n凌弱暴寡|0x0000|100\n凌上虐下|0x0000|100\n凌霄花|0x100000|942\n凌霄之志|0x0000|100\n凌源市|0x0040|1656\n凌云县|0x0040|1619\n凌云之志|0x800000|100\n凌杂米盐|0x1000000|100\n铃木保奈美|0x0080|1693\n铃木光司|0x0080|0\n铃木京香|0x0080|0\n铃木亚美|0x0080|0\n铃声下载|0x100000|546\n陵川县|0x0040|1060\n陵谷变迁|0x1000000|100\n陵谷沧桑|0x1000000|100\n陵劲淬砺|0x1000000|100\n陵弱暴寡|0x1000000|0\n陵水黎族自治县|0x0040|1787\n绫罗绸缎|0x0000|55369\n羚羊挂角|0x1000|1089\n羚羊角|0x100000|50640\n聆音察理|0x0000|100\n菱角磨作鸡头|0x0008|100\n菱镁矿|0x100000|1132\n菱形体|0x0008|0\n零部件|0x100000|8205\n零部件企业|0x100000|475\n零存整取|0x0000|43461\n零打碎敲|0x1000000|49873\n零点乐队|0x100000|938\n零点能|0x100000|1290\n零丁孤苦|0x1000000|1335\n零关税|0x100000|529\n零光片羽|0x1000000|100\n零圭断璧|0x1000000|100\n零花钱|0x100000|22495\n零活儿|0x100000|46509\n零件盒|0x100000|392\n零件图|0x0000|413\n零距离|0x0008|19277\n零零落落|0x0100|928\n零零散散|0x0100|882\n零零碎碎|0x0100|837\n零零星星|0x0100|936\n零配件|0x100000|20538\n零七八碎|0x1400000|46510\n零敲碎打|0x1000000|48792\n零售店|0x100000|39745\n零售额|0x100000|18368\n零售价|0x100000|26058\n零售价格|0x100000|579\n零售商|0x100000|719\n零售业|0x100000|669\n零售总额|0x0000|529\n零一规划|0x400000|0\n零用钱|0x100000|803\n零杂工|0x0000|55993\n零增长|0x0000|32270\n零珠碎玉|0x0000|100\n零组件|0x0008|921\n领唱者|0x100000|1307\n领带夹|0x100000|957\n领导班子|0x100000|3295\n领导层|0x100000|811\n领导成员|0x100000|919\n领导方法|0x0008|1\n领导干部|0x100000|637\n领导核心|0x0000|508\n领导机构|0x100000|889\n领导集体|0x0000|529\n领导权|0x100000|922\n领导人|0x100000|584\n领导体制|0x100000|26\n领导小组|0x0008|717\n领导艺术|0x0008|744\n领导有方|0x800000|1104\n领导者|0x100000|656\n领海权|0x100000|1365\n领航图|0x100000|1301\n领航员|0x100000|41049\n领奖台|0x100000|867\n领军人物|0x100000|790\n领事裁判权|0x100000|1195\n领事馆|0x100000|22363\n领头雁|0x100000|1007\n领土完整|0x0000|511\n领土问题|0x0008|47\n领悟力|0x100000|932\n领衔主演|0x0000|618\n领袖人物|0x0000|480\n领异标新|0x1000000|1284\n令不虚行|0x1000000|100\n令狐冲|0x100000|566\n令箭荷花|0x800000|1205\n令人不安|0x800000|832\n令人齿冷|0x800000|1151\n令人发指|0x1000000|28382\n令人感动|0x800000|762\n令人鼓舞|0x800000|932\n令人满意|0x800000|726\n令人莫测|0x800000|1335\n令人难以置信|0x0000|524\n令人喷饭|0x800000|845\n令人捧腹|0x800000|44175\n令人起敬|0x800000|1206\n令人切齿|0x0000|100\n令人神往|0x800000|27718\n令人生畏|0x800000|950\n令人生厌|0x800000|925\n令人心悸|0x800000|1016\n令人信服|0x800000|832\n令人兴奋|0x0000|524\n令人瞩目|0x800000|831\n令人注目|0x800000|1039\n令人作呕|0x800000|34200\n令行禁止|0x1000000|29224\n令行如流|0x1000000|100\n令原之戚|0x1000000|100\n另辟蹊径|0x1000000|42489\n另成一家|0x400000|0\n另楚寒巫|0x1000000|100\n另存为|0x0000|683\n另当别论|0x1000000|36496\n另搞一套|0x400000|1\n另开生面|0x1000000|100\n另开一张|0x400000|0\n另谋高就|0x800000|973\n另起炉灶|0x1000000|30731\n另请高明|0x1000000|1068\n另行通知|0x0000|569\n另眼看待|0x1000000|38304\n另眼看戏|0x1000000|100\n另眼相待|0x1000000|1074\n另眼相看|0x1000000|29867\n另一半|0x400000|661\n另一边|0x400000|17\n另一方面|0x10400000|542\n另一个|0x400000|857\n另一回事|0x400000|4\n另一面|0x10400000|22\n另一种|0x400000|739\n另有洞天|0x0000|100\n另有所指|0x800000|1115\n溜冰场|0x100000|44176\n溜冰鞋|0x100000|53331\n溜肩膀|0x1000|1296\n溜须拍马|0x1000000|44461\n溜之大吉|0x1000000|41050\n溜之乎也|0x1000000|55372\n刘公岛|0x100000|1006\n刘海儿|0x100000|47121\n刘海粟|0x0080|1598\n刘寄奴|0x0080|1211\n刘郎前度|0x1000000|100\n刘老师|0x100000|541\n刘姥姥|0x0080|1421\n刘少奇|0x100000|545\n刘毅答诏|0x1000000|100\n浏览器|0x100000|25093\n浏阳市|0x0040|1317\n流鼻涕|0x0000|481\n流鼻血|0x0000|542\n流变学|0x0008|0\n流程图|0x100000|43705\n流出物|0x0008|0\n流刺网|0x100000|1334\n流窜犯|0x100000|49164\n流动人口|0x100000|9466\n流动性|0x100000|691\n流动站|0x100000|890\n流动资本|0x0008|0\n流动资产|0x100000|532\n流动资金|0x800000|789\n流芳百世|0x1000000|895\n流芳后世|0x1000000|100\n流芳千古|0x1000000|1044\n流风回雪|0x1000000|1196\n流风遗迹|0x0000|100\n流风余俗|0x0000|100\n流风余韵|0x1000000|100\n流感病毒|0x0008|13\n流感嗜血杆菌|0x0008|0\n流感疫苗|0x100000|503\n流光瞬息|0x0000|100\n流光易逝|0x1000000|100\n流光溢彩|0x800000|24242\n流汗浃背|0x1000000|100\n流化床|0x100000|891\n流胶病|0x100000|1301\n流金铄石|0x1000000|1373\n流金岁月|0x100000|787\n流金溢彩|0x800000|1095\n流口常谈|0x1000000|100\n流口水|0x1000|44743\n流脍人口|0x1000000|100\n流浪儿|0x100000|40831\n流浪汉|0x100000|23177\n流浪者|0x100000|748\n流离播迁|0x1000000|100\n流离播越|0x1000000|100\n流离颠顿|0x1000000|100\n流离颠沛|0x1000000|1222\n流离颠疐|0x1000000|100\n流离失所|0x1000000|25769\n流离琐尾|0x1000000|100\n流离转徙|0x1000000|100\n流里流气|0x0100|48054\n流连忘反|0x1000000|100\n流连忘返|0x1000000|20818\n流量表|0x100000|889\n流量传感器|0x100000|419\n流量计|0x100000|51476\n流量仪表|0x100000|430\n流落风尘|0x0000|100\n流落江湖|0x1000|1095\n流落失所|0x1000000|100\n流落他乡|0x1000000|1091\n流落天涯|0x0000|100\n流媒体|0x0008|711\n流氓软件|0x100000|537\n流氓兔|0x100000|523\n流氓无产者|0x100000|1048\n流氓学生|0x100000|445\n流氓燕|0x100000|471\n流溺忘反|0x1000000|100\n流年不利|0x0000|100\n流年似水|0x1000|921\n流失量|0x100000|1196\n流失率|0x0000|53333\n流失生|0x0000|53843\n流水不腐|0x1000000|1039\n流水朝宗|0x1000000|100\n流水高山|0x1000000|1181\n流水落花|0x1000000|955\n流水桃花|0x1000000|100\n流水无情|0x1000000|889\n流水席|0x100000|1095\n流水线|0x100000|20911\n流水线处理|0x0008|0\n流水线计算机|0x0008|0\n流水行云|0x1000000|1130\n流水游龙|0x1000000|100\n流水账|0x100000|41282\n流水作业|0x800000|37736\n流速计|0x0008|1347\n流体动力学|0x0008|375\n流体管|0x100000|394\n流体力学|0x100000|891\n流体性|0x100000|0\n流天澈地|0x1000000|100\n流通股东|0x100000|557\n流通量|0x100000|1022\n流通领域|0x800000|846\n流通券|0x100000|1317\n流通手段|0x0008|0\n流线型|0x100000|34201\n流星掣电|0x1000000|100\n流星飞电|0x1000000|100\n流星赶月|0x1000000|1081\n流星蝴蝶剑|0x0000|473\n流星花园|0x100000|770\n流星街|0x100000|378\n流星雨|0x100000|19033\n流行病|0x100000|12548\n流行病学|0x0008|839\n流行歌|0x100000|885\n流行歌曲|0x800000|608\n流行坎止|0x1000000|100\n流行色|0x100000|38120\n流行时尚|0x100000|568\n流行性|0x20000000|22285\n流行性出血热|0x0008|4\n流行性感冒|0x0008|906\n流行性腮腺炎|0x0008|408\n流行音乐|0x100000|559\n流行语|0x100000|829\n流血漂卤|0x0000|100\n流血千里|0x0000|100\n流言飞文|0x1000000|100\n流言飞语|0x1000000|1033\n流言蜚语|0x1000000|36670\n流言风语|0x1000000|100\n流言混话|0x1000000|100\n流言惑众|0x0000|100\n流言止于智者|0x0008|1188\n流眼泪|0x0000|533\n流移失所|0x1000000|100\n流于形式|0x800000|882\n流域规划|0x0008|0\n流质食物|0x100000|1103\n流质性|0x100000|0\n流转税|0x0000|41051\n留坝县|0x0040|1092\n留党察看|0x800000|1170\n留得青山在|0x0008|944\n留后路|0x1000|50642\n留后手|0x1000|55884\n留级生|0x0008|0\n留兰香|0x100000|1156\n留连不舍|0x0000|100\n留连忘返|0x800000|922\n留恋不舍|0x0000|100\n留尼汪岛|0x0040|1172\n留尼旺岛|0x0040|1225\n留取丹心照汗青|0x0008|0\n留声机|0x100000|24510\n留守处|0x100000|37568\n留尾巴|0x1000|54373\n留下来|0x1000|569\n留学签证|0x100000|485\n留学人员|0x100000|820\n留学生|0x100000|4705\n留学生机票|0x100000|380\n留言板|0x100000|496\n留言簿|0x100000|25979\n留一手|0xc00000|46238\n留有余地|0x800000|902\n留余地|0x1000|42965\n留职停薪|0x0008|0\n留置权|0x100000|1079\n琉璃厂|0x0040|1523\n琉璃工艺品|0x100000|390\n琉璃球|0x100000|1228\n琉璃瓦|0x100000|30523\n琉璃仙|0x100000|374\n琉球群岛|0x0040|1683\n硫胺素|0x0008|1104\n硫代磷酸|0x0008|0\n硫化钡|0x0008|1296\n硫化汞|0x100000|1273\n硫化黑|0x0008|1243\n硫化剂|0x0008|1078\n硫化钠|0x100000|1130\n硫化铅|0x4000000|0\n硫化氢|0x100000|28383\n硫化染料|0x0008|0\n硫化锑|0x0008|1276\n硫化铜|0x100000|1270\n硫化物|0x100000|946\n硫化橡胶|0x100000|853\n硫化锌|0x100000|1162\n硫化亚铁|0x0008|1311\n硫解酶|0x100000|0\n硫酸铵|0x100000|990\n硫酸钡|0x100000|953\n硫酸二甲酯|0x400008|0\n硫酸二乙酯|0x400000|0\n硫酸钙|0x100000|1071\n硫酸钾|0x100000|958\n硫酸角质素|0x0008|0\n硫酸铝|0x100000|983\n硫酸镁|0x100000|985\n硫酸锰|0x0008|1074\n硫酸钠|0x100000|935\n硫酸镍|0x100000|390\n硫酸铅|0x0008|1139\n硫酸铜|0x100000|928\n硫酸锌|0x100000|1006\n硫酸亚铁|0x100000|974\n硫酸盐|0x100000|937\n硫酸液|0x0008|1309\n硫酸酯酶|0x0008|0\n硫铁矿|0x0000|407\n硫氧还蛋白|0x0008|0\n遛弯儿|0x1000|41504\n遛早儿|0x0000|54866\n榴弹炮|0x100000|47756\n榴霰弹|0x100000|1301\n柳暗花明|0x1000000|24447\n柳暗花明又一村|0x400008|1\n柳暗花遮|0x1000000|100\n柳残阳|0x100000|429\n柳宠花迷|0x1000000|100\n柳德米拉|0x0080|1155\n柳亸花娇|0x1000000|100\n柳亸莺娇|0x1000000|100\n柳公权|0x0080|1622\n柳骨颜筋|0x1000000|100\n柳海龙|0x100000|387\n柳河县|0x0040|1047\n柳户花门|0x1000000|100\n柳昏花螟|0x0000|100\n柳江县|0x0040|1576\n柳娇花媚|0x1000000|100\n柳街花巷|0x1000000|100\n柳林县|0x0040|1047\n柳绿花红|0x1000000|1161\n柳绿桃红|0x1000000|100\n柳眉倒竖|0x1000000|1065\n柳眉剔竖|0x1000000|100\n柳眉踢竖|0x1000000|100\n柳眉星眼|0x1000000|100\n柳门竹巷|0x1000000|100\n柳陌花丛|0x1000000|100\n柳陌花街|0x1000000|100\n柳陌花衢|0x1000000|100\n柳暖花春|0x1000000|100\n柳泣花啼|0x1000000|100\n柳衢花市|0x1000000|100\n柳弱花娇|0x1000000|100\n柳圣花神|0x1000000|100\n柳市花街|0x0000|100\n柳树上着刀|0x0008|100\n柳啼花怨|0x1000000|100\n柳条帽|0x100000|1371\n柳下借阴|0x1000000|100\n柳巷花街|0x1000000|1529\n柳絮才高|0x0000|100\n柳烟花雾|0x1000000|100\n柳夭桃艳|0x1000000|100\n柳腰花态|0x1000000|100\n柳腰莲脸|0x1000000|100\n柳叶眉|0x100000|999\n柳莺花燕|0x1000000|100\n柳营花市|0x1000000|100\n柳营花阵|0x1000000|100\n柳影花阴|0x1000000|100\n柳折花残|0x1000000|100\n柳州市|0x0040|1203\n柳州铁路局|0x0020|1622\n柳子戏|0x100000|1315\n六安市|0x400000|1306\n六百万|0x600000|3\n六臂三头|0x1400000|0\n六边形|0x500000|49521\n六朝金粉|0x1400000|0\n六尘不染|0x1400000|0\n六尺之孤|0x1400000|0\n六尺之驱|0x400000|0\n六尺之讬|0x1400000|0\n六出纷飞|0x500000|0\n六出奇计|0x1400000|0\n六道轮回|0x1400000|0\n六点钟|0x400000|2\n六耳不同谋|0x400008|0\n六法全书|0x400000|0\n六方晶系|0x400000|0\n六方钻杆|0x400000|0\n六分仪|0x4400000|1\n六分之一|0x400000|456\n六氟化硫|0x100000|390\n六根清净|0x1400000|0\n六根清静|0xc00000|0\n六合采|0x100000|423\n六合彩|0x400008|7\n六合之内|0x408000|0\n六角形|0x500000|0\n六街三陌|0x1400000|0\n六街三市|0x1400000|0\n六节诗|0x400000|0\n六局上半|0x400000|0\n六局下半|0x400000|0\n六口之家|0x400000|0\n六六六|0x600000|40832\n六路横队|0x400000|0\n六路纵队|0x400000|0\n六马仰秣|0x1400000|0\n六面体|0x400000|393\n六年级|0x400000|623\n六盘山|0x400040|3\n六盘水|0x400040|2\n六盘水市|0x400000|1411\n六千万|0x600000|3\n六亲不认|0x1400000|32538\n六亲无靠|0x1400000|0\n六趣轮回|0x1400000|0\n六神不安|0x1400000|0\n六神丸|0x400000|1082\n六神无主|0x1400000|34346\n六十八|0x600000|7\n六十大寿|0x400000|0\n六十二|0x600000|7\n六十花甲子|0x400000|1334\n六十九|0x600000|4\n六十六|0x600000|8\n六十年代|0x400000|772\n六十七|0x600000|7\n六十三|0x600000|2\n六十四|0x600000|10\n六十万|0x600000|4\n六十五|0x600000|16\n六十一|0x600000|16\n六韬三略|0x1400000|0\n六通四辟|0x1400000|0\n六通四达|0x1400000|0\n六味地黄丸|0x400000|0\n六问三推|0x1400000|0\n六弦琴|0x500000|52832\n六小龄童|0x400000|425\n六畜不安|0x1400000|0\n六畜兴旺|0x1400000|1\n六一儿童节|0x404000|2\n六一国际儿童节|0x404000|54865\n六元金码|0x400000|0\n六月飞霜|0x1400000|0\n六月份|0x4000|100\n六月天|0x100000|447\n六月雪|0x500000|4\n六枝特|0x400000|0\n六枝特区|0x400000|1683\n六指儿|0x500000|0\n六中全会|0x400008|88\n六重唱|0x400000|0\n龙驰虎骤|0x1000000|100\n龙雏凤种|0x1000000|100\n龙川县|0x0040|1635\n龙船调|0x100000|372\n龙胆紫|0x100000|372\n龙德在田|0x1000000|100\n龙雕凤咀|0x1000000|100\n龙断可登|0x1000000|100\n龙断之登|0x1000000|100\n龙蹲虎踞|0x1000000|100\n龙多乃旱|0x1000000|100\n龙幡虎纛|0x1000000|100\n龙飞风舞|0x0000|38509\n龙飞凤舞|0x1000000|858\n龙飞凤翔|0x1000000|0\n龙飞凤翥|0x1000000|100\n龙飞虎跳|0x1000000|100\n龙凤呈祥|0x1000000|927\n龙凤呈样|0x0000|36011\n龙凤胎|0x100000|442\n龙肝豹胎|0x1000000|100\n龙肝凤脑|0x100000|100\n龙肝凤髓|0x1000000|1294\n龙鬼蛇神|0x1000000|100\n龙海市|0x0040|1426\n龙翰凤雏|0x1000000|100\n龙翰凤翼|0x1000000|100\n龙胡之痛|0x1000000|100\n龙虎榜|0x100000|524\n龙虎豹|0x100000|399\n龙虎斗|0x100000|45937\n龙虎风云|0x1000000|1017\n龙化虎变|0x1000000|100\n龙荒蛮甸|0x1000000|100\n龙荒朔漠|0x1000000|100\n龙江虎浪|0x1000000|100\n龙江路|0x0040|380\n龙江县|0x0040|1643\n龙精虎猛|0x1000000|1096\n龙井茶|0x0008|27541\n龙井市|0x0040|1046\n龙驹凤雏|0x1000000|1382\n龙举云兴|0x1000000|100\n龙举云属|0x1000000|100\n龙卷风|0x100000|25981\n龙口夺食|0x800000|1324\n龙口市|0x0040|1368\n龙里县|0x0040|1112\n龙陵县|0x0040|1092\n龙楼凤城|0x1000000|100\n龙楼凤池|0x1000000|100\n龙楼凤阁|0x1000000|100\n龙楼凤阙|0x1000000|100\n龙马精神|0x1000000|1033\n龙眉豹颈|0x1000000|100\n龙眉凤目|0x1000000|100\n龙门点额|0x1000000|100\n龙门吊|0x100000|1064\n龙门县|0x0040|1565\n龙门阵|0x0000|42738\n龙鸣狮吼|0x1000000|100\n龙拏虎攫|0x1000000|100\n龙拏虎跳|0x1000000|100\n龙拏虎掷|0x1000000|100\n龙南县|0x0040|1637\n龙攀凤附|0x1000000|100\n龙盘凤舞|0x1000000|100\n龙盘凤逸|0x1000000|100\n龙盘凤翥|0x1000000|100\n龙盘虎踞|0x1000000|1157\n龙盘虎拏|0x1000000|100\n龙蟠凤逸|0x1000000|100\n龙蟠凤翥|0x1000000|100\n龙蟠虎伏|0x1000000|100\n龙蟠虎踞|0x1000000|1189\n龙蟠虎绕|0x1000000|100\n龙蟠虬结|0x1000000|100\n龙骑兵|0x100000|478\n龙骑士|0x100000|559\n龙潜凤采|0x1000000|100\n龙屈蛇伸|0x1000000|100\n龙去鼎湖|0x1000000|100\n龙泉市|0x0040|1531\n龙泉驿区|0x0040|1611\n龙跧虎卧|0x1000000|100\n龙山寺|0x0000|391\n龙山文化|0x100000|1043\n龙山县|0x0040|1627\n龙舌兰|0x0000|43930\n龙蛇飞动|0x1000000|1309\n龙蛇飞舞|0x1000000|1366\n龙蛇混杂|0x1000000|1005\n龙伸蠖屈|0x1000000|100\n龙神马壮|0x1000000|100\n龙生九种|0x1400000|0\n龙生九子|0x1400000|0\n龙胜各族自治县|0x0040|1582\n龙首豕足|0x1000000|100\n龙潭湖|0x100000|396\n龙潭虎窟|0x1000000|100\n龙潭虎穴|0x1000000|50261\n龙韬豹略|0x1000000|100\n龙腾豹变|0x1000000|100\n龙腾凤集|0x1000000|100\n龙腾虎蹴|0x1000000|100\n龙腾虎踞|0x1000000|100\n龙腾虎啸|0x1000000|1334\n龙腾虎跃|0x1000000|35686\n龙腾虎踯|0x1000000|100\n龙腾虎掷|0x1000000|100\n龙跳虎伏|0x1000000|100\n龙跳虎卧|0x1000000|100\n龙头股|0x100000|558\n龙头锯角|0x1000000|100\n龙头企业|0x0008|692\n龙头蛇尾|0x1000000|1304\n龙王庙|0x100000|33288\n龙王爷|0x100000|380\n龙威虎震|0x1000000|100\n龙威燕颔|0x1000000|100\n龙文五笔|0x400000|0\n龙涎香|0x100000|1058\n龙骧豹变|0x1000000|100\n龙骧凤矫|0x1000000|100\n龙骧虎步|0x1000000|1280\n龙骧虎视|0x1000000|100\n龙骧虎啸|0x1000000|100\n龙骧虎跱|0x1000000|100\n龙骧蠖屈|0x1000000|100\n龙骧麟振|0x1000000|100\n龙翔凤舞|0x1000000|100\n龙翔凤跃|0x1000000|100\n龙翔凤翥|0x1000000|1494\n龙翔虎跃|0x1000000|100\n龙心凤肝|0x1000000|100\n龙兴凤举|0x1000000|100\n龙兴云属|0x1000000|100\n龙行虎变|0x1000000|100\n龙行虎步|0x1000000|55966\n龙须菜|0x0000|50646\n龙须草|0x100000|54867\n龙须面|0x0000|52833\n龙血凤髓|0x1000000|100\n龙血玄黄|0x1000000|100\n龙言凤语|0x1000000|100\n龙岩市|0x0040|1330\n龙颜凤姿|0x1000000|100\n龙阳泣鱼|0x1000000|100\n龙吟虎啸|0x1000000|55373\n龙游曲沼|0x0000|100\n龙游县|0x0040|1581\n龙驭上宾|0x1000000|1340\n龙御上宾|0x1000000|100\n龙跃凤鸣|0x1000000|1341\n龙跃鸿矫|0x1000000|100\n龙跃虎踞|0x1000000|100\n龙战虎争|0x1000000|100\n龙战士|0x100000|488\n龙战玄黄|0x1000000|1536\n龙战鱼骇|0x1000000|100\n龙章凤彩|0x1000000|1324\n龙章凤函|0x1000000|100\n龙章凤姿|0x1000000|1278\n龙章麟角|0x1000000|100\n龙章秀骨|0x1000000|100\n龙蛰蠖屈|0x1000000|100\n龙争虎斗|0x1000000|48055\n龙争虎战|0x1000000|100\n龙睁虎眼|0x1000000|100\n龙州县|0x0040|1590\n龙爪槐|0x100000|52340\n龙姿凤采|0x1000000|100\n泷泽秀明|0x0080|0\n笼笼统统|0x0100|917\n笼络人心|0x1000000|1029\n笼鸟池鱼|0x0000|100\n笼鸟槛猿|0x0000|100\n笼中鸟|0x100000|1005\n笼中之鸟|0x800000|100\n聋哑人|0x100000|27626\n聋哑学校|0x100000|971\n聋哑症|0x100000|1325\n聋者之歌|0x0000|100\n隆安县|0x0040|1547\n隆昌县|0x0040|1650\n隆德县|0x0040|1109\n隆化县|0x0040|1654\n隆回县|0x0040|1605\n隆林各族自治县|0x0040|1696\n隆隆声|0x100000|983\n隆刑峻法|0x0000|100\n隆尧县|0x0040|1603\n隆重举行|0x0000|602\n隆重推出|0x100000|703\n隆子县|0x0040|1203\n窿缘桉|0x100000|1517\n陇川县|0x0040|1145\n陇海铁路|0x0008|1563\n陇头音信|0x1000000|100\n陇西县|0x0040|1066\n垄断价格|0x0008|0\n垄断利润|0x0008|1\n垄断行业|0x0000|512\n垄断性|0x100000|874\n垄断资本|0x800000|1014\n垄断资本主义|0x0000|417\n垄断资产阶级|0x0008|0\n垄断组织|0x0008|0\n娄底市|0x0040|1402\n娄烦县|0x0040|1053\n楼船箫鼓|0x0000|100\n楼阁台榭|0x1000000|100\n楼阁亭台|0x1000000|100\n楼上楼下|0x0000|483\n楼台亭阁|0x100000|1124\n楼堂馆所|0x800000|36672\n楼梯扶手|0x100000|455\n楼梯间|0x100000|869\n楼中楼|0x0000|432\n蝼蚁贪生|0x0000|100\n陋巷箪瓢|0x1000000|100\n漏洞百出|0x800000|849\n漏洞补丁|0x100000|448\n漏脯充饥|0x1000000|100\n漏尽更阑|0x0000|100\n漏尽钟鸣|0x1000000|100\n漏尽锺鸣|0x1000000|100\n漏网之鱼|0x100000|894\n漏瓮沃焦釜|0x100000|100\n漏泄春光|0x800000|100\n漏泄天机|0x0000|100\n漏洩春光|0x1000000|100\n漏卮难满|0x1000000|100\n镂冰炊砾|0x1000000|100\n镂冰雕琼|0x1000000|100\n镂冰雕朽|0x1000000|100\n镂冰劚雪|0x1000000|100\n镂尘吹影|0x1000000|100\n镂肝鉥肾|0x1000000|100\n镂骨铭肌|0x1000000|100\n镂骨铭心|0x1000000|1341\n镂金错采|0x1000000|0\n镂金铺翠|0x1000000|100\n镂心刻骨|0x1000000|100\n镂心呕血|0x1000000|100\n镂心鉥肝|0x1000000|100\n镂玉裁冰|0x1000000|100\n镂月裁云|0x1000000|100\n镂脂翦楮|0x1000000|100\n露背装|0x0000|475\n露才扬己|0x1000000|100\n露餐风宿|0x1000000|100\n露钞雪纂|0x1000000|100\n露胆披诚|0x1000000|100\n露胆披肝|0x1000000|100\n露地栽培|0x0008|0\n露点图|0x100000|382\n露蜂房|0x0008|0\n露红烟绿|0x1000000|100\n露红烟紫|0x1000000|100\n露己扬才|0x1000000|100\n露露脸|0x1000|1028\n露马脚|0x1000|47122\n露面抛头|0x0000|100\n露脐装|0x100000|436\n露水夫妻|0x0000|100\n露宿风餐|0x1000000|1341\n露天开采|0x100000|0\n露天矿|0x100000|47419\n露头角|0x1000|55379\n露往霜来|0x1000000|100\n露尾藏头|0x1000000|1540\n露馅儿|0x1000|42490\n露一手|0xc00000|31307\n露阴癖|0x100000|1076\n露营地|0x0000|403\n露影藏形|0x1000000|100\n露纂雪钞|0x1000000|100\n卢布尔雅那|0x0080|1196\n卢浮宫|0x0040|1347\n卢沟桥|0x100000|1381\n卢龙县|0x0040|1043\n卢那察尔斯基|0x0080|1355\n卢萨卡|0x0040|1126\n卢瑟福|0x100000|1107\n卢森堡|0x0040|1296\n卢森堡人|0x100000|0\n卢氏县|0x0040|1614\n卢湾区|0x0040|1258\n卢旺达|0x0040|1475\n庐江县|0x0040|1429\n庐山面目|0x1000000|1181\n庐山真面|0x1000000|808\n庐山真面目|0x0008|53338\n芦沟桥|0x0040|1049\n芦沟桥事变|0x0008|3\n芦山县|0x0040|1120\n芦笋汁|0x100000|0\n芦苇荡|0x100000|958\n芦溪县|0x0040|1627\n泸定桥|0x0040|1582\n泸定县|0x0040|1109\n泸水县|0x0040|1103\n泸西县|0x0040|1063\n泸溪县|0x0040|1045\n泸州市|0x0040|1402\n炉箅子|0x100000|54374\n炉甘石|0x0008|0\n炉火纯青|0x1000000|28934\n炉霍县|0x0040|1180\n炉前工|0x100000|1\n炉渣砖|0x0008|0\n颅相学|0x100000|1412\n籚笋汁|0x100000|0\n卤化物|0x0008|1046\n卤莽灭裂|0x1000000|100\n卤肉饭|0x0000|380\n卤素灯|0x100000|474\n卤钨灯|0x100000|1026\n鲁棒控制|0x0008|0\n鲁宾逊|0x0080|1627\n鲁滨逊|0x0040|1525\n鲁甸县|0x0040|1133\n鲁殿灵光|0x1000000|1541\n鲁戈挥日|0x1000000|100\n鲁戈回日|0x1000000|100\n鲁斤燕削|0x1000000|100\n鲁连蹈海|0x1000000|100\n鲁灵光殿|0x1000000|100\n鲁莽灭裂|0x1000000|100\n鲁米诺|0x0080|0\n鲁难未已|0x1000000|1225\n鲁人回日|0x1000000|100\n鲁山县|0x0040|1562\n鲁卫之政|0x1000000|1426\n鲁阳挥戈|0x1000000|100\n鲁阳挥日|0x1000000|100\n鲁阳麾戈|0x1000000|100\n鲁阳回日|0x1000000|100\n鲁鱼帝虎|0x1000000|1310\n鲁鱼亥豕|0x1000000|1317\n鲁鱼陶阴|0x1000000|100\n陆川县|0x0040|1544\n陆地棉|0x100000|1215\n陆地巡洋舰|0x100000|469\n陆丰市|0x0040|1619\n陆海空|0x100000|961\n陆海空军|0x100000|1092\n陆海空三|0x400000|4\n陆海空三军|0x400000|405\n陆海潘江|0x1000000|1534\n陆河县|0x0040|1068\n陆军军官学校|0x0000|377\n陆军学院|0x100000|420\n陆离斑驳|0x1000000|100\n陆离光怪|0x1000000|100\n陆良县|0x0040|1568\n陆陆续续|0x0100|754\n陆面蒸发|0x0008|0\n陆相沉积|0x800000|1243\n陆运费|0x100000|0\n陆战队|0x100000|19091\n陆詟水栗|0x1000000|100\n录放机|0x100000|1039\n录取分数|0x0000|478\n录取率|0x100000|912\n录取名单|0x0000|477\n录取线|0x0000|48793\n录相机|0x100000|1140\n录象机|0x100000|932\n录像带|0x100000|16152\n录像机|0x100000|25269\n录像盘|0x0008|0\n录像片|0x100000|32650\n录音笔|0x0008|770\n录音带|0x100000|22584\n录音电话|0x100000|100\n录音机|0x100000|15532\n录音棚|0x100000|792\n录音室|0x100000|808\n录音系统|0x100000|504\n录影带|0x0008|795\n录影机|0x100000|989\n鹿车共挽|0x1000000|100\n鹿角霜|0x0008|0\n鹿皮苍璧|0x1000000|100\n鹿裘不完|0x1000000|100\n鹿泉市|0x0040|1565\n鹿死不择荫|0x100000|1287\n鹿死不择音|0x0008|1535\n鹿死谁手|0x1000000|45634\n鹿特丹|0x0040|1429\n鹿驯豕暴|0x1000000|100\n鹿邑县|0x0040|1504\n鹿走苏台|0x1000000|100\n禄丰县|0x0040|1595\n禄劝彝族苗族自治县|0x0040|1736\n滤波器|0x100000|45331\n滤过性病毒|0x0008|1\n滤色镜|0x100000|1083\n滤水池|0x0008|0\n滤水器|0x0008|1438\n碌碌寡合|0x1000000|100\n碌碌无能|0x1000000|1361\n碌碌无奇|0x1000000|100\n碌碌无为|0x1000000|738\n碌碌无闻|0x0000|100\n碌碌庸才|0x1000000|1212\n碌曲县|0x0040|1132\n路边一枝草|0x400000|0\n路不拾遗|0x1000000|51478\n路断人稀|0x1000000|100\n路归路|0x800000|1138\n路见不平|0x1000000|852\n路绝人稀|0x1000000|100\n路柳墙花|0x1000000|100\n路路通|0x0000|463\n路漫漫其修远兮|0x800000|825\n路南彝族自治县|0x0040|1220\n路桥费|0x100000|387\n路人皆知|0x1000000|932\n路上行人|0x100000|445\n路叟之忧|0x1000000|100\n路透社|0x0020|783\n路无拾遗|0x1000000|100\n路线斗争|0x0008|0\n路线图|0x100000|777\n路遥知马力|0x0008|948\n路易港|0x0040|1227\n路易士|0x0080|1099\n路易斯|0x0080|1291\n路易斯安那|0x0040|1552\n路易斯安那州|0x0040|1627\n路由器|0x100000|635\n路有冻死骨|0x0008|1029\n路远迢迢|0x1000000|100\n戮力齐心|0x0000|100\n戮力同心|0x1000000|1150\n戮力一心|0x1400000|0\n戮力壹心|0x1000000|100\n潞城市|0x0040|1654\n潞西市|0x0040|1054\n鹭朋鸥侣|0x1000000|100\n鹭序鸳行|0x1000000|100\n鹭序鹓行|0x1000000|100\n鹭约鸥盟|0x1000000|100\n驴唇不对马嘴|0x1000|1039\n驴唇马觜|0x0000|100\n驴唇马嘴|0x800000|1310\n驴打滚|0x100000|49166\n驴肝肺|0x100000|49876\n驴鸣狗吠|0x1000000|1510\n驴鸣犬吠|0x1000000|100\n驴年马月|0x800000|1357\n驴皮影|0x100000|1343\n驴前马后|0x800000|100\n驴头不对马嘴|0x0008|100\n驴心狗肺|0x800000|100\n闾阎安堵|0x1000000|100\n闾阎扑地|0x1000000|100\n吕安题凤|0x1000000|100\n吕端大事不糊涂|0x0000|100\n吕梁山|0x0040|1103\n吕宋烟|0x100000|1495\n吕武操莽|0x1000000|100\n旅差费|0x100000|1226\n旅进旅退|0x1000000|0\n旅客列车|0x0008|502\n旅行包|0x100000|24708\n旅行车|0x0008|832\n旅行袋|0x100000|33413\n旅行社|0x100000|6254\n旅行团|0x100000|803\n旅行者|0x100000|1235\n旅游车|0x100000|36013\n旅游城市|0x0000|565\n旅游地|0x100000|910\n旅游点|0x100000|909\n旅游服务|0x0008|689\n旅游公司|0x100000|691\n旅游观光|0x100000|758\n旅游活动|0x100000|759\n旅游节|0x100000|587\n旅游景点|0x100000|595\n旅游局|0x100000|1040\n旅游区|0x100000|721\n旅游热线|0x100000|442\n旅游胜地|0x100000|759\n旅游团|0x100000|20017\n旅游鞋|0x100000|32018\n旅游心理学|0x0008|0\n旅游业|0x100000|4510\n旅游者|0x100000|749\n旅游资源|0x100000|728\n铝箔封口机|0x100000|448\n铝箔纸|0x100000|402\n铝电解电容器|0x100000|398\n铝矾土|0x100000|999\n铝合金|0x100000|21630\n铝合金门窗|0x100000|480\n铝土矿|0x100000|1009\n铝业有限公司|0x100000|476\n铝制品|0x100000|831\n屡败屡战|0x800000|856\n屡变星霜|0x0000|100\n屡次三番|0x1400000|54376\n屡见不鲜|0x1000000|15957\n屡教不改|0x1000000|34816\n屡禁不绝|0x800000|35538\n屡禁不止|0x800000|13138\n屡试不爽|0x1000000|46824\n屡试屡验|0x800000|100\n屡战屡败|0x800000|48416\n屡战屡胜|0x800000|49167\n履薄临深|0x1000000|100\n履穿踵决|0x1000000|1262\n履带式|0x20000000|941\n履机乘变|0x1000000|100\n履历表|0x100000|38718\n履仁蹈义|0x0000|100\n履霜坚冰|0x1000000|1294\n履霜之戒|0x1000000|100\n履霜知冰|0x1000000|100\n履丝曳缟|0x1000000|100\n履汤蹈火|0x1000000|100\n履舄交错|0x1000000|1349\n履险蹈危|0x1000000|100\n履险如夷|0x1000000|1214\n履险若夷|0x1000000|100\n履信思顺|0x1000000|100\n履行职责|0x0000|584\n履盈蹈满|0x1000000|100\n履足差肩|0x1000000|100\n律师法|0x100000|1019\n律师费|0x100000|912\n律师函|0x0000|445\n律师论坛|0x100000|385\n律师事务所|0x0008|708\n律师网|0x100000|520\n律师协会|0x100000|510\n律师资格|0x100000|484\n虑周藻密|0x0000|100\n率尔操觚|0x1000000|1385\n率尔成章|0x0000|100\n率马以骥|0x1000000|100\n率兽食人|0x1000000|1248\n率土归心|0x0000|100\n率土同庆|0x1000000|100\n率土宅心|0x1000000|100\n率先垂范|0x800000|957\n率以为常|0x1000000|100\n率由旧则|0x0000|100\n率由旧章|0x1000000|1301\n绿暗红稀|0x0000|100\n绿宝石|0x100000|37385\n绿鬓红颜|0x0000|100\n绿鬓朱颜|0x0000|100\n绿惨红愁|0x0000|100\n绿惨红销|0x0000|100\n绿草如茵|0x800000|881\n绿春县|0x0040|1170\n绿葱葱|0x0100|52344\n绿豆糕|0x100000|983\n绿豆汤|0x0008|1397\n绿豆稀饭|0x100000|994\n绿豆象|0x100000|1368\n绿豆芽|0x100000|925\n绿豆蝇|0x0000|54377\n绿豆粥|0x100000|1010\n绿肥红瘦|0x1000000|990\n绿肥作物|0x0008|1145\n绿化带|0x100000|18875\n绿酒红灯|0x0000|100\n绿林大盗|0x0000|100\n绿林豪杰|0x0000|100\n绿林豪客|0x0000|100\n绿林豪士|0x0000|100\n绿林好汉|0x100000|1047\n绿林起义|0x0008|1110\n绿林强盗|0x0000|100\n绿帽子|0x100000|47758\n绿脓杆菌|0x0008|0\n绿女红男|0x0000|100\n绿茸茸|0x0100|47759\n绿色奥运|0x100000|465\n绿色版|0x100000|611\n绿色建材|0x100000|462\n绿色蚂蚁|0x100000|376\n绿色软件|0x0000|617\n绿色生态|0x100000|475\n绿色食品|0x0008|18587\n绿色蔬菜|0x100000|476\n绿色通道|0x100000|9967\n绿色植物|0x800000|831\n绿生生|0x0100|1386\n绿水青山|0x800000|981\n绿松石|0x0000|54378\n绿蓑青笠|0x0000|100\n绿头巾|0x100000|0\n绿头鸭|0x100000|1\n绿野仙踪|0x0008|1342\n绿叶成阴|0x800000|1301\n绿叶成荫|0x0000|100\n绿衣黄里|0x1000000|100\n绿衣使者|0x100000|1298\n绿茵场|0x100000|31308\n绿茵茵|0x0100|34663\n绿荫蔽日|0x800000|1197\n绿莹莹|0x0100|41507\n绿幽灵|0x100000|470\n绿油油|0x0100|20659\n氯胺酮|0x100000|1095\n氯丁二烯|0x500000|0\n氯丁橡胶|0x100000|986\n氯化氨|0x100000|1266\n氯化铵|0x100000|951\n氯化钡|0x0008|1093\n氯化碘|0x0008|0\n氯化钙|0x100000|956\n氯化汞|0x0008|1252\n氯化钾|0x100000|940\n氯化苦|0x0008|1357\n氯化锂|0x0008|0\n氯化铝|0x0008|1408\n氯化镁|0x100000|962\n氯化钠|0x100000|926\n氯化氢|0x0008|1074\n氯化氰|0x0008|0\n氯化铯|0x0008|0\n氯化石蜡|0x0008|1688\n氯化铁|0x0008|400\n氯化铜|0x0008|1165\n氯化物|0x100000|960\n氯化锌|0x100000|1014\n氯化亚锡|0x0008|1202\n氯化银|0x0008|1231\n氯甲基化|0x100000|0\n氯离子|0x0008|414\n氯霉素|0x100000|37931\n氯四环素|0x400008|0\n氯酸钾|0x0008|1091\n氯酸盐|0x0008|1178\n氯乙烯|0x0008|1512\n孪生子|0x100000|49525\n栾城县|0x0040|1648\n栾川县|0x0040|1595\n鸾翱凤翥|0x1000000|100\n鸾俦凤侣|0x1000000|100\n鸾颠凤倒|0x0000|100\n鸾飞凤舞|0x1000000|1297\n鸾飞凤翥|0x1000000|100\n鸾分凤离|0x1000000|100\n鸾凤分飞|0x1000000|100\n鸾凤和鸣|0x1000000|1080\n鸾歌凤吹|0x1000000|100\n鸾歌凤舞|0x1000000|100\n鸾孤凤寡|0x1000000|100\n鸾孤凤只|0x1000000|100\n鸾鹄停峙|0x1000000|100\n鸾鹄在庭|0x1000000|100\n鸾回凤翥|0x1000000|100\n鸾交凤俦|0x1000000|100\n鸾交凤友|0x1000000|100\n鸾胶凤丝|0x1000000|100\n鸾鸣凤奏|0x1000000|100\n鸾漂凤泊|0x0000|100\n鸾飘凤泊|0x1000000|1341\n鸾跂鸿惊|0x1000000|100\n鸾停鹄峙|0x1000000|100\n鸾翔凤集|0x1000000|1305\n鸾翔凤翥|0x1000000|100\n鸾音鹤信|0x1000000|100\n鸾吟凤唱|0x1000000|100\n鸾舆凤驾|0x1000000|100\n鸾只凤单|0x1000000|100\n鸾姿凤态|0x0000|100\n滦南县|0x0040|1626\n滦平县|0x0040|1045\n卵孢子|0x0008|0\n卵巢癌|0x100000|481\n卵巢功能|0x100000|456\n卵巢囊肿|0x100000|448\n卵覆鸟飞|0x0000|100\n卵黄蛋白|0x0008|0\n卵黄高磷蛋白|0x0008|0\n卵黄生成素|0x0008|0\n卵磷脂|0x0008|49169\n卵石不敌|0x1000000|100\n卵胎生|0x0008|0\n卵细胞|0x100000|23436\n卵与石斗|0x1000000|100\n卵粘蛋白|0x0008|0\n乱臣贼子|0x1000000|55762\n乱成一团|0xc00000|2\n乱弹琴|0x1000000|41284\n乱倒垃圾|0x0000|389\n乱点鸳鸯|0x1000|990\n乱点鸳鸯谱|0x0008|1026\n乱罚款|0x0008|513\n乱纷纷|0x0100|34664\n乱坟岗|0x100000|1102\n乱哄哄|0x0100|22415\n乱花钱|0x0000|484\n乱箭攒心|0x0000|100\n乱砍滥伐|0x800000|24333\n乱麻麻|0x0100|0\n乱蓬蓬|0x0100|30190\n乱七八遭|0x1400000|0\n乱七八糟|0x1400000|13320\n乱琼碎玉|0x1000000|100\n乱世佳人|0x100000|809\n乱世凶年|0x0000|100\n乱世英雄|0x1000000|988\n乱收费|0x1000|730\n乱首垢面|0x1000000|100\n乱说一通|0x400000|0\n乱摊派|0x0008|440\n乱摊子|0x0000|53849\n乱腾腾|0x0100|1341\n乱头粗服|0x1000000|1326\n乱语胡言|0x1000000|100\n乱葬岗|0x0040|1043\n乱葬岗子|0x100000|1357\n乱糟糟|0x0100|21071\n乱坠天花|0x1000000|100\n乱作胡为|0x1000000|100\n乱作一团|0x1400000|50647\n掠地攻城|0x0000|100\n掠夺性|0x100000|1002\n掠夺者|0x0000|469\n掠美市恩|0x0000|100\n掠人之美|0x1000000|1236\n掠影浮光|0x1000000|100\n略表寸心|0x800000|1280\n略大于|0x100000|423\n略高一筹|0x400000|100\n略迹论心|0x0000|100\n略迹原情|0x1000000|1426\n略迹原心|0x0000|100\n略见一斑|0x1400000|47760\n略窥一斑|0x400000|100\n略胜一筹|0x1400000|46825\n略识之无|0x1000000|1429\n略无忌惮|0x0000|100\n略逊一筹|0xc00000|51479\n略阳县|0x0040|1054\n略有出入|0x800000|914\n略有所闻|0x800000|1116\n略知皮毛|0x800000|1182\n略知一二|0xc00000|40835\n伦敦大学|0x100000|464\n伦理道德|0x100000|704\n伦理片|0x0008|834\n伦理学|0x100000|810\n伦琴射线|0x800000|1155\n沦肌浃髓|0x1000000|1328\n沦浃肌髓|0x1000000|100\n沦落风尘|0x800000|1061\n沦落街头|0x800000|858\n沦陷区|0x100000|1053\n纶巾羽扇|0x1000000|1291\n纶音佛语|0x1000000|100\n轮扁斫轮|0x1000000|100\n轮机长|0x100000|1148\n轮机室|0x100000|0\n轮机手|0x100000|1429\n轮机员|0x100000|1279\n轮廓仪|0x100000|406\n轮式拖拉机|0x100000|1196\n轮胎厂|0x100000|1016\n轮台县|0x0040|1083\n轮焉奂焉|0x1000000|100\n轮椅车|0x100000|513\n轮转机|0x100000|1113\n轮状病毒|0x0008|0\n论辩风生|0x1000000|100\n论长道短|0x1000000|100\n论长说短|0x1000000|100\n论道经邦|0x1000000|100\n论德使能|0x1000000|100\n论短道长|0x1000000|100\n论甘忌辛|0x1000000|100\n论高寡合|0x1000000|100\n论功封赏|0x0000|100\n论功受赏|0x1000000|100\n论功行封|0x1000000|100\n论功行赏|0x1000000|37739\n论黄数白|0x1000000|100\n论黄数黑|0x1000000|1327\n论今说古|0x800000|100\n论理学|0x100000|1135\n论列是非|0x0000|100\n论千论万|0x1000000|100\n论世知人|0x1000000|100\n论述题|0x100000|506\n论说文|0x100000|1110\n论坛公告|0x100000|617\n论坛会员|0x100000|651\n论坛激情|0x100000|397\n论坛经典|0x100000|490\n论坛精华|0x100000|524\n论坛排行|0x100000|443\n论坛状态|0x100000|744\n论文答辩|0x0008|516\n论文范文|0x100000|429\n论文格式|0x100000|427\n论文集|0x100000|764\n论文库|0x100000|459\n论文网|0x100000|537\n论心定罪|0x1000000|100\n论议风生|0x1000000|100\n论证会|0x100000|22544\n论资排辈|0x800000|25204\n捋虎须|0x1000|1170\n捋袖揎拳|0x0000|100\n罗安达|0x0040|1155\n罗比基恩|0x0080|0\n罗宾汉|0x100000|892\n罗伯蒂尼罗莱蒂|0x0080|0\n罗伯特|0x0040|1122\n罗布泊|0x0040|1424\n罗布林卡|0x0040|1638\n罗布麻|0x100000|955\n罗城仫佬族自治县|0x0040|1654\n罗得岛|0x0040|1070\n罗得西亚|0x0080|1196\n罗德岛|0x0040|1552\n罗德西亚|0x0080|1140\n罗甸县|0x0040|1117\n罗定市|0x0040|1629\n罗尔斯罗伊斯|0x0080|0\n罗非鱼|0x100000|38512\n罗敷有夫|0x1000000|1168\n罗浮宫|0x0040|1550\n罗浮山|0x0040|1552\n罗锅儿|0x100000|23759\n罗汉豆|0x100000|54871\n罗汉果|0x100000|54380\n罗汉拳|0x100000|407\n罗汉松|0x100000|47761\n罗江县|0x0040|1090\n罗经仪|0x100000|0\n罗掘俱穷|0x0000|100\n罗掘一空|0x1400000|0\n罗罗嗦嗦|0x0100|944\n罗马不是一天造成|0x400000|0\n罗马帝国|0x0008|814\n罗马法|0x0000|461\n罗马尼亚|0x0040|1152\n罗马尼亚人|0x40000000|380\n罗马人|0x0000|502\n罗马式|0x100000|985\n罗马数字|0x100000|1001\n罗马字|0x100000|1052\n罗马字母|0x0008|1\n罗曼蒂克|0x40000000|40408\n罗曼兰科|0x0080|0\n罗曼罗兰|0x0080|0\n罗曼史|0x100000|47420\n罗蒙诺索|0x0080|0\n罗蒙诺索夫|0x0080|16\n罗密欧|0x0080|1219\n罗纳尔迪尼奥|0x0080|10\n罗纳尔多|0x0080|1141\n罗盘仪|0x0008|1078\n罗平县|0x0040|1624\n罗钳吉网|0x0000|100\n罗圈儿腿|0x0000|55968\n罗圈儿揖|0x100000|100\n罗圈腿|0x100000|1038\n罗雀掘鼠|0x1000000|1330\n罗山县|0x0040|1076\n罗斯福|0x0040|1293\n罗斯托夫|0x0040|1107\n罗宋汤|0x0080|1594\n罗田县|0x0040|1584\n罗西莱曼尼|0x0080|0\n罗西尼|0x0008|1539\n罗霄山|0x0040|1352\n罗源县|0x0040|1616\n罗之一目|0x400000|100\n罗织构陷|0x0000|100\n罗织罪名|0x800000|1158\n萝北县|0x0040|1646\n萝卜白菜各有所爱|0x0008|1627\n萝卜花|0x100000|46826\n萝卜快了不洗泥|0x0008|1217\n萝卜丝|0x100000|436\n逻辑电路|0x0008|0\n逻辑设计|0x0008|988\n逻辑思维|0x800000|648\n逻辑推理|0x100000|849\n逻辑性|0x100000|32019\n逻辑学|0x100000|874\n逻辑运算|0x0008|0\n锣鼓喧天|0x1000000|25907\n螺绕环|0x0040|0\n螺丝刀|0x100000|41742\n螺丝钉|0x100000|26405\n螺丝帽|0x100000|51480\n螺丝母|0x100000|1376\n螺丝起子|0x4000000|1039\n螺纹钢|0x0008|47125\n螺线管|0x100000|1109\n螺旋板|0x100000|397\n螺旋弹簧|0x0008|0\n螺旋钢管|0x100000|421\n螺旋管|0x100000|420\n螺旋桨|0x100000|27390\n螺旋菌|0x0008|0\n螺旋式|0x20000000|47126\n螺旋体|0x100000|39746\n螺旋线|0x0008|1063\n螺旋形|0x0000|446\n螺旋性|0x100000|0\n螺旋藻|0x100000|35244\n螺旋状|0x40000000|465\n螺增环|0x0040|0\n裸裎袒裼|0x1000000|100\n裸体画|0x0000|391\n裸体美|0x100000|393\n裸体美女|0x100000|490\n裸体女|0x100000|467\n裸体图|0x100000|444\n裸体艺术|0x100000|412\n裸体照|0x100000|424\n裸体照片|0x100000|434\n裸袖揎拳|0x0000|100\n裸袖揎衣|0x1000000|0\n裸眼封隔器|0x0008|0\n裸子植物|0x800000|1105\n攞袖揎拳|0x1000000|100\n洛川县|0x0040|1076\n洛伐他汀|0x0008|1198\n洛可可|0x100000|478\n洛克菲勒|0x0040|1424\n洛隆县|0x0040|1203\n洛伦兹不变性|0x0008|0\n洛南县|0x0040|1611\n洛宁县|0x0040|1619\n洛浦县|0x0040|1099\n洛杉机|0x100000|1603\n洛杉矶|0x0040|1035\n洛神赋|0x0008|1496\n洛阳才子|0x1000000|1240\n洛阳宫|0x0040|0\n洛阳市|0x0040|1122\n洛阳纸贵|0x1000000|48418\n洛扎县|0x0040|1209\n洛钟东应|0x1000000|1535\n络合物|0x100000|1075\n络腮胡|0x100000|54381\n络腮胡子|0x800000|25489\n络石藤|0x0008|0\n络绎不绝|0x1000000|11391\n荦荦大端|0x1000000|100\n荦荦确确|0x1000000|100\n骆马湖|0x0040|1131\n骆驼草|0x0000|52840\n骆驼刺|0x100000|50266\n骆驼队|0x100000|379\n骆驼毛|0x0008|0\n骆驼绒|0x100000|1332\n骆驿不绝|0x1000000|100\n珞巴族|0x0008|38719\n落榜生|0x100000|448\n落不是|0x1000|0\n落草为寇|0x0000|389\n落尘量|0x100000|0\n落翅仔|0x0008|0\n落到实处|0x800000|778\n落得一场空|0x400000|0\n落地窗|0x100000|41743\n落地灯|0x100000|46827\n落地扇|0x0008|55933\n落地生根|0x0008|39329\n落地式|0x20000000|52842\n落花流水|0x1000000|31063\n落花生|0x100000|41053\n落花无言|0x0000|100\n落花有意|0x1000000|869\n落荒而逃|0x1000000|34348\n落荒而走|0x0000|100\n落矶山|0x0040|1288\n落脚点|0x100000|8723\n落井投石|0x1000000|1515\n落井下石|0x1000000|37200\n落阱下石|0x0000|100\n落落大方|0x0100|30298\n落落寡合|0x1000000|51906\n落落穆穆|0x0100|100\n落落难合|0x1000|100\n落魄不羁|0x1000000|100\n落魄不偶|0x0000|100\n落魄江湖|0x0000|100\n落三落四|0x400000|0\n落实到人|0x0000|453\n落水狗|0x100000|45938\n落水管|0x100000|1139\n落俗套|0x0000|49526\n落汤鸡|0x100000|39549\n落汤螃蟹|0x100000|100\n落拓不羁|0x1000000|1142\n落伍者|0x100000|763\n落下灰|0x0008|0\n落雁沉鱼|0x0000|100\n落叶归根|0x1000000|44750\n落叶果树|0x0008|0\n落叶树|0x100000|1152\n落叶松|0x100000|26979\n落叶知秋|0x0000|100\n落英缤纷|0x1000000|868\n落羽杉|0x0008|0\n落月屋梁|0x1000000|100\n落纸云烟|0x0000|100\n漯河市|0x0040|1288\n麻痹不仁|0x0000|100\n麻痹大意|0x1000000|973\n麻痺不仁|0x1000000|100\n麻布袋|0x100000|1055\n麻城市|0x0040|1398\n麻袋片儿|0x0000|53852\n麻豆腐|0x100000|45636\n麻烦事|0x100000|795\n麻风病|0x0008|963\n麻风病人|0x100000|1091\n麻秆儿|0x0000|44751\n麻姑献寿|0x0000|100\n麻黄根|0x0008|0\n麻黄碱|0x100000|1083\n麻黄素|0x0008|1056\n麻黄汤|0x0008|0\n麻江县|0x0040|1076\n麻将机|0x100000|555\n麻将牌|0x100000|967\n麻将桌|0x100000|518\n麻经儿|0x100000|0\n麻辣火锅|0x100000|435\n麻辣烫|0x100000|735\n麻类作物|0x0008|0\n麻栗坡|0x0040|1562\n麻栗坡县|0x0040|1075\n麻六甲海|0x400000|0\n麻六甲海峡|0x400000|0\n麻麻黑|0x1000|0\n麻麻亮|0x1000|40837\n麻木不仁|0x1000000|24451\n麻婆豆腐|0x0008|4\n麻雀虽小|0x800000|916\n麻萨诸塞|0x0040|1109\n麻萨诸塞州|0x0040|1133\n麻省理工|0x0020|1266\n麻省理工学院|0x0020|1310\n麻酥酥|0x0100|45939\n麻纤维|0x0008|0\n麻阳苗族自治县|0x0040|1666\n麻疹病毒|0x0008|0\n麻织品|0x100000|55766\n麻醉弹|0x0008|0\n麻醉剂|0x100000|32781\n麻醉科|0x100000|1539\n麻醉品|0x100000|41287\n麻醉枪|0x100000|1073\n麻醉师|0x100000|48061\n麻醉性|0x100000|1126\n麻醉药|0x100000|901\n麻醉药品|0x0000|541\n麻醉针|0x100000|1065\n马鞍山|0x0040|1086\n马鞍山市|0x0040|1182\n马鞍形|0x100000|1190\n马鞍子|0x100000|1254\n马边彝族自治县|0x0040|1211\n马鞭草|0x100000|1040\n马鞭子|0x0000|53854\n马勃牛溲|0x1000000|100\n马浡牛溲|0x1000000|100\n马不解鞍|0x1000000|100\n马不停蹄|0x1000000|19489\n马车夫|0x100000|38121\n马车赛|0x100000|0\n马尘不及|0x1000000|100\n马迟枚疾|0x1000000|100\n马齿徒长|0x1000000|100\n马齿徒增|0x1000000|100\n马齿苋|0x100000|45940\n马褡子|0x100000|1540\n马达法辛烷值|0x0008|0\n马达加斯|0x0080|0\n马达加斯加|0x0040|1320\n马大哈|0x100000|48419\n马到成功|0x1000000|30948\n马到功成|0x1000000|1065\n马德里|0x0040|1128\n马德望|0x0080|1267\n马蒂厄群|0x100000|0\n马丁路德|0x0080|0\n马兜铃|0x100000|1113\n马恩列斯|0x0080|0\n马尔代夫|0x0040|1229\n马尔蒂尼|0x0080|1325\n马尔康|0x0040|1581\n马尔康县|0x0040|1125\n马尔克斯|0x0080|1533\n马尔库塞|0x0080|0\n马尔萨斯|0x0080|1696\n马尔萨斯主义|0x100000|0\n马尔他|0x0040|1073\n马耳春风|0x1000000|100\n马耳东风|0x1000000|1287\n马耳他|0x0040|1400\n马翻人仰|0x1000000|100\n马放南山|0x1000000|1108\n马粪纸|0x100000|50267\n马蜂窝|0x100000|38513\n马弗炉|0x100000|1102\n马腹逃鞭|0x1000000|100\n马革裹尸|0x1000000|1007\n马革盛尸|0x1000000|100\n马工枚速|0x1000000|100\n马公市|0x0040|1121\n马关条约|0x0008|971\n马关县|0x0040|1052\n马海毛|0x100000|55767\n马赫带|0x0008|0\n马赫数|0x100000|1203\n马赫主义|0x100000|1343\n马后炮|0x1000000|49878\n马迹蛛丝|0x1000000|100\n马基维利|0x0080|1273\n马家军|0x0008|1598\n马贾利|0x0080|0\n马角乌白|0x0000|100\n马角乌头|0x1000000|100\n马可波罗|0x0080|1392\n马克笔|0x100000|384\n马克思|0x0080|1000\n马克思列宁主义|0x100000|893\n马克思主义|0x100000|1535\n马克思主义理论|0x100000|495\n马克思主义哲学|0x100000|531\n马克思主义者|0x100000|455\n马克思主义政治经济学|0x100000|460\n马克吐温|0x0080|1418\n马克西马|0x0080|0\n马空冀北|0x1000000|100\n马口铁|0x100000|46241\n马拉博|0x0040|1285\n马拉多纳|0x0080|1150\n马拉加|0x0080|1562\n马拉加西|0x0080|0\n马拉开波|0x0040|1241\n马拉开波湖|0x0040|1389\n马拉硫磷|0x0008|1241\n马拉松|0x100000|14162\n马拉松赛|0x100000|481\n马拉松赛跑|0x100000|1136\n马拉威|0x0008|1196\n马拉维|0x0040|1630\n马来半岛|0x0040|1701\n马来人|0x0000|425\n马来西亚|0x0040|5919\n马来亚|0x0040|1642\n马来语|0x0008|1446\n马兰草|0x100000|1318\n马勒伯朗士|0x0080|0\n马里奥|0x0080|1342\n马里拉|0x100000|1371\n马里兰|0x0040|1550\n马里兰州|0x0040|1563\n马里亚纳|0x100000|1027\n马里亚纳群岛|0x0040|1159\n马列主义|0x100000|7037\n马铃薯|0x100000|13825\n马铃薯块茎蛾|0x0008|0\n马铃薯挖掘机|0x0008|0\n马六甲|0x400040|113\n马龙车水|0x1000000|100\n马龙县|0x0040|1130\n马鹿异形|0x1000000|100\n马鹿易形|0x1000000|100\n马路边|0x100000|528\n马路新闻|0x100000|54873\n马路牙子|0x0000|49170\n马洛卡|0x0008|1483\n马马虎虎|0x0100|19632\n马毛猬磔|0x0000|100\n马毛蝟磔|0x1000000|100\n马面牛头|0x1000000|100\n马那瓜|0x0040|1253\n马尼拉|0x0040|13262\n马尼拉麻|0x0008|1334\n马牛襟裾|0x1000000|100\n马牛其风|0x1000000|100\n马屁精|0x100000|55934\n马普托|0x0040|1189\n马其顿|0x0040|1336\n马前泼水|0x1000000|1261\n马前卒|0x100000|45040\n马钱子|0x100000|1115\n马去马归|0x1000000|100\n马如流水|0x1000000|100\n马如游龙|0x1000000|100\n马如游鱼|0x1000000|100\n马入华山|0x1000000|100\n马塞卢|0x0040|1307\n马赛克|0x100000|40410\n马赛曲|0x100000|1064\n马山县|0x0040|1584\n马上得天下|0x0008|1138\n马上房子|0x1000000|100\n马上功成|0x1000000|100\n马上看花|0x1000000|100\n马上墙头|0x1000000|100\n马绍尔群岛|0x0040|1717\n马失前蹄|0x800000|43932\n马氏体|0x0008|416\n马首是瞻|0x1000000|44464\n马首欲东|0x1000000|0\n马瘦毛长|0x1000000|1046\n马水车龙|0x1000000|100\n马斯哈多夫|0x0080|1238\n马斯喀特|0x0040|1195\n马斯卡尼|0x0080|0\n马太效应|0x0008|2\n马提尼克|0x0040|1103\n马蹄表|0x0000|55768\n马蹄莲|0x100000|43710\n马蹄声|0x100000|815\n马蹄铁|0x100000|51482\n马蹄形|0x100000|1046\n马蹄袖|0x0000|55383\n马桶盖|0x100000|895\n马头琴|0x100000|41509\n马王堆|0x100000|923\n马尾辫|0x0000|55935\n马尾松|0x100000|28740\n马尾藻|0x100000|1211\n马戏团|0x100000|785\n马歇尔|0x0080|879\n马歇尔计划|0x0008|8\n马咽车阗|0x1000000|100\n马仰人翻|0x1000000|1332\n马缨花|0x100000|1251\n马约特岛|0x0040|1298\n马中关五|0x1400000|0\n马壮人强|0x1000000|100\n马捉老鼠|0x1000000|100\n马自达|0x100000|1122\n马足车尘|0x1000000|100\n马足龙沙|0x1000000|100\n马祖地区|0x0040|1598\n玛多县|0x0040|1110\n玛丽莲梦露|0x0080|1\n玛丽亚|0x0040|1291\n玛利亚|0x0080|1246\n玛纳斯|0x0040|1506\n玛纳斯县|0x0040|1614\n玛沁县|0x0040|1135\n玛曲县|0x0040|1120\n玛雅人|0x100000|455\n码分多址|0x20000000|1073\n码头费|0x100000|0\n码头工人|0x0008|1\n码头区|0x100000|1182\n蚂蟥钉|0x100000|1301\n蚂蚁搬泰山|0x0008|1542\n蚂蚁啃骨头|0x0008|1081\n蚂蚁缘槐|0x0000|100\n骂不还口|0x800000|987\n骂不绝口|0x800000|1162\n骂大街|0x0000|55769\n骂骂咧咧|0x0100|30416\n骂山门|0x1000|0\n骂天扯地|0x1000000|100\n骂天咒地|0x1000000|100\n埋轮破柱|0x1000000|100\n埋三怨四|0x1400000|0\n埋声晦迹|0x1000000|100\n埋天怨地|0x1000000|1421\n埋头顾影|0x1000000|100\n埋头苦干|0x800000|800\n买不起|0x1000|845\n买菜求益|0x1000000|100\n买臣覆水|0x0000|100\n买得起|0x1000|743\n买东买西|0x1000000|100\n买东西|0x0000|634\n买椟还珠|0x1000000|53855\n买犊卖刀|0x1000000|100\n买方市场|0x100000|26907\n买关节|0x1000|0\n买官鬻爵|0x1000000|0\n买贱卖贵|0x1000000|100\n买静求安|0x1000000|100\n买爵贩官|0x1000000|100\n买空卖空|0x1000000|47128\n买犁卖剑|0x1000000|100\n买路钱|0x800000|47764\n买马招兵|0x1000000|100\n买马招军|0x1000000|100\n买卖合同|0x100000|581\n买卖婚姻|0x0008|0\n买卖人|0x100000|36676\n买卖双方|0x0000|587\n买面子|0x1000|0\n买牛卖剑|0x1000000|100\n买牛息戈|0x1000000|100\n买入价|0x100000|981\n买上告下|0x1000000|100\n买上嘱下|0x1000000|100\n买受人|0x0008|971\n买田阳羡|0x1000000|100\n买铁思金|0x1000000|100\n买王得羊|0x1000000|100\n买笑寻欢|0x1000000|100\n买笑迎欢|0x1000000|100\n买笑追欢|0x1000000|100\n买一送一|0x400008|2\n迈阿密|0x0040|1189\n迈方步|0x1000|0\n迈古超今|0x1000000|100\n麦茬儿|0x0000|47422\n麦当劳|0x0008|14759\n麦当娜|0x0080|746\n麦迪霉素|0x100000|1208\n麦二叉蚜|0x400008|0\n麦饭豆羹|0x0000|100\n麦饭石|0x100000|53856\n麦盖提|0x0040|1078\n麦盖提县|0x0040|1102\n麦秆儿|0x0000|45042\n麦秆蝇|0x0008|0\n麦黄吸浆虫|0x0008|0\n麦角固醇|0x0008|1292\n麦克阿瑟|0x0080|1470\n麦克风|0x100000|23811\n麦克斯韦|0x0080|418\n麦克斯韦方程组|0x0008|0\n麦粒肿|0x100000|1064\n麦门冬|0x0008|1150\n麦纳麦|0x0040|1134\n麦片粥|0x0000|403\n麦丘之祝|0x1000000|100\n麦乳精|0x100000|44753\n麦穗两岐|0x1000000|100\n麦穗两歧|0x1000000|100\n麦秀两岐|0x1000000|100\n麦秀两歧|0x1000000|1495\n麦秀黍离|0x0000|100\n麦芽糖|0x100000|45637\n麦芽糖酶|0x100000|1379\n麦蚜虫|0x100000|1275\n麦哲伦|0x0040|1517\n卖不掉|0x40000000|451\n卖出价|0x100000|1025\n卖大号|0x1000|0\n卖刀买犊|0x1000000|100\n卖犊买刀|0x1000000|0\n卖儿贴妇|0x0000|100\n卖儿鬻女|0x800000|100\n卖法市恩|0x0000|100\n卖方市场|0x100000|36173\n卖富差贫|0x1000000|100\n卖公营私|0x0000|100\n卖狗皮膏药|0x0008|1172\n卖狗肉|0x0000|100\n卖狗悬羊|0x1000000|100\n卖乖弄俏|0x1000000|100\n卖关节|0x1000|0\n卖关子|0x1000|39967\n卖官贩爵|0x1000000|100\n卖官卖爵|0x1000000|100\n卖官鬻爵|0x1000000|51908\n卖官鬻狱|0x1000000|100\n卖国求利|0x1000000|100\n卖国求荣|0x1000000|43933\n卖国贼|0x100000|25710\n卖剑买犊|0x1000000|100\n卖剑买牛|0x1000000|100\n卖剑买琴|0x1000000|100\n卖爵鬻官|0x0000|100\n卖空买空|0x1000000|0\n卖苦力|0x0000|49171\n卖李钻核|0x1000000|100\n卖力气|0x1000|26625\n卖履分香|0x1000000|100\n卖男鬻女|0x1000000|100\n卖弄聪明|0x800000|841\n卖妻鬻子|0x1000000|100\n卖俏行奸|0x1000000|100\n卖俏迎奸|0x1000000|100\n卖人情|0x1000|0\n卖身契|0x100000|48795\n卖身投靠|0x1000000|50268\n卖头卖脚|0x1000000|100\n卖文为生|0x0000|100\n卖笑追欢|0x1000000|0\n卖淫嫖娼|0x0008|917\n卖友求荣|0x1000000|51483\n卖主求荣|0x1000000|1197\n脉搏计|0x0008|1541\n脉冲调制|0x0008|0\n脉冲发射机|0x0008|0\n脉冲阀|0x100000|368\n脉冲放大器|0x0008|0\n脉冲幅度|0x0008|0\n脉冲宽度|0x0008|0\n脉冲雷达|0x0008|0\n脉冲响应|0x0008|0\n脉动电流|0x800000|1094\n脉幅调制|0x0008|0\n脉管炎|0x100000|52347\n脉宽调制|0x0008|0\n脉码调制|0x0008|0\n脉脉传情|0x800000|1182\n脉脉含情|0x1000000|960\n脉脉相通|0x1000000|100\n脉位调制|0x0008|0\n蛮不讲理|0x800000|843\n蛮触相争|0x1000000|100\n蛮横无理|0x40000000|996\n蛮来生作|0x800000|100\n蛮烟瘴雾|0x0000|100\n蛮烟瘴雨|0x800000|1328\n瞒不过|0x1000|522\n瞒上不瞒下|0x100000|1343\n瞒上欺下|0x1000000|1249\n瞒神弄鬼|0x0000|100\n瞒天大谎|0x100000|100\n瞒天过海|0x1000000|34819\n瞒天瞒地|0x0000|100\n瞒天昧地|0x0000|100\n瞒天讨价|0x0000|100\n瞒天要价|0x0000|100\n瞒心昧己|0x800000|1381\n满不在乎|0x1000000|17335\n满不在意|0x1000000|100\n满城风雨|0x1000000|35850\n满城县|0x0040|1563\n满打满算|0x1000|41510\n满当当|0x0000|52348\n满登登|0x0100|1215\n满而不溢|0x1000000|1278\n满负荷|0x20000000|29440\n满腹狐疑|0x1000000|1010\n满腹经纶|0x1000000|39968\n满腹牢骚|0x800000|954\n满腹文章|0x0000|100\n满腹疑团|0x800000|1225\n满腹珠玑|0x1000000|1537\n满谷满坑|0x800000|100\n满汉全席|0x800000|862\n满怀深情|0x800000|782\n满怀信心|0x800000|825\n满江红|0x0008|1342\n满坑满谷|0x1000000|1039\n满口胡说八道|0x400000|0\n满脸春风|0x1000000|1151\n满脸春色|0x1000000|100\n满满当当|0x0100|30620\n满满登登|0x0100|0\n满面春风|0x1000000|26825\n满面红光|0x800000|979\n满面笑容|0x800000|912\n满目苍凉|0x800000|956\n满目疮痍|0x1000000|30299\n满目荆榛|0x1000000|1302\n满目凄凉|0x1000000|1141\n满盘皆输|0x800000|943\n满腔热忱|0x800000|1044\n满腔热情|0x800000|882\n满腔热枕|0x0000|100\n满清十大酷刑|0x400000|0\n满山遍野|0x800000|31420\n满山红|0x100000|1106\n满舌生花|0x0000|100\n满世界|0x8000000|8\n满堂彩|0x800000|43232\n满堂灌|0x100000|412\n满堂红|0x100000|42741\n满天飞|0x1000|23494\n满天星|0x100000|783\n满天星斗|0x0000|100\n满头大汗|0x800000|752\n满袖春风|0x0000|100\n满园春色|0x800000|940\n满载而归|0x1000000|32541\n满招损|0x800000|1065\n满纸空言|0x800000|100\n满州国|0x0008|1237\n满洲国|0x0008|957\n满洲里|0x0040|1386\n满洲里市|0x0040|1558\n满足感|0x100000|704\n满足于|0x0000|578\n满坐不乐|0x1000000|0\n满坐风生|0x1000000|100\n满座风生|0x1000000|100\n曼彻斯特|0x0008|1320\n曼德拉|0x0080|1541\n曼哈顿|0x0040|1216\n曼哈顿岛|0x0040|1688\n曼荼罗|0x100000|1077\n曼陀林|0x100000|369\n曼陀铃|0x100000|1044\n曼陀罗|0x100000|847\n曼衍鱼龙|0x0000|100\n谩不经意|0x1000000|100\n谩藏诲盗|0x1000000|100\n谩辞哗说|0x0000|100\n谩天谩地|0x1000000|100\n谩天昧地|0x1000000|100\n慢藏诲盗|0x1000000|1354\n慢车道|0x100000|45942\n慢动作|0x100000|871\n慢镜头|0x100000|42742\n慢慢来|0x800000|720\n慢慢腾腾|0x0100|46514\n慢慢吞吞|0x0100|1034\n慢慢悠悠|0x0100|931\n慢腾斯礼|0x1000000|100\n慢腾腾|0x0100|30837\n慢条丝礼|0x1000000|100\n慢条斯礼|0x1000000|100\n慢条斯理|0x1000000|22545\n慢条厮礼|0x1000000|100\n慢吞吞|0x0100|18210\n慢下来|0x0000|491\n慢性病|0x100000|22836\n慢性辐照|0x0008|0\n慢性结肠炎|0x100000|378\n慢性前列腺炎|0x100000|471\n慢性肾炎|0x100000|949\n慢性咽喉炎|0x100000|390\n慢性子|0x100000|53860\n慢易生忧|0x1000000|100\n慢悠悠|0x0100|26136\n漫不加意|0x1000000|100\n漫不经心|0x1000000|15860\n漫不经意|0x1000000|1104\n漫步者|0x100000|800\n漫藏诲盗|0x0000|100\n漫地漫天|0x0000|100\n漫反射|0x0008|1\n漫画吧|0x100000|438\n漫画版|0x100000|506\n漫画店|0x100000|377\n漫画馆|0x100000|370\n漫画家|0x100000|793\n漫画书|0x0008|1342\n漫画图|0x100000|391\n漫画图片|0x100000|448\n漫画展|0x100000|403\n漫画作品|0x100000|461\n漫山遍野|0x1000000|24962\n漫山塞野|0x1000000|100\n漫天蔽野|0x1000000|100\n漫天遍地|0x1000000|100\n漫天遍野|0x1000000|1123\n漫天大谎|0x1000000|1306\n漫天盖地|0x1000000|1196\n漫天过海|0x1000000|100\n漫天叫价|0x1000000|100\n漫天开价|0x1000000|1229\n漫天掩地|0x1000000|100\n漫天要价|0x1000000|904\n漫天匝地|0x1000000|100\n漫条斯理|0x1000000|100\n漫无边际|0x1000000|33542\n漫无止境|0x800000|1041\n漫游四方|0x400000|0\n漫游者|0x100000|425\n蔓草难除|0x1000000|100\n蔓荆子|0x100000|1171\n蔓蔓日茂|0x1000000|100\n蔓生植物|0x100000|1119\n蔓引株求|0x1000000|100\n忙不迭|0x8000000|21964\n忙不择价|0x1000000|100\n忙成一团|0x400000|0\n忙得不可开交|0x0000|488\n忙而不乱|0x1000000|1084\n忙个不停|0x1000|451\n忙里忙外|0x800000|889\n忙里偷闲|0x1000000|34976\n忙忙碌碌|0x1000000|668\n忙忙乱乱|0x0008|1216\n忙什么呢|0x0000|444\n忙中有失|0x1000000|100\n芒刺在背|0x1000000|51068\n芒果树|0x100000|1031\n芒果汁|0x100000|1073\n芒寒色正|0x0000|100\n芒康县|0x0040|1177\n芒芒苦海|0x0000|100\n芒鞋竹笠|0x0000|100\n尨眉皓发|0x1000000|100\n盲肠炎|0x100000|45638\n盲动主义|0x0008|0\n盲风暴雨|0x1000000|100\n盲风妒雨|0x1000000|100\n盲风怪雨|0x1000000|100\n盲风怪云|0x1000000|100\n盲风晦雨|0x1000000|100\n盲风涩雨|0x1000000|100\n盲聋哑|0x100000|1136\n盲目投资|0x0000|471\n盲目性|0x100000|882\n盲人把烛|0x0000|100\n盲人扪烛|0x1000000|100\n盲人摸象|0x1000000|50651\n盲人骑瞎马|0x0008|0\n盲人说象|0x1000000|100\n盲人瞎马|0x1000000|1214\n盲翁扪钥|0x0000|100\n盲翁扪籥|0x1000000|100\n盲者得镜|0x1000000|100\n茫茫苦海|0x0000|100\n茫茫然|0x0100|849\n茫然不解|0x800000|1096\n茫然若失|0x1000|51069\n茫然自失|0x0000|100\n茫无边际|0x0000|100\n茫无端绪|0x0000|100\n茫无所知|0x0000|100\n茫无头绪|0x1000000|44466\n茫无涯际|0x0000|100\n茫崖行政委员会|0x0040|1223\n莽莽苍苍|0x0100|1076\n莽莽撞撞|0x0100|1055\n蟒袍玉带|0x0000|100\n猫儿眼|0x100000|53341\n猫耳洞|0x100000|52349\n猫和老鼠|0x100000|758\n猫叫声|0x0000|377\n猫哭耗子|0x800000|1121\n猫哭老鼠|0x800000|1229\n猫噬鹦鹉|0x1000000|100\n猫鼠同处|0x1000000|100\n猫鼠同眠|0x1000000|1374\n猫鼠同乳|0x1000000|100\n猫头鹰|0x100000|18437\n猫眼草|0x100000|1288\n猫眼石|0x100000|972\n猫爪草|0x100000|1249\n毛白杨|0x100000|35389\n毛背心|0x0000|45943\n毛笔字|0x100000|35688\n毛边纸|0x100000|48797\n毛玻璃|0x100000|47131\n毛地黄|0x100000|1205\n毛冬青|0x0080|1221\n毛发不爽|0x1000000|100\n毛发倒竖|0x0000|100\n毛发丝粟|0x1000000|100\n毛发悚然|0x1000000|1298\n毛发耸然|0x1000000|100\n毛发之功|0x1000000|100\n毛纺厂|0x100000|890\n毛纺织厂|0x100000|910\n毛茛科|0x100000|0\n毛骨悚然|0x1000000|20618\n毛骨耸然|0x1000000|1097\n毛骨竦然|0x1000000|100\n毛管水|0x100000|0\n毛孩子|0x100000|40610\n毛烘烘|0x0100|55771\n毛乎乎|0x0100|1213\n毛将焉附|0x800000|1015\n毛巾被|0x100000|36174\n毛巾布|0x100000|953\n毛巾厂|0x100000|399\n毛巾架|0x100000|412\n毛举缕析|0x0000|100\n毛举细故|0x1000000|1529\n毛举细务|0x1000000|100\n毛里求斯|0x0040|1462\n毛里塔尼亚|0x0040|1630\n毛利率|0x100000|833\n毛毛糙糙|0x0100|1168\n毛毛虫|0x100000|30949\n毛毛雨|0x100000|34203\n毛毛躁躁|0x0100|1082\n毛南族|0x0008|52350\n毛囊炎|0x100000|408\n毛绒玩具|0x100000|514\n毛茸茸|0x0100|22333\n毛瑟枪|0x100000|1163\n毛森骨立|0x0000|100\n毛收入|0x100000|1102\n毛手毛脚|0x1000000|45639\n毛遂堕井|0x1000000|100\n毛遂自荐|0x1000000|33543\n毛头毛脑|0x0100|0\n毛头小子|0x100000|0\n毛细管|0x100000|32272\n毛细管粘度计|0x0008|0\n毛细现象|0x100000|1233\n毛细血管|0x100000|27057\n毛线衣|0x0008|42257\n毛丫头|0x0000|40838\n毛羽零落|0x1000000|100\n毛羽未丰|0x1000000|100\n毛泽东|0x0080|904\n毛泽东思想|0x100000|3905\n毛泽东思想概论|0x100000|470\n毛泽东选集|0x100000|884\n毛泽东主席|0x100000|488\n毛织品|0x100000|45640\n毛织物|0x0008|409\n毛织业|0x100000|0\n毛主席|0x0000|662\n矛盾论|0x100000|1052\n矛盾性|0x100000|1012\n茅草屋|0x100000|901\n茅茨土阶|0x1000000|100\n茅庐三顾|0x400000|100\n茅塞顿开|0x1000000|35851\n茅室蓬户|0x0000|100\n茅台酒|0x100000|878\n茅屋采椽|0x0000|100\n锚喷支护|0x0008|0\n卯是卯|0x800000|775\n铆钉机|0x100000|427\n铆钉枪|0x0008|1233\n铆劲儿|0x1000|54875\n铆是铆|0x800000|100\n茂林修竹|0x0040|1672\n茂名市|0x0040|1333\n冒出来|0x0000|617\n冒大不韪|0x1000000|1262\n冒风险|0x1000|34070\n冒尖户|0x100000|1344\n冒冒失失|0x0100|948\n冒名顶替|0x1000000|36175\n冒名接脚|0x1000000|100\n冒牌货|0x100000|41990\n冒失鬼|0x100000|41055\n冒天下之大不韪|0x0008|953\n冒险家|0x100000|850\n冒险性|0x100000|1022\n冒险游戏|0x100000|518\n冒险主义|0x100000|1084\n贸促会|0x100000|833\n贸发局|0x100000|1038\n贸首之仇|0x800000|100\n贸首之雠|0x1000000|100\n贸易保护主义|0x0000|465\n贸易壁垒|0x0008|16907\n贸易部|0x100000|1147\n贸易差额|0x0008|12\n贸易大学|0x100000|524\n贸易额|0x100000|853\n贸易风|0x100000|1216\n贸易公司|0x100000|497\n贸易界|0x100000|0\n贸易量|0x100000|1004\n贸易逆差|0x0008|67\n贸易商|0x0008|784\n贸易商行|0x100000|466\n贸易顺差|0x0008|532\n贸易谈判|0x0008|490\n贸易委员会|0x100000|563\n贸易协定|0x0008|19\n贸易型|0x100000|649\n贸易有限公司|0x100000|729\n贸易战|0x100000|454\n贸易中心|0x0008|6\n贸易组织|0x100000|584\n耄耋之年|0x100000|1024\n帽盔儿|0x100000|0\n貌不惊人|0x800000|51486\n貌合情离|0x0000|100\n貌合神离|0x1000000|45333\n貌合心离|0x1000000|100\n貌合行离|0x1000000|100\n貌合形离|0x0000|100\n貌离神合|0x1000000|1281\n貌是情非|0x1000000|100\n貌是心非|0x1000000|100\n貌似强大|0x800000|1033\n没边儿|0x1000|43712\n没查没利|0x1000000|100\n没齿不忘|0x1000000|55397\n没齿难忘|0x1000000|1043\n没齿无怨|0x800000|100\n没出息|0x40000000|693\n没词儿|0x1000|44178\n没大没小|0x800000|44179\n没道理|0x0000|547\n没得说|0x800000|825\n没的说|0x0000|50270\n没颠没倒|0x1000000|100\n没多少|0x1000|4\n没而不朽|0x0000|100\n没法儿|0x800000|11614\n没法没天|0x0000|100\n没法奈何|0x1000000|100\n没法子|0x1000|821\n没骨气|0x0000|437\n没关系|0x800000|9082\n没好气|0x0000|39126\n没话找话|0x0000|35246\n没计奈何|0x1000000|1538\n没家没业|0x0000|55772\n没金铩羽|0x1000000|100\n没金饮羽|0x1000000|100\n没精打采|0x1000000|28032\n没精打彩|0x1000000|1117\n没精没彩|0x1000000|100\n没精塌彩|0x1000000|100\n没可奈何|0x1000000|100\n没来由|0x1000|768\n没里没外|0x1000000|100\n没毛大虫|0x0000|100\n没没无闻|0x1000000|1116\n没眉没眼|0x1000000|100\n没门儿|0x1000|30192\n没奈何|0x10000000|13835\n没皮没脸|0x40000000|49880\n没谱儿|0x1000|47132\n没轻没重|0x1000000|51487\n没日没夜|0x1000000|35391\n没商量|0x1000|36015\n没上没下|0x40000000|1173\n没深没浅|0x40000000|1290\n没什么|0x800000|4418\n没石饮羽|0x1000000|100\n没世不忘|0x1000000|100\n没世不渝|0x1000000|100\n没世难忘|0x0000|100\n没世穷年|0x1000000|100\n没世无称|0x0000|100\n没世无闻|0x1000000|100\n没事儿|0x1000|757\n没事人|0x100000|36176\n没事找事|0x800000|813\n没说的|0x40000000|33544\n没挑儿|0x0000|47768\n没头苍蝇|0x1000000|47424\n没头没脸|0x1000000|1172\n没头没脑|0x1000000|24178\n没头没尾|0x800000|964\n没头脑|0x800000|908\n没完没了|0x800000|14222\n没卫饮羽|0x1000000|100\n没问题|0x0000|21531\n没屋架梁|0x1000000|100\n没想到|0x800000|497\n没心没肺|0x40000000|42744\n没羞没臊|0x40000000|1293\n没样儿|0x0000|54876\n没意思|0x40000000|16676\n没影儿|0x1000|30950\n没有办法|0x0000|729\n没有必要|0x0000|431\n没有第二句话|0x400000|0\n没有想到|0x0000|720\n没有用|0x1000|700\n没衷一是|0x1400000|0\n没准儿|0x1000|15999\n没着落|0x0000|40412\n枚速马工|0x0000|100\n玫瑰红|0x100000|35247\n玫瑰花|0x100000|564\n玫瑰色|0x100000|832\n玫瑰香|0x0000|52846\n玫瑰紫|0x0000|50271\n眉飞色舞|0x1000000|21005\n眉飞眼笑|0x0000|100\n眉高眼低|0x1000000|1288\n眉欢眼笑|0x1000000|1534\n眉睫之祸|0x1000000|100\n眉睫之内|0x800000|100\n眉开眼笑|0x1000000|24179\n眉来眼去|0x1000000|39747\n眉毛胡子一把抓|0x400008|0\n眉目传情|0x1000000|941\n眉目如画|0x1000000|1025\n眉清目秀|0x1000000|31876\n眉山市|0x0040|1472\n眉头不伸|0x1000000|100\n眉头眼尾|0x0000|100\n眉头一皱|0x1400000|2\n眉眼高低|0x1000000|1282\n眉语目笑|0x0000|100\n梅干菜|0x0000|54877\n梅河口|0x0040|1477\n梅河口市|0x0040|1547\n梅花奖|0x0000|24133\n梅花鹿|0x100000|29123\n梅花三弄|0x400000|0\n梅花桩|0x100000|398\n梅加瓦蒂|0x0080|1193\n梅开二度|0x400008|10\n梅克林格|0x0080|0\n梅兰芳|0x0080|1315\n梅林变换|0x0008|0\n梅妻鹤子|0x0000|100\n梅雨季|0x100000|1058\n梅雨季节|0x100000|0\n梅雨期|0x0008|1211\n梅雨潭|0x100000|376\n梅州日报|0x100000|926\n梅州市|0x0040|1354\n媒介物|0x0000|370\n媒染剂|0x100000|1213\n媒妁之言|0x0000|100\n媒体报道|0x100000|558\n媒体播放机|0x0000|399\n媒体播放器|0x0008|1238\n媒体代理|0x100000|407\n媒体格式|0x100000|562\n媒体工具|0x100000|515\n媒体广告|0x100000|523\n媒体库|0x100000|455\n媒体文件|0x100000|543\n湄公河|0x0040|1464\n湄南河|0x0040|1084\n湄潭县|0x0040|1069\n煤层气|0x100000|462\n煤矸石|0x100000|23705\n煤核儿|0x100000|33545\n煤化工|0x100000|480\n煤焦油|0x100000|52847\n煤矿安全|0x100000|585\n煤气表|0x100000|49172\n煤气厂|0x100000|1107\n煤气灯|0x100000|44180\n煤气费|0x100000|419\n煤气管|0x0000|52848\n煤气管道|0x100000|462\n煤气罐|0x100000|34515\n煤气化|0x1000|963\n煤气炉|0x0008|48426\n煤气灶|0x100000|33656\n煤气站|0x100000|1101\n煤气中毒|0x0000|467\n煤炭部|0x100000|1653\n煤炭工业|0x0008|512\n煤炭企业|0x100000|510\n煤炭市场|0x100000|482\n煤炭行业|0x100000|520\n煤炭资源|0x100000|511\n煤油灯|0x100000|18565\n煤油炉|0x0008|43235\n酶制剂|0x100000|448\n霉酚酸|0x100000|1540\n霉干菜|0x100000|389\n每半年|0x0000|509\n每饭不忘|0x1000000|100\n每分钟|0x0000|637\n每逢佳节倍思亲|0x0008|871\n每个人|0x0000|844\n每公斤|0x0000|579\n每件事|0x0000|514\n每况愈下|0x1000000|24840\n每立方|0x100000|494\n每秒钟|0x0000|488\n每日电讯|0x100000|465\n每日经济|0x100000|542\n每日新闻|0x100000|519\n每十年|0x40000000|410\n每时每刻|0x800000|677\n每天晚上|0x100000|620\n每下愈况|0x1000000|1141\n每小时|0x0000|641\n每星期|0x100000|564\n每一次|0x400000|709\n每一个|0x400000|837\n每一个人|0x400000|691\n每周三|0x100000|498\n美北队|0x100000|0\n美不胜收|0x1000000|25271\n美登素|0x100000|0\n美东队|0x100000|0\n美发店|0x100000|500\n美发网|0x100000|415\n美发学校|0x100000|413\n美工刀|0x100000|438\n美姑县|0x0040|1178\n美国白宫|0x100000|468\n美国大使馆|0x100000|445\n美国公民|0x100000|485\n美国股市|0x100000|520\n美国国防部|0x100000|542\n美国国会|0x0020|1301\n美国国务院|0x100000|520\n美国哈佛|0x100000|484\n美国海军|0x100000|574\n美国航空公司|0x100000|423\n美国黑人|0x100000|457\n美国会|0x100000|488\n美国加州|0x100000|547\n美国进口|0x100000|523\n美国经济|0x100000|610\n美国军队|0x100000|486\n美国空军|0x100000|534\n美国佬|0x800000|883\n美国联邦|0x100000|567\n美国陆军|0x100000|517\n美国洛杉矶|0x100000|484\n美国能源|0x100000|452\n美国纽约|0x100000|560\n美国女|0x100000|468\n美国派|0x100000|485\n美国片|0x100000|402\n美国签证|0x100000|466\n美国人|0x100000|743\n美国士兵|0x100000|469\n美国式|0x100000|872\n美国西部|0x100000|500\n美国移民|0x100000|432\n美国友邦|0x100000|443\n美国友邦保险|0x0000|418\n美国在线|0x0008|1283\n美国政府|0x0020|1147\n美国之音|0x0020|1418\n美国总统|0x0000|646\n美国作家|0x100000|464\n美好生活|0x100000|698\n美好时光|0x0000|507\n美好未来|0x100000|538\n美猴儿王|0x0000|55774\n美化环境|0x0000|463\n美解眠|0x100000|1534\n美景良辰|0x800000|1115\n美军基地|0x0000|481\n美丽童话|0x100000|402\n美利坚|0x0008|1294\n美利坚合众国|0x0040|1506\n美联社|0x0020|1254\n美陆军|0x100000|437\n美轮美奂|0x1000000|31763\n美男子|0x100000|30418\n美南队|0x100000|0\n美女壁纸|0x100000|458\n美女动画|0x100000|383\n美女排行榜|0x100000|472\n美女人|0x100000|447\n美女如云|0x0000|517\n美女视频|0x100000|547\n美女贴图|0x100000|626\n美女图|0x100000|552\n美女簪花|0x1000000|1338\n美女走光图片|0x100000|418\n美女作家|0x100000|469\n美其名曰|0x800000|30075\n美芹之献|0x1000000|100\n美人豹|0x100000|473\n美人草|0x100000|421\n美人迟暮|0x1000000|998\n美人儿|0x100000|812\n美人关|0x100000|468\n美人计|0x100000|37388\n美人蕉|0x100000|41746\n美人梅|0x100000|455\n美人香草|0x1000000|1329\n美人鱼|0x100000|29654\n美人志|0x100000|516\n美容美发|0x100000|624\n美容美体|0x100000|519\n美容师|0x100000|37203\n美容术|0x0008|1003\n美容厅|0x100000|1058\n美容外科|0x100000|431\n美容业|0x100000|475\n美容院|0x100000|669\n美容中心|0x0000|511\n美如冠玉|0x1000000|100\n美若天仙|0x1000000|852\n美声唱法|0x100000|0\n美食家|0x100000|35539\n美食节|0x100000|537\n美食天地|0x100000|474\n美食主义|0x100000|0\n美术出版社|0x0000|509\n美术高考|0x100000|517\n美术馆|0x100000|16995\n美术家|0x100000|20661\n美术教育|0x100000|502\n美术界|0x100000|24452\n美术课|0x100000|901\n美术片|0x100000|41056\n美术品|0x100000|817\n美术设计|0x100000|519\n美术学院|0x100000|600\n美术院校|0x100000|425\n美术专业|0x100000|471\n美术字|0x100000|48064\n美术作品|0x100000|815\n美苏关系|0x0008|0\n美索不达米亚|0x0040|1568\n美味可口|0x800000|888\n美西队|0x100000|0\n美学家|0x100000|1024\n美学史|0x100000|1043\n美言不信|0x0000|100\n美意延年|0x1000000|100\n美玉无瑕|0x0000|100\n美元汇率|0x100000|503\n美中不足|0x1000000|27628\n美洲豹|0x0008|944\n美洲杯|0x100000|492\n美洲虎|0x0008|1621\n美洲人|0x0008|9\n美洲狮|0x100000|1053\n美滋滋|0x0100|32653\n镁光灯|0x100000|45046\n镁合金|0x0008|825\n昧旦晨兴|0x0000|100\n昧地瞒天|0x0000|100\n昧地谩天|0x0000|100\n昧己瞒心|0x1000000|100\n昧良心|0x1000|42746\n昧死以闻|0x0000|100\n袂云汗雨|0x1000000|100\n魅力十足|0x400000|2\n魅力四射|0xc00000|4\n门巴族|0x0008|46516\n门把手|0x100000|479\n门鼻儿|0x100000|55388\n门不停宾|0x1000000|1542\n门不夜关|0x1000000|100\n门不夜扃|0x1000000|100\n门插关儿|0x100000|100\n门单户薄|0x1000000|100\n门殚户尽|0x1000000|100\n门当户对|0x1000000|29871\n门到户说|0x1000000|100\n门德尔松|0x0080|1558\n门电路|0x0008|403\n门儿清|0x1000|1130\n门户开放|0x0008|5\n门户之见|0x1000000|41290\n门户之争|0x1000000|1188\n门槛儿|0x100000|1122\n门阶户席|0x1000000|100\n门捷列夫|0x0080|1080\n门禁森严|0x1000000|1214\n门静脉|0x0008|1041\n门堪罗雀|0x1000000|100\n门可罗雀|0x1000000|33019\n门可张罗|0x1000000|100\n门脸儿|0x0000|35689\n门闾之望|0x1000000|100\n门罗主义|0x100000|0\n门面房|0x100000|36177\n门面话|0x100000|54393\n门牌号|0x100000|836\n门票价格|0x100000|512\n门前三包|0x400008|2\n门墙桃李|0x1000000|100\n门生故旧|0x1000000|1304\n门生故吏|0x1000000|1207\n门市部|0x100000|19225\n门衰祚薄|0x1000000|100\n门庭赫奕|0x0000|100\n门庭冷落|0x1000000|37573\n门庭如市|0x1000000|100\n门庭若市|0x1000000|32783\n门头沟|0x0040|1397\n门头沟区|0x0040|1418\n门外汉|0x1000000|33793\n门无杂宾|0x1000000|100\n门无杂客|0x1000000|100\n门源回族自治县|0x0040|1138\n门诊部|0x100000|25206\n门诊室|0x100000|1039\n门阵列|0x100000|1149\n扪参历井|0x1000000|1250\n扪虱而谈|0x1000000|100\n扪虱而言|0x0000|100\n扪心无愧|0x1000000|100\n扪心自问|0x1000000|765\n闷沉沉|0x0100|0\n闷罐车|0x100000|53862\n闷罐子|0x0000|55775\n闷海愁山|0x0000|100\n闷葫芦|0x100000|40612\n闷闷不乐|0x1000000|26347\n闷声不响|0x800000|41289\n闷声闷气|0x0100|49174\n闷头儿|0x8000000|33416\n闷子车|0x100000|1401\n萌芽林|0x0008|0\n萌芽期|0x0008|1060\n盟军敢死队|0x0000|499\n盟山誓海|0x0000|100\n盟兄弟|0x100000|47133\n朦胧诗|0x100000|1002\n朦朦胧胧|0x0100|788\n勐海县|0x0040|1052\n猛不丁|0x8000000|1214\n猛不防|0x8000000|44759\n猛虎插翅|0x1000000|100\n猛虎出山|0x0000|100\n猛虎深山|0x1000000|100\n猛虎添翼|0x1000000|100\n猛劲儿|0x100000|50655\n猛力一击|0x400000|0\n猛志常在|0x1000000|100\n蒙城县|0x0040|1510\n蒙大拿|0x0040|1646\n蒙大拿州|0x0040|1100\n蒙得维的亚|0x0040|1162\n蒙古包|0x100000|25143\n蒙古草原|0x100000|421\n蒙古大夫|0x0008|0\n蒙古高原|0x0040|1360\n蒙古国|0x100000|478\n蒙古人|0x100000|818\n蒙古人种|0x100000|1129\n蒙古文|0x0008|1090\n蒙古语|0x0008|1397\n蒙古症|0x100000|0\n蒙古族|0x0008|12227\n蒙汗药|0x100000|48427\n蒙混过关|0x800000|32405\n蒙罗维亚|0x0040|1188\n蒙昧无知|0x1000000|1205\n蒙昧主义|0x100000|1175\n蒙袂辑屦|0x1000000|100\n蒙蒙黑|0x0100|0\n蒙蒙亮|0x0100|29656\n蒙蒙胧胧|0x0100|1022\n蒙娜丽莎|0x0080|1222\n蒙塞拉特岛|0x0080|6\n蒙山县|0x0040|1619\n蒙太奇|0x100000|33794\n蒙特利尔|0x0040|1347\n蒙特塞拉特岛|0x0040|1273\n蒙头转向|0x800000|1302\n蒙以养正|0x1000000|1308\n蒙阴县|0x0040|1590\n蒙在鼓里|0x800000|826\n蒙自县|0x0040|1627\n锰矿石|0x100000|368\n懵懂一时|0x400000|0\n懵懵懂懂|0x0100|799\n孟尝君|0x0008|0\n孟村回族自治县|0x0040|1680\n孟德尔|0x0080|1653\n孟德尔松|0x0080|0\n孟德斯鸠|0x0080|1530\n孟斐斯|0x0040|1152\n孟加拉|0x0040|28854\n孟加拉国|0x0040|1381\n孟加拉湾|0x0040|1088\n孟津县|0x0040|1576\n孟母三迁|0x1400000|0\n孟什维克|0x0008|1267\n孟州市|0x0040|1472\n梦笔生花|0x1000000|100\n梦断魂劳|0x0000|100\n梦工厂|0x100000|583\n梦工场|0x100000|508\n梦幻岛|0x100000|485\n梦幻论坛|0x100000|380\n梦幻泡影|0x1000000|945\n梦魂颠倒|0x1000000|1398\n梦见周公|0x0000|100\n梦江南|0x100000|405\n梦里南轲|0x0000|100\n梦寐以求|0x1000000|19138\n梦撒寮丁|0x1000000|100\n梦撒撩丁|0x0000|100\n梦溪笔谈|0x0008|1629\n梦想成真|0x800000|732\n梦想颠倒|0x1000000|100\n梦想家|0x0000|531\n梦行症|0x100000|0\n梦熊之喜|0x0000|100\n梦游者|0x100000|394\n梦游症|0x100000|1084\n梦中人|0x100000|695\n梦中说梦|0x1000000|1263\n弥渡县|0x0040|1092\n弥缝其阙|0x1000000|100\n弥勒佛|0x100000|35690\n弥勒县|0x0040|1614\n弥留之际|0x800000|870\n弥漫性|0x100000|964\n弥漫性血管内凝血|0x0008|0\n弥日累夜|0x1000000|100\n弥赛亚|0x0000|452\n弥山亘野|0x1000000|100\n弥天大谎|0x1000000|44760\n弥天大祸|0x800000|1125\n弥天大罪|0x1000000|49884\n弥天盖地|0x1000000|1322\n弥雾机|0x100000|1324\n迷彩服|0x100000|36682\n迷而不反|0x1000000|100\n迷而不返|0x1000000|100\n迷而知反|0x1000000|100\n迷而知返|0x1000000|100\n迷宫般|0x40000000|416\n迷花沾草|0x1000000|100\n迷幻药|0x0008|45947\n迷魂夺魄|0x1000000|100\n迷魂汤|0x100000|44761\n迷魂药|0x100000|978\n迷魂淫魄|0x1000000|100\n迷魂阵|0x100000|37389\n迷惑不解|0x800000|872\n迷惑视听|0x1000000|100\n迷金醉纸|0x1000000|100\n迷离徜仿|0x1000000|100\n迷离徜恍|0x1000000|100\n迷离惝恍|0x1000000|100\n迷离恍惚|0x1000000|1176\n迷离扑朔|0x1000000|1207\n迷恋骸骨|0x1000000|100\n迷迷荡荡|0x1000000|100\n迷迷糊糊|0x0100|628\n迷迷茫茫|0x0100|803\n迷你车|0x0008|1022\n迷你裙|0x100000|841\n迷你型|0x20000000|856\n迷你游戏|0x0008|765\n迷人眼|0x100000|472\n迷人眼目|0x1000000|100\n迷天大谎|0x1000000|100\n迷天大罪|0x1000000|1429\n迷头认影|0x1000000|1370\n迷涂知反|0x1000000|100\n迷途知反|0x1000000|100\n迷途知返|0x1000000|35249\n迷踪失路|0x0000|100\n迷走神经|0x0008|1055\n猕猴骑土牛|0x0008|1493\n猕猴桃|0x100000|23813\n醚化剂|0x100000|0\n糜躯碎首|0x0000|100\n麋沸蚁动|0x1000000|100\n靡不有初|0x1000000|1154\n靡坚不摧|0x1000000|100\n靡靡之乐|0x1000000|1370\n靡靡之声|0x1000000|100\n靡靡之音|0x1000000|51912\n靡然成风|0x1000000|100\n靡然从风|0x1000000|100\n靡然顺风|0x1000000|100\n靡然乡风|0x1000000|100\n靡然向风|0x1000000|100\n靡所底止|0x1000000|100\n靡所适从|0x0000|100\n靡颜腻理|0x1000000|100\n靡衣偷食|0x1000000|100\n靡衣媮食|0x1000000|100\n靡衣玉食|0x1000000|100\n靡有孑遗|0x1000000|100\n靡知所措|0x0000|100\n米袋子|0x0000|35392\n米德尔斯堡|0x0008|1459\n米豆腐|0x0000|55777\n米粉肉|0x100000|54879\n米泔水|0x100000|1226\n米高梅|0x0008|1533\n米格机|0x100000|0\n米黄色|0x100000|843\n米开兰基|0x0080|0\n米开兰基罗|0x0080|0\n米糠油|0x0008|1095\n米拉麦克斯|0x0008|0\n米兰达|0x0080|1597\n米兰妮|0x100000|396\n米老鼠|0x0008|31764\n米粒之珠|0x0000|100\n米粮川|0x100000|51911\n米林县|0x0040|1141\n米卢蒂诺维奇|0x0080|1131\n米洛舍维奇|0x0080|1478\n米泉市|0x0040|1610\n米苏里|0x0080|0\n米盐博辩|0x0000|100\n米已成炊|0x0000|100\n米易县|0x0040|1102\n米脂县|0x0040|1069\n米珠薪桂|0x1000000|1374\n弭兵之会|0x0008|0\n眯盹儿|0x1000|0\n汨罗江|0x0040|1549\n汨罗市|0x0040|1510\n泌尿疾病|0x100000|537\n泌尿科|0x100000|936\n泌尿器|0x0008|1352\n泌尿外科|0x100000|837\n泌尿系|0x0008|1526\n泌尿系统|0x0000|497\n泌阳县|0x0040|1590\n觅迹寻踪|0x0000|100\n秘而不露|0x1000000|100\n秘而不宣|0x1000000|41993\n秘而不言|0x1000000|100\n秘密武器|0x100000|613\n秘书长|0x100000|2630\n秘书处|0x100000|11171\n秘书科|0x100000|395\n秘书学|0x100000|424\n密闭式|0x20000000|1012\n密不可分|0x800000|760\n密不通风|0x1000000|100\n密不透风|0x800000|42259\n密度板|0x100000|467\n密度测定|0x0008|0\n密度计|0x0008|1533\n密度梯度离心|0x0008|0\n密度仪|0x100000|373\n密封材料|0x100000|464\n密封垫|0x100000|450\n密封罐|0x100000|392\n密封剂|0x100000|425\n密封件|0x100000|535\n密封胶|0x100000|514\n密封圈|0x100000|55390\n密封条|0x100000|52850\n密封性|0x100000|474\n密集柜|0x100000|394\n密集架|0x100000|432\n密集区|0x100000|956\n密集型|0x20000000|15267\n密克罗尼西亚|0x0040|1750\n密锣紧鼓|0x1000000|1142\n密麻麻|0x0000|48431\n密码保护|0x100000|776\n密码恢复|0x100000|517\n密码机|0x100000|1214\n密码锁|0x100000|853\n密码箱|0x100000|34667\n密码学|0x100000|939\n密码子|0x100000|1164\n密蒙花|0x100000|1246\n密密层层|0x0100|35250\n密密丛丛|0x0100|1133\n密密麻麻|0x0100|15604\n密密匝匝|0x0100|995\n密切联系|0x0000|574\n密切联系群众|0x0000|469\n密山市|0x0040|1614\n密苏里|0x100000|444\n密苏里州|0x0040|1608\n密西西比|0x0040|1456\n密西西比河|0x0040|1573\n密西西比州|0x0040|1699\n密歇根|0x0040|1405\n密约偷期|0x1000000|100\n密云不雨|0x1000000|1144\n密云县|0x0040|1394\n密匝匝|0x0100|42260\n密执安|0x0040|1124\n密执安州|0x0040|1117\n幂级数|0x100000|1144\n蜜二糖|0x400000|0\n蜜罐儿|0x0000|55778\n蜜里调油|0x800000|1179\n蜜月旅行|0x100000|873\n眠花藉柳|0x0000|100\n眠花宿柳|0x0000|100\n眠花卧柳|0x0000|100\n眠花醉柳|0x0000|100\n眠霜卧雪|0x0000|100\n眠思梦想|0x1000000|1412\n眠云卧石|0x0000|100\n绵白糖|0x100000|55391\n绵里薄材|0x1000000|100\n绵里藏针|0x1000000|48433\n绵力薄材|0x0000|100\n绵绵不断|0x0000|100\n绵绵不绝|0x0100|865\n绵延不断|0x800000|938\n绵言细语|0x0000|100\n绵阳市|0x0040|1288\n绵竹市|0x0040|1630\n棉大衣|0x100000|1014\n棉纺厂|0x100000|890\n棉纺织|0x100000|840\n棉纺织厂|0x100000|879\n棉纺织品|0x100000|0\n棉纺织业|0x100000|1034\n棉红铃虫|0x100000|1371\n棉红蜘蛛|0x0008|1541\n棉猴儿|0x0000|54395\n棉花价格|0x100000|492\n棉铃虫|0x100000|32655\n棉毛裤|0x100000|53864\n棉毛衫|0x100000|54396\n棉皮鞋|0x100000|1186\n棉纤维|0x100000|49179\n棉叶蝉|0x100000|0\n棉织品|0x100000|48068\n棉织物|0x0008|995\n棉织业|0x0008|0\n棉籽油|0x100000|395\n免不得|0x1000|14125\n免不了|0x1000|10468\n免费版|0x100000|873\n免费毕业论文|0x100000|416\n免费成人|0x100000|603\n免费成人电影|0x100000|522\n免费电影|0x100000|845\n免费电子图书|0x100000|424\n免费动画|0x100000|435\n免费发|0x100000|507\n免费发布信息|0x100000|506\n免费法律咨询|0x100000|402\n免费黄色电影|0x100000|560\n免费激情|0x100000|597\n免费激情电影|0x100000|500\n免费论文|0x100000|548\n免费漫画|0x100000|401\n免费模板|0x100000|376\n免费软件|0x100000|533\n免费色情电影|0x100000|568\n免费视频|0x100000|518\n免费视听|0x100000|506\n免费手机|0x100000|634\n免费手机图片|0x100000|408\n免费书|0x100000|407\n免费刷|0x100000|469\n免费听|0x100000|451\n免费同志|0x100000|431\n免费网络电话|0x100000|494\n免费下载地址|0x100000|439\n免费下载电影|0x100000|480\n免费下载音乐|0x100000|508\n免费相册|0x100000|466\n免费小说|0x100000|513\n免费信箱|0x100000|424\n免费性|0x100000|440\n免费言情小说|0x100000|429\n免费音乐|0x100000|616\n免费音乐视听|0x100000|470\n免费音乐网|0x100000|533\n免费影视|0x100000|529\n免费影院|0x100000|496\n免费邮件|0x100000|895\n免费邮箱|0x0008|868\n免费中文|0x100000|396\n免费注册会员|0x100000|493\n免费资源|0x100000|664\n免怀之岁|0x1000000|100\n免开尊口|0x1000000|1045\n免税店|0x0000|43937\n免税品|0x100000|1108\n免疫测定|0x0008|0\n免疫电泳|0x0008|0\n免疫调节|0x100000|958\n免疫毒素|0x0008|0\n免疫化学|0x0008|0\n免疫扩散|0x0008|0\n免疫力|0x100000|16487\n免疫球蛋白|0x0008|491\n免疫生物学|0x0008|0\n免疫系统|0x0000|559\n免疫性|0x100000|929\n免疫学|0x100000|846\n免疫血清|0x0008|0\n免疫抑制|0x0008|0\n免疫抑制剂|0x0008|431\n免疫原|0x0008|0\n免疫原性|0x100000|0\n免疫诊断|0x0008|0\n免疫佐剂|0x0008|0\n免战牌|0x100000|51914\n黾穴鸲巢|0x1000000|100\n俛拾地芥|0x1000000|100\n俛拾仰取|0x1000000|100\n俛首帖耳|0x1000000|100\n勉勉强强|0x0100|924\n勉为其难|0x1000000|37206\n眄视指使|0x1000000|100\n偭规错矩|0x1000000|100\n偭规越矩|0x1000000|100\n冕宁县|0x0040|1076\n缅甸人|0x100000|1106\n缅因州|0x0040|1645\n腼颜人世|0x0000|100\n腼颜事仇|0x0000|100\n腼颜事敌|0x0000|100\n腼颜天壤|0x0000|100\n面包车|0x100000|15268\n面包店|0x100000|869\n面包房|0x100000|48069\n面包机|0x100000|428\n面包片|0x100000|1027\n面包师|0x100000|1020\n面包树|0x0008|2\n面包屑|0x0008|971\n面北眉南|0x1000000|100\n面壁功深|0x1000000|100\n面壁九年|0x400000|0\n面壁磨砖|0x0000|100\n面壁思过|0x800000|966\n面不改容|0x1000000|1190\n面不改色|0x1000000|816\n面部皮肤|0x100000|468\n面从腹诽|0x0000|100\n面带微笑|0x800000|734\n面对面|0x800000|7631\n面对着|0x1000|420\n面粉厂|0x100000|770\n面粉袋|0x0008|1\n面缚衔璧|0x1000000|100\n面缚舆榇|0x1000000|100\n面红耳赤|0x1000000|22286\n面红耳热|0x1000000|1194\n面红颈赤|0x1000000|100\n面红面赤|0x1000000|100\n面红面绿|0x1000000|100\n面黄肌瘦|0x1000000|39335\n面接触二极管|0x400008|0\n面巾纸|0x100000|51915\n面码儿|0x0000|54397\n面谩腹诽|0x1000000|100\n面貌一新|0xc00000|4\n面面观|0x1000|40615\n面面皆到|0x1000000|100\n面面俱到|0x1000000|33935\n面面俱圆|0x1000000|100\n面面厮觑|0x1000000|100\n面面相睹|0x1000000|100\n面面相看|0x1000000|100\n面面相窥|0x1000000|1171\n面面相觑|0x1000000|16303\n面面圆到|0x1000000|100\n面命耳提|0x1000000|1523\n面目皆非|0x1000000|1236\n面目可憎|0x1000000|869\n面目全非|0x1000000|22224\n面目一新|0x1400000|43468\n面目狰狞|0x800000|842\n面朋口友|0x1000000|100\n面片儿|0x0000|41749\n面墙而立|0x1000000|1336\n面人儿|0x100000|14796\n面如傅粉|0x1000000|1320\n面如冠玉|0x1000000|1055\n面如灰土|0x1000000|100\n面如满月|0x0000|100\n面如凝脂|0x0000|100\n面如死灰|0x1000000|47426\n面如土色|0x1000000|37029\n面若死灰|0x1000000|1260\n面色苍白|0x0000|535\n面色如土|0x1000000|1181\n面神经|0x100000|52852\n面是背非|0x1000000|100\n面是心非|0x1000000|100\n面授机宜|0x1000000|45338\n面似靴皮|0x1000000|100\n面条机|0x100000|394\n面团团|0x100000|0\n面无惭色|0x0000|100\n面无人色|0x1000000|996\n面无血色|0x800000|879\n面向过程语言|0x0008|0\n面向全国|0x100000|690\n面向社会|0x100000|766\n面向世界|0x100000|860\n面引廷争|0x1000000|100\n面有菜色|0x800000|100\n面有难色|0x1000000|41062\n面谀背毁|0x1000000|100\n面誉背非|0x1000000|100\n面誉背毁|0x1000000|100\n面折廷争|0x1000000|100\n面折廷诤|0x1000000|100\n面折庭争|0x1000000|100\n面争庭论|0x1000000|100\n苗而不秀|0x1000000|1275\n苗栗市|0x0040|1127\n苗栗县|0x0040|1461\n苗木花卉|0x100000|432\n苗族自治州|0x100000|508\n描绘出|0x0000|529\n描龙绣凤|0x0000|100\n描眉画眼|0x800000|1130\n描神画鬼|0x1000000|100\n描头画角|0x1000000|100\n描图纸|0x100000|1041\n描写画角|0x1000000|100\n渺不足道|0x1000000|100\n渺渺茫茫|0x1000000|1105\n渺无人迹|0x1000000|1203\n渺无人烟|0x800000|49180\n渺无人踪|0x1000000|100\n渺无音信|0x1000000|1213\n渺无音讯|0x1000000|100\n渺无影踪|0x1000000|100\n渺无踪迹|0x800000|1176\n渺无踪影|0x1000000|100\n藐视一切|0x400000|0\n邈处欿视|0x1000000|100\n邈如旷世|0x1000000|100\n邈若河汉|0x1000000|100\n邈若河山|0x1000000|100\n邈若山河|0x1000000|100\n邈以山河|0x1000000|100\n妙笔生花|0x800000|48437\n妙不可言|0x1000000|30734\n妙处不传|0x1000000|100\n妙绝时人|0x1000000|100\n妙趣横生|0x1000000|29124\n妙趣横溢|0x1000000|1406\n妙手丹青|0x1000000|1265\n妙手回春|0x1000000|43469\n妙手空空|0x1000000|1071\n妙手偶得|0x1000000|1034\n妙手仁心|0x100000|921\n妙算神机|0x1000000|100\n妙舞清歌|0x0000|100\n妙想天开|0x1000000|1112\n妙言要道|0x1000000|100\n妙语解烦|0x1000000|100\n妙语解颐|0x1000000|1397\n妙语惊人|0x0000|100\n妙语连珠|0x1000000|885\n妙语如珠|0x1000000|1043\n乜斜缠帐|0x1000000|100\n灭虫剂|0x100000|1328\n灭此朝食|0x1000000|1261\n灭顶之灾|0x1000000|25095\n灭虢取虞|0x1000000|100\n灭火机|0x100000|1137\n灭火剂|0x100000|50276\n灭火器|0x100000|30621\n灭景追风|0x1000000|100\n灭绝人性|0x1000000|956\n灭门绝户|0x1000000|100\n灭门之祸|0x1000000|1067\n灭音器|0x100000|1341\n蔑伦悖理|0x0000|100\n民安国泰|0x1000000|1384\n民安物阜|0x1000000|100\n民办大学|0x100000|925\n民办非|0x100000|478\n民办高校|0x100000|528\n民办公助|0x800000|1079\n民办教师|0x100000|976\n民办教育|0x100000|545\n民办学校|0x100000|842\n民胞物与|0x1000000|1198\n民保于信|0x1000000|100\n民本主义|0x100000|1213\n民兵组织|0x0008|32\n民不堪命|0x1000000|1248\n民不聊生|0x1000000|28937\n民淳俗厚|0x1000000|100\n民粹派|0x100000|1265\n民法典|0x100000|950\n民法通则|0x0008|905\n民法学|0x100000|483\n民丰县|0x0040|1198\n民富国强|0x800000|1131\n民膏民脂|0x1000000|100\n民革中央|0x0020|1704\n民贵君轻|0x0000|100\n民国初年|0x100000|929\n民国时期|0x100000|494\n民航机|0x100000|1114\n民航局|0x100000|1050\n民航业|0x100000|452\n民航总局|0x100000|554\n民和回族土族自治县|0x0040|1690\n民和年丰|0x1000000|100\n民和年稔|0x1000000|100\n民间传说|0x0008|820\n民间工艺|0x0008|872\n民间工艺品|0x100000|465\n民间故事|0x0008|859\n民间团体|0x100000|942\n民间文化|0x100000|507\n民间文学|0x800000|935\n民间文艺|0x0008|0\n民间舞|0x100000|1048\n民间舞蹈|0x100000|975\n民间艺术|0x800000|802\n民间组织|0x0008|556\n民进党|0x0008|778\n民康物阜|0x1000000|1333\n民困国贫|0x1000000|100\n民乐县|0x0040|1050\n民盟中央|0x0020|1076\n民勤县|0x0040|1549\n民穷财尽|0x1000000|1204\n民穷财匮|0x1000000|100\n民权东路|0x0040|0\n民权路|0x0040|408\n民权西路|0x0040|0\n民权县|0x0040|1518\n民权运动|0x0008|11\n民权主义|0x100000|1205\n民商法|0x100000|479\n民社党|0x0020|1315\n民生凋敝|0x1000000|1133\n民生东路|0x0040|1698\n民生国计|0x1000000|1363\n民生涂炭|0x0000|100\n民生银行|0x0008|1230\n民生在勤|0x0000|100\n民生主义|0x100000|1172\n民事案件|0x100000|496\n民事法律|0x0000|497\n民事法庭|0x100000|49538\n民事纠纷|0x0008|940\n民事权利|0x100000|29228\n民事诉讼|0x100000|12084\n民事诉讼法|0x0008|852\n民事行为|0x100000|538\n民事责任|0x0008|17264\n民俗风情|0x100000|519\n民俗旅游|0x100000|446\n民俗文化|0x100000|519\n民俗学|0x100000|964\n民惟邦本|0x800000|1231\n民无二主|0x400000|0\n民熙物阜|0x1000000|100\n民心不壹|0x0000|100\n民心工程|0x100000|508\n民心所向|0x800000|1046\n民心向背|0x800000|1142\n民谣吉他|0x100000|429\n民医院|0x100000|634\n民以食为天|0x0008|838\n民意测验|0x100000|18924\n民殷财阜|0x1000000|100\n民殷国富|0x1000000|100\n民营企业|0x100000|604\n民用爆破器材|0x100000|399\n民用航空|0x0000|510\n民用建筑|0x100000|798\n民用气|0x100000|380\n民有菜色|0x0000|100\n民怨沸腾|0x1000000|1041\n民运会|0x100000|377\n民贼独夫|0x1000000|100\n民政部|0x100000|1278\n民政部门|0x100000|827\n民政局|0x100000|1163\n民政局长|0x100000|1055\n民政厅|0x100000|1405\n民脂民膏|0x1000000|46243\n民主党|0x0020|1256\n民主党派|0x100000|5237\n民主党人|0x100000|980\n民主法制|0x0000|519\n民主改革|0x800000|21076\n民主革命|0x800000|11680\n民主管理|0x100000|839\n民主国|0x100000|1096\n民主化|0x1000|830\n民主集中制|0x100000|8711\n民主建国会|0x0020|1606\n民主决策|0x100000|496\n民主派|0x0008|1024\n民主评议|0x0000|558\n民主权利|0x0000|502\n民主人士|0x100000|25492\n民主生活|0x0000|411\n民主生活会|0x0008|571\n民主协商|0x0008|8\n民主选举|0x0000|498\n民主政治|0x0000|567\n民主制度|0x0000|506\n民主主义|0x100000|826\n民主专政|0x100000|481\n民族传统|0x100000|489\n民族大学|0x100000|549\n民族地区|0x0000|494\n民族东路|0x0040|0\n民族风格|0x0008|0\n民族风情|0x100000|534\n民族服饰|0x100000|464\n民族服装|0x100000|849\n民族歌舞团|0x0000|380\n民族革命|0x0008|1\n民族工业|0x0008|3\n民族工艺品|0x100000|443\n民族共同语|0x0000|55394\n民族国家|0x0008|7\n民族化|0x1000|988\n民族街|0x0040|0\n民族解放运动|0x0008|424\n民族经济|0x0008|10\n民族精神|0x0008|578\n民族纠纷|0x0008|1\n民族乐派|0x0008|0\n民族乐器|0x100000|872\n民族路|0x0040|0\n民族矛盾|0x0008|4\n民族民间|0x100000|471\n民族民主革命|0x0008|0\n民族平等|0x0008|2\n民族区域自治|0x100000|449\n民族事务|0x0008|2\n民族特点|0x0008|1\n民族特色|0x0000|538\n民族统一|0x400000|13\n民族统一战线|0x400008|2\n民族团结|0x0000|676\n民族文化|0x100000|713\n民族舞|0x100000|422\n民族西路|0x0040|0\n民族乡|0x100000|1017\n民族形式|0x100000|1136\n民族性|0x100000|870\n民族学|0x100000|953\n民族学院|0x100000|853\n民族压迫|0x0008|1\n民族意识|0x0008|5\n民族音乐|0x0008|806\n民族英雄|0x800000|18824\n民族语|0x100000|1\n民族运动|0x100000|45341\n民族政策|0x0008|962\n民族志|0x0008|0\n民族主义|0x100000|12744\n民族主义者|0x100000|448\n民族资本|0x100000|41512\n民族资产|0x100000|1060\n民族资产阶级|0x0008|435\n民族自决|0x100000|1113\n民族自决权|0x0008|39971\n民族自治|0x800000|974\n民族宗教|0x100000|479\n闵乱思治|0x1000000|100\n闵行区|0x0040|1170\n闽北话|0x100000|0\n闽方言|0x0000|55999\n闽侯县|0x0040|1493\n闽南话|0x100000|958\n闽南语|0x0008|1072\n闽清县|0x0040|1576\n悯时病俗|0x1000000|100\n敏感部位|0x100000|482\n敏感度|0x100000|813\n敏感区域|0x100000|454\n敏感数据|0x0000|413\n敏感性|0x100000|768\n敏感性皮肤|0x100000|439\n敏捷类|0x100000|561\n敏捷性|0x100000|443\n敏锐性|0x100000|452\n名标青史|0x1000000|100\n名不符实|0x1000000|911\n名不副实|0x1000000|35691\n名不见经传|0x100000|23332\n名不虚传|0x1000000|26061\n名不虚得|0x1000000|100\n名不虚立|0x1000000|100\n名传千古|0x800000|1126\n名垂后世|0x1000000|100\n名垂千古|0x1000000|50660\n名垂青史|0x1000000|41995\n名垂万古|0x1000000|100\n名垂竹帛|0x1000000|100\n名词解释|0x100000|736\n名词术语|0x0008|1\n名从主人|0x1000000|1308\n名存实亡|0x1000000|28115\n名德重望|0x1000000|100\n名符其实|0x800000|856\n名副其实|0x1000000|10582\n名高难副|0x1000000|100\n名高天下|0x1000000|1379\n名公巨卿|0x1000000|1310\n名公巨人|0x1000000|100\n名公钜卿|0x1000000|100\n名公钜人|0x1000000|100\n名古屋|0x0040|1333\n名贵药材|0x100000|991\n名过其实|0x1000000|1192\n名画家|0x100000|979\n名鞿利鞚|0x1000000|100\n名家书画|0x100000|421\n名缰利锁|0x1000000|1182\n名角儿|0x100000|1197\n名利场|0x100000|47773\n名利双收|0x1000000|523\n名列榜首|0x800000|930\n名列第一|0x400000|8\n名列前茅|0x1000000|14126\n名流巨子|0x1000000|100\n名落孙山|0x1000000|36501\n名满天下|0x1000000|46834\n名贸实易|0x1000000|100\n名门世族|0x0000|100\n名门望族|0x100000|965\n名目繁多|0x800000|877\n名牌产品|0x0000|603\n名牌大学|0x0000|556\n名牌服饰|0x100000|448\n名牌服装|0x100000|475\n名牌化妆品|0x100000|453\n名牌货|0x100000|1039\n名牌战略|0x100000|507\n名片盒|0x0008|1464\n名片设计|0x100000|449\n名片纸|0x100000|393\n名品店|0x0040|950\n名品服饰|0x100000|539\n名卿钜公|0x1000000|100\n名人传|0x100000|378\n名人坊|0x100000|403\n名人录|0x100000|911\n名人名言|0x100000|829\n名人堂|0x100000|510\n名人效应|0x0000|46520\n名人字画|0x100000|422\n名山大川|0x1000000|30622\n名山胜川|0x1000000|100\n名山胜水|0x1000000|1171\n名山事业|0x1000000|100\n名山县|0x0040|1075\n名声大振|0x800000|961\n名声过实|0x0000|100\n名声籍甚|0x1000000|100\n名声在外|0x1000000|788\n名胜古迹|0x100000|18402\n名师出高徒|0x0008|1022\n名实难副|0x800000|100\n名实相符|0x1000000|47427\n名实相副|0x1000000|1340\n名士风流|0x1000000|1144\n名特优新|0x100000|37034\n名同实异|0x1000000|100\n名闻遐迩|0x1000000|36848\n名闻中外|0x800000|1158\n名我固当|0x0000|100\n名下无虚|0x1000000|1256\n名下无虚士|0x100000|1533\n名信片|0x100000|1039\n名演员|0x100000|952\n名扬四海|0x1400000|45951\n名扬天下|0x800000|872\n名义工资|0x100000|803\n名义上|0x0000|565\n名优产品|0x100000|34979\n名优特新|0x0008|1180\n名誉教授|0x0008|14\n名誉权|0x100000|26694\n名誉扫地|0x800000|45342\n名噪一时|0x1400000|37207\n名震一时|0x1400000|1\n名震中外|0x800000|1244\n名正理顺|0x1000000|100\n名正言顺|0x1000000|19702\n名重一时|0x400000|1161\n明白了当|0x800000|100\n明白人|0x100000|20174\n明摆着|0x800000|16790\n明辨是非|0x1000000|933\n明查暗访|0x1000000|1006\n明察暗访|0x1000000|995\n明察秋毫|0x1000000|37391\n明察秋毫之末|0x0008|100\n明耻教战|0x1000000|100\n明窗净几|0x1000000|1227\n明党参|0x0008|0\n明德惟馨|0x1000000|100\n明儿个|0x4000|1016\n明发不寐|0x1000000|100\n明罚敕法|0x1000000|100\n明法审令|0x0000|100\n明矾石|0x100000|1183\n明公正道|0x1000000|1541\n明公正气|0x1000000|100\n明公正义|0x1000000|100\n明鼓而攻之|0x0000|100\n明光市|0x0040|1347\n明光烁亮|0x1000000|100\n明光锃亮|0x1000000|100\n明光铮亮|0x1000000|100\n明后天|0x4000|33144\n明晃晃|0x0100|21533\n明婚正配|0x1000000|100\n明婚正娶|0x1000000|100\n明火持杖|0x1000000|100\n明火执械|0x1000000|100\n明火执仗|0x1000000|46245\n明火执杖|0x1000000|1259\n明见万里|0x1000000|1124\n明角灯|0x100000|1542\n明教不变|0x0000|100\n明镜高悬|0x1000000|51078\n明来暗往|0x1000000|1412\n明朗化|0x1000|909\n明廉暗察|0x1000000|100\n明伦国中|0x0040|1269\n明轮船|0x100000|1417\n明码标价|0x0000|548\n明媒正礼|0x1000000|100\n明媒正娶|0x1000000|38928\n明明白白|0x1000000|723\n明明赫赫|0x1000000|100\n明明灭灭|0x0100|0\n明末清初|0x4000|893\n明眸皓齿|0x1000000|45343\n明眸善睐|0x1000000|955\n明目达聪|0x1000000|100\n明目张胆|0x1000000|20244\n明尼苏达|0x0040|1376\n明尼苏达大学|0x0040|1486\n明尼苏达州|0x0040|1570\n明年初|0x100000|532\n明枪暗箭|0x1000000|51917\n明枪好躲|0x1000000|0\n明枪易躲|0x800000|1083\n明枪易躲暗箭难防|0x0000|100\n明抢暗偷|0x1000000|100\n明确提出|0x0000|578\n明确性|0x100000|1073\n明人不做暗事|0x0008|1175\n明日黄花|0x1000000|43470\n明日香|0x100000|480\n明日之星|0x0000|489\n明如指掌|0x1000000|100\n明若观火|0x1000000|1427\n明闪闪|0x0100|0\n明赏不费|0x1000000|100\n明升暗降|0x1000000|1135\n明视觉|0x0008|0\n明水县|0x0040|1079\n明斯克|0x0008|1626\n明堂正道|0x1000000|100\n明推暗就|0x1000000|100\n明文规定|0x800000|820\n明溪县|0x0040|1053\n明细表|0x100000|42973\n明细帐|0x0000|449\n明细账|0x100000|44763\n明显提高|0x0000|589\n明效大验|0x100000|100\n明心见性|0x1000000|983\n明信片|0x100000|19703\n明星壁纸|0x100000|422\n明星档案|0x100000|527\n明星队|0x0000|40843\n明星图库|0x100000|445\n明星图片|0x100000|472\n明星写真|0x100000|595\n明星照|0x100000|390\n明星整容|0x100000|458\n明星专辑|0x100000|420\n明刑弼教|0x1000000|1541\n明刑不戮|0x1000000|100\n明修栈道|0x1000000|982\n明眼人|0x100000|26266\n明验大效|0x1000000|100\n明扬侧陋|0x1000000|100\n明扬仄陋|0x1000000|100\n明月清风|0x1000000|954\n明月入怀|0x1000000|100\n明月照|0x100000|495\n明昭昏蒙|0x0000|100\n明哲保身|0x1000000|30623\n明争暗斗|0x1000000|36332\n明正典刑|0x1000000|1282\n明知故犯|0x1000000|39128\n明知故问|0x1000000|33021\n明治天皇|0x0008|3\n明治维新|0x0008|1445\n明智之举|0x800000|807\n明珠暗投|0x1000000|55783\n明珠弹雀|0x1000000|1536\n明珠投暗|0x1000000|1226\n鸣不平|0x800000|32151\n鸣凤朝阳|0x1000000|100\n鸣鼓而攻|0x1000000|1244\n鸣鼓而攻之|0x0008|1241\n鸣鹤之应|0x1000000|100\n鸣金收兵|0x1000000|45050\n鸣金收军|0x1000000|1281\n鸣珂锵玉|0x1000000|100\n鸣锣喝道|0x1000000|1534\n鸣锣开道|0x1000000|45051\n鸣琴而治|0x1000000|100\n鸣雁直木|0x1000000|100\n鸣野食苹|0x1000000|100\n鸣于乔木|0x1000000|100\n鸣玉曳履|0x1000000|100\n鸣玉曳组|0x1000000|100\n鸣冤叫屈|0x1000000|46246\n鸣钟列鼎|0x1000000|100\n鸣钟食鼎|0x1000000|100\n冥冥之中|0x800000|726\n冥漠之都|0x1000000|100\n冥漠之乡|0x1000000|100\n冥思苦索|0x1000000|1282\n冥思苦想|0x1000000|37035\n冥顽不灵|0x1000000|49890\n冥王星|0x0008|38724\n冥行盲索|0x1000000|100\n冥行擿埴|0x1000000|100\n冥昭瞢闇|0x1000000|100\n铭肤镂骨|0x1000000|100\n铭感不忘|0x0000|100\n铭感五内|0x1400000|0\n铭肌镂骨|0x1000000|1536\n铭记不忘|0x1000000|1188\n铭记在心|0x800000|791\n铭心刻骨|0x1000000|881\n铭心镂骨|0x1000000|100\n铭诸肺腑|0x1000000|100\n瞑思苦想|0x0000|100\n酩酊大醉|0x1000000|34351\n酩酊烂醉|0x1000000|100\n命薄缘悭|0x0000|100\n命俦啸侣|0x1000000|100\n命词遣意|0x1000000|100\n命辞遣意|0x1000000|100\n命赴黄泉|0x800000|1196\n命根子|0x100000|24713\n命蹇时乖|0x1000000|100\n命里注定|0x0000|38312\n命令句|0x100000|1275\n命令行|0x0000|623\n命令与征服|0x0000|466\n命令主义|0x100000|51079\n命名为|0x0000|654\n命若悬丝|0x1000000|1268\n命丧九泉|0x400000|0\n命世之才|0x0000|100\n命题逻辑|0x0008|0\n命题演算|0x0008|0\n命途多舛|0x0000|54399\n命运多舛|0x800000|927\n命在旦夕|0x1000000|53353\n命中率|0x100000|23081\n命中注定|0x800000|24781\n谬采虚声|0x1000000|100\n谬采虚誉|0x1000000|100\n谬托知己|0x1000000|100\n谬妄无稽|0x1000000|100\n谬想天开|0x1000000|100\n谬以千里|0x1000000|1048\n谬种流传|0x1000000|1191\n缪种流传|0x0000|100\n摸不着|0x1000|533\n摸不着边|0x800000|0\n摸不着头脑|0x0008|772\n摸黑儿|0x0000|37744\n摸金校尉|0x100000|1113\n摸门不着|0x1000000|100\n摸门儿|0x1000|54400\n摸爬滚打|0x800000|24334\n摸头不着|0x1000000|100\n摸着石头过河|0x0008|904\n模板天下|0x100000|411\n模范带头作用|0x0000|480\n模范人物|0x0008|6\n模范作用|0x0000|577\n模糊不清|0x800000|740\n模具厂|0x100000|535\n模具钢|0x100000|456\n模具钢材|0x100000|428\n模具公司|0x100000|389\n模具设备|0x100000|372\n模具设计|0x100000|563\n模块电源|0x100000|419\n模块化|0x1000|575\n模棱两端|0x1000000|100\n模棱两可|0x1000000|26552\n模模糊糊|0x0100|780\n模拟考试|0x0000|539\n模拟器|0x100000|708\n模拟游戏|0x100000|567\n模山范水|0x1000000|100\n模式识别|0x1000|449\n模特大赛|0x100000|534\n模特儿|0x100000|21632\n模特公司|0x100000|442\n模特学校|0x100000|373\n模型材料|0x100000|434\n模型车|0x100000|386\n模型库|0x100000|400\n模造品|0x100000|0\n模造纸|0x0008|0\n模组化|0x100000|0\n膜蛋白|0x0008|0\n膜电位|0x0008|0\n膜技术|0x100000|937\n膜结构|0x100000|459\n摩擦角|0x0008|0\n摩擦力|0x100000|27721\n摩擦系数|0x100000|977\n摩擦音|0x100000|1186\n摩擦阻力|0x0008|0\n摩登舞|0x100000|389\n摩顶放踵|0x1000000|1160\n摩顶至踵|0x1000000|100\n摩顶至足|0x1000000|100\n摩尔达维亚|0x0080|1\n摩尔多瓦|0x0040|1547\n摩尔多瓦共和国|0x0040|1718\n摩尔维亚|0x0080|0\n摩加迪沙|0x0040|1078\n摩肩擦踵|0x0000|100\n摩肩击毂|0x1000000|100\n摩肩接毂|0x1000000|100\n摩肩接踵|0x1000000|27391\n摩羯座|0x0008|1131\n摩口膏舌|0x1000000|100\n摩厉以须|0x1000000|100\n摩厉以需|0x1000000|0\n摩砺以须|0x1000000|100\n摩洛哥|0x0040|1280\n摩门教|0x0008|1108\n摩纳哥|0x0040|1293\n摩拳擦掌|0x1000000|27470\n摩天大楼|0x100000|28555\n摩天楼|0x100000|967\n摩天轮|0x100000|752\n摩托车|0x100000|5124\n摩托车厂|0x100000|373\n摩托车配件|0x100000|495\n摩托车市场|0x100000|402\n摩托船|0x100000|1535\n摩托化|0x100000|47774\n摩托罗拉|0x0008|928\n摩托罗拉对讲机|0x100000|506\n摩托罗拉手机|0x100000|558\n摩托艇|0x100000|30301\n磨不开|0x1000|1177\n磨杵成针|0x1000000|1322\n磨杵作针|0x1000000|100\n磨穿铁鞋|0x1000000|100\n磨穿铁砚|0x1000000|100\n磨刀不误砍柴工|0x0008|1048\n磨刀擦枪|0x0000|100\n磨刀霍霍|0x1000000|49891\n磨刀石|0x100000|47775\n磨砥刻厉|0x1000000|100\n磨豆腐|0x1000|1098\n磨盾之暇|0x0000|100\n磨而不磷|0x1000000|1316\n磨粉厂|0x100000|0\n磨粉机|0x100000|947\n磨光机|0x100000|981\n磨光面|0x100000|0\n磨合期|0x100000|856\n磨昬抉聩|0x1000000|100\n磨棱刓角|0x1000000|100\n磨厉以须|0x1000000|100\n磨砺以须|0x1000000|100\n磨砻底厉|0x1000000|100\n磨砻砥砺|0x1000000|100\n磨砻浸灌|0x1000000|100\n磨砻镌切|0x1000000|100\n磨礲淬励|0x1000000|100\n磨礲砥砺|0x1000000|100\n磨礲浸灌|0x1000000|100\n磨磨蹭蹭|0x0100|864\n磨盘两圆|0x1000000|100\n磨漆画|0x100000|1244\n磨铅策蹇|0x1000000|100\n磨拳擦掌|0x1000000|1050\n磨砂玻璃|0x100000|53355\n磨砂灯泡|0x100000|1045\n磨损性|0x100000|1154\n磨形炼性|0x1000000|100\n磨牙后三角|0x400000|0\n磨牙吮血|0x1000000|1226\n磨牙凿齿|0x1000000|100\n磨洋工|0x1000|47430\n磨踵灭顶|0x0000|100\n磨砖成镜|0x1000000|1318\n磨嘴皮|0x100000|52854\n蘑菇云|0x100000|41751\n魔导师|0x100000|549\n魔法力|0x100000|0\n魔法门|0x0040|902\n魔法师|0x100000|673\n魔法石|0x100000|511\n魔高一尺|0x1400000|1\n魔高一丈|0xc00000|3\n魔鬼般|0x40000000|476\n魔鬼城|0x100000|436\n魔鬼身材|0x0000|553\n魔鬼天使|0x100000|413\n魔力宝贝|0x100000|779\n魔兽世界|0x100000|728\n魔兽争霸|0x100000|686\n魔术师|0x100000|23546\n抹脖子|0x1000|32656\n抹不开|0x1000|45952\n抹粉施脂|0x0000|100\n抹稀泥|0x1000|51080\n抹香鲸|0x100000|1008\n抹一鼻子|0x400000|0\n抹一鼻子灰|0x500000|0\n抹月秕风|0x1000000|1347\n抹月批风|0x1000000|100\n末班车|0x100000|34516\n末大必折|0x1000000|100\n末大不掉|0x1000000|100\n末端距|0x0008|0\n末节细行|0x1000000|100\n末可全抛一片心|0x400000|0\n末路穷途|0x1000000|100\n末路之难|0x1000000|100\n末如之何|0x1000000|1289\n末梢神经|0x800000|1036\n末学肤受|0x1000000|100\n茉莉花|0x100000|23496\n茉莉花茶|0x100000|862\n陌路相逢|0x0000|100\n陌生化|0x1000|1109\n陌生男人|0x100000|497\n陌生人|0x100000|516\n秣马厉兵|0x1000000|46522\n莫比鲁兹|0x0080|0\n莫辨楮叶|0x1000000|100\n莫泊桑|0x0080|925\n莫不是|0x8000000|30736\n莫测高深|0x1000000|42262\n莫此为甚|0x800000|51492\n莫尔兹比港|0x0040|1297\n莫敢谁何|0x800000|100\n莫高窟|0x0040|1408\n莫管他家瓦上霜|0x0008|0\n莫管他人瓦上霜|0x0008|100\n莫过于|0x800000|14602\n莫可究诘|0x0000|100\n莫可名状|0x1000000|51919\n莫可奈何|0x0000|100\n莫可指数|0x800000|1417\n莫鲁芒贝图|0x0080|0\n莫伦特兹|0x0080|0\n莫罗尼|0x0040|1285\n莫名其妙|0x1000000|6483\n莫明其妙|0x1000000|803\n莫逆于心|0x0000|100\n莫逆之交|0x800000|42753\n莫若勿为|0x1000000|0\n莫塞莱定律|0x0008|0\n莫三鼻给|0x400008|0\n莫桑比克|0x0040|1517\n莫生气|0x100000|383\n莫失良机|0x0008|1\n莫斯科|0x0040|3161\n莫斯科大学|0x100000|410\n莫斯科市|0x0040|1432\n莫索里尼|0x0080|0\n莫为已甚|0x1000000|100\n莫须有|0x1000000|12569\n莫予毒也|0x0000|100\n莫余毒也|0x1000000|100\n莫扎特|0x0080|1213\n莫札特|0x0080|1594\n莫展一筹|0x400000|100\n莫之与京|0x0000|100\n莫知所为|0x0000|100\n莫衷一是|0x1400000|30624\n漠不关心|0x1000000|22991\n漠不相关|0x1000000|51920\n漠河县|0x0040|1067\n漠然置之|0x1000000|43942\n蓦然回首|0x0000|536\n貊乡鼠壤|0x1000000|100\n貊乡鼠攘|0x1000000|0\n墨斗鱼|0x100000|53356\n墨尔本|0x0040|1194\n墨旱莲|0x0008|1261\n墨迹测验|0x0008|0\n墨迹未干|0x800000|46523\n墨江哈尼族自治县|0x0040|1202\n墨卡托投影|0x0008|0\n墨绿色|0x100000|820\n墨守陈规|0x1000000|1058\n墨守成法|0x1000000|100\n墨守成规|0x1000000|29125\n墨水池|0x100000|1541\n墨水瓶|0x100000|1004\n墨索里尼|0x0080|1518\n墨突不黔|0x1000000|100\n墨脱县|0x0040|1129\n墨西哥|0x0040|997\n墨西哥城|0x0040|1496\n墨西哥队|0x100000|417\n墨西哥人|0x100000|886\n墨西哥湾|0x0040|1587\n墨玉县|0x0040|1123\n墨汁未干|0x0000|100\n墨竹工卡|0x0040|1\n墨竹工卡县|0x0040|1145\n墨子泣丝|0x1000000|100\n默不作声|0x800000|28855\n默而识之|0x0000|100\n默化潜移|0x1000000|1533\n默换潜移|0x1000000|100\n默默不语|0x800000|960\n默默地|0x8000000|442\n默默无闻|0x1000000|16232\n默默无言|0x1000000|31765\n默默无语|0x800000|808\n默契神会|0x1000000|100\n默认设置|0x0000|583\n默认值|0x0000|567\n默转潜移|0x1000000|100\n牟定县|0x0040|1050\n牟取暴利|0x800000|912\n侔色揣称|0x1000000|100\n谋财害命|0x1000000|42498\n谋臣猛将|0x1000000|100\n谋臣如雨|0x1000000|100\n谋臣武将|0x1000000|100\n谋道作舍|0x1000000|100\n谋夫孔多|0x0000|100\n谋谟帷幄|0x1000000|100\n谋如涌泉|0x0000|100\n谋杀案|0x100000|840\n谋杀罪|0x0008|995\n谋事在人|0x800000|100\n谋听计行|0x1000000|100\n谋图不轨|0x1000000|100\n谋为不轨|0x1000000|1340\n谋无遗策|0x1000000|100\n谋无遗谞|0x0000|100\n某大学|0x100000|539\n某公司|0x100000|587\n某某某|0x100000|5\n某某人|0x10000|1\n某年某月|0x0000|507\n某些人|0x0000|619\n某一地方|0x400000|0\n某一方面|0x400000|7\n某一个|0x400000|637\n某一时间|0x400000|0\n母慈子孝|0x0000|100\n母丁香|0x100000|1314\n母公司|0x100000|593\n母老虎|0x100000|38518\n母难之日|0x0000|100\n母亲河|0x100000|519\n母亲节|0x4000|37937\n母权制|0x100000|1260\n母乳喂养|0x1000|531\n母树林|0x100000|1294\n母线槽|0x100000|983\n母夜叉|0x100000|44767\n母以子贵|0x1000000|1162\n母子情|0x100000|374\n亩产量|0x100000|1107\n牡丹花|0x100000|24513\n牡丹江|0x0040|1114\n牡丹江市|0x0040|1298\n牡丹卡|0x100000|876\n牡丹皮|0x0008|1082\n牡丹虽好|0x800000|1108\n牡丹亭|0x100000|417\n姆巴巴纳|0x0080|1534\n拇指一族|0x400000|0\n木板床|0x100000|1011\n木板墙|0x100000|1148\n木板桥|0x0040|1159\n木版画|0x100000|1137\n木本水源|0x1000000|1224\n木本植物|0x800000|1034\n木鳖子|0x100000|1269\n木材干馏|0x0008|0\n木材业|0x100000|0\n木村佳乃|0x0080|0\n木村拓哉|0x0080|1395\n木呆呆|0x0100|42754\n木地板|0x100000|608\n木雕泥塑|0x1000000|1196\n木芙蓉|0x0008|1039\n木干鸟栖|0x0000|100\n木梗之患|0x1000000|100\n木工板|0x100000|477\n木工机械|0x100000|500\n木公金母|0x1000000|100\n木瓜蛋白酶|0x0008|0\n木管乐器|0x100000|1122\n木蝴蝶|0x0008|0\n木化石|0x100000|55401\n木坏山颓|0x0000|100\n木鸡养到|0x0000|100\n木结构|0x100000|837\n木槿花|0x100000|1042\n木刻画|0x100000|1179\n木刻水印|0x0008|1203\n木兰花|0x100000|463\n木兰县|0x0040|1059\n木垒哈萨克自治县|0x0040|1155\n木里藏族自治县|0x0040|1190\n木落归本|0x1000000|100\n木麻黄|0x100000|1125\n木马病毒|0x100000|542\n木马程序|0x100000|543\n木马计|0x100000|1147\n木棉花|0x100000|879\n木棉树|0x100000|1014\n木乃伊|0x100000|28856\n木讷寡言|0x0000|100\n木牛流马|0x100000|1011\n木偶片|0x100000|1196\n木偶戏|0x100000|40415\n木器厂|0x100000|826\n木器店|0x0040|0\n木器漆|0x100000|449\n木人石心|0x1000000|1302\n木石心肠|0x1000000|100\n木栓层|0x100000|1541\n木炭画|0x100000|1379\n木糖醇|0x0000|51493\n木头疙瘩|0x800000|908\n木头木脑|0x0000|48446\n木头人|0x100000|30841\n木头人儿|0x100000|0\n木屑板|0x0008|0\n木心石腹|0x1000000|100\n木朽蛀生|0x0000|100\n木已成舟|0x1000000|38930\n木鱼石|0x100000|391\n木制工艺品|0x100000|459\n木制家具|0x100000|448\n木制品|0x100000|693\n木质部|0x100000|1188\n木质素|0x100000|938\n仫佬族|0x0008|46248\n目标管理|0x0008|759\n目标责任制|0x0000|501\n目标值|0x100000|1046\n目别汇分|0x1000000|100\n目不别视|0x0000|100\n目不给赏|0x1000000|100\n目不苟视|0x1000000|100\n目不见睫|0x1000000|1427\n目不交睫|0x1000000|1227\n目不窥园|0x1000000|1381\n目不忍睹|0x1000000|44470\n目不忍见|0x1000000|100\n目不忍视|0x1000000|100\n目不识丁|0x1000000|37209\n目不识书|0x1000000|100\n目不暇给|0x1000000|1000\n目不暇接|0x1000000|19741\n目不邪视|0x1000000|100\n目不斜视|0x1000000|36334\n目不知书|0x1000000|1538\n目不转睛|0x1000000|20245\n目成心许|0x0000|100\n目达耳通|0x1000000|100\n目的地|0x100000|8520\n目的港|0x0040|0\n目的论|0x100000|1060\n目的性|0x100000|24065\n目瞪口呆|0x1000000|14454\n目瞪口僵|0x1000000|100\n目瞪口结|0x1000000|100\n目瞪口歪|0x1000000|100\n目瞪口张|0x1000000|100\n目瞪舌彊|0x1000000|100\n目瞪舌挢|0x1000000|100\n目瞪舌强|0x0000|100\n目瞪心骇|0x1000000|100\n目定口呆|0x1000000|0\n目动言肆|0x1000000|100\n目睹耳闻|0x0000|100\n目断魂销|0x0000|100\n目断鳞鸿|0x0000|100\n目光短浅|0x800000|40183\n目光炯炯|0x800000|951\n目光如豆|0x1000|55402\n目光如炬|0x1000|48076\n目光如鼠|0x1000000|100\n目酣神醉|0x1000000|1412\n目击道存|0x1000000|1383\n目击耳闻|0x1000000|100\n目击者|0x100000|15043\n目见耳闻|0x1000000|1255\n目交心通|0x1000000|100\n目睫之论|0x1000000|100\n目空一切|0x1400000|34981\n目空一世|0x1400000|0\n目空余子|0x0000|100\n目量意营|0x1000000|100\n目录室|0x100000|0\n目录索引|0x100000|514\n目录学|0x100000|1091\n目乱睛迷|0x1000000|100\n目乱精迷|0x1000000|100\n目迷五色|0x1400000|0\n目目相觑|0x1000000|100\n目逆而送|0x0000|100\n目牛无全|0x1000000|100\n目前国内|0x100000|663\n目前市场|0x100000|650\n目前我国|0x100000|632\n目染耳濡|0x1000000|100\n目濡耳染|0x1000000|100\n目擩耳染|0x0000|100\n目若悬珠|0x0000|100\n目食耳视|0x800000|100\n目使颐令|0x1000000|100\n目送手挥|0x800000|100\n目挑眉语|0x1000000|100\n目挑心悦|0x1000000|100\n目挑心招|0x1000000|100\n目窕心与|0x1000000|100\n目兔顾犬|0x1000000|100\n目无法纪|0x1000000|44768\n目无国法|0x800000|1223\n目无全牛|0x1000000|1202\n目无三尺|0x1400000|0\n目无王法|0x1000000|1194\n目无下尘|0x0000|100\n目无余子|0x1000000|1206\n目无尊长|0x1000000|1102\n目下十行|0x1400000|0\n目眩神迷|0x0008|1475\n目眩神摇|0x1000000|1299\n目眩头昏|0x1000000|100\n目眩头晕|0x1000000|1341\n目语额瞬|0x1000000|100\n目眢心忳|0x1000000|100\n目怔口呆|0x1000000|100\n目眐心骇|0x1000000|100\n目睁口呆|0x1000000|1541\n目知眼见|0x1000000|100\n目指气使|0x1000000|1370\n目治手营|0x1000000|100\n目中无人|0x1000000|33022\n目注心凝|0x1000000|100\n目注心营|0x1000000|100\n目眦尽裂|0x0000|100\n沐川县|0x0040|1144\n沐猴而冠|0x1000000|1070\n沐猴衣冠|0x1000000|100\n沐露梳风|0x1000000|100\n沐露沾霜|0x1000000|100\n沐仁浴义|0x1000000|100\n沐日浴月|0x1000000|100\n沐雨经霜|0x1000000|100\n沐雨梳风|0x1000000|100\n沐雨栉风|0x1000000|1357\n牧草地|0x100000|1167\n牧豕听经|0x1000000|100\n牧羊女|0x100000|990\n牧羊犬|0x100000|46525\n牧羊人|0x100000|826\n牧猪奴戏|0x0000|100\n苜蓿草|0x100000|1041\n募兵制|0x100000|1186\n墓木拱矣|0x0000|100\n墓木已拱|0x1000000|100\n墓葬群|0x100000|412\n墓志铭|0x100000|33292\n幕府时代|0x0008|0\n幕后操纵者|0x100000|385\n幕天席地|0x1000000|1083\n幕燕鼎鱼|0x1000000|100\n幕燕釜鱼|0x1000000|100\n睦邻友好|0x800000|960\n睦邻政策|0x0008|9\n慕古薄今|0x1000000|100\n慕名而来|0x800000|849\n慕尼黑|0x0040|1138\n暮楚朝秦|0x1000000|100\n暮爨朝舂|0x1000000|100\n暮翠朝红|0x1000000|100\n暮鼓朝钟|0x1000000|100\n暮鼓晨钟|0x1000000|49894\n暮虢朝虞|0x1000000|100\n暮景残光|0x1000000|100\n暮景桑榆|0x1000000|100\n暮礼晨参|0x1000000|100\n暮暮朝朝|0x1000000|1072\n暮气沉沉|0x1000000|49541\n暮去朝来|0x1000000|1201\n暮色苍茫|0x800000|1005\n暮生儿|0x100000|0\n暮四朝三|0x1400000|0\n暮想朝思|0x1000000|100\n暮夜怀金|0x0000|100\n暮夜无知|0x0000|100\n暮夜先容|0x1000000|100\n暮雨朝云|0x1000000|100\n暮云春树|0x1000000|1238\n穆桂英|0x0080|1389\n穆罕默德|0x0040|1349\n穆棱市|0x0040|1061\n穆如清风|0x0000|100\n穆斯林|0x100000|7912\n穆索尔斯基|0x0080|0\n拏风跃云|0x1000000|100\n拏云攫石|0x1000000|100\n拏云握雾|0x1000000|100\n拿班作势|0x1000000|100\n拿班做势|0x1000000|100\n拿不出手|0x800000|424\n拿不准|0x1000|26982\n拿出手|0x100000|1030\n拿粗夹细|0x800000|100\n拿粗挟细|0x1000000|1287\n拿大顶|0x1000|54403\n拿刀动仗|0x0000|54404\n拿刀动杖|0x1000|100\n拿刀弄杖|0x0000|100\n拿架子|0x1000|48077\n拿来主义|0x100000|34352\n拿摩温|0x100000|1280\n拿破仑|0x0008|1112\n拿腔拿调|0x800000|51494\n拿腔作调|0x1000000|100\n拿腔作势|0x1000000|55403\n拿腔做势|0x1000000|100\n拿三搬四|0x1400000|0\n拿手菜|0x100000|930\n拿手好戏|0x1000000|33421\n拿手戏|0x100000|45054\n拿糖作醋|0x1000000|1523\n拿下马来|0x0000|100\n拿一把|0x0000|35696\n拿云攫石|0x0000|100\n拿云握雾|0x800000|100\n拿云捉月|0x0000|100\n拿贼见赃|0x0000|100\n拿贼拿赃|0x0000|100\n拿主意|0x1000|28291\n哪会儿|0x0000|55788\n哪门子|0x10000|848\n哪些地方|0x100000|516\n哪些方面|0x0000|544\n哪些项目|0x100000|521\n哪些因素|0x100000|464\n哪一方面|0x400000|0\n哪一个|0x400000|681\n哪一天|0x100000|579\n哪一些|0x400000|0\n内部管理|0x100000|692\n内部会计|0x100000|489\n内部结构|0x100000|537\n内部刊物|0x100000|983\n内部空间|0x100000|499\n内部矛盾|0x0000|525\n内部事务|0x0000|460\n内部网|0x100000|854\n内部言语|0x0008|0\n内插法|0x100000|1243\n内查外调|0x1000000|49185\n内出血|0x1000|49897\n内存不足|0x0000|477\n内存储器|0x0008|1125\n内存大小|0x100000|532\n内存价格|0x100000|497\n内存空间|0x100000|513\n内存容量|0x100000|624\n内存条|0x0008|818\n内存整理|0x100000|488\n内错角|0x100000|1282\n内当家|0x100000|52365\n内地版|0x100000|494\n内地工业|0x0008|1\n内地人|0x100000|947\n内毒素|0x0008|1038\n内啡肽|0x0008|1098\n内分泌|0x100000|21633\n内分泌系统|0x0008|757\n内分泌腺|0x0008|1094\n内分泌学|0x0008|0\n内服药|0x100000|1109\n内感受器|0x100000|0\n内阁大臣|0x100000|890\n内阁制|0x100000|1083\n内阁总理|0x100000|861\n内公切线|0x100000|1514\n内顾之忧|0x1000000|1394\n内果皮|0x100000|1226\n内河运输|0x100000|1\n内华达|0x0040|1490\n内华达州|0x0040|1584\n内环境|0x0000|591\n内环路|0x100000|412\n内黄县|0x0040|1502\n内江街|0x0040|0\n内江市|0x0040|1450\n内紧外松|0x0100|1220\n内聚力|0x100000|52863\n内峻外和|0x1000000|100\n内科学|0x0008|846\n内窥镜|0x100000|46528\n内昆线|0x0008|1364\n内联外引|0x800000|1301\n内流河|0x100000|1248\n内陆国|0x100000|52366\n内陆海|0x100000|1278\n内陆河|0x100000|33024\n内陆湖|0x100000|53361\n内罗毕|0x0040|1608\n内码转换|0x0000|454\n内蒙古|0x0040|3720\n内蒙古大学|0x100000|465\n内蒙古呼和浩特|0x100000|470\n内蒙古自治区|0x0040|1062\n内摩擦|0x0008|0\n内墙漆|0x100000|380\n内切圆|0x100000|1237\n内丘县|0x0040|1112\n内燃机|0x100000|24335\n内燃机车|0x4000000|1017\n内燃器|0x100000|0\n内容丰富|0x100000|704\n内容管理|0x100000|640\n内容简介|0x100000|536\n内容提要|0x0008|610\n内容摘要|0x0000|543\n内柔外刚|0x1000000|100\n内伤发热|0x0008|0\n内生孢子|0x0008|0\n内生菌根|0x0008|0\n内省不疚|0x1000000|1226\n内圣外王|0x1000000|1059\n内视反听|0x1000000|1541\n内饰件|0x100000|422\n内外夹攻|0x1000|45955\n内外夹击|0x1000000|1104\n内外交困|0x1000000|40845\n内外生菌根|0x0008|0\n内外有别|0x1000|935\n内务部|0x100000|1542\n内务府|0x0000|455\n内吸杀虫剂|0x0008|0\n内酰胺|0x0008|415\n内乡县|0x0040|1563\n内向型|0x20000000|44772\n内斜视|0x100000|1230\n内心里|0x8000|3\n内心深处|0x0000|635\n内心世界|0x0000|586\n内行人|0x100000|974\n内修外攘|0x1000000|100\n内衣裤|0x0008|842\n内衣模特|0x100000|485\n内应力|0x0000|393\n内营力|0x100000|1538\n内忧外患|0x1000000|34824\n内忧外侮|0x0000|100\n内在化|0x1000|1135\n内在联系|0x0000|514\n内在美|0x100000|47779\n内脏器官|0x100000|446\n内掌柜|0x100000|51497\n内政部|0x100000|1411\n内政部长|0x100000|971\n内侄女|0x100000|1255\n内质体|0x100000|0\n内质网|0x100000|1172\n内助之贤|0x0000|100\n内转换|0x0008|0\n内装修|0x0000|48811\n那不勒斯|0x0040|1419\n那达慕|0x100000|26063\n那个家伙|0x100000|581\n那个男孩|0x100000|535\n那个男人|0x100000|640\n那个男生|0x100000|518\n那个女|0x100000|628\n那个女人|0x100000|623\n那个人|0x0000|751\n那还用说|0x0000|477\n那会儿|0x10000|14068\n那家伙|0x100000|646\n那就是|0x0000|511\n那么点儿|0x800000|42499\n那么多|0x0000|832\n那么些|0x10000|29232\n那么样|0x10000|37938\n那么着|0x10000|37747\n那坡县|0x0040|1037\n那曲县|0x0040|1188\n那时候|0x0000|752\n那时快|0x1000000|903\n那小子|0x100000|645\n那样一来|0x400000|0\n那一个|0x400000|386\n那阵儿|0x0000|20286\n那阵子|0x10000|27950\n纳粹德国|0x100000|472\n纳粹主义|0x100000|1061\n纳贡称臣|0x0000|100\n纳垢藏污|0x0000|100\n纳谏如流|0x0000|100\n纳屦踵决|0x0000|100\n纳兰容若|0x0000|412\n纳履决踵|0x0000|100\n纳履踵决|0x0000|100\n纳闷儿|0x40000000|14105\n纳米比亚|0x0040|1507\n纳米技术|0x100000|49895\n纳士招贤|0x0000|100\n纳税人|0x100000|700\n纳税者|0x100000|1152\n纳斯达克|0x0008|1197\n纳斯尔丁|0x0080|1381\n纳西族|0x0008|26827\n纳新吐故|0x0000|100\n纳雍县|0x0040|1078\n娜塔莎|0x0000|476\n钠离子|0x0008|0\n乃东县|0x0040|1133\n乃文乃武|0x0080|1513\n乃我困汝|0x0000|100\n乃武乃文|0x0080|1540\n乃心王室|0x1000000|1534\n乃至于|0x10000000|29037\n奶豆腐|0x0000|55789\n奶牛场|0x100000|945\n奶声奶气|0x800000|50285\n奶油色|0x100000|1046\n奶油小生|0x0000|48804\n奶制品|0x100000|27724\n奈及利亚|0x0000|374\n奈曼旗|0x0040|1651\n耐不住|0x0000|566\n耐高温|0x0008|1128\n耐寒性|0x0008|0\n耐旱性|0x100000|1294\n耐火材料|0x800000|689\n耐火黏土|0x800000|1229\n耐火纤维|0x100000|378\n耐火砖|0x100000|44471\n耐久性|0x100000|871\n耐力赛|0x100000|1062\n耐磨材料|0x100000|421\n耐磨性|0x0008|849\n耐热钢|0x0008|1619\n耐热合金|0x0008|1125\n耐热性|0x0008|929\n耐人咀嚼|0x0000|100\n耐人寻味|0x1000000|14964\n耐水性|0x100000|1000\n耐压性|0x100000|1197\n耐药性|0x100000|945\n耐用品|0x100000|1033\n耐用消费品|0x0000|477\n耐用性|0x0008|479\n耐油性|0x100000|1129\n男扮女装|0x0008|870\n男保姆|0x100000|408\n男傧相|0x100000|1265\n男才女貌|0x800000|825\n男厕所|0x100000|900\n男唱女随|0x0000|100\n男大当婚|0x800000|1002\n男大当娶|0x0000|100\n男大须婚|0x0000|100\n男盗女娼|0x800000|44770\n男低音|0x100000|995\n男儿有泪不轻弹|0x1000000|851\n男高音|0x100000|860\n男歌手|0x100000|515\n男耕女织|0x800000|949\n男公关|0x100000|443\n男孩儿|0x100000|5675\n男孩子|0x100000|567\n男护士|0x100000|452\n男欢女爱|0x800000|799\n男婚女嫁|0x800000|1050\n男婚女聘|0x0000|100\n男篮赛|0x100000|1284\n男明星|0x100000|502\n男模特|0x100000|414\n男男女女|0x800000|18034\n男女比例|0x100000|477\n男女队|0x100000|410\n男女关系|0x0000|30193\n男女老少|0x100000|14965\n男女老小|0x0000|100\n男女老幼|0x800000|918\n男女朋友|0x100000|535\n男女平等|0x800000|782\n男女生|0x100000|507\n男女授受不亲|0x0008|999\n男女双方|0x0000|528\n男女性|0x100000|449\n男女有别|0x800000|100\n男女之间|0x0000|572\n男朋友|0x100000|9947\n男青年|0x0000|557\n男人帮|0x100000|507\n男人婆|0x0008|0\n男人味|0x100000|747\n男生女生|0x100000|539\n男生宿舍|0x100000|795\n男士服装|0x100000|470\n男士内衣|0x100000|432\n男士品牌|0x100000|535\n男士品牌名店|0x100000|523\n男室女家|0x0000|100\n男同胞|0x100000|495\n男同性恋|0x0000|493\n男同学|0x100000|560\n男同志|0x100000|532\n男性病|0x100000|53873\n男性化|0x100000|867\n男性疾病|0x100000|414\n男性用品|0x100000|428\n男学生|0x0000|480\n男医生|0x100000|469\n男中音|0x100000|918\n男主角|0x100000|696\n男主人|0x100000|515\n男子汉|0x100000|11260\n男子篮球|0x100000|440\n男子气|0x40000000|429\n男尊女卑|0x800000|41294\n南安普顿|0x0040|1677\n南安市|0x0040|1288\n南岸区|0x0040|1216\n南澳县|0x0040|1090\n南半球|0x100000|24782\n南北朝|0x4000|19633\n南北方|0x2000000|963\n南北货|0x100000|385\n南北极|0x100000|1000\n南北纬|0x100000|1248\n南北向|0x2000000|871\n南北战争|0x100000|915\n南部地区|0x0000|503\n南部县|0x0040|1587\n南昌大学|0x100000|493\n南昌街|0x0040|1195\n南昌起义|0x0008|1554\n南昌市|0x0040|1146\n南昌铁路局|0x0020|1547\n南昌县|0x0040|1541\n南朝鲜|0x100000|1586\n南城县|0x0040|1050\n南充市|0x0040|1386\n南川市|0x0040|1274\n南船北车|0x0000|100\n南达科他|0x0040|1105\n南达科他州|0x0040|1144\n南大街|0x100000|572\n南丹县|0x0040|1563\n南丁格尔|0x0080|1621\n南贩北贾|0x800000|100\n南方电网|0x100000|482\n南方都市报|0x0000|572\n南方高科|0x100000|914\n南方人|0x100000|780\n南方人才|0x100000|437\n南方日报|0x100000|805\n南方网|0x0008|1058\n南方证券|0x100000|502\n南方周末|0x100000|761\n南非共和国|0x0040|1149\n南丰县|0x0040|1654\n南风不竞|0x1000000|1405\n南风窗|0x100000|420\n南宫市|0x0040|1406\n南瓜子|0x0008|978\n南冠楚囚|0x0000|100\n南郭处士|0x1000000|1321\n南郭先生|0x1000000|1059\n南海县人|0x100000|0\n南海诸岛|0x0008|3\n南航北骑|0x1000000|100\n南和县|0x0040|1057\n南湖大山|0x0040|1110\n南户窥郎|0x1000000|100\n南华县|0x0040|1083\n南回归线|0x100000|1078\n南汇区|0x0040|1272\n南箕北斗|0x1000000|1430\n南极光|0x100000|1141\n南极圈|0x100000|1143\n南极洲|0x0040|27133\n南涧彝族自治县|0x0040|1126\n南江县|0x0040|1057\n南金东箭|0x1000000|100\n南京晨报|0x100000|476\n南京大学|0x0020|1162\n南京东路|0x0040|1390\n南京翻译|0x100000|399\n南京房产|0x100000|428\n南京房地产|0x100000|445\n南京航空航天|0x100000|461\n南京军区|0x0020|1459\n南京理工|0x100000|490\n南京理工大学|0x100000|470\n南京路|0x0040|1174\n南京旅游|0x100000|414\n南京农业|0x100000|474\n南京农业大学|0x100000|457\n南京人|0x100000|854\n南京日报|0x100000|503\n南京师范大学|0x0020|1280\n南京市|0x0040|946\n南京中医药大学|0x0020|1600\n南靖县|0x0040|1611\n南橘北枳|0x0000|100\n南卡罗来纳州|0x0040|1127\n南开大学|0x0020|1202\n南开区|0x0040|1248\n南康市|0x0040|1587\n南柯梦|0x100000|1146\n南柯一梦|0x1400000|48448\n南来北往|0x1000000|32657\n南乐县|0x0040|1573\n南联盟|0x0040|962\n南陵县|0x0040|1562\n南蛮鴂舌|0x1000000|100\n南蛮鴃舌|0x0000|100\n南美人的一种斗篷|0x400000|0\n南美洲|0x0040|16039\n南面百城|0x1000000|100\n南面称孤|0x0000|100\n南木林|0x0040|1200\n南木林县|0x0040|1232\n南南合作|0x1000|1079\n南泥湾|0x0040|1538\n南宁市|0x0040|1114\n南皮县|0x0040|1490\n南平市|0x0040|1370\n南腔北调|0x1000000|34073\n南去北来|0x1000000|100\n南阮北阮|0x800000|100\n南沙参|0x0008|0\n南沙群岛|0x0040|1541\n南山可移|0x800000|100\n南山铁案|0x1000000|100\n南师大|0x100000|442\n南水北调|0x800000|850\n南斯拉夫|0x0040|1285\n南太平洋|0x0008|47\n南天门|0x0040|1448\n南天竹|0x100000|1089\n南通社|0x0020|1536\n南通市|0x0040|1125\n南投市|0x0040|1120\n南投县|0x0040|1405\n南味儿|0x0000|54887\n南温带|0x100000|0\n南溪县|0x0040|1075\n南雄市|0x0040|1422\n南亚次大陆|0x100000|391\n南阳街|0x0040|0\n南阳盆地|0x0040|1110\n南阳市|0x0040|1210\n南鹞北鹰|0x800000|100\n南舣北驾|0x1000000|100\n南辕北辙|0x1000000|34074\n南漳县|0x0040|1622\n南召县|0x0040|1606\n南棹北辕|0x1000000|100\n南征北伐|0x1000000|1232\n南征北讨|0x1000000|1116\n南征北战|0x1000000|32658\n南郑县|0x0040|1036\n南枝北枝|0x100000|100\n南州冠冕|0x1000000|100\n难道说|0x10000000|750\n难得糊涂|0x0008|100\n难得一见|0xc00000|14\n难弟难兄|0x1000000|100\n难分难解|0x1000000|41514\n难分难舍|0x1000000|906\n难分仲伯|0x800000|0\n难割难舍|0x800000|1141\n难更仆数|0x1000000|100\n难乎其难|0x1000000|1171\n难乎为继|0x1000000|100\n难乎为情|0x1000000|100\n难解难分|0x1000000|31651\n难进易退|0x1000000|100\n难民营|0x100000|16246\n难鸣孤掌|0x1000000|100\n难能可贵|0x1000000|14673\n难上加难|0x800000|793\n难上难|0x40000000|55404\n难舍难分|0x1000000|38125\n难说话|0x0000|51496\n难逃一死|0x400000|2\n难为情|0x40000000|13356\n难兄难弟|0x1000000|42501\n难言之隐|0x1000000|34354\n难以承受|0x40000000|533\n难以启齿|0x800000|38931\n难以忍受|0x800000|731\n难以忘怀|0x800000|726\n难以为继|0x1000000|892\n难以为情|0x1000000|1315\n难以想象|0x800000|686\n难以形容|0x0000|523\n难以言状|0x800000|0\n难以预料|0x800000|845\n难以置信|0x1000000|19893\n难以捉摸|0x0000|523\n难于登天|0x1000000|1101\n难于启齿|0x1000000|1073\n难于上青天|0x0008|904\n难于上天|0x0000|100\n喃喃细语|0x0000|100\n喃喃自语|0x1000|724\n赧颜汗下|0x0000|100\n囊空如洗|0x1000000|52859\n囊括四海|0x1400000|0\n囊里盛锥|0x1000000|100\n囊漏储中|0x1000000|100\n囊漏贮中|0x1000000|100\n囊胚腔|0x100000|0\n囊谦县|0x0040|1206\n囊匣如洗|0x1000000|100\n囊萤映雪|0x0000|100\n囊萤照读|0x0000|100\n囊萤照书|0x1000000|100\n囊中物|0x100000|52362\n囊中羞涩|0x800000|36850\n囊中之物|0x800000|909\n囊锥露颖|0x1000000|100\n挠喉捩嗓|0x1000000|100\n挠曲枉直|0x1000000|100\n挠腮撧耳|0x1000000|100\n挠直为曲|0x1000000|100\n恼羞变怒|0x1000000|100\n恼羞成怒|0x1000000|22837\n脑白金|0x100000|520\n脑充血|0x100000|52363\n脑出血|0x0008|39752\n脑垂体|0x100000|985\n脑袋瓜|0x100000|907\n脑袋瓜儿|0x0000|37393\n脑袋瓜子|0x100000|834\n脑电波|0x100000|38316\n脑电图|0x100000|38932\n脑啡肽|0x0008|0\n脑苷脂|0x100000|1385\n脑梗死|0x0000|411\n脑瓜儿|0x100000|47777\n脑瓜子|0x100000|1012\n脑积水|0x0008|54407\n脑脊液|0x100000|1010\n脑科学|0x100000|1043\n脑力劳动|0x800000|846\n脑力劳动者|0x100000|963\n脑满肠肥|0x1000000|47778\n脑门儿|0x100000|32022\n脑门子|0x100000|32276\n脑膜炎|0x100000|28651\n脑贫血|0x100000|1301\n脑勺儿|0x0000|20662\n脑神经|0x100000|30302\n脑栓塞|0x100000|389\n脑水肿|0x0000|439\n脑死亡|0x0000|39133\n脑损伤|0x100000|463\n脑体倒挂|0x0000|54408\n脑外科|0x100000|1011\n脑外伤|0x100000|438\n脑细胞|0x100000|549\n脑下垂体|0x100000|1064\n脑心肌炎病毒|0x0008|0\n脑血管|0x100000|21724\n脑血管病|0x100000|530\n脑血栓|0x100000|31187\n脑溢血|0x100000|28292\n脑震荡|0x100000|43239\n脑中风|0x100000|495\n脑卒中|0x0008|486\n闹别扭|0x1000|28038\n闹洞房|0x1000|44184\n闹独立性|0x1000|1273\n闹肚子|0x1000|39337\n闹翻天|0x100000|930\n闹革命|0x1000|917\n闹哄哄|0x0100|31652\n闹饥荒|0x1000|42975\n闹乱子|0x1000|49542\n闹脾气|0x1000|36181\n闹情绪|0x1000|37939\n闹嚷嚷|0x0100|39557\n闹市区|0x100000|25429\n闹水灾|0x1000|1163\n闹笑话|0x800000|39973\n闹新房|0x1000|46838\n闹意见|0x1000|39339\n闹意气|0x1000|52861\n闹灾荒|0x800000|1253\n闹着玩|0x1000|825\n闹着玩儿|0x1000|20540\n讷河市|0x0040|1643\n讷口少言|0x0000|100\n讷言敏行|0x1000000|100\n呐喊助威|0x800000|31881\n呢喃细语|0x800000|1122\n嫩江县|0x0040|1603\n嫩绿色|0x100000|894\n嫩生生|0x0100|1175\n能不称官|0x1000000|100\n能不能|0x4000000|812\n能动性|0x100000|818\n能歌善舞|0x800000|31068\n能工巧匠|0x1000000|26983\n能见度|0x100000|20869\n能近取譬|0x1000000|1231\n能力差|0x100000|546\n能力强|0x100000|672\n能力倾向测验|0x0008|0\n能量不等式|0x0008|0\n能量守恒定律|0x0008|381\n能量消耗|0x0008|1\n能谋善断|0x0000|100\n能漂一邑|0x1400000|0\n能掐会算|0x1000000|53362\n能屈能伸|0x1000000|43945\n能上能下|0x1000000|16892\n能伸能屈|0x1000000|1192\n能生存|0x40000000|514\n能说惯道|0x0000|100\n能说会道|0x1000000|33941\n能文能武|0x1000000|988\n能写会算|0x1000000|1304\n能牙利齿|0x1000000|100\n能言快说|0x1000000|100\n能言快语|0x1000000|1534\n能言巧辩|0x0000|100\n能言善辩|0x1000000|40186\n能源安全|0x100000|488\n能源部|0x100000|914\n能源地理学|0x0008|0\n能源动力|0x100000|419\n能源工业|0x0008|8\n能源价格|0x100000|502\n能源危机|0x0008|11\n能源消耗|0x0008|508\n能源行业|0x100000|483\n能源需求|0x100000|467\n能者多劳|0x1000000|49898\n能者为师|0x800000|1204\n能征惯战|0x1000000|1140\n尼泊尔|0x0040|7862\n尼布楚|0x100000|1069\n尼尔森|0x0040|1362\n尼姑庵|0x0040|34669\n尼古丁|0x100000|38934\n尼古拉斯|0x0040|1278\n尼赫鲁|0x0080|1037\n尼加拉瓜|0x0040|1502\n尼科西亚|0x0040|1184\n尼克森|0x0080|1125\n尼克松|0x0080|1384\n尼勒克|0x0040|1082\n尼勒克县|0x0040|1122\n尼龙布|0x0000|53363\n尼龙带|0x100000|376\n尼龙袋|0x0000|49543\n尼龙管|0x100000|381\n尼龙绳|0x100000|44773\n尼龙丝|0x100000|398\n尼龙袜|0x100000|45347\n尼龙网|0x100000|46842\n尼罗河|0x0040|1315\n尼玛县|0x0040|1196\n尼莫地平|0x0008|1105\n尼木县|0x0040|1151\n尼群地平|0x0008|1182\n尼日尔|0x0040|1578\n尼日利亚|0x0040|1208\n尼亚美|0x0040|1298\n尼扬维齐|0x0080|0\n泥巴路|0x100000|1164\n泥车瓦马|0x1000000|100\n泥船渡河|0x800000|100\n泥多佛大|0x1000000|100\n泥而不滓|0x1000000|100\n泥饭碗|0x100000|55406\n泥古不化|0x1000000|1253\n泥古非今|0x0000|100\n泥古拘方|0x1000000|100\n泥灰岩|0x100000|1314\n泥浆泵|0x100000|462\n泥金万点|0x1000000|100\n泥名失实|0x1000000|100\n泥牛入海|0x1000000|44774\n泥蟠不滓|0x800000|100\n泥菩萨|0x100000|39558\n泥菩萨过江|0x0008|1151\n泥人儿|0x100000|1241\n泥沙俱下|0x1000000|37941\n泥沙运动|0x0008|0\n泥石流|0x100000|14832\n泥水工|0x0000|371\n泥水匠|0x100000|32910\n泥塑木雕|0x1000000|1137\n泥腿子|0x800000|36852\n泥娃娃|0x0000|430\n泥瓦工|0x0000|46844\n泥瓦匠|0x100000|34517\n泥中隐刺|0x1000000|100\n泥猪疥狗|0x1000000|100\n泥猪癞狗|0x1000000|100\n泥猪瓦狗|0x1000000|100\n泥足巨人|0x1000000|1221\n霓红灯|0x0000|397\n霓虹灯|0x100000|17337\n你唱我和|0x0000|100\n你夺我争|0x0000|100\n你来我往|0x800000|34982\n你死我活|0x1000000|22838\n你一言|0xc00000|2\n你已经|0x0000|722\n你争我夺|0x800000|41065\n你追我赶|0x800000|31070\n你自己|0x0000|806\n拟病毒|0x0008|0\n拟等位基因|0x0008|0\n拟非其伦|0x1000000|100\n拟规画圆|0x1000000|100\n拟基因型|0x0008|0\n拟南芥|0x100000|1209\n拟人化|0x1000|950\n拟声词|0x0000|56000\n拟音师|0x100000|0\n拟于不伦|0x1000000|1535\n儗不于伦|0x0000|100\n儗非其伦|0x1000000|100\n逆阪走丸|0x1000000|100\n逆坂走丸|0x1000000|100\n逆变器|0x100000|788\n逆臣贼子|0x0000|100\n逆道乱常|0x1000000|100\n逆德者亡|0x1000000|0\n逆定理|0x100000|1204\n逆耳利行|0x1000000|100\n逆耳良言|0x0000|100\n逆耳之言|0x1000000|1179\n逆反心理|0x100000|28940\n逆反应|0x100000|1268\n逆风恶浪|0x1000000|100\n逆来顺受|0x1000000|32409\n逆流而上|0x0000|36504\n逆命题|0x100000|1202\n逆取顺守|0x0000|100\n逆施倒行|0x1000000|100\n逆时针|0x100000|42758\n逆时针方向|0x40000000|433\n逆水行舟|0x1000000|37942\n逆天暴物|0x1000000|100\n逆天犯顺|0x1000000|100\n逆天违理|0x0000|100\n逆天违众|0x1000000|100\n逆天者亡|0x1000000|1161\n逆温层|0x100000|1284\n逆我者死|0x1000000|1216\n逆我者亡|0x800000|1024\n逆行倒施|0x1000000|100\n逆运算|0x100000|1205\n逆之者亡|0x1000000|1115\n逆转录|0x100000|1050\n逆子贼臣|0x0000|100\n匿迹潜形|0x1000000|100\n匿迹销声|0x1000000|1392\n匿迹隐形|0x0000|100\n匿名信|0x100000|30738\n匿瑕含垢|0x1000000|100\n匿影藏形|0x1000000|1534\n溺心灭质|0x1000000|100\n溺于旧闻|0x1000000|100\n腻在一起|0x400000|1\n拈断髭须|0x0000|100\n拈毫弄管|0x1000000|100\n拈花弄柳|0x1000000|100\n拈花弄月|0x1000000|100\n拈花惹草|0x1000000|46249\n拈花微笑|0x1000|940\n拈花一笑|0x1400000|0\n拈花摘艳|0x1000000|100\n拈华摘艳|0x1000000|100\n拈斤播两|0x1000000|100\n拈阄儿|0x1000|1344\n拈轻掇重|0x1000000|100\n拈轻怕重|0x1000000|52368\n拈酸吃醋|0x1000000|1332\n拈酸泼醋|0x1000000|100\n年产量|0x100000|736\n年产值|0x100000|12791\n年代初|0x100000|655\n年登花甲|0x0000|100\n年底以前|0x100000|415\n年度报告|0x0000|608\n年度工作|0x100000|538\n年度计划|0x100000|835\n年度人物|0x100000|534\n年复一年|0x1400000|7\n年富力强|0x1000000|21814\n年该月值|0x1000000|100\n年高德劭|0x1000000|52369\n年高德卲|0x1000000|100\n年高德勋|0x0000|100\n年高望重|0x1000000|100\n年谷不登|0x0000|100\n年过半百|0x800000|901\n年过花甲|0x800000|1013\n年华垂暮|0x0000|100\n年级组|0x100000|498\n年较差|0x0008|0\n年近古稀|0x800000|1078\n年近花甲|0x800000|1053\n年经国纬|0x1000000|100\n年久失修|0x800000|887\n年久月深|0x800000|1287\n年老力衰|0x0000|42759\n年老体弱|0x800000|954\n年老体衰|0x800000|1030\n年利率|0x100000|922\n年利润|0x0000|507\n年龄段|0x100000|17307\n年龄阶段|0x100000|474\n年龄结构|0x0000|478\n年龄特征|0x0008|0\n年龄组|0x100000|1012\n年轮气候学|0x0008|0\n年迈体弱|0x800000|1053\n年年岁岁|0x4000|816\n年年有余|0x800000|917\n年年月月|0x4000|48812\n年平均|0x0008|586\n年平均增长|0x0000|416\n年平均增长率|0x0000|417\n年青人|0x100000|745\n年轻队员|0x100000|492\n年轻夫妇|0x0000|450\n年轻化|0x1000|811\n年轻力壮|0x1000000|921\n年轻女孩|0x100000|516\n年轻漂亮|0x0000|525\n年轻气盛|0x800000|34518\n年轻人|0x100000|2417\n年轻时|0x100000|623\n年轻一代|0x400000|36\n年轻有为|0x800000|849\n年三十|0x0000|41516\n年少时|0x100000|523\n年深日久|0x1000000|39753\n年深岁久|0x800000|100\n年深月久|0x800000|1141\n年事已高|0x800000|892\n年收入|0x100000|9448\n年衰岁暮|0x1000000|100\n年头儿|0x100000|10287\n年头月尾|0x1000000|100\n年销售额|0x100000|387\n年薪制|0x100000|467\n年湮世远|0x1000000|100\n年夜饭|0x100000|18625\n年谊世好|0x0000|100\n年幼无知|0x800000|842\n年逾古稀|0x800000|1034\n年月日|0x100000|542\n年增长率|0x100000|841\n年终奖|0x100000|518\n年终奖金|0x0000|471\n年终总结|0x0000|512\n年壮气锐|0x0000|100\n鲇鱼上竿|0x1000000|100\n鲇鱼上竹|0x1000000|100\n鲇鱼上竹竿|0x0008|1541\n鲇鱼缘竹竿|0x0008|1258\n黏合剂|0x0008|51500\n黏吝缴绕|0x0000|100\n黏黏糊糊|0x0000|50665\n黏皮带骨|0x1000000|100\n黏皮着骨|0x1000000|100\n捻神捻鬼|0x800000|100\n捻土焚香|0x1000000|100\n捻土为香|0x1000000|100\n捻转补泻|0x0008|0\n碾米厂|0x100000|1092\n碾米机|0x0008|1088\n廿一世纪|0x400000|0\n念念不忘|0x1000000|19635\n念念书|0x100000|0\n念念有词|0x1000|27221\n念青五笔|0x400000|0\n念珠菌|0x100000|477\n念兹在兹|0x1000000|1082\n娘儿们|0x100000|21443\n娘们儿|0x0000|9412\n娘娘腔|0x100000|46252\n娘子军|0x100000|24383\n酿酒厂|0x100000|908\n酿酒业|0x100000|1108\n鸟氨酸|0x100000|1213\n鸟道羊肠|0x1000000|1539\n鸟得弓藏|0x1000000|100\n鸟焚鱼烂|0x1000000|100\n鸟伏兽穷|0x1000000|100\n鸟覆危巢|0x1000000|100\n鸟革翚飞|0x1000000|100\n鸟骇鼠窜|0x1000000|100\n鸟迹虫丝|0x0000|100\n鸟集鳞萃|0x1000000|100\n鸟叫声|0x0000|432\n鸟尽弓藏|0x1000000|53875\n鸟惊鼠窜|0x1000000|100\n鸟惊鱼骇|0x1000000|100\n鸟惊鱼溃|0x1000000|100\n鸟惊鱼散|0x1000000|100\n鸟瞰图|0x100000|1001\n鸟哭猿啼|0x1000000|100\n鸟类学|0x100000|1216\n鸟类学家|0x100000|951\n鸟面鹄形|0x1000000|100\n鸟枪换炮|0x1000000|41756\n鸟枪换砲|0x1000000|100\n鸟穷则啄|0x800000|100\n鸟入樊笼|0x0000|100\n鸟散鱼溃|0x1000000|100\n鸟声兽心|0x1000000|100\n鸟兽散|0x1000000|42502\n鸟啼花落|0x1000000|100\n鸟啼花怨|0x1000000|100\n鸟为食亡|0x800000|100\n鸟窝式|0x100000|0\n鸟语花香|0x1000000|28117\n袅娜娉婷|0x0000|100\n袅袅娜娜|0x0100|1093\n袅袅娉娉|0x0000|100\n袅袅亭亭|0x0000|100\n袅袅婷婷|0x0100|38725\n袅袅余音|0x0000|100\n尿崩症|0x100000|1128\n尿常规|0x100000|442\n尿胆素|0x0008|0\n尿道炎|0x100000|900\n尿毒症|0x100000|28743\n尿苷酸|0x0008|0\n尿激酶|0x100000|1085\n尿流屁滚|0x1000000|100\n尿路感染|0x0008|474\n尿嘧啶核苷|0x0008|0\n尿囊素|0x100000|1098\n尿失禁|0x0000|51501\n尿素氮|0x100000|411\n尿酸酶|0x100000|0\n脲醛树脂|0x0008|0\n捏把汗|0x1000|47140\n捏怪排科|0x0000|100\n捏脚捏手|0x1000000|100\n捏腔拿调|0x800000|1534\n捏手捏脚|0x1000000|1273\n捏一把汗|0x1400000|34357\n捏一把冷汗|0x400000|0\n涅而不淄|0x1000000|0\n涅而不缁|0x1000000|1311\n聂伯河|0x0008|1535\n聂拉木|0x0040|1082\n聂拉木县|0x0040|1182\n聂荣县|0x0040|1252\n啮臂之好|0x1000000|100\n啮檗吞针|0x0000|100\n啮雪餐毡|0x0000|100\n啮雪吞毡|0x0000|100\n啮血沁骨|0x1000000|100\n啮血为盟|0x0000|100\n嗫嗫嚅嚅|0x1000000|1219\n嗫嚅小儿|0x0000|100\n镍铬丝|0x0008|1194\n镍合金|0x0008|414\n镍氢电池|0x0008|839\n蹑脚蹑手|0x1000000|100\n蹑屩担簦|0x1000000|100\n蹑屩檐簦|0x1000000|100\n蹑蹻担簦|0x1000000|100\n蹑蹻檐簦|0x1000000|100\n蹑手蹑脚|0x1000000|23599\n蹑手蹑足|0x1000000|100\n蹑影藏形|0x1000000|100\n蹑影潜踪|0x1000000|100\n蹑影追风|0x0000|100\n蹑足附耳|0x0000|100\n蹑足其间|0x1000000|100\n蹑足潜踪|0x1000000|1333\n孽根祸胎|0x1000000|1378\n孽障种子|0x0000|100\n孽子孤臣|0x0000|100\n宁安市|0x0040|1598\n宁波大学|0x100000|470\n宁波市|0x0040|987\n宁城县|0x0040|1648\n宁德市|0x0040|1366\n宁都县|0x0040|1648\n宁国市|0x0040|1301\n宁海县|0x0040|1250\n宁河县|0x0040|1501\n宁化县|0x0040|1054\n宁津县|0x0040|1480\n宁晋县|0x0040|1554\n宁静致远|0x800000|834\n宁可信其有|0x1000000|943\n宁可玉碎|0x1000000|1055\n宁蒗彝族自治县|0x0040|1154\n宁陵县|0x0040|1610\n宁明县|0x0040|1627\n宁南县|0x0040|1142\n宁强县|0x0040|1059\n宁缺毋滥|0x1000000|45960\n宁缺勿滥|0x800000|913\n宁陕县|0x0040|1075\n宁死不屈|0x1000000|38128\n宁死不辱|0x0000|100\n宁为鸡口|0x800000|1202\n宁为玉碎|0x800000|921\n宁为玉碎,不为瓦全|0x0000|50667\n宁武县|0x0040|1087\n宁夏回族|0x0040|1261\n宁夏回族自治区|0x0040|1317\n宁夏路|0x0040|0\n宁夏银川|0x100000|483\n宁夏自治区|0x0040|1598\n宁乡县|0x0040|1494\n宁馨儿|0x100000|1082\n宁阳县|0x0040|1587\n宁远县|0x0040|1608\n宁折不弯|0x800000|1066\n拧成一股绳|0x400000|1058\n狞髯张目|0x1000000|100\n柠檬茶|0x100000|896\n柠檬黄|0x100000|953\n柠檬色|0x100000|1117\n柠檬树|0x100000|467\n柠檬水|0x100000|924\n柠檬酸|0x100000|38127\n柠檬酸循环|0x0008|0\n柠檬汁|0x0008|50287\n凝固点|0x100000|1109\n凝固剂|0x0000|55794\n凝固汽油|0x100000|1002\n凝固时间|0x0008|0\n凝灰岩|0x100000|1172\n凝集反应|0x0008|0\n凝集素|0x0008|380\n凝胶电泳|0x0008|0\n凝胶体|0x100000|1239\n凝结核|0x0008|1\n凝结器|0x0008|1333\n凝结水|0x0008|1066\n凝聚剂|0x100000|1164\n凝聚力|0x100000|4917\n凝汽器|0x0008|1078\n凝血酶|0x100000|1059\n凝血酶原|0x100000|1114\n凝脂点漆|0x1000000|100\n凝瞩不转|0x1000000|100\n牛鼻子|0x800000|30081\n牛脖子|0x0000|50288\n牛不喝水强按头|0x0008|1319\n牛车水|0x100000|375\n牛初乳|0x100000|449\n牛刀割鸡|0x1000000|1370\n牛刀小试|0x1000000|51926\n牛鼎烹鸡|0x1000000|1368\n牛痘苗|0x100000|1542\n牛犊子|0x100000|52865\n牛顿第二定律|0x400008|0\n牛顿第三定律|0x400008|0\n牛顿第一定律|0x400008|0\n牛轭湖|0x100000|1405\n牛肝菌|0x0000|55795\n牛高马大|0x1000000|1063\n牛鬼蛇神|0x1000000|21536\n牛黄狗宝|0x1000000|100\n牛黄解毒片|0x0008|1029\n牛磺酸|0x100000|997\n牛骥共牢|0x1000000|100\n牛骥同槽|0x1000000|100\n牛骥同皁|0x1000000|100\n牛骥同皂|0x800000|100\n牛角挂书|0x1000|100\n牛角尖|0x100000|45350\n牛角书生|0x1000000|100\n牛角之歌|0x1000000|100\n牛津大学|0x0020|1347\n牛口之下|0x1000000|100\n牛郎星|0x0008|47438\n牛郎织女|0x100000|34671\n牛马襟裾|0x1000000|100\n牛毛细雨|0x1000000|1176\n牛毛雨|0x100000|1429\n牛奶糖|0x0008|0\n牛年马月|0x800000|1320\n牛农对泣|0x1000|100\n牛皮菜|0x100000|1330\n牛皮癣|0x100000|26767\n牛皮纸|0x100000|31768\n牛脾气|0x100000|47439\n牛肉场|0x0008|0\n牛肉干|0x100000|829\n牛肉面|0x100000|801\n牛肉汤|0x0008|446\n牛溲马勃|0x1000000|1413\n牛溲马渤|0x1000000|100\n牛蹄之涔|0x0000|100\n牛蹄之鱼|0x1000000|100\n牛蹄中鱼|0x1000000|100\n牛听弹琴|0x1000000|100\n牛童马走|0x1000000|100\n牛头不对马面|0x0008|100\n牛头不对马嘴|0x1000|997\n牛头马面|0x1000000|46253\n牛头刨|0x100000|1260\n牛星织女|0x1000000|100\n牛性子|0x0000|52866\n牛羊肉|0x100000|858\n牛羊勿践|0x1000000|100\n牛衣病卧|0x1000000|100\n牛衣对泣|0x1000000|1177\n牛衣岁月|0x1000000|100\n牛衣夜哭|0x1000000|100\n牛之一毛|0x400000|100\n牛仔布|0x100000|509\n牛仔服|0x100000|45652\n牛仔服装|0x100000|475\n牛仔裤|0x100000|19559\n牛仔面料|0x100000|385\n牛仔裙|0x100000|458\n牛仔衣|0x100000|408\n牛仔装|0x0008|930\n忸怩不安|0x0000|100\n忸怩作态|0x1000000|1086\n忸忸怩怩|0x0100|1199\n扭成一团|0x400000|0\n扭亏为盈|0x800000|16601\n扭亏增盈|0x1000000|24783\n扭力天平|0x4000000|1059\n扭捏作态|0x800000|1067\n扭扭捏捏|0x0100|900\n扭曲作直|0x1000000|100\n扭秧歌|0x1000|29038\n扭直作曲|0x800000|100\n扭转干坤|0x0000|100\n扭转乾坤|0x800000|900\n纽芬堡|0x0008|1542\n纽芬兰|0x100000|1009\n纽卡斯尔|0x0040|1342\n纽伦堡|0x0040|1352\n纽西兰|0x100000|1342\n纽约时报|0x100000|740\n纽约市|0x0040|1341\n纽约市场|0x100000|476\n纽约证券交易所|0x0020|1501\n纽约州|0x0040|1406\n农安县|0x0040|1624\n农产品|0x100000|2233\n农产品出口|0x100000|508\n农产品市场|0x100000|505\n农产品收购|0x0000|380\n农场主|0x100000|926\n农村包围城市|0x0008|5\n农村党员|0x100000|537\n农村妇女|0x100000|506\n农村工作|0x100000|565\n农村工作会议|0x100000|458\n农村公路|0x100000|536\n农村公社|0x0008|0\n农村孩子|0x100000|474\n农村户口|0x0000|471\n农村化|0x100000|0\n农村基层|0x100000|560\n农村建设|0x0008|230\n农村教师|0x100000|480\n农村教育|0x100000|543\n农村金融|0x0008|497\n农村经济|0x0008|739\n农村居民|0x100000|540\n农村劳动力|0x100000|583\n农村人口|0x100000|523\n农村人民公社|0x0008|0\n农村市场|0x100000|532\n农村税费|0x100000|542\n农村土地|0x100000|523\n农村卫生|0x100000|503\n农村信用|0x100000|518\n农村信用合作社|0x0000|472\n农村信用社|0x0000|565\n农村义务教育|0x100000|546\n农村中小学|0x100000|537\n农副产品|0x100000|7289\n农副业|0x100000|27549\n农杆素|0x100000|0\n农耕队|0x100000|0\n农耕机|0x100000|0\n农工党|0x0020|1056\n农工民主党|0x0008|1592\n农工商|0x100000|26470\n农活儿|0x0000|28942\n农机厂|0x100000|964\n农机具|0x100000|19705\n农机配件|0x100000|428\n农机系|0x100000|0\n农机站|0x100000|53367\n农吉利|0x100000|1413\n农技团|0x100000|0\n农技站|0x100000|947\n农家肥|0x100000|27725\n农家肥料|0x100000|1025\n农家乐|0x100000|528\n农家女|0x100000|948\n农家院|0x100000|445\n农经系|0x100000|1223\n农具厂|0x100000|0\n农科院|0x100000|817\n农林科学院|0x100000|401\n农林牧副渔|0x100000|999\n农林厅|0x100000|1131\n农贸市场|0x100000|14069\n农民负担|0x100000|561\n农民革命|0x100000|0\n农民工|0x100000|694\n农民阶级|0x0008|0\n农民企业家|0x0000|411\n农民起义|0x800000|878\n农民群众|0x0000|549\n农民日报|0x0008|1533\n农民收入|0x100000|605\n农民协会|0x100000|1071\n农民运动会|0x0000|371\n农民战争|0x100000|33661\n农牧场|0x100000|1044\n农牧结合|0x0008|0\n农牧民|0x100000|905\n农牧区|0x100000|1021\n农牧业|0x100000|866\n农牧渔业|0x100000|1045\n农奴阶级|0x0008|0\n农奴制|0x100000|1072\n农奴主|0x100000|39754\n农轻重|0x0000|54411\n农田灌溉|0x0008|997\n农田基本建设|0x0008|389\n农田水利|0x100000|884\n农学院|0x100000|851\n农药厂|0x100000|432\n农药污染|0x0008|1\n农业布局|0x0008|0\n农业部|0x100000|1098\n农业部长|0x100000|709\n农业部门|0x100000|924\n农业产业|0x100000|525\n农业大学|0x0020|1086\n农业贷款|0x0008|6\n农业地理学|0x0008|0\n农业地域类型|0x0008|0\n农业电气化|0x0008|0\n农业发展银行|0x0020|1376\n农业法|0x100000|427\n农业工程|0x0008|897\n农业工人|0x100000|1\n农业国|0x100000|37943\n农业合作|0x100000|8\n农业合作化|0x0008|379\n农业户口|0x100000|461\n农业化|0x100000|51504\n农业化学|0x0008|1\n农业机械|0x0008|581\n农业机械化|0x0008|502\n农业集体化|0x100000|1\n农业技术|0x100000|725\n农业经济|0x100000|809\n农业局|0x100000|755\n农业科技|0x0008|686\n农业科学|0x100000|818\n农业科研|0x100000|465\n农业龙头企业|0x100000|477\n农业品|0x100000|1263\n农业区|0x100000|1012\n农业区划|0x0008|0\n农业人口|0x0008|23\n农业社|0x100000|18827\n农业生产|0x0008|628\n农业生产合作社|0x0008|0\n农业生产资料|0x0008|512\n农业税|0x100000|6820\n农业厅|0x100000|522\n农业统计学|0x0008|0\n农业土壤|0x0008|0\n农业系统工程|0x0008|0\n农业现代化|0x0008|492\n农业学大寨|0x0000|385\n农业遥感|0x0008|0\n农业银行|0x0008|1022\n农业用地|0x0008|10\n农业院校|0x100000|1012\n农业政策|0x0008|945\n农业知识|0x100000|385\n农业中学|0x0008|0\n农业装备|0x100000|390\n农业总产值|0x0008|460\n农艺师|0x100000|27793\n农用车|0x100000|866\n农用三轮车|0x100000|400\n农运会|0x0008|18335\n农转非|0x800000|24514\n农作机|0x100000|0\n农作物|0x100000|6303\n浓度计|0x100000|379\n浓度梯度|0x0008|0\n浓咖啡|0x100000|409\n浓眉大眼|0x800000|39340\n浓抹淡妆|0x1000000|100\n浓墨重彩|0x1000000|22288\n浓缩剂|0x100000|1324\n浓缩器|0x0000|380\n浓缩物|0x100000|1190\n浓缩铀|0x100000|1000\n浓桃艳李|0x1000000|100\n浓烟滚滚|0x800000|966\n浓荫蔽日|0x800000|1121\n浓妆艳服|0x1000000|100\n浓妆艳裹|0x1000000|100\n浓妆艳抹|0x800000|34211\n浓妆艳饰|0x1000000|100\n浓装艳抹|0x1000000|1090\n弄兵潢池|0x1000000|100\n弄潮儿|0x100000|27222\n弄成一团|0x400000|0\n弄法舞文|0x1000000|100\n弄粉调朱|0x1000000|100\n弄斧班门|0x1000000|100\n弄管调弦|0x1000000|100\n弄鬼掉猴|0x1000000|100\n弄鬼弄神|0x0000|100\n弄鬼妆幺|0x1000000|100\n弄假成真|0x1000000|38130\n弄斤操斧|0x1000000|100\n弄口鸣舌|0x1000000|100\n弄眉挤眼|0x1000000|100\n弄巧成拙|0x1000000|31884\n弄巧反拙|0x1000000|1096\n弄清楚|0x0000|622\n弄神弄鬼|0x1000000|100\n弄瓦之喜|0x0000|100\n弄性尚气|0x800000|100\n弄虚作假|0x1000000|9025\n弄影团风|0x1000000|100\n弄玉吹箫|0x0000|100\n弄月嘲风|0x0000|100\n弄月吟风|0x1000000|100\n弄璋之喜|0x0000|100\n弄竹弹丝|0x1000000|100\n弄嘴弄舌|0x1000000|100\n奴隶起义|0x0008|0\n奴隶社会|0x800000|24515\n奴隶制|0x100000|914\n奴隶制度|0x800000|1030\n奴隶主|0x100000|15918\n奴隶主义|0x100000|0\n奴性十足|0x400000|0\n奴颜婢睐|0x1000000|100\n奴颜婢色|0x1000000|100\n奴颜婢膝|0x1000000|47440\n奴颜媚骨|0x1000000|55408\n驽箭离弦|0x1000000|100\n驽马恋栈|0x0000|100\n驽马恋栈豆|0x0008|1539\n驽马铅刀|0x1000000|100\n驽马十驾|0x1400000|0\n驽马十舍|0x1400000|0\n努比亚|0x100000|1111\n努尔哈赤|0x0080|1446\n努劲儿|0x1000|0\n努力奋斗|0x0000|566\n努力实现|0x0000|571\n努力提高|0x0000|608\n努力学习|0x0000|593\n努瓦克肖|0x0080|0\n努瓦克肖特|0x0040|1241\n弩下逃箭|0x1000000|100\n弩张剑拔|0x1000000|100\n怒不可遏|0x1000000|23547\n怒冲冲|0x0100|35396\n怒从心上起|0x100000|1292\n怒从心头起|0x0008|1052\n怒发冲冠|0x1000000|36685\n怒海争锋|0x100000|1060\n怒火冲天|0x1000000|1001\n怒火中烧|0x1000000|39341\n怒目而视|0x1000000|38131\n怒目横眉|0x1000000|1288\n怒目切齿|0x0000|100\n怒目圆睁|0x800000|986\n怒猊渴骥|0x0000|100\n怒气冲冲|0x1000000|800\n怒气冲天|0x1000000|925\n怒气攻心|0x800000|1061\n怒气填胸|0x0000|100\n怒涛澎湃|0x800000|1215\n怒形于色|0x800000|47141\n女白领|0x100000|514\n女扮男装|0x800000|865\n女病人|0x100000|449\n女博士|0x0000|501\n女厕所|0x100000|494\n女长当嫁|0x1000000|100\n女长须嫁|0x1000000|100\n女超人|0x100000|425\n女大不中留|0x0008|1066\n女大当嫁|0x1000000|997\n女大难留|0x1000000|100\n女大十八|0x400000|0\n女大十八变|0x400008|1\n女大须嫁|0x1000000|100\n女大学生|0x100000|695\n女党员|0x100000|387\n女低音|0x0008|1143\n女店员|0x0000|442\n女儿国|0x100000|503\n女儿红|0x100000|894\n女儿墙|0x100000|54412\n女法官|0x100000|417\n女犯人|0x100000|387\n女房东|0x0000|429\n女飞行员|0x0000|438\n女服务员|0x0000|513\n女干部|0x100000|475\n女高音|0x100000|865\n女高中生|0x100000|478\n女歌手|0x100000|750\n女公务员|0x100000|440\n女公子|0x100000|46848\n女管家|0x100000|1022\n女孩儿|0x100000|3869\n女孩子|0x100000|497\n女护士|0x100000|519\n女画家|0x100000|967\n女记者|0x100000|556\n女间谍|0x100000|457\n女将军|0x100000|429\n女教师|0x0000|596\n女经理|0x0000|450\n女警察|0x0000|468\n女警官|0x100000|438\n女巨人|0x100000|392\n女老板|0x100000|531\n女老师|0x100000|588\n女里女气|0x0000|53876\n女猎人|0x0000|378\n女流氓|0x0000|450\n女貌郎才|0x1000000|100\n女秘书|0x100000|560\n女明星|0x100000|639\n女模特|0x100000|504\n女能人|0x0000|51928\n女奴隶|0x100000|373\n女朋友|0x100000|18440\n女棋手|0x100000|400\n女企业家|0x100000|456\n女强人|0x100000|31770\n女青年|0x100000|557\n女球迷|0x100000|490\n女权运动|0x0008|7\n女权主义|0x0008|1339\n女人爱|0x100000|556\n女人高潮|0x100000|574\n女人家|0x100000|27952\n女人街|0x100000|485\n女人气|0x100000|1057\n女人图|0x100000|373\n女人心|0x100000|547\n女人性|0x100000|430\n女杀手|0x100000|469\n女上衣|0x0008|0\n女神像|0x100000|468\n女生版|0x100000|484\n女生部|0x100000|393\n女生节|0x100000|416\n女诗人|0x0000|455\n女士内衣|0x100000|429\n女士香水|0x100000|530\n女市长|0x0000|402\n女司机|0x0000|521\n女特工|0x100000|408\n女同胞|0x0000|504\n女同事|0x100000|584\n女同性恋|0x100000|860\n女同学|0x100000|611\n女同志|0x100000|550\n女娲补天|0x800000|974\n女校长|0x100000|393\n女刑警|0x100000|388\n女性美|0x100000|447\n女性内衣|0x100000|447\n女性朋友|0x100000|546\n女性频道|0x100000|501\n女性手机|0x100000|468\n女性阴道|0x100000|440\n女性用品|0x100000|455\n女性主义|0x100000|470\n女选手|0x100000|469\n女学生|0x0000|617\n女演员|0x100000|685\n女艺人|0x100000|523\n女英雄|0x0008|478\n女影星|0x100000|463\n女佣人|0x100000|1093\n女浴室|0x100000|418\n女运动员|0x100000|437\n女战士|0x0000|518\n女招待|0x100000|30082\n女贞子|0x100000|1043\n女织男耕|0x0000|100\n女职工|0x100000|561\n女职工委员会|0x100000|421\n女职员|0x100000|494\n女中豪杰|0x800000|939\n女中学生|0x100000|457\n女中尧舜|0x1000000|100\n女中音|0x100000|1013\n女中丈夫|0x1000000|1225\n女主持人|0x100000|489\n女主角|0x100000|550\n女主人|0x100000|13972\n女装品牌|0x100000|493\n女子监狱|0x100000|443\n女足赛|0x100000|386\n女作家|0x100000|747\n疟原虫|0x100000|43476\n疟原虫属|0x0008|0\n虐待狂|0x0008|1488\n虐老兽心|0x0000|100\n暖风机|0x100000|52869\n暖烘烘|0x0100|32660\n暖乎乎|0x0100|52371\n暖呼呼|0x0100|1050\n暖暖和和|0x0100|1083\n暖气机|0x0008|1148\n暖气片|0x100000|38938\n暖气团|0x100000|1273\n暖融融|0x0100|34212\n暖色调|0x100000|963\n暖水袋|0x0008|55409\n暖水壶|0x0000|53368\n暖水瓶|0x100000|37944\n暖温带|0x0000|423\n暖洋洋|0x0100|31656\n暖衣饱食|0x1000000|1340\n挪威人|0x100000|983\n挪威语|0x0008|1552\n挪窝儿|0x1000|43477\n挪用公款|0x0008|546\n诺贝尔|0x0080|1045\n诺贝尔奖|0x0008|13413\n诺贝尔奖金|0x0008|1032\n诺贝尔经济学奖|0x100000|450\n诺氟沙星|0x0008|1661\n诺福克岛|0x0040|1221\n诺基亚|0x0008|846\n诺曼底|0x0040|1298\n诺曼底登陆|0x100000|473\n诺诺连声|0x0100|1218\n诺亚方舟|0x0008|1387\n诺伊维尔|0x0080|374\n喏喏连声|0x0000|100\n搦朽磨钝|0x1000000|100\n懦词怪说|0x1000000|100\n讴功颂德|0x1000000|100\n欧安会|0x0020|1410\n欧风美雨|0x1000000|1173\n欧共体|0x0020|22585\n欧几里得|0x0080|1077\n欧几里德|0x0080|1691\n欧锦赛|0x0008|820\n欧罗巴人种|0x100000|1184\n欧罗巴洲|0x100000|1262\n欧美歌曲|0x100000|478\n欧美歌手|0x100000|644\n欧美经典|0x100000|567\n欧美音乐|0x100000|561\n欧盟反倾销|0x100000|453\n欧姆定律|0x800000|1041\n欧佩克|0x0020|1074\n欧亚大陆|0x0040|1342\n欧阳海|0x100000|382\n欧洲杯|0x0008|1184\n欧洲地区|0x0040|1310\n欧洲风情|0x100000|422\n欧洲各国|0x0000|503\n欧洲共同市场|0x0008|0\n欧洲共同体|0x0020|1667\n欧洲冠军联赛|0x100000|520\n欧洲国家|0x0000|564\n欧洲经济共同体|0x0008|1126\n欧洲旅游|0x100000|459\n欧洲人|0x100000|753\n欧洲投资银行|0x0008|2\n欧洲游|0x100000|482\n鸥波萍迹|0x1000000|100\n鸥鹭忘机|0x1000000|1301\n鸥水相依|0x1000000|100\n呕吐物|0x0000|464\n呕心抽肠|0x1000000|100\n呕心滴血|0x1000000|100\n呕心沥血|0x1000000|18336\n呕心镂骨|0x1000000|100\n偶变投隙|0x1000000|100\n偶氮染料|0x100000|1103\n偶氮胂|0x100000|1365\n偶发性|0x100000|1065\n偶函数|0x100000|1250\n偶合器|0x100000|381\n偶极矩|0x100000|1254\n偶极子|0x100000|1187\n偶然误差|0x0008|0\n偶然性|0x100000|17532\n偶蹄目|0x0008|1237\n偶像化|0x100000|1\n偶像剧|0x0008|692\n偶一为之|0x1400000|49192\n耦合度|0x100000|1125\n耦合孔|0x0008|0\n耦合器|0x100000|927\n藕断丝连|0x1000000|39755\n沤浮泡影|0x1000000|100\n沤沫槿艳|0x1000000|100\n沤珠槿艳|0x1000000|100\n杷罗剔抉|0x1000000|100\n爬不起来|0x0000|511\n爬虫类|0x0000|427\n爬耳搔腮|0x1000000|100\n爬格子|0x800000|42005\n爬罗剔抉|0x1000000|100\n爬爬书库|0x100000|559\n爬墙虎|0x100000|1115\n爬山虎|0x100000|36339\n爬山涉水|0x1000000|1011\n爬山越岭|0x800000|1178\n爬梳剔抉|0x1000000|100\n爬梳洗剔|0x1000000|100\n爬行动物|0x800000|900\n爬行纲|0x0008|0\n帕尔马|0x0040|1408\n帕格尼尼|0x0080|1493\n帕金森|0x0080|989\n帕金森病|0x0000|46254\n帕金森氏症|0x0008|1098\n帕拉马里博|0x0040|1278\n帕米尔|0x0040|1445\n帕米尔高原|0x0040|1504\n帕萨特|0x0008|1158\n帕斯卡|0x20000|1017\n帕斯卡定律|0x100000|1200\n帕瓦罗蒂|0x0080|1542\n怕风怯雨|0x0000|100\n怕鬼有鬼|0x0000|100\n怕死鬼|0x100000|1148\n怕死贪生|0x1000000|1420\n怕痛怕痒|0x1000000|100\n怕硬欺软|0x1000000|100\n拍案而起|0x800000|33293\n拍案叫绝|0x1000000|37041\n拍案惊奇|0x1000000|927\n拍巴掌|0x1000|1072\n拍板成交|0x800000|1253\n拍电影|0x0000|568\n拍马溜须|0x1000000|1201\n拍马屁|0x1000|33145\n拍卖法|0x100000|1039\n拍卖公告|0x100000|926\n拍卖会|0x100000|768\n拍卖人|0x100000|1037\n拍卖行|0x100000|26984\n拍拍手|0x100000|811\n拍片子|0x1000|961\n拍手称快|0x1000000|23441\n拍手叫好|0x800000|928\n拍胸脯|0x1000|30627\n拍纸簿|0x100000|1288\n拍桌子|0x1000|24966\n徘徊歧路|0x0000|100\n排版系统|0x100000|1072\n排叉儿|0x100000|0\n排成一列|0x400000|0\n排斥性|0x100000|1023\n排斥异己|0x1000000|1118\n排除法|0x100000|965\n排除万难|0x800000|852\n排除异己|0x800000|1036\n排队机|0x100000|390\n排放量|0x100000|874\n排风扇|0x100000|52372\n排骨面|0x0000|379\n排灌站|0x100000|1123\n排患解纷|0x1000000|100\n排糠障风|0x800000|100\n排练场|0x0000|46849\n排列组合|0x0000|487\n排卵期|0x4000|55411\n排名榜|0x100000|473\n排名赛|0x100000|430\n排难解纷|0x1000000|47143\n排气管|0x100000|851\n排气扇|0x0008|54892\n排气装置|0x0008|2\n排球场|0x100000|967\n排球队|0x100000|969\n排球赛|0x100000|948\n排球网|0x100000|1163\n排沙简金|0x1000000|1535\n排沙见金|0x1000000|100\n排山倒海|0x1000000|29040\n排山压卵|0x1000000|100\n排水工程|0x0008|479\n排水沟|0x100000|959\n排水管|0x100000|899\n排水管道|0x100000|445\n排水口|0x100000|1069\n排水量|0x100000|34983\n排水渠|0x100000|1182\n排水系统|0x100000|469\n排水闸|0x100000|1422\n排他性|0x100000|31534\n排头兵|0x100000|17359\n排湾族|0x0008|0\n排泄物|0x100000|875\n排行榜|0x100000|14244\n排烟风机|0x100000|374\n排忧解难|0x800000|39342\n排中律|0x100000|1223\n排子车|0x100000|51930\n牌照费|0x100000|375\n牌照税|0x100000|1072\n哌嗪二酮|0x400008|0\n派不是|0x1000|55413\n派出所|0x100000|3212\n派活儿|0x0000|46850\n派拉蒙|0x0008|4\n派力司|0x0000|53879\n派利是|0x0008|0\n派生词|0x100000|1107\n潘多拉|0x0008|1246\n潘江陆海|0x1000000|100\n潘文乐旨|0x1000000|100\n攀蟾折桂|0x1000000|100\n攀车卧辙|0x1000000|100\n攀登者|0x100000|1043\n攀高接贵|0x1000000|100\n攀高结贵|0x1000000|100\n攀高枝|0x800000|1080\n攀高枝儿|0x1000|52871\n攀花问柳|0x1000000|100\n攀花折柳|0x1000000|100\n攀今吊古|0x1000000|100\n攀今掉古|0x1000000|0\n攀今揽古|0x1000000|100\n攀鳞附翼|0x1000000|100\n攀龙附风|0x0000|41298\n攀龙附凤|0x1000000|1058\n攀龙附骥|0x0000|100\n攀龙讬凤|0x1000000|100\n攀藤附葛|0x1000000|100\n攀藤揽葛|0x0000|100\n攀炎附热|0x1000000|100\n攀缘茎|0x100000|1357\n攀缘植物|0x0008|0\n攀辕卧辙|0x1000000|100\n攀枝花|0x100000|1163\n攀枝花市|0x0040|1339\n盘儿菜|0x0000|55414\n盘杠子|0x1000|1381\n盘根错节|0x1000000|30956\n盘根究底|0x1000000|1267\n盘根问底|0x1000|55888\n盘古开天地|0x0008|1033\n盘锦市|0x0040|1390\n盘龙卧虎|0x0000|100\n盘龙之癖|0x800000|100\n盘马弯弓|0x1000000|54414\n盘满钵满|0x0008|0\n盘木朽株|0x0000|100\n盘尼西林|0x100000|1135\n盘片组|0x100000|0\n盘山公路|0x100000|893\n盘山县|0x0040|1080\n盘石桑苞|0x0000|100\n盘水加剑|0x0000|100\n盘陀路|0x100000|1386\n盘县特区|0x0040|1248\n盘游无度|0x0000|100\n槃根错节|0x1000000|100\n槃木朽株|0x1000000|100\n磐安县|0x0040|1482\n磐石市|0x0040|1040\n磐石之安|0x100000|100\n磐石之固|0x800000|100\n蟠桃会|0x0008|1088\n判别分析|0x0008|0\n判别函数|0x0008|0\n判别式|0x100000|1185\n判读标志|0x0008|0\n判断力|0x100000|24898\n判断能力|0x0000|523\n判决书|0x100000|17232\n判然不同|0x0000|100\n判若鸿沟|0x1000000|1507\n判若两人|0x1000000|31315\n判若水火|0x1000000|100\n判若天渊|0x1000000|100\n判若云泥|0x1000000|1165\n泮林革音|0x1000000|100\n叛国罪|0x100000|1059\n叛乱者|0x100000|1127\n叛逆者|0x100000|932\n乓贵神速|0x0000|43369\n滂沱大雨|0x800000|916\n庞眉白发|0x0000|100\n庞眉皓发|0x1000000|100\n庞眉皓首|0x1000000|100\n庞眉鹤发|0x1000000|100\n庞眉黄发|0x1000000|100\n庞然大物|0x1000000|29773\n旁边儿|0x2000000|1177\n旁岔儿|0x100000|0\n旁观者|0x100000|682\n旁观者清|0x1000000|40850\n旁观者效应|0x100000|966\n旁见侧出|0x1000000|100\n旁门外道|0x1000000|1378\n旁门小道|0x1000000|100\n旁门邪道|0x1000000|100\n旁门左道|0x1000000|47144\n旁敲侧击|0x1000000|36341\n旁求博考|0x1000000|100\n旁求俊彦|0x0000|100\n旁若无人|0x1000000|24899\n旁收博采|0x1000000|100\n旁搜博采|0x1000000|100\n旁搜远绍|0x1000000|100\n旁蒐远绍|0x1000000|100\n旁听生|0x100000|44188\n旁听席|0x100000|1036\n旁听者|0x100000|1065\n旁通曲畅|0x0000|100\n旁通曲鬯|0x1000000|100\n旁推侧引|0x1000000|100\n旁文剩义|0x0000|100\n旁系亲属|0x100000|1216\n旁行斜上|0x800000|100\n旁压力|0x100000|1419\n旁摇阴煽|0x1000000|100\n旁逸横出|0x1000000|100\n旁引曲证|0x1000000|100\n旁遮普|0x0040|1110\n旁征博引|0x1000000|38135\n旁徵博引|0x1000000|1265\n旁枝末节|0x1000000|100\n旁指曲谕|0x1000000|100\n胖大海|0x100000|945\n胖嘟嘟|0x0100|47145\n胖墩墩|0x0100|48082\n胖墩儿|0x100000|39978\n胖乎乎|0x0100|32790\n胖女人|0x100000|466\n胖头鱼|0x100000|1011\n胖小子|0x100000|926\n抛戈弃甲|0x1000000|100\n抛光机|0x100000|839\n抛光轮|0x0008|945\n抛头露面|0x1000000|29551\n抛头颅|0x800000|944\n抛物面|0x100000|1117\n抛物面镜|0x100000|0\n抛物面天线|0x0008|1185\n抛物线|0x100000|36509\n抛乡离井|0x1000000|100\n抛砖引玉|0x1000000|40618\n刨根儿|0x1000|36687\n刨根究底|0x1000000|1143\n刨根问底|0x1000000|32157\n刨花板|0x100000|44078\n刨树搜根|0x1000000|100\n咆哮如雷|0x800000|1161\n庖丁解牛|0x1000000|990\n炮兵连|0x100000|1085\n炮兵群|0x100000|2\n炮凤烹龙|0x800000|1296\n炮火连天|0x1000000|1063\n炮舰外交|0x100000|1121\n炮舰政策|0x100000|0\n炮龙烹凤|0x0000|100\n炮筒子|0x100000|52375\n炮子儿|0x100000|0\n炰鳖脍鲤|0x1000000|100\n袍笏登场|0x1000000|1521\n袍罩儿|0x100000|0\n匏瓜空悬|0x0000|100\n跑单帮|0x1000|48083\n跑过去|0x0000|595\n跑旱船|0x100000|48821\n跑江湖|0x1000|48822\n跑警报|0x1000|1285\n跑垒员|0x100000|0\n跑了和尚跑不了庙|0x0008|100\n跑了和尚跑不了寺|0x0008|100\n跑龙套|0x1000000|39561\n跑马场|0x100000|1547\n跑马观花|0x1000000|1248\n跑马卖解|0x1000|1381\n跑码头|0x1000|48452\n跑买卖|0x1000|47147\n跑冒滴漏|0x0000|35700\n跑跑步|0x1000|966\n跑跑颠颠|0x0100|55417\n跑跑跳跳|0x0100|1018\n跑生意|0x1000|51507\n跑堂儿|0x0000|51508\n跑腿儿|0x1000|27134\n跑圆场|0x1000|52873\n泡病号|0x1000|1302\n泡蘑菇|0x1000|55799\n泡沫板|0x100000|404\n泡沫经济|0x100000|32914\n泡沫灭火器|0x0008|0\n泡沫塑料|0x4000000|35545\n泡泡纱|0x100000|54418\n泡泡堂|0x0008|691\n泡泡糖|0x100000|39137\n泡罩塔|0x0008|0\n疱疹病毒|0x0008|0\n砲凤烹龙|0x1000000|100\n砲龙烹凤|0x1000000|100\n胚胎学|0x0008|928\n陪审团|0x100000|38136\n陪审员|0x100000|14716\n陪审制|0x100000|1227\n陪审制度|0x100000|930\n陪笑脸|0x1000|50674\n培训班|0x100000|5206\n培训基地|0x100000|782\n培训教材|0x100000|675\n培训论坛|0x100000|426\n培训中心|0x0008|593\n培训资料|0x100000|523\n培养费|0x100000|1059\n培养基|0x100000|22586\n培养皿|0x100000|1050\n培养目标|0x0008|559\n培养液|0x100000|1074\n赔本赚吆喝|0x800000|1029\n赔不是|0x1000|33945\n赔偿标准|0x100000|462\n赔偿法|0x100000|950\n赔偿费|0x100000|1033\n赔偿金|0x100000|833\n赔偿委员会|0x0008|6\n赔付率|0x100000|1060\n赔礼道歉|0x800000|839\n赔了夫人又折兵|0x0008|935\n赔钱货|0x100000|50292\n赔身下气|0x1000000|100\n赔小心|0x1000|51932\n赔笑脸|0x1000|1160\n沛雨甘霖|0x0000|100\n佩服得五体投地|0x400000|1\n佩鲁甲|0x0008|1244\n佩韦佩弦|0x800000|1535\n佩紫怀黄|0x1000000|100\n配电房|0x100000|1104\n配电柜|0x100000|464\n配电盘|0x100000|1071\n配电网|0x0000|51093\n配电箱|0x100000|483\n配电装置|0x100000|417\n配分函数|0x0008|0\n配给品|0x100000|1536\n配给制|0x0000|54894\n配件厂|0x100000|564\n配件有限公司|0x100000|538\n配套成龙|0x1000000|55801\n配位多面体|0x0008|0\n配位聚合|0x0008|0\n配线架|0x100000|943\n配享从汜|0x0000|100\n配音演员|0x100000|970\n配在一起|0x400000|0\n配置管理|0x0000|473\n配置文件|0x0000|616\n配子体|0x0008|0\n喷鼻息|0x1000|0\n喷薄欲出|0x800000|1084\n喷粉器|0x100000|0\n喷火器|0x100000|1177\n喷淋塔|0x0008|0\n喷墨打印机|0x0000|568\n喷墨式|0x100000|0\n喷气发动机|0x100000|972\n喷气机|0x100000|1067\n喷气式|0x20000000|34078\n喷气式飞机|0x100000|955\n喷砂机|0x0008|809\n喷射泵|0x0000|377\n喷射机|0x0008|1627\n喷射器|0x0008|51933\n喷射式|0x0008|1627\n喷水池|0x100000|35087\n喷丝头|0x100000|1318\n喷雾干燥|0x0008|0\n喷雾机|0x0008|0\n喷雾器|0x100000|32661\n喷血自污|0x1000000|100\n喷油器|0x100000|1044\n喷雨嘘云|0x1000000|100\n喷云吐雾|0x1000000|50675\n喷云泄雾|0x1000000|100\n喷嘴式|0x100000|1333\n盆朝天|0x800000|100\n盆景园|0x100000|1018\n盆腔炎|0x100000|54419\n怦然心动|0x800000|773\n烹调法|0x100000|1133\n烹狗藏弓|0x1000000|100\n烹龙庖凤|0x1000000|100\n烹龙炮凤|0x0000|100\n烹龙砲凤|0x1000000|100\n烹龙煮凤|0x1000000|100\n烹犬藏弓|0x1000000|100\n烹饪法|0x100000|1224\n朋比为奸|0x1000000|44779\n朋比作奸|0x1000000|100\n朋党比周|0x1000000|1384\n朋友聚会|0x100000|499\n朋友们|0x0000|788\n朋友妻|0x100000|431\n朋友圈|0x100000|566\n弸中彪外|0x1000000|100\n彭山县|0x0040|1068\n彭阳县|0x0040|1132\n彭泽县|0x0040|1041\n彭州市|0x0040|1534\n棚户区|0x100000|32027\n硼玻璃|0x100000|0\n硼酸盐|0x100000|1229\n蓬安县|0x0040|1060\n蓬荜生辉|0x1000000|1038\n蓬荜增辉|0x1000000|1373\n蓬筚生辉|0x1000000|1226\n蓬户柴门|0x0000|100\n蓬户瓮牖|0x1000000|1349\n蓬莱市|0x0040|1427\n蓬莱仙境|0x800000|1034\n蓬赖麻直|0x800000|100\n蓬门荜户|0x100000|1411\n蓬门筚户|0x800000|100\n蓬蓬勃勃|0x0100|1051\n蓬蓬松松|0x0100|1121\n蓬生麻中|0x800000|1210\n蓬首垢面|0x1000000|1260\n蓬松松|0x0000|41522\n蓬头赤脚|0x0000|100\n蓬头垢面|0x1000000|27474\n蓬头历齿|0x1000000|100\n蓬头厉齿|0x0000|100\n蓬头跣足|0x1000000|100\n蓬溪县|0x0040|1091\n鹏程万里|0x1000000|52877\n鹏抟鹢退|0x1000000|100\n鹏霄万里|0x1000000|100\n鹏游蝶梦|0x1000000|100\n澎湖列岛|0x100000|1060\n澎湖群岛|0x0040|1221\n澎湖县|0x0040|1517\n膨化食品|0x100000|465\n膨体纱|0x100000|54896\n膨胀率|0x0000|396\n膨胀螺栓|0x0008|0\n膨胀水泥|0x0008|0\n膨胀系数|0x100000|873\n蟛蜞菊|0x100000|1309\n捧腹大笑|0x800000|845\n捧毂推轮|0x1000000|100\n捧上天|0x800000|1024\n捧头鼠窜|0x1000000|100\n捧心西子|0x0000|100\n碰钉子|0x1000|31536\n碰簧锁|0x100000|1281\n碰了一鼻子灰|0x400000|2\n碰碰车|0x100000|51094\n碰碰船|0x100000|1077\n碰头会|0x100000|35088\n碰一鼻子|0x400000|0\n碰一鼻子灰|0x400008|0\n碰运气|0x1000|29552\n碰撞频率|0x0008|0\n批处理|0x0008|789\n批处理文件|0x0000|504\n批发部|0x100000|1035\n批发价|0x100000|745\n批发价格|0x0008|572\n批发商|0x100000|679\n批发商店|0x100000|0\n批发市场|0x100000|629\n批风抹月|0x1000000|100\n批红判白|0x1000000|100\n批亢捣虚|0x1000000|1260\n批亢抵巇|0x1000000|100\n批吭捣虚|0x1000000|100\n批鳞请剑|0x1000000|100\n批毛求疵|0x1000000|100\n批逆龙鳞|0x1000000|100\n批判性|0x100000|900\n批判者|0x0000|390\n批评家|0x100000|863\n批条子|0x800000|42269\n批郤导窾|0x1000000|100\n批隙导窾|0x1000000|100\n批砉导窾|0x1000000|100\n批准书|0x100000|1025\n批准文号|0x100000|590\n邳州市|0x0040|1429\n披发入山|0x1000000|1359\n披发文身|0x800000|100\n披发缨冠|0x1000000|100\n披发左衽|0x1000|1360\n披肝沥胆|0x1000000|42270\n披肝沥血|0x1000000|100\n披肝露胆|0x1000000|100\n披古通今|0x0000|100\n披挂上阵|0x800000|39757\n披红戴花|0x800000|1256\n披红挂绿|0x0000|51095\n披枷带锁|0x1000000|1308\n披枷戴锁|0x1000000|1371\n披坚执锐|0x1000000|52878\n披肩发|0x0000|39562\n披襟解带|0x1000000|100\n披荆斩棘|0x1000000|31659\n披沥肝胆|0x1000000|100\n披沥肝膈|0x1000000|100\n披林撷秀|0x1000000|100\n披露腹心|0x0000|100\n披露肝胆|0x1000000|100\n披罗戴翠|0x1000000|100\n披麻带索|0x1000000|100\n披麻带孝|0x1000|100\n披麻戴孝|0x1000000|46537\n披麻救火|0x1000000|100\n披毛戴角|0x1000000|1275\n披毛求疵|0x1000000|0\n披毛求瑕|0x1000000|100\n披毛索黡|0x1000000|100\n披毛索靥|0x800000|100\n披裘带索|0x1000000|100\n披裘负薪|0x1000000|100\n披沙拣金|0x1000000|52381\n披沙简金|0x1000000|100\n披沙剖璞|0x0000|100\n披头盖脑|0x0000|100\n披头散发|0x1000000|29553\n披霄决汉|0x1000000|100\n披心沥血|0x1000000|100\n披心相付|0x0000|100\n披星带月|0x1000000|100\n披星戴月|0x1000000|37578\n披榛采兰|0x1000000|100\n铍青铜|0x0008|405\n劈波斩浪|0x1000|40852\n劈风斩浪|0x1000000|1294\n劈荆斩棘|0x1000000|100\n劈里啪啦|0x80000|992\n劈劈啪啪|0x80000|969\n劈天盖地|0x800000|1233\n劈头盖脸|0x1000000|35089\n劈头盖脑|0x800000|1081\n劈头劈脑|0x800000|0\n噼里啪啦|0x80000|44476\n噼噼啪啪|0x80000|946\n霹雳舞|0x100000|51096\n皮板儿|0x100000|0\n皮包公司|0x100000|40418\n皮包骨|0x1000|38137\n皮包骨头|0x800000|868\n皮包商|0x100000|0\n皮大衣|0x100000|23939\n皮带秤|0x100000|420\n皮带传动|0x0008|0\n皮带机|0x0008|401\n皮带扣|0x100000|449\n皮带轮|0x100000|53373\n皮尔斯|0x0080|1386\n皮肤癌|0x100000|901\n皮肤病|0x100000|26269\n皮肤过敏|0x0000|499\n皮肤科|0x100000|754\n皮肤科医生|0x0000|428\n皮肤性病|0x100000|447\n皮革化工|0x100000|378\n皮革机械|0x100000|385\n皮革业|0x100000|1\n皮革制品|0x100000|514\n皮猴儿|0x100000|52382\n皮划艇|0x100000|22587\n皮货店|0x0040|1269\n皮货商|0x100000|1266\n皮肌炎|0x100000|1032\n皮夹克|0x100000|30739\n皮夹子|0x100000|959\n皮卡丘|0x100000|491\n皮开肉绽|0x1000000|40620\n皮克斯|0x0008|1581\n皮里抽肉|0x800000|1266\n皮里春秋|0x800000|1249\n皮里阳秋|0x1000000|52383\n皮帽子|0x0008|1104\n皮茄克|0x100000|1245\n皮肉之苦|0x0000|43482\n皮褥子|0x100000|45354\n皮山县|0x0040|1136\n皮特克恩岛|0x0040|0\n皮条客|0x0000|444\n皮桶子|0x100000|1529\n皮下脂肪|0x100000|471\n皮下注射|0x0008|0\n皮下组织|0x800000|863\n皮相之见|0x1000000|1330\n皮相之士|0x0008|1296\n皮相之谈|0x0000|100\n皮笑肉不笑|0x0008|41301\n皮鞋油|0x100000|1260\n皮亚琴察|0x0040|1645\n皮炎平|0x0008|397\n皮影戏|0x100000|37754\n皮之不存|0x800000|995\n皮脂腺|0x100000|908\n皮质醇|0x100000|1072\n皮质激素|0x0000|492\n枇杷膏|0x100000|1026\n枇杷门巷|0x800000|1535\n枇杷叶|0x0008|393\n疲惫不堪|0x800000|696\n疲劳极限|0x0008|0\n疲劳强度|0x0008|0\n疲于奔命|0x1000000|32283\n蚍蜉戴盆|0x1000000|100\n蚍蜉撼大树|0x0008|1100\n蚍蜉撼树|0x1000000|1121\n啤酒厂|0x100000|886\n啤酒肚|0x0000|54897\n啤酒花|0x100000|46540\n啤酒节|0x100000|499\n啤酒瓶|0x100000|833\n啤酒设备|0x100000|401\n啤酒屋|0x100000|407\n啤酒业|0x100000|426\n琵琶别抱|0x1000000|1124\n琵琶别弄|0x1000000|100\n琵琶骨|0x100000|1100\n琵琶胡语|0x1000000|100\n琵琶旧语|0x1000000|100\n琵琶曲|0x100000|382\n琵琶行|0x100000|542\n脾机能亢进|0x0008|0\n脾气坏|0x0000|424\n脾胃论|0x0008|0\n脾肿大|0x0000|378\n匹夫沟渎|0x1000000|100\n匹夫怀璧|0x1000000|100\n匹夫匹妇|0x1000000|1172\n匹夫无罪|0x1000000|1089\n匹夫小谅|0x1000000|100\n匹夫有责|0x1000000|895\n匹夫之谅|0x1000000|100\n匹夫之勇|0x1000000|50678\n匹妇沟渠|0x1000000|100\n匹马单枪|0x1000000|1231\n匹马当先|0x1000000|100\n匹马一麾|0x1400000|0\n匹马只轮|0x1000000|100\n匹配滤波器|0x0008|0\n匹兹堡|0x0040|1522\n痞里痞气|0x0100|0\n痞子蔡|0x100000|481\n擗踊拊心|0x0000|100\n屁滚尿流|0x1000000|40191\n睥睨一切|0x1400000|0\n僻处一隅|0x400000|0\n僻字涩句|0x1000000|100\n譬如说|0x800000|813\n片长薄技|0x1000000|100\n片长末技|0x1000000|100\n片词只句|0x1000000|100\n片儿警|0x100000|50295\n片儿汤|0x100000|55803\n片光零羽|0x1000000|100\n片甲不存|0x1000|1418\n片甲不还|0x1000000|100\n片甲不回|0x1000000|1288\n片甲不留|0x1000|50679\n片甲无存|0x0000|100\n片假名|0x100000|1000\n片接寸附|0x1000000|100\n片刻间|0x0000|513\n片鳞半爪|0x1000000|100\n片鳞残甲|0x1000000|100\n片鳞碎甲|0x0000|100\n片鳞只甲|0x1000000|100\n片麻岩|0x100000|1170\n片面性|0x100000|937\n片瓦不留|0x1000000|100\n片瓦无存|0x1000000|1256\n片尾曲|0x100000|708\n片文只事|0x1000000|100\n片言一字|0x400000|100\n片言折狱|0x1000000|1331\n片言只语|0x1000000|42982\n片言只字|0x1000000|1120\n片语只辞|0x0000|100\n片云遮顶|0x0000|100\n片纸只字|0x1000000|54899\n偏安一隅|0xc00000|1\n偏苯三甲酸三辛酯|0x400000|0\n偏处一隅|0x400000|0\n偏关县|0x0040|1160\n偏三向四|0x1400000|0\n偏听偏信|0x1000000|47149\n偏听偏言|0x0000|100\n偏听则暗|0x800000|1193\n偏头痛|0x100000|45062\n偏乡僻壤|0x1000000|100\n偏相关|0x0008|0\n偏心轮|0x0008|1130\n偏心眼|0x40000000|1121\n偏心眼儿|0x40000000|49908\n偏信则暗|0x800000|1183\n偏振光|0x0008|1115\n偏振镜|0x0008|398\n偏执狂|0x100000|836\n偏转板|0x0008|0\n偏转线圈|0x0008|1135\n篇文章|0x100000|803\n翩翩风度|0x0000|100\n翩翩公子|0x800000|1060\n翩翩年少|0x0000|100\n翩翩起舞|0x800000|751\n翩翩少年|0x800000|960\n翩若惊鸿|0x1000000|1002\n翩跹起舞|0x1000000|1090\n骈肩迭迹|0x0000|100\n骈肩叠迹|0x1000000|100\n骈肩接迹|0x1000000|100\n骈肩累迹|0x1000000|100\n骈肩累踵|0x1000000|100\n骈肩累足|0x1000000|100\n骈门连室|0x1000000|100\n骈拇枝指|0x1000000|100\n骈首就逮|0x1000000|100\n骈首就僇|0x1000000|100\n骈首就戮|0x1000000|100\n骈首就死|0x1000000|100\n骈首就系|0x1000000|100\n骈四骊六|0x400000|0\n骈四俪六|0x400000|100\n骈兴错出|0x1000000|100\n骈枝俪叶|0x1000000|100\n胼手胝足|0x1000000|51514\n胼四俪六|0x400000|0\n胼胝手足|0x1000000|100\n骗子手|0x100000|1340\n剽窃者|0x100000|1147\n漂白粉|0x100000|32663\n漂白剂|0x100000|51515\n漂白液|0x0008|0\n漂泊无定|0x0000|100\n漂亮话|0x100000|42765\n漂亮妹妹|0x100000|518\n漂亮女孩|0x100000|559\n漂零蓬断|0x0000|100\n漂母进饭|0x0000|100\n漂蓬断梗|0x1000000|100\n漂漂亮亮|0x0100|786\n漂洋过海|0x800000|891\n飘泊无定|0x0000|100\n飘籓坠溷|0x1000000|100\n飘樊落溷|0x1000000|100\n飘风暴雨|0x1000000|1421\n飘风过耳|0x1000000|100\n飘风急雨|0x1000000|100\n飘风苦雨|0x1000000|100\n飘风骤雨|0x1000000|100\n飘零书剑|0x1000000|100\n飘蓬断梗|0x1000000|100\n飘飘然|0x0100|26270\n飘飘悠悠|0x0100|768\n飘飘欲仙|0x1000000|37951\n飘萍断梗|0x1000000|100\n飘萍浪迹|0x1000000|100\n飘瓦虚舟|0x1000000|100\n飘香一剑|0x400000|0\n飘洋过海|0x1000000|863\n飘洋航海|0x1000000|100\n飘茵堕溷|0x1000000|100\n飘茵落溷|0x1000000|100\n飘茵随溷|0x1000000|100\n飘游四海|0x400000|0\n瓢泼大雨|0x100000|40423\n瞟一眼|0x401000|0\n票贩子|0x100000|21816\n票房毒药|0x100000|974\n票房价值|0x100000|829\n票房排行榜|0x100000|431\n票据打印机|0x100000|452\n票据法|0x100000|983\n票据交换所|0x100000|1280\n嘌呤霉素|0x0008|0\n撇呆打堕|0x0000|100\n撇乳器|0x100000|0\n瞥一眼|0x401000|0\n拼板门|0x0040|0\n拼命三郎|0x0000|43955\n拼拼凑凑|0x0100|1017\n拼死拼活|0x1000000|39140\n拼图游戏|0x0000|497\n拼写法|0x0008|1198\n拼音化|0x100000|1144\n拼音输入|0x0000|469\n拼音输入法|0x0000|540\n拼音文字|0x800000|47150\n拼音字母|0x100000|49552\n拼在一起|0x400000|0\n贫病交攻|0x1000000|100\n贫病交加|0x800000|42983\n贫病交迫|0x1000000|55419\n贫病交侵|0x1000000|100\n贫不学俭|0x1000000|100\n贫而乐道|0x0000|100\n贫而无谄|0x1000000|100\n贫富差距|0x0000|558\n贫富悬殊|0x800000|29660\n贫雇农|0x100000|1226\n贫化铀|0x100000|1536\n贫贱不能移|0x0008|0\n贫贱不移|0x800000|1174\n贫贱夫妻|0x100000|934\n贫贱骄人|0x1000000|100\n贫贱糟糠|0x1000000|100\n贫贱之交|0x1000000|1224\n贫贱之知|0x1000000|100\n贫困地区|0x0008|789\n贫困户|0x100000|920\n贫困化|0x1000|1072\n贫困家庭|0x100000|529\n贫困潦倒|0x800000|1016\n贫困人口|0x100000|535\n贫困山区|0x100000|489\n贫困生|0x100000|588\n贫困县|0x100000|513\n贫困线|0x100000|23549\n贫困学生|0x100000|555\n贫民窟|0x100000|30531\n贫民区|0x0040|926\n贫无立锥|0x1000000|1295\n贫无立锥之地|0x0008|100\n贫无置锥|0x1000000|100\n贫下中农|0x100000|12584\n贫血病|0x100000|1173\n贫血症|0x0000|410\n贫铀弹|0x100000|1153\n贫嘴薄舌|0x40000000|1497\n贫嘴恶舌|0x1000000|100\n贫嘴滑舌|0x1000000|100\n贫嘴贱舌|0x1000000|100\n频道栏目|0x100000|482\n频分多址|0x0008|0\n频率计|0x0008|1576\n频率特性|0x0008|0\n频率响应|0x0008|0\n频谱仪|0x100000|401\n频闪仪|0x0008|0\n品而第之|0x0000|100\n品貌非凡|0x0000|100\n品牌策略|0x100000|479\n品牌服饰|0x100000|526\n品牌服装|0x100000|568\n品牌机|0x0008|688\n品牌价值|0x100000|553\n品牌女装|0x100000|507\n品牌设计|0x100000|446\n品牌手机|0x100000|521\n品牌童装|0x100000|417\n品牌效应|0x100000|518\n品牌形象|0x0000|616\n品牌意识|0x100000|488\n品牌优势|0x100000|522\n品牌战略|0x100000|574\n品头论足|0x1000|42766\n品头评足|0x800000|100\n品头题足|0x1000000|100\n品学兼优|0x800000|19317\n品质因数|0x0008|0\n品质音乐|0x100000|392\n品质育种|0x0008|0\n品种繁多|0x100000|785\n品种间杂交|0x0008|0\n品种齐全|0x100000|720\n品种区域化|0x0008|0\n品竹弹丝|0x1000000|100\n品竹调丝|0x1000000|100\n品竹调弦|0x1000000|100\n牝鸡晨鸣|0x1000000|100\n牝鸡牡鸣|0x1000000|100\n牝鸡司晨|0x1000000|53885\n牝鸡司旦|0x1000000|100\n牝牡骊黄|0x1000000|1403\n牝咮鸣辰|0x1000000|100\n娉婷婀娜|0x1000000|100\n娉婷袅娜|0x0000|100\n聘任制|0x100000|19318\n聘用制|0x100000|30423\n乒乓球|0x100000|5533\n乒乓球拍|0x100000|966\n乒乓球赛|0x100000|956\n乒乓球桌|0x100000|982\n乒乓室|0x100000|0\n乒乒乓乓|0x80000|926\n平安无事|0x800000|825\n平安险|0x0008|1127\n平安县|0x0040|1648\n平安夜|0x0008|1046\n平白无辜|0x1000000|1165\n平白无故|0x1000000|33294\n平板玻璃|0x0008|949\n平板车|0x100000|36511\n平板电视|0x100000|588\n平板机|0x100000|411\n平板三轮|0x0000|48455\n平板仪|0x0008|1293\n平版印刷|0x0008|0\n平步登天|0x800000|1538\n平步青霄|0x1000000|100\n平步青云|0x1000000|45659\n平昌县|0x0040|1654\n平常心|0x100000|713\n平淡无奇|0x1000000|33295\n平澹无奇|0x1000000|100\n平等互利|0x800000|8794\n平等主义|0x0008|1123\n平底船|0x0008|0\n平底锅|0x100000|50683\n平底鞋|0x100000|48086\n平地登云|0x1000000|100\n平地风波|0x1000000|1239\n平地风雷|0x1000000|100\n平地机|0x0008|1589\n平地楼台|0x1000000|1327\n平地起孤丁|0x0008|100\n平地起家|0x0000|100\n平地起雷|0x1000000|100\n平地青云|0x1000000|1534\n平地一声雷|0x400008|1\n平顶山|0x0040|1150\n平顶山市|0x0040|1270\n平定县|0x0040|1627\n平度市|0x0040|1448\n平反昭雪|0x1000000|1005\n平方尺|0x20000|51099\n平方根|0x100000|54901\n平方公里|0x20000|3527\n平方毫米|0x20000|1059\n平方和|0x0008|1133\n平方厘米|0x20000|893\n平方米|0x20000|2492\n平分秋色|0x1000000|33296\n平分线|0x0000|408\n平风静浪|0x1000000|100\n平谷区|0x0040|1411\n平果县|0x0040|1590\n平和县|0x0040|1038\n平衡表|0x100000|1044\n平衡常数|0x0008|0\n平衡点|0x100000|764\n平衡杆|0x100000|1062\n平衡感|0x100000|914\n平衡混频器|0x0008|0\n平衡觉|0x100000|1307\n平衡理论|0x0008|0\n平衡力|0x0008|1053\n平衡论|0x0008|0\n平衡木|0x100000|25493\n平衡器|0x0008|1041\n平湖市|0x0040|1326\n平滑肌|0x100000|47444\n平假名|0x100000|1031\n平江县|0x0040|1558\n平交道|0x0040|1129\n平均差|0x100000|0\n平均地权|0x0008|0\n平均发展速度|0x0008|0\n平均分配|0x0000|479\n平均工资|0x0008|536\n平均功率|0x0000|380\n平均海拔|0x100000|468\n平均价|0x100000|505\n平均价格|0x0000|577\n平均利润|0x800000|935\n平均利润率|0x100000|440\n平均每年增长|0x0000|397\n平均气温|0x0000|515\n平均寿命|0x0000|502\n平均数|0x100000|26473\n平均水平|0x0000|615\n平均速度|0x100000|2\n平均温度|0x100000|443\n平均误差|0x0008|0\n平均增长率|0x100000|438\n平均增长速度|0x0008|403\n平均值|0x100000|17159\n平均指标|0x0008|1\n平均主义|0x800000|948\n平均自由程|0x0008|0\n平开门|0x0008|1602\n平快车|0x0008|0\n平乐县|0x0040|1565\n平利县|0x0040|1065\n平凉市|0x0040|1499\n平流层|0x100000|1038\n平流缓进|0x800000|100\n平陆县|0x0040|1043\n平罗县|0x0040|1048\n平面波|0x100000|1230\n平面布置|0x0008|0\n平面创意|0x100000|378\n平面二极管|0x400008|0\n平面广告|0x100000|546\n平面广告设计|0x100000|439\n平面化|0x1000|1043\n平面几何|0x100000|1059\n平面交叉|0x1000|854\n平面角|0x100000|1281\n平面镜|0x100000|1057\n平面媒体|0x100000|508\n平面磨床|0x100000|417\n平面三角形|0x400000|0\n平面设计|0x100000|655\n平面设计师|0x100000|503\n平面图|0x100000|38139\n平面性|0x100000|0\n平面阵|0x0008|0\n平民百姓|0x1000000|810\n平民化|0x1000|803\n平南县|0x0040|1549\n平平安安|0x0100|708\n平平常常|0x0100|885\n平平淡淡|0x0100|640\n平平当当|0x0000|100\n平平凡凡|0x0100|812\n平平静静|0x0100|882\n平平稳稳|0x0100|1027\n平平庸庸|0x0008|1062\n平平展展|0x0100|1217\n平平整整|0x0100|773\n平铺直序|0x0000|100\n平铺直叙|0x1000000|42508\n平起平坐|0x1000000|27953\n平泉县|0x0040|1044\n平山县|0x0040|1550\n平射炮|0x100000|1283\n平时不烧香|0x0008|1177\n平顺县|0x0040|1080\n平潭县|0x0040|1589\n平塘县|0x0040|1102\n平添一段佳话|0x400000|0\n平头百姓|0x0000|39345\n平头数|0x100000|0\n平头正脸|0x1000000|1360\n平头主义|0x100000|0\n平武县|0x0040|1117\n平乡县|0x0040|1522\n平心定气|0x1000000|100\n平心而论|0x1000000|22891\n平心静气|0x1000000|28482\n平心易气|0x1000000|100\n平行六面|0x400000|0\n平行六面体|0x400008|0\n平行四边|0x400000|0\n平行四边形|0x500000|0\n平行四边形定则|0x400000|0\n平行四边形法则|0x400000|0\n平行线|0x100000|30424\n平行作业|0x800000|853\n平形四边|0x400000|0\n平型关|0x0040|1558\n平阳县|0x0040|1315\n平遥县|0x0040|1560\n平邑县|0x0040|1560\n平易近民|0x1000000|100\n平易近人|0x1000000|23336\n平阴县|0x0040|1570\n平舆县|0x0040|1570\n平原督邮|0x0000|100\n平原君|0x0008|0\n平原县|0x0040|1614\n平原易野|0x1000000|100\n平远县|0x0040|1043\n平展展|0x0100|1222\n平治天下|0x0000|100\n平装本|0x100000|54903\n评分标准|0x0000|534\n评功摆好|0x1000000|51937\n评功论赏|0x800000|1536\n评价者|0x100000|1071\n评论家|0x100000|746\n评论员|0x100000|9686\n评论员文章|0x0000|434\n评判人|0x100000|1193\n评判员|0x100000|51938\n评评理|0x1000|971\n评头论脚|0x1000000|100\n评头论足|0x1000000|41071\n评头品足|0x1000000|40622\n评委会|0x100000|17510\n评选活动|0x0000|601\n评议会|0x100000|1018\n凭白无故|0x1000000|1185\n凭城借一|0x1400000|0\n凭几据杖|0x1000000|100\n凭几之诏|0x1000000|100\n凭空捏造|0x1000000|1005\n凭良心|0x0000|473\n凭轼结辙|0x1000000|100\n凭轼旁观|0x1000000|100\n凭祥市|0x0040|1531\n凭虚公子|0x0000|100\n凭证式|0x100000|488\n苹果醋|0x100000|421\n苹果电脑|0x100000|551\n苹果蠹蛾|0x0008|0\n苹果公司|0x0020|1464\n苹果机|0x100000|473\n苹果酱|0x100000|1123\n苹果酒|0x0000|394\n苹果绿|0x100000|42767\n苹果日报|0x100000|474\n苹果树|0x100000|831\n苹果酸|0x100000|950\n苹果酸酶|0x100000|0\n苹果园|0x100000|1411\n苹果汁|0x0008|923\n屏蔽电极|0x0008|0\n屏蔽门|0x0000|391\n屏边苗族自治县|0x0040|1144\n屏东市|0x0040|1057\n屏东县|0x0040|1418\n屏幕保护程序|0x100000|519\n屏幕分辨率|0x100000|489\n屏幕墙|0x100000|383\n屏南县|0x0040|1648\n屏气敛息|0x800000|100\n屏气凝神|0x1000000|1038\n屏气慑息|0x0000|100\n屏气吞声|0x1000000|100\n屏山县|0x0040|1100\n屏声静气|0x1000000|100\n屏声敛息|0x1000000|100\n屏声息气|0x800000|1331\n帡天极地|0x1000000|100\n瓶沉簪折|0x0000|100\n瓶瓶罐罐|0x0000|41304\n瓶罄罍耻|0x1000000|100\n瓶装水|0x100000|434\n瓶坠簪折|0x1000000|100\n萍飘蓬转|0x800000|100\n萍水相逢|0x1000000|38946\n萍乡市|0x0040|1350\n萍踪浪迹|0x800000|1266\n泼妇骂街|0x0000|100\n泼冷水|0x1000000|39142\n泼水节|0x4000|33424\n泼水难收|0x1000000|1431\n泼天大祸|0x0000|100\n泼油救火|0x1000000|100\n颇具规模|0x800000|883\n颇具匠心|0x800000|1085\n婆罗门|0x100000|956\n婆罗门教|0x0020|44782\n婆罗洲|0x0040|1067\n婆婆妈妈|0x1000000|26272\n婆婆嘴|0x100000|52388\n婆说婆有理|0x0008|953\n婆娑起舞|0x800000|1134\n婆修婆德|0x1000000|0\n鄱阳湖|0x0040|1390\n迫不得已|0x1000000|24517\n迫不及待|0x1000000|12745\n迫不急待|0x0008|893\n迫不可待|0x1000000|100\n迫击炮|0x100000|22994\n迫击炮弹|0x100000|72\n迫切性|0x100000|953\n迫切需要|0x0000|594\n迫在眉睫|0x1000000|15152\n破案率|0x100000|1062\n破壁飞去|0x800000|1412\n破璧毁珪|0x0000|100\n破冰船|0x100000|35702\n破产荡业|0x1000000|100\n破巢完卵|0x1000000|100\n破巢余卵|0x0000|100\n破愁为笑|0x1000000|100\n破除迷信|0x800000|1048\n破胆寒心|0x1000000|100\n破斧缺斨|0x1000000|100\n破釜沉舟|0x1000000|33804\n破釜焚舟|0x1000000|100\n破釜沈舟|0x1000000|1215\n破肝糜胃|0x1000000|100\n破觚为圜|0x1000000|100\n破觚斫雕|0x1000000|100\n破鼓乱人捶|0x0008|100\n破瓜之年|0x800000|100\n破罐破摔|0x1000000|49197\n破罐子破摔|0x0008|873\n破国亡家|0x0000|100\n破坏力|0x100000|803\n破坏性|0x100000|775\n破坏者|0x100000|881\n破击战|0x100000|1336\n破纪录|0x0000|517\n破家败产|0x1000000|100\n破家荡产|0x1000000|1391\n破家荡业|0x1000000|100\n破家竭产|0x1000000|100\n破家丧产|0x1000000|100\n破家亡国|0x0000|100\n破家为国|0x0000|100\n破家县令|0x1000000|100\n破奸发伏|0x1000000|100\n破坚摧刚|0x1000000|100\n破解补丁|0x0000|664\n破镜分钗|0x0000|100\n破镜重合|0x1000000|100\n破镜重圆|0x1000000|40194\n破旧立新|0x1000000|1075\n破矩为圆|0x1000000|100\n破军杀将|0x1000000|1379\n破口大骂|0x1000|23601\n破烂不堪|0x800000|883\n破烂儿|0x0008|46542\n破烂货|0x100000|1\n破烂流丢|0x0000|100\n破浪乘风|0x1000000|1271\n破浪前进|0x800000|1173\n破卵倾巢|0x1000000|100\n破落户|0x100000|43957\n破门而出|0x1000000|1089\n破门而入|0x1000000|902\n破衲疏羹|0x1000000|100\n破脑刳心|0x1000000|100\n破破烂烂|0x0100|839\n破琴绝弦|0x1000000|100\n破伤风|0x100000|33147\n破死忘生|0x1000000|100\n破题第一遭|0x400000|0\n破题儿第一遭|0x400008|0\n破体字|0x100000|0\n破涕成笑|0x1000000|100\n破涕为笑|0x1000000|35400\n破天荒|0x1000000|20364\n破桐之叶|0x1000000|100\n破铜烂铁|0x1000000|49910\n破头烂额|0x1000000|100\n破土动工|0x800000|920\n破土而出|0x800000|881\n破瓦寒窑|0x1000000|1535\n破瓦颓垣|0x1000000|100\n破袭战|0x100000|1168\n破崖绝角|0x1000000|100\n破颜微笑|0x800000|1203\n破颜一笑|0x400000|0\n破衣烂衫|0x0000|45661\n破甑不顾|0x0000|100\n破绽百出|0x800000|50684\n破折号|0x100000|50685\n破竹建瓴|0x1000000|100\n破竹之势|0x1000000|1181\n破柱求奸|0x1000000|100\n魄荡魂飞|0x1000000|100\n魄荡魂摇|0x1000000|100\n魄散魂飞|0x1000000|1348\n魄散魂飘|0x1000000|100\n魄散魂消|0x1000000|100\n魄消魂散|0x1000000|100\n剖蚌得珠|0x1000000|100\n剖蚌求珠|0x1000000|100\n剖腹藏珠|0x1000000|1389\n剖腹产|0x1000|32792\n剖肝沥胆|0x1000000|100\n剖肝泣血|0x1000000|100\n剖宫产|0x1000|470\n剖毫析芒|0x1000000|100\n剖决如流|0x0000|100\n剖面图|0x100000|994\n剖视图|0x100000|1106\n剖析肝胆|0x1000000|100\n剖心坼肝|0x1000000|100\n剖心泣血|0x1000000|100\n剖心析胆|0x1000000|100\n剖心析肝|0x1000000|100\n剖玄析微|0x1000000|100\n剖幽析微|0x1000000|100\n掊斗折衡|0x0000|100\n裒多益寡|0x1000000|100\n仆仆道途|0x1000000|100\n仆仆风尘|0x1000000|1119\n仆仆亟拜|0x1000000|100\n扑地掀天|0x1000000|100\n扑尔敏|0x0008|410\n扑克机|0x100000|370\n扑克牌|0x100000|732\n扑面而来|0x800000|703\n扑热息痛|0x4000000|1707\n扑杀此獠|0x1000000|100\n扑朔迷离|0x1000000|20872\n扑簌簌|0x0100|995\n扑天盖地|0x1000000|1020\n扑通一声|0x400000|0\n铺采摛文|0x1000000|100\n铺地板|0x0000|409\n铺地砖|0x0000|408\n铺盖卷|0x100000|1082\n铺盖卷儿|0x100000|27552\n铺锦列绣|0x0000|100\n铺路石|0x100000|41305\n铺眉蒙眼|0x800000|100\n铺眉苫眼|0x1000000|100\n铺面房|0x100000|52391\n铺谋定计|0x1000000|100\n铺摊子|0x0000|38730\n铺天盖地|0x1000000|15605\n铺胸纳地|0x0000|100\n铺张浪费|0x1000000|17533\n铺张扬厉|0x1000000|1310\n噗嗤一声|0x400000|0\n噗噜噜|0x80000|1220\n噗通一声|0x400000|0\n匍匐茎|0x100000|1266\n匍匐之救|0x1000000|100\n莆田市|0x0040|1256\n莆仙戏|0x100000|1263\n菩萨低眉|0x800000|1191\n菩萨心肠|0x800000|908\n菩提树|0x100000|33552\n菩提子|0x0008|1092\n葡萄干|0x100000|38322\n葡萄根瘤蚜|0x0008|0\n葡萄沟|0x100000|430\n葡萄灰|0x0000|55421\n葡萄酒|0x100000|9572\n葡萄酒红|0x100000|1121\n葡萄酒业|0x100000|420\n葡萄球菌|0x100000|37581\n葡萄树|0x0000|424\n葡萄胎|0x100000|1062\n葡萄糖|0x100000|19140\n葡萄藤|0x100000|957\n葡萄牙|0x0040|982\n葡萄牙人|0x100000|869\n葡萄牙语|0x0008|1365\n葡萄柚|0x100000|893\n葡萄园|0x100000|822\n葡萄汁|0x100000|933\n蒲鞭示辱|0x0000|100\n蒲鞭之罚|0x100000|100\n蒲城县|0x0040|1605\n蒲公英|0x100000|25494\n蒲江县|0x0040|1041\n蒲柳之质|0x0000|100\n蒲柳之姿|0x800000|1241\n蒲式耳|0x20000|1037\n璞玉浑金|0x1000000|1252\n濮阳市|0x0040|1237\n濮阳县|0x0040|1469\n朴讷诚笃|0x0000|100\n朴朴实实|0x0100|1221\n朴实无华|0x1000000|24008\n朴素唯物主义|0x0008|0\n朴素无华|0x800000|1092\n朴斫之材|0x1000000|100\n浦北县|0x0040|1518\n浦城县|0x0040|1544\n浦东新区|0x0040|1061\n浦江县|0x0040|1368\n普安县|0x0040|1174\n普遍化|0x1000|1005\n普遍性|0x100000|10279\n普定县|0x0040|1119\n普度群生|0x1000000|100\n普度众生|0x1000000|988\n普渡众生|0x1000000|924\n普洱茶|0x100000|46544\n普法教育|0x800000|965\n普格县|0x0040|1177\n普及版|0x0008|1326\n普及本|0x100000|52885\n普及化|0x1000|931\n普及教育|0x0008|5\n普及率|0x100000|13732\n普及型|0x20000000|841\n普济群生|0x1000000|100\n普济众生|0x1000000|1252\n普腊亚|0x0040|0\n普兰店|0x0040|1453\n普兰店市|0x0040|1510\n普兰县|0x0040|1162\n普朗克|0x0080|1606\n普朗克辐射公式|0x0008|0\n普里斯莱|0x0080|0\n普里斯特|0x0080|1383\n普里斯特莱|0x0080|0\n普列汉诺|0x0080|0\n普列汉诺夫|0x0080|1140\n普林斯顿|0x0040|1362\n普鲁士|0x0040|1443\n普罗科菲耶夫|0x0080|1744\n普罗列塔|0x0080|0\n普罗列塔利亚|0x0080|0\n普罗米修斯|0x0080|1474\n普罗提诺|0x0080|0\n普米族|0x0008|42510\n普宁市|0x0040|1429\n普普通通|0x0100|723\n普天率土|0x1000000|100\n普天三洋|0x400000|0\n普天同庆|0x1000000|887\n普天下|0x100000|37043\n普天匝地|0x1000000|100\n普天之下|0x1000000|38731\n普通本科|0x100000|457\n普通党员|0x0000|480\n普通地理图|0x0008|0\n普通地图集|0x0008|0\n普通发票|0x100000|474\n普通法|0x100000|992\n普通高等学校|0x100000|592\n普通高校|0x100000|607\n普通高中|0x100000|568\n普通股|0x100000|903\n普通硅酸盐|0x100000|407\n普通话|0x100000|7430\n普通话水平|0x100000|504\n普通家庭|0x0000|507\n普通教育|0x100000|873\n普通劳动者|0x0000|445\n普通老百姓|0x0000|523\n普通人|0x100000|600\n普通物理学|0x0008|1098\n普通型|0x20000000|796\n普通用户|0x0000|614\n普通邮票|0x100000|1148\n普通员工|0x100000|494\n普通住宅|0x100000|751\n普陀区|0x0040|1195\n普希金|0x0080|1382\n普选权|0x100000|1261\n溥天率土|0x1000000|100\n溥天同庆|0x1000000|100\n谱分析|0x0008|2\n谱线宽度|0x0008|0\n曝背食芹|0x1000000|100\n曝骨履肠|0x1000000|100\n曝光表|0x0008|1297\n曝气池|0x100000|1214\n曝书见竹|0x1000000|100\n七百万|0x600000|4\n七病八倒|0x1400000|0\n七病八痛|0x1400000|0\n七步八叉|0x1400000|0\n七步成诗|0x1400000|0\n七步成章|0x1400000|0\n七步之才|0x1400000|0\n七彩缤纷|0x400000|0\n七彩铃音|0x100000|446\n七侧向测井|0x400000|0\n七层楼|0x400008|2\n七长八短|0x1400000|0\n七尺之驱|0x400000|0\n七尺之躯|0x500000|0\n七穿八洞|0x1400000|0\n七穿八烂|0x1400000|0\n七疮八孔|0x1400000|0\n七次量衣一次裁|0x400008|0\n七寸嘴|0x500000|0\n七搭八扯|0x1400000|0\n七搭八搭|0x1400000|0\n七大八小|0x1400000|0\n七大洲|0x500000|1\n七担八挪|0x1400000|0\n七颠八倒|0x1400000|0\n七断八续|0x1400000|0\n七返丹|0x400000|100\n七返还丹|0x1400000|0\n七分似鬼|0x400000|0\n七分像鬼|0x1400000|0\n七高八低|0x1400000|0\n七拱八翘|0x1400000|0\n七拐八拐|0x400000|1\n七国首脑|0x400000|1\n七横八竖|0x1400000|1\n七慌八乱|0x1400000|0\n七级浮屠|0x400000|997\n七脚八手|0x400000|100\n七届二中全会|0x400000|3\n七开八得|0x1400000|0\n七孔生烟|0x1400000|0\n七口八嘴|0x1400000|0\n七拉八扯|0x1400000|0\n七濑美雪|0x400000|0\n七捞八攘|0x1400000|0\n七老八倒|0x1400000|0\n七老八十|0xc00000|42007\n七棱八瓣|0x1400000|0\n七里香|0x400000|768\n七了八当|0x1400000|0\n七零八落|0x1400000|26273\n七零八散|0x400000|0\n七零八碎|0x1400000|50298\n七满八平|0x1400000|0\n七男八婿|0x1400000|0\n七年之病|0x500000|0\n七年之痒|0x400000|466\n七扭八歪|0x400100|51517\n七拼八凑|0x1400000|47153\n七破八补|0x1400000|0\n七七八八|0x600000|0\n七七事变|0x400008|9\n七千万|0x600000|5\n七巧板|0x4400000|48091\n七窍玲珑|0x1400000|0\n七窍流血|0x400000|0\n七窍冒火|0x1400000|0\n七窍冒烟|0x400000|0\n七窍生烟|0x1400000|42986\n七擒孟获|0x400000|1\n七擒七纵|0x1400000|0\n七青八黄|0x1400000|0\n七情六欲|0x1400000|36345\n七日来复|0x400000|100\n七色板|0x500000|0\n七上八落|0x1400000|0\n七上八下|0x1400000|26141\n七舌八嘴|0x1400000|0\n七生七死|0x1400000|0\n七十八|0x600000|4\n七十二|0x600000|5\n七十二变|0x500000|0\n七十二烈|0x400000|0\n七十二行|0x400000|50687\n七十九|0x600000|3\n七十六|0x600000|9\n七十年代|0x400000|686\n七十七|0x600000|6\n七十三|0x600000|3\n七十四|0x600000|5\n七十岁|0x400000|484\n七十万|0x600000|6\n七十五|0x600000|10\n七十一|0x600000|2\n七世夫妻|0x400000|0\n七事八事|0xc00000|0\n七手八脚|0x1400000|25583\n七首八脚|0x1400000|0\n七死八活|0x1400000|0\n七死七生|0x1400000|0\n七损八伤|0x1400000|0\n七损八益|0x1400000|0\n七台河|0x400040|3\n七台河市|0x400000|1469\n七推八阻|0x1400000|0\n七歪八扭|0x1400000|0\n七弯八拐|0x1400000|0\n七湾八拐|0x1400000|0\n七湾八扭|0x1400000|0\n七窝八代|0x1400000|0\n七五计划|0x400000|1\n七五期间|0x400000|0\n七郤八手|0x1400000|0\n七侠五义|0x400008|0\n七弦琴|0x500000|49199\n七相五公|0x1400000|0\n七星山|0x400000|0\n七星岩|0x400000|1571\n七行俱下|0x1400000|0\n七行诗|0x400000|0\n七言八语|0x1400000|0\n七言绝句|0x400008|0\n七言律诗|0x400008|0\n七言诗|0x500000|44783\n七爷八爷|0x400000|0\n七叶树|0x4400000|0\n七叶一枝花|0x400008|0\n七夜怪谈|0x400000|0\n七一讲话|0x400000|0\n七月份|0x4000|100\n七月流火|0x400000|0\n七早八早|0x400000|0\n七张八嘴|0x1400000|0\n七折八扣|0x1400000|48828\n七贞九烈|0x1400000|0\n七支八搭|0x1400000|0\n七中全会|0x400000|1185\n七重唱|0x400000|0\n七重奏|0x500000|0\n七子八婿|0x1400000|0\n七纵八横|0x1400000|0\n七纵七禽|0x1400000|0\n七纵七擒|0x1400000|0\n七足八手|0x1400000|0\n七祖升天|0x400000|0\n七祖昇天|0x1400000|0\n七嘴八舌|0x1400000|17392\n七嘴八张|0x1400000|0\n妻儿老少|0x0000|100\n妻儿老小|0x1000000|43958\n妻管严|0x0008|51518\n妻离子散|0x1000000|38141\n妻梅子鹤|0x1000000|100\n妻荣夫贵|0x0000|100\n妻贤夫祸少|0x0008|1210\n凄风楚雨|0x1000000|1542\n凄风寒雨|0x1000000|100\n凄风苦雨|0x1000000|43244\n凄风冷雨|0x1000000|1052\n凄凄惨惨|0x0100|852\n凄凄惶惶|0x40000000|1073\n凄凄凉凉|0x0100|1053\n凄凄切切|0x0100|986\n凄然泪下|0x1000000|1177\n凄入肝脾|0x1000|100\n栖冲业简|0x1000000|100\n栖风宿雨|0x1000000|100\n栖栖遑遑|0x0000|100\n栖丘饮谷|0x1000000|100\n栖息处|0x100000|1216\n栖霞市|0x0040|1477\n戚家军|0x100000|1141\n戚戚具尔|0x1000000|100\n期货价|0x100000|396\n期货价格|0x100000|550\n期货交易|0x1000|547\n期货经纪|0x100000|516\n期货市场|0x100000|770\n期刊论文|0x100000|463\n期刊室|0x100000|0\n期刊杂志|0x100000|442\n期末考试|0x0000|575\n期末试卷|0x100000|459\n期期艾艾|0x1000000|44479\n期望值|0x100000|22228\n期颐之寿|0x100000|100\n期中考试|0x0000|543\n欺大压小|0x1000|100\n欺公罔法|0x1000|100\n欺君罔上|0x1000000|1233\n欺君误国|0x1000|1538\n欺骗性|0x100000|868\n欺贫爱富|0x0000|100\n欺人太甚|0x800000|40626\n欺人之谈|0x800000|48094\n欺人自欺|0x0000|100\n欺软怕硬|0x1000000|44193\n欺三瞒四|0xc00000|0\n欺善怕恶|0x1000|1042\n欺上瞒下|0x800000|29554\n欺上罔下|0x1000000|100\n欺世盗名|0x1000000|36346\n欺世惑众|0x800000|1391\n欺霜傲雪|0x0000|100\n欺天诳地|0x0000|100\n欺天罔地|0x1000000|100\n欺天罔人|0x1000000|100\n欺行霸市|0x800000|30195\n欺硬怕软|0x0000|100\n嘁哩喀喳|0x0100|0\n嘁嘁喳喳|0x80000|38732\n漆包线|0x100000|53890\n漆黑一片|0x400000|4\n漆黑一团|0x1400000|39983\n漆身吞炭|0x1000|100\n蹊田夺牛|0x1000000|100\n祁东县|0x0040|1581\n祁连山|0x0040|1422\n祁连县|0x0040|1066\n祁门县|0x0040|1462\n祁奚举午|0x0000|100\n祁奚之荐|0x1000000|100\n祁奚之举|0x0000|100\n祁阳县|0x0040|1563\n齐白石|0x0080|1395\n齐镳并驱|0x1000000|100\n齐步走|0x800000|39984\n齐次多项式|0x100000|1300\n齐达内|0x0080|1086\n齐大非偶|0x1000000|1298\n齐大非耦|0x1000000|100\n齐东野语|0x1000000|1218\n齐轨连辔|0x1000000|100\n齐河县|0x0040|1523\n齐家治国|0x1000000|1048\n齐聚一堂|0x400008|5\n齐量等观|0x1000000|100\n齐鲁大地|0x0040|1606\n齐眉举案|0x1000000|1162\n齐名并价|0x1000000|100\n齐纳二极管|0x400008|0\n齐齐哈尔|0x0040|1123\n齐齐哈尔市|0x0040|1277\n齐齐整整|0x0100|749\n齐驱并驾|0x1000000|100\n齐驱并进|0x1000000|100\n齐驱并骤|0x1000000|100\n齐趋并驾|0x1000000|100\n齐人攫金|0x0000|100\n齐刷刷|0x0100|827\n齐天大圣|0x100000|831\n齐天洪福|0x1000000|100\n齐头并进|0x1000000|25038\n齐纨鲁缟|0x1000000|100\n齐王舍牛|0x1000000|100\n齐心并力|0x0000|100\n齐心併力|0x1000000|100\n齐心涤虑|0x1000000|100\n齐心合力|0x1000000|968\n齐心戮力|0x1000000|100\n齐心同力|0x1000000|100\n齐心协力|0x1000000|11546\n齐心一力|0x1400000|0\n齐烟九点|0x1400000|0\n齐整如一|0x400000|0\n齐抓共管|0x800000|12756\n齐足并驱|0x1000000|100\n岐出岐入|0x1000000|100\n岐山县|0x0040|1653\n其道亡繇|0x1000000|100\n其道无由|0x1000000|100\n其乐不穷|0x0000|100\n其乐融融|0x1000000|770\n其乐无穷|0x1000000|34362\n其利断金|0x800000|1043\n其貌不扬|0x1000000|32415\n其实不然|0x800000|719\n其实难副|0x800000|1102\n其势汹汹|0x1000000|1239\n其他城市|0x100000|579\n其他地方|0x100000|630\n其他地区|0x100000|605\n其他国家|0x100000|646\n其他计算机|0x100000|462\n其他人|0x100000|510\n其他同学|0x100000|555\n其他用户|0x100000|667\n其味无穷|0x1000000|1175\n其言也善|0x1000000|1011\n其应如响|0x1000000|100\n其应若响|0x1000000|100\n其中之一|0x400000|53\n奇才异能|0x1000000|1319\n奇耻大辱|0x1000000|37953\n奇风异俗|0x100000|1024\n奇光异彩|0x1000000|54906\n奇函数|0x100000|0\n奇花异草|0x1000000|40627\n奇花异卉|0x1000000|1112\n奇幻魔法|0x100000|449\n奇货可居|0x1000000|48829\n奇迹般地|0x0000|508\n奇迹式|0x100000|0\n奇技淫巧|0x1000000|1066\n奇经八脉|0x400008|0\n奇离古怪|0x1000000|100\n奇门遁甲|0x100000|877\n奇偶校验|0x0008|0\n奇偶性|0x100000|390\n奇葩异卉|0x800000|100\n奇普里安波隆贝斯库|0x0080|0\n奇奇怪怪|0x0008|0\n奇瑞瑞虎|0x100000|398\n奇山异水|0x800000|1078\n奇台县|0x0040|1626\n奇谈怪论|0x1000000|37756\n奇文共赏|0x1000000|1013\n奇文瑰句|0x0000|100\n奇侠传|0x100000|630\n奇想天开|0x1000000|100\n奇形怪状|0x1000000|29127\n奇形异状|0x1000000|100\n奇珍异宝|0x1000000|47446\n奇珍异玩|0x0000|100\n奇装异服|0x1000000|38733\n歧路徘徊|0x0000|100\n歧路亡羊|0x1000000|1222\n祈使句|0x100000|1068\n耆德硕老|0x0000|100\n耆年硕德|0x0000|100\n脐带血|0x100000|434\n崎嵚历落|0x1000000|100\n崎岖不平|0x1000000|885\n骐骥过隙|0x800000|100\n骐骥困盐车|0x0008|1349\n骐骥一砾|0x400000|0\n骐骥一毛|0x400000|100\n骑兵队|0x100000|473\n骑曹不记马|0x0008|1305\n骑鹤上维扬|0x0008|1275\n骑鹤上扬|0x1000000|100\n骑鹤上扬州|0x0008|1310\n骑鹤望扬州|0x0008|1270\n骑鹤维扬|0x1000000|100\n骑鹤扬州|0x1000000|100\n骑虎难下|0x1000000|38948\n骑龙弄凤|0x1000000|100\n骑驴倒堕|0x1000000|100\n骑驴风雪中|0x0008|1396\n骑驴觅驴|0x1000000|1329\n骑驴索句|0x1000000|100\n骑驴吟灞上|0x0008|1541\n骑马寻马|0x1000000|100\n骑马找马|0x1000000|53376\n骑牛读汉书|0x0008|1370\n骑牛觅牛|0x1000000|100\n骑墙派|0x100000|1155\n骑上扬州鹤|0x0008|1368\n骑士团|0x100000|803\n骑扬州鹤|0x1000000|100\n骑者善堕|0x1000000|100\n棋布错峙|0x1000000|100\n棋布星陈|0x1000000|100\n棋布星罗|0x1000000|100\n棋逢敌手|0x1000000|1088\n棋逢对手|0x1000000|47787\n棋高一着|0xc00000|49559\n棋盘式|0x100000|0\n棋输先著|0x1000000|100\n棋输先着|0x0000|100\n琪花瑶草|0x1000000|1227\n琪花玉树|0x1000000|100\n旗布星峙|0x1000000|100\n旗鼓相当|0x1000000|35554\n旗舰版|0x100000|519\n旗开得胜|0x1000000|30304\n旗靡辙乱|0x1000000|100\n旗帜鲜明|0x1000000|13672\n綦江县|0x0040|1259\n綦溪利跂|0x0000|100\n蕲春县|0x0040|1566\n乞哀告怜|0x1000000|1520\n乞儿乘车|0x800000|100\n乞儿马医|0x0000|100\n乞浆得酒|0x1000000|100\n乞力马扎罗山|0x0040|1709\n乞穷俭相|0x1000000|100\n企划案|0x100000|457\n企划书|0x100000|439\n企划厅|0x100000|1363\n企事业|0x100000|7063\n企事业单位|0x0000|682\n企业版|0x100000|624\n企业博客|0x100000|458\n企业财务|0x0000|587\n企业倒闭|0x0008|3\n企业动态|0x100000|531\n企业发展|0x0000|684\n企业法|0x100000|769\n企业法律顾问|0x100000|498\n企业法人|0x100000|632\n企业顾问|0x100000|436\n企业管理|0x0008|480\n企业规模|0x100000|559\n企业核心竞争力|0x100000|503\n企业化|0x1000|15552\n企业会计|0x100000|583\n企业会计制度|0x100000|508\n企业会员|0x100000|601\n企业级|0x100000|700\n企业集团|0x100000|573\n企业家|0x100000|3545\n企业间|0x100000|562\n企业简介|0x100000|647\n企业界|0x100000|7064\n企业经济效益|0x100000|482\n企业精神|0x100000|556\n企业竞争力|0x0000|534\n企业库|0x100000|602\n企业类型|0x100000|660\n企业联合会|0x100000|491\n企业录|0x100000|472\n企业名称|0x100000|657\n企业名单|0x100000|518\n企业目录|0x100000|564\n企业内部|0x100000|659\n企业破产|0x0008|486\n企业人力资源|0x100000|553\n企业事业单位|0x100000|516\n企业所得税|0x100000|625\n企业文化|0x0008|713\n企业信息|0x100000|677\n企业信箱|0x100000|379\n企业信用|0x100000|550\n企业形象|0x100000|616\n企业形象设计|0x100000|476\n企业性质|0x100000|650\n企业宣传|0x100000|522\n企业邮局|0x100000|589\n企业邮箱|0x100000|594\n企业债券|0x100000|505\n企业战略|0x100000|586\n企业职工|0x0000|586\n企业制度|0x100000|597\n企业主|0x100000|13273\n企业资料|0x100000|598\n企业资质|0x100000|543\n企业自主权|0x100000|861\n企业宗旨|0x100000|494\n企踵可待|0x1000000|100\n企足而待|0x1000000|1318\n岂不是|0x0000|9400\n岂弟君子|0x1000000|1386\n岂容他人鼾睡|0x0008|100\n岂有此理|0x1000000|20288\n岂有是理|0x1000000|100\n启宠纳侮|0x1000000|100\n启东市|0x0040|1312\n启动光盘|0x100000|476\n启动盘|0x0000|588\n启动器|0x0008|958\n启动资金|0x0000|497\n启动子|0x0008|0\n启发式|0x100000|42512\n启发性|0x100000|879\n启瞶振聋|0x1000000|100\n启辉器|0x100000|978\n启蒙教育|0x100000|874\n启蒙运动|0x800000|930\n启明星|0x100000|41527\n启瓶器|0x0008|0\n启示录|0x100000|36862\n启智班|0x0008|0\n杞国忧天|0x1000000|100\n杞国之忧|0x1000000|100\n杞人忧天|0x1000000|30847\n杞人之忧|0x800000|100\n杞宋无征|0x1000000|100\n杞天之虑|0x1000000|1411\n杞梓之林|0x1000000|100\n起搏器|0x0008|52888\n起草人|0x100000|444\n起草委员会|0x0000|387\n起承转合|0x1000000|45066\n起床号|0x100000|1093\n起点站|0x100000|51939\n起动机|0x100000|960\n起动器|0x100000|927\n起凤腾蛟|0x0000|100\n起伏跌宕|0x800000|940\n起根发由|0x800000|100\n起居室|0x100000|41764\n起居无时|0x0000|100\n起落架|0x100000|38950\n起锚机|0x0008|1273\n起名儿|0x1000|28945\n起拍价|0x100000|946\n起跑点|0x100000|955\n起跑器|0x0008|1210\n起跑线|0x100000|20623\n起泡沫|0x0000|377\n起起落落|0x0100|818\n起水泡|0x1000|385\n起死回生|0x1000000|20779\n起死人而肉白骨|0x0000|100\n起死人肉白骨|0x0008|100\n起诉书|0x100000|22334\n起诉状|0x100000|47789\n起跳板|0x100000|1321\n起偃为竖|0x0000|100\n起疑心|0x1000|463\n起义军|0x100000|909\n起义者|0x100000|1110\n起源于|0x1000|394\n起早摸黑|0x800000|980\n起早贪黑|0x1000000|30960\n起征点|0x0000|35402\n起重船|0x100000|1246\n起重机|0x100000|26988\n起重机械|0x100000|754\n起重器|0x0008|1112\n起子头|0x100000|386\n起作用|0x1000|614\n绮纨之岁|0x100000|100\n气昂昂|0x0100|33027\n气不打一处来|0x400000|1\n气不忿儿|0x800000|1493\n气不公|0x40000000|0\n气不过|0x40000000|36692\n气充志骄|0x1000000|100\n气冲冲|0x0100|26274\n气冲斗牛|0x1000000|1175\n气冲牛斗|0x1000000|50302\n气冲霄汉|0x1000000|52393\n气喘喘|0x0100|1128\n气喘如牛|0x1000000|996\n气喘吁吁|0x1000000|720\n气得志满|0x0000|100\n气垫船|0x100000|37583\n气动阀|0x100000|384\n气动工具|0x100000|479\n气动力|0x0008|1128\n气动式|0x100000|0\n气动压力机|0x100000|425\n气动液压|0x40000000|439\n气动元件|0x100000|514\n气度不凡|0x1000000|944\n气断声吞|0x1000000|100\n气愤愤|0x100000|1143\n气愤填膺|0x0000|100\n气概不凡|0x800000|948\n气缸套|0x100000|370\n气功师|0x100000|1096\n气鼓鼓|0x0100|37399\n气管炎|0x100000|29447\n气贯长虹|0x1000000|45966\n气哼哼|0x0100|32917\n气候变化|0x0008|537\n气候带|0x0008|1085\n气候地貌学|0x0008|0\n气候分类|0x0008|0\n气候区|0x0008|13\n气候图|0x0008|0\n气候型|0x100000|0\n气候学|0x0008|1104\n气候异常|0x0008|9\n气候因子|0x0008|0\n气候志|0x0008|0\n气候资源|0x0008|1065\n气呼呼|0x0100|20056\n气急败坏|0x1000000|22797\n气急败丧|0x1000000|100\n气骄志满|0x1000000|100\n气竭声嘶|0x1000000|100\n气竭声澌|0x1000000|100\n气举阀|0x100000|0\n气决泉达|0x1000000|100\n气克斗牛|0x0000|100\n气孔率|0x0008|0\n气流粉碎机|0x100000|399\n气流磨|0x100000|379\n气流组织|0x0008|0\n气轮机|0x0000|55424\n气满志得|0x1000000|100\n气满志骄|0x1000000|100\n气门芯|0x0000|407\n气密性|0x100000|1007\n气泡病|0x0008|0\n气泡膜|0x100000|373\n气忍声吞|0x1000000|100\n气溶胶|0x100000|1061\n气势磅礴|0x800000|21636\n气势如虹|0x800000|906\n气势汹汹|0x1000000|24653\n气数已尽|0x800000|1057\n气体比重计|0x0008|0\n气体放电灯|0x100000|398\n气体燃料|0x0008|0\n气体设备|0x100000|415\n气体探测器|0x100000|372\n气体性|0x100000|0\n气体压缩机|0x100000|378\n气头上|0x100000|36694\n气吞虹蜺|0x1000000|100\n气吞湖海|0x1000000|100\n气吞牛斗|0x0000|100\n气吞山河|0x1000000|39565\n气吞宇宙|0x1000000|100\n气味相投|0x1000000|50304\n气温日较差|0x100000|1237\n气雾剂|0x100000|956\n气息奄奄|0x1000000|37956\n气象部门|0x100000|514\n气象法|0x100000|375\n气象火箭|0x0008|0\n气象界|0x100000|0\n气象局|0x100000|1182\n气象日|0x100000|389\n气象台|0x100000|12030\n气象条件|0x100000|453\n气象万千|0x1000000|33298\n气象卫星|0x100000|1002\n气象学|0x100000|951\n气象学家|0x100000|1011\n气象要素|0x0008|1\n气象一新|0x400000|0\n气象预报|0x100000|891\n气象站|0x100000|36347\n气象专家|0x100000|470\n气消胆夺|0x1000000|100\n气汹汹|0x0000|47448\n气咻咻|0x0100|32288\n气血方刚|0x1000000|100\n气压表|0x100000|1085\n气压计|0x100000|1105\n气焰嚣张|0x1000000|996\n气焰熏天|0x800000|100\n气义相投|0x1000000|100\n气谊相投|0x1000000|100\n气涌如山|0x1000000|1352\n气逾霄汉|0x1000000|100\n气宇轩昂|0x1000000|35858\n气吁吁|0x0100|49201\n气质类型|0x0008|1\n气壮胆粗|0x1000000|100\n气壮河山|0x1000000|100\n气壮理直|0x1000000|100\n气壮如牛|0x800000|53894\n气壮山河|0x1000000|36348\n讫情尽意|0x1000000|100\n迄今为止|0x800000|7742\n弃暗投明|0x1000000|46859\n弃本求末|0x1000000|100\n弃本逐末|0x1000000|100\n弃笔从戎|0x1000000|100\n弃车走林|0x1000000|100\n弃道任术|0x1000000|100\n弃短就长|0x1000000|100\n弃短用长|0x1000000|100\n弃恶从善|0x1000000|1086\n弃公营私|0x1000000|100\n弃故揽新|0x1000000|100\n弃过图新|0x1000000|100\n弃好背盟|0x1000000|100\n弃家荡产|0x1000000|100\n弃甲倒戈|0x1000000|100\n弃甲丢盔|0x800000|100\n弃甲负弩|0x1000000|100\n弃甲投戈|0x1000000|100\n弃甲曳兵|0x1000000|51941\n弃旧怜新|0x1000000|100\n弃旧图新|0x1000000|53895\n弃旧迎新|0x1000000|1251\n弃明投暗|0x0000|100\n弃末反本|0x1000000|100\n弃末返本|0x1000000|100\n弃逆归顺|0x1000000|100\n弃其馀鱼|0x1000000|100\n弃情遗世|0x1000000|100\n弃琼拾砾|0x1000000|100\n弃如敝屣|0x0000|100\n弃若敝屣|0x1000000|1336\n弃书捐剑|0x1000000|100\n弃同即异|0x1000000|100\n弃伪从真|0x1000000|100\n弃文存质|0x1000000|100\n弃文就武|0x1000000|1358\n弃瑕录用|0x1000000|1354\n弃瑕取用|0x1000000|100\n弃瑕忘过|0x1000000|100\n弃邪从正|0x1000000|100\n弃邪归正|0x1000000|1293\n弃义倍信|0x1000000|100\n弃易求难|0x1000000|100\n弃之敝屣|0x1000000|100\n弃之度外|0x1000000|100\n弃之可惜|0x1000000|895\n弃之如敝屣|0x0008|1201\n弃智遗身|0x1000000|100\n汽车保险|0x100000|481\n汽车报价|0x100000|477\n汽车兵|0x100000|1164\n汽车玻璃|0x100000|469\n汽车部件|0x100000|464\n汽车产量|0x100000|454\n汽车产品|0x100000|519\n汽车产业|0x100000|577\n汽车厂|0x100000|872\n汽车厂家|0x100000|503\n汽车城|0x100000|828\n汽车出口|0x100000|470\n汽车贷款|0x100000|488\n汽车灯|0x100000|399\n汽车底盘|0x100000|454\n汽车电机|0x100000|376\n汽车电器|0x100000|472\n汽车发动机|0x100000|507\n汽车附件|0x100000|407\n汽车工业|0x100000|631\n汽车公司|0x100000|627\n汽车集团|0x100000|533\n汽车技术|0x100000|509\n汽车驾驶员|0x100000|451\n汽车交易|0x100000|506\n汽车交易市场|0x100000|474\n汽车节油器|0x100000|389\n汽车精品|0x100000|446\n汽车俱乐部|0x100000|591\n汽车空调|0x100000|496\n汽车库|0x0000|465\n汽车零部件|0x100000|590\n汽车零件|0x100000|857\n汽车零配件|0x100000|494\n汽车旅馆|0x0000|492\n汽车轮胎|0x100000|488\n汽车论坛|0x100000|537\n汽车贸易|0x100000|570\n汽车贸易有限公司|0x100000|511\n汽车模具|0x100000|424\n汽车模型|0x100000|447\n汽车配件|0x100000|568\n汽车配件有限公司|0x100000|460\n汽车票|0x100000|432\n汽车频道|0x100000|533\n汽车品牌|0x100000|550\n汽车漆|0x100000|413\n汽车企业|0x100000|563\n汽车起重机|0x100000|404\n汽车人才|0x100000|416\n汽车市场|0x0000|619\n汽车饰品|0x100000|451\n汽车塑料|0x100000|368\n汽车图片|0x100000|445\n汽车涂料|0x100000|423\n汽车尾气|0x100000|486\n汽车销量|0x100000|462\n汽车新闻|0x100000|476\n汽车信息|0x100000|429\n汽车行业|0x100000|596\n汽车修理|0x100000|682\n汽车修理厂|0x100000|500\n汽车业|0x100000|578\n汽车音响|0x100000|565\n汽车用品|0x100000|612\n汽车有限公司|0x100000|563\n汽车展|0x100000|520\n汽车展览会|0x100000|427\n汽车站|0x100000|17534\n汽车制造厂|0x100000|463\n汽车装饰|0x100000|518\n汽车资讯|0x100000|480\n汽车坐垫|0x100000|394\n汽车座椅|0x100000|432\n汽化器|0x100000|1152\n汽化热|0x100000|1324\n汽轮发电机|0x0008|983\n汽轮机|0x100000|27795\n汽轮机油|0x0008|0\n汽提塔|0x0008|0\n汽油车|0x0000|432\n汽油弹|0x100000|49914\n汽油机|0x100000|860\n汽油价格|0x100000|507\n汽油桶|0x100000|1033\n泣不成声|0x1000000|20410\n泣不可仰|0x1000000|100\n泣鬼神|0x800000|768\n泣麟悲凤|0x1000000|100\n泣数行下|0x0000|100\n泣涕如雨|0x0000|100\n泣下如雨|0x800000|100\n泣下沾襟|0x0000|100\n泣血捶膺|0x0000|100\n泣血稽颡|0x0000|100\n泣血枕戈|0x0000|100\n契船求剑|0x1000000|100\n契合金兰|0x0000|100\n契若金兰|0x800000|100\n契约式|0x100000|1146\n砌词捏控|0x800000|100\n砌红堆绿|0x1000000|100\n器材厂|0x100000|538\n器材店|0x0040|1578\n器材有限公司|0x100000|584\n器二不匮|0x1400000|0\n器官移植|0x100000|876\n器乐曲|0x100000|1065\n器满将覆|0x1000000|100\n器满意得|0x1000000|100\n器满则覆|0x1000000|100\n器小易盈|0x1000000|1279\n器械体操|0x100000|1000\n器宇不凡|0x0000|100\n器宇轩昂|0x1000000|1094\n器质性|0x0000|36350\n器质性精神病|0x0008|0\n掐尖儿|0x1000|0\n掐尖落钞|0x1000000|100\n掐头去尾|0x1000000|50692\n掐指一算|0x400000|0\n恰到好处|0x1000000|672\n恰恰好|0x100000|1025\n恰恰相反|0x800000|729\n恰如其分|0x1000000|24583\n恰似一江春水向东流|0x400000|0\n恰在此时|0x0000|442\n洽博多闻|0x1000000|100\n洽谈会|0x100000|7931\n洽闻强记|0x1000000|100\n千百年来|0x100000|756\n千百万|0x200000|513\n千变万化|0x1000000|19060\n千变万轸|0x1000000|100\n千变万状|0x1000000|100\n千兵万马|0x1000000|100\n千补百衲|0x1000000|100\n千部一腔|0xc00000|0\n千仓万箱|0x1000000|100\n千层底|0x0000|43485\n千差万别|0x1000000|19743\n千差万错|0x0000|100\n千乘万骑|0x1000000|1112\n千仇万恨|0x800000|0\n千愁万恨|0x1000000|100\n千愁万绪|0x1000000|100\n千疮百孔|0x1000000|27634\n千疮百痍|0x1000000|100\n千棰打锣|0x1000000|0\n千锤百炼|0x1000000|28653\n千锤打锣|0x1000000|0\n千村万落|0x1000000|1302\n千刀万剁|0x1000000|100\n千刀万剐|0x1000000|41529\n千岛湖|0x0040|1190\n千叮咛|0x800000|855\n千叮万嘱|0x1000000|996\n千端万绪|0x1000000|100\n千恩万谢|0x1000000|38734\n千儿八百|0x400000|44482\n千帆竞发|0x800000|1\n千方百计|0x1000000|4212\n千方万计|0x0000|100\n千分表|0x100000|1076\n千分尺|0x100000|934\n千分号|0x100000|1540\n千分数|0x100000|1371\n千分之一|0x400000|883\n千峰百嶂|0x1000000|100\n千峰万壑|0x1000000|100\n千夫诺诺|0x1000000|0\n千夫所指|0x1000000|47451\n千夫指|0x100000|419\n千沟万壑|0x1000000|1096\n千古不变|0x800000|807\n千古不磨|0x1000000|100\n千古不朽|0x1000000|1145\n千古独步|0x1000000|100\n千古绝唱|0x1000000|869\n千古绝调|0x1000000|100\n千古奇闻|0x0000|100\n千古一律|0x1400000|0\n千古一时|0x1400000|0\n千古一辙|0x1400000|0\n千古遗恨|0x800000|1052\n千古罪人|0x100000|938\n千红万紫|0x1000000|1241\n千呼万唤|0x1000000|32551\n千回百折|0x1000000|100\n千回百转|0x1000000|833\n千回万转|0x1000000|100\n千汇万状|0x1000000|100\n千家万户|0x1000000|8810\n千娇百媚|0x1000000|42992\n千斤顶|0x100000|41306\n千金敝帚|0x1000000|100\n千金弊帚|0x800000|100\n千金方|0x0008|1073\n千金买笑|0x1000000|1276\n千金市骨|0x1000000|1382\n千金小姐|0x1000000|874\n千金一瓠|0x1400000|0\n千金一刻|0x1400000|0\n千金一壸|0x1400000|0\n千金一诺|0x1400000|2\n千金一笑|0x1400000|0\n千金一掷|0x1400000|0\n千金用兵|0x1000000|0\n千金之家|0x1000000|100\n千金之裘|0x1000000|0\n千金之子|0x1000000|1241\n千金子|0x100000|0\n千军万马|0x1000000|19744\n千军易得|0x1000000|1097\n千钧为轻|0x800000|100\n千钧一发|0x1400000|30306\n千钧重负|0x800000|1535\n千里冰封|0x800000|881\n千里不同风|0x0008|100\n千里莼羹|0x1000000|100\n千里达|0x0008|1110\n千里鹅毛|0x1000000|1381\n千里光|0x100000|1160\n千里寄鹅毛|0x0008|1535\n千里结言|0x1000000|100\n千里驹|0x0000|53379\n千里骏骨|0x1000000|100\n千里餽粮|0x1000000|0\n千里马|0x100000|22546\n千里神交|0x1000000|100\n千里送鹅毛|0x0008|1103\n千里迢迢|0x1000000|21163\n千里同风|0x800000|100\n千里无烟|0x1000000|100\n千里眼|0x100000|31537\n千里一曲|0x1400000|0\n千里姻缘使线牵|0x0008|100\n千里姻缘一线牵|0x400008|0\n千里犹面|0x800000|100\n千里之堤|0x800000|1033\n千里之任|0x1000000|100\n千里之行|0x800000|912\n千里之行始于足下|0x0008|1496\n千里之志|0x1000000|1326\n千里之足|0x0000|100\n千粒重|0x100000|1171\n千了百当|0x1000000|1363\n千了百了|0x0000|100\n千了万当|0x1000000|100\n千伶百俐|0x1000000|1368\n千龄万代|0x1000000|100\n千虑一得|0x1400000|0\n千虑一失|0x1400000|0\n千门八将|0x400000|0\n千门万户|0x1000000|1032\n千磨百折|0x1000000|1536\n千难万苦|0x1000000|100\n千难万难|0x1000000|1051\n千难万险|0x1000000|37221\n千年虫|0x100000|1017\n千年等一回|0x400000|0\n千年健|0x100000|1198\n千年老二|0x400000|2\n千年万载|0x800000|0\n千年一律|0x1400000|0\n千篇一律|0x1400000|21275\n千奇百怪|0x1000000|30426\n千千万|0x200000|0\n千千万万|0x200000|10939\n千秋大业|0x800000|1012\n千秋人物|0x1000000|100\n千秋万代|0x1000000|40630\n千秋万古|0x1000000|1101\n千秋万世|0x1000000|1094\n千秋万岁|0x1000000|1066\n千人所指|0x1000000|100\n千人一面|0x1400000|0\n千人在线|0x100000|749\n千仞无枝|0x800000|100\n千日打柴一日烧|0x400008|0\n千日红|0x100000|1102\n千日斫柴一日烧|0x400008|0\n千山万壑|0x1000000|50693\n千山万水|0x1000000|27954\n千生万劫|0x1000000|1355\n千生万死|0x1000000|100\n千水万山|0x1000000|100\n千丝万缕|0x1000000|25584\n千思万虑|0x1000000|100\n千思万想|0x1000000|1202\n千随百顺|0x0000|100\n千岁鹤归|0x1000000|100\n千岁爷|0x100000|1310\n千岁一时|0x1400000|0\n千态万状|0x1000000|1341\n千条万端|0x1000000|100\n千条万缕|0x1000000|100\n千条万绪|0x1000000|1368\n千头万序|0x1000000|100\n千头万绪|0x1000000|21119\n千推万阻|0x0000|100\n千瓦时|0x20000|17286\n千瓦小时|0x20000|52394\n千万富翁|0x0000|539\n千万买邻|0x1000000|1205\n千闻不如一见|0x400008|0\n千禧年|0x100000|467\n千辛万苦|0x1000000|19530\n千形万状|0x1000000|100\n千绪万端|0x1000000|100\n千言万说|0x1000000|100\n千言万语|0x1000000|26212\n千岩竞秀|0x0000|100\n千岩万壑|0x1000000|1177\n千羊之皮|0x1000000|0\n千阳县|0x0040|1073\n千依百顺|0x1000000|967\n千依万顺|0x0000|100\n千与千寻|0x100000|873\n千语万言|0x1000000|100\n千灾百难|0x1000000|100\n千载难逢|0x1000000|20246\n千载难遇|0x1000000|100\n千载奇遇|0x1000000|100\n千载一弹|0x1400000|0\n千载一逢|0x1400000|0\n千载一合|0x400000|100\n千载一会|0x1400000|0\n千载一日|0x1400000|0\n千载一圣|0x1400000|0\n千载一时|0x1400000|0\n千载一遇|0x1400000|0\n千章万句|0x1000000|100\n千真万确|0x1000000|21637\n千状万端|0x0000|100\n千状万态|0x1000000|100\n千姿百态|0x1000000|20096\n千姿万态|0x1000000|100\n阡陌纵横|0x0000|49561\n迁安市|0x0040|1546\n迁臣逐客|0x1000000|100\n迁风移俗|0x1000000|100\n迁客骚人|0x1000000|1141\n迁兰变鲍|0x1000000|100\n迁怒于人|0x0000|100\n迁乔出谷|0x1000000|100\n迁善黜恶|0x1000000|100\n迁善改过|0x1000000|1346\n迁善去恶|0x1000000|100\n迁善塞违|0x1000000|100\n迁善远罪|0x1000000|100\n迁思回虑|0x1000000|100\n迁西县|0x0040|1608\n迁徙的鸟|0x0000|396\n迁延顾望|0x1000000|100\n迁延观望|0x1000000|100\n迁延稽留|0x1000000|100\n迁延羁留|0x1000000|100\n迁延日月|0x1000000|100\n迁延时日|0x1000000|100\n迁延岁月|0x1000000|100\n迁移率|0x0008|0\n迁移性|0x0008|1159\n迁莺出谷|0x1000000|100\n迁于乔木|0x0000|100\n牵肠割肚|0x1000000|100\n牵肠挂肚|0x1000000|29661\n牵肠萦心|0x1000000|100\n牵鬼上剑|0x1000000|100\n牵合附会|0x1000000|100\n牵合傅会|0x1000000|100\n牵经引礼|0x1000000|100\n牵连速度|0x0008|0\n牵萝补屋|0x1000000|100\n牵萝莫补|0x1000000|100\n牵牛花|0x100000|30307\n牵牛下井|0x1000000|100\n牵牛星|0x0008|54911\n牵牛织女|0x1000000|1036\n牵牛子|0x0008|0\n牵强附合|0x1000000|100\n牵强附会|0x1000000|35403\n牵涉面|0x100000|1105\n牵丝攀藤|0x1000000|100\n牵五挂四|0x1400000|0\n牵物引类|0x1000000|100\n牵线搭桥|0x800000|19404\n牵线人|0x0000|49915\n牵羊担酒|0x0000|100\n牵一发而|0x400000|0\n牵一发而动全身|0x400008|7\n牵衣投辖|0x1000000|100\n牵衣肘见|0x1000000|100\n牵引车|0x100000|942\n牵引发电机|0x0008|0\n牵引附会|0x1000000|100\n牵引机|0x100000|1068\n牵引力|0x100000|41074\n牵引器|0x0008|1019\n牵着鼻子走|0x0008|846\n铅笔刀|0x0000|55428\n铅笔盒|0x100000|942\n铅笔画|0x100000|49562\n铅玻璃|0x100000|1158\n铅垂线|0x100000|1306\n铅刀一割|0x1400000|0\n铅刀一刻|0x400000|0\n铅合金|0x100000|372\n铅山县|0x0040|1053\n铅中毒|0x1000|935\n谦恭下士|0x1000000|1284\n谦恭有礼|0x800000|1042\n谦躬下士|0x1000000|100\n谦谦君子|0x1000000|45068\n谦让未遑|0x0000|100\n谦受益|0x800000|1071\n谦虚谨慎|0x1000000|889\n谦虚敬慎|0x1000000|100\n谦尊而光|0x1000000|100\n签到簿|0x100000|52889\n签订合同|0x0000|570\n签合同|0x0000|545\n签名簿|0x100000|1116\n签名册|0x100000|1144\n签名档|0x0008|605\n签名人|0x0000|391\n签署人|0x100000|1115\n签约国|0x100000|1187\n签约人|0x100000|1205\n签证费|0x100000|969\n签字笔|0x100000|50306\n签字仪式|0x0000|525\n搴旗取将|0x0000|100\n搴旗斩将|0x800000|100\n前跋后疐|0x1000000|100\n前半晌|0x4000|1421\n前半生|0x100000|468\n前半天|0x4000|1211\n前半夜|0x4000|44483\n前不巴村|0x100000|100\n前不见古人|0x0008|883\n前不久|0x4000|4658\n前车可鉴|0x1000000|1180\n前车之覆|0x800000|1101\n前车之鉴|0x1000000|31538\n前尘往事|0x0000|462\n前尘影事|0x1000000|1300\n前程似锦|0x800000|889\n前程万里|0x1000000|1167\n前度刘郎|0x1000000|1173\n前段时间|0x0000|628\n前俯后仰|0x1000000|47160\n前赴后继|0x1000000|25912\n前覆后戒|0x1000000|100\n前歌后舞|0x1000000|100\n前功皆弃|0x0000|100\n前功尽废|0x0000|100\n前功尽灭|0x1000000|100\n前功尽弃|0x1000000|28860\n前古未闻|0x1000000|100\n前古未有|0x0000|100\n前滚翻|0x0000|55429\n前合后仰|0x0000|100\n前后脚儿|0x0000|47452\n前后文|0x100000|1130\n前后一致|0x400000|0\n前呼后应|0x800000|1162\n前呼后拥|0x1000000|29778\n前几天|0x0000|700\n前街后巷|0x1000000|1541\n前襟后裾|0x1000000|100\n前进方向|0x0000|517\n前倨后卑|0x0000|100\n前倨后恭|0x1000000|55808\n前列腺|0x100000|24070\n前列腺癌|0x100000|514\n前列腺病|0x100000|388\n前列腺肥大|0x100000|429\n前列腺疾病|0x100000|505\n前列腺结石|0x100000|407\n前列腺素|0x100000|987\n前列腺炎|0x0008|734\n前轮驱动|0x0008|0\n前门拒虎|0x800000|1355\n前门去虎|0x1000000|0\n前目后凡|0x0000|100\n前怕狼|0x800000|100\n前怕狼后怕虎|0x0008|1073\n前怕龙|0x800000|100\n前仆后踣|0x1000000|100\n前仆后继|0x1000000|20781\n前期工作|0x100000|556\n前前后后|0x800000|19490\n前人失脚|0x1000000|100\n前人栽树|0x800000|1112\n前人种树|0x800000|1094\n前哨战|0x100000|1031\n前事不忘|0x800000|1025\n前思后想|0x1000000|49563\n前苏联|0x100000|748\n前所未见|0x800000|43246\n前所未闻|0x800000|51103\n前所未有|0x1000000|5409\n前提条件|0x0000|559\n前田亘辉|0x0080|0\n前田知惠|0x0080|0\n前庭悬鱼|0x800000|100\n前徒倒戈|0x1000000|100\n前途无量|0x800000|825\n前挽后推|0x800000|1395\n前危后则|0x1000000|100\n前无古人|0x1000000|21120\n前些年|0x4000|810\n前言不搭后语|0x0008|964\n前言往行|0x1000000|1295\n前沿技术|0x100000|454\n前沿阵地|0x0008|13\n前仰后合|0x1000000|29662\n前一段时间|0x400000|555\n前一天|0x404000|289\n前因后果|0x1000000|34364\n前瞻后顾|0x1000000|1219\n前瞻性|0x100000|758\n前辙可鉴|0x1000000|100\n前置词|0x100000|1219\n前置放大器|0x0000|409\n前奏曲|0x100000|41310\n荨麻疹|0x100000|43312\n钱串子|0x100000|52396\n钱可通神|0x1000000|1246\n钱迷心窍|0x800000|1258\n钱其琛|0x0080|1047\n钱塘江|0x0040|1330\n钱学森|0x0080|1493\n钱眼儿|0x0000|36191\n钳工班|0x100000|0\n钳口不言|0x0000|100\n钳口挢舌|0x1000000|100\n钳口结舌|0x1000000|1426\n钳口吞舌|0x1000000|100\n乾安县|0x0040|1088\n乾端坤倪|0x1000000|100\n乾隆皇帝|0x0000|498\n乾隆年间|0x0000|464\n乾乾净净|0x0008|1542\n乾乾翼翼|0x1000000|1407\n乾洗店|0x0040|0\n箝位二极管|0x400000|0\n箝位器|0x100000|0\n潜德秘行|0x1000000|100\n潜德隐行|0x1000000|100\n潜伏期|0x100000|27301\n潜伏性|0x0008|1127\n潜伏着|0x0000|486\n潜光匿曜|0x1000000|100\n潜光隐德|0x1000000|100\n潜光隐耀|0x1000000|100\n潜规则|0x100000|542\n潜江市|0x0040|1445\n潜蛟困凤|0x1000000|100\n潜精积思|0x1000000|100\n潜精研思|0x1000000|100\n潜力股|0x100000|509\n潜鳞戢羽|0x1000000|100\n潜龙伏虎|0x800000|100\n潜窃阳剽|0x1000000|100\n潜濡默被|0x1000000|100\n潜濡默化|0x1000000|100\n潜山县|0x0040|1248\n潜山隐市|0x1000000|0\n潜神嘿规|0x1000000|100\n潜神默记|0x0000|100\n潜水泵|0x0000|51944\n潜水镜|0x0008|0\n潜水艇|0x100000|32029\n潜水衣|0x100000|52397\n潜水员|0x100000|24903\n潜台词|0x100000|32666\n潜艇队|0x100000|2\n潜望镜|0x100000|45970\n潜望镜天线|0x0008|0\n潜消默化|0x1000000|100\n潜心涤虑|0x1000000|100\n潜心笃志|0x1000000|100\n潜心于|0x0000|403\n潜形谲迹|0x1000000|100\n潜形匿迹|0x1000000|100\n潜形匿影|0x1000000|100\n潜休隐德|0x1000000|100\n潜移暗化|0x1000000|100\n潜移嘿夺|0x1000000|100\n潜移默夺|0x1000000|100\n潜移默化|0x1000000|13440\n潜移默运|0x1000000|100\n潜移默转|0x1000000|100\n潜意识|0x100000|14761\n潜在胶质|0x0008|0\n潜滋暗长|0x800000|52398\n潜踪匿影|0x1000000|100\n潜踪蹑迹|0x1000000|100\n潜踪隐迹|0x1000000|100\n黔江区|0x0040|1328\n黔驴技孤|0x1000000|100\n黔驴技穷|0x1000000|46548\n黔驴之计|0x100000|100\n黔驴之技|0x1000000|1317\n黔突暖席|0x0000|100\n黔西南|0x8000|1434\n黔西县|0x0040|1074\n浅表性|0x100000|1038\n浅尝辄止|0x1000000|32918\n浅粉红色|0x100000|1135\n浅浮雕|0x100000|379\n浅海养殖|0x0008|0\n浅褐色|0x100000|971\n浅见寡闻|0x0000|100\n浅蓝色|0x100000|809\n浅绿色|0x100000|853\n浅水湾|0x0040|1389\n浅希近求|0x800000|0\n浅斟低唱|0x1000000|100\n浅紫色|0x100000|932\n遣兵调将|0x1000000|100\n遣愁索笑|0x1000000|100\n遣词措意|0x1000000|100\n遣词立意|0x1000000|100\n遣词造句|0x800000|54430\n遣词造意|0x1000000|100\n遣辞措意|0x1000000|100\n遣将调兵|0x1000000|100\n遣将征兵|0x0000|100\n遣散费|0x100000|1079\n遣兴陶情|0x1000000|100\n遣言措意|0x1000000|100\n欠债还钱|0x1000000|1020\n倩女离魂|0x100000|1209\n倩女幽魂|0x100000|706\n倩人捉刀|0x0000|100\n堑山堙谷|0x1000000|1321\n嵌合体|0x100000|1208\n嵌入式|0x100000|601\n羌无故实|0x800000|100\n戕身伐命|0x1000000|100\n枪打出头鸟|0x0008|961\n枪杆子|0x100000|28121\n枪林弹雨|0x1000000|28654\n枪林刀树|0x1000000|100\n枪榴弹|0x100000|49202\n枪炮声|0x100000|434\n枪杀案|0x100000|1078\n枪声刀影|0x1000000|100\n枪声四起|0x400000|0\n枪乌贼|0x100000|1265\n枪烟炮雨|0x0000|100\n枪烟砲雨|0x1000000|100\n枪支弹药|0x0008|29\n枪子儿|0x100000|28123\n腔肠动物|0x100000|55811\n锵金铿玉|0x1000000|100\n锵金鸣玉|0x1000000|100\n强本节用|0x1000000|1365\n强本弱末|0x1000000|100\n强本弱支|0x1000000|100\n强本弱枝|0x1000000|100\n强兵富国|0x1000000|100\n强不知以为知|0x0008|930\n强唇劣嘴|0x0000|100\n强词夺理|0x1000000|34832\n强词夺正|0x1000000|100\n强盗窝|0x100000|1229\n强得易贫|0x1000000|100\n强的松|0x100000|1055\n强的松龙|0x100000|1177\n强度极限|0x0008|0\n强而后可|0x0000|100\n强而有力|0x0000|514\n强啡肽|0x0008|0\n强凫变鹤|0x1000000|100\n强干弱枝|0x1000000|1261\n强弓劲弩|0x0000|100\n强聒不舍|0x800000|1355\n强国富民|0x800000|1020\n强击机|0x100000|48465\n强记博闻|0x1000000|100\n强加于|0x0000|476\n强加于人|0x800000|31427\n强奸犯|0x100000|839\n强奸民意|0x800000|1090\n强奸罪|0x100000|938\n强将手下无弱兵|0x0008|1111\n强冷空气|0x0000|482\n强力胶|0x0008|969\n强力性|0x100000|0\n强烈建议|0x0000|590\n强烈推荐|0x0000|677\n强龙不压地头蛇|0x0008|1149\n强扭的瓜不甜|0x0008|999\n强弩末矢|0x1000000|100\n强弩之极|0x1000000|100\n强弩之末|0x1000000|40430\n强迫性|0x100000|904\n强强联合|0x800000|23498\n强取豪夺|0x800000|49917\n强权政治|0x800000|1011\n强热带风暴|0x0000|50697\n强人所难|0x1000000|44488\n强身健体|0x800000|810\n强识博闻|0x1000000|100\n强食靡角|0x1000000|100\n强食弱肉|0x1000000|100\n强食自爱|0x1000000|100\n强手如林|0x800000|996\n强死赖活|0x1000000|100\n强死强活|0x1000000|100\n强台风|0x100000|971\n强文假醋|0x1000000|100\n强文浉醋|0x1000000|100\n强心甙|0x0008|0\n强心剂|0x100000|39986\n强心针|0x0000|42995\n强行军|0x1000|51522\n强颜欢笑|0x800000|49204\n强硬派|0x100000|37403\n强有力|0x800000|5704\n强枝弱本|0x1000000|100\n强直性|0x100000|785\n强直性脊柱炎|0x0000|655\n强直自遂|0x1000000|100\n强制措施|0x0008|534\n强制性|0x100000|8575\n强制性标准|0x100000|545\n强制性产品|0x100000|478\n强制性条文|0x100000|513\n强制执行|0x0000|581\n强中更有强中手|0x0008|1074\n强中自有强中手|0x0008|1028\n强壮剂|0x100000|1227\n强自取折|0x1000000|100\n强自取柱|0x1000000|100\n强嘴拗舌|0x1000000|100\n强嘴硬牙|0x1000000|100\n强作解人|0x800000|1285\n墙倒众人推|0x0008|1077\n墙高基下|0x1000000|100\n墙花路草|0x1000000|100\n墙花路柳|0x1000000|100\n墙里开花墙外香|0x0008|1166\n墙面而立|0x0000|100\n墙头草|0x100000|52399\n墙头马上|0x1000000|1172\n墙外汉|0x100000|0\n墙有耳|0x0000|100\n蔷薇花|0x100000|450\n抢地呼天|0x1000000|100\n抢购风|0x0008|1178\n抢购一空|0xc00000|6\n抢劫案|0x100000|922\n抢劫案件|0x0000|405\n抢劫犯|0x100000|922\n抢劫杀人|0x0000|471\n抢镜头|0x800000|54914\n抢时间|0x1000|36697\n抢手货|0x100000|24585\n抢先一步|0x400000|1\n羟脯氨酸|0x100000|1202\n羟汞化|0x100000|0\n羟化酶|0x0008|0\n羟赖氨酸|0x100000|0\n羟色胺|0x0008|1638\n羟乙基纤维素|0x0008|0\n悄没声|0x0000|33950\n悄悄地|0x0100|593\n悄悄话|0x100000|26213\n悄然无声|0x800000|908\n悄无声息|0x800000|23237\n跷跷板|0x100000|49205\n跷足而待|0x1000000|100\n跷足抗手|0x1000000|100\n跷足抗首|0x1000000|100\n敲边鼓|0x1000|45071\n敲冰戛玉|0x1000000|100\n敲冰求火|0x1000000|100\n敲冰索火|0x1000000|100\n敲冰玉屑|0x1000000|100\n敲膏吸髓|0x1000000|100\n敲骨剥髓|0x1000000|100\n敲骨取髓|0x0000|100\n敲骨吸髓|0x1000000|1103\n敲骨榨髓|0x1000000|100\n敲击声|0x100000|908\n敲金击石|0x1000000|100\n敲金击玉|0x1000000|100\n敲金戛玉|0x1000000|100\n敲警钟|0x0000|434\n敲锣打鼓|0x1000000|23942\n敲锣放炮|0x0000|100\n敲锣放砲|0x1000000|100\n敲门砖|0x100000|36353\n敲牛宰马|0x1000000|100\n敲敲打打|0x800000|942\n敲山振虎|0x1000000|100\n敲山震虎|0x1000000|48467\n敲髓洒膏|0x1000000|100\n敲诈勒索|0x1000000|24384\n敲榨勒索|0x1000000|1359\n敲竹杠|0x1000000|41531\n乔龙画虎|0x800000|100\n乔其纱|0x100000|52891\n乔迁之喜|0x800000|45971\n乔松之寿|0x0000|100\n乔文假醋|0x1000000|100\n乔治敦|0x0040|1125\n乔治亚|0x0080|1584\n乔治亚州|0x0040|1629\n乔妆打扮|0x1000000|100\n乔妆改扮|0x0000|100\n乔装打扮|0x1000000|968\n乔装改扮|0x1000000|1096\n侨委会|0x0008|1232\n侨务办公室|0x0000|428\n桥归桥|0x800000|1142\n桥梁工程|0x0008|470\n桥牌赛|0x100000|1216\n桥式起重机|0x0000|415\n桥头堡|0x100000|26631\n憔神悴力|0x1000000|100\n樵村渔浦|0x1000000|100\n樵苏不爨|0x1000000|100\n樵苏失爨|0x1000000|100\n瞧不起|0x1000|13218\n瞧得起|0x1000|37758\n巧不可阶|0x1000000|100\n巧不可接|0x800000|100\n巧夺天工|0x1000000|32162\n巧发奇中|0x1000000|100\n巧妇难为无米之炊|0x0008|971\n巧家县|0x0040|1082\n巧捷万端|0x0000|100\n巧劲儿|0x100000|52892\n巧克力|0x100000|18341\n巧立名目|0x1000000|25496\n巧立名色|0x1000000|100\n巧取豪夺|0x1000000|40856\n巧舌如簧|0x1000000|48468\n巧同造化|0x0000|100\n巧偷豪夺|0x1000000|1384\n巧伪趋利|0x800000|100\n巧言利口|0x0000|100\n巧言令色|0x1000000|45665\n巧言偏辞|0x0000|100\n巧言如簧|0x1000000|1401\n巧语花言|0x1000000|100\n巧作名目|0x1000000|100\n愀然不乐|0x0000|100\n愀然无乐|0x0000|100\n俏成俏败|0x1000000|100\n俏房客|0x100000|458\n俏佳人|0x100000|535\n俏皮话|0x100000|26991\n峭论鲠议|0x1000000|100\n翘辫子|0x1000|54436\n翘舌音|0x100000|1162\n翘首企足|0x0000|100\n翘首以待|0x800000|37589\n翘首引领|0x0000|100\n翘尾巴|0x1000|44198\n翘足而待|0x800000|100\n翘足引领|0x800000|1283\n鞘里藏刀|0x1000000|100\n切比雪夫滤波器|0x0008|0\n切不可|0x2000|571\n切齿拊心|0x1000000|100\n切齿腐心|0x1000000|100\n切齿痛恨|0x800000|1100\n切齿痛心|0x0000|100\n切瑳琢磨|0x1000000|100\n切磋琢磨|0x1000000|1175\n切尔西|0x0040|1078\n切肤之痛|0x1000000|35091\n切割机|0x100000|746\n切骨之仇|0x1000000|1540\n切近的当|0x1000000|1494\n切理会心|0x1000000|100\n切理厌心|0x1000000|100\n切理餍心|0x1000000|100\n切片机|0x100000|874\n切切此布|0x800000|100\n切切实实|0x0100|891\n切切私语|0x800000|1083\n切切在心|0x0000|100\n切肉刀|0x0008|1197\n切入点|0x100000|765\n切身利益|0x800000|778\n切身体会|0x800000|865\n切实加强|0x0000|601\n切实可行|0x800000|791\n切实有力|0x800000|1179\n切实做好|0x0000|559\n切树倒根|0x800000|100\n切向加速度|0x100000|1429\n切向应力|0x0008|0\n切削机|0x0008|0\n切削角|0x100000|1427\n切削力|0x0008|369\n切削面|0x100000|1388\n切削速度|0x0008|0\n切削性能|0x0008|0\n切削用量|0x0008|0\n切削油|0x0000|383\n切中时弊|0x800000|1142\n切中时病|0x0000|100\n切中要害|0x800000|960\n且末县|0x0040|1120\n且食蛤蜊|0x1000000|100\n且住为佳|0x0000|100\n怯防勇战|0x1000000|100\n怯生生|0x0100|26214\n怯声怯气|0x1000000|1423\n怯头怯脑|0x800000|1368\n窃钩窃国|0x1000000|1420\n窃钩者诛|0x800000|1149\n窃国者侯|0x800000|1147\n窃据要津|0x800000|100\n窃窃私议|0x800000|1226\n窃窃私语|0x800000|27955\n窃听器|0x100000|42514\n窃位素餐|0x0000|100\n窃玉偷香|0x800000|1051\n挈领提纲|0x1000000|100\n挈瓶之知|0x0000|100\n挈瓶之智|0x0000|100\n惬心贵当|0x1000000|100\n锲而不舍|0x1000000|17535\n亲笔写|0x40000000|434\n亲笔信|0x100000|1000\n亲操井臼|0x1000000|100\n亲当矢石|0x1000000|100\n亲骨肉|0x100000|36192\n亲和力|0x100000|19255\n亲和性|0x100000|1031\n亲家公|0x100000|34367\n亲家母|0x100000|35409\n亲姐妹|0x100000|954\n亲离众叛|0x1000000|100\n亲临其境|0x800000|1067\n亲临一线|0x400000|4\n亲冒矢石|0x1000000|1263\n亲密关系|0x0000|530\n亲密无间|0x1000000|29450\n亲朋好友|0x800000|660\n亲戚关系|0x0000|456\n亲戚朋友|0x100000|555\n亲切感|0x100000|25716\n亲亲热热|0x0100|950\n亲仁善邻|0x1000000|100\n亲如骨肉|0x800000|100\n亲如手足|0x1000000|1108\n亲如兄弟|0x800000|1007\n亲如一家|0xc00000|1\n亲上成亲|0x1000000|100\n亲上加亲|0x800000|1054\n亲上做亲|0x1000000|1541\n亲身经历|0x0000|579\n亲生父母|0x0000|484\n亲生女儿|0x100000|502\n亲疏贵贱|0x0000|100\n亲水性|0x20000000|1001\n亲痛仇快|0x1000000|1228\n亲贤远佞|0x0000|100\n亲兄弟|0x100000|808\n亲眼目睹|0x800000|742\n亲属关系|0x100000|953\n亲子关系|0x0000|472\n亲子鉴定|0x0000|46861\n亲自动手|0x100000|850\n侵华日军|0x100000|543\n侵略国|0x100000|1205\n侵略军|0x100000|947\n侵略性|0x100000|862\n侵略战争|0x0008|43\n侵略者|0x100000|799\n侵权行为|0x100000|623\n侵蚀作用|0x0008|0\n侵占罪|0x0008|1656\n钦差大臣|0x1000000|28861\n钦州市|0x0040|1366\n衾寒枕冷|0x0000|100\n衾影无惭|0x800000|100\n嵚崎磊落|0x1000000|100\n嵚崎历落|0x1000000|0\n秦安县|0x0040|1072\n秦巴山区|0x0040|1129\n秦淮河|0x0040|1411\n秦欢晋爱|0x800000|100\n秦皇岛|0x0040|982\n秦皇岛市|0x0040|1171\n秦晋之好|0x1000000|49206\n秦镜高悬|0x1000000|1428\n秦岭隧道|0x0008|1694\n秦楼楚馆|0x1000000|1193\n秦失其鹿|0x0000|100\n秦庭之哭|0x1000000|100\n秦越肥瘠|0x1000000|100\n琴断朱弦|0x1000000|100\n琴歌酒赋|0x1000000|100\n琴剑飘零|0x1000000|1538\n琴棋书画|0x1000000|807\n琴瑟不调|0x1000000|100\n琴瑟调和|0x800000|100\n琴瑟和好|0x0000|100\n琴瑟失调|0x0000|100\n琴瑟之好|0x800000|100\n琴挑文君|0x0000|100\n琴心剑胆|0x1000000|1146\n禽困覆车|0x1000000|100\n禽流感|0x100000|5305\n禽息鸟视|0x1000000|100\n勤奋工作|0x0000|491\n勤奋学习|0x0000|501\n勤工俭学|0x800000|16739\n勤工助学|0x800000|25839\n勤俭办一切事业|0x400000|2\n勤俭持家|0x800000|944\n勤俭建国|0x800000|1027\n勤俭节约|0x800000|863\n勤能补拙|0x1000000|960\n勤勤恳恳|0x0100|798\n勤务兵|0x100000|1049\n勤务员|0x100000|1100\n勤学好问|0x0000|100\n勤学苦练|0x800000|32553\n勤杂工|0x100000|34220\n勤杂人员|0x800000|52895\n勤政廉政|0x800000|1019\n噙齿戴发|0x1000000|100\n擒奸讨暴|0x800000|100\n擒奸擿伏|0x1000000|100\n擒贼擒王|0x1000000|1012\n擒贼先擒王|0x0008|974\n螓首蛾眉|0x1000000|1186\n寝不安席|0x1000000|1217\n寝不成寐|0x1000000|100\n寝不聊寐|0x1000000|100\n寝关曝纩|0x0000|100\n寝皮食肉|0x1000000|100\n寝丘之志|0x1000000|100\n寝苫枕草|0x1000000|100\n寝苫枕干|0x1000000|100\n寝苫枕戈|0x1000000|0\n寝苫枕块|0x0000|100\n寝苫枕土|0x1000000|100\n寝食不安|0x1000000|39765\n寝食俱废|0x0000|100\n寝食难安|0x800000|882\n沁人肺腑|0x1000000|44200\n沁人心肺|0x1000000|1081\n沁人心腑|0x1000000|100\n沁人心脾|0x1000000|26558\n沁入心脾|0x1000000|0\n沁水县|0x0040|1637\n沁阳市|0x0040|1394\n沁源县|0x0040|1095\n青白江区|0x0040|1646\n青白色|0x100000|1026\n青菜萝卜|0x800000|800\n青藏高原|0x0040|1147\n青藏铁路|0x0008|1186\n青草地|0x100000|920\n青城山|0x100000|1336\n青出于蓝|0x1000000|46862\n青出于蓝而胜于蓝|0x0008|971\n青川县|0x0040|1099\n青春豆|0x100000|423\n青春痘|0x0008|43488\n青春年华|0x0000|492\n青春年少|0x800000|820\n青春偶像|0x100000|841\n青春期|0x100000|16492\n青春少女|0x100000|476\n青春岁月|0x100000|481\n青春文学|0x100000|433\n青春校园|0x100000|507\n青翠欲滴|0x0000|37760\n青岛大学|0x0020|1406\n青岛房产|0x100000|380\n青岛海洋大学|0x100000|398\n青岛市|0x0040|971\n青灯古佛|0x1000000|1027\n青灯黄卷|0x1000000|1123\n青风藤|0x100000|1287\n青肝碧血|0x1000000|100\n青冈县|0x0040|1087\n青光眼|0x100000|38536\n青过于蓝|0x0000|100\n青海湖|0x0040|1256\n青海人|0x100000|1119\n青海省|0x0040|1152\n青蒿素|0x0008|442\n青河县|0x0040|1094\n青红皁白|0x1000000|100\n青红皂白|0x1000000|29241\n青花菜|0x0008|0\n青黄不接|0x1000000|26414\n青黄沟木|0x1000000|1266\n青黄未接|0x1000000|100\n青灰色|0x100000|940\n青徽素|0x100000|0\n青稞酒|0x100000|927\n青口白舌|0x1000000|100\n青睐有加|0x800000|928\n青蓝冰水|0x1000000|100\n青藜学士|0x1000000|100\n青莲色|0x100000|1256\n青林黑塞|0x1000000|100\n青龙金匮|0x1000000|100\n青龙满族自治县|0x0040|1693\n青龙偃月刀|0x100000|1018\n青楼楚馆|0x1000000|100\n青绿色|0x0000|469\n青梅竹马|0x1000000|34833\n青霉素|0x100000|22293\n青面獠牙|0x1000000|45075\n青木香|0x100000|1173\n青年报|0x100000|658\n青年城|0x100000|418\n青年干部|0x0008|6\n青年歌手|0x100000|488\n青年宫|0x100000|48835\n青年会|0x100000|964\n青年教师|0x100000|585\n青年节|0x4000|28862\n青年路|0x0040|1320\n青年旅行社|0x100000|528\n青年期|0x0008|406\n青年企业家|0x100000|475\n青年人|0x100000|6747\n青年时代|0x0000|485\n青年突击队|0x0000|405\n青年团|0x100000|15838\n青年文明|0x100000|405\n青年学生|0x0000|526\n青年一代|0x400000|10\n青年志愿者|0x100000|579\n青鸟殷勤|0x0000|100\n青苹果|0x100000|543\n青浦区|0x0040|1227\n青钱万选|0x1000000|100\n青钱学士|0x1000000|100\n青青草|0x100000|467\n青裙缟袂|0x1000000|100\n青涩宝贝|0x100000|1039\n青纱帐|0x100000|31319\n青山不老|0x1000000|1147\n青山常在|0x800000|1210\n青山绿水|0x1000000|783\n青山一发|0x1400000|0\n青衫司马|0x1000000|100\n青少年|0x100000|2049\n青少年犯罪|0x100000|474\n青少年宫|0x100000|919\n青少年科技|0x100000|499\n青少年时代|0x0000|415\n青少年网络|0x100000|569\n青少年心理|0x100000|458\n青少年学生|0x100000|494\n青少年足球|0x100000|407\n青神县|0x0040|1063\n青石板|0x100000|828\n青史标名|0x0000|100\n青史传名|0x0000|100\n青史垂名|0x0000|100\n青史流芳|0x0000|100\n青史留芳|0x0000|100\n青史留名|0x800000|1034\n青丝白马|0x1000000|100\n青饲料|0x100000|46863\n青堂瓦舍|0x800000|55431\n青天白日|0x1000000|27871\n青天霹雳|0x1000000|1050\n青田石|0x100000|53901\n青田县|0x0040|1557\n青铜器|0x100000|19460\n青铜器时代|0x4000|1136\n青铜时代|0x0008|942\n青铜峡|0x0040|1371\n青铜峡市|0x0040|1638\n青蛙王子|0x100000|821\n青瓦台|0x0040|1060\n青霄白日|0x1000000|100\n青霄直上|0x1000000|100\n青鞋布袜|0x1000000|100\n青眼相看|0x0000|100\n青羊宫|0x100000|394\n青阳县|0x0040|1507\n青叶胆|0x100000|1341\n青蝇点璧|0x1000000|100\n青蝇点素|0x1000000|100\n青蝇点玉|0x1000000|100\n青蝇吊客|0x100000|1531\n青蝇染白|0x1000000|100\n青蝇之吊|0x0000|100\n青云独步|0x1000000|100\n青云万里|0x0000|100\n青云直上|0x1000000|46864\n青枝绿叶|0x1000000|1151\n青州从事|0x1000000|1328\n青州市|0x0040|1330\n青竹丹枫|0x1000000|100\n青贮窖|0x100000|1355\n青贮饲料|0x0008|2\n青壮年|0x100000|861\n青紫被体|0x0000|100\n氢氟酸|0x100000|980\n氢化物|0x100000|1091\n氢离子|0x0008|396\n氢气球|0x100000|941\n氢氰酸|0x100000|1167\n氢同位素|0x0008|2\n氢溴酸|0x100000|415\n氢氧化|0x100000|932\n氢氧化铵|0x100000|1231\n氢氧化钡|0x100000|1175\n氢氧化钙|0x100000|1070\n氢氧化钾|0x100000|1008\n氢氧化锂|0x100000|1199\n氢氧化铝|0x100000|964\n氢氧化镁|0x100000|996\n氢氧化钠|0x100000|956\n氢氧化铁|0x100000|1247\n氢氧化物|0x100000|50309\n氢原子|0x100000|1029\n轻便式|0x0008|0\n轻薄笔记本|0x100000|446\n轻薄无礼|0x1000000|1397\n轻薄无行|0x1000000|1429\n轻薄无知|0x1000000|100\n轻才好施|0x0000|100\n轻财贵义|0x1000000|1302\n轻财好施|0x1000000|100\n轻财好士|0x1000000|100\n轻财好义|0x1000000|1419\n轻财敬士|0x1000000|100\n轻财仗义|0x1000000|100\n轻财重士|0x1000000|1538\n轻财重义|0x1000000|1338\n轻车减从|0x1000000|0\n轻车简从|0x1000000|26415\n轻车熟道|0x1000000|100\n轻车熟路|0x1000000|37590\n轻尘栖弱草|0x0008|1400\n轻而易举|0x1000000|15707\n轻赋薄敛|0x1000000|100\n轻歌剧|0x0008|369\n轻歌曼舞|0x1000000|43962\n轻工部|0x0008|1009\n轻工产品|0x100000|911\n轻工局|0x100000|1208\n轻工业|0x100000|15287\n轻工业部|0x100000|1656\n轻工业品|0x100000|946\n轻工业学院|0x100000|482\n轻机关枪|0x100000|1427\n轻机枪|0x100000|40432\n轻金属|0x100000|55814\n轻举绝俗|0x1000000|100\n轻举妄动|0x1000000|31320\n轻举远游|0x1000000|100\n轻口薄舌|0x1000000|1312\n轻口轻舌|0x1000000|100\n轻利重义|0x0008|1536\n轻怜疼惜|0x1000000|100\n轻怜痛惜|0x1000000|100\n轻怜重惜|0x1000000|100\n轻量级|0x20000000|37761\n轻虑浅谋|0x1000000|100\n轻描淡写|0x1000000|19229\n轻诺寡信|0x1000000|1290\n轻飘飘|0x0100|24138\n轻骑兵|0x100000|40631\n轻骑减从|0x1000000|0\n轻骑简从|0x1000000|100\n轻敲缓击|0x1000000|100\n轻轻地|0x0100|553\n轻轻松松|0x0100|538\n轻裘肥马|0x1000000|1386\n轻裘缓带|0x1000000|100\n轻裘缓辔|0x1000000|100\n轻饶素放|0x1000000|100\n轻如鸿毛|0x1000000|1019\n轻若鸿毛|0x1000000|100\n轻伤者|0x100000|3\n轻身下气|0x1000000|100\n轻身殉义|0x1000000|100\n轻身重义|0x1000000|100\n轻生重义|0x1000000|100\n轻世傲物|0x1000000|1524\n轻世肆志|0x1000000|100\n轻视傲物|0x800000|100\n轻手蹑脚|0x1000000|100\n轻手轻脚|0x1000000|29557\n轻手软脚|0x1000000|100\n轻死重气|0x1000000|100\n轻死重义|0x1000000|100\n轻吞慢吐|0x1000000|100\n轻文重武|0x0008|1538\n轻武器|0x100000|37046\n轻徙鸟举|0x1000000|100\n轻型车|0x100000|419\n轻型客车|0x100000|434\n轻言寡信|0x1000000|100\n轻言轻语|0x1000000|100\n轻言软语|0x1000000|100\n轻言肆口|0x1000000|100\n轻言细语|0x1000000|1019\n轻傜薄赋|0x1000000|100\n轻徭薄赋|0x1000000|0\n轻徭薄税|0x1000000|100\n轻繇薄赋|0x1000000|100\n轻音乐|0x100000|31077\n轻印刷|0x100000|1217\n轻悠悠|0x0100|53902\n轻于鸿毛|0x1000000|51106\n轻元素|0x100000|1286\n轻重倒置|0x1000000|55815\n轻重缓急|0x1000000|25277\n轻重量级|0x20000000|1316\n轻重失宜|0x1000000|100\n轻装简从|0x1000000|1276\n轻装上阵|0x1000000|33807\n轻装师|0x100000|0\n轻卒锐兵|0x0000|100\n轻嘴薄舌|0x1000000|1426\n倾抱写诚|0x1000000|100\n倾肠倒肚|0x1000000|100\n倾巢出动|0x800000|48471\n倾巢而出|0x800000|48836\n倾城倾国|0x1000000|51525\n倾耳而听|0x800000|100\n倾耳细听|0x0000|100\n倾耳注目|0x0000|100\n倾盖如故|0x0000|100\n倾肝沥胆|0x1000000|100\n倾国倾城|0x1000000|44490\n倾家败产|0x1000000|100\n倾家荡产|0x1000000|23604\n倾家竭产|0x1000000|100\n倾家破产|0x1000000|100\n倾尽全力|0x0008|3\n倾柯卫足|0x1000000|100\n倾筐倒庋|0x1000000|100\n倾筐倒箧|0x1000000|100\n倾盆大雨|0x800000|32554\n倾其所有|0x0000|442\n倾箱倒箧|0x1000000|1499\n倾向性|0x100000|17596\n倾向于|0x0000|626\n倾斜度|0x100000|998\n倾斜角|0x100000|1096\n倾斜仪|0x100000|1307\n倾心尽力|0x800000|907\n倾心吐胆|0x1000000|1366\n倾摇懈弛|0x800000|100\n卿大夫|0x100000|396\n卿卿我我|0x1000000|36863\n清仓查库|0x800000|1335\n清产核资|0x800000|43490\n清唱剧|0x100000|1076\n清澈见底|0x800000|821\n清尘浊水|0x1000000|100\n清川江|0x0040|0\n清纯如一|0x400000|0\n清词丽句|0x1000000|1243\n清辞丽句|0x1000000|100\n清辞丽曲|0x1000000|100\n清道夫|0x100000|43491\n清都绛阙|0x1000000|100\n清都紫府|0x1000000|100\n清都紫微|0x1000000|100\n清耳悦心|0x0000|100\n清丰县|0x0040|1653\n清风高节|0x1000000|100\n清风劲节|0x1000000|100\n清风峻节|0x1000000|100\n清风朗月|0x1000000|1103\n清风两袖|0x1000000|1180\n清风亮节|0x1000000|100\n清风明月|0x1000000|885\n清歌曼舞|0x1000000|100\n清歌妙舞|0x1000000|1297\n清宫除道|0x0000|100\n清官难断家务事|0x0000|382\n清官能断家务事|0x0008|100\n清规戒律|0x1000000|41533\n清锅冷灶|0x1000000|1541\n清河县|0x0040|1478\n清花机|0x100000|0\n清华北大|0x100000|498\n清华大学|0x0020|920\n清华大学出版社|0x100000|521\n清华教授|0x100000|477\n清华阳光|0x100000|379\n清华紫光|0x0008|1099\n清灰冷火|0x1000000|100\n清灰冷灶|0x1000000|100\n清浑皁白|0x1000000|100\n清涧县|0x0040|1083\n清教徒|0x100000|37047\n清洁车|0x0000|51107\n清洁队|0x0008|1142\n清洁工|0x100000|23185\n清洁剂|0x100000|768\n清洁卫生|0x0008|540\n清洁用品|0x100000|498\n清洁员|0x100000|1078\n清净寂灭|0x1000000|1345\n清净无为|0x1000000|1096\n清静无为|0x1000000|1042\n清君侧|0x1000|1073\n清廉正直|0x0000|100\n清凉剂|0x100000|1155\n清凉世界|0x100000|979\n清凉油|0x100000|41767\n清洌可鉴|0x0000|100\n清凌凌|0x0100|1203\n清流县|0x0040|1055\n清棉机|0x100000|0\n清明菜|0x100000|1375\n清明节|0x4000|19094\n清贫如洗|0x0000|100\n清平世界|0x1000000|1182\n清清白白|0x0100|928\n清清楚楚|0x0100|671\n清清静静|0x0100|1049\n清清爽爽|0x0100|843\n清热解毒|0x800000|830\n清扫工|0x100000|1185\n清身洁己|0x1000000|100\n清水泵|0x100000|382\n清水河|0x0040|1464\n清水河县|0x0040|1111\n清水无大鱼|0x0008|1498\n清水县|0x0040|1088\n清水衙门|0x100000|46550\n清算人|0x0000|368\n清汤寡水|0x1000000|53382\n清天白日|0x1000000|100\n清微淡远|0x1000000|1296\n清渭浊泾|0x1000000|100\n清晰版|0x100000|576\n清晰度|0x100000|743\n清晰可见|0x800000|764\n清闲自在|0x1000000|1123\n清心寡欲|0x800000|903\n清心少欲|0x1000000|100\n清新俊逸|0x1000000|1280\n清新县|0x0040|1571\n清醒剂|0x100000|1100\n清虚洞府|0x1000000|100\n清徐县|0x0040|1610\n清夜扪心|0x1000000|1284\n清一色|0x500000|16584\n清音阁|0x100000|393\n清音幽韵|0x800000|100\n清莹秀澈|0x0000|100\n清原满族自治县|0x0040|1662\n清源正本|0x1000000|100\n清远市|0x0040|1382\n清苑县|0x0040|1522\n清障车|0x100000|1050\n清真教|0x0020|55432\n清真寺|0x100000|13294\n清镇市|0x0040|1044\n清正廉洁|0x800000|928\n清政府|0x100000|539\n清浊同流|0x800000|100\n蜻蜓点水|0x1000000|29976\n蜻蜓撼石柱|0x0008|1365\n情报机构|0x100000|528\n情报界|0x100000|1133\n情报局|0x100000|839\n情报所|0x100000|1011\n情报网|0x100000|907\n情报学|0x1000000|998\n情报员|0x100000|903\n情报站|0x100000|813\n情报中心|0x100000|470\n情报资料|0x0008|8\n情不可却|0x1000000|1542\n情不自禁|0x1000000|10306\n情不自已|0x1000000|1244\n情长纸短|0x0000|100\n情场失意|0x1000000|877\n情窦初开|0x1000000|43000\n情非得已|0x1000000|867\n情孚意合|0x1000000|100\n情感故事|0x100000|505\n情感话题|0x100000|411\n情感论坛|0x100000|444\n情感日记|0x100000|394\n情感世界|0x100000|519\n情感天地|0x100000|475\n情感小说|0x100000|398\n情急智生|0x1000000|48840\n情见乎词|0x1000000|100\n情见乎辞|0x1000000|1347\n情见乎言|0x1000000|100\n情见力屈|0x1000000|100\n情见势屈|0x1000000|100\n情见埶竭|0x1000000|100\n情见于色|0x0000|100\n情节剧|0x100000|0\n情景交融|0x800000|38537\n情景模式|0x0000|533\n情况严重|0x1000000|912\n情理难容|0x1000000|1214\n情理之中|0x800000|748\n情侣号|0x100000|474\n情侣用品|0x100000|415\n情侣装|0x100000|512\n情面难却|0x0000|100\n情凄意切|0x1000000|100\n情趣内衣|0x100000|561\n情趣笑话|0x100000|427\n情趣用品|0x100000|548\n情人节|0x100000|759\n情人眼里出西施|0x0008|883\n情深骨肉|0x0000|100\n情深似海|0x800000|944\n情深潭水|0x0000|100\n情深一往|0x1400000|0\n情深义重|0x1000000|1003\n情深意长|0x0000|55433\n情深意切|0x800000|1014\n情深意重|0x1000000|954\n情深友于|0x0000|100\n情恕理遣|0x1000000|100\n情随事迁|0x1000000|53903\n情天孽海|0x0000|100\n情同骨肉|0x1000000|1233\n情同手足|0x800000|37762\n情同一家|0x400000|100\n情投契合|0x1000000|100\n情投谊合|0x1000000|100\n情投意合|0x1000000|37763\n情投意洽|0x1000000|100\n情投意忺|0x1000000|100\n情文并茂|0x1000000|1271\n情绪反应|0x0008|0\n情绪化|0x1000|707\n情绪性|0x100000|397\n情意绵绵|0x800000|847\n情有独钟|0x800000|18999\n情有可原|0x1000000|31429\n情逾骨肉|0x0000|100\n情真意切|0x1000000|26475\n情真意挚|0x800000|1325\n情至意尽|0x800000|100\n情重姜肱|0x1000000|100\n情逐事迁|0x1000000|100\n晴空万里|0x800000|35408\n晴隆县|0x0040|1125\n晴天霹雳|0x1000000|32919\n晴雨表|0x100000|25915\n晴雨伞|0x100000|55434\n晴云秋月|0x1000000|1316\n晴转多云|0x800000|913\n氰化钾|0x100000|1104\n氰化钠|0x100000|1144\n氰化氢|0x100000|1202\n氰化物|0x100000|47794\n氰尿酸|0x100000|386\n氰酸盐|0x100000|0\n擎天架海|0x1000000|100\n擎天之柱|0x0000|100\n擎天柱|0x100000|52403\n顷刻间|0x4000|765\n顷刻之间|0x1000000|906\n请等一下|0x400000|0\n请假条|0x0000|47456\n请将不如激将|0x0008|1199\n请君入瓮|0x1000000|43252\n请客吃饭|0x0000|474\n请求者|0x0000|374\n请先入瓮|0x0000|100\n请原谅|0x0000|589\n请愿书|0x0008|1058\n请自隗始|0x1000000|100\n庆安县|0x0040|1055\n庆大霉素|0x100000|47164\n庆典公司|0x100000|397\n庆典活动|0x0008|518\n庆典礼仪|0x100000|423\n庆典用品|0x100000|369\n庆吊不行|0x0000|100\n庆父不死|0x800000|1268\n庆功会|0x100000|895\n庆功宴|0x100000|793\n庆生会|0x0008|935\n庆元县|0x0040|1560\n庆云县|0x0040|1051\n庆祝会|0x100000|950\n磬笔难书|0x1000000|100\n磬石之固|0x0000|100\n磬竹难书|0x800000|100\n罄其所有|0x800000|0\n罄竹难书|0x1000000|42771\n跫然足音|0x1000000|100\n跫响空谷|0x1000000|100\n邛崃市|0x0040|1560\n穷爸爸|0x100000|436\n穷棒子|0x100000|46865\n穷兵黩武|0x1000000|40198\n穷不失义|0x1000000|1406\n穷愁潦倒|0x800000|1178\n穷大失居|0x1000000|100\n穷当益坚|0x1000000|1355\n穷而后工|0x1000000|1230\n穷根究底|0x800000|1239\n穷骨头|0x100000|51527\n穷光蛋|0x100000|28044\n穷孩子|0x100000|455\n穷极思变|0x1000000|100\n穷极无聊|0x1000000|52900\n穷极要妙|0x0000|100\n穷家富路|0x800000|1270\n穷讲究|0x0000|52901\n穷寇勿追|0x1000000|1285\n穷困潦倒|0x1000000|833\n穷理尽性|0x1000000|1192\n穷年累世|0x0000|100\n穷年累月|0x1000000|51954\n穷鸟入怀|0x1000000|1540\n穷且益坚|0x800000|1100\n穷泉朽壤|0x1000000|100\n穷日之力|0x0000|100\n穷日子|0x100000|432\n穷山恶水|0x1000000|41077\n穷山沟|0x100000|387\n穷山僻壤|0x800000|100\n穷奢极侈|0x1000000|1074\n穷奢极欲|0x1000000|47457\n穷书生|0x100000|422\n穷鼠啮狸|0x1000000|100\n穷天极地|0x0000|100\n穷途潦倒|0x1000000|1203\n穷途末路|0x1000000|36516\n穷途之哭|0x1000000|1198\n穷乡僻壤|0x1000000|27303\n穷巷陋室|0x1000000|100\n穷形尽相|0x1000000|1255\n穷凶极恶|0x1000000|28393\n穷阎漏屋|0x1000000|100\n穷幽极微|0x0000|100\n穷原竟委|0x1000000|1341\n穷源竟委|0x1000000|100\n穷源朔流|0x1000000|100\n穷源溯流|0x1000000|1533\n穷猿奔林|0x1000000|100\n穷猿投林|0x1000000|100\n穷则思变|0x1000000|40433\n穷追不舍|0x800000|31891\n穷追猛打|0x800000|920\n茕茕孑立|0x800000|52902\n琼厨金穴|0x1000000|100\n琼岛春云|0x1000000|100\n琼堆玉砌|0x0000|100\n琼海市|0x0040|1533\n琼浆金液|0x0000|100\n琼浆玉液|0x1000000|1024\n琼结县|0x0040|1189\n琼林玉树|0x1000000|100\n琼林玉质|0x0000|100\n琼楼金阙|0x1000000|100\n琼楼玉宇|0x1000000|47458\n琼枝玉树|0x0000|100\n琼枝玉叶|0x1000000|1358\n琼中黎族苗族自治县|0x0040|1816\n琼州海峡|0x0040|1635\n丘北县|0x0040|1151\n丘比特|0x0008|1206\n丘吉尔|0x0040|1387\n丘陵地|0x0000|476\n丘山之功|0x100000|100\n邱吉尔|0x0080|1522\n秋波盈盈|0x0000|100\n秋冬季|0x4000|864\n秋风过耳|0x800000|1299\n秋风落叶|0x0000|100\n秋风扫落叶|0x0008|51529\n秋风扫叶|0x0000|100\n秋风团扇|0x800000|100\n秋风纨扇|0x0000|100\n秋高马肥|0x0000|100\n秋高气和|0x0000|100\n秋高气爽|0x1000000|31079\n秋高气肃|0x0080|1286\n秋海棠|0x100000|40859\n秋毫不犯|0x0000|100\n秋毫见捐|0x800000|100\n秋毫无犯|0x1000000|1101\n秋毫勿犯|0x0000|100\n秋毫之末|0x800000|1232\n秋后算帐|0x1000000|1010\n秋后算账|0x800000|55942\n秋老虎|0x100000|44203\n秋千架|0x100000|397\n秋色平分|0x800000|1289\n秋扇见捐|0x0000|100\n秋实春华|0x0000|100\n秋收冬藏|0x800000|1127\n秋收起义|0x0008|1017\n秋水仙素|0x0008|0\n秋水伊人|0x800000|929\n秋水盈盈|0x0000|100\n秋荼密网|0x1000|100\n秋行夏令|0x0000|100\n秋月春风|0x800000|1023\n秋月春花|0x0000|100\n秋月当空|0x800000|1103\n秋月寒江|0x0000|100\n秋庄稼|0x100000|44794\n蚯蚓血红蛋白|0x0008|0\n囚首垢面|0x1000000|1540\n囚首丧面|0x1000000|100\n求备一人|0x400000|0\n求大同|0x1000000|1186\n求道于盲|0x0000|100\n求福禳灾|0x0000|100\n求过于供|0x0000|100\n求婚者|0x100000|1075\n求浆得酒|0x0000|100\n求马唐肆|0x1000000|100\n求马于唐市|0x100000|1248\n求马于唐肆|0x100000|1532\n求名夺利|0x0000|100\n求名求利|0x800000|1106\n求其友声|0x0000|100\n求亲告友|0x1000000|100\n求亲靠友|0x1000000|100\n求全责备|0x1000000|31774\n求全之毁|0x1000000|100\n求人不如求己|0x0008|100\n求仁得仁|0x1000000|1098\n求三拜四|0x400000|0\n求三年之艾|0x400008|0\n求神拜佛|0x1000000|42277\n求神问卜|0x800000|1116\n求生害仁|0x1000000|100\n求生欲|0x100000|1148\n求胜心切|0x800000|1071\n求田问舍|0x1000000|1202\n求同存异|0x1000000|13227\n求贤如渴|0x1000000|100\n求贤若渴|0x1000000|39991\n求贤下士|0x1000000|100\n求医问药|0x800000|794\n求益反损|0x0000|100\n求之不得|0x1000000|25438\n求知若渴|0x1000000|1074\n求知欲|0x100000|26067\n求职信|0x100000|781\n求职意向|0x100000|631\n求职者|0x100000|656\n求志达道|0x1000000|100\n求忠出孝|0x1000000|100\n求助于|0x0000|528\n酋长国|0x100000|24656\n球虫病|0x0008|0\n球蛋白|0x100000|33808\n球茎甘蓝|0x0008|1294\n球类运动|0x0008|893\n球门员|0x100000|0\n球面几何|0x100000|1078\n球面镜|0x100000|953\n球面三角|0x400008|0\n球面三角形|0x400000|0\n球面三角学|0x400000|0\n球磨机|0x100000|865\n球墨铸铁|0x100000|834\n球轴承|0x100000|891\n球状物|0x0000|371\n裘弊金尽|0x800000|1379\n裘马轻肥|0x0000|100\n裘马轻狂|0x800000|100\n裘马清狂|0x0000|100\n裘马声色|0x0000|100\n裘皮服装|0x100000|865\n区别不同情况|0x0000|406\n区公所|0x1000000|1055\n区划图|0x100000|1081\n区间车|0x100000|1076\n区区此心|0x0000|100\n区区小事|0x800000|1072\n区区之众|0x0000|100\n区委书记|0x100000|524\n区位理论|0x0008|0\n区位三角形|0x400000|0\n区闻陬见|0x1000000|100\n区宇一清|0x400000|0\n区域代理|0x100000|471\n区域地理学|0x0008|0\n区域分析|0x0000|382\n区域规划|0x0008|470\n区域合作|0x0000|525\n区域环境|0x0008|969\n区域经济|0x100000|745\n区域经理|0x100000|510\n区域开发|0x0008|7\n区域内|0x100000|663\n区域试验|0x0008|0\n区域性|0x100000|760\n区域专一性|0x400000|0\n区政府|0x100000|8164\n曲别针|0x100000|53385\n曲不离口|0x1000000|1116\n曲阜市|0x0040|1470\n曲高和寡|0x1000000|41535\n曲肱而枕|0x1000000|1194\n曲棍球|0x100000|26913\n曲尽其妙|0x1000000|1214\n曲颈瓶|0x100000|1330\n曲颈甑|0x100000|1510\n曲径通幽|0x800000|39992\n曲靖市|0x0040|1408\n曲里拐弯|0x0100|38738\n曲麻莱|0x0040|1107\n曲麻莱县|0x0040|1124\n曲眉丰颊|0x0000|100\n曲曲弯弯|0x0100|37957\n曲曲折折|0x0100|868\n曲水流觞|0x800000|1005\n曲水县|0x0040|1166\n曲松县|0x0040|1221\n曲突徙薪|0x1000000|1251\n曲突移薪|0x1000000|100\n曲沃县|0x0040|1046\n曲线板|0x4000000|0\n曲线救国|0x0008|1\n曲线美|0x0008|43003\n曲线拟合|0x0008|0\n曲线图|0x100000|930\n曲线运动|0x0008|0\n曲学阿世|0x1000000|1284\n曲学诐行|0x1000000|100\n曲阳县|0x0040|1576\n曲意承迎|0x1000000|100\n曲意逢迎|0x1000000|52903\n曲意奉承|0x800000|1174\n曲意奉迎|0x1000000|100\n曲意迎合|0x1000000|100\n曲终人散|0x800000|52904\n曲终奏雅|0x1000000|1310\n曲周县|0x0040|1650\n诎寸信尺|0x0000|100\n诎要桡腘|0x1000000|100\n驱虫剂|0x100000|55816\n驱动程序|0x100000|588\n驱动力|0x100000|825\n驱动器|0x100000|32033\n驱动之家|0x100000|760\n驱雷策电|0x1000000|100\n驱雷掣电|0x1000000|100\n驱霆策电|0x1000000|100\n驱羊攻虎|0x0000|100\n驱羊战狼|0x1000000|100\n驱逐出境|0x100000|39\n驱逐机|0x100000|1276\n驱逐舰|0x100000|20057\n驱逐令|0x100000|53386\n屈打成招|0x1000000|45672\n屈服点|0x0008|0\n屈服于|0x0000|497\n屈高就下|0x1000000|100\n屈谷巨瓠|0x0000|100\n屈光度|0x100000|1064\n屈光性|0x100000|0\n屈蠖求伸|0x0000|100\n屈节辱命|0x0000|100\n屈辱性|0x100000|1321\n屈氏体|0x0008|0\n屈戌儿|0x100000|0\n屈艳班香|0x0000|100\n屈一伸万|0x400000|0\n屈折语|0x0008|1341\n屈指可数|0x1000000|24587\n屈指一算|0x400000|389\n屈尊就卑|0x0000|100\n祛病延年|0x0000|100\n祛蠹除奸|0x1000000|100\n祛风胜湿|0x0008|0\n蛐蛐儿|0x100000|14409\n趋肤效应|0x0008|0\n趋光性|0x100000|1187\n趋利避害|0x1000000|17456\n趋权附势|0x0000|100\n趋时奉势|0x0000|100\n趋时附势|0x0000|100\n趋炎附热|0x0000|100\n趋炎附势|0x1000000|40634\n趋之若骛|0x1000000|885\n趋之若鹜|0x1000000|29666\n劬劳顾复|0x1000000|100\n劬劳之恩|0x1000000|100\n衢州市|0x0040|1328\n取保候审|0x0000|30636\n取长补短|0x1000000|15688\n取长弃短|0x1000000|100\n取得实效|0x0000|545\n取而代之|0x1000000|17268\n取法乎上|0x800000|1152\n取精用弘|0x1000000|1371\n取景器|0x0008|55817\n取决于|0x1000|588\n取快一时|0x400000|0\n取乱存亡|0x1000000|100\n取乱侮亡|0x1000000|100\n取名为|0x1000|542\n取暖器|0x100000|48843\n取巧图便|0x800000|100\n取青妃白|0x1000000|100\n取青媲白|0x1000000|100\n取如拾遗|0x800000|100\n取辖投井|0x800000|100\n取信于民|0x800000|19897\n取信于人|0x800000|1074\n取义成仁|0x1000000|1259\n取予有节|0x0000|100\n取之不尽|0x1000000|862\n取之不尽，用之不竭|0x0000|46867\n取之不尽用之不竭|0x0000|379\n取之于民|0x1000000|980\n取之于民，用之于民|0x0000|47167\n取诸宫中|0x1000000|100\n去暗投明|0x1000000|100\n去本就末|0x1000000|100\n去本趋末|0x1000000|100\n去粗取精|0x800000|38332\n去故就新|0x0000|100\n去故纳新|0x1000000|100\n去极化|0x0008|0\n去甲肾上腺素|0x0008|416\n去就之分|0x0000|100\n去末归本|0x1000000|100\n去年度|0x100000|1142\n去年同期|0x100000|685\n去甚去泰|0x0000|100\n去食存信|0x0000|100\n去是是非者|0x0008|0\n去太去甚|0x1000000|100\n去泰去甚|0x1000000|100\n去天尺五|0x1400000|0\n去痛片|0x0000|52405\n去危就安|0x1000000|100\n去伪存真|0x1000000|33953\n去污粉|0x100000|53387\n去污剂|0x100000|1070\n去污力|0x100000|1133\n去芜存菁|0x0000|54446\n去邪归正|0x1000000|100\n去住两难|0x0000|100\n阒其无人|0x1000000|1414\n阒然无声|0x0000|100\n阒无人声|0x1000000|100\n阒无一人|0x1400000|0\n趣味软件|0x100000|466\n趣味十足|0x400000|0\n趣味性|0x100000|767\n圈牢养物|0x800000|100\n圈内人|0x100000|815\n圈圈点点|0x100000|1060\n圈外人|0x0008|992\n全班同学|0x0000|539\n全般支援|0x0008|0\n全璧归赵|0x1000000|100\n全部歌曲|0x100000|622\n全部歌手|0x100000|527\n全部内容|0x100000|606\n全党全国人民|0x0000|413\n全反射|0x100000|1113\n全方位|0x20000000|4845\n全副武装|0x800000|799\n全功尽弃|0x1000000|1227\n全功能|0x100000|586\n全国大学生|0x100000|517\n全国代表大会|0x0008|1363\n全国妇联|0x0008|1470\n全国高校|0x100000|555\n全国各地|0x0000|747\n全国各族人民|0x0000|521\n全国公安|0x100000|485\n全国会计|0x100000|483\n全国计算机|0x100000|599\n全国纪录|0x0008|3\n全国卷|0x100000|487\n全国劳动模范|0x0000|453\n全国联网|0x100000|879\n全国普通高校|0x100000|459\n全国青少年|0x100000|577\n全国人大|0x0020|918\n全国人大常委会|0x0020|970\n全国人大代表|0x0008|548\n全国人大法律委员会|0x0020|1280\n全国人大华侨委员会|0x0020|1664\n全国人大民族委员会|0x0020|1403\n全国人大外事委员会|0x0020|1704\n全国人民|0x0000|658\n全国人民代表大会|0x0008|1210\n全国三八红旗手|0x400000|1637\n全国上下一盘棋|0x400000|0\n全国十佳|0x40000000|450\n全国硕士研究生|0x100000|498\n全国铁路|0x100000|501\n全国委员会|0x0000|494\n全国性|0x100000|684\n全国一盘棋|0x400008|2\n全国运动会|0x0008|1600\n全国政协|0x0020|1112\n全国中小学|0x100000|498\n全国中学生|0x100000|475\n全国重点|0x100000|563\n全国重点大学|0x100000|432\n全国总工会|0x0020|1301\n全过程|0x100000|558\n全会精神|0x100000|620\n全记录|0x100000|575\n全纪录|0x100000|525\n全加器|0x100000|1254\n全家福|0x100000|26277\n全家人|0x100000|699\n全椒县|0x0040|1442\n全金属|0x100000|552\n全景电影|0x0008|0\n全景网络|0x100000|471\n全局变量|0x0000|492\n全局性|0x100000|890\n全聚德|0x0008|1402\n全军覆没|0x1000000|785\n全军覆灭|0x800000|996\n全科医生|0x0000|47796\n全劳动力|0x100000|1537\n全垒打|0x0008|473\n全力以赴|0x1000000|9367\n全面发展|0x0008|649\n全面建设小康社会|0x100000|635\n全面落实科学|0x100000|499\n全面提高|0x0000|606\n全面性|0x100000|845\n全面战争|0x0008|892\n全面质量管理|0x0000|498\n全民公决|0x0000|32292\n全民教育|0x0000|438\n全民皆兵|0x1000000|994\n全民所有制|0x100000|933\n全民性|0x100000|1032\n全民族|0x100000|877\n全明星|0x100000|585\n全南县|0x0040|1076\n全能冠军|0x0008|0\n全能全智|0x1000000|100\n全能王|0x100000|463\n全能型|0x100000|477\n全能性|0x100000|1146\n全能运动|0x100000|1085\n全盘托出|0x1000000|1013\n全屏幕|0x100000|516\n全球定位系统|0x4000000|40635\n全球股市|0x100000|461\n全球华人|0x100000|570\n全球华语|0x100000|487\n全球化|0x1000|627\n全球经济|0x100000|612\n全球排名|0x100000|515\n全球商务|0x100000|417\n全球通|0x4000000|1224\n全球卫星|0x100000|472\n全球性|0x100000|9679\n全球战略|0x0008|52\n全球中文|0x100000|571\n全球中文论坛|0x100000|431\n全权大使|0x0000|15839\n全权代表|0x800000|1000\n全人类|0x100000|745\n全日制|0x100000|18405\n全社会|0x100000|682\n全身像|0x100000|1010\n全身心|0x100000|14010\n全身远害|0x0000|100\n全神关注|0x1000000|100\n全神贯注|0x1000000|19786\n全神灌注|0x1000000|1176\n全生育期|0x0000|400\n全始全终|0x1000000|54447\n全世界|0x100000|496\n全世界人民|0x0000|467\n全受全归|0x1000000|1364\n全唐诗|0x100000|468\n全体成员|0x0000|578\n全体会议|0x100000|578\n全体同学|0x0000|483\n全体一致|0x400000|1\n全天候|0x20000000|13219\n全通网络|0x0008|0\n全同粒子|0x0008|0\n全文数据库|0x100000|437\n全无心肝|0x1000000|1183\n全武行|0x0000|53388\n全息图|0x0008|406\n全息照相|0x800000|1228\n全系统|0x0000|523\n全线产品|0x100000|487\n全向天线|0x0008|0\n全心全意|0x1000000|4691\n全心全意为人民服务|0x0000|541\n全音符|0x100000|1213\n全员劳动生产率|0x0008|390\n全运会|0x100000|10454\n全仗绿叶扶持|0x0008|100\n全知全能|0x1000000|51533\n全知天下事|0x0008|100\n全智全能|0x1000000|1355\n全中国|0x100000|594\n全中国人民|0x0000|451\n全中文|0x100000|561\n全州县|0x0040|1571\n全自动|0x100000|22998\n全自动麻将机|0x100000|480\n全自动麻将桌|0x100000|445\n权变锋出|0x1000000|100\n权豪势要|0x1000000|1538\n权衡利弊|0x1000000|904\n权衡轻重|0x1000000|100\n权均力敌|0x1000000|100\n权均力齐|0x1000000|100\n权力观|0x100000|472\n权力机关|0x0000|494\n权利金|0x0008|1643\n权利能力|0x100000|1060\n权利义务|0x0000|548\n权钱交易|0x0000|23500\n权倾天下|0x1000000|1066\n权倾中外|0x1000000|100\n权时制宜|0x1000000|100\n权威机构|0x0000|556\n权威性|0x100000|711\n权宜之策|0x1000000|1204\n权宜之计|0x1000000|24971\n权移马鹿|0x1000000|100\n权欲熏心|0x800000|1248\n权重望崇|0x1000000|100\n权重秩卑|0x1000000|100\n诠才末学|0x1000000|100\n泉石膏肓|0x1000000|100\n泉州街|0x0040|0\n泉州市|0x0040|1094\n荃湾区|0x0040|1171\n拳不离手|0x800000|100\n拳打脚踢|0x1000000|29244\n拳击赛|0x100000|1004\n拳击手|0x100000|911\n拳击台|0x0000|374\n拳拳服膺|0x1000000|1246\n拳拳盛意|0x0000|100\n拳拳在念|0x0000|100\n拳拳之心|0x100000|975\n拳拳之枕|0x1000000|100\n拳头产品|0x100000|23551\n拳头上立得人|0x0008|100\n拳中掿沙|0x1000000|100\n犬吠之盗|0x1000000|100\n犬吠之警|0x1000000|100\n犬迹狐踪|0x1000000|100\n犬马恋主|0x1000000|100\n犬马之报|0x1000000|100\n犬马之诚|0x0000|100\n犬马之疾|0x1000000|100\n犬马之决|0x1000000|100\n犬马之劳|0x1000000|46553\n犬马之力|0x1000000|100\n犬马之恋|0x0000|100\n犬马之年|0x1000000|100\n犬马之养|0x1000000|100\n犬儒学派|0x0008|0\n犬兔俱毙|0x1000000|100\n犬牙交错|0x1000000|42017\n犬牙盘石|0x1000000|100\n犬牙相错|0x1000000|1423\n犬牙相制|0x1000000|100\n犬牙鹰爪|0x1000000|100\n劝百讽一|0x1400000|0\n劝君更尽一杯酒|0x400000|0\n劝善惩恶|0x1000000|1287\n劝善黜恶|0x1000000|100\n劝善戒恶|0x1000000|1410\n劝学篇|0x100000|1143\n劝业场|0x0020|1648\n缺吃短穿|0x0000|100\n缺吃少穿|0x800000|1156\n缺乏自信|0x0000|486\n缺斤短两|0x800000|42018\n缺斤少两|0x800000|45078\n缺口镊子|0x0000|100\n缺三少四|0x400000|0\n缺省值|0x100000|0\n缺食无衣|0x0000|100\n缺铁性贫血|0x0008|1\n缺心少肺|0x800000|1225\n缺心眼|0x0000|427\n缺心眼儿|0x100000|49208\n缺血性|0x100000|914\n缺一不可|0xc00000|19258\n缺衣少食|0x800000|1093\n缺医少药|0x800000|1052\n却病延年|0x1000000|1186\n却金暮夜|0x1000000|100\n却老还童|0x1000000|100\n却行求前|0x1000000|100\n却之不恭|0x1000000|48472\n雀儿山|0x0040|1128\n雀角鼠牙|0x1000000|1534\n雀马鱼龙|0x1000000|100\n雀盲眼|0x100000|0\n雀目鼠步|0x1000000|100\n雀屏中选|0x800000|1105\n雀鼠之争|0x0000|100\n雀小脏全|0x0000|100\n雀喧鸠聚|0x1000000|100\n雀跃三分|0x400000|0\n确定性|0x100000|716\n确固不拔|0x1000000|100\n确乎不拔|0x1000000|1495\n确切不移|0x800000|100\n确确实实|0x0100|795\n确然不群|0x1000000|100\n确认书|0x100000|924\n确山县|0x0040|1611\n确凿不移|0x800000|100\n阙一不可|0x1400000|0\n鹊巢鸠居|0x1000000|100\n鹊巢鸠据|0x1000000|100\n鹊巢鸠踞|0x1000000|100\n鹊巢鸠占|0x1000000|55437\n鹊巢鸠主|0x1000000|100\n鹊反鸾惊|0x1000000|100\n鹊返鸾回|0x1000000|100\n鹊垒巢鸠|0x1000000|100\n鹊桥会|0x0000|397\n鹊桥相会|0x1000000|978\n鹊笑鸠舞|0x800000|100\n榷酒征茶|0x1000000|100\n裙布荆钗|0x0000|100\n裙带菜|0x100000|1097\n裙带风|0x100000|1263\n裙带关系|0x800000|45079\n裙屐少年|0x100000|100\n群测群防|0x0008|2\n群策群力|0x1000000|21397\n群雌粥粥|0x800000|1253\n群而不党|0x0000|100\n群发短信|0x0000|472\n群芳谱|0x0000|391\n群芳争艳|0x800000|1044\n群号码|0x100000|485\n群鸿戏海|0x0000|100\n群居和一|0x400000|0\n群居穴处|0x0000|100\n群空冀北|0x1000000|100\n群口相声|0x0000|54449\n群龙无首|0x1000000|42279\n群魔乱舞|0x1000000|52906\n群起而攻之|0x0008|955\n群起效尤|0x1000000|100\n群轻折轴|0x1000000|1536\n群情鼎沸|0x1000000|100\n群情激奋|0x1000000|1053\n群情激愤|0x800000|972\n群时延|0x100000|1361\n群体性|0x100000|523\n群威群胆|0x1000000|1386\n群贤毕至|0x1000000|1089\n群雄逐鹿|0x800000|870\n群言堂|0x100000|54451\n群蚁附膻|0x1000000|1538\n群蚁溃堤|0x0000|100\n群英传|0x100000|565\n群英会|0x100000|797\n群英荟萃|0x800000|992\n群英谱|0x100000|1113\n群众工作|0x0008|20\n群众关系|0x100000|46869\n群众监督|0x0008|527\n群众利益|0x100000|555\n群众路线|0x100000|9888\n群众满意|0x0000|534\n群众体育|0x100000|457\n群众文化|0x0008|897\n群众心理学|0x0008|0\n群众性|0x100000|844\n群众演员|0x0008|500\n群众意见|0x0000|528\n群众运动|0x800000|21593\n群众组织|0x800000|21681\n然荻读书|0x0000|100\n然糠照薪|0x0000|100\n然糠自照|0x0000|100\n燃糠自照|0x800000|100\n燃料舱|0x100000|1\n燃料电池|0x0008|552\n燃料工业|0x0008|0\n燃料库|0x100000|1284\n燃料箱|0x100000|1087\n燃料油|0x100000|827\n燃眉之急|0x1000000|17361\n燃萁煎豆|0x1000000|100\n燃萁之敏|0x1000000|100\n燃萁煮豆|0x1000000|100\n燃气公司|0x100000|464\n燃气锅炉|0x100000|424\n燃气具|0x100000|823\n燃气炉|0x100000|407\n燃气轮机|0x100000|34221\n燃气轮机车|0x0008|1294\n燃气热水器|0x0008|502\n燃气设备|0x100000|428\n燃气灶|0x100000|501\n燃气灶具|0x100000|414\n燃烧弹|0x100000|42019\n燃烧剂|0x0008|0\n燃烧瓶|0x0000|55439\n燃烧热|0x0008|0\n燃烧室|0x100000|1001\n燃素说|0x100000|1346\n燃油锅炉|0x100000|388\n燃油税|0x100000|543\n燃油添加剂|0x100000|398\n染苍染黄|0x0000|100\n染发剂|0x100000|45675\n染纺厂|0x100000|0\n染风习俗|0x0000|100\n染翰成章|0x1000000|100\n染旧作新|0x1000000|100\n染蓝涅皂|0x0000|100\n染色剂|0x100000|1041\n染色体|0x100000|20708\n染色质|0x0008|393\n染神刻骨|0x1000000|100\n染神乱志|0x1000000|100\n染丝之变|0x1000000|100\n染须种齿|0x1000000|100\n染指垂涎|0x1000000|100\n染指于鼎|0x0000|100\n穰穰满家|0x0000|100\n壤塘县|0x0040|1189\n攘臂一呼|0x400000|100\n攘肌及骨|0x1000000|100\n攘来熙往|0x800000|100\n攘袂引领|0x1000000|100\n攘权夺利|0x1000000|100\n攘攘熙熙|0x1000000|1343\n攘人之美|0x0000|100\n攘外安内|0x0000|100\n攘外必先安内|0x0008|997\n攘往熙来|0x1000000|100\n让礼一寸|0x1400000|0\n让三让再|0x1400000|0\n让位于|0x0000|467\n让我们|0x0000|873\n让一部分人先富起来|0x400000|1\n让逸竞劳|0x1000000|100\n让再让三|0x1400000|0\n让枣推梨|0x1000000|100\n饶河县|0x0040|1052\n饶平县|0x0040|1570\n饶舌调唇|0x0000|100\n饶阳县|0x0040|1579\n饶有风趣|0x800000|1171\n饶有兴趣|0x800000|818\n饶有兴味|0x800000|1015\n饶有兴致|0x800000|872\n桡动脉|0x100000|1152\n扰动理论|0x0008|0\n绕脖子|0x40000000|1309\n绕口令|0x100000|43965\n绕梁三日|0x400000|53911\n绕梁之音|0x0000|100\n绕圈子|0x1000|38542\n绕弯儿|0x1000|51534\n绕弯子|0x1000|43734\n绕远儿|0x1000|51113\n惹不起|0x40000000|30965\n惹草拈花|0x1000000|1536\n惹草沾花|0x1000000|100\n惹火烧身|0x1000000|51961\n惹祸招愆|0x0000|100\n惹祸招殃|0x0000|100\n惹祸招灾|0x0000|100\n惹麻烦|0x1000|545\n惹事生非|0x1000000|922\n惹事招非|0x0000|100\n惹是非|0x0000|42280\n惹是生非|0x1000|36700\n惹是招非|0x1000000|100\n惹灾招祸|0x0000|100\n热爱生活|0x100000|709\n热爱祖国|0x0000|530\n热熬翻饼|0x800000|100\n热爆炸|0x0008|0\n热肠古道|0x0000|100\n热成层|0x0008|0\n热处理|0x1000|27872\n热传导|0x100000|967\n热传导液|0x100000|0\n热带风暴|0x0008|30855\n热带鱼|0x100000|39576\n热带雨林|0x100000|20365\n热带雨林区|0x100000|0\n热岛效应|0x0000|46555\n热得快|0x0000|53390\n热点话题|0x100000|741\n热点问题|0x100000|587\n热点新闻|0x100000|576\n热电厂|0x100000|27638\n热电偶|0x100000|825\n热电器件|0x100000|0\n热电学|0x100000|1341\n热电站|0x100000|1133\n热电子晶体管|0x0008|0\n热电阻|0x100000|919\n热定型|0x0008|0\n热风炉|0x100000|950\n热辐射|0x0008|1008\n热功当量|0x800000|1327\n热固性|0x100000|965\n热锅上的蚂蚁|0x0008|883\n热锅上蝼蚁|0x0008|1362\n热锅上蚂蚁|0x0008|883\n热核反应|0x800000|1156\n热核武器|0x100000|1196\n热哄哄|0x0100|1158\n热烘烘|0x0100|23605\n热乎乎|0x0100|20544\n热呼呼|0x0100|922\n热化学|0x0008|371\n热火朝天|0x1000000|18342\n热加工|0x1000|49571\n热交换|0x0008|851\n热交换器|0x100000|1411\n热聚合|0x0008|0\n热可炙手|0x1000000|100\n热辣辣|0x0100|25279\n热泪夺眶|0x800000|1382\n热泪盈眶|0x800000|16111\n热力设备|0x100000|381\n热力学|0x100000|880\n热力学第二定律|0x400000|0\n热力学函数|0x0008|0\n热力学平衡|0x0008|0\n热力学温标|0x100000|1296\n热力学系统|0x0008|0\n热量计|0x100000|1152\n热烈祝贺|0x0000|579\n热毛子马|0x800000|1541\n热门产品|0x100000|549\n热门歌曲|0x100000|530\n热门股|0x100000|426\n热门话题|0x0008|652\n热门货|0x100000|48474\n热门软件|0x100000|532\n热门文章|0x100000|651\n热门小说|0x100000|459\n热门新闻|0x100000|496\n热门职业|0x100000|451\n热门专业|0x100000|517\n热敏电阻|0x100000|904\n热敏性|0x100000|1132\n热那亚|0x0040|1554\n热闹非凡|0x800000|764\n热能设备|0x100000|388\n热膨胀|0x100000|1011\n热气球|0x100000|33151\n热气腾腾|0x1000000|780\n热情洋溢|0x800000|799\n热热烈烈|0x0100|1179\n热热闹闹|0x0100|770\n热容量|0x0008|0\n热身赛|0x100000|13882\n热水袋|0x100000|45369\n热水锅炉|0x100000|445\n热水机组|0x100000|395\n热水炉|0x0008|1637\n热水瓶|0x100000|25992\n热水器|0x100000|12633\n热腾腾|0x0100|22419\n热稳定性|0x0008|948\n热线电话|0x100000|14516\n热效率|0x100000|937\n热效应|0x0000|41079\n热心肠|0x40000000|33426\n热心苦口|0x1000000|100\n热心快肠|0x1000000|100\n热心人|0x100000|508\n热血传奇|0x100000|585\n热血动物|0x100000|771\n热血沸腾|0x1000000|694\n热阴极|0x0008|0\n热运动|0x0008|0\n热载体|0x0008|387\n热胀冷缩|0x800000|1005\n热制导|0x0008|0\n热中子|0x0008|1301\n热衷于|0x1000|598\n人百其身|0x1000000|1384\n人本主义|0x0008|917\n人不犯我我不犯人|0x0000|100\n人不可貌相|0x0000|475\n人不聊生|0x1000000|100\n人不为己|0x1000000|807\n人不知|0x800000|939\n人不知鬼不觉|0x0000|367\n人不自安|0x0000|100\n人才辈出|0x1000000|21865\n人才出众|0x1000000|1264\n人才队伍|0x100000|556\n人才观|0x100000|476\n人才济济|0x1000000|26560\n人才交流中心|0x0000|491\n人才库|0x100000|807\n人才流动|0x0008|517\n人才流失|0x0008|491\n人才难得|0x1000000|1100\n人才培养|0x100000|695\n人才热线|0x100000|567\n人才市场|0x0008|10507\n人才外流|0x800000|1058\n人才网|0x100000|722\n人才需求|0x100000|537\n人才中介|0x100000|481\n人才资源|0x0008|728\n人材出众|0x0000|100\n人财两空|0x1000000|938\n人财物|0x100000|1020\n人参果|0x100000|917\n人参精|0x0008|0\n人吃人|0x0000|444\n人稠物穰|0x0000|100\n人存政举|0x1000000|100\n人大常委会|0x0020|923\n人大常委会副主任|0x100000|516\n人大代表|0x100000|642\n人大会议|0x100000|852\n人大主任|0x0000|463\n人代会|0x100000|890\n人单势孤|0x1000000|1208\n人到中年|0x100000|788\n人道主义|0x100000|6367\n人道主义者|0x0000|380\n人的因素|0x0008|1\n人地生疏|0x1000|40202\n人丁兴旺|0x1000000|44495\n人定胜天|0x1000000|46265\n人多地少|0x0000|444\n人多口杂|0x1000000|1140\n人多阙少|0x1000000|100\n人多势众|0x1000000|38739\n人多手杂|0x800000|1219\n人多嘴杂|0x1000000|47461\n人而无信|0x800000|1081\n人贩子|0x100000|22366\n人防工程|0x0000|45081\n人非草木|0x1000000|897\n人非木石|0x1000000|100\n人非圣贤|0x800000|912\n人非土木|0x0000|100\n人非物是|0x1000000|100\n人粪尿|0x100000|1213\n人逢喜事精神爽|0x0008|979\n人浮于食|0x0000|100\n人浮于事|0x1000000|30308\n人高马大|0x800000|33427\n人格化|0x1000|34083\n人格魅力|0x0000|530\n人格权|0x100000|1016\n人格尊严|0x0000|481\n人各有志|0x1000000|44496\n人给家足|0x1000000|100\n人工成本|0x100000|462\n人工岛|0x100000|1066\n人工费|0x100000|490\n人工关节|0x100000|405\n人工合成|0x0000|491\n人工呼吸|0x800000|36031\n人工湖|0x100000|32920\n人工化|0x100000|1114\n人工降雨|0x800000|34839\n人工林|0x100000|1056\n人工流产|0x800000|36701\n人工免疫|0x800000|1287\n人工气候室|0x0008|0\n人工授粉|0x0008|0\n人工授精|0x800000|32669\n人工心脏|0x0008|0\n人工智能|0x100000|25041\n人公里|0x20000|1164\n人海战术|0x100000|44797\n人喊马嘶|0x1000000|1147\n人欢马叫|0x800000|52409\n人荒马乱|0x1000000|100\n人机对话|0x0008|48105\n人机交互|0x0008|0\n人机界面|0x100000|850\n人机一体|0x400000|0\n人迹罕至|0x800000|29559\n人极计生|0x1000000|100\n人急计生|0x0000|100\n人急偎亲|0x1000000|100\n人急智生|0x800000|1261\n人己一视|0xc00000|0\n人际关系|0x100000|596\n人际交往|0x100000|758\n人间地狱|0x1000000|880\n人间难得一知己|0x400000|0\n人间天上|0x1000000|1022\n人间天堂|0x1000000|823\n人间重晚晴|0x0008|1179\n人皆有之|0x1000000|846\n人杰地灵|0x1000000|34989\n人尽其才|0x1000000|19372\n人尽其材|0x1000000|1206\n人均收入|0x100000|787\n人口比例|0x100000|457\n人口出生率|0x0000|421\n人口地理学|0x0008|1005\n人口分布|0x0008|5\n人口分析|0x0008|0\n人口理论|0x0008|0\n人口论|0x100000|1115\n人口密度|0x0008|495\n人口普查|0x0008|503\n人口数量|0x100000|486\n人口素质|0x100000|484\n人口统计|0x0008|4\n人口学|0x100000|988\n人口学家|0x100000|1143\n人口增长|0x0000|501\n人口质量|0x0008|1\n人口总数|0x100000|466\n人困马乏|0x1000000|45980\n人来疯|0x800000|52908\n人来客去|0x0000|100\n人来客往|0x800000|1264\n人来人往|0x800000|24904\n人老珠黄|0x1000000|43498\n人类基因|0x100000|455\n人类基因组|0x0000|484\n人类社会|0x0000|618\n人类生态学|0x0008|0\n人类史|0x100000|970\n人类文明|0x100000|566\n人类学|0x100000|806\n人类学家|0x100000|922\n人离乡贱|0x1000000|100\n人力车|0x100000|19492\n人力资本|0x100000|557\n人力资源|0x0008|488\n人力资源规划|0x100000|475\n人力资源系统|0x100000|392\n人流量|0x100000|851\n人马宫|0x0040|0\n人马座|0x0008|1451\n人满为患|0x1000000|25212\n人面狗心|0x1000000|100\n人面兽心|0x1000000|45370\n人面桃花|0x1000000|858\n人民保险|0x100000|492\n人民报|0x100000|1164\n人民币|0x100000|2246\n人民币汇率|0x100000|628\n人民城郭|0x100000|100\n人民出版社|0x0020|1203\n人民大会|0x100000|908\n人民大会堂|0x0040|1157\n人民大学|0x100000|642\n人民代表|0x100000|692\n人民代表大会|0x100000|3953\n人民代表大会制度|0x100000|475\n人民党|0x0020|1072\n人民法庭|0x100000|1012\n人民法院|0x800000|2764\n人民公社|0x800000|13883\n人民公园|0x0000|477\n人民共和国|0x100000|488\n人民广播电台|0x0000|579\n人民检察院|0x100000|4952\n人民教师|0x100000|7\n人民教育出版社|0x100000|490\n人民解放军|0x0020|1123\n人民警察|0x800000|807\n人民军|0x100000|973\n人民军队|0x100000|927\n人民路|0x100000|556\n人民满意|0x0000|521\n人民民主专政|0x100000|478\n人民内部矛盾|0x100000|485\n人民陪审员|0x100000|988\n人民群众|0x0000|720\n人民日|0x100000|385\n人民日报|0x0008|933\n人民日报出版社|0x100000|386\n人民日报海外版|0x100000|494\n人民日报社|0x0008|1155\n人民商场|0x0040|1478\n人民生活|0x0000|613\n人民生活水平|0x0000|499\n人民团体|0x800000|11734\n人民网|0x0008|846\n人民文学|0x100000|521\n人民武装|0x100000|858\n人民武装部|0x100000|922\n人民性|0x100000|1110\n人民医院|0x100000|582\n人民银行|0x0008|1078\n人民英雄纪念碑|0x0008|1549\n人民邮电|0x100000|501\n人民战争|0x100000|18775\n人民政府|0x800000|2491\n人民政府办公厅|0x100000|554\n人民政协|0x0020|1440\n人民子弟兵|0x0000|397\n人命关天|0x1000000|25993\n人命危浅|0x800000|1266\n人模狗样|0x0000|42020\n人莫予毒|0x1000000|1250\n人怕出名猪怕壮|0x0008|990\n人贫智短|0x0000|100\n人弃我取|0x800000|100\n人千人万|0x0000|100\n人前人后|0x0000|44209\n人强马壮|0x1000000|1163\n人强胜天|0x1000000|100\n人琴俱逝|0x1000000|100\n人琴俱亡|0x1000000|1338\n人琴两亡|0x1000000|100\n人情冷暖|0x1000000|844\n人情世故|0x1000000|31084\n人情世态|0x1000000|1147\n人情味|0x100000|743\n人情味儿|0x0000|27063\n人情汹汹|0x1000000|100\n人情恟恟|0x1000000|100\n人情债|0x100000|45082\n人情之常|0x1000000|1251\n人穷志短|0x1000000|1032\n人穷智短|0x800000|100\n人取我与|0x0000|100\n人去楼空|0x1000000|824\n人权法|0x100000|401\n人权委员会|0x0020|1702\n人权主义|0x100000|0\n人人得而诛之|0x0000|100\n人人喊打|0x800000|917\n人人皆知|0x800000|878\n人人平等|0x0000|525\n人人为我|0x0000|540\n人人有责|0x0000|477\n人人自危|0x1000000|911\n人山人海|0x1000000|21682\n人涉卬否|0x1000000|100\n人身安全|0x0000|558\n人身保险|0x100000|30202\n人身攻击|0x0000|582\n人身权|0x100000|992\n人身权利|0x0000|471\n人身事故|0x100000|1092\n人身自由|0x800000|21594\n人神共愤|0x800000|977\n人神共嫉|0x1000000|100\n人神同嫉|0x1000000|100\n人生朝露|0x0000|100\n人生地不熟|0x0008|842\n人生观|0x100000|6300\n人生何处不相逢|0x0000|100\n人生价值|0x0000|519\n人生路不熟|0x0008|1107\n人生旅途|0x100000|486\n人生面不熟|0x0000|100\n人生目标|0x100000|531\n人生七十|0x400000|0\n人生七十古来稀|0x400008|0\n人生如朝露|0x0000|100\n人生如寄|0x1000000|1151\n人生如梦|0x800000|773\n人生若寄|0x1000000|100\n人生态度|0x100000|504\n人生在世|0x800000|740\n人生哲理|0x100000|478\n人生哲学|0x0008|780\n人生自古谁无死|0x800000|945\n人声鼎沸|0x1000000|797\n人世沧桑|0x800000|1025\n人世间|0x100000|15606\n人事不省|0x1000000|1062\n人事不醒|0x1000000|1079\n人事不知|0x1000000|1065\n人事部|0x100000|1106\n人事部门|0x100000|575\n人事处|0x100000|1371\n人事代理|0x100000|500\n人事代谢|0x1000000|100\n人事档案|0x100000|554\n人事管理|0x100000|743\n人事管理系统|0x100000|445\n人事局|0x100000|1154\n人事科|0x0008|1531\n人事室|0x100000|0\n人事厅|0x100000|548\n人事制度|0x100000|562\n人事主管|0x100000|462\n人是衣妆|0x800000|100\n人是衣装|0x1000000|0\n人手一册|0xc00000|5\n人寿保险|0x100000|690\n人寿年丰|0x1000000|52909\n人死留名|0x800000|1243\n人所不齿|0x0000|51535\n人所共知|0x800000|28486\n人体彩绘|0x100000|536\n人体模特|0x100000|494\n人体模型|0x0008|2\n人体内|0x100000|579\n人体器官|0x100000|476\n人体摄影|0x100000|765\n人体生理|0x100000|443\n人体艺术|0x100000|618\n人体炸弹|0x0000|51114\n人同此心|0x800000|1072\n人头马|0x100000|455\n人头税|0x0000|49931\n人头畜鸣|0x1000000|100\n人头攒动|0x800000|805\n人亡邦瘁|0x1000000|100\n人亡家破|0x1000000|100\n人亡物在|0x800000|1229\n人亡政息|0x1000000|1191\n人微权轻|0x1000000|100\n人微望轻|0x1000000|100\n人微言贱|0x1000000|100\n人微言轻|0x1000000|43253\n人为财死|0x800000|100\n人为刀俎|0x800000|1009\n人为地|0x0000|525\n人为因素|0x100000|496\n人味儿|0x0000|28562\n人文奥运|0x100000|454\n人文大学|0x100000|380\n人文地理|0x100000|843\n人文地理学|0x0008|1075\n人文环境|0x100000|508\n人文荟萃|0x1000000|955\n人文精神|0x100000|533\n人文景观|0x100000|789\n人文科学|0x800000|24972\n人文学科|0x100000|959\n人文学院|0x100000|505\n人文主义|0x800000|894\n人我是非|0x0000|100\n人无完人|0x800000|825\n人无远虑|0x800000|931\n人武部|0x100000|961\n人物传记|0x100000|480\n人物画|0x100000|893\n人物图片|0x100000|419\n人物肖像|0x100000|408\n人物形象|0x0008|548\n人物性格|0x0008|545\n人物造型|0x100000|498\n人物周刊|0x100000|460\n人物属性|0x100000|456\n人小鬼大|0x0000|456\n人心不古|0x1000000|40203\n人心不足蛇吞象|0x0008|1062\n人心大快|0x800000|1233\n人心浮动|0x800000|1070\n人心隔肚皮|0x0008|1027\n人心归向|0x800000|100\n人心果|0x0008|1266\n人心涣散|0x1000000|1028\n人心皇皇|0x1000000|100\n人心惶惶|0x1000000|27064\n人心莫测|0x0000|100\n人心难测|0x1000000|957\n人心叵测|0x1000000|1011\n人心齐|0x800000|1094\n人心如面|0x800000|1542\n人心丧尽|0x0000|100\n人心所归|0x0000|100\n人心所向|0x1000000|23819\n人心惟危|0x1000000|1210\n人心向背|0x1000000|23606\n人行道|0x100000|13734\n人行横道|0x800000|30203\n人行天桥|0x100000|936\n人性本恶|0x100000|999\n人性本善|0x100000|829\n人性化|0x1000|586\n人性论|0x100000|1041\n人血白蛋白|0x0008|8\n人烟稠密|0x1000000|1129\n人烟浩穰|0x0000|100\n人烟稀少|0x800000|857\n人言籍籍|0x0000|100\n人言藉藉|0x800000|100\n人言可畏|0x1000000|45981\n人言啧啧|0x800000|1358\n人仰马翻|0x1000000|34840\n人样儿|0x0000|23662\n人一己百|0x1400000|0\n人以群分|0x800000|888\n人影儿|0x100000|8631\n人有旦夕祸福|0x0008|975\n人与人之间|0x0000|611\n人与自然|0x100000|730\n人语马嘶|0x0000|100\n人欲横流|0x800000|100\n人员编制|0x100000|502\n人员名单|0x100000|560\n人员培训|0x100000|563\n人员配备|0x100000|472\n人员伤亡|0x0000|574\n人员素质|0x0000|546\n人缘儿|0x100000|1144\n人怨神怒|0x0000|100\n人怨天怒|0x0000|100\n人约黄昏|0x0000|100\n人云亦云|0x1000000|27959\n人在旅途|0x100000|766\n人赃俱获|0x1000000|44798\n人造板|0x100000|803\n人造冰|0x0008|1267\n人造草坪|0x100000|400\n人造地球卫星|0x100000|400\n人造革|0x100000|28395\n人造花|0x100000|996\n人造毛|0x0008|1101\n人造毛皮|0x100000|381\n人造美女|0x0008|870\n人造棉|0x0008|54452\n人造奶油|0x0008|0\n人造皮|0x0000|373\n人造石|0x100000|530\n人造石油|0x100000|801\n人造丝|0x100000|45083\n人造卫星|0x100000|19406\n人造纤维|0x4000000|44210\n人造行星|0x100000|963\n人造云母|0x0008|0\n人之长情|0x0008|1306\n人之常情|0x1000000|26278\n人之将死|0x0000|100\n人质事件|0x100000|472\n人中龙虎|0x0000|100\n人中骐骥|0x800000|100\n人中狮子|0x800000|100\n人中之龙|0x0008|1619\n人种学|0x0008|1150\n人众胜天|0x800000|1386\n人自为战|0x1000000|1262\n人自为政|0x1000000|100\n人足家给|0x1000000|100\n仁布县|0x0040|1201\n仁化县|0x0040|1451\n仁怀市|0x0040|1509\n仁浆义粟|0x800000|100\n仁民爱物|0x0000|100\n仁人君子|0x100000|52910\n仁人义士|0x100000|1284\n仁人志士|0x1000000|26833\n仁柔寡断|0x1000000|100\n仁寿街|0x0040|0\n仁寿县|0x0040|1650\n仁同一视|0x1400000|0\n仁心仁术|0x800000|1100\n仁心仁闻|0x0000|100\n仁言利博|0x1000000|100\n仁言利溥|0x1000000|100\n仁义道德|0x1000000|40638\n仁义君子|0x800000|1401\n仁义之兵|0x0000|100\n仁义之师|0x1000000|46870\n仁者见仁|0x800000|828\n仁者能仁|0x1000000|1510\n仁至义尽|0x1000000|38334\n忍不住|0x1000|498\n忍耻含垢|0x0000|100\n忍耻含羞|0x0000|100\n忍耻偷生|0x0000|100\n忍冬藤|0x0008|0\n忍垢偷生|0x0000|100\n忍饥挨饿|0x800000|44497\n忍饥受饿|0x0000|100\n忍俊不禁|0x1000000|27729\n忍俊不住|0x1000000|1041\n忍苦耐劳|0x1000000|100\n忍耐力|0x100000|816\n忍气吞声|0x1000000|25652\n忍辱负重|0x1000000|28127\n忍辱含垢|0x1000000|1287\n忍辱含羞|0x0000|100\n忍辱求全|0x1000000|1313\n忍辱偷生|0x0000|100\n忍痛割爱|0x800000|863\n忍无可忍|0x1000000|18664\n忍心害理|0x1000000|1392\n忍尤含垢|0x800000|100\n忍者神龟|0x0000|481\n忍字头上一把刀|0x400000|0\n稔恶不悛|0x0000|100\n稔恶藏奸|0x0000|100\n稔恶盈贯|0x0000|100\n刃量具|0x100000|1271\n刃量具厂|0x100000|0\n刃树剑山|0x0000|100\n刃迎缕解|0x1000000|100\n认仇作父|0x1000000|100\n认敌作父|0x1000000|100\n认购证|0x0008|1073\n认鸡作凤|0x1000000|100\n认奴作郎|0x1000000|100\n认奴作郞|0x0000|100\n认认真真|0x0100|804\n认识到|0x0000|729\n认识论|0x100000|887\n认识一下|0x400000|1\n认死理|0x40000000|48476\n认同感|0x100000|22547\n认影迷头|0x0000|100\n认影为头|0x1000000|100\n认贼为父|0x1000000|100\n认贼为子|0x1000000|1325\n认贼作父|0x1000000|53391\n认贼作子|0x1000000|1412\n认真负责|0x0000|587\n认真学习|0x0000|636\n认证咨询|0x100000|464\n认知科学|0x100000|1039\n认祖归宗|0x1000000|1030\n任达不拘|0x1000000|100\n任何人|0x10000|498\n任何事|0x0000|620\n任何一方|0x400000|553\n任劳任怨|0x1000000|22694\n任命书|0x100000|1033\n任凭风浪起|0x0008|1180\n任期内|0x100000|493\n任其自流|0x1000000|1284\n任其自然|0x1000000|42281\n任丘市|0x0040|1325\n任人摆布|0x800000|48846\n任人唯亲|0x1000000|31894\n任人唯贤|0x1000000|26916\n任人宰割|0x800000|33671\n任天堂|0x100000|757\n任务栏|0x0000|596\n任务量|0x100000|1\n任务书|0x0008|950\n任贤使能|0x1000000|1337\n任意球|0x100000|725\n任怨任劳|0x1000000|100\n任重才轻|0x0000|100\n任重道悠|0x1000000|100\n任重道远|0x1000000|11750\n任重而道远|0x0008|855\n任重至远|0x800000|100\n任重致远|0x1000000|0\n妊娠率|0x0008|0\n妊娠期|0x100000|495\n轫致辐射|0x0008|0\n韧劲儿|0x100000|1182\n韧皮部|0x100000|1268\n韧皮纤维|0x0008|1324\n衽扱囊括|0x0000|100\n衽革枕戈|0x0000|100\n仍陋袭简|0x1000000|100\n日报表|0x100000|1010\n日本产|0x100000|449\n日本车|0x100000|531\n日本成人|0x100000|497\n日本刀|0x100000|433\n日本东京|0x100000|555\n日本东芝|0x100000|438\n日本动画|0x100000|494\n日本队|0x0020|1288\n日本鬼子|0x0000|554\n日本国|0x0040|1397\n日本国际贸易促进会|0x0020|1253\n日本海|0x0040|1477\n日本海军|0x100000|469\n日本化|0x100000|0\n日本进口|0x100000|524\n日本经济|0x100000|575\n日本军队|0x100000|475\n日本卡通|0x100000|454\n日本料理|0x100000|529\n日本漫画|0x100000|503\n日本媒体|0x100000|521\n日本美女|0x100000|518\n日本妹|0x100000|419\n日本妞|0x100000|406\n日本女|0x100000|453\n日本人|0x100000|743\n日本史|0x100000|378\n日本式|0x20000000|948\n日本天皇|0x100000|466\n日本语|0x0008|1158\n日本政府|0x100000|624\n日薄桑榆|0x1000000|100\n日薄西山|0x1000000|46871\n日薄虞渊|0x1000000|100\n日不我与|0x1000000|100\n日不暇给|0x1000000|1298\n日不移晷|0x1000000|100\n日不移影|0x1000000|100\n日产量|0x100000|891\n日长似岁|0x0000|100\n日长一线|0x400000|100\n日常工作|0x100000|727\n日常生活|0x0000|698\n日常行为|0x100000|496\n日常用品|0x100000|748\n日程安排|0x100000|769\n日程表|0x100000|32670\n日程月课|0x1000000|100\n日出不穷|0x1000000|100\n日出而作|0x1000|869\n日出三竿|0x1400000|0\n日东月西|0x1000000|100\n日短心长|0x1000000|100\n日锻月炼|0x1000000|100\n日俄战争|0x0008|13\n日耳曼|0x0040|1394\n日耳曼人|0x100000|43500\n日复一日|0x1400000|9\n日旰不食|0x1000000|100\n日旰忘餐|0x1000000|100\n日旰忘食|0x1000000|100\n日高三丈|0x1400000|0\n日工资|0x0000|398\n日光灯|0x100000|28949\n日光疗法|0x0008|0\n日光能|0x100000|0\n日光温室|0x100000|451\n日光浴|0x100000|44498\n日规仪|0x100000|0\n日晷仪|0x100000|0\n日韩歌曲|0x100000|474\n日韩女歌手|0x100000|604\n日和风暖|0x1000000|100\n日环食|0x100000|1184\n日积月聚|0x1000000|100\n日积月累|0x1000000|27873\n日计不足|0x800000|100\n日记本|0x100000|22504\n日记簿|0x100000|966\n日记账|0x0000|51538\n日间班|0x100000|0\n日间部|0x0008|0\n日渐月染|0x0000|100\n日角龙庭|0x1000000|100\n日角龙颜|0x1000000|100\n日角偃月|0x1000000|100\n日角珠庭|0x1000000|100\n日较差|0x0008|0\n日界线|0x100000|1210\n日近长安远|0x0008|1414\n日进斗金|0x800000|945\n日经指数|0x100000|969\n日久见人心|0x0008|931\n日久年深|0x0000|100\n日久岁长|0x1000000|100\n日久岁深|0x1000000|100\n日久天长|0x1000000|36866\n日久月深|0x1000000|1535\n日就月将|0x1000000|1287\n日居月诸|0x1000000|1265\n日喀则|0x0040|1293\n日喀则市|0x0040|1603\n日来月往|0x1000000|100\n日累月积|0x1000000|100\n日理万机|0x1000000|35412\n日历表|0x100000|897\n日丽风和|0x1000000|100\n日丽风清|0x1000000|100\n日陵月替|0x1000000|100\n日落千丈|0x1000000|100\n日落西山|0x1000000|913\n日迈月征|0x0000|100\n日莫途远|0x1000000|100\n日暮道远|0x1000000|100\n日暮路远|0x1000000|100\n日暮途穷|0x1000000|47464\n日暮途远|0x1000000|100\n日内瓦|0x0040|1182\n日内瓦协议|0x0008|3\n日暖风和|0x1000000|1312\n日暖风恬|0x1000000|100\n日偏食|0x100000|48847\n日乾夕惕|0x1000000|100\n日全食|0x100000|26279\n日日夜夜|0x1000000|14704\n日濡月染|0x0000|100\n日入而息|0x800000|1156\n日晒牢度|0x0008|0\n日晒雨淋|0x800000|41770\n日上三竿|0x1400000|46557\n日射病|0x0008|1255\n日甚一日|0x1400000|37961\n日慎一日|0x1400000|0\n日升月恒|0x800000|1249\n日省月课|0x1000000|100\n日省月试|0x1000000|100\n日省月修|0x0000|100\n日食万钱|0x1000000|1540\n日试万言|0x1000000|100\n日诵五车|0x1400000|0\n日土县|0x0040|1196\n日往月来|0x1000000|1344\n日文版|0x100000|531\n日文课|0x100000|0\n日无暇晷|0x1000000|100\n日下无双|0x1000000|100\n日削月割|0x1000000|100\n日削月朘|0x1000000|100\n日销月铄|0x1000000|100\n日心说|0x100000|1068\n日新月盛|0x1000000|100\n日新月异|0x1000000|8439\n日新月著|0x1000000|100\n日行千里|0x1000000|1014\n日行一善|0x400000|0\n日许多时|0x1000000|100\n日许时间|0x1000000|100\n日夜兼程|0x1000000|948\n日已三竿|0x1400000|0\n日以继夜|0x1000000|37767\n日以为常|0x1000000|100\n日异月更|0x1000000|100\n日异月殊|0x1000000|100\n日异月新|0x1000000|100\n日益月滋|0x1000000|100\n日堙月塞|0x1000000|100\n日引月长|0x1000000|100\n日饮亡何|0x1000000|100\n日饮无何|0x1000000|100\n日用百货|0x100000|699\n日用玻璃|0x100000|375\n日用瓷|0x100000|400\n日用工业品|0x0008|369\n日用化工|0x100000|464\n日用品|0x100000|18513\n日用品有限公司|0x100000|468\n日用塑料|0x100000|391\n日用陶瓷|0x100000|459\n日用五金|0x100000|431\n日用消费品|0x0000|449\n日有所思|0x800000|0\n日有万机|0x1000000|100\n日语翻译|0x100000|488\n日语课|0x100000|0\n日语学校|0x100000|413\n日月不居|0x1000000|100\n日月参辰|0x800000|100\n日月蹉跎|0x1000000|100\n日月合壁|0x0000|100\n日月合璧|0x1000000|1368\n日月交食|0x1000000|1542\n日月经天|0x800000|1178\n日月丽天|0x1000000|1295\n日月其除|0x1000000|100\n日月如流|0x1000000|1379\n日月如梭|0x1000000|48477\n日月入怀|0x1000000|100\n日月山|0x100000|419\n日月潭|0x0040|1370\n日月无光|0x1000000|908\n日月星辰|0x800000|868\n日月逾迈|0x1000000|100\n日月重光|0x1000000|1322\n日昃不食|0x1000000|100\n日昃旰食|0x1000000|100\n日昃忘食|0x1000000|100\n日增月盛|0x1000000|100\n日增月益|0x1000000|100\n日照港|0x100000|405\n日照时数|0x0000|401\n日照市|0x0040|1320\n日臻成熟|0x800000|1013\n日臻完美|0x0000|54454\n日臻完善|0x800000|911\n日征月迈|0x1000000|100\n日炙风吹|0x0000|100\n日炙风筛|0x1000000|100\n日中必彗|0x1000000|1330\n日中必移|0x1000000|100\n日中必湲|0x1000000|100\n日中必昃|0x1000000|100\n日中将昃|0x1000000|100\n日中经济协会|0x0020|1273\n日中为市|0x0000|100\n日中则移|0x1000000|100\n日中则昃|0x1000000|1290\n日转千阶|0x1000000|100\n日转千街|0x1000000|100\n日灼病|0x100000|1346\n日滋月益|0x1000000|100\n日朘月减|0x1000000|100\n日朘月削|0x1000000|100\n日坐愁城|0x0000|100\n戎马仓皇|0x1000000|100\n戎马倥偬|0x1000000|41771\n戎马倥傯|0x1000000|100\n戎马劻勷|0x1000000|100\n戎马生郊|0x1000000|100\n戎马生涯|0x1000000|1028\n戎马一生|0xc00000|1\n绒毛玩具|0x100000|411\n绒毛状|0x100000|1208\n绒山羊|0x100000|410\n荣昌县|0x0040|1258\n荣成市|0x0040|1418\n荣古陋今|0x1000000|100\n荣古虐今|0x1000000|100\n荣归故里|0x800000|988\n荣华富贵|0x1000000|803\n荣辱与共|0x800000|24390\n荣谐伉俪|0x1000000|100\n荣誉称号|0x100000|716\n荣誉感|0x100000|25280\n荣誉奖|0x100000|941\n荣誉军人|0x100000|48109\n荣誉章|0x100000|1255\n荣誉证书|0x100000|538\n荣宗耀祖|0x1000000|1320\n容不得|0x1000|544\n容城县|0x0040|1043\n容电器|0x100000|1295\n容光焕发|0x1000000|30639\n容积率|0x0000|542\n容量瓶|0x100000|987\n容忍度|0x100000|1017\n容头过身|0x1000000|100\n容膝之安|0x800000|100\n容膝之地|0x0000|100\n溶剂萃取|0x0008|0\n溶剂回收|0x0008|0\n溶剂解|0x0008|0\n溶剂油|0x100000|455\n溶解度|0x100000|969\n溶解性|0x0000|453\n溶解氧|0x100000|931\n溶酶体|0x100000|1165\n溶液聚合|0x0008|0\n榕江县|0x0040|1082\n熔断器|0x100000|847\n熔古铸今|0x0000|100\n熔化炉|0x0008|1134\n熔化热|0x0008|0\n熔解热|0x100000|1411\n熔今铸古|0x0000|100\n熔炼炉|0x100000|1017\n熔融缩聚|0x0008|0\n熔融指数|0x0008|0\n熔岩流|0x0008|1\n熔于一炉|0xc00000|0\n镕古铸今|0x1000000|100\n镕今铸古|0x1000000|100\n融汇贯通|0x800000|1030\n融会贯通|0x1000000|24588\n融会通浃|0x0000|100\n融洽无间|0x0000|100\n融释贯通|0x0000|100\n融水苗族自治县|0x0040|1661\n融为一体|0xc00000|11857\n融雪径流|0x0008|1\n融液贯通|0x0000|100\n冗词赘句|0x800000|1533\n冗余技术|0x0008|0\n柔肠百结|0x1000000|1122\n柔肠百转|0x1000000|0\n柔肠寸断|0x1000000|49573\n柔而不犯|0x0000|100\n柔肤弱体|0x1000000|100\n柔筋脆骨|0x1000000|100\n柔能制刚|0x0000|100\n柔懦寡断|0x0000|100\n柔情版|0x100000|411\n柔情绰态|0x1000000|1184\n柔情媚态|0x0000|100\n柔情密意|0x1000000|1145\n柔情蜜意|0x800000|841\n柔情似水|0x800000|732\n柔情侠骨|0x1000000|100\n柔韧性|0x100000|856\n柔茹刚吐|0x1000000|1397\n柔茹寡断|0x0000|100\n柔软度|0x0008|0\n柔软剂|0x100000|972\n柔软体操|0x800000|1111\n柔声下气|0x1000000|100\n柔心弱骨|0x800000|100\n柔性制造系统|0x0008|0\n柔远怀迩|0x1000000|100\n柔远怀来|0x1000000|100\n柔远能迩|0x1000000|100\n柔远绥怀|0x1000000|100\n柔远镇迩|0x1000000|100\n柔枝嫩条|0x1000000|100\n柔枝嫩叶|0x1000000|100\n柔姿纱|0x0000|55441\n揉成一团|0x400000|0\n肉包子打狗|0x100000|1030\n肉搏战|0x100000|937\n肉薄骨并|0x800000|100\n肉颤心惊|0x0000|100\n肉苁蓉|0x100000|1017\n肉豆蔻|0x0008|1039\n肉毒杆菌素|0x100000|1\n肉毒素|0x100000|395\n肉墩墩|0x0100|0\n肉骨粉|0x100000|398\n肉乎乎|0x0000|47802\n肉火烧|0x100000|396\n肉联厂|0x100000|920\n肉末儿|0x0000|51963\n肉皮儿|0x100000|0\n肉片儿|0x0000|33152\n肉蒲团|0x100000|398\n肉山脯林|0x100000|100\n肉山酒海|0x0000|100\n肉食品|0x100000|890\n肉食性|0x0000|413\n肉食者鄙|0x800000|1190\n肉丝面|0x100000|971\n肉袒面缚|0x800000|100\n肉袒牵羊|0x0000|100\n肉体化|0x100000|0\n肉体上|0x0000|540\n肉跳神惊|0x0000|100\n肉跳心惊|0x800000|100\n肉丸子|0x100000|924\n肉馅儿|0x0000|41772\n肉芽肿|0x100000|960\n肉眼凡夫|0x0000|100\n肉眼凡胎|0x800000|1104\n肉眼惠眉|0x800000|100\n肉眼愚眉|0x0000|100\n肉用鸡|0x100000|1310\n肉欲主义|0x100000|0\n肉制品|0x100000|26147\n肉中刺|0x100000|44501\n肉孜节|0x4000|53393\n如臂使指|0x1000000|1176\n如不胜衣|0x1000000|100\n如操左券|0x1000000|100\n如痴如狂|0x800000|1009\n如痴如梦|0x0000|100\n如痴如醉|0x800000|767\n如痴似醉|0x1000000|1283\n如持左券|0x1000000|100\n如出一口|0x1400000|0\n如出一辙|0x1400000|25096\n如此而已|0x1000000|29454\n如此说来|0x0000|33428\n如此一来|0xc00000|33\n如此这般|0x800000|745\n如蹈水火|0x1000000|100\n如蹈汤火|0x1000000|100\n如登春台|0x0000|100\n如东县|0x0040|1373\n如堕五里雾中|0x400008|0\n如堕烟海|0x1000000|0\n如堕烟雾|0x1000000|100\n如法炮制|0x1000000|36362\n如法泡制|0x1000000|1183\n如法砲制|0x1000000|100\n如风过耳|0x1000000|100\n如皋市|0x0040|1307\n如隔三秋|0xc00000|53394\n如鲠在喉|0x1000000|1004\n如果说|0x0000|5615\n如何才能|0x4000000|617\n如何查找|0x4000000|430\n如何是好|0x0000|629\n如虎得翼|0x1000000|100\n如虎傅翼|0x1000000|100\n如虎生翼|0x1000000|100\n如虎添翼|0x1000000|30087\n如花似朵|0x1000000|100\n如花似锦|0x1000000|54456\n如花似玉|0x1000000|30640\n如花似月|0x1000000|100\n如火燎原|0x0000|100\n如火如荼|0x1000000|16796\n如获至宝|0x1000000|30429\n如获至珍|0x1000000|100\n如饥如渴|0x0100|1327\n如饥似渴|0x1000000|26917\n如见肺肝|0x800000|100\n如见其人|0x800000|1135\n如箭在弦|0x1000000|48479\n如胶如漆|0x1000000|100\n如胶似漆|0x1000000|43255\n如胶投漆|0x1000000|100\n如解倒悬|0x1000000|100\n如渴如饥|0x1000000|100\n如来佛|0x100000|1443\n如狼牧羊|0x1000000|100\n如狼如虎|0x1000000|100\n如狼似虎|0x1000000|40434\n如雷贯耳|0x1000000|37226\n如雷灌耳|0x1000000|1100\n如临大敌|0x1000000|33556\n如临深谷|0x0000|100\n如临深渊|0x1000000|43501\n如龙似虎|0x1000000|100\n如履薄冰|0x1000000|29245\n如履平地|0x1000000|50316\n如履如临|0x1000000|100\n如芒刺背|0x1000000|100\n如芒在背|0x1000000|53395\n如梦初觉|0x1000000|1378\n如梦初醒|0x1000000|33557\n如梦方醒|0x1000000|986\n如梦如醉|0x0000|100\n如鸟兽散|0x1000000|53913\n如牛负重|0x1000000|55819\n如弃敝屣|0x1000000|100\n如泣草芥|0x0000|100\n如泣如诉|0x1000000|32420\n如前所述|0x0000|26148\n如前所说|0x10000000|1086\n如切如磋|0x1000000|1102\n如丘而止|0x800000|100\n如人饮水|0x800000|976\n如人饮水冷暖自知|0x0000|100\n如日方升|0x1000000|100\n如日方中|0x800000|1226\n如日中天|0x1000000|34084\n如入无人之境|0x0008|918\n如若不然|0x800000|841\n如丧考妣|0x1000000|45983\n如山压卵|0x1000000|100\n如上所述|0x800000|921\n如石投水|0x0000|100\n如拾地芥|0x1000000|100\n如是说|0x800000|712\n如是我闻|0x0000|100\n如释重负|0x1000000|23663\n如手如足|0x800000|100\n如数家珍|0x1000000|21011\n如水赴壑|0x800000|100\n如水投石|0x0000|100\n如汤灌雪|0x1000000|100\n如汤浇雪|0x1000000|100\n如汤泼雪|0x1000000|100\n如汤沃雪|0x1000000|1420\n如天之福|0x1000000|100\n如图所示|0x0000|545\n如闻其声|0x800000|1161\n如无其事|0x0000|100\n如兄如弟|0x1000000|1317\n如埙如篪|0x1000000|100\n如埙如箎|0x0000|100\n如蚁附膻|0x1000000|1410\n如蚁慕膻|0x0000|100\n如意算盘|0x1000000|34222\n如饮醍醐|0x800000|100\n如应斯响|0x800000|100\n如蝇逐臭|0x800000|1344\n如影随形|0x1000000|37055\n如有所失|0x1000000|1275\n如鱼得水|0x1000000|27479\n如鱼似水|0x1000000|100\n如鱼饮水|0x1000000|0\n如原以偿|0x1000000|100\n如愿以偿|0x800000|16585\n如运诸掌|0x800000|100\n如振落叶|0x800000|100\n如之奈何|0x1000000|1100\n如指诸掌|0x1000000|100\n如锥画沙|0x0000|100\n如坠五里|0x400000|0\n如坠五里雾中|0x400000|0\n如醉初醒|0x0000|100\n如醉方醒|0x0000|100\n如醉如痴|0x1000000|31668\n如醉如狂|0x800000|1281\n如醉如梦|0x800000|100\n如左右手|0x800000|1218\n如坐春风|0x1000000|1144\n如坐云雾|0x1000000|1535\n如坐针毡|0x1000000|38148\n茹古涵今|0x0080|1385\n茹苦含辛|0x1000000|51542\n茹毛饮血|0x1000000|43735\n茹柔吐刚|0x0000|100\n儒家思想|0x100000|494\n儒家文化|0x100000|474\n儒林外史|0x0008|1536\n儒略历|0x100000|1128\n儒门事亲|0x0008|0\n儒释道|0x0000|50706\n儒雅风流|0x1000000|1215\n孺子可教|0x1000000|54457\n孺子牛|0x100000|36869\n蠕形动物|0x100000|1278\n汝成人耶|0x0000|100\n汝城县|0x0040|1650\n汝南晨鸡|0x1000000|100\n汝南县|0x0040|1587\n汝阳县|0x0040|1557\n汝州市|0x0040|1506\n乳白色|0x100000|773\n乳臭未除|0x1000000|100\n乳臭未干|0x800000|48849\n乳臭未乾|0x1000000|1250\n乳犊不怕虎|0x0008|1512\n乳房状|0x100000|0\n乳化剂|0x100000|883\n乳黄色|0x0000|52413\n乳间股脚|0x800000|100\n乳胶漆|0x100000|47169\n乳胶手套|0x100000|397\n乳胶制品|0x100000|384\n乳山市|0x0040|1506\n乳声乳气|0x1000000|100\n乳酸钙|0x0008|1039\n乳酸菌|0x100000|905\n乳酸饮料|0x100000|384\n乳糖酶|0x0008|0\n乳头状|0x100000|438\n乳头状囊腺瘤|0x0008|0\n乳突炎|0x0008|0\n乳腺癌|0x100000|757\n乳腺病|0x100000|477\n乳腺炎|0x0008|951\n乳液聚合|0x0008|0\n乳源瑶族自治县|0x0040|1757\n乳汁状|0x100000|0\n乳脂状|0x100000|0\n乳制品|0x100000|24905\n乳状液|0x100000|1134\n乳浊剂|0x100000|0\n乳浊液|0x100000|1216\n辱国丧师|0x1000000|100\n辱国殄民|0x1000000|100\n辱国殃民|0x1000000|100\n辱门败户|0x1000000|100\n辱身败名|0x1000000|100\n入邦问俗|0x1000000|100\n入宝山而空回|0x0000|100\n入不敷出|0x1000000|28863\n入场费|0x0000|427\n入场券|0x100000|12853\n入场式|0x100000|47466\n入场证|0x100000|1194\n入出境|0x1000|1060\n入地无门|0x1000000|1104\n入阁登坛|0x1000000|100\n入骨相思|0x0000|100\n入国问禁|0x1000000|1295\n入国问俗|0x1000000|100\n入海口|0x100000|26477\n入海算沙|0x1000000|1371\n入会者|0x100000|1183\n入火赴汤|0x1000000|100\n入井望天|0x800000|100\n入竟问禁|0x1000000|100\n入境问禁|0x800000|100\n入境问俗|0x1000000|1341\n入口处|0x100000|754\n入口税|0x0008|0\n入理切情|0x1000000|100\n入门教程|0x100000|498\n入门问讳|0x1000000|100\n入木三分|0x1400000|32035\n入幕之宾|0x800000|1134\n入侵者|0x100000|817\n入情入理|0x1000000|30205\n入射点|0x100000|1412\n入射角|0x100000|1159\n入射线|0x100000|1535\n入圣超凡|0x1000000|1307\n入室操戈|0x1000000|100\n入室升堂|0x1000000|100\n入室昇堂|0x1000000|100\n入死出生|0x1000000|100\n入铁主簿|0x100000|100\n入土为安|0x800000|946\n入网费|0x100000|1116\n入味儿|0x0000|53916\n入文出武|0x1000000|100\n入吾彀中|0x1000000|1224\n入乡随俗|0x1000000|34844\n入乡问俗|0x1000000|1292\n入孝出弟|0x1000000|100\n入孝出悌|0x1000000|100\n入学考试|0x0008|614\n入学率|0x100000|916\n入主出奴|0x1000000|1542\n缛礼烦仪|0x0000|100\n阮囊羞涩|0x1000000|1244\n软包装|0x100000|46872\n软波导|0x0008|0\n软磁盘|0x100000|54921\n软磁盘机|0x100000|0\n软刀子|0x100000|45676\n软钉子|0x100000|47468\n软耳朵|0x100000|0\n软骨病|0x0008|51545\n软骨素|0x100000|429\n软骨头|0x100000|47469\n软骨鱼|0x100000|1292\n软红十丈|0x500000|0\n软红香土|0x100000|100\n软乎乎|0x0000|46267\n软化剂|0x100000|1070\n软环境|0x100000|855\n软坚散结|0x0008|0\n软件版|0x100000|531\n软件包|0x0008|41541\n软件产品|0x100000|675\n软件产业|0x0000|563\n软件厂商|0x100000|516\n软件超市|0x100000|968\n软件工程|0x0008|765\n软件工程师|0x100000|566\n软件公司|0x100000|598\n软件狗|0x100000|448\n软件技术|0x100000|598\n软件加密|0x100000|902\n软件教程|0x100000|487\n软件名称|0x100000|768\n软件能|0x100000|679\n软件排行榜|0x100000|395\n软件设计|0x0008|2\n软件维护员|0x100000|0\n软件屋|0x100000|436\n软件下载工具|0x100000|396\n软件业|0x100000|805\n软件有限公司|0x100000|641\n软件园|0x100000|665\n软胶囊|0x100000|520\n软科学|0x100000|28950\n软沥青|0x0008|0\n软门帘|0x100000|406\n软绵绵|0x0100|23186\n软磨硬泡|0x800000|50319\n软木板|0x100000|377\n软木塞|0x100000|39359\n软盘驱动器|0x0000|445\n软裘快马|0x1000000|100\n软弱无力|0x800000|858\n软设备|0x100000|1401\n软水机|0x100000|437\n软水器|0x100000|420\n软塌塌|0x0008|1012\n软谈丽语|0x1000000|100\n软体动物|0x800000|945\n软武器|0x100000|1406\n软香温玉|0x1000000|100\n软饮料|0x100000|49214\n软硬不吃|0x0000|47172\n软硬兼施|0x1000000|32801\n软硬件|0x100000|672\n软语温言|0x1000000|100\n软玉温香|0x1000000|1008\n软脂酸|0x0008|1283\n软指标|0x0000|46560\n软着陆|0x800000|24717\n软组织|0x100000|34527\n蕤宾铁响|0x0000|100\n芮城县|0x0040|1044\n枘圆凿方|0x1000000|100\n枘凿冰炭|0x1000000|100\n枘凿方圆|0x1000000|100\n锐不可当|0x1000000|37406\n锐挫气索|0x1000000|100\n锐挫望绝|0x1000000|100\n锐角三角|0x400000|0\n锐角三角形|0x400000|0\n锐意进取|0x800000|18593\n瑞安市|0x0040|1168\n瑞昌市|0x0040|1608\n瑞典人|0x100000|871\n瑞典文|0x0008|1039\n瑞典语|0x0008|1477\n瑞金市|0x0040|1632\n瑞丽市|0x0040|1533\n瑞利散射|0x0008|0\n瑞士法郎|0x100000|961\n瑞士军刀|0x100000|524\n瑞士联合银行|0x0020|1139\n瑞士人|0x100000|933\n瑞雪兆丰年|0x0008|942\n润肤霜|0x100000|911\n润滑剂|0x100000|33957\n润滑油|0x100000|20829\n润滑脂|0x0008|1374\n润屋润身|0x0000|100\n若敖鬼馁|0x800000|100\n若敖之鬼|0x0000|100\n若崩厥角|0x0000|100\n若不是|0x0000|659\n若存若亡|0x800000|1128\n若尔盖|0x0040|1507\n若尔盖县|0x0040|1136\n若干规定|0x100000|552\n若干问题|0x0000|616\n若干意见|0x0000|580\n若干政策|0x100000|470\n若合符节|0x0000|100\n若即若离|0x1000000|34682\n若离若即|0x0000|100\n若卵投石|0x0000|100\n若明若暗|0x1000000|42283\n若明若昧|0x0000|100\n若烹小鲜|0x800000|1095\n若羌县|0x0040|1060\n若且唯若|0x0008|0\n若丧考妣|0x0000|100\n若涉渊冰|0x0000|100\n若涉渊水|0x0000|100\n若释重负|0x0000|100\n若无其事|0x1000000|17641\n若要人不知|0x0008|1060\n若隐若显|0x0000|100\n若隐若现|0x1000000|27961\n若有若无|0x0000|100\n若有所丧|0x0000|100\n若有所失|0x1000000|37594\n若有所思|0x800000|19821\n若有所亡|0x0000|100\n弱本强末|0x0000|100\n弱不好弄|0x1000000|100\n弱不禁风|0x1000000|33429\n弱不胜衣|0x1000000|54458\n弱光性|0x100000|0\n弱肉强食|0x1000000|38339\n弱势群体|0x100000|696\n弱水三千|0x400000|0\n弱水三千只取一瓢|0x400000|0\n弱水之隔|0x800000|100\n弱一致性模型|0x400000|0\n弱音器|0x100000|1210\n撒痴撒娇|0x1000000|100\n撒豆成兵|0x1000000|1107\n撒哈拉|0x0040|1226\n撒哈拉沙漠|0x0040|1434\n撒欢儿|0x1000|49936\n撒娇卖俏|0x0000|100\n撒娇撒痴|0x1000000|1335\n撒酒疯|0x1000|53397\n撒科打诨|0x1000000|100\n撒克逊|0x0008|1637\n撒拉族|0x0008|43007\n撒泼打滚|0x0000|100\n撒泼放刁|0x0000|100\n撒切尔|0x0080|1499\n撒骚放屁|0x0000|100\n撒手不管|0x800000|815\n撒手锏|0x100000|47805\n撒手人寰|0x800000|904\n撒水拿鱼|0x1000000|100\n撒丫子|0x1000|953\n撒鸭子|0x1000|1227\n撒呓挣|0x1000|0\n撒诈捣虚|0x0000|100\n洒狗血|0x100000|1121\n洒热血|0x800000|936\n洒洒潇潇|0x1000000|100\n洒扫应对|0x0000|100\n洒水车|0x100000|43736\n洒心更始|0x1000000|100\n飒爽英姿|0x800000|952\n萨尔拉斯|0x0080|0\n萨尔瓦多|0x0040|1490\n萨嘎县|0x0040|1216\n萨基姆|0x0008|1565\n萨迦县|0x0040|1182\n萨克管|0x100000|1215\n萨克斯|0x100000|771\n萨克斯管|0x100000|1019\n萨拉热窝|0x0040|1622\n萨拉萨蒂|0x0080|0\n萨满教|0x100000|1054\n萨摩亚|0x40000000|430\n萨其马|0x100000|1120\n萨仁高娃|0x0080|0\n萨瑟兰|0x0040|1648\n萨瓦纳|0x0040|1344\n萨彦岭|0x0040|1336\n塞北江南|0x1000000|1168\n塞擦音|0x100000|1288\n塞尔维亚|0x0040|1286\n塞耳盗钟|0x0000|100\n塞耳偷铃|0x1000|100\n塞井焚舍|0x1000000|100\n塞井夷灶|0x1000000|100\n塞拉利昂|0x0040|1610\n塞内加尔|0x0040|1408\n塞纳河|0x0040|1410\n塞浦路斯|0x0040|1379\n塞普路斯|0x0080|0\n塞上江南|0x1000000|1072\n塞舌尔|0x0040|1514\n塞维里亚|0x0080|0\n塞维利亚|0x100000|510\n塞翁得马|0x1000000|1208\n塞翁失马|0x1000000|46875\n塞翁失马焉知非福|0x0000|100\n塞翁之马|0x1000000|1541\n腮帮子|0x100000|24907\n腮腺炎|0x100000|47471\n赛车场|0x100000|838\n赛车服|0x100000|387\n赛车手|0x100000|514\n赛程表|0x100000|441\n赛过诸葛亮|0x0008|1152\n赛力散|0x100000|0\n赛璐玢|0x100000|1539\n赛璐珞|0x100000|52415\n赛马场|0x100000|903\n赛门铁克|0x100000|842\n三八妇女节|0x404000|53399\n三八国际妇女节|0x400000|1613\n三八红旗手|0x400000|1549\n三八节|0x404000|0\n三八式|0x0000|51117\n三八线|0x400000|1490\n三八作风|0x400000|0\n三白草|0x500000|0\n三百六十|0x600000|0\n三百六十度|0x400000|0\n三百六十行|0x400000|40866\n三百万|0x600000|6\n三百瓮齑|0x400000|100\n三班倒|0xc00000|37768\n三班六房|0x1400000|0\n三班制|0x400000|0\n三般两样|0x1400000|0\n三斑家蚊|0x400000|0\n三板斧|0x500000|2\n三榜定案|0x1400000|0\n三胞胎|0x500000|7\n三杯通大道|0x400000|1193\n三北防护林|0x400000|1160\n三壁骨下袋|0x400000|0\n三臂卡环|0x400000|0\n三边形|0x500000|0\n三病四痛|0x1400000|0\n三波六折|0x400000|0\n三不拗六|0x1400000|0\n三不放过|0x400000|0\n三不管|0x500000|37228\n三不知|0xc00000|0\n三步并作两步|0x400008|3\n三步两脚|0x1400000|0\n三部合唱|0x400000|0\n三部曲|0x400008|20366\n三餐不继|0x400000|0\n三曹对案|0x1400000|0\n三叉戟|0x400008|47174\n三叉苦|0x500000|0\n三叉神经|0x500000|0\n三茶六饭|0x1400000|0\n三茶六礼|0x1400000|0\n三岔口|0x400008|2\n三岔路|0x400040|0\n三岔路口|0x500000|45085\n三差两错|0x1400000|0\n三差五错|0x400000|100\n三长两短|0x1400000|27962\n三长四短|0x1400000|0\n三长制|0x500000|0\n三朝五日|0x1400000|0\n三朝元老|0x1400000|4\n三春柳|0x400000|1373\n三次采油|0x400008|0\n三次曲面|0x400000|0\n三从四德|0x1400000|1\n三寸不烂|0x400000|0\n三寸不烂之舌|0x400008|1\n三寸金莲|0x400000|0\n三寸鸟|0x500000|0\n三寸舌|0x500000|0\n三寸之舌|0x400000|100\n三大差别|0x500000|0\n三大法宝|0x400008|1\n三大革命|0x400000|0\n三大战役|0x500000|6\n三大政策|0x400008|1\n三大作风|0x400000|0\n三代人|0x100000|451\n三代同堂|0x400000|1\n三等兵|0x400000|0\n三等舱|0x400000|373\n三等分|0x400000|0\n三等功|0x500000|28\n三等奖|0x500000|14\n三等九般|0x1400000|0\n三等九格|0x1400000|0\n三等品|0x400008|0\n三点式|0x500000|43008\n三点水|0x400000|48483\n三点一线|0x400000|1\n三碘季酚胺|0x400000|0\n三电极电解池|0x400000|0\n三迭阳关|0x400000|100\n三叠纪|0x404000|2\n三叠系|0x400008|0\n三叠阳关|0x1400000|0\n三冬二夏|0x1400000|0\n三都水族自治县|0x400000|1774\n三读通过|0x400000|1\n三度空间|0x500000|0\n三端网络|0x400008|0\n三段论|0x500000|0\n三段论法|0x500000|0\n三段式|0x500000|1\n三对六面|0x1400000|0\n三番两次|0x1400000|49577\n三番四次|0x400000|0\n三番四复|0x400000|0\n三番五次|0x1400000|26993\n三翻四复|0x1400000|0\n三翻四覆|0x1400000|0\n三藩市|0x400000|2\n三反四覆|0x1400000|0\n三反五反|0xc00000|0\n三方点格|0x400000|0\n三房二厅|0x400000|0\n三房两厅|0x400000|0\n三房一厅|0x400000|0\n三分鼎立|0x400000|100\n三分鼎足|0x1400000|0\n三分法|0x400000|373\n三分量检波器|0x400000|0\n三分球|0x500000|2\n三分似人|0x400000|0\n三分像人|0x1400000|0\n三分之二|0x400000|608\n三分之一|0x400000|663\n三分钟学会|0x400000|0\n三坟五典|0x1400000|0\n三风十愆|0x1400000|0\n三夫成市虎|0x400000|1272\n三夫之对|0x1400000|0\n三夫之言|0x1400000|0\n三伏天|0x0000|35413\n三复白圭|0x1400000|0\n三复斯言|0x400000|100\n三竿日上|0x400000|0\n三纲五常|0x1400000|0\n三缸单作用泵|0x400000|0\n三高农业|0x400000|1\n三告投杼|0x1400000|0\n三个臭皮匠|0x400008|0\n三个臭皮匠赛过诸葛亮|0x400000|0\n三个代表|0x500000|3962\n三个和尚没水吃|0x400000|0\n三个和尚没水喝|0x400000|0\n三个面向|0x400000|0\n三个世界|0x400000|3\n三个有利于|0x400000|0\n三个月|0x400000|755\n三根分叉部|0x400000|0\n三更半夜|0x1400000|39152\n三公九卿|0x400000|0\n三宫六院|0x1400000|0\n三宫六院七十二妃|0x400000|0\n三姑六婆|0x1400000|53918\n三顾草庐|0x1400000|0\n三顾茅庐|0x1400000|42021\n三顾茅芦|0x400000|1288\n三顾之请|0x400000|0\n三官能引发剂|0x400000|0\n三跪九叩|0x1400000|0\n三国鼎立|0x400000|961\n三国群英|0x100000|428\n三国时代|0x400008|1\n三国时期|0x100000|482\n三国演义|0x400008|30\n三国战记|0x400000|0\n三国战略|0x400000|0\n三国赵云传|0x100000|442\n三国志|0x4400000|4\n三过其门而不入|0x400008|0\n三好二怯|0x1400000|0\n三好两歹|0x1400000|0\n三好两歉|0x1400000|0\n三好生|0x500000|42525\n三好学生|0x400000|516\n三合板|0x4400000|46562\n三合房|0x400000|1317\n三合会|0x400008|11\n三合土|0x500000|47472\n三合一|0x401000|3\n三和弦|0x400000|0\n三河市|0x400000|1533\n三户亡秦|0x1400000|0\n三花脸|0x500000|53400\n三化螟|0x500000|0\n三槐九棘|0x1400000|0\n三环路|0x400040|3\n三环五扣|0x1400000|0\n三皇五帝|0xc00000|42526\n三回九转|0x1400000|0\n三回五次|0x1400000|0\n三会两课|0x400000|0\n三荤五厌|0x1400000|0\n三魂出窍|0x1400000|0\n三魂七魄|0x1400000|0\n三饥两饱|0x1400000|0\n三机关一部门|0x400000|0\n三级片|0x400008|8\n三级跳|0x400008|1\n三级跳远|0x500000|35263\n三级预防|0x400000|0\n三极管|0x4400000|0\n三极真空|0x400000|0\n三季稻|0x500000|0\n三夹板|0x400000|370\n三家村|0x400040|0\n三架梁|0x400000|0\n三尖瓣|0x500000|0\n三缄其口|0x1400000|45677\n三件套|0x400008|0\n三谏之义|0x1400000|0\n三江侗族自治县|0x400000|1637\n三江七泽|0x1400000|0\n三江五湖|0x1400000|0\n三讲教育|0x400000|0\n三讲两思|0x400000|0\n三焦俞|0x400000|0\n三角板|0x500000|50320\n三角测量|0x400000|3\n三角尺|0x400000|1136\n三角帆|0x500000|0\n三角方程|0x400000|0\n三角枫|0x400000|1085\n三角钢琴|0x400000|0\n三角函数|0xc00000|0\n三角回归|0x400000|0\n三角肌|0x400000|411\n三角嵴|0x400000|0\n三角架|0x4400000|0\n三角裤|0x400000|40640\n三角恋爱|0x500000|38959\n三角梅|0x100000|385\n三角皮带|0x400008|0\n三角瓶|0x400000|0\n三角旗|0x400000|370\n三角墙|0x400000|0\n三角铁|0x4400000|54459\n三角形|0x500000|9530\n三角形接法|0x400000|0\n三角学|0x500000|1\n三角叶杨|0x400000|0\n三角杂化|0x400000|0\n三角债|0xc00000|32295\n三角洲|0x500000|11840\n三角洲部队|0x100000|456\n三角洲地区|0x100000|497\n三脚架|0x4400000|47175\n三脚架种植体|0x400000|0\n三脚两步|0x1400000|0\n三脚猫|0x500000|1\n三教九流|0x1400000|30966\n三街两市|0x1400000|0\n三街六市|0x1400000|0\n三街六巷|0x1400000|0\n三节两寿|0x1400000|0\n三结合|0x500000|0\n三九健康网|0x400008|0\n三九天|0x404000|47806\n三居室|0x500000|3\n三句不离|0x400000|0\n三句不离本行|0x400000|1183\n三句话不离本行|0x400008|1\n三距交汇|0x400000|0\n三聚体|0x400000|0\n三军易得|0x400000|0\n三军总医院|0x400000|0\n三颗针|0x500000|0\n三老四少|0x1400000|0\n三老四严|0x400008|1\n三老五更|0x400000|100\n三垒手|0x400000|1191\n三类判断|0x400000|0\n三棱镜|0x500000|53919\n三棱锥|0x400000|0\n三里屯|0x400040|1\n三连冠|0xc00000|35\n三连音|0x400000|0\n三联单|0x500000|54923\n三联画|0x400000|4\n三联书店|0x400000|1342\n三邻四舍|0x1400000|0\n三磷酸肌醇|0x400000|0\n三令五申|0x1400000|22421\n三六九等|0x1400000|43009\n三六一|0x600000|0\n三楼住户|0x400000|0\n三路狂奔|0x400000|0\n三氯化铋|0x400000|0\n三氯化碘|0x400000|0\n三氯甲烷|0x4400000|1\n三氯乙醛|0x400008|0\n三氯乙烷|0x400000|0\n三氯乙烯|0x4400000|0\n三轮车|0x4400000|10925\n三轮儿|0x0000|32921\n三马同槽|0x400000|100\n三毛七孔|0x1400000|0\n三媒六证|0x1400000|0\n三门四户|0x400000|0\n三门峡|0x400040|20\n三门峡市|0x400000|1251\n三门县|0x400000|1530\n三面红旗|0x500000|0\n三面体|0x400000|1\n三面夏娃|0x400000|0\n三面亚当|0x400000|0\n三民主义|0x500000|25719\n三明市|0x400000|1326\n三明治|0x4400000|39773\n三命而俯|0x1400000|0\n三沐三熏|0x400000|100\n三沐三薰|0x1400000|0\n三臡八菹|0x1400000|0\n三年不窥圆|0x400000|0\n三年化碧|0x1400000|0\n三年级|0x400000|680\n三年计划|0x400000|0\n三年怕井绳|0x400000|1144\n三年五载|0x1400000|0\n三年有成|0x400000|0\n三年之艾|0x1400000|0\n三朋四友|0x1400000|0\n三平二满|0x1400000|0\n三婆两嫂|0x1400000|0\n三浦友和|0x400080|1\n三七二十一|0x400000|0\n三七开|0x401000|0\n三七五减|0x400000|0\n三妻四妾|0x1400000|0\n三期贤佞|0x1400000|0\n三起三落|0x400000|1\n三千万|0x600000|8\n三迁之教|0x400000|100\n三嵌段共聚物|0x400000|0\n三亲六故|0x500000|54924\n三亲六眷|0x1400000|0\n三亲四眷|0x1400000|0\n三青团|0x400020|48850\n三清四白|0x1400000|0\n三请四唤|0x400000|0\n三求四告|0x1400000|0\n三权分立|0x400008|7\n三拳不敌四手|0x400008|0\n三拳两脚|0x400000|100\n三缺一|0xc00000|0\n三人成虎|0x1400000|0\n三人为众|0x1400000|0\n三人行|0xc00000|1\n三人行必|0x400000|0\n三人行必有我师|0x400000|405\n三日不见当刮目相看|0x400000|0\n三日打鱼|0x400000|0\n三日新妇|0x1400000|0\n三三两两|0x1400000|19374\n三三四四|0x600000|0\n三三五五|0x600000|0\n三色堇|0x400000|1002\n三色苋|0x400000|0\n三山五岳|0x1400000|0\n三蛇七鼠|0x1400000|0\n三申五令|0x400000|0\n三生有幸|0x1400000|42022\n三生之缘|0x400000|0\n三声无奈|0x400000|0\n三牲五鼎|0x1400000|0\n三省吾身|0x400000|962\n三尸暴跳|0xc00000|0\n三尸乱暴|0x400000|0\n三尸脑神丹|0x400000|0\n三尸五鬼|0x1400000|0\n三十八|0x600000|22\n三十儿|0x0000|7479\n三十而立|0x1400000|1\n三十二|0x600000|26\n三十九|0x600000|19\n三十六|0x600000|26\n三十六策|0x500000|0\n三十六计|0x500000|0\n三十六行|0x400000|1206\n三十年代|0x400000|1\n三十年河东|0x400000|930\n三十年河西|0x400000|937\n三十七|0x600000|19\n三十三|0x600000|17\n三十三天|0x400000|100\n三十四|0x600000|17\n三十岁|0x400000|616\n三十万|0x600000|15\n三十五|0x600000|46\n三十一|0x600000|16\n三豕涉河|0x1400000|0\n三室两厅|0x400000|1\n三首六臂|0x1400000|0\n三兽渡河|0x1400000|0\n三思而后|0x400000|0\n三思而后行|0x400008|2\n三思而行|0x1400000|41774\n三四三|0x600000|0\n三速链轮|0x400000|0\n三穗县|0x400000|1146\n三台八座|0x1400000|0\n三台联播|0x400000|0\n三台县|0x400000|1643\n三态变化|0x400000|0\n三态缓冲器|0x400000|0\n三态逻辑|0x400000|0\n三汤两割|0x1400000|0\n三汤五割|0x1400000|0\n三体问题|0x400008|0\n三屉桌|0x400000|1381\n三天不练手生|0x400000|0\n三天打鱼|0xc00000|0\n三天两头|0x1400000|22175\n三萜类|0x400000|1177\n三通阀|0x400000|1139\n三头八臂|0x1400000|0\n三头对案|0x1400000|0\n三头两面|0x1400000|0\n三头两日|0x1400000|0\n三头两绪|0x1400000|0\n三头六臂|0x1400000|34371\n三头六面|0x1400000|0\n三头六证|0x1400000|0\n三头钳|0x400000|0\n三吐三握|0x1400000|0\n三推六问|0x1400000|0\n三瓦两舍|0x1400000|0\n三瓦两巷|0x1400000|0\n三万英尺|0x400000|0\n三桅帆船|0x400000|0\n三维地带性|0x400000|0\n三维地貌模型|0x400000|0\n三维动画|0x100000|520\n三维度理论|0x400000|0\n三维光栅|0x400000|0\n三维集成电路|0x400000|0\n三维空间|0x500000|41775\n三维立体|0x100000|494\n三维模式|0x400000|0\n三维设计|0x100000|460\n三维图程序|0x400000|0\n三维重建|0x400000|0\n三位数|0x400000|1\n三位一体|0x1400000|14331\n三温暖|0x400008|0\n三窝两块|0x400000|100\n三五成群|0x1400000|24457\n三五二|0x600000|0\n三徙成都|0x1400000|0\n三徙成国|0x1400000|0\n三系杂种|0x400000|0\n三侠五义|0x400000|0\n三峡工程|0x400008|34\n三下两下|0x400000|1\n三下五除二|0x400008|34372\n三弦乐器|0x400000|0\n三弦琴|0x400000|1153\n三线放松|0x400000|0\n三线建设|0x400000|0\n三相点|0x400008|0\n三项方程|0x400000|0\n三项基本原则|0x400000|0\n三项教育|0x400000|0\n三项式|0x400000|0\n三硝基甲苯|0x400008|0\n三写成乌|0x1400000|0\n三写易字|0x1400000|0\n三心二意|0x1400000|31204\n三心两意|0x1400000|0\n三衅三浴|0x1400000|0\n三星级|0x500000|7\n三星在户|0xc00000|0\n三星在天|0xc00000|0\n三姓家奴|0x400000|0\n三熏三沐|0x400000|100\n三薰三沐|0x1400000|0\n三旬九食|0xc00000|0\n三亚会议|0x100000|372\n三亚旅游|0x100000|523\n三亚市|0x400000|1350\n三言讹虎|0x1400000|0\n三言两句|0x1400000|0\n三言两语|0x1400000|22067\n三阳交泰|0x1400000|0\n三阳开泰|0x1400000|0\n三阳络|0x400008|0\n三氧化氮|0x400000|0\n三氧化硫|0x400000|0\n三氧化物|0x400000|0\n三邀四请|0x400000|0\n三要素|0x100000|491\n三叶草|0x500000|1\n三叶虫|0x400000|1039\n三叶期|0x400000|1541\n三一律|0x500000|0\n三一学院|0x400000|4\n三乙醇胺|0x4400000|0\n三阴交|0x400008|0\n三盈三虚|0x400000|100\n三用喷枪|0x400000|0\n三余读书|0x400000|100\n三浴三衅|0x400000|100\n三元及第|0x400000|0\n三元里|0x400040|1\n三元乙丙橡胶|0x400000|0\n三原色|0x400008|49937\n三原县|0x400000|1653\n三怨成府|0x1400000|0\n三月不知肉味|0x400008|0\n三月份|0x4000|100\n三月三|0x0000|30749\n三灾八难|0x1400000|54925\n三灾六难|0x1400000|0\n三占从二|0x1400000|0\n三战两胜|0x400000|0\n三战三北|0x400000|100\n三招两式|0x400000|0\n三折肱|0x500000|0\n三折肱为良医|0x400000|100\n三贞九烈|0x1400000|0\n三贞五烈|0x1400000|0\n三振出局|0x400000|0\n三只手|0x500000|44801\n三旨相公|0xc00000|0\n三纸无驴|0x1400000|0\n三智五猜|0x1400000|0\n三中全会|0x400008|4\n三种记忆系统|0x400000|0\n三重唱|0x400000|54922\n三重人格|0x400000|0\n三重态|0x500000|0\n三重奏|0x500000|44505\n三资企业|0x500000|20916\n三字经|0x500000|26069\n三自一包|0x400008|0\n三足鼎立|0x1400000|31434\n三座大山|0xc00000|2\n伞齿轮|0x0008|1048\n散兵游勇|0x1000000|37595\n散带衡门|0x1000000|100\n散灰扃户|0x1000000|100\n散马休牛|0x1000000|100\n散热片|0x0008|1315\n散热器|0x100000|42023\n散散步|0x100000|805\n散散漫漫|0x0100|996\n散散心|0x100000|782\n散伤丑害|0x1000000|100\n散射长度|0x0008|0\n散射矩阵|0x0008|0\n散摊子|0x1000|54461\n散文集|0x100000|825\n散文家|0x100000|936\n散文诗|0x100000|30206\n散文随笔|0x100000|467\n散文体|0x100000|1157\n散言碎语|0x1000000|1541\n散阵投巢|0x1000000|100\n桑巴舞|0x100000|924\n桑白皮|0x0008|1090\n桑蚕丝|0x100000|1011\n桑德兰|0x0080|491\n桑给巴尔|0x0040|1150\n桑弧蒿矢|0x1000000|100\n桑弧蓬矢|0x1000000|1279\n桑户桊枢|0x0000|100\n桑户蓬枢|0x1000000|100\n桑户棬枢|0x1000000|100\n桑寄生|0x100000|1132\n桑间濮上|0x1000000|1275\n桑间之音|0x1000000|100\n桑间之咏|0x1000000|100\n桑间之约|0x1000000|100\n桑落瓦解|0x1000000|100\n桑毛虫|0x100000|1400\n桑木虱|0x100000|0\n桑拿浴|0x100000|51118\n桑那浴|0x100000|1180\n桑螵蛸|0x100000|1205\n桑日县|0x0040|1206\n桑椹胚|0x0008|0\n桑枢韦带|0x1000000|100\n桑枢瓮牖|0x1000000|100\n桑枢甕牖|0x1000000|100\n桑树上出血|0x0008|100\n桑塔纳|0x4000000|1155\n桑天牛|0x100000|1375\n桑田碧海|0x1000000|100\n桑田沧海|0x800000|1033\n桑土绸缪|0x1000000|100\n桑土之防|0x1000000|100\n桑土之谋|0x1000000|100\n桑象虫|0x100000|1534\n桑荫不徙|0x0000|100\n桑荫未移|0x0000|100\n桑榆非晚|0x0000|100\n桑榆末景|0x1000000|100\n桑榆暮景|0x1000000|1397\n桑榆之景|0x1000000|100\n桑植县|0x0040|1544\n桑中之喜|0x1000000|100\n桑中之约|0x1000000|100\n嗓门儿|0x100000|14378\n嗓子眼|0x100000|20955\n嗓子眼儿|0x100000|1026\n丧胆亡魂|0x0000|100\n丧胆销魂|0x0000|100\n丧胆游魂|0x1000000|100\n丧魂落魄|0x1000000|45086\n丧魂失魄|0x1000000|1290\n丧家犬|0x0000|51967\n丧家之狗|0x800000|1274\n丧家之犬|0x1000000|40641\n丧尽天良|0x1000000|38547\n丧门神|0x100000|1262\n丧门星|0x100000|49578\n丧明之痛|0x1000000|100\n丧气话|0x100000|1070\n丧权辱国|0x1000000|35265\n丧身失节|0x0000|100\n丧失殆尽|0x1000000|0\n丧师辱国|0x1000000|1301\n丧天害理|0x1000000|100\n丧心病狂|0x1000000|33811\n丧葬费|0x100000|978\n搔到痒处|0x800000|1261\n搔首踟蹰|0x0000|100\n搔首弄姿|0x1000000|42024\n搔头摸耳|0x1000000|100\n搔头弄姿|0x1000000|1427\n搔头抓耳|0x0000|100\n搔着痒处|0x1000000|100\n骚乱性|0x100000|0\n骚情赋骨|0x1000000|100\n骚人词客|0x1000000|100\n骚人墨客|0x1000000|1056\n骚人墨士|0x1000000|100\n骚人雅士|0x1000000|100\n骚人逸客|0x1000000|100\n骚翁墨客|0x1000000|100\n缫丝厂|0x100000|948\n扫除天下|0x1000000|1343\n扫地出门|0x1000000|37407\n扫地俱尽|0x1000000|100\n扫地无遗|0x1000000|100\n扫地无余|0x1000000|100\n扫地以尽|0x1000000|1397\n扫锅刮灶|0x1000000|100\n扫黄打非|0x800000|17098\n扫雷舰|0x100000|1148\n扫雷艇|0x100000|1155\n扫眉才子|0x1000000|1319\n扫描电镜|0x0008|0\n扫描机|0x100000|1068\n扫描器|0x100000|815\n扫描仪|0x100000|26561\n扫墓望丧|0x1000000|100\n扫榻以待|0x1000000|100\n扫堂腿|0x100000|1117\n扫穴犁庭|0x1000000|1412\n扫穴擒渠|0x1000000|100\n扫帚星|0x100000|47808\n嫂夫人|0x100000|39774\n嫂溺叔援|0x1000000|100\n色氨酸|0x100000|1010\n色彩斑斓|0x1000000|772\n色彩缤纷|0x1000000|852\n色彩顾问|0x100000|392\n色彩鲜明|0x100000|965\n色彩学|0x0000|398\n色达县|0x0040|1143\n色胆迷天|0x0000|100\n色胆如天|0x0000|100\n色灯信号机|0x0008|0\n色度计|0x0008|1621\n色度学|0x0008|0\n色即是空|0x100000|737\n色拉寺|0x100000|402\n色拉油|0x100000|43257\n色楞格河|0x0040|1322\n色厉胆薄|0x0000|100\n色厉内荏|0x1000000|49940\n色盲症|0x100000|0\n色妹妹|0x100000|410\n色迷迷|0x0000|39361\n色目人|0x100000|1150\n色女郎|0x100000|417\n色谱仪|0x100000|917\n色情动画|0x100000|383\n色情狂|0x100000|48852\n色情女|0x100000|369\n色情片|0x0000|491\n色情图片|0x100000|536\n色情网站|0x0000|564\n色情小说|0x0000|534\n色仁行违|0x1000000|100\n色如死灰|0x0000|100\n色若死灰|0x1000000|100\n色色俱全|0x1000000|100\n色授魂与|0x1000000|1221\n色衰爱弛|0x1000000|100\n色织布|0x100000|449\n色织厂|0x100000|906\n涩女郎|0x100000|442\n涩于言论|0x1000000|100\n啬己奉公|0x0000|100\n瑟调琴弄|0x0000|100\n瑟弄琴调|0x0000|100\n森林保护|0x0008|990\n森林抚育|0x0008|0\n森林覆盖率|0x100000|512\n森林更新|0x0008|0\n森林公园|0x0008|674\n森林经理|0x0008|0\n森林狼|0x100000|557\n森林学|0x100000|1335\n森林浴|0x0008|1006\n森林资源|0x0008|864\n森罗万象|0x1000000|1063\n森田疗法|0x0000|385\n森严壁垒|0x1000000|1163\n僧多粥少|0x1000000|39583\n僧格林沁|0x0008|1131\n杀虫剂|0x100000|23085\n杀虫药|0x100000|1141\n杀虫药剂|0x0008|1107\n杀出重围|0x800000|907\n杀敌致果|0x1000000|100\n杀毒软件|0x100000|588\n杀风景|0x1000000|1042\n杀富济贫|0x1000000|50709\n杀回马枪|0x1000000|1139\n杀鸡哧猴|0x1000000|100\n杀鸡给猴看|0x0008|1\n杀鸡骇猴|0x1000000|1165\n杀鸡儆猴|0x1000|1017\n杀鸡抹脖|0x800000|100\n杀鸡取蛋|0x0000|100\n杀鸡取卵|0x1000000|43013\n杀鸡为黍|0x1000000|100\n杀鸡吓猴|0x1000000|54926\n杀鸡焉用牛刀|0x0008|1113\n杀菌剂|0x100000|865\n杀马毁车|0x1000000|100\n杀螨剂|0x100000|1078\n杀妻求将|0x1000000|1319\n杀气腾腾|0x1000000|35415\n杀人案|0x100000|834\n杀人案件|0x0000|439\n杀人不见血|0x0008|46876\n杀人不眨眼|0x0008|38548\n杀人犯|0x100000|805\n杀人放火|0x1000000|838\n杀人狂|0x100000|526\n杀人灭口|0x1000000|45985\n杀人如草|0x1000000|1218\n杀人如蒿|0x1000000|100\n杀人如麻|0x1000000|48112\n杀人如蓺|0x1000000|100\n杀人一万|0x400000|0\n杀人盈野|0x1000000|100\n杀人越货|0x1000000|42528\n杀人者|0x100000|910\n杀人罪|0x100000|912\n杀伤力|0x100000|26349\n杀伤性|0x100000|876\n杀身报国|0x0000|100\n杀身成仁|0x1000000|41777\n杀身成义|0x1000000|100\n杀身之祸|0x800000|37057\n杀时间|0x1000|1041\n杀手锏|0x100000|26634\n杀鼠剂|0x100000|1092\n杀鼠药|0x100000|1405\n杀死比尔|0x0000|473\n杀威棒|0x100000|1157\n杀一儆百|0x1400000|45088\n杀一警百|0xc00000|0\n杀一利百|0x1400000|0\n杀一砺百|0x1400000|0\n杀衣缩食|0x1000000|100\n杀彘教子|0x1000000|100\n沙宝亮|0x100000|515\n沙尘暴|0x100000|8878\n沙打旺|0x100000|1289\n沙丁鱼|0x100000|39994\n沙发床|0x100000|48113\n沙发椅|0x0008|29133\n沙河市|0x0040|1533\n沙拉油|0x100000|403\n沙里淘金|0x1000000|50321\n沙罗曼蛇|0x0000|424\n沙门氏菌|0x100000|1002\n沙漠地|0x100000|1262\n沙漠化|0x1000|938\n沙鸥翔集|0x0000|100\n沙坪坝|0x0040|1120\n沙坪坝区|0x0040|1157\n沙沙沙|0x80000|0\n沙沙声|0x100000|468\n沙他蓬甲威他侬|0x0080|0\n沙滩车|0x100000|436\n沙滩排球|0x100000|27558\n沙滩鞋|0x0008|967\n沙滩椅|0x100000|440\n沙滩装|0x100000|1067\n沙特阿拉伯|0x0040|1318\n沙田区|0x0040|1132\n沙田柚|0x100000|1025\n沙头角|0x0040|1472\n沙湾县|0x0040|1053\n沙文主义|0x800000|43014\n沙雅县|0x0040|1112\n沙洋县|0x0040|1605\n沙苑子|0x100000|1207\n刹车灯|0x0008|491\n刹车片|0x100000|854\n刹那间|0x4000|637\n刹时间|0x4000|957\n砂锅赛|0x100000|0\n砂里淘金|0x1000000|100\n砂轮机|0x100000|1009\n莎车县|0x0040|1115\n莎士比亚|0x0080|1147\n铩羽暴鳞|0x1000000|100\n铩羽而归|0x1000000|935\n铩羽涸鳞|0x1000000|100\n鲨肝醇|0x0008|1335\n傻大黑粗|0x0000|45374\n傻瓜相机|0x100000|53402\n傻瓜型|0x100000|455\n傻呵呵|0x0100|46563\n傻乎乎|0x0100|26920\n傻劲儿|0x100000|54927\n傻愣愣|0x0000|50710\n傻里傻气|0x800000|45375\n傻帽儿|0x100000|1218\n傻头傻脑|0x800000|46273\n傻小子|0x100000|525\n傻丫头|0x0000|537\n歃血为盟|0x1000000|1037\n煞费苦心|0x1000000|24718\n煞费心机|0x1000000|54465\n煞风景|0x800000|37230\n煞有介事|0x1000000|23502\n煞有其事|0x800000|956\n霎时间|0x4000|19898\n筛粉机|0x100000|1077\n筛锣擂鼓|0x1000000|100\n晒太阳|0x1000|637\n晒图机|0x100000|400\n晒图纸|0x0008|1051\n晒衣架|0x0000|390\n山包海容|0x1000000|100\n山崩川竭|0x1000000|1418\n山崩地坼|0x1000000|100\n山崩地裂|0x1000000|840\n山崩地塌|0x1000000|100\n山崩地陷|0x1000000|1298\n山崩海啸|0x1000000|1157\n山崩水竭|0x1000000|100\n山崩钟应|0x1000000|100\n山茶花|0x100000|894\n山长水阔|0x1000000|100\n山长水远|0x1000000|1067\n山川米聚|0x1000000|100\n山慈菇|0x100000|1251\n山大王|0x100000|45376\n山丹丹|0x100000|1055\n山丹县|0x0040|1059\n山地车|0x100000|477\n山地人|0x0000|368\n山顶洞人|0x100000|992\n山东半岛|0x0040|1443\n山东梆子|0x100000|1068\n山东大鼓|0x0008|0\n山东大学|0x0020|1227\n山东电视台|0x100000|444\n山东房地产|0x100000|369\n山东菏泽|0x100000|475\n山东济南|0x100000|561\n山东快书|0x800000|50711\n山东临沂|0x100000|513\n山东频道|0x100000|447\n山东青岛|0x100000|536\n山东人|0x100000|791\n山东省|0x0040|835\n山东省委|0x100000|451\n山东师范大学|0x0020|1470\n山东潍坊|0x100000|511\n山东烟台|0x100000|508\n山东淄博|0x100000|521\n山豆根|0x100000|1081\n山肤水豢|0x1000000|100\n山复整妆|0x0000|100\n山旮旯儿|0x100000|40869\n山冈子|0x100000|0\n山高皇帝远|0x0008|1045\n山高水长|0x1000000|979\n山高水低|0x1000000|55823\n山高水险|0x1000000|100\n山公倒载|0x1000000|100\n山光水色|0x1000000|50712\n山海关|0x0040|1317\n山海经|0x0008|831\n山寒水冷|0x0000|100\n山河表里|0x1000000|100\n山河破碎|0x1000000|939\n山河易改|0x1000000|0\n山核桃|0x100000|43970\n山洪暴发|0x800000|1016\n山洪爆发|0x0008|2\n山呼海啸|0x800000|1014\n山回路转|0x800000|1161\n山鸡舞镜|0x1000000|1298\n山积波委|0x1000000|100\n山间盆地|0x0008|0\n山节藻棁|0x1000000|100\n山砠水厓|0x1000000|100\n山口百惠|0x0080|939\n山口智子|0x0080|0\n山枯石死|0x1000000|100\n山亏一篑|0x1400000|0\n山里红|0x100000|45681\n山林隐逸|0x1000000|1320\n山溜穿石|0x1000000|100\n山路小学|0x100000|377\n山毛榉|0x100000|49942\n山眉水眼|0x0000|100\n山盟海誓|0x1000000|46877\n山明水秀|0x1000000|959\n山鸣谷应|0x800000|1188\n山木自寇|0x0000|100\n山南海北|0x1000000|48114\n山坡地|0x100000|1068\n山坡路|0x0040|0\n山栖谷饮|0x1000000|100\n山栖谷隐|0x1000000|100\n山崎龙二|0x400080|0\n山青水秀|0x1000000|900\n山清水秀|0x1000000|25150\n山穷水断|0x1000000|100\n山穷水尽|0x1000000|29134\n山穷水绝|0x1000000|100\n山泉水|0x100000|455\n山容海纳|0x1000000|100\n山锐则不高|0x0008|100\n山山水水|0x100000|855\n山上无老虎|0x0008|1271\n山水画|0x100000|15796\n山水诗|0x0008|400\n山水图|0x100000|393\n山水相连|0x800000|1080\n山童石烂|0x1000000|100\n山头主义|0x0008|1176\n山颓木坏|0x1000000|100\n山西梆子|0x100000|53920\n山西大同|0x100000|466\n山西大学|0x100000|465\n山西旅游|0x100000|416\n山西人|0x100000|895\n山西省|0x0040|992\n山西太原|0x100000|527\n山行海宿|0x1000000|100\n山羊胡|0x100000|1068\n山羊胡子|0x0000|48853\n山羊皮|0x0008|1025\n山羊绒|0x100000|424\n山羊肉|0x100000|1180\n山阳县|0x0040|1650\n山肴海错|0x0000|100\n山肴野蔌|0x1000000|1318\n山殽野湋|0x1000000|100\n山摇地动|0x1000000|1120\n山遥路远|0x0000|100\n山遥水远|0x1000000|100\n山药蛋|0x100000|36364\n山阴乘兴|0x1000000|100\n山阴道上|0x8000|1246\n山阴县|0x0040|1039\n山阴夜雪|0x1000000|100\n山吟泽唱|0x1000000|100\n山雨欲来|0x1000000|475\n山雨欲来风满楼|0x0008|863\n山岳冰川|0x0008|0\n山楂糕|0x0000|55444\n山楂红蜘蛛|0x0008|0\n山楂片|0x100000|1013\n山楂树|0x100000|400\n山珍海错|0x1000000|100\n山珍海味|0x1000000|27875\n山芝麻|0x0008|0\n山止川行|0x1000000|100\n山志学|0x0008|0\n山峙渊渟|0x1000000|100\n山中无好汉|0x0008|1263\n山中宰相|0x0000|100\n山重水复|0x1000000|901\n山茱萸|0x100000|1014\n山竹子|0x0008|0\n山陬海澨|0x1000000|100\n删繁就简|0x1000000|46564\n删华就素|0x1000000|100\n删节号|0x100000|1221\n芟繁就简|0x0000|100\n姗姗来迟|0x1000000|33812\n珊瑚虫|0x100000|54467\n珊瑚岛|0x100000|43258\n珊瑚礁|0x100000|25720\n珊瑚石|0x100000|1131\n珊瑚在网|0x1000000|100\n珊珊来迟|0x1000000|1089\n煽动性|0x100000|857\n煽风点火|0x1000000|40437\n潸然泪下|0x1000000|28489\n闪存卡|0x100000|734\n闪存盘|0x0008|1398\n闪电式|0x20000000|1003\n闪电侠|0x100000|437\n闪电战|0x100000|51549\n闪光弹|0x100000|1005\n闪光灯|0x100000|30433\n闪光点|0x100000|34086\n闪击战|0x0008|1097\n闪闪烁烁|0x0100|912\n闪烁其词|0x1000000|45378\n闪烁其辞|0x1000000|1046\n闪锌矿|0x100000|1276\n陕甘宁|0x0040|979\n陕甘宁边区|0x0008|1682\n陕西梆子|0x100000|1129\n陕西电信|0x100000|421\n陕西国力|0x100000|438\n陕西科技大学|0x100000|395\n陕西省|0x0040|987\n陕西西安|0x100000|547\n讪皮讪脸|0x1000000|100\n讪牙闲嗑|0x1000000|100\n汕头大学|0x0020|1437\n汕头市|0x0040|1056\n汕尾市|0x0040|1451\n苫眼铺眉|0x0000|100\n扇风点火|0x1000000|1143\n扇风机|0x100000|1275\n扇骨子|0x100000|1309\n扇火止沸|0x0000|100\n扇面儿|0x100000|51550\n扇三角洲相|0x400000|0\n扇席温枕|0x1000000|100\n扇枕温被|0x800000|100\n扇枕温衾|0x1000000|100\n扇枕温席|0x1000000|100\n扇坠儿|0x100000|0\n扇子舞|0x100000|1013\n善罢干休|0x1000000|1080\n善罢甘休|0x800000|35416\n善本书|0x100000|1187\n善财难舍|0x0000|100\n善刀而藏|0x1000000|100\n善贾而沽|0x1000000|100\n善解人意|0x800000|25282\n善马熟人|0x1000000|100\n善眉善眼|0x1000000|100\n善门难开|0x1000000|1536\n善男信女|0x1000000|36525\n善骑者堕|0x0000|100\n善气迎人|0x1000000|100\n善善从长|0x1000000|100\n善善恶恶|0x1000000|1216\n善始令终|0x1000000|100\n善始善终|0x1000000|33814\n善颂善祷|0x1000000|100\n善为说辞|0x0000|100\n善文能武|0x0000|100\n善游者溺|0x1000000|100\n善有善报|0x800000|920\n善与人交|0x0000|100\n善者不来|0x1000000|1033\n善自为谋|0x1000000|1535\n鄯善县|0x0040|1608\n缮甲治兵|0x0000|100\n擅壑专丘|0x1000000|100\n擅离职守|0x1000000|42529\n擅作威福|0x0000|100\n膳食费|0x100000|1260\n膳宿费|0x100000|0\n赡养费|0x100000|835\n伤病员|0x100000|26350\n伤残人|0x100000|45090\n伤风败化|0x1000000|100\n伤风败俗|0x1000000|42025\n伤弓之鸟|0x1000000|100\n伤害事故|0x100000|482\n伤害罪|0x100000|942\n伤寒病|0x100000|372\n伤寒论|0x100000|978\n伤痕累累|0x800000|629\n伤痕文学|0x0000|49944\n伤化败俗|0x1000000|100\n伤教败俗|0x1000000|100\n伤筋动骨|0x1000000|43737\n伤脑筋|0x40000000|26700\n伤天害理|0x1000000|32924\n伤亡人数|0x0000|454\n伤亡事故|0x0008|900\n伤心惨目|0x1000000|1267\n伤心蒿目|0x1000000|100\n伤心疾首|0x1000000|100\n伤心事|0x100000|813\n伤言扎语|0x1000000|100\n商标代理|0x100000|494\n商标法|0x100000|886\n商标局|0x100000|551\n商标权|0x100000|857\n商标设计|0x100000|466\n商标印刷机|0x100000|397\n商标注册|0x100000|602\n商城县|0x0040|1047\n商船队|0x100000|1143\n商都县|0x0040|1138\n商法典|0x100000|1154\n商河县|0x0040|1594\n商会会长|0x100000|467\n商检局|0x100000|1578\n商量一下|0x400000|2\n商洛市|0x0040|1547\n商贸城|0x100000|538\n商贸信息|0x100000|504\n商贸有限公司|0x100000|646\n商贸有限责任|0x100000|500\n商南县|0x0040|1048\n商品编号|0x100000|663\n商品房|0x100000|9473\n商品房价格|0x100000|486\n商品房买卖合同|0x100000|505\n商品化|0x1000|15213\n商品价格|0x100000|717\n商品检验|0x0008|927\n商品交换|0x0008|1\n商品交易|0x100000|520\n商品交易会|0x0000|518\n商品交易所|0x0008|911\n商品经济|0x100000|9581\n商品粮|0x100000|17287\n商品流通|0x800000|890\n商品流通费|0x100000|0\n商品流转|0x0008|0\n商品率|0x100000|1125\n商品名|0x100000|556\n商品名称|0x100000|722\n商品目录|0x0000|522\n商品生产|0x800000|907\n商品市场|0x0000|529\n商品输出|0x0008|0\n商品信息|0x100000|671\n商品性|0x100000|1078\n商品学|0x100000|373\n商品猪|0x100000|420\n商品住宅|0x100000|566\n商品资本|0x0008|0\n商铺投资|0x100000|475\n商丘市|0x0040|1298\n商人资本|0x0008|0\n商水县|0x0040|1632\n商务办事处|0x100000|640\n商务部|0x100000|957\n商务部长|0x100000|954\n商务车|0x100000|520\n商务处|0x100000|1606\n商务大厦|0x100000|494\n商务电话|0x100000|444\n商务调查|0x100000|476\n商务会议|0x100000|842\n商务活动|0x100000|540\n商务酒店|0x100000|511\n商务局|0x100000|499\n商务考察|0x100000|857\n商务快车|0x100000|587\n商务礼品|0x100000|489\n商务礼仪|0x100000|498\n商务楼|0x100000|522\n商务旅行|0x100000|792\n商务论坛|0x100000|487\n商务平台|0x100000|606\n商务洽谈|0x100000|915\n商务签证|0x100000|471\n商务人士|0x100000|536\n商务师|0x100000|502\n商务厅|0x100000|481\n商务通|0x0008|1147\n商务信息|0x100000|586\n商务印书馆|0x0020|1322\n商务英语|0x100000|708\n商务有限公司|0x100000|553\n商务中心|0x100000|605\n商学院|0x100000|663\n商业版|0x100000|581\n商业保险|0x100000|497\n商业部|0x100000|1536\n商业部门|0x100000|1057\n商业贷款|0x100000|482\n商业道德|0x100000|455\n商业地产|0x100000|610\n商业港|0x0040|1\n商业广场|0x100000|499\n商业广告|0x0008|764\n商业化|0x1000|700\n商业活动|0x100000|553\n商业伙伴|0x100000|529\n商业机构|0x100000|845\n商业机会|0x100000|646\n商业价值|0x0000|544\n商业街|0x100000|17208\n商业界|0x100000|46879\n商业局|0x100000|880\n商业空间|0x100000|445\n商业利润|0x0008|0\n商业联合会|0x100000|461\n商业贸易|0x100000|694\n商业秘密|0x100000|796\n商业模式|0x100000|576\n商业企业|0x0008|5\n商业区|0x100000|769\n商业软件|0x100000|778\n商业网|0x100000|599\n商业网站|0x0000|549\n商业心理学|0x0008|0\n商业信息|0x100000|634\n商业性|0x100000|721\n商业移民|0x100000|412\n商业银行|0x100000|1022\n商业中心|0x0008|564\n商业资本|0x0008|1\n商业资讯|0x100000|515\n商彝夏鼎|0x1000000|100\n商彝周鼎|0x0000|100\n商住楼|0x100000|851\n觞酒豆肉|0x1000000|100\n赏不当功|0x1000000|100\n赏不逾日|0x1000000|100\n赏不逾时|0x1000000|100\n赏罚不明|0x0000|100\n赏罚分明|0x1000000|40642\n赏罚信明|0x1000000|100\n赏罚严明|0x1000000|1263\n赏高罚下|0x1000000|100\n赏功罚罪|0x1000000|1406\n赏劳罚罪|0x1000000|100\n赏立诛必|0x1000000|100\n赏奇析疑|0x1000000|100\n赏善罚恶|0x1000000|1136\n赏善罚否|0x1000000|100\n赏同罚异|0x1000000|100\n赏贤罚暴|0x1000000|100\n赏贤使能|0x1000000|0\n赏心乐事|0x1000000|997\n赏心悦目|0x1000000|18514\n赏信罚必|0x1000000|100\n赏信罚明|0x1000000|100\n赏一劝百|0x401000|0\n赏一劝众|0x400000|100\n上班时间|0x0000|575\n上班族|0x100000|30537\n上半部|0x0000|502\n上半场|0x100000|684\n上半年|0x4000|3311\n上半晌|0x4000|1327\n上半身|0x100000|748\n上半时|0x100000|20516\n上半天|0x4000|35869\n上半夜|0x4000|44214\n上半月|0x0000|51551\n上辈子|0x100000|45683\n上兵伐谋|0x0000|100\n上不来|0x1000|475\n上不去|0x1000|24787\n上不着天|0x800000|1028\n上蔡县|0x0040|1611\n上厕所|0x0000|636\n上层建筑|0x800000|10080\n上层社会|0x0000|450\n上谄下渎|0x0000|100\n上场门|0x100000|1363\n上传下达|0x800000|1038\n上传下载|0x100000|874\n上蹿下跳|0x800000|47474\n上窜下跳|0x1000000|45379\n上当受骗|0x0000|586\n上当学乖|0x1000000|100\n上党梆子|0x0008|1216\n上档次|0x0000|24788\n上等兵|0x100000|961\n上等货|0x100000|1171\n上调和函数|0x0008|0\n上方宝剑|0x100000|1190\n上方不足|0x800000|100\n上方剑|0x100000|1398\n上飞机|0x0000|526\n上甘岭|0x0040|1478\n上竿掇梯|0x1000000|100\n上岗证|0x100000|879\n上纲上线|0x800000|40870\n上高县|0x0040|1610\n上个世纪|0x0008|1142\n上个月|0x4000|658\n上根大器|0x1000000|100\n上古史|0x0008|1134\n上官云珠|0x0080|1186\n上广电|0x0008|955\n上轨道|0x1000|45091\n上海办事处|0x100000|495\n上海贝尔|0x100000|491\n上海本地|0x100000|481\n上海宾馆|0x100000|430\n上海财经|0x100000|526\n上海财经大学|0x100000|518\n上海大众|0x0020|1134\n上海大众汽车|0x100000|437\n上海地区|0x100000|581\n上海地铁|0x100000|460\n上海电视台|0x100000|505\n上海电信|0x100000|594\n上海东方|0x100000|565\n上海翻译|0x100000|534\n上海房产|0x100000|496\n上海房地产|0x100000|523\n上海飞机票|0x100000|469\n上海分公司|0x100000|549\n上海分行|0x100000|511\n上海复旦|0x100000|469\n上海复旦大学|0x100000|429\n上海港|0x100000|1440\n上海古籍出版社|0x0020|1488\n上海国际|0x100000|639\n上海话|0x100000|505\n上海机票|0x100000|563\n上海家政|0x100000|393\n上海交大|0x0020|786\n上海交通|0x100000|578\n上海交通大学|0x100000|554\n上海卷|0x100000|441\n上海旅行社|0x100000|380\n上海浦东|0x0020|954\n上海热线|0x100000|693\n上海人|0x100000|672\n上海人才|0x100000|499\n上海人才市场|0x100000|404\n上海人民出版社|0x0020|1477\n上海师大|0x100000|404\n上海师范大学|0x100000|511\n上海世界博览会|0x100000|374\n上海市|0x0040|782\n上海市民|0x100000|493\n上海市委|0x100000|494\n上海市政府|0x100000|529\n上海滩|0x100000|981\n上海特价机票|0x100000|504\n上海铁道大学|0x0020|1150\n上海铁路局|0x0020|1549\n上海通用汽车|0x100000|477\n上海外国语大学|0x100000|471\n上海外贸|0x100000|445\n上海文艺|0x100000|457\n上海戏剧|0x100000|473\n上海戏剧学院|0x100000|437\n上海鲜花|0x100000|415\n上海医科大学|0x100000|417\n上海证券|0x100000|579\n上海证券报|0x100000|584\n上杭县|0x0040|1560\n上好下甚|0x1000000|100\n上和下睦|0x1000000|1279\n上呼吸道|0x100000|38964\n上级领导|0x0000|531\n上交不谄|0x0000|100\n上接第一版|0x400000|0\n上进心|0x100000|35418\n上巨虚|0x0008|0\n上空装|0x0008|0\n上栗县|0x0040|1055\n上梁不正下梁歪|0x0008|1031\n上林县|0x0040|1576\n上陵下替|0x1000000|100\n上流社会|0x0000|548\n上楼去梯|0x1000000|100\n上漏下湿|0x1000000|100\n上嫚下暴|0x1000000|100\n上慢下暴|0x1000000|100\n上门服务|0x100000|722\n上南落北|0x1000000|100\n上年纪|0x1000|34225\n上皮细胞|0x0000|489\n上皮组织|0x100000|1106\n上篇上论|0x1000000|100\n上坡路|0x100000|52920\n上气不接下气|0x0008|840\n上勤下顺|0x0000|100\n上情下达|0x800000|1136\n上饶市|0x0040|1390\n上饶县|0x0040|1576\n上山下乡|0x800000|867\n上善若水|0x0000|487\n上上下下|0x100000|737\n上升时间|0x0008|1\n上市公司|0x100000|562\n上树拔梯|0x1000000|100\n上水道|0x100000|1251\n上思县|0x0040|1627\n上诉人|0x100000|1020\n上诉状|0x100000|998\n上岁数|0x1000|48857\n上台阶|0x1000|511\n上替下陵|0x1000000|100\n上天入地|0x1000000|907\n上天无路|0x800000|869\n上同调群|0x100000|0\n上吐下泻|0x800000|47179\n上推下卸|0x1000000|0\n上网费|0x100000|893\n上无片瓦|0x800000|1164\n上西天|0x1000|980\n上下班|0x1000|668\n上下册|0x100000|489\n上下床|0x100000|394\n上下级|0x100000|25843\n上下级一致|0x400000|0\n上下级之间|0x0000|417\n上下交困|0x1000000|100\n上下其手|0x1000000|51122\n上下水|0x100000|49220\n上下同门|0x0000|100\n上下同心|0x1000000|1084\n上下同欲|0x1000000|1117\n上下文|0x100000|35269\n上下文有关语言|0x0008|0\n上下一心|0x1400000|1\n上下一致|0x400000|0\n上下左右|0x800000|776\n上弦月|0x0000|462\n上星期|0x4000|738\n上行下效|0x1000000|42027\n上压力|0x100000|1082\n上眼药|0x0000|54929\n上夜班|0x1000|476\n上一个|0x400000|721\n上一阶段|0x400000|6\n上医医国|0x0000|100\n上议院|0x100000|32169\n上溢下漏|0x1000000|100\n上影线|0x100000|1093\n上犹县|0x0040|1080\n上虞市|0x0040|1274\n上雨旁风|0x1000000|100\n上元节|0x4000|52921\n上援下推|0x1000000|100\n上月份|0x504000|0\n上贼船|0x0000|55448\n上烝下报|0x0000|100\n上蒸下报|0x1000000|100\n上证指数|0x100000|555\n上肢骨|0x0008|0\n上智下愚|0x0000|100\n上中农|0x100000|46276\n上座儿|0x1000|46567\n上座率|0x100000|27877\n尚方宝剑|0x100000|29984\n尚方剑|0x100000|1286\n尚虚中馈|0x0000|100\n尚义县|0x0040|1125\n尚志市|0x0040|1570\n捎关打节|0x1000000|100\n烧高香|0x800000|48858\n烧火棍|0x100000|1068\n烧结炉|0x100000|385\n烧卖店|0x0040|0\n烧眉之急|0x0000|100\n烧琴煮鹤|0x1000000|100\n烧山火|0x0008|0\n烧蚀体|0x0008|0\n烧犀观火|0x1000000|100\n稍等一下|0x400000|0\n稍候一下|0x400000|0\n稍胜一筹|0x401000|0\n稍逊一筹|0x1400000|1\n稍纵即逝|0x1000000|26562\n勺水一脔|0x1400000|0\n勺状软骨|0x100000|1505\n韶关市|0x0040|1288\n韶华如驶|0x0000|100\n韶山市|0x0040|1616\n韶颜稚齿|0x1000000|100\n少安无躁|0x1000000|100\n少安毋躁|0x1000000|48489\n少白头|0x100000|53405\n少不得|0x800000|20917\n少不更事|0x1000000|44215\n少不经事|0x1000000|1053\n少不了|0x800000|11480\n少成若性|0x1000000|100\n少吃多餐|0x0000|396\n少吃俭用|0x1000000|100\n少东家|0x0000|52923\n少儿不宜|0x0000|551\n少儿图书馆|0x100000|385\n少儿英语|0x100000|531\n少而精|0x40000000|452\n少管所|0x0008|33964\n少见多怪|0x1000000|37232\n少林功夫|0x100000|925\n少林拳|0x100000|46881\n少林寺|0x0040|710\n少林足球|0x100000|860\n少奶奶|0x100000|8452\n少男少女|0x800000|680\n少年班|0x100000|692\n少年队|0x100000|1562\n少年儿童|0x800000|715\n少年法庭|0x0008|37060\n少年犯|0x100000|28566\n少年宫|0x100000|26281\n少年老成|0x1000000|45686\n少年老诚|0x1000000|100\n少年人|0x100000|509\n少年王|0x100000|390\n少年文学|0x100000|387\n少年先锋队|0x0020|51975\n少年行|0x100000|399\n少年游|0x100000|447\n少年之家|0x0008|873\n少年组|0x100000|1043\n少女装|0x0000|408\n少气无力|0x1000000|100\n少数服从多数|0x0000|453\n少数民族|0x100000|2499\n少数民族地区|0x0000|505\n少数派|0x100000|912\n少数人|0x0008|605\n少私寡欲|0x0000|100\n少条失教|0x1000000|100\n少头缺尾|0x1000|100\n少先队|0x0020|814\n少先队员|0x100000|903\n少小无猜|0x0000|100\n少言寡语|0x1000000|39586\n少掌柜|0x100000|47476\n少之又少|0x0008|728\n少壮不努力|0x0008|100\n少壮派|0x100000|43972\n少纵即逝|0x0000|100\n邵东县|0x0040|1478\n邵武市|0x0040|1496\n邵阳市|0x0040|1354\n邵阳县|0x0040|1565\n绍兴酒|0x100000|1043\n绍兴市|0x0040|1194\n绍兴戏|0x100000|1321\n绍兴县|0x0040|1226\n奢侈浪费|0x800000|921\n奢侈品|0x100000|27231\n舌敝唇焦|0x1000000|52924\n舌敝耳聋|0x1000000|100\n舌端月旦|0x1000000|100\n舌锋如火|0x1000000|100\n舌根音|0x100000|1335\n舌尖口快|0x0000|100\n舌尖音|0x100000|1358\n舌剑唇枪|0x1000000|1168\n舌挢不下|0x0000|100\n舌面前音|0x100000|1362\n舌桥不下|0x1000000|100\n舌系带|0x100000|1222\n舌下腺|0x100000|1265\n舌咽神经|0x0008|1220\n蛇床子|0x100000|1049\n蛇化为龙|0x1000000|100\n蛇口蜂针|0x1000000|100\n蛇食鲸吞|0x0000|100\n蛇头鼠眼|0x0000|100\n蛇纹石|0x100000|1115\n蛇蝎为心|0x0000|100\n蛇蝎心肠|0x0000|100\n蛇心佛口|0x0000|100\n蛇咬伤|0x100000|1093\n蛇影杯弓|0x1000000|100\n蛇欲吞象|0x0000|100\n舍本求末|0x1000000|1119\n舍本逐末|0x1000000|43021\n舍不得|0x1000|6469\n舍策追羊|0x1000000|100\n舍得一身剐|0x400008|0\n舍短取长|0x800000|1412\n舍己从人|0x1000000|1182\n舍己救人|0x1000|29784\n舍己就人|0x0000|100\n舍己为公|0x1000000|1334\n舍己为人|0x1000000|948\n舍己芸人|0x1000000|100\n舍近即远|0x1000000|100\n舍近求远|0x1000000|33674\n舍近务远|0x1000000|100\n舍旧谋新|0x1000|100\n舍利子|0x100000|501\n舍身求法|0x0000|52424\n舍身为国|0x1000000|1329\n舍生取义|0x1000000|39364\n舍生忘死|0x1000000|23821\n舍死忘生|0x800000|1251\n舍我其谁|0x800000|832\n舍已为公|0x1000000|1497\n设备安装工程|0x100000|456\n设备厂|0x100000|571\n设备管理|0x0008|773\n设备利用|0x0008|0\n设备利用率|0x0008|412\n设备齐全|0x100000|735\n设备有限公司|0x100000|739\n设备组|0x100000|0\n设定器|0x0008|0\n设定值|0x100000|918\n设计方案|0x100000|628\n设计费|0x100000|960\n设计规范|0x0008|556\n设计家|0x100000|994\n设计局|0x100000|1064\n设计能力|0x0008|9\n设计人|0x0008|882\n设计师|0x100000|8030\n设计室|0x100000|790\n设计所|0x100000|1390\n设计图|0x100000|807\n设计研究院|0x100000|559\n设计印刷|0x100000|495\n设计员|0x100000|959\n设计院|0x100000|689\n设计者|0x100000|720\n设圈套|0x1000|1043\n设身处地|0x1000000|19859\n设心处虑|0x1000000|100\n设心积虑|0x1000000|100\n社队企业|0x0000|38966\n社会保险|0x800000|8120\n社会保险费|0x100000|514\n社会保障|0x0008|21363\n社会保障制度|0x100000|513\n社会必要劳动|0x100000|399\n社会变迁|0x100000|458\n社会存在|0x800000|28864\n社会党|0x100000|476\n社会底层|0x100000|464\n社会地理学|0x0008|0\n社会地位|0x0000|569\n社会帝国主义|0x0008|0\n社会调查|0x0008|807\n社会动机|0x0008|0\n社会发展|0x0008|589\n社会发展十年规划|0x400000|0\n社会分工|0x800000|902\n社会风气|0x0000|542\n社会福利|0x0008|12459\n社会各界|0x0000|678\n社会工作|0x100000|48118\n社会工作者|0x100000|641\n社会公德|0x0000|536\n社会公众|0x100000|572\n社会关系|0x800000|10826\n社会观|0x100000|0\n社会化|0x1000|4256\n社会化服务体系|0x0000|434\n社会环境|0x0000|597\n社会活动|0x800000|15798\n社会活动家|0x100000|913\n社会集团购买力|0x0008|0\n社会监督|0x100000|852\n社会交往|0x0000|491\n社会教育|0x800000|38154\n社会阶层|0x100000|497\n社会进步|0x0000|576\n社会经济|0x100000|697\n社会经济结构|0x100000|378\n社会经济形态|0x0008|0\n社会科|0x100000|0\n社会科学|0x800000|3591\n社会科学院|0x0020|1165\n社会矛盾|0x100000|535\n社会民主主义|0x0008|1108\n社会名流|0x100000|464\n社会青年|0x100000|52425\n社会群体|0x100000|884\n社会沙文主义|0x0008|0\n社会上|0x100000|662\n社会生产|0x0008|2\n社会生产力|0x0000|518\n社会生活|0x0008|677\n社会生物学|0x0008|0\n社会实践|0x0008|679\n社会事务|0x100000|485\n社会团体|0x0008|701\n社会问题|0x0008|768\n社会贤达|0x1000000|1117\n社会消费品|0x100000|525\n社会效益|0x100000|7019\n社会心理|0x100000|813\n社会心理学|0x100000|900\n社会新闻|0x0008|546\n社会形态|0x800000|907\n社会性|0x100000|772\n社会学|0x100000|658\n社会学家|0x100000|812\n社会学系|0x100000|917\n社会意识|0x800000|919\n社会意识形态|0x0008|394\n社会舆论|0x0008|520\n社会责任感|0x100000|540\n社会支持|0x100000|964\n社会知觉|0x0008|0\n社会制度|0x100000|7872\n社会治安|0x0008|620\n社会治安综合治理|0x0000|530\n社会主义|0x100000|579\n社会主义初级阶段|0x0000|534\n社会主义道路|0x0000|496\n社会主义法制|0x0008|469\n社会主义改造|0x0008|463\n社会主义革命|0x0008|470\n社会主义公有制|0x0008|424\n社会主义国家|0x0008|532\n社会主义和谐社会|0x100000|570\n社会主义积累|0x0008|0\n社会主义建设|0x0008|539\n社会主义经济|0x0008|499\n社会主义理论|0x100000|472\n社会主义民主|0x0008|535\n社会主义民主政治|0x100000|482\n社会主义市场经济|0x100000|650\n社会主义事业|0x100000|559\n社会主义四化建设|0x400000|0\n社会主义所有制|0x0008|0\n社会主义现代化|0x0000|601\n社会主义现代化建设|0x0000|559\n社会主义学院|0x100000|408\n社会主义者|0x100000|967\n社会主义制度|0x0008|546\n社会主义祖国|0x0000|431\n社会转型|0x0000|486\n社会总产值|0x0008|373\n社会总需求|0x100000|373\n社交界|0x100000|1005\n社交圈|0x100000|40643\n社交性|0x100000|376\n社教组|0x100000|0\n社科院|0x100000|747\n社旗县|0x0040|1627\n社区服务|0x0008|599\n社区活动|0x100000|492\n社区居委会|0x100000|528\n社区论坛|0x100000|633\n社区卫生|0x100000|553\n社鼠城狐|0x1000000|1538\n社团活动|0x100000|841\n社团组织|0x100000|905\n社威擅势|0x1000000|100\n社燕秋鸿|0x1000000|100\n射电望远镜|0x100000|30310\n射电源|0x0008|0\n射雕英雄传|0x100000|775\n射钉枪|0x0008|1155\n射洪县|0x0040|1063\n射击场|0x100000|32925\n射箭场|0x100000|1110\n射孔液|0x100000|0\n射利沽名|0x1000000|100\n射流技术|0x0008|1023\n射频放大器|0x0008|0\n射频卡|0x100000|451\n射人先射马|0x0008|1092\n射石饮羽|0x1000000|100\n射手榜|0x100000|848\n射手座|0x0000|638\n射线理论|0x0008|0\n射像止啼|0x1000000|100\n射阳县|0x0040|1419\n射影含沙|0x1000000|100\n射鱼指天|0x1000000|100\n涉案人员|0x100000|896\n涉案者|0x100000|1143\n涉笔成趣|0x1000000|1298\n涉海登山|0x0000|100\n涉及到|0x0000|698\n涉及面|0x0000|15648\n涉外婚姻|0x100000|48860\n涉外经济|0x0008|919\n涉嫌人|0x100000|1329\n赦过宥罪|0x0000|100\n摄护腺|0x100000|419\n摄魄钩魂|0x0000|100\n摄谱仪|0x100000|1268\n摄取量|0x100000|938\n摄氏度|0x100000|6698\n摄氏温标|0x100000|1259\n摄氏温度|0x100000|1124\n摄氏温度计|0x100000|1093\n摄威擅势|0x1000000|100\n摄象机|0x100000|571\n摄像管|0x100000|1296\n摄像机|0x100000|12757\n摄像机电池|0x100000|419\n摄像头|0x100000|541\n摄影测量学|0x0008|0\n摄影机|0x100000|23554\n摄影记者|0x0008|529\n摄影家|0x100000|782\n摄影棚|0x100000|40211\n摄影师|0x100000|18570\n摄影室|0x100000|1046\n摄影术|0x0008|383\n摄影艺术|0x0008|807\n摄政王|0x100000|956\n摄制组|0x100000|880\n申报材料|0x100000|541\n申报单|0x100000|1079\n申报者|0x0000|410\n申不害|0x100000|1208\n申购量|0x100000|1256\n申购人|0x0008|1219\n申购者|0x100000|1223\n申祸无良|0x0000|100\n申请报告|0x0000|510\n申请表|0x100000|705\n申请材料|0x100000|561\n申请单|0x100000|956\n申请费|0x100000|974\n申请加入|0x0000|573\n申请人|0x100000|739\n申请书|0x100000|11953\n申请者|0x100000|844\n申请专利|0x0000|534\n申诉人|0x100000|1097\n申诉状|0x100000|1112\n申通快递|0x100000|458\n申冤吐气|0x1000|100\n申扎县|0x0040|1222\n伸出手|0x0000|667\n伸懒腰|0x1000|39587\n伸舌头|0x1000|961\n伸伸手|0x100000|1087\n伸手不见十指|0x400000|0\n伸手不见五指|0x400008|3\n伸手派|0x100000|0\n伸缩尺|0x100000|1315\n伸缩缝|0x0008|993\n伸缩器|0x0008|1065\n伸缩性|0x100000|889\n伸头缩颈|0x1000|100\n伸头探脑|0x0000|54932\n伸冤理枉|0x1000000|100\n伸张正义|0x1000000|899\n身败名隳|0x1000000|100\n身败名裂|0x1000000|27402\n身板儿|0x0000|34847\n身不由己|0x1000000|20783\n身不由已|0x100000|870\n身不由主|0x1000000|1103\n身不遇时|0x1000000|100\n身残志不残|0x0008|1135\n身残志坚|0x800000|993\n身操井臼|0x1000000|100\n身单力薄|0x800000|1122\n身当其境|0x1000000|100\n身当矢石|0x1000000|100\n身非木石|0x1000000|100\n身废名裂|0x1000000|100\n身分证|0x100000|907\n身份验证|0x0000|554\n身份证|0x100000|6219\n身份证法|0x100000|382\n身份证复印件|0x100000|549\n身份证号|0x100000|543\n身份证号码|0x0000|590\n身份证件|0x100000|527\n身份证明|0x100000|575\n身高计|0x0008|0\n身后识方干|0x0008|100\n身后萧条|0x1000000|1391\n身怀绝技|0x1000000|40874\n身怀六甲|0x1400000|45092\n身寄虎吻|0x1000000|100\n身家性命|0x1000000|33562\n身价百倍|0x1000000|43023\n身价十倍|0x400000|0\n身经百战|0x1000000|29883\n身历其境|0x1000000|1033\n身历声|0x0008|0\n身临其境|0x1000000|24140\n身名俱败|0x1000000|100\n身名俱灭|0x1000000|100\n身名俱泰|0x1000000|100\n身名两泰|0x1000000|100\n身强力壮|0x1000000|31324\n身强体壮|0x800000|969\n身轻言微|0x1000000|100\n身手不凡|0x800000|42781\n身首异处|0x1000000|44806\n身首异地|0x1000000|100\n身体发肤|0x1000000|968\n身体健康|0x0000|696\n身体力行|0x1000000|10385\n身体素质|0x0008|561\n身体虚弱|0x0000|493\n身体语言|0x0000|478\n身条儿|0x0000|44807\n身土不二|0x400000|0\n身退功成|0x1000000|100\n身外之物|0x1000000|34087\n身微力薄|0x1000000|100\n身微言轻|0x0000|100\n身无长处|0x1000000|100\n身无长物|0x1000000|1057\n身无寸缕|0x1000000|1169\n身无寸铁|0x1000000|100\n身无分文|0x800000|33155\n身无立锥|0x1000000|100\n身无完肤|0x1000000|100\n身无择行|0x1000000|100\n身先朝露|0x1000000|100\n身先士众|0x1000000|100\n身先士卒|0x1000000|20026\n身显名扬|0x1000000|100\n身陷囹圄|0x1000000|941\n身心健康|0x800000|716\n身心交病|0x1000000|1368\n身心交瘁|0x1000000|1060\n身遥心迩|0x1000000|100\n身远心近|0x1000000|100\n身在曹营心在汉|0x0008|1022\n身在江湖|0x800000|767\n身在林泉|0x1000000|0\n身做身当|0x1000000|100\n绅士协定|0x100000|1344\n砷化物|0x100000|1253\n砷酸盐|0x100000|1403\n砷中毒|0x0008|372\n深爱着|0x0000|578\n深奥莫测|0x0000|100\n深闭固拒|0x1000000|1379\n深闭固距|0x1000000|100\n深壁固垒|0x1000000|100\n深不可测|0x1000000|28048\n深藏不露|0x0008|0\n深藏若虚|0x1000000|1275\n深层次|0x100000|691\n深仇大恨|0x1000000|42030\n深仇宿怨|0x1000000|100\n深仇重怨|0x0000|100\n深雠大恨|0x1000000|100\n深刺腧髓|0x1000000|100\n深得民心|0x1000000|1039\n深得人心|0x800000|999\n深度报道|0x100000|459\n深度知觉|0x0008|0\n深恶痛疾|0x1000000|1204\n深恶痛嫉|0x1000000|100\n深恶痛绝|0x1000000|19594\n深孚众望|0x800000|1162\n深根固本|0x1000000|100\n深根固柢|0x1000000|1244\n深根固蒂|0x1000000|1374\n深根宁极|0x1000000|100\n深根蟠结|0x1000000|100\n深更半夜|0x1000000|24391\n深耕细作|0x800000|51553\n深耕易耨|0x1000000|100\n深沟壁垒|0x1000000|100\n深沟高垒|0x1000000|45688\n深沟固垒|0x1000000|100\n深谷为陵|0x1000000|100\n深海鱼|0x100000|938\n深褐色|0x100000|895\n深红色|0x0000|507\n深呼吸|0x1000|32673\n深化改革|0x0000|587\n深黄色|0x100000|1014\n深灰色|0x100000|887\n深计远虑|0x1000000|100\n深加工|0x1000|23505\n深奸巨猾|0x1000000|100\n深见远虑|0x1000000|100\n深交所|0x0020|846\n深井泵|0x100000|1057\n深扃固钥|0x1000000|100\n深居简出|0x1000000|38549\n深刻领会|0x0000|511\n深刻性|0x100000|1020\n深兰色|0x0000|375\n深蓝色|0x100000|712\n深冷分离|0x0008|0\n深厉浅揭|0x1000000|100\n深绿色|0x100000|870\n深明大义|0x1000000|36036\n深铭肺腑|0x1000000|100\n深谋远虑|0x1000000|30968\n深谋远略|0x0000|100\n深切著白|0x1000000|100\n深切著明|0x1000000|100\n深切着白|0x0000|100\n深切着明|0x0000|100\n深情底理|0x1000000|100\n深情故剑|0x0000|100\n深情厚谊|0x1000000|22472\n深情厚意|0x1000000|1048\n深仁厚泽|0x1000000|1375\n深入膏肓|0x1000000|100\n深入骨髓|0x1000000|100\n深入虎穴|0x800000|969\n深入基层|0x0000|536\n深入开展|0x0000|634\n深入浅出|0x1000000|16456\n深入人心|0x1000000|718\n深入生活|0x0008|1\n深入显出|0x1000000|100\n深山长谷|0x1000000|100\n深山老林|0x1000000|37604\n深山密林|0x1000000|1065\n深山穷谷|0x1000000|1304\n深山穷林|0x1000000|100\n深山野墺|0x1000000|100\n深山幽谷|0x1000000|1146\n深深地|0x8000000|695\n深受其害|0x800000|41083\n深水稻|0x0008|0\n深水港|0x100000|946\n深水炸弹|0x100000|980\n深思苦索|0x0000|100\n深思熟虑|0x1000000|20247\n深思远虑|0x1000000|1256\n深田恭子|0x0080|858\n深图远算|0x1000000|100\n深惟重虑|0x1000000|100\n深文大义|0x1000000|100\n深文附会|0x1000000|100\n深文傅会|0x1000000|100\n深文峻法|0x1000000|100\n深文巧诋|0x1000000|100\n深文曲折|0x1000000|100\n深文周内|0x1000000|100\n深文周纳|0x1000000|1328\n深信不疑|0x1000000|25722\n深猷远计|0x1000000|100\n深有感触|0x800000|801\n深泽县|0x0040|1653\n深宅大院|0x1000000|41084\n深圳办事处|0x100000|465\n深圳宾馆|0x100000|369\n深圳大学|0x100000|507\n深圳电脑|0x100000|450\n深圳房地产|0x100000|474\n深圳飞机票|0x100000|533\n深圳分公司|0x100000|515\n深圳公交|0x100000|430\n深圳股市|0x100000|659\n深圳广告|0x100000|405\n深圳航空|0x100000|540\n深圳火车票|0x100000|504\n深圳交友|0x100000|397\n深圳酒店|0x100000|469\n深圳律师|0x100000|405\n深圳热线|0x100000|474\n深圳市|0x0040|746\n深圳市政府|0x100000|494\n深圳四通|0x400000|0\n深圳特价机票|0x100000|564\n深圳特区|0x0040|1278\n深圳晚报|0x100000|487\n深圳鲜花|0x100000|401\n深圳新闻|0x100000|390\n深圳证券|0x100000|556\n深圳装饰|0x100000|414\n深知灼见|0x0000|100\n深中笃行|0x1000000|100\n深中肯綮|0x1000000|100\n深中隐厚|0x1000000|100\n深州市|0x0040|1491\n深紫色|0x100000|0\n深棕色|0x100000|927\n神安气集|0x1000000|100\n神兵天将|0x1000000|1205\n神不附体|0x1000000|100\n神不收舍|0x1000000|100\n神不守舍|0x800000|38744\n神不知|0x800000|1039\n神不知鬼不觉|0x0008|856\n神不知鬼不晓|0x0008|100\n神采飞扬|0x1000000|768\n神采焕发|0x1000000|1159\n神采奕然|0x0000|100\n神采奕奕|0x1000000|29786\n神采英拔|0x1000000|100\n神藏鬼伏|0x1000000|100\n神差鬼遣|0x1000000|100\n神差鬼使|0x1000000|1128\n神超形越|0x1000000|100\n神池县|0x0040|1158\n神驰力困|0x1000000|100\n神抶电击|0x1000000|100\n神愁鬼哭|0x0000|100\n神出鬼没|0x1000000|29668\n神出鬼入|0x1000000|100\n神到之笔|0x1000000|100\n神道碑|0x100000|52925\n神道设教|0x0000|100\n神雕侠侣|0x100000|723\n神斗士|0x100000|389\n神短气浮|0x1000000|100\n神而明之|0x1000000|1231\n神飞气扬|0x1000000|100\n神飞色舞|0x1000000|100\n神格化|0x100000|0\n神工鬼斧|0x1000000|1201\n神工鬼力|0x1000000|100\n神工天巧|0x1000000|100\n神工意匠|0x1000000|100\n神功圣化|0x1000000|100\n神鬼不测|0x0000|100\n神鬼莫测|0x1000000|1059\n神鬼难测|0x0000|100\n神嚎鬼哭|0x1000000|100\n神号鬼哭|0x1000000|100\n神号鬼泣|0x1000000|100\n神乎其技|0x1000000|995\n神乎其神|0x1000000|38745\n神哗鬼叫|0x0000|100\n神话般|0x40000000|465\n神话传说|0x100000|809\n神话故事|0x100000|810\n神会心融|0x1000000|100\n神魂荡飏|0x1000000|100\n神魂颠倒|0x1000000|34686\n神魂飞越|0x1000000|100\n神魂飘荡|0x1000000|1223\n神魂摇荡|0x0000|100\n神机鬼械|0x1000000|100\n神机妙算|0x1000000|46278\n神机莫测|0x1000000|0\n神奸巨蠹|0x1000000|100\n神奸巨猾|0x1000000|100\n神焦鬼烂|0x1000000|100\n神经病|0x100000|18178\n神经错乱|0x800000|37970\n神经功能|0x100000|465\n神经官能症|0x0008|991\n神经管|0x100000|1058\n神经过敏|0x100000|27232\n神经节|0x0008|436\n神经节苷脂|0x0008|0\n神经科|0x100000|921\n神经末梢|0x0008|905\n神经内科|0x100000|485\n神经衰弱|0x800000|23555\n神经肽|0x0008|1143\n神经痛|0x100000|47813\n神经外科|0x100000|515\n神经网络|0x100000|865\n神经兮兮|0x0008|1\n神经系统|0x800000|715\n神经细胞|0x800000|884\n神经纤维|0x0008|1007\n神经酰胺|0x0008|0\n神经心理学|0x0008|1\n神经性|0x20000000|846\n神经性皮炎|0x0008|431\n神经学|0x0000|431\n神经炎|0x0008|990\n神经语言学|0x0008|1\n神经元|0x100000|895\n神经元模型|0x0008|0\n神经原|0x100000|1165\n神经再生|0x0008|0\n神经症|0x0008|931\n神经质|0x100000|23389\n神经中枢|0x800000|938\n神来气旺|0x1000000|100\n神来之笔|0x100000|37772\n神领意得|0x1000000|100\n神领意造|0x1000000|100\n神流气鬯|0x1000000|100\n神龙富康|0x0020|1691\n神龙见首|0x1000000|930\n神龙见首不见尾|0x0008|935\n神龙马壮|0x1000000|100\n神龙失埶|0x1000000|100\n神眉鬼道|0x1000000|100\n神眉鬼眼|0x1000000|100\n神迷意夺|0x1000000|100\n神秘岛|0x100000|475\n神秘感|0x100000|756\n神秘化|0x1000|1043\n神秘兮兮|0x0100|864\n神秘性|0x100000|948\n神秘学|0x0000|408\n神秘主义|0x0008|908\n神妙莫测|0x1000000|1205\n神灭论|0x100000|1265\n神灭形消|0x1000000|100\n神谟庙算|0x1000000|100\n神谟远算|0x1000000|100\n神谋魔道|0x1000000|100\n神木县|0x0040|1608\n神农架|0x0040|1346\n神农架林区|0x0040|1598\n神农氏|0x0000|47477\n神农溪|0x0040|1045\n神怒人怨|0x1000000|100\n神女峰|0x0040|1619\n神奇莫测|0x800000|1156\n神气活现|0x1000000|33036\n神气十足|0x1400000|0\n神牵鬼制|0x1000000|100\n神枪手|0x100000|32298\n神清骨秀|0x1000000|100\n神清气朗|0x1000000|1244\n神清气茂|0x1000000|100\n神清气爽|0x1000000|35716\n神情不属|0x1000000|100\n神情恍惚|0x0000|100\n神情自若|0x800000|1009\n神区鬼奥|0x1000000|100\n神融气泰|0x1000000|100\n神丧胆落|0x1000000|100\n神色不动|0x0000|100\n神色不惊|0x0000|100\n神色仓皇|0x0000|100\n神色张皇|0x0000|100\n神色自若|0x1000000|1033\n神射手|0x100000|933\n神神道道|0x0100|47478\n神圣不可侵犯|0x0000|479\n神圣工巧|0x1000000|100\n神圣化|0x1000|1033\n神圣罗马帝国|0x0040|1\n神圣同盟|0x100000|1126\n神施鬼设|0x1000000|100\n神使鬼差|0x800000|0\n神逝魄夺|0x1000000|100\n神枢鬼藏|0x1000000|100\n神输鬼运|0x1000000|100\n神术妙计|0x0000|100\n神思恍惚|0x1000000|1020\n神竦心惕|0x1000000|100\n神态自若|0x800000|933\n神通广大|0x1000000|842\n神头鬼脸|0x1000000|1346\n神头鬼面|0x1000000|100\n神投手|0x0008|369\n神完气足|0x1000000|1192\n神往神来|0x1000000|100\n神武挂冠|0x1000000|100\n神仙池|0x100000|388\n神仙会|0x100000|1150\n神仙姐姐|0x100000|496\n神仙下凡|0x800000|899\n神仙中人|0x1000000|1094\n神闲气定|0x800000|1119\n神闲气静|0x1000000|100\n神霄绛阙|0x1000000|100\n神学家|0x100000|971\n神学院|0x100000|944\n神摇目夺|0x1000000|100\n神摇意夺|0x0000|100\n神怡心旷|0x1000000|100\n神怿气愉|0x1000000|100\n神意自若|0x1000000|100\n神郁气悴|0x1000000|100\n神运鬼输|0x1000000|100\n神湛骨寒|0x1000000|100\n神职人员|0x100000|943\n神至之笔|0x1000000|100\n神志不清|0x0000|542\n神州赤县|0x1000000|100\n神州六号|0x100000|485\n神州陆沉|0x0000|100\n神州数码|0x100000|563\n神州行|0x100000|535\n神舟笔记本电脑|0x100000|451\n神醉心往|0x1000000|100\n沈博绝丽|0x1000000|100\n沈丘县|0x0040|1504\n沈诗任笔|0x1000000|100\n沈阳房产|0x100000|379\n沈阳酒店|0x100000|391\n沈阳军区|0x0020|1538\n沈阳市|0x0040|1034\n沈阳网上|0x100000|377\n沈腰潘鬓|0x1000000|100\n审查会|0x100000|1065\n审查委员会|0x0000|479\n审查员|0x100000|1047\n审稿人|0x100000|1076\n审几度势|0x1000000|100\n审己度人|0x0000|100\n审计报告|0x0000|567\n审计部|0x100000|1638\n审计长|0x100000|982\n审计处|0x100000|1043\n审计法|0x100000|470\n审计工作|0x100000|833\n审计局|0x100000|1253\n审计师|0x0000|43740\n审计署|0x100000|1304\n审计学|0x100000|487\n审美观|0x100000|774\n审美疲劳|0x0008|5\n审判长|0x100000|15534\n审判官|0x100000|964\n审判机关|0x0008|8\n审判监督|0x0008|980\n审判前|0x40000000|371\n审判权|0x100000|1019\n审判庭|0x100000|962\n审判员|0x100000|17872\n审批权|0x100000|933\n审曲面势|0x1000000|100\n审曲面埶|0x1000000|100\n审时度势|0x1000000|13357\n审问者|0x100000|1294\n审议会|0x100000|1110\n肾病综合征|0x0008|426\n肾病综合症|0x100000|382\n肾功能|0x100000|570\n肾积水|0x100000|390\n肾结核|0x100000|1073\n肾结石|0x100000|48121\n肾囊肿|0x100000|507\n肾上腺|0x100000|851\n肾上腺皮质|0x0008|0\n肾上腺皮质激素|0x0008|0\n肾上腺素|0x100000|856\n肾小管|0x100000|1033\n肾小球|0x100000|956\n肾盂肾炎|0x100000|433\n肾盂炎|0x100000|1276\n肾脏病|0x100000|470\n肾脏科|0x100000|1213\n甚低频|0x100000|1313\n甚而至于|0x0000|33156\n甚高频|0x100000|1144\n甚嚣尘上|0x1000000|35871\n甚于防川|0x1000000|1098\n甚至于|0x10000000|11199\n渗出物|0x0000|399\n渗漏水|0x100000|1121\n渗透剂|0x0008|1598\n渗透性|0x100000|918\n渗透压|0x100000|948\n渗透者|0x100000|1310\n慎身修永|0x1000000|100\n慎始敬终|0x1000000|1414\n慎小谨微|0x1000000|100\n慎小事微|0x1000000|100\n慎之又慎|0x800000|32170\n慎终承始|0x1000000|100\n慎终如始|0x1000000|1148\n慎终于始|0x1000000|100\n慎终追远|0x1000000|1077\n慎重其事|0x1000000|972\n蜃楼海市|0x800000|100\n升斗小民|0x800000|1093\n升官发财|0x1000000|876\n升华热|0x0008|0\n升级换代|0x0000|21685\n升降车|0x100000|1168\n升降舵|0x100000|1245\n升降机|0x100000|44511\n升降台|0x100000|950\n升降梯|0x0008|1086\n升旗仪式|0x0000|497\n升山采珠|0x1000000|100\n升堂拜母|0x0000|100\n升堂入室|0x1000000|1250\n升学考试|0x0000|481\n升学率|0x100000|19708\n生搬硬套|0x1000000|33157\n生编硬造|0x0000|55451\n生不逢辰|0x1000000|1331\n生不逢时|0x1000000|39157\n生不遇时|0x0000|100\n生财有道|0x1000000|46568\n生财之道|0x1000000|922\n生产布局|0x0008|0\n生产操|0x0008|1431\n生产测井|0x0008|0\n生产厂家|0x100000|587\n生产成本|0x0008|625\n生产大队|0x0008|1099\n生产地域综合体|0x0008|0\n生产第一线|0x400000|429\n生产队|0x100000|874\n生产额|0x100000|1262\n生产方式|0x800000|10641\n生产费|0x100000|1270\n生产工具|0x800000|19064\n生产工艺|0x0008|636\n生产关系|0x800000|7153\n生产管理|0x0008|646\n生产规划|0x0008|0\n生产国|0x100000|866\n生产过程|0x100000|808\n生产过剩|0x800000|32558\n生产合作社|0x100000|1058\n生产积极性|0x0000|452\n生产基地|0x0008|591\n生产基金|0x0008|1301\n生产技术|0x100000|607\n生产经营|0x100000|630\n生产井|0x0008|0\n生产力|0x100000|1771\n生产力布局|0x0008|412\n生产力促进|0x100000|493\n生产量|0x100000|823\n生产流程|0x0000|501\n生产率|0x100000|16348\n生产能力|0x800000|604\n生产日期|0x0000|570\n生产商|0x100000|562\n生产条件|0x0000|547\n生产物|0x100000|1134\n生产线|0x100000|6212\n生产性|0x20000000|852\n生产责任制|0x0008|481\n生产者|0x100000|779\n生产指标|0x0008|1\n生产专业化|0x100000|647\n生产资本|0x0008|0\n生产资料|0x100000|5776\n生产总值|0x100000|713\n生产组|0x100000|1174\n生长点|0x100000|27145\n生长发育|0x100000|779\n生长激素|0x100000|955\n生长率|0x0008|1261\n生长期|0x100000|23447\n生长素|0x100000|37410\n生长习性|0x0008|0\n生长因子|0x0000|492\n生长锥|0x0008|0\n生辰八字|0x400000|38746\n生成器|0x100000|768\n生成物|0x100000|1091\n生齿日繁|0x0000|100\n生存斗争|0x100000|1117\n生存环境|0x0000|554\n生存率|0x100000|997\n生存权|0x100000|925\n生地黄|0x0008|1132\n生动活泼|0x800000|820\n生栋覆屋|0x1000000|100\n生儿育女|0x800000|26151\n生而知之|0x1000000|1067\n生发未燥|0x1000000|100\n生公说法|0x0000|100\n生关死劫|0x1000000|100\n生孩子|0x0000|601\n生花妙笔|0x100000|52928\n生花之笔|0x1000000|1294\n生化二号|0x400000|0\n生化三号|0x400000|0\n生化危机|0x100000|764\n生化学|0x100000|1072\n生化一号|0x400000|0\n生还者|0x100000|929\n生活必需品|0x100000|863\n生活待遇|0x0008|9\n生活方式|0x100000|5264\n生活费|0x100000|8705\n生活服务|0x100000|617\n生活环境|0x100000|691\n生活会|0x100000|658\n生活间|0x0008|0\n生活空间|0x100000|730\n生活力|0x0008|0\n生活片|0x0008|1552\n生活情况|0x100000|901\n生活区|0x100000|802\n生活圈|0x100000|829\n生活热水|0x100000|395\n生活时报|0x100000|960\n生活史|0x100000|1014\n生活手册|0x100000|384\n生活水平|0x0000|652\n生活习惯|0x0000|609\n生活型|0x100000|1095\n生活用品|0x0008|697\n生活用水|0x100000|516\n生活照|0x100000|49223\n生活资料|0x800000|19495\n生活作风|0x0000|460\n生机盎然|0x800000|848\n生机勃勃|0x800000|13942\n生寄死归|0x0000|100\n生津止渴|0x800000|934\n生聚教训|0x1000000|100\n生拉硬扯|0x1000000|1122\n生拉硬拽|0x800000|51978\n生老病死|0x1000000|28764\n生离死别|0x1000000|30434\n生理反应|0x0000|487\n生理功能|0x100000|515\n生理期|0x100000|462\n生理卫生|0x100000|948\n生理心理学|0x0008|1130\n生理需求|0x100000|450\n生理学|0x100000|775\n生理学家|0x100000|1015\n生理盐水|0x100000|53407\n生力军|0x100000|14354\n生灵涂地|0x0000|100\n生灵涂炭|0x1000000|36529\n生龙活虎|0x1000000|27067\n生闷气|0x0000|36037\n生猛海鲜|0x800000|983\n生米煮成熟饭|0x0008|998\n生米做成熟饭|0x0000|100\n生民涂炭|0x0000|100\n生命安全|0x100000|564\n生命保险|0x100000|375\n生命科学|0x0008|737\n生命力|0x100000|5119\n生命史|0x100000|1126\n生命体|0x100000|537\n生命统计|0x0008|0\n生命线|0x100000|13274\n生命学|0x100000|1221\n生命攸关|0x800000|1\n生命在于运动|0x0000|443\n生命周期|0x100000|579\n生男生女|0x0000|466\n生啤酒|0x0008|47815\n生僻字|0x0008|1023\n生平事迹|0x100000|949\n生气勃勃|0x1000000|23128\n生日蛋糕|0x100000|759\n生日歌|0x100000|440\n生日卡|0x100000|990\n生日快乐|0x0000|671\n生日礼品|0x100000|452\n生日礼物|0x0000|591\n生荣死哀|0x1000000|53408\n生荣死衰|0x0000|100\n生桑之梦|0x800000|1257\n生杀予夺|0x1000000|39588\n生生不息|0x1000000|21279\n生生不已|0x800000|1160\n生生世世|0x1000000|49224\n生生死死|0x800000|825\n生石膏|0x100000|1137\n生石灰|0x100000|39158\n生死不渝|0x1000000|1056\n生死簿|0x0000|51127\n生死存亡|0x1000000|16778\n生死关头|0x1000000|869\n生死观|0x100000|46884\n生死劫|0x100000|454\n生死肉骨|0x800000|1536\n生死未卜|0x0000|49949\n生死线|0x100000|935\n生死相依|0x1000000|976\n生死攸关|0x1000000|33310\n生死有命|0x800000|1028\n生死予夺|0x0000|100\n生死与共|0x1000000|39159\n生死之交|0x1000000|43742\n生态工程|0x0000|18306\n生态环境|0x100000|3963\n生态建设|0x0000|547\n生态景观|0x100000|435\n生态科学|0x0000|49950\n生态旅游|0x100000|42783\n生态农业|0x100000|42286\n生态平衡|0x100000|14991\n生态区|0x0008|994\n生态群|0x0008|0\n生态危机|0x0008|3\n生态系|0x0008|0\n生态系统|0x0008|577\n生态效益|0x0000|483\n生态型|0x100000|476\n生态学|0x100000|823\n生态学家|0x100000|1090\n生态园|0x100000|508\n生态园林|0x100000|419\n生吞活剥|0x1000000|40876\n生拖死拽|0x0000|100\n生物地理学|0x0008|942\n生物电|0x0008|48861\n生物电流|0x100000|1094\n生物多样性|0x100000|529\n生物反应器|0x0000|421\n生物防治|0x100000|28304\n生物肥|0x100000|403\n生物肥料|0x0000|404\n生物工程|0x100000|642\n生物工程有限公司|0x100000|492\n生物谷|0x100000|458\n生物固氮|0x0008|0\n生物化工|0x100000|464\n生物化学|0x100000|757\n生物技术|0x0008|654\n生物碱|0x0008|936\n生物降解|0x0008|457\n生物界|0x0008|988\n生物科技|0x100000|611\n生物科技有限公司|0x100000|540\n生物科学|0x100000|502\n生物课|0x100000|916\n生物力学|0x0008|0\n生物链|0x100000|46570\n生物量|0x100000|1135\n生物酶|0x100000|413\n生物膜|0x0008|0\n生物能|0x0008|1027\n生物农药|0x100000|455\n生物圈|0x100000|20290\n生物群|0x100000|1094\n生物群落|0x0008|0\n生物入侵|0x0008|0\n生物试卷|0x100000|393\n生物试题|0x100000|395\n生物素|0x0008|0\n生物体|0x100000|909\n生物卫星|0x0008|0\n生物武器|0x800000|28131\n生物物理学|0x0008|1048\n生物系|0x100000|894\n生物显微镜|0x100000|435\n生物心理学|0x0008|0\n生物芯片|0x4000000|1549\n生物学|0x100000|664\n生物学家|0x100000|843\n生物医学|0x100000|527\n生物医药|0x100000|552\n生物苑|0x0040|0\n生物制剂|0x100000|446\n生物制品|0x100000|24190\n生物制药|0x100000|802\n生物质能|0x100000|988\n生物钟|0x100000|29349\n生物主义|0x100000|0\n生物转化|0x0008|0\n生物资源|0x100000|482\n生小孩|0x0000|526\n生涯规划|0x0008|543\n生意盎然|0x800000|1081\n生意经|0x100000|32804\n生意人|0x100000|765\n生意兴隆|0x1000000|748\n生于忧患|0x1000000|926\n生鱼片|0x100000|41545\n生育率|0x100000|988\n生育能力|0x0000|502\n生张熟魏|0x800000|1379\n生殖洄游|0x100000|1332\n生殖力|0x100000|1102\n生殖器|0x100000|30540\n生殖器官|0x0000|536\n生殖器疱疹|0x100000|459\n生殖系统|0x0000|519\n生殖细胞|0x100000|1038\n生殖腺|0x100000|1158\n生众食寡|0x1000000|100\n声波测井|0x0008|0\n声东击西|0x1000000|38550\n声动梁尘|0x1000000|100\n声级计|0x0008|1490\n声价十倍|0xc00000|0\n声乐家|0x100000|1138\n声泪俱下|0x1000000|27481\n声名大噪|0x1000000|950\n声名狼籍|0x1000000|1057\n声名狼藉|0x1000000|40000\n声名鹊起|0x1000000|36530\n声名显赫|0x800000|919\n声名远播|0x800000|943\n声明书|0x0008|997\n声纳兵|0x100000|1358\n声能通量|0x0008|0\n声能学|0x0008|0\n声气相求|0x1000000|100\n声气相通|0x1000000|100\n声气相投|0x1000000|100\n声情并茂|0x800000|28212\n声求气应|0x0000|100\n声全息图|0x0008|0\n声如洪钟|0x800000|1048\n声如银铃|0x800000|1334\n声色狗马|0x0000|100\n声色货利|0x1000000|1280\n声色俱厉|0x1000000|29669\n声色犬马|0x1000000|44512\n声势浩大|0x1000000|811\n声嘶力竭|0x1000000|25283\n声威大震|0x1000000|100\n声闻过情|0x1000000|100\n声希味淡|0x0000|100\n声学环境|0x0008|0\n声学家|0x100000|1362\n声音文件|0x0000|540\n声音笑貌|0x1000000|1255\n声应气求|0x1000000|100\n声誉鹊起|0x800000|1102\n声韵学|0x100000|1270\n声振寰宇|0x0000|100\n声振林木|0x1000000|100\n声振屋瓦|0x0000|100\n声阻抗|0x0008|0\n声罪致讨|0x1000000|1326\n牲口棚|0x100000|1216\n胜败乃兵家常事|0x0008|1069\n胜不骄|0x800000|1030\n胜残去杀|0x1000000|1319\n胜读十年书|0x400000|979\n胜负彩|0x100000|555\n胜过一个诸葛亮|0x400000|0\n胜利果实|0x800000|949\n胜利油田|0x100000|500\n胜利者|0x100000|723\n胜券在握|0x800000|915\n胜人一筹|0x1400000|2\n胜任愉快|0x1000000|100\n胜友如云|0x0000|100\n胜造七级浮屠|0x400008|0\n胜者为王|0x100000|863\n笙歌鼎沸|0x0000|100\n笙磬同音|0x1000000|100\n鼪鼯之径|0x1000000|100\n鼪鼬之迳|0x1000000|100\n渑池县|0x0040|1539\n渑池之功|0x0000|100\n绳床瓦灶|0x1000000|100\n绳锯木断|0x1000000|1138\n绳厥祖武|0x0000|100\n绳捆索绑|0x1000|0\n绳墨之言|0x0000|100\n绳其祖武|0x1000000|1536\n绳愆纠谬|0x1000000|100\n绳愆纠缪|0x0000|100\n绳趋尺步|0x1000000|100\n绳枢瓮牖|0x0000|100\n绳之以法|0x1000000|21640\n省部级|0x100000|809\n省吃俭用|0x1000000|23822\n省烦从简|0x0000|100\n省级机关|0x100000|454\n省级重点|0x100000|508\n省纪委|0x100000|963\n省军区|0x100000|957\n省略号|0x100000|51128\n省煤器|0x100000|1147\n省时省力|0x800000|860\n省市区|0x100000|872\n省委常委|0x100000|547\n省委党校|0x0040|1547\n省委书记|0x100000|1018\n省委员会|0x0000|427\n省委组织部|0x100000|509\n省辖市|0x100000|27068\n省油灯|0x800000|1190\n省政府|0x100000|687\n省直机关|0x0000|484\n圣保罗|0x0040|1326\n圣诞版|0x100000|438\n圣诞节|0x100000|15863\n圣诞卡|0x100000|51557\n圣诞老人|0x100000|28765\n圣诞礼品|0x100000|463\n圣诞树|0x100000|36876\n圣诞夜|0x100000|536\n圣地亚哥|0x100000|500\n圣帝明王|0x0000|100\n圣斗士|0x100000|648\n圣多美|0x0040|1067\n圣经贤传|0x100000|1300\n圣君贤相|0x0000|100\n圣马力诺|0x0040|1557\n圣骑士|0x100000|650\n圣神文武|0x0000|100\n圣约翰|0x0040|1456\n圣约瑟|0x0040|1121\n圣主垂衣|0x0000|100\n盛必虑衰|0x0000|100\n盛大传奇|0x100000|473\n盛大网络|0x100000|520\n盛极而衰|0x800000|1034\n盛极一时|0x1400000|39160\n盛况空前|0x800000|876\n盛名难副|0x1000000|1368\n盛名之下|0x1000000|958\n盛气凌人|0x1000000|28766\n盛情款待|0x1000|998\n盛情难却|0x800000|37062\n盛食厉兵|0x1000000|100\n盛衰荣辱|0x1000000|1296\n盛衰兴废|0x1000000|100\n盛水不漏|0x0000|100\n盛行一时|0x400000|0\n盛筵必散|0x0000|100\n盛筵难再|0x1000000|100\n盛宴难再|0x1000000|100\n剩菜残羹|0x1000000|100\n剩馥残膏|0x1000000|100\n剩山残水|0x1000000|100\n剩水残山|0x1000000|100\n剩余产品|0x800000|730\n剩余价值|0x800000|893\n剩余价值率|0x100000|1223\n剩余劳动|0x800000|906\n剩余劳动力|0x100000|849\n剩余时间|0x100000|600\n剩余物|0x100000|1133\n嵊泗县|0x0040|1630\n嵊州市|0x0040|1355\n尸骨未寒|0x800000|1060\n尸横遍野|0x1000000|41548\n尸鸠之平|0x0000|100\n尸居龙见|0x1000000|100\n尸居余气|0x1000000|1283\n尸禄素飡|0x1000000|100\n尸禄素餐|0x1000000|100\n尸山血海|0x1000000|1182\n尸位素餐|0x1000000|47181\n失败为成功之母|0x0008|1201\n失败者|0x100000|690\n失不再来|0x800000|1000\n失道寡助|0x1000000|44808\n失地农民|0x100000|517\n失读症|0x0008|0\n失而复得|0x1000000|787\n失魂荡魄|0x1000000|100\n失魂落魄|0x1000000|30435\n失魂丧胆|0x1000000|100\n失魂丧魄|0x1000000|100\n失节事大|0x1000000|0\n失惊打怪|0x1000000|100\n失惊倒怪|0x1000000|100\n失精落彩|0x1000000|100\n失落感|0x100000|753\n失马塞翁|0x1000000|100\n失眠症|0x100000|879\n失人者亡|0x0000|100\n失时落势|0x1000000|100\n失物招领|0x100000|878\n失效分布|0x0008|0\n失笑散|0x0008|0\n失学率|0x0000|55455\n失业保险金|0x100000|489\n失业工人|0x0008|1\n失业率|0x100000|804\n失业人数|0x0008|3\n失业者|0x100000|938\n失音症|0x0008|0\n失语症|0x0008|52929\n失张冒势|0x1000000|100\n失张失志|0x1000000|100\n失张失致|0x1000000|100\n失张失智|0x1000000|100\n失真度|0x0000|435\n失之东隅|0x1000000|1023\n失之毫厘|0x1000000|1029\n失之交臂|0x1000000|27148\n失之千里|0x1000000|1075\n失诸交臂|0x1000000|1241\n失踪者|0x100000|1009\n失足者|0x100000|1169\n师出无名|0x1000000|45386\n师出有名|0x1000000|1048\n师大附中|0x100000|474\n师大路|0x0040|0\n师道尊严|0x1000000|51130\n师范大学|0x100000|565\n师范大学出版社|0x100000|456\n师范高等专科学校|0x100000|466\n师范教育|0x0008|594\n师范类|0x100000|487\n师范生|0x100000|866\n师范学校|0x800000|790\n师范学院|0x100000|680\n师范院校|0x100000|876\n师范专科学校|0x100000|448\n师傅领进门|0x0008|1034\n师老兵疲|0x1000000|100\n师老兵破|0x1000000|100\n师生关系|0x100000|550\n师生恋|0x0008|878\n师生员工|0x100000|963\n师师长|0x100000|505\n师心自是|0x0000|100\n师心自用|0x1000000|1307\n师兄弟|0x0008|37414\n师严道尊|0x0000|100\n师直为壮|0x1000000|100\n师资队伍|0x100000|796\n师宗县|0x0040|1053\n虱处裈中|0x0000|100\n虱多不痒|0x1000000|100\n虱胫虮肝|0x1000000|100\n诗肠鼓吹|0x1000000|100\n诗词歌赋|0x100000|780\n诗歌创作|0x100000|447\n诗歌集|0x100000|392\n诗歌散文|0x100000|769\n诗歌选|0x100000|368\n诗家三昧|0x1400000|0\n诗酒风流|0x1000000|1252\n诗酒朋侪|0x0000|100\n诗礼传家|0x1000000|1288\n诗礼人家|0x1000000|100\n诗礼之家|0x1000000|1359\n诗礼之训|0x1000000|100\n诗朋酒侣|0x1000000|100\n诗朋酒友|0x1000000|100\n诗情画意|0x1000000|22591\n诗书发冢|0x1000000|100\n诗书门第|0x100000|1201\n诗庭之训|0x1000000|100\n诗文集|0x100000|1027\n诗以言志|0x0000|100\n诗云子曰|0x1000000|1368\n诗中有画|0x1000000|100\n施秉县|0x0040|1100\n施甸县|0x0040|1062\n施恩布德|0x0080|0\n施而不费|0x0000|100\n施绯拖绿|0x1000000|100\n施工单位|0x0008|597\n施工队|0x100000|845\n施工方|0x100000|937\n施工工艺|0x100000|528\n施工进度|0x0000|479\n施工期|0x100000|1076\n施工人员|0x0000|530\n施工图|0x100000|808\n施工现场|0x0008|576\n施工组织设计|0x0000|512\n施号发令|0x1000000|100\n施衿结褵|0x1000000|100\n施密特|0x0040|1477\n施密特触发器|0x0008|0\n施命发号|0x1000000|100\n施仁布德|0x0080|100\n施施而行|0x0000|100\n施泰纳三元系|0x400000|0\n施特劳斯|0x0080|1491\n施瓦辛格|0x0080|1362\n施朱傅粉|0x1000000|1387\n狮泉河|0x0040|1101\n狮身人面像|0x100000|1006\n狮象搏兔|0x1000000|0\n狮心王|0x0000|388\n狮子鼻|0x100000|1246\n狮子搏兔|0x1000|1226\n狮子大开口|0x0008|50333\n狮子狗|0x100000|48124\n狮子会|0x100000|1015\n狮子山|0x0040|1496\n狮子头|0x100000|36531\n狮子王|0x100000|530\n狮子舞|0x100000|48862\n狮子座|0x0008|1027\n湿地松|0x100000|1147\n湿度表|0x100000|1205\n湿度计|0x100000|874\n湿度器|0x100000|0\n湿乎乎|0x1000000|47480\n湿空气|0x0000|377\n湿淋淋|0x0100|26153\n湿漉漉|0x0100|16190\n湿肉伴干柴|0x0008|1355\n湿润剂|0x0008|1\n湿润气候|0x0008|2\n溼度器|0x100000|0\n十八般兵器|0x400000|1030\n十八般武艺|0x500000|39781\n十八层地狱|0x500000|0\n十八姑娘一朵花|0x400000|0\n十八罗汉|0xc00000|49584\n十八世纪|0x400000|494\n十八相送|0x400000|0\n十边形|0x400000|0\n十变五化|0x1400000|0\n十病九痛|0x400000|100\n十不当一|0x1400000|0\n十不得一|0x400000|0\n十步芳草|0x1400000|0\n十步香草|0x400000|100\n十步香车|0x1400000|0\n十步之内|0x400000|0\n十常八九|0x400000|0\n十成把握|0x400000|0\n十成九稳|0x1400000|0\n十传百|0xc00000|0\n十次革命|0x400000|0\n十大建设|0x400000|1\n十滴水|0x500000|2\n十点钟|0x400000|854\n十冬腊月|0x1400000|45689\n十赌九骗|0x400000|0\n十段变速|0x400000|0\n十多岁|0x400000|3\n十恶不赦|0x1400000|38749\n十恶五逆|0x1400000|0\n十二大|0x400008|7\n十二道金牌|0x400000|0\n十二点|0x400000|597\n十二分|0x400000|20671\n十二个|0x400000|605\n十二金钗|0x1400000|0\n十二金牌|0x1400000|0\n十二经别|0x400008|0\n十二经筋|0x400008|0\n十二经脉|0x400008|0\n十二律|0x400008|0\n十二码球|0x400000|0\n十二皮部|0x400008|0\n十二平均|0x400000|0\n十二日|0x400000|811\n十二生肖|0xc00000|36366\n十二岁|0x400000|564\n十二万分|0x400000|955\n十二月|0x400000|616\n十二月份|0x4000|100\n十二指肠|0x500000|35421\n十二属|0x400000|1343\n十二属相|0x400000|973\n十发十中|0x1400000|0\n十番锣鼓|0x400000|0\n十分宝贵|0x400000|1\n十分必要|0x400000|27\n十分复杂|0x400000|17\n十分高兴|0x400000|38\n十分关心|0x400000|31\n十分激烈|0x400000|9\n十分艰巨|0x400000|17\n十分困难|0x400000|24\n十分满意|0x400000|12\n十分明确|0x400000|7\n十分相似|0x400000|10\n十分想念|0x400000|0\n十分迅速|0x400000|3\n十分之|0x400000|588\n十分之一|0x400000|761\n十分重视|0x400000|34\n十分重要|0x400000|127\n十分注意|0x400000|0\n十风五雨|0x1400000|0\n十夫桡椎|0x1400000|0\n十夫楺椎|0x1400000|0\n十公里|0x400000|8\n十公升|0x400000|0\n十光五色|0x1400000|0\n十国集团|0x400008|0\n十寒一暴|0x1400000|0\n十几年来|0x400000|15\n十佳评选|0x400000|0\n十浆五馈|0x1400000|0\n十角形|0x400000|0\n十进法|0x400000|0\n十进管|0x400000|0\n十进位|0x400000|0\n十进位码|0x400000|0\n十进位制|0x400000|0\n十进制|0x500000|55943\n十进制数字|0x400000|0\n十九个|0x400000|449\n十九日|0x400000|827\n十九世纪|0x400000|538\n十九岁|0x400000|549\n十拷九棒|0x1400000|0\n十口相传|0x1400000|0\n十里长亭|0x400000|100\n十里洋场|0x1400000|2\n十六大|0x500000|176\n十六分音|0x400000|0\n十六和弦|0x400000|0\n十六进位|0x400000|0\n十六进制|0x400008|0\n十六开|0x400000|377\n十六日|0x400000|813\n十六烷值|0x400008|0\n十六位|0x400000|1\n十米九糠|0x1400000|0\n十眠九坐|0x1400000|0\n十面埋伏|0x1400000|7\n十面体|0x400000|0\n十魔九难|0x1400000|0\n十目所视|0x1400000|0\n十拏九稳|0x1400000|0\n十拿九稳|0x1400000|37973\n十年窗下|0x1400000|0\n十年动乱|0x400008|25285\n十年读书|0x1400000|0\n十年规划|0x400000|1\n十年寒窗|0x500000|45094\n十年浩劫|0xc00000|25367\n十年河东|0x400000|0\n十年河西|0x400000|0\n十年间|0x400000|498\n十年教训|0x400000|100\n十年九不遇|0x400008|0\n十年磨|0x100000|368\n十年磨剑|0x1400000|0\n十年磨一剑|0x400008|1\n十年内乱|0x400000|0\n十年难得一见|0x400000|0\n十年怕井绳|0x400008|0\n十年前|0x100000|631\n十年如一日|0x400000|958\n十年生聚|0x400000|100\n十年树木|0x1400000|2\n十年树木，百年树人|0x0000|44513\n十七个|0x400000|482\n十七日|0x400000|826\n十亲九故|0x1400000|0\n十亲九眷|0x1400000|0\n十全大补|0x400000|0\n十全十美|0x1400000|26777\n十人九慕|0x400000|100\n十日并出|0x1400000|0\n十日谈|0x400008|0\n十日一水|0x1400000|0\n十日之饮|0x400000|100\n十三点|0x400000|435\n十三个|0x400000|528\n十三经|0x500000|0\n十三块|0x400000|0\n十三陵|0x500000|27070\n十三日|0x400000|815\n十三岁|0x400000|541\n十三太保|0x500000|1\n十三辙|0x500000|0\n十生九死|0x1400000|0\n十十五五|0x1400000|0\n十世单传|0x1400000|0\n十室九空|0x1400000|48863\n十室九匮|0x1400000|0\n十室容贤|0x1400000|0\n十手所指|0x1400000|0\n十手争指|0x1400000|0\n十鼠同穴|0x1400000|0\n十死不问|0x1400000|0\n十死九活|0x1400000|0\n十死一生|0x1400000|0\n十四大|0x400008|6\n十四天|0x400000|1514\n十四行诗|0xc00000|0\n十万八千里|0x400000|35718\n十万火急|0x1400000|29458\n十万火速|0x1400000|0\n十围五攻|0x1400000|0\n十位数|0x400000|0\n十五大|0x400008|5\n十五大精神|0x400000|0\n十五个吊桶打水|0x400000|0\n十五络|0x400008|0\n十项全能|0x400000|1\n十项运动|0x400000|0\n十行俱下|0x1400000|0\n十堰大学|0x400000|0\n十堰电话|0x400000|0\n十堰电信|0x400000|0\n十堰广电报|0x400000|0\n十堰教育信息网|0x400000|0\n十堰市|0x400000|1315\n十堰网盟|0x400000|0\n十堰信息港|0x400000|0\n十羊九牧|0x1400000|0\n十样锦|0x400000|0\n十一点|0x400000|7\n十一国庆节|0x400000|1\n十一届三中全会|0x400000|1390\n十一年|0x400000|551\n十一万|0x600000|1\n十一月|0x400000|607\n十一月份|0x4000|100\n十有八九|0x1400000|2\n十雨五风|0x1400000|0\n十月份|0x4000|100\n十月革命|0xc00000|5\n十月十日|0x400000|4\n十载寒窗|0x1400000|0\n十战十胜|0x1400000|0\n十之八九|0x1400000|26481\n十指连心|0x1400000|53931\n十指如椎|0x400000|0\n十指有长短|0x400000|1542\n十中全会|0x400000|1\n十转九空|0x1400000|0\n十捉九着|0x400000|100\n十姊妹|0x400000|0\n十字镐|0x500000|49585\n十字花|0x400000|0\n十字花科|0x400008|0\n十字架|0x500000|17597\n十字街口|0x1400000|0\n十字街头|0x1400000|34375\n十字军|0x500000|32928\n十字军东|0x400000|0\n十字路|0x400040|2\n十字路口|0x1400000|16349\n十字路头|0x1400000|0\n十字排列装置|0x400000|0\n十字头|0x400008|0\n十字形|0x400008|2\n十足把握|0x400000|1\n什邡市|0x0040|1565\n什件儿|0x100000|0\n什锦锉|0x0008|0\n什克洛夫斯基|0x0080|0\n什么病|0x100000|556\n什么的|0x0000|6344\n什么地方|0x0000|722\n什么歌|0x100000|508\n什么话|0x100000|656\n什么鸟|0x100000|520\n什么时候|0x0000|848\n什么事|0x100000|817\n什么是|0x4000000|810\n什么样|0x10000|2762\n什么药|0x100000|554\n什围伍攻|0x1000000|100\n什伍东西|0x0000|100\n什袭而藏|0x1000000|100\n什袭以藏|0x0000|100\n什袭珍藏|0x0000|100\n什叶派|0x100000|906\n石斑鱼|0x100000|48495\n石板材|0x100000|390\n石菖蒲|0x0008|1103\n石沉大海|0x1000000|34089\n石城汤池|0x1000000|100\n石城县|0x0040|1646\n石赤不夺|0x1000000|100\n石吊兰|0x0008|0\n石膏板|0x100000|497\n石膏粉|0x0008|1483\n石膏线|0x100000|385\n石膏像|0x100000|962\n石拱桥|0x100000|39782\n石鼓文|0x100000|1117\n石河子|0x0040|1304\n石河子市|0x0040|1446\n石花菜|0x100000|54935\n石灰矿|0x0008|0\n石灰乳|0x0008|0\n石灰石|0x100000|32805\n石灰水|0x100000|1074\n石灰岩|0x100000|908\n石灰窑|0x100000|1055\n石灰质|0x100000|1133\n石火电光|0x1000000|1301\n石火风灯|0x1000000|100\n石火风烛|0x1000000|100\n石火光阴|0x0000|100\n石家庄|0x0040|5570\n石家庄市|0x0040|1077\n石缄金匮|0x1000000|100\n石见穿|0x100000|1331\n石椒草|0x100000|0\n石景山|0x0040|1248\n石景山区|0x0040|1326\n石决明|0x100000|1167\n石窟门|0x0040|0\n石蜡油|0x0000|377\n石烂海枯|0x1000000|100\n石烂江枯|0x1000000|100\n石老人|0x100000|434\n石泐海枯|0x1000000|100\n石林彝族自治县|0x0040|1646\n石榴花|0x100000|1000\n石榴皮|0x0008|0\n石榴裙|0x100000|44514\n石榴石|0x100000|860\n石榴树|0x100000|426\n石榴园|0x100000|384\n石龙子|0x100000|1263\n石楼县|0x0040|1154\n石门县|0x0040|1565\n石棉板|0x0008|1104\n石棉布|0x0008|0\n石棉瓦|0x100000|46573\n石棉网|0x0008|0\n石棉县|0x0040|1074\n石棉制品|0x0000|389\n石墨电极|0x0008|395\n石墨粉|0x0008|1082\n石墨制品|0x100000|385\n石楠藤|0x100000|0\n石楠叶|0x0008|0\n石脑油|0x100000|450\n石牌路|0x0040|0\n石屏县|0x0040|1112\n石破天惊|0x1000000|32678\n石器时代|0x100000|28213\n石阡县|0x0040|1147\n石渠县|0x0040|1162\n石泉县|0x0040|1065\n石蕊试纸|0x800000|1269\n石沈大海|0x1000000|0\n石狮市|0x0040|1211\n石狮子|0x100000|451\n石室金匮|0x1000000|1431\n石室金鐀|0x1000000|100\n石首市|0x0040|1549\n石首鱼|0x100000|1283\n石台县|0x0040|1525\n石炭纪|0x4000|1181\n石炭井区|0x0040|1358\n石炭酸|0x0008|51983\n石炭系|0x0008|1268\n石头城|0x0040|1469\n石头子儿|0x100000|47481\n石心木肠|0x0000|100\n石英表|0x100000|52930\n石英玻璃|0x0008|935\n石英粉|0x100000|411\n石英管|0x100000|404\n石英砂|0x100000|503\n石英岩|0x0000|383\n石英钟|0x100000|37416\n石尤风|0x0000|100\n石油大学|0x100000|524\n石油工业|0x100000|494\n石油化工|0x0008|619\n石油化工厂|0x0008|1\n石油化学|0x0008|0\n石油化学工业|0x0008|380\n石油机械|0x100000|437\n石油价格|0x100000|548\n石油焦|0x0008|1522\n石油界|0x100000|0\n石油勘探|0x100000|841\n石油气|0x100000|32425\n石油商|0x0000|380\n石油设备|0x100000|395\n石油市场|0x100000|18\n石油输出国组织|0x0008|1598\n石油天然气|0x100000|562\n石油天然气总公司|0x0020|1326\n石油危机|0x100000|463\n石油学院|0x100000|476\n石油业|0x100000|1027\n石油制品|0x100000|447\n石油资源|0x100000|500\n石制品|0x100000|410\n石钟乳|0x100000|48864\n石竹花|0x100000|1147\n石柱土家族自治县|0x0040|1406\n石子儿|0x100000|49586\n石子路|0x100000|985\n石嘴山|0x0040|1355\n石嘴山区|0x0040|1195\n石嘴山市|0x0040|1446\n时不待我|0x800000|1034\n时不可失|0x1000000|100\n时不时|0x8000000|13839\n时不我待|0x1000000|25504\n时不我与|0x1000000|981\n时不再来|0x1000000|39591\n时绌举盈|0x0000|100\n时绌举赢|0x1000000|100\n时代背景|0x100000|558\n时代感|0x100000|19038\n时代光华|0x100000|494\n时代华纳|0x0020|1429\n时代化|0x100000|0\n时代精神|0x100000|848\n时代剧|0x100000|0\n时代特征|0x0000|502\n时代性|0x100000|900\n时代周刊|0x100000|800\n时断时续|0x800000|895\n时分多址|0x100000|1157\n时隔不久|0x1000000|861\n时乖命蹇|0x1000000|1318\n时乖运舛|0x0000|100\n时乖运乖|0x0000|100\n时乖运蹇|0x800000|1349\n时乖运拙|0x0000|100\n时光荏苒|0x800000|873\n时过境迁|0x800000|29248\n时好时坏|0x800000|822\n时和年丰|0x1000000|1341\n时和岁丰|0x0000|100\n时和岁稔|0x0000|100\n时亨运泰|0x1000000|100\n时基电路|0x0008|0\n时间表|0x100000|11830\n时间差|0x100000|28767\n时间长|0x100000|666\n时间常数|0x0008|383\n时间段|0x100000|717\n时间分辨率|0x0008|1\n时间继电器|0x0000|439\n时间内|0x0000|789\n时间赛跑|0x100000|448\n时间特效|0x100000|371\n时间性|0x100000|36201\n时间艺术|0x0008|0\n时间知觉|0x0008|0\n时紧时松|0x800000|1148\n时刻表|0x100000|39592\n时空观|0x100000|1064\n时来运来|0x0008|1540\n时来运旋|0x0000|100\n时来运转|0x800000|36367\n时令病|0x100000|0\n时令蔬菜|0x100000|369\n时起时伏|0x800000|47482\n时清海宴|0x1000000|100\n时诎举赢|0x1000000|100\n时日曷丧|0x0000|100\n时日无多|0x0000|429\n时尚服饰|0x100000|497\n时尚家居|0x100000|484\n时尚界|0x100000|482\n时尚礼品|0x100000|434\n时尚男人|0x100000|447\n时尚女性|0x100000|516\n时尚女装|0x100000|513\n时尚频道|0x100000|492\n时尚品牌|0x100000|517\n时尚生活|0x100000|591\n时尚饰品|0x100000|491\n时尚手机|0x100000|540\n时尚杂志|0x100000|534\n时尚资讯|0x100000|454\n时时刻刻|0x800000|15305\n时事评论|0x0008|0\n时事新闻|0x0000|500\n时事性|0x100000|1203\n时事政治|0x100000|493\n时势造英雄|0x0008|988\n时殊风异|0x0000|100\n时望所归|0x1000000|100\n时无再来|0x0000|100\n时效性|0x100000|813\n时序电路|0x0008|0\n时移世变|0x0000|100\n时移世异|0x0000|100\n时移世易|0x1000000|1197\n时移势迁|0x1000000|100\n时移势易|0x1000000|1228\n时移俗易|0x1000000|100\n时异事殊|0x0000|100\n时异势殊|0x1000000|100\n时易世变|0x0000|100\n时隐时见|0x0000|100\n时隐时现|0x1000000|25657\n时有发生|0x800000|788\n时有时无|0x800000|945\n时有所闻|0x800000|981\n时运不齐|0x0000|100\n时运亨通|0x0000|100\n时至今日|0x800000|15175\n时至运来|0x0000|100\n时钟发生器|0x0008|0\n时钟日历|0x100000|487\n时装表演|0x100000|34227\n时装店|0x100000|853\n时装发布会|0x100000|453\n时装画|0x100000|379\n时装模特|0x100000|452\n时装品牌|0x100000|440\n时装设计|0x100000|474\n时装设计师|0x100000|480\n时装鞋|0x100000|409\n时装秀|0x0008|771\n时装业|0x100000|1133\n时装有限公司|0x100000|478\n时装展|0x100000|474\n时装周|0x100000|560\n识变从宜|0x1000000|100\n识别力|0x100000|1176\n识别率|0x100000|962\n识别码|0x100000|958\n识才尊贤|0x1000000|100\n识大体|0x0000|31901\n识多才广|0x1000000|0\n识二五而不知十|0x400008|0\n识礼知书|0x1000000|100\n识明智审|0x1000000|100\n识时达变|0x1000000|100\n识时达务|0x1000000|100\n识时通变|0x1000000|100\n识时务|0x0000|35562\n识时务者为俊杰|0x0008|988\n识涂老马|0x1000000|100\n识途老马|0x1000000|1091\n识微见几|0x1000000|100\n识微见远|0x1000000|100\n识微知著|0x1000000|100\n识文断字|0x1000000|45096\n识文谈字|0x1000000|100\n识字班|0x0008|1203\n识字率|0x100000|1094\n识字知书|0x1000000|100\n实报实销|0x800000|47184\n实偪处此|0x1000000|100\n实逼处此|0x1000000|1330\n实打实|0x800000|29884\n实弹射击|0x800000|1027\n实地调查|0x1000|776\n实蕃有徒|0x1000000|100\n实繁有徒|0x1000000|1332\n实干家|0x100000|34228\n实话实说|0x800000|17982\n实获我心|0x1000000|100\n实际操作|0x0000|602\n实际工资|0x800000|1099\n实际情况|0x0000|729\n实际上|0x8000000|1170\n实际问题|0x0000|624\n实际行动|0x0000|615\n实际意义|0x0000|548\n实寄封|0x100000|1065\n实践经验|0x0000|609\n实践论|0x100000|1064\n实践是检验真理的唯一标准|0x400000|2\n实况足球|0x100000|568\n实力股|0x100000|0\n实力派|0x100000|756\n实力雄厚|0x100000|685\n实力政策|0x0008|0\n实例教程|0x100000|556\n实名制|0x100000|741\n实施办法|0x0000|627\n实施方案|0x100000|682\n实施细则|0x100000|712\n实施者|0x100000|965\n实时处理|0x0008|0\n实实在|0x100000|1017\n实实在在|0x0100|624\n实事求是|0x1000000|2890\n实体词|0x0008|0\n实体法|0x100000|1022\n实体化|0x100000|977\n实体镜|0x100000|0\n实体性|0x100000|1060\n实物地租|0x0008|1158\n实物图片|0x100000|448\n实习期|0x4000|882\n实习生|0x100000|33966\n实效性|0x100000|540\n实心球|0x100000|1082\n实心实意|0x1000000|39161\n实心眼儿|0x0000|47185\n实言相告|0x0000|54472\n实验法|0x0000|405\n实验教学|0x100000|520\n实验设计|0x0008|0\n实验室|0x100000|3407\n实验室家具|0x100000|407\n实验室设备|0x100000|484\n实验室仪器|0x100000|434\n实验室装备|0x100000|424\n实验田|0x100000|980\n实验心理学|0x0008|1032\n实验性|0x100000|880\n实验学校|0x0008|566\n实验员|0x100000|1050\n实验站|0x100000|1112\n实验者|0x100000|1027\n实验组|0x100000|1096\n实业股份有限公司|0x100000|546\n实业集团|0x100000|526\n实业集团有限公司|0x100000|444\n实业家|0x100000|24793\n实业界|0x100000|1078\n实业银行|0x100000|494\n实业有限公司|0x100000|735\n实业总公司|0x100000|490\n实用程序|0x100000|521\n实用工具|0x100000|569\n实用功能|0x0000|522\n实用技巧|0x100000|530\n实用技术|0x100000|679\n实用教程|0x100000|491\n实用手册|0x100000|700\n实用新型|0x0000|557\n实用信息|0x100000|483\n实用型|0x20000000|808\n实用性|0x100000|644\n实用英语|0x100000|476\n实用主义|0x100000|20628\n实用主义者|0x100000|387\n实与有力|0x800000|100\n实在论|0x0008|1110\n实在性|0x0000|395\n实战论坛|0x100000|447\n实证主义|0x100000|992\n实至名归|0x1000000|46574\n实质上|0x0000|9823\n实质性|0x100000|671\n拾陈蹈故|0x1000000|100\n拾带重还|0x1000000|100\n拾掇无遗|0x0000|100\n拾级而上|0x800000|34376\n拾金不昧|0x1000000|39370\n拾人涕唾|0x1000000|100\n拾人唾涕|0x1000000|100\n拾人唾余|0x1000000|100\n拾人牙慧|0x1000000|51985\n拾遗补缺|0x800000|40215\n拾遗补阙|0x1000000|1246\n拾振器|0x100000|1531\n蚀变岩石|0x0008|0\n蚀刻师|0x100000|0\n食案方丈|0x1000000|100\n食必方丈|0x1000000|100\n食辨劳薪|0x1000000|100\n食不充肠|0x1000000|100\n食不充饥|0x1000000|0\n食不充口|0x1000000|1540\n食不二味|0x1400000|0\n食不甘味|0x1000000|43978\n食不果腹|0x1000000|44223\n食不餬口|0x1000000|100\n食不遑味|0x1000000|100\n食不兼肉|0x1000000|100\n食不兼味|0x1000000|100\n食不累味|0x1000000|100\n食不求甘|0x1000000|100\n食不暇饱|0x1000000|100\n食不下咽|0x1000000|1019\n食不厌精|0x1000000|1086\n食不知味|0x1000000|974\n食不终味|0x1000000|100\n食不重肉|0x1000000|100\n食不重味|0x1000000|100\n食箪浆壶|0x1000000|100\n食道癌|0x100000|898\n食道炎|0x100000|1143\n食而不化|0x1000000|1269\n食方于前|0x1000000|100\n食甘寝安|0x1000000|100\n食甘寝宁|0x1000000|100\n食古不化|0x1000000|48127\n食古如鲠|0x1000000|100\n食管癌|0x100000|934\n食管炎|0x0008|397\n食藿悬鹑|0x1000000|100\n食饥息劳|0x1000000|100\n食利者|0x100000|1247\n食马留肝|0x1000000|100\n食毛践土|0x1000000|100\n食品安全|0x100000|654\n食品安全问题|0x100000|433\n食品包装|0x100000|555\n食品包装机械|0x100000|448\n食品标签|0x100000|467\n食品博览会|0x100000|444\n食品厂|0x100000|1022\n食品店|0x100000|1355\n食品工业|0x0008|711\n食品机械|0x100000|556\n食品级|0x100000|502\n食品加工设备|0x100000|398\n食品街|0x0040|54474\n食品科技|0x100000|426\n食品科学|0x100000|481\n食品类|0x100000|486\n食品论坛|0x100000|492\n食品企业|0x100000|511\n食品容器|0x100000|405\n食品设备|0x100000|416\n食品市场|0x100000|503\n食品添加剂|0x100000|570\n食品网|0x100000|496\n食品卫生|0x0008|762\n食品行业|0x100000|532\n食品药品|0x100000|631\n食品业|0x100000|947\n食品饮料|0x100000|557\n食品有限公司|0x100000|663\n食品有限责任|0x100000|467\n食品质量|0x100000|527\n食前方丈|0x1000000|1354\n食亲财黑|0x1000000|100\n食人族|0x0000|473\n食日万钱|0x1000000|100\n食肉类|0x0000|379\n食肉寝皮|0x1000000|1243\n食少事烦|0x1000000|1363\n食少事繁|0x1000000|100\n食生不化|0x1000000|100\n食宿费|0x100000|997\n食宿相兼|0x1000000|100\n食荼卧棘|0x1000000|100\n食为民天|0x1000000|100\n食味方丈|0x1000000|100\n食无求饱|0x1000000|1163\n食物店|0x0040|1388\n食物链|0x100000|26354\n食物中毒|0x800000|18128\n食心虫|0x100000|1217\n食言而肥|0x1000000|1101\n食蚁兽|0x100000|51986\n食用大黄|0x0008|0\n食用方法|0x100000|465\n食用菌|0x100000|15691\n食用油|0x100000|750\n食用植物油|0x0000|463\n食鱼遇鲭|0x0000|100\n食玉炊桂|0x1000000|1490\n食欲不振|0x800000|826\n食指大动|0x1000000|968\n食子徇君|0x1000000|100\n食租衣税|0x1000000|100\n史不绝书|0x1000000|1208\n史达林|0x0080|1148\n史蒂文斯|0x0040|1704\n史密斯|0x0008|1147\n史诗般|0x40000000|465\n史特劳斯|0x0080|0\n史无前例|0x1000000|17048\n史学界|0x100000|954\n矢不虚发|0x1000000|1540\n矢车菊|0x100000|48865\n矢吹真吾|0x0080|0\n矢激则远|0x1000000|0\n矢尽兵穷|0x1000000|0\n矢口抵赖|0x800000|1542\n矢口否认|0x800000|872\n矢口狡赖|0x0000|100\n矢量图|0x100000|815\n矢石不二|0x400000|0\n矢石之难|0x0000|100\n矢在弦上|0x0000|100\n矢志不移|0x1000000|1006\n矢志不渝|0x800000|27310\n矢忠不二|0x400000|100\n豕窜狼逋|0x1000000|100\n豕分蛇断|0x1000000|100\n豕亥鱼鲁|0x1000000|100\n豕虎传讹|0x0000|100\n豕交兽畜|0x1000000|100\n豕食丐衣|0x1000000|100\n豕突狼奔|0x1000000|100\n使绊儿|0x1000|51134\n使臂使指|0x1000000|100\n使不得|0x800000|29049\n使功不如使过|0x0008|1393\n使乖弄巧|0x1000000|100\n使馆区|0x100000|946\n使节团|0x100000|1100\n使劲儿|0x1000|9190\n使酒骂坐|0x1000000|100\n使酒骂座|0x1000000|100\n使君子|0x100000|1141\n使料所及|0x0000|100\n使领馆|0x100000|21123\n使每一个人|0x400000|1\n使命感|0x100000|764\n使人昭昭|0x800000|1142\n使贪使愚|0x1000000|100\n使蚊负山|0x0000|100\n使贤任能|0x1000000|100\n使心别气|0x0000|100\n使心用腹|0x1000000|100\n使心用幸|0x0000|100\n使心用倖|0x1000000|100\n使心作幸|0x0000|100\n使心作倖|0x1000000|100\n使性傍气|0x1000000|100\n使性谤气|0x1000000|100\n使性掼气|0x0000|100\n使性子|0x1000|44515\n使眼色|0x1000|28305\n使羊将狼|0x1000000|100\n使用法|0x100000|1043\n使用方便|0x100000|724\n使用方法|0x100000|622\n使用费|0x100000|811\n使用价值|0x100000|23242\n使用率|0x100000|782\n使用面积|0x0008|617\n使用期|0x100000|940\n使用权|0x100000|660\n使用人|0x100000|935\n使用时间|0x0008|3\n使用手册|0x0000|580\n使用手记|0x100000|429\n使用寿命|0x0008|623\n使用说明|0x100000|640\n使用者|0x100000|583\n使用证|0x100000|939\n使用指南|0x100000|673\n使愚使过|0x0000|100\n使智使勇|0x0000|100\n使嘴使舌|0x1000000|100\n始发地|0x100000|1082\n始发站|0x100000|46279\n始料不及|0x1000000|25658\n始料未及|0x1000000|830\n始乱终弃|0x1000000|854\n始末原由|0x0000|100\n始末缘由|0x0000|100\n始兴县|0x0040|1443\n始业式|0x100000|0\n始于足下|0x1000000|921\n始愿不及此|0x0000|100\n始终保持|0x0000|618\n始终不二|0x400000|0\n始终不懈|0x800000|1164\n始终不易|0x0000|100\n始终不渝|0x1000000|14718\n始终如一|0x1400000|19532\n始终若一|0x1400000|0\n始祖鸟|0x0008|1072\n始作俑者|0x1000000|35719\n屎滚尿流|0x1000000|100\n屎壳郎|0x100000|51135\n屎流屁滚|0x1000000|100\n屎屁直流|0x1000000|100\n士饱马腾|0x1000000|1330\n士别三日|0xc00000|0\n士大夫|0x100000|16213\n士可杀不可辱|0x0000|395\n士林国中|0x0040|1073\n士敏土|0x100000|1336\n士死知己|0x0000|100\n士为知己者死|0x800000|956\n士有饥色|0x1000000|0\n世博会|0x100000|784\n世代交替|0x100000|954\n世代书香|0x0000|100\n世代相传|0x800000|919\n世代相沿|0x1000000|0\n世道人情|0x0000|100\n世道人心|0x1000000|1060\n世风浇薄|0x1000000|1388\n世风日下|0x1000000|42033\n世纪版|0x100000|413\n世纪末|0x100000|693\n世纪坛|0x100000|472\n世纪之交|0x800000|868\n世济其美|0x0000|100\n世界报|0x100000|945\n世界杯|0x100000|3814\n世界杯决赛|0x100000|475\n世界杯赛|0x100000|780\n世界杯预选赛|0x100000|513\n世界杯足球赛|0x100000|496\n世界博览会|0x100000|448\n世界大学生运动会|0x0008|1552\n世界大战|0x800000|667\n世界地图|0x0008|767\n世界第一|0x400000|628\n世界各地|0x800000|863\n世界各国|0x100000|646\n世界观|0x100000|4641\n世界冠军|0x0000|590\n世界和平|0x0000|574\n世界华人|0x100000|487\n世界货币|0x0008|0\n世界级|0x20000000|671\n世界纪录|0x0008|724\n世界锦标赛|0x0000|483\n世界经济|0x100000|701\n世界经济发展|0x100000|463\n世界历史|0x0000|529\n世界领先地位|0x0000|437\n世界贸易|0x100000|606\n世界贸易中心|0x0020|1506\n世界贸易组织|0x0020|5965\n世界名牌|0x100000|534\n世界名著|0x100000|475\n世界排名|0x100000|593\n世界气象组织|0x0008|1720\n世界日报|0x100000|915\n世界上|0x0000|862\n世界时|0x100000|1\n世界时钟|0x100000|501\n世界史|0x100000|884\n世界市场|0x800000|806\n世界通|0x100000|425\n世界围棋|0x100000|429\n世界卫生|0x100000|599\n世界卫生组织|0x0008|1230\n世界文化|0x0000|573\n世界文化遗产|0x100000|520\n世界屋脊|0x0040|906\n世界先进水平|0x0000|519\n世界性|0x100000|763\n世界一流大学|0x100000|464\n世界遗产|0x100000|554\n世界银行|0x0008|1240\n世界语|0x100000|20959\n世界员|0x100000|0\n世界主义|0x100000|817\n世界足球|0x0000|531\n世界足坛|0x100000|492\n世锦赛|0x100000|641\n世贸组织|0x0020|1275\n世乒赛|0x100000|888\n世扰俗乱|0x1000000|100\n世上无难事|0x0008|914\n世世代代|0x100000|14661\n世世生生|0x0008|1110\n世说新语|0x0000|454\n世俗之见|0x0000|100\n世俗主义|0x100000|1164\n世态人情|0x0008|100\n世态炎凉|0x1000000|41323\n世外桃源|0x1000000|23883\n世伪知贤|0x0000|100\n世异时移|0x0000|100\n世掌丝纶|0x1000000|100\n仕女图|0x100000|956\n市不二价|0x400000|100\n市场报|0x100000|527\n市场部|0x100000|974\n市场策划|0x100000|822\n市场导向|0x100000|475\n市场调查|0x0008|696\n市场调查报告|0x100000|454\n市场调节|0x0008|919\n市场调研|0x100000|722\n市场动态|0x0000|551\n市场分析|0x100000|660\n市场份额|0x0000|693\n市场管理|0x100000|694\n市场规模|0x0000|585\n市场化|0x1000|658\n市场环境|0x0000|602\n市场机制|0x100000|569\n市场价|0x100000|533\n市场价格|0x100000|615\n市场监管|0x100000|551\n市场经济|0x100000|1756\n市场经济地位|0x100000|494\n市场经济体制|0x100000|604\n市场竞争|0x0008|708\n市场疲软|0x0008|2\n市场前景|0x100000|620\n市场潜力|0x100000|579\n市场体系|0x0000|10447\n市场信息|0x100000|594\n市场行情|0x100000|622\n市场需求|0x0000|691\n市场营销|0x100000|562\n市场预测|0x0008|790\n市场原油|0x100000|468\n市场运作|0x0000|562\n市场占有率|0x100000|686\n市场秩序|0x100000|605\n市场主体|0x100000|550\n市场总监|0x100000|517\n市场走势|0x100000|546\n市道之交|0x0000|100\n市话费|0x100000|976\n市际交通|0x0008|0\n市井无赖|0x1000000|1122\n市井小人|0x1000000|1178\n市井之臣|0x1000000|100\n市井之徒|0x800000|1127\n市民文学|0x1000000|1288\n市民心声|0x100000|484\n市委办公室|0x100000|448\n市委常委|0x100000|588\n市委党校|0x100000|500\n市委市政府|0x100000|530\n市委书记|0x0000|644\n市委宣传部|0x100000|548\n市委组织部|0x100000|542\n市无二价|0x1400000|0\n市辖区|0x100000|28398\n市消委会|0x100000|419\n市议会|0x0000|443\n市议员|0x0000|451\n市盈率|0x100000|774\n市运会|0x0008|1143\n市政道路|0x100000|468\n市政府|0x100000|2590\n市政府采购|0x100000|542\n市政府领导|0x100000|476\n市政工程|0x100000|697\n市政公用工程|0x100000|415\n市政建设|0x100000|828\n市政厅|0x100000|897\n市政协|0x100000|805\n市直机关|0x0000|504\n市中心|0x100000|7220\n示贬于褒|0x0000|100\n示波管|0x100000|1271\n示波器|0x100000|52933\n示范户|0x100000|1005\n示范区|0x100000|809\n示范性|0x100000|841\n示范园区|0x100000|474\n示功图|0x100000|1343\n示零器|0x100000|0\n示威者|0x100000|962\n示意图|0x100000|20061\n示踪剂|0x100000|0\n示踪原子|0x800000|1252\n事败垂成|0x1000000|100\n事半功百|0x1000000|100\n事半功倍|0x1000000|19067\n事倍功半|0x1000000|29986\n事必躬亲|0x1000000|40445\n事不关己|0x800000|817\n事不关己高高挂起|0x0000|100\n事不过三|0x1400000|1\n事不师古|0x1000000|100\n事不宜迟|0x1000000|31208\n事不有余|0x1000000|100\n事出无奈|0x0000|100\n事出有因|0x1000000|33676\n事到临头|0x1000000|40217\n事故现场|0x100000|537\n事故隐患|0x0000|512\n事故责任|0x0000|528\n事关全局|0x800000|1081\n事关重大|0x800000|927\n事过景迁|0x1000000|100\n事过境迁|0x1000000|37066\n事过情迁|0x1000000|100\n事核言直|0x1000000|100\n事后诸葛亮|0x0008|1011\n事缓则圆|0x0000|100\n事火咒龙|0x1000000|100\n事迹报告|0x100000|426\n事迹材料|0x100000|525\n事急无君子|0x100000|1510\n事件簿|0x100000|491\n事件真相|0x100000|443\n事捷功倍|0x1000000|100\n事久见人心|0x0008|1223\n事宽即圆|0x1000000|100\n事宽则圆|0x0000|100\n事款则圆|0x1000000|0\n事齐事楚|0x1000000|100\n事生肘腋|0x0000|100\n事实上|0x800000|498\n事实胜于雄辩|0x0008|921\n事实性|0x100000|1102\n事事如意|0x0000|430\n事往日迁|0x1000000|100\n事危累卵|0x1000000|100\n事无常师|0x1000000|100\n事无大小|0x800000|1023\n事无二成|0x1400000|0\n事无巨细|0x1000000|33818\n事无三不成|0x400000|1318\n事务办公室|0x100000|468\n事务长|0x100000|1239\n事务处|0x100000|477\n事务处理|0x0000|526\n事务股|0x100000|0\n事务官|0x0008|4\n事务管理|0x100000|746\n事务局|0x100000|875\n事务所|0x100000|6538\n事务所有限公司|0x100000|502\n事务委员会|0x100000|477\n事务性|0x20000000|922\n事务员|0x100000|1175\n事务主义|0x800000|1198\n事业部|0x100000|586\n事业单位|0x0008|5690\n事业费|0x100000|1005\n事业心|0x100000|14316\n事业型|0x20000000|908\n事业有成|0x800000|727\n事以密成|0x1000000|100\n事与心违|0x1000000|100\n事与原违|0x1000000|100\n事与愿违|0x1000000|22070\n事预则立|0x1000000|100\n事在必行|0x0000|100\n事在人为|0x1000000|32806\n事在萧墙|0x1000000|100\n侍卫长|0x100000|1061\n侍应生|0x0008|959\n侍执巾节|0x1000000|100\n势不可当|0x1000000|46280\n势不可挡|0x1000000|27564\n势不可遏|0x1000000|100\n势不两存|0x1000000|100\n势不两立|0x1000000|30970\n势成骑虎|0x1000000|1171\n势单力薄|0x800000|924\n势高益危|0x0000|100\n势孤力薄|0x0000|100\n势合形离|0x1000000|100\n势均力敌|0x1000000|32172\n势钧力敌|0x1000000|0\n势垒高度|0x0008|0\n势利小人|0x800000|48867\n势利眼|0x100000|41089\n势倾朝野|0x0000|100\n势倾天下|0x1000000|1092\n势穷力蹙|0x1000000|100\n势穷力竭|0x1000000|100\n势穷力屈|0x1000000|100\n势如劈竹|0x1000000|100\n势如破竹|0x1000000|29352\n势如水火|0x0000|100\n势若脱兔|0x0000|100\n势所必然|0x800000|1136\n势焰熏天|0x1000000|100\n势越二极管|0x400008|0\n势在必得|0x1000000|942\n势在必行|0x1000000|13091\n视财如命|0x1000000|1177\n视丹如绿|0x1000000|100\n视而不见|0x1000000|15436\n视觉三色原理|0x400000|0\n视觉系|0x100000|447\n视觉效果|0x100000|599\n视觉性|0x100000|0\n视觉艺术|0x100000|829\n视力表|0x100000|1061\n视民如伤|0x1000000|100\n视民如子|0x1000000|1396\n视频产品|0x100000|421\n视频点播|0x0008|771\n视频短片|0x100000|535\n视频服务器|0x100000|464\n视频格式|0x100000|557\n视频工具|0x100000|505\n视频会议|0x0008|724\n视频会议系统|0x100000|506\n视频剪辑|0x100000|925\n视频教程|0x100000|627\n视频卡|0x100000|444\n视频录像|0x100000|509\n视频模式|0x0000|370\n视频文件|0x0000|631\n视频新闻|0x100000|482\n视频信号|0x100000|518\n视频压缩|0x0000|467\n视人如伤|0x1000000|100\n视人如子|0x1000000|100\n视日如年|0x1000000|100\n视如敝屐|0x1000000|0\n视如敝屣|0x1000000|100\n视如草芥|0x1000000|100\n视如粪土|0x1000000|1271\n视如寇仇|0x1000000|100\n视如陌路|0x1000000|100\n视如土芥|0x1000000|100\n视如珍宝|0x0000|100\n视若儿戏|0x0000|100\n视若路人|0x1000000|1430\n视若无睹|0x1000000|45097\n视若无人|0x800000|0\n视神经|0x100000|41552\n视死如归|0x1000000|28134\n视死如生|0x1000000|100\n视死如饴|0x1000000|100\n视死若归|0x1000000|100\n视死若生|0x1000000|100\n视死犹归|0x1000000|100\n视听产品|0x100000|431\n视听室|0x100000|908\n视听音乐|0x100000|415\n视听中心|0x100000|693\n视听资料|0x0008|931\n视同儿戏|0x1000|1268\n视同拱璧|0x1000000|100\n视同路人|0x1000000|0\n视同陌路|0x1000000|1266\n视同秦越|0x1000000|100\n视同一律|0x1400000|0\n视网膜|0x100000|24191\n视网膜炎|0x0008|0\n视微知著|0x1000000|100\n视为儿戏|0x0000|100\n视为寇雠|0x1000000|100\n视为畏途|0x1000000|1147\n视为一体|0x400000|1\n视为知己|0x1000000|100\n视下如伤|0x1000000|100\n视险如夷|0x1000000|100\n视险若夷|0x1000000|100\n视远步高|0x1000000|100\n视之不见|0x1000000|573\n视准仪|0x100000|1310\n视紫红质|0x100000|1125\n试车场|0x100000|1061\n试点工作|0x100000|612\n试电笔|0x100000|1244\n试飞员|0x100000|1042\n试管架|0x0008|0\n试管婴儿|0x100000|31438\n试剂盒|0x100000|501\n试金石|0x100000|22232\n试镜头|0x100000|1240\n试生产|0x1000|945\n试试看|0x800000|647\n试算表|0x0000|412\n试探性|0x100000|825\n试题答案|0x100000|475\n试题库|0x100000|502\n试压泵|0x100000|458\n试验报告|0x0008|1\n试验场|0x100000|891\n试验品|0x0008|905\n试验区|0x100000|887\n试验室|0x100000|842\n试验台|0x100000|913\n试验田|0x100000|21449\n试验性|0x100000|958\n试验装置|0x0008|0\n试一试|0x400000|617\n试营业|0x1000|43745\n试用版|0x0008|1232\n试用品|0x0008|1012\n试用期|0x4000|18831\n试玉要烧三日满|0x400000|0\n试运行|0x1000|757\n试运转|0x0008|396\n试制品|0x100000|1220\n饰非拒谏|0x1000000|100\n饰非遂过|0x1000000|100\n饰非文过|0x1000000|100\n饰非掩过|0x1000000|100\n饰非养过|0x1000000|100\n饰垢掩疵|0x1000000|100\n饰怪装奇|0x1000000|100\n饰品店|0x100000|579\n饰品有限公司|0x100000|490\n饰情矫行|0x1000000|100\n饰智矜愚|0x1000000|100\n室迩人遐|0x1000000|100\n室迩人遥|0x1000000|100\n室迩人远|0x1000000|100\n室间隔|0x100000|1083\n室内环境|0x100000|554\n室内剧|0x100000|1175\n室内空间|0x100000|478\n室内空气|0x100000|571\n室内乐|0x100000|38351\n室内赛|0x100000|1072\n室内设计|0x0008|633\n室内设计师|0x100000|524\n室内拖鞋|0x100000|378\n室内装潢|0x100000|496\n室内装璜|0x100000|1005\n室内装饰|0x0008|708\n室内装饰品|0x100000|371\n室内装饰设计|0x100000|446\n室怒市色|0x1000000|100\n室如县罄|0x1000000|100\n室如悬磬|0x1000000|100\n室如悬罄|0x1000000|100\n室徒四壁|0x1400000|0\n室主任|0x100000|96\n恃才傲物|0x1000000|48128\n恃强凌弱|0x1000000|45692\n恃勇轻敌|0x0000|100\n拭面容言|0x0000|100\n拭目而待|0x1000000|100\n拭目倾耳|0x1000000|0\n拭目以待|0x1000000|24192\n拭目以俟|0x1000000|100\n是不是|0x1000|1641\n是多少|0x4000000|446\n是非得失|0x1000000|1144\n是非颠倒|0x1000000|1094\n是非分明|0x800000|1035\n是非口舌|0x1000000|1029\n是非曲直|0x1000000|33162\n是非窝|0x0000|55457\n是非之心|0x800000|1143\n是非只为多开口|0x0008|1164\n是非自有公论|0x0008|1191\n是否合法|0x0000|503\n是个儿|0x1000|0\n是古非今|0x1000000|100\n是可忍|0x800000|876\n是可忍孰不可忍|0x0000|393\n是什么|0x4000000|970\n是什么意思|0x4000000|708\n是什么原因|0x4000000|639\n是是非非|0x1000000|771\n是味儿|0x1000|54475\n是样儿|0x40000000|0\n是怎么回事|0x4000000|731\n柿子椒|0x100000|48869\n适材适所|0x0000|100\n适当其冲|0x0000|100\n适当其时|0x0000|100\n适得其反|0x1000000|20249\n适逢其会|0x1000000|52935\n适逢其时|0x800000|1160\n适航性|0x0008|0\n适合于|0x0000|650\n适居其反|0x0000|100\n适可而止|0x1000000|29459\n适龄儿童|0x0000|474\n适配器|0x100000|707\n适情率意|0x0000|100\n适情任欲|0x0000|100\n适如其分|0x0000|100\n适时应务|0x0000|100\n适俗随时|0x0000|100\n适销对路|0x800000|963\n适心娱目|0x0000|100\n适性任情|0x0000|100\n适性忘虑|0x0000|100\n适宜于|0x0000|490\n适以相成|0x0000|100\n适应力|0x100000|899\n适应能力|0x0008|559\n适应性|0x100000|718\n适应症|0x100000|861\n适用法律|0x100000|550\n适用法律若干问题|0x100000|472\n适用范围|0x100000|715\n适用人群|0x100000|467\n适用性|0x100000|817\n适用于|0x0000|813\n适者生存|0x800000|812\n舐犊情深|0x1000000|54476\n舐犊之爱|0x1000000|100\n舐糠及米|0x1000000|100\n舐皮论骨|0x0000|100\n舐痈吮痔|0x0000|100\n逝将去汝|0x1000000|100\n逝者如斯|0x1000000|809\n释放者|0x100000|1229\n释缚焚榇|0x1000000|100\n释回增美|0x1000000|100\n释迦牟尼|0x0080|22897\n释生取义|0x1000000|100\n释知遗形|0x1000000|100\n嗜铬细胞瘤|0x0008|0\n嗜痂成癖|0x800000|1416\n嗜痂之癖|0x1000000|100\n嗜酒如命|0x100000|1017\n嗜杀成性|0x800000|1124\n誓不罢休|0x1000000|44516\n誓不两立|0x1000000|50336\n誓海盟山|0x1000000|100\n誓日指天|0x1000000|100\n誓山盟海|0x1000000|100\n誓师大会|0x100000|971\n誓死不二|0x1400000|0\n誓死不贰|0x1000000|100\n誓死不屈|0x1000000|100\n誓死不渝|0x1000000|1130\n誓天断发|0x1000000|100\n誓天指日|0x1000000|100\n誓同生死|0x1000000|1270\n誓无二心|0x400000|0\n誓无二志|0x400000|0\n誓以皦日|0x1000000|100\n噬菌体|0x100000|1060\n噬脐何及|0x1000000|100\n噬脐莫及|0x1000000|1314\n噬脐无及|0x1000000|100\n螫手解腕|0x0000|100\n收报机|0x0008|1359\n收残缀轶|0x1000000|100\n收藏夹|0x0008|790\n收藏家|0x100000|768\n收藏迷|0x0008|0\n收藏者|0x100000|874\n收成弃败|0x1000000|100\n收刀检卦|0x1000000|100\n收发报机|0x100000|1265\n收发室|0x100000|32808\n收发员|0x100000|1178\n收费员|0x100000|976\n收费站|0x100000|740\n收割机|0x100000|17873\n收购额|0x0008|0\n收购价|0x100000|871\n收购价格|0x0000|566\n收购量|0x100000|1078\n收购员|0x100000|1301\n收购站|0x100000|771\n收回成命|0x1000000|1037\n收货人|0x1000000|821\n收获量|0x100000|1221\n收集者|0x0000|419\n收件人|0x100000|807\n收件箱|0x0008|1278\n收款单|0x100000|1204\n收款机|0x100000|39785\n收款人|0x100000|830\n收款台|0x100000|1118\n收离纠散|0x1000000|100\n收离聚散|0x1000000|100\n收敛性|0x0000|401\n收录机|0x100000|24193\n收录音机|0x0000|369\n收锣罢鼓|0x1000000|100\n收盘价|0x100000|817\n收票员|0x100000|1260\n收旗卷伞|0x1000000|100\n收容所|0x100000|31545\n收入水平|0x0000|564\n收生婆|0x100000|1375\n收视反听|0x1000000|1416\n收视率|0x100000|16828\n收税员|0x100000|1337\n收缩压|0x100000|1050\n收摊儿|0x1000|37417\n收摊子|0x1000|0\n收听率|0x100000|1053\n收效甚微|0x800000|868\n收信人|0x100000|914\n收养人|0x0008|1155\n收益分配|0x0008|488\n收益率|0x100000|670\n收益税|0x100000|1220\n收因结果|0x1000000|100\n收因种果|0x1000000|100\n收音机|0x100000|11617\n收银机|0x100000|905\n收银台|0x0000|54478\n收银员|0x0000|38553\n收园结果|0x1000000|100\n收缘结果|0x1000000|100\n收之桑榆|0x1000000|1025\n收支平衡|0x1000000|873\n手扒鸡|0x0008|0\n手把手|0x800000|19746\n手不释卷|0x1000000|40877\n手不释书|0x1000000|100\n手不停毫|0x0000|100\n手不停挥|0x800000|100\n手不应心|0x1000000|100\n手抄本|0x100000|36203\n手到病除|0x1000000|49228\n手到拿来|0x1000000|1136\n手到拈来|0x1000000|100\n手到擒来|0x1000000|45996\n手到擒拿|0x800000|1255\n手底下|0x100000|41325\n手电筒|0x100000|18779\n手动火灾报警按钮|0x0008|0\n手动式|0x100000|0\n手动液压|0x100000|395\n手法主义|0x100000|0\n手风琴|0x100000|26997\n手扶拖拉机|0x100000|992\n手高手低|0x1000000|100\n手高眼低|0x1000000|100\n手工费|0x100000|1105\n手工钱|0x100000|1336\n手工业|0x100000|11657\n手工业者|0x100000|1034\n手工艺|0x100000|29885\n手工艺品|0x100000|763\n手慌脚乱|0x1000000|0\n手挥目送|0x1000000|1325\n手机按键|0x100000|425\n手机报价|0x100000|536\n手机壁纸|0x100000|420\n手机厂商|0x100000|557\n手机城|0x100000|403\n手机充电器|0x100000|472\n手机带|0x100000|426\n手机待机图片|0x100000|399\n手机导购|0x100000|557\n手机电池|0x100000|545\n手机电影|0x100000|576\n手机动画|0x100000|511\n手机短消息|0x0000|432\n手机短信|0x100000|568\n手机耳机|0x100000|407\n手机费|0x100000|859\n手机号|0x100000|657\n手机号码|0x100000|688\n手机机型|0x100000|460\n手机价格|0x100000|515\n手机卡|0x100000|573\n手机款式|0x100000|368\n手机类型|0x100000|538\n手机买卖|0x100000|410\n手机门户|0x100000|399\n手机配件|0x100000|531\n手机品牌|0x100000|508\n手机屏幕|0x100000|500\n手机软件|0x100000|575\n手机商城|0x100000|422\n手机市场|0x100000|620\n手机饰品|0x100000|479\n手机套|0x100000|466\n手机特效|0x100000|447\n手机外壳|0x100000|444\n手机玩家|0x100000|495\n手机网|0x100000|639\n手机芯片|0x100000|506\n手机信号|0x100000|569\n手机行情|0x100000|512\n手机型号|0x100000|554\n手机用户|0x100000|606\n手机资讯|0x100000|471\n手急眼快|0x1000000|1239\n手疾眼快|0x1000000|47485\n手脚干净|0x0000|100\n手脚无措|0x1000000|1178\n手厥阴心包经|0x0008|0\n手拉手|0x800000|719\n手零脚碎|0x1000000|100\n手榴弹|0x100000|11222\n手忙脚乱|0x1000000|18628\n手胼足胝|0x1000000|100\n手枪套|0x100000|1318\n手三里|0x400008|0\n手少阳三焦经|0x400008|0\n手少阴心经|0x100000|1171\n手术床|0x100000|395\n手术刀|0x100000|26837\n手术费|0x100000|891\n手术过程|0x100000|445\n手术器械|0x100000|448\n手术钳|0x0008|1269\n手术室|0x100000|17598\n手术台|0x100000|25099\n手术台上|0x100000|463\n手太阳小肠经|0x0008|0\n手太阴肺经|0x0008|0\n手套厂|0x100000|379\n手提包|0x100000|24658\n手提袋|0x100000|707\n手提电脑|0x100000|788\n手提式|0x20000000|49588\n手提箱|0x100000|37606\n手头紧|0x800000|47486\n手头上|0x100000|509\n手推车|0x100000|31902\n手推式|0x100000|0\n手外科|0x100000|412\n手腕子|0x100000|38353\n手无寸刃|0x1000000|100\n手无寸铁|0x1000000|33163\n手无缚鸡之力|0x100000|507\n手五里|0x400008|0\n手舞足蹈|0x1000000|21770\n手下败将|0x0000|46887\n手下留情|0x1000000|38974\n手下人|0x100000|941\n手携手|0x1000|1\n手写板|0x100000|868\n手写输入|0x0000|515\n手写体|0x100000|53416\n手续费|0x100000|681\n手压式|0x100000|0\n手眼通天|0x1000000|53938\n手阳明大肠经|0x0008|0\n手摇式|0x100000|1065\n手摇钻|0x100000|1263\n手艺人|0x100000|36042\n手艺业|0x100000|0\n手泽之遗|0x0000|100\n手掌机|0x0008|1112\n手掌心|0x0000|33564\n手指甲|0x100000|897\n手指头|0x100000|13052\n手指语|0x100000|0\n手制动|0x0008|401\n手足胼胝|0x1000000|1362\n手足失措|0x1000000|1172\n手足无措|0x1000000|20027\n手足癣|0x100000|379\n手足异处|0x1000000|100\n手足之情|0x1000000|43267\n手足重茧|0x1000000|100\n守备部队|0x0008|1\n守本分|0x0000|50723\n守财奴|0x100000|40878\n守道安贫|0x0000|100\n守分安常|0x1000000|100\n守恒定律|0x100000|945\n守护人|0x0008|1047\n守护神|0x100000|706\n守护者|0x100000|772\n守活寡|0x1000|45999\n守节不移|0x0000|100\n守经达权|0x1000000|100\n守旧派|0x100000|43982\n守空房|0x0000|47817\n守口如瓶|0x1000000|33677\n守门员|0x100000|16543\n守瓶缄口|0x1000000|100\n守缺抱残|0x1000000|100\n守阙抱残|0x1000000|100\n守如处女|0x0000|100\n守身如玉|0x1000|857\n守摊子|0x0000|51138\n守土有责|0x800000|1125\n守望相助|0x1000000|48873\n守先待后|0x1000000|100\n守信用|0x800000|687\n守约施搏|0x1000000|100\n守正不阿|0x1000000|1283\n守正不回|0x1000000|100\n守正不挠|0x1000000|100\n守正不桡|0x1000000|100\n守株待兔|0x1000000|38975\n首倡者|0x100000|1148\n首创精神|0x0008|1\n首创者|0x100000|1089\n首当其冲|0x1000000|21642\n首都高|0x100000|379\n首都国际机场|0x100000|483\n首都机场|0x0040|1237\n首都经济|0x100000|485\n首都师范大学|0x100000|493\n首都医科大学|0x100000|459\n首都在线|0x800000|951\n首端过程|0x0008|0\n首恶必办|0x0008|0\n首发式|0x100000|15650\n首歌曲|0x100000|732\n首经贸|0x100000|378\n首脑会议|0x100000|542\n首丘之情|0x0000|100\n首屈一指|0x1400000|24249\n首日封|0x100000|37068\n首善之地|0x1000000|100\n首善之区|0x1000000|42035\n首身分离|0x0000|100\n首师大|0x100000|429\n首施两端|0x1000000|100\n首饰店|0x0008|1411\n首饰盒|0x0008|789\n首饰配件|0x100000|377\n首鼠两端|0x1000000|43983\n首尾共济|0x0000|100\n首尾两端|0x0000|100\n首尾相继|0x1000000|100\n首尾相连|0x1000000|1034\n首尾相卫|0x1000000|100\n首尾相应|0x1000000|53939\n首尾相援|0x1000000|100\n首席代表|0x0000|504\n首席记者|0x100000|467\n首席执行官|0x0000|624\n首席专家|0x100000|436\n首下尻高|0x1000000|100\n首映式|0x100000|28400\n首战告捷|0x800000|897\n首字母|0x0000|527\n首足异处|0x1000000|100\n寿比南山|0x1000000|42538\n寿不压职|0x1000000|100\n寿光市|0x0040|1386\n寿陵失步|0x1000000|100\n寿满天年|0x0000|100\n寿宁县|0x0040|1477\n寿山福海|0x1000000|1320\n寿山石|0x100000|38555\n寿阳县|0x0040|1632\n寿元无量|0x0000|100\n寿终正寝|0x1000000|31778\n受保人|0x100000|1299\n受不了|0x800000|7649\n受宠若惊|0x1000000|23610\n受得了|0x800000|760\n受访者|0x100000|836\n受害人|0x100000|772\n受害者|0x100000|645\n受话器|0x100000|54940\n受欢迎|0x0000|733\n受贿案|0x100000|963\n受贿罪|0x100000|906\n受激发射|0x0008|0\n受惊吓|0x0000|472\n受精卵|0x100000|930\n受理费|0x100000|1034\n受难者|0x100000|965\n受气包|0x100000|47487\n受让方|0x100000|1018\n受让人|0x100000|1011\n受人牵制|0x800000|1029\n受伤者|0x100000|953\n受胎率|0x0008|0\n受托人|0x0000|514\n受训者|0x100000|1085\n受益匪浅|0x800000|760\n受益人|0x100000|844\n受益者|0x100000|773\n受孕率|0x100000|1145\n受灾面|0x100000|1541\n受之有愧|0x800000|1010\n受制于人|0x800000|899\n狩猎场|0x100000|954\n狩猎法|0x0008|0\n狩岳巡方|0x1000000|100\n兽迒鸟迹|0x1000000|100\n兽聚鸟散|0x1000000|100\n兽困则噬|0x1000000|100\n兽穷则啮|0x0000|100\n兽穷则齧|0x1000000|100\n兽心人面|0x1000000|100\n兽药厂|0x100000|386\n兽医院|0x100000|1059\n兽医站|0x100000|871\n售后服务|0x800000|499\n售货区|0x0008|1409\n售货亭|0x0008|1080\n售货员|0x100000|12036\n售票处|0x100000|28216\n售票点|0x100000|465\n售票口|0x100000|1014\n售票亭|0x0008|1146\n售票员|0x100000|17754\n授柄于人|0x0000|100\n授权书|0x0008|894\n授权委托书|0x0000|539\n授人口实|0x1000000|100\n授人以柄|0x1000000|1080\n授受不亲|0x800000|983\n授业解惑|0x0000|100\n瘦大腿|0x100000|384\n瘦高挑儿|0x100000|0\n瘦骨嶙嶙|0x0000|100\n瘦骨嶙峋|0x800000|37776\n瘦骨如柴|0x0000|100\n瘦骨梭棱|0x0000|100\n瘦猴儿|0x0000|41787\n瘦金体|0x100000|1145\n瘦肉精|0x100000|452\n瘦肉型|0x0000|32560\n瘦羊博士|0x0000|100\n书报费|0x100000|1222\n书报摊|0x100000|1109\n书报亭|0x100000|416\n书本费|0x100000|1009\n书不尽言|0x1000000|1190\n书不尽意|0x1000000|100\n书不释手|0x1000000|100\n书呆子|0x100000|20063\n书店名称|0x100000|451\n书读五车|0x400000|100\n书法家|0x100000|763\n书法家协会|0x100000|499\n书法课|0x100000|1107\n书法艺术|0x100000|507\n书法展|0x100000|974\n书法作品|0x100000|825\n书富五车|0x400000|0\n书馆儿|0x100000|0\n书归正传|0x0000|49593\n书画家|0x100000|831\n书画卯酉|0x1000000|100\n书画名家|0x100000|440\n书画社|0x100000|986\n书画艺术|0x100000|481\n书画展|0x0000|22508\n书画作品|0x100000|482\n书籍费|0x100000|1221\n书记处|0x100000|880\n书记处书记|0x0000|502\n书记员|0x100000|22424\n书架箱|0x0008|405\n书剑恩仇录|0x100000|950\n书剑飘零|0x100000|1118\n书卷气|0x100000|36534\n书刊号|0x100000|369\n书空咄咄|0x1000000|100\n书面报告|0x0000|500\n书面形式|0x0000|565\n书面语|0x100000|34689\n书名号|0x100000|55458\n书名目录|0x0008|0\n书名索引|0x0008|0\n书囊无底|0x1000000|100\n书缺有间|0x1000000|100\n书生本色|0x1000000|968\n书生气|0x100000|37421\n书生气十足|0x400000|1\n书生之见|0x1000000|1175\n书声琅琅|0x0000|100\n书声朗朗|0x800000|1105\n书摊儿|0x0000|27405\n书通二酉|0x1400000|0\n书同文|0x100000|1076\n书香门第|0x1000000|33820\n书香门户|0x1000000|100\n书香人家|0x1000000|1244\n书香世家|0x1000000|1048\n抒情歌曲|0x100000|1\n抒情曲|0x100000|1021\n抒情散文|0x0008|0\n抒情诗|0x100000|23767\n抒情性|0x100000|1046\n叔本华|0x0008|452\n叔伯兄弟|0x0000|44811\n叔度陂湖|0x1000000|100\n叔祖母|0x100000|1412\n枢机主教|0x800000|1117\n枢密使|0x100000|1067\n枢密院|0x100000|999\n倏忽之间|0x0000|100\n殊不知|0x1000|17026\n殊方绝域|0x0000|100\n殊方同致|0x1000000|100\n殊方异域|0x0000|100\n殊路同归|0x1000000|100\n殊深轸念|0x1000000|100\n殊死搏斗|0x800000|933\n殊死战|0x100000|1156\n殊涂同归|0x1000000|100\n殊涂同会|0x1000000|100\n殊涂同致|0x1000000|100\n殊途同归|0x1000000|37069\n殊形诡状|0x1000000|100\n殊形妙状|0x0000|100\n殊勋异绩|0x0000|100\n殊言别语|0x1000000|100\n殊致同归|0x1000000|100\n梳辫子|0x1000|45390\n梳棉机|0x100000|1071\n梳头发|0x0000|433\n梳文栉字|0x1000000|100\n梳云掠月|0x1000000|100\n梳妆打扮|0x1000000|902\n梳妆台|0x100000|26637\n淑女屋|0x100000|425\n淑人君子|0x100000|1275\n淑质英才|0x0000|100\n菽水承欢|0x1000000|1148\n疏不间亲|0x1000000|1294\n疏财仗义|0x1000000|1269\n疏财重义|0x1000000|1540\n疏而不漏|0x800000|961\n疏附县|0x0040|1158\n疏肝解郁|0x0008|0\n疏肝理气|0x0008|0\n疏忽大意|0x800000|873\n疏勒河|0x0040|1163\n疏勒县|0x0040|1139\n疏密不一|0x400000|0\n疏密度|0x100000|1357\n疏疏落落|0x0100|965\n疏水键|0x0008|1539\n疏水器|0x100000|1121\n舒伯特|0x0080|1422\n舒城县|0x0040|1482\n舒筋活血|0x800000|52431\n舒兰市|0x0040|1046\n舒眉展眼|0x800000|1537\n舒舒服服|0x0100|760\n舒头探脑|0x1000000|100\n舒张压|0x0000|432\n摅肝沥胆|0x1000000|100\n输财助边|0x800000|100\n输出变压器|0x0008|0\n输出功率|0x0000|580\n输出国|0x100000|487\n输出量|0x0000|438\n输出模块|0x100000|452\n输出设备|0x0008|472\n输电网|0x100000|1187\n输电线|0x100000|1098\n输肝沥胆|0x1000000|100\n输肝剖胆|0x1000000|100\n输肝写胆|0x1000000|100\n输精管|0x100000|47488\n输卵管|0x100000|34690\n输卵管炎|0x0008|418\n输尿管|0x100000|44230\n输尿管结石|0x100000|375\n输气管|0x100000|1113\n输气管道|0x100000|10\n输入法|0x100000|560\n输入输出|0x100000|573\n输入阻抗|0x0000|452\n输水管|0x100000|1068\n输送带|0x100000|815\n输心服意|0x1000000|100\n输血反应|0x0008|0\n输油泵|0x0008|397\n输油管|0x100000|37070\n输油管道|0x100000|487\n输油管线|0x100000|1088\n输运现象|0x0008|0\n蔬菜基地|0x100000|471\n蔬菜水果|0x100000|510\n蔬菜园艺|0x0008|0\n蔬菜汁|0x100000|980\n蔬菜制品|0x100000|371\n蔬菜种子|0x100000|417\n孰不可忍|0x800000|932\n孰能无过|0x1000000|949\n孰能无情|0x800000|971\n孰是孰非|0x800000|921\n赎罪券|0x0008|0\n熟地黄|0x0008|1079\n熟读深思|0x1000000|1243\n熟练度|0x100000|525\n熟练工|0x100000|960\n熟练者|0x0000|367\n熟路轻车|0x1000000|100\n熟路轻辙|0x1000000|100\n熟门熟路|0x800000|44517\n熟能生巧|0x1000000|46283\n熟石膏|0x100000|1262\n熟石灰|0x100000|55459\n熟食店|0x0040|3\n熟视无睹|0x1000000|25783\n熟思审处|0x1000000|1534\n熟魏生张|0x800000|100\n暑来寒往|0x0000|100\n暑期班|0x100000|1\n暑期社会|0x100000|472\n暑往寒来|0x0000|100\n暑雨祁寒|0x1000000|100\n黍离麦秀|0x1000000|100\n黍秀宫庭|0x1000000|100\n黍油麦秀|0x1000000|100\n署名权|0x0008|846\n鼠臂虮肝|0x1000000|100\n鼠标垫|0x100000|755\n鼠标器|0x100000|51142\n鼠窜蜂逝|0x1000000|100\n鼠窜狗盗|0x1000000|100\n鼠窜狼奔|0x1000000|100\n鼠盗狗窃|0x1000000|100\n鼠肚鸡肠|0x1000000|1217\n鼠腹鸡肠|0x1000000|1377\n鼠腹蜗肠|0x1000000|100\n鼠肝虫臂|0x1000000|100\n鼠迹狐踪|0x1000000|100\n鼠目寸光|0x1000000|42784\n鼠目獐头|0x0000|100\n鼠目麞头|0x1000000|100\n鼠啮虫穿|0x0000|100\n鼠啮蠹蚀|0x0000|100\n鼠齧虫穿|0x1000000|100\n鼠齧蠹蚀|0x1000000|100\n鼠凭社贵|0x1000000|1274\n鼠窃狗盗|0x1000000|1296\n鼠窃狗偷|0x1000000|1246\n鼠曲草|0x100000|1284\n鼠雀之辈|0x1000000|100\n鼠雀之牙|0x1000000|100\n鼠入牛角|0x1000000|100\n鼠屎汙羹|0x1000000|100\n鼠屎污羹|0x0000|100\n鼠首偾事|0x1000000|100\n鼠偷狗盗|0x1000000|100\n鼠心狼肺|0x1000000|100\n鼠穴寻羊|0x1000000|100\n鼠牙雀角|0x1000000|100\n蜀锦吴绫|0x0000|100\n蜀犬吠日|0x1000000|1199\n蜀中无大将|0x0008|1126\n薯莨绸|0x100000|0\n薯芋类蔬菜|0x0008|1359\n曙后星孤|0x1000000|100\n束贝含犀|0x1000000|100\n束兵秣马|0x1000000|100\n束椽为柱|0x1000000|100\n束带结发|0x1000000|100\n束发封帛|0x1000000|100\n束缚水|0x0008|0\n束缚态|0x0008|0\n束戈卷甲|0x1000000|100\n束广就狭|0x1000000|100\n束肩敛息|0x1000000|100\n束教管闻|0x1000000|100\n束马县车|0x1000000|100\n束马悬车|0x1000000|100\n束蒲为脯|0x1000000|100\n束上起下|0x1000000|100\n束身就缚|0x0000|100\n束身受命|0x0000|100\n束身自爱|0x1000000|100\n束身自好|0x1000000|100\n束身自修|0x1000000|100\n束手待毙|0x1000000|42039\n束手待死|0x1000000|100\n束手缚脚|0x1000000|1311\n束手就毙|0x1000000|100\n束手就困|0x1000000|100\n束手就擒|0x1000000|35101\n束手就殪|0x1000000|100\n束手旁观|0x1000000|100\n束手束脚|0x1000000|48132\n束手束足|0x1000000|100\n束手听命|0x1000000|100\n束手无策|0x1000000|16406\n束手无措|0x1000000|1095\n束手无计|0x1000000|100\n束手无术|0x1000000|100\n束手自毙|0x1000000|100\n束手坐视|0x1000000|100\n束修自好|0x1000000|100\n束缊还妇|0x1000000|100\n束缊举火|0x1000000|100\n束缊请火|0x1000000|100\n束蕴乞火|0x1000000|100\n束蕴请火|0x1000000|100\n束在高阁|0x1000000|100\n束杖理民|0x1000000|100\n束之高阁|0x1000000|26839\n束之高屋|0x1000000|100\n束置高阁|0x1000000|100\n束装盗金|0x1000000|100\n束装就道|0x1000000|100\n沭阳县|0x0040|1315\n述而不作|0x1000000|52938\n树碑立传|0x1000000|35275\n树大根深|0x800000|1050\n树大招风|0x1000000|46579\n树袋熊|0x100000|958\n树倒根摧|0x1000000|100\n树倒猢孙散|0x0008|1391\n树倒猢狲散|0x0008|45391\n树德务滋|0x1000000|100\n树高千丈|0x1000000|1232\n树高招风|0x1000000|100\n树功立业|0x1000000|0\n树林子|0x100000|1029\n树上开花|0x1000000|1092\n树俗立化|0x1000000|100\n树同拔异|0x1000000|100\n树欲静而风不宁|0x0008|100\n树欲静而风不停|0x0008|100\n树欲静而风不止|0x0008|867\n树欲息而风不停|0x0008|100\n树元立嫡|0x1000000|100\n树脂工艺品|0x100000|464\n树脂剂|0x100000|0\n树脂砂|0x100000|391\n竖起脊梁|0x1000000|100\n竖蜻蜓|0x100000|1269\n竖子成名|0x1000000|1124\n恕不奉陪|0x800000|1108\n庶务员|0x100000|0\n庶务组|0x100000|0\n数白论黄|0x1000000|100\n数不尽|0x0000|495\n数不清|0x1000|595\n数不上|0x1000|0\n数不胜数|0x800000|27149\n数不着|0x1000|1383\n数得上|0x1000|55461\n数得着|0x800000|45696\n数的几何|0x0008|0\n数典忘祖|0x1000000|43028\n数东瓜|0x1000|100\n数短论长|0x1000000|100\n数黑论白|0x1000000|100\n数黑论黄|0x1000000|100\n数黄道白|0x1000000|100\n数黄道黑|0x1000000|100\n数见不鲜|0x1000000|52946\n数九寒冬|0xc00000|0\n数九寒天|0x1400000|43029\n数据包|0x0000|628\n数据表|0x100000|565\n数据仓库|0x100000|519\n数据舱|0x100000|1541\n数据处理|0x0008|746\n数据处理系统|0x0008|2\n数据传输|0x100000|688\n数据格式|0x0000|498\n数据管理|0x0008|766\n数据机|0x0008|1044\n数据结构|0x0008|788\n数据库|0x100000|6388\n数据库技术|0x100000|504\n数据库连接|0x100000|537\n数据库文件|0x0000|516\n数据类型|0x100000|582\n数据链|0x100000|1061\n数据量|0x100000|1\n数据流|0x100000|807\n数据模型|0x100000|480\n数据通|0x100000|405\n数据通信|0x0008|765\n数据通讯|0x100000|498\n数据文件|0x0008|1\n数据线|0x100000|669\n数据项|0x100000|1009\n数据压缩|0x0008|475\n数据业务|0x100000|556\n数据一致性|0x400000|0\n数据源|0x100000|773\n数据中心|0x100000|624\n数据资料|0x100000|813\n数控车床|0x100000|493\n数控机床|0x100000|574\n数控机械|0x100000|390\n数控技术|0x100000|483\n数控加工中心|0x100000|407\n数控系统|0x100000|487\n数来宝|0x100000|43513\n数理化|0x100000|822\n数理逻辑|0x100000|34229\n数理统计|0x0000|51561\n数量词|0x100000|1119\n数量化|0x1000|1062\n数量级|0x100000|33314\n数码宝贝|0x0000|454\n数码产品|0x100000|651\n数码城|0x100000|517\n数码单反|0x100000|542\n数码电视|0x100000|390\n数码复印机|0x100000|463\n数码管|0x100000|476\n数码广场|0x100000|536\n数码化|0x0008|1614\n数码技术|0x0008|1\n数码科技|0x100000|627\n数码科技有限公司|0x100000|577\n数码录音笔|0x100000|456\n数码频道|0x100000|450\n数码商城|0x100000|517\n数码设备|0x100000|495\n数码摄像机|0x100000|634\n数码天下|0x100000|433\n数码听|0x100000|407\n数码望远镜|0x100000|374\n数码相册|0x100000|452\n数码相机|0x100000|23037\n数码相机伴侣|0x100000|485\n数码相机报价|0x100000|423\n数码相机市场|0x100000|488\n数码相片|0x100000|494\n数码影像|0x100000|582\n数码照片|0x100000|581\n数码照相机|0x100000|495\n数米而炊|0x1000000|1494\n数米量柴|0x0000|100\n数模转换器|0x0008|1069\n数目字|0x100000|26072\n数往知来|0x1000000|1541\n数学分析|0x0008|912\n数学公式|0x100000|476\n数学家|0x100000|780\n数学教案|0x100000|457\n数学教师|0x100000|483\n数学界|0x100000|406\n数学科|0x100000|964\n数学课|0x0008|799\n数学课程|0x100000|471\n数学老师|0x100000|521\n数学论文|0x100000|425\n数学模拟|0x0008|0\n数学模型|0x0008|508\n数学史|0x100000|409\n数学试卷|0x100000|482\n数学试题|0x100000|502\n数学四|0x100000|422\n数学题|0x100000|511\n数学系|0x100000|806\n数学知识|0x100000|509\n数学组|0x100000|1\n数一数二|0x1400000|29563\n数乙数二|0x400000|0\n数以百计|0x800000|895\n数以百万计|0x0008|926\n数以千计|0x800000|854\n数以万计|0x800000|800\n数易其稿|0x800000|1142\n数值孔径|0x0008|0\n数字地图|0x0008|786\n数字电路|0x0008|491\n数字电视|0x100000|674\n数字多用表|0x0008|0\n数字化|0x1000|6931\n数字集成电路|0x0008|0\n数字集团电话|0x100000|389\n数字计算机|0x0008|369\n数字家庭|0x100000|530\n数字键|0x0000|546\n数字键盘|0x100000|455\n数字卡|0x100000|498\n数字控制|0x100000|100\n数字滤波器|0x0008|377\n数字配线架|0x0008|0\n数字频率计|0x0008|0\n数字签名|0x100000|889\n数字式|0x20000000|830\n数字视频|0x100000|515\n数字通信|0x100000|444\n数字通讯|0x100000|955\n数字投影仪|0x0008|0\n数字图书馆|0x100000|527\n数字图象处理|0x0008|0\n数字图像|0x100000|483\n数字卫星接收机|0x100000|375\n数字相机|0x100000|944\n数字信号|0x0008|550\n数字型|0x100000|453\n数字音频|0x100000|497\n数字影像|0x0000|440\n数字证书|0x100000|494\n数罪并罚|0x800000|34381\n鉥肝刿肾|0x1000000|100\n鉥心刿目|0x1000000|0\n鉥心刿肾|0x1000000|100\n漱口杯|0x0008|1075\n漱口水|0x0008|420\n漱流枕石|0x1000000|100\n漱石枕流|0x1000000|1355\n刷刷牙|0x100000|1109\n刷新率|0x100000|924\n耍把戏|0x1000|49956\n耍笔杆|0x800000|51143\n耍单儿|0x1000|1267\n耍猴儿|0x0000|39372\n耍花枪|0x1000|1074\n耍花腔|0x1000000|1219\n耍花样|0x1000|54483\n耍花招|0x800000|46890\n耍滑头|0x0000|47491\n耍赖皮|0x1000|1028\n耍流氓|0x800000|46003\n耍排场|0x1000|1365\n耍脾气|0x1000|48876\n耍贫嘴|0x800000|42542\n耍手段|0x1000|55895\n耍手腕|0x1000|1154\n耍手艺|0x1000|52940\n耍态度|0x0000|52941\n耍威风|0x1000|44812\n耍无赖|0x1000|48134\n耍心眼儿|0x1000|54484\n耍嘴皮子|0x1000000|44813\n衰变产物|0x0008|0\n衰当益壮|0x0000|100\n衰减常数|0x0008|0\n衰减器|0x0008|1626\n衰减系数|0x0008|0\n摔跟头|0x1000|42294\n摔了一跤|0x400000|4\n甩包袱|0x1000|50724\n甩开膀子|0x800000|1\n甩手掌柜|0x800000|49595\n帅哥哥|0x100000|948\n闩门闭户|0x0000|100\n拴马桩|0x0000|48877\n栓皮栎|0x100000|1252\n涮锅子|0x100000|53943\n涮羊肉|0x100000|37238\n双百方针|0x100000|45101\n双柏县|0x0040|1050\n双胞胎|0x100000|20029\n双边带调制|0x0008|0\n双边关系|0x100000|908\n双边合作|0x100000|1023\n双边贸易|0x100000|74\n双边条约|0x0008|3\n双宾语|0x100000|1247\n双博士|0x100000|399\n双层床|0x100000|1011\n双城记|0x0008|1462\n双城市|0x0040|1530\n双唇音|0x100000|1404\n双唇症|0x100000|0\n双打赛|0x100000|0\n双等离子体离子源|0x0008|0\n双电源|0x100000|454\n双二倍体|0x400008|0\n双飞燕|0x0008|0\n双峰驼|0x100000|1224\n双峰县|0x0040|1573\n双凫一雁|0x1400000|0\n双斧伐孤树|0x0008|100\n双柑斗酒|0x1000000|100\n双工器|0x0008|1165\n双挂号|0x1000|1368\n双关语|0x100000|41555\n双管齐下|0x1000000|24595\n双轨制|0x100000|42785\n双桂联芳|0x1000000|100\n双核心|0x100000|566\n双簧管|0x100000|48500\n双极存储器|0x0008|0\n双极晶体管|0x0008|0\n双季稻|0x100000|47492\n双肩挑|0x1000|53420\n双绞线|0x100000|837\n双金属|0x100000|460\n双金属温度计|0x100000|399\n双辽市|0x0040|1036\n双列杂交|0x0008|0\n双流县|0x0040|1502\n双龙洞|0x100000|382\n双螺杆挤出机|0x0008|0\n双螺旋|0x0008|1552\n双面板|0x100000|388\n双年展|0x100000|498\n双牌县|0x0040|1041\n双栖双宿|0x0000|423\n双桥区|0x0040|1459\n双球菌|0x100000|1099\n双曲面|0x100000|1156\n双曲线|0x100000|974\n双拳难敌四手|0x400000|0\n双人床|0x100000|30439\n双人房|0x0000|512\n双人间|0x100000|479\n双人舞|0x100000|28050\n双刃剑|0x100000|22426\n双三次插值|0x400000|0\n双生子|0x0000|47493\n双声带|0x0008|0\n双声道|0x0040|474\n双十革命|0x400000|0\n双十国庆|0x400000|0\n双宿双飞|0x1000000|955\n双体船|0x0008|1\n双通道|0x0000|590\n双瞳剪水|0x1000000|100\n双筒井|0x100000|0\n双筒望远镜|0x0008|0\n双桅船|0x0000|392\n双稳态|0x0008|0\n双喜临门|0x1000000|35103\n双系统|0x0000|498\n双下巴|0x0000|429\n双线性系统|0x0008|0\n双向二极管|0x400000|0\n双向通信|0x0008|0\n双向选择|0x0008|23715\n双橡园|0x0040|1344\n双休日|0x100000|13022\n双学士|0x100000|431\n双学位|0x0008|49596\n双循环|0x100000|1092\n双鸭山|0x0040|1342\n双鸭山市|0x0040|1461\n双眼皮|0x100000|36712\n双氧水|0x100000|48135\n双翼飞机|0x0008|1\n双引号|0x0000|475\n双硬盘|0x100000|437\n双鱼座|0x0008|610\n双语版|0x100000|468\n双语学校|0x100000|449\n双原子分子|0x0008|0\n双月刊|0x100000|43030\n双杂交|0x0008|0\n双增双节|0x0008|1343\n双闸板防喷器|0x0008|0\n双折射|0x0008|371\n双职工|0x100000|38752\n双重国籍|0x100000|42295\n双重人格|0x100000|49957\n双重性|0x100000|991\n双周刊|0x100000|1012\n双子宫|0x100000|394\n双子叶植物|0x0008|1139\n双子座|0x0008|639\n双足重茧|0x800000|100\n霜凋夏绿|0x1000000|100\n霜露之悲|0x1000000|100\n霜露之病|0x800000|100\n霜露之辰|0x1000000|100\n霜露之感|0x1000000|100\n霜露之思|0x1000000|100\n霜霉病|0x0008|1121\n霜淇淋|0x100000|1110\n霜气横秋|0x0000|100\n霜行草宿|0x1000000|100\n霜叶红于二月花|0x400000|0\n孀妻弱子|0x0000|100\n爽然若失|0x1000000|51144\n爽然自失|0x1000000|100\n爽身粉|0x0008|50339\n爽爽快快|0x0100|995\n爽心豁目|0x1000000|100\n爽心悦目|0x1000000|1095\n谁动了我的奶酪|0x0000|457\n谁会想到|0x0000|472\n谁是谁非|0x1000000|873\n谁也没有想到|0x0000|460\n谁知道|0x0000|746\n谁知盘中餐|0x800000|1064\n水泵厂|0x100000|505\n水泵房|0x0008|0\n水碧山青|0x0000|100\n水玻璃|0x0008|1027\n水彩画|0x100000|25846\n水彩画家|0x100000|971\n水菜不交|0x1000000|100\n水产局|0x100000|945\n水产品|0x100000|10420\n水产饲料|0x100000|430\n水产业|0x100000|980\n水产资源|0x0008|3\n水菖蒲|0x0008|0\n水长船高|0x1000000|100\n水成岩|0x100000|1292\n水城县|0x0040|1052\n水处理|0x0008|653\n水处理材料|0x100000|379\n水处理技术|0x100000|475\n水处理设备|0x100000|541\n水处理药剂|0x100000|405\n水到渠成|0x1000000|26157\n水到鱼行|0x1000000|100\n水稻插秧机|0x0008|0\n水稻田|0x100000|1036\n水滴石穿|0x1000000|51565\n水底捞月|0x1000000|1541\n水底捞针|0x1000000|100\n水底摸月|0x1000000|100\n水底纳瓜|0x1000000|100\n水电部|0x100000|1128\n水电厂|0x100000|949\n水电费|0x100000|834\n水电工|0x100000|919\n水电工程|0x100000|540\n水电局|0x100000|989\n水电站|0x100000|9048\n水调歌头|0x1000000|853\n水豆腐|0x100000|1096\n水分子|0x100000|481\n水粉画|0x100000|47495\n水浮莲|0x100000|48136\n水富县|0x0040|1124\n水工业|0x100000|451\n水管车|0x0008|0\n水光山色|0x1000000|1144\n水果刀|0x0000|36370\n水果店|0x0040|892\n水果罐头|0x0008|961\n水果机|0x100000|377\n水果篮|0x100000|514\n水果篮子|0x100000|496\n水果市场|0x100000|439\n水果摊|0x100000|905\n水果糖|0x100000|41095\n水果汁|0x0008|1036\n水过地皮湿|0x100000|1324\n水过鸭背|0x1000000|1260\n水旱轮作|0x0008|0\n水旱灾害|0x100000|1093\n水合氯醛|0x100000|1151\n水合物|0x100000|1065\n水红花子|0x0008|0\n水葫芦|0x0008|32301\n水浒传|0x0008|1229\n水花生|0x0008|1257\n水花四溅|0x400000|1\n水化学|0x0008|0\n水环境|0x100000|537\n水灰比|0x100000|1211\n水火兵虫|0x0000|100\n水火不避|0x1000000|100\n水火不辞|0x1000000|100\n水火不兼容|0x0000|100\n水火不容|0x800000|880\n水火不相容|0x0008|949\n水火棍|0x100000|1244\n水火无交|0x1000000|100\n水火无情|0x1000000|50725\n水火相济|0x1000000|1153\n水火之中|0x1000000|920\n水货手机|0x100000|509\n水激则旱|0x1000000|0\n水见式|0x100000|0\n水浇地|0x100000|25442\n水洁冰清|0x0000|100\n水尽鹅飞|0x1000000|1338\n水尽山穷|0x1000000|100\n水经注|0x0008|1608\n水晶板|0x100000|382\n水晶玻璃|0x100000|468\n水晶城|0x100000|416\n水晶灯|0x100000|466\n水晶灯笼|0x100000|100\n水晶工艺品|0x100000|488\n水晶宫|0x100000|34093\n水晶花|0x100000|512\n水晶礼品|0x100000|427\n水晶泥|0x100000|521\n水晶球|0x0008|778\n水晶石|0x100000|49959\n水晶饰品|0x100000|533\n水晶体|0x100000|1097\n水晶头|0x0008|471\n水晶土|0x100000|387\n水晶项链|0x100000|434\n水晶像|0x100000|454\n水晶照片|0x100000|430\n水晶之恋|0x100000|657\n水晶制品|0x100000|453\n水净鹅飞|0x1000000|100\n水净化|0x0008|940\n水可载舟|0x1000000|1126\n水枯石烂|0x1000000|100\n水库养鱼|0x0008|0\n水阔山高|0x0000|100\n水来伸手|0x800000|100\n水来土掩|0x1000000|976\n水来土堰|0x1000000|0\n水里纳瓜|0x1000000|100\n水里去|0x800000|100\n水力发电|0x800000|832\n水力发电厂|0x0008|1\n水力学|0x100000|992\n水立方|0x100000|393\n水利部|0x100000|1286\n水利部门|0x100000|466\n水利电力|0x100000|484\n水利工程|0x800000|723\n水利化|0x1000|1167\n水利建设|0x100000|866\n水利局|0x100000|1274\n水利枢纽|0x800000|911\n水利水电|0x100000|582\n水利水电工程|0x100000|500\n水利厅|0x100000|1432\n水利土壤改良|0x0008|0\n水利委员会|0x100000|461\n水利学|0x100000|1124\n水利资源|0x0008|2\n水帘洞|0x0040|1418\n水疗法|0x100000|1168\n水淋淋|0x0100|32561\n水灵灵|0x0100|822\n水流花落|0x1000000|1320\n水流花谢|0x0000|100\n水流湿|0x1000000|0\n水流云散|0x1000000|100\n水龙带|0x100000|1129\n水龙头|0x100000|17027\n水陆毕陈|0x0000|100\n水陆空|0x100000|983\n水陆联运|0x0008|0\n水陆杂陈|0x1000|100\n水路运输|0x0008|876\n水绿色|0x100000|1126\n水轮泵|0x100000|1265\n水轮发电机|0x0008|1061\n水轮机|0x100000|43031\n水落管|0x100000|1338\n水落归漕|0x1000000|100\n水落归槽|0x1000000|100\n水落石出|0x1000000|19142\n水满金山|0x1000000|1292\n水漫金山|0x1000000|896\n水煤气|0x100000|1137\n水门事件|0x0008|22\n水门汀|0x100000|1119\n水米无干|0x1000000|100\n水米无交|0x1000000|1368\n水蜜桃|0x100000|38558\n水面下|0x100000|430\n水面蒸发|0x0008|0\n水明山秀|0x1000000|100\n水磨工夫|0x1000000|1305\n水磨石|0x100000|46004\n水墨画|0x100000|24144\n水母目虾|0x1000000|100\n水木年华|0x100000|724\n水木清华|0x1000000|1246\n水幕电影|0x0000|48879\n水泥板|0x100000|943\n水泥厂|0x100000|706\n水泥袋|0x100000|395\n水泥地|0x100000|924\n水泥钉|0x100000|1128\n水泥工|0x100000|1182\n水泥管|0x100000|399\n水泥机械|0x100000|391\n水泥浆|0x100000|1091\n水泥沙|0x100000|393\n水泥砂浆|0x0008|2\n水泥石|0x0008|0\n水泥外加剂|0x0008|0\n水泥制品|0x100000|462\n水泥砖|0x100000|388\n水牛角|0x100000|1087\n水暖工|0x100000|49961\n水暖配件|0x100000|393\n水暖器材|0x100000|470\n水佩风裳|0x1000000|1272\n水皮儿|0x100000|0\n水漂儿|0x100000|1176\n水平地带性|0x0008|1534\n水平舵|0x0008|0\n水平衡|0x0008|1\n水平抗性|0x0008|0\n水平面|0x100000|37976\n水平如镜|0x800000|1094\n水平尾翼|0x0008|0\n水平线|0x100000|29886\n水平线上|0x100000|466\n水平仪|0x100000|54486\n水瓶座|0x0000|646\n水青冈|0x0008|0\n水清无鱼|0x800000|1164\n水穷山尽|0x1000000|100\n水球赛|0x100000|0\n水曲柳|0x100000|51990\n水溶性|0x100000|43751\n水溶液|0x0008|907\n水乳交融|0x1000000|27881\n水软山温|0x1000000|100\n水色山光|0x0000|100\n水上飞机|0x800000|1046\n水上运动|0x100000|34231\n水蛇腰|0x100000|49597\n水射流|0x100000|414\n水深火热|0x1000000|26999\n水生植物|0x100000|956\n水剩山残|0x1000000|100\n水师营|0x0040|0\n水石清华|0x1000000|1497\n水手版|0x100000|379\n水手长|0x100000|1168\n水手服|0x100000|401\n水手衫|0x100000|1338\n水刷石|0x100000|1249\n水宿风餐|0x1000000|100\n水宿山行|0x1000000|100\n水獭皮|0x100000|1269\n水天一色|0x1400000|0\n水土保持|0x100000|18345\n水土不服|0x800000|800\n水土流失|0x1000|7175\n水汪汪|0x0100|24195\n水危机|0x100000|414\n水位计|0x0008|1103\n水温表|0x100000|386\n水文测验|0x0008|0\n水文地理学|0x0008|0\n水文地质|0x0008|929\n水文地质条件|0x0008|0\n水文地质学|0x0008|0\n水文情势|0x0008|0\n水文物理学|0x0008|0\n水文学|0x100000|1027\n水文站|0x100000|29254\n水污染|0x100000|807\n水蜈蚣|0x0008|0\n水务局|0x100000|1368\n水洗布|0x0000|53422\n水下试验|0x0008|0\n水仙花|0x100000|27882\n水消毒|0x0008|0\n水楔不通|0x1000000|100\n水泄不漏|0x1000000|100\n水泄不通|0x1000000|18910\n水泄不透|0x1000000|100\n水洩不通|0x1000000|100\n水性漆|0x100000|409\n水性杨花|0x1000000|45697\n水性油墨|0x100000|388\n水秀山明|0x1000000|100\n水循环|0x100000|37977\n水压机|0x100000|47822\n水压驱动|0x0008|0\n水压试验|0x0008|0\n水烟袋|0x100000|28403\n水烟筒|0x100000|1204\n水杨梅|0x0008|0\n水杨酸|0x100000|926\n水舀子|0x100000|55463\n水翼船|0x100000|55464\n水银灯|0x100000|45394\n水银柱|0x100000|47496\n水俣病|0x0008|1248\n水源地|0x100000|948\n水源路|0x0040|0\n水远山长|0x1000000|100\n水远山遥|0x1000000|100\n水月观音|0x1000000|1211\n水月镜花|0x1000000|1041\n水月镜像|0x800000|0\n水云天|0x100000|407\n水则覆舟|0x1000000|0\n水则载舟|0x1000000|0\n水涨船高|0x1000000|28306\n水蒸气|0x100000|21598\n水蒸汽|0x100000|995\n水至清则无鱼|0x0008|837\n水质标准|0x0008|461\n水中毒|0x0008|0\n水中捞月|0x1000000|52943\n水中著盐|0x1000000|100\n水中捉月|0x1000000|1348\n水肿病|0x100000|1191\n水煮蛋|0x0000|392\n水煮鱼|0x0008|517\n水准测量|0x0008|0\n水准器|0x0008|1163\n水准仪|0x100000|996\n水资源|0x100000|703\n水资源保护|0x0008|453\n水族馆|0x100000|32302\n水族箱|0x100000|868\n税收法规|0x100000|448\n税收法律|0x100000|474\n税收收入|0x100000|522\n税收优惠政策|0x100000|544\n税收政策|0x100000|787\n税收制度|0x0000|479\n税务报|0x100000|386\n税务代理|0x100000|492\n税务局|0x100000|675\n税务师事务所|0x100000|452\n税务所|0x100000|1446\n税务系统|0x100000|472\n税务员|0x100000|1228\n税务总局|0x100000|657\n睡不着|0x0000|665\n睡懒觉|0x1000|33679\n睡美人|0x100000|1264\n睡梦中|0x100000|606\n睡眠不足|0x0000|534\n睡眠疗法|0x0008|850\n睡眠曲|0x100000|0\n睡眠症|0x100000|0\n睡卧不宁|0x0000|100\n睡午觉|0x0000|486\n睡眼惺忪|0x1000000|42543\n睡一觉|0x400000|0\n睡着了|0x0000|685\n吮疽舐痔|0x1000000|100\n吮痈舐痔|0x1000000|100\n顺昌县|0x0040|1566\n顺磁性|0x0008|0\n顺道儿|0x800000|0\n顺道者昌|0x1000000|0\n顺德者昌|0x1000000|0\n顺丁橡胶|0x0008|1027\n顺反异构|0x0008|0\n顺反子|0x100000|1355\n顺非而泽|0x1000000|100\n顺风扯帆|0x1000000|100\n顺风吹火|0x1000000|1510\n顺风而呼|0x0000|100\n顺风耳|0x100000|39600\n顺风使船|0x1000000|100\n顺风使舵|0x1000000|100\n顺风使帆|0x1000000|100\n顺风驶船|0x1000000|100\n顺风行船|0x1000000|100\n顺风张帆|0x1000000|100\n顺风转舵|0x1000000|1542\n顺杆儿爬|0x800000|1416\n顺过饰非|0x1000000|100\n顺乎自然|0x800000|1092\n顺口开河|0x1000000|100\n顺口溜|0x100000|17755\n顺理成章|0x1000000|18158\n顺利进行|0x0000|618\n顺流而下|0x800000|890\n顺蔓摸瓜|0x1000000|100\n顺美匡恶|0x1000000|100\n顺平县|0x0040|1640\n顺其自然|0x800000|609\n顺人应天|0x1000000|100\n顺时而动|0x1000000|100\n顺时随俗|0x1000000|100\n顺时针|0x0000|49598\n顺时针方向|0x0000|456\n顺手牵羊|0x1000000|40011\n顺水放船|0x1000000|100\n顺水人情|0x1000000|46006\n顺水顺风|0x1000000|1254\n顺水推船|0x1000000|1308\n顺水推舟|0x1000000|29136\n顺水行舟|0x1000000|1104\n顺顺当当|0x0100|1009\n顺藤摸瓜|0x1000000|31673\n顺天从人|0x1000000|100\n顺天应人|0x1000000|1213\n顺天应时|0x0000|100\n顺天者昌|0x1000000|1271\n顺天者存|0x1000000|0\n顺我者昌|0x1000000|1050\n顺我者生|0x1000000|1199\n顺序排列|0x0000|529\n顺义区|0x0040|1269\n顺应性|0x0000|381\n顺之者昌|0x1000000|1114\n顺之者兴|0x1000000|0\n舜日尧年|0x1000000|100\n舜日尧天|0x1000000|100\n瞬间胶|0x100000|370\n瞬时速度|0x800000|1187\n瞬时值|0x0008|0\n瞬息万变|0x1000000|23452\n瞬息之间|0x0000|100\n说白道黑|0x1000000|100\n说白道绿|0x1000000|100\n说白了|0x800000|34997\n说不出口|0x0000|556\n说不出来|0x0000|568\n说不得|0x1000|45102\n说不定|0x800000|5154\n说不过去|0x800000|24980\n说不来|0x1000|43033\n说不清|0x800000|525\n说不清楚|0x800000|733\n说不上|0x800000|16607\n说不准|0x0000|23038\n说不着|0x800000|52945\n说长道短|0x1000000|36882\n说长话短|0x1000000|100\n说长论短|0x1000000|1263\n说长说短|0x1000000|100\n说唱文学|0x100000|948\n说大话|0x800000|28135\n说到曹操|0x1000000|0\n说到底|0x800000|9842\n说到做到|0x800000|30543\n说得过去|0x800000|27483\n说得好|0x0000|618\n说得来|0x40000000|41097\n说得上|0x0000|32046\n说地谈天|0x1000000|100\n说东道西|0x1000000|48138\n说东谈西|0x1000000|100\n说短道长|0x1000000|100\n说短论长|0x1000000|1375\n说二是二|0xc00000|0\n说法不一|0xc00000|8\n说服力|0x100000|10461\n说古道今|0x1000000|100\n说古谈今|0x1000000|100\n说鬼话|0x800000|960\n说好说歹|0x1000000|54488\n说好嫌歹|0x1000000|100\n说黑道白|0x1000000|1366\n说胡话|0x800000|930\n说坏话|0x0000|410\n说黄道黑|0x1000000|100\n说谎者|0x100000|1018\n说假话|0x0000|524\n说今道古|0x0000|100\n说空话|0x800000|1048\n说来话长|0x800000|33039\n说来说去|0x1000000|795\n说老实话|0x800000|847\n说了算|0x800000|10539\n说梅止渴|0x1000000|100\n说梦话|0x800000|32811\n说明符|0x100000|1154\n说明会|0x100000|778\n说明书|0x100000|11735\n说明文|0x100000|50726\n说明性|0x100000|985\n说起来|0x0000|9007\n说千道万|0x0000|100\n说千说万|0x1000000|100\n说亲道热|0x0000|100\n说清楚|0x0000|12145\n说情风|0x100000|1270\n说三道四|0x1400000|23188\n说时迟|0x1000000|915\n说时迟那时快|0x0008|905\n说实话|0x800000|522\n说实在的|0x0000|19642\n说是道非|0x1000000|100\n说是弄非|0x1000000|100\n说是谈非|0x1000000|100\n说说唱唱|0x1000|1204\n说说话|0x100000|708\n说说笑笑|0x1000|767\n说头儿|0x100000|0\n说文解字|0x0008|0\n说瞎话|0x800000|34382\n说闲话|0x800000|22697\n说咸道淡|0x800000|0\n说笑话|0x1000|19260\n说心里话|0x0000|490\n说一不二|0x1400000|36883\n说一是一|0xc00000|0\n说真的|0x0000|18540\n说真话|0x0000|547\n说嘴郎中|0x800000|100\n烁石流金|0x1000000|100\n烁玉流金|0x1000000|100\n朔州市|0x0040|1459\n铄古切今|0x1000000|100\n铄金点玉|0x1000000|100\n铄金毁骨|0x1000000|100\n铄石流金|0x1000000|1534\n铄懿渊积|0x1000000|100\n硕大无比|0x1000000|945\n硕大无朋|0x1000000|46007\n硕果仅存|0x1000000|48139\n硕果累累|0x800000|829\n硕士班|0x100000|926\n硕士点|0x100000|501\n硕士论文|0x100000|497\n硕士生|0x100000|731\n硕士学位|0x100000|678\n硕士研究生|0x0000|655\n硕士专业学位|0x100000|486\n硕望宿德|0x1000000|100\n搠笔巡街|0x1000000|100\n槊血满袖|0x1000000|100\n丝氨酸|0x100000|1081\n丝虫病|0x100000|1104\n丝绸服装|0x100000|413\n丝绸面料|0x100000|381\n丝绸之路|0x800000|10840\n丝恩发怨|0x1000000|100\n丝发之功|0x0000|100\n丝瓜络|0x100000|1025\n丝光棉|0x100000|394\n丝毫不少|0x800000|696\n丝来线去|0x800000|100\n丝裂霉素|0x0008|0\n丝丝入扣|0x1000000|40448\n丝袜美女|0x100000|459\n丝袜美腿|0x100000|530\n丝袜图|0x100000|369\n丝网印刷机|0x100000|399\n丝织厂|0x100000|892\n丝织品|0x100000|33437\n丝织物|0x0008|1630\n丝竹管弦|0x100000|1139\n丝竹空|0x0008|0\n司乘人员|0x0000|32812\n司法部|0x100000|1269\n司法部长|0x100000|972\n司法部门|0x100000|894\n司法独立|0x100000|990\n司法公正|0x0000|518\n司法官|0x100000|1104\n司法机关|0x0008|783\n司法鉴定|0x100000|833\n司法解释|0x0008|669\n司法界|0x100000|1022\n司法警察|0x0008|1\n司法局|0x100000|1194\n司法考试|0x100000|689\n司法权|0x100000|976\n司法厅|0x100000|1459\n司号员|0x100000|43987\n司机员|0x100000|1423\n司局级|0x100000|1066\n司空见惯|0x1000000|17289\n司令部|0x100000|6727\n司令官|0x100000|910\n司令员|0x100000|6281\n司炉工|0x100000|1123\n司马称好|0x1000000|100\n司马牛之叹|0x0008|1537\n司马青衫|0x1000000|1109\n司马相如|0x0080|1429\n司马昭之心|0x0008|1011\n司马昭之心，路人皆知|0x0000|56003\n司马昭之心路人皆知|0x0000|100\n司农仰屋|0x1000000|100\n司售人员|0x100000|48880\n司徒伯雷|0x0080|0\n司务长|0x100000|1121\n司线员|0x100000|1290\n私底下|0x100000|778\n私房话|0x100000|48140\n私房钱|0x100000|39169\n私放罪犯|0x0008|0\n私服地址|0x100000|430\n私活儿|0x0000|49238\n私家车|0x100000|752\n私家侦探|0x100000|789\n私立学校|0x0008|517\n私人企业|0x0000|471\n私人生活|0x100000|474\n私人天地|0x100000|557\n私人物品|0x100000|466\n私人侦探|0x100000|512\n私生活|0x100000|28404\n私生女|0x0008|850\n私生子|0x100000|37241\n私淑弟子|0x0000|100\n私下里|0x8000000|22071\n私相授受|0x1000000|1151\n私心杂念|0x800000|31781\n私营经济|0x0008|13295\n私营企业|0x100000|624\n私有化|0x1000|827\n私有权|0x100000|1221\n私有制|0x100000|15336\n思不出位|0x1000000|100\n思潮澎湃|0x800000|1076\n思潮起伏|0x1000000|1083\n思妇病母|0x1000000|100\n思归其雌|0x1000000|100\n思患预防|0x0000|100\n思考力|0x100000|986\n思考题|0x100000|49966\n思考性|0x100000|1080\n思来想去|0x800000|884\n思茅市|0x0040|1518\n思南县|0x0040|1101\n思前想后|0x1000000|33568\n思如涌泉|0x1000000|100\n思深忧远|0x1000000|100\n思所逐之|0x0000|100\n思维过程|0x0008|0\n思维科学|0x0008|0\n思维能力|0x0000|575\n思贤如渴|0x1000000|100\n思乡病|0x100000|1146\n思想道德|0x100000|633\n思想道德教育|0x100000|485\n思想道德修养|0x100000|464\n思想动态|0x100000|458\n思想斗争|0x0008|7\n思想观念|0x0000|565\n思想汇报|0x100000|752\n思想家|0x100000|10695\n思想建设|0x0008|914\n思想教育|0x100000|768\n思想解放|0x800000|882\n思想界|0x100000|951\n思想路线|0x100000|954\n思想品德|0x0000|567\n思想认识|0x0000|554\n思想上|0x0000|601\n思想史|0x100000|524\n思想体系|0x100000|20370\n思想性|0x100000|11326\n思想者|0x100000|803\n思想政治|0x0008|678\n思想政治工作|0x0008|591\n思想政治教育|0x100000|553\n思想作风|0x0000|503\n思绪万千|0x1000000|828\n思之千里|0x1000000|100\n斯巴达|0x0080|1202\n斯巴达克|0x0008|1360\n斯宾诺莎|0x0080|392\n斯宾塞|0x0008|1565\n斯达康|0x0008|1301\n斯大林|0x0080|1288\n斯德哥尔摩|0x0040|1382\n斯蒂芬|0x0080|1312\n斯佳丽|0x100000|446\n斯堪的纳维亚|0x0040|1502\n斯科拉里|0x0080|0\n斯科普里|0x0040|1240\n斯科特|0x0040|1366\n斯拉夫|0x0080|1451\n斯拉夫人|0x0008|43752\n斯里巴加湾市|0x0040|1252\n斯里兰卡|0x0040|1278\n斯洛伐克|0x0040|1312\n斯洛文尼亚|0x0040|1326\n斯美塔那|0x0080|0\n斯诺克|0x0008|1235\n斯潘诺斯|0x0080|0\n斯皮尔伯格|0x0080|1336\n斯皮瓦克|0x0080|1327\n斯琴高娃|0x0080|1450\n斯琴格尔勒|0x0080|0\n斯事体大|0x0000|100\n斯斯文文|0x0100|879\n斯塔克效应|0x0008|0\n斯坦福|0x0040|1229\n斯坦福大学|0x0020|1307\n斯特恩|0x0080|1506\n斯特拉文斯基|0x0080|0\n斯特劳斯|0x0080|1557\n斯图加特|0x100000|532\n斯图亚特|0x0080|1629\n斯瓦希里|0x0080|1136\n斯威士兰|0x0040|1691\n斯文扫地|0x1000000|47824\n缌麻服|0x100000|0\n撕肝裂肺|0x0000|53427\n撕破脸|0x1000|42789\n撕心裂肺|0x800000|671\n死败涂地|0x1000000|100\n死标白缠|0x1000000|100\n死别生离|0x1000000|1121\n死不改悔|0x0000|100\n死不悔改|0x800000|54490\n死不了|0x100000|788\n死不瞑目|0x1000000|30544\n死不旋踵|0x0000|100\n死不足惜|0x800000|1027\n死缠硬磨|0x0000|54943\n死得其所|0x1000000|49239\n死读书|0x0000|53428\n死对头|0x100000|38162\n死而不僵|0x1000000|1073\n死而不朽|0x1000000|100\n死而复生|0x1000000|878\n死而后己|0x1000000|1202\n死而后已|0x1000000|27312\n死而无悔|0x800000|100\n死而无怨|0x1000000|1173\n死告活央|0x1000000|100\n死骨更肉|0x1000000|100\n死光光|0x100000|946\n死胡同|0x100000|27313\n死灰复然|0x1000000|100\n死灰复燃|0x1000000|17459\n死灰槁木|0x1000000|100\n死火山|0x100000|48141\n死记硬背|0x800000|32681\n死劲儿|0x100000|51148\n死扣儿|0x100000|52442\n死老虎|0x100000|46009\n死里求生|0x1000000|1151\n死里逃生|0x1000000|29256\n死路一条|0xc00000|3\n死马当活马医|0x0008|988\n死眉瞪眼|0x1000000|100\n死模活样|0x1000000|100\n死难者|0x100000|942\n死脑筋|0x100000|46286\n死皮赖脸|0x1000000|41559\n死乞白赖|0x800000|43515\n死乞百赖|0x1000000|100\n死气沉沉|0x1000000|29888\n死且不朽|0x1000000|100\n死求白赖|0x1000000|100\n死求百赖|0x1000000|100\n死去活来|0x1000000|23131\n死伤者|0x100000|1043\n死生存亡|0x0000|100\n死生荣辱|0x0000|100\n死声活气|0x1000000|100\n死声咷气|0x1000000|100\n死声淘气|0x1000000|100\n死水一潭|0xc00000|0\n死说活说|0x800000|0\n死死地|0x8000000|784\n死亡率|0x100000|9110\n死亡无日|0x0000|100\n死亡线|0x100000|33438\n死亡枕藉|0x0000|100\n死亡之屋|0x100000|1037\n死无对证|0x800000|47825\n死无葬身之地|0x0008|890\n死心搭地|0x1000000|100\n死心落地|0x1000000|100\n死心塌地|0x1000000|25443\n死心踏地|0x1000000|898\n死心眼|0x100000|889\n死心眼儿|0x100000|43036\n死刑犯|0x100000|890\n死样活气|0x1000000|100\n死要面子|0x0000|468\n死一般|0x40000000|499\n死硬派|0x100000|386\n死有余辜|0x1000000|37979\n死有余僇|0x1000000|100\n死有余责|0x1000000|100\n死有余诛|0x1000000|100\n死有余罪|0x1000000|100\n死于安乐|0x1000000|891\n死于非命|0x1000000|29257\n死欲速朽|0x0000|100\n死中求活|0x1000000|1199\n死中求生|0x1000000|1195\n死重泰山|0x0000|100\n死诸葛能走生仲达|0x0008|100\n死诸葛吓走生仲达|0x0000|100\n死猪不怕开水烫|0x0008|51150\n四百四病|0x1400000|0\n四瓣花|0x400000|0\n四倍体|0x500000|0\n四边形|0x500000|18516\n四不拗六|0x1400000|0\n四不象|0x400000|970\n四不像|0x500000|39788\n四冲八达|0x1400000|0\n四冲程内燃机|0x400008|0\n四冲六达|0x1400000|0\n四出活动|0x400000|0\n四处奔波|0xc00000|3\n四处奔走|0x400000|10\n四处坚持|0x400000|0\n四处寻找|0x400000|12\n四川版|0x100000|375\n四川菜|0x100000|433\n四川成都|0x100000|597\n四川大学|0x100000|567\n四川话|0x100000|448\n四川火锅|0x100000|407\n四川旅游|0x100000|490\n四川绵阳|0x100000|503\n四川日报|0x100000|491\n四川省|0x400000|899\n四川省委|0x100000|458\n四川宜宾|0x100000|441\n四次会议|0x100000|560\n四大家族|0x400008|0\n四大皆空|0x1400000|48143\n四大名捕|0x400000|949\n四大名著|0x400008|0\n四代同堂|0x400000|1\n四度空间|0x400000|0\n四端网络|0x400008|0\n四方八面|0x1400000|0\n四方步|0x0000|49240\n四方辐辏|0x400000|100\n四方脸|0x400000|46287\n四方响应|0x400000|0\n四方之志|0x400000|100\n四分五裂|0x1400000|27484\n四分五落|0x1400000|0\n四分五剖|0x1400000|0\n四分之二|0x400000|0\n四分之一|0x400000|101\n四纷五落|0x1400000|0\n四个人|0x100000|659\n四个现代化|0x400008|17460\n四海波静|0x1400000|0\n四海承风|0x1400000|0\n四海鼎沸|0x1400000|0\n四海工业|0x400000|0\n四海工业专科学校|0x400000|0\n四海皆兄弟|0x400008|0\n四海九州|0x1400000|0\n四海飘零|0x400000|100\n四海升平|0x400000|100\n四海昇平|0x1400000|0\n四海他人|0x1400000|0\n四海为家|0x1400000|40224\n四海一家|0x1400000|0\n四海之内皆兄弟|0x400008|0\n四合房|0x400000|1541\n四合院|0x100000|15593\n四合院儿|0x500000|0\n四化大业|0x400000|0\n四环路|0x400040|16\n四环素|0x4400000|41332\n四环素牙|0x400000|390\n四环萜烷|0x400000|0\n四荒八极|0x1400000|0\n四会市|0x400000|1509\n四季长春|0x400000|0\n四季常青|0xc00000|0\n四季春|0x100000|379\n四季豆|0x4400000|42297\n四季青|0x400040|1\n四季如春|0xc00000|40449\n四季如画|0x400000|0\n四郊多垒|0x1400000|0\n四角俱全|0x1400000|0\n四脚朝天|0xc00000|0\n四脚蛇|0x0000|55467\n四姐妹|0x100000|424\n四两拨千斤|0x400008|6\n四六文|0x400008|0\n四路纵队|0x400000|0\n四氯化碳|0x4400000|0\n四轮车|0x4400000|0\n四轮驱动|0x400000|911\n四马攒蹄|0x1400000|0\n四面八方|0x500000|8832\n四面出击|0x1400000|0\n四面楚歌|0x1400000|36536\n四面受敌|0x1400000|2\n四面受困|0x400000|0\n四面体|0x500000|0\n四面体构型|0x400000|0\n四膜虫|0x400000|0\n四年级|0x100000|632\n四平八稳|0x1400000|36372\n四平市|0x400000|1440\n四千万|0x600000|2\n四清六活|0x1400000|0\n四衢八街|0x1400000|0\n四人帮|0x400008|6430\n四三三|0x600000|0\n四色问题|0x400008|0\n四山五岳|0x1400000|0\n四扇式转门|0x400000|0\n四舍五入|0x0000|54944\n四十八|0x600000|24\n四十二|0x600000|19\n四十九|0x600000|10\n四十六|0x600000|11\n四十四|0x600000|19\n四十岁|0x400000|580\n四十五|0x600000|26\n四十一|0x600000|13\n四时八节|0x1400000|0\n四时不绝|0x400000|0\n四时之气|0x1400000|0\n四世同堂|0xc00000|28669\n四书五经|0x500000|38358\n四四方方|0x400000|929\n四套班子|0x400000|6\n四体百骸|0x1400000|0\n四体不勤|0xc00000|0\n四体书|0x400000|0\n四亭八当|0x1400000|0\n四停八当|0x1400000|0\n四通八达|0x1400000|20371\n四通公司|0x400000|1216\n四通集团|0x400000|1117\n四通利方|0x400000|0\n四通五达|0x1400000|0\n四万万|0x600000|0\n四万万同胞|0x400000|0\n四维八德|0x400000|0\n四维动量|0x400000|0\n四维加速度|0x400000|0\n四维流密度|0x400000|0\n四维时空|0x400000|0\n四维速度|0x400000|0\n四维张量|0x400000|0\n四五一|0x600000|0\n四五运动|0x400000|0\n四下里|0x100000|24461\n四仙桌|0x500000|0\n四项基本原则|0x100000|506\n四言诗|0x500000|48507\n四仰八叉|0x400000|1014\n四一居士|0x400000|0\n四姻九戚|0x1400000|0\n四圆衍射仪|0x400008|0\n四月份|0x4000|100\n四则运算|0x0000|54945\n四战之地|0x1400000|0\n四战之国|0x400000|100\n四肢百骸|0x1400000|0\n四肢百体|0x1400000|0\n四肢发达|0x400000|0\n四至八道|0x1400000|0\n四中全会|0x400008|31\n四重唱|0x500000|0\n四重奏|0x0000|37980\n四周年|0x100000|478\n四周围|0x100000|32682\n四子王旗|0x400040|1\n四唑氮蓝|0x400000|0\n伺服放大器|0x0008|0\n伺服器|0x0008|1256\n伺服系统|0x100000|451\n伺瑕导蠙|0x1000000|100\n伺瑕导隙|0x0000|100\n伺瑕抵蠙|0x1000000|100\n伺瑕抵隙|0x0000|100\n似懂非懂|0x800000|31906\n似非而是|0x1000000|1144\n似乎是|0x0000|710\n似箭在弦|0x0000|100\n似理非理|0x800000|1541\n似马一样|0x400000|0\n似漆如胶|0x1000000|100\n似是而非|0x1000000|23190\n似水流年|0x1000000|734\n似水如鱼|0x0000|100\n似笑非笑|0x800000|793\n似有如无|0x1000000|1372\n似曾相识|0x1000000|22755\n似真似假|0x800000|1050\n似醉如痴|0x0000|100\n泗洪县|0x0040|1491\n泗水县|0x0040|1566\n泗阳县|0x0040|1531\n饲料厂|0x100000|494\n饲料添加剂|0x100000|528\n饲料行业|0x100000|450\n饲料有限公司|0x100000|493\n饲料原料|0x100000|495\n饲养标准|0x0008|0\n饲养场|0x100000|1024\n饲养员|0x100000|21083\n驷不及舌|0x1000000|1295\n驷马不追|0x1000000|100\n驷马高车|0x1000000|1368\n驷马高盖|0x1000000|100\n驷马高门|0x1000000|100\n驷马莫追|0x1000000|100\n驷马难追|0x1000000|982\n驷马轩车|0x1000000|100\n驷马仰秣|0x1000000|100\n驷之过蠙|0x1000000|100\n驷之过隙|0x1000000|100\n俟河之清|0x1000000|1293\n肆虐横行|0x0000|100\n肆无忌惮|0x1000000|17239\n肆行无忌|0x0000|100\n肆言詈辱|0x0000|100\n肆意横行|0x0000|100\n肆意妄为|0x1000000|972\n騃女痴男|0x1000000|100\n騃童钝夫|0x1000000|100\n松柏寒盟|0x1000000|100\n松柏后凋|0x1000000|100\n松柏园|0x0040|0\n松柏之茂|0x1000000|100\n松柏之寿|0x1000000|100\n松柏之志|0x1000000|100\n松材线虫|0x100000|393\n松岛菜菜子|0x0080|0\n松果体|0x100000|1083\n松果腺|0x100000|1239\n松花蛋|0x100000|48144\n松花粉|0x100000|500\n松花江|0x0040|1245\n松江区|0x0040|1285\n松焦油|0x0008|1253\n松节油|0x100000|46581\n松节油精|0x100000|0\n松紧带|0x100000|49599\n松筠之节|0x1000000|100\n松口气|0x0000|39376\n松辽平原|0x0008|1\n松了一口气|0x400000|17\n松萝共倚|0x1000000|100\n松毛虫|0x100000|1170\n松茂竹苞|0x1000000|100\n松嫩平原|0x0040|1085\n松潘县|0x0040|1078\n松乔之寿|0x1000000|100\n松松垮垮|0x0100|37071\n松松散散|0x0100|1121\n松塔儿|0x0000|55469\n松桃苗族自治县|0x0040|1784\n松田圣子|0x0080|0\n松土机|0x0008|1186\n松溪县|0x0040|1061\n松下电器|0x100000|890\n松香水|0x100000|1190\n松香脂|0x0008|0\n松形鹤骨|0x1000000|100\n松阳县|0x0040|1578\n松原市|0x0040|1475\n松赞干布|0x0080|1533\n松枝挂剑|0x1000000|100\n松滋市|0x0040|1558\n崧生岳降|0x1000000|100\n嵩明县|0x0040|1648\n嵩生岳降|0x1000|100\n耸膊成山|0x0000|100\n耸壑昂霄|0x0000|100\n耸壑凌霄|0x1000000|100\n耸肩曲背|0x0000|100\n耸肩缩背|0x800000|100\n耸人听闻|0x1000000|30210\n耸入云霄|0x800000|100\n耸耸肩|0x100000|778\n宋才潘面|0x1000000|100\n宋丹丹|0x0080|1246\n宋画吴冶|0x1000000|100\n宋斤鲁削|0x1000000|100\n宋明理学|0x0008|0\n宋庆龄基金会|0x0020|1619\n宋体字|0x100000|52948\n宋玉东墙|0x1000000|100\n诵经台|0x100000|1494\n送报生|0x0008|0\n送报员|0x100000|1244\n送抱推襟|0x1000000|100\n送风机|0x100000|1081\n送佛送到西天|0x0008|100\n送故迎新|0x1000000|100\n送话器|0x100000|50730\n送货上门|0x800000|641\n送货员|0x100000|939\n送旧迎新|0x1000000|1\n送君千里终须一别|0x400000|100\n送暖偷寒|0x1000000|100\n送暖偎寒|0x1000000|100\n送秋波|0x1000|865\n送去迎来|0x1000000|100\n送人情|0x800000|48882\n送往劳来|0x1000000|100\n送往事居|0x1000000|100\n送往视居|0x1000000|100\n送往迎来|0x1000000|50731\n送信儿|0x1000|37982\n送信人|0x0000|372\n送行人|0x100000|0\n送眼流眉|0x1000000|100\n送一程|0x0000|44234\n送子观音|0x0080|1068\n颂德歌功|0x1000000|100\n颂古非今|0x1000000|1535\n颂声载道|0x1000000|100\n搜查证|0x100000|1201\n搜肠刮肚|0x1000000|44814\n搜肠润吻|0x1000000|100\n搜根剔齿|0x1000000|100\n搜狐网站|0x0000|473\n搜括一空|0x400000|0\n搜奇抉怪|0x0000|100\n搜索词|0x100000|446\n搜索队|0x100000|0\n搜索关键词|0x100000|504\n搜索枯肠|0x1000000|44519\n搜索肾胃|0x1000000|100\n搜索引擎|0x100000|481\n搜岩采干|0x800000|100\n搜扬侧陋|0x0000|100\n搜章摘句|0x1000|100\n馊主意|0x100000|36716\n薮中荆曲|0x800000|100\n苏氨酸|0x100000|1079\n苏打粉|0x0008|1085\n苏打水|0x0000|454\n苏丹人|0x100000|1185\n苏格拉底|0x0080|1208\n苏格兰|0x0040|1085\n苏格兰人|0x100000|439\n苏共中央|0x0020|1104\n苏海韩潮|0x0000|100\n苏合香|0x100000|1142\n苏克达斯|0x0080|0\n苏克雷|0x100000|1129\n苏黎世|0x0040|1390\n苏里南|0x0040|1629\n苏利南|0x0080|1331\n苏连托|0x0008|1413\n苏门答腊|0x0040|1538\n苏尼特右旗|0x0040|1097\n苏尼特左旗|0x0040|1169\n苏珊莎拉顿|0x0080|0\n苏维埃|0x0008|10716\n苏维埃政权|0x0008|2\n苏小小|0x0000|442\n苏伊士|0x0040|1518\n苏伊士运河|0x0040|1579\n苏云金杆菌|0x0008|0\n苏州大学|0x100000|527\n苏州电信|0x100000|399\n苏州房产|0x100000|446\n苏州酒店|0x100000|426\n苏州旅游|0x100000|413\n苏州码子|0x100000|100\n苏州企业|0x100000|422\n苏州人|0x100000|905\n苏州市|0x0040|1000\n苏州园林|0x100000|880\n酥油草|0x100000|1352\n酥油茶|0x100000|37243\n酥油花|0x100000|55472\n俗不可耐|0x1000000|32932\n俗不可医|0x1000000|100\n俗话说|0x800000|10249\n俗话说得好|0x0008|781\n俗体字|0x100000|1344\n俗文学|0x100000|41562\n俗下文字|0x1000000|100\n俗谚口碑|0x0000|100\n夙世冤家|0x1000000|1532\n夙世冤业|0x1000000|100\n夙兴昧旦|0x1000000|100\n夙兴夜处|0x1000000|100\n夙兴夜寐|0x1000000|46583\n夙夜不解|0x1000000|100\n夙夜匪解|0x1000000|1536\n夙夜匪懈|0x1000000|1197\n夙夜在公|0x0000|100\n诉讼案|0x100000|518\n诉讼参与人|0x100000|1082\n诉讼代理人|0x100000|847\n诉讼当事人|0x100000|400\n诉讼法|0x100000|20454\n诉讼费|0x100000|917\n诉讼费用|0x100000|472\n诉讼人|0x0008|374\n诉讼时效|0x0008|939\n诉讼状|0x0000|53951\n诉诸武力|0x800000|1036\n肃北蒙古族自治县|0x0040|1232\n肃南裕固族自治县|0x0040|1156\n肃宁县|0x0040|1571\n肃然起敬|0x1000000|18784\n肃然生敬|0x0000|100\n素不相能|0x1000000|100\n素不相识|0x800000|21208\n素材库|0x100000|529\n素菜馆|0x100000|1073\n素餐尸位|0x0000|100\n素车白马|0x1000000|1130\n素除子|0x0008|0\n素口骂人|0x0000|100\n素昧平生|0x1000000|39790\n素昧生平|0x0000|100\n素什锦|0x100000|1116\n素食者|0x100000|459\n素丝羔羊|0x100000|100\n素丝良马|0x0000|100\n素未谋面|0x0008|1\n素馨花|0x100000|1202\n素隐行怪|0x0000|100\n素质教育|0x100000|649\n速成班|0x100000|44815\n速调管|0x100000|1248\n速度计|0x100000|1106\n速记员|0x100000|1122\n速决战|0x100000|52445\n速率方程|0x0008|0\n速射炮|0x0000|377\n速生林|0x0000|49601\n速食面|0x100000|52949\n速效肥料|0x800000|1141\n速效性|0x100000|0\n速战速决|0x1000000|32933\n宿弊一清|0x1400000|0\n宿根园|0x0040|0\n宿命论|0x100000|38163\n宿命主义|0x100000|0\n宿迁市|0x0040|1264\n宿舍楼|0x100000|577\n宿水飡风|0x1000000|100\n宿水餐风|0x1000000|100\n宿松县|0x0040|1510\n宿学旧儒|0x0000|100\n宿营地|0x100000|34099\n宿雨餐风|0x1000000|100\n宿州市|0x0040|1306\n粟陈贯朽|0x0000|100\n粟红贯朽|0x1000000|100\n塑钢窗|0x100000|443\n塑化剂|0x100000|1205\n塑胶产品|0x100000|413\n塑胶厂|0x100000|454\n塑胶袋|0x0008|933\n塑胶地板|0x100000|428\n塑胶模具|0x100000|481\n塑胶跑道|0x100000|450\n塑胶外壳|0x100000|381\n塑胶玩具|0x100000|429\n塑胶五金|0x100000|457\n塑胶有限公司|0x100000|518\n塑胶原料|0x100000|461\n塑胶制品|0x100000|532\n塑胶制品有限公司|0x100000|468\n塑炼机|0x100000|0\n塑料板|0x100000|436\n塑料板材|0x100000|377\n塑料包装|0x100000|536\n塑料包装材料|0x100000|387\n塑料包装机械|0x100000|379\n塑料杯|0x100000|436\n塑料薄膜|0x100000|813\n塑料布|0x100000|26564\n塑料产品|0x100000|448\n塑料厂|0x100000|651\n塑料大棚|0x0008|425\n塑料袋|0x100000|686\n塑料盖|0x100000|419\n塑料工业|0x0008|0\n塑料公司|0x100000|380\n塑料固化|0x0008|0\n塑料管|0x100000|855\n塑料管道|0x100000|419\n塑料盒|0x100000|439\n塑料机械|0x100000|539\n塑料件|0x100000|474\n塑料建材|0x100000|410\n塑料颗粒|0x100000|415\n塑料零件|0x100000|369\n塑料门窗|0x100000|440\n塑料模|0x100000|413\n塑料模具|0x100000|512\n塑料膜|0x100000|436\n塑料配件|0x100000|423\n塑料盆|0x100000|399\n塑料瓶|0x100000|514\n塑料容器|0x100000|428\n塑料软管|0x100000|400\n塑料绳|0x100000|1076\n塑料市场|0x100000|465\n塑料贴面板|0x0008|1307\n塑料桶|0x100000|487\n塑料托盘|0x100000|466\n塑料玩具|0x100000|455\n塑料五金|0x100000|418\n塑料箱|0x100000|371\n塑料原料|0x100000|508\n塑料纸|0x100000|1007\n塑料制品|0x0008|575\n塑料制品有限公司|0x100000|479\n塑料助剂|0x100000|417\n塑性变形|0x0008|0\n塑造成|0x0000|500\n溯本求源|0x0008|0\n溯端竟委|0x1000000|100\n溯流徂源|0x1000000|100\n溯流穷源|0x1000000|100\n溯流求源|0x1000000|100\n溯流追源|0x1000000|100\n溯水行舟|0x1000000|100\n溯源穷流|0x1000000|100\n酸不溜丢|0x0100|0\n酸菜鱼|0x100000|461\n酸处理|0x0008|1167\n酸度计|0x100000|432\n酸碱度|0x100000|879\n酸辣汤|0x0008|45699\n酸溜溜|0x0100|24981\n酸梅汤|0x100000|39173\n酸牛奶|0x100000|47499\n酸式盐|0x100000|1381\n酸甜苦辣|0x1000000|22473\n酸文假醋|0x1000000|1216\n酸咸苦辣|0x1000000|100\n酸性磷酸酶|0x0008|0\n酸性染料|0x100000|378\n酸枣仁|0x0008|420\n酸枣树|0x100000|1202\n酸中毒|0x100000|971\n蒜瓣儿|0x100000|48508\n算不了什么|0x0000|524\n算出来|0x0000|507\n算法语言|0x0008|0\n算命者|0x100000|1230\n算盘珠|0x0000|37984\n算盘子|0x100000|1247\n算盘子儿|0x100000|100\n算术级数|0x0008|1124\n算术课|0x100000|1267\n算术逻辑部件|0x0008|0\n算术码|0x0008|0\n算术子群|0x100000|0\n算算命|0x100000|0\n算算账|0x1000|1154\n算无遗策|0x1000000|1066\n虽败犹荣|0x800000|926\n虽覆能复|0x0000|100\n虽疾无声|0x0000|100\n虽死犹生|0x1000000|1135\n虽死之日|0x0000|100\n睢宁县|0x0040|1522\n濉溪县|0x0040|1550\n绥滨县|0x0040|1089\n绥德县|0x0040|1083\n绥芬河|0x0040|1456\n绥芬河市|0x0040|1557\n绥化市|0x0040|1469\n绥江县|0x0040|1088\n绥靖主义|0x100000|1056\n绥棱县|0x0040|1065\n绥宁县|0x0040|1053\n绥阳县|0x0040|1118\n绥中县|0x0040|1632\n隋侯之珠|0x0000|100\n隋珠弹雀|0x1000000|100\n隋珠和璧|0x1000000|100\n隋珠和玉|0x1000000|100\n隋珠荆璧|0x1000000|100\n随波逐尘|0x1000000|100\n随波逐浪|0x1000000|1124\n随波逐流|0x1000000|25999\n随才器使|0x1000000|100\n随车甘雨|0x1000000|100\n随车夏雨|0x1000000|100\n随车致雨|0x1000000|100\n随处可见|0x800000|687\n随大溜|0x1000|55897\n随大流|0x800000|881\n随地随时|0x1000000|100\n随方就圆|0x1000000|1230\n随方逐圆|0x1000000|100\n随份子|0x800000|54493\n随风倒|0x800000|53431\n随风倒舵|0x1000000|100\n随风而靡|0x0000|100\n随风逐浪|0x1000000|1301\n随风转舵|0x1000000|1388\n随高就低|0x1000000|100\n随高逐低|0x1000000|100\n随机变量|0x0008|0\n随机差错|0x0008|0\n随机存取|0x0008|2\n随机存取存储器|0x0008|0\n随机化|0x0000|368\n随机数|0x0008|916\n随机误差|0x0008|0\n随机性|0x100000|919\n随机应变|0x1000000|30648\n随叫随到|0x800000|28406\n随近逐便|0x1000000|100\n随人俯仰|0x1000000|100\n随人作计|0x1000000|100\n随身听|0x100000|39791\n随身携带|0x0000|619\n随声吠影|0x1000000|100\n随声附和|0x1000000|33571\n随声趋和|0x1000000|100\n随声是非|0x1000000|100\n随时施宜|0x1000000|100\n随时随地|0x1000000|15919\n随时制宜|0x1000000|100\n随世沉浮|0x0000|100\n随事制宜|0x0000|100\n随俗沉浮|0x0000|100\n随俗浮沉|0x1000|100\n随随便便|0x40000000|749\n随物赋形|0x1000000|1281\n随物应机|0x1000000|100\n随乡入俗|0x1000000|100\n随乡入乡|0x1000000|1537\n随想曲|0x100000|956\n随心所欲|0x1000000|17002\n随行就市|0x800000|35880\n随行逐队|0x1000000|100\n随意肌|0x100000|1263\n随意性|0x100000|835\n随意注意|0x0008|0\n随寓而安|0x1000000|100\n随寓随安|0x1000000|100\n随遇而安|0x1000000|34385\n随遇平衡|0x800000|1538\n随圆就方|0x1000000|100\n随缘乐助|0x0000|100\n随之而来|0x800000|18805\n随踵而至|0x1000000|100\n随州市|0x0040|1341\n随珠弹雀|0x1000000|1534\n随珠和璧|0x1000000|100\n随珠荆玉|0x1000000|100\n岁比不登|0x0000|100\n岁不我与|0x1000000|100\n岁丰年稔|0x0000|100\n岁寒三友|0x1400000|0\n岁寒松柏|0x1000000|100\n岁寒知松柏|0x0008|100\n岁计有余|0x1000000|100\n岁暮天寒|0x1000000|100\n岁稔年丰|0x0000|100\n岁时伏腊|0x0000|100\n岁岁年年|0x800000|830\n岁序更新|0x1000000|100\n岁聿其莫|0x1000000|100\n岁聿云暮|0x1000000|100\n岁月不居|0x0000|100\n岁月不饶人|0x0008|839\n岁月蹉跎|0x1000000|944\n岁月如流|0x1000000|1025\n岁月峥嵘|0x0000|100\n岁在龙虵|0x1000000|100\n岁在龙蛇|0x1000000|100\n谇帚德锄|0x0000|100\n遂昌县|0x0040|1594\n遂川县|0x0040|1645\n遂非文过|0x1000000|0\n遂迷不寤|0x1000000|100\n遂迷不窹|0x0000|100\n遂迷忘反|0x1000000|100\n遂宁市|0x0040|1432\n遂平县|0x0040|1590\n遂溪县|0x0040|1606\n遂心快意|0x1000000|100\n遂心满意|0x1000000|100\n遂心如意|0x1000000|1336\n遂心应手|0x1000000|100\n睟面盎背|0x0000|100\n碎冰机|0x100000|1092\n碎玻璃|0x0008|494\n碎骨粉身|0x1000000|1412\n碎骨粉尸|0x1000000|100\n碎末儿|0x0000|53953\n碎琼乱玉|0x1000000|100\n碎身粉骨|0x1000000|100\n碎身糜躯|0x1000000|100\n碎尸万段|0x1000000|938\n碎石机|0x100000|1013\n碎石路|0x0040|1064\n碎石子|0x0000|394\n碎首糜躯|0x1000000|100\n碎首縻躯|0x1000000|100\n碎瓦颓垣|0x0000|100\n碎屑岩|0x100000|1205\n碎心裂胆|0x1000000|100\n碎玉零玑|0x1000000|100\n碎嘴子|0x100000|52950\n隧道二极管|0x400008|0\n隧道窑|0x0008|1073\n燧人氏|0x0000|48884\n穗状花序|0x800000|1218\n孙儿女|0x100000|1294\n孙康映雪|0x1000000|100\n孙女婿|0x100000|53954\n孙庞斗智|0x0000|100\n孙吴县|0x0040|1053\n孙媳妇|0x100000|38560\n孙逸仙|0x0080|1111\n孙中山|0x0080|1152\n孙子兵法|0x0008|1174\n损本逐末|0x1000000|100\n损兵折将|0x1000000|44238\n损公肥私|0x800000|33683\n损害赔偿|0x100000|766\n损耗率|0x100000|1120\n损己利人|0x1000000|1180\n损军折将|0x0000|100\n损亏额|0x100000|0\n损人不利己|0x1000000|918\n损人肥己|0x1000000|100\n损人害己|0x1000000|1246\n损人利己|0x1000000|32048\n损人益己|0x1000000|100\n损上益下|0x1000000|1330\n损失率|0x100000|1072\n损益表|0x100000|948\n损有余补不足|0x0000|100\n损之又损|0x1000000|1134\n笋干儿|0x0000|52448\n娑罗树|0x100000|1176\n梭罗树|0x100000|1346\n梭天摸地|0x1000000|100\n梭子蟹|0x100000|39175\n梭子鱼|0x100000|1125\n羧化酶|0x0008|0\n羧甲基淀粉|0x0008|0\n羧甲基纤维素|0x0008|0\n羧肽酶|0x0008|0\n缩成一团|0x401000|4\n缩地补天|0x1000000|100\n缩放仪|0x100000|1496\n缩略图|0x100000|587\n缩略语|0x0000|49602\n缩砂密|0x100000|1539\n缩手缩脚|0x1000000|36209\n缩水率|0x0008|52449\n缩头缩颈|0x0000|100\n缩头缩脑|0x1000000|45397\n缩微胶卷|0x0008|0\n缩微胶片|0x0008|1232\n缩微印刷品|0x0008|0\n缩写本|0x100000|53956\n缩衣节口|0x0000|100\n缩衣节食|0x1000000|1120\n缩衣啬食|0x0000|100\n缩印本|0x0008|51570\n所大学|0x100000|618\n所当无敌|0x1000000|100\n所到之处|0x800000|15608\n所得税|0x100000|9927\n所得税法|0x100000|497\n所得税率|0x100000|985\n所费不赀|0x1000000|1152\n所高校|0x100000|589\n所见即所得|0x0000|541\n所见略同|0x1000000|898\n所见所闻|0x1000000|797\n所罗门|0x100000|1056\n所罗门群岛|0x0040|1424\n所剩无几|0x800000|24659\n所向皆靡|0x1000000|100\n所向克捷|0x1000000|100\n所向披靡|0x1000000|28051\n所向无敌|0x1000000|34999\n所向无前|0x800000|1233\n所以然|0x100000|20330\n所有的人|0x100000|712\n所有格|0x100000|1090\n所有权|0x100000|7856\n所有权证|0x100000|486\n所有权状|0x100000|0\n所有人|0x100000|498\n所有者|0x100000|11846\n所有者权益|0x100000|520\n所有制|0x100000|4811\n所有制经济|0x100000|483\n所在城市|0x100000|621\n所在单位|0x0000|597\n所在地|0x100000|5777\n所在皆是|0x0000|100\n所在区域|0x100000|668\n所在位置|0x100000|615\n所作所为|0x1000000|14283\n所做的一切|0x400000|22\n索尔兹伯里|0x0040|1144\n索非亚|0x0040|1464\n索菲亚|0x0040|1438\n索垢吹瘢|0x0000|100\n索垢寻疵|0x0000|100\n索马里|0x0040|1410\n索马利亚|0x0080|0\n索然寡味|0x800000|1092\n索然无味|0x1000000|32934\n索隐行怪|0x0000|100\n琐琐碎碎|0x0100|993\n琐尾流离|0x1000000|100\n他山攻错|0x1000000|100\n他山之石|0x1000000|811\n他乡故知|0x0000|100\n他乡异县|0x100000|100\n他乡遇故知|0x0008|921\n他自己|0x0000|771\n它本身|0x0000|544\n它山之石|0x800000|958\n它自己|0x0000|567\n塔城市|0x0040|1614\n塔尔巴哈|0x0080|0\n塔尔寺|0x0040|1411\n塔夫绸|0x100000|1077\n塔河县|0x0040|1076\n塔吉克|0x0040|1619\n塔吉克斯坦|0x0040|11233\n塔吉克族|0x0008|37245\n塔尖上功德|0x0000|100\n塔克拉玛干|0x0040|1469\n塔拉瓦|0x0080|1226\n塔里木|0x0040|1366\n塔里木河|0x0040|1613\n塔里木盆地|0x0040|1600\n塔利班|0x0008|1366\n塔马齐格特|0x0080|0\n塔那那利佛|0x0040|1258\n塔什干|0x0040|1063\n塔什库尔干|0x0080|1709\n塔式起重机|0x0000|415\n塔斯社|0x0020|1082\n塔塔尔族|0x0008|55476\n狧穅及米|0x1000000|100\n遝冈复岭|0x1000000|100\n榻榻米|0x100000|927\n踏板车|0x0008|998\n踏故习常|0x0000|100\n踏脚石|0x100000|1039\n踏破铁鞋|0x1000000|899\n踏破铁鞋无觅处|0x0008|100\n踏踏实实|0x0100|706\n踏雪寻梅|0x800000|913\n骀背鹤发|0x1000000|100\n胎毛笔|0x100000|371\n胎死腹中|0x800000|55477\n台安县|0x0040|1046\n台北路|0x0040|0\n台北人|0x100000|971\n台北市|0x0040|1061\n台北县|0x0040|1206\n台背斜|0x0008|0\n台东市|0x0040|1043\n台东县|0x0040|1450\n台儿庄区|0x0040|1686\n台港澳|0x100000|1526\n台阁生风|0x0000|100\n台江县|0x0040|1133\n台卡仪|0x100000|0\n台拉维夫|0x0008|1537\n台南人|0x100000|1110\n台南市|0x0040|1344\n台南县|0x0040|1368\n台前幕后|0x100000|897\n台前县|0x0040|1613\n台山市|0x0040|1416\n台式机|0x100000|591\n台湾成人|0x100000|488\n台湾大学|0x0020|1360\n台湾当局|0x0000|578\n台湾地区|0x0040|1157\n台湾电视公司|0x0020|1427\n台湾独立|0x100000|477\n台湾歌手|0x100000|443\n台湾海峡|0x0040|1125\n台湾民主自治同盟|0x0008|1754\n台湾区|0x0040|1488\n台湾人|0x100000|705\n台湾日报|0x100000|477\n台湾省|0x0040|1227\n台湾省政府|0x0000|390\n台湾水果|0x100000|502\n台湾问题|0x0008|783\n台下十年功|0x400000|1\n台中港|0x0040|1\n台中人|0x100000|1113\n台中市|0x0040|1264\n台中县|0x0040|1341\n台州市|0x0040|1110\n台柱子|0x100000|41794\n抬脚动手|0x0000|100\n抬轿子|0x800000|45398\n抬头纹|0x100000|53434\n苔绿色|0x100000|0\n苔藓植物|0x100000|1139\n跆拳道|0x100000|17051\n太阿倒持|0x1000000|1333\n太白粉|0x0008|1044\n太白山|0x0040|1536\n太白县|0x0040|1087\n太白星|0x0008|50737\n太保市|0x0040|1245\n太仓市|0x0040|1275\n太仓稊米|0x1000000|100\n太仓一粟|0x1400000|0\n太夫人|0x100000|1066\n太阁立志传|0x0000|489\n太公钓鱼|0x1000|1067\n太公钓鱼愿者上钩|0x0000|100\n太古界|0x100000|1301\n太谷县|0x0040|1582\n太和殿|0x0008|1565\n太和县|0x0040|1467\n太湖石|0x100000|41566\n太湖县|0x0040|1506\n太皇太后|0x0000|461\n太极剑|0x100000|43040\n太极拳|0x100000|8732\n太极图|0x100000|41567\n太康县|0x0040|1526\n太空步|0x0000|55898\n太空舱|0x100000|44817\n太空城|0x100000|999\n太空船|0x100000|40015\n太空飞行|0x0000|450\n太空服|0x0000|49243\n太空机|0x100000|5\n太空垃圾|0x0000|45702\n太空棉|0x0000|55899\n太空人|0x100000|35567\n太空梭|0x100000|1030\n太空衣|0x100000|1203\n太空站|0x100000|43277\n太空装|0x0008|1\n太鲁阁|0x0040|1488\n太平道|0x0008|0\n太平鼓|0x100000|51994\n太平广记|0x0008|1638\n太平间|0x100000|30322\n太平军|0x100000|1544\n太平龙头|0x800000|1267\n太平门|0x100000|49244\n太平山|0x0040|1502\n太平盛世|0x1000000|851\n太平梯|0x100000|1354\n太平天国|0x0008|1349\n太平天国革命|0x0008|0\n太平无事|0x800000|1065\n太平无象|0x1000000|1538\n太平洋|0x0040|4801\n太平洋保险|0x100000|468\n太平洋电脑|0x100000|414\n太平洋电脑城|0x100000|436\n太平洋电脑网|0x100000|555\n太平洋舰队|0x100000|563\n太平洋区|0x0040|1614\n太平洋数码|0x100000|451\n太平洋战争|0x0008|1530\n太仆寺旗|0x0040|1093\n太丘道广|0x0000|100\n太山北斗|0x1000000|100\n太上皇|0x100000|26223\n太上老君|0x0080|890\n太上忘情|0x0000|100\n太师椅|0x100000|27487\n太岁头上动土|0x0008|1038\n太太平平|0x0100|811\n太行山|0x0040|1366\n太阳报|0x100000|518\n太阳岛|0x0040|846\n太阳灯|0x100000|54496\n太阳地儿|0x0000|48148\n太阳电池|0x4000000|52956\n太阳帆|0x100000|388\n太阳风|0x100000|1013\n太阳风暴|0x100000|1061\n太阳辐射|0x0008|2\n太阳谷|0x0008|1057\n太阳光|0x100000|803\n太阳黑子|0x100000|993\n太阳活动|0x100000|100\n太阳镜|0x100000|42298\n太阳历|0x100000|1091\n太阳帽|0x0008|49607\n太阳能|0x100000|6745\n太阳能灯具|0x100000|442\n太阳能电池|0x100000|851\n太阳能热水器|0x0000|560\n太阳年|0x100000|1228\n太阳鸟|0x100000|986\n太阳拳|0x100000|0\n太阳日|0x100000|1135\n太阳伞|0x100000|471\n太阳神|0x0008|1280\n太阳时|0x100000|1015\n太阳系|0x100000|14994\n太阳系外|0x0008|409\n太阳穴|0x100000|22756\n太阳眼镜|0x0008|817\n太阳灶|0x100000|51153\n太医院|0x0008|0\n太阴历|0x100000|1226\n太原理工|0x100000|452\n太原路|0x0040|0\n太原市|0x0040|1144\n太子参|0x0008|52957\n太子党|0x100000|434\n太子港|0x0040|1166\n太子奶|0x100000|390\n汰旧换新|0x800000|1154\n汰劣留良|0x1000000|100\n肽聚糖|0x0008|0\n钛白粉|0x100000|505\n钛合金|0x100000|45107\n钛酸钡|0x0008|1220\n钛铁矿|0x0008|1134\n泰安市|0x0040|1235\n泰迪罗宾|0x0080|0\n泰戈尔|0x0080|1208\n泰国拳|0x100000|0\n泰国人|0x100000|922\n泰国人妖|0x100000|462\n泰和县|0x0040|1622\n泰极而否|0x800000|100\n泰加林|0x0080|1310\n泰来否极|0x0000|100\n泰来否往|0x0000|100\n泰来县|0x0040|1043\n泰勒斯|0x0008|1\n泰米尔|0x0040|1458\n泰宁县|0x0040|1654\n泰然处之|0x1000000|41795\n泰然自若|0x1000000|37075\n泰山北斗|0x1000000|54948\n泰山不让土壤|0x0008|1014\n泰山鸿毛|0x800000|1412\n泰山梁木|0x0000|100\n泰山盘石|0x0000|100\n泰山磐石|0x1000000|0\n泰山其颓|0x1000000|1419\n泰山石敢当|0x100000|1076\n泰山压顶|0x1000000|46586\n泰山压卵|0x1000000|1539\n泰山移|0x800000|1121\n泰顺街|0x0040|0\n泰顺县|0x0040|1587\n泰坦尼克|0x0080|1149\n泰晤士报|0x0020|852\n泰晤士河|0x0040|1498\n泰兴市|0x0040|1224\n泰州市|0x0040|1160\n坍落度|0x0008|373\n贪便宜|0x1000|932\n贪财好色|0x1000000|1099\n贪吃懒做|0x1000000|100\n贪大求全|0x800000|1096\n贪大求洋|0x800000|54497\n贪得无厌|0x1000000|33974\n贪多嚼不烂|0x0008|1069\n贪多务得|0x1000000|1290\n贪而无信|0x0000|100\n贪夫徇财|0x1000000|100\n贪夫狥财|0x1000000|100\n贪夫狥利|0x1000000|0\n贪夫殉利|0x1000000|100\n贪功起衅|0x0000|100\n贪官污吏|0x1000000|25046\n贪贿无艺|0x1000000|100\n贪婪无厌|0x1000000|1280\n贪利忘义|0x0000|100\n贪惏无餍|0x1000000|100\n贪墨成风|0x0000|100\n贪求无厌|0x1000000|100\n贪求无已|0x1000000|100\n贪蛇忘尾|0x800000|100\n贪生恶死|0x1000000|100\n贪生怕死|0x1000000|36210\n贪生畏死|0x1000000|1358\n贪声逐色|0x1000000|100\n贪天之功|0x1000000|54949\n贪玩儿|0x0000|36045\n贪猥无厌|0x1000000|100\n贪位慕禄|0x1000000|100\n贪污犯|0x100000|41101\n贪污腐化|0x1000000|36885\n贪污狼藉|0x0000|100\n贪污受贿|0x0000|504\n贪污罪|0x100000|953\n贪小失大|0x1000000|54498\n贪心不足|0x1000000|1013\n贪欲无厌|0x1000000|100\n贪欲无艺|0x1000000|100\n贪赃坏法|0x1000000|100\n贪赃枉法|0x1000000|21772\n摊书傲百城|0x0008|1280\n摊书拥百城|0x0008|1279\n摊摊手|0x100000|0\n滩头堡|0x0040|0\n滩头阵地|0x0008|0\n坛坛罐罐|0x800000|42044\n昙花一现|0x1400000|26075\n谈不容口|0x1000000|100\n谈不上|0x1000|637\n谈得来|0x1000|822\n谈霏玉屑|0x1000000|100\n谈古论今|0x800000|940\n谈古说今|0x0000|100\n谈过其实|0x1000000|100\n谈何容易|0x1000000|18132\n谈虎色变|0x1000000|39794\n谈话室|0x0008|1260\n谈今论古|0x0000|100\n谈空说幻|0x1000000|100\n谈空说有|0x1000000|100\n谈恋爱|0x1000|677\n谈论风生|0x1000000|100\n谈判者|0x100000|1083\n谈判桌|0x100000|1024\n谈情说爱|0x1000000|27152\n谈若悬河|0x1000000|100\n谈谈心|0x1000|878\n谈天论地|0x1000000|1034\n谈天说地|0x800000|41335\n谈吐风生|0x1000000|100\n谈吐生风|0x1000000|100\n谈笑风生|0x1000000|23092\n谈笑封侯|0x1000000|100\n谈笑有鸿儒|0x0000|100\n谈笑自如|0x1000000|1087\n谈笑自若|0x1000000|41568\n谈心活动|0x0000|486\n谈玄说妙|0x1000000|1284\n谈言微中|0x1000000|1382\n谈一谈|0x400008|10\n谈议风生|0x1000000|100\n谈优务劣|0x1000000|100\n谈圆说通|0x1000000|100\n郯城县|0x0040|1488\n痰迷心窍|0x800000|1318\n谭天说地|0x800000|100\n谭言微中|0x1000000|100\n檀郎谢女|0x1000000|100\n檀香木|0x100000|47500\n檀香山|0x0040|1542\n檀香扇|0x100000|51996\n忐上忑下|0x1000000|100\n忐忐忑忑|0x40000000|1193\n忐忑不安|0x1000000|19748\n忐忑不定|0x1000000|100\n坦白从宽|0x0008|40017\n坦诚相待|0x800000|48511\n坦诚相见|0x800000|869\n坦腹东床|0x0000|100\n坦噶尼喀|0x100000|1237\n坦克兵|0x100000|1066\n坦克车|0x0008|982\n坦克师|0x100000|1147\n坦然自若|0x1000000|1033\n坦桑尼亚|0x0040|1405\n坦坦荡荡|0x0100|904\n袒臂挥拳|0x0000|100\n袒裼裸裎|0x800000|1375\n袒胸露背|0x800000|1084\n袒胸露臂|0x800000|55478\n钽电容|0x100000|442\n叹观止矣|0x1000000|1541\n叹老嗟卑|0x1000000|1535\n叹为观止|0x1000000|23192\n叹息声|0x0000|490\n叹一口气|0x400000|0\n炭化作用|0x0008|0\n炭灰色|0x100000|1223\n炭火盆|0x0000|48149\n炭精棒|0x100000|1542\n炭疽病|0x0008|448\n炭疽热|0x0000|400\n探本穷源|0x1000000|0\n探测船|0x100000|1113\n探测器|0x100000|12758\n探测仪|0x0000|37247\n探竿影草|0x1000000|1537\n探戈舞|0x100000|1065\n探观止矣|0x800000|100\n探究行为|0x0008|0\n探究性|0x0000|491\n探空火箭|0x100000|1212\n探口而出|0x1000000|100\n探口风|0x1000|1165\n探口气|0x1000|53960\n探雷器|0x0008|1243\n探骊得珠|0x1000000|1308\n探囊胠箧|0x1000000|100\n探囊取物|0x1000000|46291\n探亲访友|0x800000|35109\n探亲假|0x100000|37077\n探身一看|0x400000|0\n探索频道|0x100000|862\n探索者|0x100000|1371\n探汤蹈火|0x1000000|100\n探头缩脑|0x1000000|100\n探头探脑|0x1000000|31909\n探丸借客|0x1000000|100\n探险队|0x100000|885\n探险家|0x100000|819\n探幽索隐|0x1000000|100\n探赜钩深|0x1000000|100\n探赜索隐|0x1000000|1247\n探照灯|0x100000|31330\n碳化硅|0x100000|861\n碳化铁|0x100000|1412\n碳化物|0x100000|1073\n碳氢化合物|0x100000|1016\n碳水化合物|0x100000|29259\n碳素钢|0x100000|54950\n碳素墨水|0x0008|0\n碳酸铵|0x0008|1263\n碳酸钡|0x100000|1117\n碳酸钙|0x100000|820\n碳酸钾|0x100000|1053\n碳酸锂|0x0008|1101\n碳酸镁|0x100000|1067\n碳酸钠|0x100000|1001\n碳酸气|0x100000|1207\n碳酸氢氨|0x0008|1600\n碳酸氢铵|0x100000|1057\n碳酸氢钾|0x0008|1558\n碳酸氢钠|0x100000|989\n碳酸盐|0x100000|974\n碳纤维|0x100000|817\n碳循环|0x0008|0\n汤池铁城|0x1000000|100\n汤里来|0x1000000|0\n汤姆斯杯|0x0008|1694\n汤婆子|0x100000|1291\n汤去三面|0x1400000|0\n汤烧火热|0x1000000|100\n汤头歌|0x0000|54952\n汤阴县|0x0040|1461\n汤原县|0x0040|1057\n羰基化|0x100000|0\n唐菖蒲|0x100000|1125\n唐代诗人|0x100000|462\n唐古拉山|0x0040|1434\n唐海县|0x0040|1656\n唐河县|0x0040|1600\n唐吉诃德|0x0080|0\n唐吉柯德|0x0080|0\n唐老鸭|0x0008|817\n唐临晋帖|0x0000|100\n唐纳德|0x0080|1496\n唐人街|0x100000|21871\n唐三彩|0x500000|41103\n唐山市|0x0040|1144\n唐诗三百|0x400000|0\n唐诗三百首|0x400000|466\n唐诗宋词|0x0000|526\n唐宋八大|0x400000|0\n唐宋八大家|0x400008|0\n唐突西施|0x0000|100\n唐突西子|0x0000|100\n唐虞之治|0x0000|100\n唐哉皇哉|0x800000|100\n唐泽寿明|0x0080|399\n堂本光一|0x400080|0\n堂而皇之|0x1000000|19684\n堂皇富丽|0x1000000|100\n堂皇冠冕|0x1000000|100\n堂皇正大|0x800000|1374\n堂吉诃德|0x0080|1573\n堂姐妹|0x100000|54500\n堂上一呼|0x400000|100\n堂堂皇皇|0x0100|1162\n堂堂一表|0x1400000|0\n堂堂正正|0x1000000|16522\n堂兄弟|0x100000|39382\n堂哉皇哉|0x1000000|100\n堂姊妹|0x100000|1317\n塘沽区|0x0040|1360\n搪瓷制品|0x100000|399\n糖醋鱼|0x100000|399\n糖蛋白|0x0008|0\n糖苷酶|0x100000|1143\n糖果店|0x0040|1009\n糖果费|0x100000|1366\n糖果盒|0x0008|418\n糖葫芦|0x100000|32935\n糖化酶|0x0008|1176\n糖基转移酶|0x0008|0\n糖酒会|0x100000|492\n糖块儿|0x0000|42549\n糖萝卜|0x100000|1495\n糖尿病|0x100000|7973\n糖尿病患者|0x100000|581\n糖尿病人|0x100000|832\n糖尿病肾病|0x100000|420\n糖尿病新疗法|0x100000|433\n糖尿病药物|0x100000|444\n糖尿病足|0x100000|398\n糖皮质激素|0x0008|0\n糖醛酸|0x100000|1150\n糖人儿|0x0000|44818\n糖舌蜜口|0x0000|100\n糖衣炮弹|0x100000|36046\n螳臂当车|0x1000000|52452\n螳臂当辙|0x0000|100\n螳臂挡车|0x800000|1073\n螳螂捕蝉|0x800000|872\n螳螂奋臂|0x0000|100\n螳螂黄雀|0x0000|100\n倘来之物|0x0000|100\n淌口水|0x1000|0\n傥来之物|0x100000|100\n弢迹匿光|0x0000|100\n掏腰包|0x1000|19143\n滔滔不断|0x1000000|100\n滔滔不竭|0x1000000|100\n滔滔不尽|0x0000|100\n滔滔不绝|0x1000000|16085\n滔滔汩汩|0x1000000|100\n滔滔滚滚|0x1000000|100\n滔天大罪|0x100000|1017\n滔天之罪|0x100000|100\n滔天罪行|0x800000|969\n韬戈卷甲|0x1000000|100\n韬戈偃武|0x1000000|100\n韬光晦迹|0x1000000|1375\n韬光敛彩|0x1000000|100\n韬光敛迹|0x1000000|100\n韬光灭迹|0x1000000|100\n韬光俟奋|0x1000000|100\n韬光养晦|0x1000000|45109\n韬光隐晦|0x1000000|1236\n韬光隐迹|0x1000000|100\n韬光用晦|0x1000000|100\n韬光韫玉|0x1000000|100\n韬晦待时|0x1000000|100\n韬晦之计|0x1000000|1308\n韬迹隐智|0x1000000|100\n韬神晦迹|0x1000000|100\n韬声匿迹|0x1000000|0\n韬形灭影|0x1000000|100\n韬曜含光|0x1000000|100\n饕风虐雪|0x1000000|100\n饕口馋舌|0x1000000|100\n饕餮之徒|0x100000|1139\n洮南市|0x0040|1656\n逃过一劫|0x400000|10\n逃亡者|0x100000|1001\n逃逸速度|0x0008|0\n逃灾避难|0x1000|0\n逃之天天|0x0000|26567\n逃之夭夭|0x1000000|798\n桃谷六仙|0x400000|0\n桃红柳绿|0x1000000|46589\n桃红色|0x100000|877\n桃弧棘矢|0x0000|100\n桃花庵|0x100000|452\n桃花岛|0x100000|535\n桃花流水|0x0000|100\n桃花人面|0x1000000|1207\n桃花扇|0x100000|444\n桃花潭水|0x1000000|1047\n桃花雪|0x100000|1155\n桃花汛|0x100000|1206\n桃花源|0x100000|28409\n桃花源记|0x100000|933\n桃花运|0x100000|42045\n桃江县|0x0040|1504\n桃僵李代|0x1000000|100\n桃来李答|0x1000000|100\n桃李遍天下|0x0008|944\n桃李不言|0x800000|1042\n桃李成蹊|0x1000000|100\n桃李春风|0x1000000|1084\n桃李精神|0x1000000|100\n桃李满天下|0x0008|964\n桃李门墙|0x1000000|100\n桃李无言|0x1000000|953\n桃李争妍|0x1000000|100\n桃李之教|0x1000000|100\n桃李之馈|0x1000000|100\n桃蹊柳陌|0x1000000|100\n桃蹊柳曲|0x1000000|100\n桃腮粉脸|0x1000000|100\n桃腮柳眼|0x1000000|100\n桃羞杏让|0x1000000|100\n桃夭李艳|0x1000000|100\n桃夭柳媚|0x1000000|100\n桃园市|0x0040|1600\n桃园县|0x0040|1325\n桃源县|0x0040|1502\n桃之夭夭|0x1000000|0\n陶瓷材料|0x100000|457\n陶瓷餐具|0x100000|407\n陶瓷产品|0x100000|461\n陶瓷封装|0x0008|0\n陶瓷工艺|0x100000|413\n陶瓷工艺品|0x100000|447\n陶瓷滤波器|0x100000|372\n陶瓷膜|0x100000|378\n陶瓷器|0x100000|984\n陶瓷球|0x100000|370\n陶瓷娃娃|0x100000|394\n陶瓷纤维|0x100000|402\n陶瓷业|0x100000|975\n陶瓷有限公司|0x100000|524\n陶瓷原料|0x100000|406\n陶瓷制品|0x100000|487\n陶瓷砖|0x100000|420\n陶情适性|0x0000|100\n陶犬瓦鸡|0x800000|100\n陶然自得|0x0000|100\n陶熔鼓铸|0x800000|100\n陶陶然|0x0100|1134\n陶陶兀兀|0x0000|100\n陶冶情操|0x100000|871\n陶冶性情|0x800000|793\n淘金热|0x100000|1046\n淘金者|0x100000|916\n淘气包|0x0000|55480\n淘气堡|0x100000|382\n淘气鬼|0x100000|52454\n淘沙得金|0x1000000|100\n淘沙取金|0x1000000|100\n淘汰赛|0x100000|20919\n讨便宜|0x1000|51156\n讨恶翦暴|0x1000000|100\n讨价还价|0x1000000|13587\n讨老婆|0x1000|926\n讨类知原|0x1000000|100\n讨流溯源|0x1000000|100\n讨论会|0x100000|800\n讨论一下|0x400000|0\n讨人喜欢|0x800000|722\n讨人嫌|0x40000000|41105\n讨生活|0x1000|38365\n讨是寻非|0x1000000|100\n讨厌鬼|0x100000|919\n套交情|0x1000|52455\n套近乎|0x1000|33825\n套口供|0x1000|0\n套马杆|0x0000|48150\n套色版|0x100000|1355\n套头衫|0x0000|50348\n套印本|0x0008|1379\n套中人|0x100000|1081\n忑忑忐忐|0x1000000|100\n特别版|0x100000|697\n特别报道|0x100000|776\n特别法|0x100000|1063\n特别奖|0x100000|867\n特别节目|0x100000|800\n特别快车|0x100000|45111\n特别是|0x0000|895\n特别行政区|0x100000|9058\n特产店|0x0040|0\n特长生|0x0000|38760\n特大城市|0x100000|8\n特大号|0x100000|894\n特大事故|0x0000|477\n特大型|0x40000000|524\n特大油气田|0x0008|0\n特等奖|0x100000|851\n特古西加尔巴|0x0040|1329\n特惠关税|0x0008|1396\n特级品|0x100000|0\n特技飞行|0x0008|9\n特技团|0x100000|0\n特价飞机票|0x100000|491\n特价机票|0x100000|714\n特价品|0x100000|935\n特教组|0x100000|0\n特克斯|0x100000|1619\n特克斯县|0x0040|1107\n特快车|0x100000|1036\n特快号|0x100000|0\n特快专递|0x800000|18444\n特困户|0x100000|937\n特拉华|0x0040|1627\n特拉华州|0x0040|1076\n特拉维夫|0x0040|1542\n特立独行|0x1000000|748\n特立尼达和多巴哥|0x40000000|451\n特洛伊|0x0080|1269\n特洛伊木马|0x100000|1442\n特命全权大使|0x0008|377\n特内里弗|0x0080|0\n特派记者|0x0008|69\n特派员|0x100000|11498\n特遣部队|0x100000|49975\n特遣队|0x100000|1034\n特区报|0x100000|530\n特区政府|0x100000|554\n特权阶级|0x0008|1\n特色菜|0x100000|506\n特色产业|0x100000|522\n特色店|0x100000|401\n特色旅游|0x100000|488\n特色美食|0x100000|453\n特色小吃|0x100000|484\n特色学校|0x100000|440\n特赦令|0x100000|48890\n特殊符号|0x0000|489\n特殊化|0x1000|32685\n特殊教育|0x800000|811\n特殊津贴|0x0000|512\n特殊人群|0x100000|442\n特殊效果|0x100000|521\n特殊性|0x100000|10486\n特殊要求|0x0000|575\n特斯拉|0x100000|1124\n特威德三角|0x400000|0\n特务组织|0x0008|1\n特效代码|0x100000|475\n特效药|0x100000|670\n特效字|0x100000|401\n特型演员|0x0000|52002\n特许加盟|0x100000|522\n特许权|0x100000|939\n特许证|0x0008|1196\n特异功能|0x100000|28769\n特异性|0x100000|881\n特征向量|0x0008|0\n特征值|0x0008|1024\n特支费|0x100000|1154\n特种泵|0x100000|420\n特种变压器|0x100000|378\n特种兵|0x100000|35569\n特种玻璃|0x100000|402\n特种部队|0x100000|760\n特种工艺|0x100000|53964\n特种警察|0x0000|54508\n特种设备|0x100000|524\n特种水泥|0x100000|389\n特种橡胶|0x100000|390\n特种行业|0x100000|457\n特种邮票|0x100000|37612\n特种纸|0x100000|430\n腾冲县|0x0040|1581\n腾达飞黄|0x1000000|100\n腾蛟起凤|0x1000000|1188\n腾空而起|0x800000|834\n腾声飞实|0x1000000|100\n腾腾兀兀|0x1000000|100\n腾焰飞芒|0x1000000|100\n腾云驾雾|0x1000000|36049\n滕州市|0x0040|1360\n藤本植物|0x100000|1082\n藤家具|0x100000|372\n藤原纪香|0x0080|864\n藤制品|0x100000|373\n剔抽禿刷|0x0000|100\n剔抽秃揣|0x0000|100\n剔透玲珑|0x1000000|1199\n剔蝎撩蜂|0x1000000|100\n梯队式|0x100000|0\n梯恩梯|0x100000|52964\n梯级开发|0x0008|0\n梯山航海|0x1000000|100\n梯山架壑|0x1000000|100\n梯山栈谷|0x1000000|100\n梯愚入圣|0x1000000|100\n踢毽子|0x1000|917\n踢皮球|0x800000|45112\n踢踏舞|0x100000|34698\n踢踢球|0x100000|961\n踢天弄井|0x800000|100\n踢足球|0x0000|534\n绨袍之义|0x800000|100\n啼饥号寒|0x1000000|52004\n啼啼哭哭|0x0000|100\n啼天哭地|0x1000000|100\n啼笑皆非|0x1000000|24599\n提案人|0x100000|1115\n提插补泻|0x0008|0\n提出者|0x100000|987\n提纲举领|0x1000000|100\n提纲挈领|0x1000000|41337\n提纲振领|0x1000000|100\n提高班|0x0008|922\n提高产品质量|0x0000|520\n提高到一个新的阶段|0x400000|0\n提高工作效率|0x0000|576\n提高经济效益|0x0000|504\n提高劳动生产率|0x0000|444\n提高认识|0x0000|566\n提高生产率|0x0000|422\n提高生活水平|0x0000|371\n提高效率|0x0000|568\n提个醒|0x1000|849\n提供给|0x0000|672\n提供商|0x100000|594\n提供线索|0x0000|480\n提供优质服务|0x0000|504\n提供者|0x100000|717\n提货单|0x100000|43994\n提款单|0x100000|1383\n提款权|0x100000|1177\n提炼厂|0x100000|1087\n提名道姓|0x0000|100\n提起公诉|0x0008|51\n提起来|0x0000|510\n提前量|0x100000|1034\n提前退休|0x0000|472\n提琴手|0x100000|391\n提取物|0x100000|755\n提示符|0x100000|813\n提手旁|0x100000|1247\n提线木偶|0x800000|52966\n提心吊胆|0x1000000|16004\n提心在口|0x1000000|0\n提要钩玄|0x0000|100\n提意见|0x0000|20589\n题材股|0x100000|483\n题海战术|0x100000|976\n题名道姓|0x1000000|0\n题名录|0x100000|1318\n蹄间三寻|0x1400000|0\n蹄閒三寻|0x1400000|0\n蹄闲三寻|0x400000|100\n醍醐灌顶|0x1000000|48892\n鶗鴂雕卉|0x0000|100\n体操队|0x100000|920\n体操房|0x100000|1147\n体察民情|0x1000000|1010\n体大思精|0x1000000|100\n体改委|0x100000|1014\n体格检查|0x0008|471\n体工队|0x0008|1069\n体规画圆|0x1000000|100\n体国经野|0x1000000|1331\n体检标准|0x100000|456\n体检表|0x0000|49247\n体检工作|0x100000|446\n体检中心|0x100000|442\n体力劳动|0x100000|530\n体能训练|0x0000|489\n体弱多病|0x800000|840\n体态语|0x100000|407\n体坛周报|0x100000|801\n体体面面|0x0100|1077\n体贴入妙|0x1000000|100\n体贴入微|0x1000000|35281\n体外受精|0x1000|0\n体外循环|0x100000|43758\n体温表|0x100000|1053\n体温计|0x100000|38564\n体无完肤|0x1000000|35282\n体无完皮|0x1000000|100\n体物缘情|0x1000000|100\n体系化|0x1000|997\n体系结构|0x100000|726\n体细胞|0x100000|944\n体细胞杂交|0x0008|0\n体恤入微|0x1000000|100\n体循环|0x100000|1156\n体验生活|0x0008|763\n体育爱好者|0x0000|432\n体育版|0x100000|989\n体育报|0x100000|524\n体育部|0x100000|1392\n体育彩票|0x100000|665\n体育产业|0x100000|480\n体育场|0x100000|7043\n体育场地|0x100000|437\n体育场馆|0x100000|833\n体育代表团|0x100000|405\n体育道德|0x0008|1\n体育锻炼|0x0008|559\n体育馆|0x100000|7684\n体育会|0x100000|968\n体育活动|0x0008|575\n体育教师|0x0000|493\n体育节|0x100000|450\n体育节目|0x100000|473\n体育界|0x100000|850\n体育精神|0x100000|477\n体育竞技|0x100000|536\n体育竞赛|0x100000|926\n体育局|0x100000|1184\n体育课|0x100000|715\n体育老师|0x0000|502\n体育类|0x100000|588\n体育论文|0x100000|403\n体育明星|0x100000|748\n体育频道|0x100000|608\n体育器材|0x100000|485\n体育赛事|0x100000|512\n体育设施|0x100000|508\n体育史|0x100000|370\n体育事业|0x0000|500\n体育台|0x100000|471\n体育网|0x100000|493\n体育项目|0x100000|500\n体育心理学|0x0008|0\n体育新闻|0x0000|601\n体育学院|0x0000|539\n体育用品|0x0008|627\n体育用品有限公司|0x100000|479\n体育院校|0x100000|406\n体育运动|0x100000|648\n体育运动委员会|0x0008|373\n体育中心|0x100000|571\n体育总局|0x100000|577\n体育组|0x100000|0\n体胀系数|0x800000|1313\n体制改革|0x0008|638\n体制性|0x100000|456\n体重计|0x0008|1036\n体重减轻|0x100000|452\n体重增加|0x100000|474\n剃光头|0x1000|45113\n剃头刀|0x0008|47193\n剃须刀|0x100000|37426\n倜傥不羁|0x1000000|100\n倜傥不群|0x1000000|100\n涕泪交垂|0x0000|100\n涕泪交集|0x0000|100\n涕泪交加|0x0000|100\n涕泪交零|0x0000|100\n涕泪交流|0x0000|100\n涕泪交下|0x0000|100\n涕零如雨|0x0000|100\n涕泗横流|0x800000|1178\n涕泗交流|0x0000|100\n涕泗交下|0x0000|100\n涕泗交颐|0x0000|100\n涕泗流涟|0x0000|100\n涕泗滂沲|0x1000000|100\n涕泗滂沱|0x1000000|1202\n涕泗纵横|0x0000|100\n逖听遐视|0x1000000|100\n逖听远闻|0x0000|100\n逷听远闻|0x1000000|0\n替补队员|0x100000|973\n替补席|0x100000|833\n替代品|0x100000|759\n替古人担忧|0x0008|1199\n替古人耽忧|0x0008|1534\n替身演员|0x100000|992\n替死鬼|0x100000|46013\n替天行道|0x1000000|893\n替硝唑|0x0008|1111\n替罪羊|0x100000|34387\n殢雨尤云|0x1000000|100\n殢云尤雨|0x1000000|100\n天安门|0x0040|9154\n天安门城楼|0x0040|1518\n天安门广场|0x0040|1280\n天安门事件|0x100000|425\n天宝当年|0x0000|100\n天保九如|0x1400000|0\n天崩地坼|0x1000000|100\n天崩地解|0x1000000|100\n天崩地裂|0x1000000|46014\n天崩地塌|0x1000000|100\n天崩地坍|0x1000000|100\n天崩地陷|0x1000000|1275\n天兵天将|0x1000000|42792\n天不假年|0x800000|100\n天不绝人|0x800000|100\n天不怕|0x800000|807\n天不怕地不怕|0x0000|498\n天不作美|0x800000|1067\n天才论|0x0008|0\n天才少年|0x100000|487\n天差地别|0x800000|924\n天差地远|0x1000000|53437\n天长地久|0x1000000|35427\n天长地老|0x0000|100\n天长日久|0x1000000|31216\n天长市|0x0040|1210\n天成地平|0x1000000|100\n天秤座|0x0008|655\n天愁地惨|0x1000000|1104\n天赐良机|0x800000|930\n天从人原|0x1000000|100\n天从人愿|0x800000|1125\n天摧地塌|0x0000|100\n天打雷轰|0x800000|0\n天打雷劈|0x1000000|894\n天打五雷轰|0x400000|1\n天大地大|0x800000|904\n天道酬勤|0x800000|822\n天道好还|0x1000000|1251\n天道宁论|0x1000000|100\n天道人事|0x0000|100\n天道无亲|0x1000000|1146\n天等县|0x0040|1629\n天低吴楚|0x0000|100\n天底下|0x100000|22852\n天地不容|0x0000|100\n天地长久|0x1000000|100\n天地合一|0x400000|0\n天地会|0x0008|936\n天地间|0x0000|608\n天地经纬|0x0020|1305\n天地良心|0x800000|898\n天地剖判|0x1000000|100\n天地英雄|0x100000|916\n天地诛戮|0x1000000|100\n天地诛灭|0x1000000|100\n天冬氨酸|0x0008|0\n天夺其魄|0x1000000|1393\n天夺之年|0x1000000|100\n天夺之魄|0x1000000|100\n天峨县|0x0040|1605\n天鹅湖|0x0040|1275\n天鹅绒|0x100000|34699\n天鹅座|0x0008|1163\n天翻地覆|0x1000000|22593\n天方夜谭|0x1000000|26703\n天府热线|0x100000|880\n天府之国|0x1000000|36540\n天付良缘|0x0000|100\n天赋人权|0x800000|1023\n天覆地载|0x1000000|1268\n天高地厚|0x1000000|34233\n天高地迥|0x0000|100\n天高地下|0x1000000|100\n天高皇帝远|0x0008|1018\n天高气爽|0x800000|44821\n天高任鸟飞|0x0008|903\n天高日远|0x0000|100\n天高听卑|0x1000000|100\n天高听下|0x1000000|100\n天高云淡|0x800000|833\n天各一方|0x1400000|38166\n天工人代|0x1000000|100\n天公不作美|0x0008|872\n天公地道|0x1000000|54955\n天冠地屦|0x1000000|100\n天国阶梯|0x100000|373\n天寒地冻|0x800000|27408\n天河城|0x100000|465\n天河传说|0x100000|392\n天花板|0x100000|13863\n天花粉|0x100000|1070\n天花乱坠|0x1000000|28052\n天华乱坠|0x1000000|100\n天荒地老|0x1000000|53967\n天潢贵胄|0x1000000|100\n天昏地暗|0x1000000|28138\n天昏地黑|0x800000|1217\n天机报|0x100000|379\n天机诗|0x100000|383\n天机云锦|0x0000|100\n天极网|0x0008|918\n天际线|0x100000|1023\n天假良缘|0x800000|100\n天假其年|0x1000000|100\n天假因缘|0x0000|100\n天假之年|0x1000000|100\n天津滨海|0x100000|496\n天津大学|0x0020|1232\n天津酒店|0x100000|375\n天津人|0x100000|880\n天津日报|0x100000|538\n天津市|0x0040|877\n天津市委|0x100000|477\n天经地纬|0x1000000|1379\n天经地义|0x1000000|18597\n天荆地棘|0x1000000|100\n天惊石破|0x1000000|100\n天峻县|0x0040|1136\n天开地辟|0x1000000|1330\n天空光|0x0008|0\n天空海阔|0x1000000|945\n天空软件|0x100000|450\n天籁村|0x0040|458\n天蓝色|0x100000|793\n天狼星|0x0008|41338\n天朗气清|0x1000000|1035\n天老地荒|0x1000000|100\n天老儿|0x100000|1507\n天老爷|0x100000|1103\n天理不容|0x800000|1006\n天理教|0x0020|1189\n天理良心|0x0000|100\n天理难容|0x1000000|1009\n天理人情|0x100000|1262\n天理昭彰|0x0000|100\n天理昭昭|0x0000|100\n天灵盖|0x100000|41800\n天龙八部|0x400000|722\n天龙队|0x100000|0\n天龙座|0x0000|386\n天伦之乐|0x1000000|27002\n天罗地网|0x1000000|28575\n天马行空|0x1000000|36051\n天门冬|0x100000|1014\n天门市|0x0040|1488\n天名精|0x0008|0\n天命攸归|0x0000|100\n天命有归|0x0000|100\n天末凉风|0x0000|100\n天目山|0x0040|1469\n天南地北|0x1000000|31088\n天南海北|0x800000|30213\n天南星|0x100000|1053\n天年不测|0x1000000|100\n天年不齐|0x1000000|100\n天年不遂|0x1000000|100\n天凝地闭|0x800000|100\n天怒人怨|0x1000000|46296\n天女散花|0x1000000|35111\n天疱疮|0x100000|1074\n天平秤|0x100000|1192\n天平地成|0x1000000|100\n天平室|0x100000|0\n天平座|0x0000|458\n天气报告|0x100000|1056\n天气图|0x100000|1178\n天气现象|0x100000|1063\n天气预报|0x100000|5363\n天气状况|0x100000|478\n天琴座|0x0008|1073\n天青石|0x100000|1072\n天清气朗|0x0000|100\n天清日白|0x1000000|100\n天球仪|0x100000|1304\n天全县|0x0040|1074\n天然堤|0x0008|0\n天然更新|0x0008|0\n天然碱|0x100000|1072\n天然林|0x100000|8243\n天然免疫|0x100000|1200\n天然漆|0x100000|1271\n天然气|0x100000|4296\n天然树脂|0x0008|0\n天然丝|0x100000|1263\n天然纤维|0x0008|967\n天然橡胶|0x4000000|27884\n天壤王郎|0x1000000|100\n天壤悬隔|0x800000|100\n天壤之别|0x1000000|27644\n天壤之隔|0x0000|100\n天人共鉴|0x0000|100\n天人合一|0xc00000|38565\n天人之际|0x1000000|1063\n天山南路|0x0040|0\n天山山脉|0x0040|1571\n天上碑|0x100000|386\n天上麒麟|0x1000000|100\n天上人间|0x1000000|717\n天上石麟|0x100000|100\n天上天下|0x100000|479\n天生地设|0x1000000|100\n天生丽质|0x800000|657\n天生十几|0x400000|0\n天生天化|0x1000000|100\n天生天杀|0x0000|100\n天生我才必有用|0x1000000|847\n天生我材必有用|0x0008|899\n天生一对|0x400000|0\n天生一对宝|0x400000|0\n天生尤物|0x800000|946\n天时达|0x0008|1498\n天时地利|0x800000|879\n天时地利人和|0x0008|862\n天使花房|0x100000|385\n天授地设|0x1000000|0\n天水街|0x0040|1539\n天水市|0x0040|1427\n天粟马角|0x1000000|0\n天随人原|0x1000000|0\n天随人愿|0x0000|100\n天塌地陷|0x1000000|47195\n天台路迷|0x0000|100\n天台县|0x0040|1430\n天坍地陷|0x1000000|1540\n天堂地狱|0x0000|100\n天堂家园|0x100000|375\n天堂鸟|0x0008|1384\n天堂寨|0x100000|412\n天体力学|0x100000|0\n天体物理学|0x0008|6\n天体营|0x0040|406\n天天开心|0x0000|518\n天天向上|0x800000|728\n天外飞来|0x1000000|1008\n天外来客|0x100000|924\n天外有天|0x800000|46297\n天王老子|0x1000000|1009\n天王星|0x0008|38763\n天网恢恢|0x800000|43043\n天文单位|0x100000|1135\n天文地理|0x1000000|809\n天文馆|0x100000|30758\n天文数字|0x800000|28053\n天文台|0x100000|10347\n天文望远镜|0x100000|20213\n天文学|0x100000|805\n天文学家|0x100000|831\n天文钟|0x100000|1196\n天无二日|0x1400000|0\n天无绝人之路|0x0008|893\n天下本无事|0x0008|1054\n天下大乱|0x1000000|815\n天下大治|0x800000|1016\n天下第一|0xc00000|7\n天下独步|0x0000|100\n天下父母|0x100000|501\n天下归心|0x0000|100\n天下会|0x100000|475\n天下莫敌|0x1000000|1337\n天下太平|0x1000000|844\n天下为公|0x1000000|951\n天下为家|0x800000|1197\n天下为笼|0x0000|100\n天下为一|0x400000|0\n天下文章一大抄|0x400000|0\n天下乌鸦一般黑|0x400008|0\n天下无敌|0x1000000|761\n天下无难事|0x0008|1048\n天下无双|0x1000000|761\n天下武林|0x100000|478\n天下兴亡|0x800000|851\n天下汹汹|0x0000|100\n天下一家|0x1400000|0\n天下英雄|0x100000|512\n天下杂志|0x100000|871\n天下足球|0x100000|514\n天仙藤|0x0008|0\n天线宝宝|0x100000|513\n天线方向图|0x0008|0\n天线罩|0x0008|0\n天线阵|0x0008|0\n天香国色|0x1000000|1101\n天象仪|0x100000|1199\n天晓得|0x800000|33687\n天蝎座|0x0008|608\n天行时气|0x0000|100\n天悬地隔|0x1000000|100\n天旋地转|0x1000000|32815\n天涯比邻|0x1000000|1166\n天涯地角|0x1000000|1075\n天涯海角|0x1000000|20331\n天涯若比邻|0x0008|809\n天涯社区|0x100000|490\n天涯咫尺|0x0000|100\n天演论|0x100000|1098\n天摇地动|0x1000000|1009\n天衣无缝|0x1000000|25156\n天鹰座|0x0008|1170\n天有不测风云|0x0008|854\n天诱其衷|0x1000000|100\n天与人归|0x1000000|1422\n天渊之别|0x1000000|48152\n天渊之隔|0x0000|100\n天元战|0x100000|470\n天缘凑合|0x0000|100\n天灾地变|0x1000000|1283\n天灾地妖|0x1000000|100\n天灾人祸|0x1000000|25727\n天造草昧|0x1000000|100\n天造地设|0x1000000|40654\n天真烂漫|0x1000000|24600\n天真烂熳|0x1000000|100\n天真无邪|0x800000|30759\n天镇县|0x0040|1147\n天震地骇|0x0000|100\n天之骄子|0x1000000|35112\n天之僇民|0x1000000|100\n天之戮民|0x1000000|100\n天知道|0x800000|25291\n天知地知|0x800000|1022\n天诛地灭|0x1000000|45114\n天竺黄|0x0008|0\n天竺葵|0x100000|51577\n天竺鼠|0x100000|1123\n天主教|0x0008|10434\n天主教会|0x100000|990\n天主教堂|0x100000|886\n天主教徒|0x100000|908\n天主堂|0x100000|1012\n天柱县|0x0040|1097\n天祝藏族自治县|0x0040|1125\n天姿国色|0x800000|1062\n天子山|0x100000|463\n天字第一|0x400000|0\n天字第一号|0x400008|43759\n天作之合|0x1000000|46015\n添兵减灶|0x0000|100\n添醋加油|0x1000000|100\n添加剂|0x100000|12887\n添加物|0x100000|951\n添麻烦|0x800000|789\n添盐着醋|0x1000000|100\n添油炽薪|0x1000000|100\n添油加醋|0x1000000|36374\n添枝加叶|0x1000000|45115\n添枝接叶|0x1000000|100\n添枝增叶|0x1000000|100\n添砖加瓦|0x1000000|33577\n田村正和|0x0080|0\n田东县|0x0040|1624\n田夫野老|0x0008|100\n田父献曝|0x0000|100\n田父之功|0x100000|100\n田间管理|0x800000|1000\n田间试验|0x0008|0\n田间释放|0x0008|0\n田径场|0x100000|930\n田径队|0x100000|954\n田径锦标赛|0x100000|454\n田径赛|0x100000|996\n田径运动|0x800000|32305\n田径运动会|0x100000|493\n田连阡陌|0x0000|100\n田林县|0x0040|1616\n田纳西|0x0040|1522\n田纳西州|0x0040|1566\n田阳县|0x0040|1603\n田野工作|0x100000|1137\n田园风光|0x100000|843\n田园曲|0x100000|0\n田园诗|0x100000|39796\n田月桑时|0x800000|100\n田中角荣|0x0080|1088\n恬不为怪|0x1000000|1386\n恬不为意|0x1000000|100\n恬不知耻|0x1000000|41339\n恬不知怪|0x1000000|100\n恬不知愧|0x1000000|100\n恬不知羞|0x1000000|100\n恬淡寡欲|0x0000|100\n恬淡无为|0x1000000|1335\n恬淡无欲|0x0000|100\n恬然自足|0x1000000|100\n恬言柔舌|0x1000000|100\n甜不辣|0x0008|0\n甜菜碱|0x100000|388\n甜点心|0x100000|1136\n甜津津|0x0100|1078\n甜菊糖|0x100000|370\n甜咖啡|0x100000|415\n甜蜜蜜|0x0100|694\n甜面酱|0x100000|52007\n甜腻腻|0x0100|1010\n甜丝丝|0x0100|38167\n甜酸苦辣|0x1000000|930\n甜甜地|0x8000000|765\n甜甜蜜蜜|0x0100|806\n甜味儿|0x0000|30324\n甜味剂|0x100000|46900\n甜性涩爱|0x100000|1007\n甜言美语|0x1000000|1405\n甜言媚语|0x1000000|100\n甜言蜜语|0x1000000|29142\n甜言软语|0x1000000|100\n甜玉米|0x0008|454\n甜滋滋|0x0100|44526\n甜嘴蜜舌|0x1000000|100\n填补国内空白|0x0000|443\n填充物|0x0008|466\n填海造地|0x0008|0\n填街塞巷|0x1000000|1534\n填坑满谷|0x800000|100\n填料函|0x0008|0\n填平补齐|0x800000|1233\n填鸭式|0x20000000|48894\n靦颜人世|0x0000|100\n靦颜事仇|0x1000000|100\n佻身飞镞|0x1000000|100\n挑拨离间|0x1000000|40021\n挑茶斡刺|0x1000000|100\n挑唇料嘴|0x0000|100\n挑刺儿|0x1000|48154\n挑错儿|0x0000|53439\n挑大梁|0x800000|32179\n挑得篮里便是菜|0x0008|100\n挑灯夜战|0x800000|935\n挑肥拣瘦|0x1000000|42794\n挑精拣肥|0x1000000|100\n挑毛病|0x800000|951\n挑毛拣刺|0x1000|1425\n挑么挑六|0x1400000|0\n挑三拨四|0x1400000|0\n挑三豁四|0x1400000|0\n挑三拣四|0x1400000|48520\n挑三检四|0x1400000|0\n挑三窝四|0xc00000|0\n挑三嫌四|0x1400000|0\n挑山工|0x100000|1099\n挑挑拣拣|0x0100|985\n挑衅性|0x100000|1046\n挑雪填井|0x800000|100\n挑牙料唇|0x0000|100\n挑幺挑六|0x400000|100\n挑战赛|0x100000|788\n挑战书|0x100000|51160\n挑战五笔|0x400000|0\n挑战性|0x100000|705\n挑战者|0x100000|815\n挑战者杯|0x100000|1373\n条分节解|0x1000000|100\n条分缕析|0x1000000|43044\n条贯部分|0x1000000|100\n条件刺激|0x100000|1259\n条件反射|0x800000|21125\n条件期望|0x0008|0\n条件式|0x100000|1154\n条件下|0x100000|744\n条解支劈|0x1000000|100\n条块分割|0x800000|1011\n条块结合|0x800000|1109\n条理素|0x100000|0\n条理性|0x100000|932\n条码机|0x100000|463\n条码阅读器|0x0008|435\n条入叶贯|0x1000000|100\n条三窝四|0x400000|100\n条条大路通罗马|0x0008|953\n条条杠杠|0x0000|55944\n条条块块|0x800000|55482\n条条框框|0x800000|32178\n条文主义|0x100000|0\n条纹病|0x0008|0\n条纹布|0x100000|1209\n条形码|0x100000|38168\n条形码打印机|0x100000|451\n条修叶贯|0x0000|100\n条锈病|0x100000|1110\n蜩螗沸羹|0x800000|100\n粜风卖雨|0x800000|100\n跳出来|0x0000|579\n跳到黄河洗不清|0x0008|100\n跳房子|0x1000|53440\n跳进黄河洗不清|0x0000|100\n跳来跳去|0x0000|496\n跳梁小丑|0x1000000|942\n跳楼价|0x0000|51580\n跳楼自杀|0x0000|509\n跳皮筋|0x1000|960\n跳皮筋儿|0x1000|53441\n跳起来|0x0000|645\n跳伞塔|0x100000|1090\n跳水池|0x100000|1194\n跳汰机|0x100000|1166\n跳跳舞|0x100000|883\n跳丸日月|0x0000|100\n跳舞机|0x0008|1336\n跳舞厅|0x0008|0\n跳跃传导|0x0008|0\n跳在黄河洗不清|0x0000|100\n跳蚤市场|0x100000|39798\n贴本儿|0x0000|53442\n贴标签|0x1000|52008\n贴饼子|0x1000|47196\n贴膏药|0x100000|1050\n贴近生活|0x100000|833\n贴图区|0x0008|632\n贴息贷款|0x100000|1048\n贴现率|0x100000|34534\n贴心话|0x100000|55483\n贴心人|0x100000|19992\n铁案如山|0x1000000|1292\n铁板不易|0x0000|100\n铁板大鼓|0x100000|1294\n铁板钉钉|0x800000|52458\n铁板歌喉|0x1000000|100\n铁板烧|0x0008|1440\n铁板铜琶|0x1000000|1286\n铁板铜弦|0x1000000|100\n铁板一块|0x1400000|40884\n铁棒磨成针|0x0008|1148\n铁笔无私|0x1000000|100\n铁壁铜墙|0x1000000|52459\n铁壁铜山|0x1000000|100\n铁蚕豆|0x100000|48155\n铁肠石心|0x1000000|100\n铁杵成针|0x800000|1209\n铁杵磨成针|0x0008|1047\n铁窗风味|0x0000|100\n铁窗业|0x100000|0\n铁绰铜琶|0x1000000|100\n铁磁性|0x0008|371\n铁打江山|0x800000|1084\n铁打铜铸|0x0000|100\n铁打心肠|0x1000000|100\n铁蛋白|0x0008|0\n铁道兵|0x100000|34234\n铁道部|0x100000|1077\n铁电体|0x100000|1321\n铁矾土|0x100000|1388\n铁饭碗|0x100000|20632\n铁哥们|0x0008|469\n铁哥们儿|0x0000|40656\n铁工厂|0x0000|369\n铁公鸡|0x100000|44825\n铁骨铮铮|0x800000|49251\n铁观音|0x100000|44243\n铁郭金城|0x1000000|100\n铁汉子|0x100000|1093\n铁合金|0x100000|751\n铁合金厂|0x100000|904\n铁画银钩|0x1000000|1271\n铁灰色|0x0000|410\n铁蒺藜|0x100000|52009\n铁甲车|0x100000|1241\n铁甲舰|0x100000|1136\n铁将军|0x100000|44244\n铁匠铺|0x100000|930\n铁交椅|0x100000|46300\n铁脚板|0x100000|50353\n铁矿砂|0x100000|443\n铁矿石|0x100000|788\n铁矿石价格|0x100000|501\n铁栏杆|0x100000|925\n铁力市|0x0040|1619\n铁了心|0x800000|3\n铁岭市|0x0040|1440\n铁岭县|0x0040|1630\n铁路部门|0x0000|514\n铁路车辆|0x100000|403\n铁路法|0x100000|377\n铁路分局|0x0000|491\n铁路工程|0x100000|477\n铁路局|0x100000|766\n铁路桥|0x100000|1001\n铁路权|0x100000|0\n铁路网|0x100000|877\n铁路线|0x100000|905\n铁路信号|0x0008|375\n铁路沿线|0x0000|468\n铁路医院|0x0040|1610\n铁路运输|0x0008|749\n铁路职工|0x100000|14\n铁马金戈|0x1000000|1074\n铁面枪牙|0x0000|100\n铁面无私|0x1000000|27645\n铁面御史|0x0000|100\n铁器时代|0x4000|100\n铁人三项|0x0000|26359\n铁三角|0x100000|527\n铁沙掌|0x100000|1141\n铁砂掌|0x100000|399\n铁扇公主|0x0000|441\n铁狮子|0x100000|377\n铁石心肠|0x1000000|32686\n铁石心肝|0x1000000|100\n铁树花开|0x1000000|100\n铁树开花|0x1000000|54511\n铁树开华|0x1000000|100\n铁丝网|0x100000|17927\n铁算盘|0x100000|52461\n铁索桥|0x100000|38986\n铁锁链|0x100000|1220\n铁桶江山|0x1000000|1311\n铁腕人物|0x100000|52010\n铁网珊瑚|0x0000|100\n铁系元素|0x0008|0\n铁苋菜|0x0008|0\n铁线蕨|0x100000|1169\n铁鞋踏破|0x1000000|100\n铁心木肠|0x1000000|100\n铁心石肠|0x1000000|100\n铁血丹心|0x100000|890\n铁血宰相|0x0008|1\n铁血政策|0x100000|1178\n铁血主义|0x100000|0\n铁砚磨穿|0x1000000|100\n铁氧体|0x100000|840\n铁狱铜笼|0x1000000|100\n铁铮铮|0x0100|1075\n铁证如山|0x1000000|37783\n铁中铮铮|0x1000000|100\n铁嘴钢牙|0x1000000|1198\n厅局长|0x100000|1034\n厅局级|0x20000000|1004\n听不到|0x0000|658\n听不得|0x1000|1196\n听不懂|0x1000|651\n听不见|0x0000|604\n听不清|0x1000|2\n听得见|0x0000|541\n听而不闻|0x1000000|43046\n听风是雨|0x800000|1321\n听风听水|0x0000|100\n听话儿|0x1000|0\n听见风就是雨|0x0008|100\n听君一席话|0x400000|0\n听其言|0x800000|1029\n听其言而观其行|0x100000|100\n听其自流|0x0000|100\n听其自然|0x1000000|40022\n听起来|0x0000|686\n听人穿鼻|0x800000|100\n听神经|0x100000|1080\n听说过|0x0000|704\n听天由命|0x1000000|25217\n听我藐藐|0x1000000|0\n听音乐|0x0000|665\n听者藐藐|0x800000|100\n听诊器|0x100000|31676\n听证会|0x100000|791\n听之不闻|0x1000000|0\n听之藐藐|0x800000|100\n听之任之|0x1000000|26487\n廷争面折|0x800000|100\n亭台楼阁|0x1000000|38371\n亭亭玉立|0x1000000|26161\n亭子间|0x100000|27317\n停车场|0x100000|11848\n停车位|0x100000|755\n停机坪|0x100000|29055\n停经片|0x0008|0\n停留长智|0x1000000|100\n停妻再娶|0x0000|100\n停尸间|0x0000|428\n停停当当|0x0100|1039\n停下来|0x0000|698\n停辛伫苦|0x1000000|100\n停辛贮苦|0x1000000|100\n停薪留职|0x800000|36888\n停云落月|0x1000000|1540\n停战协定|0x0008|11\n停止使用|0x0000|539\n停滞不前|0x800000|778\n挺而走险|0x1000000|1033\n挺鹿走险|0x1000000|100\n挺身而出|0x1000000|15233\n挺胸凸肚|0x1000000|1237\n铤而走险|0x1000000|19069\n铤鹿走险|0x1000000|100\n通报批评|0x0000|543\n通报制度|0x100000|452\n通便剂|0x100000|1291\n通变达权|0x1000000|100\n通才练识|0x1000000|100\n通才硕学|0x1000000|100\n通材达识|0x1000000|100\n通财之义|0x0008|1321\n通城县|0x0040|1630\n通存通兑|0x800000|43047\n通达谙练|0x0000|100\n通达信|0x100000|384\n通道侗族自治县|0x0040|1784\n通电话|0x1000|657\n通都大埠|0x1000000|100\n通都大邑|0x100000|52462\n通都巨邑|0x1000000|100\n通风报信|0x1000000|31089\n通风报讯|0x1000000|1246\n通风道|0x0008|1122\n通风管|0x100000|1015\n通风管道|0x0008|818\n通风机|0x100000|887\n通风孔|0x100000|1108\n通风口|0x0008|48522\n通风设备|0x0008|862\n通风讨信|0x1000000|100\n通工易事|0x1000000|1529\n通功易事|0x1000000|1407\n通共有无|0x1000000|0\n通古博今|0x1000000|100\n通古达变|0x1000000|100\n通古斯|0x100000|1043\n通关节|0x0000|44827\n通海县|0x0040|1531\n通河县|0x0040|1047\n通化街|0x0040|0\n通化市|0x0040|1456\n通化县|0x0040|1060\n通话费|0x100000|893\n通话记录|0x0000|573\n通话时间|0x0000|624\n通话质量|0x0000|489\n通货紧缩|0x100000|18180\n通货膨胀|0x800000|9954\n通货膨胀率|0x100000|482\n通缉犯|0x100000|851\n通缉令|0x100000|25050\n通计熟筹|0x1000000|100\n通家之好|0x100000|1330\n通江县|0x0040|1059\n通今博古|0x1000000|1280\n通今达古|0x1000000|100\n通栏标题|0x100000|1094\n通力合作|0x1000000|841\n通辽市|0x0040|1312\n通路子|0x1000|0\n通南彻北|0x1000000|100\n通盘性|0x100000|0\n通配符|0x100000|890\n通气孔|0x100000|1088\n通前彻后|0x1000000|100\n通前澈后|0x1000000|100\n通前至后|0x1000000|100\n通勤车|0x0000|52969\n通情达理|0x1000000|23828\n通衢大邑|0x1000000|100\n通衢广陌|0x1000000|100\n通权达变|0x1000000|53444\n通权达理|0x1000000|100\n通儒达识|0x1000000|100\n通儒达士|0x1000000|100\n通儒硕学|0x1000000|100\n通山县|0x0040|1613\n通商惠工|0x0000|100\n通商口岸|0x0008|1\n通上彻下|0x1000000|100\n通时达变|0x1000000|100\n通时达务|0x1000000|100\n通时合变|0x1000000|100\n通首至尾|0x1000000|100\n通书达礼|0x1000000|100\n通俗歌曲|0x100000|968\n通俗化|0x1000|977\n通俗性|0x100000|1035\n通俗易懂|0x800000|9\n通体砖|0x100000|379\n通天彻地|0x1000000|1117\n通天达地|0x1000000|100\n通天河|0x0040|1586\n通通风|0x100000|1196\n通通话|0x100000|0\n通通信|0x100000|943\n通同一气|0x1400000|0\n通同作弊|0x0000|100\n通渭县|0x0040|1081\n通文达礼|0x1000000|100\n通文达理|0x1000000|100\n通文达艺|0x1000000|100\n通文调武|0x1000000|100\n通无共有|0x1000000|0\n通险畅机|0x0000|100\n通宵彻旦|0x1000000|100\n通宵彻夜|0x1000000|100\n通宵彻昼|0x0000|100\n通宵达旦|0x1000000|27489\n通心粉|0x100000|51162\n通信班|0x100000|1318\n通信兵|0x100000|43761\n通信产业|0x0000|504\n通信处|0x100000|1205\n通信地址|0x100000|716\n通信工程|0x0008|743\n通信管理局|0x0000|532\n通信连|0x100000|1217\n通信联络|0x0008|6\n通信网|0x100000|841\n通信卫星|0x100000|25160\n通信线路|0x0000|463\n通信协议|0x0008|484\n通信员|0x100000|23288\n通行费|0x100000|922\n通行权|0x0000|371\n通行无阻|0x1000000|1004\n通行证|0x100000|13887\n通行证号|0x100000|390\n通许县|0x0040|1041\n通讯兵|0x0000|53972\n通讯处|0x100000|1087\n通讯地址|0x100000|696\n通讯录|0x100000|499\n通讯器材|0x100000|694\n通讯设备|0x100000|679\n通讯社|0x100000|10867\n通讯网|0x100000|44528\n通讯卫星|0x100000|39387\n通讯员|0x100000|13526\n通邑大都|0x1000000|100\n通用版|0x100000|506\n通用报表|0x100000|371\n通用电气|0x0020|1344\n通用电气公司|0x0020|1362\n通用多八位编码字符集|0x400000|0\n通用机械|0x100000|490\n通用计算机|0x100000|825\n通用零部件|0x100000|444\n通用汽车|0x100000|588\n通用设备|0x100000|471\n通用网址|0x100000|612\n通用型|0x100000|518\n通用性|0x100000|844\n通用字|0x0000|55485\n通忧共患|0x1000000|100\n通幽动微|0x1000000|100\n通幽洞灵|0x1000000|100\n通幽洞冥|0x1000000|100\n通幽洞微|0x1000000|100\n通榆县|0x0040|1085\n通元识微|0x1000000|100\n通胀率|0x100000|1013\n通真达灵|0x1000000|100\n通知单|0x100000|28410\n通知书|0x100000|8846\n通州区|0x0040|1243\n通州市|0x0040|1272\n痌瘝在抱|0x1000000|100\n同案犯|0x100000|37784\n同胞共气|0x1000000|100\n同胞兄弟|0x100000|1006\n同比增加|0x1000|527\n同敝相济|0x1000000|100\n同病相怜|0x1000000|32306\n同步带|0x0008|1440\n同步电动机|0x100000|1072\n同步电机|0x100000|435\n同步歌词|0x100000|483\n同步回旋加速器|0x0008|0\n同步加速器|0x0008|0\n同步器|0x0008|0\n同步卫星|0x100000|1115\n同尘合污|0x0000|100\n同仇敌慨|0x1000000|1265\n同仇敌忾|0x1000000|31217\n同出一辙|0xc00000|48157\n同船合命|0x1000000|100\n同床各梦|0x1000000|100\n同床共枕|0x1000000|898\n同床异梦|0x1000000|41107\n同垂不朽|0x1000000|100\n同德同心|0x1000000|1266\n同德县|0x0040|1156\n同德协力|0x1000000|100\n同德一心|0x1400000|0\n同等学力|0x100000|54513\n同等学历|0x100000|890\n同调群|0x0008|0\n同多酸|0x0008|0\n同恶共济|0x1000000|100\n同恶相党|0x1000000|100\n同恶相济|0x1000000|1283\n同恶相求|0x1000000|100\n同恶相恤|0x1000000|100\n同恶相助|0x1000000|100\n同分异构|0x0008|0\n同符合契|0x1000000|100\n同父异母|0x0008|897\n同甘共苦|0x1000000|23458\n同工不同酬|0x0008|1059\n同工同酬|0x800000|40886\n同工异曲|0x1000000|1202\n同功一体|0x1400000|0\n同归殊涂|0x1000000|100\n同归殊途|0x1000000|100\n同归于尽|0x1000000|22337\n同呼吸|0x800000|963\n同花顺|0x0000|457\n同化力|0x100000|1255\n同化政策|0x800000|968\n同化作用|0x100000|850\n同济大学|0x0020|1171\n同江市|0x0040|1040\n同居一室|0x400000|1\n同聚物|0x0008|0\n同乐会|0x100000|942\n同类产品|0x0000|428\n同类相从|0x1000000|100\n同类相妒|0x1000000|0\n同类相求|0x1000000|100\n同类项|0x100000|1068\n同离子效应|0x0008|1381\n同力协契|0x1000000|0\n同利相死|0x1000000|100\n同龄林|0x0008|0\n同龄人|0x100000|19752\n同流合汙|0x1000000|0\n同流合污|0x1000000|32180\n同路人|0x100000|32434\n同伦群|0x100000|1534\n同美相妒|0x1000000|100\n同门异户|0x800000|100\n同盟国|0x100000|954\n同盟会|0x100000|1434\n同盟军|0x100000|32307\n同盟条约|0x0008|1116\n同盟者|0x100000|41108\n同明相照|0x1000000|1538\n同谋犯|0x100000|1319\n同年而校|0x1000000|0\n同年而语|0x1000000|1256\n同盘而食|0x1000000|100\n同袍同泽|0x800000|100\n同气连枝|0x1000000|1079\n同气相求|0x1000000|1114\n同情心|0x100000|701\n同情者|0x100000|1060\n同然一辞|0x1400000|0\n同人小说|0x100000|467\n同人志|0x100000|454\n同仁县|0x0040|1083\n同仁医院|0x100000|462\n同日而道|0x1000000|0\n同日而论|0x1000000|100\n同日而言|0x1000000|100\n同日而语|0x1000000|807\n同生共死|0x1000000|49614\n同生死|0x1000000|1040\n同生作用|0x0008|0\n同声翻译|0x0000|406\n同声共气|0x1000000|100\n同声同气|0x1000000|1020\n同声相求|0x1000000|100\n同声相应|0x1000000|1128\n同声一辞|0x1400000|0\n同时代|0x1000|778\n同时对比|0x0008|1\n同时在线人数|0x100000|461\n同室操戈|0x1000000|42797\n同素异形体|0x0008|1229\n同堂兄弟|0x0000|100\n同条共贯|0x1000000|100\n同往常一样|0x400000|1\n同位角|0x100000|1291\n同位素|0x100000|19100\n同位素标记|0x0008|0\n同位素地球化学|0x0008|0\n同位素化学|0x0008|961\n同位素交换|0x0008|0\n同温层|0x100000|1123\n同文共规|0x1000000|100\n同文共轨|0x1000000|100\n同系物|0x100000|1197\n同乡会|0x100000|37987\n同心毕力|0x1000000|100\n同心并力|0x1000000|0\n同心敌忾|0x1000000|0\n同心断金|0x1000000|100\n同心共胆|0x1000000|100\n同心共济|0x1000000|100\n同心合胆|0x1000000|100\n同心合德|0x1000000|1335\n同心合力|0x1000000|1129\n同心合意|0x1000000|1176\n同心竭力|0x1000000|0\n同心僇力|0x1000000|100\n同心戮力|0x1000000|1321\n同心同德|0x1000000|13221\n同心县|0x0040|1106\n同心协德|0x1000000|100\n同心协济|0x1000000|100\n同心协力|0x1000000|19410\n同心叶力|0x1000000|100\n同心一德|0x1400000|0\n同心一力|0x1400000|0\n同心一意|0x1400000|0\n同心圆|0x100000|41806\n同行业|0x100000|624\n同性恋|0x100000|21039\n同性恋者|0x100000|824\n同休等戚|0x1000000|100\n同休共戚|0x1000000|100\n同学会|0x100000|31910\n同学聚会|0x0000|519\n同学录|0x100000|589\n同业公会|0x800000|32566\n同业相仇|0x1000000|100\n同一个|0x400000|511\n同一律|0x500000|0\n同一片|0x100000|482\n同一时间|0x400000|594\n同一首歌|0x400000|738\n同一条|0x100000|535\n同一性|0x500000|4\n同义词|0x100000|27154\n同义字|0x100000|1148\n同意书|0x100000|968\n同音词|0x100000|1151\n同音共律|0x1000000|100\n同音字|0x0008|44828\n同忧相救|0x1000000|100\n同余式|0x0008|1331\n同浴讥裸|0x0000|100\n同源多倍体|0x0008|0\n同源共流|0x1000000|100\n同源性|0x0000|389\n同源异流|0x1000000|100\n同源异派|0x1000000|100\n同志诞辰|0x100000|413\n同志电影|0x100000|468\n同志们|0x100000|673\n同志图片|0x100000|405\n同志文学|0x100000|396\n同志小说|0x100000|402\n同质性|0x100000|1009\n同舟敌国|0x0000|100\n同舟共济|0x1000000|21735\n同舟共命|0x1000000|100\n同舟遇风|0x1000000|100\n同轴电缆|0x800000|872\n同轴开关|0x0008|0\n同轴线|0x100000|1061\n彤云密布|0x800000|100\n桐柏县|0x0040|1614\n桐城派|0x0008|0\n桐城市|0x0040|1288\n桐庐县|0x0040|1493\n桐乡市|0x0040|1301\n桐油树|0x100000|1534\n桐梓县|0x0040|1064\n铜板纸|0x100000|414\n铜版画|0x100000|49615\n铜版纸|0x100000|39800\n铜城铁壁|0x1000000|100\n铜臭熏天|0x0000|100\n铜川市|0x0040|1446\n铜唇铁舌|0x0000|100\n铜打铁铸|0x1000000|100\n铜蛋白|0x0008|0\n铜鼓县|0x0040|1037\n铜管乐|0x100000|46901\n铜管乐队|0x100000|1\n铜管乐器|0x100000|991\n铜管乐器组|0x100000|0\n铜合金|0x100000|475\n铜浇铁铸|0x1000000|100\n铜筋铁骨|0x1000000|1219\n铜筋铁肋|0x1000000|100\n铜梁县|0x0040|1314\n铜陵市|0x0040|1269\n铜琶铁板|0x100000|100\n铜盘重肉|0x1000000|100\n铜器时代|0x4000|100\n铜墙铁壁|0x1000000|30327\n铜山金穴|0x1000000|100\n铜山铁壁|0x1000000|100\n铜山西崩|0x1000000|100\n铜山县|0x0040|1499\n铜头铁臂|0x1000000|100\n铜头铁额|0x1000000|1260\n铜驼草莽|0x1000000|100\n铜驼荆棘|0x1000000|100\n铜围铁马|0x1000000|100\n铜心铁胆|0x1000000|100\n铜制品|0x0000|405\n铜铸铁浇|0x1000000|100\n铜子儿|0x100000|17053\n童话故事|0x100000|689\n童话剧|0x100000|422\n童话世界|0x0000|518\n童男童女|0x100000|963\n童牛角马|0x100000|100\n童山濯濯|0x800000|100\n童叟无欺|0x800000|45406\n童心未泯|0x800000|874\n童言无忌|0x800000|822\n童颜鹤发|0x1000000|1216\n童养媳|0x100000|31092\n童子鸡|0x100000|54958\n童子军|0x100000|952\n童子痨|0x100000|0\n潼关县|0x0040|1055\n潼南县|0x0040|1346\n统筹安排|0x0008|22\n统筹兼顾|0x800000|12231\n统筹学|0x100000|1238\n统购统销|0x800000|1114\n统计表|0x100000|33173\n统计调查|0x0008|4\n统计法|0x100000|996\n统计分析|0x100000|751\n统计工作|0x0008|827\n统计局|0x100000|661\n统计决策理论|0x0008|0\n统计力学|0x0008|0\n统计数据|0x100000|704\n统计数字|0x100000|799\n统计通信理论|0x0008|0\n统计图|0x0000|470\n统计物理学|0x0008|0\n统计学|0x100000|750\n统计学家|0x100000|1084\n统计员|0x100000|976\n统计资料|0x0008|722\n统帅部|0x100000|43522\n统一安排|0x400000|7\n统一标准|0x400000|832\n统一党|0x400020|38\n统一地理学|0x400000|0\n统一发票|0x400000|2\n统一分配|0x400000|2\n统一管理|0x400000|596\n统一规划|0x400000|25\n统一化|0x400000|418\n统一计划|0x400000|1\n统一经营|0x400000|2\n统一领导|0x400000|539\n统一认识|0x400000|6\n统一思想|0x400000|569\n统一体|0x500000|22129\n统一行动|0x400000|33\n统一性|0x500000|16\n统一战线|0xc00000|5006\n统一者|0x400000|0\n统一指挥|0x400008|26\n统一组织|0x400000|15\n统一祖国|0x400000|0\n统战部|0x0020|1299\n统战工作|0x100000|483\n统治阶级|0x800000|735\n统治权|0x100000|959\n统治者|0x100000|714\n捅娄子|0x1000|54514\n捅马蜂窝|0x800000|50354\n筒子楼|0x100000|23343\n痛不欲生|0x1000000|27735\n痛彻心腑|0x1000|0\n痛打一顿|0x400000|1\n痛定思痛|0x1000000|22594\n痛风病|0x100000|521\n痛改前非|0x1000|37988\n痛贯心膂|0x0000|100\n痛悔前非|0x0000|100\n痛湔宿垢|0x0000|100\n痛剿穷迫|0x0000|100\n痛哭流涕|0x1000|29464\n痛快淋漓|0x800000|34103\n痛骂一顿|0x400000|0\n痛入骨髓|0x1000|1041\n痛入心脾|0x0000|100\n痛深恶绝|0x0000|100\n痛痛快快|0x0100|748\n痛诬丑诋|0x0000|100\n痛下针砭|0x0000|100\n痛心拔脑|0x1000|100\n痛心病首|0x0000|100\n痛心疾首|0x1000000|21873\n痛心绝气|0x0000|100\n痛心切骨|0x0000|100\n痛心入骨|0x1000|100\n痛心伤臆|0x0000|100\n痛痒相关|0x1000000|1344\n痛饮黄龙|0x1000|100\n痛自创艾|0x0000|100\n痛揍一顿|0x400000|0\n偷安旦夕|0x0000|100\n偷车贼|0x100000|953\n偷东摸西|0x0000|100\n偷东西|0x0000|528\n偷渡者|0x100000|1064\n偷工减料|0x1000000|26488\n偷狗戏鸡|0x1000|100\n偷寒送暖|0x1000000|100\n偷汉子|0x0000|53975\n偷合苟从|0x1000000|100\n偷合苟容|0x1000000|1537\n偷合取容|0x0000|100\n偷鸡不着蚀把米|0x0008|1197\n偷鸡盗狗|0x1000000|100\n偷鸡摸狗|0x1000000|38766\n偷奸取巧|0x1000000|1398\n偷奸耍滑|0x800000|1124\n偷梁换柱|0x1000000|36054\n偷漏税|0x1000|986\n偷媚取容|0x1000000|100\n偷拍图|0x100000|418\n偷窃罪|0x0008|2\n偷声细气|0x1000000|100\n偷食禁果|0x0000|405\n偷税漏税|0x0008|463\n偷天换日|0x1000000|54515\n偷偷地|0x0000|616\n偷偷摸摸|0x1000000|22513\n偷闲躲静|0x1000000|100\n偷香窃玉|0x1000000|1061\n偷营劫寨|0x0000|100\n头班车|0x0000|48160\n头版头条|0x800000|880\n头孢菌素|0x0008|1706\n头孢菌素酶|0x0008|0\n头孢霉属|0x0008|0\n头孢噻肟钠|0x0008|1150\n头孢他啶|0x0008|1132\n头出头没|0x1000000|1263\n头等舱|0x100000|863\n头端器|0x100000|0\n头盖骨|0x100000|31093\n头高头低|0x800000|1532\n头会箕赋|0x1000000|100\n头会箕敛|0x1000000|100\n头昏目眩|0x1000000|1057\n头昏目晕|0x1000000|100\n头昏脑闷|0x1000000|100\n头昏脑眩|0x1000000|100\n头昏脑涨|0x800000|931\n头昏脑胀|0x1000000|41572\n头昏眼暗|0x1000000|100\n头昏眼花|0x1000000|36055\n头昏眼晕|0x0000|100\n头焦额烂|0x1000000|100\n头角峥嵘|0x1000000|1114\n头临泣|0x0008|0\n头没杯案|0x100000|100\n头面人物|0x1000000|29993\n头脑发热|0x800000|842\n头皮屑|0x100000|53976\n头破血出|0x1000000|100\n头破血淋|0x1000000|100\n头破血流|0x1000000|26926\n头上安头|0x1000000|1300\n头上末下|0x1000000|100\n头上著头|0x1000000|100\n头梢自领|0x1000000|100\n头稍自领|0x1000000|0\n头疼脑热|0x1000000|43048\n头童齿豁|0x1000000|100\n头痛额热|0x1000000|0\n头痛灸头|0x1000000|0\n头痛脑热|0x1000000|1129\n头痛医头|0x800000|994\n头痛治头|0x1000000|0\n头头儿|0x100000|13313\n头头脑脑|0x100000|37989\n头头是道|0x1000000|24528\n头屯河区|0x0040|1082\n头像图片|0x100000|421\n头胸部|0x100000|1288\n头眩目昏|0x1000000|100\n头痒搔跟|0x1000000|100\n头一无二|0x1400000|0\n头晕目眩|0x1000000|799\n头晕眼花|0x800000|852\n头重脚轻|0x1000000|36722\n头状花序|0x800000|1154\n头足倒置|0x800000|100\n头足异处|0x1000000|1507\n头足异所|0x1000000|100\n投保人|0x100000|871\n投笔从戎|0x1000000|37786\n投畀豺虎|0x1000000|52465\n投鞭断流|0x1000000|1226\n投传而去|0x0000|100\n投递员|0x100000|38988\n投毒一案|0x400000|1\n投膏止火|0x1000000|100\n投稿人|0x100000|1046\n投戈讲艺|0x1000000|100\n投河奔井|0x1000000|100\n投河觅井|0x0000|100\n投壶电笑|0x1000000|100\n投怀送抱|0x0008|838\n投机倒把|0x1000000|26569\n投机取巧|0x1000000|25292\n投机商|0x100000|1018\n投机者|0x100000|858\n投间抵隙|0x1000000|100\n投降书|0x100000|1039\n投降主义|0x100000|760\n投井下石|0x1000000|51589\n投阱下石|0x1000000|100\n投卵击石|0x1000000|100\n投袂而起|0x800000|1537\n投袂荷戈|0x0000|100\n投袂援戈|0x0000|100\n投木报琼|0x1000000|100\n投票权|0x100000|927\n投票人|0x100000|1117\n投票箱|0x100000|1051\n投票站|0x100000|497\n投票者|0x100000|894\n投其所好|0x1000000|33323\n投亲靠友|0x1000000|43523\n投刃皆虚|0x1000000|100\n投入产出|0x100000|883\n投入使用|0x0000|618\n投山窜海|0x1000000|100\n投射模|0x0008|0\n投身于|0x0000|524\n投石拔距|0x1000000|100\n投石超距|0x1000000|100\n投石机|0x0000|448\n投石问路|0x800000|43283\n投石下井|0x1000000|0\n投鼠忌器|0x1000000|43284\n投鼠之忌|0x1000000|100\n投诉率|0x0000|45120\n投诉信|0x100000|1038\n投梭折齿|0x1000000|100\n投梭之拒|0x1000000|100\n投桃报李|0x1000000|47201\n投桃之报|0x1000000|100\n投隙抵巇|0x1000000|100\n投隙抵罅|0x1000000|100\n投闲置散|0x1000000|1227\n投影变换|0x0008|0\n投影机|0x100000|634\n投影幕|0x100000|470\n投影设备|0x100000|436\n投影算符|0x0008|0\n投影图|0x100000|1174\n投影仪|0x100000|42053\n投之一桃|0x400000|0\n投诸四裔|0xc00000|0\n投资额|0x100000|769\n投资公司|0x0008|632\n投资顾问有限公司|0x100000|471\n投资规模|0x0008|562\n投资环境|0x100000|730\n投资决策|0x0000|534\n投资人|0x100000|694\n投资收益|0x0000|581\n投资银行|0x0008|777\n投资有限公司|0x0000|621\n投资者|0x100000|536\n投资总额|0x0008|565\n透骨酸心|0x0000|100\n透光伐|0x0008|0\n透光率|0x0000|445\n透镜天线|0x0008|0\n透镜状|0x100000|0\n透亮儿|0x40000000|0\n透明度|0x100000|6753\n透明胶|0x100000|939\n透明漆|0x100000|1182\n透明体|0x100000|1122\n透明性|0x100000|945\n透明纸|0x100000|1082\n透明质酸酶|0x0008|0\n透平机|0x100000|1172\n透气性|0x0008|853\n透射率|0x0008|0\n透射系数|0x0008|0\n透视镜|0x0000|436\n透视图|0x100000|980\n透水性|0x0008|1137\n透天凉|0x0008|0\n透心凉|0x0000|46596\n透一口气|0x400000|2\n透照仪|0x100000|0\n凸版印刷|0x0008|0\n凸多边形|0x100000|1294\n凸轮轴|0x100000|864\n凸面镜|0x100000|1073\n凸透镜|0x100000|1029\n秃瓢儿|0x0000|48897\n秃尾巴|0x0000|50357\n突变第二代|0x400000|0\n突变频率|0x0008|0\n突变谱|0x0008|0\n突变体|0x0008|385\n突变型|0x0008|0\n突变子|0x0008|0\n突出贡献|0x0000|575\n突出重点|0x0000|585\n突出重围|0x0000|485\n突发事件|0x0008|690\n突发性|0x100000|829\n突发噪声|0x0008|0\n突飞猛进|0x1000000|12363\n突击队|0x100000|13032\n突击队员|0x100000|1017\n突击手|0x100000|41809\n突尼斯|0x0040|1280\n突尼斯队|0x100000|369\n突尼西亚|0x0040|1092\n突破点|0x100000|912\n突破口|0x100000|6637\n突破性|0x100000|738\n突泉县|0x0040|1108\n突然袭击|0x1000|824\n突然性|0x100000|1008\n突如其来|0x1000000|10266\n图案色|0x100000|1534\n图标工具|0x100000|484\n图标库|0x100000|422\n图波列夫|0x0080|4\n图财害命|0x1000000|1130\n图画课|0x100000|1247\n图画书|0x100000|946\n图画文字|0x100000|784\n图画纸|0x0008|0\n图解法|0x0008|1154\n图兰朵|0x0008|1613\n图灵机|0x100000|1165\n图们江|0x0040|1082\n图们市|0x0040|1059\n图谋不轨|0x1000000|47202\n图木舒克|0x0080|0\n图片壁纸|0x100000|484\n图片尺寸|0x100000|581\n图片大小|0x100000|596\n图片附件|0x100000|609\n图片格式|0x100000|534\n图片集|0x100000|579\n图片库|0x100000|574\n图片链接|0x100000|567\n图片铃声|0x100000|563\n图片铃声下载|0x100000|473\n图片素材|0x100000|500\n图片下载|0x100000|671\n图片展|0x100000|517\n图穷匕见|0x1000000|1102\n图穷匕首见|0x100000|1216\n图书超市|0x100000|410\n图书城|0x100000|507\n图书大厦|0x100000|544\n图书馆|0x100000|3301\n图书馆学|0x100000|881\n图书管|0x100000|378\n图书管理员|0x0000|451\n图书架|0x100000|385\n图书交换|0x0008|0\n图书流通率|0x0008|0\n图书目录|0x100000|571\n图书排行榜|0x100000|381\n图书市场|0x100000|476\n图书室|0x100000|852\n图书资料|0x0008|737\n图同构|0x100000|0\n图瓦卢|0x0040|1643\n图瓦鲁|0x0080|0\n图文并茂|0x800000|20552\n图象处理|0x0008|854\n图象识别|0x0008|0\n图象增强|0x0008|0\n图像编辑|0x100000|478\n图像传感器|0x100000|468\n图像格式|0x100000|519\n图像文件|0x100000|530\n图形菜单|0x100000|542\n图形工作站|0x0000|438\n图形核心|0x100000|448\n图形界面|0x100000|541\n图形图像|0x100000|580\n图形学|0x100000|449\n图作不轨|0x1000000|100\n徒读父书|0x800000|100\n徒费唇舌|0x800000|100\n徒负虚名|0x1000000|1537\n徒唤奈何|0x800000|1141\n徒劳往返|0x800000|100\n徒劳无功|0x1000000|46597\n徒劳无益|0x800000|1005\n徒乱人意|0x800000|1359\n徒手操|0x100000|1188\n徒讬空言|0x1000000|100\n徒托空言|0x1000000|53446\n徒拥虚名|0x1000000|100\n徒有其表|0x0000|48898\n徒有其名|0x1000000|1097\n徒有虚名|0x800000|37618\n徒子徒孙|0x1000000|52973\n涂歌里抃|0x1000000|0\n涂歌里咏|0x1000000|100\n涂歌巷舞|0x1000000|100\n涂歌邑诵|0x1000000|100\n涂料厂|0x100000|761\n涂料有限公司|0x100000|507\n涂料助剂|0x100000|382\n涂上一层|0x400000|0\n涂炭生灵|0x0000|100\n涂脂抹粉|0x1000000|35890\n荼毒生灵|0x1000|1125\n途穷日暮|0x1000000|100\n途途是道|0x1000000|100\n途遥日暮|0x1000000|0\n屠毒笔墨|0x800000|100\n屠格涅夫|0x0080|1552\n屠龙刀|0x0008|1437\n屠龙之伎|0x0000|100\n屠龙之技|0x100000|1223\n屠门大嚼|0x1000000|100\n屠所牛羊|0x800000|100\n屠宰场|0x100000|24602\n屠宰税|0x100000|1106\n屠宰业|0x100000|1095\n瘏口哓音|0x0000|100\n土包子|0x100000|40451\n土贝母|0x100000|1283\n土崩瓦解|0x1000000|31787\n土崩鱼烂|0x1000000|100\n土鳖虫|0x100000|1182\n土拨鼠|0x100000|40452\n土党参|0x0008|1533\n土地出让|0x0000|518\n土地储备|0x100000|529\n土地法|0x100000|1040\n土地改革|0x800000|23951\n土地革命|0x0008|1563\n土地管理|0x0008|561\n土地管理法|0x100000|919\n土地规划|0x0008|12\n土地国有化|0x0008|0\n土地价格|0x100000|502\n土地交易|0x100000|480\n土地局|0x100000|1022\n土地利用|0x100000|570\n土地利用规划|0x0008|3\n土地利用类型|0x0008|0\n土地面积|0x0000|523\n土地庙|0x100000|30101\n土地批租|0x100000|1075\n土地权|0x100000|1173\n土地市场|0x100000|543\n土地税|0x100000|1078\n土地所有权|0x0008|12\n土地爷|0x100000|36889\n土地证|0x100000|42558\n土地资源|0x0008|573\n土耳其|0x0040|1032\n土耳其队|0x100000|441\n土耳其人|0x100000|926\n土耳其玉色|0x0008|0\n土法炼钢|0x0008|0\n土方工程|0x0008|1\n土风舞|0x0008|1089\n土扶成墙|0x1000|100\n土茯苓|0x100000|1068\n土疙瘩|0x100000|50358\n土豪劣绅|0x1000000|31788\n土皇帝|0x100000|46304\n土黄色|0x100000|875\n土鸡瓦狗|0x1000000|1135\n土鸡瓦犬|0x1000000|100\n土家族|0x0008|17983\n土阶茅茨|0x1000000|100\n土阶茅屋|0x1000000|100\n土槿皮|0x0008|0\n土荆皮|0x0008|0\n土坷垃|0x100000|46598\n土库曼|0x0040|1050\n土库曼斯坦|0x0040|1510\n土老帽儿|0x0000|53980\n土里土气|0x0100|41573\n土力学|0x100000|430\n土龙刍狗|0x1000000|100\n土龙沐猴|0x1000000|100\n土霉素|0x100000|48899\n土默特右旗|0x0040|1736\n土默特左旗|0x0040|1725\n土木工程|0x800000|29570\n土木工程师|0x100000|476\n土木形骸|0x1000000|1291\n土牛木马|0x1000000|100\n土偶蒙金|0x1000000|100\n土穰细流|0x1000000|100\n土壤地理学|0x0008|1301\n土壤调查|0x0008|0\n土壤肥力|0x0008|1\n土壤腐蚀|0x0008|0\n土壤改良|0x0008|0\n土壤改良剂|0x0008|1139\n土壤耕性|0x0008|0\n土壤含水量|0x0008|375\n土壤环境|0x0008|0\n土壤胶体|0x0008|0\n土壤结构|0x0008|1\n土壤结皮|0x0008|0\n土壤侵蚀|0x0008|0\n土壤圈|0x0008|0\n土壤溶液|0x0008|0\n土壤湿度|0x0008|0\n土壤水|0x0008|433\n土壤酸度|0x0008|0\n土壤条件|0x0008|384\n土壤退化|0x0008|0\n土壤温度|0x0008|0\n土壤污染|0x100000|797\n土壤细流|0x1000000|100\n土壤学|0x0008|1095\n土壤有机质|0x100000|388\n土壤质地|0x0008|0\n土壤资源|0x0008|0\n土生土长|0x1000000|20333\n土石方|0x100000|25448\n土特产|0x100000|22515\n土特产品|0x100000|827\n土头土脑|0x0100|48900\n土味十足|0x400000|0\n土腥气|0x0000|53448\n土腥味|0x0000|51164\n土洋并举|0x800000|1511\n土洋结合|0x800000|1118\n土政策|0x100000|29264\n土著人|0x100000|925\n土专家|0x100000|33045\n吐哺辍洗|0x1000000|100\n吐哺握发|0x1000000|100\n吐哺捉发|0x1000000|100\n吐胆倾心|0x1000000|100\n吐肝露胆|0x1000000|100\n吐刚茹柔|0x1000000|100\n吐谷浑|0x100000|1037\n吐故纳新|0x1000000|45713\n吐露真情|0x1000000|935\n吐鲁番|0x0040|1248\n吐鲁番市|0x0040|1499\n吐气扬眉|0x1000000|1095\n吐食握发|0x1000000|100\n吐绶鸡|0x100000|1322\n吐丝自缚|0x1000000|100\n吐心吐胆|0x1000000|100\n兔儿爷|0x100000|40453\n兔角龟毛|0x0000|100\n兔角牛翼|0x1000000|100\n兔葵燕麦|0x1000000|1341\n兔女郎|0x100000|456\n兔起凫举|0x1000000|100\n兔起鹘落|0x1000000|1149\n兔起乌沉|0x1000000|100\n兔丝燕麦|0x1000000|100\n兔死凫举|0x0000|100\n兔死狗烹|0x1000000|52467\n兔死狐悲|0x1000000|38374\n兔死犬饥|0x1000000|0\n兔头麞脑|0x1000000|100\n兔崽子|0x100000|28961\n兔子不吃窝边草|0x0008|992\n兔走鹘落|0x1000000|100\n兔走乌飞|0x1000000|1334\n菟丝子|0x100000|50746\n团拜会|0x100000|935\n团代会|0x100000|52013\n团党委|0x100000|391\n团的工作|0x0000|481\n团队精神|0x100000|709\n团风县|0x0040|1653\n团干部|0x100000|939\n团花簇锦|0x0000|100\n团结合作|0x0000|477\n团结互助|0x100000|859\n团结起来|0x0000|556\n团结一心|0xc00000|8\n团结一致|0x400000|52\n团结友爱|0x800000|918\n团粒结构|0x0008|1\n团市委|0x100000|870\n团体操|0x100000|33688\n团体会员|0x100000|477\n团体活动|0x100000|589\n团体机票|0x100000|460\n团体票|0x100000|872\n团体赛|0x100000|11912\n团体性|0x100000|1164\n团头聚面|0x1000000|100\n团团伙伙|0x100000|1\n团团转|0x800000|22550\n团委书记|0x0000|489\n团小组|0x100000|1188\n团员青年|0x0000|556\n团员意识|0x100000|526\n团圆饭|0x100000|32817\n团圆节|0x4000|53451\n团支部|0x100000|1320\n团中央|0x0020|6975\n团总支|0x100000|919\n团组织|0x100000|846\n抟空捕影|0x1000000|100\n抟沙嚼蜡|0x1000000|100\n抟沙作饭|0x1000000|100\n抟香弄粉|0x1000000|100\n抟心壹志|0x1000000|100\n抟心揖志|0x1000000|100\n剸繁决剧|0x1000000|100\n剸繁治剧|0x1000000|100\n推本溯源|0x1000000|1372\n推波助澜|0x1000000|22074\n推陈出新|0x1000000|17698\n推陈致新|0x1000000|1365\n推诚布公|0x1000000|100\n推诚接物|0x0000|100\n推诚相见|0x1000000|1540\n推诚置腹|0x1000000|100\n推斥力|0x100000|1525\n推崇备至|0x1000000|992\n推倒重来|0x0000|445\n推东主西|0x1000000|100\n推动力|0x100000|796\n推动者|0x100000|881\n推而广之|0x800000|934\n推干就湿|0x0000|100\n推广会|0x100000|951\n推广性|0x100000|1132\n推己及人|0x1000000|44833\n推己及物|0x1000000|100\n推荐人|0x0008|831\n推荐书|0x100000|50747\n推荐信|0x100000|851\n推荐者|0x100000|1025\n推襟送抱|0x1000000|100\n推进机|0x0008|0\n推进力|0x0000|379\n推进器|0x100000|36723\n推进者|0x100000|1121\n推枯折腐|0x1000000|100\n推拉门|0x0008|911\n推梨让枣|0x1000000|100\n推理小说|0x0008|746\n推聋妆哑|0x1000000|100\n推聋作哑|0x1000000|100\n推轮捧毂|0x1000000|100\n推三推四|0x1400000|0\n推三阻四|0x1400000|47836\n推食解衣|0x1000000|100\n推涛作浪|0x1000000|1534\n推天抢地|0x1000000|100\n推土机|0x100000|16409\n推推搡搡|0x1000|1027\n推亡固存|0x1000000|100\n推贤进善|0x0000|100\n推贤让能|0x1000000|100\n推销产品|0x0000|474\n推销员|0x100000|19824\n推卸责任|0x0000|508\n推心致腹|0x1000000|0\n推心置腹|0x1000000|27155\n推燥居湿|0x1000000|100\n推舟于陆|0x0000|100\n颓废派|0x100000|1143\n颓垣败壁|0x1000000|100\n颓垣败井|0x1000000|100\n颓垣断壁|0x800000|1313\n颓垣断堑|0x1000000|100\n颓垣废井|0x1000000|100\n颓垣废址|0x1000000|100\n腿肚子|0x100000|33440\n腿腕子|0x100000|1536\n退避三舍|0x1400000|35431\n退步抽身|0x0000|100\n退藏于密|0x0000|100\n退而求其次|0x0008|859\n退耕还林|0x0000|4809\n退火炉|0x100000|420\n退极化|0x100000|0\n退居二线|0xc00000|5\n退旅进旅|0x1000000|100\n退让贤路|0x0000|100\n退如山移|0x800000|100\n退食从容|0x1000000|100\n退食自公|0x1000000|1540\n退思补过|0x800000|1311\n退堂鼓|0x0000|37789\n退伍兵|0x100000|997\n退伍军人|0x100000|822\n退徙三舍|0x400000|0\n退休费|0x100000|1114\n退休干部|0x0000|467\n退休工人|0x100000|7\n退休金|0x100000|16086\n退休年龄|0x0000|506\n退休者|0x100000|912\n退休职工|0x0000|481\n退一步海|0x400000|0\n退一步海阔天空|0x400000|0\n退一步讲|0x400000|416\n退一步说|0x400000|443\n退有后言|0x1000000|100\n退职金|0x100000|1223\n蜕化变质|0x1000|1169\n蜕皮激素|0x0008|0\n褪后趋前|0x800000|100\n吞刀刮肠|0x1000000|100\n吞刀吐火|0x0000|100\n吞风饮雨|0x1000000|100\n吞符翕景|0x1000000|100\n吞声忍泪|0x1000000|100\n吞声忍气|0x1000000|1177\n吞声饮恨|0x1000000|100\n吞声饮气|0x1000000|100\n吞声饮泣|0x1000000|100\n吞食天地|0x100000|853\n吞噬作用|0x0008|0\n吞炭漆身|0x1000000|100\n吞吐量|0x100000|14356\n吞吞吐吐|0x1000000|17728\n吞咽困难|0x0008|0\n吞言咽理|0x1000000|100\n吞云吐雾|0x1000000|40026\n吞纸抱犬|0x1000000|100\n吞舟漏网|0x1000000|100\n吞舟是漏|0x1000000|100\n吞舟之鱼|0x1000000|1363\n屯昌县|0x0040|1053\n屯积居奇|0x1000000|100\n屯街塞巷|0x1000000|0\n屯蹶否塞|0x1000000|100\n屯粮积草|0x0000|100\n屯留县|0x0040|1106\n屯毛不辨|0x1000000|100\n屯田客|0x100000|0\n豚蹄穰田|0x800000|100\n讬孤寄命|0x1000000|100\n托钵僧|0x0000|378\n托多洛夫|0x0080|0\n托儿所|0x100000|21241\n托尔斯泰|0x0040|1320\n托凤攀龙|0x0000|100\n托福考试|0x100000|720\n托付给|0x0000|528\n托公报私|0x0000|100\n托公行私|0x0000|100\n托管制度|0x100000|0\n托骥之蝇|0x0000|100\n托克劳群岛|0x0040|1256\n托克托|0x0040|1610\n托克托县|0x0040|1696\n托克逊|0x0040|1074\n托克逊县|0x0040|1121\n托拉斯|0x100000|27889\n托辣斯|0x0008|0\n托老所|0x0000|45714\n托勒密|0x0080|1040\n托里县|0x0040|1155\n托洛茨基|0x0080|1089\n托马森|0x0080|1088\n托马斯|0x0040|1200\n托门子|0x1000|54519\n托人情|0x1000|47516\n托斯卡纳式|0x100000|0\n托特纳姆热刺|0x0008|1590\n托物陈喻|0x0000|100\n托物感怀|0x0000|100\n托物连类|0x0000|100\n托物引类|0x0000|100\n托物寓感|0x0000|100\n托物寓兴|0x0000|100\n托于空言|0x0000|100\n托运人|0x100000|488\n托之空言|0x0000|100\n托诸空言|0x0000|100\n拖儿带女|0x1000|44251\n拖后腿|0x800000|47205\n拖家带口|0x1000|48162\n拖金委紫|0x1000000|100\n拖拉机|0x100000|6613\n拖拉机厂|0x100000|1031\n拖拉机手|0x100000|1117\n拖拉机站|0x0008|0\n拖麻拽布|0x1000000|100\n拖男带女|0x0000|100\n拖泥带水|0x1000000|29893\n拖欠工资|0x0000|498\n拖青纡紫|0x1000000|100\n拖人落水|0x1000000|100\n拖人下水|0x1000000|1159\n拖天扫地|0x1000000|100\n拖拖拉拉|0x0100|39610\n拖网渔船|0x0008|3\n拖下水|0x1000|2\n拖延战术|0x0008|5\n拖油瓶|0x100000|1001\n脱氨酶|0x100000|1278\n脱白挂绿|0x1000000|100\n脱臭剂|0x100000|0\n脱发白发|0x100000|494\n脱机设备|0x0008|0\n脱缰之马|0x1000000|1205\n脱壳金蝉|0x1000000|100\n脱口成章|0x1000000|100\n脱口而出|0x1000000|18671\n脱口秀|0x0008|52982\n脱粒机|0x100000|1057\n脱落酸|0x100000|1269\n脱毛剂|0x0008|0\n脱镁叶绿素|0x0008|0\n脱模剂|0x100000|908\n脱袍退位|0x1000000|100\n脱贫致富|0x800000|6955\n脱氢表雄酮|0x0008|0\n脱氢酶|0x0008|427\n脱色剂|0x0008|1027\n脱手弹丸|0x1000000|100\n脱水机|0x100000|820\n脱水酶|0x0008|0\n脱水器|0x0008|0\n脱水蔬菜|0x0008|905\n脱髓鞘|0x100000|1145\n脱羧酶|0x100000|1211\n脱胎换骨|0x1000000|18407\n脱天漏网|0x1000000|100\n脱烷基化|0x100000|0\n脱氧胞苷三磷酸|0x400000|0\n脱氧核糖核酸|0x100000|31789\n脱氧肌苷三磷酸|0x400000|0\n脱氧剂|0x100000|1079\n脱氧鸟苷三磷酸|0x400000|0\n脱氧葡萄糖|0x0008|0\n脱氧腺苷三磷酸|0x400000|0\n脱氧胸苷三磷酸|0x400000|0\n脱衣服|0x0000|572\n脱衣舞|0x0008|652\n脱颖而出|0x1000000|7418\n脱颖囊锥|0x1000000|100\n脱脂棉|0x100000|53984\n脱脂奶粉|0x0008|1012\n陀螺仪|0x0008|992\n鸵鸟政策|0x800000|1115\n橐甲束兵|0x1000000|0\n橐驼之技|0x1000000|100\n妥善处理|0x0000|587\n妥善解决|0x0000|535\n妥首帖耳|0x1000000|100\n妥妥当当|0x0008|0\n妥妥帖帖|0x0100|0\n妥协性|0x100000|1124\n椭圆波导|0x0008|0\n椭圆函数|0x0008|0\n椭圆体|0x100000|1267\n椭圆形|0x20000000|19862\n椭圆柱|0x0008|0\n拓荒者|0x100000|35287\n拓扑学|0x0008|1034\n拓朴学|0x0008|0\n唾地成文|0x1000000|100\n唾壶击缺|0x1000000|100\n唾壶击碎|0x0000|100\n唾壶敲缺|0x1000000|100\n唾面自干|0x1000000|1145\n唾面自乾|0x1000000|0\n唾沫星子|0x0000|32818\n唾手可得|0x1000000|47839\n唾手可取|0x800000|100\n唾液酸|0x0008|1201\n唾液腺|0x100000|1071\n跅弛不羁|0x1000000|100\n跅幪不羁|0x1000000|100\n跅弢不羁|0x1000000|100\n哇哇叫|0x0000|448\n娃哈哈|0x0008|1144\n娃娃脸|0x100000|41343\n娃娃亲|0x100000|52472\n娃娃生|0x100000|1311\n娃娃鱼|0x100000|41344\n娃娃装|0x0000|394\n挖大一点|0x400000|0\n挖耳当招|0x1000000|100\n挖掘机|0x100000|751\n挖空心思|0x1000000|25373\n挖泥船|0x100000|41109\n挖墙角|0x0000|420\n挖墙脚|0x800000|49259\n挖肉补疮|0x1000000|1328\n挖土机|0x100000|47208\n蛙蟆胜负|0x0000|100\n蛙鸣蝉噪|0x1000000|1542\n蛙人队|0x100000|0\n瓦查尿溺|0x1000000|100\n瓦杜兹|0x0040|1288\n瓦尔拉齐|0x0080|0\n瓦房店|0x0040|827\n瓦房店市|0x0040|1434\n瓦釜雷鸣|0x1000000|1196\n瓦岗军|0x100000|1143\n瓦格纳|0x0080|1445\n瓦合之卒|0x800000|100\n瓦加杜古|0x0040|1273\n瓦解冰泮|0x1000000|100\n瓦解冰消|0x1000000|1247\n瓦解冰销|0x1000000|0\n瓦解土崩|0x800000|100\n瓦解星散|0x0000|100\n瓦莱塔|0x0040|1193\n瓦楞纸|0x100000|841\n瓦楞纸板|0x100000|440\n瓦楞纸箱|0x100000|449\n瓦楞子|0x100000|1285\n瓦伦西亚|0x0040|1290\n瓦努阿图|0x0040|1603\n瓦器蚌盘|0x1000000|100\n瓦斯炉|0x0008|1034\n瓦特计|0x0008|0\n瓦玉集糅|0x0000|100\n歪八竖八|0x1400000|0\n歪不横楞|0x1000000|100\n歪打正着|0x1000000|41110\n歪点子|0x100000|47518\n歪风邪气|0x1000000|29465\n歪门邪道|0x1000000|32438\n歪七扭八|0x400100|52014\n歪谈乱道|0x800000|0\n歪歪倒倒|0x0100|1101\n歪歪扭扭|0x0100|30102\n歪歪斜斜|0x0100|867\n歪心邪意|0x1000000|100\n歪嘴和尚|0x100000|0\n外包装|0x100000|755\n外表上|0x0000|500\n外部环境|0x0000|571\n外部设备|0x0008|0\n外层空间|0x100000|27969\n外差接收机|0x0008|0\n外出血|0x100000|1325\n外地人|0x100000|712\n外电路|0x100000|1262\n外耳道|0x100000|1041\n外方内员|0x1000000|100\n外方内圆|0x0000|100\n外分泌|0x100000|1185\n外分泌腺|0x0008|0\n外感内伤|0x1000000|100\n外公切线|0x800000|1541\n外挂式|0x100000|0\n外观设计|0x100000|685\n外国化|0x100000|0\n外国货|0x100000|1056\n外国籍|0x100000|1079\n外国佬|0x0000|390\n外国名著|0x100000|438\n外国企业|0x100000|545\n外国人|0x100000|576\n外国投资|0x0008|796\n外国文学|0x100000|721\n外国语|0x100000|22428\n外国语大学|0x100000|534\n外国语学校|0x100000|526\n外国语学院|0x100000|564\n外国专家|0x0008|522\n外合里差|0x800000|100\n外合里应|0x1000000|100\n外环线|0x100000|923\n外汇宝|0x100000|416\n外汇保证金|0x100000|419\n外汇储备|0x0008|586\n外汇管制|0x0008|985\n外汇交易|0x100000|534\n外汇局|0x100000|1374\n外汇牌价|0x100000|457\n外汇券|0x100000|1179\n外汇市场|0x100000|797\n外汇收入|0x0000|478\n外汇通|0x100000|431\n外汇新闻|0x100000|436\n外汇业务|0x100000|453\n外活儿|0x0000|34392\n外籍华人|0x0008|50359\n外简内明|0x1000000|100\n外交部|0x100000|1088\n外交部长|0x100000|851\n外交部发言人|0x100000|566\n外交辞令|0x800000|41811\n外交代表|0x100000|3\n外交关系|0x100000|512\n外交官|0x100000|9620\n外交惯例|0x0008|3\n外交豁免权|0x0008|9\n外交家|0x100000|878\n外交界|0x100000|1133\n外交人员|0x0008|76\n外交史|0x100000|1050\n外交使节|0x0008|3\n外交特权|0x100000|53986\n外交团|0x100000|1280\n外交学|0x100000|1041\n外交政策|0x0008|839\n外接圆|0x100000|1241\n外经贸部|0x100000|871\n外经委|0x100000|1074\n外景队|0x100000|0\n外科手术|0x0008|540\n外科学|0x100000|825\n外科医生|0x0000|520\n外宽内忌|0x1000000|100\n外宽内明|0x1000000|100\n外宽内深|0x1000000|100\n外来词|0x100000|50360\n外来户|0x100000|42800\n外来妹|0x100000|401\n外来人|0x100000|43290\n外来人口|0x100000|515\n外来人员|0x100000|507\n外来文化|0x100000|459\n外来语|0x100000|38771\n外来者|0x100000|941\n外力作用|0x0008|1\n外厉内荏|0x1000000|100\n外贸部|0x0008|789\n外贸出口|0x0000|613\n外贸大学|0x100000|457\n外贸代理|0x100000|380\n外贸服饰|0x100000|466\n外贸服装|0x100000|561\n外贸企业|0x100000|524\n外贸软件|0x100000|468\n外贸信息|0x100000|383\n外贸学院|0x100000|409\n外贸英语|0x100000|472\n外贸知识|0x100000|410\n外面儿光|0x800000|53987\n外胚层|0x100000|1217\n外强中干|0x1000000|43051\n外强中瘠|0x1000000|100\n外强中乾|0x1000000|1262\n外巧内嫉|0x1000000|100\n外亲内疏|0x800000|0\n外人田|0x100000|459\n外伤性|0x100000|429\n外伤学|0x100000|1325\n外商独资企业|0x0000|487\n外商投资|0x100000|672\n外商投资企业|0x0008|621\n外甥女|0x100000|29894\n外省人|0x100000|949\n外事处|0x100000|1050\n外事科|0x100000|1285\n外事学院|0x100000|426\n外孙女|0x100000|27807\n外孙子|0x100000|40234\n外台秘要|0x0008|0\n外套膜|0x0008|0\n外听道|0x100000|1310\n外围赛|0x100000|961\n外围设备|0x0008|484\n外文系|0x100000|990\n外务部|0x100000|1153\n外务省|0x100000|500\n外务员|0x100000|0\n外乡人|0x100000|23392\n外向型|0x20000000|13569\n外向型经济|0x100000|927\n外销量|0x100000|1181\n外星人|0x100000|26641\n外星人照片|0x100000|369\n外行话|0x100000|43289\n外行人|0x100000|880\n外形尺寸|0x100000|608\n外姓人|0x0000|49260\n外野手|0x0000|381\n外因论|0x100000|1378\n外阴部|0x0000|456\n外引内联|0x800000|1151\n外营力|0x100000|1355\n外用药|0x0008|947\n外语教学|0x0008|815\n外语考试|0x100000|780\n外语课|0x100000|1069\n外语类|0x100000|472\n外语水平|0x0000|583\n外语外贸|0x100000|466\n外语系|0x100000|809\n外语学校|0x100000|461\n外语学院|0x100000|518\n外御其侮|0x800000|1286\n外圆内方|0x1000000|976\n外在美|0x0000|439\n外展神经|0x100000|1102\n外资保险|0x100000|477\n外资企业|0x100000|663\n外资项目|0x100000|480\n外资银行|0x100000|567\n外族人|0x100000|1065\n外祖父|0x100000|29358\n外祖母|0x100000|21323\n弯弓饮羽|0x1000000|100\n弯曲应力|0x0008|0\n弯曲状|0x0008|0\n弯弯曲曲|0x0100|826\n弯腰捧腹|0x1000000|100\n剜肉补疮|0x1000000|52987\n剜肉成疮|0x1000000|100\n剜肉生疮|0x1000000|100\n剜肉医疮|0x1000000|100\n剜肉做疮|0x1000000|100\n湾仔区|0x0040|1126\n豌豆黄|0x100000|54966\n豌豆荚|0x0008|0\n豌豆苗|0x0000|390\n豌豆象|0x100000|0\n丸泥封关|0x800000|100\n丸散膏丹|0x0008|55489\n刓方为圆|0x1000000|0\n纨绔子弟|0x100000|41576\n纨袴膏粱|0x0000|100\n纨袴子弟|0x800000|1338\n纨裤子弟|0x100000|1212\n完备化|0x1000|0\n完璧归赵|0x1000000|42058\n完成率|0x100000|1040\n完成任务|0x0000|650\n完成式|0x0000|381\n完好率|0x100000|1070\n完好无缺|0x800000|978\n完好无损|0x1000|807\n完美无疵|0x1000000|1354\n完美无缺|0x1000000|29572\n完美无瑕|0x1000000|886\n完名全节|0x1000000|100\n完全二部图|0x400000|0\n完全免费|0x100000|558\n完全气体|0x0008|0\n完全相同|0x0000|588\n完全小学|0x800000|46022\n完全性|0x100000|1012\n完全叶|0x100000|1534\n完全一致|0x400000|17\n完全一致空间|0x400000|0\n完善社会主义|0x100000|507\n完事大吉|0x800000|1141\n完完全全|0x8000000|703\n完完整整|0x0100|841\n完整版|0x100000|683\n完整性|0x100000|558\n玩兵黩武|0x1000000|100\n玩儿不转|0x0000|55946\n玩儿命|0x1000|43768\n玩儿票|0x1000|55490\n玩儿完|0x1000|53461\n玩故习常|0x0000|100\n玩忽职守|0x800000|14764\n玩花样|0x0000|49621\n玩花招|0x800000|1179\n玩火自焚|0x1000000|49622\n玩具兵|0x100000|419\n玩具厂|0x100000|745\n玩具车|0x100000|453\n玩具店|0x100000|849\n玩具配件|0x100000|395\n玩具枪|0x0008|453\n玩具有限公司|0x100000|497\n玩人丧德|0x800000|0\n玩日愒时|0x1000000|100\n玩时愒日|0x1000000|100\n玩时贪日|0x1000000|100\n玩世不恭|0x1000000|27156\n玩岁愒日|0x1000000|100\n玩岁愒时|0x1000000|100\n玩岁愒月|0x1000000|100\n玩物丧志|0x1000000|41577\n玩意儿|0x100000|13456\n顽父嚚母|0x1000000|100\n顽梗不化|0x1000000|100\n顽固不化|0x1000000|890\n顽固派|0x100000|26489\n顽固性|0x100000|902\n顽廉懦立|0x1000000|100\n顽皮赖骨|0x1000000|100\n顽皮赖肉|0x1000000|100\n顽皮贼骨|0x1000000|100\n顽强拼搏|0x100000|902\n顽石点头|0x1000000|1151\n烷基苯|0x100000|1091\n烷基化|0x100000|1178\n宛转蛾眉|0x0000|100\n宛转悠扬|0x800000|100\n挽回经济损失|0x0000|453\n晚节不保|0x800000|100\n晚节不终|0x1000000|100\n晚节黄花|0x0000|100\n晚来一步|0x400000|0\n晚礼服|0x100000|39611\n晚秋作物|0x100000|1189\n晚上好|0x100000|819\n晚生后学|0x0000|100\n晚食当肉|0x800000|100\n晚香玉|0x100000|26842\n晚疫病|0x0008|1238\n晚自习|0x100000|36548\n莞尔而笑|0x800000|1196\n莞尔一笑|0x400000|875\n婉言谢绝|0x800000|890\n皖南事变|0x0008|1661\n碗朝地|0x100000|100\n碗碗腔|0x100000|52476\n万安县|0x0040|1076\n万般皆下品|0x1000000|1014\n万般无奈|0x800000|26572\n万变不离其宗|0x0008|939\n万别千差|0x0000|100\n万不得已|0x1000000|21453\n万不失一|0x400000|100\n万代千秋|0x800000|100\n万儿八千|0x400000|47209\n万方数据|0x100000|466\n万分之|0x100000|1018\n万夫不当|0x800000|1169\n万夫不当之勇|0x0008|1169\n万夫莫当|0x800000|1195\n万夫莫开|0x800000|964\n万古不变|0x1000000|972\n万古长春|0x0000|100\n万古长存|0x800000|1178\n万古长青|0x1000000|33177\n万古流芳|0x1000000|53988\n万古留芳|0x800000|1377\n万古霉素|0x0008|0\n万古千秋|0x1000000|1254\n万贯家财|0x800000|970\n万贯家私|0x0000|100\n万国权|0x100000|1192\n万国邮政联盟|0x0008|1163\n万壑千岩|0x1000000|100\n万壑争流|0x0000|100\n万恨千愁|0x0000|100\n万户侯|0x100000|49987\n万户千门|0x0000|100\n万花筒|0x100000|31790\n万家灯火|0x800000|29359\n万家生佛|0x800000|1285\n万箭穿心|0x1000000|950\n万箭攒心|0x1000000|1254\n万劫不复|0x1000000|39612\n万金油|0x100000|40456\n万口一词|0x400000|100\n万口一辞|0x400000|100\n万口一谈|0x1400000|0\n万苦千辛|0x0000|100\n万赖俱寂|0x0000|100\n万赖无声|0x0000|100\n万籁俱寂|0x800000|37252\n万籁无声|0x800000|1130\n万里长城|0x0040|23888\n万里长征|0x0008|31913\n万里鹏程|0x0000|100\n万里鹏翼|0x800000|100\n万里迢迢|0x800000|1064\n万里无云|0x800000|38990\n万里一碧|0x400000|0\n万利达|0x0008|1341\n万流景仰|0x800000|1535\n万隆会议|0x0008|1075\n万缕千丝|0x800000|1144\n万绿丛中|0x800000|1002\n万绿丛中一点红|0x400000|0\n万绿湖|0x0040|1610\n万马奔腾|0x800000|31791\n万马齐喑|0x1000000|51599\n万民涂炭|0x0000|100\n万目睽睽|0x800000|100\n万目睚眦|0x0000|100\n万能表|0x100000|1025\n万能胶|0x100000|53463\n万能五笔|0x400000|901\n万能钥匙|0x0000|536\n万年历|0x100000|55900\n万年青|0x100000|43769\n万年无疆|0x0000|100\n万年县|0x0040|1043\n万念俱灰|0x1000000|41346\n万念俱寂|0x0000|100\n万宁市|0x0040|1597\n万签插架|0x1000|100\n万全县|0x0040|1088\n万全之策|0x800000|43770\n万全之计|0x1000000|1247\n万人传实|0x800000|100\n万人坑|0x0000|44253\n万人空巷|0x1000000|35892\n万人迷|0x0008|1114\n万人之敌|0x800000|1300\n万人之上|0x800000|937\n万荣县|0x0040|1036\n万山特区|0x0040|1193\n万圣节|0x4000|764\n万盛区|0x0040|1349\n万世不易|0x0000|100\n万世流芳|0x1000|1125\n万世师表|0x1000000|1100\n万世无疆|0x0000|100\n万世一时|0x400000|100\n万事大吉|0x800000|29360\n万事亨通|0x800000|49988\n万事俱备|0x800000|857\n万事俱备，只欠东风|0x0000|49989\n万事开头难|0x0008|862\n万事如意|0x800000|32568\n万事通|0x800000|50363\n万事兴|0x100000|452\n万寿菊|0x0000|417\n万寿无疆|0x1000000|38774\n万水千山|0x1000000|30653\n万死不辞|0x1000000|49990\n万死一生|0xc00000|0\n万死犹轻|0x0000|100\n万岁千秋|0x0000|100\n万头攒动|0x800000|1134\n万万没有想到|0x0000|522\n万万千千|0x800000|1077\n万维网|0x100000|845\n万无一失|0x1400000|17292\n万物之灵|0x1000000|35002\n万向节|0x4000|965\n万向轮|0x100000|398\n万象更新|0x800000|36059\n万象森罗|0x800000|1229\n万绪千端|0x0000|100\n万绪千头|0x0000|100\n万选青钱|0x0000|100\n万应灵丹|0x800000|1313\n万用表|0x100000|54523\n万用手册|0x100000|922\n万有引力|0x100000|31914\n万有引力定律|0x0000|420\n万语千言|0x800000|942\n万元户|0x100000|28415\n万载千秋|0x0000|100\n万载县|0x0040|1616\n万丈高楼平地起|0x0008|1016\n万丈深渊|0x800000|37619\n万众一心|0x1400000|13143\n万众瞩目|0x800000|811\n万州区|0x0040|1120\n万嘱咐|0x800000|3\n万紫千红|0x1000000|29995\n腕关节|0x0008|424\n腕踝针|0x100000|1306\n腕足动物|0x0008|0\n汪清县|0x0040|1065\n汪洋大海|0x1000000|888\n汪洋大肆|0x0000|100\n汪洋浩博|0x0000|100\n汪洋闳肆|0x0000|100\n汪洋自肆|0x800000|100\n汪洋恣肆|0x800000|1079\n亡不待夕|0x0000|100\n亡不旋跬|0x1000000|100\n亡不旋踵|0x1000000|100\n亡国大夫|0x1000000|100\n亡国论|0x0008|1226\n亡国灭种|0x1000000|1065\n亡国奴|0x100000|24798\n亡国破家|0x0000|100\n亡国之器|0x1000000|100\n亡国之社|0x1000000|100\n亡国之声|0x1000000|100\n亡国之音|0x1000000|1209\n亡魂丧胆|0x1000000|1333\n亡魂丧魄|0x0000|100\n亡魂失魄|0x1000000|100\n亡戟得矛|0x1000000|100\n亡可奈何|0x1000000|100\n亡命天涯|0x100000|869\n亡命徒|0x0008|1050\n亡命之徒|0x1000000|36895\n亡秦三户|0x1400000|0\n亡矢遗镞|0x1000000|100\n亡羊补牢|0x1000000|25516\n亡羊得牛|0x800000|100\n亡羊之叹|0x0000|100\n亡猿祸木|0x1000000|100\n亡猿灾木|0x1000000|100\n王八蛋|0x400000|588\n王八羔子|0x400000|0\n王八乌龟|0x400000|0\n王不留行|0x100000|1128\n王尔德|0x0080|1440\n王夫之|0x0000|418\n王府井|0x0040|1139\n王公大人|0x1000000|1229\n王公贵戚|0x0000|100\n王贡弹冠|0x0000|100\n王顾左右而言他|0x0008|1159\n王侯将相|0x0000|100\n王后卢前|0x1000000|100\n王老吉|0x100000|452\n王老五|0xc00000|9\n王麻子|0x100000|402\n王母娘娘|0x0008|41578\n王婆卖瓜|0x800000|1014\n王孙公子|0x1000000|1082\n王孙贵戚|0x0000|100\n王羲之|0x0080|1358\n王祥卧冰|0x0000|100\n王阳明|0x100000|962\n王佐之才|0x0000|100\n网格线|0x0008|0\n网际快车|0x0000|801\n网际协议|0x0000|377\n网开三面|0x1400000|0\n网开一面|0xc00000|30550\n网漏吞舟|0x800000|100\n网络安全|0x100000|704\n网络版|0x100000|686\n网络产品|0x100000|562\n网络程序设计|0x100000|388\n网络传媒|0x100000|481\n网络带宽|0x0000|613\n网络地址|0x0000|521\n网络电话|0x100000|54968\n网络电视软件|0x100000|443\n网络电台|0x100000|548\n网络分析|0x0008|0\n网络服务|0x100000|588\n网络工程|0x100000|574\n网络工程师|0x100000|564\n网络工具|0x100000|607\n网络工作室|0x100000|508\n网络公司|0x100000|565\n网络股|0x100000|956\n网络故障|0x100000|505\n网络管理员|0x100000|781\n网络广告|0x100000|642\n网络红人|0x100000|480\n网络化|0x1000|10750\n网络会议|0x100000|466\n网络技术|0x100000|509\n网络技术有限公司|0x100000|557\n网络教程|0x100000|454\n网络教室|0x100000|495\n网络教育学院|0x100000|487\n网络经济|0x100000|781\n网络警察|0x100000|52015\n网络科技|0x100000|682\n网络科技有限公司|0x100000|623\n网络课堂|0x100000|489\n网络邻居|0x100000|466\n网络流量|0x100000|502\n网络蚂蚁|0x100000|882\n网络媒体|0x100000|591\n网络美女|0x100000|536\n网络日记|0x100000|470\n网络日志|0x100000|543\n网络软件|0x100000|607\n网络色情|0x0000|475\n网络商城|0x100000|509\n网络设备|0x100000|614\n网络生活|0x100000|662\n网络时代|0x100000|702\n网络实名|0x100000|512\n网络适配器|0x0008|470\n网络收音机|0x100000|447\n网络书店|0x100000|541\n网络通讯|0x100000|697\n网络图|0x0008|474\n网络文化|0x100000|607\n网络文学|0x100000|598\n网络文学书库|0x100000|432\n网络线|0x100000|463\n网络相册|0x100000|504\n网络小说|0x100000|603\n网络新闻|0x0000|541\n网络信息中心|0x100000|531\n网络学院|0x100000|571\n网络营销|0x100000|47520\n网络游戏|0x0008|14720\n网络有限公司|0x100000|627\n网络中心|0x100000|629\n网络资源|0x100000|618\n网络综合|0x0008|0\n网球场|0x100000|802\n网球公开赛|0x100000|526\n网球拍|0x100000|896\n网球赛|0x100000|935\n网球王子|0x100000|549\n网球肘|0x100000|369\n网上超市|0x100000|453\n网上冲印|0x100000|426\n网上店铺|0x100000|493\n网上家园|0x100000|621\n网上交易|0x100000|614\n网上交易平台|0x100000|446\n网上教育|0x100000|418\n网上课堂|0x100000|409\n网上聊天|0x100000|779\n网上邻居|0x0000|542\n网上贸易|0x100000|554\n网上商城|0x100000|639\n网上商店|0x100000|566\n网上鲜花|0x100000|400\n网上相册|0x100000|414\n网上行|0x100000|438\n网上学校|0x100000|952\n网上药店|0x100000|385\n网上医院|0x100000|909\n网上银行|0x100000|724\n网上游戏|0x100000|835\n网上支付|0x1000|636\n网通传奇私服|0x100000|490\n网眼布|0x100000|424\n网眼状|0x100000|0\n网页背景|0x100000|447\n网页快照|0x0000|593\n网页浏览器|0x100000|477\n网易泡泡|0x0000|474\n网易娱乐|0x0000|506\n网友聚会|0x100000|831\n网站大全|0x100000|440\n网站空间|0x100000|556\n网址之家|0x100000|707\n网中之鱼|0x100000|1244\n网状激活系统|0x0008|0\n网状结构|0x0008|899\n网状脉|0x100000|1541\n网状组织|0x0008|1\n往返机票|0x100000|502\n往返徒劳|0x800000|100\n往复泵|0x100000|1035\n往蹇来连|0x1000000|100\n往上爬|0x0000|539\n往上走|0x0000|501\n往下走|0x0000|510\n往渚还汀|0x1000000|100\n枉尺直寻|0x1000000|1493\n枉道事人|0x1000000|100\n枉法徇私|0x800000|100\n枉费唇舌|0x1000000|1431\n枉费工夫|0x1000000|100\n枉费日月|0x0000|100\n枉费心机|0x1000000|46306\n枉费心计|0x1000000|100\n枉费心力|0x1000000|1347\n枉费心思|0x1000000|100\n枉己正人|0x1000000|1305\n枉矫过激|0x1000000|100\n枉勘虚招|0x800000|100\n枉口拔舌|0x1000000|100\n枉口嚼舌|0x1000000|100\n枉口诳舌|0x1000000|100\n枉墨矫绳|0x1000000|100\n枉辔学步|0x1000000|100\n枉曲直凑|0x1000000|100\n枉矢哨壶|0x0000|100\n枉突徙薪|0x1000000|100\n枉物难消|0x1000000|100\n枉用心机|0x1000000|0\n枉直随形|0x1000000|100\n枉直同贯|0x1000000|100\n罔极之恩|0x0000|100\n罔知所措|0x1000000|1395\n惘然若失|0x1000000|51166\n妄尘而拜|0x800000|100\n妄口巴舌|0x800000|100\n妄生穿凿|0x800000|100\n妄谈祸福|0x1000000|100\n妄下雌黄|0x1000000|1331\n妄想症|0x100000|445\n妄言妄听|0x1000000|100\n妄自菲薄|0x1000000|36060\n妄自尊大|0x1000000|37620\n忘不了|0x1000|564\n忘餐废寝|0x1000000|100\n忘啜废枕|0x1000000|100\n忘恩背义|0x1000000|100\n忘恩负义|0x1000000|25788\n忘恩失义|0x1000000|100\n忘乎其形|0x1000000|100\n忘乎所以|0x1000000|26003\n忘年交|0x100000|42062\n忘年之好|0x0000|100\n忘年之交|0x800000|47521\n忘年之契|0x0000|100\n忘其所以|0x1000000|1275\n忘寝废食|0x1000000|100\n忘情负义|0x1000000|1274\n忘生舍死|0x1000000|100\n忘我工作|0x800000|765\n忘象得意|0x0000|100\n忘形交|0x0000|100\n忘形之交|0x0000|100\n忘形之契|0x0000|100\n忘忧草|0x0000|500\n忘战必危|0x0000|100\n忘战者危|0x0000|100\n旺苍县|0x0040|1071\n望表知里|0x1000000|100\n望尘拜伏|0x1000000|100\n望尘奔北|0x1000000|100\n望尘奔溃|0x1000000|100\n望尘不及|0x1000000|100\n望尘而拜|0x1000000|1539\n望尘靡及|0x1000000|100\n望尘莫及|0x1000000|32310\n望尘僄声|0x1000000|100\n望尘追迹|0x1000000|100\n望城县|0x0040|1526\n望穿秋水|0x1000000|842\n望帝啼鹃|0x0000|100\n望都县|0x0040|1061\n望断白云|0x1000000|100\n望而却步|0x1000000|21689\n望而生畏|0x1000000|26080\n望而止步|0x800000|1074\n望风捕影|0x1000000|53990\n望风承旨|0x1000000|100\n望风而遁|0x1000000|100\n望风而降|0x0000|100\n望风而靡|0x1000000|100\n望风而逃|0x1000000|48163\n望风披靡|0x1000000|54969\n望风扑影|0x1000000|100\n望风希旨|0x1000000|100\n望风希指|0x1000000|100\n望风响应|0x0000|100\n望峰息心|0x1000000|1233\n望衡对宇|0x1000000|100\n望江县|0x0040|1562\n望空捉影|0x1000000|100\n望奎县|0x0040|1067\n望梅阁老|0x1000000|100\n望梅止渴|0x1000000|49264\n望门寡|0x100000|1327\n望门投止|0x1000000|1265\n望谟县|0x0040|1120\n望其肩项|0x1000000|100\n望其项背|0x1000000|43771\n望秋先零|0x1000000|100\n望文生训|0x1000000|100\n望文生义|0x1000000|45720\n望闻问切|0x1000000|48526\n望屋而食|0x1000000|100\n望屋以食|0x1000000|100\n望岫息心|0x1000000|100\n望眼将穿|0x1000000|100\n望眼欲穿|0x1000000|37621\n望洋而叹|0x1000000|100\n望洋兴叹|0x1000000|44004\n望影揣情|0x1000000|100\n望远镜|0x100000|7883\n望月楼|0x100000|378\n望云之情|0x0000|100\n望子成才|0x1000000|1354\n望子成龙|0x1000000|24854\n危辞耸听|0x1000000|1416\n危地马拉|0x0040|1475\n危而不持|0x800000|1304\n危害性|0x100000|817\n危机感|0x100000|777\n危机四伏|0x1400000|6\n危机意识|0x100000|491\n危急存亡|0x1000000|1065\n危急存亡之秋|0x0000|100\n危迫利诱|0x0000|100\n危如朝露|0x800000|100\n危如累卵|0x1000000|52477\n危若朝露|0x1000000|100\n危若累卵|0x800000|1280\n危险废物|0x100000|486\n危险品|0x100000|791\n危险期|0x4000|900\n危险区|0x100000|1058\n危险物|0x100000|1146\n危险物品|0x100000|931\n危险性|0x100000|731\n危险源|0x100000|939\n危言高论|0x1000000|100\n危言核论|0x0000|100\n危言覈论|0x1000000|100\n危言逆耳|0x1000000|100\n危言耸听|0x1000000|25666\n危言竦论|0x1000000|100\n危言危行|0x800000|1269\n危言正色|0x1000000|100\n危于累卵|0x0000|100\n危在旦夕|0x1000000|27739\n威尔基|0x0080|1260\n威尔士|0x100000|534\n威尔斯|0x0080|1298\n威风八面|0x1400000|2\n威风凛凛|0x1000000|24200\n威风扫地|0x1000000|53991\n威风祥麟|0x800000|100\n威凤祥麟|0x0000|100\n威凤一羽|0x1400000|0\n威海市|0x0040|1251\n威海卫|0x0040|1052\n威灵仙|0x100000|1108\n威尼斯|0x100000|640\n威尼斯电影节|0x100000|512\n威尼斯人|0x100000|377\n威迫利诱|0x1000|100\n威士忌|0x100000|29996\n威望素著|0x0000|100\n威武不屈|0x1000000|44535\n威胁利诱|0x1000|1058\n威胁性|0x0000|43053\n威信扫地|0x800000|52016\n威信县|0x0040|1117\n威刑肃物|0x1000000|100\n威远县|0x0040|1045\n威震天下|0x1000|1030\n威重令行|0x1000000|100\n威尊命贱|0x800000|0\n偎干就湿|0x0000|100\n偎红倚翠|0x1000000|1210\n偎乾就湿|0x1000000|0\n偎慵堕懒|0x1000000|100\n逶迤退食|0x1000000|100\n微波集成电路|0x0008|0\n微波炉|0x100000|19827\n微波网络|0x0008|0\n微波遥感|0x0008|0\n微不足道|0x1000000|17005\n微察秋毫|0x1000000|100\n微程序|0x0008|0\n微处理机|0x100000|1104\n微处理器|0x100000|807\n微地震测井|0x0008|0\n微电机|0x100000|844\n微电极|0x0008|0\n微电极测井|0x0008|0\n微电脑|0x100000|745\n微电子|0x100000|17345\n微电子技术|0x0008|465\n微电子学|0x100000|950\n微电子有限公司|0x100000|438\n微冻室|0x100000|0\n微分电路|0x0008|1018\n微分方程|0x800000|889\n微分拓扑|0x0008|0\n微分学|0x0008|1092\n微服私访|0x800000|35725\n微服私行|0x0000|100\n微功耗集成电路|0x0008|0\n微观经济|0x100000|3\n微观经济学|0x0008|481\n微观粒子|0x100000|1002\n微观量|0x100000|0\n微观世界|0x800000|35116\n微过细故|0x800000|100\n微乎其微|0x1000000|24079\n微机室|0x100000|947\n微机四伏|0xc00000|0\n微积分|0x100000|803\n微积分学|0x0008|0\n微胶囊|0x100000|416\n微结构|0x100000|1074\n微晶蜡|0x0008|1117\n微晶石|0x100000|387\n微粒说|0x0008|0\n微粒体|0x0008|0\n微粒显影|0x0008|0\n微粒子|0x0000|390\n微量分析|0x0008|0\n微量元素|0x100000|19788\n微气候|0x0008|0\n微扰论|0x100000|1391\n微软公司|0x0020|1174\n微软中国|0x0000|501\n微山县|0x0040|1562\n微生物|0x100000|7773\n微生物学|0x0008|853\n微微克|0x20000|1536\n微微一笑|0x400000|688\n微文深诋|0x1000000|100\n微显阐幽|0x1000000|100\n微型车|0x100000|500\n微型打印机|0x100000|400\n微型机|0x100000|1068\n微型计算机|0x100000|857\n微型汽车|0x100000|436\n微型窃听器|0x100000|448\n微血管|0x100000|44838\n微循环|0x100000|34701\n微压计|0x100000|1192\n微言大义|0x1000000|48905\n微言大谊|0x1000000|100\n微音器|0x0008|1382\n微硬盘|0x100000|512\n煨干避湿|0x0000|100\n煨干就湿|0x0000|100\n巍然屹立|0x0100|994\n巍山彝族回族自治县|0x0040|1200\n巍巍荡荡|0x1000000|100\n为丛驱爵|0x1000000|0\n为丛驱雀|0x1000000|1361\n为德不终|0x1000000|100\n为德不卒|0x1000000|1378\n为的是|0x10000000|411\n为恶不悛|0x1000000|100\n为法自弊|0x1000000|100\n为方便用户|0x0000|392\n为非作歹|0x1000000|31226\n为非作恶|0x1000000|1267\n为富不仁|0x1000000|41347\n为鬼为蜮|0x1000000|100\n为国捐躯|0x800000|31344\n为国为民|0x1000000|932\n为国争光|0x100000|823\n为好成歉|0x1000000|100\n为虎傅翼|0x1000000|1538\n为虎添翼|0x1000000|0\n为虎作伥|0x1000000|38991\n为虺弗摧|0x1000000|100\n为良医|0x0000|100\n为民除害|0x1000|935\n为民父母|0x0000|100\n为民请命|0x1000000|39807\n为期不远|0x800000|35433\n为裘为箕|0x1000000|100\n为人处世|0x0000|487\n为人处事|0x100000|490\n为人民服务|0x100000|712\n为人师表|0x800000|25518\n为人说项|0x0000|100\n为人作嫁|0x1000000|54528\n为仁不富|0x800000|100\n为山止篑|0x1000000|100\n为善最乐|0x1000000|1163\n为蛇画足|0x1000000|100\n为蛇若何|0x800000|100\n为蛇添足|0x1000000|100\n为什么|0x10000|410\n为时不晚|0x800000|1024\n为时不远|0x800000|941\n为时过晚|0x800000|1071\n为时过早|0x800000|897\n为时尚早|0x800000|913\n为时晚矣|0x1000000|839\n为时已晚|0x800000|802\n为数不多|0x800000|699\n为数不少|0x800000|848\n为数众多|0x800000|900\n为所欲为|0x1000000|23459\n为我所用|0x800000|852\n为五斗米折腰|0x400000|955\n为小失大|0x0000|100\n为渊驱鱼|0x1000000|1233\n为之动容|0x800000|790\n为之一新|0xc00000|0\n为之一振|0xc00000|0\n韦编三绝|0x1400000|0\n韦裤布被|0x0000|100\n韦兰秀|0x100000|0\n韦弦之佩|0x0000|100\n围脖儿|0x100000|39183\n围城打援|0x1000000|1148\n围点打援|0x800000|1090\n围而不打|0x0008|0\n围观者|0x100000|848\n围护结构|0x0008|0\n围垦地|0x0008|0\n围棋赛|0x800000|1029\n围起来|0x0000|485\n围魏救赵|0x1000000|48906\n围追堵截|0x1000|32311\n围嘴儿|0x0000|52017\n帏箔不修|0x1000000|100\n帏薄不修|0x1000000|100\n违法必究|0x800000|1045\n违法犯罪|0x0000|609\n违法乱纪|0x1000000|18599\n违法违纪|0x0008|539\n违法行为|0x0000|683\n违法者|0x100000|996\n违反规定|0x0000|576\n违犯者|0x100000|1230\n违规行为|0x0000|580\n违规者|0x100000|960\n违害就利|0x1000000|100\n违禁品|0x100000|43529\n违禁物品|0x800000|1083\n违利赴名|0x1000000|100\n违强陵弱|0x1000000|100\n违时绝俗|0x1000000|100\n违世乖俗|0x1000000|100\n违世绝俗|0x1000000|100\n违世异俗|0x1000000|100\n违天悖理|0x1000000|100\n违天悖人|0x1000000|100\n违天害理|0x1000000|100\n违天逆理|0x1000000|100\n违条犯法|0x1000000|100\n违条舞法|0x1000000|100\n违乡负俗|0x1000000|100\n违心之论|0x100000|52991\n违信背约|0x800000|0\n违约金|0x100000|28312\n违约责任|0x0000|561\n违章行为|0x0000|480\n违章者|0x100000|1159\n违者必究|0x800000|765\n唯才是举|0x800000|1064\n唯恐天下不乱|0x0000|461\n唯理论|0x100000|1186\n唯力是视|0x0000|100\n唯利是求|0x1000000|100\n唯利是视|0x1000000|100\n唯利是图|0x1000000|27005\n唯邻是卜|0x800000|100\n唯灵论|0x100000|1332\n唯妙唯肖|0x1000000|1131\n唯名论|0x100000|1084\n唯命是从|0x1000000|41111\n唯命是听|0x1000000|1328\n唯其如此|0x0000|40889\n唯生产力论|0x0008|1326\n唯所欲为|0x1000000|100\n唯唯否否|0x1000000|100\n唯唯连声|0x0000|100\n唯唯诺诺|0x1000000|31097\n唯我独尊|0x1000000|35288\n唯我论|0x100000|1222\n唯吾独尊|0x1000000|100\n唯物辩证法|0x100000|1010\n唯物论|0x100000|15008\n唯物史观|0x800000|12951\n唯物主义|0x100000|11709\n唯物主义者|0x100000|933\n唯心论|0x100000|27411\n唯心史观|0x800000|41581\n唯心主义|0x100000|13375\n唯一标准|0x400000|503\n唯一合法政府|0x400000|11\n唯一可译码|0x400000|0\n唯一无二|0x400000|0\n唯一性集|0x400000|0\n唯一因子分解整环|0x400000|0\n唯有读书高|0x1000000|1046\n帷箔不修|0x1000000|100\n帷薄不修|0x1000000|100\n帷灯箧剑|0x1000000|100\n帷灯匣剑|0x1000000|100\n帷幕不修|0x1000000|100\n惟精惟一|0x1400000|0\n惟恐天下不乱|0x0000|443\n惟口起羞|0x1000000|100\n惟力是视|0x1000000|100\n惟利是命|0x1000000|100\n惟利是求|0x1000000|100\n惟利是趋|0x1000000|100\n惟利是视|0x1000000|100\n惟利是图|0x1000000|932\n惟利是营|0x0000|100\n惟利是逐|0x0000|100\n惟妙惟肖|0x1000000|27240\n惟命是从|0x1000000|1033\n惟命是听|0x1000000|1329\n惟日不足|0x1000000|1541\n惟日为岁|0x1000000|100\n惟所欲为|0x1000000|100\n惟我独尊|0x40000000|35288\n惟肖惟妙|0x0000|100\n维多利亚|0x0040|1094\n维尔纽斯|0x0040|1146\n维管束|0x0008|1121\n维和部队|0x0000|508\n维护费用|0x0000|491\n维护世界和平|0x0000|495\n维护者|0x100000|898\n维基尼亚|0x0080|0\n维吉尼亚|0x0080|7\n维几尼亚|0x0080|0\n维拉港|0x0040|1292\n维罗纳|0x0040|1507\n维妙维肖|0x800000|1010\n维那斯|0x0080|1206\n维纳斯|0x0080|1197\n维尼龙|0x100000|1366\n维尼纶|0x0000|54527\n维琴尼亚|0x0080|0\n维生素|0x100000|8397\n维斯杜拉|0x0080|0\n维他命|0x100000|711\n维特根斯坦|0x0080|1581\n维吾尔|0x0008|1222\n维吾尔文|0x0000|52018\n维吾尔族|0x0008|15291\n维西傈僳族自治县|0x0040|1177\n维辛斯基|0x0080|1290\n维新运动|0x0008|1100\n维修保养|0x100000|702\n维修部|0x100000|751\n维修厂|0x100000|884\n维修费|0x100000|928\n维修服务|0x100000|654\n维修工|0x100000|860\n维也纳|0x0040|1141\n维也纳爱乐乐团|0x0020|1677\n嵬目鸿耳|0x1000000|100\n嵬眼澒耳|0x1000000|100\n潍坊市|0x0040|1184\n伟大成就|0x0000|455\n伟大工程|0x100000|488\n伟大领袖|0x100000|474\n伟大旗帜|0x0000|518\n伟大祖国|0x0000|445\n伟绩丰功|0x1000000|100\n伪君子|0x100000|32569\n伪科学|0x100000|21874\n伪劣产品|0x0000|524\n伪劣商品|0x0000|504\n伪善者|0x100000|1130\n伪造品|0x100000|1255\n伪证罪|0x100000|1145\n伪政府|0x100000|1124\n伪政权|0x100000|38775\n伪装物|0x100000|0\n伪装者|0x100000|1025\n尾大不掉|0x1000000|48528\n尾大难掉|0x1000000|100\n尾生抱柱|0x0000|100\n尾生之信|0x800000|1341\n纬武经文|0x800000|1534\n委过于人|0x0000|100\n委决不下|0x1000|50750\n委陵菜|0x100000|1271\n委靡不振|0x1000000|1025\n委内瑞拉|0x0040|1214\n委曲成全|0x0000|100\n委曲求全|0x1000000|34860\n委任书|0x100000|1184\n委任状|0x100000|43055\n委肉虎蹊|0x1000000|100\n委托代理人|0x100000|545\n委托合同|0x100000|477\n委托人|0x100000|20746\n委托书|0x100000|27647\n委委佗佗|0x1000000|100\n委以重任|0x800000|888\n委员长|0x100000|774\n委员会|0x100000|1087\n委员会办公室|0x100000|549\n委员会理事|0x100000|402\n委员会委员|0x100000|595\n委员会主任|0x100000|578\n委重投艰|0x0000|100\n委罪于人|0x0000|100\n娓娓不倦|0x1000000|100\n娓娓道来|0x800000|772\n娓娓动听|0x1000000|38171\n娓娓而谈|0x800000|1119\n诿过于人|0x800000|0\n萎靡不振|0x1000000|841\n亹亹不倦|0x0000|100\n卫道士|0x100000|49993\n卫国战争|0x0008|1469\n卫辉市|0x0040|1506\n卫生保健|0x0008|776\n卫生标准|0x100000|820\n卫生部|0x100000|1021\n卫生部长|0x100000|916\n卫生部门|0x100000|813\n卫生出版社|0x100000|486\n卫生带|0x100000|1266\n卫生队|0x100000|1129\n卫生法|0x100000|491\n卫生防疫|0x100000|789\n卫生机构|0x100000|512\n卫生间|0x100000|10435\n卫生洁具|0x0008|812\n卫生巾|0x100000|43291\n卫生局|0x100000|686\n卫生裤|0x100000|1238\n卫生筷|0x0000|46025\n卫生棉|0x100000|912\n卫生球|0x100000|55832\n卫生设备|0x100000|925\n卫生设施|0x100000|478\n卫生事件|0x100000|505\n卫生事业|0x100000|538\n卫生署|0x100000|511\n卫生所|0x100000|886\n卫生陶瓷|0x100000|454\n卫生厅|0x100000|789\n卫生习惯|0x100000|501\n卫生系统|0x0000|524\n卫生香|0x0000|54973\n卫生许可证|0x100000|543\n卫生学|0x100000|934\n卫生学校|0x100000|477\n卫生衣|0x0008|54974\n卫生用品|0x100000|497\n卫生员|0x100000|22236\n卫生院|0x100000|9236\n卫生站|0x100000|961\n卫生纸|0x100000|25519\n卫生组织|0x0000|602\n卫戍部队|0x0008|0\n卫戍区|0x0040|31792\n卫星城|0x100000|27648\n卫星城镇|0x100000|0\n卫星地面站|0x0000|375\n卫星电话|0x100000|1003\n卫星电视|0x100000|23290\n卫星电视节目|0x100000|442\n卫星广播|0x100000|989\n卫星国|0x100000|1199\n卫星频道|0x100000|481\n卫星天线|0x100000|450\n卫星通信|0x100000|34240\n卫星网络|0x100000|547\n卫星网络电视|0x100000|488\n卫星象片|0x0008|0\n卫星云图|0x0000|40662\n卫星站|0x0000|54975\n卫浴设备|0x100000|907\n未艾方兴|0x1000000|100\n未卜先知|0x1000000|48908\n未成年|0x1000|12413\n未成年人|0x100000|3643\n未成熟|0x0000|491\n未成一篑|0x1400000|0\n未处理|0x0000|452\n未达一间|0x1400000|0\n未定义|0x40000000|480\n未定之天|0x1000000|100\n未焚徙薪|0x1000000|100\n未风先雨|0x1000000|100\n未敢苟同|0x0000|100\n未归类|0x40000000|402\n未婚夫|0x100000|22903\n未婚妻|0x100000|20136\n未婚先孕|0x0008|470\n未竟之志|0x1000000|1286\n未开化|0x0000|421\n未开垦|0x40000000|378\n未可厚非|0x1000000|53992\n未可全抛一片心|0x400000|0\n未可同日而语|0x0008|100\n未来派|0x100000|1058\n未来十年|0x100000|561\n未来式|0x100000|1\n未来学|0x100000|386\n未来主义|0x100000|1035\n未老先衰|0x1000000|41583\n未了公案|0x0000|100\n未名湖|0x0040|1469\n未明求衣|0x1000000|100\n未能免俗|0x1000000|1059\n未识一丁|0x400000|100\n未完成|0x0000|605\n未亡人|0x0000|45126\n未为不可|0x1000000|1208\n未形之患|0x1000000|100\n未雨绸缪|0x1000000|16779\n未知其二|0x1400000|0\n未知数|0x100000|23773\n未知万一|0x1400000|0\n未足轻重|0x1000000|100\n位卑言高|0x1000000|100\n位不期骄|0x800000|100\n位会员|0x100000|691\n位极人臣|0x1000000|1096\n位势论|0x0008|0\n位移电流|0x0008|0\n位移试剂|0x0008|0\n味精厂|0x100000|371\n味觉器|0x100000|0\n味觉四面体|0x400000|0\n味如鸡肋|0x800000|100\n味如嚼蜡|0x1000000|1128\n味同嚼蜡|0x1000000|40241\n味之素|0x0008|1101\n畏敌如虎|0x0000|100\n畏惧感|0x100000|1039\n畏强欺弱|0x800000|1310\n畏首畏尾|0x1000000|40457\n畏缩不前|0x800000|41112\n畏威怀德|0x800000|100\n畏葸不前|0x800000|54529\n畏影避迹|0x0000|100\n畏影恶迹|0x100000|100\n畏影而走|0x0000|100\n胃肠道|0x100000|549\n胃肠功能|0x100000|450\n胃肠科|0x100000|1\n胃肠炎|0x100000|953\n胃出血|0x0000|442\n胃穿孔|0x100000|55491\n胃蛋白酶|0x800000|1088\n胃动素|0x0008|0\n胃痉挛|0x100000|376\n胃镜室|0x100000|1\n胃溃疡|0x100000|39614\n胃扩张|0x100000|1098\n胃下垂|0x100000|970\n胃液素|0x100000|0\n尉犁县|0x0040|1040\n尉氏县|0x0040|1518\n谓词演算|0x0008|0\n谓予不信|0x800000|1226\n渭川千亩|0x1000000|100\n渭南市|0x0040|1435\n渭阳之情|0x0008|1313\n渭源县|0x0040|1104\n渭浊泾清|0x1000000|100\n蔚成风气|0x800000|1216\n蔚蓝色|0x100000|848\n蔚蓝网络书店|0x100000|533\n蔚然成风|0x1000000|18375\n蔚为大观|0x1000000|44840\n蔚为壮观|0x800000|40242\n慰劳品|0x100000|1326\n慰情胜无|0x800000|1389\n慰问电|0x100000|24297\n慰问金|0x100000|939\n慰问品|0x100000|22703\n慰问团|0x100000|1041\n慰问信|0x100000|931\n魏颗结草|0x1000000|100\n魏鹊无枝|0x1000000|100\n魏紫姚黄|0x1000000|1283\n温饱工程|0x0008|0\n温病条辨|0x0008|0\n温差电致冷器|0x0008|0\n温彻斯特|0x0080|1171\n温带林|0x0008|0\n温得和克|0x0040|1238\n温度保险丝|0x100000|399\n温度表|0x100000|979\n温度场|0x0008|381\n温度传感器|0x100000|502\n温度计|0x100000|22237\n温度开关|0x100000|388\n温度梯度|0x0008|0\n温度仪表|0x100000|411\n温哥华|0x0040|1179\n温故而知新|0x0008|954\n温故知新|0x1000000|46908\n温和派|0x100000|941\n温经散寒|0x0008|0\n温良恭俭让|0x0008|1017\n温暖如春|0x800000|908\n温衾扇枕|0x1000000|100\n温情脉脉|0x1000000|35572\n温情密意|0x1000000|100\n温情蜜意|0x1000000|100\n温凊定省|0x1000000|100\n温泉县|0x0040|1180\n温泉浴|0x100000|959\n温柔敦厚|0x1000000|979\n温柔乡|0x100000|886\n温柔一刀|0x400000|2\n温润而泽|0x0000|100\n温生绝裾|0x1000000|100\n温湿度|0x100000|808\n温室二氧化碳加浓|0x400000|0\n温室效应|0x100000|22238\n温宿县|0x0040|1068\n温吞水|0x0000|52994\n温文尔雅|0x1000000|25520\n温文儒雅|0x1000000|954\n温席扇枕|0x1000000|100\n温香艳玉|0x1000000|100\n温血动物|0x100000|1208\n温枕扇席|0x1000000|100\n温州地区|0x100000|450\n温州市|0x0040|1000\n温州职业技术学院|0x100000|374\n文安县|0x0040|1422\n文本编辑|0x100000|486\n文本框|0x0000|588\n文本王|0x100000|376\n文本文件|0x0000|602\n文不对题|0x1000000|45412\n文不加点|0x1000000|52995\n文采风流|0x1000000|1058\n文昌市|0x0040|1563\n文昌鱼|0x100000|1186\n文抄公|0x100000|49266\n文成县|0x0040|1512\n文弛武玩|0x1000000|100\n文从字顺|0x1000000|1127\n文代会|0x100000|1056\n文德尔班|0x0080|0\n文登市|0x0040|1477\n文觌武匿|0x1000000|100\n文定之喜|0x0008|1184\n文牍主义|0x100000|1194\n文法学|0x0008|1368\n文房四宝|0x4400000|33691\n文房四侯|0x1400000|0\n文房四士|0x1400000|1\n文房四物|0x1400000|0\n文房四艺|0x1400000|0\n文风不动|0x1000000|1208\n文革时期|0x0000|466\n文工团|0x100000|17120\n文冠果|0x100000|1194\n文过其实|0x1000000|100\n文过饰非|0x1000000|42312\n文过遂非|0x1000000|0\n文化报|0x100000|418\n文化背景|0x0000|557\n文化部|0x100000|1182\n文化层|0x100000|1029\n文化差异|0x100000|813\n文化产业|0x100000|602\n文化程度|0x0000|598\n文化传媒|0x100000|482\n文化大革命|0x0008|6315\n文化底蕴|0x100000|560\n文化地理学|0x0008|0\n文化革命|0x0000|22340\n文化工作|0x100000|19\n文化宫|0x100000|15456\n文化馆|0x100000|10341\n文化活动|0x100000|736\n文化建设|0x100000|693\n文化交流|0x100000|679\n文化教育|0x800000|681\n文化街|0x100000|460\n文化节|0x4000|729\n文化界|0x100000|17618\n文化景观|0x0000|33692\n文化局|0x100000|778\n文化决定论|0x0008|0\n文化课|0x100000|27649\n文化快餐|0x0008|1\n文化垃圾|0x0000|38376\n文化礼品|0x100000|407\n文化论坛|0x100000|577\n文化名人|0x100000|482\n文化频道|0x100000|503\n文化区|0x100000|950\n文化圈|0x100000|899\n文化人|0x100000|20137\n文化沙漠|0x0000|49994\n文化衫|0x100000|40893\n文化生活|0x0008|761\n文化石|0x100000|505\n文化史|0x100000|838\n文化市场|0x100000|804\n文化事业|0x0008|556\n文化水平|0x0008|9\n文化素质|0x0000|571\n文化厅|0x100000|500\n文化网|0x100000|571\n文化学|0x100000|945\n文化遗产|0x0008|629\n文化艺术|0x100000|627\n文化用品|0x100000|707\n文化娱乐|0x100000|747\n文化娱乐活动|0x0000|400\n文化园|0x100000|457\n文化站|0x100000|14517\n文化中心|0x100000|697\n文化周|0x100000|476\n文化组|0x100000|1197\n文汇报|0x100000|1208\n文籍先生|0x1000000|100\n文奸济恶|0x1000000|100\n文件传输|0x0000|561\n文件大小|0x100000|857\n文件袋|0x100000|888\n文件翻译|0x100000|395\n文件服务器|0x0000|472\n文件格式|0x100000|696\n文件柜|0x100000|760\n文件夹|0x100000|35118\n文件类型|0x100000|624\n文件名|0x100000|51168\n文件名称|0x100000|608\n文件批量|0x100000|474\n文件系统|0x0008|630\n文件属性|0x100000|506\n文件组织|0x0008|0\n文江学海|0x1000000|100\n文教界|0x100000|54977\n文教局|0x100000|1048\n文教区|0x0008|0\n文教卫生|0x100000|1027\n文经武略|0x1000000|100\n文经武纬|0x1000000|100\n文景之治|0x0008|1063\n文具厂|0x100000|384\n文具店|0x0040|879\n文具盒|0x100000|40664\n文具礼品|0x100000|426\n文具用品|0x100000|816\n文君司马|0x0000|100\n文君新寡|0x1000000|100\n文君新醮|0x0000|100\n文莱达鲁萨兰国|0x0040|1227\n文婪武嬉|0x1000000|100\n文理不通|0x800000|1165\n文理俱惬|0x0000|100\n文理科|0x100000|464\n文理学院|0x100000|875\n文脉性|0x100000|0\n文盲率|0x100000|1089\n文明诚信|0x100000|388\n文明城市|0x0000|565\n文明单位|0x0000|569\n文明古国|0x100000|487\n文明号|0x100000|534\n文明礼貌|0x800000|920\n文明礼仪|0x100000|475\n文明人|0x100000|29056\n文明史|0x100000|833\n文明戏|0x100000|1206\n文明用语|0x100000|531\n文明执法|0x0000|475\n文凭主义|0x100000|0\n文期酒会|0x1000000|100\n文曲星|0x100000|818\n文人墨客|0x1000000|34394\n文人墨士|0x1000000|100\n文人无行|0x1000000|1256\n文人相轻|0x1000000|36727\n文人学士|0x1000000|1046\n文如其人|0x1000000|45128\n文弱书生|0x100000|957\n文山会海|0x800000|30974\n文山县|0x0040|1629\n文身断发|0x1000000|100\n文身剪发|0x1000000|100\n文身翦发|0x1000000|100\n文深网密|0x1000000|100\n文史馆|0x100000|32057\n文史类|0x100000|491\n文史哲|0x100000|945\n文水县|0x0040|1624\n文丝不动|0x1000000|0\n文思泉涌|0x0000|54978\n文似其人|0x1000000|100\n文搜丁甲|0x1000000|100\n文韬武略|0x1000000|992\n文体活动|0x100000|862\n文体用品|0x100000|480\n文恬武嬉|0x1000000|1288\n文通残锦|0x1000000|100\n文文静静|0x0100|907\n文无加点|0x1000000|100\n文武百官|0x800000|951\n文武差事|0x1000000|100\n文武场|0x100000|1351\n文武合一|0x400000|0\n文武兼备|0x800000|1065\n文武全才|0x1000000|46909\n文武双全|0x1000000|44255\n文武学校|0x100000|377\n文武之道|0x1000000|100\n文物保护|0x1000|614\n文物古迹|0x100000|870\n文物局|0x100000|526\n文物展|0x100000|427\n文物组|0x100000|0\n文献出版社|0x100000|508\n文献片|0x100000|42562\n文献之家|0x1000000|100\n文献资料|0x100000|818\n文心雕龙|0x100000|934\n文星高照|0x1000000|100\n文行出处|0x0000|100\n文修武备|0x0000|100\n文修武偃|0x1000000|100\n文学城|0x100000|484\n文学出版社|0x100000|505\n文学创作|0x0000|554\n文学革命|0x100000|1043\n文学馆|0x100000|936\n文学化|0x100000|0\n文学家|0x100000|9165\n文学奖|0x100000|560\n文学界|0x100000|901\n文学刊物|0x100000|1036\n文学理论|0x100000|887\n文学名著|0x100000|521\n文学批评|0x100000|910\n文学频道|0x100000|517\n文学评论|0x0008|462\n文学社|0x100000|757\n文学史|0x100000|707\n文学士|0x100000|378\n文学书库|0x100000|498\n文学系|0x100000|908\n文学艺术|0x100000|693\n文学语言|0x800000|943\n文学院|0x100000|819\n文学作品|0x100000|662\n文言文|0x100000|34861\n文以载道|0x1000000|1040\n文艺报|0x100000|1092\n文艺表演|0x100000|898\n文艺出版社|0x0000|556\n文艺复兴|0x800000|14212\n文艺复兴时期|0x0000|480\n文艺工作者|0x100000|951\n文艺活动|0x100000|619\n文艺家|0x100000|1018\n文艺节目|0x0000|488\n文艺界|0x100000|882\n文艺理论|0x0008|940\n文艺批评|0x800000|26490\n文艺片|0x0008|1264\n文艺思想|0x0008|0\n文艺晚会|0x0000|564\n文艺学|0x100000|945\n文艺演出|0x100000|795\n文娱活动|0x0008|1\n文圆质方|0x1000000|100\n文责自负|0x1000000|656\n文摘报|0x100000|399\n文章盖世|0x0000|100\n文章经济|0x1000000|1538\n文章巨公|0x1000000|100\n文章钜公|0x1000000|100\n文章魁首|0x0000|100\n文章内容|0x100000|643\n文章山斗|0x1000000|100\n文章宿老|0x1000000|100\n文章星斗|0x0000|100\n文章憎命|0x1000000|1201\n文章正文|0x100000|648\n文章主题|0x0000|731\n文章宗工|0x1000000|100\n文章宗匠|0x1000000|100\n文昭武穆|0x1000000|100\n文治武功|0x800000|1025\n文治武力|0x1000000|100\n文质彬彬|0x1000000|28314\n文质斌斌|0x1000000|0\n文绉绉|0x0100|41113\n文子同升|0x1000000|100\n文子文孙|0x1000000|100\n文字处理|0x0000|568\n文字大小|0x100000|555\n文字改革|0x800000|49267\n文字广告|0x100000|592\n文字描述|0x100000|564\n文字说明|0x0000|542\n文字特效|0x100000|472\n文字效果|0x100000|522\n文字学|0x100000|950\n文字学家|0x100000|1119\n文字游戏|0x100000|869\n文字狱|0x100000|35119\n文宗学府|0x1000000|100\n纹理统一法|0x400000|0\n纹理状|0x100000|0\n纹丝不动|0x1000000|26927\n纹状体|0x100000|1217\n闻宠若惊|0x1000000|100\n闻风而动|0x1000000|34241\n闻风而起|0x1000000|100\n闻风而逃|0x1000000|1118\n闻风而兴|0x1000000|100\n闻风而至|0x1000000|1074\n闻风破胆|0x1000000|100\n闻风丧胆|0x1000000|37255\n闻风响应|0x1000000|100\n闻风远遁|0x1000000|100\n闻风远扬|0x1000000|100\n闻过则喜|0x1000000|43292\n闻鸡起舞|0x1000000|44006\n闻雷失箸|0x800000|100\n闻名不如见面|0x0008|814\n闻名丧胆|0x1000000|1170\n闻名四方|0x400000|0\n闻名遐迩|0x800000|21324\n闻名于世|0x800000|792\n闻名中外|0x800000|935\n闻融敦厚|0x0000|100\n闻声相思|0x1000000|100\n闻所不闻|0x1000000|100\n闻所未闻|0x1000000|27412\n闻喜县|0x0040|1589\n闻讯而来|0x800000|1047\n闻噎废食|0x1000000|100\n闻一知二|0x1400000|0\n闻一知十|0x1400000|0\n闻者足戒|0x800000|1155\n刎颈交|0x0000|52996\n刎颈之交|0x1000000|1169\n稳步前进|0x800000|974\n稳操胜券|0x1000000|37084\n稳操胜算|0x1000000|1230\n稳操左券|0x1000000|1534\n稳吃三注|0xc00000|0\n稳定传热|0x0008|0\n稳定剂|0x100000|847\n稳定率|0x100000|1249\n稳定平衡|0x100000|1169\n稳定渗流|0x0008|0\n稳定物价|0x0008|6\n稳定性|0x100000|591\n稳定性判据|0x0008|0\n稳如泰山|0x1000000|43293\n稳稳当当|0x0100|899\n稳稳重重|0x0100|898\n稳压电源|0x0008|822\n稳压二极管|0x400000|396\n稳压器|0x100000|761\n稳扎稳打|0x1000000|33328\n稳中有降|0x800000|971\n稳坐钓鱼船|0x0008|1222\n稳坐钓鱼台|0x0008|1062\n问安视寝|0x1000000|100\n问安视膳|0x1000000|100\n问长问短|0x1000000|29268\n问答式|0x100000|378\n问答题|0x100000|51603\n问道于盲|0x1000000|1229\n问鼎中原|0x0000|100\n问官答花|0x1000000|100\n问寒问暖|0x1000000|32690\n问候语|0x0000|488\n问卷调查|0x800000|652\n问来问去|0x0000|52997\n问柳评花|0x1000000|100\n问柳寻花|0x1000000|1537\n问牛知马|0x800000|100\n问寝视膳|0x1000000|100\n问舍求田|0x1000000|100\n问十道百|0x1400000|0\n问事处|0x100000|1193\n问题儿童|0x0008|0\n问题解答|0x100000|604\n问题解决|0x100000|84\n问题是|0x0000|754\n问题数码相机|0x100000|458\n问天买卦|0x1000000|1535\n问心无愧|0x1000000|30975\n问心有愧|0x800000|1109\n问讯处|0x100000|1060\n问羊知马|0x1000000|100\n问一答十|0x1400000|0\n问诸水滨|0x1000000|100\n问罪之师|0x1000000|1171\n汶川县|0x0040|1064\n汶上县|0x0040|1522\n汶阳田反|0x1000000|100\n翁牛特旗|0x0040|1071\n翁源县|0x0040|1427\n嗡嗡叫|0x0000|392\n嗡嗡声|0x0000|468\n瓮安县|0x0040|1107\n瓮尽杯干|0x1000000|100\n瓮里醯鸡|0x1000000|100\n瓮声瓮气|0x0100|34862\n瓮天蠡海|0x1000000|100\n瓮天之见|0x0000|100\n瓮牖桑枢|0x1000000|100\n瓮牖绳枢|0x1000000|100\n瓮中之鳖|0x1000000|50366\n瓮中捉鳖|0x1000000|51604\n涡轮机|0x100000|49628\n涡轮流量计|0x100000|369\n涡轮喷气发动机|0x0008|3\n涡轮轴发动机|0x0008|0\n涡轮钻具|0x0008|0\n涡旋式|0x100000|0\n涡阳县|0x0040|1453\n窝边草|0x0000|46607\n窝火憋气|0x0000|100\n窝里斗|0x800000|43295\n窝里反|0x0000|55493\n窝里横|0x800000|55494\n窝囊废|0x100000|21875\n窝囊气|0x100000|39809\n窝停主人|0x0000|100\n窝窝头|0x100000|975\n蜗角虚名|0x800000|1284\n蜗角蝇头|0x0000|100\n蜗角之争|0x800000|100\n蜗名微利|0x0000|100\n蜗舍荆扉|0x0000|100\n蜗行牛步|0x800000|1507\n我爱歌词网|0x100000|426\n我爱你|0x100000|493\n我不是|0x0000|494\n我的文档|0x0000|494\n我黼子佩|0x1000000|1286\n我负子戴|0x1000000|1350\n我国电力|0x100000|455\n我国古代|0x100000|524\n我国经济|0x100000|619\n我国目前|0x100000|576\n我国农产品|0x100000|469\n我国农业|0x100000|521\n我国汽车|0x100000|539\n我国人口|0x100000|475\n我国社会主义|0x100000|523\n我国西部|0x100000|448\n我国刑法|0x100000|465\n我国证券市场|0x100000|476\n我很喜欢|0x0000|636\n我见犹怜|0x1000000|944\n我认为|0x0000|785\n我为歌狂|0x100000|907\n我为鱼肉|0x800000|879\n我武惟扬|0x0000|100\n我心如秤|0x800000|100\n我行我素|0x1000000|21546\n我一语|0xc00000|2\n我醉欲眠|0x1000000|1178\n捰袖揎拳|0x1000000|100\n沃尔沃|0x0008|1208\n沃野千里|0x800000|1073\n卧病在床|0x0000|460\n卧不安席|0x0000|100\n卧床不起|0x800000|923\n卧虎藏龙|0x800000|778\n卧铺票|0x100000|947\n卧室家具|0x100000|419\n卧榻鼾睡|0x0000|100\n卧榻之上|0x8000|100\n卧薪尝胆|0x1000000|28775\n卧雪眠霜|0x0000|100\n握发吐哺|0x1000000|100\n握发吐飧|0x1000000|100\n握风捕影|0x1000000|100\n握纲提领|0x0000|100\n握力器|0x0008|0\n握铅抱椠|0x1000000|100\n握拳透掌|0x1000000|100\n握拳透爪|0x1000000|100\n握蛇骑虎|0x1000000|100\n握手言和|0x800000|24667\n握手言欢|0x1000000|47214\n握素怀铅|0x1000000|100\n握素披黄|0x1000000|100\n握粟出卜|0x1000000|100\n握炭流汤|0x1000000|100\n握雾拏云|0x1000000|100\n握瑜怀瑾|0x1000000|100\n握瑜怀玉|0x0000|100\n握雨携云|0x1000000|100\n握云拿雾|0x1000000|100\n渥太华|0x100000|13691\n乌白马角|0x1000000|100\n乌沉沉|0x0100|0\n乌踆兔走|0x1000000|100\n乌尔都语|0x100000|371\n乌飞兔走|0x1000000|1231\n乌干达|0x0040|1418\n乌骨鸡|0x100000|1012\n乌龟王八|0x400000|0\n乌龟王八蛋|0x400000|0\n乌海市|0x0040|1435\n乌合之众|0x1000000|33181\n乌鸡汤|0x100000|374\n乌集之交|0x1000000|100\n乌集之众|0x1000000|100\n乌焦巴弓|0x0000|100\n乌克兰|0x0040|1067\n乌克兰队|0x100000|396\n乌克兰人|0x100000|408\n乌拉草|0x100000|55497\n乌拉尔|0x0040|1603\n乌拉尔山脉|0x0040|1174\n乌拉圭|0x0040|1312\n乌拉圭人|0x100000|370\n乌拉山|0x0040|1142\n乌拉坦|0x0080|0\n乌拉特后旗|0x0040|1130\n乌拉特前旗|0x0040|1654\n乌拉特中旗|0x0040|1113\n乌兰巴托|0x0040|22517\n乌兰察布|0x0040|1331\n乌兰察布盟|0x0040|1646\n乌兰浩特|0x0040|920\n乌兰浩特市|0x0040|1565\n乌兰牧骑|0x0008|1219\n乌兰县|0x0040|1125\n乌溜溜|0x0100|39395\n乌龙茶|0x100000|36061\n乌龙球|0x100000|898\n乌卢布列夫斯基|0x0080|0\n乌鲁木齐|0x0040|5546\n乌鲁木齐市|0x0040|1118\n乌鲁木齐铁路局|0x0020|1590\n乌鲁木齐县|0x0040|1626\n乌帽红裙|0x1000000|100\n乌梅汁|0x0008|0\n乌面鹄形|0x0000|100\n乌鸟私情|0x1000000|100\n乌篷船|0x100000|1016\n乌七八糟|0x1400000|40244\n乌恰县|0x0040|1124\n乌鞘岭|0x0040|1185\n乌纱帽|0x100000|26163\n乌梢蛇|0x100000|1170\n乌审旗|0x0040|1099\n乌什县|0x0040|1109\n乌苏里江|0x0040|1605\n乌苏市|0x0040|1590\n乌天黑地|0x1000000|100\n乌头白马生角|0x0008|100\n乌头马角|0x1000000|100\n乌托邦|0x100000|28497\n乌托邦主义|0x100000|0\n乌压压|0x0100|0\n乌鸦嘴|0x0008|486\n乌烟瘴气|0x1000000|26928\n乌焉成马|0x1000000|100\n乌衣门第|0x1000000|100\n乌衣之游|0x1000000|100\n乌衣子弟|0x1000000|1349\n乌油油|0x0100|45727\n乌有先生|0x1000000|1269\n乌云密布|0x1000000|820\n乌云其木格|0x0080|1127\n乌贼骨|0x0008|0\n乌孜别克|0x0008|1685\n乌孜别克族|0x0008|55495\n乌兹别克|0x0040|1440\n乌兹别克斯坦|0x0040|1389\n污泥浊水|0x1000000|42064\n污七八糟|0x1400000|0\n污七糟八|0x400000|0\n污染环境|0x0000|546\n污染监测|0x0008|1\n污染区|0x100000|1118\n污染物|0x100000|754\n污染源|0x100000|820\n污染者|0x100000|1084\n污手垢面|0x1000000|100\n污水泵|0x100000|475\n污水处理|0x0008|682\n污言秽语|0x800000|41813\n呜乎哀哉|0x1000000|1094\n呜呼哀哉|0x1000000|32692\n呜呼噫嘻|0x1000000|1381\n呜噜呜噜|0x0000|50751\n呜呜咽咽|0x800000|856\n巫山洛浦|0x0000|100\n巫山县|0x0040|1304\n巫山云雨|0x1000000|955\n巫溪县|0x0040|1350\n巫云楚雨|0x1000000|100\n屋顶风机|0x100000|919\n屋顶花园|0x100000|978\n屋面板|0x0008|1098\n屋如七星|0xc00000|0\n屋上架屋|0x1000000|100\n屋上建瓴|0x0000|100\n屋上乌|0x0000|100\n屋乌推爱|0x1000000|100\n屋乌之爱|0x1000000|100\n屋下架屋|0x1000000|100\n屋下作屋|0x1000000|100\n诬告陷害|0x0008|0\n诬良为盗|0x0000|100\n钨丝灯|0x100000|1025\n无般不识|0x1000000|100\n无背无侧|0x1000000|100\n无本之末|0x800000|0\n无本之木|0x800000|52998\n无边风月|0x800000|1129\n无边无际|0x1000000|20963\n无边无涯|0x800000|951\n无边无沿|0x1000000|1217\n无边无垠|0x1000000|1111\n无变化|0x0000|478\n无标题|0x0000|543\n无表情|0x0000|513\n无病呻吟|0x1000000|34539\n无病自炙|0x800000|100\n无补于事|0x1000000|1036\n无不及|0x800000|769\n无差别|0x0000|508\n无产阶级|0x100000|2984\n无产阶级革命|0x0008|447\n无产阶级革命家|0x0000|465\n无产阶级民主|0x0008|0\n无产阶级专政|0x0008|451\n无产者|0x100000|21737\n无肠公子|0x0000|100\n无肠可断|0x0000|100\n无偿献血|0x100000|883\n无尘车间|0x100000|376\n无诚意|0x0000|443\n无耻之徒|0x100000|914\n无耻之尤|0x800000|1145\n无出其二者|0x400000|0\n无出其右|0x1000000|960\n无处不在|0x800000|614\n无处藏身|0x0000|470\n无从谈起|0x800000|783\n无从下手|0x800000|797\n无从置喙|0x1000000|100\n无大不大|0x1000000|100\n无大无小|0x40000000|1286\n无待蓍龟|0x0000|100\n无弹性|0x0000|382\n无党派|0x100000|927\n无党派人士|0x0008|969\n无党无偏|0x1000000|100\n无德而称|0x1000000|1338\n无的放矢|0x1000000|40458\n无敌手|0x800000|881\n无敌天下|0x1000000|1085\n无敌于天下|0x0008|719\n无底洞|0x100000|32442\n无地可容|0x1000000|100\n无地自处|0x1000000|100\n无地自厝|0x1000000|100\n无地自容|0x1000000|22025\n无棣县|0x0040|1526\n无颠无倒|0x1000000|100\n无定形|0x0000|387\n无定形碳|0x800000|1419\n无冬历夏|0x1000000|100\n无冬无夏|0x1000000|1358\n无冬之夜|0x100000|923\n无动为大|0x1000000|100\n无动于中|0x800000|1253\n无动于衷|0x1000000|14664\n无洞掘蟹|0x1000000|100\n无毒不丈夫|0x0008|1009\n无独有偶|0x1000000|21876\n无端生事|0x0000|100\n无恶不为|0x1000000|100\n无恶不造|0x1000000|1422\n无恶不作|0x1000000|30655\n无法访问|0x0000|513\n无法无天|0x1000000|26575\n无法形容|0x0000|541\n无方之民|0x1000000|100\n无房户|0x100000|1032\n无纺布|0x100000|665\n无风不起浪|0x0008|47841\n无风起浪|0x1000000|1112\n无风三尺浪|0x401000|0\n无风生浪|0x1000000|100\n无风扬波|0x1000000|100\n无风作浪|0x1000000|100\n无缝钢管|0x4000000|786\n无缝天衣|0x1000000|100\n无佛处称尊|0x0008|1535\n无服之丧|0x1000000|1496\n无服之殇|0x1000000|100\n无父无君|0x1000000|1219\n无副作用|0x100000|871\n无给职|0x0008|0\n无根而固|0x0000|100\n无根无蒂|0x1000000|100\n无根之木|0x1000000|0\n无公害蔬菜|0x0000|16284\n无功不受禄|0x0008|1025\n无功而返|0x800000|809\n无功而禄|0x1000000|100\n无功功率|0x0008|0\n无功受禄|0x1000000|52024\n无辜者|0x100000|955\n无故呻吟|0x1000000|100\n无挂无碍|0x1000000|1220\n无罣无碍|0x1000000|100\n无怪乎|0x800000|33329\n无关大局|0x1000000|1049\n无关大体|0x1000000|100\n无关宏旨|0x1000000|43296\n无关紧要|0x1000000|22075\n无关痛痒|0x1000000|41585\n无官一身|0x400000|0\n无官一身轻|0x400008|5\n无光泽|0x0000|447\n无规运动|0x0008|0\n无轨电车|0x4000000|40896\n无国籍|0x0008|423\n无害化|0x1000|901\n无何有乡|0x1000000|100\n无何有之乡|0x0008|1159\n无核区|0x0000|46027\n无乎不可|0x1000000|100\n无花果|0x100000|40897\n无话不谈|0x1000000|748\n无话可说|0x800000|16115\n无悔无怨|0x800000|1025\n无毁无誉|0x0000|100\n无机肥料|0x100000|957\n无机化工原料|0x100000|392\n无机化合物|0x100000|1108\n无机化学|0x100000|899\n无机界|0x100000|0\n无机可乘|0x800000|48530\n无机酸|0x0008|958\n无机物|0x100000|30106\n无机盐|0x100000|826\n无迹可求|0x1000000|1203\n无迹可寻|0x1000000|951\n无稽之谈|0x1000000|32184\n无稽之言|0x1000000|1352\n无极放电灯|0x0008|0\n无极分子|0x0008|0\n无极县|0x0040|1558\n无疾而终|0x800000|818\n无计可奈|0x1000000|100\n无计可施|0x1000000|28417\n无计奈何|0x1000000|1048\n无计所奈|0x1000000|100\n无记名|0x20000000|17645\n无记名投票|0x100000|19412\n无记忆信道|0x0008|0\n无纪律|0x0000|427\n无际可寻|0x1000000|100\n无济于事|0x1000000|17427\n无家可奔|0x1000000|1258\n无家可归|0x1000000|17729\n无家无室|0x1000000|100\n无价宝|0x100000|53994\n无价之宝|0x1000000|829\n无坚不摧|0x1000000|30656\n无坚不陷|0x1000000|100\n无间冬夏|0x1000000|100\n无间可乘|0x1000000|100\n无间可伺|0x1000000|100\n无间是非|0x800000|100\n无疆之休|0x1000000|100\n无噍类矣|0x800000|100\n无节制|0x40000000|464\n无尽无穷|0x1000000|100\n无尽无休|0x1000000|50367\n无精嗒彩|0x1000000|100\n无精打采|0x1000000|21369\n无精打彩|0x1000000|1019\n无胫而来|0x1000000|100\n无胫而行|0x1000000|100\n无胫而至|0x1000000|100\n无胫而走|0x1000000|100\n无旧无新|0x1000000|100\n无咎无誉|0x1000000|1295\n无拘束|0x40000000|418\n无拘无碍|0x1000000|1233\n无拘无缚|0x1000000|100\n无拘无束|0x1000000|23291\n无菌室|0x0008|1091\n无可比伦|0x1000000|100\n无可比拟|0x1000000|30552\n无可比象|0x1000000|100\n无可辩驳|0x800000|928\n无可不可|0x1000000|1266\n无可非议|0x1000000|27651\n无可奉告|0x800000|41114\n无可否认|0x800000|821\n无可厚非|0x1000000|19377\n无可讳言|0x1000000|51171\n无可救药|0x1000000|716\n无可名状|0x1000000|1032\n无可奈何|0x1000000|7739\n无可奈何花落去|0x0008|906\n无可柰何|0x1000000|1334\n无可如何|0x1000000|1140\n无可挑剔|0x0000|38780\n无可挽回|0x1000|820\n无可无不可|0x0008|40459\n无可争辩|0x800000|32443\n无可争议|0x0000|33182\n无可指责|0x800000|41350\n无可置辩|0x1000000|100\n无可置喙|0x1000000|100\n无可置疑|0x1000000|38577\n无空不入|0x1000000|100\n无孔不入|0x1000000|29679\n无孔不钻|0x1000000|100\n无寇暴死|0x0000|100\n无愧衾影|0x800000|100\n无愧于|0x1000|533\n无愧于心|0x800000|899\n无厘头|0x0008|1123\n无理方程|0x800000|1115\n无理取闹|0x1000000|28224\n无理式|0x100000|1536\n无理数|0x100000|1100\n无理性|0x20000000|376\n无力回天|0x800000|42065\n无立锥之地|0x800000|1096\n无利可图|0x800000|36215\n无梁楼盖|0x0008|0\n无了根蒂|0x1000000|100\n无了无休|0x1000000|100\n无路可走|0x800000|822\n无虑无思|0x1000000|100\n无虑无忧|0x1000000|100\n无论如何|0x1000000|5275\n无论是|0x10000000|395\n无毛大虫|0x1000000|0\n无米之炊|0x1000000|38781\n无冕之王|0x100000|41814\n无面目见江东父老|0x0008|100\n无名火|0x100000|35004\n无名火气|0x1000000|100\n无名孽火|0x0000|100\n无名氏|0x100000|35289\n无名帖|0x100000|1537\n无名小辈|0x1000000|1042\n无名小卒|0x1000000|873\n无名英雄|0x100000|937\n无名之辈|0x800000|48168\n无名之璞|0x1000000|100\n无名之朴|0x1000000|1191\n无名之师|0x1000000|1368\n无名指|0x100000|32313\n无名肿毒|0x800000|1216\n无明火|0x100000|1048\n无明无夜|0x1000000|100\n无明业火|0x1000000|100\n无目的|0x40000000|462\n无奈何|0x1000|48169\n无奈我何|0x800000|918\n无能为力|0x1000000|14863\n无能为役|0x1000000|100\n无偏估计量|0x100000|0\n无偏无陂|0x1000000|100\n无偏无党|0x1000000|1358\n无偏无颇|0x1000000|100\n无偏无倚|0x1000000|100\n无平不颇|0x1000000|100\n无凭无据|0x800000|1070\n无期徒刑|0x800000|16640\n无其伦比|0x1000000|100\n无其奈何|0x1000000|100\n无奇不有|0x1000000|33829\n无气味|0x0000|381\n无千待万|0x1000000|100\n无千无万|0x1000000|100\n无牵无挂|0x1000000|38996\n无铅汽油|0x0000|44008\n无巧不成话|0x0008|1377\n无巧不成书|0x0008|942\n无亲无故|0x1000000|43530\n无情少面|0x1000000|100\n无情无彩|0x1000000|100\n无情无绪|0x1000000|100\n无情无义|0x1000000|36728\n无穷大|0x100000|887\n无穷尽|0x1000|471\n无穷无尽|0x1000000|19199\n无穷小|0x100000|1066\n无权无势|0x800000|991\n无拳无勇|0x1000000|1290\n无人过问|0x800000|32059\n无人机|0x100000|921\n无人迹|0x40000000|436\n无人驾驶|0x0008|487\n无人驾驶飞机|0x0008|390\n无人区|0x100000|24916\n无人售票|0x0008|0\n无人问津|0x1000000|25375\n无人之地|0x1000000|1076\n无人之境|0x1000000|893\n无任之禄|0x1000000|100\n无日无夜|0x8000000|1104\n无容身之地|0x0008|1208\n无容置疑|0x800000|1127\n无如奈何|0x1000000|100\n无如之何|0x1000000|1226\n无如之奈|0x1000000|100\n无伤大体|0x1000000|54980\n无伤大雅|0x1000000|39811\n无伤无臭|0x800000|100\n无上光荣|0x800000|942\n无神论|0x100000|19004\n无神论者|0x100000|835\n无生命|0x0000|472\n无声电影|0x0008|1\n无声片|0x100000|1189\n无声手枪|0x100000|912\n无声无臭|0x0100|52999\n无声无色|0x1000000|1025\n无声无息|0x1000000|19789\n无绳电话|0x100000|878\n无师自通|0x1000000|41815\n无施不可|0x1000000|100\n无施不效|0x1000000|100\n无时无刻|0x1000000|23672\n无始无终|0x800000|0\n无事不登三宝殿|0x400008|44539\n无事生非|0x1000000|37257\n无事生事|0x1000000|100\n无适无莫|0x800000|100\n无適无莫|0x1000000|100\n无束无拘|0x1000000|100\n无霜期|0x100000|45131\n无丝有线|0x1000000|100\n无私奉献|0x1000|783\n无私无畏|0x800000|24300\n无私有弊|0x1000000|1310\n无私有意|0x1000000|100\n无私之光|0x1000000|100\n无思无虑|0x1000000|1197\n无损于|0x100000|420\n无所不包|0x1000000|31345\n无所不备|0x1000000|100\n无所不及|0x1000000|1097\n无所不尽其极|0x0008|100\n无所不可|0x1000000|1194\n无所不能|0x1000000|31560\n无所不容|0x1000000|1144\n无所不通|0x1000000|1041\n无所不为|0x1000000|40460\n无所不晓|0x1000000|0\n无所不用其极|0x0008|44841\n无所不有|0x1000000|957\n无所不在|0x1000000|26006\n无所不知|0x1000000|36897\n无所不至|0x1000000|39396\n无所不作|0x1000000|100\n无所措手|0x1000000|100\n无所措手足|0x0008|49996\n无所错手足|0x0008|1498\n无所顾惮|0x1000000|100\n无所顾忌|0x1000000|27653\n无所回避|0x1000000|1375\n无所忌惮|0x1000000|1139\n无所忌讳|0x1000000|100\n无所可否|0x1000000|100\n无所容心|0x1000000|100\n无所施其伎|0x0008|1365\n无所施其技|0x0008|1349\n无所事事|0x1000000|21645\n无所适从|0x1000000|19685\n无所畏惮|0x1000000|100\n无所畏忌|0x1000000|1288\n无所畏惧|0x1000000|29573\n无所谓|0x800000|9139\n无所依归|0x1000000|100\n无所用心|0x1000000|38997\n无所用之|0x1000000|1241\n无所重轻|0x1000000|100\n无所作为|0x1000000|18350\n无天无日|0x1000000|100\n无条件|0x1000|11105\n无条件反射|0x0008|0\n无条件投降|0x0008|919\n无头案|0x100000|48531\n无头苍蝇|0x0000|53470\n无头告示|0x1000000|1540\n无头无尾|0x1000000|1079\n无土栽培|0x0000|37994\n无外乎|0x800000|844\n无万大千|0x1000000|100\n无往不复|0x1000000|1254\n无往不克|0x1000000|100\n无往不利|0x1000000|911\n无往不胜|0x1000000|48909\n无往而不胜|0x0008|1020\n无妄之福|0x0000|100\n无妄之祸|0x0000|100\n无妄之忧|0x1000000|100\n无妄之灾|0x1000000|51605\n无微不至|0x1000000|19755\n无为而成|0x1000000|1301\n无为而治|0x1000000|40246\n无为牛后|0x1000000|1347\n无为县|0x0040|1389\n无为之治|0x1000000|1225\n无为自成|0x1000000|100\n无为自化|0x1000000|100\n无尾熊|0x0008|1509\n无污染|0x40000000|585\n无息贷款|0x100000|1051\n无锡旅游|0x100000|385\n无锡市|0x0040|963\n无隙可乘|0x1000000|37995\n无下箸处|0x1000000|100\n无线电|0x100000|9304\n无线电报|0x100000|1172\n无线电波|0x100000|949\n无线电厂|0x100000|900\n无线电传真|0x100000|802\n无线电定位|0x0008|2\n无线电管理委员会|0x0020|1411\n无线电广播|0x0008|393\n无线电话|0x4000000|911\n无线电接收机|0x0008|0\n无线电视|0x100000|890\n无线电收音机|0x100000|970\n无线电台|0x800000|1007\n无线电通信|0x100000|768\n无线电通讯|0x0000|431\n无线电信标|0x0008|1\n无线耳机|0x100000|631\n无线连接|0x100000|489\n无线数据|0x100000|515\n无线台|0x100000|370\n无线通信|0x100000|775\n无线通讯|0x100000|524\n无线网络|0x100000|615\n无线智能|0x100000|503\n无限大|0x100000|805\n无限风光|0x100000|479\n无限公司|0x100000|849\n无限期|0x1000|781\n无限小|0x100000|1047\n无限性|0x100000|1042\n无限制|0x20000000|728\n无相无作|0x1000000|1540\n无懈可击|0x1000000|25376\n无心插柳柳成荫|0x0008|932\n无形损耗|0x800000|963\n无形无影|0x1000000|1108\n无形之中|0x800000|863\n无形之罪|0x1000000|100\n无形中|0x8000000|15693\n无形资产|0x0008|19378\n无性第二代|0x400000|0\n无性繁殖|0x0008|0\n无性婚姻|0x100000|441\n无性生殖|0x100000|1004\n无性杂交|0x100000|1163\n无兄盗嫂|0x1000000|100\n无休无了|0x1000000|100\n无休无止|0x800000|35895\n无休止|0x1000|24986\n无须乎|0x8000000|1269\n无须之祸|0x1000000|100\n无牙症|0x100000|0\n无涯之戚|0x0000|100\n无烟工业|0x0000|49997\n无烟火药|0x100000|1181\n无烟煤|0x100000|41351\n无言可对|0x1000000|1192\n无言以对|0x800000|26292\n无盐不解淡|0x0008|100\n无颜见江东父老|0x0008|1089\n无颜落色|0x1000000|100\n无颜以对|0x800000|1071\n无业游民|0x100000|788\n无一不备|0x1400000|0\n无一不精|0x400000|1\n无一不能|0x400000|0\n无一不是|0x400000|4\n无一不通|0x400000|0\n无一不知|0x1400000|0\n无一例外|0xc00000|26293\n无一是处|0x0000|52483\n无一幸免|0x400000|479\n无衣之赋|0x1000000|100\n无依无靠|0x1000000|29148\n无以复加|0x1000000|37258\n无以塞责|0x1000000|100\n无以为报|0x0000|49998\n无以为继|0x800000|1022\n无以为生|0x0000|51172\n无倚无靠|0x1000000|100\n无异议|0x0000|514\n无异于|0x800000|576\n无意间|0x8000000|22650\n无意识|0x8000000|19601\n无意义|0x0000|572\n无意之中|0x0000|520\n无意中|0x0000|751\n无翼而飞|0x1000000|100\n无翼鸟|0x100000|1239\n无印良品|0x100000|854\n无影灯|0x100000|50368\n无影无形|0x1000000|1065\n无影无踪|0x1000000|16523\n无庸讳言|0x1000000|1099\n无庸置辩|0x0000|100\n无庸置疑|0x800000|859\n无庸赘述|0x800000|1336\n无用功|0x100000|50752\n无用武之地|0x0008|866\n无忧无虑|0x1000000|19716\n无幽不烛|0x1000000|100\n无尤无怨|0x0000|100\n无有伦比|0x1000000|100\n无与比伦|0x1000000|100\n无与伦比|0x1000000|24254\n无与为比|0x1000000|100\n无欲则刚|0x1000000|860\n无冤无仇|0x800000|1046\n无原则|0x40000000|455\n无缘无故|0x1000000|19501\n无源网络|0x0008|0\n无源之水|0x800000|974\n无源之水，无本之木|0x0000|52484\n无远不届|0x1000000|100\n无远弗届|0x1000000|1000\n无怨无德|0x0000|100\n无怨无悔|0x800000|618\n无约束|0x0000|382\n无韵诗|0x100000|1332\n无则加勉|0x800000|1004\n无照经营|0x0000|484\n无遮大会|0x0000|100\n无征不信|0x0000|100\n无证据|0x40000000|438\n无政府|0x800000|850\n无政府主义|0x100000|24406\n无政府主义者|0x100000|406\n无政府状态|0x0000|427\n无症状|0x0000|477\n无知妄作|0x1000000|100\n无止境|0x1000|30107\n无止无休|0x800000|830\n无纸化|0x1000|886\n无置锥地|0x1000000|100\n无中生有|0x1000000|21738\n无昼无夜|0x1000000|100\n无助于|0x800000|477\n无资格|0x100000|1011\n无籽西瓜|0x100000|1077\n无踪无影|0x1000000|1079\n无足轻重|0x1000000|28143\n无足重轻|0x1000000|1217\n毋宁死|0x0000|392\n毋望之福|0x0000|100\n毋望之祸|0x0000|100\n毋为牛后|0x1000000|0\n毋翼而飞|0x1000000|100\n毋庸讳言|0x800000|22651\n毋庸置疑|0x800000|22905\n吴堡县|0x0040|1092\n吴川市|0x0040|1534\n吴带当风|0x1000000|1189\n吴江市|0x0040|1162\n吴牛喘月|0x1000000|1161\n吴旗县|0x0040|1128\n吴桥县|0x0040|1587\n吴市吹箫|0x1000000|100\n吴市之箫|0x1000000|100\n吴淞江|0x0040|1153\n吴头楚尾|0x0000|100\n吴下阿蒙|0x1000000|1090\n吴宇森|0x0080|827\n吴越同舟|0x1000000|1372\n吴忠市|0x0040|1549\n吴茱萸|0x100000|1082\n吾家千里驹|0x100000|1379\n吾谁与归|0x0000|100\n吾膝如铁|0x1000000|100\n吾自有处|0x0000|100\n芜湖市|0x0040|1182\n芜湖县|0x0040|1462\n芜菁甘蓝|0x0008|0\n梧凤之鸣|0x1000000|100\n梧鼠技穷|0x800000|100\n梧鼠五技|0x1400000|0\n梧鼠之技|0x1000000|100\n梧桐断角|0x1000000|100\n梧桐山|0x100000|452\n梧桐树|0x100000|793\n梧桐一叶落|0x400008|0\n梧桐雨|0x100000|428\n梧州市|0x0040|1333\n蜈蚣草|0x100000|1290\n五百年前是一家|0x400000|1\n五百万|0x600000|16\n五保户|0x500000|18183\n五倍子|0x4400000|47842\n五倍子虫|0x400000|1287\n五笔加加|0x400000|0\n五笔快打|0x400000|0\n五笔数码|0x400000|0\n五笔字型|0x500000|0\n五笔字型电脑|0x400000|0\n五笔字型发明人王永民教授|0x400000|0\n五笔字型计算机汉字输入技术|0x400000|0\n五边形|0x400000|1084\n五步成诗|0x1400000|0\n五步蛇|0x400000|1139\n五彩斑斓|0xc00000|2\n五彩缤纷|0x1400000|15517\n五彩池|0x100000|430\n五彩夺目|0x400000|0\n五彩纷呈|0xc00000|0\n五彩洒金|0x400000|0\n五彩石|0x100000|409\n五彩祥云|0x400000|0\n五彩纸屑|0x400000|0\n五藏六府|0x1400000|0\n五常市|0x400000|1610\n五车腹笥|0x1400000|0\n五尺竖子|0x1400000|0\n五尺童子|0x1400000|0\n五尺之童|0x1400000|0\n五尺之僮|0x1400000|0\n五次犯规|0x400000|0\n五大连池|0x400040|6\n五大连池市|0x400000|1658\n五大三粗|0x1400000|38378\n五代十国|0x400000|45414\n五代同堂|0xc00000|0\n五典三坟|0x1400000|0\n五点法注水|0x400000|0\n五鼎万钟|0x1400000|0\n五冬六夏|0x1400000|0\n五斗橱|0x4400000|47528\n五斗柜|0x500000|48910\n五斗折腰|0x400000|100\n五毒俱全|0x400000|1071\n五度五关|0x400000|0\n五短身材|0x1400000|44009\n五反运动|0x400000|0\n五方杂处|0x1400000|53472\n五方杂厝|0x1400000|0\n五分制|0x500000|0\n五风十雨|0x1400000|0\n五峰土家族自治县|0x400000|1710\n五福临门|0x400000|0\n五更天|0x0000|50753\n五谷不登|0x400000|0\n五谷不分|0x1400000|0\n五谷不升|0xc00000|0\n五谷丰登|0x1400000|35120\n五谷丰熟|0x1400000|0\n五谷杂粮|0x100000|37794\n五羖大夫|0x400000|100\n五榖丰收|0x400000|0\n五官端正|0x400000|0\n五官科|0x400008|49268\n五光十色|0x1400000|20253\n五鬼闹判|0x400000|100\n五好检察院|0x400000|0\n五合板|0x500000|0\n五合六聚|0xc00000|0\n五河县|0x400000|1544\n五侯蜡烛|0x1400000|0\n五侯七贵|0x1400000|0\n五胡乱华|0x400000|0\n五胡十六|0x400000|0\n五胡十六国|0x400000|1116\n五胡之乱|0x400000|0\n五湖四海|0x1400000|26294\n五虎上将|0x400000|0\n五花八门|0x1400000|14583\n五花大绑|0x500000|32939\n五花肉|0x4400000|51606\n五花杀马|0x1400000|0\n五华县|0x400000|1618\n五黄六月|0x1400000|0\n五积六受|0x1400000|0\n五急六受且难受|0x400000|0\n五脊六兽|0x1400000|0\n五加皮|0x4400000|0\n五家渠|0x400000|1608\n五家渠市|0x400000|0\n五讲四美|0x500000|38173\n五讲四美三热爱|0x400000|0\n五角大楼|0x400040|17398\n五角大厦|0x400000|8\n五角六张|0x1400000|0\n五角钱|0x400000|0\n五角星|0x500000|36378\n五角形|0x500000|0\n五金材料|0x100000|395\n五金产品|0x100000|478\n五金厂|0x100000|543\n五金店|0x400040|1\n五金工具|0x100000|580\n五金工艺|0x100000|394\n五金机械|0x100000|481\n五金件|0x100000|507\n五金建材|0x100000|448\n五金交电|0x100000|582\n五金模具|0x100000|535\n五金配件|0x100000|534\n五金塑料|0x100000|435\n五金行业|0x100000|436\n五金制品|0x100000|544\n五金装饰|0x100000|377\n五经扫地|0x400000|100\n五局上半|0x400000|0\n五局下半|0x400000|0\n五口之家|0x400000|2\n五劳七伤|0x1400000|0\n五雷轰顶|0x1400000|42564\n五里雾|0x500000|40898\n五里雾中|0x400000|100\n五莲县|0x400000|1512\n五粮液|0x4400000|26227\n五灵脂|0x4400000|0\n五陵豪气|0x1400000|0\n五陵年少|0x1400000|0\n五陵英少|0x1400000|0\n五零二落|0x1400000|0\n五零四散|0x1400000|0\n五楼住户|0x400000|0\n五路纵队|0x400000|0\n五轮真弓|0x400000|0\n五马分尸|0x1400000|46911\n五迷三道|0x400000|0\n五面体|0x400000|0\n五内俱崩|0xc00000|0\n五内俱焚|0x400000|0\n五内如焚|0xc00000|0\n五男二女|0x1400000|1\n五年计划|0x500000|11\n五七干校|0x0000|43777\n五千万|0x600000|15\n五抢六夺|0x1400000|0\n五亲六眷|0x1400000|0\n五权分立|0x400000|0\n五权宪法|0x400008|1\n五雀六燕|0xc00000|0\n五日京兆|0x1400000|0\n五日一石|0xc00000|0\n五卅惨案|0x400008|0\n五卅运动|0x400008|0\n五色缤纷|0x1400000|0\n五色无主|0x1400000|0\n五色相宣|0x400000|100\n五申三令|0x1400000|0\n五十八|0x600000|16\n五十步笑百步|0x400008|52025\n五十二|0x600000|18\n五十九|0x600000|6\n五十六|0x600000|7\n五十年一遇|0x400000|2\n五十七|0x600000|8\n五十三|0x600000|7\n五十四|0x600000|10\n五十万|0x600000|14\n五十五|0x600000|20\n五十一|0x600000|8\n五石六鹢|0x1400000|0\n五世其昌|0x1400000|0\n五世同堂|0xc00000|0\n五朔节|0x400000|0\n五四青年节|0x404000|50369\n五四时代|0x400000|1101\n五四运动|0x400008|16458\n五台山|0x400040|10\n五台县|0x400000|1624\n五体投诚|0x1400000|0\n五体投地|0x1400000|29467\n五位数|0x400000|1\n五味俱全|0xc00000|0\n五味瓶|0x400000|900\n五味杂陈|0x400000|0\n五味斋|0x100000|638\n五味子|0x4400000|44842\n五五波|0x400008|0\n五五草案|0x400000|0\n五五分帐|0x400000|0\n五弦琴|0x400000|1171\n五线谱|0x500000|40248\n五香豆|0x400000|0\n五香十味|0x400000|0\n五项原则|0x400000|5\n五心六意|0xc00000|0\n五星红旗|0x500000|11913\n五星级|0x20400000|25\n五星级酒店|0x100000|556\n五星上将|0x400000|0\n五行八作|0x1400000|48532\n五行并下|0x1400000|0\n五行俱下|0x1400000|0\n五行生克|0x400008|0\n五虚六耗|0xc00000|0\n五言长城|0x400000|100\n五言绝句|0x400008|0\n五言律诗|0x400008|0\n五言诗|0x500000|45416\n五颜六色|0x1400000|15668\n五一国际劳动节|0x404000|55833\n五一节|0x400008|37436\n五一劳动|0x400000|10\n五一劳动奖章|0x400000|1544\n五一劳动奖章获得者|0x400000|2\n五一劳动节|0x404000|3\n五音不全|0xc00000|0\n五音六律|0x400000|100\n五原县|0x400000|1052\n五月飞霜|0x400000|100\n五月份|0x4000|100\n五月花|0x400008|2\n五月节|0x404000|44257\n五月披裘|0xc00000|0\n五月粜新谷|0x400008|0\n五月雪|0x100000|523\n五蕴皆空|0x400000|100\n五脏俱全|0xc00000|2\n五脏六腑|0x1400000|26846\n五寨县|0x400000|1106\n五指毛桃|0x400008|0\n五指山|0x400040|0\n五指山区|0x500000|0\n五指山市|0x400000|1658\n五中全会|0x400008|11\n五重奏|0x500000|1\n五洲四海|0x1400000|47215\n五铢钱|0x500000|0\n五子登科|0x1400000|1\n五子棋|0x4400000|49630\n午餐费|0x100000|1077\n午餐肉|0x100000|52485\n午夜凶铃|0x100000|890\n妩媚多姿|0x1000000|890\n忤逆不孝|0x800000|1119\n武安市|0x0040|1456\n武不善作|0x1000000|100\n武昌起义|0x800000|1008\n武昌剩竹|0x1000000|100\n武昌鱼|0x100000|39397\n武城县|0x0040|1621\n武川县|0x0040|1092\n武打片|0x100000|933\n武当七侠|0x400000|0\n武当山|0x0040|1344\n武定县|0x0040|1048\n武断乡曲|0x0000|100\n武断专横|0x0000|100\n武冈市|0x0040|1558\n武工队|0x100000|42315\n武功县|0x0040|1047\n武官处|0x100000|1255\n武汉长江大桥|0x0008|1696\n武汉晨报|0x100000|473\n武汉大学|0x100000|610\n武汉公司|0x100000|385\n武汉理工|0x100000|513\n武汉理工大学|0x100000|491\n武汉热线|0x0008|1395\n武汉人|0x100000|889\n武汉三镇|0x400000|4\n武汉市|0x0040|978\n武汉市中级人民法院|0x0020|1715\n武汉晚报|0x100000|462\n武警部队|0x0020|1445\n武警总医院|0x100000|415\n武爵武任|0x1000000|100\n武林大会|0x100000|490\n武林高手|0x100000|564\n武隆县|0x0040|1342\n武鸣县|0x0040|1480\n武宁县|0x0040|1038\n武平县|0x0040|1590\n武器弹药|0x0000|447\n武器店|0x0040|0\n武器库|0x100000|990\n武器系统|0x100000|518\n武器装备|0x100000|759\n武强县|0x0040|1626\n武清区|0x0040|1405\n武山县|0x0040|1076\n武胜县|0x0040|1066\n武士刀|0x100000|481\n武士道|0x100000|41115\n武术队|0x100000|1057\n武术馆|0x100000|1019\n武术学校|0x100000|430\n武术用品|0x100000|369\n武威市|0x0040|1437\n武侠剧|0x100000|516\n武侠片|0x100000|856\n武侠书|0x100000|374\n武侠屋|0x100000|452\n武侠小说|0x100000|511\n武乡县|0x0040|1065\n武宣县|0x0040|1605\n武穴市|0x0040|1562\n武偃文修|0x0000|100\n武夷山|0x0040|1131\n武夷山市|0x0040|1382\n武义县|0x0040|1443\n武艺超群|0x0000|100\n武邑县|0x0040|1594\n武陟县|0x0040|1510\n武装部|0x100000|835\n武装部队|0x800000|922\n武装冲突|0x0000|472\n武装带|0x0000|44843\n武装到牙齿|0x0008|923\n武装斗争|0x0008|29\n武装警察|0x0000|477\n武装力量|0x800000|870\n武状元|0x100000|963\n侮辱性|0x100000|907\n捂盖子|0x1000|54982\n捂捂盖盖|0x0100|0\n碔砆混玉|0x1000000|100\n舞笔弄文|0x1000000|100\n舞弊营私|0x0000|100\n舞词弄札|0x1000000|100\n舞刀跃马|0x0000|100\n舞蹈班|0x100000|988\n舞蹈病|0x0008|1214\n舞蹈服装|0x100000|375\n舞蹈家|0x100000|867\n舞蹈系|0x100000|1021\n舞蹈学院|0x100000|473\n舞蹈演员|0x100000|877\n舞凤飞龙|0x1000000|100\n舞钢市|0x0040|1542\n舞龙队|0x100000|1149\n舞美设计|0x100000|1017\n舞弄文墨|0x1000000|100\n舞裙歌扇|0x1000000|100\n舞衫歌扇|0x1000000|1336\n舞狮队|0x100000|1130\n舞台灯光|0x100000|839\n舞台剧|0x100000|750\n舞台效果|0x0008|0\n舞文弄法|0x1000000|100\n舞文弄墨|0x1000000|40899\n舞文巧诋|0x1000000|1541\n舞文饰智|0x1000000|100\n舞文玩法|0x1000000|100\n舞榭歌楼|0x0000|100\n舞榭歌台|0x1000000|1098\n舞阳县|0x0040|1595\n舞爪张牙|0x1000000|100\n勿怠勿忘|0x0000|100\n勿施于人|0x800000|852\n勿忘我|0x100000|822\n勿忘在莒|0x800000|100\n勿谓言之不预|0x0008|0\n勿谓言之不预也|0x0008|100\n勿以恶小而为之|0x1000000|935\n勿庸置疑|0x800000|893\n务本抑末|0x0000|100\n务工人员|0x100000|572\n戊戌变法|0x0008|955\n戊戌政变|0x0008|1134\n物超所值|0x0000|566\n物腐虫生|0x1000000|100\n物阜民安|0x1000000|100\n物阜民丰|0x800000|54532\n物阜民康|0x1000000|100\n物归原主|0x1000000|953\n物候观测|0x0008|0\n物候学|0x0008|0\n物华天宝|0x1000000|920\n物化劳动|0x800000|1075\n物换星移|0x1000000|48170\n物极必反|0x1000000|40900\n物极必返|0x1000000|100\n物极将返|0x1000000|100\n物极则反|0x1000000|100\n物价表|0x100000|369\n物价部门|0x100000|548\n物价管理|0x0008|0\n物价局|0x100000|730\n物价水平|0x100000|457\n物价政策|0x0008|1\n物价指数|0x800000|31916\n物尽其用|0x1000000|38999\n物竞天择|0x1000000|912\n物离乡贵|0x1000000|100\n物理变化|0x100000|1080\n物理层|0x100000|480\n物理地址|0x100000|478\n物理光学|0x0008|0\n物理化学|0x800000|787\n物理教案|0x100000|384\n物理课|0x100000|893\n物理量|0x100000|986\n物理疗法|0x800000|1030\n物理试题|0x100000|446\n物理题|0x100000|405\n物理天平|0x0008|0\n物理系|0x100000|820\n物理性能|0x100000|466\n物理性质|0x100000|929\n物理学|0x100000|698\n物理学家|0x100000|797\n物理学奖|0x100000|440\n物理研究所|0x100000|492\n物力维艰|0x1000|100\n物流配送|0x100000|563\n物流园区|0x100000|505\n物美价廉|0x1000000|23955\n物品代码|0x100000|397\n物伤其类|0x1000000|49631\n物是人非|0x1000000|46608\n物我两忘|0x0000|428\n物稀为贵|0x1000000|100\n物业公司|0x0000|614\n物业管理|0x0008|31098\n物以类聚|0x1000000|44258\n物以群分|0x1000000|1158\n物以希为贵|0x0008|1179\n物以稀为贵|0x0008|874\n物议沸腾|0x0000|100\n物殷俗阜|0x1000000|100\n物有所值|0x800000|785\n物欲横流|0x800000|772\n物在人亡|0x0000|100\n物至则反|0x1000000|100\n物质刺激|0x0008|0\n物质基础|0x0000|543\n物质利益|0x0008|1\n物质生产|0x0008|0\n物质生产部门|0x0008|0\n物质生活|0x100000|778\n物质损耗|0x100000|1519\n物质文化|0x100000|549\n物质文化生活|0x0000|413\n物质文明|0x100000|5709\n物质文明建设|0x0000|423\n物质性|0x100000|963\n物资部|0x100000|1046\n物资公司|0x100000|470\n物资供应|0x0008|480\n物资交流|0x0008|1\n物资局|0x100000|1523\n物资贸易|0x100000|469\n物自体|0x0008|0\n误餐费|0x100000|1220\n误打误撞|0x1000000|833\n误动作|0x0000|394\n误付洪乔|0x800000|100\n误工费|0x100000|1007\n误国殃民|0x1000000|100\n误码率|0x100000|1051\n误人子弟|0x1000|35575\n误认为|0x1000|727\n误认颜标|0x0000|100\n误入歧途|0x800000|26492\n误以为|0x1000|597\n误作非为|0x1000000|100\n婺源县|0x0040|1562\n雾暗云深|0x1000000|100\n雾鬓风鬟|0x1000000|100\n雾鬓云鬟|0x1000000|100\n雾惨云愁|0x1000000|100\n雾沉沉|0x0100|52486\n雾阁云窗|0x1000000|100\n雾化器|0x100000|983\n雾灰色|0x100000|0\n雾集云合|0x1000000|100\n雾里观花|0x800000|0\n雾里看花|0x1000000|40250\n雾鳞云爪|0x1000000|100\n雾茫茫|0x0100|53474\n雾蒙蒙|0x0100|39814\n雾起云涌|0x1000000|100\n雾气腾腾|0x800000|946\n雾散云披|0x1000000|100\n雾释冰融|0x1000000|100\n雾锁烟迷|0x1000000|100\n雾腾腾|0x0100|41586\n雾信号器|0x100000|0\n雾兴云涌|0x1000000|100\n雾涌云蒸|0x1000000|100\n寤寐求之|0x1000000|1097\n夕寐宵兴|0x1000000|100\n夕惕朝乾|0x1000000|100\n夕惕若厉|0x1000000|1319\n夕阳红|0x0008|24466\n夕阳西下|0x800000|746\n西安电子科技大学|0x100000|481\n西安翻译学院|0x100000|403\n西安机票|0x100000|494\n西安交通|0x100000|546\n西安交通大学|0x100000|532\n西安理工|0x100000|445\n西安人|0x100000|935\n西安石油|0x100000|409\n西安市|0x0040|1024\n西安事变|0x0008|1386\n西安特价机票|0x100000|436\n西奥图三世|0x400080|0\n西柏林|0x0040|1094\n西柏坡|0x0040|1458\n西班牙|0x0040|827\n西班牙队|0x100000|467\n西班牙人|0x100000|804\n西班牙文|0x0008|1237\n西班牙语|0x0008|1094\n西半球|0x100000|32695\n西北部|0x2000000|782\n西北大学|0x100000|510\n西北地区|0x0040|1254\n西北方|0x100000|914\n西北风|0x100000|820\n西北工业大学|0x100000|513\n西北郊|0x100000|1047\n西北角|0x100000|858\n西北农林|0x100000|467\n西北欧|0x100000|1106\n西北师大|0x100000|385\n西北政法|0x100000|437\n西贝柳斯|0x0080|1079\n西伯利亚|0x0008|1238\n西部大开发|0x0008|81\n西部地区|0x0000|611\n西部旅游|0x100000|411\n西部片|0x0008|52027\n西部数据|0x100000|515\n西餐店|0x0040|0\n西餐厅|0x100000|710\n西藏拉萨|0x100000|515\n西藏路|0x0040|1055\n西藏旅游|0x100000|469\n西藏人|0x0000|422\n西藏自治区|0x0040|1277\n西昌市|0x0040|1544\n西城区|0x0040|1118\n西城秀树|0x0080|1\n西充县|0x0040|1104\n西畴县|0x0040|1079\n西出阳关无故人|0x0008|1031\n西窗剪烛|0x0000|100\n西村由纪江|0x0080|0\n西大街|0x100000|516\n西德尼|0x100000|415\n西点军校|0x0020|1464\n西番莲|0x100000|54984\n西方国家|0x0000|607\n西方化|0x1000|1016\n西方经济|0x100000|826\n西方经济学|0x100000|515\n西方净国|0x0000|100\n西方净土|0x1000000|1034\n西方人|0x100000|707\n西方文化|0x100000|539\n西方哲学|0x100000|474\n西非地区|0x0040|1563\n西丰县|0x0040|1099\n西风残照|0x0000|100\n西风东渐|0x800000|1084\n西风落叶|0x0000|100\n西凤酒|0x100000|1102\n西弗吉尼亚|0x0040|1677\n西弗吉尼亚州|0x0040|1125\n西服套装|0x100000|392\n西贡区|0x0040|1166\n西瓜刀|0x100000|1008\n西瓜皮|0x100000|884\n西瓜霜|0x100000|1060\n西瓜汁|0x0008|1517\n西瓜子|0x0008|1051\n西汉时代|0x0008|0\n西和县|0x0040|1100\n西河柳|0x0008|0\n西红柿|0x100000|11026\n西葫芦|0x100000|39618\n西华县|0x0040|1056\n西吉县|0x0040|1100\n西赆南琛|0x0000|100\n西拉普利|0x0080|0\n西里西亚|0x0040|1107\n西辽河|0x0040|1214\n西邻责言|0x0000|100\n西林县|0x0040|1050\n西陵峡|0x0040|1614\n西门豹|0x0080|1095\n西门子|0x20000|984\n西门子手机|0x0000|531\n西盟佤族自治县|0x0040|1733\n西米奥纳多|0x0080|0\n西米替丁|0x0008|1233\n西敏寺|0x0040|1043\n西奈半岛|0x0040|1091\n西南部|0x2000000|795\n西南财经大学|0x100000|471\n西南地区|0x0008|1250\n西南方|0x2000000|933\n西南非|0x0040|1338\n西南风|0x100000|1015\n西南交通大学|0x0000|481\n西南角|0x100000|488\n西南师大|0x100000|392\n西南师范大学|0x100000|461\n西南政法大学|0x100000|462\n西宁南路|0x0040|0\n西宁市|0x0040|1336\n西欧人|0x100000|1135\n西皮二黄|0x400000|0\n西颦东效|0x0000|100\n西平县|0x0040|1514\n西青区|0x0040|1398\n西撒哈拉|0x0040|1158\n西萨摩亚|0x0040|1133\n西塞罗|0x0080|0\n西沙群岛|0x0040|1552\n西山日薄|0x0000|100\n西食东眠|0x0000|100\n西式婚礼|0x100000|383\n西式早餐|0x100000|400\n西双版纳|0x0040|1139\n西台痛哭|0x0000|100\n西太后|0x0008|431\n西太平洋|0x0000|486\n西王母|0x0008|33049\n西乌珠穆沁旗|0x0040|1774\n西西里|0x0040|1294\n西西里岛|0x0040|1474\n西峡县|0x0040|1518\n西乡县|0x0040|1637\n西厢记|0x0008|1405\n西学东渐|0x800000|1017\n西雅图|0x0040|1208\n西亚特|0x100000|370\n西洋参|0x100000|42566\n西洋画|0x100000|31917\n西洋景|0x100000|42803\n西洋镜|0x100000|1032\n西洋乐器|0x0000|398\n西洋棋|0x0008|405\n西洋人|0x0000|426\n西洋式|0x100000|1125\n西药房|0x100000|1135\n西印度群岛|0x100000|1050\n西游记|0x0008|1050\n西元前|0x100000|856\n西直门|0x0040|1280\n西周时代|0x0008|0\n西装革履|0x800000|27077\n西子捧心|0x0000|100\n吸尘器|0x100000|36731\n吸顶灯|0x100000|53475\n吸毒者|0x100000|878\n吸风饮露|0x1000000|1183\n吸附剂|0x0008|53003\n吸附力|0x0008|1067\n吸附平衡|0x0008|0\n吸附水|0x0008|374\n吸附性|0x100000|1072\n吸浆虫|0x100000|1182\n吸墨纸|0x100000|53476\n吸声材料|0x0008|389\n吸湿性|0x0008|990\n吸收光谱|0x0008|1043\n吸收剂|0x0008|433\n吸收剂量|0x0008|0\n吸收率|0x100000|934\n吸收塔|0x0008|1118\n吸收体|0x0008|1229\n吸收系数|0x0008|0\n吸收性|0x0000|431\n吸水率|0x0008|1570\n吸水性|0x100000|44844\n吸水纸|0x0008|1079\n吸铁石|0x100000|49270\n吸新吐故|0x1000000|100\n吸血鬼|0x100000|42316\n吸烟客|0x100000|1533\n吸烟室|0x0008|1078\n吸烟者|0x100000|906\n吸引力|0x100000|5758\n吸引外资|0x100000|860\n吸油烟机|0x100000|923\n希伯来|0x0008|1421\n希伯来人|0x100000|1068\n希伯来文|0x100000|995\n希伯莱文|0x0080|0\n希尔伯特|0x0080|1079\n希尔伯特空间|0x0008|0\n希尔顿|0x0008|1026\n希腊化|0x100000|0\n希腊人|0x100000|849\n希腊神话|0x100000|528\n希腊文|0x0008|1467\n希腊语|0x0008|1331\n希腊字母|0x100000|857\n希奇古怪|0x1000000|860\n希区柯克|0x0080|910\n希世之宝|0x0008|1403\n希世之才|0x0000|100\n希世之珍|0x100000|1407\n希特勒|0x0080|1133\n希望工程|0x0008|12622\n希旨承颜|0x1000000|100\n昔天同庆|0x0000|40625\n昔阳县|0x0040|1050\n析辨诡词|0x1000000|100\n析辨诡辞|0x0000|100\n析辩诡辞|0x1000000|100\n析肝刿胆|0x1000000|0\n析肝沥悃|0x1000000|100\n析肝吐胆|0x1000000|100\n析骨而炊|0x1000000|100\n析圭担爵|0x1000000|100\n析圭儋爵|0x1000000|100\n析圭分组|0x1000000|100\n析珪判野|0x1000000|100\n析珪胙土|0x1000000|100\n析骸以爨|0x1000000|100\n析骸易子|0x1000000|100\n析毫剖厘|0x0000|100\n析毫剖芒|0x1000000|100\n析交离亲|0x1000000|100\n析精剖微|0x1000000|100\n析缕分条|0x0000|100\n析律贰端|0x1000000|100\n析律舞文|0x1000000|100\n析微察异|0x1000000|100\n析言破律|0x1000000|100\n析疑匡谬|0x1000000|100\n矽钢片|0x100000|408\n息烽县|0x0040|1072\n息迹静处|0x0000|100\n息交绝游|0x0000|100\n息怒停瞋|0x0000|100\n息黥补劓|0x1000000|100\n息事宁人|0x1000000|33986\n息息相关|0x1000000|11185\n息息相通|0x1000000|34397\n浠水县|0x0040|1614\n牺牲品|0x100000|19908\n牺牲者|0x100000|889\n悉尼奥运会|0x100000|494\n悉帅敝赋|0x1000000|100\n悉索敝赋|0x1000000|100\n悉索薄赋|0x1000000|100\n悉听尊便|0x800000|47530\n惜客好义|0x1000000|100\n惜老怜贫|0x1000000|54533\n惜墨如金|0x1000000|51174\n惜玉怜香|0x1000000|1286\n惜指失掌|0x1000000|100\n惜字如金|0x1000000|986\n淅川县|0x0040|1635\n淅淅沥沥|0x80000|759\n硒整流器|0x0008|0\n晰毛辨发|0x1000000|100\n犀顶龟文|0x0000|100\n犀角烛怪|0x1000000|100\n犀颅玉颊|0x0000|100\n犀牛角|0x0000|399\n犀牛望月|0x1000000|1135\n犀燃烛照|0x1000000|100\n犀照牛渚|0x1000000|100\n稀巴烂|0x0100|44010\n稀里呼噜|0x80000|0\n稀里糊涂|0x40000000|24727\n稀里哗啦|0x0100|37997\n稀里马虎|0x40000000|1069\n稀溜溜|0x0100|52029\n稀奇古怪|0x800000|28876\n稀缺资源|0x0000|488\n稀世之宝|0x0000|100\n稀释剂|0x1000|478\n稀释液|0x100000|1085\n稀土金属|0x100000|991\n稀土元素|0x100000|1092\n稀稀拉拉|0x0100|30001\n稀稀落落|0x0100|907\n稀稀疏疏|0x0100|965\n稀有金属|0x800000|40030\n稀有气体|0x100000|958\n稀有元素|0x800000|1147\n锡伯族|0x0008|46609\n锡箔纸|0x0000|382\n锡尔河|0x100000|1199\n锡金人|0x100000|0\n锡克教|0x100000|53478\n锡兰岛|0x100000|1319\n锡林郭勒盟|0x0040|1450\n锡林浩特|0x0040|942\n锡林浩特市|0x0040|1605\n熄灯号|0x100000|1115\n熙来攘往|0x1000000|37086\n熙熙壤壤|0x1000000|0\n熙熙攘攘|0x1000000|16978\n熙熙融融|0x0000|100\n嘻皮涎脸|0x1000000|100\n嘻皮笑脸|0x0100|36900\n嘻嘻哈哈|0x0100|17877\n嘻笑怒骂|0x1000000|960\n嬉皮士|0x100000|50754\n嬉皮笑脸|0x1000000|805\n嬉笑怒骂|0x1000000|43057\n膝盖骨|0x100000|1052\n膝关节|0x100000|34702\n膝行而前|0x0000|100\n膝行匍伏|0x1000000|100\n膝行蒲伏|0x1000000|100\n膝行肘步|0x0000|100\n膝阳关|0x0008|0\n膝痒搔背|0x1000000|100\n膝语蛇行|0x1000000|100\n歙漆阿胶|0x1000000|100\n羲皇上人|0x1000000|1290\n蟋蟀草|0x100000|1412\n鼷腹鹪枝|0x1000000|100\n鼷鼠饮河|0x1000000|100\n习而不察|0x1000|0\n习非成是|0x1000000|1324\n习故安常|0x0000|100\n习惯成自然|0x0008|898\n习惯法|0x100000|40668\n习惯化|0x0008|0\n习惯性|0x100000|23559\n习惯性流产|0x0008|422\n习惯于|0x1000|11298\n习水县|0x0040|1066\n习俗移性|0x1000000|100\n习题集|0x100000|788\n习焉不察|0x1000000|1216\n习以成俗|0x0000|100\n习以成性|0x1000000|1308\n习以为常|0x1000000|18312\n习用语|0x100000|1362\n习与性成|0x1000000|1338\n习字帖|0x100000|1182\n席不暇暖|0x1000000|1265\n席地而坐|0x800000|28962\n席地幕天|0x1000000|100\n席丰履厚|0x1000000|100\n席卷八荒|0x400000|100\n席卷而来|0x100000|794\n席卷而逃|0x800000|1368\n席卷天下|0x1000000|1095\n席卷一空|0x400000|991\n席履丰厚|0x1000000|100\n席门蓬巷|0x1000000|100\n席门穷巷|0x1000000|100\n席梦思|0x100000|32824\n席梦思床|0x0000|424\n席慕容|0x100000|440\n席上之珍|0x0000|100\n席薪枕块|0x0000|100\n席珍待聘|0x1000000|100\n袭故蹈常|0x0000|100\n袭击者|0x100000|963\n袭人故智|0x1000000|100\n媳妇儿|0x100000|25104\n洗兵牧马|0x1000000|100\n洗舱机|0x100000|0\n洗肠涤胃|0x1000000|100\n洗涤剂|0x100000|27808\n洗涤灵|0x0000|54986\n洗涤器|0x100000|1120\n洗涤液|0x100000|1057\n洗耳恭听|0x1000000|37795\n洗耳拱听|0x1000000|100\n洗发膏|0x100000|1148\n洗发剂|0x100000|54987\n洗发精|0x0000|53479\n洗发水|0x100000|41587\n洗发液|0x100000|433\n洗垢匿瑕|0x0000|100\n洗垢求瘢|0x1000000|100\n洗垢求瑕|0x1000000|100\n洗垢索瘢|0x1000000|100\n洗脚上船|0x1000000|100\n洗劫一空|0xc00000|11\n洗颈就戮|0x1000000|100\n洗脸盆|0x100000|889\n洗眉刷目|0x1000000|100\n洗煤厂|0x100000|960\n洗面奶|0x0000|47844\n洗面器|0x0008|1243\n洗染店|0x100000|55834\n洗手不干|0x800000|43059\n洗手奉公|0x1000000|100\n洗手奉职|0x1000000|100\n洗手间|0x100000|24728\n洗髓伐毛|0x0000|100\n洗头发|0x0000|433\n洗碗机|0x100000|43060\n洗物槽|0x0008|0\n洗洗涮涮|0x0100|1039\n洗洗澡|0x100000|1036\n洗心涤虑|0x1000000|1305\n洗心革面|0x1000000|39001\n洗心换骨|0x0000|100\n洗心回面|0x1000000|100\n洗心自新|0x1000000|0\n洗雪逋负|0x0000|100\n洗衣板|0x100000|52490\n洗衣店|0x100000|35122\n洗衣房|0x100000|854\n洗衣费|0x0008|1168\n洗衣粉|0x100000|21926\n洗衣服|0x0000|595\n洗衣工|0x100000|1160\n洗衣机|0x100000|10525\n洗冤录|0x0008|418\n洗澡盆|0x0008|1117\n洗濯磨淬|0x1000000|100\n徙善远罪|0x1000000|100\n徙薪曲突|0x1000000|100\n徙宅忘妻|0x1000000|100\n喜不自禁|0x1000000|34112\n喜不自胜|0x1000000|962\n喜冲冲|0x0100|1389\n喜出望外|0x1000000|14477\n喜从天降|0x1000000|44542\n喜德县|0x0040|1166\n喜极而泣|0x800000|845\n喜见于色|0x0000|100\n喜结连理|0x800000|979\n喜结良缘|0x800000|37440\n喜剧电影|0x100000|485\n喜剧片|0x100000|38782\n喜剧之王|0x100000|873\n喜马拉雅|0x0040|1261\n喜马拉雅山|0x0040|1379\n喜玛拉雅|0x0008|1398\n喜眉笑眼|0x1000000|53998\n喜怒哀乐|0x100000|18047\n喜怒无常|0x1000000|40251\n喜气洋洋|0x1000000|15439\n喜上加喜|0x800000|1056\n喜上眉梢|0x1000000|31918\n喜树碱|0x100000|1039\n喜闻乐见|0x1000000|10954\n喜笑颜开|0x1000000|26296\n喜新厌故|0x1000000|100\n喜新厌旧|0x1000000|34540\n喜行于色|0x0000|100\n喜形于色|0x1000000|26929\n喜洋洋|0x0100|35729\n喜溢眉梢|0x0000|100\n喜盈门|0x0000|52491\n喜盈盈|0x0100|48917\n喜忧参半|0x800000|839\n喜跃抃舞|0x1000000|100\n喜逐颜开|0x1000000|1291\n喜滋滋|0x0100|27494\n戏班子|0x100000|1037\n戏报子|0x100000|1364\n戏彩娱亲|0x0000|100\n戏蝶游蜂|0x0000|100\n戏馆子|0x100000|0\n戏剧化|0x1000|802\n戏剧家|0x100000|933\n戏剧界|0x100000|1033\n戏剧团|0x0008|1163\n戏剧系|0x100000|1064\n戏剧性|0x100000|13755\n戏剧学院|0x100000|529\n戏曲界|0x100000|39619\n戏曲片|0x100000|49633\n戏园子|0x100000|27414\n系风捕景|0x1000000|100\n系风捕影|0x1000000|100\n系列报道|0x0000|544\n系列产品|0x0000|732\n系列丛书|0x0000|552\n系列化|0x1000|23560\n系列剧|0x100000|45135\n系列片|0x100000|28580\n系列小说|0x0008|6\n系铃人|0x0000|40252\n系马埋轮|0x0000|100\n系统安全|0x100000|630\n系统抽样|0x0008|0\n系统发育|0x0008|0\n系统分析|0x0008|545\n系统分析员|0x100000|908\n系统工程|0x100000|7028\n系统故障|0x100000|498\n系统管理|0x100000|3\n系统管理员|0x100000|595\n系统化|0x1000|19604\n系统还原|0x0000|532\n系统疾病|0x100000|515\n系统集成|0x100000|623\n系统集成商|0x100000|503\n系统兼容性|0x0000|390\n系统科学|0x0008|0\n系统漏洞|0x100000|497\n系统论|0x100000|963\n系统盘|0x0000|518\n系统配置|0x0000|400\n系统启动|0x0000|552\n系统软件|0x0008|3\n系统升级|0x0000|510\n系统试井|0x0008|0\n系统托盘|0x100000|509\n系统维护|0x0000|573\n系统误差|0x0008|0\n系统性|0x20000000|14625\n系统性红斑狼疮|0x0000|432\n系统学|0x100000|397\n系统资源|0x0000|406\n系统总线|0x100000|501\n系主任|0x100000|767\n细胞壁|0x100000|1023\n细胞分裂|0x0008|503\n细胞骨架|0x0008|0\n细胞核|0x100000|964\n细胞膜|0x100000|897\n细胞内|0x100000|528\n细胞培养|0x0008|448\n细胞器|0x100000|1120\n细胞融合|0x0008|0\n细胞色素氧化酶|0x0008|0\n细胞生物学|0x0008|903\n细胞松弛素|0x0008|0\n细胞体|0x100000|1127\n细胞系|0x100000|1077\n细胞学|0x100000|978\n细胞液|0x100000|1204\n细胞因子|0x100000|956\n细胞质|0x100000|1048\n细胞周期|0x0008|0\n细胞株|0x100000|1097\n细胞状|0x100000|0\n细川直美|0x0080|0\n细大不捐|0x1000000|1341\n细大不逾|0x1000000|0\n细高挑儿|0x800000|52492\n细活儿|0x0000|46309\n细节决定|0x100000|494\n细节性|0x100000|1032\n细嚼慢咽|0x800000|48537\n细菌肥料|0x0008|1036\n细菌武器|0x100000|48918\n细菌性|0x100000|522\n细菌学|0x0008|1049\n细菌战|0x100000|31795\n细粒度|0x0000|368\n细溜溜|0x0000|54989\n细毛羊|0x100000|1126\n细密画|0x100000|1186\n细木工|0x100000|931\n细皮嫩肉|0x0008|42568\n细纱机|0x100000|414\n细声细气|0x1000000|39399\n细水长流|0x1000000|39184\n细条条|0x0100|1417\n细微末节|0x800000|1037\n细细品味|0x100000|524\n细伢子|0x100000|1263\n细腰蜂|0x0000|47217\n细针密缕|0x1000000|1541\n细枝末节|0x1000000|35005\n郤诜丹桂|0x1000000|100\n郤诜高第|0x1000000|100\n阋墙谇帚|0x1000000|100\n阋墙御侮|0x0000|100\n舄乌虎帝|0x0000|100\n隙大墙坏|0x1000000|100\n隙穴之窥|0x1000000|100\n呷醋节帅|0x1000000|100\n虾兵蟹将|0x1000000|54000\n瞎马临池|0x0000|100\n瞎三话四|0x1400000|0\n瞎说八道|0x400000|52035\n瞎指挥|0x0000|35730\n瞎子摸象|0x800000|54536\n瞎子摸鱼|0x0000|100\n匣剑帷灯|0x1000000|100\n匣里龙吟|0x1000000|100\n匣子枪|0x100000|55498\n侠肝义胆|0x100000|52036\n侠客游|0x100000|379\n狎雉驯童|0x1000000|100\n峡江县|0x0040|1101\n柙虎樊熊|0x1000000|100\n狭路相逢|0x1000000|32315\n狭心症|0x100000|1289\n狭义相对论|0x0008|1025\n遐尔闻名|0x0000|100\n遐迩闻名|0x1000000|1116\n遐迩一体|0x1400000|0\n遐迩著闻|0x1000000|100\n遐方绝壤|0x1000000|100\n遐方绝域|0x1000000|100\n遐州僻壤|0x1000000|100\n瑕不掩瑜|0x1000000|48920\n瑕不揜瑜|0x1000000|100\n瑕瑜互见|0x1000000|54990\n霞光万道|0x800000|1114\n霞明玉映|0x1000000|100\n霞浦县|0x0040|1584\n霞裙月帔|0x1000000|100\n霞思天想|0x1000000|100\n霞思云想|0x1000000|100\n霞蔚云蒸|0x1000000|100\n霞友云朋|0x1000000|100\n霞姿月韵|0x1000000|100\n下巴颏儿|0x100000|36383\n下班时间|0x0000|502\n下阪走丸|0x1000000|100\n下坂走丸|0x1000000|100\n下半场|0x4000|28675\n下半截|0x0000|37088\n下半年|0x4000|5961\n下半旗|0x1000|41816\n下半晌|0x4000|0\n下半身|0x100000|705\n下半时|0x4000|17366\n下半天|0x4000|36733\n下半夜|0x4000|31228\n下半月|0x100000|43531\n下辈子|0x4000|30979\n下本儿|0x0000|41119\n下比有余|0x800000|100\n下笔成篇|0x1000000|100\n下笔成文|0x0000|100\n下笔成章|0x1000000|1274\n下笔千言|0x1000000|100\n下笔如神|0x0000|100\n下笔有神|0x0000|100\n下不来|0x1000|27078\n下不来台|0x800000|1005\n下不了台|0x800000|36901\n下不为例|0x1000000|33444\n下不着地|0x800000|947\n下部结构|0x0008|0\n下场门|0x100000|52495\n下车泣罪|0x1000000|1368\n下车伊始|0x1000000|53480\n下车之始|0x1000000|100\n下车作威|0x0000|100\n下大力气|0x0000|14251\n下定决心|0x800000|617\n下定义|0x1000|900\n下毒手|0x1000|31561\n下飞机|0x0000|540\n下腹部|0x0000|487\n下岗工人|0x0000|524\n下岗人员|0x0000|477\n下岗职工|0x0008|607\n下个月|0x0000|598\n下工夫|0x1000|39402\n下功夫|0x1000|784\n下馆子|0x0000|39817\n下合穴|0x0008|0\n下狠心|0x800000|37796\n下花园|0x0040|1040\n下划线|0x0008|823\n下回分解|0x1000000|852\n下基层|0x1000|897\n下级生|0x100000|437\n下脚货|0x100000|1398\n下脚料|0x100000|37797\n下结论|0x1000|805\n下井投石|0x0000|100\n下九流|0x500000|48923\n下酒菜|0x0000|44013\n下决心|0x1000|7388\n下礼拜|0x0000|43532\n下里巴人|0x1000000|42806\n下陵上替|0x1000000|100\n下楼梯|0x1000|529\n下落不明|0x800000|19125\n下马冯妇|0x1000000|100\n下马看花|0x1000000|1334\n下马威|0x100000|32444\n下毛毛雨|0x0000|54003\n下坡路|0x800000|40670\n下气怡色|0x1000000|100\n下气怡声|0x1000000|100\n下乔木入幽谷|0x0008|100\n下乔迁谷|0x1000000|100\n下乔入幽|0x1000000|100\n下情上达|0x1000000|1169\n下丘脑|0x0008|986\n下塞上聋|0x0000|100\n下三烂|0x500000|55947\n下三滥|0x0000|55947\n下水道|0x100000|21016\n下台阶|0x0000|33333\n下台一鞠躬|0x400000|0\n下推自动机|0x0008|0\n下晚儿|0x4000|0\n下无插针之地|0x0008|1540\n下无立锥之地|0x0008|100\n下下棋|0x100000|1057\n下弦月|0x100000|982\n下星期|0x100000|32316\n下星期一|0x100000|424\n下学上达|0x1000000|1347\n下眼皮|0x0000|34542\n下一步|0x100000|6710\n下一次|0x400000|42\n下一代|0x500000|8539\n下一个|0x400000|767\n下一阶段|0x400000|547\n下议院|0x100000|33696\n下意识|0x100000|10648\n下影线|0x100000|1050\n下游产品|0x100000|467\n下愚不移|0x0000|100\n下雨天|0x100000|684\n下载工具|0x100000|613\n下载量|0x0008|1144\n下肢骨|0x100000|1281\n下中农|0x0000|34243\n下逐客令|0x800000|1039\n下属单位|0x100000|901\n下着雨|0x0000|515\n下自成蹊|0x1000000|1052\n下自成行|0x1000000|0\n吓一跳|0x400000|568\n夏虫不可以语冰|0x0008|100\n夏虫朝菌|0x0000|100\n夏虫疑冰|0x1000000|100\n夏虫语冰|0x1000000|1193\n夏鼎商彝|0x1000000|100\n夏河县|0x0040|1072\n夏候鸟|0x100000|1284\n夏季奥运会|0x100000|461\n夏津县|0x0040|1558\n夏枯草|0x100000|1023\n夏令时|0x100000|53007\n夏令营|0x100000|12587\n夏炉冬扇|0x1000000|100\n夏洛蒂|0x100000|401\n夏热握火|0x800000|100\n夏日可畏|0x1000000|100\n夏商周|0x4000|968\n夏时制|0x0008|1083\n夏熟作物|0x100000|1265\n夏天无|0x0008|0\n夏威夷|0x0040|1120\n夏威夷群岛|0x0040|1058\n夏威夷州|0x0040|1097\n夏五郭公|0x1400000|0\n夏邑县|0x0040|1603\n夏雨雨人|0x1000000|1368\n厦华公司|0x0020|1362\n厦门大学|0x100000|573\n厦门岛|0x100000|384\n厦门房产|0x100000|374\n厦门航空|0x100000|478\n厦门人|0x100000|977\n厦门日报|0x100000|488\n厦门市|0x0040|1040\n仙风道格|0x1000000|100\n仙风道骨|0x1000000|47846\n仙风道气|0x1000000|100\n仙鹤草|0x100000|1124\n仙后座|0x100000|1097\n仙及鸡犬|0x1000000|1282\n仙居县|0x0040|1472\n仙客来|0x0008|50759\n仙灵脾|0x0008|0\n仙露明珠|0x1000000|1310\n仙人鞭|0x100000|1507\n仙人洞|0x100000|450\n仙人球|0x100000|47847\n仙人掌|0x100000|19201\n仙人指路|0x0008|1579\n仙山楼阁|0x1000000|1282\n仙山琼阁|0x1000000|1151\n仙台病毒|0x0008|0\n仙桃草|0x100000|1494\n仙桃市|0x0040|1352\n仙仙琼阁|0x0040|0\n仙液琼浆|0x1000000|100\n仙游县|0x0040|1506\n仙姿佚貌|0x1000000|100\n仙姿玉貌|0x1000000|100\n仙姿玉色|0x1000000|100\n仙姿玉质|0x1000000|100\n先拔头筹|0x800000|977\n先得我心|0x800000|100\n先睹为快|0x1000000|40253\n先断后闻|0x1000000|100\n先发制人|0x1000000|15272\n先锋队|0x100000|9441\n先锋论坛|0x100000|508\n先锋模范作用|0x0000|568\n先公后私|0x800000|1210\n先号后庆|0x1000000|100\n先号后笑|0x1000000|100\n先河后海|0x1000000|100\n先花后果|0x1000000|100\n先见之明|0x1000000|35733\n先进单位|0x0000|618\n先进典型|0x100000|883\n先进分子|0x0000|457\n先进个人|0x0000|584\n先进工作者|0x0008|541\n先进集体|0x0008|590\n先进技术|0x0000|638\n先进人物|0x0000|464\n先进设备|0x100000|756\n先进生产者|0x0000|370\n先进事迹|0x100000|782\n先进事迹材料|0x100000|492\n先进文化|0x100000|575\n先进武器|0x100000|467\n先进性|0x100000|629\n先进性教育|0x100000|803\n先进性教育活动|0x100000|746\n先进性教育心得|0x100000|435\n先决条件|0x100000|814\n先来后到|0x1000000|46311\n先来先上|0x0008|1536\n先来先下|0x0008|1387\n先礼后兵|0x1000000|47535\n先了一步|0x400000|0\n先难后获|0x1000000|100\n先遣队|0x100000|31684\n先驱蝼蚁|0x1000000|100\n先驱者|0x100000|875\n先人后己|0x1000000|1112\n先入为主|0x1000000|34544\n先入之见|0x800000|1157\n先生们|0x0000|539\n先声夺人|0x1000000|29681\n先声后实|0x1000000|100\n先圣先师|0x1000000|1414\n先天不足|0x1000000|23041\n先天下之忧而忧|0x0008|924\n先天性|0x100000|18600\n先头部队|0x100000|931\n先我着鞭|0x800000|100\n先悉必具|0x0000|100\n先下手为强|0x0008|862\n先小人后君子|0x0008|1099\n先笑后号|0x1000000|100\n先行官|0x100000|45137\n先行后闻|0x1000000|100\n先行一步|0x400000|10\n先行者|0x100000|20423\n先验论|0x0008|1198\n先意承颜|0x1000000|100\n先意承旨|0x1000000|100\n先意承指|0x1000000|100\n先意承志|0x1000000|54004\n先意希旨|0x1000000|100\n先忧后乐|0x1000000|1248\n先予执行|0x0008|0\n先斩后奏|0x1000000|38383\n先知先觉|0x1000000|37261\n先自隗始|0x0000|100\n先走一步|0x400000|2\n纤尘不染|0x1000000|925\n纤介之失|0x0000|100\n纤芥之疾|0x1000000|100\n纤毛虫|0x100000|1244\n纤维板|0x100000|46611\n纤维蛋白|0x0008|711\n纤维蛋白原|0x0008|399\n纤维光学|0x0008|0\n纤维化|0x1000|884\n纤维结构|0x0008|0\n纤维瘤|0x100000|49635\n纤维素|0x100000|26784\n纤维素酶|0x100000|386\n纤维植物|0x100000|1192\n纤维制品|0x100000|444\n纤维状|0x100000|402\n纤悉无遗|0x1000000|100\n掀风鼓浪|0x1000000|1533\n掀拳裸袖|0x1000000|100\n掀天动地|0x1000000|100\n掀天揭地|0x1000000|1231\n掀天斡地|0x1000000|100\n鲜蹦活跳|0x1000000|100\n鲜车健马|0x1000000|100\n鲜车怒马|0x1000000|100\n鲜粉红色|0x100000|0\n鲜红色|0x100000|851\n鲜花蛋糕|0x100000|418\n鲜花店|0x100000|532\n鲜花礼品|0x100000|512\n鲜花网|0x100000|524\n鲜克有终|0x1000000|1150\n鲜廉寡耻|0x1000000|1224\n鲜绿色|0x100000|1115\n鲜眉亮眼|0x1000000|100\n鲜奶油|0x0008|458\n鲜牛奶|0x100000|479\n鲜为人知|0x1000000|18447\n鲜血淋漓|0x1000000|849\n鲜艳夺目|0x1000000|955\n鲜艳艳|0x0100|0\n鲜衣良马|0x1000000|100\n鲜衣美食|0x1000000|100\n鲜衣怒马|0x1000000|1102\n闲不住|0x800000|877\n闲曹冷局|0x1000000|100\n闲愁万种|0x1000000|1231\n闲非闲是|0x1000000|100\n闲工夫|0x100000|35436\n闲花埜草|0x1000000|100\n闲花野草|0x1000000|1261\n闲见层出|0x0000|100\n闲磕牙|0x1000|1231\n闲鸥野鹭|0x1000000|100\n闲情别致|0x1000000|100\n闲情逸趣|0x1000000|1168\n闲情逸志|0x1000000|1092\n闲情逸致|0x1000000|37798\n闲神野鬼|0x1000000|1382\n闲是闲非|0x1000000|100\n闲邪存诚|0x1000000|1208\n闲言长语|0x1000000|100\n闲言淡语|0x1000000|100\n闲言冷语|0x1000000|0\n闲言泼语|0x1000000|100\n闲言碎语|0x1000000|41355\n闲言闲语|0x1000000|957\n闲言赘语|0x1000000|0\n闲云孤鹤|0x1000000|1090\n闲云野鹤|0x1000000|48926\n闲杂人等|0x0000|100\n闲杂人员|0x100000|48176\n弦乐队|0x100000|54993\n弦乐器|0x100000|51176\n弦乐器组|0x100000|0\n弦乐四重奏|0x400000|0\n弦切角|0x100000|1324\n弦外有音|0x1000000|1218\n弦外之响|0x0000|100\n弦外之意|0x100000|100\n弦外之音|0x1000000|32185\n弦无虚发|0x1000000|100\n贤才君子|0x100000|0\n贤良方正|0x1000000|1156\n贤母良妻|0x1000000|1509\n贤内助|0x100000|35291\n贤妻良母|0x1000000|31229\n贤身贵体|0x1000000|100\n贤贤易色|0x1000000|1214\n咸丰县|0x0040|1558\n咸风蛋雨|0x1000000|100\n咸津津|0x0100|0\n咸宁市|0x0040|1467\n咸水湖|0x100000|49636\n咸五登三|0x1400000|0\n咸鸭蛋|0x100000|908\n咸阳市|0x0040|1386\n咸阳一炬|0x400000|100\n咸与惟新|0x1000000|100\n咸与维新|0x1000000|1300\n咸嘴淡舌|0x800000|100\n挦毛捣鬓|0x1000000|100\n挦绵扯絮|0x1000000|100\n挦章撦句|0x1000000|100\n涎脸饧眼|0x0000|100\n涎脸涎皮|0x1000000|100\n涎眉邓眼|0x1000000|100\n涎皮赖脸|0x1000000|54537\n涎皮涎脸|0x1000000|100\n涎言涎语|0x1000000|100\n涎玉沫珠|0x1000000|100\n涎着脸|0x1000|41818\n衔悲茹恨|0x0000|100\n衔胆栖冰|0x0000|100\n衔华佩实|0x1000000|100\n衔环结草|0x1000000|100\n衔橛之变|0x1000000|100\n衔橛之虞|0x1000000|100\n衔枚疾走|0x0000|100\n衔沙填海|0x1000000|100\n衔石填海|0x1000000|100\n衔尾相随|0x800000|100\n衔玉贾石|0x0000|100\n衔冤负屈|0x1000000|100\n嫌长道短|0x1000000|100\n嫌好道歹|0x0000|100\n嫌好道恶|0x1000000|100\n嫌好道歉|0x1000000|100\n嫌贫爱富|0x1000000|943\n嫌疑犯|0x100000|20483\n嫌疑人|0x100000|4774\n显而易见|0x800000|12184\n显赫一时|0x1400000|0\n显花植物|0x0008|1336\n显露头角|0x1000000|1190\n显亲扬名|0x1000000|1357\n显色性|0x100000|0\n显山露水|0x1000000|913\n显身手|0x0000|19605\n显示屏|0x100000|16957\n显示屏尺寸|0x100000|540\n显示器|0x100000|15518\n显示装置|0x0008|0\n显微阐幽|0x1000000|100\n显微结构|0x0008|0\n显微镜|0x100000|12804\n显象管|0x100000|1022\n显像管|0x100000|34245\n显姓扬名|0x1000000|100\n显影剂|0x100000|1146\n显影液|0x100000|1092\n显影纸|0x100000|1271\n显祖荣宗|0x1000000|100\n显祖扬名|0x1000000|100\n显祖扬宗|0x1000000|100\n险象环生|0x800000|33987\n险遭不测|0x800000|1202\n险阻艰难|0x0000|100\n跣足科头|0x0000|100\n县处级|0x20000000|961\n县级市|0x0040|37628\n县太爷|0x100000|30981\n县团级|0x20000000|1210\n县委书记|0x0000|589\n县政府|0x100000|5247\n县政协|0x100000|960\n县知事|0x100000|1140\n现场版|0x100000|488\n现场报道|0x100000|849\n现场表演|0x0000|493\n现场会|0x100000|13647\n现场会议|0x0000|487\n现场舞曲|0x100000|481\n现场直播|0x100000|706\n现场总线|0x100000|490\n现成饭|0x100000|53483\n现成话|0x100000|1322\n现大洋|0x100000|41820\n现代版|0x100000|511\n现代服务业|0x100000|532\n现代感|0x100000|832\n现代工业|0x0008|4\n现代汉语|0x0008|795\n现代化|0x1000|1058\n现代化建设|0x0000|645\n现代化教学|0x100000|453\n现代建筑|0x100000|516\n现代教育|0x0008|602\n现代教育技术|0x100000|537\n现代科技|0x100000|771\n现代科学|0x0008|2\n现代科学技术|0x0000|489\n现代快报|0x100000|508\n现代内存|0x100000|393\n现代农业|0x100000|763\n现代女性|0x100000|532\n现代派|0x100000|17731\n现代企业|0x100000|653\n现代企业制度|0x100000|561\n现代汽车|0x100000|536\n现代人|0x100000|615\n现代日语|0x100000|415\n现代社会|0x100000|623\n现代诗|0x100000|459\n现代诗歌|0x100000|481\n现代史|0x100000|842\n现代市场经济|0x100000|456\n现代文|0x100000|486\n现代文明|0x0000|537\n现代文学|0x100000|641\n现代舞|0x100000|24149\n现代戏|0x100000|17762\n现代信息技术|0x100000|512\n现代性|0x100000|843\n现代修正主义|0x0008|0\n现代医学|0x0008|537\n现代远程教育|0x100000|548\n现代战争|0x0000|496\n现代主义|0x100000|767\n现代资本主义|0x0000|383\n现而今|0x800000|1105\n现货供应|0x100000|782\n现货交易|0x0008|0\n现阶段|0x100000|669\n现金结算|0x0008|1\n现金流|0x100000|783\n现金流量|0x100000|564\n现金账|0x100000|1343\n现买现卖|0x800000|1228\n现如今|0x4000|759\n现身说法|0x1000000|19606\n现实生活|0x0000|675\n现实性|0x100000|19005\n现实意义|0x0000|569\n现实主义|0x100000|7191\n现实主义者|0x100000|429\n现世报|0x0000|49637\n现世现报|0x1000000|100\n现象界|0x100000|0\n现象学|0x100000|939\n现行法|0x100000|39621\n现行犯|0x100000|50764\n现洋钱|0x100000|1536\n现役军人|0x0000|485\n现有人口|0x100000|2\n现在式|0x100000|0\n现在完成时|0x0000|379\n现政府|0x100000|1039\n现钟不打|0x1000000|100\n现钟弗打|0x1000000|100\n线虫病|0x0008|1\n线粒体|0x100000|987\n线路板|0x100000|47219\n线路图|0x100000|47220\n线膨胀|0x0008|1182\n线坯子|0x100000|1259\n线手套|0x0000|53008\n线速度|0x0008|1014\n线性变换|0x0008|0\n线性插值|0x0008|0\n线性代数|0x100000|833\n线性调制|0x0008|0\n线性方程|0x0008|869\n线性方程组|0x100000|408\n线性规划|0x0008|1019\n线性化|0x0008|1088\n线性集成电路|0x0008|0\n线性失真|0x0008|0\n线性网络|0x0008|0\n线性型|0x100000|0\n线胀系数|0x800000|1320\n线装本|0x0000|50377\n线装书|0x100000|32317\n限产压库|0x800000|1537\n限定词|0x0008|1115\n限定性|0x100000|1104\n限幅放大器|0x0008|0\n限幅器|0x100000|0\n限位器|0x0008|0\n限制级|0x0008|556\n限制器|0x0000|413\n限制性|0x100000|876\n宪兵队|0x100000|1045\n陷落计中|0x0000|100\n陷入僵局|0x800000|904\n陷身囹圄|0x1000000|0\n陷于缧绁|0x0000|100\n馅儿饼|0x100000|53484\n献计献策|0x800000|873\n献可替否|0x1000000|100\n献曝之忱|0x1000000|100\n献身四化|0x400000|0\n献替可否|0x1000000|100\n献血者|0x100000|449\n献殷勤|0x1000|30215\n腺苷酸|0x100000|1238\n腺苷酸环化酶|0x100000|1290\n腺细胞|0x100000|1279\n乡巴佬|0x100000|858\n乡巴佬儿|0x0000|35007\n乡壁虚造|0x1000000|100\n乡城县|0x0040|1165\n乡村服|0x100000|0\n乡村规划|0x0008|1\n乡村化|0x100000|0\n乡村人口|0x0008|1\n乡村音乐|0x100000|500\n乡规民约|0x800000|44263\n乡利倍义|0x1000000|100\n乡宁县|0x0040|1059\n乡书难寄|0x0000|100\n乡土气息|0x800000|29469\n乡土味|0x100000|1088\n乡土文学|0x100000|1103\n乡下佬|0x0000|45423\n乡下人|0x100000|8615\n乡镇财政|0x100000|451\n乡镇长|0x100000|1006\n乡镇党委|0x100000|480\n乡镇干部|0x100000|474\n乡镇企业|0x100000|711\n乡镇企业局|0x100000|938\n乡镇卫生院|0x100000|480\n乡镇政府|0x100000|476\n乡政府|0x100000|866\n相安无事|0x1000000|26579\n相安相受|0x1000000|100\n相比较|0x0000|611\n相比之下|0x800000|651\n相差无几|0x800000|807\n相差显微镜|0x0008|0\n相持不下|0x1000000|33585\n相待如宾|0x1000000|100\n相当于|0x1000|9411\n相得甚欢|0x0000|100\n相得益章|0x1000000|0\n相得益彰|0x1000000|16436\n相等于|0x1000|2\n相电流|0x0000|393\n相电压|0x100000|1188\n相对而言|0x800000|754\n相对高度|0x100000|1073\n相对孔径|0x0008|0\n相对论|0x100000|787\n相对湿度|0x800000|852\n相对数|0x0008|372\n相对速度|0x0008|0\n相对无言|0x1000000|854\n相对误差|0x0008|0\n相对性|0x100000|932\n相对于|0x0000|689\n相对真理|0x800000|44264\n相对主义|0x100000|1024\n相反地|0x0000|511\n相反数|0x100000|1195\n相反相成|0x1000000|52040\n相逢恨晚|0x1000000|1046\n相逢狭路|0x0000|100\n相夫教子|0x1000000|847\n相符合|0x1000|516\n相辅而行|0x1000000|53009\n相辅相成|0x1000000|11356\n相干光|0x0008|0\n相干检波器|0x100000|0\n相干性|0x0008|0\n相顾失色|0x800000|1209\n相关规定|0x100000|610\n相关检测器|0x0008|0\n相关内容|0x0000|894\n相关器|0x0008|0\n相关系数|0x100000|2\n相关性|0x100000|755\n相互促进|0x0000|526\n相互关系|0x0008|548\n相互理解|0x0000|498\n相互依存|0x0000|498\n相互依赖|0x0000|466\n相互之间|0x800000|751\n相互作用|0x800000|762\n相机包|0x100000|470\n相机而动|0x1000000|1180\n相机行事|0x1000000|45736\n相煎何急|0x800000|1101\n相煎太急|0x0000|100\n相见恨晚|0x1000000|40907\n相结合|0x1000|755\n相惊伯有|0x1000000|100\n相敬如宾|0x1000000|43536\n相聚一刻|0x400000|0\n相克相济|0x0008|1285\n相空间|0x0008|0\n相控阵|0x100000|1034\n相貌堂堂|0x0000|100\n相门有相|0x0000|100\n相女配夫|0x0000|100\n相片儿|0x100000|0\n相片判读|0x0008|0\n相片纸|0x100000|400\n相平衡|0x0008|404\n相切相磋|0x1000000|100\n相亲相爱|0x800000|32571\n相去几何|0x0000|100\n相去甚远|0x800000|809\n相去无几|0x800000|1243\n相去悬殊|0x0000|100\n相忍为国|0x1000|1360\n相容性|0x100000|901\n相濡以沫|0x1000000|31686\n相生相成|0x1000000|100\n相生相克|0x1000|45733\n相声小品|0x100000|587\n相失交臂|0x1000000|100\n相时而动|0x0000|100\n相视而笑|0x0000|100\n相视莫逆|0x800000|100\n相适应|0x0000|635\n相鼠有皮|0x0000|100\n相帅成风|0x1000000|100\n相思病|0x100000|43783\n相思豆|0x0008|55505\n相思鸟|0x100000|48543\n相思树|0x100000|936\n相思子|0x0008|1182\n相似形|0x100000|1183\n相似性|0x100000|876\n相提并论|0x1000000|18807\n相同点|0x100000|907\n相忘形骸|0x1000000|100\n相位差|0x100000|1113\n相位角|0x0008|1225\n相位滞后|0x0008|0\n相习成风|0x0000|100\n相形见绌|0x1000000|32318\n相形见拙|0x1000000|1015\n相形失色|0x1000000|1132\n相形之下|0x800000|28582\n相呴相济|0x1000000|100\n相呴以湿|0x1000000|100\n相沿成俗|0x0000|100\n相沿成习|0x800000|0\n相一致|0x400000|560\n相依为命|0x1000000|20484\n相依相偎|0x800000|854\n相移常数|0x0008|0\n相移网络|0x0008|0\n相因相生|0x1000000|100\n相映成辉|0x800000|1020\n相映成趣|0x1000000|33697\n相与为一|0x400000|100\n相知恨晚|0x1000000|1224\n相知有素|0x1000000|100\n相庄如宾|0x1000000|100\n香槟酒|0x100000|933\n香饽饽|0x0008|3\n香草美人|0x1000000|1151\n香车宝马|0x1000000|1099\n香榧子|0x100000|1288\n香附子|0x100000|1236\n香馥馥|0x0100|0\n香干儿|0x0000|54540\n香港大公报|0x0000|437\n香港迪斯尼|0x100000|517\n香港电台|0x100000|482\n香港电影|0x100000|598\n香港队|0x0020|1600\n香港股市|0x100000|507\n香港黄金|0x100000|474\n香港黄金十年|0x100000|456\n香港回归|0x0000|503\n香港机场|0x100000|462\n香港基本法|0x0008|1095\n香港脚|0x0008|980\n香港旅游|0x100000|518\n香港媒体|0x100000|533\n香港人|0x100000|572\n香港商标|0x100000|455\n香港市民|0x100000|469\n香港特别行政区|0x0040|1298\n香港特区|0x100000|544\n香港艺人|0x100000|448\n香港游|0x100000|429\n香港政府|0x100000|506\n香港中文|0x100000|510\n香格里拉|0x0008|1040\n香格里拉县|0x0040|1654\n香瓜汁|0x100000|0\n香闺绣阁|0x1000000|100\n香河县|0x0040|1563\n香花供养|0x800000|1271\n香火不绝|0x0000|100\n香火因缘|0x800000|100\n香火姻缘|0x0000|100\n香加皮|0x4000000|1296\n香娇玉嫩|0x1000000|0\n香蕉水|0x100000|1104\n香精香料|0x100000|445\n香精油|0x0008|482\n香料厂|0x100000|371\n香轮宝骑|0x1000000|100\n香培玉琢|0x0000|100\n香喷喷|0x0100|23893\n香扑扑|0x0100|1537\n香气扑鼻|0x800000|855\n香水品牌|0x100000|435\n香水瓶|0x0008|839\n香水味|0x100000|488\n香香甜甜|0x0100|1104\n香象渡河|0x1000000|1368\n香象绝流|0x1000000|100\n香消玉减|0x1000000|100\n香消玉碎|0x1000000|100\n香消玉损|0x1000000|100\n香消玉殒|0x1000000|913\n香烟盒|0x100000|973\n香艳小说|0x100000|401\n香药脆梅|0x1000000|100\n香云纱|0x100000|52041\n湘鄂赣|0x0008|1157\n湘方言|0x0000|56004\n湘妃竹|0x100000|46315\n湘夫人|0x100000|378\n湘潭市|0x0040|1304\n湘潭县|0x0040|1515\n湘乡市|0x0040|1533\n湘阴县|0x0040|1603\n襄城县|0x0040|1048\n襄樊市|0x0040|1291\n襄汾县|0x0040|1611\n襄垣县|0x0040|1061\n镶宝石|0x40000000|369\n镶黄旗|0x0040|1039\n详情度理|0x1000000|100\n详细参数|0x100000|541\n详细地址|0x100000|660\n详细规划|0x100000|495\n详细内容|0x100000|832\n详细情况|0x0000|623\n详细信息|0x100000|882\n详细资料|0x100000|761\n详详细细|0x0100|1031\n详星拜斗|0x1000000|100\n祥风时雨|0x1000000|100\n祥麟威凤|0x1000000|100\n祥云瑞气|0x0000|100\n祥云县|0x0040|1065\n享乐主义|0x100000|852\n享清福|0x800000|908\n享享福|0x100000|1075\n享有盛誉|0x800000|807\n享之千金|0x0000|100\n享帚自珍|0x1000000|100\n响彻云表|0x1000000|100\n响彻云际|0x1000000|100\n响彻云霄|0x1000000|41357\n响答影随|0x1000000|100\n响当当|0x0100|25223\n响遏行云|0x1000|54008\n响和景从|0x1000000|100\n响水县|0x0040|1482\n响尾蛇|0x100000|44852\n响应函数|0x0008|0\n想办法|0x0000|700\n想不到|0x800000|4930\n想不开|0x800000|27242\n想不起来|0x0000|574\n想当初|0x800000|740\n想当年|0x800000|694\n想当然|0x1000000|28147\n想得到|0x800000|22907\n想得开|0x800000|37802\n想方设法|0x1000|8667\n想起来|0x0000|692\n想前顾后|0x800000|0\n想入非非|0x1000000|24803\n想望丰采|0x1000000|100\n想望风采|0x1000000|100\n想望风褱|0x1000000|100\n想象力|0x100000|10408\n想像力|0x100000|735\n想一想|0x400000|7\n想知道|0x0000|773\n向壁虚构|0x1000000|100\n向壁虚造|0x1000000|100\n向地性|0x100000|1429\n向风慕义|0x0000|100\n向后转|0x0000|426\n向火乞儿|0x1000000|100\n向平之原|0x1000000|100\n向平之愿|0x800000|100\n向前看|0x0000|503\n向钱看|0x0000|35735\n向日葵|0x100000|23042\n向若而叹|0x1000000|100\n向上爬|0x0000|38386\n向上一路|0x1400000|0\n向声背实|0x1000000|1503\n向天而唾|0x1000000|100\n向西南|0x40000000|464\n向下兼容|0x0000|456\n向心力|0x100000|23721\n向阳花|0x100000|54010\n向右转|0x0000|477\n向隅而泣|0x1000000|55508\n巷尾街头|0x0000|100\n巷议街谈|0x1000000|100\n项背相望|0x1000000|1360\n项城市|0x0040|1472\n项目编号|0x100000|553\n项目法人|0x100000|482\n项目风险|0x100000|440\n项目负责人|0x0000|540\n项目经理|0x100000|628\n项目联展|0x100000|542\n项目前期|0x100000|484\n项庄舞剑|0x1000000|1094\n象鼻虫|0x0008|54541\n象齿焚身|0x1000000|100\n象耕鸟耘|0x1000000|100\n象简乌纱|0x0000|100\n象脚鼓|0x0000|51613\n象煞有介事|0x0000|100\n象山县|0x0040|1501\n象声词|0x100000|1065\n象限四分树|0x400000|0\n象限仪|0x100000|0\n象形文字|0x800000|35736\n象形字|0x100000|50767\n象牙海岸|0x0040|1651\n象牙色|0x100000|1006\n象牙塔|0x100000|31453\n象牙之塔|0x1000000|38787\n象牙质|0x100000|1315\n象银一样|0x400000|0\n象征性|0x100000|16192\n象征意义|0x0000|513\n象征主义|0x0008|0\n象徵主义|0x100000|0\n象州县|0x0040|1622\n象箸玉杯|0x1000000|100\n像模像样|0x1000000|34116\n像煞有介事|0x0008|1313\n像心称意|0x1000000|100\n像心如意|0x1000000|100\n像心适意|0x0000|100\n像心像意|0x1000000|100\n像形夺名|0x1000000|100\n像样儿|0x100000|1201\n橡饭菁羹|0x1000000|100\n橡胶坝|0x100000|399\n橡胶板|0x100000|422\n橡胶材料|0x100000|402\n橡胶厂|0x100000|462\n橡胶磁|0x100000|371\n橡胶地板|0x100000|406\n橡胶垫|0x100000|429\n橡胶管|0x100000|428\n橡胶机械|0x100000|445\n橡胶件|0x100000|407\n橡胶林|0x100000|1177\n橡胶轮胎|0x100000|408\n橡胶密封圈|0x100000|376\n橡胶模具|0x100000|370\n橡胶配件|0x100000|370\n橡胶圈|0x100000|412\n橡胶树|0x100000|1092\n橡胶套|0x0008|1168\n橡胶鞋|0x100000|367\n橡胶园|0x100000|1163\n橡胶制品|0x100000|559\n橡胶助剂|0x100000|400\n橡皮擦|0x100000|54011\n橡皮船|0x100000|1194\n橡皮钉子|0x1000000|100\n橡皮筏|0x0000|49279\n橡皮膏|0x100000|45424\n橡皮管|0x100000|1143\n橡皮筋|0x100000|36220\n橡皮泥|0x100000|51614\n橡皮圈|0x100000|55835\n橡皮树|0x100000|1122\n橡皮糖|0x0000|55836\n橡皮艇|0x100000|43299\n橡皮图章|0x4000000|46034\n橡皮线|0x100000|1377\n橡茹藿歠|0x1000000|100\n枭俊禽敌|0x1000000|100\n枭蛇鬼怪|0x1000000|1427\n枭视狼顾|0x1000000|100\n枭首示众|0x1000000|1214\n枭心鹤貌|0x1000000|100\n削波器|0x100000|0\n削草除根|0x1000000|100\n削发披缁|0x1000000|100\n削尖脑袋|0x800000|1015\n削木为吏|0x1000000|100\n削铁如泥|0x1000000|52516\n削铁无声|0x1000000|100\n削职为民|0x0000|100\n削趾适屦|0x0000|100\n削株掘根|0x1000000|100\n削足适履|0x1000000|43546\n哓哓不休|0x800000|1535\n哓音瘏口|0x1000000|100\n枵腹从公|0x1000000|0\n枵腹终朝|0x1000000|0\n骁勇善战|0x1000000|917\n宵旰焦劳|0x0000|100\n宵旰图治|0x0000|100\n宵旰忧劳|0x0000|100\n宵旰忧勤|0x0000|100\n宵衣旰食|0x1000000|50768\n宵鱼垂化|0x1000000|100\n消愁解闷|0x0000|100\n消愁释愦|0x0000|100\n消磁器|0x0008|1174\n消毒柜|0x0000|43785\n消毒剂|0x100000|25225\n消毒器|0x100000|452\n消毒碗柜|0x100000|1041\n消毒药|0x0008|1105\n消毒液|0x0008|1430\n消防安全|0x0000|603\n消防泵|0x100000|448\n消防产品|0x100000|453\n消防车|0x100000|24303\n消防队|0x100000|21647\n消防队员|0x100000|903\n消防法|0x100000|423\n消防工程|0x100000|473\n消防工作|0x100000|501\n消防官兵|0x100000|522\n消防局|0x100000|498\n消防器材|0x100000|728\n消防设备|0x100000|478\n消防设施|0x0000|508\n消防栓|0x100000|45737\n消防水带|0x0008|0\n消防梯|0x0008|0\n消防艇|0x100000|1318\n消防系统|0x100000|453\n消防员|0x100000|831\n消防支队|0x100000|510\n消费额|0x100000|928\n消费合作社|0x100000|374\n消费基金|0x100000|100\n消费结构|0x0008|17763\n消费类|0x100000|793\n消费量|0x100000|839\n消费品|0x100000|6678\n消费品市场|0x0000|484\n消费群|0x100000|839\n消费市场|0x0000|587\n消费水平|0x0008|797\n消费税|0x100000|22599\n消费心理学|0x0008|1044\n消费信贷|0x100000|513\n消费行为|0x100000|846\n消费者|0x100000|492\n消费者权益|0x100000|586\n消费者协会|0x0008|560\n消费资料|0x100000|940\n消耗量|0x100000|855\n消耗品|0x100000|855\n消耗热|0x100000|1529\n消耗战|0x0008|985\n消化不良|0x0008|559\n消化道|0x100000|23833\n消化率|0x0008|1101\n消化酶|0x100000|1029\n消化吸收|0x0000|554\n消化系统|0x800000|775\n消化腺|0x100000|1127\n消化液|0x0000|445\n消火栓|0x100000|37803\n消火栓箱|0x0008|0\n消极怠工|0x800000|982\n消极性|0x100000|1111\n消声灭迹|0x1000000|1183\n消声匿迹|0x1000000|973\n消声匿影|0x1000000|100\n消声器|0x100000|53488\n消声室|0x0008|0\n消石灰|0x100000|1239\n消委会|0x100000|976\n消息报|0x100000|942\n消息灵通|0x800000|896\n消息灵通人士|0x0000|456\n消息面|0x100000|539\n消息人士|0x100000|535\n消息盈冲|0x1000000|100\n消息盈虚|0x1000000|1332\n消旋天线|0x0008|0\n消炎剂|0x0008|1292\n消炎片|0x100000|1075\n消炎痛|0x0008|401\n消炎药|0x100000|856\n消遥自在|0x1000000|1119\n消音器|0x100000|52042\n逍遥法外|0x1000000|25224\n逍遥津|0x100000|412\n逍遥派|0x100000|954\n逍遥事外|0x1000000|100\n逍遥丸|0x100000|368\n逍遥物外|0x1000000|1352\n逍遥子|0x100000|473\n逍遥自得|0x1000000|1224\n逍遥自娱|0x1000000|100\n逍遥自在|0x1000000|32572\n鸮鸣鼠暴|0x1000000|100\n鸮鸟生翼|0x1000000|100\n鸮啼鬼啸|0x1000000|100\n鸮心鹂舌|0x0000|100\n鸮心鸝舌|0x1000000|100\n萧伯纳|0x0080|1494\n萧曹避席|0x0000|100\n萧规曹随|0x1000000|53490\n萧郎陌路|0x0000|100\n萧墙祸起|0x0000|100\n萧然物外|0x0000|100\n硝苯地平|0x0008|1085\n硝化甘油|0x800000|49640\n硝化细菌|0x100000|1154\n硝化作用|0x0008|0\n硝基苯|0x100000|962\n硝镪水|0x100000|1398\n硝酸铵|0x100000|1063\n硝酸钡|0x0008|1187\n硝酸钙|0x100000|1151\n硝酸甘油|0x100000|48181\n硝酸钾|0x100000|1023\n硝酸锂|0x0008|0\n硝酸锰|0x0008|1240\n硝酸钠|0x100000|1082\n硝酸铅|0x0008|0\n硝酸铁|0x0008|1213\n硝酸铜|0x0008|0\n硝酸纤维素|0x0008|0\n硝酸纤维素膜|0x0008|0\n硝酸盐|0x100000|970\n硝酸银|0x100000|1061\n硝烟滚滚|0x800000|1138\n硝烟弥漫|0x800000|852\n硝云弹雨|0x1000000|100\n销毁骨立|0x0000|100\n销魂荡魄|0x1000000|1092\n销魂夺魄|0x1000000|100\n销神流志|0x1000000|100\n销声避影|0x1000000|100\n销声敛迹|0x1000000|100\n销声匿迹|0x1000000|21497\n销声匿影|0x1000000|0\n销售部|0x100000|861\n销售策略|0x100000|491\n销售处|0x0000|50378\n销售点|0x100000|826\n销售额|0x100000|6338\n销售费用|0x0008|2\n销售价格|0x0000|614\n销售科|0x100000|919\n销售量|0x100000|698\n销售商|0x100000|709\n销售收入|0x100000|668\n销售网|0x100000|819\n销售学|0x0008|0\n销售业|0x100000|1049\n销售业务|0x100000|780\n销售一空|0xc00000|33335\n销售员|0x100000|743\n销售主管|0x100000|500\n销售总额|0x0008|6\n销项税额|0x0008|0\n潇洒风流|0x0000|100\n潇洒走一回|0x400000|0\n潇湘晨报|0x100000|489\n潇湘书院|0x100000|520\n箫韶九成|0x400000|100\n霄壤之别|0x1000000|51182\n霄壤之殊|0x0000|100\n霄鱼垂化|0x1000000|100\n嚣张一时|0x400000|100\n崤函之固|0x1000000|1379\n淆乱视听|0x0000|100\n小把戏|0x100000|484\n小霸王|0x0008|1274\n小白菜|0x100000|32445\n小白脸|0x0000|547\n小白脸儿|0x100000|1194\n小白鼠|0x0008|490\n小百货|0x100000|39405\n小宝宝|0x100000|32827\n小保姆|0x0000|501\n小报告|0x100000|50007\n小本经营|0x1000000|48182\n小本生意|0x800000|897\n小扁豆|0x0008|0\n小便池|0x100000|933\n小便器|0x0008|1014\n小便宜|0x100000|30658\n小辫儿|0x100000|21648\n小辫子|0x100000|27080\n小标题|0x100000|945\n小冰期|0x4000|1316\n小不点|0x800000|786\n小不点儿|0x100000|1016\n小不忍则乱大谋|0x0008|997\n小步舞|0x0000|51183\n小步舞曲|0x0000|432\n小部分|0x100000|615\n小菜一碟|0x400000|42319\n小仓库|0x0000|52043\n小册子|0x100000|13428\n小抄儿|0x100000|54542\n小城镇|0x100000|592\n小惩大诫|0x1000000|100\n小吃部|0x100000|1520\n小吃店|0x100000|32061\n小吃摊|0x100000|941\n小齿轮|0x0008|382\n小冲突|0x0000|384\n小丑跳梁|0x1000000|1279\n小厨房|0x0000|458\n小聪明|0x100000|31349\n小打小闹|0x800000|29576\n小大人儿|0x0000|46036\n小大由之|0x800000|1237\n小刀会|0x0008|51617\n小道儿消息|0x0000|55510\n小道理|0x100000|1067\n小道消息|0x1000000|782\n小德出入|0x0000|100\n小地主|0x0000|409\n小弟弟|0x0000|607\n小点心|0x0000|469\n小东西|0x100000|671\n小动作|0x100000|26422\n小肚鸡肠|0x1000000|48183\n小肚子|0x100000|40909\n小队长|0x800000|889\n小额贷款|0x100000|503\n小恩小惠|0x1000000|42808\n小儿科|0x100000|32320\n小儿麻痹|0x0008|914\n小儿麻痹症|0x100000|37631\n小儿子|0x100000|790\n小而全|0x0000|29155\n小而言之|0x0000|54543\n小发明|0x0000|448\n小房间|0x0000|529\n小飞侠|0x100000|823\n小分队|0x100000|11045\n小夫妻|0x0000|34545\n小妇人|0x100000|843\n小富即安|0x800000|982\n小钢炮|0x100000|48184\n小个儿|0x100000|1140\n小个子|0x100000|821\n小公共|0x0000|44266\n小姑独处|0x800000|1170\n小姑娘|0x100000|580\n小姑子|0x100000|38387\n小广播|0x100000|54014\n小广告|0x0000|23137\n小规模|0x100000|769\n小规模集成电路|0x0008|0\n小鬼当家|0x0000|481\n小鬼头|0x100000|481\n小国寡民|0x1000000|1038\n小孩儿|0x100000|3584\n小孩子|0x100000|506\n小海龟|0x0000|406\n小号手|0x100000|404\n小合唱|0x100000|1062\n小和尚|0x0000|569\n小盒子|0x0000|493\n小黑麦|0x0008|0\n小红参|0x0008|0\n小胡子|0x100000|888\n小虎队|0x0020|1301\n小户人家|0x100000|40039\n小花脸|0x100000|1148\n小皇帝|0x0000|27654\n小黄鱼|0x100000|47855\n小茴香|0x0008|1011\n小汇报|0x100000|0\n小火花|0x0000|369\n小伙儿|0x0000|29060\n小伙计|0x0000|27159\n小伙子|0x100000|3304\n小集团|0x100000|44019\n小己得失|0x0000|100\n小家碧玉|0x1000000|39406\n小家电|0x100000|35581\n小家伙|0x100000|18481\n小家鼠|0x100000|1337\n小家庭|0x100000|22519\n小家子|0x100000|1150\n小家子气|0x40000000|36384\n小键盘|0x100000|839\n小脚女人|0x1000000|1090\n小轿车|0x100000|13618\n小姐大赛|0x100000|495\n小金库|0x100000|17541\n小金县|0x0040|1084\n小津安二郎|0x400080|0\n小九九|0x500000|43063\n小酒馆|0x0000|484\n小舅子|0x100000|32828\n小康村|0x100000|1044\n小康社会|0x0008|723\n小康生活|0x0000|459\n小康之家|0x100000|964\n小客车|0x100000|47856\n小口袋|0x0008|1611\n小口径|0x100000|969\n小喇叭|0x0000|506\n小老虎|0x100000|21\n小老婆|0x100000|22431\n小老头|0x0000|502\n小礼拜|0x100000|1272\n小礼拜室|0x100000|0\n小里小气|0x0000|53012\n小廉大法|0x0000|100\n小廉曲谨|0x1000000|100\n小两口|0x100000|23293\n小灵通|0x100000|20836\n小灵通铃声|0x100000|502\n小流域|0x0000|17579\n小龙女|0x100000|613\n小龙虾|0x0000|497\n小笼包|0x0008|1350\n小炉儿匠|0x100000|1307\n小炉匠|0x0000|50769\n小鹿触心头|0x0008|100\n小萝卜|0x100000|46920\n小萝卜头|0x0008|1645\n小买卖|0x100000|826\n小麦粉|0x0008|994\n小卖部|0x100000|26297\n小馒头|0x100000|458\n小毛病|0x0000|516\n小毛驴|0x100000|456\n小毛头|0x100000|960\n小茅屋|0x0000|420\n小门脸儿|0x0000|26010\n小米加步枪|0x100000|1004\n小米面|0x100000|1229\n小米粥|0x100000|903\n小蜜蜂|0x0008|567\n小面包|0x0000|423\n小拇指|0x100000|36736\n小木屋|0x0000|538\n小男孩|0x0000|673\n小妮子|0x100000|753\n小年轻|0x0000|49642\n小年夜|0x4000|944\n小娘子|0x100000|994\n小鸟依人|0x1000000|780\n小妞儿|0x100000|18071\n小牛皮|0x0000|424\n小农经济|0x100000|969\n小农意识|0x100000|1022\n小女孩|0x100000|535\n小女子|0x100000|686\n小跑步|0x0000|435\n小朋友|0x100000|7719\n小品文|0x100000|33589\n小平头|0x0000|47857\n小瀑布|0x0000|417\n小企业|0x100000|702\n小气鬼|0x100000|48185\n小气候|0x100000|31797\n小汽车|0x100000|11684\n小器易盈|0x0080|1530\n小前提|0x100000|1173\n小钱柜|0x100000|1365\n小桥流水|0x100000|760\n小巧玲珑|0x1000000|30004\n小青龙汤|0x0008|0\n小青年|0x100000|19608\n小青瓦|0x0008|1180\n小秋收|0x100000|1541\n小球性|0x100000|0\n小球藻|0x100000|1108\n小区业主|0x100000|517\n小区域|0x100000|451\n小曲儿|0x100000|28583\n小屈大申|0x1000000|100\n小屈大伸|0x0000|100\n小圈子|0x100000|26709\n小泉纯一郎|0x400080|105\n小人得志|0x1000000|46037\n小人儿|0x100000|26580\n小人儿书|0x100000|39623\n小人书|0x100000|880\n小人物|0x100000|18099\n小日子|0x100000|36737\n小三和弦|0x400000|0\n小山羊|0x0000|422\n小商贩|0x100000|27655\n小商品|0x100000|16912\n小商品经济|0x100000|816\n小生产|0x100000|24669\n小生产者|0x100000|1166\n小生境|0x100000|1238\n小生意|0x0000|507\n小狮子|0x0000|497\n小石子|0x0000|507\n小时工|0x100000|468\n小时候|0x4000|6369\n小时了了|0x1000000|1100\n小市民|0x100000|29577\n小事化了|0x0008|1005\n小试锋芒|0x1000000|55511\n小手术|0x100000|453\n小手小脚|0x0100|51184\n小手指|0x0000|36065\n小受大走|0x1000000|1330\n小叔子|0x100000|33699\n小树枝|0x0000|426\n小数点|0x100000|38788\n小数位|0x100000|1103\n小水电|0x0000|37094\n小说集|0x100000|552\n小说家|0x100000|762\n小说频道|0x100000|546\n小说全集|0x100000|417\n小说书|0x100000|1098\n小说书库|0x100000|610\n小说月报|0x100000|977\n小说作品|0x100000|471\n小四喜|0x400000|0\n小苏打|0x0008|54544\n小算盘|0x100000|33186\n小摊儿|0x0000|26645\n小摊贩|0x100000|420\n小淘气|0x100000|51185\n小提琴|0x100000|12244\n小提琴曲|0x100000|400\n小提琴手|0x100000|960\n小提琴协奏曲|0x0000|476\n小题大作|0x1000000|30659\n小题大做|0x1000000|30659\n小天地|0x100000|31233\n小天使|0x100000|1\n小同乡|0x0000|48931\n小偷小摸|0x800000|39824\n小团体|0x100000|834\n小腿肚|0x0000|438\n小玩意儿|0x100000|460\n小王子|0x100000|709\n小往大来|0x1000000|1287\n小枉大直|0x1000000|100\n小卧车|0x0000|43064\n小巫见大巫|0x0008|41825\n小五金|0x500000|41359\n小媳妇|0x100000|19202\n小隙沉舟|0x0000|100\n小黠大痴|0x1000000|100\n小先生|0x100000|1170\n小小不言|0x40000000|100\n小小的船|0x100000|416\n小小年纪|0x0000|560\n小小说|0x100000|39408\n小小子|0x100000|45426\n小心谨慎|0x1000000|24025\n小心眼|0x100000|750\n小心眼儿|0x100000|29800\n小心翼翼|0x1000000|9970\n小兴安岭|0x0040|1594\n小星星|0x100000|787\n小行星|0x100000|15273\n小型车|0x100000|524\n小型化|0x1000|893\n小型机|0x100000|885\n小型机械|0x100000|409\n小型企业|0x0000|538\n小型张|0x100000|30218\n小型装载机|0x100000|412\n小性儿|0x100000|1138\n小兄弟|0x100000|22342\n小熊猫|0x100000|47538\n小熊座|0x0008|1203\n小学版|0x100000|458\n小学教师|0x100000|762\n小学教育|0x100000|532\n小学课程|0x100000|402\n小学美术|0x100000|442\n小学生|0x100000|5550\n小学生作文|0x100000|496\n小学校|0x100000|15893\n小学校长|0x100000|498\n小学英语|0x100000|549\n小学语文|0x100000|617\n小循环|0x100000|53013\n小丫头|0x0000|22185\n小鸭子|0x0000|477\n小亚细亚|0x0008|2\n小眼薄皮|0x800000|100\n小燕子|0x100000|780\n小阳春|0x4000|47858\n小妖精|0x100000|788\n小野丽莎|0x0080|0\n小业主|0x100000|39006\n小叶杨|0x100000|54545\n小夜曲|0x100000|36553\n小衣裳|0x100000|1259\n小姨子|0x100000|32186\n小异大同|0x1000000|100\n小意思|0x100000|27746\n小影霸|0x0008|1362\n小游戏|0x100000|804\n小有名气|0x800000|769\n小院儿|0x0000|11536\n小崽子|0x0000|41826\n小泽真珠|0x0080|0\n小泽征尔|0x0080|1103\n小仲马|0x100000|1011\n小资产阶|0x0008|0\n小资产阶级|0x100000|931\n小子后生|0x0000|100\n小字辈|0x100000|40910\n小奏鸣曲|0x0008|0\n小组长|0x100000|891\n小组第一|0x400000|8\n小组会|0x100000|1028\n小组赛|0x100000|605\n小组讨论|0x0000|526\n晓风残月|0x1000000|883\n晓行夜宿|0x1000000|54995\n晓行夜住|0x1000000|100\n晓以大义|0x0000|408\n晓以利害|0x800000|53492\n晓之以理|0x800000|27809\n孝昌县|0x0040|1060\n孝感市|0x0040|1382\n孝敬父母|0x0000|488\n孝思不匮|0x0000|100\n孝悌忠信|0x0000|100\n孝义市|0x0040|1533\n孝子爱日|0x1000000|100\n孝子慈孙|0x1000000|1330\n孝子顺孙|0x1000000|1350\n孝子贤孙|0x100000|40911\n肖斯塔科维奇|0x0080|1685\n肖特基势垒二极管|0x400008|0\n肖像画|0x100000|27810\n肖像权|0x0008|33836\n哮喘病|0x100000|495\n哮喘气管炎|0x100000|542\n效果器|0x100000|519\n效果图|0x100000|641\n效果显著|0x100000|809\n效颦学步|0x1000000|100\n效犬马力|0x1000000|100\n效死疆场|0x0000|100\n效死输忠|0x1000000|100\n效死勿去|0x1000000|100\n效益工资|0x100000|48548\n效应器|0x100000|1259\n校长室|0x0008|1395\n校党委|0x100000|947\n校短量长|0x1000000|100\n校短推长|0x1000000|100\n校对员|0x100000|1143\n校验码|0x0000|509\n校验位|0x0000|394\n校友会|0x100000|37633\n校友录|0x0008|665\n校园爱情|0x100000|474\n校园歌手|0x100000|463\n校园环境|0x100000|505\n校园卡|0x100000|438\n校园篮球|0x100000|415\n校园论坛|0x100000|537\n校园内|0x100000|560\n校园社区|0x100000|472\n校园生活|0x100000|565\n校园网|0x100000|637\n校园文化|0x100000|575\n校园文学|0x100000|472\n校园笑话|0x100000|505\n校园行|0x100000|475\n校运会|0x100000|472\n校正网络|0x0008|0\n笑傲风月|0x0000|100\n笑傲江湖|0x0008|1146\n笑比河清|0x800000|100\n笑不可仰|0x0000|100\n笑掉大牙|0x800000|869\n笑而不答|0x800000|786\n笑哈哈|0x0100|42321\n笑呵呵|0x0100|24085\n笑话百出|0x800000|1117\n笑口常开|0x800000|802\n笑里藏刀|0x1000000|48932\n笑脸相迎|0x0000|30984\n笑咧咧|0x0100|0\n笑眯眯|0x0100|15274\n笑面虎|0x100000|49643\n笑面夜叉|0x100000|100\n笑贫不笑娼|0x0008|1012\n笑容可掬|0x800000|24352\n笑容满面|0x800000|27893\n笑嘻嘻|0x0100|10131\n笑吟吟|0x0100|21825\n笑盈盈|0x0100|29579\n笑逐颜开|0x1000000|29802\n啸傲风月|0x0000|100\n啸傲湖山|0x0000|100\n啸聚山林|0x800000|1181\n啸侣命俦|0x1000000|100\n啸吒风云|0x1000000|100\n啸咤风云|0x1000000|100\n敩学相长|0x1000000|100\n楔形文字|0x100000|47540\n歇后语|0x100000|36066\n歇斯底里|0x1000000|22759\n歇歇脚|0x100000|920\n蝎蝎螫螫|0x0100|100\n蝎子王|0x100000|433\n协调发展|0x0000|649\n协调会|0x100000|926\n协调委员会|0x0000|457\n协调一致|0x400000|33\n协方差|0x100000|1122\n协方差分析|0x0008|0\n协和医院|0x0020|1307\n协会会长|0x100000|569\n协会会员|0x100000|818\n协会理事|0x100000|517\n协会主席|0x100000|519\n协理员|0x100000|42322\n协力齐心|0x0000|100\n协力同心|0x1000000|1207\n协商会|0x100000|1087\n协商一致|0x400000|22\n协私罔上|0x1000000|100\n协同动作|0x0008|4\n协同效应|0x0008|3\n协同作战|0x0008|36\n协心戮力|0x1000000|100\n协心同力|0x1000000|100\n协议书|0x100000|12817\n协约国|0x100000|35438\n协奏曲|0x100000|18258\n协作区|0x100000|1102\n协作者|0x0000|419\n邪不敌正|0x1000000|100\n邪不伐正|0x1000000|100\n邪不犯正|0x1000000|100\n邪不干正|0x1000000|100\n邪不胜正|0x1000000|1048\n邪不压正|0x800000|1091\n邪教组织|0x0000|481\n邪门儿|0x40000000|43065\n邪门歪道|0x1000000|50380\n邪魔怪道|0x1000000|100\n邪魔歪道|0x1000000|1094\n邪魔外道|0x1000000|1056\n邪魔外祟|0x1000000|100\n胁不沾席|0x1000000|100\n胁肩谄笑|0x1000000|54999\n胁肩低眉|0x1000000|100\n胁肩低首|0x1000000|100\n胁肩絫足|0x1000000|100\n胁肩累足|0x1000000|100\n挟山超海|0x1000000|1351\n挟势弄权|0x0000|100\n挟天子以令天下|0x0008|100\n挟天子以令诸侯|0x0008|1022\n挟细拿粗|0x1000000|100\n挟嫌报复|0x0000|54547\n挟主行令|0x0000|100\n偕生之疾|0x0000|100\n斜刺里|0x0000|36905\n斜对面|0x2000000|774\n斜风细雨|0x1000000|971\n斜挂大三角帆|0x400000|0\n斜拉桥|0x100000|35130\n斜率鉴频器|0x0008|0\n斜坡路|0x0040|0\n斜体字|0x100000|1016\n斜头歪脑|0x1000000|100\n斜纹布|0x0008|48933\n斜行横阵|0x1000000|100\n谐谑曲|0x0008|0\n谐振动|0x0000|368\n谐振器|0x0008|939\n谐振腔|0x0008|0\n谐振子|0x100000|1265\n携带式|0x0008|0\n携带型|0x0008|1086\n携带者|0x100000|850\n携家带口|0x800000|48189\n携老扶弱|0x0000|100\n携男挈女|0x0000|100\n携手并肩|0x800000|923\n携幼扶老|0x1000000|100\n携云握雨|0x1000000|100\n缬氨酸|0x100000|1122\n鞋拔子|0x100000|54548\n鞋跟儿|0x0000|33590\n鞋弓袜浅|0x0000|100\n鞋弓袜小|0x0000|100\n鞋弓襪浅|0x1000000|100\n鞋弓襪小|0x1000000|100\n鞋后跟|0x100000|1128\n鞋业有限公司|0x100000|535\n写保护|0x0000|459\n写日记|0x0000|573\n写实派|0x100000|1112\n写实主义|0x800000|969\n写下来|0x0000|526\n写写字|0x100000|965\n写意画|0x100000|1018\n写真集|0x0008|1053\n写字板|0x0008|1334\n写字间|0x100000|35439\n写字楼|0x100000|21931\n写字台|0x100000|14057\n写作能力|0x0000|511\n泄洪道|0x0000|49644\n泄洪闸|0x0000|55903\n泄漏天机|0x0000|100\n泄露天机|0x1000000|1009\n泄私愤|0x800000|1006\n泄殖腔|0x100000|1251\n泻肚子|0x0000|53495\n泻心汤|0x100000|1196\n卸包袱|0x1000|52500\n卸磨杀驴|0x1000000|51621\n谢尔盖库塞维茨基|0x0080|0\n谢馆秦楼|0x1000000|100\n谢家宝树|0x1000000|1335\n谢家活计|0x1000000|100\n谢兰燕桂|0x1000000|100\n谢天谢地|0x1000000|26011\n谢庭兰玉|0x1000000|100\n谢通门|0x0040|1205\n谢通门县|0x0040|1232\n谢谢合作|0x0000|704\n谢谢你|0x0000|770\n邂逅不偶|0x1000000|100\n邂逅相逢|0x1000000|1197\n邂逅相遇|0x1000000|1092\n燮理阴阳|0x0000|100\n蟹匡蝉緌|0x0000|100\n心安理得|0x1000000|20459\n心谤腹非|0x1000000|100\n心包炎|0x100000|1089\n心比天高|0x800000|889\n心病还须心药医|0x0008|1252\n心不烦|0x800000|954\n心不两用|0x1000000|100\n心不应口|0x1000000|100\n心不由意|0x1000000|100\n心不由主|0x0000|100\n心不在焉|0x1000000|18633\n心长发短|0x1000000|100\n心长绠短|0x1000000|100\n心长力短|0x0000|100\n心潮难平|0x800000|1122\n心潮澎湃|0x1000000|30112\n心潮起伏|0x1000000|33451\n心弛神往|0x1000000|100\n心驰神往|0x1000000|36738\n心驰魏阙|0x1000000|100\n心慈面软|0x1000000|1289\n心慈手软|0x1000000|37806\n心粗胆大|0x0000|100\n心粗气浮|0x1000000|100\n心存芥蒂|0x800000|47861\n心存目想|0x1000000|100\n心存魏阙|0x1000000|100\n心胆俱裂|0x1000000|51189\n心胆俱碎|0x1000000|1262\n心荡神驰|0x1000000|1126\n心荡神迷|0x1000000|100\n心荡神摇|0x1000000|1252\n心荡神怡|0x1000000|100\n心到神知|0x1000000|53016\n心得安|0x100000|1111\n心得体会|0x100000|694\n心低意沮|0x1000000|100\n心电感应|0x100000|920\n心电图|0x100000|27656\n心动过速|0x0008|459\n心烦技痒|0x1000000|100\n心烦虑乱|0x1000000|100\n心烦意乱|0x1000000|26166\n心烦意冗|0x1000000|100\n心房扑动|0x0008|0\n心非巷议|0x1000000|100\n心服口服|0x1000000|24255\n心服首肯|0x1000000|100\n心浮气粗|0x1000000|100\n心浮气盛|0x1000000|100\n心浮气燥|0x0000|399\n心浮气躁|0x800000|886\n心腹大患|0x1000000|988\n心腹之病|0x1000000|100\n心腹之患|0x1000000|37096\n心腹之疾|0x1000000|100\n心腹之交|0x1000000|100\n心腹之忧|0x1000000|100\n心腹重患|0x1000000|100\n心甘情原|0x1000000|100\n心甘情愿|0x1000000|15328\n心肝宝贝|0x100000|830\n心高气傲|0x1000000|805\n心孤意怯|0x1000000|100\n心贯白日|0x1000000|100\n心广体胖|0x1000000|52501\n心寒胆落|0x1000000|1537\n心寒胆战|0x1000000|100\n心黑手辣|0x800000|1151\n心狠手毒|0x1000000|1202\n心狠手辣|0x1000000|39624\n心花怒发|0x1000000|100\n心花怒放|0x1000000|27973\n心怀鬼胎|0x1000000|42810\n心怀叵测|0x1000000|47224\n心怀忐忑|0x0000|100\n心怀魏阙|0x1000000|0\n心慌慌|0x100000|862\n心慌撩乱|0x1000000|100\n心慌意急|0x1000000|100\n心慌意乱|0x1000000|27081\n心灰意败|0x1000000|100\n心灰意懒|0x1000000|35900\n心灰意冷|0x1000000|27894\n心回意转|0x1000000|1255\n心活面软|0x800000|100\n心肌梗塞|0x100000|848\n心肌梗死|0x100000|40256\n心肌炎|0x100000|39192\n心急火燎|0x1000000|34870\n心急如焚|0x1000000|21981\n心急如火|0x0100|1167\n心坚石穿|0x1000000|100\n心焦火燎|0x1000000|100\n心焦如焚|0x1000000|1145\n心焦如火|0x0000|100\n心绞痛|0x100000|33701\n心劲儿|0x100000|0\n心惊胆颤|0x1000000|925\n心惊胆寒|0x1000000|1018\n心惊胆裂|0x1000000|1325\n心惊胆落|0x1000000|100\n心惊胆战|0x1000000|33837\n心惊肉跳|0x1000000|23957\n心惊肉战|0x1000000|100\n心旌摇摇|0x0000|100\n心旌摇曳|0x800000|1141\n心开目明|0x1000000|100\n心口不一|0x401000|1\n心口如一|0x1400000|52047\n心口相应|0x1000000|1301\n心宽体胖|0x1000000|55837\n心旷神飞|0x1000000|100\n心旷神恬|0x1000000|100\n心旷神怡|0x1000000|21778\n心旷神愉|0x1000000|100\n心辣手狠|0x1000000|100\n心劳计绌|0x1000000|0\n心劳日拙|0x1000000|53017\n心劳意攘|0x1000000|100\n心劳意冗|0x1000000|100\n心里话|0x100000|10893\n心里有数|0x800000|856\n心理变态|0x0000|468\n心理病理学|0x0008|0\n心理测量学|0x0008|0\n心理活动|0x0008|1\n心理疾病|0x100000|803\n心理健康|0x100000|626\n心理剧|0x100000|377\n心理品质|0x0008|453\n心理上|0x0000|644\n心理声学|0x0008|0\n心理素质|0x0000|599\n心理特点|0x100000|497\n心理特征|0x100000|481\n心理卫生|0x100000|866\n心理物理学|0x0008|0\n心理系|0x0008|1491\n心理现象|0x0008|1\n心理学|0x100000|571\n心理学家|0x100000|704\n心理学史|0x0008|0\n心理学系|0x100000|977\n心理压力|0x0000|586\n心理医生|0x100000|29273\n心理因素|0x0000|525\n心理战|0x0008|36385\n心理障碍|0x100000|755\n心理诊所|0x100000|395\n心理治疗|0x0008|793\n心理主义|0x100000|0\n心理专家|0x100000|487\n心理咨询|0x100000|652\n心力交瘁|0x1000000|36386\n心力衰竭|0x1000000|27974\n心连心|0x800000|15010\n心灵鸡汤|0x100000|497\n心灵美|0x100000|432\n心灵深处|0x0000|566\n心灵手巧|0x1000000|33051\n心灵性巧|0x1000000|100\n心领神会|0x1000000|26012\n心领神悟|0x1000000|100\n心领意会|0x1000000|100\n心路历程|0x0000|525\n心膂股肱|0x0000|100\n心律失常|0x0008|872\n心乱如麻|0x1000000|35132\n心满意得|0x1000000|100\n心满意足|0x1000000|17029\n心满原足|0x1000000|100\n心满愿足|0x0000|100\n心忙意急|0x1000000|100\n心忙意乱|0x1000000|100\n心明眼亮|0x1000000|43304\n心摹手追|0x1000000|100\n心目中|0x100000|6916\n心慕手追|0x1000000|100\n心内膜|0x0008|0\n心内膜炎|0x0008|0\n心凝形释|0x1000000|1337\n心平气定|0x1000000|100\n心平气和|0x1000000|18224\n心气儿|0x100000|1109\n心虔志诚|0x0000|100\n心乔意怯|0x1000000|100\n心巧嘴乖|0x1000000|100\n心情随笔|0x100000|485\n心情驿站|0x100000|549\n心去难留|0x0000|100\n心如刀剉|0x1000000|100\n心如刀锉|0x0000|100\n心如刀割|0x1000000|44023\n心如刀绞|0x1000000|36387\n心如刀搅|0x1000000|100\n心如刀锯|0x1000000|100\n心如槁木|0x1000000|1287\n心如古井|0x1000000|1224\n心如寒灰|0x1000000|100\n心如火焚|0x0000|100\n心如坚石|0x0000|100\n心如金石|0x1000000|100\n心如木石|0x0000|100\n心如死灰|0x1000000|918\n心如铁石|0x1000000|1141\n心如悬旌|0x800000|100\n心如止水|0x1000000|756\n心若死灰|0x1000000|1219\n心上人|0x100000|29363\n心上心下|0x1000000|100\n心身疾病|0x100000|1043\n心身医学|0x0008|1\n心神不安|0x800000|805\n心神不定|0x1000000|831\n心神不宁|0x1000000|815\n心神恍惚|0x1000000|1029\n心事重重|0x800000|809\n心手相忘|0x1000000|100\n心手相应|0x1000000|1282\n心术不端|0x1000000|100\n心术不正|0x1000000|948\n心同此理|0x100000|1112\n心同止水|0x0000|100\n心痛定|0x100000|1174\n心头病|0x100000|1278\n心头鹿撞|0x1000000|1319\n心头肉|0x100000|44855\n心头撞鹿|0x1000000|100\n心往神驰|0x1000000|100\n心往一处想|0x400000|0\n心窝儿|0x100000|1363\n心窝窝|0x100000|0\n心窝子|0x100000|1000\n心无二用|0x1400000|0\n心无挂碍|0x0000|100\n心无旁骛|0x800000|863\n心细如发|0x1000000|1046\n心细于发|0x0000|100\n心闲手敏|0x800000|100\n心乡往之|0x1000000|100\n心想事成|0x800000|690\n心向往之|0x1000000|918\n心小志大|0x0000|100\n心心念念|0x1000000|54017\n心心相连|0x800000|51191\n心心相印|0x1000000|26085\n心雄万夫|0x1000000|100\n心绪恍惚|0x0000|100\n心绪如麻|0x1000000|100\n心悬魏阙|0x1000000|0\n心血管|0x100000|11812\n心血管病|0x100000|832\n心血管疾病|0x100000|540\n心血来潮|0x1000000|26167\n心眼儿|0x100000|8755\n心痒难挠|0x800000|1254\n心痒难揉|0x0000|100\n心痒难挝|0x0000|100\n心痒难抓|0x0000|100\n心仪已久|0x800000|808\n心怡神旷|0x1000000|100\n心逸日休|0x1000000|100\n心意拳|0x100000|368\n心慵意懒|0x1000000|100\n心有灵犀一点通|0x400008|0\n心有余而力不足|0x0008|837\n心有余悸|0x1000000|25734\n心余力绌|0x1000000|1414\n心猿意马|0x1000000|38006\n心悦诚服|0x1000000|27747\n心悦神怡|0x1000000|100\n心殒胆落|0x1000000|100\n心殒胆破|0x1000000|100\n心在魏阙|0x1000000|100\n心脏病|0x100000|8522\n心脏病科|0x100000|0\n心脏病专家|0x0000|407\n心脏镜|0x100000|0\n心脏科|0x100000|1077\n心脏外科|0x100000|1043\n心瞻魏阙|0x1000000|100\n心照不宣|0x1000000|26849\n心照情交|0x1000000|100\n心照神交|0x1000000|100\n心之官则思|0x0008|1271\n心知肚明|0x800000|765\n心知其意|0x0000|100\n心织笔耕|0x1000000|100\n心直口快|0x1000000|34871\n心直嘴快|0x1000000|100\n心中无数|0x1000000|1036\n心中有鬼|0x800000|49280\n心中有数|0x1000000|18313\n心拙口夯|0x1000000|100\n心醉魂迷|0x1000000|1347\n心醉神迷|0x1000000|947\n忻城县|0x0040|1611\n忻州市|0x0040|1464\n芯片级|0x100000|485\n芯片型号|0x100000|435\n芯片业|0x100000|422\n芯片组|0x100000|663\n辛迪加|0x0080|1072\n辛伐他汀|0x0008|1122\n辛亥革命|0x800000|10942\n辛集市|0x0040|1432\n辛苦费|0x0000|48190\n辛勤工作|0x0000|507\n辛壬癸甲|0x1000000|1395\n辛酸泪|0x0000|425\n辛烷值|0x100000|1085\n辛辛苦苦|0x0100|684\n辛辛那提|0x0040|1576\n欣然命笔|0x800000|1151\n欣然自得|0x1000000|1104\n欣喜若狂|0x1000000|27748\n欣欣然|0x0100|42324\n欣欣向荣|0x1000000|16897\n欣欣自得|0x1000000|100\n莘莘学子|0x100000|27144\n锌合金|0x100000|501\n锌试剂|0x0008|0\n锌元素|0x100000|381\n新安江|0x0040|1438\n新安县|0x0040|1598\n新奥尔良|0x0040|1379\n新奥运|0x100000|438\n新巴尔虎右旗|0x0040|1130\n新巴尔虎左旗|0x0040|1157\n新白云|0x100000|402\n新版本|0x0000|641\n新北界|0x100000|0\n新北京|0x100000|501\n新标准|0x100000|613\n新宾满族自治县|0x0040|1755\n新病毒|0x100000|485\n新材料|0x100000|641\n新财富|0x100000|465\n新蔡县|0x0040|1648\n新策略|0x100000|452\n新产品|0x100000|527\n新产品开发|0x100000|546\n新产业|0x100000|469\n新昌县|0x0040|1421\n新长征|0x0000|31454\n新唱片|0x100000|485\n新潮电子|0x100000|1026\n新潮流|0x0000|540\n新车型|0x100000|542\n新陈代谢|0x1000000|17183\n新陈代谢主义|0x100000|0\n新仇旧恨|0x1000000|962\n新愁旧恨|0x1000000|1221\n新出现|0x0000|502\n新窗口|0x100000|600\n新春佳节|0x0000|504\n新春愉快|0x100000|898\n新词汇|0x100000|410\n新词语|0x100000|379\n新大陆|0x100000|29901\n新党章|0x100000|484\n新德里|0x0040|8407\n新的一页|0x400000|11\n新地产|0x100000|435\n新地图|0x100000|546\n新东方|0x0008|1045\n新动向|0x100000|524\n新动作|0x100000|450\n新发明|0x0000|472\n新发现|0x0000|620\n新发型|0x100000|473\n新发于硎|0x0000|100\n新发展|0x0000|568\n新方法|0x100000|594\n新丰县|0x0040|1466\n新风尚|0x0000|477\n新概念|0x100000|668\n新干县|0x0040|1643\n新干线|0x100000|758\n新感受|0x100000|433\n新高潮|0x100000|520\n新高度|0x100000|448\n新高峰|0x100000|419\n新格局|0x100000|539\n新工艺|0x100000|651\n新功能|0x100000|625\n新构造运动|0x0008|0\n新古典主义|0x100000|941\n新故代谢|0x1000000|100\n新观念|0x100000|530\n新官上任三把火|0x400008|3\n新规则|0x100000|519\n新贵族|0x0008|0\n新罕布什尔|0x0040|1683\n新罕布什尔州|0x0040|1754\n新和县|0x0040|1057\n新河县|0x0040|1654\n新虎尾溪|0x0040|1496\n新花样|0x0000|513\n新华门|0x0040|1151\n新华日报|0x0000|493\n新华社|0x0020|918\n新华社记者|0x0000|626\n新华社香港分社|0x0020|1228\n新华书店|0x100000|719\n新华通讯社|0x0020|1366\n新华网|0x0008|814\n新化县|0x0040|1531\n新晃侗族自治县|0x0040|1779\n新会员|0x100000|589\n新昏宴尔|0x1000000|100\n新婚燕尔|0x1000000|44857\n新婚姻法|0x100000|411\n新婚之夜|0x0000|552\n新火星人|0x100000|375\n新机场|0x100000|485\n新基金|0x100000|466\n新纪录|0x100000|518\n新纪元|0x100000|18634\n新技能|0x100000|554\n新技术|0x100000|524\n新技术革命|0x0000|423\n新加坡|0x0040|3759\n新加坡人|0x100000|901\n新加坡政府|0x100000|461\n新嫁娘|0x100000|986\n新建县|0x0040|1600\n新疆大学|0x100000|451\n新疆人|0x100000|862\n新疆省|0x0040|1055\n新疆维吾尔自治区|0x0040|1251\n新疆维吾尔族|0x0000|389\n新疆乌鲁木齐|0x100000|520\n新疆自治区|0x0040|1019\n新绛县|0x0040|1605\n新教材|0x100000|562\n新教派|0x100000|1201\n新教师|0x100000|488\n新教徒|0x100000|1014\n新阶段|0x100000|590\n新街口|0x0040|1230\n新津县|0x0040|1638\n新经济|0x100000|597\n新警察|0x100000|504\n新旧交替|0x800000|978\n新局面|0x100000|612\n新举措|0x100000|566\n新喀里多尼亚|0x0040|1734\n新科技|0x0000|543\n新科状元|0x100000|883\n新课程|0x100000|664\n新快报|0x100000|578\n新款手机|0x100000|481\n新来乍到|0x1000000|46321\n新来者|0x0000|395\n新郎官|0x100000|47225\n新郎新娘|0x0000|507\n新浪网|0x0008|726\n新老交替|0x800000|18934\n新乐市|0x0040|1501\n新理念|0x100000|579\n新亮点|0x100000|542\n新疗法|0x100000|681\n新领域|0x0000|537\n新龙县|0x0040|1182\n新路子|0x100000|517\n新马尔萨斯主义|0x0008|0\n新霉素|0x0008|1111\n新密市|0x0040|1354\n新面孔|0x100000|515\n新面貌|0x100000|466\n新民市|0x0040|1603\n新民晚报|0x100000|793\n新民主主义|0x100000|899\n新民主主义革命|0x100000|949\n新名词|0x100000|23196\n新模式|0x0000|593\n新墨西哥|0x0040|1499\n新墨西哥州|0x0040|1584\n新目标|0x100000|529\n新内阁|0x100000|450\n新纳粹|0x100000|416\n新能源|0x0008|714\n新年贺词|0x100000|416\n新年礼品|0x100000|382\n新年礼物|0x100000|480\n新年新|0x100000|490\n新年伊始|0x100000|509\n新年音乐会|0x100000|495\n新娘子|0x100000|15884\n新宁县|0x0040|1610\n新农村|0x100000|700\n新女装|0x100000|546\n新篇章|0x100000|833\n新品种|0x100000|735\n新平彝族傣族自治县|0x0040|1166\n新瓶装旧酒|0x100000|1039\n新旗舰|0x100000|462\n新起点|0x100000|548\n新气象|0x100000|712\n新青年|0x100000|533\n新趋势|0x100000|546\n新热带界|0x0008|0\n新人奖|0x100000|529\n新人类|0x100000|552\n新人新事|0x1000000|1120\n新任务|0x0000|545\n新邵县|0x0040|1587\n新社会|0x100000|472\n新生北路|0x0040|0\n新生代|0x100000|21741\n新生黛|0x100000|369\n新生地|0x0008|0\n新生儿|0x100000|16459\n新生活|0x100000|607\n新生界|0x100000|1309\n新生力量|0x800000|25790\n新生南路|0x0040|0\n新生事物|0x800000|840\n新胜利|0x100000|380\n新石器|0x100000|443\n新石器时代|0x4000|855\n新时期|0x100000|659\n新时尚|0x100000|543\n新世纪|0x100000|864\n新世界|0x100000|1030\n新事物|0x100000|559\n新势力|0x100000|535\n新视角|0x100000|478\n新视听|0x100000|493\n新视野|0x100000|527\n新手村|0x0040|0\n新手入门|0x100000|517\n新水平|0x100000|487\n新丝路|0x100000|515\n新思路|0x100000|581\n新思维|0x100000|1242\n新思想|0x100000|514\n新四军|0x500000|9596\n新台币|0x100000|787\n新泰市|0x0040|1435\n新体制|0x100000|485\n新天地|0x100000|1000\n新天下|0x100000|479\n新田县|0x0040|1621\n新亭对泣|0x1000000|100\n新途径|0x100000|534\n新文化|0x100000|766\n新文化运动|0x0008|1438\n新文学|0x100000|935\n新闻办公室|0x100000|519\n新闻报道|0x0008|673\n新闻标题|0x100000|500\n新闻晨报|0x100000|561\n新闻出版|0x0008|680\n新闻出版署|0x0020|1467\n新闻处|0x100000|959\n新闻调查|0x0000|478\n新闻动态|0x100000|570\n新闻发布会|0x100000|606\n新闻发言人|0x0000|588\n新闻稿|0x100000|813\n新闻工作|0x0008|8\n新闻工作者|0x100000|520\n新闻公报|0x800000|1015\n新闻官|0x100000|977\n新闻记者|0x100000|773\n新闻奖|0x100000|500\n新闻界|0x100000|805\n新闻局|0x100000|1507\n新闻来源|0x100000|604\n新闻联播|0x100000|728\n新闻媒体|0x100000|663\n新闻排行榜|0x100000|544\n新闻片|0x0008|50383\n新闻频道|0x100000|676\n新闻热线|0x100000|576\n新闻社|0x100000|807\n新闻事业|0x0008|2\n新闻司|0x100000|1124\n新闻台|0x100000|683\n新闻通讯|0x0008|0\n新闻晚报|0x100000|531\n新闻网|0x100000|456\n新闻系|0x100000|865\n新闻线索|0x100000|492\n新闻学|0x100000|820\n新闻业|0x100000|1031\n新闻纸|0x100000|29902\n新闻中心|0x0000|786\n新闻周刊|0x0000|545\n新闻资讯|0x100000|584\n新闻自由|0x0008|7\n新闻组|0x100000|828\n新问题|0x100000|615\n新西兰|0x0040|7574\n新西兰人|0x100000|395\n新西兰移民|0x100000|368\n新媳妇儿|0x100000|55514\n新鲜感|0x100000|693\n新鲜空气|0x0000|551\n新鲜事|0x100000|769\n新宪法|0x100000|463\n新乡市|0x0040|1136\n新乡县|0x0040|1526\n新项目|0x100000|564\n新消息|0x0000|493\n新新人类|0x0008|789\n新兴产业|0x0008|521\n新兴县|0x0040|1590\n新行业|0x100000|457\n新形式|0x100000|496\n新形势|0x100000|585\n新形势下|0x0000|606\n新形象|0x100000|562\n新型材料|0x100000|477\n新型建材|0x100000|521\n新型建筑材料|0x100000|444\n新型农村|0x100000|548\n新硎初试|0x1000000|100\n新学期|0x100000|570\n新学小生|0x0000|100\n新亚洲|0x100000|463\n新野县|0x0040|1530\n新一代|0x100000|740\n新一届中央领导集体|0x400000|6\n新一轮军备竞赛|0x400000|31\n新衣服|0x100000|568\n新沂市|0x0040|1427\n新益求新|0x1000000|100\n新英格兰|0x0040|1450\n新营市|0x0040|1157\n新颖性|0x100000|948\n新用户|0x100000|669\n新邮件|0x0000|489\n新余市|0x0040|1418\n新元素|0x100000|480\n新员工|0x100000|547\n新源县|0x0040|1049\n新月形|0x0000|394\n新月状|0x100000|0\n新泽西|0x0040|1325\n新泽西州|0x0040|1480\n新战略|0x100000|488\n新郑市|0x0040|1376\n新政策|0x100000|591\n新政府|0x100000|541\n新知识|0x0000|558\n新职业|0x100000|508\n新殖民主义|0x0008|46617\n新秩序|0x0000|495\n新中国|0x100000|650\n新周刊|0x100000|470\n新竹人|0x100000|0\n新竹市|0x0040|1378\n新竹县|0x0040|1411\n新专集|0x100000|473\n新专辑|0x100000|686\n新装备|0x100000|556\n新装修|0x100000|539\n新装置|0x100000|396\n薪尽火传|0x1000000|1087\n薪炭林|0x0000|42068\n馨香祷祝|0x1000000|100\n伈伈睍睍|0x1000000|100\n信笔涂鸦|0x1000000|100\n信不过|0x1000|30559\n信步而行|0x800000|1168\n信贷风险|0x100000|469\n信贷管理|0x0008|456\n信贷科|0x100000|1201\n信贷业务|0x100000|494\n信贷员|0x100000|27657\n信贷政策|0x100000|481\n信贷资金|0x100000|939\n信道编码|0x0008|1\n信道容量|0x0008|0\n信得过|0x1000|16064\n信而好古|0x0000|100\n信而有征|0x800000|55000\n信而有证|0x1000|100\n信访工作|0x100000|561\n信丰县|0x0040|1048\n信封袋|0x100000|369\n信号弹|0x100000|33839\n信号灯|0x100000|20592\n信号发生器|0x100000|488\n信号工|0x100000|1241\n信号机|0x0008|1170\n信号量|0x0008|1042\n信号楼|0x0008|0\n信号旗|0x100000|55515\n信号器|0x0008|4\n信号枪|0x100000|55001\n信号台|0x100000|1267\n信号肽|0x0008|0\n信号系统|0x0008|0\n信号线|0x100000|784\n信号源|0x100000|910\n信及豚鱼|0x1000000|100\n信口雌黄|0x1000000|40472\n信口胡言|0x800000|1240\n信口开呵|0x1000000|100\n信口开喝|0x1000000|100\n信口开合|0x1000000|100\n信口开河|0x1000000|27418\n信乐团|0x100000|522\n信马由缰|0x1000000|42325\n信皮儿|0x100000|50384\n信任感|0x100000|30334\n信任票|0x100000|1124\n信任投票|0x800000|40473\n信赏必罚|0x1000000|53019\n信誓旦旦|0x1000000|28879\n信手拈来|0x1000000|35583\n信守不渝|0x0000|100\n信天翁|0x100000|46619\n信天游|0x100000|29685\n信托公司|0x0008|1\n信托局|0x100000|1186\n信托投资|0x0008|795\n信托投资公司|0x0008|1280\n信息部|0x100000|552\n信息产业|0x100000|672\n信息产业部|0x0020|942\n信息产业部电信|0x100000|456\n信息处理|0x100000|14\n信息发布软件|0x100000|473\n信息反馈|0x0000|580\n信息费|0x100000|861\n信息港|0x100000|498\n信息高速公路|0x100000|475\n信息工程学院|0x100000|503\n信息管理|0x0008|692\n信息化|0x1000|3128\n信息化培训|0x100000|403\n信息技术|0x0008|19975\n信息技术课程|0x100000|438\n信息技术有限公司|0x100000|662\n信息经济|0x0008|2\n信息科技有限公司|0x100000|576\n信息科学|0x100000|2\n信息库|0x100000|24855\n信息量|0x100000|770\n信息率|0x0008|0\n信息论|0x100000|35133\n信息内容|0x100000|778\n信息社会|0x0000|18727\n信息时报|0x100000|558\n信息时代|0x0008|578\n信息台|0x100000|963\n信息网|0x100000|409\n信息网络|0x100000|652\n信息网络安全|0x100000|465\n信息系统|0x0008|715\n信息系统安全|0x100000|463\n信息学|0x0008|559\n信息员|0x100000|891\n信息源|0x100000|904\n信息战|0x100000|47541\n信息中心|0x0000|718\n信息资讯|0x100000|545\n信息资源|0x0000|648\n信息组|0x100000|1074\n信心百倍|0x800000|869\n信心十足|0x400000|29\n信言不美|0x0000|100\n信阳市|0x0040|1315\n信仰者|0x100000|962\n信仰主义|0x100000|660\n信宜市|0x0040|1626\n信以为真|0x1000|22855\n信用等级|0x100000|538\n信用调查|0x100000|902\n信用度|0x100000|551\n信用风险|0x100000|495\n信用合作社|0x100000|715\n信用卡|0x100000|9495\n信用联社|0x100000|923\n信用社|0x100000|6079\n信用原则|0x100000|488\n信用证|0x100000|798\n信用制度|0x100000|471\n信用状|0x0008|0\n信誉第一|0x400000|675\n信誉至上|0x100000|745\n信纸信封|0x100000|370\n衅发萧墙|0x0000|100\n衅起萧墙|0x1000000|100\n衅稔恶盈|0x0000|100\n焮天铄地|0x1000000|100\n兴安盟|0x0040|1427\n兴安县|0x0040|1530\n兴邦立国|0x0000|100\n兴兵动众|0x1000000|100\n兴城市|0x0040|1603\n兴冲冲|0x0100|18315\n兴词构讼|0x0000|100\n兴讹造讪|0x1000000|100\n兴废继绝|0x1000000|100\n兴奋不已|0x800000|737\n兴奋地|0x0000|409\n兴奋剂|0x100000|8608\n兴奋性|0x0008|967\n兴风作浪|0x1000000|27162\n兴高采烈|0x1000000|11859\n兴高彩烈|0x1000000|1017\n兴观群怨|0x0000|100\n兴国县|0x0040|1571\n兴海县|0x0040|1151\n兴和县|0x0040|1100\n兴化市|0x0040|1307\n兴会淋漓|0x1000000|100\n兴家立业|0x1000|1289\n兴利除弊|0x1000000|34546\n兴隆县|0x0040|1626\n兴灭继绝|0x1000000|1365\n兴宁市|0x0040|1544\n兴宁县|0x0040|1288\n兴趣爱好|0x0000|588\n兴趣盎然|0x1000000|920\n兴趣十足|0x400000|1\n兴趣小组|0x100000|489\n兴仁县|0x0040|1071\n兴如嚼蜡|0x1000000|100\n兴山县|0x0040|1637\n兴师动众|0x1000000|31104\n兴师问罪|0x1000000|41596\n兴衰成败|0x800000|1017\n兴衰史|0x100000|1016\n兴头儿上|0x0000|53022\n兴亡祸福|0x0000|100\n兴亡继绝|0x1000000|100\n兴旺发达|0x800000|860\n兴微继绝|0x1000000|100\n兴味索然|0x1000000|1028\n兴文县|0x0040|1070\n兴文匽武|0x1000000|100\n兴妖作怪|0x1000000|51192\n兴妖作乱|0x1000000|100\n兴妖作孽|0x0000|100\n兴业县|0x0040|1550\n兴义市|0x0040|1568\n兴云致雨|0x0000|100\n兴致勃勃|0x1000000|10360\n兴致淋漓|0x1000000|100\n兴致索然|0x800000|100\n兴中会|0x0020|1107\n星驰电掣|0x1000000|100\n星驰电发|0x1000000|100\n星驰电走|0x0000|100\n星飞电急|0x0000|100\n星飞云散|0x1000000|100\n星光灿烂|0x100000|792\n星火计划|0x800000|23722\n星火燎原|0x1000000|47542\n星级宾馆|0x100000|489\n星级饭店|0x100000|832\n星际飞行|0x0008|0\n星际争霸|0x100000|753\n星离雨散|0x1000000|100\n星离月会|0x1000000|100\n星流电击|0x1000000|100\n星流霆击|0x1000000|100\n星罗棋布|0x1000000|20424\n星罗云布|0x1000000|100\n星落云散|0x800000|1405\n星灭光离|0x1000000|100\n星期二|0x404000|42\n星期六|0x404000|34\n星期日|0x4000|540\n星期三|0x404000|38\n星期四|0x404000|29\n星期天|0x4000|9043\n星期五|0x404000|50\n星期一|0x404000|51\n星旗电戟|0x800000|100\n星前月下|0x0000|100\n星球大战|0x100000|32322\n星霜屡移|0x0000|100\n星条旗|0x100000|975\n星系团|0x100000|1159\n星星点点|0x1000000|26014\n星星落落|0x1000000|100\n星星音乐谷|0x0000|372\n星星之火|0x800000|30452\n星星之火可以燎原|0x0000|374\n星行电征|0x1000000|100\n星行夜归|0x0000|100\n星移斗换|0x800000|1536\n星移斗转|0x1000000|53020\n星移漏转|0x1000000|100\n星移物换|0x1000000|0\n星语心愿|0x100000|863\n星月交辉|0x0000|100\n星子县|0x0040|1640\n星座卡|0x100000|390\n星座图|0x100000|396\n惺惺惜惺惺|0x0008|49648\n惺惺相惜|0x1000000|776\n惺惺作态|0x1000000|54550\n猩红热|0x100000|40474\n猩红色|0x100000|1028\n猩猩草|0x100000|1541\n腥风醎雨|0x1000000|100\n腥风血雨|0x1000000|43305\n腥黑穗病|0x0008|1379\n腥味儿|0x0000|24917\n腥闻在上|0x0000|100\n刑措不用|0x0000|100\n刑法典|0x100000|1072\n刑法学|0x100000|487\n刑警队|0x100000|934\n刑满释放|0x800000|887\n刑期无刑|0x1000000|100\n刑事案|0x100000|405\n刑事案件|0x0008|778\n刑事法律|0x100000|624\n刑事法庭|0x100000|35440\n刑事犯|0x100000|40913\n刑事犯罪|0x800000|873\n刑事犯罪分子|0x0000|371\n刑事附带民事诉讼|0x0008|2\n刑事警察|0x100000|993\n刑事拘留|0x1000|22963\n刑事判决|0x100000|44270\n刑事诉讼|0x100000|14072\n刑事诉讼法|0x100000|850\n刑事责任|0x100000|642\n刑事侦察|0x0008|1\n刑诉法|0x100000|1064\n刑讯逼供|0x0008|926\n刑于之化|0x1000000|100\n刑余之人|0x0000|100\n刑侦队|0x100000|1175\n行百里半九十|0x400000|0\n行百里者半九十|0x400008|0\n行百里者半于九十|0x400000|100\n行必果|0x800000|984\n行兵布阵|0x0000|100\n行波天线|0x0008|0\n行不从径|0x1000000|100\n行不得也哥哥|0x0000|100\n行不贰过|0x1000000|100\n行不副言|0x1000000|100\n行不更名|0x1000000|1022\n行不苟合|0x1000000|100\n行不履危|0x1000000|100\n行不胜衣|0x800000|100\n行不通|0x1000|15636\n行不行|0x4000000|612\n行不由径|0x1000000|1294\n行不逾方|0x1000000|100\n行步如飞|0x0000|100\n行藏用舍|0x0000|100\n行车道|0x100000|1050\n行成于思|0x800000|52506\n行程开关|0x0000|435\n行道树|0x100000|38790\n行得通|0x40000000|30560\n行动代号|0x100000|398\n行动计划|0x0000|583\n行动坐卧|0x800000|100\n行而不远|0x1000000|1032\n行方便|0x1000|50775\n行古志今|0x1000000|100\n行寡悔|0x100000|1237\n行号卧泣|0x1000000|100\n行号巷哭|0x1000000|100\n行合趋同|0x1000000|100\n行贿受贿|0x0008|8\n行己有耻|0x0000|100\n行家里手|0x100000|30271\n行奸卖俏|0x1000000|100\n行间字里|0x1000000|100\n行将就木|0x1000000|47543\n行军床|0x100000|38388\n行李舱|0x100000|1\n行李车|0x100000|44546\n行李袋|0x100000|1043\n行李房|0x100000|53497\n行李架|0x100000|45434\n行李卷儿|0x100000|40046\n行李室|0x100000|0\n行李箱|0x100000|36223\n行列式|0x100000|1031\n行列注水|0x0008|0\n行眠立盹|0x1000000|100\n行气活血|0x0008|0\n行情报价|0x100000|458\n行情表|0x100000|1114\n行若狗彘|0x1000000|100\n行若狐鼠|0x800000|100\n行若无事|0x1000000|1183\n行色匆匆|0x1000000|34406\n行色怱怱|0x1000000|100\n行善积德|0x800000|923\n行尸走骨|0x1000000|100\n行尸走肉|0x1000000|41125\n行师动众|0x1000000|100\n行事历|0x0008|744\n行思坐筹|0x1000000|100\n行思坐想|0x1000000|100\n行思坐忆|0x0000|100\n行唐县|0x0040|1619\n行同狗豨|0x0000|100\n行同狗彘|0x1000|100\n行同能偶|0x1000000|100\n行万里路|0x0000|469\n行为不检|0x0000|407\n行为地理学|0x0008|0\n行为规范|0x0008|733\n行为矫正|0x0008|1\n行为科学|0x0008|1\n行为能力|0x100000|24088\n行为人|0x100000|904\n行为习惯|0x0000|532\n行为学|0x100000|505\n行为遗传学|0x0008|0\n行为艺术|0x100000|765\n行为主义|0x100000|0\n行为准则|0x0000|544\n行侠好义|0x1000000|100\n行险徼幸|0x1000000|100\n行崄侥幸|0x0000|100\n行香挂牌|0x0000|100\n行星减速器|0x100000|391\n行行出状元|0x0008|935\n行行色色|0x100000|995\n行行蛇蚓|0x0000|100\n行业标准|0x100000|626\n行业动态|0x100000|560\n行业管理|0x100000|653\n行业类别|0x100000|570\n行业龙头|0x100000|507\n行业软件|0x100000|570\n行业协会|0x100000|674\n行业新闻|0x100000|536\n行业语|0x100000|1394\n行业专用设备|0x100000|389\n行业资讯|0x100000|609\n行易知难|0x1000000|1539\n行吟诗人|0x0008|0\n行有余力|0x1000000|1109\n行远升高|0x1000000|100\n行远自迩|0x1000000|100\n行云流水|0x1000000|28420\n行者让路|0x1000000|100\n行针步线|0x1000000|100\n行政案件|0x100000|495\n行政部门|0x100000|745\n行政长官|0x0000|559\n行政处罚|0x100000|8847\n行政处罚法|0x100000|948\n行政处分|0x800000|865\n行政村|0x100000|808\n行政单位|0x0008|6\n行政法|0x100000|781\n行政法规|0x100000|752\n行政复议|0x0008|794\n行政公署|0x100000|978\n行政官|0x100000|1074\n行政管理|0x0008|582\n行政管理局|0x0000|605\n行政机关|0x100000|761\n行政级别|0x100000|441\n行政拘留|0x1000|35135\n行政局|0x100000|1116\n行政区|0x100000|10199\n行政区号|0x100000|590\n行政区划|0x100000|18314\n行政区域|0x100000|808\n行政权|0x100000|960\n行政权力|0x100000|503\n行政人员|0x0008|5\n行政事务|0x100000|479\n行政事业|0x100000|575\n行政事业单位|0x0000|510\n行政诉讼|0x800000|765\n行政诉讼法|0x100000|878\n行政效率|0x0000|471\n行政行为|0x0008|424\n行政许可|0x0008|603\n行政学|0x0008|524\n行政学院|0x100000|499\n行政院|0x100000|807\n行政院长|0x0000|480\n行政责任|0x0008|23\n行政职业|0x100000|539\n行政职业能力|0x100000|523\n行政主管|0x100000|679\n行政助理|0x100000|487\n行之不远|0x1000000|0\n行之有效|0x1000000|8246\n行住坐卧|0x1000000|1065\n行浊言清|0x0000|100\n行踪无定|0x0000|100\n邢台市|0x0040|1270\n邢台县|0x0040|1563\n形成层|0x100000|1210\n形单影双|0x0000|100\n形单影只|0x1000000|43306\n形而上|0x800000|842\n形而上学|0x800000|12430\n形而下|0x800000|982\n形槁心灰|0x0000|100\n形格势禁|0x1000000|1262\n形孤影寡|0x1000000|100\n形孤影只|0x1000000|100\n形迹可疑|0x1000000|1014\n形劫势禁|0x1000000|100\n形禁势格|0x1000000|100\n形具神生|0x0000|100\n形容词|0x100000|21088\n形容枯槁|0x0000|100\n形容憔悴|0x800000|1074\n形如槁木|0x1000000|1284\n形色仓皇|0x800000|100\n形神兼备|0x0000|44271\n形声字|0x0008|1122\n形式多样|0x800000|810\n形式化|0x1000|875\n形式逻辑|0x800000|1027\n形式美|0x100000|1004\n形式幂级数环|0x0008|0\n形式上|0x0000|9949\n形式语言|0x0008|0\n形式主义|0x100000|6381\n形势逼人|0x100000|32943\n形势严峻|0x0000|514\n形输色授|0x1000000|100\n形态各异|0x800000|873\n形态学|0x100000|961\n形同虚设|0x800000|817\n形枉影曲|0x1000000|100\n形象大使|0x0008|541\n形象代言人|0x0000|553\n形象店|0x100000|452\n形象工程|0x0000|13812\n形象化|0x1000|27163\n形象设计|0x100000|581\n形象思维|0x800000|20342\n形象性|0x0000|49282\n形销骨立|0x1000000|947\n形形色色|0x1000000|12156\n形意拳|0x0008|1022\n形影不离|0x1000000|28059\n形影相吊|0x1000000|46925\n形影相对|0x1000000|1533\n形影相附|0x1000000|100\n形影相随|0x1000000|52053\n形影相依|0x1000000|100\n形影自吊|0x1000000|100\n形影自守|0x1000000|100\n形只影单|0x1000|0\n形诸笔墨|0x0000|100\n形状知觉|0x0008|0\n醒聩震聋|0x1000000|100\n杏花春雨|0x1000000|1046\n杏花村|0x0008|1378\n杏脸桃腮|0x1000000|100\n杏仁茶|0x100000|54553\n杏腮桃脸|0x1000000|100\n杏雨梨云|0x0000|100\n姓名学|0x100000|482\n幸存者|0x100000|16664\n幸福感|0x100000|530\n幸福观|0x100000|378\n幸福花|0x100000|444\n幸福快乐|0x0000|567\n幸福生活|0x0000|615\n幸免于难|0x800000|884\n幸运儿|0x100000|30454\n幸灾乐祸|0x1000000|19177\n性爱姿势|0x100000|499\n性伴侣|0x100000|538\n性保健|0x100000|534\n性暴力|0x100000|433\n性本能|0x0000|400\n性变态|0x1000|44548\n性别差异|0x0008|7\n性病变|0x100000|468\n性成熟|0x0008|922\n性冲动|0x0000|519\n性丑闻|0x100000|471\n性道德|0x100000|450\n性犯罪|0x0008|940\n性肺炎|0x100000|484\n性肝炎|0x100000|528\n性感女郎|0x100000|798\n性高潮|0x100000|621\n性格开朗|0x0000|553\n性格内向|0x0000|503\n性格特点|0x100000|504\n性格特征|0x100000|504\n性功能|0x100000|617\n性骨折|0x100000|483\n性关系|0x100000|759\n性幻想|0x0000|546\n性伙伴|0x100000|459\n性激素|0x100000|39410\n性急口快|0x1000000|100\n性疾病|0x100000|594\n性技巧|0x100000|512\n性价比|0x100000|55905\n性交易|0x100000|551\n性教育|0x100000|600\n性教育活动|0x100000|370\n性解放|0x100000|37810\n性经历|0x100000|456\n性科学|0x0008|412\n性快感|0x100000|493\n性溃疡|0x100000|473\n性冷淡|0x100000|522\n性烈如火|0x0000|100\n性命关天|0x1000000|100\n性命交关|0x1000000|1170\n性能参数|0x100000|540\n性能力|0x0000|543\n性能指标|0x100000|590\n性奴隶|0x100000|508\n性虐待|0x0000|44859\n性皮炎|0x100000|506\n性贫血|0x100000|525\n性气候|0x100000|456\n性器官|0x100000|41127\n性器具|0x100000|471\n性骚扰|0x0000|27975\n性生活|0x100000|25455\n性手枪|0x100000|372\n性玩具|0x100000|441\n性文化|0x100000|506\n性文学|0x100000|398\n性无能|0x0000|487\n性心理|0x100000|553\n性行为|0x100000|25855\n性学家|0x100000|417\n性用具|0x100000|410\n性用品|0x100000|657\n性欲望|0x100000|451\n性早熟|0x100000|468\n性知识|0x100000|585\n性姿势|0x100000|481\n性子宫|0x100000|425\n悻悻然|0x100000|962\n凶巴巴|0x0000|50776\n凶喘肤汗|0x1000000|100\n凶多吉少|0x1000000|28061\n凶年饥岁|0x1000000|1407\n凶杀案|0x100000|876\n凶神恶煞|0x1000000|34709\n凶相毕露|0x1000000|46620\n凶终隙末|0x800000|100\n凶终隙未|0x1000000|100\n兄弟般|0x40000000|427\n兄弟二人|0x400000|10\n兄弟姐妹|0x0000|626\n兄弟连|0x100000|556\n兄弟阋墙|0x1000000|52056\n兄弟阋于墙|0x0008|1199\n兄弟怡怡|0x1000000|1295\n兄肥弟瘦|0x1000000|100\n兄妹情|0x100000|376\n兄死弟及|0x0000|100\n匈牙利|0x0040|1114\n匈牙利队|0x100000|377\n匈牙利人|0x100000|1040\n匈牙利语|0x0008|1533\n汹涌彭湃|0x1000000|1\n汹涌澎湃|0x1000000|25735\n汹涌淜湃|0x1000000|100\n胸壁酰二肽|0x400000|0\n胸怀大局|0x800000|961\n胸怀大志|0x1000000|903\n胸怀磊落|0x0000|100\n胸怀坦荡|0x800000|920\n胸膜炎|0x100000|53501\n胸腔镜|0x100000|387\n胸外科|0x100000|979\n胸无成竹|0x1000000|1355\n胸无城府|0x1000000|1085\n胸无大志|0x800000|42814\n胸无点墨|0x1000|53024\n胸无宿物|0x1000000|100\n胸腺肽|0x100000|1077\n胸有成略|0x1000000|100\n胸有成算|0x1000000|100\n胸有成竹|0x1000000|17985\n胸有城府|0x1000000|100\n胸有鳞甲|0x100000|100\n胸有丘壑|0x0000|100\n胸有邱壑|0x1000000|100\n胸有悬镜|0x1000000|100\n胸中甲兵|0x1000000|100\n胸中垒块|0x0000|100\n胸中鳞甲|0x0000|100\n胸中万卷|0x1000000|100\n胸中无数|0x1000000|1392\n胸中有数|0x1000000|1187\n雄霸一方|0x400000|0\n雄辩高谈|0x0000|100\n雄才大略|0x1000000|36226\n雄材大略|0x1000000|1310\n雄唱雌和|0x1000000|100\n雄飞雌伏|0x0000|100\n雄黄酒|0x100000|51623\n雄鸡断尾|0x0000|100\n雄鸡夜鸣|0x1000000|100\n雄鸡一唱天下白|0x400000|0\n雄纠纠|0x0100|1008\n雄赳赳|0x0100|28882\n雄据一方|0x400000|0\n雄踞一方|0x400000|0\n雄深雅健|0x1000000|100\n雄视一世|0x400000|100\n雄图大略|0x800000|1253\n雄伟壮观|0x800000|911\n雄文大手|0x1000000|100\n雄心勃勃|0x800000|19910\n雄心壮志|0x1000000|24304\n雄性不育|0x0008|0\n雄性化|0x100000|0\n雄性激素|0x100000|460\n雄姿英发|0x1000000|48192\n熊经鸱顾|0x1000000|100\n熊经鸟申|0x1000000|100\n熊经鸟伸|0x1000000|1384\n熊经鸟曳|0x1000000|100\n熊经鸟引|0x1000000|100\n熊据虎跱|0x1000000|100\n熊猫手机|0x100000|441\n熊罴百万|0x0000|100\n熊罴入梦|0x1000000|100\n熊罴之士|0x0000|100\n熊十力|0x400000|0\n熊韬豹略|0x1000000|100\n熊瞎子|0x100000|1116\n熊心豹胆|0x1000000|1322\n熊样儿|0x0008|1173\n熊腰虎背|0x800000|0\n休兵罢战|0x0000|100\n休耕地|0x100000|1421\n休假日|0x0000|450\n休眠期|0x4000|1030\n休明盛世|0x0000|100\n休宁县|0x0040|1552\n休牛归马|0x1000000|100\n休牛散马|0x1000000|100\n休戚相关|0x1000000|31563\n休戚与共|0x1000000|34119\n休声美誉|0x0000|100\n休士顿|0x0080|0\n休斯敦|0x0040|1291\n休息日|0x4000|775\n休息室|0x100000|19266\n休闲活动|0x100000|816\n休闲小游戏|0x100000|525\n休闲鞋|0x100000|662\n休休有容|0x1000000|100\n休养生息|0x1000000|22653\n休养所|0x100000|46039\n休养院|0x100000|1205\n休止符|0x100000|44549\n修辞格|0x100000|1151\n修辞立诚|0x1000000|100\n修辞手法|0x100000|450\n修辞学|0x100000|996\n修道士|0x0000|441\n修道院|0x100000|23295\n修订版|0x100000|49284\n修订本|0x100000|40476\n修订稿|0x100000|973\n修订者|0x100000|0\n修短随化|0x0000|100\n修复一新|0x400000|0\n修改稿|0x100000|951\n修护队|0x100000|1\n修旧利废|0x1000000|54024\n修旧起废|0x0000|100\n修理部|0x100000|769\n修理厂|0x100000|699\n修理店|0x100000|904\n修理费|0x100000|971\n修理工|0x100000|877\n修理业|0x100000|884\n修理者|0x0000|409\n修鳞养爪|0x1000000|100\n修配厂|0x1000000|799\n修齐治平|0x1000000|1131\n修葺一新|0xc00000|2\n修桥补路|0x1000000|1072\n修缮一新|0x400000|368\n修身洁行|0x800000|100\n修身齐家|0x800000|1002\n修身养性|0x800000|38585\n修饰边幅|0x1000000|100\n修饰词|0x0000|382\n修饰语|0x100000|1051\n修水县|0x0040|1606\n修文县|0x0040|1075\n修文偃武|0x1000000|100\n修武县|0x0040|1605\n修心养性|0x1000000|992\n修行在个人|0x0008|1053\n修修补补|0x1000|974\n修造厂|0x100000|852\n修真养性|0x1000000|1293\n修正案|0x100000|6954\n修正主义|0x100000|12342\n羞耻感|0x100000|982\n羞耻心|0x100000|977\n羞答答|0x0100|39194\n羞恶之心|0x1000000|1135\n羞花闭月|0x0000|100\n羞面见人|0x0000|100\n羞人答答|0x1000000|54557\n羞羞答答|0x0100|937\n羞以牛后|0x0000|100\n羞于启齿|0x800000|987\n羞与哙伍|0x0000|100\n羞与为伍|0x1000000|1391\n脩辞立诚|0x1000000|100\n朽戈钝甲|0x1000000|100\n朽骨重肉|0x1000000|100\n朽棘不彫|0x1000000|100\n朽棘不雕|0x0000|100\n朽木不雕|0x1000000|100\n朽木不可雕|0x0008|992\n朽木粪墙|0x1000000|100\n朽木粪土|0x1000000|0\n朽木难彫|0x1000000|100\n朽木难雕|0x0000|100\n朽木生花|0x1000000|100\n朽木死灰|0x1000000|100\n朽索驭马|0x0000|100\n朽条腐索|0x1000000|100\n朽株枯木|0x1000000|100\n朽竹篙舟|0x1000000|100\n秀才不出门|0x0008|1098\n秀才人情|0x800000|1308\n秀才造反|0x0000|100\n秀出班行|0x1000000|100\n秀而不实|0x1000000|1278\n秀姑峦溪|0x0040|1131\n秀色可餐|0x1000000|43308\n秀水明山|0x0000|100\n秀外慧中|0x40000000|44863\n岫岩满族自治县|0x0040|1597\n绣墩草|0x100000|1301\n绣虎雕龙|0x0000|100\n绣花鞋|0x100000|36907\n绣花针|0x100000|43309\n绣花枕头|0x1000000|49652\n绣金匾|0x0008|1149\n绣口锦心|0x0000|100\n绣球花|0x100000|393\n袖手旁观|0x1000000|22552\n袖珍版|0x100000|1058\n袖珍本|0x100000|53505\n袖珍型|0x0008|1007\n溴代邻苯三酚红|0x400000|0\n溴酚蓝|0x100000|1338\n溴化钙|0x0008|0\n溴化钾|0x100000|1193\n溴化锂|0x100000|1043\n溴化钠|0x0008|1073\n溴化物|0x100000|1117\n溴化乙啶|0x0008|0\n溴化乙锭|0x0008|1366\n溴化银|0x100000|1330\n溴甲烷|0x0008|0\n溴邻苯三酚红|0x400000|0\n溴麝香草酚蓝|0x0008|0\n溴酸盐|0x100000|1293\n褎然冠首|0x0000|100\n褎然居首|0x0000|100\n褎然举首|0x1000000|100\n褎如充耳|0x1000000|100\n盱衡厉色|0x0000|100\n盱眙县|0x0040|1462\n须发皆白|0x800000|1017\n须眉皓然|0x0000|100\n须眉交白|0x0000|100\n须眉男子|0x0000|100\n须弥芥子|0x0000|100\n须髯如戟|0x0000|100\n虚词诡说|0x0000|100\n虚度年华|0x1000000|894\n虚度一生|0x400000|0\n虚废词说|0x0000|100\n虚怀若谷|0x1000000|35742\n虚晃一枪|0xc00000|1\n虚晃一下|0x400000|0\n虚晃一招|0x400000|0\n虚己受人|0x0000|100\n虚己以听|0x0000|100\n虚骄恃气|0x0000|100\n虚惊一场|0x400000|9\n虚论高议|0x0000|100\n虚拟光驱|0x100000|827\n虚拟机|0x100000|542\n虚拟空间|0x100000|516\n虚拟目录|0x100000|511\n虚拟内存|0x0000|556\n虚拟社区|0x100000|745\n虚拟现实|0x100000|848\n虚拟仪器|0x100000|440\n虚拟主机|0x0008|549\n虚飘飘|0x0100|53506\n虚情假意|0x800000|40050\n虚荣心|0x100000|22761\n虚弱不堪|0x800000|820\n虚室生白|0x0000|100\n虚堂悬镜|0x1000000|100\n虚套子|0x100000|0\n虚往实归|0x1000000|100\n虚位移|0x0008|0\n虚位以待|0x1000000|48937\n虚文浮礼|0x1000000|0\n虚无缥缈|0x1000000|36556\n虚无飘渺|0x1000000|829\n虚无主义|0x100000|27166\n虚席以待|0x1000000|1060\n虚虚实实|0x0100|898\n虚应故事|0x1000000|55520\n虚有其表|0x1000000|52061\n虚与委蛇|0x1000000|45437\n虚张声势|0x1000000|25298\n虚舟飘瓦|0x1000000|100\n虚嘴掠舌|0x1000000|100\n虚左以待|0x0000|100\n嘘寒问暖|0x1000000|30661\n嘘枯吹生|0x1000000|100\n嘘声四起|0x400000|1\n需求方|0x100000|989\n需求量|0x100000|689\n需求预测|0x100000|876\n需沙出穴|0x1000000|100\n需水量|0x100000|1081\n需要层次论|0x100000|1168\n需要量|0x100000|910\n需要者|0x100000|905\n魆风骤雨|0x1000000|100\n徐悲鸿|0x0080|1374\n徐长卿|0x100000|1152\n徐汇区|0x0040|1138\n徐娘半老|0x800000|45745\n徐水县|0x0040|1531\n徐闻县|0x0040|1654\n徐州市|0x0040|1150\n许昌市|0x0040|1326\n许昌县|0x0040|1534\n许多人|0x0000|750\n许可证|0x100000|4542\n许可证号|0x100000|612\n许许多多|0x0100|634\n呴湿濡沫|0x1000000|100\n栩栩如生|0x1000000|15963\n栩栩欲活|0x1000000|100\n旭日初升|0x1000000|1069\n旭日东升|0x1000000|905\n序列号|0x100000|696\n序数词|0x100000|1132\n叙家常|0x800000|48938\n叙利亚|0x0040|1262\n叙利亚人|0x100000|1154\n叙事曲|0x0008|1032\n叙事诗|0x100000|35743\n叙事文|0x100000|54561\n叙述性|0x40000000|386\n叙述者|0x100000|1023\n叙叙旧|0x1000|939\n叙永县|0x0040|1097\n恤老怜贫|0x0000|100\n畜产品|0x100000|14691\n畜牧场|0x100000|1021\n畜牧学|0x0008|0\n畜牧业|0x100000|5753\n畜妻养子|0x0000|100\n续凫断鹤|0x0000|100\n续凫截鹤|0x0000|100\n续航力|0x0008|1028\n续随子|0x0008|0\n续鹜短鹤|0x0000|100\n酗酒滋事|0x0000|100\n溆浦县|0x0040|1640\n絮果兰因|0x0000|100\n絮絮叨叨|0x0100|789\n嗅神经|0x100000|1248\n煦色韶光|0x1000000|100\n煦煦孑孑|0x1000000|100\n蓄电池|0x100000|26087\n蓄洪量|0x100000|1541\n蓄精养锐|0x0000|100\n蓄谋已久|0x800000|911\n蓄能器|0x100000|1039\n蓄热器|0x100000|0\n蓄势待发|0x800000|48195\n蓄水池|0x100000|25167\n蓄水量|0x100000|29062\n轩昂气宇|0x0000|100\n轩盖如云|0x0000|100\n轩鹤冠猴|0x1000000|100\n轩尼诗|0x0008|1414\n轩然大波|0x1000000|26647\n轩然霞举|0x0000|100\n轩轩甚得|0x0000|100\n轩轾不分|0x0000|100\n宣城市|0x0040|1250\n宣传报道|0x0000|518\n宣传部|0x100000|1058\n宣传部长|0x100000|851\n宣传车|0x100000|1024\n宣传单|0x100000|798\n宣传弹|0x100000|1328\n宣传队|0x100000|14766\n宣传工作|0x0008|755\n宣传画|0x100000|21244\n宣传教育|0x100000|744\n宣传科|0x100000|1022\n宣传品|0x100000|18376\n宣传员|0x100000|893\n宣传月|0x4000|909\n宣传周|0x4000|923\n宣恩县|0x0040|1643\n宣汉县|0x0040|1060\n宣化承流|0x0000|100\n宣化县|0x0040|1640\n宣礼塔|0x0040|1254\n宣誓书|0x100000|1268\n宣威市|0x0040|1558\n宣武区|0x0040|1229\n宣叙调|0x100000|1191\n宣言书|0x100000|41129\n宣战案|0x0008|0\n喧宾夺主|0x1000000|34407\n喧嚷一时|0x400000|0\n喧腾一时|0x400000|0\n喧嚣一时|0x400000|0\n揎拳拢袖|0x1000000|100\n揎拳掳袖|0x1000000|100\n揎拳捋袖|0x1000000|1537\n揎拳裸臂|0x1000000|100\n揎拳裸手|0x1000000|100\n揎拳裸袖|0x0000|100\n揎拳攞袖|0x1000000|100\n揎拳捰袖|0x1000000|100\n揎拳舞袖|0x1000000|100\n揎腕攘臂|0x1000000|100\n萱花椿树|0x0000|100\n諠客夺主|0x1000000|100\n玄辞冷语|0x1000000|100\n玄幻小说精选|0x100000|553\n玄酒瓠脯|0x1000000|100\n玄妙莫测|0x0000|100\n玄妙入神|0x0000|100\n玄明粉|0x0008|1338\n玄圃积玉|0x1000000|100\n玄武湖|0x0040|1421\n玄武岩|0x0040|1498\n玄之又玄|0x1000000|53507\n悬臂梁|0x0008|1102\n悬兵束马|0x1000000|100\n悬肠挂肚|0x1000000|100\n悬车告老|0x0000|100\n悬车束马|0x1000000|100\n悬车之年|0x1000000|100\n悬车之岁|0x1000000|100\n悬车致仕|0x0000|100\n悬鹑百结|0x1000000|100\n悬灯结彩|0x1000000|52513\n悬而未决|0x800000|22133\n悬浮固体|0x0008|0\n悬浮物|0x0008|994\n悬浮液|0x100000|1075\n悬鼓待椎|0x1000000|100\n悬龟系鱼|0x0000|100\n悬河泻火|0x1000000|100\n悬河泻水|0x1000000|100\n悬河注火|0x1000000|100\n悬河注水|0x1000000|100\n悬壶济世|0x1000000|988\n悬壶问世|0x0000|100\n悬狟素飡|0x1000000|100\n悬剑空垄|0x1000000|100\n悬旌万里|0x1000000|100\n悬梁刺股|0x1000000|1098\n悬梁刺骨|0x1000000|1074\n悬铃木|0x100000|1087\n悬门抉目|0x1000000|100\n悬若日月|0x0000|100\n悬石程书|0x1000000|100\n悬首吴阙|0x1000000|100\n悬索桥|0x100000|42330\n悬榻留宾|0x0000|100\n悬鞀建铎|0x1000000|100\n悬鼗建铎|0x0000|100\n悬头刺股|0x1000000|100\n悬驼就石|0x800000|100\n悬心吊胆|0x1000000|1539\n悬悬而望|0x800000|100\n悬崕峭壁|0x1000000|100\n悬崖绝壁|0x1000000|46323\n悬崖勒马|0x1000000|28233\n悬崖峭壁|0x1000000|867\n悬崖撒手|0x1000000|1240\n悬崖转石|0x1000000|100\n悬移质|0x100000|1247\n悬雍垂|0x100000|1223\n悬疣附赘|0x1000000|100\n悬浊液|0x100000|1247\n旋磁器件|0x100000|0\n旋得旋失|0x1000000|100\n旋风式|0x100000|1062\n旋干转坤|0x0000|100\n旋耕机|0x100000|1037\n旋光性|0x100000|1189\n旋流分离器|0x0008|0\n旋毛虫|0x100000|1193\n旋乾转坤|0x1000000|1237\n旋生旋灭|0x1000000|100\n旋翼机|0x100000|1230\n旋转餐厅|0x0000|50018\n旋转干坤|0x0000|100\n旋转关节|0x0008|0\n旋转门|0x0000|47866\n旋转起重机|0x0008|0\n旋转乾坤|0x1000000|1311\n旋转体|0x0008|1120\n旋转粘度计|0x0008|0\n旋转轴|0x100000|1085\n璇霄丹阙|0x1000000|100\n璇霄丹台|0x1000000|100\n选拔赛|0x100000|18015\n选兵秣马|0x1000000|100\n选歌试舞|0x1000000|100\n选购指南|0x100000|539\n选妓征歌|0x0000|100\n选举法|0x100000|1016\n选举票|0x100000|1307\n选举前|0x40000000|424\n选举权|0x100000|16769\n选举人|0x100000|1053\n选举日|0x4000|1105\n选举委员会|0x0000|492\n选举制|0x100000|1148\n选举制度|0x100000|980\n选矿厂|0x100000|421\n选民证|0x100000|39412\n选色征歌|0x0000|100\n选手村|0x0040|1212\n选舞征歌|0x0000|100\n选贤举能|0x1000000|1351\n选贤任能|0x1000000|49654\n选贤与能|0x1000000|1163\n选修课|0x100000|24536\n选择器|0x0000|463\n选择权|0x100000|790\n选择题|0x100000|35138\n选择性|0x100000|708\n选择性压裂|0x0008|0\n选择者|0x100000|0\n选择指数|0x0008|0\n烜赫一时|0x1400000|0\n癣疥之疾|0x1000000|54030\n炫奇争胜|0x0000|100\n炫巧斗妍|0x1000000|100\n炫石为玉|0x0000|100\n炫异争奇|0x1000000|100\n炫玉贾石|0x1000000|100\n炫昼缟夜|0x1000000|100\n绚丽多彩|0x1000000|23138\n绚丽多姿|0x1000000|33052\n眩碧成朱|0x0000|100\n眩目惊心|0x0000|100\n眩视惑听|0x0000|100\n衒玉贾石|0x1000000|100\n衒玉求售|0x1000000|100\n衒玉自售|0x1000000|100\n靴刀誓死|0x1000000|100\n穴居人|0x100000|1116\n穴居野处|0x1000000|54031\n学步邯郸|0x1000000|100\n学部委员|0x100000|1023\n学代会|0x100000|382\n学到老|0x800000|839\n学而不厌|0x1000000|51632\n学而时习之|0x0000|100\n学而优则仕|0x0008|1009\n学非所用|0x1000000|1143\n学分制|0x100000|33190\n学富才高|0x0000|100\n学富五车|0x1400000|45749\n学富五年|0x400000|0\n学贯中西|0x800000|42581\n学海无涯|0x800000|835\n学剑不成|0x800000|100\n学究气|0x100000|50019\n学究式|0x100000|0\n学究天人|0x800000|1164\n学科带头人|0x0000|537\n学科建设|0x100000|801\n学科心理学|0x0008|0\n学科专业|0x100000|501\n学老于年|0x1000000|100\n学雷锋|0x800000|817\n学历教育|0x100000|566\n学历证明|0x100000|466\n学历证书|0x100000|538\n学龄儿童|0x100000|964\n学龄前|0x40000000|503\n学龄前儿童|0x0000|469\n学年度|0x0008|1158\n学期结束|0x0000|446\n学期末|0x100000|470\n学前班|0x100000|42331\n学前教育|0x800000|27573\n学浅才疏|0x1000000|100\n学然后知不足|0x0008|1141\n学如不及|0x1000000|1195\n学如穿井|0x0000|100\n学如登山|0x0000|100\n学生包|0x100000|371\n学生处|0x100000|544\n学生党员|0x100000|520\n学生档案|0x100000|467\n学生服|0x100000|413\n学生干部|0x100000|563\n学生个性|0x100000|473\n学生公寓|0x100000|534\n学生会|0x100000|18162\n学生家长|0x100000|576\n学生界|0x100000|0\n学生联合会|0x0000|433\n学生妹|0x100000|534\n学生名单|0x100000|464\n学生奶|0x100000|408\n学生票|0x100000|522\n学生评语|0x100000|481\n学生腔|0x0000|47232\n学生人数|0x100000|508\n学生手机|0x100000|416\n学生守则|0x0008|0\n学生宿舍|0x100000|551\n学生娃|0x100000|1166\n学生味|0x0008|0\n学生用品|0x100000|424\n学生运动|0x0008|8\n学生证|0x0008|30662\n学生主动|0x100000|508\n学生装|0x100000|43789\n学生自治会|0x0008|0\n学识渊博|0x800000|898\n学士学位|0x0000|597\n学书不成|0x800000|100\n学书学剑|0x1000000|100\n学疏才浅|0x1000000|100\n学术报告|0x100000|837\n学术腐败|0x0000|466\n学术会议|0x0008|809\n学术活动|0x100000|874\n学术交流|0x100000|728\n学术界|0x100000|8876\n学术刊物|0x100000|883\n学术论文|0x100000|733\n学术期刊|0x100000|502\n学术前沿|0x100000|1011\n学术探讨|0x100000|1019\n学术讨论|0x100000|898\n学术讨论会|0x0000|448\n学术团体|0x100000|951\n学术性|0x100000|25108\n学术研究|0x100000|734\n学术研讨会|0x0000|547\n学术著作|0x100000|886\n学徒工|0x100000|48556\n学位证|0x100000|484\n学位证书|0x100000|538\n学无常师|0x0000|100\n学无止境|0x800000|49289\n学习班|0x100000|13570\n学习成绩|0x0000|624\n学习方法|0x100000|702\n学习机|0x100000|46927\n学习计划|0x0000|527\n学习理论|0x0000|500\n学习体会|0x0008|856\n学习心得|0x0008|555\n学习心理学|0x0008|1067\n学习用品|0x100000|897\n学习者|0x100000|764\n学习指南|0x100000|868\n学校德育|0x100000|509\n学校地址|0x100000|544\n学校后勤|0x100000|431\n学校领导|0x100000|566\n学校论坛|0x100000|456\n学校名称|0x100000|562\n学校食堂|0x100000|505\n学校图书馆|0x0008|1\n学业有成|0x800000|820\n学以致用|0x1000000|20184\n学用一致|0x400000|0\n学有所长|0x800000|1097\n学有所成|0x800000|910\n学有所用|0x800000|1053\n学有专长|0x800000|47547\n学院附中|0x100000|438\n学院路|0x100000|519\n学院派|0x100000|848\n学院学生|0x100000|539\n学院院长|0x100000|538\n学杂费|0x100000|16914\n学者型|0x20000000|979\n雪案萤窗|0x1000000|100\n雪案萤灯|0x1000000|100\n雪白色|0x100000|1010\n雪北香南|0x1000000|100\n雪鬓霜鬟|0x1000000|100\n雪鬓霜毛|0x1000000|100\n雪操冰心|0x1000000|100\n雪耻报仇|0x0000|100\n雪窗萤火|0x1000000|100\n雪窗萤几|0x1000000|100\n雪佛莱|0x0008|1043\n雪佛兰|0x0008|1182\n雪鸿指爪|0x1000000|100\n雪花膏|0x100000|32574\n雪窖冰天|0x1000000|100\n雪里红|0x100000|49290\n雪里蕻|0x100000|49290\n雪里送炭|0x1000000|51198\n雪利酒|0x100000|1165\n雪莲花|0x0000|45441\n雪龙号|0x100000|368\n雪泥鸿迹|0x1000000|100\n雪泥鸿爪|0x1000000|54566\n雪虐风饕|0x1000000|100\n雪茄烟|0x0008|980\n雪山飞狐|0x100000|821\n雪上加霜|0x1000000|16937\n雪上一枝蒿|0x400008|0\n雪胎梅骨|0x1000000|100\n雪天萤席|0x1000000|100\n雪铁龙|0x0008|1150\n雪碗冰瓯|0x0000|100\n雪窑冰天|0x0000|100\n雪月风花|0x1000000|1166\n雪兆丰年|0x1000000|939\n雪中鸿爪|0x1000000|100\n雪中送炭|0x1000000|17732\n血本无归|0x800000|857\n血常规|0x100000|450\n血风肉雨|0x0000|100\n血管病|0x100000|769\n血管瘤|0x100000|481\n血管性|0x100000|975\n血管炎|0x0000|396\n血光之灾|0x100000|941\n血海深仇|0x1000000|48196\n血汗钱|0x100000|20142\n血红蛋白|0x100000|29903\n血红色|0x0000|538\n血红素|0x100000|53033\n血糊糊|0x0100|53494\n血迹斑斑|0x800000|100\n血口喷人|0x1000000|42074\n血泪斑斑|0x0000|100\n血泪史|0x100000|886\n血泪盈襟|0x0000|100\n血淋淋|0x0100|19040\n血流成河|0x1000000|845\n血流成渠|0x0000|100\n血流漂杵|0x1000000|1248\n血流如注|0x1000000|41364\n血脉相连|0x800000|873\n血脉相通|0x1000000|953\n血脑屏障|0x0008|0\n血凝素|0x0008|1169\n血浓于水|0x800000|870\n血盆大口|0x800000|43310\n血气方刚|0x40000000|33704\n血清学|0x0008|1028\n血染沙场|0x0000|100\n血肉横飞|0x800000|35745\n血肉模糊|0x800000|789\n血肉相连|0x800000|31802\n血肉相联|0x800000|1150\n血肉之躯|0x800000|27896\n血色素|0x100000|47548\n血栓病|0x0000|54568\n血栓素|0x100000|0\n血栓形成|0x0008|462\n血栓症|0x100000|1\n血糖仪|0x100000|439\n血统工人|0x800000|932\n血统论|0x0000|50784\n血吸虫|0x100000|15670\n血吸虫病|0x100000|474\n血细胞|0x100000|39629\n血小板|0x100000|30771\n血性汉子|0x800000|975\n血性男儿|0x0000|100\n血循环|0x100000|1050\n血压计|0x100000|45751\n血液病|0x100000|41599\n血液科|0x100000|1578\n血液学|0x0008|969\n血液循环|0x0000|629\n血液制品|0x100000|458\n血友病|0x100000|40052\n血余炭|0x100000|1295\n血雨腥风|0x1000000|40260\n血缘关系|0x0000|545\n血债累累|0x0000|100\n血债血还|0x0000|381\n血战到底|0x800000|928\n血证论|0x0008|0\n谑而不虐|0x1000|100\n谑浪笑敖|0x1000000|100\n谑浪笑傲|0x1000000|100\n勋伯格|0x0008|1133\n埙篪相和|0x1000000|100\n熏风解愠|0x0000|100\n熏陶成性|0x0000|100\n熏天赫地|0x0000|100\n熏衣草|0x100000|796\n熏莸不同器|0x100000|1540\n熏莸同器|0x0000|100\n熏蒸剂|0x0008|1215\n薰天赫地|0x0000|100\n薰衣草|0x0008|637\n薰莸不同器|0x0008|100\n薰莸同器|0x0000|100\n寻瘢索绽|0x1000000|100\n寻弊索瑕|0x1000000|100\n寻甸回族彝族自治县|0x0040|1715\n寻短见|0x1000|36557\n寻风捉影|0x1000000|100\n寻根拔树|0x1000000|100\n寻根究底|0x1000000|46325\n寻根问底|0x1000000|1093\n寻根追底|0x800000|100\n寻壑经丘|0x1000000|100\n寻呼机|0x100000|31351\n寻呼台|0x0000|39007\n寻花觅柳|0x1000000|100\n寻花问柳|0x1000000|43311\n寻欢作乐|0x1000000|35586\n寻开心|0x1000|39631\n寻流逐末|0x1000000|100\n寻亲访友|0x800000|1224\n寻人启事|0x100000|853\n寻事生非|0x1000000|100\n寻死觅活|0x1000000|45752\n寻乌县|0x0040|1653\n寻瑕伺隙|0x0000|100\n寻消问息|0x1000000|100\n寻行数墨|0x1000000|100\n寻行逐队|0x1000000|100\n寻寻觅觅|0x800000|731\n寻幽入微|0x0000|100\n寻源讨本|0x1000000|100\n寻章摘句|0x1000000|53510\n寻枝摘叶|0x1000000|1534\n寻踪觅迹|0x1000000|1255\n巡边员|0x100000|1227\n巡捕房|0x100000|1150\n巡访团|0x100000|1354\n巡航导弹|0x0008|28323\n巡回车|0x0008|0\n巡回演出|0x800000|850\n巡回医疗|0x0008|1\n巡逻车|0x100000|946\n巡逻队|0x100000|930\n巡逻机|0x0008|1084\n巡逻艇|0x100000|35746\n巡视员|0x100000|923\n巡洋舰|0x100000|26710\n旬输月送|0x1000000|100\n旬阳县|0x0040|1650\n旬邑县|0x0040|1100\n驯兽师|0x100000|1000\n询根问底|0x1000000|100\n询谋佥同|0x1000000|100\n询谋谘度|0x1000000|100\n询迁询谋|0x1000000|100\n询事考言|0x1000000|100\n询问处|0x100000|1066\n询问者|0x100000|1148\n询于刍荛|0x1000000|1539\n循常习故|0x0000|100\n循次而进|0x0000|100\n循规蹈矩|0x1000000|30222\n循化撒拉族自治县|0x0040|1784\n循环论|0x100000|1194\n循环论证|0x100000|1150\n循环码|0x0008|0\n循环器|0x0008|1176\n循环群|0x0008|0\n循环赛|0x100000|23139\n循环体|0x100000|1094\n循环往复|0x1000000|28883\n循环无端|0x1000000|1330\n循环系统|0x800000|30116\n循环小数|0x800000|1143\n循名核实|0x0000|100\n循名覈实|0x1000000|100\n循名考实|0x0000|100\n循名课实|0x1000000|100\n循名责实|0x1000000|100\n循诵习传|0x0000|100\n循涂守辙|0x1000000|100\n循途守辙|0x1000000|100\n循序渐进|0x1000000|12107\n循循善诱|0x1000000|26428\n循循诱人|0x800000|997\n训导长|0x0008|0\n训导主任|0x0008|0\n训格之言|0x1000000|100\n训诂学|0x0008|389\n训练班|0x100000|858\n训练费|0x100000|1163\n训练器|0x0008|1549\n训练有素|0x1000000|757\n训练者|0x0000|405\n训育组|0x100000|0\n迅电流光|0x1000000|100\n迅雷不及掩耳|0x1000|34409\n迅雷风烈|0x1000000|100\n迅速发展|0x0000|625\n徇国忘身|0x0000|100\n徇情枉法|0x1000000|1268\n徇私枉法|0x800000|1040\n徇私舞弊|0x1000000|18675\n徇私作弊|0x1000000|100\n逊克县|0x0040|1065\n逊志时敏|0x1000000|100\n殉道者|0x100000|993\n殉葬品|0x100000|40678\n噀玉喷珠|0x1000000|100\n压不住|0x1000|462\n压担子|0x0000|39198\n压倒多数|0x0000|36910\n压倒性|0x20000000|847\n压倒一切|0x400000|12\n压倒元白|0x1000000|100\n压电效应|0x0008|1215\n压根儿|0x8000000|18352\n压光机|0x100000|1048\n压花玻璃|0x0008|1157\n压肩迭背|0x0000|100\n压肩叠背|0x1000000|100\n压卷之作|0x100000|1224\n压克力|0x0008|1203\n压克力板|0x100000|1089\n压控振荡器|0x0008|0\n压力变送器|0x0008|500\n压力表|0x0008|844\n压力传感器|0x0000|490\n压力锅|0x100000|39632\n压力机|0x100000|865\n压力计|0x100000|1002\n压力容器|0x100000|554\n压力梯度|0x0008|0\n压力仪表|0x100000|410\n压良为贱|0x0000|100\n压裂车|0x100000|1296\n压路机|0x100000|40262\n压敏电阻|0x100000|930\n压迫者|0x100000|1038\n压岁钱|0x100000|20635\n压缩比|0x0008|546\n压缩饼干|0x100000|44553\n压缩工具|0x0000|528\n压缩机|0x100000|21982\n压缩空气|0x100000|41600\n压缩率|0x0008|517\n压缩器|0x0008|1642\n压缩软件|0x0000|513\n压缩文件|0x0000|592\n压缩系数|0x0008|0\n压缩性|0x100000|1067\n压台戏|0x100000|1207\n压下量|0x100000|0\n压雪求油|0x1000000|100\n压延机|0x0008|969\n压抑感|0x100000|910\n压在心底|0x0000|392\n压榨机|0x0008|1082\n压寨夫人|0x100000|943\n压制性|0x0008|0\n压轴戏|0x100000|37812\n压铸机|0x100000|440\n鸦巢生凤|0x0000|100\n鸦胆子|0x100000|1162\n鸦飞雀乱|0x1000000|1534\n鸦飞鹊乱|0x1000000|100\n鸦没鹊静|0x1000000|100\n鸦默雀静|0x1000000|100\n鸦默鹊静|0x1000000|100\n鸦片酊|0x0008|0\n鸦片剂|0x100000|1540\n鸦片贸易|0x0008|2\n鸦片战争|0x100000|15495\n鸦雀无声|0x1000000|20186\n鸦雀无闻|0x1000000|100\n鸦鹊无声|0x1000000|1261\n鸦有反哺之义|0x0008|0\n鸭步鹅行|0x1000000|1368\n鸭蛋青|0x100000|1360\n鸭蛋圆|0x100000|0\n鸭绿江|0x0040|1360\n鸭绒被|0x100000|51636\n鸭舌帽|0x100000|36558\n鸭行鹅步|0x1000000|1538\n鸭跖草|0x100000|1196\n鸭嘴笔|0x100000|1412\n鸭嘴龙|0x100000|1229\n鸭嘴兽|0x100000|49655\n牙白口清|0x1000000|1319\n牙本质|0x0008|0\n牙膏管|0x0008|0\n牙骨质|0x0008|0\n牙花子|0x0000|55525\n牙间隙|0x0008|0\n牙科诊所|0x100000|946\n牙克石|0x0040|1522\n牙克石市|0x0040|1581\n牙买加|0x40000000|506\n牙签锦轴|0x1000000|100\n牙签万轴|0x1000000|100\n牙签犀轴|0x1000000|100\n牙签玉轴|0x1000000|100\n牙髓切断术|0x0008|0\n牙髓炎|0x0000|381\n牙髓摘除术|0x0008|0\n牙牙学语|0x1000|48562\n牙医师|0x100000|0\n牙龈炎|0x100000|994\n牙源性囊肿|0x0008|0\n牙周病|0x0008|47870\n牙周塞治剂|0x0008|0\n牙周炎|0x100000|55009\n牙周组织|0x0008|0\n睚眦必报|0x1000000|992\n衙官屈宋|0x1000000|100\n哑巴吃黄连|0x800000|952\n哑巴亏|0x100000|45442\n哑口无声|0x1000000|100\n哑口无言|0x1000000|27246\n哑然失笑|0x1000000|33457\n哑子吃黄连|0x0008|1336\n哑子托梦|0x1000000|100\n哑子寻梦|0x1000000|100\n哑子做梦|0x1000000|100\n雅安市|0x0040|1491\n雅典奥运|0x100000|537\n雅典奥运会|0x100000|588\n雅典娜|0x0008|1246\n雅尔塔|0x0040|1038\n雅格布森|0x0080|0\n雅各宾派|0x0008|0\n雅各布森|0x0080|1154\n雅加达|0x0040|10828\n雅江县|0x0040|1160\n雅可比多项式|0x0008|0\n雅量高致|0x1000000|100\n雅砻江|0x0040|1058\n雅鲁藏布|0x0040|1408\n雅鲁藏布江|0x0040|1462\n雅皮士|0x0008|55010\n雅雀无声|0x1000000|100\n雅人清致|0x1000000|100\n雅人深致|0x1000000|1311\n雅人韵士|0x1000000|100\n雅思考试|0x100000|800\n雅斯贝尔斯|0x0080|0\n雅俗共赏|0x1000000|24469\n雅温得|0x0040|1174\n亚伯拉罕|0x0080|1467\n亚当史密斯|0x0080|0\n亚当斯|0x0040|1381\n亚当夏娃|0x0080|2\n亚得里亚|0x0080|1076\n亚得里亚海|0x0040|1749\n亚的斯亚贝巴|0x0040|1738\n亚典波罗|0x0080|0\n亚东县|0x0040|1167\n亚非会议|0x0008|1178\n亚非拉|0x0008|32066\n亚寒带|0x100000|1166\n亚毫米波|0x0008|0\n亚肩迭背|0x1000000|100\n亚肩叠背|0x1000000|100\n亚健康|0x100000|25382\n亚锦赛|0x100000|521\n亚拉巴马|0x0080|1093\n亚拉巴马州|0x0040|1124\n亚里士多德|0x0080|1320\n亚里斯多德|0x0080|414\n亚理斯多德|0x0080|0\n亚力山大|0x0080|0\n亚历山大|0x0040|1182\n亚利安人|0x0008|1264\n亚利桑那|0x0040|1437\n亚利桑那州|0x0040|1547\n亚磷酸盐|0x100000|1542\n亚硫酸|0x0008|1014\n亚硫酸钠|0x100000|1053\n亚硫酸盐|0x100000|1159\n亚麻布|0x100000|52071\n亚麻油|0x0008|1046\n亚麻子|0x100000|1153\n亚马孙河|0x0040|1608\n亚马逊|0x0040|1083\n亚马逊河|0x0040|1547\n亚美利加|0x0040|1138\n亚美利加洲|0x100000|0\n亚美尼亚|0x0040|1342\n亚美尼亚共和国|0x0040|1642\n亚美尼亚人|0x100000|1162\n亚欧大陆|0x0040|927\n亚热带|0x100000|16175\n亚砷酸盐|0x100000|1427\n亚松森|0x0040|1194\n亚太地区|0x100000|6030\n亚特兰大|0x0040|1277\n亚特兰帝斯|0x0080|0\n亚铁磁性|0x0008|0\n亚文化|0x100000|447\n亚稳态|0x100000|1255\n亚稳相|0x0008|0\n亚细亚|0x0008|1312\n亚细亚生产方式|0x0008|0\n亚硝酸|0x100000|871\n亚硝酸钠|0x100000|1031\n亚硝酸盐|0x100000|925\n亚音速|0x100000|1091\n亚原子性|0x100000|0\n亚运村|0x100000|23959\n亚运会|0x100000|6334\n亚洲杯|0x0008|1208\n亚洲地区|0x0040|1294\n亚洲电视|0x100000|822\n亚洲各国|0x0000|499\n亚洲国家|0x0000|554\n亚洲明星|0x100000|444\n亚洲人|0x0008|536\n亚洲商业|0x100000|375\n亚洲太平洋地区|0x0040|1590\n亚洲象|0x100000|392\n亚洲小姐|0x100000|451\n亚足联|0x0040|891\n揠苗助长|0x1000000|47872\n咽喉炎|0x100000|53512\n咽苦吐甘|0x1000000|1352\n咽苦吞甘|0x0000|100\n咽峡炎|0x100000|1211\n烟波钓徒|0x1000000|1280\n烟波浩淼|0x1000000|960\n烟波浩渺|0x1000000|44870\n烟不出火不进|0x0008|100\n烟草行业|0x100000|512\n烟草业|0x100000|1041\n烟草专卖|0x0000|486\n烟袋锅|0x100000|37813\n烟断火绝|0x1000000|100\n烟飞星散|0x1000000|100\n烟霏雾集|0x1000000|100\n烟霏雨散|0x1000000|100\n烟花爆竹|0x0008|772\n烟花风月|0x1000000|100\n烟灰缸|0x100000|31109\n烟灰色|0x100000|1030\n烟聚波属|0x1000000|100\n烟卷儿|0x100000|14584\n烟幕弹|0x100000|49294\n烟屁股|0x100000|39009\n烟青虫|0x100000|1352\n烟视媚行|0x1000000|1030\n烟蓑雨笠|0x1000000|1266\n烟台市|0x0040|1040\n烟雾弹|0x0000|483\n烟雾弥漫|0x800000|866\n烟霞痼疾|0x1000000|100\n烟消火灭|0x1000000|1274\n烟消雾散|0x1000000|1212\n烟消云散|0x1000000|22964\n烟销灰灭|0x1000000|100\n烟熏火燎|0x800000|36229\n烟雨红尘|0x100000|442\n烟云过眼|0x1000000|1265\n烟嘴儿|0x100000|35445\n胭脂红|0x100000|51638\n淹会贯通|0x1000000|100\n淹旬旷月|0x0000|100\n淹淹一息|0x1400000|0\n焉得虎子|0x800000|991\n焉耆回族自治县|0x0040|1183\n焉知非福|0x1000000|863\n湮没无闻|0x1000000|1152\n鄢陵县|0x0040|1554\n嫣红姹紫|0x1000000|100\n嫣然一笑|0x1400000|29687\n蔫巴巴|0x0100|0\n蔫不出溜|0x0100|1373\n蔫儿坏|0x1000|1310\n蔫呼呼|0x0100|0\n蔫头耷脑|0x800000|49187\n延安市|0x0040|1440\n延边朝鲜族自治州|0x0040|1562\n延长县|0x0040|1089\n延长线|0x100000|841\n延迟时间|0x0000|475\n延迟线|0x0008|1180\n延川县|0x0040|1053\n延胡索|0x100000|1073\n延吉街|0x0040|1197\n延吉市|0x0040|1462\n延津剑合|0x1000000|100\n延津县|0x0040|1632\n延津之合|0x1000000|100\n延颈鹤望|0x1000000|100\n延颈举踵|0x1000000|100\n延颈跂踵|0x1000000|100\n延颈企踵|0x1000000|0\n延年益寿|0x1000000|34123\n延平北路|0x0040|0\n延平郡王|0x0080|1154\n延平郡王祠|0x100000|1194\n延平南路|0x0040|0\n延期付款|0x0008|0\n延庆县|0x0040|1403\n延伸到|0x0000|390\n延伸度|0x0008|0\n延时器|0x0008|1203\n延寿县|0x0040|1052\n延续性|0x100000|912\n延展性|0x100000|958\n严陈以待|0x1000000|100\n严惩不怠|0x0000|382\n严惩不贷|0x1000000|31458\n严父慈母|0x800000|1061\n严格地|0x0000|513\n严格控制|0x0000|602\n严格执法|0x0000|498\n严格执行|0x100000|637\n严格遵守|0x0000|596\n严家饿隶|0x1000000|100\n严酷性|0x100000|1215\n严令禁止|0x800000|1054\n严密性|0x100000|1014\n严气正性|0x1000000|100\n严丝合缝|0x1000000|39831\n严肃处理|0x0000|555\n严肃性|0x100000|875\n严肃音乐|0x0000|50022\n严刑峻法|0x1000000|1031\n严刑峻制|0x1000000|100\n严严密密|0x0100|1230\n严严实实|0x0100|771\n严要求|0x1000|7\n严以律己|0x800000|30990\n严于律己|0x1000000|20000\n严阵以待|0x1000000|27813\n严重不足|0x100000|557\n严重后果|0x0000|576\n严重性|0x100000|768\n妍蚩好恶|0x0000|100\n妍姿艳质|0x1000000|100\n言必信|0x800000|1034\n言必有据|0x1000000|100\n言必有物|0x1000000|100\n言必有中|0x1000000|1237\n言不达意|0x1000000|100\n言不逮意|0x1000000|100\n言不二价|0x1400000|0\n言不顾行|0x1000000|100\n言不及行|0x1000000|100\n言不及义|0x1000000|47873\n言不尽意|0x1000000|1135\n言不由中|0x1000000|100\n言不由衷|0x1000000|31353\n言差语错|0x800000|1533\n言出必行|0x800000|963\n言出法随|0x1000000|1325\n言出祸从|0x1000000|100\n言出祸随|0x1000000|100\n言传身教|0x1000000|26852\n言从计纳|0x1000000|100\n言从计听|0x1000000|100\n言从计行|0x1000000|100\n言颠语倒|0x1000000|100\n言多必失|0x1000000|929\n言多伤行|0x1000000|100\n言多伤幸|0x1000000|100\n言多伤倖|0x1000000|100\n言多语失|0x1000000|1248\n言而不信|0x1000000|100\n言而无文|0x1000000|0\n言而无信|0x1000000|39199\n言而有信|0x1000000|872\n言发祸随|0x1000000|100\n言方行圆|0x1000000|100\n言芳行洁|0x1000000|100\n言高语低|0x1000000|100\n言寡尤|0x800000|1232\n言归和好|0x1000000|100\n言归于好|0x1000000|37099\n言归正传|0x1000000|35140\n言过其实|0x1000000|32326\n言和意顺|0x1000000|100\n言简义丰|0x1000000|100\n言简意该|0x1000000|100\n言简意赅|0x1000000|26231\n言简意少|0x0000|100\n言简意深|0x1000000|100\n言近意远|0x1000000|100\n言近旨远|0x1000000|1285\n言近指远|0x1000000|100\n言来语去|0x1000000|100\n言类悬河|0x1000000|100\n言论风生|0x1000000|100\n言论自由|0x0008|792\n言气卑弱|0x0000|100\n言清行浊|0x1000000|100\n言情小说|0x100000|466\n言情小说吧|0x100000|448\n言情小说集|0x100000|448\n言情小说精选|0x100000|458\n言情小说书库|0x100000|573\n言人人殊|0x1000000|0\n言若悬河|0x1000000|100\n言三语四|0x1400000|0\n言十妄九|0x1400000|0\n言是人非|0x1000000|100\n言谈举止|0x1000000|839\n言谈林薮|0x0000|100\n言提其耳|0x1000000|100\n言听计从|0x1000000|31923\n言听计行|0x1000000|100\n言听计用|0x1000000|100\n言听谋决|0x1000000|100\n言听事行|0x1000000|100\n言听行从|0x1000000|100\n言外之味|0x1000000|100\n言外之意|0x1000000|30458\n言为心声|0x1000000|47874\n言文行远|0x1000000|100\n言文一致|0x400000|0\n言无不尽|0x1000000|884\n言无二价|0x1400000|51639\n言无伦次|0x1000000|100\n言下之意|0x800000|769\n言笑不苟|0x1000000|100\n言笑晏晏|0x1000000|1103\n言笑自如|0x1000000|100\n言笑自若|0x1000000|100\n言信行果|0x1000000|100\n言行抱一|0x1400000|0\n言行不贰|0x1000000|100\n言行不符|0x0000|100\n言行不一|0x1400000|6\n言行合一|0x400000|0\n言行计从|0x1000000|100\n言行录|0x100000|1178\n言行如一|0x400000|0\n言行若一|0x1400000|0\n言行相悖|0x0000|100\n言行相符|0x1000000|100\n言行相副|0x1000000|100\n言行相顾|0x1000000|100\n言行相诡|0x0000|100\n言行信果|0x1000000|100\n言行一致|0x1400000|10\n言扬行举|0x1000000|1344\n言犹未尽|0x800000|1163\n言犹在耳|0x1000000|42075\n言与心违|0x1000000|100\n言语道断|0x1000000|1165\n言语路绝|0x1000000|100\n言语妙天下|0x0008|1534\n言约旨远|0x1000000|100\n言者不知|0x1000000|1129\n言者弗知|0x1000000|100\n言者无罪|0x1000000|48565\n言者谆谆|0x1000000|100\n言之不文|0x1000000|0\n言之不预|0x1000000|100\n言之成理|0x1000000|41602\n言之过甚|0x1000000|100\n言之无文|0x1000000|1162\n言之无物|0x1000000|49657\n言之有故|0x1000000|100\n言之有据|0x1000000|48566\n言之有礼|0x0000|100\n言之有理|0x1000000|34877\n言之有物|0x1000000|38182\n言之有序|0x0000|100\n言之凿凿|0x1000000|40680\n言之谆谆|0x800000|100\n言中事隐|0x1000000|100\n言重九鼎|0x1400000|0\n岩白菜素|0x0008|0\n岩浆岩|0x0008|1187\n岩居川观|0x1000000|100\n岩居穴处|0x1000000|1538\n岩栖谷饮|0x1000000|100\n岩栖谷隐|0x1000000|100\n岩栖穴处|0x1000000|100\n岩石可钻性|0x0008|0\n岩石圈|0x100000|1130\n岩穴之士|0x1000000|1392\n沿波讨源|0x1000000|1398\n沿才受职|0x1000000|0\n沿海地区|0x0000|570\n沿海工业|0x0008|2\n沿海经济|0x0008|455\n沿海开放城市|0x0000|431\n沿河土家族自治县|0x0040|1195\n沿流讨源|0x1000000|100\n沿门持钵|0x1000000|100\n沿门讬钵|0x1000000|100\n沿门托钵|0x1000000|1305\n沿条儿|0x100000|0\n炎帝陵|0x100000|409\n炎黄子孙|0x100000|20678\n炎凉世态|0x1000000|1205\n炎陵县|0x0040|1645\n炎炎夏日|0x0000|522\n研发部|0x0008|869\n研机综微|0x1000000|100\n研京练都|0x1000000|100\n研经铸史|0x1000000|100\n研精毕智|0x1000000|100\n研精阐微|0x1000000|100\n研精殚力|0x1000000|100\n研精殚思|0x1000000|100\n研精钩深|0x0000|100\n研精竭虑|0x1000000|100\n研精究微|0x1000000|100\n研精苦思|0x0000|100\n研精覃思|0x1000000|100\n研精致思|0x1000000|100\n研究成果|0x100000|666\n研究工作|0x100000|710\n研究会|0x100000|683\n研究进展|0x100000|779\n研究课题|0x100000|797\n研究人员|0x100000|676\n研究生|0x100000|3619\n研究生导师|0x100000|483\n研究生教育|0x100000|534\n研究生课程|0x100000|520\n研究生论文|0x100000|401\n研究生院|0x100000|588\n研究室|0x100000|6742\n研究所|0x100000|3363\n研究性学习|0x100000|558\n研究一下|0x400000|1\n研究员|0x100000|5535\n研究院|0x100000|7753\n研究者|0x100000|724\n研究中心|0x100000|571\n研磨机|0x0008|1374\n研磨剂|0x0008|390\n研桑心计|0x1000000|100\n研讨班|0x100000|15133\n研讨会|0x100000|2865\n研习会|0x0000|437\n研修班|0x100000|28235\n研修生|0x100000|43548\n研制开发|0x100000|705\n研制者|0x100000|1127\n盐边县|0x0040|1095\n盐城市|0x0040|1123\n盐池县|0x0040|1078\n盐肤木|0x100000|1283\n盐湖城|0x0040|1482\n盐碱地|0x100000|19469\n盐碱化|0x1000|1127\n盐碱滩|0x100000|37266\n盐碱土|0x100000|1248\n盐津县|0x0040|1076\n盐梅相成|0x1000000|100\n盐梅之寄|0x0000|100\n盐梅舟楫|0x0000|100\n盐汽水|0x100000|1180\n盐山县|0x0040|1506\n盐水鸭|0x100000|412\n盐亭县|0x0040|1097\n盐坨子|0x100000|1262\n盐效应|0x0008|0\n盐源县|0x0040|1090\n盐渍化|0x1000|1181\n阎罗王|0x0008|860\n阎王殿|0x0000|44871\n阎王爷|0x0008|935\n阎王债|0x0000|47552\n阎王账|0x100000|1516\n颜丹鬓绿|0x1000000|100\n颜骨柳筋|0x1000000|100\n颜筋柳骨|0x1000000|1253\n颜精柳骨|0x1000000|100\n颜面扫地|0x800000|1017\n颜色代码|0x100000|553\n颜色混合|0x0008|0\n颜色视觉|0x0008|0\n颜色四方形|0x400000|0\n颜氏家训|0x100000|1088\n颜行书|0x100000|400\n颜真卿|0x0000|458\n兖州市|0x0040|1466\n奄奄待毙|0x800000|1259\n奄奄一息|0x1400000|22965\n俨乎其然|0x1000000|100\n衍生物|0x100000|29582\n偃兵修文|0x0000|100\n偃革倒戈|0x1000000|100\n偃革尚文|0x1000000|100\n偃革为轩|0x1000000|100\n偃甲息兵|0x0000|100\n偃旗仆鼓|0x1000000|100\n偃旗卧鼓|0x1000000|100\n偃旗息鼓|0x1000000|33595\n偃师市|0x0040|1392\n偃鼠饮河|0x1000000|100\n偃武崇文|0x1000000|100\n偃武觌文|0x1000000|100\n偃武櫜兵|0x1000000|100\n偃武息戈|0x1000000|100\n偃武兴文|0x1000000|100\n偃武行文|0x1000000|100\n偃武休兵|0x1000000|100\n偃武修文|0x1000000|48568\n掩鼻而过|0x800000|1182\n掩鼻偷香|0x0000|100\n掩蔽部|0x0008|49297\n掩蔽物|0x100000|1210\n掩恶扬美|0x1000000|100\n掩恶扬善|0x1000000|100\n掩耳盗铃|0x1000000|37814\n掩耳盗钟|0x1000000|100\n掩耳偷铃|0x1000000|100\n掩骼埋窆|0x1000000|100\n掩骼埋胔|0x1000000|100\n掩过饰非|0x1000000|100\n掩过扬善|0x1000000|100\n掩口而笑|0x1000000|1152\n掩口胡卢|0x1000000|100\n掩口葫芦|0x800000|100\n掩口失声|0x1000000|100\n掩面而泣|0x800000|964\n掩目捕雀|0x1000000|1534\n掩其不备|0x1000000|1357\n掩其无备|0x0000|100\n掩旗息鼓|0x1000000|100\n掩人耳目|0x1000000|38009\n掩瑕藏疾|0x0000|100\n掩眼捕雀|0x1000000|100\n眼巴巴|0x8000000|19205\n眼不见|0x800000|1014\n眼不见为净|0x0008|919\n眼馋肚饱|0x800000|100\n眼穿肠断|0x1000000|100\n眼穿心死|0x0000|100\n眼底病|0x100000|480\n眼底下|0x4000|54038\n眼高手低|0x1000000|46932\n眼高手生|0x0000|100\n眼关四路|0x400000|0\n眼观六路|0xc00000|1\n眼观六路，耳听八方|0x0000|48941\n眼观四处|0x400000|0\n眼观四方|0x400000|0\n眼观四路|0xc00000|0\n眼观四面|0x400000|0\n眼观为实|0x0000|100\n眼花耳热|0x1000000|1148\n眼花撩乱|0x0000|100\n眼花缭乱|0x1000000|14000\n眼花雀乱|0x0000|100\n眼花心乱|0x0000|100\n眼急手快|0x0000|100\n眼疾手快|0x800000|39418\n眼尖手快|0x0000|100\n眼见得|0x800000|18937\n眼见为实|0x800000|879\n眼角膜|0x100000|40265\n眼睫毛|0x100000|37452\n眼镜厂|0x100000|922\n眼镜店|0x100000|813\n眼镜盒|0x100000|912\n眼镜架|0x100000|951\n眼镜片|0x100000|950\n眼镜蛇|0x100000|36230\n眼开眉展|0x0000|100\n眼看四方|0x400000|0\n眼看四面|0x400000|0\n眼科学|0x100000|415\n眼科医院|0x100000|474\n眼空四海|0x1400000|0\n眼空无物|0x0000|100\n眼眶子|0x0000|43549\n眼冒金星|0x800000|900\n眼面前|0x800000|35446\n眼明手捷|0x1000000|0\n眼明手快|0x1000000|43075\n眼明心亮|0x1000000|100\n眼内无珠|0x800000|100\n眼皮底下|0x800000|27169\n眼皮子|0x100000|34878\n眼皮子浅|0x800000|0\n眼前亏|0x100000|34879\n眼前一亮|0x400000|11\n眼饧耳热|0x0000|100\n眼笑眉飞|0x0000|100\n眼药水|0x100000|829\n眼睁睁|0x8000000|15294\n眼中拔钉|0x0000|100\n眼中钉|0x100000|26649\n眼中有铁|0x1000000|100\n眼珠儿|0x100000|1139\n眼珠子|0x100000|13072\n演兵场|0x0000|42587\n演播室|0x100000|806\n演播厅|0x100000|42588\n演唱会|0x100000|14738\n演唱者|0x100000|746\n演出团|0x100000|1075\n演出者|0x100000|1045\n演讲比赛|0x0000|552\n演讲辞|0x100000|402\n演讲会|0x100000|939\n演讲人|0x100000|1000\n演讲台|0x100000|1022\n演讲者|0x100000|935\n演说家|0x0000|455\n演算法|0x0008|0\n演武修文|0x0000|100\n演艺界|0x100000|813\n演艺圈|0x100000|733\n演绎出|0x0000|519\n演绎法|0x100000|50401\n演员表|0x100000|802\n演员阵容|0x100000|867\n演职员|0x100000|29065\n演奏法|0x100000|1096\n演奏会|0x100000|876\n演奏家|0x100000|18788\n演奏台|0x100000|1368\n演奏厅|0x100000|984\n演奏员|0x100000|1067\n演奏者|0x100000|900\n厌故喜新|0x1000000|100\n厌难折冲|0x1000000|100\n厌食症|0x100000|862\n厌闻饫听|0x1000000|100\n厌氧菌|0x100000|1039\n厌氧微生物|0x0008|0\n砚山县|0x0040|1043\n宴安酖毒|0x1000000|100\n宴安鸠毒|0x1000000|100\n宴安鸩毒|0x1000000|0\n宴尔新婚|0x0000|100\n宴会服|0x100000|0\n宴会厅|0x100000|845\n晏安酖毒|0x1000000|100\n晏开之警|0x1000000|100\n艳光四射|0x400000|1\n艳绝一时|0x400000|0\n艳蓝色|0x100000|0\n艳情片|0x100000|406\n艳情小说|0x100000|460\n艳如桃李|0x1000000|1198\n艳色绝世|0x0000|100\n艳阳高照|0x800000|777\n艳阳天|0x100000|34254\n艳紫妖红|0x1000000|100\n验钞机|0x100000|53517\n验电器|0x100000|1133\n验光师|0x100000|1112\n验明正身|0x800000|46933\n验尸官|0x100000|1093\n掞藻飞声|0x0000|100\n焰火晚会|0x100000|441\n雁泊人户|0x1000000|100\n雁荡山|0x0040|1285\n雁断鱼沉|0x0000|100\n雁过拔毛|0x1000000|48202\n雁过拨毛|0x0000|100\n雁过留声|0x1000000|723\n雁来红|0x100000|0\n雁翎队|0x100000|1190\n雁门关|0x0040|1571\n雁默先烹|0x1000000|100\n雁南燕北|0x1000000|100\n雁去鱼来|0x1000000|100\n雁逝鱼沉|0x1000000|100\n雁素鱼笺|0x1000000|100\n雁塔题名|0x1000000|1283\n雁塔新题|0x1000000|100\n雁杳鱼沉|0x1000000|100\n雁影分飞|0x1000000|100\n燕安酖毒|0x1000000|100\n燕安鸩毒|0x1000000|100\n燕巢飞幕|0x1000000|100\n燕巢幕上|0x1000000|100\n燕巢幙上|0x1000000|100\n燕巢危幕|0x1000000|100\n燕巢卫幕|0x1000000|100\n燕巢于幕|0x0000|100\n燕俦莺侣|0x1000000|100\n燕处焚巢|0x1000000|100\n燕处危巢|0x1000000|100\n燕岱之石|0x1000000|100\n燕妒莺惭|0x1000000|100\n燕额虎头|0x1000000|100\n燕尔新婚|0x1000000|1281\n燕歌赵舞|0x1000000|100\n燕颔虎颈|0x1000000|100\n燕颔虎头|0x1000000|100\n燕颔虎须|0x1000000|100\n燕颔虬须|0x1000000|100\n燕颔儒生|0x1000000|100\n燕颔书生|0x1000000|100\n燕驾越毂|0x1000000|100\n燕金募秀|0x1000000|100\n燕京大学|0x0020|1616\n燕骏千金|0x1000000|100\n燕侣莺俦|0x1000000|100\n燕麦片|0x0008|970\n燕麦粥|0x100000|1050\n燕幕自安|0x1000000|100\n燕雀安知鸿鹄之志|0x0008|1006\n燕雀安知鸿鹄志|0x0008|100\n燕雀处堂|0x1000000|1431\n燕雀处屋|0x1000000|100\n燕雀岂知雕鹗志|0x0008|100\n燕雀相贺|0x1000000|100\n燕雀之见|0x1000000|100\n燕雀之居|0x1000000|100\n燕石妄珍|0x1000000|100\n燕市悲歌|0x1000000|0\n燕瘦环肥|0x1000000|1163\n燕尾服|0x100000|44277\n燕窝汤|0x0008|1218\n燕舞莺歌|0x1000000|100\n燕舞莺啼|0x1000000|100\n燕雁代飞|0x1000000|100\n燕燕莺莺|0x1000000|100\n燕燕于归|0x1000000|100\n燕翼贻谋|0x0000|100\n燕语莺声|0x1000000|1201\n燕语莺啼|0x1000000|100\n燕约莺期|0x1000000|100\n燕跃鹄踊|0x1000000|100\n燕昭好马|0x1000000|100\n燕昭市骏|0x1000000|100\n燕子衔食|0x1000000|100\n央视国际|0x0000|558\n泱泱大风|0x0000|100\n泱泱大国|0x1000000|37267\n殃及池鱼|0x1000000|52522\n秧歌剧|0x100000|52077\n鞅鞅不乐|0x1000000|100\n扬长避短|0x1000000|18938\n扬长补短|0x800000|1144\n扬长而去|0x800000|24028\n扬幡招魂|0x1000000|100\n扬风扢雅|0x1000000|100\n扬己露才|0x0000|100\n扬厉铺张|0x1000000|100\n扬铃打鼓|0x1000000|100\n扬眉瞬目|0x1000000|1275\n扬眉吐气|0x1000000|23044\n扬眉眴目|0x1000000|100\n扬名四海|0x400000|100\n扬名天下|0x800000|986\n扬名显亲|0x0000|100\n扬葩振藻|0x1000000|100\n扬清激浊|0x1000000|1360\n扬清厉俗|0x1000000|100\n扬清抑浊|0x1000000|100\n扬声器|0x100000|35588\n扬水站|0x100000|47554\n扬汤止沸|0x1000000|54042\n扬威曜武|0x1000000|100\n扬威耀武|0x1000000|1364\n扬武耀威|0x1000000|100\n扬扬得意|0x1000000|1151\n扬扬名|0x100000|0\n扬扬自得|0x1000000|1192\n扬中市|0x0040|1306\n扬州热线|0x100000|444\n扬州人|0x100000|985\n扬州市|0x0040|1110\n扬子鳄|0x100000|37636\n扬子江|0x0040|1318\n扬子晚报|0x100000|817\n羊肠九曲|0x400000|100\n羊肠鸟道|0x0000|100\n羊肠线|0x100000|1214\n羊肠小道|0x1000000|33459\n羊城通|0x100000|413\n羊城晚报|0x100000|773\n羊触藩篱|0x0000|100\n羊癫风|0x100000|1206\n羊羔美酒|0x0000|100\n羊羔绒|0x100000|384\n羊狠狼贪|0x1000000|100\n羊角风|0x100000|55976\n羊落虎口|0x0000|100\n羊毛出在羊身上|0x0008|960\n羊毛衫|0x100000|27897\n羊毛毯|0x0000|50789\n羊毛衣|0x100000|1096\n羊毛毡|0x100000|451\n羊毛脂|0x100000|1091\n羊毛状|0x100000|0\n羊皮袄|0x100000|1114\n羊皮筏|0x0000|52523\n羊皮纸|0x100000|54043\n羊绒纱|0x100000|403\n羊绒衫|0x100000|36231\n羊绒制品|0x100000|434\n羊肉串|0x100000|39634\n羊肉汤|0x0000|441\n羊入虎群|0x0000|100\n羊痫风|0x100000|1365\n羊蝎子|0x100000|388\n羊续悬鱼|0x0000|100\n羊质虎皮|0x1000000|0\n阳城县|0x0040|1518\n阳春白雪|0x1000000|37268\n阳春面|0x100000|52078\n阳春市|0x0040|1600\n阳春型|0x100000|0\n阳春有脚|0x1000000|100\n阳电子|0x100000|957\n阳东县|0x0040|1494\n阳奉阴违|0x1000000|31565\n阳刚之气|0x800000|37269\n阳高县|0x0040|1102\n阳谷县|0x0040|1587\n阳关大道|0x1000000|52079\n阳关道|0x100000|1027\n阳关三迭|0x400000|100\n阳光板|0x100000|423\n阳光工程|0x100000|520\n阳光明媚|0x0000|562\n阳光男孩|0x100000|470\n阳光普照|0x0000|501\n阳极板|0x0008|1170\n阳极泥|0x0008|0\n阳江市|0x0040|1314\n阳解阴毒|0x1000000|100\n阳离子|0x100000|51642\n阳离子交换树脂|0x0008|0\n阳历年|0x0000|47555\n阳陵泉|0x100000|1221\n阳明山|0x0040|1310\n阳起石|0x100000|1148\n阳跷脉|0x100000|0\n阳曲县|0x0040|1634\n阳泉市|0x0040|1374\n阳伞效应|0x100000|1249\n阳山县|0x0040|1069\n阳朔县|0x0040|1544\n阳维脉|0x100000|1216\n阳痿早泄|0x100000|419\n阳西县|0x0040|1611\n阳新县|0x0040|1563\n阳信县|0x0040|1581\n阳煦山立|0x1000000|100\n阳原县|0x0040|1640\n杨穿三叶|0x1400000|0\n杨虎围匡|0x1000000|100\n杨花水性|0x1000000|100\n杨花心性|0x1000000|100\n杨柳宫眉|0x1000000|100\n杨柳依依|0x800000|855\n杨浦区|0x0040|1224\n杨雀衔环|0x1000000|100\n杨生黄雀|0x1000000|100\n杨振宁|0x0080|1290\n杨朱泣岐|0x1000000|100\n佯风诈冒|0x1000000|100\n佯轮诈败|0x1000000|100\n佯输诈败|0x0000|100\n洋白菜|0x100000|1059\n洋车夫|0x100000|1320\n洋葱头|0x100000|868\n洋地黄|0x100000|1100\n洋橄榄|0x100000|1334\n洋鬼子|0x100000|21651\n洋海啸|0x100000|489\n洋红色|0x100000|1086\n洋基队|0x100000|1\n洋金花|0x0008|0\n洋泾浜|0x0000|43790\n洋泾滨|0x0008|1326\n洋快餐|0x100000|855\n洋垃圾|0x100000|450\n洋里洋气|0x0100|55014\n洋码子|0x100000|0\n洋品牌|0x100000|534\n洋气十足|0x400000|0\n洋枪队|0x100000|1204\n洋腔洋调|0x0000|55529\n洋嗓子|0x100000|1503\n洋水果|0x100000|393\n洋娃娃|0x100000|31355\n洋为中用|0x800000|33460\n洋味儿|0x0000|43321\n洋务派|0x100000|1071\n洋务运动|0x0008|945\n洋香瓜|0x100000|1224\n洋洋大观|0x1000000|44556\n洋洋得意|0x1000000|31567\n洋洋洒洒|0x0100|29476\n洋洋万言|0x800000|1122\n洋洋纚纚|0x1000000|100\n洋洋盈耳|0x0000|100\n洋洋自得|0x1000000|41605\n卬首信眉|0x1000000|100\n卬头阔步|0x1000000|100\n仰八叉|0x500000|52526\n仰不愧天|0x1000000|1266\n仰观俯察|0x1000000|1273\n仰面朝天|0x800000|960\n仰面唾天|0x1000000|100\n仰取俯拾|0x1000000|100\n仰人鼻息|0x1000000|51643\n仰人眉睫|0x1000000|100\n仰韶文化|0x800000|1033\n仰拾俯取|0x1000000|100\n仰事俯畜|0x1000000|100\n仰事俯育|0x1000000|100\n仰事俛畜|0x1000000|100\n仰首伸眉|0x1000000|100\n仰天长叹|0x800000|864\n仰天长啸|0x1000000|0\n仰天大笑|0x800000|890\n仰天一望|0x400000|0\n仰头一看|0x400000|0\n仰卧起坐|0x100000|44873\n仰屋窃叹|0x0000|100\n仰屋著书|0x1000000|100\n仰屋着书|0x0000|100\n仰之弥高|0x0000|100\n养兵千日|0x800000|1036\n养兵千日用兵一时|0x400000|100\n养儿防老|0x800000|995\n养蜂场|0x100000|1050\n养父母|0x100000|42819\n养虎留患|0x1000000|100\n养虎伤身|0x1000000|100\n养虎为患|0x0000|100\n养虎贻患|0x1000000|1325\n养虎遗患|0x1000000|54578\n养虎自毙|0x1000000|100\n养虎自残|0x1000000|100\n养虎自啮|0x0000|100\n养虎自齧|0x1000000|100\n养虎自贻灾|0x0008|1271\n养虎自遗患|0x0008|1420\n养虺成蛇|0x1000000|100\n养晦韬光|0x1000000|100\n养鸡场|0x100000|913\n养家糊口|0x1000000|29906\n养家活口|0x1000000|1082\n养精畜锐|0x1000000|100\n养精蓄锐|0x1000000|39420\n养军千日|0x800000|1261\n养老保险|0x100000|724\n养老金|0x100000|7151\n养老送终|0x1000000|1064\n养老院|0x100000|24411\n养路费|0x100000|30337\n养路工|0x100000|38801\n养锐蓄威|0x1000000|100\n养生丧死|0x1000000|100\n养生送死|0x1000000|1326\n养生送终|0x1000000|100\n养生之道|0x100000|825\n养兔场|0x100000|1219\n养威蓄锐|0x1000000|100\n养媳妇|0x100000|1363\n养贤纳士|0x0000|100\n养移体|0x100000|100\n养音九皋|0x1400000|0\n养鹰飏去|0x1000000|100\n养痈成患|0x1000000|1329\n养痈贻患|0x1000000|100\n养痈遗患|0x1000000|1368\n养鱼场|0x100000|1136\n养鱼池|0x100000|1127\n养育之恩|0x800000|839\n养殖场|0x100000|12588\n养殖户|0x100000|877\n养殖业|0x100000|8887\n养猪场|0x100000|931\n养猪户|0x100000|1098\n养猪业|0x100000|1069\n养子防老|0x1000000|0\n养尊处优|0x1000000|35592\n氧分压|0x100000|1195\n氧氟沙星|0x0008|983\n氧化钡|0x100000|0\n氧化氮|0x100000|980\n氧化钙|0x100000|976\n氧化锆|0x100000|932\n氧化铬|0x100000|1084\n氧化汞|0x100000|1195\n氧化钴|0x100000|1066\n氧化剂|0x100000|28505\n氧化锂|0x100000|0\n氧化磷|0x100000|0\n氧化硫|0x100000|1155\n氧化铝|0x100000|809\n氧化铝陶瓷|0x100000|389\n氧化酶|0x100000|1019\n氧化镁|0x100000|889\n氧化锰|0x100000|1190\n氧化钼|0x100000|1134\n氧化铍|0x100000|1318\n氧化铅|0x100000|1112\n氧化塔|0x0008|0\n氧化碳|0x100000|1217\n氧化铁|0x100000|934\n氧化铁红|0x100000|369\n氧化铜|0x100000|1043\n氧化钨|0x100000|1264\n氧化物|0x100000|19072\n氧化锌|0x100000|841\n氧化亚氮|0x100000|1209\n氧化亚铜|0x0008|1244\n氧化钇|0x100000|1196\n氧化镱|0x100000|0\n氧化银|0x100000|1078\n氧气管|0x100000|381\n氧气瓶|0x100000|38393\n氧气筒|0x100000|1135\n氧炔吹管|0x800000|1267\n氧原子|0x100000|1100\n怏怏不乐|0x0100|43791\n怏怏不悦|0x0000|100\n样板房|0x100000|529\n样板间|0x100000|506\n样板戏|0x0008|26583\n样品费|0x100000|0\n漾濞彝族自治县|0x0040|1231\n幺麽小丑|0x1000000|100\n幺豚暮鹨|0x1000000|100\n幺弦孤韵|0x1000000|100\n幺幺小丑|0x0000|100\n夭桃秾李|0x100000|100\n夭桃穠李|0x1000000|100\n吆五喝六|0xc00000|47239\n妖不胜德|0x1000000|1536\n妖里妖气|0x0100|51201\n妖魔鬼怪|0x1000000|40482\n妖声怪气|0x0100|0\n妖形怪状|0x1000000|1429\n妖言惑众|0x1000000|41608\n妖由人兴|0x1000000|1427\n腰板儿|0x100000|25793\n腰缠万贯|0x1000000|35449\n腰杆子|0x100000|45151\n腰鼓兄弟|0x0000|100\n腰肌劳损|0x0008|52080\n腰金拖紫|0x1000000|100\n腰金衣紫|0x1000000|100\n腰马合一|0x400000|0\n腰酸背疼|0x800000|908\n腰酸背痛|0x1000000|803\n腰痛穴|0x100000|0\n腰阳关|0x0008|0\n腰椎病|0x100000|400\n邀功请赏|0x1000000|1019\n邀功求赏|0x1000000|100\n邀功希宠|0x1000000|100\n邀名射利|0x1000000|100\n邀请函|0x100000|740\n邀请赛|0x100000|10351\n邀请书|0x100000|1010\n邀请信|0x100000|42081\n尧年舜日|0x1000000|100\n尧趋舜步|0x1000000|100\n尧舜禹|0x100000|372\n尧天舜日|0x1000000|55840\n姚安县|0x0040|1057\n姚黄魏品|0x1000000|100\n姚黄魏紫|0x1000000|100\n峣峣易缺|0x0000|100\n窑姐儿|0x100000|40917\n谣言惑众|0x800000|1200\n摇摆不定|0x800000|744\n摇摆舞|0x0008|54580\n摇笔杆儿|0x0000|53520\n摇笔即来|0x800000|100\n摇臂钻|0x0000|431\n摇唇鼓喙|0x0000|100\n摇唇鼓舌|0x1000000|53521\n摇脣鼓舌|0x1000000|0\n摇鹅毛扇|0x800000|55015\n摇滚歌曲|0x100000|439\n摇滚歌手|0x0000|463\n摇滚乐|0x100000|30339\n摇滚音乐|0x100000|484\n摇篮曲|0x100000|43550\n摇了一下|0x400000|0\n摇旗呐喊|0x1000000|35909\n摇钱树|0x100000|21332\n摇身一变|0x1400000|24919\n摇手触禁|0x1000000|100\n摇头摆脑|0x1000000|1214\n摇头摆尾|0x1000000|37271\n摇头稾脑|0x1000000|100\n摇头晃脑|0x1000000|28065\n摇头幌脑|0x1000000|0\n摇头麰尾|0x1000000|100\n摇头叹息|0x800000|910\n摇头丸|0x100000|28324\n摇尾乞怜|0x1000000|43322\n摇尾求食|0x0000|100\n摇尾涂中|0x1000000|100\n摇席破坐|0x1000000|100\n摇席破座|0x1000000|100\n摇摇摆摆|0x1000000|892\n摇摇晃晃|0x0100|721\n摇摇手|0x0000|466\n摇摇头|0x1000|612\n摇摇欲坠|0x1000000|27816\n摇羽毛扇|0x1000000|100\n摇嘴掉舌|0x1000000|100\n遥感技术|0x0008|5\n遥感平台|0x0008|0\n遥呼相应|0x1000000|100\n遥控器|0x100000|28784\n遥控装置|0x0008|6\n遥相呼应|0x1000000|30117\n遥遥地|0x8000000|1018\n遥遥华胄|0x1000000|100\n遥遥领先|0x800000|25929\n遥遥无期|0x1000000|30340\n遥遥相对|0x800000|964\n遥遥在望|0x0000|100\n瑶草奇花|0x1000000|1362\n瑶草琪花|0x1000000|1348\n瑶草琪葩|0x1000000|100\n瑶池女使|0x1000000|100\n瑶池玉液|0x0000|100\n瑶环瑜珥|0x0000|100\n瑶林琼树|0x1000000|100\n瑶林玉树|0x1000000|100\n瑶台琼室|0x1000000|100\n瑶台银阙|0x1000000|100\n杳不可闻|0x1000000|100\n杳如黄鹤|0x1000000|50404\n杳无人迹|0x1000000|1152\n杳无人烟|0x1000000|1113\n杳无消息|0x1000000|1240\n杳无信息|0x1000000|100\n杳无音耗|0x1000000|100\n杳无音信|0x1000000|37816\n杳无音讯|0x1000000|43551\n杳无影响|0x1000000|100\n杳无踪迹|0x1000000|1149\n杳无踪影|0x1000000|1161\n咬菜根|0x1000|0\n咬得菜根|0x1000000|1273\n咬钉嚼铁|0x1000000|100\n咬定牙根|0x1000000|1541\n咬定牙关|0x1000000|1371\n咬耳朵|0x1000|41838\n咬颊症|0x100000|0\n咬姜呷醋|0x1000000|100\n咬紧牙关|0x1000000|23297\n咬了一口|0x400000|533\n咬人狗儿不露齿|0x0000|100\n咬舌儿|0x100000|0\n咬文嚼字|0x1000000|31238\n咬文啮字|0x1000000|100\n咬文齧字|0x1000000|100\n咬血为盟|0x1000000|100\n咬牙恨齿|0x1000000|100\n咬牙切齿|0x1000000|16702\n咬咬牙|0x1000|786\n咬音咂字|0x1000000|100\n咬字儿|0x1000|0\n咬字眼儿|0x800000|100\n窈窕淑女|0x1000000|795\n药材店|0x0040|1143\n药到病除|0x800000|972\n药店飞龙|0x0000|100\n药罐子|0x100000|44036\n药剂拌种|0x800000|1280\n药剂师|0x100000|42083\n药剂学|0x100000|979\n药检所|0x100000|1052\n药理学|0x100000|855\n药理作用|0x100000|482\n药疗法|0x100000|1158\n药笼中物|0x100000|100\n药捻子|0x100000|55017\n药品包装|0x100000|484\n药品代理|0x100000|492\n药品店|0x0040|0\n药品广告|0x100000|505\n药品柜|0x100000|393\n药品价格|0x100000|526\n药品名称|0x100000|524\n药品信息|0x100000|571\n药品招商|0x100000|502\n药石之言|0x1000000|100\n药物性|0x100000|423\n药物学|0x0008|952\n药物制剂|0x100000|435\n药物中毒|0x0008|0\n药学系|0x100000|1078\n药引子|0x100000|52081\n药用价值|0x100000|480\n药用植物|0x100000|483\n要不得|0x800000|28683\n要不然|0x10000000|10213\n要不是|0x800000|7652\n要而论之|0x0000|100\n要而言之|0x800000|1247\n要饭的|0x100000|502\n要害之地|0x0000|100\n要价还价|0x1000000|100\n要面子|0x1000|28425\n要死不活|0x800000|54044\n要死要活|0x800000|844\n要言不烦|0x1000000|52533\n要言妙道|0x800000|1431\n耀武扬威|0x1000000|30460\n耀祖荣宗|0x0000|100\n椰子树|0x100000|907\n椰子油|0x0008|1022\n椰子汁|0x100000|1005\n爷儿俩|0x100000|1117\n爷儿们|0x100000|1120\n爷饭娘羹|0x1000000|100\n爷羹娘饭|0x1000000|100\n爷们儿|0x100000|11880\n爷爷奶奶|0x0000|557\n耶诞节|0x0008|440\n耶和华|0x0008|41840\n耶鲁大学|0x0020|1336\n耶路撒冷|0x0040|1301\n耶律涅鲁古|0x0080|0\n耶稣会|0x0008|1\n耶稣基督|0x100000|852\n耶稣教|0x0020|45758\n耶稣教徒|0x100000|872\n也就是|0x100000|496\n也就是说|0x800000|5092\n冶金部|0x100000|1584\n冶金工业|0x100000|832\n冶金工业部|0x0020|1102\n冶金矿产|0x100000|484\n冶金学|0x0008|1118\n冶炼厂|0x100000|821\n冶容诲淫|0x1000000|1359\n冶叶倡条|0x1000000|1357\n野百合|0x0008|0\n野草闲花|0x1000000|1155\n野岛伸司|0x0080|0\n野调无腔|0x1000000|100\n野孩子|0x100000|481\n野汉子|0x0000|45153\n野鹤孤云|0x1000000|100\n野鹤闲云|0x1000000|1241\n野火烧不尽|0x0008|950\n野菊花|0x0000|473\n野骆驼|0x100000|405\n野马无缰|0x1000000|100\n野马追|0x0008|0\n野蛮人|0x0000|571\n野茫茫|0x0000|433\n野牦牛|0x100000|420\n野没遗贤|0x1000000|100\n野玫瑰|0x0000|464\n野炮营|0x0040|0\n野葡萄|0x100000|52082\n野蔷薇|0x100000|46334\n野球拳|0x100000|386\n野人献曝|0x1000000|100\n野人献芹|0x1000000|100\n野人献日|0x1000000|100\n野人奏曝|0x1000000|100\n野山参|0x0008|55019\n野上丽香|0x0080|0\n野上唯香|0x0080|0\n野生动物|0x100000|697\n野生动物园|0x100000|524\n野生动植物|0x100000|500\n野生型|0x100000|0\n野生植物|0x0008|471\n野食儿|0x100000|0\n野兽派|0x0000|416\n野蔌山肴|0x1000000|100\n野外工作|0x100000|1072\n野外作业|0x0008|9\n野豌豆|0x100000|1253\n野味十足|0x400000|0\n野无遗才|0x1000000|100\n野无遗贤|0x1000000|100\n野心勃勃|0x1000000|33848\n野心家|0x100000|29907\n野丫头|0x0000|460\n野营地|0x100000|1224\n野营拉练|0x800000|912\n野战军|0x100000|20144\n野战排|0x0000|439\n野战炮|0x100000|1189\n野战条令|0x0008|0\n野战医院|0x0000|38802\n业绩考核|0x100000|494\n业精于勤|0x1000000|50406\n业峻鸿绩|0x1000000|100\n业内人士|0x100000|600\n业务部|0x100000|992\n业务部门|0x0000|556\n业务范围|0x100000|613\n业务经理|0x100000|551\n业务科|0x100000|989\n业务联系|0x0000|602\n业务流程|0x100000|603\n业务培训|0x0000|545\n业务人员|0x0008|4\n业务收入|0x100000|621\n业务水平|0x0000|541\n业务素质|0x0000|545\n业务员|0x100000|19106\n业务知识|0x100000|529\n业务主管|0x100000|540\n业协会|0x100000|565\n业业矜矜|0x1000000|100\n业业兢兢|0x1000000|100\n业余爱好|0x0000|504\n业余爱好者|0x0000|447\n业余大学|0x0008|0\n业余活动|0x100000|674\n业余教育|0x800000|1068\n业余赛|0x0008|1259\n业余生活|0x100000|484\n业余时间|0x0000|566\n业主大会|0x100000|523\n业主论坛|0x100000|684\n业主委员会|0x100000|576\n叶斑病|0x100000|1132\n叶城县|0x0040|1061\n叶公好龙|0x1000000|44875\n叶红素|0x100000|1306\n叶黄素|0x100000|1033\n叶利钦|0x100000|1550\n叶绿素|0x100000|26016\n叶绿体|0x100000|1106\n叶落归根|0x1000000|42590\n叶落知秋|0x1000000|1139\n叶面积|0x0080|1193\n叶面施肥|0x800000|1080\n叶尼塞河|0x0040|1198\n叶片泵|0x100000|400\n叶瘦花残|0x0000|100\n叶酸片|0x100000|373\n叶甜菜|0x100000|1517\n叶锈病|0x100000|1352\n叶子烟|0x100000|50407\n叶子猪|0x100000|465\n曳兵弃甲|0x1000000|100\n曳兵之计|0x1000000|100\n曳光弹|0x100000|54046\n曳裾王门|0x1000000|100\n曳尾泥涂|0x1000000|100\n曳尾涂中|0x1000000|1351\n曳引机|0x0008|1163\n邺架之藏|0x0000|100\n夜班车|0x100000|1035\n夜半三更|0x400000|0\n夜不闭户|0x1000000|48204\n夜不成寐|0x800000|1128\n夜长梦短|0x1000000|100\n夜长梦多|0x1000000|40920\n夜大学|0x100000|51647\n夜光杯|0x100000|47875\n夜光表|0x100000|53523\n夜黑风高|0x0008|0\n夜间班|0x100000|0\n夜静更阑|0x0000|100\n夜静更深|0x1000000|1174\n夜来香|0x100000|24029\n夜阑人静|0x1000000|896\n夜郎自大|0x1000000|36914\n夜礼服|0x100000|1114\n夜盲症|0x100000|55531\n夜猫子|0x800000|31356\n夜玫瑰|0x100000|420\n夜明珠|0x100000|41372\n夜幕低垂|0x800000|979\n夜尿症|0x100000|1310\n夜深人静|0x800000|20145\n夜生活|0x100000|32195\n夜时尚|0x100000|457\n夜视仪|0x0000|51204\n夜行被绣|0x1000000|100\n夜行军|0x100000|1189\n夜以继日|0x1000000|18914\n夜游神|0x100000|50408\n夜有所梦|0x800000|887\n夜雨对床|0x1000000|100\n夜总会|0x100000|17679\n液化气|0x100000|18546\n液化器|0x0008|1221\n液化石油气厂|0x100000|0\n液晶彩电|0x100000|441\n液晶电脑|0x100000|492\n液晶电视|0x100000|638\n液晶监视器|0x100000|411\n液晶面板|0x100000|524\n液晶模块|0x100000|399\n液晶屏|0x100000|613\n液晶屏幕|0x100000|514\n液晶显示|0x0008|597\n液晶显示屏|0x100000|597\n液晶显示器|0x100000|676\n液态奶|0x100000|487\n液态水|0x100000|392\n液体钙|0x100000|381\n液体灌装机|0x100000|459\n液体化工|0x100000|389\n液体燃料|0x0008|8\n液压泵|0x100000|928\n液压缸|0x100000|957\n液压工具|0x100000|401\n液压机|0x100000|862\n液压式|0x100000|0\n液压油|0x0008|1451\n液压转辙机|0x0008|0\n一巴掌|0x400000|612\n一把把|0x400000|2\n一把好手|0x0000|44282\n一把手|0x500000|5824\n一把死拿|0x1400000|0\n一把一把|0x400000|0\n一把钥匙开一把锁|0x400000|0\n一把抓|0x401000|29369\n一把子|0x400000|1184\n一白遮百丑|0x400000|0\n一白遮三丑|0x400000|0\n一百八十度|0x400000|913\n一百二十行|0x400000|1539\n一百分|0x100000|494\n一百万|0x600000|27\n一败如水|0x1400000|0\n一败涂地|0x1400000|28066\n一拜天地|0x400000|0\n一班班|0x400000|0\n一班半点|0x1400000|0\n一班人|0xc00000|45\n一班一辈|0x1400000|0\n一班一级|0x1400000|0\n一般般|0x500000|0\n一般保证|0x400000|0\n一般的说|0x400000|1072\n一般等价|0x400000|0\n一般等价物|0x400008|0\n一般地|0x400000|3\n一般地说|0xc00000|0\n一般而论|0xc00000|0\n一般而言|0xc00000|15\n一般方程|0x400000|0\n一般干警|0x400000|0\n一般规律|0x400000|2\n一般过去时|0x400000|0\n一般化|0x401000|29160\n一般见识|0x1400000|31925\n一般将来时|0x400000|0\n一般凯莱代数|0x400000|0\n一般来说|0xc00000|12315\n一般漫射照明|0x400000|0\n一般配合力|0x400000|0\n一般情况|0x400000|1\n一般情况下|0x400000|645\n一般群众|0x400000|2\n一般人|0x400000|700\n一般射影线性群|0x400000|0\n一般说来|0xc00000|1\n一般无二|0x1400000|0\n一般现在时|0x400000|0\n一般性|0x500000|31\n一般用户|0x400000|1\n一般照明|0x400000|0\n一斑半点|0x1400000|0\n一斑窥豹|0x1400000|0\n一板三眼|0x1400000|0\n一板一眼|0x1400000|38593\n一版版|0x400000|0\n一半天|0x0000|40921\n一瓣瓣|0x400000|0\n一瓣心香|0x1400000|0\n一棒一条痕|0x400008|0\n一包包|0x400000|0\n一包一包|0x400000|0\n一包在内|0x1400000|0\n一饱口福|0xc00000|0\n一饱眼福|0xc00000|39422\n一报还一报|0x400000|1029\n一暴十寒|0x1400000|0\n一杯杯|0x400000|0\n一杯一杯|0x400000|0\n一悲一喜|0x1400000|0\n一辈辈|0x400000|0\n一辈子|0x400000|3627\n一本本|0x400000|2\n一本初衷|0x400000|0\n一本万利|0x1400000|1\n一本一本|0x400000|0\n一本正经|0x1400000|17832\n一蹦三跳|0x400000|0\n一鼻孔出|0x400000|0\n一鼻孔出气|0x400008|46625\n一鼻子灰|0x1400000|0\n一笔笔|0x400000|0\n一笔不苟|0x1400000|0\n一笔带过|0xc00000|44283\n一笔勾断|0x1400000|0\n一笔勾消|0x1400000|0\n一笔勾销|0x1400000|32948\n一笔钩断|0x400000|0\n一笔抹摋|0x1400000|0\n一笔抹杀|0x1400000|49302\n一笔抹煞|0x1400000|0\n一笔一笔|0x400000|0\n一笔一画|0x400000|1\n一碧千里|0x400000|0\n一碧万倾|0x400000|0\n一碧万顷|0x1400000|0\n一臂之力|0x1400000|29370\n一边倒|0xc00000|26092\n一鞭先著|0x1400000|0\n一鞭一条痕|0x400008|0\n一遍遍|0x400000|7\n一遍一遍|0x400000|0\n一表非凡|0x1400000|0\n一表非俗|0x1400000|0\n一表人才|0x1400000|44284\n一表人材|0x1400000|0\n一表人物|0x1400000|0\n一表堂堂|0x1400000|0\n一别多年|0x400000|0\n一兵一卒|0x400000|2\n一秉大公|0x1400000|0\n一秉虔诚|0x1400000|0\n一秉至公|0x1400000|0\n一并处理|0x400000|0\n一病不起|0x1400000|36069\n一拨拨|0x400000|0\n一波才动万波随|0x400000|100\n一波三折|0x1400000|24610\n一波万波|0x1400000|0\n一波未平|0x1400000|3\n一波又起|0x1400000|2\n一不留神|0x400000|1\n一不扭众|0x1400000|0\n一不为少|0x400000|0\n一不小心|0xc00000|19\n一不压众|0x1400000|0\n一不注意|0x400000|0\n一不做|0xc00000|0\n一不做二不休|0x400000|458\n一步步|0x400000|415\n一步到位|0xc00000|24670\n一步登天|0x1400000|39423\n一步法|0x500000|0\n一步法三维偏移|0x400000|0\n一步一步|0x400000|22\n一步一个脚印|0x400008|4\n一步一鬼|0x1400000|0\n一步一趋|0x1400000|0\n一步之遥|0x400000|5\n一部部|0x400000|2\n一部分|0x400000|1433\n一部一部|0x400000|1\n一草一木|0x1400000|3\n一册册|0x400000|0\n一层层|0x400000|8\n一层楼|0x400000|7\n一层一层|0x400000|1\n一查到底|0x400000|16\n一茬茬|0x400000|0\n一茬一茬|0x400000|1\n一差半错|0x1400000|0\n一差二错|0x1400000|55532\n一差二误|0x1400000|0\n一差二悮|0x1400000|0\n一差两讹|0x1400000|0\n一长半短|0x1400000|0\n一长串|0x1400000|3\n一长二短|0x1400000|0\n一长两短|0x1400000|0\n一长一短|0x1400000|0\n一场场|0x400000|3\n一场春梦|0x1400000|0\n一场空|0x500000|32710\n一场一场|0x400000|3\n一倡百和|0x1400000|0\n一倡三叹|0x1400000|0\n一倡一和|0x1400000|0\n一唱百和|0x1400000|54582\n一唱三叹|0x1400000|0\n一唱一和|0x1400000|39832\n一朝被蛇咬|0x400000|0\n一朝千里|0x1400000|0\n一朝权在手|0x400008|0\n一朝天子|0x400000|0\n一朝天子一朝臣|0x400008|1\n一朝一夕|0x1400000|22381\n一朝之忿|0x1400000|0\n一朝之患|0x1400000|0\n一车车|0x400000|0\n一车一车|0x400000|0\n一彻万融|0x1400000|0\n一尘不到|0x1400000|0\n一尘不染|0x1400000|21882\n一尘不缁|0x1400000|0\n一尘莫沾|0x400000|0\n一成不变|0x1400000|17124\n一成不易|0x1400000|0\n一成一旅|0x1400000|0\n一程程|0x400000|0\n一程子|0x500000|42338\n一逞兽欲|0x400000|0\n一弛一张|0x400000|100\n一池池|0x400000|0\n一池春水|0x400000|0\n一池秋水|0x400000|0\n一匙之量|0x400000|0\n一尺水翻腾做百丈波|0x400000|100\n一尺水翻腾做一丈波|0x400000|100\n一尺水十丈波|0x400008|0\n一筹莫展|0x1400000|19829\n一出出|0x400000|0\n一出一出|0x400000|0\n一处处|0x400000|8\n一处一处|0x400000|0\n一触即爆|0x400000|0\n一触即发|0x1400000|27321\n一触即溃|0x1400000|52536\n一传两|0x400000|0\n一传十|0xc00000|0\n一船船|0x400000|0\n一船一船|0x400000|0\n一串串|0x400000|732\n一串骊珠|0x1400000|0\n一床锦被遮盖|0x400008|0\n一床两好|0x1400000|0\n一吹一唱|0x400000|0\n一棰定声|0x1400000|0\n一槌定音|0x1400000|0\n一锤锤|0x400000|0\n一锤定音|0x1400000|31806\n一锤一锤|0x400000|0\n一锤子买卖|0x400008|45450\n一辞莫赞|0x400000|100\n一辞同轨|0x1400000|0\n一次不忠百次不用|0x400000|0\n一次次|0x400000|550\n一次方程|0x500000|0\n一次解决|0x400000|1\n一次能源|0x500000|1\n一次通过式燃料循环|0x400000|0\n一次性|0x20400000|5975\n一次性餐具|0x100000|430\n一次性用品|0x100000|438\n一次一次|0x400000|2\n一次又一次|0x400000|633\n一丛丛|0x400000|1\n一丛一丛|0x400000|0\n一粗一细|0x400000|0\n一簇簇|0x400000|1\n一蹴而成|0x1400000|0\n一蹴而得|0x1400000|0\n一蹴而及|0x400000|0\n一蹴而就|0x1400000|18448\n一蹴而易|0x400000|0\n一蹴可成|0x400000|0\n一蹴可及|0x400000|0\n一蹴可几|0x1400000|0\n一村村|0x400000|0\n一村一村|0x400000|0\n一寸长一寸强|0x400000|0\n一寸赤心|0x1400000|0\n一寸寸|0x400000|0\n一寸丹心|0x1400000|0\n一寸短一寸险|0x400000|0\n一寸光阴一寸金|0x400008|0\n一寸一寸|0x400000|0\n一错再错|0x400000|777\n一搭二用|0x400000|0\n一搭两用|0x1400000|0\n一搭一档|0x1400000|0\n一沓沓|0x400000|0\n一沓一沓|0x400000|0\n一打打|0x400000|0\n一大把|0x400008|4\n一大半|0x500000|6\n一大笔钱|0x400000|9\n一大堆|0x400000|699\n一大块|0x400000|1\n一大批|0x40000000|4279\n一大片|0x400000|374\n一大群|0x400000|607\n一大早|0x404000|9846\n一代不如一代|0x400000|1\n一代代|0x400000|857\n一代鼎臣|0x400000|100\n一代风流|0x1400000|0\n一代豪杰|0x400000|0\n一代楷模|0x500000|0\n一代人|0x500000|40\n一代谈宗|0x400000|100\n一代文宗|0x400000|100\n一代新人|0x400000|0\n一代新人换旧人|0x400000|2\n一代一代|0x400000|2\n一代英豪|0x400000|0\n一代宗臣|0x400000|100\n一代宗师|0x400000|0\n一袋袋|0x400000|3\n一袋一袋|0x400000|0\n一担担|0x400000|0\n一担一担|0x400000|0\n一箪食|0x400000|0\n一箪一瓢|0x1400000|0\n一旦一夕|0x1400000|0\n一弹指顷|0x1400000|0\n一党独大|0x400000|2\n一党制|0x500000|1\n一刀两段|0x1400000|1\n一刀两断|0x1400000|31114\n一刀切|0x1400000|15339\n一刀一刀|0x400000|0\n一道道|0x400000|714\n一道一道|0x400000|0\n一得之功|0x1400000|0\n一得之见|0x1400000|53524\n一得之愚|0x1400000|0\n一德一心|0x1400000|0\n一灯大师|0x400000|0\n一登龙门|0x400000|0\n一等兵|0x400000|473\n一等舱|0x500000|0\n一等功|0x500000|20\n一等奖|0x500000|50\n一等品|0x400008|0\n一等一|0x400008|0\n一滴滴|0x400000|1\n一滴一滴|0x400000|0\n一颠一跛|0x400000|0\n一颠一颠|0x400000|0\n一点半点|0x1400000|0\n一点点|0x400000|498\n一点儿|0x400000|6264\n一点红|0x500000|0\n一点灵犀|0x1400000|0\n一点也|0x400000|16\n一点也不|0x400000|670\n一点也没|0x400000|7\n一点一滴|0x400000|17701\n一点一点|0x400000|10\n一雕双兔|0x1400000|0\n一调之下|0x400000|0\n一跌不振|0x1400000|0\n一跌再跌|0x400000|2\n一叠叠|0x400000|0\n一丁不识|0x1400000|0\n一丁点儿|0x400000|35141\n一顶顶|0x400000|0\n一定不移|0x1400000|0\n一定不易|0x1400000|0\n一定程度|0x400000|85\n一定会|0x400000|847\n一定能够|0x400000|58\n一定数量|0x400000|29\n一定要|0x400000|929\n一定之规|0x1400000|43076\n一动不动|0xc00000|11667\n一动不如|0x400000|0\n一动不如一静|0x400008|0\n一动体育|0x400000|0\n一栋栋|0x400000|5\n一读再读|0x400000|0\n一睹芳容|0xc00000|1\n一睹之下|0x400000|0\n一肚子|0x400000|11690\n一肚子火|0x400000|0\n一肚子气|0x400000|0\n一段段|0x400000|3\n一段距离|0x400000|11\n一段路|0x400000|12\n一段时间|0x400000|809\n一段一段|0x400000|0\n一堆堆|0x400000|3\n一堆一堆|0x400000|0\n一队队|0x400000|2\n一队一队|0x400000|0\n一对对|0x400000|1\n一对一|0xc00000|37\n一对一对|0x400000|0\n一顿饭|0x400000|7\n一多半|0x500000|32196\n一朵朵|0x400000|567\n一朵一朵|0x400000|0\n一垛垛|0x400000|0\n一而二|0x400000|0\n一而光|0x400000|100\n一而再|0xc00000|4\n一而再再|0x400000|0\n一而再再而三|0x400000|446\n一二·九运动|0x0000|50409\n一发不可|0x400000|0\n一发不可收拾|0x400000|557\n一发而不可收拾|0x400008|2\n一发千钧|0x1400000|54047\n一帆风顺|0x1400000|16138\n一帆顺风|0x1400000|0\n一番话|0x500000|12\n一番苦心|0x400000|0\n一番滋味|0x100000|477\n一反常态|0x1400000|27976\n一反既往|0x400000|100\n一反其道|0x400000|100\n一饭千金|0x1400000|0\n一饭三吐哺|0x400000|1302\n一饭一啄|0x400000|0\n一饭之德|0x1400000|0\n一方方|0x400000|0\n一方面|0x400000|1765\n一方一方|0x400000|0\n一方有难|0xc00000|4\n一方有难八方支援|0x400000|0\n一方之任|0x1400000|0\n一房一厅|0x400000|0\n一飞冲天|0x1400000|2\n一吠百声|0x1400000|0\n一分耕耘|0x400000|0\n一分钱|0x400000|644\n一分钱一|0x400000|0\n一分钱一分货|0x400000|0\n一分收获|0x400000|0\n一分为二|0x1400000|20838\n一分一分|0x400000|0\n一分一毫|0x1400000|0\n一分一秒|0x400000|540\n一份份|0x400000|6\n一份一份|0x400000|0\n一风吹|0x1400000|50793\n一封封|0x400000|0\n一封一封|0x400000|0\n一佛出世|0x1400000|0\n一夫当关|0x1400000|0\n一夫多妻|0x400000|465\n一夫一妻|0x400000|870\n一夫一妻制|0x500000|5\n一夫之勇|0x1400000|0\n一夫之用|0x1400000|0\n一服药水|0x400000|0\n一幅一幅|0x400000|0\n一府两院|0x500000|6\n一副副|0x400000|0\n一傅众咻|0x1400000|0\n一改故辙|0x1400000|0\n一概不理|0x400000|0\n一概不知|0x400000|1\n一概而论|0x1400000|30773\n一干二净|0x1400000|23398\n一干人犯|0x500000|0\n一杆杆|0x400000|0\n一杆子打翻一船人|0x400000|0\n一竿子插到底|0x0000|54583\n一竿子打|0x400000|0\n一岗双责|0xc00000|5\n一高二低|0x1400000|0\n一稿多投|0x400000|2\n一个巴掌拍不响|0x400008|1\n一个半个|0x1400000|0\n一个鼻孔|0x400000|0\n一个鼻孔出气|0x400000|0\n一个地点|0x400000|6\n一个都不能少|0x400000|6\n一个多月|0x400000|123\n一个个|0x400000|95\n一个国家两种制度|0x400000|0\n一个好汉三个帮|0x400000|0\n一个箭步|0x400000|3\n一个劲|0x8400000|12\n一个劲儿|0x8400000|18702\n一个萝卜一个坑|0x400008|0\n一个男孩|0x100000|557\n一个女大学生|0x100000|454\n一个情节|0x400000|1\n一个人|0x400000|322\n一个时间|0x400000|13\n一个舒服|0x400000|0\n一个心眼|0x400000|1\n一个心眼儿|0x401000|41610\n一个样|0x400100|3\n一个一个|0x400000|11\n一个又一个|0x400000|618\n一个愿挨|0x400000|0\n一个愿打|0x400000|0\n一个中国|0x400000|205\n一个中心|0x400000|13\n一个中心两个基本点|0x400000|0\n一个重要方面|0x400000|472\n一根根|0x400000|5\n一根筋|0x0000|46056\n一根藤上的瓜|0x400000|0\n一根一板|0x1400000|0\n一根一根|0x400000|0\n一孤之腋|0x400000|0\n一古脑儿|0xc00000|0\n一谷不登|0x400000|100\n一谷不升|0x400000|100\n一股股|0x400000|5\n一股劲儿|0xc00000|45155\n一股脑|0x8400000|4\n一股脑儿|0x1400000|36070\n一股一股|0x400000|0\n一骨碌|0x401000|26369\n一鼓一板|0x1400000|0\n一鼓作气|0x1400000|23835\n一顾千金|0x400000|100\n一顾倾城|0x1400000|0\n一挂挂|0x400000|0\n一挂之下|0x400000|0\n一官半职|0x1400000|0\n一贯道|0x0000|51648\n一贯方针|0x400000|3\n一贯下来|0x400000|0\n一贯性|0x500000|43324\n一贯制|0x500000|0\n一贯主张|0x400000|31\n一贯作风|0x400000|1\n一贯作业|0x400000|0\n一罐罐|0x400000|0\n一轨同风|0x1400000|0\n一棍子打死|0x400008|52537\n一锅端|0xc00000|53525\n一锅粥|0xc00000|36564\n一锅煮|0x401000|51205\n一国两制|0x500000|5033\n一国三公|0x1400000|0\n一国之君|0x400000|0\n一国之主|0x400000|0\n一寒如此|0x1400000|0\n一毫不差|0x1400000|0\n一毫不苟|0x1400000|0\n一毫不染|0x1400000|0\n一毫千里|0x1400000|0\n一好百好|0x400000|1\n一呵而就|0x1400000|0\n一盒盒|0x400000|0\n一盒一盒|0x400000|0\n一狠二狠|0x1400000|0\n一轰而散|0x400000|0\n一哄而起|0x1400000|25599\n一哄而散|0x1400000|35596\n一哄而上|0x1400000|25857\n一弘清泉|0x400000|0\n一呼百诺|0x1400000|50410\n一呼百应|0x1400000|38594\n一呼再喏|0x1400000|0\n一忽儿|0x404000|0\n一狐之掖|0x1400000|0\n一狐之腋|0x1400000|0\n一壶酒|0x400000|486\n一壶千金|0x1400000|0\n一虎不河|0x1400000|0\n一虎难敌众犬|0x400000|0\n一户户|0x400000|0\n一户一户|0x400000|2\n一花独放|0x1400000|0\n一花独秀|0x400000|0\n一画开天|0x1400000|0\n一褱而论|0x1400000|0\n一还一报|0x1400000|0\n一环紧扣一环|0x400000|0\n一环扣一环|0x400008|1\n一环一环|0x400000|0\n一簧两舌|0x1400000|0\n一晃而过|0x400000|0\n一挥而成|0x1400000|0\n一挥而就|0x1400000|36071\n一挥九制|0x1400000|0\n一麾出守|0x1400000|0\n一回生二回熟|0x400000|0\n一回事|0x1000|7613\n一回一回|0x400000|0\n一会儿|0x8400000|2027\n一晦一明|0x1400000|0\n一荤一素|0x400000|1\n一伙儿|0x0000|12889\n一伙一伙|0x400000|1\n一击必杀|0x400000|0\n一饥两饱|0x1400000|0\n一鸡死一鸡鸣|0x400000|0\n一级代理|0x100000|514\n一级代理商|0x100000|464\n一级方程式|0x100000|477\n一级级|0x400000|0\n一级简码|0x400000|0\n一级企业|0x400000|1\n一级相变|0x400000|0\n一级一级|0x400000|1\n一级预防|0x400000|0\n一级准尉|0x400000|0\n一己之见|0x400000|1092\n一己之私|0x400000|976\n一技之长|0x1400000|18049\n一季度|0x400000|633\n一加仑|0x400000|2\n一家独大|0x400000|0\n一家家|0x400000|5\n一家眷属|0x1400000|0\n一家老小|0x1400000|2\n一家人|0x500000|5679\n一家无二|0x1400000|0\n一家一户|0x0000|18285\n一家一火|0x1400000|0\n一家一计|0x1400000|0\n一家一家|0x400000|0\n一家之辞|0x1400000|0\n一家之计|0x1400000|0\n一家之学|0x1400000|0\n一家之言|0x1400000|40684\n一家之主|0x1400000|3\n一家之作|0x1400000|0\n一家子|0x500000|18730\n一架架|0x400000|11\n一间间|0x400000|0\n一间一间|0x400000|0\n一见了然|0x1400000|0\n一见倾心|0x1400000|38595\n一见如故|0x1400000|29275\n一见如旧|0x1400000|0\n一见钟情|0x1400000|25794\n一见锺情|0x1400000|0\n一件件|0x400000|16\n一件一件|0x400000|2\n一剑之任|0x1400000|0\n一键必杀|0x400000|0\n一箭上垛|0x1400000|0\n一箭双雕|0x1400000|38398\n一箭双鵰|0x400000|0\n一箭之地|0x1400000|1\n一箭之遥|0x1400000|0\n一江春水向东流|0x400000|854\n一将功成万骨枯|0x400000|0\n一将难求|0x1400000|0\n一浆十饼|0x1400000|0\n一脚不移|0x1400000|0\n一较高低|0x400000|0\n一较高下|0x400000|5\n一教就会|0x400000|0\n一阶半级|0x1400000|0\n一阶半职|0x1400000|0\n一阶理论|0x400000|0\n一阶效率|0x400000|0\n一接如旧|0x1400000|0\n一节节|0x400000|7\n一节课|0x400000|567\n一节一节|0x400000|1\n一介不苟|0x1400000|0\n一介不取|0x1400000|0\n一介书生|0xc00000|2\n一介武夫|0x400000|0\n一介之才|0x1400000|0\n一介之善|0x1400000|0\n一介之士|0x1400000|0\n一届届|0x400000|0\n一届一届|0x400000|0\n一局上半|0x400000|0\n一局下半|0x400000|0\n一举成名|0x1400000|35142\n一举成名天下知|0x400000|0\n一举多得|0xc00000|3\n一举两便|0x400000|0\n一举两得|0x1400000|23674\n一举两全|0x1400000|0\n一举千里|0x1400000|0\n一举三反|0x1400000|0\n一举手一|0x400000|2\n一举手之劳|0x400008|0\n一举万里|0x1400000|0\n一举一动|0x1400000|45\n一举之劳|0x400000|0\n一句话|0xc00000|141\n一句句|0x400000|1\n一句一句|0x400000|0\n一具具|0x400000|1\n一卷卷|0x400000|0\n一卷一卷|0x400000|0\n一撅一拐|0x400000|0\n一决雌雄|0x1400000|42339\n一决胜负|0x400000|100\n一觉睡到天亮|0x400000|0\n一蹶不起|0x400000|0\n一蹶不兴|0x1400000|0\n一蹶不振|0x1400000|27577\n一俊遮百丑|0x400000|0\n一卡通|0x400008|31\n一开出来|0x400000|0\n一开始|0x400000|239\n一看再看|0x400000|0\n一看之下|0x400000|0\n一棵棵|0x400000|4\n一棵一棵|0x400000|0\n一颗颗|0x400000|7\n一颗一颗|0x400000|0\n一刻千金|0x1400000|0\n一刻钟|0x400000|777\n一客不烦二主|0x400008|0\n一空依傍|0x1400000|0\n一孔不达|0x400000|100\n一孔之见|0x1400000|52538\n一口口|0x400000|956\n一口两匙|0xc00000|0\n一口气|0x500000|3525\n一口三舌|0xc00000|0\n一口同声|0x1400000|0\n一口同音|0x1400000|0\n一口吸尽西江水|0x400008|0\n一口咬定|0xc00000|5\n一口一口|0x400000|2\n一口一声|0x1400000|0\n一哭二闹三上吊|0x400000|0\n一块儿|0x500000|6052\n一块块|0x400000|2\n一块钱|0x400000|555\n一块石头落地|0x400008|1\n一块石头落了地|0x400000|100\n一块一块|0x400000|1\n一匡九合|0x1400000|0\n一匡天下|0x1400000|0\n一筐筐|0x400000|0\n一夔一契|0x1400000|0\n一夔已足|0xc00000|0\n一馈十起|0x1400000|0\n一篑之功|0x400000|100\n一捆捆|0x400000|0\n一壸千金|0x1400000|0\n一拉之下|0x400000|0\n一来二去|0x1400000|27899\n一来二往|0x400000|1\n一来一去|0x400000|0\n一来一往|0x400000|0\n一篮篮|0x400000|0\n一览表|0x500000|37455\n一览成诵|0x400000|0\n一览无遗|0x1400000|9\n一览无余|0x1400000|27013\n一览众山小|0x400000|0\n一揽包收|0x1400000|0\n一揽子|0xc00000|15695\n一揽子计划|0x400000|6\n一劳久逸|0x1400000|0\n一劳永逸|0x1400000|21654\n一雷二闪|0xc00000|0\n一垒手|0x400000|1188\n一力承当|0xc00000|0\n一粒粒|0x400000|1\n一粒一粒|0x400000|0\n一连串|0xc00000|10895\n一连几天|0x400000|0\n一连气儿|0x0000|50794\n一廉如水|0x400000|100\n一脸茫然|0x400000|1\n一两句话|0x400000|1\n一辆辆|0x400000|9\n一辆一辆|0x400000|0\n一了百当|0x1400000|0\n一了百了|0x1400000|40922\n一列列|0x400000|1\n一鳞半甲|0x1400000|0\n一鳞半爪|0x1400000|48569\n一鳞片甲|0x1400000|0\n一鳞片爪|0x1400000|0\n一鳞一爪|0x1400000|0\n一麟半爪|0x400000|0\n一溜儿|0xc00000|28785\n一溜风|0xc00000|0\n一溜溜|0x400000|0\n一溜歪斜|0x1400000|0\n一溜烟|0x1400000|20793\n一流大学|0x100000|529\n一流人才|0x400000|0\n一龙九种|0x400000|0\n一龙一蛇|0x1400000|0\n一龙一猪|0x1400000|0\n一垄垄|0x400000|0\n一路风尘|0x1400000|0\n一路风清|0x1400000|0\n一路福星|0x1400000|0\n一路货|0x400000|51206\n一路货色|0x1400000|1\n一路领先|0x400000|1\n一路盘升|0x400000|0\n一路平安|0x1400000|0\n一路上|0xc00000|32\n一路神祇|0x1400000|0\n一路顺车|0x400000|0\n一路顺风|0x1400000|36915\n一路一路|0x400000|0\n一缕缕|0x400000|0\n一律平等|0x400000|449\n一乱涂地|0x1400000|0\n一轮一轮|0x400000|0\n一落千丈|0x1400000|28426\n一落泻势|0x400000|0\n一摞摞|0x400000|0\n一马不备双鞍|0x400000|0\n一马不行百马忧|0x400000|0\n一马当先|0x1400000|27500\n一马领先|0x400000|0\n一马平川|0x1400000|40268\n一马一鞍|0x1400000|0\n一码当先|0x400000|0\n一码汉字输入法|0x400000|0\n一码汉字输入软件|0x400000|0\n一码领先|0x400000|0\n一码软件|0x400000|0\n一码事|0xc00000|43795\n一码桌面系统|0x400000|0\n一买一卖|0x400000|0\n一脉同气|0x1400000|0\n一脉相承|0x1400000|12953\n一脉相传|0x1400000|46626\n一脉相通|0x1400000|55022\n一脉香烟|0x1400000|0\n一毛不拔|0x1400000|42340\n一枚枚|0x400000|5\n一门同气|0x1400000|0\n一门心思|0xc00000|25231\n一门忠烈|0x400000|0\n一梦华胥|0x1400000|0\n一米线|0x0000|50411\n一米阳光|0x400000|821\n一面倒|0x400000|1\n一面儿理|0x500000|0\n一面镜子|0x100000|542\n一面面|0x400000|1013\n一面如旧|0x1400000|0\n一面之词|0x1400000|43553\n一面之辞|0x1400000|1\n一面之交|0x1400000|47557\n一面之款|0x1400000|0\n一面之识|0x1400000|0\n一面之雅|0x1400000|0\n一面之缘|0x1400000|1\n一民同俗|0x1400000|0\n一鸣惊人|0x1400000|25526\n一暝不视|0x1400000|0\n一瞑不视|0x1400000|0\n一命归天|0x400000|0\n一命归西|0x1400000|0\n一命归阴|0x1400000|0\n一命鸣呼|0x1400000|0\n一命呜呼|0x1400000|36565\n一命之荣|0x1400000|0\n一摸之下|0x400000|0\n一模二样|0x1400000|0\n一模一样|0x1400000|13987\n一抹黑|0x401000|0\n一木难支|0x1400000|0\n一目了然|0x1400000|14399\n一目十行|0x1400000|50412\n一目数行|0x1400000|0\n一目五行|0x1400000|0\n一目之士|0x1400000|0\n一幕幕|0x400000|16\n一幕一幕|0x400000|0\n一内一外|0x400000|0\n一奶同胞|0x400000|0\n一男半女|0x1400000|0\n一男二女|0x400000|0\n一男一女|0x400000|3\n一年半载|0x1400000|27752\n一年被蛇咬|0x400008|0\n一年比一年|0x400000|7\n一年到头|0xc00000|19207\n一年多|0x400000|676\n一年多来|0x400000|20\n一年级|0x400000|700\n一年计划|0x400000|0\n一年年|0x400000|1\n一年前|0x400000|625\n一年生|0x20400000|50413\n一年生植|0x400000|0\n一年四季|0xc00000|3\n一年一度|0x1400000|93\n一年一年|0x400000|0\n一年之计|0x400000|1\n一年之计在于春|0x400008|0\n一念之差|0x1400000|41611\n一念之间|0x400000|1\n一念之误|0x1400000|0\n一牛吼地|0x1400000|0\n一牛九锁|0x1400000|0\n一牛鸣|0x400000|100\n一牛鸣地|0x1400000|0\n一怒而去|0x400000|1331\n一怒之下|0xc00000|10\n一女一男|0x400000|0\n一诺千金|0x1400000|44560\n一诺无辞|0x1400000|0\n一诺值千金|0x400000|0\n一拍即合|0x1400000|30009\n一拍即和|0x400000|0\n一排排|0x400000|19\n一排一排|0x400000|0\n一派胡言|0x400000|945\n一爿爿|0x400000|0\n一盘盘|0x400000|0\n一盘棋|0x500000|24471\n一盘散沙|0x1400000|30665\n一旁凉快|0x400000|0\n一炮打响|0xc00000|36393\n一炮而红|0x400000|2\n一喷一醒|0x1400000|0\n一盆盆|0x400000|0\n一盆一盆|0x400000|0\n一批一批|0x400000|2\n一抷黄土|0x400000|0\n一匹匹|0x400000|0\n一屁股债|0x400000|1\n一片冰心|0x1400000|53040\n一片成名|0x400000|0\n一片痴心|0x400000|0\n一片丹心|0x400000|100\n一片宫商|0x1400000|0\n一片焦土|0xc00000|0\n一片空白|0x400000|11\n一片苦心|0x400000|1\n一片片|0x400000|694\n一片散沙|0x1400000|0\n一片生机|0xc00000|0\n一片汪洋|0xc00000|17\n一片一片|0x400000|0\n一片至诚|0x400000|0\n一偏之见|0x1400000|0\n一偏之论|0x1400000|0\n一篇篇|0x400000|1\n一篇一篇|0x400000|0\n一票否决|0x400000|888\n一票否决制|0x500000|2\n一票人马|0x400000|0\n一贫如洗|0x1400000|29690\n一嚬一笑|0x1400000|0\n一颦一笑|0x1400000|2\n一品白衫|0x1400000|0\n一品夫人|0x400000|0\n一品锅|0x500000|0\n一品红|0x4400000|46335\n一瓶瓶|0x400000|0\n一瓶一瓶|0x400000|1\n一抔黄土|0x400000|100\n一掊土|0x400000|100\n一曝十寒|0x1400000|0\n一七八不|0x400000|0\n一妻多夫|0x400000|417\n一妻制|0x400000|465\n一栖两雄|0x1400000|0\n一期稻作|0x400000|0\n一期期|0x400000|0\n一齐众楚|0x1400000|0\n一畦畦|0x400000|2\n一骑当千|0x400000|440\n一起来|0x400000|33\n一起起|0x400000|0\n一起去|0x400000|745\n一起一起|0x400000|0\n一气呵成|0x1400000|26712\n一气浑成|0x1400000|0\n一气之下|0xc00000|13\n一汽大众|0x400000|1224\n一千个|0x400000|545\n一千零一夜|0x400000|771\n一千年|0x400000|597\n一千万|0x600000|16\n一谦四益|0x1400000|0\n一前一后|0x400000|555\n一钱不落虚空地|0x400008|0\n一钱不名|0x1400000|0\n一钱不值|0x1400000|30566\n一钱如命|0x1400000|0\n一乾二净|0x1400000|0\n一腔热诚|0x400000|0\n一腔热血|0x400000|897\n一墙之隔|0xc00000|4\n一锹掘个井|0x400000|0\n一瞧之下|0x400000|0\n一窍不通|0x1400000|28237\n一切办法|0x400000|10\n一切从实际出发|0x400000|452\n一切从严|0x400000|0\n一切都是|0x400000|640\n一切都在|0x400000|531\n一切就简|0x400000|0\n一切权利|0x100000|575\n一切顺利|0x400000|541\n一切万物|0x1400000|0\n一切问题|0x400000|7\n一切向钱看|0x400000|0\n一切行动听指挥|0x400000|1\n一切一切|0x400000|1\n一切照旧|0x400000|0\n一切正常|0x400000|24\n一切众生|0x1400000|0\n一亲芳泽|0x400000|0\n一琴一鹤|0x1400000|0\n一清二白|0x1400000|49660\n一清二楚|0x1400000|18939\n一清如水|0x1400000|0\n一清早|0x404000|24472\n一穷二白|0x1400000|32834\n一丘一壑|0x1400000|0\n一丘之貉|0x1400000|47558\n一邱之貉|0x1400000|0\n一曲曲|0x400000|9\n一曲阳关|0x400000|100\n一去不返|0xc00000|2\n一去不复|0x400000|0\n一去不复返|0x400008|17\n一去不回|0x400000|0\n一去一来|0x400000|0\n一圈圈|0x400000|0\n一圈一圈|0x400000|1\n一犬吠形|0x400000|100\n一瘸一拐|0x400008|4\n一群群|0x400000|7\n一群人|0x400000|652\n一群一群|0x400000|0\n一人吃饱全家不饿|0x400000|0\n一人传虚|0xc00000|0\n一人得道|0xc00000|1\n一人敌|0x400000|100\n一人飞升|0x1400000|0\n一人善射|0x1400000|0\n一人向隅|0x1400000|0\n一人有庆|0x1400000|0\n一人之交|0x1400000|0\n一人之下|0xc00000|0\n一人做事一人当|0x400000|0\n一忍再忍|0x400000|393\n一仍旧贯|0x1400000|0\n一仍其旧|0x400000|0\n一日不见|0xc00000|0\n一日夫妻百日恩|0x400000|0\n一日九迁|0xc00000|0\n一日千里|0x1400000|32450\n一日千丈|0x1400000|0\n一日三餐|0xc00000|11\n一日三复|0x1400000|0\n一日三覆|0x1400000|0\n一日三秋|0x1400000|0\n一日三省|0x1400000|0\n一日三岁|0x1400000|0\n一日三月|0x1400000|0\n一日数惊|0x400000|0\n一日万机|0x1400000|0\n一日万几|0x1400000|0\n一日万里|0x1400000|0\n一日为师|0x400000|0\n一日游|0x500000|8\n一日之长|0x1400000|0\n一日之计|0x400000|0\n一日之计在于晨|0x400000|0\n一日之雅|0x1400000|0\n一荣俱荣|0xc00000|2\n一肉之味|0xc00000|0\n一如既往|0x1400000|7500\n一如往昔|0x400000|0\n一扫而光|0xc00000|26017\n一扫而空|0x1400000|40058\n一刹那|0x404000|12991\n一霎那|0x404000|0\n一霎时|0x400000|1063\n一山不藏二虎|0x400000|100\n一山不容二虎|0x400000|1\n一山还比一山高|0x400000|0\n一山之隔|0x400000|1167\n一删而空|0x400000|0\n一闪而过|0xc00000|1\n一闪即逝|0x400000|0\n一闪念|0x0000|46937\n一闪一闪|0x400000|2\n一扇扇|0x400000|1\n一觞一咏|0x400000|100\n一勺勺|0x400000|0\n一勺一勺|0x400000|1\n一蛇两头|0x400000|100\n一射之地|0x1400000|0\n一身都是胆|0x400000|100\n一身而二任|0x400008|0\n一身二任|0x400000|1337\n一身两头|0x500000|0\n一身两役|0x1400000|0\n一身清白|0x400000|854\n一身是胆|0x1400000|0\n一身是汗|0x400000|0\n一身五心|0xc00000|0\n一神教|0x500000|1\n一神论|0x400000|0\n一审判决|0x400000|558\n一生不变|0x400000|0\n一生都是命安排|0x400000|0\n一生何求|0x400000|0\n一生九死|0x1400000|0\n一生一代|0x1400000|0\n一生一世|0x1400000|29161\n一生中|0x400000|672\n一声不吭|0xc00000|3\n一声不响|0x400000|17496\n一声春雷|0x400000|0\n一声令下|0xc00000|31\n一声声|0x400000|758\n一声一声|0x400000|0\n一省一省|0x400000|0\n一尸两命|0x400000|0\n一失一得|0x400000|0\n一失足成|0x400000|0\n一失足成千古恨|0x400008|43796\n一诗千改心始安|0x400000|0\n一十八般兵器|0x400000|100\n一十八般武艺|0x400000|100\n一十八层地狱|0x400000|100\n一石二鸟|0x1400000|51207\n一石激起千层浪|0x400008|3\n一石两鸟|0x400000|0\n一时半会|0x400000|842\n一时半会儿|0x400008|38596\n一时半刻|0x1400000|50026\n一时半霎|0x1400000|0\n一时半晌|0x1400000|0\n一时伯仲|0x1400000|0\n一时冲动|0x400000|7\n一时间|0x404000|8692\n一时千载|0x1400000|0\n一时三刻|0x1400000|0\n一时无两|0x400000|472\n一时一刻|0xc00000|43325\n一时一事|0x400000|2\n一时拥有|0x400000|0\n一时之间|0x400000|7\n一时之权|0x1400000|0\n一时之秀|0x400000|100\n一时之选|0x1400000|0\n一矢双穿|0x1400000|0\n一世龙门|0x1400000|0\n一世英名|0x400000|0\n一世英雄|0x400000|0\n一世之雄|0x1400000|0\n一式两份|0x400000|1\n一式一样|0x1400000|0\n一事不明|0x400000|0\n一事不知|0x1400000|0\n一事无成|0x1400000|24806\n一视同仁|0x1400000|13960\n一试身手|0xc00000|2\n一试之下|0x400000|0\n一室生春|0xc00000|0\n一是一|0xc00000|1\n一手包办|0x1400000|43797\n一手独拍|0x400000|100\n一手交货|0x400000|0\n一手交钱|0x400000|0\n一手托天|0xc00000|0\n一手一脚|0x1400000|0\n一手一足|0x1400000|0\n一手遮天|0x1400000|40685\n一首首|0x400000|4\n一首一首|0x400000|0\n一束花|0x400000|478\n一束束|0x400000|0\n一树百获|0xc00000|0\n一树梨花压海棠|0x400000|1\n一双两好|0x1400000|0\n一双双|0x400000|2\n一水儿|0x8400000|31239\n一水之隔|0xc00000|1\n一顺儿|0x401000|55023\n一瞬而逝|0x400000|0\n一瞬即逝|0x400000|0\n一瞬间|0x404000|8901\n一瞬千里|0x400000|0\n一丝半粟|0xc00000|0\n一丝不苟|0x1400000|13242\n一丝不挂|0x1400000|28067\n一丝不紊|0xc00000|0\n一丝两气|0x1400000|0\n一丝丝|0x400000|662\n一丝一毫|0x1400000|2\n一死了之|0x400000|0\n一死一伤|0x400000|9\n一死一生|0x400000|100\n一艘艘|0x400000|0\n一算之下|0x400000|0\n一岁九迁|0xc00000|0\n一岁三迁|0x1400000|0\n一岁一枯|0x400000|0\n一岁载赦|0x1400000|0\n一岁再赦|0x1400000|0\n一损俱损|0xc00000|2\n一所所|0x400000|2\n一索成男|0x1400000|0\n一索得男|0x1400000|0\n一塌刮子|0x1400000|0\n一塌胡涂|0x1400000|0\n一塌糊涂|0x1400000|19830\n一榻横陈|0xc00000|0\n一榻胡涂|0x1400000|0\n一台一台|0x400000|0\n一摊摊|0x400000|1\n一潭死水|0x1400000|43326\n一堂堂|0x400000|1\n一趟趟|0x400000|1\n一趟一趟|0x400000|0\n一套套|0x400000|0\n一套一套|0x400000|0\n一提之下|0x400000|0\n一体化|0x401000|3918\n一体机|0x4400000|0\n一体同心|0x400000|100\n一天到晚|0xc00000|10992\n一天两天|0x400000|5\n一天天|0x400000|18\n一天星斗|0x1400000|0\n一天一地|0x1400000|0\n一天一天|0x400000|1\n一条龙|0x500000|10370\n一条龙服务|0x400000|563\n一条条|0x400000|15\n一条心|0x401000|22910\n一条一条|0x400000|1\n一听之下|0x400000|0\n一通百通|0x1400000|52083\n一统江湖|0x400000|454\n一统天下|0x1400000|24920\n一桶桶|0x400000|3\n一桶一桶|0x400000|0\n一筒一筒|0x400000|0\n一头热|0xc00000|3\n一头头|0x400000|0\n一头雾水|0xc00000|35013\n一头猪|0x100000|505\n一吐为快|0x1400000|42341\n一团和气|0x1400000|32835\n一团乱麻|0x400000|924\n一团漆黑|0x1400000|43077\n一团团|0x400000|0\n一团糟|0x401000|34255\n一推两搡|0xc00000|0\n一推之下|0x400000|0\n一退六二五|0x400008|0\n一拖再拖|0xc00000|17\n一碗水端平|0x400008|50795\n一碗碗|0x400000|0\n一碗一碗|0x400000|0\n一网打尽|0x1400000|24857\n一网尽扫|0x1400000|0\n一往而深|0x1400000|0\n一往情深|0x1400000|26713\n一往无前|0x1400000|23098\n一往直前|0x1400000|0\n一望而知|0x1400000|0\n一望无边|0x1400000|45759\n一望无际|0x1400000|18486\n一望无涯|0x1400000|0\n一望无垠|0xc00000|39011\n一苇可航|0x400000|100\n一位数|0x400000|0\n一位一位|0x400000|0\n一文不名|0x1400000|46057\n一文不值|0x1400000|6\n一文莫名|0x400000|0\n一文钱难倒英雄汉|0x400000|100\n一文如命|0x1400000|0\n一闻千悟|0x1400000|0\n一问三不|0x400000|0\n一问三不知|0x400008|2\n一问一答|0x400000|891\n一问之下|0x400000|0\n一窝风|0x400008|0\n一窝蜂|0x1400000|21933\n一卧不起|0x1400000|0\n一无长物|0xc00000|0\n一无可取|0xc00000|0\n一无是处|0x1400000|32836\n一无所长|0xc00000|0\n一无所成|0x400000|1\n一无所得|0xc00000|43327\n一无所获|0x1400000|23960\n一无所见|0x0000|55024\n一无所能|0x1400000|52084\n一无所求|0x400000|55025\n一无所取|0x400000|100\n一无所恃|0x400000|0\n一无所闻|0x400000|100\n一无所有|0x1400000|18188\n一无所知|0x1400000|17164\n一五一十|0x1400000|21883\n一物不知|0x1400000|0\n一物降一物|0x400008|49661\n一物克一物|0x400000|1171\n一误再误|0x1400000|0\n一夕一朝|0x1400000|0\n一夕之间|0x400000|1\n一息尚存|0x1400000|42591\n一息奄奄|0x1400000|0\n一席话|0x500000|16024\n一席谈|0x0000|43078\n一席之地|0x1400000|14586\n一洗尘俗|0x400000|0\n一系列|0x500000|3125\n一系列问题|0x400000|49\n一下吧|0x100000|690\n一下儿|0x400000|0\n一下子|0x8400000|144\n一显身手|0x0000|40686\n一现昙华|0x1400000|0\n一线品牌|0x100000|490\n一线生机|0x1400000|2\n一线通|0x100000|442\n一线希望|0x400000|2\n一线之路|0x1400000|0\n一献三酬|0x1400000|0\n一献三售|0x1400000|0\n一相情原|0x1400000|0\n一相情愿|0x1400000|1\n一厢情原|0x1400000|0\n一厢情愿|0x1400000|24151\n一箱箱|0x400000|2\n一箱一箱|0x400000|0\n一想之下|0x400000|0\n一向如此|0x400000|0\n一项一项|0x400000|1\n一小包|0x400000|0\n一小部分|0x400000|33\n一小撮|0x600000|21784\n一小片|0x400000|0\n一小时|0x400000|693\n一笑百媚|0x1400000|0\n一笑而过|0x400000|1\n一笑了事|0x1400000|1\n一笑了之|0x1400000|1\n一笑千金|0x1400000|0\n一笑倾城|0x1400000|0\n一笑一颦|0x1400000|0\n一笑置之|0x1400000|39203\n一些半些|0x1400000|0\n一些单位|0x400000|14\n一泻百里|0x1400000|0\n一泻千里|0x1400000|36394\n一泻万里|0x1400000|1\n一蟹不如一蟹|0x400008|0\n一心不乱|0x400000|0\n一心多用|0x400000|0\n一心两用|0x400000|0\n一心同功|0x1400000|0\n一心同归|0x1400000|0\n一心同体|0x1400000|0\n一心为公|0x400000|1\n一心无二|0x1400000|0\n一心向上|0x400000|0\n一心一德|0x1400000|51649\n一心一腹|0x1400000|0\n一心一计|0x1400000|0\n一心一力|0x1400000|0\n一心一路|0x1400000|0\n一心一意|0x1400000|10417\n一星半点|0x1400000|1\n一星半点儿|0x0000|44561\n一星儿|0x0000|16116\n一星期|0x400000|24\n一行人|0x400000|628\n一行行|0x400000|858\n一行一行|0x400000|0\n一行作吏|0x1400000|0\n一学期|0x400000|6\n一熏一莸|0x400000|100\n一薰一莸|0x1400000|0\n一言半辞|0x1400000|0\n一言半句|0x1400000|0\n一言半语|0xc00000|0\n一言蔽之|0x400000|0\n一言不发|0xc00000|10\n一言不合|0x400000|0\n一言不和|0x400000|0\n一言而蔽之|0x400000|0\n一言既出|0x1400000|0\n一言九鼎|0x1400000|42822\n一言两语|0x400000|100\n一言难尽|0x1400000|31115\n一言千金|0x1400000|0\n一言丧邦|0x1400000|0\n一言堂|0x500000|32197\n一言为定|0x1400000|30224\n一言未发|0x400000|1\n一言兴邦|0x1400000|0\n一言一行|0x1400000|19179\n一言以蔽|0x400000|0\n一言以蔽之|0x400008|33707\n一眼看穿|0x400000|0\n一氧化氮|0x400008|1\n一氧化氮合酶|0x400000|0\n一氧化铅|0x400008|0\n一氧化碳|0x500000|20108\n一氧化碳中毒|0x400008|4\n一氧化碳助燃剂|0x400008|0\n一氧化物|0x400000|0\n一样可以|0x400000|7\n一样一样|0x400000|0\n一噎止餐|0x1400000|0\n一叶报秋|0x1400000|0\n一叶蔽目|0x1400000|0\n一叶扁舟|0x400000|0\n一叶落而知天下秋|0x400000|0\n一叶落知天下秋|0x400000|100\n一叶迷山|0x1400000|0\n一叶障目|0x1400000|0\n一叶知秋|0x1400000|53526\n一页页|0x400000|0\n一页一页|0x400000|0\n一夜风流|0x400000|0\n一夜之间|0x400000|625\n一一道来|0xc00000|3\n一一列举|0xc00000|1\n一衣带水|0x1400000|34716\n一以当百|0x1400000|0\n一以当十|0x1400000|0\n一以贯之|0x1400000|7\n一意孤行|0x1400000|19504\n一吟双泪流|0x400000|0\n一吟一咏|0x1400000|0\n一饮而尽|0x400000|0\n一饮一啄|0x1400000|0\n一应俱全|0x1400000|18163\n一迎一和|0x1400000|0\n一拥而入|0x400000|1126\n一拥而上|0x1400000|11\n一勇之夫|0x400000|0\n一隅三反|0x1400000|0\n一隅之地|0x400000|100\n一隅之见|0x1400000|0\n一隅之说|0x1400000|0\n一雨成秋|0x400000|0\n一语不发|0x400000|0\n一语不合|0x400000|0\n一语成谶|0x400000|2\n一语道破|0x1400000|31459\n一语道破天机|0x400000|1\n一语惊醒|0x400000|0\n一语破的|0x0000|52085\n一语双关|0x1400000|40687\n一语中的|0x0000|44285\n一语中人|0x400000|100\n一渊不两蛟|0x400000|1304\n一元大武|0x400000|100\n一元方程|0x500000|0\n一元复始|0x1400000|1\n一元函数|0x400000|0\n一元化|0x401000|31696\n一元论|0x500000|0\n一元一次方程|0x400000|0\n一员大将|0x400000|0\n一缘一会|0x1400000|0\n一月份|0x4000|100\n一跃而过|0x400000|0\n一跃而起|0xc00000|0\n一跃龙门|0x400000|0\n一再表示|0x400000|30\n一再强调|0x400000|47\n一再声明|0x400000|1\n一再说明|0x400000|0\n一再嘱咐|0x400000|2\n一则一|0x400000|0\n一则以惧|0xc00000|0\n一则以喜|0xc00000|0\n一则以忧|0x400000|0\n一眨巴眼|0x1400000|0\n一眨眼|0x10400000|24207\n一瞻丰采|0x400000|0\n一展长才|0x400000|0\n一展风采|0xc00000|1\n一展身手|0x0000|49662\n一盏盏|0x400000|0\n一战之下|0x400000|0\n一站站|0x400000|0\n一张白纸|0x400000|3\n一张一弛|0x1400000|46938\n一张一驰|0x400000|0\n一张一张|0x400000|1\n一张张|0x400000|17\n一章章|0x400000|0\n一招半式|0x400000|1\n一招毙命|0x400000|0\n一遮之下|0x400000|0\n一针见血|0x1400000|18572\n一针一线|0xc00000|1\n一针一缐|0x1400000|0\n一针针|0x400000|0\n一枕邯郸|0x1400000|0\n一枕槐安|0x1400000|0\n一枕黄梁|0x1400000|0\n一枕黄粱|0x1400000|0\n一枕南柯|0x1400000|0\n一阵风|0xc00000|13459\n一阵一阵|0x400000|0\n一阵阵|0x400000|653\n一阵子|0x400000|9265\n一争高低|0x0000|47559\n一整套|0x40000000|9597\n一整天|0x400000|591\n一正一负|0x400000|0\n一帧帧|0x400000|0\n一之为甚|0x1400000|0\n一之谓甚|0x1400000|0\n一之已甚|0x1400000|0\n一支半节|0x1400000|0\n一支一支|0x400000|1\n一支支|0x400000|7\n一枝独秀|0xc00000|10\n一枝红杏出墙来|0x400000|0\n一枝黄花|0x400008|0\n一枝香|0x400000|0\n一枝一节|0x1400000|0\n一枝一栖|0x400000|100\n一枝之栖|0xc00000|0\n一枝枝|0x400000|0\n一知半见|0x1400000|0\n一知半解|0x1400000|32069\n一知片解|0x1400000|0\n一肢半节|0x1400000|0\n一肢一节|0x1400000|0\n一直未果|0x400000|1\n一直以来|0x400000|688\n一只一只|0x400000|0\n一只只|0x400000|8\n一纸空文|0x1400000|26501\n一纸千金|0x1400000|0\n一至于此|0x400000|0\n一至于斯|0x400000|100\n一致百虑|0x1400000|0\n一致地|0x400000|6\n一致认为|0x400000|134\n一致收敛性|0x500000|0\n一致通过|0x400000|110\n一致同意|0x400000|97\n一致性|0x500000|10\n一致意见|0x400000|49\n一掷百万|0x1400000|0\n一掷千金|0x1400000|37638\n一掷乾坤|0x1400000|0\n一中全会|0x400008|0\n一中一台|0xc00000|8\n一种长而宽松的外套|0x400000|0\n一重一掩|0x1400000|0\n一株一株|0x400000|0\n一株株|0x400000|0\n一柱承天|0x1400000|0\n一柱擎天|0x1400000|0\n一专多能|0xc00000|33196\n一砖一瓦|0x400000|38399\n一转眼|0x10400000|26584\n一桩桩|0x400000|3\n一幢一幢|0x400000|0\n一幢幢|0x400000|2\n一桌桌|0x400000|0\n一着被蛇咬|0x400000|0\n一着不慎|0xc00000|1\n一资半级|0x1400000|0\n一子出家|0x1400000|0\n一子悟道|0x1400000|0\n一子一女|0x400000|0\n一字褒贬|0x1400000|0\n一字不差|0xc00000|3\n一字不苟|0x1400000|0\n一字不漏|0x400000|944\n一字不易|0x1400000|0\n一字长城|0x1400000|0\n一字长蛇阵|0x400008|51208\n一字兼金|0x1400000|0\n一字连城|0x1400000|0\n一字千斤|0x400000|0\n一字千金|0x1400000|50027\n一字千钧|0x400000|100\n一字千秋|0x1400000|0\n一字师|0x400000|100\n一字一板|0x1400000|0\n一字一句|0x1400000|5\n一字一泪|0x400000|100\n一字一珠|0x1400000|0\n一字一字|0x400000|0\n一字之贬|0x400000|0\n一字之差|0xc00000|8\n一字之师|0x400000|100\n一字值千金|0x400000|1113\n一字字|0x400000|0\n一宗一宗|0x400000|0\n一宗宗|0x400000|0\n一走了之|0x1400000|35014\n一组组|0x400000|10\n一醉解千愁|0x400000|1012\n一尊尊|0x400000|0\n一左一右|0x400000|8\n一坐皆惊|0x1400000|0\n一坐尽惊|0x400000|100\n一坐尽倾|0x1400000|0\n一坐一起|0x1400000|0\n一座皆惊|0x400000|100\n一座一座|0x400000|0\n一座座|0x400000|13\n伊贝母|0x4000000|0\n伊比比奥|0x0080|0\n伊壁鸠鲁|0x0080|0\n伊川县|0x0040|1482\n伊春市|0x0040|1453\n伊底帕斯|0x0080|0\n伊甸乐园|0x100000|1006\n伊甸园|0x100000|29691\n伊凡诺夫|0x0080|3\n伊格尔顿|0x0080|0\n伊何底止|0x1000000|100\n伊金霍洛旗|0x0040|1104\n伊克昭盟|0x0040|1094\n伊拉克|0x0040|958\n伊拉克人|0x100000|877\n伊拉克问题|0x100000|522\n伊拉克战争|0x100000|593\n伊莱克斯|0x0008|1336\n伊兰特|0x100000|611\n伊朗核|0x100000|588\n伊朗核问题|0x100000|569\n伊朗人|0x100000|938\n伊莉莎白|0x0080|1501\n伊犁河|0x0040|1050\n伊丽莎白|0x0040|1224\n伊利诺伊|0x0040|1568\n伊利诺伊州|0x0008|1667\n伊利石|0x0008|1179\n伊利亚特|0x0080|1674\n伊曼纽尔|0x0080|1081\n伊妹儿|0x0008|925\n伊宁市|0x0040|1522\n伊宁县|0x0040|1067\n伊普斯维奇|0x0008|1129\n伊斯兰|0x0008|1195\n伊斯兰堡|0x0040|9191\n伊斯兰教|0x0020|10217\n伊斯兰教徒|0x100000|413\n伊斯坦布尔|0x0040|1419\n伊藤润二|0x400080|0\n伊通满族自治县|0x0020|1771\n伊吾县|0x0040|1154\n伊于胡底|0x1000000|100\n衣阿华|0x0040|1120\n衣阿华州|0x0040|1225\n衣被群生|0x0000|100\n衣钵相传|0x1000000|1320\n衣不蔽体|0x1000000|48205\n衣不解带|0x1000000|55026\n衣不完采|0x1000000|100\n衣带渐宽终不悔|0x0008|861\n衣单食薄|0x1000000|100\n衣冠不整|0x800000|915\n衣冠楚楚|0x1000000|32711\n衣冠礼乐|0x0000|100\n衣冠禽兽|0x1000000|47244\n衣冠土枭|0x0000|100\n衣冠枭獍|0x1000000|100\n衣冠冢|0x100000|46628\n衣架饭囊|0x1000000|100\n衣锦过乡|0x0000|100\n衣锦还乡|0x1000000|36746\n衣锦褧衣|0x0000|100\n衣锦荣归|0x1000000|1205\n衣锦食肉|0x0000|100\n衣锦夜行|0x800000|1129\n衣锦夜游|0x0000|100\n衣锦昼行|0x0000|100\n衣锦昼游|0x0000|100\n衣宽带松|0x0000|100\n衣来伸手|0x800000|893\n衣帽架|0x100000|1041\n衣帽间|0x100000|55533\n衣轻乘肥|0x0000|100\n衣衫蓝缕|0x1000000|1241\n衣衫褴褛|0x800000|846\n衣裳之会|0x1000000|100\n衣食不周|0x1000000|1382\n衣食父母|0x1000000|891\n衣食税租|0x0000|100\n衣食住行|0x1000000|20260\n衣物箱|0x0008|0\n衣香鬓影|0x1000000|1030\n衣宵食旰|0x0000|100\n衣绣夜行|0x0000|100\n衣绣夜游|0x0000|100\n衣绣昼行|0x1000000|100\n衣原体|0x100000|927\n衣紫腰黄|0x0000|100\n衣紫腰金|0x0000|100\n衣紫腰银|0x0000|100\n衣租食税|0x1000000|100\n医护人员|0x0000|610\n医科大学|0x0008|683\n医科院|0x100000|1011\n医疗保健|0x0008|602\n医疗保险|0x0008|691\n医疗保障|0x0000|525\n医疗队|0x100000|10682\n医疗费|0x100000|751\n医疗机构|0x0008|686\n医疗纠纷|0x100000|847\n医疗器械|0x100000|565\n医疗器械行业|0x100000|483\n医疗事故|0x0008|805\n医疗所|0x100000|1115\n医疗卫生|0x100000|677\n医疗站|0x100000|1076\n医林改错|0x0008|0\n医师法|0x100000|1045\n医师资格|0x100000|497\n医时救弊|0x0000|100\n医务工作者|0x0000|488\n医务人员|0x100000|761\n医务室|0x100000|25109\n医务所|0x100000|1072\n医学部|0x100000|1438\n医学工程|0x100000|481\n医学会|0x100000|565\n医学奖|0x100000|439\n医学教育|0x100000|480\n医学界|0x100000|671\n医学科学院|0x100000|503\n医学类|0x100000|482\n医学论坛|0x100000|452\n医学论文|0x100000|457\n医学美容|0x100000|477\n医学期刊|0x100000|438\n医学史|0x100000|1028\n医学书店|0x100000|416\n医学书籍|0x100000|382\n医学系|0x100000|919\n医学心理学|0x0008|954\n医学研究所|0x100000|453\n医学影像|0x100000|505\n医学院|0x100000|645\n医学院校|0x100000|472\n医学杂志|0x100000|498\n医学整形|0x100000|408\n医学知识|0x100000|820\n医学中心|0x100000|482\n医学衷中参西录|0x0008|0\n医学专家|0x100000|544\n医学专业|0x100000|505\n医药包装|0x100000|440\n医药保健|0x100000|496\n医药产业|0x100000|502\n医药代理|0x100000|580\n医药费|0x100000|760\n医药工业|0x100000|483\n医药公司|0x100000|541\n医药集团|0x100000|484\n医药品|0x100000|1033\n医药企业|0x100000|541\n医药卫生|0x100000|768\n医药行业|0x100000|566\n医药学|0x100000|860\n医药有限公司|0x100000|533\n医药原料|0x100000|451\n医院地址|0x100000|431\n医院软件|0x100000|460\n医院院长|0x100000|520\n医宗金鉴|0x0008|0\n依阿取容|0x1000000|100\n依安县|0x0040|1073\n依本画葫芦|0x0008|1280\n依草附木|0x1000000|1326\n依此类推|0x800000|42342\n依翠偎红|0x1000000|100\n依存度|0x100000|932\n依存性|0x100000|1128\n依法办事|0x0000|520\n依法炮制|0x0000|100\n依法砲制|0x1000000|100\n依法行政|0x100000|751\n依法治国|0x100000|844\n依法追究|0x0000|682\n依附于|0x0000|499\n依丱附木|0x1000000|100\n依葫芦画瓢|0x0008|1027\n依经傍注|0x0000|100\n依赖度|0x100000|1025\n依赖性|0x100000|754\n依赖于|0x0000|403\n依兰县|0x0040|1036\n依流平进|0x1000000|100\n依门傍户|0x1000000|100\n依门卖笑|0x1000000|100\n依那普利|0x0008|1163\n依然故我|0x1000000|38400\n依然如故|0x1000000|29586\n依人篱下|0x1000000|100\n依山傍水|0x1000000|34128\n依头缕当|0x1000000|100\n依头顺尾|0x1000000|100\n依违两可|0x1000000|1538\n依我看|0x800000|839\n依心像意|0x1000000|100\n依样葫芦|0x800000|1220\n依样画葫芦|0x0008|982\n依依不舍|0x1000000|21983\n依依惜别|0x800000|36395\n咿咿呀呀|0x80000|867\n壹败涂地|0x0000|100\n壹倡三叹|0x400000|100\n揖盗开门|0x1000000|100\n欹嵚历落|0x1000000|100\n仪表板|0x0008|1448\n仪表厂|0x100000|482\n仪表阀门|0x100000|399\n仪表盘|0x100000|506\n仪表堂堂|0x800000|40688\n仪表仪器|0x100000|416\n仪表有限公司|0x100000|544\n仪静体闲|0x1000000|1167\n仪陇县|0x0040|1037\n仪器厂|0x100000|516\n仪器设备|0x100000|699\n仪器仪表|0x100000|667\n仪器有限公司|0x100000|571\n仪态万方|0x1000000|46940\n仪态万千|0x1000000|1012\n仪仗队|0x100000|18834\n仪征市|0x0040|1358\n夷然自若|0x1000000|100\n夷为平地|0x800000|30226\n沂蒙山区|0x0040|1693\n沂南县|0x0040|1560\n沂水春风|0x0000|100\n沂水舞雩|0x1000000|100\n沂水弦歌|0x1000000|100\n沂水县|0x0040|1510\n沂源县|0x0040|1598\n宜宾市|0x0040|1379\n宜宾县|0x0040|1650\n宜昌市|0x0040|1235\n宜嗔宜喜|0x1000000|100\n宜城市|0x0040|1626\n宜川县|0x0040|1094\n宜春市|0x0040|1429\n宜都市|0x0040|1526\n宜丰县|0x0040|1626\n宜黄县|0x0040|1039\n宜家宜室|0x0000|100\n宜君县|0x0040|1091\n宜兰市|0x0040|1061\n宜兰县|0x0040|1421\n宜良县|0x0040|1610\n宜室宜家|0x0000|100\n宜喜宜嗔|0x1000000|100\n宜兴市|0x0040|1149\n宜阳县|0x0040|1645\n宜章县|0x0040|1635\n宜州市|0x0040|1517\n怡情理性|0x1000000|100\n怡情养性|0x1000000|1085\n怡情悦性|0x1000000|1232\n怡然自得|0x1000000|853\n怡然自乐|0x1000000|1045\n怡然自若|0x1000000|100\n怡声下气|0x0000|100\n怡堂燕雀|0x0000|100\n怡性养神|0x1000000|100\n怡颜悦色|0x1000000|100\n怡志养神|0x1000000|100\n饴含抱孙|0x1000000|100\n姨姥姥|0x100000|0\n姨奶奶|0x100000|27422\n姨太太|0x100000|9257\n贻臭万年|0x1000000|100\n贻害无穷|0x1000000|39425\n贻厥孙谋|0x1000000|100\n贻人口实|0x1000000|1359\n贻误军机|0x0000|100\n贻笑大方|0x1000000|44562\n贻笑后人|0x0000|100\n胰蛋白酶|0x0008|1048\n胰岛素|0x100000|20036\n胰岛素泵|0x100000|373\n胰腺癌|0x100000|510\n胰腺炎|0x0008|41612\n胰脂酶|0x100000|1422\n移步换形|0x0000|100\n移船就岸|0x1000000|100\n移的就箭|0x0000|100\n移东补西|0x0000|100\n移东就西|0x800000|100\n移动靶|0x0000|38185\n移动床反应器|0x0008|0\n移动电话|0x100000|33462\n移动梦网|0x0008|848\n移动式|0x0000|39426\n移动性|0x100000|889\n移动硬盘|0x100000|654\n移动用户|0x100000|649\n移风崇教|0x0000|100\n移风改俗|0x0000|100\n移风革俗|0x0000|100\n移风平俗|0x0000|100\n移风易尚|0x0000|100\n移风易俗|0x1000000|23464\n移风振俗|0x0000|100\n移根换叶|0x0000|100\n移根接叶|0x0000|100\n移宫换羽|0x0000|100\n移国动众|0x0000|100\n移花接木|0x1000000|35450\n移缓就急|0x0000|100\n移民法|0x100000|968\n移民加拿大|0x100000|469\n移民局|0x100000|869\n移气养体|0x800000|100\n移情遣意|0x0000|100\n移日卜夜|0x0000|100\n移山拔海|0x0000|100\n移山倒海|0x1000000|55535\n移山回海|0x0000|100\n移山竭海|0x0000|100\n移山跨海|0x0000|100\n移山填海|0x800000|1082\n移山造海|0x0000|100\n移商换羽|0x0000|100\n移天换日|0x0000|100\n移天徙日|0x0000|100\n移天易日|0x1000000|100\n移位寄存器|0x0008|378\n移相器|0x100000|1165\n移孝为忠|0x0000|100\n移孝作忠|0x0000|100\n移星换斗|0x0000|100\n移形换步|0x0000|100\n移易迁变|0x0000|100\n移有足无|0x0000|100\n移樽就教|0x1000000|1329\n遗编断简|0x1000000|100\n遗编绝简|0x1000000|100\n遗编坠简|0x1000000|100\n遗产税|0x100000|33197\n遗臭千年|0x1000000|100\n遗臭千秋|0x1000000|100\n遗臭万代|0x1000000|100\n遗臭万年|0x1000000|39012\n遗臭万世|0x1000000|100\n遗臭万载|0x1000000|100\n遗臭无穷|0x1000000|100\n遗传病|0x100000|934\n遗传工程|0x100000|37104\n遗传力|0x0008|0\n遗传物质|0x100000|1001\n遗传信息|0x0008|10\n遗传型|0x0008|0\n遗传性|0x100000|868\n遗传性状|0x0008|0\n遗传学|0x100000|827\n遗传学家|0x100000|812\n遗传因子|0x0000|40924\n遗大投艰|0x1000000|1359\n遗德休烈|0x1000000|100\n遗德余烈|0x0000|100\n遗恩余烈|0x0000|100\n遗珥堕簪|0x1000000|100\n遗珥坠簪|0x1000000|100\n遗芳余烈|0x0000|100\n遗芬剩馥|0x0000|100\n遗芬余荣|0x0000|100\n遗风古道|0x1000000|100\n遗风旧俗|0x1000000|100\n遗风逸尘|0x1000000|100\n遗风余采|0x0000|100\n遗风余教|0x0000|100\n遗风余烈|0x0000|100\n遗风余思|0x0000|100\n遗风余俗|0x0000|100\n遗风余习|0x0000|100\n遗风余象|0x0000|100\n遗风余韵|0x0000|100\n遗风余泽|0x0000|100\n遗腹子|0x100000|44563\n遗害无穷|0x1000000|1275\n遗恨千古|0x0000|100\n遗恨终天|0x1000000|100\n遗华反质|0x1000000|100\n遗惠余泽|0x0000|100\n遗魂亡魄|0x1000000|100\n遗祸无穷|0x1000000|1284\n遗迹谈虚|0x1000000|100\n遗艰投大|0x1000000|100\n遗觉象|0x100000|0\n遗老孤臣|0x1000000|100\n遗老遗少|0x0000|370\n遗黎故老|0x1000000|100\n遗留问题|0x0000|542\n遗落世事|0x1000000|100\n遗名去利|0x1000000|100\n遗孽余烈|0x0000|100\n遗篇断简|0x1000000|100\n遗篇坠款|0x1000000|100\n遗弃物|0x100000|1314\n遗寝载怀|0x1000000|100\n遗哂大方|0x1000000|100\n遗声余价|0x0000|100\n遗声坠绪|0x1000000|100\n遗世拔俗|0x1000000|100\n遗世独立|0x1000000|962\n遗世绝俗|0x1000000|100\n遗世忘累|0x1000000|100\n遗世越俗|0x1000000|100\n遗俗绝尘|0x1000000|100\n遗忘传说|0x100000|1013\n遗忘症|0x0008|1181\n遗文逸句|0x1000000|100\n遗闻琐事|0x1000000|100\n遗闻轶事|0x1000000|100\n遗闻逸事|0x1000000|100\n遗物识心|0x1000000|100\n遗物忘形|0x1000000|100\n遗笑大方|0x1000000|100\n遗形藏志|0x1000000|100\n遗形去貌|0x1000000|100\n遗形忘性|0x1000000|100\n遗休余烈|0x0000|100\n遗训余风|0x0000|100\n遗音余韵|0x0000|100\n遗簪弊屦|0x1000000|100\n遗簪弊履|0x1000000|100\n遗簪堕珥|0x1000000|100\n遗簪堕履|0x1000000|100\n遗簪绝缨|0x1000000|100\n遗簪弃舄|0x1000000|100\n遗簪脱舄|0x1000000|100\n遗簪坠珥|0x1000000|100\n遗簪坠屦|0x1000000|100\n遗簪坠履|0x1000000|100\n遗簪坠舄|0x1000000|100\n遗珠弃璧|0x1000000|100\n颐和园|0x0040|1222\n颐精养神|0x1000000|100\n颐神养气|0x1000000|100\n颐神养寿|0x1000000|100\n颐神养性|0x1000000|100\n颐性养寿|0x1000000|100\n颐养精神|0x1000000|100\n颐养天年|0x1000000|44876\n颐指风使|0x1000000|100\n颐指气使|0x1000000|31697\n疑鬼疑神|0x0000|100\n疑难病|0x100000|480\n疑难解答|0x100000|775\n疑难问题|0x0000|552\n疑难杂症|0x800000|797\n疑难重症|0x1000000|1175\n疑人勿用|0x800000|100\n疑神见鬼|0x0000|100\n疑神疑鬼|0x1000000|34411\n疑事无功|0x1000000|100\n疑是银河落九天|0x400000|0\n疑似之间|0x0000|100\n疑团满腹|0x0000|100\n疑团莫释|0x1000000|100\n疑问词|0x100000|1127\n疑问句|0x100000|929\n疑误天下|0x0000|100\n疑心病|0x100000|50797\n疑心生暗鬼|0x0008|1160\n疑信参半|0x1000000|100\n疑行无成|0x800000|100\n彝鼎圭璋|0x1000000|100\n彝良县|0x0040|1048\n乙丙橡胶|0x100000|914\n乙醇胺|0x0008|1618\n乙醇汽油|0x100000|505\n乙二醇|0x4400000|0\n乙二醇单乙醚|0x400000|0\n乙肝病毒|0x100000|536\n乙肝病毒携带者|0x100000|443\n乙肝患者|0x100000|495\n乙肝疫苗|0x100000|490\n乙类放大器|0x0008|0\n乙醛酸|0x0008|1222\n乙酸铵|0x0008|1271\n乙酸酐|0x100000|1285\n乙酸乙酯|0x0008|1654\n乙烯基|0x100000|453\n乙酰胆碱|0x0008|1041\n乙酰化|0x100000|0\n乙型肝炎|0x100000|885\n乙种粒子|0x100000|1534\n乙种射线|0x100000|1540\n乙状结肠|0x800000|1120\n已防万一|0x400000|0\n已婚男人|0x100000|496\n已婚女人|0x100000|425\n已婚者|0x100000|965\n已一月有余|0x400000|0\n已知数|0x100000|1262\n以白诋青|0x1000000|100\n以白为黑|0x1000000|1431\n以半击倍|0x1000000|100\n以暴易暴|0x1000000|35598\n以暴制暴|0x0008|1\n以冰致蝇|0x1000000|100\n以不变应万变|0x0008|865\n以不济可|0x1000000|100\n以诚相待|0x1000000|36749\n以诚相见|0x800000|1175\n以词害意|0x1000000|100\n以辞害意|0x1000000|100\n以辞取人|0x1000000|100\n以此类推|0x1000000|39204\n以此为戒|0x800000|1086\n以次充好|0x800000|895\n以大恶细|0x1000000|100\n以党举官|0x1000000|100\n以德报德|0x1000000|1126\n以德报怨|0x1000000|45451\n以德服人|0x1000000|945\n以德追祸|0x1000000|100\n以点带面|0x1000000|934\n以毒攻毒|0x1000000|43079\n以碫投卵|0x1000000|100\n以讹传讹|0x1000000|36397\n以恶报恶|0x1000000|1273\n以耳代目|0x1000000|100\n以耳为目|0x1000000|1507\n以法为教|0x0000|100\n以防不测|0x800000|40925\n以防万一|0xc00000|40926\n以丰补歉|0x1000000|1355\n以戈舂黍|0x1000000|100\n以工代干|0x800000|50415\n以工代赈|0x800000|39639\n以公灭私|0x1000000|100\n以功补过|0x1000000|100\n以攻为守|0x1000000|44564\n以宫笑角|0x1000000|100\n以古方今|0x0000|100\n以古非今|0x1000000|1316\n以古况今|0x800000|1535\n以古为鉴|0x1000000|100\n以古为镜|0x1000000|1159\n以古喻今|0x0000|100\n以古制今|0x1000000|100\n以骨去蚁|0x0000|100\n以瞽引瞽|0x1000000|100\n以观后效|0x1000000|45158\n以冠补履|0x0000|100\n以筦窥天|0x1000000|100\n以管窥豹|0x1000000|100\n以管窥天|0x1000000|1231\n以规为瑱|0x1000000|100\n以荷析薪|0x1000000|100\n以黑为白|0x1000000|100\n以毁为罚|0x1000000|100\n以火救火|0x1000000|1349\n以火去蛾|0x1000000|100\n以火止沸|0x1000000|100\n以及人之老|0x0008|927\n以己度人|0x1000000|1121\n以己之心|0x1000000|0\n以计代战|0x1000000|100\n以假充真|0x800000|1092\n以假乱真|0x1000000|33198\n以煎止燔|0x1000000|100\n以简驭繁|0x800000|1227\n以简御繁|0x0000|100\n以胶投漆|0x1000000|100\n以儆效尤|0x1000000|43080\n以酒解酲|0x0000|100\n以旧换新|0x0000|484\n以绝后患|0x0000|100\n以渴服马|0x1000000|100\n以口问心|0x1000000|100\n以苦为乐|0x800000|1076\n以快先睹|0x1000000|100\n以老卖老|0x1000000|1201\n以泪洗面|0x800000|37105\n以类相从|0x1000000|0\n以狸饵鼠|0x1000000|100\n以狸至鼠|0x0000|100\n以貍至鼠|0x1000000|100\n以蠡测海|0x1000000|100\n以礼相待|0x1000000|37457\n以理服人|0x1000000|30341\n以力服人|0x1000000|1199\n以利累形|0x1000000|100\n以利于|0x1000|18379\n以邻为壑|0x1000000|45452\n以鹿为马|0x1000000|100\n以卵敌石|0x1000000|100\n以卵击石|0x1000000|49665\n以卵投石|0x1000000|1538\n以毛相马|0x1000000|100\n以貌取人|0x1000000|46337\n以沫相濡|0x1000000|100\n以农立国|0x0008|0\n以偏概全|0x1000000|37106\n以其昏昏|0x800000|1031\n以其昏昏使人昭昭|0x0000|100\n以其人之道还治其人之身|0x0000|100\n以前年度|0x100000|483\n以强凌弱|0x1000000|41841\n以强胜弱|0x0000|100\n以勤补拙|0x1000000|1174\n以情感人|0x800000|1072\n以求一逞|0x1400000|0\n以屈求伸|0x0000|100\n以权达变|0x1000000|100\n以权谋私|0x800000|12025\n以筌为鱼|0x0000|100\n以人废言|0x1000000|54585\n以人为本|0x800000|582\n以人为鉴|0x1000000|1186\n以人为镜|0x1000000|1065\n以人择官|0x1000000|100\n以忍为阍|0x1000000|100\n以日继夜|0x1000000|0\n以日为年|0x0000|100\n以容取人|0x1000000|100\n以柔克刚|0x1000000|43798\n以柔制刚|0x1000000|1228\n以肉啖虎|0x1000000|100\n以肉驱蝇|0x1000000|100\n以肉去蚁|0x1000000|100\n以肉喂虎|0x0000|100\n以肉餧虎|0x1000000|100\n以弱胜强|0x800000|39013\n以弱制强|0x0000|100\n以色列|0x0040|1013\n以色列人|0x100000|517\n以色列总理|0x100000|483\n以色列总理沙龙|0x100000|456\n以杀去杀|0x1000000|100\n以杀止杀|0x0000|100\n以上干部|0x100000|509\n以上工作经验|0x100000|534\n以上几个方面|0x0000|381\n以上学历|0x100000|668\n以少胜多|0x0000|43328\n以身报国|0x800000|1306\n以身试法|0x1000000|34412\n以身试险|0x0000|100\n以身相许|0x0000|49303\n以身许国|0x1000000|47560\n以身殉国|0x0000|100\n以身殉职|0x1000000|31460\n以身作则|0x1000000|12967\n以慎为键|0x1000000|100\n以升量石|0x1000000|100\n以石投卵|0x1000000|100\n以石投水|0x1000000|100\n以势压人|0x1000000|1145\n以手加额|0x1000000|1241\n以守为攻|0x1000000|1074\n以售其奸|0x1000000|1352\n以书为御|0x1000000|100\n以叔援嫂|0x1000000|100\n以疏间亲|0x1000000|100\n以水济水|0x1000000|100\n以水救水|0x1000000|1539\n以水投石|0x1000000|100\n以水投水|0x1000000|100\n以水洗血|0x1000000|100\n以私废公|0x1000000|100\n以私害公|0x1000000|100\n以索续组|0x1000000|100\n以太网|0x100000|734\n以汤沃沸|0x1000000|100\n以汤沃雪|0x1000000|100\n以汤止沸|0x1000000|100\n以螳当车|0x1000000|100\n以桃代李|0x1000000|100\n以天下为己任|0x0008|856\n以莛叩钟|0x1000000|100\n以莛扣钟|0x1000000|100\n以莛撞钟|0x1000000|100\n以退为进|0x1000000|39833\n以往鉴来|0x1000000|100\n以微知著|0x1000000|100\n以微知着|0x0000|100\n以为后图|0x1000000|100\n以伪乱真|0x1000000|1538\n以文害辞|0x1000000|100\n以文会友|0x1000000|928\n以文乱法|0x0000|100\n以我为主|0x1000|436\n以郄视文|0x1000000|100\n以下内容|0x100000|640\n以销定产|0x800000|1093\n以小见大|0x800000|41613\n以小人之心|0x0008|958\n以心传心|0x1000000|1173\n以心问心|0x1000000|100\n以刑去刑|0x1000000|1343\n以刑止刑|0x1000000|100\n以刑致刑|0x1000000|100\n以学愈愚|0x1000000|100\n以血洗血|0x1000000|100\n以牙还牙|0x1000000|848\n以言举人|0x1000000|1260\n以言取人|0x1000000|100\n以言为讳|0x1000000|100\n以言徇物|0x1000000|100\n以眼还眼|0x1000000|1020\n以眼还眼，以牙还牙|0x0000|54048\n以羊易牛|0x1000000|1535\n以养伤身|0x1000000|100\n以噎废飡|0x1000000|100\n以噎废餐|0x0000|100\n以夜继朝|0x1000000|100\n以夜继日|0x1000000|100\n以夜继昼|0x1000000|100\n以夜续昼|0x1000000|100\n以一持万|0x1400000|0\n以一当十|0x1400000|41375\n以一奉百|0x1400000|0\n以一击十|0x400000|0\n以一儆百|0x1400000|0\n以一警百|0x1400000|0\n以一知万|0x1400000|0\n以夷伐夷|0x1000000|100\n以夷攻夷|0x1000000|100\n以夷制夷|0x1000000|1057\n以夷治夷|0x0008|100\n以疑决疑|0x1000000|100\n以义断恩|0x1000000|100\n以义割恩|0x1000000|100\n以佚待劳|0x1000000|100\n以逸待劳|0x1000000|31358\n以逸击劳|0x1000000|100\n以意逆志|0x1000000|1292\n以意为之|0x1000000|100\n以镒称铢|0x1000000|100\n以蚓投鱼|0x1000000|100\n以鱼驱蝇|0x1000000|100\n以玉抵鹊|0x1000000|100\n以玉抵乌|0x1000000|100\n以誉进能|0x1000000|100\n以誉为赏|0x1000000|100\n以怨报德|0x1000000|45453\n以泽量尸|0x1000000|100\n以战去战|0x1000000|100\n以战养战|0x1000000|1074\n以正视听|0x1000000|45760\n以直报怨|0x1000000|1135\n以直抱怨|0x0000|100\n以指测河|0x1000000|100\n以指挠沸|0x1000000|100\n以至于|0x10000000|9487\n以致于|0x0000|31571\n以终天年|0x0000|100\n以众暴寡|0x1000000|100\n以珠弹雀|0x1000000|1343\n以铢称镒|0x1000000|100\n以铢程镒|0x1000000|100\n以锥飡壸|0x1000000|100\n以锥餐壶|0x0000|100\n以锥刺地|0x1000000|100\n以资鼓励|0x800000|55028\n以子之矛|0x1000000|1109\n以紫乱朱|0x1000000|100\n以紫为朱|0x1000000|100\n蚁萃螽集|0x0000|100\n蚁斗蜗争|0x0000|100\n蚁封穴雨|0x1000000|100\n蚁附蜂屯|0x0040|100\n蚁附蝇集|0x0000|100\n蚁集蜂攒|0x0000|100\n蚁聚蜂屯|0x0040|100\n蚁聚蜂攒|0x0000|100\n蚁溃鼠骇|0x0000|100\n蚁穴坏堤|0x0000|100\n蚁穴溃堤|0x1000000|100\n蚁穴自封|0x0000|100\n蚁拥蜂攒|0x0000|100\n倚傍门户|0x1000000|100\n倚财仗势|0x0000|100\n倚草附木|0x1000000|100\n倚翠偎红|0x1000000|1357\n倚官挟势|0x1000000|100\n倚官仗势|0x1000000|1355\n倚姣作媚|0x0000|100\n倚老卖老|0x1000000|41376\n倚闾望切|0x0000|100\n倚马可待|0x1000000|1225\n倚马七纸|0x1400000|0\n倚马千言|0x1000000|0\n倚门傍户|0x1000000|100\n倚门窥户|0x1000000|100\n倚门卖俏|0x1000000|100\n倚门卖笑|0x1000000|1258\n倚门献笑|0x1000000|100\n倚门倚闾|0x1000000|100\n倚强凌弱|0x1000000|100\n倚人庐下|0x0000|100\n倚势凌人|0x0000|100\n倚天拔地|0x1000000|100\n倚玉偎香|0x1000000|100\n旖旎风光|0x800000|1005\n义薄云天|0x1000000|922\n义不反顾|0x0000|100\n义不取容|0x0000|100\n义不容辞|0x1000000|11210\n义不生财|0x0000|100\n义齿粘附剂三级字|0x400000|0\n义大利|0x0008|567\n义大利式|0x100000|0\n义胆忠肝|0x0000|100\n义断恩绝|0x0000|100\n义愤填胸|0x0000|100\n义愤填膺|0x1000000|25301\n义海恩山|0x0000|100\n义和拳|0x100000|1186\n义和团|0x100000|17580\n义和团运动|0x0008|1648\n义浆仁粟|0x0000|100\n义马市|0x0040|1587\n义卖会|0x100000|1133\n义气相投|0x0000|100\n义乌市|0x0040|1061\n义无反顾|0x1000000|16526\n义无返顾|0x1000000|699\n义无旋踵|0x0000|100\n义务兵|0x100000|24858\n义务兵役制|0x100000|1155\n义务工|0x0000|28328\n义务教育|0x800000|4396\n义务教育阶段|0x100000|546\n义务劳动|0x800000|21090\n义务性|0x100000|1097\n义形于色|0x1000000|1292\n义勇军|0x100000|19759\n义正词严|0x1000000|36398\n义正辞严|0x1000000|36398\n义正辞约|0x0000|100\n义重恩深|0x0000|100\n亿万富豪|0x100000|489\n亿万富翁|0x0000|603\n亿万人民|0x100000|736\n亿万斯年|0x1000000|52543\n亿辛万苦|0x1000000|100\n亿兆一心|0x1400000|0\n弋人何篡|0x0000|100\n弋阳县|0x0040|1630\n忆苦思甜|0x800000|41377\n艺不压身|0x800000|1198\n艺高胆大|0x0000|100\n艺高人胆大|0x800000|1000\n艺品店|0x0040|0\n艺术博物馆|0x100000|476\n艺术创作|0x0000|540\n艺术大师|0x100000|778\n艺术风格|0x0000|511\n艺术歌曲|0x0008|0\n艺术馆|0x100000|803\n艺术化|0x1000|874\n艺术家|0x100000|2298\n艺术家协会|0x100000|432\n艺术节|0x4000|723\n艺术界|0x100000|835\n艺术剧院|0x100000|454\n艺术课|0x100000|406\n艺术类|0x100000|598\n艺术论文|0x100000|388\n艺术美|0x100000|991\n艺术门|0x100000|425\n艺术片|0x0000|36750\n艺术品|0x100000|9626\n艺术人生|0x100000|529\n艺术人体|0x100000|376\n艺术设计|0x100000|606\n艺术摄影|0x100000|524\n艺术史|0x100000|486\n艺术体操|0x100000|51211\n艺术团|0x100000|784\n艺术系|0x100000|812\n艺术心理学|0x0008|1197\n艺术欣赏|0x100000|839\n艺术形象|0x0008|1\n艺术型|0x100000|374\n艺术性|0x100000|11381\n艺术学|0x100000|900\n艺术学校|0x100000|534\n艺术学院|0x100000|718\n艺术院|0x100000|1057\n艺术院校|0x100000|513\n艺术展|0x100000|542\n艺术照|0x100000|54049\n艺术中心|0x100000|553\n艺术字|0x100000|449\n艺术总监|0x100000|476\n艺术作品|0x0000|559\n艺文志|0x100000|420\n艺苑奇葩|0x800000|0\n仡佬族|0x0008|48714\n议不反顾|0x1000000|100\n议定书|0x100000|7784\n议而不决|0x800000|55030\n议会党团|0x100000|1113\n议会斗争|0x0008|2\n议会制|0x100000|37272\n议论纷错|0x1000000|100\n议论纷纷|0x1000000|775\n议论纷纭|0x1000000|100\n议论风发|0x1000000|100\n议论风生|0x1000000|1241\n议论文|0x100000|42087\n议论英发|0x1000000|100\n议事规则|0x0000|518\n议事日程|0x100000|825\n议事厅|0x100000|830\n亦步亦趋|0x1000000|29908\n亦复如是|0x0000|100\n亦可覆舟|0x800000|100\n亦趋亦步|0x1000000|100\n亦用全力|0x1000000|0\n亦有一得|0x1400000|0\n亦庄亦谐|0x1000000|52089\n异宝奇珍|0x0000|100\n异丙苯|0x100000|1123\n异丙醇|0x100000|963\n异步电动机|0x100000|483\n异步电机|0x100000|434\n异草奇花|0x0000|100\n异地相逢|0x0000|100\n异丁烯|0x0008|1084\n异端邪说|0x100000|45454\n异国他乡|0x0000|23901\n异乎寻常|0x1000000|23902\n异黄酮|0x100000|900\n异教徒|0x100000|500\n异军特起|0x0000|100\n异军突起|0x1000000|20109\n异口同声|0x1000000|16193\n异口同音|0x0000|100\n异口同韵|0x0000|100\n异亮氨酸|0x100000|1141\n异路同归|0x0000|100\n异名同实|0x800000|100\n异木奇花|0x0000|100\n异曲同工|0x1000000|33466\n异体字|0x100000|45455\n异涂同归|0x0000|100\n异途同归|0x0000|100\n异闻传说|0x0000|100\n异乡人|0x100000|884\n异香扑鼻|0x0000|100\n异想天开|0x1000000|25795\n异形字|0x100000|1538\n异烟肼|0x100000|1081\n异源四倍体|0x400000|0\n抑菌剂|0x0008|1136\n抑菌作用|0x100000|946\n抑强扶弱|0x1000000|1251\n抑塞磊落|0x0000|100\n抑肽酶|0x0008|0\n抑扬顿挫|0x1000000|29163\n抑郁寡欢|0x1000000|1134\n抑郁症|0x0000|22968\n抑制剂|0x0008|879\n抑制器|0x0008|1060\n译电员|0x100000|1285\n译码器|0x0008|1038\n译意风|0x100000|1498\n译制片|0x100000|49668\n易变性|0x100000|1165\n易地而处|0x1000000|1162\n易货贸易|0x0000|49304\n易口以食|0x1000000|100\n易拉罐|0x100000|816\n易门县|0x0040|1062\n易燃品|0x0000|389\n易燃物|0x100000|51653\n易燃易爆|0x800000|875\n易如翻掌|0x1000000|100\n易如反掌|0x1000000|37819\n易如破竹|0x1000000|100\n易如拾芥|0x0000|100\n易守难攻|0x0000|46340\n易俗移风|0x1000000|100\n易碎品|0x0008|1613\n易同反掌|0x1000000|100\n易于反手|0x0000|100\n易于反掌|0x0000|100\n易于拾遗|0x0000|100\n易辙改弦|0x1000000|100\n易子而教|0x0000|100\n易子而食|0x1000000|1173\n易子析骸|0x1000000|100\n驿寄梅花|0x1000000|1222\n驿路梅花|0x1000000|100\n驿使梅花|0x1000000|100\n疫情报告|0x100000|469\n羿射九日|0xc00000|0\n轶类超群|0x1000000|100\n轶群绝类|0x1000000|100\n轶事遗闻|0x1000000|100\n轶闻遗事|0x1000000|100\n悒悒不乐|0x0000|100\n挹彼注此|0x1000000|100\n挹彼注兹|0x1000000|1539\n挹斗扬箕|0x1000000|100\n挹盈注虚|0x1000000|100\n益国利民|0x0000|100\n益母草|0x100000|54587\n益谦亏盈|0x0000|100\n益寿延年|0x1000000|1030\n益阳市|0x0040|1352\n益智仁|0x0008|376\n谊不敢辞|0x1000000|100\n谊不容辞|0x1000000|100\n谊切苔岑|0x0000|100\n逸辈殊伦|0x1000000|100\n逸尘断鞅|0x1000000|100\n逸出功|0x100000|1409\n逸趣横生|0x1000000|1296\n逸群绝伦|0x1000000|100\n逸群之才|0x0000|100\n逸态横生|0x1000000|100\n逸闻趣事|0x1000000|1092\n逸闻琐事|0x1000000|100\n逸闻轶事|0x1000000|100\n逸兴遄飞|0x1000000|1171\n逸兴横飞|0x1000000|100\n逸兴云飞|0x1000000|100\n逸以待劳|0x1000000|100\n逸韵高致|0x1000000|100\n意出望外|0x1000000|100\n意大利|0x0040|2351\n意大利杯|0x100000|496\n意大利队|0x100000|504\n意大利人|0x100000|751\n意大利语|0x100000|529\n意大利足球|0x100000|457\n意得志满|0x0000|100\n意广才疏|0x0000|100\n意合情投|0x1000000|100\n意见簿|0x100000|45161\n意见反馈|0x100000|722\n意见建议|0x100000|614\n意见书|0x100000|868\n意见箱|0x100000|27171\n意懒心灰|0x1000000|1396\n意懒心慵|0x0000|100\n意料之外|0x800000|704\n意料之中|0x800000|667\n意乱情迷|0x800000|796\n意乱心忙|0x1000000|100\n意马心猿|0x1000000|54053\n意满志得|0x0000|100\n意气飞扬|0x1000000|1129\n意气风发|0x1000000|22434\n意气高昂|0x0000|100\n意气相得|0x1000000|100\n意气相投|0x1000000|51654\n意气扬扬|0x1000000|1268\n意气洋洋|0x1000000|1318\n意气用事|0x1000000|40269\n意气自得|0x1000000|1090\n意气自如|0x0000|100\n意气自若|0x0000|100\n意前笔后|0x1000000|100\n意惹情牵|0x0000|100\n意识到|0x0000|759\n意识流|0x100000|35451\n意识形态|0x800000|6384\n意外保险|0x100000|901\n意外事故|0x0000|551\n意外险|0x100000|870\n意往神驰|0x0000|100\n意味深长|0x1000000|15066\n意味着|0x1000|3476\n意下如何|0x0008|0\n意想不到|0x1000000|617\n意向书|0x100000|22708\n意向性|0x100000|1008\n意兴盎然|0x0000|100\n意兴阑珊|0x1000000|913\n意兴索然|0x1000000|1129\n意义深长|0x1000000|100\n意犹未尽|0x800000|26019\n意在笔前|0x1000000|100\n意在笔先|0x1000000|1183\n意在沛公|0x1000000|1110\n意在言外|0x1000000|49669\n意志力|0x100000|731\n意中人|0x100000|34414\n意转心回|0x0000|100\n溢洪道|0x100000|1095\n溢流坝|0x0008|1248\n溢美溢恶|0x0000|100\n溢美之词|0x800000|929\n溢美之辞|0x800000|1048\n溢美之言|0x0000|100\n溢美之语|0x0000|100\n溢言虚美|0x1000000|100\n溢于言表|0x800000|20556\n溢于言外|0x0000|100\n瘗玉埋香|0x1000000|100\n毅然决然|0x1000000|28786\n薏苡蒙谤|0x0000|100\n薏苡明珠|0x1000000|100\n薏苡仁|0x0008|444\n薏苡之谤|0x0000|100\n薏苡之谗|0x0000|100\n翼城县|0x0040|1645\n翼翼飞鸾|0x0000|100\n翼翼小心|0x0000|100\n因变量|0x100000|1130\n因材施教|0x1000000|25527\n因车祸|0x100000|464\n因敌取资|0x1000000|100\n因敌为资|0x1000000|100\n因地制宜|0x1000000|6493\n因风吹火|0x1000000|100\n因公假私|0x1000000|100\n因公行私|0x1000000|100\n因公殉职|0x800000|1030\n因果报应|0x1000000|878\n因果关系|0x0008|798\n因果律|0x100000|1059\n因果论|0x0008|0\n因祸得福|0x1000000|42089\n因祸为福|0x1000000|100\n因利乘便|0x1000000|1259\n因陋就寡|0x1000000|100\n因陋就简|0x1000000|34415\n因陋守旧|0x0000|100\n因难见巧|0x1000000|100\n因人成事|0x1000000|49305\n因人而异|0x1000000|25057\n因人制宜|0x800000|45457\n因任授官|0x1000000|100\n因时制宜|0x1000000|39427\n因式分解|0x100000|1060\n因事制宜|0x1000000|52091\n因势利导|0x1000000|17603\n因树为屋|0x1000000|100\n因特尔|0x0008|0\n因特网|0x100000|7030\n因为种种原因|0x0000|476\n因乌及屋|0x1000000|100\n因袭陈规|0x0000|100\n因小见大|0x1000000|1389\n因小失大|0x1000000|39205\n因循苟且|0x0000|100\n因循守旧|0x1000000|20383\n因循坐误|0x1000000|100\n因噎废食|0x1000000|35602\n因缘为市|0x1000000|100\n因子分析|0x0008|0\n阴暗面|0x100000|34717\n阴曹地府|0x0000|451\n阴差阳错|0x1000000|38015\n阴沉沉|0x0100|25303\n阴错阳差|0x1000000|49306\n阴道镜|0x100000|444\n阴道内|0x100000|527\n阴道炎|0x100000|814\n阴地蕨|0x100000|1537\n阴电子|0x100000|1535\n阴服微行|0x0000|100\n阴魂不散|0x1000000|839\n阴极保护|0x0008|0\n阴极射线|0x0008|1050\n阴极射线管|0x0008|1075\n阴极输出器|0x0008|0\n阴离子|0x100000|888\n阴陵泉|0x0008|0\n阴谋诡计|0x1000000|34130\n阴谋家|0x100000|33708\n阴凝冰坚|0x1000000|100\n阴凝坚冰|0x1000000|100\n阴跷脉|0x100000|1296\n阴柔气|0x100000|0\n阴森森|0x0100|24808\n阴山背后|0x100000|1346\n阴盛阳衰|0x0008|946\n阴维脉|0x100000|1224\n阴险毒辣|0x800000|1025\n阴阳惨舒|0x1000000|100\n阴阳怪气|0x1000000|32950\n阴阳家|0x0008|1073\n阴阳交错|0x0000|100\n阴阳历|0x100000|1023\n阴阳人|0x100000|55031\n阴阳生|0x100000|1183\n阴阳师|0x100000|493\n阴阳水|0x100000|1254\n阴阳五行|0x400008|0\n阴阳先生|0x0000|31119\n阴疑阳战|0x1000000|100\n阴阴沉沉|0x0100|1076\n阴雨连绵|0x800000|894\n阴云密布|0x1000000|878\n阴着儿|0x100000|1263\n茵陈蒿|0x0008|1217\n茵席之臣|0x0000|100\n荫子封妻|0x0000|100\n音节文字|0x100000|896\n音界号|0x0008|0\n音乐榜|0x100000|476\n音乐茶座|0x0000|50032\n音乐程序|0x100000|426\n音乐创作|0x100000|529\n音乐大师|0x100000|475\n音乐帝国|0x100000|421\n音乐电视|0x0000|32576\n音乐风格|0x100000|548\n音乐格式|0x100000|558\n音乐工作室|0x100000|493\n音乐谷|0x100000|394\n音乐盒|0x100000|697\n音乐会|0x100000|5942\n音乐极限|0x100000|471\n音乐家|0x100000|11088\n音乐奖|0x100000|516\n音乐教育|0x100000|514\n音乐节|0x4000|788\n音乐界|0x100000|25304\n音乐剧|0x100000|728\n音乐课|0x100000|882\n音乐库|0x100000|492\n音乐门户|0x100000|439\n音乐排行榜|0x100000|543\n音乐喷泉|0x0000|37642\n音乐片|0x0008|50419\n音乐频道|0x100000|667\n音乐人|0x100000|692\n音乐盛典|0x100000|467\n音乐史|0x100000|877\n音乐视听|0x100000|560\n音乐手机|0x100000|575\n音乐台|0x100000|806\n音乐厅|0x100000|19325\n音乐听|0x100000|597\n音乐网|0x100000|843\n音乐网站|0x100000|637\n音乐文件|0x100000|568\n音乐窝|0x100000|407\n音乐屋|0x100000|377\n音乐无限|0x100000|551\n音乐舞蹈|0x100000|839\n音乐系|0x100000|707\n音乐性|0x100000|931\n音乐学校|0x100000|440\n音乐学院|0x0020|1362\n音乐营|0x0040|0\n音乐种类|0x100000|386\n音乐作品|0x100000|548\n音频编辑|0x100000|442\n音频格式|0x100000|555\n音频工具|0x100000|489\n音频接口|0x100000|480\n音频设备|0x100000|456\n音频视频|0x100000|474\n音频文件|0x100000|578\n音频系统|0x100000|500\n音频线|0x100000|459\n音频芯片|0x100000|455\n音频振荡器|0x0008|0\n音容如在|0x0000|100\n音容宛在|0x1000000|1155\n音容笑貌|0x1000000|28508\n音色库|0x100000|409\n音问两绝|0x0000|100\n音响工程|0x100000|437\n音响技术|0x100000|454\n音响器|0x0008|0\n音响器材|0x100000|486\n音响设备|0x100000|515\n音响世界|0x100000|399\n音响系统|0x100000|525\n音响效果|0x100000|840\n音像出版社|0x100000|572\n音像店|0x100000|515\n音像教材|0x100000|468\n音像制品|0x0008|11211\n音信全无|0x800000|1004\n音信杳无|0x1000000|1263\n音韵学|0x100000|1062\n殷浩书空|0x1000000|100\n殷鉴不远|0x1000000|1150\n殷民阜财|0x0000|100\n殷天蔽日|0x1000000|100\n殷殷屯屯|0x0100|0\n氤氤氲氲|0x1000|1237\n喑噁叱咤|0x0000|100\n堙谷堑山|0x1000000|100\n吟风弄月|0x1000000|50420\n吟风咏月|0x1000000|100\n吟花咏柳|0x1000000|100\n寅吃卯粮|0x1000000|42092\n寅支卯粮|0x1000000|0\n崟崎磊落|0x1000000|100\n淫词秽语|0x1000000|100\n淫词亵语|0x1000000|100\n淫词艳曲|0x100000|1213\n淫辞秽语|0x0000|100\n淫辞邪说|0x0000|100\n淫荡女|0x100000|395\n淫秽物品|0x0008|0\n淫妹妹|0x100000|397\n淫朋密友|0x1000000|100\n淫朋狎友|0x1000000|100\n淫心匿行|0x1000000|100\n淫言诐行|0x1000000|100\n淫言狎语|0x1000000|100\n淫言媟语|0x1000000|100\n淫羊藿|0x0008|432\n银白色|0x100000|760\n银本位|0x100000|1294\n银柴胡|0x0008|0\n银川市|0x0040|1312\n银粉漆|0x0008|1257\n银钩虿尾|0x1000000|100\n银钩铁画|0x1000000|100\n银钩玉唾|0x1000000|100\n银河倒泻|0x1000000|100\n银河系|0x0008|23400\n银河证券|0x100000|528\n银花火树|0x1000000|100\n银环蛇|0x0008|51656\n银灰色|0x100000|798\n银货两讫|0x800000|1166\n银离子|0x0008|413\n银屏金屋|0x1000000|100\n银山铁壁|0x1000000|1539\n银饰品|0x100000|532\n银屑病|0x100000|602\n银行存款|0x0000|610\n银行贷款|0x0000|617\n银行家|0x100000|800\n银行间|0x100000|558\n银行界|0x100000|971\n银行卡|0x100000|39207\n银行利率|0x0000|452\n银行券|0x0008|1273\n银行团|0x100000|1\n银行信贷|0x100000|511\n银行信用|0x0008|0\n银行行长|0x100000|520\n银行学|0x100000|926\n银行业|0x100000|710\n银行业务|0x100000|540\n银行帐号|0x0000|604\n银行帐户|0x0008|516\n银行职员|0x100000|465\n银杏苗木|0x100000|446\n银杏树|0x100000|876\n银杏叶|0x0008|878\n银样蜡枪头|0x0008|1173\n银样镴枪头|0x0008|1373\n银质奖|0x100000|45163\n银妆素裹|0x800000|1029\n夤缘攀附|0x1000000|100\n龈齿弹舌|0x0000|100\n龈龈计较|0x0000|100\n引潮力|0x100000|1330\n引车卖浆|0x1000000|1150\n引导者|0x100000|936\n引短推长|0x1000000|100\n引而不发|0x1000000|48572\n引风吹火|0x1000000|100\n引狗入寨|0x1000000|100\n引古喻今|0x1000000|100\n引古证今|0x1000000|100\n引鬼上门|0x800000|1541\n引过自责|0x0000|100\n引航员|0x100000|1087\n引虎拒狼|0x1000000|100\n引虎入室|0x1000000|100\n引虎自卫|0x1000000|100\n引火烧身|0x1000000|42093\n引火线|0x100000|48573\n引进人才|0x0000|503\n引进外资|0x100000|876\n引经据典|0x1000000|34553\n引经据古|0x1000000|100\n引颈受戮|0x0000|100\n引咎辞职|0x800000|929\n引咎责躬|0x1000000|100\n引咎自责|0x1000000|1120\n引吭悲歌|0x0000|100\n引吭高唱|0x0000|100\n引吭高歌|0x1000000|31572\n引吭高声|0x0000|100\n引狼拒虎|0x1000000|100\n引狼入室|0x1000000|38599\n引狼自卫|0x1000000|100\n引类呼朋|0x1000000|100\n引力场|0x100000|1053\n引领而望|0x0000|100\n引律比附|0x1000000|100\n引起轰动|0x100000|833\n引擎盖|0x100000|930\n引人入胜|0x1000000|18451\n引人深思|0x800000|33200\n引人瞩目|0x800000|24473\n引人注目|0x800000|6640\n引人注意|0x800000|814\n引日成岁|0x1000000|100\n引入歧途|0x1000000|1032\n引商刻角|0x1000000|100\n引商刻羽|0x1000000|1346\n引蛇出洞|0x800000|48210\n引申触类|0x1000000|100\n引申义|0x0000|55908\n引伸触类|0x1000000|100\n引绳排根|0x1000000|100\n引绳批根|0x1000000|100\n引绳棋布|0x1000000|100\n引绳切墨|0x1000000|100\n引手投足|0x1000000|100\n引首以望|0x0000|100\n引水道|0x100000|1276\n引水人|0x100000|1423\n引水入墙|0x1000000|100\n引水上山|0x100000|0\n引水员|0x100000|1291\n引体向上|0x100000|1010\n引为鉴戒|0x800000|1330\n引物连类|0x1000000|100\n引线穿针|0x1000000|1495\n引线人|0x100000|1534\n引新吐故|0x1000000|100\n引以为耻|0x800000|1132\n引以为憾|0x800000|1146\n引以为戒|0x800000|27324\n引以为荣|0x800000|33851\n引以自豪|0x800000|34554\n引玉之砖|0x1000000|100\n引喻失义|0x1000000|1190\n引针拾芥|0x1000000|100\n引锥刺股|0x1000000|100\n引足救经|0x1000000|100\n引座员|0x100000|1326\n饮冰内热|0x1000000|100\n饮冰茹檗|0x1000000|100\n饮冰茹蘖|0x1000000|100\n饮冰食檗|0x0000|100\n饮冰食蘖|0x1000000|100\n饮冰吞檗|0x1000000|100\n饮醇自醉|0x1000000|100\n饮胆尝血|0x1000000|100\n饮犊上流|0x1000000|100\n饮风餐露|0x1000000|0\n饮谷栖丘|0x1000000|100\n饮河满腹|0x1000000|100\n饮河鼹鼠|0x1000000|100\n饮恨而终|0x1000000|100\n饮恨吞声|0x1000000|100\n饮灰洗胃|0x1000000|100\n饮料包装|0x100000|425\n饮料厂|0x100000|821\n饮料店|0x0040|1\n饮料机|0x100000|382\n饮料机械|0x100000|422\n饮料瓶|0x100000|516\n饮料水|0x100000|1256\n饮料有限公司|0x100000|471\n饮流怀源|0x1000000|0\n饮露餐风|0x0000|100\n饮马长江|0x1000000|1204\n饮马投钱|0x1000000|100\n饮气吞声|0x1000000|100\n饮泣吞声|0x1000000|1386\n饮泉清节|0x1000000|100\n饮牲口|0x0000|54594\n饮食店|0x100000|858\n饮食结构|0x100000|474\n饮食疗法|0x100000|911\n饮食男女|0x1000000|818\n饮食起居|0x1000000|913\n饮食卫生|0x100000|472\n饮食文化|0x100000|549\n饮食习惯|0x100000|563\n饮食业|0x100000|34258\n饮水辨源|0x1000000|100\n饮水啜菽|0x1000000|100\n饮水机|0x100000|698\n饮水栖衡|0x1000000|100\n饮水曲肱|0x1000000|100\n饮水食菽|0x1000000|100\n饮水思源|0x1000000|38806\n饮水知源|0x1000000|100\n饮血崩心|0x1000000|100\n饮血茹毛|0x1000000|100\n饮用水|0x100000|711\n饮用水舱|0x100000|0\n饮鸩解渴|0x1000000|100\n饮鸩止渴|0x1000000|39431\n隐蔽处|0x100000|1001\n隐恶扬善|0x1000000|55538\n隐晦曲折|0x1000000|1269\n隐迹埋名|0x1000000|100\n隐介藏形|0x0000|100\n隐居求志|0x1000000|100\n隐君子|0x100000|1108\n隐鳞藏彩|0x1000000|100\n隐鳞戢翼|0x1000000|100\n隐鳞戢羽|0x1000000|100\n隐密性|0x100000|1085\n隐名埋姓|0x1000000|1155\n隐然敌国|0x1000000|100\n隐忍不发|0x1000000|1057\n隐忍不言|0x1000000|1252\n隐若敌国|0x1000000|100\n隐身草|0x100000|1200\n隐身术|0x100000|934\n隐私权|0x0008|20427\n隐天蔽日|0x0000|100\n隐形飞机|0x100000|53046\n隐形纱窗|0x100000|405\n隐形透视眼镜|0x100000|397\n隐形无线耳机|0x100000|577\n隐形眼镜|0x100000|48211\n隐姓埋名|0x1000000|35146\n隐隐约约|0x0100|693\n隐隐作痛|0x800000|723\n隐约可见|0x800000|857\n隐约其词|0x1000000|1406\n隐约其辞|0x1000000|100\n隐占身体|0x0000|100\n瘾君子|0x100000|41844\n印把子|0x100000|47563\n印表机|0x0008|523\n印地安纳州|0x0040|1310\n印第安|0x0008|1246\n印第安纳|0x0040|1459\n印第安纳州|0x0040|1694\n印第安人|0x100000|17470\n印度半岛|0x100000|795\n印度谷螟|0x0008|0\n印度教|0x0020|27901\n印度尼西亚|0x0040|8729\n印度人|0x100000|784\n印度斯坦|0x0040|1522\n印度洋|0x0040|10250\n印度洋海啸|0x100000|489\n印度支那|0x0040|1539\n印花布|0x100000|40060\n印花厂|0x0000|405\n印花税|0x100000|25933\n印花纸|0x100000|389\n印累绶若|0x1000000|100\n印模材料|0x0008|0\n印欧语|0x0000|48213\n印染厂|0x100000|849\n印染机械|0x100000|409\n印染助剂|0x0008|910\n印书馆|0x100000|825\n印刷厂|0x100000|618\n印刷电路|0x0008|899\n印刷工|0x0008|1632\n印刷机|0x100000|725\n印刷技术|0x100000|503\n印刷品|0x100000|21786\n印刷术|0x100000|932\n印刷所|0x100000|1113\n印刷体|0x100000|45168\n印刷业|0x100000|838\n印相纸|0x100000|1387\n印象派|0x100000|858\n印象主义|0x100000|1025\n印制板|0x100000|435\n印制电路|0x0008|0\n印子钱|0x100000|48574\n印字机|0x0008|1595\n茚三酮|0x400008|0\n应变力|0x100000|1076\n应变无方|0x1000000|100\n应变硬化|0x0008|0\n应城市|0x0040|1504\n应酬话|0x100000|1217\n应答器|0x0008|1\n应答如流|0x1000000|100\n应答如响|0x1000000|100\n应对如流|0x1000000|100\n应对如响|0x1000000|100\n应付款|0x100000|942\n应付裕如|0x1000000|48949\n应付账款|0x0008|0\n应付自如|0x1000000|918\n应该是|0x0000|541\n应该说|0x0000|706\n应机立断|0x1000000|100\n应激状态|0x0008|0\n应急灯|0x100000|847\n应接不暇|0x1000000|26856\n应节合拍|0x1000000|100\n应届毕业生|0x0000|633\n应届生|0x0000|54595\n应名点卯|0x1000000|100\n应名儿|0x1000|0\n应聘者|0x100000|757\n应权通变|0x1000000|100\n应刃而解|0x1000000|100\n应声虫|0x100000|47250\n应时对景|0x0000|100\n应试教育|0x0008|7\n应天承运|0x1000000|100\n应天从人|0x0000|100\n应天顺民|0x1000000|100\n应天顺人|0x1000000|1280\n应天顺时|0x800000|0\n应弦而倒|0x1000000|1312\n应选人|0x100000|1534\n应用程序|0x0008|579\n应用地理学|0x0008|0\n应用服务|0x100000|684\n应用光学|0x0008|0\n应用化学|0x100000|479\n应用技术|0x100000|631\n应用科学|0x800000|35301\n应用力学|0x0008|1\n应用领域|0x100000|746\n应用软件|0x0008|516\n应用题|0x100000|44042\n应用卫星|0x100000|100\n应用文|0x100000|40693\n应用物理学|0x0008|1\n应用心理学|0x0008|0\n应用性|0x100000|888\n应用于|0x0000|718\n应有尽有|0x1000000|17881\n应运而生|0x1000000|11159\n应徵者|0x100000|1138\n英德市|0x0040|1563\n英法联军|0x100000|1\n英风亮节|0x0000|100\n英格兰|0x0040|954\n英格兰队|0x100000|528\n英格兰人|0x100000|433\n英格兰银行|0x100000|394\n英格兰足球|0x100000|466\n英国皇家|0x100000|525\n英国剑桥大学|0x100000|450\n英国伦敦|0x0000|548\n英国女王|0x0000|496\n英国人|0x100000|680\n英国文学|0x100000|0\n英国政府|0x0020|1258\n英汉词典|0x0000|470\n英汉辞典|0x0008|0\n英汉翻译|0x100000|418\n英汉字典|0x100000|1006\n英吉利|0x0040|1470\n英吉利海峡|0x0040|974\n英吉沙|0x0040|1635\n英吉沙县|0x0040|1112\n英杰传|0x100000|437\n英科学家|0x100000|406\n英联邦|0x0008|32331\n英伦三岛|0x400040|3\n英年早逝|0x1000000|820\n英山县|0x0040|1653\n英声茂实|0x0000|100\n英声欺人|0x0000|100\n英特尔|0x0008|979\n英特尔公司|0x0020|1032\n英特耐雄纳尔|0x0080|0\n英特网|0x0008|1626\n英王室|0x100000|372\n英文报|0x100000|375\n英文单词|0x100000|503\n英文翻译|0x100000|480\n英文歌|0x100000|512\n英文歌词|0x100000|434\n英文歌曲|0x100000|523\n英文简历|0x100000|491\n英文课|0x100000|1\n英文名|0x100000|649\n英文名称|0x100000|650\n英文名字|0x100000|516\n英文书|0x100000|446\n英文舞曲|0x100000|466\n英文信|0x100000|380\n英文原版|0x100000|493\n英文字母|0x0000|571\n英雄版|0x100000|496\n英雄榜|0x100000|517\n英雄辈出|0x800000|956\n英雄本色|0x800000|777\n英雄传|0x100000|706\n英雄豪杰|0x100000|867\n英雄好汉|0x100000|877\n英雄气短|0x800000|45459\n英雄人物|0x0000|533\n英雄入彀|0x0000|100\n英雄萨姆|0x100000|439\n英雄事迹|0x0000|479\n英雄所见略同|0x0008|921\n英雄无敌|0x100000|800\n英雄无用武之地|0x0008|986\n英雄主义|0x100000|20751\n英英玉立|0x0000|100\n英语版|0x100000|562\n英语词典|0x0000|433\n英语词汇|0x100000|547\n英语单词|0x100000|543\n英语等级|0x100000|548\n英语翻译|0x100000|539\n英语角|0x100000|823\n英语教案|0x100000|437\n英语教材|0x100000|479\n英语教学|0x100000|668\n英语教育|0x100000|503\n英语考试|0x100000|664\n英语课|0x100000|761\n英语课程|0x100000|513\n英语课堂|0x100000|473\n英语口语|0x100000|591\n英语老师|0x0000|513\n英语六级|0x100000|557\n英语论文|0x100000|436\n英语试题|0x100000|497\n英语书|0x100000|437\n英语水平|0x0000|583\n英语四|0x100000|518\n英语听力|0x100000|553\n英语通|0x100000|407\n英语系|0x100000|861\n英语学校|0x100000|446\n英语演讲|0x100000|455\n英语语法|0x100000|513\n英语专业|0x0000|575\n英姿勃勃|0x800000|1140\n英姿勃发|0x800000|984\n英姿焕发|0x1000000|1079\n英姿飒爽|0x1000000|35147\n莺猜燕妒|0x1000000|100\n莺巢燕垒|0x1000000|100\n莺俦燕侣|0x1000000|100\n莺飞草长|0x1000000|0\n莺飞燕舞|0x1000000|100\n莺歌蝶舞|0x1000000|100\n莺歌燕舞|0x1000000|43556\n莺歌燕语|0x1000000|1161\n莺闺燕阁|0x1000000|100\n莺期燕约|0x1000000|100\n莺声燕语|0x1000000|1090\n莺啼燕语|0x1000000|1256\n莺吟燕舞|0x1000000|100\n莺吟燕儛|0x1000000|100\n婴儿期|0x100000|466\n婴儿用品|0x100000|489\n婴儿油|0x100000|416\n婴幼儿|0x100000|664\n婴幼儿用品|0x100000|455\n嘤其鸣矣|0x0000|100\n罂粟花|0x100000|900\n罂粟碱|0x0008|0\n罂粟科|0x100000|0\n罂粟壳|0x0008|380\n樱大战|0x100000|402\n樱花大战|0x100000|508\n樱桃树|0x0000|431\n樱桃小丸子|0x0008|1333\n樱桃汁|0x100000|0\n鹦哥绿|0x100000|1328\n鹦鹉螺|0x0008|46631\n鹦鹉学舌|0x1000000|45764\n鹦鹉学语|0x0000|100\n膺箓受图|0x1000000|100\n膺图受箓|0x1000000|100\n鹰鼻鹞眼|0x1000000|1536\n鹰撮霆击|0x1000000|100\n鹰钩鼻|0x0000|422\n鹰击长空|0x1000000|942\n鹰击毛挚|0x1000000|100\n鹰瞵鹗视|0x1000000|100\n鹰瞵虎攫|0x1000000|100\n鹰瞵虎视|0x1000000|100\n鹰拿雁捉|0x1000000|100\n鹰拿燕雀|0x1000000|100\n鹰觑鹘望|0x1000000|100\n鹰犬塞途|0x0000|100\n鹰犬之才|0x0000|100\n鹰视虎步|0x1000000|100\n鹰视狼步|0x1000000|100\n鹰视狼顾|0x1000000|1130\n鹰睃狼顾|0x1000000|100\n鹰潭市|0x0040|1454\n鹰头雀脑|0x0000|100\n鹰心雁爪|0x1000000|100\n鹰扬虎视|0x1000000|100\n鹰扬虎噬|0x1000000|100\n鹰挚狼食|0x1000000|100\n鹰嘴豆|0x0008|1144\n鹰嘴鹞目|0x1000000|100\n迎宾馆|0x100000|41135\n迎宾曲|0x100000|1134\n迎春花|0x100000|36919\n迎春曲|0x100000|0\n迎风待月|0x1000000|100\n迎风冒雪|0x0000|100\n迎风招展|0x1000000|1000\n迎奸卖俏|0x1000000|100\n迎来送往|0x1000000|31926\n迎门请盗|0x1000000|100\n迎面而来|0x800000|744\n迎难而上|0x800000|917\n迎刃冰解|0x1000000|100\n迎刃而解|0x1000000|19505\n迎刃而理|0x0000|100\n迎刃立解|0x1000000|100\n迎刃以解|0x1000000|100\n迎神赛会|0x1000000|1229\n迎头赶上|0x1000000|27325\n迎头痛击|0x1000000|36074\n迎新弃旧|0x1000000|100\n迎新送故|0x1000000|100\n迎新送旧|0x1000000|1181\n盈江县|0x0040|1041\n盈科后进|0x1000000|100\n盈利模式|0x0000|536\n盈利性|0x20000000|768\n盈满之咎|0x1000000|100\n盈篇累牍|0x0000|100\n盈千累万|0x1000000|1411\n盈盈秋水|0x0000|100\n盈盈一水|0xc00000|0\n盈则必亏|0x1000000|100\n荥经县|0x0040|1108\n荥阳市|0x0040|1429\n荧光笔|0x100000|956\n荧光灯|0x100000|37645\n荧光粉|0x100000|46343\n荧光屏|0x100000|23200\n荧光显微镜|0x0000|402\n荧光颜料|0x100000|394\n萤窗雪案|0x0000|100\n萤灯雪屋|0x0000|100\n萤光镜|0x100000|0\n萤光幕|0x0008|0\n萤火虫|0x100000|24736\n营火会|0x100000|1290\n营口市|0x0040|1333\n营山县|0x0040|1065\n营私罔利|0x1000000|100\n营私舞弊|0x1000000|36753\n营私植党|0x1000000|100\n营私作弊|0x1000000|100\n营销策划|0x100000|597\n营养不良|0x0008|748\n营养成分|0x100000|573\n营养繁殖|0x0008|0\n营养价值|0x0008|558\n营养配餐|0x100000|443\n营养品|0x100000|27326\n营养缺乏病|0x0008|0\n营养师|0x100000|542\n营养食品|0x100000|489\n营养素|0x100000|25529\n营养物质|0x0000|547\n营养学|0x100000|813\n营养学家|0x100000|890\n营养盐|0x100000|1115\n营养液|0x100000|488\n营养医师|0x0008|0\n营养元素|0x100000|970\n营业部|0x100000|1045\n营业处|0x0000|416\n营业额|0x100000|11189\n营业时间|0x100000|604\n营业室|0x100000|1039\n营业税|0x100000|16880\n营业所|0x100000|1358\n营业厅|0x100000|738\n营业网点|0x100000|499\n营业员|0x100000|13472\n营业执照|0x100000|621\n营营苟苟|0x1000000|100\n营营逐逐|0x1000000|100\n营蝇斐锦|0x1000000|100\n营造尺|0x100000|1430\n蝇飞蚁聚|0x0000|100\n蝇粪点玉|0x1000000|1345\n蝇附骥尾而致千里|0x0008|100\n蝇集蚁附|0x0000|100\n蝇名蜗利|0x0000|100\n蝇声蛙躁|0x0000|100\n蝇随骥尾|0x0000|100\n蝇头微利|0x800000|1253\n蝇头蜗角|0x0000|100\n蝇头小楷|0x100000|1116\n蝇头小利|0x100000|935\n蝇营狗苟|0x1000000|43557\n蝇营鼠窥|0x0000|100\n蝇营蚁附|0x0000|100\n蝇营蚁聚|0x0000|100\n蝇攒蚁附|0x0000|100\n蝇攒蚁聚|0x0000|100\n嬴奸买俏|0x1000000|100\n赢奸卖俏|0x1000000|100\n赢金一经|0x1400000|0\n郢匠挥斤|0x1000000|100\n郢人斤斧|0x1000000|100\n郢人斤斫|0x1000000|100\n郢人运斧|0x1000000|100\n郢人斫垩|0x1000000|100\n郢书燕说|0x1000000|1258\n郢中白雪|0x1000000|100\n颍上县|0x0040|1590\n颖脱而出|0x1000000|100\n颖悟绝伦|0x0000|100\n颖悟绝人|0x0000|100\n影调剧|0x100000|1298\n影碟机|0x100000|31242\n影剧界|0x100000|1272\n影剧院|0x100000|25739\n影片长度|0x0000|594\n影片格式|0x100000|570\n影片简介|0x100000|621\n影片类型|0x100000|605\n影片名称|0x100000|625\n影片资料|0x100000|462\n影评人|0x100000|831\n影视城|0x100000|510\n影视帝国|0x100000|608\n影视点播|0x100000|1038\n影视动画|0x100000|466\n影视歌曲|0x100000|522\n影视广告|0x100000|504\n影视合辑|0x100000|565\n影视节目|0x100000|482\n影视界|0x100000|33711\n影视剧|0x100000|570\n影视剧场|0x100000|434\n影视明星|0x100000|490\n影视频道|0x100000|528\n影视圈|0x100000|40272\n影视天堂|0x100000|539\n影视文化|0x100000|479\n影视业|0x100000|969\n影视音乐|0x100000|537\n影视娱乐|0x100000|532\n影视制作|0x100000|526\n影视资料|0x100000|434\n影视资讯|0x100000|448\n影视作品|0x100000|616\n影响到|0x0000|710\n影响力|0x100000|525\n影象地图|0x0008|0\n影形不离|0x1000000|100\n影音传送带|0x0000|620\n影音文件|0x0000|511\n影印本|0x100000|45169\n影印机|0x0008|430\n影印件|0x100000|52095\n影影绰绰|0x1000000|26096\n影只形单|0x1000000|100\n影只形孤|0x1000000|100\n影子内阁|0x100000|47880\n映入眼帘|0x800000|764\n映山红|0x100000|35453\n映射度|0x0008|0\n映像管|0x0008|0\n映雪读书|0x1000000|1398\n映雪囊萤|0x1000000|100\n映月读书|0x0000|100\n硬邦邦|0x0100|31928\n硬包装|0x100000|1216\n硬笔书法|0x100000|54059\n硬磁材料|0x0008|0\n硬磁盘|0x100000|1224\n硬道理|0x0000|578\n硬度计|0x0008|1362\n硬功夫|0x100000|34259\n硬骨头|0x100000|19912\n硬汉子|0x100000|1038\n硬化剂|0x0008|1024\n硬化症|0x100000|950\n硬环境|0x0000|20840\n硬件报价|0x100000|475\n硬件加速|0x0000|456\n硬件行情|0x100000|422\n硬件资讯|0x100000|462\n硬撅撅|0x0100|0\n硬拷贝|0x1000|1159\n硬科学|0x100000|1\n硬沥青|0x0008|0\n硬粒玉米|0x0008|0\n硬盘版|0x100000|610\n硬盘分区|0x0000|551\n硬盘盒|0x100000|806\n硬盘机|0x0008|0\n硬盘空间|0x0000|578\n硬盘录像机|0x100000|489\n硬盘驱动器|0x0000|488\n硬盘容量|0x100000|588\n硬盘式|0x100000|449\n硬盘数据|0x100000|549\n硬碰硬|0x800000|34555\n硬皮病|0x100000|397\n硬任务|0x100000|47252\n硬设备|0x0008|1197\n硬生生|0x0008|713\n硬石膏|0x0008|1249\n硬通货|0x100000|48217\n硬语盘空|0x1000000|100\n硬纸板|0x100000|42346\n硬指标|0x100000|29587\n硬质合金|0x800000|784\n硬着陆|0x1000|44291\n硬着头皮|0x800000|681\n佣中佼佼|0x1000000|100\n拥兵自固|0x0000|100\n拥护者|0x100000|825\n拥篲救火|0x1000000|100\n拥挤不堪|0x800000|862\n拥军爱民|0x0008|1\n拥军优属|0x800000|20262\n拥书百城|0x1000000|100\n拥书南面|0x1000000|100\n拥雾翻波|0x0000|100\n拥有权|0x100000|1036\n拥政爱民|0x800000|20595\n庸耳俗目|0x1000000|100\n庸人自扰|0x1000000|40485\n庸人自扰之|0x0008|951\n庸俗化|0x1000|949\n庸俗进化论|0x100000|1121\n庸俗社会学|0x0008|0\n庸言庸行|0x0000|100\n庸医杀人|0x0000|100\n庸庸碌碌|0x0100|851\n庸中佼佼|0x1000000|0\n庸中皦皦|0x1000000|100\n雍门刎首|0x1000000|100\n雍荣华贵|0x1000000|1165\n雍荣闲雅|0x0000|100\n雍荣雅步|0x0000|100\n雍容不迫|0x1000000|100\n雍容大度|0x800000|1099\n雍容大雅|0x1000000|100\n雍容典雅|0x1000000|1102\n雍容尔雅|0x1000000|100\n雍容华贵|0x1000000|33712\n雍容闲雅|0x0000|100\n雍容雅步|0x1000000|100\n雍正皇帝|0x100000|980\n饔飧不饱|0x1000000|100\n饔飧不给|0x1000000|100\n饔飧不济|0x1000000|100\n饔飧不继|0x1000000|100\n永安市|0x0040|1435\n永葆青春|0x800000|32577\n永不磨灭|0x0000|100\n永昌县|0x0040|1043\n永城市|0x0040|1501\n永川市|0x0040|1234\n永垂不朽|0x1000000|33713\n永垂青史|0x800000|1131\n永垂竹帛|0x0000|100\n永春县|0x0040|1502\n永磁体|0x0008|0\n永德县|0x0040|1160\n永登县|0x0040|1608\n永定河|0x0040|1602\n永定县|0x0040|1590\n永动机|0x100000|993\n永冻土|0x100000|1314\n永丰县|0x0040|1051\n永福县|0x0040|1594\n永和县|0x0040|1150\n永恒不变|0x800000|735\n永吉县|0x0040|1040\n永济市|0x0040|1554\n永嘉县|0x0040|1298\n永劫沉沦|0x1000000|100\n永劫沉轮|0x1000000|100\n永靖县|0x0040|1046\n永久磁铁|0x800000|979\n永久性|0x100000|757\n永康市|0x0040|1110\n永年县|0x0040|1483\n永宁县|0x0040|1039\n永平县|0x0040|1112\n永清县|0x0040|1594\n永仁县|0x0040|1055\n永善县|0x0040|1106\n永生永世|0x1000000|43560\n永胜县|0x0040|1075\n永矢弗谖|0x1000000|100\n永世长存|0x800000|1090\n永世无穷|0x0000|100\n永寿县|0x0040|1124\n永顺县|0x0040|1049\n永泰县|0x0040|1568\n永往直前|0x1000000|1053\n永无宁日|0x800000|1004\n永无止境|0x1000000|761\n永新县|0x0040|1053\n永兴县|0x0040|1629\n永修县|0x0040|1638\n永永无穷|0x0000|100\n永远的痛|0x0000|505\n永远都是|0x0000|560\n永志不忘|0x1000000|49309\n永州市|0x0040|1363\n永字八法|0x400008|0\n咏嘲风月|0x1000000|100\n咏桑寓柳|0x1000000|100\n咏叹调|0x100000|31698\n咏月嘲风|0x1000000|100\n咏月嘲花|0x1000000|0\n勇而无谋|0x0000|100\n勇敢的人|0x0000|455\n勇敢的心|0x100000|803\n勇敢地|0x0000|379\n勇冠三军|0x1400000|53048\n勇猛果敢|0x40000000|100\n勇猛精进|0x1000000|1066\n勇气十足|0x400000|0\n勇挑重担|0x800000|1062\n勇往直前|0x1000000|19293\n勇者不惧|0x0000|100\n用兵如神|0x1000000|1070\n用兵一时|0xc00000|0\n用不完|0x800000|813\n用不着|0x800000|656\n用材林|0x100000|21934\n用电量|0x100000|920\n用非其人|0x0000|100\n用非所学|0x1000000|1273\n用工夫|0x1000|52551\n用管窥天|0x1000000|100\n用户端|0x100000|507\n用户服务|0x100000|608\n用户界面|0x100000|604\n用户密码|0x100000|564\n用户名|0x100000|495\n用户区|0x0000|442\n用户权限|0x100000|504\n用户手册|0x0000|534\n用户数|0x100000|782\n用户数量|0x100000|517\n用户协议|0x100000|556\n用户信息|0x100000|626\n用户指南|0x100000|457\n用户至上|0x100000|716\n用户组|0x100000|766\n用尽心机|0x0000|100\n用军一时|0x1400000|0\n用力一打|0x400000|0\n用力一拍|0x400000|0\n用品店|0x100000|543\n用品商店|0x100000|489\n用品有限公司|0x100000|615\n用品专卖店|0x100000|452\n用其所长|0x1000000|1156\n用人不疑|0x800000|940\n用人单位|0x0000|704\n用人勿疑|0x800000|100\n用人之长|0x800000|1025\n用舍行藏|0x1000000|100\n用水量|0x100000|925\n用天因地|0x1000000|100\n用武之地|0x1000000|19382\n用夏变夷|0x1000000|1344\n用心竭力|0x0000|100\n用心良苦|0x800000|40929\n用心思|0x0000|43333\n用心险恶|0x800000|847\n用心用意|0x1000000|100\n用行舍藏|0x1000000|1328\n用一当十|0x1400000|0\n用一句话来说|0x400000|0\n用逸待劳|0x1000000|100\n用在一朝|0x1400000|0\n用在一时|0xc00000|0\n用之不竭|0x1000000|908\n用智铺谋|0x0000|100\n优待券|0x100000|1262\n优待证|0x100000|1123\n优等生|0x100000|859\n优抚金|0x0000|47881\n优化大师|0x0000|544\n优化结构|0x0008|10\n优化经济结构|0x0000|407\n优化组合|0x0008|480\n优会价|0x100000|0\n优惠待遇|0x800000|953\n优惠关税|0x0008|3\n优惠活动|0x100000|583\n优惠机票|0x100000|492\n优惠价|0x100000|612\n优惠卡|0x100000|507\n优惠券|0x100000|743\n优惠证|0x100000|488\n优惠政策|0x100000|642\n优降糖|0x0008|0\n优良传统|0x0000|576\n优良品种|0x0008|880\n优孟衣冠|0x1000000|1176\n优缺点|0x100000|34419\n优柔寡断|0x1000000|32713\n优柔厌饫|0x1000000|100\n优柔餍饫|0x1000000|100\n优生学|0x100000|1060\n优生优育|0x800000|864\n优胜队|0x100000|1276\n优胜奖|0x100000|982\n优胜劣败|0x1000000|1152\n优胜劣汰|0x800000|15942\n优胜者|0x100000|863\n优胜者杯|0x100000|395\n优势产业|0x100000|533\n优势互补|0x0008|796\n优昙一现|0x1400000|0\n优先发展|0x0000|530\n优先购买|0x0000|472\n优先股|0x100000|1028\n优先级|0x100000|790\n优先权|0x100000|852\n优贤扬历|0x1000000|100\n优贤飏历|0x1000000|100\n优秀班主任|0x100000|458\n优秀成果|0x0000|480\n优秀党员|0x0000|496\n优秀共产党员|0x100000|524\n优秀奖|0x100000|822\n优秀教师|0x0008|567\n优秀旅游城市|0x100000|488\n优秀论文|0x100000|518\n优秀企业|0x100000|560\n优秀青年|0x100000|521\n优秀人才|0x0000|591\n优秀团员|0x100000|486\n优秀学生|0x0000|569\n优秀员工|0x100000|492\n优秀作家|0x100000|484\n优秀作品|0x0000|562\n优选法|0x100000|48575\n优游不断|0x1000000|100\n优游涵泳|0x1000000|100\n优游岁月|0x1000000|100\n优游自得|0x1000000|100\n优游自如|0x1000000|100\n优游自若|0x1000000|100\n优游自适|0x0000|100\n优游自在|0x1000000|1086\n优游卒岁|0x1000000|1319\n优越感|0x100000|22556\n优越性|0x100000|8329\n优哉游哉|0x1000000|943\n优质产品|0x0000|554\n优质服务|0x100000|642\n优质课|0x100000|499\n优质优价|0x800000|946\n忧谗畏讥|0x1000000|1204\n忧愤成疾|0x0000|100\n忧公忘私|0x1000000|100\n忧国爱民|0x0000|100\n忧国奉公|0x1000000|100\n忧国忘家|0x0000|100\n忧国忧民|0x1000000|28686\n忧患意识|0x0000|513\n忧患余生|0x1000|1305\n忧深思远|0x0000|100\n忧盛危明|0x1000000|100\n忧心忡忡|0x1000000|15177\n忧心悄悄|0x1000000|100\n忧心如捣|0x1000000|100\n忧心如焚|0x1000000|38024\n忧郁症|0x100000|35751\n幽灵机|0x100000|0\n幽灵式|0x100000|0\n幽默感|0x100000|23046\n幽默画|0x100000|1199\n幽默小说|0x100000|833\n幽期密约|0x0000|100\n幽游白书|0x100000|869\n悠然自得|0x1000000|30346\n悠闲地|0x0000|554\n悠闲自在|0x800000|868\n悠悠荡荡|0x0100|53049\n悠悠忽忽|0x0100|46944\n悠悠然|0x800000|39835\n悠游自得|0x1000000|100\n悠游自在|0x1000000|1066\n悠哉游哉|0x1000000|46633\n尤而效之|0x1000000|100\n尤红殢翠|0x1000000|100\n尤花殢雪|0x1000000|100\n尤金奥曼迪|0x0080|0\n尤内斯库|0x0080|0\n尤奈斯库|0x0008|1316\n尤其是|0x0000|877\n尤什凯维奇|0x0080|0\n尤文图斯|0x0008|1229\n尤物移人|0x1000000|0\n尤溪县|0x0040|1541\n尤云殢雪|0x1000000|100\n尤云殢雨|0x1000000|100\n由表及里|0x800000|34886\n由博返约|0x1000000|1326\n由不得|0x800000|21408\n由此观之|0x800000|1020\n由此及彼|0x800000|42094\n由此看来|0x800000|18974\n由此可见|0x800000|8659\n由此可以看出|0x0000|471\n由此可知|0x800000|871\n由点到面|0x800000|1096\n由近及远|0x800000|1019\n由来已久|0x800000|19831\n由浅入深|0x800000|833\n由始至终|0x800000|921\n由下而上|0x800000|970\n由易到难|0x0000|421\n由于某种原因|0x0000|453\n由于上述原因|0x0000|376\n由于种种原因|0x0000|542\n由衷之言|0x100000|49311\n犹抱琵琶半遮面|0x0008|920\n犹解倒悬|0x0000|100\n犹恐失之|0x1000000|100\n犹生之年|0x0000|100\n犹他州|0x0040|1552\n犹太复国主义|0x0008|394\n犹太教|0x0020|29697\n犹太人|0x100000|7817\n犹犹豫豫|0x0100|878\n犹豫不定|0x800000|910\n犹豫不决|0x800000|685\n犹豫不前|0x800000|1091\n邮编地址|0x100000|481\n邮递员|0x100000|25859\n邮电部|0x100000|1544\n邮电部门|0x100000|810\n邮电大学|0x100000|522\n邮电费|0x100000|1255\n邮电局|0x100000|28239\n邮电所|0x100000|1023\n邮电学院|0x100000|461\n邮电业|0x100000|1120\n邮寄费|0x100000|929\n邮件地址|0x100000|658\n邮件附件|0x100000|456\n邮件系统|0x100000|558\n邮件信箱|0x100000|477\n邮箱地址|0x0000|570\n邮政编码|0x100000|23047\n邮政车|0x0008|14\n邮政储蓄|0x0000|29069\n邮政代办所|0x0008|0\n邮政局|0x100000|11653\n油壁香车|0x1000000|1281\n油菜花|0x100000|30668\n油菜籽|0x100000|29910\n油菜子|0x100000|1254\n油层水力压裂|0x0008|0\n油豆腐|0x0000|50803\n油干灯草尽|0x100000|1371\n油干灯尽|0x0000|100\n油干火尽|0x0000|100\n油橄榄|0x100000|48952\n油罐车|0x100000|49674\n油光晶亮|0x1000000|100\n油光可鉴|0x1000000|1054\n油光水滑|0x1000000|46946\n油乎乎|0x0100|50039\n油葫芦|0x100000|1172\n油画家|0x100000|968\n油煎火燎|0x1000000|1327\n油浇火燎|0x1000000|100\n油料植物|0x0008|0\n油料作物|0x800000|1039\n油毛毡|0x100000|46947\n油面筋|0x0008|1093\n油母页岩|0x800000|1255\n油腻腻|0x0100|924\n油票儿|0x0000|54060\n油品调合|0x0008|0\n油漆厂|0x100000|956\n油漆工|0x100000|909\n油漆匠|0x100000|42826\n油气藏|0x100000|1097\n油气分离|0x0008|0\n油气流|0x0000|54597\n油气田|0x100000|26714\n油腔滑调|0x1000000|39838\n油然而生|0x800000|723\n油头粉面|0x1000000|43563\n油头光棍|0x1000000|100\n油头滑脸|0x1000000|100\n油头滑面|0x1000000|100\n油头滑脑|0x1000000|54598\n油汪汪|0x0100|41618\n油箱盖|0x100000|421\n油性皮肤|0x100000|499\n油压机|0x100000|925\n油烟机|0x100000|520\n油盐酱醋|0x1000000|31465\n油页岩|0x100000|1074\n油印机|0x100000|52101\n油脂麻花|0x0000|55038\n油渍麻花|0x1000000|1349\n油嘴儿|0x0000|38189\n油嘴花唇|0x0000|100\n油嘴滑舌|0x1000000|43802\n油嘴油舌|0x1000000|1368\n铀浓缩物|0x0008|0\n游必有方|0x0000|100\n游标卡尺|0x4000000|1003\n游辞巧饰|0x1000000|100\n游荡不羁|0x1000000|100\n游蜂浪蝶|0x1000000|100\n游蜂戏蝶|0x1000000|100\n游光扬声|0x1000000|100\n游回磨转|0x1000000|100\n游击队|0x100000|8335\n游击队员|0x100000|994\n游击区|0x100000|1126\n游击手|0x0000|369\n游击战|0x100000|22765\n游来游去|0x0000|485\n游览车|0x100000|912\n游览区|0x100000|917\n游览图|0x0008|1105\n游乐场|0x100000|28586\n游乐区|0x100000|912\n游乐园|0x100000|30670\n游离态|0x100000|1144\n游目骋观|0x1000000|100\n游目骋怀|0x1000000|1165\n游牧民|0x100000|1065\n游牧民族|0x100000|838\n游牧人|0x100000|1049\n游骑无归|0x1000000|100\n游人如织|0x800000|924\n游刃有余|0x1000000|25237\n游山玩景|0x1000000|100\n游山玩水|0x1000000|29374\n游手好闲|0x1000000|32841\n游手偷闲|0x1000000|100\n游思妄想|0x1000000|100\n游谈无根|0x1000000|1379\n游艇业|0x100000|8\n游戏笔墨|0x1000000|1266\n游戏补丁|0x100000|521\n游戏场|0x100000|1064\n游戏尘寰|0x1000000|100\n游戏规则|0x100000|635\n游戏翰墨|0x1000000|100\n游戏机|0x100000|23351\n游戏基地|0x100000|769\n游戏卡|0x100000|55541\n游戏人间|0x1000000|797\n游戏人世|0x1000000|100\n游戏软件|0x100000|591\n游戏三昧|0x1400000|0\n游戏厅|0x100000|824\n游戏性|0x0008|917\n游戏音乐|0x100000|650\n游仙诗|0x100000|1226\n游闲公子|0x0000|100\n游响停云|0x1000000|100\n游心骇耳|0x1000000|100\n游心寓目|0x1000000|100\n游行者|0x100000|1138\n游移不定|0x800000|985\n游移湖|0x0008|0\n游艺场|0x100000|1176\n游艺会|0x100000|39839\n游艺机|0x100000|41847\n游艺室|0x100000|1197\n游泳场|0x100000|999\n游泳池|0x100000|15255\n游泳队|0x100000|460\n游泳馆|0x100000|792\n游泳裤|0x100000|1043\n游泳赛|0x100000|1147\n游泳衣|0x100000|897\n游园会|0x100000|31243\n游园活动|0x0008|3\n游云惊龙|0x1000000|100\n游走四方|0x400000|0\n鱿鱼丝|0x0008|462\n友阪理惠|0x0080|1141\n友坂理惠|0x0080|0\n友邦保险|0x100000|480\n友风子雨|0x0000|100\n友好城市|0x0008|962\n友好合作|0x0000|548\n友好往来|0x100000|950\n友情链接|0x100000|492\n友社区|0x100000|495\n友谊大学|0x100000|375\n友谊路|0x100000|474\n友谊赛|0x100000|765\n友谊县|0x0040|1061\n有碍观瞻|0x800000|989\n有案可查|0x1000000|1102\n有案可稽|0x1000000|1273\n有把握|0x800000|652\n有百害而无一利|0x400000|1041\n有板有眼|0x1000000|30778\n有备无患|0x1000000|34888\n有悖于|0x1000|25111\n有本有原|0x1000000|100\n有本有源|0x1000000|100\n有鼻子有眼|0x0008|1043\n有必要|0x0000|739\n有别于|0x1000|582\n有蠙可乘|0x1000000|100\n有才干|0x0000|461\n有才无命|0x800000|1404\n有财有势|0x0000|100\n有产阶级|0x100000|1109\n有产者|0x100000|1084\n有长有短|0x800000|1008\n有偿使用|0x0000|498\n有偿新闻|0x0000|33351\n有偿转让|0x800000|1040\n有巢氏|0x0008|0\n有朝一日|0x1400000|17057\n有耻且格|0x1000000|1182\n有翅难飞|0x1000000|1405\n有翅蚜|0x100000|1536\n有此一说|0x400000|0\n有错就改|0x0000|372\n有待于|0x1000|523\n有胆有识|0x1000000|41137\n有弹性|0x0000|574\n有道理|0x0000|692\n有道是|0x800000|848\n有得有失|0x800000|880\n有的放矢|0x1000000|18732\n有的时候|0x8000000|642\n有的是|0x800000|7213\n有点儿|0x100000|4604\n有点咸|0x0000|409\n有毒气体|0x100000|481\n有毒性|0x40000000|424\n有法必依|0x800000|1049\n有法不依|0x800000|1009\n有法可依|0x800000|903\n有分寸|0x1000|824\n有风有化|0x1000000|100\n有凤来仪|0x0000|100\n有福气|0x40000000|512\n有福同享|0x1000000|889\n有负众望|0x1000000|1241\n有感而发|0x800000|757\n有感于|0x1000|515\n有根有底|0x1000000|1422\n有根有据|0x800000|972\n有根有苗|0x1000000|100\n有功功率|0x0008|0\n有贡献|0x40000000|493\n有关部门|0x0000|816\n有关方面|0x0000|630\n有关关税贸易一般规定|0x400000|0\n有关规定|0x0000|752\n有关政策|0x0000|573\n有光纸|0x100000|1102\n有规则|0x0000|468\n有轨电车|0x100000|37460\n有国难投|0x0000|100\n有过之|0x800000|760\n有过之而无不及|0x0008|786\n有过之无不及|0x0008|1047\n有害生物|0x0000|474\n有害无利|0x0000|100\n有害物|0x100000|1018\n有害物质|0x100000|593\n有害信息|0x100000|479\n有何不可|0x800000|903\n有何面目|0x800000|1064\n有话好说|0x0000|456\n有会子|0x8000000|0\n有机半导体|0x0008|0\n有机玻璃|0x4000000|38603\n有机玻璃制品|0x100000|397\n有机肥|0x100000|22080\n有机肥料|0x800000|928\n有机硅|0x100000|514\n有机合成|0x1000|931\n有机化工|0x100000|494\n有机化工产品|0x100000|377\n有机化工原料|0x100000|461\n有机化合物|0x100000|934\n有机化学|0x800000|812\n有机会|0x0000|810\n有机可乘|0x1000000|32842\n有机磷|0x100000|469\n有机农业|0x100000|452\n有机溶剂|0x100000|497\n有机食品|0x0000|21460\n有机试剂|0x0008|0\n有机酸|0x100000|902\n有机体|0x100000|22609\n有机统一|0x400000|32\n有机物|0x100000|13630\n有机颜料|0x100000|420\n有机质|0x100000|968\n有己无人|0x1000000|100\n有计划|0x40000000|631\n有加无已|0x1000000|1320\n有家难奔|0x0000|100\n有价证券|0x800000|19575\n有价值|0x0000|692\n有见识|0x40000000|473\n有鉴于|0x1000|4\n有鉴于此|0x800000|25383\n有奖活动|0x100000|519\n有奖销售|0x800000|43336\n有脚书厨|0x1000000|100\n有脚书橱|0x0000|100\n有脚阳春|0x1000000|1536\n有教无类|0x1000000|50428\n有借无还|0x0000|100\n有进取心|0x0000|432\n有进无退|0x0000|100\n有禁不止|0x800000|1080\n有惊无险|0x800000|767\n有可能|0x0000|866\n有空儿|0x0000|11710\n有口皆碑|0x1000000|28974\n有口难辩|0x1000000|47882\n有口难分|0x1000000|1540\n有口难言|0x1000000|1004\n有口无心|0x1000000|46061\n有口无行|0x1000000|100\n有苦难言|0x800000|938\n有来无回|0x1000000|1046\n有来有往|0x1000000|1036\n有赖于|0x1000|14606\n有棱有角|0x1000000|44045\n有礼貌|0x0000|590\n有理方程|0x100000|1044\n有理分式|0x100000|1329\n有理式|0x100000|1319\n有理数|0x100000|1015\n有理无情|0x800000|837\n有理由|0x0000|628\n有理有据|0x800000|917\n有利可图|0x1000000|847\n有利条件|0x0000|560\n有利有弊|0x800000|947\n有利于|0x1000|548\n有例可援|0x1000000|100\n有两下子|0x1000|36754\n有令不行|0x800000|1086\n有毛病|0x1000|552\n有没有搞错|0x0000|553\n有眉目|0x800000|44570\n有门儿|0x1000|50040\n有名气|0x40000000|562\n有名亡实|0x1000000|100\n有名无实|0x1000000|29588\n有名有实|0x800000|1098\n有名有姓|0x800000|968\n有模有样|0x800000|839\n有目共睹|0x1000000|15497\n有目共见|0x1000000|100\n有目共赏|0x1000000|1389\n有目无睹|0x1000000|100\n有奶便是娘|0x0008|51218\n有奶就是娘|0x100000|1114\n有耐心|0x0000|591\n有难同当|0x800000|894\n有能力|0x0000|713\n有你的|0x0000|19542\n有年无月|0x1000000|100\n有女怀春|0x1000000|1150\n有盼儿|0x1000|0\n有朋自远方来|0x1000000|831\n有凭有据|0x1000000|1100\n有谱儿|0x0000|45766\n有期徒刑|0x800000|7095\n有其父必有其子|0x0008|1060\n有起色|0x800000|859\n有气没力|0x1000000|1114\n有气味|0x0000|377\n有气无力|0x1000000|21247\n有气无烟|0x1000000|100\n有前途|0x0000|579\n有钱能使鬼推磨|0x0008|969\n有钱人|0x100000|614\n有钱有势|0x1000000|904\n有情人|0x100000|29276\n有情人终成眷属|0x1000000|698\n有穷性|0x100000|0\n有求必应|0x1000000|26586\n有求于|0x1000|487\n有去无回|0x800000|912\n有权有势|0x800000|903\n有缺点|0x0000|506\n有人家儿|0x0000|33352\n有日子|0x1000|48576\n有容乃大|0x1000000|812\n有辱斯文|0x800000|1083\n有三有俩|0x1400000|0\n有色玻璃|0x0008|0\n有色金属|0x100000|13919\n有色人种|0x100000|42098\n有色眼镜|0x100000|43087\n有伤风化|0x1000000|42601\n有神论|0x100000|1027\n有生力量|0x100000|35752\n有生以来|0x1000000|22081\n有生之年|0x1000000|26650\n有声电影|0x0008|1\n有声读物|0x0000|54599\n有声没气|0x1000000|100\n有声无气|0x1000000|100\n有声无实|0x1000000|100\n有声有色|0x1000000|13441\n有失水准|0x1000000|0\n有失远迎|0x800000|1043\n有时候|0x8000000|497\n有识之士|0x1000000|11965\n有史以来|0x800000|12201\n有始无终|0x1000000|50429\n有始有终|0x1000000|42099\n有始有卒|0x1000000|100\n有事之秋|0x1000000|100\n有势力|0x0000|487\n有恃无恐|0x1000000|26371\n有恃毋恐|0x1000000|100\n有说有笑|0x800000|722\n有丝分裂|0x0008|428\n有死无二|0x1400000|0\n有酸味|0x40000000|373\n有损无益|0x1000000|1232\n有损于|0x1000|32579\n有所不同|0x800000|785\n有所不为|0x800000|814\n有所为|0x800000|802\n有所作为|0x800000|758\n有蹄类|0x100000|1192\n有天没日|0x1000000|1407\n有天没日头|0x0008|1537\n有天无日|0x1000000|1396\n有条不紊|0x1000000|14843\n有条件|0x40000000|664\n有条理|0x0000|528\n有条有理|0x1000000|949\n有头没脑|0x1000000|100\n有头脑|0x0000|28975\n有头无脑|0x1000000|100\n有头无尾|0x1000000|1038\n有头有脸|0x1000000|37461\n有头有脑|0x1000000|1317\n有头有尾|0x1000000|42602\n有威信|0x40000000|417\n有味儿|0x0000|12730\n有文化|0x0000|574\n有文无行|0x1000000|100\n有闻必录|0x1000000|49675\n有问必答|0x800000|689\n有我无人|0x1000000|1542\n有无相通|0x1000000|1358\n有物有则|0x1000000|1297\n有希望|0x0000|648\n有隙可乘|0x1000000|48219\n有线电|0x100000|983\n有线电话|0x4000000|1105\n有线电视|0x100000|10218\n有线电视网络|0x100000|467\n有线广播|0x800000|37280\n有线通|0x0000|541\n有限公司|0x100000|391\n有限公司董事长|0x100000|569\n有限公司总经理|0x100000|580\n有限小数|0x100000|1312\n有限元|0x100000|499\n有限元分析|0x0008|0\n有限责任|0x100000|843\n有限责任公司|0x0000|811\n有限状态机|0x0008|0\n有消息说|0x0000|519\n有销路|0x40000000|406\n有效成分|0x0000|522\n有效地|0x0000|735\n有效分蘖|0x800000|1539\n有效积温|0x0008|0\n有效降水量|0x0008|0\n有效率|0x100000|733\n有效氯|0x0000|383\n有效面积|0x0008|0\n有效期|0x100000|14666\n有效期限|0x100000|685\n有效渗透率|0x0008|0\n有效途径|0x100000|560\n有效温度|0x100000|1341\n有效性|0x100000|503\n有效证件|0x100000|524\n有效值|0x0008|1004\n有些人|0x0000|741\n有心力|0x100000|1094\n有心人|0x100000|21018\n有心无力|0x800000|860\n有心有意|0x1000000|100\n有信心|0x0000|703\n有兴趣|0x0000|762\n有行无市|0x800000|1228\n有形损耗|0x100000|1103\n有性生殖|0x100000|992\n有性杂交|0x100000|1160\n有序性|0x100000|1084\n有选举权|0x0000|424\n有血有肉|0x1000000|20796\n有言在先|0x1000000|37281\n有眼不识泰山|0x0008|49313\n有眼力|0x40000000|417\n有眼如盲|0x0000|100\n有眼无瞳|0x1000000|100\n有眼无珠|0x1000000|44047\n有氧运动|0x100000|804\n有一搭没一搭|0x400008|1\n有一得一|0x1400000|0\n有一点|0x400000|447\n有一点儿|0x400000|1\n有一段时间|0x400000|10\n有一分热|0x400000|0\n有一分热发一分光|0x400000|0\n有一利必有一弊|0x400008|0\n有一手|0x40000000|43803\n有一说一|0x400000|0\n有一天|0x400000|83\n有一无二|0x1400000|0\n有一些|0x400000|817\n有以善处|0x1000|100\n有义务|0x0000|581\n有益健康|0x0000|509\n有益菌|0x100000|421\n有益于|0x1000|562\n有意见|0x0000|378\n有意识|0x1000|13920\n有意思|0x800000|7725\n有意图|0x40000000|369\n有意无意|0x1000000|16160\n有意义|0x0000|689\n有意者|0x100000|620\n有营养|0x0000|505\n有影响|0x0000|628\n有勇气|0x0000|610\n有勇无谋|0x1000000|982\n有勇有谋|0x800000|992\n有勇知方|0x1000000|100\n有缘千里来相会|0x0000|420\n有源网络|0x0008|0\n有源音箱|0x0008|934\n有远见|0x0000|519\n有约在先|0x800000|1105\n有则改之|0x800000|970\n有增无减|0x800000|20752\n有增无损|0x0000|100\n有增无已|0x1000000|1297\n有章可循|0x1000000|20110\n有征无战|0x1000000|1393\n有枝添叶|0x1000000|100\n有枝有叶|0x1000000|100\n有志不在年高|0x0008|1126\n有志竟成|0x800000|1246\n有志无时|0x1000000|100\n有志一同|0x400000|0\n有志于|0x1000|533\n有志者|0x100000|469\n有志者事竟成|0x0008|916\n有志之士|0x800000|816\n有中国特色社会主义|0x0000|515\n有助于|0x1000|3558\n有滋味|0x0000|440\n有滋有味|0x800000|795\n有子万事足|0x100000|1210\n有组织|0x40000000|598\n有嘴没舌|0x1000000|100\n有嘴没心|0x1000000|100\n有嘴无心|0x1000000|1536\n牖中窥日|0x1000000|100\n又当别论|0x1000000|1177\n又红又专|0x1000000|31575\n又惊又喜|0x800000|849\n又哭又闹|0x800000|948\n又弱一个|0x1400000|0\n又生一秦|0x1400000|0\n又一次|0x400000|748\n又一个|0x400000|706\n又作别论|0x1000000|1381\n右边锋|0x100000|1097\n右边后卫|0x0008|5\n右边前卫|0x100000|907\n右传之八章|0x400008|0\n右后卫|0x0000|469\n右翦左屠|0x1000000|100\n右军习气|0x0000|100\n右前卫|0x100000|938\n右倾机会主义|0x100000|388\n右上方|0x2000000|878\n右上角|0x2000000|617\n右侍郎|0x100000|0\n右手边|0x0000|501\n右手画圆|0x800000|1124\n右下方|0x2000000|888\n右下角|0x100000|600\n右心室|0x0000|403\n右旋糖酐|0x100000|1120\n右玉县|0x0040|1094\n幼儿班|0x0008|0\n幼儿教师|0x100000|858\n幼儿教育|0x800000|741\n幼儿园|0x100000|6319\n幼儿园大班|0x100000|461\n幼儿园教案|0x100000|371\n幼儿园教师|0x100000|468\n幼儿园小班|0x100000|470\n幼儿圆|0x100000|410\n幼发拉底河|0x0040|1658\n幼教组|0x100000|0\n幼龄林|0x100000|0\n幼年期|0x0000|388\n幼学壮行|0x0000|100\n幼稚病|0x100000|50805\n幼稚园|0x100000|736\n狖轭鼯轩|0x1000000|0\n囿于成见|0x1000000|100\n囿于一时|0x400000|0\n诱变剂|0x0008|1275\n诱虫灯|0x100000|1341\n诱导法|0x100000|0\n诱导剂|0x100000|1137\n诱导性|0x100000|1106\n诱敌深入|0x1000000|969\n诱发电位|0x0008|0\n诱拐者|0x100000|1533\n诱惑力|0x100000|717\n诱惑写真|0x100000|447\n诱秦诓楚|0x1000000|100\n诱掖后进|0x0000|100\n诱掖奖劝|0x1000000|100\n釉面砖|0x100000|53052\n纡金曳紫|0x0000|100\n纡佩金紫|0x0000|100\n纡青佩紫|0x0000|100\n纡青拖紫|0x1000000|100\n纡朱怀金|0x0000|100\n纡朱拖紫|0x0000|100\n纡朱曳紫|0x0000|100\n纡尊降贵|0x1000000|1137\n迂夫子|0x100000|54600\n迂回曲折|0x1000000|898\n迂谈阔论|0x1000000|100\n渝北区|0x0040|1170\n渝中区|0x0040|1115\n于安思危|0x1000000|100\n于都县|0x0040|1041\n于飞之乐|0x0000|100\n于呼哀哉|0x0000|100\n于家为国|0x0000|100\n于今为烈|0x1000000|1288\n于事无补|0x1000000|34263\n于是乎|0x10000000|19543\n于田县|0x0040|1121\n于心不忍|0x800000|34722\n于心何忍|0x1000000|1030\n于心无愧|0x0000|100\n予齿去角|0x1000000|100\n予夺生杀|0x1000000|100\n予取予夺|0x1000000|100\n予取予求|0x1000000|935\n予取予携|0x1000000|1372\n予人口实|0x1000000|0\n予智予雄|0x1000000|100\n余杯冷炙|0x1000000|100\n余波未平|0x1000000|100\n余风遗文|0x1000000|100\n余干县|0x0040|1048\n余膏剩馥|0x1000000|100\n余光分人|0x0000|100\n余江县|0x0040|1039\n余烬复燃|0x1000000|100\n余妙绕梁|0x1000000|100\n余庆县|0x0040|1096\n余声三日|0x1400000|0\n余食赘行|0x1000000|100\n余桃啖君|0x1000000|100\n余味无穷|0x1000000|1083\n余霞成绮|0x1000000|100\n余霞散绮|0x1000000|100\n余响绕梁|0x1000000|100\n余腥残秽|0x1000000|100\n余姚市|0x0040|1149\n余业遗烈|0x1000000|100\n余音缭绕|0x1000000|100\n余音袅袅|0x1000000|916\n余音绕梁|0x1000000|46949\n余勇可贾|0x1000000|53536\n余韵流风|0x1000000|100\n余正二次型|0x400000|0\n余子碌碌|0x1000000|100\n杅穿皮蠹|0x0000|100\n盂方水方|0x1000000|100\n盂兰盆会|0x0008|0\n鱼帛狐篝|0x1000000|100\n鱼帛狐声|0x1000000|100\n鱼肠尺素|0x1000000|100\n鱼肠雁足|0x1000000|100\n鱼沉鸿断|0x1000000|100\n鱼沉雁静|0x1000000|100\n鱼沉雁落|0x1000000|100\n鱼沉雁渺|0x1000000|100\n鱼沉雁杳|0x1000000|100\n鱼传尺素|0x0000|100\n鱼大水小|0x0000|100\n鱼肚白|0x100000|41619\n鱼封雁帖|0x1000000|100\n鱼釜尘甑|0x1000000|100\n鱼肝油|0x100000|38401\n鱼贯而出|0x0000|100\n鱼贯而入|0x800000|40694\n鱼贯而行|0x800000|1165\n鱼贯雁比|0x1000000|100\n鱼贯雁行|0x1000000|100\n鱼化石|0x100000|377\n鱼笺雁书|0x1000000|100\n鱼惊鸟散|0x1000000|100\n鱼精蛋白|0x0008|0\n鱼溃鸟离|0x1000000|100\n鱼溃鸟散|0x1000000|100\n鱼烂而亡|0x1000000|100\n鱼烂河决|0x1000000|100\n鱼烂取亡|0x1000000|100\n鱼烂土崩|0x1000000|100\n鱼烂瓦解|0x1000000|100\n鱼雷艇|0x100000|48954\n鱼类学|0x0008|1241\n鱼瞵鹗睨|0x1000000|100\n鱼鳞病|0x100000|681\n鱼鳞坑|0x100000|52557\n鱼鳞癣|0x100000|1337\n鱼龙百变|0x1000000|1274\n鱼龙变化|0x1000000|1337\n鱼龙混杂|0x1000000|28588\n鱼龙曼羡|0x1000000|100\n鱼龙曼延|0x1000000|1537\n鱼龙曼衍|0x1000000|100\n鱼龙漫衍|0x1000000|100\n鱼鲁帝虎|0x1000000|100\n鱼美人|0x100000|411\n鱼米之地|0x1000000|100\n鱼米之乡|0x1000000|30229\n鱼目混珍|0x1000000|100\n鱼目混珎|0x1000000|100\n鱼目混珠|0x1000000|35916\n鱼目间珠|0x1000000|100\n鱼馁肉败|0x0000|100\n鱼片儿|0x0000|47569\n鱼肉百姓|0x0000|100\n鱼肉乡里|0x800000|1187\n鱼升龙门|0x1000000|100\n鱼生空釜|0x1000000|100\n鱼石脂|0x0008|1266\n鱼书雁帛|0x1000000|100\n鱼书雁帖|0x1000000|100\n鱼书雁信|0x1000000|100\n鱼水和谐|0x1000000|100\n鱼水情|0x100000|38402\n鱼水情深|0x800000|1144\n鱼水深情|0x800000|1225\n鱼水相欢|0x0000|100\n鱼水相投|0x1000000|100\n鱼死网破|0x800000|44572\n鱼饲料|0x100000|401\n鱼台县|0x0040|1595\n鱼网鸿离|0x1000000|100\n鱼尾板|0x100000|1275\n鱼尾纹|0x100000|42100\n鱼尾雁行|0x1000000|100\n鱼县鸟窜|0x1000000|100\n鱼腥草|0x100000|48222\n鱼腥味|0x0008|997\n鱼秧子|0x100000|0\n鱼游沸鼎|0x1000000|100\n鱼游沸釜|0x1000000|100\n鱼游釜底|0x1000000|100\n鱼游釜内|0x1000000|100\n鱼游釜中|0x1000000|1357\n鱼游濠上|0x1000000|100\n鱼游燋釜|0x1000000|100\n鱼鱼雅雅|0x1000000|100\n鱼与熊掌|0x1000000|872\n鱼跃龙门|0x1000000|1000\n鱼跃鸢飞|0x1000000|100\n鱼质龙文|0x1000000|100\n鱼子酱|0x100000|933\n娱乐场|0x100000|908\n娱乐城|0x100000|29591\n娱乐活动|0x100000|551\n娱乐圈|0x0008|515\n娱乐社区|0x100000|632\n娱乐厅|0x0000|54602\n娱乐先锋|0x100000|473\n娱乐性|0x100000|770\n娱乐业|0x100000|534\n娱妻弄子|0x1000000|100\n娱心悦目|0x0000|100\n渔夺侵牟|0x0000|100\n渔海樵山|0x1000000|100\n渔获量|0x100000|1251\n渔捞业|0x100000|0\n渔人得利|0x1000000|1139\n渔人之利|0x1000000|48578\n渔翁得利|0x1000000|935\n渔翁之利|0x1000000|1015\n渔阳鞞鼓|0x1000000|100\n渔阳鼙鼓|0x1000000|1112\n渔业法|0x100000|412\n渔业资源|0x0008|11\n逾次超秩|0x1000000|100\n逾淮之橘|0x1000000|100\n逾年历岁|0x1000000|100\n逾千越万|0x1000000|100\n逾墙窥蠙|0x1000000|100\n逾墙窥隙|0x0000|100\n逾墙越舍|0x0000|100\n逾墙钻蠙|0x1000000|100\n逾墙钻隙|0x1000000|100\n逾墙钻穴|0x1000000|100\n逾沙轶漠|0x1000000|100\n逾山越海|0x1000000|100\n逾绳越契|0x1000000|100\n逾闲荡检|0x1000000|100\n愚不可及|0x1000000|42348\n愚夫蠢妇|0x1000000|100\n愚夫愚妇|0x1000000|1149\n愚公移山|0x1000000|28154\n愚眉肉眼|0x1000000|100\n愚昧无知|0x1000000|865\n愚民政策|0x100000|1027\n愚人节|0x4000|46950\n愚者千虑|0x800000|1119\n愚者一得|0x400000|0\n榆次之辱|0x1000000|100\n榆枋之见|0x1000000|100\n榆林港|0x0040|1292\n榆林市|0x0040|1408\n榆瞑豆重|0x1000000|100\n榆木圪垯|0x1000000|100\n榆木疙瘩|0x1000000|52558\n榆木脑袋|0x1000000|0\n榆木脑壳|0x0000|100\n榆社县|0x0040|1643\n榆树市|0x0040|1525\n榆叶梅|0x100000|50806\n榆中县|0x0040|1629\n瑜百瑕一|0x1400000|0\n瑜不掩瑕|0x1000000|1301\n瑜不揜瑕|0x1000000|100\n瑜伽功|0x100000|382\n虞城县|0x0040|1574\n虞美人|0x100000|45465\n舆论哗然|0x1000000|1031\n舆论监督|0x0008|539\n舆论界|0x100000|21935\n舆死扶伤|0x1000000|100\n与此同时|0x10000000|3147\n与此相反|0x0000|29375\n与此一道|0x400000|0\n与党中央保持高度一致|0x400000|9\n与非门|0x100000|941\n与狐谋皮|0x1000000|100\n与虎谋皮|0x1000000|55045\n与虎添翼|0x1000000|100\n与会者|0x100000|813\n与狼共舞|0x100000|791\n与民除害|0x0000|100\n与民更始|0x1000000|1302\n与民同乐|0x0000|44878\n与民争利|0x800000|1026\n与其说|0x10000000|731\n与人方便|0x0000|100\n与人为善|0x1000000|30569\n与人无争|0x800000|1096\n与日俱增|0x1000000|18050\n与生俱来|0x800000|31932\n与时俱进|0x800000|38028\n与时推移|0x1000000|100\n与时消息|0x1000000|1310\n与时偕行|0x1000000|1227\n与世长辞|0x1000000|31468\n与世沉浮|0x1000000|1395\n与世浮沉|0x1000000|1365\n与世俯仰|0x1000000|100\n与世隔绝|0x800000|26233\n与世推移|0x1000000|100\n与世无争|0x1000000|35455\n与世偃仰|0x1000000|100\n与受同科|0x1000000|100\n与物无竞|0x1000000|100\n与物无忤|0x1000000|100\n与之俱黑|0x1000000|0\n与众不同|0x1000000|11512\n伛偻病|0x100000|1318\n宇多田光|0x0080|848\n宇航服|0x0000|44298\n宇航局|0x100000|885\n宇航员|0x100000|11595\n宇文化及|0x0000|463\n宇宙尘|0x100000|1263\n宇宙飞船|0x800000|23143\n宇宙服|0x100000|1266\n宇宙观|0x100000|31808\n宇宙火箭|0x100000|839\n宇宙空间|0x800000|891\n宇宙论|0x100000|1036\n宇宙射线|0x800000|1072\n宇宙速度|0x100000|1103\n宇宙线|0x100000|1182\n宇宙学|0x100000|416\n羽量级|0x0008|0\n羽毛缎|0x100000|0\n羽毛丰满|0x1000000|1182\n羽毛球|0x100000|8797\n羽毛球场|0x100000|922\n羽毛球公开赛|0x100000|451\n羽毛球馆|0x100000|952\n羽毛球拍|0x100000|890\n羽毛球赛|0x100000|956\n羽毛球运动|0x0008|961\n羽毛未丰|0x1000000|1112\n羽毛状|0x100000|0\n羽球赛|0x100000|400\n羽绒被|0x100000|968\n羽绒服|0x100000|18884\n羽绒服装|0x100000|401\n羽绒制品|0x100000|458\n羽扇豆|0x100000|1180\n羽扇纶巾|0x1000000|55542\n羽翼已成|0x800000|1314\n雨鬓风鬟|0x1000000|100\n雨层云|0x100000|1397\n雨僝风僽|0x1000000|0\n雨僝云僽|0x1000000|100\n雨愁烟恨|0x1000000|100\n雨凑云集|0x1000000|100\n雨打风吹|0x1000000|867\n雨点小|0x800000|100\n雨栋风帘|0x1000000|100\n雨断云销|0x1000000|100\n雨覆云翻|0x1000000|100\n雨膏烟腻|0x1000000|100\n雨刮器|0x100000|960\n雨过天青|0x1000000|1045\n雨过天晴|0x800000|37283\n雨恨云愁|0x1000000|1177\n雨后春笋|0x1000000|18017\n雨后送伞|0x800000|1316\n雨花石|0x100000|37649\n雨花台|0x0040|1402\n雨迹云踪|0x1000000|1361\n雨夹雪|0x800000|908\n雨巾风帽|0x1000000|100\n雨井烟垣|0x1000000|100\n雨笠烟蓑|0x1000000|100\n雨帘云栋|0x1000000|100\n雨量计|0x0008|1015\n雨量器|0x0008|1419\n雨鬣霜蹄|0x1000000|100\n雨淋日晒|0x0000|100\n雨淋日炙|0x0000|100\n雨零星乱|0x1000000|100\n雨零星散|0x1000000|100\n雨露之恩|0x0000|100\n雨霾风障|0x1000000|100\n雨蒙蒙|0x0000|40695\n雨沐风餐|0x1000000|100\n雨泣云愁|0x1000000|100\n雨散风流|0x1000000|100\n雨散云飞|0x1000000|100\n雨散云收|0x1000000|100\n雨收云散|0x1000000|100\n雨水管|0x100000|1156\n雨顺风调|0x1000000|1349\n雨丝风片|0x1000000|1145\n雨宿风餐|0x1000000|100\n雨蓑风笠|0x0000|100\n雨蓑烟笠|0x1000000|100\n雨条烟叶|0x1000000|100\n雨蛙肽|0x0008|0\n雨卧风餐|0x1000000|100\n雨消云散|0x1000000|100\n雨歇云收|0x1000000|100\n雨旸时若|0x1000000|100\n雨约云期|0x1000000|100\n雨沾云惹|0x1000000|100\n雨中曲|0x100000|1030\n雨僽风僝|0x1000000|100\n雨珠儿|0x0000|41381\n雨踪云迹|0x1000000|100\n禹城市|0x0040|1525\n禹惜寸阴|0x1000000|100\n禹行舜趋|0x1000000|100\n禹州市|0x0040|1370\n语不惊人|0x1000000|877\n语不惊人死不休|0x0008|897\n语不投机|0x1000000|100\n语长心重|0x1000000|100\n语出月胁|0x1000000|100\n语短情长|0x1000000|100\n语法错误|0x100000|488\n语法分析|0x0008|0\n语法学|0x100000|1108\n语简意赅|0x1000000|100\n语近词冗|0x1000000|100\n语近指远|0x1000000|100\n语惊四座|0xc00000|48956\n语料库|0x100000|55842\n语妙绝伦|0x1000000|100\n语妙天下|0x1000000|100\n语气词|0x0008|54604\n语四言三|0x400000|100\n语体化|0x100000|0\n语体文|0x100000|1261\n语文版|0x100000|432\n语文报|0x100000|387\n语文教案|0x100000|505\n语文教材|0x100000|473\n语文教师|0x100000|529\n语文教育|0x100000|510\n语文课|0x100000|751\n语文课程|0x100000|497\n语文课件|0x100000|490\n语文课堂|0x100000|485\n语文老师|0x100000|541\n语文论文|0x100000|484\n语文期末|0x100000|426\n语文试卷|0x100000|487\n语文试题|0x100000|494\n语文学科|0x100000|480\n语文资源|0x100000|408\n语无伦次|0x1000000|28069\n语无诠次|0x1000000|100\n语笑喧呼|0x1000000|100\n语笑喧哗|0x1000000|100\n语笑喧阗|0x1000000|100\n语焉不详|0x1000000|38405\n语言版|0x100000|595\n语言包|0x100000|546\n语言表达|0x0000|586\n语言程序设计|0x100000|480\n语言地理学|0x0008|0\n语言关|0x0000|49677\n语言美|0x100000|400\n语言文学|0x100000|522\n语言文字|0x100000|768\n语言无味|0x1000000|1199\n语言学|0x100000|759\n语言学家|0x100000|908\n语言障碍|0x0008|896\n语义学|0x100000|1045\n语音版|0x100000|460\n语音卡|0x100000|453\n语音室|0x100000|464\n语音信箱|0x100000|897\n语音学|0x100000|1081\n语源学|0x100000|1233\n语重情深|0x1000000|100\n语重心长|0x1000000|15782\n语重心沉|0x1000000|100\n语助词|0x100000|1120\n玉版宣|0x100000|1320\n玉不琢|0x1000000|1006\n玉不琢不成器|0x0000|100\n玉惨花愁|0x1000000|1360\n玉成其美|0x0000|100\n玉成其事|0x1000000|1542\n玉尺量才|0x0000|100\n玉骨冰肌|0x1000000|1154\n玉关人老|0x1000000|100\n玉圭金臬|0x1000000|100\n玉环县|0x0040|1323\n玉皇大帝|0x0008|35753\n玉毁椟中|0x1000000|100\n玉减香消|0x1000000|100\n玉减香销|0x1000000|0\n玉洁冰清|0x1000000|51663\n玉洁松贞|0x1000000|100\n玉昆金友|0x1000000|100\n玉兰花|0x100000|38029\n玉兰片|0x100000|54605\n玉兰油|0x100000|524\n玉粒桂薪|0x1000000|100\n玉林市|0x0040|1328\n玉楼赴召|0x0000|100\n玉律金科|0x0000|100\n玉貌花容|0x0000|100\n玉门关|0x0040|1477\n玉门市|0x0040|1605\n玉米棒|0x100000|995\n玉米棒子|0x100000|966\n玉米饼|0x100000|1035\n玉米花|0x100000|982\n玉米花儿|0x0000|48957\n玉米价格|0x100000|534\n玉米秸|0x0000|43339\n玉米面|0x100000|31244\n玉米螟|0x100000|49318\n玉米片|0x100000|1092\n玉米田|0x0000|406\n玉米象|0x100000|1538\n玉米芯|0x100000|410\n玉米须|0x100000|1069\n玉米油|0x100000|52105\n玉米种|0x100000|443\n玉米种子|0x100000|427\n玉米粥|0x100000|992\n玉女心经|0x0008|1494\n玉佩琼琚|0x0000|100\n玉屏侗族自治县|0x0040|1205\n玉屏风散|0x100000|1178\n玉砌雕阑|0x1000000|100\n玉清冰洁|0x1000000|100\n玉如意|0x100000|494\n玉汝于成|0x800000|1123\n玉软花柔|0x0000|100\n玉润冰清|0x1000000|100\n玉润珠圆|0x0000|100\n玉山县|0x0040|1603\n玉石不分|0x1000000|100\n玉石混淆|0x1000000|100\n玉石皆碎|0x1000000|100\n玉石俱摧|0x1000000|100\n玉石俱焚|0x1000000|41138\n玉石俱碎|0x1000000|100\n玉石同沉|0x1000000|100\n玉石同碎|0x1000000|100\n玉石相揉|0x1000000|100\n玉石杂糅|0x1000000|100\n玉食锦衣|0x1000000|1492\n玉蜀黍|0x100000|38604\n玉树藏族自治州|0x0040|1667\n玉树临风|0x800000|788\n玉树琼枝|0x1000000|1121\n玉树县|0x0040|1109\n玉树芝兰|0x0000|100\n玉碎香残|0x0000|100\n玉碎香消|0x0000|100\n玉碎香销|0x1000000|0\n玉碎珠沉|0x1000000|100\n玉堂金马|0x1000000|1288\n玉堂人物|0x1000000|1539\n玉田县|0x0040|1491\n玉溪市|0x0040|1394\n玉箫金琯|0x1000000|100\n玉箫金管|0x1000000|100\n玉燕投怀|0x1000000|100\n玉叶金枝|0x1000000|1307\n玉液金波|0x1000000|100\n玉液金浆|0x1000000|100\n玉液琼浆|0x1000000|1113\n玉友金昆|0x1000000|100\n玉宇琼楼|0x1000000|1199\n玉振金声|0x1000000|100\n玉卮无当|0x1000000|100\n玉质金相|0x1000000|100\n玉置浩二|0x400080|0\n玉珠峰|0x100000|410\n玉柱擎天|0x1000000|1244\n玉镯子|0x0008|1112\n玉走金飞|0x1000000|100\n驭凤骖鹤|0x1000000|100\n吁咈都俞|0x1000000|100\n吁天呼地|0x0000|100\n饫甘餍肥|0x0000|100\n饫闻厌见|0x0000|100\n育成杂交|0x0008|0\n育空河|0x0040|1199\n育婴室|0x0000|379\n育婴堂|0x100000|45466\n育幼院|0x0008|430\n郁闭度|0x100000|1308\n郁金香|0x100000|24476\n郁南县|0x0040|1645\n郁郁不乐|0x1000000|1008\n郁郁苍苍|0x0100|48223\n郁郁沉沉|0x1000000|100\n郁郁葱葱|0x1000000|17548\n郁郁寡欢|0x1000000|36241\n郁郁累累|0x1000000|100\n郁郁芊芊|0x1000000|100\n狱货非宝|0x1000000|100\n浴室柜|0x100000|431\n浴室用品|0x100000|385\n浴血奋战|0x800000|21409\n预备党员|0x0000|528\n预备队|0x100000|33067\n预备金|0x100000|1205\n预备期|0x0000|41140\n预备生|0x100000|1241\n预备性|0x100000|1203\n预备役|0x100000|12833\n预测出|0x0000|439\n预产期|0x100000|46635\n预处理|0x1000|837\n预订电话|0x100000|526\n预防措施|0x100000|819\n预防犯罪|0x0008|960\n预防接种|0x0008|504\n预防为主|0x0000|521\n预防性|0x100000|887\n预防针|0x100000|37825\n预防注射|0x0008|1088\n预付款|0x100000|36756\n预告片|0x100000|632\n预激综合征|0x0008|0\n预见性|0x100000|863\n预警机|0x100000|42104\n预警系统|0x0008|537\n预决算|0x100000|50041\n预冷器|0x100000|0\n预埋件|0x0008|1122\n预热器|0x0008|1043\n预收款|0x100000|1070\n预售处|0x100000|1239\n预售票|0x100000|1035\n预算案|0x100000|996\n预算编制|0x100000|502\n预算表|0x100000|1052\n预算赤字|0x0008|9\n预算法|0x100000|428\n预算内|0x20000000|926\n预算内资金|0x0000|397\n预算外|0x20000000|938\n预算外资金|0x0008|468\n预算员|0x100000|446\n预先选择|0x0008|0\n预选赛|0x100000|730\n预言家|0x100000|38192\n预言者|0x0000|415\n预应力|0x100000|35021\n预制板|0x100000|42350\n预制构件|0x800000|832\n预制件|0x100000|1078\n域名服务|0x0000|471\n域名解析|0x0000|538\n域名空间|0x100000|492\n欲罢不能|0x1000000|29480\n欲得而甘心|0x0008|100\n欲盖而彰|0x1000000|100\n欲盖弥彰|0x1000000|38407\n欲壑难填|0x1000000|53539\n欲加之罪|0x1000000|977\n欲加之罪，何患无辞|0x0000|54068\n欲哭无泪|0x800000|705\n欲擒故纵|0x1000000|42105\n欲穷千里目|0x0008|1023\n欲取姑予|0x800000|1361\n欲人勿知|0x1000000|0\n欲谁归罪|0x0000|100\n欲说还休|0x1000000|843\n欲速不达|0x800000|1086\n欲速反迟|0x0000|100\n欲速则不达|0x0008|37286\n欲望都市|0x0000|471\n欲言又止|0x800000|28429\n欲扬先抑|0x800000|1130\n欲益反弊|0x1000000|100\n欲益反损|0x1000000|100\n喻之以理|0x0000|100\n寓兵于农|0x0000|100\n寓教于乐|0x800000|870\n寓情于景|0x1000000|1191\n寓言故事|0x100000|482\n寓意深长|0x1000000|1148\n寓意深远|0x800000|1056\n御敌于国门之外|0x1000000|1187\n御沟红叶|0x0000|100\n御花园|0x100000|40698\n御景园|0x100000|388\n御林军|0x100000|945\n御史大夫|0x100000|997\n御史台|0x100000|1056\n御用文人|0x100000|1\n裕固族|0x0008|43094\n裕民县|0x0040|1161\n裕民足国|0x800000|100\n遇到困难|0x0000|557\n遇难成祥|0x1000000|1253\n遇难呈祥|0x1000000|1138\n遇难者|0x100000|863\n遇人不淑|0x1000000|884\n遇事生端|0x1000000|100\n遇事生风|0x1000000|1352\n遇水迭桥|0x0000|100\n遇水叠桥|0x1000000|100\n遇水架桥|0x1000000|1185\n遇物持平|0x1000000|100\n愈来愈|0x800000|665\n愈来愈少|0x800000|0\n愈演愈烈|0x800000|13500\n誉不绝口|0x800000|100\n誉满全球|0x800000|1036\n誉满天下|0x800000|1113\n毓子孕孙|0x1000000|100\n鹬蚌持争|0x800000|100\n鹬蚌相持|0x1000000|1296\n鹬蚌相斗|0x1000000|100\n鹬蚌相危|0x1000000|100\n鹬蚌相争|0x1000000|963\n鹬蚌相争，渔翁得利|0x0000|56006\n鹬蚌相争渔翁得利|0x0000|100\n鬻宠擅权|0x1000000|100\n鬻儿卖女|0x1000000|100\n鬻鸡为凤|0x1000000|100\n鬻良杂苦|0x1000000|100\n鬻矛誉楯|0x1000000|100\n鬻驽窃价|0x1000000|100\n鬻声钓世|0x1000000|100\n鸢飞鱼跃|0x1000000|1186\n鸢肩豺目|0x1000000|100\n鸢肩羔膝|0x1000000|100\n鸢肩鹄颈|0x1000000|100\n鸢尾科|0x100000|0\n冤沉海底|0x1000000|1297\n冤大头|0x100000|40699\n冤各有头|0x1000000|1541\n冤家对头|0x1000000|1008\n冤家路狭|0x1000000|100\n冤家路窄|0x1000000|44576\n冤假错案|0x100000|25239\n冤天屈地|0x0000|100\n冤枉路|0x100000|900\n冤枉钱|0x100000|811\n冤有头|0x800000|1055\n冤冤相报|0x1000000|974\n鸳俦凤侣|0x1000000|100\n鸳鸯蝴蝶派|0x0008|1098\n鸳鸯楼|0x0000|54070\n鸳鸯戏水|0x800000|892\n渊涓蠖濩|0x1000000|100\n渊谋远略|0x1000000|100\n渊清玉絜|0x1000000|100\n渊亭山立|0x1000000|100\n渊停山立|0x0000|100\n渊渟岳立|0x1000000|100\n渊渟岳峙|0x1000000|100\n渊渟泽汇|0x1000000|100\n渊图远算|0x1000000|100\n渊涌风厉|0x1000000|100\n渊鱼丛爵|0x1000000|100\n渊鱼丛雀|0x0000|100\n渊蜎蠖伏|0x1000000|100\n渊源有自|0x1000000|100\n渊源有自来|0x0008|1286\n渊远流长|0x1000000|1057\n元宝草|0x100000|1537\n元宝枫|0x100000|1178\n元旦晚会|0x100000|445\n元恶大憝|0x1000000|100\n元恶大奸|0x1000000|100\n元方季方|0x1000000|100\n元古界|0x0008|1221\n元奸巨恶|0x1000000|100\n元件库|0x100000|384\n元经秘旨|0x1000000|100\n元朗区|0x0008|1167\n元老院|0x0000|464\n元龙高卧|0x1000000|100\n元龙豪气|0x0000|100\n元逻辑|0x0008|0\n元谋县|0x0040|1072\n元谋猿人|0x800000|1182\n元器件|0x100000|22384\n元戎启行|0x1000000|100\n元氏县|0x0040|1562\n元书纸|0x0008|1397\n元素符号|0x100000|1108\n元素周期|0x0000|436\n元素周期律|0x0000|402\n元素主义|0x100000|0\n元宵节|0x4000|21655\n元阳县|0x0040|1081\n元元本本|0x1000000|1355\n元元之民|0x1000000|1542\n元月份|0x100000|990\n员工工资|0x100000|489\n员工素质|0x100000|482\n园林工程|0x100000|492\n园林工具|0x100000|907\n园林规划|0x100000|432\n园林机械|0x100000|434\n园林建筑|0x0008|868\n园林景观|0x100000|518\n园林景观设计|0x100000|420\n园林局|0x100000|1483\n园林绿化|0x0008|692\n园林设计|0x0008|796\n园林施工|0x100000|927\n园林水景|0x0008|1071\n园林艺术|0x100000|438\n园林植物|0x0008|0\n园田化|0x100000|1382\n园艺产品|0x100000|407\n园艺工具|0x100000|407\n园艺家|0x100000|1157\n园艺师|0x0000|51222\n园艺学|0x100000|1073\n沅茝醴兰|0x1000000|100\n沅茞澧兰|0x0000|100\n沅江九肋|0x1400000|0\n沅江市|0x0040|1613\n沅陵县|0x0040|1053\n沅芷澧兰|0x1000000|100\n沅芷湘兰|0x1000000|100\n垣曲县|0x0040|1038\n原班人马|0x800000|37288\n原璧归赵|0x1000000|100\n原材料|0x100000|6383\n原材料价格|0x100000|524\n原产地|0x100000|681\n原肠胚|0x100000|1381\n原程序|0x100000|456\n原代码|0x100000|497\n原单位|0x100000|537\n原地踏步|0x0000|40278\n原电池|0x0008|412\n原动机|0x0008|1045\n原动力|0x100000|22138\n原发性|0x100000|41849\n原封不动|0x1000000|811\n原封未动|0x1000000|1111\n原辅料|0x100000|438\n原稿纸|0x0008|1202\n原告方|0x100000|1057\n原告席|0x100000|1170\n原核细胞|0x0008|0\n原计划|0x0000|568\n原来如此|0x800000|691\n原理图|0x100000|512\n原料库|0x100000|1226\n原料药|0x100000|567\n原平市|0x0040|1626\n原生动物|0x100000|1092\n原生晕|0x0008|0\n原生质|0x100000|1087\n原声带|0x100000|759\n原始反终|0x1000000|1313\n原始公社|0x100000|1202\n原始股|0x100000|437\n原始积累|0x800000|33203\n原始记录|0x0008|2\n原始见终|0x1000000|100\n原始林|0x100000|45469\n原始凭证|0x0008|3\n原始人|0x100000|831\n原始森林|0x100000|753\n原始社会|0x100000|21550\n原始数据|0x0000|484\n原始要终|0x1000000|1301\n原位杂交|0x0008|0\n原文件|0x100000|535\n原线圈|0x100000|1534\n原形败露|0x1000000|100\n原形毕露|0x1000000|39020\n原阳县|0x0040|1539\n原叶体|0x0008|0\n原油价格|0x100000|577\n原油期货|0x100000|559\n原原本本|0x1000000|25059\n原原委委|0x1000000|1535\n原则上|0x8000000|12624\n原则性|0x100000|14865\n原汁原味|0x800000|742\n原住民|0x0008|790\n原装货|0x100000|1068\n原装机|0x0008|1043\n原子笔|0x100000|973\n原子弹|0x100000|12483\n原子反应|0x100000|839\n原子反应堆|0x100000|1241\n原子光谱|0x0008|0\n原子轨道|0x0008|0\n原子核|0x100000|15218\n原子灰|0x100000|372\n原子价|0x100000|1344\n原子结构|0x0008|768\n原子量|0x100000|1113\n原子论|0x0008|374\n原子能|0x100000|8043\n原子能发电|0x0008|1051\n原子团|0x100000|1203\n原子武器|0x800000|48961\n原子序|0x0000|377\n原子序数|0x800000|1144\n原子炸弹|0x100000|912\n原子质量|0x100000|0\n原子钟|0x100000|48580\n原作者|0x100000|570\n圆白菜|0x100000|48581\n圆顶方趾|0x1000000|100\n圆二色性|0x400000|0\n圆鼓鼓|0x0100|46354\n圆滚滚|0x0100|38194\n圆乎乎|0x0100|1076\n圆环一带|0x400000|0\n圆孔方木|0x100000|100\n圆括号|0x100000|1041\n圆领衫|0x0008|49319\n圆溜溜|0x0100|40701\n圆颅方趾|0x1000000|100\n圆满完成任务|0x0000|402\n圆明园|0x0040|1138\n圆木警枕|0x1000000|100\n圆盘犁|0x100000|0\n圆圈式|0x100000|0\n圆扫描|0x0008|0\n圆首方足|0x1000000|0\n圆筒状|0x100000|1103\n圆舞曲|0x100000|29376\n圆心角|0x100000|1217\n圆凿方枘|0x1000000|1378\n圆织机|0x100000|388\n圆周角|0x100000|1239\n圆周率|0x100000|43564\n圆周运动|0x800000|1001\n圆珠笔|0x100000|27903\n圆柱齿轮|0x100000|411\n圆柱面|0x100000|1185\n圆柱体|0x100000|945\n圆柱投影|0x0008|0\n圆柱形|0x100000|890\n圆柱状|0x100000|399\n圆锥曲线|0x100000|1042\n圆锥体|0x100000|1054\n圆锥形|0x100000|979\n圆桌会议|0x800000|23676\n圆桌面|0x100000|1226\n袁安高卧|0x1000000|100\n袁大头|0x100000|1093\n袁世凯|0x0080|1341\n援笔成章|0x0000|100\n援笔立成|0x0000|100\n援鳖失龟|0x1000000|100\n援古刺今|0x1000000|100\n援古证今|0x1000000|100\n援疑质理|0x1000000|0\n缘木求鱼|0x1000000|46355\n缘悭命蹇|0x0000|100\n缘悭一面|0x400000|1\n缘情体物|0x0000|100\n缘文生义|0x0000|100\n鼋鸣鳖应|0x1000000|100\n源程序|0x100000|781\n源代码|0x0008|611\n源清流洁|0x1000000|100\n源清流清|0x0000|100\n源泉万斛|0x1000000|100\n源氏物语|0x0008|1557\n源头活水|0x1000000|944\n源文件|0x100000|750\n源源本本|0x1000000|1174\n源源不断|0x0100|11596\n源源不绝|0x0100|866\n源源而来|0x1000|1132\n源远流长|0x1000000|9290\n猿悲鹤怨|0x0000|100\n猿鹤虫沙|0x1000000|100\n猿鹤沙虫|0x1000000|100\n猿猴取月|0x1000000|100\n猿惊鹤怨|0x0000|100\n猿啼鹤唳|0x1000000|100\n猿啼鹤怨|0x1000000|100\n猿穴坏山|0x1000000|100\n远安县|0x0040|1637\n远不间亲|0x0000|100\n远不如|0x0000|555\n远程登陆|0x100000|432\n远程管理|0x100000|822\n远程教室|0x100000|1237\n远程教学|0x100000|480\n远程教育|0x100000|11422\n远程桌面|0x0000|493\n远愁近虑|0x1000000|100\n远垂不朽|0x1000000|100\n远道而来|0x800000|843\n远地点|0x100000|1193\n远东地区|0x0040|1216\n远渡重洋|0x800000|934\n远房亲戚|0x100000|896\n远高于|0x0000|549\n远隔重洋|0x1000000|1026\n远怀近集|0x1000000|100\n远见卓识|0x1000000|20225\n远交近攻|0x1000000|52109\n远郊区|0x100000|35022\n远近闻名|0x1000000|830\n远井不解近渴|0x0008|0\n远景规划|0x100000|970\n远距离|0x20000000|715\n远来和尚好看经|0x0008|100\n远虑深谋|0x1000000|100\n远谋深算|0x1000000|100\n远年近日|0x1000000|100\n远年近岁|0x1000000|100\n远亲不如近邻|0x0008|1003\n远亲近邻|0x800000|1153\n远求骐骥|0x0000|100\n远日点|0x100000|1221\n远山芙蓉|0x0000|100\n远涉重洋|0x800000|37110\n远视眼|0x100000|54609\n远水不解近渴|0x0008|1153\n远水不救近火|0x0008|1296\n远水解不了近渴|0x0008|1093\n远水救不得近火|0x0008|100\n远水救不了近火|0x0008|1115\n远溯博索|0x1000000|100\n远洋航行|0x0008|1\n远洋渔业|0x0008|1666\n远洋运输|0x0008|961\n远远地|0x8000000|665\n远月点|0x0008|0\n远在天边|0x800000|798\n远征军|0x100000|910\n远至迩安|0x1000000|100\n远瞩高瞻|0x1000000|100\n远走高飞|0x1000000|26021\n远走他乡|0x800000|870\n怨不得|0x8000000|39216\n怨不得人|0x100000|1157\n怨家债主|0x1000000|1402\n怨女旷夫|0x1000000|100\n怨气冲天|0x1000000|100\n怨气满腹|0x0000|100\n怨入骨髓|0x1000000|100\n怨声四起|0x400000|1\n怨声载道|0x1000000|24355\n怨天尤人|0x1000000|25797\n怨天怨地|0x1000000|1036\n怨言四起|0x400000|0\n愿不愿意|0x800000|817\n愿者上钩|0x800000|963\n约旦河|0x0040|1102\n约旦人|0x100000|1203\n约定俗成|0x1000000|24924\n约法三章|0x1400000|25386\n约翰内斯堡|0x0040|1563\n约翰尼斯|0x0080|1478\n约翰尼斯堡|0x0080|0\n约翰生|0x0080|1221\n约翰施特劳斯|0x0080|0\n约翰逊|0x0040|1238\n约瑟夫|0x0040|1317\n约束力|0x100000|15672\n约束条件|0x0008|1\n约一斤肉|0x400000|0\n约一约有多重|0x400000|0\n月白风清|0x1000000|51223\n月饼盒|0x0008|439\n月产量|0x0000|43340\n月旦春秋|0x1000000|100\n月地云阶|0x1000000|100\n月洞门|0x100000|1172\n月份牌|0x100000|0\n月份牌儿|0x0000|41144\n月复一月|0x400000|0\n月工资|0x100000|544\n月光曲|0x100000|412\n月光如水|0x1000000|44577\n月桂树|0x100000|986\n月黑风高|0x1000000|834\n月黑杀人|0x0000|100\n月黑天|0x0000|55046\n月季花|0x100000|896\n月见草|0x0008|1530\n月经不调|0x0008|826\n月经带|0x100000|1194\n月经周期|0x0000|519\n月朗风清|0x0000|100\n月朗星稀|0x1000000|978\n月里嫦娥|0x0000|100\n月利率|0x100000|1120\n月亮代表|0x100000|535\n月亮门|0x0000|37290\n月露风云|0x1000000|100\n月露之体|0x1000000|100\n月落参横|0x1000000|1538\n月落星沉|0x1000000|1272\n月满则亏|0x1000000|1153\n月貌花容|0x1000000|100\n月没参横|0x1000000|100\n月明千里|0x1000000|100\n月明星稀|0x1000000|48965\n月偏食|0x0000|54610\n月平均|0x0008|531\n月全食|0x100000|30123\n月缺花残|0x1000000|1314\n月缺难圆|0x0000|100\n月攘一鸡|0x400000|0\n月收入|0x0000|628\n月台票|0x100000|52562\n月头儿|0x4000|52563\n月夕花朝|0x1000000|100\n月夕花晨|0x1000000|100\n月下花前|0x1000000|1175\n月下老儿|0x100000|100\n月下老人|0x1000000|45768\n月牙儿|0x0000|18757\n月牙泉|0x100000|462\n月牙形|0x100000|1013\n月夜花朝|0x0000|100\n月异日新|0x1000000|100\n月盈则食|0x1000000|1292\n月圆花好|0x1000000|1076\n月月红|0x0008|1159\n月晕础润|0x0000|100\n月晕而风|0x1000000|1197\n月晕知风|0x1000000|0\n月章星句|0x1000000|100\n月之女神|0x0000|369\n月值年灾|0x1000000|100\n月中折桂|0x0000|100\n月坠花折|0x0000|100\n月子病|0x100000|1184\n月租费|0x100000|889\n刖趾适屦|0x0000|100\n刖趾适履|0x1000000|100\n岳池县|0x0040|1060\n岳父母|0x0000|40931\n岳麓山|0x100000|454\n岳普湖|0x0040|1132\n岳普湖县|0x0040|1178\n岳西县|0x0040|1450\n岳阳楼|0x0040|1397\n岳阳市|0x0040|1320\n岳阳县|0x0040|1552\n岳岳磊磊|0x1000000|100\n岳岳荦荦|0x1000000|100\n岳镇渊渟|0x1000000|100\n岳峙渊渟|0x1000000|100\n钥匙孔|0x100000|997\n钥匙扣|0x100000|555\n钥匙盘|0x100000|373\n钥匙圈|0x100000|898\n悦近来远|0x1000000|100\n悦目赏心|0x1000000|100\n悦目娱心|0x0000|100\n悦人耳目|0x800000|0\n阅报栏|0x0000|28788\n阅报室|0x100000|1329\n阅兵式|0x100000|27504\n阅读机|0x100000|983\n阅读教学|0x100000|527\n阅读器|0x100000|682\n阅读写作|0x100000|900\n阅读站|0x100000|1092\n阅览室|0x100000|13649\n阅人多矣|0x800000|1269\n跃居第一|0x400000|3\n跃马弯弓|0x0000|100\n跃马扬鞭|0x800000|1176\n跃然纸上|0x1000000|30673\n跃跃欲试|0x1000000|20226\n粤港澳|0x100000|464\n粤江三角|0x400000|1250\n粤江三角洲|0x400000|0\n粤剧团|0x100000|1170\n粤犬吠雪|0x1000000|100\n粤语版|0x100000|512\n越次超伦|0x0000|100\n越冬作物|0x800000|1062\n越凫楚乙|0x1000000|100\n越古超今|0x0000|100\n越剧团|0x100000|1079\n越来越|0x8000000|577\n越来越好|0x0000|586\n越雷池一步|0x400008|0\n越南旅游|0x100000|393\n越南人|0x100000|908\n越南语|0x100000|419\n越南战争|0x100000|481\n越鸟南栖|0x0000|100\n越瘦秦肥|0x1000000|100\n越西县|0x0040|1154\n越野车|0x100000|21789\n越野赛|0x100000|30231\n越战越勇|0x800000|910\n越俎代庖|0x1000000|34890\n云安县|0x0040|1108\n云悲海思|0x1000000|100\n云布雨润|0x1000000|100\n云布雨施|0x1000000|100\n云朝雨暮|0x1000000|100\n云程发轫|0x0000|100\n云程万里|0x0000|100\n云愁海思|0x1000000|0\n云愁雨怨|0x1000000|100\n云窗雾阁|0x1000000|1238\n云窗雾槛|0x1000000|100\n云窗霞户|0x1000000|100\n云窗月户|0x1000000|100\n云窗月帐|0x1000000|100\n云次鳞集|0x1000000|100\n云从龙|0x1000000|1167\n云淡风轻|0x800000|762\n云翻雨覆|0x1000000|100\n云飞泥沉|0x1000000|100\n云飞烟灭|0x1000000|100\n云飞雨散|0x1000000|100\n云浮市|0x0040|1453\n云冈石窟|0x0040|1526\n云贵高原|0x0040|1494\n云过天空|0x1000000|1349\n云合景从|0x1000000|100\n云合雾集|0x1000000|100\n云合响应|0x1000000|100\n云和县|0x0040|1552\n云鬟雾鬓|0x1000000|100\n云集景从|0x1000000|100\n云集景附|0x1000000|100\n云集响应|0x1000000|100\n云交雨合|0x1000000|1523\n云阶月地|0x1000000|1241\n云堦月地|0x1000000|100\n云锦天章|0x0000|100\n云净天空|0x1000000|100\n云居寺|0x100000|412\n云谲波诡|0x1000000|1169\n云开见日|0x800000|1098\n云开见天|0x0000|100\n云开日出|0x800000|1018\n云开雾散|0x1000000|952\n云开雾释|0x1000000|100\n云林县|0x0040|1435\n云龙风虎|0x1000000|1244\n云龙井蛙|0x1000000|100\n云龙县|0x0040|1094\n云罗天网|0x1000000|100\n云梦闲情|0x1000000|100\n云梦县|0x0040|1563\n云迷雾锁|0x1000000|100\n云迷雾罩|0x1000000|100\n云母粉|0x100000|433\n云母片|0x0008|971\n云南白药|0x100000|1416\n云南大学|0x0020|1352\n云南昆明|0x100000|523\n云南旅行社|0x100000|382\n云南旅游|0x100000|518\n云南日报|0x100000|499\n云南省|0x0040|995\n云南新闻|0x100000|432\n云泥殊路|0x0000|100\n云泥异路|0x1000000|100\n云泥之别|0x1000000|1098\n云泥之差|0x1000000|100\n云霓之望|0x1000000|100\n云片糕|0x100000|54074\n云期雨信|0x1000000|100\n云期雨约|0x1000000|100\n云起龙襄|0x1000000|100\n云起龙骧|0x1000000|1273\n云起雪飞|0x1000000|100\n云情雨意|0x1000000|1319\n云趋鹜赴|0x1000000|100\n云扰幅裂|0x1000000|100\n云容月貌|0x1000000|100\n云散风流|0x1000000|100\n云山雾罩|0x800000|41145\n云收雨散|0x1000000|1232\n云舒霞卷|0x1000000|100\n云树遥隔|0x1000000|100\n云树之思|0x1000000|100\n云天高谊|0x0000|100\n云天雾地|0x1000000|100\n云屯飙散|0x1000000|100\n云屯鸟散|0x1000000|100\n云屯森立|0x1000000|100\n云屯雾集|0x1000000|100\n云屯雾散|0x1000000|100\n云屯席卷|0x1000000|100\n云屯星聚|0x1000000|100\n云屯蚁聚|0x1000000|100\n云屯雨集|0x1000000|1534\n云雾迷蒙|0x800000|100\n云消雾散|0x1000000|50044\n云消雨散|0x800000|100\n云霄县|0x0040|1062\n云心鹤眼|0x1000000|100\n云心水性|0x1000000|100\n云兴霞蔚|0x1000000|1307\n云行雨洽|0x0000|100\n云行雨施|0x1000000|1226\n云烟过眼|0x1000000|1175\n云阳县|0x0040|1258\n云涌飙发|0x1000000|100\n云涌风飞|0x1000000|100\n云尤雨殢|0x1000000|100\n云游四方|0x400000|0\n云雨巫山|0x0000|100\n云遮雾障|0x800000|55048\n云蒸龙变|0x1000000|100\n云蒸雾集|0x1000000|100\n云蒸霞蔚|0x1000000|50045\n云中白鹤|0x1000000|1328\n云中仙鹤|0x1000000|1530\n匀红点翠|0x1000000|100\n匀速圆周运动|0x0000|380\n匀速运动|0x1000|1119\n匀速直线运动|0x0000|396\n匀脂抹粉|0x1000000|100\n芸香草|0x100000|0\n芸香苷|0x100000|1371\n芸芸众生|0x1000000|27427\n郧西县|0x0040|1654\n允文允武|0x1000000|1200\n允执厥中|0x1000000|1251\n允执其中|0x1000000|1243\n陨雹飞霜|0x1000000|100\n陨身糜骨|0x1000000|100\n陨石坑|0x100000|421\n陨星学|0x100000|1533\n殒身不恤|0x1000000|1256\n殒身碎首|0x1000000|100\n孕妇装|0x0008|1291\n孕穗期|0x4000|1316\n运兵车|0x100000|1076\n运策决机|0x1000000|100\n运策帷幄|0x1000000|100\n运钞车|0x100000|949\n运城市|0x0040|1400\n运筹出奇|0x1000000|100\n运筹画策|0x1000000|100\n运筹建策|0x1000000|100\n运筹借箸|0x1000000|100\n运筹决策|0x1000000|100\n运筹决胜|0x1000000|100\n运筹决算|0x1000000|100\n运筹千里|0x1000000|100\n运筹设策|0x1000000|100\n运筹帏幄|0x1000000|100\n运筹帷幄|0x1000000|25678\n运筹帷帐|0x1000000|100\n运筹学|0x100000|894\n运筹演谋|0x1000000|100\n运筹制胜|0x1000000|100\n运掉自如|0x1000000|100\n运动版|0x100000|503\n运动包|0x100000|410\n运动表|0x100000|426\n运动场|0x100000|20187\n运动队|0x100000|934\n运动服|0x100000|29281\n运动服装|0x100000|505\n运动会|0x100000|5041\n运动家|0x0000|414\n运动健将|0x100000|38609\n运动竞赛|0x0008|0\n运动俱乐部|0x100000|537\n运动裤|0x0008|2\n运动量|0x100000|21374\n运动器材|0x100000|801\n运动衫|0x100000|44884\n运动神经|0x800000|940\n运动史|0x100000|1034\n运动套装|0x100000|433\n运动袜|0x100000|55049\n运动项目|0x0000|509\n运动鞋|0x100000|25798\n运动型|0x100000|545\n运动学|0x100000|994\n运动衣|0x0008|40280\n运动用品|0x100000|482\n运动员|0x100000|2282\n运动战|0x100000|35457\n运动障碍|0x100000|408\n运动知觉|0x0008|0\n运动装|0x100000|501\n运斧般门|0x1000000|100\n运乖时蹇|0x1000000|100\n运货车|0x0000|372\n运计铺谋|0x1000000|100\n运蹇时低|0x1000000|100\n运蹇时乖|0x1000000|100\n运斤成风|0x1000000|100\n运斤如风|0x1000000|100\n运开时泰|0x1000000|100\n运煤船|0x100000|1167\n运输部|0x100000|955\n运输车|0x100000|528\n运输成本|0x0008|10\n运输船|0x100000|970\n运输队|0x100000|836\n运输费|0x100000|998\n运输工具|0x100000|862\n运输机|0x100000|22386\n运输舰|0x100000|51225\n运输量|0x100000|1004\n运输设备|0x0000|507\n运输网|0x100000|1117\n运输线|0x100000|31578\n运输业|0x100000|791\n运算放大器|0x100000|915\n运算量|0x100000|1111\n运算器|0x100000|1060\n运算元|0x0008|0\n运算子|0x0008|0\n运旺时盛|0x1000000|100\n运行机制|0x0000|582\n运行状况|0x100000|498\n运移时易|0x1000000|100\n运营商|0x100000|586\n运用于|0x1000|543\n运用之妙|0x800000|904\n运用自如|0x1000000|913\n运载火箭|0x800000|12760\n运之掌上|0x0000|100\n运智铺谋|0x1000000|100\n运转时来|0x0000|100\n运拙时乖|0x1000000|100\n运拙时艰|0x1000000|100\n郓城县|0x0040|1517\n晕高儿|0x1000|0\n晕乎乎|0x0100|808\n晕头晕脑|0x800000|50812\n晕头转向|0x1000000|31470\n晕渲法|0x100000|0\n晕晕沉沉|0x1000000|1016\n缊褐瓢箪|0x0000|100\n韫椟藏珠|0x0000|100\n韫椟而藏|0x1000000|100\n韵律操|0x100000|49320\n韵律体操|0x100000|1083\n韵律学|0x100000|1375\n蕴藏量|0x100000|967\n咂嘴弄唇|0x0000|100\n咂嘴弄舌|0x1000000|100\n咂嘴舔唇|0x0000|100\n咂嘴咂舌|0x1000000|100\n杂拌儿|0x100000|47256\n杂草丛生|0x800000|849\n杂多县|0x0040|1150\n杂和面儿|0x100000|100\n杂环化合物|0x0008|1014\n杂活儿|0x100000|0\n杂货店|0x100000|25307\n杂货铺|0x100000|29700\n杂技场|0x100000|1326\n杂技团|0x100000|938\n杂交高粱|0x0008|0\n杂交瘤|0x100000|1246\n杂交育种|0x0008|947\n杂交种|0x100000|1082\n杂乱不堪|0x800000|0\n杂乱无序|0x800000|1077\n杂乱无章|0x1000000|24099\n杂乱一团|0x400000|0\n杂牌军|0x100000|46639\n杂七杂八|0x1400000|36759\n杂食性|0x0000|395\n杂院儿|0x100000|25601\n杂志架|0x0008|995\n杂志社|0x100000|10473\n杂种第二代|0x400000|0\n杂种性|0x100000|0\n杂种优势|0x0008|0\n砸饭碗|0x1000|55050\n砸锅卖铁|0x1000000|42356\n砸牌子|0x1000|55051\n灾害性|0x100000|999\n灾梨祸枣|0x800000|100\n灾难片|0x0000|466\n灾难深重|0x800000|1064\n灾难性|0x100000|828\n甾族化合物|0x0008|0\n栽跟头|0x1000|41383\n栽培法|0x100000|1162\n栽培技术|0x0008|789\n栽培植物|0x800000|1067\n栽植机|0x0008|0\n宰鸡教猴|0x1000000|0\n宰牲节|0x4000|40702\n宰相肚里好撑船|0x0008|1268\n载波机|0x0008|0\n载波通信|0x0008|0\n载玻片|0x0008|1137\n载沉载浮|0x1000000|1130\n载驰载驱|0x1000000|1384\n载弹量|0x100000|1102\n载歌且舞|0x1000000|100\n载歌载舞|0x1000000|18758\n载货电梯|0x100000|1097\n载货量|0x100000|1220\n载酒问字|0x800000|100\n载客率|0x100000|1230\n载流子|0x0008|1146\n载驱载驰|0x1000000|100\n载入器|0x0008|0\n载笑载言|0x1000000|1150\n载一抱素|0x1400000|0\n载重量|0x100000|35754\n载重汽车|0x0008|40493\n载舟覆舟|0x1000000|1172\n再版书|0x100000|1310\n再保险|0x1000|500\n再别康桥|0x0000|464\n再不其然|0x1000000|100\n再不然|0x0000|30233\n再创造|0x0000|470\n再调整|0x0000|449\n再而三|0xc00000|3\n再婚者|0x100000|1293\n再加上|0x0000|788\n再教育|0x100000|25799\n再接再历|0x1000000|100\n再接再厉|0x1000000|11956\n再接再砺|0x1000000|100\n再结晶|0x0008|0\n再就是|0x8000000|754\n再就业|0x0008|3714\n再来一个|0x400000|1\n再利用|0x0000|21987\n再认识|0x0000|28332\n再三再四|0x1400000|41148\n再生产|0x1000|12864\n再生父母|0x1000000|1048\n再生胶|0x100000|982\n再生接收机|0x0008|0\n再生障碍性贫血|0x0008|452\n再生之恩|0x100000|1034\n再生纸|0x100000|996\n再生制动|0x0008|0\n再生资源|0x0008|513\n再实之根必伤|0x0008|100\n再试一次|0x400000|1\n再试一下|0x400000|0\n再衰三涸|0x1400000|0\n再衰三竭|0x1400000|0\n再贴现|0x0000|404\n再循环|0x0008|445\n再压缩|0x0000|394\n再也不会|0x0000|586\n再也不能|0x0000|579\n再也没有|0x0000|662\n再一次|0x400000|73\n再造之恩|0x100000|1122\n再者说|0x10000000|989\n再作道理|0x1000000|1243\n再作冯妇|0x1000000|1249\n再做道理|0x1000000|1347\n在陈之厄|0x1000000|100\n在此基础上|0x0000|618\n在此期间|0x0000|16195\n在此一举|0xc00000|0\n在此之前|0x0000|13025\n在大多数情况下|0x0000|469\n在发言中|0x0000|495\n在改革中|0x0000|450\n在工作上|0x0000|558\n在工作中|0x0000|627\n在谷满谷|0x1000000|100\n在官言官|0x1000000|100\n在国内外|0x0000|596\n在国外|0x0000|688\n在后面|0x0000|707\n在户外|0x0000|520\n在技术上|0x0000|564\n在家出家|0x800000|1170\n在劫难逃|0x1000000|35150\n在结构上|0x0000|469\n在经济上|0x0000|544\n在困难中|0x40000000|383\n在来米|0x0008|0\n在里面|0x0000|725\n在理会|0x0020|0\n在某些方面|0x0000|516\n在哪儿|0x4000000|404\n在内部|0x0000|545\n在内地|0x0000|398\n在那边|0x0000|614\n在那里|0x0000|835\n在前面|0x0000|685\n在全国范围内|0x0000|587\n在人矮檐下|0x0008|100\n在日常生活中|0x0000|544\n在色之戒|0x1000000|100\n在社会上|0x0000|599\n在生活中|0x0000|619\n在实践中|0x0000|618\n在世界上|0x0000|605\n在思想上|0x0000|537\n在所不辞|0x1000000|47258\n在所不计|0x800000|51668\n在所不惜|0x1000000|30348\n在所难免|0x1000000|22193\n在逃犯|0x100000|46067\n在天之灵|0x1000000|28242\n在我看来|0x0000|623\n在线播放|0x100000|677\n在线点播|0x100000|695\n在线电视|0x100000|550\n在线翻译|0x100000|500\n在线歌曲|0x100000|414\n在线观看电影|0x100000|430\n在线教程|0x100000|440\n在线教育|0x100000|428\n在线漫画|0x100000|545\n在线免费电影|0x100000|504\n在线商城|0x100000|472\n在线视频|0x100000|545\n在线视听|0x100000|572\n在线书库|0x100000|693\n在线提交|0x1000|511\n在线音乐|0x100000|642\n在线影视|0x100000|501\n在线影院|0x100000|730\n在校学生|0x100000|741\n在新的一年里|0x400000|19\n在押犯|0x100000|42829\n在野党|0x100000|16900\n在一般情况下|0x400000|3\n在一边|0x400000|26\n在一定程度上|0x400000|95\n在一定范围内|0x400000|7\n在一定历史条件下|0x400000|0\n在一起|0x400000|566\n在于一心|0x400000|0\n在这个基础上|0x0000|477\n在这种情况下|0x0000|670\n在职人员|0x0000|547\n在组织上|0x0000|417\n簪缨世胄|0x0000|100\n簪缨世族|0x100000|100\n攒锋聚镝|0x1000000|100\n攒零合整|0x0000|100\n攒眉蹙额|0x0000|100\n攒眉苦脸|0x0000|100\n攒三集五|0x1400000|0\n攒三聚五|0x1400000|0\n暂存器|0x0008|380\n暂劳永逸|0x1000000|100\n暂时性|0x100000|817\n暂行办法|0x0000|640\n暂行规定|0x0000|625\n暂行条例|0x0000|564\n暂住证|0x100000|26859\n赞比亚|0x0040|1442\n赞不绝口|0x1000000|19651\n赞成票|0x100000|951\n赞成者|0x100000|1103\n赞皇县|0x0040|1067\n赞口不绝|0x1000000|1118\n赞美歌|0x100000|1120\n赞美诗|0x100000|38408\n赞赏不已|0x800000|811\n赞声不绝|0x0000|100\n赞叹不已|0x800000|851\n赞助费|0x100000|920\n赞助人|0x100000|1037\n赞助商|0x100000|608\n赞助者|0x100000|1028\n赃官污吏|0x1000000|100\n赃贿狼籍|0x1000000|100\n赃贿狼藉|0x1000000|100\n赃秽狼藉|0x1000000|100\n赃货狼藉|0x1000000|100\n赃私狼籍|0x1000000|100\n赃私狼藉|0x1000000|100\n赃污狼籍|0x1000000|100\n赃污狼藉|0x1000000|100\n赃盈恶贯|0x1000000|100\n臧否人物|0x1000|53542\n臧谷亡羊|0x0000|100\n臧穀亡羊|0x1000000|100\n脏活儿|0x0000|50047\n脏乱差|0x800000|24996\n脏污狼藉|0x0000|100\n脏兮兮|0x0100|744\n脏字儿|0x0000|45771\n葬身鱼腹|0x1000000|51227\n葬仪社|0x0008|0\n遭逢不偶|0x1000000|100\n遭逢会遇|0x1000000|100\n遭逢际会|0x1000000|100\n遭逢时会|0x1000000|0\n遭际不偶|0x1000000|0\n遭际时会|0x1000000|0\n遭家不造|0x1000000|100\n遭劫在数|0x1000000|100\n遭倾遇祸|0x1000000|100\n遭时不偶|0x1000000|100\n遭时定制|0x1000000|100\n遭时制宜|0x1000000|100\n遭事制宜|0x1000000|100\n遭遇不偶|0x1000000|100\n遭遇际会|0x1000000|100\n遭遇运会|0x1000000|100\n遭遇战|0x100000|36760\n糟糠之妻|0x800000|983\n糟糠之妻不下堂|0x0000|100\n凿壁偷光|0x1000000|1131\n凿骨捣髓|0x1000000|100\n凿龟数策|0x0000|100\n凿坏而遁|0x1000000|100\n凿坏以遁|0x1000000|100\n凿空取办|0x1000000|100\n凿空投隙|0x1000000|100\n凿空之论|0x100000|100\n凿孔机|0x100000|0\n凿坯而遁|0x1000000|100\n凿隧入井|0x800000|100\n凿岩机|0x100000|1048\n凿饮耕食|0x1000000|100\n凿楹纳书|0x1000000|100\n凿凿可据|0x0000|100\n凿凿有据|0x800000|1228\n凿柱取书|0x1000000|100\n早班车|0x100000|981\n早产儿|0x100000|42357\n早朝晏罢|0x1000000|100\n早出暮归|0x1000000|100\n早出晚归|0x1000000|811\n早代测验|0x0008|0\n早稻田|0x100000|1459\n早点儿|0x100000|873\n早韭晚菘|0x0000|100\n早期白话|0x800000|976\n早期教育|0x100000|529\n早上好|0x800000|536\n早踏一步|0x400000|0\n早下一步|0x400000|0\n早一点|0x100000|554\n早已有之|0x0000|391\n早早儿|0x8000000|39646\n早占勿药|0x800000|100\n早知今日|0x800000|950\n早自习|0x0000|45772\n早走一步|0x400000|0\n枣红色|0x0000|44581\n枣强县|0x0040|1475\n枣阳市|0x0040|1485\n枣椰树|0x100000|1249\n枣庄市|0x0040|1312\n澡垢索疵|0x1000000|100\n澡身浴德|0x1000000|100\n藻类学|0x0008|0\n藻类植物|0x100000|1139\n灶王爷|0x100000|36761\n皂白不分|0x800000|1341\n皂角刺|0x0008|0\n皂丝麻线|0x100000|100\n造币厂|0x0000|428\n造车合辙|0x1000000|100\n造成危害|0x0000|494\n造成直接经济损失|0x0000|417\n造船厂|0x100000|851\n造船工业|0x100000|3\n造船系|0x100000|1312\n造船业|0x100000|982\n造次颠沛|0x1000000|100\n造次行事|0x0000|100\n造端倡始|0x1000000|100\n造端讬始|0x1000000|100\n造恶不悛|0x1000000|100\n造化小儿|0x100000|1296\n造极登峰|0x1000000|0\n造价工程师|0x100000|522\n造价师|0x100000|451\n造价员|0x100000|379\n造茧自缚|0x1000000|100\n造句法|0x0008|0\n造陆运动|0x800000|1261\n造谋布阱|0x0000|100\n造谋布穽|0x1000000|100\n造山运动|0x100000|1070\n造微入妙|0x1000000|100\n造物主|0x100000|31933\n造斜工具|0x0008|0\n造型机|0x0008|1167\n造型艺术|0x100000|907\n造言捏词|0x1000000|100\n造言生事|0x1000000|100\n造谣惑众|0x1000000|41151\n造谣生非|0x1000000|100\n造谣生事|0x1000000|1039\n造谣中伤|0x1000000|46640\n造因得果|0x1000000|100\n造因结果|0x1000000|100\n造纸厂|0x100000|756\n造纸工业|0x0008|949\n造纸术|0x100000|1020\n造纸业|0x100000|964\n造作矫揉|0x1000000|100\n噪声控制|0x0008|960\n噪声污染|0x100000|950\n噪声系数|0x0008|0\n噪音量|0x100000|0\n躁动不安|0x800000|815\n躁狂症|0x0008|1078\n躁言丑句|0x1000000|100\n则安之|0x800000|825\n择地而蹈|0x1000000|100\n择肥而噬|0x1000000|1412\n择福宜重|0x1000000|1310\n择邻而居|0x0000|100\n择善而从|0x1000000|46641\n择善而行|0x1000000|100\n择优录取|0x0000|505\n择优录用|0x800000|1063\n择优取向|0x0008|0\n择主而事|0x0000|100\n泽被后世|0x800000|1210\n泽及枯骨|0x1000000|100\n泽库县|0x0040|1151\n泽普县|0x0040|1079\n泽吻磨牙|0x1000000|100\n泽州县|0x0040|1616\n责备求全|0x1000000|100\n责权利|0x100000|31701\n责任保险|0x100000|523\n责任编辑|0x100000|37467\n责任感|0x100000|3842\n责任内阁|0x100000|1271\n责任区|0x100000|1026\n责任人|0x100000|6165\n责任事故|0x800000|21019\n责任书|0x100000|13482\n责任田|0x100000|17883\n责任险|0x100000|552\n责任心|0x100000|9874\n责任意识|0x100000|540\n责任者|0x100000|916\n责任制|0x100000|3743\n责任状|0x100000|17932\n责实循名|0x1000000|100\n责无旁贷|0x1000000|16837\n责有所归|0x1000000|100\n责有攸归|0x1000000|1263\n啧有烦言|0x1000000|43568\n啧啧称奇|0x800000|897\n啧啧称羡|0x0000|52112\n啧啧称赞|0x800000|990\n齰舌缄唇|0x0000|100\n昃食宵衣|0x0000|100\n贼臣乱子|0x1000000|100\n贼臣逆子|0x1000000|100\n贼骨头|0x100000|1201\n贼喊捉贼|0x1000000|50814\n贼溜溜|0x0100|48969\n贼眉鼠眼|0x1000000|49680\n贼眉贼眼|0x1000000|1284\n贼去关门|0x1000000|0\n贼人胆虚|0x1000000|100\n贼人心虚|0x1000000|100\n贼头狗脑|0x1000000|100\n贼头鬼脑|0x1000000|100\n贼头鼠脑|0x1000000|100\n贼头贼脑|0x1000000|49324\n贼心不死|0x800000|1011\n贼子乱臣|0x1000000|100\n贼走关门|0x1000000|100\n怎敢不低头|0x0008|100\n怎么办|0x10000|488\n怎么得了|0x800000|37828\n怎么的|0x0000|18681\n怎么回事|0x0000|699\n怎么会|0x10000|824\n怎么说|0x4000000|756\n怎么样|0x10000|2899\n怎么着|0x10000|13168\n怎样才能|0x4000000|655\n怎样用|0x4000000|540\n谮下谩上|0x1000000|100\n曾不惨然|0x0000|100\n曾参杀人|0x1000000|1202\n曾几何时|0x1000000|21379\n曾经沧海|0x1000000|38059\n曾经沧海难为水|0x0000|478\n曾母投杼|0x0000|100\n曾孙女|0x100000|53065\n曾文水库|0x0040|1112\n曾无与二|0x400000|100\n曾用名|0x100000|933\n曾祖父|0x100000|32851\n曾祖母|0x100000|43807\n增白剂|0x100000|40934\n增产节约|0x0008|0\n增长点|0x100000|7592\n增长率|0x100000|5273\n增长速度|0x0008|645\n增长性|0x0008|1076\n增城市|0x0040|1307\n增稠剂|0x0008|1482\n增订本|0x100000|991\n增光添彩|0x0000|44305\n增加量|0x100000|1088\n增加率|0x0008|1213\n增加三倍|0x400000|2\n增加一倍|0x400000|27\n增减额|0x100000|1319\n增量调制|0x0008|0\n增强塑料|0x0008|0\n增溶作用|0x0008|0\n增收节支|0x1000000|20685\n增塑剂|0x100000|903\n增透膜|0x100000|1192\n增为三倍|0x400000|0\n增效剂|0x0008|1589\n增压泵|0x100000|992\n增氧机|0x100000|1119\n增音机|0x100000|1536\n增值税|0x100000|7294\n增值税发票|0x100000|491\n增值税专用发票|0x100000|519\n增殖率|0x100000|1355\n增砖添瓦|0x1000000|0\n憎爱分明|0x0000|100\n锃光瓦亮|0x800000|54079\n甑尘釜鱼|0x1000000|100\n赠阅本|0x100000|1519\n扎耳朵|0x40000000|1176\n扎根串连|0x1000000|1510\n扎赉特旗|0x0040|1087\n扎兰屯|0x0040|970\n扎兰屯市|0x0040|1624\n扎鲁特旗|0x0040|1072\n扎猛子|0x1000|1198\n扎囊县|0x0040|1194\n扎瓦赫里|0x0080|150\n扎伊尔|0x0040|1048\n扎扎实实|0x0100|779\n札达县|0x0040|1227\n札手舞脚|0x1000000|100\n轧道车|0x100000|1541\n轧道机|0x100000|1531\n轧钢厂|0x100000|868\n轧钢机|0x100000|1086\n轧花机|0x100000|41601\n闸北区|0x0040|1248\n眨眼间|0x0000|31471\n眨眼睛|0x0000|566\n乍毛变色|0x1000000|100\n乍暖还寒|0x1000000|48970\n乍一看|0x400000|513\n诈败佯输|0x1000000|100\n诈痴不颠|0x1000000|100\n诈痴佯呆|0x1000000|100\n诈奸不及|0x1000000|0\n诈骗犯|0x100000|1010\n诈骗者|0x100000|1133\n诈骗罪|0x100000|914\n诈欺罪|0x0008|1266\n诈哑佯聋|0x0000|100\n炸鸡腿|0x0000|409\n炸酱面|0x0008|859\n炸薯条|0x100000|954\n炸丸子|0x100000|1160\n炸药包|0x100000|33470\n榨油厂|0x100000|1018\n榨油机|0x100000|905\n榨汁机|0x100000|802\n斋戒日|0x4000|1279\n斋心涤虑|0x1000000|100\n摘胆剜心|0x0000|100\n摘瓜抱蔓|0x1000000|100\n摘句寻章|0x1000000|100\n摘帽子|0x0000|42832\n摘桃子|0x0000|49681\n摘瑕指瑜|0x1000000|100\n摘艳熏香|0x0000|100\n摘艳薰香|0x0000|100\n摘埴索涂|0x1000000|100\n宅基地|0x100000|15238\n宅心忠厚|0x0000|100\n宅中图大|0x1000000|100\n窄带滤波器|0x0008|0\n窄门窄户|0x0000|100\n债多不愁|0x800000|100\n债各有主|0x1000000|1541\n债权国|0x100000|1113\n债权人|0x100000|12955\n债权团|0x100000|0\n债权债务|0x100000|518\n债券持有人|0x100000|392\n债券市场|0x100000|560\n债台高筑|0x1000000|32460\n债务国|0x100000|1186\n债务人|0x100000|18019\n债有主|0x100000|1052\n债转股|0x100000|990\n沾风惹草|0x1000000|100\n沾花惹草|0x1000000|53548\n沾化县|0x0040|1051\n沾泥带水|0x1000000|100\n沾亲带故|0x1000000|42833\n沾亲带友|0x1000000|100\n沾益县|0x0040|1038\n沾沾自好|0x1000000|100\n沾沾自满|0x1000000|100\n沾沾自喜|0x1000000|24673\n沾沾自衒|0x1000000|100\n毡上拖毛|0x1000000|100\n毡袜裹脚靴|0x0008|1310\n粘弹性|0x100000|1135\n粘度计|0x0008|1454\n粘度指数改进剂|0x0008|0\n粘合剂|0x100000|755\n粘乎乎|0x0100|931\n粘糊糊|0x100000|967\n粘花惹草|0x0000|100\n粘均分子量|0x0008|0\n粘皮带骨|0x800000|100\n粘土砖|0x100000|1041\n粘性力|0x100000|0\n粘性消失法|0x0008|0\n粘液囊腺瘤|0x0008|0\n粘液囊肿|0x0008|0\n粘液腺癌|0x0008|0\n詀言詀语|0x1000000|100\n詹姆士|0x0008|1400\n詹姆斯|0x0080|1101\n詹言曲说|0x1000000|100\n詹詹炎炎|0x1000000|100\n瞻前顾后|0x1000000|30235\n瞻情顾意|0x0000|100\n瞻望咨嗟|0x0000|100\n瞻云就日|0x0000|100\n鹯视狼顾|0x1000000|100\n斩波器|0x100000|1252\n斩草除根|0x1000000|37656\n斩钉截铁|0x1000000|17767\n斩钉切铁|0x1000000|100\n斩竿揭木|0x1000000|100\n斩钢截铁|0x1000000|100\n斩关夺隘|0x1000000|100\n斩将搴旗|0x800000|100\n斩将刈旗|0x1000000|100\n斩尽杀绝|0x1000000|44056\n斩荆披棘|0x1000000|0\n斩六将|0xc00000|1\n斩木揭竿|0x1000000|100\n斩头沥血|0x1000000|100\n斩头去尾|0x800000|1264\n展翅高飞|0x0000|100\n展脚伸腰|0x1000000|0\n展开式|0x20000000|1127\n展览馆|0x100000|17834\n展览会|0x100000|7232\n展览品|0x100000|1057\n展览室|0x0008|1037\n展览厅|0x100000|958\n展览业|0x100000|461\n展示会|0x100000|802\n展望未来|0x0000|529\n展弦比|0x100000|1254\n展销会|0x100000|19546\n展眼舒眉|0x1000000|0\n崭露头角|0x1000000|20975\n崭露头脚|0x0000|100\n辗转反侧|0x1000000|28689\n占便宜|0x1000|23842\n占卜术|0x100000|1104\n占卜者|0x0000|409\n占地面积|0x100000|658\n占多数|0x0000|486\n占风使帆|0x1000000|100\n占风望气|0x1000000|100\n占领军|0x100000|31365\n占领区|0x100000|1009\n占领者|0x100000|1103\n占山为王|0x0000|49328\n占上风|0x800000|26590\n占为己有|0x0000|484\n占位性|0x100000|1148\n占星家|0x0000|378\n占星术|0x100000|51672\n占星学|0x0008|449\n占用率|0x0000|486\n占优势|0x1000|782\n占有量|0x100000|937\n占有率|0x100000|663\n占有权|0x100000|1097\n占有一席之地|0x400000|505\n占主导地位|0x0000|502\n战败国|0x100000|1001\n战不旋踵|0x0000|100\n战斗轰炸机|0x0008|430\n战斗机|0x100000|12305\n战斗舰|0x100000|55055\n战斗力|0x100000|5057\n战斗任务|0x0008|14\n战斗性|0x100000|1065\n战斗英雄|0x0008|8\n战斗员|0x100000|39439\n战斗者|0x100000|1126\n战而胜之|0x0000|45774\n战俘营|0x100000|1031\n战国策|0x100000|914\n战国七雄|0x400000|0\n战国时代|0x0000|539\n战国时期|0x100000|536\n战火纷飞|0x1000000|908\n战技术|0x0008|1203\n战兢兢|0x0100|1178\n战利品|0x100000|28891\n战列舰|0x100000|48584\n战略部署|0x0000|515\n战略地位|0x0000|510\n战略方针|0x0008|25\n战略防御|0x0008|4\n战略规划|0x100000|559\n战略轰炸|0x0008|4\n战略轰炸机|0x0008|130\n战略伙伴|0x100000|525\n战略家|0x100000|881\n战略决策|0x100000|834\n战略目标|0x0000|593\n战略思维|0x100000|458\n战略武器|0x0008|43\n战略物资|0x800000|40937\n战略性|0x100000|729\n战略研究|0x100000|531\n战略意义|0x0000|523\n战略战术|0x100000|888\n战胜国|0x100000|1003\n战术轰炸|0x0008|0\n战术轰炸机|0x0008|0\n战天斗地|0x1000000|1069\n战无不克|0x1000000|1191\n战无不胜|0x1000000|32461\n战战惶惶|0x1000000|100\n战战兢兢|0x1000000|18382\n战战栗栗|0x1000000|1227\n战战业业|0x1000000|100\n战争场面|0x100000|473\n战争贩子|0x100000|53550\n战争论|0x100000|380\n战争片|0x0008|778\n战争险|0x0008|0\n战争与和平|0x100000|882\n栈山航海|0x1000000|100\n站不住脚|0x800000|856\n站得住|0x40000000|453\n站得住脚|0x800000|990\n站柜台|0x1000|40068\n站内搜索|0x0000|678\n站台票|0x100000|48230\n站务员|0x100000|1194\n站住脚|0x1000|929\n湛恩汪濊|0x1000000|100\n湛江港|0x100000|399\n湛江市|0x0040|1264\n湛蓝湛蓝|0x0100|0\n湛湛青天|0x100000|1230\n张北县|0x0040|1635\n张本继末|0x1000000|100\n张伯伦|0x0008|1494\n张敞画眉|0x0000|100\n张唇植髭|0x0000|100\n张大其词|0x1000000|100\n张大其辞|0x0000|100\n张大其事|0x0000|100\n张灯结采|0x1000000|0\n张灯结彩|0x1000000|23727\n张公吃酒李公颠|0x0008|100\n张公吃酒李公醉|0x0008|100\n张冠李戴|0x1000000|35308\n张慌失措|0x0000|100\n张皇其事|0x0000|100\n张皇失措|0x1000000|45775\n张徨失措|0x1000000|100\n张惶失措|0x1000000|1239\n张家川回族自治县|0x0040|1153\n张家港|0x0040|1013\n张家港市|0x0040|1085\n张家界|0x0040|1019\n张家界市|0x0040|1285\n张家口|0x0040|1168\n张家口市|0x0040|1299\n张甲李乙|0x1000000|0\n张口掉舌|0x1000000|100\n张口结舌|0x1000000|31248\n张力计|0x0008|1065\n张良借箸|0x0000|100\n张量分析|0x0008|0\n张量积|0x100000|0\n张脉偾兴|0x1000000|100\n张眉努目|0x1000000|100\n张眉努眼|0x1000000|100\n张眉张眼|0x1000000|100\n张袂成帷|0x1000000|100\n张袂成阴|0x1000000|100\n张目一看|0x400000|0\n张三李四|0x1400000|41623\n张王李赵|0x1000000|1275\n张王赵李|0x800000|100\n张牙舞爪|0x1000000|30124\n张眼露睛|0x1000000|100\n张眼一看|0x400000|0\n张掖市|0x0040|1445\n张嘴挢舌|0x1000000|100\n章甫荐履|0x0000|100\n章回体|0x100000|48974\n章回小说|0x100000|40494\n章句小儒|0x0000|100\n章句之徒|0x0000|100\n章丘市|0x0040|1392\n章台杨柳|0x0000|100\n章太炎|0x100000|1557\n章学诚|0x100000|1127\n彰化人|0x100000|0\n彰化市|0x0040|1048\n彰化县|0x0040|1418\n彰明较著|0x1000000|54081\n彰明较着|0x0000|100\n彰明昭著|0x1000000|100\n彰明昭着|0x0000|100\n彰善瘅恶|0x1000000|1315\n彰往考来|0x1000000|0\n彰武县|0x0040|1085\n漳平市|0x0040|1597\n漳浦县|0x0040|1541\n漳州市|0x0040|1226\n獐麇马鹿|0x800000|100\n獐头鼠目|0x1000000|55056\n樟脑丸|0x100000|50817\n樟脑油|0x100000|1219\n樟树市|0x0040|1590\n涨停板|0x100000|868\n掌舵人|0x100000|993\n掌柜的|0x0000|14169\n掌门人|0x0000|34894\n掌上电脑|0x100000|29702\n掌上观文|0x1000000|100\n掌上观纹|0x1000000|0\n掌上明珠|0x1000000|36085\n掌勺儿|0x1000|43809\n掌声雷动|0x800000|897\n丈八蛇矛|0x400000|0\n丈二和尚|0x400000|928\n丈二和尚摸不着头脑|0x400008|1\n丈二金刚|0x400000|0\n丈母娘|0x100000|24477\n仗节死义|0x1000000|0\n仗马寒蝉|0x1000000|100\n仗气使酒|0x0000|100\n仗势欺人|0x1000000|47573\n仗义疏财|0x1000000|48585\n仗义执言|0x1000000|33853\n帐号密码|0x100000|538\n杖履相从|0x1000000|100\n杖履纵横|0x1000000|100\n障碍赛|0x0000|431\n障碍赛跑|0x800000|1262\n障碍物|0x100000|21937\n障眼法|0x100000|45776\n瘴乡恶土|0x0000|100\n瘴雨蛮烟|0x1000000|100\n招兵买马|0x1000000|34895\n招财进宝|0x800000|904\n招待费|0x100000|990\n招待会|0x100000|3549\n招待券|0x100000|1187\n招待所|0x100000|11076\n招待员|0x100000|1097\n招风揽火|0x1000000|100\n招风惹草|0x1000000|1366\n招风惹雨|0x1000000|100\n招蜂惹蝶|0x1000000|1246\n招蜂引蝶|0x1000000|884\n招呼站|0x0000|379\n招花惹草|0x1000000|1368\n招架不住|0x800000|831\n招降纳叛|0x1000000|1180\n招军买马|0x1000000|1386\n招女婿|0x1000|52570\n招聘广告|0x0000|528\n招聘启事|0x0008|2\n招聘制|0x100000|1269\n招权纳贿|0x1000000|1368\n招权纳赂|0x1000000|100\n招权纳赇|0x1000000|100\n招商局|0x100000|797\n招商银行|0x0020|1080\n招商引资|0x800000|610\n招生办公室|0x100000|535\n招生简章|0x100000|694\n招生人数|0x100000|505\n招事惹非|0x1000000|100\n招是搬非|0x1000000|100\n招是揽非|0x1000000|100\n招是惹非|0x1000000|100\n招是生非|0x1000000|100\n招贴画|0x100000|34896\n招亡纳叛|0x1000000|100\n招贤纳士|0x1000000|636\n招摇过市|0x1000000|31814\n招摇撞骗|0x1000000|35152\n招远市|0x0040|1453\n招灾揽祸|0x1000000|100\n招灾惹祸|0x1000000|1280\n招招手|0x100000|896\n招之即来|0x800000|47888\n昭德塞违|0x1000000|100\n昭觉县|0x0040|1169\n昭聋发聩|0x1000000|0\n昭平县|0x0040|1611\n昭然若揭|0x1000000|38032\n昭如日星|0x0000|100\n昭苏县|0x0040|1087\n昭通市|0x0040|1472\n昭昭在目|0x800000|100\n找不到|0x0000|839\n找茬儿|0x1000|44058\n找碴儿|0x1000|1179\n找岔子|0x1000|1204\n找出路|0x800000|939\n找到啦|0x0008|1606\n找工作|0x100000|541\n找麻烦|0x1000|27824\n找门路|0x0000|40939\n找米下锅|0x0000|53552\n找平层|0x0000|372\n找婆家|0x0000|50821\n找窍门|0x0000|53554\n找上门|0x1000|751\n沼气池|0x100000|927\n沼泽地|0x100000|26860\n沼泽化|0x100000|0\n沼泽学|0x0008|0\n沼泽植物|0x0008|0\n召集令|0x0000|417\n召集人|0x100000|29284\n召开会议|0x0000|567\n召之即来|0x1000000|1041\n兆载永劫|0x1000000|1386\n诏安县|0x0040|1597\n赵公元帅|0x0080|52114\n赵州桥|0x100000|1643\n赵紫阳|0x0000|428\n照本宣科|0x1000000|35461\n照抄一遍|0x400000|0\n照抄一次|0x400000|0\n照度计|0x0008|1454\n照功行赏|0x0000|100\n照顾性|0x100000|1\n照葫芦画瓢|0x0008|50822\n照镜子|0x100000|671\n照猫画虎|0x1000000|42359\n照面儿|0x0000|24212\n照明弹|0x100000|37469\n照明灯|0x100000|38817\n照明设备|0x0008|892\n照明设计|0x0008|0\n照排机|0x100000|50823\n照片打印机|0x100000|491\n照片儿|0x100000|0\n照片集|0x100000|512\n照人肝胆|0x1000000|100\n照相版|0x100000|1385\n照相簿|0x100000|50824\n照相馆|0x100000|24544\n照相机|0x100000|11655\n照相术|0x100000|1176\n照相纸|0x100000|1243\n照妖镜|0x100000|47575\n照叶林|0x100000|1363\n照萤映雪|0x0000|100\n照章办事|0x800000|1057\n肇东市|0x0040|1544\n肇庆市|0x0040|1291\n肇事人|0x100000|1152\n肇事者|0x100000|835\n肇源县|0x0040|1040\n肇州县|0x0040|1050\n遮蔽物|0x0000|381\n遮蔽罩|0x0008|1542\n遮地盖天|0x1000000|100\n遮地漫天|0x1000000|100\n遮风挡雨|0x800000|851\n遮盖住|0x0000|440\n遮光板|0x100000|1211\n遮空蔽日|0x1000000|100\n遮目鱼|0x100000|1402\n遮前掩后|0x1000000|100\n遮人耳目|0x1000000|1159\n遮人眼目|0x1000000|100\n遮三瞒四|0x1400000|0\n遮天蔽日|0x1000000|31936\n遮天盖地|0x1000000|50443\n遮天盖日|0x1000000|100\n遮天迷地|0x1000000|100\n遮天映日|0x1000000|100\n遮羞布|0x100000|41157\n遮掩耳目|0x1000000|100\n遮眼法|0x100000|1400\n遮阳板|0x100000|945\n遮阳镜|0x0000|55979\n遮阳帽|0x100000|45474\n遮阳篷|0x100000|55060\n遮阳伞|0x100000|36928\n遮遮盖盖|0x0008|0\n遮遮掩掩|0x0100|829\n折长补短|0x1000000|100\n折冲厌难|0x1000000|100\n折冲御侮|0x1000000|100\n折冲之臣|0x1000000|100\n折冲尊俎|0x1000000|100\n折冲樽俎|0x1000000|54083\n折叠床|0x100000|53555\n折叠机|0x0008|1440\n折叠门|0x0008|1587\n折叠式|0x0008|46072\n折叠椅|0x100000|44888\n折鼎覆餗|0x1000000|100\n折而族之|0x0000|100\n折槁振落|0x1000000|100\n折跟头|0x1000|0\n折戟沉沙|0x1000000|52571\n折箭为誓|0x0000|100\n折胶堕指|0x1000000|0\n折节读书|0x0000|100\n折节下士|0x0000|100\n折旧费|0x100000|35613\n折旧基金|0x0008|0\n折旧率|0x0008|41388\n折矩周规|0x1000000|100\n折扣店|0x100000|576\n折扣率|0x100000|1047\n折射波|0x0008|0\n折射角|0x100000|1287\n折射率|0x0008|962\n折射线|0x100000|1535\n折算率|0x0008|1050\n折腰五斗|0x400000|100\n折中主义|0x0000|51675\n折衷主义|0x100000|1099\n折子戏|0x100000|31473\n折足覆餗|0x1000000|100\n哲里木盟|0x100000|1154\n哲人其萎|0x1000000|1250\n哲学家|0x100000|675\n哲学社会科学|0x100000|521\n哲学史|0x100000|864\n哲学思想|0x100000|833\n哲学系|0x100000|855\n哲学原理|0x100000|494\n詟谀立懦|0x1000000|100\n辙乱旂靡|0x1000000|100\n辙乱旗靡|0x1000000|0\n者也之乎|0x0000|100\n赭黄色|0x100000|52572\n赭石色|0x100000|1174\n赭衣塞路|0x800000|100\n这个笨蛋|0x100000|469\n这个城市|0x100000|634\n这个词|0x100000|660\n这个地方|0x100000|663\n这个冬天|0x100000|513\n这个房间|0x100000|528\n这个概念|0x100000|568\n这个故事|0x100000|641\n这个话题|0x100000|588\n这个家伙|0x0000|637\n这个名字|0x100000|678\n这个男人|0x100000|649\n这个女孩|0x100000|594\n这个女人|0x100000|646\n这个软件|0x100000|684\n这个时代|0x100000|599\n这个时候|0x0000|747\n这个世界|0x100000|739\n这个问题|0x0000|808\n这个夏天|0x100000|517\n这个消息|0x100000|644\n这个游戏|0x0000|667\n这个月|0x0000|603\n这会儿|0x10000|11114\n这就是说|0x100000|9915\n这里边|0x100000|475\n这么点儿|0x800000|47266\n这么多|0x0000|832\n这么帅|0x100000|503\n这么些|0x10000|20146\n这么样|0x10000|36405\n这么一来|0x400000|5\n这么着|0x10000|19576\n这篇文章|0x0000|710\n这山望着那山高|0x0008|1028\n这时候|0x4000|511\n这些日子|0x100000|605\n这样才能|0x100000|650\n这样的话|0x800000|562\n这样一来|0xc00000|9607\n这一次|0x400000|751\n这一点|0x100000|821\n这一回|0x400000|568\n这一来|0x10400000|3\n这一下|0xc00000|5\n这一阵|0x0000|19507\n这一阵子|0x400000|2\n这种方法|0x0000|450\n这种情况|0x0000|750\n柘城县|0x0040|1582\n柘荣县|0x0040|1576\n浙贝母|0x100000|1161\n浙江大学|0x0020|1080\n浙江地区|0x100000|455\n浙江电信|0x100000|501\n浙江工业大学|0x100000|472\n浙江杭州|0x100000|591\n浙江旅游|0x100000|408\n浙江宁波|0x100000|555\n浙江人|0x100000|859\n浙江日报|0x100000|853\n浙江省|0x0040|798\n浙江省委|0x100000|466\n浙江温州|0x100000|560\n鹧鸪菜|0x100000|1359\n鹧鸪天|0x100000|445\n贞不绝俗|0x1000000|100\n贞操带|0x100000|454\n贞丰县|0x0040|1109\n贞风亮节|0x1000000|100\n贞高绝俗|0x0000|100\n贞观之治|0x0008|877\n贞松劲柏|0x1000000|100\n贞下起元|0x1000000|100\n贞元会合|0x1000000|100\n针鼻儿|0x100000|51232\n针砭时弊|0x1000000|968\n针刺麻醉|0x800000|1236\n针对性|0x100000|616\n针纺织品|0x100000|773\n针锋相对|0x1000000|17909\n针尖对麦芒|0x0008|959\n针尖儿对麦芒儿|0x0008|54086\n针芥相投|0x1000000|100\n针芥之合|0x1000000|100\n针芥之契|0x1000000|100\n针芥之投|0x1000000|100\n针灸大成|0x0008|0\n针灸甲乙经|0x0008|0\n针灸疗法|0x0008|0\n针式打印机|0x0000|473\n针梳机|0x100000|1304\n针头线脑|0x800000|42835\n针头线尾|0x1000000|100\n针头削铁|0x1000000|100\n针线包|0x100000|50444\n针线盒|0x100000|1105\n针线活|0x100000|989\n针线活儿|0x0000|37115\n针叶林|0x100000|1033\n针叶树|0x100000|48232\n针织厂|0x100000|730\n针织机|0x0008|1066\n针织品|0x100000|43102\n针织物|0x100000|1050\n针织有限公司|0x100000|477\n针状物|0x0008|0\n侦察兵|0x100000|29599\n侦察机|0x100000|14232\n侦察连|0x100000|1078\n侦察卫星|0x0000|43811\n侦察员|0x100000|20147\n侦探片|0x100000|54087\n侦探小说|0x100000|15239\n侦听器|0x100000|1161\n珍宝岛|0x100000|1581\n珍藏品|0x100000|972\n珍禽奇兽|0x0000|100\n珍禽异兽|0x100000|43812\n珍稀动物|0x0008|475\n珍馐美馔|0x0000|100\n珍珠白|0x0000|464\n珍珠贝|0x100000|55548\n珍珠粉|0x100000|526\n珍珠港|0x0040|1298\n珍珠鸡|0x0008|1106\n珍珠米|0x100000|1094\n珍珠棉|0x100000|450\n珍珠母|0x0008|0\n珍珠奶茶|0x100000|552\n珍珠鸟|0x100000|389\n珍珠首饰|0x100000|394\n珍珠霜|0x0000|53072\n珍珠项链|0x0000|468\n珍珠岩|0x100000|448\n真本事|0x0000|29703\n真才实学|0x1000000|25390\n真刀真枪|0x1000000|911\n真独简贵|0x1000000|100\n真分数|0x100000|1226\n真格的|0x40000000|25936\n真核细胞|0x0008|0\n真假难辨|0x800000|916\n真金不镀|0x800000|100\n真金不怕火|0x0008|0\n真金不怕火炼|0x0008|1032\n真金烈火|0x1000000|0\n真空包装|0x100000|469\n真空泵|0x100000|782\n真空泵油|0x0008|0\n真空成型|0x0008|0\n真空除气器|0x100000|0\n真空袋|0x100000|395\n真空镀膜|0x100000|939\n真空干燥器|0x0008|0\n真空管|0x100000|54088\n真空机|0x100000|410\n真空机组|0x100000|416\n真空计|0x0008|1182\n真空技术|0x100000|392\n真空开关|0x100000|382\n真空炉|0x100000|369\n真空设备|0x100000|450\n真空铸造机|0x100000|0\n真理报|0x0008|1576\n真理教|0x100000|402\n真龙活现|0x1000000|100\n真龙天子|0x1000000|1053\n真面目|0x0008|17370\n真名实姓|0x800000|47576\n真命天子|0x1000000|796\n真皮沙发|0x100000|473\n真凭实据|0x1000000|35923\n真枪实弹|0x1000000|984\n真情实感|0x1000000|883\n真情实意|0x1000000|1031\n真人版|0x100000|550\n真人不露相|0x0008|1006\n真人铃声|0x100000|438\n真人真事|0x800000|862\n真善美|0x100000|18414\n真实地|0x0000|373\n真实感|0x100000|813\n真实气体|0x0008|0\n真实情况|0x0000|555\n真实性|0x100000|10573\n真受不了|0x0000|477\n真丝面料|0x100000|392\n真田广之|0x0080|474\n真伪莫辨|0x800000|1197\n真相毕露|0x0000|100\n真相大白|0x1000000|32201\n真心诚意|0x800000|859\n真心话|0x100000|26592\n真心实意|0x1000000|13073\n真心真意|0x1000000|690\n真凶实犯|0x1000000|100\n真赃实犯|0x1000000|1275\n真赃真贼|0x0000|100\n真脏实犯|0x0000|100\n真真假假|0x800000|802\n真真切切|0x0100|728\n真真正正|0x0008|742\n真知卓见|0x1000000|1245\n真知灼见|0x1000000|21887\n真主党|0x0020|910\n真抓实干|0x800000|892\n斟酌一下|0x400000|2\n甄奇录异|0x1000000|100\n甄心动惧|0x1000000|100\n诊断书|0x100000|41626\n诊断仪|0x100000|953\n诊疗室|0x0008|1025\n诊疗所|0x100000|53556\n枕边风|0x0000|49334\n枕典席文|0x1000000|100\n枕方寝绳|0x1000000|100\n枕干之雠|0x1000000|100\n枕戈尝胆|0x1000000|100\n枕戈达旦|0x1000000|1534\n枕戈待旦|0x1000000|46960\n枕戈待敌|0x1000000|100\n枕戈待命|0x1000000|100\n枕戈汗马|0x1000000|100\n枕戈击楫|0x1000000|100\n枕戈披甲|0x1000000|100\n枕戈泣血|0x1000000|100\n枕戈寝甲|0x1000000|100\n枕戈以待|0x1000000|100\n枕戈饮胆|0x1000000|100\n枕戈饮血|0x1000000|100\n枕戈剚刃|0x1000000|100\n枕戈坐甲|0x1000000|100\n枕籍经史|0x1000000|0\n枕经籍书|0x1000000|0\n枕冷衾寒|0x1000000|100\n枕流漱石|0x1000000|1344\n枕曲藉糟|0x0000|100\n枕麹藉糟|0x1000000|100\n枕山臂江|0x1000000|100\n枕山负海|0x1000000|100\n枕山襟海|0x1000000|100\n枕山栖谷|0x1000000|100\n枕善而居|0x1000000|100\n枕石寝绳|0x1000000|100\n枕石漱流|0x1000000|1196\n枕石嗽流|0x1000000|100\n枕头风|0x800000|1166\n枕头套|0x100000|397\n枕头箱|0x100000|1304\n枕稳衾温|0x1000000|100\n枕席过师|0x1000000|100\n枕席还师|0x1000000|100\n枕岩漱流|0x1000000|100\n枕中鸿宝|0x1000000|100\n阵地战|0x100000|37116\n阵发性|0x100000|964\n阵马风樯|0x0000|100\n振臂一呼|0xc00000|0\n振兵释旅|0x1000000|100\n振兵泽旅|0x1000000|100\n振荡器|0x100000|854\n振动计|0x0008|0\n振动觉|0x0008|0\n振动器|0x0008|1534\n振动筛|0x0008|1278\n振奋精神|0x0000|514\n振奋人心|0x1000000|833\n振翮高飞|0x1000000|0\n振领提纲|0x1000000|100\n振聋发聩|0x1000000|27755\n振贫济乏|0x0000|100\n振穷恤寡|0x1000000|100\n振穷恤贫|0x1000000|100\n振裘持领|0x1000000|100\n振兴实业|0x0008|0\n振兴中华|0x800000|885\n振衣濯足|0x0000|100\n振振有词|0x800000|26234\n振振有辞|0x1000000|917\n赈贫贷乏|0x1000000|100\n镇安县|0x0040|1103\n镇巴县|0x0040|1056\n镇定剂|0x100000|997\n镇定自若|0x1000000|34561\n镇公所|0x100000|1124\n镇江人|0x100000|1091\n镇江市|0x0040|1168\n镇静钢|0x0008|0\n镇静剂|0x100000|41390\n镇康县|0x0040|1162\n镇赉县|0x0040|1122\n镇流器|0x100000|46646\n镇平县|0x0040|1550\n镇坪县|0x0040|1159\n镇日镇夜|0x1000000|100\n镇痛剂|0x100000|1100\n镇雄县|0x0040|1036\n镇压器|0x0008|0\n镇原县|0x0040|1077\n镇远县|0x0040|1058\n镇政府|0x100000|832\n震耳欲聋|0x1000000|22436\n震古烁今|0x1000000|54616\n震古铄今|0x1000000|1144\n震撼力|0x100000|795\n震撼人心|0x1000000|750\n震聋发聩|0x1000000|100\n震天动地|0x800000|1002\n震天骇地|0x1000000|1535\n震天价|0x0000|53075\n震天价响|0x800000|1122\n争霸赛|0x100000|828\n争霸战|0x100000|915\n争长竞短|0x1000000|100\n争长论短|0x800000|55062\n争短论长|0x1000000|100\n争多论少|0x0000|100\n争夺战|0x100000|752\n争芳斗艳|0x1000000|1082\n争分夺秒|0x1000000|26235\n争风吃醋|0x1000000|37296\n争锋吃醋|0x1000000|100\n争功诿过|0x800000|1276\n争鸡失羊|0x1000000|100\n争斤论两|0x800000|1302\n争论不休|0x800000|799\n争猫丢牛|0x800000|100\n争名夺利|0x1000000|46961\n争名竞利|0x1000000|100\n争奇斗艳|0x800000|31583\n争前恐后|0x1000000|100\n争强斗狠|0x1000000|1178\n争强斗胜|0x1000000|1\n争强好胜|0x1000000|35759\n争强显胜|0x0000|100\n争权夺利|0x1000000|32958\n争权攘利|0x1000000|100\n争上游|0x0000|50827\n争先恐后|0x1000000|14886\n争妍斗艳|0x1000000|1127\n征兵制|0x0008|1211\n征服者|0x100000|825\n征购粮|0x100000|1536\n征敛无度|0x0000|100\n征名责实|0x0000|100\n征求意见|0x0008|646\n征文活动|0x0000|532\n征用土地|0x0000|477\n峥嵘岁月|0x800000|34729\n狰狞面目|0x800000|1066\n睁大眼睛|0x0000|578\n睁开眼睛|0x0000|658\n睁眼瞎|0x100000|43573\n睁眼瞎子|0x100000|1027\n睁一只眼|0x400000|1\n铮铮佼佼|0x1000000|100\n铮铮铁骨|0x1000000|43814\n铮铮铁汉|0x1000000|1165\n铮铮有声|0x0000|100\n蒸发计|0x0008|0\n蒸发量|0x100000|897\n蒸发皿|0x0008|1233\n蒸发器|0x100000|886\n蒸发热|0x0008|0\n蒸饭箱|0x0008|1251\n蒸馏釜|0x0008|0\n蒸馏器|0x100000|1075\n蒸馏水|0x100000|29920\n蒸气机|0x0008|1116\n蒸气浴|0x100000|1108\n蒸汽锤|0x100000|1394\n蒸汽房|0x100000|409\n蒸汽锅炉|0x100000|444\n蒸汽机|0x100000|21989\n蒸汽机车|0x100000|1\n蒸汽扩散|0x0008|0\n蒸汽浴|0x100000|55064\n蒸汽熨斗|0x0008|0\n蒸汽状|0x100000|0\n蒸沙成饭|0x800000|100\n蒸沙为饭|0x0000|100\n蒸蒸日上|0x1000000|19914\n拯溺扶危|0x0000|100\n整倍体|0x100000|0\n整本大套|0x1000000|100\n整顿干坤|0x0000|100\n整二次型|0x400000|0\n整纷剔蠹|0x1000000|100\n整风运动|0x0008|1590\n整改措施|0x0000|576\n整个过程|0x100000|614\n整个世界|0x100000|640\n整躬率物|0x0000|100\n整冠纳履|0x1000000|100\n整合营销|0x100000|796\n整甲缮兵|0x1000000|0\n整襟危坐|0x1000000|100\n整旧如新|0x800000|1306\n整军经武|0x1000000|1165\n整理表|0x100000|1168\n整理者|0x100000|1110\n整流二极管|0x400000|407\n整流管|0x0008|1082\n整流器|0x100000|809\n整流子|0x0008|377\n整旅厉卒|0x1000000|100\n整年累月|0x1000000|1534\n整齐划一|0xc00000|5\n整容手术|0x0008|12\n整容术|0x100000|1016\n整体厨房|0x100000|475\n整体橱柜|0x100000|447\n整体规划|0x100000|517\n整体素质|0x100000|586\n整体性|0x100000|809\n整天价|0x8000000|1173\n整形手术|0x100000|473\n整形术|0x100000|994\n整形外科|0x100000|842\n整形外科医院|0x0008|3\n整形医院|0x100000|452\n整型费|0x100000|0\n整衣敛容|0x1000000|100\n整整截截|0x1000000|100\n整整齐齐|0x0100|770\n整装待发|0x1000000|30128\n正安县|0x0040|1085\n正八面体群|0x400000|0\n正版软件|0x100000|820\n正本澄源|0x1000000|100\n正本清源|0x1000000|36408\n正比计数器|0x0008|0\n正比例|0x100000|50829\n正常化|0x1000|850\n正常人|0x100000|667\n正常性|0x100000|1010\n正常值|0x100000|916\n正处级|0x100000|1025\n正大光明|0x1000000|34138\n正大堂皇|0x1000000|100\n正大堂煌|0x1000000|100\n正当防卫|0x800000|33601\n正当竞争|0x0000|421\n正当年|0x1000|48233\n正当时|0x1000|42615\n正当中|0x2000000|51235\n正电荷|0x100000|1065\n正电子|0x100000|957\n正定县|0x0040|1531\n正断层|0x0008|0\n正多边形|0x100000|1095\n正多角形|0x100000|1291\n正多面体|0x0008|1265\n正儿八经|0xc00000|31127\n正儿巴经|0x0000|100\n正法眼藏|0x1000000|0\n正法直度|0x0000|100\n正反交|0x0008|0\n正反馈|0x0008|0\n正反两方面|0x0000|443\n正反面|0x100000|906\n正反器|0x100000|0\n正方体|0x100000|56008\n正方形|0x100000|23100\n正骨科|0x0008|0\n正冠李下|0x1000000|100\n正冠纳履|0x0000|100\n正规化|0x1000|852\n正规军|0x100000|28334\n正规战|0x100000|1196\n正交多项式|0x0008|0\n正交归一系|0x400000|0\n正襟危坐|0x1000000|28978\n正经八百|0xc00000|0\n正经八板|0x1400000|0\n正经八本|0x1400000|0\n正科级|0x100000|1039\n正蓝旗|0x0040|1611\n正离子|0x0008|1076\n正理平治|0x800000|1374\n正面教育|0x0000|462\n正面人物|0x800000|29704\n正面图|0x100000|1107\n正名定分|0x1000000|100\n正明公道|0x1000000|100\n正宁县|0x0040|1093\n正气歌|0x100000|1012\n正气凛然|0x800000|38615\n正前方|0x2000000|806\n正确处理|0x0000|589\n正确答案|0x100000|620\n正确地|0x0000|601\n正确对待|0x0000|539\n正确理解|0x0000|528\n正确率|0x100000|909\n正确认识|0x0000|575\n正确性|0x100000|694\n正人君子|0x1000000|22251\n正日子|0x0000|53076\n正容亢色|0x1000000|100\n正三角形|0x400000|1099\n正色敢言|0x0000|100\n正色厉声|0x1000000|100\n正色危言|0x0000|100\n正色直绳|0x1000000|100\n正色直言|0x0000|100\n正射影象地图|0x0008|0\n正身率下|0x0000|100\n正身明法|0x0000|100\n正身清心|0x0000|100\n正声雅音|0x0000|100\n正始之音|0x1000000|1321\n正式版|0x100000|742\n正式成立|0x0000|591\n正式工|0x100000|1052\n正式化|0x1000|1189\n正视绳行|0x1000000|100\n正视图|0x100000|1077\n正态分布|0x0008|986\n正体字|0x0008|0\n正统派|0x0008|1082\n正统主义|0x100000|0\n正投影|0x100000|1151\n正五边形|0x400000|2\n正五角形|0x400000|0\n正误表|0x100000|1347\n正弦波|0x0008|472\n正弦规|0x0008|376\n正弦曲线|0x100000|1013\n正相反|0x0000|469\n正镶白旗|0x0040|1146\n正心诚意|0x1000000|1142\n正言不讳|0x0000|100\n正言厉色|0x1000000|1237\n正言厉颜|0x1000000|100\n正言直谏|0x0000|100\n正颜厉色|0x1000000|50830\n正阳县|0x0040|1605\n正义感|0x100000|21413\n正义性|0x100000|1041\n正义战争|0x100000|0\n正音法|0x100000|1516\n正月初二|0x500000|0\n正月初三|0x400000|1\n正月初一|0x404000|7\n正在进行|0x0000|658\n正则奇点|0x0008|0\n正整数|0x0000|441\n正正当当|0x0100|1120\n正正经经|0x1000000|939\n正正气气|0x1000000|1387\n正正堂堂|0x1000000|100\n正正之旗|0x0000|100\n正直无私|0x0000|100\n正直无邪|0x0000|100\n正中己怀|0x0000|100\n正中下怀|0x1000000|44588\n正中央|0x0000|532\n正中要害|0x800000|918\n正字法|0x100000|1204\n证编号|0x100000|474\n证龟成鳖|0x1000000|100\n证婚人|0x100000|42837\n证监会|0x100000|676\n证件号码|0x100000|526\n证交所|0x100000|27827\n证据法|0x100000|412\n证据确凿|0x800000|914\n证据学|0x100000|368\n证类本草|0x0008|0\n证明人|0x100000|43352\n证明书|0x100000|31584\n证明文件|0x0000|577\n证明信|0x100000|47268\n证券报|0x100000|630\n证券法|0x100000|575\n证券公司|0x100000|697\n证券监管|0x100000|475\n证券交易|0x100000|686\n证券交易税|0x0008|0\n证券交易所|0x0008|735\n证券期货|0x100000|482\n证券日报|0x100000|469\n证券商|0x100000|1043\n证券时报|0x100000|554\n证券市场|0x100000|694\n证券行情|0x100000|456\n证券研究所|0x100000|476\n证券业|0x100000|525\n证人室|0x100000|0\n证人席|0x100000|1214\n证书编号|0x100000|535\n证治准绳|0x0008|0\n郑人买履|0x1000000|1176\n郑人实履|0x0000|100\n郑人争年|0x1000000|100\n郑卫之音|0x1000000|1241\n郑昭宋聋|0x1000000|100\n郑重其辞|0x1000000|100\n郑重其事|0x1000000|21555\n郑州大学|0x100000|525\n郑州路|0x0040|0\n郑州轻工业学院|0x100000|444\n郑州市|0x0040|944\n郑州铁路局|0x0020|1578\n政策措施|0x100000|595\n政策底|0x100000|400\n政策法规|0x100000|542\n政策规定|0x100000|829\n政策面|0x100000|514\n政策性|0x100000|758\n政策研究|0x0008|50\n政策研究室|0x100000|456\n政策优惠|0x100000|872\n政出多门|0x1000000|30129\n政法大学|0x0020|1157\n政法干部|0x0008|0\n政法委|0x100000|825\n政法委员会|0x100000|765\n政法学院|0x100000|841\n政府办公室|0x100000|425\n政府办公厅|0x100000|379\n政府部门|0x100000|645\n政府工作|0x100000|683\n政府工作报告|0x0000|578\n政府公告|0x100000|395\n政府公众|0x100000|416\n政府官员|0x0000|611\n政府机构|0x100000|708\n政府机关|0x100000|712\n政府军|0x100000|12233\n政府门户|0x100000|397\n政府特殊津贴|0x100000|480\n政府职能|0x100000|582\n政工师|0x100000|1071\n政和县|0x0040|1622\n政绩观|0x100000|506\n政纪处分|0x0000|475\n政简刑清|0x1000000|100\n政教处|0x100000|489\n政教合一|0x400000|1002\n政令不一|0x400000|100\n政论家|0x100000|37472\n政企不分|0x800000|1022\n政清人和|0x1000000|100\n政权机关|0x100000|4\n政通人和|0x1000000|26861\n政务官|0x100000|1110\n政务信息|0x100000|525\n政务院|0x100000|30015\n政协会议|0x100000|874\n政协全国委员会|0x0020|1720\n政协提案|0x100000|463\n政协委员|0x100000|676\n政协主席|0x0000|521\n政以贿成|0x1000000|100\n政由己出|0x1000000|100\n政治避难|0x1000|43104\n政治部|0x100000|546\n政治处|0x100000|988\n政治地理学|0x0008|1289\n政治斗争|0x0008|505\n政治犯|0x100000|29486\n政治纲领|0x0008|16\n政治工作|0x0008|614\n政治家|0x100000|6645\n政治教育|0x100000|577\n政治界|0x100000|1108\n政治经济|0x100000|704\n政治经济学|0x100000|774\n政治局|0x100000|692\n政治局常委|0x0000|549\n政治局委员|0x0000|545\n政治课|0x100000|825\n政治理论|0x100000|799\n政治论文|0x100000|398\n政治面目|0x100000|1128\n政治权利|0x800000|868\n政治人物|0x100000|502\n政治任务|0x0000|499\n政治上|0x0000|594\n政治生活|0x100000|775\n政治试题|0x100000|452\n政治思想|0x0000|546\n政治思想工作|0x0008|411\n政治素质|0x0000|541\n政治体制|0x0000|10003\n政治体制改革|0x0000|482\n政治委员|0x100000|927\n政治文明|0x100000|5839\n政治系|0x100000|956\n政治协商|0x100000|554\n政治协商会议|0x0008|11597\n政治性|0x100000|876\n政治学|0x100000|751\n政治学家|0x100000|1033\n政治运动|0x0008|6\n政治责任感|0x100000|476\n政治指导员|0x100000|1129\n政治制度|0x0008|543\n症候群|0x0000|509\n之乎者也|0x1000000|39440\n之死不渝|0x1000000|100\n之死靡二|0x1400000|0\n之死靡他|0x1000000|100\n之死靡它|0x1000000|100\n之所以|0x10000000|2265\n之字路|0x100000|0\n之字形|0x0000|379\n支部书记|0x0000|532\n支策据梧|0x1000000|100\n支撑点|0x100000|861\n支撑架|0x0008|1065\n支撑力|0x100000|975\n支持力|0x100000|1074\n支持率|0x100000|543\n支持系统|0x0000|545\n支持者|0x100000|696\n支床迭屋|0x0000|100\n支床叠屋|0x1000000|100\n支队长|0x100000|963\n支分节解|0x1000000|100\n支分族解|0x1000000|100\n支纷节解|0x1000000|100\n支离破碎|0x1000000|24674\n支配力|0x100000|1121\n支配权|0x100000|961\n支配者|0x0000|424\n支票簿|0x100000|1124\n支票打印机|0x100000|400\n支气管|0x100000|37119\n支气管扩张|0x100000|431\n支气管扩张症|0x100000|0\n支气管哮喘|0x0008|893\n支气管炎|0x100000|31703\n支手舞脚|0x1000000|100\n支委会|0x100000|35024\n支吾其词|0x1000|1159\n支原体|0x100000|921\n支招儿|0x0000|55066\n支支吾吾|0x1000000|822\n支支梧梧|0x1000000|0\n支柱产业|0x100000|744\n支着儿|0x1000|0\n芝艾俱焚|0x1000000|1313\n芝草无根|0x0000|100\n芝焚蕙叹|0x800000|100\n芝加哥|0x0040|1098\n芝加哥大学|0x0020|1424\n芝加哥学派|0x0008|0\n芝兰玉树|0x800000|1285\n芝兰之室|0x0000|100\n芝麻官|0x100000|39225\n芝麻酱|0x100000|41161\n芝麻油|0x100000|46648\n吱哩哇啦|0x1000000|100\n吱吱嘎嘎|0x80000|45475\n吱吱叫|0x0000|417\n吱吱喳喳|0x80000|44590\n枝别条异|0x1000000|100\n枝布叶分|0x1000000|100\n枝词蔓说|0x1000000|100\n枝词蔓语|0x1000000|1312\n枝辞蔓语|0x0000|100\n枝大于本|0x0000|100\n枝对叶比|0x1000000|100\n枝繁叶茂|0x800000|26307\n枝分缕解|0x1000000|0\n枝分叶散|0x1000000|100\n枝附叶从|0x1000000|100\n枝附叶连|0x1000000|100\n枝附叶著|0x1000000|100\n枝附叶着|0x0000|100\n枝附影从|0x1000000|100\n枝干相持|0x0000|100\n枝江市|0x0040|1526\n枝节横生|0x1000000|1125\n枝节性|0x100000|0\n枝流叶布|0x1000000|100\n枝末生根|0x1000000|100\n枝外生枝|0x1000000|100\n枝形吊灯|0x0008|1\n枝叶扶疏|0x1000000|1240\n枝叶扶苏|0x1000000|100\n枝叶相持|0x1000000|100\n枝源派本|0x1000000|100\n枝枝节节|0x0100|1143\n知白守黑|0x0000|100\n知本家|0x100000|1502\n知彼知己|0x800000|1075\n知不知道|0x1000|631\n知道了|0x0000|504\n知地知天|0x0000|100\n知恩报德|0x0000|100\n知恩报恩|0x800000|1187\n知恩图报|0x800000|865\n知法犯法|0x1000000|37297\n知根知底|0x800000|41628\n知更鸟|0x100000|47892\n知过必改|0x800000|1256\n知过能改|0x0000|100\n知己之遇|0x0000|100\n知己知彼|0x1000000|27906\n知尽能索|0x800000|100\n知觉力|0x100000|0\n知觉性|0x100000|0\n知来藏往|0x1000000|100\n知冷知热|0x800000|54091\n知名当世|0x0000|100\n知名度|0x100000|8599\n知名品牌|0x100000|652\n知名企业|0x100000|617\n知名人士|0x100000|813\n知命不忧|0x1000000|100\n知命乐天|0x0000|100\n知命之年|0x100000|100\n知难而进|0x1000000|20639\n知难而上|0x800000|1053\n知难而退|0x800000|34425\n知其然不知其所以然|0x0008|0\n知其一|0x401000|0\n知其一不|0x400000|0\n知其一不知其二|0x400000|0\n知其一而不知其二|0x400000|0\n知青点|0x0000|28335\n知情不报|0x800000|1\n知情不举|0x1000000|1111\n知情达理|0x1000000|1207\n知情权|0x100000|39024\n知情人|0x100000|24810\n知情者|0x100000|833\n知人论世|0x1000000|51681\n知人善任|0x1000000|31368\n知人下士|0x0000|100\n知人之明|0x1000000|51239\n知人知面不知心|0x0008|983\n知荣守辱|0x0000|100\n知识产权|0x100000|6357\n知识产权保护|0x0000|574\n知识产权局|0x100000|784\n知识产业|0x100000|54092\n知识点|0x100000|743\n知识分子|0x800000|2616\n知识工程|0x0008|0\n知识化|0x1000|931\n知识讲座|0x100000|528\n知识结构|0x0000|561\n知识界|0x100000|24259\n知识经济|0x100000|12061\n知识经济时代|0x100000|510\n知识竞赛|0x0000|575\n知识就是力量|0x0000|443\n知识库|0x100000|653\n知识面|0x100000|23565\n知识青年|0x800000|14887\n知识型|0x100000|516\n知识性|0x100000|815\n知书达礼|0x1000000|945\n知书达理|0x1000000|42362\n知疼着热|0x1000000|1278\n知疼着痒|0x0000|100\n知往鉴今|0x0000|100\n知微知彰|0x0000|100\n知我罪我|0x800000|100\n知无不言|0x1000000|914\n知无不言，言无不尽|0x0000|47893\n知小谋大|0x1000000|100\n知心话|0x100000|35464\n知心人|0x100000|42111\n知行合一|0x400000|0\n知雄守雌|0x1000000|1184\n知羞识廉|0x0000|100\n知一万毕|0x1400000|0\n知易行难|0x1000000|996\n知音卡|0x100000|378\n知遇之恩|0x800000|39441\n知之甚少|0x800000|844\n知之为知之|0x0008|969\n知止不殆|0x0000|100\n知子莫若父|0x0008|1152\n知足不辱|0x1000000|1125\n知足常乐|0x800000|44060\n知足者常乐|0x0000|396\n知足知止|0x0000|100\n织白守黑|0x100000|100\n织布厂|0x100000|776\n织布机|0x100000|970\n织楚成门|0x1000000|100\n织当访婢|0x800000|100\n织金县|0x0040|1065\n织锦缎|0x0000|44309\n织女星|0x0008|40940\n织田信长|0x0080|484\n织田裕二|0x400080|0\n织物组织|0x0008|0\n肢端肥大症|0x0008|0\n栀子花|0x100000|42616\n胝肩茧足|0x1000000|0\n脂蛋白|0x100000|929\n脂肪肝|0x100000|33716\n脂肪粒|0x100000|435\n脂肪瘤|0x0008|50054\n脂肪酶|0x0008|0\n脂肪酸|0x100000|22084\n脂肪体|0x0008|0\n脂肪性|0x100000|0\n脂粉气|0x100000|1023\n脂膏不润|0x1000000|100\n脂膏莫润|0x1000000|100\n脂质体|0x0008|407\n蜘蛛抱蛋|0x800000|1338\n蜘蛛精|0x0008|1538\n蜘蛛网|0x100000|29285\n蜘蛛侠|0x100000|589\n执笔人|0x100000|1086\n执鞭随蹬|0x1000000|100\n执鞭随镫|0x1000000|1337\n执鞭坠镫|0x1000000|1538\n执粗井灶|0x1000000|100\n执而不化|0x1000000|100\n执法必严|0x800000|1053\n执法不阿|0x0000|100\n执法不严|0x800000|955\n执法犯法|0x800000|43574\n执法机关|0x100000|913\n执法监督|0x100000|840\n执法检查|0x0008|553\n执法人员|0x0000|653\n执法如山|0x1000000|33355\n执法水平|0x0000|476\n执法者|0x100000|884\n执经问难|0x1000000|100\n执柯作伐|0x1000000|100\n执两用中|0x800000|1283\n执迷不反|0x1000000|100\n执迷不返|0x1000000|100\n执迷不悟|0x1000000|24545\n执迷不醒|0x1000000|100\n执牛耳|0x100000|48587\n执锐披坚|0x0000|100\n执委会|0x100000|12931\n执文害意|0x1000000|100\n执行长|0x100000|867\n执行工作|0x0008|9\n执行官|0x100000|690\n执行机构|0x0008|849\n执行情况|0x0000|608\n执行人|0x100000|924\n执行时间|0x0000|810\n执行庭|0x100000|1098\n执行委员会|0x0000|491\n执行者|0x100000|826\n执行主席|0x800000|960\n执意不从|0x0000|100\n执政党|0x100000|5966\n执政府|0x100000|42617\n执政官|0x100000|977\n执政者|0x100000|947\n侄女婿|0x100000|50447\n侄孙女|0x100000|50448\n侄媳妇|0x100000|46076\n直板机|0x100000|491\n直播室|0x100000|825\n直布罗陀|0x0040|1552\n直肠癌|0x100000|882\n直肠炎|0x0008|1148\n直肠子|0x100000|48237\n直达车|0x100000|1004\n直达快车|0x100000|1199\n直达声|0x0008|0\n直捣黄龙|0x1000000|988\n直道而行|0x1000000|1202\n直瞪瞪|0x0100|43105\n直盯盯|0x0100|1119\n直方图|0x100000|970\n直贡呢|0x0000|54622\n直勾勾|0x0100|29380\n直观教学|0x0008|0\n直观图|0x100000|1262\n直僵僵|0x0100|1224\n直角尺|0x100000|987\n直角三角|0x400000|0\n直角三角形|0x500000|0\n直角坐标|0x800000|989\n直接费用|0x0008|1\n直接关系|0x0000|561\n直接经济损失|0x0000|520\n直接经验|0x100000|51683\n直接了当|0x1000000|876\n直接贸易|0x0008|0\n直接染料|0x0008|1067\n直接税|0x100000|49337\n直接投资|0x0008|588\n直接选举|0x800000|21557\n直接支援|0x0008|1\n直捷了当|0x1000000|1317\n直截了当|0x1000000|16256\n直撅撅|0x0100|55069\n直觉性|0x100000|1102\n直觉主义|0x100000|0\n直口无言|0x1000000|100\n直来直去|0x800000|36580\n直愣愣|0x0100|53078\n直立茎|0x100000|1534\n直谅多闻|0x1000000|100\n直溜溜|0x0100|1189\n直流电|0x100000|38616\n直流电动机|0x0008|987\n直流电机|0x100000|866\n直流电源|0x100000|502\n直流发电机|0x0008|1168\n直馏汽油|0x0008|0\n直眉瞪眼|0x1000000|51685\n直眉楞眼|0x1000000|100\n直眉睖眼|0x1000000|100\n直眉怒目|0x1000000|100\n直木必伐|0x800000|100\n直木先伐|0x0000|100\n直内方外|0x1000000|100\n直扑无华|0x0000|100\n直情径行|0x1000000|1366\n直权无华|0x1000000|100\n直认不讳|0x1000000|1189\n直入公堂|0x1000000|100\n直上青云|0x1000000|100\n直上云霄|0x800000|1020\n直上直下|0x1000000|1036\n直升飞机|0x100000|833\n直升机|0x100000|6797\n直抒己见|0x1000000|1216\n直抒胸臆|0x1000000|957\n直挺挺|0x0100|22816\n直通车|0x100000|663\n直通通|0x0100|49338\n直筒子|0x100000|52118\n直系亲属|0x800000|31128\n直辖市|0x100000|3770\n直线导轨|0x100000|432\n直线筛|0x100000|385\n直线运动|0x0008|0\n直线轴承|0x100000|420\n直心眼儿|0x100000|0\n直性子|0x100000|51240\n直言不讳|0x1000000|21250\n直言极谏|0x1000000|1240\n直言贾祸|0x1000000|100\n直言切谏|0x1000000|100\n直言取祸|0x0000|100\n直言无讳|0x1000000|1183\n直言无隐|0x1000000|100\n直言勿讳|0x0000|100\n直言正谏|0x1000000|100\n直言正论|0x0000|100\n直言正色|0x1000000|100\n直译器|0x0008|0\n直属单位|0x0008|854\n直属机构|0x0000|455\n直属机关|0x800000|874\n直撞横冲|0x1000000|100\n值班人员|0x0000|523\n值班室|0x100000|18733\n值班员|0x100000|972\n值不值得|0x800000|787\n值得一看|0x400000|539\n值得一提|0xc00000|7\n值得一提的是|0x400008|75\n值日表|0x100000|1163\n值日生|0x100000|47580\n职称论文|0x100000|426\n职称评定|0x100000|901\n职称外语|0x100000|490\n职代会|0x100000|18790\n职工大学|0x100000|466\n职工代表|0x0000|535\n职工代表大会|0x0000|24613\n职工福利|0x0008|1\n职工工资|0x0000|512\n职工股|0x100000|488\n职工基本|0x100000|532\n职工教育|0x0008|912\n职工群众|0x100000|520\n职介所|0x100000|1070\n职能部门|0x100000|722\n职能作用|0x100000|517\n职务犯罪|0x100000|815\n职务工资|0x800000|53559\n职业病|0x100000|9148\n职业大学|0x0000|55551\n职业道德|0x100000|667\n职业道德规范|0x100000|445\n职业道德教育|0x100000|462\n职业服|0x100000|375\n职业服装|0x100000|420\n职业高中|0x800000|27666\n职业工会|0x0008|2\n职业顾问|0x100000|484\n职业规划|0x100000|526\n职业化|0x1000|12738\n职业技能|0x100000|642\n职业技术|0x100000|679\n职业技术教育|0x0008|499\n职业技术学校|0x100000|518\n职业技术学院|0x100000|640\n职业教育|0x0008|636\n职业介绍|0x0000|558\n职业介绍所|0x100000|905\n职业经理|0x100000|502\n职业联赛|0x100000|508\n职业女性|0x100000|551\n职业培训|0x100000|667\n职业杀手|0x0000|493\n职业生涯|0x100000|648\n职业生涯规划|0x100000|508\n职业性|0x100000|903\n职业选择|0x100000|893\n职业学校|0x0008|712\n职业学院|0x100000|589\n职业院校|0x100000|483\n职业指导|0x100000|854\n职业中学|0x100000|883\n职业中专|0x100000|502\n职业装|0x100000|49690\n职业资格|0x100000|639\n职业资格证书|0x100000|546\n植被型|0x100000|0\n植党营私|0x1000000|100\n植党自私|0x1000000|100\n植发冲冠|0x1000000|100\n植发穿冠|0x1000000|100\n植善倾恶|0x1000000|100\n植食性|0x100000|0\n植树节|0x4000|46362\n植树造林|0x800000|892\n植物保护|0x100000|866\n植物病害|0x0008|0\n植物病理学|0x0000|388\n植物蛋白|0x100000|456\n植物地理学|0x0008|0\n植物毒素|0x0008|0\n植物检疫|0x0008|913\n植物界|0x100000|383\n植物区系|0x0008|369\n植物群落|0x800000|47894\n植物人|0x100000|32854\n植物神经|0x100000|453\n植物体|0x100000|1106\n植物图片|0x100000|369\n植物纤维|0x100000|42363\n植物性|0x100000|870\n植物学|0x100000|882\n植物学家|0x100000|941\n植物油|0x100000|25602\n植物园|0x100000|19547\n植物种子|0x100000|417\n殖民地|0x100000|10527\n殖民统治|0x0008|488\n殖民者|0x100000|19442\n殖民主义|0x100000|15200\n跖狗吠尧|0x0000|100\n跖犬吠尧|0x1000000|100\n跖犬噬尧|0x0000|100\n蹠狗吠尧|0x1000000|100\n蹠犬噬尧|0x1000000|100\n止暴禁非|0x0000|100\n止不住|0x40000000|578\n止步不前|0x800000|904\n止跌回升|0x0000|454\n止沸益薪|0x1000000|100\n止戈散马|0x1000000|100\n止戈为武|0x1000000|1184\n止戈兴仁|0x0000|100\n止回阀|0x100000|831\n止咳药|0x0000|423\n止渴思梅|0x1000000|100\n止渴望梅|0x1000000|100\n止水带|0x100000|457\n止谈风月|0x1000000|100\n止痛剂|0x0008|1034\n止痛片|0x100000|47581\n止痛药|0x100000|848\n止泻药|0x100000|1044\n止血带|0x100000|1055\n止血剂|0x100000|1223\n止血敏|0x0008|0\n止血药|0x0008|1044\n止于至善|0x1000000|997\n只不过|0x800000|498\n只不过是|0x0000|434\n只此一家|0xc00000|1\n只读存储器|0x0008|986\n只鸡斗酒|0x1000000|100\n只鸡絮酒|0x1000000|100\n只鸡樽酒|0x1000000|100\n只见树木|0x800000|1061\n只可意会|0x800000|884\n只轮不反|0x1000000|100\n只轮不返|0x0000|100\n只轮无反|0x1000000|100\n只怕管|0x800000|100\n只怕有心人|0x0008|967\n只骑不反|0x1000000|100\n只欠东风|0x800000|890\n只身孤影|0x0000|100\n只身一人|0x0000|40708\n只生一个好|0x400000|0\n只说不做|0x800000|1046\n只听楼梯响|0x0008|1194\n只限于|0x0000|561\n只许州官放火|0x0008|1050\n只言片语|0x1000000|38820\n只要功夫深|0x0008|1071\n只缘身在此山中|0x800000|915\n只争朝夕|0x1000000|23402\n只争旦夕|0x1000000|100\n只知其一|0x1400000|0\n只重衣衫不重人|0x0008|100\n只字不提|0x800000|34563\n只字片语|0x800000|856\n纸板箱|0x100000|1117\n纸包不住火|0x0008|1033\n纸包装|0x100000|471\n纸电泳|0x100000|0\n纸短情长|0x0000|100\n纸贵洛阳|0x0000|100\n纸盒包装|0x100000|416\n纸盒式|0x100000|0\n纸浆厂|0x100000|1148\n纸浆模|0x100000|429\n纸老虎|0x100000|39854\n纸落云烟|0x800000|100\n纸煤儿|0x100000|0\n纸上谈兵|0x1000000|26943\n纸箱包装|0x100000|439\n纸箱厂|0x100000|452\n纸箱机械|0x100000|391\n纸业有限公司|0x100000|514\n纸制品|0x100000|537\n纸醉金迷|0x1000000|41629\n芷江侗族自治县|0x0040|1779\n咫尺千里|0x1000000|1124\n咫尺天涯|0x1000000|44591\n咫尺天颜|0x1000000|100\n咫尺万里|0x1000000|100\n咫尺威颜|0x1000000|100\n咫尺之功|0x0000|100\n咫尺之书|0x1000000|100\n咫角骖驹|0x1000000|0\n指北针|0x100000|49691\n指标股|0x100000|566\n指标化|0x100000|1228\n指标体系|0x100000|821\n指不定|0x8000000|45478\n指不胜偻|0x1000000|100\n指不胜屈|0x1000000|1287\n指导方针|0x0000|514\n指导科|0x100000|1185\n指导老师|0x0000|549\n指导书|0x100000|849\n指导思想|0x100000|705\n指导性|0x100000|792\n指导性计划|0x100000|885\n指导意义|0x0000|539\n指导员|0x100000|5764\n指导者|0x100000|945\n指点江山|0x100000|815\n指点迷津|0x800000|815\n指东划西|0x1000000|1384\n指东画西|0x1000000|100\n指东话西|0x1000000|100\n指东说西|0x1000000|1340\n指方画圆|0x1000000|100\n指腹为婚|0x1000000|52576\n指关节|0x100000|988\n指环王|0x100000|555\n指挥棒|0x100000|27175\n指挥部|0x100000|6220\n指挥舱|0x100000|1172\n指挥车|0x100000|1027\n指挥刀|0x100000|35155\n指挥官|0x100000|16439\n指挥家|0x100000|20148\n指挥可定|0x1000000|100\n指挥若定|0x1000000|40941\n指挥所|0x100000|915\n指挥塔|0x100000|1098\n指挥系统|0x0000|503\n指挥员|0x100000|10776\n指挥者|0x100000|948\n指挥中心|0x0000|572\n指麾可定|0x1000000|100\n指鸡骂狗|0x1000000|1341\n指甲刀|0x100000|418\n指甲盖|0x100000|995\n指甲盖儿|0x0000|44893\n指甲钳|0x100000|940\n指甲油|0x100000|43353\n指空话空|0x1000000|100\n指李推张|0x1000000|100\n指令计数器|0x0008|0\n指令码|0x0000|368\n指令系统|0x0008|0\n指令性|0x100000|1004\n指令性计划|0x100000|31939\n指鹿为马|0x1000000|43815\n指鹿作马|0x1000000|100\n指路牌|0x100000|870\n指名道姓|0x1000000|37660\n指南车|0x100000|1084\n指南攻北|0x1000000|100\n指南针|0x100000|29706\n指破迷团|0x1000000|100\n指亲托故|0x1000000|100\n指囷相赠|0x0000|100\n指日成功|0x1000000|100\n指日而待|0x1000000|100\n指日高升|0x1000000|1275\n指日可待|0x1000000|29171\n指日可下|0x800000|1314\n指日誓心|0x1000000|0\n指桑骂槐|0x1000000|38617\n指桑说槐|0x1000000|100\n指山卖磨|0x1000000|1538\n指山说磨|0x1000000|100\n指矢天日|0x1000000|100\n指示灯|0x100000|37473\n指示剂|0x0008|950\n指示菌|0x0008|0\n指示牌|0x100000|783\n指示器|0x100000|884\n指示植物|0x0008|1338\n指事类情|0x1000000|100\n指手点脚|0x1000000|100\n指手顿脚|0x0000|100\n指手划脚|0x1000000|884\n指手画脚|0x1000000|24614\n指树为姓|0x1000000|100\n指数分布|0x0008|0\n指数函数|0x800000|1051\n指数和|0x0008|6\n指天画地|0x1000000|1223\n指天射鱼|0x1000000|100\n指天誓日|0x1000000|1230\n指天为誓|0x1000000|1259\n指纹识别|0x100000|836\n指纹锁|0x100000|434\n指瑕造隙|0x1000000|100\n指雁为羹|0x1000000|100\n指皁为白|0x1000000|100\n指皂为白|0x0000|100\n指战员|0x100000|12565\n指掌可取|0x0000|100\n指指戳戳|0x800000|939\n指指点点|0x1000|766\n指重表|0x0008|0\n指猪骂狗|0x1000000|100\n趾高气扬|0x1000000|25865\n趾踵相错|0x1000000|100\n趾踵相接|0x1000000|100\n至诚高节|0x0000|100\n至大至刚|0x1000000|1217\n至当不易|0x0000|100\n至高无上|0x1000000|19416\n至关紧要|0x800000|1005\n至关重要|0x800000|6231\n至今已有|0x100000|776\n至理名言|0x1000000|28979\n至亲骨肉|0x1000000|1271\n至亲好友|0x1000000|1008\n至情至性|0x800000|943\n至人无梦|0x0000|100\n至善至美|0x0000|47270\n至圣先师|0x1000000|1062\n至圣至明|0x0000|100\n至死不变|0x1000000|1176\n至死不屈|0x1000000|1083\n至死不悟|0x800000|1254\n至死不渝|0x800000|780\n至死靡它|0x0000|100\n至矣尽矣|0x1000000|100\n至再至三|0x400000|100\n至尊版|0x100000|456\n至尊至贵|0x1000000|1268\n志存高远|0x800000|927\n志大才疏|0x1000000|51242\n志丹县|0x0040|1099\n志得气盈|0x1000000|100\n志得意满|0x1000000|41391\n志高气扬|0x1000000|100\n志广才疏|0x1000000|100\n志坚行苦|0x0000|100\n志骄气盈|0x1000000|0\n志骄意满|0x1000000|100\n志洁行芳|0x0000|100\n志留纪|0x4000|1219\n志满气得|0x1000000|100\n志满气骄|0x1000000|100\n志满意得|0x0000|100\n志美行厉|0x1000000|100\n志士仁人|0x1000000|36930\n志同道合|0x1000000|27429\n志盈心满|0x1000000|100\n志愿兵|0x100000|34426\n志愿军|0x100000|10559\n志愿书|0x100000|36766\n志愿者|0x100000|586\n志愿者协会|0x100000|489\n志在必得|0x800000|848\n志在沛公|0x1000000|0\n志在千里|0x1000000|979\n志在四方|0x1400000|1\n志在四海|0x1400000|0\n志足意满|0x1000000|100\n制版机|0x100000|417\n制表符|0x100000|1028\n制表机|0x0008|0\n制冰机|0x100000|891\n制成品|0x100000|25113\n制定者|0x100000|881\n制动缸|0x0008|0\n制动器|0x100000|41857\n制动闸|0x100000|1290\n制度改革|0x0000|661\n制度化|0x1000|760\n制服呢|0x0008|1211\n制高点|0x100000|12968\n制革厂|0x100000|921\n制海权|0x100000|45779\n制空权|0x100000|35762\n制冷机|0x100000|1008\n制冷剂|0x100000|919\n制冷系统|0x0008|452\n制片厂|0x100000|19154\n制片人|0x100000|22347\n制片商|0x100000|1045\n制品厂|0x100000|655\n制品有限公司|0x100000|681\n制胜之道|0x800000|1023\n制酸剂|0x0008|0\n制糖厂|0x100000|1182\n制图学|0x0008|1164\n制图员|0x100000|992\n制鞋厂|0x100000|890\n制药厂|0x100000|730\n制药机械|0x100000|504\n制衣厂|0x100000|662\n制约力|0x100000|1197\n制造厂|0x100000|609\n制造厂商|0x0000|541\n制造品|0x100000|1153\n制造商|0x100000|554\n制造业|0x100000|555\n制造者|0x100000|770\n制作方法|0x100000|743\n制作人|0x100000|663\n制作业|0x100000|1073\n制作者|0x100000|808\n治安案件|0x100000|472\n治安管理|0x0008|796\n治安警|0x100000|1184\n治标不治本|0x0008|885\n治病救人|0x1000000|25679\n治多县|0x0040|1133\n治郭安邦|0x1000000|100\n治国安邦|0x1000000|47582\n治国安民|0x1000000|1198\n治疗法|0x100000|939\n治疗学|0x0008|932\n治丧委员会|0x0000|384\n治丝而棼|0x1000000|100\n治丝益棼|0x1000000|1223\n治外法权|0x800000|42838\n炙冰使燥|0x1000000|100\n炙肤皲足|0x1000000|100\n炙鸡渍酒|0x1000000|100\n炙手可热|0x1000000|35156\n质次价高|0x800000|1082\n质而不俚|0x0000|100\n质而不野|0x0000|100\n质非文是|0x1000000|100\n质和量|0x100000|1040\n质量保证|0x100000|612\n质量比|0x0000|473\n质量标准|0x0008|615\n质量第一|0x400000|600\n质量法|0x100000|489\n质量方针|0x100000|498\n质量关|0x100000|834\n质量管理|0x0008|560\n质量技术监督局|0x0020|1197\n质量检验|0x100000|699\n质量事故|0x100000|471\n质量数|0x100000|1241\n质量体系|0x100000|624\n质量问题|0x0000|666\n质量月|0x100000|416\n质量指标|0x0008|3\n质朴无华|0x800000|1092\n质谱仪|0x0008|1078\n质言之|0x800000|1177\n质疑辨惑|0x1000000|100\n质疑问难|0x1000000|1119\n质因数|0x100000|1158\n质优价廉|0x1000|733\n质伛影曲|0x1000000|100\n质子化|0x100000|0\n栉比鳞差|0x1000000|100\n栉比鳞次|0x800000|1197\n栉比鳞臻|0x1000000|100\n栉风沐雨|0x1000000|41393\n栉风酾雨|0x1000000|100\n栉垢爬痒|0x1000000|100\n栉沐风雨|0x1000000|100\n栉霜沐露|0x1000000|100\n陟罚臧否|0x1000000|1209\n陟岵陟屺|0x1000000|100\n秩序井然|0x800000|892\n致癌物|0x100000|853\n致病菌|0x100000|36931\n致病性|0x100000|843\n致富经|0x100000|458\n致公党|0x0020|1594\n致幻剂|0x100000|1177\n致开幕词|0x0000|425\n致力于|0x100000|4210\n致命伤|0x100000|34901\n致命性|0x100000|936\n致橡树|0x100000|388\n致远任重|0x0000|100\n掷弹筒|0x100000|50057\n掷地赋声|0x1000000|100\n掷地金声|0x1000000|100\n掷地有声|0x1000000|25939\n掷地作金石声|0x100000|100\n掷果潘安|0x1000000|100\n掷果潘郎|0x1000000|100\n掷鼠忌器|0x1000000|100\n掷铁饼|0x1000|1128\n掷杖成龙|0x1000000|100\n窒碍难行|0x0000|100\n鸷狠狼戾|0x1000000|100\n鸷击狼噬|0x1000000|0\n鸷鸟将击|0x1000000|0\n鸷鸟累百|0x1000000|0\n彘肩斗酒|0x1000000|0\n智藏瘝在|0x0000|100\n智多星|0x100000|38416\n智慧财产|0x100000|887\n智慧型|0x20000000|795\n智昏菽麦|0x1000000|100\n智尽能索|0x1000000|100\n智均力敌|0x1000000|0\n智力测验|0x0008|0\n智力开发|0x0008|869\n智力题|0x100000|447\n智力因素|0x100000|488\n智利人|0x100000|1129\n智囊团|0x100000|30354\n智能化|0x1000|13632\n智能家居|0x100000|530\n智能建筑|0x100000|517\n智能卡|0x100000|738\n智能科技有限公司|0x100000|482\n智能手机|0x100000|693\n智能手机论坛|0x100000|526\n智能水表|0x100000|382\n智能停车场|0x100000|387\n智能五笔|0x400000|0\n智能型|0x20000000|33858\n智能性|0x100000|1033\n智能仪表|0x100000|426\n智穷才尽|0x0000|100\n智小谋大|0x1000000|100\n智小言大|0x1000000|100\n智勇兼全|0x1000000|1536\n智勇双全|0x1000000|37833\n智圆行方|0x1000000|1185\n智者见智|0x800000|839\n智者千虑|0x800000|1004\n智周万物|0x1000000|1256\n滞纳金|0x100000|27668\n滞销货|0x100000|1220\n滞销品|0x100000|1158\n稚齿婑媠|0x0000|100\n稚气未脱|0x800000|890\n置换表示|0x0008|0\n置换反应|0x0008|0\n置若罔闻|0x1000000|23403\n置身事外|0x1000000|825\n置水之情|0x1000000|100\n置信区间|0x0008|0\n置信水平|0x0008|0\n置信限|0x0008|0\n置于脑后|0x800000|976\n置于死地|0x0000|36932\n置之不顾|0x1000000|1117\n置之不理|0x1000000|21836\n置之度外|0x1000000|26862\n置之高阁|0x0000|100\n置之脑后|0x800000|48590\n置之死地|0x800000|886\n置之死地而后快|0x0008|100\n置之死地而后生|0x0008|889\n置诸高阁|0x1000000|54097\n置锥之地|0x0000|100\n雉伏鼠窜|0x1000000|100\n雉头狐腋|0x1000000|100\n擿伏发奸|0x0000|100\n擿伏发隐|0x0000|100\n擿奸发伏|0x1000000|100\n擿埴索涂|0x1000000|100\n擿埴索途|0x1000000|100\n擿植索涂|0x1000000|100\n中巴车|0x100000|896\n中饱私囊|0x1000000|33356\n中北部|0x2000000|972\n中北路|0x0040|1584\n中草药|0x100000|16196\n中层干部|0x0000|539\n中产阶级|0x800000|25173\n中长跑|0x100000|31370\n中长期|0x20000000|9538\n中成药|0x100000|22611\n中垂线|0x100000|1316\n中岛美雪|0x0080|0\n中道而废|0x0000|100\n中等舱|0x100000|0\n中等城市|0x0000|474\n中等教育|0x800000|842\n中等学校|0x100000|489\n中等职业|0x100000|569\n中等职业学校|0x100000|517\n中等专业|0x0000|524\n中等专业学校|0x0008|498\n中低产田|0x100000|1066\n中低档|0x20000000|33859\n中低级|0x40000000|387\n中东地区|0x0040|1294\n中毒事件|0x0000|479\n中毒者|0x100000|983\n中短波|0x100000|1086\n中短期|0x100000|929\n中断点|0x100000|1157\n中队长|0x100000|895\n中俄关系|0x0008|1006\n中耳炎|0x100000|47583\n中法关系|0x0008|14\n中法网|0x100000|389\n中法战争|0x0008|0\n中方县|0x0040|1047\n中非地区|0x0040|1421\n中非共和国|0x0040|1109\n中高档|0x20000000|20887\n中高级|0x20000000|712\n中高音|0x0000|408\n中共广东|0x100000|428\n中共上海|0x100000|439\n中共中央|0x0020|968\n中共中央办公厅|0x0020|1226\n中共中央党校|0x100000|447\n中共中央国务院|0x0020|1146\n中共中央政治局|0x0020|1283\n中共中央政治局常委|0x0000|517\n中共中央政治局委员|0x0000|510\n中共中央总书记|0x0000|491\n中冓之言|0x1000000|100\n中古品|0x100000|0\n中古史|0x100000|1153\n中顾委|0x100000|1099\n中关村|0x0040|832\n中规模集成电路|0x0008|0\n中规中矩|0x800000|42619\n中国保险业|0x100000|462\n中国北方|0x100000|532\n中国菜|0x100000|466\n中国产品|0x100000|611\n中国长城|0x100000|476\n中国城|0x0000|628\n中国驰名商标|0x100000|499\n中国出口|0x100000|586\n中国出口商品|0x100000|393\n中国出口商品交易会|0x100000|462\n中国传媒|0x100000|519\n中国传媒大学|0x100000|475\n中国传统|0x100000|652\n中国传统文化|0x100000|542\n中国船舶|0x100000|463\n中国大陆|0x100000|706\n中国大使馆|0x100000|460\n中国大学排行榜|0x100000|454\n中国大学生|0x100000|559\n中国大学生网|0x100000|449\n中国当代|0x100000|564\n中国地产|0x100000|510\n中国地图|0x100000|784\n中国地质|0x100000|450\n中国地质大学|0x100000|504\n中国电力|0x100000|563\n中国电视公司|0x0020|1426\n中国电信|0x0020|938\n中国电影|0x100000|633\n中国电影百年|0x100000|474\n中国电子商务|0x100000|535\n中国队|0x0020|995\n中国对外贸易|0x100000|484\n中国翻译|0x100000|426\n中国房地产|0x100000|631\n中国纺织品|0x100000|564\n中国纺织总会|0x0020|1174\n中国佛教|0x100000|507\n中国福利彩票|0x100000|545\n中国福利会|0x0020|1682\n中国福州|0x100000|449\n中国妇女|0x0000|520\n中国富豪|0x100000|514\n中国钢铁|0x100000|531\n中国高等教育|0x100000|501\n中国高校|0x100000|543\n中国革命|0x0000|562\n中国工程院|0x0020|1274\n中国工农红军|0x100000|1459\n中国工人|0x0000|507\n中国工商|0x0000|477\n中国工商银行|0x0020|1088\n中国工艺品|0x100000|500\n中国工艺网|0x100000|531\n中国公民|0x100000|596\n中国共产党|0x0020|1006\n中国共产党党员|0x100000|440\n中国共产党领导|0x100000|506\n中国共产主义青年团|0x0008|1400\n中国古|0x100000|526\n中国古代|0x100000|659\n中国古代文学|0x100000|451\n中国光大银行|0x0020|1326\n中国广播|0x0000|500\n中国广播公司|0x0020|1333\n中国广东|0x100000|616\n中国国防|0x100000|454\n中国国歌|0x100000|375\n中国国际|0x0000|726\n中国国际广播电台|0x0020|1298\n中国国际旅行社|0x100000|488\n中国国际贸易|0x100000|501\n中国国际贸易促进委员会|0x0008|2\n中国国家队|0x100000|487\n中国国民党|0x0020|1341\n中国国民党革命委员会|0x0008|0\n中国国情|0x100000|556\n中国海|0x0040|1334\n中国海关|0x100000|486\n中国海军|0x100000|563\n中国海洋|0x100000|523\n中国海洋石油总公司|0x0020|1568\n中国航空|0x100000|531\n中国航空工业|0x100000|436\n中国航天|0x100000|502\n中国红十字会|0x400000|1288\n中国红十字会总会|0x400000|1603\n中国宏观经济|0x100000|460\n中国护士|0x100000|390\n中国花卉|0x100000|457\n中国化|0x1000|817\n中国化工|0x100000|553\n中国化妆品|0x100000|453\n中国画|0x100000|6034\n中国话|0x100000|25062\n中国计算机|0x100000|546\n中国计算机用户|0x100000|401\n中国家电|0x100000|563\n中国家用电器|0x100000|439\n中国建材|0x100000|583\n中国建设银行|0x0020|1136\n中国建筑|0x100000|613\n中国建筑工程总公司|0x0020|1296\n中国建筑学会|0x0020|1565\n中国江苏|0x100000|550\n中国教育|0x100000|661\n中国教育网|0x100000|490\n中国教育资源|0x100000|420\n中国结|0x100000|502\n中国金融|0x100000|569\n中国近代|0x100000|524\n中国近代史|0x100000|487\n中国京剧|0x100000|444\n中国经济|0x100000|737\n中国经济年度人物|0x100000|487\n中国经济时报|0x0008|1317\n中国经贸|0x100000|397\n中国崛起|0x100000|512\n中国军队|0x100000|583\n中国军方|0x100000|456\n中国军力|0x100000|499\n中国科技大学|0x0020|1379\n中国科协|0x0020|1462\n中国科学技术|0x100000|527\n中国科学技术大学|0x0000|469\n中国科学技术协会|0x0020|1366\n中国科学家|0x100000|482\n中国科学院|0x0020|1080\n中国空军|0x100000|526\n中国矿业|0x100000|504\n中国篮球|0x100000|517\n中国历代|0x100000|520\n中国历史|0x0000|644\n中国历史文化|0x100000|466\n中国联通|0x0020|1032\n中国林业|0x100000|458\n中国零售业|0x100000|460\n中国领土|0x100000|490\n中国留学生|0x100000|585\n中国龙|0x100000|482\n中国陆军|0x100000|460\n中国旅行社|0x100000|509\n中国旅游|0x100000|593\n中国煤炭|0x100000|509\n中国美术|0x100000|525\n中国美术学院|0x100000|456\n中国民歌|0x100000|464\n中国民航|0x0020|1355\n中国民间|0x100000|539\n中国民俗|0x100000|438\n中国民主促进会|0x0008|1534\n中国民主建国会|0x0008|1614\n中国民主同盟|0x0008|1597\n中国名牌|0x100000|566\n中国名牌产品|0x100000|489\n中国模具|0x100000|446\n中国内地|0x100000|622\n中国男篮|0x100000|555\n中国南方|0x100000|505\n中国能源|0x100000|505\n中国宁波|0x100000|426\n中国农村|0x100000|574\n中国农工民主党|0x0008|1603\n中国农科院|0x100000|458\n中国农民|0x0000|527\n中国农业|0x100000|616\n中国农业大学|0x100000|514\n中国农业科学院|0x100000|452\n中国农业银行|0x0020|1058\n中国女排|0x100000|573\n中国女子|0x100000|512\n中国女足|0x100000|571\n中国贫富|0x100000|400\n中国企业|0x100000|749\n中国企业家|0x100000|533\n中国汽车|0x100000|667\n中国汽车工业|0x100000|499\n中国汽车市场|0x100000|503\n中国潜艇|0x100000|435\n中国青年|0x100000|746\n中国青年报|0x0020|1146\n中国青少年|0x100000|543\n中国热|0x100000|900\n中国人|0x100000|490\n中国人民|0x0000|768\n中国人民保险公司|0x0020|1286\n中国人民大学|0x0020|1064\n中国人民对外友好协会|0x0000|369\n中国人民建设银行|0x100000|400\n中国人民解放军|0x100000|6985\n中国人民抗日战争|0x100000|460\n中国人民银行|0x0008|1077\n中国人民政治协商会议|0x0008|838\n中国人妖|0x100000|429\n中国日报|0x100000|572\n中国商人|0x100000|501\n中国少年|0x100000|518\n中国少年队|0x0020|1637\n中国少年先锋队|0x0008|1542\n中国社会|0x0000|616\n中国社会科学院|0x0020|1218\n中国社会主义|0x100000|487\n中国社科院|0x100000|518\n中国石油|0x0000|631\n中国石油化工|0x100000|472\n中国石油化工总公司|0x0020|1195\n中国石油天然气|0x100000|493\n中国时报|0x0000|509\n中国食品|0x100000|611\n中国史|0x100000|855\n中国市场|0x100000|730\n中国市场经济|0x100000|465\n中国式|0x20000000|665\n中国室内装饰协会|0x100000|435\n中国手机市场|0x100000|466\n中国书法家|0x100000|493\n中国书画|0x100000|512\n中国水利|0x100000|514\n中国水利水电|0x100000|466\n中国饲料|0x100000|457\n中国塑料|0x100000|532\n中国台湾|0x100000|576\n中国特色|0x0008|97\n中国特色社会主义|0x0000|594\n中国通|0x100000|42618\n中国同盟会|0x0020|1109\n中国同性恋|0x100000|385\n中国娃娃|0x100000|851\n中国外交|0x100000|487\n中国外交部|0x100000|528\n中国网民|0x100000|502\n中国围棋|0x100000|479\n中国卫生部|0x100000|456\n中国文化|0x0000|649\n中国文学|0x100000|554\n中国武术|0x100000|507\n中国物理学会|0x0020|1674\n中国西部|0x100000|580\n中国戏剧|0x100000|469\n中国戏曲|0x100000|482\n中国先进文化|0x100000|460\n中国象棋|0x0008|840\n中国消费者|0x100000|573\n中国信息产业|0x100000|461\n中国选手|0x100000|565\n中国学生|0x100000|609\n中国学生网|0x0000|476\n中国烟草|0x0000|495\n中国摇滚乐|0x100000|431\n中国医科大学|0x0020|1467\n中国医学|0x100000|520\n中国医学科学院|0x100000|452\n中国医药|0x0000|585\n中国移动|0x100000|591\n中国艺术|0x100000|533\n中国音乐|0x100000|572\n中国银行|0x100000|974\n中国银行业|0x100000|532\n中国印|0x100000|418\n中国邮政|0x100000|553\n中国游客|0x100000|523\n中国有色金属|0x100000|469\n中国幼教|0x100000|389\n中国运动员|0x100000|461\n中国站长|0x100000|553\n中国浙江|0x100000|593\n中国证券|0x100000|610\n中国证券市场|0x100000|520\n中国政法大学|0x100000|548\n中国政府|0x0020|994\n中国职业经理人|0x100000|426\n中国制造业|0x100000|492\n中国致公党|0x0008|1614\n中国中小企业|0x100000|500\n中国中央电视台|0x100000|480\n中国中医研究院|0x0020|1550\n中国注册会计师|0x100000|495\n中国专利|0x0000|508\n中国专利局|0x0020|1496\n中国资本市场|0x100000|505\n中国字|0x100000|931\n中国总代理|0x100000|471\n中国足球|0x100000|665\n中国足球队|0x100000|467\n中国最广大人民|0x100000|453\n中国作家|0x100000|503\n中国作家协会|0x0020|1442\n中和剂|0x0000|369\n中河失舟|0x1000000|100\n中华电信|0x100000|539\n中华队|0x100000|0\n中华儿女|0x100000|862\n中华革命党|0x100000|1031\n中华工商|0x100000|510\n中华魂|0x100000|411\n中华轿车|0x100000|448\n中华美食|0x100000|438\n中华民国|0x0008|729\n中华民族|0x100000|2291\n中华全国妇女联合会|0x0020|1773\n中华全国总工会|0x0020|1526\n中华人民|0x0040|779\n中华人民共和国|0x0040|638\n中华人民共和国道路|0x100000|471\n中华人民共和国公司法|0x100000|471\n中华人民共和国海关|0x100000|471\n中华人民共和国建设部|0x100000|446\n中华人民共和国卫生部|0x100000|439\n中华人民共和国刑法|0x100000|462\n中华人民共和国主席|0x100000|434\n中华日报|0x100000|833\n中华书局|0x100000|862\n中华书库|0x100000|372\n中华网|0x0008|971\n中华文化|0x100000|726\n中华文明|0x100000|519\n中华小姐|0x100000|469\n中华学习机|0x100000|1016\n中华鲟|0x100000|24867\n中级车|0x100000|542\n中级工|0x100000|427\n中级会计|0x100000|509\n中级轿车|0x100000|472\n中级品|0x100000|0\n中级职称|0x0000|518\n中纪委|0x100000|801\n中继线|0x100000|48239\n中继站|0x100000|46363\n中间层|0x0008|879\n中间基原油|0x0008|0\n中间件|0x100000|543\n中间派|0x100000|45781\n中间人|0x100000|31131\n中间色|0x0000|389\n中间商|0x100000|34141\n中间神经元|0x0008|0\n中间视觉|0x0008|0\n中间体|0x100000|738\n中间性|0x100000|1215\n中间性格|0x0008|0\n中间业务|0x100000|484\n中江县|0x0040|1054\n中奖号码|0x100000|530\n中介代理|0x100000|431\n中介方|0x0008|1166\n中介机构|0x0000|625\n中介人|0x100000|46364\n中介组织|0x100000|525\n中井贵一|0x400080|0\n中居正广|0x0080|2\n中距离|0x100000|930\n中科院|0x100000|5663\n中空玻璃|0x0008|869\n中馈乏人|0x0000|100\n中馈犹虚|0x1000000|100\n中郎将|0x100000|972\n中老年|0x100000|21505\n中老年人|0x100000|785\n中立不倚|0x1000000|100\n中立地带|0x0008|0\n中立法|0x0008|2\n中立国|0x100000|44593\n中立派|0x0000|375\n中立主义|0x100000|1295\n中联部|0x100000|1115\n中量级|0x20000000|1099\n中龄林|0x100000|1538\n中流底柱|0x1000000|100\n中流砥柱|0x1000000|27756\n中流击楫|0x1000000|100\n中流一壶|0x400000|100\n中流一壸|0x1400000|0\n中美关系|0x0008|851\n中美洲|0x0040|1450\n中牟县|0x0040|1499\n中拇指|0x100000|1540\n中南部|0x2000000|888\n中南海|0x0040|1219\n中南美|0x100000|1570\n中南美洲|0x100000|941\n中南欧|0x100000|0\n中南亚|0x100000|1162\n中年妇女|0x100000|566\n中年级|0x20000000|1007\n中年男人|0x100000|565\n中年男子|0x100000|607\n中年人|0x100000|11243\n中宁县|0x0040|1068\n中盘股|0x100000|0\n中盘商|0x0008|0\n中胚层|0x0008|0\n中篇小说|0x800000|16960\n中频放大器|0x0008|0\n中青年|0x100000|7934\n中情局|0x100000|541\n中秋佳节|0x0000|486\n中秋节|0x4000|16940\n中秋月|0x100000|437\n中秋月饼|0x100000|935\n中人网|0x100000|393\n中日关系|0x0008|791\n中日甲午战争|0x0008|2\n中日战争|0x0008|8\n中沙群岛|0x0040|1162\n中山北路|0x0040|1290\n中山大道|0x100000|485\n中山大学|0x0020|1115\n中山服|0x100000|43354\n中山狼|0x100000|55554\n中山陵|0x100000|1386\n中山路|0x100000|1195\n中山美穗|0x0080|0\n中山南路|0x0080|1445\n中山区|0x0040|1294\n中山市|0x0040|978\n中山堂|0x0040|1068\n中山秀征|0x0080|0\n中山医学院|0x0020|1368\n中山装|0x100000|23566\n中上层|0x2000000|41858\n中上游|0x2000000|971\n中生代|0x100000|960\n中石器时代|0x4000|1244\n中世纪|0x4000|13337\n中式服装|0x100000|422\n中书令|0x100000|1004\n中书省|0x100000|1009\n中枢神经|0x800000|23300\n中枢神经系统|0x0008|511\n中苏关系|0x0008|7\n中碳钢|0x0008|1135\n中提琴|0x100000|53561\n中天门|0x100000|387\n中田英寿|0x0080|1478\n中途岛|0x0040|1502\n中外古今|0x800000|1088\n中外关系|0x0008|0\n中外合璧|0x1000000|100\n中外合资|0x800000|11873\n中外合资经营|0x100000|509\n中外合资企业|0x0000|504\n中外合作|0x0000|551\n中外文|0x100000|990\n中晚期|0x0000|48592\n中微子|0x100000|1060\n中纬度|0x100000|1127\n中位数|0x100000|1038\n中文版|0x100000|517\n中文包|0x100000|465\n中文翻译|0x100000|532\n中文歌词|0x100000|435\n中文歌曲|0x100000|486\n中文论坛|0x100000|641\n中文名|0x100000|683\n中文名称|0x100000|654\n中文平台|0x100000|648\n中文书库|0x100000|521\n中文说明书|0x100000|470\n中文搜索|0x100000|528\n中文搜索引擎|0x100000|490\n中文台|0x100000|477\n中文网址|0x100000|886\n中文舞曲|0x100000|502\n中文系|0x100000|721\n中文信息处理|0x0000|50834\n中文之星|0x0008|1658\n中文字幕|0x0000|756\n中文字体|0x100000|470\n中西部|0x2000000|754\n中西方|0x100000|860\n中西合璧|0x1000000|36583\n中西区|0x100000|1039\n中西文化|0x100000|849\n中西医|0x100000|721\n中西医结合|0x0008|569\n中下层|0x2000000|974\n中下等|0x100000|1083\n中下旬|0x2000000|27986\n中下游|0x100000|12054\n中小城市|0x100000|833\n中小企业|0x100000|527\n中小型|0x20000000|14589\n中小型企业|0x100000|564\n中小学|0x100000|750\n中小学教师|0x100000|565\n中小学教育|0x100000|556\n中小学生|0x100000|634\n中小学校|0x100000|812\n中小学英语|0x100000|414\n中心城市|0x0000|581\n中心词|0x100000|1090\n中心点|0x0008|864\n中心对称|0x0008|0\n中心角|0x100000|1542\n中心粒|0x0008|0\n中心球|0x0008|0\n中心区|0x100000|763\n中心商业区|0x0000|381\n中心思想|0x100000|812\n中心体|0x0008|0\n中心线|0x100000|956\n中心小学|0x100000|614\n中心校|0x100000|510\n中心摇摇|0x1000000|1198\n中心医院|0x100000|528\n中心主任|0x100000|629\n中心组|0x100000|549\n中新网|0x0020|659\n中信实业银行|0x0020|1459\n中兴大学|0x100000|993\n中型机|0x100000|1204\n中型企业|0x100000|496\n中性笔|0x100000|442\n中性平衡|0x0008|0\n中性染料|0x0008|0\n中性线|0x0008|0\n中宣部|0x100000|854\n中学毕业生|0x0000|383\n中学高级教师|0x100000|446\n中学化学|0x100000|474\n中学教师|0x0000|542\n中学历史|0x100000|475\n中学生|0x100000|5142\n中学生物|0x100000|432\n中学数学|0x100000|492\n中学物理|0x100000|482\n中学校长|0x100000|492\n中学英语|0x100000|492\n中学语文|0x0000|566\n中亚地区|0x0040|1576\n中研院|0x0008|975\n中央办公厅|0x0020|1234\n中央财经|0x100000|505\n中央财经大学|0x0000|482\n中央财政|0x0008|567\n中央处理器|0x0008|886\n中央大学|0x0020|1429\n中央党校|0x0020|1293\n中央电大|0x100000|499\n中央电视台|0x0020|958\n中央对外联络部|0x0020|1755\n中央革命根据地|0x0008|1557\n中央各部委|0x0000|384\n中央工艺美术学院|0x100000|389\n中央顾问委员会|0x0020|1715\n中央广播电视大学|0x100000|468\n中央国家机关|0x0000|513\n中央国务院|0x100000|493\n中央集权|0x1000|24260\n中央纪律检查委员会|0x0020|1571\n中央纪委|0x0020|1392\n中央经济工作会议|0x100000|508\n中央精神|0x100000|768\n中央军|0x100000|469\n中央军事委员会|0x0020|1435\n中央军委|0x0020|1301\n中央军委主席|0x100000|453\n中央空调|0x0008|671\n中央领导|0x0000|558\n中央领导人|0x100000|427\n中央领导同志|0x0000|459\n中央美术学院|0x100000|497\n中央美院|0x100000|484\n中央民族|0x100000|497\n中央民族大学|0x100000|466\n中央民族学院|0x100000|368\n中央气象台|0x0020|1518\n中央情报局|0x0000|534\n中央人民广播电台|0x0020|1370\n中央人民政府|0x100000|490\n中央社|0x100000|558\n中央书记处|0x0008|1677\n中央台|0x100000|774\n中央统战部|0x0020|1554\n中央委员|0x100000|836\n中央委员会|0x0020|1410\n中央文件|0x100000|915\n中央文献|0x100000|446\n中央戏剧|0x100000|490\n中央戏剧学院|0x100000|462\n中央宣传部|0x0020|1629\n中央研究院|0x0020|1488\n中央音乐|0x100000|507\n中央音乐学院|0x100000|489\n中央银行|0x100000|37120\n中央预算|0x0008|39\n中央政府|0x100000|734\n中央政治局|0x0020|1243\n中央政治局常委|0x0020|1675\n中央政治局委员|0x0000|526\n中央组织部|0x0020|1483\n中阳县|0x0040|1101\n中药材|0x100000|10915\n中药厂|0x0008|967\n中药店|0x100000|51687\n中药房|0x100000|52580\n中药铺|0x100000|0\n中药学|0x100000|908\n中药饮片|0x100000|518\n中医界|0x100000|1091\n中医理论|0x100000|476\n中医疗法|0x100000|438\n中医师|0x0008|40942\n中医学|0x100000|815\n中医学院|0x100000|1264\n中医研究院|0x100000|469\n中医药|0x100000|5787\n中医药局|0x100000|1045\n中医医院|0x100000|489\n中医院|0x100000|17734\n中医中药|0x100000|493\n中医肿瘤|0x100000|389\n中译本|0x100000|906\n中印关系|0x0008|107\n中英对照|0x0000|482\n中英关系|0x0008|9\n中英街|0x0040|1653\n中英文|0x100000|641\n中庸之道|0x1000000|41394\n中元节|0x100000|1031\n中原大学|0x100000|1009\n中原地区|0x0040|1432\n中原逐鹿|0x1000000|1121\n中越关系|0x0008|30\n中正纪念堂|0x100000|425\n中直机关|0x100000|1104\n中专生|0x100000|36252\n中专学校|0x100000|489\n中转站|0x100000|28892\n中资银行|0x100000|495\n中子弹|0x100000|40709\n中子活化分析|0x0008|0\n中子流|0x100000|1376\n中子通量|0x0008|0\n中子星|0x100000|1008\n中子源|0x0008|1\n中组部|0x100000|884\n忠不避危|0x0000|100\n忠臣不事二主|0x400000|0\n忠诚度|0x100000|745\n忠肝义胆|0x1000000|1061\n忠贯白日|0x0000|100\n忠贯日月|0x0000|100\n忠厚老实|0x800000|907\n忠君爱国|0x40000000|1083\n忠烈祠|0x0000|399\n忠驱义感|0x1000000|100\n忠仁不二|0x400000|0\n忠孝不能两全|0x0008|1067\n忠孝东路|0x0040|0\n忠孝节义|0x1000000|1096\n忠孝两全|0x0000|100\n忠孝西路|0x0040|0\n忠心赤胆|0x1000000|1184\n忠心耿耿|0x1000000|22972\n忠心贯日|0x0000|100\n忠言逆耳|0x1000000|47272\n忠言逆耳利于行|0x0008|1062\n忠义堂|0x100000|395\n忠于职守|0x1000000|904\n忠贞不二|0x400000|1008\n忠贞不贰|0x0000|54099\n忠贞不渝|0x1000000|35763\n终成泡影|0x0000|100\n终点线|0x100000|413\n终点站|0x100000|33717\n终端产品|0x100000|500\n终端盒|0x0008|1648\n终端机|0x100000|922\n终端设备|0x0008|842\n终古不息|0x800000|1280\n终极目标|0x100000|513\n终南捷径|0x1000000|1086\n终其天年|0x0000|100\n终其一生|0x400000|1\n终身伴侣|0x100000|867\n终身大事|0x1000000|28337\n终身教育|0x100000|496\n终身制|0x100000|22817\n终始不渝|0x0000|100\n终始如一|0x400000|100\n终始若一|0x400000|100\n终天之恨|0x1000000|1286\n终为江河|0x0000|100\n终须一别|0x400000|0\n终焉之志|0x0000|100\n终有一别|0x400000|0\n终止剂|0x0008|0\n钟表店|0x100000|1021\n钟点费|0x100000|1\n钟点工|0x100000|28243\n钟鼎人家|0x1000000|100\n钟鼎山林|0x1000000|1301\n钟鼎文|0x100000|53562\n钟鼎之家|0x1000000|100\n钟鼓楼|0x0040|46078\n钟鼓之色|0x1000000|100\n钟鼓馔玉|0x1000000|1046\n钟灵毓秀|0x1000000|48240\n钟漏并歇|0x1000000|100\n钟鸣鼎列|0x1000000|100\n钟鸣鼎食|0x1000000|52120\n钟鸣鼎重|0x1000000|100\n钟鸣漏尽|0x1000000|100\n钟乳石|0x100000|41630\n钟山县|0x0040|1597\n钟祥市|0x0040|1480\n螽斯衍庆|0x1000000|100\n肿节风|0x100000|1197\n肿瘤科|0x100000|838\n肿瘤外科|0x100000|370\n肿瘤医院|0x0008|837\n种豆得豆|0x800000|929\n种瓜得瓜|0x800000|923\n种瓜得瓜，种豆得豆|0x0000|52121\n种花人|0x100000|1243\n种类繁多|0x100000|749\n种牛痘|0x1000|1229\n种植业|0x100000|820\n种植园|0x100000|31371\n种植者|0x100000|1057\n种植制度|0x0008|0\n种种迹象表明|0x0000|507\n种子队|0x100000|51244\n种子法|0x100000|416\n种子服务器|0x100000|510\n种子田|0x100000|1365\n种子消毒|0x0008|0\n种子选手|0x100000|958\n种族隔离|0x0008|16\n种族灭绝|0x0008|23\n种族歧视|0x800000|17623\n种族主义|0x100000|15619\n种族主义者|0x100000|383\n冢木已拱|0x1000000|100\n冢中枯骨|0x1000000|1195\n踵迹相接|0x1000000|100\n踵接肩摩|0x1000000|0\n踵决肘见|0x1000000|100\n踵事增华|0x1000000|1226\n踵武前贤|0x0000|100\n踵武相接|0x1000000|100\n踵趾相接|0x1000000|100\n踵足相接|0x1000000|100\n仲巴县|0x0040|1206\n仲裁法|0x100000|996\n仲裁人|0x0000|379\n仲裁书|0x100000|1271\n仲裁委|0x100000|1059\n仲裁委员会|0x0000|555\n仲裁员|0x100000|992\n仲裁者|0x100000|1011\n仲丁醇|0x0008|1324\n仲间由纪惠|0x0080|0\n仲夏夜之梦|0x100000|939\n众楚群咻|0x0000|100\n众川赴海|0x0000|100\n众多非一|0x400000|100\n众寡不敌|0x1000000|1227\n众寡势殊|0x0000|100\n众寡悬绝|0x0000|100\n众寡悬殊|0x1000000|47896\n众好众恶|0x1000000|100\n众虎同心|0x0000|100\n众毁销骨|0x0000|100\n众口嗷嗷|0x0000|100\n众口纷纭|0x1000000|1288\n众口交传|0x0000|100\n众口交詈|0x0000|100\n众口交赞|0x1000000|1386\n众口难调|0x1000000|46966\n众口如一|0x400000|100\n众口铄金|0x1000000|55071\n众口同声|0x0000|100\n众口相传|0x0000|100\n众口销金|0x0000|100\n众口熏天|0x0000|100\n众口一词|0x1400000|34566\n众口一辞|0xc00000|0\n众流归海|0x0000|100\n众盲摸象|0x0000|100\n众毛飞骨|0x0000|100\n众毛攒裘|0x1000000|100\n众目共睹|0x0000|100\n众目共视|0x0000|100\n众目具瞻|0x0000|100\n众目睽睽|0x1000000|24615\n众目四望|0x400000|0\n众目昭彰|0x1000000|1393\n众难群移|0x1000000|100\n众难群疑|0x0000|100\n众怒难犯|0x1000000|47273\n众怒难任|0x1000000|100\n众叛亲离|0x1000000|39025\n众擎易举|0x1000000|1288\n众犬吠声|0x0000|100\n众人广坐|0x0000|100\n众人国士|0x1000000|100\n众人拾柴火焰高|0x0008|959\n众少成多|0x0000|100\n众生相|0x100000|848\n众矢之的|0x100000|32855\n众说不一|0xc00000|1\n众说纷揉|0x0000|100\n众说纷纭|0x1000000|23783\n众所共知|0x0000|100\n众所周知|0x1000000|9089\n众望所归|0x1000000|31704\n众望攸归|0x0000|100\n众心成城|0x0000|100\n众心如城|0x0000|100\n众星拱北|0x1000000|100\n众星拱极|0x0000|100\n众星拱月|0x800000|50835\n众星环极|0x0000|100\n众星捧月|0x1000000|40710\n众星攒月|0x0000|100\n众喣漂山|0x0000|100\n众喣飘山|0x0000|100\n众喣山动|0x0000|100\n众议成林|0x0000|100\n众议员|0x100000|20388\n众议院|0x100000|9331\n众则难摧|0x800000|100\n众志成城|0x1000000|16333\n众啄同音|0x0000|100\n众醉独醒|0x1000000|100\n重病号|0x0000|54626\n重财轻义|0x1000000|1541\n重操旧业|0x1000000|898\n重床迭架|0x0000|100\n重床迭屋|0x0000|100\n重床叠架|0x1000000|100\n重床叠屋|0x1000000|100\n重大案件|0x0000|469\n重大疾病|0x100000|521\n重大交通事故|0x100000|467\n重大决策|0x100000|560\n重大事故|0x0000|542\n重大事件|0x100000|545\n重大事项|0x100000|582\n重大突破|0x0000|712\n重大问题|0x0000|611\n重大项目|0x100000|807\n重大新闻|0x0000|513\n重大意义|0x0000|566\n重氮化|0x100000|1299\n重蹈覆辙|0x1000000|33882\n重点保护|0x0000|541\n重点大学|0x100000|566\n重点高校|0x100000|465\n重点高中|0x100000|520\n重点工程|0x100000|751\n重点建设|0x100000|768\n重点建设项目|0x0000|498\n重点难点|0x100000|481\n重点企业|0x100000|772\n重点实验室|0x100000|571\n重点项目|0x100000|744\n重点校|0x0000|51245\n重点学科|0x100000|806\n重点中学|0x100000|559\n重叠式|0x20000000|1181\n重睹天日|0x1000000|100\n重复使用|0x0000|536\n重复性|0x100000|525\n重钙粉|0x0008|0\n重感冒|0x100000|816\n重铬酸钾|0x100000|1143\n重工业|0x100000|13975\n重关击柝|0x1000000|100\n重光累洽|0x1000000|100\n重归于好|0x800000|912\n重圭叠组|0x0000|100\n重规沓矩|0x1000000|100\n重规迭矩|0x1000000|100\n重规叠矩|0x1000000|100\n重规累矩|0x1000000|100\n重规袭矩|0x1000000|100\n重珪迭组|0x0000|100\n重珪叠组|0x1000000|100\n重厚寡言|0x0000|100\n重厚少文|0x1000000|0\n重婚罪|0x100000|1006\n重活儿|0x0000|37121\n重机关枪|0x800000|1541\n重机枪|0x100000|34142\n重迹屏气|0x1000000|100\n重见天日|0x1000000|32975\n重结晶|0x0008|0\n重金兼紫|0x1000000|100\n重金袭汤|0x1000000|100\n重金属|0x100000|20976\n重晶石|0x100000|51246\n重九登高|0x400000|0\n重理旧业|0x1000000|100\n重力坝|0x100000|1141\n重力场|0x100000|1103\n重力加速度|0x0008|1004\n重力梯度|0x0008|0\n重量级|0x20000000|21464\n重峦迭巘|0x0000|100\n重峦迭嶂|0x0000|100\n重峦叠巘|0x1000000|100\n重峦叠嶂|0x800000|50113\n重峦复嶂|0x1000000|100\n重码率|0x100000|1190\n重门击柝|0x1000000|100\n重明继焰|0x1000000|100\n重命名|0x0000|560\n重男轻女|0x1000000|851\n重逆无道|0x1000000|0\n重农主义|0x0008|0\n重葩累藻|0x1000000|100\n重纰貤缪|0x1000000|100\n重启动|0x0000|475\n重起炉灶|0x1000000|51748\n重气轻命|0x1000000|100\n重气轻生|0x1000000|100\n重气徇命|0x0000|100\n重气狥名|0x1000000|100\n重庆版|0x100000|378\n重庆晨报|0x100000|492\n重庆大学|0x100000|557\n重庆电信|0x100000|494\n重庆高校|0x100000|402\n重庆火锅|0x100000|464\n重庆机票|0x100000|518\n重庆江北|0x100000|452\n重庆频道|0x100000|450\n重庆市|0x0040|878\n重庆市委|0x100000|455\n重庆晚报|0x100000|499\n重庆医药|0x100000|369\n重任在肩|0x800000|1023\n重如泰山|0x800000|1084\n重三迭四|0x400000|100\n重三叠四|0x1400000|0\n重山复岭|0x1000000|100\n重山复水|0x1000000|100\n重山峻岭|0x1000000|1201\n重商主义|0x0008|1686\n重赏之下|0x1000000|1034\n重赏之下必有勇夫|0x0000|375\n重生父母|0x1000000|1336\n重生爷娘|0x0000|100\n重手累足|0x1000000|100\n重孙女|0x100000|55139\n重孙子|0x0000|43846\n重头戏|0x100000|15907\n重外孙女|0x100000|0\n重望高名|0x1000000|100\n重温旧梦|0x1000000|47013\n重温旧业|0x1000000|100\n重武器|0x100000|35465\n重熙累绩|0x1000000|100\n重熙累洽|0x1000000|100\n重熙累盛|0x1000000|100\n重熙累叶|0x1000000|100\n重新安装|0x0000|577\n重新启动|0x0000|663\n重兴旗鼓|0x1000000|100\n重型车|0x100000|460\n重型货架|0x100000|391\n重型机械|0x100000|470\n重型汽车|0x100000|474\n重修旧好|0x1000000|51304\n重选一次|0x400000|0\n重言式|0x100000|0\n重岩迭障|0x0000|100\n重岩迭嶂|0x0000|100\n重岩叠嶂|0x1000000|1288\n重阳节|0x4000|32099\n重要标志|0x100000|543\n重要地位|0x100000|561\n重要工作|0x0000|551\n重要贡献|0x0000|527\n重要会议|0x100000|876\n重要讲话|0x100000|752\n重要节日|0x100000|426\n重要举措|0x100000|563\n重要内容|0x0000|634\n重要思想|0x100000|722\n重要途径|0x0000|557\n重要文件|0x100000|846\n重要文献|0x100000|980\n重要性|0x100000|552\n重要一环|0x400000|490\n重要意义|0x0000|630\n重要指标|0x100000|530\n重要组成|0x100000|650\n重要作用|0x0000|655\n重义轻财|0x1000000|100\n重义轻利|0x800000|1135\n重义轻生|0x1000000|1312\n重裀列鼎|0x1000000|100\n重于泰山|0x1000000|904\n重元素|0x100000|1198\n重垣迭锁|0x0000|100\n重垣叠锁|0x1000000|100\n重灾区|0x100000|852\n重振旗鼓|0x1000000|41196\n重整旗鼓|0x1000000|34444\n重纸累札|0x1000000|100\n重中之重|0x800000|748\n重重包围|0x100000|733\n重重叠叠|0x0100|901\n重装机兵|0x0000|394\n重装系统|0x0000|560\n重足而立|0x1000000|1423\n重足累息|0x1000000|100\n重足屏气|0x1000000|100\n重足屏息|0x1000000|100\n重足一迹|0x1400000|0\n重作冯妇|0x0000|100\n州立大学|0x0000|518\n州政府|0x100000|523\n舟车劳顿|0x800000|951\n舟曲县|0x0040|1158\n舟山市|0x0040|1288\n舟水之喻|0x0000|100\n舟中敌国|0x100000|100\n诌上抑下|0x0000|100\n侜张为幻|0x1000000|100\n周边产品|0x100000|528\n周边城市|0x100000|466\n周边国家|0x0000|525\n周边环境|0x0000|572\n周边旅游|0x100000|416\n周边设备|0x100000|778\n周敦颐|0x0080|1626\n周恩来|0x0080|1122\n周而不比|0x0000|100\n周而复始|0x1000000|28434\n周公吐哺|0x1000000|1097\n周规折矩|0x1000000|100\n周杰伦|0x0080|789\n周口店|0x0040|1510\n周口市|0x0040|1330\n周郎顾曲|0x0000|100\n周年纪念|0x100000|656\n周宁县|0x0040|1053\n周期表|0x100000|932\n周期函数|0x0008|840\n周期律|0x100000|1065\n周期素|0x100000|0\n周期性|0x100000|763\n周情孔思|0x1000000|100\n周穷恤匮|0x0000|100\n周围环境|0x0000|563\n周围神经|0x100000|971\n周游列国|0x0000|100\n周至县|0x0040|1544\n周转房|0x0000|49343\n周转金|0x100000|40286\n周转量|0x100000|1025\n周转率|0x100000|952\n周转期|0x100000|1223\n周总理|0x0000|589\n洲际弹道导弹|0x100000|125\n洲际导弹|0x100000|40073\n诪张变眩|0x1000000|100\n诪张为幻|0x1000000|100\n粥少僧多|0x1000000|1162\n粥粥无能|0x0000|100\n轴承钢|0x0000|50836\n轴对称|0x100000|1007\n轴流泵|0x100000|1050\n轴心国|0x100000|1019\n肘关节|0x100000|48594\n肘后方|0x0008|0\n肘胁之患|0x1000000|100\n肘行膝步|0x1000000|100\n肘腋之患|0x1000000|54627\n咒天骂地|0x1000000|100\n昼长夜短|0x800000|1162\n昼度夜思|0x1000000|100\n昼伏夜出|0x0000|42840\n昼伏夜动|0x1000000|100\n昼伏夜行|0x1000000|1178\n昼伏夜游|0x1000000|100\n昼干夕惕|0x0000|100\n昼耕夜诵|0x1000000|100\n昼警暮巡|0x1000000|100\n昼警夕惕|0x1000000|100\n昼乾夕惕|0x1000000|100\n昼日三接|0x1400000|0\n昼日昼夜|0x1000000|100\n昼思夜想|0x0000|100\n昼想夜梦|0x1000000|100\n昼夜不息|0x1000000|988\n昼夜兼程|0x800000|1128\n昼夜兼行|0x0000|100\n昼阴夜阳|0x1000000|100\n昼吟宵哭|0x1000000|100\n皱巴巴|0x0100|31940\n皱眉头|0x1000|745\n皱纹纸|0x100000|423\n皱皱巴巴|0x0100|1020\n骤不及防|0x1000000|1280\n骤风暴雨|0x1000000|100\n骤风急雨|0x0000|100\n骤雨暴风|0x1000000|100\n骤雨狂风|0x1000000|100\n朱陈之好|0x1000000|100\n朱唇粉面|0x0000|100\n朱唇皓齿|0x0000|100\n朱唇玉面|0x0000|100\n朱轓皁盖|0x1000000|100\n朱轓皂盖|0x0000|100\n朱干玉戚|0x1000000|100\n朱阁青楼|0x0000|100\n朱古力|0x100000|818\n朱红色|0x0000|449\n朱丽叶|0x0080|1246\n朱楼碧瓦|0x1000000|100\n朱楼绮户|0x1000000|100\n朱轮华毂|0x1000000|100\n朱门酒肉臭|0x0008|1010\n朱门绣户|0x1000000|100\n朱甍碧瓦|0x1000000|100\n朱盘玉敦|0x0000|100\n朱槃玉敦|0x0000|100\n朱雀玄武|0x0000|100\n朱砂根|0x0008|0\n朱砂七|0x500000|0\n朱弦三叹|0x1400000|0\n朱颜翠发|0x1000000|100\n朱颜鹤发|0x0000|100\n朱颜绿发|0x1000000|100\n朱衣点头|0x1000000|100\n朱衣使者|0x0000|100\n侏罗纪|0x4000|815\n侏罗纪公园|0x100000|506\n侏罗系|0x100000|1212\n侏儒观戏|0x1000000|100\n侏儒一节|0x1400000|0\n侏儒症|0x100000|1018\n诛暴讨逆|0x1000000|100\n诛锄异己|0x800000|100\n诛故贳误|0x1000000|100\n诛尽杀绝|0x1000000|0\n诛连九族|0x400000|0\n诛求不已|0x1000000|100\n诛求无度|0x1000000|100\n诛求无厌|0x1000000|100\n诛求无已|0x1000000|1542\n诛心之论|0x1000000|1188\n株连九族|0x401000|0\n株连蔓引|0x1000000|100\n株式会社|0x100000|21182\n株洲市|0x0040|1283\n株洲县|0x0040|1590\n珠宝店|0x100000|865\n珠宝商|0x100000|50061\n珠宝饰品|0x100000|446\n珠宝首饰|0x100000|628\n珠宝箱|0x0008|401\n珠宝展|0x100000|454\n珠璧交辉|0x1000000|100\n珠璧联辉|0x1000000|100\n珠箔银屏|0x0000|100\n珠沉璧碎|0x1000000|100\n珠沉沧海|0x0000|100\n珠沉玉碎|0x1000000|1319\n珠沉玉陨|0x0000|100\n珠沉玉磒|0x1000000|100\n珠窗网户|0x1000000|100\n珠翠之珍|0x0000|100\n珠蛋白|0x0008|0\n珠歌翠舞|0x1000000|100\n珠宫贝阙|0x1000000|1355\n珠光宝气|0x1000000|36934\n珠光体|0x100000|1206\n珠光颜料|0x100000|398\n珠规玉矩|0x1000000|100\n珠海航展|0x100000|872\n珠海市|0x0040|1109\n珠还合浦|0x1000000|1283\n珠江路|0x100000|537\n珠江三角|0x400000|0\n珠江三角洲|0x400000|1206\n珠连璧合|0x1000000|100\n珠联璧合|0x1000000|36254\n珠联玉映|0x1000000|100\n珠零锦粲|0x1000000|100\n珠零玉落|0x1000000|100\n珠流璧转|0x1000000|100\n珠穆朗玛|0x0040|1296\n珠穆朗玛峰|0x0040|1366\n珠盘玉敦|0x1000000|100\n珠槃玉敦|0x1000000|100\n珠三角|0x400040|177\n珠算课|0x100000|1\n珠投璧抵|0x1000000|100\n珠围翠绕|0x1000000|1071\n珠围翠拥|0x1000000|100\n珠玉在侧|0x0000|100\n珠圆玉洁|0x1000000|100\n珠圆玉润|0x1000000|50837\n诸病源候论|0x0008|0\n诸城市|0x0040|1355\n诸恶莫作|0x0000|100\n诸葛亮|0x0080|13109\n诸葛亮会|0x800000|1233\n诸宫调|0x0008|1211\n诸暨市|0x0040|1267\n诸亲好友|0x1000000|1417\n诸亲六眷|0x1400000|0\n诸如此比|0x1000000|100\n诸如此类|0x1000000|18020\n诸如此例|0x0000|100\n诸若此类|0x1000000|100\n诸色人等|0x1000000|100\n诸有此类|0x1000000|100\n诸子百家|0x1000000|42114\n猪八戒|0x400008|27431\n猪卑狗险|0x800000|100\n猪肚儿|0x0000|47585\n猪倌儿|0x0000|53563\n猪霍乱|0x100000|1421\n猪笼草|0x100000|1073\n猪朋狗友|0x1000000|955\n猪饲料|0x100000|471\n猪头肉|0x0000|33358\n猪突豨勇|0x0000|100\n猪牙皂|0x100000|1310\n猪殃殃|0x100000|1307\n猪鬃草|0x100000|1538\n铢称寸量|0x1000000|100\n铢寸累积|0x1000000|100\n铢分毫析|0x1000000|100\n铢积寸累|0x1000000|0\n铢积丝累|0x1000000|0\n铢积锱累|0x1000000|0\n铢累寸积|0x1000000|100\n铢两分寸|0x1000000|100\n铢两悉称|0x1000000|1420\n铢两相称|0x1000000|100\n铢量寸度|0x1000000|100\n铢施两较|0x1000000|100\n铢铢较量|0x1000000|100\n铢铢校量|0x800000|100\n蛛丝马迹|0x1000000|25393\n蛛网尘封|0x0000|100\n蛛网膜|0x0008|1024\n蛛网状|0x100000|0\n竹柏异心|0x0000|100\n竹板书|0x100000|1358\n竹苞松茂|0x1000000|1402\n竹报平安|0x800000|1086\n竹北市|0x0040|1635\n竹地板|0x100000|460\n竹节参|0x0008|0\n竹篮打水|0x800000|920\n竹篮打水一场空|0x400008|2\n竹帘子|0x0000|47586\n竹林七贤|0x400080|0\n竹马之交|0x0000|100\n竹马之友|0x1000000|100\n竹签儿|0x0000|42366\n竹山县|0x0040|1041\n竹桃霉素|0x100000|0\n竹筒倒豆子|0x0008|1137\n竹头木屑|0x100000|100\n竹溪县|0x0040|1629\n竹纤维|0x100000|434\n竹野内丰|0x0080|3\n竹叶青|0x0008|39857\n竹枝词|0x100000|1005\n竹制品|0x100000|48596\n竹中半兵卫|0x0080|0\n烛照数计|0x1000000|1255\n逐步回归|0x0008|0\n逐臭之夫|0x1000000|1285\n逐宕失返|0x1000000|100\n逐电追风|0x1000000|100\n逐队成群|0x1000000|100\n逐风追电|0x1000000|100\n逐机应变|0x1000000|100\n逐近弃远|0x1000000|0\n逐句逐字|0x1000000|100\n逐客令|0x100000|37300\n逐浪随波|0x1000000|100\n逐流忘返|0x1000000|100\n逐鹿中原|0x1000000|910\n逐名趋势|0x1000000|100\n逐末弃本|0x1000000|100\n逐末舍本|0x1000000|100\n逐末忘本|0x1000000|100\n逐日追风|0x0000|100\n逐物不还|0x1000000|100\n逐新趣异|0x1000000|100\n逐行扫描|0x0000|466\n逐影吠声|0x1000000|100\n逐影随波|0x1000000|100\n逐影寻声|0x1000000|100\n逐逐眈眈|0x1000000|100\n逐字逐句|0x800000|38417\n舳舻相继|0x0000|100\n劚山觅玉|0x1000000|100\n劚玉如泥|0x1000000|100\n主板驱动|0x100000|517\n主办单位|0x100000|608\n主办国|0x100000|1008\n主办权|0x100000|974\n主办人|0x100000|996\n主办者|0x100000|930\n主程序|0x0008|839\n主持会议|0x0000|546\n主持人|0x100000|5618\n主创人员|0x0000|26945\n主从触发器|0x0008|0\n主存储器|0x0008|1101\n主单位|0x100000|1248\n主导产品|0x100000|574\n主导产业|0x100000|536\n主导权|0x100000|874\n主导作用|0x0000|542\n主祷文|0x100000|1106\n主动脉|0x100000|33718\n主动脉瓣关闭不全|0x0008|0\n主动脉瓣狭窄|0x0008|0\n主动脉弓|0x800000|1134\n主动脉瘤|0x0008|1103\n主动权|0x100000|10268\n主动性|0x100000|7713\n主干道|0x100000|802\n主干课程|0x100000|460\n主干线|0x100000|18166\n主攻手|0x100000|27019\n主观能动性|0x100000|22389\n主观世界|0x0000|17404\n主观题|0x100000|482\n主观唯心主义|0x100000|372\n主观性|0x100000|38037\n主观臆断|0x800000|945\n主观主义|0x100000|16481\n主管部门|0x0000|780\n主光轴|0x100000|1419\n主航道|0x100000|39028\n主河道|0x100000|47898\n主婚人|0x100000|44313\n主机板|0x0008|849\n主机名|0x100000|528\n主焦点|0x100000|1344\n主教练|0x100000|5299\n主敬存诚|0x1000000|1381\n主考官|0x1000000|865\n主客颠倒|0x1000000|100\n主客观|0x100000|24156\n主控台|0x0008|1051\n主力舰|0x100000|54104\n主力军|0x100000|11539\n主力球员|0x100000|477\n主力阵容|0x100000|516\n主流派|0x100000|1098\n主谋者|0x100000|1210\n主目录|0x0000|513\n主平面|0x0008|0\n主情造意|0x1000000|100\n主渠道|0x0000|13893\n主权国|0x100000|53085\n主人公|0x100000|7406\n主人家|0x100000|30470\n主人翁|0x100000|10657\n主人翁精神|0x100000|845\n主任委员|0x100000|841\n主任医师|0x100000|763\n主少国疑|0x1000000|100\n主设备|0x100000|1039\n主审官|0x0008|2\n主圣臣良|0x0000|100\n主食品|0x100000|1108\n主视图|0x100000|1215\n主守自盗|0x0000|100\n主题词|0x100000|42623\n主题词表|0x0008|0\n主题歌|0x100000|27334\n主题公园|0x100000|807\n主题教育活动|0x100000|537\n主题乐园|0x100000|459\n主题目录|0x0008|0\n主题曲|0x100000|569\n主题思想|0x0008|0\n主题索引|0x0008|2\n主体性|0x100000|871\n主体资格|0x100000|493\n主体作用|0x100000|497\n主文谲谏|0x1000000|100\n主席令|0x100000|995\n主席台|0x100000|10778\n主席团|0x100000|7084\n主心骨|0x100000|19508\n主旋律|0x100000|7896\n主要参数|0x100000|552\n主要产品|0x0000|730\n主要成分|0x0000|566\n主要成份|0x100000|525\n主要负责人|0x0000|587\n主要功能|0x0000|662\n主要货币|0x100000|503\n主要经济指标|0x100000|487\n主要领导|0x0000|605\n主要领导人|0x100000|453\n主要矛盾|0x800000|12087\n主要内容|0x0000|710\n主要农产品|0x100000|446\n主要任务|0x0000|618\n主要树种|0x0008|0\n主要特点|0x0000|606\n主要特征|0x0000|540\n主要性|0x100000|0\n主要性能|0x0000|576\n主要演员|0x100000|667\n主要依据|0x100000|526\n主要因素|0x0000|586\n主要用途|0x100000|533\n主要原料|0x100000|556\n主要原因|0x0000|708\n主要症状|0x100000|481\n主要职责|0x100000|545\n主要指|0x100000|541\n主一无适|0x400000|100\n主义教育|0x100000|406\n主义精神|0x100000|448\n主义理论|0x100000|520\n主义哲学|0x100000|548\n主义者|0x100000|588\n主音箱|0x0008|0\n主应力|0x0008|0\n主忧臣辱|0x0000|100\n主战场|0x100000|17217\n主战派|0x100000|1060\n主政者|0x100000|1168\n主治医生|0x100000|33208\n主治医师|0x800000|835\n主轴电机|0x100000|391\n拄笏看山|0x1000000|100\n拄笏西山|0x1000000|100\n拄颊看山|0x1000000|0\n属词比事|0x1000000|100\n属辞比事|0x1000000|1376\n属间杂交|0x0008|0\n属毛离里|0x800000|100\n属人耳目|0x0000|100\n属垣有耳|0x1000000|0\n煮豆燃箕|0x800000|100\n煮豆燃萁|0x1000000|1276\n煮鹤焚琴|0x1000000|100\n煮鹤烧琴|0x1000000|100\n煮粥焚须|0x1000000|100\n麈尾之诲|0x1000000|100\n住房补贴|0x100000|494\n住房贷款|0x100000|579\n住房公积金|0x100000|625\n住房公积金贷款|0x100000|480\n住房价格|0x100000|533\n住房面积|0x100000|480\n住房难|0x100000|400\n住房问题|0x100000|506\n住宿费|0x100000|551\n住宿服务|0x100000|417\n住宿生|0x100000|1057\n住下来|0x0000|494\n住校生|0x100000|1026\n住院部|0x100000|36255\n住院处|0x100000|1146\n住院费|0x100000|946\n住院治疗|0x100000|526\n住在一起|0x400000|575\n住宅产业|0x100000|494\n住宅建设|0x1000|513\n住宅楼|0x100000|820\n住宅区|0x100000|781\n住宅小区|0x100000|594\n助边输财|0x0000|100\n助产士|0x100000|46080\n助动词|0x100000|55072\n助桀为暴|0x1000000|0\n助桀为恶|0x1000000|0\n助桀为虐|0x1000000|53565\n助理工程师|0x0000|46654\n助理研究员|0x0000|48597\n助理员|0x100000|1029\n助力车|0x100000|930\n助力器|0x100000|408\n助滤剂|0x0008|1642\n助凝剂|0x0008|0\n助燃剂|0x100000|391\n助人为乐|0x1000000|823\n助人下石|0x1000000|100\n助色团|0x0008|0\n助天为虐|0x1000000|1316\n助听器|0x100000|29288\n助推火箭|0x0000|54630\n助推器|0x100000|24812\n助我张目|0x1000000|100\n助消化|0x800000|901\n助选员|0x100000|1291\n助学金|0x100000|17475\n助纣为虐|0x1000000|40288\n苎麻根|0x0008|0\n杼柚空虚|0x1000000|100\n杼柚其空|0x1000000|100\n杼柚之空|0x1000000|100\n注采比|0x100000|0\n注册表|0x0008|634\n注册表编辑器|0x100000|568\n注册费|0x100000|900\n注册号|0x100000|707\n注册会计师|0x0008|656\n注册会计师协会|0x100000|477\n注册码|0x100000|639\n注册名|0x100000|883\n注册商标|0x0008|703\n注册手续|0x0000|469\n注册资本|0x100000|552\n注册资金|0x100000|501\n注目礼|0x100000|38827\n注射器|0x100000|26946\n注射液|0x100000|24547\n注射针|0x0000|414\n注玄尚白|0x1000000|100\n注意到|0x0000|774\n注意力|0x100000|8231\n注意事项|0x100000|529\n注音字母|0x0008|46969\n贮藏量|0x100000|1299\n贮藏室|0x100000|1097\n贮木场|0x100000|1121\n驻红却白|0x1000000|100\n驻华大使馆|0x0000|466\n驻华使馆|0x100000|500\n驻马店|0x0040|1168\n驻马店市|0x0040|1275\n驻颜益寿|0x1000000|100\n驻颜有术|0x0000|382\n驻在国|0x0000|36090\n驻足不前|0x1000000|1065\n柱面波|0x100000|0\n柱石之坚|0x0000|100\n柱天踏地|0x1000000|100\n柱小倾大|0x1000000|100\n柱状图|0x0000|441\n祝不胜诅|0x1000000|100\n祝发空门|0x1000000|100\n祝发文身|0x1000000|100\n祝哽祝噎|0x1000000|100\n祝鲠祝噎|0x1000000|100\n祝鲠祝饐|0x1000000|100\n祝贺信|0x100000|1120\n祝酒词|0x100000|49344\n祝酒辞|0x100000|1089\n祝酒歌|0x100000|48984\n祝僇祝鲠|0x1000000|100\n祝鮀之佞|0x1000000|100\n祝咽祝哽|0x1000000|100\n著名画家|0x100000|491\n著名经济学家|0x100000|498\n著名景点|0x100000|460\n著名品牌|0x100000|566\n著名企业|0x100000|533\n著名商标|0x100000|531\n著名诗人|0x100000|484\n著名演员|0x100000|505\n著名主持人|0x100000|462\n著名作家|0x0000|543\n著书立说|0x800000|33074\n著述等身|0x0000|100\n著于竹帛|0x0000|100\n著者目录|0x0008|0\n著者索引|0x0008|0\n著作等身|0x1000000|44598\n著作权|0x100000|7702\n著作权法|0x100000|869\n著作权人|0x100000|607\n著作人|0x100000|53566\n筑巢引凤|0x800000|35466\n筑舍道傍|0x0000|100\n筑室道谋|0x1000000|100\n筑室反耕|0x1000000|100\n筑坛拜将|0x0000|100\n铸币厂|0x100000|1227\n铸成大错|0x1000000|974\n铸钢厂|0x100000|372\n铸钢件|0x100000|400\n铸甲销戈|0x1000000|100\n铸剑为犁|0x1000000|1203\n铸木镂冰|0x1000000|100\n铸山煮海|0x1000000|100\n铸铁管|0x0000|436\n铸铁件|0x100000|412\n铸铁量具|0x100000|418\n铸新淘旧|0x1000000|100\n铸造厂|0x100000|700\n箸长碗短|0x0000|100\n翥凤翔鸾|0x0000|100\n抓辫子|0x1000|50839\n抓大放小|0x800000|1015\n抓典型|0x0000|37123\n抓耳挠腮|0x1000000|39654\n抓耳搔腮|0x1000000|1281\n抓工夫|0x1000|1507\n抓乖卖俏|0x1000000|100\n抓乖弄俏|0x1000000|100\n抓紧时间|0x0000|596\n抓阄儿|0x1000|42118\n抓空儿|0x0000|52583\n抓空子|0x1000|0\n抓破脸|0x1000|1297\n抓破脸皮|0x1000000|100\n抓破脸子|0x1000000|100\n抓破面皮|0x1000000|100\n抓岩机|0x100000|0\n抓住机遇|0x0000|563\n抓壮丁|0x1000|53087\n抓总儿|0x1000|0\n爪尖儿|0x100000|0\n爪哇人|0x100000|1263\n拽布披麻|0x1000000|100\n拽布拖麻|0x1000000|100\n拽耙扶犁|0x0000|100\n拽巷啰街|0x1000000|100\n拽巷逻街|0x1000000|100\n拽巷攞街|0x1000000|100\n拽象拖犀|0x0000|100\n专案组|0x100000|859\n专横跋扈|0x1000000|47899\n专辑名称|0x100000|731\n专辑语言|0x100000|607\n专家级|0x20000000|899\n专家建议|0x0000|600\n专家库|0x100000|483\n专家论证|0x100000|476\n专家门诊|0x100000|851\n专家委员会|0x0000|527\n专家系统|0x100000|860\n专家学者|0x100000|652\n专家组|0x100000|740\n专精覃思|0x1000000|0\n专科门诊|0x100000|967\n专科生|0x0000|40074\n专科学校|0x800000|726\n专科医院|0x0008|802\n专科专业|0x100000|460\n专栏作家|0x0008|28\n专利产品|0x100000|757\n专利发明|0x0008|0\n专利法|0x100000|910\n专利号|0x0008|1309\n专利技术|0x100000|610\n专利局|0x100000|906\n专利品|0x100000|1136\n专利权|0x100000|11048\n专利权人|0x100000|999\n专利申请|0x0008|778\n专利证书|0x0000|469\n专卖店|0x100000|15240\n专卖局|0x100000|844\n专卖权|0x100000|1169\n专门店|0x100000|503\n专门调查|0x0008|12\n专门化|0x1000|970\n专门家|0x100000|44895\n专门利人|0x800000|1050\n专门委员会|0x100000|498\n专门性|0x100000|1034\n专名号|0x100000|1386\n专题报道|0x0000|566\n专题报告|0x0000|523\n专题地图|0x0008|0\n专题会议|0x100000|498\n专题讲座|0x100000|564\n专题民主生活会|0x100000|466\n专题片|0x100000|15966\n专题讨论|0x800000|872\n专题研究|0x0000|558\n专题研讨|0x0000|458\n专题制图仪|0x100000|0\n专线电话|0x0008|8\n专项规划|0x100000|493\n专项基金|0x100000|482\n专项整治工作|0x100000|503\n专项资金|0x100000|596\n专心一意|0x1400000|0\n专心一志|0x1400000|0\n专心致志|0x1000000|21837\n专修班|0x100000|1057\n专修科|0x100000|55073\n专业版|0x0008|1155\n专业本科|0x100000|529\n专业对口|0x800000|915\n专业翻译|0x100000|467\n专业公司|0x0008|4\n专业户|0x100000|11540\n专业化|0x1000|5998\n专业级|0x100000|563\n专业技能|0x0000|579\n专业技术|0x0000|726\n专业技术人才|0x100000|508\n专业技术人员|0x0008|612\n专业技术人员业|0x100000|0\n专业技术职称|0x100000|467\n专业技术职务|0x100000|534\n专业技术资格|0x100000|510\n专业教育|0x0008|2\n专业课|0x100000|28436\n专业课程|0x100000|788\n专业培训|0x100000|698\n专业人才|0x0008|669\n专业人员|0x100000|666\n专业书籍|0x100000|461\n专业术语|0x0000|496\n专业委员会|0x100000|598\n专业性|0x100000|662\n专业学位|0x100000|528\n专业训练|0x0008|16\n专业音响|0x100000|484\n专业银行|0x0008|1\n专业展|0x100000|444\n专业知识|0x100000|630\n专一不移|0x400000|0\n专一性|0x400000|1064\n专营店|0x100000|539\n专用版|0x100000|517\n专用车|0x100000|509\n专用车辆|0x100000|437\n专用发票|0x100000|556\n专用肥|0x100000|425\n专用工具|0x100000|490\n专用汽车|0x100000|460\n专用设备|0x100000|664\n专用网|0x100000|475\n专用线|0x100000|917\n专用章|0x100000|493\n专有名词|0x100000|870\n专有权|0x100000|1111\n专欲难成|0x1000000|100\n专员公署|0x800000|1040\n专制主义|0x100000|35766\n专属经济区|0x0008|1667\n砖红壤|0x100000|1332\n砖瓦厂|0x100000|815\n转氨酶|0x100000|48986\n转败为成|0x1000000|100\n转败为功|0x1000000|100\n转败为胜|0x1000000|948\n转悲为喜|0x1000000|1156\n转变成|0x0000|583\n转变观念|0x0000|536\n转变为|0x0000|634\n转播台|0x100000|43111\n转播站|0x0008|1211\n转嗔为喜|0x1000000|100\n转愁为喜|0x0000|100\n转动惯量|0x0008|0\n转斗千里|0x1000000|100\n转发器|0x100000|1012\n转关系|0x1000|51691\n转海回天|0x1000000|100\n转喉触讳|0x1000000|100\n转换法|0x100000|1174\n转换规则|0x0008|0\n转换开关|0x100000|935\n转换率|0x100000|1062\n转换期|0x100000|1155\n转换器|0x100000|681\n转祸为福|0x1000000|1132\n转基因|0x100000|815\n转角处|0x100000|891\n转口贸易|0x0008|41397\n转来转去|0x800000|766\n转捩点|0x100000|1006\n转轮手枪|0x800000|1106\n转氢酶|0x100000|0\n转圈子|0x0000|46970\n转让费|0x100000|931\n转让技术|0x100000|922\n转让金|0x100000|1135\n转日回天|0x1000000|100\n转瞬即逝|0x800000|723\n转瞬间|0x4000|751\n转瞬之间|0x800000|918\n转死沟壑|0x1000000|100\n转死沟渠|0x1000000|100\n转速表|0x100000|532\n转肽作用|0x0008|0\n转弯磨角|0x1000000|100\n转弯抹角|0x1000000|36091\n转弯子|0x1000|55074\n转湾抹角|0x1000000|100\n转危为安|0x1000000|27091\n转向架|0x100000|1115\n转向离合器|0x0008|0\n转向器|0x100000|969\n转型期|0x100000|826\n转学生|0x100000|964\n转眼间|0x4000|16981\n转眼之间|0x1000000|802\n转业军人|0x100000|976\n转移酶|0x0008|0\n转移性|0x0000|442\n转移因子|0x0008|0\n转益多师|0x100000|1197\n转忧为喜|0x800000|44897\n转运站|0x100000|40075\n转灾为福|0x1000000|100\n转赠给|0x1000|7\n转辗反侧|0x1000000|100\n转战千里|0x1000000|1122\n转折点|0x100000|18167\n转辙机|0x0008|1258\n转子泵|0x100000|393\n撰稿人|0x100000|30679\n篆刻家|0x100000|48598\n馔玉炊金|0x1000000|100\n馔玉炊珠|0x1000000|100\n妆聋做哑|0x1000000|100\n妆嫫费黛|0x1000000|100\n妆模作样|0x1000000|100\n庄河市|0x0040|1478\n庄户人|0x100000|34568\n庄稼地|0x100000|23845\n庄稼汉|0x100000|24617\n庄稼活儿|0x100000|1067\n庄稼人|0x100000|10372\n庄稼院|0x100000|44063\n庄浪县|0x0040|1087\n庄生梦蝶|0x0000|100\n庄舄越吟|0x0000|100\n庄严宝相|0x1000000|100\n庄园主|0x100000|44315\n庄周梦蝶|0x800000|1014\n桩基础|0x100000|447\n装点门面|0x800000|1037\n装点一新|0x400000|1\n装疯卖傻|0x1000000|45489\n装疯作傻|0x0000|100\n装糊涂|0x1000|29489\n装潢门面|0x800000|1278\n装璜设计|0x100000|396\n装机容量|0x100000|874\n装甲兵|0x100000|27177\n装甲部队|0x0008|19\n装甲车|0x100000|17809\n装甲师|0x100000|1566\n装聋卖傻|0x0000|100\n装聋作哑|0x1000000|38208\n装门面|0x800000|45186\n装模作样|0x1000000|22525\n装配厂|0x100000|988\n装配车间|0x0008|0\n装配工|0x100000|49696\n装配式|0x20000000|985\n装配线|0x100000|44599\n装腔作势|0x1000000|28597\n装腔作态|0x0000|100\n装怯作勇|0x1000000|100\n装傻充愣|0x1000000|50063\n装神弄鬼|0x1000000|40289\n装饰玻璃|0x100000|402\n装饰布|0x100000|49346\n装饰画|0x100000|802\n装饰品|0x100000|25063\n装饰五金|0x100000|440\n装饰物|0x100000|888\n装饰性|0x100000|846\n装饰音|0x100000|1072\n装饰有限公司|0x100000|548\n装死卖活|0x800000|0\n装孙子|0x800000|922\n装卸队|0x100000|953\n装卸工|0x100000|34143\n装卸桥|0x0008|1255\n装修论坛|0x100000|559\n装岩机|0x100000|1210\n装样子|0x1000|47901\n装妖作怪|0x0000|100\n装运港|0x0000|399\n装运量|0x100000|1345\n装载量|0x100000|1134\n壮发冲冠|0x1000000|100\n壮怀激烈|0x800000|951\n壮劳力|0x0000|36586\n壮门面|0x0000|55076\n壮年人|0x100000|1100\n壮气凌云|0x1000000|100\n壮气吞牛|0x0000|100\n壮士断腕|0x1000000|1\n壮士解腕|0x1000000|100\n壮心不已|0x800000|1033\n壮志凌云|0x1000000|857\n壮志未酬|0x1000000|42367\n壮族自治区|0x100000|575\n状态变量|0x0008|0\n状态方程|0x0008|0\n状态机|0x100000|409\n状态栏|0x0000|534\n状态图|0x0008|0\n状元坊|0x100000|390\n撞府冲州|0x1000000|100\n撞头搕脑|0x1000000|100\n撞头磕脑|0x1000000|100\n撞阵冲军|0x0000|100\n追奔逐北|0x1000000|54107\n追本穷源|0x1000000|1334\n追本溯源|0x1000000|46370\n追悼会|0x100000|15499\n追风掣电|0x1000000|100\n追风蹑景|0x1000000|100\n追风蹑影|0x1000000|100\n追风摄景|0x1000000|100\n追风逐电|0x1000000|1253\n追风逐日|0x1000000|100\n追风逐影|0x1000000|100\n追根查源|0x1000000|100\n追根究底|0x1000000|46972\n追根究蒂|0x1000000|100\n追根穷源|0x1000000|100\n追根求源|0x1000000|1212\n追根溯源|0x1000000|934\n追根问底|0x1000000|1090\n追根寻底|0x1000000|100\n追欢买笑|0x1000000|100\n追欢卖笑|0x1000000|0\n追欢取乐|0x1000000|100\n追欢作乐|0x1000000|100\n追悔何及|0x0000|100\n追悔莫及|0x1000000|43114\n追魂夺命|0x1000000|1146\n追魂夺魄|0x1000000|100\n追魂摄魄|0x1000000|100\n追名逐利|0x800000|960\n追趋逐耆|0x1000000|100\n追诉时效|0x0008|0\n追溯到|0x0000|546\n追随者|0x100000|783\n追亡逐北|0x1000000|1182\n追亡逐遁|0x1000000|100\n追星一族|0x400000|0\n追星族|0x100000|33864\n追远慎终|0x1000000|100\n追云逐电|0x1000000|100\n追踪者|0x0000|419\n椎动脉|0x0008|0\n椎锋陷陈|0x1000000|100\n椎锋陷阵|0x0000|100\n椎肤剥髓|0x1000000|100\n椎肤剥体|0x1000000|100\n椎髻布衣|0x0000|100\n椎间盘|0x100000|43580\n椎间盘突出|0x100000|517\n椎埋狗窃|0x1000000|100\n椎埋屠狗|0x1000000|100\n椎牛发冢|0x1000000|100\n椎牛歃血|0x1000000|100\n椎牛飨士|0x0000|100\n椎天抢地|0x1000000|100\n椎心顿足|0x1000000|100\n椎心呕血|0x1000000|100\n椎心泣血|0x1000000|1130\n椎心饮泣|0x1000000|100\n椎胸跌足|0x1000000|100\n椎胸顿足|0x1000000|100\n椎膺顿足|0x1000000|100\n锥处囊中|0x1000000|1330\n锥刀之利|0x0000|100\n锥刀之末|0x1000000|100\n锥体束|0x0008|0\n坠溷飘茵|0x1000000|100\n坠茵落溷|0x1000000|100\n惴惴不安|0x1000000|26865\n赘食太仓|0x1000000|100\n谆谆不倦|0x1000000|100\n谆谆告戒|0x1000000|0\n谆谆告诫|0x1000000|1060\n谆谆诰诫|0x1000000|100\n谆谆教导|0x800000|948\n谆谆教诲|0x800000|932\n准备工作|0x0000|680\n准备金|0x100000|740\n准分子激光|0x0000|453\n准噶尔|0x0040|1557\n准噶尔盆地|0x0040|1704\n准高速|0x0000|49347\n准格尔|0x0040|1598\n准格尔旗|0x0040|1691\n准静态过程|0x0008|0\n准决赛|0x0008|431\n准军事|0x100000|1015\n准考证|0x100000|37664\n准平原|0x100000|0\n准谱儿|0x100000|55077\n准确度|0x100000|826\n准确率|0x100000|791\n准确无误|0x800000|806\n准确性|0x100000|497\n准入条件|0x100000|465\n准生证|0x0008|935\n准新郎|0x0000|409\n准信儿|0x100000|50463\n准性生殖|0x0008|0\n准一级反应|0x400000|0\n卓别林|0x0080|1416\n卓尔不群|0x1000000|43821\n卓尔独行|0x1000000|100\n卓乎不群|0x1000000|1264\n卓立鸡群|0x0000|100\n卓荦不羁|0x1000000|100\n卓荦超伦|0x0000|100\n卓尼县|0x0040|1130\n卓然不群|0x1000000|1137\n卓有成就|0x0000|39030\n卓有成效|0x1000000|8198\n卓有远见|0x800000|1250\n卓资县|0x0040|1131\n拙贝罗香|0x1000000|100\n拙口笨腮|0x1000000|100\n拙口钝腮|0x1000000|100\n拙嘴笨腮|0x1000000|100\n拙嘴笨舌|0x1000000|100\n捉班做势|0x1000000|100\n捉风捕影|0x1000000|1541\n捉风捕月|0x1000000|100\n捉虎擒蛟|0x0000|100\n捉鸡骂狗|0x1000000|0\n捉衿见肘|0x1000000|0\n捉衿露肘|0x1000000|0\n捉衿肘见|0x1000000|100\n捉襟见肘|0x1000000|23151\n捉襟露肘|0x1000000|0\n捉襟肘见|0x1000000|100\n捉迷藏|0x1000|31945\n捉摸不定|0x800000|829\n捉拿归案|0x800000|1021\n捉生替死|0x1000000|100\n捉鼠拿猫|0x0000|100\n捉影捕风|0x1000000|100\n捉贼捉赃|0x1000000|1255\n捉贼捉脏|0x0000|100\n桌面版|0x100000|540\n桌面背景|0x100000|456\n桌面壁纸|0x100000|570\n桌面儿上|0x100000|0\n桌面墙纸|0x100000|994\n桌面上|0x0000|18264\n桌面图标|0x100000|505\n桌面图片|0x100000|428\n桌面主题|0x100000|514\n桌球室|0x0008|1501\n桌椅板凳|0x100000|41168\n涿鹿县|0x0040|1648\n涿州市|0x0040|1499\n灼艾分痛|0x1000000|100\n灼见真知|0x1000000|100\n灼热感|0x100000|1003\n茁壮成长|0x800000|767\n斫琱为朴|0x1000000|100\n斫雕为朴|0x1000000|100\n斫轮老手|0x100000|100\n浊度计|0x0008|1081\n浊骨凡胎|0x1000000|100\n浊泾清渭|0x1000000|100\n浊水溪|0x0040|1074\n浊质凡姿|0x1000000|100\n浞訾栗斯|0x1000000|100\n酌古参今|0x1000000|100\n酌古沿今|0x1000000|100\n酌古御今|0x1000000|100\n酌古斟今|0x1000000|100\n酌古准今|0x1000000|100\n酌金馔玉|0x1000000|100\n酌情处理|0x800000|1076\n酌水知源|0x1000000|100\n酌盈剂虚|0x1000000|100\n酌盈注虚|0x1000000|100\n啄木鸟|0x100000|21560\n着火点|0x100000|1140\n着力点|0x100000|854\n着力于|0x0000|24215\n着陆点|0x100000|1092\n着人先鞭|0x800000|100\n着三不着两|0x400008|0\n着手成春|0x1000000|1296\n着书立说|0x0000|100\n着眼点|0x100000|16162\n着眼于|0x1000|5835\n着重点|0x100000|35618\n着重号|0x100000|54109\n琢磨不透|0x800000|793\n斲轮老手|0x100000|0\n擢发莫数|0x0000|100\n擢发难数|0x1000000|1357\n擢筋剥肤|0x1000000|0\n擢筋割骨|0x1000000|0\n濯污扬清|0x0000|100\n濯足濯缨|0x1000000|100\n仔仔细细|0x0100|846\n孜孜不辍|0x1000000|100\n孜孜不怠|0x1000000|100\n孜孜不倦|0x1000000|21745\n孜孜不懈|0x1000000|100\n孜孜汲汲|0x1000000|100\n孜孜矻矻|0x1000000|0\n孜孜无怠|0x1000000|100\n孜孜无倦|0x1000000|100\n孜孜以求|0x800000|22770\n兹事体大|0x1000000|1094\n咨询电话|0x100000|575\n咨询服务|0x0008|584\n咨询机构|0x100000|761\n咨询委员会|0x0008|487\n咨询有限公司|0x100000|664\n咨询者|0x100000|927\n咨询中心|0x100000|704\n姿意妄为|0x1000000|100\n资本额|0x100000|955\n资本积累|0x0008|467\n资本集中|0x0008|0\n资本家|0x100000|7056\n资本金|0x100000|570\n资本论|0x0008|889\n资本市场|0x100000|687\n资本输出|0x0008|0\n资本循环|0x0008|0\n资本有机构成|0x0000|378\n资本运作|0x100000|797\n资本周转|0x0008|0\n资本主义|0x100000|2162\n资本主义地租|0x0008|0\n资本主义国家|0x0008|513\n资本主义经济|0x0008|455\n资本主义社会|0x0008|495\n资本主义制度|0x0008|451\n资不抵债|0x800000|25176\n资产负债|0x100000|788\n资产负债表|0x100000|839\n资产负债率|0x100000|926\n资产阶级|0x100000|3262\n资产阶级革命|0x0008|456\n资产阶级民主|0x0008|399\n资产阶级专政|0x0008|0\n资产阶级自由化|0x0000|407\n资产评估|0x0000|42843\n资产重组|0x100000|792\n资格考试|0x100000|631\n资格赛|0x100000|522\n资格证|0x100000|611\n资格证书|0x100000|668\n资金不足|0x0000|513\n资金紧张|0x0000|473\n资金来源|0x0008|585\n资金面|0x100000|503\n资金平衡表|0x0008|0\n资金投入|0x100000|585\n资金运用|0x0008|0\n资金占用|0x0008|1\n资金周转|0x0008|513\n资料册|0x100000|409\n资料袋|0x100000|414\n资料馆|0x100000|511\n资料汇编|0x100000|460\n资料夹|0x100000|546\n资料卡|0x100000|446\n资料库|0x100000|574\n资料片|0x100000|752\n资料篇|0x100000|445\n资料软件|0x100000|386\n资料室|0x100000|863\n资料中心|0x100000|732\n资深望重|0x1000000|100\n资溪县|0x0040|1065\n资兴市|0x0040|1584\n资讯网|0x100000|712\n资讯业|0x100000|391\n资讯有限公司|0x100000|508\n资讯中心|0x100000|629\n资阳市|0x0040|1478\n资优生|0x0008|1073\n资源班|0x100000|0\n资源地理学|0x0008|0\n资源丰富|0x100000|693\n资源共享|0x0008|634\n资源管理|0x0008|554\n资源管理器|0x100000|615\n资源库|0x100000|739\n资源类型|0x100000|616\n资源利用率|0x100000|448\n资源配置|0x0008|757\n资源税|0x100000|495\n资源县|0x0040|1610\n资源优势|0x100000|721\n资源整合|0x0000|562\n资治通鉴|0x0008|796\n资质等级|0x100000|537\n资质证书|0x100000|557\n资中县|0x0040|1043\n淄博市|0x0040|1163\n谘经诹史|0x1000000|100\n谘询费|0x100000|0\n孳蔓难图|0x1000000|100\n孳孳不倦|0x1000000|100\n孳孳汲汲|0x1000000|100\n孳孳矻矻|0x1000000|100\n滋补品|0x100000|43115\n滋蔓难图|0x0000|100\n滋养品|0x100000|1197\n趑趄不前|0x1000000|0\n锱珠必较|0x1000000|100\n锱铢必较|0x1000000|45491\n锱铢不爽|0x1000000|100\n锱铢较量|0x1000000|100\n龇牙咧嘴|0x1000000|32857\n龇牙裂嘴|0x1000000|1228\n子长县|0x0040|1103\n子承父业|0x800000|974\n子程序|0x0008|913\n子丑寅卯|0x800000|45188\n子弹头|0x0000|467\n子弹型|0x100000|0\n子弟兵|0x100000|15754\n子弟学校|0x100000|477\n子公司|0x100000|11814\n子宫癌|0x100000|957\n子宫出血|0x0008|401\n子宫颈|0x100000|42844\n子宫颈癌|0x100000|473\n子函数|0x0000|405\n子母弹|0x0008|1147\n子母扣儿|0x100000|100\n子母钟|0x100000|1259\n子目录|0x100000|789\n子囊孢子|0x0008|0\n子囊壳|0x100000|0\n子女教育|0x100000|498\n子女玉帛|0x0000|100\n子孙后代|0x100000|773\n子孙万代|0x800000|1111\n子网掩码|0x0000|511\n子为父隐|0x0000|100\n子午卯酉|0x800000|1150\n子午线|0x100000|35931\n子午仪|0x0008|1358\n子系统|0x100000|20149\n子夏悬鹑|0x0000|100\n子孝父慈|0x0000|100\n子虚乌有|0x1000000|31588\n子曰诗云|0x1000000|1156\n子洲县|0x0040|1110\n子子孙孙|0x1000000|922\n姊妹花|0x100000|953\n姊妹篇|0x100000|45189\n姊妹品|0x100000|0\n秭归县|0x0040|1560\n梓潼县|0x0040|1112\n紫贝齿|0x100000|1396\n紫菜汤|0x0008|387\n紫草茸|0x100000|1398\n紫貂皮|0x100000|1311\n紫丁香|0x100000|38419\n紫光拼音|0x0000|491\n紫河车|0x100000|1108\n紫黑色|0x100000|964\n紫红色|0x100000|817\n紫花地丁|0x0008|1049\n紫花苜蓿|0x800000|39233\n紫金山|0x0040|1360\n紫金山天文台|0x0020|1630\n紫金县|0x0040|1648\n紫禁城|0x0020|15714\n紫荆花|0x100000|872\n紫罗兰|0x100000|32858\n紫罗兰色|0x100000|1020\n紫茉莉|0x0008|1100\n紫陌红尘|0x100000|1086\n紫气东来|0x800000|948\n紫色土|0x0008|0\n紫砂壶|0x100000|856\n紫杉醇|0x0008|1013\n紫石英|0x0008|1189\n紫绶金章|0x0000|100\n紫水晶|0x100000|802\n紫穗槐|0x100000|49350\n紫外光|0x0008|935\n紫外线|0x100000|14110\n紫外线吸收剂|0x100000|402\n紫外遥感|0x0008|0\n紫微斗数|0x100000|927\n紫阳县|0x0040|1101\n紫药水|0x100000|52129\n紫云英|0x100000|46973\n紫芝眉宇|0x0000|100\n紫竹调|0x100000|371\n字处理|0x0000|476\n字符串|0x100000|662\n字符集|0x100000|47281\n字里行间|0x1000000|19044\n字码儿|0x100000|0\n字母表|0x100000|50067\n字幕机|0x100000|1104\n字幕组|0x100000|650\n字顺索引|0x0008|0\n字顺文从|0x1000000|100\n字体大小|0x100000|699\n字体库|0x100000|369\n字帖儿|0x100000|0\n字眼儿|0x100000|13401\n字元组|0x100000|0\n字斟句酌|0x1000000|39658\n字正腔圆|0x1000000|40720\n字纸篓|0x100000|34734\n字字句句|0x100000|839\n字字珠玑|0x800000|915\n字字珠玉|0x0000|100\n字左右|0x100000|511\n自拔来归|0x1000000|100\n自白书|0x100000|910\n自报公议|0x800000|1538\n自报家门|0x800000|955\n自暴自弃|0x1000000|26241\n自卑感|0x100000|29925\n自闭性|0x100000|0\n自闭症|0x0008|1264\n自编铃声|0x0000|539\n自变量|0x100000|1033\n自变数|0x100000|1372\n自不待言|0x800000|30887\n自不量力|0x40000000|45787\n自惭形秽|0x1000000|29603\n自查自纠|0x800000|932\n自产自销|0x800000|40718\n自称为|0x100000|828\n自成体系|0x0000|35770\n自成一格|0x400000|990\n自成一家|0x1400000|40292\n自成一体|0xc00000|41634\n自出机轴|0x0000|100\n自出机杼|0x1000000|1237\n自出心裁|0x0000|100\n自出新裁|0x0000|100\n自出一家|0x400000|100\n自传体|0x100000|932\n自吹自擂|0x1000000|40719\n自吹自捧|0x0000|100\n自厝同异|0x0000|100\n自大狂|0x100000|929\n自得其乐|0x1000|29174\n自定义|0x0000|746\n自定中心振动筛|0x0008|0\n自动闭塞|0x0008|1\n自动变速器|0x100000|496\n自动步枪|0x800000|36935\n自动挡|0x100000|536\n自动档|0x100000|535\n自动电话|0x0008|0\n自动扶梯|0x100000|458\n自动更新|0x0000|588\n自动关机|0x0000|577\n自动柜员机|0x100000|1\n自动化|0x1000|7106\n自动化设备有限公司|0x100000|476\n自动绘图|0x0008|0\n自动机|0x100000|1004\n自动记录|0x100000|513\n自动驾驶仪|0x0008|0\n自动检测|0x100000|551\n自动开关|0x0008|0\n自动控制|0x100000|23517\n自动控制系统|0x0000|482\n自动门|0x0008|52590\n自动频率控制|0x0008|0\n自动气象站|0x100000|378\n自动铅笔|0x100000|55561\n自动生产线|0x0008|416\n自动识别|0x0008|777\n自动武器|0x100000|18\n自动线|0x100000|1050\n自动性|0x100000|1199\n自动增益控制|0x0008|401\n自动装置|0x0008|1\n自发辐射|0x0008|0\n自发性|0x100000|882\n自费生|0x100000|39862\n自负不凡|0x0000|100\n自负盈亏|0x800000|17218\n自甘暴弃|0x0000|100\n自甘堕落|0x1000000|879\n自感应|0x100000|1150\n自高自大|0x1000000|43583\n自告奋勇|0x1000000|22974\n自个儿|0x10000|762\n自给有余|0x800000|1122\n自给自足|0x1000000|24261\n自耕农|0x100000|28692\n自供状|0x100000|1265\n自贡市|0x0040|1378\n自古华山一条路|0x400000|1\n自古以来|0x800000|707\n自顾不暇|0x1000000|41635\n自顾自|0x800000|28793\n自刽以下|0x800000|100\n自豪感|0x100000|15051\n自花传粉|0x800000|1296\n自花授粉|0x0008|0\n自画像|0x100000|41636\n自坏长城|0x800000|100\n自己动手|0x0000|610\n自己方便|0x0000|100\n自己人|0x100000|50066\n自家人|0x100000|24618\n自交可育性|0x100000|0\n自交系|0x100000|1265\n自聚焦|0x0008|0\n自决权|0x100000|31590\n自觉形秽|0x0000|100\n自觉性|0x100000|6265\n自觉自愿|0x1000000|954\n自掘坟墓|0x800000|962\n自考生|0x100000|532\n自郐而下|0x0000|100\n自郐无讥|0x0000|100\n自郐以下|0x1000000|0\n自愧不如|0x800000|45788\n自愧弗如|0x1000000|49700\n自扩散|0x0008|0\n自来红|0x100000|54111\n自来水|0x100000|6969\n自来水笔|0x100000|31818\n自来水厂|0x100000|811\n自来水龙头|0x0000|382\n自力更生|0x1000000|9809\n自立门户|0x1000|42368\n自流灌溉|0x0008|51694\n自流井|0x100000|1046\n自流水|0x0008|0\n自留地|0x100000|18021\n自留山|0x0000|45492\n自留畜|0x100000|1360\n自律性|0x100000|941\n自卖自夸|0x1000000|48988\n自媒自衒|0x0000|100\n自民党|0x0020|915\n自鸣得意|0x1000000|33608\n自鸣钟|0x100000|36412\n自命不凡|0x1000000|36936\n自命清高|0x0000|100\n自谋职业|0x0000|498\n自耦变压器|0x0008|0\n自喷井|0x100000|0\n自欺欺人|0x1000000|25117\n自弃自暴|0x0000|100\n自强不息|0x1000000|10719\n自轻自贱|0x1000000|47280\n自求多福|0x0008|100\n自取咎戾|0x0000|100\n自取灭亡|0x1000000|920\n自取其祸|0x0000|100\n自取其咎|0x1000000|100\n自取其辱|0x800000|900\n自取罪戾|0x0000|100\n自然保护|0x0008|713\n自然保护区|0x100000|6690\n自然村|0x100000|16648\n自然地|0x0000|625\n自然地理|0x0008|868\n自然地理学|0x0008|1050\n自然段|0x0000|41399\n自然而然|0x800000|12015\n自然法|0x100000|1012\n自然法学派|0x0008|0\n自然法则|0x100000|1\n自然风光|0x100000|735\n自然风景|0x100000|487\n自然观|0x100000|1039\n自然光|0x100000|929\n自然规律|0x800000|15658\n自然环境|0x800000|732\n自然界|0x100000|6466\n自然经济|0x100000|35029\n自然景观|0x100000|761\n自然科学|0x800000|5877\n自然科学基金|0x0000|551\n自然课|0x100000|1044\n自然力|0x100000|31375\n自然疗法|0x0008|937\n自然码|0x0000|398\n自然美|0x100000|25869\n自然免疫|0x800000|1202\n自然人|0x100000|18416\n自然色|0x100000|421\n自然生态|0x100000|535\n自然数|0x100000|993\n自然通风|0x0008|0\n自然铜|0x0008|1215\n自然物|0x100000|1060\n自然选择|0x800000|943\n自然遗产|0x100000|483\n自然疫源地|0x0008|1\n自然语言|0x0008|918\n自然灾害|0x800000|6967\n自然增长率|0x0000|452\n自然哲学|0x0008|0\n自然主义|0x800000|921\n自然资源|0x800000|739\n自然资源保护|0x0008|13\n自燃性|0x100000|1377\n自认倒霉|0x800000|829\n自扫门前雪|0x100000|1016\n自杀身亡|0x0000|513\n自杀性|0x100000|932\n自杀者|0x100000|949\n自上而下|0x800000|819\n自身建设|0x100000|845\n自身抗体|0x0008|0\n自身抗原|0x0008|0\n自身免疫|0x0000|456\n自身免疫病|0x0008|0\n自身难保|0x0000|100\n自生自灭|0x1000|28983\n自食其恶果|0x0008|100\n自食其果|0x1000000|43116\n自食其力|0x1000000|23681\n自食其言|0x1000000|47905\n自始至终|0x1000000|14418\n自始自终|0x1000000|933\n自视甚高|0x800000|928\n自适应|0x0000|579\n自适应性|0x0008|0\n自树一帜|0x400000|100\n自说自话|0x1000000|38831\n自私自利|0x1000000|23569\n自诉人|0x100000|1134\n自叹弗如|0x800000|1008\n自讨苦吃|0x1000000|33077\n自讨没趣|0x1000000|39032\n自体受精|0x0008|0\n自同构|0x100000|1354\n自投罗网|0x1000000|35932\n自为阶级|0x0008|1069\n自卫队|0x100000|1338\n自我安慰|0x0000|523\n自我保健|0x0000|473\n自我标榜|0x800000|41865\n自我表现|0x800000|901\n自我吹嘘|0x800000|47590\n自我刺激|0x0008|0\n自我管理|0x100000|531\n自我鉴定|0x100000|849\n自我教育|0x0000|520\n自我解嘲|0x800000|37836\n自我介绍|0x0000|693\n自我批评|0x800000|11280\n自我陶醉|0x800000|38209\n自我完善|0x0000|500\n自我牺牲|0x1000000|29709\n自我中心|0x0008|0\n自我作古|0x1000000|54634\n自我作故|0x0000|100\n自习课|0x100000|879\n自习室|0x100000|513\n自下而上|0x800000|23905\n自相残害|0x1000000|1347\n自相残杀|0x1000000|34004\n自相惊扰|0x1000000|1405\n自相惊忧|0x800000|100\n自相矛盾|0x1000000|23153\n自相水火|0x0000|100\n自相鱼肉|0x1000000|53092\n自新之路|0x0000|100\n自信不疑|0x0000|100\n自信心|0x100000|12913\n自行车|0x100000|2693\n自行车厂|0x100000|379\n自行车配件|0x100000|396\n自行火炮|0x100000|46975\n自行其事|0x800000|1118\n自行其是|0x1000000|37665\n自行设计|0x100000|829\n自修室|0x0000|405\n自选动作|0x100000|36413\n自选商场|0x100000|49702\n自选市场|0x800000|977\n自学成才|0x800000|890\n自学考试|0x0000|22039\n自学能力|0x0000|497\n自学习|0x0008|0\n自学者|0x100000|425\n自寻短见|0x800000|50464\n自寻烦恼|0x800000|38624\n自崖而反|0x0000|100\n自言自语|0x1000|8616\n自业自得|0x0000|100\n自诒伊戚|0x0000|100\n自贻伊咎|0x0000|100\n自贻伊戚|0x800000|100\n自以为|0x0000|635\n自以为得计|0x0008|1092\n自以为是|0x1000000|18193\n自用则小|0x0000|100\n自由操|0x100000|372\n自由场|0x0008|0\n自由党|0x0020|1013\n自由电子|0x0008|907\n自由度|0x100000|27757\n自由锻|0x0008|0\n自由泛滥|0x800000|100\n自由放任|0x800000|1033\n自由港|0x100000|38210\n自由焓|0x0008|0\n自由化|0x1000|9766\n自由基|0x0000|558\n自由价格|0x100000|912\n自由竞争|0x0008|28078\n自由空间|0x100000|764\n自由落体|0x100000|861\n自由落体运动|0x0000|393\n自由贸易|0x0008|597\n自由贸易区|0x0008|1400\n自由面|0x0008|0\n自由民|0x0008|44065\n自由民主|0x100000|905\n自由能|0x0008|0\n自由派|0x0008|979\n自由权|0x100000|960\n自由人|0x100000|744\n自由日|0x4000|1157\n自由软件|0x0000|541\n自由诗|0x100000|1124\n自由市|0x0008|1232\n自由市场|0x100000|24216\n自由式|0x20000000|900\n自由体操|0x800000|33078\n自由王国|0x800000|38040\n自由性|0x100000|1033\n自由选择|0x0000|580\n自由泳|0x100000|12601\n自由振荡|0x0008|0\n自由职业|0x100000|35933\n自由职业者|0x100000|784\n自由主义|0x800000|15522\n自由主义者|0x100000|449\n自由自在|0x800000|18417\n自有公论|0x1000000|1069\n自有留人处|0x0008|0\n自有一套|0x400000|3\n自娱自乐|0x0000|33210\n自圆其说|0x1000000|30888\n自怨自艾|0x1000000|45789\n自愿性|0x100000|1020\n自愿者|0x100000|957\n自在不成人|0x0008|1192\n自在阶级|0x100000|842\n自找苦吃|0x800000|940\n自找麻烦|0x800000|880\n自知之明|0x1000000|25065\n自制力|0x100000|777\n自治法|0x100000|1043\n自治机关|0x800000|1118\n自治领|0x100000|1072\n自治区|0x100000|2388\n自治区人民政府|0x100000|524\n自治区政府|0x100000|484\n自治权|0x100000|1010\n自治省|0x100000|1210\n自治体|0x100000|1203\n自治县|0x100000|11066\n自治州|0x100000|13400\n自主经营|0x800000|893\n自主权|0x100000|10436\n自主神经|0x800000|1066\n自主神经系统|0x0008|0\n自主知识产权|0x0000|615\n自助餐|0x100000|30242\n自助餐厅|0x0000|431\n自助式|0x20000000|866\n自自然然|0x0008|0\n自尊心|0x100000|10857\n自作聪明|0x1000000|31259\n自作多情|0x800000|34268\n自作解人|0x800000|100\n自作门户|0x0000|100\n自作主张|0x800000|30133\n自作自受|0x1000000|33211\n恣情纵欲|0x1000000|1255\n恣肆无忌|0x1000|100\n恣睢无忌|0x0000|100\n恣无忌惮|0x1000000|100\n恣心纵欲|0x1000000|100\n恣行无忌|0x800000|0\n恣凶稔恶|0x1000000|100\n恣意妄为|0x1000000|1012\n恣意妄行|0x0000|100\n眦裂发指|0x800000|100\n宗教画|0x100000|1170\n宗教家|0x0000|383\n宗教建筑|0x0008|1\n宗教界|0x100000|12393\n宗教剧|0x100000|0\n宗教事务|0x100000|461\n宗教事务局|0x0000|407\n宗教心理学|0x0008|0\n宗教信仰|0x100000|726\n宗教学|0x100000|963\n宗教音乐|0x0008|985\n宗教政策|0x0008|786\n宗庙社稷|0x0000|100\n宗派主义|0x100000|1126\n宗师案临|0x0000|100\n宗主国|0x100000|41638\n宗主权|0x100000|53576\n综合布线|0x0000|566\n综合测试|0x0000|482\n综合大学|0x800000|39448\n综合地图集|0x0008|0\n综合法|0x100000|1068\n综合防治|0x0008|902\n综合分析|0x0000|570\n综合国力|0x100000|6174\n综合奖|0x100000|1183\n综合开发|0x0000|589\n综合考察|0x0008|2\n综合利用|0x1000|599\n综合楼|0x100000|782\n综合排名|0x100000|477\n综合平衡|0x0008|1\n综合商店|0x0008|0\n综合素质|0x0000|630\n综合所得税|0x0000|371\n综合体|0x100000|827\n综合信息|0x0000|575\n综合性|0x100000|548\n综合医院|0x0000|499\n综合艺术|0x0008|0\n综合运输|0x0008|5\n综合征|0x100000|31002\n综合症|0x100000|704\n综合执法|0x100000|479\n综合指数|0x100000|551\n综合治理|0x800000|4465\n综核名实|0x800000|100\n综上所述|0x10000000|18682\n综艺节目|0x100000|564\n棕钙土|0x100000|0\n棕榈泉|0x100000|417\n棕榈树|0x100000|879\n棕榈油|0x100000|41867\n总罢工|0x1000|1177\n总编辑|0x100000|765\n总部地址|0x100000|483\n总部电话|0x100000|480\n总裁班|0x100000|386\n总参谋部|0x100000|946\n总参谋长|0x100000|904\n总产量|0x100000|815\n总产值|0x100000|5984\n总成本|0x0000|516\n总储量|0x0000|423\n总代理|0x100000|608\n总的来看|0x800000|940\n总的来说|0x800000|18104\n总的说|0x800000|1012\n总的说来|0x10000000|24677\n总动员|0x1000|25803\n总督府|0x100000|964\n总队长|0x100000|1014\n总吨位|0x100000|1096\n总而言之|0x10000000|14900\n总方针|0x100000|35619\n总费用|0x0000|494\n总干事|0x0000|533\n总工程师|0x100000|11862\n总工会|0x100000|8879\n总公司|0x100000|6518\n总攻击|0x0008|0\n总供给|0x0000|436\n总冠军|0x100000|591\n总归一句|0x400000|0\n总归一句话|0x400000|0\n总后勤部|0x100000|946\n总会计师|0x0000|492\n总价值|0x100000|847\n总角之好|0x0000|100\n总角之交|0x800000|1248\n总结报告|0x0000|512\n总结会|0x100000|887\n总结经验|0x0000|581\n总结性|0x100000|888\n总金额|0x0000|603\n总经理|0x100000|2514\n总经理办公室|0x100000|465\n总经销|0x100000|803\n总经销商|0x0000|446\n总局局长|0x100000|505\n总孔隙度|0x0008|0\n总揽全局|0x0000|449\n总理府|0x100000|1037\n总理沙龙|0x100000|478\n总理衙门|0x0008|0\n总领馆|0x0000|21135\n总领事|0x100000|16811\n总领事馆|0x100000|918\n总路线|0x100000|20191\n总面积|0x100000|668\n总目标|0x0000|497\n总评榜|0x100000|430\n总起来讲|0x800000|1325\n总起来看|0x0000|53577\n总起来说|0x10000000|1085\n总趋势|0x0000|434\n总人数|0x0000|592\n总任务|0x100000|1102\n总商会|0x100000|897\n总收入|0x100000|8245\n总书记|0x100000|2440\n总司令|0x100000|9785\n总司令部|0x100000|997\n总体布局|0x0008|18\n总体方案|0x0000|462\n总体规划|0x0008|754\n总体目标|0x100000|529\n总体上|0x0000|606\n总体性|0x100000|1057\n总体战|0x100000|1168\n总统府|0x100000|800\n总统套房|0x0000|44066\n总统制|0x0008|1066\n总投资|0x0000|690\n总务长|0x0000|53094\n总务处|0x100000|851\n总务科|0x100000|1086\n总务组|0x100000|0\n总线技术|0x100000|445\n总线接口|0x100000|521\n总线频率|0x100000|527\n总星系|0x100000|1276\n总需求|0x0000|495\n总需氧量|0x0008|0\n总医院|0x100000|784\n总有一天|0x400000|13\n总预算|0x100000|997\n总政歌舞团|0x0020|1706\n总政治部|0x0020|1478\n总支出|0x100000|950\n总指挥|0x100000|10465\n总指挥部|0x100000|958\n总重量|0x0000|475\n总装备部|0x100000|991\n总装厂|0x100000|1103\n总状花序|0x800000|1133\n总总林林|0x0000|100\n纵断面|0x100000|1150\n纵风止燎|0x0000|100\n纵横捭阖|0x1000000|36414\n纵横驰骋|0x800000|37667\n纵横家|0x100000|1060\n纵横交错|0x800000|17990\n纵横交贯|0x0000|100\n纵横开合|0x0000|100\n纵横开阖|0x0000|100\n纵横谈|0x1000|927\n纵横天下|0x100000|849\n纵虎出柙|0x0000|100\n纵虎归山|0x1000000|55564\n纵火犯|0x100000|1072\n纵目四望|0x400000|0\n纵剖面|0x100000|1256\n纵曲枉直|0x0000|100\n纵欲无度|0x1000000|1126\n纵坐标|0x100000|1034\n邹城市|0x0040|1469\n邹平县|0x0040|1510\n邹衍谈天|0x1000000|100\n邹缨齐紫|0x1000000|100\n走出去|0x0000|657\n走村串户|0x800000|22197\n走道儿|0x1000|24262\n走得快|0x0000|433\n走得慢|0x0000|418\n走调儿|0x1000|49703\n走读生|0x100000|52592\n走伏无地|0x800000|100\n走钢丝|0x800000|40078\n走过场|0x1000000|13976\n走过来|0x1000|592\n走好运|0x1000|1045\n走红运|0x1000|1248\n走后门|0x800000|21377\n走花溜冰|0x0000|100\n走花溜水|0x1000|100\n走火入魔|0x800000|37124\n走极端|0x800000|33080\n走江湖|0x1000|40946\n走街串巷|0x800000|26106\n走捷径|0x0000|39659\n走老路|0x0000|44318\n走漏风声|0x1000000|1093\n走漏天机|0x0000|100\n走马到任|0x0000|100\n走马灯|0x800000|25314\n走马赴任|0x800000|1396\n走马观花|0x1000000|25605\n走马换将|0x1000000|1086\n走马看花|0x1000000|46658\n走马上任|0x1000000|21466\n走马章台|0x0000|100\n走门串户|0x800000|1272\n走门路|0x1000|0\n走内线|0x1000|1332\n走南闯北|0x1000000|26433\n走娘家|0x800000|0\n走亲访友|0x800000|898\n走亲戚|0x1000|27094\n走神儿|0x0000|34144\n走石飞沙|0x0000|100\n走势图|0x100000|601\n走私案|0x100000|1000\n走私船|0x100000|1193\n走私犯|0x100000|45790\n走私贩私|0x800000|1139\n走私货|0x100000|1128\n走私者|0x100000|1005\n走头无路|0x1000000|1060\n走投没路|0x0000|100\n走投无路|0x1000000|19211\n走弯路|0x800000|24742\n走为上策|0x800000|1018\n走为上计|0x800000|1031\n走为上着|0x0000|100\n走味儿|0x1000|0\n走下坡路|0x800000|31593\n走向世界|0x100000|716\n走形式|0x800000|38042\n走一步算一步|0x400000|0\n走着瞧|0x800000|25870\n走资派|0x100000|1025\n走走停停|0x1000|740\n奏鸣曲|0x100000|26107\n奏鸣曲式|0x0008|0\n租车费|0x100000|1171\n租借地|0x100000|44068\n租赁费|0x100000|1051\n租庸调|0x0008|0\n足兵足食|0x1000000|100\n足不出户|0x1000000|22253\n足不出门|0x1000000|1151\n足不窥户|0x1000000|100\n足不履影|0x1000000|100\n足不逾户|0x1000000|100\n足部按摩|0x100000|395\n足秤老婆八两夫|0x400000|0\n足尺加二|0x1400000|0\n足蹈手舞|0x1000000|100\n足高气强|0x1000000|100\n足高气扬|0x1000000|100\n足茧手胝|0x1000000|0\n足趼舌敝|0x1000000|0\n足厥阴肝经|0x100000|1194\n足临泣|0x0008|0\n足窍阴|0x0008|0\n足球宝贝|0x100000|531\n足球报|0x100000|460\n足球比赛|0x100000|763\n足球博彩|0x100000|449\n足球彩票|0x100000|544\n足球场|0x100000|714\n足球队|0x100000|692\n足球甲级联赛|0x100000|478\n足球界|0x100000|456\n足球锦标赛|0x100000|474\n足球俱乐部|0x100000|553\n足球联赛|0x100000|538\n足球明星|0x100000|455\n足球赛|0x100000|683\n足球赛事|0x100000|464\n足球世界杯|0x100000|495\n足球鞋|0x100000|468\n足球学校|0x100000|430\n足球运动|0x100000|484\n足球运动员|0x100000|490\n足球资讯|0x100000|385\n足三里|0x500000|0\n足少阳胆经|0x0008|0\n足少阴肾经|0x100000|1177\n足食丰衣|0x1000000|100\n足食足兵|0x1000000|1231\n足踏实地|0x1000000|100\n足太阳膀胱经|0x0008|0\n足太阴脾经|0x0008|0\n足通谷|0x0040|0\n足痛治足|0x1000000|0\n足五里|0x400000|0\n足阳明胃经|0x0008|0\n足衣足食|0x1000000|100\n足音空谷|0x1000000|100\n足音跫然|0x0000|100\n足智多谋|0x1000000|30786\n足足有余|0x1000000|1194\n镞砺括羽|0x1000000|100\n阻断剂|0x0000|389\n阻遏物|0x0008|0\n阻击战|0x100000|32587\n阻抗匹配|0x0008|0\n阻抗素|0x100000|0\n阻尼力|0x100000|0\n阻山带河|0x1000000|100\n阻生牙|0x100000|1269\n阻滞剂|0x100000|1039\n组氨酸|0x100000|1113\n组成部分|0x800000|617\n组成非均一性|0x400000|0\n组蛋白|0x0008|0\n组合分析|0x0008|0\n组合概率|0x0008|0\n组合柜|0x100000|45793\n组合家具|0x0000|51696\n组合式|0x40000000|44900\n组合音响|0x100000|44901\n组委会|0x100000|5257\n组织胺|0x100000|1041\n组织变形|0x0008|0\n组织部|0x100000|1122\n组织部长|0x100000|883\n组织部门|0x100000|925\n组织蛋白酶|0x0008|0\n组织法|0x100000|896\n组织工作|0x100000|763\n组织关系|0x800000|25178\n组织后卫|0x100000|483\n组织化学|0x0008|0\n组织活动|0x100000|810\n组织机构|0x100000|665\n组织纪律|0x0000|480\n组织纪律性|0x100000|1027\n组织家|0x100000|0\n组织建设|0x0008|772\n组织领导|0x0000|580\n组织路线|0x0008|0\n组织培养|0x0008|2\n组织群众|0x0008|31\n组织上|0x0000|9681\n组织设计|0x100000|789\n组织生活|0x800000|19796\n组织网络|0x100000|943\n组织细胞|0x0008|469\n组织细胞增多症|0x0008|0\n组织协调|0x0000|563\n组织形式|0x0000|572\n组织性|0x100000|30474\n组织学|0x0008|902\n组织液|0x100000|1066\n组织者|0x100000|729\n俎上肉|0x100000|0\n俎樽折冲|0x1000000|100\n祖传秘方|0x800000|927\n祖父母|0x100000|27507\n祖功宗德|0x1000000|1537\n祖国大陆|0x100000|536\n祖国统一|0x400000|529\n祖龙一炬|0x400000|0\n祖龙之虐|0x1000000|100\n祖母绿|0x100000|47284\n祖师爷|0x100000|37307\n祖司麻|0x100000|0\n祖孙二人|0x400000|0\n祖孙三代|0x400000|2\n祖武宗文|0x1000000|100\n祖宗成法|0x1000000|1304\n祖宗法度|0x1000000|1365\n祖宗家法|0x1000000|1219\n祖祖辈辈|0x800000|15851\n钻冰求火|0x1000000|100\n钻冰求酥|0x1000|100\n钻冰取火|0x1000000|100\n钻洞觅缝|0x1000000|100\n钻杆吊卡|0x0008|0\n钻故纸堆|0x0000|100\n钻火得冰|0x1000000|100\n钻坚研微|0x1000000|100\n钻坚仰高|0x0000|100\n钻劲儿|0x0000|53579\n钻井泵|0x0008|0\n钻井船|0x0000|55081\n钻井队|0x100000|28984\n钻井平台|0x0000|42122\n钻空子|0x1000|30475\n钻孔机|0x0008|1570\n钻懒帮闲|0x0000|100\n钻木取火|0x1000|1025\n钻牛犄角|0x1000|0\n钻牛角|0x1000|1126\n钻牛角尖|0x1000000|42369\n钻皮出羽|0x1000000|100\n钻山塞海|0x1000000|100\n钻石戒指|0x0000|466\n钻时录井|0x0008|0\n钻探机|0x100000|1173\n钻天打洞|0x1000000|100\n钻天觅缝|0x1000000|100\n钻天杨|0x100000|52595\n钻头就锁|0x0000|100\n钻头觅缝|0x1000000|100\n钻隙逾墙|0x1000000|100\n钻心虫|0x100000|1269\n钻心刺骨|0x1000000|100\n钻穴逾墙|0x1000000|100\n钻穴逾隙|0x1000000|100\n钻穴逾垣|0x1000000|100\n嘴尖舌头快|0x0008|100\n嘴快舌长|0x1000000|100\n嘴皮子|0x100000|31480\n嘴清舌白|0x1000000|100\n嘴甜心苦|0x1000000|1259\n嘴直心快|0x800000|100\n晬面盎背|0x1000000|100\n最大公约数|0x100000|1081\n最大化|0x1000|663\n最大误差|0x0008|0\n最大值|0x100000|806\n最低报价|0x100000|452\n最低点|0x100000|792\n最低工资|0x0000|17435\n最低工资标准|0x0000|525\n最低价|0x100000|623\n最低气温|0x0000|513\n最低生活|0x100000|562\n最低售价|0x100000|466\n最低温度|0x0000|495\n最低限|0x100000|1089\n最高潮|0x100000|878\n最高处|0x100000|817\n最高等级|0x100000|491\n最高点|0x100000|728\n最高法院|0x100000|1248\n最高分|0x100000|545\n最高峰|0x100000|731\n最高级|0x100000|760\n最高级别|0x100000|464\n最高纪录|0x0008|37\n最高价|0x100000|705\n最高奖|0x0000|510\n最高境界|0x0000|617\n最高权力|0x0000|491\n最高人民|0x0000|551\n最高人民法院|0x0008|1170\n最高人民检察院|0x0020|1326\n最高水平|0x0000|571\n最高温度|0x0000|508\n最高院|0x100000|1038\n最高值|0x100000|942\n最后通牒|0x800000|23906\n最后一笔|0x400000|4\n最后一公里|0x400000|0\n最惠国|0x100000|27095\n最惠国待遇|0x100000|33865\n最佳答案|0x100000|569\n最佳雇主|0x100000|427\n最佳时机|0x100000|543\n最佳时期|0x100000|452\n最佳一致逼近|0x400000|0\n最佳影片|0x100000|559\n最佳阵容|0x100000|510\n最佳值|0x0008|0\n最接近|0x40000000|567\n最近几年|0x0000|568\n最近几天|0x0000|523\n最靠近|0x40000000|477\n最理想|0x40000000|602\n最南端|0x40000000|477\n最强音|0x100000|925\n最深处|0x0000|582\n最喜欢|0x0000|787\n最小二乘法|0x400008|0\n最小公倍数|0x100000|1110\n最小化|0x100000|777\n最小值|0x0000|518\n最新版|0x100000|741\n最新报价|0x100000|604\n最新补丁|0x100000|465\n最新电影|0x100000|592\n最新动态|0x100000|606\n最新房地产|0x100000|493\n最新更新|0x100000|687\n最新公告|0x100000|587\n最新进展|0x0000|510\n最新军事|0x100000|433\n最新款|0x100000|584\n最新排名|0x100000|506\n最新图书|0x100000|427\n最新消息|0x100000|767\n最新信息|0x100000|611\n最新影片|0x100000|448\n最新章节|0x100000|522\n最新招聘信息|0x100000|433\n最新专集|0x100000|485\n最新专辑|0x100000|639\n最新资讯|0x100000|556\n最优设计|0x0008|0\n最终版|0x100000|507\n最终传动|0x0008|0\n最终幻想|0x100000|685\n最终目标|0x0000|537\n最终用户|0x0000|538\n最重要|0x0000|834\n最主要|0x0000|711\n最著名|0x40000000|629\n罪案现场|0x100000|461\n罪不可逭|0x800000|100\n罪不容赦|0x800000|1248\n罪不容诛|0x1000000|48249\n罪不胜诛|0x0000|100\n罪大恶极|0x1000000|30243\n罪当万死|0x0000|100\n罪恶都市|0x100000|484\n罪恶感|0x100000|772\n罪恶贯盈|0x0000|100\n罪恶滔天|0x800000|1045\n罪恶昭彰|0x800000|0\n罪恶昭著|0x800000|0\n罪二级字|0x400000|0\n罪该万死|0x800000|37308\n罪加一等|0x400000|1050\n罪魁祸首|0x100000|23682\n罪逆深重|0x0000|100\n罪孽深重|0x800000|914\n罪人不孥|0x0000|100\n罪业深重|0x0000|100\n罪应万死|0x0000|100\n罪有应得|0x1000000|36093\n罪有攸归|0x0000|100\n罪责难逃|0x800000|1137\n醉酒饱德|0x1000000|100\n醉山颓倒|0x1000000|100\n醉生梦死|0x1000000|37480\n醉死梦生|0x1000000|1109\n醉吐相茵|0x1000000|100\n醉翁亭|0x100000|394\n醉翁之意不在酒|0x0008|40947\n醉舞狂歌|0x1000000|100\n醉醺醺|0x0100|30134\n醉玉颓山|0x1000000|100\n尊夫人|0x0000|44070\n尊古卑今|0x0000|100\n尊老爱幼|0x1000|872\n尊年尚齿|0x0000|100\n尊师爱生|0x0008|0\n尊师贵道|0x1000|100\n尊师重道|0x1000000|49704\n尊师重教|0x800000|32084\n尊无二上|0x1400000|0\n尊贤使能|0x1000|1409\n尊姓大名|0x0000|42630\n尊重人才|0x0000|483\n尊重知识|0x0000|494\n尊主泽民|0x1000000|100\n尊俎折冲|0x1000000|100\n遵道秉义|0x1000000|100\n遵而不失|0x1000000|100\n遵而勿失|0x1000000|100\n遵化市|0x0040|1493\n遵纪爱民|0x800000|1219\n遵纪守法|0x800000|12487\n遵时养晦|0x1000000|100\n遵厌兆祥|0x1000000|100\n遵养待时|0x1000000|100\n遵养晦时|0x1000000|100\n遵养时晦|0x1000000|1255\n遵一级字|0x400000|0\n遵义会议|0x0008|1515\n遵义市|0x0040|1413\n遵义县|0x0040|1600\n遵章守纪|0x800000|45794\n樽酒论文|0x1000000|0\n樽前月下|0x1000000|100\n樽俎折冲|0x1000000|100\n昨儿个|0x4000|1004\n昨日下午|0x100000|583\n昨天晚上|0x0000|678\n左膀右臂|0x800000|46375\n左边锋|0x100000|1070\n左边前卫|0x100000|905\n左不过|0x8000000|1228\n左道旁门|0x1000000|54638\n左辅右弼|0x1000000|1223\n左贡县|0x0040|1143\n左顾右眄|0x1000000|100\n左顾右盼|0x1000000|26025\n左后卫|0x100000|805\n左家娇女|0x1000000|0\n左建外易|0x1000000|0\n左邻右里|0x1000000|939\n左邻右舍|0x1000000|20646\n左轮枪|0x0000|373\n左轮手枪|0x100000|984\n左撇子|0x100000|46086\n左铅右椠|0x1000000|100\n左前卫|0x100000|960\n左权县|0x0040|1072\n左嗓子|0x100000|1300\n左上方|0x2000000|879\n左上角|0x100000|769\n左手边|0x0000|493\n左手画方|0x0000|100\n左书右息|0x1000000|100\n左说右说|0x800000|0\n左思右想|0x1000000|29493\n左提右挈|0x1000000|100\n左图右史|0x1000000|100\n左图右书|0x1000000|100\n左下方|0x2000000|924\n左下角|0x2000000|805\n左心室|0x0000|430\n左一致结构|0x400000|0\n左宜右宜|0x1000000|100\n左宜右有|0x1000000|100\n左萦右拂|0x1000000|100\n左拥右抱|0x800000|885\n左右采获|0x800000|100\n左右方|0x100000|1198\n左右逢原|0x1000000|100\n左右逢源|0x1000000|35622\n左右开弓|0x1000000|38212\n左右两难|0x1000000|1170\n左右手|0x800000|39449\n左右图史|0x1000000|100\n左右为难|0x1000000|25536\n左右摇摆|0x0000|480\n左右翼|0x100000|1135\n左云县|0x0040|1073\n左支右绌|0x1000000|50846\n左支右调|0x1000000|100\n左支右吾|0x1000000|100\n左枝右梧|0x1000000|100\n左左右右|0x800000|953\n佐藤浩市|0x0080|0\n佐藤蓝子|0x0080|0\n佐雍得尝|0x800000|100\n佐饔得尝|0x1000000|100\n佐治亚|0x0040|1047\n佐治亚州|0x0040|1662\n作笔记|0x0000|400\n作壁上观|0x1000000|39450\n作辍无常|0x1000000|100\n作歹为非|0x1000000|0\n作恶多端|0x1000000|949\n作法自毙|0x1000000|1192\n作法自弊|0x1000000|100\n作福作威|0x0000|100\n作古正经|0x1000000|100\n作好作歹|0x1000000|1542\n作家列表|0x100000|440\n作家协会|0x100000|14679\n作嫁衣裳|0x1000000|100\n作奸犯科|0x1000000|49353\n作奸犯罪|0x1000000|0\n作茧自缚|0x1000000|37309\n作金石声|0x0000|100\n作困兽斗|0x1000|0\n作浪兴风|0x1000000|100\n作品版权|0x100000|500\n作品集|0x100000|639\n作品简介|0x100000|641\n作品名称|0x100000|613\n作品选|0x100000|520\n作品展|0x100000|571\n作曲家|0x100000|10494\n作如是观|0x1000000|993\n作善降祥|0x1000000|100\n作舍道边|0x1000000|100\n作舍道旁|0x0000|100\n作威作福|0x1000000|32860\n作伪证|0x0000|428\n作小服低|0x1000000|100\n作言造语|0x1000000|100\n作业本|0x100000|21251\n作业簿|0x0000|368\n作业区|0x100000|981\n作业题|0x100000|396\n作用力|0x100000|22439\n作育人材|0x1000|100\n作贼心虚|0x1000000|1076\n作者简介|0x100000|609\n作作有芒|0x0000|100\n坐班房|0x0000|50071\n坐北朝南|0x800000|946\n坐便器|0x100000|898\n坐标系|0x100000|29079\n坐标轴|0x100000|1010\n坐不安席|0x1000000|100\n坐不垂堂|0x1000000|1245\n坐不改姓|0x1000000|1084\n坐不窥堂|0x1000000|100\n坐不重席|0x1000000|100\n坐吃山崩|0x1000000|100\n坐吃山空|0x1000000|36259\n坐筹帷幄|0x1000000|100\n坐地分赃|0x1000000|54641\n坐地分脏|0x0000|100\n坐地自划|0x1000000|100\n坐而待毙|0x1000000|100\n坐而待弊|0x1000000|100\n坐而待旦|0x0000|100\n坐而论道|0x1000000|44320\n坐飞机|0x1000|564\n坐骨神经|0x800000|45193\n坐骨神经痛|0x0008|447\n坐观成败|0x1000000|52134\n坐怀不乱|0x1000000|47912\n坐机关|0x0000|51698\n坐江山|0x1000|46659\n坐戒垂堂|0x1000000|0\n坐禁闭|0x1000|1537\n坐井观天|0x1000000|46660\n坐井窥天|0x1000000|0\n坐冷板凳|0x1000000|39234\n坐立不安|0x1000000|23053\n坐山观虎斗|0x0008|51257\n坐上琴心|0x1000000|100\n坐失机宜|0x1000000|100\n坐失良机|0x1000000|41170\n坐失事机|0x1000000|100\n坐食山空|0x1000000|100\n坐视不管|0x800000|888\n坐视不救|0x800000|1269\n坐视成败|0x1000000|100\n坐收渔利|0x1000000|52599\n坐树不言|0x1000000|100\n坐树无言|0x1000000|100\n坐天下|0x1000|44601\n坐卧不安|0x1000000|39451\n坐卧不离|0x1000000|100\n坐卧不宁|0x1000000|45795\n坐卧针毡|0x0000|100\n坐无虚席|0x1000000|1123\n坐下来|0x0000|417\n坐享其成|0x1000000|36590\n坐享其功|0x1000000|100\n坐薪尝胆|0x1000000|100\n坐薪悬胆|0x1000000|100\n坐言起行|0x800000|1124\n坐以待毙|0x1000000|40508\n坐以待旦|0x1000000|1228\n坐拥百城|0x1000000|100\n坐拥书城|0x1000000|1106\n坐于涂炭|0x0000|100\n坐月子|0x1000|35320\n坐运筹策|0x1000000|100\n柞水县|0x0040|1616\n柞丝绸|0x100000|1376\n座机费|0x100000|0\n座上宾|0x100000|1021\n座上客|0x100000|44321\n座谈会|0x100000|2283\n座无虚席|0x1000000|15622\n座右铭|0x100000|20892\n做得好|0x40000000|572\n做刚做柔|0x1000000|100\n做工作|0x0000|11967\n做广告|0x0000|622\n做鬼脸|0x0000|48992\n做鬼做神|0x1000000|100\n做好事|0x0000|551\n做好做歹|0x1000000|1306\n做好做恶|0x1000000|100\n做活儿|0x1000|23302\n做礼拜|0x1000|36094\n做买卖|0x1000|20072\n做满月|0x1000|0\n做圈套|0x1000|0\n做人情|0x0000|47286\n做人要厚道|0x0000|621\n做人做世|0x1000000|100\n做神做鬼|0x1000000|100\n做生日|0x1000|47591\n做生意|0x1000|8593\n做手脚|0x1000|34906\n做手术|0x1000|563\n做文章|0x800000|10690\n做小伏低|0x1000000|100\n做学问|0x1000|21340\n做一日和尚撞一日钟|0x400000|100\n做一日和尚撞一天钟|0x400008|0\n做一天和尚撞一天钟|0x400008|0\n做贼心虚|0x1000000|38043\n做张做势|0x1000|1283\n做张做致|0x0000|100\n做张做智|0x0000|100\n做针线|0x1000|34145\n";
	var panguExtend1 = "工信处|0x0020|100\n交换机|0x0008|1000\n口|0x20008|1000\n首|0x20008|1000\n岁|0x20000|1000\n被|0x40000|22\n回调|0x1000|12663\n说的|0x40000000|30\n年|0x100000|127\n那|0x10000|528\n算不算|0x1000|1641\n有没有|0x1000|1641\n动车|0x100000|429\n这是|0x0000|877\n不知道|0x1000|905\n不可以|0x1000|50\n零点|0x404000|16891\n小童星|0x100000|4200\n和服|0x100000|130\n词|0x100000|143\n语|0x100000|143\n大难|0x100000|20\n伸手不见十指|0x40000000|0\n伸手不见五指|0x40000000|3\n孙悟空|0x0080|615\n悟空|0x0080|615\n十分宝贵|0x40000000|1\n十分必要|0x40000000|27\n十分复杂|0x40000000|17\n十分高兴|0x40000000|38\n十分关心|0x40000000|31\n十分激烈|0x40000000|9\n十分艰巨|0x40000000|17\n十分困难|0x40000000|24\n十分满意|0x40000000|12\n十分明确|0x40000000|7\n十分相似|0x40000000|10\n十分想念|0x40000000|0\n十分迅速|0x40000000|3\n产品名|0x100000|31076\n省略语|0x100000|3107\n难|0x40000000|30\n很难|0x40000000|30\n分词|0x1000|907\n法|0x0008|1\n量身打造|0x100000|728\n齐|0x40000040|30\n发力|0x1000|8480\n过人|0x40000000|13766\n部|0x20020|1000\n级|0x20020|1000\n班|0x20020|1000\n起来|0x1000|13238\n种|0x21008|1000\n重要|0x40000000|300\n已有|0x40000000|30\n大牛|0x100000|30\n中|0x2001000|534\n百元|0x400000|1080\n万元|0x400000|1080\n班花|0x100000|4376\n百|0x400000|1080\n万万|0x8400000|9351\n一把|0x200000|495\n一百|0x600000|109\n一班|0x200000|667\n一般|0x20400000|282\n一斑|0x500000|24991\n一半|0x200000|1451\n一磅|0x200000|1\n一镑|0x200000|0\n一包|0x200000|1022\n一抱|0x200000|2\n一杯|0x200000|816\n一笔|0x200000|730\n一边|0x200000|744\n一鞭|0x200000|0\n一并|0x8200000|10308\n一步|0x200000|850\n一部|0x200000|843\n一餐|0x200000|570\n一册|0x200000|523\n一侧|0x2200000|8981\n一层|0x200000|787\n一场|0x200000|904\n一朝|0x20000000|16176\n一车|0x200000|1194\n一程|0x200000|9\n一匙|0x200000|0\n一筹|0x200000|3\n一串|0x200000|666\n一吹|0x200000|551\n一次|0x200000|1029\n一簇|0x200000|501\n一撮|0x200000|496\n一打|0x200000|733\n一代|0x200000|4258\n一带|0x300000|2831\n一袋|0x200000|588\n一旦|0x8200000|1132\n一档|0x200000|748\n一刀|0x200000|704\n一道|0x200000|3660\n一得|0x500000|0\n一等|0x200000|703\n一滴|0x200000|694\n一点|0x200000|1015\n一碟|0x200000|1227\n一定|0x8400000|120\n一动|0x8400000|4\n一睹|0x201000|15\n一度|0x200000|4147\n一端|0x200000|700\n一段|0x200000|921\n一堆|0x200000|746\n一队|0x200000|652\n一对|0x200000|497\n一顿|0x200000|771\n一二|0x200000|9140\n一发|0x200000|728\n一番|0x200000|6862\n一方|0x200000|3422\n一分|0x200000|734\n一份|0x200000|883\n一服|0x200000|462\n一副|0x200000|808\n一概|0x8400000|9497\n一干|0x500000|17799\n一格|0x200000|1170\n一个|0x200000|429\n一根|0x200000|797\n一共|0x8400000|6802\n一股|0x200000|836\n一贯|0x8400000|3650\n一罐|0x200000|545\n一锅|0x200000|561\n一号|0x200000|712\n一盒|0x200000|613\n一壶|0x200000|566\n一户|0x200000|727\n一滑|0x200000|515\n一划|0x200000|0\n一画|0x200000|466\n一环|0x200008|36\n一晃|0x201000|13223\n一回|0x200000|710\n一会|0x600000|33\n一伙|0x200000|736\n一击|0x200000|708\n一级|0x200000|3494\n一己|0x210000|20522\n一剂|0x200000|1237\n一家|0x220000|491\n一见|0x200000|914\n一件|0x200000|879\n一角|0x200000|7062\n一阶|0x200000|0\n一节|0x200000|652\n一介|0x300000|2\n一经|0x8400000|7293\n一局|0x200000|751\n一举|0x200000|5783\n一卷|0x200000|597\n一觉|0x200000|648\n一看|0x200000|846\n一刻|0x200000|537\n一口|0x200000|3000\n一块|0x200000|496\n一款|0x200000|876\n一捆|0x200000|2\n一来|0x10400000|17\n一栏|0x200000|585\n一篮|0x200000|9\n一览|0x300000|30664\n一垒|0x200008|0\n一类|0x200000|550\n一力|0x8400000|0\n一连|0x200000|7025\n一两|0x200000|521\n一列|0x200000|598\n一流|0x300000|3597\n一路|0x200000|2738\n一律|0x8400000|2692\n一轮|0x200000|933\n一面|0x200000|1455\n一年|0x200000|927\n一扭|0x200000|2\n一排|0x200000|683\n一派|0x300000|5768\n一盘|0x200000|646\n一旁|0x208000|5529\n一批|0x200000|828\n一片|0x200000|916\n一偏|0x20000000|511\n一篇|0x200000|755\n一瞥|0x200000|14487\n一瓶|0x200000|692\n一期|0x200000|551\n一齐|0x8400000|4988\n一起|0x200000|266\n一气|0x8400000|8\n一汽|0x200008|2\n一千|0x600000|62\n一锹|0x200000|387\n一切|0x300000|200\n一圈|0x200000|723\n一拳|0x200000|685\n一群|0x200000|797\n一任|0x0000|12303\n一日|0x200000|1437\n一如|0x201000|13471\n一色|0x200000|15846\n一霎|0x204000|30873\n一闪|0x200000|733\n一身|0x200000|4985\n一审|0x500000|129\n一生|0x500000|1697\n一时|0x200000|2058\n一世|0x200000|5889\n一式|0x200000|634\n一事|0x201000|445\n一手|0x200000|2615\n一熟|0x200000|0\n一束|0x200000|629\n一双|0x200000|787\n一瞬|0x204000|14840\n一丝|0x200000|797\n一似|0x201000|0\n一俟|0x8400000|2\n一宿|0x0000|20680\n一趟|0x200000|709\n一套|0x200000|1710\n一体|0x500000|3913\n一天|0x200000|930\n一条|0x200000|926\n一跳|0x200000|729\n一听|0x200000|746\n一通|0x600000|9264\n一同|0x8400000|3865\n一统|0x201000|3\n一桶|0x200000|564\n一头|0x200000|5767\n一团|0x200000|742\n一推|0x200000|1197\n一碗|0x200000|665\n一网|0x200000|560\n一望|0x200000|2\n一位|0x200000|949\n一味|0x200000|7671\n一窝|0x200000|529\n一无|0x8400000|8\n一吸|0x200000|488\n一息|0x200000|483\n一下|0x200000|575\n一线|0x600000|4204\n一想|0x200000|853\n一向|0x8400000|3768\n一项|0x200000|851\n一些|0x200000|86\n一心|0x201000|7005\n一新|0x201000|5748\n一行|0x200000|2325\n一眼|0x200000|5695\n一样|0x200000|224\n一页|0x200000|743\n一一|0x600000|3793\n一应|0x8400000|22137\n一隅|0x300000|6\n一语|0x200000|1118\n一元|0x200000|651\n一员|0x200000|670\n一月|0x200000|507\n一跃|0x201000|36\n一再|0x8400000|3906\n一早|0x8400000|8088\n一则|0x200000|605\n一展|0x201000|6\n一张|0x200000|911\n一掌|0x200000|1171\n一兆|0x600000|0\n一折|0x200000|1\n一者|0x0000|46627\n一针|0x200000|1210\n一阵|0x200000|1820\n一怔|0x0000|12108\n一直|0x8400000|258\n一指|0x200000|3\n一致|0x20400000|1105\n一中|0x300000|35\n一种|0x200000|1023\n一周|0x200000|802\n一准|0x8200000|23899\n一宗|0x200000|577\n一总|0x8200000|39637\n一族|0x200008|16\n一组|0x200000|744\n出生|0x1000|13009\n中国|0x0040|30000\n着|0x2000|1\n喽|0x2000|1\n底|0x2000|1\n一样|0x402000|224\n一般|0x40402000|282\n似的|0x2000|1692\n般|0x2000|1\n的话|0x2000|1050\n来讲|0x3000|530\n说来|0x3000|562\n连|0x3000|242\n艘|0x400000|101";
	var panguExtend2 = "橙|0x0008|101\n醋|0x0008|101\n虾|0x0008|101\n藕|0x0008|101\n梨|0x0008|101\n杏|0x0008|101\n枣|0x0008|101\n粥|0x0008|101\n盐|0x0008|101\n姜|0x0008|101\n笋|0x0008|101\n桃|0x0008|101\n血|0x0008|101\n水|0x0008|101\n蓟|0x0008|101\n鲆|0x0008|101\n鲽|0x0008|101\n龟|0x0008|101\n鹅|0x0008|101\n鸭|0x0008|101\n葱|0x0008|101\n蒜|0x0008|101\n鸡|0x0008|101\n蛇|0x0008|101\n香干|0x0008|101\n果干|0x0008|101\n皮蛋|0x0008|101\n燕窝|0x0008|101\n草鱼|0x0008|101\n鲤鱼|0x0008|101\n鲫鱼|0x0008|101\n带鱼|0x0008|101\n黄鱼|0x0008|101\n鲈鱼|0x0008|101\n鳕鱼|0x0008|101\n墨鱼|0x0008|101\n鲅鱼|0x0008|101\n姜糖|0x0008|101\n鲢鱼|0x0008|101\n青鱼|0x0008|101\n桂鱼|0x0008|101\n鲳鱼|0x0008|101\n鲶鱼|0x0008|101\n鳗鱼|0x0008|101\n椰丝|0x0008|101\n排骨|0x0008|101\n虾肉|0x0008|101\n虾米|0x0008|101\n龙虾|0x0008|101\n螃蟹|0x0008|101\n蟹肉|0x0008|101\n蛤蜊|0x0008|101\n牡蛎|0x0008|101\n鲍鱼|0x0008|101\n鱿鱼|0x0008|101\n章鱼|0x0008|101\n海蜇|0x0008|101\n海参|0x0008|101\n海带|0x0008|101\n紫菜|0x0008|101\n白菜|0x0008|101\n油菜|0x0008|101\n芹菜|0x0008|101\n菠菜|0x0008|101\n蒜苗|0x0008|101\n麻薯|0x0008|101\n软糖|0x0008|101\n韭菜|0x0008|101\n生菜|0x0008|101\n茼蒿|0x0008|101\n香菜|0x0008|101\n豆苗|0x0008|101\n芦笋|0x0008|101\n苋菜|0x0008|101\n芥菜|0x0008|101\n糍粑|0x0008|101\n炒肝|0x0008|101\n土豆|0x0008|101\n红薯|0x0008|101\n芋头|0x0008|101\n洋葱|0x0008|101\n虾饺|0x0008|101\n茶汤|0x0008|101\n竹笋|0x0008|101\n莴笋|0x0008|101\n魔芋|0x0008|101\n山药|0x0008|101\n茭白|0x0008|101\n猪蹄|0x0008|101\n烧卖|0x0008|101\n牛蒡|0x0008|101\n榨菜|0x0008|101\n荸荠|0x0008|101\n人参|0x0008|101\n豆角|0x0008|101\n茄子|0x0008|101\n青椒|0x0008|101\n菜花|0x0008|101\n发糕|0x0008|101\n馍片|0x0008|101\n豌豆|0x0008|101\n餐包|0x0008|101\n豇豆|0x0008|101\n扁豆|0x0008|101\n奶糖|0x0008|101\n黄瓜|0x0008|101\n冬瓜|0x0008|101\n苦瓜|0x0008|101\n南瓜|0x0008|101\n丝瓜|0x0008|101\n佛手|0x0008|101\n肉粽|0x0008|101\n蘑菇|0x0008|101\n草菇|0x0008|101\n香菇|0x0008|101\n平菇|0x0008|101\n仙贝|0x0008|101\n口蘑|0x0008|101\n莲蓉|0x0008|101\n银耳|0x0008|101\n豆包|0x0008|101\n竹荪|0x0008|101\n荠菜|0x0008|101\n百合|0x0008|101\n香椿|0x0008|101\n蕨菜|0x0008|101\n芽菜|0x0008|101\n翻糖|0x0008|101\n冬菜|0x0008|101\n菊花|0x0008|101\n蛋卷|0x0008|101\n桂花|0x0008|101\n苹果|0x0008|101\n香蕉|0x0008|101\n柠檬|0x0008|101\n菠萝|0x0008|101\n草莓|0x0008|101\n山楂|0x0008|101\n猪肚|0x0008|101\n片糖|0x0008|101\n李子|0x0008|101\n话梅|0x0008|101\n柚子|0x0008|101\n芒果|0x0008|101\n柿子|0x0008|101\n荔枝|0x0008|101\n石榴|0x0008|101\n葡萄|0x0008|101\n樱桃|0x0008|101\n西瓜|0x0008|101\n木瓜|0x0008|101\n薯片|0x0008|101\n猪排|0x0008|101\n蜜饯|0x0008|101\n椰子|0x0008|101\n奶昔|0x0008|101\n花生|0x0008|101\n腰果|0x0008|101\n白果|0x0008|101\n栗子|0x0008|101\n松子|0x0008|101\n核桃|0x0008|101\n芝麻|0x0008|101\n杏仁|0x0008|101\n莲子|0x0008|101\n枸杞|0x0008|101\n桂圆|0x0008|101\n麦芽|0x0008|101\n大米|0x0008|101\n糯米|0x0008|101\n黑米|0x0008|101\n小米|0x0008|101\n小麦|0x0008|101\n玉米|0x0008|101\n西米|0x0008|101\n薏米|0x0008|101\n燕麦|0x0008|101\n高粱|0x0008|101\n芡实|0x0008|101\n白面|0x0008|101\n麻花|0x0008|101\n煎饼|0x0008|101\n面条|0x0008|101\n意面|0x0008|101\n面包|0x0008|101\n吐司|0x0008|101\n起司|0x0008|101\n年糕|0x0008|101\n豆腐|0x0008|101\n肠粉|0x0008|101\n豆皮|0x0008|101\n黄豆|0x0008|101\n毛豆|0x0008|101\n青豆|0x0008|101\n绿豆|0x0008|101\n红豆|0x0008|101\n小豆|0x0008|101\n黑豆|0x0008|101\n蚕豆|0x0008|101\n牛奶|0x0008|101\n酸奶|0x0008|101\n奶酪|0x0008|101\n切糕|0x0008|101\n丁香|0x0008|101\n蛋挞|0x0008|101\n果糖|0x0008|101\n菜包|0x0008|101\n腊肉|0x0008|101\n乌梅|0x0008|101\n锅巴|0x0008|101\n乌鱼|0x0008|101\n乌鳢|0x0008|101\n汤圆|0x0008|101\n凉皮|0x0008|101\n乳鸽|0x0008|101\n馄饨|0x0008|101\n饼干|0x0008|101\n月饼|0x0008|101\n黑枣|0x0008|101\n麦片|0x0008|101\n花茶|0x0008|101\n汽水|0x0008|101\n元贝|0x0008|101\n兔肉|0x0008|101\n党参|0x0008|101\n甘油|0x0008|101\n八角|0x0008|101\n公鸡|0x0008|101\n内酯|0x0008|101\n姜汤|0x0008|101\n冬枣|0x0008|101\n可乐|0x0008|101\n冬笋|0x0008|101\n药酒|0x0008|101\n冰棍|0x0008|101\n冰糖|0x0008|101\n绿茶|0x0008|101\n豆浆|0x0008|101\n凉粉|0x0008|101\n凉薯|0x0008|101\n刀豆|0x0008|101\n红茶|0x0008|101\n肾豆|0x0008|101\n豆汁|0x0008|101\n剁椒|0x0008|101\n包子|0x0008|101\n木豆|0x0008|101\n里脊|0x0008|101\n豆沙|0x0008|101\n纳豆|0x0008|101\n大豆|0x0008|101\n豆饼|0x0008|101\n千张|0x0008|101\n糜子|0x0008|101\n稻谷|0x0008|101\n冷面|0x0008|101\n稀饭|0x0008|101\n花粉|0x0008|101\n卤水|0x0008|101\n卤汁|0x0008|101\n拉面|0x0008|101\n卤肉|0x0008|101\n油饼|0x0008|101\n米线|0x0008|101\n白粥|0x0008|101\n烤麸|0x0008|101\n香米|0x0008|101\n面筋|0x0008|101\n粳米|0x0008|101\n大麦|0x0008|101\n味噌|0x0008|101\n味精|0x0008|101\n味霖|0x0008|101\n咖啡|0x0008|101\n咖喱|0x0008|101\n油条|0x0008|101\n咸肉|0x0008|101\n咸菜|0x0008|101\n咸鱼|0x0008|101\n肉沫|0x0008|101\n枣泥|0x0008|101\n枫糖|0x0008|101\n啤酒|0x0008|101\n辣根|0x0008|101\n醋精|0x0008|101\n香砂|0x0008|101\n糖蜜|0x0008|101\n沙司|0x0008|101\n培根|0x0008|101\n姜粉|0x0008|101\n汤料|0x0008|101\n粗盐|0x0008|101\n胡椒|0x0008|101\n黑糖|0x0008|101\n牛肉|0x0008|101\n鱼油|0x0008|101\n蒜泥|0x0008|101\n大葱|0x0008|101\n大薯|0x0008|101\n葱油|0x0008|101\n糖浆|0x0008|101\n茶水|0x0008|101\n天麻|0x0008|101\n奶油|0x0008|101\n精盐|0x0008|101\n贡菜|0x0008|101\n豆油|0x0008|101\n奶粉|0x0008|101\n蛋清|0x0008|101\n牛腩|0x0008|101\n咸蛋|0x0008|101\n饭团|0x0008|101\n披萨|0x0008|101\n孜然|0x0008|101\n地瓜|0x0008|101\n花菜|0x0008|101\n菜心|0x0008|101\n对虾|0x0008|101\n番杏|0x0008|101\n野葛|0x0008|101\n泡姜|0x0008|101\n莲藕|0x0008|101\n小葱|0x0008|101\n发菜|0x0008|101\n川贝|0x0008|101\n白豆|0x0008|101\n尖椒|0x0008|101\n茄瓜|0x0008|101\n山竹|0x0008|101\n紫草|0x0008|101\n布丁|0x0008|101\n榆钱|0x0008|101\n带子|0x0008|101\n干贝|0x0008|101\n姬菇|0x0008|101\n藕带|0x0008|101\n牛排|0x0008|101\n当归|0x0008|101\n彩椒|0x0008|101\n莴苣|0x0008|101\n忌廉|0x0008|101\n番茄|0x0008|101\n慈姑|0x0008|101\n慈菇|0x0008|101\n扇贝|0x0008|101\n艾蒿|0x0008|101\n松蘑|0x0008|101\n云耳|0x0008|101\n菌菇|0x0008|101\n首乌|0x0008|101\n拉皮|0x0008|101\n挂面|0x0008|101\n文蛤|0x0008|101\n料酒|0x0008|101\n方瓜|0x0008|101\n洋菇|0x0008|101\n瓠瓜|0x0008|101\n榛蘑|0x0008|101\n冬菇|0x0008|101\n春卷|0x0008|101\n春笋|0x0008|101\n春饼|0x0008|101\n晶鱼|0x0008|101\n苦菜|0x0008|101\n木耳|0x0008|101\n木薯|0x0008|101\n秋葵|0x0008|101\n马蹄|0x0008|101\n杨梅|0x0008|101\n杭椒|0x0008|101\n甘蓝|0x0008|101\n桔梗|0x0008|101\n板栗|0x0008|101\n板鸭|0x0008|101\n节瓜|0x0008|101\n萝卜|0x0008|101\n辣椒|0x0008|101\n薄荷|0x0008|101\n大蒜|0x0008|101\n苜蓿|0x0008|101\n参须|0x0008|101\n橙皮|0x0008|101\n柴鱼|0x0008|101\n柴鸡|0x0008|101\n仙茅|0x0008|101\n柿饼|0x0008|101\n桂皮|0x0008|101\n羊肉|0x0008|101\n桃胶|0x0008|101\n桃酥|0x0008|101\n枧水|0x0008|101\n桑葚|0x0008|101\n梅菜|0x0008|101\n荞头|0x0008|101\n梭鱼|0x0008|101\n白油|0x0008|101\n椒盐|0x0008|101\n椰汁|0x0008|101\n椰浆|0x0008|101\n榴莲|0x0008|101\n芦根|0x0008|101\n香附|0x0008|101\n白矾|0x0008|101\n百部|0x0008|101\n橘子|0x0008|101\n羊排|0x0008|101\n橙汁|0x0008|101\n欧芹|0x0008|101\n郁金|0x0008|101\n厚朴|0x0008|101\n附子|0x0008|101\n毛笋|0x0008|101\n毛蛋|0x0008|101\n火腿|0x0008|101\n防风|0x0008|101\n硫磺|0x0008|101\n龙葵|0x0008|101\n香肠|0x0008|101\n大黄|0x0008|101\n荷花|0x0008|101\n丹参|0x0008|101\n汤菜|0x0008|101\n白术|0x0008|101\n沙参|0x0008|101\n沙姜|0x0008|101\n玉竹|0x0008|101\n柴胡|0x0008|101\n川芎|0x0008|101\n河粉|0x0008|101\n河虾|0x0008|101\n河蚌|0x0008|101\n河蟹|0x0008|101\n河豚|0x0008|101\n牛黄|0x0008|101\n油茶|0x0008|101\n糖水|0x0008|101\n黄精|0x0008|101\n芦蒿|0x0008|101\n枣仁|0x0008|101\n石耳|0x0008|101\n槐花|0x0008|101\n泡菜|0x0008|101\n茶油|0x0008|101\n藿香|0x0008|101\n泥鳅|0x0008|101\n洋姜|0x0008|101\n紫苏|0x0008|101\n海兔|0x0008|101\n玫瑰|0x0008|101\n杜仲|0x0008|101\n葛根|0x0008|101\n雪莲|0x0008|101\n海肠|0x0008|101\n海胆|0x0008|101\n海苔|0x0008|101\n海茸|0x0008|101\n海虾|0x0008|101\n海蚌|0x0008|101\n荷叶|0x0008|101\n海螺|0x0008|101\n海蟹|0x0008|101\n桑叶|0x0008|101\n白芍|0x0008|101\n淀粉|0x0008|101\n淡奶|0x0008|101\n鹿茸|0x0008|101\n淡菜|0x0008|101\n阿胶|0x0008|101\n清汤|0x0008|101\n牛膝|0x0008|101\n澄粉|0x0008|101\n灵芝|0x0008|101\n芦荟|0x0008|101\n腐乳|0x0008|101\n牛柳|0x0008|101\n炒米|0x0008|101\n炒饭|0x0008|101\n獐肉|0x0008|101\n炸糕|0x0008|101\n炸肉|0x0008|101\n炸酱|0x0008|101\n炼乳|0x0008|101\n鹿鞭|0x0008|101\n烧肉|0x0008|101\n熊掌|0x0008|101\n鸭头|0x0008|101\n馅饼|0x0008|101\n炒饼|0x0008|101\n炸鸡|0x0008|101\n牛尾|0x0008|101\n鸡丁|0x0008|101\n烧鹅|0x0008|101\n牛筋|0x0008|101\n老鸭|0x0008|101\n烧鸡|0x0008|101\n牛肚|0x0008|101\n牛肝|0x0008|101\n牛肾|0x0008|101\n烤鸭|0x0008|101\n牛舌|0x0008|101\n牛蛙|0x0008|101\n全鸡|0x0008|101\n牛鞭|0x0008|101\n狗肉|0x0008|101\n狼肉|0x0008|101\n鸡丝|0x0008|101\n鸡杂|0x0008|101\n鸭架|0x0008|101\n阉鸡|0x0008|101\n鸡块|0x0008|101\n鸭脖|0x0008|101\n油鸡|0x0008|101\n鸡排|0x0008|101\n猪心|0x0008|101\n腰花|0x0008|101\n猪油|0x0008|101\n猪皮|0x0008|101\n瘦肉|0x0008|101\n猪肾|0x0008|101\n肥肠|0x0008|101\n酱肉|0x0008|101\n猪肝|0x0008|101\n猪肠|0x0008|101\n猪肺|0x0008|101\n猪胰|0x0008|101\n猪骨|0x0008|101\n猪脑|0x0008|101\n猪脾|0x0008|101\n猪腰|0x0008|101\n猪脚|0x0008|101\n鸭掌|0x0008|101\n猪血|0x0008|101\n牛骨|0x0008|101\n猪舌|0x0008|101\n熏肉|0x0008|101\n鹿肉|0x0008|101\n酱鸭|0x0008|101\n鸭肠|0x0008|101\n鸭舌|0x0008|101\n牛杂|0x0008|101\n土鸡|0x0008|101\n母鸡|0x0008|101\n琼脂|0x0008|101\n甘草|0x0008|101\n甘蔗|0x0008|101\n甜椒|0x0008|101\n火鸡|0x0008|101\n甜菜|0x0008|101\n肥肉|0x0008|101\n胡柚|0x0008|101\n柑桔|0x0008|101\n生抽|0x0008|101\n生蚝|0x0008|101\n田七|0x0008|101\n酸梨|0x0008|101\n田螺|0x0008|101\n田鸡|0x0008|101\n甲鱼|0x0008|101\n酥梨|0x0008|101\n蒲桃|0x0008|101\n蜜桔|0x0008|101\n芦柑|0x0008|101\n柑橘|0x0008|101\n油桃|0x0008|101\n刺梨|0x0008|101\n白瓜|0x0008|101\n黄皮|0x0008|101\n莲雾|0x0008|101\n白糖|0x0008|101\n蜜桃|0x0008|101\n沙棘|0x0008|101\n松仁|0x0008|101\n白芷|0x0008|101\n醋栗|0x0008|101\n酸枣|0x0008|101\n白贝|0x0008|101\n白酒|0x0008|101\n白醋|0x0008|101\n白鱼|0x0008|101\n西梅|0x0008|101\n黄桃|0x0008|101\n香瓜|0x0008|101\n芭蕉|0x0008|101\n眉豆|0x0008|101\n桔子|0x0008|101\n知了|0x0008|101\n蜜枣|0x0008|101\n石螺|0x0008|101\n砂仁|0x0008|101\n青枣|0x0008|101\n甜瓜|0x0008|101\n提子|0x0008|101\n杨桃|0x0008|101\n枇杷|0x0008|101\n笋干|0x0008|101\n笋瓜|0x0008|101\n红枣|0x0008|101\n米粉|0x0008|101\n米肠|0x0008|101\n米醋|0x0008|101\n米饭|0x0008|101\n粉丝|0x0008|101\n粉条|0x0008|101\n粉皮|0x0008|101\n鱼骨|0x0008|101\n粽叶|0x0008|101\n鱼肉|0x0008|101\n糖粉|0x0008|101\n糖色|0x0008|101\n糙米|0x0008|101\n香鱼|0x0008|101\n贻贝|0x0008|101\n素鸡|0x0008|101\n塘鲺|0x0008|101\n海虹|0x0008|101\n紫米|0x0008|101\n目鱼|0x0008|101\n鱼板|0x0008|101\n鱼柳|0x0008|101\n紫薯|0x0008|101\n箭鱼|0x0008|101\n螯虾|0x0008|101\n草虾|0x0008|101\n红椒|0x0008|101\n海米|0x0008|101\n红米|0x0008|101\n红糖|0x0008|101\n红肠|0x0008|101\n鲇鱼|0x0008|101\n鲑鱼|0x0008|101\n花蟹|0x0008|101\n青虾|0x0008|101\n香螺|0x0008|101\n猪肉|0x0008|101\n舌鳎|0x0008|101\n飞蟹|0x0008|101\n虾虎|0x0008|101\n红酒|0x0008|101\n虾丸|0x0008|101\n湟鱼|0x0008|101\n鲭鱼|0x0008|101\n鲻鱼|0x0008|101\n鱼饼|0x0008|101\n黄螺|0x0008|101\n罗勒|0x0008|101\n鸡肉|0x0008|101\n海鳗|0x0008|101\n羊头|0x0008|101\n羊心|0x0008|101\n羊油|0x0008|101\n羊肚|0x0008|101\n螺蛳|0x0008|101\n羊肝|0x0008|101\n羊肠|0x0008|101\n羊肺|0x0008|101\n羊肾|0x0008|101\n羊脑|0x0008|101\n羊腿|0x0008|101\n鲥鱼|0x0008|101\n羊血|0x0008|101\n鲮鱼|0x0008|101\n黑鱼|0x0008|101\n老抽|0x0008|101\n鲟鱼|0x0008|101\n老面|0x0008|101\n肉丸|0x0008|101\n肉松|0x0008|101\n肉桂|0x0008|101\n瑶柱|0x0008|101\n肉肠|0x0008|101\n肉蔻|0x0008|101\n肥牛|0x0008|101\n明虾|0x0008|101\n橡实|0x0008|101\n榛子|0x0008|101\n脆骨|0x0008|101\n腊肠|0x0008|101\n腊鱼|0x0008|101\n豆奶|0x0008|101\n腌料|0x0008|101\n酥油|0x0008|101\n腐竹|0x0008|101\n鸡翅|0x0008|101\n龙豆|0x0008|101\n黄鳝|0x0008|101\n艾叶|0x0008|101\n黄酱|0x0008|101\n黄酒|0x0008|101\n芥兰|0x0008|101\n芥末|0x0008|101\n黄芪|0x0008|101\n芥蓝|0x0008|101\n花卷|0x0008|101\n花椒|0x0008|101\n黄米|0x0008|101\n黄油|0x0008|101\n黄喉|0x0008|101\n麻油|0x0008|101\n麻椒|0x0008|101\n花胶|0x0008|101\n麸皮|0x0008|101\n花螺|0x0008|101\n麦仁|0x0008|101\n芸豆|0x0008|101\n鹌鹑|0x0008|101\n鹅蛋|0x0008|101\n鹅肝|0x0008|101\n苔菜|0x0008|101\n苤蓝|0x0008|101\n苦苣|0x0008|101\n鹅肉|0x0008|101\n苦菊|0x0008|101\n茯苓|0x0008|101\n茴香|0x0008|101\n鸡腿|0x0008|101\n鸽子|0x0008|101\n鸭血|0x0008|101\n草果|0x0008|101\n荞麦|0x0008|101\n鸭腿|0x0008|101\n鸭胗|0x0008|101\n鸭肫|0x0008|101\n鸭翅|0x0008|101\n鸭心|0x0008|101\n莼菜|0x0008|101\n鸡爪|0x0008|101\n菜瓜|0x0008|101\n鸡血|0x0008|101\n菱角|0x0008|101\n鸡胗|0x0008|101\n鸡肝|0x0008|101\n鸡精|0x0008|101\n鸡粉|0x0008|101\n葫子|0x0008|101\n葫芦|0x0008|101\n鸡皮|0x0008|101\n乌鸡|0x0008|101\n葱白|0x0008|101\n鸭肉|0x0008|101\n蒜苔|0x0008|101\n蒜黄|0x0008|101\n鸡架|0x0008|101\n蒲菜|0x0008|101\n鸡心|0x0008|101\n蓝莓|0x0008|101\n蔊菜|0x0008|101\n鸭肝|0x0008|101\n蕨麻|0x0008|101\n鳟鱼|0x0008|101\n薄饼|0x0008|101\n薯条|0x0008|101\n藕粉|0x0008|101\n藜麦|0x0008|101\n藠头|0x0008|101\n鳝鱼|0x0008|101\n鳜鱼|0x0008|101\n虾仁|0x0008|101\n虾皮|0x0008|101\n虾酱|0x0008|101\n蚕蛹|0x0008|101\n蚝油|0x0008|101\n蚬肉|0x0008|101\n鸡蛋|0x0008|101\n蛇果|0x0008|101\n蛇瓜|0x0008|101\n蛇肉|0x0008|101\n鳙鱼|0x0008|101\n蛋皮|0x0008|101\n蛋糕|0x0008|101\n鳘鱼|0x0008|101\n蛏子|0x0008|101\n蛏干|0x0008|101\n蛤蚧|0x0008|101\n蜂蛹|0x0008|101\n蜂蜜|0x0008|101\n蜜豆|0x0008|101\n蝎子|0x0008|101\n鳐鱼|0x0008|101\n鳊鱼|0x0008|101\n血橙|0x0008|101\n鲷鱼|0x0008|101\n西芹|0x0008|101\n豆渣|0x0008|101\n鲜贝|0x0008|101\n鲐鱼|0x0008|101\n鱼鳔|0x0008|101\n鱼面|0x0008|101\n鱼露|0x0008|101\n鱼翅|0x0008|101\n豆花|0x0008|101\n豆蔻|0x0008|101\n豆薯|0x0008|101\n豆豉|0x0008|101\n鱼糕|0x0008|101\n鱼籽|0x0008|101\n鱼皮|0x0008|101\n鱼排|0x0008|101\n鱼干|0x0008|101\n鱼头|0x0008|101\n鱼丸|0x0008|101\n鮰鱼|0x0008|101\n高汤|0x0008|101\n辣酱|0x0008|101\n驴鞭|0x0008|101\n驴肉|0x0008|101\n马肉|0x0008|101\n通草|0x0008|101\n香醋|0x0008|101\n酥皮|0x0008|101\n香草|0x0008|101\n酱油|0x0008|101\n香茅|0x0008|101\n香油|0x0008|101\n酵母|0x0008|101\n香料|0x0008|101\n香叶|0x0008|101\n馒头|0x0008|101\n饺子|0x0008|101\n酸笋|0x0008|101\n酸菜|0x0008|101\n酸角|0x0008|101\n饵块|0x0008|101\n鸭蛋|0x0008|101\n醪糟|0x0008|101\n释迦|0x0008|101\n食盐|0x0008|101\n韭黄|0x0008|101\n面粉|0x0008|101\n野葱|0x0008|101\n野蒜|0x0008|101\n面皮|0x0008|101\n青蟹|0x0008|101\n青蒜|0x0008|101\n青口|0x0008|101\n雪蛤|0x0008|101\n金桔|0x0008|101\n金橘|0x0008|101\n金瓜|0x0008|101\n雪菜|0x0008|101\n雪梨|0x0008|101\n陈皮|0x0008|101\n阴米|0x0008|101\n银鱼|0x0008|101\n锅盔|0x0008|101\n锁阳|0x0008|101\n橄榄油|0x0008|101\n银鳕鱼|0x0008|101\n金钱草|0x0008|101\n金针菜|0x0008|101\n雪莲子|0x0008|101\n雪莲果|0x0008|101\n雪莲菌|0x0008|101\n金线鱼|0x0008|101\n花生酥|0x0008|101\n核桃酥|0x0008|101\n青萝卜|0x0008|101\n金丝瓜|0x0008|101\n青蛙肉|0x0008|101\n野鸡肉|0x0008|101\n面包粉|0x0008|101\n面包糠|0x0008|101\n面条菜|0x0008|101\n野酸枣|0x0008|101\n野猪肉|0x0008|101\n冰淇凌|0x0008|101\n牛肉粒|0x0008|101\n野山鸡|0x0008|101\n野山椒|0x0008|101\n酸豆角|0x0008|101\n饺子皮|0x0008|101\n酸白菜|0x0008|101\n馄饨皮|0x0008|101\n酸木瓜|0x0008|101\n肉桂卷|0x0008|101\n酵母粉|0x0008|101\n酱肘子|0x0008|101\n酱牛肉|0x0008|101\n酱排骨|0x0008|101\n香草精|0x0008|101\n鸡蛋卷|0x0008|101\n马兰头|0x0008|101\n马哈鱼|0x0008|101\n通心粉|0x0008|101\n蛋黄酥|0x0008|101\n五花肉|0x0008|101\n马铃薯|0x0008|101\n马面鱼|0x0008|101\n马齿苋|0x0008|101\n迷迭香|0x0008|101\n辣鸡翅|0x0008|101\n骆驼肉|0x0008|101\n辣白菜|0x0008|101\n鹌鹑蛋|0x0008|101\n高粱米|0x0008|101\n高粱面|0x0008|101\n魔芋丝|0x0008|101\n薄荷糖|0x0008|101\n辣椒酱|0x0008|101\n辣椒粉|0x0008|101\n辣椒油|0x0008|101\n鱼子酱|0x0008|101\n车厘子|0x0008|101\n车前草|0x0008|101\n赤小豆|0x0008|101\n贝壳面|0x0008|101\n豌豆苗|0x0008|101\n豆腐脑|0x0008|101\n鱼胶粉|0x0008|101\n鱼腥草|0x0008|101\n鱼豆腐|0x0008|101\n豆腐皮|0x0008|101\n豆腐渣|0x0008|101\n豆腐丝|0x0008|101\n鲍鱼汁|0x0008|101\n豆瓣酱|0x0008|101\n果丹皮|0x0008|101\n鲜贝露|0x0008|101\n鲜香菇|0x0008|101\n鲢鱼头|0x0008|101\n西瓜皮|0x0008|101\n蟹味菇|0x0008|101\n螺旋藻|0x0008|101\n蛋糕粉|0x0008|101\n金枪鱼|0x0008|101\n虱目鱼|0x0008|101\n虫草花|0x0008|101\n薄荷叶|0x0008|101\n蔓越莓|0x0008|101\n鸡屎藤|0x0008|101\n三文鱼|0x0008|101\n糙米卷|0x0008|101\n鸡毛菜|0x0008|101\n葫芦条|0x0008|101\n葡萄柚|0x0008|101\n葡萄干|0x0008|101\n鸡翅根|0x0008|101\n鸡肉卷|0x0008|101\n葛根粉|0x0008|101\n萝卜叶|0x0008|101\n千层酥|0x0008|101\n鸡腿菇|0x0008|101\n鸡蛋清|0x0008|101\n苹果派|0x0008|101\n鸡蛋黄|0x0008|101\n菠萝蜜|0x0008|101\n鸡骨草|0x0008|101\n鸦片鱼|0x0008|101\n菊花脑|0x0008|101\n莴笋干|0x0008|101\n莴笋叶|0x0008|101\n莲花菜|0x0008|101\n莜麦面|0x0008|101\n荷包蛋|0x0008|101\n茶树菇|0x0008|101\n鸭锁骨|0x0008|101\n鸳鸯贝|0x0008|101\n茶叶蛋|0x0008|101\n鸽子蛋|0x0008|101\n茴香籽|0x0008|101\n苦苦菜|0x0008|101\n杏仁饼|0x0008|101\n苏打粉|0x0008|101\n芹菜叶|0x0008|101\n鹰嘴豆|0x0008|101\n花雕酒|0x0008|101\n麦芽糖|0x0008|101\n花蛤蜊|0x0008|101\n花生芽|0x0008|101\n圆白菜|0x0008|101\n花生糖|0x0008|101\n麻雀肉|0x0008|101\n花生油|0x0008|101\n黄姑鱼|0x0008|101\n花椒粉|0x0008|101\n黄秋葵|0x0008|101\n花椒油|0x0008|101\n芥菜头|0x0008|101\n黄豆粉|0x0008|101\n芡实米|0x0008|101\n芝麻酱|0x0008|101\n黄颡鱼|0x0008|101\n黄骨鱼|0x0008|101\n色拉油|0x0008|101\n黑凉粉|0x0008|101\n棒棒糖|0x0008|101\n黑土豆|0x0008|101\n黑布林|0x0008|101\n黑椒汁|0x0008|101\n黑胡椒|0x0008|101\n黑豆苗|0x0008|101\n龙利鱼|0x0008|101\n臭豆腐|0x0008|101\n龙须菜|0x0008|101\n自发粉|0x0008|101\n小白菜|0x0008|101\n绿豆芽|0x0008|101\n黄豆芽|0x0008|101\n豌豆黄|0x0008|101\n胡萝卜|0x0008|101\n双皮奶|0x0008|101\n鲜牛奶|0x0008|101\n白萝卜|0x0008|101\n地瓜干|0x0008|101\n核桃奶|0x0008|101\n牛腩面|0x0008|101\n雪里蕻|0x0008|101\n羊奶粉|0x0008|101\n奶黄包|0x0008|101\n西兰花|0x0008|101\n腊八豆|0x0008|101\n酸牛奶|0x0008|101\n黑洋酥|0x0008|101\n西红柿|0x0008|101\n黑芝麻|0x0008|101\n花生仁|0x0008|101\n脆皮肠|0x0008|101\n咖啡豆|0x0008|101\n荷兰豆|0x0008|101\n胡椒粉|0x0008|101\n棒棒冰|0x0008|101\n胡子鲇|0x0008|101\n肉桂粉|0x0008|101\n老板鱼|0x0008|101\n老干妈|0x0008|101\n椰子糖|0x0008|101\n小龙虾|0x0008|101\n羊蝎子|0x0008|101\n羊肚菌|0x0008|101\n丁香鱼|0x0008|101\n罗非鱼|0x0008|101\n罗汉果|0x0008|101\n甲鱼蛋|0x0008|101\n绿豆面|0x0008|101\n绿豆糕|0x0008|101\n绿豆粉|0x0008|101\n黄花菜|0x0008|101\n纯牛奶|0x0008|101\n红鲳鱼|0x0008|101\n榴莲干|0x0008|101\n红豆沙|0x0008|101\n红衫鱼|0x0008|101\n红薯粉|0x0008|101\n核桃粉|0x0008|101\n干鱿鱼|0x0008|101\n红葱头|0x0008|101\n乌鱼蛋|0x0008|101\n红萝卜|0x0008|101\n红菜薹|0x0008|101\n红芸豆|0x0008|101\n红腰豆|0x0008|101\n木鱼花|0x0008|101\n干海带|0x0008|101\n红烧汁|0x0008|101\n红曲粉|0x0008|101\n西葫芦|0x0008|101\n红尖椒|0x0008|101\n干海参|0x0008|101\n紫菜头|0x0008|101\n紫苏叶|0x0008|101\n九节虾|0x0008|101\n金针菇|0x0008|101\n紫甘蓝|0x0008|101\n象拔蚌|0x0008|101\n比萨饼|0x0008|101\n乌鱼子|0x0008|101\n太阳鱼|0x0008|101\n素什锦|0x0008|101\n香蕉片|0x0008|101\n糯米粉|0x0008|101\n糖桂花|0x0008|101\n金丝鱼|0x0008|101\n粘米粉|0x0008|101\n鱿鱼须|0x0008|101\n笔管鱼|0x0008|101\n穿心莲|0x0008|101\n空心菜|0x0008|101\n秋刀鱼|0x0008|101\n秀珍菇|0x0008|101\n黑木耳|0x0008|101\n石斑鱼|0x0008|101\n真姬菇|0x0008|101\n皮皮虾|0x0008|101\n皂角米|0x0008|101\n百香果|0x0008|101\n百里香|0x0008|101\n白蘑菇|0x0008|101\n猴头菇|0x0008|101\n雪花梨|0x0008|101\n白茄子|0x0008|101\n桑葚子|0x0008|101\n瓜子仁|0x0008|101\n白花菜|0x0008|101\n白芝麻|0x0008|101\n白胡椒|0x0008|101\n青芒果|0x0008|101\n白米虾|0x0008|101\n红毛丹|0x0008|101\n白砂糖|0x0008|101\n白灵菇|0x0008|101\n白凉粉|0x0008|101\n加应子|0x0008|101\n佛手柑|0x0008|101\n神秘果|0x0008|101\n苹果梨|0x0008|101\n番薯叶|0x0008|101\n蛋黄果|0x0008|101\n番茄酱|0x0008|101\n姑娘果|0x0008|101\n芒果干|0x0008|101\n阿胶枣|0x0008|101\n红提子|0x0008|101\n番石榴|0x0008|101\n田七菜|0x0008|101\n凤眼果|0x0008|101\n早酥梨|0x0008|101\n甜面酱|0x0008|101\n灌汤包|0x0008|101\n甜酒曲|0x0008|101\n甜辣酱|0x0008|101\n水煎包|0x0008|101\n琵琶虾|0x0008|101\n马蹄糕|0x0008|101\n牛百叶|0x0008|101\n玫瑰酱|0x0008|101\n玫瑰茄|0x0008|101\n玉米粉|0x0008|101\n玉米片|0x0008|101\n沙琪玛|0x0008|101\n猪头皮|0x0008|101\n玉米油|0x0008|101\n太妃糖|0x0008|101\n白条鱼|0x0008|101\n猪蹄筋|0x0008|101\n牛蹄筋|0x0008|101\n猪舌头|0x0008|101\n猪腿肉|0x0008|101\n猪瘦肉|0x0008|101\n牛里脊|0x0008|101\n腊八粥|0x0008|101\n猪脊骨|0x0008|101\n猪肉馅|0x0008|101\n小馒头|0x0008|101\n猪肉松|0x0008|101\n猪耳朵|0x0008|101\n羊肉片|0x0008|101\n酱驴肉|0x0008|101\n猪筒骨|0x0008|101\n猪横脷|0x0008|101\n烧羊肉|0x0008|101\n叉烧肉|0x0008|101\n猪横利|0x0008|101\n牛肉丝|0x0008|101\n猪展肉|0x0008|101\n鸡脆骨|0x0008|101\n猪尾巴|0x0008|101\n猪小肠|0x0008|101\n猪小排|0x0008|101\n老母鸡|0x0008|101\n小公鸡|0x0008|101\n猪头肉|0x0008|101\n橄榄菜|0x0008|101\n猪大肠|0x0008|101\n猪大排|0x0008|101\n泡泡糖|0x0008|101\n牛腱子|0x0008|101\n牛肉馅|0x0008|101\n牛肉干|0x0008|101\n牛油果|0x0008|101\n牛心菜|0x0008|101\n鸡肉肠|0x0008|101\n鸭脯肉|0x0008|101\n玫瑰花|0x0008|101\n牛大力|0x0008|101\n烤鸡翅|0x0008|101\n牛仔骨|0x0008|101\n燕麦米|0x0008|101\n肉骨茶|0x0008|101\n牛肉丸|0x0008|101\n熟面粉|0x0008|101\n猕猴桃|0x0008|101\n牛筋丸|0x0008|101\n烤肉酱|0x0008|101\n鸭脖子|0x0008|101\n烤肉料|0x0008|101\n炖肉料|0x0008|101\n灯笼椒|0x0008|101\n猪肉脯|0x0008|101\n火腿肠|0x0008|101\n火麻仁|0x0008|101\n萝卜干|0x0008|101\n风干肠|0x0008|101\n腌萝卜|0x0008|101\n可丽饼|0x0008|101\n藏红花|0x0008|101\n火鸡腿|0x0008|101\n铜锣烧|0x0008|101\n滑子菇|0x0008|101\n肉苁蓉|0x0008|101\n淮山药|0x0008|101\n益母草|0x0008|101\n决明子|0x0008|101\n淡奶油|0x0008|101\n何首乌|0x0008|101\n海鲜酱|0x0008|101\n海鲜菇|0x0008|101\n夏枯草|0x0008|101\n海蜇皮|0x0008|101\n海白菜|0x0008|101\n海瓜子|0x0008|101\n珍珠粉|0x0008|101\n圣女果|0x0008|101\n海底椰|0x0008|101\n海带结|0x0008|101\n金银花|0x0008|101\n浓汤宝|0x0008|101\n泡萝卜|0x0008|101\n泡菜水|0x0008|101\n泡红椒|0x0008|101\n泡打粉|0x0008|101\n高良姜|0x0008|101\n油麦菜|0x0008|101\n油面筋|0x0008|101\n油豆腐|0x0008|101\n油菜苔|0x0008|101\n汉堡包|0x0008|101\n葱油饼|0x0008|101\n高丽参|0x0008|101\n沙茶酱|0x0008|101\n沙拉酱|0x0008|101\n蜂王浆|0x0008|101\n沙尖鱼|0x0008|101\n沙丁鱼|0x0008|101\n仙人掌|0x0008|101\n胖大海|0x0008|101\n江米酒|0x0008|101\n西洋参|0x0008|101\n薰衣草|0x0008|101\n水饺皮|0x0008|101\n栀子花|0x0008|101\n木糖醇|0x0008|101\n水面筋|0x0008|101\n驴打滚|0x0008|101\n水萝卜|0x0008|101\n水芹菜|0x0008|101\n火龙果|0x0008|101\n菟丝子|0x0008|101\n粉蒸肉|0x0008|101\n女贞子|0x0008|101\n马鞭草|0x0008|101\n水淀粉|0x0008|101\n紫藤花|0x0008|101\n毛竹笋|0x0008|101\n无花果|0x0008|101\n比目鱼|0x0008|101\n乳酸菌|0x0008|101\n荞麦面|0x0008|101\n武昌鱼|0x0008|101\n玉兰花|0x0008|101\n酸辣汤|0x0008|101\n钢丝面|0x0008|101\n黑枸杞|0x0008|101\n玉米面|0x0008|101\n槟榔芋|0x0008|101\n叉烧包|0x0008|101\n白茅根|0x0008|101\n鼠尾草|0x0008|101\n熟地黄|0x0008|101\n巴戟天|0x0008|101\n羚羊角|0x0008|101\n榴莲壳|0x0008|101\n植物油|0x0008|101\n草莓酱|0x0008|101\n梭子蟹|0x0008|101\n桑椹酒|0x0008|101\n豆奶粉|0x0008|101\n白豆蔻|0x0008|101\n仙草蜜|0x0008|101\n朝鲜蓟|0x0008|101\n天妇罗|0x0008|101\n塔塔粉|0x0008|101\n白首乌|0x0008|101\n柿子椒|0x0008|101\n柱候酱|0x0008|101\n花椒叶|0x0008|101\n柠檬汁|0x0008|101\n鸭跖草|0x0008|101\n柠檬水|0x0008|101\n紫河车|0x0008|101\n紫苏子|0x0008|101\n柑橘蜜|0x0008|101\n柚子皮|0x0008|101\n枸杞菜|0x0008|101\n枸杞子|0x0008|101\n枸杞叶|0x0008|101\n果冻粉|0x0008|101\n松花蛋|0x0008|101\n松子仁|0x0008|101\n杏鲍菇|0x0008|101\n杏仁粉|0x0008|101\n朝天椒|0x0008|101\n牛肝菌|0x0008|101\n春卷皮|0x0008|101\n豆腐干|0x0008|101\n甜玉米|0x0008|101\n明太鱼|0x0008|101\n巧克力|0x0008|101\n玉兰片|0x0008|101\n干巴菌|0x0008|101\n鸡油菌|0x0008|101\n鸡枞菌|0x0008|101\n独行菜|0x0008|101\n七星鱼|0x0008|101\n茵陈蒿|0x0008|101\n梅干菜|0x0008|101\n抹茶粉|0x0008|101\n红辣椒|0x0008|101\n青辣椒|0x0008|101\n紫土豆|0x0008|101\n冰淇淋|0x0008|101\n披萨草|0x0008|101\n袖珍菇|0x0008|101\n护心肉|0x0008|101\n手擀面|0x0008|101\n芝麻菜|0x0008|101\n龟苓膏|0x0008|101\n三黄鸡|0x0008|101\n鸡蛋糕|0x0008|101\n干香菇|0x0008|101\n双孢菇|0x0008|101\n干辣椒|0x0008|101\n牛肚菌|0x0008|101\n布丁粉|0x0008|101\n川贝母|0x0008|101\n山核桃|0x0008|101\n八宝粥|0x0008|101\n豆瓣菜|0x0008|101\n蟹腿菇|0x0008|101\n茴香苗|0x0008|101\n南瓜粉|0x0008|101\n干黄花|0x0008|101\n茄子干|0x0008|101\n鲍鱼菇|0x0008|101\n白玉菇|0x0008|101\n小麦粉|0x0008|101\n酸豇豆|0x0008|101\n三明治|0x0008|101\n小米粥|0x0008|101\n木耳菜|0x0008|101\n大头菜|0x0008|101\n裙带菜|0x0008|101\n中国鲎|0x0008|101\n小笼包|0x0008|101\n海带丝|0x0008|101\n灰树花|0x0008|101\n寿司醋|0x0008|101\n乌骨鸡|0x0008|101\n霸王花|0x0008|101\n上海青|0x0008|101\n寒天粉|0x0008|101\n宝塔菜|0x0008|101\n红苋菜|0x0008|101\n萝卜缨|0x0008|101\n干百合|0x0008|101\n马郁兰|0x0008|101\n孜然粉|0x0008|101\n嫩南瓜|0x0008|101\n蕨根粉|0x0008|101\n葡萄糖|0x0008|101\n西瓜子|0x0008|101\n乌鸡蛋|0x0008|101\n薏仁粉|0x0008|101\n猫耳朵|0x0008|101\n太白粉|0x0008|101\n木薯粉|0x0008|101\n嫩肉粉|0x0008|101\n杂粮粥|0x0008|101\n陈村粉|0x0008|101\n鸡蛋白|0x0008|101\n海鸭蛋|0x0008|101\n煮鸡蛋|0x0008|101\n娃娃菜|0x0008|101\n奶黄馅|0x0008|101\nQQ糖|0x0008|101\n奶白菜|0x0008|101\n菜籽油|0x0008|101\nXO酱|0x0008|101\n芝麻油|0x0008|101\n绵白糖|0x0008|101\n苦豆子|0x0008|101\n核桃油|0x0008|101\n椰子油|0x0008|101\n乌冬面|0x0008|101\n九层塔|0x0008|101\n大黄米|0x0008|101\n胡麻油|0x0008|101\n棕榈油|0x0008|101\n大雁蛋|0x0008|101\n大闸蟹|0x0008|101\n大花蟹|0x0008|101\n大米粥|0x0008|101\n大米粉|0x0008|101\n大白菜|0x0008|101\n多春鱼|0x0008|101\n调和油|0x0008|101\n五香粉|0x0008|101\n美乃滋|0x0008|101\n绿茶粉|0x0008|101\n鹅肝酱|0x0008|101\n牛肉酱|0x0008|101\n起酥油|0x0008|101\n方便面|0x0008|101\n米糠油|0x0008|101\n南瓜子|0x0008|101\n多宝鱼|0x0008|101\n香辣酥|0x0008|101\n亚麻籽|0x0008|101\n大蒜粉|0x0008|101\n干贝素|0x0008|101\n基围虾|0x0008|101\n地瓜粉|0x0008|101\n杏仁油|0x0008|101\n棉籽油|0x0008|101\n桂花蜜|0x0008|101\n枫糖浆|0x0008|101\n土鸡蛋|0x0008|101\n土豆泥|0x0008|101\n牛初乳|0x0008|101\n圆生菜|0x0008|101\n意面酱|0x0008|101\n四季豆|0x0008|101\n味增汤|0x0008|101\n哈密瓜|0x0008|101\n芥末油|0x0008|101\n咸黄瓜|0x0008|101\n咸鸭蛋|0x0008|101\n人参果|0x0008|101\n什锦菜|0x0008|101\n咖喱粉|0x0008|101\n冰咖啡|0x0008|101\n吉士粉|0x0008|101\n吉利丁|0x0008|101\n可可粉|0x0008|101\n小米面|0x0008|101\n发酵粉|0x0008|101\n叉烧酱|0x0008|101\n玉米粒|0x0008|101\n西瓜汁|0x0008|101\n饺子粉|0x0008|101\n红曲米|0x0008|101\n卷心菜|0x0008|101\n蒸米饭|0x0008|101\n黄米面|0x0008|101\n速溶茶|0x0008|101\n葡萄汁|0x0008|101\n煮面条|0x0008|101\n炸酱面|0x0008|101\n卤牛肉|0x0008|101\n南豆腐|0x0008|101\n南美虾|0x0008|101\n南瓜饼|0x0008|101\n千层饼|0x0008|101\n鸡蛋面|0x0008|101\n黑糯米|0x0008|101\n南瓜泥|0x0008|101\n南杏仁|0x0008|101\n热干面|0x0008|101\n白米饭|0x0008|101\n千岛酱|0x0008|101\n十三香|0x0008|101\n北豆腐|0x0008|101\n北极贝|0x0008|101\n北极虾|0x0008|101\n北杏仁|0x0008|101\n白扁豆|0x0008|101\n红豆馅|0x0008|101\n白芸豆|0x0008|101\n刺老芽|0x0008|101\n苹果汁|0x0008|101\n老豆腐|0x0008|101\n刺儿菜|0x0008|101\n红豇豆|0x0008|101\n绿豆沙|0x0008|101\n豆腐花|0x0008|101\n葡萄酒|0x0008|101\n苹果醋|0x0008|101\n氨基酸|0x0008|101\n刁子鱼|0x0008|101\n乌龙茶|0x0008|101\n冻豆腐|0x0008|101\n芒果汁|0x0008|101\n蜂蜜水|0x0008|101\n汤力水|0x0008|101\n甘蔗汁|0x0008|101\n普洱茶|0x0008|101\n伏特加|0x0008|101\n冰绿茶|0x0008|101\n草莓酒|0x0008|101\n雪利酒|0x0008|101\n西米露|0x0008|101\n柠檬茶|0x0008|101\n核桃乳|0x0008|101\n番茄汁|0x0008|101\n蛋奶酒|0x0008|101\n芝麻糊|0x0008|101\n冬瓜糖|0x0008|101\n白开水|0x0008|101\n全麦粉|0x0008|101\n鸡尾酒|0x0008|101\n佛手瓜|0x0008|101\n威士忌|0x0008|101\n苹果酒|0x0008|101\n白兰地|0x0008|101\n酸枣汁|0x0008|101\n龙井茶|0x0008|101\n黑咖啡|0x0008|101\n矿泉水|0x0008|101\n酸梅汤|0x0008|101\n椰子汁|0x0008|101\n纯净水|0x0008|101\n秋梨膏|0x0008|101\n桂花茶|0x0008|101\n杨梅酒|0x0008|101\n盐汽水|0x0008|101\n椰子粉|0x0008|101\n乌梅汁|0x0008|101\n杏仁露|0x0008|101\n西梅汁|0x0008|101\n利口酒|0x0008|101\n桑葚酒|0x0008|101\n淘米水|0x0008|101\n蓝莓汁|0x0008|101\n酸奶粉|0x0008|101\n猪里脊肉|0x0008|101\n乳酸饮料|0x0008|101\n速溶咖啡|0x0008|101\n花生牛奶|0x0008|101\n低筋面粉|0x0008|101\n葡萄柚汁|0x0008|101\n金华火腿|0x0008|101\n内酯豆腐|0x0008|101\n白葡萄酒|0x0008|101\n碳酸饮料|0x0008|101\n冬虫夏草|0x0008|101\n胡萝卜汁|0x0008|101\n韩国泡菜|0x0008|101\n茉莉花茶|0x0008|101\n玫瑰花茶|0x0008|101\n红葡萄酒|0x0008|101\n韧性饼干|0x0008|101\n卤水豆腐|0x0008|101\n红薯粉条|0x0008|101\n印度飞饼|0x0008|101\n小麦面粉|0x0008|101\n韩式辣酱|0x0008|101\n蓝莓果酱|0x0008|101\n韩国大酱|0x0008|101\n鸡蛋煎饼|0x0008|101\n夏威夷果|0x0008|101\n小苏打粉|0x0008|101\n葵花籽油|0x0008|101\n葡萄籽油|0x0008|101\n五指毛桃|0x0008|101\n奶油芝士|0x0008|101\n奶油蛋糕|0x0008|101\n煮荷包蛋|0x0008|101\n过桥米线|0x0008|101\n婴儿奶糕|0x0008|101\n寿司米饭|0x0008|101\n羽衣甘蓝|0x0008|101\n小西胡瓜|0x0008|101\n小黄花鱼|0x0008|101\n黑巧克力|0x0008|101\n干黄花菜|0x0008|101\n东北酸菜|0x0008|101\n红豆汤圆|0x0008|101\n意大利面|0x0008|101\n抱子甘蓝|0x0008|101\n日本豆腐|0x0008|101\n双孢蘑菇|0x0008|101\n煎饼果子|0x0008|101\n年轮蛋糕|0x0008|101\n虾仁炒饭|0x0008|101\n王不留行|0x0008|101\n樱桃萝卜|0x0008|101\n亚硝酸钠|0x0008|101\n巧克力棒|0x0008|101\n马铃薯片|0x0008|101\n婴儿米粉|0x0008|101\n铁皮石斛|0x0008|101\n白巧克力|0x0008|101\n油泼辣子|0x0008|101\n婴儿奶粉|0x0008|101\n深海鱼油|0x0008|101\n火锅底料|0x0008|101\n韭菜盒子|0x0008|101\n腌韭菜花|0x0008|101\n黑芝麻糊|0x0008|101\n香辣鸡翅|0x0008|101\n泡椒凤爪|0x0008|101\n牛里脊肉|0x0008|101\n猪大骨头|0x0008|101\n烤羊肉串|0x0008|101\n五香驴肉|0x0008|101\n花旗参茶|0x0008|101\n玉米淀粉|0x0008|101\n球茎茴香|0x0008|101\n高筋面粉|0x0008|101\n魔芋豆腐|0x0008|101\n番茄沙司|0x0008|101\n豆瓣辣酱|0x0008|101\n曲奇饼干|0x0008|101\n金丝小枣|0x0008|101\n碎米芽菜|0x0008|101\n焦糖布丁|0x0008|101\n蛋清蛋糕|0x0008|101\n紫卷心菜|0x0008|101\n紫背天葵|0x0008|101\n红心萝卜|0x0008|101\n红薯淀粉|0x0008|101\n斑节对虾|0x0008|101\n结球甘蓝|0x0008|101\n蒸鱼豉油|0x0008|101\n鱼皮花生|0x0008|101\n南瓜子仁|0x0008|101\n脆皮鲜奶|0x0008|101\n蒲公英叶|0x0008|101\n怪味胡豆|0x0008|101\n鸡胸脯肉|0x0008|101\n高钙奶粉|0x0008|101\n低脂奶粉|0x0008|101\n苦荞麦片|0x0008|101\n全脂牛奶|0x0008|101\n黄油面包|0x0008|101\n墨西哥糊|0x0008|101\n脱脂牛奶|0x0008|101\n高钙牛奶|0x0008|101\n儿童奶粉|0x0008|101\n花生汤圆|0x0008|101\n鸡蛋布丁|0x0008|101\n果料酸奶|0x0008|101\n茯苓夹饼|0x0008|101\n全脂奶粉|0x0008|101\n肉松面包|0x0008|101\n腌大头菜|0x0008|101\n腌萝卜条|0x0008|101\n龟苓膏粉|0x0008|101\n黑加仑子|0x0008|101\n麻辣调料|0x0008|101\n鸡蛋豆腐|0x0008|101\n苏打饼干|0x0008|101\n鸡肉汉堡|0x0008|101\n花生芝麻糖|0x0008|101\n金枪鱼罐头|0x0008|101\n美极鲜酱油|0x0008|101\n三文鱼刺身|0x0008|101\n瘦肉皮蛋粥|0x0008|101\n红玫瑰葡萄|0x0008|101\n甜玉米罐头|0x0008|101\n皮蛋瘦肉粥|0x0008|101\n胶原蛋白粉|0x0008|101\n速冻春卷皮|0x0008|101\n蜂蜜柚子茶|0x0008|101\n全脂甜奶粉|0x0008|101\n心里美萝卜|0x0008|101\n酸奶发酵剂|0x0008|101\n初榨橄榄油|0x0008|101\n花生牛轧糖|0x0008|101\n冷冻蛋挞皮|0x0008|101\n郫县豆瓣酱|0x0008|101\n马苏里拉奶酪|0x0008|101\n水煮鱼调料包|0x0008|101\n高纤高钙奶粉|0x0008|101\n星巴克焦糖玛奇朵|0x0008|101\n味全活性乳酸菌饮品|0x0008|101";
	var names = "李克强|0x0080|101\n周襄王|0x0080|101\n埃尔斯|0x0080|101\n卫中前废公|0x0080|101\n周悼王|0x0080|101\n周敬王|0x0080|101\n谢敏男|0x0080|101\n查德-坎贝尔|0x0080|101\n史伯|0x0080|101\n雷铁夫-古森|0x0080|101\n贾文学|0x0080|101\n霍文学|0x0080|101\n高原直泰|0x0080|101\n加里·莱因克尔|0x0080|101\n加里莱因克尔|0x0080|101\n霍雷肖·盖茨|0x0080|101\n霍雷肖盖茨|0x0080|101\n韩鹏|0x0080|101\n任光|0x0080|101\n蔡邕|0x0080|101\n吕凯|0x0080|101\n哥德尔定理|0x0080|101\n库特·斯图登特|0x0080|101\n库特斯图登特|0x0080|101\n佩德罗一世|0x0080|101\n碎波|0x0080|101\n约亨·派佩尔|0x0080|101\n约亨派佩尔|0x0080|101\n约翰布莱德利|0x0080|101\n田中新一|0x0080|101\n朱厚燳|0x0080|101\n魏惠王|0x0080|101\n晋惠帝|0x0080|101\n金哀宗|0x0080|101\n元仁宗|0x0080|101\n十全老人|0x0080|101\n彼得三世|0x0080|101\n道武帝|0x0080|101\n赵陀|0x0080|101\n杨侗|0x0080|101\n西夏惠宗|0x0080|101\n北魏安定王|0x0080|101\n屈出律|0x0080|101\n后唐末帝|0x0080|101\n加拉丽娜|0x0080|101\n赖利流|0x0080|101\n浪子生涯|0x0080|101\n朱聿鐭|0x0080|101\n狂欢节之夜|0x0080|101\n西夏襄宗|0x0080|101\n金世宗|0x0080|101\n齐武帝|0x0080|101\n陈宣帝|0x0080|101\n路易六世|0x0080|101\n孟达|0x0080|101\n后唐闵帝|0x0080|101\n西夏桓宗|0x0080|101\n刘龚|0x0080|101\n鲁道夫二世|0x0080|101\n百济武王|0x0080|101\n宋顺帝|0x0080|101\n勃罗日里公爵夫人|0x0080|101\n卫绍王|0x0080|101\n少帝|0x0080|101\n温祚王|0x0080|101\n段和誉|0x0080|101\n弗朗茨一世|0x0080|101\n段廉义|0x0080|101\n塞拉西一世|0x0080|101\n吴品翰|0x0080|101\n朱本铉|0x0080|101\n安东尼·庇护|0x0080|101\n安东尼庇护|0x0080|101\n元晔|0x0080|101\n阮福晈|0x0080|101\n远洋运输|0x0080|101\n康拉德二世|0x0080|101\n马克奥里略|0x0080|101\n金徽宗|0x0080|101\n武宁王|0x0080|101\n元钊|0x0080|101\n萧琮|0x0080|101\n胡马雍|0x0080|101\n二世胡亥|0x0080|101\n约翰八世|0x0080|101\n鳖灵|0x0080|101\n路易·查理|0x0080|101\n路易查理|0x0080|101\n沸流王|0x0080|101\n向斯|0x0080|101\n晋成帝|0x0080|101\n李子春|0x0080|101\n扶余丰|0x0080|101\n端宗|0x0080|101\n光兴|0x0080|101\n阿古斯汀一世|0x0080|101\n弗朗索瓦·奥尔良|0x0080|101\n弗朗索瓦奥尔良|0x0080|101\n太孙|0x0080|101\n贾汉志|0x0080|101\n芈槐|0x0080|101\n朱常清|0x0080|101\n天光帝|0x0080|101\n拓跋翰|0x0080|101\n唐哀帝陵|0x0080|101\n李椿|0x0080|101\n阿拔斯一世|0x0080|101\n玄元皇帝|0x0080|101\n隋太祖|0x0080|101\n黎龙铤|0x0080|101\n后唐闵帝|0x0080|101\n路奇乌斯·维鲁斯|0x0080|101\n路奇乌斯维鲁斯|0x0080|101\n让-雅克·德萨林|0x0080|101\n让-雅克德萨林|0x0080|101\n宋康王|0x0080|101\n刘柄|0x0080|101\n朱友珪|0x0080|101\n金哀宗|0x0080|101\n奥托二世|0x0080|101\n奥托三世|0x0080|101\n阿尔布雷希特一世|0x0080|101\n佩德罗·维莱斯|0x0080|101\n佩德罗维莱斯|0x0080|101\n熊彼特|0x0080|101\n乌瑟卡夫|0x0080|101\n迈克尔五世|0x0080|101\n中主|0x0080|101\n鲁穆公|0x0080|101\n西美昂大帝|0x0080|101\n阿道夫一世|0x0080|101\n李旵|0x0080|101\n莱翁一世|0x0080|101\n大庆法王|0x0080|101\n贵族的早餐|0x0080|101\n骑马的小姐|0x0080|101\n洁净的露台|0x0080|101\n群猫|0x0080|101\n卡思维勒像|0x0080|101\n王晓倩|0x0080|101\n李明文|0x0080|101\n百弊丛生|0x0080|101\n种谔|0x0080|101\n韦荣初|0x0080|101\n米切尔·斯平克斯|0x0080|101\n米切尔斯平克斯|0x0080|101\n横山大观|0x0080|101\n高有德|0x0080|101\n约翰U.培根|0x0080|101\n葛剑雄|0x0080|101\n侯及名|0x0080|101\n根本博|0x0080|101\n刘国光|0x0080|101\n载仁亲王|0x0080|101\n范德格里夫特|0x0080|101\n杨开忠|0x0080|101\n张嶷墓|0x0080|101\n池文学|0x0080|101\n吕文学|0x0080|101\n赵文学|0x0080|101\n头曼|0x0080|101\n黄汲清|0x0080|101\n施振荣|0x0080|101\n薛暮桥|0x0080|101\n赖若愚|0x0080|101\n邓光甜|0x0080|101\n普拉蒂巴·帕蒂尔|0x0080|101\n普拉蒂巴帕蒂尔|0x0080|101\n马克斯·韦伯|0x0080|101\n马克斯韦伯|0x0080|101\n吉斯卡尔·德斯坦|0x0080|101\n吉斯卡尔德斯坦|0x0080|101\n马丁内斯|0x0080|101\n卢拉|0x0080|101\n马尔蒂·阿赫蒂萨里|0x0080|101\n马尔蒂阿赫蒂萨里|0x0080|101\n陈东琪|0x0080|101\n奥拉维尔·格里姆松|0x0080|101\n奥拉维尔格里姆松|0x0080|101\n马欣达·拉贾帕克萨|0x0080|101\n马欣达拉贾帕克萨|0x0080|101\n菲利普·武亚诺维奇|0x0080|101\n菲利普武亚诺维奇|0x0080|101\n黄泰岩|0x0080|101\n冈敬纯|0x0080|101\n卡兰萨|0x0080|101\n金鼎|0x0080|101\n弗·冯·哈耶克|0x0080|101\n弗·冯哈耶克|0x0080|101\n米盖尔·巴拉甘|0x0080|101\n米盖尔巴拉甘|0x0080|101\n沙纳纳·古斯芒|0x0080|101\n沙纳纳古斯芒|0x0080|101\n乔治·纳波利塔诺|0x0080|101\n乔治纳波利塔诺|0x0080|101\n坦贾·马马杜|0x0080|101\n坦贾马马杜|0x0080|101\n科西加|0x0080|101\n马丁·卡雷拉|0x0080|101\n马丁卡雷拉|0x0080|101\n约翰·斯托克顿|0x0080|101\n约翰斯托克顿|0x0080|101\n叶圣陶|0x0080|101\n林语堂|0x0080|101\n罗杰·梅森|0x0080|101\n罗杰梅森|0x0080|101\n阿松塔·梅洛尼|0x0080|101\n张大千行书黄庭坚诗|0x0080|101\n何塞·胡斯托·科罗|0x0080|101\n何塞胡斯托科罗|0x0080|101\n托马斯·克莱斯蒂尔|0x0080|101\n托马斯克莱斯蒂尔|0x0080|101\n纪政|0x0080|101\n马哈迪|0x0080|101\n沙纳纳·古斯芒|0x0080|101\n沙纳纳古斯芒|0x0080|101\n埃蒙·德·瓦莱拉|0x0080|101\n埃蒙·德瓦莱拉|0x0080|101\n法泽卡斯|0x0080|101\n马莱斯平|0x0080|101\n克留格尔|0x0080|101\n贾瓦拉|0x0080|101\n贾亚瓦德纳|0x0080|101\n朱佑樳|0x0080|101\n艾德礼|0x0080|101\n福雷|0x0080|101\n菲利普罗格|0x0080|101\n菲利普·罗格|0x0080|101\n克里斯穆恩|0x0080|101\n克里斯·穆恩|0x0080|101\n乔达诺|0x0080|101\n约翰菲尔德|0x0080|101\n夏业良|0x0080|101\n配第|0x0080|101\n邹至庄|0x0080|101\n陶冬|0x0080|101\n纪泰山铭|0x0080|101\n康芒斯|0x0080|101\n潘欣明|0x0080|101\n威廉·阿瑟·刘易斯|0x0080|101\n威廉阿瑟刘易斯|0x0080|101\n汪榕培|0x0080|101\n大植英次|0x0080|101\n黄锦奎|0x0080|101\n鲁迪格·多恩布什|0x0080|101\n鲁迪格多恩布什|0x0080|101\n罗必良|0x0080|101\n卡佩尔|0x0080|101\n杜能|0x0080|101\n考夫曼|0x0080|101\n基普凯特|0x0080|101\n保罗·沃尔克|0x0080|101\n保罗沃尔克|0x0080|101\n理查德·汤普森|0x0080|101\n理查德汤普森|0x0080|101\n青木昌彦|0x0080|101\n张载|0x0080|101\n麦克唐纳德|0x0080|101\n苏懿萍|0x0080|101\n穆托拉|0x0080|101\n聂辉华|0x0080|101\n林·克里斯蒂|0x0080|101\n林克里斯蒂|0x0080|101\n泰里-华盛顿|0x0080|101\n高车|0x0080|101\n索靖|0x0080|101\n邵洵美|0x0080|101\n罗旭|0x0080|101\n郑超麟|0x0080|101\n袁可嘉|0x0080|101\n赵景深|0x0080|101\n王维克|0x0080|101\n李继宏|0x0080|101\n罗丰禄|0x0080|101\n普塞尔|0x0080|101\n吴友富|0x0080|101\n高莽|0x0080|101\n郝运|0x0080|101\n唐月梅|0x0080|101\n林同济|0x0080|101\n郭英剑|0x0080|101\n耿济之|0x0080|101\n傅惟慈|0x0080|101\n黄衣青|0x0080|101\n刘若|0x0080|101\n黄雨石|0x0080|101\n葛浩文|0x0080|101\n森田草平|0x0080|101\n赵瑞蕻|0x0080|101\n武士彟|0x0080|101\n吴寿彭|0x0080|101\n马振骋|0x0080|101\n孙绳武|0x0080|101\n石素真|0x0080|101\n礼部尚书|0x0080|101\n安东尼奥麦克戴斯|0x0080|101\n安东尼奥·麦克戴斯|0x0080|101\n泥猴张|0x0080|101\n林召棠|0x0080|101\n钱天鹤|0x0080|101\n何曾|0x0080|101\n司马颙|0x0080|101\n仲伟合|0x0080|101\n德璀琳|0x0080|101\n黑森-达姆施塔特|0x0080|101\n查理十世|0x0080|101\n西摩尔|0x0080|101\n史蒂芬道格拉斯|0x0080|101\n黄伟麟|0x0080|101\n丁原志|0x0080|101\n义天|0x0080|101\n杨根思|0x0080|101\n嵇喜|0x0080|101\n谢衡|0x0080|101\n王聿|0x0080|101\n曹摅|0x0080|101\n何劭|0x0080|101\n曹晚植|0x0080|101\n赵统|0x0080|101\n昭惠王后|0x0080|101\n贞熹王后|0x0080|101\n韩遂|0x0080|101\n关彝|0x0080|101\n开化思想|0x0080|101\n周浚|0x0080|101\n郑默|0x0080|101\n仁烈王后|0x0080|101\n乙巴素|0x0080|101\n明临答夫|0x0080|101\n扶芬奴|0x0080|101\n邓良|0x0080|101\n贾模|0x0080|101\n刘国梁|0x0080|101\n颜芊落|0x0080|101\n黑太子|0x0080|101\n吉洪诺夫|0x0080|101\n丽达|0x0080|101\n邦达尔丘克|0x0080|101\n官秀昌|0x0080|101\n黄慎|0x0080|101\n高其佩|0x0080|101\n吉姆·罗杰斯|0x0080|101\n吉姆罗杰斯|0x0080|101\n魏明亮|0x0080|101\n水笙|0x0080|101\n刘欣然|0x0080|101\n古登|0x0080|101\n蒂姆·皮克特|0x0080|101\n蒂姆皮克特|0x0080|101\n拉格朗日投影|0x0080|101\n格蕾丝·凯莉|0x0080|101\n格蕾丝凯莉|0x0080|101\n薛范|0x0080|101\n皇太子妃雅子|0x0080|101\n王有龄|0x0080|101\n江充|0x0080|101\n王林旭|0x0080|101\n曹洪|0x0080|101\n高妙根|0x0080|101\n奥美|0x0080|101\n杨敬林|0x0080|101\n奈菲尔塔利|0x0080|101\n街舞天后|0x0080|101\n郭崇韬|0x0080|101\n裴行俭|0x0080|101\n史弥远|0x0080|101\n李思训|0x0080|101\n荣禄|0x0080|101\n肖恩·克劳福德|0x0080|101\n肖恩克劳福德|0x0080|101\n张玄素|0x0080|101\n铁甲万能侠|0x0080|101\n盖勋|0x0080|101\n窦固|0x0080|101\n柳庆|0x0080|101\n武懿宗|0x0080|101\n林波|0x0080|101\n徐桐|0x0080|101\n任瑰|0x0080|101\n古勃金|0x0080|101\n薛道衡|0x0080|101\n明崇俨|0x0080|101\n陈宜中|0x0080|101\n鹿传霖|0x0080|101\n桓彦范|0x0080|101\n樊稠|0x0080|101\n张更|0x0080|101\n薛嵩|0x0080|101\n任美锷|0x0080|101\n袁应泰|0x0080|101\n郝经|0x0080|101\n岑毓英|0x0080|101\n吕文德|0x0080|101\n种世衡|0x0080|101\n程名振|0x0080|101\n优孟|0x0080|101\n薛平|0x0080|101\n杜重威|0x0080|101\n樊叔略|0x0080|101\n孔谦|0x0080|101\n于仲文|0x0080|101\n薛奎|0x0080|101\n荣庆|0x0080|101\n温大雅|0x0080|101\n权德舆|0x0080|101\n庄青翟|0x0080|101\n丁大全|0x0080|101\n冯盎|0x0080|101\n哈特谢普苏特|0x0080|101\n杨谅|0x0080|101\n宁戚|0x0080|101\n郭忠恕|0x0080|101\n吴棠|0x0080|101\n张美中|0x0080|101\n魏裔介|0x0080|101\n宋均|0x0080|101\n张廷璐|0x0080|101\n李昭道|0x0080|101\n陆文彬|0x0080|101\n沈传师|0x0080|101\n赵葵|0x0080|101\n张德辉|0x0080|101\n李孝逸|0x0080|101\n薛元超|0x0080|101\n王贞白|0x0080|101\n张雄飞|0x0080|101\n种暠|0x0080|101\n吕温|0x0080|101\n苏良嗣|0x0080|101\n赵匡|0x0080|101\n傅燮|0x0080|101\n范质|0x0080|101\n罗伯特·索洛|0x0080|101\n罗伯特索洛|0x0080|101\n枣祗|0x0080|101\n赵绰|0x0080|101\n诺斯特拉丹姆斯|0x0080|101\n庄有恭|0x0080|101\n李抱玉|0x0080|101\n杜黄裳|0x0080|101\n罗国杰|0x0080|101\n明山宾|0x0080|101\n希福|0x0080|101\n纳芙蒂蒂|0x0080|101\n邓城|0x0080|101\n马宫|0x0080|101\n吴鲁|0x0080|101\n李神符|0x0080|101\n柳述|0x0080|101\n杨善会|0x0080|101\n李森先|0x0080|101\n曹褒|0x0080|101\n李抱真|0x0080|101\nImhotep|0x0080|101\n邢恕|0x0080|101\n美尼斯|0x0080|101\n刘新华|0x0080|101\n软体动物|0x0080|101\n袭人|0x0080|101\n何加林|0x0080|101\n傅强|0x0080|101\n徐培晨|0x0080|101\n刘有志|0x0080|101\n丁文江|0x0080|101\n画祖|0x0080|101\n物理学家|0x0080|101\n王华祥|0x0080|101\n陈衡恪|0x0080|101\n时髦的婚姻|0x0080|101\n政治家|0x0080|101\n明四家|0x0080|101\n凯因斯|0x0080|101\n尹珊珊|0x0080|101\n敷米浆|0x0080|101\n坏蓝眼睛|0x0080|101\n曹三公子|0x0080|101\n蒋红岩|0x0080|101\n弄月斋|0x0080|101\n战国四君子|0x0080|101\n宋庠|0x0080|101\n蔡涛|0x0080|101\n虎千代|0x0080|101\n罗伯特·索洛|0x0080|101\n罗伯特索洛|0x0080|101\n万斯大|0x0080|101\n板部冈江雪斋|0x0080|101\n阿瑟·林德贝克|0x0080|101\n阿瑟林德贝克|0x0080|101\n王燮章|0x0080|101\n吉晓辉|0x0080|101\n詹姆士·托宾|0x0080|101\n詹姆士托宾|0x0080|101\n艾君|0x0080|101\n乔姆斯基|0x0080|101\n杨伯峻|0x0080|101\n八思巴|0x0080|101\n鲁宾费尔德|0x0080|101\n足球运动员|0x0080|101\n裘锡圭|0x0080|101\n王燮章|0x0080|101\n吉晓辉|0x0080|101\n詹姆士·托宾|0x0080|101\n詹姆士托宾|0x0080|101\n艾君|0x0080|101\n乔姆斯基|0x0080|101\n潘主兰|0x0080|101\n章雯淇|0x0080|101\n王颂余|0x0080|101\n巴勃罗·卡萨尔斯|0x0080|101\n巴勃罗卡萨尔斯|0x0080|101\n儒勒马斯内|0x0080|101\n郑柔美|0x0080|101\n萧淑慎|0x0080|101\n崔嵬|0x0080|101\n恩斯特·托勒尔|0x0080|101\n恩斯特托勒尔|0x0080|101\n武术四小龙|0x0080|101\n凯文·席格斯|0x0080|101\n凯文席格斯|0x0080|101\n李迎旗|0x0080|101\n蔡淇俊|0x0080|101\n陆广雄|0x0080|101\n林光|0x0080|101\n王景愚|0x0080|101\n那沙|0x0080|101\n钟子期|0x0080|101\n吕杨|0x0080|101\n萧淑慎|0x0080|101\n马蹄露|0x0080|101\n吴华光|0x0080|101\n玛丽亚·贝罗|0x0080|101\n玛丽亚贝罗|0x0080|101\n武汉星纳|0x0080|101\n覃修毅|0x0080|101\n吴桐森|0x0080|101\n薛元中|0x0080|101\n魏毅|0x0080|101\n吕思远|0x0080|101\n丁敬文|0x0080|101\n陈新亚|0x0080|101\ndecoupage|0x0080|101\n古代佑三|0x0080|101\n恽南田|0x0080|101\n周昔非|0x0080|101\n游明元|0x0080|101\n不二马|0x0080|101\n圣因师太|0x0080|101\n杰特布莱克|0x0080|101\n杰特·布莱克|0x0080|101\n瑛姑|0x0080|101\n巩|0x0080|101\nMEIKO|0x0080|101\n天下封刀|0x0080|101\nKAITO|0x0080|101\n镜音连|0x0080|101\n云谷雷峰|0x0080|101\n缘醉莫求|0x0080|101\n刘学栋|0x0080|101\n巴特·辛普森|0x0080|101\n巴特辛普森|0x0080|101\n近松十人众|0x0080|101\n陆诗琴|0x0080|101\n陈君明|0x0080|101\n卡兹·巴斯卡克|0x0080|101\n卡兹巴斯卡克|0x0080|101\n尹良恩|0x0080|101\n莎拉·凯丽甘|0x0080|101\n莎拉凯丽甘|0x0080|101\n芬尼克斯|0x0080|101\n更木剑八|0x0080|101\n维利亚姆·萨扎兰德|0x0080|101\n维利亚姆萨扎兰德|0x0080|101\n丁凯乐|0x0080|101\n百花公主|0x0080|101\n特兰克斯|0x0080|101\n希丝特露雅|0x0080|101\n王小毛|0x0080|101\n卫鹤|0x0080|101\n胡青羊|0x0080|101\n水羽楠叶|0x0080|101\n酒鬼妹妹|0x0080|101\n张翠山|0x0080|101\n桂雏菊|0x0080|101\n将臣|0x0080|101\n索菲|0x0080|101\n白流苏|0x0080|101\n郭襄|0x0080|101\n黑木|0x0080|101\n秦梦瑶|0x0080|101\n紫嫣|0x0080|101\n迪妮莎|0x0080|101\n柯镇恶|0x0080|101\n远吕智|0x0080|101\nlaughing哥|0x0080|101\n鸿钧|0x0080|101\n莎乐美|0x0080|101\n杨立青|0x0080|101\n赤名莉香|0x0080|101\n蒋门神|0x0080|101\n木易|0x0080|101\n斯佳丽|0x0080|101\n小丁|0x0080|101\n希卡利|0x0080|101\n奥菲斯|0x0080|101\n阿列克谢·斯图科夫|0x0080|101\n阿列克谢斯图科夫|0x0080|101\n埃德蒙·杜克|0x0080|101\n埃德蒙杜克|0x0080|101\n杰拉德·杜格尔|0x0080|101\n杰拉德杜格尔|0x0080|101\n文伽|0x0080|101\n伊胜雪|0x0080|101\n鬼厉|0x0080|101\n周昭|0x0080|101\n祖弼|0x0080|101\n菲丽·罗斯|0x0080|101\n菲丽罗斯|0x0080|101\n气泡警官|0x0080|101\n君自傲|0x0080|101\n贾人达|0x0080|101\n香独秀|0x0080|101\n长颈鹿但丁|0x0080|101\n史秉文|0x0080|101\n火鸟斗士|0x0080|101\n帝如来|0x0080|101\n萧大观|0x0080|101\n号天穹|0x0080|101\n犬夜叉|0x0008|101\n百朝臣|0x0080|101\n阿兰德战记|0x0080|101\n唐离|0x0080|101\n胡图图|0x0080|101\n布鲁托|0x0080|101\n刘紫轩|0x0080|101\n莎拉·凯丽甘|0x0080|101\n莎拉凯丽甘|0x0080|101\n阿克图尔斯·曼斯克|0x0080|101\n阿克图尔斯曼斯克|0x0080|101\n文鹭|0x0080|101\n水户洋平|0x0080|101\n沙拉曼|0x0080|101\n沙丁丁|0x0080|101\n金小开|0x0080|101\n吉姆·雷诺|0x0080|101\n吉姆雷诺|0x0080|101\n多尔·克尼希|0x0080|101\n多尔克尼希|0x0080|101\n萨米尔·杜兰|0x0080|101\n萨米尔杜兰|0x0080|101\n赤木晴子|0x0080|101\n工藤有希子|0x0080|101\n程灵素|0x0080|101\n特兰克斯|0x0080|101\n高进|0x0080|101\n木叶丸|0x0080|101\n纪嫣然|0x0080|101\n阳顶天|0x0080|101\n薇薇安|0x0080|101\n桂小太郎|0x0080|101\n樱通信|0x0080|101\n特兰克斯|0x0080|101\n蒙奇|0x0080|101\n楚云飞|0x0080|101\n樱子|0x0080|101\n孤独求败|0x0080|101\n凯文|0x0080|101\n戚顾|0x0080|101\n福尔康|0x0080|101\n中野梓|0x0080|101\n朱七七|0x0080|101\n张丹枫|0x0080|101\n艾丽卡|0x0080|101\n艾丽卡|0x0080|101\n袁承志|0x0080|101\n揍敌客|0x0080|101\n桂正和|0x0080|101\n西索|0x0080|101\n小一|0x0080|101\n沃尔娜·阿兹拉|0x0080|101\n沃尔娜阿兹拉|0x0080|101\n甜羊羊|0x0080|101\n神照上人|0x0080|101\n冰锋箭无形|0x0080|101\n我那霸响|0x0080|101\n银绝|0x0080|101\n包包大人|0x0080|101\n艾瑞贝斯|0x0080|101\n莉羊羊|0x0080|101\n司命狼|0x0080|101\n菓羊羊|0x0080|101\n琴羊羊|0x0080|101\n巡音流歌|0x0080|101\n贝瓦|0x0080|101\n清羊羊|0x0080|101\n傲神州|0x0080|101\n陈细妹|0x0080|101\n山村贞子|0x0080|101\n亚伯·奈特罗德|0x0080|101\n亚伯奈特罗德|0x0080|101\n释云生|0x0080|101\n泰哥|0x0080|101\n亚瑟韦利|0x0080|101\n黄嘉德|0x0080|101\n程镇球|0x0080|101\n多杰卡|0x0080|101\n罗稷南|0x0080|101\n赖明珠|0x0080|101\n金农|0x0080|101\n宗圣曾子|0x0080|101\n道潜|0x0080|101\n王安石|0x0080|101\n王明|0x0080|101\n过家鼎|0x0080|101\n夏莫|0x0080|101\n林少华|0x0080|101\n费尔巴哈|0x0080|101\n刘义庆|0x0080|101\n毕达哥拉斯|0x0080|101\n余上沅|0x0080|101\n赵同峰|0x0080|101\n吹枯拉朽|0x0080|101\n王子涵|0x0080|101\n韩愈|0x0080|101\n韩愈|0x0080|101\n杜强|0x0080|101\n过零丁洋|0x0080|101\n黒柳彻子|0x0080|101\n都德|0x0080|101\n苏门四学士|0x0080|101\n葛林|0x0080|101\n王寿昌|0x0080|101\n师哲|0x0080|101\n冀朝铸|0x0080|101\n张道真|0x0080|101\n赵君|0x0080|101\n王佐良|0x0080|101\n杨宪益|0x0080|101\n过零丁洋|0x0080|101\n郭沫若|0x0080|101\n欧·亨利|0x0080|101\n欧亨利|0x0080|101\n郑渊洁|0x0080|101\n杨眉|0x0080|101\n米兰·昆德拉|0x0080|101\n米兰昆德拉|0x0080|101\n蔡骏|0x0080|101\n倪匡|0x0080|101\n傅东华|0x0080|101\n草婴|0x0080|101\n邹荻帆|0x0080|101\n董乐山|0x0080|101\n石真|0x0080|101\n唐钺|0x0080|101\n吕和发|0x0080|101\n陈玉刚|0x0080|101\n钱智修|0x0080|101\n林丽韫|0x0080|101\n郑克鲁|0x0080|101\n钱稻孙|0x0080|101\n柳鸣九|0x0080|101\n齐宗华|0x0080|101\n陈季同|0x0080|101\n穆木天|0x0080|101\n戈宝权|0x0080|101\n冯克利|0x0080|101\n钱歌川|0x0080|101\n梅绍武|0x0080|101\n支谦|0x0080|101\n张悦然|0x0080|101\n舍得|0x0080|101\n凤歌|0x0080|101\n白雪|0x0080|101\n泰戈尔|0x0080|101\n汪曾祺|0x0080|101\n张平|0x0080|101\n慕容雪村|0x0080|101\n周国平|0x0080|101\n苏格拉底|0x0080|101\n魏巍|0x0080|101\n南怀瑾|0x0080|101\n杜甫|0x0080|101\n熊耀华|0x0080|101\n席慕蓉|0x0080|101\n杨绛|0x0080|101\n杨二车娜姆|0x0080|101\n胡适|0x0080|101\n王国维|0x0080|101\n李春平|0x0080|101\n庄子|0x0080|101\n高尔基|0x0080|101\n曹禺|0x0080|101\n朱光潜|0x0080|101\n朱琳|0x0080|101\n上官婉儿|0x0080|101\n程章灿|0x0080|101\n明晓溪|0x0080|101\n七堇年|0x0080|101\n饶雪漫|0x0080|101\n叶小乖|0x0080|101\n契诃夫|0x0080|101\n顾城|0x0080|101\n严歌苓|0x0080|101\n郑振铎|0x0080|101\n张铎|0x0080|101\n海德格尔|0x0080|101\n黄育群|0x0080|101\n陆游|0x0080|101\n张恒|0x0080|101\n张国强|0x0080|101\n王道乾|0x0080|101\n宇文虚中|0x0080|101\n张小娴|0x0080|101\n郑板桥|0x0080|101\n张志和|0x0080|101\n方华文|0x0080|101\n罗洛|0x0080|101\n欧阳中石|0x0080|101\n路遥|0x0080|101\n艾青|0x0080|101\n许渊冲|0x0080|101\n祝子平|0x0080|101\n赵荣光|0x0080|101\n方平|0x0080|101\n简·奥斯汀|0x0080|101\n简奥斯汀|0x0080|101\n于今|0x0080|101\n戴望舒|0x0080|101\n夏衍|0x0080|101\n王焕生|0x0080|101\n贾平凹|0x0080|101\n贾平凹|0x0080|101\n高行健|0x0080|101\n单田芳|0x0080|101\n周弘|0x0080|101\n梁羽生|0x0080|101\n柳宗元|0x0080|101\n苏三|0x0080|101\n洛克|0x0080|101\n柏拉图|0x0080|101\n华岳|0x0080|101\n陈永正|0x0080|101\n巫宁坤|0x0080|101\n光未然|0x0080|101\n曹靖华|0x0080|101\n欧拉|0x0080|101\n柏拉图|0x0080|101\n毕淑敏|0x0080|101\n托尔斯泰|0x0080|101\n丘成桐|0x0080|101\n郭锷权|0x0080|101\n石素真|0x0080|101\n孙绳武|0x0080|101\n马振骋|0x0080|101\n吴寿彭|0x0080|101\n赵瑞蕻|0x0080|101\n薛范|0x0080|101\n朱伯雄|0x0080|101\n森田草平|0x0080|101\n葛浩文|0x0080|101\n黄雨石|0x0080|101\n刘若|0x0080|101\n黄衣青|0x0080|101\n傅惟慈|0x0080|101\n耿济之|0x0080|101\n黄慎|0x0080|101\n艾君|0x0080|101\n米兰·昆德拉|0x0080|101\n米兰昆德拉|0x0080|101\n怀素|0x0080|101\n唐宋八大家|0x0080|101\n李晓薇|0x0080|101\n刘頔|0x0080|101\n毕达哥拉斯|0x0080|101\n都德|0x0080|101\n韩愈|0x0080|101\n刘荣桂|0x0080|101\n钱春绮|0x0080|101\n诗歌理论|0x0080|101\n杭晨蒙|0x0080|101\n莫小邪|0x0080|101\n二毛|0x0080|101\n欧亨利|0x0080|101\n恩斯特·托勒尔|0x0080|101\n恩斯特托勒尔|0x0080|101\n埃斯库罗斯|0x0080|101\n沈璎璎|0x0080|101\n伤痕|0x0080|101\n郭英剑|0x0080|101\n唐月梅|0x0080|101\n邵洵美|0x0080|101\n胡愈之|0x0080|101\n李健吾|0x0080|101\n陈望道|0x0080|101\n舒婷|0x0080|101\n杨万里|0x0080|101\n王安石|0x0080|101\n田汉|0x0080|101\n伯罗蒙塞尔|0x0080|101\n安意如|0x0080|101\n韩晗|0x0080|101\n葛剑雄|0x0080|101\n苏秦|0x0080|101\n焦菊隐|0x0080|101\n罗旭|0x0080|101\n陆蠡|0x0080|101\n郑超麟|0x0080|101\n郝运|0x0080|101\n高莽|0x0080|101\n赵家璧|0x0080|101\n傅雷译文集|0x0080|101\n吴友富|0x0080|101\n李玉民|0x0080|101\n仲伟合|0x0080|101\n林同济|0x0080|101\n王维克|0x0080|101\n吴兴华|0x0080|101\n李继宏|0x0080|101\n赵景深|0x0080|101\n袁可嘉|0x0080|101\n加里·斯奈德|0x0080|101\n加里斯奈德|0x0080|101\n李赋宁|0x0080|101\n林超伦|0x0080|101\n汪榕培|0x0080|101\n王明|0x0080|101\n杨红樱|0x0080|101\n吴承恩|0x0080|101\n庄子|0x0080|101\n庄子|0x0080|101\n庄子|0x0080|101\n庄子|0x0080|101\n金圣叹|0x0080|101\n厉以宁|0x0080|101\n曹文轩|0x0080|101\n胡适|0x0080|101\n胡适|0x0080|101\n季羡林|0x0080|101\n何其芳|0x0080|101\n巴尔扎克|0x0080|101\n华罗庚|0x0080|101\n泰戈尔|0x0080|101\n胡军|0x0080|101\n孟浩然|0x0080|101\n王勃|0x0080|101\n海子|0x0080|101\n苏曼殊|0x0080|101\n李连达|0x0080|101\n陶行知|0x0080|101\n米布尔加科夫|0x0080|101\n郭敬明|0x0080|101\n丁肇中|0x0080|101\n王迅编|0x0080|101\n李阳|0x0080|101\n孙睿|0x0080|101\n余秋雨|0x0080|101\n李湘|0x0080|101\n蒲松龄|0x0080|101\n契诃夫|0x0080|101\n茅盾|0x0080|101\n池莉|0x0080|101\n卞之琳|0x0080|101\n赵丽宏|0x0080|101\n杨辉|0x0080|101\n刘滨|0x0080|101\n叶君健|0x0080|101\n胡兰成|0x0080|101\n王金陵|0x0080|101\n郑板桥|0x0080|101\n郑板桥|0x0080|101\n简平|0x0080|101\n张志和|0x0080|101\n蔡铭超|0x0080|101\n路遥|0x0080|101\nvivibear|0x0080|101\n罗念生|0x0080|101\n简·奥斯汀|0x0080|101\n简奥斯汀|0x0080|101\n冯至|0x0080|101\n王蒙|0x0080|101\n高尔基|0x0080|101\n欧拉|0x0080|101\n铁凝|0x0080|101\n苏格拉底|0x0080|101\n周其凤|0x0080|101\n杜甫|0x0080|101\n吴晗|0x0080|101\n席慕蓉|0x0080|101\n席绢|0x0080|101\n培根|0x0080|101\n董梦知|0x0080|101\n张永成|0x0080|101\n周作人|0x0080|101\n三毛|0x0080|101\n陈乔恩|0x0080|101\n柳宗元|0x0080|101\n亦舒|0x0080|101\n维特根斯坦|0x0080|101\n叶渭渠|0x0080|101\n林徽因|0x0080|101\n朱自清|0x0080|101\n马佾|0x0080|101\n杨德豫|0x0080|101\n段少|0x0080|101\n李仁臣|0x0080|101\n孔继利|0x0080|101\n胡同之死|0x0080|101\n小民|0x0080|101\n莱奥帕尔迪|0x0080|101\n赵毅衡|0x0080|101\n邓光荐|0x0080|101\n温瑞安|0x0080|101\n名目|0x0080|101\n张穆|0x0080|101\n110米栏|0x0080|101\n柯多娃|0x0080|101\n迪巴巴|0x0080|101\n泽莱兹尼|0x0080|101\n梅林特|0x0080|101\n关英楠|0x0080|101\n托马索娃|0x0080|101\n布里茨|0x0080|101\n库津科娃|0x0080|101\n凡斯|0x0080|101\n帕芙利什|0x0080|101\n陈海健|0x0080|101\n达韦斯·帕顿|0x0080|101\n达韦斯帕顿|0x0080|101\n纳扎罗娃|0x0080|101\n卡姆贝纳斯|0x0080|101\n虞朝鸿|0x0080|101\n克莱纳特|0x0080|101\n顾莹|0x0080|101\n顾原|0x0080|101\n孙英杰|0x0080|101\n皮特曼|0x0080|101\n安珠·博比·乔治|0x0080|101\n安珠博比乔治|0x0080|101\n姜静|0x0080|101\n瑞德尔|0x0080|101\n萨多娃|0x0080|101\n芬顿|0x0080|101\n阿贝莱格塞|0x0080|101\n奎罗伊|0x0080|101\n齐海峰|0x0080|101\n朱荣华|0x0080|101\n李梅菊|0x0080|101\n室伏广治|0x0080|101\n拉德克里夫|0x0080|101\n阿尔达马|0x0080|101\n于-尔蒂斯|0x0080|101\n阿洛齐|0x0080|101\n弗拉斯克|0x0080|101\n锡阿姆|0x0080|101\n佩琼金娜|0x0080|101\n克利斯田森|0x0080|101\n德梅里特|0x0080|101\n泽莱兹尼|0x0080|101\n泽莱兹尼|0x0080|101\n瓦米|0x0080|101\n中距离跑|0x0080|101\n李慧泉|0x0080|101\n王舟舟|0x0080|101\n黄潇潇|0x0080|101\n莫雷诺|0x0080|101\n帕里图莱特|0x0080|101\n李贺兰|0x0080|101\n欧斯塔普察科|0x0080|101\n倪震杰|0x0080|101\n卡普索娃|0x0080|101\n柯泽尼欧斯基|0x0080|101\n肯鲍伊|0x0080|101\n景雪竹|0x0080|101\n哈小燕|0x0080|101\n苏利凡|0x0080|101\n张小雨|0x0080|101\n波里斯·亨利|0x0080|101\n波里斯亨利|0x0080|101\n布莱克伍德|0x0080|101\n李柱宏|0x0080|101\n比隆诺格|0x0080|101\n巴尔蒂尼|0x0080|101\n李凤峰|0x0080|101\n查卡诺娃|0x0080|101\n沈云暴|0x0080|101\n克里维尔约娃|0x0080|101\n斯库里津|0x0080|101\n尼科拉耶娃|0x0080|101\n蒙特布伦|0x0080|101\n英格-博格|0x0080|101\n采普拉克|0x0080|101\n巴巴科娃|0x0080|101\n达雷尔·布朗|0x0080|101\n达雷尔布朗|0x0080|101\n斯特林费洛|0x0080|101\n阿利乌|0x0080|101\n梁淑艳|0x0080|101\n窦兆波|0x0080|101\n链球|0x0080|101\n克鲁格尔|0x0080|101\n塞波尔|0x0080|101\n铅球|0x0008|101\n长跑世界记录|0x0080|101\n艾梅多鲁|0x0080|101\n薛娟|0x0080|101\n格布雷希拉西耶|0x0080|101\n叶奎刚|0x0080|101\n玛赛|0x0080|101\n宋红娟|0x0080|101\n刘瑛慧|0x0080|101\n野口水木|0x0080|101\n黄乐|0x0080|101\n顾原|0x0080|101\n欧莱西亚·斯基那|0x0080|101\n欧莱西亚斯基那|0x0080|101\n提孔|0x0080|101\n贝里奎斯特|0x0080|101\n本盖|0x0080|101\n安德雷·布赫|0x0080|101\n特加特|0x0080|101\n佩瑞|0x0080|101\n内莉幼|0x0080|101\n布舒帕姆|0x0080|101\n梅南迪|0x0080|101\n米耶斯库格|0x0080|101\n卡帕姬丝卡亚|0x0080|101\n萨米·基普凯特|0x0080|101\n萨米基普凯特|0x0080|101\n候鸟|0x0008|102\n相思鸟|0x0008|102\n日本婆|0x0008|102\n隼形目|0x0008|102\n墨脱缺翅虫|0x0008|102\n塔里木兔|0x0008|102\n白冠长尾雉|0x0008|102\n柳叶鸡|0x0008|102\n短耳鸮|0x0008|102\n狨|0x0008|102\n红角鸮|0x0008|102\n肉足虫|0x0008|102\n鼋|0x0008|102\n西非鸵鸟|0x0008|102\n奥杜邦长腿冠鹰|0x0008|102\n粉红燕鸥|0x0008|102\n鹟|0x0008|102\n日壁虎|0x0008|102\n塞舌尔猫头鹰|0x0008|102\n灰鹤|0x0008|102\n白头鹤|0x0008|102\n黑熊|0x0008|102\n滑鼠蛇|0x0008|102\n原矛头蝮|0x0008|102\n胸鳍|0x0008|102\n赤腹鹰|0x0008|102\n虾皮|0x0008|102\n蚓腹蛛|0x0008|102\n双辫八色鸫|0x0008|102\n印度大鸨|0x0008|102\n加拉帕戈斯企鹅|0x0008|102\n蚂蝗|0x0008|102\n黑侧雅罗鱼|0x0008|102\n小杜父鱼|0x0008|102\n巴吉度猎犬|0x0008|102\n星鼻鼹|0x0008|102\n灰翅天蛾|0x0008|102\n裸啮虫|0x0008|102\n叶蝉|0x0008|102\n褐头鹀|0x0008|102\n红大马哈鱼|0x0008|102\n三道眉草鹀|0x0008|102\n戈氏岩鹀|0x0008|102\n蜣螂|0x0008|102\n苏门羚|0x0008|102\n麦耶氏鹦鹉|0x0008|102\n闪电鹦鹉|0x0008|102\n金黄锥尾鹦鹉|0x0008|102\n黄蓝金刚鹦鹉|0x0008|102\n虹彩吸蜜鹦鹉|0x0008|102\n深红玫瑰鹦鹉|0x0008|102\n锥尾太阳鹦鹉|0x0008|102\n白腹凯克鹦鹉|0x0008|102\n菲律宾短尾鹦鹉|0x0008|102\n水熊|0x0008|102\n腔肠动物|0x0008|102\n桑蚕|0x0008|102\n麋鹿|0x0008|102\n阿拉斯加克利凯犬|0x0008|102\n地龟|0x0008|102\n罗秦犬|0x0008|102\n白犀|0x0008|102\n菜蛾|0x0008|102\n沙漠地鼠龟|0x0008|102\n彼斯奎氏鹦鹉|0x0008|102\n摩鹿加凤头鹦鹉|0x0008|102\n寻血猎犬|0x0008|102\n加卡利亚仓鼠|0x0008|102\n巴勒斯坦毒蝎|0x0008|102\n雪特兰矮马|0x0008|102\n小鸟龙|0x0008|102\n环海豹|0x0008|102\n腔肠动物|0x0008|102\n山田大蚊|0x0008|102\n似鸡龙|0x0008|102\n节肢动物|0x0008|102\n腔肠动物|0x0008|102\n原生动物门|0x0008|102\n软体动物|0x0008|102\n炮弹鱼|0x0008|102\n蜘蛛|0x0008|102\n北极大企鹅|0x0008|102\n田鼠|0x0008|102\nkiwi|0x0008|102\n褐河乌|0x0008|102\n长尾阔嘴鸟|0x0008|102\n银胸丝冠鸟|0x0008|102\n蝴蝶|0x0008|102\n盘尾树鹊|0x0008|102\n百舌鸟|0x0008|102\n蓝翅八色鸫|0x0008|102\n绿胸八色鸫|0x0008|102\n蓝八色鸫|0x0008|102\n长尾山雀科|0x0008|102\n厚嘴苇莺|0x0008|102\n北极兔|0x0008|102\n魔王松鼠|0x0008|102\n计氏龙|0x0008|102\n食肉牛龙|0x0008|102\n扁尾陆龟|0x0008|102\n猎隼|0x0008|102\n型大蚊|0x0008|102\n黑卷尾|0x0008|102\n恐龙婴儿墓地|0x0008|102\n棕腹隼雕|0x0008|102\n栗褐鼯鼠|0x0008|102\n中央凹|0x0008|102\n白眼鵟鹰|0x0008|102\n黑耳鸢|0x0008|102\n三黄鸡|0x0008|102\n松鼠猴|0x0008|102\n短尾猴|0x0008|102\n香猪|0x0008|102\n龙鱼|0x0008|102\n黑嘴端凤头燕鸥|0x0008|102\n红嘴鸥|0x0008|102\n鲥鱼|0x0008|102\n花粉筐|0x0008|102\n黑河马|0x0008|102\n大通马|0x0008|102\n新丽江马|0x0008|102\n玉树马|0x0008|102\n海胆|0x0008|102\n鸦嘴卷尾|0x0008|102\n秧鸡|0x0008|102\n秧鸡|0x0008|102\n乔科马|0x0008|102\n动物医学|0x0008|102\n恐鹤|0x0008|102\n黄昏鸟|0x0008|102\n鼩鼱|0x0008|102\n吸血鱼|0x0008|102\n腔棘鱼|0x0008|102\n异齿龙科|0x0008|102\n海蚯蚓|0x0008|102\n棘龙|0x0008|102\n迅猛龙|0x0008|102\n双龙|0x0008|102\n恶龙|0x0008|102\n龙虱|0x0008|102\n蓟马|0x0008|102\n蛐蟮|0x0008|102\n台湾宽尾凤蝶|0x0008|102\n青脚鹬|0x0008|102\n红灰蝶|0x0008|102\n双叉犀金龟|0x0008|102\n双叉犀金龟|0x0008|102\n鱼石螈|0x0008|102\n吹箫蛇|0x0008|102\n潘多蛇|0x0008|102\n黑水鸡|0x0008|102\n蜘蛛蛇|0x0008|102\n网斑蟒|0x0008|102\n沙漠黑速蛇|0x0008|102\n白带蛇|0x0008|102\n小头龙|0x0008|102\n似鸵龙|0x0008|102\n哥斯拉龙|0x0008|102\n副龙栉龙|0x0008|102\n沱江龙|0x0008|102\n槽齿龙|0x0008|102\n阿瓦拉慈龙|0x0008|102\n切齿龙|0x0008|102\n鲨齿龙|0x0008|102\n膜管|0x0008|102\n红脚苦恶鸟|0x0008|102\n伪镖水蚤科|0x0008|102\n百舌鸟|0x0008|102\n黄唇鱼|0x0008|102\n贵州疣螈|0x0008|102\n挂榜山小鲵|0x0008|102\n金线鲃|0x0008|102\n毒鲉|0x0008|102\n长鼻目|0x0008|102\n马鞍翅|0x0008|102\n迦南犬|0x0008|102\n非洲大蜗牛|0x0008|102\n地中海猕猴|0x0008|102\n肺炎双球菌|0x0008|102\n鰕虎鱼|0x0008|102\n姥鲨科|0x0008|102\n栗头蜂虎|0x0008|102\n旋齿鲨|0x0008|102\n路氏双髻鲨|0x0008|102\n威氏吸蜜鹦鹉|0x0008|102\n犀鸟|0x0008|102\n虹雉属|0x0008|102\n大石鸡|0x0008|102\n裸眼小葵花鹦鹉|0x0008|102\n中国鸟类图鉴|0x0008|102\n动物疾病|0x0008|102\n流浪猫|0x0008|102\n鲥鱼|0x0008|102\n鲥鱼|0x0008|102\n开封斗鸡|0x0008|102\n鲢鱼|0x0008|102\n阿马加龙|0x0008|102\n锥体虫属|0x0008|102\n锥虫属|0x0008|102\n四川大学动物标本馆|0x0008|102\n肉牛|0x0008|102\n蟹蛛科|0x0008|102\n扇贝|0x0008|102\n珍珠贝|0x0008|102\n森蚺|0x0008|102\n宠物龙猫|0x0008|102\n活化石|0x0008|102\n乌龟呼吸道疾病|0x0008|102\n戈登雪达犬|0x0008|102\n雪猴|0x0008|102\n眼虫|0x0008|102\n大鵟|0x0008|102\n大草履虫|0x0008|102\n艾鼬|0x0008|102\n有孔虫目|0x0008|102\n吸管虫|0x0008|102\n鞭毛纲|0x0008|102\n纤毛纲|0x0008|102\n四膜虫属|0x0008|102\n利什曼虫属|0x0008|102\n血簇虫属|0x0008|102\n杯体虫属|0x0008|102\n砂壳虫类|0x0008|102\n小车轮虫属|0x0008|102\n太阳虫目|0x0008|102\n格留虫属|0x0008|102\n钟虫科|0x0008|102\n小瓜虫属|0x0008|102\n夜光虫属|0x0008|102\n双滴虫目|0x0008|102\n三角孢子虫属|0x0008|102\n膜口目|0x0008|102\n狄鲁汉科|0x0008|102\n艾美球虫属|0x0008|102\n巴罗球虫科|0x0008|102\n格留科|0x0008|102\n匹里科|0x0008|102\n毛口目|0x0008|102\n肠袋科|0x0008|102\n异毛目|0x0008|102\n丽克虫属|0x0008|102\n有孔虫体|0x0008|102\n披发虫|0x0008|102\n前滴目|0x0008|102\n星孢子纲|0x0008|102\n拟单囊虫属|0x0008|102\n四尾虫属|0x0008|102\n碘泡虫科|0x0008|102\n三角虫属|0x0008|102\n弧形虫属|0x0008|102\n两极虫科|0x0008|102\n双壳目|0x0008|102\n疟原虫属|0x0008|102\n累枝科|0x0008|102\n半眉虫属|0x0008|102\n狄鲁汉虫属|0x0008|102\n匹里虫属|0x0008|102\n足孢虫属|0x0008|102\n四尾虫科|0x0008|102\n尾孢虫属|0x0008|102\n熊蜂属|0x0008|102\n旋缝虫属|0x0008|102\n球孢虫科|0x0008|102\n冠孢虫属|0x0008|102\n瓦特虫科|0x0008|102\n楚克拉虫属|0x0008|102\n锥体虫科|0x0008|102\n鱼波豆虫属|0x0008|102\n单极虫科|0x0008|102\n艾美球虫科|0x0008|102\n阎甲科|0x0008|102\n餐条|0x0008|102\n海南原缨口鳅|0x0008|102\n爱尔兰猎狼犬|0x0008|102\n阿穆尔龙|0x0008|102\n沟椎龙|0x0008|102\n痒螨科|0x0008|102\n阳遂足科|0x0008|102\n白睑猴属|0x0008|102\n有鞭目|0x0008|102\n蝇科|0x0008|102\n瘿绵蚜科|0x0008|102\n芫菁科|0x0008|102\n原足目|0x0008|102\n卤虫属|0x0008|102\n官鹅沟国家森林公园|0x0008|102\n蚊科|0x0008|102\n岩鹨科|0x0008|102\n碘泡虫属|0x0008|102\n洞熊|0x0008|102\n豚鼠科|0x0008|102\n布坤薮鹛|0x0008|102\n西利哈穆绠|0x0008|102\n小型诺威奇梗|0x0008|102\n依比赞猎犬|0x0008|102\n迷你型史猱查梗|0x0008|102\n但丁迪蒙绠|0x0008|102\n短毛装饰犬|0x0008|102\n阿根廷攀颇犬|0x0008|102\n小型斯凯梗|0x0008|102\n迷你型波利犬|0x0008|102\n大型比利时玛利诺犬|0x0008|102\n橙眼蛙|0x0008|102\n棘泡虫科|0x0008|102\n胜利女神|0x0008|102\n长吻鮠|0x0008|102\n暹罗斗鱼|0x0008|102\n血红鹦鹉|0x0008|102\n刺盖鱼|0x0008|102\n玻璃拉拉鱼|0x0008|102\n雅鱼|0x0008|102\n气龙|0x0008|102\n冰脊龙|0x0008|102\n扭椎龙|0x0008|102\n上游永川龙|0x0008|102\n晓龙|0x0008|102\n肉龙|0x0008|102\n秀颌龙|0x0008|102\n颌锯齿龙|0x0008|102\n杨氏马门溪龙|0x0008|102\n鸵鸟龙|0x0008|102\n橡树龙|0x0008|102\n食蜥龙|0x0008|102\n芦沟龙|0x0008|102\n詹尼斯龙|0x0008|102\n文雅龙|0x0008|102\n卞氏龙|0x0008|102\n近蜥龙|0x0008|102\n昆明龙|0x0008|102\n巨脚龙|0x0008|102\n藏匿龙|0x0008|102\n广元马门溪龙|0x0008|102\n巴塔哥尼亚龙|0x0008|102\n皮亚尼兹基龙|0x0008|102\n奥斯尼尔龙|0x0008|102\n龙爪龙|0x0008|102\n澳洲野犬|0x0008|102\n湘云鲫|0x0008|102\n营山龙|0x0008|102\n和平中华盗龙|0x0008|102\n展尾龙|0x0008|102\n难觅龙|0x0008|102\n安岳马门溪龙|0x0008|102\n莫阿大学龙|0x0008|102\n萨尔崔龙|0x0008|102\n资中龙|0x0008|102\n巨刺龙|0x0008|102\n腔躯龙|0x0008|102\n艾德玛龙|0x0008|102\n雷盗龙|0x0008|102\n中棘龙|0x0008|102\n鸸鹋|0x0008|102\n凹口科|0x0008|102\n鲁钝龙|0x0008|102\n达玛拉龙|0x0008|102\n黄脸亚马逊鹦鹉|0x0008|102\n央齿龙|0x0008|102\n原角鼻龙|0x0008|102\n澳洲盗龙|0x0008|102\n米鲁龙|0x0008|102\n哥打龙|0x0008|102\n尼亚萨龙|0x0008|102\n易门龙|0x0008|102\n伯齿龙|0x0008|102\n公平龙|0x0008|102\n鸮头贝|0x0008|102\n灰色云南虫|0x0008|102\n盾头鱼|0x0008|102\n瓣齿鱼|0x0008|102\n鲣鸟|0x0008|102\n埃及狼|0x0008|102\n露丝娜龙|0x0008|102\n硬齿鸭嘴兽|0x0008|102\n体壁|0x0008|102\n紫颈吸蜜鹦鹉|0x0008|102\n白冠长尾雉|0x0008|102\n白冠长尾雉|0x0008|102\n贵妇鸡|0x0008|102\n绿壳蛋鸡|0x0008|102\n金领金刚鹦鹉|0x0008|102\n蓝喉金刚鹦鹉|0x0008|102\n浅蓝绿金刚鹦鹉|0x0008|102\n黄眼先亚马逊鹦鹉|0x0008|102\n波多黎各亚马逊鹦鹉|0x0008|102\n美洲亚马逊鹦鹉|0x0008|102\n大天鹅|0x0008|102\n橙翅亚马逊鹦鹉|0x0008|102\n红眼镜亚马逊鹦鹉|0x0008|102\n黄冠亚马逊鹦鹉|0x0008|102\n双黄头亚马逊鹦鹉|0x0008|102\n绿颊亚马逊鹦鹉|0x0008|102\n古巴亚马逊鹦鹉|0x0008|102\n淡紫冠亚马逊鹦鹉|0x0008|102\n喜庆亚马逊鹦鹉|0x0008|102\n蓝冠斑点亚马逊鹦鹉|0x0008|102\n蓝颊亚马逊鹦鹉|0x0008|102\n黄嘴亚马逊鹦鹉|0x0008|102\n黄肩亚马逊鹦鹉|0x0008|102\n红额亚马逊鹦鹉|0x0008|102\n浅蓝绿金刚鹦鹉|0x0008|102\n红颈亚马逊鹦鹉|0x0008|102\n春雷龙|0x0008|102\n冠叫鸭|0x0008|102\n欧绒鸭|0x0008|102\n红胸秋沙鸭|0x0008|102\n斑脸海番鸭|0x0008|102\n花脸鸭|0x0008|102\n罗纹鸭|0x0008|102\n粉足雁|0x0008|102\n斑头雁|0x0008|102\n弱雁|0x0008|102\n弱雁|0x0008|102\n哑音天鹅|0x0008|102\n黑颈天鹅|0x0008|102\n黑嘴亚马逊鹦鹉|0x0008|102\n两脚蛇|0x0008|102\n树鸭属|0x0008|102\n脑膜炎球菌|0x0008|102\n咬鹃目|0x0008|102\n雨燕目|0x0008|102\n鸊鷉目|0x0008|102\n黑颈鸊鷉|0x0008|102\n凤头鸊鷉|0x0008|102\n大鸊鷉|0x0008|102\n白簇鸊鷉|0x0008|102\n侏鸊鷉|0x0008|102\n调孔亚纲|0x0008|102\n滑体亚纲|0x0008|102\n肺鱼亚纲|0x0008|102\n全头亚纲|0x0008|102\n板鳃亚纲|0x0008|102\n鳐形目|0x0008|102\n鼠鲨目|0x0008|102\n锥齿鲨科|0x0008|102\n须鲨科|0x0008|102\n扁鲨科|0x0008|102\n扁鲨目|0x0008|102\n星云扁鲨|0x0008|102\n尾索动物亚门|0x0008|102\n硬骨鱼纲|0x0008|102\n白腹灰蕉鹃|0x0008|102\n红嘴奎利亚雀|0x0008|102\n卡卡啄羊鹦鹉|0x0008|102\n纽澳鹦鹉|0x0008|102\n绿翅国王鹦鹉|0x0008|102\n帝汶红翅鹦鹉|0x0008|102\n黄腹角雉|0x0008|102\n穆勒氏鹦鹉|0x0008|102\n蓝盖鹦鹉|0x0008|102\n穆勒氏鹦鹉|0x0008|102\n超级鹦鹉|0x0008|102\n北部玫瑰鹦鹉|0x0008|102\n西部玫瑰鹦鹉|0x0008|102\n黄色玫瑰鹦鹉|0x0008|102\n绿色玫瑰鹦鹉|0x0008|102\n青绿草原鹦鹉|0x0008|102\n青绿草原鹦鹉|0x0008|102\n岩石鹦鹉|0x0008|102\n蓝翅鹦鹉|0x0008|102\n柳叶鸡|0x0008|102\n红胸角雉|0x0008|102\n蓝胸鹑|0x0008|102\n鸡形目|0x0008|102\n中华鹧鸪|0x0008|102\n肖藜泉蝇|0x0008|102\n前口式|0x0008|102\n平肢目|0x0008|102\n尾肢目|0x0008|102\n壮肢目|0x0008|102\n避日虫科|0x0008|102\n沙风蝎科|0x0008|102\n拈翅目|0x0008|102\n绒螨|0x0008|102\n刺钟藤壶|0x0008|102\n花花介|0x0008|102\n毛翅|0x0008|102\n角水蚤科|0x0008|102\n鳂亚科|0x0008|102\n胸刺水蚤属|0x0008|102\n避日虫科|0x0008|102\n沙风蝎科|0x0008|102\n拈翅目|0x0008|102\n绒螨|0x0008|102\n刺钟藤壶|0x0008|102\n花花介|0x0008|102\n毛翅|0x0008|102\n角水蚤科|0x0008|102\n鳂亚科|0x0008|102\n胸刺水蚤属|0x0008|102\n鲁西南|0x0040|99\n龙潭寺|0x0040|99\n马略卡|0x0040|99\n安庆市宜城医院|0x0020|99\n黎巴嫩|0x0040|99\n辽宁红沿河核电站|0x0020|99\n哈尔科夫|0x0040|99\n苏东|0x0040|99\n日喀则地区|0x0040|99\n京兆|0x0040|99\n旁遮普|0x0040|99\n关西|0x0040|99\n密西西比|0x0040|99\n乌拉尔|0x0040|99\n特兰西瓦尼亚|0x0040|99\n北京机械工业学院|0x0020|99\n北京物资学院|0x0020|99\n大连艺术学院|0x0020|99\n辽东半岛|0x0040|99\n黄山市博物馆|0x0060|99\n沙市区|0x0040|99\n哥伦比亚|0x0040|99\n委内瑞拉|0x0040|99\n牙买加|0x0040|99\n圣卢西亚|0x0040|99\n格林纳达|0x0040|99\n美属维尔京群岛|0x0040|99\n哈巴河|0x0040|99\n瓜德罗普|0x0040|99\n鲁尔|0x0040|99\n卡罗林斯卡学院|0x0020|99\n宾夕法尼亚大学|0x0060|99\n基里巴斯共和国|0x0040|99\n法属玻利尼西亚|0x0040|99\n瓦利斯群岛和富图纳群岛|0x0040|99\n圣赫勒拿岛|0x0040|99\n科摩罗|0x0040|99\n加州大学伯克利分校|0x0020|99\n普林斯顿大学|0x0060|99\n圣地牙哥加利福尼亚大学|0x0060|99\n二里庄|0x0040|99\n闽西土楼|0x0040|99\n渝东南地区|0x0040|99\n圣路易|0x0040|99\n日本东京大学|0x0060|99\n加利福尼亚大学洛杉矶分校|0x0020|99\n燕京八景|0x0008|99\n加州大学旧金山分校|0x0020|99\n华盛顿大学|0x0060|99\n伦敦学院大学|0x0060|99\n洛克菲勒大学|0x0060|99\n西北大学|0x0060|99\n纽约大学|0x0060|99\n科罗拉多大学|0x0060|99\n不列颠哥伦比亚大学|0x0060|99\n德州大学奥斯丁分校|0x0020|99\n加利福尼亚大学戴维斯分校|0x0020|99\n宾夕法尼亚州立大学|0x0060|99\n巴黎第十一大学|0x0060|99\n特克斯和凯科斯群岛|0x0040|99\n匹兹堡大学|0x0060|99\n罗切斯特大学|0x0060|99\n腌菜|0x0008|99\n卡内基梅隆大学|0x0060|99\n莱顿大学|0x0060|99\n凯斯西保留地大学|0x0060|99\n莫斯科国立罗蒙诺索夫大学|0x0060|99\n佛罗里达大学|0x0060|99\n莱斯大学|0x0060|99\n格廷根大学|0x0060|99\n密歇根州立大学|0x0060|99\n波士顿大学|0x0060|99\n麦克马斯特大学|0x0060|99\n巴塞尔大学|0x0060|99\n德国柏林洪堡大学|0x0060|99\n犹他大学|0x0060|99\n斯德哥尔摩大学|0x0008|99\n波恩大学|0x0060|99\n户大姐土豆粉|0x0008|99\n空港新区|0x0040|99\n斋堂镇|0x0040|99\n桂林卤粉|0x0008|99\n狗肉|0x0008|99\n卤鸭|0x0008|99\n番茄牛肉|0x0008|99\n扒鸡|0x0008|99\n酸菜|0x0008|99\n黄兴路|0x0040|99\n口味虾|0x0008|99\n苏黎世大学|0x0060|99\n松原大桥|0x0040|99\n师范|0x0008|99\n牛街礼拜寺|0x0040|99\n美国马里兰大学|0x0060|99\n岳麓书院|0x0060|99\n京娘湖|0x0040|99\n晋冀鲁豫烈士陵园|0x0040|99\n东北大学秦皇岛分校|0x0040|99\n河北建筑工程学院|0x0060|99\n华北煤炭医学院|0x0060|99\n北华航天工业学院|0x0060|99\n锅巴肉片|0x0040|99\n静海镇|0x0040|99\n芦台镇|0x0040|99\n天津港保税区|0x0040|99\n沽水流霞|0x0040|99\n太液秋风|0x0040|99\n海门古塞|0x0040|99\n中环彩练|0x0040|99\n北京地铁2号线|0x0040|99\n北京地铁八通线|0x0040|99\n北京地铁8号线|0x0040|99\n北京地铁14号线|0x0040|99\n北京地铁房山线|0x0040|99\n建国门|0x0040|99\n广渠门|0x0040|99\n中轴线|0x0040|99\n崇文门|0x0040|99\n北新桥|0x0040|99\n天桥|0x0040|99\n皇家陵寝|0x0040|99\n三盘暮雨|0x0040|99\n肉丁|0x0008|99\n玉泉趵突|0x0040|99\n榆社化石博物馆|0x0060|99\n清水塘|0x0040|99\n豆皮|0x0008|99\n东西交民巷|0x0040|99\n过早|0x0040|99\n钱市胡同|0x0040|99\n墨西哥鸡肉卷|0x0008|99\n西华门|0x0040|99\n皇城|0x0040|99\n鱼豆腐|0x0008|99\n豆面酥糖|0x0008|99\n北京工人体育场|0x0040|99\n北京国际音乐节|0x0008|99\n吉林天强制药|0x0020|99\n西直门天主堂|0x0040|99\n琉璃厂|0x0040|99\n北京射击馆|0x0060|99\n国家网球中心|0x0040|99\n双龙池|0x0040|99\n遥参亭|0x0040|99\n五贤祠|0x0040|99\n三阳观|0x0040|99\n吐蕃|0x0040|99\n阿尼玛卿山|0x0040|99\n年楚河|0x0040|99\n满拉水利枢纽工程|0x0040|99\n林芝|0x0040|99\n重庆路|0x0040|99\n胡耀邦故居|0x0040|99\n赶秋节|0x0040|99\n白马湖生态旅游度假村|0x0040|99\n近畿|0x0040|99\n湄江风景区|0x0040|99\n壶瓶山国家级自然保护区|0x0040|99\n河伏国家森林公园|0x0040|99\n太浮山森林公园|0x0040|99\n太阳山|0x0040|99\n德山公园|0x0040|99\n肖家村镇|0x0040|99\n肖家中心小学|0x0060|99\n八庙温泉|0x0040|99\n福寿鱼|0x0008|99\n舜皇山|0x0040|99\n盘王殿|0x0040|99\n尖椒肉丝|0x0008|99\n菠萝咕咾肉|0x0008|99\n大兴农场|0x0040|99\n菜花肉片|0x0008|99\n老姜汤肉片汤|0x0008|99\n芫爆肚丝|0x0008|99\n西兰花炒牛肉|0x0008|99\n峪泉镇|0x0040|99\n双城堡镇|0x0040|99\n庞贝|0x0040|99\n玉林市|0x0040|99\n青岛市市南区|0x0040|99\n洛杉矶县|0x0040|99\n湖西|0x0040|99\n灰汤温泉|0x0040|99\n马莲道|0x0040|99\n太阳山开发区|0x0040|99\n文莱博物馆|0x0060|99\n山西地质矿产博物馆|0x0060|99\n海参博物馆|0x0060|99\n奇亚斯玛当代艺术博物馆|0x0060|99\n瑞典于默奥大学|0x0060|99\n斯德哥尔摩经济学院|0x0060|99\n广州邮政博览馆|0x0060|99\n宜春市自然博物馆|0x0060|99\n宜宾博物馆|0x0060|99\n国立台湾史前文化博物馆|0x0060|99\n马岙博物馆|0x0060|99\n菲律宾国家博物馆|0x0060|99\n徐州古建馆|0x0060|99\n汉画像石博物馆|0x0060|99\n茂名市博物馆|0x0060|99\n垃圾博物馆|0x0060|99\n巢湖放王岗汉墓博物馆|0x0060|99\n临汾市博物馆|0x0060|99\n琉园水晶博物馆|0x0060|99\n台江古生物化石博物馆|0x0060|99\n维多利亚博物馆|0x0060|99\n绩溪县三雕博物馆|0x0060|99\n缅甸国家博物馆美术馆|0x0060|99\n墨西哥城国家人类学博物馆|0x0060|99\n海南民族博物馆|0x0060|99\n仪征博物馆|0x0060|99\n旬邑县博物馆|0x0060|99\n重庆市博物馆|0x0060|99\n国立台湾博物馆|0x0060|99\n山东地质博物馆|0x0060|99\n朝鲜革命博物馆|0x0060|99\n新疆兵团军垦博物馆|0x0060|99\n新郑市博物馆|0x0060|99\n“里普利信不信由你”博物馆|0x0060|99\n内蒙古自治区博物馆|0x0060|99\n龙泉博物馆|0x0060|99\n东源客家民俗博物馆|0x0060|99\n圣旨博物馆|0x0060|99\n那不勒斯国家考古博物馆|0x0060|99\n濮阳市博物馆|0x0060|99\n中国阿胶博物馆|0x0060|99\n宁波服装博物馆|0x0060|99\n晋城博物馆|0x0060|99\n惠州博物馆|0x0060|99\n白莲洞洞穴科学博物馆|0x0060|99\n西山晴雪|0x0040|99\n通什民族博物馆|0x0060|99\n红寺堡开发区|0x0040|99\n闽西革命历史博物馆|0x0060|99\n托尔斯泰庄园博物馆|0x0060|99\n安克雷奇|0x0040|99\n德斯普兰斯河|0x0040|99\n努纳武特|0x0040|99\n应山|0x0040|99\n马尔堡|0x0040|99\n橙花|0x0040|99\n无锡市博物馆|0x0060|99\n海南省博物馆|0x0060|99\n中国铁道博物馆|0x0060|99\n四川省博物馆|0x0060|99\n史密苏尼博物馆|0x0060|99\n天津市艺术博物馆|0x0060|99\n美国自然历史博物馆|0x0060|99\n潍坊风筝博物馆|0x0060|99\n苏伊士湾西北经济特区|0x0040|99\n中国煤炭博物馆|0x0060|99\n江南造船博物馆|0x0060|99\n艾尔米塔什博物馆|0x0060|99\n雷州市博物馆|0x0060|99\n中国文字博物馆|0x0060|99\n沈阳九·一八事变博物馆|0x0060|99\n英国自然历史博物馆|0x0060|99\n英国国家美术馆|0x0060|99\n厦门博物馆|0x0060|99\n中国航天博物馆|0x0060|99\n河源市博物馆|0x0060|99\n上海天文博物馆|0x0060|99\n贵州省博物馆|0x0060|99\n澳大利亚博物馆|0x0060|99\n浙江自然博物馆|0x0060|99\n伊通满族博物馆|0x0060|99\n济宁博物馆|0x0060|99\n宁波北仑博物馆|0x0060|99\n吉林省博物馆|0x0060|99\n泉州海外交通史博物馆|0x0060|99\n钱袋博物馆|0x0060|99\n无锡中国民族工商业博物馆|0x0060|99\n都锦生织锦博物馆|0x0060|99\n奇美博物馆|0x0060|99\n韦恩县|0x0040|99\n华盛顿县|0x0040|99\n汗.哈利里市场|0x0040|99\n伊利诺伊河|0x0040|99\n埃及科技大学|0x0060|99\n迈阿密|0x0040|99\n新墨西哥州|0x0040|99\n佐治亚州|0x0040|99\n俄勒冈州|0x0040|99\n普度大学|0x0060|99\n贺州市|0x0040|99\n史密斯堡|0x0040|99\n费耶特维尔|0x0040|99\n圣何塞|0x0040|99\n丹佛|0x0040|99\n哈特福德|0x0040|99\n田纳西州|0x0040|99\n克林|0x0040|99\n波特兰|0x0040|99\n印第安纳州|0x0040|99\n鳞石英|0x0040|99\n南昌小区|0x0040|99\n金龙华府|0x0040|99\n青云佳苑|0x0040|99\n纽约中央公园|0x0040|99\n北卡罗来纳州|0x0040|99\n爱荷华州立大学|0x0060|99\n拉什莫尔山国家纪念公园|0x0040|99\n俄亥俄州|0x0040|99\n斯坦尼斯瓦夫广场|0x0040|99\n巴士底歌剧院|0x0060|99\n拉维列特公园|0x0040|99\n克莱蒙费郎|0x0040|99\n伊德夫神庙|0x0040|99\n热带|0x0040|99\n南昌五中|0x0020|99\n南昌海关|0x0040|99\n南昌市第一中学|0x0060|99\n南昌贡院|0x0060|99\n格勒诺布尔|0x0040|99\n南特|0x0040|99\n法兰西学院|0x0060|99\n卡昂|0x0040|99\n亚维农|0x0040|99\n曼谷国际机场|0x0040|99\n朱拉隆功大学|0x0060|99\n曼谷唐人街|0x0040|99\n暹罗广场|0x0040|99\n泰国湾|0x0040|99\n北大年|0x0040|99\n沙梅岛|0x0040|99\n郑王庙|0x0040|99\n五世皇柚木行宫|0x0040|99\n大城桂河|0x0040|99\n喀比|0x0040|99\n那空叻差是玛|0x0040|99\n曼谷文化艺术中心|0x0040|99\n托莱多省|0x0040|99\n安达卢西亚|0x0040|99\n米拉之家|0x0040|99\n毛亨|0x0040|99\n毛苌|0x0040|99\n李春|0x0040|99\n高丽人|0x0040|99\n全罗北道|0x0040|99\n南昌方言|0x0040|99\n庆尚北道|0x0040|99\n萨满教|0x0020|99\n仁川|0x0040|99\n兴宁市|0x0040|99\n哥伦布广场|0x0040|99\n萨拉曼卡|0x0040|99\n纳瓦拉|0x0040|99\n穆尔西亚|0x0040|99\n卡塞雷斯|0x0040|99\n塔拉戈纳|0x0040|99\n伊维萨岛|0x0040|99\n兰布拉大街|0x0040|99\n马略卡|0x0040|99\n圣地亚哥-德孔波斯特拉古城|0x0040|99\n埃布罗河|0x0040|99\n加州大学旧金山分校|0x0040|99\n马德里王宫|0x0040|99\n特鲁希略|0x0040|99\n马约尔广场|0x0040|99\n大加那利岛|0x0040|99\n桑坦德|0x0040|99\n纳瓦拉省|0x0040|99\n圣塞瓦斯蒂安|0x0040|99\n龙门山国家地质公园|0x0040|99\n独岛|0x0040|99\n釜山外国语大学|0x0060|99\n湖西大学|0x0060|99\n济州国立大学|0x0060|99\n汝州紫云山|0x0040|99\n博格达山|0x0040|99\n龙达|0x0040|99\n大足石刻艺术博物馆|0x0060|99\n兴隆溶洞|0x0040|99\n大红寨|0x0040|99\n十八梯|0x0040|99\n莲花峰|0x0040|99\n天津蓟县国家地质公园|0x0040|99\n鄂尔多斯煤田|0x0040|99\n檀头山|0x0040|99\n皇城沙滩|0x0040|99\n里氏震级表|0x0040|99\n土耳其大地震|0x0040|99\n乾坤湾|0x0040|99\n符山石|0x0040|99\n贝尼奥夫带|0x0040|99\n辉铋矿|0x0040|99\n辉银矿|0x0040|99\n环太平洋火山带|0x0040|99\n乌龙潭|0x0040|99\n黄龙潭|0x0040|99\n龙首崖|0x0040|99\n大天池|0x0040|99\n谷帘泉|0x0040|99\n招隐泉|0x0040|99\n启母阙|0x0040|99\n萨克塞华曼|0x0040|99\n盖拉绿洲|0x0040|99\n涪陵榨菜|0x0040|99\n南宁十景|0x0040|99\n铜鼓滩|0x0040|99\n渣滓洞|0x0040|99\n重庆大轰炸遗址|0x0040|99\n歌乐山|0x0040|99\n华岩寺|0x0040|99\n桂林七星岩|0x0040|99\n莫高镇|0x0040|99\n史迪威博物馆|0x0060|99\n虎头岩|0x0040|99\n铜锣峡温泉风景区|0x0040|99\n山城夜景|0x0040|99\n桂林中学|0x0060|99\n加州大学旧金山分校|0x0040|99\n光明新区|0x0040|99\n四会市|0x0040|99\n石碧乡|0x0040|99\n上蒲溪瑶族乡|0x0040|99\n三官寺土家族乡|0x0040|99\n长田湾乡|0x0040|99\n龚滩古镇|0x0040|99\n伍家湾乡|0x0040|99\n沁水煤田|0x0040|99\n新建|0x0040|99\n桂林乐满地|0x0040|99\n桂林话|0x0040|99\n桂林五中|0x0060|99\n余江一中|0x0060|99\n淮南市夏集中学|0x0060|99\n桂林七星景区|0x0040|99\n桂林城环水系|0x0040|99\n桂林师范学院|0x0060|99\n桂林阳光学校|0x0040|99\n桂林叠彩山|0x0040|99\n桂林蝴蝶泉|0x0040|99\n岭口镇|0x0040|99\n韭黄肉丝|0x0040|99\n广昌一中|0x0060|99\n永新村|0x0040|99\n广西师大附中|0x0060|99\n广西理工学院|0x0060|99\n广西人民大会堂|0x0040|99\n广西民族博物馆|0x0060|99\n广西民族医院|0x0060|99\n广西岑溪中学|0x0060|99\n广西歌舞剧院|0x0060|99\n广西水电学校|0x0040|99\n东升镇|0x0040|99\n古镇镇|0x0040|99\n三乡镇|0x0040|99\n广西北流中学|0x0060|99\n广西计量学校|0x0040|99\n广西医科大学附属医院|0x0060|99\n广西医科大学一附院|0x0060|99\n广西中医学院一附院|0x0060|99\n广西社会科学院|0x0060|99\n摩享佐达罗城|0x0040|99\n祊河大桥|0x0040|99\n赣州大学城|0x0040|99\n瑞昌市第二中学|0x0060|99\n誉洲村|0x0040|99\n庞贝|0x0040|99\nMurcielago LP640|0x0040|99\n兰博坚尼|0x0040|99\n罗马共和国|0x0040|99\n西西里的美丽传说|0x0040|99\n帕索里尼|0x0040|99\n广西北部湾港|0x0040|99\n玛琪雅朵|0x0040|99\n帕罗斯基|0x0040|99\n春的森林|0x0040|99\n江西师大附属中学|0x0060|99\n泰山扇子崖|0x0040|99\n泰山舍身崖|0x0040|99\n修齐镇|0x0040|99\n路孔镇|0x0040|99\n特立尼达和多巴哥|0x0040|99\n意大利国旗|0x0040|99\n佛罗伦萨大教堂|0x0040|99\n洛阳王城公园|0x0040|99\n樱桃沟|0x0040|99\n波兰王国|0x0040|99\n勃艮第王国|0x0040|99\n永丰塔|0x0040|99\n加纳王国|0x0040|99\n乌拉尔图王国|0x0040|99\n吕宋国|0x0040|99\n库巴王国|0x0040|99\n加奥王国|0x0040|99\n末罗游|0x0040|99\n斯拉夫-保加利亚王国|0x0040|99\n恺加王朝|0x0040|99\n卢巴王国|0x0040|99\n巴赫马尼王国|0x0040|99\n夏连特拉王国|0x0040|99\n文莱苏丹|0x0040|99\n文莱王朝|0x0040|99\n文莱伊斯兰教|0x0020|99\n隆达帝国|0x0040|99\n苏丹纪念馆|0x0060|99\n斯拉夫-保加利亚王国|0x0040|99\n恺加王朝|0x0040|99\n卢巴王国|0x0040|99\n巴赫马尼王国|0x0040|99\n夏连特拉王国|0x0040|99\n文莱苏丹|0x0040|99\n文莱王朝|0x0040|99\n文莱伊斯兰教|0x0020|99\n隆达帝国|0x0040|99\n苏丹纪念馆|0x0060|99\n景甜|0x0080|50000\nasos|0x0080|1000\n阿弟仔|0x0080|1000\n阿杜|0x0080|1000\n阿弗莱克|0x0080|1000\n阿贵|0x0080|1000\n阿奎莱拉|0x0080|1000\n阿里郎|0x0080|1000\n阿里郎演唱组|0x0080|1000\n阿妹妹|0x0080|1000\n阿木|0x0080|1000\n阿穆隆|0x0080|1000\n阿牛|0x0080|1000\n阿诺德·施瓦辛格|0x0080|1000\n阿桑|0x0080|1000\n阿信|0x0080|1000\n阿雅|0x0080|1000\n艾尔·帕西诺|0x0080|1000\n艾敬|0x0080|1000\n艾梦萌|0x0080|1000\n艾晴晴|0x0080|1000\n爱戴|0x0080|1000\n爱乐团|0x0080|1000\n安东尼·霍普金斯|0x0080|1000\n安吉丽娜|0x0080|1000\n安妮特·贝宁|0x0080|1000\n安雅|0x0080|1000\n安以轩|0x0080|1000\n安又琪|0x0080|1000\n安在旭|0x0080|1000\n安在懋|0x0080|1000\n奥兰多·布鲁姆|0x0080|1000\n奥利弗·斯通|0x0080|1000\n奥黛丽·赫本|0x0080|1000\nb.a.d|0x0080|1000\nbeyond|0x0080|1000\nboy'z|0x0080|1000\n白冰冰|0x0080|1000\n白灵|0x0080|1000\n白雪|0x0080|1000\n柏原崇|0x0080|1000\n班德拉斯|0x0080|1000\n保剑锋|0x0080|1000\n保罗·纽曼|0x0080|1000\n宝儿|0x0080|1000\n贝克汉姆|0x0080|1000\n本多ruru|0x0080|1000\n碧昂斯|0x0080|1000\n滨崎步|0x0080|1000\n卜学亮|0x0080|1000\n布拉德皮特|0x0080|1000\n布兰妮|0x0080|1000\n蔡淳佳|0x0080|1000\n蔡国庆|0x0080|1000\n蔡健雅|0x0080|1000\n蔡琴|0x0080|1000\n蔡少芬|0x0080|1000\n蔡诗芸|0x0080|1000\n蔡幸娟|0x0080|1000\n蔡一杰|0x0080|1000\n蔡依林|0x0080|1000\n蔡卓妍|0x0080|1000\n苍蝇乐队|0x0080|1000\n仓木麻衣|0x0080|1000\n曹格|0x0080|1000\n曹颖|0x0080|1000\n曹璐|0x0080|1000\n草蜢|0x0080|1000\n侧田|0x0080|1000\n查理兹·塞隆|0x0080|1000\n常宽|0x0080|1000\n常香玉|0x0080|1000\n长濑智也|0x0080|1000\n车仁表|0x0080|1000\n车太贤|0x0080|1000\n车婉婉|0x0080|1000\n陈柏瑜|0x0080|1000\n陈百强|0x0080|1000\n陈宝莲|0x0080|1000\n陈楚生|0x0080|1000\n陈道明|0x0080|1000\n陈法蓉|0x0080|1000\n陈冠希|0x0080|1000\n陈冠茜|0x0080|1000\n陈豪|0x0080|1000\n陈好|0x0080|1000\n陈浩民|0x0080|1000\n陈红|0x0080|1000\n陈慧琳|0x0080|1000\n陈慧珊|0x0080|1000\n陈慧娴|0x0080|1000\n陈嘉唯|0x0080|1000\n陈嘉琦|0x0080|1000\n陈建宁|0x0080|1000\n陈洁丽|0x0080|1000\n陈洁仪|0x0080|1000\n陈锦鸿|0x0080|1000\n陈坤|0x0080|1000\n陈琳|0x0080|1000\n陈美|0x0080|1000\n陈明|0x0080|1000\n陈明真|0x0080|1000\n陈珊妮|0x0080|1000\n陈升|0x0080|1000\n陈淑桦|0x0080|1000\n陈思思|0x0080|1000\n陈司翰|0x0080|1000\n陈松龄|0x0080|1000\n陈文媛|0x0080|1000\n陈西贝|0x0080|1000\n陈晓东|0x0080|1000\n陈小春|0x0080|1000\n陈孝萱|0x0080|1000\n陈星|0x0080|1000\n陈秀雯|0x0080|1000\n陈雅伦|0x0080|1000\n陈依依|0x0080|1000\n陈盈洁|0x0080|1000\n陈羽凡|0x0080|1000\n陈志朋|0x0080|1000\n陈自瑶|0x0080|1000\n陈奕迅|0x0080|1000\n陈怡蓉|0x0080|1000\n陈妃平|0x0080|1000\n陈绮贞|0x0080|1000\n成方圆|0x0080|1000\n成龙|0x0080|1000\n程琳|0x0080|1000\n池诚|0x0080|1000\n楚谨|0x0080|1000\n川岛茉树代|0x0080|1000\n崔健|0x0080|1000\n崔京浩|0x0080|1000\n崔真实|0x0080|1000\n崔智友|0x0080|1000\n达达乐队|0x0080|1000\n达明一派|0x0080|1000\n达斯汀·霍夫曼|0x0080|1000\n戴爱玲|0x0080|1000\n戴军|0x0080|1000\n戴梦梦|0x0080|1000\n戴佩妮|0x0080|1000\n戴娆|0x0080|1000\n黛米·摩尔|0x0080|1000\n丹尼尔·戴·刘易斯|0x0080|1000\n单良|0x0080|1000\n刀郎|0x0080|1000\n邓超|0x0080|1000\n邓健泓|0x0080|1000\n邓丽君|0x0080|1000\n邓丽欣|0x0080|1000\n邓颖芝|0x0080|1000\n邓萃雯|0x0080|1000\n迪克牛仔|0x0080|1000\n丁_汀|0x0080|1000\n丁叮|0x0080|1000\n丁爽|0x0080|1000\n丁文琪|0x0080|1000\n丁小芹|0x0080|1000\n丁子峻|0x0080|1000\n丁薇|0x0080|1000\n东来东往|0x0080|1000\n董洁|0x0080|1000\n董文华|0x0080|1000\n动力火车|0x0080|1000\n窦唯|0x0080|1000\n窦智孔|0x0080|1000\n杜德伟|0x0080|1000\n杜磊|0x0080|1000\n杜汶泽|0x0080|1000\nella|0x0080|1000\nenergy|0x0080|1000\n恩雅|0x0080|1000\nf.i.r|0x0080|1000\nf4|0x0080|1000\n樊亦敏|0x0080|1000\n反町隆史|0x0080|1000\n范冰冰|0x0080|1000\n范文芳|0x0080|1000\n范晓萱|0x0080|1000\n范逸臣|0x0080|1000\n范玮琪|0x0080|1000\n饭岛爱|0x0080|1000\n方芳|0x0080|1000\n方季惟|0x0080|1000\n方力申|0x0080|1000\n方顺吉|0x0080|1000\n方文琳|0x0080|1000\n方中信|0x0080|1000\n房祖名|0x0080|1000\n非鱼乐队|0x0080|1000\n飞儿乐队|0x0080|1000\n费翔|0x0080|1000\n费玉清|0x0080|1000\n费雯丽|0x0080|1000\n丰川悦司|0x0080|1000\n冯德伦|0x0080|1000\n冯晓泉|0x0080|1000\n凤飞飞|0x0080|1000\n福山雅治|0x0080|1000\n傅佩嘉|0x0080|1000\n傅天颖|0x0080|1000\n傅颖|0x0080|1000\n付笛声|0x0080|1000\n甘凯欣|0x0080|1000\n高枫|0x0080|1000\n高慧君|0x0080|1000\n高凌风|0x0080|1000\n高明骏|0x0080|1000\n高山峰|0x0080|1000\n高胜美|0x0080|1000\n高晓松|0x0080|1000\n高修|0x0080|1000\n高雪岚|0x0080|1000\n高英培|0x0080|1000\n高原红|0x0080|1000\n高圆圆|0x0080|1000\n高怡平|0x0080|1000\n高娅媛|0x0080|1000\n葛优|0x0080|1000\n格利高里·派克|0x0080|1000\n格温妮斯|0x0080|1000\n庚澄庆|0x0080|1000\n恭硕良|0x0080|1000\n巩贺|0x0080|1000\n巩俐|0x0080|1000\n古巨基|0x0080|1000\n古天乐|0x0080|1000\n顾海滨|0x0080|1000\n顾建华|0x0080|1000\n关淑怡|0x0080|1000\n关心妍|0x0080|1000\n关咏荷|0x0080|1000\n关之琳|0x0080|1000\n官恩娜|0x0080|1000\n冠男|0x0080|1000\n光良|0x0080|1000\n广末凉子|0x0080|1000\n归亚蕾|0x0080|1000\n郭蔼明|0x0080|1000\n郭彪|0x0080|1000\n郭德纲|0x0080|1000\n郭峰|0x0080|1000\n郭富城|0x0080|1000\n郭嘉璐|0x0080|1000\n郭晋安|0x0080|1000\n郭晶晶|0x0080|1000\n郭可盈|0x0080|1000\n郭兰英|0x0080|1000\n郭凌霞|0x0080|1000\n郭品超|0x0080|1000\n郭启儒|0x0080|1000\n郭乔伊|0x0080|1000\n郭羡妮|0x0080|1000\n郭子|0x0080|1000\n郭妃丽|0x0080|1000\n果味vc|0x0080|1000\nh.o.t|0x0080|1000\nhebe|0x0080|1000\n哈狗帮|0x0080|1000\n哈里森·福特|0x0080|1000\n哈莉·贝瑞|0x0080|1000\n海伦·亨特|0x0080|1000\n韩宝仪|0x0080|1000\n韩彩英|0x0080|1000\n韩红|0x0080|1000\n韩磊|0x0080|1000\n韩晓|0x0080|1000\n韩雪|0x0080|1000\n韩在石|0x0080|1000\n含笑|0x0080|1000\n杭天琪|0x0080|1000\n郝菲尔|0x0080|1000\n郝蕾|0x0080|1000\n何超仪|0x0080|1000\n何嘉莉|0x0080|1000\n何家劲|0x0080|1000\n何洁|0x0080|1000\n何静|0x0080|1000\n何润东|0x0080|1000\n何耀珊|0x0080|1000\n何韵诗|0x0080|1000\n何智苑|0x0080|1000\n何炅|0x0080|1000\n河利秀|0x0080|1000\n河智苑|0x0080|1000\n黑棒|0x0080|1000\n黑豹|0x0080|1000\n黑龙|0x0080|1000\n黑鸭子|0x0080|1000\n黑鸭子演唱组|0x0080|1000\n亨利|0x0080|1000\n洪荣宏|0x0080|1000\n红孩儿|0x0080|1000\n侯宝林|0x0080|1000\n侯佩岑|0x0080|1000\n侯湘婷|0x0080|1000\n侯耀文|0x0080|1000\n后街男孩|0x0080|1000\n后藤真希|0x0080|1000\n后弦|0x0080|1000\n胡兵|0x0080|1000\n胡歌|0x0080|1000\n胡瓜|0x0080|1000\n胡海泉|0x0080|1000\n胡军|0x0080|1000\n胡可|0x0080|1000\n胡力|0x0080|1000\n胡杏儿|0x0080|1000\n胡彦斌|0x0080|1000\n胡瑶|0x0080|1000\n花儿乐队|0x0080|1000\n黄安|0x0080|1000\n黄大炜|0x0080|1000\n黄格选|0x0080|1000\n黄贯中|0x0080|1000\n黄国俊|0x0080|1000\n黄国伦|0x0080|1000\n黄海冰|0x0080|1000\n黄鹤翔|0x0080|1000\n黄嘉千|0x0080|1000\n黄家驹|0x0080|1000\n黄家强|0x0080|1000\n黄凯芹|0x0080|1000\n黄磊|0x0080|1000\n黄立行|0x0080|1000\n黄品冠|0x0080|1000\n黄品源|0x0080|1000\n黄秋生|0x0080|1000\n黄日华|0x0080|1000\n黄圣依|0x0080|1000\n黄舒骏|0x0080|1000\n黄思婷|0x0080|1000\n黄湘怡|0x0080|1000\n黄晓明|0x0080|1000\n黄小琥|0x0080|1000\n黄秀贞|0x0080|1000\n黄雅莉|0x0080|1000\n黄耀明|0x0080|1000\n黄伊汶|0x0080|1000\n黄乙玲|0x0080|1000\n黄义达|0x0080|1000\n黄玉荣|0x0080|1000\n黄阅|0x0080|1000\n黄韵玲|0x0080|1000\n黄沾|0x0080|1000\n黄征|0x0080|1000\n黄子佼|0x0080|1000\n黄奕|0x0080|1000\n黄妃|0x0080|1000\n黄绮珊|0x0080|1000\n黄霑|0x0080|1000\n霍尔金娜|0x0080|1000\n霍建华|0x0080|1000\njoyce|0x0080|1000\njs|0x0080|1000\n基努·里维斯|0x0080|1000\n吉杰|0x0080|1000\n吉赛尔|0x0080|1000\n季芹|0x0080|1000\n季忠平|0x0080|1000\n纪敏佳|0x0080|1000\n纪如璟|0x0080|1000\n纪晓君|0x0080|1000\n嘉琳|0x0080|1000\n贾静雯|0x0080|1000\n贾立怡|0x0080|1000\n姜东元|0x0080|1000\n姜昆|0x0080|1000\n姜育恒|0x0080|1000\n姜昕|0x0080|1000\n将大为|0x0080|1000\n江得胜|0x0080|1000\n江华|0x0080|1000\n江凯文|0x0080|1000\n江口洋介|0x0080|1000\n江美琪|0x0080|1000\n江珊|0x0080|1000\n江淑娜|0x0080|1000\n江涛|0x0080|1000\n江蕙|0x0080|1000\n蒋勤勤|0x0080|1000\n蒋怡|0x0080|1000\n蒋雯丽|0x0080|1000\n焦恩俊|0x0080|1000\n杰克·尼科尔森|0x0080|1000\n解晓东|0x0080|1000\n解小东|0x0080|1000\n金灿宇|0x0080|1000\n金城武|0x0080|1000\n金承佑|0x0080|1000\n金海心|0x0080|1000\n金荷娜|0x0080|1000\n金惠秀|0x0080|1000\n金静华|0x0080|1000\n金俊秀|0x0080|1000\n金来元|0x0080|1000\n金门王与李炳辉|0x0080|1000\n金铭|0x0080|1000\n金南镇|0x0080|1000\n金南珠|0x0080|1000\n金莎|0x0080|1000\n金素梅|0x0080|1000\n金泰熙|0x0080|1000\n金泰宇|0x0080|1000\n金喜善|0x0080|1000\n金贤珠|0x0080|1000\n金学峰|0x0080|1000\n金在元|0x0080|1000\n金在钟|0x0080|1000\n金正恩|0x0080|1000\n锦绣二重唱|0x0080|1000\n景岗山|0x0080|1000\n酒井法子|0x0080|1000\nkiss|0x0080|1000\n卡梅隆·迪亚兹|0x0080|1000\n凯莉·米洛|0x0080|1000\n凯瑟琳·赫本|0x0080|1000\n凯特·贝金赛尔|0x0080|1000\n凯特·温丝莱特|0x0080|1000\n凯文·科斯特纳|0x0080|1000\n康晋荣|0x0080|1000\n康净淳|0x0080|1000\n柯受良|0x0080|1000\n柯以敏|0x0080|1000\n柯以柔|0x0080|1000\n柯有伦|0x0080|1000\n科比|0x0080|1000\n科林·法瑞尔|0x0080|1000\n可米小子|0x0080|1000\n克拉克盖博|0x0080|1000\n克林特·伊斯特伍德|0x0080|1000\n孔令奇|0x0080|1000\n孔孝真|0x0080|1000\n邝美云|0x0080|1000\nlinda|0x0080|1000\n莱昂纳多·迪卡普里奥|0x0080|1000\n赖雅妍|0x0080|1000\n蓝沁|0x0080|1000\n蓝心湄|0x0080|1000\n蓝正龙|0x0080|1000\n蓝奕邦|0x0080|1000\n老狼|0x0080|1000\n乐基儿|0x0080|1000\n雷光夏|0x0080|1000\n雷颂德|0x0080|1000\n蕾妮·齐薇格|0x0080|1000\n黎明|0x0080|1000\n黎瑞恩|0x0080|1000\n黎亚|0x0080|1000\n黎姿|0x0080|1000\n理察基尔|0x0080|1000\n李炆|0x0080|1000\n李安|0x0080|1000\n李冰冰|0x0080|1000\n李秉宪|0x0080|1000\n李炳辰|0x0080|1000\n李彩桦|0x0080|1000\n李春波|0x0080|1000\n李东健|0x0080|1000\n李东旭|0x0080|1000\n李度|0x0080|1000\n李恩珠|0x0080|1000\n李谷一|0x0080|1000\n李慧珍|0x0080|1000\n李基宇|0x0080|1000\n李嘉强|0x0080|1000\n李嘉欣|0x0080|1000\n李健|0x0080|1000\n李杰|0x0080|1000\n李金斗|0x0080|1000\n李克勤|0x0080|1000\n李乐诗|0x0080|1000\n李丽华|0x0080|1000\n李丽珍|0x0080|1000\n李连杰|0x0080|1000\n李玲玉|0x0080|1000\n李美妍|0x0080|1000\n李铭顺|0x0080|1000\n李娜|0x0080|1000\n李南星|0x0080|1000\n李泉|0x0080|1000\n李瑞镇|0x0080|1000\n李若彤|0x0080|1000\n李珊珊|0x0080|1000\n李圣杰|0x0080|1000\n李殊|0x0080|1000\n李恕权|0x0080|1000\n李天华|0x0080|1000\n李婉华|0x0080|1000\n李威|0x0080|1000\n李霞|0x0080|1000\n李香琴|0x0080|1000\n李湘|0x0080|1000\n李晓东|0x0080|1000\n李小龙|0x0080|1000\n李小冉|0x0080|1000\n李小璐|0x0080|1000\n李心洁|0x0080|1000\n李勋|0x0080|1000\n李逸朗|0x0080|1000\n李英爱|0x0080|1000\n李咏|0x0080|1000\n李雨寰|0x0080|1000\n李宇春|0x0080|1000\n李云迪|0x0080|1000\n李贞贤|0x0080|1000\n李政宰|0x0080|1000\n李智楠|0x0080|1000\n李子雄|0x0080|1000\n李宗盛|0x0080|1000\n李倩蓉|0x0080|1000\n李茏怡|0x0080|1000\n李蕙敏|0x0080|1000\n李婷宜|0x0080|1000\n李绮红|0x0080|1000\n李玟|0x0080|1000\n李琛|0x0080|1000\n李翊君|0x0080|1000\n丽芙·泰勒|0x0080|1000\n厉娜|0x0080|1000\n利智|0x0080|1000\n利绮|0x0080|1000\n梁朝伟|0x0080|1000\n梁汉文|0x0080|1000\n梁浩贤|0x0080|1000\n梁家辉|0x0080|1000\n梁静茹|0x0080|1000\n梁靖琪|0x0080|1000\n梁洛施|0x0080|1000\n梁小冰|0x0080|1000\n梁雁翎|0x0080|1000\n梁咏琪|0x0080|1000\n梁永斌|0x0080|1000\n梁振宇|0x0080|1000\n两个女生|0x0080|1000\n廖佩伶|0x0080|1000\n廖文慈|0x0080|1000\n廖隽嘉|0x0080|1000\n林保怡|0x0080|1000\n林宝|0x0080|1000\n林凡|0x0080|1000\n林峰|0x0080|1000\n林海峰|0x0080|1000\n林嘉欣|0x0080|1000\n林佳仪|0x0080|1000\n林俊杰|0x0080|1000\n林俊贤|0x0080|1000\n林美贞|0x0080|1000\n林青霞|0x0080|1000\n林瑞阳|0x0080|1000\n林熙|0x0080|1000\n林熙蕾|0x0080|1000\n林晓培|0x0080|1000\n林心如|0x0080|1000\n林一峰|0x0080|1000\n林依轮|0x0080|1000\n林依伦|0x0080|1000\n林忆莲|0x0080|1000\n林佑威|0x0080|1000\n林榆涵|0x0080|1000\n林志玲|0x0080|1000\n林志颖|0x0080|1000\n林志炫|0x0080|1000\n林子娟|0x0080|1000\n林子祥|0x0080|1000\n零点乐队|0x0080|1000\n灵感乐队|0x0080|1000\n刘宝瑞|0x0080|1000\n刘德华|0x0080|1000\n刘虹嬅|0x0080|1000\n刘欢|0x0080|1000\n刘嘉亮(亮亮)|0x0080|1000\n刘嘉玲|0x0080|1000\n刘力扬|0x0080|1000\n刘美君|0x0080|1000\n刘品言|0x0080|1000\n刘青云|0x0080|1000\n刘若英|0x0080|1000\n刘文亨|0x0080|1000\n刘锡明|0x0080|1000\n刘翔|0x0080|1000\n刘依纯|0x0080|1000\n刘亦菲|0x0080|1000\n刘玉玲|0x0080|1000\n刘智泰|0x0080|1000\n刘烨|0x0080|1000\n刘铮|0x0080|1000\n柳时元|0x0080|1000\n龙宽九段|0x0080|1000\n卢庚戌|0x0080|1000\n卢巧音|0x0080|1000\n路嘉欣|0x0080|1000\n陆虎|0x0080|1000\n陆毅|0x0080|1000\n乱弹阿翔|0x0080|1000\n轮回乐队|0x0080|1000\n罗百吉|0x0080|1000\n罗伯特·德尼罗|0x0080|1000\n罗大佑|0x0080|1000\n罗嘉良|0x0080|1000\n罗开元|0x0080|1000\n罗敏庄|0x0080|1000\n罗文|0x0080|1000\n罗志祥|0x0080|1000\n罗中旭|0x0080|1000\n洛城三兄弟|0x0080|1000\n吕方|0x0080|1000\n吕薇|0x0080|1000\nmaggie_q|0x0080|1000\n麻吉弟弟|0x0080|1000\n玛丽莲·梦露|0x0080|1000\n玛丽亚·凯莉|0x0080|1000\n马德钟|0x0080|1000\n马海生|0x0080|1000\n马季|0x0080|1000\n马浚伟|0x0080|1000\n马龙·白兰度|0x0080|1000\n马三立|0x0080|1000\n马天宇|0x0080|1000\n马伊俐|0x0080|1000\n马郁|0x0080|1000\n马志明|0x0080|1000\n麦当娜|0x0080|1000\n麦浚龙|0x0080|1000\n麦柯|0x0080|1000\n麦田守望者|0x0080|1000\n麦子杰|0x0080|1000\n迈克尔·道格拉斯|0x0080|1000\n迈克尔·杰克逊|0x0080|1000\n满江|0x0080|1000\n满文军|0x0080|1000\n毛阿敏|0x0080|1000\n毛毛|0x0080|1000\n毛宁|0x0080|1000\n梅艳芳|0x0080|1000\n梅婷|0x0080|1000\n眉佳|0x0080|1000\n蒙嘉慧|0x0080|1000\n梦飞船|0x0080|1000\n孟广美|0x0080|1000\n孟庭苇|0x0080|1000\n迷子|0x0080|1000\n蜜雪薇琪|0x0080|1000\n苗圃|0x0080|1000\n苗侨伟|0x0080|1000\n明道|0x0080|1000\n明骏女孩|0x0080|1000\n莫妮卡·贝鲁奇|0x0080|1000\n莫少聪|0x0080|1000\n莫文蔚|0x0080|1000\n莫艳琳|0x0080|1000\n木村拓哉|0x0080|1000\n那英|0x0080|1000\n娜塔莉|0x0080|1000\n南拳妈妈|0x0080|1000\n南台湾小姑娘|0x0080|1000\n妮可|0x0080|1000\n妮可·基德曼|0x0080|1000\n倪萍|0x0080|1000\n倪睿思|0x0080|1000\n尼古拉斯·凯奇|0x0080|1000\n年少二人组|0x0080|1000\n聂远|0x0080|1000\n孽子乐队|0x0080|1000\n宁静|0x0080|1000\n牛莉|0x0080|1000\n牛振华|0x0080|1000\n女子十二乐坊|0x0080|1000\n欧得洋|0x0080|1000\n欧阳菲菲|0x0080|1000\n欧倩怡|0x0080|1000\n帕丽斯·希尔顿|0x0080|1000\n潘安邦|0x0080|1000\n潘辉|0x0080|1000\n潘美辰|0x0080|1000\n潘越云|0x0080|1000\n潘玮柏|0x0080|1000\n庞龙|0x0080|1000\n裴勇俊|0x0080|1000\n佩内洛普|0x0080|1000\n彭丹|0x0080|1000\n彭海桐|0x0080|1000\n彭佳慧|0x0080|1000\n彭健新|0x0080|1000\n彭靖惠|0x0080|1000\n彭丽媛|0x0080|1000\n彭羚|0x0080|1000\n彭于晏|0x0080|1000\n品冠|0x0080|1000\n朴树|0x0080|1000\n朴信阳|0x0080|1000\n朴由天|0x0080|1000\n朴正炫|0x0080|1000\n朴志胤|0x0080|1000\n戚美珍|0x0080|1000\n戚薇|0x0080|1000\n齐秦|0x0080|1000\n齐豫|0x0080|1000\n琦琦|0x0080|1000\n恰克与飞鸟|0x0080|1000\n钱韦成|0x0080|1000\n钱韦杉|0x0080|1000\n强尼·戴普|0x0080|1000\n桥本丽香|0x0080|1000\n乔齐娜·格琳薇尔|0x0080|1000\n秦海璐|0x0080|1000\n秦杨|0x0080|1000\n清新乐队|0x0080|1000\n邱淑贞|0x0080|1000\n邱心志|0x0080|1000\n邱泽|0x0080|1000\n裘海正|0x0080|1000\n区瑞强|0x0080|1000\n曲世聪|0x0080|1000\n屈中恒|0x0080|1000\n瞿颖|0x0080|1000\n权相宇|0x0080|1000\n全智贤|0x0080|1000\nrain|0x0080|1000\nreborn|0x0080|1000\nrosemary|0x0080|1000\n饶天亮|0x0080|1000\n任静|0x0080|1000\n任贤齐|0x0080|1000\n容中尔甲|0x0080|1000\n容祖儿|0x0080|1000\n软硬天师|0x0080|1000\n阮丹青|0x0080|1000\n瑞茜·威瑟斯彭|0x0080|1000\n芮恩|0x0080|1000\ns.h.e|0x0080|1000\nse7en|0x0080|1000\nselina|0x0080|1000\nsweety|0x0080|1000\n撒小乐团|0x0080|1000\n桑德拉·布洛克|0x0080|1000\n森下千里|0x0080|1000\n沙宝亮|0x0080|1000\n山口百惠|0x0080|1000\n闪亮三姊妹|0x0080|1000\n尚雯婕|0x0080|1000\n邵兵|0x0080|1000\n邵美琪|0x0080|1000\n邵雨涵|0x0080|1000\n佘诗曼|0x0080|1000\n申恩庆|0x0080|1000\n深田恭子|0x0080|1000\n沈昌珉|0x0080|1000\n沈文程|0x0080|1000\n沈银河|0x0080|1000\n师洋|0x0080|1000\n施文斌|0x0080|1000\n誓言|0x0080|1000\n舒淇|0x0080|1000\n水木年华|0x0080|1000\n顺子|0x0080|1000\n舜天齐|0x0080|1000\n斯琴格日勒|0x0080|1000\n斯琴格日乐|0x0080|1000\n四分卫|0x0080|1000\n松岛菜菜子|0x0080|1000\n松隆子|0x0080|1000\n松浦亚弥|0x0080|1000\n宋承宪|0x0080|1000\n宋慧乔|0x0080|1000\n宋佳|0x0080|1000\n宋新妮|0x0080|1000\n宋允儿|0x0080|1000\n宋祖英|0x0080|1000\n苏菲·玛索|0x0080|1000\n苏红|0x0080|1000\n苏慧伦|0x0080|1000\n苏天琦|0x0080|1000\n苏文茂|0x0080|1000\n苏醒|0x0080|1000\n苏永康|0x0080|1000\n苏有朋|0x0080|1000\n苏幼贞|0x0080|1000\n苏志燮|0x0080|1000\n苏芮|0x0080|1000\n孙国豪|0x0080|1000\n孙国庆|0x0080|1000\n孙浩|0x0080|1000\n孙鹏|0x0080|1000\n孙淑媚|0x0080|1000\n孙思怡|0x0080|1000\n孙羡真|0x0080|1000\n孙燕姿|0x0080|1000\n孙耀威|0x0080|1000\n孙艺珍|0x0080|1000\n孙悦|0x0080|1000\n孙俪|0x0080|1000\n孙楠|0x0080|1000\ntae|0x0080|1000\ntank|0x0080|1000\ntension|0x0080|1000\ntwins|0x0080|1000\n太极乐队|0x0080|1000\n邰丽华|0x0080|1000\n邰正宵|0x0080|1000\n谭晶|0x0080|1000\n谭凯琪|0x0080|1000\n谭维维|0x0080|1000\n谭小环|0x0080|1000\n谭耀文|0x0080|1000\n谭咏麟|0x0080|1000\n谭歆柔|0x0080|1000\n汤宝如|0x0080|1000\n汤灿|0x0080|1000\n汤钧禧|0x0080|1000\n汤姆·克鲁斯|0x0080|1000\n汤志伟|0x0080|1000\n堂娜|0x0080|1000\n唐朝乐队|0x0080|1000\n唐磊|0x0080|1000\n唐笑|0x0080|1000\n唐泽寿明|0x0080|1000\n陶喆|0x0080|1000\n陶大宇|0x0080|1000\n陶虹|0x0080|1000\n陶红|0x0080|1000\n陶晶莹|0x0080|1000\n陶莉萍|0x0080|1000\n藤原纪香|0x0080|1000\n腾格尔|0x0080|1000\n天堂乐队|0x0080|1000\n天仙妹妹|0x0080|1000\n天心|0x0080|1000\n田华|0x0080|1000\n田丽|0x0080|1000\n田亮|0x0080|1000\n田震|0x0080|1000\n田振崴|0x0080|1000\n田中丽奈|0x0080|1000\n田蓓|0x0080|1000\n铁石|0x0080|1000\n婷婷|0x0080|1000\n同恩|0x0080|1000\n童爱玲|0x0080|1000\n童安格|0x0080|1000\n佟大为|0x0080|1000\n涂紫凝|0x0080|1000\n屠洪刚|0x0080|1000\n脱拉库|0x0080|1000\n庹宗华|0x0080|1000\nvrf|0x0080|1000\nwestlife|0x0080|1000\n洼冢洋介|0x0080|1000\n娃娃|0x0080|1000\n万芳|0x0080|1000\n万绮雯|0x0080|1000\n汪峰|0x0080|1000\n汪明荃|0x0080|1000\n汪佩蓉|0x0080|1000\n汪蕊|0x0080|1000\n王媞|0x0080|1000\n王冰洋|0x0080|1000\n王恩琦|0x0080|1000\n王菲|0x0080|1000\n王菲菲|0x0080|1000\n王光良|0x0080|1000\n王海玲|0x0080|1000\n王姬|0x0080|1000\n王杰|0x0080|1000\n王晶|0x0080|1000\n王静莹|0x0080|1000\n王力宏|0x0080|1000\n王量|0x0080|1000\n王佩瑜|0x0080|1000\n王启文|0x0080|1000\n王仁宏|0x0080|1000\n王蓉|0x0080|1000\n王识贤|0x0080|1000\n王思思|0x0080|1000\n王思懿|0x0080|1000\n王喜|0x0080|1000\n王啸坤|0x0080|1000\n王心凌|0x0080|1000\n王心懿|0x0080|1000\n王秀琳|0x0080|1000\n王学兵|0x0080|1000\n王雪娥|0x0080|1000\n王袁|0x0080|1000\n王志文|0x0080|1000\n王中平|0x0080|1000\n王子鸣|0x0080|1000\n王祖贤|0x0080|1000\n王馨平|0x0080|1000\n王珏|0x0080|1000\n王栎鑫|0x0080|1000\n王铮亮|0x0080|1000\n韦唯|0x0080|1000\n维多利亚|0x0080|1000\n魏晨|0x0080|1000\n魏雪漫|0x0080|1000\n卫兰|0x0080|1000\n卫诗|0x0080|1000\n薇诺娜|0x0080|1000\n温碧霞|0x0080|1000\n温翠萍|0x0080|1000\n温拿乐队|0x0080|1000\n温兆伦|0x0080|1000\n温岚|0x0080|1000\n文根英|0x0080|1000\n文颂娴|0x0080|1000\n文熙俊|0x0080|1000\n文章|0x0080|1000\n翁虹|0x0080|1000\n翁嘉穗|0x0080|1000\n翁家明|0x0080|1000\n翁美玲|0x0080|1000\n翁倩玉|0x0080|1000\n巫启贤|0x0080|1000\n乌玛·瑟曼|0x0080|1000\n无印良品|0x0080|1000\n吴姵文|0x0080|1000\n吴斌|0x0080|1000\n吴辰君|0x0080|1000\n吴恩琪|0x0080|1000\n吴国敬|0x0080|1000\n吴汉青|0x0080|1000\n吴浩康|0x0080|1000\n吴嘉丽|0x0080|1000\n吴建豪|0x0080|1000\n吴君如|0x0080|1000\n吴克群|0x0080|1000\n吴佩慈|0x0080|1000\n吴佩珊|0x0080|1000\n吴佩文|0x0080|1000\n吴奇隆|0x0080|1000\n吴启华|0x0080|1000\n吴庆哲|0x0080|1000\n吴淑敏|0x0080|1000\n吴兴国|0x0080|1000\n吴彦祖|0x0080|1000\n吴瑶|0x0080|1000\n吴宇森|0x0080|1000\n吴镇宇|0x0080|1000\n吴宗宪|0x0080|1000\n吴倩莲|0x0080|1000\n武家祥|0x0080|1000\n五月天|0x0080|1000\n伍佰|0x0080|1000\n伍思凯|0x0080|1000\n希拉里·斯万克|0x0080|1000\n希亚|0x0080|1000\n席琳·迪翁|0x0080|1000\n夏雨|0x0080|1000\n弦子|0x0080|1000\n香香|0x0080|1000\n向海岚|0x0080|1000\n萧蔷|0x0080|1000\n萧淑慎|0x0080|1000\n萧亚轩|0x0080|1000\n萧正楠|0x0080|1000\n萧潇|0x0080|1000\n小仓优子|0x0080|1000\n小虫|0x0080|1000\n小刚|0x0080|1000\n小虎队|0x0080|1000\n小柯|0x0080|1000\n小鸣|0x0080|1000\n小雪|0x0080|1000\n小曾|0x0080|1000\n肖恩·康纳利|0x0080|1000\n肖飞|0x0080|1000\n谢安琪|0x0080|1000\n谢东|0x0080|1000\n谢金燕|0x0080|1000\n谢军|0x0080|1000\n谢娜|0x0080|1000\n谢天华|0x0080|1000\n谢贤|0x0080|1000\n谢雨欣|0x0080|1000\n谢雨迅|0x0080|1000\n谢子锋|0x0080|1000\n谢霆锋|0x0080|1000\n辛隆|0x0080|1000\n辛晓琪|0x0080|1000\n辛欣|0x0080|1000\n辛子奇|0x0080|1000\n新宝岛康乐队|0x0080|1000\n新裤子乐队|0x0080|1000\n心跳男孩|0x0080|1000\n心微|0x0080|1000\n信乐团|0x0080|1000\n星盒子|0x0080|1000\n熊天平|0x0080|1000\n秀兰·邓波儿|0x0080|1000\n秀兰玛雅|0x0080|1000\n咻比嘟哗|0x0080|1000\n徐华凤|0x0080|1000\n徐怀钰|0x0080|1000\n徐静蕾|0x0080|1000\n徐若瑄|0x0080|1000\n徐熙娣|0x0080|1000\n徐熙媛|0x0080|1000\n徐小凤|0x0080|1000\n徐誉滕|0x0080|1000\n徐峥|0x0080|1000\n徐婕儿|0x0080|1000\n徐颢菲|0x0080|1000\n许飞|0x0080|1000\n许冠杰|0x0080|1000\n许慧欣|0x0080|1000\n许景淳|0x0080|1000\n许美静|0x0080|1000\n许晴|0x0080|1000\n许茹芸|0x0080|1000\n许绍洋|0x0080|1000\n许巍|0x0080|1000\n许哲佩|0x0080|1000\n许志安|0x0080|1000\n许玮伦|0x0080|1000\n宣萱|0x0080|1000\n薛凯琪|0x0080|1000\n薛之谦|0x0080|1000\n雪村|0x0080|1000\n雪儿|0x0080|1000\ny.i.y.o|0x0080|1000\n亚东|0x0080|1000\n严正花|0x0080|1000\n言承旭|0x0080|1000\n阎维文|0x0080|1000\n杨采妮|0x0080|1000\n杨臣刚|0x0080|1000\n杨恭如|0x0080|1000\n杨嘉松|0x0080|1000\n杨峻荣|0x0080|1000\n杨坤|0x0080|1000\n杨丽菁|0x0080|1000\n杨林|0x0080|1000\n杨乃文|0x0080|1000\n杨盼盼|0x0080|1000\n杨千嬅|0x0080|1000\n杨婉仪|0x0080|1000\n杨紫琼|0x0080|1000\n杨丞琳|0x0080|1000\n杨峥|0x0080|1000\n杨钰莹|0x0080|1000\n阳蕾|0x0080|1000\n阳一|0x0080|1000\n姚采颖|0x0080|1000\n姚明|0x0080|1000\n姚政|0x0080|1000\n叶德娴|0x0080|1000\n叶丽仪|0x0080|1000\n叶佩雯|0x0080|1000\n叶世荣|0x0080|1000\n叶树茵|0x0080|1000\n叶童|0x0080|1000\n叶文辉|0x0080|1000\n叶一茜|0x0080|1000\n叶玉卿|0x0080|1000\n叶子楣|0x0080|1000\n叶倩文|0x0080|1000\n叶蓓|0x0080|1000\n叶瑷菱|0x0080|1000\n叶璇|0x0080|1000\n伊莉莎白·赫莉|0x0080|1000\n伊能静|0x0080|1000\n伊雪莉|0x0080|1000\n伊扬|0x0080|1000\n彝人制造|0x0080|1000\n易慧|0x0080|1000\n易齐|0x0080|1000\n殷悦|0x0080|1000\n尹子维|0x0080|1000\n英格丽·褒曼|0x0080|1000\n应采儿|0x0080|1000\n永邦|0x0080|1000\n优客李林|0x0080|1000\n游鸿明|0x0080|1000\n于台烟|0x0080|1000\n于文华|0x0080|1000\n余文乐|0x0080|1000\n俞飞鸿|0x0080|1000\n俞思远|0x0080|1000\n俞小凡|0x0080|1000\n俞灏明|0x0080|1000\n与非门|0x0080|1000\n宇多田光|0x0080|1000\n羽泉|0x0080|1000\n郁芳|0x0080|1000\n郁钧剑|0x0080|1000\n喻可欣|0x0080|1000\n庾澄庆|0x0080|1000\n元彬|0x0080|1000\n元气|0x0080|1000\n元卫觉醒|0x0080|1000\n袁立|0x0080|1000\n袁泉|0x0080|1000\n袁惟仁|0x0080|1000\n袁咏仪|0x0080|1000\n原子鏸|0x0080|1000\n岳梅|0x0080|1000\n岳夏|0x0080|1000\n岳翎|0x0080|1000\n臧天朔|0x0080|1000\n泽塔·琼斯|0x0080|1000\n曾宝仪|0x0080|1000\n曾华倩|0x0080|1000\n曾静|0x0080|1000\n曾志伟|0x0080|1000\n詹妮弗·康奈利|0x0080|1000\n詹雯婷|0x0080|1000\n章小蕙|0x0080|1000\n章子怡|0x0080|1000\n张燊悦|0x0080|1000\n张艾嘉|0x0080|1000\n张柏芝|0x0080|1000\n张楚|0x0080|1000\n张楚格|0x0080|1000\n张德兰|0x0080|1000\n张东健|0x0080|1000\n张栋梁|0x0080|1000\n张镐哲|0x0080|1000\n张国荣|0x0080|1000\n张含韵|0x0080|1000\n张赫|0x0080|1000\n张恒|0x0080|1000\n张洪量|0x0080|1000\n张惠春|0x0080|1000\n张惠妹|0x0080|1000\n张嘉倪|0x0080|1000\n张嘉洵|0x0080|1000\n张家辉|0x0080|1000\n张杰|0x0080|1000\n张静初|0x0080|1000\n张敬轩|0x0080|1000\n张可可|0x0080|1000\n张可颐|0x0080|1000\n张可芝|0x0080|1000\n张克帆|0x0080|1000\n张澜澜|0x0080|1000\n张立基|0x0080|1000\n张曼玉|0x0080|1000\n张敏|0x0080|1000\n张明敏|0x0080|1000\n张娜拉|0x0080|1000\n张蔷|0x0080|1000\n张清芳|0x0080|1000\n张善为|0x0080|1000\n张韶涵|0x0080|1000\n张庭|0x0080|1000\n张伟进|0x0080|1000\n张卫健|0x0080|1000\n张文慈|0x0080|1000\n张信哲|0x0080|1000\n张学友|0x0080|1000\n张亚飞|0x0080|1000\n张延|0x0080|1000\n张瑶|0x0080|1000\n张耀扬|0x0080|1000\n张也|0x0080|1000\n张茵|0x0080|1000\n张雨生|0x0080|1000\n张宇|0x0080|1000\n张玉华|0x0080|1000\n张远|0x0080|1000\n张震岳|0x0080|1000\n张振富|0x0080|1000\n张振宇|0x0080|1000\n张智成|0x0080|1000\n张智霖|0x0080|1000\n张咪|0x0080|1000\n张梓楦|0x0080|1000\n张焱|0x0080|1000\n张钰|0x0080|1000\n张靓颖|0x0080|1000\n赵本山|0x0080|1000\n赵传|0x0080|1000\n赵汉善|0x0080|1000\n赵静怡|0x0080|1000\n赵仁成|0x0080|1000\n赵颂茹|0x0080|1000\n赵文瑄|0x0080|1000\n赵宪宰|0x0080|1000\n赵学而|0x0080|1000\n赵雅芝|0x0080|1000\n赵咏华|0x0080|1000\n赵在炫|0x0080|1000\n赵之璧|0x0080|1000\n赵自强|0x0080|1000\n赵薇|0x0080|1000\n赵媛媛|0x0080|1000\n珍妮佛·安妮斯顿|0x0080|1000\n珍妮弗·洛佩兹|0x0080|1000\n甄妮|0x0080|1000\n甄子丹|0x0080|1000\n郑多彬|0x0080|1000\n郑钧|0x0080|1000\n郑融|0x0080|1000\n郑少秋|0x0080|1000\n郑希怡|0x0080|1000\n郑新玮|0x0080|1000\n郑秀文|0x0080|1000\n郑秀珍|0x0080|1000\n郑绪岚|0x0080|1000\n郑雪儿|0x0080|1000\n郑伊健|0x0080|1000\n郑宇成|0x0080|1000\n郑元畅|0x0080|1000\n郑源|0x0080|1000\n郑允浩|0x0080|1000\n郑智化|0x0080|1000\n郑中基|0x0080|1000\n郑怡|0x0080|1000\n织田裕二|0x0080|1000\n指南针乐队|0x0080|1000\n中国辣妹|0x0080|1000\n中国力量|0x0080|1000\n中国娃娃|0x0080|1000\n中坚份子|0x0080|1000\n中山美穗|0x0080|1000\n钟楚红|0x0080|1000\n钟汉良|0x0080|1000\n钟丽缇|0x0080|1000\n钟真|0x0080|1000\n钟镇涛|0x0080|1000\n钟汶|0x0080|1000\n周笔畅|0x0080|1000\n周冰倩|0x0080|1000\n周传雄|0x0080|1000\n周丹|0x0080|1000\n周国贤|0x0080|1000\n周海媚|0x0080|1000\n周华健|0x0080|1000\n周慧敏|0x0080|1000\n周杰|0x0080|1000\n周杰伦|0x0080|1000\n周俊伟|0x0080|1000\n周丽淇|0x0080|1000\n周鹏|0x0080|1000\n周奇奇|0x0080|1000\n周润发|0x0080|1000\n周涛|0x0080|1000\n周星驰|0x0080|1000\n周迅|0x0080|1000\n周彦宏|0x0080|1000\n周永恒|0x0080|1000\n周渝民|0x0080|1000\n周治平|0x0080|1000\n周子寒|0x0080|1000\n周子淇|0x0080|1000\n周蕙|0x0080|1000\n周汶锜|0x0080|1000\n周璇|0x0080|1000\n朱迪·福斯特|0x0080|1000\n朱逢博|0x0080|1000\n朱慧珊|0x0080|1000\n朱丽叶·比诺什|0x0080|1000\n朱玲玲|0x0080|1000\n朱明瑛|0x0080|1000\n朱孝天|0x0080|1000\n朱茵|0x0080|1000\n朱哲琴|0x0080|1000\n朱妍|0x0080|1000\n朱媛媛|0x0080|1000\n朱桦|0x0080|1000\n猪头皮|0x0080|1000\n竹野内丰|0x0080|1000\n祝钒刚|0x0080|1000\n茱丽娅·罗伯茨|0x0080|1000\n椎名林檎|0x0080|1000\n卓文萱|0x0080|1000\n卓依婷|0x0080|1000\n紫龙|0x0080|1000\n子曰乐队|0x0080|1000\n邹爽|0x0080|1000\n祖海|0x0080|1000\n左小青|0x0080|1000\n安息香|0x0008|103\n梓木草|0x0008|103\n砖子苗|0x0008|103\n矮毛蕨|0x0008|103\n昂天莲|0x0008|103\n石莲花|0x0008|103\n八角枫|0x0008|103\n暗红葛缕子|0x0008|103\n巴东小檗|0x0008|103\n鞍唇沼兰|0x0008|103\n暗红鼠尾草|0x0008|103\n暗罗|0x0008|103\n凹瓣苣苔|0x0008|103\n桉叶悬钩子|0x0008|103\n暗叶杜鹃|0x0008|103\n肿足蕨|0x0008|103\n肿节少穗竹|0x0008|103\n沼柳|0x0008|103\n巴山重楼|0x0008|103\n掌叶木|0x0008|103\n巴西木棉|0x0008|103\n羽穗草属|0x0008|103\n毡毛马兰|0x0008|103\n白背风毛菊|0x0008|103\n白苞芹|0x0008|103\n白背厚壳桂|0x0008|103\n柊叶|0x0008|103\n白耳菜|0x0008|103\n指甲兰|0x0008|103\n针子草|0x0008|103\n大田基黄|0x0008|103\n照山白|0x0008|103\n獐耳细辛|0x0008|103\n粘鱼须|0x0008|103\n窄叶柃|0x0008|103\n栓翅卫矛|0x0008|103\n杂三叶|0x0008|103\n须花藤|0x0008|103\n枣树|0x0008|103\n越榄|0x0008|103\n越桔|0x0008|103\n岳桦|0x0008|103\n圆籽荷|0x0008|103\n原天麻|0x0008|103\n元宝山冷杉|0x0008|103\n元宝槭|0x0008|103\n圆叶景天|0x0008|103\n元宝草|0x0008|103\n菖蒲花|0x0008|103\n羽叶楸|0x0008|103\n沼生栎|0x0008|103\n羽平藓|0x0008|103\n白鹤花|0x0008|103\n银穗草|0x0008|103\n疣天麻|0x0008|103\n榆橘|0x0008|103\n鱼尾葵|0x0008|103\n鱼黄草|0x0008|103\n马唐|0x0008|103\n羽节蕨|0x0008|103\n华蟹甲|0x0008|103\n鱼藤|0x0008|103\n羽芒菊|0x0008|103\n鱼肚腩竹|0x0008|103\n莠狗尾草|0x0008|103\n硬枝老鸦嘴|0x0008|103\n油楠|0x0008|103\n油橄榄|0x0008|103\n油棕|0x0008|103\n檫树|0x0008|103\n红叶乌桕|0x0008|103\n七叶树|0x0008|103\n南酸枣|0x0008|103\n檫木|0x0008|103\n粗草区|0x0008|103\n白果越桔|0x0008|103\n白喉乌头|0x0008|103\n白花短梗胡枝子|0x0008|103\n白花结香|0x0008|103\n高山积雪|0x0008|103\n鱼鳔槐|0x0008|103\n异蕊草|0x0008|103\n钩吻|0x0008|103\n须药藤|0x0008|103\n卵果鱼鳞云杉|0x0008|103\n依兰香|0x0008|103\n药蜀葵|0x0008|103\n金丝楠木|0x0008|103\n巴尔古津蒿|0x0008|103\n巴山榧树|0x0008|103\n白背亚飞廉|0x0008|103\n白草|0x0008|103\n红雀珊瑚|0x0008|103\n白花山桃|0x0008|103\n白鹤草|0x0008|103\n白鹤草|0x0008|103\n白花败酱|0x0008|103\n序叶苎麻|0x0008|103\n独蒜兰|0x0008|103\n白花拟万代兰|0x0008|103\n白花碎米荠|0x0008|103\n菝契|0x0008|103\n白花悬钩子|0x0008|103\n木瘤雕|0x0008|103\n策勒蒲公英|0x0008|103\n石竹属|0x0008|103\n白勒|0x0008|103\n辣椒|0x0008|103\n鸭舌草|0x0008|103\n雪胆|0x0008|103\n华须芒草|0x0008|103\n旋夏花|0x0008|103\n白花龙船花|0x0008|103\n隐花草|0x0008|103\n星毛蕨|0x0008|103\n摆竹|0x0008|103\n细野麻|0x0008|103\n星蕨|0x0008|103\n缬草|0x0008|103\n斑叶稠李|0x0008|103\n鹅掌楸|0x0008|103\n金合欢|0x0008|103\n椤木石楠|0x0008|103\n珊瑚朴|0x0008|103\n黄连木|0x0008|103\n黄山栾树|0x0008|103\n重阳木|0x0008|103\n糙叶树|0x0008|103\n雀舌松|0x0008|103\n挪威槭|0x0008|103\n象草|0x0008|103\n腺果藤|0x0008|103\n显子草|0x0008|103\n鲜卑花|0x0008|103\n线叶蓟|0x0008|103\n下延三叉蕨|0x0008|103\n夏蜡梅|0x0008|103\n仙女木|0x0008|103\n茴芹|0x0008|103\n狭腔芹属|0x0008|103\n虾脊兰|0x0008|103\n细柱柳|0x0008|103\n瓣鳞花|0x0008|103\n觿茅属|0x0008|103\n虾衣花|0x0008|103\n丫蕊花|0x0008|103\n乌榄|0x0008|103\n刺果芹|0x0008|103\n锡金报春|0x0008|103\n喜树|0x0008|103\n毛叶五匹青|0x0008|103\n雾冰藜|0x0008|103\n舞鹤草|0x0008|103\n蛇含|0x0008|103\n雾水葛|0x0008|103\n五星花|0x0008|103\n朝天椒|0x0008|103\n五裂槭|0x0008|103\n舞女兰|0x0008|103\n五针松|0x0008|103\n午时花|0x0008|103\n乌柳|0x0008|103\n五叶参|0x0008|103\n五节芒|0x0008|103\n大头菜|0x0008|103\n无忧花|0x0008|103\n无叶莲|0x0008|103\n无髭毛建草|0x0008|103\n无叶兰属|0x0008|103\n无柱兰属|0x0008|103\n无脉苔草|0x0008|103\n无距兰属|0x0008|103\n辣蓼|0x0008|103\n倭竹|0x0008|103\n麻核藤|0x0008|103\n渥丹|0x0008|103\n文山黄芩|0x0008|103\n平安树|0x0008|103\n白英|0x0008|103\n蚊母草|0x0008|103\n布袋兰|0x0008|103\n猬菊|0x0008|103\n苇谷草|0x0008|103\n委陵菜|0x0008|103\n文殊兰|0x0008|103\n白头蟹甲草|0x0008|103\n白藓|0x0008|103\n白檀|0x0008|103\n白透骨消|0x0008|103\n白沙蒿|0x0008|103\n亮叶围涎树|0x0008|103\n白薯茛|0x0008|103\n葨芝|0x0008|103\n白棠子树|0x0008|103\n碗蕨|0x0008|103\n白头山苔草|0x0008|103\n白香草木樨|0x0008|103\n白香薷|0x0008|103\n白颜树|0x0008|103\n百花蒿|0x0008|103\n百灵草|0x0008|103\n柏拉木|0x0008|103\n白玉大油芒|0x0008|103\n班玛杜鹃|0x0008|103\n百能葳|0x0008|103\n白粘蜜环菌|0x0008|103\n百里香|0x0008|103\n白雪花|0x0008|103\n同花母菊|0x0008|103\n驼峰藤|0x0008|103\n白竹|0x0008|103\n百两金|0x0008|103\n红雀珊瑚|0x0008|103\n桐|0x0008|103\n葭|0x0008|103\n万年青|0x0008|103\n菵草|0x0008|103\n万年蒿|0x0008|103\n瓦叶藓|0x0008|103\n弯蕊芥属|0x0008|103\n瓦韦|0x0008|103\n洼瓣花|0x0008|103\n雄黄兰|0x0008|103\n榔榆|0x0008|103\n尾囊草|0x0008|103\n红点杜鹃|0x0008|103\n达香蒲|0x0008|103\n佤箭竹|0x0008|103\n臀果木|0x0008|103\n土楠|0x0008|103\n土当归|0x0008|103\n白木香|0x0008|103\n团扇蕨|0x0008|103\n头嘴菊属|0x0008|103\n头花韭|0x0008|103\n棒距虾脊兰|0x0008|103\n头蕊兰|0x0008|103\n肉穗草|0x0008|103\n筒轴茅属|0x0008|103\n秃瓣杜英|0x0008|103\n突顶口蘑|0x0008|103\n天门冬|0x0008|103\n球穗草|0x0008|103\n铜钱树|0x0008|103\n喷灌|0x0008|103\n铁线草|0x0008|103\n铁冬青|0x0008|103\n通泉草|0x0008|103\n贝母兰|0x0008|103\n铁兰|0x0008|103\n天山泽芹属|0x0008|103\n甜槠|0x0008|103\n甜麻|0x0008|103\n甜菜|0x0008|103\n南杏仁|0x0008|103\n田紫草|0x0008|103\n田葱|0x0008|103\n天仙子|0x0008|103\n天蓬草|0x0008|103\n苎麻根|0x0008|103\n天料木|0x0008|103\n秕壳草|0x0008|103\n藤枣|0x0008|103\n笔竹|0x0008|103\n小花木兰|0x0008|103\n头蕊兰属|0x0008|103\n领春木|0x0008|103\n藤五加|0x0008|103\n天蓝苜蓿|0x0008|103\n忠心菊|0x0008|103\n藤黄檀|0x0008|103\n豹药藤|0x0008|103\n爬藤榕|0x0008|103\n藤萝|0x0008|103\n藤槐|0x0008|103\n小花黄堇|0x0008|103\n报春茜|0x0008|103\n抱茎柴胡|0x0008|103\n短茎柴胡|0x0008|103\n抱石越橘|0x0008|103\n抱石越桔(原变种)|0x0008|103\n苞叶杜鹃|0x0008|103\n宝岛套叶兰|0x0008|103\n宝兴野青茅|0x0008|103\n保亭金线兰|0x0008|103\n棒叶鸢尾兰|0x0008|103\n木本植物|0x0008|103\n宝岛盂兰|0x0008|103\n抱石莲|0x0008|103\n豹斑石豆兰|0x0008|103\n苞叶姜|0x0008|103\n报春贝母兰|0x0008|103\n抱茎龙船花|0x0008|103\n豹皮花|0x0008|103\n宝珠草|0x0008|103\n豹纹掌唇兰|0x0008|103\n包槲柯|0x0008|103\n苞舌兰|0x0008|103\n抱茎细莴苣|0x0008|103\n糖蜜草|0x0008|103\n杯茎蛇菰|0x0008|103\n杯叶西番莲|0x0008|103\n栎|0x0008|103\n香蕉花|0x0008|103\n乳茄|0x0008|103\n非洲菊|0x0008|103\n糖芥属|0x0008|103\n檀梨属|0x0008|103\n滩贝母|0x0008|103\n藤长苗|0x0008|103\n女贞|0x0008|103\n美人蕉|0x0008|103\n山茶|0x0008|103\n西府海棠|0x0008|103\n绯桃|0x0008|103\n天南星|0x0008|103\n阴香|0x0008|103\n悬崖菊|0x0008|103\n柿子花|0x0008|103\n连翘花|0x0008|103\n灯笼花|0x0008|103\n芙蓉花|0x0008|103\n莲蓬|0x0008|103\n矢竹|0x0008|103\n蓍|0x0008|103\n蓍|0x0008|103\n狮子尾|0x0008|103\n蓍|0x0008|103\n花粉|0x0008|103\n北极果|0x0008|103\n北疆苔草|0x0008|103\n香蕉花|0x0008|103\n北京隐子草|0x0008|103\n北碚猴欢喜|0x0008|103\n爆杖花|0x0008|103\n东江树木科技示范园|0x0008|103\n榉树|0x0008|103\n丝柏|0x0008|103\n四齿藓|0x0008|103\n思茅藤|0x0008|103\n水同木|0x0008|103\n醉草|0x0008|103\n水苏|0x0008|103\n水椰|0x0008|103\n水香薷|0x0008|103\n水毛花|0x0008|103\n水玉簪科|0x0008|103\n报春石斛|0x0008|103\n水茄|0x0008|103\n水蜡树|0x0008|103\n水东哥|0x0008|103\n华扁穗草|0x0008|103\n滨海斑鸠菊|0x0008|103\n冰草|0x0008|103\n波叶大黄|0x0008|103\n波叶提灯藓|0x0008|103\n波缘冷水花|0x0008|103\n博落回|0x0008|103\n薄鳞菊|0x0008|103\n仁面|0x0008|103\n杜仲|0x0008|103\n勃氏甜龙竹|0x0008|103\n水田七|0x0008|103\n透骨草|0x0008|103\n素馨花|0x0008|103\n禾本科|0x0008|103\n齿叶枇杷|0x0008|103\n松叶蕨|0x0008|103\n松寄生|0x0008|103\n苏铁蕨|0x0008|103\n苏丹草|0x0008|103\n双花草|0x0008|103\n双飞蝴蝶|0x0008|103\n树参|0x0008|103\n薯豆|0x0008|103\n鼠曲草|0x0008|103\n鼠李|0x0008|103\n黍子|0x0008|103\n鼠尾草|0x0008|103\n鼠尾藓|0x0008|103\n假鼠妇草|0x0008|103\n麻黄|0x0008|103\n鼠曲草|0x0008|103\n菽麻|0x0008|103\n守宫木|0x0008|103\n疏花针茅|0x0008|103\n石刷把|0x0008|103\n巴豆|0x0008|103\n野酒花|0x0008|103\n长序榆|0x0008|103\n小叶丁香|0x0008|103\n齿叶半蒴苣苔|0x0008|103\n齿翅蓼|0x0008|103\n匙萼卷瓣兰|0x0008|103\n千里光属|0x0008|103\n齿果草|0x0008|103\n少花桂|0x0008|103\n芦笋|0x0008|103\n齿叶忍冬|0x0008|103\n齿叶橐吾|0x0008|103\n秤星树|0x0008|103\n匙萼木|0x0008|103\n齿叶薰衣草|0x0008|103\n小琴丝竹|0x0008|103\n凤尾竹|0x0008|103\n罗汉竹|0x0008|103\n西洋参|0x0008|103\n湿地松|0x0008|103\n石蝉草|0x0008|103\n十齿花|0x0008|103\n齿叶报春|0x0008|103\n芦笋|0x0008|103\n裸子植物|0x0008|103\n圣罗勒|0x0008|103\n绳虫实|0x0008|103\n石胡荽|0x0008|103\n生菜|0x0008|103\n蜂斗菜|0x0008|103\n神秘果|0x0008|103\n升麻|0x0008|103\n蛇苔|0x0008|103\n神香草|0x0008|103\n蛇头荠|0x0008|103\n蛇婆子|0x0008|103\n蛇瓜|0x0008|103\n石笔木|0x0008|103\n五蕊柳|0x0008|103\n商陆|0x0008|103\n蛇床|0x0008|103\n扇蕨|0x0008|103\n珊瑚树|0x0008|103\n扇叶桦|0x0008|103\n山槐|0x0008|103\n桑树|0x0008|103\n沙梾|0x0008|103\n沙鞭|0x0008|103\n沙穗属|0x0008|103\n沙芥|0x0008|103\n色木|0x0008|103\n三蕊草|0x0008|103\n伞花木|0x0008|103\n三月竹|0x0008|103\n三七草|0x0008|103\n三叉苦|0x0008|103\n三分丹|0x0008|103\n植物分类学报|0x0008|103\n三对节|0x0008|103\n箬竹|0x0008|103\n瑞木|0x0008|103\n真蕨植物门|0x0008|103\n种子蕨|0x0008|103\n球柱草|0x0008|103\n球尾花|0x0008|103\n求米草|0x0008|103\n球子蕨|0x0008|103\n秋茄|0x0008|103\n青藤仔|0x0008|103\n山玉兰|0x0008|103\n舌羊齿|0x0008|103\n沟鞭藻类|0x0008|103\n楔叶纲|0x0008|103\n丘角菱|0x0008|103\n青檀树|0x0008|103\n青萍|0x0008|103\n青兰|0x0008|103\n青荚叶|0x0008|103\n秋分草|0x0008|103\n蜻蜓兰|0x0008|103\n青葙|0x0008|103\n青皮木|0x0008|103\n青杨|0x0008|103\n青龙藤|0x0008|103\n青麸杨|0x0008|103\n蛇根叶|0x0008|103\n茄参|0x0008|103\n茄科|0x0008|103\n青杆|0x0008|103\n鞘柄木|0x0008|103\n青果榕|0x0008|103\n鞘山芎|0x0008|103\n青钩栲|0x0008|103\n秦岭藤|0x0008|103\n荞麦|0x0008|103\n全光菊|0x0008|103\n全叶山芹|0x0008|103\n杞柳|0x0008|103\n七子花|0x0008|103\n七指蕨|0x0008|103\n青竿竹|0x0008|103\n长柄赤车|0x0008|103\n青钩栲|0x0008|103\n突顶口蘑|0x0008|104\n山羊角树星盾炱|0x0008|104\n橙黄网孢盘菌|0x0008|104\n杯珊瑚菌|0x0008|104\n古核生物|0x0008|104\n丝状真菌|0x0008|104\n衣原体|0x0008|104\n原核生物|0x0008|104\n幽门螺旋杆菌|0x0008|104\n乳酸杆菌|0x0008|104\n根瘤|0x0008|104\n肽聚糖|0x0008|104\n破伤风杆菌|0x0008|104\n白喉杆菌|0x0008|104\n硫细菌|0x0008|104\n醋酸菌|0x0008|104\n耐药菌|0x0008|104\n细菌转化|0x0008|104\n固氮细菌|0x0008|104\n莫能星|0x0008|104\n古核生物|0x0008|104\n硫化叶菌|0x0008|104\n小煤炱目|0x0008|104\n小单孢菌属|0x0008|104\n微黄拟锁瑚菌|0x0008|104\n粗皮灵芝|0x0008|104\n光亮灵芝|0x0008|104\n菌盖|0x0008|104\n矮小单主虫囊菌|0x0008|104\n贺兰山紫蘑菇|0x0008|104\n叉状甲壳虫囊菌|0x0008|104\n肿囊腐霉|0x0008|104\n圈托鹅膏菌|0x0008|104\n甲壳虫囊菌|0x0008|104\n红地锤菌|0x0008|104\n羊耳蒜小筒壳|0x0008|104\n亮轮层炭壳|0x0008|104\n牡竹小隔孢炱|0x0008|104\n联合固氮|0x0008|104\n菌种保藏|0x0008|104\n单胞藻|0x0008|104\n暗褐离褶伞|0x0008|104\n直柄囊蘑|0x0008|104\n大盖小皮伞|0x0008|104\n蒜头状小皮伞|0x0008|104\n灰紫香蘑|0x0008|104\n日本鹅膏菌|0x0008|104\n皱盖罗鳞伞|0x0008|104\n褐云斑鹅膏菌|0x0008|104\n假褐云斑鹅膏菌|0x0008|104\n大托鹅膏菌|0x0008|104\n长条纹光柄菇|0x0008|104\n白光柄菇|0x0008|104\n畸形外囊菌|0x0008|104\n大孔假芝|0x0008|104\n粗柄假芝|0x0008|104\n福建假芝|0x0008|104\n黑假芝|0x0008|104\n兴义灵芝|0x0008|104\n沙门氏菌属|0x0008|104\n抗病毒免疫|0x0008|104\n假单胞菌|0x0008|104\n梭状芽孢杆菌|0x0008|104\n高氏1号培养基|0x0008|104\n李斯特菌|0x0008|104\n玫瑰柄红菇|0x0008|104\n点柄臭黄菇|0x0008|104\n蓝绿乳菇|0x0008|104\n香亚环乳菇|0x0008|104\n灰喇叭菌|0x0008|104\n喇叭陀螺菌|0x0008|104\n棒瑚菌|0x0008|104\n暗灰枝瑚菌|0x0008|104\n瓣片绣球菌|0x0008|104\n赭黄齿耳菌|0x0008|104\n拟多孔菌|0x0008|104\n白多孔菌|0x0008|104\n黄鳞多孔菌|0x0008|104\n霉腐微生物|0x0008|104\n全头兽|0x0008|104\n短孢黄绿红菇|0x0008|104\n紫红菇|0x0008|104\n粉柄红菇|0x0008|104\n黄红菇|0x0008|104\n篦边红菇|0x0008|104\n红边绿菇|0x0008|104\n血红乳菇|0x0008|104\nPDA培养基|0x0008|104\n痢疾杆菌|0x0008|104\n螺旋菌|0x0008|104\n肺炎双球菌|0x0008|104\n蜡样芽孢杆菌|0x0008|104\n脑膜炎球菌|0x0008|104\n红根须腹菌|0x0008|104\n厌氧菌|0x0008|104\n兼性厌氧菌|0x0008|104\n重脉鬼笔|0x0008|104\n细黄鬼笔|0x0008|104\n棘托竹荪|0x0008|104\n双柱小林鬼笔|0x0008|104\n黄柄笼头菌|0x0008|104\n裂顶柄灰锤|0x0008|104\n袋形地星|0x0008|104\nVP试验|0x0008|104\n基本培养基|0x0008|104\n栓皮马勃|0x0008|104\n粗皮秃马勃|0x0008|104\n秋盔孢伞|0x0008|104\n脑状腔地菇|0x0008|104\n硬田头菇|0x0008|104\n厚环粘盖牛肝菌|0x0008|104\n皱皮疣柄牛肝菌|0x0008|104\n尖枝瑚菌|0x0008|104\n金色枝瑚菌|0x0008|104\n耳匙菌|0x0008|104\n白黑红菇|0x0008|104\n粉黄红菇|0x0008|104\n长毛囊孔菌|0x0008|104\n霉菌毒素|0x0008|104\n小孢枝瑚菌|0x0008|104\n紫色秃马勃|0x0008|104\n粉红地星|0x0008|104\n柠檬酸杆菌属|0x0008|104\n白色农业|0x0008|104\n黄花捻星盾炱|0x0008|104\n皱盖钟菌|0x0008|104\n粉紫香蘑|0x0008|104\n硫色霜霉|0x0008|104\n无缘草霜霉|0x0008|104\n榕叶藜霜霉|0x0008|104\n褐圆孢牛肝菌|0x0008|104\n凤梨条孢牛肝菌|0x0008|104\n茶褐丝盖伞|0x0008|104\n星孢丝盖伞|0x0008|104\n绿褐裸伞|0x0008|104\n细条盖盔孢伞|0x0008|104\n裘氏紫褐牛肝菌|0x0008|104\n斜盖菇|0x0008|104\n五台杯伞|0x0008|104\n杨树口蘑|0x0008|104\n皂味口蘑|0x0008|104\n裂蹄木层孔菌|0x0008|104\n紫色粉孢牛肝菌|0x0008|104\n鳞柄白毒鹅膏菌|0x0008|104\n角鳞灰鹅膏菌|0x0008|104\n赭盖鹅膏菌|0x0008|104\n茭白黑粉菌|0x0008|104\n偏白枝瑚菌|0x0008|104\n波状根盘菌|0x0008|104\n裂盖马鞍菌|0x0008|104\n炭球菌|0x0008|104\n红鳞口蘑|0x0008|104\n黄褐松口蘑|0x0008|104\n白齿菌|0x0008|104\n假松口蘑|0x0008|104\n槐栓菌|0x0008|104\n鳞盖口蘑|0x0008|104\n山东灵芝|0x0008|104\n糖真菌|0x0008|104\n松塔牛肝菌|0x0008|104\n网脉木耳|0x0008|104\n宽鳞大孔菌|0x0008|104\n勺形大孔菌|0x0008|104\n团核黄褐孔菌|0x0008|104\n小节纤孔菌|0x0008|104\n钹孔菌|0x0008|104\n狭檐栓菌|0x0008|104\n草野栓菌|0x0008|104\n红贝栓菌|0x0008|104\n裂干酪菌|0x0008|104\n散放多孔菌|0x0008|104\n肉色杯伞|0x0008|104\n蜂头虫草|0x0008|104\n大圆灵芝|0x0008|104\n华中灵芝|0x0008|104\n南方灵芝|0x0008|104\n赭漆灵芝|0x0008|104\n硬柄香菇|0x0008|104\n贝壳状小香菇|0x0008|104\n美味蜡伞|0x0008|104\n小牛肝菌|0x0008|104\n灰黄褶孔牛肝菌|0x0008|104\n淡褐奥德蘑|0x0008|104\n褐小菇|0x0008|104\n怡人色红菇|0x0008|104\n直柄口蘑|0x0008|104\n稀硬木层孔菌|0x0008|104\n荚膜|0x0008|104\n褐侧盘菌|0x0008|104\n白杯伞|0x0008|104\n蒜叶小皮伞|0x0008|104\n赤褐鹅膏菌|0x0008|104\n灰鹅膏菌|0x0008|104\n晶粒鬼伞|0x0008|104\n亮色丝膜菌|0x0008|104\n球根白丝膜菌|0x0008|104\n翘鳞环锈伞|0x0008|104\n浅黄褐丝膜菌|0x0008|104\n淡黄乳菇|0x0008|104\n黄孢红菇|0x0008|104\n茶褐黄菇|0x0008|104\n尖顶乳菇|0x0008|104\n贝形刺革菌|0x0008|104\n青柄多孔菌|0x0008|104\n扇盖干酪菌|0x0008|104\n针环褶菌|0x0008|104\n毛蜂窝菌|0x0008|104\n叶状银耳|0x0008|104\n褐柄灰锤|0x0008|104\n长柄炭角菌|0x0008|104\n稻绿核菌|0x0008|104\n小马勃|0x0008|104\n多形马勃|0x0008|104\n灰褐马鞍菌|0x0008|104\n钟菌|0x0008|104\n酶|0x0008|104\n西藏灵芝|0x0008|104\nNA神经氨酸酶|0x0008|104\n棕黄枝瑚菌|0x0008|104\n粘盖环锈伞|0x0008|104\n鹅颈烧瓶实验|0x0008|104\n化能合成细菌|0x0008|104\n氧化亚铁硫杆菌|0x0008|104\n丝状体|0x0008|104\n华美杯伞|0x0008|104\n囊蘑|0x0008|104\n榆生离褶伞|0x0008|104\n卵盖鹅膏菌|0x0008|104\n刻鳞鹅膏菌|0x0008|104\n白鳞粗柄鹅膏菌|0x0008|104\n帽盖光柄菇|0x0008|104\n齿环球盖菇|0x0008|104\n拟胶盘菌属|0x0008|104\n橙黄褐韧伞|0x0008|104\n香杯伞|0x0008|104\n毒光盖伞|0x0008|104\n尖褶红菇|0x0008|104\n橙黄疣柄牛肝菌|0x0008|104\n暗褐乳菇|0x0008|104\n辛辣乳菇|0x0008|104\n蜜黄菇|0x0008|104\n赭盖红菇|0x0008|104\n拟臭黄菇|0x0008|104\n管形鸡油菌|0x0008|104\n苍白鸡油菌|0x0008|104\n苍白乳菇|0x0008|104\n疣孢鸡油菌|0x0008|104\n地毛柄环锈伞|0x0008|104\n黑粉孢牛肝菌|0x0008|104\n火木层孔菌|0x0008|104\n块鳞青鹅膏菌|0x0008|104\n紫色蘑菇|0x0008|104\n浅橙黄鹅膏菌|0x0008|104\n姜黄柄鹅膏菌|0x0008|104\n茶色粘伞|0x0008|104\n红柄丛枝瑚菌|0x0008|104\n绵腐卧孔菌|0x0008|104\n黄卧孔菌|0x0008|104\n肉色迷孔菌|0x0008|104\n红拟迷孔菌|0x0008|104\n鹿胶角菌|0x0008|104\n柄灰锤|0x0008|104\n托柄灰锤|0x0008|104\n亮黑灵芝|0x0008|104\n壳状灵芝|0x0008|104\n密纹薄灵芝|0x0008|104\n澄海灵芝|0x0008|104\n硬孔灵芝|0x0008|104\n拱状灵芝|0x0008|104\n佩氏灵芝|0x0008|104\n长管灵芝|0x0008|104\n奇异灵芝|0x0008|104\n耳匙假芝|0x0008|104\n粗柄粉褶菌|0x0008|104\n“EM”菌群|0x0008|104\n麦地那龙线虫病|0x0008|104\n削脚牛肝菌|0x0008|104\n紫蜡蘑|0x0008|104\n黄斑蘑菇|0x0008|104\n栗黑褐拟层孔菌|0x0008|104\n白鬼笔|0x0008|104\n磷壁酸|0x0008|104\n竹生肉球菌|0x0008|104\n小栓菌|0x0008|104\n樟疫霉|0x0008|104\n葡萄座腔菌|0x0008|104\n烟色珊瑚菌|0x0008|104\n毛脚丝盖伞|0x0008|104\n丝盖伞|0x0008|104\n裂丝盖伞|0x0008|104\n奈瑟氏菌|0x0008|104\n锈菌目|0x0008|104\n沙门氏菌|0x0008|104\n姜黄红菇|0x0008|104\n小毒红菇|0x0008|104\n丛片韧革菌|0x0008|104\n肿瘤病毒|0x0008|104\n烟色齿耳菌|0x0008|104\n大肉齿耳菌|0x0008|104\n漏斗大孔菌|0x0008|104\n多形炭角菌|0x0008|104\n果生炭角菌|0x0008|104\n胶质肉座菌|0x0008|104\n褐赭色羊肚菌|0x0008|104\n核盘菌|0x0008|104\n衰亡期|0x0008|104\n抗原转变|0x0008|104\n非发酵菌|0x0008|104\n交链孢霉属|0x0008|104\n稻尾孢|0x0008|104\n平板涂布法|0x0008|104\n藻菌纲|0x0008|104\n伴胞晶体|0x0008|104\n橡胶木层孔菌|0x0008|104\n褐环粘盖牛肝菌|0x0008|104\n鼠疫耶尔森菌|0x0008|104\n自养菌|0x0008|104\n脆弱拟杆菌|0x0008|104\n沙雷氏菌属|0x0008|104\n竹红菌|0x0008|104\n希瓦氏菌属|0x0008|104\n酵母菌属|0x0008|104\n诸葛健|0x0008|104\n胶陀螺|0x0008|104\n苦粉孢牛肝菌|0x0008|104\n抗菌后效应|0x0008|104\n猫疱疹病毒|0x0008|104\n炭疽热病菌|0x0008|104\n泛菌属|0x0008|104\n副球菌属|0x0008|104\n三名法|0x0008|104\n食酸菌属|0x0008|104\n白色链霉菌|0x0008|104\n黑漆假芝|0x0008|104\n结核性脑膜炎|0x0008|104\n商业杀菌法|0x0008|104\n性菌毛|0x0008|104\n橘黄裸伞|0x0008|104\n褐红盖牛肝菌|0x0008|104\n芽生细菌|0x0008|104\n胶膜醋酸杆菌|0x0008|104\n慢发病毒感染|0x0008|104\n条缘灰杯伞|0x0008|104\n金黄鳞盖菇|0x0008|104\n黑紫灵芝|0x0008|104\n小柄马勃|0x0008|104\n金黄银耳|0x0008|104\n杨锐孔菌|0x0008|104\n密粘褶菌|0x0008|104\nHA血凝素|0x0008|104\n胞浆颗粒|0x0008|104\n红缘拟层孔菌|0x0008|104\n谷堆白蚁伞|0x0008|104\n褐黑口蘑|0x0008|104\n微型后生动物|0x0008|104\n周质空间|0x0008|104\n薄黄鸡油菌|0x0008|104\n厌氧醋菌属|0x0008|104\n缺陷病毒|0x0008|104\n世代时间|0x0008|104\n细菌脂多糖|0x0008|104\n专性厌氧菌|0x0008|104\n细南牛肝菌|0x0008|104\n干扰现象|0x0008|104\n绿颤细菌属|0x0008|104\n转座病毒科|0x0008|104\n宏基因组|0x0008|104\n植物病原细菌|0x0008|104\n黑根须腹菌|0x0008|104\n小马蹄灵芝|0x0008|104\n褐黄纤孔菌|0x0008|104\n热带假丝酵母|0x0008|104\n白橙盖鹅膏菌|0x0008|104\n甲烷八叠球菌属|0x0008|104\n褐褶边奥德蘑|0x0008|104\n固氮菌科|0x0008|104\n尖顶羊肚菌|0x0008|104\n消化链球菌属|0x0008|104\n硝酸盐还原试验|0x0008|104\n长白毛杯菌|0x0008|104\n黑柄炭角菌|0x0008|104\n虫草属|0x0008|104\n质膜内褶|0x0008|104\n聚β-羟基丁酸|0x0008|104\n安徽灵芝|0x0008|104\nG试验|0x0008|104\n幽门螺旋菌|0x0008|104\n微白螺孢菌|0x0008|104\n螺孢菌属|0x0008|104\n链孢囊菌属|0x0008|104\n小双孢菌属|0x0008|104\n游动放线菌属|0x0008|104\n发仙菌属|0x0008|104\n玫瑰链孢囊菌|0x0008|104\n小多孢菌科|0x0008|104\n马都拉放线菌属|0x0008|104\n卓孢菌属|0x0008|104\n变形菌属|0x0008|104\n松材线虫病|0x0008|104\n酪酸菌|0x0008|104\n黄乳菇|0x0008|104\n胡桃肉状菌|0x0008|104\n团藻|0x0008|104\n生物种类|0x0008|104\n路福平|0x0008|104\n好氧性细菌|0x0008|104\n钟形花褶伞|0x0008|104\nA/H1N1型流感|0x0008|104\n隔夜肉|0x0008|104\n溶源转变|0x0008|104\n菌落类型|0x0008|104\n绿丝菌属|0x0008|104\n乳白锥盖伞|0x0008|104\n埃希氏菌属|0x0008|104\n肥脚白鬼伞|0x0008|104\n指示生物|0x0008|104\n大豆和性花叶病毒|0x0008|104\n组氨酸激酶|0x0008|104\n发酵乳制品|0x0008|104\n酸泡菜微生物|0x0008|104\n疏螺旋体属|0x0008|104\n叶状耳盘菌|0x0008|104\n无柄紫灵芝|0x0008|104\n乳白马鞍菌|0x0008|104\n夏块菌|0x0008|104\n五棱散尾鬼笔|0x0008|104\n隐孔菌|0x0008|104\n灰色锁瑚菌|0x0008|104\n解脂假丝酵母|0x0008|104\n匍匐菌丝|0x0008|104\n毒伞|0x0008|104\n头状虫草|0x0008|104\n线形醋菌属|0x0008|104\n圆瘤孢多孔菌|0x0008|104\n痋婴|0x0008|104\n黄体酮|0x0008|104\n毛盖干酪菌|0x0008|104\n嗜热菌|0x0008|104\n红酵母属|0x0008|104\n洁小菇|0x0008|104\n鲤斜管虫|0x0008|104\n近裸香菇|0x0008|104\n虫囊菌纲|0x0008|104\n大脑半球|0x0008|104\n衣藻|0x0008|104\n黄柄小孔菌|0x0008|104\n长柄秃马勃|0x0008|104\n霜指霉属|0x0008|104\n肺炎克雷伯杆菌|0x0008|104\n尼帕病毒|0x0008|104\n秸秆发酵|0x0008|104\n比菲德氏菌|0x0008|104\n洁白毛钉菌|0x0008|104\n嗜肉菌|0x0008|104\n发光类脐菇|0x0008|104\n链球菌科|0x0008|104\n硬皮马勃目|0x0008|104\n爱尔托弧菌|0x0008|104\n立克次体|0x0008|104\n肚脐眼微生物|0x0008|104\n黑木耳|0x0008|104\n车轮虫|0x0008|104\n嗜甲基菌属|0x0008|104\n银耳|0x0008|104\n革兰氏阴性细菌|0x0008|104\n血红栓菌|0x0008|104\n驯化疟原虫|0x0008|104\n超级细菌|0x0008|104\n人类乳头瘤病毒|0x0008|104\n预研菌属|0x0008|104\nORP|0x0008|104\n平板划线法|0x0008|104\n微生物育种|0x0008|104\n披膜病毒|0x0008|104\n内毒素|0x0008|104\n固氮菌|0x0008|104\n金黄喇叭菌|0x0008|104\n血红菇|0x0008|104\n面包酵母|0x0008|104\n微生物学|0x0008|104\n拟杆菌科|0x0008|104\n霜霉科|0x0008|104\n囊孔菌|0x0008|104\n乳酸菌|0x0008|104\n乳酸菌|0x0008|104\n镰刀菌属|0x0008|104\n生物电池|0x0008|104\n担子菌亚门|0x0008|104\n赭鳞蘑菇|0x0008|104\n黄灵芝|0x0008|104\n沉降菌|0x0008|104\n胡鲲|0x0008|104\n香乳菇|0x0008|104\n大肠菌群|0x0008|104\n半球盖菇|0x0008|104\n固体发酵|0x0008|104\njurkat细胞|0x0008|104\n担子菌亚门|0x0008|104\n赭鳞蘑菇|0x0008|104\n黄灵芝|0x0008|104\n沉降菌|0x0008|104\n胡鲲|0x0008|104\n香乳菇|0x0008|104\n大肠菌群|0x0008|104\n半球盖菇|0x0008|104\n固体发酵|0x0008|104\njurkat细胞|0x0008|104\n批踢踢实业坊|0x0008|101\n房地产救市|0x0008|101\n网络庐舍者|0x0008|101\n秒杀客|0x0008|101\nChinglish网络博物馆|0x0008|101\n酱油战士龟甲男|0x0008|101\n樱樱美代子|0x0008|101\n女生网|0x0008|101\n庐舍|0x0008|101\n网络庐舍族|0x0008|101\n脑残体|0x0008|101\n表情符号|0x0008|101\n新女学|0x0008|101\nAA制同居|0x0008|101\n网络同居|0x0008|101\n新奢族|0x0008|101\n诗词混搭体|0x0008|101\n卖萌日|0x0008|101\n想宅就宅|0x0008|101\n小强爬行记|0x0008|101\n搜索依赖症|0x0008|101\n粉粉族|0x0008|101\n郑欣宜|0x0008|101\n饭饭|0x0008|101\n宅童|0x0008|101\n雷皓网络文化发展集团|0x0008|101\n八卦节|0x0008|101\n惧上族|0x0008|101\n淘券一族|0x0008|101\n个性|0x0008|101\n豆腐干|0x0008|101\n反腐女|0x0008|101\n虚拟船票|0x0008|101\n暑假玩伴|0x0008|101\n肩窥|0x0008|101\n精武世界|0x0008|101\n红狮之吻|0x0008|101\n网络流氓|0x0008|101\n白目|0x0008|101\n微博时代|0x0008|101\n文化创造族|0x0008|101\n网络吸血鬼|0x0008|101\n幼闻联播|0x0008|101\n寂寞熊猫|0x0008|101\n光棍证|0x0008|101\n偷菜歌|0x0008|101\n反人肉基础教程|0x0008|101\n男色时代|0x0008|101\n孙海峰|0x0008|101\n过度引用|0x0008|101\n预谋剩饭|0x0008|101\n艳女门|0x0008|101\n陈世美黑名单|0x0008|101\nXmart|0x0008|101\n电车男|0x0008|101\n倦鸟族|0x0008|101\n试衣族|0x0008|101\n逃婚族|0x0008|101\n太阳族|0x0008|101\n淘券族|0x0008|101\n讨薪族|0x0008|101\n无线蹭网族|0x0008|101\n网络庐舍族|0x0008|101\n长三角通勤族|0x0008|101\n炒鸟族|0x0008|101\n哇喔族|0x0008|101\n键盘排序|0x0008|101\n白音格力|0x0008|101\n方舟船票|0x0008|101\n表情符号|0x0008|101\n恐婚族|0x0008|101\n悠客|0x0008|101\n网络庐舍族|0x0008|101\n短信族|0x0008|101\n代排族|0x0008|101\n荐客|0x0008|101\nSSID号|0x0008|101\n二频道文字人物|0x0008|101\n晒老师|0x0008|101\n世界最长诗歌|0x0008|101\nBT族|0x0008|101\n坑妈|0x0008|101\n死磕|0x0008|101\n温柔大男人|0x0008|101\n腐女|0x0008|101\n热死体|0x0008|101\n修炼魅力女人|0x0008|101\n网络串门儿|0x0008|101\nshitizen|0x0008|101\n久坐族|0x0008|101\n晚睡族|0x0008|101\n论坛常用语|0x0008|101\n很黄很暴力|0x0008|101\n奔驰女|0x0008|101\n优雅体|0x0008|101\n问道金系|0x0008|101\n麻豆族|0x0008|101\n腐女控|0x0008|101\n螃蟹男|0x0008|101\n嗮文化|0x0008|101\n偷菜歌|0x0008|101\n网络私教|0x0008|101\n刷刷族|0x0008|101\n试客族|0x0008|101\n网络三缺一|0x0008|101\n侠贪|0x0008|101\n阳台上的裸身女孩|0x0008|101\n败犬女一族|0x0008|101\n网络行为艺术|0x0008|101\n录用老公试卷|0x0008|101\n萤火虫族|0x0008|101\n养眼花瓶|0x0008|101\n状态人|0x0008|101\n港漂|0x0008|101\n弹窗战争|0x0008|101\n国民导演|0x0008|101\n子弹体|0x0008|101\n赳赳体|0x0008|101\n双刀妹|0x0008|101\nyoyo族|0x0008|101\n火星女|0x0008|101\n推手网店|0x0008|101\n民俗顾问团|0x0008|101\n网络音乐|0x0008|101\n新恶魔山姆|0x0008|101\n外食族|0x0008|101\n章鱼妹|0x0008|101\n你来我网|0x0008|101\n人肉搜索公约|0x0008|101\n泪奔帖|0x0008|101\n雨伞帝|0x0008|101\n团奴|0x0008|101\n网络组合字|0x0008|101\n网上世博护照|0x0008|101\nFUN族|0x0008|101\n网络数字大炮|0x0008|101\n为你祈祷|0x0008|101\n腐摸|0x0008|101\n我撅|0x0008|101\n孔雀男|0x0008|101\n十年体|0x0008|101\n鸡肋短信|0x0008|101\n网络庙会|0x0008|101\n粉丝买卖|0x0008|101\n微产阶级|0x0008|101\n史上最寂寞熊猫|0x0008|101\n奶罩男|0x0008|101\n网上媒婆|0x0008|101\n";
	var wildcard = "CDM-9200|0x0008|0\nCDM-8930|0x0008|0\nPPC-6600|0x0008|0\nPPC-6601|0x0008|0\nXV6600|0x0008|0\nCDM-8940|0x0008|0\nSMT 5600|0x0008|0\nPPC 4100|0x0008|0\nCDM-8615|0x0008|0\nCDM-8920|0x0008|0\nCDM-8910|0x0008|0\nCDM-8425|0x0008|0\nCDM-9900|0x0008|0\nCDM-9950|0x0008|0\nNokia-N8|0x0008|0\nNokia-Nuron 5230|0x0008|0\nNokia-X6|0x0008|0\nNokia-N97|0x0008|0\nNokia-E72|0x0008|0\nNokia-N900|0x0008|0\nNode|0x0008|0\nNodejs|0x0008|0\nNode.js|0x0008|0\nISO-9001|0x0008|0\nC++|0x0008|0\n";
	var synonym = "揭穿,戳穿\n聪慧,聪明\n葱郁,葱茏\n粗暴,粗鲁\n粗俗,粗鄙\n粗鄙,粗俗\n篡夺,夺取\n懦弱,脆弱\n村庄,村落\n村子,村庄\n存放,寄存\n寄放,存放\n过错,错误\n达到,到达\n回覆,答复\n端详,打量\n古板,呆板\n拘捕,逮捕\n率领,带领\n懒惰,怠惰\n担负,担当\n担任,担负\n畏怯,胆怯\n捣鬼,捣乱\n悼念,吊唁\n道贺,道喜\n贺喜,道贺\n消沉,低沉\n仇视,敌视\n招架,抵挡\n抵触,抵牾\n抵御,抵抗\n境地,地步\n推翻,颠覆\n装点,点缀\n玷辱,玷污\n惦念,惦记\n钓饵,诱饵\n诱饵,钓饵\n懂得,晓得\n陡峭,峻峭\n抗衡,对抗\n对照,对比\n对比,对照\n对立,对峙\n堕落,腐化\n蜕化,堕落\n讹诈,敲诈\n欺诈,讹诈\n恶毒,狠毒\n挖掘,发掘\n会见,会面\n汇合,会合\n会意,会心\n憨厚,浑厚\n憨实,浑厚\n淳朴,浑厚\n凌乱,混乱\n活气,活力\n激烈,剧烈\n机智,机灵\n聚拢,集合\n慌忙,急忙\n棘手,辣手\n规划,计划\n技巧,技能\n焦躁,烦躁\n忙碌,繁忙\n繁荣,繁华\n孳生,繁殖\n反水,反叛\n反映,反应\n犯罪,犯法\n法子,方法\n提防,防备\n阴碍,妨碍\n走访,访问\n仿造,仿制\n仿制,仿造\n诬蔑,诽谤\n废止,废除\n劳神,费心\n分辩,辩白\n分说,分辩\n纷纷,纷纭\n纷繁,纷纷\n纷乱,缭乱\n凌乱,纷乱\n叮嘱,吩咐\n掩饰,粉饰\n发奋,奋发\n丰厚,丰富\n丰登,丰收\n景色,风景\n风行,盛行\n锐利,锋利\n犀利,锋利\n奉承,阿谀\n肤浅,浮浅\n浮现,显现\n呈现,显现\n抚育,抚养\n左近,附近\n挂彩,负伤\n繁杂,复杂\n改良,改进\n改善,改良\n矫正,改正\n情愿,甘心\n纲要,纲领\n昂扬,高昂\n高下,高低\n文雅,高雅\n高档,高级\n高深,精深\n精湛,高深\n告诉,告知\n奉告,告诉\n讴歌,歌颂\n依据,根据\n改换,更换\n功夫,工夫\n功勋,功劳\n赡养,供养\n勾搭,勾结\n引诱,勾引\n估量,估计\n激励,鼓励\n怂恿,鼓动\n怪僻,古怪\n旧居,故居\n家乡,故乡\n执拗,固执\n顽固,固执\n察看,观察\n关切,关心\n荣耀,光荣\n辉煌,光辉\n规模,范围\n阴谋,诡计\n武断,果断\n过程,进程\n过甚,过火\n过剩,多余\n多余,过剩\n害怕,惧怕\n含混,含糊\n豪爽,豪放\n豪华,奢华\n奢华,豪华\n激情,豪情\n耗损,耗费\n号召,号令\n和气,和蔼\n合适,适合\n适合,合适\n黑洞洞,黑沉沉\n黑魆魆,黑沉沉\n黑黝黝,黑沉沉\n忽略,疏忽\n解脱,摆脱\n拜会,拜见\n拜谒,拜见\n伴同,伴随\n帮凶,爪牙\n表率,榜样\n黄昏,傍晚\n褒奖,嘉奖\n包含,包括\n包孕,包含\n维持,保持\n保留,保存\n维护,保护\n扞卫,保卫\n颐养,保养\n保重,珍重\n珍重,保重\n悲哀,悲痛\n悲恸,悲哀\n卑劣,卑鄙\n卑贱,卑下\n卑下,卑贱\n低贱,卑贱\n卑微,低微\n奔波,奔走\n原本,本来\n原先,本来\n本色,本质\n爱护,爱惜\n爱慕,倾慕\n喜爱,爱好\n暧昧,暗昧\n支配,安排\n支配,安排\n安适,安逸\n安闲,安适\n劝慰,安慰\n平稳,安稳\n安眠,安息\n安放,安置\n暗害,暗杀\n暗算,暗害\n暗藏,隐藏\n按照,依照\n肮脏,龌龊\n龌龊,肮脏\n恶浊,肮脏\n懊悔,后悔\n空费,白费\n枉费,白费\n陈列,摆设\n愚蠢,笨拙\n强迫,逼迫\n真切,逼真\n对比,比较\n竞赛,比赛\n蔑视,鄙弃\n弊病,弊端\n必定,一定\n必然,必定\n毕生,终生\n终生,毕生\n终身,毕生\n边境,边疆\n边陲,边境\n识别,辨认\n辩护,辩解\n禀赋,天赋\n博得,赢得\n肉搏,搏斗\n哺育,哺养\n猜忌,猜疑\n才干,才华\n采用,采取\n采纳,采用\n参军,从军\n从军,参军\n入伍,参军\n残暴,残酷\n残酷,残暴\n残忍,残暴\n绚烂,残暴\n仓皇,仓促\n轻率,草率\n区别,区分\n查访,察访\n刹那,霎时\n发生,产生\n铲除,革除\n长久,久长\n长年,终年\n终年,长年\n怅惘,惘然\n惘然,怅惘\n抄录,抄写\n超出,超越\n超越,超出\n越过,超出\n耻笑,嘲笑\n沉静,沉寂\n默然,沉默\n沉沦,沉溺\n沉湎,沉沦\n沉思,寻思\n深思,沉思\n繁重,沉重\n陈述,陈说\n述说,陈述\n陈旧,陈腐\n称颂,称赞\n胜利,成功\n成就,成绩\n成就,成绩\n造诣,成就\n诚恳,恳切\n诚心,诚恳\n承诺,许诺\n允诺,承诺\n耻辱,羞辱\n赤忱,赤心\n丹心,赤忱\n炽热,灼热\n灼热,炽热\n充沛,充分\n充溢,充满\n富余,充裕\n憧憬,向往\n抽泣,抽咽\n抽咽,抽泣\n抽噎,抽泣\n啜泣,抽泣\n筹备,准备\n仇恨,冤仇\n冤仇,仇恨\n仇恨,痛恨\n憎恨,仇恨\n郁闷,愁闷\n浓密,稠密\n丑恶,丑陋\n出发,动身\n启程,出发\n卓越,出色\n出生,诞生\n出生,出身\n呈现,出现\n处分,处罚\n处所,地方\n揣摩,琢磨\n琢磨,揣摩\n传布,传播\n创立,创建\n纯粹,纯洁\n纯正,纯粹\n疏忽,忽视\n无视,疏忽\n名堂,花样\n华美,华丽\n狡黠,滑头\n诙谐,滑稽\n化妆,化装\n欢喜,欢乐\n欢跃,欢腾\n欢畅,欢乐\n迟缓,缓慢\n涣散,散漫\n散漫,涣散\n喂养,豢养\n幻想,空想\n荒谬,荒诞\n荒诞,荒谬\n惊慌,惶恐\n谣言,谎言\n挥舞,挥动\n回避,躲避\n逃避,回避\n回生,复生\n回忆,回想\n家眷,家属\n奖励,嘉奖\n枷锁,桎梏\n假话,谎话\n设想,假想\n假装,伪装\n伪装,假装\n装作,假装\n牢靠,坚固\n艰难,艰巨\n艰难,艰苦\n刚毅,坚毅\n兼顾,统筹\n统筹,兼顾\n反省,检讨\n树立,建立\n讲解,讲授\n讲究,讲求\n下降,降落\n降低,下降\n下降,下落\n降生,出世\n交流,交换\n骄傲,自豪\n狡诈,狡猾\n校订,校正\n校正,校订\n校对,校订\n叫嚷,叫唤\n接管,接收\n揭露,揭穿\n揭穿,揭露\n揭幕,开幕\n收场,结束\n节约,节俭\n节制,控制\n解职,解聘\n界线,界限\n紧迫,紧急\n尽情,纵情\n禁止,制止\n阻止,禁止\n惊慌,惊惶\n惊悸,惊慌\n惊恐,惊骇\n阅历,经历\n优良,良好\n精巧,精致\n精湛,精深\n深湛,精深\n小心,谨慎\n仰慕,敬慕\n敬仰,敬佩\n救援,救济\n拘谨,拘束\n居心,用心\n举办,举行\n聚会,集会\n聚首,聚会\n拒绝,谢绝\n回绝,拒绝\n醒悟,觉悟\n决裂,破裂\n抉择,决定\n崛起,突起\n突起,崛起\n开创,首创\n创始,开创\n起头,开端\n开拓,开辟\n考虑,斟酌\n斟酌,考虑\n考查,考核\n苛刻,刻薄\n可贵,宝贵\n战胜,克服\n空泛,空洞\n威吓,恐吓\n呜咽,哭泣\n啼哭,哭泣\n苦楚,痛楚\n夸张,夸大\n炫耀,夸耀\n快活,快乐\n宽敞,宽阔\n傲慢,狂妄\n窥测,窥伺\n窥探,窥测\n蚀本,亏本\n魁梧,魁伟\n魁伟,魁梧\n扩展,扩大\n扩张,扩大\n阔绰,阔气\n肮脏,邋遢\n懒惰,懒散\n懒散,懒惰\n挥霍,浪费\n牢骚,怨言\n劳碌,忙碌\n忙碌,劳碌\n相似,类似\n冷淡,冷漠\n沉着,冷静\n应用,利用\n廉正,廉洁\n株连,连累\n粮食,食粮\n食粮,粮食\n缭绕,围绕\n萦绕,缭绕\n猜想,料想\n小气,吝啬\n凌晨,清晨\n早晨,凌晨\n灵便,灵活\n浏览,阅读\n阅读,浏览\n涉猎,浏览\n透露,流露\n谣言,流言\n留心,留意\n留神,留心\n履行,实行\n执行,履行\n掠取,掠夺\n阐述,论述\n裸露,袒露\n后进,落后\n野蛮,蛮横\n慌乱,忙乱\n莽撞,鲁莽\n错误,毛病\n美妙,美好\n标致,美丽\n圆满,美满\n路子,门路\n依恋,迷恋\n填补,弥补\n亲密,密切\n罢免,免职\n苗条,修长\n修长,苗条\n描写,描述\n描述,描写\n消亡,灭亡\n显明,明显\n声誉,名誉\n声望,名誉\n牟取,攫取\n里手,内行\n内情,内幕\n强人,能人\n伪造,捏造\n聆听,凝听\n腼腆,忸怩\n怒吼,咆哮\n讴歌,赞美\n排斥,排挤\n盘踞,占据\n遗弃,抛弃\n培育,培养\n信服,佩服\n批判,批评\n成见,偏见\n倾向,偏向\n廉价,便宜\n圈套,骗局\n聘用,聘请\n镇静,平静\n欺负,欺侮\n诈骗,欺骗\n漆黑,黝黑\n巧妙,奇妙\n歧视,轻视\n启迪,启发\n妄图,企图\n气宇,气度\n气概,气势\n谦和,谦恭\n姑息,迁就\n前途,前程\n出路,前途\n忠诚,虔诚\n躲藏,潜藏\n浅陋,浅薄\n强暴,强横\n强壮,强健\n强制,强迫\n强迫,强制\n切磋,商讨\n亲信,心腹\n心腹,亲信\n损害,侵害\n侵略,侵犯\n勤恳,勤奋\n勤勉,勤恳\n勤俭,节约\n节约,勤俭\n肃清,清除\n清理,清算\n贫寒,清贫\n清爽,清新\n轻佻,轻浮\n情愿,宁愿\n甘愿,情愿\n形式,情势\n情义,情谊\n情意,情义\n请求,要求\n祝贺,庆祝\n驱赶,驱逐\n曲解,歪曲\n歪曲,曲解\n取缔,取消\n权力,权利\n威望,声望\n势力,权势\n全体,全部\n整个,全部\n缺陷,缺点\n缺乏,缺少\n确定,肯定\n确实,确切\n确凿,确实\n让步,妥协\n妥协,让步\n退让,让步\n热爱,酷爱\n热点,热门\n热情,热忱\n热忱,热情\n热心,热情\n热闹,热烈\n仁慈,善良\n善良,仁慈\n忍耐,忍受\n忍受,忍耐\n谦让,忍让\n融合,融会\n交融,融合\n融化,熔化\n熔化,融化\n幸运,荣幸\n声誉,荣誉\n软禁,囚禁\n囚禁,软禁\n幽禁,软禁\n润色,润饰\n撒手,放手\n分布,散布\n散播,散布\n散步,漫步\n溜达,散步\n骚乱,动乱\n动乱,骚乱\n颜色,色彩\n擅长,善于\n长于,擅长\n磋商,商量\n商议,商讨\n商榷,商议\n损害,伤害\n销毁,烧毁\n设备,装备\n装备,设备\n深刻,深入\n申述,申说\n申诉,申述\n神往,向往\n稳重,慎重\n声调,音调\n腔调,声调\n声援,支援\n生僻,冷僻\n牲畜,畜生\n绝望,失望\n实施,实行\n时代,时期\n时兴,时髦\n时髦,时兴\n试验,实验\n观察,视察\n事迹,业绩\n业绩,事迹\n逝世,去世\n逝世,死\n收复,光复\n克复,收复\n收买,拉拢\n收拾,整理\n手腕,手段\n约束,束缚\n熟识,熟悉\n虚弱,衰弱\n清醒,苏醒\n随便,随意\n随意,随便\n损坏,破坏\n毁坏,损坏\n指示,唆使\n探询,探听\n逃亡,流亡\n亡命,逃亡\n特色,特点\n特征,特点\n倡导,提倡\n提醒,提示\n选拔,提拔\n体格,体魄\n体魄,体格\n谅解,体谅\n调处,调解\n调剂,调解\n调整,调剂\n挺拔,挺立\n同窗,同学\n赞成,同意\n偷盗,偷窃\n盗窃,偷盗\n脑子,头脑\n投奔,投靠\n投靠,投奔\n透辟,透彻\n屠戮,屠杀\n推卸,推辞\n推戴,拥戴\n拥戴,推戴\n推进,推动\n推敲,斟酌\n斟酌,推敲\n推让,谦让\n谦让,推让\n推重,推许\n推崇,推重\n颓丧,颓废\n疲塌,拖拉\n妥帖,妥当\n奚落,挖苦\n弯曲,曲折\n完美,完善\n完整,完全\n可惜,惋惜\n悠扬,婉转\n忘怀,忘记\n妄想,妄图\n妄图,妄想\n小心,当心\n效率,效力\n效力,效率\n协定,协议\n协调,调和\n泄露,泄漏\n透露,泄漏\n辛勤,辛苦\n心肠,心地\n心地,心肠\n心境,心情\n心坎,心田\n信用,信誉\n信念,信心\n行为,行动\n行径,行动\n性格,性情\n兴致,兴趣\n凶狠,凶恶\n凶猛,凶悍\n雄壮,雄浑\n雄浑,雄壮\n雄健,雄壮\n宣传,宣扬\n鼓吹,宣传\n宣告,宣布\n血汗,心血\n心血,血汗\n巡视,巡查\n讯问,询问\n追求,寻求\n压缩,紧缩\n压制,压抑\n钻研,研究\n演变,演化\n演化,演变\n蜕变,演变\n掩饰,掩盖\n目光,眼光\n养活,赡养\n赡养,养活\n要挟,威胁\n威胁,要挟\n遗嘱,遗言\n遗愿,遗言\n阴沉,阴森\n隐约,模糊\n引诱,引导\n诱导,引诱\n应该,应当\n理当,应当\n英灵,英魂\n英魂,英灵\n俊秀,英俊\n英勇,勇敢\n勇敢,英勇\n勇猛,英勇\n迎合,逢迎\n养分,营养\n硬朗,结实\n健壮,硬朗\n拥护,拥戴\n拥戴,拥护\n俗气,庸俗\n勇敢,大胆\n涌现,出现\n用处,用途\n用途,用处\n用场,用处\n优良,优秀\n优异,优良\n幽美,优美\n幽深,幽邃\n幽邃,幽深\n悠长,悠久\n友情,友谊\n愚蠢,愚昧\n预感,预见\n预见,预感\n预料,预感\n预兆,前兆\n前兆,预兆\n圆滑,油滑\n世故,圆滑\n原谅,谅解\n谅解,原谅\n援助,支援\n赞助,援助\n愿望,欲望\n欲望,愿望\n运用,应用\n应用,运用\n灾难,灾害\n赞扬,赞美\n赞颂,赞美\n赞赏,赞美\n赞成,赞同\n赞许,赞成\n赞助,资助\n遭遇,遭受\n增添,增加\n增进,促进\n促进,增进\n沾染,感染\n传染,沾染\n展示,展现\n占领,占据\n战斗,战役\n招待,接待\n款待,招待\n朝气,生气\n照应,照顾\n照射,照耀\n珍爱,珍重\n珍重,珍爱\n热诚,真诚\n真理,真谛\n真谛,真理\n侦查,侦察\n震撼,震动\n沉着,镇静\n症结,关键\n争辩,辩论\n争论,争辩\n争夺,争取\n整顿,整理\n正派,正直\n郑重,慎重\n支撑,支持\n指导,指点\n指点,指导\n指示,指导\n制订,制定\n忠诚,忠实\n忠厚,忠诚\n中止,中断\n重任,重担\n重担,重任\n注重,重视\n首要,重要\n周密,周到\n周密,严密\n严密,周密\n缜密,周密\n主意,主张\n祝贺,祝愿\n祝愿,祝贺\n注目,注视\n瞩目,注视\n有名,着名\n传达,转达\n装饰,装潢\n状况,状态\n拙劣,低劣\n卑劣,拙劣\n卓越,卓着\n卓着,卓越\n着重,侧重\n资格,资历\n资历,资格\n滋长,滋生\n细心,仔细\n自傲,自负\n骄傲,自满\n宗旨,主旨\n踪影,踪迹\n踪迹,踪影\n走卒,走狗\n阻止,阻挠\n阻挠,阻止\n阻拦,阻止\n罪恶,罪行\n罪责,罪恶\n尊敬,尊重\n遵守,遵照\n遵循,遵守\n作祟,作怪\n作风,风格\n威信,威望\n威望,威信\n威胁,威逼\n威逼,威胁\n微妙,奥妙\n违抗,违背\n为难,难堪\n尴尬,为难\n环抱,围绕\n伟人,巨人\n巨人,伟人\n害怕,畏惧\n慰问,慰劳\n慰劳,慰问\n温柔,温顺\n和顺,温柔\n稳重,庄重\n持重,稳重\n诬陷,诬告\n诬告,诬陷\n无私,忘我\n忘我,无私\n误会,误解\n物质,物资\n物资,物质\n习气,习惯\n修长,细长\n狭小,狭窄\n前辈,先辈\n相关,相干\n惦念,想念\n罪有应得,咎由自取\n家庭祸变,萧墙之祸\n狗急跳墙,垂死挣扎\n邯郸之梦,黄粱一梦\n虎口余生,死里逃生\n河东狮吼,畏妻如虎\n光说不做,言而不行\n风卷残云,狼吞虎咽\n红杏出墙,不安于室\n冠冕堂皇,堂而皇之\n忽冷忽热,乍寒乍热\n好景不常,昙花一现\n更深人静,夜阑人静\n耕市不惊,秋毫无犯\n自强不息,发奋图强\n自怨自艾,怨天尤人\n积厚流光,源远流长\n肌理丰盈,珠圆玉润\n见色忘友,重色轻友\n花花世界,十丈软红\n画龙点睛,一语道破\n化为乌有,子虚乌有\n横征暴敛,苛捐杂税\n桂林一枝,一枝独秀\n光说不练,言而不行\n毂击肩摩,车水马龙\n剪烛西窗,同窗夜语\n蜚短流长,闲言闲语\n胆破心惊,心胆俱寒\n低声密语,交头接耳\n登高一呼,振臂一呼\n耳提面命,谆谆教诲\n独出机杼,别出心裁\n夺得冠军,独占鳌头\n反璞归真,洗净铅华\n干卿底事,与你何关\n分毫不爽,一点不错\n额手称庆,以手加额\n奉行故事,遵守习惯\n访古寻幽,探寻胜迹\n回天乏术,无法复生\n毫无所惧,肆无忌惮\n贩夫走卒,引车卖浆\n倒履相迎,扫径以待\n刀锯不辞,死生无惧\n后生可畏,少年老成\n害人不浅,贻害不浅\n耕人之田,为人作嫁\n构词惑众,造谣生事\n空费时日,旷日持久\n美轮美奂,竹苞松茂\n蛮触之争,蜗角之争\n兴师动众,调兵遣将\n兴致勃勃,兴高采烈\n捋臂将拳,摩拳擦掌\n偶一为之,逢场作戏\n难望项背,瞠乎其后\n莲开并蒂,双宿双飞\n开门揖盗,引狼入室\n犁庭扫穴,直捣黄龙\n移樽就教,移船就础\n燎原之火,星火燎原\n历尽沧桑,饱经风霜\n柳眉倒竖,杏眼圆睁\n絮絮不休,絮絮叨叨\n一蹴而就,一挥而就\n沐猴而冠,衣冠禽兽\n魄散九霄,魂飞天外\n名利双收,求名求利\n钳形进攻,左右夹攻\n烂醉如泥,玉山颓倒\n一刀两断,薪尽火灭\n两姓之好,秦晋之好\n抛戈弃甲,抱头鼠窜\n油头滑脑,油嘴滑舌\n见笑于人,贻笑大方\n落拓不羁,不拘小节\n开宗明义,开门见山\n截趾适履,削足就履\n积不相容,势如水火\n唇红齿白,朱唇皓齿\n应机立断,当机立断\n截趾适屦,削足就履\n见识浅短,少见多怪\n化尽心血,费尽心机\n怀璧其罪,象齿焚身\n救火投薪,扬汤止沸\n空言无补,纸上谈兵\n娇羞答答,羞人答答\n江中钓月,海底捞针\n缘木求鱼,刻舟求剑\n疾足先得,捷足先登\n兰摧玉折,哲人其萎\n血流漂杵,血流成河\n骊歌高唱,阳关三迭\n尽收眼底,一览无余\n金樽旨酒,玉液琼浆\n金石之盟,山盟海誓\n汲深绠短,心余力绌\n流芳千古,万古长青\n牢骚满腹,怨气冲天\n见猎心喜,跃跃欲动\n义正词严,理直气壮\n口血未干,言犹在耳\n凌云壮志,志薄云霄\n冷暖自知,心里有数\n言行相诡,口是心非\n言出法随,执法如山\n开山祖师,鼻祖\n料事如神,臆则屡中\n立竿见影,吹糠见米\n斗粟囊金,米珠薪贵\n寸男尺女,一男半女\n除污去垢,荡瑕涤秽\n发上指冠,怒发冲冠\n诡辞欺世,妖言惑众\n脚踏两船,投机取巧\n兵多将广,军多将广\n剑拔弩张,一触即发\n姑息养奸,养虎遗患\n回头是岸,悬崖勒马\n炉火纯青,出神入化\n螳臂当车,以卵击石\n狗彘不若,猪狗不如\n祸不单行,灾患丛生\n罗敷有夫,有夫之妇\n芒刺在背,如坐针毡\n洁身自爱,守身如玉\n孑然一身,形单影只\n脑满肠肥,大腹便便\n斤斤计较,琐屑较量\n超群脱俗,逸群绝俗\n兵出无名,师出无名\n安分守纪,循规蹈矩\n量力而行,实事求是\n乐极生悲,兴尽悲来\n片纸只字,一鳞半爪\n鸟尽弓藏,兔死狗烹\n逆来顺受,唾面自干\n论功行赏,照功行赏\n鼠肚鸡肠,小肚鸡肠\n百思不解,大惑不解\n风烛残年,行将就木\n花言巧语,甜言蜜语\n轰轰烈烈,大张旗鼓\n八面受敌,四面楚歌\n八怪七喇,稀奇古怪\n八百壮士,四行孤军\n伏枥守株,乐道安贫\n分秒必争,争分夺秒\n合情合理,通情达理\n目迷五色,眼花撩乱\n步步为营,稳扎稳打\n破涕为笑,转悲为喜\n良莠淆杂,龙蛇混杂\n良药苦口,忠言逆耳\n乐天知命,安分守己\n牛鼎烹鸡,大材小用\n程门立雪,尊师重道\n不偏不倚,中庸之道\n常备不懈,枕戈待旦\n不敢则声,吞声忍气\n达官贵人,王侯将相\n巢木居野,穴居野处\n不迟不疾,从容不迫\n冰天雪地,雪窖冰天\n百无禁忌,童言无忌\n才气纵横,天才横溢\n波澜壮阔,汹涌澎湃\n鞭辟入里,入木三分\n吹箫吴市,沿门托钵\n垂馨千祀,流芳百世\n出阁之喜,于归之喜\n仇隙在心,中怀怨恨\n尺幅千里,掌上河山\n趁波逐浪,随波逐流\n耳食之言,以讹传讹\n弹指之间,转瞬之间\n不安于位,不守妇道\n春花秋月,月下花前\n蟾宫仙子,月里嫦娥\n电光石火,稍纵即逝\n赤血丹心,忠肝义胆\n分文不取,一钱不受\n豪侠好义,英雄仗义\n随心所欲,为所欲为\n鬼头鬼脑,鬼鬼祟祟\n翠绕珠围,珠光宝气\n锄强扶弱,振弱除暴\n爱才若命,求贤若渴\n嫁祸于人,以邻为壑\n济困扶危,雪中送炭\n丰功伟绩,劳苦功高\n半吐半吞,欲言又止\n獐头鼠目,蛇头鼠眼\n继往开来,承前启后\n风驰电掣,追风逐电\n合浦还珠,失而复得\n寡廉鲜耻,恬不知耻\n貌合神离,同床异梦\n不得善终,天诛地灭\n不成体统,有失体统\n比手划脚,指手画脚\n搬弄是非,挑拨离间\n软土深掘,得寸进尺\n文房四宝,纸墨笔砚\n依人篱下,为人作嫁\n天罗地网,网罗密布\n上山作贼,落草为寇\n死生之契,啮臂之交\n秋高气爽,天高气爽\n徒托空言,托之空言\n上行下效,言传身教\n忍辱含垢,含垢忍辱\n送往迎来,送旧迎新\n前途难料,未定之天\n难兄难弟,一丘之貉\n私刑逼供,屈打成招\n恰如私愿,正中下怀\n弃旧容新,吐故纳新\n全无所闻,一无所知\n无所作为,碌碌无为\n冒名行骗,招摇撞骗\n同病相怜,惺惺相惜\n弄柳拈花,拈花惹草\n犬牙相制,犬牙交错\n随随便便,马马虎虎\n目即成诵,过目成诵\n心慌意乱,方寸已乱\n望而却步,望而生畏\n升堂入室,造诣高深\n书不宣意,言不尽意\n一往无前,勇往直前\n心如刀割,痛澈心脾\n南征北战,出生入死\n清风明月,月白风清\n束身待罪,引颈就戮\n文过饰非,掩罪藏恶\n所嫁非人,遇人不淑\n同宗同气,同出一脉\n受人以柄,倒持泰阿\n忍尤含诟,含垢忍辱\n穷力尽心,仁至义尽\n室迩人遐,人去楼空\n片言立决,一语而解\n矢口不移,一口咬定\n消声匿迹,偃旗息鼓\n善自为谋,自作打算\n色授魂与,心醉情移\n神工鬼斧,天造地设\n双管齐下,左右开弓\n前因后果,来龙去脉\n伤弓之鸟,惊弓之鸟\n三令五申,再三告诫\n贴心贴腹,推心置腹\n泼油救火,火上加油\n攀辕卧辙,遮道挽留\n腾云跨风,腾云驾雾\n歪歪扭扭,歪七扭八\n投鼠忌器,有所顾忌\n息事宁人,相安无事\n瓦釜雷鸣,小人得志\n喜逐颜开,笑逐颜开\n匹夫之勇,血气之勇\n心灰意冷,意气消沉\n收视反听,专心致志\n倾尽国库,悉索敝赋\n心花怒放,兴高采烈\n世道沦亡,人心不古\n乌烟瘴气,一塌糊涂\n沐雨栉风,吸风饮露\n药石之言,针砭之语\n披麻带孝,拖麻拽布\n世易时移,事过境迁\n配药师,药剂师\n不成材,不长进\n女强人,铁娘子\n救火员,消防员\n飘飘然,由由然\n论说文,议论文\n检阅场,演武厅\n挥挥手,招招手\n阶下囚,囚徒\n老花子,叫花子\n女儿态,脂粉气\n不忘本,有良心\n藏书楼,图书馆\n撮合山,月老祠\n陈列所,展览场\n空口说,空谈\n稻粱谋,衣食计\n农家子,田舍郎\n釜中鱼,俎上肉\n生力军,新力量\n体育场,运动场\n黑沉沉,阴森森\n第一版,初版\n博览会,展览会\n钱树子,摇钱树\n慈善家,善士\n坦克车,装甲车\n湿淋淋,湿漉漉\n初级,低级\n泉台,墓穴\n刺目,刺眼\n公家,公众\n不乱,稳定\n改行,转业\n圣旨,诏书\n试探,摸索\n潜逃,叛逃\n浮泛,空洞\n简要,扼要\n恬澹,淡泊\n介入,参与\n池沼,沼泽\n哈腰,弯腰\n春秋,年龄\n首级,首领\n知足,满足\n村夫,乡人\n赏格,悬赏\n公开,公然\n当真,认真\n服帖,帖服\n倒置,颠倒\n底本,蓝本\n羁縻,笼络\n典礼,仪式\n刚烈,刚强\n赶上,遇上\n穿戴,穿着\n下落,着落\n盛装,艳服\n征聘,征请\n生果,水果\n甜美,甜蜜\n至宝,珍宝\n珍藏,收藏\n戎行,军队\n仙人,神仙\n疾走,狂奔\n封锁,封闭\n邪念,杂念\n什物,实物\n高见,卓识\n彻骨,透骨\n公愤,众怒\n奼女,少女\n吉利,吉祥\n假寓,定居\n埋怨,抱怨\n超额,逾额\n爽朗,开朗\n病院,医院\n别号,别名\n清淡,平淡\n编缉,主笔\n灰暗,昏暗\n正视,重视\n近世,晚世\n饕戾,凶婪\n假话,谎言\n蹇滞,困阻\n接风,拂尘\n功臣,元勋\n戎狄,蛮夷\n交恶,反目\n识相,知趣\n世人,众人\n吹打,奏乐\n守信,取信\n报歉,道歉\n唐突,冒昧\n波澜,波涛\n白叟,老人\n泊车,停车\n辱没,屈辱\n泊岸,靠岸\n枢路,要津\n如斯,如此\n施医,赠医\n报命,应命\n保藏,收藏\n揣想,悬想\n哔叽,羽缎\n初春,早春\n健忘,忘记\n吹奏,演奏\n束装,整装\n团聚,团圆\n抽烟,吸烟\n清癯,清瘦\n稀薄,淡薄\n不偶,数奇\n编纂,编辑\n片段,片断\n禀承,遵奉\n暴风,狂风\n书厨,书柜\n日夜,昼夜\n安泰,安乐\n迟早,早晚\n储藏,蕴藏\n凸起,突出\n赐赉,赐予\n床笫,枕席\n嘶哑,沙哑\n潜在,潜伏\n松散,疏松\n掏出,取出\n茕居,独居\n依从,允从\n别传,外传\n随俗,顺俗\n陷溺,沉迷\n沉浸,沉醉\n绅士,名流\n寒微,微贱\n长夜,永夜\n称疾,托病\n畅谈,泛论\n施主,檀越\n鼎盛,壮盛\n发烧,发热\n侵蚀,腐蚀\n长日,永日\n厄运,恶运\n青蛙,田鸡\n包抄,包围\n笔迹,字迹\n牲畜,牲口\n体裁,文体\n饱食,餍饫\n恶梦,噩梦\n恰谈,洽商\n仕进,做官\n等闲,轻易\n扼杀,抹杀\n发还,发回\n熟年,丰年\n半途,中途\n筹措,张罗\n驰誉,驰名\n庇荫,荫庇\n破灭,幻灭\n叹恨,怨嗟\n投契,投机\n长进,上进\n替代,替换\n田单,田契\n丽人,美人\n腼腆,忸怩\n年迈,年老\n乱世,浊世\n成全,玉成\n不决,未定\n特意,特地\n完稿,脱稿\n响马,盗贼\n起点,出发点\n同僚,同寅\n凝滞,呆滞\n小童,幼童\n鄙陋,猥琐\n长官,主座\n利便,方便\n收容,收留\n守法,遵法\n边缘,边沿\n便服,燕服\n潮湿,湿润\n按摩,推拿\n案牍,文案\n暗影,阴影\n后辈,子弟\n梗阻,阻塞\n勉强,委曲\n明示,昭示\n募集,召募\n特效,殊效\n暗射,影射\n土风,乡俗\n难听,刺耳\n瞻望,展望\n芬芳,芳香\n苟安,偷安\n膏腴,腴膏\n合力,协力\n和婉,柔顺\n合理,公道\n厚酬,重酬\n妄言,妄语\n丰满,饱满\n恭顺,恭敬\n谜底,答案\n遨游,翱翔\n弄璋,梦熊\n推寻,推求\n复习,温习\n跳舞,舞蹈\n田猎,野猎\n冰凉,冰冷\n不凡,非凡\n娘家,外家\n外埠,外地\n旁门,歪路\n偏袒,左袒\n把柄,痛处\n暗里,私下\n按期,定期\n保留,保存\n通风,透风\n声名,申明\n接踵,相继\n皆宜,咸宜\n笼盖,覆盖\n捐募,捐献\n幽谷,深谷\n弘远,远大\n擅权,专权\n仰给,仰食\n荆布,糟糠\n渴想,渴望\n腊月,尾月\n略坐,小坐\n梨园,戏班\n腊肠,香肠\n枢纽,关键\n抓住,捉住\n厚味,美味\n耸然,屹然\n晖映,照耀\n酒保,侍者\n通信,通讯\n娇纵,骄纵\n或曰,或谓\n纪行,游记\n回禄,祝融\n挽劝,劝说\n叫化,求乞\n凶事,丧事\n疏浚,疏通\n烈焰,炎火\n搅浑,混淆\n晋升,提升\n铺张,浪费\n间断,中断\n投亲,探亲\n架空,排挤\n滚动,转动\n收尾,扫尾\n流动,活动\n饥馑,饥荒\n今日,本日\n良久,很久\n抬举,提拔\n出产,生产\n内衣,亵服\n南风,熏风\n招安,招抚\n正人,君子\n塌台,垮台\n冷笑,嘲笑\n凉气,冷气\n留存,保存\n髫龄,龆年\n纵贯,直通\n珍异,珍奇\n排遣,排解\n白皙,白净\n抒情,抒怀\n成本,本钱\n送达,投递\n差劲,低劣\n年青,年轻\n乞降,求和\n外援,外助\n拜访,造访\n凹地,洼地\n挨饿,受饿\n麻木,麻痹\n暮景,晚景\n删省,删节\n浓艳,冶艳\n启齿,开口\n顺路,顺道\n沉闷,烦闷\n按捺,抑制\n审讯,审判\n联盟,同盟\n搪突,冒犯\n必需,必须\n保守,守旧\n无邪,天真\n笔直,笔挺\n晨风,晓风\n废话,空话\n妊妇,孕妇\n出事,失事\n法度,法式\n当即,立即\n调拨,挑唆\n调子,音调\n阻梗,阻当\n服毒,仰药\n勾勒,勾画\n翻腾,翻滚\n冬风,北风\n毒杀,鸩杀\n独身,单身\n顿挫,抑扬\n赏识,欣赏\n浊流,污流\n戍卫,卫护\n傍门,歪路\n收成,收获\n积压,积存\n谨严,谨慎\n进款,入款\n一一,逐一\n利落,爽利\n次日,第二天\n动静,消息\n缔姻,联婚\n深挚,深厚\n粗拙,粗糙\n打通,买通\n地蜡,白蜡\n平等,同等\n篱笆,竹篱\n讲演,报告\n气焰,气势\n恰是,正是\n揄扬,吹嘘\n蕴蓄,积聚\n曲解,误解\n郁悒,愁闷\n精髓,精华\n寂聊,枯寂\n寄身,托身\n矜持,自持\n路过,途经\n遴派,选派\n流放,放逐\n兵工,军工\n军工,兵工\n军功,战功\n立名,扬名\n激辩,舌战\n因为,由于\n拒守,把守\n缴获,缉获\n浸礼,洗礼\n溘然,忽然\n乐岁,丰年\n郊游,远足\n困倦,困乏\n良俦,良伴\n老拙,老朽\n领港,引港\n货泉,货币\n轿子,肩舆\n秘要,机密\n起码,最少\n葬送,断送\n嫖妓,冶游\n老是,总是\n修好,修睦\n惧罪,畏罪\n悦耳,动听\n拷打,鞭挞\n克扣,剥削\n尽忠,效忠\n率性,任性\n披发,散发\n集团,团体\n脸红,酡颜\n连络,连系\n经由,经过\n计帐,算帐\n极目,纵目\n几回,几次\n进级,升级\n救兵,援军\n再版,重版\n精晓,精通\n门徒,徒弟\n马脚,破绽\n剿袭,袭取\n黑货,私货\n预赛,初赛\n远离,阔别\n气息,气味\n酒徒,醉翁\n壅塞,阻塞\n剧场,剧院\n尖利,尖锐\n中听,入耳\n机能,性能\n家传,祖传\n呼啸,咆哮\n隐忍,哑忍\n辑穆,和睦\n划子,小船\n火药,炸药\n最终,终究\n抽剥,剥削\n机杼,心裁\n难题,困难\n奖惩,赏罚\n辑睦,和睦\n紧紧,牢牢\n做作,造作\n镇压,弹压\n欢忻,忻忭\n空论,空话\n荏弱,柔弱\n巨匠,大师\n器具,用具\n钱庄,银号\n谨防,严防\n捷报,喜报\n孑遗,余存\n设法,想法\n计策,计谋\n检修,检验\n桀黠,狡猾\n浪荡,游荡\n蒲月,五月\n假称,托辞\n湔雪,洗雪\n旧病,宿病\n假货,赝品\n话旧,叙旧\n浑朴,浑厚\n嫁祸,移祸\n目眩,眼花\n克意,锐意\n话筒,麦克风\n季子,幼子\n排击,排挤\n肋膜,胸膜\n蜡烛,烛炬\n盘考,盘问\n冷视,漠视\n每日,逐日\n类别,种别\n亲自,亲身\n亢旱,久旱\n良多,很多\n浓烈,浓郁\n媒婆,牙婆\n礼拜,星期\n溺职,渎职\n无限,无穷\n食物,食品\n弄法,玩法\n旷废,荒废\n匡助,帮助\n夸姣,美好\n落款,题名\n盘剥,剥削\n抛却,放弃\n密意,深情\n迫临,逼近\n批颊,掌掴\n裂痕,裂缝\n努目,瞪眼\n念头,动机\n枪弹,子弹\n凶兆,恶兆\n麻布,夏布\n逆命,抗命\n雪耻,雪恨\n平话,说书\n泥像,塑像\n攫取,掠夺\n面前,眼前\n昆裔,后代\n款接,延接\n康年,丰年\n炼坊,冶坊\n临近,邻近\n领巾,围巾\n休止,停止\n清点,盘点\n卵形,椭圆形\n綦严,严紧\n癖好,嗜好\n骗财,诈财\n预付,预支\n飘动,飞舞\n酒杯,羽觞\n披露,表露\n旷地,空地\n老景,晚景\n羞怯,羞涩\n酷刑,严刑\n冷巷,小巷\n逻骑,侦骑\n另娶,再娶\n涓滴,丝毫\n慨诺,允承\n排闼,推门\n祸首,罪魁\n优胜,优越\n兼并,吞并\n元凶,首恶\n介弟,令弟\n犒赏,赏赐\n盲眼,瞎眼\n旧事,往事\n进谒,投刺\n抉剔,挑剔\n结子,结实\n借鉴,鉴戒\n卵翼,庇护\n贞洁,纯洁\n礼聘,聘请\n立异,创新\n胪陈,详述\n滥调,谰言\n纳贿,受贿\n目生,陌生\n肉痛,心痛\n旭日,朝阳\n辚轹,践踏\n刷洗,洗擦\n前贤,先哲\n书画,字画\n朴重,正直\n伶丁,孤苦\n涕零,涕泣\n锦绣,美丽\n肉瘤,赘瘤\n可托,可信\n目炫,眼花\n老儒,夙儒\n津贴,补助\n津润,滋润\n了债,清偿\n严惩,重办\n力量,气力\n谦谢,逊谢\n斗室,小房\n前驱,先驱\n典质,抵押\n少憩,暂休\n吊挂,悬挂\n恶相,凶相\n道别,作别\n碉堡,堡垒\n定亲,订婚\n蕃庑,茂盛\n犯错,出错\n房钱,租金\n废料,废物\n的当,确当\n辞意,文意\n仿单,说明书\n倾泻,倾注\n顶用,中用\n仍是,还是\n儿歌,童谣\n法宝,宝贝\n蕃芜,茂盛\n下昼,下午\n负疚,抱歉\n恶棍,无赖\n法场,刑场\n泛博,广大\n菲敬,菲仪\n渡过,度过\n蠹虫,蛀虫\n端的,真个\n刚好,恰好\n地志,舆志\n鼎力,大力\n毒酒,鸩酒\n锻造,铸造\n细目,详目\n据守,扼守\n栖身,居住\n喝酒,饮酒\n贵爵,王侯\n佛门,空门\n服饰,衣饰\n鼎峙,鼎立\n受惠,沾恩\n毒手,辣手\n房契,宅券\n丰硕,丰富\n风闻,传闻\n膏壤,沃土\n放火,纵火\n洞居,穴居\n飞跃,奔腾\n闲逸,散逸\n刀兵,兵器\n丁壮,壮年\n山洞,岩穴\n测量,丈量\n乌黑,黝黑\n惩恶,劝善\n私交,私情\n答谢,报答\n苍莽,苍茫\n长生,永生\n饶富,富足\n冲刷,冲洗\n参谋,顾问\n乘机,伺机\n持禄,尸位素餐\n成仙,羽化\n丛集,猬集\n渗入,渗透\n独一,唯一\n地舆,地理\n斗丽,争艳\n下世,来世\n出缺,有缺\n纯挚,纯真\n飞驰,飞奔\n丹青,图画\n到手,得手\n打动,感动\n发窘,发慌\n烦厌,腻烦\n出险,脱险\n催讨,追讨\n切当,确切\n呈文,报告\n晨安,早安\n但愿,希望\n顶嘴,顶撞\n人道,人性\n带同,携同\n订亲,订婚\n山人,隐士\n多灾,多难\n哗笑,喧笑\n寄意,寓意\n拙笔,秃笔\n豪气,英气\n合用,适用\n规语,箴言\n豪侈,奢侈\n住手,停止\n舌人,译员\n闪开,让开\n红霞,彤霞\n虎睨,鹰视\n花匠,园丁\n回身,转身\n嫁奁,嫁妆\n混蛋,忘八\n忤逆,违逆\n交壤,交界\n咭片,名片\n期近,在即\n耐劳,刻苦\n龋齿,蛀牙\n姑苏,苏州\n糊口,生活\n莫非,难道\n扭捏,摇摆\n翦灭,扫除\n技击,武术\n街市,市井\n呵护,庇护\n好笑,可笑\n前提,条件\n眸子,眼珠\n辉映,照映\n甲由,蟑螂\n烧饭,煮饭\n豪举,壮举\n呼叫,呼唤\n花腔,花样\n怀怨,抱恨\n华山,西岳\n命脉,命根子\n会萃,聚集\n爬泳,自由式泳法\n缺漏,罅漏\n房主,房东\n横目,怒目\n暮秋,深秋\n耳目,线人\n发源,起源\n专制,独裁\n自夸,自诩\n风貌,风采\n肥饶,肥沃\n茂发,向荣\n贮备,储备\n轻风,微风\n黑点,斑点\n酣畅,畅快\n摄生,养生\n餬口,谋生\n高寿,遐龄\n轨制,制度\n扞卫,保卫\n冗赋,杂税\n甘旨,美味\n犯禁,违禁\n专横,跋扈\n豆芽,芽菜\n讹传,谣传\n功课,作业\n割断,切断\n跟着,随着\n够数,足数\n鹄候,伫候\n逛逛,走走\n泛起,出现\n斗胆,大胆\n卓见,卓识\n恶疾,顽疾\n绳尺,准绳\n互市,通商\n拂拭,扫除\n给以,赐与\n赅博,渊博\n更甚,愈甚\n顾恤,怜惜\n光鲜,鲜明\n涵养,修养\n谋事,找事\n惹人,引人\n火炬,火把\n商定,约定\n施展,发挥\n共识,共鸣\n寄迹,托足\n讳饰,遮掩\n贵姓,尊姓\n润饰,修饰\n毫不,绝不\n狐臭,腋臭\n巧合,偶合\n轻柔,柔柔\n贵体,玉体\n孤傲,孤独\n规画,筹划\n鹄立,伫立\n呼叱,叱责\n何为,作甚\n焚杀,屠烧\n转晴,放晴\n干犯,冒犯\n扶病,抱病\n因而,因此\n最让,最使\n最使,最让\n之中,当中\n长此以往,久而久之\n久而久之,长此以往\n长期,长时间\n导致,致使\n致使,导致\n一,1\n二,2\n三,3\n四,4\n五,5\n六,6\n七,7\n八,8\n九,9\n十,10\n十一,11\n十二,12\n及早,尽早\n至少,最少\n不必,没必要\n引起,引发\n势必,必将\n必将,势必\n每月,每个月\n每个月,每月\n很可能,极可能\n极可能,很可能\n时常,经常\n爱美,爱漂亮\n短期,短时间\n或者,或\n伴有,伴随\n往往,常常\n不少,很多\n无法,没法\n洗手间,卫生间\n卫生间,洗手间\n尤其,特别\n加之,加上\n一位,一名\n一名,一位\n由此可见,因而可知\n此外,另外\n俗话说,俗语说\n此间,其间\n安家立业,成家立业\n背水一战,破釜沉舟\n标新立异,独树一帜\n病入膏肓,不可救药\n惨无人道,惨绝人寰\n乘风破浪,披荆斩棘\n川流不息,络绎不绝\n刀山火海,龙潭虎穴\n恩将仇报,以怨报德\n耳濡目染,耳闻目睹\n翻天覆地,天翻地覆\n翻云覆雨,朝三暮四\n反唇相讥,反唇相稽\n俯首帖耳,俯首听命\n歌功颂德,树碑立传\n攻无不克,战无不胜\n怀才不遇,明珠暗投\n患难与共,同甘共苦\n洁身自好,明哲保身\n竭尽全力,全力以赴\n尽人皆知,众所周知\n惊天动地,震天动地\n理所当然,天经地义\n寥寥可数,屈指可数\n落花流水,屁滚尿流\n蒙头转向,晕头转向\n面面俱到,四平八稳\n面如土色,面无人色\n名不虚传,名副其实\n莫名其妙,稀里糊涂\n难解难分,难分难舍\n记忆犹心,历历在目\n排难解纷,排忧解难\n品学兼优,得才兼备\n平白无故,无缘无故\n平步青云,一步登天\n迫在眉睫,燃眉之急\n铺天盖地,遮天蔽日\n弃暗投明,改邪归正\n千方百计,想方设法\n情投意合,心心相印\n惹事生非,无事生非\n舍己救人,舍己为人\n舍生取义,杀身成仁\n视若无睹,视而不见\n首屈一指,数一数二\n手舞足蹈,载歌载舞\n所向披靡,所向无敌\n天衣无缝,完美无缺\n痛改前非,改过自新\n头头是道,井井有条\n脱胎换骨,洗心革面\n望穿秋水,望眼欲穿\n违法乱纪,作奸犯科\n未雨绸缪,有备无患\n纹丝不动,文风不动\n无所不至,无微不至\n五颜六色,五彩缤纷\n五光十色,五花八门\n五雷轰顶,青天霹雳\n五体投地,心悦诚服\n瑕不掩瑜,白璧微瑕\n喜形于色,笑逐言开\n相形见拙,黯然失色\n想入非非,异想天开\n心领神会,心照不宣\n胸有成竹,成竹在胸\n循序渐进,按部就班\n哑口无言,张口结舌\n摇头摆尾,摇头晃脑\n叶落归根,饮水思源\n一举两得,一箭双雕\n一扫而光,一网打尽\n左顾右盼,瞻前顾后\n自力更生,自食其力\n转危为安,化险为夷\n自食其果,自作自受\n装模作样,装腔作势\n十恶不赦,罪大恶极\n座无虚席,济济一堂\n云雾迷蒙,云雾弥漫\n颇负盛名,享有盛名\n满腔怒火,义愤填膺\n绞尽脑汁,挖空心思\n满目琳琅,琳琅满目\n作威作福,横行霸道\n成家立业,安家立业\n言听计从,百依百顺\n独树一帜,标新立异\n势不两立,不共戴天\n毛骨悚然,不寒而栗\n不约而同,不谋而合\n苦心经营,惨淡经营\n惨绝人寰,惨无人道\n呕心沥血,处心积虑\n惊心动魄,触目惊心\n智勇双全,大智大勇\n义不容辞,当仁不让\n龙潭虎穴,刀山火海\n一视同仁,等量齐观\n卷土重来,东山再起\n以怨报德,恩将仇报\n耳闻目睹,耳濡目染\n勾心斗角,尔虞我诈\n反唇相稽,反唇相讥\n一帆风顺,风平浪静\n俯首听命,俯首帖耳\n树碑立传,歌功颂德\n功亏一篑,功败垂成\n水到渠成,瓜熟蒂落\n旁敲侧击,拐弯抹角\n胡言乱语,胡说八道\n醉生梦死,花天酒地\n明珠暗投,怀才不遇\n奄奄一息,岌岌可危\n锲而不舍,坚持不懈\n众所周知,尽人皆知\n笑里藏刀,口蜜腹剑\n语重心长,苦口婆心\n索然无味,枯燥无味\n喜闻乐见,脍炙人口\n鱼目混珠,滥竽充数\n屈指可数,寥寥可数\n污七八糟,乱七八糟\n晕头转向,蒙头转向\n四平八稳,面面俱到\n名副其实,名不虚传\n稀里糊涂,莫名其妙\n目不转睛,目不斜视\n难分难舍,难解难分\n历历在目,记忆犹心\n咬牙切齿,怒目切齿\n排忧解难,排难解纷\n乘风破浪,披荆斩棘\n得才兼备,品学兼优\n无缘无故,平白无故\n一步登天,平步青云\n燃眉之急,迫在眉睫\n遮天蔽日,铺天盖地\n想方设法,千方百计\n千人一面,千篇一律\n山穷水尽,穷途末路\n无事生非,惹事生非\n舍己为人,舍己救人\n生意盎然,生机勃勃\n摧枯拉朽,势如破竹\n数一数二,首屈一指\n载歌载舞,手舞足蹈\n因势利导,顺手推舟\n危言耸听,耸人听闻\n所向无敌,所向披靡\n心惊胆战,提心吊胆\n夜以继日,通宵达旦\n色厉内荏,外强中干\n望眼欲穿,望穿秋水\n微乎其微,微不足道\n作奸犯科,违法乱纪\n有备无患,未雨绸缪\n文风不动,纹丝不动\n无微不至,无所不至\n白璧微瑕,瑕不掩瑜\n笑逐言开,喜形于色\n言外之意,弦外之音\n异想天开,想入非非\n心照不宣,心领神会\n养精蓄锐,休养生息\n成竹在胸,胸有成竹\n按部就班,循序渐进\n沾沾自喜,洋洋得意\n摇头晃脑,摇头摆尾\n饮水思源,叶落归根\n一箭双雕,一举两得\n一网打尽,一扫而光\n一无所取,一无是处\n赞叹不已,赞不绝口\n瞻前顾后,左顾右盼\n济济一堂,座无虚席\n足智多谋,神机妙算\n万籁俱寂,鸦雀无声\n奇峰林立,奇峰罗列\n享有盛名,颇负盛名\n义愤填膺,满腔怒火\n挖空心思,绞尽脑汁\n琳琅满目,满目琳琅\n坚如磐石,固若金汤\n横行无忌,横行霸道\n妹妹,mm\n早餐,早饭\n一日三餐,每日三餐\n就可以,就能够\n以免,以避免\n以避免,以免\n一般人,常人\n早饭,早餐\n晚饭,晚餐\n晚餐,晚饭\n午饭,午餐\n午餐,午饭\n公斤,千克\n公里,千米\n主妇,妇女\n哪种,哪一种\n哪个,哪一个\n哪一种,哪种\n千克,公斤\n哪一个,哪个\n下列,以下\n也可以,也能够\n之处,的地方\n演艺界,演艺圈\n娱乐界,娱乐圈\n演艺圈,演艺界\n娱乐圈,娱乐界\n尽管,虽然\n更易,更容易\n患病,得病\n除了,除\n自身,本身\n也成,同样成\n高发,多发\n过程中,过程当中\n不畅,不顺畅\n不顺畅,不畅\n诱发,引发\n甚至,乃至\n发病,病发\n之外,以外\n以外,之外\n不仅仅,不单单\n不仅,不但\n可使,可以使\n可让,可以让\n可以使,可使\n可以让,可让\n原有的,原本的\n数日,很多天\n过长,太长\n过久,太久\n过高,太高\n过矮,太矮\n过短,太短\n过小,太小\n过轻,太轻\n过重,太重\n过低,太低\n何时,什么时候\n摄入,摄取\n减退,消退\n消退,减退\n不易,不容易\n得多,很多\n常用,经常使用\n一般为,通常是\n一般是,通常为\n为了避免,为了不\n可能是,多是\n总体,整体\n并不,其实不\n当然,固然\n共赢,双赢\n双赢,共赢\n共享,同享\n同享,共享\n开展,展开\n每年,每一年\n秉承,秉持\n秉持,秉承\n或许,也许\n也许,或许\n每一,每\n晓得,知道\n冬天,冬季\n秋天,秋季\n春天,春季\n冬日,冬季\n使人,令人\n令人,使人\n尚无,还没有\n尚未,还没有\n显然,明显\n探寻,探访\n优质,优良\n烧灼,炙烤\n摆弄,玩弄\n蔚蓝,湛蓝\n水天相接,水天一线\n一丝不动,纹丝不动\n平添,平增\n轮流,轮番\n撕开,扯开\n偏偏,恰恰\n哀伤,忧伤\n忧伤,哀伤\n巴不得,恨不得\n恨不得,巴不得\n一成不变,原封不动\n巡逻,巡查\n惊艳,冷艳\n坦然,安然\n迥异,悬殊\n怪异,奇异\n受到,遭到\n鱼死网破,你死我活\n不卑不亢,不骄不躁\n前所未有,史无前例\n奇幻,奇异\n清脆,响亮\n僵直,僵硬\n龙飞凤舞,挥洒自如\n结结巴巴,吞吞吐吐\n偏远,偏僻\n巴望,盼望\n骤然,突然\n恍如,仿佛\n仿佛,恍如\n陷阱,圈套\n消退,消弱\n即使,即便\n形成,构成\n挥汗如雨,汗流浃背\n幸好,幸亏\n趔趔趄趄,跌跌撞撞\n丰姿,风姿\n积少成多,聚沙成塔\n招集,召集\n取长补短,扬长避短\n鲜为人知,不为人知\n觅食,寻食\n红艳艳,红彤彤\n沾花惹草,招蜂引蝶\n用意,意图\n辍学,停学\n壮士,勇士\n枯败,枯萎\n受益匪浅,收获颇丰\n超常,超凡\n绽开,绽放\n停泊,停靠\n人才济济,人才辈出\n赶紧,赶快\n刨根问底,寻根究底\n忧虑,忧愁\n残花败柳,枯枝败叶\n终日,整天\n秉性,天性\n无边无际,一望无际\n宛若,仿佛\n语调,腔调\n一拥而上,蜂拥而上\n废寝忘食,夜以继日\n调节,调理\n伸展,舒展\n避让,躲避\n不容置疑,无可置疑\n皎洁,洁白\n拥挤,拥堵\n搭理,理睬\n纤弱,柔弱\n吃力,费劲\n鲜亮,鲜明\n清苦,清贫\n困境,窘境\n依稀,模糊\n坚信,深信\n宏伟,雄伟\n葱绿,翠绿\n密密麻麻,密密层层\n危峰兀立,怪石嶙峋\n跨越,逾越\n逆悖,悖逆\n明晃晃,亮堂堂\n四处,四周\n千钧一发,危在旦夕\n娇嫩,柔嫩\n营救,救援\n懊丧,沮丧\n催促,敦促\n凭借,凭仗\n感召,感化\n境界,境地\n高耸,挺拔\n神奇,奇异\n逐渐,逐步\n照常,照旧\n不禁,不由\n空旷,空阔\n赞叹,赞叹\n飘拂,飘荡\n形形色色,五花八门\n如实,照实\n愧疚,惭愧\n周而复始,循环往复\n发愁,忧愁\n深造,进修\n踊跃,积极\n象征,意味\n行踪,行迹\n融洽,和谐\n寂寞,孤单\n纳闷,疑惑\n欢呼,喝彩\n敬畏,畏敬\n意味深长,语重心长\n慢悠悠,慢吞吞\n疑难,疑问\n凌空,腾空\n祥和,平和\n无比,非常\n洋溢,弥漫\n金戈铁马,雄姿英才\n噩耗,凶讯\n搜寻,搜索\n晦暗,昏暗\n浸没,淹没\n爱怜,怜爱\n居然,竟然\n重叠,堆叠\n擎天撼地,震天撼地\n永远,永久\n终于,终究\n不毛之地,穷山恶水\n据说,听说\n堪称,可谓\n使劲,用力\n铁青,乌青\n浸透,渗透\n隐秘,隐蔽\n摇曳,摇摆\n漠然,淡然\n惊喜,欣喜\n浩瀚,浩大\n别致,新颖\n奇花异草,奇树异草\n报怨,埋怨\n百年不遇,千载难逢\n举步维艰,寸步难行\n传扬,宣扬\n遍布,遍及\n口多食寡,僧多粥少\n银白,雪白\n萌生,萌发\n萌发,萌生\n坐以待毙,束手待毙\n作恶多端,无恶不作\n罪该万死,罪不容诛\n祖先,先人\n奏效,见效\n自言自语,喃喃自语\n自相鱼肉,同室操戈\n自相残杀,同室操戈\n自如,自若\n自欺欺人,掩耳盗铃\n捉弄,玩弄\n追忆,追思\n追赶,追逐\n追查,清查\n装聋作哑,装疯卖傻\n装疯卖傻,装聋作哑\n装扮,打扮\n转瞬,转眼\n专断,独断\n祝福,祝愿\n贮存,储存\n贮藏,储藏\n逐个,逐一\n逐步,逐渐\n终局,结局\n中选,当选\n中举,及第\n秩序序,次序\n治疗,医治\n至多,最多\n趾高气扬,得意忘形\n知人善任,任人唯贤\n正气凛然,大义凛然\n正告,警告\n拯救,解救\n振振有词,理直气壮\n阵线,战线\n照管,看管\n招认,供认\n张牙舞爪,耀武扬威\n战线,阵线\n战火,烽火\n扎眼,刺眼\n憎恶,憎恨\n怎么,怎样\n责无旁贷,义不容辞\n责难,非难\n责骂,叱骂\n咱们,我们\n蕴含,包含\n云消雾散,烟消云散\n怨尤,怨恨\n援用,援引\n援引,援用\n原址,旧址\n原因,缘由\n原野,田野\n冤屈,委屈\n冤家路窄,狭路相逢\n预想,料想\n郁郁寡欢,闷闷不乐\n郁郁不乐,闷闷不乐\n娱乐,文娱\n有意,成心\n有头有尾,自始自终\n有利,有益\n有机可乘,有隙可乘\n有板有眼,有声有色\n游览,旅游\n幽暗,阴暗\n永恒,永久\n拥有,具有\n拥塞,堵塞\n映射,映照\n营造,营建\n营建,修建\n英姿飒爽,意气风发\n英武,威武\n应接不暇,目不暇接\n应答,应对\n隐射,影射\n隐匿,藏匿\n引用,援用\n引路,带路\n音讯,消息\n因循,沿袭\n毅然,决然\n益处,好处\n抑止,遏止\n异样,异常\n以至,以致\n以身试法,知法犯法\n以管窥天,坐井观天\n遗迹,遗址\n移花接木,偷梁换柱\n依然,仍然\n依靠,依托\n依旧,照旧\n依次,顺次\n医治,治疗\n衣着,穿着\n一枕黄粱,南柯一梦\n一泻千里,一落千丈\n一望无际,一马平川\n一穷二白,一贫如洗\n一贫如洗,一无所有\n一模一样,如出一辙\n一命呜呼,与世长辞\n一马平川,一望无际\n一马当先,身先士卒\n一律,一概\n一路顺风,一帆风顺\n一蹶不振,萎靡不振\n一举成名,一鸣惊人\n一贯,一向\n一唱一和,遥相呼应\n一臂之力,落井下石\n耀武扬威,张牙舞爪\n遥想,遐想\n摇摇欲坠,岌岌可危\n邀请,约请\n仰头,抬头\n阳奉阴违,两面三刀\n扬长而去,拂袖而去\n扬长避短,取长补短\n央求,恳求\n厌弃,嫌弃\n厌恶,讨厌\n炎热,酷热\n言过其实,夸大其词\n言不由衷,口是心非\n严寒,酷寒\n烟消云散,云消雾散\n驯顺,驯良\n寻找,寻觅\n勋绩,功勋\n血海深仇,深仇大恨\n炫目,夺目\n旋绕,缭绕\n煊赫,显赫\n喧嚷,吵嚷\n絮叨,罗唆\n许久,好久\n虚夸,浮夸\n秀丽,娟秀\n羞愧,惭愧\n修葺,修缮\n休战,停战\n休养,疗养\n休戚与共,同甘共苦\n雄姿,英姿\n胸襟,胸怀\n凶残,残暴\n形势,情势\n行将,即将\n星罗棋布,鳞次栉比\n星河,银河\n星辰,星斗\n兴修,兴建\n兴盛,昌盛\n兴隆,兴盛\n兴建,兴修\n兴办,创办\n信口雌黄,胡说八道\n欣然,怅然\n心有余而力不足,爱莫能助\n心有灵犀一点通,心心相印\n心意,情意\n心服口服,心悦诚服\n卸任,离任\n效用,功效\n效劳,效力\n小视,藐视\n小看,小视\n嚣张,猖狂\n消溶,溶化\n详尽,详实\n相提并论,等量齐观\n相符,符合\n陷入,堕入\n显露,显现\n显而易见,不言而喻\n嫌弃,厌弃\n娴熟,纯熟\n闲聊,闲谈\n鲜艳,艳丽\n袭击,攻击\n习俗,风俗\n熙熙攘攘,冷冷清清\n希求,企求\n物归原主,完璧归赵\n五湖四海,大江南北\n无须,不必\n无心,无意\n无所适从,莫衷一是\n无所不包,包罗万象\n无牵无挂,无忧无虑\n无论,不管\n无拘无束,自由自在\n无济于事,杯水车薪\n乌七八糟,乱七八糟\n斡旋,调停\n问寒问暖,问长问短\n问长问短,问寒问暖\n稳当,稳妥\n温习,复习\n未卜先知,料事如神\n委托,拜托\n委靡,颓废\n惟妙惟肖,活灵活现\n唯利是图,利欲熏心\n违反,违背\n违,背\n围剿,围歼\n为期不远,指日可待\n为虎作伥,助纣为虐\n望梅止渴,画饼充饥\n望风而逃,闻风丧胆\n忘乎所以,得意忘形\n往日,昔日\n往常,平常\n网罗,收罗\n万紫千红,姹紫嫣红\n万死不辞,在所不辞\n万古流芳,名垂青史\n万古长存,万古长青\n玩火自焚,自取灭亡\n完璧归赵,物归原主\n完毕,终了\n歪斜,倾斜\n歪门邪道,旁门左道\n歪风邪气,歪门邪道\n退缩,畏缩\n推延,推迟\n推广,推行\n推迟,推延\n徒有虚名,名不副实\n头昏脑胀,头昏眼花\n偷梁换柱,移花接木\n痛哭流涕,声泪俱下\n同室操戈,自相残杀\n同仇敌忾,同仇敌慨\n通晓,知晓\n通通,统统\n听之任之,听其自然\n听任,听凭\n铁心,死心\n贴补,补助\n挑拣,挑选\n天穹,苍穹\n天怒人怨,怨声载道\n提问,发问\n提前,提早\n特务,间谍\n逃之夭夭,溜之大吉\n叹气,叹息\n袒护,包庇\n贪赃枉法,贪污腐化\n贪官,赃官\n贪得无厌,得寸进尺\n坍台,倒台\n损耗,消耗\n素日,平日\n素常,平素\n搜查,搜寻\n颂扬,歌颂\n诵读,朗读\n耸立,屹立\n似水流年,光阴似箭\n似乎,仿佛\n伺机,乘机\n伺候,服侍\n四分五裂,支离破碎\n司空见惯,习以为常\n衰败,衰落\n束之高阁,置之不理\n熟悉,熟习\n熟视无睹,视而不见\n疏远,冷淡\n瘦骨嶙峋,骨瘦如柴\n寿终正寝,与世长辞\n手到擒来,易如反掌\n手到病除,妙手回春\n收集,搜集\n适宜,适合\n恃强凌弱,仗势欺人\n视线,视野\n侍候,伺候\n事与愿违,适得其反\n事先,事前\n士兵,兵士\n时日,光阴\n施行,实施\n施舍,恩赐\n盛怒,震怒\n省悟,觉悟\n省亲,探亲\n省吃俭用,节衣缩食\n声威,威望\n声称,宣称\n生硬,僵硬\n深信,坚信\n身先士卒,一马当先\n身败名裂,→声名狼藉\n申斥,训斥\n涉及,触及\n舍近求远,舍本逐末\n舍短取长,取长补短\n奢求,苛求\n稍微,略微\n伤天害理,丧尽天良\n讪笑,嘲笑\n筛选,挑选\n沙场,疆场\n三番五次,接二连三\n如影随行,形影不离\n如兄如弟,情同手足\n如梦初醒,恍然大悟\n如狼似虎,凶神恶煞\n如法炮制,依样画葫芦\n冗长,冗杂\n容貌,面貌\n日月如梭,光阴似箭\n日暮途穷,山穷水尽\n日久天长,经年累月\n仍然,依然\n扔弃,抛弃\n任凭,听凭\n忍辱负重,委曲求全\n人强马壮,兵强马壮\n热气腾腾,热火朝天\n热泪盈眶,百感交集\n热火朝天,如火如荼\n惹火烧身,招灾惹祸\n然而,但是\n群众,大众\n劝解,劝慰\n痊愈,康复\n取得,获得\n祛病延年,延年益寿\n驱散,遣散\n区分,辨别\n求教,请教\n穷困,贫困\n情景,情形\n情急生智,急中生智\n清扫,打扫\n倾听,聆听\n轻快,轻盈\n轻车熟路,驾轻就熟\n轻薄,轻浮\n勤快,勤劳\n钦佩,敬佩\n钦敬,崇敬\n侵吞,并吞\n窃取,盗取\n窍门,诀窍\n强占,侵占\n强盗,匪徒\n企求,祈求\n乞求,祈求\n祈求,乞求\n奇异,奇特\n欺侮,欺负\n欺世盗名,沽名钓誉\n七手八脚,手忙脚乱\n七拼八凑,东拼西凑\n凭仗,仰仗\n评头品足,品头论足\n平息,停息\n品尝,品味\n贫穷,贫困\n骗取,欺骗\n譬如,比方\n批示,指示\n蓬头垢面,不修边幅\n蓬松,疏松\n抛头露面,出头露面\n抛售,兜售\n歪门邪道,旁门左道\n判别,辨别\n拍案而起,赞不绝口\n怄气,生气\n挪动,移动\n怒斥,痛斥\n奴颜婢膝,卑躬屈膝\n扭转,改变\n鸟瞰,俯瞰\n念旧,怀旧\n能说会道,伶牙俐齿\n能耐,本事\n囊括,包括\n喃喃自语,自言自语\n目睹,目击\n目不暇接,琳琅满目\n默认,默许\n谬误,错误\n名气,名望\n名垂青史,流芳百世\n面熟,面善\n绵薄,微薄\n没落,衰败\n没精打采,垂头丧气\n茂密,茂盛\n茅塞顿开,恍然大悟\n毛糙,粗糙\n慢慢,渐渐\n满城风雨,沸沸扬扬\n满不在乎,毫不在意\n卖命,卖力\n麻利,敏捷\n落幕,闭幕\n沦亡,消亡\n略微,稍微\n屡次,多次\n留念,纪念\n领路,带路\n列举,罗列\n良心,良知\n恋情,爱情\n恋恋不舍,依依不舍\n脸孔,面孔\n联络,联系\n厉兵秣马,严阵以待\n理会,理睬\n理睬,理会\n离任,离职\n冷言冷语,冷嘲热讽\n冷嘲热讽,冷言冷语\n老生常谈,陈词滥调\n朗诵,朗读\n朗读,朗诵\n扩散,分散\n岿然不动,纹丝不动\n宽绰,宽阔\n苦尽甘来,否极泰来\n空幻,虚幻\n坑骗,欺骗\n垦荒,开荒\n刻不容缓,迫在眉睫\n刻板,呆板\n克敌制胜,旗开得胜\n坎坷,曲折\n开荒,拓荒\n开诚布公,推心置腹\n俊杰,豪杰\n绝无仅有,独一无二\n绝路,死路\n绝交,断交\n绝处逢生,逢凶化吉\n诀窍,窍门\n决然,毅然\n娟秀,清秀\n具备,具有\n巨变,剧变\n举荐,推荐\n沮丧,懊丧\n救死扶伤,治病救人\n旧址,原址\n酒囊饭袋,行尸走肉\n静寂,寂静\n竟然,居然\n警告,正告\n精疲力竭,筋疲力尽\n精妙,精巧\n经常,常常\n禁忌,忌讳\n晋级,升级\n筋疲力尽,精疲力竭\n金碧堂皇,富丽堂皇\n借故,托故\n解除,消除\n竭力,极力\n揭示,揭露\n接替,代替\n搅扰,烦扰\n蛟龙得水,如鱼得水\n娇小玲珑,小巧玲珑\n交战,交兵\n匠心独运,独具匠心\n疆土,国土\n将功折罪,将功补过\n间谍,特务\n歼灭,消灭\n坚硬,坚固\n假设,假定\n假如,假设\n家喻户晓,众所周知\n家破人亡,流离失所\n加紧,抓紧\n忌妒,妒忌\n记述,记叙\n几乎,几近\n嫉妒,妒忌\n集思广益,群策群力\n集聚,会聚\n即将,行将\n即便,即使\n激发,激起\n鸡鸣狗盗,旁门左道\n讥刺,讽刺\n祸害,祸患\n获悉,得悉\n获得,取得\n活路,生路\n混同,混淆\n魂不守舍,失魂落魄\n昏头昏脑,晕头转向\n会聚,集聚\n汇聚,会聚\n汇集,聚集\n慌手慌脚,手忙脚乱\n画蛇添足,弄巧成拙\n化为泡影,化为乌有\n互相,相互\n宏图,雄图\n横七竖八,杂乱无章\n核查,核对\n和衷共济,同心协力\n沆瀣一气,狼狈为奸\n含意,含义\n害羞,害臊\n海市蜃楼,空中楼阁\n瑰丽,绮丽\n瑰宝,珍宝\n管教,管束\n瓜葛,关系\n顾惜,爱惜\n顾全,保全\n共计,总计\n耿直,正直\n根源,本源\n敢于,勇于\n赶紧,赶忙\n复旧,复古\n妇孺皆知,家喻户晓\n俯首贴耳,唯命是从\n奉还,归还\n风声鹤唳,草木皆兵\n风靡,风行\n丰饶,富饶\n焚烧,燃烧\n分道扬镳,各奔前程\n费劲,费力\n飞黄腾达,青云直上\n飞蛾扑火,自取灭亡\n放任自流,任其自然\n防止,避免\n发祥,发源\n发问,提问\n发愣,发楞\n发楞,发愣\n发呆,发愣\n遏止,抑止\n恶意,歹意\n恶劣,卑劣\n多次,屡次\n遁辞,托辞\n对于,对\n断定,判定\n短促,急促\n堵塞,梗塞\n独断独行,一意孤行\n督促,催促\n恫吓,威吓\n动工,开工\n丢弃,抛弃\n吊销,撤消\n掂量,权衡\n低声下气,低三下四\n等同,同等\n登时,顿时\n得悉,得知\n捣毁,摧毁\n倒台,垮台\n带路,领路\n歹意,恶意\n歹毒,恶毒\n打探,刺探\n错综复杂,扑朔迷离\n寸步难行,步履维艰\n促成,促进\n粗豪,粗犷\n凑巧,恰巧\n凑近,靠近\n聪颖,聪慧\n从新,重新\n从来,历来\n刺探,打探\n此后,尔后\n辞退,解雇\n辞世,谢世\n慈爱,慈祥\n唇枪舌剑,针锋相对\n纯朴,质朴\n垂涎三尺,垂涎欲滴\n创痕,伤痕\n穿凿附会,牵强附会\n触类旁通,举一反三\n触动,震动\n处之泰然,泰然自若\n处心积虑,挖空心思\n储存,贮存\n出头露面,抛头露面\n仇敌,仇人\n充耳不闻,不闻不问\n赤贫如洗,一无所有\n叱骂,责骂\n持之以恒,锲而不舍\n惩处,惩办\n乘人之危,落井下石\n承当,承担\n承担,承当\n成心,故意\n成千上万,不计其数\n趁势,顺势\n称誉,称赞\n称许,赞许\n称心如意,心满意足\n扯谎,撒谎\n吵嚷,喧嚷\n畅所欲言,各抒己见\n常年,终年\n昌盛,兴盛\n拆除,撤除\n差遣,派遣\n差错,过失\n姹紫嫣红,万紫千红\n诧异,惊讶\n察觉,发觉\n策动,策划\n嘈杂,喧闹\n操办,筹办\n苍穹,天穹\n苍凉,凄凉\n仓猝,匆促\n参差不齐,良莠不齐\n裁决,判决\n布防,设防\n不知所措,手足无措\n不屑一顾,嗤之以鼻\n不务正业,游手好闲\n不闻不问,漠不关心\n不妨,无妨\n不动声色,若无其事\n博览群书,博学多才\n播送,广播\n并驾齐驱,不相上下\n别人,他人\n鞭长莫及,力所不及\n比照,对照\n本源,根源\n杯水车薪,无济于事\n暴跳如雷,大发雷霆\n暴发,爆发\n板滞,呆板\n斑驳陆离,光怪陆离\n败退,溃退\n罢职,撤职\n罢黜,免除\n把握,掌控\n黯淡,暗淡\n暗淡,昏暗\n安如磐石,安如泰山\n爱莫能助,心有余而力不足\n唉声叹气,长吁短叹\n如同,犹如\n倦怠,疲倦\n赐给,赏给\n繁茂,茂盛\n但若,但如果\n妇检,妇科体检\n妇科体检,妇检\n特有的,独有的\n不得不,不能不\n有无,有没有\n有没有,有无\n这时,这时候\n就治,就诊\n就诊,救治\n彩超,彩色B超\n彩色B超,彩超\n日后,往后\n仅有,唯一\n变为,变成\n改为,改成\n是否,是不是\n是不是,是否是\n每个,每一个\n每一个,每个\n之后,以后\n以及,和\n至关,相当\n好于,好过\n瓜果,水果\n来讲,来说\n来说,来讲\n日常,平常\n柑橘,柑桔\n柑桔,柑橘\n马铃薯,土豆\n洋芋,土豆\n汤匙,汤勺\n一晚上,一夜\n在我眼里,在我看来\n在他眼里,在他看来\n在她眼里,在她看来\n在他们眼里,在他们看来\n其实是,实际上是\n另一,另外一\n一块儿,一起\n就能,就可以\n即可,便可\n便可,即可\n面部,脸部\n脸部,面部\n放松一下,轻松一下\n轻松一下,放松一下\n就医,就诊\n右侧,右边\n左侧,左边\n左边,左侧\n右边,右侧\n早期,初期\n初期,早期\n双侧,两侧\n所致,而至\n加剧,加重\n尽可能,尽量\n尽量,尽可能\n少许,少量\n少量,少许\n常见病,常见疾病\n常见疾病,常见病\n缓解,减缓\n受益不浅,受益匪浅\n受益匪浅,受益不浅\n凡有,凡是有\n凡是有,凡有\n概率,几率\n几率,概率\n糟糕,糟\n越来越,愈来愈\n愈来愈,越来越\n方方面面,各个方面\n并无,并没有\n显着,明显\n适量,适当\n无益于,不利于\n最先,最早\n防寒,御寒\n历时,用时\n均可,都可\n已经,已\n没有将,未将\n缘故,原因\n患了,得了\n近年,最近几年\n之内,以内\n以内,之内\n以前,之前\n最佳,最好\n足量,充足\n二者,两者\n两者,二者\n同样,一样\n过多,过量\n男女老幼,男女老少\n为什么,为何\n最常见,最多见\n必需,必须\n当成,当做\n想想,想一想\n想一想,想想\n男友,男朋友\n搞,弄\n指望,期望\n到底是,究竟是\n准许,准予\n夏朝,夏代\n商朝,商代\n周朝,周代\n秦朝,秦代\n汉朝,汉代\n唐朝,唐代\n宋朝,宋代\n元朝,元代\n明朝,明代\n清朝,清代\n夏代,夏朝\n商代,商朝\n周代,周朝\n秦代,秦朝\n汉代,汉朝\n唐代,唐朝\n宋代,宋朝\n元代,元朝\n明代,明朝\n清代,清朝\n颇有,很有\n攀升,爬升\n为何,为什么\n持续,延续\n如下,以下\n-1,⑴\n-2,⑵\n-3,⑶\n-4,⑷\n-5,⑸\n-6,⑹\n-7,⑺\n-8,⑻\n-9,⑼\n-10,⑽\n-11,⑾\n-12,⑿\n-13,⒀\n-14,⒁\n-15,⒂\n每一个,每个\n每个,每一个\n并非,并不是\n并不是,并非\n极其,极为\n极为,极其\n虽说,虽然说\n征兆,征象\n扩散,散布\n彻底,完全\n成为了,成了\n强体健身,强身健体\n强身健体,强体健身\n暗地里,背后\n近年,近些年\n近些年,近年\n这人,此人\n此人,这人\n未尝,何尝\n何尝,未尝\n获取,获得\n满腹经纶,学富五车\n在乎,在意\n黎明,拂晓\n在意,在乎\n扒开,拨开\n拨开,扒开\n遥望,眺望\n叫苦不迭,叫苦连天\n叫苦连天,叫苦不迭\n往返,来回\n天天,每天\n新房,新居\n清幽,幽静\n意气风发,斗志昂扬\n心旷神怡,赏心悦目\n当今,现今\n现今,当今\n殊不知,却不知\n何苦,何必\n一辈子,一生\n缓和,和缓\n问询,询问\n并吞,吞并\n嫉妒,妒忌\n累积,积累\n夜半,半夜\n机电,电机\n电机,机电\n往来,来往\n路线,线路\n样子,模样\n模样,样子\n物是人非,事过境迁\n这种,这类\n哪种,哪类\n愈加,越发\n稍不,略不\n稍加,略加\n事态,局势\n悬殊,差异\n于是,因而\n发泄,宣泄\n优柔寡断,犹豫不决\n琐事,杂事\n杂事,琐事\n再也不,不再\n两码事,两回事\n经受,承受\n易如反掌,轻而易举\n惨痛,惨重\n曾经,曾\n日益,日趋\n日趋,日益\n言谈举止,言行举止\n哀痛,哀思\n挨次,依次\n挨近,靠近\n安抚,抚慰\n安如,安若\n安若,安如\n按次,顺次\n暗算,暗害\n凹透镜,凹面镜\n凸透镜,凸面镜\n凹面镜,凹透镜\n凸面镜,凸透镜\n安妥,稳妥\n安歇,安息\n暗语,隐语\n白日,白天\n百战不殆,百战百胜\n摆布,左右\n摆阔,显摆\n败落,衰落\n半壁河山,半壁江山\n无非,不过\n采集,收集\n残存,残余\n惨然,惨淡\n惨重,惨痛\n惨剧,悲剧\n造成的,酿成的\n彻头彻尾,彻彻底底\n撤兵,撤军\n撤军,撤兵\n岔路,岔道\n岔道,岔路\n奼紫嫣红,万紫千红\n茶馆,茶社\n查办,查究\n插足,插手\n插手,插足\n层出不穷,层见叠出\n才智,才干\n才高气傲,恃才傲物\n恃才傲物,才高气傲\n擦拳磨掌,摩拳擦掌\n猜测,猜想\n暴跌,狂跌\n狂跌,暴跌\n笨嘴,笨口\n拙见,鄙见\n逼不得已,必不得以\n兵营,军营\n不日,克日\n不闻不问,不理不睬\n不许,不准\n不虚此行,不枉此行\n不折不扣,彻彻底底\n不管是,不论是\n非但,不但\n前几天,头几天\n头几天,前几天\n患上,得\n妇科疾病,妇科病\n妇科病,妇科疾病\n真正的,真实的\n意识到,意想到\n言行举止,言谈举止\n职业女性,职场女性\n免了吧,算了吧\n不比是,不像是\n先后,前后\n已是,已经是\n撤消,撤销\n撤销,撤消\n弹无虚发,百发百中\n岁月如梭,光阴似箭\n尤为,尤其\n惟一,唯一\n暗度陈仓,暗渡陈仓\n把势,把式\n班配,般配\n棒棰,棒槌\n暴光,曝光\n报导,报道\n悲忿,悲愤\n背理,悖理\n比画,比划\n笔心,笔芯\n荜路蓝缕,筚路蓝缕\n辩辞,辩词\n部份,部分\n菜子,菜籽\n仓遑,仓惶\n唱工,唱功\n承上起下,承上启下\n吃里扒外,吃里爬外\n踟躇,踟蹰\n串连,串联\n辞汇,词汇\n词令,辞令\n哒哒,嗒嗒\n打冷颤,打冷战\n铛铛,当当\n当做,当作\n捣腾,倒腾\n悼辞,悼词\n灯心,灯芯\n滴里嘟噜,嘀里嘟噜\n钉梢,盯梢\n丢三拉四,丢三落四\n峨嵋山,峨眉山\n翻然,幡然\n忿恨,愤恨\n夫倡妇随,夫唱妇随\n浮图,浮屠\n辐凑,辐辏\n福份,福分\n赋与,赋予\n夹肢窝,胳肢窝\n干嘛,干吗\n格登,咯噔\n根抵,根底\n梗咽,哽咽\n宫廷,宫庭\n勾针,钩针\n够戗,够呛\n孤伶伶,孤零零\n轱轳,轱辘\n故技,故伎\n刮刮叫,呱呱叫\n寒颤,寒战\n嚎啕,号啕\n好高务远,好高骛远\n贺辞,贺词\n黑鼓隆咚,黑咕隆咚\n轰笑,哄笑\n宏亮,洪亮\n花狸狐哨,花里胡哨\n花梢,花哨\n花消,花销\n黄历,皇历\n混身,浑身\n浑沌,混沌\n辑逸,辑佚\n记要,纪要\n趼子,茧子\n交待,交代\n脚鸭子,脚丫子\n脚指,脚趾\n叫真,较真\n菁华,精华\n警省,警醒\n酒钟,酒盅\n倔犟,倔强\n开消,开销\n看做,看作\n老趼,老茧\n乐和和,乐呵呵\n乐孜孜,乐滋滋\n伶牙利齿,伶牙俐齿\n蹓弯儿,遛弯儿\n乱烘烘,乱哄哄\n罗纹,螺纹\n慢道,漫道\n慢说,漫说\n冒然,贸然\n棉子,棉籽\n藐小,渺小\n渺远,邈远\n溟溟,冥冥\n摸棱两可,模棱两可\n秣马利兵,秣马厉兵\n木犀,木樨\n闹轰轰,闹哄哄\n粘稠,黏稠\n粘糊,黏糊\n粘土,黏土\n粘性,粘性\n粘液,黏液\n念道,念叨\n暖呼呼,暖乎乎\n扒犁,爬犁\n判辞,判词\n皮簧,皮黄\n懀呛,剽悍\n漂渺,飘渺\n凭白无故,平白无故\n匍伏,匍匐\n启锚,起锚\n起迄,起讫\n气门心,气门芯\n牵就,迁就\n遣辞,遣词\n枪枝,枪支\n情份,情分\n取销,取消\n雀瘢,雀斑\n热剌剌,热辣辣\n如雷灌耳,如雷贯耳\n沙锅,砂锅\n沙壶,砂壶\n沙浆,砂浆\n沙糖,砂糖\n杀尾,煞尾\n山颠,山巅\n上方宝剑,尚方宝剑\n深醒,深省\n甚么,什么\n神甫,神父\n省分,省份\n抬遗补阕,拾遗补缺\n士女画,仕女画\n视阈,视域\n誓辞,誓词\n授与,授予\n摔交,摔跤\n水份,水分\n水长船高,水涨船高\n思辩,思辨\n宿愿,夙愿\n夙来,素来\n夙敌,宿敌\n夙怨,宿怨\n梯己,体己\n题辞,题词\n俶傥,倜傥\n瞳人,瞳仁\n退色,褪色\n托咐,托付\n顽耍,玩耍\n玩皮,顽皮\n惟独,唯独\n惟恐,唯恐\n惟命是从,唯命是从\n惟其,唯其\n惟我独尊,唯我独尊\n惟有,唯有\n萎顿,委顿\n委罪,诿罪\n委靡,萎靡\n委谢,萎谢\n文彩,文采\n无精打彩,无精打采\n无尚,无上\n欷歔,唏嘘\n喜孜孜,喜滋滋\n销歇,消歇\n消魂,销魂\n旋涡,漩涡\n丫鬟,丫环\n压宝,押宝\n哑吧,哑巴\n引伸,引申\n硬梆梆,硬邦邦\n渔汛,鱼汛\n鱼鼓,渔鼓\n殒落,陨落\n在坐,在座\n糟塌,糟踏\n张惶,张皇\n照像,照相\n珍羞,珍馐\n真象,真相\n枝梧,支吾\n妆束,装束\n子粒,籽粒\n子棉,籽棉\n子实,籽实\n走露,走漏\n做弊,作弊\n做美,作美\n做弄,作弄\n做声,作声\n做秀,作秀\n座落,坐落\n坐次,座次\n坐位,座位\n案语,按语\n百废具兴,百废俱兴\n百页窗,百叶窗\n班驳,斑驳\n胞子,孢子\n保母,保姆\n辈份,辈分\n笔划,笔画\n编者案,编者按\n藊豆,扁豆\n鬓脚,鬓角\n补钉,补丁\n参预,参与\n惨澹,惨淡\n差迟,差池\n搀假,掺假\n搀杂,掺杂\n车箱,车厢\n趁心,称心\n成份,成分\n澄彻,澄澈\n侈糜,侈靡\n筹画,筹划\n筹马,筹码\n踌蹰,踌躇\n喘嘘嘘,喘吁吁\n磁器,瓷器\n粗卤,粗鲁\n搭挡,搭当\n搭赸,搭讪\n带孝,戴孝\n耽心,担心\n耽忧,担忧\n担搁,耽搁\n澹然,淡然\n倒楣,倒霉\n低徊,低回\n跌交,跌跤\n蹀血,喋血\n定单,订单\n定户,订户\n定婚,订婚\n定货,订货\n定阅,订阅\n逗遛,逗留\n斗趣儿,逗趣儿\n独脚戏,独角戏\n端五,端午\n二簧,二黄\n贰心,二心\n发人深醒,发人深省\n份量,分量\n份内,分内\n份子,分子\n忿忿,愤愤\n疯瘫,风瘫\n疯颠,疯癫\n锋铓,锋芒\n服事,伏侍\n伏输,服输\n负嵎顽抗,负隅顽抗\n傅会,附会\n复辙,覆辙\n鲠直,梗直\n恭惟,恭维\n勾联,勾连\n孤负,辜负\n股分,股份\n骨瘦如豺,骨瘦如柴\n光采,光彩\n归根结柢,归根结底\n规戒,规诫\n鬼哭狼嗥,鬼哭狼嚎\n虾蟆,蛤蟆\n含胡,含糊\n涵蓄,含蓄\n寒伧,寒碜\n喝倒采,喝倒彩\n哄动,轰动\n宏扬,弘扬\n红通通,红彤彤\n弘论,宏论\n弘愿,宏愿\n弘旨,宏旨\n鸿福,洪福\n胡蝶,蝴蝶\n胡涂,糊涂\n虎魄,琥珀\n花着,花招\n恍忽,恍惚\n殨脓,溃脓\n火伴,伙伴\n机伶,机灵\n激忿,激愤\n记念,纪念\n寄与,寄予\n茄克,夹克\n佳宾,嘉宾\n架式,架势\n嫁装,嫁妆\n简炼,简练\n骄奢淫佚,骄奢淫逸\n脚门,角门\n狡滑,狡猾\n脚根,脚跟\n叫化子,叫花子\n鸠合,纠合\n鸠集,纠集\n就坐,就座\n刻期,克期\n刻日,克日\n刻划,刻画\n阔老,阔佬\n烂缦,烂漫\n鎯头,榔头\n累坠,累赘\n黎黑,黧黑\n联贯,连贯\n联缀,连缀\n连袂,联袂\n连翩,联翩\n踉蹡,踉跄\n嘹喨,嘹亮\n撩乱,缭乱\n零丁,伶仃\n囹圉,囹圄\n留连,流连\n喽罗,喽啰\n录相,录像\n落腮胡子,络腮胡子\n落漠,落寞\n麻风,麻风\n麻疹,麻疹\n蚂蜂,马蜂\n马糊,马虎\n门坎,门槛\n绵联,绵连\n模胡,模糊\n摹拟,模拟\n模写,摹写\n磨擦,摩擦\n魔难,磨难\n眽眽,脉脉\n那末,那么\n内哄,内讧\n凝炼,凝练\n牛崽裤,牛仔裤\n钮扣,纽扣\n掱手,扒手\n蟠根错节,盘根错节\n蟠踞,盘据\n蟠曲,盘曲\n盘陁,盘陀\n盘石,磐石\n盘跚,蹒跚\n旁皇,彷徨\n飘流,漂流\n漂零,飘零\n飘飖,飘摇\n平空,凭空\n牵联,牵连\n蕉萃,憔悴\n清彻,清澈\n情素,情愫\n惓惓,拳拳\n热呼呼,热乎乎\n热呼,热乎\n热中,热衷\n人材,人才\n日蚀,日食\n入坐,入座\n色采,色彩\n杀一警百,杀一儆百\n沙鱼,鲨鱼\n山查,山楂\n舢舨,舢板\n梢公,艄公\n奢糜,奢靡\n伸雪,申雪\n神彩,神采\n湿渌渌,湿漉漉\n十锦,什锦\n收伏,收服\n首坐,首座\n双鐄,双簧\n思惟,思维\n死心踏地,死心塌地\n塌实,踏实\n挺而走险,铤而走险\n图象,图像\n推委,推诿\n玩艺儿,玩意儿\n委过,诿过\n无动于中,无动于衷\n无宁,毋宁\n无庸,毋庸\n五痨七伤,五劳七伤\n瘜肉,息肉\n希少,稀少\n希世,稀世\n希有,稀有\n噏动,翕动\n洗炼,洗练\n贤慧,贤惠\n像貌,相貌\n萧洒,潇洒\n信口开合,信口开河\n惺松,惺忪\n秀外惠中,秀外慧中\n叙文,序文\n叙言,序言\n训戒,训诫\n压伏,压服\n压韵,押韵\n雅片,鸦片\n洋琴,扬琴\n要末,要么\n夜消,夜宵\n一槌定音,一锤定音\n一古脑儿,一股脑儿\n衣衿,衣襟\n义无返顾,义无反顾\n霪雨,淫雨\n赢余,盈余\n余辉,余晖\n鱼具,渔具\n鱼网,渔网\n预会,与会\n预闻,与闻\n御手,驭手\n豫备,预备\n元煤,原煤\n原由,缘由\n月蚀,月食\n月芽,月牙\n云豆,芸豆\n杂遝,杂沓\n再接再砺,再接再厉\n斩新,崭新\n展转,辗转\n颤栗,战栗\n帐本,账本\n正经八摆,正经八百\n直接了当,直截了当\n指手划脚,指手画脚\n转游,转悠\n装璜,装潢\n孳孳,孜孜\n姿式,姿势\n子细,仔细\n自各儿,自个儿\n左证,佐证\n暗渡陈仓,暗度陈仓\n把式,把势\n般配,班配\n棒槌,棒棰\n曝光,暴光\n报道,报导\n悲愤,悲忿\n悖理,背理\n比划,比画\n笔芯,笔心\n筚路蓝缕,荜路蓝缕\n辩词,辩辞\n部分,部份\n菜籽,菜子\n仓惶,仓遑\n唱功,唱工\n吃里爬外,吃里扒外\n踟蹰,踟躇\n串联,串连\n词汇,辞汇\n辞令,词令\n嗒嗒,哒哒\n当当,铛铛\n倒腾,捣腾\n悼词,悼辞\n嘀里嘟噜,滴里嘟噜\n盯梢,钉梢\n丢三落四,丢三拉四\n峨眉山,峨嵋山\n幡然,翻然\n浮屠,浮图\n辐辏,辐凑\n胳肢窝,夹肢窝\n干吗,干嘛\n咯噔,格登\n根底,根抵\n哽咽,梗咽\n宫庭,宫廷\n钩针,勾针\n够呛,够戗\n孤零零,孤伶伶\n轱辘,轱轳\n故伎,故技\n呱呱叫,刮刮叫\n号啕,嚎啕\n好高骛远,好高务远\n和事佬,和事老\n贺词,贺辞\n黑咕隆咚,黑鼓隆咚\n哄笑,轰笑\n花里胡哨,花狸狐哨\n花哨,花梢\n花销,花消\n皇历,黄历\n混沌,浑沌\n辑佚,辑逸\n纪要,记要\n茧子,趼子\n脚丫子,脚鸭子\n脚趾,脚指\n较真,叫真\n警醒,警省\n酒盅,酒钟\n开销,开消\n看作,看做\n老茧,老趼\n乐呵呵,乐和和\n厉害,利害\n伶牙俐齿,伶牙利齿\n遛弯儿,蹓弯儿\n乱哄哄,乱烘烘\n螺纹,罗纹\n漫道,慢道\n漫说,慢说\n贸然,冒然\n棉籽,棉子\n邈远,渺远\n冥冥,溟溟\n秣马厉兵,秣马利兵\n闹哄哄,闹轰轰\n黏稠,粘稠\n黏糊,粘糊\n黏土,粘土\n粘性,粘性\n黏液,粘液\n念叨,念道\n暖乎乎,暖呼呼\n爬犁,扒犁\n皮黄,皮簧\n剽悍,懀呛\n飘渺,漂渺\n平白无故,凭白无故\n起讫,起迄\n气门芯,气门心\n遣词,遣辞\n枪支,枪枝\n情分,情份\n热辣辣,热剌剌\n如雷贯耳,如雷灌耳\n散佚,散逸\n砂锅,沙锅\n砂壶,沙壶\n砂浆,沙浆\n砂糖,沙糖\n煞尾,杀尾\n山巅,山颠\n尚方宝剑,上方宝剑\n深省,深醒\n什么,甚么\n神父,神甫\n省份,省分\n拾遗补缺,抬遗补阕\n仕女画,士女画\n视域,视阈\n誓词,誓辞\n授予,授与\n摔跤,摔交\n水分,水份\n水涨船高,水长船高\n思辨,思辩\n死乞白赖,死气白赖\n夙愿,宿愿\n素来,夙来\n宿敌,夙敌\n宿儒,夙儒\n宿怨,夙怨\n体己,梯己\n题词,题辞\n倜傥,俶傥\n瞳仁,瞳人\n褪色,退色\n玩耍,顽耍\n顽皮,玩皮\n唯独,惟独\n唯恐,惟恐\n唯命是从,惟命是从\n唯其,惟其\n唯我独尊,惟我独尊\n唯有,惟有\n委婉,委宛\n诿罪,委罪\n萎靡,委靡\n萎谢,委谢\n文采,文彩\n无精打采,无精打彩\n无上,无尚\n唏嘘,欷歔\n喜滋滋,喜孜孜\n消歇,销歇\n漩涡,旋涡\n丫环,丫鬟\n押宝,压宝\n哑巴,哑吧\n引申,引伸\n硬邦邦,硬梆梆\n鱼汛,渔汛\n渔鼓,鱼鼓\n陨落,殒落\n在座,在坐\n糟踏,糟塌\n珍馐,珍羞\n支吾,枝梧\n籽粒,子粒\n籽棉,子棉\n籽实,子实\n作弊,做弊\n作美,做美\n作弄,做弄\n作秀,做秀\n坐落,座落\n座次,坐次\n座位,坐位\n按语,案语\n百废俱兴,百废具兴\n百叶窗,百页窗\n斑驳,班驳\n孢子,胞子\n保镖,保镳\n保姆,保母\n辈分,辈份\n笔画,笔划\n毕恭毕敬,必恭必敬\n编者按,编者案\n扁豆,藊豆\n鬓角,鬓脚\n补丁,补钉\n差池,差迟\n掺和,搀和\n掺假,搀假\n掺杂,搀杂\n徜徉,倘佯\n车厢,车箱\n称心,趁心\n成分,成份\n澄澈,澄彻\n侈靡,侈糜\n筹码,筹马\n踌躇,踌蹰\n喘吁吁,喘嘘嘘\n瓷器,磁器\n搭当,搭挡\n搭讪,搭赸\n戴孝,带孝\n担忧,耽忧\n淡然,澹然\n低回,低徊\n跌跤,跌交\n喋血,蹀血\n订单,定单\n订户,定户\n订货,定货\n订阅,定阅\n逗趣儿,斗趣儿\n独角戏,独脚戏\n端午,端五\n二黄,二簧\n发人深省,发人深醒\n分量,份量\n分内,份内\n分子,份子\n愤愤,忿忿\n风瘫,疯瘫\n疯癫,疯颠\n锋芒,锋铓\n伏侍,服事\n服输,伏输\n负隅顽抗,负嵎顽抗\n附会,傅会\n复信,覆信\n覆辙,复辙\n梗直,鲠直\n勾连,勾联\n辜负,孤负\n股份,股分\n骨瘦如柴,骨瘦如豺\n归根结底,归根结柢\n规诫,规戒\n鬼哭狼嚎,鬼哭狼嗥\n蛤蟆,虾蟆\n含蓄,涵蓄\n寒碜,寒伧\n喝倒彩,喝倒采\n弘扬,宏扬\n红彤彤,红通通\n宏论,弘论\n弘图,鸿图\n宏愿,弘愿\n宏旨,弘旨\n洪福,鸿福\n蝴蝶,胡蝶\n糊涂,胡涂\n琥珀,虎魄\n恍惚,恍忽\n溃脓,殨脓\n伙伴,火伴\n纪念,记念\n寄予,寄与\n夹克,茄克\n嘉宾,佳宾\n架势,架式\n骄奢淫逸,骄奢淫佚\n角门,脚门\n脚跟,脚根\n纠合,鸠合\n纠集,鸠集\n就座,就坐\n克期,刻期\n阔佬,阔老\n烂漫,烂缦\n狼藉,狼籍\n榔头,鎯头\n累赘,累坠\n黧黑,黎黑\n连贯,联贯\n连缀,联缀\n联袂,连袂\n联翩,连翩\n踉跄,踉蹡\n囹圄,囹圉\n流连,留连\n录像,录相\n络腮胡子,落腮胡子\n落寞,落漠\n麻风,麻风\n麻疹,麻疹\n马蜂,蚂蜂\n门槛,门坎\n靡费,糜费\n绵连,绵联\n模拟,摹拟\n摹写,模写\n摩擦,磨擦\n脉脉,眽眽\n那么,那末\n内讧,内哄\n凝练,凝炼\n牛仔裤,牛崽裤\n纽扣,钮扣\n盘曲,蟠曲\n盘陀,盘陁\n磐石,盘石\n蹒跚,盘跚\n彷徨,旁皇\n漂流,飘流\n飘摇,飘飖\n凭空,平空\n憔悴,蕉萃\n情愫,情素\n拳拳,惓惓\n劝诫,劝戒\n热乎乎,热呼呼\n热乎,热呼\n热衷,热中\n人才,人材\n日食,日蚀\n入座,入坐\n色彩,色采\n杀一儆百,杀一警百\n鲨鱼,沙鱼\n山楂,山查\n舢板,舢舨\n艄公,梢公\n奢靡,奢糜\n神采,神彩\n什锦,十锦\n收服,收伏\n首座,首坐\n书简,书柬\n双簧,双鐄\n思维,思惟\n死心塌地,死心踏地\n图像,图象\n推诿,推委\n玩意儿,玩艺儿\n诿过,委过\n无动于衷,无动于中\n毋宁,无宁\n毋庸,无庸\n五劳七伤,五痨七伤\n息肉,瘜肉\n稀奇,希奇\n稀少,希少\n稀世,希世\n翕动,噏动\n洗练,洗炼\n贤惠,贤慧\n潇洒,萧洒\n信口开河,信口开合\n惺忪,惺松\n秀外慧中,秀外惠中\n序文,叙文\n序言,叙言\n训诫,训戒\n押韵,压韵\n鸦片,雅片\n扬琴,洋琴\n要么,要末\n夜宵,夜消\n一锤定音,一槌定音\n一股脑儿,一古脑儿\n衣襟,衣衿\n义无反顾,义无返顾\n淫雨,霪雨\n影像,影象\n余晖,余辉\n渔具,鱼具\n渔网,鱼网\n与会,预会\n与闻,预闻\n驭手,御手\n预备,豫备\n原煤,元煤\n月食,月蚀\n芸豆,云豆\n杂沓,杂遝\n再接再厉,再接再砺\n辗转,展转\n战栗,颤栗\n账本,帐本\n折中,折衷\n正经八百,正经八摆\n肢解,支解\n直截了当,直接了当\n转悠,转游\n装潢,装璜\n孜孜,孳孳\n姿势,姿式\n自个儿,自各儿\n佐证,左证\n居多,占多数\n长辈,尊长\n怎么样,怎样\n身旁,身边\n身边,身旁\n宽广,宽阔\n就好了,就行了\n就行了,就好了\n患有,得了\n据有关,据相关\n譬如,比如\n易患,易得\n双重,两重\n颇为,很是\n更为,更加\n便可,即可\n就可,便可\n以外,之外\n之外,以外\n以内,之内\n之内,以内\n入眠,入睡\n入睡,入眠\n为宜,为好\n相对于,相对\n全世界,全球\n北大,北京大学\n南大,南京大学\n浙大,浙江大学\n东大,东南大学\n北航,北京航空航天大学\n南航,南京航空航天大学\n山大,山东大学\n西电,西安电子科技大学\n";
	var stopword = " \n,\n.\n;\n+\n-\n|\n/\n\\\n'\n\"\n:\n?\n<\n[\n]\n{\n}\n!\n@\n#\n$\n%\n^\n&\n*\n(\n)\n~\n`\n　\n，\n。\n；\n‘\n’\n“\n”\n／\n？\n～\n！\n＠\n＃\n￥\n％\n……\n＆\n×\n（\n—）\n【\n】\n｛\n｝\n｜\n、\n《\n》\n：\n第二\n一番\n一直\n一个\n一些\n许多\n种\n有的是\n也就是说\n末##末\n啊\n阿\n哎\n哎呀\n哎哟\n唉\n俺\n俺们\n按\n按照\n吧\n吧哒\n把\n罢了\n被\n本\n本着\n比\n比方\n比如\n鄙人\n彼\n彼此\n边\n别\n别的\n别说\n并\n并且\n不比\n不成\n不单\n不但\n不独\n不管\n不光\n不过\n不仅\n不拘\n不论\n不怕\n不然\n不如\n不特\n不惟\n不问\n不只\n朝\n朝着\n趁\n趁着\n乘\n冲\n除\n除此之外\n除非\n除了\n此\n此间\n此外\n从\n从而\n打\n待\n但\n但是\n当\n当着\n到\n得\n的\n的话\n等\n等等\n地\n第\n叮咚\n对\n对于\n多\n多少\n而\n而况\n而且\n而是\n而外\n而言\n而已\n尔后\n反过来\n反过来说\n反之\n非但\n非徒\n否则\n嘎\n嘎登\n该\n赶\n个\n各\n各个\n各位\n各种\n各自\n给\n根据\n跟\n故\n故此\n固然\n关于\n管\n归\n果然\n果真\n过\n哈\n哈哈\n呵\n和\n何\n何处\n何况\n何时\n嘿\n哼\n哼唷\n呼哧\n乎\n哗\n还是\n还有\n换句话说\n换言之\n或\n或是\n或者\n极了\n及\n及其\n及至\n即\n即便\n即或\n即令\n即若\n即使\n几\n几时\n己\n既\n既然\n既是\n继而\n加之\n假如\n假若\n假使\n鉴于\n将\n较\n较之\n叫\n接着\n结果\n借\n紧接着\n进而\n尽\n尽管\n经\n经过\n就\n就是\n就是说\n据\n具体地说\n具体说来\n开始\n开外\n靠\n咳\n可\n可见\n可是\n可以\n况且\n啦\n来\n来着\n离\n例如\n哩\n连\n连同\n两者\n了\n临\n另\n另外\n另一方面\n论\n嘛\n吗\n慢说\n漫说\n冒\n么\n每\n每当\n们\n莫若\n某\n某个\n某些\n拿\n哪\n哪边\n哪儿\n哪个\n哪里\n哪年\n哪怕\n哪天\n哪些\n哪样\n那\n那边\n那儿\n那个\n那会儿\n那里\n那么\n那么些\n那么样\n那时\n那些\n那样\n乃\n乃至\n呢\n能\n你\n你们\n您\n宁\n宁可\n宁肯\n宁愿\n哦\n呕\n啪达\n旁人\n呸\n凭\n凭借\n其\n其次\n其二\n其他\n其它\n其一\n其余\n其中\n起\n起见\n起见\n岂但\n恰恰相反\n前后\n前者\n且\n然而\n然后\n然则\n让\n人家\n任\n任何\n任凭\n如\n如此\n如果\n如何\n如其\n如若\n如上所述\n若\n若非\n若是\n啥\n上下\n尚且\n设若\n设使\n甚而\n甚么\n甚至\n省得\n时候\n什么\n什么样\n使得\n是\n是的\n首先\n谁\n谁知\n顺\n顺着\n似的\n虽\n虽然\n虽说\n虽则\n随\n随着\n所\n所以\n他\n他们\n他人\n它\n它们\n她\n她们\n倘\n倘或\n倘然\n倘若\n倘使\n腾\n替\n通过\n同\n同时\n哇\n万一\n往\n望\n为\n为何\n为了\n为什么\n为着\n喂\n嗡嗡\n我\n我们\n呜\n呜呼\n乌乎\n无论\n无宁\n毋宁\n嘻\n吓\n相对而言\n像\n向\n向着\n嘘\n呀\n焉\n沿\n沿着\n要\n要不\n要不然\n要不是\n要么\n要是\n也\n也罢\n也好\n一\n一般\n一旦\n一方面\n一来\n一切\n一样\n一则\n依\n依照\n矣\n以\n以便\n以及\n以免\n以至\n以至于\n以致\n抑或\n因\n因此\n因而\n因为\n哟\n用\n由\n由此可见\n由于\n有\n有的\n有关\n有些\n又\n于\n于是\n于是乎\n与\n与此同时\n与否\n与其\n越是\n云云\n哉\n再说\n再者\n在\n在下\n咱\n咱们\n则\n怎\n怎么\n怎么办\n怎么样\n怎样\n咋\n照\n照着\n者\n这\n这边\n这儿\n这个\n这会儿\n这就是说\n这里\n这么\n这么点儿\n这么些\n这么样\n这时\n这些\n这样\n正如\n吱\n之\n之类\n之所以\n之一\n只是\n只限\n只要\n只有\n至\n至于\n诸位\n着\n着呢\n自\n自从\n自个儿\n自各儿\n自己\n自家\n自身\n综上所述\n总的来看\n总的来说\n总的说来\n总而言之\n总之\n纵\n纵令\n纵然\n纵使\n遵照\n作为\n兮\n呃\n呗\n咚\n咦\n喏\n啐\n喔唷\n嗬\n嗯\n嗳";
	var dicts = [
		pangu,
		panguExtend1,
		panguExtend2,
		names,
		wildcard
	];
	var synonyms = [synonym];
	var stopwords = [stopword];
	function useDefault(segmentInstance) {
		segmentInstance.use(modules);
		segmentInstance.loadDict(dicts);
		segmentInstance.loadSynonymDict(synonyms);
		segmentInstance.loadStopwordDict(stopwords);
		return segmentInstance;
	}
	let segmentit$1;
	let hansIntlSegmenter$1;
	/**
	* TODO: 分词并带词性信息，需要调整 segment_pinyin 方法。
	* 分词并标注词性。
	*/
	function segment$1(hans, segment) {
		if (segment === "segmentit") {
			if (!segmentit$1) {
				segmentit$1 = useDefault(new Segment());
			}
			return segmentit$1.doSegment(hans, { simple: true });
		}
		if (segment === "Intl.Segmenter") {
			if (typeof (Intl === null || Intl === void 0 ? void 0 : Intl.Segmenter) === "function") {
				if (!hansIntlSegmenter$1) {
					hansIntlSegmenter$1 = new Intl.Segmenter("zh-Hans-CN", { granularity: "word" });
				}
				return [...hansIntlSegmenter$1.segment(hans)].map((s) => s.segment);
			}
		}
		return [hans];
	}
	var ENUM_PINYIN_STYLE;
	(function(ENUM_PINYIN_STYLE) {
		ENUM_PINYIN_STYLE[ENUM_PINYIN_STYLE["NORMAL"] = 0] = "NORMAL";
		ENUM_PINYIN_STYLE[ENUM_PINYIN_STYLE["TONE"] = 1] = "TONE";
		ENUM_PINYIN_STYLE[ENUM_PINYIN_STYLE["TONE2"] = 2] = "TONE2";
		ENUM_PINYIN_STYLE[ENUM_PINYIN_STYLE["TO3NE"] = 5] = "TO3NE";
		ENUM_PINYIN_STYLE[ENUM_PINYIN_STYLE["INITIALS"] = 3] = "INITIALS";
		ENUM_PINYIN_STYLE[ENUM_PINYIN_STYLE["FIRST_LETTER"] = 4] = "FIRST_LETTER";
		ENUM_PINYIN_STYLE[ENUM_PINYIN_STYLE["PASSPORT"] = 6] = "PASSPORT";
	})(ENUM_PINYIN_STYLE || (ENUM_PINYIN_STYLE = {}));
	var ENUM_PINYIN_MODE;
	(function(ENUM_PINYIN_MODE) {
		ENUM_PINYIN_MODE[ENUM_PINYIN_MODE["NORMAL"] = 0] = "NORMAL";
		ENUM_PINYIN_MODE[ENUM_PINYIN_MODE["SURNAME"] = 1] = "SURNAME";
	})(ENUM_PINYIN_MODE || (ENUM_PINYIN_MODE = {}));
	const DEFAULT_OPTIONS = {
		style: ENUM_PINYIN_STYLE.TONE,
		mode: ENUM_PINYIN_MODE.NORMAL,
		heteronym: false,
		group: false,
		compact: false
	};
	const PHONETIC_SYMBOL = {
		"ā": "a1",
		"á": "a2",
		"ǎ": "a3",
		"à": "a4",
		"ē": "e1",
		"é": "e2",
		"ě": "e3",
		"è": "e4",
		"ō": "o1",
		"ó": "o2",
		"ǒ": "o3",
		"ò": "o4",
		"ī": "i1",
		"í": "i2",
		"ǐ": "i3",
		"ì": "i4",
		"ū": "u1",
		"ú": "u2",
		"ǔ": "u3",
		"ù": "u4",
		"ü": "v0",
		"ǘ": "v2",
		"ǚ": "v3",
		"ǜ": "v4",
		"ń": "n2",
		"ň": "n3",
		"": "m2"
	};
	const INITIALS = "b,p,m,f,d,t,n,l,g,k,h,j,q,x,r,zh,ch,sh,z,c,s".split(",");
	function hasKey(obj, key) {
		return Object.prototype.hasOwnProperty.call(obj, key);
	}
	const pinyinStyleMap = new Map([
		["tone", ENUM_PINYIN_STYLE.TONE],
		["TONE", ENUM_PINYIN_STYLE.TONE],
		["1", ENUM_PINYIN_STYLE.TONE],
		["tone2", ENUM_PINYIN_STYLE.TONE2],
		["TONE2", ENUM_PINYIN_STYLE.TONE2],
		["2", ENUM_PINYIN_STYLE.TONE2],
		["to3ne", ENUM_PINYIN_STYLE.TO3NE],
		["TO3NE", ENUM_PINYIN_STYLE.TO3NE],
		["5", ENUM_PINYIN_STYLE.TO3NE],
		["first_letter", ENUM_PINYIN_STYLE.FIRST_LETTER],
		["FIRST_LETTER", ENUM_PINYIN_STYLE.FIRST_LETTER],
		["4", ENUM_PINYIN_STYLE.FIRST_LETTER],
		["initials", ENUM_PINYIN_STYLE.INITIALS],
		["INITIALS", ENUM_PINYIN_STYLE.INITIALS],
		["3", ENUM_PINYIN_STYLE.INITIALS],
		["normal", ENUM_PINYIN_STYLE.NORMAL],
		["NORMAL", ENUM_PINYIN_STYLE.NORMAL],
		["0", ENUM_PINYIN_STYLE.NORMAL],
		["passport", ENUM_PINYIN_STYLE.PASSPORT],
		["PASSPORT", ENUM_PINYIN_STYLE.PASSPORT],
		["6", ENUM_PINYIN_STYLE.PASSPORT]
	]);
	function convertPinyinStyle(style) {
		const s = String(style);
		if (pinyinStyleMap.has(s)) {
			return pinyinStyleMap.get(s);
		}
		return ENUM_PINYIN_STYLE.TONE;
	}
	const pinyinModeMap = new Map([
		["normal", ENUM_PINYIN_MODE.NORMAL],
		["NORMAL", ENUM_PINYIN_MODE.NORMAL],
		["surname", ENUM_PINYIN_MODE.SURNAME],
		["SURNAME", ENUM_PINYIN_MODE.SURNAME]
	]);
	function convertPinyinMode(mode) {
		const s = String(mode);
		if (pinyinModeMap.has(s)) {
			return pinyinModeMap.get(s);
		}
		return ENUM_PINYIN_MODE.NORMAL;
	}
	function convertUserOptions(options) {
		let segment = undefined;
		if (options === null || options === void 0 ? void 0 : options.segment) {
			if ((options === null || options === void 0 ? void 0 : options.segment) === true) {
				segment = "Intl.Segmenter";
			} else {
				segment = options.segment;
			}
		}
		const opt = Object.assign(Object.assign({}, DEFAULT_OPTIONS), {
			style: convertPinyinStyle(options === null || options === void 0 ? void 0 : options.style),
			mode: convertPinyinMode(options === null || options === void 0 ? void 0 : options.mode),
			segment,
			heteronym: (options === null || options === void 0 ? void 0 : options.heteronym) || false,
			group: (options === null || options === void 0 ? void 0 : options.group) || false
		});
		return opt;
	}
	/**
	* 组合 2 个拼音数组。
	* @param {string[]} a1 第一个数组，形如 ["zhāo", "cháo"]
	* @param {string[]} a2 字符串型数组。形如 ["yáng"]
	* @return {string[]} 组合后的一维数组，如上可得 ["zhāoyáng", "cháoyáng"]
	*/
	function combo2array(a1, a2) {
		const result = [];
		if (!a1.length) {
			return a2;
		}
		if (!a2.length) {
			return a1;
		}
		for (let i = 0, l = a1.length; i < l; i++) {
			for (let j = 0, m = a2.length; j < m; j++) {
				result.push(a1[i] + a2[j]);
			}
		}
		return result;
	}
	/**
	* 合并二维元祖。
	* @param {string[][]} arr 二维元祖 [["zhāo", "cháo"], ["yáng"], ["dōng"], ["shēng"]]
	* @return {string[]} 返回二维字符串组合数组。形如
	*  [
	*    ["zhāoyáng"], ["dōng"], ["shēng"],
	*    ["cháoyáng"], ["dōng"], ["shēng"]
	*  ]
	*/
	function combo(arr) {
		if (arr.length === 0) {
			return [];
		}
		if (arr.length === 1) {
			return arr[0];
		}
		let result = combo2array(arr[0], arr[1]);
		for (let i = 2, l = arr.length; i < l; i++) {
			result = combo2array(result, arr[i]);
		}
		return result;
	}
	/**
	* 组合两个拼音数组，形成一个新的二维数组
	* @param {string[]|string[][]} arr1 eg: ["hai", "huan"]
	* @param {string[]} arr2 eg: ["qian"]
	* @returns {string[][]} 组合后的二维数组，eg: [ ["hai", "qian"], ["huan", "qian"] ]
	*/
	function compact2array(a1, a2) {
		if (!Array.isArray(a1) || !Array.isArray(a2)) {
			throw new Error("compact2array expect two array as parameters");
		}
		if (!a1.length) {
			a1 = [""];
		}
		if (!a2.length) {
			a2 = [""];
		}
		const result = [];
		for (let i = 0, l = a1.length; i < l; i++) {
			for (let j = 0, m = a2.length; j < m; j++) {
				if (Array.isArray(a1[i])) {
					result.push([...a1[i], a2[j]]);
				} else {
					result.push([a1[i], a2[j]]);
				}
			}
		}
		return result;
	}
	function compact(arr) {
		if (arr.length === 0) {
			return [];
		}
		if (arr.length === 1) {
			return [arr[0]];
		}
		let result = compact2array(arr[0], arr[1]);
		for (let i = 2, l = arr.length; i < l; ++i) {
			result = compact2array(result, arr[i]);
		}
		return result;
	}
	function initials(py) {
		for (let i = 0, l = INITIALS.length; i < l; i++) {
			if (py.indexOf(INITIALS[i]) === 0) {
				return INITIALS[i];
			}
		}
		return "";
	}
	const RE_PHONETIC_SYMBOL = new RegExp("([" + Object.keys(PHONETIC_SYMBOL).join("") + "])", "g");
	const RE_TONE2 = /([aeoiuvnm])([0-4])$/;
	/**
	* 格式化拼音风格。
	*
	* @param {string} pinyin TONE 风格的拼音。
	* @param {ENUM_PINYIN_STYLE} style 目标转换的拼音风格。
	* @return {string} 转换后的拼音。
	*/
	function toFixed(pinyin, style) {
		let tone = "";
		let first_letter;
		let py;
		switch (style) {
			case ENUM_PINYIN_STYLE.INITIALS: return initials(pinyin);
			case ENUM_PINYIN_STYLE.FIRST_LETTER:
				first_letter = pinyin.charAt(0);
				if (hasKey(PHONETIC_SYMBOL, first_letter)) {
					first_letter = PHONETIC_SYMBOL[first_letter].charAt(0);
				}
				return first_letter;
			case ENUM_PINYIN_STYLE.NORMAL: return pinyin.replace(RE_PHONETIC_SYMBOL, function($0, $1_phonetic) {
				return PHONETIC_SYMBOL[$1_phonetic].replace(RE_TONE2, "$1");
			});
			case ENUM_PINYIN_STYLE.PASSPORT: return pinyin.replace(RE_PHONETIC_SYMBOL, function($0, $1_phonetic) {
				return PHONETIC_SYMBOL[$1_phonetic].replace(RE_TONE2, "$1").replace("v", "YU");
			}).toUpperCase();
			case ENUM_PINYIN_STYLE.TO3NE: return pinyin.replace(RE_PHONETIC_SYMBOL, function($0, $1_phonetic) {
				return PHONETIC_SYMBOL[$1_phonetic];
			});
			case ENUM_PINYIN_STYLE.TONE2:
				py = pinyin.replace(RE_PHONETIC_SYMBOL, function($0, $1) {
					tone = PHONETIC_SYMBOL[$1].replace(RE_TONE2, "$2");
					return PHONETIC_SYMBOL[$1].replace(RE_TONE2, "$1");
				});
				return py + tone;
			case ENUM_PINYIN_STYLE.TONE:
			default: return pinyin;
		}
	}
	var SurnamePinyinData = {
		"赵": [["zhào"]],
		"钱": [["qián"]],
		"孙": [["sūn"]],
		"李": [["lǐ"]],
		"周": [["zhōu"]],
		"吴": [["wú"]],
		"郑": [["zhèng"]],
		"王": [["wáng"]],
		"冯": [["féng"]],
		"陈": [["chén"]],
		"褚": [["chǔ"]],
		"卫": [["wèi"]],
		"蒋": [["jiǎng"]],
		"沈": [["shěn"]],
		"韩": [["hán"]],
		"杨": [["yáng"]],
		"朱": [["zhū"]],
		"秦": [["qín"]],
		"尤": [["yóu"]],
		"许": [["xǔ"]],
		"何": [["hé"]],
		"吕": [["lǚ"]],
		"施": [["shī"]],
		"张": [["zhāng"]],
		"孔": [["kǒng"]],
		"曹": [["cáo"]],
		"严": [["yán"]],
		"华": [["huà"]],
		"金": [["jīn"]],
		"魏": [["wèi"]],
		"陶": [["táo"]],
		"姜": [["jiāng"]],
		"戚": [["qī"]],
		"谢": [["xiè"]],
		"邹": [["zōu"]],
		"喻": [["yù"]],
		"柏": [["bǎi"]],
		"水": [["shuǐ"]],
		"窦": [["dòu"]],
		"章": [["zhāng"]],
		"云": [["yún"]],
		"苏": [["sū"]],
		"潘": [["pān"]],
		"葛": [["gě"]],
		"奚": [["xī"]],
		"范": [["fàn"]],
		"彭": [["péng"]],
		"郎": [["láng"]],
		"鲁": [["lǔ"]],
		"韦": [["wéi"]],
		"昌": [["chāng"]],
		"马": [["mǎ"]],
		"苗": [["miáo"]],
		"凤": [["fèng"]],
		"花": [["huā"]],
		"方": [["fāng"]],
		"俞": [["yú"]],
		"任": [["rèn"]],
		"袁": [["yuán"]],
		"柳": [["liǔ"]],
		"酆": [["fēng"]],
		"鲍": [["bào"]],
		"史": [["shǐ"]],
		"唐": [["táng"]],
		"费": [["fèi"]],
		"廉": [["lián"]],
		"岑": [["cén"]],
		"薛": [["xuē"]],
		"雷": [["léi"]],
		"贺": [["hè"]],
		"倪": [["ní"]],
		"汤": [["tāng"]],
		"滕": [["téng"]],
		"殷": [["yīn"]],
		"罗": [["luó"]],
		"毕": [["bì"]],
		"郝": [["hǎo"]],
		"邬": [["wū"]],
		"安": [["ān"]],
		"常": [["cháng"]],
		"乐": [["yuè"]],
		"于": [["yú"]],
		"时": [["shí"]],
		"傅": [["fù"]],
		"皮": [["pí"]],
		"卞": [["biàn"]],
		"齐": [["qí"]],
		"康": [["kāng"]],
		"伍": [["wǔ"]],
		"余": [["yú"]],
		"元": [["yuán"]],
		"卜": [["bǔ"]],
		"顾": [["gù"]],
		"孟": [["mèng"]],
		"平": [["píng"]],
		"黄": [["huáng"]],
		"和": [["hé"]],
		"穆": [["mù"]],
		"萧": [["xiāo"]],
		"尹": [["yǐn"]],
		"姚": [["yáo"]],
		"邵": [["shào"]],
		"湛": [["zhàn"]],
		"汪": [["wāng"]],
		"祁": [["qí"]],
		"毛": [["máo"]],
		"禹": [["yǔ"]],
		"狄": [["dí"]],
		"米": [["mǐ"]],
		"贝": [["bèi"]],
		"明": [["míng"]],
		"臧": [["zāng"]],
		"计": [["jì"]],
		"伏": [["fú"]],
		"成": [["chéng"]],
		"戴": [["dài"]],
		"谈": [["tán"]],
		"宋": [["sòng"]],
		"茅": [["máo"]],
		"庞": [["páng"]],
		"熊": [["xióng"]],
		"纪": [["jì"]],
		"舒": [["shū"]],
		"屈": [["qū"]],
		"项": [["xiàng"]],
		"祝": [["zhù"]],
		"董": [["dǒng"]],
		"梁": [["liáng"]],
		"杜": [["dù"]],
		"阮": [["ruǎn"]],
		"蓝": [["lán"]],
		"闵": [["mǐn"]],
		"席": [["xí"]],
		"季": [["jì"]],
		"麻": [["má"]],
		"强": [["qiáng"]],
		"贾": [["jiǎ"]],
		"路": [["lù"]],
		"娄": [["lóu"]],
		"危": [["wēi"]],
		"江": [["jiāng"]],
		"童": [["tóng"]],
		"颜": [["yán"]],
		"郭": [["guō"]],
		"梅": [["méi"]],
		"盛": [["shèng"]],
		"林": [["lín"]],
		"刁": [["diāo"]],
		"钟": [["zhōng"]],
		"徐": [["xú"]],
		"邱": [["qiū"]],
		"骆": [["luò"]],
		"高": [["gāo"]],
		"夏": [["xià"]],
		"蔡": [["cài"]],
		"田": [["tián"]],
		"樊": [["fán"]],
		"胡": [["hú"]],
		"凌": [["líng"]],
		"霍": [["huò"]],
		"虞": [["yú"]],
		"万": [["wàn"]],
		"支": [["zhī"]],
		"柯": [["kē"]],
		"昝": [["zǎn"]],
		"管": [["guǎn"]],
		"卢": [["lú"]],
		"莫": [["mò"]],
		"经": [["jīng"]],
		"房": [["fáng"]],
		"裘": [["qiú"]],
		"缪": [["miào"]],
		"干": [["gān"]],
		"解": [["xiè"]],
		"应": [["yīng"]],
		"宗": [["zōng"]],
		"丁": [["dīng"]],
		"宣": [["xuān"]],
		"贲": [["bēn"]],
		"邓": [["dèng"]],
		"郁": [["yù"]],
		"单": [["shàn"]],
		"杭": [["háng"]],
		"洪": [["hóng"]],
		"包": [["bāo"]],
		"诸": [["zhū"]],
		"左": [["zuǒ"]],
		"石": [["shí"]],
		"崔": [["cuī"]],
		"吉": [["jí"]],
		"钮": [["niǔ"]],
		"龚": [["gōng"]],
		"程": [["chéng"]],
		"嵇": [["jī"]],
		"邢": [["xíng"]],
		"滑": [["huá"]],
		"裴": [["péi"]],
		"陆": [["lù"]],
		"荣": [["róng"]],
		"翁": [["wēng"]],
		"荀": [["xún"]],
		"羊": [["yáng"]],
		"於": [["yū"]],
		"惠": [["huì"]],
		"甄": [["zhēn"]],
		"曲": [["qū"]],
		"家": [["jiā"]],
		"封": [["fēng"]],
		"芮": [["ruì"]],
		"羿": [["yì"]],
		"储": [["chǔ"]],
		"靳": [["jìn"]],
		"汲": [["jí"]],
		"邴": [["bǐng"]],
		"糜": [["mí"]],
		"松": [["sōng"]],
		"井": [["jǐng"]],
		"段": [["duàn"]],
		"富": [["fù"]],
		"巫": [["wū"]],
		"乌": [["wū"]],
		"焦": [["jiāo"]],
		"巴": [["bā"]],
		"弓": [["gōng"]],
		"牧": [["mù"]],
		"隗": [["kuí"]],
		"山": [["shān"]],
		"谷": [["gǔ"]],
		"车": [["chē"]],
		"侯": [["hóu"]],
		"宓": [["mì"]],
		"蓬": [["péng"]],
		"全": [["quán"]],
		"郗": [["xī"]],
		"班": [["bān"]],
		"仰": [["yǎng"]],
		"秋": [["qiū"]],
		"仲": [["zhòng"]],
		"伊": [["yī"]],
		"宫": [["gōng"]],
		"宁": [["nìng"]],
		"仇": [["qiú"]],
		"栾": [["luán"]],
		"暴": [["bào"]],
		"甘": [["gān"]],
		"钭": [["tǒu"]],
		"厉": [["lì"]],
		"戎": [["róng"]],
		"祖": [["zǔ"]],
		"武": [["wǔ"]],
		"符": [["fú"]],
		"刘": [["liú"]],
		"景": [["jǐng"]],
		"詹": [["zhān"]],
		"束": [["shù"]],
		"龙": [["lóng"]],
		"叶": [["yè"]],
		"幸": [["xìng"]],
		"司": [["sī"]],
		"韶": [["sháo"]],
		"郜": [["gào"]],
		"黎": [["lí"]],
		"蓟": [["jì"]],
		"薄": [["bó"]],
		"印": [["yìn"]],
		"宿": [["sù"]],
		"白": [["bái"]],
		"怀": [["huái"]],
		"蒲": [["pú"]],
		"邰": [["tái"]],
		"从": [["cóng"]],
		"鄂": [["è"]],
		"索": [["suǒ"]],
		"咸": [["xián"]],
		"籍": [["jí"]],
		"赖": [["lài"]],
		"卓": [["zhuó"]],
		"蔺": [["lìn"]],
		"屠": [["tú"]],
		"蒙": [["méng"]],
		"池": [["chí"]],
		"乔": [["qiáo"]],
		"阴": [["yīn"]],
		"鬱": [["yù"]],
		"胥": [["xū"]],
		"能": [["nài"]],
		"苍": [["cāng"]],
		"双": [["shuāng"]],
		"闻": [["wén"]],
		"莘": [["shēn"]],
		"党": [["dǎng"]],
		"翟": [["zhái"]],
		"谭": [["tán"]],
		"贡": [["gòng"]],
		"劳": [["láo"]],
		"逄": [["páng"]],
		"姬": [["jī"]],
		"申": [["shēn"]],
		"扶": [["fú"]],
		"堵": [["dǔ"]],
		"冉": [["rǎn"]],
		"宰": [["zǎi"]],
		"郦": [["lì"]],
		"雍": [["yōng"]],
		"郤": [["xì"]],
		"璩": [["qú"]],
		"桑": [["sāng"]],
		"桂": [["guì"]],
		"濮": [["pú"]],
		"牛": [["niú"]],
		"寿": [["shòu"]],
		"通": [["tōng"]],
		"边": [["biān"]],
		"扈": [["hù"]],
		"燕": [["yān"]],
		"冀": [["jì"]],
		"郏": [["jiá"]],
		"浦": [["pǔ"]],
		"尚": [["shàng"]],
		"农": [["nóng"]],
		"温": [["wēn"]],
		"别": [["bié"]],
		"庄": [["zhuāng"]],
		"晏": [["yàn"]],
		"柴": [["chái"]],
		"瞿": [["qú"]],
		"阎": [["yán"]],
		"充": [["chōng"]],
		"慕": [["mù"]],
		"连": [["lián"]],
		"茹": [["rú"]],
		"习": [["xí"]],
		"宦": [["huàn"]],
		"艾": [["ài"]],
		"鱼": [["yú"]],
		"容": [["róng"]],
		"向": [["xiàng"]],
		"古": [["gǔ"]],
		"易": [["yì"]],
		"慎": [["shèn"]],
		"戈": [["gē"]],
		"廖": [["liào"]],
		"庾": [["yǔ"]],
		"终": [["zhōng"]],
		"暨": [["jì"]],
		"居": [["jū"]],
		"衡": [["héng"]],
		"步": [["bù"]],
		"都": [["dū"]],
		"耿": [["gěng"]],
		"满": [["mǎn"]],
		"弘": [["hóng"]],
		"匡": [["kuāng"]],
		"国": [["guó"]],
		"文": [["wén"]],
		"寇": [["kòu"]],
		"广": [["guǎng"]],
		"禄": [["lù"]],
		"阙": [["quē"]],
		"东": [["dōng"]],
		"欧": [["ōu"]],
		"殳": [["shū"]],
		"沃": [["wò"]],
		"利": [["lì"]],
		"蔚": [["wèi"]],
		"越": [["yuè"]],
		"夔": [["kuí"]],
		"隆": [["lóng"]],
		"师": [["shī"]],
		"巩": [["gǒng"]],
		"厍": [["shè"]],
		"聂": [["niè"]],
		"晁": [["cháo"]],
		"勾": [["gōu"]],
		"敖": [["áo"]],
		"融": [["róng"]],
		"冷": [["lěng"]],
		"訾": [["zǐ"]],
		"辛": [["xīn"]],
		"阚": [["kàn"]],
		"那": [["nā"]],
		"简": [["jiǎn"]],
		"饶": [["ráo"]],
		"空": [["kōng"]],
		"曾": [["zēng"]],
		"母": [["mǔ"]],
		"沙": [["shā"]],
		"乜": [["niè"]],
		"养": [["yǎng"]],
		"鞠": [["jū"]],
		"须": [["xū"]],
		"丰": [["fēng"]],
		"巢": [["cháo"]],
		"关": [["guān"]],
		"蒯": [["kuǎi"]],
		"相": [["xiàng"]],
		"查": [["zhā"]],
		"后": [["hòu"]],
		"荆": [["jīng"]],
		"红": [["hóng"]],
		"游": [["yóu"]],
		"竺": [["zhú"]],
		"权": [["quán"]],
		"逯": [["lù"]],
		"盖": [["gài"]],
		"益": [["yì"]],
		"桓": [["huán"]],
		"公": [["gōng"]],
		"牟": [["móu"]],
		"哈": [["hǎ"]],
		"言": [["yán"]],
		"福": [["fú"]],
		"朴": [["piáo"]]
	};
	var CompoundSurnamePinyinData = {
		"万俟": [["mò"], ["qí"]],
		"上官": [["shàng"], ["guān"]],
		"东方": [["dōng"], ["fāng"]],
		"东郭": [["dōng"], ["guō"]],
		"东门": [["dōng"], ["mén"]],
		"乐正": [["yuè"], ["zhèng"]],
		"亓官": [["qí"], ["guān"]],
		"仉督": [["zhǎng"], ["dū"]],
		"令狐": [["líng"], ["hú"]],
		"仲孙": [["zhòng"], ["sūn"]],
		"公冶": [["gōng"], ["yě"]],
		"公孙": [["gōng"], ["sūn"]],
		"公羊": [["gōng"], ["yáng"]],
		"公良": [["gōng"], ["liáng"]],
		"公西": [["gōng"], ["xī"]],
		"单于": [["chán"], ["yú"]],
		"南宫": [["nán"], ["gōng"]],
		"南门": [["nán"], ["mén"]],
		"司寇": [["sī"], ["kòu"]],
		"司徒": [["sī"], ["tú"]],
		"司空": [["sī"], ["kōng"]],
		"司马": [["sī"], ["mǎ"]],
		"呼延": [["hū"], ["yán"]],
		"壤驷": [["rǎng"], ["sì"]],
		"夏侯": [["xià"], ["hóu"]],
		"太叔": [["tài"], ["shū"]],
		"夹谷": [["jiá"], ["gǔ"]],
		"子车": [["zǐ"], ["jū"]],
		"宇文": [["yǔ"], ["wén"]],
		"宗政": [["zōng"], ["zhèng"]],
		"宰父": [["zǎi"], ["fǔ"]],
		"尉迟": [["yù"], ["chí"]],
		"左丘": [["zuǒ"], ["qiū"]],
		"巫马": [["wū"], ["mǎ"]],
		"慕容": [["mù"], ["róng"]],
		"拓跋": [["tuò"], ["bá"]],
		"梁丘": [["liáng"], ["qiū"]],
		"榖梁": [["gǔ"], ["liáng"]],
		"欧阳": [["ōu"], ["yáng"]],
		"段干": [["duàn"], ["gān"]],
		"淳于": [["chún"], ["yú"]],
		"漆雕": [["qī"], ["diāo"]],
		"澹台": [["tán"], ["tái"]],
		"濮阳": [["pú"], ["yáng"]],
		"申屠": [["shēn"], ["tú"]],
		"百里": [["bǎi"], ["lǐ"]],
		"皇甫": [["huáng"], ["pǔ"]],
		"端木": [["duān"], ["mù"]],
		"第五": [["dì"], ["wǔ"]],
		"羊舌": [["yáng"], ["shé"]],
		"西门": [["xī"], ["mén"]],
		"诸葛": [["zhū"], ["gě"]],
		"赫连": [["hè"], ["lián"]],
		"轩辕": [["xuān"], ["yuán"]],
		"钟离": [["zhōng"], ["lí"]],
		"长孙": [["zhǎng"], ["sūn"]],
		"闻人": [["wén"], ["rén"]],
		"闾丘": [["lǘ"], ["qiū"]],
		"颛孙": [["zhuān"], ["sūn"]],
		"鲜于": [["xiān"], ["yú"]]
	};
	var PinyinBase = class {
		constructor() {
			this.STYLE_TONE = ENUM_PINYIN_STYLE.TONE;
			this.STYLE_TONE2 = ENUM_PINYIN_STYLE.TONE2;
			this.STYLE_TO3NE = ENUM_PINYIN_STYLE.TO3NE;
			this.STYLE_NORMAL = ENUM_PINYIN_STYLE.NORMAL;
			this.STYLE_INITIALS = ENUM_PINYIN_STYLE.INITIALS;
			this.STYLE_FIRST_LETTER = ENUM_PINYIN_STYLE.FIRST_LETTER;
			this.STYLE_PASSPORT = ENUM_PINYIN_STYLE.PASSPORT;
			this.MODE_NORMAL = ENUM_PINYIN_MODE.NORMAL;
			this.MODE_SURNAME = ENUM_PINYIN_MODE.SURNAME;
		}
		/**
		* 拼音转换入口。
		*/
		pinyin(hans, options) {
			if (typeof hans !== "string") {
				return [];
			}
			const opt = convertUserOptions(options);
			let pys;
			if (opt.mode === ENUM_PINYIN_MODE.SURNAME) {
				pys = this.surname_pinyin(hans, opt);
			} else {
				if (opt.segment) {
					pys = this.segment_pinyin(hans, opt);
				} else {
					pys = this.normal_pinyin(hans, opt);
				}
			}
			if (options === null || options === void 0 ? void 0 : options.compact) {
				pys = compact(pys);
			}
			return pys;
		}
		/**
		* 不使用分词算法的拼音转换。
		*/
		normal_pinyin(hans, options) {
			const pys = [];
			let nohans = "";
			for (let i = 0, l = hans.length; i < l; i++) {
				const words = hans[i];
				const firstCharCode = words.charCodeAt(0);
				if (dict[firstCharCode]) {
					if (nohans.length > 0) {
						pys.push([nohans]);
						nohans = "";
					}
					pys.push(this.single_pinyin(words, options));
				} else {
					nohans += words;
				}
			}
			if (nohans.length > 0) {
				pys.push([nohans]);
				nohans = "";
			}
			return pys;
		}
		/**
		* 单字拼音转换。
		* @param {String} han, 单个汉字
		* @return {Array} 返回拼音列表，多音字会有多个拼音项。
		*/
		single_pinyin(han, options) {
			if (typeof han !== "string") {
				return [];
			}
			if (han.length !== 1) {
				return this.single_pinyin(han.charAt(0), options);
			}
			const hanCode = han.charCodeAt(0);
			if (!dict[hanCode]) {
				return [han];
			}
			const pys = dict[hanCode].split(",");
			if (!options.heteronym) {
				return [toFixed(pys[0], options.style)];
			}
			const py_cached = {};
			const pinyins = [];
			for (let i = 0, l = pys.length; i < l; i++) {
				const py = toFixed(pys[i], options.style);
				if (hasKey(py_cached, py)) {
					continue;
				}
				py_cached[py] = py;
				pinyins.push(py);
			}
			return pinyins;
		}
		segment(hans, segmentType) {
			return segment$1(hans, segmentType);
		}
		/**
		* 将文本分词，并转换成拼音。
		*/
		segment_pinyin(hans, options) {
			const phrases = this.segment(hans, options.segment);
			let pys = [];
			let nohans = "";
			for (let i = 0, l = phrases.length; i < l; i++) {
				const words = phrases[i];
				const firstCharCode = words.charCodeAt(0);
				if (dict[firstCharCode]) {
					if (nohans.length > 0) {
						pys.push([nohans]);
						nohans = "";
					}
					const newPys = words.length === 1 ? this.normal_pinyin(words, options) : this.phrases_pinyin(words, options);
					if (options.group) {
						pys.push(this.groupPhrases(newPys));
					} else {
						pys = pys.concat(newPys);
					}
				} else {
					nohans += words;
				}
			}
			if (nohans.length > 0) {
				pys.push([nohans]);
				nohans = "";
			}
			return pys;
		}
		/**
		* 词语注音
		* @param {String} phrases, 指定的词组。
		* @param {Object} options, 选项。
		* @return {Array}
		*/
		phrases_pinyin(phrases, options) {
			const py = [];
			if (hasKey(phrases_dict, phrases)) {
				//! copy pinyin result.
				phrases_dict[phrases].forEach(function(item, idx) {
					py[idx] = [];
					if (options.heteronym) {
						item.forEach(function(py_item, py_index) {
							py[idx][py_index] = toFixed(py_item, options.style);
						});
					} else {
						py[idx][0] = toFixed(item[0], options.style);
					}
				});
			} else {
				for (let i = 0, l = phrases.length; i < l; i++) {
					py.push(this.single_pinyin(phrases[i], options));
				}
			}
			return py;
		}
		groupPhrases(phrases) {
			if (phrases.length === 1) {
				return phrases[0];
			}
			const grouped = combo(phrases);
			return grouped;
		}
		surname_pinyin(hans, options) {
			return this.compound_surname(hans, options);
		}
		compound_surname(hans, options) {
			const len = hans.length;
			let prefixIndex = 0;
			let result = [];
			for (let i = 0; i < len; i++) {
				const twowords = hans.substring(i, i + 2);
				if (hasKey(CompoundSurnamePinyinData, twowords)) {
					if (prefixIndex <= i - 1) {
						result = result.concat(this.single_surname(hans.substring(prefixIndex, i), options));
					}
					const pys = CompoundSurnamePinyinData[twowords].map((item) => {
						return item.map((ch) => toFixed(ch, options.style));
					});
					result = result.concat(pys);
					i = i + 2;
					prefixIndex = i;
				}
			}
			result = result.concat(this.single_surname(hans.substring(prefixIndex, len), options));
			return result;
		}
		single_surname(hans, options) {
			let result = [];
			for (let i = 0, l = hans.length; i < l; i++) {
				const word = hans.charAt(i);
				if (hasKey(SurnamePinyinData, word)) {
					const pys = SurnamePinyinData[word].map((item) => {
						return item.map((ch) => toFixed(ch, options.style));
					});
					result = result.concat(pys);
				} else {
					result.push(this.single_pinyin(word, options));
				}
			}
			return result;
		}
		/**
		* 比较两个汉字转成拼音后的排序顺序，可以用作默认的拼音排序算法。
		*
		* @param {String} hanA 汉字字符串 A。
		* @return {String} hanB 汉字字符串 B。
		* @return {Number} 返回 -1，0，或 1。
		*/
		compare(hanA, hanB) {
			const pinyinA = this.pinyin(hanA);
			const pinyinB = this.pinyin(hanB);
			return String(pinyinA).localeCompare(String(pinyinB));
		}
		compact(pys) {
			return compact(pys);
		}
	};
	function getPinyinInstance(py) {
		const pinyin = py.pinyin.bind(py);
		pinyin.compare = py.compare.bind(py);
		pinyin.compact = py.compact.bind(py);
		pinyin.STYLE_TONE = ENUM_PINYIN_STYLE.TONE;
		pinyin.STYLE_TONE2 = ENUM_PINYIN_STYLE.TONE2;
		pinyin.STYLE_TO3NE = ENUM_PINYIN_STYLE.TO3NE;
		pinyin.STYLE_NORMAL = ENUM_PINYIN_STYLE.NORMAL;
		pinyin.STYLE_INITIALS = ENUM_PINYIN_STYLE.INITIALS;
		pinyin.STYLE_FIRST_LETTER = ENUM_PINYIN_STYLE.FIRST_LETTER;
		pinyin.STYLE_PASSPORT = ENUM_PINYIN_STYLE.PASSPORT;
		pinyin.MODE_NORMAL = ENUM_PINYIN_MODE.NORMAL;
		pinyin.MODE_SURNAME = ENUM_PINYIN_MODE.SURNAME;
		return pinyin;
	}
	let nodeRsJiebaLoaded = false;
	let segmentit;
	let hansIntlSegmenter;
	/**
	* TODO: 分词并带词性信息，需要调整 segment_pinyin 方法。
	* 分词并标注词性。
	*/
	function segment(hans, segment) {
		try {
			if (segment === "@node-rs/jieba") {
				const { load, cut } = __require("@node-rs/jieba");
				if (!load || !cut) {
					console.error("pinyin v4: \"@node-rs/jieba\" is peerDependencies");
					return [hans];
				}
				if (!nodeRsJiebaLoaded) {
					nodeRsJiebaLoaded = true;
					load();
				}
				return cut(hans, false);
			}
			if (segment === "segmentit") {
				const { Segment, useDefault } = __require("segmentit");
				if (!Segment) {
					console.error("pinyin v4: \"segmentit\" is peerDependencies");
					return [hans];
				}
				if (!segmentit) {
					segmentit = useDefault(new Segment());
				}
				return segmentit.doSegment(hans, { simple: true });
			}
			if (segment === "Intl.Segmenter") {
				if (typeof (Intl === null || Intl === void 0 ? void 0 : Intl.Segmenter) === "function") {
					if (!hansIntlSegmenter) {
						hansIntlSegmenter = new Intl.Segmenter("zh-Hans-CN", { granularity: "word" });
					}
					return [...hansIntlSegmenter.segment(hans)].map((s) => s.segment);
				}
			}
			const nodejieba = __require("nodejieba");
			if (!nodejieba) {
				console.error("pinyin v4: \"nodejieba\" is peerDependencies");
				return [hans];
			}
			return nodejieba.cutSmall(hans, 4);
		} catch (ex) {
			return [hans];
		}
	}
	var Pinyin = class extends PinyinBase {
		segment(hans, segmentType) {
			return segment(hans, segmentType);
		}
	};
	const pinyin = getPinyinInstance(new Pinyin());
	const compare = pinyin.compare;
	exports.Pinyin = Pinyin;
	exports.compact = compact;
	exports.compare = compare;
	exports["default"] = pinyin;
	exports.pinyin = pinyin;
}));

//#endregion
//#region ../utils/pinyin-tool.js
var import_pinyin = require_pinyin();
/**
* 获取中文文本的拼音首字母
* 
* 将输入的中文文本转换为对应的拼音首字母大写组合
* 例如："中国" -> "ZG"，"北京市" -> "BJS"
* 
* @param {string} text - 需要转换的中文文本
* @returns {string} 拼音首字母大写组合字符串
* 
* @example
* // 基本用法
* getFirstLetter('中国'); // 返回 'ZG'
* getFirstLetter('北京市'); // 返回 'BJS'
* getFirstLetter('上海浦东新区'); // 返回 'SHPDXQ'
*/
function getFirstLetter(text) {
	const pinyinArray = (0, import_pinyin.pinyin)(text, { style: import_pinyin.pinyin.STYLE_FIRST_LETTER });
	return pinyinArray.map((item) => item[0].toUpperCase()).join("");
}

//#endregion
//#region ../node_modules/dayjs/plugin/utc.js
var require_utc = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	!function(t, i) {
		"object" == typeof exports && "undefined" != typeof module ? module.exports = i() : "function" == typeof define && define.amd ? define(i) : (t = "undefined" != typeof globalThis ? globalThis : t || self).dayjs_plugin_utc = i();
	}(exports, (function() {
		"use strict";
		var t = "minute", i = /[+-]\d\d(?::?\d\d)?/g, e = /([+-]|\d\d)/g;
		return function(s, f, n) {
			var u = f.prototype;
			n.utc = function(t) {
				var i = {
					date: t,
					utc: !0,
					args: arguments
				};
				return new f(i);
			}, u.utc = function(i) {
				var e = n(this.toDate(), {
					locale: this.$L,
					utc: !0
				});
				return i ? e.add(this.utcOffset(), t) : e;
			}, u.local = function() {
				return n(this.toDate(), {
					locale: this.$L,
					utc: !1
				});
			};
			var r = u.parse;
			u.parse = function(t) {
				t.utc && (this.$u = !0), this.$utils().u(t.$offset) || (this.$offset = t.$offset), r.call(this, t);
			};
			var o = u.init;
			u.init = function() {
				if (this.$u) {
					var t = this.$d;
					this.$y = t.getUTCFullYear(), this.$M = t.getUTCMonth(), this.$D = t.getUTCDate(), this.$W = t.getUTCDay(), this.$H = t.getUTCHours(), this.$m = t.getUTCMinutes(), this.$s = t.getUTCSeconds(), this.$ms = t.getUTCMilliseconds();
				} else o.call(this);
			};
			var a = u.utcOffset;
			u.utcOffset = function(s, f) {
				var n = this.$utils().u;
				if (n(s)) return this.$u ? 0 : n(this.$offset) ? a.call(this) : this.$offset;
				if ("string" == typeof s && (s = function(t) {
					void 0 === t && (t = "");
					var s = t.match(i);
					if (!s) return null;
					var f = ("" + s[0]).match(e) || [
						"-",
						0,
						0
					], n = f[0], u = 60 * +f[1] + +f[2];
					return 0 === u ? 0 : "+" === n ? u : -u;
				}(s), null === s)) return this;
				var u = Math.abs(s) <= 16 ? 60 * s : s;
				if (0 === u) return this.utc(f);
				var r = this.clone();
				if (f) return r.$offset = u, r.$u = !1, r;
				var o = this.$u ? this.toDate().getTimezoneOffset() : -1 * this.utcOffset();
				return (r = this.local().add(u + o, t)).$offset = u, r.$x.$localOffset = o, r;
			};
			var h = u.format;
			u.format = function(t) {
				var i = t || (this.$u ? "YYYY-MM-DDTHH:mm:ss[Z]" : "");
				return h.call(this, i);
			}, u.valueOf = function() {
				var t = this.$utils().u(this.$offset) ? 0 : this.$offset + (this.$x.$localOffset || this.$d.getTimezoneOffset());
				return this.$d.valueOf() - 6e4 * t;
			}, u.isUTC = function() {
				return !!this.$u;
			}, u.toISOString = function() {
				return this.toDate().toISOString();
			}, u.toString = function() {
				return this.toDate().toUTCString();
			};
			var l = u.toDate;
			u.toDate = function(t) {
				return "s" === t && this.$offset ? n(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate() : l.call(this);
			};
			var c = u.diff;
			u.diff = function(t, i, e) {
				if (t && this.$u === t.$u) return c.call(this, t, i, e);
				var s = this.local(), f = n(t).local();
				return c.call(s, f, i, e);
			};
		};
	}));
}));

//#endregion
//#region ../node_modules/dayjs/plugin/timezone.js
var require_timezone = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	!function(t, e) {
		"object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : (t = "undefined" != typeof globalThis ? globalThis : t || self).dayjs_plugin_timezone = e();
	}(exports, (function() {
		"use strict";
		var t = {
			year: 0,
			month: 1,
			day: 2,
			hour: 3,
			minute: 4,
			second: 5
		}, e = {};
		return function(n, i, o) {
			var r, a = function(t, n, i) {
				void 0 === i && (i = {});
				var o = new Date(t), r = function(t, n) {
					void 0 === n && (n = {});
					var i = n.timeZoneName || "short", o = t + "|" + i, r = e[o];
					return r || (r = new Intl.DateTimeFormat("en-US", {
						hour12: !1,
						timeZone: t,
						year: "numeric",
						month: "2-digit",
						day: "2-digit",
						hour: "2-digit",
						minute: "2-digit",
						second: "2-digit",
						timeZoneName: i
					}), e[o] = r), r;
				}(n, i);
				return r.formatToParts(o);
			}, u = function(e, n) {
				for (var i = a(e, n), r = [], u = 0; u < i.length; u += 1) {
					var f = i[u], s = f.type, m = f.value, c = t[s];
					c >= 0 && (r[c] = parseInt(m, 10));
				}
				var d = r[3], l = 24 === d ? 0 : d, h = r[0] + "-" + r[1] + "-" + r[2] + " " + l + ":" + r[4] + ":" + r[5] + ":000", v = +e;
				return (o.utc(h).valueOf() - (v -= v % 1e3)) / 6e4;
			}, f = i.prototype;
			f.tz = function(t, e) {
				void 0 === t && (t = r);
				var n, i = this.utcOffset(), a = this.toDate(), u = a.toLocaleString("en-US", { timeZone: t }), f = Math.round((a - new Date(u)) / 1e3 / 60), s = 15 * -Math.round(a.getTimezoneOffset() / 15) - f;
				if (!Number(s)) n = this.utcOffset(0, e);
				else if (n = o(u, { locale: this.$L }).$set("millisecond", this.$ms).utcOffset(s, !0), e) {
					var m = n.utcOffset();
					n = n.add(i - m, "minute");
				}
				return n.$x.$timezone = t, n;
			}, f.offsetName = function(t) {
				var e = this.$x.$timezone || o.tz.guess(), n = a(this.valueOf(), e, { timeZoneName: t }).find((function(t) {
					return "timezonename" === t.type.toLowerCase();
				}));
				return n && n.value;
			};
			var s = f.startOf;
			f.startOf = function(t, e) {
				if (!this.$x || !this.$x.$timezone) return s.call(this, t, e);
				var n = o(this.format("YYYY-MM-DD HH:mm:ss:SSS"), { locale: this.$L });
				return s.call(n, t, e).tz(this.$x.$timezone, !0);
			}, o.tz = function(t, e, n) {
				var i = n && e, a = n || e || r, f = u(+o(), a);
				if ("string" != typeof t) return o(t).tz(a);
				var s = function(t, e, n) {
					var i = t - 60 * e * 1e3, o = u(i, n);
					if (e === o) return [i, e];
					var r = u(i -= 60 * (o - e) * 1e3, n);
					return o === r ? [i, o] : [t - 60 * Math.min(o, r) * 1e3, Math.max(o, r)];
				}(o.utc(t, i).valueOf(), f, a), m = s[0], c = s[1], d = o(m).utcOffset(c);
				return d.$x.$timezone = a, d;
			}, o.tz.guess = function() {
				return Intl.DateTimeFormat().resolvedOptions().timeZone;
			}, o.tz.setDefault = function(t) {
				r = t;
			};
		};
	}));
}));

//#endregion
//#region ../node_modules/dayjs/plugin/customParseFormat.js
var require_customParseFormat = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	!function(e, t) {
		"object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = "undefined" != typeof globalThis ? globalThis : e || self).dayjs_plugin_customParseFormat = t();
	}(exports, (function() {
		"use strict";
		var e = {
			LTS: "h:mm:ss A",
			LT: "h:mm A",
			L: "MM/DD/YYYY",
			LL: "MMMM D, YYYY",
			LLL: "MMMM D, YYYY h:mm A",
			LLLL: "dddd, MMMM D, YYYY h:mm A"
		}, t = /(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g, n = /\d/, r = /\d\d/, i = /\d\d?/, o = /\d*[^-_:/,()\s\d]+/, s = {}, a = function(e) {
			return (e = +e) + (e > 68 ? 1900 : 2e3);
		};
		var f = function(e) {
			return function(t) {
				this[e] = +t;
			};
		}, h = [/[+-]\d\d:?(\d\d)?|Z/, function(e) {
			(this.zone || (this.zone = {})).offset = function(e) {
				if (!e) return 0;
				if ("Z" === e) return 0;
				var t = e.match(/([+-]|\d\d)/g), n = 60 * t[1] + (+t[2] || 0);
				return 0 === n ? 0 : "+" === t[0] ? -n : n;
			}(e);
		}], u = function(e) {
			var t = s[e];
			return t && (t.indexOf ? t : t.s.concat(t.f));
		}, d = function(e, t) {
			var n, r = s.meridiem;
			if (r) {
				for (var i = 1; i <= 24; i += 1) if (e.indexOf(r(i, 0, t)) > -1) {
					n = i > 12;
					break;
				}
			} else n = e === (t ? "pm" : "PM");
			return n;
		}, c = {
			A: [o, function(e) {
				this.afternoon = d(e, !1);
			}],
			a: [o, function(e) {
				this.afternoon = d(e, !0);
			}],
			Q: [n, function(e) {
				this.month = 3 * (e - 1) + 1;
			}],
			S: [n, function(e) {
				this.milliseconds = 100 * +e;
			}],
			SS: [r, function(e) {
				this.milliseconds = 10 * +e;
			}],
			SSS: [/\d{3}/, function(e) {
				this.milliseconds = +e;
			}],
			s: [i, f("seconds")],
			ss: [i, f("seconds")],
			m: [i, f("minutes")],
			mm: [i, f("minutes")],
			H: [i, f("hours")],
			h: [i, f("hours")],
			HH: [i, f("hours")],
			hh: [i, f("hours")],
			D: [i, f("day")],
			DD: [r, f("day")],
			Do: [o, function(e) {
				var t = s.ordinal, n = e.match(/\d+/);
				if (this.day = n[0], t) for (var r = 1; r <= 31; r += 1) t(r).replace(/\[|\]/g, "") === e && (this.day = r);
			}],
			w: [i, f("week")],
			ww: [r, f("week")],
			M: [i, f("month")],
			MM: [r, f("month")],
			MMM: [o, function(e) {
				var t = u("months"), n = (u("monthsShort") || t.map((function(e) {
					return e.slice(0, 3);
				}))).indexOf(e) + 1;
				if (n < 1) throw new Error();
				this.month = n % 12 || n;
			}],
			MMMM: [o, function(e) {
				var t = u("months").indexOf(e) + 1;
				if (t < 1) throw new Error();
				this.month = t % 12 || t;
			}],
			Y: [/[+-]?\d+/, f("year")],
			YY: [r, function(e) {
				this.year = a(e);
			}],
			YYYY: [/\d{4}/, f("year")],
			Z: h,
			ZZ: h
		};
		function l(n) {
			var r, i;
			r = n, i = s && s.formats;
			for (var o = (n = r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, (function(t, n, r) {
				var o = r && r.toUpperCase();
				return n || i[r] || e[r] || i[o].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, (function(e, t, n) {
					return t || n.slice(1);
				}));
			}))).match(t), a = o.length, f = 0; f < a; f += 1) {
				var h = o[f], u = c[h], d = u && u[0], l = u && u[1];
				o[f] = l ? {
					regex: d,
					parser: l
				} : h.replace(/^\[|\]$/g, "");
			}
			return function(e) {
				for (var t = {}, n = 0, r = 0; n < a; n += 1) {
					var i = o[n];
					if ("string" == typeof i) r += i.length;
					else {
						var s = i.regex, f = i.parser, h = e.slice(r), u = s.exec(h)[0];
						f.call(t, u), e = e.replace(u, "");
					}
				}
				return function(e) {
					var t = e.afternoon;
					if (void 0 !== t) {
						var n = e.hours;
						t ? n < 12 && (e.hours += 12) : 12 === n && (e.hours = 0), delete e.afternoon;
					}
				}(t), t;
			};
		}
		return function(e, t, n) {
			n.p.customParseFormat = !0, e && e.parseTwoDigitYear && (a = e.parseTwoDigitYear);
			var r = t.prototype, i = r.parse;
			r.parse = function(e) {
				var t = e.date, r = e.utc, o = e.args;
				this.$u = r;
				var a = o[1];
				if ("string" == typeof a) {
					var f = !0 === o[2], h = !0 === o[3], u = f || h, d = o[2];
					h && (d = o[2]), s = this.$locale(), !f && d && (s = n.Ls[d]), this.$d = function(e, t, n, r) {
						try {
							if (["x", "X"].indexOf(t) > -1) return new Date(("X" === t ? 1e3 : 1) * e);
							var i = l(t)(e), o = i.year, s = i.month, a = i.day, f = i.hours, h = i.minutes, u = i.seconds, d = i.milliseconds, c = i.zone, m = i.week, M = new Date(), Y = a || (o || s ? 1 : M.getDate()), p = o || M.getFullYear(), v = 0;
							o && !s || (v = s > 0 ? s - 1 : M.getMonth());
							var D, w = f || 0, g = h || 0, y = u || 0, L = d || 0;
							return c ? new Date(Date.UTC(p, v, Y, w, g, y, L + 60 * c.offset * 1e3)) : n ? new Date(Date.UTC(p, v, Y, w, g, y, L)) : (D = new Date(p, v, Y, w, g, y, L), m && (D = r(D).week(m).toDate()), D);
						} catch (e) {
							return new Date("");
						}
					}(t, a, r, n), this.init(), d && !0 !== d && (this.$L = this.locale(d).$L), u && t != this.format(a) && (this.$d = new Date("")), s = {};
				} else if (a instanceof Array) for (var c = a.length, m = 1; m <= c; m += 1) {
					o[1] = a[m - 1];
					var M = n.apply(this, o);
					if (M.isValid()) {
						this.$d = M.$d, this.$L = M.$L, this.init();
						break;
					}
					m === c && (this.$d = new Date(""));
				}
				else i.call(this, e);
			};
		};
	}));
}));

//#endregion
//#region ../utils/datetime-format.js
/**
* 日期时间格式化工具模块
* 
* 基于 Day.js 库提供日期时间的格式化和时区转换功能。
* 主要用于将各种时间格式统一转换为北京时间格式。
* 
* 功能特性：
* - 支持自定义日期格式解析
* - 支持UTC时间处理
* - 支持时区转换
* - 提供北京时间格式化函数
* 
* @module DateTimeFormat
* @author drpy-node
* @since 1.0.0
*/
var import_utc = /* @__PURE__ */ __toESM(require_utc(), 1);
var import_timezone = /* @__PURE__ */ __toESM(require_timezone(), 1);
var import_customParseFormat = /* @__PURE__ */ __toESM(require_customParseFormat(), 1);
import_dayjs_min.default.extend(import_customParseFormat.default);
import_dayjs_min.default.extend(import_utc.default);
import_dayjs_min.default.extend(import_timezone.default);
/**
* 将任意时间格式转换为北京时间
* 
* 接收各种格式的日期时间输入，统一转换为北京时区的标准格式。
* 自动处理UTC时间转换和时区偏移，确保输出时间的准确性。
* 
* @function toBeijingTime
* @param {string|Date|number|null|undefined} date - 需要转换的日期时间
*   - string: 日期字符串（如 '2024-01-01 12:00:00'、'2024-01-01T12:00:00Z'）
*   - Date: JavaScript Date对象
*   - number: 时间戳（毫秒或秒）
*   - null/undefined: 空值
* @returns {string|null} 转换后的北京时间字符串，格式为 'YYYY-MM-DD HH:mm:ss'
*   - 成功转换时返回格式化的时间字符串
*   - 输入为空值时返回 null
* 
* @example
* // 转换UTC时间字符串
* toBeijingTime('2024-01-01T12:00:00Z')  // '2024-01-01 20:00:00'
* 
* // 转换本地时间字符串
* toBeijingTime('2024-01-01 12:00:00')   // '2024-01-01 12:00:00'
* 
* // 转换时间戳
* toBeijingTime(1704067200000)           // '2024-01-01 12:00:00'
* 
* // 处理空值
* toBeijingTime(null)                    // null
* toBeijingTime(undefined)               // null
*/
const toBeijingTime = (date) => date ? (0, import_dayjs_min.default)(date).utc().tz("Asia/Shanghai").format("YYYY-MM-DD HH:mm:ss") : null;

//#endregion
//#region ../node_modules/sync-fetch/src/headers.js
var require_headers = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const http$2 = __require("node:http");
	const _state = Symbol("headers map");
	function prepareHeaderName(name) {
		name = name.toLowerCase();
		http$2.validateHeaderName(name);
		return name;
	}
	function prepareHeader(name, value) {
		name = prepareHeaderName(name);
		value = (value + "").trim();
		http$2.validateHeaderValue(name, value);
		return [name, value];
	}
	var SyncHeaders = class SyncHeaders {
		constructor(headers) {
			this[_state] = {};
			if (headers instanceof SyncHeaders) {
				this[_state] = headers.raw();
			} else if (headers != null && headers[Symbol.iterator] != null) {
				if (typeof headers[Symbol.iterator] !== "function") {
					throw new TypeError("Header pairs must be iterable");
				}
				for (const header of headers) {
					if (header == null || typeof header[Symbol.iterator] !== "function") {
						throw new TypeError("Header pairs must be iterable");
					}
					if (typeof header === "string") {
						throw new TypeError("Each header pair must be an iterable object");
					}
					const pair = Array.from(header);
					if (pair.length !== 2) {
						throw new TypeError("Each header pair must be a name/value tuple");
					}
					const [name, value] = pair;
					this.append(name, value);
				}
			} else if (typeof headers === "object") {
				for (const name of Object.keys(headers)) {
					this.set(name, headers[name]);
				}
			} else if (headers !== undefined) {
				throw new TypeError("The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)'");
			}
		}
		append(name, value) {
			[name, value] = prepareHeader(name, value);
			if (this[_state][name]) {
				this[_state][name].push(value);
			} else {
				this[_state][name] = [value];
			}
		}
		delete(name) {
			name = prepareHeaderName(name);
			delete this[_state][name];
		}
		entries() {
			return this.keys().map((key) => [key, this.get(key)]);
		}
		forEach(callback, thisArg) {
			for (const [name, value] of this.entries()) {
				callback.call(thisArg ?? null, value, name, this);
			}
		}
		get(name) {
			name = prepareHeaderName(name);
			if (this.has(name)) {
				return this[_state][name].join(", ");
			}
			return null;
		}
		getSetCookie() {
			const name = "set-cookie";
			if (this.has(name)) {
				return this[_state][name].slice();
			}
			return [];
		}
		has(name) {
			name = prepareHeaderName(name);
			return Object.prototype.hasOwnProperty.call(this[_state], name);
		}
		keys() {
			return Object.keys(this[_state]).sort();
		}
		set(name, value) {
			[name, value] = prepareHeader(name, value);
			this[_state][name] = [value];
		}
		raw() {
			const headers = {};
			for (const name of this.keys()) {
				headers[name] = this[_state][name].slice();
			}
			return headers;
		}
		values() {
			return this.keys().map((key) => this.get(key));
		}
		*[Symbol.iterator]() {
			for (const entry of this.entries()) {
				yield entry;
			}
		}
		get [Symbol.toStringTag]() {
			return "Headers";
		}
	};
	Object.defineProperties(SyncHeaders.prototype, {
		append: { enumerable: true },
		delete: { enumerable: true },
		entries: { enumerable: true },
		forEach: { enumerable: true },
		get: { enumerable: true },
		getSetCookie: { enumerable: true },
		has: { enumerable: true },
		keys: { enumerable: true },
		set: { enumerable: true },
		values: { enumerable: true }
	});
	function initializeHeaders(rawHeaders) {
		const headers = new SyncHeaders();
		headers[_state] = rawHeaders;
		return headers;
	}
	module.exports = {
		SyncHeaders,
		initializeHeaders
	};
}));

//#endregion
//#region ../node_modules/sync-fetch/src/error.js
var require_error = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var FetchError = class extends Error {
		constructor(message, type, systemError) {
			super(message);
			this.type = type;
			if (systemError) {
				this.code = this.errno = systemError.code;
			}
		}
		get name() {
			return "FetchError";
		}
		get [Symbol.toStringTag]() {
			return "FetchError";
		}
	};
	const errors = { TypeError };
	function deserializeError(name, init) {
		if (name in errors) {
			return new errors[name](...init);
		} else {
			return new FetchError(...init);
		}
	}
	module.exports = {
		FetchError,
		deserializeError
	};
}));

//#endregion
//#region ../node_modules/sync-fetch/src/body.js
var require_body = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const Stream$1 = __require("stream");
	const MIMEType = require_mime_type();
	const { FetchError } = require_error();
	const _state = Symbol("SyncFetch Internals");
	function getMimeType(body) {
		if (!body.headers.has("content-type")) {
			return null;
		}
		let essence = null;
		let charset = null;
		let mimeType = null;
		for (const type of body.headers.raw()["content-type"]) {
			mimeType = new MIMEType(type);
			if (mimeType.essence !== essence) {
				charset = mimeType.parameters.get("charset") ?? null;
				essence = mimeType.essence;
			} else if (!mimeType.parameters.has("charset") && charset !== null) {
				mimeType.parameters.set("charset", charset);
			}
		}
		return mimeType.toString();
	}
	var Body = class Body {
		static mixin(proto) {
			for (const name of Object.getOwnPropertyNames(Body.prototype)) {
				if (name === "constructor") {
					continue;
				}
				const desc = Object.getOwnPropertyDescriptor(Body.prototype, name);
				Object.defineProperty(proto, name, {
					...desc,
					enumerable: true
				});
			}
		}
		arrayBuffer() {
			checkBody(this);
			const buf = consumeBody(this);
			return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
		}
		text() {
			checkBody(this);
			return consumeBody(this).toString();
		}
		json() {
			checkBody(this);
			try {
				return JSON.parse(consumeBody(this).toString());
			} catch (err) {
				throw new FetchError(`invalid json response body at ${this.url} reason: ${err.message}`, "invalid-json");
			}
		}
		buffer() {
			checkBody(this);
			return Buffer.from(consumeBody(this));
		}
		textConverted() {
			throw new FetchError("textConverted not implemented");
		}
		blob() {
			checkBody(this);
			return new Blob([this.arrayBuffer()], { type: getMimeType(this) ?? "" });
		}
		get body() {
			return this[_state].bodyStream;
		}
		get bodyUsed() {
			if (this[_state].bodyStream && this[_state].bodyStream.state === "closed") {
				this[_state].bodyUsed = true;
			}
			return this[_state].bodyUsed;
		}
	};
	function checkBody(body) {
		if (body[_state].bodyError) {
			throw body[_state].bodyError;
		}
		if (body.bodyUsed) {
			throw new TypeError(`body used already for: ${body.url}`);
		}
	}
	function consumeBody(body) {
		body[_state].bodyUsed = true;
		return body[_state].body || Buffer.alloc(0);
	}
	function parseBodyType(body) {
		if (body == null) {
			return "Null";
		} else if (body.constructor.name === "URLSearchParams") {
			return "URLSearchParams";
		} else if (Buffer.isBuffer(body)) {
			return "Buffer";
		} else if (Object.prototype.toString.call(body) === "[object ArrayBuffer]") {
			return "ArrayBuffer";
		} else if (ArrayBuffer.isView(body)) {
			return "ArrayBufferView";
		} else if (body instanceof Stream$1) {
			return "Stream";
		} else {
			return "String";
		}
	}
	function parseBody(body, type = parseBodyType(body)) {
		switch (type) {
			case "Null": return null;
			case "URLSearchParams": return Buffer.from(body.toString());
			case "Buffer": return body;
			case "ArrayBuffer": return Buffer.from(body);
			case "ArrayBufferView": return Buffer.from(body.buffer, body.byteOffset, body.byteLength);
			case "String": return Buffer.from(String(body));
			default: throw new TypeError(`sync-fetch does not support bodies of type: ${type}`);
		}
	}
	function createStream(buffer) {
		return new ReadableStream({ start(controller) {
			controller.enqueue(buffer);
			controller.close();
		} });
	}
	module.exports = {
		Body,
		checkBody,
		parseBody,
		createStream,
		_state
	};
}));

//#endregion
//#region ../node_modules/sync-fetch/src/request.js
var require_request = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const util$4 = __require("util");
	const { Body, checkBody, parseBody, createStream, _state } = require_body();
	const { SyncHeaders } = require_headers();
	var SyncRequest = class SyncRequest {
		constructor(resource, init = {}) {
			const nodeFetchOptions = Object.assign(resource instanceof SyncRequest ? { ...resource[_state] } : {}, init);
			const buffer = nodeFetchOptions.body ? parseBody(nodeFetchOptions.body) : null;
			if (resource instanceof SyncRequest) {
				const request = serializeRequest(resource);
				resource = request[0];
				init = Object.assign(request[1], init);
			}
			const request = new Request(resource, init);
			Object.defineProperty(this, _state, {
				value: {
					body: buffer,
					bodyStream: buffer ? createStream(buffer) : null,
					bodyUsed: false,
					cache: request.cache,
					credentials: request.credentials,
					destination: request.destination,
					headers: new SyncHeaders(request.headers),
					integrity: request.integrity,
					keepalive: request.keepalive,
					method: request.method,
					mode: request.mode,
					redirect: request.redirect,
					referrer: request.referrer,
					referrerPolicy: request.referrerPolicy,
					signal: request.signal,
					url: request.url,
					follow: nodeFetchOptions.follow,
					timeout: nodeFetchOptions.timeout,
					compress: nodeFetchOptions.compress,
					size: nodeFetchOptions.size,
					agent: nodeFetchOptions.agent
				},
				enumerable: false
			});
		}
		get [Symbol.toStringTag]() {
			return "Request";
		}
		get cache() {
			return this[_state].cache;
		}
		get counter() {
			return 0;
		}
		get credentials() {
			return this[_state].credentials;
		}
		get destination() {
			return this[_state].destination;
		}
		get headers() {
			return this[_state].headers;
		}
		get integrity() {
			return this[_state].integrity;
		}
		get method() {
			return this[_state].method;
		}
		get mode() {
			return this[_state].mode;
		}
		get priority() {
			return this[_state].priority;
		}
		get redirect() {
			return this[_state].redirect;
		}
		get referrer() {
			return this[_state].referrer;
		}
		get referrerPolicy() {
			return this[_state].referrerPolicy;
		}
		get signal() {
			return this[_state].signal;
		}
		get url() {
			return this[_state].url;
		}
		get follow() {
			return this[_state].follow;
		}
		get timeout() {
			return this[_state].timeout;
		}
		get compress() {
			return this[_state].compress;
		}
		get size() {
			return this[_state].size;
		}
		get agent() {
			return this[_state].agent;
		}
		clone() {
			checkBody(this);
			return new SyncRequest(this.url, this[_state]);
		}
		[util$4.inspect.custom](depth, options) {
			if (options.depth === null) {
				options.depth = 2;
			}
			options.colors ??= true;
			const properties = {
				...serializeRequest(this)[1],
				agent: this.agent,
				signal: this.signal,
				url: this.url
			};
			return `Response ${util$4.formatWithOptions(options, properties)}`;
		}
	};
	Body.mixin(SyncRequest.prototype);
	Object.defineProperties(SyncRequest.prototype, {
		cache: { enumerable: true },
		credentials: { enumerable: true },
		destination: { enumerable: true },
		headers: { enumerable: true },
		integrity: { enumerable: true },
		method: { enumerable: true },
		mode: { enumerable: true },
		priority: { enumerable: true },
		redirect: { enumerable: true },
		referrer: { enumerable: true },
		referrerPolicy: { enumerable: true },
		signal: { enumerable: true },
		url: { enumerable: true },
		clone: { enumerable: true }
	});
	function serializeRequest(request) {
		return [request.url, {
			body: request[_state].body ? request[_state].body.toString("base64") : undefined,
			cache: request.cache,
			credentials: request.credentials,
			destination: request.destination,
			headers: Array.from(request.headers),
			integrity: request.integrity,
			keepalive: request.keepalive,
			method: request.method,
			mode: request.mode,
			redirect: request.redirect,
			referrer: request.referrer,
			referrerPolicy: request.referrerPolicy,
			follow: request.follow,
			timeout: request.timeout,
			compress: request.compress,
			size: request.size
		}];
	}
	module.exports = {
		SyncRequest,
		serializeRequest
	};
}));

//#endregion
//#region ../node_modules/sync-fetch/src/response.js
var require_response = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const util$3 = __require("util");
	const { Body, checkBody, parseBody, createStream, _state } = require_body();
	const { deserializeError } = require_error();
	const { SyncHeaders, initializeHeaders } = require_headers();
	var SyncResponse = class {
		constructor(body, options = {}) {
			if (typeof options !== "object") {
				throw new TypeError("expected options to be an object");
			}
			const buffer = parseBody(body);
			Object.defineProperty(this, _state, {
				value: {
					status: options.status ?? 200,
					statusText: options.statusText ?? "",
					headers: new SyncHeaders(options.headers),
					url: "",
					body: buffer,
					bodyStream: body ? createStream(buffer) : null,
					bodyUsed: false
				},
				enumerable: false
			});
			if (body && !this.headers.has("content-type")) {
				const response = new Response(body);
				this.headers.append("content-type", response.headers.get("content-type"));
			}
			if (options.url) {
				this[_state].url = options.url;
			}
		}
		get [Symbol.toStringTag]() {
			return "Response";
		}
		get headers() {
			return this[_state].headers;
		}
		get ok() {
			const status = this[_state].status;
			return status >= 200 && status < 300;
		}
		get redirected() {
			return this[_state].redirected;
		}
		get status() {
			return this[_state].status;
		}
		get statusText() {
			return this[_state].statusText;
		}
		get type() {
			return this[_state].type;
		}
		get url() {
			return this[_state].url;
		}
		clone() {
			checkBody(this);
			return initializeResponse({
				status: this.status,
				statusText: this.statusText,
				headers: new SyncHeaders(Array.from(this.headers))
			}, {
				body: Buffer.from(this[_state].body),
				bodyError: this.bodyError,
				redirected: this.redirected,
				type: this.type,
				url: this.url
			});
		}
		[util$3.inspect.custom](depth, options) {
			if (options.depth === null) {
				options.depth = 2;
			}
			options.colors ??= true;
			const properties = {
				status: this.status,
				statusText: this.statusText,
				headers: this.headers,
				body: this.body,
				bodyUsed: this.bodyUsed,
				ok: this.ok,
				redirected: this.redirected,
				type: this.type,
				url: this.url
			};
			return `Response ${util$3.formatWithOptions(options, properties)}`;
		}
	};
	Body.mixin(SyncResponse.prototype);
	Object.defineProperties(SyncResponse.prototype, {
		headers: { enumerable: true },
		ok: { enumerable: true },
		redirected: { enumerable: true },
		status: { enumerable: true },
		statusText: { enumerable: true },
		type: { enumerable: true },
		url: { enumerable: true },
		clone: { enumerable: true }
	});
	/**
	* @param {object} [options]
	* @param {number} [options.status]
	* @param {string} [options.statusText]
	* @param {Headers|object|array} [options.headers]
	* @param {object} [state]
	* @param {Buffer} [state.body]
	* @param {Error} [state.bodyError]
	* @param {boolean} [state.redirected]
	* @param {string} [state.type]
	* @param {string} [state.url]
	*/
	function initializeResponse(init, state) {
		const response = new SyncResponse(state.body, init);
		response[_state].bodyError = state.bodyError;
		response[_state].redirected = state.redirected;
		response[_state].type = state.type;
		response[_state].url = state.url;
		return response;
	}
	/**
	* @param {string} body
	* @param {object} init
	* @param {array} [bodyError]
	*/
	function deserializeResponse(body, init, bodyError) {
		const options = {
			...init,
			headers: initializeHeaders(init.headers)
		};
		const state = {
			...init,
			body: Buffer.from(body, "base64"),
			bodyError: bodyError ? deserializeError(...bodyError) : undefined
		};
		return initializeResponse(options, state);
	}
	module.exports = {
		SyncResponse,
		deserializeResponse
	};
}));

//#endregion
//#region ../node_modules/sync-fetch/index.js
var require_sync_fetch = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	const exec$1 = __require("child_process").execFileSync;
	const path$3 = __require("path");
	const { SyncHeaders } = require_headers();
	const { FetchError, deserializeError } = require_error();
	const { SyncRequest, serializeRequest } = require_request();
	const { SyncResponse, deserializeResponse } = require_response();
	function syncFetch(resource, init) {
		const request = serializeRequest(new syncFetch.Request(resource, init));
		const [status, ...response] = JSON.parse(sendMessage(request));
		if (status === 0) {
			return deserializeResponse(...response);
		} else {
			throw deserializeError(...response[0]);
		}
	}
	function sendMessage(message) {
		return exec$1(process.execPath, [path$3.join(__dirname, "worker.js")], {
			windowsHide: true,
			maxBuffer: Infinity,
			input: JSON.stringify(message),
			shell: false
		}).toString();
	}
	syncFetch.Headers = SyncHeaders;
	syncFetch.FetchError = FetchError;
	syncFetch.Request = SyncRequest;
	syncFetch.Response = SyncResponse;
	module.exports = syncFetch;
}));

//#endregion
//#region ../libs_drpy/moduleLoader.js
var import_sync_fetch = /* @__PURE__ */ __toESM(require_sync_fetch(), 1);
const __dirname$4 = path.dirname(fileURLToPath(import.meta.url));
const ROOT_DIR = path.resolve(__dirname$4, "../");
const LIB_ROOT = path.join(ROOT_DIR, "spider/js");
const customRequire = createRequire$1(import.meta.url);
const rootRequire = (modulePath) => {
	if (modulePath.startsWith("./") || modulePath.startsWith("../")) {
		const absolutePath = path.resolve(LIB_ROOT, modulePath);
		return customRequire(absolutePath);
	}
	return customRequire(modulePath);
};
function initializeGlobalDollar() {
	if (globalThis.$) return;
	let currentSandbox = null;
	function executeModule(js_code, sandbox) {
		const script = `
            (function () {
                try {
                    ${js_code}
                } catch (err) {
                    throw new Error("Error executing module script: " + err.message);
                }
            })();
        `;
		const scriptRunner = new Function("sandbox", `
            with (sandbox) {
                ${script}
            }
        `);
		scriptRunner(sandbox);
		if (!$.exports || Object.keys($.exports).length === 0) {
			throw new Error(`Module did not export anything.`);
		}
		return $.exports;
	}
	function loadLocalModule(jsm_path) {
		const fullPath = path.join(__dirname$4, "../spider/js", jsm_path);
		if (!existsSync(fullPath)) {
			throw new Error(`Module not found: ${fullPath}`);
		}
		const baseName = path.basename(fullPath);
		if (!baseName.startsWith("_lib")) {
			throw new Error(`Invalid module name: ${baseName}. Must start with "_lib".`);
		}
		return readFileSync(fullPath, "utf8");
	}
	async function loadRemoteModule(jsm_path) {
		try {
			const response = await axios$1.get(jsm_path, {
				headers: { "user-agent": "Mozilla/5.0" },
				timeout: 5e3
			});
			return response.data;
		} catch (error) {
			throw new Error(`Failed to fetch remote module: ${error.message}`);
		}
	}
	globalThis.$ = {
		setSandbox(sandbox) {
			currentSandbox = sandbox;
		},
		async import(jsm_path) {
			if (!currentSandbox) throw new Error("No sandbox context set");
			const isURL = /^(https?:)?\/\//.test(jsm_path);
			const js_code = isURL ? await loadRemoteModule(jsm_path) : loadLocalModule(jsm_path);
			return executeModule(js_code, currentSandbox);
		},
		require(jsm_path) {
			if (!currentSandbox) throw new Error("No sandbox context set");
			const isURL = /^(https?:)?\/\//.test(jsm_path);
			const js_code = isURL ? (0, import_sync_fetch.default)(jsm_path).text() : loadLocalModule(jsm_path);
			return executeModule(js_code, currentSandbox);
		}
	};
}

//#endregion
//#region ../libs_drpy/template.js
/**
* DRPY模板系统
* 提供各种网站的解析模板和播放器配置
* @module template
*/
/**
* 通用免嗅探播放器
* 用于解析常见的视频播放页面，支持加密URL解码
*/
let common_lazy = $js$1.toString(async () => {
	log("[common_lazy] input:", input);
	let html = await request(input);
	let result = input;
	let hconf = html.match(/r player_.*?=(.*?)</)[1];
	let json = JSON5.parse(hconf);
	let url = json.url;
	if (json.encrypt == "1") {
		url = unescape(url);
	} else if (json.encrypt == "2") {
		url = unescape(base64Decode(url));
	}
	if (/\\.(m3u8|mp4|m4a|mp3)/.test(url)) {
		result = {
			parse: 0,
			jx: 0,
			url
		};
	} else {
		result = url && url.startsWith("http") && tellIsJx(url) ? {
			parse: 0,
			jx: 1,
			url
		} : input;
	}
	log("[common_lazy] result:", result);
	return input;
});
/**
* 默认嗅探播放器
* 使用默认的嗅探方式播放视频
*/
let def_lazy = $js$1.toString(async () => {
	return {
		parse: 1,
		url: input,
		js: ""
	};
});
/**
* 采集站播放器
* 用于处理采集站的视频播放链接
*/
let cj_lazy = $js$1.toString(async () => {
	let result = input;
	if (/\.(m3u8|mp4)/.test(input)) {
		result = {
			parse: 0,
			url: input
		};
	} else {
		if (rule.parse_url.startsWith("json:")) {
			let purl = rule.parse_url.replace("json:", "") + input;
			let html = await request(purl);
			let json = JSON.parse(html);
			if (json.url) {
				result = {
					parse: 0,
					url: json.url
				};
			}
		} else {
			result = rule.parse_url + input;
		}
	}
	log(`[cj_lazy] result:`, result);
	return result;
});
/**
* 获取模板字典
* 返回包含各种网站解析模板的字典对象
* @returns {Object} 模板字典，包含各种网站的解析配置
*/
function getMubans() {
	const mubanDict = {
		mx: {
			title: "",
			host: "",
			url: "/vodshow/fyclass--------fypage---/",
			searchUrl: "/vodsearch/**----------fypage---/",
			class_parse: ".top_nav li;a&&Text;a&&href;.*/(.*?)/",
			searchable: 2,
			quickSearch: 0,
			filterable: 0,
			headers: { "User-Agent": "MOBILE_UA" },
			play_parse: true,
			lazy: common_lazy,
			limit: 6,
			double: true,
			推荐: ".cbox_list;*;*;*;*;*",
			一级: "ul.vodlist li;a&&title;a&&data-original;.pic_text&&Text;a&&href",
			二级: {
				title: "h2&&Text;.content_detail:eq(1)&&li&&a:eq(2)&&Text",
				img: ".vodlist_thumb&&data-original",
				desc: ".content_detail:eq(1)&&li:eq(1)&&Text;.content_detail:eq(1)&&li&&a&&Text;.content_detail:eq(1)&&li&&a:eq(1)&&Text;.content_detail:eq(1)&&li:eq(2)&&Text;.content_detail:eq(1)&&li:eq(3)&&Text",
				content: ".content_desc&&span&&Text",
				tabs: ".play_source_tab&&a",
				lists: ".content_playlist:eq(#id) li"
			},
			搜索: "*"
		},
		mxpro: {
			title: "",
			host: "",
			url: "/vodshow/fyclass--------fypage---.html",
			searchUrl: "/vodsearch/**----------fypage---.html",
			searchable: 2,
			quickSearch: 0,
			filterable: 0,
			headers: { "User-Agent": "MOBILE_UA" },
			class_parse: ".navbar-items li:gt(0):lt(10);a&&Text;a&&href;/(\\d+)",
			play_parse: true,
			lazy: common_lazy,
			limit: 6,
			double: true,
			推荐: ".tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href",
			一级: "body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href",
			二级: {
				title: "h1&&Text;.module-info-tag-link:eq(-1)&&Text",
				img: ".lazyload&&data-original||data-src||src",
				desc: ".module-info-item:eq(-2)&&Text;.module-info-tag-link&&Text;.module-info-tag-link:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(1)&&Text",
				content: ".module-info-introduction&&Text",
				tabs: ".module-tab-item",
				lists: ".module-play-list:eq(#id) a",
				tab_text: "div--small&&Text"
			},
			搜索: "body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text"
		},
		mxone5: {
			title: "",
			host: "",
			url: "/show/fyclass--------fypage---.html",
			searchUrl: "/search/**----------fypage---.html",
			searchable: 2,
			quickSearch: 0,
			filterable: 0,
			class_parse: ".nav-menu-items&&li;a&&Text;a&&href;.*/(.*?).html",
			play_parse: true,
			lazy: common_lazy,
			limit: 6,
			double: true,
			推荐: ".module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href",
			一级: ".module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href",
			二级: {
				title: "h1&&Text;.tag-link&&Text",
				img: ".module-item-pic&&img&&data-src",
				desc: ".video-info-items:eq(3)&&Text;.tag-link:eq(2)&&Text;.tag-link:eq(1)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(0)&&Text",
				content: ".vod_content&&Text",
				tabs: ".module-tab-item",
				lists: ".module-player-list:eq(#id)&&.scroll-content&&a",
				tab_text: "div--small&&Text"
			},
			搜索: ".module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href"
		},
		首图: {
			title: "",
			host: "",
			url: "/vodshow/fyclass--------fypage---/",
			searchUrl: "/vodsearch/**----------fypage---.html",
			searchable: 2,
			quickSearch: 0,
			filterable: 0,
			headers: { "User-Agent": "MOBILE_UA" },
			class_parse: ".myui-header__menu li.hidden-sm:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html",
			play_parse: true,
			lazy: common_lazy,
			limit: 6,
			double: true,
			推荐: "ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href",
			一级: ".myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href",
			二级: {
				title: ".myui-content__detail .title--span&&Text;.myui-content__detail p.data:eq(3)&&Text",
				img: ".myui-content__thumb .lazyload&&data-original",
				desc: ".myui-content__detail p.otherbox&&Text;.year&&Text;.myui-content__detail p.data:eq(4)&&Text;.myui-content__detail p.data:eq(2)&&Text;.myui-content__detail p.data:eq(0)&&Text",
				content: ".content&&Text",
				tabs: ".myui-panel__head&&li",
				lists: ".myui-content__list:eq(#id) li"
			},
			搜索: "#searchList li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href;.detail&&Text"
		},
		首图2: {
			title: "",
			host: "",
			url: "/list/fyclass-fypage.html",
			searchUrl: "/vodsearch/**----------fypage---.html",
			searchable: 2,
			quickSearch: 0,
			filterable: 0,
			headers: { "User-Agent": "UC_UA" },
			class_parse: ".stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html",
			play_parse: true,
			lazy: common_lazy,
			limit: 6,
			double: true,
			推荐: "ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href",
			一级: ".stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href",
			二级: {
				title: ".stui-content__detail .title&&Text;.stui-content__detail&&p:eq(-2)&&a&&Text",
				title1: ".stui-content__detail .title&&Text;.stui-content__detail&&p&&Text",
				img: ".stui-content__thumb .lazyload&&data-original",
				desc: ".stui-content__detail p&&Text;.stui-content__detail&&p:eq(-2)&&a:eq(2)&&Text;.stui-content__detail&&p:eq(-2)&&a:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text;.stui-content__detail p:eq(1)&&Text",
				desc1: ".stui-content__detail p:eq(4)&&Text;;;.stui-content__detail p:eq(1)&&Text",
				content: ".detail&&Text",
				tabs: ".stui-pannel__head h3",
				tabs1: ".stui-vodlist__head h3",
				lists: ".stui-content__playlist:eq(#id) li"
			},
			搜索: "ul.stui-vodlist__media,ul.stui-vodlist,#searchList li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href;.detail&&Text"
		},
		默认: {
			title: "",
			host: "",
			url: "",
			searchUrl: "",
			searchable: 2,
			quickSearch: 0,
			filterable: 0,
			filter: "",
			filter_url: "",
			filter_def: {},
			headers: { "User-Agent": "MOBILE_UA" },
			timeout: 5e3,
			class_parse: "#side-menu li;a&&Text;a&&href;/(.*?).html",
			cate_exclude: "",
			play_parse: true,
			lazy: def_lazy,
			double: true,
			推荐: "列表1;列表2;标题;图片;描述;链接;详情",
			一级: "列表;标题;图片;描述;链接;详情",
			二级: {
				title: "vod_name;vod_type",
				img: "图片链接",
				desc: "主要信息;年代;地区;演员;导演",
				content: "简介",
				tabs: "",
				lists: "xx:eq(#id)&&a",
				tab_text: "body&&Text",
				list_text: "body&&Text",
				list_url: "a&&href"
			},
			搜索: "列表;标题;图片;描述;链接;详情"
		},
		vfed: {
			title: "",
			host: "",
			url: "/index.php/vod/show/id/fyclass/page/fypage.html",
			searchUrl: "/index.php/vod/search/page/fypage/wd/**.html",
			searchable: 2,
			quickSearch: 0,
			filterable: 0,
			headers: { "User-Agent": "UC_UA" },
			class_parse: ".fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html",
			play_parse: true,
			lazy: common_lazy,
			limit: 6,
			double: true,
			推荐: "ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href",
			一级: ".fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href",
			二级: {
				title: "h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text",
				img: ".fed-list-info&&a&&data-original",
				desc: ".fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text",
				content: ".fed-part-esan&&Text",
				tabs: ".fed-drop-boxs&&.fed-part-rows&&li",
				lists: ".fed-play-item:eq(#id)&&ul:eq(1)&&li"
			},
			搜索: ".fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text"
		},
		海螺3: {
			title: "",
			host: "",
			searchUrl: "/v_search/**----------fypage---.html",
			url: "/vod_____show/fyclass--------fypage---.html",
			headers: { "User-Agent": "MOBILE_UA" },
			timeout: 5e3,
			class_parse: "body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html",
			cate_exclude: "明星|专题|最新|排行",
			limit: 40,
			play_parse: true,
			lazy: common_lazy,
			double: true,
			推荐: ".hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href",
			一级: ".hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href",
			二级: {
				title: ".hl-dc-title&&Text;.hl-dc-content&&li:eq(6)&&Text",
				img: ".hl-lazy&&data-original",
				desc: ".hl-dc-content&&li:eq(10)&&Text;.hl-dc-content&&li:eq(4)&&Text;.hl-dc-content&&li:eq(5)&&Text;.hl-dc-content&&li:eq(2)&&Text;.hl-dc-content&&li:eq(3)&&Text",
				content: ".hl-content-text&&Text",
				tabs: ".hl-tabs&&a",
				tab_text: "a--span&&Text",
				lists: ".hl-plays-list:eq(#id)&&li"
			},
			搜索: ".hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href",
			searchable: 2,
			quickSearch: 0,
			filterable: 0
		},
		海螺2: {
			title: "",
			host: "",
			searchUrl: "/index.php/vod/search/page/fypage/wd/**/",
			url: "/index.php/vod/show/id/fyclass/page/fypage/",
			headers: { "User-Agent": "MOBILE_UA" },
			timeout: 5e3,
			class_parse: "#nav-bar li;a&&Text;a&&href;id/(.*?)/",
			limit: 40,
			play_parse: true,
			lazy: common_lazy,
			double: true,
			推荐: ".list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href",
			一级: ".list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href",
			二级: {
				title: "h2&&Text;.deployment&&Text",
				img: ".lazy&&data-original",
				desc: ".deployment&&Text",
				content: ".ec-show&&Text",
				tabs: "#tag&&a",
				lists: ".play_list_box:eq(#id)&&li"
			},
			搜索: ".search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href",
			searchable: 2,
			quickSearch: 0,
			filterable: 0
		},
		短视: {
			title: "",
			host: "",
			url: "/channel/fyclass-fypage.html",
			searchUrl: "/search.html?wd=**",
			searchable: 2,
			quickSearch: 0,
			filterable: 0,
			headers: { "User-Agent": "MOBILE_UA" },
			class_parse: ".menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html",
			cate_exclude: "解析|动态",
			play_parse: true,
			lazy: common_lazy,
			limit: 6,
			double: true,
			推荐: ".indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href",
			一级: ".pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href",
			二级: {
				title: "h1&&Text;.content-rt&&p:eq(0)&&Text",
				img: ".img&&img&&data-src",
				desc: ".content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text",
				content: ".zkjj_a&&Text",
				tabs: ".py-tabs&&option",
				lists: ".player:eq(#id) li"
			},
			搜索: ".sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href"
		},
		短视2: {
			title: "",
			host: "",
			class_name: "电影&电视剧&综艺&动漫",
			class_url: "1&2&3&4",
			searchUrl: "/index.php/ajax/suggest?mid=1&wd=**&limit=50",
			searchable: 2,
			quickSearch: 0,
			headers: { "User-Agent": "MOBILE_UA" },
			url: "/index.php/api/vod#type=fyclass&page=fypage",
			filterable: 0,
			filter_url: "",
			filter: {},
			filter_def: {},
			detailUrl: "/index.php/vod/detail/id/fyid.html",
			play_parse: true,
			lazy: common_lazy,
			limit: 6,
			推荐: ".list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href",
			一级: "js:let body=input.split(\"#\")[1];let t=Math.round(new Date/1e3).toString();let key=md5(\"DS\"+t+\"DCC147D11943AF75\");let url=input.split(\"#\")[0];body=body+\"&time=\"+t+\"&key=\"+key;print(body);fetch_params.body=body;let html=post(url,fetch_params);let data=JSON.parse(html);VODS=data.list.map(function(it){it.vod_pic=urljoin2(input.split(\"/i\")[0],it.vod_pic);return it});",
			二级: {
				title: ".slide-info-title&&Text;.slide-info:eq(2)--strong&&Text",
				img: ".detail-pic&&data-original",
				desc: ".slide-info-remarks&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(1)--strong&&Text;.info-parameter&&ul&&li:eq(3)&&Text",
				content: "#height_limit&&Text",
				tabs: ".anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a",
				tab_text: "a--span&&Text",
				lists: ".anthology-list-box:eq(#id) li"
			},
			搜索: "json:list;name;pic;;id"
		},
		采集1: {
			title: "",
			host: "",
			homeTid: "13",
			homeUrl: "/api.php/provide/vod/?ac=detail&t={{rule.homeTid}}",
			detailUrl: "/api.php/provide/vod/?ac=detail&ids=fyid",
			searchUrl: "/api.php/provide/vod/?wd=**&pg=fypage",
			url: "/api.php/provide/vod/?ac=detail&pg=fypage&t=fyclass",
			headers: { "User-Agent": "MOBILE_UA" },
			timeout: 5e3,
			class_parse: "json:class;",
			limit: 20,
			multi: 1,
			searchable: 2,
			quickSearch: 1,
			filterable: 0,
			play_parse: true,
			parse_url: "",
			lazy: cj_lazy,
			推荐: "*",
			一级: "json:list;vod_name;vod_pic;vod_remarks;vod_id;vod_play_from",
			二级: $js$1.toString(async () => {
				log("input:", input);
				let html = await request(input);
				html = JSON.parse(html);
				let data = html.list;
				let VOD = data[0];
				return VOD;
			}),
			搜索: "*"
		}
	};
	return JSON.parse(JSON.stringify(mubanDict));
}
/**
* 模板实例
* 获取所有可用的网站解析模板
* @type {Object}
*/
let muban = getMubans();
/**
* 模板系统导出对象
* 包含模板字典、获取函数和各种播放器
* @type {Object}
*/
const template$1 = {
	muban,
	getMubans,
	common_lazy,
	def_lazy,
	cj_lazy
};

//#endregion
//#region ../libs_drpy/batchExecute.js
var import_queue = /* @__PURE__ */ __toESM(require_queue(), 1);
/**
* Batch execution function with concurrency control and early termination.
* @param {Array} tasks - Array of task objects, each containing func, param, and id.
* @param {Object} listener - Progress listener object containing func and param.
* @param {number} [successCount] - Number of successful tasks to wait for before stopping.
* @param {number} max_task - Maximum number of concurrent tasks.
* @returns {Promise<Array>} - Resolves with the successful results when the required tasks are complete.
*/
async function batchExecute(tasks, listener, successCount, max_task = 0) {
	const maxConcurrency = Number(max_task) || Number(process.env.MAX_TASK) || 2;
	let completedSuccess = 0;
	let stopExecution = false;
	const successfulResults = [];
	const queue = import_queue.default.promise(async (task) => {
		if (stopExecution) return;
		const { func, param, id } = task;
		try {
			if (stopExecution) return;
			const result = await func({
				...param,
				stopExecution: () => stopExecution
			});
			if (stopExecution) return;
			successfulResults.push(result);
			completedSuccess++;
			if (listener && typeof listener.func === "function") {
				const listenerResult = listener.func(listener.param, id, null, result);
				if (listenerResult === "break") {
					stopExecution = true;
				}
			}
			if (successCount && completedSuccess >= successCount) {
				stopExecution = true;
			}
		} catch (error) {
			if (listener && typeof listener.func === "function") {
				listener.func(listener.param, id, error, null);
			}
		}
	}, maxConcurrency);
	tasks.forEach((task) => {
		queue.push(task).catch((err) => {
			console.error(`Task queue error for task ${task.id}:`, err);
		});
	});
	const stopMonitor = new Promise((resolve) => {
		const interval = setInterval(() => {
			if (stopExecution) {
				queue.kill();
				clearInterval(interval);
				resolve();
			}
		}, 50);
	});
	await Promise.race([queue.drained(), stopMonitor]);
	console.log(`batchExecute completed with max_task: ${maxConcurrency} and ${completedSuccess} successful tasks.`);
	return successfulResults;
}

//#endregion
//#region ../libs_drpy/axios.min.js
function e$1(e, t) {
	return function() {
		return e.apply(t, arguments);
	};
}
const { toString: t$1 } = Object.prototype, { getPrototypeOf: n } = Object, r = (o = Object.create(null), (e) => {
	const n = t$1.call(e);
	return o[n] || (o[n] = n.slice(8, -1).toLowerCase());
});
var o;
const s = (e) => (e = e.toLowerCase(), (t) => r(t) === e), i = (e) => (t) => typeof t === e, { isArray: a } = Array, c = i("undefined");
const u = s("ArrayBuffer");
const l = i("string"), f = i("function"), d = i("number"), p = (e) => null !== e && "object" == typeof e, h = (e) => {
	if ("object" !== r(e)) return !1;
	const t = n(e);
	return !(null !== t && t !== Object.prototype && null !== Object.getPrototypeOf(t) || Symbol.toStringTag in e || Symbol.iterator in e);
}, m = s("Date"), y = s("File"), b = s("Blob"), g = s("FileList"), w = s("URLSearchParams"), [E, R, O, S] = [
	"ReadableStream",
	"Request",
	"Response",
	"Headers"
].map(s);
function T(e, t, { allOwnKeys: n = !1 } = {}) {
	if (null == e) return;
	let r, o;
	if ("object" != typeof e && (e = [e]), a(e)) for (r = 0, o = e.length; r < o; r++) t.call(null, e[r], r, e);
	else {
		const o = n ? Object.getOwnPropertyNames(e) : Object.keys(e), s = o.length;
		let i;
		for (r = 0; r < s; r++) i = o[r], t.call(null, e[i], i, e);
	}
}
function A(e, t) {
	t = t.toLowerCase();
	const n = Object.keys(e);
	let r, o = n.length;
	for (; o-- > 0;) if (r = n[o], t === r.toLowerCase()) return r;
	return null;
}
const v = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : "undefined" != typeof window ? window : global, x = (e) => !c(e) && e !== v;
const C = (N = "undefined" != typeof Uint8Array && n(Uint8Array), (e) => N && e instanceof N);
var N;
const j = s("HTMLFormElement"), P = (({ hasOwnProperty: e }) => (t, n) => e.call(t, n))(Object.prototype), _$2 = s("RegExp"), L = (e, t) => {
	const n = Object.getOwnPropertyDescriptors(e), r = {};
	T(n, ((n, o) => {
		let s;
		!1 !== (s = t(n, o, e)) && (r[o] = s || n);
	})), Object.defineProperties(e, r);
}, U = "abcdefghijklmnopqrstuvwxyz", F = {
	DIGIT: "0123456789",
	ALPHA: U,
	ALPHA_DIGIT: U + U.toUpperCase() + "0123456789"
};
const B = s("AsyncFunction"), k = (D = "function" == typeof setImmediate, q = f(v.postMessage), D ? setImmediate : q ? (I = `axios@${Math.random()}`, M = [], v.addEventListener("message", (({ source: e, data: t }) => {
	e === v && t === I && M.length && M.shift()();
}), !1), (e) => {
	M.push(e), v.postMessage(I, "*");
}) : (e) => setTimeout(e));
var D, q, I, M;
const z = "undefined" != typeof queueMicrotask ? queueMicrotask.bind(v) : "undefined" != typeof process && process.nextTick || k, H = {
	isArray: a,
	isArrayBuffer: u,
	isBuffer: function(e) {
		return null !== e && !c(e) && null !== e.constructor && !c(e.constructor) && f(e.constructor.isBuffer) && e.constructor.isBuffer(e);
	},
	isFormData: (e) => {
		let t;
		return e && ("function" == typeof FormData && e instanceof FormData || f(e.append) && ("formdata" === (t = r(e)) || "object" === t && f(e.toString) && "[object FormData]" === e.toString()));
	},
	isArrayBufferView: function(e) {
		let t;
		return t = "undefined" != typeof ArrayBuffer && ArrayBuffer.isView ? ArrayBuffer.isView(e) : e && e.buffer && u(e.buffer), t;
	},
	isString: l,
	isNumber: d,
	isBoolean: (e) => !0 === e || !1 === e,
	isObject: p,
	isPlainObject: h,
	isReadableStream: E,
	isRequest: R,
	isResponse: O,
	isHeaders: S,
	isUndefined: c,
	isDate: m,
	isFile: y,
	isBlob: b,
	isRegExp: _$2,
	isFunction: f,
	isStream: (e) => p(e) && f(e.pipe),
	isURLSearchParams: w,
	isTypedArray: C,
	isFileList: g,
	forEach: T,
	merge: function e() {
		const { caseless: t } = x(this) && this || {}, n = {}, r = (r, o) => {
			const s = t && A(n, o) || o;
			h(n[s]) && h(r) ? n[s] = e(n[s], r) : h(r) ? n[s] = e({}, r) : a(r) ? n[s] = r.slice() : n[s] = r;
		};
		for (let e = 0, t = arguments.length; e < t; e++) arguments[e] && T(arguments[e], r);
		return n;
	},
	extend: (t, n, r, { allOwnKeys: o } = {}) => (T(n, ((n, o) => {
		r && f(n) ? t[o] = e$1(n, r) : t[o] = n;
	}), { allOwnKeys: o }), t),
	trim: (e) => e.trim ? e.trim() : e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ""),
	stripBOM: (e) => (65279 === e.charCodeAt(0) && (e = e.slice(1)), e),
	inherits: (e, t, n, r) => {
		e.prototype = Object.create(t.prototype, r), e.prototype.constructor = e, Object.defineProperty(e, "super", { value: t.prototype }), n && Object.assign(e.prototype, n);
	},
	toFlatObject: (e, t, r, o) => {
		let s, i, a;
		const c = {};
		if (t = t || {}, null == e) return t;
		do {
			for (s = Object.getOwnPropertyNames(e), i = s.length; i-- > 0;) a = s[i], o && !o(a, e, t) || c[a] || (t[a] = e[a], c[a] = !0);
			e = !1 !== r && n(e);
		} while (e && (!r || r(e, t)) && e !== Object.prototype);
		return t;
	},
	kindOf: r,
	kindOfTest: s,
	endsWith: (e, t, n) => {
		e = String(e), (void 0 === n || n > e.length) && (n = e.length), n -= t.length;
		const r = e.indexOf(t, n);
		return -1 !== r && r === n;
	},
	toArray: (e) => {
		if (!e) return null;
		if (a(e)) return e;
		let t = e.length;
		if (!d(t)) return null;
		const n = new Array(t);
		for (; t-- > 0;) n[t] = e[t];
		return n;
	},
	forEachEntry: (e, t) => {
		const n = (e && e[Symbol.iterator]).call(e);
		let r;
		for (; (r = n.next()) && !r.done;) {
			const n = r.value;
			t.call(e, n[0], n[1]);
		}
	},
	matchAll: (e, t) => {
		let n;
		const r = [];
		for (; null !== (n = e.exec(t));) r.push(n);
		return r;
	},
	isHTMLForm: j,
	hasOwnProperty: P,
	hasOwnProp: P,
	reduceDescriptors: L,
	freezeMethods: (e) => {
		L(e, ((t, n) => {
			if (f(e) && -1 !== [
				"arguments",
				"caller",
				"callee"
			].indexOf(n)) return !1;
			const r = e[n];
			f(r) && (t.enumerable = !1, "writable" in t ? t.writable = !1 : t.set || (t.set = () => {
				throw Error("Can not rewrite read-only method '" + n + "'");
			}));
		}));
	},
	toObjectSet: (e, t) => {
		const n = {}, r = (e) => {
			e.forEach(((e) => {
				n[e] = !0;
			}));
		};
		return a(e) ? r(e) : r(String(e).split(t)), n;
	},
	toCamelCase: (e) => e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, (function(e, t, n) {
		return t.toUpperCase() + n;
	})),
	noop: () => {},
	toFiniteNumber: (e, t) => null != e && Number.isFinite(e = +e) ? e : t,
	findKey: A,
	global: v,
	isContextDefined: x,
	ALPHABET: F,
	generateString: (e = 16, t = F.ALPHA_DIGIT) => {
		let n = "";
		const { length: r } = t;
		for (; e--;) n += t[Math.random() * r | 0];
		return n;
	},
	isSpecCompliantForm: function(e) {
		return !!(e && f(e.append) && "FormData" === e[Symbol.toStringTag] && e[Symbol.iterator]);
	},
	toJSONObject: (e) => {
		const t = new Array(10), n = (e, r) => {
			if (p(e)) {
				if (t.indexOf(e) >= 0) return;
				if (!("toJSON" in e)) {
					t[r] = e;
					const o = a(e) ? [] : {};
					return T(e, ((e, t) => {
						const s = n(e, r + 1);
						!c(s) && (o[t] = s);
					})), t[r] = void 0, o;
				}
			}
			return e;
		};
		return n(e, 0);
	},
	isAsyncFn: B,
	isThenable: (e) => e && (p(e) || f(e)) && f(e.then) && f(e.catch),
	setImmediate: k,
	asap: z
};
function J(e, t, n, r, o) {
	Error.call(this), Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : this.stack = new Error().stack, this.message = e, this.name = "AxiosError", t && (this.code = t), n && (this.config = n), r && (this.request = r), o && (this.response = o, this.status = o.status ? o.status : null);
}
H.inherits(J, Error, { toJSON: function() {
	return {
		message: this.message,
		name: this.name,
		description: this.description,
		number: this.number,
		fileName: this.fileName,
		lineNumber: this.lineNumber,
		columnNumber: this.columnNumber,
		stack: this.stack,
		config: H.toJSONObject(this.config),
		code: this.code,
		status: this.status
	};
} });
const W = J.prototype, K = {};
[
	"ERR_BAD_OPTION_VALUE",
	"ERR_BAD_OPTION",
	"ECONNABORTED",
	"ETIMEDOUT",
	"ERR_NETWORK",
	"ERR_FR_TOO_MANY_REDIRECTS",
	"ERR_DEPRECATED",
	"ERR_BAD_RESPONSE",
	"ERR_BAD_REQUEST",
	"ERR_CANCELED",
	"ERR_NOT_SUPPORT",
	"ERR_INVALID_URL"
].forEach(((e) => {
	K[e] = { value: e };
})), Object.defineProperties(J, K), Object.defineProperty(W, "isAxiosError", { value: !0 }), J.from = (e, t, n, r, o, s) => {
	const i = Object.create(W);
	return H.toFlatObject(e, i, (function(e) {
		return e !== Error.prototype;
	}), ((e) => "isAxiosError" !== e)), J.call(i, e.message, t, n, r, o), i.cause = e, i.name = e.name, s && Object.assign(i, s), i;
};
function V(e) {
	return H.isPlainObject(e) || H.isArray(e);
}
function $$1(e) {
	return H.endsWith(e, "[]") ? e.slice(0, -2) : e;
}
function G(e, t, n) {
	return e ? e.concat(t).map((function(e, t) {
		return e = $$1(e), !n && t ? "[" + e + "]" : e;
	})).join(n ? "." : "") : t;
}
const X = H.toFlatObject(H, {}, null, (function(e) {
	return /^is[A-Z]/.test(e);
}));
function Q(e, t, n) {
	if (!H.isObject(e)) throw new TypeError("target must be an object");
	t = t || new FormData();
	const r = (n = H.toFlatObject(n, {
		metaTokens: !0,
		dots: !1,
		indexes: !1
	}, !1, (function(e, t) {
		return !H.isUndefined(t[e]);
	}))).metaTokens, o = n.visitor || u, s = n.dots, i = n.indexes, a = (n.Blob || "undefined" != typeof Blob && Blob) && H.isSpecCompliantForm(t);
	if (!H.isFunction(o)) throw new TypeError("visitor must be a function");
	function c(e) {
		if (null === e) return "";
		if (H.isDate(e)) return e.toISOString();
		if (!a && H.isBlob(e)) throw new J("Blob is not supported. Use a Buffer instead.");
		return H.isArrayBuffer(e) || H.isTypedArray(e) ? a && "function" == typeof Blob ? new Blob([e]) : Buffer.from(e) : e;
	}
	function u(e, n, o) {
		let a = e;
		if (e && !o && "object" == typeof e) {
			if (H.endsWith(n, "{}")) n = r ? n : n.slice(0, -2), e = JSON.stringify(e);
			else if (H.isArray(e) && function(e) {
				return H.isArray(e) && !e.some(V);
			}(e) || (H.isFileList(e) || H.endsWith(n, "[]")) && (a = H.toArray(e))) return n = $$1(n), a.forEach((function(e, r) {
				!H.isUndefined(e) && null !== e && t.append(!0 === i ? G([n], r, s) : null === i ? n : n + "[]", c(e));
			})), !1;
		}
		return !!V(e) || (t.append(G(o, n, s), c(e)), !1);
	}
	const l = [], f = Object.assign(X, {
		defaultVisitor: u,
		convertValue: c,
		isVisitable: V
	});
	if (!H.isObject(e)) throw new TypeError("data must be an object");
	return function e(n, r) {
		if (!H.isUndefined(n)) {
			if (-1 !== l.indexOf(n)) throw Error("Circular reference detected in " + r.join("."));
			l.push(n), H.forEach(n, (function(n, s) {
				!0 === (!(H.isUndefined(n) || null === n) && o.call(t, n, H.isString(s) ? s.trim() : s, r, f)) && e(n, r ? r.concat(s) : [s]);
			})), l.pop();
		}
	}(e), t;
}
function Z(e) {
	const t = {
		"!": "%21",
		"'": "%27",
		"(": "%28",
		")": "%29",
		"~": "%7E",
		"%20": "+",
		"%00": "\0"
	};
	return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g, (function(e) {
		return t[e];
	}));
}
function Y(e, t) {
	this._pairs = [], e && Q(e, this, t);
}
const ee = Y.prototype;
function te(e) {
	return encodeURIComponent(e).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]");
}
function ne(e, t, n) {
	if (!t) return e;
	const r = n && n.encode || te;
	H.isFunction(n) && (n = { serialize: n });
	const o = n && n.serialize;
	let s;
	if (s = o ? o(t, n) : H.isURLSearchParams(t) ? t.toString() : new Y(t, n).toString(r), s) {
		const t = e.indexOf("#");
		-1 !== t && (e = e.slice(0, t)), e += (-1 === e.indexOf("?") ? "?" : "&") + s;
	}
	return e;
}
ee.append = function(e, t) {
	this._pairs.push([e, t]);
}, ee.toString = function(e) {
	const t = e ? function(t) {
		return e.call(this, t, Z);
	} : Z;
	return this._pairs.map((function(e) {
		return t(e[0]) + "=" + t(e[1]);
	}), "").join("&");
};
const re = class {
	constructor() {
		this.handlers = [];
	}
	use(e, t, n) {
		return this.handlers.push({
			fulfilled: e,
			rejected: t,
			synchronous: !!n && n.synchronous,
			runWhen: n ? n.runWhen : null
		}), this.handlers.length - 1;
	}
	eject(e) {
		this.handlers[e] && (this.handlers[e] = null);
	}
	clear() {
		this.handlers && (this.handlers = []);
	}
	forEach(e) {
		H.forEach(this.handlers, (function(t) {
			null !== t && e(t);
		}));
	}
}, oe = {
	silentJSONParsing: !0,
	forcedJSONParsing: !0,
	clarifyTimeoutError: !1
}, se = {
	isBrowser: !0,
	classes: {
		URLSearchParams: "undefined" != typeof URLSearchParams ? URLSearchParams : Y,
		FormData: "undefined" != typeof FormData ? FormData : null,
		Blob: "undefined" != typeof Blob ? Blob : null
	},
	protocols: [
		"http",
		"https",
		"file",
		"blob",
		"url",
		"data"
	]
}, ie = "undefined" != typeof window && "undefined" != typeof document, ae = "object" == typeof navigator && navigator || void 0, ce = ie && (!ae || [
	"ReactNative",
	"NativeScript",
	"NS"
].indexOf(ae.product) < 0), ue = "undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope && "function" == typeof self.importScripts, le = ie && window.location.href || "http://localhost", fe = {
	...Object.freeze({
		__proto__: null,
		hasBrowserEnv: ie,
		hasStandardBrowserWebWorkerEnv: ue,
		hasStandardBrowserEnv: ce,
		navigator: ae,
		origin: le
	}),
	...se
};
function de(e) {
	function t(e, n, r, o) {
		let s = e[o++];
		if ("__proto__" === s) return !0;
		const i = Number.isFinite(+s), a = o >= e.length;
		if (s = !s && H.isArray(r) ? r.length : s, a) return H.hasOwnProp(r, s) ? r[s] = [r[s], n] : r[s] = n, !i;
		r[s] && H.isObject(r[s]) || (r[s] = []);
		return t(e, n, r[s], o) && H.isArray(r[s]) && (r[s] = function(e) {
			const t = {}, n = Object.keys(e);
			let r;
			const o = n.length;
			let s;
			for (r = 0; r < o; r++) s = n[r], t[s] = e[s];
			return t;
		}(r[s])), !i;
	}
	if (H.isFormData(e) && H.isFunction(e.entries)) {
		const n = {};
		return H.forEachEntry(e, ((e, r) => {
			t(function(e) {
				return H.matchAll(/\w+|\[(\w*)]/g, e).map(((e) => "[]" === e[0] ? "" : e[1] || e[0]));
			}(e), r, n, 0);
		})), n;
	}
	return null;
}
const pe = {
	transitional: oe,
	adapter: [
		"xhr",
		"http",
		"fetch"
	],
	transformRequest: [function(e, t) {
		const n = t.getContentType() || "", r = n.indexOf("application/json") > -1, o = H.isObject(e);
		o && H.isHTMLForm(e) && (e = new FormData(e));
		if (H.isFormData(e)) return r ? JSON.stringify(de(e)) : e;
		if (H.isArrayBuffer(e) || H.isBuffer(e) || H.isStream(e) || H.isFile(e) || H.isBlob(e) || H.isReadableStream(e)) return e;
		if (H.isArrayBufferView(e)) return e.buffer;
		if (H.isURLSearchParams(e)) return t.setContentType("application/x-www-form-urlencoded;charset=utf-8", !1), e.toString();
		let s;
		if (o) {
			if (n.indexOf("application/x-www-form-urlencoded") > -1) return function(e, t) {
				return Q(e, new fe.classes.URLSearchParams(), Object.assign({ visitor: function(e, t, n, r) {
					return fe.isNode && H.isBuffer(e) ? (this.append(t, e.toString("base64")), !1) : r.defaultVisitor.apply(this, arguments);
				} }, t));
			}(e, this.formSerializer).toString();
			if ((s = H.isFileList(e)) || n.indexOf("multipart/form-data") > -1) {
				const t = this.env && this.env.FormData;
				return Q(s ? { "files[]": e } : e, t && new t(), this.formSerializer);
			}
		}
		return o || r ? (t.setContentType("application/json", !1), function(e, t, n) {
			if (H.isString(e)) try {
				return (t || JSON.parse)(e), H.trim(e);
			} catch (e) {
				if ("SyntaxError" !== e.name) throw e;
			}
			return (n || JSON.stringify)(e);
		}(e)) : e;
	}],
	transformResponse: [function(e) {
		const t = this.transitional || pe.transitional, n = t && t.forcedJSONParsing, r = "json" === this.responseType;
		if (H.isResponse(e) || H.isReadableStream(e)) return e;
		if (e && H.isString(e) && (n && !this.responseType || r)) {
			const n = !(t && t.silentJSONParsing) && r;
			try {
				return JSON.parse(e);
			} catch (e) {
				if (n) {
					if ("SyntaxError" === e.name) throw J.from(e, J.ERR_BAD_RESPONSE, this, null, this.response);
					throw e;
				}
			}
		}
		return e;
	}],
	timeout: 0,
	xsrfCookieName: "XSRF-TOKEN",
	xsrfHeaderName: "X-XSRF-TOKEN",
	maxContentLength: -1,
	maxBodyLength: -1,
	env: {
		FormData: fe.classes.FormData,
		Blob: fe.classes.Blob
	},
	validateStatus: function(e) {
		return e >= 200 && e < 300;
	},
	headers: { common: {
		Accept: "application/json, text/plain, */*",
		"Content-Type": void 0
	} }
};
H.forEach([
	"delete",
	"get",
	"head",
	"post",
	"put",
	"patch"
], ((e) => {
	pe.headers[e] = {};
}));
const he = pe, me = H.toObjectSet([
	"age",
	"authorization",
	"content-length",
	"content-type",
	"etag",
	"expires",
	"from",
	"host",
	"if-modified-since",
	"if-unmodified-since",
	"last-modified",
	"location",
	"max-forwards",
	"proxy-authorization",
	"referer",
	"retry-after",
	"user-agent"
]), ye = Symbol("internals");
function be(e) {
	return e && String(e).trim().toLowerCase();
}
function ge(e) {
	return !1 === e || null == e ? e : H.isArray(e) ? e.map(ge) : String(e);
}
function we(e, t, n, r, o) {
	return H.isFunction(r) ? r.call(this, t, n) : (o && (t = n), H.isString(t) ? H.isString(r) ? -1 !== t.indexOf(r) : H.isRegExp(r) ? r.test(t) : void 0 : void 0);
}
var Ee = class {
	constructor(e) {
		e && this.set(e);
	}
	set(e, t, n) {
		const r = this;
		function o(e, t, n) {
			const o = be(t);
			if (!o) throw new Error("header name must be a non-empty string");
			const s = H.findKey(r, o);
			(!s || void 0 === r[s] || !0 === n || void 0 === n && !1 !== r[s]) && (r[s || t] = ge(e));
		}
		const s = (e, t) => H.forEach(e, ((e, n) => o(e, n, t)));
		if (H.isPlainObject(e) || e instanceof this.constructor) s(e, t);
		else if (H.isString(e) && (e = e.trim()) && !/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim())) s(((e) => {
			const t = {};
			let n, r, o;
			return e && e.split("\n").forEach((function(e) {
				o = e.indexOf(":"), n = e.substring(0, o).trim().toLowerCase(), r = e.substring(o + 1).trim(), !n || t[n] && me[n] || ("set-cookie" === n ? t[n] ? t[n].push(r) : t[n] = [r] : t[n] = t[n] ? t[n] + ", " + r : r);
			})), t;
		})(e), t);
		else if (H.isHeaders(e)) for (const [t, r] of e.entries()) o(r, t, n);
		else null != e && o(t, e, n);
		return this;
	}
	get(e, t) {
		if (e = be(e)) {
			const n = H.findKey(this, e);
			if (n) {
				const e = this[n];
				if (!t) return e;
				if (!0 === t) return function(e) {
					const t = Object.create(null), n = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
					let r;
					for (; r = n.exec(e);) t[r[1]] = r[2];
					return t;
				}(e);
				if (H.isFunction(t)) return t.call(this, e, n);
				if (H.isRegExp(t)) return t.exec(e);
				throw new TypeError("parser must be boolean|regexp|function");
			}
		}
	}
	has(e, t) {
		if (e = be(e)) {
			const n = H.findKey(this, e);
			return !(!n || void 0 === this[n] || t && !we(0, this[n], n, t));
		}
		return !1;
	}
	delete(e, t) {
		const n = this;
		let r = !1;
		function o(e) {
			if (e = be(e)) {
				const o = H.findKey(n, e);
				!o || t && !we(0, n[o], o, t) || (delete n[o], r = !0);
			}
		}
		return H.isArray(e) ? e.forEach(o) : o(e), r;
	}
	clear(e) {
		const t = Object.keys(this);
		let n = t.length, r = !1;
		for (; n--;) {
			const o = t[n];
			e && !we(0, this[o], o, e, !0) || (delete this[o], r = !0);
		}
		return r;
	}
	normalize(e) {
		const t = this, n = {};
		return H.forEach(this, ((r, o) => {
			const s = H.findKey(n, o);
			if (s) return t[s] = ge(r), void delete t[o];
			const i = e ? function(e) {
				return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, ((e, t, n) => t.toUpperCase() + n));
			}(o) : String(o).trim();
			i !== o && delete t[o], t[i] = ge(r), n[i] = !0;
		})), this;
	}
	concat(...e) {
		return this.constructor.concat(this, ...e);
	}
	toJSON(e) {
		const t = Object.create(null);
		return H.forEach(this, ((n, r) => {
			null != n && !1 !== n && (t[r] = e && H.isArray(n) ? n.join(", ") : n);
		})), t;
	}
	[Symbol.iterator]() {
		return Object.entries(this.toJSON())[Symbol.iterator]();
	}
	toString() {
		return Object.entries(this.toJSON()).map((([e, t]) => e + ": " + t)).join("\n");
	}
	get [Symbol.toStringTag]() {
		return "AxiosHeaders";
	}
	static from(e) {
		return e instanceof this ? e : new this(e);
	}
	static concat(e, ...t) {
		const n = new this(e);
		return t.forEach(((e) => n.set(e))), n;
	}
	static accessor(e) {
		const t = (this[ye] = this[ye] = { accessors: {} }).accessors, n = this.prototype;
		function r(e) {
			const r = be(e);
			t[r] || (!function(e, t) {
				const n = H.toCamelCase(" " + t);
				[
					"get",
					"set",
					"has"
				].forEach(((r) => {
					Object.defineProperty(e, r + n, {
						value: function(e, n, o) {
							return this[r].call(this, t, e, n, o);
						},
						configurable: !0
					});
				}));
			}(n, e), t[r] = !0);
		}
		return H.isArray(e) ? e.forEach(r) : r(e), this;
	}
};
Ee.accessor([
	"Content-Type",
	"Content-Length",
	"Accept",
	"Accept-Encoding",
	"User-Agent",
	"Authorization"
]), H.reduceDescriptors(Ee.prototype, (({ value: e }, t) => {
	let n = t[0].toUpperCase() + t.slice(1);
	return {
		get: () => e,
		set(e) {
			this[n] = e;
		}
	};
})), H.freezeMethods(Ee);
const Re = Ee;
function Oe(e, t) {
	const n = this || he, r = t || n, o = Re.from(r.headers);
	let s = r.data;
	return H.forEach(e, (function(e) {
		s = e.call(n, s, o.normalize(), t ? t.status : void 0);
	})), o.normalize(), s;
}
function Se(e) {
	return !(!e || !e.__CANCEL__);
}
function Te(e, t, n) {
	J.call(this, null == e ? "canceled" : e, J.ERR_CANCELED, t, n), this.name = "CanceledError";
}
function Ae(e, t, n) {
	const r = n.config.validateStatus;
	n.status && r && !r(n.status) ? t(new J("Request failed with status code " + n.status, [J.ERR_BAD_REQUEST, J.ERR_BAD_RESPONSE][Math.floor(n.status / 100) - 4], n.config, n.request, n)) : e(n);
}
H.inherits(Te, J, { __CANCEL__: !0 });
const ve = (e, t, n = 3) => {
	let r = 0;
	const o = function(e, t) {
		e = e || 10;
		const n = new Array(e), r = new Array(e);
		let o, s = 0, i = 0;
		return t = void 0 !== t ? t : 1e3, function(a) {
			const c = Date.now(), u = r[i];
			o || (o = c), n[s] = a, r[s] = c;
			let l = i, f = 0;
			for (; l !== s;) f += n[l++], l %= e;
			if (s = (s + 1) % e, s === i && (i = (i + 1) % e), c - o < t) return;
			const d = u && c - u;
			return d ? Math.round(1e3 * f / d) : void 0;
		};
	}(50, 250);
	return function(e, t) {
		let n, r, o = 0, s = 1e3 / t;
		const i = (t, s = Date.now()) => {
			o = s, n = null, r && (clearTimeout(r), r = null), e.apply(null, t);
		};
		return [(...e) => {
			const t = Date.now(), a = t - o;
			a >= s ? i(e, t) : (n = e, r || (r = setTimeout((() => {
				r = null, i(n);
			}), s - a)));
		}, () => n && i(n)];
	}(((n) => {
		const s = n.loaded, i = n.lengthComputable ? n.total : void 0, a = s - r, c = o(a);
		r = s;
		e({
			loaded: s,
			total: i,
			progress: i ? s / i : void 0,
			bytes: a,
			rate: c || void 0,
			estimated: c && i && s <= i ? (i - s) / c : void 0,
			event: n,
			lengthComputable: null != i,
			[t ? "download" : "upload"]: !0
		});
	}), n);
}, xe = (e, t) => {
	const n = null != e;
	return [(r) => t[0]({
		lengthComputable: n,
		total: e,
		loaded: r
	}), t[1]];
}, Ce = (e) => (...t) => H.asap((() => e(...t))), Ne = fe.hasStandardBrowserEnv ? ((e, t) => (n) => (n = new URL(n, fe.origin), e.protocol === n.protocol && e.host === n.host && (t || e.port === n.port)))(new URL(fe.origin), fe.navigator && /(msie|trident)/i.test(fe.navigator.userAgent)) : () => !0, je = fe.hasStandardBrowserEnv ? {
	write(e, t, n, r, o, s) {
		const i = [e + "=" + encodeURIComponent(t)];
		H.isNumber(n) && i.push("expires=" + new Date(n).toGMTString()), H.isString(r) && i.push("path=" + r), H.isString(o) && i.push("domain=" + o), !0 === s && i.push("secure"), document.cookie = i.join("; ");
	},
	read(e) {
		const t = document.cookie.match(new RegExp("(^|;\\s*)(" + e + ")=([^;]*)"));
		return t ? decodeURIComponent(t[3]) : null;
	},
	remove(e) {
		this.write(e, "", Date.now() - 864e5);
	}
} : {
	write() {},
	read: () => null,
	remove() {}
};
function Pe(e, t) {
	return e && !/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t) ? function(e, t) {
		return t ? e.replace(/\/?\/$/, "") + "/" + t.replace(/^\/+/, "") : e;
	}(e, t) : t;
}
const _e = (e) => e instanceof Re ? { ...e } : e;
function Le(e, t) {
	t = t || {};
	const n = {};
	function r(e, t, n, r) {
		return H.isPlainObject(e) && H.isPlainObject(t) ? H.merge.call({ caseless: r }, e, t) : H.isPlainObject(t) ? H.merge({}, t) : H.isArray(t) ? t.slice() : t;
	}
	function o(e, t, n, o) {
		return H.isUndefined(t) ? H.isUndefined(e) ? void 0 : r(void 0, e, 0, o) : r(e, t, 0, o);
	}
	function s(e, t) {
		if (!H.isUndefined(t)) return r(void 0, t);
	}
	function i(e, t) {
		return H.isUndefined(t) ? H.isUndefined(e) ? void 0 : r(void 0, e) : r(void 0, t);
	}
	function a(n, o, s) {
		return s in t ? r(n, o) : s in e ? r(void 0, n) : void 0;
	}
	const c = {
		url: s,
		method: s,
		data: s,
		baseURL: i,
		transformRequest: i,
		transformResponse: i,
		paramsSerializer: i,
		timeout: i,
		timeoutMessage: i,
		withCredentials: i,
		withXSRFToken: i,
		adapter: i,
		responseType: i,
		xsrfCookieName: i,
		xsrfHeaderName: i,
		onUploadProgress: i,
		onDownloadProgress: i,
		decompress: i,
		maxContentLength: i,
		maxBodyLength: i,
		beforeRedirect: i,
		transport: i,
		httpAgent: i,
		httpsAgent: i,
		cancelToken: i,
		socketPath: i,
		responseEncoding: i,
		validateStatus: a,
		headers: (e, t, n) => o(_e(e), _e(t), 0, !0)
	};
	return H.forEach(Object.keys(Object.assign({}, e, t)), (function(r) {
		const s = c[r] || o, i = s(e[r], t[r], r);
		H.isUndefined(i) && s !== a || (n[r] = i);
	})), n;
}
const Ue = (e) => {
	const t = Le({}, e);
	let n, { data: r, withXSRFToken: o, xsrfHeaderName: s, xsrfCookieName: i, headers: a, auth: c } = t;
	if (t.headers = a = Re.from(a), t.url = ne(Pe(t.baseURL, t.url), e.params, e.paramsSerializer), c && a.set("Authorization", "Basic " + btoa((c.username || "") + ":" + (c.password ? unescape(encodeURIComponent(c.password)) : ""))), H.isFormData(r)) {
		if (fe.hasStandardBrowserEnv || fe.hasStandardBrowserWebWorkerEnv) a.setContentType(void 0);
		else if (!1 !== (n = a.getContentType())) {
			const [e, ...t] = n ? n.split(";").map(((e) => e.trim())).filter(Boolean) : [];
			a.setContentType([e || "multipart/form-data", ...t].join("; "));
		}
	}
	if (fe.hasStandardBrowserEnv && (o && H.isFunction(o) && (o = o(t)), o || !1 !== o && Ne(t.url))) {
		const e = s && i && je.read(i);
		e && a.set(s, e);
	}
	return t;
}, Fe = "undefined" != typeof XMLHttpRequest && function(e) {
	return new Promise((function(t, n) {
		const r = Ue(e);
		let o = r.data;
		const s = Re.from(r.headers).normalize();
		let i, a, c, u, l, { responseType: f, onUploadProgress: d, onDownloadProgress: p } = r;
		function h() {
			u && u(), l && l(), r.cancelToken && r.cancelToken.unsubscribe(i), r.signal && r.signal.removeEventListener("abort", i);
		}
		let m = new XMLHttpRequest();
		function y() {
			if (!m) return;
			const r = Re.from("getAllResponseHeaders" in m && m.getAllResponseHeaders());
			Ae((function(e) {
				t(e), h();
			}), (function(e) {
				n(e), h();
			}), {
				data: f && "text" !== f && "json" !== f ? m.response : m.responseText,
				status: m.status,
				statusText: m.statusText,
				headers: r,
				config: e,
				request: m
			}), m = null;
		}
		m.open(r.method.toUpperCase(), r.url, !0), m.timeout = r.timeout, "onloadend" in m ? m.onloadend = y : m.onreadystatechange = function() {
			m && 4 === m.readyState && (0 !== m.status || m.responseURL && 0 === m.responseURL.indexOf("file:")) && setTimeout(y);
		}, m.onabort = function() {
			m && (n(new J("Request aborted", J.ECONNABORTED, e, m)), m = null);
		}, m.onerror = function() {
			n(new J("Network Error", J.ERR_NETWORK, e, m)), m = null;
		}, m.ontimeout = function() {
			let t = r.timeout ? "timeout of " + r.timeout + "ms exceeded" : "timeout exceeded";
			const o = r.transitional || oe;
			r.timeoutErrorMessage && (t = r.timeoutErrorMessage), n(new J(t, o.clarifyTimeoutError ? J.ETIMEDOUT : J.ECONNABORTED, e, m)), m = null;
		}, void 0 === o && s.setContentType(null), "setRequestHeader" in m && H.forEach(s.toJSON(), (function(e, t) {
			m.setRequestHeader(t, e);
		})), H.isUndefined(r.withCredentials) || (m.withCredentials = !!r.withCredentials), f && "json" !== f && (m.responseType = r.responseType), p && ([c, l] = ve(p, !0), m.addEventListener("progress", c)), d && m.upload && ([a, u] = ve(d), m.upload.addEventListener("progress", a), m.upload.addEventListener("loadend", u)), (r.cancelToken || r.signal) && (i = (t) => {
			m && (n(!t || t.type ? new Te(null, e, m) : t), m.abort(), m = null);
		}, r.cancelToken && r.cancelToken.subscribe(i), r.signal && (r.signal.aborted ? i() : r.signal.addEventListener("abort", i)));
		const b = function(e) {
			const t = /^([-+\w]{1,25})(:?\/\/|:)/.exec(e);
			return t && t[1] || "";
		}(r.url);
		b && -1 === fe.protocols.indexOf(b) ? n(new J("Unsupported protocol " + b + ":", J.ERR_BAD_REQUEST, e)) : m.send(o || null);
	}));
}, Be = (e, t) => {
	const { length: n } = e = e ? e.filter(Boolean) : [];
	if (t || n) {
		let n, r = new AbortController();
		const o = function(e) {
			if (!n) {
				n = !0, i();
				const t = e instanceof Error ? e : this.reason;
				r.abort(t instanceof J ? t : new Te(t instanceof Error ? t.message : t));
			}
		};
		let s = t && setTimeout((() => {
			s = null, o(new J(`timeout ${t} of ms exceeded`, J.ETIMEDOUT));
		}), t);
		const i = () => {
			e && (s && clearTimeout(s), s = null, e.forEach(((e) => {
				e.unsubscribe ? e.unsubscribe(o) : e.removeEventListener("abort", o);
			})), e = null);
		};
		e.forEach(((e) => e.addEventListener("abort", o)));
		const { signal: a } = r;
		return a.unsubscribe = () => H.asap(i), a;
	}
}, ke = function* (e, t) {
	let n = e.byteLength;
	if (!t || n < t) return void (yield e);
	let r, o = 0;
	for (; o < n;) r = o + t, yield e.slice(o, r), o = r;
}, De = async function* (e) {
	if (e[Symbol.asyncIterator]) return void (yield* e);
	const t = e.getReader();
	try {
		for (;;) {
			const { done: e, value: n } = await t.read();
			if (e) break;
			yield n;
		}
	} finally {
		await t.cancel();
	}
}, qe = (e, t, n, r) => {
	const o = async function* (e, t) {
		for await (const n of De(e)) yield* ke(n, t);
	}(e, t);
	let s, i = 0, a = (e) => {
		s || (s = !0, r && r(e));
	};
	return new ReadableStream({
		async pull(e) {
			try {
				const { done: t, value: r } = await o.next();
				if (t) return a(), void e.close();
				let s = r.byteLength;
				if (n) {
					let e = i += s;
					n(e);
				}
				e.enqueue(new Uint8Array(r));
			} catch (e) {
				throw a(e), e;
			}
		},
		cancel: (e) => (a(e), o.return())
	}, { highWaterMark: 2 });
}, Ie = "function" == typeof fetch && "function" == typeof Request && "function" == typeof Response, Me = Ie && "function" == typeof ReadableStream, ze = Ie && ("function" == typeof TextEncoder ? (He = new TextEncoder(), (e) => He.encode(e)) : async (e) => new Uint8Array(await new Response(e).arrayBuffer()));
var He;
const Je = (e, ...t) => {
	try {
		return !!e(...t);
	} catch (e) {
		return !1;
	}
}, We = Me && Je((() => {
	let e = !1;
	const t = new Request(fe.origin, {
		body: new ReadableStream(),
		method: "POST",
		get duplex() {
			return e = !0, "half";
		}
	}).headers.has("Content-Type");
	return e && !t;
})), Ke = Me && Je((() => H.isReadableStream(new Response("").body))), Ve = { stream: Ke && ((e) => e.body) };
var $e;
Ie && ($e = new Response(), [
	"text",
	"arrayBuffer",
	"blob",
	"formData",
	"stream"
].forEach(((e) => {
	!Ve[e] && (Ve[e] = H.isFunction($e[e]) ? (t) => t[e]() : (t, n) => {
		throw new J(`Response type '${e}' is not supported`, J.ERR_NOT_SUPPORT, n);
	});
})));
const Ge = async (e, t) => {
	const n = H.toFiniteNumber(e.getContentLength());
	return null == n ? (async (e) => {
		if (null == e) return 0;
		if (H.isBlob(e)) return e.size;
		if (H.isSpecCompliantForm(e)) {
			const t = new Request(fe.origin, {
				method: "POST",
				body: e
			});
			return (await t.arrayBuffer()).byteLength;
		}
		return H.isArrayBufferView(e) || H.isArrayBuffer(e) ? e.byteLength : (H.isURLSearchParams(e) && (e += ""), H.isString(e) ? (await ze(e)).byteLength : void 0);
	})(t) : n;
}, Xe = {
	http: null,
	xhr: Fe,
	fetch: Ie && (async (e) => {
		let { url: t, method: n, data: r, signal: o, cancelToken: s, timeout: i, onDownloadProgress: a, onUploadProgress: c, responseType: u, headers: l, withCredentials: f = "same-origin", fetchOptions: d } = Ue(e);
		u = u ? (u + "").toLowerCase() : "text";
		let p, h = Be([o, s && s.toAbortSignal()], i);
		const m = h && h.unsubscribe && (() => {
			h.unsubscribe();
		});
		let y;
		try {
			if (c && We && "get" !== n && "head" !== n && 0 !== (y = await Ge(l, r))) {
				let e, n = new Request(t, {
					method: "POST",
					body: r,
					duplex: "half"
				});
				if (H.isFormData(r) && (e = n.headers.get("content-type")) && l.setContentType(e), n.body) {
					const [e, t] = xe(y, ve(Ce(c)));
					r = qe(n.body, 65536, e, t);
				}
			}
			H.isString(f) || (f = f ? "include" : "omit");
			const o = "credentials" in Request.prototype;
			p = new Request(t, {
				...d,
				signal: h,
				method: n.toUpperCase(),
				headers: l.normalize().toJSON(),
				body: r,
				duplex: "half",
				credentials: o ? f : void 0
			});
			let s = await fetch(p);
			const i = Ke && ("stream" === u || "response" === u);
			if (Ke && (a || i && m)) {
				const e = {};
				[
					"status",
					"statusText",
					"headers"
				].forEach(((t) => {
					e[t] = s[t];
				}));
				const t = H.toFiniteNumber(s.headers.get("content-length")), [n, r] = a && xe(t, ve(Ce(a), !0)) || [];
				s = new Response(qe(s.body, 65536, n, (() => {
					r && r(), m && m();
				})), e);
			}
			u = u || "text";
			let b = await Ve[H.findKey(Ve, u) || "text"](s, e);
			return !i && m && m(), await new Promise(((t, n) => {
				Ae(t, n, {
					data: b,
					headers: Re.from(s.headers),
					status: s.status,
					statusText: s.statusText,
					config: e,
					request: p
				});
			}));
		} catch (t) {
			if (m && m(), t && "TypeError" === t.name && /fetch/i.test(t.message)) throw Object.assign(new J("Network Error", J.ERR_NETWORK, e, p), { cause: t.cause || t });
			throw J.from(t, t && t.code, e, p);
		}
	})
};
H.forEach(Xe, ((e, t) => {
	if (e) {
		try {
			Object.defineProperty(e, "name", { value: t });
		} catch (e) {}
		Object.defineProperty(e, "adapterName", { value: t });
	}
}));
const Qe = (e) => `- ${e}`, Ze = (e) => H.isFunction(e) || null === e || !1 === e, Ye = (e) => {
	e = H.isArray(e) ? e : [e];
	const { length: t } = e;
	let n, r;
	const o = {};
	for (let s = 0; s < t; s++) {
		let t;
		if (n = e[s], r = n, !Ze(n) && (r = Xe[(t = String(n)).toLowerCase()], void 0 === r)) throw new J(`Unknown adapter '${t}'`);
		if (r) break;
		o[t || "#" + s] = r;
	}
	if (!r) {
		const e = Object.entries(o).map((([e, t]) => `adapter ${e} ` + (!1 === t ? "is not supported by the environment" : "is not available in the build")));
		throw new J("There is no suitable adapter to dispatch the request " + (t ? e.length > 1 ? "since :\n" + e.map(Qe).join("\n") : " " + Qe(e[0]) : "as no adapter specified"), "ERR_NOT_SUPPORT");
	}
	return r;
};
function et(e) {
	if (e.cancelToken && e.cancelToken.throwIfRequested(), e.signal && e.signal.aborted) throw new Te(null, e);
}
function tt(e) {
	et(e), e.headers = Re.from(e.headers), e.data = Oe.call(e, e.transformRequest), -1 !== [
		"post",
		"put",
		"patch"
	].indexOf(e.method) && e.headers.setContentType("application/x-www-form-urlencoded", !1);
	return Ye(e.adapter || he.adapter)(e).then((function(t) {
		return et(e), t.data = Oe.call(e, e.transformResponse, t), t.headers = Re.from(t.headers), t;
	}), (function(t) {
		return Se(t) || (et(e), t && t.response && (t.response.data = Oe.call(e, e.transformResponse, t.response), t.response.headers = Re.from(t.response.headers))), Promise.reject(t);
	}));
}
const nt = {};
[
	"object",
	"boolean",
	"number",
	"function",
	"string",
	"symbol"
].forEach(((e, t) => {
	nt[e] = function(n) {
		return typeof n === e || "a" + (t < 1 ? "n " : " ") + e;
	};
}));
const rt = {};
nt.transitional = function(e, t, n) {
	function r(e, t) {
		return "[Axios v1.7.9] Transitional option '" + e + "'" + t + (n ? ". " + n : "");
	}
	return (n, o, s) => {
		if (!1 === e) throw new J(r(o, " has been removed" + (t ? " in " + t : "")), J.ERR_DEPRECATED);
		return t && !rt[o] && (rt[o] = !0, console.warn(r(o, " has been deprecated since v" + t + " and will be removed in the near future"))), !e || e(n, o, s);
	};
}, nt.spelling = function(e) {
	return (t, n) => (console.warn(`${n} is likely a misspelling of ${e}`), !0);
};
const ot = {
	assertOptions: function(e, t, n) {
		if ("object" != typeof e) throw new J("options must be an object", J.ERR_BAD_OPTION_VALUE);
		const r = Object.keys(e);
		let o = r.length;
		for (; o-- > 0;) {
			const s = r[o], i = t[s];
			if (i) {
				const t = e[s], n = void 0 === t || i(t, s, e);
				if (!0 !== n) throw new J("option " + s + " must be " + n, J.ERR_BAD_OPTION_VALUE);
			} else if (!0 !== n) throw new J("Unknown option " + s, J.ERR_BAD_OPTION);
		}
	},
	validators: nt
}, st = ot.validators;
var it = class {
	constructor(e) {
		this.defaults = e, this.interceptors = {
			request: new re(),
			response: new re()
		};
	}
	async request(e, t) {
		try {
			return await this._request(e, t);
		} catch (e) {
			if (e instanceof Error) {
				let t = {};
				Error.captureStackTrace ? Error.captureStackTrace(t) : t = new Error();
				const n = t.stack ? t.stack.replace(/^.+\n/, "") : "";
				try {
					e.stack ? n && !String(e.stack).endsWith(n.replace(/^.+\n.+\n/, "")) && (e.stack += "\n" + n) : e.stack = n;
				} catch (e) {}
			}
			throw e;
		}
	}
	_request(e, t) {
		"string" == typeof e ? (t = t || {}).url = e : t = e || {}, t = Le(this.defaults, t);
		const { transitional: n, paramsSerializer: r, headers: o } = t;
		void 0 !== n && ot.assertOptions(n, {
			silentJSONParsing: st.transitional(st.boolean),
			forcedJSONParsing: st.transitional(st.boolean),
			clarifyTimeoutError: st.transitional(st.boolean)
		}, !1), null != r && (H.isFunction(r) ? t.paramsSerializer = { serialize: r } : ot.assertOptions(r, {
			encode: st.function,
			serialize: st.function
		}, !0)), ot.assertOptions(t, {
			baseUrl: st.spelling("baseURL"),
			withXsrfToken: st.spelling("withXSRFToken")
		}, !0), t.method = (t.method || this.defaults.method || "get").toLowerCase();
		let s = o && H.merge(o.common, o[t.method]);
		o && H.forEach([
			"delete",
			"get",
			"head",
			"post",
			"put",
			"patch",
			"common"
		], ((e) => {
			delete o[e];
		})), t.headers = Re.concat(s, o);
		const i = [];
		let a = !0;
		this.interceptors.request.forEach((function(e) {
			"function" == typeof e.runWhen && !1 === e.runWhen(t) || (a = a && e.synchronous, i.unshift(e.fulfilled, e.rejected));
		}));
		const c = [];
		let u;
		this.interceptors.response.forEach((function(e) {
			c.push(e.fulfilled, e.rejected);
		}));
		let l, f = 0;
		if (!a) {
			const e = [tt.bind(this), void 0];
			for (e.unshift.apply(e, i), e.push.apply(e, c), l = e.length, u = Promise.resolve(t); f < l;) u = u.then(e[f++], e[f++]);
			return u;
		}
		l = i.length;
		let d = t;
		for (f = 0; f < l;) {
			const e = i[f++], t = i[f++];
			try {
				d = e(d);
			} catch (e) {
				t.call(this, e);
				break;
			}
		}
		try {
			u = tt.call(this, d);
		} catch (e) {
			return Promise.reject(e);
		}
		for (f = 0, l = c.length; f < l;) u = u.then(c[f++], c[f++]);
		return u;
	}
	getUri(e) {
		return ne(Pe((e = Le(this.defaults, e)).baseURL, e.url), e.params, e.paramsSerializer);
	}
};
H.forEach([
	"delete",
	"get",
	"head",
	"options"
], (function(e) {
	it.prototype[e] = function(t, n) {
		return this.request(Le(n || {}, {
			method: e,
			url: t,
			data: (n || {}).data
		}));
	};
})), H.forEach([
	"post",
	"put",
	"patch"
], (function(e) {
	function t(t) {
		return function(n, r, o) {
			return this.request(Le(o || {}, {
				method: e,
				headers: t ? { "Content-Type": "multipart/form-data" } : {},
				url: n,
				data: r
			}));
		};
	}
	it.prototype[e] = t(), it.prototype[e + "Form"] = t(!0);
}));
const at = it;
var ct = class ct {
	constructor(e) {
		if ("function" != typeof e) throw new TypeError("executor must be a function.");
		let t;
		this.promise = new Promise((function(e) {
			t = e;
		}));
		const n = this;
		this.promise.then(((e) => {
			if (!n._listeners) return;
			let t = n._listeners.length;
			for (; t-- > 0;) n._listeners[t](e);
			n._listeners = null;
		})), this.promise.then = (e) => {
			let t;
			const r = new Promise(((e) => {
				n.subscribe(e), t = e;
			})).then(e);
			return r.cancel = function() {
				n.unsubscribe(t);
			}, r;
		}, e((function(e, r, o) {
			n.reason || (n.reason = new Te(e, r, o), t(n.reason));
		}));
	}
	throwIfRequested() {
		if (this.reason) throw this.reason;
	}
	subscribe(e) {
		this.reason ? e(this.reason) : this._listeners ? this._listeners.push(e) : this._listeners = [e];
	}
	unsubscribe(e) {
		if (!this._listeners) return;
		const t = this._listeners.indexOf(e);
		-1 !== t && this._listeners.splice(t, 1);
	}
	toAbortSignal() {
		const e = new AbortController(), t = (t) => {
			e.abort(t);
		};
		return this.subscribe(t), e.signal.unsubscribe = () => this.unsubscribe(t), e.signal;
	}
	static source() {
		let e;
		return {
			token: new ct((function(t) {
				e = t;
			})),
			cancel: e
		};
	}
};
const ut = ct;
const lt = {
	Continue: 100,
	SwitchingProtocols: 101,
	Processing: 102,
	EarlyHints: 103,
	Ok: 200,
	Created: 201,
	Accepted: 202,
	NonAuthoritativeInformation: 203,
	NoContent: 204,
	ResetContent: 205,
	PartialContent: 206,
	MultiStatus: 207,
	AlreadyReported: 208,
	ImUsed: 226,
	MultipleChoices: 300,
	MovedPermanently: 301,
	Found: 302,
	SeeOther: 303,
	NotModified: 304,
	UseProxy: 305,
	Unused: 306,
	TemporaryRedirect: 307,
	PermanentRedirect: 308,
	BadRequest: 400,
	Unauthorized: 401,
	PaymentRequired: 402,
	Forbidden: 403,
	NotFound: 404,
	MethodNotAllowed: 405,
	NotAcceptable: 406,
	ProxyAuthenticationRequired: 407,
	RequestTimeout: 408,
	Conflict: 409,
	Gone: 410,
	LengthRequired: 411,
	PreconditionFailed: 412,
	PayloadTooLarge: 413,
	UriTooLong: 414,
	UnsupportedMediaType: 415,
	RangeNotSatisfiable: 416,
	ExpectationFailed: 417,
	ImATeapot: 418,
	MisdirectedRequest: 421,
	UnprocessableEntity: 422,
	Locked: 423,
	FailedDependency: 424,
	TooEarly: 425,
	UpgradeRequired: 426,
	PreconditionRequired: 428,
	TooManyRequests: 429,
	RequestHeaderFieldsTooLarge: 431,
	UnavailableForLegalReasons: 451,
	InternalServerError: 500,
	NotImplemented: 501,
	BadGateway: 502,
	ServiceUnavailable: 503,
	GatewayTimeout: 504,
	HttpVersionNotSupported: 505,
	VariantAlsoNegotiates: 506,
	InsufficientStorage: 507,
	LoopDetected: 508,
	NotExtended: 510,
	NetworkAuthenticationRequired: 511
};
Object.entries(lt).forEach((([e, t]) => {
	lt[t] = e;
}));
const ft = lt;
const dt = function t(n) {
	const r = new at(n), o = e$1(at.prototype.request, r);
	return H.extend(o, at.prototype, r, { allOwnKeys: !0 }), H.extend(o, r, null, { allOwnKeys: !0 }), o.create = function(e) {
		return t(Le(n, e));
	}, o;
}(he);
dt.Axios = at, dt.CanceledError = Te, dt.CancelToken = ut, dt.isCancel = Se, dt.VERSION = "1.7.9", dt.toFormData = Q, dt.AxiosError = J, dt.Cancel = dt.CanceledError, dt.all = function(e) {
	return Promise.all(e);
}, dt.spread = function(e) {
	return function(t) {
		return e.apply(null, t);
	};
}, dt.isAxiosError = function(e) {
	return H.isObject(e) && !0 === e.isAxiosError;
}, dt.mergeConfig = Le, dt.AxiosHeaders = Re, dt.formToJSON = (e) => de(H.isHTMLForm(e) ? new FormData(e) : e), dt.getAdapter = Ye, dt.HttpStatusCode = ft, dt.default = dt;
const pt = dt, { Axios: ht, AxiosError: mt, CanceledError: yt, isCancel: bt, CancelToken: gt, VERSION: wt, all: Et, Cancel: Rt, isAxiosError: Ot, spread: St, toFormData: Tt, AxiosHeaders: At, HttpStatusCode: vt, formToJSON: xt, getAdapter: Ct, mergeConfig: Nt } = pt;

//#endregion
//#region ../libs_drpy/fetchAxios.js
/**
* FetchAxios - 基于原生fetch API的HTTP客户端
* 提供类似axios的API接口，支持请求/响应拦截器、超时控制等功能
*/
let undiciStripUASubscribed = false;
function ensureUndiciStripUASubscription() {
	if (undiciStripUASubscribed) {
		return;
	}
	undiciStripUASubscribed = true;
	diagnosticsChannel.channel("undici:request:create").subscribe(({ request }) => {
		if (!request || !Array.isArray(request.headers)) {
			return;
		}
		const headers = request.headers;
		let shouldStrip = false;
		for (let i = 0; i < headers.length; i += 2) {
			const k = headers[i];
			if (typeof k === "string" && k.toLowerCase() === "x-remove-user-agent") {
				shouldStrip = true;
				break;
			}
		}
		if (!shouldStrip) {
			return;
		}
		for (let i = 0; i < headers.length; i += 2) {
			const k = headers[i];
			if (typeof k === "string" && k.toLowerCase() === "x-remove-user-agent") {
				headers.splice(i, 2);
				i -= 2;
			}
		}
		for (let i = 0; i < headers.length; i += 2) {
			const k = headers[i];
			if (typeof k === "string" && k.toLowerCase() === "user-agent") {
				headers.splice(i, 2);
				i -= 2;
			}
		}
	});
}
/**
* FetchAxios类 - HTTP客户端实现
* 基于原生fetch API，提供axios风格的接口
*/
var FetchAxios = class {
	/**
	* 构造函数
	* @param {Object} defaultConfig - 默认配置
	*/
	constructor(defaultConfig = {}) {
		this.defaults = {
			baseURL: "",
			headers: {},
			timeout: 0,
			responseType: "json",
			withCredentials: false,
			httpsAgent: null,
			maxRedirects: 5,
			validateStatus: function(status) {
				return status >= 200 && status < 300;
			},
			...defaultConfig
		};
		this.interceptors = {
			request: [],
			response: []
		};
	}
	/**
	* 添加请求拦截器
	* @param {Function} fn - 拦截器函数
	*/
	useRequestInterceptor(fn) {
		this.interceptors.request.push(fn);
	}
	/**
	* 添加响应拦截器
	* @param {Function} fn - 拦截器函数
	*/
	useResponseInterceptor(fn) {
		this.interceptors.response.push(fn);
	}
	/**
	* 发送HTTP请求
	* @param {string|Object} urlOrConfig - URL字符串或配置对象
	* @param {Object} config - 请求配置
	* @returns {Promise} 请求结果
	*/
	async request(urlOrConfig, config = {}) {
		let finalConfig = {};
		if (typeof urlOrConfig === "string") {
			finalConfig = {
				...this.defaults,
				...config,
				url: this.defaults.baseURL + urlOrConfig
			};
		} else {
			finalConfig = {
				...this.defaults,
				...urlOrConfig,
				url: this.defaults.baseURL + (urlOrConfig.url || "")
			};
		}
		for (const interceptor of this.interceptors.request) {
			finalConfig = await interceptor(finalConfig) || finalConfig;
		}
		if (finalConfig.headers) {
			const headerKeys = Object.keys(finalConfig.headers);
			for (const key of headerKeys) {
				if (key.toLowerCase() === "user-agent" && finalConfig.headers[key] === "RemoveUserAgent") {
					delete finalConfig.headers[key];
					finalConfig.headers["x-remove-user-agent"] = "1";
					ensureUndiciStripUASubscription();
					break;
				}
			}
		}
		let fetchDispatcher = new import_undici.Agent({ connect: { rejectUnauthorized: false } });
		try {
			const proxy = await getSystemProxy();
			if (proxy) {
				fetchDispatcher = new import_undici.ProxyAgent({
					uri: proxy,
					connect: { rejectUnauthorized: false }
				});
			} else {
				let fullUrl = finalConfig.url;
				if (finalConfig.baseURL && !/^https?:\/\//i.test(fullUrl)) {
					try {
						const parsed = new URL(fullUrl, finalConfig.baseURL);
						fullUrl = parsed.toString();
					} catch (e) {}
				}
				const urlObj = new URL(fullUrl);
				const hostname = urlObj.hostname;
				if (hostname && !/^(\d{1,3}\.){3}\d{1,3}$/.test(hostname) && hostname !== "localhost") {
					const ip = await resolveDoh(hostname);
					if (ip && ip !== hostname) {
						let hasHost = false;
						const headerKeys = Object.keys(finalConfig.headers || {});
						for (const k of headerKeys) {
							if (k.toLowerCase() === "host") {
								hasHost = true;
								break;
							}
						}
						if (!hasHost) {
							finalConfig.headers = finalConfig.headers || {};
							finalConfig.headers["Host"] = hostname;
						}
						urlObj.hostname = ip;
						finalConfig.url = urlObj.toString();
						if (finalConfig.baseURL) {
							delete finalConfig.baseURL;
						}
					}
				}
			}
		} catch (e) {}
		if (finalConfig.params) {
			const query = new URLSearchParams(finalConfig.params).toString();
			finalConfig.url += (finalConfig.url.includes("?") ? "&" : "?") + query;
		}
		const controller = new AbortController();
		let timeoutId;
		if (finalConfig.timeout && finalConfig.timeout > 0) {
			timeoutId = setTimeout(() => controller.abort(), finalConfig.timeout);
		}
		const fetchOptions = {
			method: (finalConfig.method || "GET").toUpperCase(),
			headers: { ...finalConfig.headers },
			signal: controller.signal,
			credentials: finalConfig.withCredentials ? "include" : "same-origin",
			agent: finalConfig.httpsAgent || undefined,
			redirect: finalConfig.maxRedirects === 0 ? "manual" : "follow"
		};
		if (finalConfig.data instanceof import_form_data.default) {
			fetchOptions.body = finalConfig.data;
			Object.assign(fetchOptions.headers, finalConfig.data.getHeaders());
		} else if (finalConfig.data) {
			if (typeof finalConfig.data === "object" && !fetchOptions.headers["Content-Type"]) {
				fetchOptions.headers["Content-Type"] = "application/json";
			}
			fetchOptions.body = fetchOptions.headers["Content-Type"] === "application/json" ? JSON.stringify(finalConfig.data) : finalConfig.data;
		}
		try {
			if (fetchDispatcher) {
				fetchOptions.dispatcher = fetchDispatcher;
			}
			let response = await fetch(finalConfig.url, fetchOptions);
			if (finalConfig.maxRedirects === 0 && response.status >= 300 && response.status < 400) {
				if (timeoutId) clearTimeout(timeoutId);
				let emptyData;
				if (finalConfig.responseType === "json") {
					emptyData = null;
				} else if (finalConfig.responseType === "arraybuffer") {
					emptyData = new ArrayBuffer(0);
				} else {
					emptyData = "";
				}
				const redirectResult = {
					data: emptyData,
					status: response.status,
					statusText: response.statusText,
					headers: Object.fromEntries(response.headers.entries()),
					config: finalConfig,
					request: finalConfig.url
				};
				if (!finalConfig.validateStatus || !finalConfig.validateStatus(response.status)) {
					const redirectError = new Error(`Request failed with status code ${response.status}`);
					redirectError.code = "ERR_BAD_REQUEST";
					redirectError.config = finalConfig;
					redirectError.request = finalConfig.url;
					redirectError.response = redirectResult;
					redirectError.isAxiosError = true;
					throw redirectError;
				} else {
					return redirectResult;
				}
			}
			if (timeoutId) clearTimeout(timeoutId);
			let responseData;
			if (finalConfig.responseType === "json") {
				responseData = await response.json().catch(() => null);
			} else if (finalConfig.responseType === "arraybuffer") {
				responseData = await response.arrayBuffer();
			} else {
				responseData = await response.text();
			}
			let result = {
				data: responseData,
				status: response.status,
				statusText: response.statusText,
				headers: Object.fromEntries(response.headers.entries()),
				config: finalConfig,
				request: finalConfig.url
			};
			for (const interceptor of this.interceptors.response) {
				result = await interceptor(result) || result;
			}
			if (!finalConfig.validateStatus(response.status)) {
				const statusError = new Error(`Request failed with status code ${response.status}`);
				statusError.code = response.status >= 400 && response.status < 500 ? "ERR_BAD_REQUEST" : "ERR_BAD_RESPONSE";
				statusError.config = finalConfig;
				statusError.request = finalConfig.url;
				statusError.response = result;
				statusError.isAxiosError = true;
				throw statusError;
			}
			return result;
		} catch (err) {
			if (timeoutId) clearTimeout(timeoutId);
			if (err.name === "AbortError") {
				const timeoutError = new Error(`Request timeout of ${finalConfig.timeout}ms exceeded`);
				timeoutError.code = "ECONNABORTED";
				timeoutError.config = finalConfig;
				timeoutError.request = finalConfig.url;
				throw timeoutError;
			} else if (err.name === "TypeError" && err.message.includes("fetch")) {
				const networkError = new Error("Network Error");
				networkError.code = "NETWORK_ERROR";
				networkError.config = finalConfig;
				networkError.request = finalConfig.url;
				throw networkError;
			} else {
				throw err;
			}
		}
	}
	/**
	* GET请求
	* @param {string} url - 请求URL
	* @param {Object} config - 请求配置
	* @returns {Promise} 请求结果
	*/
	get(url, config) {
		return this.request(url, {
			...config,
			method: "GET"
		});
	}
	/**
	* POST请求
	* @param {string} url - 请求URL
	* @param {*} data - 请求数据
	* @param {Object} config - 请求配置
	* @returns {Promise} 请求结果
	*/
	post(url, data, config) {
		return this.request(url, {
			...config,
			method: "POST",
			data
		});
	}
	/**
	* PUT请求
	* @param {string} url - 请求URL
	* @param {*} data - 请求数据
	* @param {Object} config - 请求配置
	* @returns {Promise} 请求结果
	*/
	put(url, data, config) {
		return this.request(url, {
			...config,
			method: "PUT",
			data
		});
	}
	/**
	* DELETE请求
	* @param {string} url - 请求URL
	* @param {Object} config - 请求配置
	* @returns {Promise} 请求结果
	*/
	delete(url, config) {
		return this.request(url, {
			...config,
			method: "DELETE"
		});
	}
};
/**
* 创建FetchAxios实例
* @param {Object} defaultConfig - 默认配置
* @returns {Function} 实例函数
*/
function createInstance(defaultConfig) {
	const context = new FetchAxios(defaultConfig);
	const instance = context.request.bind(context);
	[
		"get",
		"post",
		"put",
		"delete",
		"useRequestInterceptor",
		"useResponseInterceptor"
	].forEach((method) => {
		instance[method] = context[method].bind(context);
	});
	return instance;
}
const httpsAgent = new https.Agent({ rejectUnauthorized: false });
/**
* 创建HTTPS实例
* @returns {Function} HTTPS实例
*/
function createHttpsInstance() {
	return createInstance({
		headers: { "User-Agent": "Mozilla/5.0" },
		timeout: 1e4,
		responseType: "arraybuffer",
		httpsAgent
	});
}

//#endregion
//#region ../libs_drpy/underscore-esm.min.js
var VERSION = "1.13.6";
var root = typeof self == "object" && self.self === self && self || typeof global == "object" && global.global === global && global || Function("return this")() || {};
var ArrayProto = Array.prototype, ObjProto = Object.prototype;
var SymbolProto = typeof Symbol !== "undefined" ? Symbol.prototype : null;
var push = ArrayProto.push, slice = ArrayProto.slice, toString$1 = ObjProto.toString, hasOwnProperty = ObjProto.hasOwnProperty;
var supportsArrayBuffer = typeof ArrayBuffer !== "undefined", supportsDataView = typeof DataView !== "undefined";
var nativeIsArray = Array.isArray, nativeKeys = Object.keys, nativeCreate = Object.create, nativeIsView = supportsArrayBuffer && ArrayBuffer.isView;
var _isNaN = isNaN, _isFinite = isFinite;
var hasEnumBug = !{ toString: null }.propertyIsEnumerable("toString");
var nonEnumerableProps = [
	"valueOf",
	"isPrototypeOf",
	"toString",
	"propertyIsEnumerable",
	"hasOwnProperty",
	"toLocaleString"
];
var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;
function restArguments(func, startIndex) {
	startIndex = startIndex == null ? func.length - 1 : +startIndex;
	return function() {
		var length = Math.max(arguments.length - startIndex, 0), rest = Array(length), index = 0;
		for (; index < length; index++) {
			rest[index] = arguments[index + startIndex];
		}
		switch (startIndex) {
			case 0: return func.call(this, rest);
			case 1: return func.call(this, arguments[0], rest);
			case 2: return func.call(this, arguments[0], arguments[1], rest);
		}
		var args = Array(startIndex + 1);
		for (index = 0; index < startIndex; index++) {
			args[index] = arguments[index];
		}
		args[startIndex] = rest;
		return func.apply(this, args);
	};
}
function isObject(obj) {
	var type = typeof obj;
	return type === "function" || type === "object" && !!obj;
}
function isNull(obj) {
	return obj === null;
}
function isUndefined(obj) {
	return obj === void 0;
}
function isBoolean(obj) {
	return obj === true || obj === false || toString$1.call(obj) === "[object Boolean]";
}
function isElement(obj) {
	return !!(obj && obj.nodeType === 1);
}
function tagTester(name) {
	var tag = "[object " + name + "]";
	return function(obj) {
		return toString$1.call(obj) === tag;
	};
}
var isString = tagTester("String");
var isNumber = tagTester("Number");
var isDate = tagTester("Date");
var isRegExp = tagTester("RegExp");
var isError = tagTester("Error");
var isSymbol = tagTester("Symbol");
var isArrayBuffer = tagTester("ArrayBuffer");
var isFunction = tagTester("Function");
var nodelist = root.document && root.document.childNodes;
if (typeof /./ != "function" && typeof Int8Array != "object" && typeof nodelist != "function") {
	isFunction = function(obj) {
		return typeof obj == "function" || false;
	};
}
var isFunction$1 = isFunction;
var hasObjectTag = tagTester("Object");
var hasStringTagBug = supportsDataView && hasObjectTag(new DataView(new ArrayBuffer(8))), isIE11 = typeof Map !== "undefined" && hasObjectTag(new Map());
var isDataView = tagTester("DataView");
function ie10IsDataView(obj) {
	return obj != null && isFunction$1(obj.getInt8) && isArrayBuffer(obj.buffer);
}
var isDataView$1 = hasStringTagBug ? ie10IsDataView : isDataView;
var isArray = nativeIsArray || tagTester("Array");
function has$1(obj, key) {
	return obj != null && hasOwnProperty.call(obj, key);
}
var isArguments = tagTester("Arguments");
(function() {
	if (!isArguments(arguments)) {
		isArguments = function(obj) {
			return has$1(obj, "callee");
		};
	}
})();
var isArguments$1 = isArguments;
function isFinite$1(obj) {
	return !isSymbol(obj) && _isFinite(obj) && !isNaN(parseFloat(obj));
}
function isNaN$1(obj) {
	return isNumber(obj) && _isNaN(obj);
}
function constant(value) {
	return function() {
		return value;
	};
}
function createSizePropertyCheck(getSizeProperty) {
	return function(collection) {
		var sizeProperty = getSizeProperty(collection);
		return typeof sizeProperty == "number" && sizeProperty >= 0 && sizeProperty <= MAX_ARRAY_INDEX;
	};
}
function shallowProperty(key) {
	return function(obj) {
		return obj == null ? void 0 : obj[key];
	};
}
var getByteLength = shallowProperty("byteLength");
var isBufferLike = createSizePropertyCheck(getByteLength);
var typedArrayPattern = /\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;
function isTypedArray(obj) {
	return nativeIsView ? nativeIsView(obj) && !isDataView$1(obj) : isBufferLike(obj) && typedArrayPattern.test(toString$1.call(obj));
}
var isTypedArray$1 = supportsArrayBuffer ? isTypedArray : constant(false);
var getLength = shallowProperty("length");
function emulatedSet(keys) {
	var hash = {};
	for (var l = keys.length, i = 0; i < l; ++i) hash[keys[i]] = true;
	return {
		contains: function(key) {
			return hash[key] === true;
		},
		push: function(key) {
			hash[key] = true;
			return keys.push(key);
		}
	};
}
function collectNonEnumProps(obj, keys) {
	keys = emulatedSet(keys);
	var nonEnumIdx = nonEnumerableProps.length;
	var constructor = obj.constructor;
	var proto = isFunction$1(constructor) && constructor.prototype || ObjProto;
	var prop = "constructor";
	if (has$1(obj, prop) && !keys.contains(prop)) keys.push(prop);
	while (nonEnumIdx--) {
		prop = nonEnumerableProps[nonEnumIdx];
		if (prop in obj && obj[prop] !== proto[prop] && !keys.contains(prop)) {
			keys.push(prop);
		}
	}
}
function keys(obj) {
	if (!isObject(obj)) return [];
	if (nativeKeys) return nativeKeys(obj);
	var keys = [];
	for (var key in obj) if (has$1(obj, key)) keys.push(key);
	if (hasEnumBug) collectNonEnumProps(obj, keys);
	return keys;
}
function isEmpty(obj) {
	if (obj == null) return true;
	var length = getLength(obj);
	if (typeof length == "number" && (isArray(obj) || isString(obj) || isArguments$1(obj))) return length === 0;
	return getLength(keys(obj)) === 0;
}
function isMatch(object, attrs) {
	var _keys = keys(attrs), length = _keys.length;
	if (object == null) return !length;
	var obj = Object(object);
	for (var i = 0; i < length; i++) {
		var key = _keys[i];
		if (attrs[key] !== obj[key] || !(key in obj)) return false;
	}
	return true;
}
function _$1(obj) {
	if (obj instanceof _$1) return obj;
	if (!(this instanceof _$1)) return new _$1(obj);
	this._wrapped = obj;
}
_$1.VERSION = VERSION;
_$1.prototype.value = function() {
	return this._wrapped;
};
_$1.prototype.valueOf = _$1.prototype.toJSON = _$1.prototype.value;
_$1.prototype.toString = function() {
	return String(this._wrapped);
};
function toBufferView(bufferSource) {
	return new Uint8Array(bufferSource.buffer || bufferSource, bufferSource.byteOffset || 0, getByteLength(bufferSource));
}
var tagDataView = "[object DataView]";
function eq(a, b, aStack, bStack) {
	if (a === b) return a !== 0 || 1 / a === 1 / b;
	if (a == null || b == null) return false;
	if (a !== a) return b !== b;
	var type = typeof a;
	if (type !== "function" && type !== "object" && typeof b != "object") return false;
	return deepEq(a, b, aStack, bStack);
}
function deepEq(a, b, aStack, bStack) {
	if (a instanceof _$1) a = a._wrapped;
	if (b instanceof _$1) b = b._wrapped;
	var className = toString$1.call(a);
	if (className !== toString$1.call(b)) return false;
	if (hasStringTagBug && className == "[object Object]" && isDataView$1(a)) {
		if (!isDataView$1(b)) return false;
		className = tagDataView;
	}
	switch (className) {
		case "[object RegExp]":
		case "[object String]": return "" + a === "" + b;
		case "[object Number]":
			if (+a !== +a) return +b !== +b;
			return +a === 0 ? 1 / +a === 1 / b : +a === +b;
		case "[object Date]":
		case "[object Boolean]": return +a === +b;
		case "[object Symbol]": return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b);
		case "[object ArrayBuffer]":
		case tagDataView: return deepEq(toBufferView(a), toBufferView(b), aStack, bStack);
	}
	var areArrays = className === "[object Array]";
	if (!areArrays && isTypedArray$1(a)) {
		var byteLength = getByteLength(a);
		if (byteLength !== getByteLength(b)) return false;
		if (a.buffer === b.buffer && a.byteOffset === b.byteOffset) return true;
		areArrays = true;
	}
	if (!areArrays) {
		if (typeof a != "object" || typeof b != "object") return false;
		var aCtor = a.constructor, bCtor = b.constructor;
		if (aCtor !== bCtor && !(isFunction$1(aCtor) && aCtor instanceof aCtor && isFunction$1(bCtor) && bCtor instanceof bCtor) && "constructor" in a && "constructor" in b) {
			return false;
		}
	}
	aStack = aStack || [];
	bStack = bStack || [];
	var length = aStack.length;
	while (length--) {
		if (aStack[length] === a) return bStack[length] === b;
	}
	aStack.push(a);
	bStack.push(b);
	if (areArrays) {
		length = a.length;
		if (length !== b.length) return false;
		while (length--) {
			if (!eq(a[length], b[length], aStack, bStack)) return false;
		}
	} else {
		var _keys = keys(a), key;
		length = _keys.length;
		if (keys(b).length !== length) return false;
		while (length--) {
			key = _keys[length];
			if (!(has$1(b, key) && eq(a[key], b[key], aStack, bStack))) return false;
		}
	}
	aStack.pop();
	bStack.pop();
	return true;
}
function isEqual(a, b) {
	return eq(a, b);
}
function allKeys(obj) {
	if (!isObject(obj)) return [];
	var keys = [];
	for (var key in obj) keys.push(key);
	if (hasEnumBug) collectNonEnumProps(obj, keys);
	return keys;
}
function ie11fingerprint(methods) {
	var length = getLength(methods);
	return function(obj) {
		if (obj == null) return false;
		var keys = allKeys(obj);
		if (getLength(keys)) return false;
		for (var i = 0; i < length; i++) {
			if (!isFunction$1(obj[methods[i]])) return false;
		}
		return methods !== weakMapMethods || !isFunction$1(obj[forEachName]);
	};
}
var forEachName = "forEach", hasName = "has", commonInit = ["clear", "delete"], mapTail = [
	"get",
	hasName,
	"set"
];
var mapMethods = commonInit.concat(forEachName, mapTail), weakMapMethods = commonInit.concat(mapTail), setMethods = ["add"].concat(commonInit, forEachName, hasName);
var isMap = isIE11 ? ie11fingerprint(mapMethods) : tagTester("Map");
var isWeakMap = isIE11 ? ie11fingerprint(weakMapMethods) : tagTester("WeakMap");
var isSet = isIE11 ? ie11fingerprint(setMethods) : tagTester("Set");
var isWeakSet = tagTester("WeakSet");
function values(obj) {
	var _keys = keys(obj);
	var length = _keys.length;
	var values = Array(length);
	for (var i = 0; i < length; i++) {
		values[i] = obj[_keys[i]];
	}
	return values;
}
function pairs(obj) {
	var _keys = keys(obj);
	var length = _keys.length;
	var pairs = Array(length);
	for (var i = 0; i < length; i++) {
		pairs[i] = [_keys[i], obj[_keys[i]]];
	}
	return pairs;
}
function invert(obj) {
	var result = {};
	var _keys = keys(obj);
	for (var i = 0, length = _keys.length; i < length; i++) {
		result[obj[_keys[i]]] = _keys[i];
	}
	return result;
}
function functions(obj) {
	var names = [];
	for (var key in obj) {
		if (isFunction$1(obj[key])) names.push(key);
	}
	return names.sort();
}
function createAssigner(keysFunc, defaults) {
	return function(obj) {
		var length = arguments.length;
		if (defaults) obj = Object(obj);
		if (length < 2 || obj == null) return obj;
		for (var index = 1; index < length; index++) {
			var source = arguments[index], keys = keysFunc(source), l = keys.length;
			for (var i = 0; i < l; i++) {
				var key = keys[i];
				if (!defaults || obj[key] === void 0) obj[key] = source[key];
			}
		}
		return obj;
	};
}
var extend = createAssigner(allKeys);
var extendOwn = createAssigner(keys);
var defaults = createAssigner(allKeys, true);
function ctor() {
	return function() {};
}
function baseCreate(prototype) {
	if (!isObject(prototype)) return {};
	if (nativeCreate) return nativeCreate(prototype);
	var Ctor = ctor();
	Ctor.prototype = prototype;
	var result = new Ctor();
	Ctor.prototype = null;
	return result;
}
function create(prototype, props) {
	var result = baseCreate(prototype);
	if (props) extendOwn(result, props);
	return result;
}
function clone(obj) {
	if (!isObject(obj)) return obj;
	return isArray(obj) ? obj.slice() : extend({}, obj);
}
function tap(obj, interceptor) {
	interceptor(obj);
	return obj;
}
function toPath$1(path) {
	return isArray(path) ? path : [path];
}
_$1.toPath = toPath$1;
function toPath(path) {
	return _$1.toPath(path);
}
function deepGet(obj, path) {
	var length = path.length;
	for (var i = 0; i < length; i++) {
		if (obj == null) return void 0;
		obj = obj[path[i]];
	}
	return length ? obj : void 0;
}
function get(object, path, defaultValue) {
	var value = deepGet(object, toPath(path));
	return isUndefined(value) ? defaultValue : value;
}
function has(obj, path) {
	path = toPath(path);
	var length = path.length;
	for (var i = 0; i < length; i++) {
		var key = path[i];
		if (!has$1(obj, key)) return false;
		obj = obj[key];
	}
	return !!length;
}
function identity(value) {
	return value;
}
function matcher(attrs) {
	attrs = extendOwn({}, attrs);
	return function(obj) {
		return isMatch(obj, attrs);
	};
}
function property(path) {
	path = toPath(path);
	return function(obj) {
		return deepGet(obj, path);
	};
}
function optimizeCb(func, context, argCount) {
	if (context === void 0) return func;
	switch (argCount == null ? 3 : argCount) {
		case 1: return function(value) {
			return func.call(context, value);
		};
		case 3: return function(value, index, collection) {
			return func.call(context, value, index, collection);
		};
		case 4: return function(accumulator, value, index, collection) {
			return func.call(context, accumulator, value, index, collection);
		};
	}
	return function() {
		return func.apply(context, arguments);
	};
}
function baseIteratee(value, context, argCount) {
	if (value == null) return identity;
	if (isFunction$1(value)) return optimizeCb(value, context, argCount);
	if (isObject(value) && !isArray(value)) return matcher(value);
	return property(value);
}
function iteratee(value, context) {
	return baseIteratee(value, context, Infinity);
}
_$1.iteratee = iteratee;
function cb(value, context, argCount) {
	if (_$1.iteratee !== iteratee) return _$1.iteratee(value, context);
	return baseIteratee(value, context, argCount);
}
function mapObject(obj, iteratee, context) {
	iteratee = cb(iteratee, context);
	var _keys = keys(obj), length = _keys.length, results = {};
	for (var index = 0; index < length; index++) {
		var currentKey = _keys[index];
		results[currentKey] = iteratee(obj[currentKey], currentKey, obj);
	}
	return results;
}
function noop() {}
function propertyOf(obj) {
	if (obj == null) return noop;
	return function(path) {
		return get(obj, path);
	};
}
function times(n, iteratee, context) {
	var accum = Array(Math.max(0, n));
	iteratee = optimizeCb(iteratee, context, 1);
	for (var i = 0; i < n; i++) accum[i] = iteratee(i);
	return accum;
}
function random(min, max) {
	if (max == null) {
		max = min;
		min = 0;
	}
	return min + Math.floor(Math.random() * (max - min + 1));
}
var now = Date.now || function() {
	return new Date().getTime();
};
function createEscaper(map) {
	var escaper = function(match) {
		return map[match];
	};
	var source = "(?:" + keys(map).join("|") + ")";
	var testRegexp = RegExp(source);
	var replaceRegexp = RegExp(source, "g");
	return function(string) {
		string = string == null ? "" : "" + string;
		return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;
	};
}
var escapeMap = {
	"&": "&amp;",
	"<": "&lt;",
	">": "&gt;",
	"\"": "&quot;",
	"'": "&#x27;",
	"`": "&#x60;"
};
var _escape = createEscaper(escapeMap);
var unescapeMap = invert(escapeMap);
var _unescape = createEscaper(unescapeMap);
var templateSettings = _$1.templateSettings = {
	evaluate: /<%([\s\S]+?)%>/g,
	interpolate: /<%=([\s\S]+?)%>/g,
	escape: /<%-([\s\S]+?)%>/g
};
var noMatch = /(.)^/;
var escapes = {
	"'": "'",
	"\\": "\\",
	"\r": "r",
	"\n": "n",
	"\u2028": "u2028",
	"\u2029": "u2029"
};
var escapeRegExp = /\\|'|\r|\n|\u2028|\u2029/g;
function escapeChar(match) {
	return "\\" + escapes[match];
}
var bareIdentifier = /^\s*(\w|\$)+\s*$/;
function template(text, settings, oldSettings) {
	if (!settings && oldSettings) settings = oldSettings;
	settings = defaults({}, settings, _$1.templateSettings);
	var matcher = RegExp([
		(settings.escape || noMatch).source,
		(settings.interpolate || noMatch).source,
		(settings.evaluate || noMatch).source
	].join("|") + "|$", "g");
	var index = 0;
	var source = "__p+='";
	text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {
		source += text.slice(index, offset).replace(escapeRegExp, escapeChar);
		index = offset + match.length;
		if (escape) {
			source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'";
		} else if (interpolate) {
			source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'";
		} else if (evaluate) {
			source += "';\n" + evaluate + "\n__p+='";
		}
		return match;
	});
	source += "';\n";
	var argument = settings.variable;
	if (argument) {
		if (!bareIdentifier.test(argument)) throw new Error("variable is not a bare identifier: " + argument);
	} else {
		source = "with(obj||{}){\n" + source + "}\n";
		argument = "obj";
	}
	source = "var __t,__p='',__j=Array.prototype.join," + "print=function(){__p+=__j.call(arguments,'');};\n" + source + "return __p;\n";
	var render;
	try {
		render = new Function(argument, "_", source);
	} catch (e) {
		e.source = source;
		throw e;
	}
	var template = function(data) {
		return render.call(this, data, _$1);
	};
	template.source = "function(" + argument + "){\n" + source + "}";
	return template;
}
function result(obj, path, fallback) {
	path = toPath(path);
	var length = path.length;
	if (!length) {
		return isFunction$1(fallback) ? fallback.call(obj) : fallback;
	}
	for (var i = 0; i < length; i++) {
		var prop = obj == null ? void 0 : obj[path[i]];
		if (prop === void 0) {
			prop = fallback;
			i = length;
		}
		obj = isFunction$1(prop) ? prop.call(obj) : prop;
	}
	return obj;
}
var idCounter = 0;
function uniqueId(prefix) {
	var id = ++idCounter + "";
	return prefix ? prefix + id : id;
}
function chain(obj) {
	var instance = _$1(obj);
	instance._chain = true;
	return instance;
}
function executeBound(sourceFunc, boundFunc, context, callingContext, args) {
	if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);
	var self = baseCreate(sourceFunc.prototype);
	var result = sourceFunc.apply(self, args);
	if (isObject(result)) return result;
	return self;
}
var partial = restArguments(function(func, boundArgs) {
	var placeholder = partial.placeholder;
	var bound = function() {
		var position = 0, length = boundArgs.length;
		var args = Array(length);
		for (var i = 0; i < length; i++) {
			args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i];
		}
		while (position < arguments.length) args.push(arguments[position++]);
		return executeBound(func, bound, this, this, args);
	};
	return bound;
});
partial.placeholder = _$1;
var bind = restArguments(function(func, context, args) {
	if (!isFunction$1(func)) throw new TypeError("Bind must be called on a function");
	var bound = restArguments(function(callArgs) {
		return executeBound(func, bound, context, this, args.concat(callArgs));
	});
	return bound;
});
var isArrayLike = createSizePropertyCheck(getLength);
function flatten$1(input, depth, strict, output) {
	output = output || [];
	if (!depth && depth !== 0) {
		depth = Infinity;
	} else if (depth <= 0) {
		return output.concat(input);
	}
	var idx = output.length;
	for (var i = 0, length = getLength(input); i < length; i++) {
		var value = input[i];
		if (isArrayLike(value) && (isArray(value) || isArguments$1(value))) {
			if (depth > 1) {
				flatten$1(value, depth - 1, strict, output);
				idx = output.length;
			} else {
				var j = 0, len = value.length;
				while (j < len) output[idx++] = value[j++];
			}
		} else if (!strict) {
			output[idx++] = value;
		}
	}
	return output;
}
var bindAll = restArguments(function(obj, keys) {
	keys = flatten$1(keys, false, false);
	var index = keys.length;
	if (index < 1) throw new Error("bindAll must be passed function names");
	while (index--) {
		var key = keys[index];
		obj[key] = bind(obj[key], obj);
	}
	return obj;
});
function memoize(func, hasher) {
	var memoize = function(key) {
		var cache = memoize.cache;
		var address = "" + (hasher ? hasher.apply(this, arguments) : key);
		if (!has$1(cache, address)) cache[address] = func.apply(this, arguments);
		return cache[address];
	};
	memoize.cache = {};
	return memoize;
}
var delay = restArguments(function(func, wait, args) {
	return setTimeout(function() {
		return func.apply(null, args);
	}, wait);
});
var defer = partial(delay, _$1, 1);
function throttle(func, wait, options) {
	var timeout, context, args, result;
	var previous = 0;
	if (!options) options = {};
	var later = function() {
		previous = options.leading === false ? 0 : now();
		timeout = null;
		result = func.apply(context, args);
		if (!timeout) context = args = null;
	};
	var throttled = function() {
		var _now = now();
		if (!previous && options.leading === false) previous = _now;
		var remaining = wait - (_now - previous);
		context = this;
		args = arguments;
		if (remaining <= 0 || remaining > wait) {
			if (timeout) {
				clearTimeout(timeout);
				timeout = null;
			}
			previous = _now;
			result = func.apply(context, args);
			if (!timeout) context = args = null;
		} else if (!timeout && options.trailing !== false) {
			timeout = setTimeout(later, remaining);
		}
		return result;
	};
	throttled.cancel = function() {
		clearTimeout(timeout);
		previous = 0;
		timeout = context = args = null;
	};
	return throttled;
}
function debounce(func, wait, immediate) {
	var timeout, previous, args, result, context;
	var later = function() {
		var passed = now() - previous;
		if (wait > passed) {
			timeout = setTimeout(later, wait - passed);
		} else {
			timeout = null;
			if (!immediate) result = func.apply(context, args);
			if (!timeout) args = context = null;
		}
	};
	var debounced = restArguments(function(_args) {
		context = this;
		args = _args;
		previous = now();
		if (!timeout) {
			timeout = setTimeout(later, wait);
			if (immediate) result = func.apply(context, args);
		}
		return result;
	});
	debounced.cancel = function() {
		clearTimeout(timeout);
		timeout = args = context = null;
	};
	return debounced;
}
function wrap(func, wrapper) {
	return partial(wrapper, func);
}
function negate(predicate) {
	return function() {
		return !predicate.apply(this, arguments);
	};
}
function compose() {
	var args = arguments;
	var start = args.length - 1;
	return function() {
		var i = start;
		var result = args[start].apply(this, arguments);
		while (i--) result = args[i].call(this, result);
		return result;
	};
}
function after(times, func) {
	return function() {
		if (--times < 1) {
			return func.apply(this, arguments);
		}
	};
}
function before(times, func) {
	var memo;
	return function() {
		if (--times > 0) {
			memo = func.apply(this, arguments);
		}
		if (times <= 1) func = null;
		return memo;
	};
}
var once = partial(before, 2);
function findKey(obj, predicate, context) {
	predicate = cb(predicate, context);
	var _keys = keys(obj), key;
	for (var i = 0, length = _keys.length; i < length; i++) {
		key = _keys[i];
		if (predicate(obj[key], key, obj)) return key;
	}
}
function createPredicateIndexFinder(dir) {
	return function(array, predicate, context) {
		predicate = cb(predicate, context);
		var length = getLength(array);
		var index = dir > 0 ? 0 : length - 1;
		for (; index >= 0 && index < length; index += dir) {
			if (predicate(array[index], index, array)) return index;
		}
		return -1;
	};
}
var findIndex = createPredicateIndexFinder(1);
var findLastIndex = createPredicateIndexFinder(-1);
function sortedIndex(array, obj, iteratee, context) {
	iteratee = cb(iteratee, context, 1);
	var value = iteratee(obj);
	var low = 0, high = getLength(array);
	while (low < high) {
		var mid = Math.floor((low + high) / 2);
		if (iteratee(array[mid]) < value) low = mid + 1;
		else high = mid;
	}
	return low;
}
function createIndexFinder(dir, predicateFind, sortedIndex) {
	return function(array, item, idx) {
		var i = 0, length = getLength(array);
		if (typeof idx == "number") {
			if (dir > 0) {
				i = idx >= 0 ? idx : Math.max(idx + length, i);
			} else {
				length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;
			}
		} else if (sortedIndex && idx && length) {
			idx = sortedIndex(array, item);
			return array[idx] === item ? idx : -1;
		}
		if (item !== item) {
			idx = predicateFind(slice.call(array, i, length), isNaN$1);
			return idx >= 0 ? idx + i : -1;
		}
		for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {
			if (array[idx] === item) return idx;
		}
		return -1;
	};
}
var indexOf = createIndexFinder(1, findIndex, sortedIndex);
var lastIndexOf = createIndexFinder(-1, findLastIndex);
function find(obj, predicate, context) {
	var keyFinder = isArrayLike(obj) ? findIndex : findKey;
	var key = keyFinder(obj, predicate, context);
	if (key !== void 0 && key !== -1) return obj[key];
}
function findWhere(obj, attrs) {
	return find(obj, matcher(attrs));
}
function each(obj, iteratee, context) {
	iteratee = optimizeCb(iteratee, context);
	var i, length;
	if (isArrayLike(obj)) {
		for (i = 0, length = obj.length; i < length; i++) {
			iteratee(obj[i], i, obj);
		}
	} else {
		var _keys = keys(obj);
		for (i = 0, length = _keys.length; i < length; i++) {
			iteratee(obj[_keys[i]], _keys[i], obj);
		}
	}
	return obj;
}
function map(obj, iteratee, context) {
	iteratee = cb(iteratee, context);
	var _keys = !isArrayLike(obj) && keys(obj), length = (_keys || obj).length, results = Array(length);
	for (var index = 0; index < length; index++) {
		var currentKey = _keys ? _keys[index] : index;
		results[index] = iteratee(obj[currentKey], currentKey, obj);
	}
	return results;
}
function createReduce(dir) {
	var reducer = function(obj, iteratee, memo, initial) {
		var _keys = !isArrayLike(obj) && keys(obj), length = (_keys || obj).length, index = dir > 0 ? 0 : length - 1;
		if (!initial) {
			memo = obj[_keys ? _keys[index] : index];
			index += dir;
		}
		for (; index >= 0 && index < length; index += dir) {
			var currentKey = _keys ? _keys[index] : index;
			memo = iteratee(memo, obj[currentKey], currentKey, obj);
		}
		return memo;
	};
	return function(obj, iteratee, memo, context) {
		var initial = arguments.length >= 3;
		return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial);
	};
}
var reduce = createReduce(1);
var reduceRight = createReduce(-1);
function filter(obj, predicate, context) {
	var results = [];
	predicate = cb(predicate, context);
	each(obj, function(value, index, list) {
		if (predicate(value, index, list)) results.push(value);
	});
	return results;
}
function reject(obj, predicate, context) {
	return filter(obj, negate(cb(predicate)), context);
}
function every(obj, predicate, context) {
	predicate = cb(predicate, context);
	var _keys = !isArrayLike(obj) && keys(obj), length = (_keys || obj).length;
	for (var index = 0; index < length; index++) {
		var currentKey = _keys ? _keys[index] : index;
		if (!predicate(obj[currentKey], currentKey, obj)) return false;
	}
	return true;
}
function some(obj, predicate, context) {
	predicate = cb(predicate, context);
	var _keys = !isArrayLike(obj) && keys(obj), length = (_keys || obj).length;
	for (var index = 0; index < length; index++) {
		var currentKey = _keys ? _keys[index] : index;
		if (predicate(obj[currentKey], currentKey, obj)) return true;
	}
	return false;
}
function contains(obj, item, fromIndex, guard) {
	if (!isArrayLike(obj)) obj = values(obj);
	if (typeof fromIndex != "number" || guard) fromIndex = 0;
	return indexOf(obj, item, fromIndex) >= 0;
}
var invoke = restArguments(function(obj, path, args) {
	var contextPath, func;
	if (isFunction$1(path)) {
		func = path;
	} else {
		path = toPath(path);
		contextPath = path.slice(0, -1);
		path = path[path.length - 1];
	}
	return map(obj, function(context) {
		var method = func;
		if (!method) {
			if (contextPath && contextPath.length) {
				context = deepGet(context, contextPath);
			}
			if (context == null) return void 0;
			method = context[path];
		}
		return method == null ? method : method.apply(context, args);
	});
});
function pluck(obj, key) {
	return map(obj, property(key));
}
function where(obj, attrs) {
	return filter(obj, matcher(attrs));
}
function max(obj, iteratee, context) {
	var result = -Infinity, lastComputed = -Infinity, value, computed;
	if (iteratee == null || typeof iteratee == "number" && typeof obj[0] != "object" && obj != null) {
		obj = isArrayLike(obj) ? obj : values(obj);
		for (var i = 0, length = obj.length; i < length; i++) {
			value = obj[i];
			if (value != null && value > result) {
				result = value;
			}
		}
	} else {
		iteratee = cb(iteratee, context);
		each(obj, function(v, index, list) {
			computed = iteratee(v, index, list);
			if (computed > lastComputed || computed === -Infinity && result === -Infinity) {
				result = v;
				lastComputed = computed;
			}
		});
	}
	return result;
}
function min(obj, iteratee, context) {
	var result = Infinity, lastComputed = Infinity, value, computed;
	if (iteratee == null || typeof iteratee == "number" && typeof obj[0] != "object" && obj != null) {
		obj = isArrayLike(obj) ? obj : values(obj);
		for (var i = 0, length = obj.length; i < length; i++) {
			value = obj[i];
			if (value != null && value < result) {
				result = value;
			}
		}
	} else {
		iteratee = cb(iteratee, context);
		each(obj, function(v, index, list) {
			computed = iteratee(v, index, list);
			if (computed < lastComputed || computed === Infinity && result === Infinity) {
				result = v;
				lastComputed = computed;
			}
		});
	}
	return result;
}
var reStrSymbol = /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;
function toArray(obj) {
	if (!obj) return [];
	if (isArray(obj)) return slice.call(obj);
	if (isString(obj)) {
		return obj.match(reStrSymbol);
	}
	if (isArrayLike(obj)) return map(obj, identity);
	return values(obj);
}
function sample(obj, n, guard) {
	if (n == null || guard) {
		if (!isArrayLike(obj)) obj = values(obj);
		return obj[random(obj.length - 1)];
	}
	var sample = toArray(obj);
	var length = getLength(sample);
	n = Math.max(Math.min(n, length), 0);
	var last = length - 1;
	for (var index = 0; index < n; index++) {
		var rand = random(index, last);
		var temp = sample[index];
		sample[index] = sample[rand];
		sample[rand] = temp;
	}
	return sample.slice(0, n);
}
function shuffle(obj) {
	return sample(obj, Infinity);
}
function sortBy(obj, iteratee, context) {
	var index = 0;
	iteratee = cb(iteratee, context);
	return pluck(map(obj, function(value, key, list) {
		return {
			value,
			index: index++,
			criteria: iteratee(value, key, list)
		};
	}).sort(function(left, right) {
		var a = left.criteria;
		var b = right.criteria;
		if (a !== b) {
			if (a > b || a === void 0) return 1;
			if (a < b || b === void 0) return -1;
		}
		return left.index - right.index;
	}), "value");
}
function group(behavior, partition) {
	return function(obj, iteratee, context) {
		var result = partition ? [[], []] : {};
		iteratee = cb(iteratee, context);
		each(obj, function(value, index) {
			var key = iteratee(value, index, obj);
			behavior(result, value, key);
		});
		return result;
	};
}
var groupBy = group(function(result, value, key) {
	if (has$1(result, key)) result[key].push(value);
	else result[key] = [value];
});
var indexBy = group(function(result, value, key) {
	result[key] = value;
});
var countBy = group(function(result, value, key) {
	if (has$1(result, key)) result[key]++;
	else result[key] = 1;
});
var partition = group(function(result, value, pass) {
	result[pass ? 0 : 1].push(value);
}, true);
function size(obj) {
	if (obj == null) return 0;
	return isArrayLike(obj) ? obj.length : keys(obj).length;
}
function keyInObj(value, key, obj) {
	return key in obj;
}
var pick = restArguments(function(obj, keys) {
	var result = {}, iteratee = keys[0];
	if (obj == null) return result;
	if (isFunction$1(iteratee)) {
		if (keys.length > 1) iteratee = optimizeCb(iteratee, keys[1]);
		keys = allKeys(obj);
	} else {
		iteratee = keyInObj;
		keys = flatten$1(keys, false, false);
		obj = Object(obj);
	}
	for (var i = 0, length = keys.length; i < length; i++) {
		var key = keys[i];
		var value = obj[key];
		if (iteratee(value, key, obj)) result[key] = value;
	}
	return result;
});
var omit = restArguments(function(obj, keys) {
	var iteratee = keys[0], context;
	if (isFunction$1(iteratee)) {
		iteratee = negate(iteratee);
		if (keys.length > 1) context = keys[1];
	} else {
		keys = map(flatten$1(keys, false, false), String);
		iteratee = function(value, key) {
			return !contains(keys, key);
		};
	}
	return pick(obj, iteratee, context);
});
function initial(array, n, guard) {
	return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));
}
function first(array, n, guard) {
	if (array == null || array.length < 1) return n == null || guard ? void 0 : [];
	if (n == null || guard) return array[0];
	return initial(array, array.length - n);
}
function rest(array, n, guard) {
	return slice.call(array, n == null || guard ? 1 : n);
}
function last(array, n, guard) {
	if (array == null || array.length < 1) return n == null || guard ? void 0 : [];
	if (n == null || guard) return array[array.length - 1];
	return rest(array, Math.max(0, array.length - n));
}
function compact(array) {
	return filter(array, Boolean);
}
function flatten(array, depth) {
	return flatten$1(array, depth, false);
}
var difference = restArguments(function(array, rest) {
	rest = flatten$1(rest, true, true);
	return filter(array, function(value) {
		return !contains(rest, value);
	});
});
var without = restArguments(function(array, otherArrays) {
	return difference(array, otherArrays);
});
function uniq(array, isSorted, iteratee, context) {
	if (!isBoolean(isSorted)) {
		context = iteratee;
		iteratee = isSorted;
		isSorted = false;
	}
	if (iteratee != null) iteratee = cb(iteratee, context);
	var result = [];
	var seen = [];
	for (var i = 0, length = getLength(array); i < length; i++) {
		var value = array[i], computed = iteratee ? iteratee(value, i, array) : value;
		if (isSorted && !iteratee) {
			if (!i || seen !== computed) result.push(value);
			seen = computed;
		} else if (iteratee) {
			if (!contains(seen, computed)) {
				seen.push(computed);
				result.push(value);
			}
		} else if (!contains(result, value)) {
			result.push(value);
		}
	}
	return result;
}
var union = restArguments(function(arrays) {
	return uniq(flatten$1(arrays, true, true));
});
function intersection(array) {
	var result = [];
	var argsLength = arguments.length;
	for (var i = 0, length = getLength(array); i < length; i++) {
		var item = array[i];
		if (contains(result, item)) continue;
		var j;
		for (j = 1; j < argsLength; j++) {
			if (!contains(arguments[j], item)) break;
		}
		if (j === argsLength) result.push(item);
	}
	return result;
}
function unzip(array) {
	var length = array && max(array, getLength).length || 0;
	var result = Array(length);
	for (var index = 0; index < length; index++) {
		result[index] = pluck(array, index);
	}
	return result;
}
var zip = restArguments(unzip);
function object(list, values) {
	var result = {};
	for (var i = 0, length = getLength(list); i < length; i++) {
		if (values) {
			result[list[i]] = values[i];
		} else {
			result[list[i][0]] = list[i][1];
		}
	}
	return result;
}
function range(start, stop, step) {
	if (stop == null) {
		stop = start || 0;
		start = 0;
	}
	if (!step) {
		step = stop < start ? -1 : 1;
	}
	var length = Math.max(Math.ceil((stop - start) / step), 0);
	var range = Array(length);
	for (var idx = 0; idx < length; idx++, start += step) {
		range[idx] = start;
	}
	return range;
}
function chunk(array, count) {
	if (count == null || count < 1) return [];
	var result = [];
	var i = 0, length = array.length;
	while (i < length) {
		result.push(slice.call(array, i, i += count));
	}
	return result;
}
function chainResult(instance, obj) {
	return instance._chain ? _$1(obj).chain() : obj;
}
function mixin(obj) {
	each(functions(obj), function(name) {
		var func = _$1[name] = obj[name];
		_$1.prototype[name] = function() {
			var args = [this._wrapped];
			push.apply(args, arguments);
			return chainResult(this, func.apply(_$1, args));
		};
	});
	return _$1;
}
each([
	"pop",
	"push",
	"reverse",
	"shift",
	"sort",
	"splice",
	"unshift"
], function(name) {
	var method = ArrayProto[name];
	_$1.prototype[name] = function() {
		var obj = this._wrapped;
		if (obj != null) {
			method.apply(obj, arguments);
			if ((name === "shift" || name === "splice") && obj.length === 0) {
				delete obj[0];
			}
		}
		return chainResult(this, obj);
	};
});
each([
	"concat",
	"join",
	"slice"
], function(name) {
	var method = ArrayProto[name];
	_$1.prototype[name] = function() {
		var obj = this._wrapped;
		if (obj != null) obj = method.apply(obj, arguments);
		return chainResult(this, obj);
	};
});
var allExports = {
	__proto__: null,
	VERSION,
	restArguments,
	isObject,
	isNull,
	isUndefined,
	isBoolean,
	isElement,
	isString,
	isNumber,
	isDate,
	isRegExp,
	isError,
	isSymbol,
	isArrayBuffer,
	isDataView: isDataView$1,
	isArray,
	isFunction: isFunction$1,
	isArguments: isArguments$1,
	isFinite: isFinite$1,
	isNaN: isNaN$1,
	isTypedArray: isTypedArray$1,
	isEmpty,
	isMatch,
	isEqual,
	isMap,
	isWeakMap,
	isSet,
	isWeakSet,
	keys,
	allKeys,
	values,
	pairs,
	invert,
	functions,
	methods: functions,
	extend,
	extendOwn,
	assign: extendOwn,
	defaults,
	create,
	clone,
	tap,
	get,
	has,
	mapObject,
	identity,
	constant,
	noop,
	toPath: toPath$1,
	property,
	propertyOf,
	matcher,
	matches: matcher,
	times,
	random,
	now,
	escape: _escape,
	unescape: _unescape,
	templateSettings,
	template,
	result,
	uniqueId,
	chain,
	iteratee,
	partial,
	bind,
	bindAll,
	memoize,
	delay,
	defer,
	throttle,
	debounce,
	wrap,
	negate,
	compose,
	after,
	before,
	once,
	findKey,
	findIndex,
	findLastIndex,
	sortedIndex,
	indexOf,
	lastIndexOf,
	find,
	detect: find,
	findWhere,
	each,
	forEach: each,
	map,
	collect: map,
	reduce,
	foldl: reduce,
	inject: reduce,
	reduceRight,
	foldr: reduceRight,
	filter,
	select: filter,
	reject,
	every,
	all: every,
	some,
	any: some,
	contains,
	includes: contains,
	include: contains,
	invoke,
	pluck,
	where,
	max,
	min,
	shuffle,
	sample,
	sortBy,
	groupBy,
	indexBy,
	countBy,
	partition,
	toArray,
	size,
	pick,
	omit,
	first,
	head: first,
	take: first,
	initial,
	last,
	rest,
	tail: rest,
	drop: rest,
	compact,
	flatten,
	without,
	uniq,
	unique: uniq,
	union,
	intersection,
	difference,
	unzip,
	transpose: unzip,
	zip,
	object,
	range,
	chunk,
	mixin,
	default: _$1
};
var _ = mixin(allExports);
_._ = _;

//#endregion
//#region ../node_modules/tunnel/lib/tunnel.js
var require_tunnel$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
	var net = __require("net");
	var tls = __require("tls");
	var http$1 = __require("http");
	var https$1 = __require("https");
	var events = __require("events");
	var assert$1 = __require("assert");
	var util$2 = __require("util");
	exports.httpOverHttp = httpOverHttp;
	exports.httpsOverHttp = httpsOverHttp;
	exports.httpOverHttps = httpOverHttps;
	exports.httpsOverHttps = httpsOverHttps;
	function httpOverHttp(options) {
		var agent = new TunnelingAgent(options);
		agent.request = http$1.request;
		return agent;
	}
	function httpsOverHttp(options) {
		var agent = new TunnelingAgent(options);
		agent.request = http$1.request;
		agent.createSocket = createSecureSocket;
		agent.defaultPort = 443;
		return agent;
	}
	function httpOverHttps(options) {
		var agent = new TunnelingAgent(options);
		agent.request = https$1.request;
		return agent;
	}
	function httpsOverHttps(options) {
		var agent = new TunnelingAgent(options);
		agent.request = https$1.request;
		agent.createSocket = createSecureSocket;
		agent.defaultPort = 443;
		return agent;
	}
	function TunnelingAgent(options) {
		var self = this;
		self.options = options || {};
		self.proxyOptions = self.options.proxy || {};
		self.maxSockets = self.options.maxSockets || http$1.Agent.defaultMaxSockets;
		self.requests = [];
		self.sockets = [];
		self.on("free", function onFree(socket, host, port, localAddress) {
			var options = toOptions(host, port, localAddress);
			for (var i = 0, len = self.requests.length; i < len; ++i) {
				var pending = self.requests[i];
				if (pending.host === options.host && pending.port === options.port) {
					self.requests.splice(i, 1);
					pending.request.onSocket(socket);
					return;
				}
			}
			socket.destroy();
			self.removeSocket(socket);
		});
	}
	util$2.inherits(TunnelingAgent, events.EventEmitter);
	TunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) {
		var self = this;
		var options = mergeOptions({ request: req }, self.options, toOptions(host, port, localAddress));
		if (self.sockets.length >= this.maxSockets) {
			self.requests.push(options);
			return;
		}
		self.createSocket(options, function(socket) {
			socket.on("free", onFree);
			socket.on("close", onCloseOrRemove);
			socket.on("agentRemove", onCloseOrRemove);
			req.onSocket(socket);
			function onFree() {
				self.emit("free", socket, options);
			}
			function onCloseOrRemove(err) {
				self.removeSocket(socket);
				socket.removeListener("free", onFree);
				socket.removeListener("close", onCloseOrRemove);
				socket.removeListener("agentRemove", onCloseOrRemove);
			}
		});
	};
	TunnelingAgent.prototype.createSocket = function createSocket(options, cb) {
		var self = this;
		var placeholder = {};
		self.sockets.push(placeholder);
		var connectOptions = mergeOptions({}, self.proxyOptions, {
			method: "CONNECT",
			path: options.host + ":" + options.port,
			agent: false,
			headers: { host: options.host + ":" + options.port }
		});
		if (options.localAddress) {
			connectOptions.localAddress = options.localAddress;
		}
		if (connectOptions.proxyAuth) {
			connectOptions.headers = connectOptions.headers || {};
			connectOptions.headers["Proxy-Authorization"] = "Basic " + new Buffer(connectOptions.proxyAuth).toString("base64");
		}
		debug("making CONNECT request");
		var connectReq = self.request(connectOptions);
		connectReq.useChunkedEncodingByDefault = false;
		connectReq.once("response", onResponse);
		connectReq.once("upgrade", onUpgrade);
		connectReq.once("connect", onConnect);
		connectReq.once("error", onError);
		connectReq.end();
		function onResponse(res) {
			res.upgrade = true;
		}
		function onUpgrade(res, socket, head) {
			process.nextTick(function() {
				onConnect(res, socket, head);
			});
		}
		function onConnect(res, socket, head) {
			connectReq.removeAllListeners();
			socket.removeAllListeners();
			if (res.statusCode !== 200) {
				debug("tunneling socket could not be established, statusCode=%d", res.statusCode);
				socket.destroy();
				var error = new Error("tunneling socket could not be established, " + "statusCode=" + res.statusCode);
				error.code = "ECONNRESET";
				options.request.emit("error", error);
				self.removeSocket(placeholder);
				return;
			}
			if (head.length > 0) {
				debug("got illegal response body from proxy");
				socket.destroy();
				var error = new Error("got illegal response body from proxy");
				error.code = "ECONNRESET";
				options.request.emit("error", error);
				self.removeSocket(placeholder);
				return;
			}
			debug("tunneling connection has established");
			self.sockets[self.sockets.indexOf(placeholder)] = socket;
			return cb(socket);
		}
		function onError(cause) {
			connectReq.removeAllListeners();
			debug("tunneling socket could not be established, cause=%s\n", cause.message, cause.stack);
			var error = new Error("tunneling socket could not be established, " + "cause=" + cause.message);
			error.code = "ECONNRESET";
			options.request.emit("error", error);
			self.removeSocket(placeholder);
		}
	};
	TunnelingAgent.prototype.removeSocket = function removeSocket(socket) {
		var pos = this.sockets.indexOf(socket);
		if (pos === -1) {
			return;
		}
		this.sockets.splice(pos, 1);
		var pending = this.requests.shift();
		if (pending) {
			this.createSocket(pending, function(socket) {
				pending.request.onSocket(socket);
			});
		}
	};
	function createSecureSocket(options, cb) {
		var self = this;
		TunnelingAgent.prototype.createSocket.call(self, options, function(socket) {
			var hostHeader = options.request.getHeader("host");
			var tlsOptions = mergeOptions({}, self.options, {
				socket,
				servername: hostHeader ? hostHeader.replace(/:.*$/, "") : options.host
			});
			var secureSocket = tls.connect(0, tlsOptions);
			self.sockets[self.sockets.indexOf(socket)] = secureSocket;
			cb(secureSocket);
		});
	}
	function toOptions(host, port, localAddress) {
		if (typeof host === "string") {
			return {
				host,
				port,
				localAddress
			};
		}
		return host;
	}
	function mergeOptions(target) {
		for (var i = 1, len = arguments.length; i < len; ++i) {
			var overrides = arguments[i];
			if (typeof overrides === "object") {
				var keys = Object.keys(overrides);
				for (var j = 0, keyLen = keys.length; j < keyLen; ++j) {
					var k = keys[j];
					if (overrides[k] !== undefined) {
						target[k] = overrides[k];
					}
				}
			}
		}
		return target;
	}
	var debug;
	if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) {
		debug = function() {
			var args = Array.prototype.slice.call(arguments);
			if (typeof args[0] === "string") {
				args[0] = "TUNNEL: " + args[0];
			} else {
				args.unshift("TUNNEL:");
			}
			console.error.apply(console, args);
		};
	} else {
		debug = function() {};
	}
	exports.debug = debug;
}));

//#endregion
//#region ../node_modules/tunnel/index.js
var require_tunnel = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = require_tunnel$1();
}));

//#endregion
//#region ../libs_drpy/jsonpathplus.min.js
var require_jsonpathplus_min = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	!function(e, t) {
		"object" == typeof exports && "undefined" != typeof module ? t(exports) : "function" == typeof define && define.amd ? define(["exports"], t) : t((e = "undefined" != typeof globalThis ? globalThis : e || self).JSONPath = {});
	}(exports, function(e) {
		"use strict";
		function n(e, t, r) {
			return t = l(t), function(e, t) {
				{
					if (t && ("object" == typeof t || "function" == typeof t)) return t;
					if (void 0 !== t) throw new TypeError("Derived constructors may only return object or undefined");
				}
				return function(e) {
					if (void 0 !== e) return e;
					throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
				}(e);
			}(e, i() ? Reflect.construct(t, r || [], l(e).constructor) : t.apply(e, r));
		}
		function o(e, t, r) {
			if (i()) return Reflect.construct.apply(null, arguments);
			var n = [null];
			n.push.apply(n, t);
			n = new (e.bind.apply(e, n))();
			return r && h(n, r.prototype), n;
		}
		function i() {
			try {
				var e = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
			} catch (e) {}
			return (i = function() {
				return !!e;
			})();
		}
		function t(t, e) {
			var r, n = Object.keys(t);
			return Object.getOwnPropertySymbols && (r = Object.getOwnPropertySymbols(t), e && (r = r.filter(function(e) {
				return Object.getOwnPropertyDescriptor(t, e).enumerable;
			})), n.push.apply(n, r)), n;
		}
		function r(n) {
			for (var e = 1; e < arguments.length; e++) {
				var i = null != arguments[e] ? arguments[e] : {};
				e % 2 ? t(Object(i), !0).forEach(function(e) {
					var t, r;
					t = n, e = i[r = e], (r = a(r)) in t ? Object.defineProperty(t, r, {
						value: e,
						enumerable: !0,
						configurable: !0,
						writable: !0
					}) : t[r] = e;
				}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(n, Object.getOwnPropertyDescriptors(i)) : t(Object(i)).forEach(function(e) {
					Object.defineProperty(n, e, Object.getOwnPropertyDescriptor(i, e));
				});
			}
			return n;
		}
		function a(e) {
			e = function(e, t) {
				if ("object" != typeof e || !e) return e;
				var r = e[Symbol.toPrimitive];
				if (void 0 === r) return ("string" === t ? String : Number)(e);
				if ("object" != typeof (t = r.call(e, t || "default"))) return t;
				throw new TypeError("@@toPrimitive must return a primitive value.");
			}(e, "string");
			return "symbol" == typeof e ? e : e + "";
		}
		function C(e) {
			return (C = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
				return typeof e;
			} : function(e) {
				return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
			})(e);
		}
		function s(e, t) {
			if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
		}
		function u(e, t) {
			for (var r = 0; r < t.length; r++) {
				var n = t[r];
				n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, a(n.key), n);
			}
		}
		function c(e, t, r) {
			return t && u(e.prototype, t), r && u(e, r), Object.defineProperty(e, "prototype", { writable: !1 }), e;
		}
		function l(e) {
			return (l = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(e) {
				return e.__proto__ || Object.getPrototypeOf(e);
			})(e);
		}
		function h(e, t) {
			return (h = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(e, t) {
				return e.__proto__ = t, e;
			})(e, t);
		}
		function p(e) {
			var r = "function" == typeof Map ? new Map() : void 0;
			return (p = function(e) {
				if (null === e || !function(t) {
					try {
						return -1 !== Function.toString.call(t).indexOf("[native code]");
					} catch (e) {
						return "function" == typeof t;
					}
				}(e)) return e;
				if ("function" != typeof e) throw new TypeError("Super expression must either be null or a function");
				if (void 0 !== r) {
					if (r.has(e)) return r.get(e);
					r.set(e, t);
				}
				function t() {
					return o(e, arguments, l(this).constructor);
				}
				return t.prototype = Object.create(e.prototype, { constructor: {
					value: t,
					enumerable: !1,
					writable: !0,
					configurable: !0
				} }), h(t, e);
			})(e);
		}
		function f(e) {
			return function(e) {
				if (Array.isArray(e)) return d(e);
			}(e) || function(e) {
				if ("undefined" != typeof Symbol && null != e[Symbol.iterator] || null != e["@@iterator"]) return Array.from(e);
			}(e) || O(e) || function() {
				throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
			}();
		}
		function O(e, t) {
			if (e) {
				if ("string" == typeof e) return d(e, t);
				var r = Object.prototype.toString.call(e).slice(8, -1);
				return "Object" === r && e.constructor && (r = e.constructor.name), "Map" === r || "Set" === r ? Array.from(e) : "Arguments" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? d(e, t) : void 0;
			}
		}
		function d(e, t) {
			(null == t || t > e.length) && (t = e.length);
			for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
			return n;
		}
		var y = function() {
			return c(function e() {
				s(this, e);
			}, [{
				key: "add",
				value: function(e, t, r) {
					if ("string" != typeof e) for (var n in e) this.add(n, e[n], t);
					else (Array.isArray(e) ? e : [e]).forEach(function(e) {
						this[e] = this[e] || [], t && this[e][r ? "unshift" : "push"](t);
					}, this);
				}
			}, {
				key: "run",
				value: function(e, t) {
					this[e] = this[e] || [], this[e].forEach(function(e) {
						e.call(t && t.context ? t.context : t, t);
					});
				}
			}]);
		}(), b = function() {
			return c(function e(t) {
				s(this, e), this.jsep = t, this.registered = {};
			}, [{
				key: "register",
				value: function() {
					for (var t = this, e = arguments.length, r = new Array(e), n = 0; n < e; n++) r[n] = arguments[n];
					r.forEach(function(e) {
						if ("object" !== C(e) || !e.name || !e.init) throw new Error("Invalid JSEP plugin format");
						t.registered[e.name] || (e.init(t.jsep), t.registered[e.name] = e);
					});
				}
			}]);
		}(), v = function() {
			function l(e) {
				s(this, l), this.expr = e, this.index = 0;
			}
			return c(l, [
				{
					key: "char",
					get: function() {
						return this.expr.charAt(this.index);
					}
				},
				{
					key: "code",
					get: function() {
						return this.expr.charCodeAt(this.index);
					}
				},
				{
					key: "throwError",
					value: function(e) {
						var t = new Error(e + " at character " + this.index);
						throw t.index = this.index, t.description = e, t;
					}
				},
				{
					key: "runHook",
					value: function(e, t) {
						if (l.hooks[e]) {
							var r = {
								context: this,
								node: t
							};
							return l.hooks.run(e, r), r.node;
						}
						return t;
					}
				},
				{
					key: "searchHook",
					value: function(e) {
						if (l.hooks[e]) {
							var t = { context: this };
							return l.hooks[e].find(function(e) {
								return e.call(t.context, t), t.node;
							}), t.node;
						}
					}
				},
				{
					key: "gobbleSpaces",
					value: function() {
						for (var e = this.code; e === l.SPACE_CODE || e === l.TAB_CODE || e === l.LF_CODE || e === l.CR_CODE;) e = this.expr.charCodeAt(++this.index);
						this.runHook("gobble-spaces");
					}
				},
				{
					key: "parse",
					value: function() {
						this.runHook("before-all");
						var e = this.gobbleExpressions(), e = 1 === e.length ? e[0] : {
							type: l.COMPOUND,
							body: e
						};
						return this.runHook("after-all", e);
					}
				},
				{
					key: "gobbleExpressions",
					value: function(e) {
						for (var t, r, n = []; this.index < this.expr.length;) if ((t = this.code) === l.SEMCOL_CODE || t === l.COMMA_CODE) this.index++;
						else if (r = this.gobbleExpression()) n.push(r);
						else if (this.index < this.expr.length) {
							if (t === e) break;
							this.throwError("Unexpected \"" + this.char + "\"");
						}
						return n;
					}
				},
				{
					key: "gobbleExpression",
					value: function() {
						var e = this.searchHook("gobble-expression") || this.gobbleBinaryExpression();
						return this.gobbleSpaces(), this.runHook("after-expression", e);
					}
				},
				{
					key: "gobbleBinaryOp",
					value: function() {
						this.gobbleSpaces();
						for (var e = this.expr.substr(this.index, l.max_binop_len), t = e.length; 0 < t;) {
							if (l.binary_ops.hasOwnProperty(e) && (!l.isIdentifierStart(this.code) || this.index + e.length < this.expr.length && !l.isIdentifierPart(this.expr.charCodeAt(this.index + e.length)))) return this.index += t, e;
							e = e.substr(0, --t);
						}
						return !1;
					}
				},
				{
					key: "gobbleBinaryExpression",
					value: function() {
						var e, t, r, n, i, o, a, s, u, c = this.gobbleToken();
						if (!c) return c;
						if (!(t = this.gobbleBinaryOp())) return c;
						for (i = {
							value: t,
							prec: l.binaryPrecedence(t),
							right_a: l.right_associative.has(t)
						}, (o = this.gobbleToken()) || this.throwError("Expected expression after " + t), n = [
							c,
							i,
							o
						]; t = this.gobbleBinaryOp();) {
							if (0 === (r = l.binaryPrecedence(t))) {
								this.index -= t.length;
								break;
							}
							i = {
								value: t,
								prec: r,
								right_a: l.right_associative.has(t)
							}, s = t;
							for (; 2 < n.length && (u = n[n.length - 2], i.right_a && u.right_a ? r > u.prec : r <= u.prec);) o = n.pop(), t = n.pop().value, c = n.pop(), e = {
								type: l.BINARY_EXP,
								operator: t,
								left: c,
								right: o
							}, n.push(e);
							(e = this.gobbleToken()) || this.throwError("Expected expression after " + s), n.push(i, e);
						}
						for (e = n[a = n.length - 1]; 1 < a;) e = {
							type: l.BINARY_EXP,
							operator: n[a - 1].value,
							left: n[a - 2],
							right: e
						}, a -= 2;
						return e;
					}
				},
				{
					key: "gobbleToken",
					value: function() {
						var e, t, r, n;
						if (this.gobbleSpaces(), n = this.searchHook("gobble-token")) return this.runHook("after-token", n);
						if (e = this.code, l.isDecimalDigit(e) || e === l.PERIOD_CODE) return this.gobbleNumericLiteral();
						if (e === l.SQUOTE_CODE || e === l.DQUOTE_CODE) n = this.gobbleStringLiteral();
						else if (e === l.OBRACK_CODE) n = this.gobbleArray();
						else {
							for (r = (t = this.expr.substr(this.index, l.max_unop_len)).length; 0 < r;) {
								if (l.unary_ops.hasOwnProperty(t) && (!l.isIdentifierStart(this.code) || this.index + t.length < this.expr.length && !l.isIdentifierPart(this.expr.charCodeAt(this.index + t.length)))) {
									this.index += r;
									var i = this.gobbleToken();
									return i || this.throwError("missing unaryOp argument"), this.runHook("after-token", {
										type: l.UNARY_EXP,
										operator: t,
										argument: i,
										prefix: !0
									});
								}
								t = t.substr(0, --r);
							}
							l.isIdentifierStart(e) ? (n = this.gobbleIdentifier(), l.literals.hasOwnProperty(n.name) ? n = {
								type: l.LITERAL,
								value: l.literals[n.name],
								raw: n.name
							} : n.name === l.this_str && (n = { type: l.THIS_EXP })) : e === l.OPAREN_CODE && (n = this.gobbleGroup());
						}
						return n ? (n = this.gobbleTokenProperty(n), this.runHook("after-token", n)) : this.runHook("after-token", !1);
					}
				},
				{
					key: "gobbleTokenProperty",
					value: function(e) {
						this.gobbleSpaces();
						for (var t = this.code; t === l.PERIOD_CODE || t === l.OBRACK_CODE || t === l.OPAREN_CODE || t === l.QUMARK_CODE;) {
							var r = void 0;
							if (t === l.QUMARK_CODE) {
								if (this.expr.charCodeAt(this.index + 1) !== l.PERIOD_CODE) break;
								r = !0, this.index += 2, this.gobbleSpaces(), t = this.code;
							}
							this.index++, t === l.OBRACK_CODE ? (e = {
								type: l.MEMBER_EXP,
								computed: !0,
								object: e,
								property: this.gobbleExpression()
							}, this.gobbleSpaces(), (t = this.code) !== l.CBRACK_CODE && this.throwError("Unclosed ["), this.index++) : t === l.OPAREN_CODE ? e = {
								type: l.CALL_EXP,
								arguments: this.gobbleArguments(l.CPAREN_CODE),
								callee: e
							} : t !== l.PERIOD_CODE && !r || (r && this.index--, this.gobbleSpaces(), e = {
								type: l.MEMBER_EXP,
								computed: !1,
								object: e,
								property: this.gobbleIdentifier()
							}), r && (e.optional = !0), this.gobbleSpaces(), t = this.code;
						}
						return e;
					}
				},
				{
					key: "gobbleNumericLiteral",
					value: function() {
						for (var e, t = ""; l.isDecimalDigit(this.code);) t += this.expr.charAt(this.index++);
						if (this.code === l.PERIOD_CODE) for (t += this.expr.charAt(this.index++); l.isDecimalDigit(this.code);) t += this.expr.charAt(this.index++);
						if ("e" === (e = this.char) || "E" === e) {
							for (t += this.expr.charAt(this.index++), "+" !== (e = this.char) && "-" !== e || (t += this.expr.charAt(this.index++)); l.isDecimalDigit(this.code);) t += this.expr.charAt(this.index++);
							l.isDecimalDigit(this.expr.charCodeAt(this.index - 1)) || this.throwError("Expected exponent (" + t + this.char + ")");
						}
						return e = this.code, l.isIdentifierStart(e) ? this.throwError("Variable names cannot start with a number (" + t + this.char + ")") : (e === l.PERIOD_CODE || 1 === t.length && t.charCodeAt(0) === l.PERIOD_CODE) && this.throwError("Unexpected period"), {
							type: l.LITERAL,
							value: parseFloat(t),
							raw: t
						};
					}
				},
				{
					key: "gobbleStringLiteral",
					value: function() {
						for (var e = "", t = this.index, r = this.expr.charAt(this.index++), n = !1; this.index < this.expr.length;) {
							var i = this.expr.charAt(this.index++);
							if (i === r) {
								n = !0;
								break;
							}
							if ("\\" === i) switch (i = this.expr.charAt(this.index++)) {
								case "n":
									e += "\n";
									break;
								case "r":
									e += "\r";
									break;
								case "t":
									e += "	";
									break;
								case "b":
									e += "\b";
									break;
								case "f":
									e += "\f";
									break;
								case "v":
									e += "\v";
									break;
								default: e += i;
							}
							else e += i;
						}
						return n || this.throwError("Unclosed quote after \"" + e + "\""), {
							type: l.LITERAL,
							value: e,
							raw: this.expr.substring(t, this.index)
						};
					}
				},
				{
					key: "gobbleIdentifier",
					value: function() {
						var e = this.code, t = this.index;
						for (l.isIdentifierStart(e) ? this.index++ : this.throwError("Unexpected " + this.char); this.index < this.expr.length && (e = this.code, l.isIdentifierPart(e));) this.index++;
						return {
							type: l.IDENTIFIER,
							name: this.expr.slice(t, this.index)
						};
					}
				},
				{
					key: "gobbleArguments",
					value: function(e) {
						for (var t = [], r = !1, n = 0; this.index < this.expr.length;) {
							this.gobbleSpaces();
							var i = this.code;
							if (i === e) {
								r = !0, this.index++, e === l.CPAREN_CODE && n && n >= t.length && this.throwError("Unexpected token " + String.fromCharCode(e));
								break;
							}
							if (i === l.COMMA_CODE) {
								if (this.index++, ++n !== t.length) {
									if (e === l.CPAREN_CODE) this.throwError("Unexpected token ,");
									else if (e === l.CBRACK_CODE) for (var o = t.length; o < n; o++) t.push(null);
								}
							} else t.length !== n && 0 !== n ? this.throwError("Expected comma") : ((i = this.gobbleExpression()) && i.type !== l.COMPOUND || this.throwError("Expected comma"), t.push(i));
						}
						return r || this.throwError("Expected " + String.fromCharCode(e)), t;
					}
				},
				{
					key: "gobbleGroup",
					value: function() {
						this.index++;
						var e = this.gobbleExpressions(l.CPAREN_CODE);
						if (this.code === l.CPAREN_CODE) return this.index++, 1 === e.length ? e[0] : !!e.length && {
							type: l.SEQUENCE_EXP,
							expressions: e
						};
						this.throwError("Unclosed (");
					}
				},
				{
					key: "gobbleArray",
					value: function() {
						return this.index++, {
							type: l.ARRAY_EXP,
							elements: this.gobbleArguments(l.CBRACK_CODE)
						};
					}
				}
			], [
				{
					key: "version",
					get: function() {
						return "1.3.8";
					}
				},
				{
					key: "toString",
					value: function() {
						return "JavaScript Expression Parser (JSEP) v" + l.version;
					}
				},
				{
					key: "addUnaryOp",
					value: function(e) {
						return l.max_unop_len = Math.max(e.length, l.max_unop_len), l.unary_ops[e] = 1, l;
					}
				},
				{
					key: "addBinaryOp",
					value: function(e, t, r) {
						return l.max_binop_len = Math.max(e.length, l.max_binop_len), l.binary_ops[e] = t, r ? l.right_associative.add(e) : l.right_associative.delete(e), l;
					}
				},
				{
					key: "addIdentifierChar",
					value: function(e) {
						return l.additional_identifier_chars.add(e), l;
					}
				},
				{
					key: "addLiteral",
					value: function(e, t) {
						return l.literals[e] = t, l;
					}
				},
				{
					key: "removeUnaryOp",
					value: function(e) {
						return delete l.unary_ops[e], e.length === l.max_unop_len && (l.max_unop_len = l.getMaxKeyLen(l.unary_ops)), l;
					}
				},
				{
					key: "removeAllUnaryOps",
					value: function() {
						return l.unary_ops = {}, l.max_unop_len = 0, l;
					}
				},
				{
					key: "removeIdentifierChar",
					value: function(e) {
						return l.additional_identifier_chars.delete(e), l;
					}
				},
				{
					key: "removeBinaryOp",
					value: function(e) {
						return delete l.binary_ops[e], e.length === l.max_binop_len && (l.max_binop_len = l.getMaxKeyLen(l.binary_ops)), l.right_associative.delete(e), l;
					}
				},
				{
					key: "removeAllBinaryOps",
					value: function() {
						return l.binary_ops = {}, l.max_binop_len = 0, l;
					}
				},
				{
					key: "removeLiteral",
					value: function(e) {
						return delete l.literals[e], l;
					}
				},
				{
					key: "removeAllLiterals",
					value: function() {
						return l.literals = {}, l;
					}
				},
				{
					key: "parse",
					value: function(e) {
						return new l(e).parse();
					}
				},
				{
					key: "getMaxKeyLen",
					value: function(e) {
						return Math.max.apply(Math, [0].concat(f(Object.keys(e).map(function(e) {
							return e.length;
						}))));
					}
				},
				{
					key: "isDecimalDigit",
					value: function(e) {
						return 48 <= e && e <= 57;
					}
				},
				{
					key: "binaryPrecedence",
					value: function(e) {
						return l.binary_ops[e] || 0;
					}
				},
				{
					key: "isIdentifierStart",
					value: function(e) {
						return 65 <= e && e <= 90 || 97 <= e && e <= 122 || 128 <= e && !l.binary_ops[String.fromCharCode(e)] || l.additional_identifier_chars.has(String.fromCharCode(e));
					}
				},
				{
					key: "isIdentifierPart",
					value: function(e) {
						return l.isIdentifierStart(e) || l.isDecimalDigit(e);
					}
				}
			]);
		}(), y = new y();
		Object.assign(v, {
			hooks: y,
			plugins: new b(v),
			COMPOUND: "Compound",
			SEQUENCE_EXP: "SequenceExpression",
			IDENTIFIER: "Identifier",
			MEMBER_EXP: "MemberExpression",
			LITERAL: "Literal",
			THIS_EXP: "ThisExpression",
			CALL_EXP: "CallExpression",
			UNARY_EXP: "UnaryExpression",
			BINARY_EXP: "BinaryExpression",
			ARRAY_EXP: "ArrayExpression",
			TAB_CODE: 9,
			LF_CODE: 10,
			CR_CODE: 13,
			SPACE_CODE: 32,
			PERIOD_CODE: 46,
			COMMA_CODE: 44,
			SQUOTE_CODE: 39,
			DQUOTE_CODE: 34,
			OPAREN_CODE: 40,
			CPAREN_CODE: 41,
			OBRACK_CODE: 91,
			CBRACK_CODE: 93,
			QUMARK_CODE: 63,
			SEMCOL_CODE: 59,
			COLON_CODE: 58,
			unary_ops: {
				"-": 1,
				"!": 1,
				"~": 1,
				"+": 1
			},
			binary_ops: {
				"||": 1,
				"&&": 2,
				"|": 3,
				"^": 4,
				"&": 5,
				"==": 6,
				"!=": 6,
				"===": 6,
				"!==": 6,
				"<": 7,
				">": 7,
				"<=": 7,
				">=": 7,
				"<<": 8,
				">>": 8,
				">>>": 8,
				"+": 9,
				"-": 9,
				"*": 10,
				"/": 10,
				"%": 10
			},
			right_associative: new Set(),
			additional_identifier_chars: new Set(["$", "_"]),
			literals: {
				true: !0,
				false: !1,
				null: null
			},
			this_str: "this"
		}), v.max_unop_len = v.getMaxKeyLen(v.unary_ops), v.max_binop_len = v.getMaxKeyLen(v.binary_ops);
		var E = function(e) {
			return new v(e).parse();
		};
		Object.getOwnPropertyNames(v).forEach(function(e) {
			void 0 === E[e] && "prototype" !== e && (E[e] = v[e]);
		}), E.Jsep = v;
		b = {
			name: "ternary",
			init: function(o) {
				o.hooks.add("after-expression", function(e) {
					if (e.node && this.code === o.QUMARK_CODE) {
						this.index++;
						var t = e.node, r = this.gobbleExpression();
						if (r || this.throwError("Expected expression"), this.gobbleSpaces(), this.code === o.COLON_CODE) {
							this.index++;
							var n = this.gobbleExpression();
							if (n || this.throwError("Expected expression"), e.node = {
								type: "ConditionalExpression",
								test: t,
								consequent: r,
								alternate: n
							}, t.operator && o.binary_ops[t.operator] <= .9) {
								for (var i = t; i.right.operator && o.binary_ops[i.right.operator] <= .9;) i = i.right;
								e.node.test = i.right, i.right = e.node, e.node = t;
							}
						} else this.throwError("Expected :");
					}
				});
			}
		};
		E.plugins.register(b);
		var b = {
			name: "regex",
			init: function(s) {
				s.hooks.add("gobble-token", function(e) {
					if (47 === this.code) {
						for (var t = ++this.index, r = !1; this.index < this.expr.length;) {
							if (47 === this.code && !r) {
								for (var n = this.expr.slice(t, this.index), i = ""; ++this.index < this.expr.length;) {
									var o = this.code;
									if (!(97 <= o && o <= 122 || 65 <= o && o <= 90 || 48 <= o && o <= 57)) break;
									i += this.char;
								}
								var a = void 0;
								try {
									a = new RegExp(n, i);
								} catch (e) {
									this.throwError(e.message);
								}
								return e.node = {
									type: s.LITERAL,
									value: a,
									raw: this.expr.slice(t - 1, this.index)
								}, e.node = this.gobbleTokenProperty(e.node), e.node;
							}
							this.code === s.OBRACK_CODE ? r = !0 : r && this.code === s.CBRACK_CODE && (r = !1), this.index += 92 === this.code ? 2 : 1;
						}
						this.throwError("Unclosed Regex");
					}
				});
			}
		}, g = {
			name: "assignment",
			assignmentOperators: new Set([
				"=",
				"*=",
				"**=",
				"/=",
				"%=",
				"+=",
				"-=",
				"<<=",
				">>=",
				">>>=",
				"&=",
				"^=",
				"|="
			]),
			updateOperators: [43, 45],
			assignmentPrecedence: .9,
			init: function(t) {
				var n = [t.IDENTIFIER, t.MEMBER_EXP];
				g.assignmentOperators.forEach(function(e) {
					return t.addBinaryOp(e, g.assignmentPrecedence, !0);
				}), t.hooks.add("gobble-token", function(e) {
					var t = this, r = this.code;
					g.updateOperators.some(function(e) {
						return e === r && e === t.expr.charCodeAt(t.index + 1);
					}) && (this.index += 2, e.node = {
						type: "UpdateExpression",
						operator: 43 === r ? "++" : "--",
						argument: this.gobbleTokenProperty(this.gobbleIdentifier()),
						prefix: !0
					}, e.node.argument && n.includes(e.node.argument.type) || this.throwError("Unexpected ".concat(e.node.operator)));
				}), t.hooks.add("after-token", function(e) {
					var t, r = this;
					e.node && (t = this.code, g.updateOperators.some(function(e) {
						return e === t && e === r.expr.charCodeAt(r.index + 1);
					}) && (n.includes(e.node.type) || this.throwError("Unexpected ".concat(e.node.operator)), this.index += 2, e.node = {
						type: "UpdateExpression",
						operator: 43 === t ? "++" : "--",
						argument: e.node,
						prefix: !1
					}));
				}), t.hooks.add("after-expression", function(e) {
					e.node && !function t(e) {
						g.assignmentOperators.has(e.operator) ? (e.type = "AssignmentExpression", t(e.left), t(e.right)) : e.operator || Object.values(e).forEach(function(e) {
							e && "object" === C(e) && t(e);
						});
					}(e.node);
				});
			}
		}, A = Object.prototype.hasOwnProperty;
		function w(e, t) {
			return (e = e.slice()).push(t), e;
		}
		function k(e, t) {
			return (t = t.slice()).unshift(e), t;
		}
		var x = function() {
			function r(e) {
				var t;
				return s(this, r), (t = n(this, r, ["JSONPath should not be called with \"new\" (it prevents return of (unwrapped) scalar values)"])).avoidNew = !0, t.value = e, t.name = "NewError", t;
			}
			return function(e, t) {
				if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
				e.prototype = Object.create(t && t.prototype, { constructor: {
					value: e,
					writable: !0,
					configurable: !0
				} }), Object.defineProperty(e, "prototype", { writable: !1 }), t && h(e, t);
			}(r, p(Error)), c(r);
		}();
		function F(e, t, r, n, i) {
			if (!(this instanceof F)) try {
				return new F(e, t, r, n, i);
			} catch (e) {
				if (!e.avoidNew) throw e;
				return e.value;
			}
			"string" == typeof e && (i = n, n = r, r = t, t = e, e = null);
			var o = e && "object" === C(e);
			if (e = e || {}, this.json = e.json || r, this.path = e.path || t, this.resultType = e.resultType || "value", this.flatten = e.flatten || !1, this.wrap = !A.call(e, "wrap") || e.wrap, this.sandbox = e.sandbox || {}, this.eval = void 0 === e.eval ? "safe" : e.eval, this.ignoreEvalErrors = void 0 !== e.ignoreEvalErrors && e.ignoreEvalErrors, this.parent = e.parent || null, this.parentProperty = e.parentProperty || null, this.callback = e.callback || n || null, this.otherTypeCallback = e.otherTypeCallback || i || function() {
				throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.");
			}, !1 !== e.autostart) {
				var a = { path: o ? e.path : t };
				o ? "json" in e && (a.json = e.json) : a.json = r;
				a = this.evaluate(a);
				if (!a || "object" !== C(a)) throw new x(a);
				return a;
			}
		}
		F.prototype.evaluate = function(e, t, r, n) {
			var i = this, o = this.parent, a = this.parentProperty, s = this.flatten, u = this.wrap;
			if (this.currResultType = this.resultType, this.currEval = this.eval, this.currSandbox = this.sandbox, r = r || this.callback, this.currOtherTypeCallback = n || this.otherTypeCallback, t = t || this.json, (e = e || this.path) && "object" === C(e) && !Array.isArray(e)) {
				if (!e.path && "" !== e.path) throw new TypeError("You must supply a \"path\" property when providing an object argument to JSONPath.evaluate().");
				if (!A.call(e, "json")) throw new TypeError("You must supply a \"json\" property when providing an object argument to JSONPath.evaluate().");
				t = e.json, s = A.call(e, "flatten") ? e.flatten : s, this.currResultType = A.call(e, "resultType") ? e.resultType : this.currResultType, this.currSandbox = A.call(e, "sandbox") ? e.sandbox : this.currSandbox, u = A.call(e, "wrap") ? e.wrap : u, this.currEval = A.call(e, "eval") ? e.eval : this.currEval, r = A.call(e, "callback") ? e.callback : r, this.currOtherTypeCallback = A.call(e, "otherTypeCallback") ? e.otherTypeCallback : this.currOtherTypeCallback, o = A.call(e, "parent") ? e.parent : o, a = A.call(e, "parentProperty") ? e.parentProperty : a, e = e.path;
			}
			if (o = o || null, a = a || null, Array.isArray(e) && (e = F.toPathString(e)), (e || "" === e) && t) {
				e = F.toPathArray(e);
				"$" === e[0] && 1 < e.length && e.shift(), this._hasParentSelector = null;
				r = this._trace(e, t, ["$"], o, a, r).filter(function(e) {
					return e && !e.isParentSelector;
				});
				return r.length ? u || 1 !== r.length || r[0].hasArrExpr ? r.reduce(function(e, t) {
					t = i._getPreferredOutput(t);
					return s && Array.isArray(t) ? e = e.concat(t) : e.push(t), e;
				}, []) : this._getPreferredOutput(r[0]) : u ? [] : void 0;
			}
		}, F.prototype._getPreferredOutput = function(e) {
			var t = this.currResultType;
			switch (t) {
				case "all":
					var r = Array.isArray(e.path) ? e.path : F.toPathArray(e.path);
					return e.pointer = F.toPointer(r), e.path = "string" == typeof e.path ? e.path : F.toPathString(e.path), e;
				case "value":
				case "parent":
				case "parentProperty": return e[t];
				case "path": return F.toPathString(e[t]);
				case "pointer": return F.toPointer(e.path);
				default: throw new TypeError("Unknown result type");
			}
		}, F.prototype._handleCallback = function(e, t, r) {
			var n;
			t && (n = this._getPreferredOutput(e), e.path = "string" == typeof e.path ? e.path : F.toPathString(e.path), t(n, r, e));
		}, F.prototype._trace = function(t, n, i, o, a, s, e, r) {
			var u = this;
			if (!t.length) return v = {
				path: i,
				value: n,
				parent: o,
				parentProperty: a,
				hasArrExpr: e
			}, this._handleCallback(v, s, "value"), v;
			var c = t[0], l = t.slice(1), h = [];
			function p(e) {
				Array.isArray(e) ? e.forEach(function(e) {
					h.push(e);
				}) : h.push(e);
			}
			if (("string" != typeof c || r) && n && A.call(n, c)) p(this._trace(l, n[c], w(i, c), n, c, s, e));
			else if ("*" === c) this._walk(n, function(e) {
				p(u._trace(l, n[e], w(i, e), n, e, s, !0, !0));
			});
			else if (".." === c) p(this._trace(l, n, i, o, a, s, e)), this._walk(n, function(e) {
				"object" === C(n[e]) && p(u._trace(t.slice(), n[e], w(i, e), n, e, s, !0));
			});
			else {
				if ("^" === c) return this._hasParentSelector = !0, {
					path: i.slice(0, -1),
					expr: l,
					isParentSelector: !0
				};
				if ("~" === c) return v = {
					path: w(i, c),
					value: a,
					parent: o,
					parentProperty: null
				}, this._handleCallback(v, s, "property"), v;
				if ("$" === c) p(this._trace(l, n, i, null, null, s, e));
				else if (/^(\x2D?[0-9]*):(\x2D?[0-9]*):?([0-9]*)$/.test(c)) p(this._slice(c, l, n, i, o, a, s));
				else if (0 === c.indexOf("?(")) {
					if (!1 === this.currEval) throw new Error("Eval [?(expr)] prevented in JSONPath expression.");
					var f = c.replace(/^\?\(((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?)\)$/, "$1"), d = /@(?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])?((?:[\0->@-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)['\[](\??\((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?\))(?!(?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])\)\])['\]]/g.exec(f);
					d ? this._walk(n, function(e) {
						var t = [d[2]], r = d[1] ? n[e][d[1]] : n[e];
						0 < u._trace(t, r, i, o, a, s, !0).length && p(u._trace(l, n[e], w(i, e), n, e, s, !0));
					}) : this._walk(n, function(e) {
						u._eval(f, n[e], e, i, o, a) && p(u._trace(l, n[e], w(i, e), n, e, s, !0));
					});
				} else if ("(" === c[0]) {
					if (!1 === this.currEval) throw new Error("Eval [(expr)] prevented in JSONPath expression.");
					p(this._trace(k(this._eval(c, n, i[i.length - 1], i.slice(0, -1), o, a), l), n, i, o, a, s, e));
				} else if ("@" === c[0]) {
					var y = !1, b = c.slice(1, -2);
					switch (b) {
						case "scalar":
							n && ["object", "function"].includes(C(n)) || (y = !0);
							break;
						case "boolean":
						case "string":
						case "undefined":
						case "function":
							C(n) === b && (y = !0);
							break;
						case "integer":
							!Number.isFinite(n) || n % 1 || (y = !0);
							break;
						case "number":
							Number.isFinite(n) && (y = !0);
							break;
						case "nonFinite":
							"number" != typeof n || Number.isFinite(n) || (y = !0);
							break;
						case "object":
							n && C(n) === b && (y = !0);
							break;
						case "array":
							Array.isArray(n) && (y = !0);
							break;
						case "other":
							y = this.currOtherTypeCallback(n, i, o, a);
							break;
						case "null":
							null === n && (y = !0);
							break;
						default: throw new TypeError("Unknown value type " + b);
					}
					if (y) return v = {
						path: i,
						value: n,
						parent: o,
						parentProperty: a
					}, this._handleCallback(v, s, "value"), v;
				} else if ("`" === c[0] && n && A.call(n, c.slice(1))) {
					var v = c.slice(1);
					p(this._trace(l, n[v], w(i, v), n, v, s, e, !0));
				} else if (c.includes(",")) {
					var E = function(e, t) {
						var r = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
						if (!r) {
							if (Array.isArray(e) || (r = O(e)) || t && e && "number" == typeof e.length) {
								r && (e = r);
								var n = 0, t = function() {};
								return {
									s: t,
									n: function() {
										return n >= e.length ? { done: !0 } : {
											done: !1,
											value: e[n++]
										};
									},
									e: function(e) {
										throw e;
									},
									f: t
								};
							}
							throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
						}
						var i, o = !0, a = !1;
						return {
							s: function() {
								r = r.call(e);
							},
							n: function() {
								var e = r.next();
								return o = e.done, e;
							},
							e: function(e) {
								a = !0, i = e;
							},
							f: function() {
								try {
									o || null == r.return || r.return();
								} finally {
									if (a) throw i;
								}
							}
						};
					}(c.split(","));
					try {
						for (E.s(); !(g = E.n()).done;) {
							var g = g.value;
							p(this._trace(k(g, l), n, i, o, a, s, !0));
						}
					} catch (e) {
						E.e(e);
					} finally {
						E.f();
					}
				} else !r && n && A.call(n, c) && p(this._trace(l, n[c], w(i, c), n, c, s, e, !0));
			}
			if (this._hasParentSelector) for (var x = 0; x < h.length; x++) {
				var F = h[x];
				if (F && F.isParentSelector) {
					var D = this._trace(F.expr, n, F.path, o, a, s, e);
					if (Array.isArray(D)) {
						h[x] = D[0];
						for (var _ = D.length, m = 1; m < _; m++) x++, h.splice(x, 0, D[m]);
					} else h[x] = D;
				}
			}
			return h;
		}, F.prototype._walk = function(e, t) {
			if (Array.isArray(e)) for (var r = e.length, n = 0; n < r; n++) t(n);
			else e && "object" === C(e) && Object.keys(e).forEach(function(e) {
				t(e);
			});
		}, F.prototype._slice = function(e, t, r, n, i, o, a) {
			if (Array.isArray(r)) {
				for (var s = r.length, u = e.split(":"), c = u[2] && Number.parseInt(u[2]) || 1, e = u[0] && Number.parseInt(u[0]) || 0, l = u[1] && Number.parseInt(u[1]) || s, e = e < 0 ? Math.max(0, e + s) : Math.min(s, e), l = l < 0 ? Math.max(0, l + s) : Math.min(s, l), h = [], p = e; p < l; p += c) this._trace(k(p, t), r, n, i, o, a, !0).forEach(function(e) {
					h.push(e);
				});
				return h;
			}
		}, F.prototype._eval = function(t, e, r, n, i, o) {
			var a = this;
			this.currSandbox._$_parentProperty = o, this.currSandbox._$_parent = i, this.currSandbox._$_property = r, this.currSandbox._$_root = this.json, this.currSandbox._$_v = e;
			e = t.includes("@path");
			e && (this.currSandbox._$_path = F.toPathString(n.concat([r])));
			var s = this.currEval + "Script:" + t;
			if (!F.cache[s]) {
				var u = t.replace(/@parentProperty/g, "_$_parentProperty").replace(/@parent/g, "_$_parent").replace(/@property/g, "_$_property").replace(/@root/g, "_$_root").replace(/@([\t-\r \)\.\[\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF])/g, "_$_v$1");
				if (e && (u = u.replace(/@path/g, "_$_path")), "safe" === this.currEval || !0 === this.currEval || void 0 === this.currEval) F.cache[s] = new this.safeVm.Script(u);
				else if ("native" === this.currEval) F.cache[s] = new this.vm.Script(u);
				else if ("function" == typeof this.currEval && this.currEval.prototype && A.call(this.currEval.prototype, "runInNewContext")) {
					e = this.currEval;
					F.cache[s] = new e(u);
				} else {
					if ("function" != typeof this.currEval) throw new TypeError("Unknown \"eval\" property \"".concat(this.currEval, "\""));
					F.cache[s] = { runInNewContext: function(e) {
						return a.currEval(u, e);
					} };
				}
			}
			try {
				return F.cache[s].runInNewContext(this.currSandbox);
			} catch (e) {
				if (this.ignoreEvalErrors) return !1;
				throw new Error("jsonPath: " + e.message + ": " + t);
			}
		}, F.cache = {}, F.toPathString = function(e) {
			for (var t = e, r = t.length, n = "$", i = 1; i < r; i++) /^(~|\^|@(?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?\(\))$/.test(t[i]) || (n += /^[\*0-9]+$/.test(t[i]) ? "[" + t[i] + "]" : "['" + t[i] + "']");
			return n;
		}, F.toPointer = function(e) {
			for (var t = e, r = t.length, n = "", i = 1; i < r; i++) /^(~|\^|@(?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?\(\))$/.test(t[i]) || (n += "/" + t[i].toString().replace(/~/g, "~0").replace(/\//g, "~1"));
			return n;
		}, F.toPathArray = function(e) {
			var t = F.cache;
			if (t[e]) return t[e].concat();
			var r = [], n = e.replace(/@(?:null|boolean|number|string|integer|undefined|nonFinite|scalar|array|object|function|other)\(\)/g, ";$&;").replace(/['\[](\??\((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?\))['\]](?!(?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])\])/g, function(e, t) {
				return "[#" + (r.push(t) - 1) + "]";
			}).replace(/\[["']((?:[\0-&\(-\\\^-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)["']\]/g, function(e, t) {
				return "['" + t.replace(/\./g, "%@%").replace(/~/g, "%%@@%%") + "']";
			}).replace(/~/g, ";~;").replace(/["']?\.["']?(?!(?:[\0-Z\\-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*\])|\[["']?/g, ";").replace(/%@%/g, ".").replace(/%%@@%%/g, "~").replace(/(?:;)?(\^+)(?:;)?/g, function(e, t) {
				return ";" + t.split("").join(";") + ";";
			}).replace(/;;;|;;/g, ";..;").replace(/;$|'?\]|'$/g, "").split(";").map(function(e) {
				var t = e.match(/#([0-9]+)/);
				return t && t[1] ? r[t[1]] : e;
			});
			return t[e] = n, t[e].concat();
		};
		E.plugins.register(b, g);
		var D = {
			evalAst: function(e, t) {
				switch (e.type) {
					case "BinaryExpression":
					case "LogicalExpression": return D.evalBinaryExpression(e, t);
					case "Compound": return D.evalCompound(e, t);
					case "ConditionalExpression": return D.evalConditionalExpression(e, t);
					case "Identifier": return D.evalIdentifier(e, t);
					case "Literal": return D.evalLiteral(e, t);
					case "MemberExpression": return D.evalMemberExpression(e, t);
					case "UnaryExpression": return D.evalUnaryExpression(e, t);
					case "ArrayExpression": return D.evalArrayExpression(e, t);
					case "CallExpression": return D.evalCallExpression(e, t);
					case "AssignmentExpression": return D.evalAssignmentExpression(e, t);
					default: throw SyntaxError("Unexpected expression", e);
				}
			},
			evalBinaryExpression: function(e, t) {
				return {
					"||": function(e, t) {
						return e || t();
					},
					"&&": function(e, t) {
						return e && t();
					},
					"|": function(e, t) {
						return e | t();
					},
					"^": function(e, t) {
						return e ^ t();
					},
					"&": function(e, t) {
						return e & t();
					},
					"==": function(e, t) {
						return e == t();
					},
					"!=": function(e, t) {
						return e != t();
					},
					"===": function(e, t) {
						return e === t();
					},
					"!==": function(e, t) {
						return e !== t();
					},
					"<": function(e, t) {
						return e < t();
					},
					">": function(e, t) {
						return e > t();
					},
					"<=": function(e, t) {
						return e <= t();
					},
					">=": function(e, t) {
						return e >= t();
					},
					"<<": function(e, t) {
						return e << t();
					},
					">>": function(e, t) {
						return e >> t();
					},
					">>>": function(e, t) {
						return e >>> t();
					},
					"+": function(e, t) {
						return e + t();
					},
					"-": function(e, t) {
						return e - t();
					},
					"*": function(e, t) {
						return e * t();
					},
					"/": function(e, t) {
						return e / t();
					},
					"%": function(e, t) {
						return e % t();
					}
				}[e.operator](D.evalAst(e.left, t), function() {
					return D.evalAst(e.right, t);
				});
			},
			evalCompound: function(e, t) {
				for (var r = 0; r < e.body.length; r++) {
					"Identifier" === e.body[r].type && [
						"var",
						"let",
						"const"
					].includes(e.body[r].name) && e.body[r + 1] && "AssignmentExpression" === e.body[r + 1].type && (r += 1);
					var n = e.body[r], i = D.evalAst(n, t);
				}
				return i;
			},
			evalConditionalExpression: function(e, t) {
				return D.evalAst(e.test, t) ? D.evalAst(e.consequent, t) : D.evalAst(e.alternate, t);
			},
			evalIdentifier: function(e, t) {
				if (e.name in t) return t[e.name];
				throw ReferenceError("".concat(e.name, " is not defined"));
			},
			evalLiteral: function(e) {
				return e.value;
			},
			evalMemberExpression: function(e, t) {
				var r = e.computed ? D.evalAst(e.property) : e.property.name, t = D.evalAst(e.object, t), r = t[r];
				return "function" == typeof r ? r.bind(t) : r;
			},
			evalUnaryExpression: function(e, t) {
				return {
					"-": function(e) {
						return -D.evalAst(e, t);
					},
					"!": function(e) {
						return !D.evalAst(e, t);
					},
					"~": function(e) {
						return ~D.evalAst(e, t);
					},
					"+": function(e) {
						return +D.evalAst(e, t);
					}
				}[e.operator](e.argument);
			},
			evalArrayExpression: function(e, t) {
				return e.elements.map(function(e) {
					return D.evalAst(e, t);
				});
			},
			evalCallExpression: function(e, t) {
				var r = e.arguments.map(function(e) {
					return D.evalAst(e, t);
				});
				return D.evalAst(e.callee, t).apply(void 0, f(r));
			},
			evalAssignmentExpression: function(e, t) {
				if ("Identifier" !== e.left.type) throw SyntaxError("Invalid left-hand side in assignment");
				var r = e.left.name, e = D.evalAst(e.right, t);
				return t[r] = e, t[r];
			}
		}, b = function() {
			return c(function e(t) {
				s(this, e), this.code = t, this.ast = E(this.code);
			}, [{
				key: "runInNewContext",
				value: function(e) {
					e = r({}, e);
					return D.evalAst(this.ast, e);
				}
			}]);
		}();
		F.prototype.vm = { Script: function() {
			return c(function e(t) {
				s(this, e), this.code = t;
			}, [{
				key: "runInNewContext",
				value: function(n) {
					var e = this.code, t = Object.keys(n), r = [];
					!function(e, t, r) {
						for (var n = e.length, i = 0; i < n; i++) r(e[i]) && t.push(e.splice(i--, 1)[0]);
					}(t, r, function(e) {
						return "function" == typeof n[e];
					});
					var i = t.map(function(e) {
						return n[e];
					}), r = r.reduce(function(e, t) {
						var r = n[t].toString();
						return /function/.test(r) || (r = "function " + r), "var " + t + "=" + r + ";" + e;
					}, "");
					/(["'])use strict\1/.test(e = r + e) || t.includes("arguments") || (e = "var arguments = undefined;" + e);
					r = (e = e.replace(/;[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*$/, "")).lastIndexOf(";"), e = -1 < r ? e.slice(0, r + 1) + " return " + e.slice(r + 1) : " return " + e;
					return o(Function, t.concat([e])).apply(void 0, f(i));
				}
			}]);
		}() }, F.prototype.safeVm = { Script: b }, e.JSONPath = F, e.SafeScript = b;
	});
}));

//#endregion
//#region ../libs_drpy/htmlParser.js
var import_tunnel = /* @__PURE__ */ __toESM(require_tunnel(), 1);
/**
* HTML解析器工具
* 基于cheerio提供HTML和JSON解析功能，支持类似海阔视界的解析语法
*/
var import_jsonpathplus_min = require_jsonpathplus_min();
/**
* JSONPath查询工具
*/
const jsonpath$1 = { query(jsonObject, path) {
	return JSONPath.JSONPath({
		path,
		json: jsonObject
	});
} };
const PARSE_CACHE = true;
const NOADD_INDEX = ":eq|:lt|:gt|:first|:last|:not|:even|:odd|:has|:contains|:matches|:empty|^body$|^#";
const URLJOIN_ATTR = "(url|src|href|-original|-src|-play|-url|style)$|^(data-|url-|src-)";
const SPECIAL_URL$1 = "^(ftp|magnet|thunder|ws):";
/**
* HTML解析器类
* 提供类似海阔视界的HTML解析语法
*/
var Jsoup = class {
	/**
	* 构造函数
	* @param {string} MY_URL 基础URL
	*/
	constructor(MY_URL = "") {
		this.MY_URL = MY_URL;
		this.pdfh_html = "";
		this.pdfa_html = "";
		this.pdfh_doc = null;
		this.pdfa_doc = null;
	}
	/**
	* 正则测试
	* @param {string} text 正则表达式
	* @param {string} string 测试字符串
	* @returns {boolean} 是否匹配
	*/
	test(text, string) {
		const searchObj = new RegExp(text, "mi").exec(string);
		return searchObj ? true : false;
	}
	/**
	* 检查字符串是否包含指定内容
	* @param {string} text 源字符串
	* @param {string} match 匹配内容
	* @returns {boolean} 是否包含
	*/
	contains(text, match) {
		return text.indexOf(match) !== -1;
	}
	/**
	* 将海阔视界解析语法转换为jQuery选择器
	* @param {string} parse 解析规则
	* @param {boolean} first 是否只取第一个
	* @returns {string} 转换后的选择器
	*/
	parseHikerToJq(parse, first = false) {
		if (this.contains(parse, "&&")) {
			const parses = parse.split("&&");
			const new_parses = [];
			for (let i = 0; i < parses.length; i++) {
				const ps_list = parses[i].split(" ");
				const ps = ps_list[ps_list.length - 1];
				if (!this.test(NOADD_INDEX, ps)) {
					if (!first && i >= parses.length - 1) {
						new_parses.push(parses[i]);
					} else {
						new_parses.push(`${parses[i]}:eq(0)`);
					}
				} else {
					new_parses.push(parses[i]);
				}
			}
			parse = new_parses.join(" ");
		} else {
			const ps_list = parse.split(" ");
			const ps = ps_list[ps_list.length - 1];
			if (!this.test(NOADD_INDEX, ps) && first) {
				parse = `${parse}:eq(0)`;
			}
		}
		return parse;
	}
	/**
	* 获取解析信息
	* @param {string} nparse 解析规则
	* @returns {Object} 解析信息对象
	*/
	getParseInfo(nparse) {
		let excludes = [];
		let nparse_index = 0;
		let nparse_rule = nparse;
		if (this.contains(nparse, ":eq")) {
			nparse_rule = nparse.split(":eq")[0];
			let nparse_pos = nparse.split(":eq")[1];
			if (this.contains(nparse_rule, "--")) {
				excludes = nparse_rule.split("--").slice(1);
				nparse_rule = nparse_rule.split("--")[0];
			} else if (this.contains(nparse_pos, "--")) {
				excludes = nparse_pos.split("--").slice(1);
				nparse_pos = nparse_pos.split("--")[0];
			}
			try {
				nparse_index = parseInt(nparse_pos.split("(")[1].split(")")[0]);
			} catch {}
		} else if (this.contains(nparse, "--")) {
			nparse_rule = nparse.split("--")[0];
			excludes = nparse.split("--").slice(1);
		}
		return {
			nparse_rule,
			nparse_index,
			excludes
		};
	}
	/**
	* 重新排序相邻的:gt和:lt选择器
	* @param {string} selector 选择器
	* @returns {string} 重排后的选择器
	*/
	reorderAdjacentLtAndGt(selector) {
		const adjacentPattern = /:gt\((\d+)\):lt\((\d+)\)/;
		let match;
		while ((match = adjacentPattern.exec(selector)) !== null) {
			const replacement = `:lt(${match[2]}):gt(${match[1]})`;
			selector = selector.substring(0, match.index) + replacement + selector.substring(match.index + match[0].length);
			adjacentPattern.lastIndex = match.index;
		}
		return selector;
	}
	/**
	* 解析单个规则
	* @param {Object} doc cheerio文档对象
	* @param {string} nparse 解析规则
	* @param {Object} ret 上一步结果
	* @returns {Object} 解析结果
	*/
	parseOneRule(doc, nparse, ret) {
		let { nparse_rule, nparse_index, excludes } = this.getParseInfo(nparse);
		nparse_rule = this.reorderAdjacentLtAndGt(nparse_rule);
		if (!ret) ret = doc(nparse_rule);
		else ret = ret.find(nparse_rule);
		if (this.contains(nparse, ":eq")) ret = ret.eq(nparse_index);
		if (excludes.length > 0 && ret) {
			ret = ret.clone();
			for (let exclude of excludes) {
				ret.find(exclude).remove();
			}
		}
		return ret;
	}
	/**
	* 解析文本内容
	* @param {string} text 原始文本
	* @returns {string} 处理后的文本
	*/
	parseText(text) {
		text = text.replace(/[\s]+/gm, "\n");
		text = text.replace(/\n+/g, "\n").replace(/^\s+/, "");
		text = text.replace(/\n/g, " ");
		return text;
	}
	/**
	* 解析HTML获取数组结果
	* @param {string} html HTML内容
	* @param {string} parse 解析规则
	* @returns {Array} 解析结果数组
	*/
	pdfa(html, parse) {
		if (!html || !parse) return [];
		parse = this.parseHikerToJq(parse);
		const doc = load(html);
		if (PARSE_CACHE) {
			if (this.pdfa_html !== html) {
				this.pdfa_html = html;
				this.pdfa_doc = doc;
			}
		}
		const parses = parse.split(" ");
		let ret = null;
		for (const nparse of parses) {
			ret = this.parseOneRule(doc, nparse, ret);
			if (!ret) return [];
		}
		const res = (ret?.toArray() ?? []).map((item) => {
			const res_html = `${doc(item)}`;
			return res_html ? res_html : "";
		});
		return res;
	}
	/**
	* 解析HTML获取列表数据
	* @param {string} html HTML内容
	* @param {string} parse 解析规则
	* @param {string} list_text 标题解析规则
	* @param {string} list_url 链接解析规则
	* @param {string} MY_URL 基础URL
	* @returns {Array} 列表数据
	*/
	pdfl(html, parse, list_text, list_url, MY_URL) {
		if (!html || !parse) return [];
		parse = this.parseHikerToJq(parse, false);
		const new_vod_list = [];
		const doc = load(html);
		const parses = parse.split(" ");
		let ret = null;
		for (const pars of parses) {
			ret = this.parseOneRule(doc, pars, ret);
			if (!ret) return [];
		}
		ret.each((_, element) => {
			const _html = `${doc(element)}`;
			let _title = this.pdfh(_html, list_text);
			let _url = this.pd(_html, list_url, MY_URL);
			new_vod_list.push(`${_title}$${_url}`);
		});
		return new_vod_list;
	}
	/**
	* 解析HTML获取单个值
	* @param {string} html HTML内容
	* @param {string} parse 解析规则
	* @param {string} baseUrl 基础URL
	* @returns {string} 解析结果
	*/
	pdfh(html, parse, baseUrl = "") {
		if (!html || !parse) return "";
		const doc = load(html);
		if (typeof PARSE_CACHE !== "undefined" && PARSE_CACHE) {
			if (this.pdfa_html !== html) {
				this.pdfa_html = html;
				this.pdfa_doc = doc;
			}
		}
		if (parse === "body&&Text" || parse === "Text") {
			return this.parseText(doc.text());
		} else if (parse === "body&&Html" || parse === "Html") {
			return doc.html();
		}
		let option;
		if (this.contains(parse, "&&")) {
			const parts = parse.split("&&");
			option = parts.pop();
			parse = parts.join("&&");
		}
		parse = this.parseHikerToJq(parse, true);
		const parses = parse.split(" ");
		let ret = null;
		for (const nparse of parses) {
			ret = this.parseOneRule(doc, nparse, ret);
			if (!ret) return "";
		}
		if (option) {
			switch (option) {
				case "Text":
					ret = ret ? this.parseText(ret.text()) : "";
					break;
				case "Html":
					ret = ret ? ret.html() : "";
					break;
				default:
					const originalRet = ret.clone();
					const options = option.split("||");
					for (const opt of options) {
						ret = originalRet?.attr(opt) || "";
						if (this.contains(opt.toLowerCase(), "style") && this.contains(ret, "url(")) {
							try {
								ret = ret.match(/url\((.*?)\)/)[1];
								ret = ret.replace(/^['"]|['"]$/g, "");
							} catch {}
						}
						if (ret && baseUrl) {
							const needAdd = this.test(URLJOIN_ATTR, opt) && !this.test(SPECIAL_URL$1, ret);
							if (needAdd) {
								ret = ret.includes("http") ? ret.slice(ret.indexOf("http")) : urljoin$2(baseUrl, ret);
							}
						}
						if (ret) break;
					}
			}
		} else {
			ret = `${ret}`;
		}
		return ret;
	}
	/**
	* 解析HTML并自动拼接URL
	* @param {string} html HTML内容
	* @param {string} parse 解析规则
	* @param {string} baseUrl 基础URL
	* @returns {string} 解析结果
	*/
	pd(html, parse, baseUrl = "") {
		if (!baseUrl) baseUrl = this.MY_URL;
		return this.pdfh(html, parse, baseUrl);
	}
	/**
	* 获取cheerio对象
	* @param {string} html HTML内容
	* @returns {Object} cheerio对象
	*/
	pq(html) {
		return load(html);
	}
	/**
	* 解析JSON获取单个值
	* @param {string|Object} html JSON字符串或对象
	* @param {string} parse JSONPath解析规则
	* @param {boolean} addUrl 是否自动拼接URL
	* @returns {string} 解析结果
	*/
	pjfh(html, parse, addUrl = false) {
		if (!html || !parse) return "";
		try {
			html = typeof html === "string" ? JSON.parse(html) : html;
		} catch {
			console.log("字符串转 JSON 失败");
			return "";
		}
		if (!parse.startsWith("$.")) parse = "$." + parse;
		let ret = "";
		const paths = parse.split("||");
		for (const path of paths) {
			const queryResult = jsonpath$1.query(html, path);
			ret = Array.isArray(queryResult) ? queryResult[0] || "" : queryResult || "";
			if (addUrl && ret) ret = urljoin$2(this.MY_URL, ret);
			if (ret) break;
		}
		return ret;
	}
	/**
	* 解析JSON并自动拼接URL
	* @param {string|Object} html JSON字符串或对象
	* @param {string} parse JSONPath解析规则
	* @returns {string} 解析结果
	*/
	pj(html, parse) {
		return this.pjfh(html, parse, true);
	}
	/**
	* 解析JSON获取数组结果
	* @param {string|Object} html JSON字符串或对象
	* @param {string} parse JSONPath解析规则
	* @returns {Array} 解析结果数组
	*/
	pjfa(html, parse) {
		if (!html || !parse) return [];
		try {
			html = typeof html === "string" ? JSON.parse(html) : html;
		} catch {
			return [];
		}
		if (!parse.startsWith("$.")) parse = "$." + parse;
		const result = jsonpath$1.query(html, parse);
		if (Array.isArray(result) && Array.isArray(result[0]) && result.length === 1) {
			return result[0];
		}
		return result || [];
	}
};
const jsoup$1 = Jsoup;

//#endregion
//#region ../libs_drpy/hls-parser.js
/**
* Bundled by jsDelivr using Rollup v2.79.1 and Terser v5.19.2.
* Original file: /npm/hls-parser@0.13.3/dist/hls-parser.min.js
*
* Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
*/
var t = { exports: {} };
/*! For license information please see hls-parser.min.js.LICENSE.txt */ var e = t.exports = (() => {
	return t = {
		377: function(t, e, n) {
			function r(t, e) {
				return function(t) {
					if (Array.isArray(t)) return t;
				}(t) || function(t, e) {
					var n = null == t ? null : "undefined" != typeof Symbol && t[Symbol.iterator] || t["@@iterator"];
					if (null != n) {
						var r, a, i, o, s = [], u = !0, c = !1;
						try {
							if (i = (n = n.call(t)).next, 0 === e) {
								if (Object(n) !== n) return;
								u = !1;
							} else for (; !(u = (r = i.call(n)).done) && (s.push(r.value), s.length !== e); u = !0);
						} catch (t) {
							c = !0, a = t;
						} finally {
							try {
								if (!u && null != n.return && (o = n.return(), Object(o) !== o)) return;
							} finally {
								if (c) throw a;
							}
						}
						return s;
					}
				}(t, e) || i(t, e) || function() {
					throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
				}();
			}
			function a(t, e) {
				var n = "undefined" != typeof Symbol && t[Symbol.iterator] || t["@@iterator"];
				if (!n) {
					if (Array.isArray(t) || (n = i(t)) || e && t && "number" == typeof t.length) {
						n && (t = n);
						var r = 0, a = function() {};
						return {
							s: a,
							n: function() {
								return r >= t.length ? { done: !0 } : {
									done: !1,
									value: t[r++]
								};
							},
							e: function(t) {
								throw t;
							},
							f: a
						};
					}
					throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
				}
				var o, s = !0, u = !1;
				return {
					s: function() {
						n = n.call(t);
					},
					n: function() {
						var t = n.next();
						return s = t.done, t;
					},
					e: function(t) {
						u = !0, o = t;
					},
					f: function() {
						try {
							s || null == n.return || n.return();
						} finally {
							if (u) throw o;
						}
					}
				};
			}
			function i(t, e) {
				if (t) {
					if ("string" == typeof t) return o(t, e);
					var n = Object.prototype.toString.call(t).slice(8, -1);
					return "Object" === n && t.constructor && (n = t.constructor.name), "Map" === n || "Set" === n ? Array.from(t) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? o(t, e) : void 0;
				}
			}
			function o(t, e) {
				(null == e || e > t.length) && (e = t.length);
				for (var n = 0, r = new Array(e); n < e; n++) r[n] = t[n];
				return r;
			}
			var s = this && this.__createBinding || (Object.create ? function(t, e, n, r) {
				void 0 === r && (r = n);
				var a = Object.getOwnPropertyDescriptor(e, n);
				a && !("get" in a ? !e.__esModule : a.writable || a.configurable) || (a = {
					enumerable: !0,
					get: function() {
						return e[n];
					}
				}), Object.defineProperty(t, r, a);
			} : function(t, e, n, r) {
				void 0 === r && (r = n), t[r] = e[n];
			}), u = this && this.__setModuleDefault || (Object.create ? function(t, e) {
				Object.defineProperty(t, "default", {
					enumerable: !0,
					value: e
				});
			} : function(t, e) {
				t.default = e;
			}), c = this && this.__importStar || function(t) {
				if (t && t.__esModule) return t;
				var e = {};
				if (null != t) for (var n in t) "default" !== n && Object.prototype.hasOwnProperty.call(t, n) && s(e, t, n);
				return u(e, t), e;
			};
			Object.defineProperty(e, "__esModule", { value: !0 });
			var l = c(n(203)), T = n(31);
			function f(t) {
				return l.trim(t, "\"");
			}
			function E(t) {
				var e = l.splitAt(t, ",");
				return {
					duration: l.toNumber(e[0]),
					title: decodeURIComponent(escape(e[1]))
				};
			}
			function d(t) {
				var e = l.splitAt(t, "@");
				return {
					length: l.toNumber(e[0]),
					offset: e[1] ? l.toNumber(e[1]) : -1
				};
			}
			function h(t) {
				var e = l.splitAt(t, "x");
				return {
					width: l.toNumber(e[0]),
					height: l.toNumber(e[1])
				};
			}
			function p(t) {
				var e = "ALLOWED-CPC: Each entry must consit of KEYFORMAT and Content Protection Configuration", n = t.split(",");
				0 === n.length && l.INVALIDPLAYLIST(e);
				var i, o = [], s = a(n);
				try {
					for (s.s(); !(i = s.n()).done;) {
						var u = i.value, c = r(l.splitAt(u, ":"), 2), T = c[0], f = c[1];
						T && f ? o.push({
							format: T,
							cpcList: f.split("/")
						}) : l.INVALIDPLAYLIST(e);
					}
				} catch (t) {
					s.e(t);
				} finally {
					s.f();
				}
				return o;
			}
			function I(t) {
				return t.startsWith("\"") ? f(t) : t.startsWith("0x") || t.startsWith("0X") ? l.hexToByteSequence(t) : l.toNumber(t);
			}
			function v(t, e) {
				e.IV && t.compatibleVersion < 2 && (t.compatibleVersion = 2), (e.KEYFORMAT || e.KEYFORMATVERSIONS) && t.compatibleVersion < 5 && (t.compatibleVersion = 5);
			}
			function A(t) {
				var e, n, i, o = {}, s = a(l.splitByCommaWithPreservingQuotes(t));
				try {
					for (s.s(); !(e = s.n()).done;) {
						var u = e.value, c = r(l.splitAt(u, "="), 2), T = c[0], E = c[1], v = f(E);
						switch (T) {
							case "URI":
								o[T] = v;
								break;
							case "START-DATE":
							case "END-DATE":
								o[T] = new Date(v);
								break;
							case "IV":
								o[T] = (n = v, 16 !== (i = l.hexToByteSequence(n)).length && l.INVALIDPLAYLIST("IV must be a 128-bit unsigned integer"), i);
								break;
							case "BYTERANGE":
								o[T] = d(v);
								break;
							case "RESOLUTION":
								o[T] = h(v);
								break;
							case "ALLOWED-CPC":
								o[T] = p(v);
								break;
							case "END-ON-NEXT":
							case "DEFAULT":
							case "AUTOSELECT":
							case "FORCED":
							case "PRECISE":
							case "CAN-BLOCK-RELOAD":
							case "INDEPENDENT":
							case "GAP":
								o[T] = "YES" === v;
								break;
							case "DURATION":
							case "PLANNED-DURATION":
							case "BANDWIDTH":
							case "AVERAGE-BANDWIDTH":
							case "FRAME-RATE":
							case "TIME-OFFSET":
							case "CAN-SKIP-UNTIL":
							case "HOLD-BACK":
							case "PART-HOLD-BACK":
							case "PART-TARGET":
							case "BYTERANGE-START":
							case "BYTERANGE-LENGTH":
							case "LAST-MSN":
							case "LAST-PART":
							case "SKIPPED-SEGMENTS":
							case "SCORE":
							case "PROGRAM-ID":
								o[T] = l.toNumber(v);
								break;
							default: T.startsWith("SCTE35-") ? o[T] = l.hexToByteSequence(v) : T.startsWith("X-") ? o[T] = I(E) : ("VIDEO-RANGE" === T && "SDR" !== v && "HLG" !== v && "PQ" !== v && l.INVALIDPLAYLIST("VIDEO-RANGE: unknown value \"".concat(v, "\"")), o[T] = v);
						}
					}
				} catch (t) {
					s.e(t);
				} finally {
					s.f();
				}
				return o;
			}
			function y() {
				l.INVALIDPLAYLIST("The file contains both media and master playlist tags.");
			}
			function S(t, e, n) {
				var r, i = (r = e.attributes, new T.Rendition({
					type: r.TYPE,
					uri: r.URI,
					groupId: r["GROUP-ID"],
					language: r.LANGUAGE,
					assocLanguage: r["ASSOC-LANGUAGE"],
					name: r.NAME,
					isDefault: r.DEFAULT,
					autoselect: r.AUTOSELECT,
					forced: r.FORCED,
					instreamId: r["INSTREAM-ID"],
					characteristics: r.CHARACTERISTICS,
					channels: r.CHANNELS
				})), o = t[l.camelify(n)], s = function(t, e) {
					var n, r = !1, i = a(t);
					try {
						for (i.s(); !(n = i.n()).done;) {
							var o = n.value;
							if (o.name === e.name) return "All EXT-X-MEDIA tags in the same Group MUST have different NAME attributes.";
							o.isDefault && (r = !0);
						}
					} catch (t) {
						i.e(t);
					} finally {
						i.f();
					}
					return r && e.isDefault ? "EXT-X-MEDIA A Group MUST NOT have more than one member with a DEFAULT attribute of YES." : "";
				}(o, i);
				s && l.INVALIDPLAYLIST(s), o.push(i), i.isDefault && (t.currentRenditions[l.camelify(n)] = o.length - 1);
			}
			function N(t, e, n, r, i) {
				var o, s = new T.Variant({
					uri: n,
					bandwidth: e.BANDWIDTH,
					averageBandwidth: e["AVERAGE-BANDWIDTH"],
					score: e.SCORE,
					codecs: e.CODECS,
					resolution: e.RESOLUTION,
					frameRate: e["FRAME-RATE"],
					hdcpLevel: e["HDCP-LEVEL"],
					allowedCpc: e["ALLOWED-CPC"],
					videoRange: e["VIDEO-RANGE"],
					stableVariantId: e["STABLE-VARIANT-ID"],
					programId: e["PROGRAM-ID"]
				}), u = a(t);
				try {
					for (u.s(); !(o = u.n()).done;) {
						var c = o.value;
						if ("EXT-X-MEDIA" === c.name) {
							var f = c.attributes, E = f.TYPE;
							if (E && f["GROUP-ID"] || l.INVALIDPLAYLIST("EXT-X-MEDIA TYPE attribute is REQUIRED."), e[E] === f["GROUP-ID"] && (S(s, c, E), "CLOSED-CAPTIONS" === E)) {
								var d, h = a(s.closedCaptions);
								try {
									for (h.s(); !(d = h.n()).done;) {
										var p = d.value.instreamId;
										if (p && p.startsWith("SERVICE") && i.compatibleVersion < 7) {
											i.compatibleVersion = 7;
											break;
										}
									}
								} catch (t) {
									h.e(t);
								} finally {
									h.f();
								}
							}
						}
					}
				} catch (t) {
					u.e(t);
				} finally {
					u.f();
				}
				return function(t, e, n) {
					for (var r = function() {
						var r = i[a];
						"CLOSED-CAPTIONS" === r && "NONE" === t[r] ? (n.isClosedCaptionsNone = !0, e.closedCaptions = []) : t[r] && !e[l.camelify(r)].some((function(e) {
							return e.groupId === t[r];
						})) && l.INVALIDPLAYLIST("".concat(r, " attribute MUST match the value of the GROUP-ID attribute of an EXT-X-MEDIA tag whose TYPE attribute is ").concat(r, "."));
					}, a = 0, i = [
						"AUDIO",
						"VIDEO",
						"SUBTITLES",
						"CLOSED-CAPTIONS"
					]; a < i.length; a++) r();
				}(e, s, i), s.isIFrameOnly = r, s;
			}
			function m(t, e, n, r, a, i, o) {
				for (var s = new T.Segment({
					uri: e,
					mediaSequenceNumber: a,
					discontinuitySequence: i
				}), u = !1, c = !1, f = n; f <= r; f++) {
					var E = R(t[f]), d = E.name, h = E.value, p = E.attributes;
					if ("EXTINF" === d) !Number.isInteger(h.duration) && o.compatibleVersion < 3 && (o.compatibleVersion = 3), Math.round(h.duration) > o.targetDuration && l.INVALIDPLAYLIST("EXTINF duration, when rounded to the nearest integer, MUST be less than or equal to the target duration"), s.duration = h.duration, s.title = h.title;
					else if ("EXT-X-BYTERANGE" === d) o.compatibleVersion < 4 && (o.compatibleVersion = 4), s.byterange = h;
					else if ("EXT-X-DISCONTINUITY" === d) s.parts.length > 0 && l.INVALIDPLAYLIST("EXT-X-DISCONTINUITY must appear before the first EXT-X-PART tag of the Parent Segment."), s.discontinuity = !0;
					else if ("EXT-X-GAP" === d) o.compatibleVersion < 8 && (o.compatibleVersion = 8), s.gap = !0;
					else if ("EXT-X-KEY" === d) s.parts.length > 0 && l.INVALIDPLAYLIST("EXT-X-KEY must appear before the first EXT-X-PART tag of the Parent Segment."), v(o, p), s.key = new T.Key({
						method: p.METHOD,
						uri: p.URI,
						iv: p.IV,
						format: p.KEYFORMAT,
						formatVersion: p.KEYFORMATVERSIONS
					});
					else if ("EXT-X-MAP" === d) s.parts.length > 0 && l.INVALIDPLAYLIST("EXT-X-MAP must appear before the first EXT-X-PART tag of the Parent Segment."), o.compatibleVersion < 5 && (o.compatibleVersion = 5), o.hasMap = !0, s.map = new T.MediaInitializationSection({
						uri: p.URI,
						byterange: p.BYTERANGE
					});
					else if ("EXT-X-PROGRAM-DATE-TIME" === d) s.programDateTime = h;
					else if ("EXT-X-DATERANGE" === d) {
						for (var I = {}, A = 0, y = Object.keys(p); A < y.length; A++) {
							var S = y[A];
							(S.startsWith("SCTE35-") || S.startsWith("X-")) && (I[S] = p[S]);
						}
						s.dateRange = new T.DateRange({
							id: p.ID,
							classId: p.CLASS,
							start: p["START-DATE"],
							end: p["END-DATE"],
							duration: p.DURATION,
							plannedDuration: p["PLANNED-DURATION"],
							endOnNext: p["END-ON-NEXT"],
							attributes: I
						});
					} else if ("EXT-X-CUE-OUT" === d) s.markers.push(new T.SpliceInfo({
						type: "OUT",
						duration: p && p.DURATION || h
					}));
					else if ("EXT-X-CUE-IN" === d) s.markers.push(new T.SpliceInfo({ type: "IN" }));
					else if ("EXT-X-CUE-OUT-CONT" === d || "EXT-X-CUE" === d || "EXT-OATCLS-SCTE35" === d || "EXT-X-ASSET" === d || "EXT-X-SCTE35" === d) s.markers.push(new T.SpliceInfo({
						type: "RAW",
						tagName: d,
						value: h
					}));
					else if ("EXT-X-PRELOAD-HINT" !== d || p.TYPE) if ("EXT-X-PRELOAD-HINT" === d && "PART" === p.TYPE && c) l.INVALIDPLAYLIST("Servers should not add more than one EXT-X-PRELOAD-HINT tag with the same TYPE attribute to a Playlist.");
					else if ("EXT-X-PART" !== d && "EXT-X-PRELOAD-HINT" !== d || p.URI) {
						if ("EXT-X-PRELOAD-HINT" === d && "MAP" === p.TYPE) u && l.INVALIDPLAYLIST("Servers should not add more than one EXT-X-PRELOAD-HINT tag with the same TYPE attribute to a Playlist."), u = !0, o.hasMap = !0, s.map = new T.MediaInitializationSection({
							hint: !0,
							uri: p.URI,
							byterange: {
								length: p["BYTERANGE-LENGTH"],
								offset: p["BYTERANGE-START"] || 0
							}
						});
						else if ("EXT-X-PART" === d || "EXT-X-PRELOAD-HINT" === d && "PART" === p.TYPE) {
							"EXT-X-PART" !== d || p.DURATION || l.INVALIDPLAYLIST("EXT-X-PART: DURATION attribute is mandatory"), "EXT-X-PRELOAD-HINT" === d && (c = !0);
							var N = new T.PartialSegment({
								hint: "EXT-X-PRELOAD-HINT" === d,
								uri: p.URI,
								byterange: "EXT-X-PART" === d ? p.BYTERANGE : {
									length: p["BYTERANGE-LENGTH"],
									offset: p["BYTERANGE-START"] || 0
								},
								duration: p.DURATION,
								independent: p.INDEPENDENT,
								gap: p.GAP
							});
							s.gap && !N.gap && l.INVALIDPLAYLIST("Partial segments must have GAP=YES if they are in a gap (EXT-X-GAP)"), s.parts.push(N);
						}
					} else l.INVALIDPLAYLIST("EXT-X-PART / EXT-X-PRELOAD-HINT: URI attribute is mandatory");
					else l.INVALIDPLAYLIST("EXT-X-PRELOAD-HINT: TYPE attribute is mandatory");
				}
				return s;
			}
			function X(t, e, n, r, a, i, o) {
				for (var s = new T.PrefetchSegment({
					uri: e,
					mediaSequenceNumber: a,
					discontinuitySequence: i
				}), u = n; u <= r; u++) {
					var c = t[u], f = c.name, E = c.attributes;
					"EXTINF" === f ? l.INVALIDPLAYLIST("A prefetch segment must not be advertised with an EXTINF tag.") : "EXT-X-DISCONTINUITY" === f ? l.INVALIDPLAYLIST("A prefetch segment must not be advertised with an EXT-X-DISCONTINUITY tag.") : "EXT-X-PREFETCH-DISCONTINUITY" === f ? s.discontinuity = !0 : "EXT-X-KEY" === f ? (v(o, E), s.key = new T.Key({
						method: E.METHOD,
						uri: E.URI,
						iv: E.IV,
						format: E.KEYFORMAT,
						formatVersion: E.KEYFORMATVERSIONS
					})) : "EXT-X-MAP" === f && l.INVALIDPLAYLIST("Prefetch segments must not be advertised with an EXT-X-MAP tag.");
				}
				return s;
			}
			function g(t, e, n, r, a) {
				var i = e.discontinuity, o = e.key, s = e.map, u = e.byterange, c = e.uri;
				if (i && (e.discontinuitySequence = n + 1), o || (e.key = r), s || (e.map = a), u && -1 === u.offset) {
					var T = t.segments;
					if (T.length > 0) {
						var f = T.at(-1);
						f.byterange && f.uri === c ? u.offset = f.byterange.offset + f.byterange.length : l.INVALIDPLAYLIST("If offset of EXT-X-BYTERANGE is not present, a previous Media Segment MUST be a sub-range of the same media resource");
					} else l.INVALIDPLAYLIST("If offset of EXT-X-BYTERANGE is not present, a previous Media Segment MUST appear in the Playlist file");
				}
				return t.segments.push(e), [
					e.discontinuitySequence,
					e.key,
					e.map
				];
			}
			function O(t, e) {
				var n = function(t) {
					var e = t.indexOf(":");
					return -1 === e ? [t.slice(1).trim(), null] : [t.slice(1, e).trim(), t.slice(e + 1).trim()];
				}(t), a = r(n, 2), i = a[0], o = a[1], s = function(t) {
					switch (t) {
						case "EXTM3U":
						case "EXT-X-VERSION": return "Basic";
						case "EXTINF":
						case "EXT-X-BYTERANGE":
						case "EXT-X-DISCONTINUITY":
						case "EXT-X-PREFETCH-DISCONTINUITY":
						case "EXT-X-KEY":
						case "EXT-X-MAP":
						case "EXT-X-PROGRAM-DATE-TIME":
						case "EXT-X-DATERANGE":
						case "EXT-X-CUE-OUT":
						case "EXT-X-CUE-IN":
						case "EXT-X-CUE-OUT-CONT":
						case "EXT-X-CUE":
						case "EXT-OATCLS-SCTE35":
						case "EXT-X-ASSET":
						case "EXT-X-SCTE35":
						case "EXT-X-PART":
						case "EXT-X-PRELOAD-HINT":
						case "EXT-X-GAP": return "Segment";
						case "EXT-X-TARGETDURATION":
						case "EXT-X-MEDIA-SEQUENCE":
						case "EXT-X-DISCONTINUITY-SEQUENCE":
						case "EXT-X-ENDLIST":
						case "EXT-X-PLAYLIST-TYPE":
						case "EXT-X-I-FRAMES-ONLY":
						case "EXT-X-SERVER-CONTROL":
						case "EXT-X-PART-INF":
						case "EXT-X-PREFETCH":
						case "EXT-X-RENDITION-REPORT":
						case "EXT-X-SKIP": return "MediaPlaylist";
						case "EXT-X-MEDIA":
						case "EXT-X-STREAM-INF":
						case "EXT-X-I-FRAME-STREAM-INF":
						case "EXT-X-SESSION-DATA":
						case "EXT-X-SESSION-KEY": return "MasterPlaylist";
						case "EXT-X-INDEPENDENT-SEGMENTS":
						case "EXT-X-START": return "MediaorMasterPlaylist";
						default: return "Unknown";
					}
				}(i);
				if (function(t, e) {
					if ("Segment" === t || "MediaPlaylist" === t) return void 0 === e.isMasterPlaylist ? void (e.isMasterPlaylist = !1) : void (e.isMasterPlaylist && y());
					if ("MasterPlaylist" === t) {
						if (void 0 === e.isMasterPlaylist) return void (e.isMasterPlaylist = !0);
						!1 === e.isMasterPlaylist && y();
					}
				}(s, e), "Unknown" === s) return null;
				"MediaPlaylist" === s && "EXT-X-RENDITION-REPORT" !== i && "EXT-X-PREFETCH" !== i && (e.hash[i] && l.INVALIDPLAYLIST("There MUST NOT be more than one Media Playlist tag of each type in any Media Playlist"), e.hash[i] = !0);
				var u = function(t, e) {
					switch (t) {
						case "EXTM3U":
						case "EXT-X-DISCONTINUITY":
						case "EXT-X-ENDLIST":
						case "EXT-X-I-FRAMES-ONLY":
						case "EXT-X-INDEPENDENT-SEGMENTS":
						case "EXT-X-CUE-IN":
						case "EXT-X-GAP": return [null, null];
						case "EXT-X-VERSION":
						case "EXT-X-TARGETDURATION":
						case "EXT-X-MEDIA-SEQUENCE":
						case "EXT-X-DISCONTINUITY-SEQUENCE": return [l.toNumber(e), null];
						case "EXT-X-CUE-OUT": return Number.isNaN(Number(e)) ? [null, A(e)] : [l.toNumber(e), null];
						case "EXT-X-KEY":
						case "EXT-X-MAP":
						case "EXT-X-DATERANGE":
						case "EXT-X-MEDIA":
						case "EXT-X-STREAM-INF":
						case "EXT-X-I-FRAME-STREAM-INF":
						case "EXT-X-SESSION-DATA":
						case "EXT-X-SESSION-KEY":
						case "EXT-X-START":
						case "EXT-X-SERVER-CONTROL":
						case "EXT-X-PART-INF":
						case "EXT-X-PART":
						case "EXT-X-PRELOAD-HINT":
						case "EXT-X-RENDITION-REPORT":
						case "EXT-X-SKIP": return [null, A(e)];
						case "EXTINF": return [E(e), null];
						case "EXT-X-BYTERANGE": return [d(e), null];
						case "EXT-X-PROGRAM-DATE-TIME": return [new Date(e), null];
						default: return [e, null];
					}
				}(i, o), c = r(u, 2);
				return {
					name: i,
					category: s,
					value: c[0],
					attributes: c[1]
				};
			}
			function b(t, e) {
				var n;
				return e.isMasterPlaylist ? n = function(t, e) {
					var n, i = new T.MasterPlaylist(), o = !1, s = a(t.entries());
					try {
						var u = function() {
							var a = r(n.value, 2), s = a[0], u = R(a[1]), c = u.name, f = u.value, E = u.attributes;
							if ("EXT-X-VERSION" === c) i.version = f;
							else if ("EXT-X-STREAM-INF" === c) {
								var d = t[s + 1];
								("string" != typeof d || d.startsWith("#EXT")) && l.INVALIDPLAYLIST("EXT-X-STREAM-INF must be followed by a URI line");
								var h = N(t, E, d, !1, e);
								h && ("number" == typeof h.score && (o = !0, h.score < 0 && l.INVALIDPLAYLIST("SCORE attribute on EXT-X-STREAM-INF must be positive decimal-floating-point number.")), i.variants.push(h));
							} else if ("EXT-X-I-FRAME-STREAM-INF" === c) {
								var p = N(t, E, E.URI, !0, e);
								p && i.variants.push(p);
							} else if ("EXT-X-SESSION-DATA" === c) {
								var I = new T.SessionData({
									id: E["DATA-ID"],
									value: E.VALUE,
									uri: E.URI,
									language: E.LANGUAGE
								});
								i.sessionDataList.some((function(t) {
									return t.id === I.id && t.language === I.language;
								})) && l.INVALIDPLAYLIST("A Playlist MUST NOT contain more than one EXT-X-SESSION-DATA tag with the same DATA-ID attribute and the same LANGUAGE attribute."), i.sessionDataList.push(I);
							} else if ("EXT-X-SESSION-KEY" === c) {
								"NONE" === E.METHOD && l.INVALIDPLAYLIST("EXT-X-SESSION-KEY: The value of the METHOD attribute MUST NOT be NONE");
								var A = new T.Key({
									method: E.METHOD,
									uri: E.URI,
									iv: E.IV,
									format: E.KEYFORMAT,
									formatVersion: E.KEYFORMATVERSIONS
								});
								i.sessionKeyList.some((function(t) {
									return function(t, e) {
										if (t.method !== e.method) return !1;
										if (t.uri !== e.uri) return !1;
										if (t.iv) {
											if (!e.iv) return !1;
											if (t.iv.byteLength !== e.iv.byteLength) return !1;
											for (var n = 0; n < t.iv.byteLength; n++) if (t.iv[n] !== e.iv[n]) return !1;
										} else if (e.iv) return !1;
										return t.format === e.format && t.formatVersion === e.formatVersion;
									}(t, A);
								})) && l.INVALIDPLAYLIST("A Master Playlist MUST NOT contain more than one EXT-X-SESSION-KEY tag with the same METHOD, URI, IV, KEYFORMAT, and KEYFORMATVERSIONS attribute values."), v(e, E), i.sessionKeyList.push(A);
							} else "EXT-X-INDEPENDENT-SEGMENTS" === c ? (i.independentSegments && l.INVALIDPLAYLIST("EXT-X-INDEPENDENT-SEGMENTS tag MUST NOT appear more than once in a Playlist"), i.independentSegments = !0) : "EXT-X-START" === c && (i.start && l.INVALIDPLAYLIST("EXT-X-START tag MUST NOT appear more than once in a Playlist"), "number" != typeof E["TIME-OFFSET"] && l.INVALIDPLAYLIST("EXT-X-START: TIME-OFFSET attribute is REQUIRED"), i.start = {
								offset: E["TIME-OFFSET"],
								precise: E.PRECISE || !1
							});
						};
						for (s.s(); !(n = s.n()).done;) u();
					} catch (t) {
						s.e(t);
					} finally {
						s.f();
					}
					if (o) {
						var c, f = a(i.variants);
						try {
							for (f.s(); !(c = f.n()).done;) "number" != typeof c.value.score && l.INVALIDPLAYLIST("If any Variant Stream contains the SCORE attribute, then all Variant Streams in the Master Playlist SHOULD have a SCORE attribute");
						} catch (t) {
							f.e(t);
						} finally {
							f.f();
						}
					}
					if (e.isClosedCaptionsNone) {
						var E, d = a(i.variants);
						try {
							for (d.s(); !(E = d.n()).done;) E.value.closedCaptions.length > 0 && l.INVALIDPLAYLIST("If there is a variant with CLOSED-CAPTIONS attribute of NONE, all EXT-X-STREAM-INF tags MUST have this attribute with a value of NONE");
						} catch (t) {
							d.e(t);
						} finally {
							d.f();
						}
					}
					return i;
				}(t, e) : !(n = function(t, e) {
					var n, i = new T.MediaPlaylist(), o = -1, s = 0, u = !1, c = !1, f = 0, E = null, d = null, h = !1, p = a(t.entries());
					try {
						for (p.s(); !(n = p.n()).done;) {
							var I = r(n.value, 2), v = I[0], A = I[1], y = R(A), S = y.name, N = y.value, O = y.attributes;
							if ("Segment" !== y.category) {
								if ("EXT-X-VERSION" === S) void 0 === i.version ? i.version = N : l.INVALIDPLAYLIST("A Playlist file MUST NOT contain more than one EXT-X-VERSION tag.");
								else if ("EXT-X-TARGETDURATION" === S) i.targetDuration = e.targetDuration = N;
								else if ("EXT-X-MEDIA-SEQUENCE" === S) i.segments.length > 0 && l.INVALIDPLAYLIST("The EXT-X-MEDIA-SEQUENCE tag MUST appear before the first Media Segment in the Playlist."), i.mediaSequenceBase = s = N;
								else if ("EXT-X-DISCONTINUITY-SEQUENCE" === S) i.segments.length > 0 && l.INVALIDPLAYLIST("The EXT-X-DISCONTINUITY-SEQUENCE tag MUST appear before the first Media Segment in the Playlist."), u && l.INVALIDPLAYLIST("The EXT-X-DISCONTINUITY-SEQUENCE tag MUST appear before any EXT-X-DISCONTINUITY tag."), i.discontinuitySequenceBase = f = N;
								else if ("EXT-X-ENDLIST" === S) i.endlist = !0;
								else if ("EXT-X-PLAYLIST-TYPE" === S) i.playlistType = N;
								else if ("EXT-X-I-FRAMES-ONLY" === S) e.compatibleVersion < 4 && (e.compatibleVersion = 4), i.isIFrame = !0;
								else if ("EXT-X-INDEPENDENT-SEGMENTS" === S) i.independentSegments && l.INVALIDPLAYLIST("EXT-X-INDEPENDENT-SEGMENTS tag MUST NOT appear more than once in a Playlist"), i.independentSegments = !0;
								else if ("EXT-X-START" === S) i.start && l.INVALIDPLAYLIST("EXT-X-START tag MUST NOT appear more than once in a Playlist"), "number" != typeof O["TIME-OFFSET"] && l.INVALIDPLAYLIST("EXT-X-START: TIME-OFFSET attribute is REQUIRED"), i.start = {
									offset: O["TIME-OFFSET"],
									precise: O.PRECISE || !1
								};
								else if ("EXT-X-SERVER-CONTROL" === S) O["CAN-BLOCK-RELOAD"] || l.INVALIDPLAYLIST("EXT-X-SERVER-CONTROL: CAN-BLOCK-RELOAD=YES is mandatory for Low-Latency HLS"), i.lowLatencyCompatibility = {
									canBlockReload: O["CAN-BLOCK-RELOAD"],
									canSkipUntil: O["CAN-SKIP-UNTIL"],
									holdBack: O["HOLD-BACK"],
									partHoldBack: O["PART-HOLD-BACK"]
								};
								else if ("EXT-X-PART-INF" === S) O["PART-TARGET"] || l.INVALIDPLAYLIST("EXT-X-PART-INF: PART-TARGET attribute is mandatory"), i.partTargetDuration = O["PART-TARGET"];
								else if ("EXT-X-RENDITION-REPORT" === S) O.URI || l.INVALIDPLAYLIST("EXT-X-RENDITION-REPORT: URI attribute is mandatory"), 0 === O.URI.search(/^[a-z]+:/) && l.INVALIDPLAYLIST("EXT-X-RENDITION-REPORT: URI must be relative to the playlist uri"), i.renditionReports.push(new T.RenditionReport({
									uri: O.URI,
									lastMSN: O["LAST-MSN"],
									lastPart: O["LAST-PART"]
								}));
								else if ("EXT-X-SKIP" === S) O["SKIPPED-SEGMENTS"] || l.INVALIDPLAYLIST("EXT-X-SKIP: SKIPPED-SEGMENTS attribute is mandatory"), e.compatibleVersion < 9 && (e.compatibleVersion = 9), i.skip = O["SKIPPED-SEGMENTS"], s += i.skip;
								else if ("EXT-X-PREFETCH" === S) {
									var b = X(t, N, -1 === o ? v : o, v - 1, s++, f, e);
									b && (b.discontinuity && (b.discontinuitySequence++, f = b.discontinuitySequence), b.key ? E = b.key : b.key = E, i.prefetchSegments.push(b)), c = !0, o = -1;
								} else if ("string" == typeof A) {
									-1 === o && l.INVALIDPLAYLIST("A URI line is not preceded by any segment tags"), i.targetDuration || l.INVALIDPLAYLIST("The EXT-X-TARGETDURATION tag is REQUIRED"), c && l.INVALIDPLAYLIST("These segments must appear after all complete segments.");
									var P = m(t, A, o, v - 1, s++, f, e);
									if (P) {
										var D = r(g(i, P, f, E, d), 3);
										f = D[0], E = D[1], d = D[2], !h && P.parts.length > 0 && (h = !0);
									}
									o = -1;
								}
							} else -1 === o && (o = v), "EXT-X-DISCONTINUITY" === S && (u = !0);
						}
					} catch (t) {
						p.e(t);
					} finally {
						p.f();
					}
					if (-1 !== o) {
						var L = m(t, "", o, t.length - 1, s++, f, e);
						if (L) {
							var C, M = L.parts;
							!(M.length > 0) || i.endlist || null !== (C = M.at(-1)) && void 0 !== C && C.hint || l.INVALIDPLAYLIST("If the Playlist contains EXT-X-PART tags and does not contain an EXT-X-ENDLIST tag, the Playlist must contain an EXT-X-PRELOAD-HINT tag with a TYPE=PART attribute"), g(i, L, E, d), !h && L.parts.length > 0 && (h = !0);
						}
					}
					return function(t) {
						for (var e = new Map(), n = new Map(), r = !1, i = !1, o = t.length - 1; o >= 0; o--) {
							var s = t[o], u = s.programDateTime, c = s.dateRange;
							if (u && (i = !0), c && c.start) {
								r = !0, c.endOnNext && (c.end || c.duration) && l.INVALIDPLAYLIST("An EXT-X-DATERANGE tag with an END-ON-NEXT=YES attribute MUST NOT contain DURATION or END-DATE attributes.");
								var T = c.start.getTime(), f = c.duration || 0;
								c.end && c.duration && T + 1e3 * f !== c.end.getTime() && l.INVALIDPLAYLIST("END-DATE MUST be equal to the value of the START-DATE attribute plus the value of the DURATION"), c.endOnNext && (c.end = e.get(c.classId)), e.set(c.classId, c.start);
								var E = c.end ? c.end.getTime() : c.start.getTime() + 1e3 * (c.duration || 0), d = n.get(c.classId);
								if (d) {
									var h, p = a(d);
									try {
										for (p.s(); !(h = p.n()).done;) {
											var I = h.value;
											(I.start <= T && I.end > T || I.start >= T && I.start < E) && l.INVALIDPLAYLIST("DATERANGE tags with the same CLASS should not overlap");
										}
									} catch (t) {
										p.e(t);
									} finally {
										p.f();
									}
									d.push({
										start: T,
										end: E
									});
								} else c.classId && n.set(c.classId, [{
									start: T,
									end: E
								}]);
							}
						}
						r && !i && l.INVALIDPLAYLIST("If a Playlist contains an EXT-X-DATERANGE tag, it MUST also contain at least one EXT-X-PROGRAM-DATE-TIME tag.");
					}(i.segments), i.lowLatencyCompatibility && function(t, e) {
						var n = t.lowLatencyCompatibility, i = t.targetDuration, o = t.partTargetDuration, s = t.segments, u = t.renditionReports, c = n.canSkipUntil, T = n.holdBack, f = n.partHoldBack;
						if (c < 6 * i && l.INVALIDPLAYLIST("The Skip Boundary must be at least six times the EXT-X-TARGETDURATION."), T < 3 * i && l.INVALIDPLAYLIST("HOLD-BACK must be at least three times the EXT-X-TARGETDURATION."), e) {
							void 0 === o && l.INVALIDPLAYLIST("EXT-X-PART-INF is required if a Playlist contains one or more EXT-X-PART tags"), void 0 === f && l.INVALIDPLAYLIST("EXT-X-PART: PART-HOLD-BACK attribute is mandatory"), f < o && l.INVALIDPLAYLIST("PART-HOLD-BACK must be at least PART-TARGET");
							var E, d = a(s.entries());
							try {
								for (d.s(); !(E = d.n()).done;) {
									var h = r(E.value, 2), p = h[0], I = h[1].parts;
									I.length > 0 && p < s.length - 3 && l.INVALIDPLAYLIST("Remove EXT-X-PART tags from the Playlist after they are greater than three target durations from the end of the Playlist.");
									var v, A = a(I.entries());
									try {
										for (A.s(); !(v = A.n()).done;) {
											var y = r(v.value, 2), S = y[0], N = y[1].duration;
											void 0 !== N && (N > o && l.INVALIDPLAYLIST("PART-TARGET is the maximum duration of any Partial Segment"), S < I.length - 1 && N < .85 * o && l.INVALIDPLAYLIST("All Partial Segments except the last part of a segment must have a duration of at least 85% of PART-TARGET"));
										}
									} catch (t) {
										A.e(t);
									} finally {
										A.f();
									}
								}
							} catch (t) {
								d.e(t);
							} finally {
								d.f();
							}
						}
						var m, X = a(u);
						try {
							for (X.s(); !(m = X.n()).done;) {
								var g, O = m.value, b = s.at(-1);
								null !== (g = O.lastMSN) && void 0 !== g || (O.lastMSN = b.mediaSequenceNumber), (null === O.lastPart || void 0 === O.lastPart) && b.parts.length > 0 && (O.lastPart = b.parts.length - 1);
							}
						} catch (t) {
							X.e(t);
						} finally {
							X.f();
						}
					}(i, h), i;
				}(t, e)).isIFrame && e.hasMap && e.compatibleVersion < 6 && (e.compatibleVersion = 6), e.compatibleVersion > 1 && (!n.version || n.version < e.compatibleVersion) && l.INVALIDPLAYLIST("EXT-X-VERSION needs to be ".concat(e.compatibleVersion, " or higher.")), n;
			}
			function R(t) {
				return "string" == typeof t ? {} : t;
			}
			e.default = function(t) {
				var e = {
					version: void 0,
					isMasterPlaylist: void 0,
					hasMap: !1,
					targetDuration: 0,
					compatibleVersion: 1,
					isClosedCaptionsNone: !1,
					hash: {}
				}, n = b(function(t, e) {
					var n, r = [], i = a(t.split("\n"));
					try {
						for (i.s(); !(n = i.n()).done;) {
							var o = n.value.trim();
							if (o) if (o.startsWith("#")) {
								if (o.startsWith("#EXT")) {
									var s = O(o, e);
									s && r.push(s);
								}
							} else r.push(o);
						}
					} catch (t) {
						i.e(t);
					} finally {
						i.f();
					}
					return 0 !== r.length && "EXTM3U" === r[0].name || l.INVALIDPLAYLIST("The EXTM3U tag MUST be the first line."), r;
				}(t, e), e);
				return n.source = t, n;
			};
		},
		887: function(t, e, n) {
			function r(t) {
				return r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
					return typeof t;
				} : function(t) {
					return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
				}, r(t);
			}
			function a(t, e) {
				return function(t) {
					if (Array.isArray(t)) return t;
				}(t) || function(t, e) {
					var n = null == t ? null : "undefined" != typeof Symbol && t[Symbol.iterator] || t["@@iterator"];
					if (null != n) {
						var r, a, i, o, s = [], u = !0, c = !1;
						try {
							if (i = (n = n.call(t)).next, 0 === e) {
								if (Object(n) !== n) return;
								u = !1;
							} else for (; !(u = (r = i.call(n)).done) && (s.push(r.value), s.length !== e); u = !0);
						} catch (t) {
							c = !0, a = t;
						} finally {
							try {
								if (!u && null != n.return && (o = n.return(), Object(o) !== o)) return;
							} finally {
								if (c) throw a;
							}
						}
						return s;
					}
				}(t, e) || o(t, e) || function() {
					throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
				}();
			}
			function i(t, e) {
				var n = "undefined" != typeof Symbol && t[Symbol.iterator] || t["@@iterator"];
				if (!n) {
					if (Array.isArray(t) || (n = o(t)) || e && t && "number" == typeof t.length) {
						n && (t = n);
						var r = 0, a = function() {};
						return {
							s: a,
							n: function() {
								return r >= t.length ? { done: !0 } : {
									done: !1,
									value: t[r++]
								};
							},
							e: function(t) {
								throw t;
							},
							f: a
						};
					}
					throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
				}
				var i, s = !0, u = !1;
				return {
					s: function() {
						n = n.call(t);
					},
					n: function() {
						var t = n.next();
						return s = t.done, t;
					},
					e: function(t) {
						u = !0, i = t;
					},
					f: function() {
						try {
							s || null == n.return || n.return();
						} finally {
							if (u) throw i;
						}
					}
				};
			}
			function o(t, e) {
				if (t) {
					if ("string" == typeof t) return s(t, e);
					var n = Object.prototype.toString.call(t).slice(8, -1);
					return "Object" === n && t.constructor && (n = t.constructor.name), "Map" === n || "Set" === n ? Array.from(t) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? s(t, e) : void 0;
				}
			}
			function s(t, e) {
				(null == e || e > t.length) && (e = t.length);
				for (var n = 0, r = new Array(e); n < e; n++) r[n] = t[n];
				return r;
			}
			function u(t, e) {
				for (var n = 0; n < e.length; n++) {
					var r = e[n];
					r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, h(r.key), r);
				}
			}
			function c(t, e, n) {
				return e = d(e), function(t, e) {
					if (e && ("object" === r(e) || "function" == typeof e)) return e;
					if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined");
					return function(t) {
						if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
						return t;
					}(t);
				}(t, f() ? Reflect.construct(e, n || [], d(t).constructor) : e.apply(t, n));
			}
			function l() {
				return l = "undefined" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function(t, e, n) {
					var r = function(t, e) {
						for (; !Object.prototype.hasOwnProperty.call(t, e) && null !== (t = d(t)););
						return t;
					}(t, e);
					if (r) {
						var a = Object.getOwnPropertyDescriptor(r, e);
						return a.get ? a.get.call(arguments.length < 3 ? t : n) : a.value;
					}
				}, l.apply(this, arguments);
			}
			function T(t) {
				var e = "function" == typeof Map ? new Map() : void 0;
				return T = function(t) {
					if (null === t || !function(t) {
						try {
							return -1 !== Function.toString.call(t).indexOf("[native code]");
						} catch (e) {
							return "function" == typeof t;
						}
					}(t)) return t;
					if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function");
					if (void 0 !== e) {
						if (e.has(t)) return e.get(t);
						e.set(t, n);
					}
					function n() {
						return function(t, e, n) {
							if (f()) return Reflect.construct.apply(null, arguments);
							var r = [null];
							r.push.apply(r, e);
							var a = new (t.bind.apply(t, r))();
							return n && E(a, n.prototype), a;
						}(t, arguments, d(this).constructor);
					}
					return n.prototype = Object.create(t.prototype, { constructor: {
						value: n,
						enumerable: !1,
						writable: !0,
						configurable: !0
					} }), E(n, t);
				}, T(t);
			}
			function f() {
				try {
					var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function() {})));
				} catch (t) {}
				return (f = function() {
					return !!t;
				})();
			}
			function E(t, e) {
				return E = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t, e) {
					return t.__proto__ = e, t;
				}, E(t, e);
			}
			function d(t) {
				return d = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(t) {
					return t.__proto__ || Object.getPrototypeOf(t);
				}, d(t);
			}
			function h(t) {
				var e = function(t, e) {
					if ("object" != r(t) || !t) return t;
					var n = t[Symbol.toPrimitive];
					if (void 0 !== n) {
						var a = n.call(t, "string");
						if ("object" != r(a)) return a;
						throw new TypeError("@@toPrimitive must return a primitive value.");
					}
					return String(t);
				}(t);
				return "symbol" == r(e) ? e : e + "";
			}
			var p = this && this.__createBinding || (Object.create ? function(t, e, n, r) {
				void 0 === r && (r = n);
				var a = Object.getOwnPropertyDescriptor(e, n);
				a && !("get" in a ? !e.__esModule : a.writable || a.configurable) || (a = {
					enumerable: !0,
					get: function() {
						return e[n];
					}
				}), Object.defineProperty(t, r, a);
			} : function(t, e, n, r) {
				void 0 === r && (r = n), t[r] = e[n];
			}), I = this && this.__setModuleDefault || (Object.create ? function(t, e) {
				Object.defineProperty(t, "default", {
					enumerable: !0,
					value: e
				});
			} : function(t, e) {
				t.default = e;
			}), v = this && this.__importStar || function(t) {
				if (t && t.__esModule) return t;
				var e = {};
				if (null != t) for (var n in t) "default" !== n && Object.prototype.hasOwnProperty.call(t, n) && p(e, t, n);
				return I(e, t), e;
			};
			Object.defineProperty(e, "__esModule", { value: !0 });
			var A = v(n(203)), y = [
				"#EXTINF",
				"#EXT-X-BYTERANGE",
				"#EXT-X-DISCONTINUITY",
				"#EXT-X-STREAM-INF",
				"#EXT-X-CUE-OUT",
				"#EXT-X-CUE-IN",
				"#EXT-X-KEY",
				"#EXT-X-MAP"
			], S = ["#EXT-X-MEDIA"], N = function(t) {
				function e(t) {
					var n, r, a, i;
					return function(t, e) {
						if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
					}(this, e), r = n = c(this, e), i = void 0, (a = h(a = "baseUri")) in r ? Object.defineProperty(r, a, {
						value: i,
						enumerable: !0,
						configurable: !0,
						writable: !0
					}) : r[a] = i, n.baseUri = t, n;
				}
				return function(t, e) {
					if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
					t.prototype = Object.create(e && e.prototype, { constructor: {
						value: t,
						writable: !0,
						configurable: !0
					} }), Object.defineProperty(t, "prototype", { writable: !1 }), e && E(t, e);
				}(e, t), n = e, r = [{
					key: "push",
					value: function() {
						for (var t = this, n = arguments.length, r = new Array(n), a = 0; a < n; a++) r[a] = arguments[a];
						for (var i = function() {
							var n = s[o];
							if (!n.startsWith("#")) return l(d(e.prototype), "push", t).call(t, n), 0;
							if (y.some((function(t) {
								return n.startsWith(t);
							}))) return l(d(e.prototype), "push", t).call(t, n), 0;
							if (t.includes(n)) {
								if (S.some((function(t) {
									return n.startsWith(t);
								}))) return 0;
								A.INVALIDPLAYLIST("Redundant item (".concat(n, ")"));
							}
							l(d(e.prototype), "push", t).call(t, n);
						}, o = 0, s = r; o < s.length; o++) i();
						return this.length;
					}
				}, {
					key: "join",
					value: function() {
						for (var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : ",", n = this.length - 1; n >= 0; n--) this[n] || this.splice(n, 1);
						return l(d(e.prototype), "join", this).call(this, t);
					}
				}], r && u(n.prototype, r), Object.defineProperty(n, "prototype", { writable: !1 }), n;
				var n, r;
			}(T(Array));
			function m(t, e) {
				var n = 1e3;
				e && (n = Math.pow(10, e));
				var r = Math.round(t * n) / n;
				return e ? r.toFixed(e) : r;
			}
			function X(t) {
				var e = ["DATA-ID=\"".concat(t.id, "\"")];
				return t.language && e.push("LANGUAGE=\"".concat(t.language, "\"")), t.value ? e.push("VALUE=\"".concat(t.value, "\"")) : t.uri && e.push("URI=\"".concat(t.uri, "\"")), "#EXT-X-SESSION-DATA:".concat(e.join(","));
			}
			function g(t, e) {
				var n = e ? "#EXT-X-SESSION-KEY" : "#EXT-X-KEY", r = ["METHOD=".concat(t.method)];
				return t.uri && r.push("URI=\"".concat(t.uri, "\"")), t.iv && (16 !== t.iv.byteLength && A.INVALIDPLAYLIST("IV must be a 128-bit unsigned integer"), r.push("IV=".concat(A.byteSequenceToHex(t.iv)))), t.format && r.push("KEYFORMAT=\"".concat(t.format, "\"")), t.formatVersion && r.push("KEYFORMATVERSIONS=\"".concat(t.formatVersion, "\"")), "".concat(n, ":").concat(r.join(","));
			}
			function O(t, e) {
				var n = e.isIFrameOnly ? "#EXT-X-I-FRAME-STREAM-INF" : "#EXT-X-STREAM-INF", r = ["BANDWIDTH=".concat(e.bandwidth)];
				if (e.averageBandwidth && r.push("AVERAGE-BANDWIDTH=".concat(e.averageBandwidth)), e.isIFrameOnly && r.push("URI=\"".concat(e.uri, "\"")), e.codecs && r.push("CODECS=\"".concat(e.codecs, "\"")), e.resolution && r.push("RESOLUTION=".concat(e.resolution.width, "x").concat(e.resolution.height)), e.frameRate && r.push("FRAME-RATE=".concat(m(e.frameRate, 3))), e.hdcpLevel && r.push("HDCP-LEVEL=".concat(e.hdcpLevel)), e.audio.length > 0) {
					r.push("AUDIO=\"".concat(e.audio[0].groupId, "\""));
					var a, o = i(e.audio);
					try {
						for (o.s(); !(a = o.n()).done;) {
							var s = a.value;
							t.push(b(s));
						}
					} catch (t) {
						o.e(t);
					} finally {
						o.f();
					}
				}
				if (e.video.length > 0) {
					r.push("VIDEO=\"".concat(e.video[0].groupId, "\""));
					var u, c = i(e.video);
					try {
						for (c.s(); !(u = c.n()).done;) {
							var l = u.value;
							t.push(b(l));
						}
					} catch (t) {
						c.e(t);
					} finally {
						c.f();
					}
				}
				if (e.subtitles.length > 0) {
					r.push("SUBTITLES=\"".concat(e.subtitles[0].groupId, "\""));
					var T, f = i(e.subtitles);
					try {
						for (f.s(); !(T = f.n()).done;) {
							var E = T.value;
							t.push(b(E));
						}
					} catch (t) {
						f.e(t);
					} finally {
						f.f();
					}
				}
				if (A.getOptions().allowClosedCaptionsNone && 0 === e.closedCaptions.length) r.push("CLOSED-CAPTIONS=NONE");
				else if (e.closedCaptions.length > 0) {
					r.push("CLOSED-CAPTIONS=\"".concat(e.closedCaptions[0].groupId, "\""));
					var d, h = i(e.closedCaptions);
					try {
						for (h.s(); !(d = h.n()).done;) {
							var p = d.value;
							t.push(b(p));
						}
					} catch (t) {
						h.e(t);
					} finally {
						h.f();
					}
				}
				if (e.score && r.push("SCORE=".concat(e.score)), e.allowedCpc) {
					var I, v = [], y = i(e.allowedCpc);
					try {
						for (y.s(); !(I = y.n()).done;) {
							var S = I.value, N = S.format, X = S.cpcList;
							v.push("".concat(N, ":").concat(X.join("/")));
						}
					} catch (t) {
						y.e(t);
					} finally {
						y.f();
					}
					r.push("ALLOWED-CPC=\"".concat(v.join(","), "\""));
				}
				e.videoRange && r.push("VIDEO-RANGE=".concat(e.videoRange)), e.stableVariantId && r.push("STABLE-VARIANT-ID=\"".concat(e.stableVariantId, "\"")), e.programId && r.push("PROGRAM-ID=".concat(e.programId)), t.push("".concat(n, ":").concat(r.join(","))), e.isIFrameOnly || t.push("".concat(e.uri));
			}
			function b(t) {
				var e = [
					"TYPE=".concat(t.type),
					"GROUP-ID=\"".concat(t.groupId, "\""),
					"NAME=\"".concat(t.name, "\"")
				];
				return void 0 !== t.isDefault && e.push("DEFAULT=".concat(t.isDefault ? "YES" : "NO")), void 0 !== t.autoselect && e.push("AUTOSELECT=".concat(t.autoselect ? "YES" : "NO")), void 0 !== t.forced && e.push("FORCED=".concat(t.forced ? "YES" : "NO")), t.language && e.push("LANGUAGE=\"".concat(t.language, "\"")), t.assocLanguage && e.push("ASSOC-LANGUAGE=\"".concat(t.assocLanguage, "\"")), t.instreamId && e.push("INSTREAM-ID=\"".concat(t.instreamId, "\"")), t.characteristics && e.push("CHARACTERISTICS=\"".concat(t.characteristics, "\"")), t.channels && e.push("CHANNELS=\"".concat(t.channels, "\"")), t.uri && e.push("URI=\"".concat(t.uri, "\"")), "#EXT-X-MEDIA:".concat(e.join(","));
			}
			function R(t, e, n, r) {
				var a = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 1, o = !1, s = "";
				if (e.discontinuity && t.push("#EXT-X-DISCONTINUITY"), e.gap && t.push("#EXT-X-GAP"), e.key) {
					var u = g(e.key);
					u !== n && (t.push(u), n = u);
				}
				if (e.map) {
					var c = function(t) {
						var e = ["URI=\"".concat(t.uri, "\"")];
						return t.byterange && e.push("BYTERANGE=\"".concat(P(t.byterange), "\"")), "#EXT-X-MAP:".concat(e.join(","));
					}(e.map);
					c !== r && (t.push(c), r = c);
				}
				if (e.programDateTime && t.push("#EXT-X-PROGRAM-DATE-TIME:".concat(A.formatDate(e.programDateTime))), e.dateRange && t.push(function(t) {
					var e = ["ID=\"".concat(t.id, "\"")];
					t.start && e.push("START-DATE=\"".concat(A.formatDate(t.start), "\"")), t.end && e.push("END-DATE=\"".concat(A.formatDate(t.end), "\"")), t.duration && e.push("DURATION=".concat(t.duration)), t.plannedDuration && e.push("PLANNED-DURATION=".concat(t.plannedDuration)), t.classId && e.push("CLASS=\"".concat(t.classId, "\"")), t.endOnNext && e.push("END-ON-NEXT=YES");
					for (var n = 0, r = Object.keys(t.attributes); n < r.length; n++) {
						var a = r[n];
						a.startsWith("X-") ? "number" == typeof t.attributes[a] ? e.push("".concat(a, "=").concat(t.attributes[a])) : e.push("".concat(a, "=\"").concat(t.attributes[a], "\"")) : a.startsWith("SCTE35-") && e.push("".concat(a, "=").concat(A.byteSequenceToHex(t.attributes[a])));
					}
					return "#EXT-X-DATERANGE:".concat(e.join(","));
				}(e.dateRange)), e.markers.length > 0 && (s = function(t, e) {
					var n, r = "", a = i(e);
					try {
						for (a.s(); !(n = a.n()).done;) {
							var o = n.value;
							if ("OUT" === o.type) r = "OUT", t.push("#EXT-X-CUE-OUT:DURATION=".concat(o.duration));
							else if ("IN" === o.type) r = "IN", t.push("#EXT-X-CUE-IN");
							else if ("RAW" === o.type) {
								var s = o.value ? ":".concat(o.value) : "";
								t.push("#".concat(o.tagName).concat(s));
							}
						}
					} catch (t) {
						a.e(t);
					} finally {
						a.f();
					}
					return r;
				}(t, e.markers)), e.parts.length > 0 && (o = function(t, e) {
					var n, r = !1, a = i(e);
					try {
						for (a.s(); !(n = a.n()).done;) {
							var o = n.value;
							if (o.hint) {
								var s = [];
								if (s.push("TYPE=PART", "URI=\"".concat(o.uri, "\"")), o.byterange) {
									var u = o.byterange, c = u.offset, l = u.length;
									s.push("BYTERANGE-START=".concat(c)), l && s.push("BYTERANGE-LENGTH=".concat(l));
								}
								t.push("#EXT-X-PRELOAD-HINT:".concat(s.join(","))), r = !0;
							} else {
								var T = [];
								T.push("DURATION=".concat(o.duration), "URI=\"".concat(o.uri, "\"")), o.byterange && T.push("BYTERANGE=".concat(P(o.byterange))), o.independent && T.push("INDEPENDENT=YES"), o.gap && T.push("GAP=YES"), t.push("#EXT-X-PART:".concat(T.join(",")));
							}
						}
					} catch (t) {
						a.e(t);
					} finally {
						a.f();
					}
					return r;
				}(t, e.parts)), o) return [n, r];
				var l, T, f = a < 3 ? Math.round(e.duration) : m(e.duration, -1 === (T = (l = e.duration.toString(10)).indexOf(".")) ? 0 : l.length - T - 1);
				return t.push("#EXTINF:".concat(f, ",").concat(unescape(encodeURIComponent(e.title || "")))), e.byterange && t.push("#EXT-X-BYTERANGE:".concat(P(e.byterange))), Array.prototype.push.call(t, "".concat(e.uri)), [
					n,
					r,
					s
				];
			}
			function P(t) {
				var e = t.offset, n = t.length;
				return "".concat(n, "@").concat(e);
			}
			e.default = function(t, e) {
				A.PARAMCHECK(t), A.ASSERT("Not a playlist", "playlist" === t.type);
				var n = new N(t.uri);
				return n.push("#EXTM3U"), t.version && n.push("#EXT-X-VERSION:".concat(t.version)), t.independentSegments && n.push("#EXT-X-INDEPENDENT-SEGMENTS"), t.start && n.push("#EXT-X-START:TIME-OFFSET=".concat(m(t.start.offset)).concat(t.start.precise ? ",PRECISE=YES" : "")), t.isMasterPlaylist ? function(t, e, n) {
					var r, o = i(e.sessionDataList);
					try {
						for (o.s(); !(r = o.n()).done;) {
							var s = r.value;
							t.push(X(s));
						}
					} catch (t) {
						o.e(t);
					} finally {
						o.f();
					}
					var u, c = i(e.sessionKeyList);
					try {
						for (c.s(); !(u = c.n()).done;) {
							var l = u.value;
							t.push(g(l, !0));
						}
					} catch (t) {
						c.e(t);
					} finally {
						c.f();
					}
					var T, f = i(e.variants.entries());
					try {
						for (f.s(); !(T = f.n()).done;) {
							var E = a(T.value, 2), d = E[0], h = E[1], p = t.length;
							O(t, h), null != n && n.variantProcessor && n.variantProcessor(t, p, t.length - 1, h, d);
						}
					} catch (t) {
						f.e(t);
					} finally {
						f.f();
					}
				}(n, t, e) : function(t, e, n) {
					var r = "", o = "", s = !1;
					if (e.targetDuration && t.push("#EXT-X-TARGETDURATION:".concat(e.targetDuration)), e.lowLatencyCompatibility) {
						var u = e.lowLatencyCompatibility, c = u.canBlockReload, l = u.canSkipUntil, T = u.holdBack, f = u.partHoldBack, E = [];
						E.push("CAN-BLOCK-RELOAD=".concat(c ? "YES" : "NO")), void 0 !== l && E.push("CAN-SKIP-UNTIL=".concat(l)), void 0 !== T && E.push("HOLD-BACK=".concat(T)), void 0 !== f && E.push("PART-HOLD-BACK=".concat(f)), t.push("#EXT-X-SERVER-CONTROL:".concat(E.join(",")));
					}
					e.partTargetDuration && t.push("#EXT-X-PART-INF:PART-TARGET=".concat(e.partTargetDuration)), e.mediaSequenceBase && t.push("#EXT-X-MEDIA-SEQUENCE:".concat(e.mediaSequenceBase)), e.discontinuitySequenceBase && t.push("#EXT-X-DISCONTINUITY-SEQUENCE:".concat(e.discontinuitySequenceBase)), e.playlistType && t.push("#EXT-X-PLAYLIST-TYPE:".concat(e.playlistType)), e.isIFrame && t.push("#EXT-X-I-FRAMES-ONLY"), e.skip > 0 && t.push("#EXT-X-SKIP:SKIPPED-SEGMENTS=".concat(e.skip));
					var d, h = i(e.segments.entries());
					try {
						for (h.s(); !(d = h.n()).done;) {
							var p, I = a(d.value, 2), v = I[0], y = I[1], S = t.length, N = a(R(t, y, r, o, e.version), 3);
							r = N[0], o = N[1], "OUT" === (p = N[2]) ? s = !0 : "IN" === p && s && (s = !1), null != n && n.segmentProcessor && n.segmentProcessor(t, S, t.length - 1, y, v);
						}
					} catch (t) {
						h.e(t);
					} finally {
						h.f();
					}
					"VOD" === e.playlistType && s && t.push("#EXT-X-CUE-IN"), e.prefetchSegments.length > 2 && A.INVALIDPLAYLIST("The server must deliver no more than two prefetch segments");
					var m, X = i(e.prefetchSegments);
					try {
						for (X.s(); !(m = X.n()).done;) {
							var g = m.value;
							g.discontinuity && t.push("#EXT-X-PREFETCH-DISCONTINUITY"), t.push("#EXT-X-PREFETCH:".concat(g.uri));
						}
					} catch (t) {
						X.e(t);
					} finally {
						X.f();
					}
					e.endlist && t.push("#EXT-X-ENDLIST");
					var O, b = i(e.renditionReports);
					try {
						for (b.s(); !(O = b.n()).done;) {
							var P = O.value, D = [];
							D.push("URI=\"".concat(P.uri, "\""), "LAST-MSN=".concat(P.lastMSN)), void 0 !== P.lastPart && D.push("LAST-PART=".concat(P.lastPart)), t.push("#EXT-X-RENDITION-REPORT:".concat(D.join(",")));
						}
					} catch (t) {
						b.e(t);
					} finally {
						b.f();
					}
				}(n, t, e), n.join("\n");
			};
		},
		31: function(t, e, n) {
			function r(t) {
				return r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
					return typeof t;
				} : function(t) {
					return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
				}, r(t);
			}
			function a(t, e) {
				var n = Object.keys(t);
				if (Object.getOwnPropertySymbols) {
					var r = Object.getOwnPropertySymbols(t);
					e && (r = r.filter((function(e) {
						return Object.getOwnPropertyDescriptor(t, e).enumerable;
					}))), n.push.apply(n, r);
				}
				return n;
			}
			function i(t) {
				for (var e = 1; e < arguments.length; e++) {
					var n = null != arguments[e] ? arguments[e] : {};
					e % 2 ? a(Object(n), !0).forEach((function(e) {
						d(t, e, n[e]);
					})) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(n)) : a(Object(n)).forEach((function(e) {
						Object.defineProperty(t, e, Object.getOwnPropertyDescriptor(n, e));
					}));
				}
				return t;
			}
			function o(t, e, n) {
				return e = u(e), function(t, e) {
					if (e && ("object" === r(e) || "function" == typeof e)) return e;
					if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined");
					return function(t) {
						if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
						return t;
					}(t);
				}(t, s() ? Reflect.construct(e, n || [], u(t).constructor) : e.apply(t, n));
			}
			function s() {
				try {
					var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function() {})));
				} catch (t) {}
				return (s = function() {
					return !!t;
				})();
			}
			function u(t) {
				return u = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(t) {
					return t.__proto__ || Object.getPrototypeOf(t);
				}, u(t);
			}
			function c(t, e) {
				if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
				t.prototype = Object.create(e && e.prototype, { constructor: {
					value: t,
					writable: !0,
					configurable: !0
				} }), Object.defineProperty(t, "prototype", { writable: !1 }), e && l(t, e);
			}
			function l(t, e) {
				return l = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t, e) {
					return t.__proto__ = e, t;
				}, l(t, e);
			}
			function T(t, e) {
				for (var n = 0; n < e.length; n++) {
					var r = e[n];
					r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, h(r.key), r);
				}
			}
			function f(t, e, n) {
				return e && T(t.prototype, e), n && T(t, n), Object.defineProperty(t, "prototype", { writable: !1 }), t;
			}
			function E(t, e) {
				if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
			}
			function d(t, e, n) {
				return (e = h(e)) in t ? Object.defineProperty(t, e, {
					value: n,
					enumerable: !0,
					configurable: !0,
					writable: !0
				}) : t[e] = n, t;
			}
			function h(t) {
				var e = function(t, e) {
					if ("object" != r(t) || !t) return t;
					var n = t[Symbol.toPrimitive];
					if (void 0 !== n) {
						var a = n.call(t, "string");
						if ("object" != r(a)) return a;
						throw new TypeError("@@toPrimitive must return a primitive value.");
					}
					return String(t);
				}(t);
				return "symbol" == r(e) ? e : e + "";
			}
			var p = this && this.__createBinding || (Object.create ? function(t, e, n, r) {
				void 0 === r && (r = n);
				var a = Object.getOwnPropertyDescriptor(e, n);
				a && !("get" in a ? !e.__esModule : a.writable || a.configurable) || (a = {
					enumerable: !0,
					get: function() {
						return e[n];
					}
				}), Object.defineProperty(t, r, a);
			} : function(t, e, n, r) {
				void 0 === r && (r = n), t[r] = e[n];
			}), I = this && this.__setModuleDefault || (Object.create ? function(t, e) {
				Object.defineProperty(t, "default", {
					enumerable: !0,
					value: e
				});
			} : function(t, e) {
				t.default = e;
			}), v = this && this.__importStar || function(t) {
				if (t && t.__esModule) return t;
				var e = {};
				if (null != t) for (var n in t) "default" !== n && Object.prototype.hasOwnProperty.call(t, n) && p(e, t, n);
				return I(e, t), e;
			};
			Object.defineProperty(e, "__esModule", { value: !0 }), e.RenditionReport = e.PrefetchSegment = e.PartialSegment = e.Segment = e.MediaPlaylist = e.MasterPlaylist = e.Playlist = e.SpliceInfo = e.DateRange = e.MediaInitializationSection = e.Key = e.SessionData = e.Variant = e.Rendition = void 0;
			var A = v(n(203)), y = f((function t(e) {
				var n = e.type, r = e.uri, a = e.groupId, i = e.language, o = e.assocLanguage, s = e.name, u = e.isDefault, c = e.autoselect, l = e.forced, T = e.instreamId, f = e.characteristics, h = e.channels;
				E(this, t), d(this, "type", void 0), d(this, "uri", void 0), d(this, "groupId", void 0), d(this, "language", void 0), d(this, "assocLanguage", void 0), d(this, "name", void 0), d(this, "isDefault", void 0), d(this, "autoselect", void 0), d(this, "forced", void 0), d(this, "instreamId", void 0), d(this, "characteristics", void 0), d(this, "channels", void 0), A.PARAMCHECK(n, a, s), A.CONDITIONALASSERT(["SUBTITLES" === n, r], ["CLOSED-CAPTIONS" === n, T], ["CLOSED-CAPTIONS" === n, !r], [l, "SUBTITLES" === n]), this.type = n, this.uri = r, this.groupId = a, this.language = i, this.assocLanguage = o, this.name = s, this.isDefault = u, this.autoselect = c, this.forced = l, this.instreamId = T, this.characteristics = f, this.channels = h;
			}));
			e.Rendition = y;
			var S = f((function t(e) {
				var n = e.uri, r = e.isIFrameOnly, a = void 0 !== r && r, i = e.bandwidth, o = e.averageBandwidth, s = e.score, u = e.codecs, c = e.resolution, l = e.frameRate, T = e.hdcpLevel, f = e.allowedCpc, h = e.videoRange, p = e.stableVariantId, I = e.programId, v = e.audio, y = void 0 === v ? [] : v, S = e.video, N = void 0 === S ? [] : S, m = e.subtitles, X = void 0 === m ? [] : m, g = e.closedCaptions, O = void 0 === g ? [] : g, b = e.currentRenditions, R = void 0 === b ? {
					audio: 0,
					video: 0,
					subtitles: 0,
					closedCaptions: 0
				} : b;
				E(this, t), d(this, "uri", void 0), d(this, "isIFrameOnly", void 0), d(this, "bandwidth", void 0), d(this, "averageBandwidth", void 0), d(this, "score", void 0), d(this, "codecs", void 0), d(this, "resolution", void 0), d(this, "frameRate", void 0), d(this, "hdcpLevel", void 0), d(this, "allowedCpc", void 0), d(this, "videoRange", void 0), d(this, "stableVariantId", void 0), d(this, "programId", void 0), d(this, "audio", void 0), d(this, "video", void 0), d(this, "subtitles", void 0), d(this, "closedCaptions", void 0), d(this, "currentRenditions", void 0), A.PARAMCHECK(n, i), this.uri = n, this.isIFrameOnly = a, this.bandwidth = i, this.averageBandwidth = o, this.score = s, this.codecs = u, this.resolution = c, this.frameRate = l, this.hdcpLevel = T, this.allowedCpc = f, this.videoRange = h, this.stableVariantId = p, this.programId = I, this.audio = y, this.video = N, this.subtitles = X, this.closedCaptions = O, this.currentRenditions = R;
			}));
			e.Variant = S;
			var N = f((function t(e) {
				var n = e.id, r = e.value, a = e.uri, i = e.language;
				E(this, t), d(this, "id", void 0), d(this, "value", void 0), d(this, "uri", void 0), d(this, "language", void 0), A.PARAMCHECK(n, r || a), A.ASSERT("SessionData cannot have both value and uri, shoud be either.", !(r && a)), this.id = n, this.value = r, this.uri = a, this.language = i;
			}));
			e.SessionData = N;
			var m = f((function t(e) {
				var n = e.method, r = e.uri, a = e.iv, i = e.format, o = e.formatVersion;
				E(this, t), d(this, "method", void 0), d(this, "uri", void 0), d(this, "iv", void 0), d(this, "format", void 0), d(this, "formatVersion", void 0), A.PARAMCHECK(n), A.CONDITIONALPARAMCHECK(["NONE" !== n, r]), A.CONDITIONALASSERT(["NONE" === n, !(r || a || i || o)]), this.method = n, this.uri = r, this.iv = a, this.format = i, this.formatVersion = o;
			}));
			e.Key = m;
			var X = f((function t(e) {
				var n = e.hint, r = void 0 !== n && n, a = e.uri, i = e.mimeType, o = e.byterange;
				E(this, t), d(this, "hint", void 0), d(this, "uri", void 0), d(this, "mimeType", void 0), d(this, "byterange", void 0), A.PARAMCHECK(a), this.hint = r, this.uri = a, this.mimeType = i, this.byterange = o;
			}));
			e.MediaInitializationSection = X;
			var g = f((function t(e) {
				var n = e.id, r = e.classId, a = e.start, i = e.end, o = e.duration, s = e.plannedDuration, u = e.endOnNext, c = e.attributes, l = void 0 === c ? {} : c;
				E(this, t), d(this, "id", void 0), d(this, "classId", void 0), d(this, "start", void 0), d(this, "end", void 0), d(this, "duration", void 0), d(this, "plannedDuration", void 0), d(this, "endOnNext", void 0), d(this, "attributes", void 0), A.PARAMCHECK(n), A.CONDITIONALPARAMCHECK([!0 === u, r]), A.CONDITIONALASSERT([i, a], [i, a <= i], [o, o >= 0], [s, s >= 0]), this.id = n, this.classId = r, this.start = a, this.end = i, this.duration = o, this.plannedDuration = s, this.endOnNext = u, this.attributes = l;
			}));
			e.DateRange = g;
			var O = f((function t(e) {
				var n = e.type, r = e.duration, a = e.tagName, i = e.value;
				E(this, t), d(this, "type", void 0), d(this, "duration", void 0), d(this, "tagName", void 0), d(this, "value", void 0), A.PARAMCHECK(n), A.CONDITIONALPARAMCHECK(["OUT" === n, r]), A.CONDITIONALPARAMCHECK(["RAW" === n, a]), this.type = n, this.duration = r, this.tagName = a, this.value = i;
			}));
			e.SpliceInfo = O;
			var b = f((function t(e) {
				E(this, t), d(this, "type", void 0), A.PARAMCHECK(e), this.type = e;
			})), R = function(t) {
				function e(t) {
					var n, r = t.isMasterPlaylist, a = t.uri, i = t.version, s = t.independentSegments, u = void 0 !== s && s, c = t.start, l = t.source;
					return E(this, e), d(n = o(this, e, ["playlist"]), "isMasterPlaylist", void 0), d(n, "uri", void 0), d(n, "version", void 0), d(n, "independentSegments", void 0), d(n, "start", void 0), d(n, "source", void 0), A.PARAMCHECK(r), n.isMasterPlaylist = r, n.uri = a, n.version = i, n.independentSegments = u, n.start = c, n.source = l, n;
				}
				return c(e, t), f(e);
			}(b);
			e.Playlist = R;
			var P = function(t) {
				function e() {
					var t, n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
					E(this, e), d(t = o(this, e, [i(i({}, n), {}, { isMasterPlaylist: !0 })]), "variants", void 0), d(t, "currentVariant", void 0), d(t, "sessionDataList", void 0), d(t, "sessionKeyList", void 0);
					var r = n.variants, a = void 0 === r ? [] : r, s = n.currentVariant, u = n.sessionDataList, c = void 0 === u ? [] : u, l = n.sessionKeyList, T = void 0 === l ? [] : l;
					return t.variants = a, t.currentVariant = s, t.sessionDataList = c, t.sessionKeyList = T, t;
				}
				return c(e, t), f(e);
			}(R);
			e.MasterPlaylist = P;
			var D = function(t) {
				function e() {
					var t, n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
					E(this, e), d(t = o(this, e, [i(i({}, n), {}, { isMasterPlaylist: !1 })]), "targetDuration", void 0), d(t, "mediaSequenceBase", void 0), d(t, "discontinuitySequenceBase", void 0), d(t, "endlist", void 0), d(t, "playlistType", void 0), d(t, "isIFrame", void 0), d(t, "segments", void 0), d(t, "prefetchSegments", void 0), d(t, "lowLatencyCompatibility", void 0), d(t, "partTargetDuration", void 0), d(t, "renditionReports", void 0), d(t, "skip", void 0), d(t, "hash", void 0);
					var r = n.targetDuration, a = n.mediaSequenceBase, s = void 0 === a ? 0 : a, u = n.discontinuitySequenceBase, c = void 0 === u ? 0 : u, l = n.endlist, T = void 0 !== l && l, f = n.playlistType, h = n.isIFrame, p = n.segments, I = void 0 === p ? [] : p, v = n.prefetchSegments, A = void 0 === v ? [] : v, y = n.lowLatencyCompatibility, S = n.partTargetDuration, N = n.renditionReports, m = void 0 === N ? [] : N, X = n.skip, g = void 0 === X ? 0 : X, O = n.hash;
					return t.targetDuration = r, t.mediaSequenceBase = s, t.discontinuitySequenceBase = c, t.endlist = T, t.playlistType = f, t.isIFrame = h, t.segments = I, t.prefetchSegments = A, t.lowLatencyCompatibility = y, t.partTargetDuration = S, t.renditionReports = m, t.skip = g, t.hash = O, t;
				}
				return c(e, t), f(e);
			}(R);
			e.MediaPlaylist = D;
			var L = function(t) {
				function e(t) {
					var n, r = t.uri, a = t.mimeType, i = t.data, s = t.duration, u = t.title, c = t.byterange, l = t.discontinuity, T = t.mediaSequenceNumber, f = void 0 === T ? 0 : T, h = t.discontinuitySequence, p = void 0 === h ? 0 : h, I = t.key, v = t.map, A = t.programDateTime, y = t.dateRange, S = t.markers, N = void 0 === S ? [] : S, m = t.parts, X = void 0 === m ? [] : m, g = t.gap;
					return E(this, e), d(n = o(this, e, ["segment"]), "uri", void 0), d(n, "mimeType", void 0), d(n, "data", void 0), d(n, "duration", void 0), d(n, "title", void 0), d(n, "byterange", void 0), d(n, "discontinuity", void 0), d(n, "mediaSequenceNumber", void 0), d(n, "discontinuitySequence", void 0), d(n, "key", void 0), d(n, "map", void 0), d(n, "programDateTime", void 0), d(n, "dateRange", void 0), d(n, "markers", void 0), d(n, "parts", void 0), d(n, "gap", void 0), n.uri = r, n.mimeType = a, n.data = i, n.duration = s, n.title = u, n.byterange = c, n.discontinuity = l, n.mediaSequenceNumber = f, n.discontinuitySequence = p, n.key = I, n.map = v, n.programDateTime = A, n.dateRange = y, n.markers = N, n.parts = X, n.gap = g, n;
				}
				return c(e, t), f(e);
			}(b);
			e.Segment = L;
			var C = function(t) {
				function e(t) {
					var n, r = t.hint, a = void 0 !== r && r, i = t.uri, s = t.duration, u = t.independent, c = t.byterange, l = t.gap;
					return E(this, e), d(n = o(this, e, ["part"]), "hint", void 0), d(n, "uri", void 0), d(n, "duration", void 0), d(n, "independent", void 0), d(n, "byterange", void 0), d(n, "gap", void 0), A.PARAMCHECK(i), n.hint = a, n.uri = i, n.duration = s, n.independent = u, n.duration = s, n.byterange = c, n.gap = l, n;
				}
				return c(e, t), f(e);
			}(b);
			e.PartialSegment = C;
			var M = function(t) {
				function e(t) {
					var n, r = t.uri, a = t.discontinuity, i = t.mediaSequenceNumber, s = void 0 === i ? 0 : i, u = t.discontinuitySequence, c = void 0 === u ? 0 : u, l = t.key;
					return E(this, e), d(n = o(this, e, ["prefetch"]), "uri", void 0), d(n, "discontinuity", void 0), d(n, "mediaSequenceNumber", void 0), d(n, "discontinuitySequence", void 0), d(n, "key", void 0), A.PARAMCHECK(r), n.uri = r, n.discontinuity = a, n.mediaSequenceNumber = s, n.discontinuitySequence = c, n.key = l, n;
				}
				return c(e, t), f(e);
			}(b);
			e.PrefetchSegment = M;
			var U = f((function t(e) {
				var n = e.uri, r = e.lastMSN, a = e.lastPart;
				E(this, t), d(this, "uri", void 0), d(this, "lastMSN", void 0), d(this, "lastPart", void 0), A.PARAMCHECK(n), this.uri = n, this.lastMSN = r, this.lastPart = a;
			}));
			e.RenditionReport = U;
		},
		203: (t, e) => {
			function n(t, e) {
				return function(t) {
					if (Array.isArray(t)) return t;
				}(t) || function(t, e) {
					var n = null == t ? null : "undefined" != typeof Symbol && t[Symbol.iterator] || t["@@iterator"];
					if (null != n) {
						var r, a, i, o, s = [], u = !0, c = !1;
						try {
							if (i = (n = n.call(t)).next, 0 === e) {
								if (Object(n) !== n) return;
								u = !1;
							} else for (; !(u = (r = i.call(n)).done) && (s.push(r.value), s.length !== e); u = !0);
						} catch (t) {
							c = !0, a = t;
						} finally {
							try {
								if (!u && null != n.return && (o = n.return(), Object(o) !== o)) return;
							} finally {
								if (c) throw a;
							}
						}
						return s;
					}
				}(t, e) || a(t, e) || function() {
					throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
				}();
			}
			function r(t, e) {
				var n = "undefined" != typeof Symbol && t[Symbol.iterator] || t["@@iterator"];
				if (!n) {
					if (Array.isArray(t) || (n = a(t)) || e && t && "number" == typeof t.length) {
						n && (t = n);
						var r = 0, i = function() {};
						return {
							s: i,
							n: function() {
								return r >= t.length ? { done: !0 } : {
									done: !1,
									value: t[r++]
								};
							},
							e: function(t) {
								throw t;
							},
							f: i
						};
					}
					throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
				}
				var o, s = !0, u = !1;
				return {
					s: function() {
						n = n.call(t);
					},
					n: function() {
						var t = n.next();
						return s = t.done, t;
					},
					e: function(t) {
						u = !0, o = t;
					},
					f: function() {
						try {
							s || null == n.return || n.return();
						} finally {
							if (u) throw o;
						}
					}
				};
			}
			function a(t, e) {
				if (t) {
					if ("string" == typeof t) return i(t, e);
					var n = Object.prototype.toString.call(t).slice(8, -1);
					return "Object" === n && t.constructor && (n = t.constructor.name), "Map" === n || "Set" === n ? Array.from(t) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? i(t, e) : void 0;
				}
			}
			function i(t, e) {
				(null == e || e > t.length) && (e = t.length);
				for (var n = 0, r = new Array(e); n < e; n++) r[n] = t[n];
				return r;
			}
			Object.defineProperty(e, "__esModule", { value: !0 }), e.getOptions = e.setOptions = e.hasOwnProp = e.formatDate = e.camelify = e.splitByCommaWithPreservingQuotes = e.trim = e.splitAt = e.tryCatch = e.byteSequenceToHex = e.hexToByteSequence = e.toNumber = e.INVALIDPLAYLIST = e.CONDITIONALPARAMCHECK = e.PARAMCHECK = e.CONDITIONALASSERT = e.ASSERT = e.THROW = void 0;
			var o = {};
			function s(t) {
				if (o.strictMode) throw t;
				o.silent || console.error(t.message);
			}
			e.THROW = s, e.ASSERT = function(t) {
				for (var e = arguments.length, a = new Array(e > 1 ? e - 1 : 0), i = 1; i < e; i++) a[i - 1] = arguments[i];
				var o, u = r(a.entries());
				try {
					for (u.s(); !(o = u.n()).done;) {
						var c = n(o.value, 2), l = c[0];
						c[1] || s(new Error("".concat(t, " : Failed at [").concat(l, "]")));
					}
				} catch (t) {
					u.e(t);
				} finally {
					u.f();
				}
			}, e.CONDITIONALASSERT = function() {
				for (var t = arguments.length, e = new Array(t), a = 0; a < t; a++) e[a] = arguments[a];
				var i, o = r(e.entries());
				try {
					for (o.s(); !(i = o.n()).done;) {
						var u = n(i.value, 2), c = u[0], l = n(u[1], 2), T = l[0], f = l[1];
						T && (f || s(new Error("Conditional Assert : Failed at [".concat(c, "]"))));
					}
				} catch (t) {
					o.e(t);
				} finally {
					o.f();
				}
			}, e.PARAMCHECK = function() {
				for (var t = arguments.length, e = new Array(t), a = 0; a < t; a++) e[a] = arguments[a];
				var i, o = r(e.entries());
				try {
					for (o.s(); !(i = o.n()).done;) {
						var u = n(i.value, 2), c = u[0];
						void 0 === u[1] && s(new Error("Param Check : Failed at [".concat(c, "]")));
					}
				} catch (t) {
					o.e(t);
				} finally {
					o.f();
				}
			}, e.CONDITIONALPARAMCHECK = function() {
				for (var t = arguments.length, e = new Array(t), a = 0; a < t; a++) e[a] = arguments[a];
				var i, o = r(e.entries());
				try {
					for (o.s(); !(i = o.n()).done;) {
						var u = n(i.value, 2), c = u[0], l = n(u[1], 2), T = l[0], f = l[1];
						T && void 0 === f && s(new Error("Conditional Param Check : Failed at [".concat(c, "]")));
					}
				} catch (t) {
					o.e(t);
				} finally {
					o.f();
				}
			}, e.INVALIDPLAYLIST = function(t) {
				s(new Error("Invalid Playlist : ".concat(t)));
			}, e.toNumber = function(t) {
				var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 10;
				if ("number" == typeof t) return t;
				var n = 10 === e ? Number.parseFloat(t) : Number.parseInt(t, e);
				return Number.isNaN(n) ? 0 : n;
			}, e.hexToByteSequence = function(t) {
				(t.startsWith("0x") || t.startsWith("0X")) && (t = t.slice(2));
				for (var e = new Uint8Array(t.length / 2), n = 0; n < t.length; n += 2) e[n / 2] = Number.parseInt(t.slice(n, n + 2), 16);
				return e;
			}, e.byteSequenceToHex = function(t) {
				var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0, n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : t.byteLength;
				n <= e && s(new Error("end must be larger than start : start=".concat(e, ", end=").concat(n)));
				for (var r = [], a = e; a < n; a++) r.push("0".concat((255 & t[a]).toString(16).toUpperCase()).slice(-2));
				return "0x".concat(r.join(""));
			}, e.tryCatch = function(t, e) {
				try {
					return t();
				} catch (t) {
					return e(t);
				}
			}, e.splitAt = function(t, e) {
				for (var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0, r = -1, a = 0, i = 0; a < t.length; a++) if (t[a] === e) {
					if (i++ === n) return [t.slice(0, a), t.slice(a + 1)];
					r = a;
				}
				return -1 !== r ? [t.slice(0, r), t.slice(r + 1)] : [t];
			}, e.trim = function(t) {
				var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : " ";
				return t ? (t = t.trim(), " " === e || (t.startsWith(e) && (t = t.slice(1)), t.endsWith(e) && (t = t.slice(0, -1))), t) : t;
			}, e.splitByCommaWithPreservingQuotes = function(t) {
				for (var e = [], n = !0, r = 0, a = [], i = 0; i < t.length; i++) {
					var o = t[i];
					n && "," === o ? (e.push(t.slice(r, i).trim()), r = i + 1) : "\"" !== o && "'" !== o || (n ? (a.push(o), n = !1) : o === a.at(-1) ? (a.pop(), n = !0) : a.push(o));
				}
				return e.push(t.slice(r).trim()), e;
			}, e.camelify = function(t) {
				var e, n = [], a = !1, i = r(t);
				try {
					for (i.s(); !(e = i.n()).done;) {
						var o = e.value;
						"-" !== o && "_" !== o ? a ? (n.push(o.toUpperCase()), a = !1) : n.push(o.toLowerCase()) : a = !0;
					}
				} catch (t) {
					i.e(t);
				} finally {
					i.f();
				}
				return n.join("");
			}, e.formatDate = function(t) {
				var e = t.getUTCFullYear(), n = ("0" + (t.getUTCMonth() + 1)).slice(-2), r = ("0" + t.getUTCDate()).slice(-2), a = ("0" + t.getUTCHours()).slice(-2), i = ("0" + t.getUTCMinutes()).slice(-2), o = ("0" + t.getUTCSeconds()).slice(-2), s = ("00" + t.getUTCMilliseconds()).slice(-3);
				return "".concat(e, "-").concat(n, "-").concat(r, "T").concat(a, ":").concat(i, ":").concat(o, ".").concat(s, "Z");
			}, e.hasOwnProp = function(t, e) {
				return Object.hasOwn(t, e);
			}, e.setOptions = function() {
				var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
				o = Object.assign(o, t);
			}, e.getOptions = function() {
				return Object.assign({}, o);
			};
		},
		73: function(t, e, n) {
			var r = this && this.__createBinding || (Object.create ? function(t, e, n, r) {
				void 0 === r && (r = n);
				var a = Object.getOwnPropertyDescriptor(e, n);
				a && !("get" in a ? !e.__esModule : a.writable || a.configurable) || (a = {
					enumerable: !0,
					get: function() {
						return e[n];
					}
				}), Object.defineProperty(t, r, a);
			} : function(t, e, n, r) {
				void 0 === r && (r = n), t[r] = e[n];
			}), a = this && this.__setModuleDefault || (Object.create ? function(t, e) {
				Object.defineProperty(t, "default", {
					enumerable: !0,
					value: e
				});
			} : function(t, e) {
				t.default = e;
			}), i = this && this.__importStar || function(t) {
				if (t && t.__esModule) return t;
				var e = {};
				if (null != t) for (var n in t) "default" !== n && Object.prototype.hasOwnProperty.call(t, n) && r(e, t, n);
				return a(e, t), e;
			}, o = this && this.__importDefault || function(t) {
				return t && t.__esModule ? t : { default: t };
			};
			Object.defineProperty(e, "__esModule", { value: !0 }), e.setOptions = e.getOptions = e.types = e.stringify = e.parse = void 0;
			const s = n(203);
			Object.defineProperty(e, "getOptions", {
				enumerable: !0,
				get: function() {
					return s.getOptions;
				}
			}), Object.defineProperty(e, "setOptions", {
				enumerable: !0,
				get: function() {
					return s.setOptions;
				}
			});
			const u = o(n(377));
			e.parse = u.default;
			const c = o(n(887));
			e.stringify = c.default;
			const l = i(n(31));
			e.types = l;
		}
	}, e = {}, function n(r) {
		var a = e[r];
		if (void 0 !== a) return a.exports;
		var i = e[r] = { exports: {} };
		return t[r].call(i.exports, i, i.exports, n), i.exports;
	}(73);
	var t, e;
})();

//#endregion
//#region ../libs_drpy/dsQueue.js
/**
* 任务队列管理类
* 用于控制并发任务的执行，支持设置最大并发数
* 
* @example
* const queue = new DsQueue(3); // 最大并发数为3
* queue.add(() => fetch('/api/data1'));
* queue.add(() => fetch('/api/data2'));
* await queue.onIdle(); // 等待所有任务完成
*/
var DsQueue = class {
	/**
	* 构造函数
	* @param {number} concurrency - 最大并发数，默认为1
	*/
	constructor(concurrency = 1) {
		this.concurrency = concurrency;
		this.queue = [];
		this.activeCount = 0;
	}
	/**
	* 执行单个任务
	* @param {Function} task - 要执行的异步任务函数
	* @private
	*/
	async runTask(task) {
		this.activeCount++;
		try {
			await task();
		} catch (err) {
			console.log("Task failed:", err);
		} finally {
			this.activeCount--;
			this.next();
		}
	}
	/**
	* 执行队列中的下一个任务
	* 如果当前活跃任务数小于最大并发数且队列中有待执行任务，则执行下一个任务
	* @private
	*/
	next() {
		if (this.queue.length > 0 && this.activeCount < this.concurrency) {
			const nextTask = this.queue.shift();
			this.runTask(nextTask);
		}
	}
	/**
	* 添加任务到队列
	* @param {Function} task - 要添加的异步任务函数
	*/
	add(task) {
		this.queue.push(task);
		this.next();
	}
	/**
	* 等待所有任务完成
	* @returns {Promise<void>} 当队列为空且没有活跃任务时resolve
	*/
	onIdle() {
		return new Promise((resolve) => {
			const interval = setInterval(() => {
				if (this.queue.length === 0 && this.activeCount === 0) {
					clearInterval(interval);
					resolve();
				}
			}, 10);
		});
	}
};

//#endregion
//#region ../utils/createAxiosAgent.js
/**
* 创建配置了代理的 axios 实例
* @typedef {Object} CreateAxiosOptions
* @property {number} [maxSockets=64] - 最大连接数，默认 64
* @property {number} [timeout=30000] - 超时时间(毫秒)，默认 30000
* @property {boolean} [rejectUnauthorized=false] - 是否拒绝未经授权的证书，默认 false(忽略证书错误)
*/
/**
* 创建配置了代理的 axios 实例
* @param {CreateAxiosOptions} [options={}] - 配置选项
* @returns {import('axios').AxiosInstance} 配置好的 axios 实例
*/
function createAxiosInstance(options = {}) {
	const { maxSockets = 64, timeout = 3e4, rejectUnauthorized = false } = options;
	const AgentOption = {
		keepAlive: true,
		maxSockets,
		timeout
	};
	const httpAgent = new http.Agent(AgentOption);
	const httpsAgentOptions = { ...AgentOption };
	if (rejectUnauthorized === false) {
		httpsAgentOptions.rejectUnauthorized = false;
	}
	const httpsAgent = new https.Agent(httpsAgentOptions);
	const _axios = axios$1.create({
		httpAgent,
		httpsAgent
	});
	_axios.interceptors.request.use(async (config) => {
		if (config && config.headers) {
			const headers = config.headers;
			const keys = Object.keys(headers);
			for (const key of keys) {
				if (key.toLowerCase() === "user-agent" && headers[key] === "RemoveUserAgent") {
					delete headers[key];
					break;
				}
			}
		}
		try {
			const proxy = await getSystemProxy();
			if (proxy) {
				const agent = new import_dist$1.HttpsProxyAgent(proxy);
				config.httpsAgent = agent;
				config.proxy = false;
			} else {
				let urlObj;
				try {
					urlObj = new URL(config.url, config.baseURL);
				} catch (e) {}
				if (urlObj && urlObj.hostname && !/^(\d{1,3}\.){3}\d{1,3}$/.test(urlObj.hostname) && urlObj.hostname !== "localhost") {
					const ip = await resolveDoh(urlObj.hostname);
					if (ip && ip !== urlObj.hostname) {
						let hasHost = false;
						const headerKeys = Object.keys(config.headers || {});
						for (const k of headerKeys) {
							if (k.toLowerCase() === "host") {
								hasHost = true;
								break;
							}
						}
						if (!hasHost) {
							config.headers = config.headers || {};
							config.headers["Host"] = urlObj.hostname;
						}
						urlObj.hostname = ip;
						config.url = urlObj.toString();
						if (config.baseURL) {
							delete config.baseURL;
						}
					}
				}
			}
		} catch (e) {}
		return config;
	});
	return _axios;
}

//#endregion
//#region ../libs_drpy/hikerBatchFetch.js
/**
* Hiker批量请求工具
* 
* 功能：提供高性能的批量HTTP请求功能，支持并发控制和错误处理
* 包含两种实现方式：基于fastq和基于DsQueue的批量请求
* 
* @author drpy
* @version 1.0.0
*/
const maxSockets$1 = 16;
const _axios$1 = createAxiosInstance({ maxSockets: maxSockets$1 });
/**
* 异步睡眠函数
* 用于在批量请求间添加延迟，避免过于频繁的请求
* 
* @param {number} ms - 睡眠时间（毫秒）
* @returns {Promise<void>} Promise对象
*/
async function sleep$1(ms) {
	return new Promise((resolve) => {
		setTimeout(() => {
			resolve();
		}, ms);
	});
}
/**
* 基于fastq的批量请求函数（版本3）
* 支持分批处理，适合大量请求的场景
* 
* @param {Array} items - 请求项数组，每项包含url和options
* @param {number} maxWorkers - 最大并发工作线程数，默认16
* @param {number} timeoutConfig - 请求超时时间（毫秒），默认5000
* @param {number} batchSize - 批处理大小，默认16
* @returns {Promise<Array>} 返回结果数组，成功返回响应数据，失败返回null
*/
const batchFetch3 = async (items, maxWorkers = 16, timeoutConfig = 5e3, batchSize = 16) => {
	let t1 = new Date().getTime();
	const timeout = timeoutConfig;
	/**
	* 任务处理工作函数
	* 处理单个HTTP请求任务
	* 
	* @param {Object} task - 任务对象
	* @param {Object} task.item - 请求项，包含url和options
	* @param {number} task.index - 请求在原数组中的索引
	* @param {Array} task.results - 结果数组引用
	* @param {Function} callback - 任务完成回调函数
	*/
	const worker = async (task, callback) => {
		const { item, index, results } = task;
		try {
			const response = await _axios$1(Object.assign({}, item?.options, {
				url: item.url,
				method: item?.options?.method || "GET",
				timeout: item?.options?.timeout || timeout,
				responseType: "text"
			}));
			results[index] = response.data;
			callback(null);
		} catch (error) {
			console.log(`[batchFetch][error] ${item.url}: ${error}`);
			results[index] = null;
			callback(null);
		}
	};
	const results = new Array(items.length).fill(null);
	const queue = (0, import_queue.default)(worker, maxWorkers);
	for (let i = 0; i < items.length; i += batchSize) {
		const batch = items.slice(i, i + batchSize);
		const tasks = batch.map((item, index) => {
			return new Promise((resolve) => {
				queue.push({
					item,
					index: i + index,
					results
				}, resolve);
			});
		});
		await Promise.all(tasks);
	}
	let t2 = new Date().getTime();
	console.log(`fastq 批量请求 ${items[0].url} 等 ${items.length}个地址 耗时${t2 - t1}毫秒:`);
	return results;
};
/**
* 基于DsQueue的批量请求函数（版本4）
* 使用自定义队列实现，适合中等规模的并发请求
* 
* @param {Array} items - 请求项数组，每项包含url和options
* @param {number} maxWorkers - 最大并发工作线程数，默认5
* @param {number} timeoutConfig - 请求超时时间（毫秒），默认5000
* @returns {Promise<Array>} 返回结果数组，成功返回响应数据，失败返回null
*/
const batchFetch4 = async (items, maxWorkers = 5, timeoutConfig = 5e3) => {
	let t1 = new Date().getTime();
	const timeout = timeoutConfig;
	const results = new Array(items.length).fill(null);
	const queue = new DsQueue(maxWorkers);
	items.forEach((item, index) => {
		queue.add(async () => {
			try {
				const response = await _axios$1(Object.assign({}, item?.options, {
					url: item.url,
					method: item?.options?.method || "GET",
					timeout: item?.options?.timeout || timeout,
					responseType: "text"
				}));
				results[index] = response.data;
			} catch (error) {
				console.log(`[batchFetch][error] ${item.url}: ${error}`);
				results[index] = null;
			}
		});
	});
	await queue.onIdle();
	let t2 = new Date().getTime();
	console.log(`DsQueue 批量请求 ${items[0].url} 等 ${items.length}个地址 耗时${t2 - t1}毫秒:`);
	return results;
};

//#endregion
//#region ../libs_drpy/drpyInject.js
globalThis.batchFetch = batchFetch3;
globalThis.axios = axios$1;
globalThis.axiosX = pt;
globalThis.hlsParser = e;
globalThis.qs = import_lib$2.default;
const maxSockets = 64;
const _axios = createAxiosInstance({ maxSockets });
let $axios;
const dsReqLib = Number(process.env.DS_REQ_LIB) || 0;
console.log("[drpyInject]DS/CAT源底层req实现 DS_REQ_LIB (0 fetch 1 axios):", dsReqLib);
if (dsReqLib === 0) {
	$axios = createHttpsInstance();
	$axios.useRequestInterceptor(RequestInterceptor, (error) => {
		return Promise.reject(error);
	});
} else {
	$axios = _axios;
	$axios.interceptors.request.use(RequestInterceptor, (error) => {
		return Promise.reject(error);
	});
}
function RequestInterceptor(config) {
	const show_curl = Number(ENV.get("show_curl", "0")) === 1;
	const curlCommand = generateCurlCommand(config);
	if (show_curl) {
		console.log(`Generated cURL command:\n${curlCommand}`);
	}
	return config;
}
/**
* 生成 curl 命令
* @param {Object} config Axios 请求配置
* @returns {string} curl 命令
*/
function generateCurlCommand(config) {
	const { method, url, headers, data } = config;
	let curlCommand = `curl -X ${method.toUpperCase()} '${url}'`;
	if (headers) {
		for (const [key, value] of Object.entries(headers)) {
			curlCommand += ` -H '${key}: ${value}'`;
		}
	}
	if (data) {
		if (typeof data === "object") {
			curlCommand += ` -d '${JSON.stringify(data)}'`;
		} else {
			curlCommand += ` -d '${data}'`;
		}
	}
	return curlCommand;
}
const confs = {};
function initLocalStorage(storage) {
	if (!_.has(confs, storage)) {
		if (!fs.existsSync("local")) {
			fs.mkdirSync("local");
		}
		const storagePath = "local/js_" + storage;
		if (!fs.existsSync(storagePath)) {
			fs.writeFileSync(storagePath, "{}");
			confs[storage] = {};
		} else {
			confs[storage] = JSON.parse(fs.readFileSync(storagePath).toString());
		}
	}
}
function localGet(storage, key) {
	initLocalStorage(storage);
	return _.get(confs[storage], key, "");
}
function localSet(storage, key, value) {
	initLocalStorage(storage);
	confs[storage][key] = value;
	fs.writeFileSync("local/js_" + storage, JSON.stringify(confs[storage]));
}
function localDelete(storage, key) {
	initLocalStorage(storage);
	delete confs[storage][key];
	fs.writeFileSync("local/js_" + storage, JSON.stringify(confs[storage]));
}
async function request$1(url, opt = {}) {
	const { data: _data = null, body = "", postType = null, buffer: returnBuffer = 0, timeout = 5e3, redirect = 1, encoding: userEncoding = "", headers: userHeaders = {}, method = "get", proxy = false, stream = null } = opt;
	let data = body || _data;
	let encoding = userEncoding;
	const headers = keysToLowerCase$1({
		...userHeaders,
		...postType === "form" && { "Content-Type": "application/x-www-form-urlencoded" },
		...postType === "form-data" && { "Content-Type": "multipart/form-data" }
	});
	if (!Object.keys(headers).includes("accept")) {
		headers["accept"] = "*/*";
	}
	if (headers["content-type"] && /charset=(.*)/i.test(headers["content-type"])) {
		encoding = headers["content-type"].match(/charset=(.*)/i)[1];
	}
	let effectivePostType = postType;
	if (!effectivePostType) {
		const contentTypeKey = Object.keys(headers).find((key) => key.toLowerCase() === "content-type");
		if (contentTypeKey && headers[contentTypeKey]) {
			const contentType = headers[contentTypeKey].toLowerCase();
			if (contentType.includes("application/x-www-form-urlencoded")) {
				effectivePostType = "form";
			} else if (contentType.includes("multipart/form-data")) {
				effectivePostType = "form-data";
			}
		}
	}
	if (effectivePostType === "form" && data != null && typeof data === "object") {
		data = import_lib$2.default.stringify(data, { encode: false });
	} else if (effectivePostType === "form-data" && data != null && typeof data === "object") {
		data = toFormData(data);
	}
	if (data) {
		console.log(`[req] postType:${effectivePostType},data:`, data);
	}
	const agent = proxy ? import_tunnel.httpsOverHttp({ proxy: {
		host: "127.0.0.1",
		port: 7890
	} }) : httpsAgent;
	const respType = returnBuffer ? "arraybuffer" : "arraybuffer";
	if (ENV.get("show_req", "0") === "1") {
		console.log(`req[${method}]: ${url} headers: ${JSON.stringify(headers)} data: ${JSON.stringify(data)}`);
	}
	try {
		const resp = await $axios({
			url: typeof url === "object" ? url.url : url,
			method,
			headers,
			data,
			timeout,
			responseType: respType,
			maxRedirects: redirect ? undefined : 0,
			httpsAgent: agent
		});
		let responseData = resp.data;
		const resHeader = Object.fromEntries(Object.entries(resp.headers).map(([key, value]) => [key, Array.isArray(value) ? value.length === 1 ? value[0] : value : value]));
		if (!returnBuffer) {
			const buffer = Buffer.from(responseData);
			if (encoding && encoding.toLowerCase() !== "utf-8") {
				responseData = import_lib$1.default.decode(buffer, encoding);
			} else {
				responseData = buffer.toString("utf-8");
			}
		} else if (returnBuffer === 1) {
			return {
				code: resp.status,
				headers: resHeader,
				content: responseData
			};
		} else if (returnBuffer === 2) {
			return {
				code: resp.status,
				headers: resHeader,
				content: Buffer.from(responseData).toString("base64")
			};
		} else if (returnBuffer === 3 && stream) {
			if (stream.onResp) await stream.onResp({
				code: resp.status,
				headers: resHeader
			});
			if (stream.onData) {
				responseData.on("data", async (chunk) => {
					await stream.onData(chunk);
				});
				responseData.on("end", async () => {
					if (stream.onDone) await stream.onDone();
				});
			} else if (stream.onDone) {
				await stream.onDone();
			}
			return "stream...";
		}
		return {
			code: resp.status,
			headers: resHeader,
			content: responseData
		};
	} catch (error) {
		const { response: resp } = error;
		console.error(`[request] Request error: ${error.message}`);
		let responseData = "";
		try {
			const buffer = Buffer.from(resp.data);
			if (encoding && encoding.toLowerCase() !== "utf-8") {
				responseData = import_lib$1.default.decode(buffer, encoding);
			} else {
				responseData = buffer.toString("utf-8");
			}
		} catch (e) {
			console.error(`[request] get error response Text failed: ${e.message}`);
		}
		return {
			code: resp?.status || 500,
			headers: resp?.headers || {},
			content: responseData || ""
		};
	}
}
function base64EncodeBuf(buff, urlsafe = false) {
	return buff.toString(urlsafe ? "base64url" : "base64");
}
function base64Encode(text, urlsafe = false) {
	return base64EncodeBuf(Buffer.from(text, "utf8"), urlsafe);
}
function base64DecodeBuf(text) {
	return Buffer.from(text, "base64");
}
function base64Decode$1(text) {
	return base64DecodeBuf(text).toString("utf8");
}
function responseBase64(data) {
	const buffer = Buffer.from(data, "binary");
	return buffer.toString("base64");
}
function md5(text) {
	return crypto$1.createHash("md5").update(Buffer.from(text, "utf8")).digest("hex");
}
function aes(mode, encrypt, input, inBase64, key, iv, outBase64) {
	if (iv.length == 0) iv = null;
	try {
		if (mode.startsWith("AES/CBC")) {
			switch (key.length) {
				case 16:
					mode = "aes-128-cbc";
					break;
				case 32:
					mode = "aes-256-cbc";
					break;
			}
		} else if (mode.startsWith("AES/ECB")) {
			switch (key.length) {
				case 16:
					mode = "aes-128-ecb";
					break;
				case 32:
					mode = "aes-256-ecb";
					break;
			}
		}
		const inBuf = inBase64 ? base64DecodeBuf(input) : Buffer.from(input, "utf8");
		let keyBuf = Buffer.from(key);
		if (keyBuf.length < 16) keyBuf = Buffer.concat([keyBuf], 16);
		let ivBuf = iv == null ? Buffer.alloc(0) : Buffer.from(iv);
		if (iv != null && ivBuf.length < 16) ivBuf = Buffer.concat([ivBuf], 16);
		const cipher = encrypt ? crypto$1.createCipheriv(mode, keyBuf, ivBuf) : crypto$1.createDecipheriv(mode, keyBuf, ivBuf);
		const outBuf = Buffer.concat([cipher.update(inBuf), cipher.final()]);
		return outBase64 ? base64EncodeBuf(outBuf) : outBuf.toString("utf8");
	} catch (error) {
		console.log("[aes]", error);
	}
	return "";
}
function des(mode, encrypt, input, inBase64, key, iv, outBase64) {
	try {
		if (mode.startsWith("DESede/CBC")) {
			switch (key.length) {
				case 16:
					mode = "des-ede-cbc";
					break;
				case 24:
					mode = "des-ede3-cbc";
					break;
			}
		}
		const inBuf = inBase64 ? base64DecodeBuf(input) : Buffer.from(input, "utf8");
		let keyBuf = Buffer.from(key);
		if (keyBuf.length < 16) keyBuf = Buffer.concat([keyBuf], 16);
		let ivBuf = iv == null ? Buffer.alloc(0) : Buffer.from(iv);
		if (iv != null && ivBuf.length < 8) ivBuf = Buffer.concat([ivBuf], 8);
		const cipher = encrypt ? crypto$1.createCipheriv(mode, keyBuf, ivBuf) : crypto$1.createDecipheriv(mode, keyBuf, ivBuf);
		const outBuf = Buffer.concat([cipher.update(inBuf), cipher.final()]);
		return outBase64 ? base64EncodeBuf(outBuf) : outBuf.toString("utf8");
	} catch (error) {
		console.log("[des]", error);
	}
	return "";
}
function rsa(mode, pub, encrypt, input, inBase64, key, outBase64) {
	try {
		let pd = undefined;
		const keyObj = pub ? crypto$1.createPublicKey(key) : crypto$1.createPrivateKey(key);
		if (!keyObj.asymmetricKeyDetails || !keyObj.asymmetricKeyDetails.modulusLength) return "";
		const moduleLen = keyObj.asymmetricKeyDetails.modulusLength;
		let blockLen = moduleLen / 8;
		switch (mode) {
			case "RSA/PKCS1":
				pd = crypto$1.constants.RSA_PKCS1_PADDING;
				blockLen = encrypt ? blockLen - 11 : blockLen;
				break;
			case "RSA/None/NoPadding":
				pd = crypto$1.constants.RSA_NO_PADDING;
				break;
			case "RSA/None/OAEPPadding":
				pd = crypto$1.constants.RSA_PKCS1_OAEP_PADDING;
				blockLen = encrypt ? blockLen - 41 : blockLen;
				break;
			default: throw Error("not support " + mode);
		}
		let inBuf = inBase64 ? base64DecodeBuf(input) : Buffer.from(input, "utf8");
		let bufIdx = 0;
		let outBuf = Buffer.alloc(0);
		while (bufIdx < inBuf.length) {
			const bufEndIdx = Math.min(bufIdx + blockLen, inBuf.length);
			let tmpInBuf = inBuf.subarray(bufIdx, bufEndIdx);
			if (pd == crypto$1.constants.RSA_NO_PADDING) {
				if (tmpInBuf.length < blockLen) {
					tmpInBuf = Buffer.concat([Buffer.alloc(128 - tmpInBuf.length), tmpInBuf]);
				}
			}
			let tmpBuf;
			if (pub) {
				tmpBuf = encrypt ? crypto$1.publicEncrypt({
					key: keyObj,
					padding: pd
				}, tmpInBuf) : crypto$1.publicDecrypt({
					key: keyObj,
					padding: pd
				}, tmpInBuf);
			} else {
				tmpBuf = encrypt ? crypto$1.privateEncrypt({
					key: keyObj,
					padding: pd
				}, tmpInBuf) : crypto$1.privateDecrypt({
					key: keyObj,
					padding: pd
				}, tmpInBuf);
			}
			bufIdx = bufEndIdx;
			outBuf = Buffer.concat([outBuf, tmpBuf]);
		}
		return outBase64 ? base64EncodeBuf(outBuf) : outBuf.toString("utf8");
	} catch (error) {
		console.log("[rsa]", error);
	}
	return "";
}
var charStr = "abacdefghjklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789";
function randStr(len, withNum) {
	var _str = "";
	let containsNum = withNum === undefined ? true : withNum;
	for (var i = 0; i < len; i++) {
		let idx = _.random(0, containsNum ? charStr.length - 1 : charStr.length - 11);
		_str += charStr[idx];
	}
	return _str;
}
globalThis.local = {
	get: function(storage, key) {
		return localGet(storage, key);
	},
	set: function(storage, key, val) {
		localSet(storage, key, val);
	},
	delete: function(storage, key) {
		localDelete(storage, key);
	}
};
globalThis.md5X = md5;
globalThis.rsaX = rsa;
globalThis.aesX = aes;
globalThis.desX = des;
globalThis.req = request$1;
globalThis.responseBase64 = responseBase64;
/**
* Constructor for the JSProxyStream class.
*
* @constructor
*/
globalThis.JSProxyStream = function() {
	/**
	* Set proxy stream http code & headers
	*
	* @param {Number} code - http status code
	* @param {Map} headers - http response headers
	*/
	this.head = async function(code, headers) {};
	/**
	* Writes the given buffer.
	*
	* @param {ArrayBuffer} buf - the buffer to write
	* @return {Number} 1 if the write was successful, 0 stream read is paused, -1 strean was closed
	*/
	this.write = async function(buf) {
		return 1;
	};
	/**
	* Stream will be closed.
	*/
	this.done = async function() {};
	/**
	* Stream will be closed cause by error happened.
	*/
	this.error = async function(err) {};
};
/**
* Creates a new JSFile object with the specified path.
*
* @param {string} path - The path to the file.
* @return {JSFile} - The JSFile object.
*/
globalThis.JSFile = function(path) {
	this._path = path;
	this.fd = null;
	/**
	* Returns the raw path of the object.
	*
	* @return {string}  The raw path of the file. Runtime path is not same with _path.
	*/
	this.path = async function() {
		return this._path;
	};
	/**
	* Opens a file with the specified mode.
	*
	* @param {string} mode - The mode in which to open the file. Can be 'r' for read, 'w' for write, or 'a' for append.
	* @return {boolean} Returns true if the file was successfully opened, false otherwise.
	*/
	this.open = async function(mode) {
		const file = this;
		return await new Promise((resolve, reject) => {
			if (mode == "w" || mode == "a") {
				const directoryPath = dirname(file._path);
				if (!fs.existsSync(directoryPath)) {
					fs.mkdirSync(directoryPath, { recursive: true });
				}
			}
			fs.open(file._path, mode, null, (e, f) => {
				if (!e) file.fd = f;
				if (file.fd) resolve(true);
				else resolve(false);
			});
		});
	};
	/**
	* Reads data from a file asynchronously.
	*
	* @param {number} length - The number of bytes to read.
	* @param {number} position - The position in the file to start reading from.
	* @return {ArrayBuffer} The data read from the file.
	*/
	this.read = async function(length, position) {
		const file = this;
		return await new Promise((resolve, reject) => {
			let arraybuffer = new ArrayBuffer(length);
			let arr = new Int8Array(arraybuffer);
			fs.read(file.fd, arr, 0, length, position, (err, bytesRead, buffer) => {
				if (length > bytesRead) {
					arraybuffer = buffer.slice(0, bytesRead).buffer;
				}
				resolve(arraybuffer);
			});
		});
	};
	/**
	* Writes data from an ArrayBuffer to a file at a given position.
	*
	* @param {ArrayBuffer} arraybuffer - The ArrayBuffer containing the data to write.
	* @param {number} position - The position within the file to start writing.
	* @return {boolean} Returns true if the write operation was successful.
	*/
	this.write = async function(arraybuffer, position) {
		const file = this;
		return await new Promise((resolve, reject) => {
			fs.write(file.fd, new Int8Array(arraybuffer), 0, arraybuffer.byteLength, position, (err, written, buffer) => {
				if (!err) resolve(true);
				else resolve(false);
			});
		});
	};
	/**
	* Flush buffers to disk.
	*/
	this.flush = async function() {
		return;
	};
	/**
	* Closes the file descriptor.
	*
	* @return {Promise<void>} A promise that resolves once the file descriptor is closed.
	*/
	this.close = async function() {
		const file = this;
		return await new Promise((resolve, reject) => {
			fs.close(file.fd, (err) => {
				resolve();
			});
		});
	};
	/**
	* Moves the file to a new path.
	*
	* @param {string} newPath - The new path where the file will be moved.
	* @return {Promise<boolean>} A promise that resolves with `true` if the file was successfully moved, otherwise returns false.
	*/
	this.move = async function(newPath) {
		const file = this;
		return await new Promise((resolve, reject) => {
			fs.rename(file._path, newPath, (err) => {
				if (!err) resolve(true);
				else resolve(false);
			});
		});
	};
	/**
	* Copies the file to a new path.
	*
	* @param {string} newPath - The path of the new location where the file will be copied.
	* @return {Promise<boolean>} A promise that resolves with `true` if the file is successfully copied, and `false` otherwise.
	*/
	this.copy = async function(newPath) {
		const file = this;
		return await new Promise((resolve, reject) => {
			fs.copyFile(file._path, newPath, (err) => {
				if (!err) resolve(true);
				else resolve(false);
			});
		});
	};
	/**
	* Deletes the file associated with this object.
	*
	*/
	this.delete = async function() {
		const file = this;
		return await new Promise((resolve, reject) => {
			fs.rm(file._path, (err) => {
				resolve();
			});
		});
	};
	/**
	* Checks if the file exists.
	*
	* @return {Promise<boolean>} A promise that resolves to a boolean value indicating whether the file exists or not.
	*/
	this.exist = async function() {
		const file = this;
		return await new Promise((resolve, reject) => {
			fs.exists(file._path, (stat) => {
				resolve(stat);
			});
		});
	};
	/**
	* @returns the file length
	*/
	this.size = async function() {
		const file = this;
		return await new Promise((resolve, reject) => {
			fs.stat(file._path, (err, stat) => {
				if (err) {
					resolve(0);
				} else {
					resolve(stat.size);
				}
			});
		});
	};
};
globalThis.js2Proxy = function(dynamic, siteType, site, url, headers) {
	let hd = Object.keys(headers).length == 0 ? "_" : encodeURIComponent(JSON.stringify(headers));
	return (dynamic ? "js2p://_WEB_/" : "http://127.0.0.1:13333/jp/") + randStr(6) + "/" + siteType + "/" + site + "/" + hd + "/" + encodeURIComponent(url);
};
globalThis.jsp = new jsoup$1();
globalThis.pdfh = (html, parse, base_url = "") => {
	const jsp = new jsoup$1(base_url);
	return jsp.pdfh(html, parse, base_url);
};
globalThis.pd = (html, parse, base_url = "") => {
	const jsp = new jsoup$1(base_url);
	return jsp.pd(html, parse);
};
globalThis.pdfa = (html, parse) => {
	const jsp = new jsoup$1();
	return jsp.pdfa(html, parse);
};
globalThis.pdfl = (html, parse, list_text, list_url, url_key) => {
	const jsp = new jsoup$1();
	return jsp.pdfl(html, parse, list_text, list_url, url_key);
};
globalThis.pq = (html) => {
	const jsp = new jsoup$1();
	return jsp.pq(html);
};
globalThis.pjfh = (html, parse, addUrl = false) => {
	const jsp = new jsoup$1();
	return jsp.pjfh(html, parse, addUrl);
};
globalThis.pj = (html, parse) => {
	const jsp = new jsoup$1();
	return jsp.pj(html, parse);
};
globalThis.pjfa = (html, parse) => {
	const jsp = new jsoup$1();
	return jsp.pjfa(html, parse);
};
globalThis.log = console.log;
globalThis.print = console.log;
globalThis.jsonpath = jsonpath$1;
globalThis.jsoup = jsoup$1;
function jsonToCookie$1(json) {
	return import_lib$2.default.stringify(json, {
		delimiter: ";",
		encoder: (value) => String(value).trim()
	});
}
function cookieToJson$1(cookieString) {
	return import_lib$2.default.parse(cookieString, {
		delimiter: ";",
		decoder: (value) => value.trim()
	});
}
globalThis.jsonToCookie = jsonToCookie$1;
globalThis.cookieToJson = cookieToJson$1;
globalThis.keysToLowerCase = keysToLowerCase$1;
var BaseSpider = class {
	constructor() {
		this.home = this.homeContent;
		this.category = this.categoryContent;
		this.search = this.searchContent;
		this.play = this.playerContent;
		this.homeVod = this.homeVideoContent;
		this.proxy = this.localProxy;
	}
	async fetch(url, options) {
		const resp = await req(url, options);
		return {
			...resp,
			get data() {
				try {
					return this.content.parseX;
				} catch (e) {
					return {};
				}
			}
		};
	}
	async homeContent() {}
	async categoryContent() {}
	async detailContent() {}
	async searchContent() {}
	async playerContent() {}
	async homeVideoContent() {}
	async localProxy() {}
	async action() {}
};
globalThis.BaseSpider = BaseSpider;
var drpyInject_default = {};

//#endregion
//#region ../utils/fileHeaderManager.js
var FileHeaderManager = class {
	static COMMENT_CONFIG = {
		".js": {
			start: "/*",
			end: "*/",
			regex: /^(\s*\/\*[\s\S]*?\*\/)/,
			headerRegex: /@header\(([\s\S]*?)\)/,
			createComment: (content) => `/*\n${content}\n*/`,
			topCommentsRegex: /^(\s*(\/\/[^\n]*\n|\/\*[\s\S]*?\*\/)\s*)+/
		},
		".py": {
			start: "\"\"\"",
			end: "\"\"\"",
			regex: /^(\s*"""[\s\S]*?""")/,
			headerRegex: /@header\(([\s\S]*?)\)/,
			createComment: (content) => `"""\n${content}\n"""`,
			topCommentsRegex: /^(\s*(#[^\n]*\n|'''[\s\S]*?'''|"""[\s\S]*?""")\s*)+/
		}
	};
	/**
	* 解析JavaScript对象字面量（支持无引号属性名）
	* @param {string} str 对象字符串
	* @returns {Object} 解析后的对象
	*/
	static parseObjectLiteral(str) {
		const normalized = str.replace(/([{,]\s*)([a-zA-Z_$][\w$]*)(\s*:)/g, "$1\"$2\"$3").replace(/'([^']+)'/g, "\"$1\"");
		try {
			return JSON.parse(normalized);
		} catch (e) {
			try {
				return new Function(`return ${str}`)();
			} catch {
				throw new Error(`Invalid header object: ${str}`);
			}
		}
	}
	/**
	* 读取文件头信息
	* @param {string} filePath 文件路径
	* @returns {Object|null} 头信息对象
	*/
	static async readHeader(filePath) {
		const content = await fs$1.readFile(filePath, "utf8");
		const ext = path.extname(filePath);
		const config = this.COMMENT_CONFIG[ext];
		if (!config) throw new Error(`Unsupported file type: ${ext}`);
		const match = content.match(config.regex);
		if (!match) return null;
		const headerMatch = match[0].match(config.headerRegex);
		if (!headerMatch) return null;
		try {
			return this.parseObjectLiteral(headerMatch[1].trim());
		} catch {
			return null;
		}
	}
	/**
	* 创建文件备份
	* @param {string} filePath 原文件路径
	* @returns {string} 备份文件路径
	*/
	static async createBackup(filePath) {
		const backupPath = `${filePath}.backup.${Date.now()}`;
		try {
			const content = await fs$1.readFile(filePath, "utf8");
			await fs$1.writeFile(backupPath, content);
			return backupPath;
		} catch (error) {
			throw new Error(`Failed to create backup: ${error.message}`);
		}
	}
	/**
	* 从备份恢复文件
	* @param {string} filePath 目标文件路径
	* @param {string} backupPath 备份文件路径
	*/
	static async restoreFromBackup(filePath, backupPath) {
		try {
			const backupContent = await fs$1.readFile(backupPath, "utf8");
			await fs$1.writeFile(filePath, backupContent);
			await fs$1.unlink(backupPath);
		} catch (error) {
			throw new Error(`Failed to restore from backup: ${error.message}`);
		}
	}
	/**
	* 写入/更新文件头信息
	* @param {string} filePath 文件路径
	* @param {Object} headerObj 头信息对象
	* @param {Object} [options] 配置选项
	* @param {boolean} [options.createBackup=true] 是否创建备份
	*/
	static async writeHeader(filePath, headerObj, options = {}) {
		const { createBackup = false } = options;
		if (!filePath || typeof filePath !== "string") {
			throw new Error("Invalid file path");
		}
		if (!headerObj || typeof headerObj !== "object") {
			throw new Error("Invalid header object");
		}
		let content;
		try {
			content = await fs$1.readFile(filePath, "utf8");
		} catch (error) {
			throw new Error(`Failed to read file: ${error.message}`);
		}
		const originalContent = content;
		const ext = path.extname(filePath);
		const config = this.COMMENT_CONFIG[ext];
		if (!config) throw new Error(`Unsupported file type: ${ext}`);
		const headerStr = `@header(${JSON.stringify(headerObj, null, 2).replace(/"([a-zA-Z_$][\w$]*)":/g, "$1:").replace(/"/g, "'")})`;
		const match = content.match(config.regex);
		let newContent;
		if (match) {
			const [fullComment] = match;
			const commentStartIndex = content.indexOf(fullComment);
			const commentEndIndex = commentStartIndex + fullComment.length;
			const beforeComment = content.substring(0, commentStartIndex);
			if (beforeComment.trim() !== "") {
				const newComment = config.createComment(headerStr) + "\n\n";
				newContent = newComment + content;
			} else {
				if (config.headerRegex.test(fullComment)) {
					const updatedComment = fullComment.replace(config.headerRegex, headerStr);
					newContent = content.substring(0, commentStartIndex) + updatedComment + content.substring(commentEndIndex);
				} else {
					const updatedComment = fullComment.replace(config.end, "").trim() + `\n${headerStr}\n${config.end}`;
					newContent = content.substring(0, commentStartIndex) + updatedComment + content.substring(commentEndIndex);
				}
			}
		} else {
			const newComment = config.createComment(headerStr) + "\n\n";
			newContent = newComment + content;
		}
		const contentWithoutHeader = newContent.replace(config.regex, "").trim();
		if (!contentWithoutHeader) {
			throw new Error("写入失败：内容不能只包含文件头而无原始内容");
		}
		if (!newContent || newContent.trim().length === 0) {
			throw new Error("Generated content is empty, operation aborted");
		}
		const originalCodeLines = originalContent.split("\n").filter((line) => {
			const trimmed = line.trim();
			return trimmed && !trimmed.startsWith("//") && !trimmed.startsWith("/*") && !trimmed.startsWith("*") && !trimmed.startsWith("*/") && !trimmed.startsWith("#") && !trimmed.startsWith("\"\"\"") && !trimmed.startsWith("'''");
		});
		const newCodeLines = newContent.split("\n").filter((line) => {
			const trimmed = line.trim();
			return trimmed && !trimmed.startsWith("//") && !trimmed.startsWith("/*") && !trimmed.startsWith("*") && !trimmed.startsWith("*/") && !trimmed.startsWith("#") && !trimmed.startsWith("\"\"\"") && !trimmed.startsWith("'''") && !trimmed.includes("@header(");
		});
		if (originalCodeLines.length > 5 && newCodeLines.length < originalCodeLines.length * .8) {
			throw new Error("Content integrity check failed: significant code loss detected, operation aborted");
		}
		let backupPath = null;
		if (createBackup) {
			try {
				backupPath = await this.createBackup(filePath);
			} catch (error) {
				console.warn(`Warning: Failed to create backup for ${filePath}: ${error.message}`);
			}
		}
		try {
			await fs$1.writeFile(filePath, newContent);
			if (backupPath) {
				try {
					await fs$1.unlink(backupPath);
				} catch (error) {
					console.warn(`Warning: Failed to delete backup file ${backupPath}: ${error.message}`);
				}
			}
		} catch (error) {
			if (backupPath) {
				try {
					await this.restoreFromBackup(filePath, backupPath);
					console.log(`File restored from backup: ${filePath}`);
				} catch (restoreError) {
					console.error(`Failed to restore from backup: ${restoreError.message}`);
				}
			}
			throw new Error(`Failed to write file: ${error.message}`);
		}
	}
	/**
	* 移除头信息区域
	* @param {string} input 文件路径或文件内容
	* @param {Object} [options] 配置选项
	* @param {string} [options.mode='header-only'] 移除模式:
	*   - 'header-only': 只移除@header行（默认）
	*   - 'top-comments': 移除文件顶部所有连续注释块
	* @param {string} [options.fileType] 文件类型（当input为内容时必需）
	* @returns {Promise<string>|string} 移除头信息后的内容
	*/
	static async removeHeader(input, options = {}) {
		const { mode = "header-only", fileType } = options;
		const isFilePath = !input.includes("\n") && input.length < 256 && (input.endsWith(".js") || input.endsWith(".py"));
		let content, ext;
		if (isFilePath) {
			content = await fs$1.readFile(input, "utf8");
			ext = path.extname(input);
		} else {
			content = input;
			ext = fileType ? `.${fileType.replace(/^\./, "")}` : null;
			if (!ext) {
				throw new Error("fileType option is required when input is content");
			}
		}
		const config = this.COMMENT_CONFIG[ext];
		if (!config) throw new Error(`Unsupported file type: ${ext}`);
		if (mode === "top-comments") {
			const match = content.match(config.topCommentsRegex);
			if (match) {
				content = content.substring(match[0].length);
			}
			return content.trim();
		}
		const match = content.match(config.regex);
		if (!match) return content.trim();
		let [fullComment, innerContent] = match;
		if (config.headerRegex.test(innerContent)) {
			innerContent = innerContent.replace(config.headerRegex, "");
			const cleanedInner = innerContent.split("\n").filter((line) => line.trim().length > 0).join("\n");
			if (!cleanedInner.trim()) {
				content = content.replace(fullComment, "");
			} else {
				const newComment = `${config.start}${cleanedInner}${config.end}`;
				content = content.replace(fullComment, newComment);
			}
		}
		return content.trim();
	}
	/**
	* 获取文件大小
	* @param {string} filePath 文件路径
	* @param {Object} [options] 配置选项
	* @param {boolean} [options.humanReadable=false] 是否返回人类可读格式
	* @returns {Promise<number|string>} 文件大小（字节或人类可读字符串）
	*/
	static async getFileSize(filePath, options = {}) {
		try {
			const stats = await fs$1.stat(filePath);
			const sizeInBytes = stats.size;
			if (options.humanReadable) {
				return this.formatFileSize(sizeInBytes);
			}
			return sizeInBytes;
		} catch (error) {
			throw new Error(`获取文件大小失败: ${error.message}`);
		}
	}
	/**
	* 格式化文件大小为人类可读格式
	* @param {number} bytes 文件大小（字节）
	* @returns {string} 格式化后的文件大小
	*/
	static formatFileSize(bytes) {
		if (bytes === 0) return "0 Bytes";
		const k = 1024;
		const sizes = [
			"Bytes",
			"KB",
			"MB",
			"GB",
			"TB"
		];
		const i = Math.floor(Math.log(bytes) / Math.log(k));
		return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + " " + sizes[i];
	}
};

//#endregion
//#region ../libs_drpy/drpyRsa.js
const RSA = {
	cleanPEM: function(pem) {
		return pem.replace(/-----BEGIN[^-]+-----/g, "").replace(/-----END[^-]+-----/g, "").replace(/\s+/g, "");
	},
	formatPrivateKey: function(pem) {
		if (pem.includes("-----BEGIN")) {
			return pem;
		}
		return `-----BEGIN RSA PRIVATE KEY-----\n${pem}\n-----END RSA PRIVATE KEY-----`;
	},
	formatPublicKey: function(pem) {
		if (pem.includes("-----BEGIN")) {
			return pem;
		}
		return `-----BEGIN PUBLIC KEY-----\n${pem}\n-----END PUBLIC KEY-----`;
	},
	extractPublicKeyFromPrivate: function(privateKeyPem) {
		const privateKey = this.formatPrivateKey(privateKeyPem);
		try {
			const keyObject = crypto$1.createPrivateKey({
				key: privateKey,
				format: "pem",
				type: "pkcs1"
			});
			const publicKey = crypto$1.createPublicKey(keyObject);
			return publicKey.export({
				type: "spki",
				format: "pem"
			});
		} catch (error) {
			console.error("PKCS1格式失败:", error.message);
			try {
				const keyObject = crypto$1.createPrivateKey({
					key: privateKey,
					format: "pem",
					type: "pkcs8"
				});
				const publicKey = crypto$1.createPublicKey(keyObject);
				return publicKey.export({
					type: "spki",
					format: "pem"
				});
			} catch (error2) {
				console.error("PKCS8格式也失败:", error2.message);
				throw error;
			}
		}
	},
	removePKCS1Padding: function(buffer) {
		if (buffer[0] !== 0 || buffer[1] !== 2) {
			throw new Error("Invalid PKCS1 padding");
		}
		let dataStart = -1;
		for (let i = 2; i < buffer.length; i++) {
			if (buffer[i] === 0) {
				dataStart = i + 1;
				break;
			}
		}
		if (dataStart === -1) {
			throw new Error("Invalid PKCS1 padding: no data separator found");
		}
		return buffer.slice(dataStart);
	},
	decryptLongData: function(privateKey, encryptedData) {
		const keySize = 256;
		const chunks = [];
		for (let i = 0; i < encryptedData.length; i += keySize) {
			const segment = encryptedData.slice(i, i + keySize);
			try {
				let decryptedSegment;
				try {
					decryptedSegment = crypto$1.privateDecrypt({
						key: privateKey,
						padding: crypto$1.constants.RSA_PKCS1_PADDING
					}, segment);
				} catch (pkcs1Error) {
					try {
						decryptedSegment = crypto$1.privateDecrypt(privateKey, segment);
					} catch (oaepError) {
						try {
							decryptedSegment = crypto$1.privateDecrypt({
								key: privateKey,
								padding: crypto$1.constants.RSA_NO_PADDING
							}, segment);
							decryptedSegment = this.removePKCS1Padding(decryptedSegment);
						} catch (noPaddingError) {
							console.error("PKCS1 错误:", pkcs1Error.message);
							console.error("OAEP 错误:", oaepError.message);
							console.error("NO_PADDING 错误:", noPaddingError.message);
							throw pkcs1Error;
						}
					}
				}
				chunks.push(decryptedSegment);
			} catch (error) {
				console.error(`解密第 ${Math.floor(i / keySize) + 1} 段失败:`, error.message);
				throw error;
			}
		}
		return Buffer.concat(chunks);
	},
	encryptLongData: function(publicKey, data) {
		let keySize;
		try {
			const keyObj = crypto$1.createPublicKey(publicKey);
			const keyDetails = keyObj.asymmetricKeyDetails;
			keySize = (keyDetails.modulusLength || 2048) / 8;
		} catch (error) {
			console.warn("无法获取密钥大小，使用默认值2048位:", error.message);
			keySize = 256;
		}
		const maxLength = keySize - 11;
		const chunks = [];
		try {
			const string = data.toString("utf8");
			let subStart = 0;
			let subEnd = 0;
			let bitLen = 0;
			let tmpPoint = 0;
			for (let i = 0, len = string.length; i < len; i++) {
				const charCode = string.charCodeAt(i);
				if (charCode <= 127) {
					bitLen += 1;
				} else if (charCode <= 2047) {
					bitLen += 2;
				} else if (charCode <= 65535) {
					bitLen += 3;
				} else {
					bitLen += 4;
				}
				if (bitLen > maxLength) {
					const subStr = string.substring(subStart, subEnd);
					const segment = Buffer.from(subStr, "utf8");
					try {
						const encryptedSegment = crypto$1.publicEncrypt({
							key: publicKey,
							padding: crypto$1.constants.RSA_PKCS1_PADDING
						}, segment);
						chunks.push(encryptedSegment);
					} catch (error) {
						console.error(`加密第 ${chunks.length + 1} 段失败:`, error.message);
						throw error;
					}
					subStart = subEnd;
					bitLen = bitLen - tmpPoint;
				} else {
					subEnd = i;
					tmpPoint = bitLen;
				}
			}
			if (subStart < string.length) {
				const subStr = string.substring(subStart, string.length);
				const segment = Buffer.from(subStr, "utf8");
				try {
					const encryptedSegment = crypto$1.publicEncrypt({
						key: publicKey,
						padding: crypto$1.constants.RSA_PKCS1_PADDING
					}, segment);
					chunks.push(encryptedSegment);
				} catch (error) {
					console.error(`加密最后一段失败:`, error.message);
					throw error;
				}
			}
			return Buffer.concat(chunks);
		} catch (error) {
			console.error("长数据加密失败:", error.message);
			throw error;
		}
	},
	decode: function(data, privateKeyPem) {
		try {
			const encryptedBuffer = Buffer.from(data, "base64");
			const privateKey = this.formatPrivateKey(privateKeyPem);
			console.time("RSA解密");
			const decryptedData = this.decryptLongData(privateKey, encryptedBuffer);
			console.timeEnd("RSA解密");
			return decryptedData.toString("utf8");
		} catch (error) {
			console.error("解密过程中发生错误:", error);
			throw error;
		}
	},
	encode: function(plainText, keyPem) {
		try {
			const dataBuffer = Buffer.from(plainText, "utf8");
			let publicKey;
			const isPrivateKey = keyPem.includes("PRIVATE KEY") || this.isBase64PrivateKey(keyPem);
			if (isPrivateKey) {
				publicKey = this.extractPublicKeyFromPrivate(keyPem);
			} else {
				publicKey = this.formatPublicKey(keyPem);
			}
			console.time("RSA加密");
			const encryptedData = this.encryptLongData(publicKey, dataBuffer);
			console.timeEnd("RSA加密");
			return encryptedData.toString("base64");
		} catch (error) {
			console.error("加密过程中发生错误:", error);
			throw error;
		}
	},
	isBase64PrivateKey: function(keyString) {
		if (keyString.includes("-----")) {
			return false;
		}
		const base64Regex = /^[A-Za-z0-9+/]*={0,2}$/;
		if (!base64Regex.test(keyString)) {
			return false;
		}
		try {
			const formattedKey = this.formatPrivateKey(keyString);
			const keyObject = crypto$1.createPrivateKey({
				key: formattedKey,
				format: "pem",
				type: "pkcs1"
			});
			return true;
		} catch (error) {
			try {
				const formattedKey = this.formatPrivateKey(keyString);
				const keyObject = crypto$1.createPrivateKey({
					key: formattedKey,
					format: "pem",
					type: "pkcs8"
				});
				return true;
			} catch (error2) {
				return false;
			}
		}
	}
};
const RSA2 = {
	cleanPEM: function(pem) {
		pem = pem.replace(/-----BEGIN [A-Z0-9 ]+-----/g, "").replace(/-----END [A-Z0-9 ]+-----/g, "");
		pem = pem.replace(/\s/g, "");
		return pem;
	},
	importPrivateKey: function(pem) {
		const binaryDer = Uint8Array.from(Buffer.from(this.cleanPEM(pem), "base64"));
		const importedKey = crypto$1.subtle.importKey("pkcs8", binaryDer, {
			name: "RSA-PKCS1-v1_5",
			hash: "SHA-256"
		}, false, ["decrypt"]);
		return importedKey;
	},
	importPublicKey: function(pem) {
		const binaryDer = Uint8Array.from(Buffer.from(this.cleanPEM(pem), "base64"));
		const importedKey = crypto$1.subtle.importKey("spki", binaryDer, {
			name: "RSA-PKCS1-v1_5",
			hash: "SHA-256"
		}, false, ["encrypt"]);
		return importedKey;
	},
	encryptMergedData: function(publicKey, data) {
		const modulusLengthBytes = publicKey.algorithm.modulusLength + 7 >> 3;
		const segmentLength = modulusLengthBytes - 11;
		const dataBuffer = new TextEncoder().encode(data);
		if (dataBuffer.length > segmentLength) {
			const segments = [];
			for (let i = 0; i < dataBuffer.length; i += segmentLength) {
				const segment = dataBuffer.slice(i, i + segmentLength);
				segments.push(crypto$1.subtle.encrypt({ name: "RSA-PKCS1-v1_5" }, publicKey, segment));
			}
			return Buffer.concat(segments.map((b) => Buffer.from(b))).toString("base64");
		}
		return Buffer.from(crypto$1.subtle.encrypt({ name: "RSA-PKCS1-v1_5" }, publicKey, dataBuffer)).toString("base64");
	},
	decryptMergedData: function(privateKey, mergedData) {
		const segmentLength = privateKey.algorithm.modulusLength + 7 >> 3;
		if (mergedData.length > segmentLength) {
			const segments = [];
			for (let i = 0; i < mergedData.length; i += segmentLength) {
				const segment = mergedData.slice(i, i + segmentLength);
				segments.push(Buffer.from(crypto$1.subtle.decrypt({ name: "RSA-PKCS1-v1_5" }, privateKey, segment)));
			}
			return Buffer.concat(segments).toString("utf8");
		}
		return Buffer.from(crypto$1.subtle.decrypt({ name: "RSA-PKCS1-v1_5" }, privateKey, mergedData)).toString("utf8");
	},
	decode: function(data, key) {
		try {
			const mergedDataArray = Uint8Array.from(Buffer.from(data, "base64"));
			const privateKey = this.importPrivateKey(key);
			console.log(privateKey);
			const decryptedData = this.decryptMergedData(privateKey, mergedDataArray);
			return Buffer.from(decryptedData).toString();
		} catch (error) {
			console.error("解密过程中发生错误:", error);
			throw error;
		}
	},
	encode: function(plainText, publicKeyPem) {
		try {
			const publicKey = this.importPublicKey(publicKeyPem);
			const encryptedData = this.encryptMergedData(publicKey, plainText);
			const encryptedBase64 = Buffer.from(encryptedData).toString("base64");
			return encryptedBase64;
		} catch (error) {
			console.error("加密过程中发生错误:", error);
			throw error;
		}
	}
};

//#endregion
//#region ../libs_drpy/drpyCustom.js
const MOBILE_UA = "Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.91 Mobile Safari/537.36";
const PC_UA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36";
const UA = "Mozilla/5.0";
const UC_UA = "Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36";
const IOS_UA = "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";
const RULE_CK = "cookie";
const CATE_EXCLUDE = "首页|留言|APP|下载|资讯|新闻|动态";
const TAB_EXCLUDE = "猜你|喜欢|下载|剧情|榜|评论";
const OCR_RETRY = 3;
const OCR_API = "https://api.nn.ci/ocr/b64/text";
const nodata = {
	list: [{
		vod_name: "无数据,防无限请求",
		vod_id: "no_data",
		vod_remarks: "不要点,会崩的",
		vod_pic: "https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/404.jpg"
	}],
	total: 1,
	pagecount: 1,
	page: 1,
	limit: 1
};
const SPECIAL_URL = /^(ftp|magnet|thunder|ws):/;
/**
* 判断是否为正版视频网站
* @param {string} vipUrl - 视频链接
* @returns {boolean} 是否为正版
*/
const 是否正版 = (vipUrl) => {
	const flag = /qq\.com|iqiyi\.com|youku\.com|mgtv\.com|bilibili\.com|sohu\.com|ixigua\.com|pptv\.com|miguvideo\.com|le\.com|1905\.com|fun\.tv/;
	return flag.test(vipUrl);
};
/**
* 处理视频链接
* @param {string} vipUrl - 视频链接
* @returns {string} 处理后的链接
*/
const urlDeal = (vipUrl) => {
	if (!vipUrl) return "";
	if (!是否正版(vipUrl)) return vipUrl;
	if (!/miguvideo/.test(vipUrl)) {
		vipUrl = vipUrl.split("#")[0];
		if (vipUrl.includes("?") && !vipUrl.includes("video?vid=")) {
			vipUrl = vipUrl.split("?")[0];
		}
	}
	return vipUrl;
};
/**
* 判断是否需要解析
* @param {string} url - 视频链接
* @returns {number} 0或1
*/
const tellIsJx$1 = (url) => {
	try {
		const is_vip = !/\.(m3u8|mp4|m4a)$/.test(url.split("?")[0]) && 是否正版(url);
		return is_vip ? 1 : 0;
	} catch (e) {
		return 1;
	}
};
/**
* 设置结果数据格式
* @param {Array} d - 原始数据数组
* @returns {Array} 格式化后的数据
*/
const setResult = (d) => {
	if (!Array.isArray(d)) return [];
	return d.map((it) => {
		const obj = {
			vod_id: it.url || "",
			vod_name: it.title || "",
			vod_remarks: it.desc || "",
			vod_content: it.content || "",
			vod_pic: it.pic_url || it.img || ""
		};
		const keys = Object.keys(it);
		const mappings = {
			tname: "type_name",
			tid: "type_id",
			year: "vod_year",
			actor: "vod_actor",
			director: "vod_director",
			area: "vod_area"
		};
		Object.entries(mappings).forEach(([key, prop]) => {
			if (keys.includes(key)) {
				obj[prop] = it[key] || "";
			}
		});
		return obj;
	});
};
/**
* 设置结果数据格式2
* @param {Object} res - 响应对象
* @returns {Array} 列表数据
*/
const setResult2 = (res) => res?.list || [];
/**
* 设置首页结果数据格式
* @param {Object} res - 响应对象
* @returns {Array} 格式化后的数据
*/
const setHomeResult = (res) => {
	if (!res || typeof res !== "object") return [];
	return setResult(res.list);
};
/**
* 将字符串进行URL编码
* @param {string} str - 待编码字符串
* @returns {string} 编码后的字符串
*/
const urlencode = (str) => {
	str = String(str);
	return encodeURIComponent(str).replace(/!/g, "%21").replace(/'/g, "%27").replace(/\(/g, "%28").replace(/\)/g, "%29").replace(/\*/g, "%2A").replace(/%20/g, "+");
};
/**
* URL编码，同encodeURI
* @param {string} str - 待编码字符串
* @returns {string} 编码后的字符串
*/
const encodeUrl = (str) => {
	if (typeof encodeURI === "function") {
		return encodeURI(str);
	}
	str = String(str);
	return encodeURIComponent(str).replace(/%2F/g, "/").replace(/%3F/g, "?").replace(/%3A/g, ":").replace(/%40/g, "@").replace(/%3D/g, "=").replace(/%2C/g, ",").replace(/%2B/g, "+").replace(/%24/g, "$");
};
/**
* 将Uint8Array转换为Base64
* @param {Uint8Array} uint8Array - 字节数组
* @returns {string} Base64字符串
*/
const uint8ArrayToBase64 = (uint8Array) => {
	const binaryString = String.fromCharCode(...Array.from(uint8Array));
	return btoa$1(binaryString);
};
/**
* 将UTF8字节数组转换为字符串
* @param {Array} array - UTF8字节数组
* @returns {string} 转换后的字符串
*/
const Utf8ArrayToStr = (array) => {
	let out = "";
	let i = 0;
	const len = array.length;
	while (i < len) {
		const c = array[i++];
		switch (c >> 4) {
			case 0:
			case 1:
			case 2:
			case 3:
			case 4:
			case 5:
			case 6:
			case 7:
				out += String.fromCharCode(c);
				break;
			case 12:
			case 13:
				const char2 = array[i++];
				out += String.fromCharCode((c & 31) << 6 | char2 & 63);
				break;
			case 14:
				const char2_2 = array[i++];
				const char3 = array[i++];
				out += String.fromCharCode((c & 15) << 12 | (char2_2 & 63) << 6 | (char3 & 63) << 0);
				break;
		}
	}
	return out;
};
/**
* gzip压缩base64，压缩率80%+
* @param {string} str - 待压缩字符串
* @returns {string} 压缩后的Base64字符串
*/
const gzip = (str) => {
	const arr = pako.gzip(str);
	return uint8ArrayToBase64(arr);
};
/**
* gzip解压base64数据
* @param {string} b64Data - Base64编码的压缩数据
* @returns {string} 解压后的字符串
*/
const ungzip$1 = (b64Data) => {
	const strData = atob$1(b64Data);
	const charData = strData.split("").map((x) => x.charCodeAt(0));
	const binData = new Uint8Array(charData);
	const data = pako.inflate(binData);
	return Utf8ArrayToStr(data);
};
/**
* 字符串按指定编码
* @param {string} input - 输入字符串
* @param {string} encoding - 编码格式
* @returns {string} 编码后的字符串
*/
const encodeStr = (input, encoding = "gbk") => {
	if (encoding.startsWith("gb")) {
		return gbkTool.encode(input);
	}
	return input;
};
/**
* 字符串指定解码
* @param {string} input - 输入字符串
* @param {string} encoding - 编码格式
* @returns {string} 解码后的字符串
*/
const decodeStr = (input, encoding = "gbk") => {
	if (encoding.startsWith("gb")) {
		return gbkTool.decode(input);
	}
	return input;
};
/**
* 获取CryptoJS
* @returns {string} 日志信息
*/
const getCryptoJS = () => "log(\"CryptoJS已装载\");";
/**
* 智能对比去除广告。支持嵌套m3u8。只需要传入播放地址
* @param {string} m3u8_url - m3u8播放地址
* @param {Object} headers - 自定义访问m3u8的请求头
* @returns {Promise<string>} 处理后的m3u8内容
*/
const fixAdM3u8Ai = async (m3u8_url, headers) => {
	const ts = Date.now();
	const option = headers ? { headers } : {};
	const compareStrings = (s1, s2) => {
		let i = 0;
		while (i < s1.length && s1[i] === s2[i]) i++;
		return i;
	};
	const reverseString = (str) => str.split("").reverse().join("");
	let m3u8 = (await req(m3u8_url, option)).content;
	m3u8 = m3u8.trim().split("\n").map((it) => it.startsWith("#") ? it : urljoin(m3u8_url, it)).join("\n").replace(/\n\n/gi, "\n");
	let last_url = m3u8.split("\n").slice(-1)[0];
	if (last_url.length < 5) {
		last_url = m3u8.split("\n").slice(-2)[0];
	}
	if (last_url.includes(".m3u8") && last_url !== m3u8_url) {
		m3u8_url = urljoin(m3u8_url, last_url);
		log(`[fixAdM3u8Ai]嵌套的m3u8_url: ${m3u8_url}`);
		m3u8 = (await req(m3u8_url, option)).content;
	}
	const s = m3u8.trim().split("\n").filter((it) => it.trim()).join("\n");
	const ss = s.split("\n");
	let firststr = "";
	let maxl = 0;
	let kk = 0;
	let kkk1 = 1;
	let kkk2 = 0;
	let secondstr = "";
	for (let i = 0; i < ss.length && kk < 30; i++) {
		const line = ss[i];
		if (!line.startsWith("#")) {
			if (kk === 0) {
				firststr = line;
			} else {
				const comparison = compareStrings(firststr, line);
				if (maxl > comparison + 1) {
					if (secondstr.length < 5) secondstr = line;
					kkk2++;
				} else {
					maxl = comparison;
					kkk1++;
				}
			}
			kk++;
		}
	}
	if (kkk2 > kkk1) firststr = secondstr;
	const firststrlen = firststr.length;
	const ml = Math.round(ss.length / 2).toString().length;
	let maxc = 0;
	const laststr = ss.toReversed().find((x) => {
		if (!x.startsWith("#")) {
			const k = compareStrings(reverseString(firststr), reverseString(x));
			maxl = compareStrings(firststr, x);
			maxc++;
			return firststrlen - maxl <= ml + k || maxc > 10;
		}
		return false;
	});
	log(`[fixAdM3u8Ai]最后一条切片：${laststr}`);
	const ad_urls = [];
	for (let i = 0; i < ss.length; i++) {
		const line = ss[i];
		if (!line.startsWith("#")) {
			if (compareStrings(firststr, line) < maxl) {
				ad_urls.push(line);
				ss.splice(i - 1, 2);
				i -= 2;
			} else {
				ss[i] = urljoin(m3u8_url, line);
			}
		} else {
			ss[i] = line.replace(/URI="(.*)"/g, `URI="${urljoin(m3u8_url, "$1")}"`);
		}
	}
	log(`[fixAdM3u8Ai]处理的m3u8地址: ${m3u8_url}`);
	log("[fixAdM3u8Ai]----广告地址----");
	log("[fixAdM3u8Ai]广告地址列表:", ad_urls);
	m3u8 = ss.join("\n");
	log(`[fixAdM3u8Ai]处理耗时：${Date.now() - ts}ms`);
	log(`[fixAdM3u8Ai]处理后的m3u8: ${m3u8}`);
	return m3u8;
};
/**
* 强制正序算法
* @param {Array} lists - 待正序列表
* @param {string} key - 正序键
* @param {Function} option - 单个元素处理函数
* @returns {Array} 处理后的列表
*/
const forceOrder = (lists, key, option) => {
	const start = Math.floor(lists.length / 2);
	const end = Math.min(lists.length - 1, start + 1);
	if (start >= end) return lists;
	let first = lists[start];
	let second = lists[end];
	if (key) {
		try {
			first = first[key];
			second = second[key];
		} catch (e) {}
	}
	if (option && typeof option === "function") {
		try {
			first = option(first);
			second = option(second);
		} catch (e) {}
	}
	first = String(first);
	second = String(second);
	const firstMatch = first.match(/(\d+)/);
	const secondMatch = second.match(/(\d+)/);
	if (firstMatch && secondMatch) {
		const num1 = Number(firstMatch[1]);
		const num2 = Number(secondMatch[1]);
		if (num1 > num2) {
			lists.reverse();
		}
	}
	return lists;
};
/**
* 获取链接的query请求转为js的object字典对象
* @param {string} url - URL字符串
* @returns {Object} 查询参数对象
*/
const getQuery = (url) => {
	try {
		if (url.indexOf("?") > -1) {
			url = url.slice(url.indexOf("?") + 1);
		}
		const arr = url.split("#")[0].split("&");
		const resObj = {};
		arr.forEach((item) => {
			const arr1 = item.split("=");
			const key = arr1[0];
			const value = arr1.slice(1).join("=");
			resObj[key] = value;
		});
		return resObj;
	} catch (err) {
		log(`[getQuery]getQuery发生错误: ${err.message}`);
		return {};
	}
};
/**
* 处理返回的json数据
* @param {string} html - HTML或JSON字符串
* @returns {Object} 解析后的对象
*/
const dealJson = (html) => {
	try {
		html = html.trim();
		if (!(html.startsWith("{") && html.endsWith("}") || html.startsWith("[") && html.endsWith("]"))) {
			const match = html.match(/.*?\{(.*)\}/m);
			if (match) {
				html = "{" + match[1] + "}";
			}
		}
	} catch (e) {}
	try {
		return JSON.parse(html);
	} catch (e) {
		return html;
	}
};
/**
* 验证码识别API
*/
const OcrApi = {
	api: OCR_API,
	async classification(img) {
		let code = "";
		try {
			log("[OcrApi.classification]通过drpy_ocr验证码接口过验证...");
			let html = "";
			if (this.api.endsWith("drpy/text")) {
				html = (await req(this.api, {
					data: { img },
					headers: { "User-Agent": PC_UA },
					method: "POST"
				})).content;
			} else {
				html = (await req(this.api, {
					body: img,
					headers: { "User-Agent": PC_UA },
					method: "POST"
				})).content;
			}
			code = html || "";
		} catch (e) {
			log(`[OcrApi.classification]OCR识别验证码发生错误: ${e.message}`);
		}
		return code;
	}
};
/**
* 获取链接的host(带http协议的完整链接)
* @param {string} url - 任意一个正常完整的URL
* @returns {string} 根域名
*/
const getHome = (url) => {
	if (!url) return "";
	const tmp = url.split("//");
	url = tmp[0] + "//" + tmp[1].split("/")[0];
	try {
		url = decodeURIComponent(url);
	} catch (e) {}
	return url;
};
/**
* GET参数编译链接，类似Python params字典自动拼接
* @param {string} url - 访问链接
* @param {Object} obj - 参数字典
* @returns {string} 拼接后的URL
*/
const buildUrl = (url, obj = {}) => {
	if (url.indexOf("?") < 0) {
		url += "?";
	}
	const paramList = Object.entries(obj).map(([key, value]) => `${key}=${value}`);
	const params = paramList.join("&");
	if (paramList.length > 0 && !url.endsWith("?")) {
		url += "&";
	}
	return url + params;
};
/**
* 远程依赖执行函数
* @param {string} url - 远程js地址
*/
function $require(url) {
	eval(request(url));
}
/**
* 对象转查询字符串
* @param {Object} params - 参数对象
* @returns {string} 查询字符串
*/
const buildQueryString = (params) => {
	const queryArray = [];
	for (const key in params) {
		if (params.hasOwnProperty(key)) {
			let value = params[key];
			if (value === null || value === undefined) {
				value = "";
			}
			queryArray.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
		}
	}
	return queryArray.join("&");
};
/**
* 解析查询字符串
* @param {string} query - 查询字符串
* @returns {Object} 解析后的对象
*/
const parseQueryString = (query) => {
	const result = {};
	if (!query) return result;
	const pairs = query.split("&");
	pairs.forEach((pair) => {
		const [key, value] = pair.split("=");
		if (key) {
			result[decodeURIComponent(key)] = value ? decodeURIComponent(value) : "";
		}
	});
	return result;
};
/**
* 如果包含特殊字符则编码
* @param {string} value - 待检查的值
* @returns {string} 处理后的值
*/
const encodeIfContainsSpecialChars = (value) => {
	const specialChars = /[&=?#]/;
	return specialChars.test(value) ? encodeURIComponent(value) : value;
};
/**
* 对象转查询字符串（智能编码）
* @param {Object} obj - 对象
* @returns {string} 查询字符串
*/
const objectToQueryString = (obj) => {
	return Object.entries(obj).map(([key, value]) => `${encodeIfContainsSpecialChars(key)}=${encodeIfContainsSpecialChars(String(value))}`).join("&");
};
/**
* 获取加密前的原始的js源文本
* @param {string} js_code
*/
async function getOriginalJs(js_code) {
	let current_match = /var rule|function|let |var |const|class Rule|async|this\./;
	if (current_match.test(js_code)) {
		return js_code;
	}
	log("[getOriginalJs] 密文源自动去除头信息...");
	js_code = await FileHeaderManager.removeHeader(js_code, {
		mode: "top-comments",
		fileType: ".js"
	});
	let rsa_private_key = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCqin/jUpqM6+fgYP/oMqj9zcdHMM0mEZXLeTyixIJWP53lzJV2N2E3OP6BBpUmq2O1a9aLnTIbADBaTulTNiOnVGoNG58umBnupnbmmF8iARbDp2mTzdMMeEgLdrfXS6Y3VvazKYALP8EhEQykQVarexR78vRq7ltY3quXx7cgI0ROfZz5Sw3UOLQJ+VoWmwIxu9AMEZLVzFDQN93hzuzs3tNyHK6xspBGB7zGbwCg+TKi0JeqPDrXxYUpAz1cQ/MO+Da0WgvkXnvrry8NQROHejdLVOAslgr6vYthH9bKbsGyNY3H+P12kcxo9RAcVveONnZbcMyxjtF5dWblaernAgMBAAECggEAGdEHlSEPFmAr5PKqKrtoi6tYDHXdyHKHC5tZy4YV+Pp+a6gxxAiUJejx1hRqBcWSPYeKne35BM9dgn5JofgjI5SKzVsuGL6bxl3ayAOu+xXRHWM9f0t8NHoM5fdd0zC3g88dX3fb01geY2QSVtcxSJpEOpNH3twgZe6naT2pgiq1S4okpkpldJPo5GYWGKMCHSLnKGyhwS76gF8bTPLoay9Jxk70uv6BDUMlA4ICENjmsYtd3oirWwLwYMEJbSFMlyJvB7hjOjR/4RpT4FPnlSsIpuRtkCYXD4jdhxGlvpXREw97UF2wwnEUnfgiZJ2FT/MWmvGGoaV/CfboLsLZuQKBgQDTNZdJrs8dbijynHZuuRwvXvwC03GDpEJO6c1tbZ1s9wjRyOZjBbQFRjDgFeWs9/T1aNBLUrgsQL9c9nzgUziXjr1Nmu52I0Mwxi13Km/q3mT+aQfdgNdu6ojsI5apQQHnN/9yMhF6sNHg63YOpH+b+1bGRCtr1XubuLlumKKscwKBgQDOtQ2lQjMtwsqJmyiyRLiUOChtvQ5XI7B2mhKCGi8kZ+WEAbNQcmThPesVzW+puER6D4Ar4hgsh9gCeuTaOzbRfZ+RLn3Aksu2WJEzfs6UrGvm6DU1INn0z/tPYRAwPX7sxoZZGxqML/z+/yQdf2DREoPdClcDa2Lmf1KpHdB+vQKBgBXFCVHz7a8n4pqXG/HvrIMJdEpKRwH9lUQS/zSPPtGzaLpOzchZFyQQBwuh1imM6Te+VPHeldMh3VeUpGxux39/m+160adlnRBS7O7CdgSsZZZ/dusS06HAFNraFDZf1/VgJTk9BeYygX+AZYu+0tReBKSs9BjKSVJUqPBIVUQXAoGBAJcZ7J6oVMcXxHxwqoAeEhtvLcaCU9BJK36XQ/5M67ceJ72mjJC6/plUbNukMAMNyyi62gO6I9exearecRpB/OGIhjNXm99Ar59dAM9228X8gGfryLFMkWcO/fNZzb6lxXmJ6b2LPY3KqpMwqRLTAU/zy+ax30eFoWdDHYa4X6e1AoGAfa8asVGOJ8GL9dlWufEeFkDEDKO9ww5GdnpN+wqLwePWqeJhWCHad7bge6SnlylJp5aZXl1+YaBTtOskC4Whq9TP2J+dNIgxsaF5EFZQJr8Xv+lY9lu0CruYOh9nTNF9x3nubxJgaSid/7yRPfAGnsJRiknB5bsrCvgsFQFjJVs=";
	let decode_content = "";
	function aes_decrypt(data) {
		let key = CryptoJS$1.enc.Hex.parse("686A64686E780A0A0A0A0A0A0A0A0A0A");
		let iv = CryptoJS$1.enc.Hex.parse("647A797964730A0A0A0A0A0A0A0A0A0A");
		let ciphertext = CryptoJS$1.enc.Base64.parse(data);
		let decrypted = CryptoJS$1.AES.decrypt({ ciphertext }, key, {
			iv,
			mode: CryptoJS$1.mode.CBC,
			padding: CryptoJS$1.pad.Pkcs7
		}).toString(CryptoJS$1.enc.Utf8);
		return decrypted;
	}
	let error_log = false;
	function logger(text) {
		if (error_log) {
			log("[getOriginalJs]", text);
		}
	}
	let decode_funcs = [
		(text) => {
			try {
				return ungzip$1(text);
			} catch (e) {
				logger("非gzip加密");
				return "";
			}
		},
		(text) => {
			try {
				return base64Decode$2(text);
			} catch (e) {
				logger("非b64加密");
				return "";
			}
		},
		(text) => {
			try {
				return aes_decrypt(text);
			} catch (e) {
				logger("非aes加密");
				return "";
			}
		},
		(text) => {
			try {
				return RSA.decode(text, rsa_private_key, null);
			} catch (e) {
				logger("非rsa加密");
				return "";
			}
		}
	];
	let func_index = 0;
	while (!current_match.test(decode_content)) {
		decode_content = decode_funcs[func_index](js_code);
		func_index++;
		if (func_index >= decode_funcs.length) {
			break;
		}
	}
	return decode_content;
}
const jsEncoder = {
	base64Encode: base64Encode$1,
	gzip,
	aes_encrypt: function(data) {
		let key = CryptoJS$1.enc.Hex.parse("686A64686E780A0A0A0A0A0A0A0A0A0A");
		let iv = CryptoJS$1.enc.Hex.parse("647A797964730A0A0A0A0A0A0A0A0A0A");
		let encrypted = CryptoJS$1.AES.encrypt(data, key, {
			iv,
			mode: CryptoJS$1.mode.CBC,
			padding: CryptoJS$1.pad.Pkcs7
		});
		return encrypted.ciphertext.toString(CryptoJS$1.enc.Base64);
	},
	rsa_encode: function(text) {
		let rsa_private_key = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCqin/jUpqM6+fgYP/oMqj9zcdHMM0mEZXLeTyixIJWP53lzJV2N2E3OP6BBpUmq2O1a9aLnTIbADBaTulTNiOnVGoNG58umBnupnbmmF8iARbDp2mTzdMMeEgLdrfXS6Y3VvazKYALP8EhEQykQVarexR78vRq7ltY3quXx7cgI0ROfZz5Sw3UOLQJ+VoWmwIxu9AMEZLVzFDQN93hzuzs3tNyHK6xspBGB7zGbwCg+TKi0JeqPDrXxYUpAz1cQ/MO+Da0WgvkXnvrry8NQROHejdLVOAslgr6vYthH9bKbsGyNY3H+P12kcxo9RAcVveONnZbcMyxjtF5dWblaernAgMBAAECggEAGdEHlSEPFmAr5PKqKrtoi6tYDHXdyHKHC5tZy4YV+Pp+a6gxxAiUJejx1hRqBcWSPYeKne35BM9dgn5JofgjI5SKzVsuGL6bxl3ayAOu+xXRHWM9f0t8NHoM5fdd0zC3g88dX3fb01geY2QSVtcxSJpEOpNH3twgZe6naT2pgiq1S4okpkpldJPo5GYWGKMCHSLnKGyhwS76gF8bTPLoay9Jxk70uv6BDUMlA4ICENjmsYtd3oirWwLwYMEJbSFMlyJvB7hjOjR/4RpT4FPnlSsIpuRtkCYXD4jdhxGlvpXREw97UF2wwnEUnfgiZJ2FT/MWmvGGoaV/CfboLsLZuQKBgQDTNZdJrs8dbijynHZuuRwvXvwC03GDpEJO6c1tbZ1s9wjRyOZjBbQFRjDgFeWs9/T1aNBLUrgsQL9c9nzgUziXjr1Nmu52I0Mwxi13Km/q3mT+aQfdgNdu6ojsI5apQQHnN/9yMhF6sNHg63YOpH+b+1bGRCtr1XubuLlumKKscwKBgQDOtQ2lQjMtwsqJmyiyRLiUOChtvQ5XI7B2mhKCGi8kZ+WEAbNQcmThPesVzW+puER6D4Ar4hgsh9gCeuTaOzbRfZ+RLn3Aksu2WJEzfs6UrGvm6DU1INn0z/tPYRAwPX7sxoZZGxqML/z+/yQdf2DREoPdClcDa2Lmf1KpHdB+vQKBgBXFCVHz7a8n4pqXG/HvrIMJdEpKRwH9lUQS/zSPPtGzaLpOzchZFyQQBwuh1imM6Te+VPHeldMh3VeUpGxux39/m+160adlnRBS7O7CdgSsZZZ/dusS06HAFNraFDZf1/VgJTk9BeYygX+AZYu+0tReBKSs9BjKSVJUqPBIVUQXAoGBAJcZ7J6oVMcXxHxwqoAeEhtvLcaCU9BJK36XQ/5M67ceJ72mjJC6/plUbNukMAMNyyi62gO6I9exearecRpB/OGIhjNXm99Ar59dAM9228X8gGfryLFMkWcO/fNZzb6lxXmJ6b2LPY3KqpMwqRLTAU/zy+ax30eFoWdDHYa4X6e1AoGAfa8asVGOJ8GL9dlWufEeFkDEDKO9ww5GdnpN+wqLwePWqeJhWCHad7bge6SnlylJp5aZXl1+YaBTtOskC4Whq9TP2J+dNIgxsaF5EFZQJr8Xv+lY9lu0CruYOh9nTNF9x3nubxJgaSid/7yRPfAGnsJRiknB5bsrCvgsFQFjJVs=";
		return RSA.encode(text, rsa_private_key, null);
	}
};
const jsDecoder = {
	base64Decode: base64Decode$2,
	ungzip: ungzip$1,
	aes_decrypt: function(data) {
		let key = CryptoJS$1.enc.Hex.parse("686A64686E780A0A0A0A0A0A0A0A0A0A");
		let iv = CryptoJS$1.enc.Hex.parse("647A797964730A0A0A0A0A0A0A0A0A0A");
		let ciphertext = CryptoJS$1.enc.Base64.parse(data);
		let decrypted = CryptoJS$1.AES.decrypt({ ciphertext }, key, {
			iv,
			mode: CryptoJS$1.mode.CBC,
			padding: CryptoJS$1.pad.Pkcs7
		}).toString(CryptoJS$1.enc.Utf8);
		return decrypted;
	},
	rsa_decode: function(text) {
		let rsa_private_key = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCqin/jUpqM6+fgYP/oMqj9zcdHMM0mEZXLeTyixIJWP53lzJV2N2E3OP6BBpUmq2O1a9aLnTIbADBaTulTNiOnVGoNG58umBnupnbmmF8iARbDp2mTzdMMeEgLdrfXS6Y3VvazKYALP8EhEQykQVarexR78vRq7ltY3quXx7cgI0ROfZz5Sw3UOLQJ+VoWmwIxu9AMEZLVzFDQN93hzuzs3tNyHK6xspBGB7zGbwCg+TKi0JeqPDrXxYUpAz1cQ/MO+Da0WgvkXnvrry8NQROHejdLVOAslgr6vYthH9bKbsGyNY3H+P12kcxo9RAcVveONnZbcMyxjtF5dWblaernAgMBAAECggEAGdEHlSEPFmAr5PKqKrtoi6tYDHXdyHKHC5tZy4YV+Pp+a6gxxAiUJejx1hRqBcWSPYeKne35BM9dgn5JofgjI5SKzVsuGL6bxl3ayAOu+xXRHWM9f0t8NHoM5fdd0zC3g88dX3fb01geY2QSVtcxSJpEOpNH3twgZe6naT2pgiq1S4okpkpldJPo5GYWGKMCHSLnKGyhwS76gF8bTPLoay9Jxk70uv6BDUMlA4ICENjmsYtd3oirWwLwYMEJbSFMlyJvB7hjOjR/4RpT4FPnlSsIpuRtkCYXD4jdhxGlvpXREw97UF2wwnEUnfgiZJ2FT/MWmvGGoaV/CfboLsLZuQKBgQDTNZdJrs8dbijynHZuuRwvXvwC03GDpEJO6c1tbZ1s9wjRyOZjBbQFRjDgFeWs9/T1aNBLUrgsQL9c9nzgUziXjr1Nmu52I0Mwxi13Km/q3mT+aQfdgNdu6ojsI5apQQHnN/9yMhF6sNHg63YOpH+b+1bGRCtr1XubuLlumKKscwKBgQDOtQ2lQjMtwsqJmyiyRLiUOChtvQ5XI7B2mhKCGi8kZ+WEAbNQcmThPesVzW+puER6D4Ar4hgsh9gCeuTaOzbRfZ+RLn3Aksu2WJEzfs6UrGvm6DU1INn0z/tPYRAwPX7sxoZZGxqML/z+/yQdf2DREoPdClcDa2Lmf1KpHdB+vQKBgBXFCVHz7a8n4pqXG/HvrIMJdEpKRwH9lUQS/zSPPtGzaLpOzchZFyQQBwuh1imM6Te+VPHeldMh3VeUpGxux39/m+160adlnRBS7O7CdgSsZZZ/dusS06HAFNraFDZf1/VgJTk9BeYygX+AZYu+0tReBKSs9BjKSVJUqPBIVUQXAoGBAJcZ7J6oVMcXxHxwqoAeEhtvLcaCU9BJK36XQ/5M67ceJ72mjJC6/plUbNukMAMNyyi62gO6I9exearecRpB/OGIhjNXm99Ar59dAM9228X8gGfryLFMkWcO/fNZzb6lxXmJ6b2LPY3KqpMwqRLTAU/zy+ax30eFoWdDHYa4X6e1AoGAfa8asVGOJ8GL9dlWufEeFkDEDKO9ww5GdnpN+wqLwePWqeJhWCHad7bge6SnlylJp5aZXl1+YaBTtOskC4Whq9TP2J+dNIgxsaF5EFZQJr8Xv+lY9lu0CruYOh9nTNF9x3nubxJgaSid/7yRPfAGnsJRiknB5bsrCvgsFQFjJVs=";
		return RSA.decode(text, rsa_private_key, null);
	}
};
/**
* vodDeal函数 - 处理播放源排序和重命名
* @param {Object} vod
* @param {Object} rule
* @returns {*}
*/
function vodDeal(vod, rule) {
	if (!vod || !rule) return vod;
	try {
		if (rule.tab_order && rule.tab_order.length > 0 && vod.vod_play_from) {
			let froms = vod.vod_play_from.split("$$$");
			let urls = vod.vod_play_url ? vod.vod_play_url.split("$$$") : [];
			let orderedFroms = [];
			let orderedUrls = [];
			rule.tab_order.forEach((orderItem) => {
				let index = froms.findIndex((from) => from.includes(orderItem));
				if (index !== -1) {
					orderedFroms.push(froms[index]);
					if (urls[index]) {
						orderedUrls.push(urls[index]);
					}
					froms.splice(index, 1);
					urls.splice(index, 1);
				}
			});
			orderedFroms = orderedFroms.concat(froms);
			orderedUrls = orderedUrls.concat(urls);
			vod.vod_play_from = orderedFroms.join("$$$");
			vod.vod_play_url = orderedUrls.join("$$$");
		}
		if (rule.tab_rename && Object.keys(rule.tab_rename).length > 0 && vod.vod_play_from) {
			let froms = vod.vod_play_from.split("$$$");
			const renameEntries = Object.entries(rule.tab_rename);
			froms = froms.map((from) => {
				for (const [key, value] of renameEntries) {
					if (from.includes(key)) {
						return from.replace(key, value);
					}
				}
				return from;
			});
			vod.vod_play_from = froms.join("$$$");
		}
		if (rule.tab_remove && rule.tab_remove.length > 0 && vod.vod_play_from) {
			let froms = vod.vod_play_from.split("$$$");
			let urls = vod.vod_play_url ? vod.vod_play_url.split("$$$") : [];
			let filteredFroms = [];
			let filteredUrls = [];
			froms.forEach((from, index) => {
				let shouldRemove = false;
				for (const removeItem of rule.tab_remove) {
					if (from.includes(removeItem)) {
						shouldRemove = true;
						break;
					}
				}
				if (!shouldRemove) {
					filteredFroms.push(from);
					if (urls[index]) {
						filteredUrls.push(urls[index]);
					}
				}
			});
			vod.vod_play_from = filteredFroms.join("$$$");
			vod.vod_play_url = filteredUrls.join("$$$");
		}
	} catch (e) {
		log(`[vodDeal] vodDeal处理失败: ${e.message}`);
	}
	return vod;
}
/**
* 通用图片处理函数
* 处理图片替换和图片来源逻辑
* @param {string} vod_pic - 原始图片URL
* @param {object} moduleObject - 模块对象，包含图片替换和图片来源配置
* @param {object} injectVars - 注入变量，用于函数调用上下文
* @returns {Promise<string>} - 处理后的图片URL
*/
async function processImage(vod_pic, moduleObject, injectVars = null) {
	if (!vod_pic) {
		return vod_pic;
	}
	try {
		if (moduleObject["图片替换"]) {
			if (typeof moduleObject["图片替换"] === "function") {
				if (injectVars) {
					vod_pic = await moduleObject["图片替换"].apply(injectVars, [vod_pic]);
				} else {
					vod_pic = await moduleObject["图片替换"](vod_pic);
				}
			} else if (typeof moduleObject["图片替换"] === "string" && moduleObject["图片替换"].includes("=>")) {
				let replace_from = moduleObject["图片替换"].split("=>")[0];
				let replace_to = moduleObject["图片替换"].split("=>")[1];
				vod_pic = vod_pic.replace(replace_from, replace_to);
			}
		}
		if (moduleObject["图片来源"] && vod_pic && vod_pic.startsWith("http")) {
			vod_pic += moduleObject["图片来源"];
		}
	} catch (e) {
		log(`[processImage] 图片处理失败: ${e.message}`);
	}
	return vod_pic;
}
function formatSrtTime(milliseconds) {
	const hours = Math.floor(milliseconds / 36e5);
	const minutes = Math.floor(milliseconds % 36e5 / 6e4);
	const seconds = Math.floor(milliseconds % 6e4 / 1e3);
	const ms = milliseconds % 1e3;
	return `${hours.toString().padStart(2, "0")}:${minutes.toString().padStart(2, "0")}:${seconds.toString().padStart(2, "0")},${ms.toString().padStart(3, "0")}`;
}
function lrcToSrt(lrcContent) {
	if (!lrcContent || typeof lrcContent !== "string") {
		return "";
	}
	const lines = lrcContent.split("\n");
	const timeLines = [];
	for (const line of lines) {
		const trimmedLine = line.trim();
		if (!trimmedLine) continue;
		const timeMatch = trimmedLine.match(/^\[(\d{1,2}):(\d{2})(?:\.(\d{1,3}))?\](.*)$/);
		if (timeMatch) {
			const minutes = parseInt(timeMatch[1]);
			const seconds = parseInt(timeMatch[2]);
			const milliseconds = timeMatch[3] ? parseInt(timeMatch[3].padEnd(3, "0")) : 0;
			const text = timeMatch[4].trim();
			const totalMs = minutes * 60 * 1e3 + seconds * 1e3 + milliseconds;
			if (text) {
				timeLines.push({
					time: totalMs,
					text
				});
			}
		}
	}
	timeLines.sort((a, b) => a.time - b.time);
	if (timeLines.length === 0) {
		return "";
	}
	let srtContent = "";
	for (let i = 0; i < timeLines.length; i++) {
		const currentLine = timeLines[i];
		const nextLine = timeLines[i + 1];
		const endTime = nextLine ? nextLine.time : currentLine.time + 3e3;
		const startTimeStr = formatSrtTime(currentLine.time);
		const endTimeStr = formatSrtTime(endTime);
		srtContent += `${i + 1}\n`;
		srtContent += `${startTimeStr} --> ${endTimeStr}\n`;
		srtContent += `${currentLine.text}\n\n`;
	}
	return srtContent.trim();
}
/**
* 字符串正则表达式提取函数
* @param {string} content - 要搜索的源字符串
* @param {string} pattern - 正则表达式模式
* @param {number} groupIndex - 捕获组索引，0表示整个匹配，1表示第一个捕获组，以此类推
* @returns {string} 提取到的字符串，如果没有匹配则返回空字符串
*/
function strExtract(content, pattern, groupIndex = 0) {
	try {
		const regex = new RegExp(pattern);
		const match = content.match(regex);
		if (match && match[groupIndex] !== undefined) {
			return match[groupIndex];
		}
		return "";
	} catch (error) {
		console.error("strExtract error:", error);
		return "";
	}
}
const pako = globalThis.pako;
const gbkTool = globalThis.gbkTool;
const JSEncrypt$1 = globalThis.JSEncrypt;
const CryptoJS$1 = globalThis.CryptoJS;
const NODERSA = globalThis.NODERSA;
const JSON5$1 = globalThis.JSON5;
const jinja$1 = globalThis.jinja;
const atob$1 = globalThis.atob;
const btoa$1 = globalThis.btoa;
const stringify$1 = JSON.stringify;
globalThis.base64Encode = base64Encode$1;
globalThis.base64Decode = base64Decode$2;
globalThis.gzip = gzip;
globalThis.ungzip = ungzip$1;
globalThis.parseQueryString = parseQueryString;
globalThis.lrcToSrt = lrcToSrt;
globalThis.strExtract = strExtract;

//#endregion
//#region ../libs/drpysParser.js
/**
* 页面请求缓存管理类
* 实现大小限制、FIFO策略和自动清理机制
*/
var PageRequestCache = class {
	constructor(maxSize = 20, maxAge = 2e4) {
		this.cache = new Map();
		this.accessOrder = [];
		this.timers = new Map();
		this.maxSize = maxSize;
		this.maxAge = maxAge;
	}
	get(key) {
		const item = this.cache.get(key);
		if (item) {
			this._updateAccessOrder(key);
			return item.value;
		}
		return undefined;
	}
	set(key, value) {
		if (this.cache.has(key)) {
			this._clearTimer(key);
		} else {
			this._evictIfNeeded();
		}
		const item = {
			value,
			timestamp: Date.now()
		};
		this.cache.set(key, item);
		this._updateAccessOrder(key);
		const timer = setTimeout(() => {
			this.delete(key);
			console.log(`[PageRequestCache] 自动清理过期缓存: ${key}`);
		}, this.maxAge);
		if (timer.unref) timer.unref();
		this.timers.set(key, timer);
		console.log(`[PageRequestCache] 缓存已设置: ${key}, 当前缓存数量: ${this.cache.size}`);
	}
	delete(key) {
		if (this.cache.has(key)) {
			this.cache.delete(key);
			this._clearTimer(key);
			this._removeFromAccessOrder(key);
			return true;
		}
		return false;
	}
	clear() {
		for (const timer of this.timers.values()) {
			clearTimeout(timer);
		}
		this.cache.clear();
		this.accessOrder = [];
		this.timers.clear();
		console.log("[PageRequestCache] 已清理所有缓存");
	}
	has(key) {
		return this.cache.has(key);
	}
	get size() {
		return this.cache.size;
	}
	getStats() {
		return {
			size: this.cache.size,
			maxSize: this.maxSize,
			maxAge: this.maxAge,
			keys: Array.from(this.cache.keys())
		};
	}
	_updateAccessOrder(key) {
		this._removeFromAccessOrder(key);
		this.accessOrder.push(key);
	}
	_removeFromAccessOrder(key) {
		const index = this.accessOrder.indexOf(key);
		if (index > -1) {
			this.accessOrder.splice(index, 1);
		}
	}
	_clearTimer(key) {
		const timer = this.timers.get(key);
		if (timer) {
			clearTimeout(timer);
			this.timers.delete(key);
		}
	}
	_evictIfNeeded() {
		while (this.cache.size >= this.maxSize) {
			const oldestKey = this.accessOrder[0];
			if (oldestKey) {
				console.log(`[PageRequestCache] FIFO淘汰缓存: ${oldestKey}`);
				this.delete(oldestKey);
			} else {
				break;
			}
		}
	}
	[Symbol.iterator]() {
		return this.cache[Symbol.iterator]();
	}
};
const pageRequestCache = new PageRequestCache(20, 2e4);
/**
* 创建解析器上下文对象
* @param {string} url - 解析的URL
* @param {Object} rule - 规则对象
* @param {Object} extraVars - 额外的变量
* @returns {Object} 解析器上下文
*/
function createParserContext(url, rule, extraVars = {}) {
	const jsp = new jsoup(url);
	return {
		jsp,
		pdfh: jsp.pdfh.bind(jsp),
		pdfa: jsp.pdfa.bind(jsp),
		pd: jsp.pd.bind(jsp),
		pdfl: jsp.pdfl.bind(jsp),
		pjfh: jsp.pjfh.bind(jsp),
		pjfa: jsp.pjfa.bind(jsp),
		pj: jsp.pj.bind(jsp),
		MY_URL: url,
		HOST: rule.host,
		fetch_params: deepCopy$1(rule.rule_fetch_params),
		...extraVars
	};
}
/**
* 选择解析模式对应的解析函数
* @param {boolean} isJson - 是否为JSON模式
* @param {Object} context - 解析器上下文
* @returns {Object} 解析函数对象
*/
function selectParseMode(isJson, context) {
	if (isJson) {
		return {
			$pdfa: context.pjfa,
			$pdfh: context.pjfh,
			$pd: context.pj
		};
	}
	return {
		$pdfa: context.pdfa,
		$pdfh: context.pdfh,
		$pd: context.pd
	};
}
/**
* 缓存请求函数，专用于handleTemplateInheritance、commonClassParse、commonHomeListParse三个函数
* 这三个函数在同一次接口调用中共享缓存，host相同时复用HTML内容
* @param {Function} requestFunc - 请求函数
* @param {string} url - 请求URL
* @param {Object} options - 请求选项
* @param {string} cachePrefix - 缓存前缀，建议使用'host'
* @returns {Promise<string>} - 请求结果
*/
async function cachedRequest(requestFunc, url, options = {}, cachePrefix = "host") {
	const cacheKey = `${cachePrefix}:${md5$1(url + JSON.stringify(options))}`;
	let cached = pageRequestCache.get(cacheKey);
	if (cached) {
		log(`[cachedRequest] 使用缓存的页面内容: ${url}`);
		return cached;
	}
	log(`[cachedRequest] 首次请求页面: ${url}`);
	try {
		const result = await requestFunc(url, options);
		if (result) {
			pageRequestCache.set(cacheKey, result);
		}
		return result;
	} catch (e) {
		log(`[cachedRequest] 请求失败: ${url}, 错误: ${e.message}`);
		return "";
	}
}
/**
* 通用错误处理和日志记录函数
* @param {Function} operation - 要执行的操作函数
* @param {string} context - 上下文信息（用于日志）
* @param {*} defaultValue - 发生错误时的默认返回值
* @returns {Promise<*>} 操作结果或默认值
*/
async function safeExecute(operation, context, defaultValue = null) {
	try {
		return await operation();
	} catch (e) {
		log(`[${context}] 执行失败: ${e.message}`);
		return defaultValue;
	}
}
/**
* 安全解析HTML元素
* @param {Function} parseFunc - 解析函数
* @param {*} element - 要解析的元素
* @param {string} selector - 选择器
* @param {string} context - 上下文信息
* @param {string} defaultValue - 默认值
* @returns {string} 解析结果或默认值
*/
function safeParse(parseFunc, element, selector, context, defaultValue = "") {
	try {
		return parseFunc(element, selector).replace(/\n|\t/g, "").trim() || defaultValue;
	} catch (e) {
		log(`[${context}] 解析${selector}失败: ${e.message}`);
		return defaultValue;
	}
}
/**
* 安全解析URL（用于$pd函数）
* @param {Function} parseFunc - 解析函数（$pd）
* @param {*} element - 要解析的元素
* @param {string} selector - 选择器
* @param {string} baseUrl - 基础URL
* @param {string} context - 上下文信息
* @param {string} defaultValue - 默认值
* @returns {string} 解析结果或默认值
*/
function safeParseUrl(parseFunc, element, selector, baseUrl, context, defaultValue = "") {
	try {
		return parseFunc(element, selector, baseUrl) || defaultValue;
	} catch (e) {
		log(`[${context}] 解析${selector}失败: ${e.message}`);
		return defaultValue;
	}
}
/**
* 通用视频对象后处理函数
* 统一处理图片和vodDeal调用
* @param {Object} vod - 视频对象
* @param {Object} moduleObject - 模块对象
* @param {Object} context - 上下文对象
* @returns {Promise<Object>} 处理后的视频对象
*/
async function processVodCommon(vod, moduleObject, context) {
	if (vod.vod_pic) {
		try {
			vod.vod_pic = await processImage(vod.vod_pic, moduleObject, context);
		} catch (e) {
			log(`[processVodCommon] 图片处理失败: ${e.message}`);
		}
	}
	try {
		vod = vodDeal(vod, moduleObject);
	} catch (e) {
		log(`[processVodCommon] vodDeal发生错误: ${e.message}`);
	}
	return vod;
}
/**
* 创建基础视频对象
* @param {string} orId - 原始ID
* @param {string} vod_name - 视频名称
* @param {string} vod_pic - 视频图片
* @returns {Object} 基础视频对象
*/
function createBaseVod(orId, vod_name = "片名", vod_pic = "") {
	return {
		vod_id: orId,
		vod_name,
		vod_pic,
		type_name: "类型",
		vod_year: "年份",
		vod_area: "地区",
		vod_remarks: "更新信息",
		vod_actor: "主演",
		vod_director: "导演",
		vod_content: "简介"
	};
}
async function buildVodObject(element, params, moduleObject, injectVars, context) {
	const { p1, p2, p3, p4, p5 } = params;
	const { $pdfh, $pd, MY_URL } = context;
	let vod_name = $pdfh(element, p1);
	let vod_pic = "";
	try {
		vod_pic = $pd(element, p2);
	} catch (e) {}
	let vod_remarks = "";
	try {
		vod_remarks = $pdfh(element, p3);
	} catch (e) {}
	let links = [];
	for (let _p5 of p4.split("+")) {
		let link = !moduleObject.detailUrl ? $pd(element, _p5, MY_URL) : $pdfh(element, _p5);
		links.push(link);
	}
	let vod_id = links.join("$");
	let vod_content = "";
	if (p5) {
		try {
			vod_content = $pdfh(element, p5);
		} catch (e) {}
	}
	if (moduleObject["二级"] === "*") {
		vod_id = vod_id + "@@" + vod_name + "@@" + vod_pic;
	}
	if (vod_pic) {
		vod_pic = await processImage(vod_pic, moduleObject, injectVars);
	}
	return {
		"vod_id": vod_id,
		"vod_name": vod_name,
		"vod_pic": vod_pic,
		"vod_remarks": vod_remarks,
		"vod_content": vod_content
	};
}
async function homeParse(rule) {
	let url = rule.homeUrl;
	if (typeof rule.filter === "string" && rule.filter.trim().length > 0) {
		try {
			let filter_json = ungzip$1(rule.filter.trim());
			rule.filter = JSON.parse(filter_json);
		} catch (e) {
			log(`[homeParse] [${rule.title}] filter ungzip或格式化解密出错: ${e.message}`);
			rule.filter = {};
		}
	}
	let classes = [];
	if (rule.class_name && rule.class_url) {
		let names = rule.class_name.split("&");
		let urls = rule.class_url.split("&");
		let cnt = Math.min(names.length, urls.length);
		for (let i = 0; i < cnt; i++) {
			classes.push({
				"type_id": urls[i],
				"type_name": names[i],
				"type_flag": rule["class_flag"]
			});
		}
	}
	const context = createParserContext(url, rule, {
		TYPE: "home",
		input: url,
		classes,
		filters: rule.filter,
		cate_exclude: rule.cate_exclude,
		home_flag: rule.home_flag
	});
	return context;
}
async function homeParseAfter(d, _type, hikerListCol, hikerClassListCol, mergeList, injectVars) {
	if (!d) {
		d = {};
	}
	d.type = _type || "影视";
	if (hikerListCol) {
		d.hikerListCol = hikerListCol;
	}
	if (hikerClassListCol) {
		d.hikerClassListCol = hikerClassListCol;
	}
	if (mergeList) {
		d.hikerSkipEr = mergeList;
		d.mergeList = mergeList;
	}
	const { classes, filters, cate_exclude, home_flag } = injectVars;
	if (!Array.isArray(d.class)) {
		d.class = classes;
	}
	if (!d.filters) {
		d.filters = filters;
	}
	if (!d.list) {
		d.list = [];
	}
	if (!d.type_flag && home_flag) {
		d.type_flag = home_flag;
	}
	d.class = d.class.filter((it) => !cate_exclude || !new RegExp(cate_exclude).test(it.type_name));
	if (d.filters && Object.keys(d.filters).length === 1 && Object.keys(d.filters)[0] === "*") {
		const common_filters = d.filters["*"];
		const show_filters = {};
		d.class.forEach((it) => {
			show_filters[it.type_id] = common_filters;
		});
		d.filters = show_filters;
	}
	return d;
}
async function homeVodParse(rule) {
	let url = rule.homeUrl;
	return createParserContext(url, rule, {
		TYPE: "home",
		input: url,
		double: rule.double
	});
}
async function cateParse(rule, tid, pg, filter, extend) {
	log("[cateParse]", tid, pg, filter, extend);
	let url = rule.url.replaceAll("fyclass", tid);
	if (pg === 1 && url.includes("[") && url.includes("]")) {
		url = url.split("[")[1].split("]")[0];
	} else if (pg > 1 && url.includes("[") && url.includes("]")) {
		url = url.split("[")[0];
	}
	if (rule.filter_def && typeof rule.filter_def === "object") {
		try {
			if (Object.keys(rule.filter_def).length > 0 && rule.filter_def.hasOwnProperty(tid)) {
				let self_fl_def = rule.filter_def[tid];
				if (self_fl_def && typeof self_fl_def === "object") {
					let k = [Object.keys(self_fl_def)][0];
					k.forEach((k) => {
						if (!extend.hasOwnProperty(k)) {
							extend[k] = self_fl_def[k];
						}
					});
				}
			}
		} catch (e) {
			log(`[cateParse] 合并不同分类对应的默认筛选出错:${e.message}`);
		}
	}
	if (rule.filter_url) {
		if (!/fyfilter/.test(url)) {
			if (!url.endsWith("&") && !rule.filter_url.startsWith("&")) {
				url += "&";
			}
			url += rule.filter_url;
		} else {
			url = url.replace("fyfilter", rule.filter_url);
		}
		url = url.replaceAll("fyclass", tid);
		let fl = filter ? extend : {};
		if (rule.filter_def && typeof rule.filter_def === "object") {
			try {
				if (Object.keys(rule.filter_def).length > 0 && rule.filter_def.hasOwnProperty(tid)) {
					let self_fl_def = rule.filter_def[tid];
					if (self_fl_def && typeof self_fl_def === "object") {
						let fl_def = deepCopy$1(self_fl_def);
						fl = Object.assign(fl_def, fl);
					}
				}
			} catch (e) {
				log(`[cateParse] 合并不同分类对应的默认筛选出错:${e.message}`);
			}
		}
		let new_url;
		new_url = jinja$1.render(url, {
			fl,
			fyclass: tid
		});
		url = new_url;
	}
	if (/fypage/.test(url)) {
		if (url.includes("(") && url.includes(")")) {
			let url_rep = url.match(/.*?\((.*)\)/)[1];
			let cnt_page = url_rep.replaceAll("fypage", pg);
			let cnt_pg = eval(cnt_page);
			url = url.replaceAll(url_rep, cnt_pg).replaceAll("(", "").replaceAll(")", "");
		} else {
			url = url.replaceAll("fypage", pg);
		}
	}
	return createParserContext(url, rule, {
		MY_CATE: tid,
		MY_FL: extend,
		TYPE: "cate",
		input: url,
		MY_PAGE: pg
	});
}
async function cateParseAfter(rule, d, pg) {
	return d.length < 1 ? nodata : {
		"page": parseInt(pg),
		"pagecount": 9999,
		"limit": Number(rule.limit) || 20,
		"total": 999999,
		"list": d
	};
}
async function detailParse(rule, ids) {
	let vid = ids[0].toString();
	let orId = vid;
	let fyclass = "";
	log("[detailParse] orId:" + orId);
	if (vid.indexOf("$") > -1) {
		let tmp = vid.split("$");
		fyclass = tmp[0];
		vid = tmp[1];
	}
	let detailUrl = vid.split("@@")[0];
	let url;
	if (!detailUrl.startsWith("http") && !detailUrl.includes("/")) {
		url = rule.detailUrl.replaceAll("fyid", detailUrl).replaceAll("fyclass", fyclass);
	} else if (detailUrl.includes("/")) {
		url = urljoin$2(rule.homeUrl, detailUrl);
	} else {
		url = detailUrl;
	}
	return createParserContext(url, rule, {
		TYPE: "detail",
		input: url,
		vid,
		orId,
		fyclass,
		detailUrl
	});
}
async function detailParseAfter(vod) {
	return { list: [vod] };
}
async function searchParse(rule, wd, quick, pg) {
	if (rule.search_encoding) {
		if (rule.search_encoding.toLowerCase() !== "utf-8") {
			wd = encodeStr(wd, rule.search_encoding);
		}
	} else if (rule.encoding && rule.encoding.toLowerCase() !== "utf-8") {
		wd = encodeStr(wd, rule.encoding);
	}
	if (!rule.searchUrl) {
		return;
	}
	if (rule.searchNoPage && Number(pg) > 1) {
		return "{}";
	}
	let url = rule.searchUrl.replaceAll("**", wd);
	if (pg === 1 && url.includes("[") && url.includes("]") && !url.includes("#")) {
		url = url.split("[")[1].split("]")[0];
	} else if (pg > 1 && url.includes("[") && url.includes("]") && !url.includes("#")) {
		url = url.split("[")[0];
	}
	if (/fypage/.test(url)) {
		if (url.includes("(") && url.includes(")")) {
			let url_rep = url.match(/.*?\((.*)\)/)[1];
			let cnt_page = url_rep.replaceAll("fypage", pg);
			let cnt_pg = eval(cnt_page);
			url = url.replaceAll(url_rep, cnt_pg).replaceAll("(", "").replaceAll(")", "");
		} else {
			url = url.replaceAll("fypage", pg);
		}
	}
	return createParserContext(url, rule, {
		TYPE: "search",
		MY_PAGE: pg,
		KEY: wd,
		input: url,
		detailUrl: rule.detailUrl || ""
	});
}
async function searchParseAfter(rule, d, pg) {
	return {
		"page": parseInt(pg),
		"pagecount": 9999,
		"limit": Number(rule.limit) || 20,
		"total": 999999,
		"list": d
	};
}
async function playParse(rule, flag, id, flags) {
	let url = id;
	if (!/http/.test(url)) {
		try {
			url = base64Decode$2(url);
			log("[playParse] id is base64 data");
		} catch (e) {}
	}
	url = decodeURIComponent(url);
	if (!/^http/.test(url)) {
		url = id;
	}
	if (id !== url) {
		log(`[playParse] ${id} => ${url}`);
	} else {
		log(`[playParse] ${url}`);
	}
	return createParserContext(url, rule, {
		TYPE: "play",
		MY_FLAG: flag,
		flag,
		input: url
	});
}
async function playParseAfter(rule, obj, playUrl, flag) {
	let common_play = {
		parse: SPECIAL_URL.test(playUrl) || /^(push:)/.test(playUrl) ? 0 : 1,
		url: playUrl,
		flag,
		jx: tellIsJx$1(playUrl)
	};
	let lazy_play;
	const is_lazy_function = rule.play_parse && rule.lazy && typeof rule.lazy === "function";
	const is_lazy_function_str = rule.play_parse && rule.lazy && typeof rule.lazy === "string" && rule.lazy.startsWith("js:");
	if (!rule.play_parse || !rule.lazy) {
		lazy_play = common_play;
	} else if (is_lazy_function || is_lazy_function_str) {
		try {
			lazy_play = typeof obj === "object" ? obj : {
				parse: SPECIAL_URL.test(obj) || /^(push:)/.test(obj) ? 0 : 1,
				jx: tellIsJx$1(obj),
				url: obj
			};
		} catch (e) {
			log(`[playParseAfter] js免嗅错误:${e.message}`);
			lazy_play = common_play;
		}
	} else {
		lazy_play = common_play;
	}
	if (Array.isArray(rule.play_json) && rule.play_json.length > 0) {
		let web_url = lazy_play.url;
		for (let pjson of rule.play_json) {
			if (pjson.re && (pjson.re === "*" || web_url.match(new RegExp(pjson.re)))) {
				if (pjson.json && typeof pjson.json === "object") {
					let base_json = pjson.json;
					lazy_play = Object.assign(lazy_play, base_json);
					break;
				}
			}
		}
	} else if (rule.play_json && !Array.isArray(rule.play_json)) {
		let base_json = {
			jx: 1,
			parse: 1
		};
		lazy_play = Object.assign(lazy_play, base_json);
	} else if (!rule.play_json) {
		let base_json = {
			jx: 0,
			parse: 1
		};
		lazy_play = Object.assign(lazy_play, base_json);
	}
	return lazy_play;
}
async function proxyParse(rule, params) {
	return {
		TYPE: "proxy",
		input: params.url || "",
		MY_URL: params.url || ""
	};
}
/**
* 通用分类解析函数
* @param moduleObject
* @param method
* @param injectVars
* @param args
* @returns {Promise<*>}
*/
async function commonClassParse(moduleObject, method, injectVars, args) {
	let p = moduleObject[method].trim();
	let cate_exclude = moduleObject["cate_exclude"].trim();
	const tmpFunction = async function() {
		const { input, MY_URL, pdfa, pdfh, pd, pjfa, pjfh, pj } = this;
		let classes = [];
		p = p.split(";");
		let p0 = p[0];
		let is_json = p0.startsWith("json:");
		p0 = p0.replace(/^(jsp:|json:|jq:)/, "");
		let html = await executeSandboxFunction("cachedRequest", [
			sandboxVar("request"),
			sandboxString(input),
			{},
			sandboxString("host")
		], moduleObject.context, "获取HTML异常", "");
		if (html) {
			if (is_json) {
				html = dealJson(html);
			}
			const { $pdfa, $pdfh, $pd } = selectParseMode(is_json, this);
			if (is_json) {
				try {
					let list = $pdfa(html, p0);
					if (list && list.length > 0) {
						classes = list;
					}
				} catch (e) {
					log(`[commonClassParse] json分类解析失败:${e.message}`);
				}
			} else if (p.length >= 3) {
				try {
					let list = $pdfa(html, p0);
					if (list && list.length > 0) {
						for (const it of list) {
							try {
								let name = $pdfh(it, p[1]);
								if (cate_exclude && new RegExp(cate_exclude).test(name)) {
									continue;
								}
								let url = $pd(it, p[2]);
								if (p.length > 3 && p[3]) {
									let exp = new RegExp(p[3]);
									let match = url.match(exp);
									if (match && match[1]) {
										url = match[1];
									}
								}
								if (name.trim()) {
									classes.push({
										"type_id": url.trim(),
										"type_name": name.trim()
									});
								}
							} catch (e) {
								log(`[commonClassParse] 分类列表解析元素失败:${e.message}`);
							}
						}
					}
				} catch (e) {
					log(`[commonClassParse] 分类列表解析失败:${e.message}`);
				}
			}
		}
		return { class: classes };
	};
	return await invokeWithInjectVars(moduleObject, tmpFunction, injectVars, args);
}
/**
* 通用推荐字符串解析函数
* @param moduleObject
* @param method
* @param injectVars
* @param args
* @returns {Promise<*>}
*/
async function commonHomeListParse(moduleObject, method, injectVars, args) {
	let p = moduleObject[method] === "*" && moduleObject["一级"] ? moduleObject["一级"] : moduleObject[method];
	if (typeof p === "function") {
		return await invokeWithInjectVars(moduleObject, p, injectVars, args);
	}
	if (moduleObject[method] === "*") {
		moduleObject["double"] = false;
	}
	p = p.trim();
	let pp = typeof moduleObject["一级"] === "string" ? moduleObject["一级"].split(";") : [];
	const is_double = moduleObject.double;
	const tmpFunction = async function() {
		const { input, MY_URL, pdfa, pdfh, pd, pjfa, pjfh, pj } = this;
		const d = [];
		const config = initCommonParseConfig(p, pp, MY_URL, moduleObject);
		const { p: parsedP, p0, is_json, parseParams } = config;
		if (!is_double && parsedP.length < 5 || is_double && parsedP.length < 6) {
			return d;
		}
		let html = await getCommonHtml(MY_URL, moduleObject, "cachedRequest");
		if (html) {
			p = parsedP;
			if (is_double) {
				if (is_json) {
					html = dealJson(html);
				}
				const { $pdfa, $pdfh, $pd } = selectParseMode(is_json, this);
				let list = $pdfa(html, p0);
				const parseContext = {
					$pdfa,
					$pdfh,
					$pd,
					MY_URL
				};
				let p1 = getPP(p, 1, pp, 0);
				let p2 = getPP(p, 2, pp, 1);
				let p3 = getPP(p, 3, pp, 2);
				let p4 = getPP(p, 4, pp, 3);
				let p5 = getPP(p, 5, pp, 4);
				let p6 = getPP(p, 6, pp, 5);
				for (const it of list) {
					let list2 = $pdfa(it, p1);
					for (let it2 of list2) {
						const params = {
							p1: p2,
							p2: p3,
							p3: p4,
							p4: p5,
							p5: p.length > 6 && p[6] ? p6 : ""
						};
						const vod = await buildVodObject(it2, params, moduleObject, injectVars, parseContext);
						d.push(vod);
					}
				}
			} else {
				const result = await parseCommonList(html, config, this, moduleObject, injectVars);
				d.push(...result);
			}
		}
		return d;
	};
	return await invokeWithInjectVars(moduleObject, tmpFunction, injectVars, args);
}
/**
* 通用解析初始化逻辑
* @param {string} p - 解析字符串
* @param {Array} pp - 一级解析分割列表
* @param {string} MY_URL - 当前URL
* @param {Object} moduleObject - 模块对象
* @returns {Object} 包含解析配置的对象
*/
function initCommonParseConfig(p, pp, MY_URL, moduleObject) {
	p = p.split(";");
	let p0 = getPP(p, 0, pp, 0);
	let is_json = p0.startsWith("json:");
	p0 = p0.replace(/^(jsp:|json:|jq:)/, "");
	return {
		p,
		p0,
		is_json,
		parseParams: {
			p1: getPP(p, 1, pp, 1),
			p2: getPP(p, 2, pp, 2),
			p3: getPP(p, 3, pp, 3),
			p4: getPP(p, 4, pp, 4),
			p5: getPP(p, 5, pp, 5)
		}
	};
}
/**
* 通用HTML获取逻辑
* @param {string} url - 请求URL
* @param {Object} moduleObject - 模块对象
* @param {string} method - 请求方法类型
* @returns {Promise<string>} HTML内容
*/
async function getCommonHtml(url, moduleObject, method = "get") {
	if (method === "cachedRequest") {
		return await executeSandboxFunction("cachedRequest", [
			sandboxVar("request"),
			sandboxString(url),
			{},
			sandboxString("host")
		], moduleObject.context, "获取HTML异常", "");
	} else if (method === "request") {
		return await executeSandboxFunction("request", [sandboxString(url), {}], moduleObject.context, "获取HTML异常", "");
	} else {
		return await executeSandboxFunction("getHtml", [sandboxString(url)], moduleObject.context, "获取HTML异常", "");
	}
}
/**
* 通用列表解析逻辑
* @param {string} html - HTML内容
* @param {Object} config - 解析配置
* @param {Object} context - 解析上下文
* @param {Object} moduleObject - 模块对象
* @param {Object} injectVars - 注入变量
* @returns {Array} 解析结果列表
*/
async function parseCommonList(html, config, context, moduleObject, injectVars) {
	const { p0, is_json, parseParams } = config;
	const d = [];
	if (is_json) {
		html = dealJson(html);
	}
	const { $pdfa, $pdfh, $pd } = selectParseMode(is_json, context);
	let list = $pdfa(html, p0);
	const parseContext = {
		$pdfa,
		$pdfh,
		$pd,
		MY_URL: context.MY_URL
	};
	for (const it of list) {
		const vod = await buildVodObject(it, parseParams, moduleObject, injectVars, parseContext);
		d.push(vod);
	}
	return d;
}
/**
* 推荐和搜索单字段继承一级
* @param p 推荐或搜索的解析分割;列表
* @param pn 自身列表序号
* @param pp  一级解析分割;列表
* @param ppn 继承一级序号
* @returns {*}
*/
function getPP(p, pn, pp, ppn) {
	try {
		return p[pn] === "*" && pp.length > ppn ? pp[ppn] : p[pn];
	} catch (e) {
		return "";
	}
}
/**
* 通用一级字符串解析函数
* @param moduleObject
* @param method
* @param injectVars
* @param args
* @returns {Promise<*>}
*/
async function commonCategoryListParse(moduleObject, method, injectVars, args) {
	let p = moduleObject[method].trim();
	const tmpFunction = async function() {
		const { input, MY_URL, MY_CATE, pdfa, pdfh, pd, pjfa, pjfh, pj } = this;
		const d = [];
		const config = initCommonParseConfig(p, [], MY_URL, moduleObject);
		const { p: parsedP, p0, is_json } = config;
		if (parsedP.length < 5) {
			return d;
		}
		let html = await executeSandboxFunction("request", [sandboxString(input), {}], moduleObject.context, "获取HTML异常", "");
		if (html) {
			if (is_json) {
				html = dealJson(html);
			}
			const { $pdfa, $pdfh, $pd } = selectParseMode(is_json, this);
			let list = $pdfa(html, p0);
			p = parsedP;
			for (const it of list) {
				let links = p[4].split("+").map((p4) => {
					return !moduleObject.detailUrl ? $pd(it, p4, MY_URL) : $pdfh(it, p4);
				});
				let link = links.join("$");
				let vod_id = moduleObject.detailUrl ? MY_CATE + "$" + link : link;
				let vod_name = $pdfh(it, p[1]).replace(/\n|\t/g, "").trim();
				let vod_pic = $pd(it, p[2], MY_URL);
				let vod_remarks = $pdfh(it, p[3]).replace(/\n|\t/g, "").trim();
				if (moduleObject["二级"] === "*") {
					vod_id = vod_id + "@@" + vod_name + "@@" + vod_pic;
				}
				if (vod_pic) {
					vod_pic = await processImage(vod_pic, moduleObject, injectVars);
				}
				d.push({
					"vod_id": vod_id,
					"vod_name": vod_name,
					"vod_pic": vod_pic,
					"vod_remarks": vod_remarks
				});
			}
		}
		return d;
	};
	return await invokeWithInjectVars(moduleObject, tmpFunction, injectVars, args);
}
/**
* 通用二级字符串/对象解析函数
* @param moduleObject
* @param method
* @param injectVars
* @param args
* @returns {Promise<*>}
*/
async function commonDetailListParse(moduleObject, method, injectVars, args) {
	let p = moduleObject[method];
	const tmpFunction = async function() {
		const { input, vid, orId, fyclass, MY_URL, HOST, fetch_params, jsp, pdfh, pdfa, pd, pdfl, pjfh, pjfa, pj } = this;
		let vod_name = "片名";
		let vod_pic = "";
		let vod_id = orId;
		if (p === "*") {
			let extra = orId.split("@@");
			vod_name = extra.length > 1 ? extra[1] : vod_name;
			vod_pic = extra.length > 2 ? extra[2] : vod_pic;
		}
		let vod = createBaseVod(vod_id, vod_name, vod_pic);
		vod.type_name = "类型";
		vod.vod_year = "年份";
		vod.vod_area = "地区";
		vod.vod_remarks = "更新信息";
		vod.vod_actor = "主演";
		vod.vod_director = "导演";
		vod.vod_content = "简介";
		let html = "";
		if (moduleObject.二级访问前 && typeof moduleObject.二级访问前 === "function") {
			log("[commonDetailListParse] 开始执行二级访问前代码");
			try {
				const result = await moduleObject.二级访问前.call(this);
				if (result && result !== this.MY_URL) {
					log(`[commonDetailListParse] 二级访问前返回新URL: ${result}`);
					this.MY_URL = result;
					this.input = result;
					const newJsp = new jsoup(result);
					this.jsp = newJsp;
					this.pdfh = newJsp.pdfh.bind(newJsp);
					this.pdfa = newJsp.pdfa.bind(newJsp);
					this.pd = newJsp.pd.bind(newJsp);
					this.pdfl = newJsp.pdfl.bind(newJsp);
					this.pjfh = newJsp.pjfh.bind(newJsp);
					this.pjfa = newJsp.pjfa.bind(newJsp);
					this.pj = newJsp.pj.bind(newJsp);
					html = "";
				}
			} catch (e) {
				log(`[commonDetailListParse] 二级访问前执行失败:${e.message}`);
			}
		}
		if (p === "*") {
			vod.vod_play_from = "道长在线";
			vod.vod_remarks = input;
			vod.vod_actor = "没有二级,只有一级链接直接嗅探播放";
			vod.vod_content = MY_URL;
			vod.vod_play_url = "嗅探播放$" + MY_URL.split("@@")[0];
		} else if (typeof p === "object" && p !== null) {
			if (!html) {
				html = await executeSandboxFunction("request", [sandboxString(input)], moduleObject.context, "[commonDetailListParse] 获取详情页源码失败");
			}
			if (p.is_json) {
				log("[commonDetailListParse] 二级是json");
				html = dealJson(html);
			} else {
				log("[commonDetailListParse] 二级默认jq");
			}
			const { $pdfa, $pdfh, $pd } = selectParseMode(p.is_json, this);
			if (p.title) {
				let p1 = p.title.split(";");
				vod.vod_name = safeParse($pdfh, html, p1[0], "commonDetailListParse-title", vod.vod_name);
				if (p1.length > 1) {
					let type_name = safeParse($pdfh, html, p1[1], "commonDetailListParse-type").replace(/ /g, "");
					vod.type_name = type_name || vod.type_name;
				}
			}
			if (p.desc) {
				let p1 = p.desc.split(";");
				vod.vod_remarks = safeParse($pdfh, html, p1[0], "commonDetailListParse-remarks", vod.vod_remarks);
				vod.vod_year = p1.length > 1 ? safeParse($pdfh, html, p1[1], "commonDetailListParse-year", vod.vod_year) : vod.vod_year;
				vod.vod_area = p1.length > 2 ? safeParse($pdfh, html, p1[2], "commonDetailListParse-area", vod.vod_area) : vod.vod_area;
				vod.vod_actor = p1.length > 3 ? safeParse($pdfh, html, p1[3], "commonDetailListParse-actor", vod.vod_actor) : vod.vod_actor;
				vod.vod_director = p1.length > 4 ? safeParse($pdfh, html, p1[4], "commonDetailListParse-director", vod.vod_director) : vod.vod_director;
			}
			if (p.content) {
				let p1 = p.content.split(";");
				vod.vod_content = safeParse($pdfh, html, p1[0], "commonDetailListParse-content", vod.vod_content);
			}
			if (p.img) {
				let p1 = p.img.split(";");
				vod.vod_pic = safeParseUrl($pd, html, p1[0], this.MY_URL, "commonDetailListParse-img", vod.vod_pic);
			}
			let vod_play_from = "$$$";
			let playFrom = [];
			if (p.重定向 && typeof p.重定向 === "function") {
				log("[commonDetailListParse] 开始执行重定向代码");
				html = await safeExecute(() => p.重定向.call(this), "commonDetailListParse-重定向", html);
			}
			if (p.tabs) {
				if (typeof p.tabs === "function") {
					log("[commonDetailListParse] 开始执行tabs代码");
					try {
						const TABS = await p.tabs.call(this);
						playFrom = TABS;
					} catch (e) {
						log(`[commonDetailListParse] tabs执行失败:${e.message}`);
					}
				} else {
					let p_tab = p.tabs.split(";")[0];
					let vHeader = $pdfa(html, p_tab);
					let tab_text = p.tab_text || "body&&Text";
					let new_map = {};
					for (let v of vHeader) {
						let v_title = $pdfh(v, tab_text).trim();
						if (!v_title) {
							v_title = "线路空";
						}
						if (moduleObject.tab_exclude && new RegExp(moduleObject.tab_exclude).test(v_title)) {
							continue;
						}
						if (!new_map.hasOwnProperty(v_title)) {
							new_map[v_title] = 1;
						} else {
							new_map[v_title] += 1;
						}
						if (new_map[v_title] > 1) {
							v_title += Number(new_map[v_title] - 1);
						}
						playFrom.push(v_title);
					}
				}
			} else {
				playFrom = ["道长在线"];
			}
			vod.vod_play_from = playFrom.join(vod_play_from);
			let vod_play_url = "$$$";
			let vod_tab_list = [];
			if (p.lists) {
				if (typeof p.lists === "function") {
					log("[commonDetailListParse] 开始执行lists代码");
					try {
						const LISTS = await p.lists.call(this);
						for (let i in LISTS) {
							if (LISTS.hasOwnProperty(i)) {
								try {
									LISTS[i] = LISTS[i].map((it) => it.split("$").slice(0, 2).join("$"));
								} catch (e) {
									log(`[commonDetailListParse] 格式化LISTS发生错误:${e.message}`);
								}
							}
						}
						vod_play_url = LISTS.map((it) => it.join("#")).join(vod_play_url);
					} catch (e) {
						log(`[commonDetailListParse] lists执行失败:${e.message}`);
					}
				} else {
					let list_text = p.list_text || "body&&Text";
					let list_url = p.list_url || "a&&href";
					let list_url_prefix = p.list_url_prefix || "";
					let is_tab_js = typeof p.tabs === "function";
					for (let i = 0; i < playFrom.length; i++) {
						let tab_name = playFrom[i];
						let tab_ext = "";
						if (typeof p.tabs === "string" && p.tabs.split(";").length > 1 && !is_tab_js) {
							tab_ext = p.tabs.split(";")[1];
						}
						let p1 = p.lists.replaceAll("#idv", tab_name).replaceAll("#id", i);
						if (tab_ext) {
							tab_ext = tab_ext.replaceAll("#idv", tab_name).replaceAll("#id", i);
						}
						let tabName = tab_ext ? $pdfh(html, tab_ext) : tab_name;
						let new_vod_list = [];
						if (typeof this.pdfl === "function") {
							new_vod_list = this.pdfl(html, p1, list_text, list_url, this.MY_URL);
							if (list_url_prefix) {
								new_vod_list = new_vod_list.map((it) => it.split("$")[0] + "$" + list_url_prefix + it.split("$").slice(1).join("$"));
							}
						} else {
							let vodList = [];
							try {
								vodList = $pdfa(html, p1);
							} catch (e) {
								log(`[commonDetailListParse] 解析vodList失败:${e.message}`);
							}
							for (let j = 0; j < vodList.length; j++) {
								let it = vodList[j];
								new_vod_list.push($pdfh(it, list_text).trim() + "$" + list_url_prefix + $pd(it, list_url, this.MY_URL));
							}
						}
						if (new_vod_list.length > 0) {
							new_vod_list = forceOrder(new_vod_list, "", (x) => x.split("$")[0]);
						}
						let vlist = new_vod_list.join("#");
						vod_tab_list.push(vlist);
					}
					vod_play_url = vod_tab_list.join(vod_play_url);
				}
			}
			vod.vod_play_url = vod_play_url;
		}
		vod = await processVodCommon(vod, moduleObject, this);
		return vod;
	};
	return await invokeWithInjectVars(moduleObject, tmpFunction, injectVars, args);
}
/**
* 通用搜索字符串解析函数
* @param moduleObject
* @param method
* @param injectVars
* @param args
* @returns {Promise<*>}
*/
async function commonSearchListParse(moduleObject, method, injectVars, args) {
	let p = moduleObject[method] === "*" && moduleObject["一级"] ? moduleObject["一级"] : moduleObject[method];
	if (typeof p === "function") {
		return await invokeWithInjectVars(moduleObject, p, injectVars, args);
	}
	p = p.trim();
	let pp = typeof moduleObject["一级"] === "string" ? moduleObject["一级"].split(";") : [];
	const rule_fetch_params = moduleObject.rule_fetch_params;
	const searchWd = injectVars.KEY;
	const tmpFunction = async function() {
		const { input, MY_URL, pdfa, pdfh, pd, pjfa, pjfh, pj } = this;
		const d = [];
		const config = initCommonParseConfig(p, pp, MY_URL, moduleObject);
		const { p: parsedP, p0, is_json, parseParams } = config;
		if (parsedP.length < 5) {
			return d;
		}
		let req_method = MY_URL.split(";").length > 1 ? MY_URL.split(";")[1].toLowerCase() : "get";
		let html;
		if (req_method === "post") {
			let rurls = MY_URL.split(";")[0].split("#");
			let rurl = rurls[0];
			let params = rurls.length > 1 ? rurls[1] : "";
			log(`[commonSearchListParse] post=》rurl:${rurl},params:${params}`);
			let _fetch_params = deepCopy$1(rule_fetch_params);
			let postData = { body: params };
			Object.assign(_fetch_params, postData);
			html = await post(rurl, _fetch_params);
		} else if (req_method === "postjson") {
			let rurls = MY_URL.split(";")[0].split("#");
			let rurl = rurls[0];
			let params = rurls.length > 1 ? rurls[1] : "";
			log(`[commonSearchListParse] postjson-》rurl:${rurl},params:${params}`);
			try {
				params = JSON.parse(params);
			} catch (e) {
				params = "{}";
			}
			let _fetch_params = deepCopy$1(rule_fetch_params);
			let postData = { body: params };
			Object.assign(_fetch_params, postData);
			html = await post(rurl, _fetch_params);
		} else {
			html = await executeSandboxFunction("getHtml", [sandboxString(MY_URL)], moduleObject.context, "获取HTML异常", "");
		}
		if (html) {
			let search_tag = moduleObject["搜索验证标识"] || "系统安全验证|输入验证码";
			if (new RegExp(search_tag).test(html)) {
				log("[verifyCode] 遇到搜索验证码,尝试过验证:", html);
				const cookie = await executeSandboxFunction("verifyCode", [sandboxString(MY_URL)], moduleObject.context, "验证码处理异常", null);
				if (cookie) {
					log("本次成功过验证,cookie:" + cookie);
					await executeSandboxFunction("setItem", [sandboxVar("RULE_CK"), sandboxString(cookie)], moduleObject.context, "setItem异常", null);
				} else {
					log("本次自动过搜索验证失败,cookie:" + cookie);
				}
				html = await executeSandboxFunction("getHtml", [sandboxString(MY_URL)], moduleObject.context, "重新获取HTML异常", "");
			}
		}
		if (html) {
			if (!html.includes(searchWd)) {
				log(`[commonSearchListParse] 搜索结果源码未包含关键字【${searchWd}】,疑似搜索失败,正为您打印结果源码`);
				log("[commonSearchListParse]", html.slice(0, 200) + "...");
			}
			const result = await parseCommonList(html, config, this, moduleObject, injectVars);
			d.push(...result);
		}
		return d;
	};
	return await invokeWithInjectVars(moduleObject, tmpFunction, injectVars, args);
}
/**
* 通用免嗅探解析函数
* @param moduleObject
* @param method
* @param injectVars
* @param args
* @returns {Promise<*>}
*/
async function commonLazyParse(moduleObject, method, injectVars, args) {
	const lazyMethod = moduleObject[method];
	const tmpLazyFunction = async function(flag, id, flags) {
		let { input } = this;
		log("[tmpLazyFunction] input:", input);
		let html = await executeSandboxFunction("request", [sandboxString(input), {}], moduleObject.context, "[commonLazyParse] 获取播放页源码失败");
		let hconf = html.match(/r player_.*?=(.*?)</)[1];
		let json = JSON5.parse(hconf);
		let url = json.url;
		if (json.encrypt == "1") {
			url = unescape(url);
		} else if (json.encrypt == "2") {
			url = unescape(base64Decode$2(url));
		}
		if (/\.(m3u8|mp4|m4a|mp3)/.test(url)) {
			input = {
				parse: 0,
				jx: 0,
				url
			};
		} else {
			input = url && url.startsWith("http") && tellIsJx$1(url) ? {
				parse: 0,
				jx: 1,
				url
			} : input;
		}
		log("[tmpLazyFunction] result:", input);
		return input;
	};
	if (lazyMethod && typeof lazyMethod === "function") {
		try {
			return await invokeWithInjectVars(moduleObject, lazyMethod, injectVars, args);
		} catch (e) {
			let playUrl = injectVars.input || "";
			log(`[commonLazyParse] 执行免嗅代码发送了错误: ${e.message},原始链接为:${playUrl}`);
			if (SPECIAL_URL.test(playUrl) || /^(push:)/.test(playUrl) || playUrl.startsWith("http")) {
				return await invokeWithInjectVars(moduleObject, tmpLazyFunction, injectVars, args);
			} else {
				throw e;
			}
		}
	} else if (!lazyMethod) {
		return await invokeWithInjectVars(moduleObject, tmpLazyFunction, injectVars, args);
	}
}
/**
* 使用临时的上下文调用异步方法，确保每次调用时的上下文 (this) 是独立的。
* 这样可以避免多个请求之间共享状态，确保数据的隔离性。
*
* @param rule 规则本身
* @param {Function} method - 要调用的异步方法，通常是对象上的方法（例如：moduleObject[method]）
* @param {Object} injectVars - 用作临时上下文的变量，通常包含一些动态的参数（如：input, MY_URL等）
* @param {Array} args - 传递给方法的参数列表，会在方法调用时使用
*
* @returns {Promise} - 返回异步方法执行的结果，通常是 `await method.apply(...)` 调用的结果
*/
async function invokeWithInjectVars(rule, method, injectVars, args) {
	let thisProxy = new Proxy(injectVars, {
		get(injectVars, key) {
			return injectVars[key] || rule[key];
		},
		set(injectVars, key, value) {
			rule[key] = value;
			injectVars[key] = value;
		}
	});
	let result = {};
	let ret_str = "";
	let error = null;
	try {
		result = await method.apply(thisProxy, args);
	} catch (e) {
		error = e;
	}
	if (!["推荐"].includes(injectVars["method"]) && error) {
		throw error;
	}
	switch (injectVars["method"]) {
		case "推荐":
			if (error) {
				log("[invokeWithInjectVars] error:", error);
				error = null;
				result = [];
			}
			break;
		case "class_parse":
			result = await homeParseAfter(result, rule.类型, rule.hikerListCol, rule.hikerClassListCol, rule.mergeList, injectVars);
			break;
		case "一级":
			result = await cateParseAfter(rule, result, args[1]);
			log(`[invokeWithInjectVars] 一级 ${injectVars.input} 执行完毕,结果为:`, JSON.stringify(result.list.slice(0, 2)));
			break;
		case "二级":
			result = await detailParseAfter(result);
			break;
		case "搜索":
			result = await searchParseAfter(rule, result, args[2]);
			log(`[invokeWithInjectVars] 搜索 ${injectVars.input} 执行完毕,结果为:`, JSON.stringify(result.list.slice(0, 2)));
			break;
		case "lazy":
			result = await playParseAfter(rule, result, args[1], args[0]);
			ret_str = JSON.stringify(result);
			log(`[invokeWithInjectVars] 免嗅 ${injectVars.input} 执行完毕,结果为:`, ret_str.length < 100 ? ret_str : ret_str.slice(0, 100) + "...");
			break;
		case "proxy_rule": break;
		case "action": break;
		default:
			log(`[invokeWithInjectVars] invokeWithInjectVars: ${injectVars["method"]}`);
			break;
	}
	if (error) {
		throw error;
	}
	return result;
}
/**
* 创建沙箱变量引用标识
* @param {string} varName - 沙箱内的变量名
* @returns {Object} 变量引用对象
*/
function sandboxVar(varName) {
	return {
		__sandboxVar: true,
		name: varName
	};
}
/**
* 创建强制字符串参数标识
* @param {string} value - 字符串值
* @returns {Object} 字符串参数对象
*/
function sandboxString(value) {
	return {
		__sandboxString: true,
		value
	};
}
/**
* 通用沙箱执行函数
* @param {string} functionName - 要执行的函数名称（如 'getHtml', 'verifyCode', 'cachedRequest'）
* @param {Array} args - 函数参数数组，支持以下类型：
*   - 普通值：直接传递
*   - sandboxVar('varName')：引用沙箱内变量
*   - sandboxString('value')：强制作为字符串参数
*   - 字符串：智能判断（变量名格式且不含特殊字符时作为变量，否则作为字符串）
* @param {Object} context - 沙箱执行上下文
* @param {string} errorMessage - 错误日志前缀
* @param {*} defaultReturn - 出错时的默认返回值
* @returns {Promise<*>} 执行结果
*/
async function executeSandboxFunction(functionName, args, context, errorMessage = "沙箱执行异常", defaultReturn = "") {
	try {
		let hostValue = null;
		if (context.rule && context.rule.host) {
			hostValue = context.rule.host;
		} else if (context.HOST) {
			hostValue = context.HOST;
		} else if (global.HOST) {
			hostValue = global.HOST;
		} else if (globalThis.HOST) {
			hostValue = globalThis.HOST;
		}
		if (hostValue && typeof context.HOST === "undefined") {
			const hostScript = new vm.Script(`globalThis.HOST = '${hostValue}'; globalThis.host = '${hostValue}';`);
			hostScript.runInContext(context);
		}
		const argsStr = args.map((arg) => {
			if (arg && typeof arg === "object") {
				if (arg.__sandboxVar) {
					return arg.name;
				} else if (arg.__sandboxString) {
					return `'${arg.value.replace(/'/g, "'")}'`;
				} else {
					return JSON.stringify(arg);
				}
			} else if (typeof arg === "function") {
				return arg.name || "request";
			} else if (typeof arg === "string") {
				if (/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(arg) && !arg.includes("http")) {
					return arg;
				} else {
					return `'${arg.replace(/'/g, "\\'")}'`;
				}
			} else {
				return String(arg);
			}
		}).join(", ");
		const script = new vm.Script(`
            (async function() {
                try {
                    return await ${functionName}(${argsStr});
                } catch (e) {
                    log('${errorMessage}:', e.message);
                    return ${JSON.stringify(defaultReturn)};
                }
            })()
        `);
		return await script.runInContext(context);
	} catch (e) {
		log(`[executeSandboxFunction] ${errorMessage}:`, e.message);
		return defaultReturn;
	}
}
/**
* 在沙箱环境中执行js:开头的字符串代码
* @param {object} moduleObject - 模块对象
* @param {string} method - 方法名
* @param {object} injectVars - 注入变量，作为this上下文
* @param {array} args - 参数数组
* @returns {Promise<any>} - 执行结果
*/
async function executeJsCodeInSandbox(moduleObject, method, injectVars = {}, args = []) {
	let contextWithVars = null;
	let functionCode = null;
	try {
		const jsCode = moduleObject[method].substring(3);
		const originalContext = moduleObject.context;
		if (!originalContext) {
			throw new Error("Sandbox context not found in moduleObject");
		}
		functionCode = `
            (async function() {
                ${jsCode}
            })()
        `;
		contextWithVars = vm.createContext({
			...originalContext,
			...injectVars
		});
		const result = await vm.runInContext(functionCode, contextWithVars);
		return deepCopy$1(result);
	} catch (error) {
		log(`[executeJsCodeInSandbox] Error executing js: code for method ${method}:`, error);
		throw new Error(`Failed to execute js: code: ${error.message}`);
	} finally {
		if (contextWithVars) {
			for (const key in contextWithVars) {
				try {
					delete contextWithVars[key];
				} catch (e) {}
			}
			contextWithVars = null;
		}
		functionCode = null;
		if (global.gc) {
			global.gc();
		}
	}
}

//#endregion
//#region ../libs_drpy/es6-extend.js
/**
* ES6扩展和Polyfill库
*
* 该文件提供了ES6+特性的polyfill实现，确保在旧版本JavaScript环境中的兼容性
* 包含Object、String、Array等原生对象的方法扩展和自定义工具函数
*
* @author drpy
* @version 1.0.0
*/
if (typeof Object.assign !== "function") {
	Object.defineProperty(Object, "assign", {
		value: function(target, ...sources) {
			if (target == null) {
				throw new TypeError("Cannot convert undefined or null to object");
			}
			for (let source of sources) {
				if (source != null) {
					for (let key in source) {
						if (Object.prototype.hasOwnProperty.call(source, key)) {
							target[key] = source[key];
						}
					}
				}
			}
			return target;
		},
		writable: true,
		configurable: true,
		enumerable: false
	});
}
if (!String.prototype.includes) {
	Object.defineProperty(String.prototype, "includes", {
		value: function(search, start = 0) {
			if (typeof start !== "number") start = 0;
			return this.indexOf(search, start) !== -1;
		},
		writable: true,
		configurable: true,
		enumerable: false
	});
}
if (!Array.prototype.includes) {
	Object.defineProperty(Array.prototype, "includes", {
		value: function(searchElement, fromIndex = 0) {
			if (this == null) {
				throw new TypeError("\"this\" is null or not defined");
			}
			let o = Object(this);
			let len = o.length >>> 0;
			if (len === 0) return false;
			let n = fromIndex | 0;
			let k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);
			while (k < len) {
				if (o[k] === searchElement) return true;
				k++;
			}
			return false;
		},
		writable: true,
		configurable: true,
		enumerable: false
	});
}
if (typeof String.prototype.startsWith !== "function") {
	Object.defineProperty(String.prototype, "startsWith", {
		value: function(prefix) {
			return this.slice(0, prefix.length) === prefix;
		},
		writable: true,
		configurable: true,
		enumerable: false
	});
}
if (typeof String.prototype.endsWith !== "function") {
	Object.defineProperty(String.prototype, "endsWith", {
		value: function(suffix) {
			return this.indexOf(suffix, this.length - suffix.length) !== -1;
		},
		writable: true,
		configurable: true,
		enumerable: false
	});
}
if (typeof Object.values !== "function") {
	Object.defineProperty(Object, "values", {
		value: function(obj) {
			if (obj == null) {
				throw new TypeError("Cannot convert undefined or null to object");
			}
			let values = [];
			for (let key in obj) {
				if (Object.prototype.hasOwnProperty.call(obj, key)) {
					values.push(obj[key]);
				}
			}
			return values;
		},
		writable: true,
		configurable: true,
		enumerable: false
	});
}
if (typeof Array.prototype.join !== "function") {
	Object.defineProperty(Array.prototype, "join", {
		value: function(separator = "") {
			let result = "";
			for (let i = 0; i < this.length; i++) {
				if (i > 0) result += separator;
				result += this[i];
			}
			return result;
		},
		writable: true,
		configurable: true,
		enumerable: false
	});
}
if (typeof Array.prototype.toReversed !== "function") {
	Object.defineProperty(Array.prototype, "toReversed", {
		value: function() {
			return this.slice().reverse();
		},
		writable: true,
		configurable: true,
		enumerable: false
	});
}
Object.defineProperty(Array.prototype, "append", {
	value: Array.prototype.push,
	writable: true,
	configurable: true,
	enumerable: false
});
Object.defineProperty(String.prototype, "strip", {
	value: String.prototype.trim,
	writable: true,
	configurable: true,
	enumerable: false
});
Object.defineProperty(String.prototype, "rstrip", {
	value: function(chars) {
		if (!chars) return this.trimEnd();
		let regex = new RegExp("[" + chars.replace(/[.*+?^${}()|[\]\\]/g, "\\$&") + "]+$");
		return this.replace(regex, "");
	},
	writable: true,
	configurable: true,
	enumerable: false
});
if (typeof String.prototype.join !== "function") {
	Object.defineProperty(String.prototype, "join", {
		value: function(arr) {
			if (!Array.isArray(arr)) return "";
			return arr.join(this);
		},
		writable: true,
		configurable: true,
		enumerable: false
	});
}
/**
* 全局匹配函数 - 获取字符串中所有匹配项
* @param {string} str - 要搜索的字符串
* @param {RegExp|string} pattern - 匹配模式
* @param {boolean} flatten - 是否扁平化结果
* @returns {Array} 匹配结果数组
*/
function matchesAll$1(str, pattern, flatten) {
	if (typeof pattern === "string") {
		pattern = new RegExp(pattern, "g");
	}
	let matches = [];
	let match;
	while ((match = pattern.exec(str)) !== null) {
		matches.push(flatten ? match[0] : match);
		if (!pattern.global) break;
	}
	return matches;
}
Object.defineProperties(String.prototype, {
	replaceX: {
		value: function(regex, replacement) {
			if (typeof regex === "string") {
				regex = new RegExp(regex, "g");
			}
			if (typeof replacement === "function") {
				return this.replace(regex, replacement);
			}
			replacement = replacement == null ? "" : String(replacement);
			const regexCopy = new RegExp(regex.source, regex.flags);
			let matches = matchesAll$1(this, regexCopy, true);
			if (matches && matches.length > 1) {
				const hasCaptureGroup = /\$\d/.test(replacement);
				if (hasCaptureGroup) {
					return this.replace(regex, replacement);
				} else {
					return this.replace(regex, function(match) {
						return replacement;
					});
				}
			}
			return this.replace(regex, replacement);
		},
		writable: true,
		configurable: true,
		enumerable: false
	},
	parseX: {
		get: function() {
			try {
				return JSON5.parse(this);
			} catch (e) {
				log(`String.parseX error: ${e.message}`);
				return null;
			}
		},
		configurable: true,
		enumerable: false
	}
});
/**
* 字符串截取函数 - 高级文本处理
* @param {string} text - 要处理的文本
* @param {string} start - 开始标记
* @param {string} end - 结束标记
* @param {function|null|undefined} method - 处理方法函数，用于对截取结果进行后处理
* @param {boolean} All - 是否处理所有匹配项
* @returns {string|Array} 处理结果，单个匹配返回字符串，多个匹配返回数组
*/
function cut$1(text, start, end, method, All) {
	if (!text || typeof text !== "string") return "";
	let startIndex = text.indexOf(start);
	if (startIndex === -1) return All ? [] : "";
	startIndex += start.length;
	let endIndex = text.indexOf(end, startIndex);
	if (endIndex === -1) return All ? [] : "";
	let result = text.substring(startIndex, endIndex) + end;
	if (All) {
		let results = [result];
		let remainingText = text.substring(endIndex + end.length);
		let moreResults = cut$1(remainingText, start, end, method, true);
		if (Array.isArray(moreResults)) {
			results = results.concat(moreResults);
		}
		return results;
	}
	if (method && typeof method === "function") {
		result = method(result);
	}
	return result;
}
globalThis.matchesAll = matchesAll$1;
globalThis.cut = cut$1;

//#endregion
//#region puppeteer-mock.js
var launch, executablePath, puppeteer_mock_default;
var init_puppeteer_mock = __esmMin((() => {
	launch = async () => {
		throw new Error("Puppeteer is not available in the bundled version.");
	};
	executablePath = () => "mock-path";
	puppeteer_mock_default = {
		launch,
		executablePath
	};
}));

//#endregion
//#region ../utils/headless-util.js
var headless_util_exports = /* @__PURE__ */ __exportAll({ puppeteerHelper: () => puppeteerHelper });
var PuppeteerHelper, puppeteerHelper;
var init_headless_util = __esmMin((() => {
	init_puppeteer_mock();
	PuppeteerHelper = class {
		/**
		* 构造函数
		* 初始化浏览器和页面实例为null
		*/
		constructor() {
			this.browser = null;
			this.page = null;
		}
		/**
		* 访问网页或发送HTTP请求
		* 支持普通页面访问和API请求两种模式
		* 
		* @param {Object} config - 配置对象
		* @param {string} config.url - 目标URL
		* @param {boolean} [config.headless=true] - 是否无头模式
		* @param {boolean} [config.proxy=false] - 是否使用代理
		* @param {Object} [config.headers] - 请求头
		* @param {boolean} [config.isJSON=false] - 是否为JSON请求
		* @param {boolean} [config.isReq=false] - 是否为API请求
		* @param {string} [config.method='GET'] - HTTP方法
		* @param {Object} [config.data] - 请求数据
		* @param {Object} [config.options] - 页面访问选项
		* @returns {Promise<string>} 页面内容或响应文本
		* 
		* @example
		* // 访问普通页面
		* const html = await helper.gotoHtml({url: 'https://example.com'});
		* 
		* // 发送API请求
		* const data = await helper.gotoHtml({
		*   url: 'https://api.example.com/data',
		*   isJSON: true,
		*   method: 'POST',
		*   data: {key: 'value'}
		* });
		*/
		async gotoHtml(config) {
			let proxy = "";
			if (config.proxy) {
				proxy = "http://127.0.0.1:7897";
			}
			this.browser = await launch({
				headless: config.headless || true,
				args: [`--proxy-server=${proxy}`]
			});
			this.page = await this.browser.newPage();
			await this.page.setExtraHTTPHeaders(config.headers || { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36" });
			let content = "";
			if (config.isJSON || config.isReq) {
				return await this.page.evaluate(async (url, mth, headers, data) => {
					const requestOptions = {
						method: mth || "GET",
						headers: headers || {
							"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36",
							"Content-Type": "application/json"
						}
					};
					if (mth !== "GET" && data !== "" && data !== undefined) {
						requestOptions.body = JSON.stringify(data);
					}
					const response = await fetch(url, requestOptions);
					if (!response.ok) {
						throw new Error(`HTTP error! status: ${response.status}`);
					}
					return await response.text();
				}, config.url, config.method, config.headers, config.data);
			} else {
				await this.page.goto(config.url, config.options);
				content = await this.page.content();
				return content;
			}
		}
		/**
		* 获取页面Cookie信息
		* 访问指定URL并获取该页面的所有Cookie
		* 
		* @param {Object} config - 配置对象
		* @param {string} config.url - 目标URL
		* @param {boolean} [config.headless=true] - 是否无头模式
		* @param {Object} [config.options] - 页面访问选项
		* @returns {Promise<Array>} Cookie数组
		* 
		* @example
		* const cookies = await helper.gotoCookie({url: 'https://example.com'});
		*/
		async gotoCookie(config) {
			this.browser = await launch({
				headless: config.headless || true,
				executablePath: process.env.CHROME_PATH
			});
			this.page = await this.browser.newPage();
			await this.page.goto(config.url, config.options || {});
			const cookies = await this.page.cookies();
			return cookies || [];
		}
		/**
		* 在指定元素中输入文本
		* 
		* @param {string} selector - CSS选择器
		* @param {string} text - 要输入的文本
		* @param {Object} [options={}] - 输入选项（如延迟等）
		* @returns {Promise<void>}
		* 
		* @example
		* await helper.type('#username', 'myuser', {delay: 100});
		*/
		async type(selector, text, options = {}) {
			return await this.page.type(selector, text, ...options);
		}
		/**
		* 点击指定元素
		* 
		* @param {string} selector - CSS选择器
		* @returns {Promise<void>}
		* 
		* @example
		* await helper.gotoclick('#submit-button');
		*/
		async gotoclick(selector) {
			return await this.page.click(selector);
		}
		/**
		* 生成PDF文件
		* 将当前页面保存为PDF格式
		* 
		* @param {string} path - PDF文件保存路径
		* @param {Object} [options={}] - PDF生成选项
		* @returns {Promise<void>}
		* 
		* @example
		* await helper.pdf('./output.pdf', {format: 'A4'});
		*/
		async pdf(path, options = {}) {
			return await this.page.pdf({
				path,
				...options
			});
		}
		/**
		* 获取页面标题
		* 
		* @returns {Promise<string>} 页面标题
		* 
		* @example
		* const title = await helper.getTitle();
		*/
		async getTitle() {
			return await this.page.title();
		}
		/**
		* 获取当前页面URL
		* 
		* @returns {Promise<string>} 当前页面URL
		* 
		* @example
		* const url = await helper.getUrl();
		*/
		async getUrl() {
			return await this.page.url();
		}
		/**
		* 在页面上下文中执行自定义JavaScript函数
		* 将函数序列化后在浏览器环境中执行
		* 
		* @param {Function} fn - 要执行的函数
		* @param {...any} args - 函数参数
		* @returns {Promise<any>} 函数执行结果
		* 
		* @example
		* const result = await helper.evaluate(() => {
		*   return document.title;
		* });
		*/
		async evaluate(fn, ...args) {
			const funcString = fn.toString();
			const pageFunction = new Function(`return (${funcString})`).apply(null, args.map((arg) => JSON.stringify(arg)));
			return await this.page.evaluate(pageFunction);
		}
		/**
		* 获取页面元素的文本内容
		* 
		* @param {string} selector - CSS选择器
		* @returns {Promise<string|null>} 元素文本内容，如果元素不存在返回null
		* 
		* @example
		* const text = await helper.gotoText('.title');
		*/
		async gotoText(selector) {
			return await this.page.evaluate((selector) => {
				const element = document.querySelector(selector);
				return element ? element.textContent : null;
			}, selector);
		}
		/**
		* 获取页面元素的属性值
		* 
		* @param {string} selector - CSS选择器
		* @param {string} attribute - 属性名
		* @returns {Promise<string|null>} 属性值，如果元素不存在或属性不存在返回null
		* 
		* @example
		* const href = await helper.gotoAttribute('a.link', 'href');
		*/
		async gotoAttribute(selector, attribute) {
			return await this.page.evaluate((selector, attribute) => {
				const element = document.querySelector(selector);
				return element ? element.getAttribute(attribute) : null;
			}, selector, attribute);
		}
		/**
		* 等待指定选择器的元素出现
		* 提供超时机制和回调处理
		* 
		* @param {string} selector - CSS选择器
		* @param {Object} [options={}] - 等待选项
		* @param {number} [options.timeout=30000] - 超时时间（毫秒），默认30秒
		* @param {Function} [options.onFound] - 元素找到后的回调函数
		* @returns {Promise<ElementHandle>} 元素句柄
		* @throws {Error} 如果超时或元素未找到
		* 
		* @example
		* const element = await helper.waitForSelector('.dynamic-content', {
		*   timeout: 10000,
		*   onFound: (el) => console.log('Element found!')
		* });
		*/
		async waitForSelector(selector, options = {}) {
			const { timeout = 3e4, onFound } = options;
			try {
				const elementHandle = await this.page.waitForSelector(selector, { timeout });
				if (onFound) {
					await onFound(elementHandle);
				}
				return elementHandle;
			} catch (error) {
				throw new Error(`Element with selector "${selector}" not found within ${timeout / 1e3} seconds.`);
			}
		}
		/**
		* 关闭浏览器和页面
		* 清理资源，释放内存
		* 
		* @returns {Promise<void>}
		* 
		* @example
		* await helper.close();
		*/
		async close() {
			if (this.page) {
				await this.page.close();
			}
			if (this.browser) {
				await this.browser.close();
			}
		}
	};
	puppeteerHelper = PuppeteerHelper;
}));

//#endregion
//#region ../libs_drpy/crypto-js-wasm.js
var require_crypto_js_wasm = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	/*
	@license
	crypto-js-wasm v1.1.1
	(c) 2022-2024 peteralfredlee
	https://github.com/originjs/crypto-js-wasm
	Released under the MulanPSL2 License.
	*/
	(function(global, factory) {
		typeof exports === "object" && typeof module !== "undefined" ? (module.exports = factory(require_pako_min()), (typeof globalThis !== "undefined" ? globalThis : global || self).CryptoJSWasm = module.exports) : typeof define === "function" && define.amd ? define(["pako"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, global.CryptoJSWasm = factory(global.pako));
	})(exports, (function(pako) {
		"use strict";
		function _interopDefaultLegacy(e) {
			return e && typeof e === "object" && "default" in e ? e : { "default": e };
		}
		var pako__default = /* @__PURE__ */ _interopDefaultLegacy(pako);
		/**
		* Latin1 encoding strategy.
		*/
		const Latin1 = {
			stringify(wordArray) {
				const { words, sigBytes } = wordArray;
				let latin1Chars = "";
				for (let i = 0; i < sigBytes; i++) {
					const byte = words[i >>> 2] >>> 24 - i % 4 * 8 & 255;
					latin1Chars += String.fromCharCode(byte);
				}
				return latin1Chars;
			},
			parse(latin1Str) {
				const latin1StrLength = latin1Str.length;
				const words = [];
				let word = 0;
				for (let i = 0; i < latin1StrLength - latin1StrLength % 4; i++) {
					word |= (latin1Str.charCodeAt(i) & 255) << 24 - i % 4 * 8;
					if (i % 4 == 3) {
						words[i >>> 2] = word;
						word = 0;
					}
				}
				for (let i = latin1StrLength - latin1StrLength % 4; i < latin1StrLength; i++) {
					words[i >>> 2] |= (latin1Str.charCodeAt(i) & 255) << 24 - i % 4 * 8;
				}
				return new WordArray(words, latin1StrLength);
			}
		};
		/**
		* UTF-8 encoding strategy.
		*/
		const Utf8 = {
			stringify(wordArray) {
				try {
					return decodeURIComponent(escape(Latin1.stringify(wordArray)));
				} catch (e) {
					throw new Error("Malformed UTF-8 data");
				}
			},
			parse(utf8Str) {
				return Latin1.parse(unescape(encodeURIComponent(utf8Str)));
			}
		};
		/**
		* Hex encoding strategy.
		*/
		const Hex = {
			stringify(wordArray) {
				const { words, sigBytes } = wordArray;
				const hexChars = [];
				for (let i = 0; i < sigBytes; i++) {
					const bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 255;
					hexChars.push((bite >>> 4).toString(16));
					hexChars.push((bite & 15).toString(16));
				}
				return hexChars.join("");
			},
			parse(hexStr) {
				const hexStrLength = hexStr.length;
				const words = [];
				for (let i = 0; i < hexStrLength; i += 2) {
					words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << 24 - i % 8 * 4;
				}
				return new WordArray(words, hexStrLength / 2);
			}
		};
		/**
		* Determine if a value is a String
		*
		* @param {Object} val The value to test
		* @returns {Boolean} True if value is a String, otherwise false
		*/
		const isString = (val) => typeof val === "string";
		/**
		* Check if the input parameter is valid
		*
		* @param parameter {any} input parameter
		* @param parameterDesc {string} description input parameter
		* @param validTypes {string|array} valid types of parameter
		* @param validValues {array} valid values of parameter
		* @throws if parameter is invalid
		*/
		const parameterCheck = (parameter, parameterDesc, validTypes, ...validValues) => {
			let isValid = true;
			if (validTypes !== undefined) {
				if (typeof validTypes === "string" && typeof parameter !== validTypes) {
					isValid = false;
				}
				if (validTypes.indexOf(typeof parameter) < 0) {
					isValid = false;
				}
			}
			if (validValues !== undefined && validValues.length > 0) {
				if (validValues.indexOf(parameter) < 0) {
					isValid = false;
				}
			}
			if (!isValid) {
				throw TypeError(`The input value ${parameter} of ${parameterDesc} is invalid! The type should be ${validTypes}, and the values should be ${validValues}.`);
			}
		};
		let crypto;
		if (typeof window !== "undefined" && window.crypto) {
			crypto = window.crypto;
		}
		if (typeof self !== "undefined" && self.crypto) {
			crypto = self.crypto;
		}
		if (typeof globalThis !== "undefined" && globalThis.crypto) {
			crypto = globalThis.crypto;
		}
		if (!crypto && typeof window !== "undefined" && window.msCrypto) {
			crypto = window.msCrypto;
		}
		if (!crypto && typeof global !== "undefined" && global.crypto) {
			crypto = global.crypto;
		}
		if (!crypto && typeof __require === "function") {
			try {
				crypto = __require("crypto");
			} catch (err) {}
		}
		const cryptoSecureRandomInt = () => {
			if (crypto) {
				if (typeof crypto.getRandomValues === "function") {
					try {
						return crypto.getRandomValues(new Uint32Array(1))[0];
					} catch (err) {}
				}
				if (typeof crypto.randomBytes === "function") {
					try {
						return crypto.randomBytes(4).readInt32LE();
					} catch (err) {}
				}
			}
			throw new Error("Native crypto module could not be used to get secure random number.");
		};
		class Base {
			/**
			* Copies properties into this object.
			*
			* @param {Object} properties The properties to mix in.
			*
			* @example
			*
			*     MyType.mixIn({
			*         field: 'value'
			*     });
			*/
			mixIn(properties) {
				return Object.assign(this, properties);
			}
			/**
			* Creates a copy of this object.
			*
			* @return {Object} The clone.
			*
			* @example
			*
			*     let clone = instance.clone();
			*/
			clone() {
				const clone = new this.constructor();
				Object.assign(clone, this);
				return clone;
			}
			/**
			* Get a new instance of this class.
			* Arguments to create() will be passed to constructor.
			*
			* @return {Object} The new object.
			*
			* @static
			*
			* @example
			*
			*     var instance = MyType.create();
			*/
			static create(...args) {
				return new this(...args);
			}
		}
		/**
		* An array of 32-bit words.
		*
		* @property {Array} words The array of 32-bit words.
		* @property {number} sigBytes The number of significant bytes in this word array.
		*/
		class WordArray extends Base {
			/**
			* Initializes a newly created word array.
			*
			* @param {Array} words (Optional) An array of 32-bit words.
			* @param {number} sigBytes (Optional) The number of significant bytes in the words.
			*
			* @example
			*
			*     let wordArray = new WordArray();
			*     let wordArray = new WordArray([0x00010203, 0x04050607]);
			*     let wordArray = new WordArray([0x00010203, 0x04050607], 6);
			*/
			constructor(words = [], sigBytes = words.length * 4) {
				super();
				let typedArray = words;
				if (typedArray instanceof ArrayBuffer) {
					typedArray = new Uint8Array(typedArray);
				}
				if (typedArray instanceof Int8Array || typedArray instanceof Uint8ClampedArray || typedArray instanceof Int16Array || typedArray instanceof Uint16Array || typedArray instanceof Int32Array || typedArray instanceof Uint32Array || typedArray instanceof Float32Array || typedArray instanceof Float64Array) {
					typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength);
				}
				if (typedArray instanceof Uint8Array) {
					const typedArrayByteLength = typedArray.byteLength;
					const _words = [];
					for (let i = 0; i < typedArrayByteLength; i++) {
						_words[i >>> 2] |= typedArray[i] << 24 - i % 4 * 8;
					}
					this.words = _words;
					this.sigBytes = typedArrayByteLength;
				} else {
					this.words = words;
					this.sigBytes = sigBytes;
				}
			}
			/**
			* Creates and initializes a word array
			* A compatibility method for crypto-js
			*
			* @param {Array} words (Optional) An array of 32-bit words.
			* @param {number} sigBytes (Optional) The number of significant bytes in the words.
			*/
			static create(words = [], sigBytes = words.length * 4) {
				return new WordArray(words, sigBytes);
			}
			/**
			* Creates a word array filled with random bytes.
			*
			* @param {number} nBytes The number of random bytes to generate.
			*
			* @return {WordArray} The random word array.
			*
			* @static
			*
			* @example
			*
			*     const wordArray = CryptoJSW.lib.WordArray.random(16);
			*/
			static random(nBytes) {
				const words = [];
				for (var i = 0; i < nBytes; i += 4) {
					words.push(cryptoSecureRandomInt());
				}
				return new WordArray(words, nBytes);
			}
			/**
			* Converts this word array to a string.
			*
			* @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJSW.enc.Hex
			*
			* @return {string} The stringified word array.
			*
			* @example
			*
			*     const string = wordArray + '';
			*     const string = wordArray.toString();
			*     const string = wordArray.toString(CryptoJSW.enc.Utf8);
			*/
			toString(encoder = Hex) {
				return encoder.stringify(this);
			}
			/**
			* Concatenates a word array to this word array.
			*
			* @param {WordArray} wordArray The word array to append.
			*
			* @return {WordArray} This word array.
			*
			* @example
			*
			*     wordArray1.concat(wordArray2);
			*/
			concat(wordArray) {
				const thisWords = this.words;
				const thatWords = wordArray.words;
				const thisSigBytes = this.sigBytes;
				const thatSigBytes = wordArray.sigBytes;
				this.clamp();
				if (thisSigBytes % 4) {
					for (let i = 0; i < thatSigBytes; i++) {
						const thatByte = thatWords[i >>> 2] >>> 24 - i % 4 * 8 & 255;
						thisWords[thisSigBytes + i >>> 2] |= thatByte << 24 - (thisSigBytes + i) % 4 * 8;
					}
				} else {
					for (let i = 0; i < thatSigBytes; i += 4) {
						thisWords[thisSigBytes + i >>> 2] = thatWords[i >>> 2];
					}
				}
				this.sigBytes += thatSigBytes;
				return this;
			}
			/**
			* Removes insignificant bits.
			*
			* @example
			*
			*     wordArray.clamp();
			*/
			clamp() {
				const { words, sigBytes } = this;
				words[sigBytes >>> 2] &= 4294967295 << 32 - sigBytes % 4 * 8;
				words.length = Math.ceil(sigBytes / 4);
			}
			/**
			* Creates a copy of this word array.
			*
			* @return {WordArray} The clone.
			*
			* @example
			*
			*     let clone = wordArray.clone();
			*/
			clone() {
				const clone = super.clone.call(this);
				clone.words = this.words.slice(0);
				return clone;
			}
		}
		/**
		* Abstract buffered block algorithm template.
		*
		* The property blockSize must be implemented in a concrete subtype.
		*
		* @property {number} _minBufferSize
		*
		*     The number of blocks that should be kept unprocessed in the buffer. Default: 0
		*/
		class BufferedBlockAlgorithm extends Base {
			constructor() {
				super();
				this._minBufferSize = 0;
			}
			/**
			* Resets this block algorithm's data buffer to its initial state.
			*
			* @example
			*
			*     bufferedBlockAlgorithm.reset();
			*/
			reset() {
				this._data = new WordArray();
				this._nDataBytes = 0;
			}
			/**
			* Adds new data to this block algorithm's buffer.
			*
			* @param {WordArray|string} data
			*
			*     The data to append. Strings are converted to a WordArray using UTF-8.
			*
			* @example
			*
			*     bufferedBlockAlgorithm._append('data');
			*     bufferedBlockAlgorithm._append(wordArray);
			*/
			_append(data) {
				let m_data = data;
				if (isString(m_data)) {
					m_data = Utf8.parse(m_data);
				}
				this._data.concat(m_data);
				this._nDataBytes += m_data.sigBytes;
			}
			/**
			* Processes available data blocks.
			*
			* This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.
			*
			* @param {boolean} doFlush Whether all blocks and partial blocks should be processed.
			*
			* @return {WordArray} The processed data.
			*
			* @example
			*
			*     let processedData = bufferedBlockAlgorithm._process();
			*     let processedData = bufferedBlockAlgorithm._process(!!'flush');
			*/
			_process(doFlush) {
				let processedWords;
				const { _data: data, blockSize } = this;
				const dataWords = data.words;
				const dataSigBytes = data.sigBytes;
				const blockSizeBytes = blockSize * 4;
				let nBlocksReady = dataSigBytes / blockSizeBytes;
				if (doFlush) {
					nBlocksReady = Math.ceil(nBlocksReady);
				} else {
					nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);
				}
				const nWordsReady = nBlocksReady * blockSize;
				const nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);
				if (nWordsReady) {
					for (let offset = 0; offset < nWordsReady; offset += blockSize) {
						this._doProcessBlock(dataWords, offset);
					}
					processedWords = dataWords.splice(0, nWordsReady);
					data.sigBytes -= nBytesReady;
				}
				return new WordArray(processedWords, nBytesReady);
			}
			/**
			* Creates a copy of this object.
			*
			* @return {Object} The clone.
			*
			* @example
			*
			*     let clone = bufferedBlockAlgorithm.clone();
			*/
			clone() {
				const clone = super.clone.call(this);
				clone._data = this._data.clone();
				return clone;
			}
		}
		/**
		* HMAC algorithm.
		*/
		class HMAC extends Base {
			/**
			* Initializes a newly created HMAC.
			*
			* @param {Hasher} SubHasher The hash algorithm to use.
			* @param {WordArray|string} key The secret key.
			*
			* @example
			*
			*     const hmacHasher = new HMAC(CryptoJSW.algo.SHA256, key);
			*/
			constructor(SubHasher, key) {
				super();
				const hasher = new SubHasher();
				this._hasher = hasher;
				let _key = key;
				if (isString(_key)) {
					_key = Utf8.parse(_key);
				}
				const hasherBlockSize = hasher.blockSize;
				const hasherBlockSizeBytes = hasherBlockSize * 4;
				if (_key.sigBytes > hasherBlockSizeBytes) {
					_key = hasher.finalize(key);
				}
				_key.clamp();
				const oKey = _key.clone();
				this._oKey = oKey;
				const iKey = _key.clone();
				this._iKey = iKey;
				const oKeyWords = oKey.words;
				const iKeyWords = iKey.words;
				for (let i = 0; i < hasherBlockSize; i++) {
					oKeyWords[i] ^= 1549556828;
					iKeyWords[i] ^= 909522486;
				}
				oKey.sigBytes = hasherBlockSizeBytes;
				iKey.sigBytes = hasherBlockSizeBytes;
				this.reset();
			}
			/**
			* Resets this HMAC to its initial state.
			*
			* @example
			*
			*     hmacHasher.reset();
			*/
			reset() {
				const hasher = this._hasher;
				hasher.reset();
				hasher.update(this._iKey);
			}
			/**
			* Updates this HMAC with a message.
			*
			* @param {WordArray|string} messageUpdate The message to append.
			*
			* @return {HMAC} This HMAC instance.
			*
			* @example
			*
			*     hmacHasher.update('message');
			*     hmacHasher.update(wordArray);
			*/
			update(messageUpdate) {
				this._hasher.update(messageUpdate);
				return this;
			}
			/**
			* Finalizes the HMAC computation.
			* Note that the finalize operation is effectively a destructive, read-once operation.
			*
			* @param {WordArray|string} messageUpdate (Optional) A final message update.
			*
			* @return {WordArray} The HMAC.
			*
			* @example
			*
			*     let hmac = hmacHasher.finalize();
			*     let hmac = hmacHasher.finalize('message');
			*     let hmac = hmacHasher.finalize(wordArray);
			*/
			finalize(messageUpdate) {
				const hasher = this._hasher;
				const innerHash = hasher.finalize(messageUpdate);
				hasher.reset();
				const hmac = hasher.finalize(this._oKey.clone().concat(innerHash));
				return hmac;
			}
		}
		/**
		* Abstract hasher template.
		*
		* @property {number} blockSize
		*
		*     The number of 32-bit words this hasher operates on. Default: 16 (512 bits)
		*/
		class Hasher extends BufferedBlockAlgorithm {
			constructor(cfg) {
				super();
				this.blockSize = 512 / 32;
				/**
				* Configuration options.
				*/
				this.cfg = Object.assign(new Base(), cfg);
				this.reset();
			}
			/**
			* Creates a shortcut function to a hasher's object interface.
			*
			* @param {Hasher} SubHasher The hasher to create a helper for.
			*
			* @return {Function} The shortcut function.
			*
			* @static
			*
			* @example
			*
			*     let SHA256 = CryptoJSW.lib.Hasher._createHelper(CryptoJSW.algo.SHA256);
			*/
			static _createHelper(SubHasher) {
				let result = (message, cfg) => new SubHasher(cfg).finalize(message);
				result.loadWasm = async () => {
					if (!SubHasher.wasm) {
						await SubHasher.loadWasm();
					}
				};
				result.outputSize = SubHasher.outputSize;
				return result;
			}
			/**
			* Creates a shortcut function to the HMAC's object interface.
			*
			* @param {Hasher} SubHasher The hasher to use in this HMAC helper.
			*
			* @return {Function} The shortcut function.
			*
			* @static
			*
			* @example
			*
			*     const HmacSHA256 = CryptoJSW.lib.Hasher._createHmacHelper(CryptoJSW.algo.SHA256);
			*/
			static _createHmacHelper(SubHasher) {
				let result = (message, key) => new HMAC(SubHasher, key).finalize(message);
				result.loadWasm = async () => {
					if (!SubHasher.wasm) {
						await SubHasher.loadWasm();
					}
				};
				return result;
			}
			/**
			* Resets this hasher to its initial state.
			*
			* @example
			*
			*     hasher.reset();
			*/
			reset() {
				super.reset.call(this);
				this._doReset();
			}
			/**
			* Updates this hasher with a message.
			*
			* @param {WordArray|string} messageUpdate The message to append.
			*
			* @return {Hasher} This hasher.
			*
			* @example
			*
			*     hasher.update('message');
			*     hasher.update(wordArray);
			*/
			update(messageUpdate) {
				this._append(messageUpdate);
				this._process();
				return this;
			}
			/**
			* Finalizes the hash computation.
			* Note that the finalize operation is effectively a destructive, read-once operation.
			*
			* @param {WordArray|string} messageUpdate (Optional) A final message update.
			*
			* @return {WordArray} The hash.
			*
			* @example
			*
			*     let hash = hasher.finalize();
			*     let hash = hasher.finalize('message');
			*     let hash = hasher.finalize(wordArray);
			*/
			finalize(messageUpdate) {
				if (messageUpdate) {
					this._append(messageUpdate);
				}
				const hash = this._doFinalize();
				return hash;
			}
		}
		const X32WordArray = WordArray;
		/**
		* A 64-bit word.
		*/
		class X64Word extends Base {
			/**
			* Initializes a newly created 64-bit word.
			*
			* @param {number} high The high 32 bits.
			* @param {number} low The low 32 bits.
			*
			* @example
			*
			*     let x64Word = new X64Word(0x00010203, 0x04050607);
			*/
			constructor(high, low) {
				super();
				this.high = high;
				this.low = low;
			}
		}
		/**
		* An array of 64-bit words.
		*
		* @property {Array} words The array of CryptoJSW.x64.Word objects.
		* @property {number} sigBytes The number of significant bytes in this word array.
		*/
		class X64WordArray extends Base {
			/**
			* Initializes a newly created word array.
			*
			* @param {Array} words (Optional) An array of CryptoJSW.x64.Word objects.
			* @param {number} sigBytes (Optional) The number of significant bytes in the words.
			*
			* @example
			*
			*     let wordArray = new X64WordArray();
			*
			*     let wordArray = new X64WordArray([
			*         new x64Word(0x00010203, 0x04050607),
			*         new x64Word(0x18191a1b, 0x1c1d1e1f)
			*     ]);
			*
			*     let wordArray = new X64WordArray([
			*         new x64Word(0x00010203, 0x04050607),
			*         new x64Word(0x18191a1b, 0x1c1d1e1f)
			*     ], 10);
			*/
			constructor(words = [], sigBytes = words.length * 8) {
				super();
				this.words = words;
				this.sigBytes = sigBytes;
			}
			/**
			* Converts this 64-bit word array to a 32-bit word array.
			*
			* @return {CryptoJSW.lib.WordArray} This word array's data as a 32-bit word array.
			*
			* @example
			*
			*     let x32WordArray = x64WordArray.toX32();
			*/
			toX32() {
				const x64Words = this.words;
				const x64WordsLength = x64Words.length;
				const x32Words = [];
				for (let i = 0; i < x64WordsLength; i++) {
					const x64Word = x64Words[i];
					x32Words.push(x64Word.high);
					x32Words.push(x64Word.low);
				}
				return new X32WordArray(x32Words, this.sigBytes);
			}
			/**
			* Creates a copy of this word array.
			*
			* @return {X64WordArray} The clone.
			*
			* @example
			*
			*     let clone = x64WordArray.clone();
			*/
			clone() {
				const clone = super.clone.call(this);
				clone.words = this.words.slice(0);
				const { words } = clone;
				const wordsLength = words.length;
				for (let i = 0; i < wordsLength; i++) {
					words[i] = words[i].clone();
				}
				return clone;
			}
		}
		function _defineProperty(obj, key, value) {
			if (key in obj) {
				Object.defineProperty(obj, key, {
					value,
					enumerable: true,
					configurable: true,
					writable: true
				});
			} else {
				obj[key] = value;
			}
			return obj;
		}
		const parseLoop = (base64Str, base64StrLength, reverseMap) => {
			const words = [];
			let nBytes = 0;
			for (let i = 0; i < base64StrLength; i++) {
				if (i % 4) {
					const bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << i % 4 * 2;
					const bits2 = reverseMap[base64Str.charCodeAt(i)] >>> 6 - i % 4 * 2;
					const bitsCombined = bits1 | bits2;
					words[nBytes >>> 2] |= bitsCombined << 24 - nBytes % 4 * 8;
					nBytes++;
				}
			}
			return new WordArray(words, nBytes);
		};
		/**
		* Base64 encoding strategy.
		*/
		const Base64 = {
			stringify(wordArray) {
				const { words, sigBytes } = wordArray;
				const map = this._map;
				wordArray.clamp();
				let base64 = "";
				const byteRemainder = sigBytes % 3;
				const mainLength = sigBytes - byteRemainder;
				let a, b, c, d;
				let chunk;
				for (let i = 0; i < mainLength; i = i + 3) {
					const byte1 = this.getByteByIndex(words, i);
					const byte2 = this.getByteByIndex(words, i + 1);
					const byte3 = this.getByteByIndex(words, i + 2);
					chunk = byte1 << 16 | byte2 << 8 | byte3;
					a = (chunk & 16515072) >> 18;
					b = (chunk & 258048) >> 12;
					c = (chunk & 4032) >> 6;
					d = chunk & 63;
					base64 += map[a] + map[b] + map[c] + map[d];
				}
				if (byteRemainder == 1) {
					chunk = this.getByteByIndex(words, mainLength);
					a = (chunk & 252) >> 2;
					b = (chunk & 3) << 4;
					base64 += map[a] + map[b] + "==";
				} else if (byteRemainder == 2) {
					chunk = this.getByteByIndex(words, mainLength) << 8 | this.getByteByIndex(words, mainLength + 1);
					a = (chunk & 64512) >> 10;
					b = (chunk & 1008) >> 4;
					c = (chunk & 15) << 2;
					base64 += map[a] + map[b] + map[c] + "=";
				}
				return base64;
			},
			getByteByIndex(words, index) {
				return words[index >>> 2] >>> 24 - index % 4 * 8 & 255;
			},
			parse(base64Str) {
				let base64StrLength = base64Str.length;
				const map = this._map;
				let reverseMap = this._reverseMap;
				if (!reverseMap) {
					this._reverseMap = [];
					reverseMap = this._reverseMap;
					for (let j = 0; j < map.length; j++) {
						reverseMap[map.charCodeAt(j)] = j;
					}
				}
				const paddingChar = map.charAt(64);
				if (paddingChar) {
					const paddingIndex = base64Str.indexOf(paddingChar);
					if (paddingIndex !== -1) {
						base64StrLength = paddingIndex;
					}
				}
				return parseLoop(base64Str, base64StrLength, reverseMap);
			},
			_map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
		};
		/**
		* Decode Base64 encoded .wasm bytes
		*
		* @param compressedBase64Bytes Base64-encoded pako-compressed .wasm bytes
		* @return {Uint8Array|*} .wasm bytes, this is intended to be used by WebAssembly.instantiate
		*/
		const generateWasmBytes = function(compressedBase64Bytes) {
			function charCodeAt(c) {
				return c.charCodeAt(0);
			}
			let compressedBytes;
			if (typeof atob === "function") {
				compressedBytes = new Uint8Array(atob(compressedBase64Bytes).split("").map(charCodeAt));
			} else {
				compressedBytes = __require("buffer").Buffer.from(compressedBase64Bytes, "base64");
			}
			return pako__default["default"].inflate(compressedBytes);
		};
		/**
		* Load wasm bytes by WebAssembly.instantiate. Note this is async as WebAssembly.instantiate is async.
		* The async WebAssembly.instantiate is recommended instead of its sync variant WebAssembly.instance
		*
		* @param wasmBytes .wasm file bytes
		* @param imports configs for WebAssembly.instantiate, this is related to the generated glue code
		* @return {Promise<WebAssembly.Exports>} the generated WebAssembly target
		*/
		const loadWasm = async function(wasmBytes, imports) {
			if (typeof WebAssembly !== "object" || typeof WebAssembly.instantiate !== "function") {
				throw new Error("WebAssembly is not supported.");
			}
			const loadResult = await WebAssembly.instantiate(wasmBytes, imports);
			return loadResult.instance.exports;
		};
		/**
		* An async function to load all existing WebAssembly modules. Please note that this only need to be called once.
		*/
		const loadAllWasm = async function() {
			await Promise.allSettled(Object.values(index.algo).map((algo) => {
				if (!algo.loadWasm) {
					return;
				}
				return algo.loadWasm();
			}));
		};
		const wasmBytes$b = generateWasmBytes(" ");
		function md5Wasm(wasm) {
			let cachegetUint32Memory0 = null;
			function getUint32Memory0() {
				if (cachegetUint32Memory0 === null || cachegetUint32Memory0.buffer !== wasm.memory.buffer) {
					cachegetUint32Memory0 = new Uint32Array(wasm.memory.buffer);
				}
				return cachegetUint32Memory0;
			}
			let WASM_VECTOR_LEN = 0;
			function passArray32ToWasm0(arg, malloc) {
				const ptr = malloc(arg.length * 4);
				getUint32Memory0().set(arg, ptr / 4);
				WASM_VECTOR_LEN = arg.length;
				return ptr;
			}
			/**
			* @param {number} doFlush
			* @param {Uint32Array} hashWords
			* @param {Uint32Array} dataWords
			* @param {number} dataSigBytes
			* @param {number} blockSize
			* @param {number} minBufferSize
			* @returns {number}
			*/
			function md5Process(doFlush, hashWords, dataWords, dataSigBytes, blockSize, minBufferSize) {
				try {
					var ptr0 = passArray32ToWasm0(hashWords, wasm.__wbindgen_malloc);
					var len0 = WASM_VECTOR_LEN;
					var ptr1 = passArray32ToWasm0(dataWords, wasm.__wbindgen_malloc);
					var len1 = WASM_VECTOR_LEN;
					var ret = wasm.md5Process(doFlush, ptr0, len0, ptr1, len1, dataSigBytes, blockSize, minBufferSize);
					return ret >>> 0;
				} finally {
					hashWords.set(getUint32Memory0().subarray(ptr0 / 4, ptr0 / 4 + len0));
					wasm.__wbindgen_free(ptr0, len0 * 4);
				}
			}
			return { md5Process };
		}
		/**
		* MD5 hash algorithm.
		*/
		class MD5Algo extends Hasher {
			static async loadWasm() {
				if (MD5Algo.wasm) {
					return MD5Algo.wasm;
				}
				MD5Algo.wasm = await loadWasm(wasmBytes$b);
				return MD5Algo.wasm;
			}
			async loadWasm() {
				return MD5Algo.loadWasm();
			}
			_doReset() {
				this._hash = new WordArray([
					1732584193,
					4023233417,
					2562383102,
					271733878
				]);
			}
			_process(doFlush) {
				if (!MD5Algo.wasm) {
					throw new Error("WASM is not loaded yet. 'MD5Algo.loadWasm' should be called first");
				}
				const data = this._data;
				const dataWords = data.words;
				const dataSigBytes = data.sigBytes;
				const blockSize = this.blockSize;
				const H = this._hash.words;
				const H_array = new Uint32Array(4);
				H_array[0] = H[0];
				H_array[1] = H[1];
				H_array[2] = H[2];
				H_array[3] = H[3];
				const nWordsReady = md5Wasm(MD5Algo.wasm).md5Process(doFlush ? 1 : 0, H_array, dataWords, dataSigBytes, blockSize, this._minBufferSize);
				const nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);
				H[0] = H_array[0];
				H[1] = H_array[1];
				H[2] = H_array[2];
				H[3] = H_array[3];
				let processedWords;
				if (nWordsReady) {
					processedWords = dataWords.splice(0, nWordsReady);
					data.sigBytes -= nBytesReady;
				}
				return new WordArray(processedWords, nBytesReady);
			}
			_doFinalize() {
				const data = this._data;
				const dataWords = data.words;
				const nBitsTotal = this._nDataBytes * 8;
				const nBitsLeft = data.sigBytes * 8;
				dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32;
				const nBitsTotalH = Math.floor(nBitsTotal / 4294967296);
				const nBitsTotalL = nBitsTotal;
				dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = (nBitsTotalH << 8 | nBitsTotalH >>> 24) & 16711935 | (nBitsTotalH << 24 | nBitsTotalH >>> 8) & 4278255360;
				dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = (nBitsTotalL << 8 | nBitsTotalL >>> 24) & 16711935 | (nBitsTotalL << 24 | nBitsTotalL >>> 8) & 4278255360;
				data.sigBytes = (dataWords.length + 1) * 4;
				this._process();
				const hash = this._hash;
				const H = hash.words;
				for (let i = 0; i < 4; i++) {
					const H_i = H[i];
					H[i] = (H_i << 8 | H_i >>> 24) & 16711935 | (H_i << 24 | H_i >>> 8) & 4278255360;
				}
				return hash;
			}
			clone() {
				const clone = super.clone.call(this);
				clone._hash = this._hash.clone();
				return clone;
			}
		}
		/**
		* Shortcut function to the hasher's object interface.
		*
		* @param {WordArray|string} message The message to hash.
		*
		* @return {WordArray} The hash.
		*
		* @static
		*
		* @example
		*
		*     const hash = CryptoJSW.MD5('message');
		*     const hash = CryptoJSW.MD5(wordArray);
		*/
		_defineProperty(MD5Algo, "wasm", null);
		_defineProperty(MD5Algo, "outputSize", 128 / 8);
		const MD5 = Hasher._createHelper(MD5Algo);
		/**
		* Shortcut function to the HMAC's object interface.
		*
		* @param {WordArray|string} message The message to hash.
		* @param {WordArray|string} key The secret key.
		*
		* @return {WordArray} The HMAC.
		*
		* @static
		*
		* @example
		*
		*     const hmac = CryptoJSW.HmacMD5(message, key);
		*/
		const HmacMD5 = Hasher._createHmacHelper(MD5Algo);
		/**
		* This key derivation function is meant to conform with EVP_BytesToKey.
		* www.openssl.org/docs/crypto/EVP_BytesToKey.html
		*/
		class EvpKDFAlgo extends Base {
			static async loadWasm() {
				return MD5Algo.loadWasm();
			}
			async loadWasm() {
				return EvpKDFAlgo.loadWasm();
			}
			/**
			* Initializes a newly created key derivation function.
			*
			* @param {Object} cfg (Optional) The configuration options to use for the derivation.
			*
			* @example
			*
			*     const kdf = new EvpKDF();
			*     const kdf = new EvpKDF({ keySize: 8 });
			*     const kdf = new EvpKDF({ keySize: 8, iterations: 1000 });
			*/
			constructor(cfg) {
				super();
				/**
				* Configuration options.
				*
				* @property {number} keySize The key size in words to generate. Default: 4 (128 bits)
				* @property {Hasher} hasher The hash algorithm to use. Default: MD5
				* @property {number} iterations The number of iterations to perform. Default: 1
				*/
				this.cfg = Object.assign(new Base(), {
					keySize: 128 / 32,
					hasher: MD5Algo,
					iterations: 1
				}, cfg);
			}
			/**
			* Derives a key from a password.
			*
			* @param {WordArray|string} password The password.
			* @param {WordArray|string} salt A salt.
			*
			* @return {WordArray} The derived key.
			*
			* @example
			*
			*     const key = kdf.compute(password, salt);
			*/
			compute(password, salt) {
				let block;
				const { cfg } = this;
				const hasher = new cfg.hasher();
				const derivedKey = new WordArray();
				const derivedKeyWords = derivedKey.words;
				const { keySize, iterations } = cfg;
				while (derivedKeyWords.length < keySize) {
					if (block) {
						hasher.update(block);
					}
					block = hasher.update(password).finalize(salt);
					hasher.reset();
					for (let i = 1; i < iterations; i++) {
						block = hasher.finalize(block);
						hasher.reset();
					}
					derivedKey.concat(block);
				}
				derivedKey.sigBytes = keySize * 4;
				return derivedKey;
			}
		}
		/**
		* Derives a key from a password.
		*
		* @param {WordArray|string} password The password.
		* @param {WordArray|string} salt A salt.
		* @param {Object} cfg (Optional) The configuration options to use for this computation.
		*
		* @return {WordArray} The derived key.
		*
		* @static
		*
		* @example
		*
		*     const key = CryptoJSW.EvpKDF(password, salt);
		*     const key = CryptoJSW.EvpKDF(password, salt, { keySize: 8 });
		*     const key = CryptoJSW.EvpKDF(password, salt, { keySize: 8, iterations: 1000 });
		*/
		const EvpKDF = (password, salt, cfg) => new EvpKDFAlgo(cfg).compute(password, salt);
		EvpKDF.loadWasm = async function() {
			return EvpKDFAlgo.loadWasm();
		};
		/**
		* PKCS #5/7 padding strategy.
		*/
		const Pkcs7 = {
			pad(data, blockSize) {
				const blockSizeBytes = blockSize * 4;
				const nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;
				const paddingWord = nPaddingBytes << 24 | nPaddingBytes << 16 | nPaddingBytes << 8 | nPaddingBytes;
				const paddingWords = [];
				for (let i = 0; i < nPaddingBytes; i += 4) {
					paddingWords.push(paddingWord);
				}
				const padding = new WordArray(paddingWords, nPaddingBytes);
				data.concat(padding);
			},
			unpad(data) {
				const _data = data;
				const nPaddingBytes = _data.words[_data.sigBytes - 1 >>> 2] & 255;
				_data.sigBytes -= nPaddingBytes;
			}
		};
		/**
		* Abstract base cipher template.
		*
		* @property {number} keySize This cipher's key size. Default: 4 (128 bits)
		* @property {number} ivSize This cipher's IV size. Default: 4 (128 bits)
		* @property {number} _ENC_XFORM_MODE A constant representing encryption mode.
		* @property {number} _DEC_XFORM_MODE A constant representing decryption mode.
		*/
		class Cipher extends BufferedBlockAlgorithm {
			static get _ENC_XFORM_MODE() {
				return 1;
			}
			static get _DEC_XFORM_MODE() {
				return 2;
			}
			static get keySize() {
				return 128 / 32;
			}
			static get ivSize() {
				return 128 / 32;
			}
			/**
			* Initializes a newly created cipher.
			*
			* @param {number} xformMode Either the encryption or decryption transormation mode constant.
			* @param {WordArray} key The key.
			* @param {Object} cfg (Optional) The configuration options to use for this operation.
			*
			* @example
			*
			*     const cipher = new Cipher(
			*       CryptoJSW.algo.AES._ENC_XFORM_MODE, keyWordArray, { iv: ivWordArray }
			*     );
			*/
			constructor(xformMode, key, cfg) {
				super();
				this._ENC_XFORM_MODE = 1;
				this._DEC_XFORM_MODE = 2;
				this.keySize = 128 / 32;
				this.ivSize = 128 / 32;
				/**
				* Configuration options.
				*
				* @property {WordArray} iv The IV to use for this operation.
				*/
				this.cfg = Object.assign(new Base(), cfg);
				this._xformMode = xformMode;
				this._key = key;
				this.reset();
			}
			/**
			* Creates this cipher in encryption mode.
			*
			* @param {WordArray} key The key.
			* @param {Object} cfg (Optional) The configuration options to use for this operation.
			*
			* @return {Cipher} A cipher instance.
			*
			* @static
			*
			* @example
			*
			*     const cipher = CryptoJSW.algo.AES.createEncryptor(keyWordArray, { iv: ivWordArray });
			*/
			static createEncryptor(key, cfg) {
				return new this(this._ENC_XFORM_MODE, key, cfg);
			}
			/**
			* Creates this cipher in decryption mode.
			*
			* @param {WordArray} key The key.
			* @param {Object} cfg (Optional) The configuration options to use for this operation.
			*
			* @return {Cipher} A cipher instance.
			*
			* @static
			*
			* @example
			*
			*     const cipher = CryptoJSW.algo.AES.createDecryptor(keyWordArray, { iv: ivWordArray });
			*/
			static createDecryptor(key, cfg) {
				return new this(this._DEC_XFORM_MODE, key, cfg);
			}
			/**
			* Creates shortcut functions to a cipher's object interface.
			*
			* @param {Cipher} cipher The cipher to create a helper for.
			*
			* @return {Object} An object with encrypt and decrypt shortcut functions.
			*
			* @static
			*
			* @example
			*
			*     const AES = CryptoJSW.lib.Cipher._createHelper(CryptoJSW.algo.AES);
			*/
			static _createHelper(SubCipher) {
				const selectCipherStrategy = (key) => {
					if (isString(key)) {
						return PasswordBasedCipher;
					}
					return SerializableCipher;
				};
				return {
					async loadWasm() {
						if (!SubCipher.wasm) {
							await SubCipher.loadWasm();
						}
						if (!MD5Algo.wasm) {
							await MD5Algo.loadWasm();
						}
					},
					encrypt(message, key, cfg) {
						return selectCipherStrategy(key).encrypt(SubCipher, message, key, cfg);
					},
					decrypt(ciphertext, key, cfg) {
						return selectCipherStrategy(key).decrypt(SubCipher, ciphertext, key, cfg);
					}
				};
			}
			/**
			* Resets this cipher to its initial state.
			*
			* @example
			*
			*     cipher.reset();
			*/
			reset() {
				super.reset.call(this);
				this._doReset();
			}
			/**
			* Adds data to be encrypted or decrypted.
			*
			* @param {WordArray|string} dataUpdate The data to encrypt or decrypt.
			*
			* @return {WordArray} The data after processing.
			*
			* @example
			*
			*     const encrypted = cipher.process('data');
			*     const encrypted = cipher.process(wordArray);
			*/
			process(dataUpdate) {
				this._append(dataUpdate);
				return this._process();
			}
			/**
			* Finalizes the encryption or decryption process.
			* Note that the finalize operation is effectively a destructive, read-once operation.
			*
			* @param {WordArray|string} dataUpdate The final data to encrypt or decrypt.
			*
			* @return {WordArray} The data after final processing.
			*
			* @example
			*
			*     const encrypted = cipher.finalize();
			*     const encrypted = cipher.finalize('data');
			*     const encrypted = cipher.finalize(wordArray);
			*/
			finalize(dataUpdate) {
				if (dataUpdate) {
					this._append(dataUpdate);
				}
				const finalProcessedData = this._doFinalize();
				return finalProcessedData;
			}
		}
		/**
		* Abstract base stream cipher template.
		*
		* @property {number} blockSize
		*
		*     The number of 32-bit words this cipher operates on. Default: 1 (32 bits)
		*/
		class StreamCipher extends Cipher {
			constructor(...args) {
				super(...args);
				this.blockSize = 1;
			}
			_doFinalize() {
				const finalProcessedBlocks = this._process(!!"flush");
				return finalProcessedBlocks;
			}
		}
		/**
		* Abstract base block cipher mode template.
		*/
		class BlockCipherMode extends Base {
			/**
			* Initializes a newly created mode.
			*
			* @param {Cipher} cipher A block cipher instance.
			* @param {Array} iv The IV words.
			*
			* @example
			*
			*     const mode = new BlockCipherMode(cipher, iv.words);
			*/
			constructor(cipher, iv) {
				super();
				this._cipher = cipher;
				this._iv = iv;
			}
			/**
			* Creates this mode for encryption.
			*
			* @param {Cipher} cipher A block cipher instance.
			* @param {Array} iv The IV words.
			*
			* @static
			*
			* @example
			*
			*     const mode = CryptoJSW.mode.CBC.createEncryptor(cipher, iv.words);
			*/
			static createEncryptor(cipher, iv) {
				return new this.Encryptor(cipher, iv);
			}
			/**
			* Creates this mode for decryption.
			*
			* @param {Cipher} cipher A block cipher instance.
			* @param {Array} iv The IV words.
			*
			* @static
			*
			* @example
			*
			*     const mode = CryptoJSW.mode.CBC.createDecryptor(cipher, iv.words);
			*/
			static createDecryptor(cipher, iv) {
				return new this.Decryptor(cipher, iv);
			}
		}
		function xorBlock(words, offset, blockSize) {
			const _words = words;
			let block;
			const iv = this._iv;
			if (iv) {
				block = iv;
				this._iv = undefined;
			} else {
				block = this._prevBlock;
			}
			for (let i = 0; i < blockSize; i++) {
				_words[offset + i] ^= block[i];
			}
		}
		/**
		* Cipher Block Chaining mode.
		*/
		/**
		* Abstract base CBC mode.
		*/
		class CBC extends BlockCipherMode {}
		/**
		* CBC encryptor.
		*/
		_defineProperty(CBC, "_name", "CBC");
		CBC.Encryptor = class extends CBC {
			/**
			* Processes the data block at offset.
			*
			* @param {Array} words The data words to operate on.
			* @param {number} offset The offset where the block starts.
			*
			* @example
			*
			*     mode.processBlock(data.words, offset);
			*/
			processBlock(words, offset) {
				const cipher = this._cipher;
				const { blockSize } = cipher;
				xorBlock.call(this, words, offset, blockSize);
				cipher.encryptBlock(words, offset);
				this._prevBlock = words.slice(offset, offset + blockSize);
			}
		};
		/**
		* CBC decryptor.
		*/
		CBC.Decryptor = class extends CBC {
			/**
			* Processes the data block at offset.
			*
			* @param {Array} words The data words to operate on.
			* @param {number} offset The offset where the block starts.
			*
			* @example
			*
			*     mode.processBlock(data.words, offset);
			*/
			processBlock(words, offset) {
				const cipher = this._cipher;
				const { blockSize } = cipher;
				const thisBlock = words.slice(offset, offset + blockSize);
				cipher.decryptBlock(words, offset);
				xorBlock.call(this, words, offset, blockSize);
				this._prevBlock = thisBlock;
			}
		};
		/**
		* Abstract base block cipher template.
		*
		* @property {number} blockSize
		*
		*    The number of 32-bit words this cipher operates on. Default: 4 (128 bits)
		*/
		class BlockCipher extends Cipher {
			constructor(xformMode, key, cfg) {
				/**
				* Configuration options.
				*
				* @property {Mode} mode The block mode to use. Default: CBC
				* @property {Padding} padding The padding strategy to use. Default: Pkcs7
				*/
				super(xformMode, key, Object.assign({
					mode: CBC,
					padding: Pkcs7
				}, cfg));
				this.blockSize = 128 / 32;
			}
			reset() {
				let modeCreator;
				super.reset.call(this);
				const { cfg } = this;
				const { iv, mode } = cfg;
				if (this._xformMode === this.constructor._ENC_XFORM_MODE) {
					modeCreator = mode.createEncryptor;
				} else {
					modeCreator = mode.createDecryptor;
					this._minBufferSize = 1;
				}
				this.modeProcessBlock = undefined;
				this._mode = modeCreator.call(mode, this, iv && iv.words);
				this._mode.__creator = modeCreator;
			}
			_doProcessBlock(words, offset) {
				this._mode.processBlock(words, offset);
			}
			_doFinalize() {
				let finalProcessedBlocks;
				const { padding } = this.cfg;
				if (this._xformMode === this.constructor._ENC_XFORM_MODE) {
					padding.pad(this._data, this.blockSize);
					finalProcessedBlocks = this._process(!!"flush");
				} else {
					finalProcessedBlocks = this._process(!!"flush");
					padding.unpad(finalProcessedBlocks);
				}
				return finalProcessedBlocks;
			}
		}
		/**
		* A collection of cipher parameters.
		*
		* @property {WordArray} ciphertext The raw ciphertext.
		* @property {WordArray} key The key to this ciphertext.
		* @property {WordArray} iv The IV used in the ciphering operation.
		* @property {WordArray} salt The salt used with a key derivation function.
		* @property {Cipher} algorithm The cipher algorithm.
		* @property {Mode} mode The block mode used in the ciphering operation.
		* @property {Padding} padding The padding scheme used in the ciphering operation.
		* @property {number} blockSize The block size of the cipher.
		* @property {Format} formatter
		*    The default formatting strategy to convert this cipher params object to a string.
		*/
		class CipherParams extends Base {
			/**
			* Initializes a newly created cipher params object.
			*
			* @param {Object} cipherParams An object with any of the possible cipher parameters.
			*
			* @example
			*
			*     let cipherParams = new CipherParams({
			*         ciphertext: ciphertextWordArray,
			*         key: keyWordArray,
			*         iv: ivWordArray,
			*         salt: saltWordArray,
			*         algorithm: CryptoJSW.algo.AES,
			*         mode: CryptoJSW.mode.CBC,
			*         padding: CryptoJSW.pad.PKCS7,
			*         blockSize: 4,
			*         formatter: CryptoJSW.format.OpenSSL
			*     });
			*/
			constructor(cipherParams) {
				super();
				this.mixIn(cipherParams);
			}
			/**
			* Converts this cipher params object to a string.
			*
			* @param {Format} formatter (Optional) The formatting strategy to use.
			*
			* @return {string} The stringified cipher params.
			*
			* @throws Error If neither the formatter nor the default formatter is set.
			*
			* @example
			*
			*     let string = cipherParams + '';
			*     let string = cipherParams.toString();
			*     let string = cipherParams.toString(CryptoJSW.format.OpenSSL);
			*/
			toString(formatter) {
				return (formatter || this.formatter).stringify(this);
			}
		}
		/**
		* OpenSSL formatting strategy.
		*/
		const OpenSSLFormatter = {
			stringify(cipherParams) {
				let wordArray;
				const { ciphertext, salt } = cipherParams;
				if (salt) {
					wordArray = new WordArray([1398893684, 1701076831]).concat(salt).concat(ciphertext);
				} else {
					wordArray = ciphertext;
				}
				return wordArray.toString(Base64);
			},
			parse(openSSLStr) {
				let salt;
				const ciphertext = Base64.parse(openSSLStr);
				const ciphertextWords = ciphertext.words;
				if (ciphertextWords[0] === 1398893684 && ciphertextWords[1] === 1701076831) {
					salt = new WordArray(ciphertextWords.slice(2, 4));
					ciphertextWords.splice(0, 4);
					ciphertext.sigBytes -= 16;
				}
				return new CipherParams({
					ciphertext,
					salt
				});
			}
		};
		/**
		* A cipher wrapper that returns ciphertext as a serializable cipher params object.
		*/
		class SerializableCipher extends Base {
			/**
			* Encrypts a message.
			*
			* @param {Cipher} cipher The cipher algorithm to use.
			* @param {WordArray|string} message The message to encrypt.
			* @param {WordArray} key The key.
			* @param {Object} cfg (Optional) The configuration options to use for this operation.
			* @param {Object} wasm The initialed wasm module
			*
			* @return {CipherParams} A cipher params object.
			*
			* @static
			*
			* @example
			*
			*     let ciphertextParams = CryptoJSW.lib.SerializableCipher
			*       .encrypt(CryptoJSW.algo.AES, message, key);
			*     let ciphertextParams = CryptoJSW.lib.SerializableCipher
			*       .encrypt(CryptoJSW.algo.AES, message, key, { iv: iv });
			*     let ciphertextParams = CryptoJSW.lib.SerializableCipher
			*       .encrypt(CryptoJSW.algo.AES, message, key, { iv: iv, format: CryptoJSW.format.OpenSSL });
			*/
			static encrypt(cipher, message, key, cfg, wasm) {
				const _cfg = Object.assign(new Base(), this.cfg, cfg);
				const encryptor = cipher.createEncryptor(key, _cfg, wasm);
				const ciphertext = encryptor.finalize(message);
				const cipherCfg = encryptor.cfg;
				return new CipherParams({
					ciphertext,
					key,
					iv: cipherCfg.iv,
					algorithm: cipher,
					mode: cipherCfg.mode,
					padding: cipherCfg.padding,
					blockSize: encryptor.blockSize,
					formatter: _cfg.format
				});
			}
			/**
			* Decrypts serialized ciphertext.
			*
			* @param {Cipher} cipher The cipher algorithm to use.
			* @param {CipherParams|string} ciphertext The ciphertext to decrypt.
			* @param {WordArray} key The key.
			* @param {Object} cfg (Optional) The configuration options to use for this operation.
			*
			* @return {WordArray} The plaintext.
			*
			* @static
			*
			* @example
			*
			*     let plaintext = CryptoJSW.lib.SerializableCipher
			*       .decrypt(CryptoJSW.algo.AES, formattedCiphertext, key,
			*         { iv: iv, format: CryptoJSW.format.OpenSSL });
			*     let plaintext = CryptoJSW.lib.SerializableCipher
			*       .decrypt(CryptoJSW.algo.AES, ciphertextParams, key,
			*         { iv: iv, format: CryptoJSW.format.OpenSSL });
			*/
			static decrypt(cipher, ciphertext, key, cfg) {
				let _ciphertext = ciphertext;
				const _cfg = Object.assign(new Base(), this.cfg, cfg);
				_ciphertext = this._parse(_ciphertext, _cfg.format);
				const plaintext = cipher.createDecryptor(key, _cfg).finalize(_ciphertext.ciphertext);
				return plaintext;
			}
			/**
			* Converts serialized ciphertext to CipherParams,
			* else assumed CipherParams already and returns ciphertext unchanged.
			*
			* @param {CipherParams|string} ciphertext The ciphertext.
			* @param {Formatter} format The formatting strategy to use to parse serialized ciphertext.
			*
			* @return {CipherParams} The unserialized ciphertext.
			*
			* @static
			*
			* @example
			*
			*     let ciphertextParams = CryptoJSW.lib.SerializableCipher
			*       ._parse(ciphertextStringOrParams, format);
			*/
			static _parse(ciphertext, format) {
				if (isString(ciphertext)) {
					return format.parse(ciphertext, this);
				}
				return ciphertext;
			}
		}
		/**
		* Configuration options.
		*
		* @property {Formatter} format
		*
		*    The formatting strategy to convert cipher param objects to and from a string.
		*    Default: OpenSSL
		*/
		SerializableCipher.cfg = Object.assign(new Base(), { format: OpenSSLFormatter });
		/**
		* OpenSSL key derivation function.
		*/
		const OpenSSLKdf = {
			async loadWasm() {
				return MD5Algo.loadWasm();
			},
			execute(password, keySize, ivSize, salt, hasher) {
				let _salt = salt;
				if (!_salt) {
					_salt = WordArray.random(64 / 8);
				}
				let key;
				if (!hasher) {
					key = new EvpKDFAlgo({ keySize: keySize + ivSize }).compute(password, _salt);
				} else {
					key = new EvpKDFAlgo({
						keySize: keySize + ivSize,
						hasher
					}).compute(password, salt);
				}
				const iv = new WordArray(key.words.slice(keySize), ivSize * 4);
				key.sigBytes = keySize * 4;
				return new CipherParams({
					key,
					iv,
					salt: _salt
				});
			}
		};
		/**
		* A serializable cipher wrapper that derives the key from a password,
		* and returns ciphertext as a serializable cipher params object.
		*/
		class PasswordBasedCipher extends SerializableCipher {
			static async loadWasm() {
				return MD5Algo.loadWasm();
			}
			async loadWasm() {
				return PasswordBasedCipher.loadWasm();
			}
			/**
			* Encrypts a message using a password.
			*
			* @param {Cipher} cipher The cipher algorithm to use.
			* @param {WordArray|string} message The message to encrypt.
			* @param {string} password The password.
			* @param {Object} cfg (Optional) The configuration options to use for this operation.
			*
			* @return {CipherParams} A cipher params object.
			*
			* @static
			*
			* @example
			*
			*     let ciphertextParams = CryptoJSW.lib.PasswordBasedCipher
			*       .encrypt(CryptoJSW.algo.AES, message, 'password');
			*     let ciphertextParams = CryptoJSW.lib.PasswordBasedCipher
			*       .encrypt(CryptoJSW.algo.AES, message, 'password', { format: CryptoJSW.format.OpenSSL });
			*/
			static encrypt(cipher, message, password, cfg, wasm) {
				const _cfg = Object.assign(new Base(), this.cfg, cfg);
				const derivedParams = _cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, _cfg.salt, _cfg.hasher);
				_cfg.iv = derivedParams.iv;
				const ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, _cfg, wasm);
				ciphertext.mixIn(derivedParams);
				return ciphertext;
			}
			/**
			* Decrypts serialized ciphertext using a password.
			*
			* @param {Cipher} cipher The cipher algorithm to use.
			* @param {CipherParams|string} ciphertext The ciphertext to decrypt.
			* @param {string} password The password.
			* @param {Object} cfg (Optional) The configuration options to use for this operation.
			*
			* @return {WordArray} The plaintext.
			*
			* @static
			*
			* @example
			*
			*     let plaintext = CryptoJSW.lib.PasswordBasedCipher
			*       .decrypt(CryptoJSW.algo.AES, formattedCiphertext, 'password',
			*         { format: CryptoJSW.format.OpenSSL });
			*     let plaintext = CryptoJSW.lib.PasswordBasedCipher
			*       .decrypt(CryptoJSW.algo.AES, ciphertextParams, 'password',
			*         { format: CryptoJSW.format.OpenSSL });
			*/
			static decrypt(cipher, ciphertext, password, cfg) {
				let _ciphertext = ciphertext;
				const _cfg = Object.assign(new Base(), this.cfg, cfg);
				_ciphertext = this._parse(_ciphertext, _cfg.format);
				const derivedParams = _cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, _ciphertext.salt, _cfg.hasher);
				_cfg.iv = derivedParams.iv;
				const plaintext = SerializableCipher.decrypt.call(this, cipher, _ciphertext, derivedParams.key, _cfg);
				return plaintext;
			}
		}
		/**
		* Configuration options.
		*
		* @property {KDF} kdf
		*     The key derivation function to use to generate a key and IV from a password.
		*     Default: OpenSSL
		*/
		PasswordBasedCipher.cfg = Object.assign(SerializableCipher.cfg, { kdf: OpenSSLKdf });
		const swapEndian = (word) => word << 8 & 4278255360 | word >>> 8 & 16711935;
		/**
		* UTF-16 BE encoding strategy.
		*/
		const Utf16BE = {
			stringify(wordArray) {
				const { words, sigBytes } = wordArray;
				const utf16Chars = [];
				for (let i = 0; i < sigBytes; i += 2) {
					const codePoint = words[i >>> 2] >>> 16 - i % 4 * 8 & 65535;
					utf16Chars.push(String.fromCharCode(codePoint));
				}
				return utf16Chars.join("");
			},
			parse(utf16Str) {
				const utf16StrLength = utf16Str.length;
				const words = [];
				for (let i = 0; i < utf16StrLength; i++) {
					words[i >>> 1] |= utf16Str.charCodeAt(i) << 16 - i % 2 * 16;
				}
				return new WordArray(words, utf16StrLength * 2);
			}
		};
		const Utf16 = Utf16BE;
		/**
		* UTF-16 LE encoding strategy.
		*/
		const Utf16LE = {
			stringify(wordArray) {
				const { words, sigBytes } = wordArray;
				const utf16Chars = [];
				for (let i = 0; i < sigBytes; i += 2) {
					const codePoint = swapEndian(words[i >>> 2] >>> 16 - i % 4 * 8 & 65535);
					utf16Chars.push(String.fromCharCode(codePoint));
				}
				return utf16Chars.join("");
			},
			parse(utf16Str) {
				const utf16StrLength = utf16Str.length;
				const words = [];
				for (let i = 0; i < utf16StrLength; i++) {
					words[i >>> 1] |= swapEndian(utf16Str.charCodeAt(i) << 16 - i % 2 * 16);
				}
				return new WordArray(words, utf16StrLength * 2);
			}
		};
		const wasmBytes$a = generateWasmBytes(" ");
		function sha1Wasm(wasm) {
			let cachegetUint32Memory0 = null;
			function getUint32Memory0() {
				if (cachegetUint32Memory0 === null || cachegetUint32Memory0.buffer !== wasm.memory.buffer) {
					cachegetUint32Memory0 = new Uint32Array(wasm.memory.buffer);
				}
				return cachegetUint32Memory0;
			}
			let WASM_VECTOR_LEN = 0;
			function passArray32ToWasm0(arg, malloc) {
				const ptr = malloc(arg.length * 4);
				getUint32Memory0().set(arg, ptr / 4);
				WASM_VECTOR_LEN = arg.length;
				return ptr;
			}
			/**
			* @param {number} doFlush
			* @param {Uint32Array} hashWords
			* @param {Uint32Array} dataWords
			* @param {number} dataSigBytes
			* @param {number} blockSize
			* @param {number} minBufferSize
			* @returns {number}
			*/
			function doCrypt(doFlush, hashWords, dataWords, dataSigBytes, blockSize, minBufferSize) {
				try {
					var ptr0 = passArray32ToWasm0(hashWords, wasm.__wbindgen_malloc);
					var len0 = WASM_VECTOR_LEN;
					var ptr1 = passArray32ToWasm0(dataWords, wasm.__wbindgen_malloc);
					var len1 = WASM_VECTOR_LEN;
					var ret = wasm.doCrypt(doFlush, ptr0, len0, ptr1, len1, dataSigBytes, blockSize, minBufferSize);
					return ret >>> 0;
				} finally {
					hashWords.set(getUint32Memory0().subarray(ptr0 / 4, ptr0 / 4 + len0));
					wasm.__wbindgen_free(ptr0, len0 * 4);
				}
			}
			return { doCrypt };
		}
		/**
		* SHA-1 hash algorithm.
		*/
		class SHA1Algo extends Hasher {
			static async loadWasm() {
				if (SHA1Algo.wasm) {
					return SHA1Algo.wasm;
				}
				SHA1Algo.wasm = await loadWasm(wasmBytes$a);
				return SHA1Algo.wasm;
			}
			async loadWasm() {
				return SHA1Algo.loadWasm();
			}
			_doReset() {
				this._hash = new WordArray([
					1732584193,
					4023233417,
					2562383102,
					271733878,
					3285377520
				]);
			}
			_process(doFlush) {
				if (!SHA1Algo.wasm) {
					throw new Error("WASM is not loaded yet. 'SHA1Algo.loadWasm' should be called first");
				}
				const data = this._data;
				const dataWords = data.words;
				const dataSigBytes = data.sigBytes;
				const blockSize = this.blockSize;
				const H = this._hash.words;
				const H_array = new Uint32Array(5);
				H_array[0] = H[0];
				H_array[1] = H[1];
				H_array[2] = H[2];
				H_array[3] = H[3];
				H_array[4] = H[4];
				const nWordsReady = sha1Wasm(SHA1Algo.wasm).doCrypt(doFlush ? 1 : 0, H_array, dataWords, dataSigBytes, blockSize, this._minBufferSize);
				const nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);
				H[0] = H_array[0];
				H[1] = H_array[1];
				H[2] = H_array[2];
				H[3] = H_array[3];
				H[4] = H_array[4];
				let processedWords;
				if (nWordsReady) {
					processedWords = dataWords.splice(0, nWordsReady);
					data.sigBytes -= nBytesReady;
				}
				return new WordArray(processedWords, nBytesReady);
			}
			_doFinalize() {
				const data = this._data;
				const dataWords = data.words;
				const nBitsTotal = this._nDataBytes * 8;
				const nBitsLeft = data.sigBytes * 8;
				dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32;
				dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = Math.floor(nBitsTotal / 4294967296);
				dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = nBitsTotal;
				data.sigBytes = dataWords.length * 4;
				this._process();
				return this._hash;
			}
			clone() {
				const clone = super.clone.call(this);
				clone._hash = this._hash.clone();
				return clone;
			}
		}
		/**
		* Shortcut function to the hasher's object interface.
		*
		* @param {WordArray|string} message The message to hash.
		*
		* @return {WordArray} The hash.
		*
		* @static
		*
		* @example
		*
		*     const hash = CryptoJSW.SHA1('message');
		*     const hash = CryptoJSW.SHA1(wordArray);
		*/
		_defineProperty(SHA1Algo, "wasm", null);
		_defineProperty(SHA1Algo, "outputSize", 160 / 8);
		const SHA1 = Hasher._createHelper(SHA1Algo);
		/**
		* Shortcut function to the HMAC's object interface.
		*
		* @param {WordArray|string} message The message to hash.
		* @param {WordArray|string} key The secret key.
		*
		* @return {WordArray} The HMAC.
		*
		* @static
		*
		* @example
		*
		*     const hmac = CryptoJSW.HmacSHA1(message, key);
		*/
		const HmacSHA1 = Hasher._createHmacHelper(SHA1Algo);
		const wasmBytes$9 = generateWasmBytes(" ");
		function sha256Wasm(wasm) {
			let cachegetUint32Memory0 = null;
			function getUint32Memory0() {
				if (cachegetUint32Memory0 === null || cachegetUint32Memory0.buffer !== wasm.memory.buffer) {
					cachegetUint32Memory0 = new Uint32Array(wasm.memory.buffer);
				}
				return cachegetUint32Memory0;
			}
			let WASM_VECTOR_LEN = 0;
			function passArray32ToWasm0(arg, malloc) {
				const ptr = malloc(arg.length * 4);
				getUint32Memory0().set(arg, ptr / 4);
				WASM_VECTOR_LEN = arg.length;
				return ptr;
			}
			/**
			* @param {number} doFlush
			* @param {Uint32Array} dataWords
			* @param {number} dataSigBytes
			* @param {number} blockSize
			* @param {Uint32Array} hash
			* @param {number} minBufferSize
			* @returns {number}
			*/
			function doCrypt(doFlush, dataWords, dataSigBytes, blockSize, hash, minBufferSize) {
				try {
					var ptr0 = passArray32ToWasm0(dataWords, wasm.__wbindgen_malloc);
					var len0 = WASM_VECTOR_LEN;
					var ptr1 = passArray32ToWasm0(hash, wasm.__wbindgen_malloc);
					var len1 = WASM_VECTOR_LEN;
					var ret = wasm.doCrypt(doFlush, ptr0, len0, dataSigBytes, blockSize, ptr1, len1, minBufferSize);
					return ret >>> 0;
				} finally {
					hash.set(getUint32Memory0().subarray(ptr1 / 4, ptr1 / 4 + len1));
					wasm.__wbindgen_free(ptr1, len1 * 4);
				}
			}
			return { doCrypt };
		}
		const H = [
			1779033703,
			-1150833019,
			1013904242,
			-1521486534,
			1359893119,
			-1694144372,
			528734635,
			1541459225
		];
		/**
		* SHA-256 hash algorithm.
		*/
		class SHA256Algo extends Hasher {
			static async loadWasm() {
				if (SHA256Algo.wasm) {
					return SHA256Algo.wasm;
				}
				SHA256Algo.wasm = await loadWasm(wasmBytes$9);
				return SHA256Algo.wasm;
			}
			async loadWasm() {
				return SHA256Algo.loadWasm();
			}
			_doReset() {
				this._hash = new WordArray(H.slice(0));
			}
			_process(doFlush) {
				if (!SHA256Algo.wasm) {
					throw new Error("WASM is not loaded yet. 'SHA256Algo.loadWasm' should be called first");
				}
				const data = this._data;
				const dataWords = data.words;
				const dataSigBytes = data.sigBytes;
				const blockSize = this.blockSize;
				const H = this._hash.words;
				const H_array = new Uint32Array(8);
				for (let i = 0; i < 8; i++) {
					H_array[i] = H[i];
				}
				const nWordsReady = sha256Wasm(SHA256Algo.wasm).doCrypt(doFlush ? 1 : 0, dataWords, dataSigBytes, blockSize, H_array, this._minBufferSize);
				const nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);
				for (let i = 0; i < 8; i++) {
					H[i] = H_array[i];
				}
				let processedWords;
				if (nWordsReady) {
					processedWords = dataWords.splice(0, nWordsReady);
					data.sigBytes -= nBytesReady;
				}
				return new WordArray(processedWords, nBytesReady);
			}
			_doFinalize() {
				const data = this._data;
				const dataWords = data.words;
				const nBitsTotal = this._nDataBytes * 8;
				const nBitsLeft = data.sigBytes * 8;
				dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32;
				dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = Math.floor(nBitsTotal / 4294967296);
				dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = nBitsTotal;
				data.sigBytes = dataWords.length * 4;
				this._process();
				return this._hash;
			}
			clone() {
				const clone = super.clone.call(this);
				clone._hash = this._hash.clone();
				return clone;
			}
		}
		/**
		* Shortcut function to the hasher's object interface.
		*
		* @param {WordArray|string} message The message to hash.
		*
		* @return {WordArray} The hash.
		*
		* @static
		*
		* @example
		*
		*     const hash = CryptoJSW.SHA256('message');
		*     const hash = CryptoJSW.SHA256(wordArray);
		*/
		_defineProperty(SHA256Algo, "wasm", null);
		_defineProperty(SHA256Algo, "outputSize", 256 / 8);
		const SHA256 = Hasher._createHelper(SHA256Algo);
		/**
		* Shortcut function to the HMAC's object interface.
		*
		* @param {WordArray|string} message The message to hash.
		* @param {WordArray|string} key The secret key.
		*
		* @return {WordArray} The HMAC.
		*
		* @static
		*
		* @example
		*
		*     const hmac = CryptoJSW.HmacSHA256(message, key);
		*/
		const HmacSHA256 = Hasher._createHmacHelper(SHA256Algo);
		/**
		* SHA-224 hash algorithm.
		*/
		class SHA224Algo extends SHA256Algo {
			static async loadWasm() {
				return SHA256Algo.loadWasm();
			}
			async loadWasm() {
				return SHA224Algo.loadWasm();
			}
			_doReset() {
				this._hash = new WordArray([
					3238371032,
					914150663,
					812702999,
					4144912697,
					4290775857,
					1750603025,
					1694076839,
					3204075428
				]);
			}
			_doFinalize() {
				const hash = super._doFinalize.call(this);
				hash.sigBytes -= 4;
				return hash;
			}
		}
		/**
		* Shortcut function to the hasher's object interface.
		*
		* @param {WordArray|string} message The message to hash.
		*
		* @return {WordArray} The hash.
		*
		* @static
		*
		* @example
		*
		*     const hash = CryptoJSW.SHA224('message');
		*     const hash = CryptoJSW.SHA224(wordArray);
		*/
		_defineProperty(SHA224Algo, "outputSize", 224 / 8);
		const SHA224 = SHA256Algo._createHelper(SHA224Algo);
		/**
		* Shortcut function to the HMAC's object interface.
		*
		* @param {WordArray|string} message The message to hash.
		* @param {WordArray|string} key The secret key.
		*
		* @return {WordArray} The HMAC.
		*
		* @static
		*
		* @example
		*
		*     const hmac = CryptoJSW.HmacSHA224(message, key);
		*/
		const HmacSHA224 = SHA256Algo._createHmacHelper(SHA224Algo);
		const wasmBytes$8 = generateWasmBytes(" ");
		function sha512Wasm(wasm) {
			let cachegetUint32Memory0 = null;
			function getUint32Memory0() {
				if (cachegetUint32Memory0 === null || cachegetUint32Memory0.buffer !== wasm.memory.buffer) {
					cachegetUint32Memory0 = new Uint32Array(wasm.memory.buffer);
				}
				return cachegetUint32Memory0;
			}
			let WASM_VECTOR_LEN = 0;
			function passArray32ToWasm0(arg, malloc) {
				const ptr = malloc(arg.length * 4);
				getUint32Memory0().set(arg, ptr / 4);
				WASM_VECTOR_LEN = arg.length;
				return ptr;
			}
			/**
			* @param {number} nWordsReady
			* @param {number} blockSize
			* @param {Uint32Array} dataWords
			* @param {Uint32Array} hash
			*/
			function doCrypt(nWordsReady, blockSize, dataWords, hash) {
				try {
					var ptr0 = passArray32ToWasm0(dataWords, wasm.__wbindgen_malloc);
					var len0 = WASM_VECTOR_LEN;
					var ptr1 = passArray32ToWasm0(hash, wasm.__wbindgen_malloc);
					var len1 = WASM_VECTOR_LEN;
					wasm.doCrypt(nWordsReady, blockSize, ptr0, len0, ptr1, len1);
				} finally {
					hash.set(getUint32Memory0().subarray(ptr1 / 4, ptr1 / 4 + len1));
					wasm.__wbindgen_free(ptr1, len1 * 4);
				}
			}
			return { doCrypt };
		}
		/**
		* SHA-512 hash algorithm.
		*/
		class SHA512Algo extends Hasher {
			static async loadWasm() {
				if (SHA512Algo.wasm) {
					return SHA512Algo.wasm;
				}
				SHA512Algo.wasm = await loadWasm(wasmBytes$8);
				return SHA512Algo.wasm;
			}
			async loadWasm() {
				return SHA512Algo.loadWasm();
			}
			constructor() {
				super();
				this.blockSize = 1024 / 32;
			}
			_doReset() {
				this._hash = new X64WordArray([
					new X64Word(1779033703, 4089235720),
					new X64Word(3144134277, 2227873595),
					new X64Word(1013904242, 4271175723),
					new X64Word(2773480762, 1595750129),
					new X64Word(1359893119, 2917565137),
					new X64Word(2600822924, 725511199),
					new X64Word(528734635, 4215389547),
					new X64Word(1541459225, 327033209)
				]);
			}
			_process(doFlush) {
				if (!SHA512Algo.wasm) {
					throw new Error("WASM is not loaded yet. 'SHA512Algo.loadWasm' should be called first");
				}
				let processedWords;
				const data = this._data;
				const dataWords = data.words;
				const dataSigBytes = data.sigBytes;
				const blockSize = this.blockSize;
				const blockSizeBytes = blockSize * 4;
				let nBlocksReady = dataSigBytes / blockSizeBytes;
				if (doFlush) {
					nBlocksReady = Math.ceil(nBlocksReady);
				} else {
					nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);
				}
				const nWordsReady = nBlocksReady * blockSize;
				const nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);
				if (nWordsReady) {
					const H = this._hash.words;
					const H_array = new Uint32Array(16);
					for (let i = 0; i < 8; i++) {
						H_array[i * 2] = H[i].high;
						H_array[i * 2 + 1] = H[i].low;
					}
					sha512Wasm(SHA512Algo.wasm).doCrypt(nWordsReady, blockSize, dataWords, H_array);
					for (let i = 0; i < 8; i++) {
						H[i].high = H_array[i * 2];
						H[i].low = H_array[i * 2 + 1];
					}
					processedWords = dataWords.splice(0, nWordsReady);
					data.sigBytes -= nBytesReady;
				}
				return new WordArray(processedWords, nBytesReady);
			}
			_doFinalize() {
				const data = this._data;
				const dataWords = data.words;
				const nBitsTotal = this._nDataBytes * 8;
				const nBitsLeft = data.sigBytes * 8;
				dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32;
				dataWords[(nBitsLeft + 128 >>> 10 << 5) + 30] = Math.floor(nBitsTotal / 4294967296);
				dataWords[(nBitsLeft + 128 >>> 10 << 5) + 31] = nBitsTotal;
				data.sigBytes = dataWords.length * 4;
				this._process();
				const hash = this._hash.toX32();
				return hash;
			}
			clone() {
				const clone = super.clone.call(this);
				clone._hash = this._hash.clone();
				return clone;
			}
		}
		/**
		* Shortcut function to the hasher's object interface.
		*
		* @param {WordArray|string} message The message to hash.
		*
		* @return {WordArray} The hash.
		*
		* @static
		*
		* @example
		*
		*     const hash = CryptoJSW.SHA512('message');
		*     const hash = CryptoJSW.SHA512(wordArray);
		*/
		_defineProperty(SHA512Algo, "wasm", null);
		_defineProperty(SHA512Algo, "outputSize", 512 / 8);
		const SHA512 = Hasher._createHelper(SHA512Algo);
		/**
		* Shortcut function to the HMAC's object interface.
		*
		* @param {WordArray|string} message The message to hash.
		* @param {WordArray|string} key The secret key.
		*
		* @return {WordArray} The HMAC.
		*
		* @static
		*
		* @example
		*
		*     const hmac = CryptoJSW.HmacSHA512(message, key);
		*/
		const HmacSHA512 = Hasher._createHmacHelper(SHA512Algo);
		/**
		* SHA-384 hash algorithm.
		*/
		class SHA384Algo extends SHA512Algo {
			static async loadWasm() {
				return SHA512Algo.loadWasm();
			}
			async loadWasm() {
				return SHA384Algo.loadWasm();
			}
			_doReset() {
				this._hash = new X64WordArray([
					new X64Word(3418070365, 3238371032),
					new X64Word(1654270250, 914150663),
					new X64Word(2438529370, 812702999),
					new X64Word(355462360, 4144912697),
					new X64Word(1731405415, 4290775857),
					new X64Word(2394180231, 1750603025),
					new X64Word(3675008525, 1694076839),
					new X64Word(1203062813, 3204075428)
				]);
			}
			_doFinalize() {
				const hash = super._doFinalize.call(this);
				hash.sigBytes -= 16;
				return hash;
			}
		}
		/**
		* Shortcut function to the hasher's object interface.
		*
		* @param {WordArray|string} message The message to hash.
		*
		* @return {WordArray} The hash.
		*
		* @static
		*
		* @example
		*
		*     const hash = CryptoJSW.SHA384('message');
		*     const hash = CryptoJSW.SHA384(wordArray);
		*/
		_defineProperty(SHA384Algo, "outputSize", 384 / 8);
		const SHA384 = SHA512Algo._createHelper(SHA384Algo);
		/**
		* Shortcut function to the HMAC's object interface.
		*
		* @param {WordArray|string} message The message to hash.
		* @param {WordArray|string} key The secret key.
		*
		* @return {WordArray} The HMAC.
		*
		* @static
		*
		* @example
		*
		*     const hmac = CryptoJSW.HmacSHA384(message, key);
		*/
		const HmacSHA384 = SHA512Algo._createHmacHelper(SHA384Algo);
		const wasmBytes$7 = generateWasmBytes(" ");
		function sha3Wasm(wasm) {
			let cachegetUint32Memory0 = null;
			function getUint32Memory0() {
				if (cachegetUint32Memory0 === null || cachegetUint32Memory0.buffer !== wasm.memory.buffer) {
					cachegetUint32Memory0 = new Uint32Array(wasm.memory.buffer);
				}
				return cachegetUint32Memory0;
			}
			let WASM_VECTOR_LEN = 0;
			function passArray32ToWasm0(arg, malloc) {
				const ptr = malloc(arg.length * 4);
				getUint32Memory0().set(arg, ptr / 4);
				WASM_VECTOR_LEN = arg.length;
				return ptr;
			}
			/**
			* @param {number} doFlush
			* @param {Uint32Array} dataWords
			* @param {number} dataSigBytes
			* @param {number} blockSize
			* @param {Uint32Array} stateData
			* @param {number} minBufferSize
			* @returns {number}
			*/
			function doCrypt(doFlush, dataWords, dataSigBytes, blockSize, stateData, minBufferSize) {
				try {
					var ptr0 = passArray32ToWasm0(dataWords, wasm.__wbindgen_malloc);
					var len0 = WASM_VECTOR_LEN;
					var ptr1 = passArray32ToWasm0(stateData, wasm.__wbindgen_malloc);
					var len1 = WASM_VECTOR_LEN;
					var ret = wasm.doCrypt(doFlush, ptr0, len0, dataSigBytes, blockSize, ptr1, len1, minBufferSize);
					return ret >>> 0;
				} finally {
					stateData.set(getUint32Memory0().subarray(ptr1 / 4, ptr1 / 4 + len1));
					wasm.__wbindgen_free(ptr1, len1 * 4);
				}
			}
			return { doCrypt };
		}
		/**
		* SHA-3 hash algorithm.
		*/
		class SHA3Algo extends Hasher {
			static async loadWasm() {
				if (SHA3Algo.wasm) {
					return SHA3Algo.wasm;
				}
				SHA3Algo.wasm = await loadWasm(wasmBytes$7);
				return SHA3Algo.wasm;
			}
			async loadWasm() {
				return SHA3Algo.loadWasm();
			}
			constructor(cfg) {
				/**
				* Configuration options.
				*
				* @property {number} outputLength
				*   The desired number of bits in the output hash.
				*   Only values permitted are: 224, 256, 384, 512.
				*   Default: 512
				*/
				super(Object.assign({ outputLength: 512 }, cfg));
			}
			_doReset() {
				this._state = [];
				const state = this._state;
				for (let i = 0; i < 25; i++) {
					state[i] = new X64Word();
				}
				this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32;
			}
			_process(doFlush) {
				if (!SHA3Algo.wasm) {
					throw new Error("WASM is not loaded yet. 'SHA3Algo.loadWasm' should be called first");
				}
				const data = this._data;
				const dataWords = data.words;
				const dataSigBytes = data.sigBytes;
				const blockSize = this.blockSize;
				const stateData = new Uint32Array(50);
				for (let i = 0; i < 25; i++) {
					stateData[i * 2] = this._state[i].high;
					stateData[i * 2 + 1] = this._state[i].low;
				}
				for (let i = 0; i < dataWords.length; i++) {
					if (!dataWords[i]) {
						dataWords[i] = 0;
					}
				}
				const nWordsReady = sha3Wasm(SHA3Algo.wasm).doCrypt(doFlush ? 1 : 0, dataWords, dataSigBytes, blockSize, stateData, this._minBufferSize);
				const nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);
				for (let i = 0; i < 25; i++) {
					this._state[i].high = stateData[i * 2];
					this._state[i].low = stateData[i * 2 + 1];
				}
				let processedWords;
				if (nWordsReady) {
					processedWords = dataWords.splice(0, nWordsReady);
					data.sigBytes -= nBytesReady;
				}
				return new WordArray(processedWords, nBytesReady);
			}
			_doFinalize() {
				const data = this._data;
				const dataWords = data.words;
				const nBitsLeft = data.sigBytes * 8;
				const blockSizeBits = this.blockSize * 32;
				dataWords[nBitsLeft >>> 5] |= 1 << 24 - nBitsLeft % 32;
				dataWords[(Math.ceil((nBitsLeft + 1) / blockSizeBits) * blockSizeBits >>> 5) - 1] |= 128;
				data.sigBytes = dataWords.length * 4;
				this._process();
				const state = this._state;
				const outputLengthBytes = this.cfg.outputLength / 8;
				const outputLengthLanes = outputLengthBytes / 8;
				const hashWords = [];
				for (let i = 0; i < outputLengthLanes; i++) {
					const lane = state[i];
					let laneMsw = lane.high;
					let laneLsw = lane.low;
					laneMsw = (laneMsw << 8 | laneMsw >>> 24) & 16711935 | (laneMsw << 24 | laneMsw >>> 8) & 4278255360;
					laneLsw = (laneLsw << 8 | laneLsw >>> 24) & 16711935 | (laneLsw << 24 | laneLsw >>> 8) & 4278255360;
					hashWords.push(laneLsw);
					hashWords.push(laneMsw);
				}
				return new WordArray(hashWords, outputLengthBytes);
			}
			clone() {
				const clone = super.clone.call(this);
				clone._state = this._state.slice(0);
				const state = clone._state;
				for (let i = 0; i < 25; i++) {
					state[i] = state[i].clone();
				}
				return clone;
			}
		}
		/**
		* Shortcut function to the hasher's object interface.
		*
		* @param {WordArray|string} message The message to hash.
		*
		* @return {WordArray} The hash.
		*
		* @static
		*
		* @example
		*
		*     const hash = CryptoJSW.SHA3('message');
		*     const hash = CryptoJSW.SHA3(wordArray);
		*/
		_defineProperty(SHA3Algo, "wasm", null);
		const SHA3 = Hasher._createHelper(SHA3Algo);
		/**
		* Shortcut function to the HMAC's object interface.
		*
		* @param {WordArray|string} message The message to hash.
		* @param {WordArray|string} key The secret key.
		*
		* @return {WordArray} The HMAC.
		*
		* @static
		*
		* @example
		*
		*     const hmac = CryptoJSW.HmacSHA3(message, key);
		*/
		const HmacSHA3 = Hasher._createHmacHelper(SHA3Algo);
		function ripemd160Wasm(wasm) {
			let cachegetUint32Memory0 = null;
			function getUint32Memory0() {
				if (cachegetUint32Memory0 === null || cachegetUint32Memory0.buffer !== wasm.memory.buffer) {
					cachegetUint32Memory0 = new Uint32Array(wasm.memory.buffer);
				}
				return cachegetUint32Memory0;
			}
			let WASM_VECTOR_LEN = 0;
			function passArray32ToWasm0(arg, malloc) {
				const ptr = malloc(arg.length * 4);
				getUint32Memory0().set(arg, ptr / 4);
				WASM_VECTOR_LEN = arg.length;
				return ptr;
			}
			/**
			* @param {number} nWordsReady
			* @param {number} blockSize
			* @param {Uint32Array} dataWords
			* @param {Uint32Array} H
			*/
			function doProcess(nWordsReady, blockSize, dataWords, H) {
				try {
					var ptr0 = passArray32ToWasm0(dataWords, wasm.__wbindgen_malloc);
					var len0 = WASM_VECTOR_LEN;
					var ptr1 = passArray32ToWasm0(H, wasm.__wbindgen_malloc);
					var len1 = WASM_VECTOR_LEN;
					wasm.doProcess(nWordsReady, blockSize, ptr0, len0, ptr1, len1);
				} finally {
					H.set(getUint32Memory0().subarray(ptr1 / 4, ptr1 / 4 + len1));
					wasm.__wbindgen_free(ptr1, len1 * 4);
				}
			}
			return { doProcess };
		}
		const wasmBytes$6 = generateWasmBytes(" ");
		/**
		* RIPEMD160 hash algorithm.
		*/
		class RIPEMD160Algo extends Hasher {
			static async loadWasm() {
				if (RIPEMD160Algo.wasm) {
					return RIPEMD160Algo.wasm;
				}
				RIPEMD160Algo.wasm = await loadWasm(wasmBytes$6);
				return RIPEMD160Algo.wasm;
			}
			async loadWasm() {
				return RIPEMD160Algo.loadWasm();
			}
			_doReset() {
				this._hash = new WordArray([
					1732584193,
					4023233417,
					2562383102,
					271733878,
					3285377520
				]);
			}
			_process(doFlush) {
				if (!RIPEMD160Algo.wasm) {
					throw new Error("WASM is not loaded yet. 'RIPEMD160Algo.loadWasm' should be called first");
				}
				let processedWords;
				const data = this._data;
				let dataWords = data.words;
				const dataSigBytes = data.sigBytes;
				const blockSize = this.blockSize;
				const blockSizeBytes = blockSize * 4;
				let H = this._hash.words;
				let nBlocksReady = dataSigBytes / blockSizeBytes;
				if (doFlush) {
					nBlocksReady = Math.ceil(nBlocksReady);
				} else {
					nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);
				}
				const nWordsReady = nBlocksReady * blockSize;
				const nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);
				if (nWordsReady) {
					if (dataWords.length < nWordsReady) {
						for (let i = dataWords.length; i < nWordsReady; i++) {
							dataWords[i] = 0;
						}
					}
					const H_Array = new Uint32Array(H);
					ripemd160Wasm(RIPEMD160Algo.wasm).doProcess(nWordsReady, blockSize, dataWords, H_Array);
					this._hash.words = Array.from(H_Array);
					processedWords = dataWords.splice(0, nWordsReady);
					this._data.words = dataWords;
					data.sigBytes -= nBytesReady;
				}
				return new WordArray(processedWords, nBytesReady);
			}
			_doFinalize() {
				const data = this._data;
				const dataWords = data.words;
				const nBitsTotal = this._nDataBytes * 8;
				const nBitsLeft = data.sigBytes * 8;
				dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32;
				dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = (nBitsTotal << 8 | nBitsTotal >>> 24) & 16711935 | (nBitsTotal << 24 | nBitsTotal >>> 8) & 4278255360;
				data.sigBytes = (dataWords.length + 1) * 4;
				this._process();
				const hash = this._hash;
				const H = hash.words;
				for (let i = 0; i < 5; i++) {
					const H_i = H[i];
					H[i] = (H_i << 8 | H_i >>> 24) & 16711935 | (H_i << 24 | H_i >>> 8) & 4278255360;
				}
				return hash;
			}
			clone() {
				const clone = super.clone.call(this);
				clone._hash = this._hash.clone();
				return clone;
			}
		}
		/**
		* Shortcut function to the hasher's object interface.
		*
		* @param {WordArray|string} message The message to hash.
		*
		* @return {WordArray} The hash.
		*
		* @static
		*
		* @example
		*
		*     const hash = CryptoJSW.RIPEMD160('message');
		*     const hash = CryptoJSW.RIPEMD160(wordArray);
		*/
		_defineProperty(RIPEMD160Algo, "wasm", null);
		_defineProperty(RIPEMD160Algo, "outputSize", 160 / 8);
		const RIPEMD160 = Hasher._createHelper(RIPEMD160Algo);
		/**
		* Shortcut function to the HMAC's object interface.
		*
		* @param {WordArray|string} message The message to hash.
		* @param {WordArray|string} key The secret key.
		*
		* @return {WordArray} The HMAC.
		*
		* @static
		*
		* @example
		*
		*     const hmac = CryptoJSW.HmacRIPEMD160(message, key);
		*/
		const HmacRIPEMD160 = Hasher._createHmacHelper(RIPEMD160Algo);
		/**
		* Password-Based Key Derivation Function 2 algorithm.
		*/
		class PBKDF2Algo extends Base {
			/**
			* Initializes a newly created key derivation function.
			*
			* @param {Object} cfg (Optional) The configuration options to use for the derivation.
			*
			* @example
			*
			*     const kdf = new CryptoJSW.algo.PBKDF2();
			*     const kdf = new CryptoJSW.algo.PBKDF2({ keySize: 8 });
			*     const kdf = new CryptoJSW.algo.PBKDF2({ keySize: 8, iterations: 1000 });
			*/
			constructor(cfg) {
				super();
				/**
				* Configuration options.
				*
				* @property {number} keySize The key size in words to generate. Default: 4 (128 bits)
				* @property {Hasher} hasher The hasher to use. Default: SHA256
				* @property {number} iterations The number of iterations to perform. Default: 250000
				*/
				this.cfg = Object.assign(new Base(), {
					keySize: 128 / 32,
					hasher: SHA256Algo,
					iterations: 25e4
				}, cfg);
			}
			/**
			* SHA256 is the default hasher of pbkdf2.
			* With another hasher configured, user should call the corresponding loadWasm of the configured hasher.
			*
			* @returns {Promise<null>}
			*/
			static async loadWasm() {
				return SHA256Algo.loadWasm();
			}
			async loadWasm() {
				return PBKDF2Algo.loadWasm();
			}
			/**
			* Computes the Password-Based Key Derivation Function 2.
			*
			* @param {WordArray|string} password The password.
			* @param {WordArray|string} salt A salt.
			*
			* @return {WordArray} The derived key.
			*
			* @example
			*
			*     const key = kdf.compute(password, salt);
			*/
			compute(password, salt) {
				const { cfg } = this;
				const hmac = new HMAC(cfg.hasher, password);
				const derivedKey = new WordArray();
				const blockIndex = new WordArray([1]);
				const derivedKeyWords = derivedKey.words;
				const blockIndexWords = blockIndex.words;
				const { keySize, iterations } = cfg;
				while (derivedKeyWords.length < keySize) {
					const block = hmac.update(salt).finalize(blockIndex);
					hmac.reset();
					const blockWords = block.words;
					const blockWordsLength = blockWords.length;
					let intermediate = block;
					for (let i = 1; i < iterations; i++) {
						intermediate = hmac.finalize(intermediate);
						hmac.reset();
						const intermediateWords = intermediate.words;
						for (let j = 0; j < blockWordsLength; j++) {
							blockWords[j] ^= intermediateWords[j];
						}
					}
					derivedKey.concat(block);
					blockIndexWords[0]++;
				}
				derivedKey.sigBytes = keySize * 4;
				return derivedKey;
			}
		}
		/**
		* Computes the Password-Based Key Derivation Function 2.
		*
		* @param {WordArray|string} password The password.
		* @param {WordArray|string} salt A salt.
		* @param {Object} cfg (Optional) The configuration options to use for this computation.
		*
		* @return {WordArray} The derived key.
		*
		* @static
		*
		* @example
		*
		*     const key = CryptoJSW.PBKDF2(password, salt);
		*     const key = CryptoJSW.PBKDF2(password, salt, { keySize: 8 });
		*     const key = CryptoJSW.PBKDF2(password, salt, { keySize: 8, iterations: 1000 });
		*/
		const PBKDF2 = (password, salt, cfg) => new PBKDF2Algo(cfg).compute(password, salt);
		function aesWasm(wasm) {
			let cachegetUint32Memory0 = null;
			function getUint32Memory0() {
				if (cachegetUint32Memory0 === null || cachegetUint32Memory0.buffer !== wasm.memory.buffer) {
					cachegetUint32Memory0 = new Uint32Array(wasm.memory.buffer);
				}
				return cachegetUint32Memory0;
			}
			let WASM_VECTOR_LEN = 0;
			function passArray32ToWasm0(arg, malloc) {
				const ptr = malloc(arg.length * 4);
				getUint32Memory0().set(arg, ptr / 4);
				WASM_VECTOR_LEN = arg.length;
				return ptr;
			}
			let cachegetInt32Memory0 = null;
			function getInt32Memory0() {
				if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) {
					cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer);
				}
				return cachegetInt32Memory0;
			}
			function getArrayU32FromWasm0(ptr, len) {
				return getUint32Memory0().subarray(ptr / 4, ptr / 4 + len);
			}
			/**
			* @param {number} keySize
			* @param {Uint32Array} keyWords
			* @returns {Uint32Array}
			*/
			function getKeySchedule(keySize, keyWords) {
				try {
					const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
					var ptr0 = passArray32ToWasm0(keyWords, wasm.__wbindgen_malloc);
					var len0 = WASM_VECTOR_LEN;
					wasm.getKeySchedule(retptr, keySize, ptr0, len0);
					var r0 = getInt32Memory0()[retptr / 4 + 0];
					var r1 = getInt32Memory0()[retptr / 4 + 1];
					var v1 = getArrayU32FromWasm0(r0, r1).slice();
					wasm.__wbindgen_free(r0, r1 * 4);
					return v1;
				} finally {
					wasm.__wbindgen_add_to_stack_pointer(16);
				}
			}
			/**
			* @param {number} keySize
			* @param {Uint32Array} keyWords
			* @returns {Uint32Array}
			*/
			function getInvKeySchedule(keySize, keyWords) {
				try {
					const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
					var ptr0 = passArray32ToWasm0(keyWords, wasm.__wbindgen_malloc);
					var len0 = WASM_VECTOR_LEN;
					wasm.getInvKeySchedule(retptr, keySize, ptr0, len0);
					var r0 = getInt32Memory0()[retptr / 4 + 0];
					var r1 = getInt32Memory0()[retptr / 4 + 1];
					var v1 = getArrayU32FromWasm0(r0, r1).slice();
					wasm.__wbindgen_free(r0, r1 * 4);
					return v1;
				} finally {
					wasm.__wbindgen_add_to_stack_pointer(16);
				}
			}
			let cachegetUint8Memory0 = null;
			function getUint8Memory0() {
				if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) {
					cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer);
				}
				return cachegetUint8Memory0;
			}
			const lTextEncoder = typeof TextEncoder === "undefined" ? (0, module.require)("util").TextEncoder : TextEncoder;
			let cachedTextEncoder = new lTextEncoder("utf-8");
			const encodeString = typeof cachedTextEncoder.encodeInto === "function" ? function(arg, view) {
				return cachedTextEncoder.encodeInto(arg, view);
			} : function(arg, view) {
				const buf = cachedTextEncoder.encode(arg);
				view.set(buf);
				return {
					read: arg.length,
					written: buf.length
				};
			};
			function passStringToWasm0(arg, malloc, realloc) {
				if (realloc === undefined) {
					const buf = cachedTextEncoder.encode(arg);
					const ptr = malloc(buf.length);
					getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf);
					WASM_VECTOR_LEN = buf.length;
					return ptr;
				}
				let len = arg.length;
				let ptr = malloc(len);
				const mem = getUint8Memory0();
				let offset = 0;
				for (; offset < len; offset++) {
					const code = arg.charCodeAt(offset);
					if (code > 127) break;
					mem[ptr + offset] = code;
				}
				if (offset !== len) {
					if (offset !== 0) {
						arg = arg.slice(offset);
					}
					ptr = realloc(ptr, len, len = offset + arg.length * 3);
					const view = getUint8Memory0().subarray(ptr + offset, ptr + len);
					const ret = encodeString(arg, view);
					offset += ret.written;
				}
				WASM_VECTOR_LEN = offset;
				return ptr;
			}
			/**
			* @param {string} mode
			* @param {number} nRounds
			* @param {number} nWordsReady
			* @param {number} blockSize
			* @param {Uint32Array} iv
			* @param {Uint32Array} dataWords
			* @param {Uint32Array} keySchedule
			* @returns {Uint32Array}
			*/
			function doEncrypt(mode, nRounds, nWordsReady, blockSize, iv, dataWords, keySchedule) {
				try {
					const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
					var ptr0 = passStringToWasm0(mode, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
					var len0 = WASM_VECTOR_LEN;
					var ptr1 = passArray32ToWasm0(iv, wasm.__wbindgen_malloc);
					var len1 = WASM_VECTOR_LEN;
					var ptr2 = passArray32ToWasm0(dataWords, wasm.__wbindgen_malloc);
					var len2 = WASM_VECTOR_LEN;
					var ptr3 = passArray32ToWasm0(keySchedule, wasm.__wbindgen_malloc);
					var len3 = WASM_VECTOR_LEN;
					wasm.doEncrypt(retptr, ptr0, len0, nRounds, nWordsReady, blockSize, ptr1, len1, ptr2, len2, ptr3, len3);
					var r0 = getInt32Memory0()[retptr / 4 + 0];
					var r1 = getInt32Memory0()[retptr / 4 + 1];
					var v4 = getArrayU32FromWasm0(r0, r1).slice();
					wasm.__wbindgen_free(r0, r1 * 4);
					return v4;
				} finally {
					wasm.__wbindgen_add_to_stack_pointer(16);
					dataWords.set(getUint32Memory0().subarray(ptr2 / 4, ptr2 / 4 + len2));
					wasm.__wbindgen_free(ptr2, len2 * 4);
				}
			}
			/**
			* @param {string} mode
			* @param {number} nRounds
			* @param {number} nWordsReady
			* @param {number} blockSize
			* @param {Uint32Array} iv
			* @param {Uint32Array} dataWords
			* @param {Uint32Array} keySchedule
			* @param {Uint32Array} invKeySchedule
			* @returns {Uint32Array}
			*/
			function doDecrypt(mode, nRounds, nWordsReady, blockSize, iv, dataWords, keySchedule, invKeySchedule) {
				try {
					const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
					var ptr0 = passStringToWasm0(mode, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
					var len0 = WASM_VECTOR_LEN;
					var ptr1 = passArray32ToWasm0(iv, wasm.__wbindgen_malloc);
					var len1 = WASM_VECTOR_LEN;
					var ptr2 = passArray32ToWasm0(dataWords, wasm.__wbindgen_malloc);
					var len2 = WASM_VECTOR_LEN;
					var ptr3 = passArray32ToWasm0(keySchedule, wasm.__wbindgen_malloc);
					var len3 = WASM_VECTOR_LEN;
					var ptr4 = passArray32ToWasm0(invKeySchedule, wasm.__wbindgen_malloc);
					var len4 = WASM_VECTOR_LEN;
					wasm.doDecrypt(retptr, ptr0, len0, nRounds, nWordsReady, blockSize, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4);
					var r0 = getInt32Memory0()[retptr / 4 + 0];
					var r1 = getInt32Memory0()[retptr / 4 + 1];
					var v5 = getArrayU32FromWasm0(r0, r1).slice();
					wasm.__wbindgen_free(r0, r1 * 4);
					return v5;
				} finally {
					wasm.__wbindgen_add_to_stack_pointer(16);
					dataWords.set(getUint32Memory0().subarray(ptr2 / 4, ptr2 / 4 + len2));
					wasm.__wbindgen_free(ptr2, len2 * 4);
				}
			}
			return {
				getKeySchedule,
				getInvKeySchedule,
				doEncrypt,
				doDecrypt
			};
		}
		const wasmBytes$5 = generateWasmBytes(" ");
		/**
		* AES block cipher algorithm.
		*/
		class AESAlgo extends BlockCipher {
			static get keySize() {
				return 256 / 32;
			}
			constructor(...args) {
				super(...args);
				this.keySize = 256 / 32;
			}
			static async loadWasm() {
				if (AESAlgo.wasm) {
					return AESAlgo.wasm;
				}
				AESAlgo.wasm = await loadWasm(wasmBytes$5);
				return AESAlgo.wasm;
			}
			async loadWasm() {
				return AESAlgo.loadWasm();
			}
			_doReset() {
				if (this._nRounds && this._keyPriorReset === this._key) {
					return;
				}
				const key = this._key;
				const keyWords = key.words;
				const keySize = key.sigBytes / 4;
				this._nRounds = keySize + 6;
				this._keySchedule = aesWasm(AESAlgo.wasm).getKeySchedule(keySize, keyWords);
				this._invKeySchedule = aesWasm(AESAlgo.wasm).getInvKeySchedule(keySize, keyWords);
			}
			_process(doFlush) {
				if (!AESAlgo.wasm) {
					throw new Error("WASM is not loaded yet. 'AESAlgo.loadWasm' should be called first");
				}
				let processedWords;
				const data = this._data;
				let dataWords = data.words;
				const dataSigBytes = data.sigBytes;
				const blockSize = this.blockSize;
				const blockSizeBytes = blockSize * 4;
				let nBlocksReady = dataSigBytes / blockSizeBytes;
				if (doFlush) {
					nBlocksReady = Math.ceil(nBlocksReady);
				} else {
					nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);
				}
				const nWordsReady = nBlocksReady * blockSize;
				const nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);
				if (nWordsReady) {
					if (dataWords.length < nWordsReady) {
						for (let i = dataWords.length; i < nWordsReady; i++) {
							dataWords[i] = 0;
						}
					}
					const dataArray = new Uint32Array(dataWords);
					const ivWords = this.cfg.iv ? this.cfg.iv.words : "";
					if (this._xformMode == this._ENC_XFORM_MODE) {
						if (this.modeProcessBlock != undefined) {
							this.modeProcessBlock = aesWasm(AESAlgo.wasm).doEncrypt(this.cfg.mode._name, this._nRounds, nWordsReady, blockSize, this.modeProcessBlock, dataArray, this._keySchedule);
						} else {
							this.modeProcessBlock = aesWasm(AESAlgo.wasm).doEncrypt(this.cfg.mode._name, this._nRounds, nWordsReady, blockSize, ivWords, dataArray, this._keySchedule);
						}
					} else {
						if (this.modeProcessBlock != undefined) {
							this.modeProcessBlock = aesWasm(AESAlgo.wasm).doDecrypt(this.cfg.mode._name, this._nRounds, nWordsReady, blockSize, this.modeProcessBlock, dataArray, this._keySchedule, this._invKeySchedule);
						} else {
							this.modeProcessBlock = aesWasm(AESAlgo.wasm).doDecrypt(this.cfg.mode._name, this._nRounds, nWordsReady, blockSize, ivWords, dataArray, this._keySchedule, this._invKeySchedule);
						}
					}
					dataWords = Array.from(dataArray);
					processedWords = dataWords.splice(0, nWordsReady);
					data.words = dataWords;
					data.sigBytes -= nBytesReady;
				}
				return new WordArray(processedWords, nBytesReady);
			}
		}
		/**
		* Shortcut functions to the cipher's object interface.
		*
		* @example
		*
		*     const ciphertext = CryptoJSW.AES.encrypt(message, key, cfg);
		*     const plaintext  = CryptoJSW.AES.decrypt(ciphertext, key, cfg);
		*/
		_defineProperty(AESAlgo, "wasm", null);
		const AES = BlockCipher._createHelper(AESAlgo);
		function blowfishWasm(wasm) {
			let cachegetUint32Memory0 = null;
			function getUint32Memory0() {
				if (cachegetUint32Memory0 === null || cachegetUint32Memory0.buffer !== wasm.memory.buffer) {
					cachegetUint32Memory0 = new Uint32Array(wasm.memory.buffer);
				}
				return cachegetUint32Memory0;
			}
			let WASM_VECTOR_LEN = 0;
			function passArray32ToWasm0(arg, malloc) {
				const ptr = malloc(arg.length * 4);
				getUint32Memory0().set(arg, ptr / 4);
				WASM_VECTOR_LEN = arg.length;
				return ptr;
			}
			let cachegetInt32Memory0 = null;
			function getInt32Memory0() {
				if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) {
					cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer);
				}
				return cachegetInt32Memory0;
			}
			function getArrayU32FromWasm0(ptr, len) {
				return getUint32Memory0().subarray(ptr / 4, ptr / 4 + len);
			}
			/**
			* @param {Uint32Array} key
			* @param {number} keySize
			* @returns {Uint32Array}
			*/
			function blowfishInit(key, keySize) {
				try {
					const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
					var ptr0 = passArray32ToWasm0(key, wasm.__wbindgen_malloc);
					var len0 = WASM_VECTOR_LEN;
					wasm.blowfishInit(retptr, ptr0, len0, keySize);
					var r0 = getInt32Memory0()[retptr / 4 + 0];
					var r1 = getInt32Memory0()[retptr / 4 + 1];
					var v1 = getArrayU32FromWasm0(r0, r1).slice();
					wasm.__wbindgen_free(r0, r1 * 4);
					return v1;
				} finally {
					wasm.__wbindgen_add_to_stack_pointer(16);
				}
			}
			let cachegetUint8Memory0 = null;
			function getUint8Memory0() {
				if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) {
					cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer);
				}
				return cachegetUint8Memory0;
			}
			const lTextEncoder = typeof TextEncoder === "undefined" ? (0, module.require)("util").TextEncoder : TextEncoder;
			let cachedTextEncoder = new lTextEncoder("utf-8");
			const encodeString = typeof cachedTextEncoder.encodeInto === "function" ? function(arg, view) {
				return cachedTextEncoder.encodeInto(arg, view);
			} : function(arg, view) {
				const buf = cachedTextEncoder.encode(arg);
				view.set(buf);
				return {
					read: arg.length,
					written: buf.length
				};
			};
			function passStringToWasm0(arg, malloc, realloc) {
				if (realloc === undefined) {
					const buf = cachedTextEncoder.encode(arg);
					const ptr = malloc(buf.length);
					getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf);
					WASM_VECTOR_LEN = buf.length;
					return ptr;
				}
				let len = arg.length;
				let ptr = malloc(len);
				const mem = getUint8Memory0();
				let offset = 0;
				for (; offset < len; offset++) {
					const code = arg.charCodeAt(offset);
					if (code > 127) break;
					mem[ptr + offset] = code;
				}
				if (offset !== len) {
					if (offset !== 0) {
						arg = arg.slice(offset);
					}
					ptr = realloc(ptr, len, len = offset + arg.length * 3);
					const view = getUint8Memory0().subarray(ptr + offset, ptr + len);
					const ret = encodeString(arg, view);
					offset += ret.written;
				}
				WASM_VECTOR_LEN = offset;
				return ptr;
			}
			/**
			* @param {string} mode
			* @param {number} nWordsReady
			* @param {number} blockSize
			* @param {Uint32Array} iv
			* @param {Uint32Array} dataWords
			* @param {Uint32Array} P
			* @param {Uint32Array} S
			* @returns {Uint32Array}
			*/
			function doEncrypt(mode, nWordsReady, blockSize, iv, dataWords, P, S) {
				try {
					const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
					var ptr0 = passStringToWasm0(mode, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
					var len0 = WASM_VECTOR_LEN;
					var ptr1 = passArray32ToWasm0(iv, wasm.__wbindgen_malloc);
					var len1 = WASM_VECTOR_LEN;
					var ptr2 = passArray32ToWasm0(dataWords, wasm.__wbindgen_malloc);
					var len2 = WASM_VECTOR_LEN;
					var ptr3 = passArray32ToWasm0(P, wasm.__wbindgen_malloc);
					var len3 = WASM_VECTOR_LEN;
					var ptr4 = passArray32ToWasm0(S, wasm.__wbindgen_malloc);
					var len4 = WASM_VECTOR_LEN;
					wasm.doEncrypt(retptr, ptr0, len0, nWordsReady, blockSize, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4);
					var r0 = getInt32Memory0()[retptr / 4 + 0];
					var r1 = getInt32Memory0()[retptr / 4 + 1];
					var v5 = getArrayU32FromWasm0(r0, r1).slice();
					wasm.__wbindgen_free(r0, r1 * 4);
					return v5;
				} finally {
					wasm.__wbindgen_add_to_stack_pointer(16);
					dataWords.set(getUint32Memory0().subarray(ptr2 / 4, ptr2 / 4 + len2));
					wasm.__wbindgen_free(ptr2, len2 * 4);
				}
			}
			/**
			* @param {string} mode
			* @param {number} nWordsReady
			* @param {number} blockSize
			* @param {Uint32Array} iv
			* @param {Uint32Array} dataWords
			* @param {Uint32Array} P
			* @param {Uint32Array} S
			* @returns {Uint32Array}
			*/
			function doDecrypt(mode, nWordsReady, blockSize, iv, dataWords, P, S) {
				try {
					const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
					var ptr0 = passStringToWasm0(mode, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
					var len0 = WASM_VECTOR_LEN;
					var ptr1 = passArray32ToWasm0(iv, wasm.__wbindgen_malloc);
					var len1 = WASM_VECTOR_LEN;
					var ptr2 = passArray32ToWasm0(dataWords, wasm.__wbindgen_malloc);
					var len2 = WASM_VECTOR_LEN;
					var ptr3 = passArray32ToWasm0(P, wasm.__wbindgen_malloc);
					var len3 = WASM_VECTOR_LEN;
					var ptr4 = passArray32ToWasm0(S, wasm.__wbindgen_malloc);
					var len4 = WASM_VECTOR_LEN;
					wasm.doDecrypt(retptr, ptr0, len0, nWordsReady, blockSize, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4);
					var r0 = getInt32Memory0()[retptr / 4 + 0];
					var r1 = getInt32Memory0()[retptr / 4 + 1];
					var v5 = getArrayU32FromWasm0(r0, r1).slice();
					wasm.__wbindgen_free(r0, r1 * 4);
					return v5;
				} finally {
					wasm.__wbindgen_add_to_stack_pointer(16);
					dataWords.set(getUint32Memory0().subarray(ptr2 / 4, ptr2 / 4 + len2));
					wasm.__wbindgen_free(ptr2, len2 * 4);
				}
			}
			return {
				blowfishInit,
				doEncrypt,
				doDecrypt
			};
		}
		const wasmBytes$4 = generateWasmBytes(" ");
		/**
		* Blowfish block cipher algorithm.
		*/
		class BlowfishAlgo extends BlockCipher {
			static get keySize() {
				return 128 / 32;
			}
			static get ivSize() {
				return 64 / 32;
			}
			static get blockSize() {
				return 64 / 32;
			}
			constructor(...args) {
				super(...args);
				this.keySize = 128 / 32;
				this.ivSize = 64 / 32;
				this.blockSize = 64 / 32;
			}
			static async loadWasm() {
				if (BlowfishAlgo.wasm) {
					return BlowfishAlgo.wasm;
				}
				BlowfishAlgo.wasm = await loadWasm(wasmBytes$4);
				return BlowfishAlgo.wasm;
			}
			async loadWasm() {
				return BlowfishAlgo.loadWasm();
			}
			_doReset() {
				if (this._keyPriorReset === this._key) {
					return;
				}
				const key = this._keyPriorReset = this._key;
				const keyWords = key.words;
				const keySize = key.sigBytes / 4;
				const ctx = Array.from(blowfishWasm(BlowfishAlgo.wasm).blowfishInit(keyWords, keySize));
				this.pbox = ctx.splice(0, 18);
				this.sbox = [];
				for (let i = 0; i < 4; i++) {
					this.sbox[i] = ctx.splice(0, 256);
				}
			}
			_process(doFlush) {
				if (!BlowfishAlgo.wasm) {
					throw new Error("WASM is not loaded yet. 'BlowfishAlgo.loadWasm' should be called first");
				}
				let processedWords;
				const data = this._data;
				let dataWords = data.words;
				const dataSigBytes = data.sigBytes;
				const blockSize = this.blockSize;
				const blockSizeBytes = blockSize * 4;
				let nBlocksReady = dataSigBytes / blockSizeBytes;
				if (doFlush) {
					nBlocksReady = Math.ceil(nBlocksReady);
				} else {
					nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);
				}
				const nWordsReady = nBlocksReady * blockSize;
				const nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);
				if (nWordsReady) {
					if (dataWords.length < nWordsReady) {
						for (let i = dataWords.length; i < nWordsReady; i++) {
							dataWords[i] = 0;
						}
					}
					const dataArray = new Uint32Array(dataWords);
					const ivWords = this.cfg.iv ? this.cfg.iv.words : "";
					let s = [];
					for (let i = 0; i < 4; i++) {
						s.push.apply(s, this.sbox[i]);
					}
					if (this._xformMode == this._ENC_XFORM_MODE) {
						if (this.modeProcessBlock != undefined) {
							this.modeProcessBlock = blowfishWasm(BlowfishAlgo.wasm).doEncrypt(this.cfg.mode._name, nWordsReady, blockSize, this.modeProcessBlock, dataArray, this.pbox, s);
						} else {
							this.modeProcessBlock = blowfishWasm(BlowfishAlgo.wasm).doEncrypt(this.cfg.mode._name, nWordsReady, blockSize, ivWords, dataArray, this.pbox, s);
						}
					} else {
						if (this.modeProcessBlock != undefined) {
							this.modeProcessBlock = blowfishWasm(BlowfishAlgo.wasm).doDecrypt(this.cfg.mode._name, nWordsReady, blockSize, this.modeProcessBlock, dataArray, this.pbox, s);
						} else {
							this.modeProcessBlock = blowfishWasm(BlowfishAlgo.wasm).doDecrypt(this.cfg.mode._name, nWordsReady, blockSize, ivWords, dataArray, this.pbox, s);
						}
					}
					dataWords = Array.from(dataArray);
					processedWords = dataWords.splice(0, nWordsReady);
					data.words = dataWords;
					data.sigBytes -= nBytesReady;
				}
				return new WordArray(processedWords, nBytesReady);
			}
		}
		/**
		* Shortcut functions to the cipher's object interface.
		*
		* @example
		*
		*     const ciphertext = CryptoJSW.Blowfish.encrypt(message, key, cfg);
		*     const plaintext  = CryptoJSW.Blowfish.decrypt(ciphertext, key, cfg);
		*/
		_defineProperty(BlowfishAlgo, "wasm", null);
		const Blowfish = BlockCipher._createHelper(BlowfishAlgo);
		function desWasm(wasm) {
			let WASM_VECTOR_LEN = 0;
			let cachegetUint8Memory0 = null;
			function getUint8Memory0() {
				if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) {
					cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer);
				}
				return cachegetUint8Memory0;
			}
			const lTextEncoder = typeof TextEncoder === "undefined" ? (0, module.require)("util").TextEncoder : TextEncoder;
			let cachedTextEncoder = new lTextEncoder("utf-8");
			const encodeString = typeof cachedTextEncoder.encodeInto === "function" ? function(arg, view) {
				return cachedTextEncoder.encodeInto(arg, view);
			} : function(arg, view) {
				const buf = cachedTextEncoder.encode(arg);
				view.set(buf);
				return {
					read: arg.length,
					written: buf.length
				};
			};
			function passStringToWasm0(arg, malloc, realloc) {
				if (realloc === undefined) {
					const buf = cachedTextEncoder.encode(arg);
					const ptr = malloc(buf.length);
					getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf);
					WASM_VECTOR_LEN = buf.length;
					return ptr;
				}
				let len = arg.length;
				let ptr = malloc(len);
				const mem = getUint8Memory0();
				let offset = 0;
				for (; offset < len; offset++) {
					const code = arg.charCodeAt(offset);
					if (code > 127) break;
					mem[ptr + offset] = code;
				}
				if (offset !== len) {
					if (offset !== 0) {
						arg = arg.slice(offset);
					}
					ptr = realloc(ptr, len, len = offset + arg.length * 3);
					const view = getUint8Memory0().subarray(ptr + offset, ptr + len);
					const ret = encodeString(arg, view);
					offset += ret.written;
				}
				WASM_VECTOR_LEN = offset;
				return ptr;
			}
			let cachegetUint32Memory0 = null;
			function getUint32Memory0() {
				if (cachegetUint32Memory0 === null || cachegetUint32Memory0.buffer !== wasm.memory.buffer) {
					cachegetUint32Memory0 = new Uint32Array(wasm.memory.buffer);
				}
				return cachegetUint32Memory0;
			}
			function passArray32ToWasm0(arg, malloc) {
				const ptr = malloc(arg.length * 4);
				getUint32Memory0().set(arg, ptr / 4);
				WASM_VECTOR_LEN = arg.length;
				return ptr;
			}
			let cachegetInt32Memory0 = null;
			function getInt32Memory0() {
				if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) {
					cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer);
				}
				return cachegetInt32Memory0;
			}
			function getArrayU32FromWasm0(ptr, len) {
				return getUint32Memory0().subarray(ptr / 4, ptr / 4 + len);
			}
			/**
			* @param {string} mode
			* @param {number} nWordsReady
			* @param {number} blockSize
			* @param {Uint32Array} iv
			* @param {Uint32Array} dataWords
			* @param {Uint32Array} keyWords
			* @returns {Uint32Array}
			*/
			function doEncrypt(mode, nWordsReady, blockSize, iv, dataWords, keyWords) {
				try {
					const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
					var ptr0 = passStringToWasm0(mode, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
					var len0 = WASM_VECTOR_LEN;
					var ptr1 = passArray32ToWasm0(iv, wasm.__wbindgen_malloc);
					var len1 = WASM_VECTOR_LEN;
					var ptr2 = passArray32ToWasm0(dataWords, wasm.__wbindgen_malloc);
					var len2 = WASM_VECTOR_LEN;
					var ptr3 = passArray32ToWasm0(keyWords, wasm.__wbindgen_malloc);
					var len3 = WASM_VECTOR_LEN;
					wasm.doEncrypt(retptr, ptr0, len0, nWordsReady, blockSize, ptr1, len1, ptr2, len2, ptr3, len3);
					var r0 = getInt32Memory0()[retptr / 4 + 0];
					var r1 = getInt32Memory0()[retptr / 4 + 1];
					var v4 = getArrayU32FromWasm0(r0, r1).slice();
					wasm.__wbindgen_free(r0, r1 * 4);
					return v4;
				} finally {
					wasm.__wbindgen_add_to_stack_pointer(16);
					dataWords.set(getUint32Memory0().subarray(ptr2 / 4, ptr2 / 4 + len2));
					wasm.__wbindgen_free(ptr2, len2 * 4);
				}
			}
			/**
			* @param {string} mode
			* @param {number} nWordsReady
			* @param {number} blockSize
			* @param {Uint32Array} iv
			* @param {Uint32Array} dataWords
			* @param {Uint32Array} keyWords
			* @returns {Uint32Array}
			*/
			function doDecrypt(mode, nWordsReady, blockSize, iv, dataWords, keyWords) {
				try {
					const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
					var ptr0 = passStringToWasm0(mode, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
					var len0 = WASM_VECTOR_LEN;
					var ptr1 = passArray32ToWasm0(iv, wasm.__wbindgen_malloc);
					var len1 = WASM_VECTOR_LEN;
					var ptr2 = passArray32ToWasm0(dataWords, wasm.__wbindgen_malloc);
					var len2 = WASM_VECTOR_LEN;
					var ptr3 = passArray32ToWasm0(keyWords, wasm.__wbindgen_malloc);
					var len3 = WASM_VECTOR_LEN;
					wasm.doDecrypt(retptr, ptr0, len0, nWordsReady, blockSize, ptr1, len1, ptr2, len2, ptr3, len3);
					var r0 = getInt32Memory0()[retptr / 4 + 0];
					var r1 = getInt32Memory0()[retptr / 4 + 1];
					var v4 = getArrayU32FromWasm0(r0, r1).slice();
					wasm.__wbindgen_free(r0, r1 * 4);
					return v4;
				} finally {
					wasm.__wbindgen_add_to_stack_pointer(16);
					dataWords.set(getUint32Memory0().subarray(ptr2 / 4, ptr2 / 4 + len2));
					wasm.__wbindgen_free(ptr2, len2 * 4);
				}
			}
			/**
			* @param {string} mode
			* @param {number} nWordsReady
			* @param {number} blockSize
			* @param {Uint32Array} iv
			* @param {Uint32Array} dataWords
			* @param {Uint32Array} keyWords1
			* @param {Uint32Array} keyWords2
			* @param {Uint32Array} keyWords3
			* @returns {Uint32Array}
			*/
			function tripleEncrypt(mode, nWordsReady, blockSize, iv, dataWords, keyWords1, keyWords2, keyWords3) {
				try {
					const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
					var ptr0 = passStringToWasm0(mode, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
					var len0 = WASM_VECTOR_LEN;
					var ptr1 = passArray32ToWasm0(iv, wasm.__wbindgen_malloc);
					var len1 = WASM_VECTOR_LEN;
					var ptr2 = passArray32ToWasm0(dataWords, wasm.__wbindgen_malloc);
					var len2 = WASM_VECTOR_LEN;
					var ptr3 = passArray32ToWasm0(keyWords1, wasm.__wbindgen_malloc);
					var len3 = WASM_VECTOR_LEN;
					var ptr4 = passArray32ToWasm0(keyWords2, wasm.__wbindgen_malloc);
					var len4 = WASM_VECTOR_LEN;
					var ptr5 = passArray32ToWasm0(keyWords3, wasm.__wbindgen_malloc);
					var len5 = WASM_VECTOR_LEN;
					wasm.tripleEncrypt(retptr, ptr0, len0, nWordsReady, blockSize, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5);
					var r0 = getInt32Memory0()[retptr / 4 + 0];
					var r1 = getInt32Memory0()[retptr / 4 + 1];
					var v6 = getArrayU32FromWasm0(r0, r1).slice();
					wasm.__wbindgen_free(r0, r1 * 4);
					return v6;
				} finally {
					wasm.__wbindgen_add_to_stack_pointer(16);
					dataWords.set(getUint32Memory0().subarray(ptr2 / 4, ptr2 / 4 + len2));
					wasm.__wbindgen_free(ptr2, len2 * 4);
				}
			}
			/**
			* @param {string} mode
			* @param {number} nWordsReady
			* @param {number} blockSize
			* @param {Uint32Array} iv
			* @param {Uint32Array} dataWords
			* @param {Uint32Array} keyWords1
			* @param {Uint32Array} keyWords2
			* @param {Uint32Array} keyWords3
			* @returns {Uint32Array}
			*/
			function tripleDecrypt(mode, nWordsReady, blockSize, iv, dataWords, keyWords1, keyWords2, keyWords3) {
				try {
					const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
					var ptr0 = passStringToWasm0(mode, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
					var len0 = WASM_VECTOR_LEN;
					var ptr1 = passArray32ToWasm0(iv, wasm.__wbindgen_malloc);
					var len1 = WASM_VECTOR_LEN;
					var ptr2 = passArray32ToWasm0(dataWords, wasm.__wbindgen_malloc);
					var len2 = WASM_VECTOR_LEN;
					var ptr3 = passArray32ToWasm0(keyWords1, wasm.__wbindgen_malloc);
					var len3 = WASM_VECTOR_LEN;
					var ptr4 = passArray32ToWasm0(keyWords2, wasm.__wbindgen_malloc);
					var len4 = WASM_VECTOR_LEN;
					var ptr5 = passArray32ToWasm0(keyWords3, wasm.__wbindgen_malloc);
					var len5 = WASM_VECTOR_LEN;
					wasm.tripleDecrypt(retptr, ptr0, len0, nWordsReady, blockSize, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5);
					var r0 = getInt32Memory0()[retptr / 4 + 0];
					var r1 = getInt32Memory0()[retptr / 4 + 1];
					var v6 = getArrayU32FromWasm0(r0, r1).slice();
					wasm.__wbindgen_free(r0, r1 * 4);
					return v6;
				} finally {
					wasm.__wbindgen_add_to_stack_pointer(16);
					dataWords.set(getUint32Memory0().subarray(ptr2 / 4, ptr2 / 4 + len2));
					wasm.__wbindgen_free(ptr2, len2 * 4);
				}
			}
			return {
				doEncrypt,
				doDecrypt,
				tripleEncrypt,
				tripleDecrypt
			};
		}
		const wasmBytes$3 = generateWasmBytes(" ");
		const PC1 = [
			57,
			49,
			41,
			33,
			25,
			17,
			9,
			1,
			58,
			50,
			42,
			34,
			26,
			18,
			10,
			2,
			59,
			51,
			43,
			35,
			27,
			19,
			11,
			3,
			60,
			52,
			44,
			36,
			63,
			55,
			47,
			39,
			31,
			23,
			15,
			7,
			62,
			54,
			46,
			38,
			30,
			22,
			14,
			6,
			61,
			53,
			45,
			37,
			29,
			21,
			13,
			5,
			28,
			20,
			12,
			4
		];
		const PC2 = [
			14,
			17,
			11,
			24,
			1,
			5,
			3,
			28,
			15,
			6,
			21,
			10,
			23,
			19,
			12,
			4,
			26,
			8,
			16,
			7,
			27,
			20,
			13,
			2,
			41,
			52,
			31,
			37,
			47,
			55,
			30,
			40,
			51,
			45,
			33,
			48,
			44,
			49,
			39,
			56,
			34,
			53,
			46,
			42,
			50,
			36,
			29,
			32
		];
		const BIT_SHIFTS = [
			1,
			2,
			4,
			6,
			8,
			10,
			12,
			14,
			15,
			17,
			19,
			21,
			23,
			25,
			27,
			28
		];
		/**
		* DES block cipher algorithm.
		*/
		class DESAlgo extends BlockCipher {
			static get keySize() {
				return 64 / 32;
			}
			static get ivSize() {
				return 64 / 32;
			}
			static get blockSize() {
				return 64 / 32;
			}
			constructor(...args) {
				super(...args);
				this.keySize = 64 / 32;
				this.ivSize = 64 / 32;
				this.blockSize = 64 / 32;
			}
			static async loadWasm() {
				if (DESAlgo.wasm) {
					return DESAlgo.wasm;
				}
				DESAlgo.wasm = await loadWasm(wasmBytes$3);
				return DESAlgo.wasm;
			}
			async loadWasm() {
				return DESAlgo.loadWasm();
			}
			_doReset() {
				const key = this._key;
				const keyWords = key.words;
				const keyBits = [];
				for (let i = 0; i < 56; i++) {
					const keyBitPos = PC1[i] - 1;
					keyBits[i] = keyWords[keyBitPos >>> 5] >>> 31 - keyBitPos % 32 & 1;
				}
				this._subKeys = [];
				const subKeys = this._subKeys;
				for (let nSubKey = 0; nSubKey < 16; nSubKey++) {
					subKeys[nSubKey] = [];
					const subKey = subKeys[nSubKey];
					const bitShift = BIT_SHIFTS[nSubKey];
					for (let i = 0; i < 24; i++) {
						subKey[i / 6 | 0] |= keyBits[(PC2[i] - 1 + bitShift) % 28] << 31 - i % 6;
						subKey[4 + (i / 6 | 0)] |= keyBits[28 + (PC2[i + 24] - 1 + bitShift) % 28] << 31 - i % 6;
					}
					subKey[0] = subKey[0] << 1 | subKey[0] >>> 31;
					for (let i = 1; i < 7; i++) {
						subKey[i] >>>= (i - 1) * 4 + 3;
					}
					subKey[7] = subKey[7] << 5 | subKey[7] >>> 27;
				}
				this._invSubKeys = [];
				const invSubKeys = this._invSubKeys;
				for (let i = 0; i < 16; i++) {
					invSubKeys[i] = subKeys[15 - i];
				}
			}
			_process(doFlush) {
				if (!DESAlgo.wasm) {
					throw new Error("WASM is not loaded yet. 'DESAlgo.loadWasm' should be called first");
				}
				let processedWords;
				const data = this._data;
				let dataWords = data.words;
				const dataSigBytes = data.sigBytes;
				const blockSize = this.blockSize;
				const blockSizeBytes = blockSize * 4;
				let nBlocksReady = dataSigBytes / blockSizeBytes;
				if (doFlush) {
					nBlocksReady = Math.ceil(nBlocksReady);
				} else {
					nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);
				}
				const nWordsReady = nBlocksReady * blockSize;
				const nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);
				if (nWordsReady) {
					if (dataWords.length < nWordsReady) {
						for (let i = dataWords.length; i < nWordsReady; i++) {
							dataWords[i] = 0;
						}
					}
					const dataArray = new Uint32Array(dataWords);
					const ivWords = this.cfg.iv ? this.cfg.iv.words : "";
					if (this._xformMode == this._ENC_XFORM_MODE) {
						if (this.modeProcessBlock != undefined) {
							this.modeProcessBlock = desWasm(DESAlgo.wasm).doEncrypt(this.cfg.mode._name, nWordsReady, blockSize, this.modeProcessBlock, dataArray, this._key.words);
						} else {
							this.modeProcessBlock = desWasm(DESAlgo.wasm).doEncrypt(this.cfg.mode._name, nWordsReady, blockSize, ivWords, dataArray, this._key.words);
						}
					} else {
						if (this.modeProcessBlock != undefined) {
							this.modeProcessBlock = desWasm(DESAlgo.wasm).doDecrypt(this.cfg.mode._name, nWordsReady, blockSize, this.modeProcessBlock, dataArray, this._key.words);
						} else {
							this.modeProcessBlock = desWasm(DESAlgo.wasm).doDecrypt(this.cfg.mode._name, nWordsReady, blockSize, ivWords, dataArray, this._key.words);
						}
					}
					dataWords = Array.from(dataArray);
					processedWords = dataWords.splice(0, nWordsReady);
					this._data.words = dataWords;
					data.sigBytes -= nBytesReady;
				}
				return new WordArray(processedWords, nBytesReady);
			}
		}
		/**
		* Shortcut functions to the cipher's object interface.
		*
		* @example
		*
		*     const ciphertext = CryptoJSW.DES.encrypt(message, key, cfg);
		*     const plaintext  = CryptoJSW.DES.decrypt(ciphertext, key, cfg);
		*/
		_defineProperty(DESAlgo, "wasm", null);
		const DES = BlockCipher._createHelper(DESAlgo);
		/**
		* Triple-DES block cipher algorithm.
		*/
		class TripleDESAlgo extends BlockCipher {
			static get keySize() {
				return 192 / 32;
			}
			static get ivSize() {
				return 64 / 32;
			}
			static get blockSize() {
				return 64 / 32;
			}
			static async loadWasm() {
				return DESAlgo.loadWasm();
			}
			async loadWasm() {
				return TripleDESAlgo.loadWasm();
			}
			constructor(...args) {
				super(...args);
				this.keySize = 192 / 32;
				this.ivSize = 64 / 32;
				this.blockSize = 64 / 32;
			}
			/**
			* do nothing
			* @private
			*/
			_doReset() {}
			_process(doFlush) {
				if (!DESAlgo.wasm) {
					throw new Error("WASM is not loaded yet. 'TripleDESAlgo.loadWasm' should be called first");
				}
				let processedWords;
				const data = this._data;
				let dataWords = data.words;
				const dataSigBytes = data.sigBytes;
				const blockSize = this.blockSize;
				const blockSizeBytes = blockSize * 4;
				const key = this._key;
				const keyWords = key.words;
				if (keyWords.length !== 2 && keyWords.length !== 4 && keyWords.length < 6) {
					throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");
				}
				const key1 = keyWords.slice(0, 2);
				const key2 = keyWords.length < 4 ? keyWords.slice(0, 2) : keyWords.slice(2, 4);
				const key3 = keyWords.length < 6 ? keyWords.slice(0, 2) : keyWords.slice(4, 6);
				let nBlocksReady = dataSigBytes / blockSizeBytes;
				if (doFlush) {
					nBlocksReady = Math.ceil(nBlocksReady);
				} else {
					nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);
				}
				const nWordsReady = nBlocksReady * blockSize;
				const nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);
				if (nWordsReady) {
					const dataArray = new Uint32Array(dataWords);
					const ivWords = this.cfg.iv ? this.cfg.iv.words : "";
					if (this._xformMode == this._ENC_XFORM_MODE) {
						if (this.modeProcessBlock != undefined) {
							this.modeProcessBlock = desWasm(DESAlgo.wasm).tripleEncrypt(this.cfg.mode._name, nWordsReady, blockSize, this.modeProcessBlock, dataArray, key1, key2, key3);
						} else {
							this.modeProcessBlock = desWasm(DESAlgo.wasm).tripleEncrypt(this.cfg.mode._name, nWordsReady, blockSize, ivWords, dataArray, key1, key2, key3);
						}
					} else {
						if (this.modeProcessBlock != undefined) {
							this.modeProcessBlock = desWasm(DESAlgo.wasm).tripleDecrypt(this.cfg.mode._name, nWordsReady, blockSize, this.modeProcessBlock, dataArray, key1, key2, key3);
						} else {
							this.modeProcessBlock = desWasm(DESAlgo.wasm).tripleDecrypt(this.cfg.mode._name, nWordsReady, blockSize, ivWords, dataArray, key1, key2, key3);
						}
					}
					dataWords = Array.from(dataArray);
					processedWords = dataWords.splice(0, nWordsReady);
					this._data.words = dataWords;
					data.sigBytes -= nBytesReady;
				}
				return new WordArray(processedWords, nBytesReady);
			}
		}
		/**
		* Shortcut functions to the cipher's object interface.
		*
		* @example
		*
		*     const ciphertext = CryptoJSW.TripleDES.encrypt(message, key, cfg);
		*     const plaintext  = CryptoJSW.TripleDES.decrypt(ciphertext, key, cfg);
		*/
		const TripleDES = BlockCipher._createHelper(TripleDESAlgo);
		function rabbitWasm(wasm) {
			let cachegetUint32Memory0 = null;
			function getUint32Memory0() {
				if (cachegetUint32Memory0 === null || cachegetUint32Memory0.buffer !== wasm.memory.buffer) {
					cachegetUint32Memory0 = new Uint32Array(wasm.memory.buffer);
				}
				return cachegetUint32Memory0;
			}
			let WASM_VECTOR_LEN = 0;
			function passArray32ToWasm0(arg, malloc) {
				const ptr = malloc(arg.length * 4);
				getUint32Memory0().set(arg, ptr / 4);
				WASM_VECTOR_LEN = arg.length;
				return ptr;
			}
			/**
			* @param {number} nWordsReady
			* @param {number} blockSize
			* @param {Uint32Array} dataWords
			* @param {Uint32Array} X
			* @param {Uint32Array} C
			* @param {number} b
			* @returns {number}
			*/
			function doProcess(nWordsReady, blockSize, dataWords, X, C, b) {
				try {
					var ptr0 = passArray32ToWasm0(dataWords, wasm.__wbindgen_malloc);
					var len0 = WASM_VECTOR_LEN;
					var ptr1 = passArray32ToWasm0(X, wasm.__wbindgen_malloc);
					var len1 = WASM_VECTOR_LEN;
					var ptr2 = passArray32ToWasm0(C, wasm.__wbindgen_malloc);
					var len2 = WASM_VECTOR_LEN;
					var ret = wasm.doProcess(nWordsReady, blockSize, ptr0, len0, ptr1, len1, ptr2, len2, b);
					return ret >>> 0;
				} finally {
					dataWords.set(getUint32Memory0().subarray(ptr0 / 4, ptr0 / 4 + len0));
					wasm.__wbindgen_free(ptr0, len0 * 4);
					X.set(getUint32Memory0().subarray(ptr1 / 4, ptr1 / 4 + len1));
					wasm.__wbindgen_free(ptr1, len1 * 4);
					C.set(getUint32Memory0().subarray(ptr2 / 4, ptr2 / 4 + len2));
					wasm.__wbindgen_free(ptr2, len2 * 4);
				}
			}
			return { doProcess };
		}
		const wasmBytes$2 = generateWasmBytes(" ");
		const C_$1 = [];
		const G$1 = [];
		function nextState$1() {
			const X = this._X;
			const C = this._C;
			for (let i = 0; i < 8; i++) {
				C_$1[i] = C[i];
			}
			C[0] = C[0] + 1295307597 + this._b | 0;
			C[1] = C[1] + 3545052371 + (C[0] >>> 0 < C_$1[0] >>> 0 ? 1 : 0) | 0;
			C[2] = C[2] + 886263092 + (C[1] >>> 0 < C_$1[1] >>> 0 ? 1 : 0) | 0;
			C[3] = C[3] + 1295307597 + (C[2] >>> 0 < C_$1[2] >>> 0 ? 1 : 0) | 0;
			C[4] = C[4] + 3545052371 + (C[3] >>> 0 < C_$1[3] >>> 0 ? 1 : 0) | 0;
			C[5] = C[5] + 886263092 + (C[4] >>> 0 < C_$1[4] >>> 0 ? 1 : 0) | 0;
			C[6] = C[6] + 1295307597 + (C[5] >>> 0 < C_$1[5] >>> 0 ? 1 : 0) | 0;
			C[7] = C[7] + 3545052371 + (C[6] >>> 0 < C_$1[6] >>> 0 ? 1 : 0) | 0;
			this._b = C[7] >>> 0 < C_$1[7] >>> 0 ? 1 : 0;
			for (let i = 0; i < 8; i++) {
				const gx = X[i] + C[i];
				const ga = gx & 65535;
				const gb = gx >>> 16;
				const gh = ((ga * ga >>> 17) + ga * gb >>> 15) + gb * gb;
				const gl = ((gx & 4294901760) * gx | 0) + ((gx & 65535) * gx | 0);
				G$1[i] = gh ^ gl;
			}
			X[0] = G$1[0] + (G$1[7] << 16 | G$1[7] >>> 16) + (G$1[6] << 16 | G$1[6] >>> 16) | 0;
			X[1] = G$1[1] + (G$1[0] << 8 | G$1[0] >>> 24) + G$1[7] | 0;
			X[2] = G$1[2] + (G$1[1] << 16 | G$1[1] >>> 16) + (G$1[0] << 16 | G$1[0] >>> 16) | 0;
			X[3] = G$1[3] + (G$1[2] << 8 | G$1[2] >>> 24) + G$1[1] | 0;
			X[4] = G$1[4] + (G$1[3] << 16 | G$1[3] >>> 16) + (G$1[2] << 16 | G$1[2] >>> 16) | 0;
			X[5] = G$1[5] + (G$1[4] << 8 | G$1[4] >>> 24) + G$1[3] | 0;
			X[6] = G$1[6] + (G$1[5] << 16 | G$1[5] >>> 16) + (G$1[4] << 16 | G$1[4] >>> 16) | 0;
			X[7] = G$1[7] + (G$1[6] << 8 | G$1[6] >>> 24) + G$1[5] | 0;
		}
		/**
		* Rabbit stream cipher algorithm
		*/
		class RabbitAlgo extends StreamCipher {
			static get blockSize() {
				return 128 / 32;
			}
			static get ivSize() {
				return 64 / 32;
			}
			constructor(...args) {
				super(...args);
				this.blockSize = 128 / 32;
				this.ivSize = 64 / 32;
			}
			static async loadWasm() {
				if (RabbitAlgo.wasm) {
					return RabbitAlgo.wasm;
				}
				RabbitAlgo.wasm = await loadWasm(wasmBytes$2);
				return RabbitAlgo.wasm;
			}
			async loadWasm() {
				return RabbitAlgo.loadWasm();
			}
			_doReset() {
				const K = this._key.words;
				const { iv } = this.cfg;
				for (let i = 0; i < 4; i++) {
					K[i] = (K[i] << 8 | K[i] >>> 24) & 16711935 | (K[i] << 24 | K[i] >>> 8) & 4278255360;
				}
				this._X = [
					K[0],
					K[3] << 16 | K[2] >>> 16,
					K[1],
					K[0] << 16 | K[3] >>> 16,
					K[2],
					K[1] << 16 | K[0] >>> 16,
					K[3],
					K[2] << 16 | K[1] >>> 16
				];
				const X = this._X;
				this._C = [
					K[2] << 16 | K[2] >>> 16,
					K[0] & 4294901760 | K[1] & 65535,
					K[3] << 16 | K[3] >>> 16,
					K[1] & 4294901760 | K[2] & 65535,
					K[0] << 16 | K[0] >>> 16,
					K[2] & 4294901760 | K[3] & 65535,
					K[1] << 16 | K[1] >>> 16,
					K[3] & 4294901760 | K[0] & 65535
				];
				const C = this._C;
				this._b = 0;
				for (let i = 0; i < 4; i++) {
					nextState$1.call(this);
				}
				for (let i = 0; i < 8; i++) {
					C[i] ^= X[i + 4 & 7];
				}
				if (iv) {
					const IV = iv.words;
					const IV_0 = IV[0];
					const IV_1 = IV[1];
					const i0 = (IV_0 << 8 | IV_0 >>> 24) & 16711935 | (IV_0 << 24 | IV_0 >>> 8) & 4278255360;
					const i2 = (IV_1 << 8 | IV_1 >>> 24) & 16711935 | (IV_1 << 24 | IV_1 >>> 8) & 4278255360;
					const i1 = i0 >>> 16 | i2 & 4294901760;
					const i3 = i2 << 16 | i0 & 65535;
					C[0] ^= i0;
					C[1] ^= i1;
					C[2] ^= i2;
					C[3] ^= i3;
					C[4] ^= i0;
					C[5] ^= i1;
					C[6] ^= i2;
					C[7] ^= i3;
					for (let i = 0; i < 4; i++) {
						nextState$1.call(this);
					}
				}
			}
			_process(doFlush) {
				if (!RabbitAlgo.wasm) {
					throw new Error("WASM is not loaded yet. 'RabbitAlgo.loadWasm' should be called first");
				}
				let processedWords;
				const data = this._data;
				let dataWords = data.words;
				const dataSigBytes = data.sigBytes;
				const blockSize = this.blockSize;
				const blockSizeBytes = blockSize * 4;
				const X = this._X;
				const C = this._C;
				const b = this._b;
				let nBlocksReady = dataSigBytes / blockSizeBytes;
				if (doFlush) {
					nBlocksReady = Math.ceil(nBlocksReady);
				} else {
					nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);
				}
				const nWordsReady = nBlocksReady * blockSize;
				const nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);
				if (nWordsReady) {
					if (dataWords.length < nWordsReady) {
						for (let i = dataWords.length; i < nWordsReady; i++) {
							dataWords[i] = 0;
						}
					}
					const dataArray = new Uint32Array(dataWords);
					const X_Array = new Uint32Array(X);
					const C_Array = new Uint32Array(C);
					this._b = rabbitWasm(RabbitAlgo.wasm).doProcess(nWordsReady, blockSize, dataArray, X_Array, C_Array, b);
					dataWords = Array.from(dataArray);
					this._X = Array.from(X_Array);
					this._C = Array.from(C_Array);
					processedWords = dataWords.splice(0, nWordsReady);
					this._data.words = dataWords;
					data.sigBytes -= nBytesReady;
				}
				return new WordArray(processedWords, nBytesReady);
			}
		}
		/**
		* Shortcut functions to the cipher's object interface.
		*
		* @example
		*
		*     const ciphertext = CryptoJSW.Rabbit.encrypt(message, key, cfg);
		*     const plaintext  = CryptoJSW.Rabbit.decrypt(ciphertext, key, cfg);
		*/
		_defineProperty(RabbitAlgo, "wasm", null);
		const Rabbit = StreamCipher._createHelper(RabbitAlgo);
		const C_ = [];
		const G = [];
		function nextState() {
			const X = this._X;
			const C = this._C;
			for (let i = 0; i < 8; i++) {
				C_[i] = C[i];
			}
			C[0] = C[0] + 1295307597 + this._b | 0;
			C[1] = C[1] + 3545052371 + (C[0] >>> 0 < C_[0] >>> 0 ? 1 : 0) | 0;
			C[2] = C[2] + 886263092 + (C[1] >>> 0 < C_[1] >>> 0 ? 1 : 0) | 0;
			C[3] = C[3] + 1295307597 + (C[2] >>> 0 < C_[2] >>> 0 ? 1 : 0) | 0;
			C[4] = C[4] + 3545052371 + (C[3] >>> 0 < C_[3] >>> 0 ? 1 : 0) | 0;
			C[5] = C[5] + 886263092 + (C[4] >>> 0 < C_[4] >>> 0 ? 1 : 0) | 0;
			C[6] = C[6] + 1295307597 + (C[5] >>> 0 < C_[5] >>> 0 ? 1 : 0) | 0;
			C[7] = C[7] + 3545052371 + (C[6] >>> 0 < C_[6] >>> 0 ? 1 : 0) | 0;
			this._b = C[7] >>> 0 < C_[7] >>> 0 ? 1 : 0;
			for (let i = 0; i < 8; i++) {
				const gx = X[i] + C[i];
				const ga = gx & 65535;
				const gb = gx >>> 16;
				const gh = ((ga * ga >>> 17) + ga * gb >>> 15) + gb * gb;
				const gl = ((gx & 4294901760) * gx | 0) + ((gx & 65535) * gx | 0);
				G[i] = gh ^ gl;
			}
			X[0] = G[0] + (G[7] << 16 | G[7] >>> 16) + (G[6] << 16 | G[6] >>> 16) | 0;
			X[1] = G[1] + (G[0] << 8 | G[0] >>> 24) + G[7] | 0;
			X[2] = G[2] + (G[1] << 16 | G[1] >>> 16) + (G[0] << 16 | G[0] >>> 16) | 0;
			X[3] = G[3] + (G[2] << 8 | G[2] >>> 24) + G[1] | 0;
			X[4] = G[4] + (G[3] << 16 | G[3] >>> 16) + (G[2] << 16 | G[2] >>> 16) | 0;
			X[5] = G[5] + (G[4] << 8 | G[4] >>> 24) + G[3] | 0;
			X[6] = G[6] + (G[5] << 16 | G[5] >>> 16) + (G[4] << 16 | G[4] >>> 16) | 0;
			X[7] = G[7] + (G[6] << 8 | G[6] >>> 24) + G[5] | 0;
		}
		/**
		* Rabbit stream cipher algorithm.
		*
		* This is a legacy version that neglected to convert the key to little-endian.
		* This error doesn't affect the cipher's security,
		* but it does affect its compatibility with other implementations.
		*/
		class RabbitLegacyAlgo extends StreamCipher {
			static get blockSize() {
				return 128 / 32;
			}
			static get ivSize() {
				return 64 / 32;
			}
			constructor(...args) {
				super(...args);
				this.blockSize = 128 / 32;
				this.ivSize = 64 / 32;
			}
			static async loadWasm() {
				if (RabbitLegacyAlgo.wasm) {
					return RabbitLegacyAlgo.wasm;
				}
				RabbitLegacyAlgo.wasm = await loadWasm(wasmBytes$2);
				return RabbitLegacyAlgo.wasm;
			}
			async loadWasm() {
				return RabbitLegacyAlgo.loadWasm();
			}
			_doReset() {
				const K = this._key.words;
				const { iv } = this.cfg;
				this._X = [
					K[0],
					K[3] << 16 | K[2] >>> 16,
					K[1],
					K[0] << 16 | K[3] >>> 16,
					K[2],
					K[1] << 16 | K[0] >>> 16,
					K[3],
					K[2] << 16 | K[1] >>> 16
				];
				const X = this._X;
				this._C = [
					K[2] << 16 | K[2] >>> 16,
					K[0] & 4294901760 | K[1] & 65535,
					K[3] << 16 | K[3] >>> 16,
					K[1] & 4294901760 | K[2] & 65535,
					K[0] << 16 | K[0] >>> 16,
					K[2] & 4294901760 | K[3] & 65535,
					K[1] << 16 | K[1] >>> 16,
					K[3] & 4294901760 | K[0] & 65535
				];
				const C = this._C;
				this._b = 0;
				for (let i = 0; i < 4; i++) {
					nextState.call(this);
				}
				for (let i = 0; i < 8; i++) {
					C[i] ^= X[i + 4 & 7];
				}
				if (iv) {
					const IV = iv.words;
					const IV_0 = IV[0];
					const IV_1 = IV[1];
					const i0 = (IV_0 << 8 | IV_0 >>> 24) & 16711935 | (IV_0 << 24 | IV_0 >>> 8) & 4278255360;
					const i2 = (IV_1 << 8 | IV_1 >>> 24) & 16711935 | (IV_1 << 24 | IV_1 >>> 8) & 4278255360;
					const i1 = i0 >>> 16 | i2 & 4294901760;
					const i3 = i2 << 16 | i0 & 65535;
					C[0] ^= i0;
					C[1] ^= i1;
					C[2] ^= i2;
					C[3] ^= i3;
					C[4] ^= i0;
					C[5] ^= i1;
					C[6] ^= i2;
					C[7] ^= i3;
					for (let i = 0; i < 4; i++) {
						nextState.call(this);
					}
				}
			}
			_process(doFlush) {
				if (!RabbitLegacyAlgo.wasm) {
					throw new Error("WASM is not loaded yet. 'RabbitLegacyAlgo.loadWasm' should be called first");
				}
				let processedWords;
				const data = this._data;
				let dataWords = data.words;
				const dataSigBytes = data.sigBytes;
				const blockSize = this.blockSize;
				const blockSizeBytes = blockSize * 4;
				const X = this._X;
				const C = this._C;
				const b = this._b;
				let nBlocksReady = dataSigBytes / blockSizeBytes;
				if (doFlush) {
					nBlocksReady = Math.ceil(nBlocksReady);
				} else {
					nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);
				}
				const nWordsReady = nBlocksReady * blockSize;
				const nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);
				if (nWordsReady) {
					if (dataWords.length < nWordsReady) {
						for (let i = dataWords.length; i < nWordsReady; i++) {
							dataWords[i] = 0;
						}
					}
					const dataArray = new Uint32Array(dataWords);
					const X_Array = new Uint32Array(X);
					const C_Array = new Uint32Array(C);
					this._b = rabbitWasm(RabbitLegacyAlgo.wasm).doProcess(nWordsReady, blockSize, dataArray, X_Array, C_Array, b);
					dataWords = Array.from(dataArray);
					this._X = Array.from(X_Array);
					this._C = Array.from(C_Array);
					processedWords = dataWords.splice(0, nWordsReady);
					this._data.words = dataWords;
					data.sigBytes -= nBytesReady;
				}
				return new WordArray(processedWords, nBytesReady);
			}
		}
		/**
		* Shortcut functions to the cipher's object interface.
		*
		* @example
		*
		*     const ciphertext = CryptoJSW.RabbitLegacy.encrypt(message, key, cfg);
		*     const plaintext  = CryptoJSW.RabbitLegacy.decrypt(ciphertext, key, cfg);
		*/
		_defineProperty(RabbitLegacyAlgo, "wasm", null);
		const RabbitLegacy = StreamCipher._createHelper(RabbitLegacyAlgo);
		function rc4Wasm(wasm) {
			let cachegetUint32Memory0 = null;
			function getUint32Memory0() {
				if (cachegetUint32Memory0 === null || cachegetUint32Memory0.buffer !== wasm.memory.buffer) {
					cachegetUint32Memory0 = new Uint32Array(wasm.memory.buffer);
				}
				return cachegetUint32Memory0;
			}
			let WASM_VECTOR_LEN = 0;
			function passArray32ToWasm0(arg, malloc) {
				const ptr = malloc(arg.length * 4);
				getUint32Memory0().set(arg, ptr / 4);
				WASM_VECTOR_LEN = arg.length;
				return ptr;
			}
			/**
			* @param {number} nWordsReady
			* @param {number} blockSize
			* @param {Uint32Array} dataWords
			* @param {Uint32Array} S
			*/
			function doProcess(nWordsReady, blockSize, dataWords, S) {
				try {
					var ptr0 = passArray32ToWasm0(dataWords, wasm.__wbindgen_malloc);
					var len0 = WASM_VECTOR_LEN;
					var ptr1 = passArray32ToWasm0(S, wasm.__wbindgen_malloc);
					var len1 = WASM_VECTOR_LEN;
					wasm.doProcess(nWordsReady, blockSize, ptr0, len0, ptr1, len1);
				} finally {
					dataWords.set(getUint32Memory0().subarray(ptr0 / 4, ptr0 / 4 + len0));
					wasm.__wbindgen_free(ptr0, len0 * 4);
					S.set(getUint32Memory0().subarray(ptr1 / 4, ptr1 / 4 + len1));
					wasm.__wbindgen_free(ptr1, len1 * 4);
				}
			}
			return { doProcess };
		}
		const wasmBytes$1 = generateWasmBytes(" ");
		function generateKeystreamWord() {
			const S = this._S;
			let i = this._i;
			let j = this._j;
			let keystreamWord = 0;
			for (let n = 0; n < 4; n++) {
				i = (i + 1) % 256;
				j = (j + S[i]) % 256;
				const t = S[i];
				S[i] = S[j];
				S[j] = t;
				keystreamWord |= S[(S[i] + S[j]) % 256] << 24 - n * 8;
			}
			this._i = i;
			this._j = j;
			return keystreamWord;
		}
		/**
		* RC4 stream cipher algorithm.
		*/
		class RC4Algo extends StreamCipher {
			static get keySize() {
				return 256 / 32;
			}
			static get ivSize() {
				return 0;
			}
			constructor(...args) {
				super(...args);
				this.keySize = 256 / 32;
				this.ivSize = 0;
			}
			static async loadWasm() {
				if (RC4Algo.wasm) {
					return RC4Algo.wasm;
				}
				RC4Algo.wasm = await loadWasm(wasmBytes$1);
				return RC4Algo.wasm;
			}
			async loadWasm() {
				return RC4Algo.loadWasm();
			}
			_doReset() {
				const key = this._key;
				const keyWords = key.words;
				const keySigBytes = key.sigBytes;
				this._S = [];
				const S = this._S;
				for (let i = 0; i < 256; i++) {
					S[i] = i;
				}
				for (let i = 0, j = 0; i < 256; i++) {
					const keyByteIndex = i % keySigBytes;
					const keyByte = keyWords[keyByteIndex >>> 2] >>> 24 - keyByteIndex % 4 * 8 & 255;
					j = (j + S[i] + keyByte) % 256;
					const t = S[i];
					S[i] = S[j];
					S[j] = t;
				}
				this._j = 0;
				this._i = this._j;
			}
			_process(doFlush) {
				if (!RC4Algo.wasm) {
					throw new Error("WASM is not loaded yet. 'RC4Algo.loadWasm' should be called first");
				}
				let processedWords;
				const data = this._data;
				let dataWords = data.words;
				const dataSigBytes = data.sigBytes;
				const blockSize = this.blockSize;
				const blockSizeBytes = blockSize * 4;
				let nBlocksReady = dataSigBytes / blockSizeBytes;
				if (doFlush) {
					nBlocksReady = Math.ceil(nBlocksReady);
				} else {
					nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);
				}
				const nWordsReady = nBlocksReady * blockSize;
				const nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);
				if (nWordsReady) {
					if (dataWords.length < nWordsReady) {
						for (let i = dataWords.length; i < nWordsReady; i++) {
							dataWords[i] = 0;
						}
					}
					const dataArray = new Uint32Array(dataWords);
					let S = this._S;
					S[256] = this._i;
					S[257] = this._j;
					const S_Array = new Uint32Array(S);
					rc4Wasm(RC4Algo.wasm).doProcess(nWordsReady, blockSize, dataArray, S_Array);
					dataWords = Array.from(dataArray);
					S = Array.from(S_Array);
					this._S = S.slice(0, 256);
					this._i = S[256];
					this._j = S[257];
					processedWords = dataWords.splice(0, nWordsReady);
					this._data.words = dataWords;
					data.sigBytes -= nBytesReady;
				}
				return new WordArray(processedWords, nBytesReady);
			}
		}
		/**
		* Shortcut functions to the cipher's object interface.
		*
		* @example
		*
		*     const ciphertext = CryptoJSW.RC4.encrypt(message, key, cfg);
		*     const plaintext  = CryptoJSW.RC4.decrypt(ciphertext, key, cfg);
		*/
		_defineProperty(RC4Algo, "wasm", null);
		const RC4 = StreamCipher._createHelper(RC4Algo);
		/**
		* Modified RC4 stream cipher algorithm.
		*/
		class RC4DropAlgo extends RC4Algo {
			constructor(...args) {
				super(...args);
				/**
				* Configuration options.
				*
				* @property {number} drop The number of keystream words to drop. Default 192
				*/
				if (!this.cfg.drop) {
					Object.assign(this.cfg, { drop: 192 });
				}
			}
			_doReset() {
				super._doReset.call(this);
				for (let i = this.cfg.drop; i > 0; i--) {
					generateKeystreamWord.call(this);
				}
			}
		}
		/**
		* Shortcut functions to the cipher's object interface.
		*
		* @example
		*
		*     const ciphertext = CryptoJSW.RC4Drop.encrypt(message, key, cfg);
		*     const plaintext  = CryptoJSW.RC4Drop.decrypt(ciphertext, key, cfg);
		*/
		const RC4Drop = StreamCipher._createHelper(RC4DropAlgo);
		const wasmBytes = generateWasmBytes(" ");
		let wasm;
		let globalThis$1;
		const heap = new Array(32).fill(undefined);
		heap.push(undefined, null, true, false);
		function getObject(idx) {
			return heap[idx];
		}
		let heap_next = heap.length;
		function dropObject(idx) {
			if (idx < 36) return;
			heap[idx] = heap_next;
			heap_next = idx;
		}
		function takeObject(idx) {
			const ret = getObject(idx);
			dropObject(idx);
			return ret;
		}
		const cachedTextDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
		cachedTextDecoder.decode();
		let cachedUint8Memory0 = new Uint8Array();
		function getUint8Memory0() {
			if (cachedUint8Memory0.byteLength === 0) {
				cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer);
			}
			return cachedUint8Memory0;
		}
		function getStringFromWasm0(ptr, len) {
			return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));
		}
		function addHeapObject(obj) {
			if (heap_next === heap.length) heap.push(heap.length + 1);
			const idx = heap_next;
			heap_next = heap[idx];
			heap[idx] = obj;
			return idx;
		}
		function debugString(val) {
			const type = typeof val;
			if (type == "number" || type == "boolean" || val == null) {
				return `${val}`;
			}
			if (type == "string") {
				return `"${val}"`;
			}
			if (type == "symbol") {
				const description = val.description;
				if (description == null) {
					return "Symbol";
				} else {
					return `Symbol(${description})`;
				}
			}
			if (type == "function") {
				const name = val.name;
				if (typeof name == "string" && name.length > 0) {
					return `Function(${name})`;
				} else {
					return "Function";
				}
			}
			if (Array.isArray(val)) {
				const length = val.length;
				let debug = "[";
				if (length > 0) {
					debug += debugString(val[0]);
				}
				for (let i = 1; i < length; i++) {
					debug += ", " + debugString(val[i]);
				}
				debug += "]";
				return debug;
			}
			const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val));
			let className;
			if (builtInMatches.length > 1) {
				className = builtInMatches[1];
			} else {
				return toString.call(val);
			}
			if (className == "Object") {
				try {
					return "Object(" + JSON.stringify(val) + ")";
				} catch (_) {
					return "Object";
				}
			}
			if (val instanceof Error) {
				return `${val.name}: ${val.message}\n${val.stack}`;
			}
			return className;
		}
		let WASM_VECTOR_LEN = 0;
		const cachedTextEncoder = new TextEncoder("utf-8");
		const encodeString = typeof cachedTextEncoder.encodeInto === "function" ? function(arg, view) {
			return cachedTextEncoder.encodeInto(arg, view);
		} : function(arg, view) {
			const buf = cachedTextEncoder.encode(arg);
			view.set(buf);
			return {
				read: arg.length,
				written: buf.length
			};
		};
		function passStringToWasm0(arg, malloc, realloc) {
			if (realloc === undefined) {
				const buf = cachedTextEncoder.encode(arg);
				const ptr = malloc(buf.length);
				getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf);
				WASM_VECTOR_LEN = buf.length;
				return ptr;
			}
			let len = arg.length;
			let ptr = malloc(len);
			const mem = getUint8Memory0();
			let offset = 0;
			for (; offset < len; offset++) {
				const code = arg.charCodeAt(offset);
				if (code > 127) break;
				mem[ptr + offset] = code;
			}
			if (offset !== len) {
				if (offset !== 0) {
					arg = arg.slice(offset);
				}
				ptr = realloc(ptr, len, len = offset + arg.length * 3);
				const view = getUint8Memory0().subarray(ptr + offset, ptr + len);
				const ret = encodeString(arg, view);
				offset += ret.written;
			}
			WASM_VECTOR_LEN = offset;
			return ptr;
		}
		let cachedInt32Memory0 = new Int32Array();
		function getInt32Memory0() {
			if (cachedInt32Memory0.byteLength === 0) {
				cachedInt32Memory0 = new Int32Array(wasm.memory.buffer);
			}
			return cachedInt32Memory0;
		}
		function isLikeNone(x) {
			return x === undefined || x === null;
		}
		function passArray8ToWasm0(arg, malloc) {
			const ptr = malloc(arg.length * 1);
			getUint8Memory0().set(arg, ptr / 1);
			WASM_VECTOR_LEN = arg.length;
			return ptr;
		}
		function getArrayU8FromWasm0(ptr, len) {
			return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len);
		}
		function handleError(f, args) {
			try {
				return f.apply(this, args);
			} catch (e) {
				wasm.__wbindgen_exn_store(addHeapObject(e));
			}
		}
		/**
		*/
		class RsaPrivate {
			static __wrap(ptr) {
				const obj = Object.create(RsaPrivate.prototype);
				obj.ptr = ptr;
				return obj;
			}
			__destroy_into_raw() {
				const ptr = this.ptr;
				this.ptr = 0;
				return ptr;
			}
			free() {
				const ptr = this.__destroy_into_raw();
				wasm.__wbg_rsaprivate_free(ptr);
			}
			/**
			* @param {number | undefined} bits
			* @param {string | undefined} input_key_pem
			*/
			constructor(bits, input_key_pem) {
				var ptr0 = isLikeNone(input_key_pem) ? 0 : passStringToWasm0(input_key_pem, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
				var len0 = WASM_VECTOR_LEN;
				const ret = wasm.rsaprivate_new(!isLikeNone(bits), isLikeNone(bits) ? 0 : bits, ptr0, len0);
				return RsaPrivate.__wrap(ret);
			}
			/**
			* @param {Uint8Array} ciphertext
			* @param {string} padding_scheme
			* @param {string} hash_function
			* @returns {Uint8Array}
			*/
			decrypt(ciphertext, padding_scheme, hash_function) {
				try {
					const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
					const ptr0 = passArray8ToWasm0(ciphertext, wasm.__wbindgen_malloc);
					const len0 = WASM_VECTOR_LEN;
					const ptr1 = passStringToWasm0(padding_scheme, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
					const len1 = WASM_VECTOR_LEN;
					const ptr2 = passStringToWasm0(hash_function, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
					const len2 = WASM_VECTOR_LEN;
					wasm.rsaprivate_decrypt(retptr, this.ptr, ptr0, len0, ptr1, len1, ptr2, len2);
					var r0 = getInt32Memory0()[retptr / 4 + 0];
					var r1 = getInt32Memory0()[retptr / 4 + 1];
					var v3 = getArrayU8FromWasm0(r0, r1).slice();
					wasm.__wbindgen_free(r0, r1 * 1);
					return v3;
				} finally {
					wasm.__wbindgen_add_to_stack_pointer(16);
				}
			}
			/**
			* @param {Uint8Array} digest
			* @param {string} padding_scheme
			* @param {string} hash_function
			* @returns {Uint8Array}
			*/
			sign(digest, padding_scheme, hash_function) {
				try {
					const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
					const ptr0 = passArray8ToWasm0(digest, wasm.__wbindgen_malloc);
					const len0 = WASM_VECTOR_LEN;
					const ptr1 = passStringToWasm0(padding_scheme, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
					const len1 = WASM_VECTOR_LEN;
					const ptr2 = passStringToWasm0(hash_function, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
					const len2 = WASM_VECTOR_LEN;
					wasm.rsaprivate_sign(retptr, this.ptr, ptr0, len0, ptr1, len1, ptr2, len2);
					var r0 = getInt32Memory0()[retptr / 4 + 0];
					var r1 = getInt32Memory0()[retptr / 4 + 1];
					var v3 = getArrayU8FromWasm0(r0, r1).slice();
					wasm.__wbindgen_free(r0, r1 * 1);
					return v3;
				} finally {
					wasm.__wbindgen_add_to_stack_pointer(16);
				}
			}
			/**
			* @param {string} fmt
			* @returns {any}
			*/
			getPrivateKeyContent(fmt) {
				const ptr0 = passStringToWasm0(fmt, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
				const len0 = WASM_VECTOR_LEN;
				const ret = wasm.rsaprivate_getPrivateKeyContent(this.ptr, ptr0, len0);
				return takeObject(ret);
			}
			/**
			* @returns {string}
			*/
			getPublicKeyPem() {
				try {
					const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
					wasm.rsaprivate_getPublicKeyPem(retptr, this.ptr);
					var r0 = getInt32Memory0()[retptr / 4 + 0];
					var r1 = getInt32Memory0()[retptr / 4 + 1];
					return getStringFromWasm0(r0, r1);
				} finally {
					wasm.__wbindgen_add_to_stack_pointer(16);
					wasm.__wbindgen_free(r0, r1);
				}
			}
		}
		/**
		*/
		class RsaPublic {
			static __wrap(ptr) {
				const obj = Object.create(RsaPublic.prototype);
				obj.ptr = ptr;
				return obj;
			}
			__destroy_into_raw() {
				const ptr = this.ptr;
				this.ptr = 0;
				return ptr;
			}
			free() {
				const ptr = this.__destroy_into_raw();
				wasm.__wbg_rsapublic_free(ptr);
			}
			/**
			* @param {string} input_key_pem
			*/
			constructor(input_key_pem) {
				const ptr0 = passStringToWasm0(input_key_pem, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
				const len0 = WASM_VECTOR_LEN;
				const ret = wasm.rsapublic_new(ptr0, len0);
				return RsaPublic.__wrap(ret);
			}
			/**
			* @param {Uint8Array} msg
			* @param {string} padding_scheme
			* @param {string} hash_function
			* @returns {Uint8Array}
			*/
			encrypt(msg, padding_scheme, hash_function) {
				try {
					const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
					const ptr0 = passArray8ToWasm0(msg, wasm.__wbindgen_malloc);
					const len0 = WASM_VECTOR_LEN;
					const ptr1 = passStringToWasm0(padding_scheme, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
					const len1 = WASM_VECTOR_LEN;
					const ptr2 = passStringToWasm0(hash_function, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
					const len2 = WASM_VECTOR_LEN;
					wasm.rsapublic_encrypt(retptr, this.ptr, ptr0, len0, ptr1, len1, ptr2, len2);
					var r0 = getInt32Memory0()[retptr / 4 + 0];
					var r1 = getInt32Memory0()[retptr / 4 + 1];
					var v3 = getArrayU8FromWasm0(r0, r1).slice();
					wasm.__wbindgen_free(r0, r1 * 1);
					return v3;
				} finally {
					wasm.__wbindgen_add_to_stack_pointer(16);
				}
			}
			/**
			* @param {Uint8Array} digest
			* @param {Uint8Array} sig
			* @param {string} padding_scheme
			* @param {string} hash_function
			* @returns {boolean}
			*/
			verify(digest, sig, padding_scheme, hash_function) {
				const ptr0 = passArray8ToWasm0(digest, wasm.__wbindgen_malloc);
				const len0 = WASM_VECTOR_LEN;
				const ptr1 = passArray8ToWasm0(sig, wasm.__wbindgen_malloc);
				const len1 = WASM_VECTOR_LEN;
				const ptr2 = passStringToWasm0(padding_scheme, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
				const len2 = WASM_VECTOR_LEN;
				const ptr3 = passStringToWasm0(hash_function, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
				const len3 = WASM_VECTOR_LEN;
				const ret = wasm.rsapublic_verify(this.ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
				return ret !== 0;
			}
			/**
			* @returns {number}
			*/
			getKeySize() {
				const ret = wasm.rsapublic_getKeySize(this.ptr);
				return ret >>> 0;
			}
			/**
			* @param {string} fmt
			* @returns {any}
			*/
			getPublicKeyContent(fmt) {
				const ptr0 = passStringToWasm0(fmt, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
				const len0 = WASM_VECTOR_LEN;
				const ret = wasm.rsapublic_getPublicKeyContent(this.ptr, ptr0, len0);
				return takeObject(ret);
			}
		}
		function getImports() {
			const imports = {};
			imports.wbg = {};
			imports.wbg.__wbindgen_object_drop_ref = function(arg0) {
				takeObject(arg0);
			};
			imports.wbg.__wbindgen_string_new = function(arg0, arg1) {
				const ret = getStringFromWasm0(arg0, arg1);
				return addHeapObject(ret);
			};
			imports.wbg.__wbg_new_693216e109162396 = function() {
				const ret = new Error();
				return addHeapObject(ret);
			};
			imports.wbg.__wbg_stack_0ddaca5d1abfb52f = function(arg0, arg1) {
				const ret = getObject(arg1).stack;
				const ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
				const len0 = WASM_VECTOR_LEN;
				getInt32Memory0()[arg0 / 4 + 1] = len0;
				getInt32Memory0()[arg0 / 4 + 0] = ptr0;
			};
			imports.wbg.__wbg_error_09919627ac0992f5 = function(arg0, arg1) {
				try {
					console.error(getStringFromWasm0(arg0, arg1));
				} finally {
					wasm.__wbindgen_free(arg0, arg1);
				}
			};
			imports.wbg.__wbindgen_number_new = function(arg0) {
				const ret = arg0;
				return addHeapObject(ret);
			};
			imports.wbg.__wbindgen_object_clone_ref = function(arg0) {
				const ret = getObject(arg0);
				return addHeapObject(ret);
			};
			imports.wbg.__wbindgen_is_undefined = function(arg0) {
				const ret = getObject(arg0) === undefined;
				return ret;
			};
			imports.wbg.__wbindgen_is_object = function(arg0) {
				const val = getObject(arg0);
				const ret = typeof val === "object" && val !== null;
				return ret;
			};
			imports.wbg.__wbg_randomFillSync_91e2b39becca6147 = function() {
				return handleError(function(arg0, arg1, arg2) {
					getObject(arg0).randomFillSync(getArrayU8FromWasm0(arg1, arg2));
				}, arguments);
			};
			imports.wbg.__wbg_getRandomValues_b14734aa289bc356 = function() {
				return handleError(function(arg0, arg1) {
					getObject(arg0).getRandomValues(getObject(arg1));
				}, arguments);
			};
			imports.wbg.__wbg_process_e56fd54cf6319b6c = function(arg0) {
				const ret = getObject(arg0).process;
				return addHeapObject(ret);
			};
			imports.wbg.__wbg_versions_77e21455908dad33 = function(arg0) {
				const ret = getObject(arg0).versions;
				return addHeapObject(ret);
			};
			imports.wbg.__wbg_node_0dd25d832e4785d5 = function(arg0) {
				const ret = getObject(arg0).node;
				return addHeapObject(ret);
			};
			imports.wbg.__wbindgen_is_string = function(arg0) {
				const ret = typeof getObject(arg0) === "string";
				return ret;
			};
			imports.wbg.__wbg_static_accessor_NODE_MODULE_26b231378c1be7dd = function() {
				const ret = module;
				return addHeapObject(ret);
			};
			imports.wbg.__wbg_require_0db1598d9ccecb30 = function() {
				return handleError(function(arg0, arg1, arg2) {
					const ret = getObject(arg0).require(getStringFromWasm0(arg1, arg2));
					return addHeapObject(ret);
				}, arguments);
			};
			imports.wbg.__wbg_crypto_b95d7173266618a9 = function(arg0) {
				const ret = getObject(arg0).crypto;
				return addHeapObject(ret);
			};
			imports.wbg.__wbg_msCrypto_5a86d77a66230f81 = function(arg0) {
				const ret = getObject(arg0).msCrypto;
				return addHeapObject(ret);
			};
			imports.wbg.__wbg_new_ee1a3da85465d621 = function() {
				const ret = new Array();
				return addHeapObject(ret);
			};
			imports.wbg.__wbg_newnoargs_971e9a5abe185139 = function(arg0, arg1) {
				const ret = new Function(getStringFromWasm0(arg0, arg1));
				return addHeapObject(ret);
			};
			imports.wbg.__wbg_call_33d7bcddbbfa394a = function() {
				return handleError(function(arg0, arg1) {
					const ret = getObject(arg0).call(getObject(arg1));
					return addHeapObject(ret);
				}, arguments);
			};
			imports.wbg.__wbg_self_fd00a1ef86d1b2ed = function() {
				return handleError(function() {
					const ret = self.self;
					return addHeapObject(ret);
				}, arguments);
			};
			imports.wbg.__wbg_window_6f6e346d8bbd61d7 = function() {
				return handleError(function() {
					const ret = window.window;
					return addHeapObject(ret);
				}, arguments);
			};
			imports.wbg.__wbg_globalThis_3348936ac49df00a = function() {
				return handleError(function() {
					const ret = globalThis$1.globalThis;
					return addHeapObject(ret);
				}, arguments);
			};
			imports.wbg.__wbg_global_67175caf56f55ca9 = function() {
				return handleError(function() {
					const ret = global.global;
					return addHeapObject(ret);
				}, arguments);
			};
			imports.wbg.__wbg_set_64cc39858b2ec3f1 = function(arg0, arg1, arg2) {
				getObject(arg0)[arg1 >>> 0] = takeObject(arg2);
			};
			imports.wbg.__wbg_buffer_34f5ec9f8a838ba0 = function(arg0) {
				const ret = getObject(arg0).buffer;
				return addHeapObject(ret);
			};
			imports.wbg.__wbg_new_cda198d9dbc6d7ea = function(arg0) {
				const ret = new Uint8Array(getObject(arg0));
				return addHeapObject(ret);
			};
			imports.wbg.__wbg_set_1a930cfcda1a8067 = function(arg0, arg1, arg2) {
				getObject(arg0).set(getObject(arg1), arg2 >>> 0);
			};
			imports.wbg.__wbg_length_51f19f73d6d9eff3 = function(arg0) {
				const ret = getObject(arg0).length;
				return ret;
			};
			imports.wbg.__wbg_newwithlength_66e5530e7079ea1b = function(arg0) {
				const ret = new Uint8Array(arg0 >>> 0);
				return addHeapObject(ret);
			};
			imports.wbg.__wbg_subarray_270ff8dd5582c1ac = function(arg0, arg1, arg2) {
				const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);
				return addHeapObject(ret);
			};
			imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {
				const ret = debugString(getObject(arg1));
				const ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
				const len0 = WASM_VECTOR_LEN;
				getInt32Memory0()[arg0 / 4 + 1] = len0;
				getInt32Memory0()[arg0 / 4 + 0] = ptr0;
			};
			imports.wbg.__wbindgen_throw = function(arg0, arg1) {
				throw new Error(getStringFromWasm0(arg0, arg1));
			};
			imports.wbg.__wbindgen_memory = function() {
				const ret = wasm.memory;
				return addHeapObject(ret);
			};
			return imports;
		}
		async function init() {
			await WebAssembly.instantiate(wasmBytes, getImports()).then((wasmInstance) => {
				wasm = wasmInstance.instance.exports;
			});
			cachedInt32Memory0 = new Int32Array(wasm.memory.buffer);
			cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer);
		}
		const RSA_PADDING_OAEP = "OAEP";
		const RSA_PADDING_PSS = "PSS";
		const RSA_PADDING_PKCS1V15 = "PKCS1V15";
		const RSA_PRIVATE_KEY_START = "-----BEGIN PRIVATE KEY-----";
		const RSA_PUBLIC_KEY_START = "-----BEGIN PUBLIC KEY-----";
		const DEFAULT_RSA_KEY_SIZE = 2048;
		const DEFAULT_IS_PUBLIC_KEY = false;
		const DEFAULT_RSA_ENCRYPT_PADDING = RSA_PADDING_OAEP;
		const DEFAULT_RSA_SIGN_PADDING = RSA_PADDING_PSS;
		const DEFAULT_RSA_HASH_ALGO = "SHA256";
		const RSA_HASH_ALGOS = new Map([
			["MD5", MD5],
			["SHA1", SHA1],
			["SHA224", SHA224],
			["SHA256", SHA256],
			["SHA384", SHA384],
			["SHA512", SHA512],
			["RIPEMD160", RIPEMD160]
		]);
		class RSAAlgo {
			/**
			* Update the key of RSA. The input can be a path to the private/public key file, or the key size in bits
			*
			* @param keyFilePathOrKeySize {string | number} the key file path or key size in bytes, set as 2048 bits as default
			* @param isPublicKey true if the input key file is a public key file
			*/
			updateRsaKey(keyFilePathOrKeySize = DEFAULT_RSA_KEY_SIZE, isPublicKey = DEFAULT_IS_PUBLIC_KEY) {
				parameterCheck(keyFilePathOrKeySize, "RSA keyFilePathOrKeySize", ["number", "string"]);
				if (keyFilePathOrKeySize === RSAAlgo.keyFilePathOrKeySize && isPublicKey == RSAAlgo.isPublicKey) {
					return;
				}
				RSAAlgo.keyFilePathOrKeySize = keyFilePathOrKeySize;
				RSAAlgo.isPublicKey = isPublicKey;
				RSAAlgo.keyChanged = true;
			}
			static async loadWasm() {
				if (RSAAlgo.wasm) {
					return RSAAlgo.wasm;
				}
				[...RSA_HASH_ALGOS.values()].map(async (hash) => await hash.loadWasm());
				await init();
				RSAAlgo.wasm = true;
				return RSAAlgo.wasm;
			}
			async loadWasm() {
				return RSAAlgo.loadWasm();
			}
			/**
			* Constructor of RSAAlgo
			*
			* @param keyFilePathOrKeySize {string | number} the key file path or key size in bytes, set as 2048 bits as default
			* @param cfg {object} the config for rsa
			*/
			constructor(keyFilePathOrKeySize, cfg) {
				this.resetConfig();
				this.updateRsaKey(keyFilePathOrKeySize);
				this.updateConfig(cfg);
			}
			/**
			* Reset configs to default values
			*/
			resetConfig() {
				this.updateRsaKey(DEFAULT_RSA_KEY_SIZE, DEFAULT_IS_PUBLIC_KEY);
				this.updateEncryptPadding(DEFAULT_RSA_ENCRYPT_PADDING);
				this.updateSignPadding(DEFAULT_RSA_SIGN_PADDING);
				this.updateHashAlgo(DEFAULT_RSA_HASH_ALGO);
			}
			/**
			* Update the config for rsa. The configs of RSA are:
			* encryptPadding: encrypt padding mode, values may be 'OAEP'(default)/'PKCS1V15'
			* signPadding: sign padding mode, values may be 'PSS'(default)/'PKCS1V15'
			* hashAlgo: hasher for encryption and sign, values may be 'sha256'(default)/'md5'/'sha1'/'sha224'/'sha384'/'sha512'/'ripemd160'
			* key: can be path to the RSA key file(string), the content of RSA key(string), or the size of the RSA key(number)
			* isPublicKey: true if the cfg.key is the RSA public key
			*
			* @param cfg {object} the config for rsa
			*/
			updateConfig(cfg) {
				if (cfg !== undefined) {
					if (cfg.encryptPadding !== undefined && typeof cfg.encryptPadding === "string") {
						this.updateEncryptPadding(cfg.encryptPadding.toUpperCase());
					}
					if (cfg.signPadding !== undefined && typeof cfg.signPadding === "string") {
						this.updateSignPadding(cfg.signPadding.toUpperCase());
					}
					if (cfg.hashAlgo !== undefined && typeof cfg.hashAlgo === "string") {
						this.updateHashAlgo(cfg.hashAlgo.toUpperCase());
					}
					if (cfg.key !== undefined) {
						this.updateRsaKey(cfg.key, cfg.isPublicKey);
					}
				}
			}
			/**
			* init keys from key file or key size
			*/
			initKeys() {
				if (!RSAAlgo.wasm) {
					throw new Error("WASM is not loaded yet. 'RSAAlgo.loadWasm' should be called first");
				}
				if (!RSAAlgo.keyChanged && (this.RsaPrivate !== undefined || this.RsaPublic != undefined)) {
					return;
				}
				if (RSAAlgo.keyFilePathOrKeySize === undefined) {
					this.initFromKeySize(DEFAULT_RSA_KEY_SIZE);
					RSAAlgo.keyChanged = false;
					return;
				}
				if (typeof RSAAlgo.keyFilePathOrKeySize === "number") {
					this.initFromKeySize(RSAAlgo.keyFilePathOrKeySize);
					RSAAlgo.keyChanged = false;
					return;
				}
				if (typeof RSAAlgo.keyFilePathOrKeySize === "string") {
					if (this.isRsaKeyContent(RSAAlgo.keyFilePathOrKeySize)) {
						this.initFromKeyContent(RSAAlgo.keyFilePathOrKeySize, RSAAlgo.isPublicKey);
					} else {
						this.initFromKeyFile(RSAAlgo.keyFilePathOrKeySize, RSAAlgo.isPublicKey);
					}
					RSAAlgo.keyChanged = false;
					return;
				}
				this.initFromKeySize(DEFAULT_RSA_KEY_SIZE);
				RSAAlgo.keyChanged = false;
			}
			/**
			* Return true if the given string is a rsa key content
			*
			* @param content the input content
			* @returns {boolean} true if the given string is a rsa key content
			*/
			isRsaKeyContent(content) {
				if (content.startsWith(RSA_PRIVATE_KEY_START) || content.startsWith(RSA_PUBLIC_KEY_START)) {
					return true;
				}
				return false;
			}
			/**
			* Init rsa keys with given key content
			*
			* @param keyContent the input key content
			* @param isPublicKey true if the input content is a public content
			*/
			initFromKeyContent(keyContent, isPublicKey = DEFAULT_IS_PUBLIC_KEY) {
				isPublicKey ? this.initWithPublicKey(new RsaPublic(keyContent)) : this.initWithPrivateKey(new RsaPrivate(null, keyContent));
			}
			/**
			* Init rsa keys with given key file
			* @param path the input key file path
			* @param isPublicKey true if the input key file is a public key file
			*/
			initFromKeyFile(path, isPublicKey = DEFAULT_IS_PUBLIC_KEY) {
				this.errorIfInBrowser();
				if (!RSAAlgo.wasm) {
					throw new Error("WASM is not loaded yet. 'RSAAlgo.loadWasm' should be called first");
				}
				const fs = __require("fs");
				if (!fs.existsSync(path)) {
					throw new Error("Can not find the key file in path :\n" + path);
				}
				const keyContent = fs.readFileSync(path, {
					encoding: "utf-8",
					flag: "r"
				});
				this.initFromKeyContent(keyContent, isPublicKey);
			}
			/**
			* Init rsa keys with given key size
			* @param bits key size in bytes
			*/
			initFromKeySize(bits) {
				if (!RSAAlgo.wasm) {
					throw new Error("WASM is not loaded yet. 'RSAAlgo.loadWasm' should be called first");
				}
				this.initWithPrivateKey(new RsaPrivate(bits));
			}
			/**
			* Update encrypt padding of RSA.
			* Valid values are 'OAEP', 'PKCS1V15'
			*
			* @param encryptPadding new padding mode of RSA encrypt
			*/
			updateEncryptPadding(encryptPadding) {
				parameterCheck(encryptPadding, "RSA encryption padding mode", "string", RSA_PADDING_OAEP, RSA_PADDING_PKCS1V15);
				this.encryptPadding = encryptPadding;
			}
			/**
			* Update sign padding of RSA.
			* Valid values are 'PSS', 'PKCS1V15'
			*
			* @param signPadding new padding mode of RSA sign
			*/
			updateSignPadding(signPadding) {
				parameterCheck(signPadding, "RSA sign padding mode", "string", RSA_PADDING_PSS, RSA_PADDING_PKCS1V15);
				this.signPadding = signPadding;
			}
			/**
			* Update hash algorithm of RSA.
			* Valid values are 'MD5', 'SHA1', 'SHA224', 'SHA256', 'SHA384', 'SHA512', 'RIPEMD160'
			*
			* @param hashAlgo new hash algorithm of RSA
			*/
			updateHashAlgo(hashAlgo) {
				parameterCheck(hashAlgo, "RSA hasher", "string", "MD5", "SHA1", "SHA224", "SHA256", "SHA384", "SHA512", "RIPEMD160");
				this.hashAlgo = hashAlgo;
			}
			/**
			* Initial RSA keys using public key
			*
			* @param publicKey the pointer to the new RSA public key
			*/
			initWithPublicKey(publicKey) {
				if (!RSAAlgo.wasm) {
					throw new Error("WASM is not loaded yet. 'RSAAlgo.loadWasm' should be called first");
				}
				this.RsaPublic = publicKey;
				this.RsaPrivate = null;
			}
			/**
			* Initial RSA keys using private key
			*
			* @param publicKey the pointer to the new RSA private key
			*/
			initWithPrivateKey(privateKey) {
				if (!RSAAlgo.wasm) {
					throw new Error("WASM is not loaded yet. 'RSAAlgo.loadWasm' should be called first");
				}
				if (privateKey === undefined) {
					privateKey = new RsaPrivate(DEFAULT_RSA_KEY_SIZE);
				}
				const publicKey = new RsaPublic(privateKey.getPublicKeyPem());
				this.RsaPrivate = privateKey;
				this.RsaPublic = publicKey;
			}
			/**
			* Encrypt the given message
			*
			* @param {string | Uint8Array} msg the original message
			* @param {object} cfg RSA configurations
			* @returns {Uint8Array} the encrypted message
			*/
			encrypt(msg, cfg) {
				this.updateConfig(cfg);
				this.initKeys();
				const msgInBytes = this.strToBytes(msg);
				this.errorIfExceedSizeLimit(msgInBytes, "encrypt");
				return this.RsaPublic.encrypt(msgInBytes, this.encryptPadding, this.hashAlgo);
			}
			/**
			* Decrypt the given message
			*
			* @param {Uint8Array} msgEncrypted the encrypted message
			* @param {object} cfg RSA configurations
			* @returns {Uint8Array} the decrypted message
			*/
			decrypt(msgEncrypted, cfg) {
				this.updateConfig(cfg);
				this.errorIfNoPrivateInstance();
				this.initKeys();
				let result;
				try {
					result = this.RsaPrivate.decrypt(msgEncrypted, this.encryptPadding, this.hashAlgo);
				} catch (e) {
					console.error("Error occurred when decrypting: ", e);
					return null;
				}
				return result;
			}
			/**
			* Generate the digest of the input message according to the specified hash algorithm
			*
			* @param {string} msg input message
			* @param {object} cfg RSA configurations
			* @returns {Uint8Array} the digest of input message
			*/
			digest(msg, cfg) {
				this.updateConfig(cfg);
				let digestAlgo = RSA_HASH_ALGOS.get(this.hashAlgo);
				const digestWords = digestAlgo(msg);
				const digestUint32Array = new Uint32Array(digestWords.words).slice(0, digestWords.sigBytes / 4);
				const digest = new Uint8Array(digestUint32Array.buffer);
				return digest;
			}
			/**
			* RSA sign
			*
			* @param {string | Uint8Array} digest the digest of the message
			* @param {object} cfg RSA configurations
			* @returns {Uint8Array} the rsa signature
			*/
			sign(digest, cfg) {
				this.updateConfig(cfg);
				this.initKeys();
				const digestInBytes = this.strToBytes(digest);
				this.errorIfNoPrivateInstance(digestInBytes, "sign");
				return this.RsaPrivate.sign(digestInBytes, this.signPadding, this.hashAlgo);
			}
			/**
			* Verify the given RSA signature
			*
			* @param {Uint8Array} digest the digest of the message
			* @param {Uint8Array} signature the signature signed using private key
			* @param {object} cfg RSA configurations
			* @returns {boolean} true if signature is valid
			*/
			verify(digest, signature, cfg) {
				this.updateConfig(cfg);
				this.initKeys();
				return this.RsaPublic.verify(digest, signature, this.signPadding, this.hashAlgo);
			}
			/**
			* generate the key file in specific directory
			*
			* @param {string} keyType valid values are 'pairs', 'private', 'public'. Default to be 'pairs'
			* @param {string} fileFmt file type of the generated key file. Valid values are 'pem', 'der'. Default to be 'pem'
			* @param {string} fileName the name of the generated key file
			* @param {string} dir the dir of the generated key file
			*/
			generateKeyFile(keyType = "pairs", fileFmt = "pem", fileName = "key", dir = "./keys") {
				this.initKeys();
				this.errorIfInBrowser();
				keyType = keyType.toLowerCase();
				fileFmt = fileFmt.toLowerCase();
				switch (keyType) {
					case "pairs":
						this.generateKeyFile("private", fileFmt, fileName + "_private", dir);
						this.generateKeyFile("public", fileFmt, fileName + "_public", dir);
						return;
					case "private":
						this.errorIfNoPrivateInstance();
						break;
					case "public": break;
					default: throw TypeError("wrong key type provided. Should be 'pairs', 'private' or 'public'");
				}
				let keyPath = `${dir}/${fileName}.${fileFmt}`;
				let keyContent = this.getKeyContent(keyType, fileFmt);
				const fs = __require("fs");
				if (!fs.existsSync(dir)) {
					fs.mkdirSync(dir);
				}
				fs.writeFileSync(keyPath, keyContent);
			}
			/**
			* Get current key type
			* @returns {string} key type, may be 'public' or 'private'
			*/
			getKeyType() {
				this.initKeys();
				return this.RsaPrivate ? "private" : "public";
			}
			/**
			* Get current key size
			*
			* @returns {number} key size in bytes, e.g. 128 for key pair of 1024 bits
			*/
			getKeySize() {
				this.initKeys();
				return this.RsaPublic.getKeySize();
			}
			/**
			* Get key content based on key type
			*
			* @param keyType the type of key files. Should be "private" or "public"
			* @param keyFmt the encoding scheme. Should be "pem" or "der"
			* @returns {string} the key content
			*/
			getKeyContent(keyType, keyFmt = "pem") {
				this.initKeys();
				if (keyType == "private") {
					this.errorIfNoPrivateInstance();
					return this.RsaPrivate.getPrivateKeyContent(keyFmt);
				}
				if (keyType == "public") {
					return this.RsaPublic.getPublicKeyContent(keyFmt);
				}
				throw TypeError("Key type should be private or public");
			}
			/**
			* String to Uint8Array
			* @param val
			* @returns {Uint8Array|*}
			*/
			strToBytes(val) {
				if (typeof val === "string") {
					let encoder = new TextEncoder();
					return encoder.encode(val);
				}
				return val;
			}
			/**
			* Throws if the input (message/digest) length exceed the limit decided by key size and padding scheme
			*
			* @param input the input message/digest
			* @param op the operation mode. Should be 'encrypt' or 'sign'
			*/
			errorIfExceedSizeLimit(input, op = "encrypt") {
				const keySize = this.getKeySize();
				const hashAlgoOutputSize = RSA_HASH_ALGOS.get(this.hashAlgo).outputSize;
				let inputLimit;
				switch (op) {
					case "encrypt":
						if (this.encryptPadding === RSA_PADDING_OAEP) {
							inputLimit = keySize - 2 * hashAlgoOutputSize - 2;
						} else {
							inputLimit = keySize - 11;
						}
						if (input.length > inputLimit) {
							throw new Error(`The input message is too long (${input.length} bytes). The maximum length is ${inputLimit}`);
						}
						break;
					case "sign":
						if (this.signPadding === RSA_PADDING_PSS) {
							inputLimit = Math.floor((keySize * 8 - 9) / 2 / 8);
						} else {
							inputLimit = keySize - 11;
						}
						if (input.length > inputLimit) {
							throw new Error(`The input message is too long (${input.length} bytes). The maximum length is ${inputLimit}`);
						}
						break;
					default: throw new Error("op should be 'encrypt' or 'sign'");
				}
			}
			/**
			* Throws if private key is not instantiated
			*/
			errorIfNoPrivateInstance() {
				if (this.getKeyType() === "public") {
					throw TypeError("Private key or public key has not been instantiated");
				}
			}
			/**
			* Throws if node-only function is called in browser
			*/
			errorIfInBrowser() {
				if (typeof window !== "undefined" && typeof window.document !== "undefined") {
					throw Error("This function is not supported in browser");
				}
			}
		}
		/**
		* Shortcut of RSAAlgo with an instantiated 2048 bits key pair
		* @name RSA
		* @type {RSAAlgo}
		*
		* @example
		*  // encrypt/decrypt
		*  const msg = "Secret";
		*  const msgEnc = C.RSA.encrypt(msg);
		*  const msgDec = C.RSA.decrypt(msgEnc);
		*
		*  // sign/verify
		*  const digest = C.RSA.digest(msg);
		*  const signature = RSA.sign(dig);
		*  const isVerified = RSA.verify(digest, signature);
		*/
		_defineProperty(RSAAlgo, "wasm", null);
		_defineProperty(RSAAlgo, "keyFilePathOrKeySize", null);
		_defineProperty(RSAAlgo, "isPublicKey", false);
		_defineProperty(RSAAlgo, "keyChanged", false);
		const RSA = {
			rsa: new RSAAlgo(),
			async loadWasm() {
				await RSAAlgo.loadWasm();
			},
			resetConfig() {
				this.rsa.resetConfig();
			},
			updateConfig(cfg) {
				this.rsa.updateConfig(cfg);
			},
			updateRsaKey(keyFilePathOrKeySize, isPublicKey) {
				this.rsa.updateRsaKey(keyFilePathOrKeySize, isPublicKey);
			},
			encrypt(message, cfg) {
				return this.rsa.encrypt(message, cfg);
			},
			decrypt(ciphertext, cfg) {
				return this.rsa.decrypt(ciphertext, cfg);
			},
			digest(message, cfg) {
				return this.rsa.digest(message, cfg);
			},
			sign(digest, cfg) {
				return this.rsa.sign(digest, cfg);
			},
			verify(digest, signature, cfg) {
				return this.rsa.verify(digest, signature, cfg);
			},
			generateKeyFile(keyType, fileFmt, fileName, dir) {
				return this.rsa.generateKeyFile(keyType, fileFmt, fileName, dir);
			},
			getKeyType() {
				return this.rsa.getKeyType();
			},
			getKeySize() {
				return this.rsa.getKeySize();
			},
			getKeyContent(keyType, keyFmt) {
				return this.rsa.getKeyContent(keyType, keyFmt);
			}
		};
		function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) {
			const _words = words;
			let keystream;
			const iv = this._iv;
			if (iv) {
				keystream = iv.slice(0);
				this._iv = undefined;
			} else {
				keystream = this._prevBlock;
			}
			cipher.encryptBlock(keystream, 0);
			for (let i = 0; i < blockSize; i++) {
				_words[offset + i] ^= keystream[i];
			}
		}
		/**
		* Cipher Feedback block mode.
		*/
		class CFB extends BlockCipherMode {
			static Encryptor() {}
		}
		_defineProperty(CFB, "_name", "CFB");
		CFB.Encryptor = class extends CFB {
			processBlock(words, offset) {
				const cipher = this._cipher;
				const { blockSize } = cipher;
				generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);
				this._prevBlock = words.slice(offset, offset + blockSize);
			}
		};
		CFB.Decryptor = class extends CFB {
			processBlock(words, offset) {
				const cipher = this._cipher;
				const { blockSize } = cipher;
				const thisBlock = words.slice(offset, offset + blockSize);
				generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);
				this._prevBlock = thisBlock;
			}
		};
		class CTR extends BlockCipherMode {}
		_defineProperty(CTR, "_name", "CTR");
		CTR.Encryptor = class extends CTR {
			processBlock(words, offset) {
				const _words = words;
				const cipher = this._cipher;
				const { blockSize } = cipher;
				const iv = this._iv;
				let counter = this._counter;
				if (iv) {
					this._counter = iv.slice(0);
					counter = this._counter;
					this._iv = undefined;
				}
				const keystream = counter.slice(0);
				cipher.encryptBlock(keystream, 0);
				counter[blockSize - 1] = counter[blockSize - 1] + 1 | 0;
				for (let i = 0; i < blockSize; i++) {
					_words[offset + i] ^= keystream[i];
				}
			}
		};
		CTR.Decryptor = CTR.Encryptor;
		const incWord = (word) => {
			let _word = word;
			if ((word >> 24 & 255) === 255) {
				let b1 = word >> 16 & 255;
				let b2 = word >> 8 & 255;
				let b3 = word & 255;
				if (b1 === 255) {
					b1 = 0;
					if (b2 === 255) {
						b2 = 0;
						if (b3 === 255) {
							b3 = 0;
						} else {
							b3++;
						}
					} else {
						b2++;
					}
				} else {
					b1++;
				}
				_word = 0;
				_word += b1 << 16;
				_word += b2 << 8;
				_word += b3;
			} else {
				_word += 1 << 24;
			}
			return _word;
		};
		const incCounter = (counter) => {
			const _counter = counter;
			_counter[0] = incWord(_counter[0]);
			if (_counter[0] === 0) {
				_counter[1] = incWord(_counter[1]);
			}
			return _counter;
		};
		/** @preserve
		* Counter block mode compatible with  Dr Brian Gladman fileenc.c
		* derived from CryptoJS.mode.CTR
		* Jan Hruby jhruby.web@gmail.com
		*/
		class CTRGladman extends BlockCipherMode {}
		_defineProperty(CTRGladman, "_name", "CTRGladman");
		CTRGladman.Encryptor = class extends CTRGladman {
			processBlock(words, offset) {
				const _words = words;
				const cipher = this._cipher;
				const { blockSize } = cipher;
				const iv = this._iv;
				let counter = this._counter;
				if (iv) {
					this._counter = iv.slice(0);
					counter = this._counter;
					this._iv = undefined;
				}
				incCounter(counter);
				const keystream = counter.slice(0);
				cipher.encryptBlock(keystream, 0);
				for (let i = 0; i < blockSize; i++) {
					_words[offset + i] ^= keystream[i];
				}
			}
		};
		CTRGladman.Decryptor = CTRGladman.Encryptor;
		class ECB extends BlockCipherMode {}
		_defineProperty(ECB, "_name", "ECB");
		ECB.Encryptor = class extends ECB {
			processBlock(words, offset) {
				this._cipher.encryptBlock(words, offset);
			}
		};
		ECB.Decryptor = class extends ECB {
			processBlock(words, offset) {
				this._cipher.decryptBlock(words, offset);
			}
		};
		class OFB extends BlockCipherMode {}
		_defineProperty(OFB, "_name", "OFB");
		OFB.Encryptor = class extends OFB {
			processBlock(words, offset) {
				const _words = words;
				const cipher = this._cipher;
				const { blockSize } = cipher;
				const iv = this._iv;
				let keystream = this._keystream;
				if (iv) {
					this._keystream = iv.slice(0);
					keystream = this._keystream;
					this._iv = undefined;
				}
				cipher.encryptBlock(keystream, 0);
				for (let i = 0; i < blockSize; i++) {
					_words[offset + i] ^= keystream[i];
				}
			}
		};
		OFB.Decryptor = OFB.Encryptor;
		/**
		* ANSI X.923 padding strategy.
		*/
		const AnsiX923 = {
			pad(data, blockSize) {
				const _data = data;
				const dataSigBytes = _data.sigBytes;
				const blockSizeBytes = blockSize * 4;
				const nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes;
				const lastBytePos = dataSigBytes + nPaddingBytes - 1;
				_data.clamp();
				_data.words[lastBytePos >>> 2] |= nPaddingBytes << 24 - lastBytePos % 4 * 8;
				_data.sigBytes += nPaddingBytes;
			},
			unpad(data) {
				const _data = data;
				const nPaddingBytes = _data.words[_data.sigBytes - 1 >>> 2] & 255;
				_data.sigBytes -= nPaddingBytes;
			}
		};
		/**
		* ISO 10126 padding strategy.
		*/
		const Iso10126 = {
			pad(data, blockSize) {
				const blockSizeBytes = blockSize * 4;
				const nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;
				data.concat(WordArray.random(nPaddingBytes - 1)).concat(new WordArray([nPaddingBytes << 24], 1));
			},
			unpad(data) {
				const _data = data;
				const nPaddingBytes = _data.words[_data.sigBytes - 1 >>> 2] & 255;
				_data.sigBytes -= nPaddingBytes;
			}
		};
		/**
		* Zero padding strategy.
		*/
		const ZeroPadding = {
			pad(data, blockSize) {
				const _data = data;
				const blockSizeBytes = blockSize * 4;
				_data.clamp();
				_data.sigBytes += blockSizeBytes - (data.sigBytes % blockSizeBytes || blockSizeBytes);
			},
			unpad(data) {
				const _data = data;
				const dataWords = _data.words;
				for (let i = _data.sigBytes - 1; i >= 0; i--) {
					if (dataWords[i >>> 2] >>> 24 - i % 4 * 8 & 255) {
						_data.sigBytes = i + 1;
						break;
					}
				}
			}
		};
		/**
		* ISO/IEC 9797-1 Padding Method 2.
		*/
		const Iso97971 = {
			pad(data, blockSize) {
				data.concat(new WordArray([2147483648], 1));
				ZeroPadding.pad(data, blockSize);
			},
			unpad(data) {
				const _data = data;
				ZeroPadding.unpad(_data);
				_data.sigBytes--;
			}
		};
		/**
		* A noop padding strategy.
		*/
		const NoPadding = {
			pad() {},
			unpad() {}
		};
		const HexFormatter = {
			stringify(cipherParams) {
				return cipherParams.ciphertext.toString(Hex);
			},
			parse(input) {
				const ciphertext = Hex.parse(input);
				return new CipherParams({ ciphertext });
			}
		};
		var index = {
			lib: {
				Base,
				WordArray,
				BufferedBlockAlgorithm,
				Hasher,
				Cipher,
				StreamCipher,
				BlockCipherMode,
				BlockCipher,
				CipherParams,
				SerializableCipher,
				PasswordBasedCipher
			},
			x64: {
				Word: X64Word,
				WordArray: X64WordArray
			},
			enc: {
				Hex,
				Latin1,
				Utf8,
				Utf16,
				Utf16BE,
				Utf16LE,
				Base64
			},
			algo: {
				HMAC,
				MD5: MD5Algo,
				SHA1: SHA1Algo,
				SHA224: SHA224Algo,
				SHA256: SHA256Algo,
				SHA384: SHA384Algo,
				SHA512: SHA512Algo,
				SHA3: SHA3Algo,
				RIPEMD160: RIPEMD160Algo,
				PBKDF2: PBKDF2Algo,
				EvpKDF: EvpKDFAlgo,
				AES: AESAlgo,
				Blowfish: BlowfishAlgo,
				DES: DESAlgo,
				TripleDES: TripleDESAlgo,
				Rabbit: RabbitAlgo,
				RabbitLegacy: RabbitLegacyAlgo,
				RC4: RC4Algo,
				RC4Drop: RC4DropAlgo,
				RSA: RSAAlgo
			},
			mode: {
				CBC,
				CFB,
				CTR,
				CTRGladman,
				ECB,
				OFB
			},
			pad: {
				Pkcs7,
				AnsiX923,
				Iso10126,
				Iso97971,
				NoPadding,
				ZeroPadding
			},
			format: {
				OpenSSL: OpenSSLFormatter,
				Hex: HexFormatter
			},
			kdf: { OpenSSL: OpenSSLKdf },
			loadAllWasm,
			MD5,
			HmacMD5,
			SHA1,
			HmacSHA1,
			SHA224,
			HmacSHA224,
			SHA256,
			HmacSHA256,
			SHA384,
			HmacSHA384,
			SHA512,
			HmacSHA512,
			SHA3,
			HmacSHA3,
			RIPEMD160,
			HmacRIPEMD160,
			PBKDF2,
			EvpKDF,
			AES,
			Blowfish,
			DES,
			TripleDES,
			Rabbit,
			RabbitLegacy,
			RC4,
			RC4Drop,
			RSA
		};
		return index;
	}));
}));

//#endregion
//#region ../node_modules/simplecc-wasm/pkg/nodejs/simplecc_wasm.js
var require_simplecc_wasm = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	let imports = {};
	imports["__wbindgen_placeholder__"] = module.exports;
	let wasm;
	const { TextDecoder: TextDecoder$2, TextEncoder: TextEncoder$1 } = __require("util");
	let cachedTextDecoder = new TextDecoder$2("utf-8", {
		ignoreBOM: true,
		fatal: true
	});
	cachedTextDecoder.decode();
	let cachedUint8ArrayMemory0 = null;
	function getUint8ArrayMemory0() {
		if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
			cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
		}
		return cachedUint8ArrayMemory0;
	}
	function getStringFromWasm0(ptr, len) {
		ptr = ptr >>> 0;
		return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
	}
	const heap = new Array(128).fill(undefined);
	heap.push(undefined, null, true, false);
	let heap_next = heap.length;
	function addHeapObject(obj) {
		if (heap_next === heap.length) heap.push(heap.length + 1);
		const idx = heap_next;
		heap_next = heap[idx];
		heap[idx] = obj;
		return idx;
	}
	let WASM_VECTOR_LEN = 0;
	let cachedTextEncoder = new TextEncoder$1("utf-8");
	const encodeString = typeof cachedTextEncoder.encodeInto === "function" ? function(arg, view) {
		return cachedTextEncoder.encodeInto(arg, view);
	} : function(arg, view) {
		const buf = cachedTextEncoder.encode(arg);
		view.set(buf);
		return {
			read: arg.length,
			written: buf.length
		};
	};
	function passStringToWasm0(arg, malloc, realloc) {
		if (realloc === undefined) {
			const buf = cachedTextEncoder.encode(arg);
			const ptr = malloc(buf.length, 1) >>> 0;
			getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);
			WASM_VECTOR_LEN = buf.length;
			return ptr;
		}
		let len = arg.length;
		let ptr = malloc(len, 1) >>> 0;
		const mem = getUint8ArrayMemory0();
		let offset = 0;
		for (; offset < len; offset++) {
			const code = arg.charCodeAt(offset);
			if (code > 127) break;
			mem[ptr + offset] = code;
		}
		if (offset !== len) {
			if (offset !== 0) {
				arg = arg.slice(offset);
			}
			ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;
			const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);
			const ret = encodeString(arg, view);
			offset += ret.written;
			ptr = realloc(ptr, len, offset, 1) >>> 0;
		}
		WASM_VECTOR_LEN = offset;
		return ptr;
	}
	let cachedDataViewMemory0 = null;
	function getDataViewMemory0() {
		if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer) {
			cachedDataViewMemory0 = new DataView(wasm.memory.buffer);
		}
		return cachedDataViewMemory0;
	}
	function getObject(idx) {
		return heap[idx];
	}
	function dropObject(idx) {
		if (idx < 132) return;
		heap[idx] = heap_next;
		heap_next = idx;
	}
	function takeObject(idx) {
		const ret = getObject(idx);
		dropObject(idx);
		return ret;
	}
	/**
	* @param {string} text
	* @param {string} name
	* @returns {string}
	*/
	module.exports.simplecc = function(text, name) {
		let deferred4_0;
		let deferred4_1;
		try {
			const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
			const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
			const len0 = WASM_VECTOR_LEN;
			const ptr1 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
			const len1 = WASM_VECTOR_LEN;
			wasm.simplecc(retptr, ptr0, len0, ptr1, len1);
			var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
			var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
			var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
			var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
			var ptr3 = r0;
			var len3 = r1;
			if (r3) {
				ptr3 = 0;
				len3 = 0;
				throw takeObject(r2);
			}
			deferred4_0 = ptr3;
			deferred4_1 = len3;
			return getStringFromWasm0(ptr3, len3);
		} finally {
			wasm.__wbindgen_add_to_stack_pointer(16);
			wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
		}
	};
	module.exports.__wbindgen_string_new = function(arg0, arg1) {
		const ret = getStringFromWasm0(arg0, arg1);
		return addHeapObject(ret);
	};
	const path$2 = __require("path").join(__dirname, "simplecc_wasm_bg.wasm");
	const bytes = __require("fs").readFileSync(path$2);
	const wasmModule = new WebAssembly.Module(bytes);
	const wasmInstance = new WebAssembly.Instance(wasmModule, imports);
	wasm = wasmInstance.exports;
	module.exports.__wasm = wasm;
}));

//#endregion
//#region ../node_modules/node-sqlite3-wasm/dist/node-sqlite3-wasm.js
var require_node_sqlite3_wasm = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var Module = typeof Module != "undefined" ? Module : {};
	var ENVIRONMENT_IS_NODE = true;
	const INT32_MIN = -2147483648;
	const INT32_MAX = 2147483647;
	const NULL = 0;
	const SQLITE_OK = 0;
	const SQLITE_ROW = 100;
	const SQLITE_DONE = 101;
	const SQLITE_INTEGER = 1;
	const SQLITE_FLOAT = 2;
	const SQLITE_TEXT = 3;
	const SQLITE_BLOB = 4;
	const SQLITE_NULL = 5;
	const SQLITE_UTF8 = 1;
	const SQLITE_TRANSIENT = -1;
	const SQLITE_DETERMINISTIC = 2048;
	let temp;
	const sqlite3 = {};
	Module.onRuntimeInitialized = () => {
		temp = stackAlloc(4);
		const v = null;
		const n = "number";
		const s = "string";
		const n1 = [n];
		const n2 = [n, ...n1];
		const n3 = [n, ...n2];
		const n4 = [n, ...n3];
		const n5 = [n, ...n4];
		const signatures = {
			open_v2: [n, [
				s,
				n,
				n,
				s
			]],
			exec: [n, n5],
			errmsg: [s, n1],
			prepare_v2: [n, n5],
			close_v2: [n, n1],
			finalize: [n, n1],
			reset: [n, n1],
			clear_bindings: [n, n1],
			bind_int: [n, n3],
			bind_int64: [n, n3],
			bind_double: [n, n3],
			bind_text: [n, n5],
			bind_blob: [n, n5],
			bind_blob64: [n, n5],
			bind_null: [n, n2],
			bind_parameter_index: [n, [n, s]],
			step: [n, n1],
			column_int64: [n, n2],
			column_double: [n, n2],
			column_text: [s, n2],
			column_blob: [n, n2],
			column_type: [n, n2],
			column_name: [s, n2],
			column_count: [n, n1],
			column_bytes: [n, n2],
			last_insert_rowid: [n, n1],
			changes: [n, n1],
			create_function_v2: [n, [
				n,
				s,
				n,
				n,
				n,
				n,
				n,
				n,
				n
			]],
			value_type: [n, n1],
			value_text: [s, n1],
			value_blob: [n, n1],
			value_int64: [n, n1],
			value_double: [n, n1],
			value_bytes: [n, n1],
			result_double: [v, n2],
			result_null: [v, n1],
			result_text: [v, n4],
			result_blob: [v, n4],
			result_blob64: [v, n4],
			result_int: [v, n2],
			result_int64: [v, n2],
			result_error: [v, n3],
			column_table_name: [s, n2],
			get_autocommit: [n, n1]
		};
		for (const [name, sig] of Object.entries(signatures)) {
			sqlite3[name] = cwrap(`sqlite3_${name}`, sig[0], sig[1]);
		}
	};
	var SQLite3Error = class extends Error {
		constructor(message) {
			super(message);
			this.name = "SQLite3Error";
		}
	};
	function arrayToHeap(array) {
		const ptr = _malloc(array.byteLength);
		HEAPU8.set(array, ptr);
		return ptr;
	}
	function stringToHeap(str) {
		const size = lengthBytesUTF8(str) + 1;
		const ptr = _malloc(size);
		stringToUTF8(str, ptr, size);
		return ptr;
	}
	function toNumberOrNot(bigInt) {
		if (bigInt >= Number.MIN_SAFE_INTEGER && bigInt <= Number.MAX_SAFE_INTEGER) {
			return Number(bigInt);
		}
		return bigInt;
	}
	function parseFunctionArguments(argc, argv) {
		const args = [];
		for (let i = 0; i < argc; i++) {
			const ptr = getValue(argv + 4 * i, "i32");
			const type = sqlite3.value_type(ptr);
			let arg;
			switch (type) {
				case SQLITE_INTEGER:
					arg = toNumberOrNot(sqlite3.value_int64(ptr));
					break;
				case SQLITE_FLOAT:
					arg = sqlite3.value_double(ptr);
					break;
				case SQLITE_TEXT:
					arg = sqlite3.value_text(ptr);
					break;
				case SQLITE_BLOB:
					const p = sqlite3.value_blob(ptr);
					if (p != NULL) {
						arg = HEAPU8.slice(p, p + sqlite3.value_bytes(ptr));
					} else {
						arg = new Uint8Array();
					}
					break;
				case SQLITE_NULL:
					arg = null;
					break;
			}
			args.push(arg);
		}
		return args;
	}
	function setFunctionResult(cx, result) {
		switch (typeof result) {
			case "boolean":
				sqlite3.result_int(cx, result ? 1 : 0);
				break;
			case "number":
				if (Number.isSafeInteger(result)) {
					if (result >= INT32_MIN && result <= INT32_MAX) {
						sqlite3.result_int(cx, result);
					} else {
						sqlite3.result_int64(cx, BigInt(result));
					}
				} else {
					sqlite3.result_double(cx, result);
				}
				break;
			case "bigint":
				sqlite3.result_int64(cx, result);
				break;
			case "string":
				const tempPtr = stringToHeap(result);
				sqlite3.result_text(cx, tempPtr, -1, SQLITE_TRANSIENT);
				_free(tempPtr);
				break;
			case "object":
				if (result === null) {
					sqlite3.result_null(cx);
				} else if (result instanceof Uint8Array) {
					const tempPtr = arrayToHeap(result);
					if (result.byteLength <= INT32_MAX) {
						sqlite3.result_blob(cx, tempPtr, result.byteLength, SQLITE_TRANSIENT);
					} else {
						sqlite3.result_blob64(cx, tempPtr, BigInt(result.byteLength), SQLITE_TRANSIENT);
					}
					_free(tempPtr);
				} else {
					throw new SQLite3Error(`Unsupported type for function result: "${typeof result}"`);
				}
				break;
			default: throw new SQLite3Error(`Unsupported type for function result: "${typeof result}"`);
		}
	}
	var Database = class {
		constructor(filename, { fileMustExist = false, readOnly = false } = {}) {
			let flags;
			if (readOnly) {
				flags = SQLITE_OPEN_READONLY;
			} else {
				flags = SQLITE_OPEN_READWRITE;
				if (!fileMustExist) flags |= SQLITE_OPEN_CREATE;
			}
			const rc = sqlite3.open_v2(filename, temp, flags, NULL);
			this._ptr = getValue(temp, "i32");
			if (rc !== SQLITE_OK) {
				if (this._ptr !== NULL) sqlite3.close_v2(this._ptr);
				throw new SQLite3Error(`Could not open the database "${filename}"`);
			}
			this._functions = new Map();
		}
		get isOpen() {
			return this._ptr !== null;
		}
		get inTransaction() {
			this._assertOpen();
			return sqlite3.get_autocommit(this._ptr) === 0;
		}
		close() {
			this._assertOpen();
			for (const func of this._functions.values()) removeFunction(func);
			this._functions.clear();
			this._handleError(sqlite3.close_v2(this._ptr));
			this._ptr = null;
		}
		function(name, func, { deterministic = false } = {}) {
			this._assertOpen();
			function wrappedFunc(cx, argc, argv) {
				const args = parseFunctionArguments(argc, argv);
				let result;
				try {
					result = func.apply(null, args);
				} catch (err) {
					const tempPtr = stringToHeap(err.toString());
					sqlite3.result_error(cx, tempPtr, -1);
					_free(tempPtr);
					return;
				}
				setFunctionResult(cx, result);
			}
			if (this._functions.has(name)) {
				removeFunction(this._functions.get(name));
				this._functions.delete(name);
			}
			const funcPtr = addFunction(wrappedFunc, "viii");
			this._functions.set(name, funcPtr);
			let eTextRep = SQLITE_UTF8;
			if (deterministic) eTextRep |= SQLITE_DETERMINISTIC;
			this._handleError(sqlite3.create_function_v2(this._ptr, name, func.length, eTextRep, NULL, funcPtr, NULL, NULL, NULL));
			return this;
		}
		exec(sql) {
			this._assertOpen();
			const tempPtr = stringToHeap(sql);
			try {
				this._handleError(sqlite3.exec(this._ptr, tempPtr, NULL, NULL, NULL));
			} finally {
				_free(tempPtr);
			}
		}
		prepare(sql) {
			this._assertOpen();
			return new Statement(this, sql);
		}
		run(sql, values) {
			const stmt = this.prepare(sql);
			try {
				return stmt.run(values);
			} finally {
				stmt.finalize();
			}
		}
		all(sql, values, { expand = false } = {}) {
			return this._query(sql, values, false, expand);
		}
		get(sql, values, { expand = false } = {}) {
			return this._query(sql, values, true, expand);
		}
		_query(sql, values, single, expand) {
			const stmt = this.prepare(sql);
			try {
				if (single) {
					return stmt.get(values, { expand });
				} else {
					return stmt.all(values, { expand });
				}
			} finally {
				stmt.finalize();
			}
		}
		_assertOpen() {
			if (!this.isOpen) throw new SQLite3Error("Database already closed");
		}
		_handleError(returnCode) {
			if (returnCode !== SQLITE_OK) throw new SQLite3Error(sqlite3.errmsg(this._ptr));
		}
	};
	var Statement = class {
		constructor(db, sql) {
			const tempPtr = stringToHeap(sql);
			try {
				db._handleError(sqlite3.prepare_v2(db._ptr, tempPtr, -1, temp, NULL));
			} finally {
				_free(tempPtr);
			}
			this._ptr = getValue(temp, "i32");
			if (this._ptr === NULL) throw new SQLite3Error("Nothing to prepare");
			this._db = db;
		}
		get database() {
			return this._db;
		}
		get isFinalized() {
			return this._ptr === null;
		}
		run(values) {
			this._assertReady();
			this._bind(values);
			this._step();
			return {
				changes: sqlite3.changes(this._db._ptr),
				lastInsertRowid: toNumberOrNot(sqlite3.last_insert_rowid(this._db._ptr))
			};
		}
		iterate(values, { expand = false } = {}) {
			return this._queryRows(values, expand);
		}
		all(values, { expand = false } = {}) {
			return Array.from(this.iterate(values, { expand }));
		}
		get(values, { expand = false } = {}) {
			const result = this._queryRows(values, expand).next();
			return result.done ? null : result.value;
		}
		finalize() {
			if (this.isFinalized) throw new SQLite3Error("Statement already finalized");
			try {
				this._db._handleError(sqlite3.finalize(this._ptr));
			} finally {
				this._ptr = null;
			}
		}
		_reset() {
			return sqlite3.clear_bindings(this._ptr) === SQLITE_OK && sqlite3.reset(this._ptr) === SQLITE_OK;
		}
		*_queryRows(values, expand) {
			this._assertReady();
			this._bind(values);
			const columns = this._getColumnNames();
			while (this._step()) yield this._getRow(columns, expand);
		}
		_bind(values) {
			if (!this._reset()) {
				throw new SQLite3Error("Could not reset statement prior to binding new values");
			}
			if (Array.isArray(values)) {
				this._bindArray(values);
			} else if (values != null && typeof values === "object") {
				this._bindObject(values);
			} else if (typeof values !== "undefined") {
				this._bindValue(values, 1);
			}
		}
		_step() {
			const ret = sqlite3.step(this._ptr);
			switch (ret) {
				case SQLITE_ROW: return true;
				case SQLITE_DONE: return false;
				default: this._db._handleError(ret);
			}
		}
		_getRow(columns, expand) {
			const row = {};
			for (let i = 0; i < columns.length; i++) {
				let v;
				const colType = sqlite3.column_type(this._ptr, i);
				switch (colType) {
					case SQLITE_INTEGER:
						v = toNumberOrNot(sqlite3.column_int64(this._ptr, i));
						break;
					case SQLITE_FLOAT:
						v = sqlite3.column_double(this._ptr, i);
						break;
					case SQLITE_TEXT:
						v = sqlite3.column_text(this._ptr, i);
						break;
					case SQLITE_BLOB:
						const p = sqlite3.column_blob(this._ptr, i);
						if (p != NULL) {
							v = HEAPU8.slice(p, p + sqlite3.column_bytes(this._ptr, i));
						} else {
							v = new Uint8Array();
						}
						break;
					case SQLITE_NULL:
						v = null;
						break;
				}
				const column = columns[i];
				if (expand) {
					let table = sqlite3.column_table_name(this._ptr, i);
					table = table === "" ? "$" : table;
					if (Object.hasOwn(row, table)) {
						row[table][column] = v;
					} else {
						row[table] = { [column]: v };
					}
				} else {
					row[column] = v;
				}
			}
			return row;
		}
		_getColumnNames() {
			const names = [];
			const columns = sqlite3.column_count(this._ptr);
			for (let i = 0; i < columns; i++) names.push(sqlite3.column_name(this._ptr, i));
			return names;
		}
		_bindArray(values) {
			for (let i = 0; i < values.length; i++) this._bindValue(values[i], i + 1);
		}
		_bindObject(values) {
			for (const [param, value] of Object.entries(values)) {
				const i = sqlite3.bind_parameter_index(this._ptr, param);
				if (i === 0) throw new SQLite3Error(`Unknown binding parameter: "${param}"`);
				this._bindValue(value, i);
			}
		}
		_bindValue(value, position) {
			let ret;
			switch (typeof value) {
				case "string":
					const tempPtr = stringToHeap(value);
					ret = sqlite3.bind_text(this._ptr, position, tempPtr, -1, SQLITE_TRANSIENT);
					_free(tempPtr);
					break;
				case "number":
					if (Number.isSafeInteger(value)) {
						if (value >= INT32_MIN && value <= INT32_MAX) {
							ret = sqlite3.bind_int(this._ptr, position, value);
						} else {
							ret = sqlite3.bind_int64(this._ptr, position, BigInt(value));
						}
					} else {
						ret = sqlite3.bind_double(this._ptr, position, value);
					}
					break;
				case "bigint":
					ret = sqlite3.bind_int64(this._ptr, position, value);
					break;
				case "boolean":
					ret = sqlite3.bind_int(this._ptr, position, value ? 1 : 0);
					break;
				case "object":
					if (value === null) {
						ret = sqlite3.bind_null(this._ptr, position);
					} else if (value instanceof Uint8Array) {
						const tempPtr = arrayToHeap(value);
						if (value.byteLength <= INT32_MAX) {
							ret = sqlite3.bind_blob(this._ptr, position, tempPtr, value.byteLength, SQLITE_TRANSIENT);
						} else {
							ret = sqlite3.bind_blob64(this._ptr, position, tempPtr, BigInt(value.byteLength), SQLITE_TRANSIENT);
						}
						_free(tempPtr);
					} else {
						throw new SQLite3Error(`Unsupported type for binding: "${typeof value}"`);
					}
					break;
				default: throw new SQLite3Error(`Unsupported type for binding: "${typeof value}"`);
			}
			if (ret !== SQLITE_OK) this._db._handleError(ret);
		}
		_assertReady() {
			if (this.isFinalized) throw new SQLite3Error("Statement already finalized");
			if (!this._db.isOpen) throw new SQLite3Error("Database is closed");
		}
	};
	Module.Database = Database;
	Module.SQLite3Error = SQLite3Error;
	const path$1 = __require("node:path");
	const crypto$2 = __require("node:crypto");
	const SQLITE_CANTOPEN = 14;
	const SQLITE_IOERR_READ = 266;
	const SQLITE_IOERR_SHORT_READ = 522;
	const SQLITE_IOERR_FSYNC = 1034;
	const SQLITE_IOERR_WRITE = 778;
	const SQLITE_IOERR_DELETE = 2570;
	const SQLITE_IOERR_CLOSE = 4106;
	const SQLITE_IOERR_TRUNCATE = 1546;
	const SQLITE_IOERR_FSTAT = 1802;
	const SQLITE_IOERR_LOCK = 3850;
	const SQLITE_IOERR_UNLOCK = 2058;
	const SQLITE_OPEN_READONLY = 1;
	const SQLITE_OPEN_READWRITE = 2;
	const SQLITE_OPEN_CREATE = 4;
	const SQLITE_OPEN_EXCLUSIVE = 16;
	const SQLITE_ACCESS_READWRITE = 1;
	const SQLITE_ACCESS_READ = 2;
	const SQLITE_LOCK_NONE = 0;
	const SQLITE_BUSY = 5;
	function _fd(fileInfo) {
		return getValue(fileInfo + 4, "i32");
	}
	function _isLocked(fileInfo) {
		return getValue(fileInfo + 8, "i32") != 0;
	}
	function _setLocked(fileInfo, locked) {
		setValue(fileInfo + 8, locked ? 1 : 0, "i32");
	}
	function _path(fileInfo) {
		return UTF8ToString(getValue(fileInfo + 12, "i32"));
	}
	function _safeInt(bigInt) {
		if (bigInt < Number.MIN_SAFE_INTEGER || bigInt > Number.MAX_SAFE_INTEGER) throw 0;
		return Number(bigInt);
	}
	var arguments_ = [];
	var thisProgram = "./this.program";
	var quit_ = (status, toThrow) => {
		throw toThrow;
	};
	var _scriptName;
	if (typeof __filename != "undefined") {
		_scriptName = __filename;
	} else {}
	var scriptDirectory = "";
	function locateFile(path) {
		if (Module["locateFile"]) {
			return Module["locateFile"](path, scriptDirectory);
		}
		return scriptDirectory + path;
	}
	var readAsync, readBinary;
	if (ENVIRONMENT_IS_NODE) {
		var fs$2 = __require("fs");
		scriptDirectory = __dirname + "/";
		readBinary = (filename) => {
			filename = isFileURI(filename) ? new URL(filename) : filename;
			var ret = fs$2.readFileSync(filename);
			return ret;
		};
		readAsync = async (filename, binary = true) => {
			filename = isFileURI(filename) ? new URL(filename) : filename;
			var ret = fs$2.readFileSync(filename, binary ? undefined : "utf8");
			return ret;
		};
		if (process.argv.length > 1) {
			thisProgram = process.argv[1].replace(/\\/g, "/");
		}
		arguments_ = process.argv.slice(2);
		if (typeof module != "undefined") {
			module["exports"] = Module;
		}
		quit_ = (status, toThrow) => {
			process.exitCode = status;
			throw toThrow;
		};
	} else {}
	var out = console.log.bind(console);
	var err = console.error.bind(console);
	var wasmBinary;
	var ABORT = false;
	var EXITSTATUS;
	var isFileURI = (filename) => filename.startsWith("file://");
	var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
	var HEAP64, HEAPU64;
	var runtimeInitialized = false;
	function updateMemoryViews() {
		var b = wasmMemory.buffer;
		HEAP8 = new Int8Array(b);
		HEAP16 = new Int16Array(b);
		HEAPU8 = new Uint8Array(b);
		HEAPU16 = new Uint16Array(b);
		HEAP32 = new Int32Array(b);
		HEAPU32 = new Uint32Array(b);
		HEAPF32 = new Float32Array(b);
		HEAPF64 = new Float64Array(b);
		HEAP64 = new BigInt64Array(b);
		HEAPU64 = new BigUint64Array(b);
	}
	function preRun() {
		if (Module["preRun"]) {
			if (typeof Module["preRun"] == "function") Module["preRun"] = [Module["preRun"]];
			while (Module["preRun"].length) {
				addOnPreRun(Module["preRun"].shift());
			}
		}
		callRuntimeCallbacks(onPreRuns);
	}
	function initRuntime() {
		runtimeInitialized = true;
		wasmExports["z"]();
	}
	function postRun() {
		if (Module["postRun"]) {
			if (typeof Module["postRun"] == "function") Module["postRun"] = [Module["postRun"]];
			while (Module["postRun"].length) {
				addOnPostRun(Module["postRun"].shift());
			}
		}
		callRuntimeCallbacks(onPostRuns);
	}
	function abort(what) {
		Module["onAbort"]?.(what);
		what = "Aborted(" + what + ")";
		err(what);
		ABORT = true;
		what += ". Build with -sASSERTIONS for more info.";
		var e = new WebAssembly.RuntimeError(what);
		throw e;
	}
	var wasmBinaryFile;
	function findWasmBinary() {
		return locateFile("node-sqlite3-wasm.wasm");
	}
	function getBinarySync(file) {
		if (file == wasmBinaryFile && wasmBinary) {
			return new Uint8Array(wasmBinary);
		}
		if (readBinary) {
			return readBinary(file);
		}
		throw "sync fetching of the wasm failed: you can preload it to Module[\"wasmBinary\"] manually, or emcc.py will do that for you when generating HTML (but not JS)";
	}
	function instantiateSync(file, info) {
		var module$1;
		var binary = getBinarySync(file);
		module$1 = new WebAssembly.Module(binary);
		var instance = new WebAssembly.Instance(module$1, info);
		return [instance, module$1];
	}
	function getWasmImports() {
		return { a: wasmImports };
	}
	function createWasm() {
		function receiveInstance(instance, module$2) {
			wasmExports = instance.exports;
			assignWasmExports(wasmExports);
			updateMemoryViews();
			return wasmExports;
		}
		var info = getWasmImports();
		if (Module["instantiateWasm"]) {
			return new Promise((resolve, reject) => {
				Module["instantiateWasm"](info, (inst, mod) => {
					resolve(receiveInstance(inst, mod));
				});
			});
		}
		wasmBinaryFile ??= findWasmBinary();
		var result = instantiateSync(wasmBinaryFile, info);
		return receiveInstance(result[0]);
	}
	var ExitStatus = class {
		name = "ExitStatus";
		constructor(status) {
			this.message = `Program terminated with exit(${status})`;
			this.status = status;
		}
	};
	var callRuntimeCallbacks = (callbacks) => {
		while (callbacks.length > 0) {
			callbacks.shift()(Module);
		}
	};
	var onPostRuns = [];
	var addOnPostRun = (cb) => onPostRuns.push(cb);
	var onPreRuns = [];
	var addOnPreRun = (cb) => onPreRuns.push(cb);
	function getValue(ptr, type = "i8") {
		if (type.endsWith("*")) type = "*";
		switch (type) {
			case "i1": return HEAP8[ptr];
			case "i8": return HEAP8[ptr];
			case "i16": return HEAP16[ptr >> 1];
			case "i32": return HEAP32[ptr >> 2];
			case "i64": return HEAP64[ptr >> 3];
			case "float": return HEAPF32[ptr >> 2];
			case "double": return HEAPF64[ptr >> 3];
			case "*": return HEAPU32[ptr >> 2];
			default: abort(`invalid type for getValue: ${type}`);
		}
	}
	var noExitRuntime = true;
	function setValue(ptr, value, type = "i8") {
		if (type.endsWith("*")) type = "*";
		switch (type) {
			case "i1":
				HEAP8[ptr] = value;
				break;
			case "i8":
				HEAP8[ptr] = value;
				break;
			case "i16":
				HEAP16[ptr >> 1] = value;
				break;
			case "i32":
				HEAP32[ptr >> 2] = value;
				break;
			case "i64":
				HEAP64[ptr >> 3] = BigInt(value);
				break;
			case "float":
				HEAPF32[ptr >> 2] = value;
				break;
			case "double":
				HEAPF64[ptr >> 3] = value;
				break;
			case "*":
				HEAPU32[ptr >> 2] = value;
				break;
			default: abort(`invalid type for setValue: ${type}`);
		}
	}
	var stackRestore = (val) => __emscripten_stack_restore(val);
	var stackSave = () => _emscripten_stack_get_current();
	var __abort_js = () => abort("");
	var runtimeKeepaliveCounter = 0;
	var __emscripten_runtime_keepalive_clear = () => {
		noExitRuntime = false;
		runtimeKeepaliveCounter = 0;
	};
	var isLeapYear = (year) => year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
	var MONTH_DAYS_LEAP_CUMULATIVE = [
		0,
		31,
		60,
		91,
		121,
		152,
		182,
		213,
		244,
		274,
		305,
		335
	];
	var MONTH_DAYS_REGULAR_CUMULATIVE = [
		0,
		31,
		59,
		90,
		120,
		151,
		181,
		212,
		243,
		273,
		304,
		334
	];
	var ydayFromDate = (date) => {
		var leap = isLeapYear(date.getFullYear());
		var monthDaysCumulative = leap ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE;
		var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;
		return yday;
	};
	var INT53_MAX = 9007199254740992;
	var INT53_MIN = -9007199254740992;
	var bigintToI53Checked = (num) => num < INT53_MIN || num > INT53_MAX ? NaN : Number(num);
	function __localtime_js(time, tmPtr) {
		time = bigintToI53Checked(time);
		var date = new Date(time * 1e3);
		HEAP32[tmPtr >> 2] = date.getSeconds();
		HEAP32[tmPtr + 4 >> 2] = date.getMinutes();
		HEAP32[tmPtr + 8 >> 2] = date.getHours();
		HEAP32[tmPtr + 12 >> 2] = date.getDate();
		HEAP32[tmPtr + 16 >> 2] = date.getMonth();
		HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;
		HEAP32[tmPtr + 24 >> 2] = date.getDay();
		var yday = ydayFromDate(date) | 0;
		HEAP32[tmPtr + 28 >> 2] = yday;
		HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);
		var start = new Date(date.getFullYear(), 0, 1);
		var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();
		var winterOffset = start.getTimezoneOffset();
		var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;
		HEAP32[tmPtr + 32 >> 2] = dst;
	}
	var timers = {};
	var handleException = (e) => {
		if (e instanceof ExitStatus || e == "unwind") {
			return EXITSTATUS;
		}
		quit_(1, e);
	};
	var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0;
	var _proc_exit = (code) => {
		EXITSTATUS = code;
		if (!keepRuntimeAlive()) {
			Module["onExit"]?.(code);
			ABORT = true;
		}
		quit_(code, new ExitStatus(code));
	};
	var exitJS = (status, implicit) => {
		EXITSTATUS = status;
		_proc_exit(status);
	};
	var _exit = exitJS;
	var maybeExit = () => {
		if (!keepRuntimeAlive()) {
			try {
				_exit(EXITSTATUS);
			} catch (e) {
				handleException(e);
			}
		}
	};
	var callUserCallback = (func) => {
		if (ABORT) {
			return;
		}
		try {
			func();
			maybeExit();
		} catch (e) {
			handleException(e);
		}
	};
	var _emscripten_get_now = () => performance.now();
	var __setitimer_js = (which, timeout_ms) => {
		if (timers[which]) {
			clearTimeout(timers[which].id);
			delete timers[which];
		}
		if (!timeout_ms) return 0;
		var id = setTimeout(() => {
			delete timers[which];
			callUserCallback(() => __emscripten_timeout(which, _emscripten_get_now()));
		}, timeout_ms);
		timers[which] = {
			id,
			timeout_ms
		};
		return 0;
	};
	var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => {
		if (!(maxBytesToWrite > 0)) return 0;
		var startIdx = outIdx;
		var endIdx = outIdx + maxBytesToWrite - 1;
		for (var i = 0; i < str.length; ++i) {
			var u = str.codePointAt(i);
			if (u <= 127) {
				if (outIdx >= endIdx) break;
				heap[outIdx++] = u;
			} else if (u <= 2047) {
				if (outIdx + 1 >= endIdx) break;
				heap[outIdx++] = 192 | u >> 6;
				heap[outIdx++] = 128 | u & 63;
			} else if (u <= 65535) {
				if (outIdx + 2 >= endIdx) break;
				heap[outIdx++] = 224 | u >> 12;
				heap[outIdx++] = 128 | u >> 6 & 63;
				heap[outIdx++] = 128 | u & 63;
			} else {
				if (outIdx + 3 >= endIdx) break;
				heap[outIdx++] = 240 | u >> 18;
				heap[outIdx++] = 128 | u >> 12 & 63;
				heap[outIdx++] = 128 | u >> 6 & 63;
				heap[outIdx++] = 128 | u & 63;
				i++;
			}
		}
		heap[outIdx] = 0;
		return outIdx - startIdx;
	};
	var stringToUTF8 = (str, outPtr, maxBytesToWrite) => stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
	var __tzset_js = (timezone, daylight, std_name, dst_name) => {
		var currentYear = new Date().getFullYear();
		var winter = new Date(currentYear, 0, 1);
		var summer = new Date(currentYear, 6, 1);
		var winterOffset = winter.getTimezoneOffset();
		var summerOffset = summer.getTimezoneOffset();
		var stdTimezoneOffset = Math.max(winterOffset, summerOffset);
		HEAPU32[timezone >> 2] = stdTimezoneOffset * 60;
		HEAP32[daylight >> 2] = Number(winterOffset != summerOffset);
		var extractZone = (timezoneOffset) => {
			var sign = timezoneOffset >= 0 ? "-" : "+";
			var absOffset = Math.abs(timezoneOffset);
			var hours = String(Math.floor(absOffset / 60)).padStart(2, "0");
			var minutes = String(absOffset % 60).padStart(2, "0");
			return `UTC${sign}${hours}${minutes}`;
		};
		var winterName = extractZone(winterOffset);
		var summerName = extractZone(summerOffset);
		if (summerOffset < winterOffset) {
			stringToUTF8(winterName, std_name, 17);
			stringToUTF8(summerName, dst_name, 17);
		} else {
			stringToUTF8(winterName, dst_name, 17);
			stringToUTF8(summerName, std_name, 17);
		}
	};
	var _emscripten_date_now = () => Date.now();
	var getHeapMax = () => 2147483648;
	var alignMemory = (size, alignment) => Math.ceil(size / alignment) * alignment;
	var growMemory = (size) => {
		var oldHeapSize = wasmMemory.buffer.byteLength;
		var pages = (size - oldHeapSize + 65535) / 65536 | 0;
		try {
			wasmMemory.grow(pages);
			updateMemoryViews();
			return 1;
		} catch (e) {}
	};
	var _emscripten_resize_heap = (requestedSize) => {
		var oldSize = HEAPU8.length;
		requestedSize >>>= 0;
		var maxHeapSize = getHeapMax();
		if (requestedSize > maxHeapSize) {
			return false;
		}
		for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
			var overGrownHeapSize = oldSize * (1 + .2 / cutDown);
			overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);
			var newSize = Math.min(maxHeapSize, alignMemory(Math.max(requestedSize, overGrownHeapSize), 65536));
			var replacement = growMemory(newSize);
			if (replacement) {
				return true;
			}
		}
		return false;
	};
	var UTF8Decoder = globalThis.TextDecoder && new TextDecoder();
	var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => {
		var maxIdx = idx + maxBytesToRead;
		if (ignoreNul) return maxIdx;
		while (heapOrArray[idx] && !(idx >= maxIdx)) ++idx;
		return idx;
	};
	var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead, ignoreNul) => {
		var endPtr = findStringEnd(heapOrArray, idx, maxBytesToRead, ignoreNul);
		if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {
			return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));
		}
		var str = "";
		while (idx < endPtr) {
			var u0 = heapOrArray[idx++];
			if (!(u0 & 128)) {
				str += String.fromCharCode(u0);
				continue;
			}
			var u1 = heapOrArray[idx++] & 63;
			if ((u0 & 224) == 192) {
				str += String.fromCharCode((u0 & 31) << 6 | u1);
				continue;
			}
			var u2 = heapOrArray[idx++] & 63;
			if ((u0 & 240) == 224) {
				u0 = (u0 & 15) << 12 | u1 << 6 | u2;
			} else {
				u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63;
			}
			if (u0 < 65536) {
				str += String.fromCharCode(u0);
			} else {
				var ch = u0 - 65536;
				str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
			}
		}
		return str;
	};
	var UTF8ToString = (ptr, maxBytesToRead, ignoreNul) => ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead, ignoreNul) : "";
	function _nodejsAccess(vfs, filePath, flags, outResult) {
		let aflags = fs$2.constants.F_OK;
		if (flags == SQLITE_ACCESS_READWRITE) aflags = fs$2.constants.R_OK | fs$2.constants.W_OK;
		if (flags == SQLITE_ACCESS_READ) aflags = fs$2.constants.R_OK;
		try {
			fs$2.accessSync(UTF8ToString(filePath), aflags);
			setValue(outResult, 1, "i32");
		} catch {
			setValue(outResult, 0, "i32");
		}
		return SQLITE_OK;
	}
	function _nodejsCheckReservedLock(fi, outResult) {
		try {
			fs$2.accessSync(`${_path(fi)}.lock`, fs$2.constants.F_OK);
			setValue(outResult, 1, "i32");
		} catch {
			setValue(outResult, 0, "i32");
		}
		return SQLITE_OK;
	}
	function _nodejsClose(fi) {
		_nodejsUnlock(fi, SQLITE_LOCK_NONE);
		try {
			fs$2.closeSync(_fd(fi));
		} catch {
			return SQLITE_IOERR_CLOSE;
		}
		return SQLITE_OK;
	}
	function _nodejsDelete(vfs, filePath, dirSync) {
		const pathStr = UTF8ToString(filePath);
		try {
			fs$2.unlinkSync(pathStr);
		} catch (err) {
			if (err.code != "ENOENT") return SQLITE_IOERR_DELETE;
		}
		if (dirSync) {
			let fd = -1;
			try {
				fd = fs$2.openSync(path$1.dirname(pathStr), "r");
				fs$2.fsyncSync(fd);
			} catch {
				return SQLITE_IOERR_FSYNC;
			} finally {
				try {
					fs$2.closeSync(fd);
				} catch {
					return SQLITE_IOERR_FSYNC;
				}
			}
		}
		return SQLITE_OK;
	}
	function _nodejsFileSize(fi, outSize) {
		try {
			setValue(outSize, fs$2.fstatSync(_fd(fi)).size, "i64");
		} catch {
			return SQLITE_IOERR_FSTAT;
		}
		return SQLITE_OK;
	}
	function _nodejsFullPathname(vfs, relPath, sizeFullPath, outFullPath) {
		const full = path$1.resolve(UTF8ToString(relPath));
		stringToUTF8(full, outFullPath, sizeFullPath);
		return full.length < sizeFullPath ? SQLITE_OK : SQLITE_CANTOPEN;
	}
	function _nodejsLock(fi, level) {
		if (!_isLocked(fi)) {
			try {
				fs$2.mkdirSync(`${_path(fi)}.lock`);
			} catch (err) {
				return err.code == "EEXIST" ? SQLITE_BUSY : SQLITE_IOERR_LOCK;
			}
			_setLocked(fi, true);
		}
		return SQLITE_OK;
	}
	function _nodejsRandomness(vfs, bytes, outBuffer) {
		const buf = HEAPU8.subarray(outBuffer, outBuffer + bytes);
		crypto$2.randomFillSync(buf);
		return bytes;
	}
	function _nodejsRead(fi, outBuffer, bytes, offset) {
		const buf = HEAPU8.subarray(outBuffer, outBuffer + bytes);
		let bytesRead;
		try {
			bytesRead = fs$2.readSync(_fd(fi), buf, 0, bytes, offset);
		} catch {
			return SQLITE_IOERR_READ;
		}
		if (bytesRead == bytes) {
			return SQLITE_OK;
		} else if (bytesRead >= 0) {
			if (bytesRead < bytes) {
				try {
					buf.fill(0, bytesRead);
				} catch {
					return SQLITE_IOERR_READ;
				}
			}
			return SQLITE_IOERR_SHORT_READ;
		}
		return SQLITE_IOERR_READ;
	}
	function _nodejsSync(fi, flags) {
		try {
			fs$2.fsyncSync(_fd(fi));
		} catch {
			return SQLITE_IOERR_FSYNC;
		}
		return SQLITE_OK;
	}
	function _nodejsTruncate(fi, size) {
		try {
			fs$2.ftruncateSync(_fd(fi), _safeInt(size));
		} catch {
			return SQLITE_IOERR_TRUNCATE;
		}
		return SQLITE_OK;
	}
	function _nodejsUnlock(fi, level) {
		if (level == SQLITE_LOCK_NONE && _isLocked(fi)) {
			try {
				fs$2.rmdirSync(`${_path(fi)}.lock`);
			} catch (err) {
				if (err.code != "ENOENT") return SQLITE_IOERR_UNLOCK;
			}
			_setLocked(fi, false);
		}
		return SQLITE_OK;
	}
	function _nodejsWrite(fi, buffer, bytes, offset) {
		try {
			const bytesWritten = fs$2.writeSync(_fd(fi), HEAPU8.subarray(buffer, buffer + bytes), 0, bytes, _safeInt(offset));
			return bytesWritten != bytes ? SQLITE_IOERR_WRITE : SQLITE_OK;
		} catch {
			return SQLITE_IOERR_WRITE;
		}
	}
	function _nodejs_max_path_length() {
		return process.platform == "win32" ? 260 : 4096;
	}
	function _nodejs_open(filePath, flags, mode) {
		let oflags = 0;
		if (flags & SQLITE_OPEN_EXCLUSIVE) oflags |= fs$2.constants.O_EXCL;
		if (flags & SQLITE_OPEN_CREATE) oflags |= fs$2.constants.O_CREAT;
		if (flags & SQLITE_OPEN_READONLY) oflags |= fs$2.constants.O_RDONLY;
		if (flags & SQLITE_OPEN_READWRITE) oflags |= fs$2.constants.O_RDWR;
		try {
			return fs$2.openSync(UTF8ToString(filePath), oflags, mode);
		} catch {
			return -1;
		}
	}
	var getCFunc = (ident) => {
		var func = Module["_" + ident];
		return func;
	};
	var writeArrayToMemory = (array, buffer) => {
		HEAP8.set(array, buffer);
	};
	var lengthBytesUTF8 = (str) => {
		var len = 0;
		for (var i = 0; i < str.length; ++i) {
			var c = str.charCodeAt(i);
			if (c <= 127) {
				len++;
			} else if (c <= 2047) {
				len += 2;
			} else if (c >= 55296 && c <= 57343) {
				len += 4;
				++i;
			} else {
				len += 3;
			}
		}
		return len;
	};
	var stackAlloc = (sz) => __emscripten_stack_alloc(sz);
	var stringToUTF8OnStack = (str) => {
		var size = lengthBytesUTF8(str) + 1;
		var ret = stackAlloc(size);
		stringToUTF8(str, ret, size);
		return ret;
	};
	var ccall = (ident, returnType, argTypes, args, opts) => {
		var toC = {
			string: (str) => {
				var ret = 0;
				if (str !== null && str !== undefined && str !== 0) {
					ret = stringToUTF8OnStack(str);
				}
				return ret;
			},
			array: (arr) => {
				var ret = stackAlloc(arr.length);
				writeArrayToMemory(arr, ret);
				return ret;
			}
		};
		function convertReturnValue(ret) {
			if (returnType === "string") {
				return UTF8ToString(ret);
			}
			if (returnType === "boolean") return Boolean(ret);
			return ret;
		}
		var func = getCFunc(ident);
		var cArgs = [];
		var stack = 0;
		if (args) {
			for (var i = 0; i < args.length; i++) {
				var converter = toC[argTypes[i]];
				if (converter) {
					if (stack === 0) stack = stackSave();
					cArgs[i] = converter(args[i]);
				} else {
					cArgs[i] = args[i];
				}
			}
		}
		var ret = func(...cArgs);
		function onDone(ret) {
			if (stack !== 0) stackRestore(stack);
			return convertReturnValue(ret);
		}
		ret = onDone(ret);
		return ret;
	};
	var cwrap = (ident, returnType, argTypes, opts) => {
		var numericArgs = !argTypes || argTypes.every((type) => type === "number" || type === "boolean");
		var numericRet = returnType !== "string";
		if (numericRet && numericArgs && !opts) {
			return getCFunc(ident);
		}
		return (...args) => ccall(ident, returnType, argTypes, args, opts);
	};
	var wasmTableMirror = [];
	var getWasmTableEntry = (funcPtr) => {
		var func = wasmTableMirror[funcPtr];
		if (!func) {
			wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr);
		}
		return func;
	};
	var updateTableMap = (offset, count) => {
		if (functionsInTableMap) {
			for (var i = offset; i < offset + count; i++) {
				var item = getWasmTableEntry(i);
				if (item) {
					functionsInTableMap.set(item, i);
				}
			}
		}
	};
	var functionsInTableMap;
	var getFunctionAddress = (func) => {
		if (!functionsInTableMap) {
			functionsInTableMap = new WeakMap();
			updateTableMap(0, wasmTable.length);
		}
		return functionsInTableMap.get(func) || 0;
	};
	var freeTableIndexes = [];
	var getEmptyTableSlot = () => {
		if (freeTableIndexes.length) {
			return freeTableIndexes.pop();
		}
		return wasmTable["grow"](1);
	};
	var setWasmTableEntry = (idx, func) => {
		wasmTable.set(idx, func);
		wasmTableMirror[idx] = wasmTable.get(idx);
	};
	var uleb128EncodeWithLen = (arr) => {
		const n = arr.length;
		return [
			n % 128 | 128,
			n >> 7,
			...arr
		];
	};
	var wasmTypeCodes = {
		i: 127,
		p: 127,
		j: 126,
		f: 125,
		d: 124,
		e: 111
	};
	var generateTypePack = (types) => uleb128EncodeWithLen(Array.from(types, (type) => {
		var code = wasmTypeCodes[type];
		return code;
	}));
	var convertJsFunctionToWasm = (func, sig) => {
		var bytes = Uint8Array.of(0, 97, 115, 109, 1, 0, 0, 0, 1, ...uleb128EncodeWithLen([
			1,
			96,
			...generateTypePack(sig.slice(1)),
			...generateTypePack(sig[0] === "v" ? "" : sig[0])
		]), 2, 7, 1, 1, 101, 1, 102, 0, 0, 7, 5, 1, 1, 102, 0, 0);
		var module$3 = new WebAssembly.Module(bytes);
		var instance = new WebAssembly.Instance(module$3, { e: { f: func } });
		var wrappedFunc = instance.exports["f"];
		return wrappedFunc;
	};
	var addFunction = (func, sig) => {
		var rtn = getFunctionAddress(func);
		if (rtn) {
			return rtn;
		}
		var ret = getEmptyTableSlot();
		try {
			setWasmTableEntry(ret, func);
		} catch (err) {
			if (!(err instanceof TypeError)) {
				throw err;
			}
			var wrapped = convertJsFunctionToWasm(func, sig);
			setWasmTableEntry(ret, wrapped);
		}
		functionsInTableMap.set(func, ret);
		return ret;
	};
	var removeFunction = (index) => {
		functionsInTableMap.delete(getWasmTableEntry(index));
		setWasmTableEntry(index, null);
		freeTableIndexes.push(index);
	};
	{
		if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"];
		if (Module["print"]) out = Module["print"];
		if (Module["printErr"]) err = Module["printErr"];
		if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"];
		if (Module["arguments"]) arguments_ = Module["arguments"];
		if (Module["thisProgram"]) thisProgram = Module["thisProgram"];
		if (Module["preInit"]) {
			if (typeof Module["preInit"] == "function") Module["preInit"] = [Module["preInit"]];
			while (Module["preInit"].length > 0) {
				Module["preInit"].shift()();
			}
		}
	}
	Module["cwrap"] = cwrap;
	Module["addFunction"] = addFunction;
	Module["removeFunction"] = removeFunction;
	var _sqlite3_finalize, _sqlite3_reset, _sqlite3_clear_bindings, _sqlite3_value_blob, _sqlite3_value_text, _sqlite3_value_bytes, _sqlite3_value_double, _sqlite3_value_int64, _sqlite3_value_type, _sqlite3_result_blob, _sqlite3_result_blob64, _sqlite3_result_double, _sqlite3_result_error, _sqlite3_result_int, _sqlite3_result_int64, _sqlite3_result_null, _sqlite3_result_text, _sqlite3_step, _sqlite3_column_count, _sqlite3_column_blob, _sqlite3_column_bytes, _sqlite3_column_double, _sqlite3_column_int64, _sqlite3_column_text, _sqlite3_column_type, _sqlite3_column_name, _sqlite3_column_table_name, _sqlite3_bind_blob, _sqlite3_bind_blob64, _sqlite3_bind_double, _sqlite3_bind_int, _sqlite3_bind_int64, _sqlite3_bind_null, _sqlite3_bind_text, _sqlite3_bind_parameter_index, _sqlite3_exec, _sqlite3_prepare_v2, _sqlite3_errmsg, _sqlite3_last_insert_rowid, _sqlite3_changes, _sqlite3_close_v2, _sqlite3_create_function_v2, _sqlite3_open_v2, _sqlite3_get_autocommit, _malloc, _free, __emscripten_timeout, __emscripten_stack_restore, __emscripten_stack_alloc, _emscripten_stack_get_current, wasmMemory, wasmTable;
	function assignWasmExports(wasmExports) {
		_sqlite3_finalize = Module["_sqlite3_finalize"] = wasmExports["A"];
		_sqlite3_reset = Module["_sqlite3_reset"] = wasmExports["B"];
		_sqlite3_clear_bindings = Module["_sqlite3_clear_bindings"] = wasmExports["C"];
		_sqlite3_value_blob = Module["_sqlite3_value_blob"] = wasmExports["D"];
		_sqlite3_value_text = Module["_sqlite3_value_text"] = wasmExports["E"];
		_sqlite3_value_bytes = Module["_sqlite3_value_bytes"] = wasmExports["F"];
		_sqlite3_value_double = Module["_sqlite3_value_double"] = wasmExports["G"];
		_sqlite3_value_int64 = Module["_sqlite3_value_int64"] = wasmExports["H"];
		_sqlite3_value_type = Module["_sqlite3_value_type"] = wasmExports["I"];
		_sqlite3_result_blob = Module["_sqlite3_result_blob"] = wasmExports["J"];
		_sqlite3_result_blob64 = Module["_sqlite3_result_blob64"] = wasmExports["K"];
		_sqlite3_result_double = Module["_sqlite3_result_double"] = wasmExports["L"];
		_sqlite3_result_error = Module["_sqlite3_result_error"] = wasmExports["M"];
		_sqlite3_result_int = Module["_sqlite3_result_int"] = wasmExports["N"];
		_sqlite3_result_int64 = Module["_sqlite3_result_int64"] = wasmExports["O"];
		_sqlite3_result_null = Module["_sqlite3_result_null"] = wasmExports["P"];
		_sqlite3_result_text = Module["_sqlite3_result_text"] = wasmExports["Q"];
		_sqlite3_step = Module["_sqlite3_step"] = wasmExports["R"];
		_sqlite3_column_count = Module["_sqlite3_column_count"] = wasmExports["S"];
		_sqlite3_column_blob = Module["_sqlite3_column_blob"] = wasmExports["T"];
		_sqlite3_column_bytes = Module["_sqlite3_column_bytes"] = wasmExports["U"];
		_sqlite3_column_double = Module["_sqlite3_column_double"] = wasmExports["V"];
		_sqlite3_column_int64 = Module["_sqlite3_column_int64"] = wasmExports["W"];
		_sqlite3_column_text = Module["_sqlite3_column_text"] = wasmExports["X"];
		_sqlite3_column_type = Module["_sqlite3_column_type"] = wasmExports["Y"];
		_sqlite3_column_name = Module["_sqlite3_column_name"] = wasmExports["Z"];
		_sqlite3_column_table_name = Module["_sqlite3_column_table_name"] = wasmExports["_"];
		_sqlite3_bind_blob = Module["_sqlite3_bind_blob"] = wasmExports["$"];
		_sqlite3_bind_blob64 = Module["_sqlite3_bind_blob64"] = wasmExports["aa"];
		_sqlite3_bind_double = Module["_sqlite3_bind_double"] = wasmExports["ba"];
		_sqlite3_bind_int = Module["_sqlite3_bind_int"] = wasmExports["ca"];
		_sqlite3_bind_int64 = Module["_sqlite3_bind_int64"] = wasmExports["da"];
		_sqlite3_bind_null = Module["_sqlite3_bind_null"] = wasmExports["ea"];
		_sqlite3_bind_text = Module["_sqlite3_bind_text"] = wasmExports["fa"];
		_sqlite3_bind_parameter_index = Module["_sqlite3_bind_parameter_index"] = wasmExports["ga"];
		_sqlite3_exec = Module["_sqlite3_exec"] = wasmExports["ha"];
		_sqlite3_prepare_v2 = Module["_sqlite3_prepare_v2"] = wasmExports["ia"];
		_sqlite3_errmsg = Module["_sqlite3_errmsg"] = wasmExports["ja"];
		_sqlite3_last_insert_rowid = Module["_sqlite3_last_insert_rowid"] = wasmExports["ka"];
		_sqlite3_changes = Module["_sqlite3_changes"] = wasmExports["la"];
		_sqlite3_close_v2 = Module["_sqlite3_close_v2"] = wasmExports["ma"];
		_sqlite3_create_function_v2 = Module["_sqlite3_create_function_v2"] = wasmExports["na"];
		_sqlite3_open_v2 = Module["_sqlite3_open_v2"] = wasmExports["oa"];
		_sqlite3_get_autocommit = Module["_sqlite3_get_autocommit"] = wasmExports["pa"];
		_malloc = Module["_malloc"] = wasmExports["qa"];
		_free = Module["_free"] = wasmExports["ra"];
		__emscripten_timeout = wasmExports["ta"];
		__emscripten_stack_restore = wasmExports["ua"];
		__emscripten_stack_alloc = wasmExports["va"];
		_emscripten_stack_get_current = wasmExports["wa"];
		wasmMemory = wasmExports["y"];
		wasmTable = wasmExports["sa"];
	}
	var wasmImports = {
		k: __abort_js,
		j: __emscripten_runtime_keepalive_clear,
		o: __localtime_js,
		l: __setitimer_js,
		p: __tzset_js,
		q: _emscripten_date_now,
		a: _emscripten_get_now,
		n: _emscripten_resize_heap,
		w: _nodejsAccess,
		s: _nodejsCheckReservedLock,
		f: _nodejsClose,
		x: _nodejsDelete,
		v: _nodejsFileSize,
		m: _nodejsFullPathname,
		u: _nodejsLock,
		h: _nodejsRandomness,
		e: _nodejsRead,
		b: _nodejsSync,
		c: _nodejsTruncate,
		t: _nodejsUnlock,
		d: _nodejsWrite,
		g: _nodejs_max_path_length,
		r: _nodejs_open,
		i: _proc_exit
	};
	function run() {
		preRun();
		function doRun() {
			Module["calledRun"] = true;
			if (ABORT) return;
			initRuntime();
			Module["onRuntimeInitialized"]?.();
			postRun();
		}
		if (Module["setStatus"]) {
			Module["setStatus"]("Running...");
			setTimeout(() => {
				setTimeout(() => Module["setStatus"](""), 1);
				doRun();
			}, 1);
		} else {
			doRun();
		}
	}
	var wasmExports;
	wasmExports = createWasm();
	run();
}));

//#endregion
//#region ../utils/database.js
var database_exports = /* @__PURE__ */ __exportAll({
	DataBase: () => DataBase$1,
	database: () => database$1
});
async function main() {
	const db = new SQLite3Database("../database.db");
	db.run(`
    CREATE TABLE IF NOT EXISTS users (
      id INTEGER PRIMARY KEY AUTOINCREMENT,
      name TEXT NOT NULL
    )
  `);
	db.run("INSERT INTO users (name) VALUES (?)", ["Alice"]);
	db.run("INSERT INTO users (name) VALUES (?)", ["Bob"]);
	const users = db.all("SELECT * FROM users");
	console.log(users);
	db.run("UPDATE users SET name = ? WHERE id = ?", ["Charlie", 1]);
	const updatedUsers = db.all("SELECT * FROM users");
	console.log(updatedUsers);
	db.run("DELETE FROM users WHERE id = ?", [2]);
	const finalUsers = db.all("SELECT * FROM users");
	console.log(finalUsers);
	db.close();
}
var import_node_sqlite3_wasm, SQLite3Database, DataBase$1, database$1;
var init_database = __esmMin((() => {
	import_node_sqlite3_wasm = /* @__PURE__ */ __toESM(require_node_sqlite3_wasm(), 1);
	({Database: SQLite3Database} = import_node_sqlite3_wasm.default);
	DataBase$1 = class {
		constructor(db_file) {
			this.db_file = db_file || "./database.db";
			this.db = null;
		}
		async initDb() {
			const __filename = fileURLToPath(import.meta.url);
			const __dirname = path.dirname(__filename);
			const __rootPath = path.join(__dirname, "../");
			const __dbpath = path.join(__rootPath, this.db_file);
			const db = new SQLite3Database(__dbpath);
			this.db = db;
			return db;
		}
		async startDb() {
			if (!this.db) {
				await this.initDb();
			}
		}
		async endDb() {
			if (this.db) {
				await this.db.close();
				this.db = null;
			}
		}
	};
	database$1 = new DataBase$1("./database.db");
}));

//#endregion
//#region ../libs/drpyS.js
var drpyS_exports = /* @__PURE__ */ __exportAll({
	action: () => action$2,
	category: () => category$2,
	clearAllCache: () => clearAllCache,
	detail: () => detail$2,
	getJx: () => getJx,
	getRule: () => getRule$2,
	getRuleObject: () => getRuleObject,
	getSandbox: () => getSandbox,
	home: () => home$2,
	homeVod: () => homeVod$2,
	init: () => init$2,
	initJx: () => initJx,
	isLoaded: () => isLoaded,
	jsEncoder: () => jsEncoder,
	jx: () => jx,
	play: () => play$2,
	proxy: () => proxy$2,
	runMain: () => runMain,
	search: () => search$2
});
globalThis.JSONbig = import_json_bigint.default;
globalThis._ENV = process.env;
globalThis._fetch = fetch;
globalThis.JsonBig = (0, import_json_bigint.default)({ storeAsString: true });
globalThis.require = rootRequire;
initializeGlobalDollar();
const { Ali, Baidu, Baidu2, Cloud, Pan, Quark, UC, Yun } = pans_default;
const { sleep, sleepSync, getNowTime, computeHash, deepCopy, urljoin: urljoin$1, urljoin2, joinUrl, keysToLowerCase, naturalSort, $js, createBasicAuthHeaders, get_size } = utils_exports$1;
const moduleCache$2 = new Map();
const ruleObjectCache$1 = new Map();
const jxCache = new Map();
let currentSessionId = null;
let lastClearTime = 0;
let sessionCacheCleared = false;
const sessionCacheStates = new Map();
let pupWebview = null;
if (typeof fetchByHiker === "undefined") {
	try {
		const { puppeteerHelper } = await Promise.resolve().then(() => (init_headless_util(), headless_util_exports));
		pupWebview = new puppeteerHelper();
		log("[getSandbox] puppeteerHelper imported successfully");
	} catch (error) {
		log(`[getSandbox] Failed to import puppeteerHelper:${error.message}`);
	}
}
globalThis.pupWebview = pupWebview;
try {
	if (typeof fetchByHiker !== "undefined" && typeof globalThis.import === "function") {
		await globalThis.import("../libs_drpy/crypto-js-wasm.js");
	} else {
		await Promise.resolve().then(() => /* @__PURE__ */ __toESM(require_crypto_js_wasm(), 1));
	}
	globalThis.CryptoJSW = CryptoJSWasm;
} catch (error) {
	log(`[getSandbox] Failed to import CryptoJSWasm:${error.message}`);
	globalThis.CryptoJSW = {
		loadAllWasm: async function() {},
		...CryptoJS$1
	};
}
let simplecc = null;
try {
	const simWasm = await Promise.resolve().then(() => /* @__PURE__ */ __toESM(require_simplecc_wasm(), 1));
	simplecc = simWasm.simplecc;
	log("[getSandbox] simplecc imported successfully");
} catch (error) {
	log(`[getSandbox] Failed to import simplecc:${error.message}`);
}
globalThis.simplecc = simplecc;
let DataBase = null;
let database = null;
try {
	if (typeof fetchByHiker !== "undefined" && typeof globalThis.import === "function") {
		const sqliteUtil = await globalThis.import("../utils/database.js");
		DataBase = sqliteUtil.DataBase;
		database = sqliteUtil.database;
	} else {
		const sqliteUtil = await Promise.resolve().then(() => (init_database(), database_exports));
		DataBase = sqliteUtil.DataBase;
		database = sqliteUtil.database;
	}
	log("[getSandbox] sqlite3 database imported successfully");
} catch (error) {
	log(`[getSandbox] Failed to import sqlite3:${error.message}`);
}
globalThis.DataBase = DataBase;
globalThis.database = database;
async function getSandbox(env = {}) {
	const { getProxyUrl, requestHost, hostUrl, fServer } = env;
	await CryptoJSW.loadAllWasm();
	const utilsSanbox = {
		sleep,
		sleepSync,
		utils: utils_exports$1,
		misc: misc_exports,
		computeHash,
		deepCopy,
		urljoin: urljoin$1,
		urljoin2,
		joinUrl,
		naturalSort,
		$js,
		createBasicAuthHeaders,
		get_size,
		$,
		pupWebview,
		getProxyUrl,
		requestHost,
		hostUrl,
		fServer,
		getContentType,
		getMimeType,
		getParsesDict,
		getFirstLetter
	};
	const drpySanbox = {
		jsp,
		pdfh,
		pd,
		pdfa,
		jsoup,
		pdfl,
		pjfh,
		pj,
		pjfa,
		pq,
		local,
		md5X,
		rsaX,
		aesX,
		desX,
		req,
		reqs,
		toBeijingTime,
		_fetch,
		XMLHttpRequest: import_XMLHttpRequest.XMLHttpRequest,
		simplecc,
		AIS: ais_default,
		batchFetch,
		JSProxyStream,
		JSFile,
		js2Proxy,
		log,
		print,
		jsonToCookie,
		cookieToJson,
		runMain,
		cachedRequest
	};
	const drpyCustomSanbox = {
		MOBILE_UA,
		PC_UA,
		UA,
		UC_UA,
		IOS_UA,
		RULE_CK,
		CATE_EXCLUDE,
		TAB_EXCLUDE,
		OCR_RETRY,
		OCR_API,
		nodata,
		SPECIAL_URL,
		setResult,
		setHomeResult,
		setResult2,
		urlDeal,
		tellIsJx: tellIsJx$1,
		urlencode,
		encodeUrl,
		uint8ArrayToBase64,
		Utf8ArrayToStr,
		gzip,
		ungzip: ungzip$1,
		encodeStr,
		decodeStr,
		getCryptoJS,
		RSA,
		fixAdM3u8Ai,
		forceOrder,
		getQuery,
		stringify: stringify$1,
		dealJson,
		OcrApi,
		getHome,
		buildUrl,
		keysToLowerCase,
		parseQueryString,
		buildQueryString,
		encodeIfContainsSpecialChars,
		objectToQueryString,
		forge: import_lib.default,
		lrcToSrt,
		strExtract
	};
	const libsSanbox = {
		matchesAll,
		cut,
		gbkTool,
		CryptoJS: CryptoJS$1,
		CryptoJSW,
		JSEncrypt: JSEncrypt$1,
		NODERSA,
		pako,
		JSON5: JSON5$1,
		jinja: jinja$1,
		template: template$1,
		batchExecute,
		atob: atob$1,
		btoa: btoa$1,
		base64Encode: base64Encode$1,
		base64Decode: base64Decode$2,
		md5: md5$1,
		rc4Encrypt,
		rc4Decrypt,
		rc4,
		rc4_decode,
		randomUa,
		jsonpath,
		hlsParser,
		axios,
		axiosX,
		URL,
		pathLib,
		executeParse,
		qs,
		Buffer,
		URLSearchParams,
		COOKIE,
		ENV,
		_ENV,
		Quark,
		Baidu,
		Baidu2,
		UC,
		Ali,
		Cloud,
		Yun,
		Pan,
		createWebDAVClient,
		createFTPClient,
		DataBase,
		database,
		require: __require,
		WebSocket: wrapper_default,
		WebSocketServer: import_websocket_server.default,
		zlib,
		JSONbig: import_json_bigint.default,
		JsonBig,
		minizlib: esm_exports$1
	};
	const sandbox = {
		console,
		WebAssembly,
		setTimeout,
		setInterval,
		clearTimeout,
		clearInterval,
		TextEncoder,
		TextDecoder,
		performance,
		module: {},
		exports: {},
		rule: {},
		jx: {},
		lazy: async function() {},
		_asyncGetRule: null,
		_asyncGetLazy: null,
		...utilsSanbox,
		...drpySanbox,
		...drpyCustomSanbox,
		...libsSanbox
	};
	const context = vm.createContext(sandbox);
	const polyfillsScript = new vm.Script(es6_extend_code);
	polyfillsScript.runInContext(context);
	sandbox.$.setSandbox(sandbox);
	return {
		sandbox,
		context
	};
}
/**
* 初始化模块：加载并执行模块文件，存储初始化后的 rule 对象
* 如果存在 `预处理` 属性且为函数，会在缓存前执行
* @param {string} filePath - 模块文件路径
* @param env
* @param refresh 强制清除缓存
* @returns {Promise<object>} - 返回初始化后的模块对象
*/
async function init$2(filePath, env = {}, refresh) {
	try {
		const fileContent = await readFile(filePath, "utf-8");
		const fileHash = computeHash(fileContent);
		const moduleName = path.basename(filePath, ".js");
		const SitesMap = getSitesMap();
		let moduleExt = env.ext || "";
		if (moduleExt && SitesMap[moduleName]) {
			try {
				moduleExt = ungzip$1(moduleExt);
			} catch (e) {
				log(`[init] [${moduleName}] ungzip解密moduleExt失败: ${e.message}`);
			}
			if (!SitesMap[moduleName].find((i) => i.queryStr === moduleExt) && !SitesMap[moduleName].find((i) => i.queryObject.params === moduleExt)) {
				throw new Error("moduleExt is wrong!");
			}
		}
		let hashMd5 = md5$1(filePath + "#pAq#" + moduleExt);
		if (moduleCache$2.has(hashMd5) && !refresh) {
			const cached = moduleCache$2.get(hashMd5);
			if (cached.hash === fileHash) {
				return cached.moduleObject;
			}
		}
		log(`[init] Loading module: ${filePath}`);
		let t1 = getNowTime();
		const { sandbox, context } = await getSandbox(env);
		const js_code = await getOriginalJs(fileContent);
		const js_code_wrapper = `
    _asyncGetRule  = (async function() {
        ${js_code}
        return rule;
    })();
    `;
		const ruleScript = new vm.Script(js_code_wrapper);
		const executeWithTimeout = (script, context, timeout) => {
			let timer;
			return Promise.race([new Promise((_, reject) => timer = setTimeout(() => reject(new Error("Code execution timed out")), timeout)), new Promise((resolve, reject) => {
				try {
					const result = script.runInContext(context);
					if (result && typeof result.then === "function") {
						result.then(resolve).catch(reject);
					} else {
						resolve(result);
					}
				} catch (error) {
					reject(error);
				}
			})]).finally(() => {
				if (timer) clearTimeout(timer);
			});
		};
		const result = await executeWithTimeout(ruleScript, context, 3e4);
		sandbox.rule = result;
		const reqExtendScript = new vm.Script(req_extend_code);
		reqExtendScript.runInContext(context);
		const rule = sandbox.rule;
		if (moduleExt) {
			if (moduleExt.startsWith("../json")) {
				rule.params = urljoin$1(env.jsonUrl, moduleExt.slice(8));
			} else {
				rule.params = moduleExt;
			}
		}
		await handleTemplateInheritance(rule, context);
		await initParse(rule, env, vm, context);
		let t2 = getNowTime();
		const moduleObject = rule;
		moduleObject.cost = t2 - t1;
		moduleObject.context = context;
		moduleCache$2.set(hashMd5, {
			moduleObject,
			hash: fileHash
		});
		return moduleObject;
	} catch (error) {
		log(`[init] Error in drpy.init :${filePath}`, error);
		throw new Error(`[init] Failed to initialize module:${error.message}`);
	}
}
async function getRuleObject(filePath, env, refresh) {
	try {
		const fileContent = await readFile(filePath, "utf-8");
		const fileHash = computeHash(fileContent);
		if (ruleObjectCache$1.has(filePath) && !refresh) {
			const cached = ruleObjectCache$1.get(filePath);
			if (cached.hash === fileHash) {
				return cached.ruleObject;
			}
		}
		let t1 = getNowTime();
		const { sandbox, context } = await getSandbox(env);
		const js_code = await getOriginalJs(fileContent);
		const js_code_wrapper = `
    _asyncGetRule  = (async function() {
        ${js_code}
        return rule;
    })();
    `;
		const ruleScript = new vm.Script(js_code_wrapper);
		ruleScript.runInContext(context);
		sandbox.rule = await sandbox._asyncGetRule;
		const rule = sandbox.rule;
		await handleTemplateInheritance(rule, context);
		let t2 = getNowTime();
		const ruleObject = rule;
		ruleObject.searchable = ruleObject.hasOwnProperty("searchable") ? Number(ruleObject.searchable) : 0;
		ruleObject.filterable = ruleObject.hasOwnProperty("filterable") ? Number(ruleObject.filterable) : 0;
		ruleObject.quickSearch = ruleObject.hasOwnProperty("quickSearch") ? Number(ruleObject.quickSearch) : 0;
		ruleObject.cost = t2 - t1;
		ruleObjectCache$1.set(filePath, {
			ruleObject,
			hash: fileHash
		});
		return ruleObject;
	} catch (error) {
		log(`[getRuleObject] ${filePath} Error in drpy.getRuleObject:${error.message}`);
		return {};
	}
}
async function initJx(filePath, env, refresh) {
	try {
		const fileContent = await readFile(filePath, "utf-8");
		const fileHash = computeHash(fileContent);
		let hashMd5 = md5$1(filePath + "#pAq#" + (Object.keys(env).length === 0 ? 0 : 1));
		if (jxCache.has(hashMd5) && !refresh) {
			const cached = jxCache.get(hashMd5);
			if (cached.hash === fileHash) {
				return cached.jxObj;
			}
		}
		log(`[initJx] Loading jx: ${filePath}, hash:${hashMd5}`);
		let t1 = getNowTime();
		const { sandbox, context } = await getSandbox(env);
		const js_code = await getOriginalJs(fileContent);
		const js_code_wrapper = `
    _asyncGetLazy  = (async function() {
        ${js_code}
        return {jx,lazy};
    })();
    `;
		const ruleScript = new vm.Script(js_code_wrapper);
		ruleScript.runInContext(context);
		const jxResult = await sandbox._asyncGetLazy;
		sandbox.lazy = jxResult.lazy;
		sandbox.jx = jxResult.jx;
		const reqExtendScript = new vm.Script(req_extend_code);
		reqExtendScript.runInContext(context);
		let t2 = getNowTime();
		const jxObj = {
			...sandbox.jx,
			lazy: sandbox.lazy
		};
		const cost = t2 - t1;
		log(`[initJx] 加载解析:${filePath} 耗时 ${cost}毫秒`);
		jxCache.set(hashMd5, {
			jxObj,
			hash: fileHash
		});
		return jxObj;
	} catch (error) {
		log(`[initJx] Error in drpy.initJx:${filePath}`, error);
		throw new Error(`[initJx] Failed to initialize jx:${error.message}`);
	}
}
async function isLoaded() {
	if (jxCache && jxCache.size > 0) {
		log("[isLoaded] Map 不为空,已完成初始化");
		return true;
	} else {
		log("[isLoaded] Map 为空或未初始化");
		return false;
	}
}
/**
* 调用模块的指定方法
* @param {string} filePath - 模块文件路径
* @param env 全局的环境变量-针对本规则，如代理地址
* @param {string} method - 要调用的属性方法名称
* @param args - 传递给方法的普通参数
* @param {object} injectVars - 需要注入的变量（如 input 和 MY_URL）
* @returns {Promise<any>} - 方法调用的返回值
*/
async function invokeMethod(filePath, env, method, args = [], injectVars = {}) {
	const moduleObject = await init$2(filePath, env);
	switch (method) {
		case "get_rule": return moduleObject;
		case "class_parse":
			injectVars = await homeParse(moduleObject, ...args);
			if (!injectVars) {
				return {};
			}
			break;
		case "推荐":
			injectVars = await homeVodParse(moduleObject, ...args);
			if (!injectVars) {
				return {};
			}
			break;
		case "一级":
			injectVars = await cateParse(moduleObject, ...args);
			if (!injectVars) {
				return {};
			}
			break;
		case "二级":
			injectVars = await detailParse(moduleObject, ...args);
			if (!injectVars) {
				return {};
			}
			break;
		case "搜索":
			injectVars = await searchParse(moduleObject, ...args);
			if (!injectVars) {
				return {};
			}
			break;
		case "lazy":
			injectVars = await playParse(moduleObject, ...args);
			if (!injectVars) {
				return {};
			}
			break;
		case "proxy_rule":
			injectVars = await proxyParse(moduleObject, ...args);
			if (!injectVars) {
				return {};
			}
			break;
	}
	injectVars["method"] = method;
	Object.assign(injectVars, env);
	if (method === "lazy" && (moduleObject[method] && typeof moduleObject[method] === "function" || !moduleObject[method])) {
		return await commonLazyParse(moduleObject, method, injectVars, args);
	} else if (method === "lazy" && typeof moduleObject[method] === "string" && !moduleObject[method].startsWith("js:")) {
		return {
			parse: 1,
			url: injectVars.input,
			header: moduleObject.headers && Object.keys(moduleObject.headers).length > 0 ? moduleObject.headers : undefined
		};
	} else if (method === "class_parse" && !moduleObject[method]) {
		const tmpClassFunction = async function() {};
		return await invokeWithInjectVars(moduleObject, tmpClassFunction, injectVars, args);
	} else if (method === "class_parse" && moduleObject[method] && typeof moduleObject[method] === "string") {
		return await commonClassParse(moduleObject, method, injectVars, args);
	} else if (moduleObject[method] && typeof moduleObject[method] === "function") {
		return await invokeWithInjectVars(moduleObject, moduleObject[method], injectVars, args);
	} else if (moduleObject[method] && typeof moduleObject[method] === "string" && moduleObject[method].startsWith("js:")) {
		let result = await executeJsCodeInSandbox(moduleObject, method, injectVars, args);
		if (method === "lazy") {
			result = await playParseAfter(moduleObject, result, args[1], args[0]);
			let ret_str = JSON.stringify(result);
			log(`[invokeMethod js:] 免嗅 ${injectVars.input} 执行完毕,结果为:`, ret_str.length < 100 ? ret_str : ret_str.slice(0, 100) + "...");
		} else if (method === "二级") {
			result = await detailParseAfter(result);
		} else if (method === "一级") {
			result = await cateParseAfter(moduleObject, result, args[1]);
			log(`[invokeMethod js:] 一级 ${injectVars.input} 执行完毕,结果为:`, JSON.stringify(result.list.slice(0, 2)));
		} else if (method === "搜索") {
			result = await searchParseAfter(moduleObject, result, args[2]);
			log(`[invokeMethod js:] 搜索 ${injectVars.input} 执行完毕,结果为:`, JSON.stringify(result.list.slice(0, 2)));
		} else if (method === "class_parse") {
			result = await homeParseAfter(result, moduleObject.类型, moduleObject.hikerListCol, moduleObject.hikerClassListCol, moduleObject.mergeList, injectVars);
		}
		return result;
	} else if (method === "一级" && moduleObject[method] && typeof moduleObject[method] === "string") {
		return await commonCategoryListParse(moduleObject, method, injectVars, args);
	} else if (method === "搜索" && moduleObject[method] && typeof moduleObject[method] === "string") {
		return await commonSearchListParse(moduleObject, method, injectVars, args);
	} else if (method === "推荐" && moduleObject[method] && typeof moduleObject[method] === "string") {
		return await commonHomeListParse(moduleObject, method, injectVars, args);
	} else if (method === "二级" && (moduleObject[method] === "*" || moduleObject[method] && typeof moduleObject[method] === "object")) {
		return await commonDetailListParse(moduleObject, method, injectVars, args);
	} else {
		if ([
			"推荐",
			"一级",
			"搜索"
		].includes(method)) {
			return [];
		} else if (["二级"].includes(method)) {
			return {};
		} else {
			throw new Error(`Method ${method} not found in module ${filePath}`);
		}
	}
}
async function initParse(rule, env, vm, context) {
	rule.host = (rule.host || "").rstrip("/");
	if (typeof rule.hostJs === "function") {
		log("[initParse] Executing hostJs...");
		try {
			let HOST = await rule.hostJs.apply({
				input: rule.host,
				MY_URL: rule.host,
				HOST: rule.host
			});
			if (HOST) {
				rule.host = HOST.rstrip("/");
				log(`[initParse] 已动态设置规则【${rule.title}】的host为: ${rule.host}`);
			}
		} catch (e) {
			log(`[initParse] hostJs执行错误:${e.message}`);
		}
	}
	let rule_cate_excludes = (rule.cate_exclude || "").split("|").filter((it) => it.trim());
	let rule_tab_excludes = (rule.tab_exclude || "").split("|").filter((it) => it.trim());
	rule_cate_excludes = rule_cate_excludes.concat(CATE_EXCLUDE.split("|").filter((it) => it.trim()));
	rule_tab_excludes = rule_tab_excludes.concat(TAB_EXCLUDE.split("|").filter((it) => it.trim()));
	rule.cate_exclude = rule_cate_excludes.join("|");
	rule.tab_exclude = rule_tab_excludes.join("|");
	rule.类型 = rule.类型 || "影视";
	rule.url = rule.url || "";
	rule.double = rule.double || false;
	rule.homeUrl = rule.homeUrl || "";
	rule.detailUrl = rule.detailUrl || "";
	rule.searchUrl = rule.searchUrl || "";
	rule.homeUrl = rule.host && rule.homeUrl ? urljoin$1(rule.host, rule.homeUrl) : rule.homeUrl || rule.host;
	rule.homeUrl = jinja$1.render(rule.homeUrl, { rule });
	rule.detailUrl = rule.host && rule.detailUrl ? urljoin$1(rule.host, rule.detailUrl) : rule.detailUrl;
	rule.二级访问前 = rule.二级访问前 || "";
	if (rule.url.includes("[") && rule.url.includes("]")) {
		let u1 = rule.url.split("[")[0];
		let u2 = rule.url.split("[")[1].split("]")[0];
		rule.url = rule.host && rule.url ? urljoin$1(rule.host, u1) + "[" + urljoin$1(rule.host, u2) + "]" : rule.url;
	} else {
		rule.url = rule.host && rule.url ? urljoin$1(rule.host, rule.url) : rule.url;
	}
	if (rule.searchUrl.includes("[") && rule.searchUrl.includes("]") && !rule.searchUrl.includes("#")) {
		let u1 = rule.searchUrl.split("[")[0];
		let u2 = rule.searchUrl.split("[")[1].split("]")[0];
		rule.searchUrl = rule.host && rule.searchUrl ? urljoin$1(rule.host, u1) + "[" + urljoin$1(rule.host, u2) + "]" : rule.searchUrl;
	} else {
		rule.searchUrl = rule.host && rule.searchUrl ? urljoin$1(rule.host, rule.searchUrl) : rule.searchUrl;
	}
	rule.timeout = rule.timeout || 5e3;
	rule.encoding = rule.编码 || rule.encoding || "utf-8";
	rule.search_encoding = rule.搜索编码 || rule.search_encoding || "";
	rule.图片来源 = rule.图片来源 || "";
	rule.图片替换 = rule.图片替换 || "";
	rule.play_json = rule.hasOwnProperty("play_json") ? rule.play_json : [];
	rule.pagecount = rule.hasOwnProperty("pagecount") ? rule.pagecount : {};
	rule.proxy_rule = rule.hasOwnProperty("proxy_rule") ? rule.proxy_rule : "";
	if (!rule.hasOwnProperty("sniffer")) {
		rule.sniffer = false;
	}
	if (!rule.hasOwnProperty("mergeList") && rule.二级 === "*") {
		rule.mergeList = 1;
	}
	rule.sniffer = rule.hasOwnProperty("sniffer") ? rule.sniffer : "";
	rule.sniffer = !!(rule.sniffer && rule.sniffer !== "0" && rule.sniffer !== "false");
	rule.isVideo = rule.hasOwnProperty("isVideo") ? rule.isVideo : "";
	if (rule.sniffer && !rule.isVideo) {
		rule.isVideo = "http((?!http).){12,}?\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a|mp3)\\?.*|http((?!http).){12,}\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a|mp3)|http((?!http).)*?video/tos*|http((?!http).)*?obj/tos*";
	}
	rule.tab_remove = rule.hasOwnProperty("tab_remove") ? rule.tab_remove : [];
	rule.tab_order = rule.hasOwnProperty("tab_order") ? rule.tab_order : [];
	rule.tab_rename = rule.hasOwnProperty("tab_rename") ? rule.tab_rename : {};
	if (rule.headers && typeof rule.headers === "object") {
		try {
			let header_keys = Object.keys(rule.headers);
			for (let k of header_keys) {
				if (k.toLowerCase() === "user-agent") {
					let v = rule.headers[k];
					if ([
						"MOBILE_UA",
						"PC_UA",
						"UC_UA",
						"IOS_UA",
						"UA"
					].includes(v)) {
						rule.headers[k] = eval(v);
						log("[initParse]", rule.headers[k]);
					}
				} else if (k.toLowerCase() === "cookie") {
					let v = rule.headers[k];
					if (v && v.startsWith("http")) {
						try {
							v = await request(v, { headers: rule.headers || {} });
							rule.headers[k] = v;
						} catch (e) {
							log(`[initParse] 从${v}获取cookie发生错误:${e.message}`);
						}
					}
				}
			}
		} catch (e) {
			log(`[initParse] 处理headers发生错误:${e.message}`);
		}
	} else {
		rule.headers = {};
	}
	rule.oheaders = deepCopy(rule.headers);
	rule.rule_fetch_params = {
		"headers": rule.headers,
		"timeout": rule.timeout,
		"encoding": rule.encoding
	};
	const originalScript = new vm.Script(`
globalThis.oheaders = rule.oheaders
globalThis.rule_fetch_params = rule.rule_fetch_params;
        `);
	originalScript.runInContext(context);
	if (typeof rule.预处理 === "function") {
		log("[initParse] Executing 预处理...");
		await rule.预处理(env);
	}
	const otherScript = new vm.Script(`
globalThis.jsp = new jsoup(rule.host||'');
globalThis.pdfh = pdfh;
globalThis.pd = pd;
globalThis.pdfa = pdfa;
globalThis.HOST = rule.host||'';
        `);
	otherScript.runInContext(context);
	return rule;
}
async function home$2(filePath, env, filter = 1) {
	const moduleObject = await init$2(filePath, env);
	if (moduleObject.class_parse && typeof moduleObject.class_parse === "string") {
		const sessionKey = md5$1(filePath + JSON.stringify(env));
		clearPageRequestCache(sessionKey, "home", moduleObject.host);
	}
	return await invokeMethod(filePath, env, "class_parse", [filter], {
		input: "$.homeUrl",
		MY_URL: "$.homeUrl"
	});
}
async function homeVod$2(filePath, env) {
	const moduleObject = await init$2(filePath, env);
	if (moduleObject["推荐"] && typeof moduleObject["推荐"] === "string") {
		const sessionKey = md5$1(filePath + JSON.stringify(env));
		clearPageRequestCache(sessionKey, "homeVod", moduleObject.host);
	}
	return await invokeMethod(filePath, env, "推荐", [], {
		input: "$.homeUrl",
		MY_URL: "$.homeUrl"
	});
}
async function category$2(filePath, env, tid, pg = 1, filter = 1, extend = {}) {
	return await invokeMethod(filePath, env, "一级", [
		tid,
		pg,
		filter,
		extend
	], {
		input: "$.url",
		MY_URL: "$.url"
	});
}
async function detail$2(filePath, env, ids) {
	if (!Array.isArray(ids)) throw new Error("Parameter \"ids\" must be an array");
	return await invokeMethod(filePath, env, "二级", [ids], {
		input: `${ids[0]}`,
		MY_URL: `${ids[0]}`
	});
}
async function search$2(filePath, env, wd, quick = 0, pg = 1) {
	return await invokeMethod(filePath, env, "搜索", [
		wd,
		quick,
		pg
	], {
		input: "$.searchUrl",
		MY_URL: "$.searchUrl"
	});
}
async function play$2(filePath, env, flag, id, flags) {
	flags = flags || [];
	if (!Array.isArray(flags)) throw new Error("Parameter \"flags\" must be an array");
	return await invokeMethod(filePath, env, "lazy", [
		flag,
		id,
		flags
	], {
		input: `${id}`,
		MY_URL: `${id}`
	});
}
async function proxy$2(filePath, env, params) {
	params = params || {};
	try {
		return await invokeMethod(filePath, env, "proxy_rule", [deepCopy(params)], {
			input: `${params.url}`,
			MY_URL: `${params.url}`
		});
	} catch (e) {
		return [
			500,
			"text/plain",
			"代理规则错误:" + e.message
		];
	}
}
async function action$2(filePath, env, action, value) {
	try {
		return await invokeMethod(filePath, env, "action", [action, value], {});
	} catch (e) {
		return "动作规则错误:" + e.message;
	}
}
async function getRule$2(filePath, env) {
	return await invokeMethod(filePath, env, "get_rule", [], {});
}
async function jx(filePath, env, params) {
	params = params || {};
	try {
		const jxObj = await initJx(filePath, env);
		const lazy = await jxObj.lazy;
		const result = await lazy(params.url || "", params);
		return result;
	} catch (e) {
		return {
			code: 404,
			url: "",
			msg: `${filePath} 代理解析错误:${e.message}`,
			cost: ""
		};
	}
}
async function getJx(filePath) {
	try {
		const jxObj = await initJx(filePath, {});
		return jxObj;
	} catch (e) {
		return {
			code: 403,
			error: `${filePath} 获取代理信息错误:${e.message}`
		};
	}
}
/**
* 执行main函数
* 示例  function main(text){return gzip(text)}
* @param main_func_code
* @param arg
*/
async function runMain(main_func_code, arg) {
	let mainFunc = async function() {
		return "";
	};
	try {
		eval(main_func_code + "\nmainFunc=main;");
		return mainFunc(arg);
	} catch (e) {
		log(`[runMain] 执行main_func_code发生了错误:${e.message}`);
		return "";
	}
}
function clearAllCache() {
	const excludeList = ["APP模板配置"];
	let clearedCount = 0;
	for (const [key, value] of moduleCache$2.entries()) {
		let shouldSkip = false;
		for (const excludeName of excludeList) {
			if (value.moduleObject && value.moduleObject.title && value.moduleObject.title.includes(excludeName)) {
				log(`[clearAllCache] 跳过清理模块缓存: ${value.moduleObject.title}`);
				shouldSkip = true;
				break;
			}
		}
		if (!shouldSkip) {
			moduleCache$2.delete(key);
			clearedCount++;
		}
	}
	for (const [filePath, value] of ruleObjectCache$1.entries()) {
		let shouldSkip = false;
		for (const excludeName of excludeList) {
			if (filePath.includes(excludeName)) {
				log(`[clearAllCache] 跳过清理规则缓存: ${filePath}`);
				shouldSkip = true;
				break;
			}
		}
		if (!shouldSkip) {
			ruleObjectCache$1.delete(filePath);
			clearedCount++;
		}
	}
	for (const [key, value] of jxCache.entries()) {
		let shouldSkip = false;
		for (const excludeName of excludeList) {
			if (key.includes(excludeName)) {
				log(`[clearAllCache] 跳过清理解析缓存: ${key}`);
				shouldSkip = true;
				break;
			}
		}
		if (!shouldSkip) {
			jxCache.delete(key);
			clearedCount++;
		}
	}
	pageRequestCache.clear();
	log("[clearAllCache] 已清理页面请求缓存");
	currentSessionId = null;
	sessionCacheCleared = false;
	sessionCacheStates.clear();
	log("[clearAllCache] 重置会话状态");
	log(`[clearAllCache] 已清理 ${clearedCount} 个模块缓存，排除了 ${excludeList.join(", ")} 相关缓存`);
}
/**
* 清理页面请求缓存
* 按sessionKey和host清理对应的缓存项，支持多个并发会话
* @param {string} sessionKey - 会话键（基于filePath和env的MD5）
* @param {string} sessionType - 会话类型（home/homeVod等）
* @param {string} host - 主机地址，用于区分不同host的缓存
*/
function clearPageRequestCache(sessionKey = null, sessionType = "unknown", host = "") {
	if (!sessionKey) {
		pageRequestCache.clear();
		sessionCacheStates.clear();
		sessionCacheCleared = false;
		log("[clearPageRequestCache] 强制清理所有缓存");
		return;
	}
	const sessionCacheKey = `${sessionKey}:${host}`;
	const isSessionCleared = sessionCacheStates.get(sessionCacheKey);
	if (!isSessionCleared) {
		const keysToDelete = [];
		for (const [cacheKey] of pageRequestCache) {
			if (cacheKey.startsWith(`${host}:`)) {
				keysToDelete.push(cacheKey);
			}
		}
		keysToDelete.forEach((key) => pageRequestCache.delete(key));
		sessionCacheStates.set(sessionCacheKey, true);
		currentSessionId = sessionKey;
		sessionCacheCleared = true;
		lastClearTime = Date.now();
		log(`[clearPageRequestCache] ${sessionType}会话开始，清理${keysToDelete.length}个${host}的缓存项: ${sessionKey}`);
	} else {}
}
/**
* 处理模板继承逻辑
* @param {Object} rule - 规则对象
* @param {Object} context - VM上下文
*/
async function handleTemplateInheritance(rule, context) {
	try {
		const muban = template$1.getMubans();
		if (rule["模板"] === "自动") {
			try {
				let host_headers = rule["headers"] || {};
				const cacheKey = md5$1(rule.host + JSON.stringify(host_headers));
				log(`[handleTemplateInheritance] 请求HOST页面: ${rule.host}`);
				const script = new vm.Script(`
                    (async function() {
                        try {
                            return await cachedRequest(request, '${rule.host}', ${JSON.stringify({ headers: host_headers })}, 'host');
                        } catch (e) {
                            log('[handleTemplateInheritance] 获取HOST页面失败:', e.message);
                            return '';
                        }
                    })()
                `);
				let host_html = await script.runInContext(context);
				let match_muban = "";
				let muban_keys = Object.keys(muban).filter((it) => !/默认|短视2|采集1/.test(it));
				for (let muban_key of muban_keys) {
					try {
						if (muban[muban_key].class_parse) {
							let class_parse = muban[muban_key].class_parse;
							const testScript = new vm.Script(`
                                  (async function() {
                                      try {
                                          let html = ${JSON.stringify(host_html)};
                                          let p = ${JSON.stringify(class_parse)};
                                          let classes = [];
                                          
                                          // 处理class_parse字符串解析
                                          p = p.split(';');
                                          let p0 = p[0];
                                          let is_json = p0.startsWith('json:');
                                          p0 = p0.replace(/^(jsp:|json:|jq:)/, '');
                                          
                                          if (html) {
                                              let $pdfa, $pdfh, $pd;
                                              if (is_json) {
                                                  html = dealJson(html);
                                                  $pdfa = pjfa;
                                                  $pdfh = pjfh;
                                                  $pd = pj;
                                              } else {
                                                  $pdfa = pdfa;
                                                  $pdfh = pdfh;
                                                  $pd = pd;
                                              }
                                              
                                              if (is_json) {
                                                  try {
                                                      let list = $pdfa(html, p0);
                                                      if (list && list.length > 0) {
                                                          classes = list;
                                                      }
                                                  } catch (e) {
                                                      log('[handleTemplateInheritance] json分类解析失败:' + e.message);
                                                  }
                                              } else if (p.length >= 3) {
                                                  try {
                                                      let list = $pdfa(html, p0);
                                                      if (list && list.length > 0) {
                                                          for (const it of list) {
                                                              try {
                                                              //log('[handleTemplateInheritance] test it:',it);
                                                                  let name = $pdfh(it, p[1]);
                                                                  let url = $pd(it, p[2]);
                                                                  if (p.length > 3 && p[3]) {
                                                                      let exp = new RegExp(p[3]);
                                                                      let match = url.match(exp);
                                                                      if (match && match[1]) {
                                                                          url = match[1];
                                                                      }
                                                                  }
                                                                  if (name.trim()) {
                                                                      classes.push({
                                                                          'type_id': url.trim(),
                                                                          'type_name': name.trim()
                                                                      });
                                                                  }
                                                              } catch (e) {
                                                                  log('[handleTemplateInheritance] 分类列表解析元素失败:' + e.message);
                                                              }
                                                          }
                                                      }
                                                  } catch (e) {
                                                      log('[handleTemplateInheritance] 分类列表解析失败:' + e.message);
                                                  }
                                              }
                                          }
                                          
                                          return { class: classes };
                                      } catch (e) {
                                          log('[handleTemplateInheritance] 模板测试执行错误:', e.message);
                                          return { class: [] };
                                      }
                                  })()
                              `);
							const host_data = await testScript.runInContext(context);
							if (host_data.class && host_data.class.length > 0) {
								match_muban = muban_key;
								log(`[handleTemplateInheritance] 自动匹配模板:【${muban_key}】`);
								break;
							}
						}
					} catch (e) {
						log(`[handleTemplateInheritance] 自动匹配模板:【${muban_key}】错误:${e.message}`);
					}
				}
				if (match_muban) {
					muban["自动"] = muban[match_muban];
				} else {
					delete rule["模板"];
				}
			} catch (e) {
				log("[handleTemplateInheritance] 自动模板匹配失败:", e.message);
				delete rule["模板"];
			}
		}
		if (rule["模板修改"] && typeof rule["模板修改"] === "function" && rule.模板 && muban.hasOwnProperty(rule.模板)) {
			try {
				await rule["模板修改"](muban);
			} catch (e) {
				log("[handleTemplateInheritance] 模板修改执行失败:", e.message);
			}
		}
		if (rule.模板 && muban.hasOwnProperty(rule.模板)) {
			log("[handleTemplateInheritance] 继承模板:" + rule.模板);
			const templateRule = muban[rule.模板];
			const originalRule = { ...rule };
			Object.assign(rule, templateRule, originalRule);
		}
		delete rule["模板"];
		delete rule["模板修改"];
	} catch (error) {
		log("[handleTemplateInheritance] 模板继承处理失败:", error.message);
	}
}

//#endregion
//#region ../utils/binHelper.js
/**
* 确保文件具有执行权限 (Linux/macOS)
* @param {string} filePath 文件绝对路径
*/
function ensureExecutable(filePath) {
	if (process.platform === "win32") {
		return;
	}
	try {
		if (!fs.existsSync(filePath)) {
			return;
		}
		const stats = fs.statSync(filePath);
		if (!(stats.mode & 73)) {
			fs.chmodSync(filePath, 493);
			console.log(`[binHelper] 已为文件 ${filePath} 添加执行权限`);
		}
	} catch (err) {
		console.error(`[binHelper] 无法设置执行权限: ${filePath}`, err.message);
	}
}
/**
* 检查并准备二进制文件（检查存在性 + 赋予权限）
* @param {string} binPath 二进制文件路径或命令
* @returns {string|null} 如果是现有文件路径返回路径，如果是全局命令返回原命令，如果文件不存在返回 null
*/
function prepareBinary(binPath) {
	if (!binPath) return null;
	if (!binPath.includes("/") && !binPath.includes("\\")) {
		return binPath;
	}
	if (fs.existsSync(binPath)) {
		ensureExecutable(binPath);
		return binPath;
	}
	return null;
}

//#endregion
//#region ../libs/php.js
const execFileAsync = promisify(execFile);
const __dirname$3 = path.dirname(fileURLToPath(import.meta.url));
const _config_path$1 = path.join(__dirname$3, "../config");
const _bridge_path = path.join(__dirname$3, "../spider/php/_bridge.php");
const moduleCache$1 = new Map();
const methodMapping = {
	"init": "init",
	"home": "homeContent",
	"homeVod": "homeVideoContent",
	"category": "categoryContent",
	"detail": "detailContent",
	"search": "searchContent",
	"play": "playerContent",
	"proxy": "proxy",
	"action": "action"
};
function stringify(arg) {
	if (arg === undefined) return "null";
	return JSON.stringify(arg);
}
function json2Object$1(json) {
	if (!json) return {};
	if (typeof json === "object") return json;
	try {
		return JSON.parse(json);
	} catch (e) {
		return json;
	}
}
const callPhpMethod = async (filePath, methodName, env, ...args) => {
	let phpPath = process.env.PHP_PATH || "php";
	const validPath = prepareBinary(phpPath);
	if (!validPath) {
		throw new Error(`PHP executable not found or invalid: ${phpPath}`);
	}
	phpPath = validPath;
	const phpMethodName = methodMapping[methodName] || methodName;
	const cliArgs = [
		_bridge_path,
		filePath,
		phpMethodName,
		JSON.stringify(env),
		...args.map(stringify)
	];
	try {
		const { stdout, stderr } = await execFileAsync(phpPath, cliArgs, {
			encoding: "utf8",
			maxBuffer: 10 * 1024 * 1024,
			env: {
				...process.env,
				PYTHONIOENCODING: "utf-8"
			}
		});
		if (stderr) {
			console.error(`PHP Stderr: ${stderr}`);
		}
		const result = json2Object$1(stdout.trim());
		if (result && result.error) {
			throw new Error(`PHP Error: ${result.error}\nTrace: ${result.traceback}`);
		}
		return result;
	} catch (error) {
		console.error(`Error calling PHP method ${methodName}:`, error);
		throw error;
	}
};
const loadEsmWithHash$1 = async function(filePath, fileHash, env) {
	const spiderProxy = {};
	const spiderMethods = Object.keys(methodMapping);
	spiderMethods.forEach((method) => {
		spiderProxy[method] = async (...args) => {
			return callPhpMethod(filePath, method, env, ...args);
		};
	});
	return spiderProxy;
};
const init$1 = async function(filePath, env = {}, refresh) {
	try {
		const fileContent = await readFile(filePath, "utf-8");
		const fileHash = computeHash$1(fileContent);
		const moduleName = path.basename(filePath, ".php");
		let moduleExt = env.ext || "";
		let SitesMap = getSitesMap(_config_path$1);
		if (moduleExt && SitesMap[moduleName]) {}
		let hashMd5 = md5$1(filePath + "#php#" + moduleExt);
		if (moduleCache$1.has(hashMd5) && !refresh) {
			const cached = moduleCache$1.get(hashMd5);
			if (cached.hash === fileHash) {
				return cached.moduleObject;
			}
		}
		fastify.log.info(`Loading PHP module: ${filePath}`);
		let t1 = getNowTime$1();
		const module = await loadEsmWithHash$1(filePath, fileHash, env);
		const rule = module;
		const initValue = await rule.init(moduleExt) || {};
		let t2 = getNowTime$1();
		const moduleObject = deepCopy$1(rule);
		moduleObject.cost = t2 - t1;
		moduleCache$1.set(hashMd5, {
			moduleObject,
			hash: fileHash
		});
		return {
			...moduleObject,
			...initValue
		};
	} catch (error) {
		fastify.log.error(`Error in php.init :${filePath}`, error);
		throw new Error(`Failed to initialize PHP module:${error.message}`);
	}
};
const getRule$1 = async function(filePath, env) {
	const moduleObject = await init$1(filePath, env);
	return JSON.stringify(moduleObject);
};
const home$1 = async function(filePath, env, filter = 1) {
	const moduleObject = await init$1(filePath, env);
	return json2Object$1(await moduleObject.home(filter));
};
const homeVod$1 = async function(filePath, env) {
	const moduleObject = await init$1(filePath, env);
	const homeVodResult = json2Object$1(await moduleObject.homeVod());
	return homeVodResult && homeVodResult.list ? homeVodResult.list : homeVodResult;
};
const category$1 = async function(filePath, env, tid, pg = 1, filter = 1, extend = {}) {
	const moduleObject = await init$1(filePath, env);
	return json2Object$1(await moduleObject.category(tid, pg, filter, extend));
};
const detail$1 = async function(filePath, env, ids) {
	const moduleObject = await init$1(filePath, env);
	return json2Object$1(await moduleObject.detail(ids));
};
const search$1 = async function(filePath, env, wd, quick = 0, pg = 1) {
	const moduleObject = await init$1(filePath, env);
	return json2Object$1(await moduleObject.search(wd, quick, pg));
};
const play$1 = async function(filePath, env, flag, id, flags) {
	const moduleObject = await init$1(filePath, env);
	return json2Object$1(await moduleObject.play(flag, id, flags));
};
const proxy$1 = async function(filePath, env, params) {
	const moduleObject = await init$1(filePath, env);
	return json2Object$1(await moduleObject.proxy(params));
};
const action$1 = async function(filePath, env, action, value) {
	const moduleObject = await init$1(filePath, env);
	return json2Object$1(await moduleObject.action(action, value));
};
var php_default = {
	getRule: getRule$1,
	init: init$1,
	home: home$1,
	homeVod: homeVod$1,
	category: category$1,
	detail: detail$1,
	search: search$1,
	play: play$1,
	proxy: proxy$1,
	action: action$1
};

//#endregion
//#region ../libs/catvod.js
const moduleCache = new Map();
const ruleObjectCache = new Map();
const __dirname$2 = path.dirname(fileURLToPath(import.meta.url));
const _data_path = path.join(__dirname$2, "../data");
const _config_path = path.join(__dirname$2, "../config");
const _lib_path = path.join(__dirname$2, "../spider/catvod");
const enable_cat_debug = Number(process.env.CAT_DEBUG) !== 2;
const json2Object = function(json) {
	if (!json) {
		return {};
	} else if (json && typeof json === "object") {
		return json;
	}
	return JSON.parse(json);
};
const loadEsmWithHash = async function(filePath, fileHash, env) {
	const scriptUrl = `${pathToFileURL(filePath).href}?v=${fileHash}`;
	const module = await import(scriptUrl);
	const initEnv = module.initEnv;
	if (typeof initEnv === "function" && env) {
		initEnv(env);
	}
	return module;
};
const loadEsmWithEnv = async function(filePath, env) {
	const rawCode = await readFile(filePath, "utf8");
	let injectedCode = rawCode;
	const esm_flag1 = "export function __jsEvalReturn";
	const esm_flag2 = "export default";
	const polyfill_code = `
var _ENV={};
var getProxyUrl=null;
var getProxy=null;
export function initEnv(env){
    _ENV = env;
    if(env.getProxyUrl){
        getProxyUrl=env.getProxyUrl;
        getProxy=env.getProxyUrl
    }
}`.trim() + "\n";
	if (injectedCode.includes(esm_flag1)) {
		injectedCode = injectedCode.replace(esm_flag1, `${polyfill_code}${esm_flag1}`);
	} else if (injectedCode.includes("export default")) {
		injectedCode = injectedCode.replace(esm_flag2, `${polyfill_code}${esm_flag2}`);
	}
	const dataUri = `data:text/javascript;base64,${Buffer.from(injectedCode).toString("base64")}`;
	const module = await import(dataUri);
	const initEnv = module.initEnv;
	if (typeof initEnv === "function" && env) {
		initEnv(env);
	}
	return module;
};
const getRule = async function(filePath, env) {
	const moduleObject = await init(filePath, env);
	return JSON.stringify(moduleObject);
};
const init = async function(filePath, env = {}, refresh) {
	try {
		const fileContent = await readFile(filePath, "utf-8");
		const fileHash = computeHash$1(fileContent);
		const moduleName = path.basename(filePath, ".js");
		let moduleExt = env.ext || "";
		const default_init_cfg = {
			stype: 4,
			skey: `catvod_${moduleName}`,
			sourceKey: `catvod_${moduleName}`,
			ext: moduleExt
		};
		let SitesMap = getSitesMap(_config_path);
		if (moduleExt && SitesMap[moduleName]) {
			try {
				moduleExt = ungzip(moduleExt);
			} catch (e) {
				log(`[${moduleName}] ungzip解密moduleExt失败: ${e.message}`);
			}
			log(`[${moduleName}] moduleExt:`, moduleExt);
			if (!SitesMap[moduleName].find((i) => i.queryStr === moduleExt) && !SitesMap[moduleName].find((i) => i.queryObject.params === moduleExt)) {
				throw new Error("moduleExt is wrong!");
			}
			if (moduleExt.startsWith("../json")) {
				moduleExt = urljoin$2(env.jsonUrl, moduleExt.slice(8));
			}
			default_init_cfg.ext = moduleExt;
		}
		let hashMd5 = md5$1(filePath + "#pAq#" + moduleExt);
		if (moduleCache.has(hashMd5) && !refresh) {
			const cached = moduleCache.get(hashMd5);
			if (cached.hash === fileHash && cached.proxyUrl === env.proxyUrl) {
				return cached.moduleObject;
			}
		}
		log(`Loading module: ${filePath}`);
		let t1 = getNowTime$1();
		let module;
		if (enable_cat_debug) {
			module = await loadEsmWithHash(filePath, fileHash, env);
		} else {
			module = await loadEsmWithEnv(filePath, env);
		}
		let rule;
		if (module && module.__jsEvalReturn && typeof module.__jsEvalReturn === "function") {
			rule = module.__jsEvalReturn();
		} else {
			rule = module.default || module;
		}
		if (typeof rule.init === "function") {
			await rule.init(default_init_cfg);
		}
		let t2 = getNowTime$1();
		const moduleObject = deepCopy$1(rule);
		moduleObject.cost = t2 - t1;
		moduleCache.set(hashMd5, {
			moduleObject,
			hash: fileHash,
			proxyUrl: env.proxyUrl
		});
		return moduleObject;
	} catch (error) {
		console.log(`Error in catvod.init :${filePath}`, error);
		throw new Error(`Failed to initialize module:${error.message}`);
	}
};
const home = async function(filePath, env, filter = 1) {
	const moduleObject = await init(filePath, env);
	return json2Object(await moduleObject.home(filter));
};
const homeVod = async function(filePath, env) {
	const moduleObject = await init(filePath, env);
	try {
		const homeVodResult = json2Object(await moduleObject.homeVod());
		return homeVodResult && homeVodResult.list ? homeVodResult.list : homeVodResult;
	} catch (e) {
		console.error(e);
		return [];
	}
};
const category = async function(filePath, env, tid, pg = 1, filter = 1, extend = {}) {
	const moduleObject = await init(filePath, env);
	return json2Object(await moduleObject.category(tid, pg, filter, extend));
};
const detail = async function(filePath, env, ids) {
	const moduleObject = await init(filePath, env);
	const vod_id = Array.isArray(ids) ? ids[0] : ids;
	let detailResult = "{}";
	if (moduleObject.detailContent) {
		detailResult = await moduleObject.detailContent(ids);
	} else {
		detailResult = await moduleObject.detail(vod_id);
	}
	return json2Object(detailResult);
};
const search = async function(filePath, env, wd, quick = 0, pg = 1) {
	const moduleObject = await init(filePath, env);
	return json2Object(await moduleObject.search(wd, quick, pg));
};
const play = async function(filePath, env, flag, id, flags) {
	const moduleObject = await init(filePath, env);
	return json2Object(await moduleObject.play(flag, id, flags));
};
const proxy = async function(filePath, env, params) {
	const moduleObject = await init(filePath, env);
	return json2Object(await moduleObject.proxy(params));
};
const action = async function(filePath, env, action, value) {
	const moduleObject = await init(filePath, env);
	return json2Object(await moduleObject.action(action, value));
};
var catvod_default = {
	getRule,
	init,
	home,
	homeVod,
	category,
	detail,
	search,
	play,
	proxy,
	action
};

//#endregion
//#region localDsCore.js
const __dirname$1 = path.dirname(fileURLToPath(import.meta.url));
const isBundled = __dirname$1.endsWith("dist") || __dirname$1.endsWith("libs") || __dirname$1.endsWith("dist" + path.sep) || __dirname$1.endsWith("libs" + path.sep);
const possibleRoots = [
	__dirname$1,
	path.resolve(__dirname$1, ".."),
	path.resolve(__dirname$1, "../.."),
	path.resolve(__dirname$1, "../../..")
];
const rootDir = possibleRoots.find((d) => existsSync(path.join(d, "spider/js"))) || (isBundled ? path.resolve(__dirname$1, "../..") : path.resolve(__dirname$1, ".."));
const jxDir = path.join(rootDir, "jx");
const publicDir = path.join(rootDir, "public");
const jsonDir = path.join(rootDir, "json");
const jsDir = path.join(rootDir, "spider/js");
const dr2Dir = path.join(rootDir, "spider/js_dr2");
const phpDir = path.join(rootDir, "spider/php");
const catDir = path.join(rootDir, "spider/catvod");
const catLibDir = path.join(rootDir, "spider/catLib");
const options = {
	rootDir,
	jxDir,
	publicDir,
	jsonDir,
	jsDir,
	dr2Dir,
	phpDir,
	catDir,
	catLibDir
};
/**
* 支持的引擎映射表
* 包含drpyS、php、catvod
*/
const ENGINES = {
	drpyS: drpyS_exports,
	php: php_default,
	catvod: catvod_default
};
async function getEngine(moduleName, query, inject_env) {
	inject_env = inject_env || {};
	let { apiEngine, moduleDir, _ext, modulePath } = getApiEngine(ENGINES, moduleName, query, options);
	if (!existsSync(modulePath)) {
		const error_msg = `Module ${moduleName} not found`;
		console.error(error_msg);
		return "";
	}
	const moduleExt = query.extend || "";
	/**
	* 构建环境对象
	* 为规则执行提供必要的环境信息
	*
	* @param {string} moduleName - 模块名称
	* @returns {Object} 环境对象，包含各种URL和配置
	*/
	function getEnv(moduleName) {
		const { jsonUrl = "http://127.0.0.1:9978/json", publicUrl = "http://127.0.0.1:9978/public", requestHost = "http://127.0.0.1:9978", hostname = "127.0.0.1:9978", hostUrl = "127.0.0.1", proxyUrl = `http://127.0.0.1:9978/proxy?do=node&siteKey=${moduleName}`, httpUrl, imageApi, mediaProxyUrl, webdavProxyUrl, ftpProxyUrl, wsName, fServer } = inject_env;
		const getProxyUrl = function() {
			return proxyUrl;
		};
		return {
			httpUrl,
			imageApi,
			mediaProxyUrl,
			webdavProxyUrl,
			ftpProxyUrl,
			wsName,
			fServer,
			hostUrl,
			jsonUrl,
			publicUrl,
			requestHost,
			hostname,
			proxyUrl,
			getProxyUrl,
			ext: moduleExt,
			moduleName
		};
	}
	const env = getEnv(moduleName);
	/**
	* 动态获取规则对象
	* 支持跨规则调用，为规则提供调用其他规则的能力
	*
	* @param {string} _moduleName - 目标模块名称
	* @returns {Object|null} 规则对象，包含callRuleFn方法
	*/
	env.getRule = async function(_moduleName) {
		const _modulePath = path.join(moduleDir, `${_moduleName}${_ext}`);
		if (!existsSync(_modulePath)) {
			return null;
		}
		const _env = getEnv(_moduleName);
		const RULE = await apiEngine.getRule(_modulePath, _env);
		/**
		* 规则函数调用方法
		* 提供统一的规则方法调用接口
		*
		* @param {string} _method - 方法名称
		* @param {Array} _args - 方法参数
		* @returns {*} 方法执行结果
		*/
		RULE.callRuleFn = async function(_method, _args) {
			let invokeMethod = null;
			switch (_method) {
				case "class_parse":
					invokeMethod = "home";
					break;
				case "推荐":
					invokeMethod = "homeVod";
					break;
				case "一级":
					invokeMethod = "category";
					break;
				case "二级":
					invokeMethod = "detail";
					break;
				case "搜索":
					invokeMethod = "search";
					break;
				case "lazy":
					invokeMethod = "play";
					break;
				case "proxy_rule":
					invokeMethod = "proxy";
					break;
				case "action":
					invokeMethod = "action";
					break;
			}
			if (!invokeMethod) {
				if (typeof RULE[_method] !== "function") {
					return null;
				} else {
					return await RULE[_method](..._args);
				}
			}
			return await apiEngine[invokeMethod](_modulePath, _env, ..._args);
		};
		return RULE;
	};
	const pg = Number(query.pg) || 1;
	if ("play" in query) {
		const result = await apiEngine.play(modulePath, env, query.flag, query.play);
		return result;
	}
	if ("ac" in query && "t" in query) {
		let ext = query.ext;
		let extend = {};
		if (ext) {
			try {
				extend = ext;
			} catch (e) {
				console.error(`筛选参数错误:${e.message}`);
			}
		}
		const result = await apiEngine.category(modulePath, env, query.t, pg, 1, extend);
		return result;
	}
	if ("ac" in query && "ids" in query) {
		const result = await apiEngine.detail(modulePath, env, query.ids);
		return result;
	}
	if ("ac" in query && "action" in query) {
		const result = await apiEngine.action(modulePath, env, query.action, query.value);
		return result;
	}
	if ("wd" in query) {
		const quick = "quick" in query ? query.quick : 0;
		const result = await apiEngine.search(modulePath, env, query.wd, quick, pg);
		return result;
	}
	if ("proxy" in query) {
		const result = await apiEngine.proxy(modulePath, env, query);
		return result;
	}
	if ("refresh" in query) {
		const refreshedObject = await apiEngine.init(modulePath, env, true);
		const { context, ...responseObject } = refreshedObject;
		return responseObject;
	}
	if (!("filter" in query)) {
		query.filter = 1;
	}
	const filter = "filter" in query ? query.filter : 1;
	const resultHome = await apiEngine.home(modulePath, env, filter);
	const resultHomeVod = await apiEngine.homeVod(modulePath, env);
	let result = { ...resultHome };
	if (Array.isArray(resultHomeVod) && resultHomeVod.length > 0) {
		Object.assign(result, { list: resultHomeVod });
	}
	return result;
}
;
global.getEngine = getEngine;

//#endregion
export {  };